diff --git a/.gitignore b/.gitignore index dc9735aa..5c3e7ad4 100644 --- a/.gitignore +++ b/.gitignore @@ -56,9 +56,6 @@ rcc__* *.orig *.bak -# Dependencies -vendor - # Temporary build files rcc_cgo_*.go diff --git a/Gopkg.lock b/Gopkg.lock new file mode 100644 index 00000000..7c072788 --- /dev/null +++ b/Gopkg.lock @@ -0,0 +1,340 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + digest = "1:af6e785bedb62fc2abb81977c58a7a44e5cf9f7e41b8d3c8dd4d872edea0ce08" + name = "github.com/NYTimes/gziphandler" + packages = ["."] + pruneopts = "UT" + revision = "dd0439581c7657cb652dfe5c71d7d48baf39541d" + version = "v1.1.1" + +[[projects]] + digest = "1:d6afaeed1502aa28e80a4ed0981d570ad91b2579193404256ce672ed0a609e0d" + name = "github.com/beorn7/perks" + packages = ["quantile"] + pruneopts = "UT" + revision = "37c8de3658fcb183f997c4e13e8337516ab753e6" + version = "v1.0.1" + +[[projects]] + digest = "1:b6d886569181ec96ca83d529f4d6ba0cbf92ace7bb6f633f90c5f34d9bba7aab" + name = "github.com/blang/semver" + packages = ["."] + pruneopts = "UT" + revision = "ba2c2ddd89069b46a7011d4106f6868f17ee1705" + version = "v3.6.1" + +[[projects]] + digest = "1:0f98f59e9a2f4070d66f0c9c39561f68fcd1dc837b22a852d28d0003aebd1b1e" + name = "github.com/boltdb/bolt" + packages = ["."] + pruneopts = "UT" + revision = "2f1ce7a837dcb8da3ec595b1dac9d0632f0f99e8" + version = "v1.3.1" + +[[projects]] + digest = "1:4ba637038f22c9065994c0cd734118fc75e0c744f855fd3edbd3b923d1f41d44" + name = "github.com/cenkalti/backoff" + packages = ["."] + pruneopts = "UT" + revision = "61153c768f31ee5f130071d08fc82b85208528de" + version = "v1.1.0" + +[[projects]] + digest = "1:ffe9824d294da03b391f44e1ae8281281b4afc1bdaa9588c9097785e3af10cec" + name = "github.com/davecgh/go-spew" + packages = ["spew"] + pruneopts = "UT" + revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73" + version = "v1.1.1" + +[[projects]] + digest = "1:573ca21d3669500ff845bdebee890eb7fc7f0f50c59f2132f2a0c6b03d85086a" + name = "github.com/golang/protobuf" + packages = ["proto"] + pruneopts = "UT" + revision = "6c65a5562fc06764971b7c5d05c76c75e84bdbf7" + version = "v1.3.2" + +[[projects]] + branch = "master" + digest = "1:f14d1b50e0075fb00177f12a96dd7addf93d1e2883c25befd17285b779549795" + name = "github.com/gopherjs/gopherjs" + packages = ["js"] + pruneopts = "UT" + revision = "d3ddacdb130fcd23f77a827e3b599804730be6b5" + +[[projects]] + digest = "1:870d441fe217b8e689d7949fef6e43efbc787e50f200cb1e70dbca9204a1d6be" + name = "github.com/inconshreveable/mousetrap" + packages = ["."] + pruneopts = "UT" + revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" + version = "v1.0" + +[[projects]] + digest = "1:31e761d97c76151dde79e9d28964a812c46efc5baee4085b86f68f0c654450de" + name = "github.com/konsorten/go-windows-terminal-sequences" + packages = ["."] + pruneopts = "UT" + revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e" + version = "v1.0.2" + +[[projects]] + digest = "1:4a29eeb25603debe8f2098a9902c4d3851034cf70d33be428826e86e8c30a1b0" + name = "github.com/mattn/go-colorable" + packages = ["."] + pruneopts = "UT" + revision = "98ec13f34aabf44cc914c65a1cfb7b9bc815aef1" + version = "v0.1.4" + +[[projects]] + digest = "1:d62282425ffb75047679d7e2c3b980eea7f82c05ef5fb9142ee617ebac6e7432" + name = "github.com/mattn/go-isatty" + packages = ["."] + pruneopts = "UT" + revision = "88ba11cfdc67c7588b30042edf244b2875f892b6" + version = "v0.0.10" + +[[projects]] + digest = "1:ff5ebae34cfbf047d505ee150de27e60570e8c394b3b8fdbb720ff6ac71985fc" + name = "github.com/matttproud/golang_protobuf_extensions" + packages = ["pbutil"] + pruneopts = "UT" + revision = "c12348ce28de40eed0136aa2b644d0ee0650e56c" + version = "v1.0.1" + +[[projects]] + branch = "master" + digest = "1:2b32af4d2a529083275afc192d1067d8126b578c7a9613b26600e4df9c735155" + name = "github.com/mgutz/ansi" + packages = ["."] + pruneopts = "UT" + revision = "9520e82c474b0a04dd04f8a40959027271bab992" + +[[projects]] + digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe" + name = "github.com/pmezard/go-difflib" + packages = ["difflib"] + pruneopts = "UT" + revision = "792786c7400a136282c1664665ae0a8db921c6c2" + version = "v1.0.0" + +[[projects]] + digest = "1:d14a5f4bfecf017cb780bdde1b6483e5deb87e12c332544d2c430eda58734bcb" + name = "github.com/prometheus/client_golang" + packages = [ + "prometheus", + "prometheus/promhttp", + ] + pruneopts = "UT" + revision = "c5b7fccd204277076155f10851dad72b76a49317" + version = "v0.8.0" + +[[projects]] + branch = "master" + digest = "1:2d5cd61daa5565187e1d96bae64dbbc6080dacf741448e9629c64fd93203b0d4" + name = "github.com/prometheus/client_model" + packages = ["go"] + pruneopts = "UT" + revision = "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016" + +[[projects]] + digest = "1:f119e3205d3a1f0f19dbd7038eb37528e2c6f0933269dc344e305951fb87d632" + name = "github.com/prometheus/common" + packages = [ + "expfmt", + "internal/bitbucket.org/ww/goautoneg", + "model", + ] + pruneopts = "UT" + revision = "287d3e634a1e550c9e463dd7e5a75a422c614505" + version = "v0.7.0" + +[[projects]] + digest = "1:a210815b437763623ecca8eb91e6a0bf4f2d6773c5a6c9aec0e28f19e5fd6deb" + name = "github.com/prometheus/procfs" + packages = [ + ".", + "internal/fs", + "internal/util", + ] + pruneopts = "UT" + revision = "499c85531f756d1129edd26485a5f73871eeb308" + version = "v0.0.5" + +[[projects]] + digest = "1:c5dfe46811af7e2eff7c11fc84b6c841520338613c056f659f262d5a4fb42fa8" + name = "github.com/rs/cors" + packages = ["."] + pruneopts = "UT" + revision = "db0fe48135e83b5812a5a31be0eea66984b1b521" + version = "v1.7.0" + +[[projects]] + digest = "1:81e02c4edb639c80559c0650f9401d3e2dcc3256d1fa215382bb7c83c1db9126" + name = "github.com/shopspring/decimal" + packages = ["."] + pruneopts = "UT" + revision = "cd690d0c9e2447b1ef2a129a6b7b49077da89b8e" + version = "1.1.0" + +[[projects]] + digest = "1:04457f9f6f3ffc5fea48e71d62f2ca256637dee0a04d710288e27e05c8b41976" + name = "github.com/sirupsen/logrus" + packages = ["."] + pruneopts = "UT" + revision = "839c75faf7f98a33d445d181f3018b5c3409a45e" + version = "v1.4.2" + +[[projects]] + branch = "develop" + digest = "1:6ad497b5891eff6e1be23b823d7dbd11b7010a4eecac38927856273e51074884" + name = "github.com/skycoin/skycoin" + packages = [ + "src/api", + "src/cipher", + "src/cipher/base58", + "src/cipher/bip32", + "src/cipher/bip39", + "src/cipher/bip39/wordlists", + "src/cipher/bip44", + "src/cipher/chacha20poly1305", + "src/cipher/chacha20poly1305/internal/chacha20", + "src/cipher/encoder", + "src/cipher/encrypt", + "src/cipher/pbkdf2", + "src/cipher/poly1305", + "src/cipher/ripemd160", + "src/cipher/scrypt", + "src/cipher/secp256k1-go", + "src/cipher/secp256k1-go/secp256k1-go2", + "src/cli", + "src/coin", + "src/daemon", + "src/daemon/gnet", + "src/daemon/pex", + "src/daemon/strand", + "src/kvstorage", + "src/params", + "src/readable", + "src/transaction", + "src/util/apputil", + "src/util/droplet", + "src/util/elapse", + "src/util/fee", + "src/util/file", + "src/util/http", + "src/util/iputil", + "src/util/logging", + "src/util/mathutil", + "src/util/timeutil", + "src/util/useragent", + "src/visor", + "src/visor/blockdb", + "src/visor/dbutil", + "src/visor/historydb", + "src/wallet", + ] + pruneopts = "UT" + revision = "d7e4b2f3e31ea96bdcaba595507fde42baa156b9" + +[[projects]] + digest = "1:e096613fb7cf34743d49af87d197663cfccd61876e2219853005a57baedfa562" + name = "github.com/spf13/cobra" + packages = ["."] + pruneopts = "UT" + revision = "f2b07da1e2c38d5f12845a4f607e2e1018cbb1f5" + version = "v0.0.5" + +[[projects]] + digest = "1:524b71991fc7d9246cc7dc2d9e0886ccb97648091c63e30eef619e6862c955dd" + name = "github.com/spf13/pflag" + packages = ["."] + pruneopts = "UT" + revision = "2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab" + version = "v1.0.5" + +[[projects]] + digest = "1:99d32780e5238c2621fff621123997c3e3cca96db8be13179013aea77dfab551" + name = "github.com/stretchr/testify" + packages = [ + "assert", + "require", + ] + pruneopts = "UT" + revision = "221dbe5ed46703ee255b1da0dec05086f5035f62" + version = "v1.4.0" + +[[projects]] + branch = "master" + digest = "1:5004ca828c71c0aef4fed3d269183d18ace068c6033d269b8a2587bf784a0625" + name = "github.com/therecipe/qt" + packages = [ + ".", + "core", + "gui", + "network", + "qml", + ] + pruneopts = "UT" + revision = "9cc9109f8ecd4f5551384826d3b15dae7f1b4b7d" + +[[projects]] + branch = "master" + digest = "1:bbe51412d9915d64ffaa96b51d409e070665efc5194fcf145c4a27d4133107a4" + name = "golang.org/x/crypto" + packages = ["ssh/terminal"] + pruneopts = "UT" + revision = "34f69633bfdcf9db92f698f8487115767eebef81" + +[[projects]] + branch = "master" + digest = "1:76ee51c3f468493aff39dbacc401e8831fbb765104cbf613b89bef01cf4bad70" + name = "golang.org/x/net" + packages = ["context"] + pruneopts = "UT" + revision = "d66e71096ffb9f08f36d9aefcae80ce319de6d68" + +[[projects]] + branch = "master" + digest = "1:8465bc3baa8f05fb83a10b7a9029f90ecdf065957e6fb8ff4d75a0e5072f4148" + name = "golang.org/x/sys" + packages = [ + "unix", + "windows", + ] + pruneopts = "UT" + revision = "06d7bd2c5f4f4a6cc6e910b611851044253bd7d1" + +[[projects]] + digest = "1:59f10c1537d2199d9115d946927fe31165959a95190849c82ff11e05803528b0" + name = "gopkg.in/yaml.v2" + packages = ["."] + pruneopts = "UT" + revision = "f221b8435cfb71e54062f6c6e99e9ade30b124d5" + version = "v2.2.4" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + input-imports = [ + "github.com/sirupsen/logrus", + "github.com/skycoin/skycoin/src/api", + "github.com/skycoin/skycoin/src/cipher", + "github.com/skycoin/skycoin/src/cipher/bip39", + "github.com/skycoin/skycoin/src/cli", + "github.com/skycoin/skycoin/src/coin", + "github.com/skycoin/skycoin/src/params", + "github.com/skycoin/skycoin/src/readable", + "github.com/skycoin/skycoin/src/util/droplet", + "github.com/skycoin/skycoin/src/visor", + "github.com/skycoin/skycoin/src/wallet", + "github.com/stretchr/testify/require", + "github.com/therecipe/qt/core", + "github.com/therecipe/qt/gui", + "github.com/therecipe/qt/qml", + ] + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml new file mode 100644 index 00000000..ea2203a7 --- /dev/null +++ b/Gopkg.toml @@ -0,0 +1,41 @@ +# Gopkg.toml example +# +# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html +# for detailed Gopkg.toml documentation. +# +# required = ["github.com/user/thing/cmd/thing"] +# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] +# +# [[constraint]] +# name = "github.com/user/project" +# version = "1.0.0" +# +# [[constraint]] +# name = "github.com/user/project2" +# branch = "dev" +# source = "github.com/myfork/project2" +# +# [[override]] +# name = "github.com/x/y" +# version = "2.4.0" +# +# [prune] +# non-go = false +# go-tests = true +# unused-packages = true + +[[constraint]] + branch = "master" + name = "github.com/therecipe/qt" + +[[constraint]] + branch = "master" + name = "github.com/skycoin/hardware-wallet-go" + +[[constraint]] + name = "github.com/skycoin/skycoin" + branch = "develop" + +[prune] + go-tests = true + unused-packages = true diff --git a/vendor/github.com/NYTimes/gziphandler/.gitignore b/vendor/github.com/NYTimes/gziphandler/.gitignore new file mode 100644 index 00000000..1377554e --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/vendor/github.com/NYTimes/gziphandler/.travis.yml b/vendor/github.com/NYTimes/gziphandler/.travis.yml new file mode 100644 index 00000000..94dfae36 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/.travis.yml @@ -0,0 +1,10 @@ +language: go +go: + - 1.x + - tip +env: + - GO111MODULE=on +install: + - go mod download +script: + - go test -race -v diff --git a/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md b/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..cdbca194 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/CODE_OF_CONDUCT.md @@ -0,0 +1,75 @@ +--- +layout: code-of-conduct +version: v1.0 +--- + +This code of conduct outlines our expectations for participants within the **NYTimes/gziphandler** community, as well as steps to reporting unacceptable behavior. We are committed to providing a welcoming and inspiring community for all and expect our code of conduct to be honored. Anyone who violates this code of conduct may be banned from the community. + +Our open source community strives to: + +* **Be friendly and patient.** +* **Be welcoming**: We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability. +* **Be considerate**: Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language. +* **Be respectful**: Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. It’s important to remember that a community where people feel uncomfortable or threatened is not a productive one. +* **Be careful in the words that we choose**: we are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable. +* **Try to understand why we disagree**: Disagreements, both social and technical, happen all the time. It is important that we resolve disagreements and differing views constructively. Remember that we’re different. The strength of our community comes from its diversity, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to err and blaming each other doesn’t get us anywhere. Instead, focus on helping to resolve issues and learning from mistakes. + +## Definitions + +Harassment includes, but is not limited to: + +- Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, race, age, regional discrimination, political or religious affiliation +- Unwelcome comments regarding a person’s lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment +- Deliberate misgendering. This includes deadnaming or persistently using a pronoun that does not correctly reflect a person's gender identity. You must address people by the name they give you when not addressing them by their username or handle +- Physical contact and simulated physical contact (eg, textual descriptions like “*hug*” or “*backrub*”) without consent or after a request to stop +- Threats of violence, both physical and psychological +- Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm +- Deliberate intimidation +- Stalking or following +- Harassing photography or recording, including logging online activity for harassment purposes +- Sustained disruption of discussion +- Unwelcome sexual attention, including gratuitous or off-topic sexual images or behaviour +- Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others +- Continued one-on-one communication after requests to cease +- Deliberate “outing” of any aspect of a person’s identity without their consent except as necessary to protect others from intentional abuse +- Publication of non-harassing private communication + +Our open source community prioritizes marginalized people’s safety over privileged people’s comfort. We will not act on complaints regarding: + +- ‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’ +- Reasonable communication of boundaries, such as “leave me alone,” “go away,” or “I’m not discussing this with you” +- Refusal to explain or debate social justice concepts +- Communicating in a ‘tone’ you don’t find congenial +- Criticizing racist, sexist, cissexist, or otherwise oppressive behavior or assumptions + + +### Diversity Statement + +We encourage everyone to participate and are committed to building a community for all. Although we will fail at times, we seek to treat everyone both as fairly and equally as possible. Whenever a participant has made a mistake, we expect them to take responsibility for it. If someone has been harmed or offended, it is our responsibility to listen carefully and respectfully, and do our best to right the wrong. + +Although this list cannot be exhaustive, we explicitly honor diversity in age, gender, gender identity or expression, culture, ethnicity, language, national origin, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, and technical ability. We will not tolerate discrimination based on any of the protected +characteristics above, including participants with disabilities. + +### Reporting Issues + +If you experience or witness unacceptable behavior—or have any other concerns—please report it by contacting us via **code@nytimes.com**. All reports will be handled with discretion. In your report please include: + +- Your contact information. +- Names (real, nicknames, or pseudonyms) of any individuals involved. If there are additional witnesses, please +include them as well. Your account of what occurred, and if you believe the incident is ongoing. If there is a publicly available record (e.g. a mailing list archive or a public IRC logger), please include a link. +- Any additional information that may be helpful. + +After filing a report, a representative will contact you personally, review the incident, follow up with any additional questions, and make a decision as to how to respond. If the person who is harassing you is part of the response team, they will recuse themselves from handling your incident. If the complaint originates from a member of the response team, it will be handled by a different member of the response team. We will respect confidentiality requests for the purpose of protecting victims of abuse. + +### Attribution & Acknowledgements + +We all stand on the shoulders of giants across many open source communities. We'd like to thank the communities and projects that established code of conducts and diversity statements as our inspiration: + +* [Django](https://www.djangoproject.com/conduct/reporting/) +* [Python](https://www.python.org/community/diversity/) +* [Ubuntu](http://www.ubuntu.com/about/about-ubuntu/conduct) +* [Contributor Covenant](http://contributor-covenant.org/) +* [Geek Feminism](http://geekfeminism.org/about/code-of-conduct/) +* [Citizen Code of Conduct](http://citizencodeofconduct.org/) + +This Code of Conduct was based on https://github.com/todogroup/opencodeofconduct diff --git a/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md b/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md new file mode 100644 index 00000000..b89a9eb4 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/CONTRIBUTING.md @@ -0,0 +1,30 @@ +# Contributing to NYTimes/gziphandler + +This is an open source project started by handful of developers at The New York Times and open to the entire Go community. + +We really appreciate your help! + +## Filing issues + +When filing an issue, make sure to answer these five questions: + +1. What version of Go are you using (`go version`)? +2. What operating system and processor architecture are you using? +3. What did you do? +4. What did you expect to see? +5. What did you see instead? + +## Contributing code + +Before submitting changes, please follow these guidelines: + +1. Check the open issues and pull requests for existing discussions. +2. Open an issue to discuss a new feature. +3. Write tests. +4. Make sure code follows the ['Go Code Review Comments'](https://github.com/golang/go/wiki/CodeReviewComments). +5. Make sure your changes pass `go test`. +6. Make sure the entire test suite passes locally and on Travis CI. +7. Open a Pull Request. +8. [Squash your commits](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html) after receiving feedback and add a [great commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). + +Unless otherwise noted, the gziphandler source files are distributed under the Apache 2.0-style license found in the LICENSE.md file. diff --git a/vendor/github.com/NYTimes/gziphandler/LICENSE b/vendor/github.com/NYTimes/gziphandler/LICENSE new file mode 100644 index 00000000..df6192d3 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016-2017 The New York Times Company + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/NYTimes/gziphandler/README.md b/vendor/github.com/NYTimes/gziphandler/README.md new file mode 100644 index 00000000..6259acac --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/README.md @@ -0,0 +1,56 @@ +Gzip Handler +============ + +This is a tiny Go package which wraps HTTP handlers to transparently gzip the +response body, for clients which support it. Although it's usually simpler to +leave that to a reverse proxy (like nginx or Varnish), this package is useful +when that's undesirable. + +## Install +```bash +go get -u github.com/NYTimes/gziphandler +``` + +## Usage + +Call `GzipHandler` with any handler (an object which implements the +`http.Handler` interface), and it'll return a new handler which gzips the +response. For example: + +```go +package main + +import ( + "io" + "net/http" + "github.com/NYTimes/gziphandler" +) + +func main() { + withoutGz := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain") + io.WriteString(w, "Hello, World") + }) + + withGz := gziphandler.GzipHandler(withoutGz) + + http.Handle("/", withGz) + http.ListenAndServe("0.0.0.0:8000", nil) +} +``` + + +## Documentation + +The docs can be found at [godoc.org][docs], as usual. + + +## License + +[Apache 2.0][license]. + + + + +[docs]: https://godoc.org/github.com/NYTimes/gziphandler +[license]: https://github.com/NYTimes/gziphandler/blob/master/LICENSE diff --git a/vendor/github.com/NYTimes/gziphandler/go.mod b/vendor/github.com/NYTimes/gziphandler/go.mod new file mode 100644 index 00000000..80190127 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/go.mod @@ -0,0 +1,5 @@ +module github.com/NYTimes/gziphandler + +go 1.11 + +require github.com/stretchr/testify v1.3.0 diff --git a/vendor/github.com/NYTimes/gziphandler/go.sum b/vendor/github.com/NYTimes/gziphandler/go.sum new file mode 100644 index 00000000..4347755a --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/go.sum @@ -0,0 +1,7 @@ +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= diff --git a/vendor/github.com/NYTimes/gziphandler/gzip.go b/vendor/github.com/NYTimes/gziphandler/gzip.go new file mode 100644 index 00000000..c112bbdf --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/gzip.go @@ -0,0 +1,532 @@ +package gziphandler // import "github.com/NYTimes/gziphandler" + +import ( + "bufio" + "compress/gzip" + "fmt" + "io" + "mime" + "net" + "net/http" + "strconv" + "strings" + "sync" +) + +const ( + vary = "Vary" + acceptEncoding = "Accept-Encoding" + contentEncoding = "Content-Encoding" + contentType = "Content-Type" + contentLength = "Content-Length" +) + +type codings map[string]float64 + +const ( + // DefaultQValue is the default qvalue to assign to an encoding if no explicit qvalue is set. + // This is actually kind of ambiguous in RFC 2616, so hopefully it's correct. + // The examples seem to indicate that it is. + DefaultQValue = 1.0 + + // DefaultMinSize is the default minimum size until we enable gzip compression. + // 1500 bytes is the MTU size for the internet since that is the largest size allowed at the network layer. + // If you take a file that is 1300 bytes and compress it to 800 bytes, it’s still transmitted in that same 1500 byte packet regardless, so you’ve gained nothing. + // That being the case, you should restrict the gzip compression to files with a size greater than a single packet, 1400 bytes (1.4KB) is a safe value. + DefaultMinSize = 1400 +) + +// gzipWriterPools stores a sync.Pool for each compression level for reuse of +// gzip.Writers. Use poolIndex to covert a compression level to an index into +// gzipWriterPools. +var gzipWriterPools [gzip.BestCompression - gzip.BestSpeed + 2]*sync.Pool + +func init() { + for i := gzip.BestSpeed; i <= gzip.BestCompression; i++ { + addLevelPool(i) + } + addLevelPool(gzip.DefaultCompression) +} + +// poolIndex maps a compression level to its index into gzipWriterPools. It +// assumes that level is a valid gzip compression level. +func poolIndex(level int) int { + // gzip.DefaultCompression == -1, so we need to treat it special. + if level == gzip.DefaultCompression { + return gzip.BestCompression - gzip.BestSpeed + 1 + } + return level - gzip.BestSpeed +} + +func addLevelPool(level int) { + gzipWriterPools[poolIndex(level)] = &sync.Pool{ + New: func() interface{} { + // NewWriterLevel only returns error on a bad level, we are guaranteeing + // that this will be a valid level so it is okay to ignore the returned + // error. + w, _ := gzip.NewWriterLevel(nil, level) + return w + }, + } +} + +// GzipResponseWriter provides an http.ResponseWriter interface, which gzips +// bytes before writing them to the underlying response. This doesn't close the +// writers, so don't forget to do that. +// It can be configured to skip response smaller than minSize. +type GzipResponseWriter struct { + http.ResponseWriter + index int // Index for gzipWriterPools. + gw *gzip.Writer + + code int // Saves the WriteHeader value. + + minSize int // Specifed the minimum response size to gzip. If the response length is bigger than this value, it is compressed. + buf []byte // Holds the first part of the write before reaching the minSize or the end of the write. + ignore bool // If true, then we immediately passthru writes to the underlying ResponseWriter. + + contentTypes []parsedContentType // Only compress if the response is one of these content-types. All are accepted if empty. +} + +type GzipResponseWriterWithCloseNotify struct { + *GzipResponseWriter +} + +func (w GzipResponseWriterWithCloseNotify) CloseNotify() <-chan bool { + return w.ResponseWriter.(http.CloseNotifier).CloseNotify() +} + +// Write appends data to the gzip writer. +func (w *GzipResponseWriter) Write(b []byte) (int, error) { + // GZIP responseWriter is initialized. Use the GZIP responseWriter. + if w.gw != nil { + return w.gw.Write(b) + } + + // If we have already decided not to use GZIP, immediately passthrough. + if w.ignore { + return w.ResponseWriter.Write(b) + } + + // Save the write into a buffer for later use in GZIP responseWriter (if content is long enough) or at close with regular responseWriter. + // On the first write, w.buf changes from nil to a valid slice + w.buf = append(w.buf, b...) + + var ( + cl, _ = strconv.Atoi(w.Header().Get(contentLength)) + ct = w.Header().Get(contentType) + ce = w.Header().Get(contentEncoding) + ) + // Only continue if they didn't already choose an encoding or a known unhandled content length or type. + if ce == "" && (cl == 0 || cl >= w.minSize) && (ct == "" || handleContentType(w.contentTypes, ct)) { + // If the current buffer is less than minSize and a Content-Length isn't set, then wait until we have more data. + if len(w.buf) < w.minSize && cl == 0 { + return len(b), nil + } + // If the Content-Length is larger than minSize or the current buffer is larger than minSize, then continue. + if cl >= w.minSize || len(w.buf) >= w.minSize { + // If a Content-Type wasn't specified, infer it from the current buffer. + if ct == "" { + ct = http.DetectContentType(w.buf) + w.Header().Set(contentType, ct) + } + // If the Content-Type is acceptable to GZIP, initialize the GZIP writer. + if handleContentType(w.contentTypes, ct) { + if err := w.startGzip(); err != nil { + return 0, err + } + return len(b), nil + } + } + } + // If we got here, we should not GZIP this response. + if err := w.startPlain(); err != nil { + return 0, err + } + return len(b), nil +} + +// startGzip initializes a GZIP writer and writes the buffer. +func (w *GzipResponseWriter) startGzip() error { + // Set the GZIP header. + w.Header().Set(contentEncoding, "gzip") + + // if the Content-Length is already set, then calls to Write on gzip + // will fail to set the Content-Length header since its already set + // See: https://github.com/golang/go/issues/14975. + w.Header().Del(contentLength) + + // Write the header to gzip response. + if w.code != 0 { + w.ResponseWriter.WriteHeader(w.code) + // Ensure that no other WriteHeader's happen + w.code = 0 + } + + // Initialize and flush the buffer into the gzip response if there are any bytes. + // If there aren't any, we shouldn't initialize it yet because on Close it will + // write the gzip header even if nothing was ever written. + if len(w.buf) > 0 { + // Initialize the GZIP response. + w.init() + n, err := w.gw.Write(w.buf) + + // This should never happen (per io.Writer docs), but if the write didn't + // accept the entire buffer but returned no specific error, we have no clue + // what's going on, so abort just to be safe. + if err == nil && n < len(w.buf) { + err = io.ErrShortWrite + } + return err + } + return nil +} + +// startPlain writes to sent bytes and buffer the underlying ResponseWriter without gzip. +func (w *GzipResponseWriter) startPlain() error { + if w.code != 0 { + w.ResponseWriter.WriteHeader(w.code) + // Ensure that no other WriteHeader's happen + w.code = 0 + } + w.ignore = true + // If Write was never called then don't call Write on the underlying ResponseWriter. + if w.buf == nil { + return nil + } + n, err := w.ResponseWriter.Write(w.buf) + w.buf = nil + // This should never happen (per io.Writer docs), but if the write didn't + // accept the entire buffer but returned no specific error, we have no clue + // what's going on, so abort just to be safe. + if err == nil && n < len(w.buf) { + err = io.ErrShortWrite + } + return err +} + +// WriteHeader just saves the response code until close or GZIP effective writes. +func (w *GzipResponseWriter) WriteHeader(code int) { + if w.code == 0 { + w.code = code + } +} + +// init graps a new gzip writer from the gzipWriterPool and writes the correct +// content encoding header. +func (w *GzipResponseWriter) init() { + // Bytes written during ServeHTTP are redirected to this gzip writer + // before being written to the underlying response. + gzw := gzipWriterPools[w.index].Get().(*gzip.Writer) + gzw.Reset(w.ResponseWriter) + w.gw = gzw +} + +// Close will close the gzip.Writer and will put it back in the gzipWriterPool. +func (w *GzipResponseWriter) Close() error { + if w.ignore { + return nil + } + + if w.gw == nil { + // GZIP not triggered yet, write out regular response. + err := w.startPlain() + // Returns the error if any at write. + if err != nil { + err = fmt.Errorf("gziphandler: write to regular responseWriter at close gets error: %q", err.Error()) + } + return err + } + + err := w.gw.Close() + gzipWriterPools[w.index].Put(w.gw) + w.gw = nil + return err +} + +// Flush flushes the underlying *gzip.Writer and then the underlying +// http.ResponseWriter if it is an http.Flusher. This makes GzipResponseWriter +// an http.Flusher. +func (w *GzipResponseWriter) Flush() { + if w.gw == nil && !w.ignore { + // Only flush once startGzip or startPlain has been called. + // + // Flush is thus a no-op until we're certain whether a plain + // or gzipped response will be served. + return + } + + if w.gw != nil { + w.gw.Flush() + } + + if fw, ok := w.ResponseWriter.(http.Flusher); ok { + fw.Flush() + } +} + +// Hijack implements http.Hijacker. If the underlying ResponseWriter is a +// Hijacker, its Hijack method is returned. Otherwise an error is returned. +func (w *GzipResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { + if hj, ok := w.ResponseWriter.(http.Hijacker); ok { + return hj.Hijack() + } + return nil, nil, fmt.Errorf("http.Hijacker interface is not supported") +} + +// verify Hijacker interface implementation +var _ http.Hijacker = &GzipResponseWriter{} + +// MustNewGzipLevelHandler behaves just like NewGzipLevelHandler except that in +// an error case it panics rather than returning an error. +func MustNewGzipLevelHandler(level int) func(http.Handler) http.Handler { + wrap, err := NewGzipLevelHandler(level) + if err != nil { + panic(err) + } + return wrap +} + +// NewGzipLevelHandler returns a wrapper function (often known as middleware) +// which can be used to wrap an HTTP handler to transparently gzip the response +// body if the client supports it (via the Accept-Encoding header). Responses will +// be encoded at the given gzip compression level. An error will be returned only +// if an invalid gzip compression level is given, so if one can ensure the level +// is valid, the returned error can be safely ignored. +func NewGzipLevelHandler(level int) (func(http.Handler) http.Handler, error) { + return NewGzipLevelAndMinSize(level, DefaultMinSize) +} + +// NewGzipLevelAndMinSize behave as NewGzipLevelHandler except it let the caller +// specify the minimum size before compression. +func NewGzipLevelAndMinSize(level, minSize int) (func(http.Handler) http.Handler, error) { + return GzipHandlerWithOpts(CompressionLevel(level), MinSize(minSize)) +} + +func GzipHandlerWithOpts(opts ...option) (func(http.Handler) http.Handler, error) { + c := &config{ + level: gzip.DefaultCompression, + minSize: DefaultMinSize, + } + + for _, o := range opts { + o(c) + } + + if err := c.validate(); err != nil { + return nil, err + } + + return func(h http.Handler) http.Handler { + index := poolIndex(c.level) + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Add(vary, acceptEncoding) + if acceptsGzip(r) { + gw := &GzipResponseWriter{ + ResponseWriter: w, + index: index, + minSize: c.minSize, + contentTypes: c.contentTypes, + } + defer gw.Close() + + if _, ok := w.(http.CloseNotifier); ok { + gwcn := GzipResponseWriterWithCloseNotify{gw} + h.ServeHTTP(gwcn, r) + } else { + h.ServeHTTP(gw, r) + } + + } else { + h.ServeHTTP(w, r) + } + }) + }, nil +} + +// Parsed representation of one of the inputs to ContentTypes. +// See https://golang.org/pkg/mime/#ParseMediaType +type parsedContentType struct { + mediaType string + params map[string]string +} + +// equals returns whether this content type matches another content type. +func (pct parsedContentType) equals(mediaType string, params map[string]string) bool { + if pct.mediaType != mediaType { + return false + } + // if pct has no params, don't care about other's params + if len(pct.params) == 0 { + return true + } + + // if pct has any params, they must be identical to other's. + if len(pct.params) != len(params) { + return false + } + for k, v := range pct.params { + if w, ok := params[k]; !ok || v != w { + return false + } + } + return true +} + +// Used for functional configuration. +type config struct { + minSize int + level int + contentTypes []parsedContentType +} + +func (c *config) validate() error { + if c.level != gzip.DefaultCompression && (c.level < gzip.BestSpeed || c.level > gzip.BestCompression) { + return fmt.Errorf("invalid compression level requested: %d", c.level) + } + + if c.minSize < 0 { + return fmt.Errorf("minimum size must be more than zero") + } + + return nil +} + +type option func(c *config) + +func MinSize(size int) option { + return func(c *config) { + c.minSize = size + } +} + +func CompressionLevel(level int) option { + return func(c *config) { + c.level = level + } +} + +// ContentTypes specifies a list of content types to compare +// the Content-Type header to before compressing. If none +// match, the response will be returned as-is. +// +// Content types are compared in a case-insensitive, whitespace-ignored +// manner. +// +// A MIME type without any other directive will match a content type +// that has the same MIME type, regardless of that content type's other +// directives. I.e., "text/html" will match both "text/html" and +// "text/html; charset=utf-8". +// +// A MIME type with any other directive will only match a content type +// that has the same MIME type and other directives. I.e., +// "text/html; charset=utf-8" will only match "text/html; charset=utf-8". +// +// By default, responses are gzipped regardless of +// Content-Type. +func ContentTypes(types []string) option { + return func(c *config) { + c.contentTypes = []parsedContentType{} + for _, v := range types { + mediaType, params, err := mime.ParseMediaType(v) + if err == nil { + c.contentTypes = append(c.contentTypes, parsedContentType{mediaType, params}) + } + } + } +} + +// GzipHandler wraps an HTTP handler, to transparently gzip the response body if +// the client supports it (via the Accept-Encoding header). This will compress at +// the default compression level. +func GzipHandler(h http.Handler) http.Handler { + wrapper, _ := NewGzipLevelHandler(gzip.DefaultCompression) + return wrapper(h) +} + +// acceptsGzip returns true if the given HTTP request indicates that it will +// accept a gzipped response. +func acceptsGzip(r *http.Request) bool { + acceptedEncodings, _ := parseEncodings(r.Header.Get(acceptEncoding)) + return acceptedEncodings["gzip"] > 0.0 +} + +// returns true if we've been configured to compress the specific content type. +func handleContentType(contentTypes []parsedContentType, ct string) bool { + // If contentTypes is empty we handle all content types. + if len(contentTypes) == 0 { + return true + } + + mediaType, params, err := mime.ParseMediaType(ct) + if err != nil { + return false + } + + for _, c := range contentTypes { + if c.equals(mediaType, params) { + return true + } + } + + return false +} + +// parseEncodings attempts to parse a list of codings, per RFC 2616, as might +// appear in an Accept-Encoding header. It returns a map of content-codings to +// quality values, and an error containing the errors encountered. It's probably +// safe to ignore those, because silently ignoring errors is how the internet +// works. +// +// See: http://tools.ietf.org/html/rfc2616#section-14.3. +func parseEncodings(s string) (codings, error) { + c := make(codings) + var e []string + + for _, ss := range strings.Split(s, ",") { + coding, qvalue, err := parseCoding(ss) + + if err != nil { + e = append(e, err.Error()) + } else { + c[coding] = qvalue + } + } + + // TODO (adammck): Use a proper multi-error struct, so the individual errors + // can be extracted if anyone cares. + if len(e) > 0 { + return c, fmt.Errorf("errors while parsing encodings: %s", strings.Join(e, ", ")) + } + + return c, nil +} + +// parseCoding parses a single conding (content-coding with an optional qvalue), +// as might appear in an Accept-Encoding header. It attempts to forgive minor +// formatting errors. +func parseCoding(s string) (coding string, qvalue float64, err error) { + for n, part := range strings.Split(s, ";") { + part = strings.TrimSpace(part) + qvalue = DefaultQValue + + if n == 0 { + coding = strings.ToLower(part) + } else if strings.HasPrefix(part, "q=") { + qvalue, err = strconv.ParseFloat(strings.TrimPrefix(part, "q="), 64) + + if qvalue < 0.0 { + qvalue = 0.0 + } else if qvalue > 1.0 { + qvalue = 1.0 + } + } + } + + if coding == "" { + err = fmt.Errorf("empty content-coding") + } + + return +} diff --git a/vendor/github.com/NYTimes/gziphandler/gzip_go18.go b/vendor/github.com/NYTimes/gziphandler/gzip_go18.go new file mode 100644 index 00000000..fa9665b7 --- /dev/null +++ b/vendor/github.com/NYTimes/gziphandler/gzip_go18.go @@ -0,0 +1,43 @@ +// +build go1.8 + +package gziphandler + +import "net/http" + +// Push initiates an HTTP/2 server push. +// Push returns ErrNotSupported if the client has disabled push or if push +// is not supported on the underlying connection. +func (w *GzipResponseWriter) Push(target string, opts *http.PushOptions) error { + pusher, ok := w.ResponseWriter.(http.Pusher) + if ok && pusher != nil { + return pusher.Push(target, setAcceptEncodingForPushOptions(opts)) + } + return http.ErrNotSupported +} + +// setAcceptEncodingForPushOptions sets "Accept-Encoding" : "gzip" for PushOptions without overriding existing headers. +func setAcceptEncodingForPushOptions(opts *http.PushOptions) *http.PushOptions { + + if opts == nil { + opts = &http.PushOptions{ + Header: http.Header{ + acceptEncoding: []string{"gzip"}, + }, + } + return opts + } + + if opts.Header == nil { + opts.Header = http.Header{ + acceptEncoding: []string{"gzip"}, + } + return opts + } + + if encoding := opts.Header.Get(acceptEncoding); encoding == "" { + opts.Header.Add(acceptEncoding, "gzip") + return opts + } + + return opts +} diff --git a/vendor/github.com/beorn7/perks/LICENSE b/vendor/github.com/beorn7/perks/LICENSE new file mode 100644 index 00000000..339177be --- /dev/null +++ b/vendor/github.com/beorn7/perks/LICENSE @@ -0,0 +1,20 @@ +Copyright (C) 2013 Blake Mizerany + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/beorn7/perks/quantile/exampledata.txt b/vendor/github.com/beorn7/perks/quantile/exampledata.txt new file mode 100644 index 00000000..1602287d --- /dev/null +++ b/vendor/github.com/beorn7/perks/quantile/exampledata.txt @@ -0,0 +1,2388 @@ +8 +5 +26 +12 +5 +235 +13 +6 +28 +30 +3 +3 +3 +3 +5 +2 +33 +7 +2 +4 +7 +12 +14 +5 +8 +3 +10 +4 +5 +3 +6 +6 +209 +20 +3 +10 +14 +3 +4 +6 +8 +5 +11 +7 +3 +2 +3 +3 +212 +5 +222 +4 +10 +10 +5 +6 +3 +8 +3 +10 +254 +220 +2 +3 +5 +24 +5 +4 +222 +7 +3 +3 +223 +8 +15 +12 +14 +14 +3 +2 +2 +3 +13 +3 +11 +4 +4 +6 +5 +7 +13 +5 +3 +5 +2 +5 +3 +5 +2 +7 +15 +17 +14 +3 +6 +6 +3 +17 +5 +4 +7 +6 +4 +4 +8 +6 +8 +3 +9 +3 +6 +3 +4 +5 +3 +3 +660 +4 +6 +10 +3 +6 +3 +2 +5 +13 +2 +4 +4 +10 +4 +8 +4 +3 +7 +9 +9 +3 +10 +37 +3 +13 +4 +12 +3 +6 +10 +8 +5 +21 +2 +3 +8 +3 +2 +3 +3 +4 +12 +2 +4 +8 +8 +4 +3 +2 +20 +1 +6 +32 +2 +11 +6 +18 +3 +8 +11 +3 +212 +3 +4 +2 +6 +7 +12 +11 +3 +2 +16 +10 +6 +4 +6 +3 +2 +7 +3 +2 +2 +2 +2 +5 +6 +4 +3 +10 +3 +4 +6 +5 +3 +4 +4 +5 +6 +4 +3 +4 +4 +5 +7 +5 +5 +3 +2 +7 +2 +4 +12 +4 +5 +6 +2 +4 +4 +8 +4 +15 +13 +7 +16 +5 +3 +23 +5 +5 +7 +3 +2 +9 +8 +7 +5 +8 +11 +4 +10 +76 +4 +47 +4 +3 +2 +7 +4 +2 +3 +37 +10 +4 +2 +20 +5 +4 +4 +10 +10 +4 +3 +7 +23 +240 +7 +13 +5 +5 +3 +3 +2 +5 +4 +2 +8 +7 +19 +2 +23 +8 +7 +2 +5 +3 +8 +3 +8 +13 +5 +5 +5 +2 +3 +23 +4 +9 +8 +4 +3 +3 +5 +220 +2 +3 +4 +6 +14 +3 +53 +6 +2 +5 +18 +6 +3 +219 +6 +5 +2 +5 +3 +6 +5 +15 +4 +3 +17 +3 +2 +4 +7 +2 +3 +3 +4 +4 +3 +2 +664 +6 +3 +23 +5 +5 +16 +5 +8 +2 +4 +2 +24 +12 +3 +2 +3 +5 +8 +3 +5 +4 +3 +14 +3 +5 +8 +2 +3 +7 +9 +4 +2 +3 +6 +8 +4 +3 +4 +6 +5 +3 +3 +6 +3 +19 +4 +4 +6 +3 +6 +3 +5 +22 +5 +4 +4 +3 +8 +11 +4 +9 +7 +6 +13 +4 +4 +4 +6 +17 +9 +3 +3 +3 +4 +3 +221 +5 +11 +3 +4 +2 +12 +6 +3 +5 +7 +5 +7 +4 +9 +7 +14 +37 +19 +217 +16 +3 +5 +2 +2 +7 +19 +7 +6 +7 +4 +24 +5 +11 +4 +7 +7 +9 +13 +3 +4 +3 +6 +28 +4 +4 +5 +5 +2 +5 +6 +4 +4 +6 +10 +5 +4 +3 +2 +3 +3 +6 +5 +5 +4 +3 +2 +3 +7 +4 +6 +18 +16 +8 +16 +4 +5 +8 +6 +9 +13 +1545 +6 +215 +6 +5 +6 +3 +45 +31 +5 +2 +2 +4 +3 +3 +2 +5 +4 +3 +5 +7 +7 +4 +5 +8 +5 +4 +749 +2 +31 +9 +11 +2 +11 +5 +4 +4 +7 +9 +11 +4 +5 +4 +7 +3 +4 +6 +2 +15 +3 +4 +3 +4 +3 +5 +2 +13 +5 +5 +3 +3 +23 +4 +4 +5 +7 +4 +13 +2 +4 +3 +4 +2 +6 +2 +7 +3 +5 +5 +3 +29 +5 +4 +4 +3 +10 +2 +3 +79 +16 +6 +6 +7 +7 +3 +5 +5 +7 +4 +3 +7 +9 +5 +6 +5 +9 +6 +3 +6 +4 +17 +2 +10 +9 +3 +6 +2 +3 +21 +22 +5 +11 +4 +2 +17 +2 +224 +2 +14 +3 +4 +4 +2 +4 +4 +4 +4 +5 +3 +4 +4 +10 +2 +6 +3 +3 +5 +7 +2 +7 +5 +6 +3 +218 +2 +2 +5 +2 +6 +3 +5 +222 +14 +6 +33 +3 +2 +5 +3 +3 +3 +9 +5 +3 +3 +2 +7 +4 +3 +4 +3 +5 +6 +5 +26 +4 +13 +9 +7 +3 +221 +3 +3 +4 +4 +4 +4 +2 +18 +5 +3 +7 +9 +6 +8 +3 +10 +3 +11 +9 +5 +4 +17 +5 +5 +6 +6 +3 +2 +4 +12 +17 +6 +7 +218 +4 +2 +4 +10 +3 +5 +15 +3 +9 +4 +3 +3 +6 +29 +3 +3 +4 +5 +5 +3 +8 +5 +6 +6 +7 +5 +3 +5 +3 +29 +2 +31 +5 +15 +24 +16 +5 +207 +4 +3 +3 +2 +15 +4 +4 +13 +5 +5 +4 +6 +10 +2 +7 +8 +4 +6 +20 +5 +3 +4 +3 +12 +12 +5 +17 +7 +3 +3 +3 +6 +10 +3 +5 +25 +80 +4 +9 +3 +2 +11 +3 +3 +2 +3 +8 +7 +5 +5 +19 +5 +3 +3 +12 +11 +2 +6 +5 +5 +5 +3 +3 +3 +4 +209 +14 +3 +2 +5 +19 +4 +4 +3 +4 +14 +5 +6 +4 +13 +9 +7 +4 +7 +10 +2 +9 +5 +7 +2 +8 +4 +6 +5 +5 +222 +8 +7 +12 +5 +216 +3 +4 +4 +6 +3 +14 +8 +7 +13 +4 +3 +3 +3 +3 +17 +5 +4 +3 +33 +6 +6 +33 +7 +5 +3 +8 +7 +5 +2 +9 +4 +2 +233 +24 +7 +4 +8 +10 +3 +4 +15 +2 +16 +3 +3 +13 +12 +7 +5 +4 +207 +4 +2 +4 +27 +15 +2 +5 +2 +25 +6 +5 +5 +6 +13 +6 +18 +6 +4 +12 +225 +10 +7 +5 +2 +2 +11 +4 +14 +21 +8 +10 +3 +5 +4 +232 +2 +5 +5 +3 +7 +17 +11 +6 +6 +23 +4 +6 +3 +5 +4 +2 +17 +3 +6 +5 +8 +3 +2 +2 +14 +9 +4 +4 +2 +5 +5 +3 +7 +6 +12 +6 +10 +3 +6 +2 +2 +19 +5 +4 +4 +9 +2 +4 +13 +3 +5 +6 +3 +6 +5 +4 +9 +6 +3 +5 +7 +3 +6 +6 +4 +3 +10 +6 +3 +221 +3 +5 +3 +6 +4 +8 +5 +3 +6 +4 +4 +2 +54 +5 +6 +11 +3 +3 +4 +4 +4 +3 +7 +3 +11 +11 +7 +10 +6 +13 +223 +213 +15 +231 +7 +3 +7 +228 +2 +3 +4 +4 +5 +6 +7 +4 +13 +3 +4 +5 +3 +6 +4 +6 +7 +2 +4 +3 +4 +3 +3 +6 +3 +7 +3 +5 +18 +5 +6 +8 +10 +3 +3 +3 +2 +4 +2 +4 +4 +5 +6 +6 +4 +10 +13 +3 +12 +5 +12 +16 +8 +4 +19 +11 +2 +4 +5 +6 +8 +5 +6 +4 +18 +10 +4 +2 +216 +6 +6 +6 +2 +4 +12 +8 +3 +11 +5 +6 +14 +5 +3 +13 +4 +5 +4 +5 +3 +28 +6 +3 +7 +219 +3 +9 +7 +3 +10 +6 +3 +4 +19 +5 +7 +11 +6 +15 +19 +4 +13 +11 +3 +7 +5 +10 +2 +8 +11 +2 +6 +4 +6 +24 +6 +3 +3 +3 +3 +6 +18 +4 +11 +4 +2 +5 +10 +8 +3 +9 +5 +3 +4 +5 +6 +2 +5 +7 +4 +4 +14 +6 +4 +4 +5 +5 +7 +2 +4 +3 +7 +3 +3 +6 +4 +5 +4 +4 +4 +3 +3 +3 +3 +8 +14 +2 +3 +5 +3 +2 +4 +5 +3 +7 +3 +3 +18 +3 +4 +4 +5 +7 +3 +3 +3 +13 +5 +4 +8 +211 +5 +5 +3 +5 +2 +5 +4 +2 +655 +6 +3 +5 +11 +2 +5 +3 +12 +9 +15 +11 +5 +12 +217 +2 +6 +17 +3 +3 +207 +5 +5 +4 +5 +9 +3 +2 +8 +5 +4 +3 +2 +5 +12 +4 +14 +5 +4 +2 +13 +5 +8 +4 +225 +4 +3 +4 +5 +4 +3 +3 +6 +23 +9 +2 +6 +7 +233 +4 +4 +6 +18 +3 +4 +6 +3 +4 +4 +2 +3 +7 +4 +13 +227 +4 +3 +5 +4 +2 +12 +9 +17 +3 +7 +14 +6 +4 +5 +21 +4 +8 +9 +2 +9 +25 +16 +3 +6 +4 +7 +8 +5 +2 +3 +5 +4 +3 +3 +5 +3 +3 +3 +2 +3 +19 +2 +4 +3 +4 +2 +3 +4 +4 +2 +4 +3 +3 +3 +2 +6 +3 +17 +5 +6 +4 +3 +13 +5 +3 +3 +3 +4 +9 +4 +2 +14 +12 +4 +5 +24 +4 +3 +37 +12 +11 +21 +3 +4 +3 +13 +4 +2 +3 +15 +4 +11 +4 +4 +3 +8 +3 +4 +4 +12 +8 +5 +3 +3 +4 +2 +220 +3 +5 +223 +3 +3 +3 +10 +3 +15 +4 +241 +9 +7 +3 +6 +6 +23 +4 +13 +7 +3 +4 +7 +4 +9 +3 +3 +4 +10 +5 +5 +1 +5 +24 +2 +4 +5 +5 +6 +14 +3 +8 +2 +3 +5 +13 +13 +3 +5 +2 +3 +15 +3 +4 +2 +10 +4 +4 +4 +5 +5 +3 +5 +3 +4 +7 +4 +27 +3 +6 +4 +15 +3 +5 +6 +6 +5 +4 +8 +3 +9 +2 +6 +3 +4 +3 +7 +4 +18 +3 +11 +3 +3 +8 +9 +7 +24 +3 +219 +7 +10 +4 +5 +9 +12 +2 +5 +4 +4 +4 +3 +3 +19 +5 +8 +16 +8 +6 +22 +3 +23 +3 +242 +9 +4 +3 +3 +5 +7 +3 +3 +5 +8 +3 +7 +5 +14 +8 +10 +3 +4 +3 +7 +4 +6 +7 +4 +10 +4 +3 +11 +3 +7 +10 +3 +13 +6 +8 +12 +10 +5 +7 +9 +3 +4 +7 +7 +10 +8 +30 +9 +19 +4 +3 +19 +15 +4 +13 +3 +215 +223 +4 +7 +4 +8 +17 +16 +3 +7 +6 +5 +5 +4 +12 +3 +7 +4 +4 +13 +4 +5 +2 +5 +6 +5 +6 +6 +7 +10 +18 +23 +9 +3 +3 +6 +5 +2 +4 +2 +7 +3 +3 +2 +5 +5 +14 +10 +224 +6 +3 +4 +3 +7 +5 +9 +3 +6 +4 +2 +5 +11 +4 +3 +3 +2 +8 +4 +7 +4 +10 +7 +3 +3 +18 +18 +17 +3 +3 +3 +4 +5 +3 +3 +4 +12 +7 +3 +11 +13 +5 +4 +7 +13 +5 +4 +11 +3 +12 +3 +6 +4 +4 +21 +4 +6 +9 +5 +3 +10 +8 +4 +6 +4 +4 +6 +5 +4 +8 +6 +4 +6 +4 +4 +5 +9 +6 +3 +4 +2 +9 +3 +18 +2 +4 +3 +13 +3 +6 +6 +8 +7 +9 +3 +2 +16 +3 +4 +6 +3 +2 +33 +22 +14 +4 +9 +12 +4 +5 +6 +3 +23 +9 +4 +3 +5 +5 +3 +4 +5 +3 +5 +3 +10 +4 +5 +5 +8 +4 +4 +6 +8 +5 +4 +3 +4 +6 +3 +3 +3 +5 +9 +12 +6 +5 +9 +3 +5 +3 +2 +2 +2 +18 +3 +2 +21 +2 +5 +4 +6 +4 +5 +10 +3 +9 +3 +2 +10 +7 +3 +6 +6 +4 +4 +8 +12 +7 +3 +7 +3 +3 +9 +3 +4 +5 +4 +4 +5 +5 +10 +15 +4 +4 +14 +6 +227 +3 +14 +5 +216 +22 +5 +4 +2 +2 +6 +3 +4 +2 +9 +9 +4 +3 +28 +13 +11 +4 +5 +3 +3 +2 +3 +3 +5 +3 +4 +3 +5 +23 +26 +3 +4 +5 +6 +4 +6 +3 +5 +5 +3 +4 +3 +2 +2 +2 +7 +14 +3 +6 +7 +17 +2 +2 +15 +14 +16 +4 +6 +7 +13 +6 +4 +5 +6 +16 +3 +3 +28 +3 +6 +15 +3 +9 +2 +4 +6 +3 +3 +22 +4 +12 +6 +7 +2 +5 +4 +10 +3 +16 +6 +9 +2 +5 +12 +7 +5 +5 +5 +5 +2 +11 +9 +17 +4 +3 +11 +7 +3 +5 +15 +4 +3 +4 +211 +8 +7 +5 +4 +7 +6 +7 +6 +3 +6 +5 +6 +5 +3 +4 +4 +26 +4 +6 +10 +4 +4 +3 +2 +3 +3 +4 +5 +9 +3 +9 +4 +4 +5 +5 +8 +2 +4 +2 +3 +8 +4 +11 +19 +5 +8 +6 +3 +5 +6 +12 +3 +2 +4 +16 +12 +3 +4 +4 +8 +6 +5 +6 +6 +219 +8 +222 +6 +16 +3 +13 +19 +5 +4 +3 +11 +6 +10 +4 +7 +7 +12 +5 +3 +3 +5 +6 +10 +3 +8 +2 +5 +4 +7 +2 +4 +4 +2 +12 +9 +6 +4 +2 +40 +2 +4 +10 +4 +223 +4 +2 +20 +6 +7 +24 +5 +4 +5 +2 +20 +16 +6 +5 +13 +2 +3 +3 +19 +3 +2 +4 +5 +6 +7 +11 +12 +5 +6 +7 +7 +3 +5 +3 +5 +3 +14 +3 +4 +4 +2 +11 +1 +7 +3 +9 +6 +11 +12 +5 +8 +6 +221 +4 +2 +12 +4 +3 +15 +4 +5 +226 +7 +218 +7 +5 +4 +5 +18 +4 +5 +9 +4 +4 +2 +9 +18 +18 +9 +5 +6 +6 +3 +3 +7 +3 +5 +4 +4 +4 +12 +3 +6 +31 +5 +4 +7 +3 +6 +5 +6 +5 +11 +2 +2 +11 +11 +6 +7 +5 +8 +7 +10 +5 +23 +7 +4 +3 +5 +34 +2 +5 +23 +7 +3 +6 +8 +4 +4 +4 +2 +5 +3 +8 +5 +4 +8 +25 +2 +3 +17 +8 +3 +4 +8 +7 +3 +15 +6 +5 +7 +21 +9 +5 +6 +6 +5 +3 +2 +3 +10 +3 +6 +3 +14 +7 +4 +4 +8 +7 +8 +2 +6 +12 +4 +213 +6 +5 +21 +8 +2 +5 +23 +3 +11 +2 +3 +6 +25 +2 +3 +6 +7 +6 +6 +4 +4 +6 +3 +17 +9 +7 +6 +4 +3 +10 +7 +2 +3 +3 +3 +11 +8 +3 +7 +6 +4 +14 +36 +3 +4 +3 +3 +22 +13 +21 +4 +2 +7 +4 +4 +17 +15 +3 +7 +11 +2 +4 +7 +6 +209 +6 +3 +2 +2 +24 +4 +9 +4 +3 +3 +3 +29 +2 +2 +4 +3 +3 +5 +4 +6 +3 +3 +2 +4 diff --git a/vendor/github.com/beorn7/perks/quantile/stream.go b/vendor/github.com/beorn7/perks/quantile/stream.go new file mode 100644 index 00000000..d7d14f8e --- /dev/null +++ b/vendor/github.com/beorn7/perks/quantile/stream.go @@ -0,0 +1,316 @@ +// Package quantile computes approximate quantiles over an unbounded data +// stream within low memory and CPU bounds. +// +// A small amount of accuracy is traded to achieve the above properties. +// +// Multiple streams can be merged before calling Query to generate a single set +// of results. This is meaningful when the streams represent the same type of +// data. See Merge and Samples. +// +// For more detailed information about the algorithm used, see: +// +// Effective Computation of Biased Quantiles over Data Streams +// +// http://www.cs.rutgers.edu/~muthu/bquant.pdf +package quantile + +import ( + "math" + "sort" +) + +// Sample holds an observed value and meta information for compression. JSON +// tags have been added for convenience. +type Sample struct { + Value float64 `json:",string"` + Width float64 `json:",string"` + Delta float64 `json:",string"` +} + +// Samples represents a slice of samples. It implements sort.Interface. +type Samples []Sample + +func (a Samples) Len() int { return len(a) } +func (a Samples) Less(i, j int) bool { return a[i].Value < a[j].Value } +func (a Samples) Swap(i, j int) { a[i], a[j] = a[j], a[i] } + +type invariant func(s *stream, r float64) float64 + +// NewLowBiased returns an initialized Stream for low-biased quantiles +// (e.g. 0.01, 0.1, 0.5) where the needed quantiles are not known a priori, but +// error guarantees can still be given even for the lower ranks of the data +// distribution. +// +// The provided epsilon is a relative error, i.e. the true quantile of a value +// returned by a query is guaranteed to be within (1±Epsilon)*Quantile. +// +// See http://www.cs.rutgers.edu/~muthu/bquant.pdf for time, space, and error +// properties. +func NewLowBiased(epsilon float64) *Stream { + ƒ := func(s *stream, r float64) float64 { + return 2 * epsilon * r + } + return newStream(ƒ) +} + +// NewHighBiased returns an initialized Stream for high-biased quantiles +// (e.g. 0.01, 0.1, 0.5) where the needed quantiles are not known a priori, but +// error guarantees can still be given even for the higher ranks of the data +// distribution. +// +// The provided epsilon is a relative error, i.e. the true quantile of a value +// returned by a query is guaranteed to be within 1-(1±Epsilon)*(1-Quantile). +// +// See http://www.cs.rutgers.edu/~muthu/bquant.pdf for time, space, and error +// properties. +func NewHighBiased(epsilon float64) *Stream { + ƒ := func(s *stream, r float64) float64 { + return 2 * epsilon * (s.n - r) + } + return newStream(ƒ) +} + +// NewTargeted returns an initialized Stream concerned with a particular set of +// quantile values that are supplied a priori. Knowing these a priori reduces +// space and computation time. The targets map maps the desired quantiles to +// their absolute errors, i.e. the true quantile of a value returned by a query +// is guaranteed to be within (Quantile±Epsilon). +// +// See http://www.cs.rutgers.edu/~muthu/bquant.pdf for time, space, and error properties. +func NewTargeted(targetMap map[float64]float64) *Stream { + // Convert map to slice to avoid slow iterations on a map. + // ƒ is called on the hot path, so converting the map to a slice + // beforehand results in significant CPU savings. + targets := targetMapToSlice(targetMap) + + ƒ := func(s *stream, r float64) float64 { + var m = math.MaxFloat64 + var f float64 + for _, t := range targets { + if t.quantile*s.n <= r { + f = (2 * t.epsilon * r) / t.quantile + } else { + f = (2 * t.epsilon * (s.n - r)) / (1 - t.quantile) + } + if f < m { + m = f + } + } + return m + } + return newStream(ƒ) +} + +type target struct { + quantile float64 + epsilon float64 +} + +func targetMapToSlice(targetMap map[float64]float64) []target { + targets := make([]target, 0, len(targetMap)) + + for quantile, epsilon := range targetMap { + t := target{ + quantile: quantile, + epsilon: epsilon, + } + targets = append(targets, t) + } + + return targets +} + +// Stream computes quantiles for a stream of float64s. It is not thread-safe by +// design. Take care when using across multiple goroutines. +type Stream struct { + *stream + b Samples + sorted bool +} + +func newStream(ƒ invariant) *Stream { + x := &stream{ƒ: ƒ} + return &Stream{x, make(Samples, 0, 500), true} +} + +// Insert inserts v into the stream. +func (s *Stream) Insert(v float64) { + s.insert(Sample{Value: v, Width: 1}) +} + +func (s *Stream) insert(sample Sample) { + s.b = append(s.b, sample) + s.sorted = false + if len(s.b) == cap(s.b) { + s.flush() + } +} + +// Query returns the computed qth percentiles value. If s was created with +// NewTargeted, and q is not in the set of quantiles provided a priori, Query +// will return an unspecified result. +func (s *Stream) Query(q float64) float64 { + if !s.flushed() { + // Fast path when there hasn't been enough data for a flush; + // this also yields better accuracy for small sets of data. + l := len(s.b) + if l == 0 { + return 0 + } + i := int(math.Ceil(float64(l) * q)) + if i > 0 { + i -= 1 + } + s.maybeSort() + return s.b[i].Value + } + s.flush() + return s.stream.query(q) +} + +// Merge merges samples into the underlying streams samples. This is handy when +// merging multiple streams from separate threads, database shards, etc. +// +// ATTENTION: This method is broken and does not yield correct results. The +// underlying algorithm is not capable of merging streams correctly. +func (s *Stream) Merge(samples Samples) { + sort.Sort(samples) + s.stream.merge(samples) +} + +// Reset reinitializes and clears the list reusing the samples buffer memory. +func (s *Stream) Reset() { + s.stream.reset() + s.b = s.b[:0] +} + +// Samples returns stream samples held by s. +func (s *Stream) Samples() Samples { + if !s.flushed() { + return s.b + } + s.flush() + return s.stream.samples() +} + +// Count returns the total number of samples observed in the stream +// since initialization. +func (s *Stream) Count() int { + return len(s.b) + s.stream.count() +} + +func (s *Stream) flush() { + s.maybeSort() + s.stream.merge(s.b) + s.b = s.b[:0] +} + +func (s *Stream) maybeSort() { + if !s.sorted { + s.sorted = true + sort.Sort(s.b) + } +} + +func (s *Stream) flushed() bool { + return len(s.stream.l) > 0 +} + +type stream struct { + n float64 + l []Sample + ƒ invariant +} + +func (s *stream) reset() { + s.l = s.l[:0] + s.n = 0 +} + +func (s *stream) insert(v float64) { + s.merge(Samples{{v, 1, 0}}) +} + +func (s *stream) merge(samples Samples) { + // TODO(beorn7): This tries to merge not only individual samples, but + // whole summaries. The paper doesn't mention merging summaries at + // all. Unittests show that the merging is inaccurate. Find out how to + // do merges properly. + var r float64 + i := 0 + for _, sample := range samples { + for ; i < len(s.l); i++ { + c := s.l[i] + if c.Value > sample.Value { + // Insert at position i. + s.l = append(s.l, Sample{}) + copy(s.l[i+1:], s.l[i:]) + s.l[i] = Sample{ + sample.Value, + sample.Width, + math.Max(sample.Delta, math.Floor(s.ƒ(s, r))-1), + // TODO(beorn7): How to calculate delta correctly? + } + i++ + goto inserted + } + r += c.Width + } + s.l = append(s.l, Sample{sample.Value, sample.Width, 0}) + i++ + inserted: + s.n += sample.Width + r += sample.Width + } + s.compress() +} + +func (s *stream) count() int { + return int(s.n) +} + +func (s *stream) query(q float64) float64 { + t := math.Ceil(q * s.n) + t += math.Ceil(s.ƒ(s, t) / 2) + p := s.l[0] + var r float64 + for _, c := range s.l[1:] { + r += p.Width + if r+c.Width+c.Delta > t { + return p.Value + } + p = c + } + return p.Value +} + +func (s *stream) compress() { + if len(s.l) < 2 { + return + } + x := s.l[len(s.l)-1] + xi := len(s.l) - 1 + r := s.n - 1 - x.Width + + for i := len(s.l) - 2; i >= 0; i-- { + c := s.l[i] + if c.Width+x.Width+x.Delta <= s.ƒ(s, r) { + x.Width += c.Width + s.l[xi] = x + // Remove element at i. + copy(s.l[i:], s.l[i+1:]) + s.l = s.l[:len(s.l)-1] + xi -= 1 + } else { + x = c + xi = i + } + r -= c.Width + } +} + +func (s *stream) samples() Samples { + samples := make(Samples, len(s.l)) + copy(samples, s.l) + return samples +} diff --git a/vendor/github.com/blang/semver/.travis.yml b/vendor/github.com/blang/semver/.travis.yml new file mode 100644 index 00000000..7319bdea --- /dev/null +++ b/vendor/github.com/blang/semver/.travis.yml @@ -0,0 +1,25 @@ +language: go +matrix: + include: + - go: 1.4.x + - go: 1.5.x + - go: 1.6.x + - go: 1.7.x + - go: 1.8.x + - go: 1.9.x + - go: 1.10.x + - go: 1.11.x + - go: tip + allow_failures: + - go: tip +install: +- go get golang.org/x/tools/cmd/cover +- go get github.com/mattn/goveralls +script: +- echo "Test and track coverage" ; $HOME/gopath/bin/goveralls -package "." -service=travis-ci + -repotoken=$COVERALLS_TOKEN +- echo "Build examples" ; cd examples && go build +- echo "Check if gofmt'd" ; diff -u <(echo -n) <(gofmt -d -s .) +env: + global: + secure: HroGEAUQpVq9zX1b1VIkraLiywhGbzvNnTZq2TMxgK7JHP8xqNplAeF1izrR2i4QLL9nsY+9WtYss4QuPvEtZcVHUobw6XnL6radF7jS1LgfYZ9Y7oF+zogZ2I5QUMRLGA7rcxQ05s7mKq3XZQfeqaNts4bms/eZRefWuaFZbkw= diff --git a/vendor/github.com/blang/semver/LICENSE b/vendor/github.com/blang/semver/LICENSE new file mode 100644 index 00000000..5ba5c86f --- /dev/null +++ b/vendor/github.com/blang/semver/LICENSE @@ -0,0 +1,22 @@ +The MIT License + +Copyright (c) 2014 Benedikt Lang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/vendor/github.com/blang/semver/README.md b/vendor/github.com/blang/semver/README.md new file mode 100644 index 00000000..e05f9865 --- /dev/null +++ b/vendor/github.com/blang/semver/README.md @@ -0,0 +1,194 @@ +semver for golang [![Build Status](https://travis-ci.org/blang/semver.svg?branch=master)](https://travis-ci.org/blang/semver) [![GoDoc](https://godoc.org/github.com/blang/semver?status.svg)](https://godoc.org/github.com/blang/semver) [![Coverage Status](https://img.shields.io/coveralls/blang/semver.svg)](https://coveralls.io/r/blang/semver?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/blang/semver)](https://goreportcard.com/report/github.com/blang/semver) +====== + +semver is a [Semantic Versioning](http://semver.org/) library written in golang. It fully covers spec version `2.0.0`. + +Usage +----- +```bash +$ go get github.com/blang/semver +``` +Note: Always vendor your dependencies or fix on a specific version tag. + +```go +import github.com/blang/semver +v1, err := semver.Make("1.0.0-beta") +v2, err := semver.Make("2.0.0-beta") +v1.Compare(v2) +``` + +Also check the [GoDocs](http://godoc.org/github.com/blang/semver). + +Why should I use this lib? +----- + +- Fully spec compatible +- No reflection +- No regex +- Fully tested (Coverage >99%) +- Readable parsing/validation errors +- Fast (See [Benchmarks](#benchmarks)) +- Only Stdlib +- Uses values instead of pointers +- Many features, see below + + +Features +----- + +- Parsing and validation at all levels +- Comparator-like comparisons +- Compare Helper Methods +- InPlace manipulation +- Ranges `>=1.0.0 <2.0.0 || >=3.0.0 !3.0.1-beta.1` +- Wildcards `>=1.x`, `<=2.5.x` +- Sortable (implements sort.Interface) +- database/sql compatible (sql.Scanner/Valuer) +- encoding/json compatible (json.Marshaler/Unmarshaler) + +Ranges +------ + +A `Range` is a set of conditions which specify which versions satisfy the range. + +A condition is composed of an operator and a version. The supported operators are: + +- `<1.0.0` Less than `1.0.0` +- `<=1.0.0` Less than or equal to `1.0.0` +- `>1.0.0` Greater than `1.0.0` +- `>=1.0.0` Greater than or equal to `1.0.0` +- `1.0.0`, `=1.0.0`, `==1.0.0` Equal to `1.0.0` +- `!1.0.0`, `!=1.0.0` Not equal to `1.0.0`. Excludes version `1.0.0`. + +Note that spaces between the operator and the version will be gracefully tolerated. + +A `Range` can link multiple `Ranges` separated by space: + +Ranges can be linked by logical AND: + + - `>1.0.0 <2.0.0` would match between both ranges, so `1.1.1` and `1.8.7` but not `1.0.0` or `2.0.0` + - `>1.0.0 <3.0.0 !2.0.3-beta.2` would match every version between `1.0.0` and `3.0.0` except `2.0.3-beta.2` + +Ranges can also be linked by logical OR: + + - `<2.0.0 || >=3.0.0` would match `1.x.x` and `3.x.x` but not `2.x.x` + +AND has a higher precedence than OR. It's not possible to use brackets. + +Ranges can be combined by both AND and OR + + - `>1.0.0 <2.0.0 || >3.0.0 !4.2.1` would match `1.2.3`, `1.9.9`, `3.1.1`, but not `4.2.1`, `2.1.1` + +Range usage: + +``` +v, err := semver.Parse("1.2.3") +expectedRange, err := semver.ParseRange(">1.0.0 <2.0.0 || >=3.0.0") +if expectedRange(v) { + //valid +} + +``` + +Example +----- + +Have a look at full examples in [examples/main.go](examples/main.go) + +```go +import github.com/blang/semver + +v, err := semver.Make("0.0.1-alpha.preview+123.github") +fmt.Printf("Major: %d\n", v.Major) +fmt.Printf("Minor: %d\n", v.Minor) +fmt.Printf("Patch: %d\n", v.Patch) +fmt.Printf("Pre: %s\n", v.Pre) +fmt.Printf("Build: %s\n", v.Build) + +// Prerelease versions array +if len(v.Pre) > 0 { + fmt.Println("Prerelease versions:") + for i, pre := range v.Pre { + fmt.Printf("%d: %q\n", i, pre) + } +} + +// Build meta data array +if len(v.Build) > 0 { + fmt.Println("Build meta data:") + for i, build := range v.Build { + fmt.Printf("%d: %q\n", i, build) + } +} + +v001, err := semver.Make("0.0.1") +// Compare using helpers: v.GT(v2), v.LT, v.GTE, v.LTE +v001.GT(v) == true +v.LT(v001) == true +v.GTE(v) == true +v.LTE(v) == true + +// Or use v.Compare(v2) for comparisons (-1, 0, 1): +v001.Compare(v) == 1 +v.Compare(v001) == -1 +v.Compare(v) == 0 + +// Manipulate Version in place: +v.Pre[0], err = semver.NewPRVersion("beta") +if err != nil { + fmt.Printf("Error parsing pre release version: %q", err) +} + +fmt.Println("\nValidate versions:") +v.Build[0] = "?" + +err = v.Validate() +if err != nil { + fmt.Printf("Validation failed: %s\n", err) +} +``` + + +Benchmarks +----- + + BenchmarkParseSimple-4 5000000 390 ns/op 48 B/op 1 allocs/op + BenchmarkParseComplex-4 1000000 1813 ns/op 256 B/op 7 allocs/op + BenchmarkParseAverage-4 1000000 1171 ns/op 163 B/op 4 allocs/op + BenchmarkStringSimple-4 20000000 119 ns/op 16 B/op 1 allocs/op + BenchmarkStringLarger-4 10000000 206 ns/op 32 B/op 2 allocs/op + BenchmarkStringComplex-4 5000000 324 ns/op 80 B/op 3 allocs/op + BenchmarkStringAverage-4 5000000 273 ns/op 53 B/op 2 allocs/op + BenchmarkValidateSimple-4 200000000 9.33 ns/op 0 B/op 0 allocs/op + BenchmarkValidateComplex-4 3000000 469 ns/op 0 B/op 0 allocs/op + BenchmarkValidateAverage-4 5000000 256 ns/op 0 B/op 0 allocs/op + BenchmarkCompareSimple-4 100000000 11.8 ns/op 0 B/op 0 allocs/op + BenchmarkCompareComplex-4 50000000 30.8 ns/op 0 B/op 0 allocs/op + BenchmarkCompareAverage-4 30000000 41.5 ns/op 0 B/op 0 allocs/op + BenchmarkSort-4 3000000 419 ns/op 256 B/op 2 allocs/op + BenchmarkRangeParseSimple-4 2000000 850 ns/op 192 B/op 5 allocs/op + BenchmarkRangeParseAverage-4 1000000 1677 ns/op 400 B/op 10 allocs/op + BenchmarkRangeParseComplex-4 300000 5214 ns/op 1440 B/op 30 allocs/op + BenchmarkRangeMatchSimple-4 50000000 25.6 ns/op 0 B/op 0 allocs/op + BenchmarkRangeMatchAverage-4 30000000 56.4 ns/op 0 B/op 0 allocs/op + BenchmarkRangeMatchComplex-4 10000000 153 ns/op 0 B/op 0 allocs/op + +See benchmark cases at [semver_test.go](semver_test.go) + + +Motivation +----- + +I simply couldn't find any lib supporting the full spec. Others were just wrong or used reflection and regex which i don't like. + + +Contribution +----- + +Feel free to make a pull request. For bigger changes create a issue first to discuss about it. + + +License +----- + +See [LICENSE](LICENSE) file. diff --git a/vendor/github.com/blang/semver/go.mod b/vendor/github.com/blang/semver/go.mod new file mode 100644 index 00000000..d0083058 --- /dev/null +++ b/vendor/github.com/blang/semver/go.mod @@ -0,0 +1 @@ +module github.com/blang/semver diff --git a/vendor/github.com/blang/semver/json.go b/vendor/github.com/blang/semver/json.go new file mode 100644 index 00000000..a74bf7c4 --- /dev/null +++ b/vendor/github.com/blang/semver/json.go @@ -0,0 +1,23 @@ +package semver + +import ( + "encoding/json" +) + +// MarshalJSON implements the encoding/json.Marshaler interface. +func (v Version) MarshalJSON() ([]byte, error) { + return json.Marshal(v.String()) +} + +// UnmarshalJSON implements the encoding/json.Unmarshaler interface. +func (v *Version) UnmarshalJSON(data []byte) (err error) { + var versionString string + + if err = json.Unmarshal(data, &versionString); err != nil { + return + } + + *v, err = Parse(versionString) + + return +} diff --git a/vendor/github.com/blang/semver/package.json b/vendor/github.com/blang/semver/package.json new file mode 100644 index 00000000..1cf8ebdd --- /dev/null +++ b/vendor/github.com/blang/semver/package.json @@ -0,0 +1,17 @@ +{ + "author": "blang", + "bugs": { + "URL": "https://github.com/blang/semver/issues", + "url": "https://github.com/blang/semver/issues" + }, + "gx": { + "dvcsimport": "github.com/blang/semver" + }, + "gxVersion": "0.10.0", + "language": "go", + "license": "MIT", + "name": "semver", + "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", + "version": "3.5.1" +} + diff --git a/vendor/github.com/blang/semver/range.go b/vendor/github.com/blang/semver/range.go new file mode 100644 index 00000000..95f7139b --- /dev/null +++ b/vendor/github.com/blang/semver/range.go @@ -0,0 +1,416 @@ +package semver + +import ( + "fmt" + "strconv" + "strings" + "unicode" +) + +type wildcardType int + +const ( + noneWildcard wildcardType = iota + majorWildcard wildcardType = 1 + minorWildcard wildcardType = 2 + patchWildcard wildcardType = 3 +) + +func wildcardTypefromInt(i int) wildcardType { + switch i { + case 1: + return majorWildcard + case 2: + return minorWildcard + case 3: + return patchWildcard + default: + return noneWildcard + } +} + +type comparator func(Version, Version) bool + +var ( + compEQ comparator = func(v1 Version, v2 Version) bool { + return v1.Compare(v2) == 0 + } + compNE = func(v1 Version, v2 Version) bool { + return v1.Compare(v2) != 0 + } + compGT = func(v1 Version, v2 Version) bool { + return v1.Compare(v2) == 1 + } + compGE = func(v1 Version, v2 Version) bool { + return v1.Compare(v2) >= 0 + } + compLT = func(v1 Version, v2 Version) bool { + return v1.Compare(v2) == -1 + } + compLE = func(v1 Version, v2 Version) bool { + return v1.Compare(v2) <= 0 + } +) + +type versionRange struct { + v Version + c comparator +} + +// rangeFunc creates a Range from the given versionRange. +func (vr *versionRange) rangeFunc() Range { + return Range(func(v Version) bool { + return vr.c(v, vr.v) + }) +} + +// Range represents a range of versions. +// A Range can be used to check if a Version satisfies it: +// +// range, err := semver.ParseRange(">1.0.0 <2.0.0") +// range(semver.MustParse("1.1.1") // returns true +type Range func(Version) bool + +// OR combines the existing Range with another Range using logical OR. +func (rf Range) OR(f Range) Range { + return Range(func(v Version) bool { + return rf(v) || f(v) + }) +} + +// AND combines the existing Range with another Range using logical AND. +func (rf Range) AND(f Range) Range { + return Range(func(v Version) bool { + return rf(v) && f(v) + }) +} + +// ParseRange parses a range and returns a Range. +// If the range could not be parsed an error is returned. +// +// Valid ranges are: +// - "<1.0.0" +// - "<=1.0.0" +// - ">1.0.0" +// - ">=1.0.0" +// - "1.0.0", "=1.0.0", "==1.0.0" +// - "!1.0.0", "!=1.0.0" +// +// A Range can consist of multiple ranges separated by space: +// Ranges can be linked by logical AND: +// - ">1.0.0 <2.0.0" would match between both ranges, so "1.1.1" and "1.8.7" but not "1.0.0" or "2.0.0" +// - ">1.0.0 <3.0.0 !2.0.3-beta.2" would match every version between 1.0.0 and 3.0.0 except 2.0.3-beta.2 +// +// Ranges can also be linked by logical OR: +// - "<2.0.0 || >=3.0.0" would match "1.x.x" and "3.x.x" but not "2.x.x" +// +// AND has a higher precedence than OR. It's not possible to use brackets. +// +// Ranges can be combined by both AND and OR +// +// - `>1.0.0 <2.0.0 || >3.0.0 !4.2.1` would match `1.2.3`, `1.9.9`, `3.1.1`, but not `4.2.1`, `2.1.1` +func ParseRange(s string) (Range, error) { + parts := splitAndTrim(s) + orParts, err := splitORParts(parts) + if err != nil { + return nil, err + } + expandedParts, err := expandWildcardVersion(orParts) + if err != nil { + return nil, err + } + var orFn Range + for _, p := range expandedParts { + var andFn Range + for _, ap := range p { + opStr, vStr, err := splitComparatorVersion(ap) + if err != nil { + return nil, err + } + vr, err := buildVersionRange(opStr, vStr) + if err != nil { + return nil, fmt.Errorf("Could not parse Range %q: %s", ap, err) + } + rf := vr.rangeFunc() + + // Set function + if andFn == nil { + andFn = rf + } else { // Combine with existing function + andFn = andFn.AND(rf) + } + } + if orFn == nil { + orFn = andFn + } else { + orFn = orFn.OR(andFn) + } + + } + return orFn, nil +} + +// splitORParts splits the already cleaned parts by '||'. +// Checks for invalid positions of the operator and returns an +// error if found. +func splitORParts(parts []string) ([][]string, error) { + var ORparts [][]string + last := 0 + for i, p := range parts { + if p == "||" { + if i == 0 { + return nil, fmt.Errorf("First element in range is '||'") + } + ORparts = append(ORparts, parts[last:i]) + last = i + 1 + } + } + if last == len(parts) { + return nil, fmt.Errorf("Last element in range is '||'") + } + ORparts = append(ORparts, parts[last:]) + return ORparts, nil +} + +// buildVersionRange takes a slice of 2: operator and version +// and builds a versionRange, otherwise an error. +func buildVersionRange(opStr, vStr string) (*versionRange, error) { + c := parseComparator(opStr) + if c == nil { + return nil, fmt.Errorf("Could not parse comparator %q in %q", opStr, strings.Join([]string{opStr, vStr}, "")) + } + v, err := Parse(vStr) + if err != nil { + return nil, fmt.Errorf("Could not parse version %q in %q: %s", vStr, strings.Join([]string{opStr, vStr}, ""), err) + } + + return &versionRange{ + v: v, + c: c, + }, nil + +} + +// inArray checks if a byte is contained in an array of bytes +func inArray(s byte, list []byte) bool { + for _, el := range list { + if el == s { + return true + } + } + return false +} + +// splitAndTrim splits a range string by spaces and cleans whitespaces +func splitAndTrim(s string) (result []string) { + last := 0 + var lastChar byte + excludeFromSplit := []byte{'>', '<', '='} + for i := 0; i < len(s); i++ { + if s[i] == ' ' && !inArray(lastChar, excludeFromSplit) { + if last < i-1 { + result = append(result, s[last:i]) + } + last = i + 1 + } else if s[i] != ' ' { + lastChar = s[i] + } + } + if last < len(s)-1 { + result = append(result, s[last:]) + } + + for i, v := range result { + result[i] = strings.Replace(v, " ", "", -1) + } + + // parts := strings.Split(s, " ") + // for _, x := range parts { + // if s := strings.TrimSpace(x); len(s) != 0 { + // result = append(result, s) + // } + // } + return +} + +// splitComparatorVersion splits the comparator from the version. +// Input must be free of leading or trailing spaces. +func splitComparatorVersion(s string) (string, string, error) { + i := strings.IndexFunc(s, unicode.IsDigit) + if i == -1 { + return "", "", fmt.Errorf("Could not get version from string: %q", s) + } + return strings.TrimSpace(s[0:i]), s[i:], nil +} + +// getWildcardType will return the type of wildcard that the +// passed version contains +func getWildcardType(vStr string) wildcardType { + parts := strings.Split(vStr, ".") + nparts := len(parts) + wildcard := parts[nparts-1] + + possibleWildcardType := wildcardTypefromInt(nparts) + if wildcard == "x" { + return possibleWildcardType + } + + return noneWildcard +} + +// createVersionFromWildcard will convert a wildcard version +// into a regular version, replacing 'x's with '0's, handling +// special cases like '1.x.x' and '1.x' +func createVersionFromWildcard(vStr string) string { + // handle 1.x.x + vStr2 := strings.Replace(vStr, ".x.x", ".x", 1) + vStr2 = strings.Replace(vStr2, ".x", ".0", 1) + parts := strings.Split(vStr2, ".") + + // handle 1.x + if len(parts) == 2 { + return vStr2 + ".0" + } + + return vStr2 +} + +// incrementMajorVersion will increment the major version +// of the passed version +func incrementMajorVersion(vStr string) (string, error) { + parts := strings.Split(vStr, ".") + i, err := strconv.Atoi(parts[0]) + if err != nil { + return "", err + } + parts[0] = strconv.Itoa(i + 1) + + return strings.Join(parts, "."), nil +} + +// incrementMajorVersion will increment the minor version +// of the passed version +func incrementMinorVersion(vStr string) (string, error) { + parts := strings.Split(vStr, ".") + i, err := strconv.Atoi(parts[1]) + if err != nil { + return "", err + } + parts[1] = strconv.Itoa(i + 1) + + return strings.Join(parts, "."), nil +} + +// expandWildcardVersion will expand wildcards inside versions +// following these rules: +// +// * when dealing with patch wildcards: +// >= 1.2.x will become >= 1.2.0 +// <= 1.2.x will become < 1.3.0 +// > 1.2.x will become >= 1.3.0 +// < 1.2.x will become < 1.2.0 +// != 1.2.x will become < 1.2.0 >= 1.3.0 +// +// * when dealing with minor wildcards: +// >= 1.x will become >= 1.0.0 +// <= 1.x will become < 2.0.0 +// > 1.x will become >= 2.0.0 +// < 1.0 will become < 1.0.0 +// != 1.x will become < 1.0.0 >= 2.0.0 +// +// * when dealing with wildcards without +// version operator: +// 1.2.x will become >= 1.2.0 < 1.3.0 +// 1.x will become >= 1.0.0 < 2.0.0 +func expandWildcardVersion(parts [][]string) ([][]string, error) { + var expandedParts [][]string + for _, p := range parts { + var newParts []string + for _, ap := range p { + if strings.Contains(ap, "x") { + opStr, vStr, err := splitComparatorVersion(ap) + if err != nil { + return nil, err + } + + versionWildcardType := getWildcardType(vStr) + flatVersion := createVersionFromWildcard(vStr) + + var resultOperator string + var shouldIncrementVersion bool + switch opStr { + case ">": + resultOperator = ">=" + shouldIncrementVersion = true + case ">=": + resultOperator = ">=" + case "<": + resultOperator = "<" + case "<=": + resultOperator = "<" + shouldIncrementVersion = true + case "", "=", "==": + newParts = append(newParts, ">="+flatVersion) + resultOperator = "<" + shouldIncrementVersion = true + case "!=", "!": + newParts = append(newParts, "<"+flatVersion) + resultOperator = ">=" + shouldIncrementVersion = true + } + + var resultVersion string + if shouldIncrementVersion { + switch versionWildcardType { + case patchWildcard: + resultVersion, _ = incrementMinorVersion(flatVersion) + case minorWildcard: + resultVersion, _ = incrementMajorVersion(flatVersion) + } + } else { + resultVersion = flatVersion + } + + ap = resultOperator + resultVersion + } + newParts = append(newParts, ap) + } + expandedParts = append(expandedParts, newParts) + } + + return expandedParts, nil +} + +func parseComparator(s string) comparator { + switch s { + case "==": + fallthrough + case "": + fallthrough + case "=": + return compEQ + case ">": + return compGT + case ">=": + return compGE + case "<": + return compLT + case "<=": + return compLE + case "!": + fallthrough + case "!=": + return compNE + } + + return nil +} + +// MustParseRange is like ParseRange but panics if the range cannot be parsed. +func MustParseRange(s string) Range { + r, err := ParseRange(s) + if err != nil { + panic(`semver: ParseRange(` + s + `): ` + err.Error()) + } + return r +} diff --git a/vendor/github.com/blang/semver/semver.go b/vendor/github.com/blang/semver/semver.go new file mode 100644 index 00000000..4165bc79 --- /dev/null +++ b/vendor/github.com/blang/semver/semver.go @@ -0,0 +1,455 @@ +package semver + +import ( + "errors" + "fmt" + "strconv" + "strings" +) + +const ( + numbers string = "0123456789" + alphas = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-" + alphanum = alphas + numbers +) + +// SpecVersion is the latest fully supported spec version of semver +var SpecVersion = Version{ + Major: 2, + Minor: 0, + Patch: 0, +} + +// Version represents a semver compatible version +type Version struct { + Major uint64 + Minor uint64 + Patch uint64 + Pre []PRVersion + Build []string //No Precedence +} + +// Version to string +func (v Version) String() string { + b := make([]byte, 0, 5) + b = strconv.AppendUint(b, v.Major, 10) + b = append(b, '.') + b = strconv.AppendUint(b, v.Minor, 10) + b = append(b, '.') + b = strconv.AppendUint(b, v.Patch, 10) + + if len(v.Pre) > 0 { + b = append(b, '-') + b = append(b, v.Pre[0].String()...) + + for _, pre := range v.Pre[1:] { + b = append(b, '.') + b = append(b, pre.String()...) + } + } + + if len(v.Build) > 0 { + b = append(b, '+') + b = append(b, v.Build[0]...) + + for _, build := range v.Build[1:] { + b = append(b, '.') + b = append(b, build...) + } + } + + return string(b) +} + +// Equals checks if v is equal to o. +func (v Version) Equals(o Version) bool { + return (v.Compare(o) == 0) +} + +// EQ checks if v is equal to o. +func (v Version) EQ(o Version) bool { + return (v.Compare(o) == 0) +} + +// NE checks if v is not equal to o. +func (v Version) NE(o Version) bool { + return (v.Compare(o) != 0) +} + +// GT checks if v is greater than o. +func (v Version) GT(o Version) bool { + return (v.Compare(o) == 1) +} + +// GTE checks if v is greater than or equal to o. +func (v Version) GTE(o Version) bool { + return (v.Compare(o) >= 0) +} + +// GE checks if v is greater than or equal to o. +func (v Version) GE(o Version) bool { + return (v.Compare(o) >= 0) +} + +// LT checks if v is less than o. +func (v Version) LT(o Version) bool { + return (v.Compare(o) == -1) +} + +// LTE checks if v is less than or equal to o. +func (v Version) LTE(o Version) bool { + return (v.Compare(o) <= 0) +} + +// LE checks if v is less than or equal to o. +func (v Version) LE(o Version) bool { + return (v.Compare(o) <= 0) +} + +// Compare compares Versions v to o: +// -1 == v is less than o +// 0 == v is equal to o +// 1 == v is greater than o +func (v Version) Compare(o Version) int { + if v.Major != o.Major { + if v.Major > o.Major { + return 1 + } + return -1 + } + if v.Minor != o.Minor { + if v.Minor > o.Minor { + return 1 + } + return -1 + } + if v.Patch != o.Patch { + if v.Patch > o.Patch { + return 1 + } + return -1 + } + + // Quick comparison if a version has no prerelease versions + if len(v.Pre) == 0 && len(o.Pre) == 0 { + return 0 + } else if len(v.Pre) == 0 && len(o.Pre) > 0 { + return 1 + } else if len(v.Pre) > 0 && len(o.Pre) == 0 { + return -1 + } + + i := 0 + for ; i < len(v.Pre) && i < len(o.Pre); i++ { + if comp := v.Pre[i].Compare(o.Pre[i]); comp == 0 { + continue + } else if comp == 1 { + return 1 + } else { + return -1 + } + } + + // If all pr versions are the equal but one has further prversion, this one greater + if i == len(v.Pre) && i == len(o.Pre) { + return 0 + } else if i == len(v.Pre) && i < len(o.Pre) { + return -1 + } else { + return 1 + } + +} + +// IncrementPatch increments the patch version +func (v *Version) IncrementPatch() error { + if v.Major == 0 { + return fmt.Errorf("Patch version can not be incremented for %q", v.String()) + } + v.Patch += 1 + return nil +} + +// IncrementMinor increments the minor version +func (v *Version) IncrementMinor() error { + if v.Major == 0 { + return fmt.Errorf("Minor version can not be incremented for %q", v.String()) + } + v.Minor += 1 + v.Patch = 0 + return nil +} + +// IncrementMajor increments the major version +func (v *Version) IncrementMajor() error { + if v.Major == 0 { + return fmt.Errorf("Major version can not be incremented for %q", v.String()) + } + v.Major += 1 + v.Minor = 0 + v.Patch = 0 + return nil +} + +// Validate validates v and returns error in case +func (v Version) Validate() error { + // Major, Minor, Patch already validated using uint64 + + for _, pre := range v.Pre { + if !pre.IsNum { //Numeric prerelease versions already uint64 + if len(pre.VersionStr) == 0 { + return fmt.Errorf("Prerelease can not be empty %q", pre.VersionStr) + } + if !containsOnly(pre.VersionStr, alphanum) { + return fmt.Errorf("Invalid character(s) found in prerelease %q", pre.VersionStr) + } + } + } + + for _, build := range v.Build { + if len(build) == 0 { + return fmt.Errorf("Build meta data can not be empty %q", build) + } + if !containsOnly(build, alphanum) { + return fmt.Errorf("Invalid character(s) found in build meta data %q", build) + } + } + + return nil +} + +// New is an alias for Parse and returns a pointer, parses version string and returns a validated Version or error +func New(s string) (vp *Version, err error) { + v, err := Parse(s) + vp = &v + return +} + +// Make is an alias for Parse, parses version string and returns a validated Version or error +func Make(s string) (Version, error) { + return Parse(s) +} + +// ParseTolerant allows for certain version specifications that do not strictly adhere to semver +// specs to be parsed by this library. It does so by normalizing versions before passing them to +// Parse(). It currently trims spaces, removes a "v" prefix, adds a 0 patch number to versions +// with only major and minor components specified, and removes leading 0s. +func ParseTolerant(s string) (Version, error) { + s = strings.TrimSpace(s) + s = strings.TrimPrefix(s, "v") + + // Split into major.minor.(patch+pr+meta) + parts := strings.SplitN(s, ".", 3) + // Remove leading zeros. + for i, p := range parts { + if len(p) > 1 { + parts[i] = strings.TrimPrefix(p, "0") + } + } + // Fill up shortened versions. + if len(parts) < 3 { + if strings.ContainsAny(parts[len(parts)-1], "+-") { + return Version{}, errors.New("Short version cannot contain PreRelease/Build meta data") + } + for len(parts) < 3 { + parts = append(parts, "0") + } + } + s = strings.Join(parts, ".") + + return Parse(s) +} + +// Parse parses version string and returns a validated Version or error +func Parse(s string) (Version, error) { + if len(s) == 0 { + return Version{}, errors.New("Version string empty") + } + + // Split into major.minor.(patch+pr+meta) + parts := strings.SplitN(s, ".", 3) + if len(parts) != 3 { + return Version{}, errors.New("No Major.Minor.Patch elements found") + } + + // Major + if !containsOnly(parts[0], numbers) { + return Version{}, fmt.Errorf("Invalid character(s) found in major number %q", parts[0]) + } + if hasLeadingZeroes(parts[0]) { + return Version{}, fmt.Errorf("Major number must not contain leading zeroes %q", parts[0]) + } + major, err := strconv.ParseUint(parts[0], 10, 64) + if err != nil { + return Version{}, err + } + + // Minor + if !containsOnly(parts[1], numbers) { + return Version{}, fmt.Errorf("Invalid character(s) found in minor number %q", parts[1]) + } + if hasLeadingZeroes(parts[1]) { + return Version{}, fmt.Errorf("Minor number must not contain leading zeroes %q", parts[1]) + } + minor, err := strconv.ParseUint(parts[1], 10, 64) + if err != nil { + return Version{}, err + } + + v := Version{} + v.Major = major + v.Minor = minor + + var build, prerelease []string + patchStr := parts[2] + + if buildIndex := strings.IndexRune(patchStr, '+'); buildIndex != -1 { + build = strings.Split(patchStr[buildIndex+1:], ".") + patchStr = patchStr[:buildIndex] + } + + if preIndex := strings.IndexRune(patchStr, '-'); preIndex != -1 { + prerelease = strings.Split(patchStr[preIndex+1:], ".") + patchStr = patchStr[:preIndex] + } + + if !containsOnly(patchStr, numbers) { + return Version{}, fmt.Errorf("Invalid character(s) found in patch number %q", patchStr) + } + if hasLeadingZeroes(patchStr) { + return Version{}, fmt.Errorf("Patch number must not contain leading zeroes %q", patchStr) + } + patch, err := strconv.ParseUint(patchStr, 10, 64) + if err != nil { + return Version{}, err + } + + v.Patch = patch + + // Prerelease + for _, prstr := range prerelease { + parsedPR, err := NewPRVersion(prstr) + if err != nil { + return Version{}, err + } + v.Pre = append(v.Pre, parsedPR) + } + + // Build meta data + for _, str := range build { + if len(str) == 0 { + return Version{}, errors.New("Build meta data is empty") + } + if !containsOnly(str, alphanum) { + return Version{}, fmt.Errorf("Invalid character(s) found in build meta data %q", str) + } + v.Build = append(v.Build, str) + } + + return v, nil +} + +// MustParse is like Parse but panics if the version cannot be parsed. +func MustParse(s string) Version { + v, err := Parse(s) + if err != nil { + panic(`semver: Parse(` + s + `): ` + err.Error()) + } + return v +} + +// PRVersion represents a PreRelease Version +type PRVersion struct { + VersionStr string + VersionNum uint64 + IsNum bool +} + +// NewPRVersion creates a new valid prerelease version +func NewPRVersion(s string) (PRVersion, error) { + if len(s) == 0 { + return PRVersion{}, errors.New("Prerelease is empty") + } + v := PRVersion{} + if containsOnly(s, numbers) { + if hasLeadingZeroes(s) { + return PRVersion{}, fmt.Errorf("Numeric PreRelease version must not contain leading zeroes %q", s) + } + num, err := strconv.ParseUint(s, 10, 64) + + // Might never be hit, but just in case + if err != nil { + return PRVersion{}, err + } + v.VersionNum = num + v.IsNum = true + } else if containsOnly(s, alphanum) { + v.VersionStr = s + v.IsNum = false + } else { + return PRVersion{}, fmt.Errorf("Invalid character(s) found in prerelease %q", s) + } + return v, nil +} + +// IsNumeric checks if prerelease-version is numeric +func (v PRVersion) IsNumeric() bool { + return v.IsNum +} + +// Compare compares two PreRelease Versions v and o: +// -1 == v is less than o +// 0 == v is equal to o +// 1 == v is greater than o +func (v PRVersion) Compare(o PRVersion) int { + if v.IsNum && !o.IsNum { + return -1 + } else if !v.IsNum && o.IsNum { + return 1 + } else if v.IsNum && o.IsNum { + if v.VersionNum == o.VersionNum { + return 0 + } else if v.VersionNum > o.VersionNum { + return 1 + } else { + return -1 + } + } else { // both are Alphas + if v.VersionStr == o.VersionStr { + return 0 + } else if v.VersionStr > o.VersionStr { + return 1 + } else { + return -1 + } + } +} + +// PreRelease version to string +func (v PRVersion) String() string { + if v.IsNum { + return strconv.FormatUint(v.VersionNum, 10) + } + return v.VersionStr +} + +func containsOnly(s string, set string) bool { + return strings.IndexFunc(s, func(r rune) bool { + return !strings.ContainsRune(set, r) + }) == -1 +} + +func hasLeadingZeroes(s string) bool { + return len(s) > 1 && s[0] == '0' +} + +// NewBuildVersion creates a new valid build version +func NewBuildVersion(s string) (string, error) { + if len(s) == 0 { + return "", errors.New("Buildversion is empty") + } + if !containsOnly(s, alphanum) { + return "", fmt.Errorf("Invalid character(s) found in build meta data %q", s) + } + return s, nil +} diff --git a/vendor/github.com/blang/semver/sort.go b/vendor/github.com/blang/semver/sort.go new file mode 100644 index 00000000..e18f8808 --- /dev/null +++ b/vendor/github.com/blang/semver/sort.go @@ -0,0 +1,28 @@ +package semver + +import ( + "sort" +) + +// Versions represents multiple versions. +type Versions []Version + +// Len returns length of version collection +func (s Versions) Len() int { + return len(s) +} + +// Swap swaps two versions inside the collection by its indices +func (s Versions) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +// Less checks if version at index i is less than version at index j +func (s Versions) Less(i, j int) bool { + return s[i].LT(s[j]) +} + +// Sort sorts a slice of versions +func Sort(versions []Version) { + sort.Sort(Versions(versions)) +} diff --git a/vendor/github.com/blang/semver/sql.go b/vendor/github.com/blang/semver/sql.go new file mode 100644 index 00000000..db958134 --- /dev/null +++ b/vendor/github.com/blang/semver/sql.go @@ -0,0 +1,30 @@ +package semver + +import ( + "database/sql/driver" + "fmt" +) + +// Scan implements the database/sql.Scanner interface. +func (v *Version) Scan(src interface{}) (err error) { + var str string + switch src := src.(type) { + case string: + str = src + case []byte: + str = string(src) + default: + return fmt.Errorf("version.Scan: cannot convert %T to string", src) + } + + if t, err := Parse(str); err == nil { + *v = t + } + + return +} + +// Value implements the database/sql/driver.Valuer interface. +func (v Version) Value() (driver.Value, error) { + return v.String(), nil +} diff --git a/vendor/github.com/boltdb/bolt/.gitignore b/vendor/github.com/boltdb/bolt/.gitignore new file mode 100644 index 00000000..c7bd2b7a --- /dev/null +++ b/vendor/github.com/boltdb/bolt/.gitignore @@ -0,0 +1,4 @@ +*.prof +*.test +*.swp +/bin/ diff --git a/vendor/github.com/boltdb/bolt/LICENSE b/vendor/github.com/boltdb/bolt/LICENSE new file mode 100644 index 00000000..004e77fe --- /dev/null +++ b/vendor/github.com/boltdb/bolt/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013 Ben Johnson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/boltdb/bolt/Makefile b/vendor/github.com/boltdb/bolt/Makefile new file mode 100644 index 00000000..e035e63a --- /dev/null +++ b/vendor/github.com/boltdb/bolt/Makefile @@ -0,0 +1,18 @@ +BRANCH=`git rev-parse --abbrev-ref HEAD` +COMMIT=`git rev-parse --short HEAD` +GOLDFLAGS="-X main.branch $(BRANCH) -X main.commit $(COMMIT)" + +default: build + +race: + @go test -v -race -test.run="TestSimulate_(100op|1000op)" + +# go get github.com/kisielk/errcheck +errcheck: + @errcheck -ignorepkg=bytes -ignore=os:Remove github.com/boltdb/bolt + +test: + @go test -v -cover . + @go test -v ./cmd/bolt + +.PHONY: fmt test diff --git a/vendor/github.com/boltdb/bolt/README.md b/vendor/github.com/boltdb/bolt/README.md new file mode 100644 index 00000000..7d43a15b --- /dev/null +++ b/vendor/github.com/boltdb/bolt/README.md @@ -0,0 +1,916 @@ +Bolt [![Coverage Status](https://coveralls.io/repos/boltdb/bolt/badge.svg?branch=master)](https://coveralls.io/r/boltdb/bolt?branch=master) [![GoDoc](https://godoc.org/github.com/boltdb/bolt?status.svg)](https://godoc.org/github.com/boltdb/bolt) ![Version](https://img.shields.io/badge/version-1.2.1-green.svg) +==== + +Bolt is a pure Go key/value store inspired by [Howard Chu's][hyc_symas] +[LMDB project][lmdb]. The goal of the project is to provide a simple, +fast, and reliable database for projects that don't require a full database +server such as Postgres or MySQL. + +Since Bolt is meant to be used as such a low-level piece of functionality, +simplicity is key. The API will be small and only focus on getting values +and setting values. That's it. + +[hyc_symas]: https://twitter.com/hyc_symas +[lmdb]: http://symas.com/mdb/ + +## Project Status + +Bolt is stable, the API is fixed, and the file format is fixed. Full unit +test coverage and randomized black box testing are used to ensure database +consistency and thread safety. Bolt is currently used in high-load production +environments serving databases as large as 1TB. Many companies such as +Shopify and Heroku use Bolt-backed services every day. + +## Table of Contents + +- [Getting Started](#getting-started) + - [Installing](#installing) + - [Opening a database](#opening-a-database) + - [Transactions](#transactions) + - [Read-write transactions](#read-write-transactions) + - [Read-only transactions](#read-only-transactions) + - [Batch read-write transactions](#batch-read-write-transactions) + - [Managing transactions manually](#managing-transactions-manually) + - [Using buckets](#using-buckets) + - [Using key/value pairs](#using-keyvalue-pairs) + - [Autoincrementing integer for the bucket](#autoincrementing-integer-for-the-bucket) + - [Iterating over keys](#iterating-over-keys) + - [Prefix scans](#prefix-scans) + - [Range scans](#range-scans) + - [ForEach()](#foreach) + - [Nested buckets](#nested-buckets) + - [Database backups](#database-backups) + - [Statistics](#statistics) + - [Read-Only Mode](#read-only-mode) + - [Mobile Use (iOS/Android)](#mobile-use-iosandroid) +- [Resources](#resources) +- [Comparison with other databases](#comparison-with-other-databases) + - [Postgres, MySQL, & other relational databases](#postgres-mysql--other-relational-databases) + - [LevelDB, RocksDB](#leveldb-rocksdb) + - [LMDB](#lmdb) +- [Caveats & Limitations](#caveats--limitations) +- [Reading the Source](#reading-the-source) +- [Other Projects Using Bolt](#other-projects-using-bolt) + +## Getting Started + +### Installing + +To start using Bolt, install Go and run `go get`: + +```sh +$ go get github.com/boltdb/bolt/... +``` + +This will retrieve the library and install the `bolt` command line utility into +your `$GOBIN` path. + + +### Opening a database + +The top-level object in Bolt is a `DB`. It is represented as a single file on +your disk and represents a consistent snapshot of your data. + +To open your database, simply use the `bolt.Open()` function: + +```go +package main + +import ( + "log" + + "github.com/boltdb/bolt" +) + +func main() { + // Open the my.db data file in your current directory. + // It will be created if it doesn't exist. + db, err := bolt.Open("my.db", 0600, nil) + if err != nil { + log.Fatal(err) + } + defer db.Close() + + ... +} +``` + +Please note that Bolt obtains a file lock on the data file so multiple processes +cannot open the same database at the same time. Opening an already open Bolt +database will cause it to hang until the other process closes it. To prevent +an indefinite wait you can pass a timeout option to the `Open()` function: + +```go +db, err := bolt.Open("my.db", 0600, &bolt.Options{Timeout: 1 * time.Second}) +``` + + +### Transactions + +Bolt allows only one read-write transaction at a time but allows as many +read-only transactions as you want at a time. Each transaction has a consistent +view of the data as it existed when the transaction started. + +Individual transactions and all objects created from them (e.g. buckets, keys) +are not thread safe. To work with data in multiple goroutines you must start +a transaction for each one or use locking to ensure only one goroutine accesses +a transaction at a time. Creating transaction from the `DB` is thread safe. + +Read-only transactions and read-write transactions should not depend on one +another and generally shouldn't be opened simultaneously in the same goroutine. +This can cause a deadlock as the read-write transaction needs to periodically +re-map the data file but it cannot do so while a read-only transaction is open. + + +#### Read-write transactions + +To start a read-write transaction, you can use the `DB.Update()` function: + +```go +err := db.Update(func(tx *bolt.Tx) error { + ... + return nil +}) +``` + +Inside the closure, you have a consistent view of the database. You commit the +transaction by returning `nil` at the end. You can also rollback the transaction +at any point by returning an error. All database operations are allowed inside +a read-write transaction. + +Always check the return error as it will report any disk failures that can cause +your transaction to not complete. If you return an error within your closure +it will be passed through. + + +#### Read-only transactions + +To start a read-only transaction, you can use the `DB.View()` function: + +```go +err := db.View(func(tx *bolt.Tx) error { + ... + return nil +}) +``` + +You also get a consistent view of the database within this closure, however, +no mutating operations are allowed within a read-only transaction. You can only +retrieve buckets, retrieve values, and copy the database within a read-only +transaction. + + +#### Batch read-write transactions + +Each `DB.Update()` waits for disk to commit the writes. This overhead +can be minimized by combining multiple updates with the `DB.Batch()` +function: + +```go +err := db.Batch(func(tx *bolt.Tx) error { + ... + return nil +}) +``` + +Concurrent Batch calls are opportunistically combined into larger +transactions. Batch is only useful when there are multiple goroutines +calling it. + +The trade-off is that `Batch` can call the given +function multiple times, if parts of the transaction fail. The +function must be idempotent and side effects must take effect only +after a successful return from `DB.Batch()`. + +For example: don't display messages from inside the function, instead +set variables in the enclosing scope: + +```go +var id uint64 +err := db.Batch(func(tx *bolt.Tx) error { + // Find last key in bucket, decode as bigendian uint64, increment + // by one, encode back to []byte, and add new key. + ... + id = newValue + return nil +}) +if err != nil { + return ... +} +fmt.Println("Allocated ID %d", id) +``` + + +#### Managing transactions manually + +The `DB.View()` and `DB.Update()` functions are wrappers around the `DB.Begin()` +function. These helper functions will start the transaction, execute a function, +and then safely close your transaction if an error is returned. This is the +recommended way to use Bolt transactions. + +However, sometimes you may want to manually start and end your transactions. +You can use the `DB.Begin()` function directly but **please** be sure to close +the transaction. + +```go +// Start a writable transaction. +tx, err := db.Begin(true) +if err != nil { + return err +} +defer tx.Rollback() + +// Use the transaction... +_, err := tx.CreateBucket([]byte("MyBucket")) +if err != nil { + return err +} + +// Commit the transaction and check for error. +if err := tx.Commit(); err != nil { + return err +} +``` + +The first argument to `DB.Begin()` is a boolean stating if the transaction +should be writable. + + +### Using buckets + +Buckets are collections of key/value pairs within the database. All keys in a +bucket must be unique. You can create a bucket using the `DB.CreateBucket()` +function: + +```go +db.Update(func(tx *bolt.Tx) error { + b, err := tx.CreateBucket([]byte("MyBucket")) + if err != nil { + return fmt.Errorf("create bucket: %s", err) + } + return nil +}) +``` + +You can also create a bucket only if it doesn't exist by using the +`Tx.CreateBucketIfNotExists()` function. It's a common pattern to call this +function for all your top-level buckets after you open your database so you can +guarantee that they exist for future transactions. + +To delete a bucket, simply call the `Tx.DeleteBucket()` function. + + +### Using key/value pairs + +To save a key/value pair to a bucket, use the `Bucket.Put()` function: + +```go +db.Update(func(tx *bolt.Tx) error { + b := tx.Bucket([]byte("MyBucket")) + err := b.Put([]byte("answer"), []byte("42")) + return err +}) +``` + +This will set the value of the `"answer"` key to `"42"` in the `MyBucket` +bucket. To retrieve this value, we can use the `Bucket.Get()` function: + +```go +db.View(func(tx *bolt.Tx) error { + b := tx.Bucket([]byte("MyBucket")) + v := b.Get([]byte("answer")) + fmt.Printf("The answer is: %s\n", v) + return nil +}) +``` + +The `Get()` function does not return an error because its operation is +guaranteed to work (unless there is some kind of system failure). If the key +exists then it will return its byte slice value. If it doesn't exist then it +will return `nil`. It's important to note that you can have a zero-length value +set to a key which is different than the key not existing. + +Use the `Bucket.Delete()` function to delete a key from the bucket. + +Please note that values returned from `Get()` are only valid while the +transaction is open. If you need to use a value outside of the transaction +then you must use `copy()` to copy it to another byte slice. + + +### Autoincrementing integer for the bucket +By using the `NextSequence()` function, you can let Bolt determine a sequence +which can be used as the unique identifier for your key/value pairs. See the +example below. + +```go +// CreateUser saves u to the store. The new user ID is set on u once the data is persisted. +func (s *Store) CreateUser(u *User) error { + return s.db.Update(func(tx *bolt.Tx) error { + // Retrieve the users bucket. + // This should be created when the DB is first opened. + b := tx.Bucket([]byte("users")) + + // Generate ID for the user. + // This returns an error only if the Tx is closed or not writeable. + // That can't happen in an Update() call so I ignore the error check. + id, _ := b.NextSequence() + u.ID = int(id) + + // Marshal user data into bytes. + buf, err := json.Marshal(u) + if err != nil { + return err + } + + // Persist bytes to users bucket. + return b.Put(itob(u.ID), buf) + }) +} + +// itob returns an 8-byte big endian representation of v. +func itob(v int) []byte { + b := make([]byte, 8) + binary.BigEndian.PutUint64(b, uint64(v)) + return b +} + +type User struct { + ID int + ... +} +``` + +### Iterating over keys + +Bolt stores its keys in byte-sorted order within a bucket. This makes sequential +iteration over these keys extremely fast. To iterate over keys we'll use a +`Cursor`: + +```go +db.View(func(tx *bolt.Tx) error { + // Assume bucket exists and has keys + b := tx.Bucket([]byte("MyBucket")) + + c := b.Cursor() + + for k, v := c.First(); k != nil; k, v = c.Next() { + fmt.Printf("key=%s, value=%s\n", k, v) + } + + return nil +}) +``` + +The cursor allows you to move to a specific point in the list of keys and move +forward or backward through the keys one at a time. + +The following functions are available on the cursor: + +``` +First() Move to the first key. +Last() Move to the last key. +Seek() Move to a specific key. +Next() Move to the next key. +Prev() Move to the previous key. +``` + +Each of those functions has a return signature of `(key []byte, value []byte)`. +When you have iterated to the end of the cursor then `Next()` will return a +`nil` key. You must seek to a position using `First()`, `Last()`, or `Seek()` +before calling `Next()` or `Prev()`. If you do not seek to a position then +these functions will return a `nil` key. + +During iteration, if the key is non-`nil` but the value is `nil`, that means +the key refers to a bucket rather than a value. Use `Bucket.Bucket()` to +access the sub-bucket. + + +#### Prefix scans + +To iterate over a key prefix, you can combine `Seek()` and `bytes.HasPrefix()`: + +```go +db.View(func(tx *bolt.Tx) error { + // Assume bucket exists and has keys + c := tx.Bucket([]byte("MyBucket")).Cursor() + + prefix := []byte("1234") + for k, v := c.Seek(prefix); k != nil && bytes.HasPrefix(k, prefix); k, v = c.Next() { + fmt.Printf("key=%s, value=%s\n", k, v) + } + + return nil +}) +``` + +#### Range scans + +Another common use case is scanning over a range such as a time range. If you +use a sortable time encoding such as RFC3339 then you can query a specific +date range like this: + +```go +db.View(func(tx *bolt.Tx) error { + // Assume our events bucket exists and has RFC3339 encoded time keys. + c := tx.Bucket([]byte("Events")).Cursor() + + // Our time range spans the 90's decade. + min := []byte("1990-01-01T00:00:00Z") + max := []byte("2000-01-01T00:00:00Z") + + // Iterate over the 90's. + for k, v := c.Seek(min); k != nil && bytes.Compare(k, max) <= 0; k, v = c.Next() { + fmt.Printf("%s: %s\n", k, v) + } + + return nil +}) +``` + +Note that, while RFC3339 is sortable, the Golang implementation of RFC3339Nano does not use a fixed number of digits after the decimal point and is therefore not sortable. + + +#### ForEach() + +You can also use the function `ForEach()` if you know you'll be iterating over +all the keys in a bucket: + +```go +db.View(func(tx *bolt.Tx) error { + // Assume bucket exists and has keys + b := tx.Bucket([]byte("MyBucket")) + + b.ForEach(func(k, v []byte) error { + fmt.Printf("key=%s, value=%s\n", k, v) + return nil + }) + return nil +}) +``` + +Please note that keys and values in `ForEach()` are only valid while +the transaction is open. If you need to use a key or value outside of +the transaction, you must use `copy()` to copy it to another byte +slice. + +### Nested buckets + +You can also store a bucket in a key to create nested buckets. The API is the +same as the bucket management API on the `DB` object: + +```go +func (*Bucket) CreateBucket(key []byte) (*Bucket, error) +func (*Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error) +func (*Bucket) DeleteBucket(key []byte) error +``` + +Say you had a multi-tenant application where the root level bucket was the account bucket. Inside of this bucket was a sequence of accounts which themselves are buckets. And inside the sequence bucket you could have many buckets pertaining to the Account itself (Users, Notes, etc) isolating the information into logical groupings. + +```go + +// createUser creates a new user in the given account. +func createUser(accountID int, u *User) error { + // Start the transaction. + tx, err := db.Begin(true) + if err != nil { + return err + } + defer tx.Rollback() + + // Retrieve the root bucket for the account. + // Assume this has already been created when the account was set up. + root := tx.Bucket([]byte(strconv.FormatUint(accountID, 10))) + + // Setup the users bucket. + bkt, err := root.CreateBucketIfNotExists([]byte("USERS")) + if err != nil { + return err + } + + // Generate an ID for the new user. + userID, err := bkt.NextSequence() + if err != nil { + return err + } + u.ID = userID + + // Marshal and save the encoded user. + if buf, err := json.Marshal(u); err != nil { + return err + } else if err := bkt.Put([]byte(strconv.FormatUint(u.ID, 10)), buf); err != nil { + return err + } + + // Commit the transaction. + if err := tx.Commit(); err != nil { + return err + } + + return nil +} + +``` + + + + +### Database backups + +Bolt is a single file so it's easy to backup. You can use the `Tx.WriteTo()` +function to write a consistent view of the database to a writer. If you call +this from a read-only transaction, it will perform a hot backup and not block +your other database reads and writes. + +By default, it will use a regular file handle which will utilize the operating +system's page cache. See the [`Tx`](https://godoc.org/github.com/boltdb/bolt#Tx) +documentation for information about optimizing for larger-than-RAM datasets. + +One common use case is to backup over HTTP so you can use tools like `cURL` to +do database backups: + +```go +func BackupHandleFunc(w http.ResponseWriter, req *http.Request) { + err := db.View(func(tx *bolt.Tx) error { + w.Header().Set("Content-Type", "application/octet-stream") + w.Header().Set("Content-Disposition", `attachment; filename="my.db"`) + w.Header().Set("Content-Length", strconv.Itoa(int(tx.Size()))) + _, err := tx.WriteTo(w) + return err + }) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + } +} +``` + +Then you can backup using this command: + +```sh +$ curl http://localhost/backup > my.db +``` + +Or you can open your browser to `http://localhost/backup` and it will download +automatically. + +If you want to backup to another file you can use the `Tx.CopyFile()` helper +function. + + +### Statistics + +The database keeps a running count of many of the internal operations it +performs so you can better understand what's going on. By grabbing a snapshot +of these stats at two points in time we can see what operations were performed +in that time range. + +For example, we could start a goroutine to log stats every 10 seconds: + +```go +go func() { + // Grab the initial stats. + prev := db.Stats() + + for { + // Wait for 10s. + time.Sleep(10 * time.Second) + + // Grab the current stats and diff them. + stats := db.Stats() + diff := stats.Sub(&prev) + + // Encode stats to JSON and print to STDERR. + json.NewEncoder(os.Stderr).Encode(diff) + + // Save stats for the next loop. + prev = stats + } +}() +``` + +It's also useful to pipe these stats to a service such as statsd for monitoring +or to provide an HTTP endpoint that will perform a fixed-length sample. + + +### Read-Only Mode + +Sometimes it is useful to create a shared, read-only Bolt database. To this, +set the `Options.ReadOnly` flag when opening your database. Read-only mode +uses a shared lock to allow multiple processes to read from the database but +it will block any processes from opening the database in read-write mode. + +```go +db, err := bolt.Open("my.db", 0666, &bolt.Options{ReadOnly: true}) +if err != nil { + log.Fatal(err) +} +``` + +### Mobile Use (iOS/Android) + +Bolt is able to run on mobile devices by leveraging the binding feature of the +[gomobile](https://github.com/golang/mobile) tool. Create a struct that will +contain your database logic and a reference to a `*bolt.DB` with a initializing +constructor that takes in a filepath where the database file will be stored. +Neither Android nor iOS require extra permissions or cleanup from using this method. + +```go +func NewBoltDB(filepath string) *BoltDB { + db, err := bolt.Open(filepath+"/demo.db", 0600, nil) + if err != nil { + log.Fatal(err) + } + + return &BoltDB{db} +} + +type BoltDB struct { + db *bolt.DB + ... +} + +func (b *BoltDB) Path() string { + return b.db.Path() +} + +func (b *BoltDB) Close() { + b.db.Close() +} +``` + +Database logic should be defined as methods on this wrapper struct. + +To initialize this struct from the native language (both platforms now sync +their local storage to the cloud. These snippets disable that functionality for the +database file): + +#### Android + +```java +String path; +if (android.os.Build.VERSION.SDK_INT >=android.os.Build.VERSION_CODES.LOLLIPOP){ + path = getNoBackupFilesDir().getAbsolutePath(); +} else{ + path = getFilesDir().getAbsolutePath(); +} +Boltmobiledemo.BoltDB boltDB = Boltmobiledemo.NewBoltDB(path) +``` + +#### iOS + +```objc +- (void)demo { + NSString* path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, + NSUserDomainMask, + YES) objectAtIndex:0]; + GoBoltmobiledemoBoltDB * demo = GoBoltmobiledemoNewBoltDB(path); + [self addSkipBackupAttributeToItemAtPath:demo.path]; + //Some DB Logic would go here + [demo close]; +} + +- (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *) filePathString +{ + NSURL* URL= [NSURL fileURLWithPath: filePathString]; + assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]); + + NSError *error = nil; + BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES] + forKey: NSURLIsExcludedFromBackupKey error: &error]; + if(!success){ + NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error); + } + return success; +} + +``` + +## Resources + +For more information on getting started with Bolt, check out the following articles: + +* [Intro to BoltDB: Painless Performant Persistence](http://npf.io/2014/07/intro-to-boltdb-painless-performant-persistence/) by [Nate Finch](https://github.com/natefinch). +* [Bolt -- an embedded key/value database for Go](https://www.progville.com/go/bolt-embedded-db-golang/) by Progville + + +## Comparison with other databases + +### Postgres, MySQL, & other relational databases + +Relational databases structure data into rows and are only accessible through +the use of SQL. This approach provides flexibility in how you store and query +your data but also incurs overhead in parsing and planning SQL statements. Bolt +accesses all data by a byte slice key. This makes Bolt fast to read and write +data by key but provides no built-in support for joining values together. + +Most relational databases (with the exception of SQLite) are standalone servers +that run separately from your application. This gives your systems +flexibility to connect multiple application servers to a single database +server but also adds overhead in serializing and transporting data over the +network. Bolt runs as a library included in your application so all data access +has to go through your application's process. This brings data closer to your +application but limits multi-process access to the data. + + +### LevelDB, RocksDB + +LevelDB and its derivatives (RocksDB, HyperLevelDB) are similar to Bolt in that +they are libraries bundled into the application, however, their underlying +structure is a log-structured merge-tree (LSM tree). An LSM tree optimizes +random writes by using a write ahead log and multi-tiered, sorted files called +SSTables. Bolt uses a B+tree internally and only a single file. Both approaches +have trade-offs. + +If you require a high random write throughput (>10,000 w/sec) or you need to use +spinning disks then LevelDB could be a good choice. If your application is +read-heavy or does a lot of range scans then Bolt could be a good choice. + +One other important consideration is that LevelDB does not have transactions. +It supports batch writing of key/values pairs and it supports read snapshots +but it will not give you the ability to do a compare-and-swap operation safely. +Bolt supports fully serializable ACID transactions. + + +### LMDB + +Bolt was originally a port of LMDB so it is architecturally similar. Both use +a B+tree, have ACID semantics with fully serializable transactions, and support +lock-free MVCC using a single writer and multiple readers. + +The two projects have somewhat diverged. LMDB heavily focuses on raw performance +while Bolt has focused on simplicity and ease of use. For example, LMDB allows +several unsafe actions such as direct writes for the sake of performance. Bolt +opts to disallow actions which can leave the database in a corrupted state. The +only exception to this in Bolt is `DB.NoSync`. + +There are also a few differences in API. LMDB requires a maximum mmap size when +opening an `mdb_env` whereas Bolt will handle incremental mmap resizing +automatically. LMDB overloads the getter and setter functions with multiple +flags whereas Bolt splits these specialized cases into their own functions. + + +## Caveats & Limitations + +It's important to pick the right tool for the job and Bolt is no exception. +Here are a few things to note when evaluating and using Bolt: + +* Bolt is good for read intensive workloads. Sequential write performance is + also fast but random writes can be slow. You can use `DB.Batch()` or add a + write-ahead log to help mitigate this issue. + +* Bolt uses a B+tree internally so there can be a lot of random page access. + SSDs provide a significant performance boost over spinning disks. + +* Try to avoid long running read transactions. Bolt uses copy-on-write so + old pages cannot be reclaimed while an old transaction is using them. + +* Byte slices returned from Bolt are only valid during a transaction. Once the + transaction has been committed or rolled back then the memory they point to + can be reused by a new page or can be unmapped from virtual memory and you'll + see an `unexpected fault address` panic when accessing it. + +* Bolt uses an exclusive write lock on the database file so it cannot be + shared by multiple processes. + +* Be careful when using `Bucket.FillPercent`. Setting a high fill percent for + buckets that have random inserts will cause your database to have very poor + page utilization. + +* Use larger buckets in general. Smaller buckets causes poor page utilization + once they become larger than the page size (typically 4KB). + +* Bulk loading a lot of random writes into a new bucket can be slow as the + page will not split until the transaction is committed. Randomly inserting + more than 100,000 key/value pairs into a single new bucket in a single + transaction is not advised. + +* Bolt uses a memory-mapped file so the underlying operating system handles the + caching of the data. Typically, the OS will cache as much of the file as it + can in memory and will release memory as needed to other processes. This means + that Bolt can show very high memory usage when working with large databases. + However, this is expected and the OS will release memory as needed. Bolt can + handle databases much larger than the available physical RAM, provided its + memory-map fits in the process virtual address space. It may be problematic + on 32-bits systems. + +* The data structures in the Bolt database are memory mapped so the data file + will be endian specific. This means that you cannot copy a Bolt file from a + little endian machine to a big endian machine and have it work. For most + users this is not a concern since most modern CPUs are little endian. + +* Because of the way pages are laid out on disk, Bolt cannot truncate data files + and return free pages back to the disk. Instead, Bolt maintains a free list + of unused pages within its data file. These free pages can be reused by later + transactions. This works well for many use cases as databases generally tend + to grow. However, it's important to note that deleting large chunks of data + will not allow you to reclaim that space on disk. + + For more information on page allocation, [see this comment][page-allocation]. + +[page-allocation]: https://github.com/boltdb/bolt/issues/308#issuecomment-74811638 + + +## Reading the Source + +Bolt is a relatively small code base (<3KLOC) for an embedded, serializable, +transactional key/value database so it can be a good starting point for people +interested in how databases work. + +The best places to start are the main entry points into Bolt: + +- `Open()` - Initializes the reference to the database. It's responsible for + creating the database if it doesn't exist, obtaining an exclusive lock on the + file, reading the meta pages, & memory-mapping the file. + +- `DB.Begin()` - Starts a read-only or read-write transaction depending on the + value of the `writable` argument. This requires briefly obtaining the "meta" + lock to keep track of open transactions. Only one read-write transaction can + exist at a time so the "rwlock" is acquired during the life of a read-write + transaction. + +- `Bucket.Put()` - Writes a key/value pair into a bucket. After validating the + arguments, a cursor is used to traverse the B+tree to the page and position + where they key & value will be written. Once the position is found, the bucket + materializes the underlying page and the page's parent pages into memory as + "nodes". These nodes are where mutations occur during read-write transactions. + These changes get flushed to disk during commit. + +- `Bucket.Get()` - Retrieves a key/value pair from a bucket. This uses a cursor + to move to the page & position of a key/value pair. During a read-only + transaction, the key and value data is returned as a direct reference to the + underlying mmap file so there's no allocation overhead. For read-write + transactions, this data may reference the mmap file or one of the in-memory + node values. + +- `Cursor` - This object is simply for traversing the B+tree of on-disk pages + or in-memory nodes. It can seek to a specific key, move to the first or last + value, or it can move forward or backward. The cursor handles the movement up + and down the B+tree transparently to the end user. + +- `Tx.Commit()` - Converts the in-memory dirty nodes and the list of free pages + into pages to be written to disk. Writing to disk then occurs in two phases. + First, the dirty pages are written to disk and an `fsync()` occurs. Second, a + new meta page with an incremented transaction ID is written and another + `fsync()` occurs. This two phase write ensures that partially written data + pages are ignored in the event of a crash since the meta page pointing to them + is never written. Partially written meta pages are invalidated because they + are written with a checksum. + +If you have additional notes that could be helpful for others, please submit +them via pull request. + + +## Other Projects Using Bolt + +Below is a list of public, open source projects that use Bolt: + +* [BoltDbWeb](https://github.com/evnix/boltdbweb) - A web based GUI for BoltDB files. +* [Operation Go: A Routine Mission](http://gocode.io) - An online programming game for Golang using Bolt for user accounts and a leaderboard. +* [Bazil](https://bazil.org/) - A file system that lets your data reside where it is most convenient for it to reside. +* [DVID](https://github.com/janelia-flyem/dvid) - Added Bolt as optional storage engine and testing it against Basho-tuned leveldb. +* [Skybox Analytics](https://github.com/skybox/skybox) - A standalone funnel analysis tool for web analytics. +* [Scuttlebutt](https://github.com/benbjohnson/scuttlebutt) - Uses Bolt to store and process all Twitter mentions of GitHub projects. +* [Wiki](https://github.com/peterhellberg/wiki) - A tiny wiki using Goji, BoltDB and Blackfriday. +* [ChainStore](https://github.com/pressly/chainstore) - Simple key-value interface to a variety of storage engines organized as a chain of operations. +* [MetricBase](https://github.com/msiebuhr/MetricBase) - Single-binary version of Graphite. +* [Gitchain](https://github.com/gitchain/gitchain) - Decentralized, peer-to-peer Git repositories aka "Git meets Bitcoin". +* [event-shuttle](https://github.com/sclasen/event-shuttle) - A Unix system service to collect and reliably deliver messages to Kafka. +* [ipxed](https://github.com/kelseyhightower/ipxed) - Web interface and api for ipxed. +* [BoltStore](https://github.com/yosssi/boltstore) - Session store using Bolt. +* [photosite/session](https://godoc.org/bitbucket.org/kardianos/photosite/session) - Sessions for a photo viewing site. +* [LedisDB](https://github.com/siddontang/ledisdb) - A high performance NoSQL, using Bolt as optional storage. +* [ipLocator](https://github.com/AndreasBriese/ipLocator) - A fast ip-geo-location-server using bolt with bloom filters. +* [cayley](https://github.com/google/cayley) - Cayley is an open-source graph database using Bolt as optional backend. +* [bleve](http://www.blevesearch.com/) - A pure Go search engine similar to ElasticSearch that uses Bolt as the default storage backend. +* [tentacool](https://github.com/optiflows/tentacool) - REST api server to manage system stuff (IP, DNS, Gateway...) on a linux server. +* [Seaweed File System](https://github.com/chrislusf/seaweedfs) - Highly scalable distributed key~file system with O(1) disk read. +* [InfluxDB](https://influxdata.com) - Scalable datastore for metrics, events, and real-time analytics. +* [Freehold](http://tshannon.bitbucket.org/freehold/) - An open, secure, and lightweight platform for your files and data. +* [Prometheus Annotation Server](https://github.com/oliver006/prom_annotation_server) - Annotation server for PromDash & Prometheus service monitoring system. +* [Consul](https://github.com/hashicorp/consul) - Consul is service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. +* [Kala](https://github.com/ajvb/kala) - Kala is a modern job scheduler optimized to run on a single node. It is persistent, JSON over HTTP API, ISO 8601 duration notation, and dependent jobs. +* [drive](https://github.com/odeke-em/drive) - drive is an unofficial Google Drive command line client for \*NIX operating systems. +* [stow](https://github.com/djherbis/stow) - a persistence manager for objects + backed by boltdb. +* [buckets](https://github.com/joyrexus/buckets) - a bolt wrapper streamlining + simple tx and key scans. +* [mbuckets](https://github.com/abhigupta912/mbuckets) - A Bolt wrapper that allows easy operations on multi level (nested) buckets. +* [Request Baskets](https://github.com/darklynx/request-baskets) - A web service to collect arbitrary HTTP requests and inspect them via REST API or simple web UI, similar to [RequestBin](http://requestb.in/) service +* [Go Report Card](https://goreportcard.com/) - Go code quality report cards as a (free and open source) service. +* [Boltdb Boilerplate](https://github.com/bobintornado/boltdb-boilerplate) - Boilerplate wrapper around bolt aiming to make simple calls one-liners. +* [lru](https://github.com/crowdriff/lru) - Easy to use Bolt-backed Least-Recently-Used (LRU) read-through cache with chainable remote stores. +* [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB. +* [GoWebApp](https://github.com/josephspurrier/gowebapp) - A basic MVC web application in Go using BoltDB. +* [SimpleBolt](https://github.com/xyproto/simplebolt) - A simple way to use BoltDB. Deals mainly with strings. +* [Algernon](https://github.com/xyproto/algernon) - A HTTP/2 web server with built-in support for Lua. Uses BoltDB as the default database backend. +* [MuLiFS](https://github.com/dankomiocevic/mulifs) - Music Library Filesystem creates a filesystem to organise your music files. +* [GoShort](https://github.com/pankajkhairnar/goShort) - GoShort is a URL shortener written in Golang and BoltDB for persistent key/value storage and for routing it's using high performent HTTPRouter. +* [torrent](https://github.com/anacrolix/torrent) - Full-featured BitTorrent client package and utilities in Go. BoltDB is a storage backend in development. +* [gopherpit](https://github.com/gopherpit/gopherpit) - A web service to manage Go remote import paths with custom domains +* [bolter](https://github.com/hasit/bolter) - Command-line app for viewing BoltDB file in your terminal. +* [btcwallet](https://github.com/btcsuite/btcwallet) - A bitcoin wallet. +* [dcrwallet](https://github.com/decred/dcrwallet) - A wallet for the Decred cryptocurrency. +* [Ironsmith](https://github.com/timshannon/ironsmith) - A simple, script-driven continuous integration (build - > test -> release) tool, with no external dependencies +* [BoltHold](https://github.com/timshannon/bolthold) - An embeddable NoSQL store for Go types built on BoltDB +* [Ponzu CMS](https://ponzu-cms.org) - Headless CMS + automatic JSON API with auto-HTTPS, HTTP/2 Server Push, and flexible server framework. + +If you are using Bolt in a project please send a pull request to add it to the list. diff --git a/vendor/github.com/boltdb/bolt/appveyor.yml b/vendor/github.com/boltdb/bolt/appveyor.yml new file mode 100644 index 00000000..6e26e941 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/appveyor.yml @@ -0,0 +1,18 @@ +version: "{build}" + +os: Windows Server 2012 R2 + +clone_folder: c:\gopath\src\github.com\boltdb\bolt + +environment: + GOPATH: c:\gopath + +install: + - echo %PATH% + - echo %GOPATH% + - go version + - go env + - go get -v -t ./... + +build_script: + - go test -v ./... diff --git a/vendor/github.com/boltdb/bolt/bolt_386.go b/vendor/github.com/boltdb/bolt/bolt_386.go new file mode 100644 index 00000000..820d533c --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_386.go @@ -0,0 +1,10 @@ +package bolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0x7FFFFFFF // 2GB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0xFFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_amd64.go b/vendor/github.com/boltdb/bolt/bolt_amd64.go new file mode 100644 index 00000000..98fafdb4 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_amd64.go @@ -0,0 +1,10 @@ +package bolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_arm.go b/vendor/github.com/boltdb/bolt/bolt_arm.go new file mode 100644 index 00000000..7e5cb4b9 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_arm.go @@ -0,0 +1,28 @@ +package bolt + +import "unsafe" + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0x7FFFFFFF // 2GB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0xFFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned bool + +func init() { + // Simple check to see whether this arch handles unaligned load/stores + // correctly. + + // ARM9 and older devices require load/stores to be from/to aligned + // addresses. If not, the lower 2 bits are cleared and that address is + // read in a jumbled up order. + + // See http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15414.html + + raw := [6]byte{0xfe, 0xef, 0x11, 0x22, 0x22, 0x11} + val := *(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&raw)) + 2)) + + brokenUnaligned = val != 0x11222211 +} diff --git a/vendor/github.com/boltdb/bolt/bolt_arm64.go b/vendor/github.com/boltdb/bolt/bolt_arm64.go new file mode 100644 index 00000000..b26d84f9 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_arm64.go @@ -0,0 +1,12 @@ +// +build arm64 + +package bolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_linux.go b/vendor/github.com/boltdb/bolt/bolt_linux.go new file mode 100644 index 00000000..2b676661 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_linux.go @@ -0,0 +1,10 @@ +package bolt + +import ( + "syscall" +) + +// fdatasync flushes written data to a file descriptor. +func fdatasync(db *DB) error { + return syscall.Fdatasync(int(db.file.Fd())) +} diff --git a/vendor/github.com/boltdb/bolt/bolt_openbsd.go b/vendor/github.com/boltdb/bolt/bolt_openbsd.go new file mode 100644 index 00000000..7058c3d7 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_openbsd.go @@ -0,0 +1,27 @@ +package bolt + +import ( + "syscall" + "unsafe" +) + +const ( + msAsync = 1 << iota // perform asynchronous writes + msSync // perform synchronous writes + msInvalidate // invalidate cached data +) + +func msync(db *DB) error { + _, _, errno := syscall.Syscall(syscall.SYS_MSYNC, uintptr(unsafe.Pointer(db.data)), uintptr(db.datasz), msInvalidate) + if errno != 0 { + return errno + } + return nil +} + +func fdatasync(db *DB) error { + if db.data != nil { + return msync(db) + } + return db.file.Sync() +} diff --git a/vendor/github.com/boltdb/bolt/bolt_ppc.go b/vendor/github.com/boltdb/bolt/bolt_ppc.go new file mode 100644 index 00000000..645ddc3e --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_ppc.go @@ -0,0 +1,9 @@ +// +build ppc + +package bolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0x7FFFFFFF // 2GB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0xFFFFFFF diff --git a/vendor/github.com/boltdb/bolt/bolt_ppc64.go b/vendor/github.com/boltdb/bolt/bolt_ppc64.go new file mode 100644 index 00000000..9331d977 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_ppc64.go @@ -0,0 +1,12 @@ +// +build ppc64 + +package bolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_ppc64le.go b/vendor/github.com/boltdb/bolt/bolt_ppc64le.go new file mode 100644 index 00000000..8c143bc5 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_ppc64le.go @@ -0,0 +1,12 @@ +// +build ppc64le + +package bolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_s390x.go b/vendor/github.com/boltdb/bolt/bolt_s390x.go new file mode 100644 index 00000000..d7c39af9 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_s390x.go @@ -0,0 +1,12 @@ +// +build s390x + +package bolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/github.com/boltdb/bolt/bolt_unix.go b/vendor/github.com/boltdb/bolt/bolt_unix.go new file mode 100644 index 00000000..cad62dda --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_unix.go @@ -0,0 +1,89 @@ +// +build !windows,!plan9,!solaris + +package bolt + +import ( + "fmt" + "os" + "syscall" + "time" + "unsafe" +) + +// flock acquires an advisory lock on a file descriptor. +func flock(db *DB, mode os.FileMode, exclusive bool, timeout time.Duration) error { + var t time.Time + for { + // If we're beyond our timeout then return an error. + // This can only occur after we've attempted a flock once. + if t.IsZero() { + t = time.Now() + } else if timeout > 0 && time.Since(t) > timeout { + return ErrTimeout + } + flag := syscall.LOCK_SH + if exclusive { + flag = syscall.LOCK_EX + } + + // Otherwise attempt to obtain an exclusive lock. + err := syscall.Flock(int(db.file.Fd()), flag|syscall.LOCK_NB) + if err == nil { + return nil + } else if err != syscall.EWOULDBLOCK { + return err + } + + // Wait for a bit and try again. + time.Sleep(50 * time.Millisecond) + } +} + +// funlock releases an advisory lock on a file descriptor. +func funlock(db *DB) error { + return syscall.Flock(int(db.file.Fd()), syscall.LOCK_UN) +} + +// mmap memory maps a DB's data file. +func mmap(db *DB, sz int) error { + // Map the data file to memory. + b, err := syscall.Mmap(int(db.file.Fd()), 0, sz, syscall.PROT_READ, syscall.MAP_SHARED|db.MmapFlags) + if err != nil { + return err + } + + // Advise the kernel that the mmap is accessed randomly. + if err := madvise(b, syscall.MADV_RANDOM); err != nil { + return fmt.Errorf("madvise: %s", err) + } + + // Save the original byte slice and convert to a byte array pointer. + db.dataref = b + db.data = (*[maxMapSize]byte)(unsafe.Pointer(&b[0])) + db.datasz = sz + return nil +} + +// munmap unmaps a DB's data file from memory. +func munmap(db *DB) error { + // Ignore the unmap if we have no mapped data. + if db.dataref == nil { + return nil + } + + // Unmap using the original byte slice. + err := syscall.Munmap(db.dataref) + db.dataref = nil + db.data = nil + db.datasz = 0 + return err +} + +// NOTE: This function is copied from stdlib because it is not available on darwin. +func madvise(b []byte, advice int) (err error) { + _, _, e1 := syscall.Syscall(syscall.SYS_MADVISE, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = e1 + } + return +} diff --git a/vendor/github.com/boltdb/bolt/bolt_unix_solaris.go b/vendor/github.com/boltdb/bolt/bolt_unix_solaris.go new file mode 100644 index 00000000..307bf2b3 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_unix_solaris.go @@ -0,0 +1,90 @@ +package bolt + +import ( + "fmt" + "os" + "syscall" + "time" + "unsafe" + + "golang.org/x/sys/unix" +) + +// flock acquires an advisory lock on a file descriptor. +func flock(db *DB, mode os.FileMode, exclusive bool, timeout time.Duration) error { + var t time.Time + for { + // If we're beyond our timeout then return an error. + // This can only occur after we've attempted a flock once. + if t.IsZero() { + t = time.Now() + } else if timeout > 0 && time.Since(t) > timeout { + return ErrTimeout + } + var lock syscall.Flock_t + lock.Start = 0 + lock.Len = 0 + lock.Pid = 0 + lock.Whence = 0 + lock.Pid = 0 + if exclusive { + lock.Type = syscall.F_WRLCK + } else { + lock.Type = syscall.F_RDLCK + } + err := syscall.FcntlFlock(db.file.Fd(), syscall.F_SETLK, &lock) + if err == nil { + return nil + } else if err != syscall.EAGAIN { + return err + } + + // Wait for a bit and try again. + time.Sleep(50 * time.Millisecond) + } +} + +// funlock releases an advisory lock on a file descriptor. +func funlock(db *DB) error { + var lock syscall.Flock_t + lock.Start = 0 + lock.Len = 0 + lock.Type = syscall.F_UNLCK + lock.Whence = 0 + return syscall.FcntlFlock(uintptr(db.file.Fd()), syscall.F_SETLK, &lock) +} + +// mmap memory maps a DB's data file. +func mmap(db *DB, sz int) error { + // Map the data file to memory. + b, err := unix.Mmap(int(db.file.Fd()), 0, sz, syscall.PROT_READ, syscall.MAP_SHARED|db.MmapFlags) + if err != nil { + return err + } + + // Advise the kernel that the mmap is accessed randomly. + if err := unix.Madvise(b, syscall.MADV_RANDOM); err != nil { + return fmt.Errorf("madvise: %s", err) + } + + // Save the original byte slice and convert to a byte array pointer. + db.dataref = b + db.data = (*[maxMapSize]byte)(unsafe.Pointer(&b[0])) + db.datasz = sz + return nil +} + +// munmap unmaps a DB's data file from memory. +func munmap(db *DB) error { + // Ignore the unmap if we have no mapped data. + if db.dataref == nil { + return nil + } + + // Unmap using the original byte slice. + err := unix.Munmap(db.dataref) + db.dataref = nil + db.data = nil + db.datasz = 0 + return err +} diff --git a/vendor/github.com/boltdb/bolt/bolt_windows.go b/vendor/github.com/boltdb/bolt/bolt_windows.go new file mode 100644 index 00000000..b00fb072 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bolt_windows.go @@ -0,0 +1,144 @@ +package bolt + +import ( + "fmt" + "os" + "syscall" + "time" + "unsafe" +) + +// LockFileEx code derived from golang build filemutex_windows.go @ v1.5.1 +var ( + modkernel32 = syscall.NewLazyDLL("kernel32.dll") + procLockFileEx = modkernel32.NewProc("LockFileEx") + procUnlockFileEx = modkernel32.NewProc("UnlockFileEx") +) + +const ( + lockExt = ".lock" + + // see https://msdn.microsoft.com/en-us/library/windows/desktop/aa365203(v=vs.85).aspx + flagLockExclusive = 2 + flagLockFailImmediately = 1 + + // see https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx + errLockViolation syscall.Errno = 0x21 +) + +func lockFileEx(h syscall.Handle, flags, reserved, locklow, lockhigh uint32, ol *syscall.Overlapped) (err error) { + r, _, err := procLockFileEx.Call(uintptr(h), uintptr(flags), uintptr(reserved), uintptr(locklow), uintptr(lockhigh), uintptr(unsafe.Pointer(ol))) + if r == 0 { + return err + } + return nil +} + +func unlockFileEx(h syscall.Handle, reserved, locklow, lockhigh uint32, ol *syscall.Overlapped) (err error) { + r, _, err := procUnlockFileEx.Call(uintptr(h), uintptr(reserved), uintptr(locklow), uintptr(lockhigh), uintptr(unsafe.Pointer(ol)), 0) + if r == 0 { + return err + } + return nil +} + +// fdatasync flushes written data to a file descriptor. +func fdatasync(db *DB) error { + return db.file.Sync() +} + +// flock acquires an advisory lock on a file descriptor. +func flock(db *DB, mode os.FileMode, exclusive bool, timeout time.Duration) error { + // Create a separate lock file on windows because a process + // cannot share an exclusive lock on the same file. This is + // needed during Tx.WriteTo(). + f, err := os.OpenFile(db.path+lockExt, os.O_CREATE, mode) + if err != nil { + return err + } + db.lockfile = f + + var t time.Time + for { + // If we're beyond our timeout then return an error. + // This can only occur after we've attempted a flock once. + if t.IsZero() { + t = time.Now() + } else if timeout > 0 && time.Since(t) > timeout { + return ErrTimeout + } + + var flag uint32 = flagLockFailImmediately + if exclusive { + flag |= flagLockExclusive + } + + err := lockFileEx(syscall.Handle(db.lockfile.Fd()), flag, 0, 1, 0, &syscall.Overlapped{}) + if err == nil { + return nil + } else if err != errLockViolation { + return err + } + + // Wait for a bit and try again. + time.Sleep(50 * time.Millisecond) + } +} + +// funlock releases an advisory lock on a file descriptor. +func funlock(db *DB) error { + err := unlockFileEx(syscall.Handle(db.lockfile.Fd()), 0, 1, 0, &syscall.Overlapped{}) + db.lockfile.Close() + os.Remove(db.path + lockExt) + return err +} + +// mmap memory maps a DB's data file. +// Based on: https://github.com/edsrzf/mmap-go +func mmap(db *DB, sz int) error { + if !db.readOnly { + // Truncate the database to the size of the mmap. + if err := db.file.Truncate(int64(sz)); err != nil { + return fmt.Errorf("truncate: %s", err) + } + } + + // Open a file mapping handle. + sizelo := uint32(sz >> 32) + sizehi := uint32(sz) & 0xffffffff + h, errno := syscall.CreateFileMapping(syscall.Handle(db.file.Fd()), nil, syscall.PAGE_READONLY, sizelo, sizehi, nil) + if h == 0 { + return os.NewSyscallError("CreateFileMapping", errno) + } + + // Create the memory map. + addr, errno := syscall.MapViewOfFile(h, syscall.FILE_MAP_READ, 0, 0, uintptr(sz)) + if addr == 0 { + return os.NewSyscallError("MapViewOfFile", errno) + } + + // Close mapping handle. + if err := syscall.CloseHandle(syscall.Handle(h)); err != nil { + return os.NewSyscallError("CloseHandle", err) + } + + // Convert to a byte array. + db.data = ((*[maxMapSize]byte)(unsafe.Pointer(addr))) + db.datasz = sz + + return nil +} + +// munmap unmaps a pointer from a file. +// Based on: https://github.com/edsrzf/mmap-go +func munmap(db *DB) error { + if db.data == nil { + return nil + } + + addr := (uintptr)(unsafe.Pointer(&db.data[0])) + if err := syscall.UnmapViewOfFile(addr); err != nil { + return os.NewSyscallError("UnmapViewOfFile", err) + } + return nil +} diff --git a/vendor/github.com/boltdb/bolt/boltsync_unix.go b/vendor/github.com/boltdb/bolt/boltsync_unix.go new file mode 100644 index 00000000..f5044252 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/boltsync_unix.go @@ -0,0 +1,8 @@ +// +build !windows,!plan9,!linux,!openbsd + +package bolt + +// fdatasync flushes written data to a file descriptor. +func fdatasync(db *DB) error { + return db.file.Sync() +} diff --git a/vendor/github.com/boltdb/bolt/bucket.go b/vendor/github.com/boltdb/bolt/bucket.go new file mode 100644 index 00000000..0c5bf274 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/bucket.go @@ -0,0 +1,777 @@ +package bolt + +import ( + "bytes" + "fmt" + "unsafe" +) + +const ( + // MaxKeySize is the maximum length of a key, in bytes. + MaxKeySize = 32768 + + // MaxValueSize is the maximum length of a value, in bytes. + MaxValueSize = (1 << 31) - 2 +) + +const ( + maxUint = ^uint(0) + minUint = 0 + maxInt = int(^uint(0) >> 1) + minInt = -maxInt - 1 +) + +const bucketHeaderSize = int(unsafe.Sizeof(bucket{})) + +const ( + minFillPercent = 0.1 + maxFillPercent = 1.0 +) + +// DefaultFillPercent is the percentage that split pages are filled. +// This value can be changed by setting Bucket.FillPercent. +const DefaultFillPercent = 0.5 + +// Bucket represents a collection of key/value pairs inside the database. +type Bucket struct { + *bucket + tx *Tx // the associated transaction + buckets map[string]*Bucket // subbucket cache + page *page // inline page reference + rootNode *node // materialized node for the root page. + nodes map[pgid]*node // node cache + + // Sets the threshold for filling nodes when they split. By default, + // the bucket will fill to 50% but it can be useful to increase this + // amount if you know that your write workloads are mostly append-only. + // + // This is non-persisted across transactions so it must be set in every Tx. + FillPercent float64 +} + +// bucket represents the on-file representation of a bucket. +// This is stored as the "value" of a bucket key. If the bucket is small enough, +// then its root page can be stored inline in the "value", after the bucket +// header. In the case of inline buckets, the "root" will be 0. +type bucket struct { + root pgid // page id of the bucket's root-level page + sequence uint64 // monotonically incrementing, used by NextSequence() +} + +// newBucket returns a new bucket associated with a transaction. +func newBucket(tx *Tx) Bucket { + var b = Bucket{tx: tx, FillPercent: DefaultFillPercent} + if tx.writable { + b.buckets = make(map[string]*Bucket) + b.nodes = make(map[pgid]*node) + } + return b +} + +// Tx returns the tx of the bucket. +func (b *Bucket) Tx() *Tx { + return b.tx +} + +// Root returns the root of the bucket. +func (b *Bucket) Root() pgid { + return b.root +} + +// Writable returns whether the bucket is writable. +func (b *Bucket) Writable() bool { + return b.tx.writable +} + +// Cursor creates a cursor associated with the bucket. +// The cursor is only valid as long as the transaction is open. +// Do not use a cursor after the transaction is closed. +func (b *Bucket) Cursor() *Cursor { + // Update transaction statistics. + b.tx.stats.CursorCount++ + + // Allocate and return a cursor. + return &Cursor{ + bucket: b, + stack: make([]elemRef, 0), + } +} + +// Bucket retrieves a nested bucket by name. +// Returns nil if the bucket does not exist. +// The bucket instance is only valid for the lifetime of the transaction. +func (b *Bucket) Bucket(name []byte) *Bucket { + if b.buckets != nil { + if child := b.buckets[string(name)]; child != nil { + return child + } + } + + // Move cursor to key. + c := b.Cursor() + k, v, flags := c.seek(name) + + // Return nil if the key doesn't exist or it is not a bucket. + if !bytes.Equal(name, k) || (flags&bucketLeafFlag) == 0 { + return nil + } + + // Otherwise create a bucket and cache it. + var child = b.openBucket(v) + if b.buckets != nil { + b.buckets[string(name)] = child + } + + return child +} + +// Helper method that re-interprets a sub-bucket value +// from a parent into a Bucket +func (b *Bucket) openBucket(value []byte) *Bucket { + var child = newBucket(b.tx) + + // If unaligned load/stores are broken on this arch and value is + // unaligned simply clone to an aligned byte array. + unaligned := brokenUnaligned && uintptr(unsafe.Pointer(&value[0]))&3 != 0 + + if unaligned { + value = cloneBytes(value) + } + + // If this is a writable transaction then we need to copy the bucket entry. + // Read-only transactions can point directly at the mmap entry. + if b.tx.writable && !unaligned { + child.bucket = &bucket{} + *child.bucket = *(*bucket)(unsafe.Pointer(&value[0])) + } else { + child.bucket = (*bucket)(unsafe.Pointer(&value[0])) + } + + // Save a reference to the inline page if the bucket is inline. + if child.root == 0 { + child.page = (*page)(unsafe.Pointer(&value[bucketHeaderSize])) + } + + return &child +} + +// CreateBucket creates a new bucket at the given key and returns the new bucket. +// Returns an error if the key already exists, if the bucket name is blank, or if the bucket name is too long. +// The bucket instance is only valid for the lifetime of the transaction. +func (b *Bucket) CreateBucket(key []byte) (*Bucket, error) { + if b.tx.db == nil { + return nil, ErrTxClosed + } else if !b.tx.writable { + return nil, ErrTxNotWritable + } else if len(key) == 0 { + return nil, ErrBucketNameRequired + } + + // Move cursor to correct position. + c := b.Cursor() + k, _, flags := c.seek(key) + + // Return an error if there is an existing key. + if bytes.Equal(key, k) { + if (flags & bucketLeafFlag) != 0 { + return nil, ErrBucketExists + } + return nil, ErrIncompatibleValue + } + + // Create empty, inline bucket. + var bucket = Bucket{ + bucket: &bucket{}, + rootNode: &node{isLeaf: true}, + FillPercent: DefaultFillPercent, + } + var value = bucket.write() + + // Insert into node. + key = cloneBytes(key) + c.node().put(key, key, value, 0, bucketLeafFlag) + + // Since subbuckets are not allowed on inline buckets, we need to + // dereference the inline page, if it exists. This will cause the bucket + // to be treated as a regular, non-inline bucket for the rest of the tx. + b.page = nil + + return b.Bucket(key), nil +} + +// CreateBucketIfNotExists creates a new bucket if it doesn't already exist and returns a reference to it. +// Returns an error if the bucket name is blank, or if the bucket name is too long. +// The bucket instance is only valid for the lifetime of the transaction. +func (b *Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error) { + child, err := b.CreateBucket(key) + if err == ErrBucketExists { + return b.Bucket(key), nil + } else if err != nil { + return nil, err + } + return child, nil +} + +// DeleteBucket deletes a bucket at the given key. +// Returns an error if the bucket does not exists, or if the key represents a non-bucket value. +func (b *Bucket) DeleteBucket(key []byte) error { + if b.tx.db == nil { + return ErrTxClosed + } else if !b.Writable() { + return ErrTxNotWritable + } + + // Move cursor to correct position. + c := b.Cursor() + k, _, flags := c.seek(key) + + // Return an error if bucket doesn't exist or is not a bucket. + if !bytes.Equal(key, k) { + return ErrBucketNotFound + } else if (flags & bucketLeafFlag) == 0 { + return ErrIncompatibleValue + } + + // Recursively delete all child buckets. + child := b.Bucket(key) + err := child.ForEach(func(k, v []byte) error { + if v == nil { + if err := child.DeleteBucket(k); err != nil { + return fmt.Errorf("delete bucket: %s", err) + } + } + return nil + }) + if err != nil { + return err + } + + // Remove cached copy. + delete(b.buckets, string(key)) + + // Release all bucket pages to freelist. + child.nodes = nil + child.rootNode = nil + child.free() + + // Delete the node if we have a matching key. + c.node().del(key) + + return nil +} + +// Get retrieves the value for a key in the bucket. +// Returns a nil value if the key does not exist or if the key is a nested bucket. +// The returned value is only valid for the life of the transaction. +func (b *Bucket) Get(key []byte) []byte { + k, v, flags := b.Cursor().seek(key) + + // Return nil if this is a bucket. + if (flags & bucketLeafFlag) != 0 { + return nil + } + + // If our target node isn't the same key as what's passed in then return nil. + if !bytes.Equal(key, k) { + return nil + } + return v +} + +// Put sets the value for a key in the bucket. +// If the key exist then its previous value will be overwritten. +// Supplied value must remain valid for the life of the transaction. +// Returns an error if the bucket was created from a read-only transaction, if the key is blank, if the key is too large, or if the value is too large. +func (b *Bucket) Put(key []byte, value []byte) error { + if b.tx.db == nil { + return ErrTxClosed + } else if !b.Writable() { + return ErrTxNotWritable + } else if len(key) == 0 { + return ErrKeyRequired + } else if len(key) > MaxKeySize { + return ErrKeyTooLarge + } else if int64(len(value)) > MaxValueSize { + return ErrValueTooLarge + } + + // Move cursor to correct position. + c := b.Cursor() + k, _, flags := c.seek(key) + + // Return an error if there is an existing key with a bucket value. + if bytes.Equal(key, k) && (flags&bucketLeafFlag) != 0 { + return ErrIncompatibleValue + } + + // Insert into node. + key = cloneBytes(key) + c.node().put(key, key, value, 0, 0) + + return nil +} + +// Delete removes a key from the bucket. +// If the key does not exist then nothing is done and a nil error is returned. +// Returns an error if the bucket was created from a read-only transaction. +func (b *Bucket) Delete(key []byte) error { + if b.tx.db == nil { + return ErrTxClosed + } else if !b.Writable() { + return ErrTxNotWritable + } + + // Move cursor to correct position. + c := b.Cursor() + _, _, flags := c.seek(key) + + // Return an error if there is already existing bucket value. + if (flags & bucketLeafFlag) != 0 { + return ErrIncompatibleValue + } + + // Delete the node if we have a matching key. + c.node().del(key) + + return nil +} + +// Sequence returns the current integer for the bucket without incrementing it. +func (b *Bucket) Sequence() uint64 { return b.bucket.sequence } + +// SetSequence updates the sequence number for the bucket. +func (b *Bucket) SetSequence(v uint64) error { + if b.tx.db == nil { + return ErrTxClosed + } else if !b.Writable() { + return ErrTxNotWritable + } + + // Materialize the root node if it hasn't been already so that the + // bucket will be saved during commit. + if b.rootNode == nil { + _ = b.node(b.root, nil) + } + + // Increment and return the sequence. + b.bucket.sequence = v + return nil +} + +// NextSequence returns an autoincrementing integer for the bucket. +func (b *Bucket) NextSequence() (uint64, error) { + if b.tx.db == nil { + return 0, ErrTxClosed + } else if !b.Writable() { + return 0, ErrTxNotWritable + } + + // Materialize the root node if it hasn't been already so that the + // bucket will be saved during commit. + if b.rootNode == nil { + _ = b.node(b.root, nil) + } + + // Increment and return the sequence. + b.bucket.sequence++ + return b.bucket.sequence, nil +} + +// ForEach executes a function for each key/value pair in a bucket. +// If the provided function returns an error then the iteration is stopped and +// the error is returned to the caller. The provided function must not modify +// the bucket; this will result in undefined behavior. +func (b *Bucket) ForEach(fn func(k, v []byte) error) error { + if b.tx.db == nil { + return ErrTxClosed + } + c := b.Cursor() + for k, v := c.First(); k != nil; k, v = c.Next() { + if err := fn(k, v); err != nil { + return err + } + } + return nil +} + +// Stat returns stats on a bucket. +func (b *Bucket) Stats() BucketStats { + var s, subStats BucketStats + pageSize := b.tx.db.pageSize + s.BucketN += 1 + if b.root == 0 { + s.InlineBucketN += 1 + } + b.forEachPage(func(p *page, depth int) { + if (p.flags & leafPageFlag) != 0 { + s.KeyN += int(p.count) + + // used totals the used bytes for the page + used := pageHeaderSize + + if p.count != 0 { + // If page has any elements, add all element headers. + used += leafPageElementSize * int(p.count-1) + + // Add all element key, value sizes. + // The computation takes advantage of the fact that the position + // of the last element's key/value equals to the total of the sizes + // of all previous elements' keys and values. + // It also includes the last element's header. + lastElement := p.leafPageElement(p.count - 1) + used += int(lastElement.pos + lastElement.ksize + lastElement.vsize) + } + + if b.root == 0 { + // For inlined bucket just update the inline stats + s.InlineBucketInuse += used + } else { + // For non-inlined bucket update all the leaf stats + s.LeafPageN++ + s.LeafInuse += used + s.LeafOverflowN += int(p.overflow) + + // Collect stats from sub-buckets. + // Do that by iterating over all element headers + // looking for the ones with the bucketLeafFlag. + for i := uint16(0); i < p.count; i++ { + e := p.leafPageElement(i) + if (e.flags & bucketLeafFlag) != 0 { + // For any bucket element, open the element value + // and recursively call Stats on the contained bucket. + subStats.Add(b.openBucket(e.value()).Stats()) + } + } + } + } else if (p.flags & branchPageFlag) != 0 { + s.BranchPageN++ + lastElement := p.branchPageElement(p.count - 1) + + // used totals the used bytes for the page + // Add header and all element headers. + used := pageHeaderSize + (branchPageElementSize * int(p.count-1)) + + // Add size of all keys and values. + // Again, use the fact that last element's position equals to + // the total of key, value sizes of all previous elements. + used += int(lastElement.pos + lastElement.ksize) + s.BranchInuse += used + s.BranchOverflowN += int(p.overflow) + } + + // Keep track of maximum page depth. + if depth+1 > s.Depth { + s.Depth = (depth + 1) + } + }) + + // Alloc stats can be computed from page counts and pageSize. + s.BranchAlloc = (s.BranchPageN + s.BranchOverflowN) * pageSize + s.LeafAlloc = (s.LeafPageN + s.LeafOverflowN) * pageSize + + // Add the max depth of sub-buckets to get total nested depth. + s.Depth += subStats.Depth + // Add the stats for all sub-buckets + s.Add(subStats) + return s +} + +// forEachPage iterates over every page in a bucket, including inline pages. +func (b *Bucket) forEachPage(fn func(*page, int)) { + // If we have an inline page then just use that. + if b.page != nil { + fn(b.page, 0) + return + } + + // Otherwise traverse the page hierarchy. + b.tx.forEachPage(b.root, 0, fn) +} + +// forEachPageNode iterates over every page (or node) in a bucket. +// This also includes inline pages. +func (b *Bucket) forEachPageNode(fn func(*page, *node, int)) { + // If we have an inline page or root node then just use that. + if b.page != nil { + fn(b.page, nil, 0) + return + } + b._forEachPageNode(b.root, 0, fn) +} + +func (b *Bucket) _forEachPageNode(pgid pgid, depth int, fn func(*page, *node, int)) { + var p, n = b.pageNode(pgid) + + // Execute function. + fn(p, n, depth) + + // Recursively loop over children. + if p != nil { + if (p.flags & branchPageFlag) != 0 { + for i := 0; i < int(p.count); i++ { + elem := p.branchPageElement(uint16(i)) + b._forEachPageNode(elem.pgid, depth+1, fn) + } + } + } else { + if !n.isLeaf { + for _, inode := range n.inodes { + b._forEachPageNode(inode.pgid, depth+1, fn) + } + } + } +} + +// spill writes all the nodes for this bucket to dirty pages. +func (b *Bucket) spill() error { + // Spill all child buckets first. + for name, child := range b.buckets { + // If the child bucket is small enough and it has no child buckets then + // write it inline into the parent bucket's page. Otherwise spill it + // like a normal bucket and make the parent value a pointer to the page. + var value []byte + if child.inlineable() { + child.free() + value = child.write() + } else { + if err := child.spill(); err != nil { + return err + } + + // Update the child bucket header in this bucket. + value = make([]byte, unsafe.Sizeof(bucket{})) + var bucket = (*bucket)(unsafe.Pointer(&value[0])) + *bucket = *child.bucket + } + + // Skip writing the bucket if there are no materialized nodes. + if child.rootNode == nil { + continue + } + + // Update parent node. + var c = b.Cursor() + k, _, flags := c.seek([]byte(name)) + if !bytes.Equal([]byte(name), k) { + panic(fmt.Sprintf("misplaced bucket header: %x -> %x", []byte(name), k)) + } + if flags&bucketLeafFlag == 0 { + panic(fmt.Sprintf("unexpected bucket header flag: %x", flags)) + } + c.node().put([]byte(name), []byte(name), value, 0, bucketLeafFlag) + } + + // Ignore if there's not a materialized root node. + if b.rootNode == nil { + return nil + } + + // Spill nodes. + if err := b.rootNode.spill(); err != nil { + return err + } + b.rootNode = b.rootNode.root() + + // Update the root node for this bucket. + if b.rootNode.pgid >= b.tx.meta.pgid { + panic(fmt.Sprintf("pgid (%d) above high water mark (%d)", b.rootNode.pgid, b.tx.meta.pgid)) + } + b.root = b.rootNode.pgid + + return nil +} + +// inlineable returns true if a bucket is small enough to be written inline +// and if it contains no subbuckets. Otherwise returns false. +func (b *Bucket) inlineable() bool { + var n = b.rootNode + + // Bucket must only contain a single leaf node. + if n == nil || !n.isLeaf { + return false + } + + // Bucket is not inlineable if it contains subbuckets or if it goes beyond + // our threshold for inline bucket size. + var size = pageHeaderSize + for _, inode := range n.inodes { + size += leafPageElementSize + len(inode.key) + len(inode.value) + + if inode.flags&bucketLeafFlag != 0 { + return false + } else if size > b.maxInlineBucketSize() { + return false + } + } + + return true +} + +// Returns the maximum total size of a bucket to make it a candidate for inlining. +func (b *Bucket) maxInlineBucketSize() int { + return b.tx.db.pageSize / 4 +} + +// write allocates and writes a bucket to a byte slice. +func (b *Bucket) write() []byte { + // Allocate the appropriate size. + var n = b.rootNode + var value = make([]byte, bucketHeaderSize+n.size()) + + // Write a bucket header. + var bucket = (*bucket)(unsafe.Pointer(&value[0])) + *bucket = *b.bucket + + // Convert byte slice to a fake page and write the root node. + var p = (*page)(unsafe.Pointer(&value[bucketHeaderSize])) + n.write(p) + + return value +} + +// rebalance attempts to balance all nodes. +func (b *Bucket) rebalance() { + for _, n := range b.nodes { + n.rebalance() + } + for _, child := range b.buckets { + child.rebalance() + } +} + +// node creates a node from a page and associates it with a given parent. +func (b *Bucket) node(pgid pgid, parent *node) *node { + _assert(b.nodes != nil, "nodes map expected") + + // Retrieve node if it's already been created. + if n := b.nodes[pgid]; n != nil { + return n + } + + // Otherwise create a node and cache it. + n := &node{bucket: b, parent: parent} + if parent == nil { + b.rootNode = n + } else { + parent.children = append(parent.children, n) + } + + // Use the inline page if this is an inline bucket. + var p = b.page + if p == nil { + p = b.tx.page(pgid) + } + + // Read the page into the node and cache it. + n.read(p) + b.nodes[pgid] = n + + // Update statistics. + b.tx.stats.NodeCount++ + + return n +} + +// free recursively frees all pages in the bucket. +func (b *Bucket) free() { + if b.root == 0 { + return + } + + var tx = b.tx + b.forEachPageNode(func(p *page, n *node, _ int) { + if p != nil { + tx.db.freelist.free(tx.meta.txid, p) + } else { + n.free() + } + }) + b.root = 0 +} + +// dereference removes all references to the old mmap. +func (b *Bucket) dereference() { + if b.rootNode != nil { + b.rootNode.root().dereference() + } + + for _, child := range b.buckets { + child.dereference() + } +} + +// pageNode returns the in-memory node, if it exists. +// Otherwise returns the underlying page. +func (b *Bucket) pageNode(id pgid) (*page, *node) { + // Inline buckets have a fake page embedded in their value so treat them + // differently. We'll return the rootNode (if available) or the fake page. + if b.root == 0 { + if id != 0 { + panic(fmt.Sprintf("inline bucket non-zero page access(2): %d != 0", id)) + } + if b.rootNode != nil { + return nil, b.rootNode + } + return b.page, nil + } + + // Check the node cache for non-inline buckets. + if b.nodes != nil { + if n := b.nodes[id]; n != nil { + return nil, n + } + } + + // Finally lookup the page from the transaction if no node is materialized. + return b.tx.page(id), nil +} + +// BucketStats records statistics about resources used by a bucket. +type BucketStats struct { + // Page count statistics. + BranchPageN int // number of logical branch pages + BranchOverflowN int // number of physical branch overflow pages + LeafPageN int // number of logical leaf pages + LeafOverflowN int // number of physical leaf overflow pages + + // Tree statistics. + KeyN int // number of keys/value pairs + Depth int // number of levels in B+tree + + // Page size utilization. + BranchAlloc int // bytes allocated for physical branch pages + BranchInuse int // bytes actually used for branch data + LeafAlloc int // bytes allocated for physical leaf pages + LeafInuse int // bytes actually used for leaf data + + // Bucket statistics + BucketN int // total number of buckets including the top bucket + InlineBucketN int // total number on inlined buckets + InlineBucketInuse int // bytes used for inlined buckets (also accounted for in LeafInuse) +} + +func (s *BucketStats) Add(other BucketStats) { + s.BranchPageN += other.BranchPageN + s.BranchOverflowN += other.BranchOverflowN + s.LeafPageN += other.LeafPageN + s.LeafOverflowN += other.LeafOverflowN + s.KeyN += other.KeyN + if s.Depth < other.Depth { + s.Depth = other.Depth + } + s.BranchAlloc += other.BranchAlloc + s.BranchInuse += other.BranchInuse + s.LeafAlloc += other.LeafAlloc + s.LeafInuse += other.LeafInuse + + s.BucketN += other.BucketN + s.InlineBucketN += other.InlineBucketN + s.InlineBucketInuse += other.InlineBucketInuse +} + +// cloneBytes returns a copy of a given slice. +func cloneBytes(v []byte) []byte { + var clone = make([]byte, len(v)) + copy(clone, v) + return clone +} diff --git a/vendor/github.com/boltdb/bolt/cursor.go b/vendor/github.com/boltdb/bolt/cursor.go new file mode 100644 index 00000000..1be9f35e --- /dev/null +++ b/vendor/github.com/boltdb/bolt/cursor.go @@ -0,0 +1,400 @@ +package bolt + +import ( + "bytes" + "fmt" + "sort" +) + +// Cursor represents an iterator that can traverse over all key/value pairs in a bucket in sorted order. +// Cursors see nested buckets with value == nil. +// Cursors can be obtained from a transaction and are valid as long as the transaction is open. +// +// Keys and values returned from the cursor are only valid for the life of the transaction. +// +// Changing data while traversing with a cursor may cause it to be invalidated +// and return unexpected keys and/or values. You must reposition your cursor +// after mutating data. +type Cursor struct { + bucket *Bucket + stack []elemRef +} + +// Bucket returns the bucket that this cursor was created from. +func (c *Cursor) Bucket() *Bucket { + return c.bucket +} + +// First moves the cursor to the first item in the bucket and returns its key and value. +// If the bucket is empty then a nil key and value are returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) First() (key []byte, value []byte) { + _assert(c.bucket.tx.db != nil, "tx closed") + c.stack = c.stack[:0] + p, n := c.bucket.pageNode(c.bucket.root) + c.stack = append(c.stack, elemRef{page: p, node: n, index: 0}) + c.first() + + // If we land on an empty page then move to the next value. + // https://github.com/boltdb/bolt/issues/450 + if c.stack[len(c.stack)-1].count() == 0 { + c.next() + } + + k, v, flags := c.keyValue() + if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v + +} + +// Last moves the cursor to the last item in the bucket and returns its key and value. +// If the bucket is empty then a nil key and value are returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) Last() (key []byte, value []byte) { + _assert(c.bucket.tx.db != nil, "tx closed") + c.stack = c.stack[:0] + p, n := c.bucket.pageNode(c.bucket.root) + ref := elemRef{page: p, node: n} + ref.index = ref.count() - 1 + c.stack = append(c.stack, ref) + c.last() + k, v, flags := c.keyValue() + if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v +} + +// Next moves the cursor to the next item in the bucket and returns its key and value. +// If the cursor is at the end of the bucket then a nil key and value are returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) Next() (key []byte, value []byte) { + _assert(c.bucket.tx.db != nil, "tx closed") + k, v, flags := c.next() + if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v +} + +// Prev moves the cursor to the previous item in the bucket and returns its key and value. +// If the cursor is at the beginning of the bucket then a nil key and value are returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) Prev() (key []byte, value []byte) { + _assert(c.bucket.tx.db != nil, "tx closed") + + // Attempt to move back one element until we're successful. + // Move up the stack as we hit the beginning of each page in our stack. + for i := len(c.stack) - 1; i >= 0; i-- { + elem := &c.stack[i] + if elem.index > 0 { + elem.index-- + break + } + c.stack = c.stack[:i] + } + + // If we've hit the end then return nil. + if len(c.stack) == 0 { + return nil, nil + } + + // Move down the stack to find the last element of the last leaf under this branch. + c.last() + k, v, flags := c.keyValue() + if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v +} + +// Seek moves the cursor to a given key and returns it. +// If the key does not exist then the next key is used. If no keys +// follow, a nil key is returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) Seek(seek []byte) (key []byte, value []byte) { + k, v, flags := c.seek(seek) + + // If we ended up after the last element of a page then move to the next one. + if ref := &c.stack[len(c.stack)-1]; ref.index >= ref.count() { + k, v, flags = c.next() + } + + if k == nil { + return nil, nil + } else if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v +} + +// Delete removes the current key/value under the cursor from the bucket. +// Delete fails if current key/value is a bucket or if the transaction is not writable. +func (c *Cursor) Delete() error { + if c.bucket.tx.db == nil { + return ErrTxClosed + } else if !c.bucket.Writable() { + return ErrTxNotWritable + } + + key, _, flags := c.keyValue() + // Return an error if current value is a bucket. + if (flags & bucketLeafFlag) != 0 { + return ErrIncompatibleValue + } + c.node().del(key) + + return nil +} + +// seek moves the cursor to a given key and returns it. +// If the key does not exist then the next key is used. +func (c *Cursor) seek(seek []byte) (key []byte, value []byte, flags uint32) { + _assert(c.bucket.tx.db != nil, "tx closed") + + // Start from root page/node and traverse to correct page. + c.stack = c.stack[:0] + c.search(seek, c.bucket.root) + ref := &c.stack[len(c.stack)-1] + + // If the cursor is pointing to the end of page/node then return nil. + if ref.index >= ref.count() { + return nil, nil, 0 + } + + // If this is a bucket then return a nil value. + return c.keyValue() +} + +// first moves the cursor to the first leaf element under the last page in the stack. +func (c *Cursor) first() { + for { + // Exit when we hit a leaf page. + var ref = &c.stack[len(c.stack)-1] + if ref.isLeaf() { + break + } + + // Keep adding pages pointing to the first element to the stack. + var pgid pgid + if ref.node != nil { + pgid = ref.node.inodes[ref.index].pgid + } else { + pgid = ref.page.branchPageElement(uint16(ref.index)).pgid + } + p, n := c.bucket.pageNode(pgid) + c.stack = append(c.stack, elemRef{page: p, node: n, index: 0}) + } +} + +// last moves the cursor to the last leaf element under the last page in the stack. +func (c *Cursor) last() { + for { + // Exit when we hit a leaf page. + ref := &c.stack[len(c.stack)-1] + if ref.isLeaf() { + break + } + + // Keep adding pages pointing to the last element in the stack. + var pgid pgid + if ref.node != nil { + pgid = ref.node.inodes[ref.index].pgid + } else { + pgid = ref.page.branchPageElement(uint16(ref.index)).pgid + } + p, n := c.bucket.pageNode(pgid) + + var nextRef = elemRef{page: p, node: n} + nextRef.index = nextRef.count() - 1 + c.stack = append(c.stack, nextRef) + } +} + +// next moves to the next leaf element and returns the key and value. +// If the cursor is at the last leaf element then it stays there and returns nil. +func (c *Cursor) next() (key []byte, value []byte, flags uint32) { + for { + // Attempt to move over one element until we're successful. + // Move up the stack as we hit the end of each page in our stack. + var i int + for i = len(c.stack) - 1; i >= 0; i-- { + elem := &c.stack[i] + if elem.index < elem.count()-1 { + elem.index++ + break + } + } + + // If we've hit the root page then stop and return. This will leave the + // cursor on the last element of the last page. + if i == -1 { + return nil, nil, 0 + } + + // Otherwise start from where we left off in the stack and find the + // first element of the first leaf page. + c.stack = c.stack[:i+1] + c.first() + + // If this is an empty page then restart and move back up the stack. + // https://github.com/boltdb/bolt/issues/450 + if c.stack[len(c.stack)-1].count() == 0 { + continue + } + + return c.keyValue() + } +} + +// search recursively performs a binary search against a given page/node until it finds a given key. +func (c *Cursor) search(key []byte, pgid pgid) { + p, n := c.bucket.pageNode(pgid) + if p != nil && (p.flags&(branchPageFlag|leafPageFlag)) == 0 { + panic(fmt.Sprintf("invalid page type: %d: %x", p.id, p.flags)) + } + e := elemRef{page: p, node: n} + c.stack = append(c.stack, e) + + // If we're on a leaf page/node then find the specific node. + if e.isLeaf() { + c.nsearch(key) + return + } + + if n != nil { + c.searchNode(key, n) + return + } + c.searchPage(key, p) +} + +func (c *Cursor) searchNode(key []byte, n *node) { + var exact bool + index := sort.Search(len(n.inodes), func(i int) bool { + // TODO(benbjohnson): Optimize this range search. It's a bit hacky right now. + // sort.Search() finds the lowest index where f() != -1 but we need the highest index. + ret := bytes.Compare(n.inodes[i].key, key) + if ret == 0 { + exact = true + } + return ret != -1 + }) + if !exact && index > 0 { + index-- + } + c.stack[len(c.stack)-1].index = index + + // Recursively search to the next page. + c.search(key, n.inodes[index].pgid) +} + +func (c *Cursor) searchPage(key []byte, p *page) { + // Binary search for the correct range. + inodes := p.branchPageElements() + + var exact bool + index := sort.Search(int(p.count), func(i int) bool { + // TODO(benbjohnson): Optimize this range search. It's a bit hacky right now. + // sort.Search() finds the lowest index where f() != -1 but we need the highest index. + ret := bytes.Compare(inodes[i].key(), key) + if ret == 0 { + exact = true + } + return ret != -1 + }) + if !exact && index > 0 { + index-- + } + c.stack[len(c.stack)-1].index = index + + // Recursively search to the next page. + c.search(key, inodes[index].pgid) +} + +// nsearch searches the leaf node on the top of the stack for a key. +func (c *Cursor) nsearch(key []byte) { + e := &c.stack[len(c.stack)-1] + p, n := e.page, e.node + + // If we have a node then search its inodes. + if n != nil { + index := sort.Search(len(n.inodes), func(i int) bool { + return bytes.Compare(n.inodes[i].key, key) != -1 + }) + e.index = index + return + } + + // If we have a page then search its leaf elements. + inodes := p.leafPageElements() + index := sort.Search(int(p.count), func(i int) bool { + return bytes.Compare(inodes[i].key(), key) != -1 + }) + e.index = index +} + +// keyValue returns the key and value of the current leaf element. +func (c *Cursor) keyValue() ([]byte, []byte, uint32) { + ref := &c.stack[len(c.stack)-1] + if ref.count() == 0 || ref.index >= ref.count() { + return nil, nil, 0 + } + + // Retrieve value from node. + if ref.node != nil { + inode := &ref.node.inodes[ref.index] + return inode.key, inode.value, inode.flags + } + + // Or retrieve value from page. + elem := ref.page.leafPageElement(uint16(ref.index)) + return elem.key(), elem.value(), elem.flags +} + +// node returns the node that the cursor is currently positioned on. +func (c *Cursor) node() *node { + _assert(len(c.stack) > 0, "accessing a node with a zero-length cursor stack") + + // If the top of the stack is a leaf node then just return it. + if ref := &c.stack[len(c.stack)-1]; ref.node != nil && ref.isLeaf() { + return ref.node + } + + // Start from root and traverse down the hierarchy. + var n = c.stack[0].node + if n == nil { + n = c.bucket.node(c.stack[0].page.id, nil) + } + for _, ref := range c.stack[:len(c.stack)-1] { + _assert(!n.isLeaf, "expected branch node") + n = n.childAt(int(ref.index)) + } + _assert(n.isLeaf, "expected leaf node") + return n +} + +// elemRef represents a reference to an element on a given page/node. +type elemRef struct { + page *page + node *node + index int +} + +// isLeaf returns whether the ref is pointing at a leaf page/node. +func (r *elemRef) isLeaf() bool { + if r.node != nil { + return r.node.isLeaf + } + return (r.page.flags & leafPageFlag) != 0 +} + +// count returns the number of inodes or page elements. +func (r *elemRef) count() int { + if r.node != nil { + return len(r.node.inodes) + } + return int(r.page.count) +} diff --git a/vendor/github.com/boltdb/bolt/db.go b/vendor/github.com/boltdb/bolt/db.go new file mode 100644 index 00000000..f352ff14 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/db.go @@ -0,0 +1,1039 @@ +package bolt + +import ( + "errors" + "fmt" + "hash/fnv" + "log" + "os" + "runtime" + "runtime/debug" + "strings" + "sync" + "time" + "unsafe" +) + +// The largest step that can be taken when remapping the mmap. +const maxMmapStep = 1 << 30 // 1GB + +// The data file format version. +const version = 2 + +// Represents a marker value to indicate that a file is a Bolt DB. +const magic uint32 = 0xED0CDAED + +// IgnoreNoSync specifies whether the NoSync field of a DB is ignored when +// syncing changes to a file. This is required as some operating systems, +// such as OpenBSD, do not have a unified buffer cache (UBC) and writes +// must be synchronized using the msync(2) syscall. +const IgnoreNoSync = runtime.GOOS == "openbsd" + +// Default values if not set in a DB instance. +const ( + DefaultMaxBatchSize int = 1000 + DefaultMaxBatchDelay = 10 * time.Millisecond + DefaultAllocSize = 16 * 1024 * 1024 +) + +// default page size for db is set to the OS page size. +var defaultPageSize = os.Getpagesize() + +// DB represents a collection of buckets persisted to a file on disk. +// All data access is performed through transactions which can be obtained through the DB. +// All the functions on DB will return a ErrDatabaseNotOpen if accessed before Open() is called. +type DB struct { + // When enabled, the database will perform a Check() after every commit. + // A panic is issued if the database is in an inconsistent state. This + // flag has a large performance impact so it should only be used for + // debugging purposes. + StrictMode bool + + // Setting the NoSync flag will cause the database to skip fsync() + // calls after each commit. This can be useful when bulk loading data + // into a database and you can restart the bulk load in the event of + // a system failure or database corruption. Do not set this flag for + // normal use. + // + // If the package global IgnoreNoSync constant is true, this value is + // ignored. See the comment on that constant for more details. + // + // THIS IS UNSAFE. PLEASE USE WITH CAUTION. + NoSync bool + + // When true, skips the truncate call when growing the database. + // Setting this to true is only safe on non-ext3/ext4 systems. + // Skipping truncation avoids preallocation of hard drive space and + // bypasses a truncate() and fsync() syscall on remapping. + // + // https://github.com/boltdb/bolt/issues/284 + NoGrowSync bool + + // If you want to read the entire database fast, you can set MmapFlag to + // syscall.MAP_POPULATE on Linux 2.6.23+ for sequential read-ahead. + MmapFlags int + + // MaxBatchSize is the maximum size of a batch. Default value is + // copied from DefaultMaxBatchSize in Open. + // + // If <=0, disables batching. + // + // Do not change concurrently with calls to Batch. + MaxBatchSize int + + // MaxBatchDelay is the maximum delay before a batch starts. + // Default value is copied from DefaultMaxBatchDelay in Open. + // + // If <=0, effectively disables batching. + // + // Do not change concurrently with calls to Batch. + MaxBatchDelay time.Duration + + // AllocSize is the amount of space allocated when the database + // needs to create new pages. This is done to amortize the cost + // of truncate() and fsync() when growing the data file. + AllocSize int + + path string + file *os.File + lockfile *os.File // windows only + dataref []byte // mmap'ed readonly, write throws SEGV + data *[maxMapSize]byte + datasz int + filesz int // current on disk file size + meta0 *meta + meta1 *meta + pageSize int + opened bool + rwtx *Tx + txs []*Tx + freelist *freelist + stats Stats + + pagePool sync.Pool + + batchMu sync.Mutex + batch *batch + + rwlock sync.Mutex // Allows only one writer at a time. + metalock sync.Mutex // Protects meta page access. + mmaplock sync.RWMutex // Protects mmap access during remapping. + statlock sync.RWMutex // Protects stats access. + + ops struct { + writeAt func(b []byte, off int64) (n int, err error) + } + + // Read only mode. + // When true, Update() and Begin(true) return ErrDatabaseReadOnly immediately. + readOnly bool +} + +// Path returns the path to currently open database file. +func (db *DB) Path() string { + return db.path +} + +// GoString returns the Go string representation of the database. +func (db *DB) GoString() string { + return fmt.Sprintf("bolt.DB{path:%q}", db.path) +} + +// String returns the string representation of the database. +func (db *DB) String() string { + return fmt.Sprintf("DB<%q>", db.path) +} + +// Open creates and opens a database at the given path. +// If the file does not exist then it will be created automatically. +// Passing in nil options will cause Bolt to open the database with the default options. +func Open(path string, mode os.FileMode, options *Options) (*DB, error) { + var db = &DB{opened: true} + + // Set default options if no options are provided. + if options == nil { + options = DefaultOptions + } + db.NoGrowSync = options.NoGrowSync + db.MmapFlags = options.MmapFlags + + // Set default values for later DB operations. + db.MaxBatchSize = DefaultMaxBatchSize + db.MaxBatchDelay = DefaultMaxBatchDelay + db.AllocSize = DefaultAllocSize + + flag := os.O_RDWR + if options.ReadOnly { + flag = os.O_RDONLY + db.readOnly = true + } + + // Open data file and separate sync handler for metadata writes. + db.path = path + var err error + if db.file, err = os.OpenFile(db.path, flag|os.O_CREATE, mode); err != nil { + _ = db.close() + return nil, err + } + + // Lock file so that other processes using Bolt in read-write mode cannot + // use the database at the same time. This would cause corruption since + // the two processes would write meta pages and free pages separately. + // The database file is locked exclusively (only one process can grab the lock) + // if !options.ReadOnly. + // The database file is locked using the shared lock (more than one process may + // hold a lock at the same time) otherwise (options.ReadOnly is set). + if err := flock(db, mode, !db.readOnly, options.Timeout); err != nil { + _ = db.close() + return nil, err + } + + // Default values for test hooks + db.ops.writeAt = db.file.WriteAt + + // Initialize the database if it doesn't exist. + if info, err := db.file.Stat(); err != nil { + return nil, err + } else if info.Size() == 0 { + // Initialize new files with meta pages. + if err := db.init(); err != nil { + return nil, err + } + } else { + // Read the first meta page to determine the page size. + var buf [0x1000]byte + if _, err := db.file.ReadAt(buf[:], 0); err == nil { + m := db.pageInBuffer(buf[:], 0).meta() + if err := m.validate(); err != nil { + // If we can't read the page size, we can assume it's the same + // as the OS -- since that's how the page size was chosen in the + // first place. + // + // If the first page is invalid and this OS uses a different + // page size than what the database was created with then we + // are out of luck and cannot access the database. + db.pageSize = os.Getpagesize() + } else { + db.pageSize = int(m.pageSize) + } + } + } + + // Initialize page pool. + db.pagePool = sync.Pool{ + New: func() interface{} { + return make([]byte, db.pageSize) + }, + } + + // Memory map the data file. + if err := db.mmap(options.InitialMmapSize); err != nil { + _ = db.close() + return nil, err + } + + // Read in the freelist. + db.freelist = newFreelist() + db.freelist.read(db.page(db.meta().freelist)) + + // Mark the database as opened and return. + return db, nil +} + +// mmap opens the underlying memory-mapped file and initializes the meta references. +// minsz is the minimum size that the new mmap can be. +func (db *DB) mmap(minsz int) error { + db.mmaplock.Lock() + defer db.mmaplock.Unlock() + + info, err := db.file.Stat() + if err != nil { + return fmt.Errorf("mmap stat error: %s", err) + } else if int(info.Size()) < db.pageSize*2 { + return fmt.Errorf("file size too small") + } + + // Ensure the size is at least the minimum size. + var size = int(info.Size()) + if size < minsz { + size = minsz + } + size, err = db.mmapSize(size) + if err != nil { + return err + } + + // Dereference all mmap references before unmapping. + if db.rwtx != nil { + db.rwtx.root.dereference() + } + + // Unmap existing data before continuing. + if err := db.munmap(); err != nil { + return err + } + + // Memory-map the data file as a byte slice. + if err := mmap(db, size); err != nil { + return err + } + + // Save references to the meta pages. + db.meta0 = db.page(0).meta() + db.meta1 = db.page(1).meta() + + // Validate the meta pages. We only return an error if both meta pages fail + // validation, since meta0 failing validation means that it wasn't saved + // properly -- but we can recover using meta1. And vice-versa. + err0 := db.meta0.validate() + err1 := db.meta1.validate() + if err0 != nil && err1 != nil { + return err0 + } + + return nil +} + +// munmap unmaps the data file from memory. +func (db *DB) munmap() error { + if err := munmap(db); err != nil { + return fmt.Errorf("unmap error: " + err.Error()) + } + return nil +} + +// mmapSize determines the appropriate size for the mmap given the current size +// of the database. The minimum size is 32KB and doubles until it reaches 1GB. +// Returns an error if the new mmap size is greater than the max allowed. +func (db *DB) mmapSize(size int) (int, error) { + // Double the size from 32KB until 1GB. + for i := uint(15); i <= 30; i++ { + if size <= 1< maxMapSize { + return 0, fmt.Errorf("mmap too large") + } + + // If larger than 1GB then grow by 1GB at a time. + sz := int64(size) + if remainder := sz % int64(maxMmapStep); remainder > 0 { + sz += int64(maxMmapStep) - remainder + } + + // Ensure that the mmap size is a multiple of the page size. + // This should always be true since we're incrementing in MBs. + pageSize := int64(db.pageSize) + if (sz % pageSize) != 0 { + sz = ((sz / pageSize) + 1) * pageSize + } + + // If we've exceeded the max size then only grow up to the max size. + if sz > maxMapSize { + sz = maxMapSize + } + + return int(sz), nil +} + +// init creates a new database file and initializes its meta pages. +func (db *DB) init() error { + // Set the page size to the OS page size. + db.pageSize = os.Getpagesize() + + // Create two meta pages on a buffer. + buf := make([]byte, db.pageSize*4) + for i := 0; i < 2; i++ { + p := db.pageInBuffer(buf[:], pgid(i)) + p.id = pgid(i) + p.flags = metaPageFlag + + // Initialize the meta page. + m := p.meta() + m.magic = magic + m.version = version + m.pageSize = uint32(db.pageSize) + m.freelist = 2 + m.root = bucket{root: 3} + m.pgid = 4 + m.txid = txid(i) + m.checksum = m.sum64() + } + + // Write an empty freelist at page 3. + p := db.pageInBuffer(buf[:], pgid(2)) + p.id = pgid(2) + p.flags = freelistPageFlag + p.count = 0 + + // Write an empty leaf page at page 4. + p = db.pageInBuffer(buf[:], pgid(3)) + p.id = pgid(3) + p.flags = leafPageFlag + p.count = 0 + + // Write the buffer to our data file. + if _, err := db.ops.writeAt(buf, 0); err != nil { + return err + } + if err := fdatasync(db); err != nil { + return err + } + + return nil +} + +// Close releases all database resources. +// All transactions must be closed before closing the database. +func (db *DB) Close() error { + db.rwlock.Lock() + defer db.rwlock.Unlock() + + db.metalock.Lock() + defer db.metalock.Unlock() + + db.mmaplock.RLock() + defer db.mmaplock.RUnlock() + + return db.close() +} + +func (db *DB) close() error { + if !db.opened { + return nil + } + + db.opened = false + + db.freelist = nil + + // Clear ops. + db.ops.writeAt = nil + + // Close the mmap. + if err := db.munmap(); err != nil { + return err + } + + // Close file handles. + if db.file != nil { + // No need to unlock read-only file. + if !db.readOnly { + // Unlock the file. + if err := funlock(db); err != nil { + log.Printf("bolt.Close(): funlock error: %s", err) + } + } + + // Close the file descriptor. + if err := db.file.Close(); err != nil { + return fmt.Errorf("db file close: %s", err) + } + db.file = nil + } + + db.path = "" + return nil +} + +// Begin starts a new transaction. +// Multiple read-only transactions can be used concurrently but only one +// write transaction can be used at a time. Starting multiple write transactions +// will cause the calls to block and be serialized until the current write +// transaction finishes. +// +// Transactions should not be dependent on one another. Opening a read +// transaction and a write transaction in the same goroutine can cause the +// writer to deadlock because the database periodically needs to re-mmap itself +// as it grows and it cannot do that while a read transaction is open. +// +// If a long running read transaction (for example, a snapshot transaction) is +// needed, you might want to set DB.InitialMmapSize to a large enough value +// to avoid potential blocking of write transaction. +// +// IMPORTANT: You must close read-only transactions after you are finished or +// else the database will not reclaim old pages. +func (db *DB) Begin(writable bool) (*Tx, error) { + if writable { + return db.beginRWTx() + } + return db.beginTx() +} + +func (db *DB) beginTx() (*Tx, error) { + // Lock the meta pages while we initialize the transaction. We obtain + // the meta lock before the mmap lock because that's the order that the + // write transaction will obtain them. + db.metalock.Lock() + + // Obtain a read-only lock on the mmap. When the mmap is remapped it will + // obtain a write lock so all transactions must finish before it can be + // remapped. + db.mmaplock.RLock() + + // Exit if the database is not open yet. + if !db.opened { + db.mmaplock.RUnlock() + db.metalock.Unlock() + return nil, ErrDatabaseNotOpen + } + + // Create a transaction associated with the database. + t := &Tx{} + t.init(db) + + // Keep track of transaction until it closes. + db.txs = append(db.txs, t) + n := len(db.txs) + + // Unlock the meta pages. + db.metalock.Unlock() + + // Update the transaction stats. + db.statlock.Lock() + db.stats.TxN++ + db.stats.OpenTxN = n + db.statlock.Unlock() + + return t, nil +} + +func (db *DB) beginRWTx() (*Tx, error) { + // If the database was opened with Options.ReadOnly, return an error. + if db.readOnly { + return nil, ErrDatabaseReadOnly + } + + // Obtain writer lock. This is released by the transaction when it closes. + // This enforces only one writer transaction at a time. + db.rwlock.Lock() + + // Once we have the writer lock then we can lock the meta pages so that + // we can set up the transaction. + db.metalock.Lock() + defer db.metalock.Unlock() + + // Exit if the database is not open yet. + if !db.opened { + db.rwlock.Unlock() + return nil, ErrDatabaseNotOpen + } + + // Create a transaction associated with the database. + t := &Tx{writable: true} + t.init(db) + db.rwtx = t + + // Free any pages associated with closed read-only transactions. + var minid txid = 0xFFFFFFFFFFFFFFFF + for _, t := range db.txs { + if t.meta.txid < minid { + minid = t.meta.txid + } + } + if minid > 0 { + db.freelist.release(minid - 1) + } + + return t, nil +} + +// removeTx removes a transaction from the database. +func (db *DB) removeTx(tx *Tx) { + // Release the read lock on the mmap. + db.mmaplock.RUnlock() + + // Use the meta lock to restrict access to the DB object. + db.metalock.Lock() + + // Remove the transaction. + for i, t := range db.txs { + if t == tx { + last := len(db.txs) - 1 + db.txs[i] = db.txs[last] + db.txs[last] = nil + db.txs = db.txs[:last] + break + } + } + n := len(db.txs) + + // Unlock the meta pages. + db.metalock.Unlock() + + // Merge statistics. + db.statlock.Lock() + db.stats.OpenTxN = n + db.stats.TxStats.add(&tx.stats) + db.statlock.Unlock() +} + +// Update executes a function within the context of a read-write managed transaction. +// If no error is returned from the function then the transaction is committed. +// If an error is returned then the entire transaction is rolled back. +// Any error that is returned from the function or returned from the commit is +// returned from the Update() method. +// +// Attempting to manually commit or rollback within the function will cause a panic. +func (db *DB) Update(fn func(*Tx) error) error { + t, err := db.Begin(true) + if err != nil { + return err + } + + // Make sure the transaction rolls back in the event of a panic. + defer func() { + if t.db != nil { + t.rollback() + } + }() + + // Mark as a managed tx so that the inner function cannot manually commit. + t.managed = true + + // If an error is returned from the function then rollback and return error. + err = fn(t) + t.managed = false + if err != nil { + _ = t.Rollback() + return err + } + + return t.Commit() +} + +// View executes a function within the context of a managed read-only transaction. +// Any error that is returned from the function is returned from the View() method. +// +// Attempting to manually rollback within the function will cause a panic. +func (db *DB) View(fn func(*Tx) error) error { + t, err := db.Begin(false) + if err != nil { + return err + } + + // Make sure the transaction rolls back in the event of a panic. + defer func() { + if t.db != nil { + t.rollback() + } + }() + + // Mark as a managed tx so that the inner function cannot manually rollback. + t.managed = true + + // If an error is returned from the function then pass it through. + err = fn(t) + t.managed = false + if err != nil { + _ = t.Rollback() + return err + } + + if err := t.Rollback(); err != nil { + return err + } + + return nil +} + +// Batch calls fn as part of a batch. It behaves similar to Update, +// except: +// +// 1. concurrent Batch calls can be combined into a single Bolt +// transaction. +// +// 2. the function passed to Batch may be called multiple times, +// regardless of whether it returns error or not. +// +// This means that Batch function side effects must be idempotent and +// take permanent effect only after a successful return is seen in +// caller. +// +// The maximum batch size and delay can be adjusted with DB.MaxBatchSize +// and DB.MaxBatchDelay, respectively. +// +// Batch is only useful when there are multiple goroutines calling it. +func (db *DB) Batch(fn func(*Tx) error) error { + errCh := make(chan error, 1) + + db.batchMu.Lock() + if (db.batch == nil) || (db.batch != nil && len(db.batch.calls) >= db.MaxBatchSize) { + // There is no existing batch, or the existing batch is full; start a new one. + db.batch = &batch{ + db: db, + } + db.batch.timer = time.AfterFunc(db.MaxBatchDelay, db.batch.trigger) + } + db.batch.calls = append(db.batch.calls, call{fn: fn, err: errCh}) + if len(db.batch.calls) >= db.MaxBatchSize { + // wake up batch, it's ready to run + go db.batch.trigger() + } + db.batchMu.Unlock() + + err := <-errCh + if err == trySolo { + err = db.Update(fn) + } + return err +} + +type call struct { + fn func(*Tx) error + err chan<- error +} + +type batch struct { + db *DB + timer *time.Timer + start sync.Once + calls []call +} + +// trigger runs the batch if it hasn't already been run. +func (b *batch) trigger() { + b.start.Do(b.run) +} + +// run performs the transactions in the batch and communicates results +// back to DB.Batch. +func (b *batch) run() { + b.db.batchMu.Lock() + b.timer.Stop() + // Make sure no new work is added to this batch, but don't break + // other batches. + if b.db.batch == b { + b.db.batch = nil + } + b.db.batchMu.Unlock() + +retry: + for len(b.calls) > 0 { + var failIdx = -1 + err := b.db.Update(func(tx *Tx) error { + for i, c := range b.calls { + if err := safelyCall(c.fn, tx); err != nil { + failIdx = i + return err + } + } + return nil + }) + + if failIdx >= 0 { + // take the failing transaction out of the batch. it's + // safe to shorten b.calls here because db.batch no longer + // points to us, and we hold the mutex anyway. + c := b.calls[failIdx] + b.calls[failIdx], b.calls = b.calls[len(b.calls)-1], b.calls[:len(b.calls)-1] + // tell the submitter re-run it solo, continue with the rest of the batch + c.err <- trySolo + continue retry + } + + // pass success, or bolt internal errors, to all callers + for _, c := range b.calls { + if c.err != nil { + c.err <- err + } + } + break retry + } +} + +// trySolo is a special sentinel error value used for signaling that a +// transaction function should be re-run. It should never be seen by +// callers. +var trySolo = errors.New("batch function returned an error and should be re-run solo") + +type panicked struct { + reason interface{} +} + +func (p panicked) Error() string { + if err, ok := p.reason.(error); ok { + return err.Error() + } + return fmt.Sprintf("panic: %v", p.reason) +} + +func safelyCall(fn func(*Tx) error, tx *Tx) (err error) { + defer func() { + if p := recover(); p != nil { + err = panicked{p} + } + }() + return fn(tx) +} + +// Sync executes fdatasync() against the database file handle. +// +// This is not necessary under normal operation, however, if you use NoSync +// then it allows you to force the database file to sync against the disk. +func (db *DB) Sync() error { return fdatasync(db) } + +// Stats retrieves ongoing performance stats for the database. +// This is only updated when a transaction closes. +func (db *DB) Stats() Stats { + db.statlock.RLock() + defer db.statlock.RUnlock() + return db.stats +} + +// This is for internal access to the raw data bytes from the C cursor, use +// carefully, or not at all. +func (db *DB) Info() *Info { + return &Info{uintptr(unsafe.Pointer(&db.data[0])), db.pageSize} +} + +// page retrieves a page reference from the mmap based on the current page size. +func (db *DB) page(id pgid) *page { + pos := id * pgid(db.pageSize) + return (*page)(unsafe.Pointer(&db.data[pos])) +} + +// pageInBuffer retrieves a page reference from a given byte array based on the current page size. +func (db *DB) pageInBuffer(b []byte, id pgid) *page { + return (*page)(unsafe.Pointer(&b[id*pgid(db.pageSize)])) +} + +// meta retrieves the current meta page reference. +func (db *DB) meta() *meta { + // We have to return the meta with the highest txid which doesn't fail + // validation. Otherwise, we can cause errors when in fact the database is + // in a consistent state. metaA is the one with the higher txid. + metaA := db.meta0 + metaB := db.meta1 + if db.meta1.txid > db.meta0.txid { + metaA = db.meta1 + metaB = db.meta0 + } + + // Use higher meta page if valid. Otherwise fallback to previous, if valid. + if err := metaA.validate(); err == nil { + return metaA + } else if err := metaB.validate(); err == nil { + return metaB + } + + // This should never be reached, because both meta1 and meta0 were validated + // on mmap() and we do fsync() on every write. + panic("bolt.DB.meta(): invalid meta pages") +} + +// allocate returns a contiguous block of memory starting at a given page. +func (db *DB) allocate(count int) (*page, error) { + // Allocate a temporary buffer for the page. + var buf []byte + if count == 1 { + buf = db.pagePool.Get().([]byte) + } else { + buf = make([]byte, count*db.pageSize) + } + p := (*page)(unsafe.Pointer(&buf[0])) + p.overflow = uint32(count - 1) + + // Use pages from the freelist if they are available. + if p.id = db.freelist.allocate(count); p.id != 0 { + return p, nil + } + + // Resize mmap() if we're at the end. + p.id = db.rwtx.meta.pgid + var minsz = int((p.id+pgid(count))+1) * db.pageSize + if minsz >= db.datasz { + if err := db.mmap(minsz); err != nil { + return nil, fmt.Errorf("mmap allocate error: %s", err) + } + } + + // Move the page id high water mark. + db.rwtx.meta.pgid += pgid(count) + + return p, nil +} + +// grow grows the size of the database to the given sz. +func (db *DB) grow(sz int) error { + // Ignore if the new size is less than available file size. + if sz <= db.filesz { + return nil + } + + // If the data is smaller than the alloc size then only allocate what's needed. + // Once it goes over the allocation size then allocate in chunks. + if db.datasz < db.AllocSize { + sz = db.datasz + } else { + sz += db.AllocSize + } + + // Truncate and fsync to ensure file size metadata is flushed. + // https://github.com/boltdb/bolt/issues/284 + if !db.NoGrowSync && !db.readOnly { + if runtime.GOOS != "windows" { + if err := db.file.Truncate(int64(sz)); err != nil { + return fmt.Errorf("file resize error: %s", err) + } + } + if err := db.file.Sync(); err != nil { + return fmt.Errorf("file sync error: %s", err) + } + } + + db.filesz = sz + return nil +} + +func (db *DB) IsReadOnly() bool { + return db.readOnly +} + +// Options represents the options that can be set when opening a database. +type Options struct { + // Timeout is the amount of time to wait to obtain a file lock. + // When set to zero it will wait indefinitely. This option is only + // available on Darwin and Linux. + Timeout time.Duration + + // Sets the DB.NoGrowSync flag before memory mapping the file. + NoGrowSync bool + + // Open database in read-only mode. Uses flock(..., LOCK_SH |LOCK_NB) to + // grab a shared lock (UNIX). + ReadOnly bool + + // Sets the DB.MmapFlags flag before memory mapping the file. + MmapFlags int + + // InitialMmapSize is the initial mmap size of the database + // in bytes. Read transactions won't block write transaction + // if the InitialMmapSize is large enough to hold database mmap + // size. (See DB.Begin for more information) + // + // If <=0, the initial map size is 0. + // If initialMmapSize is smaller than the previous database size, + // it takes no effect. + InitialMmapSize int +} + +// DefaultOptions represent the options used if nil options are passed into Open(). +// No timeout is used which will cause Bolt to wait indefinitely for a lock. +var DefaultOptions = &Options{ + Timeout: 0, + NoGrowSync: false, +} + +// Stats represents statistics about the database. +type Stats struct { + // Freelist stats + FreePageN int // total number of free pages on the freelist + PendingPageN int // total number of pending pages on the freelist + FreeAlloc int // total bytes allocated in free pages + FreelistInuse int // total bytes used by the freelist + + // Transaction stats + TxN int // total number of started read transactions + OpenTxN int // number of currently open read transactions + + TxStats TxStats // global, ongoing stats. +} + +// Sub calculates and returns the difference between two sets of database stats. +// This is useful when obtaining stats at two different points and time and +// you need the performance counters that occurred within that time span. +func (s *Stats) Sub(other *Stats) Stats { + if other == nil { + return *s + } + var diff Stats + diff.FreePageN = s.FreePageN + diff.PendingPageN = s.PendingPageN + diff.FreeAlloc = s.FreeAlloc + diff.FreelistInuse = s.FreelistInuse + diff.TxN = s.TxN - other.TxN + diff.TxStats = s.TxStats.Sub(&other.TxStats) + return diff +} + +func (s *Stats) add(other *Stats) { + s.TxStats.add(&other.TxStats) +} + +type Info struct { + Data uintptr + PageSize int +} + +type meta struct { + magic uint32 + version uint32 + pageSize uint32 + flags uint32 + root bucket + freelist pgid + pgid pgid + txid txid + checksum uint64 +} + +// validate checks the marker bytes and version of the meta page to ensure it matches this binary. +func (m *meta) validate() error { + if m.magic != magic { + return ErrInvalid + } else if m.version != version { + return ErrVersionMismatch + } else if m.checksum != 0 && m.checksum != m.sum64() { + return ErrChecksum + } + return nil +} + +// copy copies one meta object to another. +func (m *meta) copy(dest *meta) { + *dest = *m +} + +// write writes the meta onto a page. +func (m *meta) write(p *page) { + if m.root.root >= m.pgid { + panic(fmt.Sprintf("root bucket pgid (%d) above high water mark (%d)", m.root.root, m.pgid)) + } else if m.freelist >= m.pgid { + panic(fmt.Sprintf("freelist pgid (%d) above high water mark (%d)", m.freelist, m.pgid)) + } + + // Page id is either going to be 0 or 1 which we can determine by the transaction ID. + p.id = pgid(m.txid % 2) + p.flags |= metaPageFlag + + // Calculate the checksum. + m.checksum = m.sum64() + + m.copy(p.meta()) +} + +// generates the checksum for the meta. +func (m *meta) sum64() uint64 { + var h = fnv.New64a() + _, _ = h.Write((*[unsafe.Offsetof(meta{}.checksum)]byte)(unsafe.Pointer(m))[:]) + return h.Sum64() +} + +// _assert will panic with a given formatted message if the given condition is false. +func _assert(condition bool, msg string, v ...interface{}) { + if !condition { + panic(fmt.Sprintf("assertion failed: "+msg, v...)) + } +} + +func warn(v ...interface{}) { fmt.Fprintln(os.Stderr, v...) } +func warnf(msg string, v ...interface{}) { fmt.Fprintf(os.Stderr, msg+"\n", v...) } + +func printstack() { + stack := strings.Join(strings.Split(string(debug.Stack()), "\n")[2:], "\n") + fmt.Fprintln(os.Stderr, stack) +} diff --git a/vendor/github.com/boltdb/bolt/doc.go b/vendor/github.com/boltdb/bolt/doc.go new file mode 100644 index 00000000..cc937845 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/doc.go @@ -0,0 +1,44 @@ +/* +Package bolt implements a low-level key/value store in pure Go. It supports +fully serializable transactions, ACID semantics, and lock-free MVCC with +multiple readers and a single writer. Bolt can be used for projects that +want a simple data store without the need to add large dependencies such as +Postgres or MySQL. + +Bolt is a single-level, zero-copy, B+tree data store. This means that Bolt is +optimized for fast read access and does not require recovery in the event of a +system crash. Transactions which have not finished committing will simply be +rolled back in the event of a crash. + +The design of Bolt is based on Howard Chu's LMDB database project. + +Bolt currently works on Windows, Mac OS X, and Linux. + + +Basics + +There are only a few types in Bolt: DB, Bucket, Tx, and Cursor. The DB is +a collection of buckets and is represented by a single file on disk. A bucket is +a collection of unique keys that are associated with values. + +Transactions provide either read-only or read-write access to the database. +Read-only transactions can retrieve key/value pairs and can use Cursors to +iterate over the dataset sequentially. Read-write transactions can create and +delete buckets and can insert and remove keys. Only one read-write transaction +is allowed at a time. + + +Caveats + +The database uses a read-only, memory-mapped data file to ensure that +applications cannot corrupt the database, however, this means that keys and +values returned from Bolt cannot be changed. Writing to a read-only byte slice +will cause Go to panic. + +Keys and values retrieved from the database are only valid for the life of +the transaction. When used outside the transaction, these byte slices can +point to different data or can point to invalid memory which will cause a panic. + + +*/ +package bolt diff --git a/vendor/github.com/boltdb/bolt/errors.go b/vendor/github.com/boltdb/bolt/errors.go new file mode 100644 index 00000000..a3620a3e --- /dev/null +++ b/vendor/github.com/boltdb/bolt/errors.go @@ -0,0 +1,71 @@ +package bolt + +import "errors" + +// These errors can be returned when opening or calling methods on a DB. +var ( + // ErrDatabaseNotOpen is returned when a DB instance is accessed before it + // is opened or after it is closed. + ErrDatabaseNotOpen = errors.New("database not open") + + // ErrDatabaseOpen is returned when opening a database that is + // already open. + ErrDatabaseOpen = errors.New("database already open") + + // ErrInvalid is returned when both meta pages on a database are invalid. + // This typically occurs when a file is not a bolt database. + ErrInvalid = errors.New("invalid database") + + // ErrVersionMismatch is returned when the data file was created with a + // different version of Bolt. + ErrVersionMismatch = errors.New("version mismatch") + + // ErrChecksum is returned when either meta page checksum does not match. + ErrChecksum = errors.New("checksum error") + + // ErrTimeout is returned when a database cannot obtain an exclusive lock + // on the data file after the timeout passed to Open(). + ErrTimeout = errors.New("timeout") +) + +// These errors can occur when beginning or committing a Tx. +var ( + // ErrTxNotWritable is returned when performing a write operation on a + // read-only transaction. + ErrTxNotWritable = errors.New("tx not writable") + + // ErrTxClosed is returned when committing or rolling back a transaction + // that has already been committed or rolled back. + ErrTxClosed = errors.New("tx closed") + + // ErrDatabaseReadOnly is returned when a mutating transaction is started on a + // read-only database. + ErrDatabaseReadOnly = errors.New("database is in read-only mode") +) + +// These errors can occur when putting or deleting a value or a bucket. +var ( + // ErrBucketNotFound is returned when trying to access a bucket that has + // not been created yet. + ErrBucketNotFound = errors.New("bucket not found") + + // ErrBucketExists is returned when creating a bucket that already exists. + ErrBucketExists = errors.New("bucket already exists") + + // ErrBucketNameRequired is returned when creating a bucket with a blank name. + ErrBucketNameRequired = errors.New("bucket name required") + + // ErrKeyRequired is returned when inserting a zero-length key. + ErrKeyRequired = errors.New("key required") + + // ErrKeyTooLarge is returned when inserting a key that is larger than MaxKeySize. + ErrKeyTooLarge = errors.New("key too large") + + // ErrValueTooLarge is returned when inserting a value that is larger than MaxValueSize. + ErrValueTooLarge = errors.New("value too large") + + // ErrIncompatibleValue is returned when trying create or delete a bucket + // on an existing non-bucket key or when trying to create or delete a + // non-bucket key on an existing bucket key. + ErrIncompatibleValue = errors.New("incompatible value") +) diff --git a/vendor/github.com/boltdb/bolt/freelist.go b/vendor/github.com/boltdb/bolt/freelist.go new file mode 100644 index 00000000..aba48f58 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/freelist.go @@ -0,0 +1,252 @@ +package bolt + +import ( + "fmt" + "sort" + "unsafe" +) + +// freelist represents a list of all pages that are available for allocation. +// It also tracks pages that have been freed but are still in use by open transactions. +type freelist struct { + ids []pgid // all free and available free page ids. + pending map[txid][]pgid // mapping of soon-to-be free page ids by tx. + cache map[pgid]bool // fast lookup of all free and pending page ids. +} + +// newFreelist returns an empty, initialized freelist. +func newFreelist() *freelist { + return &freelist{ + pending: make(map[txid][]pgid), + cache: make(map[pgid]bool), + } +} + +// size returns the size of the page after serialization. +func (f *freelist) size() int { + n := f.count() + if n >= 0xFFFF { + // The first element will be used to store the count. See freelist.write. + n++ + } + return pageHeaderSize + (int(unsafe.Sizeof(pgid(0))) * n) +} + +// count returns count of pages on the freelist +func (f *freelist) count() int { + return f.free_count() + f.pending_count() +} + +// free_count returns count of free pages +func (f *freelist) free_count() int { + return len(f.ids) +} + +// pending_count returns count of pending pages +func (f *freelist) pending_count() int { + var count int + for _, list := range f.pending { + count += len(list) + } + return count +} + +// copyall copies into dst a list of all free ids and all pending ids in one sorted list. +// f.count returns the minimum length required for dst. +func (f *freelist) copyall(dst []pgid) { + m := make(pgids, 0, f.pending_count()) + for _, list := range f.pending { + m = append(m, list...) + } + sort.Sort(m) + mergepgids(dst, f.ids, m) +} + +// allocate returns the starting page id of a contiguous list of pages of a given size. +// If a contiguous block cannot be found then 0 is returned. +func (f *freelist) allocate(n int) pgid { + if len(f.ids) == 0 { + return 0 + } + + var initial, previd pgid + for i, id := range f.ids { + if id <= 1 { + panic(fmt.Sprintf("invalid page allocation: %d", id)) + } + + // Reset initial page if this is not contiguous. + if previd == 0 || id-previd != 1 { + initial = id + } + + // If we found a contiguous block then remove it and return it. + if (id-initial)+1 == pgid(n) { + // If we're allocating off the beginning then take the fast path + // and just adjust the existing slice. This will use extra memory + // temporarily but the append() in free() will realloc the slice + // as is necessary. + if (i + 1) == n { + f.ids = f.ids[i+1:] + } else { + copy(f.ids[i-n+1:], f.ids[i+1:]) + f.ids = f.ids[:len(f.ids)-n] + } + + // Remove from the free cache. + for i := pgid(0); i < pgid(n); i++ { + delete(f.cache, initial+i) + } + + return initial + } + + previd = id + } + return 0 +} + +// free releases a page and its overflow for a given transaction id. +// If the page is already free then a panic will occur. +func (f *freelist) free(txid txid, p *page) { + if p.id <= 1 { + panic(fmt.Sprintf("cannot free page 0 or 1: %d", p.id)) + } + + // Free page and all its overflow pages. + var ids = f.pending[txid] + for id := p.id; id <= p.id+pgid(p.overflow); id++ { + // Verify that page is not already free. + if f.cache[id] { + panic(fmt.Sprintf("page %d already freed", id)) + } + + // Add to the freelist and cache. + ids = append(ids, id) + f.cache[id] = true + } + f.pending[txid] = ids +} + +// release moves all page ids for a transaction id (or older) to the freelist. +func (f *freelist) release(txid txid) { + m := make(pgids, 0) + for tid, ids := range f.pending { + if tid <= txid { + // Move transaction's pending pages to the available freelist. + // Don't remove from the cache since the page is still free. + m = append(m, ids...) + delete(f.pending, tid) + } + } + sort.Sort(m) + f.ids = pgids(f.ids).merge(m) +} + +// rollback removes the pages from a given pending tx. +func (f *freelist) rollback(txid txid) { + // Remove page ids from cache. + for _, id := range f.pending[txid] { + delete(f.cache, id) + } + + // Remove pages from pending list. + delete(f.pending, txid) +} + +// freed returns whether a given page is in the free list. +func (f *freelist) freed(pgid pgid) bool { + return f.cache[pgid] +} + +// read initializes the freelist from a freelist page. +func (f *freelist) read(p *page) { + // If the page.count is at the max uint16 value (64k) then it's considered + // an overflow and the size of the freelist is stored as the first element. + idx, count := 0, int(p.count) + if count == 0xFFFF { + idx = 1 + count = int(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[0]) + } + + // Copy the list of page ids from the freelist. + if count == 0 { + f.ids = nil + } else { + ids := ((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[idx:count] + f.ids = make([]pgid, len(ids)) + copy(f.ids, ids) + + // Make sure they're sorted. + sort.Sort(pgids(f.ids)) + } + + // Rebuild the page cache. + f.reindex() +} + +// write writes the page ids onto a freelist page. All free and pending ids are +// saved to disk since in the event of a program crash, all pending ids will +// become free. +func (f *freelist) write(p *page) error { + // Combine the old free pgids and pgids waiting on an open transaction. + + // Update the header flag. + p.flags |= freelistPageFlag + + // The page.count can only hold up to 64k elements so if we overflow that + // number then we handle it by putting the size in the first element. + lenids := f.count() + if lenids == 0 { + p.count = uint16(lenids) + } else if lenids < 0xFFFF { + p.count = uint16(lenids) + f.copyall(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[:]) + } else { + p.count = 0xFFFF + ((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[0] = pgid(lenids) + f.copyall(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[1:]) + } + + return nil +} + +// reload reads the freelist from a page and filters out pending items. +func (f *freelist) reload(p *page) { + f.read(p) + + // Build a cache of only pending pages. + pcache := make(map[pgid]bool) + for _, pendingIDs := range f.pending { + for _, pendingID := range pendingIDs { + pcache[pendingID] = true + } + } + + // Check each page in the freelist and build a new available freelist + // with any pages not in the pending lists. + var a []pgid + for _, id := range f.ids { + if !pcache[id] { + a = append(a, id) + } + } + f.ids = a + + // Once the available list is rebuilt then rebuild the free cache so that + // it includes the available and pending free pages. + f.reindex() +} + +// reindex rebuilds the free cache based on available and pending free lists. +func (f *freelist) reindex() { + f.cache = make(map[pgid]bool, len(f.ids)) + for _, id := range f.ids { + f.cache[id] = true + } + for _, pendingIDs := range f.pending { + for _, pendingID := range pendingIDs { + f.cache[pendingID] = true + } + } +} diff --git a/vendor/github.com/boltdb/bolt/node.go b/vendor/github.com/boltdb/bolt/node.go new file mode 100644 index 00000000..159318b2 --- /dev/null +++ b/vendor/github.com/boltdb/bolt/node.go @@ -0,0 +1,604 @@ +package bolt + +import ( + "bytes" + "fmt" + "sort" + "unsafe" +) + +// node represents an in-memory, deserialized page. +type node struct { + bucket *Bucket + isLeaf bool + unbalanced bool + spilled bool + key []byte + pgid pgid + parent *node + children nodes + inodes inodes +} + +// root returns the top-level node this node is attached to. +func (n *node) root() *node { + if n.parent == nil { + return n + } + return n.parent.root() +} + +// minKeys returns the minimum number of inodes this node should have. +func (n *node) minKeys() int { + if n.isLeaf { + return 1 + } + return 2 +} + +// size returns the size of the node after serialization. +func (n *node) size() int { + sz, elsz := pageHeaderSize, n.pageElementSize() + for i := 0; i < len(n.inodes); i++ { + item := &n.inodes[i] + sz += elsz + len(item.key) + len(item.value) + } + return sz +} + +// sizeLessThan returns true if the node is less than a given size. +// This is an optimization to avoid calculating a large node when we only need +// to know if it fits inside a certain page size. +func (n *node) sizeLessThan(v int) bool { + sz, elsz := pageHeaderSize, n.pageElementSize() + for i := 0; i < len(n.inodes); i++ { + item := &n.inodes[i] + sz += elsz + len(item.key) + len(item.value) + if sz >= v { + return false + } + } + return true +} + +// pageElementSize returns the size of each page element based on the type of node. +func (n *node) pageElementSize() int { + if n.isLeaf { + return leafPageElementSize + } + return branchPageElementSize +} + +// childAt returns the child node at a given index. +func (n *node) childAt(index int) *node { + if n.isLeaf { + panic(fmt.Sprintf("invalid childAt(%d) on a leaf node", index)) + } + return n.bucket.node(n.inodes[index].pgid, n) +} + +// childIndex returns the index of a given child node. +func (n *node) childIndex(child *node) int { + index := sort.Search(len(n.inodes), func(i int) bool { return bytes.Compare(n.inodes[i].key, child.key) != -1 }) + return index +} + +// numChildren returns the number of children. +func (n *node) numChildren() int { + return len(n.inodes) +} + +// nextSibling returns the next node with the same parent. +func (n *node) nextSibling() *node { + if n.parent == nil { + return nil + } + index := n.parent.childIndex(n) + if index >= n.parent.numChildren()-1 { + return nil + } + return n.parent.childAt(index + 1) +} + +// prevSibling returns the previous node with the same parent. +func (n *node) prevSibling() *node { + if n.parent == nil { + return nil + } + index := n.parent.childIndex(n) + if index == 0 { + return nil + } + return n.parent.childAt(index - 1) +} + +// put inserts a key/value. +func (n *node) put(oldKey, newKey, value []byte, pgid pgid, flags uint32) { + if pgid >= n.bucket.tx.meta.pgid { + panic(fmt.Sprintf("pgid (%d) above high water mark (%d)", pgid, n.bucket.tx.meta.pgid)) + } else if len(oldKey) <= 0 { + panic("put: zero-length old key") + } else if len(newKey) <= 0 { + panic("put: zero-length new key") + } + + // Find insertion index. + index := sort.Search(len(n.inodes), func(i int) bool { return bytes.Compare(n.inodes[i].key, oldKey) != -1 }) + + // Add capacity and shift nodes if we don't have an exact match and need to insert. + exact := (len(n.inodes) > 0 && index < len(n.inodes) && bytes.Equal(n.inodes[index].key, oldKey)) + if !exact { + n.inodes = append(n.inodes, inode{}) + copy(n.inodes[index+1:], n.inodes[index:]) + } + + inode := &n.inodes[index] + inode.flags = flags + inode.key = newKey + inode.value = value + inode.pgid = pgid + _assert(len(inode.key) > 0, "put: zero-length inode key") +} + +// del removes a key from the node. +func (n *node) del(key []byte) { + // Find index of key. + index := sort.Search(len(n.inodes), func(i int) bool { return bytes.Compare(n.inodes[i].key, key) != -1 }) + + // Exit if the key isn't found. + if index >= len(n.inodes) || !bytes.Equal(n.inodes[index].key, key) { + return + } + + // Delete inode from the node. + n.inodes = append(n.inodes[:index], n.inodes[index+1:]...) + + // Mark the node as needing rebalancing. + n.unbalanced = true +} + +// read initializes the node from a page. +func (n *node) read(p *page) { + n.pgid = p.id + n.isLeaf = ((p.flags & leafPageFlag) != 0) + n.inodes = make(inodes, int(p.count)) + + for i := 0; i < int(p.count); i++ { + inode := &n.inodes[i] + if n.isLeaf { + elem := p.leafPageElement(uint16(i)) + inode.flags = elem.flags + inode.key = elem.key() + inode.value = elem.value() + } else { + elem := p.branchPageElement(uint16(i)) + inode.pgid = elem.pgid + inode.key = elem.key() + } + _assert(len(inode.key) > 0, "read: zero-length inode key") + } + + // Save first key so we can find the node in the parent when we spill. + if len(n.inodes) > 0 { + n.key = n.inodes[0].key + _assert(len(n.key) > 0, "read: zero-length node key") + } else { + n.key = nil + } +} + +// write writes the items onto one or more pages. +func (n *node) write(p *page) { + // Initialize page. + if n.isLeaf { + p.flags |= leafPageFlag + } else { + p.flags |= branchPageFlag + } + + if len(n.inodes) >= 0xFFFF { + panic(fmt.Sprintf("inode overflow: %d (pgid=%d)", len(n.inodes), p.id)) + } + p.count = uint16(len(n.inodes)) + + // Stop here if there are no items to write. + if p.count == 0 { + return + } + + // Loop over each item and write it to the page. + b := (*[maxAllocSize]byte)(unsafe.Pointer(&p.ptr))[n.pageElementSize()*len(n.inodes):] + for i, item := range n.inodes { + _assert(len(item.key) > 0, "write: zero-length inode key") + + // Write the page element. + if n.isLeaf { + elem := p.leafPageElement(uint16(i)) + elem.pos = uint32(uintptr(unsafe.Pointer(&b[0])) - uintptr(unsafe.Pointer(elem))) + elem.flags = item.flags + elem.ksize = uint32(len(item.key)) + elem.vsize = uint32(len(item.value)) + } else { + elem := p.branchPageElement(uint16(i)) + elem.pos = uint32(uintptr(unsafe.Pointer(&b[0])) - uintptr(unsafe.Pointer(elem))) + elem.ksize = uint32(len(item.key)) + elem.pgid = item.pgid + _assert(elem.pgid != p.id, "write: circular dependency occurred") + } + + // If the length of key+value is larger than the max allocation size + // then we need to reallocate the byte array pointer. + // + // See: https://github.com/boltdb/bolt/pull/335 + klen, vlen := len(item.key), len(item.value) + if len(b) < klen+vlen { + b = (*[maxAllocSize]byte)(unsafe.Pointer(&b[0]))[:] + } + + // Write data for the element to the end of the page. + copy(b[0:], item.key) + b = b[klen:] + copy(b[0:], item.value) + b = b[vlen:] + } + + // DEBUG ONLY: n.dump() +} + +// split breaks up a node into multiple smaller nodes, if appropriate. +// This should only be called from the spill() function. +func (n *node) split(pageSize int) []*node { + var nodes []*node + + node := n + for { + // Split node into two. + a, b := node.splitTwo(pageSize) + nodes = append(nodes, a) + + // If we can't split then exit the loop. + if b == nil { + break + } + + // Set node to b so it gets split on the next iteration. + node = b + } + + return nodes +} + +// splitTwo breaks up a node into two smaller nodes, if appropriate. +// This should only be called from the split() function. +func (n *node) splitTwo(pageSize int) (*node, *node) { + // Ignore the split if the page doesn't have at least enough nodes for + // two pages or if the nodes can fit in a single page. + if len(n.inodes) <= (minKeysPerPage*2) || n.sizeLessThan(pageSize) { + return n, nil + } + + // Determine the threshold before starting a new node. + var fillPercent = n.bucket.FillPercent + if fillPercent < minFillPercent { + fillPercent = minFillPercent + } else if fillPercent > maxFillPercent { + fillPercent = maxFillPercent + } + threshold := int(float64(pageSize) * fillPercent) + + // Determine split position and sizes of the two pages. + splitIndex, _ := n.splitIndex(threshold) + + // Split node into two separate nodes. + // If there's no parent then we'll need to create one. + if n.parent == nil { + n.parent = &node{bucket: n.bucket, children: []*node{n}} + } + + // Create a new node and add it to the parent. + next := &node{bucket: n.bucket, isLeaf: n.isLeaf, parent: n.parent} + n.parent.children = append(n.parent.children, next) + + // Split inodes across two nodes. + next.inodes = n.inodes[splitIndex:] + n.inodes = n.inodes[:splitIndex] + + // Update the statistics. + n.bucket.tx.stats.Split++ + + return n, next +} + +// splitIndex finds the position where a page will fill a given threshold. +// It returns the index as well as the size of the first page. +// This is only be called from split(). +func (n *node) splitIndex(threshold int) (index, sz int) { + sz = pageHeaderSize + + // Loop until we only have the minimum number of keys required for the second page. + for i := 0; i < len(n.inodes)-minKeysPerPage; i++ { + index = i + inode := n.inodes[i] + elsize := n.pageElementSize() + len(inode.key) + len(inode.value) + + // If we have at least the minimum number of keys and adding another + // node would put us over the threshold then exit and return. + if i >= minKeysPerPage && sz+elsize > threshold { + break + } + + // Add the element size to the total size. + sz += elsize + } + + return +} + +// spill writes the nodes to dirty pages and splits nodes as it goes. +// Returns an error if dirty pages cannot be allocated. +func (n *node) spill() error { + var tx = n.bucket.tx + if n.spilled { + return nil + } + + // Spill child nodes first. Child nodes can materialize sibling nodes in + // the case of split-merge so we cannot use a range loop. We have to check + // the children size on every loop iteration. + sort.Sort(n.children) + for i := 0; i < len(n.children); i++ { + if err := n.children[i].spill(); err != nil { + return err + } + } + + // We no longer need the child list because it's only used for spill tracking. + n.children = nil + + // Split nodes into appropriate sizes. The first node will always be n. + var nodes = n.split(tx.db.pageSize) + for _, node := range nodes { + // Add node's page to the freelist if it's not new. + if node.pgid > 0 { + tx.db.freelist.free(tx.meta.txid, tx.page(node.pgid)) + node.pgid = 0 + } + + // Allocate contiguous space for the node. + p, err := tx.allocate((node.size() / tx.db.pageSize) + 1) + if err != nil { + return err + } + + // Write the node. + if p.id >= tx.meta.pgid { + panic(fmt.Sprintf("pgid (%d) above high water mark (%d)", p.id, tx.meta.pgid)) + } + node.pgid = p.id + node.write(p) + node.spilled = true + + // Insert into parent inodes. + if node.parent != nil { + var key = node.key + if key == nil { + key = node.inodes[0].key + } + + node.parent.put(key, node.inodes[0].key, nil, node.pgid, 0) + node.key = node.inodes[0].key + _assert(len(node.key) > 0, "spill: zero-length node key") + } + + // Update the statistics. + tx.stats.Spill++ + } + + // If the root node split and created a new root then we need to spill that + // as well. We'll clear out the children to make sure it doesn't try to respill. + if n.parent != nil && n.parent.pgid == 0 { + n.children = nil + return n.parent.spill() + } + + return nil +} + +// rebalance attempts to combine the node with sibling nodes if the node fill +// size is below a threshold or if there are not enough keys. +func (n *node) rebalance() { + if !n.unbalanced { + return + } + n.unbalanced = false + + // Update statistics. + n.bucket.tx.stats.Rebalance++ + + // Ignore if node is above threshold (25%) and has enough keys. + var threshold = n.bucket.tx.db.pageSize / 4 + if n.size() > threshold && len(n.inodes) > n.minKeys() { + return + } + + // Root node has special handling. + if n.parent == nil { + // If root node is a branch and only has one node then collapse it. + if !n.isLeaf && len(n.inodes) == 1 { + // Move root's child up. + child := n.bucket.node(n.inodes[0].pgid, n) + n.isLeaf = child.isLeaf + n.inodes = child.inodes[:] + n.children = child.children + + // Reparent all child nodes being moved. + for _, inode := range n.inodes { + if child, ok := n.bucket.nodes[inode.pgid]; ok { + child.parent = n + } + } + + // Remove old child. + child.parent = nil + delete(n.bucket.nodes, child.pgid) + child.free() + } + + return + } + + // If node has no keys then just remove it. + if n.numChildren() == 0 { + n.parent.del(n.key) + n.parent.removeChild(n) + delete(n.bucket.nodes, n.pgid) + n.free() + n.parent.rebalance() + return + } + + _assert(n.parent.numChildren() > 1, "parent must have at least 2 children") + + // Destination node is right sibling if idx == 0, otherwise left sibling. + var target *node + var useNextSibling = (n.parent.childIndex(n) == 0) + if useNextSibling { + target = n.nextSibling() + } else { + target = n.prevSibling() + } + + // If both this node and the target node are too small then merge them. + if useNextSibling { + // Reparent all child nodes being moved. + for _, inode := range target.inodes { + if child, ok := n.bucket.nodes[inode.pgid]; ok { + child.parent.removeChild(child) + child.parent = n + child.parent.children = append(child.parent.children, child) + } + } + + // Copy over inodes from target and remove target. + n.inodes = append(n.inodes, target.inodes...) + n.parent.del(target.key) + n.parent.removeChild(target) + delete(n.bucket.nodes, target.pgid) + target.free() + } else { + // Reparent all child nodes being moved. + for _, inode := range n.inodes { + if child, ok := n.bucket.nodes[inode.pgid]; ok { + child.parent.removeChild(child) + child.parent = target + child.parent.children = append(child.parent.children, child) + } + } + + // Copy over inodes to target and remove node. + target.inodes = append(target.inodes, n.inodes...) + n.parent.del(n.key) + n.parent.removeChild(n) + delete(n.bucket.nodes, n.pgid) + n.free() + } + + // Either this node or the target node was deleted from the parent so rebalance it. + n.parent.rebalance() +} + +// removes a node from the list of in-memory children. +// This does not affect the inodes. +func (n *node) removeChild(target *node) { + for i, child := range n.children { + if child == target { + n.children = append(n.children[:i], n.children[i+1:]...) + return + } + } +} + +// dereference causes the node to copy all its inode key/value references to heap memory. +// This is required when the mmap is reallocated so inodes are not pointing to stale data. +func (n *node) dereference() { + if n.key != nil { + key := make([]byte, len(n.key)) + copy(key, n.key) + n.key = key + _assert(n.pgid == 0 || len(n.key) > 0, "dereference: zero-length node key on existing node") + } + + for i := range n.inodes { + inode := &n.inodes[i] + + key := make([]byte, len(inode.key)) + copy(key, inode.key) + inode.key = key + _assert(len(inode.key) > 0, "dereference: zero-length inode key") + + value := make([]byte, len(inode.value)) + copy(value, inode.value) + inode.value = value + } + + // Recursively dereference children. + for _, child := range n.children { + child.dereference() + } + + // Update statistics. + n.bucket.tx.stats.NodeDeref++ +} + +// free adds the node's underlying page to the freelist. +func (n *node) free() { + if n.pgid != 0 { + n.bucket.tx.db.freelist.free(n.bucket.tx.meta.txid, n.bucket.tx.page(n.pgid)) + n.pgid = 0 + } +} + +// dump writes the contents of the node to STDERR for debugging purposes. +/* +func (n *node) dump() { + // Write node header. + var typ = "branch" + if n.isLeaf { + typ = "leaf" + } + warnf("[NODE %d {type=%s count=%d}]", n.pgid, typ, len(n.inodes)) + + // Write out abbreviated version of each item. + for _, item := range n.inodes { + if n.isLeaf { + if item.flags&bucketLeafFlag != 0 { + bucket := (*bucket)(unsafe.Pointer(&item.value[0])) + warnf("+L %08x -> (bucket root=%d)", trunc(item.key, 4), bucket.root) + } else { + warnf("+L %08x -> %08x", trunc(item.key, 4), trunc(item.value, 4)) + } + } else { + warnf("+B %08x -> pgid=%d", trunc(item.key, 4), item.pgid) + } + } + warn("") +} +*/ + +type nodes []*node + +func (s nodes) Len() int { return len(s) } +func (s nodes) Swap(i, j int) { s[i], s[j] = s[j], s[i] } +func (s nodes) Less(i, j int) bool { return bytes.Compare(s[i].inodes[0].key, s[j].inodes[0].key) == -1 } + +// inode represents an internal node inside of a node. +// It can be used to point to elements in a page or point +// to an element which hasn't been added to a page yet. +type inode struct { + flags uint32 + pgid pgid + key []byte + value []byte +} + +type inodes []inode diff --git a/vendor/github.com/boltdb/bolt/page.go b/vendor/github.com/boltdb/bolt/page.go new file mode 100644 index 00000000..cde403ae --- /dev/null +++ b/vendor/github.com/boltdb/bolt/page.go @@ -0,0 +1,197 @@ +package bolt + +import ( + "fmt" + "os" + "sort" + "unsafe" +) + +const pageHeaderSize = int(unsafe.Offsetof(((*page)(nil)).ptr)) + +const minKeysPerPage = 2 + +const branchPageElementSize = int(unsafe.Sizeof(branchPageElement{})) +const leafPageElementSize = int(unsafe.Sizeof(leafPageElement{})) + +const ( + branchPageFlag = 0x01 + leafPageFlag = 0x02 + metaPageFlag = 0x04 + freelistPageFlag = 0x10 +) + +const ( + bucketLeafFlag = 0x01 +) + +type pgid uint64 + +type page struct { + id pgid + flags uint16 + count uint16 + overflow uint32 + ptr uintptr +} + +// typ returns a human readable page type string used for debugging. +func (p *page) typ() string { + if (p.flags & branchPageFlag) != 0 { + return "branch" + } else if (p.flags & leafPageFlag) != 0 { + return "leaf" + } else if (p.flags & metaPageFlag) != 0 { + return "meta" + } else if (p.flags & freelistPageFlag) != 0 { + return "freelist" + } + return fmt.Sprintf("unknown<%02x>", p.flags) +} + +// meta returns a pointer to the metadata section of the page. +func (p *page) meta() *meta { + return (*meta)(unsafe.Pointer(&p.ptr)) +} + +// leafPageElement retrieves the leaf node by index +func (p *page) leafPageElement(index uint16) *leafPageElement { + n := &((*[0x7FFFFFF]leafPageElement)(unsafe.Pointer(&p.ptr)))[index] + return n +} + +// leafPageElements retrieves a list of leaf nodes. +func (p *page) leafPageElements() []leafPageElement { + if p.count == 0 { + return nil + } + return ((*[0x7FFFFFF]leafPageElement)(unsafe.Pointer(&p.ptr)))[:] +} + +// branchPageElement retrieves the branch node by index +func (p *page) branchPageElement(index uint16) *branchPageElement { + return &((*[0x7FFFFFF]branchPageElement)(unsafe.Pointer(&p.ptr)))[index] +} + +// branchPageElements retrieves a list of branch nodes. +func (p *page) branchPageElements() []branchPageElement { + if p.count == 0 { + return nil + } + return ((*[0x7FFFFFF]branchPageElement)(unsafe.Pointer(&p.ptr)))[:] +} + +// dump writes n bytes of the page to STDERR as hex output. +func (p *page) hexdump(n int) { + buf := (*[maxAllocSize]byte)(unsafe.Pointer(p))[:n] + fmt.Fprintf(os.Stderr, "%x\n", buf) +} + +type pages []*page + +func (s pages) Len() int { return len(s) } +func (s pages) Swap(i, j int) { s[i], s[j] = s[j], s[i] } +func (s pages) Less(i, j int) bool { return s[i].id < s[j].id } + +// branchPageElement represents a node on a branch page. +type branchPageElement struct { + pos uint32 + ksize uint32 + pgid pgid +} + +// key returns a byte slice of the node key. +func (n *branchPageElement) key() []byte { + buf := (*[maxAllocSize]byte)(unsafe.Pointer(n)) + return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize] +} + +// leafPageElement represents a node on a leaf page. +type leafPageElement struct { + flags uint32 + pos uint32 + ksize uint32 + vsize uint32 +} + +// key returns a byte slice of the node key. +func (n *leafPageElement) key() []byte { + buf := (*[maxAllocSize]byte)(unsafe.Pointer(n)) + return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize:n.ksize] +} + +// value returns a byte slice of the node value. +func (n *leafPageElement) value() []byte { + buf := (*[maxAllocSize]byte)(unsafe.Pointer(n)) + return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos+n.ksize]))[:n.vsize:n.vsize] +} + +// PageInfo represents human readable information about a page. +type PageInfo struct { + ID int + Type string + Count int + OverflowCount int +} + +type pgids []pgid + +func (s pgids) Len() int { return len(s) } +func (s pgids) Swap(i, j int) { s[i], s[j] = s[j], s[i] } +func (s pgids) Less(i, j int) bool { return s[i] < s[j] } + +// merge returns the sorted union of a and b. +func (a pgids) merge(b pgids) pgids { + // Return the opposite slice if one is nil. + if len(a) == 0 { + return b + } + if len(b) == 0 { + return a + } + merged := make(pgids, len(a)+len(b)) + mergepgids(merged, a, b) + return merged +} + +// mergepgids copies the sorted union of a and b into dst. +// If dst is too small, it panics. +func mergepgids(dst, a, b pgids) { + if len(dst) < len(a)+len(b) { + panic(fmt.Errorf("mergepgids bad len %d < %d + %d", len(dst), len(a), len(b))) + } + // Copy in the opposite slice if one is nil. + if len(a) == 0 { + copy(dst, b) + return + } + if len(b) == 0 { + copy(dst, a) + return + } + + // Merged will hold all elements from both lists. + merged := dst[:0] + + // Assign lead to the slice with a lower starting value, follow to the higher value. + lead, follow := a, b + if b[0] < a[0] { + lead, follow = b, a + } + + // Continue while there are elements in the lead. + for len(lead) > 0 { + // Merge largest prefix of lead that is ahead of follow[0]. + n := sort.Search(len(lead), func(i int) bool { return lead[i] > follow[0] }) + merged = append(merged, lead[:n]...) + if n >= len(lead) { + break + } + + // Swap lead and follow. + lead, follow = follow, lead[n:] + } + + // Append what's left in follow. + _ = append(merged, follow...) +} diff --git a/vendor/github.com/boltdb/bolt/tx.go b/vendor/github.com/boltdb/bolt/tx.go new file mode 100644 index 00000000..6700308a --- /dev/null +++ b/vendor/github.com/boltdb/bolt/tx.go @@ -0,0 +1,684 @@ +package bolt + +import ( + "fmt" + "io" + "os" + "sort" + "strings" + "time" + "unsafe" +) + +// txid represents the internal transaction identifier. +type txid uint64 + +// Tx represents a read-only or read/write transaction on the database. +// Read-only transactions can be used for retrieving values for keys and creating cursors. +// Read/write transactions can create and remove buckets and create and remove keys. +// +// IMPORTANT: You must commit or rollback transactions when you are done with +// them. Pages can not be reclaimed by the writer until no more transactions +// are using them. A long running read transaction can cause the database to +// quickly grow. +type Tx struct { + writable bool + managed bool + db *DB + meta *meta + root Bucket + pages map[pgid]*page + stats TxStats + commitHandlers []func() + + // WriteFlag specifies the flag for write-related methods like WriteTo(). + // Tx opens the database file with the specified flag to copy the data. + // + // By default, the flag is unset, which works well for mostly in-memory + // workloads. For databases that are much larger than available RAM, + // set the flag to syscall.O_DIRECT to avoid trashing the page cache. + WriteFlag int +} + +// init initializes the transaction. +func (tx *Tx) init(db *DB) { + tx.db = db + tx.pages = nil + + // Copy the meta page since it can be changed by the writer. + tx.meta = &meta{} + db.meta().copy(tx.meta) + + // Copy over the root bucket. + tx.root = newBucket(tx) + tx.root.bucket = &bucket{} + *tx.root.bucket = tx.meta.root + + // Increment the transaction id and add a page cache for writable transactions. + if tx.writable { + tx.pages = make(map[pgid]*page) + tx.meta.txid += txid(1) + } +} + +// ID returns the transaction id. +func (tx *Tx) ID() int { + return int(tx.meta.txid) +} + +// DB returns a reference to the database that created the transaction. +func (tx *Tx) DB() *DB { + return tx.db +} + +// Size returns current database size in bytes as seen by this transaction. +func (tx *Tx) Size() int64 { + return int64(tx.meta.pgid) * int64(tx.db.pageSize) +} + +// Writable returns whether the transaction can perform write operations. +func (tx *Tx) Writable() bool { + return tx.writable +} + +// Cursor creates a cursor associated with the root bucket. +// All items in the cursor will return a nil value because all root bucket keys point to buckets. +// The cursor is only valid as long as the transaction is open. +// Do not use a cursor after the transaction is closed. +func (tx *Tx) Cursor() *Cursor { + return tx.root.Cursor() +} + +// Stats retrieves a copy of the current transaction statistics. +func (tx *Tx) Stats() TxStats { + return tx.stats +} + +// Bucket retrieves a bucket by name. +// Returns nil if the bucket does not exist. +// The bucket instance is only valid for the lifetime of the transaction. +func (tx *Tx) Bucket(name []byte) *Bucket { + return tx.root.Bucket(name) +} + +// CreateBucket creates a new bucket. +// Returns an error if the bucket already exists, if the bucket name is blank, or if the bucket name is too long. +// The bucket instance is only valid for the lifetime of the transaction. +func (tx *Tx) CreateBucket(name []byte) (*Bucket, error) { + return tx.root.CreateBucket(name) +} + +// CreateBucketIfNotExists creates a new bucket if it doesn't already exist. +// Returns an error if the bucket name is blank, or if the bucket name is too long. +// The bucket instance is only valid for the lifetime of the transaction. +func (tx *Tx) CreateBucketIfNotExists(name []byte) (*Bucket, error) { + return tx.root.CreateBucketIfNotExists(name) +} + +// DeleteBucket deletes a bucket. +// Returns an error if the bucket cannot be found or if the key represents a non-bucket value. +func (tx *Tx) DeleteBucket(name []byte) error { + return tx.root.DeleteBucket(name) +} + +// ForEach executes a function for each bucket in the root. +// If the provided function returns an error then the iteration is stopped and +// the error is returned to the caller. +func (tx *Tx) ForEach(fn func(name []byte, b *Bucket) error) error { + return tx.root.ForEach(func(k, v []byte) error { + if err := fn(k, tx.root.Bucket(k)); err != nil { + return err + } + return nil + }) +} + +// OnCommit adds a handler function to be executed after the transaction successfully commits. +func (tx *Tx) OnCommit(fn func()) { + tx.commitHandlers = append(tx.commitHandlers, fn) +} + +// Commit writes all changes to disk and updates the meta page. +// Returns an error if a disk write error occurs, or if Commit is +// called on a read-only transaction. +func (tx *Tx) Commit() error { + _assert(!tx.managed, "managed tx commit not allowed") + if tx.db == nil { + return ErrTxClosed + } else if !tx.writable { + return ErrTxNotWritable + } + + // TODO(benbjohnson): Use vectorized I/O to write out dirty pages. + + // Rebalance nodes which have had deletions. + var startTime = time.Now() + tx.root.rebalance() + if tx.stats.Rebalance > 0 { + tx.stats.RebalanceTime += time.Since(startTime) + } + + // spill data onto dirty pages. + startTime = time.Now() + if err := tx.root.spill(); err != nil { + tx.rollback() + return err + } + tx.stats.SpillTime += time.Since(startTime) + + // Free the old root bucket. + tx.meta.root.root = tx.root.root + + opgid := tx.meta.pgid + + // Free the freelist and allocate new pages for it. This will overestimate + // the size of the freelist but not underestimate the size (which would be bad). + tx.db.freelist.free(tx.meta.txid, tx.db.page(tx.meta.freelist)) + p, err := tx.allocate((tx.db.freelist.size() / tx.db.pageSize) + 1) + if err != nil { + tx.rollback() + return err + } + if err := tx.db.freelist.write(p); err != nil { + tx.rollback() + return err + } + tx.meta.freelist = p.id + + // If the high water mark has moved up then attempt to grow the database. + if tx.meta.pgid > opgid { + if err := tx.db.grow(int(tx.meta.pgid+1) * tx.db.pageSize); err != nil { + tx.rollback() + return err + } + } + + // Write dirty pages to disk. + startTime = time.Now() + if err := tx.write(); err != nil { + tx.rollback() + return err + } + + // If strict mode is enabled then perform a consistency check. + // Only the first consistency error is reported in the panic. + if tx.db.StrictMode { + ch := tx.Check() + var errs []string + for { + err, ok := <-ch + if !ok { + break + } + errs = append(errs, err.Error()) + } + if len(errs) > 0 { + panic("check fail: " + strings.Join(errs, "\n")) + } + } + + // Write meta to disk. + if err := tx.writeMeta(); err != nil { + tx.rollback() + return err + } + tx.stats.WriteTime += time.Since(startTime) + + // Finalize the transaction. + tx.close() + + // Execute commit handlers now that the locks have been removed. + for _, fn := range tx.commitHandlers { + fn() + } + + return nil +} + +// Rollback closes the transaction and ignores all previous updates. Read-only +// transactions must be rolled back and not committed. +func (tx *Tx) Rollback() error { + _assert(!tx.managed, "managed tx rollback not allowed") + if tx.db == nil { + return ErrTxClosed + } + tx.rollback() + return nil +} + +func (tx *Tx) rollback() { + if tx.db == nil { + return + } + if tx.writable { + tx.db.freelist.rollback(tx.meta.txid) + tx.db.freelist.reload(tx.db.page(tx.db.meta().freelist)) + } + tx.close() +} + +func (tx *Tx) close() { + if tx.db == nil { + return + } + if tx.writable { + // Grab freelist stats. + var freelistFreeN = tx.db.freelist.free_count() + var freelistPendingN = tx.db.freelist.pending_count() + var freelistAlloc = tx.db.freelist.size() + + // Remove transaction ref & writer lock. + tx.db.rwtx = nil + tx.db.rwlock.Unlock() + + // Merge statistics. + tx.db.statlock.Lock() + tx.db.stats.FreePageN = freelistFreeN + tx.db.stats.PendingPageN = freelistPendingN + tx.db.stats.FreeAlloc = (freelistFreeN + freelistPendingN) * tx.db.pageSize + tx.db.stats.FreelistInuse = freelistAlloc + tx.db.stats.TxStats.add(&tx.stats) + tx.db.statlock.Unlock() + } else { + tx.db.removeTx(tx) + } + + // Clear all references. + tx.db = nil + tx.meta = nil + tx.root = Bucket{tx: tx} + tx.pages = nil +} + +// Copy writes the entire database to a writer. +// This function exists for backwards compatibility. Use WriteTo() instead. +func (tx *Tx) Copy(w io.Writer) error { + _, err := tx.WriteTo(w) + return err +} + +// WriteTo writes the entire database to a writer. +// If err == nil then exactly tx.Size() bytes will be written into the writer. +func (tx *Tx) WriteTo(w io.Writer) (n int64, err error) { + // Attempt to open reader with WriteFlag + f, err := os.OpenFile(tx.db.path, os.O_RDONLY|tx.WriteFlag, 0) + if err != nil { + return 0, err + } + defer func() { _ = f.Close() }() + + // Generate a meta page. We use the same page data for both meta pages. + buf := make([]byte, tx.db.pageSize) + page := (*page)(unsafe.Pointer(&buf[0])) + page.flags = metaPageFlag + *page.meta() = *tx.meta + + // Write meta 0. + page.id = 0 + page.meta().checksum = page.meta().sum64() + nn, err := w.Write(buf) + n += int64(nn) + if err != nil { + return n, fmt.Errorf("meta 0 copy: %s", err) + } + + // Write meta 1 with a lower transaction id. + page.id = 1 + page.meta().txid -= 1 + page.meta().checksum = page.meta().sum64() + nn, err = w.Write(buf) + n += int64(nn) + if err != nil { + return n, fmt.Errorf("meta 1 copy: %s", err) + } + + // Move past the meta pages in the file. + if _, err := f.Seek(int64(tx.db.pageSize*2), os.SEEK_SET); err != nil { + return n, fmt.Errorf("seek: %s", err) + } + + // Copy data pages. + wn, err := io.CopyN(w, f, tx.Size()-int64(tx.db.pageSize*2)) + n += wn + if err != nil { + return n, err + } + + return n, f.Close() +} + +// CopyFile copies the entire database to file at the given path. +// A reader transaction is maintained during the copy so it is safe to continue +// using the database while a copy is in progress. +func (tx *Tx) CopyFile(path string, mode os.FileMode) error { + f, err := os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_TRUNC, mode) + if err != nil { + return err + } + + err = tx.Copy(f) + if err != nil { + _ = f.Close() + return err + } + return f.Close() +} + +// Check performs several consistency checks on the database for this transaction. +// An error is returned if any inconsistency is found. +// +// It can be safely run concurrently on a writable transaction. However, this +// incurs a high cost for large databases and databases with a lot of subbuckets +// because of caching. This overhead can be removed if running on a read-only +// transaction, however, it is not safe to execute other writer transactions at +// the same time. +func (tx *Tx) Check() <-chan error { + ch := make(chan error) + go tx.check(ch) + return ch +} + +func (tx *Tx) check(ch chan error) { + // Check if any pages are double freed. + freed := make(map[pgid]bool) + all := make([]pgid, tx.db.freelist.count()) + tx.db.freelist.copyall(all) + for _, id := range all { + if freed[id] { + ch <- fmt.Errorf("page %d: already freed", id) + } + freed[id] = true + } + + // Track every reachable page. + reachable := make(map[pgid]*page) + reachable[0] = tx.page(0) // meta0 + reachable[1] = tx.page(1) // meta1 + for i := uint32(0); i <= tx.page(tx.meta.freelist).overflow; i++ { + reachable[tx.meta.freelist+pgid(i)] = tx.page(tx.meta.freelist) + } + + // Recursively check buckets. + tx.checkBucket(&tx.root, reachable, freed, ch) + + // Ensure all pages below high water mark are either reachable or freed. + for i := pgid(0); i < tx.meta.pgid; i++ { + _, isReachable := reachable[i] + if !isReachable && !freed[i] { + ch <- fmt.Errorf("page %d: unreachable unfreed", int(i)) + } + } + + // Close the channel to signal completion. + close(ch) +} + +func (tx *Tx) checkBucket(b *Bucket, reachable map[pgid]*page, freed map[pgid]bool, ch chan error) { + // Ignore inline buckets. + if b.root == 0 { + return + } + + // Check every page used by this bucket. + b.tx.forEachPage(b.root, 0, func(p *page, _ int) { + if p.id > tx.meta.pgid { + ch <- fmt.Errorf("page %d: out of bounds: %d", int(p.id), int(b.tx.meta.pgid)) + } + + // Ensure each page is only referenced once. + for i := pgid(0); i <= pgid(p.overflow); i++ { + var id = p.id + i + if _, ok := reachable[id]; ok { + ch <- fmt.Errorf("page %d: multiple references", int(id)) + } + reachable[id] = p + } + + // We should only encounter un-freed leaf and branch pages. + if freed[p.id] { + ch <- fmt.Errorf("page %d: reachable freed", int(p.id)) + } else if (p.flags&branchPageFlag) == 0 && (p.flags&leafPageFlag) == 0 { + ch <- fmt.Errorf("page %d: invalid type: %s", int(p.id), p.typ()) + } + }) + + // Check each bucket within this bucket. + _ = b.ForEach(func(k, v []byte) error { + if child := b.Bucket(k); child != nil { + tx.checkBucket(child, reachable, freed, ch) + } + return nil + }) +} + +// allocate returns a contiguous block of memory starting at a given page. +func (tx *Tx) allocate(count int) (*page, error) { + p, err := tx.db.allocate(count) + if err != nil { + return nil, err + } + + // Save to our page cache. + tx.pages[p.id] = p + + // Update statistics. + tx.stats.PageCount++ + tx.stats.PageAlloc += count * tx.db.pageSize + + return p, nil +} + +// write writes any dirty pages to disk. +func (tx *Tx) write() error { + // Sort pages by id. + pages := make(pages, 0, len(tx.pages)) + for _, p := range tx.pages { + pages = append(pages, p) + } + // Clear out page cache early. + tx.pages = make(map[pgid]*page) + sort.Sort(pages) + + // Write pages to disk in order. + for _, p := range pages { + size := (int(p.overflow) + 1) * tx.db.pageSize + offset := int64(p.id) * int64(tx.db.pageSize) + + // Write out page in "max allocation" sized chunks. + ptr := (*[maxAllocSize]byte)(unsafe.Pointer(p)) + for { + // Limit our write to our max allocation size. + sz := size + if sz > maxAllocSize-1 { + sz = maxAllocSize - 1 + } + + // Write chunk to disk. + buf := ptr[:sz] + if _, err := tx.db.ops.writeAt(buf, offset); err != nil { + return err + } + + // Update statistics. + tx.stats.Write++ + + // Exit inner for loop if we've written all the chunks. + size -= sz + if size == 0 { + break + } + + // Otherwise move offset forward and move pointer to next chunk. + offset += int64(sz) + ptr = (*[maxAllocSize]byte)(unsafe.Pointer(&ptr[sz])) + } + } + + // Ignore file sync if flag is set on DB. + if !tx.db.NoSync || IgnoreNoSync { + if err := fdatasync(tx.db); err != nil { + return err + } + } + + // Put small pages back to page pool. + for _, p := range pages { + // Ignore page sizes over 1 page. + // These are allocated using make() instead of the page pool. + if int(p.overflow) != 0 { + continue + } + + buf := (*[maxAllocSize]byte)(unsafe.Pointer(p))[:tx.db.pageSize] + + // See https://go.googlesource.com/go/+/f03c9202c43e0abb130669852082117ca50aa9b1 + for i := range buf { + buf[i] = 0 + } + tx.db.pagePool.Put(buf) + } + + return nil +} + +// writeMeta writes the meta to the disk. +func (tx *Tx) writeMeta() error { + // Create a temporary buffer for the meta page. + buf := make([]byte, tx.db.pageSize) + p := tx.db.pageInBuffer(buf, 0) + tx.meta.write(p) + + // Write the meta page to file. + if _, err := tx.db.ops.writeAt(buf, int64(p.id)*int64(tx.db.pageSize)); err != nil { + return err + } + if !tx.db.NoSync || IgnoreNoSync { + if err := fdatasync(tx.db); err != nil { + return err + } + } + + // Update statistics. + tx.stats.Write++ + + return nil +} + +// page returns a reference to the page with a given id. +// If page has been written to then a temporary buffered page is returned. +func (tx *Tx) page(id pgid) *page { + // Check the dirty pages first. + if tx.pages != nil { + if p, ok := tx.pages[id]; ok { + return p + } + } + + // Otherwise return directly from the mmap. + return tx.db.page(id) +} + +// forEachPage iterates over every page within a given page and executes a function. +func (tx *Tx) forEachPage(pgid pgid, depth int, fn func(*page, int)) { + p := tx.page(pgid) + + // Execute function. + fn(p, depth) + + // Recursively loop over children. + if (p.flags & branchPageFlag) != 0 { + for i := 0; i < int(p.count); i++ { + elem := p.branchPageElement(uint16(i)) + tx.forEachPage(elem.pgid, depth+1, fn) + } + } +} + +// Page returns page information for a given page number. +// This is only safe for concurrent use when used by a writable transaction. +func (tx *Tx) Page(id int) (*PageInfo, error) { + if tx.db == nil { + return nil, ErrTxClosed + } else if pgid(id) >= tx.meta.pgid { + return nil, nil + } + + // Build the page info. + p := tx.db.page(pgid(id)) + info := &PageInfo{ + ID: id, + Count: int(p.count), + OverflowCount: int(p.overflow), + } + + // Determine the type (or if it's free). + if tx.db.freelist.freed(pgid(id)) { + info.Type = "free" + } else { + info.Type = p.typ() + } + + return info, nil +} + +// TxStats represents statistics about the actions performed by the transaction. +type TxStats struct { + // Page statistics. + PageCount int // number of page allocations + PageAlloc int // total bytes allocated + + // Cursor statistics. + CursorCount int // number of cursors created + + // Node statistics + NodeCount int // number of node allocations + NodeDeref int // number of node dereferences + + // Rebalance statistics. + Rebalance int // number of node rebalances + RebalanceTime time.Duration // total time spent rebalancing + + // Split/Spill statistics. + Split int // number of nodes split + Spill int // number of nodes spilled + SpillTime time.Duration // total time spent spilling + + // Write statistics. + Write int // number of writes performed + WriteTime time.Duration // total time spent writing to disk +} + +func (s *TxStats) add(other *TxStats) { + s.PageCount += other.PageCount + s.PageAlloc += other.PageAlloc + s.CursorCount += other.CursorCount + s.NodeCount += other.NodeCount + s.NodeDeref += other.NodeDeref + s.Rebalance += other.Rebalance + s.RebalanceTime += other.RebalanceTime + s.Split += other.Split + s.Spill += other.Spill + s.SpillTime += other.SpillTime + s.Write += other.Write + s.WriteTime += other.WriteTime +} + +// Sub calculates and returns the difference between two sets of transaction stats. +// This is useful when obtaining stats at two different points and time and +// you need the performance counters that occurred within that time span. +func (s *TxStats) Sub(other *TxStats) TxStats { + var diff TxStats + diff.PageCount = s.PageCount - other.PageCount + diff.PageAlloc = s.PageAlloc - other.PageAlloc + diff.CursorCount = s.CursorCount - other.CursorCount + diff.NodeCount = s.NodeCount - other.NodeCount + diff.NodeDeref = s.NodeDeref - other.NodeDeref + diff.Rebalance = s.Rebalance - other.Rebalance + diff.RebalanceTime = s.RebalanceTime - other.RebalanceTime + diff.Split = s.Split - other.Split + diff.Spill = s.Spill - other.Spill + diff.SpillTime = s.SpillTime - other.SpillTime + diff.Write = s.Write - other.Write + diff.WriteTime = s.WriteTime - other.WriteTime + return diff +} diff --git a/vendor/github.com/cenkalti/backoff/.gitignore b/vendor/github.com/cenkalti/backoff/.gitignore new file mode 100644 index 00000000..00268614 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/.gitignore @@ -0,0 +1,22 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe diff --git a/vendor/github.com/cenkalti/backoff/.travis.yml b/vendor/github.com/cenkalti/backoff/.travis.yml new file mode 100644 index 00000000..1040404b --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/.travis.yml @@ -0,0 +1,9 @@ +language: go +go: + - 1.3.3 + - tip +before_install: + - go get github.com/mattn/goveralls + - go get golang.org/x/tools/cmd/cover +script: + - $HOME/gopath/bin/goveralls -service=travis-ci diff --git a/vendor/github.com/cenkalti/backoff/LICENSE b/vendor/github.com/cenkalti/backoff/LICENSE new file mode 100644 index 00000000..89b81799 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Cenk Altı + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/cenkalti/backoff/README.md b/vendor/github.com/cenkalti/backoff/README.md new file mode 100644 index 00000000..13b347fb --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/README.md @@ -0,0 +1,30 @@ +# Exponential Backoff [![GoDoc][godoc image]][godoc] [![Build Status][travis image]][travis] [![Coverage Status][coveralls image]][coveralls] + +This is a Go port of the exponential backoff algorithm from [Google's HTTP Client Library for Java][google-http-java-client]. + +[Exponential backoff][exponential backoff wiki] +is an algorithm that uses feedback to multiplicatively decrease the rate of some process, +in order to gradually find an acceptable rate. +The retries exponentially increase and stop increasing when a certain threshold is met. + +## Usage + +See https://godoc.org/github.com/cenkalti/backoff#pkg-examples + +## Contributing + +* I would like to keep this library as small as possible. +* Please don't send a PR without opening an issue and discussing it first. +* If proposed change is not a common use case, I will probably not accept it. + +[godoc]: https://godoc.org/github.com/cenkalti/backoff +[godoc image]: https://godoc.org/github.com/cenkalti/backoff?status.png +[travis]: https://travis-ci.org/cenkalti/backoff +[travis image]: https://travis-ci.org/cenkalti/backoff.png?branch=master +[coveralls]: https://coveralls.io/github/cenkalti/backoff?branch=master +[coveralls image]: https://coveralls.io/repos/github/cenkalti/backoff/badge.svg?branch=master + +[google-http-java-client]: https://github.com/google/google-http-java-client +[exponential backoff wiki]: http://en.wikipedia.org/wiki/Exponential_backoff + +[advanced example]: https://godoc.org/github.com/cenkalti/backoff#example_ diff --git a/vendor/github.com/cenkalti/backoff/backoff.go b/vendor/github.com/cenkalti/backoff/backoff.go new file mode 100644 index 00000000..2102c5f2 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/backoff.go @@ -0,0 +1,66 @@ +// Package backoff implements backoff algorithms for retrying operations. +// +// Use Retry function for retrying operations that may fail. +// If Retry does not meet your needs, +// copy/paste the function into your project and modify as you wish. +// +// There is also Ticker type similar to time.Ticker. +// You can use it if you need to work with channels. +// +// See Examples section below for usage examples. +package backoff + +import "time" + +// BackOff is a backoff policy for retrying an operation. +type BackOff interface { + // NextBackOff returns the duration to wait before retrying the operation, + // or backoff.Stop to indicate that no more retries should be made. + // + // Example usage: + // + // duration := backoff.NextBackOff(); + // if (duration == backoff.Stop) { + // // Do not retry operation. + // } else { + // // Sleep for duration and retry operation. + // } + // + NextBackOff() time.Duration + + // Reset to initial state. + Reset() +} + +// Stop indicates that no more retries should be made for use in NextBackOff(). +const Stop time.Duration = -1 + +// ZeroBackOff is a fixed backoff policy whose backoff time is always zero, +// meaning that the operation is retried immediately without waiting, indefinitely. +type ZeroBackOff struct{} + +func (b *ZeroBackOff) Reset() {} + +func (b *ZeroBackOff) NextBackOff() time.Duration { return 0 } + +// StopBackOff is a fixed backoff policy that always returns backoff.Stop for +// NextBackOff(), meaning that the operation should never be retried. +type StopBackOff struct{} + +func (b *StopBackOff) Reset() {} + +func (b *StopBackOff) NextBackOff() time.Duration { return Stop } + +// ConstantBackOff is a backoff policy that always returns the same backoff delay. +// This is in contrast to an exponential backoff policy, +// which returns a delay that grows longer as you call NextBackOff() over and over again. +type ConstantBackOff struct { + Interval time.Duration +} + +func (b *ConstantBackOff) Reset() {} +func (b *ConstantBackOff) NextBackOff() time.Duration { return b.Interval } + +func NewConstantBackOff(d time.Duration) *ConstantBackOff { + return &ConstantBackOff{Interval: d} +} diff --git a/vendor/github.com/cenkalti/backoff/context.go b/vendor/github.com/cenkalti/backoff/context.go new file mode 100644 index 00000000..5d157092 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/context.go @@ -0,0 +1,60 @@ +package backoff + +import ( + "time" + + "golang.org/x/net/context" +) + +// BackOffContext is a backoff policy that stops retrying after the context +// is canceled. +type BackOffContext interface { + BackOff + Context() context.Context +} + +type backOffContext struct { + BackOff + ctx context.Context +} + +// WithContext returns a BackOffContext with context ctx +// +// ctx must not be nil +func WithContext(b BackOff, ctx context.Context) BackOffContext { + if ctx == nil { + panic("nil context") + } + + if b, ok := b.(*backOffContext); ok { + return &backOffContext{ + BackOff: b.BackOff, + ctx: ctx, + } + } + + return &backOffContext{ + BackOff: b, + ctx: ctx, + } +} + +func ensureContext(b BackOff) BackOffContext { + if cb, ok := b.(BackOffContext); ok { + return cb + } + return WithContext(b, context.Background()) +} + +func (b *backOffContext) Context() context.Context { + return b.ctx +} + +func (b *backOffContext) NextBackOff() time.Duration { + select { + case <-b.Context().Done(): + return Stop + default: + return b.BackOff.NextBackOff() + } +} diff --git a/vendor/github.com/cenkalti/backoff/exponential.go b/vendor/github.com/cenkalti/backoff/exponential.go new file mode 100644 index 00000000..9a6addf0 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/exponential.go @@ -0,0 +1,156 @@ +package backoff + +import ( + "math/rand" + "time" +) + +/* +ExponentialBackOff is a backoff implementation that increases the backoff +period for each retry attempt using a randomization function that grows exponentially. + +NextBackOff() is calculated using the following formula: + + randomized interval = + RetryInterval * (random value in range [1 - RandomizationFactor, 1 + RandomizationFactor]) + +In other words NextBackOff() will range between the randomization factor +percentage below and above the retry interval. + +For example, given the following parameters: + + RetryInterval = 2 + RandomizationFactor = 0.5 + Multiplier = 2 + +the actual backoff period used in the next retry attempt will range between 1 and 3 seconds, +multiplied by the exponential, that is, between 2 and 6 seconds. + +Note: MaxInterval caps the RetryInterval and not the randomized interval. + +If the time elapsed since an ExponentialBackOff instance is created goes past the +MaxElapsedTime, then the method NextBackOff() starts returning backoff.Stop. + +The elapsed time can be reset by calling Reset(). + +Example: Given the following default arguments, for 10 tries the sequence will be, +and assuming we go over the MaxElapsedTime on the 10th try: + + Request # RetryInterval (seconds) Randomized Interval (seconds) + + 1 0.5 [0.25, 0.75] + 2 0.75 [0.375, 1.125] + 3 1.125 [0.562, 1.687] + 4 1.687 [0.8435, 2.53] + 5 2.53 [1.265, 3.795] + 6 3.795 [1.897, 5.692] + 7 5.692 [2.846, 8.538] + 8 8.538 [4.269, 12.807] + 9 12.807 [6.403, 19.210] + 10 19.210 backoff.Stop + +Note: Implementation is not thread-safe. +*/ +type ExponentialBackOff struct { + InitialInterval time.Duration + RandomizationFactor float64 + Multiplier float64 + MaxInterval time.Duration + // After MaxElapsedTime the ExponentialBackOff stops. + // It never stops if MaxElapsedTime == 0. + MaxElapsedTime time.Duration + Clock Clock + + currentInterval time.Duration + startTime time.Time + random *rand.Rand +} + +// Clock is an interface that returns current time for BackOff. +type Clock interface { + Now() time.Time +} + +// Default values for ExponentialBackOff. +const ( + DefaultInitialInterval = 500 * time.Millisecond + DefaultRandomizationFactor = 0.5 + DefaultMultiplier = 1.5 + DefaultMaxInterval = 60 * time.Second + DefaultMaxElapsedTime = 15 * time.Minute +) + +// NewExponentialBackOff creates an instance of ExponentialBackOff using default values. +func NewExponentialBackOff() *ExponentialBackOff { + b := &ExponentialBackOff{ + InitialInterval: DefaultInitialInterval, + RandomizationFactor: DefaultRandomizationFactor, + Multiplier: DefaultMultiplier, + MaxInterval: DefaultMaxInterval, + MaxElapsedTime: DefaultMaxElapsedTime, + Clock: SystemClock, + random: rand.New(rand.NewSource(time.Now().UnixNano())), + } + b.Reset() + return b +} + +type systemClock struct{} + +func (t systemClock) Now() time.Time { + return time.Now() +} + +// SystemClock implements Clock interface that uses time.Now(). +var SystemClock = systemClock{} + +// Reset the interval back to the initial retry interval and restarts the timer. +func (b *ExponentialBackOff) Reset() { + b.currentInterval = b.InitialInterval + b.startTime = b.Clock.Now() +} + +// NextBackOff calculates the next backoff interval using the formula: +// Randomized interval = RetryInterval +/- (RandomizationFactor * RetryInterval) +func (b *ExponentialBackOff) NextBackOff() time.Duration { + // Make sure we have not gone over the maximum elapsed time. + if b.MaxElapsedTime != 0 && b.GetElapsedTime() > b.MaxElapsedTime { + return Stop + } + defer b.incrementCurrentInterval() + if b.random == nil { + b.random = rand.New(rand.NewSource(time.Now().UnixNano())) + } + return getRandomValueFromInterval(b.RandomizationFactor, b.random.Float64(), b.currentInterval) +} + +// GetElapsedTime returns the elapsed time since an ExponentialBackOff instance +// is created and is reset when Reset() is called. +// +// The elapsed time is computed using time.Now().UnixNano(). +func (b *ExponentialBackOff) GetElapsedTime() time.Duration { + return b.Clock.Now().Sub(b.startTime) +} + +// Increments the current interval by multiplying it with the multiplier. +func (b *ExponentialBackOff) incrementCurrentInterval() { + // Check for overflow, if overflow is detected set the current interval to the max interval. + if float64(b.currentInterval) >= float64(b.MaxInterval)/b.Multiplier { + b.currentInterval = b.MaxInterval + } else { + b.currentInterval = time.Duration(float64(b.currentInterval) * b.Multiplier) + } +} + +// Returns a random value from the following interval: +// [randomizationFactor * currentInterval, randomizationFactor * currentInterval]. +func getRandomValueFromInterval(randomizationFactor, random float64, currentInterval time.Duration) time.Duration { + var delta = randomizationFactor * float64(currentInterval) + var minInterval = float64(currentInterval) - delta + var maxInterval = float64(currentInterval) + delta + + // Get a random value from the range [minInterval, maxInterval]. + // The formula used below has a +1 because if the minInterval is 1 and the maxInterval is 3 then + // we want a 33% chance for selecting either 1, 2 or 3. + return time.Duration(minInterval + (random * (maxInterval - minInterval + 1))) +} diff --git a/vendor/github.com/cenkalti/backoff/retry.go b/vendor/github.com/cenkalti/backoff/retry.go new file mode 100644 index 00000000..5dbd825b --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/retry.go @@ -0,0 +1,78 @@ +package backoff + +import "time" + +// An Operation is executing by Retry() or RetryNotify(). +// The operation will be retried using a backoff policy if it returns an error. +type Operation func() error + +// Notify is a notify-on-error function. It receives an operation error and +// backoff delay if the operation failed (with an error). +// +// NOTE that if the backoff policy stated to stop retrying, +// the notify function isn't called. +type Notify func(error, time.Duration) + +// Retry the operation o until it does not return error or BackOff stops. +// o is guaranteed to be run at least once. +// It is the caller's responsibility to reset b after Retry returns. +// +// If o returns a *PermanentError, the operation is not retried, and the +// wrapped error is returned. +// +// Retry sleeps the goroutine for the duration returned by BackOff after a +// failed operation returns. +func Retry(o Operation, b BackOff) error { return RetryNotify(o, b, nil) } + +// RetryNotify calls notify function with the error and wait duration +// for each failed attempt before sleep. +func RetryNotify(operation Operation, b BackOff, notify Notify) error { + var err error + var next time.Duration + + cb := ensureContext(b) + + b.Reset() + for { + if err = operation(); err == nil { + return nil + } + + if permanent, ok := err.(*PermanentError); ok { + return permanent.Err + } + + if next = b.NextBackOff(); next == Stop { + return err + } + + if notify != nil { + notify(err, next) + } + + t := time.NewTimer(next) + + select { + case <-cb.Context().Done(): + t.Stop() + return err + case <-t.C: + } + } +} + +// PermanentError signals that the operation should not be retried. +type PermanentError struct { + Err error +} + +func (e *PermanentError) Error() string { + return e.Err.Error() +} + +// Permanent wraps the given err in a *PermanentError. +func Permanent(err error) *PermanentError { + return &PermanentError{ + Err: err, + } +} diff --git a/vendor/github.com/cenkalti/backoff/ticker.go b/vendor/github.com/cenkalti/backoff/ticker.go new file mode 100644 index 00000000..49a99718 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/ticker.go @@ -0,0 +1,81 @@ +package backoff + +import ( + "runtime" + "sync" + "time" +) + +// Ticker holds a channel that delivers `ticks' of a clock at times reported by a BackOff. +// +// Ticks will continue to arrive when the previous operation is still running, +// so operations that take a while to fail could run in quick succession. +type Ticker struct { + C <-chan time.Time + c chan time.Time + b BackOffContext + stop chan struct{} + stopOnce sync.Once +} + +// NewTicker returns a new Ticker containing a channel that will send the time at times +// specified by the BackOff argument. Ticker is guaranteed to tick at least once. +// The channel is closed when Stop method is called or BackOff stops. +func NewTicker(b BackOff) *Ticker { + c := make(chan time.Time) + t := &Ticker{ + C: c, + c: c, + b: ensureContext(b), + stop: make(chan struct{}), + } + go t.run() + runtime.SetFinalizer(t, (*Ticker).Stop) + return t +} + +// Stop turns off a ticker. After Stop, no more ticks will be sent. +func (t *Ticker) Stop() { + t.stopOnce.Do(func() { close(t.stop) }) +} + +func (t *Ticker) run() { + c := t.c + defer close(c) + t.b.Reset() + + // Ticker is guaranteed to tick at least once. + afterC := t.send(time.Now()) + + for { + if afterC == nil { + return + } + + select { + case tick := <-afterC: + afterC = t.send(tick) + case <-t.stop: + t.c = nil // Prevent future ticks from being sent to the channel. + return + case <-t.b.Context().Done(): + return + } + } +} + +func (t *Ticker) send(tick time.Time) <-chan time.Time { + select { + case t.c <- tick: + case <-t.stop: + return nil + } + + next := t.b.NextBackOff() + if next == Stop { + t.Stop() + return nil + } + + return time.After(next) +} diff --git a/vendor/github.com/cenkalti/backoff/tries.go b/vendor/github.com/cenkalti/backoff/tries.go new file mode 100644 index 00000000..d2da7308 --- /dev/null +++ b/vendor/github.com/cenkalti/backoff/tries.go @@ -0,0 +1,35 @@ +package backoff + +import "time" + +/* +WithMaxTries creates a wrapper around another BackOff, which will +return Stop if NextBackOff() has been called too many times since +the last time Reset() was called + +Note: Implementation is not thread-safe. +*/ +func WithMaxTries(b BackOff, max uint64) BackOff { + return &backOffTries{delegate: b, maxTries: max} +} + +type backOffTries struct { + delegate BackOff + maxTries uint64 + numTries uint64 +} + +func (b *backOffTries) NextBackOff() time.Duration { + if b.maxTries > 0 { + if b.maxTries <= b.numTries { + return Stop + } + b.numTries++ + } + return b.delegate.NextBackOff() +} + +func (b *backOffTries) Reset() { + b.numTries = 0 + b.delegate.Reset() +} diff --git a/vendor/github.com/davecgh/go-spew/LICENSE b/vendor/github.com/davecgh/go-spew/LICENSE new file mode 100644 index 00000000..bc52e96f --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2012-2016 Dave Collins + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/vendor/github.com/davecgh/go-spew/spew/bypass.go b/vendor/github.com/davecgh/go-spew/spew/bypass.go new file mode 100644 index 00000000..79299478 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/bypass.go @@ -0,0 +1,145 @@ +// Copyright (c) 2015-2016 Dave Collins +// +// Permission to use, copy, modify, and distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +// NOTE: Due to the following build constraints, this file will only be compiled +// when the code is not running on Google App Engine, compiled by GopherJS, and +// "-tags safe" is not added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// Go versions prior to 1.4 are disabled because they use a different layout +// for interfaces which make the implementation of unsafeReflectValue more complex. +// +build !js,!appengine,!safe,!disableunsafe,go1.4 + +package spew + +import ( + "reflect" + "unsafe" +) + +const ( + // UnsafeDisabled is a build-time constant which specifies whether or + // not access to the unsafe package is available. + UnsafeDisabled = false + + // ptrSize is the size of a pointer on the current arch. + ptrSize = unsafe.Sizeof((*byte)(nil)) +) + +type flag uintptr + +var ( + // flagRO indicates whether the value field of a reflect.Value + // is read-only. + flagRO flag + + // flagAddr indicates whether the address of the reflect.Value's + // value may be taken. + flagAddr flag +) + +// flagKindMask holds the bits that make up the kind +// part of the flags field. In all the supported versions, +// it is in the lower 5 bits. +const flagKindMask = flag(0x1f) + +// Different versions of Go have used different +// bit layouts for the flags type. This table +// records the known combinations. +var okFlags = []struct { + ro, addr flag +}{{ + // From Go 1.4 to 1.5 + ro: 1 << 5, + addr: 1 << 7, +}, { + // Up to Go tip. + ro: 1<<5 | 1<<6, + addr: 1 << 8, +}} + +var flagValOffset = func() uintptr { + field, ok := reflect.TypeOf(reflect.Value{}).FieldByName("flag") + if !ok { + panic("reflect.Value has no flag field") + } + return field.Offset +}() + +// flagField returns a pointer to the flag field of a reflect.Value. +func flagField(v *reflect.Value) *flag { + return (*flag)(unsafe.Pointer(uintptr(unsafe.Pointer(v)) + flagValOffset)) +} + +// unsafeReflectValue converts the passed reflect.Value into a one that bypasses +// the typical safety restrictions preventing access to unaddressable and +// unexported data. It works by digging the raw pointer to the underlying +// value out of the protected value and generating a new unprotected (unsafe) +// reflect.Value to it. +// +// This allows us to check for implementations of the Stringer and error +// interfaces to be used for pretty printing ordinarily unaddressable and +// inaccessible values such as unexported struct fields. +func unsafeReflectValue(v reflect.Value) reflect.Value { + if !v.IsValid() || (v.CanInterface() && v.CanAddr()) { + return v + } + flagFieldPtr := flagField(&v) + *flagFieldPtr &^= flagRO + *flagFieldPtr |= flagAddr + return v +} + +// Sanity checks against future reflect package changes +// to the type or semantics of the Value.flag field. +func init() { + field, ok := reflect.TypeOf(reflect.Value{}).FieldByName("flag") + if !ok { + panic("reflect.Value has no flag field") + } + if field.Type.Kind() != reflect.TypeOf(flag(0)).Kind() { + panic("reflect.Value flag field has changed kind") + } + type t0 int + var t struct { + A t0 + // t0 will have flagEmbedRO set. + t0 + // a will have flagStickyRO set + a t0 + } + vA := reflect.ValueOf(t).FieldByName("A") + va := reflect.ValueOf(t).FieldByName("a") + vt0 := reflect.ValueOf(t).FieldByName("t0") + + // Infer flagRO from the difference between the flags + // for the (otherwise identical) fields in t. + flagPublic := *flagField(&vA) + flagWithRO := *flagField(&va) | *flagField(&vt0) + flagRO = flagPublic ^ flagWithRO + + // Infer flagAddr from the difference between a value + // taken from a pointer and not. + vPtrA := reflect.ValueOf(&t).Elem().FieldByName("A") + flagNoPtr := *flagField(&vA) + flagPtr := *flagField(&vPtrA) + flagAddr = flagNoPtr ^ flagPtr + + // Check that the inferred flags tally with one of the known versions. + for _, f := range okFlags { + if flagRO == f.ro && flagAddr == f.addr { + return + } + } + panic("reflect.Value read-only flag has changed semantics") +} diff --git a/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go new file mode 100644 index 00000000..205c28d6 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go @@ -0,0 +1,38 @@ +// Copyright (c) 2015-2016 Dave Collins +// +// Permission to use, copy, modify, and distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +// NOTE: Due to the following build constraints, this file will only be compiled +// when the code is running on Google App Engine, compiled by GopherJS, or +// "-tags safe" is added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// +build js appengine safe disableunsafe !go1.4 + +package spew + +import "reflect" + +const ( + // UnsafeDisabled is a build-time constant which specifies whether or + // not access to the unsafe package is available. + UnsafeDisabled = true +) + +// unsafeReflectValue typically converts the passed reflect.Value into a one +// that bypasses the typical safety restrictions preventing access to +// unaddressable and unexported data. However, doing this relies on access to +// the unsafe package. This is a stub version which simply returns the passed +// reflect.Value when the unsafe package is not available. +func unsafeReflectValue(v reflect.Value) reflect.Value { + return v +} diff --git a/vendor/github.com/davecgh/go-spew/spew/common.go b/vendor/github.com/davecgh/go-spew/spew/common.go new file mode 100644 index 00000000..1be8ce94 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/common.go @@ -0,0 +1,341 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "io" + "reflect" + "sort" + "strconv" +) + +// Some constants in the form of bytes to avoid string overhead. This mirrors +// the technique used in the fmt package. +var ( + panicBytes = []byte("(PANIC=") + plusBytes = []byte("+") + iBytes = []byte("i") + trueBytes = []byte("true") + falseBytes = []byte("false") + interfaceBytes = []byte("(interface {})") + commaNewlineBytes = []byte(",\n") + newlineBytes = []byte("\n") + openBraceBytes = []byte("{") + openBraceNewlineBytes = []byte("{\n") + closeBraceBytes = []byte("}") + asteriskBytes = []byte("*") + colonBytes = []byte(":") + colonSpaceBytes = []byte(": ") + openParenBytes = []byte("(") + closeParenBytes = []byte(")") + spaceBytes = []byte(" ") + pointerChainBytes = []byte("->") + nilAngleBytes = []byte("") + maxNewlineBytes = []byte("\n") + maxShortBytes = []byte("") + circularBytes = []byte("") + circularShortBytes = []byte("") + invalidAngleBytes = []byte("") + openBracketBytes = []byte("[") + closeBracketBytes = []byte("]") + percentBytes = []byte("%") + precisionBytes = []byte(".") + openAngleBytes = []byte("<") + closeAngleBytes = []byte(">") + openMapBytes = []byte("map[") + closeMapBytes = []byte("]") + lenEqualsBytes = []byte("len=") + capEqualsBytes = []byte("cap=") +) + +// hexDigits is used to map a decimal value to a hex digit. +var hexDigits = "0123456789abcdef" + +// catchPanic handles any panics that might occur during the handleMethods +// calls. +func catchPanic(w io.Writer, v reflect.Value) { + if err := recover(); err != nil { + w.Write(panicBytes) + fmt.Fprintf(w, "%v", err) + w.Write(closeParenBytes) + } +} + +// handleMethods attempts to call the Error and String methods on the underlying +// type the passed reflect.Value represents and outputes the result to Writer w. +// +// It handles panics in any called methods by catching and displaying the error +// as the formatted value. +func handleMethods(cs *ConfigState, w io.Writer, v reflect.Value) (handled bool) { + // We need an interface to check if the type implements the error or + // Stringer interface. However, the reflect package won't give us an + // interface on certain things like unexported struct fields in order + // to enforce visibility rules. We use unsafe, when it's available, + // to bypass these restrictions since this package does not mutate the + // values. + if !v.CanInterface() { + if UnsafeDisabled { + return false + } + + v = unsafeReflectValue(v) + } + + // Choose whether or not to do error and Stringer interface lookups against + // the base type or a pointer to the base type depending on settings. + // Technically calling one of these methods with a pointer receiver can + // mutate the value, however, types which choose to satisify an error or + // Stringer interface with a pointer receiver should not be mutating their + // state inside these interface methods. + if !cs.DisablePointerMethods && !UnsafeDisabled && !v.CanAddr() { + v = unsafeReflectValue(v) + } + if v.CanAddr() { + v = v.Addr() + } + + // Is it an error or Stringer? + switch iface := v.Interface().(type) { + case error: + defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(openParenBytes) + w.Write([]byte(iface.Error())) + w.Write(closeParenBytes) + w.Write(spaceBytes) + return false + } + + w.Write([]byte(iface.Error())) + return true + + case fmt.Stringer: + defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(openParenBytes) + w.Write([]byte(iface.String())) + w.Write(closeParenBytes) + w.Write(spaceBytes) + return false + } + w.Write([]byte(iface.String())) + return true + } + return false +} + +// printBool outputs a boolean value as true or false to Writer w. +func printBool(w io.Writer, val bool) { + if val { + w.Write(trueBytes) + } else { + w.Write(falseBytes) + } +} + +// printInt outputs a signed integer value to Writer w. +func printInt(w io.Writer, val int64, base int) { + w.Write([]byte(strconv.FormatInt(val, base))) +} + +// printUint outputs an unsigned integer value to Writer w. +func printUint(w io.Writer, val uint64, base int) { + w.Write([]byte(strconv.FormatUint(val, base))) +} + +// printFloat outputs a floating point value using the specified precision, +// which is expected to be 32 or 64bit, to Writer w. +func printFloat(w io.Writer, val float64, precision int) { + w.Write([]byte(strconv.FormatFloat(val, 'g', -1, precision))) +} + +// printComplex outputs a complex value using the specified float precision +// for the real and imaginary parts to Writer w. +func printComplex(w io.Writer, c complex128, floatPrecision int) { + r := real(c) + w.Write(openParenBytes) + w.Write([]byte(strconv.FormatFloat(r, 'g', -1, floatPrecision))) + i := imag(c) + if i >= 0 { + w.Write(plusBytes) + } + w.Write([]byte(strconv.FormatFloat(i, 'g', -1, floatPrecision))) + w.Write(iBytes) + w.Write(closeParenBytes) +} + +// printHexPtr outputs a uintptr formatted as hexadecimal with a leading '0x' +// prefix to Writer w. +func printHexPtr(w io.Writer, p uintptr) { + // Null pointer. + num := uint64(p) + if num == 0 { + w.Write(nilAngleBytes) + return + } + + // Max uint64 is 16 bytes in hex + 2 bytes for '0x' prefix + buf := make([]byte, 18) + + // It's simpler to construct the hex string right to left. + base := uint64(16) + i := len(buf) - 1 + for num >= base { + buf[i] = hexDigits[num%base] + num /= base + i-- + } + buf[i] = hexDigits[num] + + // Add '0x' prefix. + i-- + buf[i] = 'x' + i-- + buf[i] = '0' + + // Strip unused leading bytes. + buf = buf[i:] + w.Write(buf) +} + +// valuesSorter implements sort.Interface to allow a slice of reflect.Value +// elements to be sorted. +type valuesSorter struct { + values []reflect.Value + strings []string // either nil or same len and values + cs *ConfigState +} + +// newValuesSorter initializes a valuesSorter instance, which holds a set of +// surrogate keys on which the data should be sorted. It uses flags in +// ConfigState to decide if and how to populate those surrogate keys. +func newValuesSorter(values []reflect.Value, cs *ConfigState) sort.Interface { + vs := &valuesSorter{values: values, cs: cs} + if canSortSimply(vs.values[0].Kind()) { + return vs + } + if !cs.DisableMethods { + vs.strings = make([]string, len(values)) + for i := range vs.values { + b := bytes.Buffer{} + if !handleMethods(cs, &b, vs.values[i]) { + vs.strings = nil + break + } + vs.strings[i] = b.String() + } + } + if vs.strings == nil && cs.SpewKeys { + vs.strings = make([]string, len(values)) + for i := range vs.values { + vs.strings[i] = Sprintf("%#v", vs.values[i].Interface()) + } + } + return vs +} + +// canSortSimply tests whether a reflect.Kind is a primitive that can be sorted +// directly, or whether it should be considered for sorting by surrogate keys +// (if the ConfigState allows it). +func canSortSimply(kind reflect.Kind) bool { + // This switch parallels valueSortLess, except for the default case. + switch kind { + case reflect.Bool: + return true + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return true + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + return true + case reflect.Float32, reflect.Float64: + return true + case reflect.String: + return true + case reflect.Uintptr: + return true + case reflect.Array: + return true + } + return false +} + +// Len returns the number of values in the slice. It is part of the +// sort.Interface implementation. +func (s *valuesSorter) Len() int { + return len(s.values) +} + +// Swap swaps the values at the passed indices. It is part of the +// sort.Interface implementation. +func (s *valuesSorter) Swap(i, j int) { + s.values[i], s.values[j] = s.values[j], s.values[i] + if s.strings != nil { + s.strings[i], s.strings[j] = s.strings[j], s.strings[i] + } +} + +// valueSortLess returns whether the first value should sort before the second +// value. It is used by valueSorter.Less as part of the sort.Interface +// implementation. +func valueSortLess(a, b reflect.Value) bool { + switch a.Kind() { + case reflect.Bool: + return !a.Bool() && b.Bool() + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return a.Int() < b.Int() + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + return a.Uint() < b.Uint() + case reflect.Float32, reflect.Float64: + return a.Float() < b.Float() + case reflect.String: + return a.String() < b.String() + case reflect.Uintptr: + return a.Uint() < b.Uint() + case reflect.Array: + // Compare the contents of both arrays. + l := a.Len() + for i := 0; i < l; i++ { + av := a.Index(i) + bv := b.Index(i) + if av.Interface() == bv.Interface() { + continue + } + return valueSortLess(av, bv) + } + } + return a.String() < b.String() +} + +// Less returns whether the value at index i should sort before the +// value at index j. It is part of the sort.Interface implementation. +func (s *valuesSorter) Less(i, j int) bool { + if s.strings == nil { + return valueSortLess(s.values[i], s.values[j]) + } + return s.strings[i] < s.strings[j] +} + +// sortValues is a sort function that handles both native types and any type that +// can be converted to error or Stringer. Other inputs are sorted according to +// their Value.String() value to ensure display stability. +func sortValues(values []reflect.Value, cs *ConfigState) { + if len(values) == 0 { + return + } + sort.Sort(newValuesSorter(values, cs)) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/config.go b/vendor/github.com/davecgh/go-spew/spew/config.go new file mode 100644 index 00000000..2e3d22f3 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/config.go @@ -0,0 +1,306 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "io" + "os" +) + +// ConfigState houses the configuration options used by spew to format and +// display values. There is a global instance, Config, that is used to control +// all top-level Formatter and Dump functionality. Each ConfigState instance +// provides methods equivalent to the top-level functions. +// +// The zero value for ConfigState provides no indentation. You would typically +// want to set it to a space or a tab. +// +// Alternatively, you can use NewDefaultConfig to get a ConfigState instance +// with default settings. See the documentation of NewDefaultConfig for default +// values. +type ConfigState struct { + // Indent specifies the string to use for each indentation level. The + // global config instance that all top-level functions use set this to a + // single space by default. If you would like more indentation, you might + // set this to a tab with "\t" or perhaps two spaces with " ". + Indent string + + // MaxDepth controls the maximum number of levels to descend into nested + // data structures. The default, 0, means there is no limit. + // + // NOTE: Circular data structures are properly detected, so it is not + // necessary to set this value unless you specifically want to limit deeply + // nested data structures. + MaxDepth int + + // DisableMethods specifies whether or not error and Stringer interfaces are + // invoked for types that implement them. + DisableMethods bool + + // DisablePointerMethods specifies whether or not to check for and invoke + // error and Stringer interfaces on types which only accept a pointer + // receiver when the current type is not a pointer. + // + // NOTE: This might be an unsafe action since calling one of these methods + // with a pointer receiver could technically mutate the value, however, + // in practice, types which choose to satisify an error or Stringer + // interface with a pointer receiver should not be mutating their state + // inside these interface methods. As a result, this option relies on + // access to the unsafe package, so it will not have any effect when + // running in environments without access to the unsafe package such as + // Google App Engine or with the "safe" build tag specified. + DisablePointerMethods bool + + // DisablePointerAddresses specifies whether to disable the printing of + // pointer addresses. This is useful when diffing data structures in tests. + DisablePointerAddresses bool + + // DisableCapacities specifies whether to disable the printing of capacities + // for arrays, slices, maps and channels. This is useful when diffing + // data structures in tests. + DisableCapacities bool + + // ContinueOnMethod specifies whether or not recursion should continue once + // a custom error or Stringer interface is invoked. The default, false, + // means it will print the results of invoking the custom error or Stringer + // interface and return immediately instead of continuing to recurse into + // the internals of the data type. + // + // NOTE: This flag does not have any effect if method invocation is disabled + // via the DisableMethods or DisablePointerMethods options. + ContinueOnMethod bool + + // SortKeys specifies map keys should be sorted before being printed. Use + // this to have a more deterministic, diffable output. Note that only + // native types (bool, int, uint, floats, uintptr and string) and types + // that support the error or Stringer interfaces (if methods are + // enabled) are supported, with other types sorted according to the + // reflect.Value.String() output which guarantees display stability. + SortKeys bool + + // SpewKeys specifies that, as a last resort attempt, map keys should + // be spewed to strings and sorted by those strings. This is only + // considered if SortKeys is true. + SpewKeys bool +} + +// Config is the active configuration of the top-level functions. +// The configuration can be changed by modifying the contents of spew.Config. +var Config = ConfigState{Indent: " "} + +// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the formatted string as a value that satisfies error. See NewFormatter +// for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Errorf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Errorf(format string, a ...interface{}) (err error) { + return fmt.Errorf(format, c.convertArgs(a)...) +} + +// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprint(w, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprint(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprint(w, c.convertArgs(a)...) +} + +// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintf(w, format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { + return fmt.Fprintf(w, format, c.convertArgs(a)...) +} + +// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it +// passed with a Formatter interface returned by c.NewFormatter. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintln(w, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprintln(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprintln(w, c.convertArgs(a)...) +} + +// Print is a wrapper for fmt.Print that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Print(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Print(a ...interface{}) (n int, err error) { + return fmt.Print(c.convertArgs(a)...) +} + +// Printf is a wrapper for fmt.Printf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Printf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Printf(format string, a ...interface{}) (n int, err error) { + return fmt.Printf(format, c.convertArgs(a)...) +} + +// Println is a wrapper for fmt.Println that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Println(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Println(a ...interface{}) (n int, err error) { + return fmt.Println(c.convertArgs(a)...) +} + +// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprint(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprint(a ...interface{}) string { + return fmt.Sprint(c.convertArgs(a)...) +} + +// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprintf(format string, a ...interface{}) string { + return fmt.Sprintf(format, c.convertArgs(a)...) +} + +// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it +// were passed with a Formatter interface returned by c.NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintln(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprintln(a ...interface{}) string { + return fmt.Sprintln(c.convertArgs(a)...) +} + +/* +NewFormatter returns a custom formatter that satisfies the fmt.Formatter +interface. As a result, it integrates cleanly with standard fmt package +printing functions. The formatter is useful for inline printing of smaller data +types similar to the standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), and %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Typically this function shouldn't be called directly. It is much easier to make +use of the custom formatter by calling one of the convenience functions such as +c.Printf, c.Println, or c.Printf. +*/ +func (c *ConfigState) NewFormatter(v interface{}) fmt.Formatter { + return newFormatter(c, v) +} + +// Fdump formats and displays the passed arguments to io.Writer w. It formats +// exactly the same as Dump. +func (c *ConfigState) Fdump(w io.Writer, a ...interface{}) { + fdump(c, w, a...) +} + +/* +Dump displays the passed parameters to standard out with newlines, customizable +indentation, and additional debug information such as complete types and all +pointer addresses used to indirect to the final value. It provides the +following features over the built-in printing facilities provided by the fmt +package: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output + +The configuration options are controlled by modifying the public members +of c. See ConfigState for options documentation. + +See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to +get the formatted result as a string. +*/ +func (c *ConfigState) Dump(a ...interface{}) { + fdump(c, os.Stdout, a...) +} + +// Sdump returns a string with the passed arguments formatted exactly the same +// as Dump. +func (c *ConfigState) Sdump(a ...interface{}) string { + var buf bytes.Buffer + fdump(c, &buf, a...) + return buf.String() +} + +// convertArgs accepts a slice of arguments and returns a slice of the same +// length with each argument converted to a spew Formatter interface using +// the ConfigState associated with s. +func (c *ConfigState) convertArgs(args []interface{}) (formatters []interface{}) { + formatters = make([]interface{}, len(args)) + for index, arg := range args { + formatters[index] = newFormatter(c, arg) + } + return formatters +} + +// NewDefaultConfig returns a ConfigState with the following default settings. +// +// Indent: " " +// MaxDepth: 0 +// DisableMethods: false +// DisablePointerMethods: false +// ContinueOnMethod: false +// SortKeys: false +func NewDefaultConfig() *ConfigState { + return &ConfigState{Indent: " "} +} diff --git a/vendor/github.com/davecgh/go-spew/spew/doc.go b/vendor/github.com/davecgh/go-spew/spew/doc.go new file mode 100644 index 00000000..aacaac6f --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/doc.go @@ -0,0 +1,211 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* +Package spew implements a deep pretty printer for Go data structures to aid in +debugging. + +A quick overview of the additional features spew provides over the built-in +printing facilities for Go data types are as follows: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output (only when using + Dump style) + +There are two different approaches spew allows for dumping Go data structures: + + * Dump style which prints with newlines, customizable indentation, + and additional debug information such as types and all pointer addresses + used to indirect to the final value + * A custom Formatter interface that integrates cleanly with the standard fmt + package and replaces %v, %+v, %#v, and %#+v to provide inline printing + similar to the default %v while providing the additional functionality + outlined above and passing unsupported format verbs such as %x and %q + along to fmt + +Quick Start + +This section demonstrates how to quickly get started with spew. See the +sections below for further details on formatting and configuration options. + +To dump a variable with full newlines, indentation, type, and pointer +information use Dump, Fdump, or Sdump: + spew.Dump(myVar1, myVar2, ...) + spew.Fdump(someWriter, myVar1, myVar2, ...) + str := spew.Sdump(myVar1, myVar2, ...) + +Alternatively, if you would prefer to use format strings with a compacted inline +printing style, use the convenience wrappers Printf, Fprintf, etc with +%v (most compact), %+v (adds pointer addresses), %#v (adds types), or +%#+v (adds types and pointer addresses): + spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + spew.Fprintf(someWriter, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Fprintf(someWriter, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + +Configuration Options + +Configuration of spew is handled by fields in the ConfigState type. For +convenience, all of the top-level functions use a global state available +via the spew.Config global. + +It is also possible to create a ConfigState instance that provides methods +equivalent to the top-level functions. This allows concurrent configuration +options. See the ConfigState documentation for more details. + +The following configuration options are available: + * Indent + String to use for each indentation level for Dump functions. + It is a single space by default. A popular alternative is "\t". + + * MaxDepth + Maximum number of levels to descend into nested data structures. + There is no limit by default. + + * DisableMethods + Disables invocation of error and Stringer interface methods. + Method invocation is enabled by default. + + * DisablePointerMethods + Disables invocation of error and Stringer interface methods on types + which only accept pointer receivers from non-pointer variables. + Pointer method invocation is enabled by default. + + * DisablePointerAddresses + DisablePointerAddresses specifies whether to disable the printing of + pointer addresses. This is useful when diffing data structures in tests. + + * DisableCapacities + DisableCapacities specifies whether to disable the printing of + capacities for arrays, slices, maps and channels. This is useful when + diffing data structures in tests. + + * ContinueOnMethod + Enables recursion into types after invoking error and Stringer interface + methods. Recursion after method invocation is disabled by default. + + * SortKeys + Specifies map keys should be sorted before being printed. Use + this to have a more deterministic, diffable output. Note that + only native types (bool, int, uint, floats, uintptr and string) + and types which implement error or Stringer interfaces are + supported with other types sorted according to the + reflect.Value.String() output which guarantees display + stability. Natural map order is used by default. + + * SpewKeys + Specifies that, as a last resort attempt, map keys should be + spewed to strings and sorted by those strings. This is only + considered if SortKeys is true. + +Dump Usage + +Simply call spew.Dump with a list of variables you want to dump: + + spew.Dump(myVar1, myVar2, ...) + +You may also call spew.Fdump if you would prefer to output to an arbitrary +io.Writer. For example, to dump to standard error: + + spew.Fdump(os.Stderr, myVar1, myVar2, ...) + +A third option is to call spew.Sdump to get the formatted output as a string: + + str := spew.Sdump(myVar1, myVar2, ...) + +Sample Dump Output + +See the Dump example for details on the setup of the types and variables being +shown here. + + (main.Foo) { + unexportedField: (*main.Bar)(0xf84002e210)({ + flag: (main.Flag) flagTwo, + data: (uintptr) + }), + ExportedField: (map[interface {}]interface {}) (len=1) { + (string) (len=3) "one": (bool) true + } + } + +Byte (and uint8) arrays and slices are displayed uniquely like the hexdump -C +command as shown. + ([]uint8) (len=32 cap=32) { + 00000000 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 |............... | + 00000010 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 |!"#$%&'()*+,-./0| + 00000020 31 32 |12| + } + +Custom Formatter + +Spew provides a custom formatter that implements the fmt.Formatter interface +so that it integrates cleanly with standard fmt package printing functions. The +formatter is useful for inline printing of smaller data types similar to the +standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Custom Formatter Usage + +The simplest way to make use of the spew custom formatter is to call one of the +convenience functions such as spew.Printf, spew.Println, or spew.Printf. The +functions have syntax you are most likely already familiar with: + + spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + spew.Println(myVar, myVar2) + spew.Fprintf(os.Stderr, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Fprintf(os.Stderr, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + +See the Index for the full list convenience functions. + +Sample Formatter Output + +Double pointer to a uint8: + %v: <**>5 + %+v: <**>(0xf8400420d0->0xf8400420c8)5 + %#v: (**uint8)5 + %#+v: (**uint8)(0xf8400420d0->0xf8400420c8)5 + +Pointer to circular struct with a uint8 field and a pointer to itself: + %v: <*>{1 <*>} + %+v: <*>(0xf84003e260){ui8:1 c:<*>(0xf84003e260)} + %#v: (*main.circular){ui8:(uint8)1 c:(*main.circular)} + %#+v: (*main.circular)(0xf84003e260){ui8:(uint8)1 c:(*main.circular)(0xf84003e260)} + +See the Printf example for details on the setup of variables being shown +here. + +Errors + +Since it is possible for custom Stringer/error interfaces to panic, spew +detects them and handles them internally by printing the panic information +inline with the output. Since spew is intended to provide deep pretty printing +capabilities on structures, it intentionally does not return any errors. +*/ +package spew diff --git a/vendor/github.com/davecgh/go-spew/spew/dump.go b/vendor/github.com/davecgh/go-spew/spew/dump.go new file mode 100644 index 00000000..f78d89fc --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/dump.go @@ -0,0 +1,509 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "encoding/hex" + "fmt" + "io" + "os" + "reflect" + "regexp" + "strconv" + "strings" +) + +var ( + // uint8Type is a reflect.Type representing a uint8. It is used to + // convert cgo types to uint8 slices for hexdumping. + uint8Type = reflect.TypeOf(uint8(0)) + + // cCharRE is a regular expression that matches a cgo char. + // It is used to detect character arrays to hexdump them. + cCharRE = regexp.MustCompile(`^.*\._Ctype_char$`) + + // cUnsignedCharRE is a regular expression that matches a cgo unsigned + // char. It is used to detect unsigned character arrays to hexdump + // them. + cUnsignedCharRE = regexp.MustCompile(`^.*\._Ctype_unsignedchar$`) + + // cUint8tCharRE is a regular expression that matches a cgo uint8_t. + // It is used to detect uint8_t arrays to hexdump them. + cUint8tCharRE = regexp.MustCompile(`^.*\._Ctype_uint8_t$`) +) + +// dumpState contains information about the state of a dump operation. +type dumpState struct { + w io.Writer + depth int + pointers map[uintptr]int + ignoreNextType bool + ignoreNextIndent bool + cs *ConfigState +} + +// indent performs indentation according to the depth level and cs.Indent +// option. +func (d *dumpState) indent() { + if d.ignoreNextIndent { + d.ignoreNextIndent = false + return + } + d.w.Write(bytes.Repeat([]byte(d.cs.Indent), d.depth)) +} + +// unpackValue returns values inside of non-nil interfaces when possible. +// This is useful for data types like structs, arrays, slices, and maps which +// can contain varying types packed inside an interface. +func (d *dumpState) unpackValue(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Interface && !v.IsNil() { + v = v.Elem() + } + return v +} + +// dumpPtr handles formatting of pointers by indirecting them as necessary. +func (d *dumpState) dumpPtr(v reflect.Value) { + // Remove pointers at or below the current depth from map used to detect + // circular refs. + for k, depth := range d.pointers { + if depth >= d.depth { + delete(d.pointers, k) + } + } + + // Keep list of all dereferenced pointers to show later. + pointerChain := make([]uintptr, 0) + + // Figure out how many levels of indirection there are by dereferencing + // pointers and unpacking interfaces down the chain while detecting circular + // references. + nilFound := false + cycleFound := false + indirects := 0 + ve := v + for ve.Kind() == reflect.Ptr { + if ve.IsNil() { + nilFound = true + break + } + indirects++ + addr := ve.Pointer() + pointerChain = append(pointerChain, addr) + if pd, ok := d.pointers[addr]; ok && pd < d.depth { + cycleFound = true + indirects-- + break + } + d.pointers[addr] = d.depth + + ve = ve.Elem() + if ve.Kind() == reflect.Interface { + if ve.IsNil() { + nilFound = true + break + } + ve = ve.Elem() + } + } + + // Display type information. + d.w.Write(openParenBytes) + d.w.Write(bytes.Repeat(asteriskBytes, indirects)) + d.w.Write([]byte(ve.Type().String())) + d.w.Write(closeParenBytes) + + // Display pointer information. + if !d.cs.DisablePointerAddresses && len(pointerChain) > 0 { + d.w.Write(openParenBytes) + for i, addr := range pointerChain { + if i > 0 { + d.w.Write(pointerChainBytes) + } + printHexPtr(d.w, addr) + } + d.w.Write(closeParenBytes) + } + + // Display dereferenced value. + d.w.Write(openParenBytes) + switch { + case nilFound: + d.w.Write(nilAngleBytes) + + case cycleFound: + d.w.Write(circularBytes) + + default: + d.ignoreNextType = true + d.dump(ve) + } + d.w.Write(closeParenBytes) +} + +// dumpSlice handles formatting of arrays and slices. Byte (uint8 under +// reflection) arrays and slices are dumped in hexdump -C fashion. +func (d *dumpState) dumpSlice(v reflect.Value) { + // Determine whether this type should be hex dumped or not. Also, + // for types which should be hexdumped, try to use the underlying data + // first, then fall back to trying to convert them to a uint8 slice. + var buf []uint8 + doConvert := false + doHexDump := false + numEntries := v.Len() + if numEntries > 0 { + vt := v.Index(0).Type() + vts := vt.String() + switch { + // C types that need to be converted. + case cCharRE.MatchString(vts): + fallthrough + case cUnsignedCharRE.MatchString(vts): + fallthrough + case cUint8tCharRE.MatchString(vts): + doConvert = true + + // Try to use existing uint8 slices and fall back to converting + // and copying if that fails. + case vt.Kind() == reflect.Uint8: + // We need an addressable interface to convert the type + // to a byte slice. However, the reflect package won't + // give us an interface on certain things like + // unexported struct fields in order to enforce + // visibility rules. We use unsafe, when available, to + // bypass these restrictions since this package does not + // mutate the values. + vs := v + if !vs.CanInterface() || !vs.CanAddr() { + vs = unsafeReflectValue(vs) + } + if !UnsafeDisabled { + vs = vs.Slice(0, numEntries) + + // Use the existing uint8 slice if it can be + // type asserted. + iface := vs.Interface() + if slice, ok := iface.([]uint8); ok { + buf = slice + doHexDump = true + break + } + } + + // The underlying data needs to be converted if it can't + // be type asserted to a uint8 slice. + doConvert = true + } + + // Copy and convert the underlying type if needed. + if doConvert && vt.ConvertibleTo(uint8Type) { + // Convert and copy each element into a uint8 byte + // slice. + buf = make([]uint8, numEntries) + for i := 0; i < numEntries; i++ { + vv := v.Index(i) + buf[i] = uint8(vv.Convert(uint8Type).Uint()) + } + doHexDump = true + } + } + + // Hexdump the entire slice as needed. + if doHexDump { + indent := strings.Repeat(d.cs.Indent, d.depth) + str := indent + hex.Dump(buf) + str = strings.Replace(str, "\n", "\n"+indent, -1) + str = strings.TrimRight(str, d.cs.Indent) + d.w.Write([]byte(str)) + return + } + + // Recursively call dump for each item. + for i := 0; i < numEntries; i++ { + d.dump(d.unpackValue(v.Index(i))) + if i < (numEntries - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } +} + +// dump is the main workhorse for dumping a value. It uses the passed reflect +// value to figure out what kind of object we are dealing with and formats it +// appropriately. It is a recursive function, however circular data structures +// are detected and handled properly. +func (d *dumpState) dump(v reflect.Value) { + // Handle invalid reflect values immediately. + kind := v.Kind() + if kind == reflect.Invalid { + d.w.Write(invalidAngleBytes) + return + } + + // Handle pointers specially. + if kind == reflect.Ptr { + d.indent() + d.dumpPtr(v) + return + } + + // Print type information unless already handled elsewhere. + if !d.ignoreNextType { + d.indent() + d.w.Write(openParenBytes) + d.w.Write([]byte(v.Type().String())) + d.w.Write(closeParenBytes) + d.w.Write(spaceBytes) + } + d.ignoreNextType = false + + // Display length and capacity if the built-in len and cap functions + // work with the value's kind and the len/cap itself is non-zero. + valueLen, valueCap := 0, 0 + switch v.Kind() { + case reflect.Array, reflect.Slice, reflect.Chan: + valueLen, valueCap = v.Len(), v.Cap() + case reflect.Map, reflect.String: + valueLen = v.Len() + } + if valueLen != 0 || !d.cs.DisableCapacities && valueCap != 0 { + d.w.Write(openParenBytes) + if valueLen != 0 { + d.w.Write(lenEqualsBytes) + printInt(d.w, int64(valueLen), 10) + } + if !d.cs.DisableCapacities && valueCap != 0 { + if valueLen != 0 { + d.w.Write(spaceBytes) + } + d.w.Write(capEqualsBytes) + printInt(d.w, int64(valueCap), 10) + } + d.w.Write(closeParenBytes) + d.w.Write(spaceBytes) + } + + // Call Stringer/error interfaces if they exist and the handle methods flag + // is enabled + if !d.cs.DisableMethods { + if (kind != reflect.Invalid) && (kind != reflect.Interface) { + if handled := handleMethods(d.cs, d.w, v); handled { + return + } + } + } + + switch kind { + case reflect.Invalid: + // Do nothing. We should never get here since invalid has already + // been handled above. + + case reflect.Bool: + printBool(d.w, v.Bool()) + + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + printInt(d.w, v.Int(), 10) + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + printUint(d.w, v.Uint(), 10) + + case reflect.Float32: + printFloat(d.w, v.Float(), 32) + + case reflect.Float64: + printFloat(d.w, v.Float(), 64) + + case reflect.Complex64: + printComplex(d.w, v.Complex(), 32) + + case reflect.Complex128: + printComplex(d.w, v.Complex(), 64) + + case reflect.Slice: + if v.IsNil() { + d.w.Write(nilAngleBytes) + break + } + fallthrough + + case reflect.Array: + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + d.dumpSlice(v) + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.String: + d.w.Write([]byte(strconv.Quote(v.String()))) + + case reflect.Interface: + // The only time we should get here is for nil interfaces due to + // unpackValue calls. + if v.IsNil() { + d.w.Write(nilAngleBytes) + } + + case reflect.Ptr: + // Do nothing. We should never get here since pointers have already + // been handled above. + + case reflect.Map: + // nil maps should be indicated as different than empty maps + if v.IsNil() { + d.w.Write(nilAngleBytes) + break + } + + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + numEntries := v.Len() + keys := v.MapKeys() + if d.cs.SortKeys { + sortValues(keys, d.cs) + } + for i, key := range keys { + d.dump(d.unpackValue(key)) + d.w.Write(colonSpaceBytes) + d.ignoreNextIndent = true + d.dump(d.unpackValue(v.MapIndex(key))) + if i < (numEntries - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.Struct: + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + vt := v.Type() + numFields := v.NumField() + for i := 0; i < numFields; i++ { + d.indent() + vtf := vt.Field(i) + d.w.Write([]byte(vtf.Name)) + d.w.Write(colonSpaceBytes) + d.ignoreNextIndent = true + d.dump(d.unpackValue(v.Field(i))) + if i < (numFields - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.Uintptr: + printHexPtr(d.w, uintptr(v.Uint())) + + case reflect.UnsafePointer, reflect.Chan, reflect.Func: + printHexPtr(d.w, v.Pointer()) + + // There were not any other types at the time this code was written, but + // fall back to letting the default fmt package handle it in case any new + // types are added. + default: + if v.CanInterface() { + fmt.Fprintf(d.w, "%v", v.Interface()) + } else { + fmt.Fprintf(d.w, "%v", v.String()) + } + } +} + +// fdump is a helper function to consolidate the logic from the various public +// methods which take varying writers and config states. +func fdump(cs *ConfigState, w io.Writer, a ...interface{}) { + for _, arg := range a { + if arg == nil { + w.Write(interfaceBytes) + w.Write(spaceBytes) + w.Write(nilAngleBytes) + w.Write(newlineBytes) + continue + } + + d := dumpState{w: w, cs: cs} + d.pointers = make(map[uintptr]int) + d.dump(reflect.ValueOf(arg)) + d.w.Write(newlineBytes) + } +} + +// Fdump formats and displays the passed arguments to io.Writer w. It formats +// exactly the same as Dump. +func Fdump(w io.Writer, a ...interface{}) { + fdump(&Config, w, a...) +} + +// Sdump returns a string with the passed arguments formatted exactly the same +// as Dump. +func Sdump(a ...interface{}) string { + var buf bytes.Buffer + fdump(&Config, &buf, a...) + return buf.String() +} + +/* +Dump displays the passed parameters to standard out with newlines, customizable +indentation, and additional debug information such as complete types and all +pointer addresses used to indirect to the final value. It provides the +following features over the built-in printing facilities provided by the fmt +package: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output + +The configuration options are controlled by an exported package global, +spew.Config. See ConfigState for options documentation. + +See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to +get the formatted result as a string. +*/ +func Dump(a ...interface{}) { + fdump(&Config, os.Stdout, a...) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/format.go b/vendor/github.com/davecgh/go-spew/spew/format.go new file mode 100644 index 00000000..b04edb7d --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/format.go @@ -0,0 +1,419 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "reflect" + "strconv" + "strings" +) + +// supportedFlags is a list of all the character flags supported by fmt package. +const supportedFlags = "0-+# " + +// formatState implements the fmt.Formatter interface and contains information +// about the state of a formatting operation. The NewFormatter function can +// be used to get a new Formatter which can be used directly as arguments +// in standard fmt package printing calls. +type formatState struct { + value interface{} + fs fmt.State + depth int + pointers map[uintptr]int + ignoreNextType bool + cs *ConfigState +} + +// buildDefaultFormat recreates the original format string without precision +// and width information to pass in to fmt.Sprintf in the case of an +// unrecognized type. Unless new types are added to the language, this +// function won't ever be called. +func (f *formatState) buildDefaultFormat() (format string) { + buf := bytes.NewBuffer(percentBytes) + + for _, flag := range supportedFlags { + if f.fs.Flag(int(flag)) { + buf.WriteRune(flag) + } + } + + buf.WriteRune('v') + + format = buf.String() + return format +} + +// constructOrigFormat recreates the original format string including precision +// and width information to pass along to the standard fmt package. This allows +// automatic deferral of all format strings this package doesn't support. +func (f *formatState) constructOrigFormat(verb rune) (format string) { + buf := bytes.NewBuffer(percentBytes) + + for _, flag := range supportedFlags { + if f.fs.Flag(int(flag)) { + buf.WriteRune(flag) + } + } + + if width, ok := f.fs.Width(); ok { + buf.WriteString(strconv.Itoa(width)) + } + + if precision, ok := f.fs.Precision(); ok { + buf.Write(precisionBytes) + buf.WriteString(strconv.Itoa(precision)) + } + + buf.WriteRune(verb) + + format = buf.String() + return format +} + +// unpackValue returns values inside of non-nil interfaces when possible and +// ensures that types for values which have been unpacked from an interface +// are displayed when the show types flag is also set. +// This is useful for data types like structs, arrays, slices, and maps which +// can contain varying types packed inside an interface. +func (f *formatState) unpackValue(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Interface { + f.ignoreNextType = false + if !v.IsNil() { + v = v.Elem() + } + } + return v +} + +// formatPtr handles formatting of pointers by indirecting them as necessary. +func (f *formatState) formatPtr(v reflect.Value) { + // Display nil if top level pointer is nil. + showTypes := f.fs.Flag('#') + if v.IsNil() && (!showTypes || f.ignoreNextType) { + f.fs.Write(nilAngleBytes) + return + } + + // Remove pointers at or below the current depth from map used to detect + // circular refs. + for k, depth := range f.pointers { + if depth >= f.depth { + delete(f.pointers, k) + } + } + + // Keep list of all dereferenced pointers to possibly show later. + pointerChain := make([]uintptr, 0) + + // Figure out how many levels of indirection there are by derferencing + // pointers and unpacking interfaces down the chain while detecting circular + // references. + nilFound := false + cycleFound := false + indirects := 0 + ve := v + for ve.Kind() == reflect.Ptr { + if ve.IsNil() { + nilFound = true + break + } + indirects++ + addr := ve.Pointer() + pointerChain = append(pointerChain, addr) + if pd, ok := f.pointers[addr]; ok && pd < f.depth { + cycleFound = true + indirects-- + break + } + f.pointers[addr] = f.depth + + ve = ve.Elem() + if ve.Kind() == reflect.Interface { + if ve.IsNil() { + nilFound = true + break + } + ve = ve.Elem() + } + } + + // Display type or indirection level depending on flags. + if showTypes && !f.ignoreNextType { + f.fs.Write(openParenBytes) + f.fs.Write(bytes.Repeat(asteriskBytes, indirects)) + f.fs.Write([]byte(ve.Type().String())) + f.fs.Write(closeParenBytes) + } else { + if nilFound || cycleFound { + indirects += strings.Count(ve.Type().String(), "*") + } + f.fs.Write(openAngleBytes) + f.fs.Write([]byte(strings.Repeat("*", indirects))) + f.fs.Write(closeAngleBytes) + } + + // Display pointer information depending on flags. + if f.fs.Flag('+') && (len(pointerChain) > 0) { + f.fs.Write(openParenBytes) + for i, addr := range pointerChain { + if i > 0 { + f.fs.Write(pointerChainBytes) + } + printHexPtr(f.fs, addr) + } + f.fs.Write(closeParenBytes) + } + + // Display dereferenced value. + switch { + case nilFound: + f.fs.Write(nilAngleBytes) + + case cycleFound: + f.fs.Write(circularShortBytes) + + default: + f.ignoreNextType = true + f.format(ve) + } +} + +// format is the main workhorse for providing the Formatter interface. It +// uses the passed reflect value to figure out what kind of object we are +// dealing with and formats it appropriately. It is a recursive function, +// however circular data structures are detected and handled properly. +func (f *formatState) format(v reflect.Value) { + // Handle invalid reflect values immediately. + kind := v.Kind() + if kind == reflect.Invalid { + f.fs.Write(invalidAngleBytes) + return + } + + // Handle pointers specially. + if kind == reflect.Ptr { + f.formatPtr(v) + return + } + + // Print type information unless already handled elsewhere. + if !f.ignoreNextType && f.fs.Flag('#') { + f.fs.Write(openParenBytes) + f.fs.Write([]byte(v.Type().String())) + f.fs.Write(closeParenBytes) + } + f.ignoreNextType = false + + // Call Stringer/error interfaces if they exist and the handle methods + // flag is enabled. + if !f.cs.DisableMethods { + if (kind != reflect.Invalid) && (kind != reflect.Interface) { + if handled := handleMethods(f.cs, f.fs, v); handled { + return + } + } + } + + switch kind { + case reflect.Invalid: + // Do nothing. We should never get here since invalid has already + // been handled above. + + case reflect.Bool: + printBool(f.fs, v.Bool()) + + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + printInt(f.fs, v.Int(), 10) + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + printUint(f.fs, v.Uint(), 10) + + case reflect.Float32: + printFloat(f.fs, v.Float(), 32) + + case reflect.Float64: + printFloat(f.fs, v.Float(), 64) + + case reflect.Complex64: + printComplex(f.fs, v.Complex(), 32) + + case reflect.Complex128: + printComplex(f.fs, v.Complex(), 64) + + case reflect.Slice: + if v.IsNil() { + f.fs.Write(nilAngleBytes) + break + } + fallthrough + + case reflect.Array: + f.fs.Write(openBracketBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + numEntries := v.Len() + for i := 0; i < numEntries; i++ { + if i > 0 { + f.fs.Write(spaceBytes) + } + f.ignoreNextType = true + f.format(f.unpackValue(v.Index(i))) + } + } + f.depth-- + f.fs.Write(closeBracketBytes) + + case reflect.String: + f.fs.Write([]byte(v.String())) + + case reflect.Interface: + // The only time we should get here is for nil interfaces due to + // unpackValue calls. + if v.IsNil() { + f.fs.Write(nilAngleBytes) + } + + case reflect.Ptr: + // Do nothing. We should never get here since pointers have already + // been handled above. + + case reflect.Map: + // nil maps should be indicated as different than empty maps + if v.IsNil() { + f.fs.Write(nilAngleBytes) + break + } + + f.fs.Write(openMapBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + keys := v.MapKeys() + if f.cs.SortKeys { + sortValues(keys, f.cs) + } + for i, key := range keys { + if i > 0 { + f.fs.Write(spaceBytes) + } + f.ignoreNextType = true + f.format(f.unpackValue(key)) + f.fs.Write(colonBytes) + f.ignoreNextType = true + f.format(f.unpackValue(v.MapIndex(key))) + } + } + f.depth-- + f.fs.Write(closeMapBytes) + + case reflect.Struct: + numFields := v.NumField() + f.fs.Write(openBraceBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + vt := v.Type() + for i := 0; i < numFields; i++ { + if i > 0 { + f.fs.Write(spaceBytes) + } + vtf := vt.Field(i) + if f.fs.Flag('+') || f.fs.Flag('#') { + f.fs.Write([]byte(vtf.Name)) + f.fs.Write(colonBytes) + } + f.format(f.unpackValue(v.Field(i))) + } + } + f.depth-- + f.fs.Write(closeBraceBytes) + + case reflect.Uintptr: + printHexPtr(f.fs, uintptr(v.Uint())) + + case reflect.UnsafePointer, reflect.Chan, reflect.Func: + printHexPtr(f.fs, v.Pointer()) + + // There were not any other types at the time this code was written, but + // fall back to letting the default fmt package handle it if any get added. + default: + format := f.buildDefaultFormat() + if v.CanInterface() { + fmt.Fprintf(f.fs, format, v.Interface()) + } else { + fmt.Fprintf(f.fs, format, v.String()) + } + } +} + +// Format satisfies the fmt.Formatter interface. See NewFormatter for usage +// details. +func (f *formatState) Format(fs fmt.State, verb rune) { + f.fs = fs + + // Use standard formatting for verbs that are not v. + if verb != 'v' { + format := f.constructOrigFormat(verb) + fmt.Fprintf(fs, format, f.value) + return + } + + if f.value == nil { + if fs.Flag('#') { + fs.Write(interfaceBytes) + } + fs.Write(nilAngleBytes) + return + } + + f.format(reflect.ValueOf(f.value)) +} + +// newFormatter is a helper function to consolidate the logic from the various +// public methods which take varying config states. +func newFormatter(cs *ConfigState, v interface{}) fmt.Formatter { + fs := &formatState{value: v, cs: cs} + fs.pointers = make(map[uintptr]int) + return fs +} + +/* +NewFormatter returns a custom formatter that satisfies the fmt.Formatter +interface. As a result, it integrates cleanly with standard fmt package +printing functions. The formatter is useful for inline printing of smaller data +types similar to the standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Typically this function shouldn't be called directly. It is much easier to make +use of the custom formatter by calling one of the convenience functions such as +Printf, Println, or Fprintf. +*/ +func NewFormatter(v interface{}) fmt.Formatter { + return newFormatter(&Config, v) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/spew.go b/vendor/github.com/davecgh/go-spew/spew/spew.go new file mode 100644 index 00000000..32c0e338 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/spew.go @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "fmt" + "io" +) + +// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the formatted string as a value that satisfies error. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Errorf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Errorf(format string, a ...interface{}) (err error) { + return fmt.Errorf(format, convertArgs(a)...) +} + +// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprint(w, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprint(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprint(w, convertArgs(a)...) +} + +// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintf(w, format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { + return fmt.Fprintf(w, format, convertArgs(a)...) +} + +// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it +// passed with a default Formatter interface returned by NewFormatter. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintln(w, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprintln(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprintln(w, convertArgs(a)...) +} + +// Print is a wrapper for fmt.Print that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Print(spew.NewFormatter(a), spew.NewFormatter(b)) +func Print(a ...interface{}) (n int, err error) { + return fmt.Print(convertArgs(a)...) +} + +// Printf is a wrapper for fmt.Printf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Printf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Printf(format string, a ...interface{}) (n int, err error) { + return fmt.Printf(format, convertArgs(a)...) +} + +// Println is a wrapper for fmt.Println that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Println(spew.NewFormatter(a), spew.NewFormatter(b)) +func Println(a ...interface{}) (n int, err error) { + return fmt.Println(convertArgs(a)...) +} + +// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprint(spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprint(a ...interface{}) string { + return fmt.Sprint(convertArgs(a)...) +} + +// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprintf(format string, a ...interface{}) string { + return fmt.Sprintf(format, convertArgs(a)...) +} + +// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it +// were passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintln(spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprintln(a ...interface{}) string { + return fmt.Sprintln(convertArgs(a)...) +} + +// convertArgs accepts a slice of arguments and returns a slice of the same +// length with each argument converted to a default spew Formatter interface. +func convertArgs(args []interface{}) (formatters []interface{}) { + formatters = make([]interface{}, len(args)) + for index, arg := range args { + formatters[index] = NewFormatter(arg) + } + return formatters +} diff --git a/vendor/github.com/golang/protobuf/AUTHORS b/vendor/github.com/golang/protobuf/AUTHORS new file mode 100644 index 00000000..15167cd7 --- /dev/null +++ b/vendor/github.com/golang/protobuf/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/github.com/golang/protobuf/CONTRIBUTORS b/vendor/github.com/golang/protobuf/CONTRIBUTORS new file mode 100644 index 00000000..1c4577e9 --- /dev/null +++ b/vendor/github.com/golang/protobuf/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/vendor/github.com/golang/protobuf/LICENSE b/vendor/github.com/golang/protobuf/LICENSE new file mode 100644 index 00000000..0f646931 --- /dev/null +++ b/vendor/github.com/golang/protobuf/LICENSE @@ -0,0 +1,28 @@ +Copyright 2010 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/vendor/github.com/golang/protobuf/proto/clone.go b/vendor/github.com/golang/protobuf/proto/clone.go new file mode 100644 index 00000000..3cd3249f --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/clone.go @@ -0,0 +1,253 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2011 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Protocol buffer deep copy and merge. +// TODO: RawMessage. + +package proto + +import ( + "fmt" + "log" + "reflect" + "strings" +) + +// Clone returns a deep copy of a protocol buffer. +func Clone(src Message) Message { + in := reflect.ValueOf(src) + if in.IsNil() { + return src + } + out := reflect.New(in.Type().Elem()) + dst := out.Interface().(Message) + Merge(dst, src) + return dst +} + +// Merger is the interface representing objects that can merge messages of the same type. +type Merger interface { + // Merge merges src into this message. + // Required and optional fields that are set in src will be set to that value in dst. + // Elements of repeated fields will be appended. + // + // Merge may panic if called with a different argument type than the receiver. + Merge(src Message) +} + +// generatedMerger is the custom merge method that generated protos will have. +// We must add this method since a generate Merge method will conflict with +// many existing protos that have a Merge data field already defined. +type generatedMerger interface { + XXX_Merge(src Message) +} + +// Merge merges src into dst. +// Required and optional fields that are set in src will be set to that value in dst. +// Elements of repeated fields will be appended. +// Merge panics if src and dst are not the same type, or if dst is nil. +func Merge(dst, src Message) { + if m, ok := dst.(Merger); ok { + m.Merge(src) + return + } + + in := reflect.ValueOf(src) + out := reflect.ValueOf(dst) + if out.IsNil() { + panic("proto: nil destination") + } + if in.Type() != out.Type() { + panic(fmt.Sprintf("proto.Merge(%T, %T) type mismatch", dst, src)) + } + if in.IsNil() { + return // Merge from nil src is a noop + } + if m, ok := dst.(generatedMerger); ok { + m.XXX_Merge(src) + return + } + mergeStruct(out.Elem(), in.Elem()) +} + +func mergeStruct(out, in reflect.Value) { + sprop := GetProperties(in.Type()) + for i := 0; i < in.NumField(); i++ { + f := in.Type().Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + mergeAny(out.Field(i), in.Field(i), false, sprop.Prop[i]) + } + + if emIn, err := extendable(in.Addr().Interface()); err == nil { + emOut, _ := extendable(out.Addr().Interface()) + mIn, muIn := emIn.extensionsRead() + if mIn != nil { + mOut := emOut.extensionsWrite() + muIn.Lock() + mergeExtension(mOut, mIn) + muIn.Unlock() + } + } + + uf := in.FieldByName("XXX_unrecognized") + if !uf.IsValid() { + return + } + uin := uf.Bytes() + if len(uin) > 0 { + out.FieldByName("XXX_unrecognized").SetBytes(append([]byte(nil), uin...)) + } +} + +// mergeAny performs a merge between two values of the same type. +// viaPtr indicates whether the values were indirected through a pointer (implying proto2). +// prop is set if this is a struct field (it may be nil). +func mergeAny(out, in reflect.Value, viaPtr bool, prop *Properties) { + if in.Type() == protoMessageType { + if !in.IsNil() { + if out.IsNil() { + out.Set(reflect.ValueOf(Clone(in.Interface().(Message)))) + } else { + Merge(out.Interface().(Message), in.Interface().(Message)) + } + } + return + } + switch in.Kind() { + case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64, + reflect.String, reflect.Uint32, reflect.Uint64: + if !viaPtr && isProto3Zero(in) { + return + } + out.Set(in) + case reflect.Interface: + // Probably a oneof field; copy non-nil values. + if in.IsNil() { + return + } + // Allocate destination if it is not set, or set to a different type. + // Otherwise we will merge as normal. + if out.IsNil() || out.Elem().Type() != in.Elem().Type() { + out.Set(reflect.New(in.Elem().Elem().Type())) // interface -> *T -> T -> new(T) + } + mergeAny(out.Elem(), in.Elem(), false, nil) + case reflect.Map: + if in.Len() == 0 { + return + } + if out.IsNil() { + out.Set(reflect.MakeMap(in.Type())) + } + // For maps with value types of *T or []byte we need to deep copy each value. + elemKind := in.Type().Elem().Kind() + for _, key := range in.MapKeys() { + var val reflect.Value + switch elemKind { + case reflect.Ptr: + val = reflect.New(in.Type().Elem().Elem()) + mergeAny(val, in.MapIndex(key), false, nil) + case reflect.Slice: + val = in.MapIndex(key) + val = reflect.ValueOf(append([]byte{}, val.Bytes()...)) + default: + val = in.MapIndex(key) + } + out.SetMapIndex(key, val) + } + case reflect.Ptr: + if in.IsNil() { + return + } + if out.IsNil() { + out.Set(reflect.New(in.Elem().Type())) + } + mergeAny(out.Elem(), in.Elem(), true, nil) + case reflect.Slice: + if in.IsNil() { + return + } + if in.Type().Elem().Kind() == reflect.Uint8 { + // []byte is a scalar bytes field, not a repeated field. + + // Edge case: if this is in a proto3 message, a zero length + // bytes field is considered the zero value, and should not + // be merged. + if prop != nil && prop.proto3 && in.Len() == 0 { + return + } + + // Make a deep copy. + // Append to []byte{} instead of []byte(nil) so that we never end up + // with a nil result. + out.SetBytes(append([]byte{}, in.Bytes()...)) + return + } + n := in.Len() + if out.IsNil() { + out.Set(reflect.MakeSlice(in.Type(), 0, n)) + } + switch in.Type().Elem().Kind() { + case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64, + reflect.String, reflect.Uint32, reflect.Uint64: + out.Set(reflect.AppendSlice(out, in)) + default: + for i := 0; i < n; i++ { + x := reflect.Indirect(reflect.New(in.Type().Elem())) + mergeAny(x, in.Index(i), false, nil) + out.Set(reflect.Append(out, x)) + } + } + case reflect.Struct: + mergeStruct(out, in) + default: + // unknown type, so not a protocol buffer + log.Printf("proto: don't know how to copy %v", in) + } +} + +func mergeExtension(out, in map[int32]Extension) { + for extNum, eIn := range in { + eOut := Extension{desc: eIn.desc} + if eIn.value != nil { + v := reflect.New(reflect.TypeOf(eIn.value)).Elem() + mergeAny(v, reflect.ValueOf(eIn.value), false, nil) + eOut.value = v.Interface() + } + if eIn.enc != nil { + eOut.enc = make([]byte, len(eIn.enc)) + copy(eOut.enc, eIn.enc) + } + + out[extNum] = eOut + } +} diff --git a/vendor/github.com/golang/protobuf/proto/decode.go b/vendor/github.com/golang/protobuf/proto/decode.go new file mode 100644 index 00000000..63b0f08b --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/decode.go @@ -0,0 +1,427 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Routines for decoding protocol buffer data to construct in-memory representations. + */ + +import ( + "errors" + "fmt" + "io" +) + +// errOverflow is returned when an integer is too large to be represented. +var errOverflow = errors.New("proto: integer overflow") + +// ErrInternalBadWireType is returned by generated code when an incorrect +// wire type is encountered. It does not get returned to user code. +var ErrInternalBadWireType = errors.New("proto: internal error: bad wiretype for oneof") + +// DecodeVarint reads a varint-encoded integer from the slice. +// It returns the integer and the number of bytes consumed, or +// zero if there is not enough. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +func DecodeVarint(buf []byte) (x uint64, n int) { + for shift := uint(0); shift < 64; shift += 7 { + if n >= len(buf) { + return 0, 0 + } + b := uint64(buf[n]) + n++ + x |= (b & 0x7F) << shift + if (b & 0x80) == 0 { + return x, n + } + } + + // The number is too large to represent in a 64-bit value. + return 0, 0 +} + +func (p *Buffer) decodeVarintSlow() (x uint64, err error) { + i := p.index + l := len(p.buf) + + for shift := uint(0); shift < 64; shift += 7 { + if i >= l { + err = io.ErrUnexpectedEOF + return + } + b := p.buf[i] + i++ + x |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + p.index = i + return + } + } + + // The number is too large to represent in a 64-bit value. + err = errOverflow + return +} + +// DecodeVarint reads a varint-encoded integer from the Buffer. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +func (p *Buffer) DecodeVarint() (x uint64, err error) { + i := p.index + buf := p.buf + + if i >= len(buf) { + return 0, io.ErrUnexpectedEOF + } else if buf[i] < 0x80 { + p.index++ + return uint64(buf[i]), nil + } else if len(buf)-i < 10 { + return p.decodeVarintSlow() + } + + var b uint64 + // we already checked the first byte + x = uint64(buf[i]) - 0x80 + i++ + + b = uint64(buf[i]) + i++ + x += b << 7 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 7 + + b = uint64(buf[i]) + i++ + x += b << 14 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 14 + + b = uint64(buf[i]) + i++ + x += b << 21 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 21 + + b = uint64(buf[i]) + i++ + x += b << 28 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 28 + + b = uint64(buf[i]) + i++ + x += b << 35 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 35 + + b = uint64(buf[i]) + i++ + x += b << 42 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 42 + + b = uint64(buf[i]) + i++ + x += b << 49 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 49 + + b = uint64(buf[i]) + i++ + x += b << 56 + if b&0x80 == 0 { + goto done + } + x -= 0x80 << 56 + + b = uint64(buf[i]) + i++ + x += b << 63 + if b&0x80 == 0 { + goto done + } + + return 0, errOverflow + +done: + p.index = i + return x, nil +} + +// DecodeFixed64 reads a 64-bit integer from the Buffer. +// This is the format for the +// fixed64, sfixed64, and double protocol buffer types. +func (p *Buffer) DecodeFixed64() (x uint64, err error) { + // x, err already 0 + i := p.index + 8 + if i < 0 || i > len(p.buf) { + err = io.ErrUnexpectedEOF + return + } + p.index = i + + x = uint64(p.buf[i-8]) + x |= uint64(p.buf[i-7]) << 8 + x |= uint64(p.buf[i-6]) << 16 + x |= uint64(p.buf[i-5]) << 24 + x |= uint64(p.buf[i-4]) << 32 + x |= uint64(p.buf[i-3]) << 40 + x |= uint64(p.buf[i-2]) << 48 + x |= uint64(p.buf[i-1]) << 56 + return +} + +// DecodeFixed32 reads a 32-bit integer from the Buffer. +// This is the format for the +// fixed32, sfixed32, and float protocol buffer types. +func (p *Buffer) DecodeFixed32() (x uint64, err error) { + // x, err already 0 + i := p.index + 4 + if i < 0 || i > len(p.buf) { + err = io.ErrUnexpectedEOF + return + } + p.index = i + + x = uint64(p.buf[i-4]) + x |= uint64(p.buf[i-3]) << 8 + x |= uint64(p.buf[i-2]) << 16 + x |= uint64(p.buf[i-1]) << 24 + return +} + +// DecodeZigzag64 reads a zigzag-encoded 64-bit integer +// from the Buffer. +// This is the format used for the sint64 protocol buffer type. +func (p *Buffer) DecodeZigzag64() (x uint64, err error) { + x, err = p.DecodeVarint() + if err != nil { + return + } + x = (x >> 1) ^ uint64((int64(x&1)<<63)>>63) + return +} + +// DecodeZigzag32 reads a zigzag-encoded 32-bit integer +// from the Buffer. +// This is the format used for the sint32 protocol buffer type. +func (p *Buffer) DecodeZigzag32() (x uint64, err error) { + x, err = p.DecodeVarint() + if err != nil { + return + } + x = uint64((uint32(x) >> 1) ^ uint32((int32(x&1)<<31)>>31)) + return +} + +// DecodeRawBytes reads a count-delimited byte buffer from the Buffer. +// This is the format used for the bytes protocol buffer +// type and for embedded messages. +func (p *Buffer) DecodeRawBytes(alloc bool) (buf []byte, err error) { + n, err := p.DecodeVarint() + if err != nil { + return nil, err + } + + nb := int(n) + if nb < 0 { + return nil, fmt.Errorf("proto: bad byte length %d", nb) + } + end := p.index + nb + if end < p.index || end > len(p.buf) { + return nil, io.ErrUnexpectedEOF + } + + if !alloc { + // todo: check if can get more uses of alloc=false + buf = p.buf[p.index:end] + p.index += nb + return + } + + buf = make([]byte, nb) + copy(buf, p.buf[p.index:]) + p.index += nb + return +} + +// DecodeStringBytes reads an encoded string from the Buffer. +// This is the format used for the proto2 string type. +func (p *Buffer) DecodeStringBytes() (s string, err error) { + buf, err := p.DecodeRawBytes(false) + if err != nil { + return + } + return string(buf), nil +} + +// Unmarshaler is the interface representing objects that can +// unmarshal themselves. The argument points to data that may be +// overwritten, so implementations should not keep references to the +// buffer. +// Unmarshal implementations should not clear the receiver. +// Any unmarshaled data should be merged into the receiver. +// Callers of Unmarshal that do not want to retain existing data +// should Reset the receiver before calling Unmarshal. +type Unmarshaler interface { + Unmarshal([]byte) error +} + +// newUnmarshaler is the interface representing objects that can +// unmarshal themselves. The semantics are identical to Unmarshaler. +// +// This exists to support protoc-gen-go generated messages. +// The proto package will stop type-asserting to this interface in the future. +// +// DO NOT DEPEND ON THIS. +type newUnmarshaler interface { + XXX_Unmarshal([]byte) error +} + +// Unmarshal parses the protocol buffer representation in buf and places the +// decoded result in pb. If the struct underlying pb does not match +// the data in buf, the results can be unpredictable. +// +// Unmarshal resets pb before starting to unmarshal, so any +// existing data in pb is always removed. Use UnmarshalMerge +// to preserve and append to existing data. +func Unmarshal(buf []byte, pb Message) error { + pb.Reset() + if u, ok := pb.(newUnmarshaler); ok { + return u.XXX_Unmarshal(buf) + } + if u, ok := pb.(Unmarshaler); ok { + return u.Unmarshal(buf) + } + return NewBuffer(buf).Unmarshal(pb) +} + +// UnmarshalMerge parses the protocol buffer representation in buf and +// writes the decoded result to pb. If the struct underlying pb does not match +// the data in buf, the results can be unpredictable. +// +// UnmarshalMerge merges into existing data in pb. +// Most code should use Unmarshal instead. +func UnmarshalMerge(buf []byte, pb Message) error { + if u, ok := pb.(newUnmarshaler); ok { + return u.XXX_Unmarshal(buf) + } + if u, ok := pb.(Unmarshaler); ok { + // NOTE: The history of proto have unfortunately been inconsistent + // whether Unmarshaler should or should not implicitly clear itself. + // Some implementations do, most do not. + // Thus, calling this here may or may not do what people want. + // + // See https://github.com/golang/protobuf/issues/424 + return u.Unmarshal(buf) + } + return NewBuffer(buf).Unmarshal(pb) +} + +// DecodeMessage reads a count-delimited message from the Buffer. +func (p *Buffer) DecodeMessage(pb Message) error { + enc, err := p.DecodeRawBytes(false) + if err != nil { + return err + } + return NewBuffer(enc).Unmarshal(pb) +} + +// DecodeGroup reads a tag-delimited group from the Buffer. +// StartGroup tag is already consumed. This function consumes +// EndGroup tag. +func (p *Buffer) DecodeGroup(pb Message) error { + b := p.buf[p.index:] + x, y := findEndGroup(b) + if x < 0 { + return io.ErrUnexpectedEOF + } + err := Unmarshal(b[:x], pb) + p.index += y + return err +} + +// Unmarshal parses the protocol buffer representation in the +// Buffer and places the decoded result in pb. If the struct +// underlying pb does not match the data in the buffer, the results can be +// unpredictable. +// +// Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal. +func (p *Buffer) Unmarshal(pb Message) error { + // If the object can unmarshal itself, let it. + if u, ok := pb.(newUnmarshaler); ok { + err := u.XXX_Unmarshal(p.buf[p.index:]) + p.index = len(p.buf) + return err + } + if u, ok := pb.(Unmarshaler); ok { + // NOTE: The history of proto have unfortunately been inconsistent + // whether Unmarshaler should or should not implicitly clear itself. + // Some implementations do, most do not. + // Thus, calling this here may or may not do what people want. + // + // See https://github.com/golang/protobuf/issues/424 + err := u.Unmarshal(p.buf[p.index:]) + p.index = len(p.buf) + return err + } + + // Slow workaround for messages that aren't Unmarshalers. + // This includes some hand-coded .pb.go files and + // bootstrap protos. + // TODO: fix all of those and then add Unmarshal to + // the Message interface. Then: + // The cast above and code below can be deleted. + // The old unmarshaler can be deleted. + // Clients can call Unmarshal directly (can already do that, actually). + var info InternalMessageInfo + err := info.Unmarshal(pb, p.buf[p.index:]) + p.index = len(p.buf) + return err +} diff --git a/vendor/github.com/golang/protobuf/proto/deprecated.go b/vendor/github.com/golang/protobuf/proto/deprecated.go new file mode 100644 index 00000000..35b882c0 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/deprecated.go @@ -0,0 +1,63 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2018 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import "errors" + +// Deprecated: do not use. +type Stats struct{ Emalloc, Dmalloc, Encode, Decode, Chit, Cmiss, Size uint64 } + +// Deprecated: do not use. +func GetStats() Stats { return Stats{} } + +// Deprecated: do not use. +func MarshalMessageSet(interface{}) ([]byte, error) { + return nil, errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func UnmarshalMessageSet([]byte, interface{}) error { + return errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func MarshalMessageSetJSON(interface{}) ([]byte, error) { + return nil, errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func UnmarshalMessageSetJSON([]byte, interface{}) error { + return errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func RegisterMessageSetType(Message, int32, string) {} diff --git a/vendor/github.com/golang/protobuf/proto/discard.go b/vendor/github.com/golang/protobuf/proto/discard.go new file mode 100644 index 00000000..dea2617c --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/discard.go @@ -0,0 +1,350 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2017 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "fmt" + "reflect" + "strings" + "sync" + "sync/atomic" +) + +type generatedDiscarder interface { + XXX_DiscardUnknown() +} + +// DiscardUnknown recursively discards all unknown fields from this message +// and all embedded messages. +// +// When unmarshaling a message with unrecognized fields, the tags and values +// of such fields are preserved in the Message. This allows a later call to +// marshal to be able to produce a message that continues to have those +// unrecognized fields. To avoid this, DiscardUnknown is used to +// explicitly clear the unknown fields after unmarshaling. +// +// For proto2 messages, the unknown fields of message extensions are only +// discarded from messages that have been accessed via GetExtension. +func DiscardUnknown(m Message) { + if m, ok := m.(generatedDiscarder); ok { + m.XXX_DiscardUnknown() + return + } + // TODO: Dynamically populate a InternalMessageInfo for legacy messages, + // but the master branch has no implementation for InternalMessageInfo, + // so it would be more work to replicate that approach. + discardLegacy(m) +} + +// DiscardUnknown recursively discards all unknown fields. +func (a *InternalMessageInfo) DiscardUnknown(m Message) { + di := atomicLoadDiscardInfo(&a.discard) + if di == nil { + di = getDiscardInfo(reflect.TypeOf(m).Elem()) + atomicStoreDiscardInfo(&a.discard, di) + } + di.discard(toPointer(&m)) +} + +type discardInfo struct { + typ reflect.Type + + initialized int32 // 0: only typ is valid, 1: everything is valid + lock sync.Mutex + + fields []discardFieldInfo + unrecognized field +} + +type discardFieldInfo struct { + field field // Offset of field, guaranteed to be valid + discard func(src pointer) +} + +var ( + discardInfoMap = map[reflect.Type]*discardInfo{} + discardInfoLock sync.Mutex +) + +func getDiscardInfo(t reflect.Type) *discardInfo { + discardInfoLock.Lock() + defer discardInfoLock.Unlock() + di := discardInfoMap[t] + if di == nil { + di = &discardInfo{typ: t} + discardInfoMap[t] = di + } + return di +} + +func (di *discardInfo) discard(src pointer) { + if src.isNil() { + return // Nothing to do. + } + + if atomic.LoadInt32(&di.initialized) == 0 { + di.computeDiscardInfo() + } + + for _, fi := range di.fields { + sfp := src.offset(fi.field) + fi.discard(sfp) + } + + // For proto2 messages, only discard unknown fields in message extensions + // that have been accessed via GetExtension. + if em, err := extendable(src.asPointerTo(di.typ).Interface()); err == nil { + // Ignore lock since DiscardUnknown is not concurrency safe. + emm, _ := em.extensionsRead() + for _, mx := range emm { + if m, ok := mx.value.(Message); ok { + DiscardUnknown(m) + } + } + } + + if di.unrecognized.IsValid() { + *src.offset(di.unrecognized).toBytes() = nil + } +} + +func (di *discardInfo) computeDiscardInfo() { + di.lock.Lock() + defer di.lock.Unlock() + if di.initialized != 0 { + return + } + t := di.typ + n := t.NumField() + + for i := 0; i < n; i++ { + f := t.Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + + dfi := discardFieldInfo{field: toField(&f)} + tf := f.Type + + // Unwrap tf to get its most basic type. + var isPointer, isSlice bool + if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 { + isSlice = true + tf = tf.Elem() + } + if tf.Kind() == reflect.Ptr { + isPointer = true + tf = tf.Elem() + } + if isPointer && isSlice && tf.Kind() != reflect.Struct { + panic(fmt.Sprintf("%v.%s cannot be a slice of pointers to primitive types", t, f.Name)) + } + + switch tf.Kind() { + case reflect.Struct: + switch { + case !isPointer: + panic(fmt.Sprintf("%v.%s cannot be a direct struct value", t, f.Name)) + case isSlice: // E.g., []*pb.T + di := getDiscardInfo(tf) + dfi.discard = func(src pointer) { + sps := src.getPointerSlice() + for _, sp := range sps { + if !sp.isNil() { + di.discard(sp) + } + } + } + default: // E.g., *pb.T + di := getDiscardInfo(tf) + dfi.discard = func(src pointer) { + sp := src.getPointer() + if !sp.isNil() { + di.discard(sp) + } + } + } + case reflect.Map: + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%v.%s cannot be a pointer to a map or a slice of map values", t, f.Name)) + default: // E.g., map[K]V + if tf.Elem().Kind() == reflect.Ptr { // Proto struct (e.g., *T) + dfi.discard = func(src pointer) { + sm := src.asPointerTo(tf).Elem() + if sm.Len() == 0 { + return + } + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + DiscardUnknown(val.Interface().(Message)) + } + } + } else { + dfi.discard = func(pointer) {} // Noop + } + } + case reflect.Interface: + // Must be oneof field. + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%v.%s cannot be a pointer to a interface or a slice of interface values", t, f.Name)) + default: // E.g., interface{} + // TODO: Make this faster? + dfi.discard = func(src pointer) { + su := src.asPointerTo(tf).Elem() + if !su.IsNil() { + sv := su.Elem().Elem().Field(0) + if sv.Kind() == reflect.Ptr && sv.IsNil() { + return + } + switch sv.Type().Kind() { + case reflect.Ptr: // Proto struct (e.g., *T) + DiscardUnknown(sv.Interface().(Message)) + } + } + } + } + default: + continue + } + di.fields = append(di.fields, dfi) + } + + di.unrecognized = invalidField + if f, ok := t.FieldByName("XXX_unrecognized"); ok { + if f.Type != reflect.TypeOf([]byte{}) { + panic("expected XXX_unrecognized to be of type []byte") + } + di.unrecognized = toField(&f) + } + + atomic.StoreInt32(&di.initialized, 1) +} + +func discardLegacy(m Message) { + v := reflect.ValueOf(m) + if v.Kind() != reflect.Ptr || v.IsNil() { + return + } + v = v.Elem() + if v.Kind() != reflect.Struct { + return + } + t := v.Type() + + for i := 0; i < v.NumField(); i++ { + f := t.Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + vf := v.Field(i) + tf := f.Type + + // Unwrap tf to get its most basic type. + var isPointer, isSlice bool + if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 { + isSlice = true + tf = tf.Elem() + } + if tf.Kind() == reflect.Ptr { + isPointer = true + tf = tf.Elem() + } + if isPointer && isSlice && tf.Kind() != reflect.Struct { + panic(fmt.Sprintf("%T.%s cannot be a slice of pointers to primitive types", m, f.Name)) + } + + switch tf.Kind() { + case reflect.Struct: + switch { + case !isPointer: + panic(fmt.Sprintf("%T.%s cannot be a direct struct value", m, f.Name)) + case isSlice: // E.g., []*pb.T + for j := 0; j < vf.Len(); j++ { + discardLegacy(vf.Index(j).Interface().(Message)) + } + default: // E.g., *pb.T + discardLegacy(vf.Interface().(Message)) + } + case reflect.Map: + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%T.%s cannot be a pointer to a map or a slice of map values", m, f.Name)) + default: // E.g., map[K]V + tv := vf.Type().Elem() + if tv.Kind() == reflect.Ptr && tv.Implements(protoMessageType) { // Proto struct (e.g., *T) + for _, key := range vf.MapKeys() { + val := vf.MapIndex(key) + discardLegacy(val.Interface().(Message)) + } + } + } + case reflect.Interface: + // Must be oneof field. + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%T.%s cannot be a pointer to a interface or a slice of interface values", m, f.Name)) + default: // E.g., test_proto.isCommunique_Union interface + if !vf.IsNil() && f.Tag.Get("protobuf_oneof") != "" { + vf = vf.Elem() // E.g., *test_proto.Communique_Msg + if !vf.IsNil() { + vf = vf.Elem() // E.g., test_proto.Communique_Msg + vf = vf.Field(0) // E.g., Proto struct (e.g., *T) or primitive value + if vf.Kind() == reflect.Ptr { + discardLegacy(vf.Interface().(Message)) + } + } + } + } + } + } + + if vf := v.FieldByName("XXX_unrecognized"); vf.IsValid() { + if vf.Type() != reflect.TypeOf([]byte{}) { + panic("expected XXX_unrecognized to be of type []byte") + } + vf.Set(reflect.ValueOf([]byte(nil))) + } + + // For proto2 messages, only discard unknown fields in message extensions + // that have been accessed via GetExtension. + if em, err := extendable(m); err == nil { + // Ignore lock since discardLegacy is not concurrency safe. + emm, _ := em.extensionsRead() + for _, mx := range emm { + if m, ok := mx.value.(Message); ok { + discardLegacy(m) + } + } + } +} diff --git a/vendor/github.com/golang/protobuf/proto/encode.go b/vendor/github.com/golang/protobuf/proto/encode.go new file mode 100644 index 00000000..3abfed2c --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/encode.go @@ -0,0 +1,203 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Routines for encoding data into the wire format for protocol buffers. + */ + +import ( + "errors" + "reflect" +) + +var ( + // errRepeatedHasNil is the error returned if Marshal is called with + // a struct with a repeated field containing a nil element. + errRepeatedHasNil = errors.New("proto: repeated field has nil element") + + // errOneofHasNil is the error returned if Marshal is called with + // a struct with a oneof field containing a nil element. + errOneofHasNil = errors.New("proto: oneof field has nil value") + + // ErrNil is the error returned if Marshal is called with nil. + ErrNil = errors.New("proto: Marshal called with nil") + + // ErrTooLarge is the error returned if Marshal is called with a + // message that encodes to >2GB. + ErrTooLarge = errors.New("proto: message encodes to over 2 GB") +) + +// The fundamental encoders that put bytes on the wire. +// Those that take integer types all accept uint64 and are +// therefore of type valueEncoder. + +const maxVarintBytes = 10 // maximum length of a varint + +// EncodeVarint returns the varint encoding of x. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +// Not used by the package itself, but helpful to clients +// wishing to use the same encoding. +func EncodeVarint(x uint64) []byte { + var buf [maxVarintBytes]byte + var n int + for n = 0; x > 127; n++ { + buf[n] = 0x80 | uint8(x&0x7F) + x >>= 7 + } + buf[n] = uint8(x) + n++ + return buf[0:n] +} + +// EncodeVarint writes a varint-encoded integer to the Buffer. +// This is the format for the +// int32, int64, uint32, uint64, bool, and enum +// protocol buffer types. +func (p *Buffer) EncodeVarint(x uint64) error { + for x >= 1<<7 { + p.buf = append(p.buf, uint8(x&0x7f|0x80)) + x >>= 7 + } + p.buf = append(p.buf, uint8(x)) + return nil +} + +// SizeVarint returns the varint encoding size of an integer. +func SizeVarint(x uint64) int { + switch { + case x < 1<<7: + return 1 + case x < 1<<14: + return 2 + case x < 1<<21: + return 3 + case x < 1<<28: + return 4 + case x < 1<<35: + return 5 + case x < 1<<42: + return 6 + case x < 1<<49: + return 7 + case x < 1<<56: + return 8 + case x < 1<<63: + return 9 + } + return 10 +} + +// EncodeFixed64 writes a 64-bit integer to the Buffer. +// This is the format for the +// fixed64, sfixed64, and double protocol buffer types. +func (p *Buffer) EncodeFixed64(x uint64) error { + p.buf = append(p.buf, + uint8(x), + uint8(x>>8), + uint8(x>>16), + uint8(x>>24), + uint8(x>>32), + uint8(x>>40), + uint8(x>>48), + uint8(x>>56)) + return nil +} + +// EncodeFixed32 writes a 32-bit integer to the Buffer. +// This is the format for the +// fixed32, sfixed32, and float protocol buffer types. +func (p *Buffer) EncodeFixed32(x uint64) error { + p.buf = append(p.buf, + uint8(x), + uint8(x>>8), + uint8(x>>16), + uint8(x>>24)) + return nil +} + +// EncodeZigzag64 writes a zigzag-encoded 64-bit integer +// to the Buffer. +// This is the format used for the sint64 protocol buffer type. +func (p *Buffer) EncodeZigzag64(x uint64) error { + // use signed number to get arithmetic right shift. + return p.EncodeVarint(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} + +// EncodeZigzag32 writes a zigzag-encoded 32-bit integer +// to the Buffer. +// This is the format used for the sint32 protocol buffer type. +func (p *Buffer) EncodeZigzag32(x uint64) error { + // use signed number to get arithmetic right shift. + return p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31)))) +} + +// EncodeRawBytes writes a count-delimited byte buffer to the Buffer. +// This is the format used for the bytes protocol buffer +// type and for embedded messages. +func (p *Buffer) EncodeRawBytes(b []byte) error { + p.EncodeVarint(uint64(len(b))) + p.buf = append(p.buf, b...) + return nil +} + +// EncodeStringBytes writes an encoded string to the Buffer. +// This is the format used for the proto2 string type. +func (p *Buffer) EncodeStringBytes(s string) error { + p.EncodeVarint(uint64(len(s))) + p.buf = append(p.buf, s...) + return nil +} + +// Marshaler is the interface representing objects that can marshal themselves. +type Marshaler interface { + Marshal() ([]byte, error) +} + +// EncodeMessage writes the protocol buffer to the Buffer, +// prefixed by a varint-encoded length. +func (p *Buffer) EncodeMessage(pb Message) error { + siz := Size(pb) + p.EncodeVarint(uint64(siz)) + return p.Marshal(pb) +} + +// All protocol buffer fields are nillable, but be careful. +func isNil(v reflect.Value) bool { + switch v.Kind() { + case reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice: + return v.IsNil() + } + return false +} diff --git a/vendor/github.com/golang/protobuf/proto/equal.go b/vendor/github.com/golang/protobuf/proto/equal.go new file mode 100644 index 00000000..f9b6e41b --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/equal.go @@ -0,0 +1,301 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2011 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Protocol buffer comparison. + +package proto + +import ( + "bytes" + "log" + "reflect" + "strings" +) + +/* +Equal returns true iff protocol buffers a and b are equal. +The arguments must both be pointers to protocol buffer structs. + +Equality is defined in this way: + - Two messages are equal iff they are the same type, + corresponding fields are equal, unknown field sets + are equal, and extensions sets are equal. + - Two set scalar fields are equal iff their values are equal. + If the fields are of a floating-point type, remember that + NaN != x for all x, including NaN. If the message is defined + in a proto3 .proto file, fields are not "set"; specifically, + zero length proto3 "bytes" fields are equal (nil == {}). + - Two repeated fields are equal iff their lengths are the same, + and their corresponding elements are equal. Note a "bytes" field, + although represented by []byte, is not a repeated field and the + rule for the scalar fields described above applies. + - Two unset fields are equal. + - Two unknown field sets are equal if their current + encoded state is equal. + - Two extension sets are equal iff they have corresponding + elements that are pairwise equal. + - Two map fields are equal iff their lengths are the same, + and they contain the same set of elements. Zero-length map + fields are equal. + - Every other combination of things are not equal. + +The return value is undefined if a and b are not protocol buffers. +*/ +func Equal(a, b Message) bool { + if a == nil || b == nil { + return a == b + } + v1, v2 := reflect.ValueOf(a), reflect.ValueOf(b) + if v1.Type() != v2.Type() { + return false + } + if v1.Kind() == reflect.Ptr { + if v1.IsNil() { + return v2.IsNil() + } + if v2.IsNil() { + return false + } + v1, v2 = v1.Elem(), v2.Elem() + } + if v1.Kind() != reflect.Struct { + return false + } + return equalStruct(v1, v2) +} + +// v1 and v2 are known to have the same type. +func equalStruct(v1, v2 reflect.Value) bool { + sprop := GetProperties(v1.Type()) + for i := 0; i < v1.NumField(); i++ { + f := v1.Type().Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + f1, f2 := v1.Field(i), v2.Field(i) + if f.Type.Kind() == reflect.Ptr { + if n1, n2 := f1.IsNil(), f2.IsNil(); n1 && n2 { + // both unset + continue + } else if n1 != n2 { + // set/unset mismatch + return false + } + f1, f2 = f1.Elem(), f2.Elem() + } + if !equalAny(f1, f2, sprop.Prop[i]) { + return false + } + } + + if em1 := v1.FieldByName("XXX_InternalExtensions"); em1.IsValid() { + em2 := v2.FieldByName("XXX_InternalExtensions") + if !equalExtensions(v1.Type(), em1.Interface().(XXX_InternalExtensions), em2.Interface().(XXX_InternalExtensions)) { + return false + } + } + + if em1 := v1.FieldByName("XXX_extensions"); em1.IsValid() { + em2 := v2.FieldByName("XXX_extensions") + if !equalExtMap(v1.Type(), em1.Interface().(map[int32]Extension), em2.Interface().(map[int32]Extension)) { + return false + } + } + + uf := v1.FieldByName("XXX_unrecognized") + if !uf.IsValid() { + return true + } + + u1 := uf.Bytes() + u2 := v2.FieldByName("XXX_unrecognized").Bytes() + return bytes.Equal(u1, u2) +} + +// v1 and v2 are known to have the same type. +// prop may be nil. +func equalAny(v1, v2 reflect.Value, prop *Properties) bool { + if v1.Type() == protoMessageType { + m1, _ := v1.Interface().(Message) + m2, _ := v2.Interface().(Message) + return Equal(m1, m2) + } + switch v1.Kind() { + case reflect.Bool: + return v1.Bool() == v2.Bool() + case reflect.Float32, reflect.Float64: + return v1.Float() == v2.Float() + case reflect.Int32, reflect.Int64: + return v1.Int() == v2.Int() + case reflect.Interface: + // Probably a oneof field; compare the inner values. + n1, n2 := v1.IsNil(), v2.IsNil() + if n1 || n2 { + return n1 == n2 + } + e1, e2 := v1.Elem(), v2.Elem() + if e1.Type() != e2.Type() { + return false + } + return equalAny(e1, e2, nil) + case reflect.Map: + if v1.Len() != v2.Len() { + return false + } + for _, key := range v1.MapKeys() { + val2 := v2.MapIndex(key) + if !val2.IsValid() { + // This key was not found in the second map. + return false + } + if !equalAny(v1.MapIndex(key), val2, nil) { + return false + } + } + return true + case reflect.Ptr: + // Maps may have nil values in them, so check for nil. + if v1.IsNil() && v2.IsNil() { + return true + } + if v1.IsNil() != v2.IsNil() { + return false + } + return equalAny(v1.Elem(), v2.Elem(), prop) + case reflect.Slice: + if v1.Type().Elem().Kind() == reflect.Uint8 { + // short circuit: []byte + + // Edge case: if this is in a proto3 message, a zero length + // bytes field is considered the zero value. + if prop != nil && prop.proto3 && v1.Len() == 0 && v2.Len() == 0 { + return true + } + if v1.IsNil() != v2.IsNil() { + return false + } + return bytes.Equal(v1.Interface().([]byte), v2.Interface().([]byte)) + } + + if v1.Len() != v2.Len() { + return false + } + for i := 0; i < v1.Len(); i++ { + if !equalAny(v1.Index(i), v2.Index(i), prop) { + return false + } + } + return true + case reflect.String: + return v1.Interface().(string) == v2.Interface().(string) + case reflect.Struct: + return equalStruct(v1, v2) + case reflect.Uint32, reflect.Uint64: + return v1.Uint() == v2.Uint() + } + + // unknown type, so not a protocol buffer + log.Printf("proto: don't know how to compare %v", v1) + return false +} + +// base is the struct type that the extensions are based on. +// x1 and x2 are InternalExtensions. +func equalExtensions(base reflect.Type, x1, x2 XXX_InternalExtensions) bool { + em1, _ := x1.extensionsRead() + em2, _ := x2.extensionsRead() + return equalExtMap(base, em1, em2) +} + +func equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool { + if len(em1) != len(em2) { + return false + } + + for extNum, e1 := range em1 { + e2, ok := em2[extNum] + if !ok { + return false + } + + m1 := extensionAsLegacyType(e1.value) + m2 := extensionAsLegacyType(e2.value) + + if m1 == nil && m2 == nil { + // Both have only encoded form. + if bytes.Equal(e1.enc, e2.enc) { + continue + } + // The bytes are different, but the extensions might still be + // equal. We need to decode them to compare. + } + + if m1 != nil && m2 != nil { + // Both are unencoded. + if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) { + return false + } + continue + } + + // At least one is encoded. To do a semantically correct comparison + // we need to unmarshal them first. + var desc *ExtensionDesc + if m := extensionMaps[base]; m != nil { + desc = m[extNum] + } + if desc == nil { + // If both have only encoded form and the bytes are the same, + // it is handled above. We get here when the bytes are different. + // We don't know how to decode it, so just compare them as byte + // slices. + log.Printf("proto: don't know how to compare extension %d of %v", extNum, base) + return false + } + var err error + if m1 == nil { + m1, err = decodeExtension(e1.enc, desc) + } + if m2 == nil && err == nil { + m2, err = decodeExtension(e2.enc, desc) + } + if err != nil { + // The encoded form is invalid. + log.Printf("proto: badly encoded extension %d of %v: %v", extNum, base, err) + return false + } + if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) { + return false + } + } + + return true +} diff --git a/vendor/github.com/golang/protobuf/proto/extensions.go b/vendor/github.com/golang/protobuf/proto/extensions.go new file mode 100644 index 00000000..fa88add3 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/extensions.go @@ -0,0 +1,607 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Types and routines for supporting protocol buffer extensions. + */ + +import ( + "errors" + "fmt" + "io" + "reflect" + "strconv" + "sync" +) + +// ErrMissingExtension is the error returned by GetExtension if the named extension is not in the message. +var ErrMissingExtension = errors.New("proto: missing extension") + +// ExtensionRange represents a range of message extensions for a protocol buffer. +// Used in code generated by the protocol compiler. +type ExtensionRange struct { + Start, End int32 // both inclusive +} + +// extendableProto is an interface implemented by any protocol buffer generated by the current +// proto compiler that may be extended. +type extendableProto interface { + Message + ExtensionRangeArray() []ExtensionRange + extensionsWrite() map[int32]Extension + extensionsRead() (map[int32]Extension, sync.Locker) +} + +// extendableProtoV1 is an interface implemented by a protocol buffer generated by the previous +// version of the proto compiler that may be extended. +type extendableProtoV1 interface { + Message + ExtensionRangeArray() []ExtensionRange + ExtensionMap() map[int32]Extension +} + +// extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto. +type extensionAdapter struct { + extendableProtoV1 +} + +func (e extensionAdapter) extensionsWrite() map[int32]Extension { + return e.ExtensionMap() +} + +func (e extensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) { + return e.ExtensionMap(), notLocker{} +} + +// notLocker is a sync.Locker whose Lock and Unlock methods are nops. +type notLocker struct{} + +func (n notLocker) Lock() {} +func (n notLocker) Unlock() {} + +// extendable returns the extendableProto interface for the given generated proto message. +// If the proto message has the old extension format, it returns a wrapper that implements +// the extendableProto interface. +func extendable(p interface{}) (extendableProto, error) { + switch p := p.(type) { + case extendableProto: + if isNilPtr(p) { + return nil, fmt.Errorf("proto: nil %T is not extendable", p) + } + return p, nil + case extendableProtoV1: + if isNilPtr(p) { + return nil, fmt.Errorf("proto: nil %T is not extendable", p) + } + return extensionAdapter{p}, nil + } + // Don't allocate a specific error containing %T: + // this is the hot path for Clone and MarshalText. + return nil, errNotExtendable +} + +var errNotExtendable = errors.New("proto: not an extendable proto.Message") + +func isNilPtr(x interface{}) bool { + v := reflect.ValueOf(x) + return v.Kind() == reflect.Ptr && v.IsNil() +} + +// XXX_InternalExtensions is an internal representation of proto extensions. +// +// Each generated message struct type embeds an anonymous XXX_InternalExtensions field, +// thus gaining the unexported 'extensions' method, which can be called only from the proto package. +// +// The methods of XXX_InternalExtensions are not concurrency safe in general, +// but calls to logically read-only methods such as has and get may be executed concurrently. +type XXX_InternalExtensions struct { + // The struct must be indirect so that if a user inadvertently copies a + // generated message and its embedded XXX_InternalExtensions, they + // avoid the mayhem of a copied mutex. + // + // The mutex serializes all logically read-only operations to p.extensionMap. + // It is up to the client to ensure that write operations to p.extensionMap are + // mutually exclusive with other accesses. + p *struct { + mu sync.Mutex + extensionMap map[int32]Extension + } +} + +// extensionsWrite returns the extension map, creating it on first use. +func (e *XXX_InternalExtensions) extensionsWrite() map[int32]Extension { + if e.p == nil { + e.p = new(struct { + mu sync.Mutex + extensionMap map[int32]Extension + }) + e.p.extensionMap = make(map[int32]Extension) + } + return e.p.extensionMap +} + +// extensionsRead returns the extensions map for read-only use. It may be nil. +// The caller must hold the returned mutex's lock when accessing Elements within the map. +func (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Locker) { + if e.p == nil { + return nil, nil + } + return e.p.extensionMap, &e.p.mu +} + +// ExtensionDesc represents an extension specification. +// Used in generated code from the protocol compiler. +type ExtensionDesc struct { + ExtendedType Message // nil pointer to the type that is being extended + ExtensionType interface{} // nil pointer to the extension type + Field int32 // field number + Name string // fully-qualified name of extension, for text formatting + Tag string // protobuf tag style + Filename string // name of the file in which the extension is defined +} + +func (ed *ExtensionDesc) repeated() bool { + t := reflect.TypeOf(ed.ExtensionType) + return t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 +} + +// Extension represents an extension in a message. +type Extension struct { + // When an extension is stored in a message using SetExtension + // only desc and value are set. When the message is marshaled + // enc will be set to the encoded form of the message. + // + // When a message is unmarshaled and contains extensions, each + // extension will have only enc set. When such an extension is + // accessed using GetExtension (or GetExtensions) desc and value + // will be set. + desc *ExtensionDesc + + // value is a concrete value for the extension field. Let the type of + // desc.ExtensionType be the "API type" and the type of Extension.value + // be the "storage type". The API type and storage type are the same except: + // * For scalars (except []byte), the API type uses *T, + // while the storage type uses T. + // * For repeated fields, the API type uses []T, while the storage type + // uses *[]T. + // + // The reason for the divergence is so that the storage type more naturally + // matches what is expected of when retrieving the values through the + // protobuf reflection APIs. + // + // The value may only be populated if desc is also populated. + value interface{} + + // enc is the raw bytes for the extension field. + enc []byte +} + +// SetRawExtension is for testing only. +func SetRawExtension(base Message, id int32, b []byte) { + epb, err := extendable(base) + if err != nil { + return + } + extmap := epb.extensionsWrite() + extmap[id] = Extension{enc: b} +} + +// isExtensionField returns true iff the given field number is in an extension range. +func isExtensionField(pb extendableProto, field int32) bool { + for _, er := range pb.ExtensionRangeArray() { + if er.Start <= field && field <= er.End { + return true + } + } + return false +} + +// checkExtensionTypes checks that the given extension is valid for pb. +func checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error { + var pbi interface{} = pb + // Check the extended type. + if ea, ok := pbi.(extensionAdapter); ok { + pbi = ea.extendableProtoV1 + } + if a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b { + return fmt.Errorf("proto: bad extended type; %v does not extend %v", b, a) + } + // Check the range. + if !isExtensionField(pb, extension.Field) { + return errors.New("proto: bad extension number; not in declared ranges") + } + return nil +} + +// extPropKey is sufficient to uniquely identify an extension. +type extPropKey struct { + base reflect.Type + field int32 +} + +var extProp = struct { + sync.RWMutex + m map[extPropKey]*Properties +}{ + m: make(map[extPropKey]*Properties), +} + +func extensionProperties(ed *ExtensionDesc) *Properties { + key := extPropKey{base: reflect.TypeOf(ed.ExtendedType), field: ed.Field} + + extProp.RLock() + if prop, ok := extProp.m[key]; ok { + extProp.RUnlock() + return prop + } + extProp.RUnlock() + + extProp.Lock() + defer extProp.Unlock() + // Check again. + if prop, ok := extProp.m[key]; ok { + return prop + } + + prop := new(Properties) + prop.Init(reflect.TypeOf(ed.ExtensionType), "unknown_name", ed.Tag, nil) + extProp.m[key] = prop + return prop +} + +// HasExtension returns whether the given extension is present in pb. +func HasExtension(pb Message, extension *ExtensionDesc) bool { + // TODO: Check types, field numbers, etc.? + epb, err := extendable(pb) + if err != nil { + return false + } + extmap, mu := epb.extensionsRead() + if extmap == nil { + return false + } + mu.Lock() + _, ok := extmap[extension.Field] + mu.Unlock() + return ok +} + +// ClearExtension removes the given extension from pb. +func ClearExtension(pb Message, extension *ExtensionDesc) { + epb, err := extendable(pb) + if err != nil { + return + } + // TODO: Check types, field numbers, etc.? + extmap := epb.extensionsWrite() + delete(extmap, extension.Field) +} + +// GetExtension retrieves a proto2 extended field from pb. +// +// If the descriptor is type complete (i.e., ExtensionDesc.ExtensionType is non-nil), +// then GetExtension parses the encoded field and returns a Go value of the specified type. +// If the field is not present, then the default value is returned (if one is specified), +// otherwise ErrMissingExtension is reported. +// +// If the descriptor is not type complete (i.e., ExtensionDesc.ExtensionType is nil), +// then GetExtension returns the raw encoded bytes of the field extension. +func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) { + epb, err := extendable(pb) + if err != nil { + return nil, err + } + + if extension.ExtendedType != nil { + // can only check type if this is a complete descriptor + if err := checkExtensionTypes(epb, extension); err != nil { + return nil, err + } + } + + emap, mu := epb.extensionsRead() + if emap == nil { + return defaultExtensionValue(extension) + } + mu.Lock() + defer mu.Unlock() + e, ok := emap[extension.Field] + if !ok { + // defaultExtensionValue returns the default value or + // ErrMissingExtension if there is no default. + return defaultExtensionValue(extension) + } + + if e.value != nil { + // Already decoded. Check the descriptor, though. + if e.desc != extension { + // This shouldn't happen. If it does, it means that + // GetExtension was called twice with two different + // descriptors with the same field number. + return nil, errors.New("proto: descriptor conflict") + } + return extensionAsLegacyType(e.value), nil + } + + if extension.ExtensionType == nil { + // incomplete descriptor + return e.enc, nil + } + + v, err := decodeExtension(e.enc, extension) + if err != nil { + return nil, err + } + + // Remember the decoded version and drop the encoded version. + // That way it is safe to mutate what we return. + e.value = extensionAsStorageType(v) + e.desc = extension + e.enc = nil + emap[extension.Field] = e + return extensionAsLegacyType(e.value), nil +} + +// defaultExtensionValue returns the default value for extension. +// If no default for an extension is defined ErrMissingExtension is returned. +func defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) { + if extension.ExtensionType == nil { + // incomplete descriptor, so no default + return nil, ErrMissingExtension + } + + t := reflect.TypeOf(extension.ExtensionType) + props := extensionProperties(extension) + + sf, _, err := fieldDefault(t, props) + if err != nil { + return nil, err + } + + if sf == nil || sf.value == nil { + // There is no default value. + return nil, ErrMissingExtension + } + + if t.Kind() != reflect.Ptr { + // We do not need to return a Ptr, we can directly return sf.value. + return sf.value, nil + } + + // We need to return an interface{} that is a pointer to sf.value. + value := reflect.New(t).Elem() + value.Set(reflect.New(value.Type().Elem())) + if sf.kind == reflect.Int32 { + // We may have an int32 or an enum, but the underlying data is int32. + // Since we can't set an int32 into a non int32 reflect.value directly + // set it as a int32. + value.Elem().SetInt(int64(sf.value.(int32))) + } else { + value.Elem().Set(reflect.ValueOf(sf.value)) + } + return value.Interface(), nil +} + +// decodeExtension decodes an extension encoded in b. +func decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) { + t := reflect.TypeOf(extension.ExtensionType) + unmarshal := typeUnmarshaler(t, extension.Tag) + + // t is a pointer to a struct, pointer to basic type or a slice. + // Allocate space to store the pointer/slice. + value := reflect.New(t).Elem() + + var err error + for { + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + wire := int(x) & 7 + + b, err = unmarshal(b, valToPointer(value.Addr()), wire) + if err != nil { + return nil, err + } + + if len(b) == 0 { + break + } + } + return value.Interface(), nil +} + +// GetExtensions returns a slice of the extensions present in pb that are also listed in es. +// The returned slice has the same length as es; missing extensions will appear as nil elements. +func GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) { + epb, err := extendable(pb) + if err != nil { + return nil, err + } + extensions = make([]interface{}, len(es)) + for i, e := range es { + extensions[i], err = GetExtension(epb, e) + if err == ErrMissingExtension { + err = nil + } + if err != nil { + return + } + } + return +} + +// ExtensionDescs returns a new slice containing pb's extension descriptors, in undefined order. +// For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing +// just the Field field, which defines the extension's field number. +func ExtensionDescs(pb Message) ([]*ExtensionDesc, error) { + epb, err := extendable(pb) + if err != nil { + return nil, err + } + registeredExtensions := RegisteredExtensions(pb) + + emap, mu := epb.extensionsRead() + if emap == nil { + return nil, nil + } + mu.Lock() + defer mu.Unlock() + extensions := make([]*ExtensionDesc, 0, len(emap)) + for extid, e := range emap { + desc := e.desc + if desc == nil { + desc = registeredExtensions[extid] + if desc == nil { + desc = &ExtensionDesc{Field: extid} + } + } + + extensions = append(extensions, desc) + } + return extensions, nil +} + +// SetExtension sets the specified extension of pb to the specified value. +func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error { + epb, err := extendable(pb) + if err != nil { + return err + } + if err := checkExtensionTypes(epb, extension); err != nil { + return err + } + typ := reflect.TypeOf(extension.ExtensionType) + if typ != reflect.TypeOf(value) { + return fmt.Errorf("proto: bad extension value type. got: %T, want: %T", value, extension.ExtensionType) + } + // nil extension values need to be caught early, because the + // encoder can't distinguish an ErrNil due to a nil extension + // from an ErrNil due to a missing field. Extensions are + // always optional, so the encoder would just swallow the error + // and drop all the extensions from the encoded message. + if reflect.ValueOf(value).IsNil() { + return fmt.Errorf("proto: SetExtension called with nil value of type %T", value) + } + + extmap := epb.extensionsWrite() + extmap[extension.Field] = Extension{desc: extension, value: extensionAsStorageType(value)} + return nil +} + +// ClearAllExtensions clears all extensions from pb. +func ClearAllExtensions(pb Message) { + epb, err := extendable(pb) + if err != nil { + return + } + m := epb.extensionsWrite() + for k := range m { + delete(m, k) + } +} + +// A global registry of extensions. +// The generated code will register the generated descriptors by calling RegisterExtension. + +var extensionMaps = make(map[reflect.Type]map[int32]*ExtensionDesc) + +// RegisterExtension is called from the generated code. +func RegisterExtension(desc *ExtensionDesc) { + st := reflect.TypeOf(desc.ExtendedType).Elem() + m := extensionMaps[st] + if m == nil { + m = make(map[int32]*ExtensionDesc) + extensionMaps[st] = m + } + if _, ok := m[desc.Field]; ok { + panic("proto: duplicate extension registered: " + st.String() + " " + strconv.Itoa(int(desc.Field))) + } + m[desc.Field] = desc +} + +// RegisteredExtensions returns a map of the registered extensions of a +// protocol buffer struct, indexed by the extension number. +// The argument pb should be a nil pointer to the struct type. +func RegisteredExtensions(pb Message) map[int32]*ExtensionDesc { + return extensionMaps[reflect.TypeOf(pb).Elem()] +} + +// extensionAsLegacyType converts an value in the storage type as the API type. +// See Extension.value. +func extensionAsLegacyType(v interface{}) interface{} { + switch rv := reflect.ValueOf(v); rv.Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + // Represent primitive types as a pointer to the value. + rv2 := reflect.New(rv.Type()) + rv2.Elem().Set(rv) + v = rv2.Interface() + case reflect.Ptr: + // Represent slice types as the value itself. + switch rv.Type().Elem().Kind() { + case reflect.Slice: + if rv.IsNil() { + v = reflect.Zero(rv.Type().Elem()).Interface() + } else { + v = rv.Elem().Interface() + } + } + } + return v +} + +// extensionAsStorageType converts an value in the API type as the storage type. +// See Extension.value. +func extensionAsStorageType(v interface{}) interface{} { + switch rv := reflect.ValueOf(v); rv.Kind() { + case reflect.Ptr: + // Represent slice types as the value itself. + switch rv.Type().Elem().Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + if rv.IsNil() { + v = reflect.Zero(rv.Type().Elem()).Interface() + } else { + v = rv.Elem().Interface() + } + } + case reflect.Slice: + // Represent slice types as a pointer to the value. + if rv.Type().Elem().Kind() != reflect.Uint8 { + rv2 := reflect.New(rv.Type()) + rv2.Elem().Set(rv) + v = rv2.Interface() + } + } + return v +} diff --git a/vendor/github.com/golang/protobuf/proto/lib.go b/vendor/github.com/golang/protobuf/proto/lib.go new file mode 100644 index 00000000..fdd328bb --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/lib.go @@ -0,0 +1,965 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* +Package proto converts data structures to and from the wire format of +protocol buffers. It works in concert with the Go source code generated +for .proto files by the protocol compiler. + +A summary of the properties of the protocol buffer interface +for a protocol buffer variable v: + + - Names are turned from camel_case to CamelCase for export. + - There are no methods on v to set fields; just treat + them as structure fields. + - There are getters that return a field's value if set, + and return the field's default value if unset. + The getters work even if the receiver is a nil message. + - The zero value for a struct is its correct initialization state. + All desired fields must be set before marshaling. + - A Reset() method will restore a protobuf struct to its zero state. + - Non-repeated fields are pointers to the values; nil means unset. + That is, optional or required field int32 f becomes F *int32. + - Repeated fields are slices. + - Helper functions are available to aid the setting of fields. + msg.Foo = proto.String("hello") // set field + - Constants are defined to hold the default values of all fields that + have them. They have the form Default_StructName_FieldName. + Because the getter methods handle defaulted values, + direct use of these constants should be rare. + - Enums are given type names and maps from names to values. + Enum values are prefixed by the enclosing message's name, or by the + enum's type name if it is a top-level enum. Enum types have a String + method, and a Enum method to assist in message construction. + - Nested messages, groups and enums have type names prefixed with the name of + the surrounding message type. + - Extensions are given descriptor names that start with E_, + followed by an underscore-delimited list of the nested messages + that contain it (if any) followed by the CamelCased name of the + extension field itself. HasExtension, ClearExtension, GetExtension + and SetExtension are functions for manipulating extensions. + - Oneof field sets are given a single field in their message, + with distinguished wrapper types for each possible field value. + - Marshal and Unmarshal are functions to encode and decode the wire format. + +When the .proto file specifies `syntax="proto3"`, there are some differences: + + - Non-repeated fields of non-message type are values instead of pointers. + - Enum types do not get an Enum method. + +The simplest way to describe this is to see an example. +Given file test.proto, containing + + package example; + + enum FOO { X = 17; } + + message Test { + required string label = 1; + optional int32 type = 2 [default=77]; + repeated int64 reps = 3; + optional group OptionalGroup = 4 { + required string RequiredField = 5; + } + oneof union { + int32 number = 6; + string name = 7; + } + } + +The resulting file, test.pb.go, is: + + package example + + import proto "github.com/golang/protobuf/proto" + import math "math" + + type FOO int32 + const ( + FOO_X FOO = 17 + ) + var FOO_name = map[int32]string{ + 17: "X", + } + var FOO_value = map[string]int32{ + "X": 17, + } + + func (x FOO) Enum() *FOO { + p := new(FOO) + *p = x + return p + } + func (x FOO) String() string { + return proto.EnumName(FOO_name, int32(x)) + } + func (x *FOO) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(FOO_value, data) + if err != nil { + return err + } + *x = FOO(value) + return nil + } + + type Test struct { + Label *string `protobuf:"bytes,1,req,name=label" json:"label,omitempty"` + Type *int32 `protobuf:"varint,2,opt,name=type,def=77" json:"type,omitempty"` + Reps []int64 `protobuf:"varint,3,rep,name=reps" json:"reps,omitempty"` + Optionalgroup *Test_OptionalGroup `protobuf:"group,4,opt,name=OptionalGroup" json:"optionalgroup,omitempty"` + // Types that are valid to be assigned to Union: + // *Test_Number + // *Test_Name + Union isTest_Union `protobuf_oneof:"union"` + XXX_unrecognized []byte `json:"-"` + } + func (m *Test) Reset() { *m = Test{} } + func (m *Test) String() string { return proto.CompactTextString(m) } + func (*Test) ProtoMessage() {} + + type isTest_Union interface { + isTest_Union() + } + + type Test_Number struct { + Number int32 `protobuf:"varint,6,opt,name=number"` + } + type Test_Name struct { + Name string `protobuf:"bytes,7,opt,name=name"` + } + + func (*Test_Number) isTest_Union() {} + func (*Test_Name) isTest_Union() {} + + func (m *Test) GetUnion() isTest_Union { + if m != nil { + return m.Union + } + return nil + } + const Default_Test_Type int32 = 77 + + func (m *Test) GetLabel() string { + if m != nil && m.Label != nil { + return *m.Label + } + return "" + } + + func (m *Test) GetType() int32 { + if m != nil && m.Type != nil { + return *m.Type + } + return Default_Test_Type + } + + func (m *Test) GetOptionalgroup() *Test_OptionalGroup { + if m != nil { + return m.Optionalgroup + } + return nil + } + + type Test_OptionalGroup struct { + RequiredField *string `protobuf:"bytes,5,req" json:"RequiredField,omitempty"` + } + func (m *Test_OptionalGroup) Reset() { *m = Test_OptionalGroup{} } + func (m *Test_OptionalGroup) String() string { return proto.CompactTextString(m) } + + func (m *Test_OptionalGroup) GetRequiredField() string { + if m != nil && m.RequiredField != nil { + return *m.RequiredField + } + return "" + } + + func (m *Test) GetNumber() int32 { + if x, ok := m.GetUnion().(*Test_Number); ok { + return x.Number + } + return 0 + } + + func (m *Test) GetName() string { + if x, ok := m.GetUnion().(*Test_Name); ok { + return x.Name + } + return "" + } + + func init() { + proto.RegisterEnum("example.FOO", FOO_name, FOO_value) + } + +To create and play with a Test object: + + package main + + import ( + "log" + + "github.com/golang/protobuf/proto" + pb "./example.pb" + ) + + func main() { + test := &pb.Test{ + Label: proto.String("hello"), + Type: proto.Int32(17), + Reps: []int64{1, 2, 3}, + Optionalgroup: &pb.Test_OptionalGroup{ + RequiredField: proto.String("good bye"), + }, + Union: &pb.Test_Name{"fred"}, + } + data, err := proto.Marshal(test) + if err != nil { + log.Fatal("marshaling error: ", err) + } + newTest := &pb.Test{} + err = proto.Unmarshal(data, newTest) + if err != nil { + log.Fatal("unmarshaling error: ", err) + } + // Now test and newTest contain the same data. + if test.GetLabel() != newTest.GetLabel() { + log.Fatalf("data mismatch %q != %q", test.GetLabel(), newTest.GetLabel()) + } + // Use a type switch to determine which oneof was set. + switch u := test.Union.(type) { + case *pb.Test_Number: // u.Number contains the number. + case *pb.Test_Name: // u.Name contains the string. + } + // etc. + } +*/ +package proto + +import ( + "encoding/json" + "fmt" + "log" + "reflect" + "sort" + "strconv" + "sync" +) + +// RequiredNotSetError is an error type returned by either Marshal or Unmarshal. +// Marshal reports this when a required field is not initialized. +// Unmarshal reports this when a required field is missing from the wire data. +type RequiredNotSetError struct{ field string } + +func (e *RequiredNotSetError) Error() string { + if e.field == "" { + return fmt.Sprintf("proto: required field not set") + } + return fmt.Sprintf("proto: required field %q not set", e.field) +} +func (e *RequiredNotSetError) RequiredNotSet() bool { + return true +} + +type invalidUTF8Error struct{ field string } + +func (e *invalidUTF8Error) Error() string { + if e.field == "" { + return "proto: invalid UTF-8 detected" + } + return fmt.Sprintf("proto: field %q contains invalid UTF-8", e.field) +} +func (e *invalidUTF8Error) InvalidUTF8() bool { + return true +} + +// errInvalidUTF8 is a sentinel error to identify fields with invalid UTF-8. +// This error should not be exposed to the external API as such errors should +// be recreated with the field information. +var errInvalidUTF8 = &invalidUTF8Error{} + +// isNonFatal reports whether the error is either a RequiredNotSet error +// or a InvalidUTF8 error. +func isNonFatal(err error) bool { + if re, ok := err.(interface{ RequiredNotSet() bool }); ok && re.RequiredNotSet() { + return true + } + if re, ok := err.(interface{ InvalidUTF8() bool }); ok && re.InvalidUTF8() { + return true + } + return false +} + +type nonFatal struct{ E error } + +// Merge merges err into nf and reports whether it was successful. +// Otherwise it returns false for any fatal non-nil errors. +func (nf *nonFatal) Merge(err error) (ok bool) { + if err == nil { + return true // not an error + } + if !isNonFatal(err) { + return false // fatal error + } + if nf.E == nil { + nf.E = err // store first instance of non-fatal error + } + return true +} + +// Message is implemented by generated protocol buffer messages. +type Message interface { + Reset() + String() string + ProtoMessage() +} + +// A Buffer is a buffer manager for marshaling and unmarshaling +// protocol buffers. It may be reused between invocations to +// reduce memory usage. It is not necessary to use a Buffer; +// the global functions Marshal and Unmarshal create a +// temporary Buffer and are fine for most applications. +type Buffer struct { + buf []byte // encode/decode byte stream + index int // read point + + deterministic bool +} + +// NewBuffer allocates a new Buffer and initializes its internal data to +// the contents of the argument slice. +func NewBuffer(e []byte) *Buffer { + return &Buffer{buf: e} +} + +// Reset resets the Buffer, ready for marshaling a new protocol buffer. +func (p *Buffer) Reset() { + p.buf = p.buf[0:0] // for reading/writing + p.index = 0 // for reading +} + +// SetBuf replaces the internal buffer with the slice, +// ready for unmarshaling the contents of the slice. +func (p *Buffer) SetBuf(s []byte) { + p.buf = s + p.index = 0 +} + +// Bytes returns the contents of the Buffer. +func (p *Buffer) Bytes() []byte { return p.buf } + +// SetDeterministic sets whether to use deterministic serialization. +// +// Deterministic serialization guarantees that for a given binary, equal +// messages will always be serialized to the same bytes. This implies: +// +// - Repeated serialization of a message will return the same bytes. +// - Different processes of the same binary (which may be executing on +// different machines) will serialize equal messages to the same bytes. +// +// Note that the deterministic serialization is NOT canonical across +// languages. It is not guaranteed to remain stable over time. It is unstable +// across different builds with schema changes due to unknown fields. +// Users who need canonical serialization (e.g., persistent storage in a +// canonical form, fingerprinting, etc.) should define their own +// canonicalization specification and implement their own serializer rather +// than relying on this API. +// +// If deterministic serialization is requested, map entries will be sorted +// by keys in lexographical order. This is an implementation detail and +// subject to change. +func (p *Buffer) SetDeterministic(deterministic bool) { + p.deterministic = deterministic +} + +/* + * Helper routines for simplifying the creation of optional fields of basic type. + */ + +// Bool is a helper routine that allocates a new bool value +// to store v and returns a pointer to it. +func Bool(v bool) *bool { + return &v +} + +// Int32 is a helper routine that allocates a new int32 value +// to store v and returns a pointer to it. +func Int32(v int32) *int32 { + return &v +} + +// Int is a helper routine that allocates a new int32 value +// to store v and returns a pointer to it, but unlike Int32 +// its argument value is an int. +func Int(v int) *int32 { + p := new(int32) + *p = int32(v) + return p +} + +// Int64 is a helper routine that allocates a new int64 value +// to store v and returns a pointer to it. +func Int64(v int64) *int64 { + return &v +} + +// Float32 is a helper routine that allocates a new float32 value +// to store v and returns a pointer to it. +func Float32(v float32) *float32 { + return &v +} + +// Float64 is a helper routine that allocates a new float64 value +// to store v and returns a pointer to it. +func Float64(v float64) *float64 { + return &v +} + +// Uint32 is a helper routine that allocates a new uint32 value +// to store v and returns a pointer to it. +func Uint32(v uint32) *uint32 { + return &v +} + +// Uint64 is a helper routine that allocates a new uint64 value +// to store v and returns a pointer to it. +func Uint64(v uint64) *uint64 { + return &v +} + +// String is a helper routine that allocates a new string value +// to store v and returns a pointer to it. +func String(v string) *string { + return &v +} + +// EnumName is a helper function to simplify printing protocol buffer enums +// by name. Given an enum map and a value, it returns a useful string. +func EnumName(m map[int32]string, v int32) string { + s, ok := m[v] + if ok { + return s + } + return strconv.Itoa(int(v)) +} + +// UnmarshalJSONEnum is a helper function to simplify recovering enum int values +// from their JSON-encoded representation. Given a map from the enum's symbolic +// names to its int values, and a byte buffer containing the JSON-encoded +// value, it returns an int32 that can be cast to the enum type by the caller. +// +// The function can deal with both JSON representations, numeric and symbolic. +func UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) { + if data[0] == '"' { + // New style: enums are strings. + var repr string + if err := json.Unmarshal(data, &repr); err != nil { + return -1, err + } + val, ok := m[repr] + if !ok { + return 0, fmt.Errorf("unrecognized enum %s value %q", enumName, repr) + } + return val, nil + } + // Old style: enums are ints. + var val int32 + if err := json.Unmarshal(data, &val); err != nil { + return 0, fmt.Errorf("cannot unmarshal %#q into enum %s", data, enumName) + } + return val, nil +} + +// DebugPrint dumps the encoded data in b in a debugging format with a header +// including the string s. Used in testing but made available for general debugging. +func (p *Buffer) DebugPrint(s string, b []byte) { + var u uint64 + + obuf := p.buf + index := p.index + p.buf = b + p.index = 0 + depth := 0 + + fmt.Printf("\n--- %s ---\n", s) + +out: + for { + for i := 0; i < depth; i++ { + fmt.Print(" ") + } + + index := p.index + if index == len(p.buf) { + break + } + + op, err := p.DecodeVarint() + if err != nil { + fmt.Printf("%3d: fetching op err %v\n", index, err) + break out + } + tag := op >> 3 + wire := op & 7 + + switch wire { + default: + fmt.Printf("%3d: t=%3d unknown wire=%d\n", + index, tag, wire) + break out + + case WireBytes: + var r []byte + + r, err = p.DecodeRawBytes(false) + if err != nil { + break out + } + fmt.Printf("%3d: t=%3d bytes [%d]", index, tag, len(r)) + if len(r) <= 6 { + for i := 0; i < len(r); i++ { + fmt.Printf(" %.2x", r[i]) + } + } else { + for i := 0; i < 3; i++ { + fmt.Printf(" %.2x", r[i]) + } + fmt.Printf(" ..") + for i := len(r) - 3; i < len(r); i++ { + fmt.Printf(" %.2x", r[i]) + } + } + fmt.Printf("\n") + + case WireFixed32: + u, err = p.DecodeFixed32() + if err != nil { + fmt.Printf("%3d: t=%3d fix32 err %v\n", index, tag, err) + break out + } + fmt.Printf("%3d: t=%3d fix32 %d\n", index, tag, u) + + case WireFixed64: + u, err = p.DecodeFixed64() + if err != nil { + fmt.Printf("%3d: t=%3d fix64 err %v\n", index, tag, err) + break out + } + fmt.Printf("%3d: t=%3d fix64 %d\n", index, tag, u) + + case WireVarint: + u, err = p.DecodeVarint() + if err != nil { + fmt.Printf("%3d: t=%3d varint err %v\n", index, tag, err) + break out + } + fmt.Printf("%3d: t=%3d varint %d\n", index, tag, u) + + case WireStartGroup: + fmt.Printf("%3d: t=%3d start\n", index, tag) + depth++ + + case WireEndGroup: + depth-- + fmt.Printf("%3d: t=%3d end\n", index, tag) + } + } + + if depth != 0 { + fmt.Printf("%3d: start-end not balanced %d\n", p.index, depth) + } + fmt.Printf("\n") + + p.buf = obuf + p.index = index +} + +// SetDefaults sets unset protocol buffer fields to their default values. +// It only modifies fields that are both unset and have defined defaults. +// It recursively sets default values in any non-nil sub-messages. +func SetDefaults(pb Message) { + setDefaults(reflect.ValueOf(pb), true, false) +} + +// v is a pointer to a struct. +func setDefaults(v reflect.Value, recur, zeros bool) { + v = v.Elem() + + defaultMu.RLock() + dm, ok := defaults[v.Type()] + defaultMu.RUnlock() + if !ok { + dm = buildDefaultMessage(v.Type()) + defaultMu.Lock() + defaults[v.Type()] = dm + defaultMu.Unlock() + } + + for _, sf := range dm.scalars { + f := v.Field(sf.index) + if !f.IsNil() { + // field already set + continue + } + dv := sf.value + if dv == nil && !zeros { + // no explicit default, and don't want to set zeros + continue + } + fptr := f.Addr().Interface() // **T + // TODO: Consider batching the allocations we do here. + switch sf.kind { + case reflect.Bool: + b := new(bool) + if dv != nil { + *b = dv.(bool) + } + *(fptr.(**bool)) = b + case reflect.Float32: + f := new(float32) + if dv != nil { + *f = dv.(float32) + } + *(fptr.(**float32)) = f + case reflect.Float64: + f := new(float64) + if dv != nil { + *f = dv.(float64) + } + *(fptr.(**float64)) = f + case reflect.Int32: + // might be an enum + if ft := f.Type(); ft != int32PtrType { + // enum + f.Set(reflect.New(ft.Elem())) + if dv != nil { + f.Elem().SetInt(int64(dv.(int32))) + } + } else { + // int32 field + i := new(int32) + if dv != nil { + *i = dv.(int32) + } + *(fptr.(**int32)) = i + } + case reflect.Int64: + i := new(int64) + if dv != nil { + *i = dv.(int64) + } + *(fptr.(**int64)) = i + case reflect.String: + s := new(string) + if dv != nil { + *s = dv.(string) + } + *(fptr.(**string)) = s + case reflect.Uint8: + // exceptional case: []byte + var b []byte + if dv != nil { + db := dv.([]byte) + b = make([]byte, len(db)) + copy(b, db) + } else { + b = []byte{} + } + *(fptr.(*[]byte)) = b + case reflect.Uint32: + u := new(uint32) + if dv != nil { + *u = dv.(uint32) + } + *(fptr.(**uint32)) = u + case reflect.Uint64: + u := new(uint64) + if dv != nil { + *u = dv.(uint64) + } + *(fptr.(**uint64)) = u + default: + log.Printf("proto: can't set default for field %v (sf.kind=%v)", f, sf.kind) + } + } + + for _, ni := range dm.nested { + f := v.Field(ni) + // f is *T or []*T or map[T]*T + switch f.Kind() { + case reflect.Ptr: + if f.IsNil() { + continue + } + setDefaults(f, recur, zeros) + + case reflect.Slice: + for i := 0; i < f.Len(); i++ { + e := f.Index(i) + if e.IsNil() { + continue + } + setDefaults(e, recur, zeros) + } + + case reflect.Map: + for _, k := range f.MapKeys() { + e := f.MapIndex(k) + if e.IsNil() { + continue + } + setDefaults(e, recur, zeros) + } + } + } +} + +var ( + // defaults maps a protocol buffer struct type to a slice of the fields, + // with its scalar fields set to their proto-declared non-zero default values. + defaultMu sync.RWMutex + defaults = make(map[reflect.Type]defaultMessage) + + int32PtrType = reflect.TypeOf((*int32)(nil)) +) + +// defaultMessage represents information about the default values of a message. +type defaultMessage struct { + scalars []scalarField + nested []int // struct field index of nested messages +} + +type scalarField struct { + index int // struct field index + kind reflect.Kind // element type (the T in *T or []T) + value interface{} // the proto-declared default value, or nil +} + +// t is a struct type. +func buildDefaultMessage(t reflect.Type) (dm defaultMessage) { + sprop := GetProperties(t) + for _, prop := range sprop.Prop { + fi, ok := sprop.decoderTags.get(prop.Tag) + if !ok { + // XXX_unrecognized + continue + } + ft := t.Field(fi).Type + + sf, nested, err := fieldDefault(ft, prop) + switch { + case err != nil: + log.Print(err) + case nested: + dm.nested = append(dm.nested, fi) + case sf != nil: + sf.index = fi + dm.scalars = append(dm.scalars, *sf) + } + } + + return dm +} + +// fieldDefault returns the scalarField for field type ft. +// sf will be nil if the field can not have a default. +// nestedMessage will be true if this is a nested message. +// Note that sf.index is not set on return. +func fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) { + var canHaveDefault bool + switch ft.Kind() { + case reflect.Ptr: + if ft.Elem().Kind() == reflect.Struct { + nestedMessage = true + } else { + canHaveDefault = true // proto2 scalar field + } + + case reflect.Slice: + switch ft.Elem().Kind() { + case reflect.Ptr: + nestedMessage = true // repeated message + case reflect.Uint8: + canHaveDefault = true // bytes field + } + + case reflect.Map: + if ft.Elem().Kind() == reflect.Ptr { + nestedMessage = true // map with message values + } + } + + if !canHaveDefault { + if nestedMessage { + return nil, true, nil + } + return nil, false, nil + } + + // We now know that ft is a pointer or slice. + sf = &scalarField{kind: ft.Elem().Kind()} + + // scalar fields without defaults + if !prop.HasDefault { + return sf, false, nil + } + + // a scalar field: either *T or []byte + switch ft.Elem().Kind() { + case reflect.Bool: + x, err := strconv.ParseBool(prop.Default) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default bool %q: %v", prop.Default, err) + } + sf.value = x + case reflect.Float32: + x, err := strconv.ParseFloat(prop.Default, 32) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default float32 %q: %v", prop.Default, err) + } + sf.value = float32(x) + case reflect.Float64: + x, err := strconv.ParseFloat(prop.Default, 64) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default float64 %q: %v", prop.Default, err) + } + sf.value = x + case reflect.Int32: + x, err := strconv.ParseInt(prop.Default, 10, 32) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default int32 %q: %v", prop.Default, err) + } + sf.value = int32(x) + case reflect.Int64: + x, err := strconv.ParseInt(prop.Default, 10, 64) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default int64 %q: %v", prop.Default, err) + } + sf.value = x + case reflect.String: + sf.value = prop.Default + case reflect.Uint8: + // []byte (not *uint8) + sf.value = []byte(prop.Default) + case reflect.Uint32: + x, err := strconv.ParseUint(prop.Default, 10, 32) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default uint32 %q: %v", prop.Default, err) + } + sf.value = uint32(x) + case reflect.Uint64: + x, err := strconv.ParseUint(prop.Default, 10, 64) + if err != nil { + return nil, false, fmt.Errorf("proto: bad default uint64 %q: %v", prop.Default, err) + } + sf.value = x + default: + return nil, false, fmt.Errorf("proto: unhandled def kind %v", ft.Elem().Kind()) + } + + return sf, false, nil +} + +// mapKeys returns a sort.Interface to be used for sorting the map keys. +// Map fields may have key types of non-float scalars, strings and enums. +func mapKeys(vs []reflect.Value) sort.Interface { + s := mapKeySorter{vs: vs} + + // Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps. + if len(vs) == 0 { + return s + } + switch vs[0].Kind() { + case reflect.Int32, reflect.Int64: + s.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() } + case reflect.Uint32, reflect.Uint64: + s.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() } + case reflect.Bool: + s.less = func(a, b reflect.Value) bool { return !a.Bool() && b.Bool() } // false < true + case reflect.String: + s.less = func(a, b reflect.Value) bool { return a.String() < b.String() } + default: + panic(fmt.Sprintf("unsupported map key type: %v", vs[0].Kind())) + } + + return s +} + +type mapKeySorter struct { + vs []reflect.Value + less func(a, b reflect.Value) bool +} + +func (s mapKeySorter) Len() int { return len(s.vs) } +func (s mapKeySorter) Swap(i, j int) { s.vs[i], s.vs[j] = s.vs[j], s.vs[i] } +func (s mapKeySorter) Less(i, j int) bool { + return s.less(s.vs[i], s.vs[j]) +} + +// isProto3Zero reports whether v is a zero proto3 value. +func isProto3Zero(v reflect.Value) bool { + switch v.Kind() { + case reflect.Bool: + return !v.Bool() + case reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint32, reflect.Uint64: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.String: + return v.String() == "" + } + return false +} + +const ( + // ProtoPackageIsVersion3 is referenced from generated protocol buffer files + // to assert that that code is compatible with this version of the proto package. + ProtoPackageIsVersion3 = true + + // ProtoPackageIsVersion2 is referenced from generated protocol buffer files + // to assert that that code is compatible with this version of the proto package. + ProtoPackageIsVersion2 = true + + // ProtoPackageIsVersion1 is referenced from generated protocol buffer files + // to assert that that code is compatible with this version of the proto package. + ProtoPackageIsVersion1 = true +) + +// InternalMessageInfo is a type used internally by generated .pb.go files. +// This type is not intended to be used by non-generated code. +// This type is not subject to any compatibility guarantee. +type InternalMessageInfo struct { + marshal *marshalInfo + unmarshal *unmarshalInfo + merge *mergeInfo + discard *discardInfo +} diff --git a/vendor/github.com/golang/protobuf/proto/message_set.go b/vendor/github.com/golang/protobuf/proto/message_set.go new file mode 100644 index 00000000..f48a7567 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/message_set.go @@ -0,0 +1,181 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Support for message sets. + */ + +import ( + "errors" +) + +// errNoMessageTypeID occurs when a protocol buffer does not have a message type ID. +// A message type ID is required for storing a protocol buffer in a message set. +var errNoMessageTypeID = errors.New("proto does not have a message type ID") + +// The first two types (_MessageSet_Item and messageSet) +// model what the protocol compiler produces for the following protocol message: +// message MessageSet { +// repeated group Item = 1 { +// required int32 type_id = 2; +// required string message = 3; +// }; +// } +// That is the MessageSet wire format. We can't use a proto to generate these +// because that would introduce a circular dependency between it and this package. + +type _MessageSet_Item struct { + TypeId *int32 `protobuf:"varint,2,req,name=type_id"` + Message []byte `protobuf:"bytes,3,req,name=message"` +} + +type messageSet struct { + Item []*_MessageSet_Item `protobuf:"group,1,rep"` + XXX_unrecognized []byte + // TODO: caching? +} + +// Make sure messageSet is a Message. +var _ Message = (*messageSet)(nil) + +// messageTypeIder is an interface satisfied by a protocol buffer type +// that may be stored in a MessageSet. +type messageTypeIder interface { + MessageTypeId() int32 +} + +func (ms *messageSet) find(pb Message) *_MessageSet_Item { + mti, ok := pb.(messageTypeIder) + if !ok { + return nil + } + id := mti.MessageTypeId() + for _, item := range ms.Item { + if *item.TypeId == id { + return item + } + } + return nil +} + +func (ms *messageSet) Has(pb Message) bool { + return ms.find(pb) != nil +} + +func (ms *messageSet) Unmarshal(pb Message) error { + if item := ms.find(pb); item != nil { + return Unmarshal(item.Message, pb) + } + if _, ok := pb.(messageTypeIder); !ok { + return errNoMessageTypeID + } + return nil // TODO: return error instead? +} + +func (ms *messageSet) Marshal(pb Message) error { + msg, err := Marshal(pb) + if err != nil { + return err + } + if item := ms.find(pb); item != nil { + // reuse existing item + item.Message = msg + return nil + } + + mti, ok := pb.(messageTypeIder) + if !ok { + return errNoMessageTypeID + } + + mtid := mti.MessageTypeId() + ms.Item = append(ms.Item, &_MessageSet_Item{ + TypeId: &mtid, + Message: msg, + }) + return nil +} + +func (ms *messageSet) Reset() { *ms = messageSet{} } +func (ms *messageSet) String() string { return CompactTextString(ms) } +func (*messageSet) ProtoMessage() {} + +// Support for the message_set_wire_format message option. + +func skipVarint(buf []byte) []byte { + i := 0 + for ; buf[i]&0x80 != 0; i++ { + } + return buf[i+1:] +} + +// unmarshalMessageSet decodes the extension map encoded in buf in the message set wire format. +// It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option. +func unmarshalMessageSet(buf []byte, exts interface{}) error { + var m map[int32]Extension + switch exts := exts.(type) { + case *XXX_InternalExtensions: + m = exts.extensionsWrite() + case map[int32]Extension: + m = exts + default: + return errors.New("proto: not an extension map") + } + + ms := new(messageSet) + if err := Unmarshal(buf, ms); err != nil { + return err + } + for _, item := range ms.Item { + id := *item.TypeId + msg := item.Message + + // Restore wire type and field number varint, plus length varint. + // Be careful to preserve duplicate items. + b := EncodeVarint(uint64(id)<<3 | WireBytes) + if ext, ok := m[id]; ok { + // Existing data; rip off the tag and length varint + // so we join the new data correctly. + // We can assume that ext.enc is set because we are unmarshaling. + o := ext.enc[len(b):] // skip wire type and field number + _, n := DecodeVarint(o) // calculate length of length varint + o = o[n:] // skip length varint + msg = append(o, msg...) // join old data and new data + } + b = append(b, EncodeVarint(uint64(len(msg)))...) + b = append(b, msg...) + + m[id] = Extension{enc: b} + } + return nil +} diff --git a/vendor/github.com/golang/protobuf/proto/pointer_reflect.go b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go new file mode 100644 index 00000000..94fa9194 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go @@ -0,0 +1,360 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2012 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// +build purego appengine js + +// This file contains an implementation of proto field accesses using package reflect. +// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can +// be used on App Engine. + +package proto + +import ( + "reflect" + "sync" +) + +const unsafeAllowed = false + +// A field identifies a field in a struct, accessible from a pointer. +// In this implementation, a field is identified by the sequence of field indices +// passed to reflect's FieldByIndex. +type field []int + +// toField returns a field equivalent to the given reflect field. +func toField(f *reflect.StructField) field { + return f.Index +} + +// invalidField is an invalid field identifier. +var invalidField = field(nil) + +// zeroField is a noop when calling pointer.offset. +var zeroField = field([]int{}) + +// IsValid reports whether the field identifier is valid. +func (f field) IsValid() bool { return f != nil } + +// The pointer type is for the table-driven decoder. +// The implementation here uses a reflect.Value of pointer type to +// create a generic pointer. In pointer_unsafe.go we use unsafe +// instead of reflect to implement the same (but faster) interface. +type pointer struct { + v reflect.Value +} + +// toPointer converts an interface of pointer type to a pointer +// that points to the same target. +func toPointer(i *Message) pointer { + return pointer{v: reflect.ValueOf(*i)} +} + +// toAddrPointer converts an interface to a pointer that points to +// the interface data. +func toAddrPointer(i *interface{}, isptr, deref bool) pointer { + v := reflect.ValueOf(*i) + u := reflect.New(v.Type()) + u.Elem().Set(v) + if deref { + u = u.Elem() + } + return pointer{v: u} +} + +// valToPointer converts v to a pointer. v must be of pointer type. +func valToPointer(v reflect.Value) pointer { + return pointer{v: v} +} + +// offset converts from a pointer to a structure to a pointer to +// one of its fields. +func (p pointer) offset(f field) pointer { + return pointer{v: p.v.Elem().FieldByIndex(f).Addr()} +} + +func (p pointer) isNil() bool { + return p.v.IsNil() +} + +// grow updates the slice s in place to make it one element longer. +// s must be addressable. +// Returns the (addressable) new element. +func grow(s reflect.Value) reflect.Value { + n, m := s.Len(), s.Cap() + if n < m { + s.SetLen(n + 1) + } else { + s.Set(reflect.Append(s, reflect.Zero(s.Type().Elem()))) + } + return s.Index(n) +} + +func (p pointer) toInt64() *int64 { + return p.v.Interface().(*int64) +} +func (p pointer) toInt64Ptr() **int64 { + return p.v.Interface().(**int64) +} +func (p pointer) toInt64Slice() *[]int64 { + return p.v.Interface().(*[]int64) +} + +var int32ptr = reflect.TypeOf((*int32)(nil)) + +func (p pointer) toInt32() *int32 { + return p.v.Convert(int32ptr).Interface().(*int32) +} + +// The toInt32Ptr/Slice methods don't work because of enums. +// Instead, we must use set/get methods for the int32ptr/slice case. +/* + func (p pointer) toInt32Ptr() **int32 { + return p.v.Interface().(**int32) +} + func (p pointer) toInt32Slice() *[]int32 { + return p.v.Interface().(*[]int32) +} +*/ +func (p pointer) getInt32Ptr() *int32 { + if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) { + // raw int32 type + return p.v.Elem().Interface().(*int32) + } + // an enum + return p.v.Elem().Convert(int32PtrType).Interface().(*int32) +} +func (p pointer) setInt32Ptr(v int32) { + // Allocate value in a *int32. Possibly convert that to a *enum. + // Then assign it to a **int32 or **enum. + // Note: we can convert *int32 to *enum, but we can't convert + // **int32 to **enum! + p.v.Elem().Set(reflect.ValueOf(&v).Convert(p.v.Type().Elem())) +} + +// getInt32Slice copies []int32 from p as a new slice. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) getInt32Slice() []int32 { + if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) { + // raw int32 type + return p.v.Elem().Interface().([]int32) + } + // an enum + // Allocate a []int32, then assign []enum's values into it. + // Note: we can't convert []enum to []int32. + slice := p.v.Elem() + s := make([]int32, slice.Len()) + for i := 0; i < slice.Len(); i++ { + s[i] = int32(slice.Index(i).Int()) + } + return s +} + +// setInt32Slice copies []int32 into p as a new slice. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) setInt32Slice(v []int32) { + if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) { + // raw int32 type + p.v.Elem().Set(reflect.ValueOf(v)) + return + } + // an enum + // Allocate a []enum, then assign []int32's values into it. + // Note: we can't convert []enum to []int32. + slice := reflect.MakeSlice(p.v.Type().Elem(), len(v), cap(v)) + for i, x := range v { + slice.Index(i).SetInt(int64(x)) + } + p.v.Elem().Set(slice) +} +func (p pointer) appendInt32Slice(v int32) { + grow(p.v.Elem()).SetInt(int64(v)) +} + +func (p pointer) toUint64() *uint64 { + return p.v.Interface().(*uint64) +} +func (p pointer) toUint64Ptr() **uint64 { + return p.v.Interface().(**uint64) +} +func (p pointer) toUint64Slice() *[]uint64 { + return p.v.Interface().(*[]uint64) +} +func (p pointer) toUint32() *uint32 { + return p.v.Interface().(*uint32) +} +func (p pointer) toUint32Ptr() **uint32 { + return p.v.Interface().(**uint32) +} +func (p pointer) toUint32Slice() *[]uint32 { + return p.v.Interface().(*[]uint32) +} +func (p pointer) toBool() *bool { + return p.v.Interface().(*bool) +} +func (p pointer) toBoolPtr() **bool { + return p.v.Interface().(**bool) +} +func (p pointer) toBoolSlice() *[]bool { + return p.v.Interface().(*[]bool) +} +func (p pointer) toFloat64() *float64 { + return p.v.Interface().(*float64) +} +func (p pointer) toFloat64Ptr() **float64 { + return p.v.Interface().(**float64) +} +func (p pointer) toFloat64Slice() *[]float64 { + return p.v.Interface().(*[]float64) +} +func (p pointer) toFloat32() *float32 { + return p.v.Interface().(*float32) +} +func (p pointer) toFloat32Ptr() **float32 { + return p.v.Interface().(**float32) +} +func (p pointer) toFloat32Slice() *[]float32 { + return p.v.Interface().(*[]float32) +} +func (p pointer) toString() *string { + return p.v.Interface().(*string) +} +func (p pointer) toStringPtr() **string { + return p.v.Interface().(**string) +} +func (p pointer) toStringSlice() *[]string { + return p.v.Interface().(*[]string) +} +func (p pointer) toBytes() *[]byte { + return p.v.Interface().(*[]byte) +} +func (p pointer) toBytesSlice() *[][]byte { + return p.v.Interface().(*[][]byte) +} +func (p pointer) toExtensions() *XXX_InternalExtensions { + return p.v.Interface().(*XXX_InternalExtensions) +} +func (p pointer) toOldExtensions() *map[int32]Extension { + return p.v.Interface().(*map[int32]Extension) +} +func (p pointer) getPointer() pointer { + return pointer{v: p.v.Elem()} +} +func (p pointer) setPointer(q pointer) { + p.v.Elem().Set(q.v) +} +func (p pointer) appendPointer(q pointer) { + grow(p.v.Elem()).Set(q.v) +} + +// getPointerSlice copies []*T from p as a new []pointer. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) getPointerSlice() []pointer { + if p.v.IsNil() { + return nil + } + n := p.v.Elem().Len() + s := make([]pointer, n) + for i := 0; i < n; i++ { + s[i] = pointer{v: p.v.Elem().Index(i)} + } + return s +} + +// setPointerSlice copies []pointer into p as a new []*T. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) setPointerSlice(v []pointer) { + if v == nil { + p.v.Elem().Set(reflect.New(p.v.Elem().Type()).Elem()) + return + } + s := reflect.MakeSlice(p.v.Elem().Type(), 0, len(v)) + for _, p := range v { + s = reflect.Append(s, p.v) + } + p.v.Elem().Set(s) +} + +// getInterfacePointer returns a pointer that points to the +// interface data of the interface pointed by p. +func (p pointer) getInterfacePointer() pointer { + if p.v.Elem().IsNil() { + return pointer{v: p.v.Elem()} + } + return pointer{v: p.v.Elem().Elem().Elem().Field(0).Addr()} // *interface -> interface -> *struct -> struct +} + +func (p pointer) asPointerTo(t reflect.Type) reflect.Value { + // TODO: check that p.v.Type().Elem() == t? + return p.v +} + +func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} +func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} +func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} +func atomicLoadDiscardInfo(p **discardInfo) *discardInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} + +var atomicLock sync.Mutex diff --git a/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go new file mode 100644 index 00000000..dbfffe07 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go @@ -0,0 +1,313 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2012 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// +build !purego,!appengine,!js + +// This file contains the implementation of the proto field accesses using package unsafe. + +package proto + +import ( + "reflect" + "sync/atomic" + "unsafe" +) + +const unsafeAllowed = true + +// A field identifies a field in a struct, accessible from a pointer. +// In this implementation, a field is identified by its byte offset from the start of the struct. +type field uintptr + +// toField returns a field equivalent to the given reflect field. +func toField(f *reflect.StructField) field { + return field(f.Offset) +} + +// invalidField is an invalid field identifier. +const invalidField = ^field(0) + +// zeroField is a noop when calling pointer.offset. +const zeroField = field(0) + +// IsValid reports whether the field identifier is valid. +func (f field) IsValid() bool { + return f != invalidField +} + +// The pointer type below is for the new table-driven encoder/decoder. +// The implementation here uses unsafe.Pointer to create a generic pointer. +// In pointer_reflect.go we use reflect instead of unsafe to implement +// the same (but slower) interface. +type pointer struct { + p unsafe.Pointer +} + +// size of pointer +var ptrSize = unsafe.Sizeof(uintptr(0)) + +// toPointer converts an interface of pointer type to a pointer +// that points to the same target. +func toPointer(i *Message) pointer { + // Super-tricky - read pointer out of data word of interface value. + // Saves ~25ns over the equivalent: + // return valToPointer(reflect.ValueOf(*i)) + return pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]} +} + +// toAddrPointer converts an interface to a pointer that points to +// the interface data. +func toAddrPointer(i *interface{}, isptr, deref bool) (p pointer) { + // Super-tricky - read or get the address of data word of interface value. + if isptr { + // The interface is of pointer type, thus it is a direct interface. + // The data word is the pointer data itself. We take its address. + p = pointer{p: unsafe.Pointer(uintptr(unsafe.Pointer(i)) + ptrSize)} + } else { + // The interface is not of pointer type. The data word is the pointer + // to the data. + p = pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]} + } + if deref { + p.p = *(*unsafe.Pointer)(p.p) + } + return p +} + +// valToPointer converts v to a pointer. v must be of pointer type. +func valToPointer(v reflect.Value) pointer { + return pointer{p: unsafe.Pointer(v.Pointer())} +} + +// offset converts from a pointer to a structure to a pointer to +// one of its fields. +func (p pointer) offset(f field) pointer { + // For safety, we should panic if !f.IsValid, however calling panic causes + // this to no longer be inlineable, which is a serious performance cost. + /* + if !f.IsValid() { + panic("invalid field") + } + */ + return pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))} +} + +func (p pointer) isNil() bool { + return p.p == nil +} + +func (p pointer) toInt64() *int64 { + return (*int64)(p.p) +} +func (p pointer) toInt64Ptr() **int64 { + return (**int64)(p.p) +} +func (p pointer) toInt64Slice() *[]int64 { + return (*[]int64)(p.p) +} +func (p pointer) toInt32() *int32 { + return (*int32)(p.p) +} + +// See pointer_reflect.go for why toInt32Ptr/Slice doesn't exist. +/* + func (p pointer) toInt32Ptr() **int32 { + return (**int32)(p.p) + } + func (p pointer) toInt32Slice() *[]int32 { + return (*[]int32)(p.p) + } +*/ +func (p pointer) getInt32Ptr() *int32 { + return *(**int32)(p.p) +} +func (p pointer) setInt32Ptr(v int32) { + *(**int32)(p.p) = &v +} + +// getInt32Slice loads a []int32 from p. +// The value returned is aliased with the original slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) getInt32Slice() []int32 { + return *(*[]int32)(p.p) +} + +// setInt32Slice stores a []int32 to p. +// The value set is aliased with the input slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) setInt32Slice(v []int32) { + *(*[]int32)(p.p) = v +} + +// TODO: Can we get rid of appendInt32Slice and use setInt32Slice instead? +func (p pointer) appendInt32Slice(v int32) { + s := (*[]int32)(p.p) + *s = append(*s, v) +} + +func (p pointer) toUint64() *uint64 { + return (*uint64)(p.p) +} +func (p pointer) toUint64Ptr() **uint64 { + return (**uint64)(p.p) +} +func (p pointer) toUint64Slice() *[]uint64 { + return (*[]uint64)(p.p) +} +func (p pointer) toUint32() *uint32 { + return (*uint32)(p.p) +} +func (p pointer) toUint32Ptr() **uint32 { + return (**uint32)(p.p) +} +func (p pointer) toUint32Slice() *[]uint32 { + return (*[]uint32)(p.p) +} +func (p pointer) toBool() *bool { + return (*bool)(p.p) +} +func (p pointer) toBoolPtr() **bool { + return (**bool)(p.p) +} +func (p pointer) toBoolSlice() *[]bool { + return (*[]bool)(p.p) +} +func (p pointer) toFloat64() *float64 { + return (*float64)(p.p) +} +func (p pointer) toFloat64Ptr() **float64 { + return (**float64)(p.p) +} +func (p pointer) toFloat64Slice() *[]float64 { + return (*[]float64)(p.p) +} +func (p pointer) toFloat32() *float32 { + return (*float32)(p.p) +} +func (p pointer) toFloat32Ptr() **float32 { + return (**float32)(p.p) +} +func (p pointer) toFloat32Slice() *[]float32 { + return (*[]float32)(p.p) +} +func (p pointer) toString() *string { + return (*string)(p.p) +} +func (p pointer) toStringPtr() **string { + return (**string)(p.p) +} +func (p pointer) toStringSlice() *[]string { + return (*[]string)(p.p) +} +func (p pointer) toBytes() *[]byte { + return (*[]byte)(p.p) +} +func (p pointer) toBytesSlice() *[][]byte { + return (*[][]byte)(p.p) +} +func (p pointer) toExtensions() *XXX_InternalExtensions { + return (*XXX_InternalExtensions)(p.p) +} +func (p pointer) toOldExtensions() *map[int32]Extension { + return (*map[int32]Extension)(p.p) +} + +// getPointerSlice loads []*T from p as a []pointer. +// The value returned is aliased with the original slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) getPointerSlice() []pointer { + // Super-tricky - p should point to a []*T where T is a + // message type. We load it as []pointer. + return *(*[]pointer)(p.p) +} + +// setPointerSlice stores []pointer into p as a []*T. +// The value set is aliased with the input slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) setPointerSlice(v []pointer) { + // Super-tricky - p should point to a []*T where T is a + // message type. We store it as []pointer. + *(*[]pointer)(p.p) = v +} + +// getPointer loads the pointer at p and returns it. +func (p pointer) getPointer() pointer { + return pointer{p: *(*unsafe.Pointer)(p.p)} +} + +// setPointer stores the pointer q at p. +func (p pointer) setPointer(q pointer) { + *(*unsafe.Pointer)(p.p) = q.p +} + +// append q to the slice pointed to by p. +func (p pointer) appendPointer(q pointer) { + s := (*[]unsafe.Pointer)(p.p) + *s = append(*s, q.p) +} + +// getInterfacePointer returns a pointer that points to the +// interface data of the interface pointed by p. +func (p pointer) getInterfacePointer() pointer { + // Super-tricky - read pointer out of data word of interface value. + return pointer{p: (*(*[2]unsafe.Pointer)(p.p))[1]} +} + +// asPointerTo returns a reflect.Value that is a pointer to an +// object of type t stored at p. +func (p pointer) asPointerTo(t reflect.Type) reflect.Value { + return reflect.NewAt(t, p.p) +} + +func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo { + return (*unmarshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} +func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo { + return (*marshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} +func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo { + return (*mergeInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} +func atomicLoadDiscardInfo(p **discardInfo) *discardInfo { + return (*discardInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} diff --git a/vendor/github.com/golang/protobuf/proto/properties.go b/vendor/github.com/golang/protobuf/proto/properties.go new file mode 100644 index 00000000..a4b8c0cd --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/properties.go @@ -0,0 +1,544 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +/* + * Routines for encoding data into the wire format for protocol buffers. + */ + +import ( + "fmt" + "log" + "reflect" + "sort" + "strconv" + "strings" + "sync" +) + +const debug bool = false + +// Constants that identify the encoding of a value on the wire. +const ( + WireVarint = 0 + WireFixed64 = 1 + WireBytes = 2 + WireStartGroup = 3 + WireEndGroup = 4 + WireFixed32 = 5 +) + +// tagMap is an optimization over map[int]int for typical protocol buffer +// use-cases. Encoded protocol buffers are often in tag order with small tag +// numbers. +type tagMap struct { + fastTags []int + slowTags map[int]int +} + +// tagMapFastLimit is the upper bound on the tag number that will be stored in +// the tagMap slice rather than its map. +const tagMapFastLimit = 1024 + +func (p *tagMap) get(t int) (int, bool) { + if t > 0 && t < tagMapFastLimit { + if t >= len(p.fastTags) { + return 0, false + } + fi := p.fastTags[t] + return fi, fi >= 0 + } + fi, ok := p.slowTags[t] + return fi, ok +} + +func (p *tagMap) put(t int, fi int) { + if t > 0 && t < tagMapFastLimit { + for len(p.fastTags) < t+1 { + p.fastTags = append(p.fastTags, -1) + } + p.fastTags[t] = fi + return + } + if p.slowTags == nil { + p.slowTags = make(map[int]int) + } + p.slowTags[t] = fi +} + +// StructProperties represents properties for all the fields of a struct. +// decoderTags and decoderOrigNames should only be used by the decoder. +type StructProperties struct { + Prop []*Properties // properties for each field + reqCount int // required count + decoderTags tagMap // map from proto tag to struct field number + decoderOrigNames map[string]int // map from original name to struct field number + order []int // list of struct field numbers in tag order + + // OneofTypes contains information about the oneof fields in this message. + // It is keyed by the original name of a field. + OneofTypes map[string]*OneofProperties +} + +// OneofProperties represents information about a specific field in a oneof. +type OneofProperties struct { + Type reflect.Type // pointer to generated struct type for this oneof field + Field int // struct field number of the containing oneof in the message + Prop *Properties +} + +// Implement the sorting interface so we can sort the fields in tag order, as recommended by the spec. +// See encode.go, (*Buffer).enc_struct. + +func (sp *StructProperties) Len() int { return len(sp.order) } +func (sp *StructProperties) Less(i, j int) bool { + return sp.Prop[sp.order[i]].Tag < sp.Prop[sp.order[j]].Tag +} +func (sp *StructProperties) Swap(i, j int) { sp.order[i], sp.order[j] = sp.order[j], sp.order[i] } + +// Properties represents the protocol-specific behavior of a single struct field. +type Properties struct { + Name string // name of the field, for error messages + OrigName string // original name before protocol compiler (always set) + JSONName string // name to use for JSON; determined by protoc + Wire string + WireType int + Tag int + Required bool + Optional bool + Repeated bool + Packed bool // relevant for repeated primitives only + Enum string // set for enum types only + proto3 bool // whether this is known to be a proto3 field + oneof bool // whether this is a oneof field + + Default string // default value + HasDefault bool // whether an explicit default was provided + + stype reflect.Type // set for struct types only + sprop *StructProperties // set for struct types only + + mtype reflect.Type // set for map types only + MapKeyProp *Properties // set for map types only + MapValProp *Properties // set for map types only +} + +// String formats the properties in the protobuf struct field tag style. +func (p *Properties) String() string { + s := p.Wire + s += "," + s += strconv.Itoa(p.Tag) + if p.Required { + s += ",req" + } + if p.Optional { + s += ",opt" + } + if p.Repeated { + s += ",rep" + } + if p.Packed { + s += ",packed" + } + s += ",name=" + p.OrigName + if p.JSONName != p.OrigName { + s += ",json=" + p.JSONName + } + if p.proto3 { + s += ",proto3" + } + if p.oneof { + s += ",oneof" + } + if len(p.Enum) > 0 { + s += ",enum=" + p.Enum + } + if p.HasDefault { + s += ",def=" + p.Default + } + return s +} + +// Parse populates p by parsing a string in the protobuf struct field tag style. +func (p *Properties) Parse(s string) { + // "bytes,49,opt,name=foo,def=hello!" + fields := strings.Split(s, ",") // breaks def=, but handled below. + if len(fields) < 2 { + log.Printf("proto: tag has too few fields: %q", s) + return + } + + p.Wire = fields[0] + switch p.Wire { + case "varint": + p.WireType = WireVarint + case "fixed32": + p.WireType = WireFixed32 + case "fixed64": + p.WireType = WireFixed64 + case "zigzag32": + p.WireType = WireVarint + case "zigzag64": + p.WireType = WireVarint + case "bytes", "group": + p.WireType = WireBytes + // no numeric converter for non-numeric types + default: + log.Printf("proto: tag has unknown wire type: %q", s) + return + } + + var err error + p.Tag, err = strconv.Atoi(fields[1]) + if err != nil { + return + } + +outer: + for i := 2; i < len(fields); i++ { + f := fields[i] + switch { + case f == "req": + p.Required = true + case f == "opt": + p.Optional = true + case f == "rep": + p.Repeated = true + case f == "packed": + p.Packed = true + case strings.HasPrefix(f, "name="): + p.OrigName = f[5:] + case strings.HasPrefix(f, "json="): + p.JSONName = f[5:] + case strings.HasPrefix(f, "enum="): + p.Enum = f[5:] + case f == "proto3": + p.proto3 = true + case f == "oneof": + p.oneof = true + case strings.HasPrefix(f, "def="): + p.HasDefault = true + p.Default = f[4:] // rest of string + if i+1 < len(fields) { + // Commas aren't escaped, and def is always last. + p.Default += "," + strings.Join(fields[i+1:], ",") + break outer + } + } + } +} + +var protoMessageType = reflect.TypeOf((*Message)(nil)).Elem() + +// setFieldProps initializes the field properties for submessages and maps. +func (p *Properties) setFieldProps(typ reflect.Type, f *reflect.StructField, lockGetProp bool) { + switch t1 := typ; t1.Kind() { + case reflect.Ptr: + if t1.Elem().Kind() == reflect.Struct { + p.stype = t1.Elem() + } + + case reflect.Slice: + if t2 := t1.Elem(); t2.Kind() == reflect.Ptr && t2.Elem().Kind() == reflect.Struct { + p.stype = t2.Elem() + } + + case reflect.Map: + p.mtype = t1 + p.MapKeyProp = &Properties{} + p.MapKeyProp.init(reflect.PtrTo(p.mtype.Key()), "Key", f.Tag.Get("protobuf_key"), nil, lockGetProp) + p.MapValProp = &Properties{} + vtype := p.mtype.Elem() + if vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice { + // The value type is not a message (*T) or bytes ([]byte), + // so we need encoders for the pointer to this type. + vtype = reflect.PtrTo(vtype) + } + p.MapValProp.init(vtype, "Value", f.Tag.Get("protobuf_val"), nil, lockGetProp) + } + + if p.stype != nil { + if lockGetProp { + p.sprop = GetProperties(p.stype) + } else { + p.sprop = getPropertiesLocked(p.stype) + } + } +} + +var ( + marshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem() +) + +// Init populates the properties from a protocol buffer struct tag. +func (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) { + p.init(typ, name, tag, f, true) +} + +func (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructField, lockGetProp bool) { + // "bytes,49,opt,def=hello!" + p.Name = name + p.OrigName = name + if tag == "" { + return + } + p.Parse(tag) + p.setFieldProps(typ, f, lockGetProp) +} + +var ( + propertiesMu sync.RWMutex + propertiesMap = make(map[reflect.Type]*StructProperties) +) + +// GetProperties returns the list of properties for the type represented by t. +// t must represent a generated struct type of a protocol message. +func GetProperties(t reflect.Type) *StructProperties { + if t.Kind() != reflect.Struct { + panic("proto: type must have kind struct") + } + + // Most calls to GetProperties in a long-running program will be + // retrieving details for types we have seen before. + propertiesMu.RLock() + sprop, ok := propertiesMap[t] + propertiesMu.RUnlock() + if ok { + return sprop + } + + propertiesMu.Lock() + sprop = getPropertiesLocked(t) + propertiesMu.Unlock() + return sprop +} + +type ( + oneofFuncsIface interface { + XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{}) + } + oneofWrappersIface interface { + XXX_OneofWrappers() []interface{} + } +) + +// getPropertiesLocked requires that propertiesMu is held. +func getPropertiesLocked(t reflect.Type) *StructProperties { + if prop, ok := propertiesMap[t]; ok { + return prop + } + + prop := new(StructProperties) + // in case of recursive protos, fill this in now. + propertiesMap[t] = prop + + // build properties + prop.Prop = make([]*Properties, t.NumField()) + prop.order = make([]int, t.NumField()) + + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + p := new(Properties) + name := f.Name + p.init(f.Type, name, f.Tag.Get("protobuf"), &f, false) + + oneof := f.Tag.Get("protobuf_oneof") // special case + if oneof != "" { + // Oneof fields don't use the traditional protobuf tag. + p.OrigName = oneof + } + prop.Prop[i] = p + prop.order[i] = i + if debug { + print(i, " ", f.Name, " ", t.String(), " ") + if p.Tag > 0 { + print(p.String()) + } + print("\n") + } + } + + // Re-order prop.order. + sort.Sort(prop) + + var oots []interface{} + switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) { + case oneofFuncsIface: + _, _, _, oots = m.XXX_OneofFuncs() + case oneofWrappersIface: + oots = m.XXX_OneofWrappers() + } + if len(oots) > 0 { + // Interpret oneof metadata. + prop.OneofTypes = make(map[string]*OneofProperties) + for _, oot := range oots { + oop := &OneofProperties{ + Type: reflect.ValueOf(oot).Type(), // *T + Prop: new(Properties), + } + sft := oop.Type.Elem().Field(0) + oop.Prop.Name = sft.Name + oop.Prop.Parse(sft.Tag.Get("protobuf")) + // There will be exactly one interface field that + // this new value is assignable to. + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + if f.Type.Kind() != reflect.Interface { + continue + } + if !oop.Type.AssignableTo(f.Type) { + continue + } + oop.Field = i + break + } + prop.OneofTypes[oop.Prop.OrigName] = oop + } + } + + // build required counts + // build tags + reqCount := 0 + prop.decoderOrigNames = make(map[string]int) + for i, p := range prop.Prop { + if strings.HasPrefix(p.Name, "XXX_") { + // Internal fields should not appear in tags/origNames maps. + // They are handled specially when encoding and decoding. + continue + } + if p.Required { + reqCount++ + } + prop.decoderTags.put(p.Tag, i) + prop.decoderOrigNames[p.OrigName] = i + } + prop.reqCount = reqCount + + return prop +} + +// A global registry of enum types. +// The generated code will register the generated maps by calling RegisterEnum. + +var enumValueMaps = make(map[string]map[string]int32) + +// RegisterEnum is called from the generated code to install the enum descriptor +// maps into the global table to aid parsing text format protocol buffers. +func RegisterEnum(typeName string, unusedNameMap map[int32]string, valueMap map[string]int32) { + if _, ok := enumValueMaps[typeName]; ok { + panic("proto: duplicate enum registered: " + typeName) + } + enumValueMaps[typeName] = valueMap +} + +// EnumValueMap returns the mapping from names to integers of the +// enum type enumType, or a nil if not found. +func EnumValueMap(enumType string) map[string]int32 { + return enumValueMaps[enumType] +} + +// A registry of all linked message types. +// The string is a fully-qualified proto name ("pkg.Message"). +var ( + protoTypedNils = make(map[string]Message) // a map from proto names to typed nil pointers + protoMapTypes = make(map[string]reflect.Type) // a map from proto names to map types + revProtoTypes = make(map[reflect.Type]string) +) + +// RegisterType is called from generated code and maps from the fully qualified +// proto name to the type (pointer to struct) of the protocol buffer. +func RegisterType(x Message, name string) { + if _, ok := protoTypedNils[name]; ok { + // TODO: Some day, make this a panic. + log.Printf("proto: duplicate proto type registered: %s", name) + return + } + t := reflect.TypeOf(x) + if v := reflect.ValueOf(x); v.Kind() == reflect.Ptr && v.Pointer() == 0 { + // Generated code always calls RegisterType with nil x. + // This check is just for extra safety. + protoTypedNils[name] = x + } else { + protoTypedNils[name] = reflect.Zero(t).Interface().(Message) + } + revProtoTypes[t] = name +} + +// RegisterMapType is called from generated code and maps from the fully qualified +// proto name to the native map type of the proto map definition. +func RegisterMapType(x interface{}, name string) { + if reflect.TypeOf(x).Kind() != reflect.Map { + panic(fmt.Sprintf("RegisterMapType(%T, %q); want map", x, name)) + } + if _, ok := protoMapTypes[name]; ok { + log.Printf("proto: duplicate proto type registered: %s", name) + return + } + t := reflect.TypeOf(x) + protoMapTypes[name] = t + revProtoTypes[t] = name +} + +// MessageName returns the fully-qualified proto name for the given message type. +func MessageName(x Message) string { + type xname interface { + XXX_MessageName() string + } + if m, ok := x.(xname); ok { + return m.XXX_MessageName() + } + return revProtoTypes[reflect.TypeOf(x)] +} + +// MessageType returns the message type (pointer to struct) for a named message. +// The type is not guaranteed to implement proto.Message if the name refers to a +// map entry. +func MessageType(name string) reflect.Type { + if t, ok := protoTypedNils[name]; ok { + return reflect.TypeOf(t) + } + return protoMapTypes[name] +} + +// A registry of all linked proto files. +var ( + protoFiles = make(map[string][]byte) // file name => fileDescriptor +) + +// RegisterFile is called from generated code and maps from the +// full file name of a .proto file to its compressed FileDescriptorProto. +func RegisterFile(filename string, fileDescriptor []byte) { + protoFiles[filename] = fileDescriptor +} + +// FileDescriptor returns the compressed FileDescriptorProto for a .proto file. +func FileDescriptor(filename string) []byte { return protoFiles[filename] } diff --git a/vendor/github.com/golang/protobuf/proto/table_marshal.go b/vendor/github.com/golang/protobuf/proto/table_marshal.go new file mode 100644 index 00000000..5cb11fa9 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/table_marshal.go @@ -0,0 +1,2776 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "errors" + "fmt" + "math" + "reflect" + "sort" + "strconv" + "strings" + "sync" + "sync/atomic" + "unicode/utf8" +) + +// a sizer takes a pointer to a field and the size of its tag, computes the size of +// the encoded data. +type sizer func(pointer, int) int + +// a marshaler takes a byte slice, a pointer to a field, and its tag (in wire format), +// marshals the field to the end of the slice, returns the slice and error (if any). +type marshaler func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) + +// marshalInfo is the information used for marshaling a message. +type marshalInfo struct { + typ reflect.Type + fields []*marshalFieldInfo + unrecognized field // offset of XXX_unrecognized + extensions field // offset of XXX_InternalExtensions + v1extensions field // offset of XXX_extensions + sizecache field // offset of XXX_sizecache + initialized int32 // 0 -- only typ is set, 1 -- fully initialized + messageset bool // uses message set wire format + hasmarshaler bool // has custom marshaler + sync.RWMutex // protect extElems map, also for initialization + extElems map[int32]*marshalElemInfo // info of extension elements +} + +// marshalFieldInfo is the information used for marshaling a field of a message. +type marshalFieldInfo struct { + field field + wiretag uint64 // tag in wire format + tagsize int // size of tag in wire format + sizer sizer + marshaler marshaler + isPointer bool + required bool // field is required + name string // name of the field, for error reporting + oneofElems map[reflect.Type]*marshalElemInfo // info of oneof elements +} + +// marshalElemInfo is the information used for marshaling an extension or oneof element. +type marshalElemInfo struct { + wiretag uint64 // tag in wire format + tagsize int // size of tag in wire format + sizer sizer + marshaler marshaler + isptr bool // elem is pointer typed, thus interface of this type is a direct interface (extension only) + deref bool // dereference the pointer before operating on it; implies isptr +} + +var ( + marshalInfoMap = map[reflect.Type]*marshalInfo{} + marshalInfoLock sync.Mutex +) + +// getMarshalInfo returns the information to marshal a given type of message. +// The info it returns may not necessarily initialized. +// t is the type of the message (NOT the pointer to it). +func getMarshalInfo(t reflect.Type) *marshalInfo { + marshalInfoLock.Lock() + u, ok := marshalInfoMap[t] + if !ok { + u = &marshalInfo{typ: t} + marshalInfoMap[t] = u + } + marshalInfoLock.Unlock() + return u +} + +// Size is the entry point from generated code, +// and should be ONLY called by generated code. +// It computes the size of encoded data of msg. +// a is a pointer to a place to store cached marshal info. +func (a *InternalMessageInfo) Size(msg Message) int { + u := getMessageMarshalInfo(msg, a) + ptr := toPointer(&msg) + if ptr.isNil() { + // We get here if msg is a typed nil ((*SomeMessage)(nil)), + // so it satisfies the interface, and msg == nil wouldn't + // catch it. We don't want crash in this case. + return 0 + } + return u.size(ptr) +} + +// Marshal is the entry point from generated code, +// and should be ONLY called by generated code. +// It marshals msg to the end of b. +// a is a pointer to a place to store cached marshal info. +func (a *InternalMessageInfo) Marshal(b []byte, msg Message, deterministic bool) ([]byte, error) { + u := getMessageMarshalInfo(msg, a) + ptr := toPointer(&msg) + if ptr.isNil() { + // We get here if msg is a typed nil ((*SomeMessage)(nil)), + // so it satisfies the interface, and msg == nil wouldn't + // catch it. We don't want crash in this case. + return b, ErrNil + } + return u.marshal(b, ptr, deterministic) +} + +func getMessageMarshalInfo(msg interface{}, a *InternalMessageInfo) *marshalInfo { + // u := a.marshal, but atomically. + // We use an atomic here to ensure memory consistency. + u := atomicLoadMarshalInfo(&a.marshal) + if u == nil { + // Get marshal information from type of message. + t := reflect.ValueOf(msg).Type() + if t.Kind() != reflect.Ptr { + panic(fmt.Sprintf("cannot handle non-pointer message type %v", t)) + } + u = getMarshalInfo(t.Elem()) + // Store it in the cache for later users. + // a.marshal = u, but atomically. + atomicStoreMarshalInfo(&a.marshal, u) + } + return u +} + +// size is the main function to compute the size of the encoded data of a message. +// ptr is the pointer to the message. +func (u *marshalInfo) size(ptr pointer) int { + if atomic.LoadInt32(&u.initialized) == 0 { + u.computeMarshalInfo() + } + + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + if u.hasmarshaler { + m := ptr.asPointerTo(u.typ).Interface().(Marshaler) + b, _ := m.Marshal() + return len(b) + } + + n := 0 + for _, f := range u.fields { + if f.isPointer && ptr.offset(f.field).getPointer().isNil() { + // nil pointer always marshals to nothing + continue + } + n += f.sizer(ptr.offset(f.field), f.tagsize) + } + if u.extensions.IsValid() { + e := ptr.offset(u.extensions).toExtensions() + if u.messageset { + n += u.sizeMessageSet(e) + } else { + n += u.sizeExtensions(e) + } + } + if u.v1extensions.IsValid() { + m := *ptr.offset(u.v1extensions).toOldExtensions() + n += u.sizeV1Extensions(m) + } + if u.unrecognized.IsValid() { + s := *ptr.offset(u.unrecognized).toBytes() + n += len(s) + } + // cache the result for use in marshal + if u.sizecache.IsValid() { + atomic.StoreInt32(ptr.offset(u.sizecache).toInt32(), int32(n)) + } + return n +} + +// cachedsize gets the size from cache. If there is no cache (i.e. message is not generated), +// fall back to compute the size. +func (u *marshalInfo) cachedsize(ptr pointer) int { + if u.sizecache.IsValid() { + return int(atomic.LoadInt32(ptr.offset(u.sizecache).toInt32())) + } + return u.size(ptr) +} + +// marshal is the main function to marshal a message. It takes a byte slice and appends +// the encoded data to the end of the slice, returns the slice and error (if any). +// ptr is the pointer to the message. +// If deterministic is true, map is marshaled in deterministic order. +func (u *marshalInfo) marshal(b []byte, ptr pointer, deterministic bool) ([]byte, error) { + if atomic.LoadInt32(&u.initialized) == 0 { + u.computeMarshalInfo() + } + + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + if u.hasmarshaler { + m := ptr.asPointerTo(u.typ).Interface().(Marshaler) + b1, err := m.Marshal() + b = append(b, b1...) + return b, err + } + + var err, errLater error + // The old marshaler encodes extensions at beginning. + if u.extensions.IsValid() { + e := ptr.offset(u.extensions).toExtensions() + if u.messageset { + b, err = u.appendMessageSet(b, e, deterministic) + } else { + b, err = u.appendExtensions(b, e, deterministic) + } + if err != nil { + return b, err + } + } + if u.v1extensions.IsValid() { + m := *ptr.offset(u.v1extensions).toOldExtensions() + b, err = u.appendV1Extensions(b, m, deterministic) + if err != nil { + return b, err + } + } + for _, f := range u.fields { + if f.required { + if ptr.offset(f.field).getPointer().isNil() { + // Required field is not set. + // We record the error but keep going, to give a complete marshaling. + if errLater == nil { + errLater = &RequiredNotSetError{f.name} + } + continue + } + } + if f.isPointer && ptr.offset(f.field).getPointer().isNil() { + // nil pointer always marshals to nothing + continue + } + b, err = f.marshaler(b, ptr.offset(f.field), f.wiretag, deterministic) + if err != nil { + if err1, ok := err.(*RequiredNotSetError); ok { + // Required field in submessage is not set. + // We record the error but keep going, to give a complete marshaling. + if errLater == nil { + errLater = &RequiredNotSetError{f.name + "." + err1.field} + } + continue + } + if err == errRepeatedHasNil { + err = errors.New("proto: repeated field " + f.name + " has nil element") + } + if err == errInvalidUTF8 { + if errLater == nil { + fullName := revProtoTypes[reflect.PtrTo(u.typ)] + "." + f.name + errLater = &invalidUTF8Error{fullName} + } + continue + } + return b, err + } + } + if u.unrecognized.IsValid() { + s := *ptr.offset(u.unrecognized).toBytes() + b = append(b, s...) + } + return b, errLater +} + +// computeMarshalInfo initializes the marshal info. +func (u *marshalInfo) computeMarshalInfo() { + u.Lock() + defer u.Unlock() + if u.initialized != 0 { // non-atomic read is ok as it is protected by the lock + return + } + + t := u.typ + u.unrecognized = invalidField + u.extensions = invalidField + u.v1extensions = invalidField + u.sizecache = invalidField + + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + if reflect.PtrTo(t).Implements(marshalerType) { + u.hasmarshaler = true + atomic.StoreInt32(&u.initialized, 1) + return + } + + // get oneof implementers + var oneofImplementers []interface{} + switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) { + case oneofFuncsIface: + _, _, _, oneofImplementers = m.XXX_OneofFuncs() + case oneofWrappersIface: + oneofImplementers = m.XXX_OneofWrappers() + } + + n := t.NumField() + + // deal with XXX fields first + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + if !strings.HasPrefix(f.Name, "XXX_") { + continue + } + switch f.Name { + case "XXX_sizecache": + u.sizecache = toField(&f) + case "XXX_unrecognized": + u.unrecognized = toField(&f) + case "XXX_InternalExtensions": + u.extensions = toField(&f) + u.messageset = f.Tag.Get("protobuf_messageset") == "1" + case "XXX_extensions": + u.v1extensions = toField(&f) + case "XXX_NoUnkeyedLiteral": + // nothing to do + default: + panic("unknown XXX field: " + f.Name) + } + n-- + } + + // normal fields + fields := make([]marshalFieldInfo, n) // batch allocation + u.fields = make([]*marshalFieldInfo, 0, n) + for i, j := 0, 0; i < t.NumField(); i++ { + f := t.Field(i) + + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + field := &fields[j] + j++ + field.name = f.Name + u.fields = append(u.fields, field) + if f.Tag.Get("protobuf_oneof") != "" { + field.computeOneofFieldInfo(&f, oneofImplementers) + continue + } + if f.Tag.Get("protobuf") == "" { + // field has no tag (not in generated message), ignore it + u.fields = u.fields[:len(u.fields)-1] + j-- + continue + } + field.computeMarshalFieldInfo(&f) + } + + // fields are marshaled in tag order on the wire. + sort.Sort(byTag(u.fields)) + + atomic.StoreInt32(&u.initialized, 1) +} + +// helper for sorting fields by tag +type byTag []*marshalFieldInfo + +func (a byTag) Len() int { return len(a) } +func (a byTag) Swap(i, j int) { a[i], a[j] = a[j], a[i] } +func (a byTag) Less(i, j int) bool { return a[i].wiretag < a[j].wiretag } + +// getExtElemInfo returns the information to marshal an extension element. +// The info it returns is initialized. +func (u *marshalInfo) getExtElemInfo(desc *ExtensionDesc) *marshalElemInfo { + // get from cache first + u.RLock() + e, ok := u.extElems[desc.Field] + u.RUnlock() + if ok { + return e + } + + t := reflect.TypeOf(desc.ExtensionType) // pointer or slice to basic type or struct + tags := strings.Split(desc.Tag, ",") + tag, err := strconv.Atoi(tags[1]) + if err != nil { + panic("tag is not an integer") + } + wt := wiretype(tags[0]) + if t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct { + t = t.Elem() + } + sizer, marshaler := typeMarshaler(t, tags, false, false) + var deref bool + if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 { + t = reflect.PtrTo(t) + deref = true + } + e = &marshalElemInfo{ + wiretag: uint64(tag)<<3 | wt, + tagsize: SizeVarint(uint64(tag) << 3), + sizer: sizer, + marshaler: marshaler, + isptr: t.Kind() == reflect.Ptr, + deref: deref, + } + + // update cache + u.Lock() + if u.extElems == nil { + u.extElems = make(map[int32]*marshalElemInfo) + } + u.extElems[desc.Field] = e + u.Unlock() + return e +} + +// computeMarshalFieldInfo fills up the information to marshal a field. +func (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) { + // parse protobuf tag of the field. + // tag has format of "bytes,49,opt,name=foo,def=hello!" + tags := strings.Split(f.Tag.Get("protobuf"), ",") + if tags[0] == "" { + return + } + tag, err := strconv.Atoi(tags[1]) + if err != nil { + panic("tag is not an integer") + } + wt := wiretype(tags[0]) + if tags[2] == "req" { + fi.required = true + } + fi.setTag(f, tag, wt) + fi.setMarshaler(f, tags) +} + +func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) { + fi.field = toField(f) + fi.wiretag = math.MaxInt32 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire. + fi.isPointer = true + fi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f) + fi.oneofElems = make(map[reflect.Type]*marshalElemInfo) + + ityp := f.Type // interface type + for _, o := range oneofImplementers { + t := reflect.TypeOf(o) + if !t.Implements(ityp) { + continue + } + sf := t.Elem().Field(0) // oneof implementer is a struct with a single field + tags := strings.Split(sf.Tag.Get("protobuf"), ",") + tag, err := strconv.Atoi(tags[1]) + if err != nil { + panic("tag is not an integer") + } + wt := wiretype(tags[0]) + sizer, marshaler := typeMarshaler(sf.Type, tags, false, true) // oneof should not omit any zero value + fi.oneofElems[t.Elem()] = &marshalElemInfo{ + wiretag: uint64(tag)<<3 | wt, + tagsize: SizeVarint(uint64(tag) << 3), + sizer: sizer, + marshaler: marshaler, + } + } +} + +// wiretype returns the wire encoding of the type. +func wiretype(encoding string) uint64 { + switch encoding { + case "fixed32": + return WireFixed32 + case "fixed64": + return WireFixed64 + case "varint", "zigzag32", "zigzag64": + return WireVarint + case "bytes": + return WireBytes + case "group": + return WireStartGroup + } + panic("unknown wire type " + encoding) +} + +// setTag fills up the tag (in wire format) and its size in the info of a field. +func (fi *marshalFieldInfo) setTag(f *reflect.StructField, tag int, wt uint64) { + fi.field = toField(f) + fi.wiretag = uint64(tag)<<3 | wt + fi.tagsize = SizeVarint(uint64(tag) << 3) +} + +// setMarshaler fills up the sizer and marshaler in the info of a field. +func (fi *marshalFieldInfo) setMarshaler(f *reflect.StructField, tags []string) { + switch f.Type.Kind() { + case reflect.Map: + // map field + fi.isPointer = true + fi.sizer, fi.marshaler = makeMapMarshaler(f) + return + case reflect.Ptr, reflect.Slice: + fi.isPointer = true + } + fi.sizer, fi.marshaler = typeMarshaler(f.Type, tags, true, false) +} + +// typeMarshaler returns the sizer and marshaler of a given field. +// t is the type of the field. +// tags is the generated "protobuf" tag of the field. +// If nozero is true, zero value is not marshaled to the wire. +// If oneof is true, it is a oneof field. +func typeMarshaler(t reflect.Type, tags []string, nozero, oneof bool) (sizer, marshaler) { + encoding := tags[0] + + pointer := false + slice := false + if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 { + slice = true + t = t.Elem() + } + if t.Kind() == reflect.Ptr { + pointer = true + t = t.Elem() + } + + packed := false + proto3 := false + validateUTF8 := true + for i := 2; i < len(tags); i++ { + if tags[i] == "packed" { + packed = true + } + if tags[i] == "proto3" { + proto3 = true + } + } + validateUTF8 = validateUTF8 && proto3 + + switch t.Kind() { + case reflect.Bool: + if pointer { + return sizeBoolPtr, appendBoolPtr + } + if slice { + if packed { + return sizeBoolPackedSlice, appendBoolPackedSlice + } + return sizeBoolSlice, appendBoolSlice + } + if nozero { + return sizeBoolValueNoZero, appendBoolValueNoZero + } + return sizeBoolValue, appendBoolValue + case reflect.Uint32: + switch encoding { + case "fixed32": + if pointer { + return sizeFixed32Ptr, appendFixed32Ptr + } + if slice { + if packed { + return sizeFixed32PackedSlice, appendFixed32PackedSlice + } + return sizeFixed32Slice, appendFixed32Slice + } + if nozero { + return sizeFixed32ValueNoZero, appendFixed32ValueNoZero + } + return sizeFixed32Value, appendFixed32Value + case "varint": + if pointer { + return sizeVarint32Ptr, appendVarint32Ptr + } + if slice { + if packed { + return sizeVarint32PackedSlice, appendVarint32PackedSlice + } + return sizeVarint32Slice, appendVarint32Slice + } + if nozero { + return sizeVarint32ValueNoZero, appendVarint32ValueNoZero + } + return sizeVarint32Value, appendVarint32Value + } + case reflect.Int32: + switch encoding { + case "fixed32": + if pointer { + return sizeFixedS32Ptr, appendFixedS32Ptr + } + if slice { + if packed { + return sizeFixedS32PackedSlice, appendFixedS32PackedSlice + } + return sizeFixedS32Slice, appendFixedS32Slice + } + if nozero { + return sizeFixedS32ValueNoZero, appendFixedS32ValueNoZero + } + return sizeFixedS32Value, appendFixedS32Value + case "varint": + if pointer { + return sizeVarintS32Ptr, appendVarintS32Ptr + } + if slice { + if packed { + return sizeVarintS32PackedSlice, appendVarintS32PackedSlice + } + return sizeVarintS32Slice, appendVarintS32Slice + } + if nozero { + return sizeVarintS32ValueNoZero, appendVarintS32ValueNoZero + } + return sizeVarintS32Value, appendVarintS32Value + case "zigzag32": + if pointer { + return sizeZigzag32Ptr, appendZigzag32Ptr + } + if slice { + if packed { + return sizeZigzag32PackedSlice, appendZigzag32PackedSlice + } + return sizeZigzag32Slice, appendZigzag32Slice + } + if nozero { + return sizeZigzag32ValueNoZero, appendZigzag32ValueNoZero + } + return sizeZigzag32Value, appendZigzag32Value + } + case reflect.Uint64: + switch encoding { + case "fixed64": + if pointer { + return sizeFixed64Ptr, appendFixed64Ptr + } + if slice { + if packed { + return sizeFixed64PackedSlice, appendFixed64PackedSlice + } + return sizeFixed64Slice, appendFixed64Slice + } + if nozero { + return sizeFixed64ValueNoZero, appendFixed64ValueNoZero + } + return sizeFixed64Value, appendFixed64Value + case "varint": + if pointer { + return sizeVarint64Ptr, appendVarint64Ptr + } + if slice { + if packed { + return sizeVarint64PackedSlice, appendVarint64PackedSlice + } + return sizeVarint64Slice, appendVarint64Slice + } + if nozero { + return sizeVarint64ValueNoZero, appendVarint64ValueNoZero + } + return sizeVarint64Value, appendVarint64Value + } + case reflect.Int64: + switch encoding { + case "fixed64": + if pointer { + return sizeFixedS64Ptr, appendFixedS64Ptr + } + if slice { + if packed { + return sizeFixedS64PackedSlice, appendFixedS64PackedSlice + } + return sizeFixedS64Slice, appendFixedS64Slice + } + if nozero { + return sizeFixedS64ValueNoZero, appendFixedS64ValueNoZero + } + return sizeFixedS64Value, appendFixedS64Value + case "varint": + if pointer { + return sizeVarintS64Ptr, appendVarintS64Ptr + } + if slice { + if packed { + return sizeVarintS64PackedSlice, appendVarintS64PackedSlice + } + return sizeVarintS64Slice, appendVarintS64Slice + } + if nozero { + return sizeVarintS64ValueNoZero, appendVarintS64ValueNoZero + } + return sizeVarintS64Value, appendVarintS64Value + case "zigzag64": + if pointer { + return sizeZigzag64Ptr, appendZigzag64Ptr + } + if slice { + if packed { + return sizeZigzag64PackedSlice, appendZigzag64PackedSlice + } + return sizeZigzag64Slice, appendZigzag64Slice + } + if nozero { + return sizeZigzag64ValueNoZero, appendZigzag64ValueNoZero + } + return sizeZigzag64Value, appendZigzag64Value + } + case reflect.Float32: + if pointer { + return sizeFloat32Ptr, appendFloat32Ptr + } + if slice { + if packed { + return sizeFloat32PackedSlice, appendFloat32PackedSlice + } + return sizeFloat32Slice, appendFloat32Slice + } + if nozero { + return sizeFloat32ValueNoZero, appendFloat32ValueNoZero + } + return sizeFloat32Value, appendFloat32Value + case reflect.Float64: + if pointer { + return sizeFloat64Ptr, appendFloat64Ptr + } + if slice { + if packed { + return sizeFloat64PackedSlice, appendFloat64PackedSlice + } + return sizeFloat64Slice, appendFloat64Slice + } + if nozero { + return sizeFloat64ValueNoZero, appendFloat64ValueNoZero + } + return sizeFloat64Value, appendFloat64Value + case reflect.String: + if validateUTF8 { + if pointer { + return sizeStringPtr, appendUTF8StringPtr + } + if slice { + return sizeStringSlice, appendUTF8StringSlice + } + if nozero { + return sizeStringValueNoZero, appendUTF8StringValueNoZero + } + return sizeStringValue, appendUTF8StringValue + } + if pointer { + return sizeStringPtr, appendStringPtr + } + if slice { + return sizeStringSlice, appendStringSlice + } + if nozero { + return sizeStringValueNoZero, appendStringValueNoZero + } + return sizeStringValue, appendStringValue + case reflect.Slice: + if slice { + return sizeBytesSlice, appendBytesSlice + } + if oneof { + // Oneof bytes field may also have "proto3" tag. + // We want to marshal it as a oneof field. Do this + // check before the proto3 check. + return sizeBytesOneof, appendBytesOneof + } + if proto3 { + return sizeBytes3, appendBytes3 + } + return sizeBytes, appendBytes + case reflect.Struct: + switch encoding { + case "group": + if slice { + return makeGroupSliceMarshaler(getMarshalInfo(t)) + } + return makeGroupMarshaler(getMarshalInfo(t)) + case "bytes": + if slice { + return makeMessageSliceMarshaler(getMarshalInfo(t)) + } + return makeMessageMarshaler(getMarshalInfo(t)) + } + } + panic(fmt.Sprintf("unknown or mismatched type: type: %v, wire type: %v", t, encoding)) +} + +// Below are functions to size/marshal a specific type of a field. +// They are stored in the field's info, and called by function pointers. +// They have type sizer or marshaler. + +func sizeFixed32Value(_ pointer, tagsize int) int { + return 4 + tagsize +} +func sizeFixed32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint32() + if v == 0 { + return 0 + } + return 4 + tagsize +} +func sizeFixed32Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint32Ptr() + if p == nil { + return 0 + } + return 4 + tagsize +} +func sizeFixed32Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + return (4 + tagsize) * len(s) +} +func sizeFixed32PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return 0 + } + return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize +} +func sizeFixedS32Value(_ pointer, tagsize int) int { + return 4 + tagsize +} +func sizeFixedS32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + if v == 0 { + return 0 + } + return 4 + tagsize +} +func sizeFixedS32Ptr(ptr pointer, tagsize int) int { + p := ptr.getInt32Ptr() + if p == nil { + return 0 + } + return 4 + tagsize +} +func sizeFixedS32Slice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + return (4 + tagsize) * len(s) +} +func sizeFixedS32PackedSlice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + if len(s) == 0 { + return 0 + } + return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize +} +func sizeFloat32Value(_ pointer, tagsize int) int { + return 4 + tagsize +} +func sizeFloat32ValueNoZero(ptr pointer, tagsize int) int { + v := math.Float32bits(*ptr.toFloat32()) + if v == 0 { + return 0 + } + return 4 + tagsize +} +func sizeFloat32Ptr(ptr pointer, tagsize int) int { + p := *ptr.toFloat32Ptr() + if p == nil { + return 0 + } + return 4 + tagsize +} +func sizeFloat32Slice(ptr pointer, tagsize int) int { + s := *ptr.toFloat32Slice() + return (4 + tagsize) * len(s) +} +func sizeFloat32PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toFloat32Slice() + if len(s) == 0 { + return 0 + } + return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize +} +func sizeFixed64Value(_ pointer, tagsize int) int { + return 8 + tagsize +} +func sizeFixed64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint64() + if v == 0 { + return 0 + } + return 8 + tagsize +} +func sizeFixed64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint64Ptr() + if p == nil { + return 0 + } + return 8 + tagsize +} +func sizeFixed64Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + return (8 + tagsize) * len(s) +} +func sizeFixed64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return 0 + } + return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize +} +func sizeFixedS64Value(_ pointer, tagsize int) int { + return 8 + tagsize +} +func sizeFixedS64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + if v == 0 { + return 0 + } + return 8 + tagsize +} +func sizeFixedS64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toInt64Ptr() + if p == nil { + return 0 + } + return 8 + tagsize +} +func sizeFixedS64Slice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + return (8 + tagsize) * len(s) +} +func sizeFixedS64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return 0 + } + return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize +} +func sizeFloat64Value(_ pointer, tagsize int) int { + return 8 + tagsize +} +func sizeFloat64ValueNoZero(ptr pointer, tagsize int) int { + v := math.Float64bits(*ptr.toFloat64()) + if v == 0 { + return 0 + } + return 8 + tagsize +} +func sizeFloat64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toFloat64Ptr() + if p == nil { + return 0 + } + return 8 + tagsize +} +func sizeFloat64Slice(ptr pointer, tagsize int) int { + s := *ptr.toFloat64Slice() + return (8 + tagsize) * len(s) +} +func sizeFloat64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toFloat64Slice() + if len(s) == 0 { + return 0 + } + return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize +} +func sizeVarint32Value(ptr pointer, tagsize int) int { + v := *ptr.toUint32() + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarint32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint32() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarint32Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint32Ptr() + if p == nil { + return 0 + } + return SizeVarint(uint64(*p)) + tagsize +} +func sizeVarint32Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + tagsize + } + return n +} +func sizeVarint32PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeVarintS32Value(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS32Ptr(ptr pointer, tagsize int) int { + p := ptr.getInt32Ptr() + if p == nil { + return 0 + } + return SizeVarint(uint64(*p)) + tagsize +} +func sizeVarintS32Slice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + tagsize + } + return n +} +func sizeVarintS32PackedSlice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeVarint64Value(ptr pointer, tagsize int) int { + v := *ptr.toUint64() + return SizeVarint(v) + tagsize +} +func sizeVarint64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint64() + if v == 0 { + return 0 + } + return SizeVarint(v) + tagsize +} +func sizeVarint64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint64Ptr() + if p == nil { + return 0 + } + return SizeVarint(*p) + tagsize +} +func sizeVarint64Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + n := 0 + for _, v := range s { + n += SizeVarint(v) + tagsize + } + return n +} +func sizeVarint64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(v) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeVarintS64Value(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toInt64Ptr() + if p == nil { + return 0 + } + return SizeVarint(uint64(*p)) + tagsize +} +func sizeVarintS64Slice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + tagsize + } + return n +} +func sizeVarintS64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeZigzag32Value(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize +} +func sizeZigzag32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + if v == 0 { + return 0 + } + return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize +} +func sizeZigzag32Ptr(ptr pointer, tagsize int) int { + p := ptr.getInt32Ptr() + if p == nil { + return 0 + } + v := *p + return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize +} +func sizeZigzag32Slice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize + } + return n +} +func sizeZigzag32PackedSlice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31)))) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeZigzag64Value(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize +} +func sizeZigzag64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize +} +func sizeZigzag64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toInt64Ptr() + if p == nil { + return 0 + } + v := *p + return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize +} +func sizeZigzag64Slice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize + } + return n +} +func sizeZigzag64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63))) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeBoolValue(_ pointer, tagsize int) int { + return 1 + tagsize +} +func sizeBoolValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toBool() + if !v { + return 0 + } + return 1 + tagsize +} +func sizeBoolPtr(ptr pointer, tagsize int) int { + p := *ptr.toBoolPtr() + if p == nil { + return 0 + } + return 1 + tagsize +} +func sizeBoolSlice(ptr pointer, tagsize int) int { + s := *ptr.toBoolSlice() + return (1 + tagsize) * len(s) +} +func sizeBoolPackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toBoolSlice() + if len(s) == 0 { + return 0 + } + return len(s) + SizeVarint(uint64(len(s))) + tagsize +} +func sizeStringValue(ptr pointer, tagsize int) int { + v := *ptr.toString() + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeStringValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toString() + if v == "" { + return 0 + } + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeStringPtr(ptr pointer, tagsize int) int { + p := *ptr.toStringPtr() + if p == nil { + return 0 + } + v := *p + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeStringSlice(ptr pointer, tagsize int) int { + s := *ptr.toStringSlice() + n := 0 + for _, v := range s { + n += len(v) + SizeVarint(uint64(len(v))) + tagsize + } + return n +} +func sizeBytes(ptr pointer, tagsize int) int { + v := *ptr.toBytes() + if v == nil { + return 0 + } + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeBytes3(ptr pointer, tagsize int) int { + v := *ptr.toBytes() + if len(v) == 0 { + return 0 + } + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeBytesOneof(ptr pointer, tagsize int) int { + v := *ptr.toBytes() + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeBytesSlice(ptr pointer, tagsize int) int { + s := *ptr.toBytesSlice() + n := 0 + for _, v := range s { + n += len(v) + SizeVarint(uint64(len(v))) + tagsize + } + return n +} + +// appendFixed32 appends an encoded fixed32 to b. +func appendFixed32(b []byte, v uint32) []byte { + b = append(b, + byte(v), + byte(v>>8), + byte(v>>16), + byte(v>>24)) + return b +} + +// appendFixed64 appends an encoded fixed64 to b. +func appendFixed64(b []byte, v uint64) []byte { + b = append(b, + byte(v), + byte(v>>8), + byte(v>>16), + byte(v>>24), + byte(v>>32), + byte(v>>40), + byte(v>>48), + byte(v>>56)) + return b +} + +// appendVarint appends an encoded varint to b. +func appendVarint(b []byte, v uint64) []byte { + // TODO: make 1-byte (maybe 2-byte) case inline-able, once we + // have non-leaf inliner. + switch { + case v < 1<<7: + b = append(b, byte(v)) + case v < 1<<14: + b = append(b, + byte(v&0x7f|0x80), + byte(v>>7)) + case v < 1<<21: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte(v>>14)) + case v < 1<<28: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte(v>>21)) + case v < 1<<35: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte(v>>28)) + case v < 1<<42: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte(v>>35)) + case v < 1<<49: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte(v>>42)) + case v < 1<<56: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte(v>>49)) + case v < 1<<63: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte(v>>56)) + default: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte((v>>56)&0x7f|0x80), + 1) + } + return b +} + +func appendFixed32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFixed32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFixed32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, *p) + return b, nil +} +func appendFixed32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + } + return b, nil +} +func appendFixed32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(4*len(s))) + for _, v := range s { + b = appendFixed32(b, v) + } + return b, nil +} +func appendFixedS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(v)) + return b, nil +} +func appendFixedS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(v)) + return b, nil +} +func appendFixedS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := ptr.getInt32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(*p)) + return b, nil +} +func appendFixedS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(v)) + } + return b, nil +} +func appendFixedS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(4*len(s))) + for _, v := range s { + b = appendFixed32(b, uint32(v)) + } + return b, nil +} +func appendFloat32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float32bits(*ptr.toFloat32()) + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFloat32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float32bits(*ptr.toFloat32()) + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFloat32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toFloat32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, math.Float32bits(*p)) + return b, nil +} +func appendFloat32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed32(b, math.Float32bits(v)) + } + return b, nil +} +func appendFloat32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(4*len(s))) + for _, v := range s { + b = appendFixed32(b, math.Float32bits(v)) + } + return b, nil +} +func appendFixed64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFixed64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFixed64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, *p) + return b, nil +} +func appendFixed64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + } + return b, nil +} +func appendFixed64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(8*len(s))) + for _, v := range s { + b = appendFixed64(b, v) + } + return b, nil +} +func appendFixedS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(v)) + return b, nil +} +func appendFixedS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(v)) + return b, nil +} +func appendFixedS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toInt64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(*p)) + return b, nil +} +func appendFixedS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(v)) + } + return b, nil +} +func appendFixedS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(8*len(s))) + for _, v := range s { + b = appendFixed64(b, uint64(v)) + } + return b, nil +} +func appendFloat64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float64bits(*ptr.toFloat64()) + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFloat64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float64bits(*ptr.toFloat64()) + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFloat64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toFloat64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, math.Float64bits(*p)) + return b, nil +} +func appendFloat64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed64(b, math.Float64bits(v)) + } + return b, nil +} +func appendFloat64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(8*len(s))) + for _, v := range s { + b = appendFixed64(b, math.Float64bits(v)) + } + return b, nil +} +func appendVarint32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarint32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarint32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(*p)) + return b, nil +} +func appendVarint32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarint32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarintS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := ptr.getInt32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(*p)) + return b, nil +} +func appendVarintS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarintS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarint64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + b = appendVarint(b, wiretag) + b = appendVarint(b, v) + return b, nil +} +func appendVarint64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, v) + return b, nil +} +func appendVarint64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, *p) + return b, nil +} +func appendVarint64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, v) + } + return b, nil +} +func appendVarint64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(v) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, v) + } + return b, nil +} +func appendVarintS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toInt64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(*p)) + return b, nil +} +func appendVarintS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarintS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendZigzag32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + return b, nil +} +func appendZigzag32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + return b, nil +} +func appendZigzag32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := ptr.getInt32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + v := *p + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + return b, nil +} +func appendZigzag32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + } + return b, nil +} +func appendZigzag32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31)))) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + } + return b, nil +} +func appendZigzag64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + return b, nil +} +func appendZigzag64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + return b, nil +} +func appendZigzag64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toInt64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + v := *p + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + return b, nil +} +func appendZigzag64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + } + return b, nil +} +func appendZigzag64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63))) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + } + return b, nil +} +func appendBoolValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBool() + b = appendVarint(b, wiretag) + if v { + b = append(b, 1) + } else { + b = append(b, 0) + } + return b, nil +} +func appendBoolValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBool() + if !v { + return b, nil + } + b = appendVarint(b, wiretag) + b = append(b, 1) + return b, nil +} + +func appendBoolPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toBoolPtr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + if *p { + b = append(b, 1) + } else { + b = append(b, 0) + } + return b, nil +} +func appendBoolSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toBoolSlice() + for _, v := range s { + b = appendVarint(b, wiretag) + if v { + b = append(b, 1) + } else { + b = append(b, 0) + } + } + return b, nil +} +func appendBoolPackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toBoolSlice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(len(s))) + for _, v := range s { + if v { + b = append(b, 1) + } else { + b = append(b, 0) + } + } + return b, nil +} +func appendStringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toString() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendStringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toString() + if v == "" { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendStringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toStringPtr() + if p == nil { + return b, nil + } + v := *p + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendStringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toStringSlice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + } + return b, nil +} +func appendUTF8StringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + v := *ptr.toString() + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendUTF8StringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + v := *ptr.toString() + if v == "" { + return b, nil + } + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendUTF8StringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + p := *ptr.toStringPtr() + if p == nil { + return b, nil + } + v := *p + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendUTF8StringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + s := *ptr.toStringSlice() + for _, v := range s { + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + } + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendBytes(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBytes() + if v == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendBytes3(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBytes() + if len(v) == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendBytesOneof(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBytes() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendBytesSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toBytesSlice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + } + return b, nil +} + +// makeGroupMarshaler returns the sizer and marshaler for a group. +// u is the marshal info of the underlying message. +func makeGroupMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + p := ptr.getPointer() + if p.isNil() { + return 0 + } + return u.size(p) + 2*tagsize + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + p := ptr.getPointer() + if p.isNil() { + return b, nil + } + var err error + b = appendVarint(b, wiretag) // start group + b, err = u.marshal(b, p, deterministic) + b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group + return b, err + } +} + +// makeGroupSliceMarshaler returns the sizer and marshaler for a group slice. +// u is the marshal info of the underlying message. +func makeGroupSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getPointerSlice() + n := 0 + for _, v := range s { + if v.isNil() { + continue + } + n += u.size(v) + 2*tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getPointerSlice() + var err error + var nerr nonFatal + for _, v := range s { + if v.isNil() { + return b, errRepeatedHasNil + } + b = appendVarint(b, wiretag) // start group + b, err = u.marshal(b, v, deterministic) + b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group + if !nerr.Merge(err) { + if err == ErrNil { + err = errRepeatedHasNil + } + return b, err + } + } + return b, nerr.E + } +} + +// makeMessageMarshaler returns the sizer and marshaler for a message field. +// u is the marshal info of the message. +func makeMessageMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + p := ptr.getPointer() + if p.isNil() { + return 0 + } + siz := u.size(p) + return siz + SizeVarint(uint64(siz)) + tagsize + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + p := ptr.getPointer() + if p.isNil() { + return b, nil + } + b = appendVarint(b, wiretag) + siz := u.cachedsize(p) + b = appendVarint(b, uint64(siz)) + return u.marshal(b, p, deterministic) + } +} + +// makeMessageSliceMarshaler returns the sizer and marshaler for a message slice. +// u is the marshal info of the message. +func makeMessageSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getPointerSlice() + n := 0 + for _, v := range s { + if v.isNil() { + continue + } + siz := u.size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getPointerSlice() + var err error + var nerr nonFatal + for _, v := range s { + if v.isNil() { + return b, errRepeatedHasNil + } + b = appendVarint(b, wiretag) + siz := u.cachedsize(v) + b = appendVarint(b, uint64(siz)) + b, err = u.marshal(b, v, deterministic) + + if !nerr.Merge(err) { + if err == ErrNil { + err = errRepeatedHasNil + } + return b, err + } + } + return b, nerr.E + } +} + +// makeMapMarshaler returns the sizer and marshaler for a map field. +// f is the pointer to the reflect data structure of the field. +func makeMapMarshaler(f *reflect.StructField) (sizer, marshaler) { + // figure out key and value type + t := f.Type + keyType := t.Key() + valType := t.Elem() + keyTags := strings.Split(f.Tag.Get("protobuf_key"), ",") + valTags := strings.Split(f.Tag.Get("protobuf_val"), ",") + keySizer, keyMarshaler := typeMarshaler(keyType, keyTags, false, false) // don't omit zero value in map + valSizer, valMarshaler := typeMarshaler(valType, valTags, false, false) // don't omit zero value in map + keyWireTag := 1<<3 | wiretype(keyTags[0]) + valWireTag := 2<<3 | wiretype(valTags[0]) + + // We create an interface to get the addresses of the map key and value. + // If value is pointer-typed, the interface is a direct interface, the + // idata itself is the value. Otherwise, the idata is the pointer to the + // value. + // Key cannot be pointer-typed. + valIsPtr := valType.Kind() == reflect.Ptr + + // If value is a message with nested maps, calling + // valSizer in marshal may be quadratic. We should use + // cached version in marshal (but not in size). + // If value is not message type, we don't have size cache, + // but it cannot be nested either. Just use valSizer. + valCachedSizer := valSizer + if valIsPtr && valType.Elem().Kind() == reflect.Struct { + u := getMarshalInfo(valType.Elem()) + valCachedSizer = func(ptr pointer, tagsize int) int { + // Same as message sizer, but use cache. + p := ptr.getPointer() + if p.isNil() { + return 0 + } + siz := u.cachedsize(p) + return siz + SizeVarint(uint64(siz)) + tagsize + } + } + return func(ptr pointer, tagsize int) int { + m := ptr.asPointerTo(t).Elem() // the map + n := 0 + for _, k := range m.MapKeys() { + ki := k.Interface() + vi := m.MapIndex(k).Interface() + kaddr := toAddrPointer(&ki, false, false) // pointer to key + vaddr := toAddrPointer(&vi, valIsPtr, false) // pointer to value + siz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, tag uint64, deterministic bool) ([]byte, error) { + m := ptr.asPointerTo(t).Elem() // the map + var err error + keys := m.MapKeys() + if len(keys) > 1 && deterministic { + sort.Sort(mapKeys(keys)) + } + + var nerr nonFatal + for _, k := range keys { + ki := k.Interface() + vi := m.MapIndex(k).Interface() + kaddr := toAddrPointer(&ki, false, false) // pointer to key + vaddr := toAddrPointer(&vi, valIsPtr, false) // pointer to value + b = appendVarint(b, tag) + siz := keySizer(kaddr, 1) + valCachedSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1) + b = appendVarint(b, uint64(siz)) + b, err = keyMarshaler(b, kaddr, keyWireTag, deterministic) + if !nerr.Merge(err) { + return b, err + } + b, err = valMarshaler(b, vaddr, valWireTag, deterministic) + if err != ErrNil && !nerr.Merge(err) { // allow nil value in map + return b, err + } + } + return b, nerr.E + } +} + +// makeOneOfMarshaler returns the sizer and marshaler for a oneof field. +// fi is the marshal info of the field. +// f is the pointer to the reflect data structure of the field. +func makeOneOfMarshaler(fi *marshalFieldInfo, f *reflect.StructField) (sizer, marshaler) { + // Oneof field is an interface. We need to get the actual data type on the fly. + t := f.Type + return func(ptr pointer, _ int) int { + p := ptr.getInterfacePointer() + if p.isNil() { + return 0 + } + v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct + telem := v.Type() + e := fi.oneofElems[telem] + return e.sizer(p, e.tagsize) + }, + func(b []byte, ptr pointer, _ uint64, deterministic bool) ([]byte, error) { + p := ptr.getInterfacePointer() + if p.isNil() { + return b, nil + } + v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct + telem := v.Type() + if telem.Field(0).Type.Kind() == reflect.Ptr && p.getPointer().isNil() { + return b, errOneofHasNil + } + e := fi.oneofElems[telem] + return e.marshaler(b, p, e.wiretag, deterministic) + } +} + +// sizeExtensions computes the size of encoded data for a XXX_InternalExtensions field. +func (u *marshalInfo) sizeExtensions(ext *XXX_InternalExtensions) int { + m, mu := ext.extensionsRead() + if m == nil { + return 0 + } + mu.Lock() + + n := 0 + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + n += len(e.enc) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + n += ei.sizer(p, ei.tagsize) + } + mu.Unlock() + return n +} + +// appendExtensions marshals a XXX_InternalExtensions field to the end of byte slice b. +func (u *marshalInfo) appendExtensions(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) { + m, mu := ext.extensionsRead() + if m == nil { + return b, nil + } + mu.Lock() + defer mu.Unlock() + + var err error + var nerr nonFatal + + // Fast-path for common cases: zero or one extensions. + // Don't bother sorting the keys. + if len(m) <= 1 { + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + b = append(b, e.enc...) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, ei.wiretag, deterministic) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E + } + + // Sort the keys to provide a deterministic encoding. + // Not sure this is required, but the old code does it. + keys := make([]int, 0, len(m)) + for k := range m { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + for _, k := range keys { + e := m[int32(k)] + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + b = append(b, e.enc...) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, ei.wiretag, deterministic) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E +} + +// message set format is: +// message MessageSet { +// repeated group Item = 1 { +// required int32 type_id = 2; +// required string message = 3; +// }; +// } + +// sizeMessageSet computes the size of encoded data for a XXX_InternalExtensions field +// in message set format (above). +func (u *marshalInfo) sizeMessageSet(ext *XXX_InternalExtensions) int { + m, mu := ext.extensionsRead() + if m == nil { + return 0 + } + mu.Lock() + + n := 0 + for id, e := range m { + n += 2 // start group, end group. tag = 1 (size=1) + n += SizeVarint(uint64(id)) + 1 // type_id, tag = 2 (size=1) + + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint + siz := len(msgWithLen) + n += siz + 1 // message, tag = 3 (size=1) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + n += ei.sizer(p, 1) // message, tag = 3 (size=1) + } + mu.Unlock() + return n +} + +// appendMessageSet marshals a XXX_InternalExtensions field in message set format (above) +// to the end of byte slice b. +func (u *marshalInfo) appendMessageSet(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) { + m, mu := ext.extensionsRead() + if m == nil { + return b, nil + } + mu.Lock() + defer mu.Unlock() + + var err error + var nerr nonFatal + + // Fast-path for common cases: zero or one extensions. + // Don't bother sorting the keys. + if len(m) <= 1 { + for id, e := range m { + b = append(b, 1<<3|WireStartGroup) + b = append(b, 2<<3|WireVarint) + b = appendVarint(b, uint64(id)) + + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint + b = append(b, 3<<3|WireBytes) + b = append(b, msgWithLen...) + b = append(b, 1<<3|WireEndGroup) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic) + if !nerr.Merge(err) { + return b, err + } + b = append(b, 1<<3|WireEndGroup) + } + return b, nerr.E + } + + // Sort the keys to provide a deterministic encoding. + keys := make([]int, 0, len(m)) + for k := range m { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + for _, id := range keys { + e := m[int32(id)] + b = append(b, 1<<3|WireStartGroup) + b = append(b, 2<<3|WireVarint) + b = appendVarint(b, uint64(id)) + + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint + b = append(b, 3<<3|WireBytes) + b = append(b, msgWithLen...) + b = append(b, 1<<3|WireEndGroup) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic) + b = append(b, 1<<3|WireEndGroup) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E +} + +// sizeV1Extensions computes the size of encoded data for a V1-API extension field. +func (u *marshalInfo) sizeV1Extensions(m map[int32]Extension) int { + if m == nil { + return 0 + } + + n := 0 + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + n += len(e.enc) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + n += ei.sizer(p, ei.tagsize) + } + return n +} + +// appendV1Extensions marshals a V1-API extension field to the end of byte slice b. +func (u *marshalInfo) appendV1Extensions(b []byte, m map[int32]Extension, deterministic bool) ([]byte, error) { + if m == nil { + return b, nil + } + + // Sort the keys to provide a deterministic encoding. + keys := make([]int, 0, len(m)) + for k := range m { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + var err error + var nerr nonFatal + for _, k := range keys { + e := m[int32(k)] + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + b = append(b, e.enc...) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr, ei.deref) + b, err = ei.marshaler(b, p, ei.wiretag, deterministic) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E +} + +// newMarshaler is the interface representing objects that can marshal themselves. +// +// This exists to support protoc-gen-go generated messages. +// The proto package will stop type-asserting to this interface in the future. +// +// DO NOT DEPEND ON THIS. +type newMarshaler interface { + XXX_Size() int + XXX_Marshal(b []byte, deterministic bool) ([]byte, error) +} + +// Size returns the encoded size of a protocol buffer message. +// This is the main entry point. +func Size(pb Message) int { + if m, ok := pb.(newMarshaler); ok { + return m.XXX_Size() + } + if m, ok := pb.(Marshaler); ok { + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + b, _ := m.Marshal() + return len(b) + } + // in case somehow we didn't generate the wrapper + if pb == nil { + return 0 + } + var info InternalMessageInfo + return info.Size(pb) +} + +// Marshal takes a protocol buffer message +// and encodes it into the wire format, returning the data. +// This is the main entry point. +func Marshal(pb Message) ([]byte, error) { + if m, ok := pb.(newMarshaler); ok { + siz := m.XXX_Size() + b := make([]byte, 0, siz) + return m.XXX_Marshal(b, false) + } + if m, ok := pb.(Marshaler); ok { + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + return m.Marshal() + } + // in case somehow we didn't generate the wrapper + if pb == nil { + return nil, ErrNil + } + var info InternalMessageInfo + siz := info.Size(pb) + b := make([]byte, 0, siz) + return info.Marshal(b, pb, false) +} + +// Marshal takes a protocol buffer message +// and encodes it into the wire format, writing the result to the +// Buffer. +// This is an alternative entry point. It is not necessary to use +// a Buffer for most applications. +func (p *Buffer) Marshal(pb Message) error { + var err error + if m, ok := pb.(newMarshaler); ok { + siz := m.XXX_Size() + p.grow(siz) // make sure buf has enough capacity + p.buf, err = m.XXX_Marshal(p.buf, p.deterministic) + return err + } + if m, ok := pb.(Marshaler); ok { + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + b, err := m.Marshal() + p.buf = append(p.buf, b...) + return err + } + // in case somehow we didn't generate the wrapper + if pb == nil { + return ErrNil + } + var info InternalMessageInfo + siz := info.Size(pb) + p.grow(siz) // make sure buf has enough capacity + p.buf, err = info.Marshal(p.buf, pb, p.deterministic) + return err +} + +// grow grows the buffer's capacity, if necessary, to guarantee space for +// another n bytes. After grow(n), at least n bytes can be written to the +// buffer without another allocation. +func (p *Buffer) grow(n int) { + need := len(p.buf) + n + if need <= cap(p.buf) { + return + } + newCap := len(p.buf) * 2 + if newCap < need { + newCap = need + } + p.buf = append(make([]byte, 0, newCap), p.buf...) +} diff --git a/vendor/github.com/golang/protobuf/proto/table_merge.go b/vendor/github.com/golang/protobuf/proto/table_merge.go new file mode 100644 index 00000000..5525def6 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/table_merge.go @@ -0,0 +1,654 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "fmt" + "reflect" + "strings" + "sync" + "sync/atomic" +) + +// Merge merges the src message into dst. +// This assumes that dst and src of the same type and are non-nil. +func (a *InternalMessageInfo) Merge(dst, src Message) { + mi := atomicLoadMergeInfo(&a.merge) + if mi == nil { + mi = getMergeInfo(reflect.TypeOf(dst).Elem()) + atomicStoreMergeInfo(&a.merge, mi) + } + mi.merge(toPointer(&dst), toPointer(&src)) +} + +type mergeInfo struct { + typ reflect.Type + + initialized int32 // 0: only typ is valid, 1: everything is valid + lock sync.Mutex + + fields []mergeFieldInfo + unrecognized field // Offset of XXX_unrecognized +} + +type mergeFieldInfo struct { + field field // Offset of field, guaranteed to be valid + + // isPointer reports whether the value in the field is a pointer. + // This is true for the following situations: + // * Pointer to struct + // * Pointer to basic type (proto2 only) + // * Slice (first value in slice header is a pointer) + // * String (first value in string header is a pointer) + isPointer bool + + // basicWidth reports the width of the field assuming that it is directly + // embedded in the struct (as is the case for basic types in proto3). + // The possible values are: + // 0: invalid + // 1: bool + // 4: int32, uint32, float32 + // 8: int64, uint64, float64 + basicWidth int + + // Where dst and src are pointers to the types being merged. + merge func(dst, src pointer) +} + +var ( + mergeInfoMap = map[reflect.Type]*mergeInfo{} + mergeInfoLock sync.Mutex +) + +func getMergeInfo(t reflect.Type) *mergeInfo { + mergeInfoLock.Lock() + defer mergeInfoLock.Unlock() + mi := mergeInfoMap[t] + if mi == nil { + mi = &mergeInfo{typ: t} + mergeInfoMap[t] = mi + } + return mi +} + +// merge merges src into dst assuming they are both of type *mi.typ. +func (mi *mergeInfo) merge(dst, src pointer) { + if dst.isNil() { + panic("proto: nil destination") + } + if src.isNil() { + return // Nothing to do. + } + + if atomic.LoadInt32(&mi.initialized) == 0 { + mi.computeMergeInfo() + } + + for _, fi := range mi.fields { + sfp := src.offset(fi.field) + + // As an optimization, we can avoid the merge function call cost + // if we know for sure that the source will have no effect + // by checking if it is the zero value. + if unsafeAllowed { + if fi.isPointer && sfp.getPointer().isNil() { // Could be slice or string + continue + } + if fi.basicWidth > 0 { + switch { + case fi.basicWidth == 1 && !*sfp.toBool(): + continue + case fi.basicWidth == 4 && *sfp.toUint32() == 0: + continue + case fi.basicWidth == 8 && *sfp.toUint64() == 0: + continue + } + } + } + + dfp := dst.offset(fi.field) + fi.merge(dfp, sfp) + } + + // TODO: Make this faster? + out := dst.asPointerTo(mi.typ).Elem() + in := src.asPointerTo(mi.typ).Elem() + if emIn, err := extendable(in.Addr().Interface()); err == nil { + emOut, _ := extendable(out.Addr().Interface()) + mIn, muIn := emIn.extensionsRead() + if mIn != nil { + mOut := emOut.extensionsWrite() + muIn.Lock() + mergeExtension(mOut, mIn) + muIn.Unlock() + } + } + + if mi.unrecognized.IsValid() { + if b := *src.offset(mi.unrecognized).toBytes(); len(b) > 0 { + *dst.offset(mi.unrecognized).toBytes() = append([]byte(nil), b...) + } + } +} + +func (mi *mergeInfo) computeMergeInfo() { + mi.lock.Lock() + defer mi.lock.Unlock() + if mi.initialized != 0 { + return + } + t := mi.typ + n := t.NumField() + + props := GetProperties(t) + for i := 0; i < n; i++ { + f := t.Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + + mfi := mergeFieldInfo{field: toField(&f)} + tf := f.Type + + // As an optimization, we can avoid the merge function call cost + // if we know for sure that the source will have no effect + // by checking if it is the zero value. + if unsafeAllowed { + switch tf.Kind() { + case reflect.Ptr, reflect.Slice, reflect.String: + // As a special case, we assume slices and strings are pointers + // since we know that the first field in the SliceSlice or + // StringHeader is a data pointer. + mfi.isPointer = true + case reflect.Bool: + mfi.basicWidth = 1 + case reflect.Int32, reflect.Uint32, reflect.Float32: + mfi.basicWidth = 4 + case reflect.Int64, reflect.Uint64, reflect.Float64: + mfi.basicWidth = 8 + } + } + + // Unwrap tf to get at its most basic type. + var isPointer, isSlice bool + if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 { + isSlice = true + tf = tf.Elem() + } + if tf.Kind() == reflect.Ptr { + isPointer = true + tf = tf.Elem() + } + if isPointer && isSlice && tf.Kind() != reflect.Struct { + panic("both pointer and slice for basic type in " + tf.Name()) + } + + switch tf.Kind() { + case reflect.Int32: + switch { + case isSlice: // E.g., []int32 + mfi.merge = func(dst, src pointer) { + // NOTE: toInt32Slice is not defined (see pointer_reflect.go). + /* + sfsp := src.toInt32Slice() + if *sfsp != nil { + dfsp := dst.toInt32Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []int64{} + } + } + */ + sfs := src.getInt32Slice() + if sfs != nil { + dfs := dst.getInt32Slice() + dfs = append(dfs, sfs...) + if dfs == nil { + dfs = []int32{} + } + dst.setInt32Slice(dfs) + } + } + case isPointer: // E.g., *int32 + mfi.merge = func(dst, src pointer) { + // NOTE: toInt32Ptr is not defined (see pointer_reflect.go). + /* + sfpp := src.toInt32Ptr() + if *sfpp != nil { + dfpp := dst.toInt32Ptr() + if *dfpp == nil { + *dfpp = Int32(**sfpp) + } else { + **dfpp = **sfpp + } + } + */ + sfp := src.getInt32Ptr() + if sfp != nil { + dfp := dst.getInt32Ptr() + if dfp == nil { + dst.setInt32Ptr(*sfp) + } else { + *dfp = *sfp + } + } + } + default: // E.g., int32 + mfi.merge = func(dst, src pointer) { + if v := *src.toInt32(); v != 0 { + *dst.toInt32() = v + } + } + } + case reflect.Int64: + switch { + case isSlice: // E.g., []int64 + mfi.merge = func(dst, src pointer) { + sfsp := src.toInt64Slice() + if *sfsp != nil { + dfsp := dst.toInt64Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []int64{} + } + } + } + case isPointer: // E.g., *int64 + mfi.merge = func(dst, src pointer) { + sfpp := src.toInt64Ptr() + if *sfpp != nil { + dfpp := dst.toInt64Ptr() + if *dfpp == nil { + *dfpp = Int64(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., int64 + mfi.merge = func(dst, src pointer) { + if v := *src.toInt64(); v != 0 { + *dst.toInt64() = v + } + } + } + case reflect.Uint32: + switch { + case isSlice: // E.g., []uint32 + mfi.merge = func(dst, src pointer) { + sfsp := src.toUint32Slice() + if *sfsp != nil { + dfsp := dst.toUint32Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []uint32{} + } + } + } + case isPointer: // E.g., *uint32 + mfi.merge = func(dst, src pointer) { + sfpp := src.toUint32Ptr() + if *sfpp != nil { + dfpp := dst.toUint32Ptr() + if *dfpp == nil { + *dfpp = Uint32(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., uint32 + mfi.merge = func(dst, src pointer) { + if v := *src.toUint32(); v != 0 { + *dst.toUint32() = v + } + } + } + case reflect.Uint64: + switch { + case isSlice: // E.g., []uint64 + mfi.merge = func(dst, src pointer) { + sfsp := src.toUint64Slice() + if *sfsp != nil { + dfsp := dst.toUint64Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []uint64{} + } + } + } + case isPointer: // E.g., *uint64 + mfi.merge = func(dst, src pointer) { + sfpp := src.toUint64Ptr() + if *sfpp != nil { + dfpp := dst.toUint64Ptr() + if *dfpp == nil { + *dfpp = Uint64(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., uint64 + mfi.merge = func(dst, src pointer) { + if v := *src.toUint64(); v != 0 { + *dst.toUint64() = v + } + } + } + case reflect.Float32: + switch { + case isSlice: // E.g., []float32 + mfi.merge = func(dst, src pointer) { + sfsp := src.toFloat32Slice() + if *sfsp != nil { + dfsp := dst.toFloat32Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []float32{} + } + } + } + case isPointer: // E.g., *float32 + mfi.merge = func(dst, src pointer) { + sfpp := src.toFloat32Ptr() + if *sfpp != nil { + dfpp := dst.toFloat32Ptr() + if *dfpp == nil { + *dfpp = Float32(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., float32 + mfi.merge = func(dst, src pointer) { + if v := *src.toFloat32(); v != 0 { + *dst.toFloat32() = v + } + } + } + case reflect.Float64: + switch { + case isSlice: // E.g., []float64 + mfi.merge = func(dst, src pointer) { + sfsp := src.toFloat64Slice() + if *sfsp != nil { + dfsp := dst.toFloat64Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []float64{} + } + } + } + case isPointer: // E.g., *float64 + mfi.merge = func(dst, src pointer) { + sfpp := src.toFloat64Ptr() + if *sfpp != nil { + dfpp := dst.toFloat64Ptr() + if *dfpp == nil { + *dfpp = Float64(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., float64 + mfi.merge = func(dst, src pointer) { + if v := *src.toFloat64(); v != 0 { + *dst.toFloat64() = v + } + } + } + case reflect.Bool: + switch { + case isSlice: // E.g., []bool + mfi.merge = func(dst, src pointer) { + sfsp := src.toBoolSlice() + if *sfsp != nil { + dfsp := dst.toBoolSlice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []bool{} + } + } + } + case isPointer: // E.g., *bool + mfi.merge = func(dst, src pointer) { + sfpp := src.toBoolPtr() + if *sfpp != nil { + dfpp := dst.toBoolPtr() + if *dfpp == nil { + *dfpp = Bool(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., bool + mfi.merge = func(dst, src pointer) { + if v := *src.toBool(); v { + *dst.toBool() = v + } + } + } + case reflect.String: + switch { + case isSlice: // E.g., []string + mfi.merge = func(dst, src pointer) { + sfsp := src.toStringSlice() + if *sfsp != nil { + dfsp := dst.toStringSlice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []string{} + } + } + } + case isPointer: // E.g., *string + mfi.merge = func(dst, src pointer) { + sfpp := src.toStringPtr() + if *sfpp != nil { + dfpp := dst.toStringPtr() + if *dfpp == nil { + *dfpp = String(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., string + mfi.merge = func(dst, src pointer) { + if v := *src.toString(); v != "" { + *dst.toString() = v + } + } + } + case reflect.Slice: + isProto3 := props.Prop[i].proto3 + switch { + case isPointer: + panic("bad pointer in byte slice case in " + tf.Name()) + case tf.Elem().Kind() != reflect.Uint8: + panic("bad element kind in byte slice case in " + tf.Name()) + case isSlice: // E.g., [][]byte + mfi.merge = func(dst, src pointer) { + sbsp := src.toBytesSlice() + if *sbsp != nil { + dbsp := dst.toBytesSlice() + for _, sb := range *sbsp { + if sb == nil { + *dbsp = append(*dbsp, nil) + } else { + *dbsp = append(*dbsp, append([]byte{}, sb...)) + } + } + if *dbsp == nil { + *dbsp = [][]byte{} + } + } + } + default: // E.g., []byte + mfi.merge = func(dst, src pointer) { + sbp := src.toBytes() + if *sbp != nil { + dbp := dst.toBytes() + if !isProto3 || len(*sbp) > 0 { + *dbp = append([]byte{}, *sbp...) + } + } + } + } + case reflect.Struct: + switch { + case !isPointer: + panic(fmt.Sprintf("message field %s without pointer", tf)) + case isSlice: // E.g., []*pb.T + mi := getMergeInfo(tf) + mfi.merge = func(dst, src pointer) { + sps := src.getPointerSlice() + if sps != nil { + dps := dst.getPointerSlice() + for _, sp := range sps { + var dp pointer + if !sp.isNil() { + dp = valToPointer(reflect.New(tf)) + mi.merge(dp, sp) + } + dps = append(dps, dp) + } + if dps == nil { + dps = []pointer{} + } + dst.setPointerSlice(dps) + } + } + default: // E.g., *pb.T + mi := getMergeInfo(tf) + mfi.merge = func(dst, src pointer) { + sp := src.getPointer() + if !sp.isNil() { + dp := dst.getPointer() + if dp.isNil() { + dp = valToPointer(reflect.New(tf)) + dst.setPointer(dp) + } + mi.merge(dp, sp) + } + } + } + case reflect.Map: + switch { + case isPointer || isSlice: + panic("bad pointer or slice in map case in " + tf.Name()) + default: // E.g., map[K]V + mfi.merge = func(dst, src pointer) { + sm := src.asPointerTo(tf).Elem() + if sm.Len() == 0 { + return + } + dm := dst.asPointerTo(tf).Elem() + if dm.IsNil() { + dm.Set(reflect.MakeMap(tf)) + } + + switch tf.Elem().Kind() { + case reflect.Ptr: // Proto struct (e.g., *T) + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + val = reflect.ValueOf(Clone(val.Interface().(Message))) + dm.SetMapIndex(key, val) + } + case reflect.Slice: // E.g. Bytes type (e.g., []byte) + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + val = reflect.ValueOf(append([]byte{}, val.Bytes()...)) + dm.SetMapIndex(key, val) + } + default: // Basic type (e.g., string) + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + dm.SetMapIndex(key, val) + } + } + } + } + case reflect.Interface: + // Must be oneof field. + switch { + case isPointer || isSlice: + panic("bad pointer or slice in interface case in " + tf.Name()) + default: // E.g., interface{} + // TODO: Make this faster? + mfi.merge = func(dst, src pointer) { + su := src.asPointerTo(tf).Elem() + if !su.IsNil() { + du := dst.asPointerTo(tf).Elem() + typ := su.Elem().Type() + if du.IsNil() || du.Elem().Type() != typ { + du.Set(reflect.New(typ.Elem())) // Initialize interface if empty + } + sv := su.Elem().Elem().Field(0) + if sv.Kind() == reflect.Ptr && sv.IsNil() { + return + } + dv := du.Elem().Elem().Field(0) + if dv.Kind() == reflect.Ptr && dv.IsNil() { + dv.Set(reflect.New(sv.Type().Elem())) // Initialize proto message if empty + } + switch sv.Type().Kind() { + case reflect.Ptr: // Proto struct (e.g., *T) + Merge(dv.Interface().(Message), sv.Interface().(Message)) + case reflect.Slice: // E.g. Bytes type (e.g., []byte) + dv.Set(reflect.ValueOf(append([]byte{}, sv.Bytes()...))) + default: // Basic type (e.g., string) + dv.Set(sv) + } + } + } + } + default: + panic(fmt.Sprintf("merger not found for type:%s", tf)) + } + mi.fields = append(mi.fields, mfi) + } + + mi.unrecognized = invalidField + if f, ok := t.FieldByName("XXX_unrecognized"); ok { + if f.Type != reflect.TypeOf([]byte{}) { + panic("expected XXX_unrecognized to be of type []byte") + } + mi.unrecognized = toField(&f) + } + + atomic.StoreInt32(&mi.initialized, 1) +} diff --git a/vendor/github.com/golang/protobuf/proto/table_unmarshal.go b/vendor/github.com/golang/protobuf/proto/table_unmarshal.go new file mode 100644 index 00000000..acee2fc5 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/table_unmarshal.go @@ -0,0 +1,2053 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "errors" + "fmt" + "io" + "math" + "reflect" + "strconv" + "strings" + "sync" + "sync/atomic" + "unicode/utf8" +) + +// Unmarshal is the entry point from the generated .pb.go files. +// This function is not intended to be used by non-generated code. +// This function is not subject to any compatibility guarantee. +// msg contains a pointer to a protocol buffer struct. +// b is the data to be unmarshaled into the protocol buffer. +// a is a pointer to a place to store cached unmarshal information. +func (a *InternalMessageInfo) Unmarshal(msg Message, b []byte) error { + // Load the unmarshal information for this message type. + // The atomic load ensures memory consistency. + u := atomicLoadUnmarshalInfo(&a.unmarshal) + if u == nil { + // Slow path: find unmarshal info for msg, update a with it. + u = getUnmarshalInfo(reflect.TypeOf(msg).Elem()) + atomicStoreUnmarshalInfo(&a.unmarshal, u) + } + // Then do the unmarshaling. + err := u.unmarshal(toPointer(&msg), b) + return err +} + +type unmarshalInfo struct { + typ reflect.Type // type of the protobuf struct + + // 0 = only typ field is initialized + // 1 = completely initialized + initialized int32 + lock sync.Mutex // prevents double initialization + dense []unmarshalFieldInfo // fields indexed by tag # + sparse map[uint64]unmarshalFieldInfo // fields indexed by tag # + reqFields []string // names of required fields + reqMask uint64 // 1< 0 { + // Read tag and wire type. + // Special case 1 and 2 byte varints. + var x uint64 + if b[0] < 128 { + x = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + x = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + x, n = decodeVarint(b) + if n == 0 { + return io.ErrUnexpectedEOF + } + b = b[n:] + } + tag := x >> 3 + wire := int(x) & 7 + + // Dispatch on the tag to one of the unmarshal* functions below. + var f unmarshalFieldInfo + if tag < uint64(len(u.dense)) { + f = u.dense[tag] + } else { + f = u.sparse[tag] + } + if fn := f.unmarshal; fn != nil { + var err error + b, err = fn(b, m.offset(f.field), wire) + if err == nil { + reqMask |= f.reqMask + continue + } + if r, ok := err.(*RequiredNotSetError); ok { + // Remember this error, but keep parsing. We need to produce + // a full parse even if a required field is missing. + if errLater == nil { + errLater = r + } + reqMask |= f.reqMask + continue + } + if err != errInternalBadWireType { + if err == errInvalidUTF8 { + if errLater == nil { + fullName := revProtoTypes[reflect.PtrTo(u.typ)] + "." + f.name + errLater = &invalidUTF8Error{fullName} + } + continue + } + return err + } + // Fragments with bad wire type are treated as unknown fields. + } + + // Unknown tag. + if !u.unrecognized.IsValid() { + // Don't keep unrecognized data; just skip it. + var err error + b, err = skipField(b, wire) + if err != nil { + return err + } + continue + } + // Keep unrecognized data around. + // maybe in extensions, maybe in the unrecognized field. + z := m.offset(u.unrecognized).toBytes() + var emap map[int32]Extension + var e Extension + for _, r := range u.extensionRanges { + if uint64(r.Start) <= tag && tag <= uint64(r.End) { + if u.extensions.IsValid() { + mp := m.offset(u.extensions).toExtensions() + emap = mp.extensionsWrite() + e = emap[int32(tag)] + z = &e.enc + break + } + if u.oldExtensions.IsValid() { + p := m.offset(u.oldExtensions).toOldExtensions() + emap = *p + if emap == nil { + emap = map[int32]Extension{} + *p = emap + } + e = emap[int32(tag)] + z = &e.enc + break + } + panic("no extensions field available") + } + } + + // Use wire type to skip data. + var err error + b0 := b + b, err = skipField(b, wire) + if err != nil { + return err + } + *z = encodeVarint(*z, tag<<3|uint64(wire)) + *z = append(*z, b0[:len(b0)-len(b)]...) + + if emap != nil { + emap[int32(tag)] = e + } + } + if reqMask != u.reqMask && errLater == nil { + // A required field of this message is missing. + for _, n := range u.reqFields { + if reqMask&1 == 0 { + errLater = &RequiredNotSetError{n} + } + reqMask >>= 1 + } + } + return errLater +} + +// computeUnmarshalInfo fills in u with information for use +// in unmarshaling protocol buffers of type u.typ. +func (u *unmarshalInfo) computeUnmarshalInfo() { + u.lock.Lock() + defer u.lock.Unlock() + if u.initialized != 0 { + return + } + t := u.typ + n := t.NumField() + + // Set up the "not found" value for the unrecognized byte buffer. + // This is the default for proto3. + u.unrecognized = invalidField + u.extensions = invalidField + u.oldExtensions = invalidField + + // List of the generated type and offset for each oneof field. + type oneofField struct { + ityp reflect.Type // interface type of oneof field + field field // offset in containing message + } + var oneofFields []oneofField + + for i := 0; i < n; i++ { + f := t.Field(i) + if f.Name == "XXX_unrecognized" { + // The byte slice used to hold unrecognized input is special. + if f.Type != reflect.TypeOf(([]byte)(nil)) { + panic("bad type for XXX_unrecognized field: " + f.Type.Name()) + } + u.unrecognized = toField(&f) + continue + } + if f.Name == "XXX_InternalExtensions" { + // Ditto here. + if f.Type != reflect.TypeOf(XXX_InternalExtensions{}) { + panic("bad type for XXX_InternalExtensions field: " + f.Type.Name()) + } + u.extensions = toField(&f) + if f.Tag.Get("protobuf_messageset") == "1" { + u.isMessageSet = true + } + continue + } + if f.Name == "XXX_extensions" { + // An older form of the extensions field. + if f.Type != reflect.TypeOf((map[int32]Extension)(nil)) { + panic("bad type for XXX_extensions field: " + f.Type.Name()) + } + u.oldExtensions = toField(&f) + continue + } + if f.Name == "XXX_NoUnkeyedLiteral" || f.Name == "XXX_sizecache" { + continue + } + + oneof := f.Tag.Get("protobuf_oneof") + if oneof != "" { + oneofFields = append(oneofFields, oneofField{f.Type, toField(&f)}) + // The rest of oneof processing happens below. + continue + } + + tags := f.Tag.Get("protobuf") + tagArray := strings.Split(tags, ",") + if len(tagArray) < 2 { + panic("protobuf tag not enough fields in " + t.Name() + "." + f.Name + ": " + tags) + } + tag, err := strconv.Atoi(tagArray[1]) + if err != nil { + panic("protobuf tag field not an integer: " + tagArray[1]) + } + + name := "" + for _, tag := range tagArray[3:] { + if strings.HasPrefix(tag, "name=") { + name = tag[5:] + } + } + + // Extract unmarshaling function from the field (its type and tags). + unmarshal := fieldUnmarshaler(&f) + + // Required field? + var reqMask uint64 + if tagArray[2] == "req" { + bit := len(u.reqFields) + u.reqFields = append(u.reqFields, name) + reqMask = uint64(1) << uint(bit) + // TODO: if we have more than 64 required fields, we end up + // not verifying that all required fields are present. + // Fix this, perhaps using a count of required fields? + } + + // Store the info in the correct slot in the message. + u.setTag(tag, toField(&f), unmarshal, reqMask, name) + } + + // Find any types associated with oneof fields. + var oneofImplementers []interface{} + switch m := reflect.Zero(reflect.PtrTo(t)).Interface().(type) { + case oneofFuncsIface: + _, _, _, oneofImplementers = m.XXX_OneofFuncs() + case oneofWrappersIface: + oneofImplementers = m.XXX_OneofWrappers() + } + for _, v := range oneofImplementers { + tptr := reflect.TypeOf(v) // *Msg_X + typ := tptr.Elem() // Msg_X + + f := typ.Field(0) // oneof implementers have one field + baseUnmarshal := fieldUnmarshaler(&f) + tags := strings.Split(f.Tag.Get("protobuf"), ",") + fieldNum, err := strconv.Atoi(tags[1]) + if err != nil { + panic("protobuf tag field not an integer: " + tags[1]) + } + var name string + for _, tag := range tags { + if strings.HasPrefix(tag, "name=") { + name = strings.TrimPrefix(tag, "name=") + break + } + } + + // Find the oneof field that this struct implements. + // Might take O(n^2) to process all of the oneofs, but who cares. + for _, of := range oneofFields { + if tptr.Implements(of.ityp) { + // We have found the corresponding interface for this struct. + // That lets us know where this struct should be stored + // when we encounter it during unmarshaling. + unmarshal := makeUnmarshalOneof(typ, of.ityp, baseUnmarshal) + u.setTag(fieldNum, of.field, unmarshal, 0, name) + } + } + + } + + // Get extension ranges, if any. + fn := reflect.Zero(reflect.PtrTo(t)).MethodByName("ExtensionRangeArray") + if fn.IsValid() { + if !u.extensions.IsValid() && !u.oldExtensions.IsValid() { + panic("a message with extensions, but no extensions field in " + t.Name()) + } + u.extensionRanges = fn.Call(nil)[0].Interface().([]ExtensionRange) + } + + // Explicitly disallow tag 0. This will ensure we flag an error + // when decoding a buffer of all zeros. Without this code, we + // would decode and skip an all-zero buffer of even length. + // [0 0] is [tag=0/wiretype=varint varint-encoded-0]. + u.setTag(0, zeroField, func(b []byte, f pointer, w int) ([]byte, error) { + return nil, fmt.Errorf("proto: %s: illegal tag 0 (wire type %d)", t, w) + }, 0, "") + + // Set mask for required field check. + u.reqMask = uint64(1)<= 0 && (tag < 16 || tag < 2*n) { // TODO: what are the right numbers here? + for len(u.dense) <= tag { + u.dense = append(u.dense, unmarshalFieldInfo{}) + } + u.dense[tag] = i + return + } + if u.sparse == nil { + u.sparse = map[uint64]unmarshalFieldInfo{} + } + u.sparse[uint64(tag)] = i +} + +// fieldUnmarshaler returns an unmarshaler for the given field. +func fieldUnmarshaler(f *reflect.StructField) unmarshaler { + if f.Type.Kind() == reflect.Map { + return makeUnmarshalMap(f) + } + return typeUnmarshaler(f.Type, f.Tag.Get("protobuf")) +} + +// typeUnmarshaler returns an unmarshaler for the given field type / field tag pair. +func typeUnmarshaler(t reflect.Type, tags string) unmarshaler { + tagArray := strings.Split(tags, ",") + encoding := tagArray[0] + name := "unknown" + proto3 := false + validateUTF8 := true + for _, tag := range tagArray[3:] { + if strings.HasPrefix(tag, "name=") { + name = tag[5:] + } + if tag == "proto3" { + proto3 = true + } + } + validateUTF8 = validateUTF8 && proto3 + + // Figure out packaging (pointer, slice, or both) + slice := false + pointer := false + if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 { + slice = true + t = t.Elem() + } + if t.Kind() == reflect.Ptr { + pointer = true + t = t.Elem() + } + + // We'll never have both pointer and slice for basic types. + if pointer && slice && t.Kind() != reflect.Struct { + panic("both pointer and slice for basic type in " + t.Name()) + } + + switch t.Kind() { + case reflect.Bool: + if pointer { + return unmarshalBoolPtr + } + if slice { + return unmarshalBoolSlice + } + return unmarshalBoolValue + case reflect.Int32: + switch encoding { + case "fixed32": + if pointer { + return unmarshalFixedS32Ptr + } + if slice { + return unmarshalFixedS32Slice + } + return unmarshalFixedS32Value + case "varint": + // this could be int32 or enum + if pointer { + return unmarshalInt32Ptr + } + if slice { + return unmarshalInt32Slice + } + return unmarshalInt32Value + case "zigzag32": + if pointer { + return unmarshalSint32Ptr + } + if slice { + return unmarshalSint32Slice + } + return unmarshalSint32Value + } + case reflect.Int64: + switch encoding { + case "fixed64": + if pointer { + return unmarshalFixedS64Ptr + } + if slice { + return unmarshalFixedS64Slice + } + return unmarshalFixedS64Value + case "varint": + if pointer { + return unmarshalInt64Ptr + } + if slice { + return unmarshalInt64Slice + } + return unmarshalInt64Value + case "zigzag64": + if pointer { + return unmarshalSint64Ptr + } + if slice { + return unmarshalSint64Slice + } + return unmarshalSint64Value + } + case reflect.Uint32: + switch encoding { + case "fixed32": + if pointer { + return unmarshalFixed32Ptr + } + if slice { + return unmarshalFixed32Slice + } + return unmarshalFixed32Value + case "varint": + if pointer { + return unmarshalUint32Ptr + } + if slice { + return unmarshalUint32Slice + } + return unmarshalUint32Value + } + case reflect.Uint64: + switch encoding { + case "fixed64": + if pointer { + return unmarshalFixed64Ptr + } + if slice { + return unmarshalFixed64Slice + } + return unmarshalFixed64Value + case "varint": + if pointer { + return unmarshalUint64Ptr + } + if slice { + return unmarshalUint64Slice + } + return unmarshalUint64Value + } + case reflect.Float32: + if pointer { + return unmarshalFloat32Ptr + } + if slice { + return unmarshalFloat32Slice + } + return unmarshalFloat32Value + case reflect.Float64: + if pointer { + return unmarshalFloat64Ptr + } + if slice { + return unmarshalFloat64Slice + } + return unmarshalFloat64Value + case reflect.Map: + panic("map type in typeUnmarshaler in " + t.Name()) + case reflect.Slice: + if pointer { + panic("bad pointer in slice case in " + t.Name()) + } + if slice { + return unmarshalBytesSlice + } + return unmarshalBytesValue + case reflect.String: + if validateUTF8 { + if pointer { + return unmarshalUTF8StringPtr + } + if slice { + return unmarshalUTF8StringSlice + } + return unmarshalUTF8StringValue + } + if pointer { + return unmarshalStringPtr + } + if slice { + return unmarshalStringSlice + } + return unmarshalStringValue + case reflect.Struct: + // message or group field + if !pointer { + panic(fmt.Sprintf("message/group field %s:%s without pointer", t, encoding)) + } + switch encoding { + case "bytes": + if slice { + return makeUnmarshalMessageSlicePtr(getUnmarshalInfo(t), name) + } + return makeUnmarshalMessagePtr(getUnmarshalInfo(t), name) + case "group": + if slice { + return makeUnmarshalGroupSlicePtr(getUnmarshalInfo(t), name) + } + return makeUnmarshalGroupPtr(getUnmarshalInfo(t), name) + } + } + panic(fmt.Sprintf("unmarshaler not found type:%s encoding:%s", t, encoding)) +} + +// Below are all the unmarshalers for individual fields of various types. + +func unmarshalInt64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + *f.toInt64() = v + return b, nil +} + +func unmarshalInt64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + *f.toInt64Ptr() = &v + return b, nil +} + +func unmarshalInt64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + s := f.toInt64Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + s := f.toInt64Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalSint64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + *f.toInt64() = v + return b, nil +} + +func unmarshalSint64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + *f.toInt64Ptr() = &v + return b, nil +} + +func unmarshalSint64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + s := f.toInt64Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + s := f.toInt64Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalUint64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + *f.toUint64() = v + return b, nil +} + +func unmarshalUint64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + *f.toUint64Ptr() = &v + return b, nil +} + +func unmarshalUint64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + s := f.toUint64Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + s := f.toUint64Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalInt32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + *f.toInt32() = v + return b, nil +} + +func unmarshalInt32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + f.setInt32Ptr(v) + return b, nil +} + +func unmarshalInt32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + f.appendInt32Slice(v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + f.appendInt32Slice(v) + return b, nil +} + +func unmarshalSint32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + *f.toInt32() = v + return b, nil +} + +func unmarshalSint32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + f.setInt32Ptr(v) + return b, nil +} + +func unmarshalSint32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + f.appendInt32Slice(v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + f.appendInt32Slice(v) + return b, nil +} + +func unmarshalUint32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + *f.toUint32() = v + return b, nil +} + +func unmarshalUint32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + *f.toUint32Ptr() = &v + return b, nil +} + +func unmarshalUint32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + s := f.toUint32Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + s := f.toUint32Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalFixed64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + *f.toUint64() = v + return b[8:], nil +} + +func unmarshalFixed64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + *f.toUint64Ptr() = &v + return b[8:], nil +} + +func unmarshalFixed64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + s := f.toUint64Slice() + *s = append(*s, v) + b = b[8:] + } + return res, nil + } + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + s := f.toUint64Slice() + *s = append(*s, v) + return b[8:], nil +} + +func unmarshalFixedS64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + *f.toInt64() = v + return b[8:], nil +} + +func unmarshalFixedS64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + *f.toInt64Ptr() = &v + return b[8:], nil +} + +func unmarshalFixedS64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + s := f.toInt64Slice() + *s = append(*s, v) + b = b[8:] + } + return res, nil + } + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + s := f.toInt64Slice() + *s = append(*s, v) + return b[8:], nil +} + +func unmarshalFixed32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + *f.toUint32() = v + return b[4:], nil +} + +func unmarshalFixed32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + *f.toUint32Ptr() = &v + return b[4:], nil +} + +func unmarshalFixed32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + s := f.toUint32Slice() + *s = append(*s, v) + b = b[4:] + } + return res, nil + } + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + s := f.toUint32Slice() + *s = append(*s, v) + return b[4:], nil +} + +func unmarshalFixedS32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + *f.toInt32() = v + return b[4:], nil +} + +func unmarshalFixedS32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + f.setInt32Ptr(v) + return b[4:], nil +} + +func unmarshalFixedS32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + f.appendInt32Slice(v) + b = b[4:] + } + return res, nil + } + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + f.appendInt32Slice(v) + return b[4:], nil +} + +func unmarshalBoolValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + // Note: any length varint is allowed, even though any sane + // encoder will use one byte. + // See https://github.com/golang/protobuf/issues/76 + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + // TODO: check if x>1? Tests seem to indicate no. + v := x != 0 + *f.toBool() = v + return b[n:], nil +} + +func unmarshalBoolPtr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + v := x != 0 + *f.toBoolPtr() = &v + return b[n:], nil +} + +func unmarshalBoolSlice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + v := x != 0 + s := f.toBoolSlice() + *s = append(*s, v) + b = b[n:] + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + v := x != 0 + s := f.toBoolSlice() + *s = append(*s, v) + return b[n:], nil +} + +func unmarshalFloat64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + *f.toFloat64() = v + return b[8:], nil +} + +func unmarshalFloat64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + *f.toFloat64Ptr() = &v + return b[8:], nil +} + +func unmarshalFloat64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + s := f.toFloat64Slice() + *s = append(*s, v) + b = b[8:] + } + return res, nil + } + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + s := f.toFloat64Slice() + *s = append(*s, v) + return b[8:], nil +} + +func unmarshalFloat32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + *f.toFloat32() = v + return b[4:], nil +} + +func unmarshalFloat32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + *f.toFloat32Ptr() = &v + return b[4:], nil +} + +func unmarshalFloat32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + s := f.toFloat32Slice() + *s = append(*s, v) + b = b[4:] + } + return res, nil + } + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + s := f.toFloat32Slice() + *s = append(*s, v) + return b[4:], nil +} + +func unmarshalStringValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toString() = v + return b[x:], nil +} + +func unmarshalStringPtr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toStringPtr() = &v + return b[x:], nil +} + +func unmarshalStringSlice(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + s := f.toStringSlice() + *s = append(*s, v) + return b[x:], nil +} + +func unmarshalUTF8StringValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toString() = v + if !utf8.ValidString(v) { + return b[x:], errInvalidUTF8 + } + return b[x:], nil +} + +func unmarshalUTF8StringPtr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toStringPtr() = &v + if !utf8.ValidString(v) { + return b[x:], errInvalidUTF8 + } + return b[x:], nil +} + +func unmarshalUTF8StringSlice(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + s := f.toStringSlice() + *s = append(*s, v) + if !utf8.ValidString(v) { + return b[x:], errInvalidUTF8 + } + return b[x:], nil +} + +var emptyBuf [0]byte + +func unmarshalBytesValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + // The use of append here is a trick which avoids the zeroing + // that would be required if we used a make/copy pair. + // We append to emptyBuf instead of nil because we want + // a non-nil result even when the length is 0. + v := append(emptyBuf[:], b[:x]...) + *f.toBytes() = v + return b[x:], nil +} + +func unmarshalBytesSlice(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := append(emptyBuf[:], b[:x]...) + s := f.toBytesSlice() + *s = append(*s, v) + return b[x:], nil +} + +func makeUnmarshalMessagePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + // First read the message field to see if something is there. + // The semantics of multiple submessages are weird. Instead of + // the last one winning (as it is for all other fields), multiple + // submessages are merged. + v := f.getPointer() + if v.isNil() { + v = valToPointer(reflect.New(sub.typ)) + f.setPointer(v) + } + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + return b[x:], err + } +} + +func makeUnmarshalMessageSlicePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := valToPointer(reflect.New(sub.typ)) + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + f.appendPointer(v) + return b[x:], err + } +} + +func makeUnmarshalGroupPtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireStartGroup { + return b, errInternalBadWireType + } + x, y := findEndGroup(b) + if x < 0 { + return nil, io.ErrUnexpectedEOF + } + v := f.getPointer() + if v.isNil() { + v = valToPointer(reflect.New(sub.typ)) + f.setPointer(v) + } + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + return b[y:], err + } +} + +func makeUnmarshalGroupSlicePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireStartGroup { + return b, errInternalBadWireType + } + x, y := findEndGroup(b) + if x < 0 { + return nil, io.ErrUnexpectedEOF + } + v := valToPointer(reflect.New(sub.typ)) + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + f.appendPointer(v) + return b[y:], err + } +} + +func makeUnmarshalMap(f *reflect.StructField) unmarshaler { + t := f.Type + kt := t.Key() + vt := t.Elem() + unmarshalKey := typeUnmarshaler(kt, f.Tag.Get("protobuf_key")) + unmarshalVal := typeUnmarshaler(vt, f.Tag.Get("protobuf_val")) + return func(b []byte, f pointer, w int) ([]byte, error) { + // The map entry is a submessage. Figure out how big it is. + if w != WireBytes { + return nil, fmt.Errorf("proto: bad wiretype for map field: got %d want %d", w, WireBytes) + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + r := b[x:] // unused data to return + b = b[:x] // data for map entry + + // Note: we could use #keys * #values ~= 200 functions + // to do map decoding without reflection. Probably not worth it. + // Maps will be somewhat slow. Oh well. + + // Read key and value from data. + var nerr nonFatal + k := reflect.New(kt) + v := reflect.New(vt) + for len(b) > 0 { + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + wire := int(x) & 7 + b = b[n:] + + var err error + switch x >> 3 { + case 1: + b, err = unmarshalKey(b, valToPointer(k), wire) + case 2: + b, err = unmarshalVal(b, valToPointer(v), wire) + default: + err = errInternalBadWireType // skip unknown tag + } + + if nerr.Merge(err) { + continue + } + if err != errInternalBadWireType { + return nil, err + } + + // Skip past unknown fields. + b, err = skipField(b, wire) + if err != nil { + return nil, err + } + } + + // Get map, allocate if needed. + m := f.asPointerTo(t).Elem() // an addressable map[K]T + if m.IsNil() { + m.Set(reflect.MakeMap(t)) + } + + // Insert into map. + m.SetMapIndex(k.Elem(), v.Elem()) + + return r, nerr.E + } +} + +// makeUnmarshalOneof makes an unmarshaler for oneof fields. +// for: +// message Msg { +// oneof F { +// int64 X = 1; +// float64 Y = 2; +// } +// } +// typ is the type of the concrete entry for a oneof case (e.g. Msg_X). +// ityp is the interface type of the oneof field (e.g. isMsg_F). +// unmarshal is the unmarshaler for the base type of the oneof case (e.g. int64). +// Note that this function will be called once for each case in the oneof. +func makeUnmarshalOneof(typ, ityp reflect.Type, unmarshal unmarshaler) unmarshaler { + sf := typ.Field(0) + field0 := toField(&sf) + return func(b []byte, f pointer, w int) ([]byte, error) { + // Allocate holder for value. + v := reflect.New(typ) + + // Unmarshal data into holder. + // We unmarshal into the first field of the holder object. + var err error + var nerr nonFatal + b, err = unmarshal(b, valToPointer(v).offset(field0), w) + if !nerr.Merge(err) { + return nil, err + } + + // Write pointer to holder into target field. + f.asPointerTo(ityp).Elem().Set(v) + + return b, nerr.E + } +} + +// Error used by decode internally. +var errInternalBadWireType = errors.New("proto: internal error: bad wiretype") + +// skipField skips past a field of type wire and returns the remaining bytes. +func skipField(b []byte, wire int) ([]byte, error) { + switch wire { + case WireVarint: + _, k := decodeVarint(b) + if k == 0 { + return b, io.ErrUnexpectedEOF + } + b = b[k:] + case WireFixed32: + if len(b) < 4 { + return b, io.ErrUnexpectedEOF + } + b = b[4:] + case WireFixed64: + if len(b) < 8 { + return b, io.ErrUnexpectedEOF + } + b = b[8:] + case WireBytes: + m, k := decodeVarint(b) + if k == 0 || uint64(len(b)-k) < m { + return b, io.ErrUnexpectedEOF + } + b = b[uint64(k)+m:] + case WireStartGroup: + _, i := findEndGroup(b) + if i == -1 { + return b, io.ErrUnexpectedEOF + } + b = b[i:] + default: + return b, fmt.Errorf("proto: can't skip unknown wire type %d", wire) + } + return b, nil +} + +// findEndGroup finds the index of the next EndGroup tag. +// Groups may be nested, so the "next" EndGroup tag is the first +// unpaired EndGroup. +// findEndGroup returns the indexes of the start and end of the EndGroup tag. +// Returns (-1,-1) if it can't find one. +func findEndGroup(b []byte) (int, int) { + depth := 1 + i := 0 + for { + x, n := decodeVarint(b[i:]) + if n == 0 { + return -1, -1 + } + j := i + i += n + switch x & 7 { + case WireVarint: + _, k := decodeVarint(b[i:]) + if k == 0 { + return -1, -1 + } + i += k + case WireFixed32: + if len(b)-4 < i { + return -1, -1 + } + i += 4 + case WireFixed64: + if len(b)-8 < i { + return -1, -1 + } + i += 8 + case WireBytes: + m, k := decodeVarint(b[i:]) + if k == 0 { + return -1, -1 + } + i += k + if uint64(len(b)-i) < m { + return -1, -1 + } + i += int(m) + case WireStartGroup: + depth++ + case WireEndGroup: + depth-- + if depth == 0 { + return j, i + } + default: + return -1, -1 + } + } +} + +// encodeVarint appends a varint-encoded integer to b and returns the result. +func encodeVarint(b []byte, x uint64) []byte { + for x >= 1<<7 { + b = append(b, byte(x&0x7f|0x80)) + x >>= 7 + } + return append(b, byte(x)) +} + +// decodeVarint reads a varint-encoded integer from b. +// Returns the decoded integer and the number of bytes read. +// If there is an error, it returns 0,0. +func decodeVarint(b []byte) (uint64, int) { + var x, y uint64 + if len(b) == 0 { + goto bad + } + x = uint64(b[0]) + if x < 0x80 { + return x, 1 + } + x -= 0x80 + + if len(b) <= 1 { + goto bad + } + y = uint64(b[1]) + x += y << 7 + if y < 0x80 { + return x, 2 + } + x -= 0x80 << 7 + + if len(b) <= 2 { + goto bad + } + y = uint64(b[2]) + x += y << 14 + if y < 0x80 { + return x, 3 + } + x -= 0x80 << 14 + + if len(b) <= 3 { + goto bad + } + y = uint64(b[3]) + x += y << 21 + if y < 0x80 { + return x, 4 + } + x -= 0x80 << 21 + + if len(b) <= 4 { + goto bad + } + y = uint64(b[4]) + x += y << 28 + if y < 0x80 { + return x, 5 + } + x -= 0x80 << 28 + + if len(b) <= 5 { + goto bad + } + y = uint64(b[5]) + x += y << 35 + if y < 0x80 { + return x, 6 + } + x -= 0x80 << 35 + + if len(b) <= 6 { + goto bad + } + y = uint64(b[6]) + x += y << 42 + if y < 0x80 { + return x, 7 + } + x -= 0x80 << 42 + + if len(b) <= 7 { + goto bad + } + y = uint64(b[7]) + x += y << 49 + if y < 0x80 { + return x, 8 + } + x -= 0x80 << 49 + + if len(b) <= 8 { + goto bad + } + y = uint64(b[8]) + x += y << 56 + if y < 0x80 { + return x, 9 + } + x -= 0x80 << 56 + + if len(b) <= 9 { + goto bad + } + y = uint64(b[9]) + x += y << 63 + if y < 2 { + return x, 10 + } + +bad: + return 0, 0 +} diff --git a/vendor/github.com/golang/protobuf/proto/text.go b/vendor/github.com/golang/protobuf/proto/text.go new file mode 100644 index 00000000..1aaee725 --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/text.go @@ -0,0 +1,843 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +// Functions for writing the text protocol buffer format. + +import ( + "bufio" + "bytes" + "encoding" + "errors" + "fmt" + "io" + "log" + "math" + "reflect" + "sort" + "strings" +) + +var ( + newline = []byte("\n") + spaces = []byte(" ") + endBraceNewline = []byte("}\n") + backslashN = []byte{'\\', 'n'} + backslashR = []byte{'\\', 'r'} + backslashT = []byte{'\\', 't'} + backslashDQ = []byte{'\\', '"'} + backslashBS = []byte{'\\', '\\'} + posInf = []byte("inf") + negInf = []byte("-inf") + nan = []byte("nan") +) + +type writer interface { + io.Writer + WriteByte(byte) error +} + +// textWriter is an io.Writer that tracks its indentation level. +type textWriter struct { + ind int + complete bool // if the current position is a complete line + compact bool // whether to write out as a one-liner + w writer +} + +func (w *textWriter) WriteString(s string) (n int, err error) { + if !strings.Contains(s, "\n") { + if !w.compact && w.complete { + w.writeIndent() + } + w.complete = false + return io.WriteString(w.w, s) + } + // WriteString is typically called without newlines, so this + // codepath and its copy are rare. We copy to avoid + // duplicating all of Write's logic here. + return w.Write([]byte(s)) +} + +func (w *textWriter) Write(p []byte) (n int, err error) { + newlines := bytes.Count(p, newline) + if newlines == 0 { + if !w.compact && w.complete { + w.writeIndent() + } + n, err = w.w.Write(p) + w.complete = false + return n, err + } + + frags := bytes.SplitN(p, newline, newlines+1) + if w.compact { + for i, frag := range frags { + if i > 0 { + if err := w.w.WriteByte(' '); err != nil { + return n, err + } + n++ + } + nn, err := w.w.Write(frag) + n += nn + if err != nil { + return n, err + } + } + return n, nil + } + + for i, frag := range frags { + if w.complete { + w.writeIndent() + } + nn, err := w.w.Write(frag) + n += nn + if err != nil { + return n, err + } + if i+1 < len(frags) { + if err := w.w.WriteByte('\n'); err != nil { + return n, err + } + n++ + } + } + w.complete = len(frags[len(frags)-1]) == 0 + return n, nil +} + +func (w *textWriter) WriteByte(c byte) error { + if w.compact && c == '\n' { + c = ' ' + } + if !w.compact && w.complete { + w.writeIndent() + } + err := w.w.WriteByte(c) + w.complete = c == '\n' + return err +} + +func (w *textWriter) indent() { w.ind++ } + +func (w *textWriter) unindent() { + if w.ind == 0 { + log.Print("proto: textWriter unindented too far") + return + } + w.ind-- +} + +func writeName(w *textWriter, props *Properties) error { + if _, err := w.WriteString(props.OrigName); err != nil { + return err + } + if props.Wire != "group" { + return w.WriteByte(':') + } + return nil +} + +func requiresQuotes(u string) bool { + // When type URL contains any characters except [0-9A-Za-z./\-]*, it must be quoted. + for _, ch := range u { + switch { + case ch == '.' || ch == '/' || ch == '_': + continue + case '0' <= ch && ch <= '9': + continue + case 'A' <= ch && ch <= 'Z': + continue + case 'a' <= ch && ch <= 'z': + continue + default: + return true + } + } + return false +} + +// isAny reports whether sv is a google.protobuf.Any message +func isAny(sv reflect.Value) bool { + type wkt interface { + XXX_WellKnownType() string + } + t, ok := sv.Addr().Interface().(wkt) + return ok && t.XXX_WellKnownType() == "Any" +} + +// writeProto3Any writes an expanded google.protobuf.Any message. +// +// It returns (false, nil) if sv value can't be unmarshaled (e.g. because +// required messages are not linked in). +// +// It returns (true, error) when sv was written in expanded format or an error +// was encountered. +func (tm *TextMarshaler) writeProto3Any(w *textWriter, sv reflect.Value) (bool, error) { + turl := sv.FieldByName("TypeUrl") + val := sv.FieldByName("Value") + if !turl.IsValid() || !val.IsValid() { + return true, errors.New("proto: invalid google.protobuf.Any message") + } + + b, ok := val.Interface().([]byte) + if !ok { + return true, errors.New("proto: invalid google.protobuf.Any message") + } + + parts := strings.Split(turl.String(), "/") + mt := MessageType(parts[len(parts)-1]) + if mt == nil { + return false, nil + } + m := reflect.New(mt.Elem()) + if err := Unmarshal(b, m.Interface().(Message)); err != nil { + return false, nil + } + w.Write([]byte("[")) + u := turl.String() + if requiresQuotes(u) { + writeString(w, u) + } else { + w.Write([]byte(u)) + } + if w.compact { + w.Write([]byte("]:<")) + } else { + w.Write([]byte("]: <\n")) + w.ind++ + } + if err := tm.writeStruct(w, m.Elem()); err != nil { + return true, err + } + if w.compact { + w.Write([]byte("> ")) + } else { + w.ind-- + w.Write([]byte(">\n")) + } + return true, nil +} + +func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error { + if tm.ExpandAny && isAny(sv) { + if canExpand, err := tm.writeProto3Any(w, sv); canExpand { + return err + } + } + st := sv.Type() + sprops := GetProperties(st) + for i := 0; i < sv.NumField(); i++ { + fv := sv.Field(i) + props := sprops.Prop[i] + name := st.Field(i).Name + + if name == "XXX_NoUnkeyedLiteral" { + continue + } + + if strings.HasPrefix(name, "XXX_") { + // There are two XXX_ fields: + // XXX_unrecognized []byte + // XXX_extensions map[int32]proto.Extension + // The first is handled here; + // the second is handled at the bottom of this function. + if name == "XXX_unrecognized" && !fv.IsNil() { + if err := writeUnknownStruct(w, fv.Interface().([]byte)); err != nil { + return err + } + } + continue + } + if fv.Kind() == reflect.Ptr && fv.IsNil() { + // Field not filled in. This could be an optional field or + // a required field that wasn't filled in. Either way, there + // isn't anything we can show for it. + continue + } + if fv.Kind() == reflect.Slice && fv.IsNil() { + // Repeated field that is empty, or a bytes field that is unused. + continue + } + + if props.Repeated && fv.Kind() == reflect.Slice { + // Repeated field. + for j := 0; j < fv.Len(); j++ { + if err := writeName(w, props); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + v := fv.Index(j) + if v.Kind() == reflect.Ptr && v.IsNil() { + // A nil message in a repeated field is not valid, + // but we can handle that more gracefully than panicking. + if _, err := w.Write([]byte("\n")); err != nil { + return err + } + continue + } + if err := tm.writeAny(w, v, props); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + } + continue + } + if fv.Kind() == reflect.Map { + // Map fields are rendered as a repeated struct with key/value fields. + keys := fv.MapKeys() + sort.Sort(mapKeys(keys)) + for _, key := range keys { + val := fv.MapIndex(key) + if err := writeName(w, props); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + // open struct + if err := w.WriteByte('<'); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte('\n'); err != nil { + return err + } + } + w.indent() + // key + if _, err := w.WriteString("key:"); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if err := tm.writeAny(w, key, props.MapKeyProp); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + // nil values aren't legal, but we can avoid panicking because of them. + if val.Kind() != reflect.Ptr || !val.IsNil() { + // value + if _, err := w.WriteString("value:"); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if err := tm.writeAny(w, val, props.MapValProp); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + } + // close struct + w.unindent() + if err := w.WriteByte('>'); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + } + continue + } + if props.proto3 && fv.Kind() == reflect.Slice && fv.Len() == 0 { + // empty bytes field + continue + } + if fv.Kind() != reflect.Ptr && fv.Kind() != reflect.Slice { + // proto3 non-repeated scalar field; skip if zero value + if isProto3Zero(fv) { + continue + } + } + + if fv.Kind() == reflect.Interface { + // Check if it is a oneof. + if st.Field(i).Tag.Get("protobuf_oneof") != "" { + // fv is nil, or holds a pointer to generated struct. + // That generated struct has exactly one field, + // which has a protobuf struct tag. + if fv.IsNil() { + continue + } + inner := fv.Elem().Elem() // interface -> *T -> T + tag := inner.Type().Field(0).Tag.Get("protobuf") + props = new(Properties) // Overwrite the outer props var, but not its pointee. + props.Parse(tag) + // Write the value in the oneof, not the oneof itself. + fv = inner.Field(0) + + // Special case to cope with malformed messages gracefully: + // If the value in the oneof is a nil pointer, don't panic + // in writeAny. + if fv.Kind() == reflect.Ptr && fv.IsNil() { + // Use errors.New so writeAny won't render quotes. + msg := errors.New("/* nil */") + fv = reflect.ValueOf(&msg).Elem() + } + } + } + + if err := writeName(w, props); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + + // Enums have a String method, so writeAny will work fine. + if err := tm.writeAny(w, fv, props); err != nil { + return err + } + + if err := w.WriteByte('\n'); err != nil { + return err + } + } + + // Extensions (the XXX_extensions field). + pv := sv.Addr() + if _, err := extendable(pv.Interface()); err == nil { + if err := tm.writeExtensions(w, pv); err != nil { + return err + } + } + + return nil +} + +// writeAny writes an arbitrary field. +func (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error { + v = reflect.Indirect(v) + + // Floats have special cases. + if v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 { + x := v.Float() + var b []byte + switch { + case math.IsInf(x, 1): + b = posInf + case math.IsInf(x, -1): + b = negInf + case math.IsNaN(x): + b = nan + } + if b != nil { + _, err := w.Write(b) + return err + } + // Other values are handled below. + } + + // We don't attempt to serialise every possible value type; only those + // that can occur in protocol buffers. + switch v.Kind() { + case reflect.Slice: + // Should only be a []byte; repeated fields are handled in writeStruct. + if err := writeString(w, string(v.Bytes())); err != nil { + return err + } + case reflect.String: + if err := writeString(w, v.String()); err != nil { + return err + } + case reflect.Struct: + // Required/optional group/message. + var bra, ket byte = '<', '>' + if props != nil && props.Wire == "group" { + bra, ket = '{', '}' + } + if err := w.WriteByte(bra); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte('\n'); err != nil { + return err + } + } + w.indent() + if v.CanAddr() { + // Calling v.Interface on a struct causes the reflect package to + // copy the entire struct. This is racy with the new Marshaler + // since we atomically update the XXX_sizecache. + // + // Thus, we retrieve a pointer to the struct if possible to avoid + // a race since v.Interface on the pointer doesn't copy the struct. + // + // If v is not addressable, then we are not worried about a race + // since it implies that the binary Marshaler cannot possibly be + // mutating this value. + v = v.Addr() + } + if etm, ok := v.Interface().(encoding.TextMarshaler); ok { + text, err := etm.MarshalText() + if err != nil { + return err + } + if _, err = w.Write(text); err != nil { + return err + } + } else { + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + if err := tm.writeStruct(w, v); err != nil { + return err + } + } + w.unindent() + if err := w.WriteByte(ket); err != nil { + return err + } + default: + _, err := fmt.Fprint(w, v.Interface()) + return err + } + return nil +} + +// equivalent to C's isprint. +func isprint(c byte) bool { + return c >= 0x20 && c < 0x7f +} + +// writeString writes a string in the protocol buffer text format. +// It is similar to strconv.Quote except we don't use Go escape sequences, +// we treat the string as a byte sequence, and we use octal escapes. +// These differences are to maintain interoperability with the other +// languages' implementations of the text format. +func writeString(w *textWriter, s string) error { + // use WriteByte here to get any needed indent + if err := w.WriteByte('"'); err != nil { + return err + } + // Loop over the bytes, not the runes. + for i := 0; i < len(s); i++ { + var err error + // Divergence from C++: we don't escape apostrophes. + // There's no need to escape them, and the C++ parser + // copes with a naked apostrophe. + switch c := s[i]; c { + case '\n': + _, err = w.w.Write(backslashN) + case '\r': + _, err = w.w.Write(backslashR) + case '\t': + _, err = w.w.Write(backslashT) + case '"': + _, err = w.w.Write(backslashDQ) + case '\\': + _, err = w.w.Write(backslashBS) + default: + if isprint(c) { + err = w.w.WriteByte(c) + } else { + _, err = fmt.Fprintf(w.w, "\\%03o", c) + } + } + if err != nil { + return err + } + } + return w.WriteByte('"') +} + +func writeUnknownStruct(w *textWriter, data []byte) (err error) { + if !w.compact { + if _, err := fmt.Fprintf(w, "/* %d unknown bytes */\n", len(data)); err != nil { + return err + } + } + b := NewBuffer(data) + for b.index < len(b.buf) { + x, err := b.DecodeVarint() + if err != nil { + _, err := fmt.Fprintf(w, "/* %v */\n", err) + return err + } + wire, tag := x&7, x>>3 + if wire == WireEndGroup { + w.unindent() + if _, err := w.Write(endBraceNewline); err != nil { + return err + } + continue + } + if _, err := fmt.Fprint(w, tag); err != nil { + return err + } + if wire != WireStartGroup { + if err := w.WriteByte(':'); err != nil { + return err + } + } + if !w.compact || wire == WireStartGroup { + if err := w.WriteByte(' '); err != nil { + return err + } + } + switch wire { + case WireBytes: + buf, e := b.DecodeRawBytes(false) + if e == nil { + _, err = fmt.Fprintf(w, "%q", buf) + } else { + _, err = fmt.Fprintf(w, "/* %v */", e) + } + case WireFixed32: + x, err = b.DecodeFixed32() + err = writeUnknownInt(w, x, err) + case WireFixed64: + x, err = b.DecodeFixed64() + err = writeUnknownInt(w, x, err) + case WireStartGroup: + err = w.WriteByte('{') + w.indent() + case WireVarint: + x, err = b.DecodeVarint() + err = writeUnknownInt(w, x, err) + default: + _, err = fmt.Fprintf(w, "/* unknown wire type %d */", wire) + } + if err != nil { + return err + } + if err = w.WriteByte('\n'); err != nil { + return err + } + } + return nil +} + +func writeUnknownInt(w *textWriter, x uint64, err error) error { + if err == nil { + _, err = fmt.Fprint(w, x) + } else { + _, err = fmt.Fprintf(w, "/* %v */", err) + } + return err +} + +type int32Slice []int32 + +func (s int32Slice) Len() int { return len(s) } +func (s int32Slice) Less(i, j int) bool { return s[i] < s[j] } +func (s int32Slice) Swap(i, j int) { s[i], s[j] = s[j], s[i] } + +// writeExtensions writes all the extensions in pv. +// pv is assumed to be a pointer to a protocol message struct that is extendable. +func (tm *TextMarshaler) writeExtensions(w *textWriter, pv reflect.Value) error { + emap := extensionMaps[pv.Type().Elem()] + ep, _ := extendable(pv.Interface()) + + // Order the extensions by ID. + // This isn't strictly necessary, but it will give us + // canonical output, which will also make testing easier. + m, mu := ep.extensionsRead() + if m == nil { + return nil + } + mu.Lock() + ids := make([]int32, 0, len(m)) + for id := range m { + ids = append(ids, id) + } + sort.Sort(int32Slice(ids)) + mu.Unlock() + + for _, extNum := range ids { + ext := m[extNum] + var desc *ExtensionDesc + if emap != nil { + desc = emap[extNum] + } + if desc == nil { + // Unknown extension. + if err := writeUnknownStruct(w, ext.enc); err != nil { + return err + } + continue + } + + pb, err := GetExtension(ep, desc) + if err != nil { + return fmt.Errorf("failed getting extension: %v", err) + } + + // Repeated extensions will appear as a slice. + if !desc.repeated() { + if err := tm.writeExtension(w, desc.Name, pb); err != nil { + return err + } + } else { + v := reflect.ValueOf(pb) + for i := 0; i < v.Len(); i++ { + if err := tm.writeExtension(w, desc.Name, v.Index(i).Interface()); err != nil { + return err + } + } + } + } + return nil +} + +func (tm *TextMarshaler) writeExtension(w *textWriter, name string, pb interface{}) error { + if _, err := fmt.Fprintf(w, "[%s]:", name); err != nil { + return err + } + if !w.compact { + if err := w.WriteByte(' '); err != nil { + return err + } + } + if err := tm.writeAny(w, reflect.ValueOf(pb), nil); err != nil { + return err + } + if err := w.WriteByte('\n'); err != nil { + return err + } + return nil +} + +func (w *textWriter) writeIndent() { + if !w.complete { + return + } + remain := w.ind * 2 + for remain > 0 { + n := remain + if n > len(spaces) { + n = len(spaces) + } + w.w.Write(spaces[:n]) + remain -= n + } + w.complete = false +} + +// TextMarshaler is a configurable text format marshaler. +type TextMarshaler struct { + Compact bool // use compact text format (one line). + ExpandAny bool // expand google.protobuf.Any messages of known types +} + +// Marshal writes a given protocol buffer in text format. +// The only errors returned are from w. +func (tm *TextMarshaler) Marshal(w io.Writer, pb Message) error { + val := reflect.ValueOf(pb) + if pb == nil || val.IsNil() { + w.Write([]byte("")) + return nil + } + var bw *bufio.Writer + ww, ok := w.(writer) + if !ok { + bw = bufio.NewWriter(w) + ww = bw + } + aw := &textWriter{ + w: ww, + complete: true, + compact: tm.Compact, + } + + if etm, ok := pb.(encoding.TextMarshaler); ok { + text, err := etm.MarshalText() + if err != nil { + return err + } + if _, err = aw.Write(text); err != nil { + return err + } + if bw != nil { + return bw.Flush() + } + return nil + } + // Dereference the received pointer so we don't have outer < and >. + v := reflect.Indirect(val) + if err := tm.writeStruct(aw, v); err != nil { + return err + } + if bw != nil { + return bw.Flush() + } + return nil +} + +// Text is the same as Marshal, but returns the string directly. +func (tm *TextMarshaler) Text(pb Message) string { + var buf bytes.Buffer + tm.Marshal(&buf, pb) + return buf.String() +} + +var ( + defaultTextMarshaler = TextMarshaler{} + compactTextMarshaler = TextMarshaler{Compact: true} +) + +// TODO: consider removing some of the Marshal functions below. + +// MarshalText writes a given protocol buffer in text format. +// The only errors returned are from w. +func MarshalText(w io.Writer, pb Message) error { return defaultTextMarshaler.Marshal(w, pb) } + +// MarshalTextString is the same as MarshalText, but returns the string directly. +func MarshalTextString(pb Message) string { return defaultTextMarshaler.Text(pb) } + +// CompactText writes a given protocol buffer in compact text format (one line). +func CompactText(w io.Writer, pb Message) error { return compactTextMarshaler.Marshal(w, pb) } + +// CompactTextString is the same as CompactText, but returns the string directly. +func CompactTextString(pb Message) string { return compactTextMarshaler.Text(pb) } diff --git a/vendor/github.com/golang/protobuf/proto/text_parser.go b/vendor/github.com/golang/protobuf/proto/text_parser.go new file mode 100644 index 00000000..bb55a3af --- /dev/null +++ b/vendor/github.com/golang/protobuf/proto/text_parser.go @@ -0,0 +1,880 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2010 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +// Functions for parsing the Text protocol buffer format. +// TODO: message sets. + +import ( + "encoding" + "errors" + "fmt" + "reflect" + "strconv" + "strings" + "unicode/utf8" +) + +// Error string emitted when deserializing Any and fields are already set +const anyRepeatedlyUnpacked = "Any message unpacked multiple times, or %q already set" + +type ParseError struct { + Message string + Line int // 1-based line number + Offset int // 0-based byte offset from start of input +} + +func (p *ParseError) Error() string { + if p.Line == 1 { + // show offset only for first line + return fmt.Sprintf("line 1.%d: %v", p.Offset, p.Message) + } + return fmt.Sprintf("line %d: %v", p.Line, p.Message) +} + +type token struct { + value string + err *ParseError + line int // line number + offset int // byte number from start of input, not start of line + unquoted string // the unquoted version of value, if it was a quoted string +} + +func (t *token) String() string { + if t.err == nil { + return fmt.Sprintf("%q (line=%d, offset=%d)", t.value, t.line, t.offset) + } + return fmt.Sprintf("parse error: %v", t.err) +} + +type textParser struct { + s string // remaining input + done bool // whether the parsing is finished (success or error) + backed bool // whether back() was called + offset, line int + cur token +} + +func newTextParser(s string) *textParser { + p := new(textParser) + p.s = s + p.line = 1 + p.cur.line = 1 + return p +} + +func (p *textParser) errorf(format string, a ...interface{}) *ParseError { + pe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset} + p.cur.err = pe + p.done = true + return pe +} + +// Numbers and identifiers are matched by [-+._A-Za-z0-9] +func isIdentOrNumberChar(c byte) bool { + switch { + case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z': + return true + case '0' <= c && c <= '9': + return true + } + switch c { + case '-', '+', '.', '_': + return true + } + return false +} + +func isWhitespace(c byte) bool { + switch c { + case ' ', '\t', '\n', '\r': + return true + } + return false +} + +func isQuote(c byte) bool { + switch c { + case '"', '\'': + return true + } + return false +} + +func (p *textParser) skipWhitespace() { + i := 0 + for i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') { + if p.s[i] == '#' { + // comment; skip to end of line or input + for i < len(p.s) && p.s[i] != '\n' { + i++ + } + if i == len(p.s) { + break + } + } + if p.s[i] == '\n' { + p.line++ + } + i++ + } + p.offset += i + p.s = p.s[i:len(p.s)] + if len(p.s) == 0 { + p.done = true + } +} + +func (p *textParser) advance() { + // Skip whitespace + p.skipWhitespace() + if p.done { + return + } + + // Start of non-whitespace + p.cur.err = nil + p.cur.offset, p.cur.line = p.offset, p.line + p.cur.unquoted = "" + switch p.s[0] { + case '<', '>', '{', '}', ':', '[', ']', ';', ',', '/': + // Single symbol + p.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)] + case '"', '\'': + // Quoted string + i := 1 + for i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\n' { + if p.s[i] == '\\' && i+1 < len(p.s) { + // skip escaped char + i++ + } + i++ + } + if i >= len(p.s) || p.s[i] != p.s[0] { + p.errorf("unmatched quote") + return + } + unq, err := unquoteC(p.s[1:i], rune(p.s[0])) + if err != nil { + p.errorf("invalid quoted string %s: %v", p.s[0:i+1], err) + return + } + p.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)] + p.cur.unquoted = unq + default: + i := 0 + for i < len(p.s) && isIdentOrNumberChar(p.s[i]) { + i++ + } + if i == 0 { + p.errorf("unexpected byte %#x", p.s[0]) + return + } + p.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)] + } + p.offset += len(p.cur.value) +} + +var ( + errBadUTF8 = errors.New("proto: bad UTF-8") +) + +func unquoteC(s string, quote rune) (string, error) { + // This is based on C++'s tokenizer.cc. + // Despite its name, this is *not* parsing C syntax. + // For instance, "\0" is an invalid quoted string. + + // Avoid allocation in trivial cases. + simple := true + for _, r := range s { + if r == '\\' || r == quote { + simple = false + break + } + } + if simple { + return s, nil + } + + buf := make([]byte, 0, 3*len(s)/2) + for len(s) > 0 { + r, n := utf8.DecodeRuneInString(s) + if r == utf8.RuneError && n == 1 { + return "", errBadUTF8 + } + s = s[n:] + if r != '\\' { + if r < utf8.RuneSelf { + buf = append(buf, byte(r)) + } else { + buf = append(buf, string(r)...) + } + continue + } + + ch, tail, err := unescape(s) + if err != nil { + return "", err + } + buf = append(buf, ch...) + s = tail + } + return string(buf), nil +} + +func unescape(s string) (ch string, tail string, err error) { + r, n := utf8.DecodeRuneInString(s) + if r == utf8.RuneError && n == 1 { + return "", "", errBadUTF8 + } + s = s[n:] + switch r { + case 'a': + return "\a", s, nil + case 'b': + return "\b", s, nil + case 'f': + return "\f", s, nil + case 'n': + return "\n", s, nil + case 'r': + return "\r", s, nil + case 't': + return "\t", s, nil + case 'v': + return "\v", s, nil + case '?': + return "?", s, nil // trigraph workaround + case '\'', '"', '\\': + return string(r), s, nil + case '0', '1', '2', '3', '4', '5', '6', '7': + if len(s) < 2 { + return "", "", fmt.Errorf(`\%c requires 2 following digits`, r) + } + ss := string(r) + s[:2] + s = s[2:] + i, err := strconv.ParseUint(ss, 8, 8) + if err != nil { + return "", "", fmt.Errorf(`\%s contains non-octal digits`, ss) + } + return string([]byte{byte(i)}), s, nil + case 'x', 'X', 'u', 'U': + var n int + switch r { + case 'x', 'X': + n = 2 + case 'u': + n = 4 + case 'U': + n = 8 + } + if len(s) < n { + return "", "", fmt.Errorf(`\%c requires %d following digits`, r, n) + } + ss := s[:n] + s = s[n:] + i, err := strconv.ParseUint(ss, 16, 64) + if err != nil { + return "", "", fmt.Errorf(`\%c%s contains non-hexadecimal digits`, r, ss) + } + if r == 'x' || r == 'X' { + return string([]byte{byte(i)}), s, nil + } + if i > utf8.MaxRune { + return "", "", fmt.Errorf(`\%c%s is not a valid Unicode code point`, r, ss) + } + return string(i), s, nil + } + return "", "", fmt.Errorf(`unknown escape \%c`, r) +} + +// Back off the parser by one token. Can only be done between calls to next(). +// It makes the next advance() a no-op. +func (p *textParser) back() { p.backed = true } + +// Advances the parser and returns the new current token. +func (p *textParser) next() *token { + if p.backed || p.done { + p.backed = false + return &p.cur + } + p.advance() + if p.done { + p.cur.value = "" + } else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) { + // Look for multiple quoted strings separated by whitespace, + // and concatenate them. + cat := p.cur + for { + p.skipWhitespace() + if p.done || !isQuote(p.s[0]) { + break + } + p.advance() + if p.cur.err != nil { + return &p.cur + } + cat.value += " " + p.cur.value + cat.unquoted += p.cur.unquoted + } + p.done = false // parser may have seen EOF, but we want to return cat + p.cur = cat + } + return &p.cur +} + +func (p *textParser) consumeToken(s string) error { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value != s { + p.back() + return p.errorf("expected %q, found %q", s, tok.value) + } + return nil +} + +// Return a RequiredNotSetError indicating which required field was not set. +func (p *textParser) missingRequiredFieldError(sv reflect.Value) *RequiredNotSetError { + st := sv.Type() + sprops := GetProperties(st) + for i := 0; i < st.NumField(); i++ { + if !isNil(sv.Field(i)) { + continue + } + + props := sprops.Prop[i] + if props.Required { + return &RequiredNotSetError{fmt.Sprintf("%v.%v", st, props.OrigName)} + } + } + return &RequiredNotSetError{fmt.Sprintf("%v.", st)} // should not happen +} + +// Returns the index in the struct for the named field, as well as the parsed tag properties. +func structFieldByName(sprops *StructProperties, name string) (int, *Properties, bool) { + i, ok := sprops.decoderOrigNames[name] + if ok { + return i, sprops.Prop[i], true + } + return -1, nil, false +} + +// Consume a ':' from the input stream (if the next token is a colon), +// returning an error if a colon is needed but not present. +func (p *textParser) checkForColon(props *Properties, typ reflect.Type) *ParseError { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value != ":" { + // Colon is optional when the field is a group or message. + needColon := true + switch props.Wire { + case "group": + needColon = false + case "bytes": + // A "bytes" field is either a message, a string, or a repeated field; + // those three become *T, *string and []T respectively, so we can check for + // this field being a pointer to a non-string. + if typ.Kind() == reflect.Ptr { + // *T or *string + if typ.Elem().Kind() == reflect.String { + break + } + } else if typ.Kind() == reflect.Slice { + // []T or []*T + if typ.Elem().Kind() != reflect.Ptr { + break + } + } else if typ.Kind() == reflect.String { + // The proto3 exception is for a string field, + // which requires a colon. + break + } + needColon = false + } + if needColon { + return p.errorf("expected ':', found %q", tok.value) + } + p.back() + } + return nil +} + +func (p *textParser) readStruct(sv reflect.Value, terminator string) error { + st := sv.Type() + sprops := GetProperties(st) + reqCount := sprops.reqCount + var reqFieldErr error + fieldSet := make(map[string]bool) + // A struct is a sequence of "name: value", terminated by one of + // '>' or '}', or the end of the input. A name may also be + // "[extension]" or "[type/url]". + // + // The whole struct can also be an expanded Any message, like: + // [type/url] < ... struct contents ... > + for { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == terminator { + break + } + if tok.value == "[" { + // Looks like an extension or an Any. + // + // TODO: Check whether we need to handle + // namespace rooted names (e.g. ".something.Foo"). + extName, err := p.consumeExtName() + if err != nil { + return err + } + + if s := strings.LastIndex(extName, "/"); s >= 0 { + // If it contains a slash, it's an Any type URL. + messageName := extName[s+1:] + mt := MessageType(messageName) + if mt == nil { + return p.errorf("unrecognized message %q in google.protobuf.Any", messageName) + } + tok = p.next() + if tok.err != nil { + return tok.err + } + // consume an optional colon + if tok.value == ":" { + tok = p.next() + if tok.err != nil { + return tok.err + } + } + var terminator string + switch tok.value { + case "<": + terminator = ">" + case "{": + terminator = "}" + default: + return p.errorf("expected '{' or '<', found %q", tok.value) + } + v := reflect.New(mt.Elem()) + if pe := p.readStruct(v.Elem(), terminator); pe != nil { + return pe + } + b, err := Marshal(v.Interface().(Message)) + if err != nil { + return p.errorf("failed to marshal message of type %q: %v", messageName, err) + } + if fieldSet["type_url"] { + return p.errorf(anyRepeatedlyUnpacked, "type_url") + } + if fieldSet["value"] { + return p.errorf(anyRepeatedlyUnpacked, "value") + } + sv.FieldByName("TypeUrl").SetString(extName) + sv.FieldByName("Value").SetBytes(b) + fieldSet["type_url"] = true + fieldSet["value"] = true + continue + } + + var desc *ExtensionDesc + // This could be faster, but it's functional. + // TODO: Do something smarter than a linear scan. + for _, d := range RegisteredExtensions(reflect.New(st).Interface().(Message)) { + if d.Name == extName { + desc = d + break + } + } + if desc == nil { + return p.errorf("unrecognized extension %q", extName) + } + + props := &Properties{} + props.Parse(desc.Tag) + + typ := reflect.TypeOf(desc.ExtensionType) + if err := p.checkForColon(props, typ); err != nil { + return err + } + + rep := desc.repeated() + + // Read the extension structure, and set it in + // the value we're constructing. + var ext reflect.Value + if !rep { + ext = reflect.New(typ).Elem() + } else { + ext = reflect.New(typ.Elem()).Elem() + } + if err := p.readAny(ext, props); err != nil { + if _, ok := err.(*RequiredNotSetError); !ok { + return err + } + reqFieldErr = err + } + ep := sv.Addr().Interface().(Message) + if !rep { + SetExtension(ep, desc, ext.Interface()) + } else { + old, err := GetExtension(ep, desc) + var sl reflect.Value + if err == nil { + sl = reflect.ValueOf(old) // existing slice + } else { + sl = reflect.MakeSlice(typ, 0, 1) + } + sl = reflect.Append(sl, ext) + SetExtension(ep, desc, sl.Interface()) + } + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + continue + } + + // This is a normal, non-extension field. + name := tok.value + var dst reflect.Value + fi, props, ok := structFieldByName(sprops, name) + if ok { + dst = sv.Field(fi) + } else if oop, ok := sprops.OneofTypes[name]; ok { + // It is a oneof. + props = oop.Prop + nv := reflect.New(oop.Type.Elem()) + dst = nv.Elem().Field(0) + field := sv.Field(oop.Field) + if !field.IsNil() { + return p.errorf("field '%s' would overwrite already parsed oneof '%s'", name, sv.Type().Field(oop.Field).Name) + } + field.Set(nv) + } + if !dst.IsValid() { + return p.errorf("unknown field name %q in %v", name, st) + } + + if dst.Kind() == reflect.Map { + // Consume any colon. + if err := p.checkForColon(props, dst.Type()); err != nil { + return err + } + + // Construct the map if it doesn't already exist. + if dst.IsNil() { + dst.Set(reflect.MakeMap(dst.Type())) + } + key := reflect.New(dst.Type().Key()).Elem() + val := reflect.New(dst.Type().Elem()).Elem() + + // The map entry should be this sequence of tokens: + // < key : KEY value : VALUE > + // However, implementations may omit key or value, and technically + // we should support them in any order. See b/28924776 for a time + // this went wrong. + + tok := p.next() + var terminator string + switch tok.value { + case "<": + terminator = ">" + case "{": + terminator = "}" + default: + return p.errorf("expected '{' or '<', found %q", tok.value) + } + for { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == terminator { + break + } + switch tok.value { + case "key": + if err := p.consumeToken(":"); err != nil { + return err + } + if err := p.readAny(key, props.MapKeyProp); err != nil { + return err + } + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + case "value": + if err := p.checkForColon(props.MapValProp, dst.Type().Elem()); err != nil { + return err + } + if err := p.readAny(val, props.MapValProp); err != nil { + return err + } + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + default: + p.back() + return p.errorf(`expected "key", "value", or %q, found %q`, terminator, tok.value) + } + } + + dst.SetMapIndex(key, val) + continue + } + + // Check that it's not already set if it's not a repeated field. + if !props.Repeated && fieldSet[name] { + return p.errorf("non-repeated field %q was repeated", name) + } + + if err := p.checkForColon(props, dst.Type()); err != nil { + return err + } + + // Parse into the field. + fieldSet[name] = true + if err := p.readAny(dst, props); err != nil { + if _, ok := err.(*RequiredNotSetError); !ok { + return err + } + reqFieldErr = err + } + if props.Required { + reqCount-- + } + + if err := p.consumeOptionalSeparator(); err != nil { + return err + } + + } + + if reqCount > 0 { + return p.missingRequiredFieldError(sv) + } + return reqFieldErr +} + +// consumeExtName consumes extension name or expanded Any type URL and the +// following ']'. It returns the name or URL consumed. +func (p *textParser) consumeExtName() (string, error) { + tok := p.next() + if tok.err != nil { + return "", tok.err + } + + // If extension name or type url is quoted, it's a single token. + if len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] { + name, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0])) + if err != nil { + return "", err + } + return name, p.consumeToken("]") + } + + // Consume everything up to "]" + var parts []string + for tok.value != "]" { + parts = append(parts, tok.value) + tok = p.next() + if tok.err != nil { + return "", p.errorf("unrecognized type_url or extension name: %s", tok.err) + } + if p.done && tok.value != "]" { + return "", p.errorf("unclosed type_url or extension name") + } + } + return strings.Join(parts, ""), nil +} + +// consumeOptionalSeparator consumes an optional semicolon or comma. +// It is used in readStruct to provide backward compatibility. +func (p *textParser) consumeOptionalSeparator() error { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value != ";" && tok.value != "," { + p.back() + } + return nil +} + +func (p *textParser) readAny(v reflect.Value, props *Properties) error { + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == "" { + return p.errorf("unexpected EOF") + } + + switch fv := v; fv.Kind() { + case reflect.Slice: + at := v.Type() + if at.Elem().Kind() == reflect.Uint8 { + // Special case for []byte + if tok.value[0] != '"' && tok.value[0] != '\'' { + // Deliberately written out here, as the error after + // this switch statement would write "invalid []byte: ...", + // which is not as user-friendly. + return p.errorf("invalid string: %v", tok.value) + } + bytes := []byte(tok.unquoted) + fv.Set(reflect.ValueOf(bytes)) + return nil + } + // Repeated field. + if tok.value == "[" { + // Repeated field with list notation, like [1,2,3]. + for { + fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem())) + err := p.readAny(fv.Index(fv.Len()-1), props) + if err != nil { + return err + } + tok := p.next() + if tok.err != nil { + return tok.err + } + if tok.value == "]" { + break + } + if tok.value != "," { + return p.errorf("Expected ']' or ',' found %q", tok.value) + } + } + return nil + } + // One value of the repeated field. + p.back() + fv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem())) + return p.readAny(fv.Index(fv.Len()-1), props) + case reflect.Bool: + // true/1/t/True or false/f/0/False. + switch tok.value { + case "true", "1", "t", "True": + fv.SetBool(true) + return nil + case "false", "0", "f", "False": + fv.SetBool(false) + return nil + } + case reflect.Float32, reflect.Float64: + v := tok.value + // Ignore 'f' for compatibility with output generated by C++, but don't + // remove 'f' when the value is "-inf" or "inf". + if strings.HasSuffix(v, "f") && tok.value != "-inf" && tok.value != "inf" { + v = v[:len(v)-1] + } + if f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil { + fv.SetFloat(f) + return nil + } + case reflect.Int32: + if x, err := strconv.ParseInt(tok.value, 0, 32); err == nil { + fv.SetInt(x) + return nil + } + + if len(props.Enum) == 0 { + break + } + m, ok := enumValueMaps[props.Enum] + if !ok { + break + } + x, ok := m[tok.value] + if !ok { + break + } + fv.SetInt(int64(x)) + return nil + case reflect.Int64: + if x, err := strconv.ParseInt(tok.value, 0, 64); err == nil { + fv.SetInt(x) + return nil + } + + case reflect.Ptr: + // A basic field (indirected through pointer), or a repeated message/group + p.back() + fv.Set(reflect.New(fv.Type().Elem())) + return p.readAny(fv.Elem(), props) + case reflect.String: + if tok.value[0] == '"' || tok.value[0] == '\'' { + fv.SetString(tok.unquoted) + return nil + } + case reflect.Struct: + var terminator string + switch tok.value { + case "{": + terminator = "}" + case "<": + terminator = ">" + default: + return p.errorf("expected '{' or '<', found %q", tok.value) + } + // TODO: Handle nested messages which implement encoding.TextUnmarshaler. + return p.readStruct(fv, terminator) + case reflect.Uint32: + if x, err := strconv.ParseUint(tok.value, 0, 32); err == nil { + fv.SetUint(uint64(x)) + return nil + } + case reflect.Uint64: + if x, err := strconv.ParseUint(tok.value, 0, 64); err == nil { + fv.SetUint(x) + return nil + } + } + return p.errorf("invalid %v: %v", v.Type(), tok.value) +} + +// UnmarshalText reads a protocol buffer in Text format. UnmarshalText resets pb +// before starting to unmarshal, so any existing data in pb is always removed. +// If a required field is not set and no other error occurs, +// UnmarshalText returns *RequiredNotSetError. +func UnmarshalText(s string, pb Message) error { + if um, ok := pb.(encoding.TextUnmarshaler); ok { + return um.UnmarshalText([]byte(s)) + } + pb.Reset() + v := reflect.ValueOf(pb) + return newTextParser(s).readStruct(v.Elem(), "") +} diff --git a/vendor/github.com/gopherjs/gopherjs/LICENSE b/vendor/github.com/gopherjs/gopherjs/LICENSE new file mode 100644 index 00000000..d496fef1 --- /dev/null +++ b/vendor/github.com/gopherjs/gopherjs/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2013 Richard Musiol. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gopherjs/gopherjs/js/js.go b/vendor/github.com/gopherjs/gopherjs/js/js.go new file mode 100644 index 00000000..3fbf1d88 --- /dev/null +++ b/vendor/github.com/gopherjs/gopherjs/js/js.go @@ -0,0 +1,168 @@ +// Package js provides functions for interacting with native JavaScript APIs. Calls to these functions are treated specially by GopherJS and translated directly to their corresponding JavaScript syntax. +// +// Use MakeWrapper to expose methods to JavaScript. When passing values directly, the following type conversions are performed: +// +// | Go type | JavaScript type | Conversions back to interface{} | +// | --------------------- | --------------------- | ------------------------------- | +// | bool | Boolean | bool | +// | integers and floats | Number | float64 | +// | string | String | string | +// | []int8 | Int8Array | []int8 | +// | []int16 | Int16Array | []int16 | +// | []int32, []int | Int32Array | []int | +// | []uint8 | Uint8Array | []uint8 | +// | []uint16 | Uint16Array | []uint16 | +// | []uint32, []uint | Uint32Array | []uint | +// | []float32 | Float32Array | []float32 | +// | []float64 | Float64Array | []float64 | +// | all other slices | Array | []interface{} | +// | arrays | see slice type | see slice type | +// | functions | Function | func(...interface{}) *js.Object | +// | time.Time | Date | time.Time | +// | - | instanceof Node | *js.Object | +// | maps, structs | instanceof Object | map[string]interface{} | +// +// Additionally, for a struct containing a *js.Object field, only the content of the field will be passed to JavaScript and vice versa. +package js + +// Object is a container for a native JavaScript object. Calls to its methods are treated specially by GopherJS and translated directly to their JavaScript syntax. A nil pointer to Object is equal to JavaScript's "null". Object can not be used as a map key. +type Object struct{ object *Object } + +// Get returns the object's property with the given key. +func (o *Object) Get(key string) *Object { return o.object.Get(key) } + +// Set assigns the value to the object's property with the given key. +func (o *Object) Set(key string, value interface{}) { o.object.Set(key, value) } + +// Delete removes the object's property with the given key. +func (o *Object) Delete(key string) { o.object.Delete(key) } + +// Length returns the object's "length" property, converted to int. +func (o *Object) Length() int { return o.object.Length() } + +// Index returns the i'th element of an array. +func (o *Object) Index(i int) *Object { return o.object.Index(i) } + +// SetIndex sets the i'th element of an array. +func (o *Object) SetIndex(i int, value interface{}) { o.object.SetIndex(i, value) } + +// Call calls the object's method with the given name. +func (o *Object) Call(name string, args ...interface{}) *Object { return o.object.Call(name, args...) } + +// Invoke calls the object itself. This will fail if it is not a function. +func (o *Object) Invoke(args ...interface{}) *Object { return o.object.Invoke(args...) } + +// New creates a new instance of this type object. This will fail if it not a function (constructor). +func (o *Object) New(args ...interface{}) *Object { return o.object.New(args...) } + +// Bool returns the object converted to bool according to JavaScript type conversions. +func (o *Object) Bool() bool { return o.object.Bool() } + +// String returns the object converted to string according to JavaScript type conversions. +func (o *Object) String() string { return o.object.String() } + +// Int returns the object converted to int according to JavaScript type conversions (parseInt). +func (o *Object) Int() int { return o.object.Int() } + +// Int64 returns the object converted to int64 according to JavaScript type conversions (parseInt). +func (o *Object) Int64() int64 { return o.object.Int64() } + +// Uint64 returns the object converted to uint64 according to JavaScript type conversions (parseInt). +func (o *Object) Uint64() uint64 { return o.object.Uint64() } + +// Float returns the object converted to float64 according to JavaScript type conversions (parseFloat). +func (o *Object) Float() float64 { return o.object.Float() } + +// Interface returns the object converted to interface{}. See table in package comment for details. +func (o *Object) Interface() interface{} { return o.object.Interface() } + +// Unsafe returns the object as an uintptr, which can be converted via unsafe.Pointer. Not intended for public use. +func (o *Object) Unsafe() uintptr { return o.object.Unsafe() } + +// Error encapsulates JavaScript errors. Those are turned into a Go panic and may be recovered, giving an *Error that holds the JavaScript error object. +type Error struct { + *Object +} + +// Error returns the message of the encapsulated JavaScript error object. +func (err *Error) Error() string { + return "JavaScript error: " + err.Get("message").String() +} + +// Stack returns the stack property of the encapsulated JavaScript error object. +func (err *Error) Stack() string { + return err.Get("stack").String() +} + +// Global gives JavaScript's global object ("window" for browsers and "GLOBAL" for Node.js). +var Global *Object + +// Module gives the value of the "module" variable set by Node.js. Hint: Set a module export with 'js.Module.Get("exports").Set("exportName", ...)'. +var Module *Object + +// Undefined gives the JavaScript value "undefined". +var Undefined *Object + +// Debugger gets compiled to JavaScript's "debugger;" statement. +func Debugger() {} + +// InternalObject returns the internal JavaScript object that represents i. Not intended for public use. +func InternalObject(i interface{}) *Object { + return nil +} + +// MakeFunc wraps a function and gives access to the values of JavaScript's "this" and "arguments" keywords. +func MakeFunc(fn func(this *Object, arguments []*Object) interface{}) *Object { + return Global.Call("$makeFunc", InternalObject(fn)) +} + +// Keys returns the keys of the given JavaScript object. +func Keys(o *Object) []string { + if o == nil || o == Undefined { + return nil + } + a := Global.Get("Object").Call("keys", o) + s := make([]string, a.Length()) + for i := 0; i < a.Length(); i++ { + s[i] = a.Index(i).String() + } + return s +} + +// MakeWrapper creates a JavaScript object which has wrappers for the exported methods of i. Use explicit getter and setter methods to expose struct fields to JavaScript. +func MakeWrapper(i interface{}) *Object { + v := InternalObject(i) + o := Global.Get("Object").New() + o.Set("__internal_object__", v) + methods := v.Get("constructor").Get("methods") + for i := 0; i < methods.Length(); i++ { + m := methods.Index(i) + if m.Get("pkg").String() != "" { // not exported + continue + } + o.Set(m.Get("name").String(), func(args ...*Object) *Object { + return Global.Call("$externalizeFunction", v.Get(m.Get("prop").String()), m.Get("typ"), true).Call("apply", v, args) + }) + } + return o +} + +// NewArrayBuffer creates a JavaScript ArrayBuffer from a byte slice. +func NewArrayBuffer(b []byte) *Object { + slice := InternalObject(b) + offset := slice.Get("$offset").Int() + length := slice.Get("$length").Int() + return slice.Get("$array").Get("buffer").Call("slice", offset, offset+length) +} + +// M is a simple map type. It is intended as a shorthand for JavaScript objects (before conversion). +type M map[string]interface{} + +// S is a simple slice type. It is intended as a shorthand for JavaScript arrays (before conversion). +type S []interface{} + +func init() { + // avoid dead code elimination + e := Error{} + _ = e +} diff --git a/vendor/github.com/inconshreveable/mousetrap/LICENSE b/vendor/github.com/inconshreveable/mousetrap/LICENSE new file mode 100644 index 00000000..5f0d1fb6 --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/LICENSE @@ -0,0 +1,13 @@ +Copyright 2014 Alan Shreve + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/github.com/inconshreveable/mousetrap/README.md b/vendor/github.com/inconshreveable/mousetrap/README.md new file mode 100644 index 00000000..7a950d17 --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/README.md @@ -0,0 +1,23 @@ +# mousetrap + +mousetrap is a tiny library that answers a single question. + +On a Windows machine, was the process invoked by someone double clicking on +the executable file while browsing in explorer? + +### Motivation + +Windows developers unfamiliar with command line tools will often "double-click" +the executable for a tool. Because most CLI tools print the help and then exit +when invoked without arguments, this is often very frustrating for those users. + +mousetrap provides a way to detect these invocations so that you can provide +more helpful behavior and instructions on how to run the CLI tool. To see what +this looks like, both from an organizational and a technical perspective, see +https://inconshreveable.com/09-09-2014/sweat-the-small-stuff/ + +### The interface + +The library exposes a single interface: + + func StartedByExplorer() (bool) diff --git a/vendor/github.com/inconshreveable/mousetrap/trap_others.go b/vendor/github.com/inconshreveable/mousetrap/trap_others.go new file mode 100644 index 00000000..9d2d8a4b --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/trap_others.go @@ -0,0 +1,15 @@ +// +build !windows + +package mousetrap + +// StartedByExplorer returns true if the program was invoked by the user +// double-clicking on the executable from explorer.exe +// +// It is conservative and returns false if any of the internal calls fail. +// It does not guarantee that the program was run from a terminal. It only can tell you +// whether it was launched from explorer.exe +// +// On non-Windows platforms, it always returns false. +func StartedByExplorer() bool { + return false +} diff --git a/vendor/github.com/inconshreveable/mousetrap/trap_windows.go b/vendor/github.com/inconshreveable/mousetrap/trap_windows.go new file mode 100644 index 00000000..336142a5 --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/trap_windows.go @@ -0,0 +1,98 @@ +// +build windows +// +build !go1.4 + +package mousetrap + +import ( + "fmt" + "os" + "syscall" + "unsafe" +) + +const ( + // defined by the Win32 API + th32cs_snapprocess uintptr = 0x2 +) + +var ( + kernel = syscall.MustLoadDLL("kernel32.dll") + CreateToolhelp32Snapshot = kernel.MustFindProc("CreateToolhelp32Snapshot") + Process32First = kernel.MustFindProc("Process32FirstW") + Process32Next = kernel.MustFindProc("Process32NextW") +) + +// ProcessEntry32 structure defined by the Win32 API +type processEntry32 struct { + dwSize uint32 + cntUsage uint32 + th32ProcessID uint32 + th32DefaultHeapID int + th32ModuleID uint32 + cntThreads uint32 + th32ParentProcessID uint32 + pcPriClassBase int32 + dwFlags uint32 + szExeFile [syscall.MAX_PATH]uint16 +} + +func getProcessEntry(pid int) (pe *processEntry32, err error) { + snapshot, _, e1 := CreateToolhelp32Snapshot.Call(th32cs_snapprocess, uintptr(0)) + if snapshot == uintptr(syscall.InvalidHandle) { + err = fmt.Errorf("CreateToolhelp32Snapshot: %v", e1) + return + } + defer syscall.CloseHandle(syscall.Handle(snapshot)) + + var processEntry processEntry32 + processEntry.dwSize = uint32(unsafe.Sizeof(processEntry)) + ok, _, e1 := Process32First.Call(snapshot, uintptr(unsafe.Pointer(&processEntry))) + if ok == 0 { + err = fmt.Errorf("Process32First: %v", e1) + return + } + + for { + if processEntry.th32ProcessID == uint32(pid) { + pe = &processEntry + return + } + + ok, _, e1 = Process32Next.Call(snapshot, uintptr(unsafe.Pointer(&processEntry))) + if ok == 0 { + err = fmt.Errorf("Process32Next: %v", e1) + return + } + } +} + +func getppid() (pid int, err error) { + pe, err := getProcessEntry(os.Getpid()) + if err != nil { + return + } + + pid = int(pe.th32ParentProcessID) + return +} + +// StartedByExplorer returns true if the program was invoked by the user double-clicking +// on the executable from explorer.exe +// +// It is conservative and returns false if any of the internal calls fail. +// It does not guarantee that the program was run from a terminal. It only can tell you +// whether it was launched from explorer.exe +func StartedByExplorer() bool { + ppid, err := getppid() + if err != nil { + return false + } + + pe, err := getProcessEntry(ppid) + if err != nil { + return false + } + + name := syscall.UTF16ToString(pe.szExeFile[:]) + return name == "explorer.exe" +} diff --git a/vendor/github.com/inconshreveable/mousetrap/trap_windows_1.4.go b/vendor/github.com/inconshreveable/mousetrap/trap_windows_1.4.go new file mode 100644 index 00000000..9a28e57c --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/trap_windows_1.4.go @@ -0,0 +1,46 @@ +// +build windows +// +build go1.4 + +package mousetrap + +import ( + "os" + "syscall" + "unsafe" +) + +func getProcessEntry(pid int) (*syscall.ProcessEntry32, error) { + snapshot, err := syscall.CreateToolhelp32Snapshot(syscall.TH32CS_SNAPPROCESS, 0) + if err != nil { + return nil, err + } + defer syscall.CloseHandle(snapshot) + var procEntry syscall.ProcessEntry32 + procEntry.Size = uint32(unsafe.Sizeof(procEntry)) + if err = syscall.Process32First(snapshot, &procEntry); err != nil { + return nil, err + } + for { + if procEntry.ProcessID == uint32(pid) { + return &procEntry, nil + } + err = syscall.Process32Next(snapshot, &procEntry) + if err != nil { + return nil, err + } + } +} + +// StartedByExplorer returns true if the program was invoked by the user double-clicking +// on the executable from explorer.exe +// +// It is conservative and returns false if any of the internal calls fail. +// It does not guarantee that the program was run from a terminal. It only can tell you +// whether it was launched from explorer.exe +func StartedByExplorer() bool { + pe, err := getProcessEntry(os.Getppid()) + if err != nil { + return false + } + return "explorer.exe" == syscall.UTF16ToString(pe.ExeFile[:]) +} diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE b/vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE new file mode 100644 index 00000000..14127cd8 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE @@ -0,0 +1,9 @@ +(The MIT License) + +Copyright (c) 2017 marvin + konsorten GmbH (open-source@konsorten.de) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md b/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md new file mode 100644 index 00000000..195333e5 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md @@ -0,0 +1,41 @@ +# Windows Terminal Sequences + +This library allow for enabling Windows terminal color support for Go. + +See [Console Virtual Terminal Sequences](https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences) for details. + +## Usage + +```go +import ( + "syscall" + + sequences "github.com/konsorten/go-windows-terminal-sequences" +) + +func main() { + sequences.EnableVirtualTerminalProcessing(syscall.Stdout, true) +} + +``` + +## Authors + +The tool is sponsored by the [marvin + konsorten GmbH](http://www.konsorten.de). + +We thank all the authors who provided code to this library: + +* Felix Kollmann +* Nicolas Perraut + +## License + +(The MIT License) + +Copyright (c) 2018 marvin + konsorten GmbH (open-source@konsorten.de) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod b/vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod new file mode 100644 index 00000000..716c6131 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod @@ -0,0 +1 @@ +module github.com/konsorten/go-windows-terminal-sequences diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go new file mode 100644 index 00000000..ef18d8f9 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go @@ -0,0 +1,36 @@ +// +build windows + +package sequences + +import ( + "syscall" + "unsafe" +) + +var ( + kernel32Dll *syscall.LazyDLL = syscall.NewLazyDLL("Kernel32.dll") + setConsoleMode *syscall.LazyProc = kernel32Dll.NewProc("SetConsoleMode") +) + +func EnableVirtualTerminalProcessing(stream syscall.Handle, enable bool) error { + const ENABLE_VIRTUAL_TERMINAL_PROCESSING uint32 = 0x4 + + var mode uint32 + err := syscall.GetConsoleMode(syscall.Stdout, &mode) + if err != nil { + return err + } + + if enable { + mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING + } else { + mode &^= ENABLE_VIRTUAL_TERMINAL_PROCESSING + } + + ret, _, err := setConsoleMode.Call(uintptr(unsafe.Pointer(stream)), uintptr(mode)) + if ret == 0 { + return err + } + + return nil +} diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences_dummy.go b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences_dummy.go new file mode 100644 index 00000000..df61a6f2 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences_dummy.go @@ -0,0 +1,11 @@ +// +build linux darwin + +package sequences + +import ( + "fmt" +) + +func EnableVirtualTerminalProcessing(stream uintptr, enable bool) error { + return fmt.Errorf("windows only package") +} diff --git a/vendor/github.com/mattn/go-colorable/.travis.yml b/vendor/github.com/mattn/go-colorable/.travis.yml new file mode 100644 index 00000000..98db8f06 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/.travis.yml @@ -0,0 +1,9 @@ +language: go +go: + - tip + +before_install: + - go get github.com/mattn/goveralls + - go get golang.org/x/tools/cmd/cover +script: + - $HOME/gopath/bin/goveralls -repotoken xnXqRGwgW3SXIguzxf90ZSK1GPYZPaGrw diff --git a/vendor/github.com/mattn/go-colorable/LICENSE b/vendor/github.com/mattn/go-colorable/LICENSE new file mode 100644 index 00000000..91b5cef3 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/mattn/go-colorable/README.md b/vendor/github.com/mattn/go-colorable/README.md new file mode 100644 index 00000000..56729a92 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/README.md @@ -0,0 +1,48 @@ +# go-colorable + +[![Godoc Reference](https://godoc.org/github.com/mattn/go-colorable?status.svg)](http://godoc.org/github.com/mattn/go-colorable) +[![Build Status](https://travis-ci.org/mattn/go-colorable.svg?branch=master)](https://travis-ci.org/mattn/go-colorable) +[![Coverage Status](https://coveralls.io/repos/github/mattn/go-colorable/badge.svg?branch=master)](https://coveralls.io/github/mattn/go-colorable?branch=master) +[![Go Report Card](https://goreportcard.com/badge/mattn/go-colorable)](https://goreportcard.com/report/mattn/go-colorable) + +Colorable writer for windows. + +For example, most of logger packages doesn't show colors on windows. (I know we can do it with ansicon. But I don't want.) +This package is possible to handle escape sequence for ansi color on windows. + +## Too Bad! + +![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/bad.png) + + +## So Good! + +![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/good.png) + +## Usage + +```go +logrus.SetFormatter(&logrus.TextFormatter{ForceColors: true}) +logrus.SetOutput(colorable.NewColorableStdout()) + +logrus.Info("succeeded") +logrus.Warn("not correct") +logrus.Error("something error") +logrus.Fatal("panic") +``` + +You can compile above code on non-windows OSs. + +## Installation + +``` +$ go get github.com/mattn/go-colorable +``` + +# License + +MIT + +# Author + +Yasuhiro Matsumoto (a.k.a mattn) diff --git a/vendor/github.com/mattn/go-colorable/colorable_appengine.go b/vendor/github.com/mattn/go-colorable/colorable_appengine.go new file mode 100644 index 00000000..0b0aef83 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/colorable_appengine.go @@ -0,0 +1,29 @@ +// +build appengine + +package colorable + +import ( + "io" + "os" + + _ "github.com/mattn/go-isatty" +) + +// NewColorable returns new instance of Writer which handles escape sequence. +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + return file +} + +// NewColorableStdout returns new instance of Writer which handles escape sequence for stdout. +func NewColorableStdout() io.Writer { + return os.Stdout +} + +// NewColorableStderr returns new instance of Writer which handles escape sequence for stderr. +func NewColorableStderr() io.Writer { + return os.Stderr +} diff --git a/vendor/github.com/mattn/go-colorable/colorable_others.go b/vendor/github.com/mattn/go-colorable/colorable_others.go new file mode 100644 index 00000000..3fb771dc --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/colorable_others.go @@ -0,0 +1,30 @@ +// +build !windows +// +build !appengine + +package colorable + +import ( + "io" + "os" + + _ "github.com/mattn/go-isatty" +) + +// NewColorable returns new instance of Writer which handles escape sequence. +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + return file +} + +// NewColorableStdout returns new instance of Writer which handles escape sequence for stdout. +func NewColorableStdout() io.Writer { + return os.Stdout +} + +// NewColorableStderr returns new instance of Writer which handles escape sequence for stderr. +func NewColorableStderr() io.Writer { + return os.Stderr +} diff --git a/vendor/github.com/mattn/go-colorable/colorable_windows.go b/vendor/github.com/mattn/go-colorable/colorable_windows.go new file mode 100644 index 00000000..1bd628f2 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/colorable_windows.go @@ -0,0 +1,1005 @@ +// +build windows +// +build !appengine + +package colorable + +import ( + "bytes" + "io" + "math" + "os" + "strconv" + "strings" + "syscall" + "unsafe" + + "github.com/mattn/go-isatty" +) + +const ( + foregroundBlue = 0x1 + foregroundGreen = 0x2 + foregroundRed = 0x4 + foregroundIntensity = 0x8 + foregroundMask = (foregroundRed | foregroundBlue | foregroundGreen | foregroundIntensity) + backgroundBlue = 0x10 + backgroundGreen = 0x20 + backgroundRed = 0x40 + backgroundIntensity = 0x80 + backgroundMask = (backgroundRed | backgroundBlue | backgroundGreen | backgroundIntensity) +) + +const ( + genericRead = 0x80000000 + genericWrite = 0x40000000 +) + +const ( + consoleTextmodeBuffer = 0x1 +) + +type wchar uint16 +type short int16 +type dword uint32 +type word uint16 + +type coord struct { + x short + y short +} + +type smallRect struct { + left short + top short + right short + bottom short +} + +type consoleScreenBufferInfo struct { + size coord + cursorPosition coord + attributes word + window smallRect + maximumWindowSize coord +} + +type consoleCursorInfo struct { + size dword + visible int32 +} + +var ( + kernel32 = syscall.NewLazyDLL("kernel32.dll") + procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") + procSetConsoleTextAttribute = kernel32.NewProc("SetConsoleTextAttribute") + procSetConsoleCursorPosition = kernel32.NewProc("SetConsoleCursorPosition") + procFillConsoleOutputCharacter = kernel32.NewProc("FillConsoleOutputCharacterW") + procFillConsoleOutputAttribute = kernel32.NewProc("FillConsoleOutputAttribute") + procGetConsoleCursorInfo = kernel32.NewProc("GetConsoleCursorInfo") + procSetConsoleCursorInfo = kernel32.NewProc("SetConsoleCursorInfo") + procSetConsoleTitle = kernel32.NewProc("SetConsoleTitleW") + procCreateConsoleScreenBuffer = kernel32.NewProc("CreateConsoleScreenBuffer") +) + +// Writer provides colorable Writer to the console +type Writer struct { + out io.Writer + handle syscall.Handle + althandle syscall.Handle + oldattr word + oldpos coord + rest bytes.Buffer +} + +// NewColorable returns new instance of Writer which handles escape sequence from File. +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + if isatty.IsTerminal(file.Fd()) { + var csbi consoleScreenBufferInfo + handle := syscall.Handle(file.Fd()) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + return &Writer{out: file, handle: handle, oldattr: csbi.attributes, oldpos: coord{0, 0}} + } + return file +} + +// NewColorableStdout returns new instance of Writer which handles escape sequence for stdout. +func NewColorableStdout() io.Writer { + return NewColorable(os.Stdout) +} + +// NewColorableStderr returns new instance of Writer which handles escape sequence for stderr. +func NewColorableStderr() io.Writer { + return NewColorable(os.Stderr) +} + +var color256 = map[int]int{ + 0: 0x000000, + 1: 0x800000, + 2: 0x008000, + 3: 0x808000, + 4: 0x000080, + 5: 0x800080, + 6: 0x008080, + 7: 0xc0c0c0, + 8: 0x808080, + 9: 0xff0000, + 10: 0x00ff00, + 11: 0xffff00, + 12: 0x0000ff, + 13: 0xff00ff, + 14: 0x00ffff, + 15: 0xffffff, + 16: 0x000000, + 17: 0x00005f, + 18: 0x000087, + 19: 0x0000af, + 20: 0x0000d7, + 21: 0x0000ff, + 22: 0x005f00, + 23: 0x005f5f, + 24: 0x005f87, + 25: 0x005faf, + 26: 0x005fd7, + 27: 0x005fff, + 28: 0x008700, + 29: 0x00875f, + 30: 0x008787, + 31: 0x0087af, + 32: 0x0087d7, + 33: 0x0087ff, + 34: 0x00af00, + 35: 0x00af5f, + 36: 0x00af87, + 37: 0x00afaf, + 38: 0x00afd7, + 39: 0x00afff, + 40: 0x00d700, + 41: 0x00d75f, + 42: 0x00d787, + 43: 0x00d7af, + 44: 0x00d7d7, + 45: 0x00d7ff, + 46: 0x00ff00, + 47: 0x00ff5f, + 48: 0x00ff87, + 49: 0x00ffaf, + 50: 0x00ffd7, + 51: 0x00ffff, + 52: 0x5f0000, + 53: 0x5f005f, + 54: 0x5f0087, + 55: 0x5f00af, + 56: 0x5f00d7, + 57: 0x5f00ff, + 58: 0x5f5f00, + 59: 0x5f5f5f, + 60: 0x5f5f87, + 61: 0x5f5faf, + 62: 0x5f5fd7, + 63: 0x5f5fff, + 64: 0x5f8700, + 65: 0x5f875f, + 66: 0x5f8787, + 67: 0x5f87af, + 68: 0x5f87d7, + 69: 0x5f87ff, + 70: 0x5faf00, + 71: 0x5faf5f, + 72: 0x5faf87, + 73: 0x5fafaf, + 74: 0x5fafd7, + 75: 0x5fafff, + 76: 0x5fd700, + 77: 0x5fd75f, + 78: 0x5fd787, + 79: 0x5fd7af, + 80: 0x5fd7d7, + 81: 0x5fd7ff, + 82: 0x5fff00, + 83: 0x5fff5f, + 84: 0x5fff87, + 85: 0x5fffaf, + 86: 0x5fffd7, + 87: 0x5fffff, + 88: 0x870000, + 89: 0x87005f, + 90: 0x870087, + 91: 0x8700af, + 92: 0x8700d7, + 93: 0x8700ff, + 94: 0x875f00, + 95: 0x875f5f, + 96: 0x875f87, + 97: 0x875faf, + 98: 0x875fd7, + 99: 0x875fff, + 100: 0x878700, + 101: 0x87875f, + 102: 0x878787, + 103: 0x8787af, + 104: 0x8787d7, + 105: 0x8787ff, + 106: 0x87af00, + 107: 0x87af5f, + 108: 0x87af87, + 109: 0x87afaf, + 110: 0x87afd7, + 111: 0x87afff, + 112: 0x87d700, + 113: 0x87d75f, + 114: 0x87d787, + 115: 0x87d7af, + 116: 0x87d7d7, + 117: 0x87d7ff, + 118: 0x87ff00, + 119: 0x87ff5f, + 120: 0x87ff87, + 121: 0x87ffaf, + 122: 0x87ffd7, + 123: 0x87ffff, + 124: 0xaf0000, + 125: 0xaf005f, + 126: 0xaf0087, + 127: 0xaf00af, + 128: 0xaf00d7, + 129: 0xaf00ff, + 130: 0xaf5f00, + 131: 0xaf5f5f, + 132: 0xaf5f87, + 133: 0xaf5faf, + 134: 0xaf5fd7, + 135: 0xaf5fff, + 136: 0xaf8700, + 137: 0xaf875f, + 138: 0xaf8787, + 139: 0xaf87af, + 140: 0xaf87d7, + 141: 0xaf87ff, + 142: 0xafaf00, + 143: 0xafaf5f, + 144: 0xafaf87, + 145: 0xafafaf, + 146: 0xafafd7, + 147: 0xafafff, + 148: 0xafd700, + 149: 0xafd75f, + 150: 0xafd787, + 151: 0xafd7af, + 152: 0xafd7d7, + 153: 0xafd7ff, + 154: 0xafff00, + 155: 0xafff5f, + 156: 0xafff87, + 157: 0xafffaf, + 158: 0xafffd7, + 159: 0xafffff, + 160: 0xd70000, + 161: 0xd7005f, + 162: 0xd70087, + 163: 0xd700af, + 164: 0xd700d7, + 165: 0xd700ff, + 166: 0xd75f00, + 167: 0xd75f5f, + 168: 0xd75f87, + 169: 0xd75faf, + 170: 0xd75fd7, + 171: 0xd75fff, + 172: 0xd78700, + 173: 0xd7875f, + 174: 0xd78787, + 175: 0xd787af, + 176: 0xd787d7, + 177: 0xd787ff, + 178: 0xd7af00, + 179: 0xd7af5f, + 180: 0xd7af87, + 181: 0xd7afaf, + 182: 0xd7afd7, + 183: 0xd7afff, + 184: 0xd7d700, + 185: 0xd7d75f, + 186: 0xd7d787, + 187: 0xd7d7af, + 188: 0xd7d7d7, + 189: 0xd7d7ff, + 190: 0xd7ff00, + 191: 0xd7ff5f, + 192: 0xd7ff87, + 193: 0xd7ffaf, + 194: 0xd7ffd7, + 195: 0xd7ffff, + 196: 0xff0000, + 197: 0xff005f, + 198: 0xff0087, + 199: 0xff00af, + 200: 0xff00d7, + 201: 0xff00ff, + 202: 0xff5f00, + 203: 0xff5f5f, + 204: 0xff5f87, + 205: 0xff5faf, + 206: 0xff5fd7, + 207: 0xff5fff, + 208: 0xff8700, + 209: 0xff875f, + 210: 0xff8787, + 211: 0xff87af, + 212: 0xff87d7, + 213: 0xff87ff, + 214: 0xffaf00, + 215: 0xffaf5f, + 216: 0xffaf87, + 217: 0xffafaf, + 218: 0xffafd7, + 219: 0xffafff, + 220: 0xffd700, + 221: 0xffd75f, + 222: 0xffd787, + 223: 0xffd7af, + 224: 0xffd7d7, + 225: 0xffd7ff, + 226: 0xffff00, + 227: 0xffff5f, + 228: 0xffff87, + 229: 0xffffaf, + 230: 0xffffd7, + 231: 0xffffff, + 232: 0x080808, + 233: 0x121212, + 234: 0x1c1c1c, + 235: 0x262626, + 236: 0x303030, + 237: 0x3a3a3a, + 238: 0x444444, + 239: 0x4e4e4e, + 240: 0x585858, + 241: 0x626262, + 242: 0x6c6c6c, + 243: 0x767676, + 244: 0x808080, + 245: 0x8a8a8a, + 246: 0x949494, + 247: 0x9e9e9e, + 248: 0xa8a8a8, + 249: 0xb2b2b2, + 250: 0xbcbcbc, + 251: 0xc6c6c6, + 252: 0xd0d0d0, + 253: 0xdadada, + 254: 0xe4e4e4, + 255: 0xeeeeee, +} + +// `\033]0;TITLESTR\007` +func doTitleSequence(er *bytes.Reader) error { + var c byte + var err error + + c, err = er.ReadByte() + if err != nil { + return err + } + if c != '0' && c != '2' { + return nil + } + c, err = er.ReadByte() + if err != nil { + return err + } + if c != ';' { + return nil + } + title := make([]byte, 0, 80) + for { + c, err = er.ReadByte() + if err != nil { + return err + } + if c == 0x07 || c == '\n' { + break + } + title = append(title, c) + } + if len(title) > 0 { + title8, err := syscall.UTF16PtrFromString(string(title)) + if err == nil { + procSetConsoleTitle.Call(uintptr(unsafe.Pointer(title8))) + } + } + return nil +} + +// returns Atoi(s) unless s == "" in which case it returns def +func atoiWithDefault(s string, def int) (int, error) { + if s == "" { + return def, nil + } + return strconv.Atoi(s) +} + +// Write writes data on console +func (w *Writer) Write(data []byte) (n int, err error) { + var csbi consoleScreenBufferInfo + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + + handle := w.handle + + var er *bytes.Reader + if w.rest.Len() > 0 { + var rest bytes.Buffer + w.rest.WriteTo(&rest) + w.rest.Reset() + rest.Write(data) + er = bytes.NewReader(rest.Bytes()) + } else { + er = bytes.NewReader(data) + } + var bw [1]byte +loop: + for { + c1, err := er.ReadByte() + if err != nil { + break loop + } + if c1 != 0x1b { + bw[0] = c1 + w.out.Write(bw[:]) + continue + } + c2, err := er.ReadByte() + if err != nil { + break loop + } + + switch c2 { + case '>': + continue + case ']': + w.rest.WriteByte(c1) + w.rest.WriteByte(c2) + er.WriteTo(&w.rest) + if bytes.IndexByte(w.rest.Bytes(), 0x07) == -1 { + break loop + } + er = bytes.NewReader(w.rest.Bytes()[2:]) + err := doTitleSequence(er) + if err != nil { + break loop + } + w.rest.Reset() + continue + // https://github.com/mattn/go-colorable/issues/27 + case '7': + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + w.oldpos = csbi.cursorPosition + continue + case '8': + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&w.oldpos))) + continue + case 0x5b: + // execute part after switch + default: + continue + } + + w.rest.WriteByte(c1) + w.rest.WriteByte(c2) + er.WriteTo(&w.rest) + + var buf bytes.Buffer + var m byte + for i, c := range w.rest.Bytes()[2:] { + if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { + m = c + er = bytes.NewReader(w.rest.Bytes()[2+i+1:]) + w.rest.Reset() + break + } + buf.Write([]byte(string(c))) + } + if m == 0 { + break loop + } + + switch m { + case 'A': + n, err = atoiWithDefault(buf.String(), 1) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'B': + n, err = atoiWithDefault(buf.String(), 1) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'C': + n, err = atoiWithDefault(buf.String(), 1) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x += short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'D': + n, err = atoiWithDefault(buf.String(), 1) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x -= short(n) + if csbi.cursorPosition.x < 0 { + csbi.cursorPosition.x = 0 + } + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'E': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'F': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'G': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + if n < 1 { + n = 1 + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = short(n - 1) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'H', 'f': + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + if buf.Len() > 0 { + token := strings.Split(buf.String(), ";") + switch len(token) { + case 1: + n1, err := strconv.Atoi(token[0]) + if err != nil { + continue + } + csbi.cursorPosition.y = short(n1 - 1) + case 2: + n1, err := strconv.Atoi(token[0]) + if err != nil { + continue + } + n2, err := strconv.Atoi(token[1]) + if err != nil { + continue + } + csbi.cursorPosition.x = short(n2 - 1) + csbi.cursorPosition.y = short(n1 - 1) + } + } else { + csbi.cursorPosition.y = 0 + } + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'J': + n := 0 + if buf.Len() > 0 { + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + } + var count, written dword + var cursor coord + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + count = dword(csbi.size.x) - dword(csbi.cursorPosition.x) + dword(csbi.size.y-csbi.cursorPosition.y)*dword(csbi.size.x) + case 1: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + count = dword(csbi.size.x) - dword(csbi.cursorPosition.x) + dword(csbi.window.top-csbi.cursorPosition.y)*dword(csbi.size.x) + case 2: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + count = dword(csbi.size.x) - dword(csbi.cursorPosition.x) + dword(csbi.size.y-csbi.cursorPosition.y)*dword(csbi.size.x) + } + procFillConsoleOutputCharacter.Call(uintptr(handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'K': + n := 0 + if buf.Len() > 0 { + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + var cursor coord + var count, written dword + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + count = dword(csbi.size.x - csbi.cursorPosition.x) + case 1: + cursor = coord{x: csbi.window.left, y: csbi.cursorPosition.y} + count = dword(csbi.size.x - csbi.cursorPosition.x) + case 2: + cursor = coord{x: csbi.window.left, y: csbi.cursorPosition.y} + count = dword(csbi.size.x) + } + procFillConsoleOutputCharacter.Call(uintptr(handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'X': + n := 0 + if buf.Len() > 0 { + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + var cursor coord + var written dword + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + procFillConsoleOutputCharacter.Call(uintptr(handle), uintptr(' '), uintptr(n), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(handle), uintptr(csbi.attributes), uintptr(n), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'm': + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + attr := csbi.attributes + cs := buf.String() + if cs == "" { + procSetConsoleTextAttribute.Call(uintptr(handle), uintptr(w.oldattr)) + continue + } + token := strings.Split(cs, ";") + for i := 0; i < len(token); i++ { + ns := token[i] + if n, err = strconv.Atoi(ns); err == nil { + switch { + case n == 0 || n == 100: + attr = w.oldattr + case 1 <= n && n <= 5: + attr |= foregroundIntensity + case n == 7: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case n == 22 || n == 25: + attr |= foregroundIntensity + case n == 27: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case 30 <= n && n <= 37: + attr &= backgroundMask + if (n-30)&1 != 0 { + attr |= foregroundRed + } + if (n-30)&2 != 0 { + attr |= foregroundGreen + } + if (n-30)&4 != 0 { + attr |= foregroundBlue + } + case n == 38: // set foreground color. + if i < len(token)-2 && (token[i+1] == "5" || token[i+1] == "05") { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256foreAttr == nil { + n256setup() + } + attr &= backgroundMask + attr |= n256foreAttr[n256] + i += 2 + } + } else if len(token) == 5 && token[i+1] == "2" { + var r, g, b int + r, _ = strconv.Atoi(token[i+2]) + g, _ = strconv.Atoi(token[i+3]) + b, _ = strconv.Atoi(token[i+4]) + i += 4 + if r > 127 { + attr |= foregroundRed + } + if g > 127 { + attr |= foregroundGreen + } + if b > 127 { + attr |= foregroundBlue + } + } else { + attr = attr & (w.oldattr & backgroundMask) + } + case n == 39: // reset foreground color. + attr &= backgroundMask + attr |= w.oldattr & foregroundMask + case 40 <= n && n <= 47: + attr &= foregroundMask + if (n-40)&1 != 0 { + attr |= backgroundRed + } + if (n-40)&2 != 0 { + attr |= backgroundGreen + } + if (n-40)&4 != 0 { + attr |= backgroundBlue + } + case n == 48: // set background color. + if i < len(token)-2 && token[i+1] == "5" { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256backAttr == nil { + n256setup() + } + attr &= foregroundMask + attr |= n256backAttr[n256] + i += 2 + } + } else if len(token) == 5 && token[i+1] == "2" { + var r, g, b int + r, _ = strconv.Atoi(token[i+2]) + g, _ = strconv.Atoi(token[i+3]) + b, _ = strconv.Atoi(token[i+4]) + i += 4 + if r > 127 { + attr |= backgroundRed + } + if g > 127 { + attr |= backgroundGreen + } + if b > 127 { + attr |= backgroundBlue + } + } else { + attr = attr & (w.oldattr & foregroundMask) + } + case n == 49: // reset foreground color. + attr &= foregroundMask + attr |= w.oldattr & backgroundMask + case 90 <= n && n <= 97: + attr = (attr & backgroundMask) + attr |= foregroundIntensity + if (n-90)&1 != 0 { + attr |= foregroundRed + } + if (n-90)&2 != 0 { + attr |= foregroundGreen + } + if (n-90)&4 != 0 { + attr |= foregroundBlue + } + case 100 <= n && n <= 107: + attr = (attr & foregroundMask) + attr |= backgroundIntensity + if (n-100)&1 != 0 { + attr |= backgroundRed + } + if (n-100)&2 != 0 { + attr |= backgroundGreen + } + if (n-100)&4 != 0 { + attr |= backgroundBlue + } + } + procSetConsoleTextAttribute.Call(uintptr(handle), uintptr(attr)) + } + } + case 'h': + var ci consoleCursorInfo + cs := buf.String() + if cs == "5>" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 0 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?25" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 1 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?1049" { + if w.althandle == 0 { + h, _, _ := procCreateConsoleScreenBuffer.Call(uintptr(genericRead|genericWrite), 0, 0, uintptr(consoleTextmodeBuffer), 0, 0) + w.althandle = syscall.Handle(h) + if w.althandle != 0 { + handle = w.althandle + } + } + } + case 'l': + var ci consoleCursorInfo + cs := buf.String() + if cs == "5>" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 1 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?25" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 0 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?1049" { + if w.althandle != 0 { + syscall.CloseHandle(w.althandle) + w.althandle = 0 + handle = w.handle + } + } + case 's': + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + w.oldpos = csbi.cursorPosition + case 'u': + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&w.oldpos))) + } + } + + return len(data), nil +} + +type consoleColor struct { + rgb int + red bool + green bool + blue bool + intensity bool +} + +func (c consoleColor) foregroundAttr() (attr word) { + if c.red { + attr |= foregroundRed + } + if c.green { + attr |= foregroundGreen + } + if c.blue { + attr |= foregroundBlue + } + if c.intensity { + attr |= foregroundIntensity + } + return +} + +func (c consoleColor) backgroundAttr() (attr word) { + if c.red { + attr |= backgroundRed + } + if c.green { + attr |= backgroundGreen + } + if c.blue { + attr |= backgroundBlue + } + if c.intensity { + attr |= backgroundIntensity + } + return +} + +var color16 = []consoleColor{ + {0x000000, false, false, false, false}, + {0x000080, false, false, true, false}, + {0x008000, false, true, false, false}, + {0x008080, false, true, true, false}, + {0x800000, true, false, false, false}, + {0x800080, true, false, true, false}, + {0x808000, true, true, false, false}, + {0xc0c0c0, true, true, true, false}, + {0x808080, false, false, false, true}, + {0x0000ff, false, false, true, true}, + {0x00ff00, false, true, false, true}, + {0x00ffff, false, true, true, true}, + {0xff0000, true, false, false, true}, + {0xff00ff, true, false, true, true}, + {0xffff00, true, true, false, true}, + {0xffffff, true, true, true, true}, +} + +type hsv struct { + h, s, v float32 +} + +func (a hsv) dist(b hsv) float32 { + dh := a.h - b.h + switch { + case dh > 0.5: + dh = 1 - dh + case dh < -0.5: + dh = -1 - dh + } + ds := a.s - b.s + dv := a.v - b.v + return float32(math.Sqrt(float64(dh*dh + ds*ds + dv*dv))) +} + +func toHSV(rgb int) hsv { + r, g, b := float32((rgb&0xFF0000)>>16)/256.0, + float32((rgb&0x00FF00)>>8)/256.0, + float32(rgb&0x0000FF)/256.0 + min, max := minmax3f(r, g, b) + h := max - min + if h > 0 { + if max == r { + h = (g - b) / h + if h < 0 { + h += 6 + } + } else if max == g { + h = 2 + (b-r)/h + } else { + h = 4 + (r-g)/h + } + } + h /= 6.0 + s := max - min + if max != 0 { + s /= max + } + v := max + return hsv{h: h, s: s, v: v} +} + +type hsvTable []hsv + +func toHSVTable(rgbTable []consoleColor) hsvTable { + t := make(hsvTable, len(rgbTable)) + for i, c := range rgbTable { + t[i] = toHSV(c.rgb) + } + return t +} + +func (t hsvTable) find(rgb int) consoleColor { + hsv := toHSV(rgb) + n := 7 + l := float32(5.0) + for i, p := range t { + d := hsv.dist(p) + if d < l { + l, n = d, i + } + } + return color16[n] +} + +func minmax3f(a, b, c float32) (min, max float32) { + if a < b { + if b < c { + return a, c + } else if a < c { + return a, b + } else { + return c, b + } + } else { + if a < c { + return b, c + } else if b < c { + return b, a + } else { + return c, a + } + } +} + +var n256foreAttr []word +var n256backAttr []word + +func n256setup() { + n256foreAttr = make([]word, 256) + n256backAttr = make([]word, 256) + t := toHSVTable(color16) + for i, rgb := range color256 { + c := t.find(rgb) + n256foreAttr[i] = c.foregroundAttr() + n256backAttr[i] = c.backgroundAttr() + } +} diff --git a/vendor/github.com/mattn/go-colorable/go.mod b/vendor/github.com/mattn/go-colorable/go.mod new file mode 100644 index 00000000..ef3ca9d4 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/go.mod @@ -0,0 +1,3 @@ +module github.com/mattn/go-colorable + +require github.com/mattn/go-isatty v0.0.8 diff --git a/vendor/github.com/mattn/go-colorable/go.sum b/vendor/github.com/mattn/go-colorable/go.sum new file mode 100644 index 00000000..2c12960e --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/go.sum @@ -0,0 +1,4 @@ +github.com/mattn/go-isatty v0.0.5 h1:tHXDdz1cpzGaovsTB+TVB8q90WEokoVmfMqoVcrLUgw= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 h1:DH4skfRX4EBpamg7iV4ZlCpblAHI6s6TDM39bFZumv8= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= diff --git a/vendor/github.com/mattn/go-colorable/noncolorable.go b/vendor/github.com/mattn/go-colorable/noncolorable.go new file mode 100644 index 00000000..95f2c6be --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/noncolorable.go @@ -0,0 +1,55 @@ +package colorable + +import ( + "bytes" + "io" +) + +// NonColorable holds writer but removes escape sequence. +type NonColorable struct { + out io.Writer +} + +// NewNonColorable returns new instance of Writer which removes escape sequence from Writer. +func NewNonColorable(w io.Writer) io.Writer { + return &NonColorable{out: w} +} + +// Write writes data on console +func (w *NonColorable) Write(data []byte) (n int, err error) { + er := bytes.NewReader(data) + var bw [1]byte +loop: + for { + c1, err := er.ReadByte() + if err != nil { + break loop + } + if c1 != 0x1b { + bw[0] = c1 + w.out.Write(bw[:]) + continue + } + c2, err := er.ReadByte() + if err != nil { + break loop + } + if c2 != 0x5b { + continue + } + + var buf bytes.Buffer + for { + c, err := er.ReadByte() + if err != nil { + break loop + } + if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { + break + } + buf.Write([]byte(string(c))) + } + } + + return len(data), nil +} diff --git a/vendor/github.com/mattn/go-isatty/.travis.yml b/vendor/github.com/mattn/go-isatty/.travis.yml new file mode 100644 index 00000000..5597e026 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/.travis.yml @@ -0,0 +1,13 @@ +language: go +go: + - tip + +os: + - linux + - osx + +before_install: + - go get github.com/mattn/goveralls + - go get golang.org/x/tools/cmd/cover +script: + - $HOME/gopath/bin/goveralls -repotoken 3gHdORO5k5ziZcWMBxnd9LrMZaJs8m9x5 diff --git a/vendor/github.com/mattn/go-isatty/LICENSE b/vendor/github.com/mattn/go-isatty/LICENSE new file mode 100644 index 00000000..65dc692b --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/LICENSE @@ -0,0 +1,9 @@ +Copyright (c) Yasuhiro MATSUMOTO + +MIT License (Expat) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/mattn/go-isatty/README.md b/vendor/github.com/mattn/go-isatty/README.md new file mode 100644 index 00000000..1e69004b --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/README.md @@ -0,0 +1,50 @@ +# go-isatty + +[![Godoc Reference](https://godoc.org/github.com/mattn/go-isatty?status.svg)](http://godoc.org/github.com/mattn/go-isatty) +[![Build Status](https://travis-ci.org/mattn/go-isatty.svg?branch=master)](https://travis-ci.org/mattn/go-isatty) +[![Coverage Status](https://coveralls.io/repos/github/mattn/go-isatty/badge.svg?branch=master)](https://coveralls.io/github/mattn/go-isatty?branch=master) +[![Go Report Card](https://goreportcard.com/badge/mattn/go-isatty)](https://goreportcard.com/report/mattn/go-isatty) + +isatty for golang + +## Usage + +```go +package main + +import ( + "fmt" + "github.com/mattn/go-isatty" + "os" +) + +func main() { + if isatty.IsTerminal(os.Stdout.Fd()) { + fmt.Println("Is Terminal") + } else if isatty.IsCygwinTerminal(os.Stdout.Fd()) { + fmt.Println("Is Cygwin/MSYS2 Terminal") + } else { + fmt.Println("Is Not Terminal") + } +} +``` + +## Installation + +``` +$ go get github.com/mattn/go-isatty +``` + +## License + +MIT + +## Author + +Yasuhiro Matsumoto (a.k.a mattn) + +## Thanks + +* k-takata: base idea for IsCygwinTerminal + + https://github.com/k-takata/go-iscygpty diff --git a/vendor/github.com/mattn/go-isatty/doc.go b/vendor/github.com/mattn/go-isatty/doc.go new file mode 100644 index 00000000..17d4f90e --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/doc.go @@ -0,0 +1,2 @@ +// Package isatty implements interface to isatty +package isatty diff --git a/vendor/github.com/mattn/go-isatty/go.mod b/vendor/github.com/mattn/go-isatty/go.mod new file mode 100644 index 00000000..a8ddf404 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/go.mod @@ -0,0 +1,5 @@ +module github.com/mattn/go-isatty + +require golang.org/x/sys v0.0.0-20191008105621-543471e840be + +go 1.14 diff --git a/vendor/github.com/mattn/go-isatty/go.sum b/vendor/github.com/mattn/go-isatty/go.sum new file mode 100644 index 00000000..c141fc53 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/go.sum @@ -0,0 +1,4 @@ +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be h1:QAcqgptGM8IQBC9K/RC4o+O9YmqEm0diQn9QmZw/0mU= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/vendor/github.com/mattn/go-isatty/isatty_android.go b/vendor/github.com/mattn/go-isatty/isatty_android.go new file mode 100644 index 00000000..d3567cb5 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_android.go @@ -0,0 +1,23 @@ +// +build android + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TCGETS + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} + +// IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_bsd.go b/vendor/github.com/mattn/go-isatty/isatty_bsd.go new file mode 100644 index 00000000..07e93039 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_bsd.go @@ -0,0 +1,24 @@ +// +build darwin freebsd openbsd netbsd dragonfly +// +build !appengine + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TIOCGETA + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} + +// IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_others.go b/vendor/github.com/mattn/go-isatty/isatty_others.go new file mode 100644 index 00000000..ff714a37 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_others.go @@ -0,0 +1,15 @@ +// +build appengine js nacl + +package isatty + +// IsTerminal returns true if the file descriptor is terminal which +// is always false on js and appengine classic which is a sandboxed PaaS. +func IsTerminal(fd uintptr) bool { + return false +} + +// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_plan9.go b/vendor/github.com/mattn/go-isatty/isatty_plan9.go new file mode 100644 index 00000000..bc0a7092 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_plan9.go @@ -0,0 +1,22 @@ +// +build plan9 + +package isatty + +import ( + "syscall" +) + +// IsTerminal returns true if the given file descriptor is a terminal. +func IsTerminal(fd uintptr) bool { + path, err := syscall.Fd2path(fd) + if err != nil { + return false + } + return path == "/dev/cons" || path == "/mnt/term/dev/cons" +} + +// IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_solaris.go b/vendor/github.com/mattn/go-isatty/isatty_solaris.go new file mode 100644 index 00000000..bdd5c79a --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_solaris.go @@ -0,0 +1,22 @@ +// +build solaris +// +build !appengine + +package isatty + +import ( + "golang.org/x/sys/unix" +) + +// IsTerminal returns true if the given file descriptor is a terminal. +// see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c +func IsTerminal(fd uintptr) bool { + var termio unix.Termio + err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio) + return err == nil +} + +// IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_tcgets.go b/vendor/github.com/mattn/go-isatty/isatty_tcgets.go new file mode 100644 index 00000000..453b025d --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_tcgets.go @@ -0,0 +1,19 @@ +// +build linux aix +// +build !appengine +// +build !android + +package isatty + +import "golang.org/x/sys/unix" + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + _, err := unix.IoctlGetTermios(int(fd), unix.TCGETS) + return err == nil +} + +// IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_windows.go b/vendor/github.com/mattn/go-isatty/isatty_windows.go new file mode 100644 index 00000000..1fa86915 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_windows.go @@ -0,0 +1,125 @@ +// +build windows +// +build !appengine + +package isatty + +import ( + "errors" + "strings" + "syscall" + "unicode/utf16" + "unsafe" +) + +const ( + objectNameInfo uintptr = 1 + fileNameInfo = 2 + fileTypePipe = 3 +) + +var ( + kernel32 = syscall.NewLazyDLL("kernel32.dll") + ntdll = syscall.NewLazyDLL("ntdll.dll") + procGetConsoleMode = kernel32.NewProc("GetConsoleMode") + procGetFileInformationByHandleEx = kernel32.NewProc("GetFileInformationByHandleEx") + procGetFileType = kernel32.NewProc("GetFileType") + procNtQueryObject = ntdll.NewProc("NtQueryObject") +) + +func init() { + // Check if GetFileInformationByHandleEx is available. + if procGetFileInformationByHandleEx.Find() != nil { + procGetFileInformationByHandleEx = nil + } +} + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var st uint32 + r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0) + return r != 0 && e == 0 +} + +// Check pipe name is used for cygwin/msys2 pty. +// Cygwin/MSYS2 PTY has a name like: +// \{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master +func isCygwinPipeName(name string) bool { + token := strings.Split(name, "-") + if len(token) < 5 { + return false + } + + if token[0] != `\msys` && + token[0] != `\cygwin` && + token[0] != `\Device\NamedPipe\msys` && + token[0] != `\Device\NamedPipe\cygwin` { + return false + } + + if token[1] == "" { + return false + } + + if !strings.HasPrefix(token[2], "pty") { + return false + } + + if token[3] != `from` && token[3] != `to` { + return false + } + + if token[4] != "master" { + return false + } + + return true +} + +// getFileNameByHandle use the undocomented ntdll NtQueryObject to get file full name from file handler +// since GetFileInformationByHandleEx is not avilable under windows Vista and still some old fashion +// guys are using Windows XP, this is a workaround for those guys, it will also work on system from +// Windows vista to 10 +// see https://stackoverflow.com/a/18792477 for details +func getFileNameByHandle(fd uintptr) (string, error) { + if procNtQueryObject == nil { + return "", errors.New("ntdll.dll: NtQueryObject not supported") + } + + var buf [4 + syscall.MAX_PATH]uint16 + var result int + r, _, e := syscall.Syscall6(procNtQueryObject.Addr(), 5, + fd, objectNameInfo, uintptr(unsafe.Pointer(&buf)), uintptr(2*len(buf)), uintptr(unsafe.Pointer(&result)), 0) + if r != 0 { + return "", e + } + return string(utf16.Decode(buf[4 : 4+buf[0]/2])), nil +} + +// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 +// terminal. +func IsCygwinTerminal(fd uintptr) bool { + if procGetFileInformationByHandleEx == nil { + name, err := getFileNameByHandle(fd) + if err != nil { + return false + } + return isCygwinPipeName(name) + } + + // Cygwin/msys's pty is a pipe. + ft, _, e := syscall.Syscall(procGetFileType.Addr(), 1, fd, 0, 0) + if ft != fileTypePipe || e != 0 { + return false + } + + var buf [2 + syscall.MAX_PATH]uint16 + r, _, e := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), + 4, fd, fileNameInfo, uintptr(unsafe.Pointer(&buf)), + uintptr(len(buf)*2), 0, 0) + if r == 0 || e != 0 { + return false + } + + l := *(*uint32)(unsafe.Pointer(&buf)) + return isCygwinPipeName(string(utf16.Decode(buf[2 : 2+l/2]))) +} diff --git a/vendor/github.com/matttproud/golang_protobuf_extensions/LICENSE b/vendor/github.com/matttproud/golang_protobuf_extensions/LICENSE new file mode 100644 index 00000000..8dada3ed --- /dev/null +++ b/vendor/github.com/matttproud/golang_protobuf_extensions/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/matttproud/golang_protobuf_extensions/NOTICE b/vendor/github.com/matttproud/golang_protobuf_extensions/NOTICE new file mode 100644 index 00000000..5d8cb5b7 --- /dev/null +++ b/vendor/github.com/matttproud/golang_protobuf_extensions/NOTICE @@ -0,0 +1 @@ +Copyright 2012 Matt T. Proud (matt.proud@gmail.com) diff --git a/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/.gitignore b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/.gitignore new file mode 100644 index 00000000..e16fb946 --- /dev/null +++ b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/.gitignore @@ -0,0 +1 @@ +cover.dat diff --git a/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/Makefile b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/Makefile new file mode 100644 index 00000000..81be2143 --- /dev/null +++ b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/Makefile @@ -0,0 +1,7 @@ +all: + +cover: + go test -cover -v -coverprofile=cover.dat ./... + go tool cover -func cover.dat + +.PHONY: cover diff --git a/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/decode.go b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/decode.go new file mode 100644 index 00000000..258c0636 --- /dev/null +++ b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/decode.go @@ -0,0 +1,75 @@ +// Copyright 2013 Matt T. Proud +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package pbutil + +import ( + "encoding/binary" + "errors" + "io" + + "github.com/golang/protobuf/proto" +) + +var errInvalidVarint = errors.New("invalid varint32 encountered") + +// ReadDelimited decodes a message from the provided length-delimited stream, +// where the length is encoded as 32-bit varint prefix to the message body. +// It returns the total number of bytes read and any applicable error. This is +// roughly equivalent to the companion Java API's +// MessageLite#parseDelimitedFrom. As per the reader contract, this function +// calls r.Read repeatedly as required until exactly one message including its +// prefix is read and decoded (or an error has occurred). The function never +// reads more bytes from the stream than required. The function never returns +// an error if a message has been read and decoded correctly, even if the end +// of the stream has been reached in doing so. In that case, any subsequent +// calls return (0, io.EOF). +func ReadDelimited(r io.Reader, m proto.Message) (n int, err error) { + // Per AbstractParser#parsePartialDelimitedFrom with + // CodedInputStream#readRawVarint32. + var headerBuf [binary.MaxVarintLen32]byte + var bytesRead, varIntBytes int + var messageLength uint64 + for varIntBytes == 0 { // i.e. no varint has been decoded yet. + if bytesRead >= len(headerBuf) { + return bytesRead, errInvalidVarint + } + // We have to read byte by byte here to avoid reading more bytes + // than required. Each read byte is appended to what we have + // read before. + newBytesRead, err := r.Read(headerBuf[bytesRead : bytesRead+1]) + if newBytesRead == 0 { + if err != nil { + return bytesRead, err + } + // A Reader should not return (0, nil), but if it does, + // it should be treated as no-op (according to the + // Reader contract). So let's go on... + continue + } + bytesRead += newBytesRead + // Now present everything read so far to the varint decoder and + // see if a varint can be decoded already. + messageLength, varIntBytes = proto.DecodeVarint(headerBuf[:bytesRead]) + } + + messageBuf := make([]byte, messageLength) + newBytesRead, err := io.ReadFull(r, messageBuf) + bytesRead += newBytesRead + if err != nil { + return bytesRead, err + } + + return bytesRead, proto.Unmarshal(messageBuf, m) +} diff --git a/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/doc.go b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/doc.go new file mode 100644 index 00000000..c318385c --- /dev/null +++ b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/doc.go @@ -0,0 +1,16 @@ +// Copyright 2013 Matt T. Proud +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package pbutil provides record length-delimited Protocol Buffer streaming. +package pbutil diff --git a/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/encode.go b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/encode.go new file mode 100644 index 00000000..8fb59ad2 --- /dev/null +++ b/vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/encode.go @@ -0,0 +1,46 @@ +// Copyright 2013 Matt T. Proud +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package pbutil + +import ( + "encoding/binary" + "io" + + "github.com/golang/protobuf/proto" +) + +// WriteDelimited encodes and dumps a message to the provided writer prefixed +// with a 32-bit varint indicating the length of the encoded message, producing +// a length-delimited record stream, which can be used to chain together +// encoded messages of the same type together in a file. It returns the total +// number of bytes written and any applicable error. This is roughly +// equivalent to the companion Java API's MessageLite#writeDelimitedTo. +func WriteDelimited(w io.Writer, m proto.Message) (n int, err error) { + buffer, err := proto.Marshal(m) + if err != nil { + return 0, err + } + + var buf [binary.MaxVarintLen32]byte + encodedLength := binary.PutUvarint(buf[:], uint64(len(buffer))) + + sync, err := w.Write(buf[:encodedLength]) + if err != nil { + return sync, err + } + + n, err = w.Write(buffer) + return n + sync, err +} diff --git a/vendor/github.com/mgutz/ansi/.gitignore b/vendor/github.com/mgutz/ansi/.gitignore new file mode 100644 index 00000000..9ed3b07c --- /dev/null +++ b/vendor/github.com/mgutz/ansi/.gitignore @@ -0,0 +1 @@ +*.test diff --git a/vendor/github.com/mgutz/ansi/LICENSE b/vendor/github.com/mgutz/ansi/LICENSE new file mode 100644 index 00000000..06ce0c3b --- /dev/null +++ b/vendor/github.com/mgutz/ansi/LICENSE @@ -0,0 +1,9 @@ +The MIT License (MIT) +Copyright (c) 2013 Mario L. Gutierrez + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/vendor/github.com/mgutz/ansi/README.md b/vendor/github.com/mgutz/ansi/README.md new file mode 100644 index 00000000..8f8e20b7 --- /dev/null +++ b/vendor/github.com/mgutz/ansi/README.md @@ -0,0 +1,121 @@ +# ansi + +Package ansi is a small, fast library to create ANSI colored strings and codes. + +## Install + +Get it + +```sh +go get -u github.com/mgutz/ansi +``` + +## Example + +```go +import "github.com/mgutz/ansi" + +// colorize a string, SLOW +msg := ansi.Color("foo", "red+b:white") + +// create a FAST closure function to avoid computation of ANSI code +phosphorize := ansi.ColorFunc("green+h:black") +msg = phosphorize("Bring back the 80s!") +msg2 := phospohorize("Look, I'm a CRT!") + +// cache escape codes and build strings manually +lime := ansi.ColorCode("green+h:black") +reset := ansi.ColorCode("reset") + +fmt.Println(lime, "Bring back the 80s!", reset) +``` + +Other examples + +```go +Color(s, "red") // red +Color(s, "red+b") // red bold +Color(s, "red+B") // red blinking +Color(s, "red+u") // red underline +Color(s, "red+bh") // red bold bright +Color(s, "red:white") // red on white +Color(s, "red+b:white+h") // red bold on white bright +Color(s, "red+B:white+h") // red blink on white bright +Color(s, "off") // turn off ansi codes +``` + +To view color combinations, from project directory in terminal. + +```sh +go test +``` + +## Style format + +```go +"foregroundColor+attributes:backgroundColor+attributes" +``` + +Colors + +* black +* red +* green +* yellow +* blue +* magenta +* cyan +* white +* 0...255 (256 colors) + +Foreground Attributes + +* B = Blink +* b = bold +* h = high intensity (bright) +* i = inverse +* s = strikethrough +* u = underline + +Background Attributes + +* h = high intensity (bright) + +## Constants + +* ansi.Reset +* ansi.DefaultBG +* ansi.DefaultFG +* ansi.Black +* ansi.Red +* ansi.Green +* ansi.Yellow +* ansi.Blue +* ansi.Magenta +* ansi.Cyan +* ansi.White +* ansi.LightBlack +* ansi.LightRed +* ansi.LightGreen +* ansi.LightYellow +* ansi.LightBlue +* ansi.LightMagenta +* ansi.LightCyan +* ansi.LightWhite + +## References + +Wikipedia ANSI escape codes [Colors](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors) + +General [tips and formatting](http://misc.flogisoft.com/bash/tip_colors_and_formatting) + +What about support on Windows? Use [colorable by mattn](https://github.com/mattn/go-colorable). +Ansi and colorable are used by [logxi](https://github.com/mgutz/logxi) to support logging in +color on Windows. + +## MIT License + +Copyright (c) 2013 Mario Gutierrez mario@mgutz.com + +See the file LICENSE for copying permission. + diff --git a/vendor/github.com/mgutz/ansi/ansi.go b/vendor/github.com/mgutz/ansi/ansi.go new file mode 100644 index 00000000..dc041364 --- /dev/null +++ b/vendor/github.com/mgutz/ansi/ansi.go @@ -0,0 +1,285 @@ +package ansi + +import ( + "bytes" + "fmt" + "strconv" + "strings" +) + +const ( + black = iota + red + green + yellow + blue + magenta + cyan + white + defaultt = 9 + + normalIntensityFG = 30 + highIntensityFG = 90 + normalIntensityBG = 40 + highIntensityBG = 100 + + start = "\033[" + bold = "1;" + blink = "5;" + underline = "4;" + inverse = "7;" + strikethrough = "9;" + + // Reset is the ANSI reset escape sequence + Reset = "\033[0m" + // DefaultBG is the default background + DefaultBG = "\033[49m" + // DefaultFG is the default foreground + DefaultFG = "\033[39m" +) + +// Black FG +var Black string + +// Red FG +var Red string + +// Green FG +var Green string + +// Yellow FG +var Yellow string + +// Blue FG +var Blue string + +// Magenta FG +var Magenta string + +// Cyan FG +var Cyan string + +// White FG +var White string + +// LightBlack FG +var LightBlack string + +// LightRed FG +var LightRed string + +// LightGreen FG +var LightGreen string + +// LightYellow FG +var LightYellow string + +// LightBlue FG +var LightBlue string + +// LightMagenta FG +var LightMagenta string + +// LightCyan FG +var LightCyan string + +// LightWhite FG +var LightWhite string + +var ( + plain = false + // Colors maps common color names to their ANSI color code. + Colors = map[string]int{ + "black": black, + "red": red, + "green": green, + "yellow": yellow, + "blue": blue, + "magenta": magenta, + "cyan": cyan, + "white": white, + "default": defaultt, + } +) + +func init() { + for i := 0; i < 256; i++ { + Colors[strconv.Itoa(i)] = i + } + + Black = ColorCode("black") + Red = ColorCode("red") + Green = ColorCode("green") + Yellow = ColorCode("yellow") + Blue = ColorCode("blue") + Magenta = ColorCode("magenta") + Cyan = ColorCode("cyan") + White = ColorCode("white") + LightBlack = ColorCode("black+h") + LightRed = ColorCode("red+h") + LightGreen = ColorCode("green+h") + LightYellow = ColorCode("yellow+h") + LightBlue = ColorCode("blue+h") + LightMagenta = ColorCode("magenta+h") + LightCyan = ColorCode("cyan+h") + LightWhite = ColorCode("white+h") +} + +// ColorCode returns the ANSI color color code for style. +func ColorCode(style string) string { + return colorCode(style).String() +} + +// Gets the ANSI color code for a style. +func colorCode(style string) *bytes.Buffer { + buf := bytes.NewBufferString("") + if plain || style == "" { + return buf + } + if style == "reset" { + buf.WriteString(Reset) + return buf + } else if style == "off" { + return buf + } + + foregroundBackground := strings.Split(style, ":") + foreground := strings.Split(foregroundBackground[0], "+") + fgKey := foreground[0] + fg := Colors[fgKey] + fgStyle := "" + if len(foreground) > 1 { + fgStyle = foreground[1] + } + + bg, bgStyle := "", "" + + if len(foregroundBackground) > 1 { + background := strings.Split(foregroundBackground[1], "+") + bg = background[0] + if len(background) > 1 { + bgStyle = background[1] + } + } + + buf.WriteString(start) + base := normalIntensityFG + if len(fgStyle) > 0 { + if strings.Contains(fgStyle, "b") { + buf.WriteString(bold) + } + if strings.Contains(fgStyle, "B") { + buf.WriteString(blink) + } + if strings.Contains(fgStyle, "u") { + buf.WriteString(underline) + } + if strings.Contains(fgStyle, "i") { + buf.WriteString(inverse) + } + if strings.Contains(fgStyle, "s") { + buf.WriteString(strikethrough) + } + if strings.Contains(fgStyle, "h") { + base = highIntensityFG + } + } + + // if 256-color + n, err := strconv.Atoi(fgKey) + if err == nil { + fmt.Fprintf(buf, "38;5;%d;", n) + } else { + fmt.Fprintf(buf, "%d;", base+fg) + } + + base = normalIntensityBG + if len(bg) > 0 { + if strings.Contains(bgStyle, "h") { + base = highIntensityBG + } + // if 256-color + n, err := strconv.Atoi(bg) + if err == nil { + fmt.Fprintf(buf, "48;5;%d;", n) + } else { + fmt.Fprintf(buf, "%d;", base+Colors[bg]) + } + } + + // remove last ";" + buf.Truncate(buf.Len() - 1) + buf.WriteRune('m') + return buf +} + +// Color colors a string based on the ANSI color code for style. +func Color(s, style string) string { + if plain || len(style) < 1 { + return s + } + buf := colorCode(style) + buf.WriteString(s) + buf.WriteString(Reset) + return buf.String() +} + +// ColorFunc creates a closure to avoid computation ANSI color code. +func ColorFunc(style string) func(string) string { + if style == "" { + return func(s string) string { + return s + } + } + color := ColorCode(style) + return func(s string) string { + if plain || s == "" { + return s + } + buf := bytes.NewBufferString(color) + buf.WriteString(s) + buf.WriteString(Reset) + result := buf.String() + return result + } +} + +// DisableColors disables ANSI color codes. The default is false (colors are on). +func DisableColors(disable bool) { + plain = disable + if plain { + Black = "" + Red = "" + Green = "" + Yellow = "" + Blue = "" + Magenta = "" + Cyan = "" + White = "" + LightBlack = "" + LightRed = "" + LightGreen = "" + LightYellow = "" + LightBlue = "" + LightMagenta = "" + LightCyan = "" + LightWhite = "" + } else { + Black = ColorCode("black") + Red = ColorCode("red") + Green = ColorCode("green") + Yellow = ColorCode("yellow") + Blue = ColorCode("blue") + Magenta = ColorCode("magenta") + Cyan = ColorCode("cyan") + White = ColorCode("white") + LightBlack = ColorCode("black+h") + LightRed = ColorCode("red+h") + LightGreen = ColorCode("green+h") + LightYellow = ColorCode("yellow+h") + LightBlue = ColorCode("blue+h") + LightMagenta = ColorCode("magenta+h") + LightCyan = ColorCode("cyan+h") + LightWhite = ColorCode("white+h") + } +} diff --git a/vendor/github.com/mgutz/ansi/doc.go b/vendor/github.com/mgutz/ansi/doc.go new file mode 100644 index 00000000..43c217e1 --- /dev/null +++ b/vendor/github.com/mgutz/ansi/doc.go @@ -0,0 +1,65 @@ +/* +Package ansi is a small, fast library to create ANSI colored strings and codes. + +Installation + + # this installs the color viewer and the package + go get -u github.com/mgutz/ansi/cmd/ansi-mgutz + +Example + + // colorize a string, SLOW + msg := ansi.Color("foo", "red+b:white") + + // create a closure to avoid recalculating ANSI code compilation + phosphorize := ansi.ColorFunc("green+h:black") + msg = phosphorize("Bring back the 80s!") + msg2 := phospohorize("Look, I'm a CRT!") + + // cache escape codes and build strings manually + lime := ansi.ColorCode("green+h:black") + reset := ansi.ColorCode("reset") + + fmt.Println(lime, "Bring back the 80s!", reset) + +Other examples + + Color(s, "red") // red + Color(s, "red+b") // red bold + Color(s, "red+B") // red blinking + Color(s, "red+u") // red underline + Color(s, "red+bh") // red bold bright + Color(s, "red:white") // red on white + Color(s, "red+b:white+h") // red bold on white bright + Color(s, "red+B:white+h") // red blink on white bright + +To view color combinations, from terminal + + ansi-mgutz + +Style format + + "foregroundColor+attributes:backgroundColor+attributes" + +Colors + + black + red + green + yellow + blue + magenta + cyan + white + +Attributes + + b = bold foreground + B = Blink foreground + u = underline foreground + h = high intensity (bright) foreground, background + i = inverse + +Wikipedia ANSI escape codes [Colors](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors) +*/ +package ansi diff --git a/vendor/github.com/mgutz/ansi/print.go b/vendor/github.com/mgutz/ansi/print.go new file mode 100644 index 00000000..806f436b --- /dev/null +++ b/vendor/github.com/mgutz/ansi/print.go @@ -0,0 +1,57 @@ +package ansi + +import ( + "fmt" + "sort" + + colorable "github.com/mattn/go-colorable" +) + +// PrintStyles prints all style combinations to the terminal. +func PrintStyles() { + // for compatibility with Windows, not needed for *nix + stdout := colorable.NewColorableStdout() + + bgColors := []string{ + "", + ":black", + ":red", + ":green", + ":yellow", + ":blue", + ":magenta", + ":cyan", + ":white", + } + + keys := make([]string, 0, len(Colors)) + for k := range Colors { + keys = append(keys, k) + } + + sort.Sort(sort.StringSlice(keys)) + + for _, fg := range keys { + for _, bg := range bgColors { + fmt.Fprintln(stdout, padColor(fg, []string{"" + bg, "+b" + bg, "+bh" + bg, "+u" + bg})) + fmt.Fprintln(stdout, padColor(fg, []string{"+s" + bg, "+i" + bg})) + fmt.Fprintln(stdout, padColor(fg, []string{"+uh" + bg, "+B" + bg, "+Bb" + bg /* backgrounds */, "" + bg + "+h"})) + fmt.Fprintln(stdout, padColor(fg, []string{"+b" + bg + "+h", "+bh" + bg + "+h", "+u" + bg + "+h", "+uh" + bg + "+h"})) + } + } +} + +func pad(s string, length int) string { + for len(s) < length { + s += " " + } + return s +} + +func padColor(color string, styles []string) string { + buffer := "" + for _, style := range styles { + buffer += Color(pad(color+style, 20), color+style) + } + return buffer +} diff --git a/vendor/github.com/pmezard/go-difflib/LICENSE b/vendor/github.com/pmezard/go-difflib/LICENSE new file mode 100644 index 00000000..c67dad61 --- /dev/null +++ b/vendor/github.com/pmezard/go-difflib/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2013, Patrick Mezard +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + The names of its contributors may not be used to endorse or promote +products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/pmezard/go-difflib/difflib/difflib.go b/vendor/github.com/pmezard/go-difflib/difflib/difflib.go new file mode 100644 index 00000000..003e99fa --- /dev/null +++ b/vendor/github.com/pmezard/go-difflib/difflib/difflib.go @@ -0,0 +1,772 @@ +// Package difflib is a partial port of Python difflib module. +// +// It provides tools to compare sequences of strings and generate textual diffs. +// +// The following class and functions have been ported: +// +// - SequenceMatcher +// +// - unified_diff +// +// - context_diff +// +// Getting unified diffs was the main goal of the port. Keep in mind this code +// is mostly suitable to output text differences in a human friendly way, there +// are no guarantees generated diffs are consumable by patch(1). +package difflib + +import ( + "bufio" + "bytes" + "fmt" + "io" + "strings" +) + +func min(a, b int) int { + if a < b { + return a + } + return b +} + +func max(a, b int) int { + if a > b { + return a + } + return b +} + +func calculateRatio(matches, length int) float64 { + if length > 0 { + return 2.0 * float64(matches) / float64(length) + } + return 1.0 +} + +type Match struct { + A int + B int + Size int +} + +type OpCode struct { + Tag byte + I1 int + I2 int + J1 int + J2 int +} + +// SequenceMatcher compares sequence of strings. The basic +// algorithm predates, and is a little fancier than, an algorithm +// published in the late 1980's by Ratcliff and Obershelp under the +// hyperbolic name "gestalt pattern matching". The basic idea is to find +// the longest contiguous matching subsequence that contains no "junk" +// elements (R-O doesn't address junk). The same idea is then applied +// recursively to the pieces of the sequences to the left and to the right +// of the matching subsequence. This does not yield minimal edit +// sequences, but does tend to yield matches that "look right" to people. +// +// SequenceMatcher tries to compute a "human-friendly diff" between two +// sequences. Unlike e.g. UNIX(tm) diff, the fundamental notion is the +// longest *contiguous* & junk-free matching subsequence. That's what +// catches peoples' eyes. The Windows(tm) windiff has another interesting +// notion, pairing up elements that appear uniquely in each sequence. +// That, and the method here, appear to yield more intuitive difference +// reports than does diff. This method appears to be the least vulnerable +// to synching up on blocks of "junk lines", though (like blank lines in +// ordinary text files, or maybe "

" lines in HTML files). That may be +// because this is the only method of the 3 that has a *concept* of +// "junk" . +// +// Timing: Basic R-O is cubic time worst case and quadratic time expected +// case. SequenceMatcher is quadratic time for the worst case and has +// expected-case behavior dependent in a complicated way on how many +// elements the sequences have in common; best case time is linear. +type SequenceMatcher struct { + a []string + b []string + b2j map[string][]int + IsJunk func(string) bool + autoJunk bool + bJunk map[string]struct{} + matchingBlocks []Match + fullBCount map[string]int + bPopular map[string]struct{} + opCodes []OpCode +} + +func NewMatcher(a, b []string) *SequenceMatcher { + m := SequenceMatcher{autoJunk: true} + m.SetSeqs(a, b) + return &m +} + +func NewMatcherWithJunk(a, b []string, autoJunk bool, + isJunk func(string) bool) *SequenceMatcher { + + m := SequenceMatcher{IsJunk: isJunk, autoJunk: autoJunk} + m.SetSeqs(a, b) + return &m +} + +// Set two sequences to be compared. +func (m *SequenceMatcher) SetSeqs(a, b []string) { + m.SetSeq1(a) + m.SetSeq2(b) +} + +// Set the first sequence to be compared. The second sequence to be compared is +// not changed. +// +// SequenceMatcher computes and caches detailed information about the second +// sequence, so if you want to compare one sequence S against many sequences, +// use .SetSeq2(s) once and call .SetSeq1(x) repeatedly for each of the other +// sequences. +// +// See also SetSeqs() and SetSeq2(). +func (m *SequenceMatcher) SetSeq1(a []string) { + if &a == &m.a { + return + } + m.a = a + m.matchingBlocks = nil + m.opCodes = nil +} + +// Set the second sequence to be compared. The first sequence to be compared is +// not changed. +func (m *SequenceMatcher) SetSeq2(b []string) { + if &b == &m.b { + return + } + m.b = b + m.matchingBlocks = nil + m.opCodes = nil + m.fullBCount = nil + m.chainB() +} + +func (m *SequenceMatcher) chainB() { + // Populate line -> index mapping + b2j := map[string][]int{} + for i, s := range m.b { + indices := b2j[s] + indices = append(indices, i) + b2j[s] = indices + } + + // Purge junk elements + m.bJunk = map[string]struct{}{} + if m.IsJunk != nil { + junk := m.bJunk + for s, _ := range b2j { + if m.IsJunk(s) { + junk[s] = struct{}{} + } + } + for s, _ := range junk { + delete(b2j, s) + } + } + + // Purge remaining popular elements + popular := map[string]struct{}{} + n := len(m.b) + if m.autoJunk && n >= 200 { + ntest := n/100 + 1 + for s, indices := range b2j { + if len(indices) > ntest { + popular[s] = struct{}{} + } + } + for s, _ := range popular { + delete(b2j, s) + } + } + m.bPopular = popular + m.b2j = b2j +} + +func (m *SequenceMatcher) isBJunk(s string) bool { + _, ok := m.bJunk[s] + return ok +} + +// Find longest matching block in a[alo:ahi] and b[blo:bhi]. +// +// If IsJunk is not defined: +// +// Return (i,j,k) such that a[i:i+k] is equal to b[j:j+k], where +// alo <= i <= i+k <= ahi +// blo <= j <= j+k <= bhi +// and for all (i',j',k') meeting those conditions, +// k >= k' +// i <= i' +// and if i == i', j <= j' +// +// In other words, of all maximal matching blocks, return one that +// starts earliest in a, and of all those maximal matching blocks that +// start earliest in a, return the one that starts earliest in b. +// +// If IsJunk is defined, first the longest matching block is +// determined as above, but with the additional restriction that no +// junk element appears in the block. Then that block is extended as +// far as possible by matching (only) junk elements on both sides. So +// the resulting block never matches on junk except as identical junk +// happens to be adjacent to an "interesting" match. +// +// If no blocks match, return (alo, blo, 0). +func (m *SequenceMatcher) findLongestMatch(alo, ahi, blo, bhi int) Match { + // CAUTION: stripping common prefix or suffix would be incorrect. + // E.g., + // ab + // acab + // Longest matching block is "ab", but if common prefix is + // stripped, it's "a" (tied with "b"). UNIX(tm) diff does so + // strip, so ends up claiming that ab is changed to acab by + // inserting "ca" in the middle. That's minimal but unintuitive: + // "it's obvious" that someone inserted "ac" at the front. + // Windiff ends up at the same place as diff, but by pairing up + // the unique 'b's and then matching the first two 'a's. + besti, bestj, bestsize := alo, blo, 0 + + // find longest junk-free match + // during an iteration of the loop, j2len[j] = length of longest + // junk-free match ending with a[i-1] and b[j] + j2len := map[int]int{} + for i := alo; i != ahi; i++ { + // look at all instances of a[i] in b; note that because + // b2j has no junk keys, the loop is skipped if a[i] is junk + newj2len := map[int]int{} + for _, j := range m.b2j[m.a[i]] { + // a[i] matches b[j] + if j < blo { + continue + } + if j >= bhi { + break + } + k := j2len[j-1] + 1 + newj2len[j] = k + if k > bestsize { + besti, bestj, bestsize = i-k+1, j-k+1, k + } + } + j2len = newj2len + } + + // Extend the best by non-junk elements on each end. In particular, + // "popular" non-junk elements aren't in b2j, which greatly speeds + // the inner loop above, but also means "the best" match so far + // doesn't contain any junk *or* popular non-junk elements. + for besti > alo && bestj > blo && !m.isBJunk(m.b[bestj-1]) && + m.a[besti-1] == m.b[bestj-1] { + besti, bestj, bestsize = besti-1, bestj-1, bestsize+1 + } + for besti+bestsize < ahi && bestj+bestsize < bhi && + !m.isBJunk(m.b[bestj+bestsize]) && + m.a[besti+bestsize] == m.b[bestj+bestsize] { + bestsize += 1 + } + + // Now that we have a wholly interesting match (albeit possibly + // empty!), we may as well suck up the matching junk on each + // side of it too. Can't think of a good reason not to, and it + // saves post-processing the (possibly considerable) expense of + // figuring out what to do with it. In the case of an empty + // interesting match, this is clearly the right thing to do, + // because no other kind of match is possible in the regions. + for besti > alo && bestj > blo && m.isBJunk(m.b[bestj-1]) && + m.a[besti-1] == m.b[bestj-1] { + besti, bestj, bestsize = besti-1, bestj-1, bestsize+1 + } + for besti+bestsize < ahi && bestj+bestsize < bhi && + m.isBJunk(m.b[bestj+bestsize]) && + m.a[besti+bestsize] == m.b[bestj+bestsize] { + bestsize += 1 + } + + return Match{A: besti, B: bestj, Size: bestsize} +} + +// Return list of triples describing matching subsequences. +// +// Each triple is of the form (i, j, n), and means that +// a[i:i+n] == b[j:j+n]. The triples are monotonically increasing in +// i and in j. It's also guaranteed that if (i, j, n) and (i', j', n') are +// adjacent triples in the list, and the second is not the last triple in the +// list, then i+n != i' or j+n != j'. IOW, adjacent triples never describe +// adjacent equal blocks. +// +// The last triple is a dummy, (len(a), len(b), 0), and is the only +// triple with n==0. +func (m *SequenceMatcher) GetMatchingBlocks() []Match { + if m.matchingBlocks != nil { + return m.matchingBlocks + } + + var matchBlocks func(alo, ahi, blo, bhi int, matched []Match) []Match + matchBlocks = func(alo, ahi, blo, bhi int, matched []Match) []Match { + match := m.findLongestMatch(alo, ahi, blo, bhi) + i, j, k := match.A, match.B, match.Size + if match.Size > 0 { + if alo < i && blo < j { + matched = matchBlocks(alo, i, blo, j, matched) + } + matched = append(matched, match) + if i+k < ahi && j+k < bhi { + matched = matchBlocks(i+k, ahi, j+k, bhi, matched) + } + } + return matched + } + matched := matchBlocks(0, len(m.a), 0, len(m.b), nil) + + // It's possible that we have adjacent equal blocks in the + // matching_blocks list now. + nonAdjacent := []Match{} + i1, j1, k1 := 0, 0, 0 + for _, b := range matched { + // Is this block adjacent to i1, j1, k1? + i2, j2, k2 := b.A, b.B, b.Size + if i1+k1 == i2 && j1+k1 == j2 { + // Yes, so collapse them -- this just increases the length of + // the first block by the length of the second, and the first + // block so lengthened remains the block to compare against. + k1 += k2 + } else { + // Not adjacent. Remember the first block (k1==0 means it's + // the dummy we started with), and make the second block the + // new block to compare against. + if k1 > 0 { + nonAdjacent = append(nonAdjacent, Match{i1, j1, k1}) + } + i1, j1, k1 = i2, j2, k2 + } + } + if k1 > 0 { + nonAdjacent = append(nonAdjacent, Match{i1, j1, k1}) + } + + nonAdjacent = append(nonAdjacent, Match{len(m.a), len(m.b), 0}) + m.matchingBlocks = nonAdjacent + return m.matchingBlocks +} + +// Return list of 5-tuples describing how to turn a into b. +// +// Each tuple is of the form (tag, i1, i2, j1, j2). The first tuple +// has i1 == j1 == 0, and remaining tuples have i1 == the i2 from the +// tuple preceding it, and likewise for j1 == the previous j2. +// +// The tags are characters, with these meanings: +// +// 'r' (replace): a[i1:i2] should be replaced by b[j1:j2] +// +// 'd' (delete): a[i1:i2] should be deleted, j1==j2 in this case. +// +// 'i' (insert): b[j1:j2] should be inserted at a[i1:i1], i1==i2 in this case. +// +// 'e' (equal): a[i1:i2] == b[j1:j2] +func (m *SequenceMatcher) GetOpCodes() []OpCode { + if m.opCodes != nil { + return m.opCodes + } + i, j := 0, 0 + matching := m.GetMatchingBlocks() + opCodes := make([]OpCode, 0, len(matching)) + for _, m := range matching { + // invariant: we've pumped out correct diffs to change + // a[:i] into b[:j], and the next matching block is + // a[ai:ai+size] == b[bj:bj+size]. So we need to pump + // out a diff to change a[i:ai] into b[j:bj], pump out + // the matching block, and move (i,j) beyond the match + ai, bj, size := m.A, m.B, m.Size + tag := byte(0) + if i < ai && j < bj { + tag = 'r' + } else if i < ai { + tag = 'd' + } else if j < bj { + tag = 'i' + } + if tag > 0 { + opCodes = append(opCodes, OpCode{tag, i, ai, j, bj}) + } + i, j = ai+size, bj+size + // the list of matching blocks is terminated by a + // sentinel with size 0 + if size > 0 { + opCodes = append(opCodes, OpCode{'e', ai, i, bj, j}) + } + } + m.opCodes = opCodes + return m.opCodes +} + +// Isolate change clusters by eliminating ranges with no changes. +// +// Return a generator of groups with up to n lines of context. +// Each group is in the same format as returned by GetOpCodes(). +func (m *SequenceMatcher) GetGroupedOpCodes(n int) [][]OpCode { + if n < 0 { + n = 3 + } + codes := m.GetOpCodes() + if len(codes) == 0 { + codes = []OpCode{OpCode{'e', 0, 1, 0, 1}} + } + // Fixup leading and trailing groups if they show no changes. + if codes[0].Tag == 'e' { + c := codes[0] + i1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2 + codes[0] = OpCode{c.Tag, max(i1, i2-n), i2, max(j1, j2-n), j2} + } + if codes[len(codes)-1].Tag == 'e' { + c := codes[len(codes)-1] + i1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2 + codes[len(codes)-1] = OpCode{c.Tag, i1, min(i2, i1+n), j1, min(j2, j1+n)} + } + nn := n + n + groups := [][]OpCode{} + group := []OpCode{} + for _, c := range codes { + i1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2 + // End the current group and start a new one whenever + // there is a large range with no changes. + if c.Tag == 'e' && i2-i1 > nn { + group = append(group, OpCode{c.Tag, i1, min(i2, i1+n), + j1, min(j2, j1+n)}) + groups = append(groups, group) + group = []OpCode{} + i1, j1 = max(i1, i2-n), max(j1, j2-n) + } + group = append(group, OpCode{c.Tag, i1, i2, j1, j2}) + } + if len(group) > 0 && !(len(group) == 1 && group[0].Tag == 'e') { + groups = append(groups, group) + } + return groups +} + +// Return a measure of the sequences' similarity (float in [0,1]). +// +// Where T is the total number of elements in both sequences, and +// M is the number of matches, this is 2.0*M / T. +// Note that this is 1 if the sequences are identical, and 0 if +// they have nothing in common. +// +// .Ratio() is expensive to compute if you haven't already computed +// .GetMatchingBlocks() or .GetOpCodes(), in which case you may +// want to try .QuickRatio() or .RealQuickRation() first to get an +// upper bound. +func (m *SequenceMatcher) Ratio() float64 { + matches := 0 + for _, m := range m.GetMatchingBlocks() { + matches += m.Size + } + return calculateRatio(matches, len(m.a)+len(m.b)) +} + +// Return an upper bound on ratio() relatively quickly. +// +// This isn't defined beyond that it is an upper bound on .Ratio(), and +// is faster to compute. +func (m *SequenceMatcher) QuickRatio() float64 { + // viewing a and b as multisets, set matches to the cardinality + // of their intersection; this counts the number of matches + // without regard to order, so is clearly an upper bound + if m.fullBCount == nil { + m.fullBCount = map[string]int{} + for _, s := range m.b { + m.fullBCount[s] = m.fullBCount[s] + 1 + } + } + + // avail[x] is the number of times x appears in 'b' less the + // number of times we've seen it in 'a' so far ... kinda + avail := map[string]int{} + matches := 0 + for _, s := range m.a { + n, ok := avail[s] + if !ok { + n = m.fullBCount[s] + } + avail[s] = n - 1 + if n > 0 { + matches += 1 + } + } + return calculateRatio(matches, len(m.a)+len(m.b)) +} + +// Return an upper bound on ratio() very quickly. +// +// This isn't defined beyond that it is an upper bound on .Ratio(), and +// is faster to compute than either .Ratio() or .QuickRatio(). +func (m *SequenceMatcher) RealQuickRatio() float64 { + la, lb := len(m.a), len(m.b) + return calculateRatio(min(la, lb), la+lb) +} + +// Convert range to the "ed" format +func formatRangeUnified(start, stop int) string { + // Per the diff spec at http://www.unix.org/single_unix_specification/ + beginning := start + 1 // lines start numbering with one + length := stop - start + if length == 1 { + return fmt.Sprintf("%d", beginning) + } + if length == 0 { + beginning -= 1 // empty ranges begin at line just before the range + } + return fmt.Sprintf("%d,%d", beginning, length) +} + +// Unified diff parameters +type UnifiedDiff struct { + A []string // First sequence lines + FromFile string // First file name + FromDate string // First file time + B []string // Second sequence lines + ToFile string // Second file name + ToDate string // Second file time + Eol string // Headers end of line, defaults to LF + Context int // Number of context lines +} + +// Compare two sequences of lines; generate the delta as a unified diff. +// +// Unified diffs are a compact way of showing line changes and a few +// lines of context. The number of context lines is set by 'n' which +// defaults to three. +// +// By default, the diff control lines (those with ---, +++, or @@) are +// created with a trailing newline. This is helpful so that inputs +// created from file.readlines() result in diffs that are suitable for +// file.writelines() since both the inputs and outputs have trailing +// newlines. +// +// For inputs that do not have trailing newlines, set the lineterm +// argument to "" so that the output will be uniformly newline free. +// +// The unidiff format normally has a header for filenames and modification +// times. Any or all of these may be specified using strings for +// 'fromfile', 'tofile', 'fromfiledate', and 'tofiledate'. +// The modification times are normally expressed in the ISO 8601 format. +func WriteUnifiedDiff(writer io.Writer, diff UnifiedDiff) error { + buf := bufio.NewWriter(writer) + defer buf.Flush() + wf := func(format string, args ...interface{}) error { + _, err := buf.WriteString(fmt.Sprintf(format, args...)) + return err + } + ws := func(s string) error { + _, err := buf.WriteString(s) + return err + } + + if len(diff.Eol) == 0 { + diff.Eol = "\n" + } + + started := false + m := NewMatcher(diff.A, diff.B) + for _, g := range m.GetGroupedOpCodes(diff.Context) { + if !started { + started = true + fromDate := "" + if len(diff.FromDate) > 0 { + fromDate = "\t" + diff.FromDate + } + toDate := "" + if len(diff.ToDate) > 0 { + toDate = "\t" + diff.ToDate + } + if diff.FromFile != "" || diff.ToFile != "" { + err := wf("--- %s%s%s", diff.FromFile, fromDate, diff.Eol) + if err != nil { + return err + } + err = wf("+++ %s%s%s", diff.ToFile, toDate, diff.Eol) + if err != nil { + return err + } + } + } + first, last := g[0], g[len(g)-1] + range1 := formatRangeUnified(first.I1, last.I2) + range2 := formatRangeUnified(first.J1, last.J2) + if err := wf("@@ -%s +%s @@%s", range1, range2, diff.Eol); err != nil { + return err + } + for _, c := range g { + i1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2 + if c.Tag == 'e' { + for _, line := range diff.A[i1:i2] { + if err := ws(" " + line); err != nil { + return err + } + } + continue + } + if c.Tag == 'r' || c.Tag == 'd' { + for _, line := range diff.A[i1:i2] { + if err := ws("-" + line); err != nil { + return err + } + } + } + if c.Tag == 'r' || c.Tag == 'i' { + for _, line := range diff.B[j1:j2] { + if err := ws("+" + line); err != nil { + return err + } + } + } + } + } + return nil +} + +// Like WriteUnifiedDiff but returns the diff a string. +func GetUnifiedDiffString(diff UnifiedDiff) (string, error) { + w := &bytes.Buffer{} + err := WriteUnifiedDiff(w, diff) + return string(w.Bytes()), err +} + +// Convert range to the "ed" format. +func formatRangeContext(start, stop int) string { + // Per the diff spec at http://www.unix.org/single_unix_specification/ + beginning := start + 1 // lines start numbering with one + length := stop - start + if length == 0 { + beginning -= 1 // empty ranges begin at line just before the range + } + if length <= 1 { + return fmt.Sprintf("%d", beginning) + } + return fmt.Sprintf("%d,%d", beginning, beginning+length-1) +} + +type ContextDiff UnifiedDiff + +// Compare two sequences of lines; generate the delta as a context diff. +// +// Context diffs are a compact way of showing line changes and a few +// lines of context. The number of context lines is set by diff.Context +// which defaults to three. +// +// By default, the diff control lines (those with *** or ---) are +// created with a trailing newline. +// +// For inputs that do not have trailing newlines, set the diff.Eol +// argument to "" so that the output will be uniformly newline free. +// +// The context diff format normally has a header for filenames and +// modification times. Any or all of these may be specified using +// strings for diff.FromFile, diff.ToFile, diff.FromDate, diff.ToDate. +// The modification times are normally expressed in the ISO 8601 format. +// If not specified, the strings default to blanks. +func WriteContextDiff(writer io.Writer, diff ContextDiff) error { + buf := bufio.NewWriter(writer) + defer buf.Flush() + var diffErr error + wf := func(format string, args ...interface{}) { + _, err := buf.WriteString(fmt.Sprintf(format, args...)) + if diffErr == nil && err != nil { + diffErr = err + } + } + ws := func(s string) { + _, err := buf.WriteString(s) + if diffErr == nil && err != nil { + diffErr = err + } + } + + if len(diff.Eol) == 0 { + diff.Eol = "\n" + } + + prefix := map[byte]string{ + 'i': "+ ", + 'd': "- ", + 'r': "! ", + 'e': " ", + } + + started := false + m := NewMatcher(diff.A, diff.B) + for _, g := range m.GetGroupedOpCodes(diff.Context) { + if !started { + started = true + fromDate := "" + if len(diff.FromDate) > 0 { + fromDate = "\t" + diff.FromDate + } + toDate := "" + if len(diff.ToDate) > 0 { + toDate = "\t" + diff.ToDate + } + if diff.FromFile != "" || diff.ToFile != "" { + wf("*** %s%s%s", diff.FromFile, fromDate, diff.Eol) + wf("--- %s%s%s", diff.ToFile, toDate, diff.Eol) + } + } + + first, last := g[0], g[len(g)-1] + ws("***************" + diff.Eol) + + range1 := formatRangeContext(first.I1, last.I2) + wf("*** %s ****%s", range1, diff.Eol) + for _, c := range g { + if c.Tag == 'r' || c.Tag == 'd' { + for _, cc := range g { + if cc.Tag == 'i' { + continue + } + for _, line := range diff.A[cc.I1:cc.I2] { + ws(prefix[cc.Tag] + line) + } + } + break + } + } + + range2 := formatRangeContext(first.J1, last.J2) + wf("--- %s ----%s", range2, diff.Eol) + for _, c := range g { + if c.Tag == 'r' || c.Tag == 'i' { + for _, cc := range g { + if cc.Tag == 'd' { + continue + } + for _, line := range diff.B[cc.J1:cc.J2] { + ws(prefix[cc.Tag] + line) + } + } + break + } + } + } + return diffErr +} + +// Like WriteContextDiff but returns the diff a string. +func GetContextDiffString(diff ContextDiff) (string, error) { + w := &bytes.Buffer{} + err := WriteContextDiff(w, diff) + return string(w.Bytes()), err +} + +// Split a string on "\n" while preserving them. The output can be used +// as input for UnifiedDiff and ContextDiff structures. +func SplitLines(s string) []string { + lines := strings.SplitAfter(s, "\n") + lines[len(lines)-1] += "\n" + return lines +} diff --git a/vendor/github.com/prometheus/client_golang/AUTHORS.md b/vendor/github.com/prometheus/client_golang/AUTHORS.md new file mode 100644 index 00000000..c5275d5a --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/AUTHORS.md @@ -0,0 +1,18 @@ +The Prometheus project was started by Matt T. Proud (emeritus) and +Julius Volz in 2012. + +Maintainers of this repository: + +* Björn Rabenstein + +The following individuals have contributed code to this repository +(listed in alphabetical order): + +* Bernerd Schaefer +* Björn Rabenstein +* Daniel Bornkessel +* Jeff Younker +* Julius Volz +* Matt T. Proud +* Tobias Schmidt + diff --git a/vendor/github.com/prometheus/client_golang/LICENSE b/vendor/github.com/prometheus/client_golang/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/prometheus/client_golang/NOTICE b/vendor/github.com/prometheus/client_golang/NOTICE new file mode 100644 index 00000000..dd878a30 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/NOTICE @@ -0,0 +1,23 @@ +Prometheus instrumentation library for Go applications +Copyright 2012-2015 The Prometheus Authors + +This product includes software developed at +SoundCloud Ltd. (http://soundcloud.com/). + + +The following components are included in this product: + +perks - a fork of https://github.com/bmizerany/perks +https://github.com/beorn7/perks +Copyright 2013-2015 Blake Mizerany, Björn Rabenstein +See https://github.com/beorn7/perks/blob/master/README.md for license details. + +Go support for Protocol Buffers - Google's data interchange format +http://github.com/golang/protobuf/ +Copyright 2010 The Go Authors +See source code for license details. + +Support for streaming Protocol Buffer messages for the Go language (golang). +https://github.com/matttproud/golang_protobuf_extensions +Copyright 2013 Matt T. Proud +Licensed under the Apache License, Version 2.0 diff --git a/vendor/github.com/prometheus/client_golang/prometheus/.gitignore b/vendor/github.com/prometheus/client_golang/prometheus/.gitignore new file mode 100644 index 00000000..3460f034 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/.gitignore @@ -0,0 +1 @@ +command-line-arguments.test diff --git a/vendor/github.com/prometheus/client_golang/prometheus/README.md b/vendor/github.com/prometheus/client_golang/prometheus/README.md new file mode 100644 index 00000000..44986bff --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/README.md @@ -0,0 +1 @@ +See [![go-doc](https://godoc.org/github.com/prometheus/client_golang/prometheus?status.svg)](https://godoc.org/github.com/prometheus/client_golang/prometheus). diff --git a/vendor/github.com/prometheus/client_golang/prometheus/collector.go b/vendor/github.com/prometheus/client_golang/prometheus/collector.go new file mode 100644 index 00000000..623d3d83 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/collector.go @@ -0,0 +1,75 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +// Collector is the interface implemented by anything that can be used by +// Prometheus to collect metrics. A Collector has to be registered for +// collection. See Registerer.Register. +// +// The stock metrics provided by this package (Gauge, Counter, Summary, +// Histogram, Untyped) are also Collectors (which only ever collect one metric, +// namely itself). An implementer of Collector may, however, collect multiple +// metrics in a coordinated fashion and/or create metrics on the fly. Examples +// for collectors already implemented in this library are the metric vectors +// (i.e. collection of multiple instances of the same Metric but with different +// label values) like GaugeVec or SummaryVec, and the ExpvarCollector. +type Collector interface { + // Describe sends the super-set of all possible descriptors of metrics + // collected by this Collector to the provided channel and returns once + // the last descriptor has been sent. The sent descriptors fulfill the + // consistency and uniqueness requirements described in the Desc + // documentation. (It is valid if one and the same Collector sends + // duplicate descriptors. Those duplicates are simply ignored. However, + // two different Collectors must not send duplicate descriptors.) This + // method idempotently sends the same descriptors throughout the + // lifetime of the Collector. If a Collector encounters an error while + // executing this method, it must send an invalid descriptor (created + // with NewInvalidDesc) to signal the error to the registry. + Describe(chan<- *Desc) + // Collect is called by the Prometheus registry when collecting + // metrics. The implementation sends each collected metric via the + // provided channel and returns once the last metric has been sent. The + // descriptor of each sent metric is one of those returned by + // Describe. Returned metrics that share the same descriptor must differ + // in their variable label values. This method may be called + // concurrently and must therefore be implemented in a concurrency safe + // way. Blocking occurs at the expense of total performance of rendering + // all registered metrics. Ideally, Collector implementations support + // concurrent readers. + Collect(chan<- Metric) +} + +// selfCollector implements Collector for a single Metric so that the Metric +// collects itself. Add it as an anonymous field to a struct that implements +// Metric, and call init with the Metric itself as an argument. +type selfCollector struct { + self Metric +} + +// init provides the selfCollector with a reference to the metric it is supposed +// to collect. It is usually called within the factory function to create a +// metric. See example. +func (c *selfCollector) init(self Metric) { + c.self = self +} + +// Describe implements Collector. +func (c *selfCollector) Describe(ch chan<- *Desc) { + ch <- c.self.Desc() +} + +// Collect implements Collector. +func (c *selfCollector) Collect(ch chan<- Metric) { + ch <- c.self +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/counter.go b/vendor/github.com/prometheus/client_golang/prometheus/counter.go new file mode 100644 index 00000000..ee37949a --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/counter.go @@ -0,0 +1,172 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "errors" +) + +// Counter is a Metric that represents a single numerical value that only ever +// goes up. That implies that it cannot be used to count items whose number can +// also go down, e.g. the number of currently running goroutines. Those +// "counters" are represented by Gauges. +// +// A Counter is typically used to count requests served, tasks completed, errors +// occurred, etc. +// +// To create Counter instances, use NewCounter. +type Counter interface { + Metric + Collector + + // Set is used to set the Counter to an arbitrary value. It is only used + // if you have to transfer a value from an external counter into this + // Prometheus metric. Do not use it for regular handling of a + // Prometheus counter (as it can be used to break the contract of + // monotonically increasing values). + // + // Deprecated: Use NewConstMetric to create a counter for an external + // value. A Counter should never be set. + Set(float64) + // Inc increments the counter by 1. + Inc() + // Add adds the given value to the counter. It panics if the value is < + // 0. + Add(float64) +} + +// CounterOpts is an alias for Opts. See there for doc comments. +type CounterOpts Opts + +// NewCounter creates a new Counter based on the provided CounterOpts. +func NewCounter(opts CounterOpts) Counter { + desc := NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + nil, + opts.ConstLabels, + ) + result := &counter{value: value{desc: desc, valType: CounterValue, labelPairs: desc.constLabelPairs}} + result.init(result) // Init self-collection. + return result +} + +type counter struct { + value +} + +func (c *counter) Add(v float64) { + if v < 0 { + panic(errors.New("counter cannot decrease in value")) + } + c.value.Add(v) +} + +// CounterVec is a Collector that bundles a set of Counters that all share the +// same Desc, but have different values for their variable labels. This is used +// if you want to count the same thing partitioned by various dimensions +// (e.g. number of HTTP requests, partitioned by response code and +// method). Create instances with NewCounterVec. +// +// CounterVec embeds MetricVec. See there for a full list of methods with +// detailed documentation. +type CounterVec struct { + *MetricVec +} + +// NewCounterVec creates a new CounterVec based on the provided CounterOpts and +// partitioned by the given label names. At least one label name must be +// provided. +func NewCounterVec(opts CounterOpts, labelNames []string) *CounterVec { + desc := NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + labelNames, + opts.ConstLabels, + ) + return &CounterVec{ + MetricVec: newMetricVec(desc, func(lvs ...string) Metric { + result := &counter{value: value{ + desc: desc, + valType: CounterValue, + labelPairs: makeLabelPairs(desc, lvs), + }} + result.init(result) // Init self-collection. + return result + }), + } +} + +// GetMetricWithLabelValues replaces the method of the same name in +// MetricVec. The difference is that this method returns a Counter and not a +// Metric so that no type conversion is required. +func (m *CounterVec) GetMetricWithLabelValues(lvs ...string) (Counter, error) { + metric, err := m.MetricVec.GetMetricWithLabelValues(lvs...) + if metric != nil { + return metric.(Counter), err + } + return nil, err +} + +// GetMetricWith replaces the method of the same name in MetricVec. The +// difference is that this method returns a Counter and not a Metric so that no +// type conversion is required. +func (m *CounterVec) GetMetricWith(labels Labels) (Counter, error) { + metric, err := m.MetricVec.GetMetricWith(labels) + if metric != nil { + return metric.(Counter), err + } + return nil, err +} + +// WithLabelValues works as GetMetricWithLabelValues, but panics where +// GetMetricWithLabelValues would have returned an error. By not returning an +// error, WithLabelValues allows shortcuts like +// myVec.WithLabelValues("404", "GET").Add(42) +func (m *CounterVec) WithLabelValues(lvs ...string) Counter { + return m.MetricVec.WithLabelValues(lvs...).(Counter) +} + +// With works as GetMetricWith, but panics where GetMetricWithLabels would have +// returned an error. By not returning an error, With allows shortcuts like +// myVec.With(Labels{"code": "404", "method": "GET"}).Add(42) +func (m *CounterVec) With(labels Labels) Counter { + return m.MetricVec.With(labels).(Counter) +} + +// CounterFunc is a Counter whose value is determined at collect time by calling a +// provided function. +// +// To create CounterFunc instances, use NewCounterFunc. +type CounterFunc interface { + Metric + Collector +} + +// NewCounterFunc creates a new CounterFunc based on the provided +// CounterOpts. The value reported is determined by calling the given function +// from within the Write method. Take into account that metric collection may +// happen concurrently. If that results in concurrent calls to Write, like in +// the case where a CounterFunc is directly registered with Prometheus, the +// provided function must be concurrency-safe. The function should also honor +// the contract for a Counter (values only go up, not down), but compliance will +// not be checked. +func NewCounterFunc(opts CounterOpts, function func() float64) CounterFunc { + return newValueFunc(NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + nil, + opts.ConstLabels, + ), CounterValue, function) +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/desc.go b/vendor/github.com/prometheus/client_golang/prometheus/desc.go new file mode 100644 index 00000000..77f4b30e --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/desc.go @@ -0,0 +1,205 @@ +// Copyright 2016 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "errors" + "fmt" + "regexp" + "sort" + "strings" + + "github.com/golang/protobuf/proto" + + dto "github.com/prometheus/client_model/go" +) + +var ( + metricNameRE = regexp.MustCompile(`^[a-zA-Z_][a-zA-Z0-9_:]*$`) + labelNameRE = regexp.MustCompile("^[a-zA-Z_][a-zA-Z0-9_]*$") +) + +// reservedLabelPrefix is a prefix which is not legal in user-supplied +// label names. +const reservedLabelPrefix = "__" + +// Labels represents a collection of label name -> value mappings. This type is +// commonly used with the With(Labels) and GetMetricWith(Labels) methods of +// metric vector Collectors, e.g.: +// myVec.With(Labels{"code": "404", "method": "GET"}).Add(42) +// +// The other use-case is the specification of constant label pairs in Opts or to +// create a Desc. +type Labels map[string]string + +// Desc is the descriptor used by every Prometheus Metric. It is essentially +// the immutable meta-data of a Metric. The normal Metric implementations +// included in this package manage their Desc under the hood. Users only have to +// deal with Desc if they use advanced features like the ExpvarCollector or +// custom Collectors and Metrics. +// +// Descriptors registered with the same registry have to fulfill certain +// consistency and uniqueness criteria if they share the same fully-qualified +// name: They must have the same help string and the same label names (aka label +// dimensions) in each, constLabels and variableLabels, but they must differ in +// the values of the constLabels. +// +// Descriptors that share the same fully-qualified names and the same label +// values of their constLabels are considered equal. +// +// Use NewDesc to create new Desc instances. +type Desc struct { + // fqName has been built from Namespace, Subsystem, and Name. + fqName string + // help provides some helpful information about this metric. + help string + // constLabelPairs contains precalculated DTO label pairs based on + // the constant labels. + constLabelPairs []*dto.LabelPair + // VariableLabels contains names of labels for which the metric + // maintains variable values. + variableLabels []string + // id is a hash of the values of the ConstLabels and fqName. This + // must be unique among all registered descriptors and can therefore be + // used as an identifier of the descriptor. + id uint64 + // dimHash is a hash of the label names (preset and variable) and the + // Help string. Each Desc with the same fqName must have the same + // dimHash. + dimHash uint64 + // err is an error that occured during construction. It is reported on + // registration time. + err error +} + +// NewDesc allocates and initializes a new Desc. Errors are recorded in the Desc +// and will be reported on registration time. variableLabels and constLabels can +// be nil if no such labels should be set. fqName and help must not be empty. +// +// variableLabels only contain the label names. Their label values are variable +// and therefore not part of the Desc. (They are managed within the Metric.) +// +// For constLabels, the label values are constant. Therefore, they are fully +// specified in the Desc. See the Opts documentation for the implications of +// constant labels. +func NewDesc(fqName, help string, variableLabels []string, constLabels Labels) *Desc { + d := &Desc{ + fqName: fqName, + help: help, + variableLabels: variableLabels, + } + if help == "" { + d.err = errors.New("empty help string") + return d + } + if !metricNameRE.MatchString(fqName) { + d.err = fmt.Errorf("%q is not a valid metric name", fqName) + return d + } + // labelValues contains the label values of const labels (in order of + // their sorted label names) plus the fqName (at position 0). + labelValues := make([]string, 1, len(constLabels)+1) + labelValues[0] = fqName + labelNames := make([]string, 0, len(constLabels)+len(variableLabels)) + labelNameSet := map[string]struct{}{} + // First add only the const label names and sort them... + for labelName := range constLabels { + if !checkLabelName(labelName) { + d.err = fmt.Errorf("%q is not a valid label name", labelName) + return d + } + labelNames = append(labelNames, labelName) + labelNameSet[labelName] = struct{}{} + } + sort.Strings(labelNames) + // ... so that we can now add const label values in the order of their names. + for _, labelName := range labelNames { + labelValues = append(labelValues, constLabels[labelName]) + } + // Now add the variable label names, but prefix them with something that + // cannot be in a regular label name. That prevents matching the label + // dimension with a different mix between preset and variable labels. + for _, labelName := range variableLabels { + if !checkLabelName(labelName) { + d.err = fmt.Errorf("%q is not a valid label name", labelName) + return d + } + labelNames = append(labelNames, "$"+labelName) + labelNameSet[labelName] = struct{}{} + } + if len(labelNames) != len(labelNameSet) { + d.err = errors.New("duplicate label names") + return d + } + vh := hashNew() + for _, val := range labelValues { + vh = hashAdd(vh, val) + vh = hashAddByte(vh, separatorByte) + } + d.id = vh + // Sort labelNames so that order doesn't matter for the hash. + sort.Strings(labelNames) + // Now hash together (in this order) the help string and the sorted + // label names. + lh := hashNew() + lh = hashAdd(lh, help) + lh = hashAddByte(lh, separatorByte) + for _, labelName := range labelNames { + lh = hashAdd(lh, labelName) + lh = hashAddByte(lh, separatorByte) + } + d.dimHash = lh + + d.constLabelPairs = make([]*dto.LabelPair, 0, len(constLabels)) + for n, v := range constLabels { + d.constLabelPairs = append(d.constLabelPairs, &dto.LabelPair{ + Name: proto.String(n), + Value: proto.String(v), + }) + } + sort.Sort(LabelPairSorter(d.constLabelPairs)) + return d +} + +// NewInvalidDesc returns an invalid descriptor, i.e. a descriptor with the +// provided error set. If a collector returning such a descriptor is registered, +// registration will fail with the provided error. NewInvalidDesc can be used by +// a Collector to signal inability to describe itself. +func NewInvalidDesc(err error) *Desc { + return &Desc{ + err: err, + } +} + +func (d *Desc) String() string { + lpStrings := make([]string, 0, len(d.constLabelPairs)) + for _, lp := range d.constLabelPairs { + lpStrings = append( + lpStrings, + fmt.Sprintf("%s=%q", lp.GetName(), lp.GetValue()), + ) + } + return fmt.Sprintf( + "Desc{fqName: %q, help: %q, constLabels: {%s}, variableLabels: %v}", + d.fqName, + d.help, + strings.Join(lpStrings, ","), + d.variableLabels, + ) +} + +func checkLabelName(l string) bool { + return labelNameRE.MatchString(l) && + !strings.HasPrefix(l, reservedLabelPrefix) +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/doc.go b/vendor/github.com/prometheus/client_golang/prometheus/doc.go new file mode 100644 index 00000000..b15a2d3b --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/doc.go @@ -0,0 +1,181 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package prometheus provides metrics primitives to instrument code for +// monitoring. It also offers a registry for metrics. Sub-packages allow to +// expose the registered metrics via HTTP (package promhttp) or push them to a +// Pushgateway (package push). +// +// All exported functions and methods are safe to be used concurrently unless +//specified otherwise. +// +// A Basic Example +// +// As a starting point, a very basic usage example: +// +// package main +// +// import ( +// "net/http" +// +// "github.com/prometheus/client_golang/prometheus" +// "github.com/prometheus/client_golang/prometheus/promhttp" +// ) +// +// var ( +// cpuTemp = prometheus.NewGauge(prometheus.GaugeOpts{ +// Name: "cpu_temperature_celsius", +// Help: "Current temperature of the CPU.", +// }) +// hdFailures = prometheus.NewCounterVec( +// prometheus.CounterOpts{ +// Name: "hd_errors_total", +// Help: "Number of hard-disk errors.", +// }, +// []string{"device"}, +// ) +// ) +// +// func init() { +// // Metrics have to be registered to be exposed: +// prometheus.MustRegister(cpuTemp) +// prometheus.MustRegister(hdFailures) +// } +// +// func main() { +// cpuTemp.Set(65.3) +// hdFailures.With(prometheus.Labels{"device":"/dev/sda"}).Inc() +// +// // The Handler function provides a default handler to expose metrics +// // via an HTTP server. "/metrics" is the usual endpoint for that. +// http.Handle("/metrics", promhttp.Handler()) +// http.ListenAndServe(":8080", nil) +// } +// +// +// This is a complete program that exports two metrics, a Gauge and a Counter, +// the latter with a label attached to turn it into a (one-dimensional) vector. +// +// Metrics +// +// The number of exported identifiers in this package might appear a bit +// overwhelming. Hovever, in addition to the basic plumbing shown in the example +// above, you only need to understand the different metric types and their +// vector versions for basic usage. +// +// Above, you have already touched the Counter and the Gauge. There are two more +// advanced metric types: the Summary and Histogram. A more thorough description +// of those four metric types can be found in the Prometheus docs: +// https://prometheus.io/docs/concepts/metric_types/ +// +// A fifth "type" of metric is Untyped. It behaves like a Gauge, but signals the +// Prometheus server not to assume anything about its type. +// +// In addition to the fundamental metric types Gauge, Counter, Summary, +// Histogram, and Untyped, a very important part of the Prometheus data model is +// the partitioning of samples along dimensions called labels, which results in +// metric vectors. The fundamental types are GaugeVec, CounterVec, SummaryVec, +// HistogramVec, and UntypedVec. +// +// While only the fundamental metric types implement the Metric interface, both +// the metrics and their vector versions implement the Collector interface. A +// Collector manages the collection of a number of Metrics, but for convenience, +// a Metric can also “collect itself”. Note that Gauge, Counter, Summary, +// Histogram, and Untyped are interfaces themselves while GaugeVec, CounterVec, +// SummaryVec, HistogramVec, and UntypedVec are not. +// +// To create instances of Metrics and their vector versions, you need a suitable +// …Opts struct, i.e. GaugeOpts, CounterOpts, SummaryOpts, +// HistogramOpts, or UntypedOpts. +// +// Custom Collectors and constant Metrics +// +// While you could create your own implementations of Metric, most likely you +// will only ever implement the Collector interface on your own. At a first +// glance, a custom Collector seems handy to bundle Metrics for common +// registration (with the prime example of the different metric vectors above, +// which bundle all the metrics of the same name but with different labels). +// +// There is a more involved use case, too: If you already have metrics +// available, created outside of the Prometheus context, you don't need the +// interface of the various Metric types. You essentially want to mirror the +// existing numbers into Prometheus Metrics during collection. An own +// implementation of the Collector interface is perfect for that. You can create +// Metric instances “on the fly” using NewConstMetric, NewConstHistogram, and +// NewConstSummary (and their respective Must… versions). That will happen in +// the Collect method. The Describe method has to return separate Desc +// instances, representative of the “throw-away” metrics to be created +// later. NewDesc comes in handy to create those Desc instances. +// +// The Collector example illustrates the use case. You can also look at the +// source code of the processCollector (mirroring process metrics), the +// goCollector (mirroring Go metrics), or the expvarCollector (mirroring expvar +// metrics) as examples that are used in this package itself. +// +// If you just need to call a function to get a single float value to collect as +// a metric, GaugeFunc, CounterFunc, or UntypedFunc might be interesting +// shortcuts. +// +// Advanced Uses of the Registry +// +// While MustRegister is the by far most common way of registering a Collector, +// sometimes you might want to handle the errors the registration might +// cause. As suggested by the name, MustRegister panics if an error occurs. With +// the Register function, the error is returned and can be handled. +// +// An error is returned if the registered Collector is incompatible or +// inconsistent with already registered metrics. The registry aims for +// consistency of the collected metrics according to the Prometheus data +// model. Inconsistencies are ideally detected at registration time, not at +// collect time. The former will usually be detected at start-up time of a +// program, while the latter will only happen at scrape time, possibly not even +// on the first scrape if the inconsistency only becomes relevant later. That is +// the main reason why a Collector and a Metric have to describe themselves to +// the registry. +// +// So far, everything we did operated on the so-called default registry, as it +// can be found in the global DefaultRegistry variable. With NewRegistry, you +// can create a custom registry, or you can even implement the Registerer or +// Gatherer interfaces yourself. The methods Register and Unregister work in +// the same way on a custom registry as the global functions Register and +// Unregister on the default registry. +// +// There are a number of uses for custom registries: You can use registries +// with special properties, see NewPedanticRegistry. You can avoid global state, +// as it is imposed by the DefaultRegistry. You can use multiple registries at +// the same time to expose different metrics in different ways. You can use +// separate registries for testing purposes. +// +// Also note that the DefaultRegistry comes registered with a Collector for Go +// runtime metrics (via NewGoCollector) and a Collector for process metrics (via +// NewProcessCollector). With a custom registry, you are in control and decide +// yourself about the Collectors to register. +// +// HTTP Exposition +// +// The Registry implements the Gatherer interface. The caller of the Gather +// method can then expose the gathered metrics in some way. Usually, the metrics +// are served via HTTP on the /metrics endpoint. That's happening in the example +// above. The tools to expose metrics via HTTP are in the promhttp +// sub-package. (The top-level functions in the prometheus package are +// deprecated.) +// +// Pushing to the Pushgateway +// +// Function for pushing to the Pushgateway can be found in the push sub-package. +// +// Other Means of Exposition +// +// More ways of exposing metrics can easily be added. Sending metrics to +// Graphite would be an example that will soon be implemented. +package prometheus diff --git a/vendor/github.com/prometheus/client_golang/prometheus/expvar_collector.go b/vendor/github.com/prometheus/client_golang/prometheus/expvar_collector.go new file mode 100644 index 00000000..18a99d5f --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/expvar_collector.go @@ -0,0 +1,119 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "encoding/json" + "expvar" +) + +type expvarCollector struct { + exports map[string]*Desc +} + +// NewExpvarCollector returns a newly allocated expvar Collector that still has +// to be registered with a Prometheus registry. +// +// An expvar Collector collects metrics from the expvar interface. It provides a +// quick way to expose numeric values that are already exported via expvar as +// Prometheus metrics. Note that the data models of expvar and Prometheus are +// fundamentally different, and that the expvar Collector is inherently slower +// than native Prometheus metrics. Thus, the expvar Collector is probably great +// for experiments and prototying, but you should seriously consider a more +// direct implementation of Prometheus metrics for monitoring production +// systems. +// +// The exports map has the following meaning: +// +// The keys in the map correspond to expvar keys, i.e. for every expvar key you +// want to export as Prometheus metric, you need an entry in the exports +// map. The descriptor mapped to each key describes how to export the expvar +// value. It defines the name and the help string of the Prometheus metric +// proxying the expvar value. The type will always be Untyped. +// +// For descriptors without variable labels, the expvar value must be a number or +// a bool. The number is then directly exported as the Prometheus sample +// value. (For a bool, 'false' translates to 0 and 'true' to 1). Expvar values +// that are not numbers or bools are silently ignored. +// +// If the descriptor has one variable label, the expvar value must be an expvar +// map. The keys in the expvar map become the various values of the one +// Prometheus label. The values in the expvar map must be numbers or bools again +// as above. +// +// For descriptors with more than one variable label, the expvar must be a +// nested expvar map, i.e. where the values of the topmost map are maps again +// etc. until a depth is reached that corresponds to the number of labels. The +// leaves of that structure must be numbers or bools as above to serve as the +// sample values. +// +// Anything that does not fit into the scheme above is silently ignored. +func NewExpvarCollector(exports map[string]*Desc) Collector { + return &expvarCollector{ + exports: exports, + } +} + +// Describe implements Collector. +func (e *expvarCollector) Describe(ch chan<- *Desc) { + for _, desc := range e.exports { + ch <- desc + } +} + +// Collect implements Collector. +func (e *expvarCollector) Collect(ch chan<- Metric) { + for name, desc := range e.exports { + var m Metric + expVar := expvar.Get(name) + if expVar == nil { + continue + } + var v interface{} + labels := make([]string, len(desc.variableLabels)) + if err := json.Unmarshal([]byte(expVar.String()), &v); err != nil { + ch <- NewInvalidMetric(desc, err) + continue + } + var processValue func(v interface{}, i int) + processValue = func(v interface{}, i int) { + if i >= len(labels) { + copiedLabels := append(make([]string, 0, len(labels)), labels...) + switch v := v.(type) { + case float64: + m = MustNewConstMetric(desc, UntypedValue, v, copiedLabels...) + case bool: + if v { + m = MustNewConstMetric(desc, UntypedValue, 1, copiedLabels...) + } else { + m = MustNewConstMetric(desc, UntypedValue, 0, copiedLabels...) + } + default: + return + } + ch <- m + return + } + vm, ok := v.(map[string]interface{}) + if !ok { + return + } + for lv, val := range vm { + labels[i] = lv + processValue(val, i+1) + } + } + processValue(v, 0) + } +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/fnv.go b/vendor/github.com/prometheus/client_golang/prometheus/fnv.go new file mode 100644 index 00000000..e3b67df8 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/fnv.go @@ -0,0 +1,29 @@ +package prometheus + +// Inline and byte-free variant of hash/fnv's fnv64a. + +const ( + offset64 = 14695981039346656037 + prime64 = 1099511628211 +) + +// hashNew initializies a new fnv64a hash value. +func hashNew() uint64 { + return offset64 +} + +// hashAdd adds a string to a fnv64a hash value, returning the updated hash. +func hashAdd(h uint64, s string) uint64 { + for i := 0; i < len(s); i++ { + h ^= uint64(s[i]) + h *= prime64 + } + return h +} + +// hashAddByte adds a byte to a fnv64a hash value, returning the updated hash. +func hashAddByte(h uint64, b byte) uint64 { + h ^= uint64(b) + h *= prime64 + return h +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/gauge.go b/vendor/github.com/prometheus/client_golang/prometheus/gauge.go new file mode 100644 index 00000000..8b70e514 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/gauge.go @@ -0,0 +1,140 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +// Gauge is a Metric that represents a single numerical value that can +// arbitrarily go up and down. +// +// A Gauge is typically used for measured values like temperatures or current +// memory usage, but also "counts" that can go up and down, like the number of +// running goroutines. +// +// To create Gauge instances, use NewGauge. +type Gauge interface { + Metric + Collector + + // Set sets the Gauge to an arbitrary value. + Set(float64) + // Inc increments the Gauge by 1. + Inc() + // Dec decrements the Gauge by 1. + Dec() + // Add adds the given value to the Gauge. (The value can be + // negative, resulting in a decrease of the Gauge.) + Add(float64) + // Sub subtracts the given value from the Gauge. (The value can be + // negative, resulting in an increase of the Gauge.) + Sub(float64) +} + +// GaugeOpts is an alias for Opts. See there for doc comments. +type GaugeOpts Opts + +// NewGauge creates a new Gauge based on the provided GaugeOpts. +func NewGauge(opts GaugeOpts) Gauge { + return newValue(NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + nil, + opts.ConstLabels, + ), GaugeValue, 0) +} + +// GaugeVec is a Collector that bundles a set of Gauges that all share the same +// Desc, but have different values for their variable labels. This is used if +// you want to count the same thing partitioned by various dimensions +// (e.g. number of operations queued, partitioned by user and operation +// type). Create instances with NewGaugeVec. +type GaugeVec struct { + *MetricVec +} + +// NewGaugeVec creates a new GaugeVec based on the provided GaugeOpts and +// partitioned by the given label names. At least one label name must be +// provided. +func NewGaugeVec(opts GaugeOpts, labelNames []string) *GaugeVec { + desc := NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + labelNames, + opts.ConstLabels, + ) + return &GaugeVec{ + MetricVec: newMetricVec(desc, func(lvs ...string) Metric { + return newValue(desc, GaugeValue, 0, lvs...) + }), + } +} + +// GetMetricWithLabelValues replaces the method of the same name in +// MetricVec. The difference is that this method returns a Gauge and not a +// Metric so that no type conversion is required. +func (m *GaugeVec) GetMetricWithLabelValues(lvs ...string) (Gauge, error) { + metric, err := m.MetricVec.GetMetricWithLabelValues(lvs...) + if metric != nil { + return metric.(Gauge), err + } + return nil, err +} + +// GetMetricWith replaces the method of the same name in MetricVec. The +// difference is that this method returns a Gauge and not a Metric so that no +// type conversion is required. +func (m *GaugeVec) GetMetricWith(labels Labels) (Gauge, error) { + metric, err := m.MetricVec.GetMetricWith(labels) + if metric != nil { + return metric.(Gauge), err + } + return nil, err +} + +// WithLabelValues works as GetMetricWithLabelValues, but panics where +// GetMetricWithLabelValues would have returned an error. By not returning an +// error, WithLabelValues allows shortcuts like +// myVec.WithLabelValues("404", "GET").Add(42) +func (m *GaugeVec) WithLabelValues(lvs ...string) Gauge { + return m.MetricVec.WithLabelValues(lvs...).(Gauge) +} + +// With works as GetMetricWith, but panics where GetMetricWithLabels would have +// returned an error. By not returning an error, With allows shortcuts like +// myVec.With(Labels{"code": "404", "method": "GET"}).Add(42) +func (m *GaugeVec) With(labels Labels) Gauge { + return m.MetricVec.With(labels).(Gauge) +} + +// GaugeFunc is a Gauge whose value is determined at collect time by calling a +// provided function. +// +// To create GaugeFunc instances, use NewGaugeFunc. +type GaugeFunc interface { + Metric + Collector +} + +// NewGaugeFunc creates a new GaugeFunc based on the provided GaugeOpts. The +// value reported is determined by calling the given function from within the +// Write method. Take into account that metric collection may happen +// concurrently. If that results in concurrent calls to Write, like in the case +// where a GaugeFunc is directly registered with Prometheus, the provided +// function must be concurrency-safe. +func NewGaugeFunc(opts GaugeOpts, function func() float64) GaugeFunc { + return newValueFunc(NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + nil, + opts.ConstLabels, + ), GaugeValue, function) +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go b/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go new file mode 100644 index 00000000..abc9d4ec --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go @@ -0,0 +1,263 @@ +package prometheus + +import ( + "fmt" + "runtime" + "runtime/debug" + "time" +) + +type goCollector struct { + goroutines Gauge + gcDesc *Desc + + // metrics to describe and collect + metrics memStatsMetrics +} + +// NewGoCollector returns a collector which exports metrics about the current +// go process. +func NewGoCollector() Collector { + return &goCollector{ + goroutines: NewGauge(GaugeOpts{ + Namespace: "go", + Name: "goroutines", + Help: "Number of goroutines that currently exist.", + }), + gcDesc: NewDesc( + "go_gc_duration_seconds", + "A summary of the GC invocation durations.", + nil, nil), + metrics: memStatsMetrics{ + { + desc: NewDesc( + memstatNamespace("alloc_bytes"), + "Number of bytes allocated and still in use.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.Alloc) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("alloc_bytes_total"), + "Total number of bytes allocated, even if freed.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.TotalAlloc) }, + valType: CounterValue, + }, { + desc: NewDesc( + memstatNamespace("sys_bytes"), + "Number of bytes obtained by system. Sum of all system allocations.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.Sys) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("lookups_total"), + "Total number of pointer lookups.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.Lookups) }, + valType: CounterValue, + }, { + desc: NewDesc( + memstatNamespace("mallocs_total"), + "Total number of mallocs.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.Mallocs) }, + valType: CounterValue, + }, { + desc: NewDesc( + memstatNamespace("frees_total"), + "Total number of frees.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.Frees) }, + valType: CounterValue, + }, { + desc: NewDesc( + memstatNamespace("heap_alloc_bytes"), + "Number of heap bytes allocated and still in use.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.HeapAlloc) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("heap_sys_bytes"), + "Number of heap bytes obtained from system.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.HeapSys) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("heap_idle_bytes"), + "Number of heap bytes waiting to be used.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.HeapIdle) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("heap_inuse_bytes"), + "Number of heap bytes that are in use.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.HeapInuse) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("heap_released_bytes_total"), + "Total number of heap bytes released to OS.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.HeapReleased) }, + valType: CounterValue, + }, { + desc: NewDesc( + memstatNamespace("heap_objects"), + "Number of allocated objects.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.HeapObjects) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("stack_inuse_bytes"), + "Number of bytes in use by the stack allocator.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.StackInuse) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("stack_sys_bytes"), + "Number of bytes obtained from system for stack allocator.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.StackSys) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("mspan_inuse_bytes"), + "Number of bytes in use by mspan structures.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.MSpanInuse) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("mspan_sys_bytes"), + "Number of bytes used for mspan structures obtained from system.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.MSpanSys) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("mcache_inuse_bytes"), + "Number of bytes in use by mcache structures.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.MCacheInuse) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("mcache_sys_bytes"), + "Number of bytes used for mcache structures obtained from system.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.MCacheSys) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("buck_hash_sys_bytes"), + "Number of bytes used by the profiling bucket hash table.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.BuckHashSys) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("gc_sys_bytes"), + "Number of bytes used for garbage collection system metadata.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.GCSys) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("other_sys_bytes"), + "Number of bytes used for other system allocations.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.OtherSys) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("next_gc_bytes"), + "Number of heap bytes when next garbage collection will take place.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.NextGC) }, + valType: GaugeValue, + }, { + desc: NewDesc( + memstatNamespace("last_gc_time_seconds"), + "Number of seconds since 1970 of last garbage collection.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return float64(ms.LastGC) / 1e9 }, + valType: GaugeValue, + }, + }, + } +} + +func memstatNamespace(s string) string { + return fmt.Sprintf("go_memstats_%s", s) +} + +// Describe returns all descriptions of the collector. +func (c *goCollector) Describe(ch chan<- *Desc) { + ch <- c.goroutines.Desc() + ch <- c.gcDesc + + for _, i := range c.metrics { + ch <- i.desc + } +} + +// Collect returns the current state of all metrics of the collector. +func (c *goCollector) Collect(ch chan<- Metric) { + c.goroutines.Set(float64(runtime.NumGoroutine())) + ch <- c.goroutines + + var stats debug.GCStats + stats.PauseQuantiles = make([]time.Duration, 5) + debug.ReadGCStats(&stats) + + quantiles := make(map[float64]float64) + for idx, pq := range stats.PauseQuantiles[1:] { + quantiles[float64(idx+1)/float64(len(stats.PauseQuantiles)-1)] = pq.Seconds() + } + quantiles[0.0] = stats.PauseQuantiles[0].Seconds() + ch <- MustNewConstSummary(c.gcDesc, uint64(stats.NumGC), float64(stats.PauseTotal.Seconds()), quantiles) + + ms := &runtime.MemStats{} + runtime.ReadMemStats(ms) + for _, i := range c.metrics { + ch <- MustNewConstMetric(i.desc, i.valType, i.eval(ms)) + } +} + +// memStatsMetrics provide description, value, and value type for memstat metrics. +type memStatsMetrics []struct { + desc *Desc + eval func(*runtime.MemStats) float64 + valType ValueType +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/histogram.go b/vendor/github.com/prometheus/client_golang/prometheus/histogram.go new file mode 100644 index 00000000..9719e8fa --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/histogram.go @@ -0,0 +1,444 @@ +// Copyright 2015 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "fmt" + "math" + "sort" + "sync/atomic" + + "github.com/golang/protobuf/proto" + + dto "github.com/prometheus/client_model/go" +) + +// A Histogram counts individual observations from an event or sample stream in +// configurable buckets. Similar to a summary, it also provides a sum of +// observations and an observation count. +// +// On the Prometheus server, quantiles can be calculated from a Histogram using +// the histogram_quantile function in the query language. +// +// Note that Histograms, in contrast to Summaries, can be aggregated with the +// Prometheus query language (see the documentation for detailed +// procedures). However, Histograms require the user to pre-define suitable +// buckets, and they are in general less accurate. The Observe method of a +// Histogram has a very low performance overhead in comparison with the Observe +// method of a Summary. +// +// To create Histogram instances, use NewHistogram. +type Histogram interface { + Metric + Collector + + // Observe adds a single observation to the histogram. + Observe(float64) +} + +// bucketLabel is used for the label that defines the upper bound of a +// bucket of a histogram ("le" -> "less or equal"). +const bucketLabel = "le" + +// DefBuckets are the default Histogram buckets. The default buckets are +// tailored to broadly measure the response time (in seconds) of a network +// service. Most likely, however, you will be required to define buckets +// customized to your use case. +var ( + DefBuckets = []float64{.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10} + + errBucketLabelNotAllowed = fmt.Errorf( + "%q is not allowed as label name in histograms", bucketLabel, + ) +) + +// LinearBuckets creates 'count' buckets, each 'width' wide, where the lowest +// bucket has an upper bound of 'start'. The final +Inf bucket is not counted +// and not included in the returned slice. The returned slice is meant to be +// used for the Buckets field of HistogramOpts. +// +// The function panics if 'count' is zero or negative. +func LinearBuckets(start, width float64, count int) []float64 { + if count < 1 { + panic("LinearBuckets needs a positive count") + } + buckets := make([]float64, count) + for i := range buckets { + buckets[i] = start + start += width + } + return buckets +} + +// ExponentialBuckets creates 'count' buckets, where the lowest bucket has an +// upper bound of 'start' and each following bucket's upper bound is 'factor' +// times the previous bucket's upper bound. The final +Inf bucket is not counted +// and not included in the returned slice. The returned slice is meant to be +// used for the Buckets field of HistogramOpts. +// +// The function panics if 'count' is 0 or negative, if 'start' is 0 or negative, +// or if 'factor' is less than or equal 1. +func ExponentialBuckets(start, factor float64, count int) []float64 { + if count < 1 { + panic("ExponentialBuckets needs a positive count") + } + if start <= 0 { + panic("ExponentialBuckets needs a positive start value") + } + if factor <= 1 { + panic("ExponentialBuckets needs a factor greater than 1") + } + buckets := make([]float64, count) + for i := range buckets { + buckets[i] = start + start *= factor + } + return buckets +} + +// HistogramOpts bundles the options for creating a Histogram metric. It is +// mandatory to set Name and Help to a non-empty string. All other fields are +// optional and can safely be left at their zero value. +type HistogramOpts struct { + // Namespace, Subsystem, and Name are components of the fully-qualified + // name of the Histogram (created by joining these components with + // "_"). Only Name is mandatory, the others merely help structuring the + // name. Note that the fully-qualified name of the Histogram must be a + // valid Prometheus metric name. + Namespace string + Subsystem string + Name string + + // Help provides information about this Histogram. Mandatory! + // + // Metrics with the same fully-qualified name must have the same Help + // string. + Help string + + // ConstLabels are used to attach fixed labels to this + // Histogram. Histograms with the same fully-qualified name must have the + // same label names in their ConstLabels. + // + // Note that in most cases, labels have a value that varies during the + // lifetime of a process. Those labels are usually managed with a + // HistogramVec. ConstLabels serve only special purposes. One is for the + // special case where the value of a label does not change during the + // lifetime of a process, e.g. if the revision of the running binary is + // put into a label. Another, more advanced purpose is if more than one + // Collector needs to collect Histograms with the same fully-qualified + // name. In that case, those Summaries must differ in the values of + // their ConstLabels. See the Collector examples. + // + // If the value of a label never changes (not even between binaries), + // that label most likely should not be a label at all (but part of the + // metric name). + ConstLabels Labels + + // Buckets defines the buckets into which observations are counted. Each + // element in the slice is the upper inclusive bound of a bucket. The + // values must be sorted in strictly increasing order. There is no need + // to add a highest bucket with +Inf bound, it will be added + // implicitly. The default value is DefBuckets. + Buckets []float64 +} + +// NewHistogram creates a new Histogram based on the provided HistogramOpts. It +// panics if the buckets in HistogramOpts are not in strictly increasing order. +func NewHistogram(opts HistogramOpts) Histogram { + return newHistogram( + NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + nil, + opts.ConstLabels, + ), + opts, + ) +} + +func newHistogram(desc *Desc, opts HistogramOpts, labelValues ...string) Histogram { + if len(desc.variableLabels) != len(labelValues) { + panic(errInconsistentCardinality) + } + + for _, n := range desc.variableLabels { + if n == bucketLabel { + panic(errBucketLabelNotAllowed) + } + } + for _, lp := range desc.constLabelPairs { + if lp.GetName() == bucketLabel { + panic(errBucketLabelNotAllowed) + } + } + + if len(opts.Buckets) == 0 { + opts.Buckets = DefBuckets + } + + h := &histogram{ + desc: desc, + upperBounds: opts.Buckets, + labelPairs: makeLabelPairs(desc, labelValues), + } + for i, upperBound := range h.upperBounds { + if i < len(h.upperBounds)-1 { + if upperBound >= h.upperBounds[i+1] { + panic(fmt.Errorf( + "histogram buckets must be in increasing order: %f >= %f", + upperBound, h.upperBounds[i+1], + )) + } + } else { + if math.IsInf(upperBound, +1) { + // The +Inf bucket is implicit. Remove it here. + h.upperBounds = h.upperBounds[:i] + } + } + } + // Finally we know the final length of h.upperBounds and can make counts. + h.counts = make([]uint64, len(h.upperBounds)) + + h.init(h) // Init self-collection. + return h +} + +type histogram struct { + // sumBits contains the bits of the float64 representing the sum of all + // observations. sumBits and count have to go first in the struct to + // guarantee alignment for atomic operations. + // http://golang.org/pkg/sync/atomic/#pkg-note-BUG + sumBits uint64 + count uint64 + + selfCollector + // Note that there is no mutex required. + + desc *Desc + + upperBounds []float64 + counts []uint64 + + labelPairs []*dto.LabelPair +} + +func (h *histogram) Desc() *Desc { + return h.desc +} + +func (h *histogram) Observe(v float64) { + // TODO(beorn7): For small numbers of buckets (<30), a linear search is + // slightly faster than the binary search. If we really care, we could + // switch from one search strategy to the other depending on the number + // of buckets. + // + // Microbenchmarks (BenchmarkHistogramNoLabels): + // 11 buckets: 38.3 ns/op linear - binary 48.7 ns/op + // 100 buckets: 78.1 ns/op linear - binary 54.9 ns/op + // 300 buckets: 154 ns/op linear - binary 61.6 ns/op + i := sort.SearchFloat64s(h.upperBounds, v) + if i < len(h.counts) { + atomic.AddUint64(&h.counts[i], 1) + } + atomic.AddUint64(&h.count, 1) + for { + oldBits := atomic.LoadUint64(&h.sumBits) + newBits := math.Float64bits(math.Float64frombits(oldBits) + v) + if atomic.CompareAndSwapUint64(&h.sumBits, oldBits, newBits) { + break + } + } +} + +func (h *histogram) Write(out *dto.Metric) error { + his := &dto.Histogram{} + buckets := make([]*dto.Bucket, len(h.upperBounds)) + + his.SampleSum = proto.Float64(math.Float64frombits(atomic.LoadUint64(&h.sumBits))) + his.SampleCount = proto.Uint64(atomic.LoadUint64(&h.count)) + var count uint64 + for i, upperBound := range h.upperBounds { + count += atomic.LoadUint64(&h.counts[i]) + buckets[i] = &dto.Bucket{ + CumulativeCount: proto.Uint64(count), + UpperBound: proto.Float64(upperBound), + } + } + his.Bucket = buckets + out.Histogram = his + out.Label = h.labelPairs + return nil +} + +// HistogramVec is a Collector that bundles a set of Histograms that all share the +// same Desc, but have different values for their variable labels. This is used +// if you want to count the same thing partitioned by various dimensions +// (e.g. HTTP request latencies, partitioned by status code and method). Create +// instances with NewHistogramVec. +type HistogramVec struct { + *MetricVec +} + +// NewHistogramVec creates a new HistogramVec based on the provided HistogramOpts and +// partitioned by the given label names. At least one label name must be +// provided. +func NewHistogramVec(opts HistogramOpts, labelNames []string) *HistogramVec { + desc := NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + labelNames, + opts.ConstLabels, + ) + return &HistogramVec{ + MetricVec: newMetricVec(desc, func(lvs ...string) Metric { + return newHistogram(desc, opts, lvs...) + }), + } +} + +// GetMetricWithLabelValues replaces the method of the same name in +// MetricVec. The difference is that this method returns a Histogram and not a +// Metric so that no type conversion is required. +func (m *HistogramVec) GetMetricWithLabelValues(lvs ...string) (Histogram, error) { + metric, err := m.MetricVec.GetMetricWithLabelValues(lvs...) + if metric != nil { + return metric.(Histogram), err + } + return nil, err +} + +// GetMetricWith replaces the method of the same name in MetricVec. The +// difference is that this method returns a Histogram and not a Metric so that no +// type conversion is required. +func (m *HistogramVec) GetMetricWith(labels Labels) (Histogram, error) { + metric, err := m.MetricVec.GetMetricWith(labels) + if metric != nil { + return metric.(Histogram), err + } + return nil, err +} + +// WithLabelValues works as GetMetricWithLabelValues, but panics where +// GetMetricWithLabelValues would have returned an error. By not returning an +// error, WithLabelValues allows shortcuts like +// myVec.WithLabelValues("404", "GET").Observe(42.21) +func (m *HistogramVec) WithLabelValues(lvs ...string) Histogram { + return m.MetricVec.WithLabelValues(lvs...).(Histogram) +} + +// With works as GetMetricWith, but panics where GetMetricWithLabels would have +// returned an error. By not returning an error, With allows shortcuts like +// myVec.With(Labels{"code": "404", "method": "GET"}).Observe(42.21) +func (m *HistogramVec) With(labels Labels) Histogram { + return m.MetricVec.With(labels).(Histogram) +} + +type constHistogram struct { + desc *Desc + count uint64 + sum float64 + buckets map[float64]uint64 + labelPairs []*dto.LabelPair +} + +func (h *constHistogram) Desc() *Desc { + return h.desc +} + +func (h *constHistogram) Write(out *dto.Metric) error { + his := &dto.Histogram{} + buckets := make([]*dto.Bucket, 0, len(h.buckets)) + + his.SampleCount = proto.Uint64(h.count) + his.SampleSum = proto.Float64(h.sum) + + for upperBound, count := range h.buckets { + buckets = append(buckets, &dto.Bucket{ + CumulativeCount: proto.Uint64(count), + UpperBound: proto.Float64(upperBound), + }) + } + + if len(buckets) > 0 { + sort.Sort(buckSort(buckets)) + } + his.Bucket = buckets + + out.Histogram = his + out.Label = h.labelPairs + + return nil +} + +// NewConstHistogram returns a metric representing a Prometheus histogram with +// fixed values for the count, sum, and bucket counts. As those parameters +// cannot be changed, the returned value does not implement the Histogram +// interface (but only the Metric interface). Users of this package will not +// have much use for it in regular operations. However, when implementing custom +// Collectors, it is useful as a throw-away metric that is generated on the fly +// to send it to Prometheus in the Collect method. +// +// buckets is a map of upper bounds to cumulative counts, excluding the +Inf +// bucket. +// +// NewConstHistogram returns an error if the length of labelValues is not +// consistent with the variable labels in Desc. +func NewConstHistogram( + desc *Desc, + count uint64, + sum float64, + buckets map[float64]uint64, + labelValues ...string, +) (Metric, error) { + if len(desc.variableLabels) != len(labelValues) { + return nil, errInconsistentCardinality + } + return &constHistogram{ + desc: desc, + count: count, + sum: sum, + buckets: buckets, + labelPairs: makeLabelPairs(desc, labelValues), + }, nil +} + +// MustNewConstHistogram is a version of NewConstHistogram that panics where +// NewConstMetric would have returned an error. +func MustNewConstHistogram( + desc *Desc, + count uint64, + sum float64, + buckets map[float64]uint64, + labelValues ...string, +) Metric { + m, err := NewConstHistogram(desc, count, sum, buckets, labelValues...) + if err != nil { + panic(err) + } + return m +} + +type buckSort []*dto.Bucket + +func (s buckSort) Len() int { + return len(s) +} + +func (s buckSort) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +func (s buckSort) Less(i, j int) bool { + return s[i].GetUpperBound() < s[j].GetUpperBound() +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/http.go b/vendor/github.com/prometheus/client_golang/prometheus/http.go new file mode 100644 index 00000000..67ee5ac7 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/http.go @@ -0,0 +1,490 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "bufio" + "bytes" + "compress/gzip" + "fmt" + "io" + "net" + "net/http" + "strconv" + "strings" + "sync" + "time" + + "github.com/prometheus/common/expfmt" +) + +// TODO(beorn7): Remove this whole file. It is a partial mirror of +// promhttp/http.go (to avoid circular import chains) where everything HTTP +// related should live. The functions here are just for avoiding +// breakage. Everything is deprecated. + +const ( + contentTypeHeader = "Content-Type" + contentLengthHeader = "Content-Length" + contentEncodingHeader = "Content-Encoding" + acceptEncodingHeader = "Accept-Encoding" +) + +var bufPool sync.Pool + +func getBuf() *bytes.Buffer { + buf := bufPool.Get() + if buf == nil { + return &bytes.Buffer{} + } + return buf.(*bytes.Buffer) +} + +func giveBuf(buf *bytes.Buffer) { + buf.Reset() + bufPool.Put(buf) +} + +// Handler returns an HTTP handler for the DefaultGatherer. It is +// already instrumented with InstrumentHandler (using "prometheus" as handler +// name). +// +// Deprecated: Please note the issues described in the doc comment of +// InstrumentHandler. You might want to consider using promhttp.Handler instead +// (which is non instrumented). +func Handler() http.Handler { + return InstrumentHandler("prometheus", UninstrumentedHandler()) +} + +// UninstrumentedHandler returns an HTTP handler for the DefaultGatherer. +// +// Deprecated: Use promhttp.Handler instead. See there for further documentation. +func UninstrumentedHandler() http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + mfs, err := DefaultGatherer.Gather() + if err != nil { + http.Error(w, "An error has occurred during metrics collection:\n\n"+err.Error(), http.StatusInternalServerError) + return + } + + contentType := expfmt.Negotiate(req.Header) + buf := getBuf() + defer giveBuf(buf) + writer, encoding := decorateWriter(req, buf) + enc := expfmt.NewEncoder(writer, contentType) + var lastErr error + for _, mf := range mfs { + if err := enc.Encode(mf); err != nil { + lastErr = err + http.Error(w, "An error has occurred during metrics encoding:\n\n"+err.Error(), http.StatusInternalServerError) + return + } + } + if closer, ok := writer.(io.Closer); ok { + closer.Close() + } + if lastErr != nil && buf.Len() == 0 { + http.Error(w, "No metrics encoded, last error:\n\n"+err.Error(), http.StatusInternalServerError) + return + } + header := w.Header() + header.Set(contentTypeHeader, string(contentType)) + header.Set(contentLengthHeader, fmt.Sprint(buf.Len())) + if encoding != "" { + header.Set(contentEncodingHeader, encoding) + } + w.Write(buf.Bytes()) + }) +} + +// decorateWriter wraps a writer to handle gzip compression if requested. It +// returns the decorated writer and the appropriate "Content-Encoding" header +// (which is empty if no compression is enabled). +func decorateWriter(request *http.Request, writer io.Writer) (io.Writer, string) { + header := request.Header.Get(acceptEncodingHeader) + parts := strings.Split(header, ",") + for _, part := range parts { + part := strings.TrimSpace(part) + if part == "gzip" || strings.HasPrefix(part, "gzip;") { + return gzip.NewWriter(writer), "gzip" + } + } + return writer, "" +} + +var instLabels = []string{"method", "code"} + +type nower interface { + Now() time.Time +} + +type nowFunc func() time.Time + +func (n nowFunc) Now() time.Time { + return n() +} + +var now nower = nowFunc(func() time.Time { + return time.Now() +}) + +func nowSeries(t ...time.Time) nower { + return nowFunc(func() time.Time { + defer func() { + t = t[1:] + }() + + return t[0] + }) +} + +// InstrumentHandler wraps the given HTTP handler for instrumentation. It +// registers four metric collectors (if not already done) and reports HTTP +// metrics to the (newly or already) registered collectors: http_requests_total +// (CounterVec), http_request_duration_microseconds (Summary), +// http_request_size_bytes (Summary), http_response_size_bytes (Summary). Each +// has a constant label named "handler" with the provided handlerName as +// value. http_requests_total is a metric vector partitioned by HTTP method +// (label name "method") and HTTP status code (label name "code"). +// +// Deprecated: InstrumentHandler has several issues: +// +// - It uses Summaries rather than Histograms. Summaries are not useful if +// aggregation across multiple instances is required. +// +// - It uses microseconds as unit, which is deprecated and should be replaced by +// seconds. +// +// - The size of the request is calculated in a separate goroutine. Since this +// calculator requires access to the request header, it creates a race with +// any writes to the header performed during request handling. +// httputil.ReverseProxy is a prominent example for a handler +// performing such writes. +// +// Upcoming versions of this package will provide ways of instrumenting HTTP +// handlers that are more flexible and have fewer issues. Please prefer direct +// instrumentation in the meantime. +func InstrumentHandler(handlerName string, handler http.Handler) http.HandlerFunc { + return InstrumentHandlerFunc(handlerName, handler.ServeHTTP) +} + +// InstrumentHandlerFunc wraps the given function for instrumentation. It +// otherwise works in the same way as InstrumentHandler (and shares the same +// issues). +// +// Deprecated: InstrumentHandlerFunc is deprecated for the same reasons as +// InstrumentHandler is. +func InstrumentHandlerFunc(handlerName string, handlerFunc func(http.ResponseWriter, *http.Request)) http.HandlerFunc { + return InstrumentHandlerFuncWithOpts( + SummaryOpts{ + Subsystem: "http", + ConstLabels: Labels{"handler": handlerName}, + }, + handlerFunc, + ) +} + +// InstrumentHandlerWithOpts works like InstrumentHandler (and shares the same +// issues) but provides more flexibility (at the cost of a more complex call +// syntax). As InstrumentHandler, this function registers four metric +// collectors, but it uses the provided SummaryOpts to create them. However, the +// fields "Name" and "Help" in the SummaryOpts are ignored. "Name" is replaced +// by "requests_total", "request_duration_microseconds", "request_size_bytes", +// and "response_size_bytes", respectively. "Help" is replaced by an appropriate +// help string. The names of the variable labels of the http_requests_total +// CounterVec are "method" (get, post, etc.), and "code" (HTTP status code). +// +// If InstrumentHandlerWithOpts is called as follows, it mimics exactly the +// behavior of InstrumentHandler: +// +// prometheus.InstrumentHandlerWithOpts( +// prometheus.SummaryOpts{ +// Subsystem: "http", +// ConstLabels: prometheus.Labels{"handler": handlerName}, +// }, +// handler, +// ) +// +// Technical detail: "requests_total" is a CounterVec, not a SummaryVec, so it +// cannot use SummaryOpts. Instead, a CounterOpts struct is created internally, +// and all its fields are set to the equally named fields in the provided +// SummaryOpts. +// +// Deprecated: InstrumentHandlerWithOpts is deprecated for the same reasons as +// InstrumentHandler is. +func InstrumentHandlerWithOpts(opts SummaryOpts, handler http.Handler) http.HandlerFunc { + return InstrumentHandlerFuncWithOpts(opts, handler.ServeHTTP) +} + +// InstrumentHandlerFuncWithOpts works like InstrumentHandlerFunc (and shares +// the same issues) but provides more flexibility (at the cost of a more complex +// call syntax). See InstrumentHandlerWithOpts for details how the provided +// SummaryOpts are used. +// +// Deprecated: InstrumentHandlerFuncWithOpts is deprecated for the same reasons +// as InstrumentHandler is. +func InstrumentHandlerFuncWithOpts(opts SummaryOpts, handlerFunc func(http.ResponseWriter, *http.Request)) http.HandlerFunc { + reqCnt := NewCounterVec( + CounterOpts{ + Namespace: opts.Namespace, + Subsystem: opts.Subsystem, + Name: "requests_total", + Help: "Total number of HTTP requests made.", + ConstLabels: opts.ConstLabels, + }, + instLabels, + ) + + opts.Name = "request_duration_microseconds" + opts.Help = "The HTTP request latencies in microseconds." + reqDur := NewSummary(opts) + + opts.Name = "request_size_bytes" + opts.Help = "The HTTP request sizes in bytes." + reqSz := NewSummary(opts) + + opts.Name = "response_size_bytes" + opts.Help = "The HTTP response sizes in bytes." + resSz := NewSummary(opts) + + regReqCnt := MustRegisterOrGet(reqCnt).(*CounterVec) + regReqDur := MustRegisterOrGet(reqDur).(Summary) + regReqSz := MustRegisterOrGet(reqSz).(Summary) + regResSz := MustRegisterOrGet(resSz).(Summary) + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + now := time.Now() + + delegate := &responseWriterDelegator{ResponseWriter: w} + out := make(chan int) + urlLen := 0 + if r.URL != nil { + urlLen = len(r.URL.String()) + } + go computeApproximateRequestSize(r, out, urlLen) + + _, cn := w.(http.CloseNotifier) + _, fl := w.(http.Flusher) + _, hj := w.(http.Hijacker) + _, rf := w.(io.ReaderFrom) + var rw http.ResponseWriter + if cn && fl && hj && rf { + rw = &fancyResponseWriterDelegator{delegate} + } else { + rw = delegate + } + handlerFunc(rw, r) + + elapsed := float64(time.Since(now)) / float64(time.Microsecond) + + method := sanitizeMethod(r.Method) + code := sanitizeCode(delegate.status) + regReqCnt.WithLabelValues(method, code).Inc() + regReqDur.Observe(elapsed) + regResSz.Observe(float64(delegate.written)) + regReqSz.Observe(float64(<-out)) + }) +} + +func computeApproximateRequestSize(r *http.Request, out chan int, s int) { + s += len(r.Method) + s += len(r.Proto) + for name, values := range r.Header { + s += len(name) + for _, value := range values { + s += len(value) + } + } + s += len(r.Host) + + // N.B. r.Form and r.MultipartForm are assumed to be included in r.URL. + + if r.ContentLength != -1 { + s += int(r.ContentLength) + } + out <- s +} + +type responseWriterDelegator struct { + http.ResponseWriter + + handler, method string + status int + written int64 + wroteHeader bool +} + +func (r *responseWriterDelegator) WriteHeader(code int) { + r.status = code + r.wroteHeader = true + r.ResponseWriter.WriteHeader(code) +} + +func (r *responseWriterDelegator) Write(b []byte) (int, error) { + if !r.wroteHeader { + r.WriteHeader(http.StatusOK) + } + n, err := r.ResponseWriter.Write(b) + r.written += int64(n) + return n, err +} + +type fancyResponseWriterDelegator struct { + *responseWriterDelegator +} + +func (f *fancyResponseWriterDelegator) CloseNotify() <-chan bool { + return f.ResponseWriter.(http.CloseNotifier).CloseNotify() +} + +func (f *fancyResponseWriterDelegator) Flush() { + f.ResponseWriter.(http.Flusher).Flush() +} + +func (f *fancyResponseWriterDelegator) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return f.ResponseWriter.(http.Hijacker).Hijack() +} + +func (f *fancyResponseWriterDelegator) ReadFrom(r io.Reader) (int64, error) { + if !f.wroteHeader { + f.WriteHeader(http.StatusOK) + } + n, err := f.ResponseWriter.(io.ReaderFrom).ReadFrom(r) + f.written += n + return n, err +} + +func sanitizeMethod(m string) string { + switch m { + case "GET", "get": + return "get" + case "PUT", "put": + return "put" + case "HEAD", "head": + return "head" + case "POST", "post": + return "post" + case "DELETE", "delete": + return "delete" + case "CONNECT", "connect": + return "connect" + case "OPTIONS", "options": + return "options" + case "NOTIFY", "notify": + return "notify" + default: + return strings.ToLower(m) + } +} + +func sanitizeCode(s int) string { + switch s { + case 100: + return "100" + case 101: + return "101" + + case 200: + return "200" + case 201: + return "201" + case 202: + return "202" + case 203: + return "203" + case 204: + return "204" + case 205: + return "205" + case 206: + return "206" + + case 300: + return "300" + case 301: + return "301" + case 302: + return "302" + case 304: + return "304" + case 305: + return "305" + case 307: + return "307" + + case 400: + return "400" + case 401: + return "401" + case 402: + return "402" + case 403: + return "403" + case 404: + return "404" + case 405: + return "405" + case 406: + return "406" + case 407: + return "407" + case 408: + return "408" + case 409: + return "409" + case 410: + return "410" + case 411: + return "411" + case 412: + return "412" + case 413: + return "413" + case 414: + return "414" + case 415: + return "415" + case 416: + return "416" + case 417: + return "417" + case 418: + return "418" + + case 500: + return "500" + case 501: + return "501" + case 502: + return "502" + case 503: + return "503" + case 504: + return "504" + case 505: + return "505" + + case 428: + return "428" + case 429: + return "429" + case 431: + return "431" + case 511: + return "511" + + default: + return strconv.Itoa(s) + } +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/metric.go b/vendor/github.com/prometheus/client_golang/prometheus/metric.go new file mode 100644 index 00000000..d4063d98 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/metric.go @@ -0,0 +1,166 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "strings" + + dto "github.com/prometheus/client_model/go" +) + +const separatorByte byte = 255 + +// A Metric models a single sample value with its meta data being exported to +// Prometheus. Implementations of Metric in this package are Gauge, Counter, +// Histogram, Summary, and Untyped. +type Metric interface { + // Desc returns the descriptor for the Metric. This method idempotently + // returns the same descriptor throughout the lifetime of the + // Metric. The returned descriptor is immutable by contract. A Metric + // unable to describe itself must return an invalid descriptor (created + // with NewInvalidDesc). + Desc() *Desc + // Write encodes the Metric into a "Metric" Protocol Buffer data + // transmission object. + // + // Metric implementations must observe concurrency safety as reads of + // this metric may occur at any time, and any blocking occurs at the + // expense of total performance of rendering all registered + // metrics. Ideally, Metric implementations should support concurrent + // readers. + // + // While populating dto.Metric, it is the responsibility of the + // implementation to ensure validity of the Metric protobuf (like valid + // UTF-8 strings or syntactically valid metric and label names). It is + // recommended to sort labels lexicographically. (Implementers may find + // LabelPairSorter useful for that.) Callers of Write should still make + // sure of sorting if they depend on it. + Write(*dto.Metric) error + // TODO(beorn7): The original rationale of passing in a pre-allocated + // dto.Metric protobuf to save allocations has disappeared. The + // signature of this method should be changed to "Write() (*dto.Metric, + // error)". +} + +// Opts bundles the options for creating most Metric types. Each metric +// implementation XXX has its own XXXOpts type, but in most cases, it is just be +// an alias of this type (which might change when the requirement arises.) +// +// It is mandatory to set Name and Help to a non-empty string. All other fields +// are optional and can safely be left at their zero value. +type Opts struct { + // Namespace, Subsystem, and Name are components of the fully-qualified + // name of the Metric (created by joining these components with + // "_"). Only Name is mandatory, the others merely help structuring the + // name. Note that the fully-qualified name of the metric must be a + // valid Prometheus metric name. + Namespace string + Subsystem string + Name string + + // Help provides information about this metric. Mandatory! + // + // Metrics with the same fully-qualified name must have the same Help + // string. + Help string + + // ConstLabels are used to attach fixed labels to this metric. Metrics + // with the same fully-qualified name must have the same label names in + // their ConstLabels. + // + // Note that in most cases, labels have a value that varies during the + // lifetime of a process. Those labels are usually managed with a metric + // vector collector (like CounterVec, GaugeVec, UntypedVec). ConstLabels + // serve only special purposes. One is for the special case where the + // value of a label does not change during the lifetime of a process, + // e.g. if the revision of the running binary is put into a + // label. Another, more advanced purpose is if more than one Collector + // needs to collect Metrics with the same fully-qualified name. In that + // case, those Metrics must differ in the values of their + // ConstLabels. See the Collector examples. + // + // If the value of a label never changes (not even between binaries), + // that label most likely should not be a label at all (but part of the + // metric name). + ConstLabels Labels +} + +// BuildFQName joins the given three name components by "_". Empty name +// components are ignored. If the name parameter itself is empty, an empty +// string is returned, no matter what. Metric implementations included in this +// library use this function internally to generate the fully-qualified metric +// name from the name component in their Opts. Users of the library will only +// need this function if they implement their own Metric or instantiate a Desc +// (with NewDesc) directly. +func BuildFQName(namespace, subsystem, name string) string { + if name == "" { + return "" + } + switch { + case namespace != "" && subsystem != "": + return strings.Join([]string{namespace, subsystem, name}, "_") + case namespace != "": + return strings.Join([]string{namespace, name}, "_") + case subsystem != "": + return strings.Join([]string{subsystem, name}, "_") + } + return name +} + +// LabelPairSorter implements sort.Interface. It is used to sort a slice of +// dto.LabelPair pointers. This is useful for implementing the Write method of +// custom metrics. +type LabelPairSorter []*dto.LabelPair + +func (s LabelPairSorter) Len() int { + return len(s) +} + +func (s LabelPairSorter) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +func (s LabelPairSorter) Less(i, j int) bool { + return s[i].GetName() < s[j].GetName() +} + +type hashSorter []uint64 + +func (s hashSorter) Len() int { + return len(s) +} + +func (s hashSorter) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +func (s hashSorter) Less(i, j int) bool { + return s[i] < s[j] +} + +type invalidMetric struct { + desc *Desc + err error +} + +// NewInvalidMetric returns a metric whose Write method always returns the +// provided error. It is useful if a Collector finds itself unable to collect +// a metric and wishes to report an error to the registry. +func NewInvalidMetric(desc *Desc, err error) Metric { + return &invalidMetric{desc, err} +} + +func (m *invalidMetric) Desc() *Desc { return m.desc } + +func (m *invalidMetric) Write(*dto.Metric) error { return m.err } diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector.go new file mode 100644 index 00000000..e31e62e7 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector.go @@ -0,0 +1,142 @@ +// Copyright 2015 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import "github.com/prometheus/procfs" + +type processCollector struct { + pid int + collectFn func(chan<- Metric) + pidFn func() (int, error) + cpuTotal Counter + openFDs, maxFDs Gauge + vsize, rss Gauge + startTime Gauge +} + +// NewProcessCollector returns a collector which exports the current state of +// process metrics including cpu, memory and file descriptor usage as well as +// the process start time for the given process id under the given namespace. +func NewProcessCollector(pid int, namespace string) Collector { + return NewProcessCollectorPIDFn( + func() (int, error) { return pid, nil }, + namespace, + ) +} + +// NewProcessCollectorPIDFn returns a collector which exports the current state +// of process metrics including cpu, memory and file descriptor usage as well +// as the process start time under the given namespace. The given pidFn is +// called on each collect and is used to determine the process to export +// metrics for. +func NewProcessCollectorPIDFn( + pidFn func() (int, error), + namespace string, +) Collector { + c := processCollector{ + pidFn: pidFn, + collectFn: func(chan<- Metric) {}, + + cpuTotal: NewCounter(CounterOpts{ + Namespace: namespace, + Name: "process_cpu_seconds_total", + Help: "Total user and system CPU time spent in seconds.", + }), + openFDs: NewGauge(GaugeOpts{ + Namespace: namespace, + Name: "process_open_fds", + Help: "Number of open file descriptors.", + }), + maxFDs: NewGauge(GaugeOpts{ + Namespace: namespace, + Name: "process_max_fds", + Help: "Maximum number of open file descriptors.", + }), + vsize: NewGauge(GaugeOpts{ + Namespace: namespace, + Name: "process_virtual_memory_bytes", + Help: "Virtual memory size in bytes.", + }), + rss: NewGauge(GaugeOpts{ + Namespace: namespace, + Name: "process_resident_memory_bytes", + Help: "Resident memory size in bytes.", + }), + startTime: NewGauge(GaugeOpts{ + Namespace: namespace, + Name: "process_start_time_seconds", + Help: "Start time of the process since unix epoch in seconds.", + }), + } + + // Set up process metric collection if supported by the runtime. + if _, err := procfs.NewStat(); err == nil { + c.collectFn = c.processCollect + } + + return &c +} + +// Describe returns all descriptions of the collector. +func (c *processCollector) Describe(ch chan<- *Desc) { + ch <- c.cpuTotal.Desc() + ch <- c.openFDs.Desc() + ch <- c.maxFDs.Desc() + ch <- c.vsize.Desc() + ch <- c.rss.Desc() + ch <- c.startTime.Desc() +} + +// Collect returns the current state of all metrics of the collector. +func (c *processCollector) Collect(ch chan<- Metric) { + c.collectFn(ch) +} + +// TODO(ts): Bring back error reporting by reverting 7faf9e7 as soon as the +// client allows users to configure the error behavior. +func (c *processCollector) processCollect(ch chan<- Metric) { + pid, err := c.pidFn() + if err != nil { + return + } + + p, err := procfs.NewProc(pid) + if err != nil { + return + } + + if stat, err := p.NewStat(); err == nil { + c.cpuTotal.Set(stat.CPUTime()) + ch <- c.cpuTotal + c.vsize.Set(float64(stat.VirtualMemory())) + ch <- c.vsize + c.rss.Set(float64(stat.ResidentMemory())) + ch <- c.rss + + if startTime, err := stat.StartTime(); err == nil { + c.startTime.Set(startTime) + ch <- c.startTime + } + } + + if fds, err := p.FileDescriptorsLen(); err == nil { + c.openFDs.Set(float64(fds)) + ch <- c.openFDs + } + + if limits, err := p.NewLimits(); err == nil { + c.maxFDs.Set(float64(limits.OpenFiles)) + ch <- c.maxFDs + } +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go new file mode 100644 index 00000000..b6dd5a26 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go @@ -0,0 +1,201 @@ +// Copyright 2016 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Copyright (c) 2013, The Prometheus Authors +// All rights reserved. +// +// Use of this source code is governed by a BSD-style license that can be found +// in the LICENSE file. + +// Package promhttp contains functions to create http.Handler instances to +// expose Prometheus metrics via HTTP. In later versions of this package, it +// will also contain tooling to instrument instances of http.Handler and +// http.RoundTripper. +// +// promhttp.Handler acts on the prometheus.DefaultGatherer. With HandlerFor, +// you can create a handler for a custom registry or anything that implements +// the Gatherer interface. It also allows to create handlers that act +// differently on errors or allow to log errors. +package promhttp + +import ( + "bytes" + "compress/gzip" + "fmt" + "io" + "net/http" + "strings" + "sync" + + "github.com/prometheus/common/expfmt" + + "github.com/prometheus/client_golang/prometheus" +) + +const ( + contentTypeHeader = "Content-Type" + contentLengthHeader = "Content-Length" + contentEncodingHeader = "Content-Encoding" + acceptEncodingHeader = "Accept-Encoding" +) + +var bufPool sync.Pool + +func getBuf() *bytes.Buffer { + buf := bufPool.Get() + if buf == nil { + return &bytes.Buffer{} + } + return buf.(*bytes.Buffer) +} + +func giveBuf(buf *bytes.Buffer) { + buf.Reset() + bufPool.Put(buf) +} + +// Handler returns an HTTP handler for the prometheus.DefaultGatherer. The +// Handler uses the default HandlerOpts, i.e. report the first error as an HTTP +// error, no error logging, and compression if requested by the client. +// +// If you want to create a Handler for the DefaultGatherer with different +// HandlerOpts, create it with HandlerFor with prometheus.DefaultGatherer and +// your desired HandlerOpts. +func Handler() http.Handler { + return HandlerFor(prometheus.DefaultGatherer, HandlerOpts{}) +} + +// HandlerFor returns an http.Handler for the provided Gatherer. The behavior +// of the Handler is defined by the provided HandlerOpts. +func HandlerFor(reg prometheus.Gatherer, opts HandlerOpts) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + mfs, err := reg.Gather() + if err != nil { + if opts.ErrorLog != nil { + opts.ErrorLog.Println("error gathering metrics:", err) + } + switch opts.ErrorHandling { + case PanicOnError: + panic(err) + case ContinueOnError: + if len(mfs) == 0 { + http.Error(w, "No metrics gathered, last error:\n\n"+err.Error(), http.StatusInternalServerError) + return + } + case HTTPErrorOnError: + http.Error(w, "An error has occurred during metrics gathering:\n\n"+err.Error(), http.StatusInternalServerError) + return + } + } + + contentType := expfmt.Negotiate(req.Header) + buf := getBuf() + defer giveBuf(buf) + writer, encoding := decorateWriter(req, buf, opts.DisableCompression) + enc := expfmt.NewEncoder(writer, contentType) + var lastErr error + for _, mf := range mfs { + if err := enc.Encode(mf); err != nil { + lastErr = err + if opts.ErrorLog != nil { + opts.ErrorLog.Println("error encoding metric family:", err) + } + switch opts.ErrorHandling { + case PanicOnError: + panic(err) + case ContinueOnError: + // Handled later. + case HTTPErrorOnError: + http.Error(w, "An error has occurred during metrics encoding:\n\n"+err.Error(), http.StatusInternalServerError) + return + } + } + } + if closer, ok := writer.(io.Closer); ok { + closer.Close() + } + if lastErr != nil && buf.Len() == 0 { + http.Error(w, "No metrics encoded, last error:\n\n"+err.Error(), http.StatusInternalServerError) + return + } + header := w.Header() + header.Set(contentTypeHeader, string(contentType)) + header.Set(contentLengthHeader, fmt.Sprint(buf.Len())) + if encoding != "" { + header.Set(contentEncodingHeader, encoding) + } + w.Write(buf.Bytes()) + // TODO(beorn7): Consider streaming serving of metrics. + }) +} + +// HandlerErrorHandling defines how a Handler serving metrics will handle +// errors. +type HandlerErrorHandling int + +// These constants cause handlers serving metrics to behave as described if +// errors are encountered. +const ( + // Serve an HTTP status code 500 upon the first error + // encountered. Report the error message in the body. + HTTPErrorOnError HandlerErrorHandling = iota + // Ignore errors and try to serve as many metrics as possible. However, + // if no metrics can be served, serve an HTTP status code 500 and the + // last error message in the body. Only use this in deliberate "best + // effort" metrics collection scenarios. It is recommended to at least + // log errors (by providing an ErrorLog in HandlerOpts) to not mask + // errors completely. + ContinueOnError + // Panic upon the first error encountered (useful for "crash only" apps). + PanicOnError +) + +// Logger is the minimal interface HandlerOpts needs for logging. Note that +// log.Logger from the standard library implements this interface, and it is +// easy to implement by custom loggers, if they don't do so already anyway. +type Logger interface { + Println(v ...interface{}) +} + +// HandlerOpts specifies options how to serve metrics via an http.Handler. The +// zero value of HandlerOpts is a reasonable default. +type HandlerOpts struct { + // ErrorLog specifies an optional logger for errors collecting and + // serving metrics. If nil, errors are not logged at all. + ErrorLog Logger + // ErrorHandling defines how errors are handled. Note that errors are + // logged regardless of the configured ErrorHandling provided ErrorLog + // is not nil. + ErrorHandling HandlerErrorHandling + // If DisableCompression is true, the handler will never compress the + // response, even if requested by the client. + DisableCompression bool +} + +// decorateWriter wraps a writer to handle gzip compression if requested. It +// returns the decorated writer and the appropriate "Content-Encoding" header +// (which is empty if no compression is enabled). +func decorateWriter(request *http.Request, writer io.Writer, compressionDisabled bool) (io.Writer, string) { + if compressionDisabled { + return writer, "" + } + header := request.Header.Get(acceptEncodingHeader) + parts := strings.Split(header, ",") + for _, part := range parts { + part := strings.TrimSpace(part) + if part == "gzip" || strings.HasPrefix(part, "gzip;") { + return gzip.NewWriter(writer), "gzip" + } + } + return writer, "" +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/registry.go b/vendor/github.com/prometheus/client_golang/prometheus/registry.go new file mode 100644 index 00000000..32a3986b --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/registry.go @@ -0,0 +1,806 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "bytes" + "errors" + "fmt" + "os" + "sort" + "sync" + + "github.com/golang/protobuf/proto" + + dto "github.com/prometheus/client_model/go" +) + +const ( + // Capacity for the channel to collect metrics and descriptors. + capMetricChan = 1000 + capDescChan = 10 +) + +// DefaultRegisterer and DefaultGatherer are the implementations of the +// Registerer and Gatherer interface a number of convenience functions in this +// package act on. Initially, both variables point to the same Registry, which +// has a process collector (see NewProcessCollector) and a Go collector (see +// NewGoCollector) already registered. This approach to keep default instances +// as global state mirrors the approach of other packages in the Go standard +// library. Note that there are caveats. Change the variables with caution and +// only if you understand the consequences. Users who want to avoid global state +// altogether should not use the convenience function and act on custom +// instances instead. +var ( + defaultRegistry = NewRegistry() + DefaultRegisterer Registerer = defaultRegistry + DefaultGatherer Gatherer = defaultRegistry +) + +func init() { + MustRegister(NewProcessCollector(os.Getpid(), "")) + MustRegister(NewGoCollector()) +} + +// NewRegistry creates a new vanilla Registry without any Collectors +// pre-registered. +func NewRegistry() *Registry { + return &Registry{ + collectorsByID: map[uint64]Collector{}, + descIDs: map[uint64]struct{}{}, + dimHashesByName: map[string]uint64{}, + } +} + +// NewPedanticRegistry returns a registry that checks during collection if each +// collected Metric is consistent with its reported Desc, and if the Desc has +// actually been registered with the registry. +// +// Usually, a Registry will be happy as long as the union of all collected +// Metrics is consistent and valid even if some metrics are not consistent with +// their own Desc or a Desc provided by their registered Collector. Well-behaved +// Collectors and Metrics will only provide consistent Descs. This Registry is +// useful to test the implementation of Collectors and Metrics. +func NewPedanticRegistry() *Registry { + r := NewRegistry() + r.pedanticChecksEnabled = true + return r +} + +// Registerer is the interface for the part of a registry in charge of +// registering and unregistering. Users of custom registries should use +// Registerer as type for registration purposes (rather then the Registry type +// directly). In that way, they are free to use custom Registerer implementation +// (e.g. for testing purposes). +type Registerer interface { + // Register registers a new Collector to be included in metrics + // collection. It returns an error if the descriptors provided by the + // Collector are invalid or if they — in combination with descriptors of + // already registered Collectors — do not fulfill the consistency and + // uniqueness criteria described in the documentation of metric.Desc. + // + // If the provided Collector is equal to a Collector already registered + // (which includes the case of re-registering the same Collector), the + // returned error is an instance of AlreadyRegisteredError, which + // contains the previously registered Collector. + // + // It is in general not safe to register the same Collector multiple + // times concurrently. + Register(Collector) error + // MustRegister works like Register but registers any number of + // Collectors and panics upon the first registration that causes an + // error. + MustRegister(...Collector) + // Unregister unregisters the Collector that equals the Collector passed + // in as an argument. (Two Collectors are considered equal if their + // Describe method yields the same set of descriptors.) The function + // returns whether a Collector was unregistered. + // + // Note that even after unregistering, it will not be possible to + // register a new Collector that is inconsistent with the unregistered + // Collector, e.g. a Collector collecting metrics with the same name but + // a different help string. The rationale here is that the same registry + // instance must only collect consistent metrics throughout its + // lifetime. + Unregister(Collector) bool +} + +// Gatherer is the interface for the part of a registry in charge of gathering +// the collected metrics into a number of MetricFamilies. The Gatherer interface +// comes with the same general implication as described for the Registerer +// interface. +type Gatherer interface { + // Gather calls the Collect method of the registered Collectors and then + // gathers the collected metrics into a lexicographically sorted slice + // of MetricFamily protobufs. Even if an error occurs, Gather attempts + // to gather as many metrics as possible. Hence, if a non-nil error is + // returned, the returned MetricFamily slice could be nil (in case of a + // fatal error that prevented any meaningful metric collection) or + // contain a number of MetricFamily protobufs, some of which might be + // incomplete, and some might be missing altogether. The returned error + // (which might be a MultiError) explains the details. In scenarios + // where complete collection is critical, the returned MetricFamily + // protobufs should be disregarded if the returned error is non-nil. + Gather() ([]*dto.MetricFamily, error) +} + +// Register registers the provided Collector with the DefaultRegisterer. +// +// Register is a shortcut for DefaultRegisterer.Register(c). See there for more +// details. +func Register(c Collector) error { + return DefaultRegisterer.Register(c) +} + +// MustRegister registers the provided Collectors with the DefaultRegisterer and +// panics if any error occurs. +// +// MustRegister is a shortcut for DefaultRegisterer.MustRegister(cs...). See +// there for more details. +func MustRegister(cs ...Collector) { + DefaultRegisterer.MustRegister(cs...) +} + +// RegisterOrGet registers the provided Collector with the DefaultRegisterer and +// returns the Collector, unless an equal Collector was registered before, in +// which case that Collector is returned. +// +// Deprecated: RegisterOrGet is merely a convenience function for the +// implementation as described in the documentation for +// AlreadyRegisteredError. As the use case is relatively rare, this function +// will be removed in a future version of this package to clean up the +// namespace. +func RegisterOrGet(c Collector) (Collector, error) { + if err := Register(c); err != nil { + if are, ok := err.(AlreadyRegisteredError); ok { + return are.ExistingCollector, nil + } + return nil, err + } + return c, nil +} + +// MustRegisterOrGet behaves like RegisterOrGet but panics instead of returning +// an error. +// +// Deprecated: This is deprecated for the same reason RegisterOrGet is. See +// there for details. +func MustRegisterOrGet(c Collector) Collector { + c, err := RegisterOrGet(c) + if err != nil { + panic(err) + } + return c +} + +// Unregister removes the registration of the provided Collector from the +// DefaultRegisterer. +// +// Unregister is a shortcut for DefaultRegisterer.Unregister(c). See there for +// more details. +func Unregister(c Collector) bool { + return DefaultRegisterer.Unregister(c) +} + +// GathererFunc turns a function into a Gatherer. +type GathererFunc func() ([]*dto.MetricFamily, error) + +// Gather implements Gatherer. +func (gf GathererFunc) Gather() ([]*dto.MetricFamily, error) { + return gf() +} + +// SetMetricFamilyInjectionHook replaces the DefaultGatherer with one that +// gathers from the previous DefaultGatherers but then merges the MetricFamily +// protobufs returned from the provided hook function with the MetricFamily +// protobufs returned from the original DefaultGatherer. +// +// Deprecated: This function manipulates the DefaultGatherer variable. Consider +// the implications, i.e. don't do this concurrently with any uses of the +// DefaultGatherer. In the rare cases where you need to inject MetricFamily +// protobufs directly, it is recommended to use a custom Registry and combine it +// with a custom Gatherer using the Gatherers type (see +// there). SetMetricFamilyInjectionHook only exists for compatibility reasons +// with previous versions of this package. +func SetMetricFamilyInjectionHook(hook func() []*dto.MetricFamily) { + DefaultGatherer = Gatherers{ + DefaultGatherer, + GathererFunc(func() ([]*dto.MetricFamily, error) { return hook(), nil }), + } +} + +// AlreadyRegisteredError is returned by the Register method if the Collector to +// be registered has already been registered before, or a different Collector +// that collects the same metrics has been registered before. Registration fails +// in that case, but you can detect from the kind of error what has +// happened. The error contains fields for the existing Collector and the +// (rejected) new Collector that equals the existing one. This can be used to +// find out if an equal Collector has been registered before and switch over to +// using the old one, as demonstrated in the example. +type AlreadyRegisteredError struct { + ExistingCollector, NewCollector Collector +} + +func (err AlreadyRegisteredError) Error() string { + return "duplicate metrics collector registration attempted" +} + +// MultiError is a slice of errors implementing the error interface. It is used +// by a Gatherer to report multiple errors during MetricFamily gathering. +type MultiError []error + +func (errs MultiError) Error() string { + if len(errs) == 0 { + return "" + } + buf := &bytes.Buffer{} + fmt.Fprintf(buf, "%d error(s) occurred:", len(errs)) + for _, err := range errs { + fmt.Fprintf(buf, "\n* %s", err) + } + return buf.String() +} + +// MaybeUnwrap returns nil if len(errs) is 0. It returns the first and only +// contained error as error if len(errs is 1). In all other cases, it returns +// the MultiError directly. This is helpful for returning a MultiError in a way +// that only uses the MultiError if needed. +func (errs MultiError) MaybeUnwrap() error { + switch len(errs) { + case 0: + return nil + case 1: + return errs[0] + default: + return errs + } +} + +// Registry registers Prometheus collectors, collects their metrics, and gathers +// them into MetricFamilies for exposition. It implements both Registerer and +// Gatherer. The zero value is not usable. Create instances with NewRegistry or +// NewPedanticRegistry. +type Registry struct { + mtx sync.RWMutex + collectorsByID map[uint64]Collector // ID is a hash of the descIDs. + descIDs map[uint64]struct{} + dimHashesByName map[string]uint64 + pedanticChecksEnabled bool +} + +// Register implements Registerer. +func (r *Registry) Register(c Collector) error { + var ( + descChan = make(chan *Desc, capDescChan) + newDescIDs = map[uint64]struct{}{} + newDimHashesByName = map[string]uint64{} + collectorID uint64 // Just a sum of all desc IDs. + duplicateDescErr error + ) + go func() { + c.Describe(descChan) + close(descChan) + }() + r.mtx.Lock() + defer r.mtx.Unlock() + // Coduct various tests... + for desc := range descChan { + + // Is the descriptor valid at all? + if desc.err != nil { + return fmt.Errorf("descriptor %s is invalid: %s", desc, desc.err) + } + + // Is the descID unique? + // (In other words: Is the fqName + constLabel combination unique?) + if _, exists := r.descIDs[desc.id]; exists { + duplicateDescErr = fmt.Errorf("descriptor %s already exists with the same fully-qualified name and const label values", desc) + } + // If it is not a duplicate desc in this collector, add it to + // the collectorID. (We allow duplicate descs within the same + // collector, but their existence must be a no-op.) + if _, exists := newDescIDs[desc.id]; !exists { + newDescIDs[desc.id] = struct{}{} + collectorID += desc.id + } + + // Are all the label names and the help string consistent with + // previous descriptors of the same name? + // First check existing descriptors... + if dimHash, exists := r.dimHashesByName[desc.fqName]; exists { + if dimHash != desc.dimHash { + return fmt.Errorf("a previously registered descriptor with the same fully-qualified name as %s has different label names or a different help string", desc) + } + } else { + // ...then check the new descriptors already seen. + if dimHash, exists := newDimHashesByName[desc.fqName]; exists { + if dimHash != desc.dimHash { + return fmt.Errorf("descriptors reported by collector have inconsistent label names or help strings for the same fully-qualified name, offender is %s", desc) + } + } else { + newDimHashesByName[desc.fqName] = desc.dimHash + } + } + } + // Did anything happen at all? + if len(newDescIDs) == 0 { + return errors.New("collector has no descriptors") + } + if existing, exists := r.collectorsByID[collectorID]; exists { + return AlreadyRegisteredError{ + ExistingCollector: existing, + NewCollector: c, + } + } + // If the collectorID is new, but at least one of the descs existed + // before, we are in trouble. + if duplicateDescErr != nil { + return duplicateDescErr + } + + // Only after all tests have passed, actually register. + r.collectorsByID[collectorID] = c + for hash := range newDescIDs { + r.descIDs[hash] = struct{}{} + } + for name, dimHash := range newDimHashesByName { + r.dimHashesByName[name] = dimHash + } + return nil +} + +// Unregister implements Registerer. +func (r *Registry) Unregister(c Collector) bool { + var ( + descChan = make(chan *Desc, capDescChan) + descIDs = map[uint64]struct{}{} + collectorID uint64 // Just a sum of the desc IDs. + ) + go func() { + c.Describe(descChan) + close(descChan) + }() + for desc := range descChan { + if _, exists := descIDs[desc.id]; !exists { + collectorID += desc.id + descIDs[desc.id] = struct{}{} + } + } + + r.mtx.RLock() + if _, exists := r.collectorsByID[collectorID]; !exists { + r.mtx.RUnlock() + return false + } + r.mtx.RUnlock() + + r.mtx.Lock() + defer r.mtx.Unlock() + + delete(r.collectorsByID, collectorID) + for id := range descIDs { + delete(r.descIDs, id) + } + // dimHashesByName is left untouched as those must be consistent + // throughout the lifetime of a program. + return true +} + +// MustRegister implements Registerer. +func (r *Registry) MustRegister(cs ...Collector) { + for _, c := range cs { + if err := r.Register(c); err != nil { + panic(err) + } + } +} + +// Gather implements Gatherer. +func (r *Registry) Gather() ([]*dto.MetricFamily, error) { + var ( + metricChan = make(chan Metric, capMetricChan) + metricHashes = map[uint64]struct{}{} + dimHashes = map[string]uint64{} + wg sync.WaitGroup + errs MultiError // The collected errors to return in the end. + registeredDescIDs map[uint64]struct{} // Only used for pedantic checks + ) + + r.mtx.RLock() + metricFamiliesByName := make(map[string]*dto.MetricFamily, len(r.dimHashesByName)) + + // Scatter. + // (Collectors could be complex and slow, so we call them all at once.) + wg.Add(len(r.collectorsByID)) + go func() { + wg.Wait() + close(metricChan) + }() + for _, collector := range r.collectorsByID { + go func(collector Collector) { + defer wg.Done() + collector.Collect(metricChan) + }(collector) + } + + // In case pedantic checks are enabled, we have to copy the map before + // giving up the RLock. + if r.pedanticChecksEnabled { + registeredDescIDs = make(map[uint64]struct{}, len(r.descIDs)) + for id := range r.descIDs { + registeredDescIDs[id] = struct{}{} + } + } + + r.mtx.RUnlock() + + // Drain metricChan in case of premature return. + defer func() { + for _ = range metricChan { + } + }() + + // Gather. + for metric := range metricChan { + // This could be done concurrently, too, but it required locking + // of metricFamiliesByName (and of metricHashes if checks are + // enabled). Most likely not worth it. + desc := metric.Desc() + dtoMetric := &dto.Metric{} + if err := metric.Write(dtoMetric); err != nil { + errs = append(errs, fmt.Errorf( + "error collecting metric %v: %s", desc, err, + )) + continue + } + metricFamily, ok := metricFamiliesByName[desc.fqName] + if ok { + if metricFamily.GetHelp() != desc.help { + errs = append(errs, fmt.Errorf( + "collected metric %s %s has help %q but should have %q", + desc.fqName, dtoMetric, desc.help, metricFamily.GetHelp(), + )) + continue + } + // TODO(beorn7): Simplify switch once Desc has type. + switch metricFamily.GetType() { + case dto.MetricType_COUNTER: + if dtoMetric.Counter == nil { + errs = append(errs, fmt.Errorf( + "collected metric %s %s should be a Counter", + desc.fqName, dtoMetric, + )) + continue + } + case dto.MetricType_GAUGE: + if dtoMetric.Gauge == nil { + errs = append(errs, fmt.Errorf( + "collected metric %s %s should be a Gauge", + desc.fqName, dtoMetric, + )) + continue + } + case dto.MetricType_SUMMARY: + if dtoMetric.Summary == nil { + errs = append(errs, fmt.Errorf( + "collected metric %s %s should be a Summary", + desc.fqName, dtoMetric, + )) + continue + } + case dto.MetricType_UNTYPED: + if dtoMetric.Untyped == nil { + errs = append(errs, fmt.Errorf( + "collected metric %s %s should be Untyped", + desc.fqName, dtoMetric, + )) + continue + } + case dto.MetricType_HISTOGRAM: + if dtoMetric.Histogram == nil { + errs = append(errs, fmt.Errorf( + "collected metric %s %s should be a Histogram", + desc.fqName, dtoMetric, + )) + continue + } + default: + panic("encountered MetricFamily with invalid type") + } + } else { + metricFamily = &dto.MetricFamily{} + metricFamily.Name = proto.String(desc.fqName) + metricFamily.Help = proto.String(desc.help) + // TODO(beorn7): Simplify switch once Desc has type. + switch { + case dtoMetric.Gauge != nil: + metricFamily.Type = dto.MetricType_GAUGE.Enum() + case dtoMetric.Counter != nil: + metricFamily.Type = dto.MetricType_COUNTER.Enum() + case dtoMetric.Summary != nil: + metricFamily.Type = dto.MetricType_SUMMARY.Enum() + case dtoMetric.Untyped != nil: + metricFamily.Type = dto.MetricType_UNTYPED.Enum() + case dtoMetric.Histogram != nil: + metricFamily.Type = dto.MetricType_HISTOGRAM.Enum() + default: + errs = append(errs, fmt.Errorf( + "empty metric collected: %s", dtoMetric, + )) + continue + } + metricFamiliesByName[desc.fqName] = metricFamily + } + if err := checkMetricConsistency(metricFamily, dtoMetric, metricHashes, dimHashes); err != nil { + errs = append(errs, err) + continue + } + if r.pedanticChecksEnabled { + // Is the desc registered at all? + if _, exist := registeredDescIDs[desc.id]; !exist { + errs = append(errs, fmt.Errorf( + "collected metric %s %s with unregistered descriptor %s", + metricFamily.GetName(), dtoMetric, desc, + )) + continue + } + if err := checkDescConsistency(metricFamily, dtoMetric, desc); err != nil { + errs = append(errs, err) + continue + } + } + metricFamily.Metric = append(metricFamily.Metric, dtoMetric) + } + return normalizeMetricFamilies(metricFamiliesByName), errs.MaybeUnwrap() +} + +// Gatherers is a slice of Gatherer instances that implements the Gatherer +// interface itself. Its Gather method calls Gather on all Gatherers in the +// slice in order and returns the merged results. Errors returned from the +// Gather calles are all returned in a flattened MultiError. Duplicate and +// inconsistent Metrics are skipped (first occurrence in slice order wins) and +// reported in the returned error. +// +// Gatherers can be used to merge the Gather results from multiple +// Registries. It also provides a way to directly inject existing MetricFamily +// protobufs into the gathering by creating a custom Gatherer with a Gather +// method that simply returns the existing MetricFamily protobufs. Note that no +// registration is involved (in contrast to Collector registration), so +// obviously registration-time checks cannot happen. Any inconsistencies between +// the gathered MetricFamilies are reported as errors by the Gather method, and +// inconsistent Metrics are dropped. Invalid parts of the MetricFamilies +// (e.g. syntactically invalid metric or label names) will go undetected. +type Gatherers []Gatherer + +// Gather implements Gatherer. +func (gs Gatherers) Gather() ([]*dto.MetricFamily, error) { + var ( + metricFamiliesByName = map[string]*dto.MetricFamily{} + metricHashes = map[uint64]struct{}{} + dimHashes = map[string]uint64{} + errs MultiError // The collected errors to return in the end. + ) + + for i, g := range gs { + mfs, err := g.Gather() + if err != nil { + if multiErr, ok := err.(MultiError); ok { + for _, err := range multiErr { + errs = append(errs, fmt.Errorf("[from Gatherer #%d] %s", i+1, err)) + } + } else { + errs = append(errs, fmt.Errorf("[from Gatherer #%d] %s", i+1, err)) + } + } + for _, mf := range mfs { + existingMF, exists := metricFamiliesByName[mf.GetName()] + if exists { + if existingMF.GetHelp() != mf.GetHelp() { + errs = append(errs, fmt.Errorf( + "gathered metric family %s has help %q but should have %q", + mf.GetName(), mf.GetHelp(), existingMF.GetHelp(), + )) + continue + } + if existingMF.GetType() != mf.GetType() { + errs = append(errs, fmt.Errorf( + "gathered metric family %s has type %s but should have %s", + mf.GetName(), mf.GetType(), existingMF.GetType(), + )) + continue + } + } else { + existingMF = &dto.MetricFamily{} + existingMF.Name = mf.Name + existingMF.Help = mf.Help + existingMF.Type = mf.Type + metricFamiliesByName[mf.GetName()] = existingMF + } + for _, m := range mf.Metric { + if err := checkMetricConsistency(existingMF, m, metricHashes, dimHashes); err != nil { + errs = append(errs, err) + continue + } + existingMF.Metric = append(existingMF.Metric, m) + } + } + } + return normalizeMetricFamilies(metricFamiliesByName), errs.MaybeUnwrap() +} + +// metricSorter is a sortable slice of *dto.Metric. +type metricSorter []*dto.Metric + +func (s metricSorter) Len() int { + return len(s) +} + +func (s metricSorter) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +func (s metricSorter) Less(i, j int) bool { + if len(s[i].Label) != len(s[j].Label) { + // This should not happen. The metrics are + // inconsistent. However, we have to deal with the fact, as + // people might use custom collectors or metric family injection + // to create inconsistent metrics. So let's simply compare the + // number of labels in this case. That will still yield + // reproducible sorting. + return len(s[i].Label) < len(s[j].Label) + } + for n, lp := range s[i].Label { + vi := lp.GetValue() + vj := s[j].Label[n].GetValue() + if vi != vj { + return vi < vj + } + } + + // We should never arrive here. Multiple metrics with the same + // label set in the same scrape will lead to undefined ingestion + // behavior. However, as above, we have to provide stable sorting + // here, even for inconsistent metrics. So sort equal metrics + // by their timestamp, with missing timestamps (implying "now") + // coming last. + if s[i].TimestampMs == nil { + return false + } + if s[j].TimestampMs == nil { + return true + } + return s[i].GetTimestampMs() < s[j].GetTimestampMs() +} + +// normalizeMetricFamilies returns a MetricFamily slice whith empty +// MetricFamilies pruned and the remaining MetricFamilies sorted by name within +// the slice, with the contained Metrics sorted within each MetricFamily. +func normalizeMetricFamilies(metricFamiliesByName map[string]*dto.MetricFamily) []*dto.MetricFamily { + for _, mf := range metricFamiliesByName { + sort.Sort(metricSorter(mf.Metric)) + } + names := make([]string, 0, len(metricFamiliesByName)) + for name, mf := range metricFamiliesByName { + if len(mf.Metric) > 0 { + names = append(names, name) + } + } + sort.Strings(names) + result := make([]*dto.MetricFamily, 0, len(names)) + for _, name := range names { + result = append(result, metricFamiliesByName[name]) + } + return result +} + +// checkMetricConsistency checks if the provided Metric is consistent with the +// provided MetricFamily. It also hashed the Metric labels and the MetricFamily +// name. If the resulting hash is alread in the provided metricHashes, an error +// is returned. If not, it is added to metricHashes. The provided dimHashes maps +// MetricFamily names to their dimHash (hashed sorted label names). If dimHashes +// doesn't yet contain a hash for the provided MetricFamily, it is +// added. Otherwise, an error is returned if the existing dimHashes in not equal +// the calculated dimHash. +func checkMetricConsistency( + metricFamily *dto.MetricFamily, + dtoMetric *dto.Metric, + metricHashes map[uint64]struct{}, + dimHashes map[string]uint64, +) error { + // Type consistency with metric family. + if metricFamily.GetType() == dto.MetricType_GAUGE && dtoMetric.Gauge == nil || + metricFamily.GetType() == dto.MetricType_COUNTER && dtoMetric.Counter == nil || + metricFamily.GetType() == dto.MetricType_SUMMARY && dtoMetric.Summary == nil || + metricFamily.GetType() == dto.MetricType_HISTOGRAM && dtoMetric.Histogram == nil || + metricFamily.GetType() == dto.MetricType_UNTYPED && dtoMetric.Untyped == nil { + return fmt.Errorf( + "collected metric %s %s is not a %s", + metricFamily.GetName(), dtoMetric, metricFamily.GetType(), + ) + } + + // Is the metric unique (i.e. no other metric with the same name and the same label values)? + h := hashNew() + h = hashAdd(h, metricFamily.GetName()) + h = hashAddByte(h, separatorByte) + dh := hashNew() + // Make sure label pairs are sorted. We depend on it for the consistency + // check. + sort.Sort(LabelPairSorter(dtoMetric.Label)) + for _, lp := range dtoMetric.Label { + h = hashAdd(h, lp.GetValue()) + h = hashAddByte(h, separatorByte) + dh = hashAdd(dh, lp.GetName()) + dh = hashAddByte(dh, separatorByte) + } + if _, exists := metricHashes[h]; exists { + return fmt.Errorf( + "collected metric %s %s was collected before with the same name and label values", + metricFamily.GetName(), dtoMetric, + ) + } + if dimHash, ok := dimHashes[metricFamily.GetName()]; ok { + if dimHash != dh { + return fmt.Errorf( + "collected metric %s %s has label dimensions inconsistent with previously collected metrics in the same metric family", + metricFamily.GetName(), dtoMetric, + ) + } + } else { + dimHashes[metricFamily.GetName()] = dh + } + metricHashes[h] = struct{}{} + return nil +} + +func checkDescConsistency( + metricFamily *dto.MetricFamily, + dtoMetric *dto.Metric, + desc *Desc, +) error { + // Desc help consistency with metric family help. + if metricFamily.GetHelp() != desc.help { + return fmt.Errorf( + "collected metric %s %s has help %q but should have %q", + metricFamily.GetName(), dtoMetric, metricFamily.GetHelp(), desc.help, + ) + } + + // Is the desc consistent with the content of the metric? + lpsFromDesc := make([]*dto.LabelPair, 0, len(dtoMetric.Label)) + lpsFromDesc = append(lpsFromDesc, desc.constLabelPairs...) + for _, l := range desc.variableLabels { + lpsFromDesc = append(lpsFromDesc, &dto.LabelPair{ + Name: proto.String(l), + }) + } + if len(lpsFromDesc) != len(dtoMetric.Label) { + return fmt.Errorf( + "labels in collected metric %s %s are inconsistent with descriptor %s", + metricFamily.GetName(), dtoMetric, desc, + ) + } + sort.Sort(LabelPairSorter(lpsFromDesc)) + for i, lpFromDesc := range lpsFromDesc { + lpFromMetric := dtoMetric.Label[i] + if lpFromDesc.GetName() != lpFromMetric.GetName() || + lpFromDesc.Value != nil && lpFromDesc.GetValue() != lpFromMetric.GetValue() { + return fmt.Errorf( + "labels in collected metric %s %s are inconsistent with descriptor %s", + metricFamily.GetName(), dtoMetric, desc, + ) + } + } + return nil +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/summary.go b/vendor/github.com/prometheus/client_golang/prometheus/summary.go new file mode 100644 index 00000000..bce05bf9 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/summary.go @@ -0,0 +1,534 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "fmt" + "math" + "sort" + "sync" + "time" + + "github.com/beorn7/perks/quantile" + "github.com/golang/protobuf/proto" + + dto "github.com/prometheus/client_model/go" +) + +// quantileLabel is used for the label that defines the quantile in a +// summary. +const quantileLabel = "quantile" + +// A Summary captures individual observations from an event or sample stream and +// summarizes them in a manner similar to traditional summary statistics: 1. sum +// of observations, 2. observation count, 3. rank estimations. +// +// A typical use-case is the observation of request latencies. By default, a +// Summary provides the median, the 90th and the 99th percentile of the latency +// as rank estimations. +// +// Note that the rank estimations cannot be aggregated in a meaningful way with +// the Prometheus query language (i.e. you cannot average or add them). If you +// need aggregatable quantiles (e.g. you want the 99th percentile latency of all +// queries served across all instances of a service), consider the Histogram +// metric type. See the Prometheus documentation for more details. +// +// To create Summary instances, use NewSummary. +type Summary interface { + Metric + Collector + + // Observe adds a single observation to the summary. + Observe(float64) +} + +// DefObjectives are the default Summary quantile values. +var ( + DefObjectives = map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001} + + errQuantileLabelNotAllowed = fmt.Errorf( + "%q is not allowed as label name in summaries", quantileLabel, + ) +) + +// Default values for SummaryOpts. +const ( + // DefMaxAge is the default duration for which observations stay + // relevant. + DefMaxAge time.Duration = 10 * time.Minute + // DefAgeBuckets is the default number of buckets used to calculate the + // age of observations. + DefAgeBuckets = 5 + // DefBufCap is the standard buffer size for collecting Summary observations. + DefBufCap = 500 +) + +// SummaryOpts bundles the options for creating a Summary metric. It is +// mandatory to set Name and Help to a non-empty string. All other fields are +// optional and can safely be left at their zero value. +type SummaryOpts struct { + // Namespace, Subsystem, and Name are components of the fully-qualified + // name of the Summary (created by joining these components with + // "_"). Only Name is mandatory, the others merely help structuring the + // name. Note that the fully-qualified name of the Summary must be a + // valid Prometheus metric name. + Namespace string + Subsystem string + Name string + + // Help provides information about this Summary. Mandatory! + // + // Metrics with the same fully-qualified name must have the same Help + // string. + Help string + + // ConstLabels are used to attach fixed labels to this + // Summary. Summaries with the same fully-qualified name must have the + // same label names in their ConstLabels. + // + // Note that in most cases, labels have a value that varies during the + // lifetime of a process. Those labels are usually managed with a + // SummaryVec. ConstLabels serve only special purposes. One is for the + // special case where the value of a label does not change during the + // lifetime of a process, e.g. if the revision of the running binary is + // put into a label. Another, more advanced purpose is if more than one + // Collector needs to collect Summaries with the same fully-qualified + // name. In that case, those Summaries must differ in the values of + // their ConstLabels. See the Collector examples. + // + // If the value of a label never changes (not even between binaries), + // that label most likely should not be a label at all (but part of the + // metric name). + ConstLabels Labels + + // Objectives defines the quantile rank estimates with their respective + // absolute error. If Objectives[q] = e, then the value reported + // for q will be the φ-quantile value for some φ between q-e and q+e. + // The default value is DefObjectives. + Objectives map[float64]float64 + + // MaxAge defines the duration for which an observation stays relevant + // for the summary. Must be positive. The default value is DefMaxAge. + MaxAge time.Duration + + // AgeBuckets is the number of buckets used to exclude observations that + // are older than MaxAge from the summary. A higher number has a + // resource penalty, so only increase it if the higher resolution is + // really required. For very high observation rates, you might want to + // reduce the number of age buckets. With only one age bucket, you will + // effectively see a complete reset of the summary each time MaxAge has + // passed. The default value is DefAgeBuckets. + AgeBuckets uint32 + + // BufCap defines the default sample stream buffer size. The default + // value of DefBufCap should suffice for most uses. If there is a need + // to increase the value, a multiple of 500 is recommended (because that + // is the internal buffer size of the underlying package + // "github.com/bmizerany/perks/quantile"). + BufCap uint32 +} + +// Great fuck-up with the sliding-window decay algorithm... The Merge method of +// perk/quantile is actually not working as advertised - and it might be +// unfixable, as the underlying algorithm is apparently not capable of merging +// summaries in the first place. To avoid using Merge, we are currently adding +// observations to _each_ age bucket, i.e. the effort to add a sample is +// essentially multiplied by the number of age buckets. When rotating age +// buckets, we empty the previous head stream. On scrape time, we simply take +// the quantiles from the head stream (no merging required). Result: More effort +// on observation time, less effort on scrape time, which is exactly the +// opposite of what we try to accomplish, but at least the results are correct. +// +// The quite elegant previous contraption to merge the age buckets efficiently +// on scrape time (see code up commit 6b9530d72ea715f0ba612c0120e6e09fbf1d49d0) +// can't be used anymore. + +// NewSummary creates a new Summary based on the provided SummaryOpts. +func NewSummary(opts SummaryOpts) Summary { + return newSummary( + NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + nil, + opts.ConstLabels, + ), + opts, + ) +} + +func newSummary(desc *Desc, opts SummaryOpts, labelValues ...string) Summary { + if len(desc.variableLabels) != len(labelValues) { + panic(errInconsistentCardinality) + } + + for _, n := range desc.variableLabels { + if n == quantileLabel { + panic(errQuantileLabelNotAllowed) + } + } + for _, lp := range desc.constLabelPairs { + if lp.GetName() == quantileLabel { + panic(errQuantileLabelNotAllowed) + } + } + + if len(opts.Objectives) == 0 { + opts.Objectives = DefObjectives + } + + if opts.MaxAge < 0 { + panic(fmt.Errorf("illegal max age MaxAge=%v", opts.MaxAge)) + } + if opts.MaxAge == 0 { + opts.MaxAge = DefMaxAge + } + + if opts.AgeBuckets == 0 { + opts.AgeBuckets = DefAgeBuckets + } + + if opts.BufCap == 0 { + opts.BufCap = DefBufCap + } + + s := &summary{ + desc: desc, + + objectives: opts.Objectives, + sortedObjectives: make([]float64, 0, len(opts.Objectives)), + + labelPairs: makeLabelPairs(desc, labelValues), + + hotBuf: make([]float64, 0, opts.BufCap), + coldBuf: make([]float64, 0, opts.BufCap), + streamDuration: opts.MaxAge / time.Duration(opts.AgeBuckets), + } + s.headStreamExpTime = time.Now().Add(s.streamDuration) + s.hotBufExpTime = s.headStreamExpTime + + for i := uint32(0); i < opts.AgeBuckets; i++ { + s.streams = append(s.streams, s.newStream()) + } + s.headStream = s.streams[0] + + for qu := range s.objectives { + s.sortedObjectives = append(s.sortedObjectives, qu) + } + sort.Float64s(s.sortedObjectives) + + s.init(s) // Init self-collection. + return s +} + +type summary struct { + selfCollector + + bufMtx sync.Mutex // Protects hotBuf and hotBufExpTime. + mtx sync.Mutex // Protects every other moving part. + // Lock bufMtx before mtx if both are needed. + + desc *Desc + + objectives map[float64]float64 + sortedObjectives []float64 + + labelPairs []*dto.LabelPair + + sum float64 + cnt uint64 + + hotBuf, coldBuf []float64 + + streams []*quantile.Stream + streamDuration time.Duration + headStream *quantile.Stream + headStreamIdx int + headStreamExpTime, hotBufExpTime time.Time +} + +func (s *summary) Desc() *Desc { + return s.desc +} + +func (s *summary) Observe(v float64) { + s.bufMtx.Lock() + defer s.bufMtx.Unlock() + + now := time.Now() + if now.After(s.hotBufExpTime) { + s.asyncFlush(now) + } + s.hotBuf = append(s.hotBuf, v) + if len(s.hotBuf) == cap(s.hotBuf) { + s.asyncFlush(now) + } +} + +func (s *summary) Write(out *dto.Metric) error { + sum := &dto.Summary{} + qs := make([]*dto.Quantile, 0, len(s.objectives)) + + s.bufMtx.Lock() + s.mtx.Lock() + // Swap bufs even if hotBuf is empty to set new hotBufExpTime. + s.swapBufs(time.Now()) + s.bufMtx.Unlock() + + s.flushColdBuf() + sum.SampleCount = proto.Uint64(s.cnt) + sum.SampleSum = proto.Float64(s.sum) + + for _, rank := range s.sortedObjectives { + var q float64 + if s.headStream.Count() == 0 { + q = math.NaN() + } else { + q = s.headStream.Query(rank) + } + qs = append(qs, &dto.Quantile{ + Quantile: proto.Float64(rank), + Value: proto.Float64(q), + }) + } + + s.mtx.Unlock() + + if len(qs) > 0 { + sort.Sort(quantSort(qs)) + } + sum.Quantile = qs + + out.Summary = sum + out.Label = s.labelPairs + return nil +} + +func (s *summary) newStream() *quantile.Stream { + return quantile.NewTargeted(s.objectives) +} + +// asyncFlush needs bufMtx locked. +func (s *summary) asyncFlush(now time.Time) { + s.mtx.Lock() + s.swapBufs(now) + + // Unblock the original goroutine that was responsible for the mutation + // that triggered the compaction. But hold onto the global non-buffer + // state mutex until the operation finishes. + go func() { + s.flushColdBuf() + s.mtx.Unlock() + }() +} + +// rotateStreams needs mtx AND bufMtx locked. +func (s *summary) maybeRotateStreams() { + for !s.hotBufExpTime.Equal(s.headStreamExpTime) { + s.headStream.Reset() + s.headStreamIdx++ + if s.headStreamIdx >= len(s.streams) { + s.headStreamIdx = 0 + } + s.headStream = s.streams[s.headStreamIdx] + s.headStreamExpTime = s.headStreamExpTime.Add(s.streamDuration) + } +} + +// flushColdBuf needs mtx locked. +func (s *summary) flushColdBuf() { + for _, v := range s.coldBuf { + for _, stream := range s.streams { + stream.Insert(v) + } + s.cnt++ + s.sum += v + } + s.coldBuf = s.coldBuf[0:0] + s.maybeRotateStreams() +} + +// swapBufs needs mtx AND bufMtx locked, coldBuf must be empty. +func (s *summary) swapBufs(now time.Time) { + if len(s.coldBuf) != 0 { + panic("coldBuf is not empty") + } + s.hotBuf, s.coldBuf = s.coldBuf, s.hotBuf + // hotBuf is now empty and gets new expiration set. + for now.After(s.hotBufExpTime) { + s.hotBufExpTime = s.hotBufExpTime.Add(s.streamDuration) + } +} + +type quantSort []*dto.Quantile + +func (s quantSort) Len() int { + return len(s) +} + +func (s quantSort) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +func (s quantSort) Less(i, j int) bool { + return s[i].GetQuantile() < s[j].GetQuantile() +} + +// SummaryVec is a Collector that bundles a set of Summaries that all share the +// same Desc, but have different values for their variable labels. This is used +// if you want to count the same thing partitioned by various dimensions +// (e.g. HTTP request latencies, partitioned by status code and method). Create +// instances with NewSummaryVec. +type SummaryVec struct { + *MetricVec +} + +// NewSummaryVec creates a new SummaryVec based on the provided SummaryOpts and +// partitioned by the given label names. At least one label name must be +// provided. +func NewSummaryVec(opts SummaryOpts, labelNames []string) *SummaryVec { + desc := NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + labelNames, + opts.ConstLabels, + ) + return &SummaryVec{ + MetricVec: newMetricVec(desc, func(lvs ...string) Metric { + return newSummary(desc, opts, lvs...) + }), + } +} + +// GetMetricWithLabelValues replaces the method of the same name in +// MetricVec. The difference is that this method returns a Summary and not a +// Metric so that no type conversion is required. +func (m *SummaryVec) GetMetricWithLabelValues(lvs ...string) (Summary, error) { + metric, err := m.MetricVec.GetMetricWithLabelValues(lvs...) + if metric != nil { + return metric.(Summary), err + } + return nil, err +} + +// GetMetricWith replaces the method of the same name in MetricVec. The +// difference is that this method returns a Summary and not a Metric so that no +// type conversion is required. +func (m *SummaryVec) GetMetricWith(labels Labels) (Summary, error) { + metric, err := m.MetricVec.GetMetricWith(labels) + if metric != nil { + return metric.(Summary), err + } + return nil, err +} + +// WithLabelValues works as GetMetricWithLabelValues, but panics where +// GetMetricWithLabelValues would have returned an error. By not returning an +// error, WithLabelValues allows shortcuts like +// myVec.WithLabelValues("404", "GET").Observe(42.21) +func (m *SummaryVec) WithLabelValues(lvs ...string) Summary { + return m.MetricVec.WithLabelValues(lvs...).(Summary) +} + +// With works as GetMetricWith, but panics where GetMetricWithLabels would have +// returned an error. By not returning an error, With allows shortcuts like +// myVec.With(Labels{"code": "404", "method": "GET"}).Observe(42.21) +func (m *SummaryVec) With(labels Labels) Summary { + return m.MetricVec.With(labels).(Summary) +} + +type constSummary struct { + desc *Desc + count uint64 + sum float64 + quantiles map[float64]float64 + labelPairs []*dto.LabelPair +} + +func (s *constSummary) Desc() *Desc { + return s.desc +} + +func (s *constSummary) Write(out *dto.Metric) error { + sum := &dto.Summary{} + qs := make([]*dto.Quantile, 0, len(s.quantiles)) + + sum.SampleCount = proto.Uint64(s.count) + sum.SampleSum = proto.Float64(s.sum) + + for rank, q := range s.quantiles { + qs = append(qs, &dto.Quantile{ + Quantile: proto.Float64(rank), + Value: proto.Float64(q), + }) + } + + if len(qs) > 0 { + sort.Sort(quantSort(qs)) + } + sum.Quantile = qs + + out.Summary = sum + out.Label = s.labelPairs + + return nil +} + +// NewConstSummary returns a metric representing a Prometheus summary with fixed +// values for the count, sum, and quantiles. As those parameters cannot be +// changed, the returned value does not implement the Summary interface (but +// only the Metric interface). Users of this package will not have much use for +// it in regular operations. However, when implementing custom Collectors, it is +// useful as a throw-away metric that is generated on the fly to send it to +// Prometheus in the Collect method. +// +// quantiles maps ranks to quantile values. For example, a median latency of +// 0.23s and a 99th percentile latency of 0.56s would be expressed as: +// map[float64]float64{0.5: 0.23, 0.99: 0.56} +// +// NewConstSummary returns an error if the length of labelValues is not +// consistent with the variable labels in Desc. +func NewConstSummary( + desc *Desc, + count uint64, + sum float64, + quantiles map[float64]float64, + labelValues ...string, +) (Metric, error) { + if len(desc.variableLabels) != len(labelValues) { + return nil, errInconsistentCardinality + } + return &constSummary{ + desc: desc, + count: count, + sum: sum, + quantiles: quantiles, + labelPairs: makeLabelPairs(desc, labelValues), + }, nil +} + +// MustNewConstSummary is a version of NewConstSummary that panics where +// NewConstMetric would have returned an error. +func MustNewConstSummary( + desc *Desc, + count uint64, + sum float64, + quantiles map[float64]float64, + labelValues ...string, +) Metric { + m, err := NewConstSummary(desc, count, sum, quantiles, labelValues...) + if err != nil { + panic(err) + } + return m +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/untyped.go b/vendor/github.com/prometheus/client_golang/prometheus/untyped.go new file mode 100644 index 00000000..5faf7e6e --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/untyped.go @@ -0,0 +1,138 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +// Untyped is a Metric that represents a single numerical value that can +// arbitrarily go up and down. +// +// An Untyped metric works the same as a Gauge. The only difference is that to +// no type information is implied. +// +// To create Untyped instances, use NewUntyped. +type Untyped interface { + Metric + Collector + + // Set sets the Untyped metric to an arbitrary value. + Set(float64) + // Inc increments the Untyped metric by 1. + Inc() + // Dec decrements the Untyped metric by 1. + Dec() + // Add adds the given value to the Untyped metric. (The value can be + // negative, resulting in a decrease.) + Add(float64) + // Sub subtracts the given value from the Untyped metric. (The value can + // be negative, resulting in an increase.) + Sub(float64) +} + +// UntypedOpts is an alias for Opts. See there for doc comments. +type UntypedOpts Opts + +// NewUntyped creates a new Untyped metric from the provided UntypedOpts. +func NewUntyped(opts UntypedOpts) Untyped { + return newValue(NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + nil, + opts.ConstLabels, + ), UntypedValue, 0) +} + +// UntypedVec is a Collector that bundles a set of Untyped metrics that all +// share the same Desc, but have different values for their variable +// labels. This is used if you want to count the same thing partitioned by +// various dimensions. Create instances with NewUntypedVec. +type UntypedVec struct { + *MetricVec +} + +// NewUntypedVec creates a new UntypedVec based on the provided UntypedOpts and +// partitioned by the given label names. At least one label name must be +// provided. +func NewUntypedVec(opts UntypedOpts, labelNames []string) *UntypedVec { + desc := NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + labelNames, + opts.ConstLabels, + ) + return &UntypedVec{ + MetricVec: newMetricVec(desc, func(lvs ...string) Metric { + return newValue(desc, UntypedValue, 0, lvs...) + }), + } +} + +// GetMetricWithLabelValues replaces the method of the same name in +// MetricVec. The difference is that this method returns an Untyped and not a +// Metric so that no type conversion is required. +func (m *UntypedVec) GetMetricWithLabelValues(lvs ...string) (Untyped, error) { + metric, err := m.MetricVec.GetMetricWithLabelValues(lvs...) + if metric != nil { + return metric.(Untyped), err + } + return nil, err +} + +// GetMetricWith replaces the method of the same name in MetricVec. The +// difference is that this method returns an Untyped and not a Metric so that no +// type conversion is required. +func (m *UntypedVec) GetMetricWith(labels Labels) (Untyped, error) { + metric, err := m.MetricVec.GetMetricWith(labels) + if metric != nil { + return metric.(Untyped), err + } + return nil, err +} + +// WithLabelValues works as GetMetricWithLabelValues, but panics where +// GetMetricWithLabelValues would have returned an error. By not returning an +// error, WithLabelValues allows shortcuts like +// myVec.WithLabelValues("404", "GET").Add(42) +func (m *UntypedVec) WithLabelValues(lvs ...string) Untyped { + return m.MetricVec.WithLabelValues(lvs...).(Untyped) +} + +// With works as GetMetricWith, but panics where GetMetricWithLabels would have +// returned an error. By not returning an error, With allows shortcuts like +// myVec.With(Labels{"code": "404", "method": "GET"}).Add(42) +func (m *UntypedVec) With(labels Labels) Untyped { + return m.MetricVec.With(labels).(Untyped) +} + +// UntypedFunc is an Untyped whose value is determined at collect time by +// calling a provided function. +// +// To create UntypedFunc instances, use NewUntypedFunc. +type UntypedFunc interface { + Metric + Collector +} + +// NewUntypedFunc creates a new UntypedFunc based on the provided +// UntypedOpts. The value reported is determined by calling the given function +// from within the Write method. Take into account that metric collection may +// happen concurrently. If that results in concurrent calls to Write, like in +// the case where an UntypedFunc is directly registered with Prometheus, the +// provided function must be concurrency-safe. +func NewUntypedFunc(opts UntypedOpts, function func() float64) UntypedFunc { + return newValueFunc(NewDesc( + BuildFQName(opts.Namespace, opts.Subsystem, opts.Name), + opts.Help, + nil, + opts.ConstLabels, + ), UntypedValue, function) +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/value.go b/vendor/github.com/prometheus/client_golang/prometheus/value.go new file mode 100644 index 00000000..a944c377 --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/value.go @@ -0,0 +1,234 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "errors" + "fmt" + "math" + "sort" + "sync/atomic" + + dto "github.com/prometheus/client_model/go" + + "github.com/golang/protobuf/proto" +) + +// ValueType is an enumeration of metric types that represent a simple value. +type ValueType int + +// Possible values for the ValueType enum. +const ( + _ ValueType = iota + CounterValue + GaugeValue + UntypedValue +) + +var errInconsistentCardinality = errors.New("inconsistent label cardinality") + +// value is a generic metric for simple values. It implements Metric, Collector, +// Counter, Gauge, and Untyped. Its effective type is determined by +// ValueType. This is a low-level building block used by the library to back the +// implementations of Counter, Gauge, and Untyped. +type value struct { + // valBits containst the bits of the represented float64 value. It has + // to go first in the struct to guarantee alignment for atomic + // operations. http://golang.org/pkg/sync/atomic/#pkg-note-BUG + valBits uint64 + + selfCollector + + desc *Desc + valType ValueType + labelPairs []*dto.LabelPair +} + +// newValue returns a newly allocated value with the given Desc, ValueType, +// sample value and label values. It panics if the number of label +// values is different from the number of variable labels in Desc. +func newValue(desc *Desc, valueType ValueType, val float64, labelValues ...string) *value { + if len(labelValues) != len(desc.variableLabels) { + panic(errInconsistentCardinality) + } + result := &value{ + desc: desc, + valType: valueType, + valBits: math.Float64bits(val), + labelPairs: makeLabelPairs(desc, labelValues), + } + result.init(result) + return result +} + +func (v *value) Desc() *Desc { + return v.desc +} + +func (v *value) Set(val float64) { + atomic.StoreUint64(&v.valBits, math.Float64bits(val)) +} + +func (v *value) Inc() { + v.Add(1) +} + +func (v *value) Dec() { + v.Add(-1) +} + +func (v *value) Add(val float64) { + for { + oldBits := atomic.LoadUint64(&v.valBits) + newBits := math.Float64bits(math.Float64frombits(oldBits) + val) + if atomic.CompareAndSwapUint64(&v.valBits, oldBits, newBits) { + return + } + } +} + +func (v *value) Sub(val float64) { + v.Add(val * -1) +} + +func (v *value) Write(out *dto.Metric) error { + val := math.Float64frombits(atomic.LoadUint64(&v.valBits)) + return populateMetric(v.valType, val, v.labelPairs, out) +} + +// valueFunc is a generic metric for simple values retrieved on collect time +// from a function. It implements Metric and Collector. Its effective type is +// determined by ValueType. This is a low-level building block used by the +// library to back the implementations of CounterFunc, GaugeFunc, and +// UntypedFunc. +type valueFunc struct { + selfCollector + + desc *Desc + valType ValueType + function func() float64 + labelPairs []*dto.LabelPair +} + +// newValueFunc returns a newly allocated valueFunc with the given Desc and +// ValueType. The value reported is determined by calling the given function +// from within the Write method. Take into account that metric collection may +// happen concurrently. If that results in concurrent calls to Write, like in +// the case where a valueFunc is directly registered with Prometheus, the +// provided function must be concurrency-safe. +func newValueFunc(desc *Desc, valueType ValueType, function func() float64) *valueFunc { + result := &valueFunc{ + desc: desc, + valType: valueType, + function: function, + labelPairs: makeLabelPairs(desc, nil), + } + result.init(result) + return result +} + +func (v *valueFunc) Desc() *Desc { + return v.desc +} + +func (v *valueFunc) Write(out *dto.Metric) error { + return populateMetric(v.valType, v.function(), v.labelPairs, out) +} + +// NewConstMetric returns a metric with one fixed value that cannot be +// changed. Users of this package will not have much use for it in regular +// operations. However, when implementing custom Collectors, it is useful as a +// throw-away metric that is generated on the fly to send it to Prometheus in +// the Collect method. NewConstMetric returns an error if the length of +// labelValues is not consistent with the variable labels in Desc. +func NewConstMetric(desc *Desc, valueType ValueType, value float64, labelValues ...string) (Metric, error) { + if len(desc.variableLabels) != len(labelValues) { + return nil, errInconsistentCardinality + } + return &constMetric{ + desc: desc, + valType: valueType, + val: value, + labelPairs: makeLabelPairs(desc, labelValues), + }, nil +} + +// MustNewConstMetric is a version of NewConstMetric that panics where +// NewConstMetric would have returned an error. +func MustNewConstMetric(desc *Desc, valueType ValueType, value float64, labelValues ...string) Metric { + m, err := NewConstMetric(desc, valueType, value, labelValues...) + if err != nil { + panic(err) + } + return m +} + +type constMetric struct { + desc *Desc + valType ValueType + val float64 + labelPairs []*dto.LabelPair +} + +func (m *constMetric) Desc() *Desc { + return m.desc +} + +func (m *constMetric) Write(out *dto.Metric) error { + return populateMetric(m.valType, m.val, m.labelPairs, out) +} + +func populateMetric( + t ValueType, + v float64, + labelPairs []*dto.LabelPair, + m *dto.Metric, +) error { + m.Label = labelPairs + switch t { + case CounterValue: + m.Counter = &dto.Counter{Value: proto.Float64(v)} + case GaugeValue: + m.Gauge = &dto.Gauge{Value: proto.Float64(v)} + case UntypedValue: + m.Untyped = &dto.Untyped{Value: proto.Float64(v)} + default: + return fmt.Errorf("encountered unknown type %v", t) + } + return nil +} + +func makeLabelPairs(desc *Desc, labelValues []string) []*dto.LabelPair { + totalLen := len(desc.variableLabels) + len(desc.constLabelPairs) + if totalLen == 0 { + // Super fast path. + return nil + } + if len(desc.variableLabels) == 0 { + // Moderately fast path. + return desc.constLabelPairs + } + labelPairs := make([]*dto.LabelPair, 0, totalLen) + for i, n := range desc.variableLabels { + labelPairs = append(labelPairs, &dto.LabelPair{ + Name: proto.String(n), + Value: proto.String(labelValues[i]), + }) + } + for _, lp := range desc.constLabelPairs { + labelPairs = append(labelPairs, lp) + } + sort.Sort(LabelPairSorter(labelPairs)) + return labelPairs +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/vec.go b/vendor/github.com/prometheus/client_golang/prometheus/vec.go new file mode 100644 index 00000000..7f3eef9a --- /dev/null +++ b/vendor/github.com/prometheus/client_golang/prometheus/vec.go @@ -0,0 +1,404 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package prometheus + +import ( + "fmt" + "sync" + + "github.com/prometheus/common/model" +) + +// MetricVec is a Collector to bundle metrics of the same name that +// differ in their label values. MetricVec is usually not used directly but as a +// building block for implementations of vectors of a given metric +// type. GaugeVec, CounterVec, SummaryVec, and UntypedVec are examples already +// provided in this package. +type MetricVec struct { + mtx sync.RWMutex // Protects the children. + children map[uint64][]metricWithLabelValues + desc *Desc + + newMetric func(labelValues ...string) Metric + hashAdd func(h uint64, s string) uint64 // replace hash function for testing collision handling + hashAddByte func(h uint64, b byte) uint64 +} + +// newMetricVec returns an initialized MetricVec. The concrete value is +// returned for embedding into another struct. +func newMetricVec(desc *Desc, newMetric func(lvs ...string) Metric) *MetricVec { + return &MetricVec{ + children: map[uint64][]metricWithLabelValues{}, + desc: desc, + newMetric: newMetric, + hashAdd: hashAdd, + hashAddByte: hashAddByte, + } +} + +// metricWithLabelValues provides the metric and its label values for +// disambiguation on hash collision. +type metricWithLabelValues struct { + values []string + metric Metric +} + +// Describe implements Collector. The length of the returned slice +// is always one. +func (m *MetricVec) Describe(ch chan<- *Desc) { + ch <- m.desc +} + +// Collect implements Collector. +func (m *MetricVec) Collect(ch chan<- Metric) { + m.mtx.RLock() + defer m.mtx.RUnlock() + + for _, metrics := range m.children { + for _, metric := range metrics { + ch <- metric.metric + } + } +} + +// GetMetricWithLabelValues returns the Metric for the given slice of label +// values (same order as the VariableLabels in Desc). If that combination of +// label values is accessed for the first time, a new Metric is created. +// +// It is possible to call this method without using the returned Metric to only +// create the new Metric but leave it at its start value (e.g. a Summary or +// Histogram without any observations). See also the SummaryVec example. +// +// Keeping the Metric for later use is possible (and should be considered if +// performance is critical), but keep in mind that Reset, DeleteLabelValues and +// Delete can be used to delete the Metric from the MetricVec. In that case, the +// Metric will still exist, but it will not be exported anymore, even if a +// Metric with the same label values is created later. See also the CounterVec +// example. +// +// An error is returned if the number of label values is not the same as the +// number of VariableLabels in Desc. +// +// Note that for more than one label value, this method is prone to mistakes +// caused by an incorrect order of arguments. Consider GetMetricWith(Labels) as +// an alternative to avoid that type of mistake. For higher label numbers, the +// latter has a much more readable (albeit more verbose) syntax, but it comes +// with a performance overhead (for creating and processing the Labels map). +// See also the GaugeVec example. +func (m *MetricVec) GetMetricWithLabelValues(lvs ...string) (Metric, error) { + h, err := m.hashLabelValues(lvs) + if err != nil { + return nil, err + } + + return m.getOrCreateMetricWithLabelValues(h, lvs), nil +} + +// GetMetricWith returns the Metric for the given Labels map (the label names +// must match those of the VariableLabels in Desc). If that label map is +// accessed for the first time, a new Metric is created. Implications of +// creating a Metric without using it and keeping the Metric for later use are +// the same as for GetMetricWithLabelValues. +// +// An error is returned if the number and names of the Labels are inconsistent +// with those of the VariableLabels in Desc. +// +// This method is used for the same purpose as +// GetMetricWithLabelValues(...string). See there for pros and cons of the two +// methods. +func (m *MetricVec) GetMetricWith(labels Labels) (Metric, error) { + h, err := m.hashLabels(labels) + if err != nil { + return nil, err + } + + return m.getOrCreateMetricWithLabels(h, labels), nil +} + +// WithLabelValues works as GetMetricWithLabelValues, but panics if an error +// occurs. The method allows neat syntax like: +// httpReqs.WithLabelValues("404", "POST").Inc() +func (m *MetricVec) WithLabelValues(lvs ...string) Metric { + metric, err := m.GetMetricWithLabelValues(lvs...) + if err != nil { + panic(err) + } + return metric +} + +// With works as GetMetricWith, but panics if an error occurs. The method allows +// neat syntax like: +// httpReqs.With(Labels{"status":"404", "method":"POST"}).Inc() +func (m *MetricVec) With(labels Labels) Metric { + metric, err := m.GetMetricWith(labels) + if err != nil { + panic(err) + } + return metric +} + +// DeleteLabelValues removes the metric where the variable labels are the same +// as those passed in as labels (same order as the VariableLabels in Desc). It +// returns true if a metric was deleted. +// +// It is not an error if the number of label values is not the same as the +// number of VariableLabels in Desc. However, such inconsistent label count can +// never match an actual Metric, so the method will always return false in that +// case. +// +// Note that for more than one label value, this method is prone to mistakes +// caused by an incorrect order of arguments. Consider Delete(Labels) as an +// alternative to avoid that type of mistake. For higher label numbers, the +// latter has a much more readable (albeit more verbose) syntax, but it comes +// with a performance overhead (for creating and processing the Labels map). +// See also the CounterVec example. +func (m *MetricVec) DeleteLabelValues(lvs ...string) bool { + m.mtx.Lock() + defer m.mtx.Unlock() + + h, err := m.hashLabelValues(lvs) + if err != nil { + return false + } + return m.deleteByHashWithLabelValues(h, lvs) +} + +// Delete deletes the metric where the variable labels are the same as those +// passed in as labels. It returns true if a metric was deleted. +// +// It is not an error if the number and names of the Labels are inconsistent +// with those of the VariableLabels in the Desc of the MetricVec. However, such +// inconsistent Labels can never match an actual Metric, so the method will +// always return false in that case. +// +// This method is used for the same purpose as DeleteLabelValues(...string). See +// there for pros and cons of the two methods. +func (m *MetricVec) Delete(labels Labels) bool { + m.mtx.Lock() + defer m.mtx.Unlock() + + h, err := m.hashLabels(labels) + if err != nil { + return false + } + + return m.deleteByHashWithLabels(h, labels) +} + +// deleteByHashWithLabelValues removes the metric from the hash bucket h. If +// there are multiple matches in the bucket, use lvs to select a metric and +// remove only that metric. +func (m *MetricVec) deleteByHashWithLabelValues(h uint64, lvs []string) bool { + metrics, ok := m.children[h] + if !ok { + return false + } + + i := m.findMetricWithLabelValues(metrics, lvs) + if i >= len(metrics) { + return false + } + + if len(metrics) > 1 { + m.children[h] = append(metrics[:i], metrics[i+1:]...) + } else { + delete(m.children, h) + } + return true +} + +// deleteByHashWithLabels removes the metric from the hash bucket h. If there +// are multiple matches in the bucket, use lvs to select a metric and remove +// only that metric. +func (m *MetricVec) deleteByHashWithLabels(h uint64, labels Labels) bool { + metrics, ok := m.children[h] + if !ok { + return false + } + i := m.findMetricWithLabels(metrics, labels) + if i >= len(metrics) { + return false + } + + if len(metrics) > 1 { + m.children[h] = append(metrics[:i], metrics[i+1:]...) + } else { + delete(m.children, h) + } + return true +} + +// Reset deletes all metrics in this vector. +func (m *MetricVec) Reset() { + m.mtx.Lock() + defer m.mtx.Unlock() + + for h := range m.children { + delete(m.children, h) + } +} + +func (m *MetricVec) hashLabelValues(vals []string) (uint64, error) { + if len(vals) != len(m.desc.variableLabels) { + return 0, errInconsistentCardinality + } + h := hashNew() + for _, val := range vals { + h = m.hashAdd(h, val) + h = m.hashAddByte(h, model.SeparatorByte) + } + return h, nil +} + +func (m *MetricVec) hashLabels(labels Labels) (uint64, error) { + if len(labels) != len(m.desc.variableLabels) { + return 0, errInconsistentCardinality + } + h := hashNew() + for _, label := range m.desc.variableLabels { + val, ok := labels[label] + if !ok { + return 0, fmt.Errorf("label name %q missing in label map", label) + } + h = m.hashAdd(h, val) + h = m.hashAddByte(h, model.SeparatorByte) + } + return h, nil +} + +// getOrCreateMetricWithLabelValues retrieves the metric by hash and label value +// or creates it and returns the new one. +// +// This function holds the mutex. +func (m *MetricVec) getOrCreateMetricWithLabelValues(hash uint64, lvs []string) Metric { + m.mtx.RLock() + metric, ok := m.getMetricWithLabelValues(hash, lvs) + m.mtx.RUnlock() + if ok { + return metric + } + + m.mtx.Lock() + defer m.mtx.Unlock() + metric, ok = m.getMetricWithLabelValues(hash, lvs) + if !ok { + // Copy to avoid allocation in case wo don't go down this code path. + copiedLVs := make([]string, len(lvs)) + copy(copiedLVs, lvs) + metric = m.newMetric(copiedLVs...) + m.children[hash] = append(m.children[hash], metricWithLabelValues{values: copiedLVs, metric: metric}) + } + return metric +} + +// getOrCreateMetricWithLabelValues retrieves the metric by hash and label value +// or creates it and returns the new one. +// +// This function holds the mutex. +func (m *MetricVec) getOrCreateMetricWithLabels(hash uint64, labels Labels) Metric { + m.mtx.RLock() + metric, ok := m.getMetricWithLabels(hash, labels) + m.mtx.RUnlock() + if ok { + return metric + } + + m.mtx.Lock() + defer m.mtx.Unlock() + metric, ok = m.getMetricWithLabels(hash, labels) + if !ok { + lvs := m.extractLabelValues(labels) + metric = m.newMetric(lvs...) + m.children[hash] = append(m.children[hash], metricWithLabelValues{values: lvs, metric: metric}) + } + return metric +} + +// getMetricWithLabelValues gets a metric while handling possible collisions in +// the hash space. Must be called while holding read mutex. +func (m *MetricVec) getMetricWithLabelValues(h uint64, lvs []string) (Metric, bool) { + metrics, ok := m.children[h] + if ok { + if i := m.findMetricWithLabelValues(metrics, lvs); i < len(metrics) { + return metrics[i].metric, true + } + } + return nil, false +} + +// getMetricWithLabels gets a metric while handling possible collisions in +// the hash space. Must be called while holding read mutex. +func (m *MetricVec) getMetricWithLabels(h uint64, labels Labels) (Metric, bool) { + metrics, ok := m.children[h] + if ok { + if i := m.findMetricWithLabels(metrics, labels); i < len(metrics) { + return metrics[i].metric, true + } + } + return nil, false +} + +// findMetricWithLabelValues returns the index of the matching metric or +// len(metrics) if not found. +func (m *MetricVec) findMetricWithLabelValues(metrics []metricWithLabelValues, lvs []string) int { + for i, metric := range metrics { + if m.matchLabelValues(metric.values, lvs) { + return i + } + } + return len(metrics) +} + +// findMetricWithLabels returns the index of the matching metric or len(metrics) +// if not found. +func (m *MetricVec) findMetricWithLabels(metrics []metricWithLabelValues, labels Labels) int { + for i, metric := range metrics { + if m.matchLabels(metric.values, labels) { + return i + } + } + return len(metrics) +} + +func (m *MetricVec) matchLabelValues(values []string, lvs []string) bool { + if len(values) != len(lvs) { + return false + } + for i, v := range values { + if v != lvs[i] { + return false + } + } + return true +} + +func (m *MetricVec) matchLabels(values []string, labels Labels) bool { + if len(labels) != len(values) { + return false + } + for i, k := range m.desc.variableLabels { + if values[i] != labels[k] { + return false + } + } + return true +} + +func (m *MetricVec) extractLabelValues(labels Labels) []string { + labelValues := make([]string, len(labels)) + for i, k := range m.desc.variableLabels { + labelValues[i] = labels[k] + } + return labelValues +} diff --git a/vendor/github.com/prometheus/client_model/LICENSE b/vendor/github.com/prometheus/client_model/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/vendor/github.com/prometheus/client_model/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/prometheus/client_model/NOTICE b/vendor/github.com/prometheus/client_model/NOTICE new file mode 100644 index 00000000..20110e41 --- /dev/null +++ b/vendor/github.com/prometheus/client_model/NOTICE @@ -0,0 +1,5 @@ +Data model artifacts for Prometheus. +Copyright 2012-2015 The Prometheus Authors + +This product includes software developed at +SoundCloud Ltd. (http://soundcloud.com/). diff --git a/vendor/github.com/prometheus/client_model/go/metrics.pb.go b/vendor/github.com/prometheus/client_model/go/metrics.pb.go new file mode 100644 index 00000000..9805432c --- /dev/null +++ b/vendor/github.com/prometheus/client_model/go/metrics.pb.go @@ -0,0 +1,629 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: metrics.proto + +package io_prometheus_client // import "github.com/prometheus/client_model/go" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type MetricType int32 + +const ( + MetricType_COUNTER MetricType = 0 + MetricType_GAUGE MetricType = 1 + MetricType_SUMMARY MetricType = 2 + MetricType_UNTYPED MetricType = 3 + MetricType_HISTOGRAM MetricType = 4 +) + +var MetricType_name = map[int32]string{ + 0: "COUNTER", + 1: "GAUGE", + 2: "SUMMARY", + 3: "UNTYPED", + 4: "HISTOGRAM", +} +var MetricType_value = map[string]int32{ + "COUNTER": 0, + "GAUGE": 1, + "SUMMARY": 2, + "UNTYPED": 3, + "HISTOGRAM": 4, +} + +func (x MetricType) Enum() *MetricType { + p := new(MetricType) + *p = x + return p +} +func (x MetricType) String() string { + return proto.EnumName(MetricType_name, int32(x)) +} +func (x *MetricType) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(MetricType_value, data, "MetricType") + if err != nil { + return err + } + *x = MetricType(value) + return nil +} +func (MetricType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{0} +} + +type LabelPair struct { + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LabelPair) Reset() { *m = LabelPair{} } +func (m *LabelPair) String() string { return proto.CompactTextString(m) } +func (*LabelPair) ProtoMessage() {} +func (*LabelPair) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{0} +} +func (m *LabelPair) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LabelPair.Unmarshal(m, b) +} +func (m *LabelPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LabelPair.Marshal(b, m, deterministic) +} +func (dst *LabelPair) XXX_Merge(src proto.Message) { + xxx_messageInfo_LabelPair.Merge(dst, src) +} +func (m *LabelPair) XXX_Size() int { + return xxx_messageInfo_LabelPair.Size(m) +} +func (m *LabelPair) XXX_DiscardUnknown() { + xxx_messageInfo_LabelPair.DiscardUnknown(m) +} + +var xxx_messageInfo_LabelPair proto.InternalMessageInfo + +func (m *LabelPair) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *LabelPair) GetValue() string { + if m != nil && m.Value != nil { + return *m.Value + } + return "" +} + +type Gauge struct { + Value *float64 `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Gauge) Reset() { *m = Gauge{} } +func (m *Gauge) String() string { return proto.CompactTextString(m) } +func (*Gauge) ProtoMessage() {} +func (*Gauge) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{1} +} +func (m *Gauge) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Gauge.Unmarshal(m, b) +} +func (m *Gauge) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Gauge.Marshal(b, m, deterministic) +} +func (dst *Gauge) XXX_Merge(src proto.Message) { + xxx_messageInfo_Gauge.Merge(dst, src) +} +func (m *Gauge) XXX_Size() int { + return xxx_messageInfo_Gauge.Size(m) +} +func (m *Gauge) XXX_DiscardUnknown() { + xxx_messageInfo_Gauge.DiscardUnknown(m) +} + +var xxx_messageInfo_Gauge proto.InternalMessageInfo + +func (m *Gauge) GetValue() float64 { + if m != nil && m.Value != nil { + return *m.Value + } + return 0 +} + +type Counter struct { + Value *float64 `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Counter) Reset() { *m = Counter{} } +func (m *Counter) String() string { return proto.CompactTextString(m) } +func (*Counter) ProtoMessage() {} +func (*Counter) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{2} +} +func (m *Counter) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Counter.Unmarshal(m, b) +} +func (m *Counter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Counter.Marshal(b, m, deterministic) +} +func (dst *Counter) XXX_Merge(src proto.Message) { + xxx_messageInfo_Counter.Merge(dst, src) +} +func (m *Counter) XXX_Size() int { + return xxx_messageInfo_Counter.Size(m) +} +func (m *Counter) XXX_DiscardUnknown() { + xxx_messageInfo_Counter.DiscardUnknown(m) +} + +var xxx_messageInfo_Counter proto.InternalMessageInfo + +func (m *Counter) GetValue() float64 { + if m != nil && m.Value != nil { + return *m.Value + } + return 0 +} + +type Quantile struct { + Quantile *float64 `protobuf:"fixed64,1,opt,name=quantile" json:"quantile,omitempty"` + Value *float64 `protobuf:"fixed64,2,opt,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Quantile) Reset() { *m = Quantile{} } +func (m *Quantile) String() string { return proto.CompactTextString(m) } +func (*Quantile) ProtoMessage() {} +func (*Quantile) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{3} +} +func (m *Quantile) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Quantile.Unmarshal(m, b) +} +func (m *Quantile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Quantile.Marshal(b, m, deterministic) +} +func (dst *Quantile) XXX_Merge(src proto.Message) { + xxx_messageInfo_Quantile.Merge(dst, src) +} +func (m *Quantile) XXX_Size() int { + return xxx_messageInfo_Quantile.Size(m) +} +func (m *Quantile) XXX_DiscardUnknown() { + xxx_messageInfo_Quantile.DiscardUnknown(m) +} + +var xxx_messageInfo_Quantile proto.InternalMessageInfo + +func (m *Quantile) GetQuantile() float64 { + if m != nil && m.Quantile != nil { + return *m.Quantile + } + return 0 +} + +func (m *Quantile) GetValue() float64 { + if m != nil && m.Value != nil { + return *m.Value + } + return 0 +} + +type Summary struct { + SampleCount *uint64 `protobuf:"varint,1,opt,name=sample_count,json=sampleCount" json:"sample_count,omitempty"` + SampleSum *float64 `protobuf:"fixed64,2,opt,name=sample_sum,json=sampleSum" json:"sample_sum,omitempty"` + Quantile []*Quantile `protobuf:"bytes,3,rep,name=quantile" json:"quantile,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Summary) Reset() { *m = Summary{} } +func (m *Summary) String() string { return proto.CompactTextString(m) } +func (*Summary) ProtoMessage() {} +func (*Summary) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{4} +} +func (m *Summary) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Summary.Unmarshal(m, b) +} +func (m *Summary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Summary.Marshal(b, m, deterministic) +} +func (dst *Summary) XXX_Merge(src proto.Message) { + xxx_messageInfo_Summary.Merge(dst, src) +} +func (m *Summary) XXX_Size() int { + return xxx_messageInfo_Summary.Size(m) +} +func (m *Summary) XXX_DiscardUnknown() { + xxx_messageInfo_Summary.DiscardUnknown(m) +} + +var xxx_messageInfo_Summary proto.InternalMessageInfo + +func (m *Summary) GetSampleCount() uint64 { + if m != nil && m.SampleCount != nil { + return *m.SampleCount + } + return 0 +} + +func (m *Summary) GetSampleSum() float64 { + if m != nil && m.SampleSum != nil { + return *m.SampleSum + } + return 0 +} + +func (m *Summary) GetQuantile() []*Quantile { + if m != nil { + return m.Quantile + } + return nil +} + +type Untyped struct { + Value *float64 `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Untyped) Reset() { *m = Untyped{} } +func (m *Untyped) String() string { return proto.CompactTextString(m) } +func (*Untyped) ProtoMessage() {} +func (*Untyped) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{5} +} +func (m *Untyped) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Untyped.Unmarshal(m, b) +} +func (m *Untyped) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Untyped.Marshal(b, m, deterministic) +} +func (dst *Untyped) XXX_Merge(src proto.Message) { + xxx_messageInfo_Untyped.Merge(dst, src) +} +func (m *Untyped) XXX_Size() int { + return xxx_messageInfo_Untyped.Size(m) +} +func (m *Untyped) XXX_DiscardUnknown() { + xxx_messageInfo_Untyped.DiscardUnknown(m) +} + +var xxx_messageInfo_Untyped proto.InternalMessageInfo + +func (m *Untyped) GetValue() float64 { + if m != nil && m.Value != nil { + return *m.Value + } + return 0 +} + +type Histogram struct { + SampleCount *uint64 `protobuf:"varint,1,opt,name=sample_count,json=sampleCount" json:"sample_count,omitempty"` + SampleSum *float64 `protobuf:"fixed64,2,opt,name=sample_sum,json=sampleSum" json:"sample_sum,omitempty"` + Bucket []*Bucket `protobuf:"bytes,3,rep,name=bucket" json:"bucket,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Histogram) Reset() { *m = Histogram{} } +func (m *Histogram) String() string { return proto.CompactTextString(m) } +func (*Histogram) ProtoMessage() {} +func (*Histogram) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{6} +} +func (m *Histogram) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Histogram.Unmarshal(m, b) +} +func (m *Histogram) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Histogram.Marshal(b, m, deterministic) +} +func (dst *Histogram) XXX_Merge(src proto.Message) { + xxx_messageInfo_Histogram.Merge(dst, src) +} +func (m *Histogram) XXX_Size() int { + return xxx_messageInfo_Histogram.Size(m) +} +func (m *Histogram) XXX_DiscardUnknown() { + xxx_messageInfo_Histogram.DiscardUnknown(m) +} + +var xxx_messageInfo_Histogram proto.InternalMessageInfo + +func (m *Histogram) GetSampleCount() uint64 { + if m != nil && m.SampleCount != nil { + return *m.SampleCount + } + return 0 +} + +func (m *Histogram) GetSampleSum() float64 { + if m != nil && m.SampleSum != nil { + return *m.SampleSum + } + return 0 +} + +func (m *Histogram) GetBucket() []*Bucket { + if m != nil { + return m.Bucket + } + return nil +} + +type Bucket struct { + CumulativeCount *uint64 `protobuf:"varint,1,opt,name=cumulative_count,json=cumulativeCount" json:"cumulative_count,omitempty"` + UpperBound *float64 `protobuf:"fixed64,2,opt,name=upper_bound,json=upperBound" json:"upper_bound,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Bucket) Reset() { *m = Bucket{} } +func (m *Bucket) String() string { return proto.CompactTextString(m) } +func (*Bucket) ProtoMessage() {} +func (*Bucket) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{7} +} +func (m *Bucket) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Bucket.Unmarshal(m, b) +} +func (m *Bucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Bucket.Marshal(b, m, deterministic) +} +func (dst *Bucket) XXX_Merge(src proto.Message) { + xxx_messageInfo_Bucket.Merge(dst, src) +} +func (m *Bucket) XXX_Size() int { + return xxx_messageInfo_Bucket.Size(m) +} +func (m *Bucket) XXX_DiscardUnknown() { + xxx_messageInfo_Bucket.DiscardUnknown(m) +} + +var xxx_messageInfo_Bucket proto.InternalMessageInfo + +func (m *Bucket) GetCumulativeCount() uint64 { + if m != nil && m.CumulativeCount != nil { + return *m.CumulativeCount + } + return 0 +} + +func (m *Bucket) GetUpperBound() float64 { + if m != nil && m.UpperBound != nil { + return *m.UpperBound + } + return 0 +} + +type Metric struct { + Label []*LabelPair `protobuf:"bytes,1,rep,name=label" json:"label,omitempty"` + Gauge *Gauge `protobuf:"bytes,2,opt,name=gauge" json:"gauge,omitempty"` + Counter *Counter `protobuf:"bytes,3,opt,name=counter" json:"counter,omitempty"` + Summary *Summary `protobuf:"bytes,4,opt,name=summary" json:"summary,omitempty"` + Untyped *Untyped `protobuf:"bytes,5,opt,name=untyped" json:"untyped,omitempty"` + Histogram *Histogram `protobuf:"bytes,7,opt,name=histogram" json:"histogram,omitempty"` + TimestampMs *int64 `protobuf:"varint,6,opt,name=timestamp_ms,json=timestampMs" json:"timestamp_ms,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Metric) Reset() { *m = Metric{} } +func (m *Metric) String() string { return proto.CompactTextString(m) } +func (*Metric) ProtoMessage() {} +func (*Metric) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{8} +} +func (m *Metric) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Metric.Unmarshal(m, b) +} +func (m *Metric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Metric.Marshal(b, m, deterministic) +} +func (dst *Metric) XXX_Merge(src proto.Message) { + xxx_messageInfo_Metric.Merge(dst, src) +} +func (m *Metric) XXX_Size() int { + return xxx_messageInfo_Metric.Size(m) +} +func (m *Metric) XXX_DiscardUnknown() { + xxx_messageInfo_Metric.DiscardUnknown(m) +} + +var xxx_messageInfo_Metric proto.InternalMessageInfo + +func (m *Metric) GetLabel() []*LabelPair { + if m != nil { + return m.Label + } + return nil +} + +func (m *Metric) GetGauge() *Gauge { + if m != nil { + return m.Gauge + } + return nil +} + +func (m *Metric) GetCounter() *Counter { + if m != nil { + return m.Counter + } + return nil +} + +func (m *Metric) GetSummary() *Summary { + if m != nil { + return m.Summary + } + return nil +} + +func (m *Metric) GetUntyped() *Untyped { + if m != nil { + return m.Untyped + } + return nil +} + +func (m *Metric) GetHistogram() *Histogram { + if m != nil { + return m.Histogram + } + return nil +} + +func (m *Metric) GetTimestampMs() int64 { + if m != nil && m.TimestampMs != nil { + return *m.TimestampMs + } + return 0 +} + +type MetricFamily struct { + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Help *string `protobuf:"bytes,2,opt,name=help" json:"help,omitempty"` + Type *MetricType `protobuf:"varint,3,opt,name=type,enum=io.prometheus.client.MetricType" json:"type,omitempty"` + Metric []*Metric `protobuf:"bytes,4,rep,name=metric" json:"metric,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MetricFamily) Reset() { *m = MetricFamily{} } +func (m *MetricFamily) String() string { return proto.CompactTextString(m) } +func (*MetricFamily) ProtoMessage() {} +func (*MetricFamily) Descriptor() ([]byte, []int) { + return fileDescriptor_metrics_c97c9a2b9560cb8f, []int{9} +} +func (m *MetricFamily) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MetricFamily.Unmarshal(m, b) +} +func (m *MetricFamily) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MetricFamily.Marshal(b, m, deterministic) +} +func (dst *MetricFamily) XXX_Merge(src proto.Message) { + xxx_messageInfo_MetricFamily.Merge(dst, src) +} +func (m *MetricFamily) XXX_Size() int { + return xxx_messageInfo_MetricFamily.Size(m) +} +func (m *MetricFamily) XXX_DiscardUnknown() { + xxx_messageInfo_MetricFamily.DiscardUnknown(m) +} + +var xxx_messageInfo_MetricFamily proto.InternalMessageInfo + +func (m *MetricFamily) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *MetricFamily) GetHelp() string { + if m != nil && m.Help != nil { + return *m.Help + } + return "" +} + +func (m *MetricFamily) GetType() MetricType { + if m != nil && m.Type != nil { + return *m.Type + } + return MetricType_COUNTER +} + +func (m *MetricFamily) GetMetric() []*Metric { + if m != nil { + return m.Metric + } + return nil +} + +func init() { + proto.RegisterType((*LabelPair)(nil), "io.prometheus.client.LabelPair") + proto.RegisterType((*Gauge)(nil), "io.prometheus.client.Gauge") + proto.RegisterType((*Counter)(nil), "io.prometheus.client.Counter") + proto.RegisterType((*Quantile)(nil), "io.prometheus.client.Quantile") + proto.RegisterType((*Summary)(nil), "io.prometheus.client.Summary") + proto.RegisterType((*Untyped)(nil), "io.prometheus.client.Untyped") + proto.RegisterType((*Histogram)(nil), "io.prometheus.client.Histogram") + proto.RegisterType((*Bucket)(nil), "io.prometheus.client.Bucket") + proto.RegisterType((*Metric)(nil), "io.prometheus.client.Metric") + proto.RegisterType((*MetricFamily)(nil), "io.prometheus.client.MetricFamily") + proto.RegisterEnum("io.prometheus.client.MetricType", MetricType_name, MetricType_value) +} + +func init() { proto.RegisterFile("metrics.proto", fileDescriptor_metrics_c97c9a2b9560cb8f) } + +var fileDescriptor_metrics_c97c9a2b9560cb8f = []byte{ + // 591 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0x4f, 0x4f, 0xdb, 0x4e, + 0x14, 0xfc, 0x99, 0xd8, 0x09, 0x7e, 0x86, 0x5f, 0xad, 0x15, 0x07, 0xab, 0x2d, 0x25, 0xcd, 0x89, + 0xf6, 0x10, 0x54, 0x04, 0xaa, 0x44, 0xdb, 0x03, 0x50, 0x1a, 0x2a, 0xd5, 0x40, 0x37, 0xc9, 0x81, + 0x5e, 0xac, 0x8d, 0x59, 0x25, 0x56, 0xbd, 0xb6, 0x6b, 0xef, 0x22, 0xe5, 0xdc, 0x43, 0xbf, 0x47, + 0xbf, 0x68, 0xab, 0xfd, 0xe3, 0x18, 0x24, 0xc3, 0xa9, 0xb7, 0xb7, 0xf3, 0x66, 0xde, 0x8e, 0x77, + 0xc7, 0x0b, 0x9b, 0x8c, 0xf2, 0x32, 0x89, 0xab, 0x61, 0x51, 0xe6, 0x3c, 0x47, 0x5b, 0x49, 0x2e, + 0x2b, 0x46, 0xf9, 0x82, 0x8a, 0x6a, 0x18, 0xa7, 0x09, 0xcd, 0xf8, 0xe0, 0x10, 0xdc, 0x2f, 0x64, + 0x46, 0xd3, 0x2b, 0x92, 0x94, 0x08, 0x81, 0x9d, 0x11, 0x46, 0x03, 0xab, 0x6f, 0xed, 0xba, 0x58, + 0xd5, 0x68, 0x0b, 0x9c, 0x5b, 0x92, 0x0a, 0x1a, 0xac, 0x29, 0x50, 0x2f, 0x06, 0xdb, 0xe0, 0x8c, + 0x88, 0x98, 0xdf, 0x69, 0x4b, 0x8d, 0x55, 0xb7, 0x77, 0xa0, 0x77, 0x9a, 0x8b, 0x8c, 0xd3, 0xf2, + 0x01, 0xc2, 0x7b, 0x58, 0xff, 0x2a, 0x48, 0xc6, 0x93, 0x94, 0xa2, 0xa7, 0xb0, 0xfe, 0xc3, 0xd4, + 0x86, 0xb4, 0x5a, 0xdf, 0xdf, 0x7d, 0xa5, 0xfe, 0x65, 0x41, 0x6f, 0x2c, 0x18, 0x23, 0xe5, 0x12, + 0xbd, 0x84, 0x8d, 0x8a, 0xb0, 0x22, 0xa5, 0x51, 0x2c, 0x77, 0x54, 0x13, 0x6c, 0xec, 0x69, 0x4c, + 0x99, 0x40, 0xdb, 0x00, 0x86, 0x52, 0x09, 0x66, 0x26, 0xb9, 0x1a, 0x19, 0x0b, 0x86, 0x8e, 0xee, + 0xec, 0xdf, 0xe9, 0x77, 0x76, 0xbd, 0xfd, 0x17, 0xc3, 0xb6, 0xb3, 0x1a, 0xd6, 0x8e, 0x1b, 0x7f, + 0xf2, 0x43, 0xa7, 0x19, 0x5f, 0x16, 0xf4, 0xe6, 0x81, 0x0f, 0xfd, 0x69, 0x81, 0x7b, 0x9e, 0x54, + 0x3c, 0x9f, 0x97, 0x84, 0xfd, 0x03, 0xb3, 0x07, 0xd0, 0x9d, 0x89, 0xf8, 0x3b, 0xe5, 0xc6, 0xea, + 0xf3, 0x76, 0xab, 0x27, 0x8a, 0x83, 0x0d, 0x77, 0x30, 0x81, 0xae, 0x46, 0xd0, 0x2b, 0xf0, 0x63, + 0xc1, 0x44, 0x4a, 0x78, 0x72, 0x7b, 0xdf, 0xc5, 0x93, 0x06, 0xd7, 0x4e, 0x76, 0xc0, 0x13, 0x45, + 0x41, 0xcb, 0x68, 0x96, 0x8b, 0xec, 0xc6, 0x58, 0x01, 0x05, 0x9d, 0x48, 0x64, 0xf0, 0x67, 0x0d, + 0xba, 0xa1, 0xca, 0x18, 0x3a, 0x04, 0x27, 0x95, 0x31, 0x0a, 0x2c, 0xe5, 0x6a, 0xa7, 0xdd, 0xd5, + 0x2a, 0x69, 0x58, 0xb3, 0xd1, 0x1b, 0x70, 0xe6, 0x32, 0x46, 0x6a, 0xb8, 0xb7, 0xff, 0xac, 0x5d, + 0xa6, 0x92, 0x86, 0x35, 0x13, 0xbd, 0x85, 0x5e, 0xac, 0xa3, 0x15, 0x74, 0x94, 0x68, 0xbb, 0x5d, + 0x64, 0xf2, 0x87, 0x6b, 0xb6, 0x14, 0x56, 0x3a, 0x33, 0x81, 0xfd, 0x98, 0xd0, 0x04, 0x0b, 0xd7, + 0x6c, 0x29, 0x14, 0xfa, 0x8e, 0x03, 0xe7, 0x31, 0xa1, 0x09, 0x02, 0xae, 0xd9, 0xe8, 0x03, 0xb8, + 0x8b, 0xfa, 0xea, 0x83, 0x9e, 0x92, 0x3e, 0x70, 0x30, 0xab, 0x84, 0xe0, 0x46, 0x21, 0xc3, 0xc2, + 0x13, 0x46, 0x2b, 0x4e, 0x58, 0x11, 0xb1, 0x2a, 0xe8, 0xf6, 0xad, 0xdd, 0x0e, 0xf6, 0x56, 0x58, + 0x58, 0x0d, 0x7e, 0x5b, 0xb0, 0xa1, 0x6f, 0xe0, 0x13, 0x61, 0x49, 0xba, 0x6c, 0xfd, 0x83, 0x11, + 0xd8, 0x0b, 0x9a, 0x16, 0xe6, 0x07, 0x56, 0x35, 0x3a, 0x00, 0x5b, 0x7a, 0x54, 0x47, 0xf8, 0xff, + 0x7e, 0xbf, 0xdd, 0x95, 0x9e, 0x3c, 0x59, 0x16, 0x14, 0x2b, 0xb6, 0x0c, 0x9f, 0x7e, 0x53, 0x02, + 0xfb, 0xb1, 0xf0, 0x69, 0x1d, 0x36, 0xdc, 0xd7, 0x21, 0x40, 0x33, 0x09, 0x79, 0xd0, 0x3b, 0xbd, + 0x9c, 0x5e, 0x4c, 0xce, 0xb0, 0xff, 0x1f, 0x72, 0xc1, 0x19, 0x1d, 0x4f, 0x47, 0x67, 0xbe, 0x25, + 0xf1, 0xf1, 0x34, 0x0c, 0x8f, 0xf1, 0xb5, 0xbf, 0x26, 0x17, 0xd3, 0x8b, 0xc9, 0xf5, 0xd5, 0xd9, + 0x47, 0xbf, 0x83, 0x36, 0xc1, 0x3d, 0xff, 0x3c, 0x9e, 0x5c, 0x8e, 0xf0, 0x71, 0xe8, 0xdb, 0x27, + 0x18, 0x5a, 0x5f, 0xb2, 0x6f, 0x47, 0xf3, 0x84, 0x2f, 0xc4, 0x6c, 0x18, 0xe7, 0x6c, 0xaf, 0xe9, + 0xee, 0xe9, 0x6e, 0xc4, 0xf2, 0x1b, 0x9a, 0xee, 0xcd, 0xf3, 0x77, 0x49, 0x1e, 0x35, 0xdd, 0x48, + 0x77, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x45, 0x21, 0x7f, 0x64, 0x2b, 0x05, 0x00, 0x00, +} diff --git a/vendor/github.com/prometheus/client_model/ruby/LICENSE b/vendor/github.com/prometheus/client_model/ruby/LICENSE new file mode 100644 index 00000000..11069edd --- /dev/null +++ b/vendor/github.com/prometheus/client_model/ruby/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/github.com/prometheus/common/LICENSE b/vendor/github.com/prometheus/common/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/vendor/github.com/prometheus/common/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/prometheus/common/NOTICE b/vendor/github.com/prometheus/common/NOTICE new file mode 100644 index 00000000..636a2c1a --- /dev/null +++ b/vendor/github.com/prometheus/common/NOTICE @@ -0,0 +1,5 @@ +Common libraries shared by Prometheus Go components. +Copyright 2015 The Prometheus Authors + +This product includes software developed at +SoundCloud Ltd. (http://soundcloud.com/). diff --git a/vendor/github.com/prometheus/common/expfmt/decode.go b/vendor/github.com/prometheus/common/expfmt/decode.go new file mode 100644 index 00000000..c092723e --- /dev/null +++ b/vendor/github.com/prometheus/common/expfmt/decode.go @@ -0,0 +1,429 @@ +// Copyright 2015 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package expfmt + +import ( + "fmt" + "io" + "math" + "mime" + "net/http" + + dto "github.com/prometheus/client_model/go" + + "github.com/matttproud/golang_protobuf_extensions/pbutil" + "github.com/prometheus/common/model" +) + +// Decoder types decode an input stream into metric families. +type Decoder interface { + Decode(*dto.MetricFamily) error +} + +// DecodeOptions contains options used by the Decoder and in sample extraction. +type DecodeOptions struct { + // Timestamp is added to each value from the stream that has no explicit timestamp set. + Timestamp model.Time +} + +// ResponseFormat extracts the correct format from a HTTP response header. +// If no matching format can be found FormatUnknown is returned. +func ResponseFormat(h http.Header) Format { + ct := h.Get(hdrContentType) + + mediatype, params, err := mime.ParseMediaType(ct) + if err != nil { + return FmtUnknown + } + + const textType = "text/plain" + + switch mediatype { + case ProtoType: + if p, ok := params["proto"]; ok && p != ProtoProtocol { + return FmtUnknown + } + if e, ok := params["encoding"]; ok && e != "delimited" { + return FmtUnknown + } + return FmtProtoDelim + + case textType: + if v, ok := params["version"]; ok && v != TextVersion { + return FmtUnknown + } + return FmtText + } + + return FmtUnknown +} + +// NewDecoder returns a new decoder based on the given input format. +// If the input format does not imply otherwise, a text format decoder is returned. +func NewDecoder(r io.Reader, format Format) Decoder { + switch format { + case FmtProtoDelim: + return &protoDecoder{r: r} + } + return &textDecoder{r: r} +} + +// protoDecoder implements the Decoder interface for protocol buffers. +type protoDecoder struct { + r io.Reader +} + +// Decode implements the Decoder interface. +func (d *protoDecoder) Decode(v *dto.MetricFamily) error { + _, err := pbutil.ReadDelimited(d.r, v) + if err != nil { + return err + } + if !model.IsValidMetricName(model.LabelValue(v.GetName())) { + return fmt.Errorf("invalid metric name %q", v.GetName()) + } + for _, m := range v.GetMetric() { + if m == nil { + continue + } + for _, l := range m.GetLabel() { + if l == nil { + continue + } + if !model.LabelValue(l.GetValue()).IsValid() { + return fmt.Errorf("invalid label value %q", l.GetValue()) + } + if !model.LabelName(l.GetName()).IsValid() { + return fmt.Errorf("invalid label name %q", l.GetName()) + } + } + } + return nil +} + +// textDecoder implements the Decoder interface for the text protocol. +type textDecoder struct { + r io.Reader + p TextParser + fams []*dto.MetricFamily +} + +// Decode implements the Decoder interface. +func (d *textDecoder) Decode(v *dto.MetricFamily) error { + // TODO(fabxc): Wrap this as a line reader to make streaming safer. + if len(d.fams) == 0 { + // No cached metric families, read everything and parse metrics. + fams, err := d.p.TextToMetricFamilies(d.r) + if err != nil { + return err + } + if len(fams) == 0 { + return io.EOF + } + d.fams = make([]*dto.MetricFamily, 0, len(fams)) + for _, f := range fams { + d.fams = append(d.fams, f) + } + } + + *v = *d.fams[0] + d.fams = d.fams[1:] + + return nil +} + +// SampleDecoder wraps a Decoder to extract samples from the metric families +// decoded by the wrapped Decoder. +type SampleDecoder struct { + Dec Decoder + Opts *DecodeOptions + + f dto.MetricFamily +} + +// Decode calls the Decode method of the wrapped Decoder and then extracts the +// samples from the decoded MetricFamily into the provided model.Vector. +func (sd *SampleDecoder) Decode(s *model.Vector) error { + err := sd.Dec.Decode(&sd.f) + if err != nil { + return err + } + *s, err = extractSamples(&sd.f, sd.Opts) + return err +} + +// ExtractSamples builds a slice of samples from the provided metric +// families. If an error occurrs during sample extraction, it continues to +// extract from the remaining metric families. The returned error is the last +// error that has occurred. +func ExtractSamples(o *DecodeOptions, fams ...*dto.MetricFamily) (model.Vector, error) { + var ( + all model.Vector + lastErr error + ) + for _, f := range fams { + some, err := extractSamples(f, o) + if err != nil { + lastErr = err + continue + } + all = append(all, some...) + } + return all, lastErr +} + +func extractSamples(f *dto.MetricFamily, o *DecodeOptions) (model.Vector, error) { + switch f.GetType() { + case dto.MetricType_COUNTER: + return extractCounter(o, f), nil + case dto.MetricType_GAUGE: + return extractGauge(o, f), nil + case dto.MetricType_SUMMARY: + return extractSummary(o, f), nil + case dto.MetricType_UNTYPED: + return extractUntyped(o, f), nil + case dto.MetricType_HISTOGRAM: + return extractHistogram(o, f), nil + } + return nil, fmt.Errorf("expfmt.extractSamples: unknown metric family type %v", f.GetType()) +} + +func extractCounter(o *DecodeOptions, f *dto.MetricFamily) model.Vector { + samples := make(model.Vector, 0, len(f.Metric)) + + for _, m := range f.Metric { + if m.Counter == nil { + continue + } + + lset := make(model.LabelSet, len(m.Label)+1) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + lset[model.MetricNameLabel] = model.LabelValue(f.GetName()) + + smpl := &model.Sample{ + Metric: model.Metric(lset), + Value: model.SampleValue(m.Counter.GetValue()), + } + + if m.TimestampMs != nil { + smpl.Timestamp = model.TimeFromUnixNano(*m.TimestampMs * 1000000) + } else { + smpl.Timestamp = o.Timestamp + } + + samples = append(samples, smpl) + } + + return samples +} + +func extractGauge(o *DecodeOptions, f *dto.MetricFamily) model.Vector { + samples := make(model.Vector, 0, len(f.Metric)) + + for _, m := range f.Metric { + if m.Gauge == nil { + continue + } + + lset := make(model.LabelSet, len(m.Label)+1) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + lset[model.MetricNameLabel] = model.LabelValue(f.GetName()) + + smpl := &model.Sample{ + Metric: model.Metric(lset), + Value: model.SampleValue(m.Gauge.GetValue()), + } + + if m.TimestampMs != nil { + smpl.Timestamp = model.TimeFromUnixNano(*m.TimestampMs * 1000000) + } else { + smpl.Timestamp = o.Timestamp + } + + samples = append(samples, smpl) + } + + return samples +} + +func extractUntyped(o *DecodeOptions, f *dto.MetricFamily) model.Vector { + samples := make(model.Vector, 0, len(f.Metric)) + + for _, m := range f.Metric { + if m.Untyped == nil { + continue + } + + lset := make(model.LabelSet, len(m.Label)+1) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + lset[model.MetricNameLabel] = model.LabelValue(f.GetName()) + + smpl := &model.Sample{ + Metric: model.Metric(lset), + Value: model.SampleValue(m.Untyped.GetValue()), + } + + if m.TimestampMs != nil { + smpl.Timestamp = model.TimeFromUnixNano(*m.TimestampMs * 1000000) + } else { + smpl.Timestamp = o.Timestamp + } + + samples = append(samples, smpl) + } + + return samples +} + +func extractSummary(o *DecodeOptions, f *dto.MetricFamily) model.Vector { + samples := make(model.Vector, 0, len(f.Metric)) + + for _, m := range f.Metric { + if m.Summary == nil { + continue + } + + timestamp := o.Timestamp + if m.TimestampMs != nil { + timestamp = model.TimeFromUnixNano(*m.TimestampMs * 1000000) + } + + for _, q := range m.Summary.Quantile { + lset := make(model.LabelSet, len(m.Label)+2) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + // BUG(matt): Update other names to "quantile". + lset[model.LabelName(model.QuantileLabel)] = model.LabelValue(fmt.Sprint(q.GetQuantile())) + lset[model.MetricNameLabel] = model.LabelValue(f.GetName()) + + samples = append(samples, &model.Sample{ + Metric: model.Metric(lset), + Value: model.SampleValue(q.GetValue()), + Timestamp: timestamp, + }) + } + + lset := make(model.LabelSet, len(m.Label)+1) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + lset[model.MetricNameLabel] = model.LabelValue(f.GetName() + "_sum") + + samples = append(samples, &model.Sample{ + Metric: model.Metric(lset), + Value: model.SampleValue(m.Summary.GetSampleSum()), + Timestamp: timestamp, + }) + + lset = make(model.LabelSet, len(m.Label)+1) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + lset[model.MetricNameLabel] = model.LabelValue(f.GetName() + "_count") + + samples = append(samples, &model.Sample{ + Metric: model.Metric(lset), + Value: model.SampleValue(m.Summary.GetSampleCount()), + Timestamp: timestamp, + }) + } + + return samples +} + +func extractHistogram(o *DecodeOptions, f *dto.MetricFamily) model.Vector { + samples := make(model.Vector, 0, len(f.Metric)) + + for _, m := range f.Metric { + if m.Histogram == nil { + continue + } + + timestamp := o.Timestamp + if m.TimestampMs != nil { + timestamp = model.TimeFromUnixNano(*m.TimestampMs * 1000000) + } + + infSeen := false + + for _, q := range m.Histogram.Bucket { + lset := make(model.LabelSet, len(m.Label)+2) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + lset[model.LabelName(model.BucketLabel)] = model.LabelValue(fmt.Sprint(q.GetUpperBound())) + lset[model.MetricNameLabel] = model.LabelValue(f.GetName() + "_bucket") + + if math.IsInf(q.GetUpperBound(), +1) { + infSeen = true + } + + samples = append(samples, &model.Sample{ + Metric: model.Metric(lset), + Value: model.SampleValue(q.GetCumulativeCount()), + Timestamp: timestamp, + }) + } + + lset := make(model.LabelSet, len(m.Label)+1) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + lset[model.MetricNameLabel] = model.LabelValue(f.GetName() + "_sum") + + samples = append(samples, &model.Sample{ + Metric: model.Metric(lset), + Value: model.SampleValue(m.Histogram.GetSampleSum()), + Timestamp: timestamp, + }) + + lset = make(model.LabelSet, len(m.Label)+1) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + lset[model.MetricNameLabel] = model.LabelValue(f.GetName() + "_count") + + count := &model.Sample{ + Metric: model.Metric(lset), + Value: model.SampleValue(m.Histogram.GetSampleCount()), + Timestamp: timestamp, + } + samples = append(samples, count) + + if !infSeen { + // Append an infinity bucket sample. + lset := make(model.LabelSet, len(m.Label)+2) + for _, p := range m.Label { + lset[model.LabelName(p.GetName())] = model.LabelValue(p.GetValue()) + } + lset[model.LabelName(model.BucketLabel)] = model.LabelValue("+Inf") + lset[model.MetricNameLabel] = model.LabelValue(f.GetName() + "_bucket") + + samples = append(samples, &model.Sample{ + Metric: model.Metric(lset), + Value: count.Value, + Timestamp: timestamp, + }) + } + } + + return samples +} diff --git a/vendor/github.com/prometheus/common/expfmt/encode.go b/vendor/github.com/prometheus/common/expfmt/encode.go new file mode 100644 index 00000000..11839ed6 --- /dev/null +++ b/vendor/github.com/prometheus/common/expfmt/encode.go @@ -0,0 +1,88 @@ +// Copyright 2015 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package expfmt + +import ( + "fmt" + "io" + "net/http" + + "github.com/golang/protobuf/proto" + "github.com/matttproud/golang_protobuf_extensions/pbutil" + "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg" + + dto "github.com/prometheus/client_model/go" +) + +// Encoder types encode metric families into an underlying wire protocol. +type Encoder interface { + Encode(*dto.MetricFamily) error +} + +type encoder func(*dto.MetricFamily) error + +func (e encoder) Encode(v *dto.MetricFamily) error { + return e(v) +} + +// Negotiate returns the Content-Type based on the given Accept header. +// If no appropriate accepted type is found, FmtText is returned. +func Negotiate(h http.Header) Format { + for _, ac := range goautoneg.ParseAccept(h.Get(hdrAccept)) { + // Check for protocol buffer + if ac.Type+"/"+ac.SubType == ProtoType && ac.Params["proto"] == ProtoProtocol { + switch ac.Params["encoding"] { + case "delimited": + return FmtProtoDelim + case "text": + return FmtProtoText + case "compact-text": + return FmtProtoCompact + } + } + // Check for text format. + ver := ac.Params["version"] + if ac.Type == "text" && ac.SubType == "plain" && (ver == TextVersion || ver == "") { + return FmtText + } + } + return FmtText +} + +// NewEncoder returns a new encoder based on content type negotiation. +func NewEncoder(w io.Writer, format Format) Encoder { + switch format { + case FmtProtoDelim: + return encoder(func(v *dto.MetricFamily) error { + _, err := pbutil.WriteDelimited(w, v) + return err + }) + case FmtProtoCompact: + return encoder(func(v *dto.MetricFamily) error { + _, err := fmt.Fprintln(w, v.String()) + return err + }) + case FmtProtoText: + return encoder(func(v *dto.MetricFamily) error { + _, err := fmt.Fprintln(w, proto.MarshalTextString(v)) + return err + }) + case FmtText: + return encoder(func(v *dto.MetricFamily) error { + _, err := MetricFamilyToText(w, v) + return err + }) + } + panic("expfmt.NewEncoder: unknown format") +} diff --git a/vendor/github.com/prometheus/common/expfmt/expfmt.go b/vendor/github.com/prometheus/common/expfmt/expfmt.go new file mode 100644 index 00000000..c71bcb98 --- /dev/null +++ b/vendor/github.com/prometheus/common/expfmt/expfmt.go @@ -0,0 +1,38 @@ +// Copyright 2015 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package expfmt contains tools for reading and writing Prometheus metrics. +package expfmt + +// Format specifies the HTTP content type of the different wire protocols. +type Format string + +// Constants to assemble the Content-Type values for the different wire protocols. +const ( + TextVersion = "0.0.4" + ProtoType = `application/vnd.google.protobuf` + ProtoProtocol = `io.prometheus.client.MetricFamily` + ProtoFmt = ProtoType + "; proto=" + ProtoProtocol + ";" + + // The Content-Type values for the different wire protocols. + FmtUnknown Format = `` + FmtText Format = `text/plain; version=` + TextVersion + `; charset=utf-8` + FmtProtoDelim Format = ProtoFmt + ` encoding=delimited` + FmtProtoText Format = ProtoFmt + ` encoding=text` + FmtProtoCompact Format = ProtoFmt + ` encoding=compact-text` +) + +const ( + hdrContentType = "Content-Type" + hdrAccept = "Accept" +) diff --git a/vendor/github.com/prometheus/common/expfmt/fuzz.go b/vendor/github.com/prometheus/common/expfmt/fuzz.go new file mode 100644 index 00000000..dc2eedee --- /dev/null +++ b/vendor/github.com/prometheus/common/expfmt/fuzz.go @@ -0,0 +1,36 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Build only when actually fuzzing +// +build gofuzz + +package expfmt + +import "bytes" + +// Fuzz text metric parser with with github.com/dvyukov/go-fuzz: +// +// go-fuzz-build github.com/prometheus/common/expfmt +// go-fuzz -bin expfmt-fuzz.zip -workdir fuzz +// +// Further input samples should go in the folder fuzz/corpus. +func Fuzz(in []byte) int { + parser := TextParser{} + _, err := parser.TextToMetricFamilies(bytes.NewReader(in)) + + if err != nil { + return 0 + } + + return 1 +} diff --git a/vendor/github.com/prometheus/common/expfmt/text_create.go b/vendor/github.com/prometheus/common/expfmt/text_create.go new file mode 100644 index 00000000..0327865e --- /dev/null +++ b/vendor/github.com/prometheus/common/expfmt/text_create.go @@ -0,0 +1,466 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package expfmt + +import ( + "bufio" + "fmt" + "io" + "io/ioutil" + "math" + "strconv" + "strings" + "sync" + + "github.com/prometheus/common/model" + + dto "github.com/prometheus/client_model/go" +) + +// enhancedWriter has all the enhanced write functions needed here. bufio.Writer +// implements it. +type enhancedWriter interface { + io.Writer + WriteRune(r rune) (n int, err error) + WriteString(s string) (n int, err error) + WriteByte(c byte) error +} + +const ( + initialNumBufSize = 24 +) + +var ( + bufPool = sync.Pool{ + New: func() interface{} { + return bufio.NewWriter(ioutil.Discard) + }, + } + numBufPool = sync.Pool{ + New: func() interface{} { + b := make([]byte, 0, initialNumBufSize) + return &b + }, + } +) + +// MetricFamilyToText converts a MetricFamily proto message into text format and +// writes the resulting lines to 'out'. It returns the number of bytes written +// and any error encountered. The output will have the same order as the input, +// no further sorting is performed. Furthermore, this function assumes the input +// is already sanitized and does not perform any sanity checks. If the input +// contains duplicate metrics or invalid metric or label names, the conversion +// will result in invalid text format output. +// +// This method fulfills the type 'prometheus.encoder'. +func MetricFamilyToText(out io.Writer, in *dto.MetricFamily) (written int, err error) { + // Fail-fast checks. + if len(in.Metric) == 0 { + return 0, fmt.Errorf("MetricFamily has no metrics: %s", in) + } + name := in.GetName() + if name == "" { + return 0, fmt.Errorf("MetricFamily has no name: %s", in) + } + + // Try the interface upgrade. If it doesn't work, we'll use a + // bufio.Writer from the sync.Pool. + w, ok := out.(enhancedWriter) + if !ok { + b := bufPool.Get().(*bufio.Writer) + b.Reset(out) + w = b + defer func() { + bErr := b.Flush() + if err == nil { + err = bErr + } + bufPool.Put(b) + }() + } + + var n int + + // Comments, first HELP, then TYPE. + if in.Help != nil { + n, err = w.WriteString("# HELP ") + written += n + if err != nil { + return + } + n, err = w.WriteString(name) + written += n + if err != nil { + return + } + err = w.WriteByte(' ') + written++ + if err != nil { + return + } + n, err = writeEscapedString(w, *in.Help, false) + written += n + if err != nil { + return + } + err = w.WriteByte('\n') + written++ + if err != nil { + return + } + } + n, err = w.WriteString("# TYPE ") + written += n + if err != nil { + return + } + n, err = w.WriteString(name) + written += n + if err != nil { + return + } + metricType := in.GetType() + switch metricType { + case dto.MetricType_COUNTER: + n, err = w.WriteString(" counter\n") + case dto.MetricType_GAUGE: + n, err = w.WriteString(" gauge\n") + case dto.MetricType_SUMMARY: + n, err = w.WriteString(" summary\n") + case dto.MetricType_UNTYPED: + n, err = w.WriteString(" untyped\n") + case dto.MetricType_HISTOGRAM: + n, err = w.WriteString(" histogram\n") + default: + return written, fmt.Errorf("unknown metric type %s", metricType.String()) + } + written += n + if err != nil { + return + } + + // Finally the samples, one line for each. + for _, metric := range in.Metric { + switch metricType { + case dto.MetricType_COUNTER: + if metric.Counter == nil { + return written, fmt.Errorf( + "expected counter in metric %s %s", name, metric, + ) + } + n, err = writeSample( + w, name, "", metric, "", 0, + metric.Counter.GetValue(), + ) + case dto.MetricType_GAUGE: + if metric.Gauge == nil { + return written, fmt.Errorf( + "expected gauge in metric %s %s", name, metric, + ) + } + n, err = writeSample( + w, name, "", metric, "", 0, + metric.Gauge.GetValue(), + ) + case dto.MetricType_UNTYPED: + if metric.Untyped == nil { + return written, fmt.Errorf( + "expected untyped in metric %s %s", name, metric, + ) + } + n, err = writeSample( + w, name, "", metric, "", 0, + metric.Untyped.GetValue(), + ) + case dto.MetricType_SUMMARY: + if metric.Summary == nil { + return written, fmt.Errorf( + "expected summary in metric %s %s", name, metric, + ) + } + for _, q := range metric.Summary.Quantile { + n, err = writeSample( + w, name, "", metric, + model.QuantileLabel, q.GetQuantile(), + q.GetValue(), + ) + written += n + if err != nil { + return + } + } + n, err = writeSample( + w, name, "_sum", metric, "", 0, + metric.Summary.GetSampleSum(), + ) + written += n + if err != nil { + return + } + n, err = writeSample( + w, name, "_count", metric, "", 0, + float64(metric.Summary.GetSampleCount()), + ) + case dto.MetricType_HISTOGRAM: + if metric.Histogram == nil { + return written, fmt.Errorf( + "expected histogram in metric %s %s", name, metric, + ) + } + infSeen := false + for _, b := range metric.Histogram.Bucket { + n, err = writeSample( + w, name, "_bucket", metric, + model.BucketLabel, b.GetUpperBound(), + float64(b.GetCumulativeCount()), + ) + written += n + if err != nil { + return + } + if math.IsInf(b.GetUpperBound(), +1) { + infSeen = true + } + } + if !infSeen { + n, err = writeSample( + w, name, "_bucket", metric, + model.BucketLabel, math.Inf(+1), + float64(metric.Histogram.GetSampleCount()), + ) + written += n + if err != nil { + return + } + } + n, err = writeSample( + w, name, "_sum", metric, "", 0, + metric.Histogram.GetSampleSum(), + ) + written += n + if err != nil { + return + } + n, err = writeSample( + w, name, "_count", metric, "", 0, + float64(metric.Histogram.GetSampleCount()), + ) + default: + return written, fmt.Errorf( + "unexpected type in metric %s %s", name, metric, + ) + } + written += n + if err != nil { + return + } + } + return +} + +// writeSample writes a single sample in text format to w, given the metric +// name, the metric proto message itself, optionally an additional label name +// with a float64 value (use empty string as label name if not required), and +// the value. The function returns the number of bytes written and any error +// encountered. +func writeSample( + w enhancedWriter, + name, suffix string, + metric *dto.Metric, + additionalLabelName string, additionalLabelValue float64, + value float64, +) (int, error) { + var written int + n, err := w.WriteString(name) + written += n + if err != nil { + return written, err + } + if suffix != "" { + n, err = w.WriteString(suffix) + written += n + if err != nil { + return written, err + } + } + n, err = writeLabelPairs( + w, metric.Label, additionalLabelName, additionalLabelValue, + ) + written += n + if err != nil { + return written, err + } + err = w.WriteByte(' ') + written++ + if err != nil { + return written, err + } + n, err = writeFloat(w, value) + written += n + if err != nil { + return written, err + } + if metric.TimestampMs != nil { + err = w.WriteByte(' ') + written++ + if err != nil { + return written, err + } + n, err = writeInt(w, *metric.TimestampMs) + written += n + if err != nil { + return written, err + } + } + err = w.WriteByte('\n') + written++ + if err != nil { + return written, err + } + return written, nil +} + +// writeLabelPairs converts a slice of LabelPair proto messages plus the +// explicitly given additional label pair into text formatted as required by the +// text format and writes it to 'w'. An empty slice in combination with an empty +// string 'additionalLabelName' results in nothing being written. Otherwise, the +// label pairs are written, escaped as required by the text format, and enclosed +// in '{...}'. The function returns the number of bytes written and any error +// encountered. +func writeLabelPairs( + w enhancedWriter, + in []*dto.LabelPair, + additionalLabelName string, additionalLabelValue float64, +) (int, error) { + if len(in) == 0 && additionalLabelName == "" { + return 0, nil + } + var ( + written int + separator byte = '{' + ) + for _, lp := range in { + err := w.WriteByte(separator) + written++ + if err != nil { + return written, err + } + n, err := w.WriteString(lp.GetName()) + written += n + if err != nil { + return written, err + } + n, err = w.WriteString(`="`) + written += n + if err != nil { + return written, err + } + n, err = writeEscapedString(w, lp.GetValue(), true) + written += n + if err != nil { + return written, err + } + err = w.WriteByte('"') + written++ + if err != nil { + return written, err + } + separator = ',' + } + if additionalLabelName != "" { + err := w.WriteByte(separator) + written++ + if err != nil { + return written, err + } + n, err := w.WriteString(additionalLabelName) + written += n + if err != nil { + return written, err + } + n, err = w.WriteString(`="`) + written += n + if err != nil { + return written, err + } + n, err = writeFloat(w, additionalLabelValue) + written += n + if err != nil { + return written, err + } + err = w.WriteByte('"') + written++ + if err != nil { + return written, err + } + } + err := w.WriteByte('}') + written++ + if err != nil { + return written, err + } + return written, nil +} + +// writeEscapedString replaces '\' by '\\', new line character by '\n', and - if +// includeDoubleQuote is true - '"' by '\"'. +var ( + escaper = strings.NewReplacer("\\", `\\`, "\n", `\n`) + quotedEscaper = strings.NewReplacer("\\", `\\`, "\n", `\n`, "\"", `\"`) +) + +func writeEscapedString(w enhancedWriter, v string, includeDoubleQuote bool) (int, error) { + if includeDoubleQuote { + return quotedEscaper.WriteString(w, v) + } else { + return escaper.WriteString(w, v) + } +} + +// writeFloat is equivalent to fmt.Fprint with a float64 argument but hardcodes +// a few common cases for increased efficiency. For non-hardcoded cases, it uses +// strconv.AppendFloat to avoid allocations, similar to writeInt. +func writeFloat(w enhancedWriter, f float64) (int, error) { + switch { + case f == 1: + return 1, w.WriteByte('1') + case f == 0: + return 1, w.WriteByte('0') + case f == -1: + return w.WriteString("-1") + case math.IsNaN(f): + return w.WriteString("NaN") + case math.IsInf(f, +1): + return w.WriteString("+Inf") + case math.IsInf(f, -1): + return w.WriteString("-Inf") + default: + bp := numBufPool.Get().(*[]byte) + *bp = strconv.AppendFloat((*bp)[:0], f, 'g', -1, 64) + written, err := w.Write(*bp) + numBufPool.Put(bp) + return written, err + } +} + +// writeInt is equivalent to fmt.Fprint with an int64 argument but uses +// strconv.AppendInt with a byte slice taken from a sync.Pool to avoid +// allocations. +func writeInt(w enhancedWriter, i int64) (int, error) { + bp := numBufPool.Get().(*[]byte) + *bp = strconv.AppendInt((*bp)[:0], i, 10) + written, err := w.Write(*bp) + numBufPool.Put(bp) + return written, err +} diff --git a/vendor/github.com/prometheus/common/expfmt/text_parse.go b/vendor/github.com/prometheus/common/expfmt/text_parse.go new file mode 100644 index 00000000..342e5940 --- /dev/null +++ b/vendor/github.com/prometheus/common/expfmt/text_parse.go @@ -0,0 +1,764 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package expfmt + +import ( + "bufio" + "bytes" + "fmt" + "io" + "math" + "strconv" + "strings" + + dto "github.com/prometheus/client_model/go" + + "github.com/golang/protobuf/proto" + "github.com/prometheus/common/model" +) + +// A stateFn is a function that represents a state in a state machine. By +// executing it, the state is progressed to the next state. The stateFn returns +// another stateFn, which represents the new state. The end state is represented +// by nil. +type stateFn func() stateFn + +// ParseError signals errors while parsing the simple and flat text-based +// exchange format. +type ParseError struct { + Line int + Msg string +} + +// Error implements the error interface. +func (e ParseError) Error() string { + return fmt.Sprintf("text format parsing error in line %d: %s", e.Line, e.Msg) +} + +// TextParser is used to parse the simple and flat text-based exchange format. Its +// zero value is ready to use. +type TextParser struct { + metricFamiliesByName map[string]*dto.MetricFamily + buf *bufio.Reader // Where the parsed input is read through. + err error // Most recent error. + lineCount int // Tracks the line count for error messages. + currentByte byte // The most recent byte read. + currentToken bytes.Buffer // Re-used each time a token has to be gathered from multiple bytes. + currentMF *dto.MetricFamily + currentMetric *dto.Metric + currentLabelPair *dto.LabelPair + + // The remaining member variables are only used for summaries/histograms. + currentLabels map[string]string // All labels including '__name__' but excluding 'quantile'/'le' + // Summary specific. + summaries map[uint64]*dto.Metric // Key is created with LabelsToSignature. + currentQuantile float64 + // Histogram specific. + histograms map[uint64]*dto.Metric // Key is created with LabelsToSignature. + currentBucket float64 + // These tell us if the currently processed line ends on '_count' or + // '_sum' respectively and belong to a summary/histogram, representing the sample + // count and sum of that summary/histogram. + currentIsSummaryCount, currentIsSummarySum bool + currentIsHistogramCount, currentIsHistogramSum bool +} + +// TextToMetricFamilies reads 'in' as the simple and flat text-based exchange +// format and creates MetricFamily proto messages. It returns the MetricFamily +// proto messages in a map where the metric names are the keys, along with any +// error encountered. +// +// If the input contains duplicate metrics (i.e. lines with the same metric name +// and exactly the same label set), the resulting MetricFamily will contain +// duplicate Metric proto messages. Similar is true for duplicate label +// names. Checks for duplicates have to be performed separately, if required. +// Also note that neither the metrics within each MetricFamily are sorted nor +// the label pairs within each Metric. Sorting is not required for the most +// frequent use of this method, which is sample ingestion in the Prometheus +// server. However, for presentation purposes, you might want to sort the +// metrics, and in some cases, you must sort the labels, e.g. for consumption by +// the metric family injection hook of the Prometheus registry. +// +// Summaries and histograms are rather special beasts. You would probably not +// use them in the simple text format anyway. This method can deal with +// summaries and histograms if they are presented in exactly the way the +// text.Create function creates them. +// +// This method must not be called concurrently. If you want to parse different +// input concurrently, instantiate a separate Parser for each goroutine. +func (p *TextParser) TextToMetricFamilies(in io.Reader) (map[string]*dto.MetricFamily, error) { + p.reset(in) + for nextState := p.startOfLine; nextState != nil; nextState = nextState() { + // Magic happens here... + } + // Get rid of empty metric families. + for k, mf := range p.metricFamiliesByName { + if len(mf.GetMetric()) == 0 { + delete(p.metricFamiliesByName, k) + } + } + // If p.err is io.EOF now, we have run into a premature end of the input + // stream. Turn this error into something nicer and more + // meaningful. (io.EOF is often used as a signal for the legitimate end + // of an input stream.) + if p.err == io.EOF { + p.parseError("unexpected end of input stream") + } + return p.metricFamiliesByName, p.err +} + +func (p *TextParser) reset(in io.Reader) { + p.metricFamiliesByName = map[string]*dto.MetricFamily{} + if p.buf == nil { + p.buf = bufio.NewReader(in) + } else { + p.buf.Reset(in) + } + p.err = nil + p.lineCount = 0 + if p.summaries == nil || len(p.summaries) > 0 { + p.summaries = map[uint64]*dto.Metric{} + } + if p.histograms == nil || len(p.histograms) > 0 { + p.histograms = map[uint64]*dto.Metric{} + } + p.currentQuantile = math.NaN() + p.currentBucket = math.NaN() +} + +// startOfLine represents the state where the next byte read from p.buf is the +// start of a line (or whitespace leading up to it). +func (p *TextParser) startOfLine() stateFn { + p.lineCount++ + if p.skipBlankTab(); p.err != nil { + // End of input reached. This is the only case where + // that is not an error but a signal that we are done. + p.err = nil + return nil + } + switch p.currentByte { + case '#': + return p.startComment + case '\n': + return p.startOfLine // Empty line, start the next one. + } + return p.readingMetricName +} + +// startComment represents the state where the next byte read from p.buf is the +// start of a comment (or whitespace leading up to it). +func (p *TextParser) startComment() stateFn { + if p.skipBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + if p.currentByte == '\n' { + return p.startOfLine + } + if p.readTokenUntilWhitespace(); p.err != nil { + return nil // Unexpected end of input. + } + // If we have hit the end of line already, there is nothing left + // to do. This is not considered a syntax error. + if p.currentByte == '\n' { + return p.startOfLine + } + keyword := p.currentToken.String() + if keyword != "HELP" && keyword != "TYPE" { + // Generic comment, ignore by fast forwarding to end of line. + for p.currentByte != '\n' { + if p.currentByte, p.err = p.buf.ReadByte(); p.err != nil { + return nil // Unexpected end of input. + } + } + return p.startOfLine + } + // There is something. Next has to be a metric name. + if p.skipBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + if p.readTokenAsMetricName(); p.err != nil { + return nil // Unexpected end of input. + } + if p.currentByte == '\n' { + // At the end of the line already. + // Again, this is not considered a syntax error. + return p.startOfLine + } + if !isBlankOrTab(p.currentByte) { + p.parseError("invalid metric name in comment") + return nil + } + p.setOrCreateCurrentMF() + if p.skipBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + if p.currentByte == '\n' { + // At the end of the line already. + // Again, this is not considered a syntax error. + return p.startOfLine + } + switch keyword { + case "HELP": + return p.readingHelp + case "TYPE": + return p.readingType + } + panic(fmt.Sprintf("code error: unexpected keyword %q", keyword)) +} + +// readingMetricName represents the state where the last byte read (now in +// p.currentByte) is the first byte of a metric name. +func (p *TextParser) readingMetricName() stateFn { + if p.readTokenAsMetricName(); p.err != nil { + return nil + } + if p.currentToken.Len() == 0 { + p.parseError("invalid metric name") + return nil + } + p.setOrCreateCurrentMF() + // Now is the time to fix the type if it hasn't happened yet. + if p.currentMF.Type == nil { + p.currentMF.Type = dto.MetricType_UNTYPED.Enum() + } + p.currentMetric = &dto.Metric{} + // Do not append the newly created currentMetric to + // currentMF.Metric right now. First wait if this is a summary, + // and the metric exists already, which we can only know after + // having read all the labels. + if p.skipBlankTabIfCurrentBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + return p.readingLabels +} + +// readingLabels represents the state where the last byte read (now in +// p.currentByte) is either the first byte of the label set (i.e. a '{'), or the +// first byte of the value (otherwise). +func (p *TextParser) readingLabels() stateFn { + // Summaries/histograms are special. We have to reset the + // currentLabels map, currentQuantile and currentBucket before starting to + // read labels. + if p.currentMF.GetType() == dto.MetricType_SUMMARY || p.currentMF.GetType() == dto.MetricType_HISTOGRAM { + p.currentLabels = map[string]string{} + p.currentLabels[string(model.MetricNameLabel)] = p.currentMF.GetName() + p.currentQuantile = math.NaN() + p.currentBucket = math.NaN() + } + if p.currentByte != '{' { + return p.readingValue + } + return p.startLabelName +} + +// startLabelName represents the state where the next byte read from p.buf is +// the start of a label name (or whitespace leading up to it). +func (p *TextParser) startLabelName() stateFn { + if p.skipBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + if p.currentByte == '}' { + if p.skipBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + return p.readingValue + } + if p.readTokenAsLabelName(); p.err != nil { + return nil // Unexpected end of input. + } + if p.currentToken.Len() == 0 { + p.parseError(fmt.Sprintf("invalid label name for metric %q", p.currentMF.GetName())) + return nil + } + p.currentLabelPair = &dto.LabelPair{Name: proto.String(p.currentToken.String())} + if p.currentLabelPair.GetName() == string(model.MetricNameLabel) { + p.parseError(fmt.Sprintf("label name %q is reserved", model.MetricNameLabel)) + return nil + } + // Special summary/histogram treatment. Don't add 'quantile' and 'le' + // labels to 'real' labels. + if !(p.currentMF.GetType() == dto.MetricType_SUMMARY && p.currentLabelPair.GetName() == model.QuantileLabel) && + !(p.currentMF.GetType() == dto.MetricType_HISTOGRAM && p.currentLabelPair.GetName() == model.BucketLabel) { + p.currentMetric.Label = append(p.currentMetric.Label, p.currentLabelPair) + } + if p.skipBlankTabIfCurrentBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + if p.currentByte != '=' { + p.parseError(fmt.Sprintf("expected '=' after label name, found %q", p.currentByte)) + return nil + } + return p.startLabelValue +} + +// startLabelValue represents the state where the next byte read from p.buf is +// the start of a (quoted) label value (or whitespace leading up to it). +func (p *TextParser) startLabelValue() stateFn { + if p.skipBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + if p.currentByte != '"' { + p.parseError(fmt.Sprintf("expected '\"' at start of label value, found %q", p.currentByte)) + return nil + } + if p.readTokenAsLabelValue(); p.err != nil { + return nil + } + if !model.LabelValue(p.currentToken.String()).IsValid() { + p.parseError(fmt.Sprintf("invalid label value %q", p.currentToken.String())) + return nil + } + p.currentLabelPair.Value = proto.String(p.currentToken.String()) + // Special treatment of summaries: + // - Quantile labels are special, will result in dto.Quantile later. + // - Other labels have to be added to currentLabels for signature calculation. + if p.currentMF.GetType() == dto.MetricType_SUMMARY { + if p.currentLabelPair.GetName() == model.QuantileLabel { + if p.currentQuantile, p.err = parseFloat(p.currentLabelPair.GetValue()); p.err != nil { + // Create a more helpful error message. + p.parseError(fmt.Sprintf("expected float as value for 'quantile' label, got %q", p.currentLabelPair.GetValue())) + return nil + } + } else { + p.currentLabels[p.currentLabelPair.GetName()] = p.currentLabelPair.GetValue() + } + } + // Similar special treatment of histograms. + if p.currentMF.GetType() == dto.MetricType_HISTOGRAM { + if p.currentLabelPair.GetName() == model.BucketLabel { + if p.currentBucket, p.err = parseFloat(p.currentLabelPair.GetValue()); p.err != nil { + // Create a more helpful error message. + p.parseError(fmt.Sprintf("expected float as value for 'le' label, got %q", p.currentLabelPair.GetValue())) + return nil + } + } else { + p.currentLabels[p.currentLabelPair.GetName()] = p.currentLabelPair.GetValue() + } + } + if p.skipBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + switch p.currentByte { + case ',': + return p.startLabelName + + case '}': + if p.skipBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + return p.readingValue + default: + p.parseError(fmt.Sprintf("unexpected end of label value %q", p.currentLabelPair.GetValue())) + return nil + } +} + +// readingValue represents the state where the last byte read (now in +// p.currentByte) is the first byte of the sample value (i.e. a float). +func (p *TextParser) readingValue() stateFn { + // When we are here, we have read all the labels, so for the + // special case of a summary/histogram, we can finally find out + // if the metric already exists. + if p.currentMF.GetType() == dto.MetricType_SUMMARY { + signature := model.LabelsToSignature(p.currentLabels) + if summary := p.summaries[signature]; summary != nil { + p.currentMetric = summary + } else { + p.summaries[signature] = p.currentMetric + p.currentMF.Metric = append(p.currentMF.Metric, p.currentMetric) + } + } else if p.currentMF.GetType() == dto.MetricType_HISTOGRAM { + signature := model.LabelsToSignature(p.currentLabels) + if histogram := p.histograms[signature]; histogram != nil { + p.currentMetric = histogram + } else { + p.histograms[signature] = p.currentMetric + p.currentMF.Metric = append(p.currentMF.Metric, p.currentMetric) + } + } else { + p.currentMF.Metric = append(p.currentMF.Metric, p.currentMetric) + } + if p.readTokenUntilWhitespace(); p.err != nil { + return nil // Unexpected end of input. + } + value, err := parseFloat(p.currentToken.String()) + if err != nil { + // Create a more helpful error message. + p.parseError(fmt.Sprintf("expected float as value, got %q", p.currentToken.String())) + return nil + } + switch p.currentMF.GetType() { + case dto.MetricType_COUNTER: + p.currentMetric.Counter = &dto.Counter{Value: proto.Float64(value)} + case dto.MetricType_GAUGE: + p.currentMetric.Gauge = &dto.Gauge{Value: proto.Float64(value)} + case dto.MetricType_UNTYPED: + p.currentMetric.Untyped = &dto.Untyped{Value: proto.Float64(value)} + case dto.MetricType_SUMMARY: + // *sigh* + if p.currentMetric.Summary == nil { + p.currentMetric.Summary = &dto.Summary{} + } + switch { + case p.currentIsSummaryCount: + p.currentMetric.Summary.SampleCount = proto.Uint64(uint64(value)) + case p.currentIsSummarySum: + p.currentMetric.Summary.SampleSum = proto.Float64(value) + case !math.IsNaN(p.currentQuantile): + p.currentMetric.Summary.Quantile = append( + p.currentMetric.Summary.Quantile, + &dto.Quantile{ + Quantile: proto.Float64(p.currentQuantile), + Value: proto.Float64(value), + }, + ) + } + case dto.MetricType_HISTOGRAM: + // *sigh* + if p.currentMetric.Histogram == nil { + p.currentMetric.Histogram = &dto.Histogram{} + } + switch { + case p.currentIsHistogramCount: + p.currentMetric.Histogram.SampleCount = proto.Uint64(uint64(value)) + case p.currentIsHistogramSum: + p.currentMetric.Histogram.SampleSum = proto.Float64(value) + case !math.IsNaN(p.currentBucket): + p.currentMetric.Histogram.Bucket = append( + p.currentMetric.Histogram.Bucket, + &dto.Bucket{ + UpperBound: proto.Float64(p.currentBucket), + CumulativeCount: proto.Uint64(uint64(value)), + }, + ) + } + default: + p.err = fmt.Errorf("unexpected type for metric name %q", p.currentMF.GetName()) + } + if p.currentByte == '\n' { + return p.startOfLine + } + return p.startTimestamp +} + +// startTimestamp represents the state where the next byte read from p.buf is +// the start of the timestamp (or whitespace leading up to it). +func (p *TextParser) startTimestamp() stateFn { + if p.skipBlankTab(); p.err != nil { + return nil // Unexpected end of input. + } + if p.readTokenUntilWhitespace(); p.err != nil { + return nil // Unexpected end of input. + } + timestamp, err := strconv.ParseInt(p.currentToken.String(), 10, 64) + if err != nil { + // Create a more helpful error message. + p.parseError(fmt.Sprintf("expected integer as timestamp, got %q", p.currentToken.String())) + return nil + } + p.currentMetric.TimestampMs = proto.Int64(timestamp) + if p.readTokenUntilNewline(false); p.err != nil { + return nil // Unexpected end of input. + } + if p.currentToken.Len() > 0 { + p.parseError(fmt.Sprintf("spurious string after timestamp: %q", p.currentToken.String())) + return nil + } + return p.startOfLine +} + +// readingHelp represents the state where the last byte read (now in +// p.currentByte) is the first byte of the docstring after 'HELP'. +func (p *TextParser) readingHelp() stateFn { + if p.currentMF.Help != nil { + p.parseError(fmt.Sprintf("second HELP line for metric name %q", p.currentMF.GetName())) + return nil + } + // Rest of line is the docstring. + if p.readTokenUntilNewline(true); p.err != nil { + return nil // Unexpected end of input. + } + p.currentMF.Help = proto.String(p.currentToken.String()) + return p.startOfLine +} + +// readingType represents the state where the last byte read (now in +// p.currentByte) is the first byte of the type hint after 'HELP'. +func (p *TextParser) readingType() stateFn { + if p.currentMF.Type != nil { + p.parseError(fmt.Sprintf("second TYPE line for metric name %q, or TYPE reported after samples", p.currentMF.GetName())) + return nil + } + // Rest of line is the type. + if p.readTokenUntilNewline(false); p.err != nil { + return nil // Unexpected end of input. + } + metricType, ok := dto.MetricType_value[strings.ToUpper(p.currentToken.String())] + if !ok { + p.parseError(fmt.Sprintf("unknown metric type %q", p.currentToken.String())) + return nil + } + p.currentMF.Type = dto.MetricType(metricType).Enum() + return p.startOfLine +} + +// parseError sets p.err to a ParseError at the current line with the given +// message. +func (p *TextParser) parseError(msg string) { + p.err = ParseError{ + Line: p.lineCount, + Msg: msg, + } +} + +// skipBlankTab reads (and discards) bytes from p.buf until it encounters a byte +// that is neither ' ' nor '\t'. That byte is left in p.currentByte. +func (p *TextParser) skipBlankTab() { + for { + if p.currentByte, p.err = p.buf.ReadByte(); p.err != nil || !isBlankOrTab(p.currentByte) { + return + } + } +} + +// skipBlankTabIfCurrentBlankTab works exactly as skipBlankTab but doesn't do +// anything if p.currentByte is neither ' ' nor '\t'. +func (p *TextParser) skipBlankTabIfCurrentBlankTab() { + if isBlankOrTab(p.currentByte) { + p.skipBlankTab() + } +} + +// readTokenUntilWhitespace copies bytes from p.buf into p.currentToken. The +// first byte considered is the byte already read (now in p.currentByte). The +// first whitespace byte encountered is still copied into p.currentByte, but not +// into p.currentToken. +func (p *TextParser) readTokenUntilWhitespace() { + p.currentToken.Reset() + for p.err == nil && !isBlankOrTab(p.currentByte) && p.currentByte != '\n' { + p.currentToken.WriteByte(p.currentByte) + p.currentByte, p.err = p.buf.ReadByte() + } +} + +// readTokenUntilNewline copies bytes from p.buf into p.currentToken. The first +// byte considered is the byte already read (now in p.currentByte). The first +// newline byte encountered is still copied into p.currentByte, but not into +// p.currentToken. If recognizeEscapeSequence is true, two escape sequences are +// recognized: '\\' translates into '\', and '\n' into a line-feed character. +// All other escape sequences are invalid and cause an error. +func (p *TextParser) readTokenUntilNewline(recognizeEscapeSequence bool) { + p.currentToken.Reset() + escaped := false + for p.err == nil { + if recognizeEscapeSequence && escaped { + switch p.currentByte { + case '\\': + p.currentToken.WriteByte(p.currentByte) + case 'n': + p.currentToken.WriteByte('\n') + default: + p.parseError(fmt.Sprintf("invalid escape sequence '\\%c'", p.currentByte)) + return + } + escaped = false + } else { + switch p.currentByte { + case '\n': + return + case '\\': + escaped = true + default: + p.currentToken.WriteByte(p.currentByte) + } + } + p.currentByte, p.err = p.buf.ReadByte() + } +} + +// readTokenAsMetricName copies a metric name from p.buf into p.currentToken. +// The first byte considered is the byte already read (now in p.currentByte). +// The first byte not part of a metric name is still copied into p.currentByte, +// but not into p.currentToken. +func (p *TextParser) readTokenAsMetricName() { + p.currentToken.Reset() + if !isValidMetricNameStart(p.currentByte) { + return + } + for { + p.currentToken.WriteByte(p.currentByte) + p.currentByte, p.err = p.buf.ReadByte() + if p.err != nil || !isValidMetricNameContinuation(p.currentByte) { + return + } + } +} + +// readTokenAsLabelName copies a label name from p.buf into p.currentToken. +// The first byte considered is the byte already read (now in p.currentByte). +// The first byte not part of a label name is still copied into p.currentByte, +// but not into p.currentToken. +func (p *TextParser) readTokenAsLabelName() { + p.currentToken.Reset() + if !isValidLabelNameStart(p.currentByte) { + return + } + for { + p.currentToken.WriteByte(p.currentByte) + p.currentByte, p.err = p.buf.ReadByte() + if p.err != nil || !isValidLabelNameContinuation(p.currentByte) { + return + } + } +} + +// readTokenAsLabelValue copies a label value from p.buf into p.currentToken. +// In contrast to the other 'readTokenAs...' functions, which start with the +// last read byte in p.currentByte, this method ignores p.currentByte and starts +// with reading a new byte from p.buf. The first byte not part of a label value +// is still copied into p.currentByte, but not into p.currentToken. +func (p *TextParser) readTokenAsLabelValue() { + p.currentToken.Reset() + escaped := false + for { + if p.currentByte, p.err = p.buf.ReadByte(); p.err != nil { + return + } + if escaped { + switch p.currentByte { + case '"', '\\': + p.currentToken.WriteByte(p.currentByte) + case 'n': + p.currentToken.WriteByte('\n') + default: + p.parseError(fmt.Sprintf("invalid escape sequence '\\%c'", p.currentByte)) + return + } + escaped = false + continue + } + switch p.currentByte { + case '"': + return + case '\n': + p.parseError(fmt.Sprintf("label value %q contains unescaped new-line", p.currentToken.String())) + return + case '\\': + escaped = true + default: + p.currentToken.WriteByte(p.currentByte) + } + } +} + +func (p *TextParser) setOrCreateCurrentMF() { + p.currentIsSummaryCount = false + p.currentIsSummarySum = false + p.currentIsHistogramCount = false + p.currentIsHistogramSum = false + name := p.currentToken.String() + if p.currentMF = p.metricFamiliesByName[name]; p.currentMF != nil { + return + } + // Try out if this is a _sum or _count for a summary/histogram. + summaryName := summaryMetricName(name) + if p.currentMF = p.metricFamiliesByName[summaryName]; p.currentMF != nil { + if p.currentMF.GetType() == dto.MetricType_SUMMARY { + if isCount(name) { + p.currentIsSummaryCount = true + } + if isSum(name) { + p.currentIsSummarySum = true + } + return + } + } + histogramName := histogramMetricName(name) + if p.currentMF = p.metricFamiliesByName[histogramName]; p.currentMF != nil { + if p.currentMF.GetType() == dto.MetricType_HISTOGRAM { + if isCount(name) { + p.currentIsHistogramCount = true + } + if isSum(name) { + p.currentIsHistogramSum = true + } + return + } + } + p.currentMF = &dto.MetricFamily{Name: proto.String(name)} + p.metricFamiliesByName[name] = p.currentMF +} + +func isValidLabelNameStart(b byte) bool { + return (b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || b == '_' +} + +func isValidLabelNameContinuation(b byte) bool { + return isValidLabelNameStart(b) || (b >= '0' && b <= '9') +} + +func isValidMetricNameStart(b byte) bool { + return isValidLabelNameStart(b) || b == ':' +} + +func isValidMetricNameContinuation(b byte) bool { + return isValidLabelNameContinuation(b) || b == ':' +} + +func isBlankOrTab(b byte) bool { + return b == ' ' || b == '\t' +} + +func isCount(name string) bool { + return len(name) > 6 && name[len(name)-6:] == "_count" +} + +func isSum(name string) bool { + return len(name) > 4 && name[len(name)-4:] == "_sum" +} + +func isBucket(name string) bool { + return len(name) > 7 && name[len(name)-7:] == "_bucket" +} + +func summaryMetricName(name string) string { + switch { + case isCount(name): + return name[:len(name)-6] + case isSum(name): + return name[:len(name)-4] + default: + return name + } +} + +func histogramMetricName(name string) string { + switch { + case isCount(name): + return name[:len(name)-6] + case isSum(name): + return name[:len(name)-4] + case isBucket(name): + return name[:len(name)-7] + default: + return name + } +} + +func parseFloat(s string) (float64, error) { + if strings.ContainsAny(s, "pP_") { + return 0, fmt.Errorf("unsupported character in float") + } + return strconv.ParseFloat(s, 64) +} diff --git a/vendor/github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg/README.txt b/vendor/github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg/README.txt new file mode 100644 index 00000000..7723656d --- /dev/null +++ b/vendor/github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg/README.txt @@ -0,0 +1,67 @@ +PACKAGE + +package goautoneg +import "bitbucket.org/ww/goautoneg" + +HTTP Content-Type Autonegotiation. + +The functions in this package implement the behaviour specified in +http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html + +Copyright (c) 2011, Open Knowledge Foundation Ltd. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + Neither the name of the Open Knowledge Foundation Ltd. nor the + names of its contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +FUNCTIONS + +func Negotiate(header string, alternatives []string) (content_type string) +Negotiate the most appropriate content_type given the accept header +and a list of alternatives. + +func ParseAccept(header string) (accept []Accept) +Parse an Accept Header string returning a sorted list +of clauses + + +TYPES + +type Accept struct { + Type, SubType string + Q float32 + Params map[string]string +} +Structure to represent a clause in an HTTP Accept Header + + +SUBDIRECTORIES + + .hg diff --git a/vendor/github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg/autoneg.go b/vendor/github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg/autoneg.go new file mode 100644 index 00000000..26e92288 --- /dev/null +++ b/vendor/github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg/autoneg.go @@ -0,0 +1,162 @@ +/* +Copyright (c) 2011, Open Knowledge Foundation Ltd. +All rights reserved. + +HTTP Content-Type Autonegotiation. + +The functions in this package implement the behaviour specified in +http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + Neither the name of the Open Knowledge Foundation Ltd. nor the + names of its contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ +package goautoneg + +import ( + "sort" + "strconv" + "strings" +) + +// Structure to represent a clause in an HTTP Accept Header +type Accept struct { + Type, SubType string + Q float64 + Params map[string]string +} + +// For internal use, so that we can use the sort interface +type accept_slice []Accept + +func (accept accept_slice) Len() int { + slice := []Accept(accept) + return len(slice) +} + +func (accept accept_slice) Less(i, j int) bool { + slice := []Accept(accept) + ai, aj := slice[i], slice[j] + if ai.Q > aj.Q { + return true + } + if ai.Type != "*" && aj.Type == "*" { + return true + } + if ai.SubType != "*" && aj.SubType == "*" { + return true + } + return false +} + +func (accept accept_slice) Swap(i, j int) { + slice := []Accept(accept) + slice[i], slice[j] = slice[j], slice[i] +} + +// Parse an Accept Header string returning a sorted list +// of clauses +func ParseAccept(header string) (accept []Accept) { + parts := strings.Split(header, ",") + accept = make([]Accept, 0, len(parts)) + for _, part := range parts { + part := strings.Trim(part, " ") + + a := Accept{} + a.Params = make(map[string]string) + a.Q = 1.0 + + mrp := strings.Split(part, ";") + + media_range := mrp[0] + sp := strings.Split(media_range, "/") + a.Type = strings.Trim(sp[0], " ") + + switch { + case len(sp) == 1 && a.Type == "*": + a.SubType = "*" + case len(sp) == 2: + a.SubType = strings.Trim(sp[1], " ") + default: + continue + } + + if len(mrp) == 1 { + accept = append(accept, a) + continue + } + + for _, param := range mrp[1:] { + sp := strings.SplitN(param, "=", 2) + if len(sp) != 2 { + continue + } + token := strings.Trim(sp[0], " ") + if token == "q" { + a.Q, _ = strconv.ParseFloat(sp[1], 32) + } else { + a.Params[token] = strings.Trim(sp[1], " ") + } + } + + accept = append(accept, a) + } + + slice := accept_slice(accept) + sort.Sort(slice) + + return +} + +// Negotiate the most appropriate content_type given the accept header +// and a list of alternatives. +func Negotiate(header string, alternatives []string) (content_type string) { + asp := make([][]string, 0, len(alternatives)) + for _, ctype := range alternatives { + asp = append(asp, strings.SplitN(ctype, "/", 2)) + } + for _, clause := range ParseAccept(header) { + for i, ctsp := range asp { + if clause.Type == ctsp[0] && clause.SubType == ctsp[1] { + content_type = alternatives[i] + return + } + if clause.Type == ctsp[0] && clause.SubType == "*" { + content_type = alternatives[i] + return + } + if clause.Type == "*" && clause.SubType == "*" { + content_type = alternatives[i] + return + } + } + } + return +} diff --git a/vendor/github.com/prometheus/common/model/alert.go b/vendor/github.com/prometheus/common/model/alert.go new file mode 100644 index 00000000..35e739c7 --- /dev/null +++ b/vendor/github.com/prometheus/common/model/alert.go @@ -0,0 +1,136 @@ +// Copyright 2013 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "fmt" + "time" +) + +type AlertStatus string + +const ( + AlertFiring AlertStatus = "firing" + AlertResolved AlertStatus = "resolved" +) + +// Alert is a generic representation of an alert in the Prometheus eco-system. +type Alert struct { + // Label value pairs for purpose of aggregation, matching, and disposition + // dispatching. This must minimally include an "alertname" label. + Labels LabelSet `json:"labels"` + + // Extra key/value information which does not define alert identity. + Annotations LabelSet `json:"annotations"` + + // The known time range for this alert. Both ends are optional. + StartsAt time.Time `json:"startsAt,omitempty"` + EndsAt time.Time `json:"endsAt,omitempty"` + GeneratorURL string `json:"generatorURL"` +} + +// Name returns the name of the alert. It is equivalent to the "alertname" label. +func (a *Alert) Name() string { + return string(a.Labels[AlertNameLabel]) +} + +// Fingerprint returns a unique hash for the alert. It is equivalent to +// the fingerprint of the alert's label set. +func (a *Alert) Fingerprint() Fingerprint { + return a.Labels.Fingerprint() +} + +func (a *Alert) String() string { + s := fmt.Sprintf("%s[%s]", a.Name(), a.Fingerprint().String()[:7]) + if a.Resolved() { + return s + "[resolved]" + } + return s + "[active]" +} + +// Resolved returns true iff the activity interval ended in the past. +func (a *Alert) Resolved() bool { + return a.ResolvedAt(time.Now()) +} + +// ResolvedAt returns true off the activity interval ended before +// the given timestamp. +func (a *Alert) ResolvedAt(ts time.Time) bool { + if a.EndsAt.IsZero() { + return false + } + return !a.EndsAt.After(ts) +} + +// Status returns the status of the alert. +func (a *Alert) Status() AlertStatus { + if a.Resolved() { + return AlertResolved + } + return AlertFiring +} + +// Validate checks whether the alert data is inconsistent. +func (a *Alert) Validate() error { + if a.StartsAt.IsZero() { + return fmt.Errorf("start time missing") + } + if !a.EndsAt.IsZero() && a.EndsAt.Before(a.StartsAt) { + return fmt.Errorf("start time must be before end time") + } + if err := a.Labels.Validate(); err != nil { + return fmt.Errorf("invalid label set: %s", err) + } + if len(a.Labels) == 0 { + return fmt.Errorf("at least one label pair required") + } + if err := a.Annotations.Validate(); err != nil { + return fmt.Errorf("invalid annotations: %s", err) + } + return nil +} + +// Alert is a list of alerts that can be sorted in chronological order. +type Alerts []*Alert + +func (as Alerts) Len() int { return len(as) } +func (as Alerts) Swap(i, j int) { as[i], as[j] = as[j], as[i] } + +func (as Alerts) Less(i, j int) bool { + if as[i].StartsAt.Before(as[j].StartsAt) { + return true + } + if as[i].EndsAt.Before(as[j].EndsAt) { + return true + } + return as[i].Fingerprint() < as[j].Fingerprint() +} + +// HasFiring returns true iff one of the alerts is not resolved. +func (as Alerts) HasFiring() bool { + for _, a := range as { + if !a.Resolved() { + return true + } + } + return false +} + +// Status returns StatusFiring iff at least one of the alerts is firing. +func (as Alerts) Status() AlertStatus { + if as.HasFiring() { + return AlertFiring + } + return AlertResolved +} diff --git a/vendor/github.com/prometheus/common/model/fingerprinting.go b/vendor/github.com/prometheus/common/model/fingerprinting.go new file mode 100644 index 00000000..fc4de410 --- /dev/null +++ b/vendor/github.com/prometheus/common/model/fingerprinting.go @@ -0,0 +1,105 @@ +// Copyright 2013 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "fmt" + "strconv" +) + +// Fingerprint provides a hash-capable representation of a Metric. +// For our purposes, FNV-1A 64-bit is used. +type Fingerprint uint64 + +// FingerprintFromString transforms a string representation into a Fingerprint. +func FingerprintFromString(s string) (Fingerprint, error) { + num, err := strconv.ParseUint(s, 16, 64) + return Fingerprint(num), err +} + +// ParseFingerprint parses the input string into a fingerprint. +func ParseFingerprint(s string) (Fingerprint, error) { + num, err := strconv.ParseUint(s, 16, 64) + if err != nil { + return 0, err + } + return Fingerprint(num), nil +} + +func (f Fingerprint) String() string { + return fmt.Sprintf("%016x", uint64(f)) +} + +// Fingerprints represents a collection of Fingerprint subject to a given +// natural sorting scheme. It implements sort.Interface. +type Fingerprints []Fingerprint + +// Len implements sort.Interface. +func (f Fingerprints) Len() int { + return len(f) +} + +// Less implements sort.Interface. +func (f Fingerprints) Less(i, j int) bool { + return f[i] < f[j] +} + +// Swap implements sort.Interface. +func (f Fingerprints) Swap(i, j int) { + f[i], f[j] = f[j], f[i] +} + +// FingerprintSet is a set of Fingerprints. +type FingerprintSet map[Fingerprint]struct{} + +// Equal returns true if both sets contain the same elements (and not more). +func (s FingerprintSet) Equal(o FingerprintSet) bool { + if len(s) != len(o) { + return false + } + + for k := range s { + if _, ok := o[k]; !ok { + return false + } + } + + return true +} + +// Intersection returns the elements contained in both sets. +func (s FingerprintSet) Intersection(o FingerprintSet) FingerprintSet { + myLength, otherLength := len(s), len(o) + if myLength == 0 || otherLength == 0 { + return FingerprintSet{} + } + + subSet := s + superSet := o + + if otherLength < myLength { + subSet = o + superSet = s + } + + out := FingerprintSet{} + + for k := range subSet { + if _, ok := superSet[k]; ok { + out[k] = struct{}{} + } + } + + return out +} diff --git a/vendor/github.com/prometheus/common/model/fnv.go b/vendor/github.com/prometheus/common/model/fnv.go new file mode 100644 index 00000000..038fc1c9 --- /dev/null +++ b/vendor/github.com/prometheus/common/model/fnv.go @@ -0,0 +1,42 @@ +// Copyright 2015 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +// Inline and byte-free variant of hash/fnv's fnv64a. + +const ( + offset64 = 14695981039346656037 + prime64 = 1099511628211 +) + +// hashNew initializies a new fnv64a hash value. +func hashNew() uint64 { + return offset64 +} + +// hashAdd adds a string to a fnv64a hash value, returning the updated hash. +func hashAdd(h uint64, s string) uint64 { + for i := 0; i < len(s); i++ { + h ^= uint64(s[i]) + h *= prime64 + } + return h +} + +// hashAddByte adds a byte to a fnv64a hash value, returning the updated hash. +func hashAddByte(h uint64, b byte) uint64 { + h ^= uint64(b) + h *= prime64 + return h +} diff --git a/vendor/github.com/prometheus/common/model/labels.go b/vendor/github.com/prometheus/common/model/labels.go new file mode 100644 index 00000000..41051a01 --- /dev/null +++ b/vendor/github.com/prometheus/common/model/labels.go @@ -0,0 +1,210 @@ +// Copyright 2013 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "encoding/json" + "fmt" + "regexp" + "strings" + "unicode/utf8" +) + +const ( + // AlertNameLabel is the name of the label containing the an alert's name. + AlertNameLabel = "alertname" + + // ExportedLabelPrefix is the prefix to prepend to the label names present in + // exported metrics if a label of the same name is added by the server. + ExportedLabelPrefix = "exported_" + + // MetricNameLabel is the label name indicating the metric name of a + // timeseries. + MetricNameLabel = "__name__" + + // SchemeLabel is the name of the label that holds the scheme on which to + // scrape a target. + SchemeLabel = "__scheme__" + + // AddressLabel is the name of the label that holds the address of + // a scrape target. + AddressLabel = "__address__" + + // MetricsPathLabel is the name of the label that holds the path on which to + // scrape a target. + MetricsPathLabel = "__metrics_path__" + + // ReservedLabelPrefix is a prefix which is not legal in user-supplied + // label names. + ReservedLabelPrefix = "__" + + // MetaLabelPrefix is a prefix for labels that provide meta information. + // Labels with this prefix are used for intermediate label processing and + // will not be attached to time series. + MetaLabelPrefix = "__meta_" + + // TmpLabelPrefix is a prefix for temporary labels as part of relabelling. + // Labels with this prefix are used for intermediate label processing and + // will not be attached to time series. This is reserved for use in + // Prometheus configuration files by users. + TmpLabelPrefix = "__tmp_" + + // ParamLabelPrefix is a prefix for labels that provide URL parameters + // used to scrape a target. + ParamLabelPrefix = "__param_" + + // JobLabel is the label name indicating the job from which a timeseries + // was scraped. + JobLabel = "job" + + // InstanceLabel is the label name used for the instance label. + InstanceLabel = "instance" + + // BucketLabel is used for the label that defines the upper bound of a + // bucket of a histogram ("le" -> "less or equal"). + BucketLabel = "le" + + // QuantileLabel is used for the label that defines the quantile in a + // summary. + QuantileLabel = "quantile" +) + +// LabelNameRE is a regular expression matching valid label names. Note that the +// IsValid method of LabelName performs the same check but faster than a match +// with this regular expression. +var LabelNameRE = regexp.MustCompile("^[a-zA-Z_][a-zA-Z0-9_]*$") + +// A LabelName is a key for a LabelSet or Metric. It has a value associated +// therewith. +type LabelName string + +// IsValid is true iff the label name matches the pattern of LabelNameRE. This +// method, however, does not use LabelNameRE for the check but a much faster +// hardcoded implementation. +func (ln LabelName) IsValid() bool { + if len(ln) == 0 { + return false + } + for i, b := range ln { + if !((b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || b == '_' || (b >= '0' && b <= '9' && i > 0)) { + return false + } + } + return true +} + +// UnmarshalYAML implements the yaml.Unmarshaler interface. +func (ln *LabelName) UnmarshalYAML(unmarshal func(interface{}) error) error { + var s string + if err := unmarshal(&s); err != nil { + return err + } + if !LabelName(s).IsValid() { + return fmt.Errorf("%q is not a valid label name", s) + } + *ln = LabelName(s) + return nil +} + +// UnmarshalJSON implements the json.Unmarshaler interface. +func (ln *LabelName) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + if !LabelName(s).IsValid() { + return fmt.Errorf("%q is not a valid label name", s) + } + *ln = LabelName(s) + return nil +} + +// LabelNames is a sortable LabelName slice. In implements sort.Interface. +type LabelNames []LabelName + +func (l LabelNames) Len() int { + return len(l) +} + +func (l LabelNames) Less(i, j int) bool { + return l[i] < l[j] +} + +func (l LabelNames) Swap(i, j int) { + l[i], l[j] = l[j], l[i] +} + +func (l LabelNames) String() string { + labelStrings := make([]string, 0, len(l)) + for _, label := range l { + labelStrings = append(labelStrings, string(label)) + } + return strings.Join(labelStrings, ", ") +} + +// A LabelValue is an associated value for a LabelName. +type LabelValue string + +// IsValid returns true iff the string is a valid UTF8. +func (lv LabelValue) IsValid() bool { + return utf8.ValidString(string(lv)) +} + +// LabelValues is a sortable LabelValue slice. It implements sort.Interface. +type LabelValues []LabelValue + +func (l LabelValues) Len() int { + return len(l) +} + +func (l LabelValues) Less(i, j int) bool { + return string(l[i]) < string(l[j]) +} + +func (l LabelValues) Swap(i, j int) { + l[i], l[j] = l[j], l[i] +} + +// LabelPair pairs a name with a value. +type LabelPair struct { + Name LabelName + Value LabelValue +} + +// LabelPairs is a sortable slice of LabelPair pointers. It implements +// sort.Interface. +type LabelPairs []*LabelPair + +func (l LabelPairs) Len() int { + return len(l) +} + +func (l LabelPairs) Less(i, j int) bool { + switch { + case l[i].Name > l[j].Name: + return false + case l[i].Name < l[j].Name: + return true + case l[i].Value > l[j].Value: + return false + case l[i].Value < l[j].Value: + return true + default: + return false + } +} + +func (l LabelPairs) Swap(i, j int) { + l[i], l[j] = l[j], l[i] +} diff --git a/vendor/github.com/prometheus/common/model/labelset.go b/vendor/github.com/prometheus/common/model/labelset.go new file mode 100644 index 00000000..6eda08a7 --- /dev/null +++ b/vendor/github.com/prometheus/common/model/labelset.go @@ -0,0 +1,169 @@ +// Copyright 2013 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "encoding/json" + "fmt" + "sort" + "strings" +) + +// A LabelSet is a collection of LabelName and LabelValue pairs. The LabelSet +// may be fully-qualified down to the point where it may resolve to a single +// Metric in the data store or not. All operations that occur within the realm +// of a LabelSet can emit a vector of Metric entities to which the LabelSet may +// match. +type LabelSet map[LabelName]LabelValue + +// Validate checks whether all names and values in the label set +// are valid. +func (ls LabelSet) Validate() error { + for ln, lv := range ls { + if !ln.IsValid() { + return fmt.Errorf("invalid name %q", ln) + } + if !lv.IsValid() { + return fmt.Errorf("invalid value %q", lv) + } + } + return nil +} + +// Equal returns true iff both label sets have exactly the same key/value pairs. +func (ls LabelSet) Equal(o LabelSet) bool { + if len(ls) != len(o) { + return false + } + for ln, lv := range ls { + olv, ok := o[ln] + if !ok { + return false + } + if olv != lv { + return false + } + } + return true +} + +// Before compares the metrics, using the following criteria: +// +// If m has fewer labels than o, it is before o. If it has more, it is not. +// +// If the number of labels is the same, the superset of all label names is +// sorted alphanumerically. The first differing label pair found in that order +// determines the outcome: If the label does not exist at all in m, then m is +// before o, and vice versa. Otherwise the label value is compared +// alphanumerically. +// +// If m and o are equal, the method returns false. +func (ls LabelSet) Before(o LabelSet) bool { + if len(ls) < len(o) { + return true + } + if len(ls) > len(o) { + return false + } + + lns := make(LabelNames, 0, len(ls)+len(o)) + for ln := range ls { + lns = append(lns, ln) + } + for ln := range o { + lns = append(lns, ln) + } + // It's probably not worth it to de-dup lns. + sort.Sort(lns) + for _, ln := range lns { + mlv, ok := ls[ln] + if !ok { + return true + } + olv, ok := o[ln] + if !ok { + return false + } + if mlv < olv { + return true + } + if mlv > olv { + return false + } + } + return false +} + +// Clone returns a copy of the label set. +func (ls LabelSet) Clone() LabelSet { + lsn := make(LabelSet, len(ls)) + for ln, lv := range ls { + lsn[ln] = lv + } + return lsn +} + +// Merge is a helper function to non-destructively merge two label sets. +func (l LabelSet) Merge(other LabelSet) LabelSet { + result := make(LabelSet, len(l)) + + for k, v := range l { + result[k] = v + } + + for k, v := range other { + result[k] = v + } + + return result +} + +func (l LabelSet) String() string { + lstrs := make([]string, 0, len(l)) + for l, v := range l { + lstrs = append(lstrs, fmt.Sprintf("%s=%q", l, v)) + } + + sort.Strings(lstrs) + return fmt.Sprintf("{%s}", strings.Join(lstrs, ", ")) +} + +// Fingerprint returns the LabelSet's fingerprint. +func (ls LabelSet) Fingerprint() Fingerprint { + return labelSetToFingerprint(ls) +} + +// FastFingerprint returns the LabelSet's Fingerprint calculated by a faster hashing +// algorithm, which is, however, more susceptible to hash collisions. +func (ls LabelSet) FastFingerprint() Fingerprint { + return labelSetToFastFingerprint(ls) +} + +// UnmarshalJSON implements the json.Unmarshaler interface. +func (l *LabelSet) UnmarshalJSON(b []byte) error { + var m map[LabelName]LabelValue + if err := json.Unmarshal(b, &m); err != nil { + return err + } + // encoding/json only unmarshals maps of the form map[string]T. It treats + // LabelName as a string and does not call its UnmarshalJSON method. + // Thus, we have to replicate the behavior here. + for ln := range m { + if !ln.IsValid() { + return fmt.Errorf("%q is not a valid label name", ln) + } + } + *l = LabelSet(m) + return nil +} diff --git a/vendor/github.com/prometheus/common/model/metric.go b/vendor/github.com/prometheus/common/model/metric.go new file mode 100644 index 00000000..00804b7f --- /dev/null +++ b/vendor/github.com/prometheus/common/model/metric.go @@ -0,0 +1,102 @@ +// Copyright 2013 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "fmt" + "regexp" + "sort" + "strings" +) + +var ( + // MetricNameRE is a regular expression matching valid metric + // names. Note that the IsValidMetricName function performs the same + // check but faster than a match with this regular expression. + MetricNameRE = regexp.MustCompile(`^[a-zA-Z_:][a-zA-Z0-9_:]*$`) +) + +// A Metric is similar to a LabelSet, but the key difference is that a Metric is +// a singleton and refers to one and only one stream of samples. +type Metric LabelSet + +// Equal compares the metrics. +func (m Metric) Equal(o Metric) bool { + return LabelSet(m).Equal(LabelSet(o)) +} + +// Before compares the metrics' underlying label sets. +func (m Metric) Before(o Metric) bool { + return LabelSet(m).Before(LabelSet(o)) +} + +// Clone returns a copy of the Metric. +func (m Metric) Clone() Metric { + clone := make(Metric, len(m)) + for k, v := range m { + clone[k] = v + } + return clone +} + +func (m Metric) String() string { + metricName, hasName := m[MetricNameLabel] + numLabels := len(m) - 1 + if !hasName { + numLabels = len(m) + } + labelStrings := make([]string, 0, numLabels) + for label, value := range m { + if label != MetricNameLabel { + labelStrings = append(labelStrings, fmt.Sprintf("%s=%q", label, value)) + } + } + + switch numLabels { + case 0: + if hasName { + return string(metricName) + } + return "{}" + default: + sort.Strings(labelStrings) + return fmt.Sprintf("%s{%s}", metricName, strings.Join(labelStrings, ", ")) + } +} + +// Fingerprint returns a Metric's Fingerprint. +func (m Metric) Fingerprint() Fingerprint { + return LabelSet(m).Fingerprint() +} + +// FastFingerprint returns a Metric's Fingerprint calculated by a faster hashing +// algorithm, which is, however, more susceptible to hash collisions. +func (m Metric) FastFingerprint() Fingerprint { + return LabelSet(m).FastFingerprint() +} + +// IsValidMetricName returns true iff name matches the pattern of MetricNameRE. +// This function, however, does not use MetricNameRE for the check but a much +// faster hardcoded implementation. +func IsValidMetricName(n LabelValue) bool { + if len(n) == 0 { + return false + } + for i, b := range n { + if !((b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || b == '_' || b == ':' || (b >= '0' && b <= '9' && i > 0)) { + return false + } + } + return true +} diff --git a/vendor/github.com/prometheus/common/model/model.go b/vendor/github.com/prometheus/common/model/model.go new file mode 100644 index 00000000..a7b96917 --- /dev/null +++ b/vendor/github.com/prometheus/common/model/model.go @@ -0,0 +1,16 @@ +// Copyright 2013 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package model contains common data structures that are shared across +// Prometheus components and libraries. +package model diff --git a/vendor/github.com/prometheus/common/model/signature.go b/vendor/github.com/prometheus/common/model/signature.go new file mode 100644 index 00000000..8762b13c --- /dev/null +++ b/vendor/github.com/prometheus/common/model/signature.go @@ -0,0 +1,144 @@ +// Copyright 2014 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "sort" +) + +// SeparatorByte is a byte that cannot occur in valid UTF-8 sequences and is +// used to separate label names, label values, and other strings from each other +// when calculating their combined hash value (aka signature aka fingerprint). +const SeparatorByte byte = 255 + +var ( + // cache the signature of an empty label set. + emptyLabelSignature = hashNew() +) + +// LabelsToSignature returns a quasi-unique signature (i.e., fingerprint) for a +// given label set. (Collisions are possible but unlikely if the number of label +// sets the function is applied to is small.) +func LabelsToSignature(labels map[string]string) uint64 { + if len(labels) == 0 { + return emptyLabelSignature + } + + labelNames := make([]string, 0, len(labels)) + for labelName := range labels { + labelNames = append(labelNames, labelName) + } + sort.Strings(labelNames) + + sum := hashNew() + for _, labelName := range labelNames { + sum = hashAdd(sum, labelName) + sum = hashAddByte(sum, SeparatorByte) + sum = hashAdd(sum, labels[labelName]) + sum = hashAddByte(sum, SeparatorByte) + } + return sum +} + +// labelSetToFingerprint works exactly as LabelsToSignature but takes a LabelSet as +// parameter (rather than a label map) and returns a Fingerprint. +func labelSetToFingerprint(ls LabelSet) Fingerprint { + if len(ls) == 0 { + return Fingerprint(emptyLabelSignature) + } + + labelNames := make(LabelNames, 0, len(ls)) + for labelName := range ls { + labelNames = append(labelNames, labelName) + } + sort.Sort(labelNames) + + sum := hashNew() + for _, labelName := range labelNames { + sum = hashAdd(sum, string(labelName)) + sum = hashAddByte(sum, SeparatorByte) + sum = hashAdd(sum, string(ls[labelName])) + sum = hashAddByte(sum, SeparatorByte) + } + return Fingerprint(sum) +} + +// labelSetToFastFingerprint works similar to labelSetToFingerprint but uses a +// faster and less allocation-heavy hash function, which is more susceptible to +// create hash collisions. Therefore, collision detection should be applied. +func labelSetToFastFingerprint(ls LabelSet) Fingerprint { + if len(ls) == 0 { + return Fingerprint(emptyLabelSignature) + } + + var result uint64 + for labelName, labelValue := range ls { + sum := hashNew() + sum = hashAdd(sum, string(labelName)) + sum = hashAddByte(sum, SeparatorByte) + sum = hashAdd(sum, string(labelValue)) + result ^= sum + } + return Fingerprint(result) +} + +// SignatureForLabels works like LabelsToSignature but takes a Metric as +// parameter (rather than a label map) and only includes the labels with the +// specified LabelNames into the signature calculation. The labels passed in +// will be sorted by this function. +func SignatureForLabels(m Metric, labels ...LabelName) uint64 { + if len(labels) == 0 { + return emptyLabelSignature + } + + sort.Sort(LabelNames(labels)) + + sum := hashNew() + for _, label := range labels { + sum = hashAdd(sum, string(label)) + sum = hashAddByte(sum, SeparatorByte) + sum = hashAdd(sum, string(m[label])) + sum = hashAddByte(sum, SeparatorByte) + } + return sum +} + +// SignatureWithoutLabels works like LabelsToSignature but takes a Metric as +// parameter (rather than a label map) and excludes the labels with any of the +// specified LabelNames from the signature calculation. +func SignatureWithoutLabels(m Metric, labels map[LabelName]struct{}) uint64 { + if len(m) == 0 { + return emptyLabelSignature + } + + labelNames := make(LabelNames, 0, len(m)) + for labelName := range m { + if _, exclude := labels[labelName]; !exclude { + labelNames = append(labelNames, labelName) + } + } + if len(labelNames) == 0 { + return emptyLabelSignature + } + sort.Sort(labelNames) + + sum := hashNew() + for _, labelName := range labelNames { + sum = hashAdd(sum, string(labelName)) + sum = hashAddByte(sum, SeparatorByte) + sum = hashAdd(sum, string(m[labelName])) + sum = hashAddByte(sum, SeparatorByte) + } + return sum +} diff --git a/vendor/github.com/prometheus/common/model/silence.go b/vendor/github.com/prometheus/common/model/silence.go new file mode 100644 index 00000000..bb99889d --- /dev/null +++ b/vendor/github.com/prometheus/common/model/silence.go @@ -0,0 +1,106 @@ +// Copyright 2015 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "encoding/json" + "fmt" + "regexp" + "time" +) + +// Matcher describes a matches the value of a given label. +type Matcher struct { + Name LabelName `json:"name"` + Value string `json:"value"` + IsRegex bool `json:"isRegex"` +} + +func (m *Matcher) UnmarshalJSON(b []byte) error { + type plain Matcher + if err := json.Unmarshal(b, (*plain)(m)); err != nil { + return err + } + + if len(m.Name) == 0 { + return fmt.Errorf("label name in matcher must not be empty") + } + if m.IsRegex { + if _, err := regexp.Compile(m.Value); err != nil { + return err + } + } + return nil +} + +// Validate returns true iff all fields of the matcher have valid values. +func (m *Matcher) Validate() error { + if !m.Name.IsValid() { + return fmt.Errorf("invalid name %q", m.Name) + } + if m.IsRegex { + if _, err := regexp.Compile(m.Value); err != nil { + return fmt.Errorf("invalid regular expression %q", m.Value) + } + } else if !LabelValue(m.Value).IsValid() || len(m.Value) == 0 { + return fmt.Errorf("invalid value %q", m.Value) + } + return nil +} + +// Silence defines the representation of a silence definition in the Prometheus +// eco-system. +type Silence struct { + ID uint64 `json:"id,omitempty"` + + Matchers []*Matcher `json:"matchers"` + + StartsAt time.Time `json:"startsAt"` + EndsAt time.Time `json:"endsAt"` + + CreatedAt time.Time `json:"createdAt,omitempty"` + CreatedBy string `json:"createdBy"` + Comment string `json:"comment,omitempty"` +} + +// Validate returns true iff all fields of the silence have valid values. +func (s *Silence) Validate() error { + if len(s.Matchers) == 0 { + return fmt.Errorf("at least one matcher required") + } + for _, m := range s.Matchers { + if err := m.Validate(); err != nil { + return fmt.Errorf("invalid matcher: %s", err) + } + } + if s.StartsAt.IsZero() { + return fmt.Errorf("start time missing") + } + if s.EndsAt.IsZero() { + return fmt.Errorf("end time missing") + } + if s.EndsAt.Before(s.StartsAt) { + return fmt.Errorf("start time must be before end time") + } + if s.CreatedBy == "" { + return fmt.Errorf("creator information missing") + } + if s.Comment == "" { + return fmt.Errorf("comment missing") + } + if s.CreatedAt.IsZero() { + return fmt.Errorf("creation timestamp missing") + } + return nil +} diff --git a/vendor/github.com/prometheus/common/model/time.go b/vendor/github.com/prometheus/common/model/time.go new file mode 100644 index 00000000..7b0064fd --- /dev/null +++ b/vendor/github.com/prometheus/common/model/time.go @@ -0,0 +1,270 @@ +// Copyright 2013 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "fmt" + "math" + "regexp" + "strconv" + "strings" + "time" +) + +const ( + // MinimumTick is the minimum supported time resolution. This has to be + // at least time.Second in order for the code below to work. + minimumTick = time.Millisecond + // second is the Time duration equivalent to one second. + second = int64(time.Second / minimumTick) + // The number of nanoseconds per minimum tick. + nanosPerTick = int64(minimumTick / time.Nanosecond) + + // Earliest is the earliest Time representable. Handy for + // initializing a high watermark. + Earliest = Time(math.MinInt64) + // Latest is the latest Time representable. Handy for initializing + // a low watermark. + Latest = Time(math.MaxInt64) +) + +// Time is the number of milliseconds since the epoch +// (1970-01-01 00:00 UTC) excluding leap seconds. +type Time int64 + +// Interval describes an interval between two timestamps. +type Interval struct { + Start, End Time +} + +// Now returns the current time as a Time. +func Now() Time { + return TimeFromUnixNano(time.Now().UnixNano()) +} + +// TimeFromUnix returns the Time equivalent to the Unix Time t +// provided in seconds. +func TimeFromUnix(t int64) Time { + return Time(t * second) +} + +// TimeFromUnixNano returns the Time equivalent to the Unix Time +// t provided in nanoseconds. +func TimeFromUnixNano(t int64) Time { + return Time(t / nanosPerTick) +} + +// Equal reports whether two Times represent the same instant. +func (t Time) Equal(o Time) bool { + return t == o +} + +// Before reports whether the Time t is before o. +func (t Time) Before(o Time) bool { + return t < o +} + +// After reports whether the Time t is after o. +func (t Time) After(o Time) bool { + return t > o +} + +// Add returns the Time t + d. +func (t Time) Add(d time.Duration) Time { + return t + Time(d/minimumTick) +} + +// Sub returns the Duration t - o. +func (t Time) Sub(o Time) time.Duration { + return time.Duration(t-o) * minimumTick +} + +// Time returns the time.Time representation of t. +func (t Time) Time() time.Time { + return time.Unix(int64(t)/second, (int64(t)%second)*nanosPerTick) +} + +// Unix returns t as a Unix time, the number of seconds elapsed +// since January 1, 1970 UTC. +func (t Time) Unix() int64 { + return int64(t) / second +} + +// UnixNano returns t as a Unix time, the number of nanoseconds elapsed +// since January 1, 1970 UTC. +func (t Time) UnixNano() int64 { + return int64(t) * nanosPerTick +} + +// The number of digits after the dot. +var dotPrecision = int(math.Log10(float64(second))) + +// String returns a string representation of the Time. +func (t Time) String() string { + return strconv.FormatFloat(float64(t)/float64(second), 'f', -1, 64) +} + +// MarshalJSON implements the json.Marshaler interface. +func (t Time) MarshalJSON() ([]byte, error) { + return []byte(t.String()), nil +} + +// UnmarshalJSON implements the json.Unmarshaler interface. +func (t *Time) UnmarshalJSON(b []byte) error { + p := strings.Split(string(b), ".") + switch len(p) { + case 1: + v, err := strconv.ParseInt(string(p[0]), 10, 64) + if err != nil { + return err + } + *t = Time(v * second) + + case 2: + v, err := strconv.ParseInt(string(p[0]), 10, 64) + if err != nil { + return err + } + v *= second + + prec := dotPrecision - len(p[1]) + if prec < 0 { + p[1] = p[1][:dotPrecision] + } else if prec > 0 { + p[1] = p[1] + strings.Repeat("0", prec) + } + + va, err := strconv.ParseInt(p[1], 10, 32) + if err != nil { + return err + } + + // If the value was something like -0.1 the negative is lost in the + // parsing because of the leading zero, this ensures that we capture it. + if len(p[0]) > 0 && p[0][0] == '-' && v+va > 0 { + *t = Time(v+va) * -1 + } else { + *t = Time(v + va) + } + + default: + return fmt.Errorf("invalid time %q", string(b)) + } + return nil +} + +// Duration wraps time.Duration. It is used to parse the custom duration format +// from YAML. +// This type should not propagate beyond the scope of input/output processing. +type Duration time.Duration + +// Set implements pflag/flag.Value +func (d *Duration) Set(s string) error { + var err error + *d, err = ParseDuration(s) + return err +} + +// Type implements pflag.Value +func (d *Duration) Type() string { + return "duration" +} + +var durationRE = regexp.MustCompile("^([0-9]+)(y|w|d|h|m|s|ms)$") + +// ParseDuration parses a string into a time.Duration, assuming that a year +// always has 365d, a week always has 7d, and a day always has 24h. +func ParseDuration(durationStr string) (Duration, error) { + matches := durationRE.FindStringSubmatch(durationStr) + if len(matches) != 3 { + return 0, fmt.Errorf("not a valid duration string: %q", durationStr) + } + var ( + n, _ = strconv.Atoi(matches[1]) + dur = time.Duration(n) * time.Millisecond + ) + switch unit := matches[2]; unit { + case "y": + dur *= 1000 * 60 * 60 * 24 * 365 + case "w": + dur *= 1000 * 60 * 60 * 24 * 7 + case "d": + dur *= 1000 * 60 * 60 * 24 + case "h": + dur *= 1000 * 60 * 60 + case "m": + dur *= 1000 * 60 + case "s": + dur *= 1000 + case "ms": + // Value already correct + default: + return 0, fmt.Errorf("invalid time unit in duration string: %q", unit) + } + return Duration(dur), nil +} + +func (d Duration) String() string { + var ( + ms = int64(time.Duration(d) / time.Millisecond) + unit = "ms" + ) + if ms == 0 { + return "0s" + } + factors := map[string]int64{ + "y": 1000 * 60 * 60 * 24 * 365, + "w": 1000 * 60 * 60 * 24 * 7, + "d": 1000 * 60 * 60 * 24, + "h": 1000 * 60 * 60, + "m": 1000 * 60, + "s": 1000, + "ms": 1, + } + + switch int64(0) { + case ms % factors["y"]: + unit = "y" + case ms % factors["w"]: + unit = "w" + case ms % factors["d"]: + unit = "d" + case ms % factors["h"]: + unit = "h" + case ms % factors["m"]: + unit = "m" + case ms % factors["s"]: + unit = "s" + } + return fmt.Sprintf("%v%v", ms/factors[unit], unit) +} + +// MarshalYAML implements the yaml.Marshaler interface. +func (d Duration) MarshalYAML() (interface{}, error) { + return d.String(), nil +} + +// UnmarshalYAML implements the yaml.Unmarshaler interface. +func (d *Duration) UnmarshalYAML(unmarshal func(interface{}) error) error { + var s string + if err := unmarshal(&s); err != nil { + return err + } + dur, err := ParseDuration(s) + if err != nil { + return err + } + *d = dur + return nil +} diff --git a/vendor/github.com/prometheus/common/model/value.go b/vendor/github.com/prometheus/common/model/value.go new file mode 100644 index 00000000..c9d8fb1a --- /dev/null +++ b/vendor/github.com/prometheus/common/model/value.go @@ -0,0 +1,416 @@ +// Copyright 2013 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "encoding/json" + "fmt" + "math" + "sort" + "strconv" + "strings" +) + +var ( + // ZeroSamplePair is the pseudo zero-value of SamplePair used to signal a + // non-existing sample pair. It is a SamplePair with timestamp Earliest and + // value 0.0. Note that the natural zero value of SamplePair has a timestamp + // of 0, which is possible to appear in a real SamplePair and thus not + // suitable to signal a non-existing SamplePair. + ZeroSamplePair = SamplePair{Timestamp: Earliest} + + // ZeroSample is the pseudo zero-value of Sample used to signal a + // non-existing sample. It is a Sample with timestamp Earliest, value 0.0, + // and metric nil. Note that the natural zero value of Sample has a timestamp + // of 0, which is possible to appear in a real Sample and thus not suitable + // to signal a non-existing Sample. + ZeroSample = Sample{Timestamp: Earliest} +) + +// A SampleValue is a representation of a value for a given sample at a given +// time. +type SampleValue float64 + +// MarshalJSON implements json.Marshaler. +func (v SampleValue) MarshalJSON() ([]byte, error) { + return json.Marshal(v.String()) +} + +// UnmarshalJSON implements json.Unmarshaler. +func (v *SampleValue) UnmarshalJSON(b []byte) error { + if len(b) < 2 || b[0] != '"' || b[len(b)-1] != '"' { + return fmt.Errorf("sample value must be a quoted string") + } + f, err := strconv.ParseFloat(string(b[1:len(b)-1]), 64) + if err != nil { + return err + } + *v = SampleValue(f) + return nil +} + +// Equal returns true if the value of v and o is equal or if both are NaN. Note +// that v==o is false if both are NaN. If you want the conventional float +// behavior, use == to compare two SampleValues. +func (v SampleValue) Equal(o SampleValue) bool { + if v == o { + return true + } + return math.IsNaN(float64(v)) && math.IsNaN(float64(o)) +} + +func (v SampleValue) String() string { + return strconv.FormatFloat(float64(v), 'f', -1, 64) +} + +// SamplePair pairs a SampleValue with a Timestamp. +type SamplePair struct { + Timestamp Time + Value SampleValue +} + +// MarshalJSON implements json.Marshaler. +func (s SamplePair) MarshalJSON() ([]byte, error) { + t, err := json.Marshal(s.Timestamp) + if err != nil { + return nil, err + } + v, err := json.Marshal(s.Value) + if err != nil { + return nil, err + } + return []byte(fmt.Sprintf("[%s,%s]", t, v)), nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (s *SamplePair) UnmarshalJSON(b []byte) error { + v := [...]json.Unmarshaler{&s.Timestamp, &s.Value} + return json.Unmarshal(b, &v) +} + +// Equal returns true if this SamplePair and o have equal Values and equal +// Timestamps. The semantics of Value equality is defined by SampleValue.Equal. +func (s *SamplePair) Equal(o *SamplePair) bool { + return s == o || (s.Value.Equal(o.Value) && s.Timestamp.Equal(o.Timestamp)) +} + +func (s SamplePair) String() string { + return fmt.Sprintf("%s @[%s]", s.Value, s.Timestamp) +} + +// Sample is a sample pair associated with a metric. +type Sample struct { + Metric Metric `json:"metric"` + Value SampleValue `json:"value"` + Timestamp Time `json:"timestamp"` +} + +// Equal compares first the metrics, then the timestamp, then the value. The +// semantics of value equality is defined by SampleValue.Equal. +func (s *Sample) Equal(o *Sample) bool { + if s == o { + return true + } + + if !s.Metric.Equal(o.Metric) { + return false + } + if !s.Timestamp.Equal(o.Timestamp) { + return false + } + + return s.Value.Equal(o.Value) +} + +func (s Sample) String() string { + return fmt.Sprintf("%s => %s", s.Metric, SamplePair{ + Timestamp: s.Timestamp, + Value: s.Value, + }) +} + +// MarshalJSON implements json.Marshaler. +func (s Sample) MarshalJSON() ([]byte, error) { + v := struct { + Metric Metric `json:"metric"` + Value SamplePair `json:"value"` + }{ + Metric: s.Metric, + Value: SamplePair{ + Timestamp: s.Timestamp, + Value: s.Value, + }, + } + + return json.Marshal(&v) +} + +// UnmarshalJSON implements json.Unmarshaler. +func (s *Sample) UnmarshalJSON(b []byte) error { + v := struct { + Metric Metric `json:"metric"` + Value SamplePair `json:"value"` + }{ + Metric: s.Metric, + Value: SamplePair{ + Timestamp: s.Timestamp, + Value: s.Value, + }, + } + + if err := json.Unmarshal(b, &v); err != nil { + return err + } + + s.Metric = v.Metric + s.Timestamp = v.Value.Timestamp + s.Value = v.Value.Value + + return nil +} + +// Samples is a sortable Sample slice. It implements sort.Interface. +type Samples []*Sample + +func (s Samples) Len() int { + return len(s) +} + +// Less compares first the metrics, then the timestamp. +func (s Samples) Less(i, j int) bool { + switch { + case s[i].Metric.Before(s[j].Metric): + return true + case s[j].Metric.Before(s[i].Metric): + return false + case s[i].Timestamp.Before(s[j].Timestamp): + return true + default: + return false + } +} + +func (s Samples) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +// Equal compares two sets of samples and returns true if they are equal. +func (s Samples) Equal(o Samples) bool { + if len(s) != len(o) { + return false + } + + for i, sample := range s { + if !sample.Equal(o[i]) { + return false + } + } + return true +} + +// SampleStream is a stream of Values belonging to an attached COWMetric. +type SampleStream struct { + Metric Metric `json:"metric"` + Values []SamplePair `json:"values"` +} + +func (ss SampleStream) String() string { + vals := make([]string, len(ss.Values)) + for i, v := range ss.Values { + vals[i] = v.String() + } + return fmt.Sprintf("%s =>\n%s", ss.Metric, strings.Join(vals, "\n")) +} + +// Value is a generic interface for values resulting from a query evaluation. +type Value interface { + Type() ValueType + String() string +} + +func (Matrix) Type() ValueType { return ValMatrix } +func (Vector) Type() ValueType { return ValVector } +func (*Scalar) Type() ValueType { return ValScalar } +func (*String) Type() ValueType { return ValString } + +type ValueType int + +const ( + ValNone ValueType = iota + ValScalar + ValVector + ValMatrix + ValString +) + +// MarshalJSON implements json.Marshaler. +func (et ValueType) MarshalJSON() ([]byte, error) { + return json.Marshal(et.String()) +} + +func (et *ValueType) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + switch s { + case "": + *et = ValNone + case "scalar": + *et = ValScalar + case "vector": + *et = ValVector + case "matrix": + *et = ValMatrix + case "string": + *et = ValString + default: + return fmt.Errorf("unknown value type %q", s) + } + return nil +} + +func (e ValueType) String() string { + switch e { + case ValNone: + return "" + case ValScalar: + return "scalar" + case ValVector: + return "vector" + case ValMatrix: + return "matrix" + case ValString: + return "string" + } + panic("ValueType.String: unhandled value type") +} + +// Scalar is a scalar value evaluated at the set timestamp. +type Scalar struct { + Value SampleValue `json:"value"` + Timestamp Time `json:"timestamp"` +} + +func (s Scalar) String() string { + return fmt.Sprintf("scalar: %v @[%v]", s.Value, s.Timestamp) +} + +// MarshalJSON implements json.Marshaler. +func (s Scalar) MarshalJSON() ([]byte, error) { + v := strconv.FormatFloat(float64(s.Value), 'f', -1, 64) + return json.Marshal([...]interface{}{s.Timestamp, string(v)}) +} + +// UnmarshalJSON implements json.Unmarshaler. +func (s *Scalar) UnmarshalJSON(b []byte) error { + var f string + v := [...]interface{}{&s.Timestamp, &f} + + if err := json.Unmarshal(b, &v); err != nil { + return err + } + + value, err := strconv.ParseFloat(f, 64) + if err != nil { + return fmt.Errorf("error parsing sample value: %s", err) + } + s.Value = SampleValue(value) + return nil +} + +// String is a string value evaluated at the set timestamp. +type String struct { + Value string `json:"value"` + Timestamp Time `json:"timestamp"` +} + +func (s *String) String() string { + return s.Value +} + +// MarshalJSON implements json.Marshaler. +func (s String) MarshalJSON() ([]byte, error) { + return json.Marshal([]interface{}{s.Timestamp, s.Value}) +} + +// UnmarshalJSON implements json.Unmarshaler. +func (s *String) UnmarshalJSON(b []byte) error { + v := [...]interface{}{&s.Timestamp, &s.Value} + return json.Unmarshal(b, &v) +} + +// Vector is basically only an alias for Samples, but the +// contract is that in a Vector, all Samples have the same timestamp. +type Vector []*Sample + +func (vec Vector) String() string { + entries := make([]string, len(vec)) + for i, s := range vec { + entries[i] = s.String() + } + return strings.Join(entries, "\n") +} + +func (vec Vector) Len() int { return len(vec) } +func (vec Vector) Swap(i, j int) { vec[i], vec[j] = vec[j], vec[i] } + +// Less compares first the metrics, then the timestamp. +func (vec Vector) Less(i, j int) bool { + switch { + case vec[i].Metric.Before(vec[j].Metric): + return true + case vec[j].Metric.Before(vec[i].Metric): + return false + case vec[i].Timestamp.Before(vec[j].Timestamp): + return true + default: + return false + } +} + +// Equal compares two sets of samples and returns true if they are equal. +func (vec Vector) Equal(o Vector) bool { + if len(vec) != len(o) { + return false + } + + for i, sample := range vec { + if !sample.Equal(o[i]) { + return false + } + } + return true +} + +// Matrix is a list of time series. +type Matrix []*SampleStream + +func (m Matrix) Len() int { return len(m) } +func (m Matrix) Less(i, j int) bool { return m[i].Metric.Before(m[j].Metric) } +func (m Matrix) Swap(i, j int) { m[i], m[j] = m[j], m[i] } + +func (mat Matrix) String() string { + matCp := make(Matrix, len(mat)) + copy(matCp, mat) + sort.Sort(matCp) + + strs := make([]string, len(matCp)) + + for i, ss := range matCp { + strs[i] = ss.String() + } + + return strings.Join(strs, "\n") +} diff --git a/vendor/github.com/prometheus/procfs/.gitignore b/vendor/github.com/prometheus/procfs/.gitignore new file mode 100644 index 00000000..25e3659a --- /dev/null +++ b/vendor/github.com/prometheus/procfs/.gitignore @@ -0,0 +1 @@ +/fixtures/ diff --git a/vendor/github.com/prometheus/procfs/.golangci.yml b/vendor/github.com/prometheus/procfs/.golangci.yml new file mode 100644 index 00000000..438ca92e --- /dev/null +++ b/vendor/github.com/prometheus/procfs/.golangci.yml @@ -0,0 +1,6 @@ +# Run only staticcheck for now. Additional linters will be enabled one-by-one. +linters: + enable: + - staticcheck + - govet + disable-all: true diff --git a/vendor/github.com/prometheus/procfs/CONTRIBUTING.md b/vendor/github.com/prometheus/procfs/CONTRIBUTING.md new file mode 100644 index 00000000..40503edb --- /dev/null +++ b/vendor/github.com/prometheus/procfs/CONTRIBUTING.md @@ -0,0 +1,18 @@ +# Contributing + +Prometheus uses GitHub to manage reviews of pull requests. + +* If you have a trivial fix or improvement, go ahead and create a pull request, + addressing (with `@...`) the maintainer of this repository (see + [MAINTAINERS.md](MAINTAINERS.md)) in the description of the pull request. + +* If you plan to do something more involved, first discuss your ideas + on our [mailing list](https://groups.google.com/forum/?fromgroups#!forum/prometheus-developers). + This will avoid unnecessary work and surely give you and us a good deal + of inspiration. + +* Relevant coding style guidelines are the [Go Code Review + Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments) + and the _Formatting and style_ section of Peter Bourgon's [Go: Best + Practices for Production + Environments](http://peter.bourgon.org/go-in-production/#formatting-and-style). diff --git a/vendor/github.com/prometheus/procfs/LICENSE b/vendor/github.com/prometheus/procfs/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/vendor/github.com/prometheus/procfs/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/prometheus/procfs/MAINTAINERS.md b/vendor/github.com/prometheus/procfs/MAINTAINERS.md new file mode 100644 index 00000000..56ba67d3 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/MAINTAINERS.md @@ -0,0 +1,2 @@ +* Johannes 'fish' Ziemke @discordianfish +* Paul Gier @pgier diff --git a/vendor/github.com/prometheus/procfs/Makefile b/vendor/github.com/prometheus/procfs/Makefile new file mode 100644 index 00000000..616a0d25 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/Makefile @@ -0,0 +1,29 @@ +# Copyright 2018 The Prometheus Authors +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +include Makefile.common + +%/.unpacked: %.ttar + @echo ">> extracting fixtures" + ./ttar -C $(dir $*) -x -f $*.ttar + touch $@ + +update_fixtures: + rm -vf fixtures/.unpacked + ./ttar -c -f fixtures.ttar fixtures/ + +.PHONY: build +build: + +.PHONY: test +test: fixtures/.unpacked common-test diff --git a/vendor/github.com/prometheus/procfs/Makefile.common b/vendor/github.com/prometheus/procfs/Makefile.common new file mode 100644 index 00000000..d7aea1b8 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/Makefile.common @@ -0,0 +1,275 @@ +# Copyright 2018 The Prometheus Authors +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# A common Makefile that includes rules to be reused in different prometheus projects. +# !!! Open PRs only against the prometheus/prometheus/Makefile.common repository! + +# Example usage : +# Create the main Makefile in the root project directory. +# include Makefile.common +# customTarget: +# @echo ">> Running customTarget" +# + +# Ensure GOBIN is not set during build so that promu is installed to the correct path +unexport GOBIN + +GO ?= go +GOFMT ?= $(GO)fmt +FIRST_GOPATH := $(firstword $(subst :, ,$(shell $(GO) env GOPATH))) +GOOPTS ?= +GOHOSTOS ?= $(shell $(GO) env GOHOSTOS) +GOHOSTARCH ?= $(shell $(GO) env GOHOSTARCH) + +GO_VERSION ?= $(shell $(GO) version) +GO_VERSION_NUMBER ?= $(word 3, $(GO_VERSION)) +PRE_GO_111 ?= $(shell echo $(GO_VERSION_NUMBER) | grep -E 'go1\.(10|[0-9])\.') + +GOVENDOR := +GO111MODULE := +ifeq (, $(PRE_GO_111)) + ifneq (,$(wildcard go.mod)) + # Enforce Go modules support just in case the directory is inside GOPATH (and for Travis CI). + GO111MODULE := on + + ifneq (,$(wildcard vendor)) + # Always use the local vendor/ directory to satisfy the dependencies. + GOOPTS := $(GOOPTS) -mod=vendor + endif + endif +else + ifneq (,$(wildcard go.mod)) + ifneq (,$(wildcard vendor)) +$(warning This repository requires Go >= 1.11 because of Go modules) +$(warning Some recipes may not work as expected as the current Go runtime is '$(GO_VERSION_NUMBER)') + endif + else + # This repository isn't using Go modules (yet). + GOVENDOR := $(FIRST_GOPATH)/bin/govendor + endif +endif +PROMU := $(FIRST_GOPATH)/bin/promu +pkgs = ./... + +ifeq (arm, $(GOHOSTARCH)) + GOHOSTARM ?= $(shell GOARM= $(GO) env GOARM) + GO_BUILD_PLATFORM ?= $(GOHOSTOS)-$(GOHOSTARCH)v$(GOHOSTARM) +else + GO_BUILD_PLATFORM ?= $(GOHOSTOS)-$(GOHOSTARCH) +endif + +PROMU_VERSION ?= 0.4.0 +PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_VERSION)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM).tar.gz + +GOLANGCI_LINT := +GOLANGCI_LINT_OPTS ?= +GOLANGCI_LINT_VERSION ?= v1.16.0 +# golangci-lint only supports linux, darwin and windows platforms on i386/amd64. +# windows isn't included here because of the path separator being different. +ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) + ifeq ($(GOHOSTARCH),$(filter $(GOHOSTARCH),amd64 i386)) + GOLANGCI_LINT := $(FIRST_GOPATH)/bin/golangci-lint + endif +endif + +PREFIX ?= $(shell pwd) +BIN_DIR ?= $(shell pwd) +DOCKER_IMAGE_TAG ?= $(subst /,-,$(shell git rev-parse --abbrev-ref HEAD)) +DOCKERFILE_PATH ?= ./ +DOCKER_REPO ?= prom + +DOCKER_ARCHS ?= amd64 + +BUILD_DOCKER_ARCHS = $(addprefix common-docker-,$(DOCKER_ARCHS)) +PUBLISH_DOCKER_ARCHS = $(addprefix common-docker-publish-,$(DOCKER_ARCHS)) +TAG_DOCKER_ARCHS = $(addprefix common-docker-tag-latest-,$(DOCKER_ARCHS)) + +ifeq ($(GOHOSTARCH),amd64) + ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux freebsd darwin windows)) + # Only supported on amd64 + test-flags := -race + endif +endif + +# This rule is used to forward a target like "build" to "common-build". This +# allows a new "build" target to be defined in a Makefile which includes this +# one and override "common-build" without override warnings. +%: common-% ; + +.PHONY: common-all +common-all: precheck style check_license lint unused build test + +.PHONY: common-style +common-style: + @echo ">> checking code style" + @fmtRes=$$($(GOFMT) -d $$(find . -path ./vendor -prune -o -name '*.go' -print)); \ + if [ -n "$${fmtRes}" ]; then \ + echo "gofmt checking failed!"; echo "$${fmtRes}"; echo; \ + echo "Please ensure you are using $$($(GO) version) for formatting code."; \ + exit 1; \ + fi + +.PHONY: common-check_license +common-check_license: + @echo ">> checking license header" + @licRes=$$(for file in $$(find . -type f -iname '*.go' ! -path './vendor/*') ; do \ + awk 'NR<=3' $$file | grep -Eq "(Copyright|generated|GENERATED)" || echo $$file; \ + done); \ + if [ -n "$${licRes}" ]; then \ + echo "license header checking failed:"; echo "$${licRes}"; \ + exit 1; \ + fi + +.PHONY: common-deps +common-deps: + @echo ">> getting dependencies" +ifdef GO111MODULE + GO111MODULE=$(GO111MODULE) $(GO) mod download +else + $(GO) get $(GOOPTS) -t ./... +endif + +.PHONY: common-test-short +common-test-short: + @echo ">> running short tests" + GO111MODULE=$(GO111MODULE) $(GO) test -short $(GOOPTS) $(pkgs) + +.PHONY: common-test +common-test: + @echo ">> running all tests" + GO111MODULE=$(GO111MODULE) $(GO) test $(test-flags) $(GOOPTS) $(pkgs) + +.PHONY: common-format +common-format: + @echo ">> formatting code" + GO111MODULE=$(GO111MODULE) $(GO) fmt $(pkgs) + +.PHONY: common-vet +common-vet: + @echo ">> vetting code" + GO111MODULE=$(GO111MODULE) $(GO) vet $(GOOPTS) $(pkgs) + +.PHONY: common-lint +common-lint: $(GOLANGCI_LINT) +ifdef GOLANGCI_LINT + @echo ">> running golangci-lint" +ifdef GO111MODULE +# 'go list' needs to be executed before staticcheck to prepopulate the modules cache. +# Otherwise staticcheck might fail randomly for some reason not yet explained. + GO111MODULE=$(GO111MODULE) $(GO) list -e -compiled -test=true -export=false -deps=true -find=false -tags= -- ./... > /dev/null + GO111MODULE=$(GO111MODULE) $(GOLANGCI_LINT) run $(GOLANGCI_LINT_OPTS) $(pkgs) +else + $(GOLANGCI_LINT) run $(pkgs) +endif +endif + +# For backward-compatibility. +.PHONY: common-staticcheck +common-staticcheck: lint + +.PHONY: common-unused +common-unused: $(GOVENDOR) +ifdef GOVENDOR + @echo ">> running check for unused packages" + @$(GOVENDOR) list +unused | grep . && exit 1 || echo 'No unused packages' +else +ifdef GO111MODULE + @echo ">> running check for unused/missing packages in go.mod" + GO111MODULE=$(GO111MODULE) $(GO) mod tidy +ifeq (,$(wildcard vendor)) + @git diff --exit-code -- go.sum go.mod +else + @echo ">> running check for unused packages in vendor/" + GO111MODULE=$(GO111MODULE) $(GO) mod vendor + @git diff --exit-code -- go.sum go.mod vendor/ +endif +endif +endif + +.PHONY: common-build +common-build: promu + @echo ">> building binaries" + GO111MODULE=$(GO111MODULE) $(PROMU) build --prefix $(PREFIX) + +.PHONY: common-tarball +common-tarball: promu + @echo ">> building release tarball" + $(PROMU) tarball --prefix $(PREFIX) $(BIN_DIR) + +.PHONY: common-docker $(BUILD_DOCKER_ARCHS) +common-docker: $(BUILD_DOCKER_ARCHS) +$(BUILD_DOCKER_ARCHS): common-docker-%: + docker build -t "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(DOCKER_IMAGE_TAG)" \ + --build-arg ARCH="$*" \ + --build-arg OS="linux" \ + $(DOCKERFILE_PATH) + +.PHONY: common-docker-publish $(PUBLISH_DOCKER_ARCHS) +common-docker-publish: $(PUBLISH_DOCKER_ARCHS) +$(PUBLISH_DOCKER_ARCHS): common-docker-publish-%: + docker push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(DOCKER_IMAGE_TAG)" + +.PHONY: common-docker-tag-latest $(TAG_DOCKER_ARCHS) +common-docker-tag-latest: $(TAG_DOCKER_ARCHS) +$(TAG_DOCKER_ARCHS): common-docker-tag-latest-%: + docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(DOCKER_IMAGE_TAG)" "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:latest" + +.PHONY: common-docker-manifest +common-docker-manifest: + DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create -a "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)" $(foreach ARCH,$(DOCKER_ARCHS),$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$(ARCH):$(DOCKER_IMAGE_TAG)) + DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)" + +.PHONY: promu +promu: $(PROMU) + +$(PROMU): + $(eval PROMU_TMP := $(shell mktemp -d)) + curl -s -L $(PROMU_URL) | tar -xvzf - -C $(PROMU_TMP) + mkdir -p $(FIRST_GOPATH)/bin + cp $(PROMU_TMP)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM)/promu $(FIRST_GOPATH)/bin/promu + rm -r $(PROMU_TMP) + +.PHONY: proto +proto: + @echo ">> generating code from proto files" + @./scripts/genproto.sh + +ifdef GOLANGCI_LINT +$(GOLANGCI_LINT): + mkdir -p $(FIRST_GOPATH)/bin + curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/$(GOLANGCI_LINT_VERSION)/install.sh \ + | sed -e '/install -d/d' \ + | sh -s -- -b $(FIRST_GOPATH)/bin $(GOLANGCI_LINT_VERSION) +endif + +ifdef GOVENDOR +.PHONY: $(GOVENDOR) +$(GOVENDOR): + GOOS= GOARCH= $(GO) get -u github.com/kardianos/govendor +endif + +.PHONY: precheck +precheck:: + +define PRECHECK_COMMAND_template = +precheck:: $(1)_precheck + +PRECHECK_COMMAND_$(1) ?= $(1) $$(strip $$(PRECHECK_OPTIONS_$(1))) +.PHONY: $(1)_precheck +$(1)_precheck: + @if ! $$(PRECHECK_COMMAND_$(1)) 1>/dev/null 2>&1; then \ + echo "Execution of '$$(PRECHECK_COMMAND_$(1))' command failed. Is $(1) installed?"; \ + exit 1; \ + fi +endef diff --git a/vendor/github.com/prometheus/procfs/NOTICE b/vendor/github.com/prometheus/procfs/NOTICE new file mode 100644 index 00000000..53c5e9aa --- /dev/null +++ b/vendor/github.com/prometheus/procfs/NOTICE @@ -0,0 +1,7 @@ +procfs provides functions to retrieve system, kernel and process +metrics from the pseudo-filesystem proc. + +Copyright 2014-2015 The Prometheus Authors + +This product includes software developed at +SoundCloud Ltd. (http://soundcloud.com/). diff --git a/vendor/github.com/prometheus/procfs/README.md b/vendor/github.com/prometheus/procfs/README.md new file mode 100644 index 00000000..6f8850fe --- /dev/null +++ b/vendor/github.com/prometheus/procfs/README.md @@ -0,0 +1,53 @@ +# procfs + +This procfs package provides functions to retrieve system, kernel and process +metrics from the pseudo-filesystems /proc and /sys. + +*WARNING*: This package is a work in progress. Its API may still break in +backwards-incompatible ways without warnings. Use it at your own risk. + +[![GoDoc](https://godoc.org/github.com/prometheus/procfs?status.png)](https://godoc.org/github.com/prometheus/procfs) +[![Build Status](https://travis-ci.org/prometheus/procfs.svg?branch=master)](https://travis-ci.org/prometheus/procfs) +[![Go Report Card](https://goreportcard.com/badge/github.com/prometheus/procfs)](https://goreportcard.com/report/github.com/prometheus/procfs) + +## Usage + +The procfs library is organized by packages based on whether the gathered data is coming from +/proc, /sys, or both. Each package contains an `FS` type which represents the path to either /proc, /sys, or both. For example, current cpu statistics are gathered from +`/proc/stat` and are available via the root procfs package. First, the proc filesystem mount +point is initialized, and then the stat information is read. + +```go +fs, err := procfs.NewFS("/proc") +stats, err := fs.Stat() +``` + +Some sub-packages such as `blockdevice`, require access to both the proc and sys filesystems. + +```go + fs, err := blockdevice.NewFS("/proc", "/sys") + stats, err := fs.ProcDiskstats() +``` + +## Building and Testing + +The procfs library is normally built as part of another application. However, when making +changes to the library, the `make test` command can be used to run the API test suite. + +### Updating Test Fixtures + +The procfs library includes a set of test fixtures which include many example files from +the `/proc` and `/sys` filesystems. These fixtures are included as a [ttar](https://github.com/ideaship/ttar) file +which is extracted automatically during testing. To add/update the test fixtures, first +ensure the `fixtures` directory is up to date by removing the existing directory and then +extracting the ttar file using `make fixtures/.unpacked` or just `make test`. + +```bash +rm -rf fixtures +make test +``` + +Next, make the required changes to the extracted files in the `fixtures` directory. When +the changes are complete, run `make update_fixtures` to create a new `fixtures.ttar` file +based on the updated `fixtures` directory. And finally, verify the changes using +`git diff fixtures.ttar`. diff --git a/vendor/github.com/prometheus/procfs/arp.go b/vendor/github.com/prometheus/procfs/arp.go new file mode 100644 index 00000000..916c9182 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/arp.go @@ -0,0 +1,85 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "fmt" + "io/ioutil" + "net" + "strings" +) + +// ARPEntry contains a single row of the columnar data represented in +// /proc/net/arp. +type ARPEntry struct { + // IP address + IPAddr net.IP + // MAC address + HWAddr net.HardwareAddr + // Name of the device + Device string +} + +// GatherARPEntries retrieves all the ARP entries, parse the relevant columns, +// and then return a slice of ARPEntry's. +func (fs FS) GatherARPEntries() ([]ARPEntry, error) { + data, err := ioutil.ReadFile(fs.proc.Path("net/arp")) + if err != nil { + return nil, fmt.Errorf("error reading arp %s: %s", fs.proc.Path("net/arp"), err) + } + + return parseARPEntries(data) +} + +func parseARPEntries(data []byte) ([]ARPEntry, error) { + lines := strings.Split(string(data), "\n") + entries := make([]ARPEntry, 0) + var err error + const ( + expectedDataWidth = 6 + expectedHeaderWidth = 9 + ) + for _, line := range lines { + columns := strings.Fields(line) + width := len(columns) + + if width == expectedHeaderWidth || width == 0 { + continue + } else if width == expectedDataWidth { + entry, err := parseARPEntry(columns) + if err != nil { + return []ARPEntry{}, fmt.Errorf("failed to parse ARP entry: %s", err) + } + entries = append(entries, entry) + } else { + return []ARPEntry{}, fmt.Errorf("%d columns were detected, but %d were expected", width, expectedDataWidth) + } + + } + + return entries, err +} + +func parseARPEntry(columns []string) (ARPEntry, error) { + ip := net.ParseIP(columns[0]) + mac := net.HardwareAddr(columns[3]) + + entry := ARPEntry{ + IPAddr: ip, + HWAddr: mac, + Device: columns[5], + } + + return entry, nil +} diff --git a/vendor/github.com/prometheus/procfs/buddyinfo.go b/vendor/github.com/prometheus/procfs/buddyinfo.go new file mode 100644 index 00000000..10bd067a --- /dev/null +++ b/vendor/github.com/prometheus/procfs/buddyinfo.go @@ -0,0 +1,85 @@ +// Copyright 2017 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "fmt" + "io" + "os" + "strconv" + "strings" +) + +// A BuddyInfo is the details parsed from /proc/buddyinfo. +// The data is comprised of an array of free fragments of each size. +// The sizes are 2^n*PAGE_SIZE, where n is the array index. +type BuddyInfo struct { + Node string + Zone string + Sizes []float64 +} + +// BuddyInfo reads the buddyinfo statistics from the specified `proc` filesystem. +func (fs FS) BuddyInfo() ([]BuddyInfo, error) { + file, err := os.Open(fs.proc.Path("buddyinfo")) + if err != nil { + return nil, err + } + defer file.Close() + + return parseBuddyInfo(file) +} + +func parseBuddyInfo(r io.Reader) ([]BuddyInfo, error) { + var ( + buddyInfo = []BuddyInfo{} + scanner = bufio.NewScanner(r) + bucketCount = -1 + ) + + for scanner.Scan() { + var err error + line := scanner.Text() + parts := strings.Fields(line) + + if len(parts) < 4 { + return nil, fmt.Errorf("invalid number of fields when parsing buddyinfo") + } + + node := strings.TrimRight(parts[1], ",") + zone := strings.TrimRight(parts[3], ",") + arraySize := len(parts[4:]) + + if bucketCount == -1 { + bucketCount = arraySize + } else { + if bucketCount != arraySize { + return nil, fmt.Errorf("mismatch in number of buddyinfo buckets, previous count %d, new count %d", bucketCount, arraySize) + } + } + + sizes := make([]float64, arraySize) + for i := 0; i < arraySize; i++ { + sizes[i], err = strconv.ParseFloat(parts[i+4], 64) + if err != nil { + return nil, fmt.Errorf("invalid value in buddyinfo: %s", err) + } + } + + buddyInfo = append(buddyInfo, BuddyInfo{node, zone, sizes}) + } + + return buddyInfo, scanner.Err() +} diff --git a/vendor/github.com/prometheus/procfs/cpuinfo.go b/vendor/github.com/prometheus/procfs/cpuinfo.go new file mode 100644 index 00000000..16491d6a --- /dev/null +++ b/vendor/github.com/prometheus/procfs/cpuinfo.go @@ -0,0 +1,166 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "bytes" + "io/ioutil" + "strconv" + "strings" +) + +// CPUInfo contains general information about a system CPU found in /proc/cpuinfo +type CPUInfo struct { + Processor uint + VendorID string + CPUFamily string + Model string + ModelName string + Stepping string + Microcode string + CPUMHz float64 + CacheSize string + PhysicalID string + Siblings uint + CoreID string + CPUCores uint + APICID string + InitialAPICID string + FPU string + FPUException string + CPUIDLevel uint + WP string + Flags []string + Bugs []string + BogoMips float64 + CLFlushSize uint + CacheAlignment uint + AddressSizes string + PowerManagement string +} + +// CPUInfo returns information about current system CPUs. +// See https://www.kernel.org/doc/Documentation/filesystems/proc.txt +func (fs FS) CPUInfo() ([]CPUInfo, error) { + data, err := ioutil.ReadFile(fs.proc.Path("cpuinfo")) + if err != nil { + return nil, err + } + return parseCPUInfo(data) +} + +// parseCPUInfo parses data from /proc/cpuinfo +func parseCPUInfo(info []byte) ([]CPUInfo, error) { + cpuinfo := []CPUInfo{} + i := -1 + scanner := bufio.NewScanner(bytes.NewReader(info)) + for scanner.Scan() { + line := scanner.Text() + if strings.TrimSpace(line) == "" { + continue + } + field := strings.SplitN(line, ": ", 2) + switch strings.TrimSpace(field[0]) { + case "processor": + cpuinfo = append(cpuinfo, CPUInfo{}) // start of the next processor + i++ + v, err := strconv.ParseUint(field[1], 0, 32) + if err != nil { + return nil, err + } + cpuinfo[i].Processor = uint(v) + case "vendor_id": + cpuinfo[i].VendorID = field[1] + case "cpu family": + cpuinfo[i].CPUFamily = field[1] + case "model": + cpuinfo[i].Model = field[1] + case "model name": + cpuinfo[i].ModelName = field[1] + case "stepping": + cpuinfo[i].Stepping = field[1] + case "microcode": + cpuinfo[i].Microcode = field[1] + case "cpu MHz": + v, err := strconv.ParseFloat(field[1], 64) + if err != nil { + return nil, err + } + cpuinfo[i].CPUMHz = v + case "cache size": + cpuinfo[i].CacheSize = field[1] + case "physical id": + cpuinfo[i].PhysicalID = field[1] + case "siblings": + v, err := strconv.ParseUint(field[1], 0, 32) + if err != nil { + return nil, err + } + cpuinfo[i].Siblings = uint(v) + case "core id": + cpuinfo[i].CoreID = field[1] + case "cpu cores": + v, err := strconv.ParseUint(field[1], 0, 32) + if err != nil { + return nil, err + } + cpuinfo[i].CPUCores = uint(v) + case "apicid": + cpuinfo[i].APICID = field[1] + case "initial apicid": + cpuinfo[i].InitialAPICID = field[1] + case "fpu": + cpuinfo[i].FPU = field[1] + case "fpu_exception": + cpuinfo[i].FPUException = field[1] + case "cpuid level": + v, err := strconv.ParseUint(field[1], 0, 32) + if err != nil { + return nil, err + } + cpuinfo[i].CPUIDLevel = uint(v) + case "wp": + cpuinfo[i].WP = field[1] + case "flags": + cpuinfo[i].Flags = strings.Fields(field[1]) + case "bugs": + cpuinfo[i].Bugs = strings.Fields(field[1]) + case "bogomips": + v, err := strconv.ParseFloat(field[1], 64) + if err != nil { + return nil, err + } + cpuinfo[i].BogoMips = v + case "clflush size": + v, err := strconv.ParseUint(field[1], 0, 32) + if err != nil { + return nil, err + } + cpuinfo[i].CLFlushSize = uint(v) + case "cache_alignment": + v, err := strconv.ParseUint(field[1], 0, 32) + if err != nil { + return nil, err + } + cpuinfo[i].CacheAlignment = uint(v) + case "address sizes": + cpuinfo[i].AddressSizes = field[1] + case "power management": + cpuinfo[i].PowerManagement = field[1] + } + } + return cpuinfo, nil + +} diff --git a/vendor/github.com/prometheus/procfs/crypto.go b/vendor/github.com/prometheus/procfs/crypto.go new file mode 100644 index 00000000..19d4041b --- /dev/null +++ b/vendor/github.com/prometheus/procfs/crypto.go @@ -0,0 +1,131 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bytes" + "fmt" + "io/ioutil" + "strconv" + "strings" + + "github.com/prometheus/procfs/internal/util" +) + +// Crypto holds info parsed from /proc/crypto. +type Crypto struct { + Alignmask *uint64 + Async bool + Blocksize *uint64 + Chunksize *uint64 + Ctxsize *uint64 + Digestsize *uint64 + Driver string + Geniv string + Internal string + Ivsize *uint64 + Maxauthsize *uint64 + MaxKeysize *uint64 + MinKeysize *uint64 + Module string + Name string + Priority *int64 + Refcnt *int64 + Seedsize *uint64 + Selftest string + Type string + Walksize *uint64 +} + +// Crypto parses an crypto-file (/proc/crypto) and returns a slice of +// structs containing the relevant info. More information available here: +// https://kernel.readthedocs.io/en/sphinx-samples/crypto-API.html +func (fs FS) Crypto() ([]Crypto, error) { + data, err := ioutil.ReadFile(fs.proc.Path("crypto")) + if err != nil { + return nil, fmt.Errorf("error parsing crypto %s: %s", fs.proc.Path("crypto"), err) + } + crypto, err := parseCrypto(data) + if err != nil { + return nil, fmt.Errorf("error parsing crypto %s: %s", fs.proc.Path("crypto"), err) + } + return crypto, nil +} + +func parseCrypto(cryptoData []byte) ([]Crypto, error) { + crypto := []Crypto{} + + cryptoBlocks := bytes.Split(cryptoData, []byte("\n\n")) + + for _, block := range cryptoBlocks { + var newCryptoElem Crypto + + lines := strings.Split(string(block), "\n") + for _, line := range lines { + if strings.TrimSpace(line) == "" || line[0] == ' ' { + continue + } + fields := strings.Split(line, ":") + key := strings.TrimSpace(fields[0]) + value := strings.TrimSpace(fields[1]) + vp := util.NewValueParser(value) + + switch strings.TrimSpace(key) { + case "async": + b, err := strconv.ParseBool(value) + if err == nil { + newCryptoElem.Async = b + } + case "blocksize": + newCryptoElem.Blocksize = vp.PUInt64() + case "chunksize": + newCryptoElem.Chunksize = vp.PUInt64() + case "digestsize": + newCryptoElem.Digestsize = vp.PUInt64() + case "driver": + newCryptoElem.Driver = value + case "geniv": + newCryptoElem.Geniv = value + case "internal": + newCryptoElem.Internal = value + case "ivsize": + newCryptoElem.Ivsize = vp.PUInt64() + case "maxauthsize": + newCryptoElem.Maxauthsize = vp.PUInt64() + case "max keysize": + newCryptoElem.MaxKeysize = vp.PUInt64() + case "min keysize": + newCryptoElem.MinKeysize = vp.PUInt64() + case "module": + newCryptoElem.Module = value + case "name": + newCryptoElem.Name = value + case "priority": + newCryptoElem.Priority = vp.PInt64() + case "refcnt": + newCryptoElem.Refcnt = vp.PInt64() + case "seedsize": + newCryptoElem.Seedsize = vp.PUInt64() + case "selftest": + newCryptoElem.Selftest = value + case "type": + newCryptoElem.Type = value + case "walksize": + newCryptoElem.Walksize = vp.PUInt64() + } + } + crypto = append(crypto, newCryptoElem) + } + return crypto, nil +} diff --git a/vendor/github.com/prometheus/procfs/doc.go b/vendor/github.com/prometheus/procfs/doc.go new file mode 100644 index 00000000..e2acd6d4 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/doc.go @@ -0,0 +1,45 @@ +// Copyright 2014 Prometheus Team +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package procfs provides functions to retrieve system, kernel and process +// metrics from the pseudo-filesystem proc. +// +// Example: +// +// package main +// +// import ( +// "fmt" +// "log" +// +// "github.com/prometheus/procfs" +// ) +// +// func main() { +// p, err := procfs.Self() +// if err != nil { +// log.Fatalf("could not get process: %s", err) +// } +// +// stat, err := p.NewStat() +// if err != nil { +// log.Fatalf("could not get process stat: %s", err) +// } +// +// fmt.Printf("command: %s\n", stat.Comm) +// fmt.Printf("cpu time: %fs\n", stat.CPUTime()) +// fmt.Printf("vsize: %dB\n", stat.VirtualMemory()) +// fmt.Printf("rss: %dB\n", stat.ResidentMemory()) +// } +// +package procfs diff --git a/vendor/github.com/prometheus/procfs/fixtures.ttar b/vendor/github.com/prometheus/procfs/fixtures.ttar new file mode 100644 index 00000000..0b290554 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/fixtures.ttar @@ -0,0 +1,4550 @@ +# Archive created by ttar -c -f fixtures.ttar fixtures/ +Directory: fixtures +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/26231 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/cmdline +Lines: 1 +vimNULLBYTEtest.goNULLBYTE+10NULLBYTEEOF +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/comm +Lines: 1 +vim +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/cwd +SymlinkTo: /usr/bin +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/environ +Lines: 1 +PATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binNULLBYTEHOSTNAME=cd24e11f73a5NULLBYTETERM=xtermNULLBYTEGOLANG_VERSION=1.12.5NULLBYTEGOPATH=/goNULLBYTEHOME=/rootNULLBYTEEOF +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/exe +SymlinkTo: /usr/bin/vim +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/26231/fd +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fd/0 +SymlinkTo: ../../symlinktargets/abc +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fd/1 +SymlinkTo: ../../symlinktargets/def +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fd/10 +SymlinkTo: ../../symlinktargets/xyz +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fd/2 +SymlinkTo: ../../symlinktargets/ghi +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fd/3 +SymlinkTo: ../../symlinktargets/uvw +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/26231/fdinfo +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fdinfo/0 +Lines: 6 +pos: 0 +flags: 02004000 +mnt_id: 13 +inotify wd:3 ino:1 sdev:34 mask:fce ignored_mask:0 fhandle-bytes:c fhandle-type:81 f_handle:000000000100000000000000 +inotify wd:2 ino:1300016 sdev:fd00002 mask:fce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:16003001ed3f022a +inotify wd:1 ino:2e0001 sdev:fd00000 mask:fce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:01002e00138e7c65 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fdinfo/1 +Lines: 4 +pos: 0 +flags: 02004002 +mnt_id: 13 +eventfd-count: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fdinfo/10 +Lines: 3 +pos: 0 +flags: 02004002 +mnt_id: 9 +Mode: 400 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fdinfo/2 +Lines: 3 +pos: 0 +flags: 02004002 +mnt_id: 9 +Mode: 400 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/fdinfo/3 +Lines: 3 +pos: 0 +flags: 02004002 +mnt_id: 9 +Mode: 400 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/io +Lines: 7 +rchar: 750339 +wchar: 818609 +syscr: 7405 +syscw: 5245 +read_bytes: 1024 +write_bytes: 2048 +cancelled_write_bytes: -1024 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/limits +Lines: 17 +Limit Soft Limit Hard Limit Units +Max cpu time unlimited unlimited seconds +Max file size unlimited unlimited bytes +Max data size unlimited unlimited bytes +Max stack size 8388608 unlimited bytes +Max core file size 0 unlimited bytes +Max resident set unlimited unlimited bytes +Max processes 62898 62898 processes +Max open files 2048 4096 files +Max locked memory 65536 65536 bytes +Max address space 8589934592 unlimited bytes +Max file locks unlimited unlimited locks +Max pending signals 62898 62898 signals +Max msgqueue size 819200 819200 bytes +Max nice priority 0 0 +Max realtime priority 0 0 +Max realtime timeout unlimited unlimited us +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/mountstats +Lines: 20 +device rootfs mounted on / with fstype rootfs +device sysfs mounted on /sys with fstype sysfs +device proc mounted on /proc with fstype proc +device /dev/sda1 mounted on / with fstype ext4 +device 192.168.1.1:/srv/test mounted on /mnt/nfs/test with fstype nfs4 statvers=1.1 + opts: rw,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.1,clientaddr=192.168.1.5,local_lock=none + age: 13968 + caps: caps=0xfff7,wtmult=512,dtsize=32768,bsize=0,namlen=255 + nfsv4: bm0=0xfdffafff,bm1=0xf9be3e,bm2=0x0,acl=0x0,pnfs=not configured + sec: flavor=1,pseudoflavor=1 + events: 52 226 0 0 1 13 398 0 0 331 0 47 0 0 77 0 0 77 0 0 0 0 0 0 0 0 0 + bytes: 1207640230 0 0 0 1210214218 0 295483 0 + RPC iostats version: 1.0 p/v: 100003/4 (nfs) + xprt: tcp 832 0 1 0 11 6428 6428 0 12154 0 24 26 5726 + per-op statistics + NULL: 0 0 0 0 0 0 0 0 + READ: 1298 1298 0 207680 1210292152 6 79386 79407 + WRITE: 0 0 0 0 0 0 0 0 + ACCESS: 2927395007 2927394995 0 526931094212 362996810236 18446743919241604546 1667369447 1953587717 + +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/26231/net +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/net/dev +Lines: 4 +Inter-| Receive | Transmit + face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed + lo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + eth0: 438 5 0 0 0 0 0 0 648 8 0 0 0 0 0 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/26231/ns +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/ns/mnt +SymlinkTo: mnt:[4026531840] +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/ns/net +SymlinkTo: net:[4026531993] +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/root +SymlinkTo: / +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/schedstat +Lines: 1 +411605849 93680043 79 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/stat +Lines: 1 +26231 (vim) R 5392 7446 5392 34835 7446 4218880 32533 309516 26 82 1677 44 158 99 20 0 1 0 82375 56274944 1981 18446744073709551615 4194304 6294284 140736914091744 140736914087944 139965136429984 0 0 12288 1870679807 0 0 0 17 0 0 0 31 0 0 8391624 8481048 16420864 140736914093252 140736914093279 140736914093279 140736914096107 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26231/status +Lines: 53 + +Name: prometheus +Umask: 0022 +State: S (sleeping) +Tgid: 26231 +Ngid: 0 +Pid: 26231 +PPid: 1 +TracerPid: 0 +Uid: 0 0 0 0 +Gid: 0 0 0 0 +FDSize: 128 +Groups: +NStgid: 1 +NSpid: 1 +NSpgid: 1 +NSsid: 1 +VmPeak: 58472 kB +VmSize: 58440 kB +VmLck: 0 kB +VmPin: 0 kB +VmHWM: 8028 kB +VmRSS: 6716 kB +RssAnon: 2092 kB +RssFile: 4624 kB +RssShmem: 0 kB +VmData: 2580 kB +VmStk: 136 kB +VmExe: 948 kB +VmLib: 6816 kB +VmPTE: 128 kB +VmPMD: 12 kB +VmSwap: 660 kB +HugetlbPages: 0 kB +Threads: 1 +SigQ: 8/63965 +SigPnd: 0000000000000000 +ShdPnd: 0000000000000000 +SigBlk: 7be3c0fe28014a03 +SigIgn: 0000000000001000 +SigCgt: 00000001800004ec +CapInh: 0000000000000000 +CapPrm: 0000003fffffffff +CapEff: 0000003fffffffff +CapBnd: 0000003fffffffff +CapAmb: 0000000000000000 +Seccomp: 0 +Cpus_allowed: ff +Cpus_allowed_list: 0-7 +Mems_allowed: 00000000,00000001 +Mems_allowed_list: 0 +voluntary_ctxt_switches: 4742839 +nonvoluntary_ctxt_switches: 1727500 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/26232 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/cmdline +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/comm +Lines: 1 +ata_sff +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/cwd +SymlinkTo: /does/not/exist +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/26232/fd +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/fd/0 +SymlinkTo: ../../symlinktargets/abc +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/fd/1 +SymlinkTo: ../../symlinktargets/def +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/fd/2 +SymlinkTo: ../../symlinktargets/ghi +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/fd/3 +SymlinkTo: ../../symlinktargets/uvw +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/fd/4 +SymlinkTo: ../../symlinktargets/xyz +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/limits +Lines: 17 +Limit Soft Limit Hard Limit Units +Max cpu time unlimited unlimited seconds +Max file size unlimited unlimited bytes +Max data size unlimited unlimited bytes +Max stack size 8388608 unlimited bytes +Max core file size 0 unlimited bytes +Max resident set unlimited unlimited bytes +Max processes 29436 29436 processes +Max open files 1024 4096 files +Max locked memory 65536 65536 bytes +Max address space unlimited unlimited bytes +Max file locks unlimited unlimited locks +Max pending signals 29436 29436 signals +Max msgqueue size 819200 819200 bytes +Max nice priority 0 0 +Max realtime priority 0 0 +Max realtime timeout unlimited unlimited us +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/root +SymlinkTo: /does/not/exist +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26232/stat +Lines: 1 +33 (ata_sff) S 2 0 0 0 -1 69238880 0 0 0 0 0 0 0 0 0 -20 1 0 5 0 0 18446744073709551615 0 0 0 0 0 0 0 2147483647 0 18446744073709551615 0 0 17 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/26233 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26233/cmdline +Lines: 1 +com.github.uiautomatorNULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTEEOF +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/26233/schedstat +Lines: 8 + ____________________________________ +< this is a malformed schedstat file > + ------------------------------------ + \ ^__^ + \ (oo)\_______ + (__)\ )\/\ + ||----w | + || || +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/584 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/584/stat +Lines: 2 +1020 ((a b ) ( c d) ) R 28378 1020 28378 34842 1020 4218880 286 0 0 0 0 0 0 0 20 0 1 0 10839175 10395648 155 18446744073709551615 4194304 4238788 140736466511168 140736466511168 140609271124624 0 0 0 0 0 0 0 17 5 0 0 0 0 0 6336016 6337300 25579520 140736466515030 140736466515061 140736466515061 140736466518002 0 +#!/bin/cat /proc/self/stat +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/buddyinfo +Lines: 3 +Node 0, zone DMA 1 0 1 0 2 1 1 0 1 1 3 +Node 0, zone DMA32 759 572 791 475 194 45 12 0 0 0 0 +Node 0, zone Normal 4381 1093 185 1530 567 102 4 0 0 0 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/cpuinfo +Lines: 216 +processor : 0 +vendor_id : GenuineIntel +cpu family : 6 +model : 142 +model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz +stepping : 10 +microcode : 0xb4 +cpu MHz : 799.998 +cache size : 8192 KB +physical id : 0 +siblings : 8 +core id : 0 +cpu cores : 4 +apicid : 0 +initial apicid : 0 +fpu : yes +fpu_exception : yes +cpuid level : 22 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 4224.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 1 +vendor_id : GenuineIntel +cpu family : 6 +model : 142 +model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz +stepping : 10 +microcode : 0xb4 +cpu MHz : 800.037 +cache size : 8192 KB +physical id : 0 +siblings : 8 +core id : 1 +cpu cores : 4 +apicid : 2 +initial apicid : 2 +fpu : yes +fpu_exception : yes +cpuid level : 22 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 4224.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 2 +vendor_id : GenuineIntel +cpu family : 6 +model : 142 +model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz +stepping : 10 +microcode : 0xb4 +cpu MHz : 800.010 +cache size : 8192 KB +physical id : 0 +siblings : 8 +core id : 2 +cpu cores : 4 +apicid : 4 +initial apicid : 4 +fpu : yes +fpu_exception : yes +cpuid level : 22 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 4224.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 3 +vendor_id : GenuineIntel +cpu family : 6 +model : 142 +model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz +stepping : 10 +microcode : 0xb4 +cpu MHz : 800.028 +cache size : 8192 KB +physical id : 0 +siblings : 8 +core id : 3 +cpu cores : 4 +apicid : 6 +initial apicid : 6 +fpu : yes +fpu_exception : yes +cpuid level : 22 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 4224.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 4 +vendor_id : GenuineIntel +cpu family : 6 +model : 142 +model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz +stepping : 10 +microcode : 0xb4 +cpu MHz : 799.989 +cache size : 8192 KB +physical id : 0 +siblings : 8 +core id : 0 +cpu cores : 4 +apicid : 1 +initial apicid : 1 +fpu : yes +fpu_exception : yes +cpuid level : 22 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 4224.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 5 +vendor_id : GenuineIntel +cpu family : 6 +model : 142 +model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz +stepping : 10 +microcode : 0xb4 +cpu MHz : 800.083 +cache size : 8192 KB +physical id : 0 +siblings : 8 +core id : 1 +cpu cores : 4 +apicid : 3 +initial apicid : 3 +fpu : yes +fpu_exception : yes +cpuid level : 22 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 4224.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 6 +vendor_id : GenuineIntel +cpu family : 6 +model : 142 +model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz +stepping : 10 +microcode : 0xb4 +cpu MHz : 800.017 +cache size : 8192 KB +physical id : 0 +siblings : 8 +core id : 2 +cpu cores : 4 +apicid : 5 +initial apicid : 5 +fpu : yes +fpu_exception : yes +cpuid level : 22 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 4224.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +processor : 7 +vendor_id : GenuineIntel +cpu family : 6 +model : 142 +model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz +stepping : 10 +microcode : 0xb4 +cpu MHz : 800.030 +cache size : 8192 KB +physical id : 0 +siblings : 8 +core id : 3 +cpu cores : 4 +apicid : 7 +initial apicid : 7 +fpu : yes +fpu_exception : yes +cpuid level : 22 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d +bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs +bogomips : 4224.00 +clflush size : 64 +cache_alignment : 64 +address sizes : 39 bits physical, 48 bits virtual +power management: + +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/crypto +Lines: 971 +name : ccm(aes) +driver : ccm_base(ctr(aes-aesni),cbcmac(aes-aesni)) +module : ccm +priority : 300 +refcnt : 4 +selftest : passed +internal : no +type : aead +async : no +blocksize : 1 +ivsize : 16 +maxauthsize : 16 +geniv : + +name : cbcmac(aes) +driver : cbcmac(aes-aesni) +module : ccm +priority : 300 +refcnt : 7 +selftest : passed +internal : no +type : shash +blocksize : 1 +digestsize : 16 + +name : ecdh +driver : ecdh-generic +module : ecdh_generic +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : kpp + +name : ecb(arc4) +driver : ecb(arc4)-generic +module : arc4 +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : skcipher +async : no +blocksize : 1 +min keysize : 1 +max keysize : 256 +ivsize : 0 +chunksize : 1 +walksize : 1 + +name : arc4 +driver : arc4-generic +module : arc4 +priority : 0 +refcnt : 3 +selftest : passed +internal : no +type : cipher +blocksize : 1 +min keysize : 1 +max keysize : 256 + +name : crct10dif +driver : crct10dif-pclmul +module : crct10dif_pclmul +priority : 200 +refcnt : 2 +selftest : passed +internal : no +type : shash +blocksize : 1 +digestsize : 2 + +name : crc32 +driver : crc32-pclmul +module : crc32_pclmul +priority : 200 +refcnt : 1 +selftest : passed +internal : no +type : shash +blocksize : 1 +digestsize : 4 + +name : __ghash +driver : cryptd(__ghash-pclmulqdqni) +module : kernel +priority : 50 +refcnt : 1 +selftest : passed +internal : yes +type : ahash +async : yes +blocksize : 16 +digestsize : 16 + +name : ghash +driver : ghash-clmulni +module : ghash_clmulni_intel +priority : 400 +refcnt : 1 +selftest : passed +internal : no +type : ahash +async : yes +blocksize : 16 +digestsize : 16 + +name : __ghash +driver : __ghash-pclmulqdqni +module : ghash_clmulni_intel +priority : 0 +refcnt : 1 +selftest : passed +internal : yes +type : shash +blocksize : 16 +digestsize : 16 + +name : crc32c +driver : crc32c-intel +module : crc32c_intel +priority : 200 +refcnt : 5 +selftest : passed +internal : no +type : shash +blocksize : 1 +digestsize : 4 + +name : cbc(aes) +driver : cbc(aes-aesni) +module : kernel +priority : 300 +refcnt : 1 +selftest : passed +internal : no +type : skcipher +async : no +blocksize : 16 +min keysize : 16 +max keysize : 32 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : ctr(aes) +driver : ctr(aes-aesni) +module : kernel +priority : 300 +refcnt : 5 +selftest : passed +internal : no +type : skcipher +async : no +blocksize : 1 +min keysize : 16 +max keysize : 32 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : pkcs1pad(rsa,sha256) +driver : pkcs1pad(rsa-generic,sha256) +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : akcipher + +name : __xts(aes) +driver : cryptd(__xts-aes-aesni) +module : kernel +priority : 451 +refcnt : 1 +selftest : passed +internal : yes +type : skcipher +async : yes +blocksize : 16 +min keysize : 32 +max keysize : 64 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : xts(aes) +driver : xts-aes-aesni +module : kernel +priority : 401 +refcnt : 1 +selftest : passed +internal : no +type : skcipher +async : yes +blocksize : 16 +min keysize : 32 +max keysize : 64 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : __ctr(aes) +driver : cryptd(__ctr-aes-aesni) +module : kernel +priority : 450 +refcnt : 1 +selftest : passed +internal : yes +type : skcipher +async : yes +blocksize : 1 +min keysize : 16 +max keysize : 32 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : ctr(aes) +driver : ctr-aes-aesni +module : kernel +priority : 400 +refcnt : 1 +selftest : passed +internal : no +type : skcipher +async : yes +blocksize : 1 +min keysize : 16 +max keysize : 32 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : __cbc(aes) +driver : cryptd(__cbc-aes-aesni) +module : kernel +priority : 450 +refcnt : 1 +selftest : passed +internal : yes +type : skcipher +async : yes +blocksize : 16 +min keysize : 16 +max keysize : 32 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : cbc(aes) +driver : cbc-aes-aesni +module : kernel +priority : 400 +refcnt : 1 +selftest : passed +internal : no +type : skcipher +async : yes +blocksize : 16 +min keysize : 16 +max keysize : 32 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : __ecb(aes) +driver : cryptd(__ecb-aes-aesni) +module : kernel +priority : 450 +refcnt : 1 +selftest : passed +internal : yes +type : skcipher +async : yes +blocksize : 16 +min keysize : 16 +max keysize : 32 +ivsize : 0 +chunksize : 16 +walksize : 16 + +name : ecb(aes) +driver : ecb-aes-aesni +module : kernel +priority : 400 +refcnt : 1 +selftest : passed +internal : no +type : skcipher +async : yes +blocksize : 16 +min keysize : 16 +max keysize : 32 +ivsize : 0 +chunksize : 16 +walksize : 16 + +name : __generic-gcm-aes-aesni +driver : cryptd(__driver-generic-gcm-aes-aesni) +module : kernel +priority : 50 +refcnt : 1 +selftest : passed +internal : yes +type : aead +async : yes +blocksize : 1 +ivsize : 12 +maxauthsize : 16 +geniv : + +name : gcm(aes) +driver : generic-gcm-aesni +module : kernel +priority : 400 +refcnt : 1 +selftest : passed +internal : no +type : aead +async : yes +blocksize : 1 +ivsize : 12 +maxauthsize : 16 +geniv : + +name : __generic-gcm-aes-aesni +driver : __driver-generic-gcm-aes-aesni +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : yes +type : aead +async : no +blocksize : 1 +ivsize : 12 +maxauthsize : 16 +geniv : + +name : __gcm-aes-aesni +driver : cryptd(__driver-gcm-aes-aesni) +module : kernel +priority : 50 +refcnt : 1 +selftest : passed +internal : yes +type : aead +async : yes +blocksize : 1 +ivsize : 8 +maxauthsize : 16 +geniv : + +name : rfc4106(gcm(aes)) +driver : rfc4106-gcm-aesni +module : kernel +priority : 400 +refcnt : 1 +selftest : passed +internal : no +type : aead +async : yes +blocksize : 1 +ivsize : 8 +maxauthsize : 16 +geniv : + +name : __gcm-aes-aesni +driver : __driver-gcm-aes-aesni +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : yes +type : aead +async : no +blocksize : 1 +ivsize : 8 +maxauthsize : 16 +geniv : + +name : __xts(aes) +driver : __xts-aes-aesni +module : kernel +priority : 401 +refcnt : 1 +selftest : passed +internal : yes +type : skcipher +async : no +blocksize : 16 +min keysize : 32 +max keysize : 64 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : __ctr(aes) +driver : __ctr-aes-aesni +module : kernel +priority : 400 +refcnt : 1 +selftest : passed +internal : yes +type : skcipher +async : no +blocksize : 1 +min keysize : 16 +max keysize : 32 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : __cbc(aes) +driver : __cbc-aes-aesni +module : kernel +priority : 400 +refcnt : 1 +selftest : passed +internal : yes +type : skcipher +async : no +blocksize : 16 +min keysize : 16 +max keysize : 32 +ivsize : 16 +chunksize : 16 +walksize : 16 + +name : __ecb(aes) +driver : __ecb-aes-aesni +module : kernel +priority : 400 +refcnt : 1 +selftest : passed +internal : yes +type : skcipher +async : no +blocksize : 16 +min keysize : 16 +max keysize : 32 +ivsize : 0 +chunksize : 16 +walksize : 16 + +name : __aes +driver : __aes-aesni +module : kernel +priority : 300 +refcnt : 1 +selftest : passed +internal : yes +type : cipher +blocksize : 16 +min keysize : 16 +max keysize : 32 + +name : aes +driver : aes-aesni +module : kernel +priority : 300 +refcnt : 8 +selftest : passed +internal : no +type : cipher +blocksize : 16 +min keysize : 16 +max keysize : 32 + +name : hmac(sha1) +driver : hmac(sha1-generic) +module : kernel +priority : 100 +refcnt : 9 +selftest : passed +internal : no +type : shash +blocksize : 64 +digestsize : 20 + +name : ghash +driver : ghash-generic +module : kernel +priority : 100 +refcnt : 3 +selftest : passed +internal : no +type : shash +blocksize : 16 +digestsize : 16 + +name : jitterentropy_rng +driver : jitterentropy_rng +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_hmac_sha256 +module : kernel +priority : 221 +refcnt : 2 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_hmac_sha512 +module : kernel +priority : 220 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_hmac_sha384 +module : kernel +priority : 219 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_hmac_sha1 +module : kernel +priority : 218 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_sha256 +module : kernel +priority : 217 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_sha512 +module : kernel +priority : 216 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_sha384 +module : kernel +priority : 215 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_sha1 +module : kernel +priority : 214 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_ctr_aes256 +module : kernel +priority : 213 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_ctr_aes192 +module : kernel +priority : 212 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_nopr_ctr_aes128 +module : kernel +priority : 211 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : hmac(sha256) +driver : hmac(sha256-generic) +module : kernel +priority : 100 +refcnt : 10 +selftest : passed +internal : no +type : shash +blocksize : 64 +digestsize : 32 + +name : stdrng +driver : drbg_pr_hmac_sha256 +module : kernel +priority : 210 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_hmac_sha512 +module : kernel +priority : 209 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_hmac_sha384 +module : kernel +priority : 208 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_hmac_sha1 +module : kernel +priority : 207 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_sha256 +module : kernel +priority : 206 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_sha512 +module : kernel +priority : 205 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_sha384 +module : kernel +priority : 204 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_sha1 +module : kernel +priority : 203 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_ctr_aes256 +module : kernel +priority : 202 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_ctr_aes192 +module : kernel +priority : 201 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : stdrng +driver : drbg_pr_ctr_aes128 +module : kernel +priority : 200 +refcnt : 1 +selftest : passed +internal : no +type : rng +seedsize : 0 + +name : 842 +driver : 842-scomp +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : scomp + +name : 842 +driver : 842-generic +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : compression + +name : lzo-rle +driver : lzo-rle-scomp +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : scomp + +name : lzo-rle +driver : lzo-rle-generic +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : compression + +name : lzo +driver : lzo-scomp +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : scomp + +name : lzo +driver : lzo-generic +module : kernel +priority : 0 +refcnt : 9 +selftest : passed +internal : no +type : compression + +name : crct10dif +driver : crct10dif-generic +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : shash +blocksize : 1 +digestsize : 2 + +name : crc32c +driver : crc32c-generic +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : shash +blocksize : 1 +digestsize : 4 + +name : zlib-deflate +driver : zlib-deflate-scomp +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : scomp + +name : deflate +driver : deflate-scomp +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : scomp + +name : deflate +driver : deflate-generic +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : compression + +name : aes +driver : aes-generic +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : cipher +blocksize : 16 +min keysize : 16 +max keysize : 32 + +name : sha224 +driver : sha224-generic +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : shash +blocksize : 64 +digestsize : 28 + +name : sha256 +driver : sha256-generic +module : kernel +priority : 100 +refcnt : 11 +selftest : passed +internal : no +type : shash +blocksize : 64 +digestsize : 32 + +name : sha1 +driver : sha1-generic +module : kernel +priority : 100 +refcnt : 11 +selftest : passed +internal : no +type : shash +blocksize : 64 +digestsize : 20 + +name : md5 +driver : md5-generic +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : shash +blocksize : 64 +digestsize : 16 + +name : ecb(cipher_null) +driver : ecb-cipher_null +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : skcipher +async : no +blocksize : 1 +min keysize : 0 +max keysize : 0 +ivsize : 0 +chunksize : 1 +walksize : 1 + +name : digest_null +driver : digest_null-generic +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : shash +blocksize : 1 +digestsize : 0 + +name : compress_null +driver : compress_null-generic +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : compression + +name : cipher_null +driver : cipher_null-generic +module : kernel +priority : 0 +refcnt : 1 +selftest : passed +internal : no +type : cipher +blocksize : 1 +min keysize : 0 +max keysize : 0 + +name : rsa +driver : rsa-generic +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : akcipher + +name : dh +driver : dh-generic +module : kernel +priority : 100 +refcnt : 1 +selftest : passed +internal : no +type : kpp + +name : aes +driver : aes-asm +module : kernel +priority : 200 +refcnt : 1 +selftest : passed +internal : no +type : cipher +blocksize : 16 +min keysize : 16 +max keysize : 32 + +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/diskstats +Lines: 49 + 1 0 ram0 0 0 0 0 0 0 0 0 0 0 0 + 1 1 ram1 0 0 0 0 0 0 0 0 0 0 0 + 1 2 ram2 0 0 0 0 0 0 0 0 0 0 0 + 1 3 ram3 0 0 0 0 0 0 0 0 0 0 0 + 1 4 ram4 0 0 0 0 0 0 0 0 0 0 0 + 1 5 ram5 0 0 0 0 0 0 0 0 0 0 0 + 1 6 ram6 0 0 0 0 0 0 0 0 0 0 0 + 1 7 ram7 0 0 0 0 0 0 0 0 0 0 0 + 1 8 ram8 0 0 0 0 0 0 0 0 0 0 0 + 1 9 ram9 0 0 0 0 0 0 0 0 0 0 0 + 1 10 ram10 0 0 0 0 0 0 0 0 0 0 0 + 1 11 ram11 0 0 0 0 0 0 0 0 0 0 0 + 1 12 ram12 0 0 0 0 0 0 0 0 0 0 0 + 1 13 ram13 0 0 0 0 0 0 0 0 0 0 0 + 1 14 ram14 0 0 0 0 0 0 0 0 0 0 0 + 1 15 ram15 0 0 0 0 0 0 0 0 0 0 0 + 7 0 loop0 0 0 0 0 0 0 0 0 0 0 0 + 7 1 loop1 0 0 0 0 0 0 0 0 0 0 0 + 7 2 loop2 0 0 0 0 0 0 0 0 0 0 0 + 7 3 loop3 0 0 0 0 0 0 0 0 0 0 0 + 7 4 loop4 0 0 0 0 0 0 0 0 0 0 0 + 7 5 loop5 0 0 0 0 0 0 0 0 0 0 0 + 7 6 loop6 0 0 0 0 0 0 0 0 0 0 0 + 7 7 loop7 0 0 0 0 0 0 0 0 0 0 0 + 8 0 sda 25354637 34367663 1003346126 18492372 28444756 11134226 505697032 63877960 0 9653880 82621804 + 8 1 sda1 250 0 2000 36 0 0 0 0 0 36 36 + 8 2 sda2 246 0 1968 32 0 0 0 0 0 32 32 + 8 3 sda3 340 13 2818 52 11 8 152 8 0 56 60 + 8 4 sda4 25353629 34367650 1003337964 18492232 27448755 11134218 505696880 61593380 0 7576432 80332428 + 252 0 dm-0 59910002 0 1003337218 46229572 39231014 0 505696880 1158557800 0 11325968 1206301256 + 252 1 dm-1 388 0 3104 84 74 0 592 0 0 76 84 + 252 2 dm-2 11571 0 308350 6536 153522 0 5093416 122884 0 65400 129416 + 252 3 dm-3 3870 0 3870 104 0 0 0 0 0 16 104 + 252 4 dm-4 392 0 1034 28 38 0 137 16 0 24 44 + 252 5 dm-5 3729 0 84279 924 98918 0 1151688 104684 0 58848 105632 + 179 0 mmcblk0 192 3 1560 156 0 0 0 0 0 136 156 + 179 1 mmcblk0p1 17 3 160 24 0 0 0 0 0 24 24 + 179 2 mmcblk0p2 95 0 760 68 0 0 0 0 0 68 68 + 2 0 fd0 2 0 16 80 0 0 0 0 0 80 80 + 254 0 vda 1775784 15386 32670882 8655768 6038856 20711856 213637440 2069221364 0 41614592 2077872228 + 254 1 vda1 668 85 5984 956 207 4266 35784 32772 0 8808 33720 + 254 2 vda2 1774936 15266 32663262 8654692 5991028 20707590 213601656 2069152216 0 41607628 2077801992 + 11 0 sr0 0 0 0 0 0 0 0 0 0 0 0 + 259 0 nvme0n1 47114 4 4643973 21650 1078320 43950 39451633 1011053 0 222766 1032546 + 259 1 nvme0n1p1 1140 0 9370 16 1 0 1 0 0 16 16 + 259 2 nvme0n1p2 45914 4 4631243 21626 1036885 43950 39451632 919480 0 131580 940970 + 8 0 sdb 326552 841 9657779 84 41822 2895 1972905 5007 0 60730 67070 68851 0 1925173784 11130 + 8 1 sdb1 231 3 34466 4 24 23 106 0 0 64 64 0 0 0 0 + 8 2 sdb2 326310 838 9622281 67 40726 2872 1972799 4924 0 58250 64567 68851 0 1925173784 11130 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/fs +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/fs/xfs +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/fs/xfs/stat +Lines: 23 +extent_alloc 92447 97589 92448 93751 +abt 0 0 0 0 +blk_map 1767055 188820 184891 92447 92448 2140766 0 +bmbt 0 0 0 0 +dir 185039 92447 92444 136422 +trans 706 944304 0 +ig 185045 58807 0 126238 0 33637 22 +log 2883 113448 9 17360 739 +push_ail 945014 0 134260 15483 0 3940 464 159985 0 40 +xstrat 92447 0 +rw 107739 94045 +attr 4 0 0 0 +icluster 8677 7849 135802 +vnodes 92601 0 0 0 92444 92444 92444 0 +buf 2666287 7122 2659202 3599 2 7085 0 10297 7085 +abtb2 184941 1277345 13257 13278 0 0 0 0 0 0 0 0 0 0 2746147 +abtc2 345295 2416764 172637 172658 0 0 0 0 0 0 0 0 0 0 21406023 +bmbt2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +ibt2 343004 1358467 0 0 0 0 0 0 0 0 0 0 0 0 0 +fibt2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +qm 0 0 0 0 0 0 0 0 +xpc 399724544 92823103 86219234 +debug 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/mdstat +Lines: 56 +Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] + +md3 : active raid6 sda1[8] sdh1[7] sdg1[6] sdf1[5] sde1[11] sdd1[3] sdc1[10] sdb1[9] sdd1[10](S) sdd2[11](S) + 5853468288 blocks super 1.2 level 6, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] + +md127 : active raid1 sdi2[0] sdj2[1] + 312319552 blocks [2/2] [UU] + +md0 : active raid1 sdi1[0] sdj1[1] + 248896 blocks [2/2] [UU] + +md4 : inactive raid1 sda3[0](F) sdb3[1](S) + 4883648 blocks [2/2] [UU] + +md6 : active raid1 sdb2[2](F) sdc[1](S) sda2[0] + 195310144 blocks [2/1] [U_] + [=>...................] recovery = 8.5% (16775552/195310144) finish=17.0min speed=259783K/sec + +md8 : active raid1 sdb1[1] sda1[0] sdc[2](S) sde[3](S) + 195310144 blocks [2/2] [UU] + [=>...................] resync = 8.5% (16775552/195310144) finish=17.0min speed=259783K/sec + +md7 : active raid6 sdb1[0] sde1[3] sdd1[2] sdc1[1](F) + 7813735424 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/3] [U_UU] + bitmap: 0/30 pages [0KB], 65536KB chunk + +md9 : active raid1 sdc2[2] sdd2[3] sdb2[1] sda2[0] sde[4](F) sdf[5](F) sdg[6](S) + 523968 blocks super 1.2 [4/4] [UUUU] + resync=DELAYED + +md10 : active raid0 sda1[0] sdb1[1] + 314159265 blocks 64k chunks + +md11 : active (auto-read-only) raid1 sdb2[0] sdc2[1] sdc3[2](F) hda[4](S) ssdc2[3](S) + 4190208 blocks super 1.2 [2/2] [UU] + resync=PENDING + +md12 : active raid0 sdc2[0] sdd2[1] + 3886394368 blocks super 1.2 512k chunks + +md126 : active raid0 sdb[1] sdc[0] + 1855870976 blocks super external:/md127/0 128k chunks + +md219 : inactive sdb[2](S) sdc[1](S) sda[0](S) + 7932 blocks super external:imsm + +md00 : active raid0 xvdb[0] + 4186624 blocks super 1.2 256k chunks + +md120 : active linear sda1[1] sdb1[0] + 2095104 blocks super 1.2 0k rounding + +md101 : active (read-only) raid0 sdb[2] sdd[1] sdc[0] + 322560 blocks super 1.2 512k chunks + +unused devices: +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/net +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/arp +Lines: 2 +IP address HW type Flags HW address Mask Device +192.168.224.1 0x1 0x2 00:50:56:c0:00:08 * ens33 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/dev +Lines: 6 +Inter-| Receive | Transmit + face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed +vethf345468: 648 8 0 0 0 0 0 0 438 5 0 0 0 0 0 0 + lo: 1664039048 1566805 0 0 0 0 0 0 1664039048 1566805 0 0 0 0 0 0 +docker0: 2568 38 0 0 0 0 0 0 438 5 0 0 0 0 0 0 + eth0: 874354587 1036395 0 0 0 0 0 0 563352563 732147 0 0 0 0 0 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/ip_vs +Lines: 21 +IP Virtual Server version 1.2.1 (size=4096) +Prot LocalAddress:Port Scheduler Flags + -> RemoteAddress:Port Forward Weight ActiveConn InActConn +TCP C0A80016:0CEA wlc + -> C0A85216:0CEA Tunnel 100 248 2 + -> C0A85318:0CEA Tunnel 100 248 2 + -> C0A85315:0CEA Tunnel 100 248 1 +TCP C0A80039:0CEA wlc + -> C0A85416:0CEA Tunnel 0 0 0 + -> C0A85215:0CEA Tunnel 100 1499 0 + -> C0A83215:0CEA Tunnel 100 1498 0 +TCP C0A80037:0CEA wlc + -> C0A8321A:0CEA Tunnel 0 0 0 + -> C0A83120:0CEA Tunnel 100 0 0 +TCP [2620:0000:0000:0000:0000:0000:0000:0001]:0050 sh + -> [2620:0000:0000:0000:0000:0000:0000:0002]:0050 Route 1 0 0 + -> [2620:0000:0000:0000:0000:0000:0000:0003]:0050 Route 1 0 0 + -> [2620:0000:0000:0000:0000:0000:0000:0004]:0050 Route 1 1 1 +FWM 10001000 wlc + -> C0A8321A:0CEA Route 0 0 1 + -> C0A83215:0CEA Route 0 0 2 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/ip_vs_stats +Lines: 6 + Total Incoming Outgoing Incoming Outgoing + Conns Packets Packets Bytes Bytes + 16AA370 E33656E5 0 51D8C8883AB3 0 + + Conns/s Pkts/s Pkts/s Bytes/s Bytes/s + 4 1FB3C 0 1282A8F 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/net/rpc +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/rpc/nfs +Lines: 5 +net 18628 0 18628 6 +rpc 4329785 0 4338291 +proc2 18 2 69 0 0 4410 0 0 0 0 0 0 0 0 0 0 0 99 2 +proc3 22 1 4084749 29200 94754 32580 186 47747 7981 8639 0 6356 0 6962 0 7958 0 0 241 4 4 2 39 +proc4 61 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/rpc/nfsd +Lines: 11 +rc 0 6 18622 +fh 0 0 0 0 0 +io 157286400 0 +th 8 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 +ra 32 0 0 0 0 0 0 0 0 0 0 0 +net 18628 0 18628 6 +rpc 18628 0 0 0 0 +proc2 18 2 69 0 0 4410 0 0 0 0 0 0 0 0 0 0 0 99 2 +proc3 22 2 112 0 2719 111 0 0 0 0 0 0 0 0 0 0 0 27 216 0 2 1 0 +proc4 2 2 10853 +proc4ops 72 0 0 0 1098 2 0 0 0 0 8179 5896 0 0 0 0 5900 0 0 2 0 2 0 9609 0 2 150 1272 0 0 0 1236 0 0 0 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/softnet_stat +Lines: 1 +00015c73 00020e76 F0000769 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/unix +Lines: 6 +Num RefCount Protocol Flags Type St Inode Path +0000000000000000: 00000002 00000000 00010000 0001 01 3442596 /var/run/postgresql/.s.PGSQL.5432 +0000000000000000: 0000000a 00000000 00010000 0005 01 10061 /run/udev/control +0000000000000000: 00000007 00000000 00000000 0002 01 12392 /dev/log +0000000000000000: 00000003 00000000 00000000 0001 03 4787297 /var/run/postgresql/.s.PGSQL.5432 +0000000000000000: 00000003 00000000 00000000 0001 03 5091797 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/unix_without_inode +Lines: 6 +Num RefCount Protocol Flags Type St Path +0000000000000000: 00000002 00000000 00010000 0001 01 /var/run/postgresql/.s.PGSQL.5432 +0000000000000000: 0000000a 00000000 00010000 0005 01 /run/udev/control +0000000000000000: 00000007 00000000 00000000 0002 01 /dev/log +0000000000000000: 00000003 00000000 00000000 0001 03 /var/run/postgresql/.s.PGSQL.5432 +0000000000000000: 00000003 00000000 00000000 0001 03 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/net/xfrm_stat +Lines: 28 +XfrmInError 1 +XfrmInBufferError 2 +XfrmInHdrError 4 +XfrmInNoStates 3 +XfrmInStateProtoError 40 +XfrmInStateModeError 100 +XfrmInStateSeqError 6000 +XfrmInStateExpired 4 +XfrmInStateMismatch 23451 +XfrmInStateInvalid 55555 +XfrmInTmplMismatch 51 +XfrmInNoPols 65432 +XfrmInPolBlock 100 +XfrmInPolError 10000 +XfrmOutError 1000000 +XfrmOutBundleGenError 43321 +XfrmOutBundleCheckError 555 +XfrmOutNoStates 869 +XfrmOutStateProtoError 4542 +XfrmOutStateModeError 4 +XfrmOutStateSeqError 543 +XfrmOutStateExpired 565 +XfrmOutPolBlock 43456 +XfrmOutPolDead 7656 +XfrmOutPolError 1454 +XfrmFwdHdrError 6654 +XfrmOutStateInvalid 28765 +XfrmAcquireError 24532 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/pressure +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/pressure/cpu +Lines: 1 +some avg10=0.10 avg60=2.00 avg300=3.85 total=15 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/pressure/io +Lines: 2 +some avg10=0.10 avg60=2.00 avg300=3.85 total=15 +full avg10=0.20 avg60=3.00 avg300=4.95 total=25 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/pressure/memory +Lines: 2 +some avg10=0.10 avg60=2.00 avg300=3.85 total=15 +full avg10=0.20 avg60=3.00 avg300=4.95 total=25 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/schedstat +Lines: 6 +version 15 +timestamp 15819019232 +cpu0 498494191 0 3533438552 2553969831 3853684107 2465731542 2045936778163039 343796328169361 4767485306 +domain0 00000000,00000003 212499247 210112015 1861015 1860405436 536440 369895 32599 210079416 25368550 24241256 384652 927363878 807233 6366 1647 24239609 2122447165 1886868564 121112060 2848625533 125678146 241025 1032026 1885836538 2545 12 2533 0 0 0 0 0 0 1387952561 21076581 0 +cpu1 518377256 0 4155211005 2778589869 10466382 2867629021 1904686152592476 364107263788241 5145567945 +domain0 00000000,00000003 217653037 215526982 1577949 1580427380 557469 393576 28538 215498444 28721913 27662819 371153 870843407 745912 5523 1639 27661180 2331056874 2107732788 111442342 652402556 123615235 196159 1045245 2106687543 2400 3 2397 0 0 0 0 0 0 1437804657 26220076 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/self +SymlinkTo: 26231 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/stat +Lines: 16 +cpu 301854 612 111922 8979004 3552 2 3944 0 0 0 +cpu0 44490 19 21045 1087069 220 1 3410 0 0 0 +cpu1 47869 23 16474 1110787 591 0 46 0 0 0 +cpu2 46504 36 15916 1112321 441 0 326 0 0 0 +cpu3 47054 102 15683 1113230 533 0 60 0 0 0 +cpu4 28413 25 10776 1140321 217 0 8 0 0 0 +cpu5 29271 101 11586 1136270 672 0 30 0 0 0 +cpu6 29152 36 10276 1139721 319 0 29 0 0 0 +cpu7 29098 268 10164 1139282 555 0 31 0 0 0 +intr 8885917 17 0 0 0 0 0 0 0 1 79281 0 0 0 0 0 0 0 231237 0 0 0 0 250586 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 223424 190745 13 906 1283803 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +ctxt 38014093 +btime 1418183276 +processes 26442 +procs_running 2 +procs_blocked 1 +softirq 5057579 250191 1481983 1647 211099 186066 0 1783454 622196 12499 508444 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/symlinktargets +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/symlinktargets/README +Lines: 2 +This directory contains some empty files that are the symlinks the files in the "fd" directory point to. +They are otherwise ignored by the tests +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/symlinktargets/abc +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/symlinktargets/def +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/symlinktargets/ghi +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/symlinktargets/uvw +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/symlinktargets/xyz +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/sys +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/proc/sys/vm +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/admin_reserve_kbytes +Lines: 1 +8192 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/block_dump +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/compact_unevictable_allowed +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/dirty_background_bytes +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/dirty_background_ratio +Lines: 1 +10 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/dirty_bytes +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/dirty_expire_centisecs +Lines: 1 +3000 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/dirty_ratio +Lines: 1 +20 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/dirty_writeback_centisecs +Lines: 1 +500 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/dirtytime_expire_seconds +Lines: 1 +43200 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/drop_caches +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/extfrag_threshold +Lines: 1 +500 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/hugetlb_shm_group +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/laptop_mode +Lines: 1 +5 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/legacy_va_layout +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/lowmem_reserve_ratio +Lines: 1 +256 256 32 0 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/max_map_count +Lines: 1 +65530 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/memory_failure_early_kill +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/memory_failure_recovery +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/min_free_kbytes +Lines: 1 +67584 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/min_slab_ratio +Lines: 1 +5 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/min_unmapped_ratio +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/mmap_min_addr +Lines: 1 +65536 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/nr_hugepages +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/nr_hugepages_mempolicy +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/nr_overcommit_hugepages +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/numa_stat +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/numa_zonelist_order +Lines: 1 +Node +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/oom_dump_tasks +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/oom_kill_allocating_task +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/overcommit_kbytes +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/overcommit_memory +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/overcommit_ratio +Lines: 1 +50 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/page-cluster +Lines: 1 +3 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/panic_on_oom +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/percpu_pagelist_fraction +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/stat_interval +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/swappiness +Lines: 1 +60 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/user_reserve_kbytes +Lines: 1 +131072 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/vfs_cache_pressure +Lines: 1 +100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/watermark_boost_factor +Lines: 1 +15000 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/watermark_scale_factor +Lines: 1 +10 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/sys/vm/zone_reclaim_mode +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/proc/zoneinfo +Lines: 262 +Node 0, zone DMA + per-node stats + nr_inactive_anon 230981 + nr_active_anon 547580 + nr_inactive_file 316904 + nr_active_file 346282 + nr_unevictable 115467 + nr_slab_reclaimable 131220 + nr_slab_unreclaimable 47320 + nr_isolated_anon 0 + nr_isolated_file 0 + workingset_nodes 11627 + workingset_refault 466886 + workingset_activate 276925 + workingset_restore 84055 + workingset_nodereclaim 487 + nr_anon_pages 795576 + nr_mapped 215483 + nr_file_pages 761874 + nr_dirty 908 + nr_writeback 0 + nr_writeback_temp 0 + nr_shmem 224925 + nr_shmem_hugepages 0 + nr_shmem_pmdmapped 0 + nr_anon_transparent_hugepages 0 + nr_unstable 0 + nr_vmscan_write 12950 + nr_vmscan_immediate_reclaim 3033 + nr_dirtied 8007423 + nr_written 7752121 + nr_kernel_misc_reclaimable 0 + pages free 3952 + min 33 + low 41 + high 49 + spanned 4095 + present 3975 + managed 3956 + protection: (0, 2877, 7826, 7826, 7826) + nr_free_pages 3952 + nr_zone_inactive_anon 0 + nr_zone_active_anon 0 + nr_zone_inactive_file 0 + nr_zone_active_file 0 + nr_zone_unevictable 0 + nr_zone_write_pending 0 + nr_mlock 0 + nr_page_table_pages 0 + nr_kernel_stack 0 + nr_bounce 0 + nr_zspages 0 + nr_free_cma 0 + numa_hit 1 + numa_miss 0 + numa_foreign 0 + numa_interleave 0 + numa_local 1 + numa_other 0 + pagesets + cpu: 0 + count: 0 + high: 0 + batch: 1 + vm stats threshold: 8 + cpu: 1 + count: 0 + high: 0 + batch: 1 + vm stats threshold: 8 + cpu: 2 + count: 0 + high: 0 + batch: 1 + vm stats threshold: 8 + cpu: 3 + count: 0 + high: 0 + batch: 1 + vm stats threshold: 8 + cpu: 4 + count: 0 + high: 0 + batch: 1 + vm stats threshold: 8 + cpu: 5 + count: 0 + high: 0 + batch: 1 + vm stats threshold: 8 + cpu: 6 + count: 0 + high: 0 + batch: 1 + vm stats threshold: 8 + cpu: 7 + count: 0 + high: 0 + batch: 1 + vm stats threshold: 8 + node_unreclaimable: 0 + start_pfn: 1 +Node 0, zone DMA32 + pages free 204252 + min 19510 + low 21059 + high 22608 + spanned 1044480 + present 759231 + managed 742806 + protection: (0, 0, 4949, 4949, 4949) + nr_free_pages 204252 + nr_zone_inactive_anon 118558 + nr_zone_active_anon 106598 + nr_zone_inactive_file 75475 + nr_zone_active_file 70293 + nr_zone_unevictable 66195 + nr_zone_write_pending 64 + nr_mlock 4 + nr_page_table_pages 1756 + nr_kernel_stack 2208 + nr_bounce 0 + nr_zspages 0 + nr_free_cma 0 + numa_hit 113952967 + numa_miss 0 + numa_foreign 0 + numa_interleave 0 + numa_local 113952967 + numa_other 0 + pagesets + cpu: 0 + count: 345 + high: 378 + batch: 63 + vm stats threshold: 48 + cpu: 1 + count: 356 + high: 378 + batch: 63 + vm stats threshold: 48 + cpu: 2 + count: 325 + high: 378 + batch: 63 + vm stats threshold: 48 + cpu: 3 + count: 346 + high: 378 + batch: 63 + vm stats threshold: 48 + cpu: 4 + count: 321 + high: 378 + batch: 63 + vm stats threshold: 48 + cpu: 5 + count: 316 + high: 378 + batch: 63 + vm stats threshold: 48 + cpu: 6 + count: 373 + high: 378 + batch: 63 + vm stats threshold: 48 + cpu: 7 + count: 339 + high: 378 + batch: 63 + vm stats threshold: 48 + node_unreclaimable: 0 + start_pfn: 4096 +Node 0, zone Normal + pages free 18553 + min 11176 + low 13842 + high 16508 + spanned 1308160 + present 1308160 + managed 1268711 + protection: (0, 0, 0, 0, 0) + nr_free_pages 18553 + nr_zone_inactive_anon 112423 + nr_zone_active_anon 440982 + nr_zone_inactive_file 241429 + nr_zone_active_file 275989 + nr_zone_unevictable 49272 + nr_zone_write_pending 844 + nr_mlock 154 + nr_page_table_pages 9750 + nr_kernel_stack 15136 + nr_bounce 0 + nr_zspages 0 + nr_free_cma 0 + numa_hit 162718019 + numa_miss 0 + numa_foreign 0 + numa_interleave 26812 + numa_local 162718019 + numa_other 0 + pagesets + cpu: 0 + count: 316 + high: 378 + batch: 63 + vm stats threshold: 56 + cpu: 1 + count: 366 + high: 378 + batch: 63 + vm stats threshold: 56 + cpu: 2 + count: 60 + high: 378 + batch: 63 + vm stats threshold: 56 + cpu: 3 + count: 256 + high: 378 + batch: 63 + vm stats threshold: 56 + cpu: 4 + count: 253 + high: 378 + batch: 63 + vm stats threshold: 56 + cpu: 5 + count: 159 + high: 378 + batch: 63 + vm stats threshold: 56 + cpu: 6 + count: 311 + high: 378 + batch: 63 + vm stats threshold: 56 + cpu: 7 + count: 264 + high: 378 + batch: 63 + vm stats threshold: 56 + node_unreclaimable: 0 + start_pfn: 1048576 +Node 0, zone Movable + pages free 0 + min 0 + low 0 + high 0 + spanned 0 + present 0 + managed 0 + protection: (0, 0, 0, 0, 0) +Node 0, zone Device + pages free 0 + min 0 + low 0 + high 0 + spanned 0 + present 0 + managed 0 + protection: (0, 0, 0, 0, 0) +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/block +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/block/dm-0 +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/block/dm-0/stat +Lines: 1 +6447303 0 710266738 1529043 953216 0 31201176 4557464 0 796160 6088971 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/block/sda +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/block/sda/stat +Lines: 1 +9652963 396792 759304206 412943 8422549 6731723 286915323 13947418 0 5658367 19174573 1 2 3 12 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/infiniband +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/infiniband/mlx4_0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/board_id +Lines: 1 +SM_1141000001000 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/fw_ver +Lines: 1 +2.31.5050 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/hca_type +Lines: 1 +MT4099 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/infiniband/mlx4_0/ports +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/infiniband/mlx4_0/ports/1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/excessive_buffer_overrun_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/link_downed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/link_error_recovery +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/local_link_integrity_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_constraint_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_data +Lines: 1 +2221223609 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_packets +Lines: 1 +87169372 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_remote_physical_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_rcv_switch_relay_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_constraint_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_data +Lines: 1 +26509113295 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_discards +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_packets +Lines: 1 +85734114 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/port_xmit_wait +Lines: 1 +3599 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/counters/symbol_error +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/phys_state +Lines: 1 +5: LinkUp +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/rate +Lines: 1 +40 Gb/sec (4X QDR) +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/1/state +Lines: 1 +4: ACTIVE +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/infiniband/mlx4_0/ports/2 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/excessive_buffer_overrun_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/link_downed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/link_error_recovery +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/local_link_integrity_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_constraint_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_data +Lines: 1 +2460436784 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_packets +Lines: 1 +89332064 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_remote_physical_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_rcv_switch_relay_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_constraint_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_data +Lines: 1 +26540356890 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_discards +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_packets +Lines: 1 +88622850 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/port_xmit_wait +Lines: 1 +3846 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/counters/symbol_error +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/phys_state +Lines: 1 +5: LinkUp +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/rate +Lines: 1 +40 Gb/sec (4X QDR) +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/infiniband/mlx4_0/ports/2/state +Lines: 1 +4: ACTIVE +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/net +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/net/eth0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/addr_assign_type +Lines: 1 +3 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/addr_len +Lines: 1 +6 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/address +Lines: 1 +01:01:01:01:01:01 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/broadcast +Lines: 1 +ff:ff:ff:ff:ff:ff +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/carrier +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/carrier_changes +Lines: 1 +2 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/carrier_down_count +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/carrier_up_count +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/dev_id +Lines: 1 +0x20 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/device +SymlinkTo: ../../../devices/pci0000:00/0000:00:1f.6/ +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/dormant +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/duplex +Lines: 1 +full +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/flags +Lines: 1 +0x1303 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/ifalias +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/ifindex +Lines: 1 +2 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/iflink +Lines: 1 +2 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/link_mode +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/mtu +Lines: 1 +1500 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/name_assign_type +Lines: 1 +2 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/netdev_group +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/operstate +Lines: 1 +up +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/phys_port_id +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/phys_port_name +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/phys_switch_id +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/speed +Lines: 1 +1000 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/tx_queue_len +Lines: 1 +1000 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/net/eth0/type +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/power_supply +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/power_supply/AC +SymlinkTo: ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/power_supply/BAT0 +SymlinkTo: ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/thermal +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/thermal/cooling_device0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/cooling_device0/cur_state +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/cooling_device0/max_state +Lines: 1 +50 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/cooling_device0/type +Lines: 1 +Processor +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/thermal/cooling_device1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/cooling_device1/cur_state +Lines: 1 +-1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/cooling_device1/max_state +Lines: 1 +27 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/cooling_device1/type +Lines: 1 +intel_powerclamp +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/thermal/thermal_zone0 +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/thermal_zone0/policy +Lines: 1 +step_wise +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/thermal_zone0/temp +Lines: 1 +49925 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/thermal_zone0/type +Lines: 1 +bcm2835_thermal +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/class/thermal/thermal_zone1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/thermal_zone1/mode +Lines: 1 +enabled +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/thermal_zone1/passive +Lines: 1 +0 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/thermal_zone1/policy +Lines: 1 +step_wise +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/thermal_zone1/temp +Lines: 1 +44000 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/class/thermal/thermal_zone1/type +Lines: 1 +acpitz +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/device +SymlinkTo: ../../../ACPI0003:00 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/online +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/async +Lines: 1 +disabled +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/autosuspend_delay_ms +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/control +Lines: 1 +auto +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_active_kids +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_active_time +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_enabled +Lines: 1 +disabled +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_status +Lines: 1 +unsupported +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_suspended_time +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/runtime_usage +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup +Lines: 1 +enabled +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_abort_count +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_active +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_active_count +Lines: 1 +1 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_count +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_expire_count +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_last_time_ms +Lines: 1 +10598 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_max_time_ms +Lines: 1 +1 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_prevent_sleep_time_ms +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup_total_time_ms +Lines: 1 +1 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/subsystem +SymlinkTo: ../../../../../../../../../class/power_supply +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/type +Lines: 1 +Mains +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC/uevent +Lines: 2 +POWER_SUPPLY_NAME=AC +POWER_SUPPLY_ONLINE=0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/alarm +Lines: 1 +2369000 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/capacity +Lines: 1 +98 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/capacity_level +Lines: 1 +Normal +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/charge_start_threshold +Lines: 1 +95 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/charge_stop_threshold +Lines: 1 +100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/cycle_count +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/device +SymlinkTo: ../../../PNP0C0A:00 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full +Lines: 1 +50060000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full_design +Lines: 1 +47520000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now +Lines: 1 +49450000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/manufacturer +Lines: 1 +LGC +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/model_name +Lines: 1 +LNV-45N1 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/async +Lines: 1 +disabled +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/autosuspend_delay_ms +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/control +Lines: 1 +auto +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_active_kids +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_active_time +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_enabled +Lines: 1 +disabled +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_status +Lines: 1 +unsupported +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_suspended_time +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/runtime_usage +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power_now +Lines: 1 +4830000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/present +Lines: 1 +1 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/serial_number +Lines: 1 +38109 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/status +Lines: 1 +Discharging +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/subsystem +SymlinkTo: ../../../../../../../../../class/power_supply +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/technology +Lines: 1 +Li-ion +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/type +Lines: 1 +Battery +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/uevent +Lines: 16 +POWER_SUPPLY_NAME=BAT0 +POWER_SUPPLY_STATUS=Discharging +POWER_SUPPLY_PRESENT=1 +POWER_SUPPLY_TECHNOLOGY=Li-ion +POWER_SUPPLY_CYCLE_COUNT=0 +POWER_SUPPLY_VOLTAGE_MIN_DESIGN=10800000 +POWER_SUPPLY_VOLTAGE_NOW=11750000 +POWER_SUPPLY_POWER_NOW=5064000 +POWER_SUPPLY_ENERGY_FULL_DESIGN=47520000 +POWER_SUPPLY_ENERGY_FULL=47390000 +POWER_SUPPLY_ENERGY_NOW=40730000 +POWER_SUPPLY_CAPACITY=85 +POWER_SUPPLY_CAPACITY_LEVEL=Normal +POWER_SUPPLY_MODEL_NAME=LNV-45N1 +POWER_SUPPLY_MANUFACTURER=LGC +POWER_SUPPLY_SERIAL_NUMBER=38109 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/voltage_min_design +Lines: 1 +10800000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/voltage_now +Lines: 1 +12229000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/dirty_data +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_day +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_day/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_day/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_day/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_day/cache_hit_ratio +Lines: 1 +100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_day/cache_hits +Lines: 1 +289 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_day/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_day/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_day/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_five_minute +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_five_minute/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_five_minute/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_five_minute/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_five_minute/cache_hit_ratio +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_five_minute/cache_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_five_minute/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_five_minute/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_five_minute/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_hour +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_hour/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_hour/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_hour/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_hour/cache_hit_ratio +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_hour/cache_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_hour/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_hour/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_hour/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_total +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_total/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_total/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_total/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_total/cache_hit_ratio +Lines: 1 +100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_total/cache_hits +Lines: 1 +546 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_total/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_total/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb/bcache/stats_total/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4/target4:0:0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4/target4:0:0/4:0:0:0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4/target4:0:0/4:0:0:0/block +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4/target4:0:0/4:0:0:0/block/sdc +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4/target4:0:0/4:0:0:0/block/sdc/bcache +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4/target4:0:0/4:0:0:0/block/sdc/bcache/io_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4/target4:0:0/4:0:0:0/block/sdc/bcache/metadata_written +Lines: 1 +512 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4/target4:0:0/4:0:0:0/block/sdc/bcache/priority_stats +Lines: 5 +Unused: 99% +Metadata: 0% +Average: 10473 +Sectors per Q: 64 +Quantiles: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946] +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:0d.0/ata5/host4/target4:0:0/4:0:0:0/block/sdc/bcache/written +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/pci0000:00/0000:00:1f.6 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/ari_enabled +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/broken_parity_status +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/class +Lines: 1 +0x020000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/consistent_dma_mask_bits +Lines: 1 +64 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/d3cold_allowed +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/device +Lines: 1 +0x15d7 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/dma_mask_bits +Lines: 1 +64 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/driver_override +Lines: 1 +(null) +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/enable +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/irq +Lines: 1 +140 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/local_cpulist +Lines: 1 +0-7 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/local_cpus +Lines: 1 +ff +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/modalias +Lines: 1 +pci:v00008086d000015D7sv000017AAsd0000225Abc02sc00i00 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/msi_bus +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/numa_node +Lines: 1 +-1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/resource +Lines: 13 +0x00000000ec200000 0x00000000ec21ffff 0x0000000000040200 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +0x0000000000000000 0x0000000000000000 0x0000000000000000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/revision +Lines: 1 +0x21 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/subsystem_device +Lines: 1 +0x225a +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/subsystem_vendor +Lines: 1 +0x17aa +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/uevent +Lines: 6 +DRIVER=e1000e +PCI_CLASS=20000 +PCI_ID=8086:15D7 +PCI_SUBSYS_ID=17AA:225A +PCI_SLOT_NAME=0000:00:1f.6 +MODALIAS=pci:v00008086d000015D7sv000017AAsd0000225Abc02sc00i00 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/pci0000:00/0000:00:1f.6/vendor +Lines: 1 +0x8086 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/rbd +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/rbd/0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/rbd/0/name +Lines: 1 +demo +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/rbd/0/pool +Lines: 1 +iscsi-images +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/rbd/1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/rbd/1/name +Lines: 1 +wrong +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/rbd/1/pool +Lines: 1 +wrong-images +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/clocksource +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/clocksource/clocksource0 +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/clocksource/clocksource0/available_clocksource +Lines: 1 +tsc hpet acpi_pm +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/clocksource/clocksource0/current_clocksource +Lines: 1 +tsc +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpu0 +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu0/cpufreq +SymlinkTo: ../cpufreq/policy0 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpu0/thermal_throttle +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu0/thermal_throttle/core_throttle_count +Lines: 1 +10084 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu0/thermal_throttle/package_throttle_count +Lines: 1 +34818 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpu0/topology +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu0/topology/core_id +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu0/topology/core_siblings +Lines: 1 +ff +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu0/topology/core_siblings_list +Lines: 1 +0-7 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu0/topology/physical_package_id +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu0/topology/thread_siblings +Lines: 1 +11 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu0/topology/thread_siblings_list +Lines: 1 +0,4 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpu1 +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpu1/cpufreq +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq +Lines: 1 +1200195 +Mode: 400 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq +Lines: 1 +3300000 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_min_freq +Lines: 1 +1200000 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_transition_latency +Lines: 1 +4294967295 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/related_cpus +Lines: 1 +1 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/scaling_available_governors +Lines: 1 +performance powersave +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/scaling_driver +Lines: 1 +intel_pstate +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor +Lines: 1 +powersave +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq +Lines: 1 +3300000 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq +Lines: 1 +1200000 +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/cpufreq/scaling_setspeed +Lines: 1 + +Mode: 664 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpu1/thermal_throttle +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/thermal_throttle/core_throttle_count +Lines: 1 +523 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/thermal_throttle/package_throttle_count +Lines: 1 +34818 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpu1/topology +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/topology/core_id +Lines: 1 +1 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/topology/core_siblings +Lines: 1 +ff +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/topology/core_siblings_list +Lines: 1 +0-7 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/topology/physical_package_id +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/topology/thread_siblings +Lines: 1 +22 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpu1/topology/thread_siblings_list +Lines: 1 +1,5 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpufreq +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpufreq/policy0 +Mode: 775 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/affected_cpus +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq +Lines: 1 +2400000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_min_freq +Lines: 1 +800000 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_transition_latency +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/related_cpus +Lines: 1 +0 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors +Lines: 1 +performance powersave +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq +Lines: 1 +1219917 +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/scaling_driver +Lines: 1 +intel_pstate +Mode: 444 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/scaling_governor +Lines: 1 +powersave +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq +Lines: 1 +2400000 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq +Lines: 1 +800000 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed +Lines: 1 + +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/devices/system/cpu/cpufreq/policy1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/average_key_size +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0 +Mode: 777 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/dirty_data +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_day +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_day/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_day/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_day/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_day/cache_hit_ratio +Lines: 1 +100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_day/cache_hits +Lines: 1 +289 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_day/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_day/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_day/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_five_minute +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_five_minute/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_five_minute/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_five_minute/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_five_minute/cache_hit_ratio +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_five_minute/cache_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_five_minute/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_five_minute/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_five_minute/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_hour +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_hour/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_hour/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_hour/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_hour/cache_hit_ratio +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_hour/cache_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_hour/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_hour/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_hour/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_total +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_total/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_total/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_total/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_total/cache_hit_ratio +Lines: 1 +100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_total/cache_hits +Lines: 1 +546 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_total/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_total/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/bdev0/stats_total/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/btree_cache_size +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/cache0 +Mode: 777 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/cache0/io_errors +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/cache0/metadata_written +Lines: 1 +512 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/cache0/priority_stats +Lines: 5 +Unused: 99% +Metadata: 0% +Average: 10473 +Sectors per Q: 64 +Quantiles: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946 20946] +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/cache0/written +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/cache_available_percent +Lines: 1 +100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/congested +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/internal +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/internal/active_journal_entries +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/internal/btree_nodes +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/internal/btree_read_average_duration_us +Lines: 1 +1305 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/internal/cache_read_races +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/root_usage_percent +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_day +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_day/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_day/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_day/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_day/cache_hit_ratio +Lines: 1 +100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_day/cache_hits +Lines: 1 +289 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_day/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_day/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_day/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_five_minute +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_five_minute/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_five_minute/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_five_minute/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_five_minute/cache_hit_ratio +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_five_minute/cache_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_five_minute/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_five_minute/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_five_minute/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_hour +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_hour/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_hour/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_hour/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_hour/cache_hit_ratio +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_hour/cache_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_hour/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_hour/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_hour/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_total +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_total/bypassed +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_total/cache_bypass_hits +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_total/cache_bypass_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_total/cache_hit_ratio +Lines: 1 +100 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_total/cache_hits +Lines: 1 +546 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_total/cache_miss_collisions +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_total/cache_misses +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/stats_total/cache_readaheads +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/bcache/deaddd54-c735-46d5-868e-f331c5fd7c74/tree_depth +Lines: 1 +0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/xfs +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/xfs/sda1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/xfs/sda1/stats +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/xfs/sda1/stats/stats +Lines: 1 +extent_alloc 1 0 0 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/xfs/sdb1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/fs/xfs/sdb1/stats +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/fs/xfs/sdb1/stats/stats +Lines: 1 +extent_alloc 2 0 0 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core/fileio_0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core/fileio_1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core/fileio_1/file_lio_1G +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/core/fileio_1/file_lio_1G/enable +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/core/fileio_1/file_lio_1G/udev_path +Lines: 1 +/home/iscsi/file_back_1G +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core/iblock_0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core/iblock_0/block_lio_rbd1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/core/iblock_0/block_lio_rbd1/enable +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/core/iblock_0/block_lio_rbd1/udev_path +Lines: 1 +/dev/rbd1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core/rbd_0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core/rbd_0/iscsi-images-demo +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/core/rbd_0/iscsi-images-demo/enable +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/core/rbd_0/iscsi-images-demo/udev_path +Lines: 1 +/dev/rbd/iscsi-images/demo +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core/rd_mcp_119 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/core/rd_mcp_119/ramdisk_lio_1G +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/core/rd_mcp_119/ramdisk_lio_1G/enable +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/core/rd_mcp_119/ramdisk_lio_1G/udev_path +Lines: 0 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1/enable +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1/lun +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1/lun/lun_0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1/lun/lun_0/7f4a4eb56d +SymlinkTo: ../../../../../../target/core/rd_mcp_119/ramdisk_lio_1G +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1/lun/lun_0/statistics +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1/lun/lun_0/statistics/scsi_tgt_port +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/in_cmds +Lines: 1 +204950 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/read_mbytes +Lines: 1 +10325 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.8888bbbbddd0/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/write_mbytes +Lines: 1 +40325 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1/enable +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1/lun +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1/lun/lun_0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1/lun/lun_0/795b7c7026 +SymlinkTo: ../../../../../../target/core/iblock_0/block_lio_rbd1 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1/lun/lun_0/statistics +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1/lun/lun_0/statistics/scsi_tgt_port +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/in_cmds +Lines: 1 +104950 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/read_mbytes +Lines: 1 +20095 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2003-01.org.linux-iscsi.osd1.x8664:sn.abcd1abcd2ab/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/write_mbytes +Lines: 1 +71235 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1/enable +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1/lun +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1/lun/lun_0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1/lun/lun_0/fff5e16686 +SymlinkTo: ../../../../../../target/core/fileio_1/file_lio_1G +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1/lun/lun_0/statistics +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1/lun/lun_0/statistics/scsi_tgt_port +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/in_cmds +Lines: 1 +301950 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/read_mbytes +Lines: 1 +10195 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:dev.rbd0/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/write_mbytes +Lines: 1 +30195 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1/enable +Lines: 1 +1 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1/lun +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1/lun/lun_0 +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1/lun/lun_0/eba1edf893 +SymlinkTo: ../../../../../../target/core/rbd_0/iscsi-images-demo +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1/lun/lun_0/statistics +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Directory: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1/lun/lun_0/statistics/scsi_tgt_port +Mode: 755 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/in_cmds +Lines: 1 +1234 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/read_mbytes +Lines: 1 +1504 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Path: fixtures/sys/kernel/config/target/iscsi/iqn.2016-11.org.linux-iscsi.igw.x86:sn.ramdemo/tpgt_1/lun/lun_0/statistics/scsi_tgt_port/write_mbytes +Lines: 1 +4733 +Mode: 644 +# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vendor/github.com/prometheus/procfs/fs.go b/vendor/github.com/prometheus/procfs/fs.go new file mode 100644 index 00000000..0102ab0f --- /dev/null +++ b/vendor/github.com/prometheus/procfs/fs.go @@ -0,0 +1,43 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "github.com/prometheus/procfs/internal/fs" +) + +// FS represents the pseudo-filesystem sys, which provides an interface to +// kernel data structures. +type FS struct { + proc fs.FS +} + +// DefaultMountPoint is the common mount point of the proc filesystem. +const DefaultMountPoint = fs.DefaultProcMountPoint + +// NewDefaultFS returns a new proc FS mounted under the default proc mountPoint. +// It will error if the mount point directory can't be read or is a file. +func NewDefaultFS() (FS, error) { + return NewFS(DefaultMountPoint) +} + +// NewFS returns a new proc FS mounted under the given proc mountPoint. It will error +// if the mount point directory can't be read or is a file. +func NewFS(mountPoint string) (FS, error) { + fs, err := fs.NewFS(mountPoint) + if err != nil { + return FS{}, err + } + return FS{fs}, nil +} diff --git a/vendor/github.com/prometheus/procfs/go.mod b/vendor/github.com/prometheus/procfs/go.mod new file mode 100644 index 00000000..b2f8cca9 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/go.mod @@ -0,0 +1,6 @@ +module github.com/prometheus/procfs + +require ( + github.com/google/go-cmp v0.3.0 + golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 +) diff --git a/vendor/github.com/prometheus/procfs/go.sum b/vendor/github.com/prometheus/procfs/go.sum new file mode 100644 index 00000000..db54133d --- /dev/null +++ b/vendor/github.com/prometheus/procfs/go.sum @@ -0,0 +1,4 @@ +github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/vendor/github.com/prometheus/procfs/internal/fs/fs.go b/vendor/github.com/prometheus/procfs/internal/fs/fs.go new file mode 100644 index 00000000..7ddfd6b6 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/internal/fs/fs.go @@ -0,0 +1,55 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package fs + +import ( + "fmt" + "os" + "path/filepath" +) + +const ( + // DefaultProcMountPoint is the common mount point of the proc filesystem. + DefaultProcMountPoint = "/proc" + + // DefaultSysMountPoint is the common mount point of the sys filesystem. + DefaultSysMountPoint = "/sys" + + // DefaultConfigfsMountPoint is the commont mount point of the configfs + DefaultConfigfsMountPoint = "/sys/kernel/config" +) + +// FS represents a pseudo-filesystem, normally /proc or /sys, which provides an +// interface to kernel data structures. +type FS string + +// NewFS returns a new FS mounted under the given mountPoint. It will error +// if the mount point can't be read. +func NewFS(mountPoint string) (FS, error) { + info, err := os.Stat(mountPoint) + if err != nil { + return "", fmt.Errorf("could not read %s: %s", mountPoint, err) + } + if !info.IsDir() { + return "", fmt.Errorf("mount point %s is not a directory", mountPoint) + } + + return FS(mountPoint), nil +} + +// Path appends the given path elements to the filesystem path, adding separators +// as necessary. +func (fs FS) Path(p ...string) string { + return filepath.Join(append([]string{string(fs)}, p...)...) +} diff --git a/vendor/github.com/prometheus/procfs/internal/util/parse.go b/vendor/github.com/prometheus/procfs/internal/util/parse.go new file mode 100644 index 00000000..755591d9 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/internal/util/parse.go @@ -0,0 +1,88 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package util + +import ( + "io/ioutil" + "strconv" + "strings" +) + +// ParseUint32s parses a slice of strings into a slice of uint32s. +func ParseUint32s(ss []string) ([]uint32, error) { + us := make([]uint32, 0, len(ss)) + for _, s := range ss { + u, err := strconv.ParseUint(s, 10, 32) + if err != nil { + return nil, err + } + + us = append(us, uint32(u)) + } + + return us, nil +} + +// ParseUint64s parses a slice of strings into a slice of uint64s. +func ParseUint64s(ss []string) ([]uint64, error) { + us := make([]uint64, 0, len(ss)) + for _, s := range ss { + u, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return nil, err + } + + us = append(us, u) + } + + return us, nil +} + +// ParsePInt64s parses a slice of strings into a slice of int64 pointers. +func ParsePInt64s(ss []string) ([]*int64, error) { + us := make([]*int64, 0, len(ss)) + for _, s := range ss { + u, err := strconv.ParseInt(s, 10, 64) + if err != nil { + return nil, err + } + + us = append(us, &u) + } + + return us, nil +} + +// ReadUintFromFile reads a file and attempts to parse a uint64 from it. +func ReadUintFromFile(path string) (uint64, error) { + data, err := ioutil.ReadFile(path) + if err != nil { + return 0, err + } + return strconv.ParseUint(strings.TrimSpace(string(data)), 10, 64) +} + +// ParseBool parses a string into a boolean pointer. +func ParseBool(b string) *bool { + var truth bool + switch b { + case "enabled": + truth = true + case "disabled": + truth = false + default: + return nil + } + return &truth +} diff --git a/vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go new file mode 100644 index 00000000..68b37c4b --- /dev/null +++ b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go @@ -0,0 +1,45 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build linux,!appengine + +package util + +import ( + "bytes" + "os" + "syscall" +) + +// SysReadFile is a simplified ioutil.ReadFile that invokes syscall.Read directly. +// https://github.com/prometheus/node_exporter/pull/728/files +func SysReadFile(file string) (string, error) { + f, err := os.Open(file) + if err != nil { + return "", err + } + defer f.Close() + + // On some machines, hwmon drivers are broken and return EAGAIN. This causes + // Go's ioutil.ReadFile implementation to poll forever. + // + // Since we either want to read data or bail immediately, do the simplest + // possible read using syscall directly. + b := make([]byte, 128) + n, err := syscall.Read(int(f.Fd()), b) + if err != nil { + return "", err + } + + return string(bytes.TrimSpace(b[:n])), nil +} diff --git a/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go new file mode 100644 index 00000000..bd55b453 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/internal/util/sysreadfile_compat.go @@ -0,0 +1,26 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build linux,appengine !linux + +package util + +import ( + "fmt" +) + +// SysReadFile is here implemented as a noop for builds that do not support +// the read syscall. For example Windows, or Linux on Google App Engine. +func SysReadFile(file string) (string, error) { + return "", fmt.Errorf("not supported on this platform") +} diff --git a/vendor/github.com/prometheus/procfs/internal/util/valueparser.go b/vendor/github.com/prometheus/procfs/internal/util/valueparser.go new file mode 100644 index 00000000..ac93cb42 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/internal/util/valueparser.go @@ -0,0 +1,77 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package util + +import ( + "strconv" +) + +// TODO(mdlayher): util packages are an anti-pattern and this should be moved +// somewhere else that is more focused in the future. + +// A ValueParser enables parsing a single string into a variety of data types +// in a concise and safe way. The Err method must be invoked after invoking +// any other methods to ensure a value was successfully parsed. +type ValueParser struct { + v string + err error +} + +// NewValueParser creates a ValueParser using the input string. +func NewValueParser(v string) *ValueParser { + return &ValueParser{v: v} +} + +// PInt64 interprets the underlying value as an int64 and returns a pointer to +// that value. +func (vp *ValueParser) PInt64() *int64 { + if vp.err != nil { + return nil + } + + // A base value of zero makes ParseInt infer the correct base using the + // string's prefix, if any. + const base = 0 + v, err := strconv.ParseInt(vp.v, base, 64) + if err != nil { + vp.err = err + return nil + } + + return &v +} + +// PUInt64 interprets the underlying value as an uint64 and returns a pointer to +// that value. +func (vp *ValueParser) PUInt64() *uint64 { + if vp.err != nil { + return nil + } + + // A base value of zero makes ParseInt infer the correct base using the + // string's prefix, if any. + const base = 0 + v, err := strconv.ParseUint(vp.v, base, 64) + if err != nil { + vp.err = err + return nil + } + + return &v +} + +// Err returns the last error, if any, encountered by the ValueParser. +func (vp *ValueParser) Err() error { + return vp.err +} diff --git a/vendor/github.com/prometheus/procfs/ipvs.go b/vendor/github.com/prometheus/procfs/ipvs.go new file mode 100644 index 00000000..2d6cb8d1 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/ipvs.go @@ -0,0 +1,239 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "encoding/hex" + "errors" + "fmt" + "io" + "io/ioutil" + "net" + "os" + "strconv" + "strings" +) + +// IPVSStats holds IPVS statistics, as exposed by the kernel in `/proc/net/ip_vs_stats`. +type IPVSStats struct { + // Total count of connections. + Connections uint64 + // Total incoming packages processed. + IncomingPackets uint64 + // Total outgoing packages processed. + OutgoingPackets uint64 + // Total incoming traffic. + IncomingBytes uint64 + // Total outgoing traffic. + OutgoingBytes uint64 +} + +// IPVSBackendStatus holds current metrics of one virtual / real address pair. +type IPVSBackendStatus struct { + // The local (virtual) IP address. + LocalAddress net.IP + // The remote (real) IP address. + RemoteAddress net.IP + // The local (virtual) port. + LocalPort uint16 + // The remote (real) port. + RemotePort uint16 + // The local firewall mark + LocalMark string + // The transport protocol (TCP, UDP). + Proto string + // The current number of active connections for this virtual/real address pair. + ActiveConn uint64 + // The current number of inactive connections for this virtual/real address pair. + InactConn uint64 + // The current weight of this virtual/real address pair. + Weight uint64 +} + +// IPVSStats reads the IPVS statistics from the specified `proc` filesystem. +func (fs FS) IPVSStats() (IPVSStats, error) { + file, err := os.Open(fs.proc.Path("net/ip_vs_stats")) + if err != nil { + return IPVSStats{}, err + } + defer file.Close() + + return parseIPVSStats(file) +} + +// parseIPVSStats performs the actual parsing of `ip_vs_stats`. +func parseIPVSStats(file io.Reader) (IPVSStats, error) { + var ( + statContent []byte + statLines []string + statFields []string + stats IPVSStats + ) + + statContent, err := ioutil.ReadAll(file) + if err != nil { + return IPVSStats{}, err + } + + statLines = strings.SplitN(string(statContent), "\n", 4) + if len(statLines) != 4 { + return IPVSStats{}, errors.New("ip_vs_stats corrupt: too short") + } + + statFields = strings.Fields(statLines[2]) + if len(statFields) != 5 { + return IPVSStats{}, errors.New("ip_vs_stats corrupt: unexpected number of fields") + } + + stats.Connections, err = strconv.ParseUint(statFields[0], 16, 64) + if err != nil { + return IPVSStats{}, err + } + stats.IncomingPackets, err = strconv.ParseUint(statFields[1], 16, 64) + if err != nil { + return IPVSStats{}, err + } + stats.OutgoingPackets, err = strconv.ParseUint(statFields[2], 16, 64) + if err != nil { + return IPVSStats{}, err + } + stats.IncomingBytes, err = strconv.ParseUint(statFields[3], 16, 64) + if err != nil { + return IPVSStats{}, err + } + stats.OutgoingBytes, err = strconv.ParseUint(statFields[4], 16, 64) + if err != nil { + return IPVSStats{}, err + } + + return stats, nil +} + +// IPVSBackendStatus reads and returns the status of all (virtual,real) server pairs from the specified `proc` filesystem. +func (fs FS) IPVSBackendStatus() ([]IPVSBackendStatus, error) { + file, err := os.Open(fs.proc.Path("net/ip_vs")) + if err != nil { + return nil, err + } + defer file.Close() + + return parseIPVSBackendStatus(file) +} + +func parseIPVSBackendStatus(file io.Reader) ([]IPVSBackendStatus, error) { + var ( + status []IPVSBackendStatus + scanner = bufio.NewScanner(file) + proto string + localMark string + localAddress net.IP + localPort uint16 + err error + ) + + for scanner.Scan() { + fields := strings.Fields(scanner.Text()) + if len(fields) == 0 { + continue + } + switch { + case fields[0] == "IP" || fields[0] == "Prot" || fields[1] == "RemoteAddress:Port": + continue + case fields[0] == "TCP" || fields[0] == "UDP": + if len(fields) < 2 { + continue + } + proto = fields[0] + localMark = "" + localAddress, localPort, err = parseIPPort(fields[1]) + if err != nil { + return nil, err + } + case fields[0] == "FWM": + if len(fields) < 2 { + continue + } + proto = fields[0] + localMark = fields[1] + localAddress = nil + localPort = 0 + case fields[0] == "->": + if len(fields) < 6 { + continue + } + remoteAddress, remotePort, err := parseIPPort(fields[1]) + if err != nil { + return nil, err + } + weight, err := strconv.ParseUint(fields[3], 10, 64) + if err != nil { + return nil, err + } + activeConn, err := strconv.ParseUint(fields[4], 10, 64) + if err != nil { + return nil, err + } + inactConn, err := strconv.ParseUint(fields[5], 10, 64) + if err != nil { + return nil, err + } + status = append(status, IPVSBackendStatus{ + LocalAddress: localAddress, + LocalPort: localPort, + LocalMark: localMark, + RemoteAddress: remoteAddress, + RemotePort: remotePort, + Proto: proto, + Weight: weight, + ActiveConn: activeConn, + InactConn: inactConn, + }) + } + } + return status, nil +} + +func parseIPPort(s string) (net.IP, uint16, error) { + var ( + ip net.IP + err error + ) + + switch len(s) { + case 13: + ip, err = hex.DecodeString(s[0:8]) + if err != nil { + return nil, 0, err + } + case 46: + ip = net.ParseIP(s[1:40]) + if ip == nil { + return nil, 0, fmt.Errorf("invalid IPv6 address: %s", s[1:40]) + } + default: + return nil, 0, fmt.Errorf("unexpected IP:Port: %s", s) + } + + portString := s[len(s)-4:] + if len(portString) != 4 { + return nil, 0, fmt.Errorf("unexpected port string format: %s", portString) + } + port, err := strconv.ParseUint(portString, 16, 16) + if err != nil { + return nil, 0, err + } + + return ip, uint16(port), nil +} diff --git a/vendor/github.com/prometheus/procfs/mdstat.go b/vendor/github.com/prometheus/procfs/mdstat.go new file mode 100644 index 00000000..2af3ada1 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/mdstat.go @@ -0,0 +1,194 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "fmt" + "io/ioutil" + "regexp" + "strconv" + "strings" +) + +var ( + statusLineRE = regexp.MustCompile(`(\d+) blocks .*\[(\d+)/(\d+)\] \[[U_]+\]`) + recoveryLineRE = regexp.MustCompile(`\((\d+)/\d+\)`) +) + +// MDStat holds info parsed from /proc/mdstat. +type MDStat struct { + // Name of the device. + Name string + // activity-state of the device. + ActivityState string + // Number of active disks. + DisksActive int64 + // Total number of disks the device requires. + DisksTotal int64 + // Number of failed disks. + DisksFailed int64 + // Spare disks in the device. + DisksSpare int64 + // Number of blocks the device holds. + BlocksTotal int64 + // Number of blocks on the device that are in sync. + BlocksSynced int64 +} + +// MDStat parses an mdstat-file (/proc/mdstat) and returns a slice of +// structs containing the relevant info. More information available here: +// https://raid.wiki.kernel.org/index.php/Mdstat +func (fs FS) MDStat() ([]MDStat, error) { + data, err := ioutil.ReadFile(fs.proc.Path("mdstat")) + if err != nil { + return nil, fmt.Errorf("error parsing mdstat %s: %s", fs.proc.Path("mdstat"), err) + } + mdstat, err := parseMDStat(data) + if err != nil { + return nil, fmt.Errorf("error parsing mdstat %s: %s", fs.proc.Path("mdstat"), err) + } + return mdstat, nil +} + +// parseMDStat parses data from mdstat file (/proc/mdstat) and returns a slice of +// structs containing the relevant info. +func parseMDStat(mdStatData []byte) ([]MDStat, error) { + mdStats := []MDStat{} + lines := strings.Split(string(mdStatData), "\n") + + for i, line := range lines { + if strings.TrimSpace(line) == "" || line[0] == ' ' || + strings.HasPrefix(line, "Personalities") || + strings.HasPrefix(line, "unused") { + continue + } + + deviceFields := strings.Fields(line) + if len(deviceFields) < 3 { + return nil, fmt.Errorf("not enough fields in mdline (expected at least 3): %s", line) + } + mdName := deviceFields[0] // mdx + state := deviceFields[2] // active or inactive + + if len(lines) <= i+3 { + return nil, fmt.Errorf( + "error parsing %s: too few lines for md device", + mdName, + ) + } + + // Failed disks have the suffix (F) & Spare disks have the suffix (S). + fail := int64(strings.Count(line, "(F)")) + spare := int64(strings.Count(line, "(S)")) + active, total, size, err := evalStatusLine(lines[i], lines[i+1]) + + if err != nil { + return nil, fmt.Errorf("error parsing md device lines: %s", err) + } + + syncLineIdx := i + 2 + if strings.Contains(lines[i+2], "bitmap") { // skip bitmap line + syncLineIdx++ + } + + // If device is syncing at the moment, get the number of currently + // synced bytes, otherwise that number equals the size of the device. + syncedBlocks := size + recovering := strings.Contains(lines[syncLineIdx], "recovery") + resyncing := strings.Contains(lines[syncLineIdx], "resync") + + // Append recovery and resyncing state info. + if recovering || resyncing { + if recovering { + state = "recovering" + } else { + state = "resyncing" + } + + // Handle case when resync=PENDING or resync=DELAYED. + if strings.Contains(lines[syncLineIdx], "PENDING") || + strings.Contains(lines[syncLineIdx], "DELAYED") { + syncedBlocks = 0 + } else { + syncedBlocks, err = evalRecoveryLine(lines[syncLineIdx]) + if err != nil { + return nil, fmt.Errorf("error parsing sync line in md device %s: %s", mdName, err) + } + } + } + + mdStats = append(mdStats, MDStat{ + Name: mdName, + ActivityState: state, + DisksActive: active, + DisksFailed: fail, + DisksSpare: spare, + DisksTotal: total, + BlocksTotal: size, + BlocksSynced: syncedBlocks, + }) + } + + return mdStats, nil +} + +func evalStatusLine(deviceLine, statusLine string) (active, total, size int64, err error) { + + sizeStr := strings.Fields(statusLine)[0] + size, err = strconv.ParseInt(sizeStr, 10, 64) + if err != nil { + return 0, 0, 0, fmt.Errorf("unexpected statusLine %s: %s", statusLine, err) + } + + if strings.Contains(deviceLine, "raid0") || strings.Contains(deviceLine, "linear") { + // In the device deviceLine, only disks have a number associated with them in []. + total = int64(strings.Count(deviceLine, "[")) + return total, total, size, nil + } + + if strings.Contains(deviceLine, "inactive") { + return 0, 0, size, nil + } + + matches := statusLineRE.FindStringSubmatch(statusLine) + if len(matches) != 4 { + return 0, 0, 0, fmt.Errorf("couldn't find all the substring matches: %s", statusLine) + } + + total, err = strconv.ParseInt(matches[2], 10, 64) + if err != nil { + return 0, 0, 0, fmt.Errorf("unexpected statusLine %s: %s", statusLine, err) + } + + active, err = strconv.ParseInt(matches[3], 10, 64) + if err != nil { + return 0, 0, 0, fmt.Errorf("unexpected statusLine %s: %s", statusLine, err) + } + + return active, total, size, nil +} + +func evalRecoveryLine(recoveryLine string) (syncedBlocks int64, err error) { + matches := recoveryLineRE.FindStringSubmatch(recoveryLine) + if len(matches) != 2 { + return 0, fmt.Errorf("unexpected recoveryLine: %s", recoveryLine) + } + + syncedBlocks, err = strconv.ParseInt(matches[1], 10, 64) + if err != nil { + return 0, fmt.Errorf("%s in recoveryLine: %s", err, recoveryLine) + } + + return syncedBlocks, nil +} diff --git a/vendor/github.com/prometheus/procfs/mountinfo.go b/vendor/github.com/prometheus/procfs/mountinfo.go new file mode 100644 index 00000000..61fa6188 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/mountinfo.go @@ -0,0 +1,178 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "fmt" + "io" + "os" + "strconv" + "strings" +) + +var validOptionalFields = map[string]bool{ + "shared": true, + "master": true, + "propagate_from": true, + "unbindable": true, +} + +// A MountInfo is a type that describes the details, options +// for each mount, parsed from /proc/self/mountinfo. +// The fields described in each entry of /proc/self/mountinfo +// is described in the following man page. +// http://man7.org/linux/man-pages/man5/proc.5.html +type MountInfo struct { + // Unique Id for the mount + MountId int + // The Id of the parent mount + ParentId int + // The value of `st_dev` for the files on this FS + MajorMinorVer string + // The pathname of the directory in the FS that forms + // the root for this mount + Root string + // The pathname of the mount point relative to the root + MountPoint string + // Mount options + Options map[string]string + // Zero or more optional fields + OptionalFields map[string]string + // The Filesystem type + FSType string + // FS specific information or "none" + Source string + // Superblock options + SuperOptions map[string]string +} + +// Returns part of the mountinfo line, if it exists, else an empty string. +func getStringSliceElement(parts []string, idx int, defaultValue string) string { + if idx >= len(parts) { + return defaultValue + } + return parts[idx] +} + +// Reads each line of the mountinfo file, and returns a list of formatted MountInfo structs. +func parseMountInfo(r io.Reader) ([]*MountInfo, error) { + mounts := []*MountInfo{} + scanner := bufio.NewScanner(r) + for scanner.Scan() { + mountString := scanner.Text() + parsedMounts, err := parseMountInfoString(mountString) + if err != nil { + return nil, err + } + mounts = append(mounts, parsedMounts) + } + + err := scanner.Err() + return mounts, err +} + +// Parses a mountinfo file line, and converts it to a MountInfo struct. +// An important check here is to see if the hyphen separator, as if it does not exist, +// it means that the line is malformed. +func parseMountInfoString(mountString string) (*MountInfo, error) { + var err error + + // OptionalFields can be zero, hence these checks to ensure we do not populate the wrong values in the wrong spots + separatorIndex := strings.Index(mountString, "-") + if separatorIndex == -1 { + return nil, fmt.Errorf("no separator found in mountinfo string: %s", mountString) + } + beforeFields := strings.Fields(mountString[:separatorIndex]) + afterFields := strings.Fields(mountString[separatorIndex+1:]) + if (len(beforeFields) + len(afterFields)) < 7 { + return nil, fmt.Errorf("too few fields") + } + + mount := &MountInfo{ + MajorMinorVer: getStringSliceElement(beforeFields, 2, ""), + Root: getStringSliceElement(beforeFields, 3, ""), + MountPoint: getStringSliceElement(beforeFields, 4, ""), + Options: mountOptionsParser(getStringSliceElement(beforeFields, 5, "")), + OptionalFields: nil, + FSType: getStringSliceElement(afterFields, 0, ""), + Source: getStringSliceElement(afterFields, 1, ""), + SuperOptions: mountOptionsParser(getStringSliceElement(afterFields, 2, "")), + } + + mount.MountId, err = strconv.Atoi(getStringSliceElement(beforeFields, 0, "")) + if err != nil { + return nil, fmt.Errorf("failed to parse mount ID") + } + mount.ParentId, err = strconv.Atoi(getStringSliceElement(beforeFields, 1, "")) + if err != nil { + return nil, fmt.Errorf("failed to parse parent ID") + } + // Has optional fields, which is a space separated list of values. + // Example: shared:2 master:7 + if len(beforeFields) > 6 { + mount.OptionalFields = make(map[string]string) + optionalFields := beforeFields[6:] + for _, field := range optionalFields { + optionSplit := strings.Split(field, ":") + target, value := optionSplit[0], "" + if len(optionSplit) == 2 { + value = optionSplit[1] + } + // Checks if the 'keys' in the optional fields in the mountinfo line are acceptable. + // Allowed 'keys' are shared, master, propagate_from, unbindable. + if _, ok := validOptionalFields[target]; ok { + mount.OptionalFields[target] = value + } + } + } + return mount, nil +} + +// Parses the mount options, superblock options. +func mountOptionsParser(mountOptions string) map[string]string { + opts := make(map[string]string) + options := strings.Split(mountOptions, ",") + for _, opt := range options { + splitOption := strings.Split(opt, "=") + if len(splitOption) < 2 { + key := splitOption[0] + opts[key] = "" + } else { + key, value := splitOption[0], splitOption[1] + opts[key] = value + } + } + return opts +} + +// Retrieves mountinfo information from `/proc/self/mountinfo`. +func GetMounts() ([]*MountInfo, error) { + f, err := os.Open("/proc/self/mountinfo") + if err != nil { + return nil, err + } + defer f.Close() + return parseMountInfo(f) +} + +// Retrieves mountinfo information from a processes' `/proc//mountinfo`. +func GetProcMounts(pid int) ([]*MountInfo, error) { + f, err := os.Open(fmt.Sprintf("/proc/%d/mountinfo", pid)) + if err != nil { + return nil, err + } + defer f.Close() + return parseMountInfo(f) +} diff --git a/vendor/github.com/prometheus/procfs/mountstats.go b/vendor/github.com/prometheus/procfs/mountstats.go new file mode 100644 index 00000000..35b2ef35 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/mountstats.go @@ -0,0 +1,621 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +// While implementing parsing of /proc/[pid]/mountstats, this blog was used +// heavily as a reference: +// https://utcc.utoronto.ca/~cks/space/blog/linux/NFSMountstatsIndex +// +// Special thanks to Chris Siebenmann for all of his posts explaining the +// various statistics available for NFS. + +import ( + "bufio" + "fmt" + "io" + "strconv" + "strings" + "time" +) + +// Constants shared between multiple functions. +const ( + deviceEntryLen = 8 + + fieldBytesLen = 8 + fieldEventsLen = 27 + + statVersion10 = "1.0" + statVersion11 = "1.1" + + fieldTransport10TCPLen = 10 + fieldTransport10UDPLen = 7 + + fieldTransport11TCPLen = 13 + fieldTransport11UDPLen = 10 +) + +// A Mount is a device mount parsed from /proc/[pid]/mountstats. +type Mount struct { + // Name of the device. + Device string + // The mount point of the device. + Mount string + // The filesystem type used by the device. + Type string + // If available additional statistics related to this Mount. + // Use a type assertion to determine if additional statistics are available. + Stats MountStats +} + +// A MountStats is a type which contains detailed statistics for a specific +// type of Mount. +type MountStats interface { + mountStats() +} + +// A MountStatsNFS is a MountStats implementation for NFSv3 and v4 mounts. +type MountStatsNFS struct { + // The version of statistics provided. + StatVersion string + // The mount options of the NFS mount. + Opts map[string]string + // The age of the NFS mount. + Age time.Duration + // Statistics related to byte counters for various operations. + Bytes NFSBytesStats + // Statistics related to various NFS event occurrences. + Events NFSEventsStats + // Statistics broken down by filesystem operation. + Operations []NFSOperationStats + // Statistics about the NFS RPC transport. + Transport NFSTransportStats +} + +// mountStats implements MountStats. +func (m MountStatsNFS) mountStats() {} + +// A NFSBytesStats contains statistics about the number of bytes read and written +// by an NFS client to and from an NFS server. +type NFSBytesStats struct { + // Number of bytes read using the read() syscall. + Read uint64 + // Number of bytes written using the write() syscall. + Write uint64 + // Number of bytes read using the read() syscall in O_DIRECT mode. + DirectRead uint64 + // Number of bytes written using the write() syscall in O_DIRECT mode. + DirectWrite uint64 + // Number of bytes read from the NFS server, in total. + ReadTotal uint64 + // Number of bytes written to the NFS server, in total. + WriteTotal uint64 + // Number of pages read directly via mmap()'d files. + ReadPages uint64 + // Number of pages written directly via mmap()'d files. + WritePages uint64 +} + +// A NFSEventsStats contains statistics about NFS event occurrences. +type NFSEventsStats struct { + // Number of times cached inode attributes are re-validated from the server. + InodeRevalidate uint64 + // Number of times cached dentry nodes are re-validated from the server. + DnodeRevalidate uint64 + // Number of times an inode cache is cleared. + DataInvalidate uint64 + // Number of times cached inode attributes are invalidated. + AttributeInvalidate uint64 + // Number of times files or directories have been open()'d. + VFSOpen uint64 + // Number of times a directory lookup has occurred. + VFSLookup uint64 + // Number of times permissions have been checked. + VFSAccess uint64 + // Number of updates (and potential writes) to pages. + VFSUpdatePage uint64 + // Number of pages read directly via mmap()'d files. + VFSReadPage uint64 + // Number of times a group of pages have been read. + VFSReadPages uint64 + // Number of pages written directly via mmap()'d files. + VFSWritePage uint64 + // Number of times a group of pages have been written. + VFSWritePages uint64 + // Number of times directory entries have been read with getdents(). + VFSGetdents uint64 + // Number of times attributes have been set on inodes. + VFSSetattr uint64 + // Number of pending writes that have been forcefully flushed to the server. + VFSFlush uint64 + // Number of times fsync() has been called on directories and files. + VFSFsync uint64 + // Number of times locking has been attempted on a file. + VFSLock uint64 + // Number of times files have been closed and released. + VFSFileRelease uint64 + // Unknown. Possibly unused. + CongestionWait uint64 + // Number of times files have been truncated. + Truncation uint64 + // Number of times a file has been grown due to writes beyond its existing end. + WriteExtension uint64 + // Number of times a file was removed while still open by another process. + SillyRename uint64 + // Number of times the NFS server gave less data than expected while reading. + ShortRead uint64 + // Number of times the NFS server wrote less data than expected while writing. + ShortWrite uint64 + // Number of times the NFS server indicated EJUKEBOX; retrieving data from + // offline storage. + JukeboxDelay uint64 + // Number of NFS v4.1+ pNFS reads. + PNFSRead uint64 + // Number of NFS v4.1+ pNFS writes. + PNFSWrite uint64 +} + +// A NFSOperationStats contains statistics for a single operation. +type NFSOperationStats struct { + // The name of the operation. + Operation string + // Number of requests performed for this operation. + Requests uint64 + // Number of times an actual RPC request has been transmitted for this operation. + Transmissions uint64 + // Number of times a request has had a major timeout. + MajorTimeouts uint64 + // Number of bytes sent for this operation, including RPC headers and payload. + BytesSent uint64 + // Number of bytes received for this operation, including RPC headers and payload. + BytesReceived uint64 + // Duration all requests spent queued for transmission before they were sent. + CumulativeQueueMilliseconds uint64 + // Duration it took to get a reply back after the request was transmitted. + CumulativeTotalResponseMilliseconds uint64 + // Duration from when a request was enqueued to when it was completely handled. + CumulativeTotalRequestMilliseconds uint64 +} + +// A NFSTransportStats contains statistics for the NFS mount RPC requests and +// responses. +type NFSTransportStats struct { + // The transport protocol used for the NFS mount. + Protocol string + // The local port used for the NFS mount. + Port uint64 + // Number of times the client has had to establish a connection from scratch + // to the NFS server. + Bind uint64 + // Number of times the client has made a TCP connection to the NFS server. + Connect uint64 + // Duration (in jiffies, a kernel internal unit of time) the NFS mount has + // spent waiting for connections to the server to be established. + ConnectIdleTime uint64 + // Duration since the NFS mount last saw any RPC traffic. + IdleTimeSeconds uint64 + // Number of RPC requests for this mount sent to the NFS server. + Sends uint64 + // Number of RPC responses for this mount received from the NFS server. + Receives uint64 + // Number of times the NFS server sent a response with a transaction ID + // unknown to this client. + BadTransactionIDs uint64 + // A running counter, incremented on each request as the current difference + // ebetween sends and receives. + CumulativeActiveRequests uint64 + // A running counter, incremented on each request by the current backlog + // queue size. + CumulativeBacklog uint64 + + // Stats below only available with stat version 1.1. + + // Maximum number of simultaneously active RPC requests ever used. + MaximumRPCSlotsUsed uint64 + // A running counter, incremented on each request as the current size of the + // sending queue. + CumulativeSendingQueue uint64 + // A running counter, incremented on each request as the current size of the + // pending queue. + CumulativePendingQueue uint64 +} + +// parseMountStats parses a /proc/[pid]/mountstats file and returns a slice +// of Mount structures containing detailed information about each mount. +// If available, statistics for each mount are parsed as well. +func parseMountStats(r io.Reader) ([]*Mount, error) { + const ( + device = "device" + statVersionPrefix = "statvers=" + + nfs3Type = "nfs" + nfs4Type = "nfs4" + ) + + var mounts []*Mount + + s := bufio.NewScanner(r) + for s.Scan() { + // Only look for device entries in this function + ss := strings.Fields(string(s.Bytes())) + if len(ss) == 0 || ss[0] != device { + continue + } + + m, err := parseMount(ss) + if err != nil { + return nil, err + } + + // Does this mount also possess statistics information? + if len(ss) > deviceEntryLen { + // Only NFSv3 and v4 are supported for parsing statistics + if m.Type != nfs3Type && m.Type != nfs4Type { + return nil, fmt.Errorf("cannot parse MountStats for fstype %q", m.Type) + } + + statVersion := strings.TrimPrefix(ss[8], statVersionPrefix) + + stats, err := parseMountStatsNFS(s, statVersion) + if err != nil { + return nil, err + } + + m.Stats = stats + } + + mounts = append(mounts, m) + } + + return mounts, s.Err() +} + +// parseMount parses an entry in /proc/[pid]/mountstats in the format: +// device [device] mounted on [mount] with fstype [type] +func parseMount(ss []string) (*Mount, error) { + if len(ss) < deviceEntryLen { + return nil, fmt.Errorf("invalid device entry: %v", ss) + } + + // Check for specific words appearing at specific indices to ensure + // the format is consistent with what we expect + format := []struct { + i int + s string + }{ + {i: 0, s: "device"}, + {i: 2, s: "mounted"}, + {i: 3, s: "on"}, + {i: 5, s: "with"}, + {i: 6, s: "fstype"}, + } + + for _, f := range format { + if ss[f.i] != f.s { + return nil, fmt.Errorf("invalid device entry: %v", ss) + } + } + + return &Mount{ + Device: ss[1], + Mount: ss[4], + Type: ss[7], + }, nil +} + +// parseMountStatsNFS parses a MountStatsNFS by scanning additional information +// related to NFS statistics. +func parseMountStatsNFS(s *bufio.Scanner, statVersion string) (*MountStatsNFS, error) { + // Field indicators for parsing specific types of data + const ( + fieldOpts = "opts:" + fieldAge = "age:" + fieldBytes = "bytes:" + fieldEvents = "events:" + fieldPerOpStats = "per-op" + fieldTransport = "xprt:" + ) + + stats := &MountStatsNFS{ + StatVersion: statVersion, + } + + for s.Scan() { + ss := strings.Fields(string(s.Bytes())) + if len(ss) == 0 { + break + } + if len(ss) < 2 { + return nil, fmt.Errorf("not enough information for NFS stats: %v", ss) + } + + switch ss[0] { + case fieldOpts: + if stats.Opts == nil { + stats.Opts = map[string]string{} + } + for _, opt := range strings.Split(ss[1], ",") { + split := strings.Split(opt, "=") + if len(split) == 2 { + stats.Opts[split[0]] = split[1] + } else { + stats.Opts[opt] = "" + } + } + case fieldAge: + // Age integer is in seconds + d, err := time.ParseDuration(ss[1] + "s") + if err != nil { + return nil, err + } + + stats.Age = d + case fieldBytes: + bstats, err := parseNFSBytesStats(ss[1:]) + if err != nil { + return nil, err + } + + stats.Bytes = *bstats + case fieldEvents: + estats, err := parseNFSEventsStats(ss[1:]) + if err != nil { + return nil, err + } + + stats.Events = *estats + case fieldTransport: + if len(ss) < 3 { + return nil, fmt.Errorf("not enough information for NFS transport stats: %v", ss) + } + + tstats, err := parseNFSTransportStats(ss[1:], statVersion) + if err != nil { + return nil, err + } + + stats.Transport = *tstats + } + + // When encountering "per-operation statistics", we must break this + // loop and parse them separately to ensure we can terminate parsing + // before reaching another device entry; hence why this 'if' statement + // is not just another switch case + if ss[0] == fieldPerOpStats { + break + } + } + + if err := s.Err(); err != nil { + return nil, err + } + + // NFS per-operation stats appear last before the next device entry + perOpStats, err := parseNFSOperationStats(s) + if err != nil { + return nil, err + } + + stats.Operations = perOpStats + + return stats, nil +} + +// parseNFSBytesStats parses a NFSBytesStats line using an input set of +// integer fields. +func parseNFSBytesStats(ss []string) (*NFSBytesStats, error) { + if len(ss) != fieldBytesLen { + return nil, fmt.Errorf("invalid NFS bytes stats: %v", ss) + } + + ns := make([]uint64, 0, fieldBytesLen) + for _, s := range ss { + n, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return nil, err + } + + ns = append(ns, n) + } + + return &NFSBytesStats{ + Read: ns[0], + Write: ns[1], + DirectRead: ns[2], + DirectWrite: ns[3], + ReadTotal: ns[4], + WriteTotal: ns[5], + ReadPages: ns[6], + WritePages: ns[7], + }, nil +} + +// parseNFSEventsStats parses a NFSEventsStats line using an input set of +// integer fields. +func parseNFSEventsStats(ss []string) (*NFSEventsStats, error) { + if len(ss) != fieldEventsLen { + return nil, fmt.Errorf("invalid NFS events stats: %v", ss) + } + + ns := make([]uint64, 0, fieldEventsLen) + for _, s := range ss { + n, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return nil, err + } + + ns = append(ns, n) + } + + return &NFSEventsStats{ + InodeRevalidate: ns[0], + DnodeRevalidate: ns[1], + DataInvalidate: ns[2], + AttributeInvalidate: ns[3], + VFSOpen: ns[4], + VFSLookup: ns[5], + VFSAccess: ns[6], + VFSUpdatePage: ns[7], + VFSReadPage: ns[8], + VFSReadPages: ns[9], + VFSWritePage: ns[10], + VFSWritePages: ns[11], + VFSGetdents: ns[12], + VFSSetattr: ns[13], + VFSFlush: ns[14], + VFSFsync: ns[15], + VFSLock: ns[16], + VFSFileRelease: ns[17], + CongestionWait: ns[18], + Truncation: ns[19], + WriteExtension: ns[20], + SillyRename: ns[21], + ShortRead: ns[22], + ShortWrite: ns[23], + JukeboxDelay: ns[24], + PNFSRead: ns[25], + PNFSWrite: ns[26], + }, nil +} + +// parseNFSOperationStats parses a slice of NFSOperationStats by scanning +// additional information about per-operation statistics until an empty +// line is reached. +func parseNFSOperationStats(s *bufio.Scanner) ([]NFSOperationStats, error) { + const ( + // Number of expected fields in each per-operation statistics set + numFields = 9 + ) + + var ops []NFSOperationStats + + for s.Scan() { + ss := strings.Fields(string(s.Bytes())) + if len(ss) == 0 { + // Must break when reading a blank line after per-operation stats to + // enable top-level function to parse the next device entry + break + } + + if len(ss) != numFields { + return nil, fmt.Errorf("invalid NFS per-operations stats: %v", ss) + } + + // Skip string operation name for integers + ns := make([]uint64, 0, numFields-1) + for _, st := range ss[1:] { + n, err := strconv.ParseUint(st, 10, 64) + if err != nil { + return nil, err + } + + ns = append(ns, n) + } + + ops = append(ops, NFSOperationStats{ + Operation: strings.TrimSuffix(ss[0], ":"), + Requests: ns[0], + Transmissions: ns[1], + MajorTimeouts: ns[2], + BytesSent: ns[3], + BytesReceived: ns[4], + CumulativeQueueMilliseconds: ns[5], + CumulativeTotalResponseMilliseconds: ns[6], + CumulativeTotalRequestMilliseconds: ns[7], + }) + } + + return ops, s.Err() +} + +// parseNFSTransportStats parses a NFSTransportStats line using an input set of +// integer fields matched to a specific stats version. +func parseNFSTransportStats(ss []string, statVersion string) (*NFSTransportStats, error) { + // Extract the protocol field. It is the only string value in the line + protocol := ss[0] + ss = ss[1:] + + switch statVersion { + case statVersion10: + var expectedLength int + if protocol == "tcp" { + expectedLength = fieldTransport10TCPLen + } else if protocol == "udp" { + expectedLength = fieldTransport10UDPLen + } else { + return nil, fmt.Errorf("invalid NFS protocol \"%s\" in stats 1.0 statement: %v", protocol, ss) + } + if len(ss) != expectedLength { + return nil, fmt.Errorf("invalid NFS transport stats 1.0 statement: %v", ss) + } + case statVersion11: + var expectedLength int + if protocol == "tcp" { + expectedLength = fieldTransport11TCPLen + } else if protocol == "udp" { + expectedLength = fieldTransport11UDPLen + } else { + return nil, fmt.Errorf("invalid NFS protocol \"%s\" in stats 1.1 statement: %v", protocol, ss) + } + if len(ss) != expectedLength { + return nil, fmt.Errorf("invalid NFS transport stats 1.1 statement: %v", ss) + } + default: + return nil, fmt.Errorf("unrecognized NFS transport stats version: %q", statVersion) + } + + // Allocate enough for v1.1 stats since zero value for v1.1 stats will be okay + // in a v1.0 response. Since the stat length is bigger for TCP stats, we use + // the TCP length here. + // + // Note: slice length must be set to length of v1.1 stats to avoid a panic when + // only v1.0 stats are present. + // See: https://github.com/prometheus/node_exporter/issues/571. + ns := make([]uint64, fieldTransport11TCPLen) + for i, s := range ss { + n, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return nil, err + } + + ns[i] = n + } + + // The fields differ depending on the transport protocol (TCP or UDP) + // From https://utcc.utoronto.ca/%7Ecks/space/blog/linux/NFSMountstatsXprt + // + // For the udp RPC transport there is no connection count, connect idle time, + // or idle time (fields #3, #4, and #5); all other fields are the same. So + // we set them to 0 here. + if protocol == "udp" { + ns = append(ns[:2], append(make([]uint64, 3), ns[2:]...)...) + } + + return &NFSTransportStats{ + Protocol: protocol, + Port: ns[0], + Bind: ns[1], + Connect: ns[2], + ConnectIdleTime: ns[3], + IdleTimeSeconds: ns[4], + Sends: ns[5], + Receives: ns[6], + BadTransactionIDs: ns[7], + CumulativeActiveRequests: ns[8], + CumulativeBacklog: ns[9], + MaximumRPCSlotsUsed: ns[10], + CumulativeSendingQueue: ns[11], + CumulativePendingQueue: ns[12], + }, nil +} diff --git a/vendor/github.com/prometheus/procfs/net_dev.go b/vendor/github.com/prometheus/procfs/net_dev.go new file mode 100644 index 00000000..a0b7a011 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/net_dev.go @@ -0,0 +1,206 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "errors" + "os" + "sort" + "strconv" + "strings" +) + +// NetDevLine is single line parsed from /proc/net/dev or /proc/[pid]/net/dev. +type NetDevLine struct { + Name string `json:"name"` // The name of the interface. + RxBytes uint64 `json:"rx_bytes"` // Cumulative count of bytes received. + RxPackets uint64 `json:"rx_packets"` // Cumulative count of packets received. + RxErrors uint64 `json:"rx_errors"` // Cumulative count of receive errors encountered. + RxDropped uint64 `json:"rx_dropped"` // Cumulative count of packets dropped while receiving. + RxFIFO uint64 `json:"rx_fifo"` // Cumulative count of FIFO buffer errors. + RxFrame uint64 `json:"rx_frame"` // Cumulative count of packet framing errors. + RxCompressed uint64 `json:"rx_compressed"` // Cumulative count of compressed packets received by the device driver. + RxMulticast uint64 `json:"rx_multicast"` // Cumulative count of multicast frames received by the device driver. + TxBytes uint64 `json:"tx_bytes"` // Cumulative count of bytes transmitted. + TxPackets uint64 `json:"tx_packets"` // Cumulative count of packets transmitted. + TxErrors uint64 `json:"tx_errors"` // Cumulative count of transmit errors encountered. + TxDropped uint64 `json:"tx_dropped"` // Cumulative count of packets dropped while transmitting. + TxFIFO uint64 `json:"tx_fifo"` // Cumulative count of FIFO buffer errors. + TxCollisions uint64 `json:"tx_collisions"` // Cumulative count of collisions detected on the interface. + TxCarrier uint64 `json:"tx_carrier"` // Cumulative count of carrier losses detected by the device driver. + TxCompressed uint64 `json:"tx_compressed"` // Cumulative count of compressed packets transmitted by the device driver. +} + +// NetDev is parsed from /proc/net/dev or /proc/[pid]/net/dev. The map keys +// are interface names. +type NetDev map[string]NetDevLine + +// NetDev returns kernel/system statistics read from /proc/net/dev. +func (fs FS) NetDev() (NetDev, error) { + return newNetDev(fs.proc.Path("net/dev")) +} + +// NetDev returns kernel/system statistics read from /proc/[pid]/net/dev. +func (p Proc) NetDev() (NetDev, error) { + return newNetDev(p.path("net/dev")) +} + +// newNetDev creates a new NetDev from the contents of the given file. +func newNetDev(file string) (NetDev, error) { + f, err := os.Open(file) + if err != nil { + return NetDev{}, err + } + defer f.Close() + + netDev := NetDev{} + s := bufio.NewScanner(f) + for n := 0; s.Scan(); n++ { + // Skip the 2 header lines. + if n < 2 { + continue + } + + line, err := netDev.parseLine(s.Text()) + if err != nil { + return netDev, err + } + + netDev[line.Name] = *line + } + + return netDev, s.Err() +} + +// parseLine parses a single line from the /proc/net/dev file. Header lines +// must be filtered prior to calling this method. +func (netDev NetDev) parseLine(rawLine string) (*NetDevLine, error) { + parts := strings.SplitN(rawLine, ":", 2) + if len(parts) != 2 { + return nil, errors.New("invalid net/dev line, missing colon") + } + fields := strings.Fields(strings.TrimSpace(parts[1])) + + var err error + line := &NetDevLine{} + + // Interface Name + line.Name = strings.TrimSpace(parts[0]) + if line.Name == "" { + return nil, errors.New("invalid net/dev line, empty interface name") + } + + // RX + line.RxBytes, err = strconv.ParseUint(fields[0], 10, 64) + if err != nil { + return nil, err + } + line.RxPackets, err = strconv.ParseUint(fields[1], 10, 64) + if err != nil { + return nil, err + } + line.RxErrors, err = strconv.ParseUint(fields[2], 10, 64) + if err != nil { + return nil, err + } + line.RxDropped, err = strconv.ParseUint(fields[3], 10, 64) + if err != nil { + return nil, err + } + line.RxFIFO, err = strconv.ParseUint(fields[4], 10, 64) + if err != nil { + return nil, err + } + line.RxFrame, err = strconv.ParseUint(fields[5], 10, 64) + if err != nil { + return nil, err + } + line.RxCompressed, err = strconv.ParseUint(fields[6], 10, 64) + if err != nil { + return nil, err + } + line.RxMulticast, err = strconv.ParseUint(fields[7], 10, 64) + if err != nil { + return nil, err + } + + // TX + line.TxBytes, err = strconv.ParseUint(fields[8], 10, 64) + if err != nil { + return nil, err + } + line.TxPackets, err = strconv.ParseUint(fields[9], 10, 64) + if err != nil { + return nil, err + } + line.TxErrors, err = strconv.ParseUint(fields[10], 10, 64) + if err != nil { + return nil, err + } + line.TxDropped, err = strconv.ParseUint(fields[11], 10, 64) + if err != nil { + return nil, err + } + line.TxFIFO, err = strconv.ParseUint(fields[12], 10, 64) + if err != nil { + return nil, err + } + line.TxCollisions, err = strconv.ParseUint(fields[13], 10, 64) + if err != nil { + return nil, err + } + line.TxCarrier, err = strconv.ParseUint(fields[14], 10, 64) + if err != nil { + return nil, err + } + line.TxCompressed, err = strconv.ParseUint(fields[15], 10, 64) + if err != nil { + return nil, err + } + + return line, nil +} + +// Total aggregates the values across interfaces and returns a new NetDevLine. +// The Name field will be a sorted comma separated list of interface names. +func (netDev NetDev) Total() NetDevLine { + total := NetDevLine{} + + names := make([]string, 0, len(netDev)) + for _, ifc := range netDev { + names = append(names, ifc.Name) + total.RxBytes += ifc.RxBytes + total.RxPackets += ifc.RxPackets + total.RxPackets += ifc.RxPackets + total.RxErrors += ifc.RxErrors + total.RxDropped += ifc.RxDropped + total.RxFIFO += ifc.RxFIFO + total.RxFrame += ifc.RxFrame + total.RxCompressed += ifc.RxCompressed + total.RxMulticast += ifc.RxMulticast + total.TxBytes += ifc.TxBytes + total.TxPackets += ifc.TxPackets + total.TxErrors += ifc.TxErrors + total.TxDropped += ifc.TxDropped + total.TxFIFO += ifc.TxFIFO + total.TxCollisions += ifc.TxCollisions + total.TxCarrier += ifc.TxCarrier + total.TxCompressed += ifc.TxCompressed + } + sort.Strings(names) + total.Name = strings.Join(names, ", ") + + return total +} diff --git a/vendor/github.com/prometheus/procfs/net_softnet.go b/vendor/github.com/prometheus/procfs/net_softnet.go new file mode 100644 index 00000000..6fcad20a --- /dev/null +++ b/vendor/github.com/prometheus/procfs/net_softnet.go @@ -0,0 +1,91 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "fmt" + "io/ioutil" + "strconv" + "strings" +) + +// For the proc file format details, +// see https://elixir.bootlin.com/linux/v4.17/source/net/core/net-procfs.c#L162 +// and https://elixir.bootlin.com/linux/v4.17/source/include/linux/netdevice.h#L2810. + +// SoftnetEntry contains a single row of data from /proc/net/softnet_stat +type SoftnetEntry struct { + // Number of processed packets + Processed uint + // Number of dropped packets + Dropped uint + // Number of times processing packets ran out of quota + TimeSqueezed uint +} + +// GatherSoftnetStats reads /proc/net/softnet_stat, parse the relevant columns, +// and then return a slice of SoftnetEntry's. +func (fs FS) GatherSoftnetStats() ([]SoftnetEntry, error) { + data, err := ioutil.ReadFile(fs.proc.Path("net/softnet_stat")) + if err != nil { + return nil, fmt.Errorf("error reading softnet %s: %s", fs.proc.Path("net/softnet_stat"), err) + } + + return parseSoftnetEntries(data) +} + +func parseSoftnetEntries(data []byte) ([]SoftnetEntry, error) { + lines := strings.Split(string(data), "\n") + entries := make([]SoftnetEntry, 0) + var err error + const ( + expectedColumns = 11 + ) + for _, line := range lines { + columns := strings.Fields(line) + width := len(columns) + if width == 0 { + continue + } + if width != expectedColumns { + return []SoftnetEntry{}, fmt.Errorf("%d columns were detected, but %d were expected", width, expectedColumns) + } + var entry SoftnetEntry + if entry, err = parseSoftnetEntry(columns); err != nil { + return []SoftnetEntry{}, err + } + entries = append(entries, entry) + } + + return entries, nil +} + +func parseSoftnetEntry(columns []string) (SoftnetEntry, error) { + var err error + var processed, dropped, timeSqueezed uint64 + if processed, err = strconv.ParseUint(columns[0], 16, 32); err != nil { + return SoftnetEntry{}, fmt.Errorf("Unable to parse column 0: %s", err) + } + if dropped, err = strconv.ParseUint(columns[1], 16, 32); err != nil { + return SoftnetEntry{}, fmt.Errorf("Unable to parse column 1: %s", err) + } + if timeSqueezed, err = strconv.ParseUint(columns[2], 16, 32); err != nil { + return SoftnetEntry{}, fmt.Errorf("Unable to parse column 2: %s", err) + } + return SoftnetEntry{ + Processed: uint(processed), + Dropped: uint(dropped), + TimeSqueezed: uint(timeSqueezed), + }, nil +} diff --git a/vendor/github.com/prometheus/procfs/net_unix.go b/vendor/github.com/prometheus/procfs/net_unix.go new file mode 100644 index 00000000..240340a8 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/net_unix.go @@ -0,0 +1,275 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "errors" + "fmt" + "io" + "os" + "strconv" + "strings" +) + +// For the proc file format details, +// see https://elixir.bootlin.com/linux/v4.17/source/net/unix/af_unix.c#L2815 +// and https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/net.h#L48. + +const ( + netUnixKernelPtrIdx = iota + netUnixRefCountIdx + _ + netUnixFlagsIdx + netUnixTypeIdx + netUnixStateIdx + netUnixInodeIdx + + // Inode and Path are optional. + netUnixStaticFieldsCnt = 6 +) + +const ( + netUnixTypeStream = 1 + netUnixTypeDgram = 2 + netUnixTypeSeqpacket = 5 + + netUnixFlagListen = 1 << 16 + + netUnixStateUnconnected = 1 + netUnixStateConnecting = 2 + netUnixStateConnected = 3 + netUnixStateDisconnected = 4 +) + +var errInvalidKernelPtrFmt = errors.New("Invalid Num(the kernel table slot number) format") + +// NetUnixType is the type of the type field. +type NetUnixType uint64 + +// NetUnixFlags is the type of the flags field. +type NetUnixFlags uint64 + +// NetUnixState is the type of the state field. +type NetUnixState uint64 + +// NetUnixLine represents a line of /proc/net/unix. +type NetUnixLine struct { + KernelPtr string + RefCount uint64 + Protocol uint64 + Flags NetUnixFlags + Type NetUnixType + State NetUnixState + Inode uint64 + Path string +} + +// NetUnix holds the data read from /proc/net/unix. +type NetUnix struct { + Rows []*NetUnixLine +} + +// NewNetUnix returns data read from /proc/net/unix. +func NewNetUnix() (*NetUnix, error) { + fs, err := NewFS(DefaultMountPoint) + if err != nil { + return nil, err + } + + return fs.NewNetUnix() +} + +// NewNetUnix returns data read from /proc/net/unix. +func (fs FS) NewNetUnix() (*NetUnix, error) { + return NewNetUnixByPath(fs.proc.Path("net/unix")) +} + +// NewNetUnixByPath returns data read from /proc/net/unix by file path. +// It might returns an error with partial parsed data, if an error occur after some data parsed. +func NewNetUnixByPath(path string) (*NetUnix, error) { + f, err := os.Open(path) + if err != nil { + return nil, err + } + defer f.Close() + return NewNetUnixByReader(f) +} + +// NewNetUnixByReader returns data read from /proc/net/unix by a reader. +// It might returns an error with partial parsed data, if an error occur after some data parsed. +func NewNetUnixByReader(reader io.Reader) (*NetUnix, error) { + nu := &NetUnix{ + Rows: make([]*NetUnixLine, 0, 32), + } + scanner := bufio.NewScanner(reader) + // Omit the header line. + scanner.Scan() + header := scanner.Text() + // From the man page of proc(5), it does not contain an Inode field, + // but in actually it exists. + // This code works for both cases. + hasInode := strings.Contains(header, "Inode") + + minFieldsCnt := netUnixStaticFieldsCnt + if hasInode { + minFieldsCnt++ + } + for scanner.Scan() { + line := scanner.Text() + item, err := nu.parseLine(line, hasInode, minFieldsCnt) + if err != nil { + return nu, err + } + nu.Rows = append(nu.Rows, item) + } + + return nu, scanner.Err() +} + +func (u *NetUnix) parseLine(line string, hasInode bool, minFieldsCnt int) (*NetUnixLine, error) { + fields := strings.Fields(line) + fieldsLen := len(fields) + if fieldsLen < minFieldsCnt { + return nil, fmt.Errorf( + "Parse Unix domain failed: expect at least %d fields but got %d", + minFieldsCnt, fieldsLen) + } + kernelPtr, err := u.parseKernelPtr(fields[netUnixKernelPtrIdx]) + if err != nil { + return nil, fmt.Errorf("Parse Unix domain num(%s) failed: %s", fields[netUnixKernelPtrIdx], err) + } + users, err := u.parseUsers(fields[netUnixRefCountIdx]) + if err != nil { + return nil, fmt.Errorf("Parse Unix domain ref count(%s) failed: %s", fields[netUnixRefCountIdx], err) + } + flags, err := u.parseFlags(fields[netUnixFlagsIdx]) + if err != nil { + return nil, fmt.Errorf("Parse Unix domain flags(%s) failed: %s", fields[netUnixFlagsIdx], err) + } + typ, err := u.parseType(fields[netUnixTypeIdx]) + if err != nil { + return nil, fmt.Errorf("Parse Unix domain type(%s) failed: %s", fields[netUnixTypeIdx], err) + } + state, err := u.parseState(fields[netUnixStateIdx]) + if err != nil { + return nil, fmt.Errorf("Parse Unix domain state(%s) failed: %s", fields[netUnixStateIdx], err) + } + var inode uint64 + if hasInode { + inodeStr := fields[netUnixInodeIdx] + inode, err = u.parseInode(inodeStr) + if err != nil { + return nil, fmt.Errorf("Parse Unix domain inode(%s) failed: %s", inodeStr, err) + } + } + + nuLine := &NetUnixLine{ + KernelPtr: kernelPtr, + RefCount: users, + Type: typ, + Flags: flags, + State: state, + Inode: inode, + } + + // Path field is optional. + if fieldsLen > minFieldsCnt { + pathIdx := netUnixInodeIdx + 1 + if !hasInode { + pathIdx-- + } + nuLine.Path = fields[pathIdx] + } + + return nuLine, nil +} + +func (u NetUnix) parseKernelPtr(str string) (string, error) { + if !strings.HasSuffix(str, ":") { + return "", errInvalidKernelPtrFmt + } + return str[:len(str)-1], nil +} + +func (u NetUnix) parseUsers(hexStr string) (uint64, error) { + return strconv.ParseUint(hexStr, 16, 32) +} + +func (u NetUnix) parseProtocol(hexStr string) (uint64, error) { + return strconv.ParseUint(hexStr, 16, 32) +} + +func (u NetUnix) parseType(hexStr string) (NetUnixType, error) { + typ, err := strconv.ParseUint(hexStr, 16, 16) + if err != nil { + return 0, err + } + return NetUnixType(typ), nil +} + +func (u NetUnix) parseFlags(hexStr string) (NetUnixFlags, error) { + flags, err := strconv.ParseUint(hexStr, 16, 32) + if err != nil { + return 0, err + } + return NetUnixFlags(flags), nil +} + +func (u NetUnix) parseState(hexStr string) (NetUnixState, error) { + st, err := strconv.ParseInt(hexStr, 16, 8) + if err != nil { + return 0, err + } + return NetUnixState(st), nil +} + +func (u NetUnix) parseInode(inodeStr string) (uint64, error) { + return strconv.ParseUint(inodeStr, 10, 64) +} + +func (t NetUnixType) String() string { + switch t { + case netUnixTypeStream: + return "stream" + case netUnixTypeDgram: + return "dgram" + case netUnixTypeSeqpacket: + return "seqpacket" + } + return "unknown" +} + +func (f NetUnixFlags) String() string { + switch f { + case netUnixFlagListen: + return "listen" + default: + return "default" + } +} + +func (s NetUnixState) String() string { + switch s { + case netUnixStateUnconnected: + return "unconnected" + case netUnixStateConnecting: + return "connecting" + case netUnixStateConnected: + return "connected" + case netUnixStateDisconnected: + return "disconnected" + } + return "unknown" +} diff --git a/vendor/github.com/prometheus/procfs/proc.go b/vendor/github.com/prometheus/procfs/proc.go new file mode 100644 index 00000000..b7c79cf7 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc.go @@ -0,0 +1,311 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bytes" + "fmt" + "io/ioutil" + "os" + "strconv" + "strings" + + "github.com/prometheus/procfs/internal/fs" +) + +// Proc provides information about a running process. +type Proc struct { + // The process ID. + PID int + + fs fs.FS +} + +// Procs represents a list of Proc structs. +type Procs []Proc + +func (p Procs) Len() int { return len(p) } +func (p Procs) Swap(i, j int) { p[i], p[j] = p[j], p[i] } +func (p Procs) Less(i, j int) bool { return p[i].PID < p[j].PID } + +// Self returns a process for the current process read via /proc/self. +func Self() (Proc, error) { + fs, err := NewFS(DefaultMountPoint) + if err != nil { + return Proc{}, err + } + return fs.Self() +} + +// NewProc returns a process for the given pid under /proc. +func NewProc(pid int) (Proc, error) { + fs, err := NewFS(DefaultMountPoint) + if err != nil { + return Proc{}, err + } + return fs.Proc(pid) +} + +// AllProcs returns a list of all currently available processes under /proc. +func AllProcs() (Procs, error) { + fs, err := NewFS(DefaultMountPoint) + if err != nil { + return Procs{}, err + } + return fs.AllProcs() +} + +// Self returns a process for the current process. +func (fs FS) Self() (Proc, error) { + p, err := os.Readlink(fs.proc.Path("self")) + if err != nil { + return Proc{}, err + } + pid, err := strconv.Atoi(strings.Replace(p, string(fs.proc), "", -1)) + if err != nil { + return Proc{}, err + } + return fs.Proc(pid) +} + +// NewProc returns a process for the given pid. +// +// Deprecated: use fs.Proc() instead +func (fs FS) NewProc(pid int) (Proc, error) { + return fs.Proc(pid) +} + +// Proc returns a process for the given pid. +func (fs FS) Proc(pid int) (Proc, error) { + if _, err := os.Stat(fs.proc.Path(strconv.Itoa(pid))); err != nil { + return Proc{}, err + } + return Proc{PID: pid, fs: fs.proc}, nil +} + +// AllProcs returns a list of all currently available processes. +func (fs FS) AllProcs() (Procs, error) { + d, err := os.Open(fs.proc.Path()) + if err != nil { + return Procs{}, err + } + defer d.Close() + + names, err := d.Readdirnames(-1) + if err != nil { + return Procs{}, fmt.Errorf("could not read %s: %s", d.Name(), err) + } + + p := Procs{} + for _, n := range names { + pid, err := strconv.ParseInt(n, 10, 64) + if err != nil { + continue + } + p = append(p, Proc{PID: int(pid), fs: fs.proc}) + } + + return p, nil +} + +// CmdLine returns the command line of a process. +func (p Proc) CmdLine() ([]string, error) { + f, err := os.Open(p.path("cmdline")) + if err != nil { + return nil, err + } + defer f.Close() + + data, err := ioutil.ReadAll(f) + if err != nil { + return nil, err + } + + if len(data) < 1 { + return []string{}, nil + } + + return strings.Split(string(bytes.TrimRight(data, string("\x00"))), string(byte(0))), nil +} + +// Comm returns the command name of a process. +func (p Proc) Comm() (string, error) { + f, err := os.Open(p.path("comm")) + if err != nil { + return "", err + } + defer f.Close() + + data, err := ioutil.ReadAll(f) + if err != nil { + return "", err + } + + return strings.TrimSpace(string(data)), nil +} + +// Executable returns the absolute path of the executable command of a process. +func (p Proc) Executable() (string, error) { + exe, err := os.Readlink(p.path("exe")) + if os.IsNotExist(err) { + return "", nil + } + + return exe, err +} + +// Cwd returns the absolute path to the current working directory of the process. +func (p Proc) Cwd() (string, error) { + wd, err := os.Readlink(p.path("cwd")) + if os.IsNotExist(err) { + return "", nil + } + + return wd, err +} + +// RootDir returns the absolute path to the process's root directory (as set by chroot) +func (p Proc) RootDir() (string, error) { + rdir, err := os.Readlink(p.path("root")) + if os.IsNotExist(err) { + return "", nil + } + + return rdir, err +} + +// FileDescriptors returns the currently open file descriptors of a process. +func (p Proc) FileDescriptors() ([]uintptr, error) { + names, err := p.fileDescriptors() + if err != nil { + return nil, err + } + + fds := make([]uintptr, len(names)) + for i, n := range names { + fd, err := strconv.ParseInt(n, 10, 32) + if err != nil { + return nil, fmt.Errorf("could not parse fd %s: %s", n, err) + } + fds[i] = uintptr(fd) + } + + return fds, nil +} + +// FileDescriptorTargets returns the targets of all file descriptors of a process. +// If a file descriptor is not a symlink to a file (like a socket), that value will be the empty string. +func (p Proc) FileDescriptorTargets() ([]string, error) { + names, err := p.fileDescriptors() + if err != nil { + return nil, err + } + + targets := make([]string, len(names)) + + for i, name := range names { + target, err := os.Readlink(p.path("fd", name)) + if err == nil { + targets[i] = target + } + } + + return targets, nil +} + +// FileDescriptorsLen returns the number of currently open file descriptors of +// a process. +func (p Proc) FileDescriptorsLen() (int, error) { + fds, err := p.fileDescriptors() + if err != nil { + return 0, err + } + + return len(fds), nil +} + +// MountStats retrieves statistics and configuration for mount points in a +// process's namespace. +func (p Proc) MountStats() ([]*Mount, error) { + f, err := os.Open(p.path("mountstats")) + if err != nil { + return nil, err + } + defer f.Close() + + return parseMountStats(f) +} + +// MountInfo retrieves mount information for mount points in a +// process's namespace. +// It supplies information missing in `/proc/self/mounts` and +// fixes various other problems with that file too. +func (p Proc) MountInfo() ([]*MountInfo, error) { + f, err := os.Open(p.path("mountinfo")) + if err != nil { + return nil, err + } + defer f.Close() + + return parseMountInfo(f) +} + +func (p Proc) fileDescriptors() ([]string, error) { + d, err := os.Open(p.path("fd")) + if err != nil { + return nil, err + } + defer d.Close() + + names, err := d.Readdirnames(-1) + if err != nil { + return nil, fmt.Errorf("could not read %s: %s", d.Name(), err) + } + + return names, nil +} + +func (p Proc) path(pa ...string) string { + return p.fs.Path(append([]string{strconv.Itoa(p.PID)}, pa...)...) +} + +// FileDescriptorsInfo retrieves information about all file descriptors of +// the process. +func (p Proc) FileDescriptorsInfo() (ProcFDInfos, error) { + names, err := p.fileDescriptors() + if err != nil { + return nil, err + } + + var fdinfos ProcFDInfos + + for _, n := range names { + fdinfo, err := p.FDInfo(n) + if err != nil { + continue + } + fdinfos = append(fdinfos, *fdinfo) + } + + return fdinfos, nil +} + +// Schedstat returns task scheduling information for the process. +func (p Proc) Schedstat() (ProcSchedstat, error) { + contents, err := ioutil.ReadFile(p.path("schedstat")) + if err != nil { + return ProcSchedstat{}, err + } + return parseProcSchedstat(string(contents)) +} diff --git a/vendor/github.com/prometheus/procfs/proc_environ.go b/vendor/github.com/prometheus/procfs/proc_environ.go new file mode 100644 index 00000000..7172bb58 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc_environ.go @@ -0,0 +1,43 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "io/ioutil" + "os" + "strings" +) + +// Environ reads process environments from /proc//environ +func (p Proc) Environ() ([]string, error) { + environments := make([]string, 0) + + f, err := os.Open(p.path("environ")) + if err != nil { + return environments, err + } + defer f.Close() + + data, err := ioutil.ReadAll(f) + if err != nil { + return environments, err + } + + environments = strings.Split(string(data), "\000") + if len(environments) > 0 { + environments = environments[:len(environments)-1] + } + + return environments, nil +} diff --git a/vendor/github.com/prometheus/procfs/proc_fdinfo.go b/vendor/github.com/prometheus/procfs/proc_fdinfo.go new file mode 100644 index 00000000..83b67d1b --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc_fdinfo.go @@ -0,0 +1,132 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "fmt" + "io/ioutil" + "os" + "regexp" + "strings" +) + +// Regexp variables +var ( + rPos = regexp.MustCompile(`^pos:\s+(\d+)$`) + rFlags = regexp.MustCompile(`^flags:\s+(\d+)$`) + rMntID = regexp.MustCompile(`^mnt_id:\s+(\d+)$`) + rInotify = regexp.MustCompile(`^inotify`) +) + +// ProcFDInfo contains represents file descriptor information. +type ProcFDInfo struct { + // File descriptor + FD string + // File offset + Pos string + // File access mode and status flags + Flags string + // Mount point ID + MntID string + // List of inotify lines (structed) in the fdinfo file (kernel 3.8+ only) + InotifyInfos []InotifyInfo +} + +// FDInfo constructor. On kernels older than 3.8, InotifyInfos will always be empty. +func (p Proc) FDInfo(fd string) (*ProcFDInfo, error) { + f, err := os.Open(p.path("fdinfo", fd)) + if err != nil { + return nil, err + } + defer f.Close() + + fdinfo, err := ioutil.ReadAll(f) + if err != nil { + return nil, fmt.Errorf("could not read %s: %s", f.Name(), err) + } + + var text, pos, flags, mntid string + var inotify []InotifyInfo + + scanner := bufio.NewScanner(strings.NewReader(string(fdinfo))) + for scanner.Scan() { + text = scanner.Text() + if rPos.MatchString(text) { + pos = rPos.FindStringSubmatch(text)[1] + } else if rFlags.MatchString(text) { + flags = rFlags.FindStringSubmatch(text)[1] + } else if rMntID.MatchString(text) { + mntid = rMntID.FindStringSubmatch(text)[1] + } else if rInotify.MatchString(text) { + newInotify, err := parseInotifyInfo(text) + if err != nil { + return nil, err + } + inotify = append(inotify, *newInotify) + } + } + + i := &ProcFDInfo{ + FD: fd, + Pos: pos, + Flags: flags, + MntID: mntid, + InotifyInfos: inotify, + } + + return i, nil +} + +// InotifyInfo represents a single inotify line in the fdinfo file. +type InotifyInfo struct { + // Watch descriptor number + WD string + // Inode number + Ino string + // Device ID + Sdev string + // Mask of events being monitored + Mask string +} + +// InotifyInfo constructor. Only available on kernel 3.8+. +func parseInotifyInfo(line string) (*InotifyInfo, error) { + r := regexp.MustCompile(`^inotify\s+wd:([0-9a-f]+)\s+ino:([0-9a-f]+)\s+sdev:([0-9a-f]+)\s+mask:([0-9a-f]+)`) + m := r.FindStringSubmatch(line) + i := &InotifyInfo{ + WD: m[1], + Ino: m[2], + Sdev: m[3], + Mask: m[4], + } + return i, nil +} + +// ProcFDInfos represents a list of ProcFDInfo structs. +type ProcFDInfos []ProcFDInfo + +func (p ProcFDInfos) Len() int { return len(p) } +func (p ProcFDInfos) Swap(i, j int) { p[i], p[j] = p[j], p[i] } +func (p ProcFDInfos) Less(i, j int) bool { return p[i].FD < p[j].FD } + +// InotifyWatchLen returns the total number of inotify watches +func (p ProcFDInfos) InotifyWatchLen() (int, error) { + length := 0 + for _, f := range p { + length += len(f.InotifyInfos) + } + + return length, nil +} diff --git a/vendor/github.com/prometheus/procfs/proc_io.go b/vendor/github.com/prometheus/procfs/proc_io.go new file mode 100644 index 00000000..0ff89b1c --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc_io.go @@ -0,0 +1,65 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "fmt" + "io/ioutil" + "os" +) + +// ProcIO models the content of /proc//io. +type ProcIO struct { + // Chars read. + RChar uint64 + // Chars written. + WChar uint64 + // Read syscalls. + SyscR uint64 + // Write syscalls. + SyscW uint64 + // Bytes read. + ReadBytes uint64 + // Bytes written. + WriteBytes uint64 + // Bytes written, but taking into account truncation. See + // Documentation/filesystems/proc.txt in the kernel sources for + // detailed explanation. + CancelledWriteBytes int64 +} + +// IO creates a new ProcIO instance from a given Proc instance. +func (p Proc) IO() (ProcIO, error) { + pio := ProcIO{} + + f, err := os.Open(p.path("io")) + if err != nil { + return pio, err + } + defer f.Close() + + data, err := ioutil.ReadAll(f) + if err != nil { + return pio, err + } + + ioFormat := "rchar: %d\nwchar: %d\nsyscr: %d\nsyscw: %d\n" + + "read_bytes: %d\nwrite_bytes: %d\n" + + "cancelled_write_bytes: %d\n" + + _, err = fmt.Sscanf(string(data), ioFormat, &pio.RChar, &pio.WChar, &pio.SyscR, + &pio.SyscW, &pio.ReadBytes, &pio.WriteBytes, &pio.CancelledWriteBytes) + + return pio, err +} diff --git a/vendor/github.com/prometheus/procfs/proc_limits.go b/vendor/github.com/prometheus/procfs/proc_limits.go new file mode 100644 index 00000000..91ee24df --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc_limits.go @@ -0,0 +1,157 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "fmt" + "os" + "regexp" + "strconv" +) + +// ProcLimits represents the soft limits for each of the process's resource +// limits. For more information see getrlimit(2): +// http://man7.org/linux/man-pages/man2/getrlimit.2.html. +type ProcLimits struct { + // CPU time limit in seconds. + CPUTime int64 + // Maximum size of files that the process may create. + FileSize int64 + // Maximum size of the process's data segment (initialized data, + // uninitialized data, and heap). + DataSize int64 + // Maximum size of the process stack in bytes. + StackSize int64 + // Maximum size of a core file. + CoreFileSize int64 + // Limit of the process's resident set in pages. + ResidentSet int64 + // Maximum number of processes that can be created for the real user ID of + // the calling process. + Processes int64 + // Value one greater than the maximum file descriptor number that can be + // opened by this process. + OpenFiles int64 + // Maximum number of bytes of memory that may be locked into RAM. + LockedMemory int64 + // Maximum size of the process's virtual memory address space in bytes. + AddressSpace int64 + // Limit on the combined number of flock(2) locks and fcntl(2) leases that + // this process may establish. + FileLocks int64 + // Limit of signals that may be queued for the real user ID of the calling + // process. + PendingSignals int64 + // Limit on the number of bytes that can be allocated for POSIX message + // queues for the real user ID of the calling process. + MsqqueueSize int64 + // Limit of the nice priority set using setpriority(2) or nice(2). + NicePriority int64 + // Limit of the real-time priority set using sched_setscheduler(2) or + // sched_setparam(2). + RealtimePriority int64 + // Limit (in microseconds) on the amount of CPU time that a process + // scheduled under a real-time scheduling policy may consume without making + // a blocking system call. + RealtimeTimeout int64 +} + +const ( + limitsFields = 3 + limitsUnlimited = "unlimited" +) + +var ( + limitsDelimiter = regexp.MustCompile(" +") +) + +// NewLimits returns the current soft limits of the process. +// +// Deprecated: use p.Limits() instead +func (p Proc) NewLimits() (ProcLimits, error) { + return p.Limits() +} + +// Limits returns the current soft limits of the process. +func (p Proc) Limits() (ProcLimits, error) { + f, err := os.Open(p.path("limits")) + if err != nil { + return ProcLimits{}, err + } + defer f.Close() + + var ( + l = ProcLimits{} + s = bufio.NewScanner(f) + ) + for s.Scan() { + fields := limitsDelimiter.Split(s.Text(), limitsFields) + if len(fields) != limitsFields { + return ProcLimits{}, fmt.Errorf( + "couldn't parse %s line %s", f.Name(), s.Text()) + } + + switch fields[0] { + case "Max cpu time": + l.CPUTime, err = parseInt(fields[1]) + case "Max file size": + l.FileSize, err = parseInt(fields[1]) + case "Max data size": + l.DataSize, err = parseInt(fields[1]) + case "Max stack size": + l.StackSize, err = parseInt(fields[1]) + case "Max core file size": + l.CoreFileSize, err = parseInt(fields[1]) + case "Max resident set": + l.ResidentSet, err = parseInt(fields[1]) + case "Max processes": + l.Processes, err = parseInt(fields[1]) + case "Max open files": + l.OpenFiles, err = parseInt(fields[1]) + case "Max locked memory": + l.LockedMemory, err = parseInt(fields[1]) + case "Max address space": + l.AddressSpace, err = parseInt(fields[1]) + case "Max file locks": + l.FileLocks, err = parseInt(fields[1]) + case "Max pending signals": + l.PendingSignals, err = parseInt(fields[1]) + case "Max msgqueue size": + l.MsqqueueSize, err = parseInt(fields[1]) + case "Max nice priority": + l.NicePriority, err = parseInt(fields[1]) + case "Max realtime priority": + l.RealtimePriority, err = parseInt(fields[1]) + case "Max realtime timeout": + l.RealtimeTimeout, err = parseInt(fields[1]) + } + if err != nil { + return ProcLimits{}, err + } + } + + return l, s.Err() +} + +func parseInt(s string) (int64, error) { + if s == limitsUnlimited { + return -1, nil + } + i, err := strconv.ParseInt(s, 10, 64) + if err != nil { + return 0, fmt.Errorf("couldn't parse value %s: %s", s, err) + } + return i, nil +} diff --git a/vendor/github.com/prometheus/procfs/proc_ns.go b/vendor/github.com/prometheus/procfs/proc_ns.go new file mode 100644 index 00000000..c66740ff --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc_ns.go @@ -0,0 +1,68 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "fmt" + "os" + "strconv" + "strings" +) + +// Namespace represents a single namespace of a process. +type Namespace struct { + Type string // Namespace type. + Inode uint32 // Inode number of the namespace. If two processes are in the same namespace their inodes will match. +} + +// Namespaces contains all of the namespaces that the process is contained in. +type Namespaces map[string]Namespace + +// Namespaces reads from /proc//ns/* to get the namespaces of which the +// process is a member. +func (p Proc) Namespaces() (Namespaces, error) { + d, err := os.Open(p.path("ns")) + if err != nil { + return nil, err + } + defer d.Close() + + names, err := d.Readdirnames(-1) + if err != nil { + return nil, fmt.Errorf("failed to read contents of ns dir: %v", err) + } + + ns := make(Namespaces, len(names)) + for _, name := range names { + target, err := os.Readlink(p.path("ns", name)) + if err != nil { + return nil, err + } + + fields := strings.SplitN(target, ":", 2) + if len(fields) != 2 { + return nil, fmt.Errorf("failed to parse namespace type and inode from '%v'", target) + } + + typ := fields[0] + inode, err := strconv.ParseUint(strings.Trim(fields[1], "[]"), 10, 32) + if err != nil { + return nil, fmt.Errorf("failed to parse inode from '%v': %v", fields[1], err) + } + + ns[name] = Namespace{typ, uint32(inode)} + } + + return ns, nil +} diff --git a/vendor/github.com/prometheus/procfs/proc_psi.go b/vendor/github.com/prometheus/procfs/proc_psi.go new file mode 100644 index 00000000..46fe2662 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc_psi.go @@ -0,0 +1,101 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +// The PSI / pressure interface is described at +// https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/accounting/psi.txt +// Each resource (cpu, io, memory, ...) is exposed as a single file. +// Each file may contain up to two lines, one for "some" pressure and one for "full" pressure. +// Each line contains several averages (over n seconds) and a total in µs. +// +// Example io pressure file: +// > some avg10=0.06 avg60=0.21 avg300=0.99 total=8537362 +// > full avg10=0.00 avg60=0.13 avg300=0.96 total=8183134 + +import ( + "fmt" + "io" + "io/ioutil" + "os" + "strings" +) + +const lineFormat = "avg10=%f avg60=%f avg300=%f total=%d" + +// PSILine is a single line of values as returned by /proc/pressure/* +// The Avg entries are averages over n seconds, as a percentage +// The Total line is in microseconds +type PSILine struct { + Avg10 float64 + Avg60 float64 + Avg300 float64 + Total uint64 +} + +// PSIStats represent pressure stall information from /proc/pressure/* +// Some indicates the share of time in which at least some tasks are stalled +// Full indicates the share of time in which all non-idle tasks are stalled simultaneously +type PSIStats struct { + Some *PSILine + Full *PSILine +} + +// PSIStatsForResource reads pressure stall information for the specified +// resource from /proc/pressure/. At time of writing this can be +// either "cpu", "memory" or "io". +func (fs FS) PSIStatsForResource(resource string) (PSIStats, error) { + file, err := os.Open(fs.proc.Path(fmt.Sprintf("%s/%s", "pressure", resource))) + if err != nil { + return PSIStats{}, fmt.Errorf("psi_stats: unavailable for %s", resource) + } + + defer file.Close() + return parsePSIStats(resource, file) +} + +// parsePSIStats parses the specified file for pressure stall information +func parsePSIStats(resource string, file io.Reader) (PSIStats, error) { + psiStats := PSIStats{} + stats, err := ioutil.ReadAll(file) + if err != nil { + return psiStats, fmt.Errorf("psi_stats: unable to read data for %s", resource) + } + + for _, l := range strings.Split(string(stats), "\n") { + prefix := strings.Split(l, " ")[0] + switch prefix { + case "some": + psi := PSILine{} + _, err := fmt.Sscanf(l, fmt.Sprintf("some %s", lineFormat), &psi.Avg10, &psi.Avg60, &psi.Avg300, &psi.Total) + if err != nil { + return PSIStats{}, err + } + psiStats.Some = &psi + case "full": + psi := PSILine{} + _, err := fmt.Sscanf(l, fmt.Sprintf("full %s", lineFormat), &psi.Avg10, &psi.Avg60, &psi.Avg300, &psi.Total) + if err != nil { + return PSIStats{}, err + } + psiStats.Full = &psi + default: + // If we encounter a line with an unknown prefix, ignore it and move on + // Should new measurement types be added in the future we'll simply ignore them instead + // of erroring on retrieval + continue + } + } + + return psiStats, nil +} diff --git a/vendor/github.com/prometheus/procfs/proc_stat.go b/vendor/github.com/prometheus/procfs/proc_stat.go new file mode 100644 index 00000000..dbde1fa0 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc_stat.go @@ -0,0 +1,198 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bytes" + "fmt" + "io/ioutil" + "os" + + "github.com/prometheus/procfs/internal/fs" +) + +// Originally, this USER_HZ value was dynamically retrieved via a sysconf call +// which required cgo. However, that caused a lot of problems regarding +// cross-compilation. Alternatives such as running a binary to determine the +// value, or trying to derive it in some other way were all problematic. After +// much research it was determined that USER_HZ is actually hardcoded to 100 on +// all Go-supported platforms as of the time of this writing. This is why we +// decided to hardcode it here as well. It is not impossible that there could +// be systems with exceptions, but they should be very exotic edge cases, and +// in that case, the worst outcome will be two misreported metrics. +// +// See also the following discussions: +// +// - https://github.com/prometheus/node_exporter/issues/52 +// - https://github.com/prometheus/procfs/pull/2 +// - http://stackoverflow.com/questions/17410841/how-does-user-hz-solve-the-jiffy-scaling-issue +const userHZ = 100 + +// ProcStat provides status information about the process, +// read from /proc/[pid]/stat. +type ProcStat struct { + // The process ID. + PID int + // The filename of the executable. + Comm string + // The process state. + State string + // The PID of the parent of this process. + PPID int + // The process group ID of the process. + PGRP int + // The session ID of the process. + Session int + // The controlling terminal of the process. + TTY int + // The ID of the foreground process group of the controlling terminal of + // the process. + TPGID int + // The kernel flags word of the process. + Flags uint + // The number of minor faults the process has made which have not required + // loading a memory page from disk. + MinFlt uint + // The number of minor faults that the process's waited-for children have + // made. + CMinFlt uint + // The number of major faults the process has made which have required + // loading a memory page from disk. + MajFlt uint + // The number of major faults that the process's waited-for children have + // made. + CMajFlt uint + // Amount of time that this process has been scheduled in user mode, + // measured in clock ticks. + UTime uint + // Amount of time that this process has been scheduled in kernel mode, + // measured in clock ticks. + STime uint + // Amount of time that this process's waited-for children have been + // scheduled in user mode, measured in clock ticks. + CUTime uint + // Amount of time that this process's waited-for children have been + // scheduled in kernel mode, measured in clock ticks. + CSTime uint + // For processes running a real-time scheduling policy, this is the negated + // scheduling priority, minus one. + Priority int + // The nice value, a value in the range 19 (low priority) to -20 (high + // priority). + Nice int + // Number of threads in this process. + NumThreads int + // The time the process started after system boot, the value is expressed + // in clock ticks. + Starttime uint64 + // Virtual memory size in bytes. + VSize uint + // Resident set size in pages. + RSS int + + proc fs.FS +} + +// NewStat returns the current status information of the process. +// +// Deprecated: use p.Stat() instead +func (p Proc) NewStat() (ProcStat, error) { + return p.Stat() +} + +// Stat returns the current status information of the process. +func (p Proc) Stat() (ProcStat, error) { + f, err := os.Open(p.path("stat")) + if err != nil { + return ProcStat{}, err + } + defer f.Close() + + data, err := ioutil.ReadAll(f) + if err != nil { + return ProcStat{}, err + } + + var ( + ignore int + + s = ProcStat{PID: p.PID, proc: p.fs} + l = bytes.Index(data, []byte("(")) + r = bytes.LastIndex(data, []byte(")")) + ) + + if l < 0 || r < 0 { + return ProcStat{}, fmt.Errorf( + "unexpected format, couldn't extract comm: %s", + data, + ) + } + + s.Comm = string(data[l+1 : r]) + _, err = fmt.Fscan( + bytes.NewBuffer(data[r+2:]), + &s.State, + &s.PPID, + &s.PGRP, + &s.Session, + &s.TTY, + &s.TPGID, + &s.Flags, + &s.MinFlt, + &s.CMinFlt, + &s.MajFlt, + &s.CMajFlt, + &s.UTime, + &s.STime, + &s.CUTime, + &s.CSTime, + &s.Priority, + &s.Nice, + &s.NumThreads, + &ignore, + &s.Starttime, + &s.VSize, + &s.RSS, + ) + if err != nil { + return ProcStat{}, err + } + + return s, nil +} + +// VirtualMemory returns the virtual memory size in bytes. +func (s ProcStat) VirtualMemory() uint { + return s.VSize +} + +// ResidentMemory returns the resident memory size in bytes. +func (s ProcStat) ResidentMemory() int { + return s.RSS * os.Getpagesize() +} + +// StartTime returns the unix timestamp of the process in seconds. +func (s ProcStat) StartTime() (float64, error) { + fs := FS{proc: s.proc} + stat, err := fs.Stat() + if err != nil { + return 0, err + } + return float64(stat.BootTime) + (float64(s.Starttime) / userHZ), nil +} + +// CPUTime returns the total CPU user and system time in seconds. +func (s ProcStat) CPUTime() float64 { + return float64(s.UTime+s.STime) / userHZ +} diff --git a/vendor/github.com/prometheus/procfs/proc_status.go b/vendor/github.com/prometheus/procfs/proc_status.go new file mode 100644 index 00000000..ad290fae --- /dev/null +++ b/vendor/github.com/prometheus/procfs/proc_status.go @@ -0,0 +1,167 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bytes" + "io/ioutil" + "os" + "strconv" + "strings" +) + +// ProcStatus provides status information about the process, +// read from /proc/[pid]/stat. +type ProcStatus struct { + // The process ID. + PID int + // The process name. + Name string + + // Thread group ID. + TGID int + + // Peak virtual memory size. + VmPeak uint64 + // Virtual memory size. + VmSize uint64 + // Locked memory size. + VmLck uint64 + // Pinned memory size. + VmPin uint64 + // Peak resident set size. + VmHWM uint64 + // Resident set size (sum of RssAnnon RssFile and RssShmem). + VmRSS uint64 + // Size of resident anonymous memory. + RssAnon uint64 + // Size of resident file mappings. + RssFile uint64 + // Size of resident shared memory. + RssShmem uint64 + // Size of data segments. + VmData uint64 + // Size of stack segments. + VmStk uint64 + // Size of text segments. + VmExe uint64 + // Shared library code size. + VmLib uint64 + // Page table entries size. + VmPTE uint64 + // Size of second-level page tables. + VmPMD uint64 + // Swapped-out virtual memory size by anonymous private. + VmSwap uint64 + // Size of hugetlb memory portions + HugetlbPages uint64 + + // Number of voluntary context switches. + VoluntaryCtxtSwitches uint64 + // Number of involuntary context switches. + NonVoluntaryCtxtSwitches uint64 +} + +// NewStatus returns the current status information of the process. +func (p Proc) NewStatus() (ProcStatus, error) { + f, err := os.Open(p.path("status")) + if err != nil { + return ProcStatus{}, err + } + defer f.Close() + + data, err := ioutil.ReadAll(f) + if err != nil { + return ProcStatus{}, err + } + + s := ProcStatus{PID: p.PID} + + lines := strings.Split(string(data), "\n") + for _, line := range lines { + if !bytes.Contains([]byte(line), []byte(":")) { + continue + } + + kv := strings.SplitN(line, ":", 2) + + // removes spaces + k := string(strings.TrimSpace(kv[0])) + v := string(strings.TrimSpace(kv[1])) + // removes "kB" + v = string(bytes.Trim([]byte(v), " kB")) + + // value to int when possible + // we can skip error check here, 'cause vKBytes is not used when value is a string + vKBytes, _ := strconv.ParseUint(v, 10, 64) + // convert kB to B + vBytes := vKBytes * 1024 + + s.fillStatus(k, v, vKBytes, vBytes) + } + + return s, nil +} + +func (s *ProcStatus) fillStatus(k string, vString string, vUint uint64, vUintBytes uint64) { + switch k { + case "Tgid": + s.TGID = int(vUint) + case "Name": + s.Name = vString + case "VmPeak": + s.VmPeak = vUintBytes + case "VmSize": + s.VmSize = vUintBytes + case "VmLck": + s.VmLck = vUintBytes + case "VmPin": + s.VmPin = vUintBytes + case "VmHWM": + s.VmHWM = vUintBytes + case "VmRSS": + s.VmRSS = vUintBytes + case "RssAnon": + s.RssAnon = vUintBytes + case "RssFile": + s.RssFile = vUintBytes + case "RssShmem": + s.RssShmem = vUintBytes + case "VmData": + s.VmData = vUintBytes + case "VmStk": + s.VmStk = vUintBytes + case "VmExe": + s.VmExe = vUintBytes + case "VmLib": + s.VmLib = vUintBytes + case "VmPTE": + s.VmPTE = vUintBytes + case "VmPMD": + s.VmPMD = vUintBytes + case "VmSwap": + s.VmSwap = vUintBytes + case "HugetlbPages": + s.HugetlbPages = vUintBytes + case "voluntary_ctxt_switches": + s.VoluntaryCtxtSwitches = vUint + case "nonvoluntary_ctxt_switches": + s.NonVoluntaryCtxtSwitches = vUint + } +} + +// TotalCtxtSwitches returns the total context switch. +func (s ProcStatus) TotalCtxtSwitches() uint64 { + return s.VoluntaryCtxtSwitches + s.NonVoluntaryCtxtSwitches +} diff --git a/vendor/github.com/prometheus/procfs/schedstat.go b/vendor/github.com/prometheus/procfs/schedstat.go new file mode 100644 index 00000000..a4c4089a --- /dev/null +++ b/vendor/github.com/prometheus/procfs/schedstat.go @@ -0,0 +1,118 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "errors" + "os" + "regexp" + "strconv" +) + +var ( + cpuLineRE = regexp.MustCompile(`cpu(\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+) (\d+)`) + procLineRE = regexp.MustCompile(`(\d+) (\d+) (\d+)`) +) + +// Schedstat contains scheduler statistics from /proc/schedstat +// +// See +// https://www.kernel.org/doc/Documentation/scheduler/sched-stats.txt +// for a detailed description of what these numbers mean. +// +// Note the current kernel documentation claims some of the time units are in +// jiffies when they are actually in nanoseconds since 2.6.23 with the +// introduction of CFS. A fix to the documentation is pending. See +// https://lore.kernel.org/patchwork/project/lkml/list/?series=403473 +type Schedstat struct { + CPUs []*SchedstatCPU +} + +// SchedstatCPU contains the values from one "cpu" line +type SchedstatCPU struct { + CPUNum string + + RunningNanoseconds uint64 + WaitingNanoseconds uint64 + RunTimeslices uint64 +} + +// ProcSchedstat contains the values from /proc//schedstat +type ProcSchedstat struct { + RunningNanoseconds uint64 + WaitingNanoseconds uint64 + RunTimeslices uint64 +} + +// Schedstat reads data from /proc/schedstat +func (fs FS) Schedstat() (*Schedstat, error) { + file, err := os.Open(fs.proc.Path("schedstat")) + if err != nil { + return nil, err + } + defer file.Close() + + stats := &Schedstat{} + scanner := bufio.NewScanner(file) + + for scanner.Scan() { + match := cpuLineRE.FindStringSubmatch(scanner.Text()) + if match != nil { + cpu := &SchedstatCPU{} + cpu.CPUNum = match[1] + + cpu.RunningNanoseconds, err = strconv.ParseUint(match[8], 10, 64) + if err != nil { + continue + } + + cpu.WaitingNanoseconds, err = strconv.ParseUint(match[9], 10, 64) + if err != nil { + continue + } + + cpu.RunTimeslices, err = strconv.ParseUint(match[10], 10, 64) + if err != nil { + continue + } + + stats.CPUs = append(stats.CPUs, cpu) + } + } + + return stats, nil +} + +func parseProcSchedstat(contents string) (stats ProcSchedstat, err error) { + match := procLineRE.FindStringSubmatch(contents) + + if match != nil { + stats.RunningNanoseconds, err = strconv.ParseUint(match[1], 10, 64) + if err != nil { + return + } + + stats.WaitingNanoseconds, err = strconv.ParseUint(match[2], 10, 64) + if err != nil { + return + } + + stats.RunTimeslices, err = strconv.ParseUint(match[3], 10, 64) + return + } + + err = errors.New("could not parse schedstat") + return +} diff --git a/vendor/github.com/prometheus/procfs/stat.go b/vendor/github.com/prometheus/procfs/stat.go new file mode 100644 index 00000000..6661ee03 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/stat.go @@ -0,0 +1,244 @@ +// Copyright 2018 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "fmt" + "io" + "os" + "strconv" + "strings" + + "github.com/prometheus/procfs/internal/fs" +) + +// CPUStat shows how much time the cpu spend in various stages. +type CPUStat struct { + User float64 + Nice float64 + System float64 + Idle float64 + Iowait float64 + IRQ float64 + SoftIRQ float64 + Steal float64 + Guest float64 + GuestNice float64 +} + +// SoftIRQStat represent the softirq statistics as exported in the procfs stat file. +// A nice introduction can be found at https://0xax.gitbooks.io/linux-insides/content/interrupts/interrupts-9.html +// It is possible to get per-cpu stats by reading /proc/softirqs +type SoftIRQStat struct { + Hi uint64 + Timer uint64 + NetTx uint64 + NetRx uint64 + Block uint64 + BlockIoPoll uint64 + Tasklet uint64 + Sched uint64 + Hrtimer uint64 + Rcu uint64 +} + +// Stat represents kernel/system statistics. +type Stat struct { + // Boot time in seconds since the Epoch. + BootTime uint64 + // Summed up cpu statistics. + CPUTotal CPUStat + // Per-CPU statistics. + CPU []CPUStat + // Number of times interrupts were handled, which contains numbered and unnumbered IRQs. + IRQTotal uint64 + // Number of times a numbered IRQ was triggered. + IRQ []uint64 + // Number of times a context switch happened. + ContextSwitches uint64 + // Number of times a process was created. + ProcessCreated uint64 + // Number of processes currently running. + ProcessesRunning uint64 + // Number of processes currently blocked (waiting for IO). + ProcessesBlocked uint64 + // Number of times a softirq was scheduled. + SoftIRQTotal uint64 + // Detailed softirq statistics. + SoftIRQ SoftIRQStat +} + +// Parse a cpu statistics line and returns the CPUStat struct plus the cpu id (or -1 for the overall sum). +func parseCPUStat(line string) (CPUStat, int64, error) { + cpuStat := CPUStat{} + var cpu string + + count, err := fmt.Sscanf(line, "%s %f %f %f %f %f %f %f %f %f %f", + &cpu, + &cpuStat.User, &cpuStat.Nice, &cpuStat.System, &cpuStat.Idle, + &cpuStat.Iowait, &cpuStat.IRQ, &cpuStat.SoftIRQ, &cpuStat.Steal, + &cpuStat.Guest, &cpuStat.GuestNice) + + if err != nil && err != io.EOF { + return CPUStat{}, -1, fmt.Errorf("couldn't parse %s (cpu): %s", line, err) + } + if count == 0 { + return CPUStat{}, -1, fmt.Errorf("couldn't parse %s (cpu): 0 elements parsed", line) + } + + cpuStat.User /= userHZ + cpuStat.Nice /= userHZ + cpuStat.System /= userHZ + cpuStat.Idle /= userHZ + cpuStat.Iowait /= userHZ + cpuStat.IRQ /= userHZ + cpuStat.SoftIRQ /= userHZ + cpuStat.Steal /= userHZ + cpuStat.Guest /= userHZ + cpuStat.GuestNice /= userHZ + + if cpu == "cpu" { + return cpuStat, -1, nil + } + + cpuID, err := strconv.ParseInt(cpu[3:], 10, 64) + if err != nil { + return CPUStat{}, -1, fmt.Errorf("couldn't parse %s (cpu/cpuid): %s", line, err) + } + + return cpuStat, cpuID, nil +} + +// Parse a softirq line. +func parseSoftIRQStat(line string) (SoftIRQStat, uint64, error) { + softIRQStat := SoftIRQStat{} + var total uint64 + var prefix string + + _, err := fmt.Sscanf(line, "%s %d %d %d %d %d %d %d %d %d %d %d", + &prefix, &total, + &softIRQStat.Hi, &softIRQStat.Timer, &softIRQStat.NetTx, &softIRQStat.NetRx, + &softIRQStat.Block, &softIRQStat.BlockIoPoll, + &softIRQStat.Tasklet, &softIRQStat.Sched, + &softIRQStat.Hrtimer, &softIRQStat.Rcu) + + if err != nil { + return SoftIRQStat{}, 0, fmt.Errorf("couldn't parse %s (softirq): %s", line, err) + } + + return softIRQStat, total, nil +} + +// NewStat returns information about current cpu/process statistics. +// See https://www.kernel.org/doc/Documentation/filesystems/proc.txt +// +// Deprecated: use fs.Stat() instead +func NewStat() (Stat, error) { + fs, err := NewFS(fs.DefaultProcMountPoint) + if err != nil { + return Stat{}, err + } + return fs.Stat() +} + +// NewStat returns information about current cpu/process statistics. +// See https://www.kernel.org/doc/Documentation/filesystems/proc.txt +// +// Deprecated: use fs.Stat() instead +func (fs FS) NewStat() (Stat, error) { + return fs.Stat() +} + +// Stat returns information about current cpu/process statistics. +// See https://www.kernel.org/doc/Documentation/filesystems/proc.txt +func (fs FS) Stat() (Stat, error) { + + f, err := os.Open(fs.proc.Path("stat")) + if err != nil { + return Stat{}, err + } + defer f.Close() + + stat := Stat{} + + scanner := bufio.NewScanner(f) + for scanner.Scan() { + line := scanner.Text() + parts := strings.Fields(scanner.Text()) + // require at least + if len(parts) < 2 { + continue + } + switch { + case parts[0] == "btime": + if stat.BootTime, err = strconv.ParseUint(parts[1], 10, 64); err != nil { + return Stat{}, fmt.Errorf("couldn't parse %s (btime): %s", parts[1], err) + } + case parts[0] == "intr": + if stat.IRQTotal, err = strconv.ParseUint(parts[1], 10, 64); err != nil { + return Stat{}, fmt.Errorf("couldn't parse %s (intr): %s", parts[1], err) + } + numberedIRQs := parts[2:] + stat.IRQ = make([]uint64, len(numberedIRQs)) + for i, count := range numberedIRQs { + if stat.IRQ[i], err = strconv.ParseUint(count, 10, 64); err != nil { + return Stat{}, fmt.Errorf("couldn't parse %s (intr%d): %s", count, i, err) + } + } + case parts[0] == "ctxt": + if stat.ContextSwitches, err = strconv.ParseUint(parts[1], 10, 64); err != nil { + return Stat{}, fmt.Errorf("couldn't parse %s (ctxt): %s", parts[1], err) + } + case parts[0] == "processes": + if stat.ProcessCreated, err = strconv.ParseUint(parts[1], 10, 64); err != nil { + return Stat{}, fmt.Errorf("couldn't parse %s (processes): %s", parts[1], err) + } + case parts[0] == "procs_running": + if stat.ProcessesRunning, err = strconv.ParseUint(parts[1], 10, 64); err != nil { + return Stat{}, fmt.Errorf("couldn't parse %s (procs_running): %s", parts[1], err) + } + case parts[0] == "procs_blocked": + if stat.ProcessesBlocked, err = strconv.ParseUint(parts[1], 10, 64); err != nil { + return Stat{}, fmt.Errorf("couldn't parse %s (procs_blocked): %s", parts[1], err) + } + case parts[0] == "softirq": + softIRQStats, total, err := parseSoftIRQStat(line) + if err != nil { + return Stat{}, err + } + stat.SoftIRQTotal = total + stat.SoftIRQ = softIRQStats + case strings.HasPrefix(parts[0], "cpu"): + cpuStat, cpuID, err := parseCPUStat(line) + if err != nil { + return Stat{}, err + } + if cpuID == -1 { + stat.CPUTotal = cpuStat + } else { + for int64(len(stat.CPU)) <= cpuID { + stat.CPU = append(stat.CPU, CPUStat{}) + } + stat.CPU[cpuID] = cpuStat + } + } + } + + if err := scanner.Err(); err != nil { + return Stat{}, fmt.Errorf("couldn't parse %s: %s", f.Name(), err) + } + + return stat, nil +} diff --git a/vendor/github.com/prometheus/procfs/ttar b/vendor/github.com/prometheus/procfs/ttar new file mode 100755 index 00000000..19ef02b8 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/ttar @@ -0,0 +1,413 @@ +#!/usr/bin/env bash + +# Purpose: plain text tar format +# Limitations: - only suitable for text files, directories, and symlinks +# - stores only filename, content, and mode +# - not designed for untrusted input +# +# Note: must work with bash version 3.2 (macOS) + +# Copyright 2017 Roger Luethi +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o errexit -o nounset + +# Sanitize environment (for instance, standard sorting of glob matches) +export LC_ALL=C + +path="" +CMD="" +ARG_STRING="$*" + +#------------------------------------------------------------------------------ +# Not all sed implementations can work on null bytes. In order to make ttar +# work out of the box on macOS, use Python as a stream editor. + +USE_PYTHON=0 + +PYTHON_CREATE_FILTER=$(cat << 'PCF' +#!/usr/bin/env python + +import re +import sys + +for line in sys.stdin: + line = re.sub(r'EOF', r'\EOF', line) + line = re.sub(r'NULLBYTE', r'\NULLBYTE', line) + line = re.sub('\x00', r'NULLBYTE', line) + sys.stdout.write(line) +PCF +) + +PYTHON_EXTRACT_FILTER=$(cat << 'PEF' +#!/usr/bin/env python + +import re +import sys + +for line in sys.stdin: + line = re.sub(r'(?/dev/null; then + echo "ERROR Python not found. Aborting." + exit 2 + fi + USE_PYTHON=1 + fi +} + +#------------------------------------------------------------------------------ + +function usage { + bname=$(basename "$0") + cat << USAGE +Usage: $bname [-C

] -c -f (create archive) + $bname -t -f (list archive contents) + $bname [-C ] -x -f (extract archive) + +Options: + -C (change directory) + -v (verbose) + --recursive-unlink (recursively delete existing directory if path + collides with file or directory to extract) + +Example: Change to sysfs directory, create ttar file from fixtures directory + $bname -C sysfs -c -f sysfs/fixtures.ttar fixtures/ +USAGE +exit "$1" +} + +function vecho { + if [ "${VERBOSE:-}" == "yes" ]; then + echo >&7 "$@" + fi +} + +function set_cmd { + if [ -n "$CMD" ]; then + echo "ERROR: more than one command given" + echo + usage 2 + fi + CMD=$1 +} + +unset VERBOSE +unset RECURSIVE_UNLINK + +while getopts :cf:-:htxvC: opt; do + case $opt in + c) + set_cmd "create" + ;; + f) + ARCHIVE=$OPTARG + ;; + h) + usage 0 + ;; + t) + set_cmd "list" + ;; + x) + set_cmd "extract" + ;; + v) + VERBOSE=yes + exec 7>&1 + ;; + C) + CDIR=$OPTARG + ;; + -) + case $OPTARG in + recursive-unlink) + RECURSIVE_UNLINK="yes" + ;; + *) + echo -e "Error: invalid option -$OPTARG" + echo + usage 1 + ;; + esac + ;; + *) + echo >&2 "ERROR: invalid option -$OPTARG" + echo + usage 1 + ;; + esac +done + +# Remove processed options from arguments +shift $(( OPTIND - 1 )); + +if [ "${CMD:-}" == "" ]; then + echo >&2 "ERROR: no command given" + echo + usage 1 +elif [ "${ARCHIVE:-}" == "" ]; then + echo >&2 "ERROR: no archive name given" + echo + usage 1 +fi + +function list { + local path="" + local size=0 + local line_no=0 + local ttar_file=$1 + if [ -n "${2:-}" ]; then + echo >&2 "ERROR: too many arguments." + echo + usage 1 + fi + if [ ! -e "$ttar_file" ]; then + echo >&2 "ERROR: file not found ($ttar_file)" + echo + usage 1 + fi + while read -r line; do + line_no=$(( line_no + 1 )) + if [ $size -gt 0 ]; then + size=$(( size - 1 )) + continue + fi + if [[ $line =~ ^Path:\ (.*)$ ]]; then + path=${BASH_REMATCH[1]} + elif [[ $line =~ ^Lines:\ (.*)$ ]]; then + size=${BASH_REMATCH[1]} + echo "$path" + elif [[ $line =~ ^Directory:\ (.*)$ ]]; then + path=${BASH_REMATCH[1]} + echo "$path/" + elif [[ $line =~ ^SymlinkTo:\ (.*)$ ]]; then + echo "$path -> ${BASH_REMATCH[1]}" + fi + done < "$ttar_file" +} + +function extract { + local path="" + local size=0 + local line_no=0 + local ttar_file=$1 + if [ -n "${2:-}" ]; then + echo >&2 "ERROR: too many arguments." + echo + usage 1 + fi + if [ ! -e "$ttar_file" ]; then + echo >&2 "ERROR: file not found ($ttar_file)" + echo + usage 1 + fi + while IFS= read -r line; do + line_no=$(( line_no + 1 )) + local eof_without_newline + if [ "$size" -gt 0 ]; then + if [[ "$line" =~ [^\\]EOF ]]; then + # An EOF not preceded by a backslash indicates that the line + # does not end with a newline + eof_without_newline=1 + else + eof_without_newline=0 + fi + # Replace NULLBYTE with null byte if at beginning of line + # Replace NULLBYTE with null byte unless preceded by backslash + # Remove one backslash in front of NULLBYTE (if any) + # Remove EOF unless preceded by backslash + # Remove one backslash in front of EOF + if [ $USE_PYTHON -eq 1 ]; then + echo -n "$line" | python -c "$PYTHON_EXTRACT_FILTER" >> "$path" + else + # The repeated pattern makes up for sed's lack of negative + # lookbehind assertions (for consecutive null bytes). + echo -n "$line" | \ + sed -e 's/^NULLBYTE/\x0/g; + s/\([^\\]\)NULLBYTE/\1\x0/g; + s/\([^\\]\)NULLBYTE/\1\x0/g; + s/\\NULLBYTE/NULLBYTE/g; + s/\([^\\]\)EOF/\1/g; + s/\\EOF/EOF/g; + ' >> "$path" + fi + if [[ "$eof_without_newline" -eq 0 ]]; then + echo >> "$path" + fi + size=$(( size - 1 )) + continue + fi + if [[ $line =~ ^Path:\ (.*)$ ]]; then + path=${BASH_REMATCH[1]} + if [ -L "$path" ]; then + rm "$path" + elif [ -d "$path" ]; then + if [ "${RECURSIVE_UNLINK:-}" == "yes" ]; then + rm -r "$path" + else + # Safe because symlinks to directories are dealt with above + rmdir "$path" + fi + elif [ -e "$path" ]; then + rm "$path" + fi + elif [[ $line =~ ^Lines:\ (.*)$ ]]; then + size=${BASH_REMATCH[1]} + # Create file even if it is zero-length. + touch "$path" + vecho " $path" + elif [[ $line =~ ^Mode:\ (.*)$ ]]; then + mode=${BASH_REMATCH[1]} + chmod "$mode" "$path" + vecho "$mode" + elif [[ $line =~ ^Directory:\ (.*)$ ]]; then + path=${BASH_REMATCH[1]} + mkdir -p "$path" + vecho " $path/" + elif [[ $line =~ ^SymlinkTo:\ (.*)$ ]]; then + ln -s "${BASH_REMATCH[1]}" "$path" + vecho " $path -> ${BASH_REMATCH[1]}" + elif [[ $line =~ ^# ]]; then + # Ignore comments between files + continue + else + echo >&2 "ERROR: Unknown keyword on line $line_no: $line" + exit 1 + fi + done < "$ttar_file" +} + +function div { + echo "# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -" \ + "- - - - - -" +} + +function get_mode { + local mfile=$1 + if [ -z "${STAT_OPTION:-}" ]; then + if stat -c '%a' "$mfile" >/dev/null 2>&1; then + # GNU stat + STAT_OPTION='-c' + STAT_FORMAT='%a' + else + # BSD stat + STAT_OPTION='-f' + # Octal output, user/group/other (omit file type, sticky bit) + STAT_FORMAT='%OLp' + fi + fi + stat "${STAT_OPTION}" "${STAT_FORMAT}" "$mfile" +} + +function _create { + shopt -s nullglob + local mode + local eof_without_newline + while (( "$#" )); do + file=$1 + if [ -L "$file" ]; then + echo "Path: $file" + symlinkTo=$(readlink "$file") + echo "SymlinkTo: $symlinkTo" + vecho " $file -> $symlinkTo" + div + elif [ -d "$file" ]; then + # Strip trailing slash (if there is one) + file=${file%/} + echo "Directory: $file" + mode=$(get_mode "$file") + echo "Mode: $mode" + vecho "$mode $file/" + div + # Find all files and dirs, including hidden/dot files + for x in "$file/"{*,.[^.]*}; do + _create "$x" + done + elif [ -f "$file" ]; then + echo "Path: $file" + lines=$(wc -l "$file"|awk '{print $1}') + eof_without_newline=0 + if [[ "$(wc -c "$file"|awk '{print $1}')" -gt 0 ]] && \ + [[ "$(tail -c 1 "$file" | wc -l)" -eq 0 ]]; then + eof_without_newline=1 + lines=$((lines+1)) + fi + echo "Lines: $lines" + # Add backslash in front of EOF + # Add backslash in front of NULLBYTE + # Replace null byte with NULLBYTE + if [ $USE_PYTHON -eq 1 ]; then + < "$file" python -c "$PYTHON_CREATE_FILTER" + else + < "$file" \ + sed 's/EOF/\\EOF/g; + s/NULLBYTE/\\NULLBYTE/g; + s/\x0/NULLBYTE/g; + ' + fi + if [[ "$eof_without_newline" -eq 1 ]]; then + # Finish line with EOF to indicate that the original line did + # not end with a linefeed + echo "EOF" + fi + mode=$(get_mode "$file") + echo "Mode: $mode" + vecho "$mode $file" + div + else + echo >&2 "ERROR: file not found ($file in $(pwd))" + exit 2 + fi + shift + done +} + +function create { + ttar_file=$1 + shift + if [ -z "${1:-}" ]; then + echo >&2 "ERROR: missing arguments." + echo + usage 1 + fi + if [ -e "$ttar_file" ]; then + rm "$ttar_file" + fi + exec > "$ttar_file" + echo "# Archive created by ttar $ARG_STRING" + _create "$@" +} + +test_environment + +if [ -n "${CDIR:-}" ]; then + if [[ "$ARCHIVE" != /* ]]; then + # Relative path: preserve the archive's location before changing + # directory + ARCHIVE="$(pwd)/$ARCHIVE" + fi + cd "$CDIR" +fi + +"$CMD" "$ARCHIVE" "$@" diff --git a/vendor/github.com/prometheus/procfs/vm.go b/vendor/github.com/prometheus/procfs/vm.go new file mode 100644 index 00000000..cb138914 --- /dev/null +++ b/vendor/github.com/prometheus/procfs/vm.go @@ -0,0 +1,210 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build !windows + +package procfs + +import ( + "fmt" + "io/ioutil" + "os" + "path/filepath" + "strings" + + "github.com/prometheus/procfs/internal/util" +) + +// The VM interface is described at +// https://www.kernel.org/doc/Documentation/sysctl/vm.txt +// Each setting is exposed as a single file. +// Each file contains one line with a single numerical value, except lowmem_reserve_ratio which holds an array +// and numa_zonelist_order (deprecated) which is a string +type VM struct { + AdminReserveKbytes *int64 // /proc/sys/vm/admin_reserve_kbytes + BlockDump *int64 // /proc/sys/vm/block_dump + CompactUnevictableAllowed *int64 // /proc/sys/vm/compact_unevictable_allowed + DirtyBackgroundBytes *int64 // /proc/sys/vm/dirty_background_bytes + DirtyBackgroundRatio *int64 // /proc/sys/vm/dirty_background_ratio + DirtyBytes *int64 // /proc/sys/vm/dirty_bytes + DirtyExpireCentisecs *int64 // /proc/sys/vm/dirty_expire_centisecs + DirtyRatio *int64 // /proc/sys/vm/dirty_ratio + DirtytimeExpireSeconds *int64 // /proc/sys/vm/dirtytime_expire_seconds + DirtyWritebackCentisecs *int64 // /proc/sys/vm/dirty_writeback_centisecs + DropCaches *int64 // /proc/sys/vm/drop_caches + ExtfragThreshold *int64 // /proc/sys/vm/extfrag_threshold + HugetlbShmGroup *int64 // /proc/sys/vm/hugetlb_shm_group + LaptopMode *int64 // /proc/sys/vm/laptop_mode + LegacyVaLayout *int64 // /proc/sys/vm/legacy_va_layout + LowmemReserveRatio []*int64 // /proc/sys/vm/lowmem_reserve_ratio + MaxMapCount *int64 // /proc/sys/vm/max_map_count + MemoryFailureEarlyKill *int64 // /proc/sys/vm/memory_failure_early_kill + MemoryFailureRecovery *int64 // /proc/sys/vm/memory_failure_recovery + MinFreeKbytes *int64 // /proc/sys/vm/min_free_kbytes + MinSlabRatio *int64 // /proc/sys/vm/min_slab_ratio + MinUnmappedRatio *int64 // /proc/sys/vm/min_unmapped_ratio + MmapMinAddr *int64 // /proc/sys/vm/mmap_min_addr + NrHugepages *int64 // /proc/sys/vm/nr_hugepages + NrHugepagesMempolicy *int64 // /proc/sys/vm/nr_hugepages_mempolicy + NrOvercommitHugepages *int64 // /proc/sys/vm/nr_overcommit_hugepages + NumaStat *int64 // /proc/sys/vm/numa_stat + NumaZonelistOrder string // /proc/sys/vm/numa_zonelist_order + OomDumpTasks *int64 // /proc/sys/vm/oom_dump_tasks + OomKillAllocatingTask *int64 // /proc/sys/vm/oom_kill_allocating_task + OvercommitKbytes *int64 // /proc/sys/vm/overcommit_kbytes + OvercommitMemory *int64 // /proc/sys/vm/overcommit_memory + OvercommitRatio *int64 // /proc/sys/vm/overcommit_ratio + PageCluster *int64 // /proc/sys/vm/page-cluster + PanicOnOom *int64 // /proc/sys/vm/panic_on_oom + PercpuPagelistFraction *int64 // /proc/sys/vm/percpu_pagelist_fraction + StatInterval *int64 // /proc/sys/vm/stat_interval + Swappiness *int64 // /proc/sys/vm/swappiness + UserReserveKbytes *int64 // /proc/sys/vm/user_reserve_kbytes + VfsCachePressure *int64 // /proc/sys/vm/vfs_cache_pressure + WatermarkBoostFactor *int64 // /proc/sys/vm/watermark_boost_factor + WatermarkScaleFactor *int64 // /proc/sys/vm/watermark_scale_factor + ZoneReclaimMode *int64 // /proc/sys/vm/zone_reclaim_mode +} + +// VM reads the VM statistics from the specified `proc` filesystem. +func (fs FS) VM() (*VM, error) { + path := fs.proc.Path("sys/vm") + file, err := os.Stat(path) + if err != nil { + return nil, err + } + if !file.Mode().IsDir() { + return nil, fmt.Errorf("%s is not a directory", path) + } + + files, err := ioutil.ReadDir(path) + if err != nil { + return nil, err + } + + var vm VM + for _, f := range files { + if f.IsDir() { + continue + } + + name := filepath.Join(path, f.Name()) + // ignore errors on read, as there are some write only + // in /proc/sys/vm + value, err := util.SysReadFile(name) + if err != nil { + continue + } + vp := util.NewValueParser(value) + + switch f.Name() { + case "admin_reserve_kbytes": + vm.AdminReserveKbytes = vp.PInt64() + case "block_dump": + vm.BlockDump = vp.PInt64() + case "compact_unevictable_allowed": + vm.CompactUnevictableAllowed = vp.PInt64() + case "dirty_background_bytes": + vm.DirtyBackgroundBytes = vp.PInt64() + case "dirty_background_ratio": + vm.DirtyBackgroundRatio = vp.PInt64() + case "dirty_bytes": + vm.DirtyBytes = vp.PInt64() + case "dirty_expire_centisecs": + vm.DirtyExpireCentisecs = vp.PInt64() + case "dirty_ratio": + vm.DirtyRatio = vp.PInt64() + case "dirtytime_expire_seconds": + vm.DirtytimeExpireSeconds = vp.PInt64() + case "dirty_writeback_centisecs": + vm.DirtyWritebackCentisecs = vp.PInt64() + case "drop_caches": + vm.DropCaches = vp.PInt64() + case "extfrag_threshold": + vm.ExtfragThreshold = vp.PInt64() + case "hugetlb_shm_group": + vm.HugetlbShmGroup = vp.PInt64() + case "laptop_mode": + vm.LaptopMode = vp.PInt64() + case "legacy_va_layout": + vm.LegacyVaLayout = vp.PInt64() + case "lowmem_reserve_ratio": + stringSlice := strings.Fields(value) + pint64Slice := make([]*int64, 0, len(stringSlice)) + for _, value := range stringSlice { + vp := util.NewValueParser(value) + pint64Slice = append(pint64Slice, vp.PInt64()) + } + vm.LowmemReserveRatio = pint64Slice + case "max_map_count": + vm.MaxMapCount = vp.PInt64() + case "memory_failure_early_kill": + vm.MemoryFailureEarlyKill = vp.PInt64() + case "memory_failure_recovery": + vm.MemoryFailureRecovery = vp.PInt64() + case "min_free_kbytes": + vm.MinFreeKbytes = vp.PInt64() + case "min_slab_ratio": + vm.MinSlabRatio = vp.PInt64() + case "min_unmapped_ratio": + vm.MinUnmappedRatio = vp.PInt64() + case "mmap_min_addr": + vm.MmapMinAddr = vp.PInt64() + case "nr_hugepages": + vm.NrHugepages = vp.PInt64() + case "nr_hugepages_mempolicy": + vm.NrHugepagesMempolicy = vp.PInt64() + case "nr_overcommit_hugepages": + vm.NrOvercommitHugepages = vp.PInt64() + case "numa_stat": + vm.NumaStat = vp.PInt64() + case "numa_zonelist_order": + vm.NumaZonelistOrder = value + case "oom_dump_tasks": + vm.OomDumpTasks = vp.PInt64() + case "oom_kill_allocating_task": + vm.OomKillAllocatingTask = vp.PInt64() + case "overcommit_kbytes": + vm.OvercommitKbytes = vp.PInt64() + case "overcommit_memory": + vm.OvercommitMemory = vp.PInt64() + case "overcommit_ratio": + vm.OvercommitRatio = vp.PInt64() + case "page-cluster": + vm.PageCluster = vp.PInt64() + case "panic_on_oom": + vm.PanicOnOom = vp.PInt64() + case "percpu_pagelist_fraction": + vm.PercpuPagelistFraction = vp.PInt64() + case "stat_interval": + vm.StatInterval = vp.PInt64() + case "swappiness": + vm.Swappiness = vp.PInt64() + case "user_reserve_kbytes": + vm.UserReserveKbytes = vp.PInt64() + case "vfs_cache_pressure": + vm.VfsCachePressure = vp.PInt64() + case "watermark_boost_factor": + vm.WatermarkBoostFactor = vp.PInt64() + case "watermark_scale_factor": + vm.WatermarkScaleFactor = vp.PInt64() + case "zone_reclaim_mode": + vm.ZoneReclaimMode = vp.PInt64() + } + if err := vp.Err(); err != nil { + return nil, err + } + } + + return &vm, nil +} diff --git a/vendor/github.com/prometheus/procfs/xfrm.go b/vendor/github.com/prometheus/procfs/xfrm.go new file mode 100644 index 00000000..30aa417d --- /dev/null +++ b/vendor/github.com/prometheus/procfs/xfrm.go @@ -0,0 +1,187 @@ +// Copyright 2017 Prometheus Team +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "bufio" + "fmt" + "os" + "strconv" + "strings" +) + +// XfrmStat models the contents of /proc/net/xfrm_stat. +type XfrmStat struct { + // All errors which are not matched by other + XfrmInError int + // No buffer is left + XfrmInBufferError int + // Header Error + XfrmInHdrError int + // No state found + // i.e. either inbound SPI, address, or IPSEC protocol at SA is wrong + XfrmInNoStates int + // Transformation protocol specific error + // e.g. SA Key is wrong + XfrmInStateProtoError int + // Transformation mode specific error + XfrmInStateModeError int + // Sequence error + // e.g. sequence number is out of window + XfrmInStateSeqError int + // State is expired + XfrmInStateExpired int + // State has mismatch option + // e.g. UDP encapsulation type is mismatched + XfrmInStateMismatch int + // State is invalid + XfrmInStateInvalid int + // No matching template for states + // e.g. Inbound SAs are correct but SP rule is wrong + XfrmInTmplMismatch int + // No policy is found for states + // e.g. Inbound SAs are correct but no SP is found + XfrmInNoPols int + // Policy discards + XfrmInPolBlock int + // Policy error + XfrmInPolError int + // All errors which are not matched by others + XfrmOutError int + // Bundle generation error + XfrmOutBundleGenError int + // Bundle check error + XfrmOutBundleCheckError int + // No state was found + XfrmOutNoStates int + // Transformation protocol specific error + XfrmOutStateProtoError int + // Transportation mode specific error + XfrmOutStateModeError int + // Sequence error + // i.e sequence number overflow + XfrmOutStateSeqError int + // State is expired + XfrmOutStateExpired int + // Policy discads + XfrmOutPolBlock int + // Policy is dead + XfrmOutPolDead int + // Policy Error + XfrmOutPolError int + XfrmFwdHdrError int + XfrmOutStateInvalid int + XfrmAcquireError int +} + +// NewXfrmStat reads the xfrm_stat statistics. +func NewXfrmStat() (XfrmStat, error) { + fs, err := NewFS(DefaultMountPoint) + if err != nil { + return XfrmStat{}, err + } + + return fs.NewXfrmStat() +} + +// NewXfrmStat reads the xfrm_stat statistics from the 'proc' filesystem. +func (fs FS) NewXfrmStat() (XfrmStat, error) { + file, err := os.Open(fs.proc.Path("net/xfrm_stat")) + if err != nil { + return XfrmStat{}, err + } + defer file.Close() + + var ( + x = XfrmStat{} + s = bufio.NewScanner(file) + ) + + for s.Scan() { + fields := strings.Fields(s.Text()) + + if len(fields) != 2 { + return XfrmStat{}, fmt.Errorf( + "couldn't parse %s line %s", file.Name(), s.Text()) + } + + name := fields[0] + value, err := strconv.Atoi(fields[1]) + if err != nil { + return XfrmStat{}, err + } + + switch name { + case "XfrmInError": + x.XfrmInError = value + case "XfrmInBufferError": + x.XfrmInBufferError = value + case "XfrmInHdrError": + x.XfrmInHdrError = value + case "XfrmInNoStates": + x.XfrmInNoStates = value + case "XfrmInStateProtoError": + x.XfrmInStateProtoError = value + case "XfrmInStateModeError": + x.XfrmInStateModeError = value + case "XfrmInStateSeqError": + x.XfrmInStateSeqError = value + case "XfrmInStateExpired": + x.XfrmInStateExpired = value + case "XfrmInStateInvalid": + x.XfrmInStateInvalid = value + case "XfrmInTmplMismatch": + x.XfrmInTmplMismatch = value + case "XfrmInNoPols": + x.XfrmInNoPols = value + case "XfrmInPolBlock": + x.XfrmInPolBlock = value + case "XfrmInPolError": + x.XfrmInPolError = value + case "XfrmOutError": + x.XfrmOutError = value + case "XfrmInStateMismatch": + x.XfrmInStateMismatch = value + case "XfrmOutBundleGenError": + x.XfrmOutBundleGenError = value + case "XfrmOutBundleCheckError": + x.XfrmOutBundleCheckError = value + case "XfrmOutNoStates": + x.XfrmOutNoStates = value + case "XfrmOutStateProtoError": + x.XfrmOutStateProtoError = value + case "XfrmOutStateModeError": + x.XfrmOutStateModeError = value + case "XfrmOutStateSeqError": + x.XfrmOutStateSeqError = value + case "XfrmOutStateExpired": + x.XfrmOutStateExpired = value + case "XfrmOutPolBlock": + x.XfrmOutPolBlock = value + case "XfrmOutPolDead": + x.XfrmOutPolDead = value + case "XfrmOutPolError": + x.XfrmOutPolError = value + case "XfrmFwdHdrError": + x.XfrmFwdHdrError = value + case "XfrmOutStateInvalid": + x.XfrmOutStateInvalid = value + case "XfrmAcquireError": + x.XfrmAcquireError = value + } + + } + + return x, s.Err() +} diff --git a/vendor/github.com/prometheus/procfs/zoneinfo.go b/vendor/github.com/prometheus/procfs/zoneinfo.go new file mode 100644 index 00000000..e941503d --- /dev/null +++ b/vendor/github.com/prometheus/procfs/zoneinfo.go @@ -0,0 +1,196 @@ +// Copyright 2019 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build !windows + +package procfs + +import ( + "bytes" + "fmt" + "io/ioutil" + "regexp" + "strings" + + "github.com/prometheus/procfs/internal/util" +) + +// Zoneinfo holds info parsed from /proc/zoneinfo. +type Zoneinfo struct { + Node string + Zone string + NrFreePages *int64 + Min *int64 + Low *int64 + High *int64 + Scanned *int64 + Spanned *int64 + Present *int64 + Managed *int64 + NrActiveAnon *int64 + NrInactiveAnon *int64 + NrIsolatedAnon *int64 + NrAnonPages *int64 + NrAnonTransparentHugepages *int64 + NrActiveFile *int64 + NrInactiveFile *int64 + NrIsolatedFile *int64 + NrFilePages *int64 + NrSlabReclaimable *int64 + NrSlabUnreclaimable *int64 + NrMlockStack *int64 + NrKernelStack *int64 + NrMapped *int64 + NrDirty *int64 + NrWriteback *int64 + NrUnevictable *int64 + NrShmem *int64 + NrDirtied *int64 + NrWritten *int64 + NumaHit *int64 + NumaMiss *int64 + NumaForeign *int64 + NumaInterleave *int64 + NumaLocal *int64 + NumaOther *int64 + Protection []*int64 +} + +var nodeZoneRE = regexp.MustCompile(`(\d+), zone\s+(\w+)`) + +// Zoneinfo parses an zoneinfo-file (/proc/zoneinfo) and returns a slice of +// structs containing the relevant info. More information available here: +// https://www.kernel.org/doc/Documentation/sysctl/vm.txt +func (fs FS) Zoneinfo() ([]Zoneinfo, error) { + data, err := ioutil.ReadFile(fs.proc.Path("zoneinfo")) + if err != nil { + return nil, fmt.Errorf("error reading zoneinfo %s: %s", fs.proc.Path("zoneinfo"), err) + } + zoneinfo, err := parseZoneinfo(data) + if err != nil { + return nil, fmt.Errorf("error parsing zoneinfo %s: %s", fs.proc.Path("zoneinfo"), err) + } + return zoneinfo, nil +} + +func parseZoneinfo(zoneinfoData []byte) ([]Zoneinfo, error) { + + zoneinfo := []Zoneinfo{} + + zoneinfoBlocks := bytes.Split(zoneinfoData, []byte("\nNode")) + for _, block := range zoneinfoBlocks { + var zoneinfoElement Zoneinfo + lines := strings.Split(string(block), "\n") + for _, line := range lines { + + if nodeZone := nodeZoneRE.FindStringSubmatch(line); nodeZone != nil { + zoneinfoElement.Node = nodeZone[1] + zoneinfoElement.Zone = nodeZone[2] + continue + } + if strings.HasPrefix(strings.TrimSpace(line), "per-node stats") { + zoneinfoElement.Zone = "" + continue + } + parts := strings.Fields(strings.TrimSpace(line)) + if len(parts) < 2 { + continue + } + vp := util.NewValueParser(parts[1]) + switch parts[0] { + case "nr_free_pages": + zoneinfoElement.NrFreePages = vp.PInt64() + case "min": + zoneinfoElement.Min = vp.PInt64() + case "low": + zoneinfoElement.Low = vp.PInt64() + case "high": + zoneinfoElement.High = vp.PInt64() + case "scanned": + zoneinfoElement.Scanned = vp.PInt64() + case "spanned": + zoneinfoElement.Spanned = vp.PInt64() + case "present": + zoneinfoElement.Present = vp.PInt64() + case "managed": + zoneinfoElement.Managed = vp.PInt64() + case "nr_active_anon": + zoneinfoElement.NrActiveAnon = vp.PInt64() + case "nr_inactive_anon": + zoneinfoElement.NrInactiveAnon = vp.PInt64() + case "nr_isolated_anon": + zoneinfoElement.NrIsolatedAnon = vp.PInt64() + case "nr_anon_pages": + zoneinfoElement.NrAnonPages = vp.PInt64() + case "nr_anon_transparent_hugepages": + zoneinfoElement.NrAnonTransparentHugepages = vp.PInt64() + case "nr_active_file": + zoneinfoElement.NrActiveFile = vp.PInt64() + case "nr_inactive_file": + zoneinfoElement.NrInactiveFile = vp.PInt64() + case "nr_isolated_file": + zoneinfoElement.NrIsolatedFile = vp.PInt64() + case "nr_file_pages": + zoneinfoElement.NrFilePages = vp.PInt64() + case "nr_slab_reclaimable": + zoneinfoElement.NrSlabReclaimable = vp.PInt64() + case "nr_slab_unreclaimable": + zoneinfoElement.NrSlabUnreclaimable = vp.PInt64() + case "nr_mlock_stack": + zoneinfoElement.NrMlockStack = vp.PInt64() + case "nr_kernel_stack": + zoneinfoElement.NrKernelStack = vp.PInt64() + case "nr_mapped": + zoneinfoElement.NrMapped = vp.PInt64() + case "nr_dirty": + zoneinfoElement.NrDirty = vp.PInt64() + case "nr_writeback": + zoneinfoElement.NrWriteback = vp.PInt64() + case "nr_unevictable": + zoneinfoElement.NrUnevictable = vp.PInt64() + case "nr_shmem": + zoneinfoElement.NrShmem = vp.PInt64() + case "nr_dirtied": + zoneinfoElement.NrDirtied = vp.PInt64() + case "nr_written": + zoneinfoElement.NrWritten = vp.PInt64() + case "numa_hit": + zoneinfoElement.NumaHit = vp.PInt64() + case "numa_miss": + zoneinfoElement.NumaMiss = vp.PInt64() + case "numa_foreign": + zoneinfoElement.NumaForeign = vp.PInt64() + case "numa_interleave": + zoneinfoElement.NumaInterleave = vp.PInt64() + case "numa_local": + zoneinfoElement.NumaLocal = vp.PInt64() + case "numa_other": + zoneinfoElement.NumaOther = vp.PInt64() + case "protection:": + protectionParts := strings.Split(line, ":") + protectionValues := strings.Replace(protectionParts[1], "(", "", 1) + protectionValues = strings.Replace(protectionValues, ")", "", 1) + protectionValues = strings.TrimSpace(protectionValues) + protectionStringMap := strings.Split(protectionValues, ", ") + val, err := util.ParsePInt64s(protectionStringMap) + if err == nil { + zoneinfoElement.Protection = val + } + } + + } + + zoneinfo = append(zoneinfo, zoneinfoElement) + } + return zoneinfo, nil +} diff --git a/vendor/github.com/rs/cors/.travis.yml b/vendor/github.com/rs/cors/.travis.yml new file mode 100644 index 00000000..9a68b567 --- /dev/null +++ b/vendor/github.com/rs/cors/.travis.yml @@ -0,0 +1,9 @@ +language: go +go: +- "1.10" +- "1.11" +- "1.12" +- tip +matrix: + allow_failures: + - go: tip diff --git a/vendor/github.com/rs/cors/LICENSE b/vendor/github.com/rs/cors/LICENSE new file mode 100644 index 00000000..d8e2df5a --- /dev/null +++ b/vendor/github.com/rs/cors/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Olivier Poitrey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/rs/cors/README.md b/vendor/github.com/rs/cors/README.md new file mode 100644 index 00000000..ecc83b29 --- /dev/null +++ b/vendor/github.com/rs/cors/README.md @@ -0,0 +1,115 @@ +# Go CORS handler [![godoc](http://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/rs/cors) [![license](http://img.shields.io/badge/license-MIT-red.svg?style=flat)](https://raw.githubusercontent.com/rs/cors/master/LICENSE) [![build](https://img.shields.io/travis/rs/cors.svg?style=flat)](https://travis-ci.org/rs/cors) [![Coverage](http://gocover.io/_badge/github.com/rs/cors)](http://gocover.io/github.com/rs/cors) + +CORS is a `net/http` handler implementing [Cross Origin Resource Sharing W3 specification](http://www.w3.org/TR/cors/) in Golang. + +## Getting Started + +After installing Go and setting up your [GOPATH](http://golang.org/doc/code.html#GOPATH), create your first `.go` file. We'll call it `server.go`. + +```go +package main + +import ( + "net/http" + + "github.com/rs/cors" +) + +func main() { + mux := http.NewServeMux() + mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + w.Write([]byte("{\"hello\": \"world\"}")) + }) + + // cors.Default() setup the middleware with default options being + // all origins accepted with simple methods (GET, POST). See + // documentation below for more options. + handler := cors.Default().Handler(mux) + http.ListenAndServe(":8080", handler) +} +``` + +Install `cors`: + + go get github.com/rs/cors + +Then run your server: + + go run server.go + +The server now runs on `localhost:8080`: + + $ curl -D - -H 'Origin: http://foo.com' http://localhost:8080/ + HTTP/1.1 200 OK + Access-Control-Allow-Origin: foo.com + Content-Type: application/json + Date: Sat, 25 Oct 2014 03:43:57 GMT + Content-Length: 18 + + {"hello": "world"} + +### Allow * With Credentials Security Protection + +This library has been modified to avoid a well known security issue when configured with `AllowedOrigins` to `*` and `AllowCredentials` to `true`. Such setup used to make the library reflects the request `Origin` header value, working around a security protection embedded into the standard that makes clients to refuse such configuration. This behavior has been removed with [#55](https://github.com/rs/cors/issues/55) and [#57](https://github.com/rs/cors/issues/57). + +If you depend on this behavior and understand the implications, you can restore it using the `AllowOriginFunc` with `func(origin string) {return true}`. + +Please refer to [#55](https://github.com/rs/cors/issues/55) for more information about the security implications. + +### More Examples + +* `net/http`: [examples/nethttp/server.go](https://github.com/rs/cors/blob/master/examples/nethttp/server.go) +* [Goji](https://goji.io): [examples/goji/server.go](https://github.com/rs/cors/blob/master/examples/goji/server.go) +* [Martini](http://martini.codegangsta.io): [examples/martini/server.go](https://github.com/rs/cors/blob/master/examples/martini/server.go) +* [Negroni](https://github.com/codegangsta/negroni): [examples/negroni/server.go](https://github.com/rs/cors/blob/master/examples/negroni/server.go) +* [Alice](https://github.com/justinas/alice): [examples/alice/server.go](https://github.com/rs/cors/blob/master/examples/alice/server.go) +* [HttpRouter](https://github.com/julienschmidt/httprouter): [examples/httprouter/server.go](https://github.com/rs/cors/blob/master/examples/httprouter/server.go) +* [Gorilla](http://www.gorillatoolkit.org/pkg/mux): [examples/gorilla/server.go](https://github.com/rs/cors/blob/master/examples/gorilla/server.go) +* [Buffalo](https://gobuffalo.io): [examples/buffalo/server.go](https://github.com/rs/cors/blob/master/examples/buffalo/server.go) +* [Gin](https://gin-gonic.github.io/gin): [examples/gin/server.go](https://github.com/rs/cors/blob/master/examples/gin/server.go) +* [Chi](https://github.com/go-chi/chi): [examples/chi/server.go](https://github.com/rs/cors/blob/master/examples/chi/server.go) + +## Parameters + +Parameters are passed to the middleware thru the `cors.New` method as follow: + +```go +c := cors.New(cors.Options{ + AllowedOrigins: []string{"http://foo.com", "http://foo.com:8080"}, + AllowCredentials: true, + // Enable Debugging for testing, consider disabling in production + Debug: true, +}) + +// Insert the middleware +handler = c.Handler(handler) +``` + +* **AllowedOrigins** `[]string`: A list of origins a cross-domain request can be executed from. If the special `*` value is present in the list, all origins will be allowed. An origin may contain a wildcard (`*`) to replace 0 or more characters (i.e.: `http://*.domain.com`). Usage of wildcards implies a small performance penality. Only one wildcard can be used per origin. The default value is `*`. +* **AllowOriginFunc** `func (origin string) bool`: A custom function to validate the origin. It takes the origin as an argument and returns true if allowed, or false otherwise. If this option is set, the content of `AllowedOrigins` is ignored. +* **AllowOriginRequestFunc** `func (r *http.Request origin string) bool`: A custom function to validate the origin. It takes the HTTP Request object and the origin as argument and returns true if allowed or false otherwise. If this option is set, the content of `AllowedOrigins` and `AllowOriginFunc` is ignored +* **AllowedMethods** `[]string`: A list of methods the client is allowed to use with cross-domain requests. Default value is simple methods (`GET` and `POST`). +* **AllowedHeaders** `[]string`: A list of non simple headers the client is allowed to use with cross-domain requests. +* **ExposedHeaders** `[]string`: Indicates which headers are safe to expose to the API of a CORS API specification +* **AllowCredentials** `bool`: Indicates whether the request can include user credentials like cookies, HTTP authentication or client side SSL certificates. The default is `false`. +* **MaxAge** `int`: Indicates how long (in seconds) the results of a preflight request can be cached. The default is `0` which stands for no max age. +* **OptionsPassthrough** `bool`: Instructs preflight to let other potential next handlers to process the `OPTIONS` method. Turn this on if your application handles `OPTIONS`. +* **Debug** `bool`: Debugging flag adds additional output to debug server side CORS issues. + +See [API documentation](http://godoc.org/github.com/rs/cors) for more info. + +## Benchmarks + + BenchmarkWithout 20000000 64.6 ns/op 8 B/op 1 allocs/op + BenchmarkDefault 3000000 469 ns/op 114 B/op 2 allocs/op + BenchmarkAllowedOrigin 3000000 608 ns/op 114 B/op 2 allocs/op + BenchmarkPreflight 20000000 73.2 ns/op 0 B/op 0 allocs/op + BenchmarkPreflightHeader 20000000 73.6 ns/op 0 B/op 0 allocs/op + BenchmarkParseHeaderList 2000000 847 ns/op 184 B/op 6 allocs/op + BenchmarkParse…Single 5000000 290 ns/op 32 B/op 3 allocs/op + BenchmarkParse…Normalized 2000000 776 ns/op 160 B/op 6 allocs/op + +## Licenses + +All source code is licensed under the [MIT License](https://raw.github.com/rs/cors/master/LICENSE). diff --git a/vendor/github.com/rs/cors/cors.go b/vendor/github.com/rs/cors/cors.go new file mode 100644 index 00000000..27309346 --- /dev/null +++ b/vendor/github.com/rs/cors/cors.go @@ -0,0 +1,425 @@ +/* +Package cors is net/http handler to handle CORS related requests +as defined by http://www.w3.org/TR/cors/ + +You can configure it by passing an option struct to cors.New: + + c := cors.New(cors.Options{ + AllowedOrigins: []string{"foo.com"}, + AllowedMethods: []string{http.MethodGet, http.MethodPost, http.MethodDelete}, + AllowCredentials: true, + }) + +Then insert the handler in the chain: + + handler = c.Handler(handler) + +See Options documentation for more options. + +The resulting handler is a standard net/http handler. +*/ +package cors + +import ( + "log" + "net/http" + "os" + "strconv" + "strings" +) + +// Options is a configuration container to setup the CORS middleware. +type Options struct { + // AllowedOrigins is a list of origins a cross-domain request can be executed from. + // If the special "*" value is present in the list, all origins will be allowed. + // An origin may contain a wildcard (*) to replace 0 or more characters + // (i.e.: http://*.domain.com). Usage of wildcards implies a small performance penalty. + // Only one wildcard can be used per origin. + // Default value is ["*"] + AllowedOrigins []string + // AllowOriginFunc is a custom function to validate the origin. It take the origin + // as argument and returns true if allowed or false otherwise. If this option is + // set, the content of AllowedOrigins is ignored. + AllowOriginFunc func(origin string) bool + // AllowOriginFunc is a custom function to validate the origin. It takes the HTTP Request object and the origin as + // argument and returns true if allowed or false otherwise. If this option is set, the content of `AllowedOrigins` + // and `AllowOriginFunc` is ignored. + AllowOriginRequestFunc func(r *http.Request, origin string) bool + // AllowedMethods is a list of methods the client is allowed to use with + // cross-domain requests. Default value is simple methods (HEAD, GET and POST). + AllowedMethods []string + // AllowedHeaders is list of non simple headers the client is allowed to use with + // cross-domain requests. + // If the special "*" value is present in the list, all headers will be allowed. + // Default value is [] but "Origin" is always appended to the list. + AllowedHeaders []string + // ExposedHeaders indicates which headers are safe to expose to the API of a CORS + // API specification + ExposedHeaders []string + // MaxAge indicates how long (in seconds) the results of a preflight request + // can be cached + MaxAge int + // AllowCredentials indicates whether the request can include user credentials like + // cookies, HTTP authentication or client side SSL certificates. + AllowCredentials bool + // OptionsPassthrough instructs preflight to let other potential next handlers to + // process the OPTIONS method. Turn this on if your application handles OPTIONS. + OptionsPassthrough bool + // Debugging flag adds additional output to debug server side CORS issues + Debug bool +} + +// Logger generic interface for logger +type Logger interface { + Printf(string, ...interface{}) +} + +// Cors http handler +type Cors struct { + // Debug logger + Log Logger + // Normalized list of plain allowed origins + allowedOrigins []string + // List of allowed origins containing wildcards + allowedWOrigins []wildcard + // Optional origin validator function + allowOriginFunc func(origin string) bool + // Optional origin validator (with request) function + allowOriginRequestFunc func(r *http.Request, origin string) bool + // Normalized list of allowed headers + allowedHeaders []string + // Normalized list of allowed methods + allowedMethods []string + // Normalized list of exposed headers + exposedHeaders []string + maxAge int + // Set to true when allowed origins contains a "*" + allowedOriginsAll bool + // Set to true when allowed headers contains a "*" + allowedHeadersAll bool + allowCredentials bool + optionPassthrough bool +} + +// New creates a new Cors handler with the provided options. +func New(options Options) *Cors { + c := &Cors{ + exposedHeaders: convert(options.ExposedHeaders, http.CanonicalHeaderKey), + allowOriginFunc: options.AllowOriginFunc, + allowOriginRequestFunc: options.AllowOriginRequestFunc, + allowCredentials: options.AllowCredentials, + maxAge: options.MaxAge, + optionPassthrough: options.OptionsPassthrough, + } + if options.Debug && c.Log == nil { + c.Log = log.New(os.Stdout, "[cors] ", log.LstdFlags) + } + + // Normalize options + // Note: for origins and methods matching, the spec requires a case-sensitive matching. + // As it may error prone, we chose to ignore the spec here. + + // Allowed Origins + if len(options.AllowedOrigins) == 0 { + if options.AllowOriginFunc == nil && options.AllowOriginRequestFunc == nil { + // Default is all origins + c.allowedOriginsAll = true + } + } else { + c.allowedOrigins = []string{} + c.allowedWOrigins = []wildcard{} + for _, origin := range options.AllowedOrigins { + // Normalize + origin = strings.ToLower(origin) + if origin == "*" { + // If "*" is present in the list, turn the whole list into a match all + c.allowedOriginsAll = true + c.allowedOrigins = nil + c.allowedWOrigins = nil + break + } else if i := strings.IndexByte(origin, '*'); i >= 0 { + // Split the origin in two: start and end string without the * + w := wildcard{origin[0:i], origin[i+1:]} + c.allowedWOrigins = append(c.allowedWOrigins, w) + } else { + c.allowedOrigins = append(c.allowedOrigins, origin) + } + } + } + + // Allowed Headers + if len(options.AllowedHeaders) == 0 { + // Use sensible defaults + c.allowedHeaders = []string{"Origin", "Accept", "Content-Type", "X-Requested-With"} + } else { + // Origin is always appended as some browsers will always request for this header at preflight + c.allowedHeaders = convert(append(options.AllowedHeaders, "Origin"), http.CanonicalHeaderKey) + for _, h := range options.AllowedHeaders { + if h == "*" { + c.allowedHeadersAll = true + c.allowedHeaders = nil + break + } + } + } + + // Allowed Methods + if len(options.AllowedMethods) == 0 { + // Default is spec's "simple" methods + c.allowedMethods = []string{http.MethodGet, http.MethodPost, http.MethodHead} + } else { + c.allowedMethods = convert(options.AllowedMethods, strings.ToUpper) + } + + return c +} + +// Default creates a new Cors handler with default options. +func Default() *Cors { + return New(Options{}) +} + +// AllowAll create a new Cors handler with permissive configuration allowing all +// origins with all standard methods with any header and credentials. +func AllowAll() *Cors { + return New(Options{ + AllowedOrigins: []string{"*"}, + AllowedMethods: []string{ + http.MethodHead, + http.MethodGet, + http.MethodPost, + http.MethodPut, + http.MethodPatch, + http.MethodDelete, + }, + AllowedHeaders: []string{"*"}, + AllowCredentials: false, + }) +} + +// Handler apply the CORS specification on the request, and add relevant CORS headers +// as necessary. +func (c *Cors) Handler(h http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Method == http.MethodOptions && r.Header.Get("Access-Control-Request-Method") != "" { + c.logf("Handler: Preflight request") + c.handlePreflight(w, r) + // Preflight requests are standalone and should stop the chain as some other + // middleware may not handle OPTIONS requests correctly. One typical example + // is authentication middleware ; OPTIONS requests won't carry authentication + // headers (see #1) + if c.optionPassthrough { + h.ServeHTTP(w, r) + } else { + w.WriteHeader(http.StatusOK) + } + } else { + c.logf("Handler: Actual request") + c.handleActualRequest(w, r) + h.ServeHTTP(w, r) + } + }) +} + +// HandlerFunc provides Martini compatible handler +func (c *Cors) HandlerFunc(w http.ResponseWriter, r *http.Request) { + if r.Method == http.MethodOptions && r.Header.Get("Access-Control-Request-Method") != "" { + c.logf("HandlerFunc: Preflight request") + c.handlePreflight(w, r) + } else { + c.logf("HandlerFunc: Actual request") + c.handleActualRequest(w, r) + } +} + +// Negroni compatible interface +func (c *Cors) ServeHTTP(w http.ResponseWriter, r *http.Request, next http.HandlerFunc) { + if r.Method == http.MethodOptions && r.Header.Get("Access-Control-Request-Method") != "" { + c.logf("ServeHTTP: Preflight request") + c.handlePreflight(w, r) + // Preflight requests are standalone and should stop the chain as some other + // middleware may not handle OPTIONS requests correctly. One typical example + // is authentication middleware ; OPTIONS requests won't carry authentication + // headers (see #1) + if c.optionPassthrough { + next(w, r) + } else { + w.WriteHeader(http.StatusOK) + } + } else { + c.logf("ServeHTTP: Actual request") + c.handleActualRequest(w, r) + next(w, r) + } +} + +// handlePreflight handles pre-flight CORS requests +func (c *Cors) handlePreflight(w http.ResponseWriter, r *http.Request) { + headers := w.Header() + origin := r.Header.Get("Origin") + + if r.Method != http.MethodOptions { + c.logf(" Preflight aborted: %s!=OPTIONS", r.Method) + return + } + // Always set Vary headers + // see https://github.com/rs/cors/issues/10, + // https://github.com/rs/cors/commit/dbdca4d95feaa7511a46e6f1efb3b3aa505bc43f#commitcomment-12352001 + headers.Add("Vary", "Origin") + headers.Add("Vary", "Access-Control-Request-Method") + headers.Add("Vary", "Access-Control-Request-Headers") + + if origin == "" { + c.logf(" Preflight aborted: empty origin") + return + } + if !c.isOriginAllowed(r, origin) { + c.logf(" Preflight aborted: origin '%s' not allowed", origin) + return + } + + reqMethod := r.Header.Get("Access-Control-Request-Method") + if !c.isMethodAllowed(reqMethod) { + c.logf(" Preflight aborted: method '%s' not allowed", reqMethod) + return + } + reqHeaders := parseHeaderList(r.Header.Get("Access-Control-Request-Headers")) + if !c.areHeadersAllowed(reqHeaders) { + c.logf(" Preflight aborted: headers '%v' not allowed", reqHeaders) + return + } + if c.allowedOriginsAll { + headers.Set("Access-Control-Allow-Origin", "*") + } else { + headers.Set("Access-Control-Allow-Origin", origin) + } + // Spec says: Since the list of methods can be unbounded, simply returning the method indicated + // by Access-Control-Request-Method (if supported) can be enough + headers.Set("Access-Control-Allow-Methods", strings.ToUpper(reqMethod)) + if len(reqHeaders) > 0 { + + // Spec says: Since the list of headers can be unbounded, simply returning supported headers + // from Access-Control-Request-Headers can be enough + headers.Set("Access-Control-Allow-Headers", strings.Join(reqHeaders, ", ")) + } + if c.allowCredentials { + headers.Set("Access-Control-Allow-Credentials", "true") + } + if c.maxAge > 0 { + headers.Set("Access-Control-Max-Age", strconv.Itoa(c.maxAge)) + } + c.logf(" Preflight response headers: %v", headers) +} + +// handleActualRequest handles simple cross-origin requests, actual request or redirects +func (c *Cors) handleActualRequest(w http.ResponseWriter, r *http.Request) { + headers := w.Header() + origin := r.Header.Get("Origin") + + // Always set Vary, see https://github.com/rs/cors/issues/10 + headers.Add("Vary", "Origin") + if origin == "" { + c.logf(" Actual request no headers added: missing origin") + return + } + if !c.isOriginAllowed(r, origin) { + c.logf(" Actual request no headers added: origin '%s' not allowed", origin) + return + } + + // Note that spec does define a way to specifically disallow a simple method like GET or + // POST. Access-Control-Allow-Methods is only used for pre-flight requests and the + // spec doesn't instruct to check the allowed methods for simple cross-origin requests. + // We think it's a nice feature to be able to have control on those methods though. + if !c.isMethodAllowed(r.Method) { + c.logf(" Actual request no headers added: method '%s' not allowed", r.Method) + + return + } + if c.allowedOriginsAll { + headers.Set("Access-Control-Allow-Origin", "*") + } else { + headers.Set("Access-Control-Allow-Origin", origin) + } + if len(c.exposedHeaders) > 0 { + headers.Set("Access-Control-Expose-Headers", strings.Join(c.exposedHeaders, ", ")) + } + if c.allowCredentials { + headers.Set("Access-Control-Allow-Credentials", "true") + } + c.logf(" Actual response added headers: %v", headers) +} + +// convenience method. checks if a logger is set. +func (c *Cors) logf(format string, a ...interface{}) { + if c.Log != nil { + c.Log.Printf(format, a...) + } +} + +// isOriginAllowed checks if a given origin is allowed to perform cross-domain requests +// on the endpoint +func (c *Cors) isOriginAllowed(r *http.Request, origin string) bool { + if c.allowOriginRequestFunc != nil { + return c.allowOriginRequestFunc(r, origin) + } + if c.allowOriginFunc != nil { + return c.allowOriginFunc(origin) + } + if c.allowedOriginsAll { + return true + } + origin = strings.ToLower(origin) + for _, o := range c.allowedOrigins { + if o == origin { + return true + } + } + for _, w := range c.allowedWOrigins { + if w.match(origin) { + return true + } + } + return false +} + +// isMethodAllowed checks if a given method can be used as part of a cross-domain request +// on the endpoing +func (c *Cors) isMethodAllowed(method string) bool { + if len(c.allowedMethods) == 0 { + // If no method allowed, always return false, even for preflight request + return false + } + method = strings.ToUpper(method) + if method == http.MethodOptions { + // Always allow preflight requests + return true + } + for _, m := range c.allowedMethods { + if m == method { + return true + } + } + return false +} + +// areHeadersAllowed checks if a given list of headers are allowed to used within +// a cross-domain request. +func (c *Cors) areHeadersAllowed(requestedHeaders []string) bool { + if c.allowedHeadersAll || len(requestedHeaders) == 0 { + return true + } + for _, header := range requestedHeaders { + header = http.CanonicalHeaderKey(header) + found := false + for _, h := range c.allowedHeaders { + if h == header { + found = true + } + } + if !found { + return false + } + } + return true +} diff --git a/vendor/github.com/rs/cors/go.mod b/vendor/github.com/rs/cors/go.mod new file mode 100644 index 00000000..0a4c6521 --- /dev/null +++ b/vendor/github.com/rs/cors/go.mod @@ -0,0 +1 @@ +module github.com/rs/cors diff --git a/vendor/github.com/rs/cors/utils.go b/vendor/github.com/rs/cors/utils.go new file mode 100644 index 00000000..db83ac3e --- /dev/null +++ b/vendor/github.com/rs/cors/utils.go @@ -0,0 +1,71 @@ +package cors + +import "strings" + +const toLower = 'a' - 'A' + +type converter func(string) string + +type wildcard struct { + prefix string + suffix string +} + +func (w wildcard) match(s string) bool { + return len(s) >= len(w.prefix)+len(w.suffix) && strings.HasPrefix(s, w.prefix) && strings.HasSuffix(s, w.suffix) +} + +// convert converts a list of string using the passed converter function +func convert(s []string, c converter) []string { + out := []string{} + for _, i := range s { + out = append(out, c(i)) + } + return out +} + +// parseHeaderList tokenize + normalize a string containing a list of headers +func parseHeaderList(headerList string) []string { + l := len(headerList) + h := make([]byte, 0, l) + upper := true + // Estimate the number headers in order to allocate the right splice size + t := 0 + for i := 0; i < l; i++ { + if headerList[i] == ',' { + t++ + } + } + headers := make([]string, 0, t) + for i := 0; i < l; i++ { + b := headerList[i] + switch { + case b >= 'a' && b <= 'z': + if upper { + h = append(h, b-toLower) + } else { + h = append(h, b) + } + case b >= 'A' && b <= 'Z': + if !upper { + h = append(h, b+toLower) + } else { + h = append(h, b) + } + case b == '-' || b == '_' || (b >= '0' && b <= '9'): + h = append(h, b) + } + + if b == ' ' || b == ',' || i == l-1 { + if len(h) > 0 { + // Flush the found header + headers = append(headers, string(h)) + h = h[:0] + upper = true + } + } else { + upper = b == '-' || b == '_' + } + } + return headers +} diff --git a/vendor/github.com/shopspring/decimal/.gitignore b/vendor/github.com/shopspring/decimal/.gitignore new file mode 100644 index 00000000..53579428 --- /dev/null +++ b/vendor/github.com/shopspring/decimal/.gitignore @@ -0,0 +1,2 @@ +.git +*.swp diff --git a/vendor/github.com/shopspring/decimal/.travis.yml b/vendor/github.com/shopspring/decimal/.travis.yml new file mode 100644 index 00000000..d2d585ce --- /dev/null +++ b/vendor/github.com/shopspring/decimal/.travis.yml @@ -0,0 +1,13 @@ +language: go + +go: + - 1.2 + - 1.3 + - 1.4 + - tip + +install: + - go build . + +script: + - go test -v diff --git a/vendor/github.com/shopspring/decimal/LICENSE b/vendor/github.com/shopspring/decimal/LICENSE new file mode 100644 index 00000000..ad2148aa --- /dev/null +++ b/vendor/github.com/shopspring/decimal/LICENSE @@ -0,0 +1,45 @@ +The MIT License (MIT) + +Copyright (c) 2015 Spring, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +- Based on https://github.com/oguzbilgic/fpd, which has the following license: +""" +The MIT License (MIT) + +Copyright (c) 2013 Oguz Bilgic + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" diff --git a/vendor/github.com/shopspring/decimal/README.md b/vendor/github.com/shopspring/decimal/README.md new file mode 100644 index 00000000..54c1a6b4 --- /dev/null +++ b/vendor/github.com/shopspring/decimal/README.md @@ -0,0 +1,126 @@ +# decimal + +[![Build Status](https://travis-ci.org/shopspring/decimal.png?branch=master)](https://travis-ci.org/shopspring/decimal) [![GoDoc](https://godoc.org/github.com/shopspring/decimal?status.svg)](https://godoc.org/github.com/shopspring/decimal) [![Go Report Card](https://goreportcard.com/badge/github.com/shopspring/decimal)](https://goreportcard.com/report/github.com/shopspring/decimal) + +Arbitrary-precision fixed-point decimal numbers in go. + +NOTE: can "only" represent numbers with a maximum of 2^31 digits after the decimal point. + +## Features + + * the zero-value is 0, and is safe to use without initialization + * addition, subtraction, multiplication with no loss of precision + * division with specified precision + * database/sql serialization/deserialization + * json and xml serialization/deserialization + +## Install + +Run `go get github.com/shopspring/decimal` + +## Usage + +```go +package main + +import ( + "fmt" + "github.com/shopspring/decimal" +) + +func main() { + price, err := decimal.NewFromString("136.02") + if err != nil { + panic(err) + } + + quantity := decimal.NewFromFloat(3) + + fee, _ := decimal.NewFromString(".035") + taxRate, _ := decimal.NewFromString(".08875") + + subtotal := price.Mul(quantity) + + preTax := subtotal.Mul(fee.Add(decimal.NewFromFloat(1))) + + total := preTax.Mul(taxRate.Add(decimal.NewFromFloat(1))) + + fmt.Println("Subtotal:", subtotal) // Subtotal: 408.06 + fmt.Println("Pre-tax:", preTax) // Pre-tax: 422.3421 + fmt.Println("Taxes:", total.Sub(preTax)) // Taxes: 37.482861375 + fmt.Println("Total:", total) // Total: 459.824961375 + fmt.Println("Tax rate:", total.Sub(preTax).Div(preTax)) // Tax rate: 0.08875 +} +``` + +## Documentation + +http://godoc.org/github.com/shopspring/decimal + +## Production Usage + +* [Spring](https://shopspring.com/), since August 14, 2014. +* If you are using this in production, please let us know! + +## FAQ + +#### Why don't you just use float64? + +Because float64s (or any binary floating point type, actually) can't represent +numbers such as 0.1 exactly. + +Consider this code: http://play.golang.org/p/TQBd4yJe6B You might expect that +it prints out `10`, but it actually prints `9.999999999999831`. Over time, +these small errors can really add up! + +#### Why don't you just use big.Rat? + +big.Rat is fine for representing rational numbers, but Decimal is better for +representing money. Why? Here's a (contrived) example: + +Let's say you use big.Rat, and you have two numbers, x and y, both +representing 1/3, and you have `z = 1 - x - y = 1/3`. If you print each one +out, the string output has to stop somewhere (let's say it stops at 3 decimal +digits, for simplicity), so you'll get 0.333, 0.333, and 0.333. But where did +the other 0.001 go? + +Here's the above example as code: http://play.golang.org/p/lCZZs0w9KE + +With Decimal, the strings being printed out represent the number exactly. So, +if you have `x = y = 1/3` (with precision 3), they will actually be equal to +0.333, and when you do `z = 1 - x - y`, `z` will be equal to .334. No money is +unaccounted for! + +You still have to be careful. If you want to split a number `N` 3 ways, you +can't just send `N/3` to three different people. You have to pick one to send +`N - (2/3*N)` to. That person will receive the fraction of a penny remainder. + +But, it is much easier to be careful with Decimal than with big.Rat. + +#### Why isn't the API similar to big.Int's? + +big.Int's API is built to reduce the number of memory allocations for maximal +performance. This makes sense for its use-case, but the trade-off is that the +API is awkward and easy to misuse. + +For example, to add two big.Ints, you do: `z := new(big.Int).Add(x, y)`. A +developer unfamiliar with this API might try to do `z := a.Add(a, b)`. This +modifies `a` and sets `z` as an alias for `a`, which they might not expect. It +also modifies any other aliases to `a`. + +Here's an example of the subtle bugs you can introduce with big.Int's API: +https://play.golang.org/p/x2R_78pa8r + +In contrast, it's difficult to make such mistakes with decimal. Decimals +behave like other go numbers types: even though `a = b` will not deep copy +`b` into `a`, it is impossible to modify a Decimal, since all Decimal methods +return new Decimals and do not modify the originals. The downside is that +this causes extra allocations, so Decimal is less performant. My assumption +is that if you're using Decimals, you probably care more about correctness +than performance. + +## License + +The MIT License (MIT) + +This is a heavily modified fork of [fpd.Decimal](https://github.com/oguzbilgic/fpd), which was also released under the MIT License. diff --git a/vendor/github.com/shopspring/decimal/decimal-go.go b/vendor/github.com/shopspring/decimal/decimal-go.go new file mode 100644 index 00000000..e08a15ce --- /dev/null +++ b/vendor/github.com/shopspring/decimal/decimal-go.go @@ -0,0 +1,414 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Multiprecision decimal numbers. +// For floating-point formatting only; not general purpose. +// Only operations are assign and (binary) left/right shift. +// Can do binary floating point in multiprecision decimal precisely +// because 2 divides 10; cannot do decimal floating point +// in multiprecision binary precisely. +package decimal + +type decimal struct { + d [800]byte // digits, big-endian representation + nd int // number of digits used + dp int // decimal point + neg bool // negative flag + trunc bool // discarded nonzero digits beyond d[:nd] +} + +func (a *decimal) String() string { + n := 10 + a.nd + if a.dp > 0 { + n += a.dp + } + if a.dp < 0 { + n += -a.dp + } + + buf := make([]byte, n) + w := 0 + switch { + case a.nd == 0: + return "0" + + case a.dp <= 0: + // zeros fill space between decimal point and digits + buf[w] = '0' + w++ + buf[w] = '.' + w++ + w += digitZero(buf[w : w+-a.dp]) + w += copy(buf[w:], a.d[0:a.nd]) + + case a.dp < a.nd: + // decimal point in middle of digits + w += copy(buf[w:], a.d[0:a.dp]) + buf[w] = '.' + w++ + w += copy(buf[w:], a.d[a.dp:a.nd]) + + default: + // zeros fill space between digits and decimal point + w += copy(buf[w:], a.d[0:a.nd]) + w += digitZero(buf[w : w+a.dp-a.nd]) + } + return string(buf[0:w]) +} + +func digitZero(dst []byte) int { + for i := range dst { + dst[i] = '0' + } + return len(dst) +} + +// trim trailing zeros from number. +// (They are meaningless; the decimal point is tracked +// independent of the number of digits.) +func trim(a *decimal) { + for a.nd > 0 && a.d[a.nd-1] == '0' { + a.nd-- + } + if a.nd == 0 { + a.dp = 0 + } +} + +// Assign v to a. +func (a *decimal) Assign(v uint64) { + var buf [24]byte + + // Write reversed decimal in buf. + n := 0 + for v > 0 { + v1 := v / 10 + v -= 10 * v1 + buf[n] = byte(v + '0') + n++ + v = v1 + } + + // Reverse again to produce forward decimal in a.d. + a.nd = 0 + for n--; n >= 0; n-- { + a.d[a.nd] = buf[n] + a.nd++ + } + a.dp = a.nd + trim(a) +} + +// Maximum shift that we can do in one pass without overflow. +// A uint has 32 or 64 bits, and we have to be able to accommodate 9<> 63) +const maxShift = uintSize - 4 + +// Binary shift right (/ 2) by k bits. k <= maxShift to avoid overflow. +func rightShift(a *decimal, k uint) { + r := 0 // read pointer + w := 0 // write pointer + + // Pick up enough leading digits to cover first shift. + var n uint + for ; n>>k == 0; r++ { + if r >= a.nd { + if n == 0 { + // a == 0; shouldn't get here, but handle anyway. + a.nd = 0 + return + } + for n>>k == 0 { + n = n * 10 + r++ + } + break + } + c := uint(a.d[r]) + n = n*10 + c - '0' + } + a.dp -= r - 1 + + var mask uint = (1 << k) - 1 + + // Pick up a digit, put down a digit. + for ; r < a.nd; r++ { + c := uint(a.d[r]) + dig := n >> k + n &= mask + a.d[w] = byte(dig + '0') + w++ + n = n*10 + c - '0' + } + + // Put down extra digits. + for n > 0 { + dig := n >> k + n &= mask + if w < len(a.d) { + a.d[w] = byte(dig + '0') + w++ + } else if dig > 0 { + a.trunc = true + } + n = n * 10 + } + + a.nd = w + trim(a) +} + +// Cheat sheet for left shift: table indexed by shift count giving +// number of new digits that will be introduced by that shift. +// +// For example, leftcheats[4] = {2, "625"}. That means that +// if we are shifting by 4 (multiplying by 16), it will add 2 digits +// when the string prefix is "625" through "999", and one fewer digit +// if the string prefix is "000" through "624". +// +// Credit for this trick goes to Ken. + +type leftCheat struct { + delta int // number of new digits + cutoff string // minus one digit if original < a. +} + +var leftcheats = []leftCheat{ + // Leading digits of 1/2^i = 5^i. + // 5^23 is not an exact 64-bit floating point number, + // so have to use bc for the math. + // Go up to 60 to be large enough for 32bit and 64bit platforms. + /* + seq 60 | sed 's/^/5^/' | bc | + awk 'BEGIN{ print "\t{ 0, \"\" }," } + { + log2 = log(2)/log(10) + printf("\t{ %d, \"%s\" },\t// * %d\n", + int(log2*NR+1), $0, 2**NR) + }' + */ + {0, ""}, + {1, "5"}, // * 2 + {1, "25"}, // * 4 + {1, "125"}, // * 8 + {2, "625"}, // * 16 + {2, "3125"}, // * 32 + {2, "15625"}, // * 64 + {3, "78125"}, // * 128 + {3, "390625"}, // * 256 + {3, "1953125"}, // * 512 + {4, "9765625"}, // * 1024 + {4, "48828125"}, // * 2048 + {4, "244140625"}, // * 4096 + {4, "1220703125"}, // * 8192 + {5, "6103515625"}, // * 16384 + {5, "30517578125"}, // * 32768 + {5, "152587890625"}, // * 65536 + {6, "762939453125"}, // * 131072 + {6, "3814697265625"}, // * 262144 + {6, "19073486328125"}, // * 524288 + {7, "95367431640625"}, // * 1048576 + {7, "476837158203125"}, // * 2097152 + {7, "2384185791015625"}, // * 4194304 + {7, "11920928955078125"}, // * 8388608 + {8, "59604644775390625"}, // * 16777216 + {8, "298023223876953125"}, // * 33554432 + {8, "1490116119384765625"}, // * 67108864 + {9, "7450580596923828125"}, // * 134217728 + {9, "37252902984619140625"}, // * 268435456 + {9, "186264514923095703125"}, // * 536870912 + {10, "931322574615478515625"}, // * 1073741824 + {10, "4656612873077392578125"}, // * 2147483648 + {10, "23283064365386962890625"}, // * 4294967296 + {10, "116415321826934814453125"}, // * 8589934592 + {11, "582076609134674072265625"}, // * 17179869184 + {11, "2910383045673370361328125"}, // * 34359738368 + {11, "14551915228366851806640625"}, // * 68719476736 + {12, "72759576141834259033203125"}, // * 137438953472 + {12, "363797880709171295166015625"}, // * 274877906944 + {12, "1818989403545856475830078125"}, // * 549755813888 + {13, "9094947017729282379150390625"}, // * 1099511627776 + {13, "45474735088646411895751953125"}, // * 2199023255552 + {13, "227373675443232059478759765625"}, // * 4398046511104 + {13, "1136868377216160297393798828125"}, // * 8796093022208 + {14, "5684341886080801486968994140625"}, // * 17592186044416 + {14, "28421709430404007434844970703125"}, // * 35184372088832 + {14, "142108547152020037174224853515625"}, // * 70368744177664 + {15, "710542735760100185871124267578125"}, // * 140737488355328 + {15, "3552713678800500929355621337890625"}, // * 281474976710656 + {15, "17763568394002504646778106689453125"}, // * 562949953421312 + {16, "88817841970012523233890533447265625"}, // * 1125899906842624 + {16, "444089209850062616169452667236328125"}, // * 2251799813685248 + {16, "2220446049250313080847263336181640625"}, // * 4503599627370496 + {16, "11102230246251565404236316680908203125"}, // * 9007199254740992 + {17, "55511151231257827021181583404541015625"}, // * 18014398509481984 + {17, "277555756156289135105907917022705078125"}, // * 36028797018963968 + {17, "1387778780781445675529539585113525390625"}, // * 72057594037927936 + {18, "6938893903907228377647697925567626953125"}, // * 144115188075855872 + {18, "34694469519536141888238489627838134765625"}, // * 288230376151711744 + {18, "173472347597680709441192448139190673828125"}, // * 576460752303423488 + {19, "867361737988403547205962240695953369140625"}, // * 1152921504606846976 +} + +// Is the leading prefix of b lexicographically less than s? +func prefixIsLessThan(b []byte, s string) bool { + for i := 0; i < len(s); i++ { + if i >= len(b) { + return true + } + if b[i] != s[i] { + return b[i] < s[i] + } + } + return false +} + +// Binary shift left (* 2) by k bits. k <= maxShift to avoid overflow. +func leftShift(a *decimal, k uint) { + delta := leftcheats[k].delta + if prefixIsLessThan(a.d[0:a.nd], leftcheats[k].cutoff) { + delta-- + } + + r := a.nd // read index + w := a.nd + delta // write index + + // Pick up a digit, put down a digit. + var n uint + for r--; r >= 0; r-- { + n += (uint(a.d[r]) - '0') << k + quo := n / 10 + rem := n - 10*quo + w-- + if w < len(a.d) { + a.d[w] = byte(rem + '0') + } else if rem != 0 { + a.trunc = true + } + n = quo + } + + // Put down extra digits. + for n > 0 { + quo := n / 10 + rem := n - 10*quo + w-- + if w < len(a.d) { + a.d[w] = byte(rem + '0') + } else if rem != 0 { + a.trunc = true + } + n = quo + } + + a.nd += delta + if a.nd >= len(a.d) { + a.nd = len(a.d) + } + a.dp += delta + trim(a) +} + +// Binary shift left (k > 0) or right (k < 0). +func (a *decimal) Shift(k int) { + switch { + case a.nd == 0: + // nothing to do: a == 0 + case k > 0: + for k > maxShift { + leftShift(a, maxShift) + k -= maxShift + } + leftShift(a, uint(k)) + case k < 0: + for k < -maxShift { + rightShift(a, maxShift) + k += maxShift + } + rightShift(a, uint(-k)) + } +} + +// If we chop a at nd digits, should we round up? +func shouldRoundUp(a *decimal, nd int) bool { + if nd < 0 || nd >= a.nd { + return false + } + if a.d[nd] == '5' && nd+1 == a.nd { // exactly halfway - round to even + // if we truncated, a little higher than what's recorded - always round up + if a.trunc { + return true + } + return nd > 0 && (a.d[nd-1]-'0')%2 != 0 + } + // not halfway - digit tells all + return a.d[nd] >= '5' +} + +// Round a to nd digits (or fewer). +// If nd is zero, it means we're rounding +// just to the left of the digits, as in +// 0.09 -> 0.1. +func (a *decimal) Round(nd int) { + if nd < 0 || nd >= a.nd { + return + } + if shouldRoundUp(a, nd) { + a.RoundUp(nd) + } else { + a.RoundDown(nd) + } +} + +// Round a down to nd digits (or fewer). +func (a *decimal) RoundDown(nd int) { + if nd < 0 || nd >= a.nd { + return + } + a.nd = nd + trim(a) +} + +// Round a up to nd digits (or fewer). +func (a *decimal) RoundUp(nd int) { + if nd < 0 || nd >= a.nd { + return + } + + // round up + for i := nd - 1; i >= 0; i-- { + c := a.d[i] + if c < '9' { // can stop after this digit + a.d[i]++ + a.nd = i + 1 + return + } + } + + // Number is all 9s. + // Change to single 1 with adjusted decimal point. + a.d[0] = '1' + a.nd = 1 + a.dp++ +} + +// Extract integer part, rounded appropriately. +// No guarantees about overflow. +func (a *decimal) RoundedInteger() uint64 { + if a.dp > 20 { + return 0xFFFFFFFFFFFFFFFF + } + var i int + n := uint64(0) + for i = 0; i < a.dp && i < a.nd; i++ { + n = n*10 + uint64(a.d[i]-'0') + } + for ; i < a.dp; i++ { + n *= 10 + } + if shouldRoundUp(a, a.dp) { + n++ + } + return n +} diff --git a/vendor/github.com/shopspring/decimal/decimal.go b/vendor/github.com/shopspring/decimal/decimal.go new file mode 100644 index 00000000..134ece2f --- /dev/null +++ b/vendor/github.com/shopspring/decimal/decimal.go @@ -0,0 +1,1434 @@ +// Package decimal implements an arbitrary precision fixed-point decimal. +// +// To use as part of a struct: +// +// type Struct struct { +// Number Decimal +// } +// +// The zero-value of a Decimal is 0, as you would expect. +// +// The best way to create a new Decimal is to use decimal.NewFromString, ex: +// +// n, err := decimal.NewFromString("-123.4567") +// n.String() // output: "-123.4567" +// +// NOTE: This can "only" represent numbers with a maximum of 2^31 digits +// after the decimal point. +package decimal + +import ( + "database/sql/driver" + "encoding/binary" + "fmt" + "math" + "math/big" + "strconv" + "strings" +) + +// DivisionPrecision is the number of decimal places in the result when it +// doesn't divide exactly. +// +// Example: +// +// d1 := decimal.NewFromFloat(2).Div(decimal.NewFromFloat(3) +// d1.String() // output: "0.6666666666666667" +// d2 := decimal.NewFromFloat(2).Div(decimal.NewFromFloat(30000) +// d2.String() // output: "0.0000666666666667" +// d3 := decimal.NewFromFloat(20000).Div(decimal.NewFromFloat(3) +// d3.String() // output: "6666.6666666666666667" +// decimal.DivisionPrecision = 3 +// d4 := decimal.NewFromFloat(2).Div(decimal.NewFromFloat(3) +// d4.String() // output: "0.667" +// +var DivisionPrecision = 16 + +// MarshalJSONWithoutQuotes should be set to true if you want the decimal to +// be JSON marshaled as a number, instead of as a string. +// WARNING: this is dangerous for decimals with many digits, since many JSON +// unmarshallers (ex: Javascript's) will unmarshal JSON numbers to IEEE 754 +// double-precision floating point numbers, which means you can potentially +// silently lose precision. +var MarshalJSONWithoutQuotes = false + +// Zero constant, to make computations faster. +var Zero = New(0, 1) + +// fiveDec used in Cash Rounding +var fiveDec = New(5, 0) + +var zeroInt = big.NewInt(0) +var oneInt = big.NewInt(1) +var twoInt = big.NewInt(2) +var fourInt = big.NewInt(4) +var fiveInt = big.NewInt(5) +var tenInt = big.NewInt(10) +var twentyInt = big.NewInt(20) + +// Decimal represents a fixed-point decimal. It is immutable. +// number = value * 10 ^ exp +type Decimal struct { + value *big.Int + + // NOTE(vadim): this must be an int32, because we cast it to float64 during + // calculations. If exp is 64 bit, we might lose precision. + // If we cared about being able to represent every possible decimal, we + // could make exp a *big.Int but it would hurt performance and numbers + // like that are unrealistic. + exp int32 +} + +// New returns a new fixed-point decimal, value * 10 ^ exp. +func New(value int64, exp int32) Decimal { + return Decimal{ + value: big.NewInt(value), + exp: exp, + } +} + +// NewFromBigInt returns a new Decimal from a big.Int, value * 10 ^ exp +func NewFromBigInt(value *big.Int, exp int32) Decimal { + return Decimal{ + value: big.NewInt(0).Set(value), + exp: exp, + } +} + +// NewFromString returns a new Decimal from a string representation. +// +// Example: +// +// d, err := NewFromString("-123.45") +// d2, err := NewFromString(".0001") +// +func NewFromString(value string) (Decimal, error) { + originalInput := value + var intString string + var exp int64 + + // Check if number is using scientific notation + eIndex := strings.IndexAny(value, "Ee") + if eIndex != -1 { + expInt, err := strconv.ParseInt(value[eIndex+1:], 10, 32) + if err != nil { + if e, ok := err.(*strconv.NumError); ok && e.Err == strconv.ErrRange { + return Decimal{}, fmt.Errorf("can't convert %s to decimal: fractional part too long", value) + } + return Decimal{}, fmt.Errorf("can't convert %s to decimal: exponent is not numeric", value) + } + value = value[:eIndex] + exp = expInt + } + + parts := strings.Split(value, ".") + if len(parts) == 1 { + // There is no decimal point, we can just parse the original string as + // an int + intString = value + } else if len(parts) == 2 { + // strip the insignificant digits for more accurate comparisons. + decimalPart := strings.TrimRight(parts[1], "0") + intString = parts[0] + decimalPart + expInt := -len(decimalPart) + exp += int64(expInt) + } else { + return Decimal{}, fmt.Errorf("can't convert %s to decimal: too many .s", value) + } + + dValue := new(big.Int) + _, ok := dValue.SetString(intString, 10) + if !ok { + return Decimal{}, fmt.Errorf("can't convert %s to decimal", value) + } + + if exp < math.MinInt32 || exp > math.MaxInt32 { + // NOTE(vadim): I doubt a string could realistically be this long + return Decimal{}, fmt.Errorf("can't convert %s to decimal: fractional part too long", originalInput) + } + + return Decimal{ + value: dValue, + exp: int32(exp), + }, nil +} + +// RequireFromString returns a new Decimal from a string representation +// or panics if NewFromString would have returned an error. +// +// Example: +// +// d := RequireFromString("-123.45") +// d2 := RequireFromString(".0001") +// +func RequireFromString(value string) Decimal { + dec, err := NewFromString(value) + if err != nil { + panic(err) + } + return dec +} + +// NewFromFloat converts a float64 to Decimal. +// +// The converted number will contain the number of significant digits that can be +// represented in a float with reliable roundtrip. +// This is typically 15 digits, but may be more in some cases. +// See https://www.exploringbinary.com/decimal-precision-of-binary-floating-point-numbers/ for more information. +// +// For slightly faster conversion, use NewFromFloatWithExponent where you can specify the precision in absolute terms. +// +// NOTE: this will panic on NaN, +/-inf +func NewFromFloat(value float64) Decimal { + if value == 0 { + return New(0, 0) + } + return newFromFloat(value, math.Float64bits(value), &float64info) +} + +// NewFromFloat converts a float32 to Decimal. +// +// The converted number will contain the number of significant digits that can be +// represented in a float with reliable roundtrip. +// This is typically 6-8 digits depending on the input. +// See https://www.exploringbinary.com/decimal-precision-of-binary-floating-point-numbers/ for more information. +// +// For slightly faster conversion, use NewFromFloatWithExponent where you can specify the precision in absolute terms. +// +// NOTE: this will panic on NaN, +/-inf +func NewFromFloat32(value float32) Decimal { + if value == 0 { + return New(0, 0) + } + // XOR is workaround for https://github.com/golang/go/issues/26285 + a := math.Float32bits(value) ^ 0x80808080 + return newFromFloat(float64(value), uint64(a)^0x80808080, &float32info) +} + +func newFromFloat(val float64, bits uint64, flt *floatInfo) Decimal { + if math.IsNaN(val) || math.IsInf(val, 0) { + panic(fmt.Sprintf("Cannot create a Decimal from %v", val)) + } + exp := int(bits>>flt.mantbits) & (1<>(flt.expbits+flt.mantbits) != 0 + + roundShortest(&d, mant, exp, flt) + // If less than 19 digits, we can do calculation in an int64. + if d.nd < 19 { + tmp := int64(0) + m := int64(1) + for i := d.nd - 1; i >= 0; i-- { + tmp += m * int64(d.d[i]-'0') + m *= 10 + } + if d.neg { + tmp *= -1 + } + return Decimal{value: big.NewInt(tmp), exp: int32(d.dp) - int32(d.nd)} + } + dValue := new(big.Int) + dValue, ok := dValue.SetString(string(d.d[:d.nd]), 10) + if ok { + return Decimal{value: dValue, exp: int32(d.dp) - int32(d.nd)} + } + + return NewFromFloatWithExponent(val, int32(d.dp)-int32(d.nd)) +} + +// NewFromFloatWithExponent converts a float64 to Decimal, with an arbitrary +// number of fractional digits. +// +// Example: +// +// NewFromFloatWithExponent(123.456, -2).String() // output: "123.46" +// +func NewFromFloatWithExponent(value float64, exp int32) Decimal { + if math.IsNaN(value) || math.IsInf(value, 0) { + panic(fmt.Sprintf("Cannot create a Decimal from %v", value)) + } + + bits := math.Float64bits(value) + mant := bits & (1<<52 - 1) + exp2 := int32((bits >> 52) & (1<<11 - 1)) + sign := bits >> 63 + + if exp2 == 0 { + // specials + if mant == 0 { + return Decimal{} + } else { + // subnormal + exp2++ + } + } else { + // normal + mant |= 1 << 52 + } + + exp2 -= 1023 + 52 + + // normalizing base-2 values + for mant&1 == 0 { + mant = mant >> 1 + exp2++ + } + + // maximum number of fractional base-10 digits to represent 2^N exactly cannot be more than -N if N<0 + if exp < 0 && exp < exp2 { + if exp2 < 0 { + exp = exp2 + } else { + exp = 0 + } + } + + // representing 10^M * 2^N as 5^M * 2^(M+N) + exp2 -= exp + + temp := big.NewInt(1) + dMant := big.NewInt(int64(mant)) + + // applying 5^M + if exp > 0 { + temp = temp.SetInt64(int64(exp)) + temp = temp.Exp(fiveInt, temp, nil) + } else if exp < 0 { + temp = temp.SetInt64(-int64(exp)) + temp = temp.Exp(fiveInt, temp, nil) + dMant = dMant.Mul(dMant, temp) + temp = temp.SetUint64(1) + } + + // applying 2^(M+N) + if exp2 > 0 { + dMant = dMant.Lsh(dMant, uint(exp2)) + } else if exp2 < 0 { + temp = temp.Lsh(temp, uint(-exp2)) + } + + // rounding and downscaling + if exp > 0 || exp2 < 0 { + halfDown := new(big.Int).Rsh(temp, 1) + dMant = dMant.Add(dMant, halfDown) + dMant = dMant.Quo(dMant, temp) + } + + if sign == 1 { + dMant = dMant.Neg(dMant) + } + + return Decimal{ + value: dMant, + exp: exp, + } +} + +// rescale returns a rescaled version of the decimal. Returned +// decimal may be less precise if the given exponent is bigger +// than the initial exponent of the Decimal. +// NOTE: this will truncate, NOT round +// +// Example: +// +// d := New(12345, -4) +// d2 := d.rescale(-1) +// d3 := d2.rescale(-4) +// println(d1) +// println(d2) +// println(d3) +// +// Output: +// +// 1.2345 +// 1.2 +// 1.2000 +// +func (d Decimal) rescale(exp int32) Decimal { + d.ensureInitialized() + // NOTE(vadim): must convert exps to float64 before - to prevent overflow + diff := math.Abs(float64(exp) - float64(d.exp)) + value := new(big.Int).Set(d.value) + + expScale := new(big.Int).Exp(tenInt, big.NewInt(int64(diff)), nil) + if exp > d.exp { + value = value.Quo(value, expScale) + } else if exp < d.exp { + value = value.Mul(value, expScale) + } + + return Decimal{ + value: value, + exp: exp, + } +} + +// Abs returns the absolute value of the decimal. +func (d Decimal) Abs() Decimal { + d.ensureInitialized() + d2Value := new(big.Int).Abs(d.value) + return Decimal{ + value: d2Value, + exp: d.exp, + } +} + +// Add returns d + d2. +func (d Decimal) Add(d2 Decimal) Decimal { + baseScale := min(d.exp, d2.exp) + rd := d.rescale(baseScale) + rd2 := d2.rescale(baseScale) + + d3Value := new(big.Int).Add(rd.value, rd2.value) + return Decimal{ + value: d3Value, + exp: baseScale, + } +} + +// Sub returns d - d2. +func (d Decimal) Sub(d2 Decimal) Decimal { + baseScale := min(d.exp, d2.exp) + rd := d.rescale(baseScale) + rd2 := d2.rescale(baseScale) + + d3Value := new(big.Int).Sub(rd.value, rd2.value) + return Decimal{ + value: d3Value, + exp: baseScale, + } +} + +// Neg returns -d. +func (d Decimal) Neg() Decimal { + d.ensureInitialized() + val := new(big.Int).Neg(d.value) + return Decimal{ + value: val, + exp: d.exp, + } +} + +// Mul returns d * d2. +func (d Decimal) Mul(d2 Decimal) Decimal { + d.ensureInitialized() + d2.ensureInitialized() + + expInt64 := int64(d.exp) + int64(d2.exp) + if expInt64 > math.MaxInt32 || expInt64 < math.MinInt32 { + // NOTE(vadim): better to panic than give incorrect results, as + // Decimals are usually used for money + panic(fmt.Sprintf("exponent %v overflows an int32!", expInt64)) + } + + d3Value := new(big.Int).Mul(d.value, d2.value) + return Decimal{ + value: d3Value, + exp: int32(expInt64), + } +} + +// Shift shifts the decimal in base 10. +// It shifts left when shift is positive and right if shift is negative. +// In simpler terms, the given value for shift is added to the exponent +// of the decimal. +func (d Decimal) Shift(shift int32) Decimal { + d.ensureInitialized() + return Decimal{ + value: new(big.Int).Set(d.value), + exp: d.exp + shift, + } +} + +// Div returns d / d2. If it doesn't divide exactly, the result will have +// DivisionPrecision digits after the decimal point. +func (d Decimal) Div(d2 Decimal) Decimal { + return d.DivRound(d2, int32(DivisionPrecision)) +} + +// QuoRem does divsion with remainder +// d.QuoRem(d2,precision) returns quotient q and remainder r such that +// d = d2 * q + r, q an integer multiple of 10^(-precision) +// 0 <= r < abs(d2) * 10 ^(-precision) if d>=0 +// 0 >= r > -abs(d2) * 10 ^(-precision) if d<0 +// Note that precision<0 is allowed as input. +func (d Decimal) QuoRem(d2 Decimal, precision int32) (Decimal, Decimal) { + d.ensureInitialized() + d2.ensureInitialized() + if d2.value.Sign() == 0 { + panic("decimal division by 0") + } + scale := -precision + e := int64(d.exp - d2.exp - scale) + if e > math.MaxInt32 || e < math.MinInt32 { + panic("overflow in decimal QuoRem") + } + var aa, bb, expo big.Int + var scalerest int32 + // d = a 10^ea + // d2 = b 10^eb + if e < 0 { + aa = *d.value + expo.SetInt64(-e) + bb.Exp(tenInt, &expo, nil) + bb.Mul(d2.value, &bb) + scalerest = d.exp + // now aa = a + // bb = b 10^(scale + eb - ea) + } else { + expo.SetInt64(e) + aa.Exp(tenInt, &expo, nil) + aa.Mul(d.value, &aa) + bb = *d2.value + scalerest = scale + d2.exp + // now aa = a ^ (ea - eb - scale) + // bb = b + } + var q, r big.Int + q.QuoRem(&aa, &bb, &r) + dq := Decimal{value: &q, exp: scale} + dr := Decimal{value: &r, exp: scalerest} + return dq, dr +} + +// DivRound divides and rounds to a given precision +// i.e. to an integer multiple of 10^(-precision) +// for a positive quotient digit 5 is rounded up, away from 0 +// if the quotient is negative then digit 5 is rounded down, away from 0 +// Note that precision<0 is allowed as input. +func (d Decimal) DivRound(d2 Decimal, precision int32) Decimal { + // QuoRem already checks initialization + q, r := d.QuoRem(d2, precision) + // the actual rounding decision is based on comparing r*10^precision and d2/2 + // instead compare 2 r 10 ^precision and d2 + var rv2 big.Int + rv2.Abs(r.value) + rv2.Lsh(&rv2, 1) + // now rv2 = abs(r.value) * 2 + r2 := Decimal{value: &rv2, exp: r.exp + precision} + // r2 is now 2 * r * 10 ^ precision + var c = r2.Cmp(d2.Abs()) + + if c < 0 { + return q + } + + if d.value.Sign()*d2.value.Sign() < 0 { + return q.Sub(New(1, -precision)) + } + + return q.Add(New(1, -precision)) +} + +// Mod returns d % d2. +func (d Decimal) Mod(d2 Decimal) Decimal { + quo := d.Div(d2).Truncate(0) + return d.Sub(d2.Mul(quo)) +} + +// Pow returns d to the power d2 +func (d Decimal) Pow(d2 Decimal) Decimal { + var temp Decimal + if d2.IntPart() == 0 { + return NewFromFloat(1) + } + temp = d.Pow(d2.Div(NewFromFloat(2))) + if d2.IntPart()%2 == 0 { + return temp.Mul(temp) + } + if d2.IntPart() > 0 { + return temp.Mul(temp).Mul(d) + } + return temp.Mul(temp).Div(d) +} + +// Cmp compares the numbers represented by d and d2 and returns: +// +// -1 if d < d2 +// 0 if d == d2 +// +1 if d > d2 +// +func (d Decimal) Cmp(d2 Decimal) int { + d.ensureInitialized() + d2.ensureInitialized() + + if d.exp == d2.exp { + return d.value.Cmp(d2.value) + } + + baseExp := min(d.exp, d2.exp) + rd := d.rescale(baseExp) + rd2 := d2.rescale(baseExp) + + return rd.value.Cmp(rd2.value) +} + +// Equal returns whether the numbers represented by d and d2 are equal. +func (d Decimal) Equal(d2 Decimal) bool { + return d.Cmp(d2) == 0 +} + +// Equals is deprecated, please use Equal method instead +func (d Decimal) Equals(d2 Decimal) bool { + return d.Equal(d2) +} + +// GreaterThan (GT) returns true when d is greater than d2. +func (d Decimal) GreaterThan(d2 Decimal) bool { + return d.Cmp(d2) == 1 +} + +// GreaterThanOrEqual (GTE) returns true when d is greater than or equal to d2. +func (d Decimal) GreaterThanOrEqual(d2 Decimal) bool { + cmp := d.Cmp(d2) + return cmp == 1 || cmp == 0 +} + +// LessThan (LT) returns true when d is less than d2. +func (d Decimal) LessThan(d2 Decimal) bool { + return d.Cmp(d2) == -1 +} + +// LessThanOrEqual (LTE) returns true when d is less than or equal to d2. +func (d Decimal) LessThanOrEqual(d2 Decimal) bool { + cmp := d.Cmp(d2) + return cmp == -1 || cmp == 0 +} + +// Sign returns: +// +// -1 if d < 0 +// 0 if d == 0 +// +1 if d > 0 +// +func (d Decimal) Sign() int { + if d.value == nil { + return 0 + } + return d.value.Sign() +} + +// IsPositive return +// +// true if d > 0 +// false if d == 0 +// false if d < 0 +func (d Decimal) IsPositive() bool { + return d.Sign() == 1 +} + +// IsNegative return +// +// true if d < 0 +// false if d == 0 +// false if d > 0 +func (d Decimal) IsNegative() bool { + return d.Sign() == -1 +} + +// IsZero return +// +// true if d == 0 +// false if d > 0 +// false if d < 0 +func (d Decimal) IsZero() bool { + return d.Sign() == 0 +} + +// Exponent returns the exponent, or scale component of the decimal. +func (d Decimal) Exponent() int32 { + return d.exp +} + +// Coefficient returns the coefficient of the decimal. It is scaled by 10^Exponent() +func (d Decimal) Coefficient() *big.Int { + // we copy the coefficient so that mutating the result does not mutate the + // Decimal. + return big.NewInt(0).Set(d.value) +} + +// IntPart returns the integer component of the decimal. +func (d Decimal) IntPart() int64 { + scaledD := d.rescale(0) + return scaledD.value.Int64() +} + +// Rat returns a rational number representation of the decimal. +func (d Decimal) Rat() *big.Rat { + d.ensureInitialized() + if d.exp <= 0 { + // NOTE(vadim): must negate after casting to prevent int32 overflow + denom := new(big.Int).Exp(tenInt, big.NewInt(-int64(d.exp)), nil) + return new(big.Rat).SetFrac(d.value, denom) + } + + mul := new(big.Int).Exp(tenInt, big.NewInt(int64(d.exp)), nil) + num := new(big.Int).Mul(d.value, mul) + return new(big.Rat).SetFrac(num, oneInt) +} + +// Float64 returns the nearest float64 value for d and a bool indicating +// whether f represents d exactly. +// For more details, see the documentation for big.Rat.Float64 +func (d Decimal) Float64() (f float64, exact bool) { + return d.Rat().Float64() +} + +// String returns the string representation of the decimal +// with the fixed point. +// +// Example: +// +// d := New(-12345, -3) +// println(d.String()) +// +// Output: +// +// -12.345 +// +func (d Decimal) String() string { + return d.string(true) +} + +// StringFixed returns a rounded fixed-point string with places digits after +// the decimal point. +// +// Example: +// +// NewFromFloat(0).StringFixed(2) // output: "0.00" +// NewFromFloat(0).StringFixed(0) // output: "0" +// NewFromFloat(5.45).StringFixed(0) // output: "5" +// NewFromFloat(5.45).StringFixed(1) // output: "5.5" +// NewFromFloat(5.45).StringFixed(2) // output: "5.45" +// NewFromFloat(5.45).StringFixed(3) // output: "5.450" +// NewFromFloat(545).StringFixed(-1) // output: "550" +// +func (d Decimal) StringFixed(places int32) string { + rounded := d.Round(places) + return rounded.string(false) +} + +// StringFixedBank returns a banker rounded fixed-point string with places digits +// after the decimal point. +// +// Example: +// +// NewFromFloat(0).StringFixed(2) // output: "0.00" +// NewFromFloat(0).StringFixed(0) // output: "0" +// NewFromFloat(5.45).StringFixed(0) // output: "5" +// NewFromFloat(5.45).StringFixed(1) // output: "5.4" +// NewFromFloat(5.45).StringFixed(2) // output: "5.45" +// NewFromFloat(5.45).StringFixed(3) // output: "5.450" +// NewFromFloat(545).StringFixed(-1) // output: "550" +// +func (d Decimal) StringFixedBank(places int32) string { + rounded := d.RoundBank(places) + return rounded.string(false) +} + +// StringFixedCash returns a Swedish/Cash rounded fixed-point string. For +// more details see the documentation at function RoundCash. +func (d Decimal) StringFixedCash(interval uint8) string { + rounded := d.RoundCash(interval) + return rounded.string(false) +} + +// Round rounds the decimal to places decimal places. +// If places < 0, it will round the integer part to the nearest 10^(-places). +// +// Example: +// +// NewFromFloat(5.45).Round(1).String() // output: "5.5" +// NewFromFloat(545).Round(-1).String() // output: "550" +// +func (d Decimal) Round(places int32) Decimal { + // truncate to places + 1 + ret := d.rescale(-places - 1) + + // add sign(d) * 0.5 + if ret.value.Sign() < 0 { + ret.value.Sub(ret.value, fiveInt) + } else { + ret.value.Add(ret.value, fiveInt) + } + + // floor for positive numbers, ceil for negative numbers + _, m := ret.value.DivMod(ret.value, tenInt, new(big.Int)) + ret.exp++ + if ret.value.Sign() < 0 && m.Cmp(zeroInt) != 0 { + ret.value.Add(ret.value, oneInt) + } + + return ret +} + +// RoundBank rounds the decimal to places decimal places. +// If the final digit to round is equidistant from the nearest two integers the +// rounded value is taken as the even number +// +// If places < 0, it will round the integer part to the nearest 10^(-places). +// +// Examples: +// +// NewFromFloat(5.45).Round(1).String() // output: "5.4" +// NewFromFloat(545).Round(-1).String() // output: "540" +// NewFromFloat(5.46).Round(1).String() // output: "5.5" +// NewFromFloat(546).Round(-1).String() // output: "550" +// NewFromFloat(5.55).Round(1).String() // output: "5.6" +// NewFromFloat(555).Round(-1).String() // output: "560" +// +func (d Decimal) RoundBank(places int32) Decimal { + + round := d.Round(places) + remainder := d.Sub(round).Abs() + + half := New(5, -places-1) + if remainder.Cmp(half) == 0 && round.value.Bit(0) != 0 { + if round.value.Sign() < 0 { + round.value.Add(round.value, oneInt) + } else { + round.value.Sub(round.value, oneInt) + } + } + + return round +} + +// RoundCash aka Cash/Penny/öre rounding rounds decimal to a specific +// interval. The amount payable for a cash transaction is rounded to the nearest +// multiple of the minimum currency unit available. The following intervals are +// available: 5, 10, 15, 25, 50 and 100; any other number throws a panic. +// 5: 5 cent rounding 3.43 => 3.45 +// 10: 10 cent rounding 3.45 => 3.50 (5 gets rounded up) +// 15: 10 cent rounding 3.45 => 3.40 (5 gets rounded down) +// 25: 25 cent rounding 3.41 => 3.50 +// 50: 50 cent rounding 3.75 => 4.00 +// 100: 100 cent rounding 3.50 => 4.00 +// For more details: https://en.wikipedia.org/wiki/Cash_rounding +func (d Decimal) RoundCash(interval uint8) Decimal { + var iVal *big.Int + switch interval { + case 5: + iVal = twentyInt + case 10: + iVal = tenInt + case 15: + if d.exp < 0 { + // TODO: optimize and reduce allocations + orgExp := d.exp + dOne := New(10^-int64(orgExp), orgExp) + d2 := d + d2.exp = 0 + if d2.Mod(fiveDec).Equal(Zero) { + d2.exp = orgExp + d2 = d2.Sub(dOne) + d = d2 + } + } + iVal = tenInt + case 25: + iVal = fourInt + case 50: + iVal = twoInt + case 100: + iVal = oneInt + default: + panic(fmt.Sprintf("Decimal does not support this Cash rounding interval `%d`. Supported: 5, 10, 15, 25, 50, 100", interval)) + } + dVal := Decimal{ + value: iVal, + } + // TODO: optimize those calculations to reduce the high allocations (~29 allocs). + return d.Mul(dVal).Round(0).Div(dVal).Truncate(2) +} + +// Floor returns the nearest integer value less than or equal to d. +func (d Decimal) Floor() Decimal { + d.ensureInitialized() + + if d.exp >= 0 { + return d + } + + exp := big.NewInt(10) + + // NOTE(vadim): must negate after casting to prevent int32 overflow + exp.Exp(exp, big.NewInt(-int64(d.exp)), nil) + + z := new(big.Int).Div(d.value, exp) + return Decimal{value: z, exp: 0} +} + +// Ceil returns the nearest integer value greater than or equal to d. +func (d Decimal) Ceil() Decimal { + d.ensureInitialized() + + if d.exp >= 0 { + return d + } + + exp := big.NewInt(10) + + // NOTE(vadim): must negate after casting to prevent int32 overflow + exp.Exp(exp, big.NewInt(-int64(d.exp)), nil) + + z, m := new(big.Int).DivMod(d.value, exp, new(big.Int)) + if m.Cmp(zeroInt) != 0 { + z.Add(z, oneInt) + } + return Decimal{value: z, exp: 0} +} + +// Truncate truncates off digits from the number, without rounding. +// +// NOTE: precision is the last digit that will not be truncated (must be >= 0). +// +// Example: +// +// decimal.NewFromString("123.456").Truncate(2).String() // "123.45" +// +func (d Decimal) Truncate(precision int32) Decimal { + d.ensureInitialized() + if precision >= 0 && -precision > d.exp { + return d.rescale(-precision) + } + return d +} + +// UnmarshalJSON implements the json.Unmarshaler interface. +func (d *Decimal) UnmarshalJSON(decimalBytes []byte) error { + if string(decimalBytes) == "null" { + return nil + } + + str, err := unquoteIfQuoted(decimalBytes) + if err != nil { + return fmt.Errorf("Error decoding string '%s': %s", decimalBytes, err) + } + + decimal, err := NewFromString(str) + *d = decimal + if err != nil { + return fmt.Errorf("Error decoding string '%s': %s", str, err) + } + return nil +} + +// MarshalJSON implements the json.Marshaler interface. +func (d Decimal) MarshalJSON() ([]byte, error) { + var str string + if MarshalJSONWithoutQuotes { + str = d.String() + } else { + str = "\"" + d.String() + "\"" + } + return []byte(str), nil +} + +// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface. As a string representation +// is already used when encoding to text, this method stores that string as []byte +func (d *Decimal) UnmarshalBinary(data []byte) error { + // Extract the exponent + d.exp = int32(binary.BigEndian.Uint32(data[:4])) + + // Extract the value + d.value = new(big.Int) + return d.value.GobDecode(data[4:]) +} + +// MarshalBinary implements the encoding.BinaryMarshaler interface. +func (d Decimal) MarshalBinary() (data []byte, err error) { + // Write the exponent first since it's a fixed size + v1 := make([]byte, 4) + binary.BigEndian.PutUint32(v1, uint32(d.exp)) + + // Add the value + var v2 []byte + if v2, err = d.value.GobEncode(); err != nil { + return + } + + // Return the byte array + data = append(v1, v2...) + return +} + +// Scan implements the sql.Scanner interface for database deserialization. +func (d *Decimal) Scan(value interface{}) error { + // first try to see if the data is stored in database as a Numeric datatype + switch v := value.(type) { + + case float32: + *d = NewFromFloat(float64(v)) + return nil + + case float64: + // numeric in sqlite3 sends us float64 + *d = NewFromFloat(v) + return nil + + case int64: + // at least in sqlite3 when the value is 0 in db, the data is sent + // to us as an int64 instead of a float64 ... + *d = New(v, 0) + return nil + + default: + // default is trying to interpret value stored as string + str, err := unquoteIfQuoted(v) + if err != nil { + return err + } + *d, err = NewFromString(str) + return err + } +} + +// Value implements the driver.Valuer interface for database serialization. +func (d Decimal) Value() (driver.Value, error) { + return d.String(), nil +} + +// UnmarshalText implements the encoding.TextUnmarshaler interface for XML +// deserialization. +func (d *Decimal) UnmarshalText(text []byte) error { + str := string(text) + + dec, err := NewFromString(str) + *d = dec + if err != nil { + return fmt.Errorf("Error decoding string '%s': %s", str, err) + } + + return nil +} + +// MarshalText implements the encoding.TextMarshaler interface for XML +// serialization. +func (d Decimal) MarshalText() (text []byte, err error) { + return []byte(d.String()), nil +} + +// GobEncode implements the gob.GobEncoder interface for gob serialization. +func (d Decimal) GobEncode() ([]byte, error) { + return d.MarshalBinary() +} + +// GobDecode implements the gob.GobDecoder interface for gob serialization. +func (d *Decimal) GobDecode(data []byte) error { + return d.UnmarshalBinary(data) +} + +// StringScaled first scales the decimal then calls .String() on it. +// NOTE: buggy, unintuitive, and DEPRECATED! Use StringFixed instead. +func (d Decimal) StringScaled(exp int32) string { + return d.rescale(exp).String() +} + +func (d Decimal) string(trimTrailingZeros bool) string { + if d.exp >= 0 { + return d.rescale(0).value.String() + } + + abs := new(big.Int).Abs(d.value) + str := abs.String() + + var intPart, fractionalPart string + + // NOTE(vadim): this cast to int will cause bugs if d.exp == INT_MIN + // and you are on a 32-bit machine. Won't fix this super-edge case. + dExpInt := int(d.exp) + if len(str) > -dExpInt { + intPart = str[:len(str)+dExpInt] + fractionalPart = str[len(str)+dExpInt:] + } else { + intPart = "0" + + num0s := -dExpInt - len(str) + fractionalPart = strings.Repeat("0", num0s) + str + } + + if trimTrailingZeros { + i := len(fractionalPart) - 1 + for ; i >= 0; i-- { + if fractionalPart[i] != '0' { + break + } + } + fractionalPart = fractionalPart[:i+1] + } + + number := intPart + if len(fractionalPart) > 0 { + number += "." + fractionalPart + } + + if d.value.Sign() < 0 { + return "-" + number + } + + return number +} + +func (d *Decimal) ensureInitialized() { + if d.value == nil { + d.value = new(big.Int) + } +} + +// Min returns the smallest Decimal that was passed in the arguments. +// +// To call this function with an array, you must do: +// +// Min(arr[0], arr[1:]...) +// +// This makes it harder to accidentally call Min with 0 arguments. +func Min(first Decimal, rest ...Decimal) Decimal { + ans := first + for _, item := range rest { + if item.Cmp(ans) < 0 { + ans = item + } + } + return ans +} + +// Max returns the largest Decimal that was passed in the arguments. +// +// To call this function with an array, you must do: +// +// Max(arr[0], arr[1:]...) +// +// This makes it harder to accidentally call Max with 0 arguments. +func Max(first Decimal, rest ...Decimal) Decimal { + ans := first + for _, item := range rest { + if item.Cmp(ans) > 0 { + ans = item + } + } + return ans +} + +// Sum returns the combined total of the provided first and rest Decimals +func Sum(first Decimal, rest ...Decimal) Decimal { + total := first + for _, item := range rest { + total = total.Add(item) + } + + return total +} + +// Avg returns the average value of the provided first and rest Decimals +func Avg(first Decimal, rest ...Decimal) Decimal { + count := New(int64(len(rest)+1), 0) + sum := Sum(first, rest...) + return sum.Div(count) +} + +func min(x, y int32) int32 { + if x >= y { + return y + } + return x +} + +func unquoteIfQuoted(value interface{}) (string, error) { + var bytes []byte + + switch v := value.(type) { + case string: + bytes = []byte(v) + case []byte: + bytes = v + default: + return "", fmt.Errorf("Could not convert value '%+v' to byte array of type '%T'", + value, value) + } + + // If the amount is quoted, strip the quotes + if len(bytes) > 2 && bytes[0] == '"' && bytes[len(bytes)-1] == '"' { + bytes = bytes[1 : len(bytes)-1] + } + return string(bytes), nil +} + +// NullDecimal represents a nullable decimal with compatibility for +// scanning null values from the database. +type NullDecimal struct { + Decimal Decimal + Valid bool +} + +// Scan implements the sql.Scanner interface for database deserialization. +func (d *NullDecimal) Scan(value interface{}) error { + if value == nil { + d.Valid = false + return nil + } + d.Valid = true + return d.Decimal.Scan(value) +} + +// Value implements the driver.Valuer interface for database serialization. +func (d NullDecimal) Value() (driver.Value, error) { + if !d.Valid { + return nil, nil + } + return d.Decimal.Value() +} + +// UnmarshalJSON implements the json.Unmarshaler interface. +func (d *NullDecimal) UnmarshalJSON(decimalBytes []byte) error { + if string(decimalBytes) == "null" { + d.Valid = false + return nil + } + d.Valid = true + return d.Decimal.UnmarshalJSON(decimalBytes) +} + +// MarshalJSON implements the json.Marshaler interface. +func (d NullDecimal) MarshalJSON() ([]byte, error) { + if !d.Valid { + return []byte("null"), nil + } + return d.Decimal.MarshalJSON() +} + +// Trig functions + +// Atan returns the arctangent, in radians, of x. +func (x Decimal) Atan() Decimal { + if x.Equal(NewFromFloat(0.0)) { + return x + } + if x.GreaterThan(NewFromFloat(0.0)) { + return x.satan() + } + return x.Neg().satan().Neg() +} + +func (d Decimal) xatan() Decimal { + P0 := NewFromFloat(-8.750608600031904122785e-01) + P1 := NewFromFloat(-1.615753718733365076637e+01) + P2 := NewFromFloat(-7.500855792314704667340e+01) + P3 := NewFromFloat(-1.228866684490136173410e+02) + P4 := NewFromFloat(-6.485021904942025371773e+01) + Q0 := NewFromFloat(2.485846490142306297962e+01) + Q1 := NewFromFloat(1.650270098316988542046e+02) + Q2 := NewFromFloat(4.328810604912902668951e+02) + Q3 := NewFromFloat(4.853903996359136964868e+02) + Q4 := NewFromFloat(1.945506571482613964425e+02) + z := d.Mul(d) + b1 := P0.Mul(z).Add(P1).Mul(z).Add(P2).Mul(z).Add(P3).Mul(z).Add(P4).Mul(z) + b2 := z.Add(Q0).Mul(z).Add(Q1).Mul(z).Add(Q2).Mul(z).Add(Q3).Mul(z).Add(Q4) + z = b1.Div(b2) + z = d.Mul(z).Add(d) + return z +} + +// satan reduces its argument (known to be positive) +// to the range [0, 0.66] and calls xatan. +func (d Decimal) satan() Decimal { + Morebits := NewFromFloat(6.123233995736765886130e-17) // pi/2 = PIO2 + Morebits + Tan3pio8 := NewFromFloat(2.41421356237309504880) // tan(3*pi/8) + pi := NewFromFloat(3.14159265358979323846264338327950288419716939937510582097494459) + + if d.LessThanOrEqual(NewFromFloat(0.66)) { + return d.xatan() + } + if d.GreaterThan(Tan3pio8) { + return pi.Div(NewFromFloat(2.0)).Sub(NewFromFloat(1.0).Div(d).xatan()).Add(Morebits) + } + return pi.Div(NewFromFloat(4.0)).Add((d.Sub(NewFromFloat(1.0)).Div(d.Add(NewFromFloat(1.0)))).xatan()).Add(NewFromFloat(0.5).Mul(Morebits)) +} + +// sin coefficients + var _sin = [...]Decimal{ + NewFromFloat(1.58962301576546568060E-10), // 0x3de5d8fd1fd19ccd + NewFromFloat(-2.50507477628578072866E-8), // 0xbe5ae5e5a9291f5d + NewFromFloat(2.75573136213857245213E-6), // 0x3ec71de3567d48a1 + NewFromFloat(-1.98412698295895385996E-4), // 0xbf2a01a019bfdf03 + NewFromFloat(8.33333333332211858878E-3), // 0x3f8111111110f7d0 + NewFromFloat(-1.66666666666666307295E-1), // 0xbfc5555555555548 + } + +// Sin returns the sine of the radian argument x. + func (d Decimal) Sin() Decimal { + PI4A := NewFromFloat(7.85398125648498535156E-1) // 0x3fe921fb40000000, Pi/4 split into three parts + PI4B := NewFromFloat(3.77489470793079817668E-8) // 0x3e64442d00000000, + PI4C := NewFromFloat(2.69515142907905952645E-15) // 0x3ce8469898cc5170, + M4PI := NewFromFloat(1.273239544735162542821171882678754627704620361328125) // 4/pi + + if d.Equal(NewFromFloat(0.0)) { + return d + } + // make argument positive but save the sign + sign := false + if d.LessThan(NewFromFloat(0.0)) { + d = d.Neg() + sign = true + } + + j := d.Mul(M4PI).IntPart() // integer part of x/(Pi/4), as integer for tests on the phase angle + y := NewFromFloat(float64(j)) // integer part of x/(Pi/4), as float + + // map zeros to origin + if j&1 == 1 { + j++ + y = y.Add(NewFromFloat(1.0)) + } + j &= 7 // octant modulo 2Pi radians (360 degrees) + // reflect in x axis + if j > 3 { + sign = !sign + j -= 4 + } + z := d.Sub(y.Mul(PI4A)).Sub(y.Mul(PI4B)).Sub(y.Mul(PI4C)) // Extended precision modular arithmetic + zz := z.Mul(z) + + if j == 1 || j == 2 { + w := zz.Mul(zz).Mul(_cos[0].Mul(zz).Add(_cos[1]).Mul(zz).Add(_cos[2]).Mul(zz).Add(_cos[3]).Mul(zz).Add(_cos[4]).Mul(zz).Add(_cos[5])) + y = NewFromFloat(1.0).Sub(NewFromFloat(0.5).Mul(zz)).Add(w) + } else { + y = z.Add(z.Mul(zz).Mul(_sin[0].Mul(zz).Add(_sin[1]).Mul(zz).Add(_sin[2]).Mul(zz).Add(_sin[3]).Mul(zz).Add(_sin[4]).Mul(zz).Add(_sin[5]))) + } + if sign { + y = y.Neg() + } + return y + } + + // cos coefficients + var _cos = [...]Decimal{ + NewFromFloat(-1.13585365213876817300E-11), // 0xbda8fa49a0861a9b + NewFromFloat(2.08757008419747316778E-9), // 0x3e21ee9d7b4e3f05 + NewFromFloat(-2.75573141792967388112E-7), // 0xbe927e4f7eac4bc6 + NewFromFloat(2.48015872888517045348E-5), // 0x3efa01a019c844f5 + NewFromFloat(-1.38888888888730564116E-3), // 0xbf56c16c16c14f91 + NewFromFloat(4.16666666666665929218E-2), // 0x3fa555555555554b + } + + // Cos returns the cosine of the radian argument x. + func (d Decimal) Cos() Decimal { + + PI4A := NewFromFloat(7.85398125648498535156E-1) // 0x3fe921fb40000000, Pi/4 split into three parts + PI4B := NewFromFloat(3.77489470793079817668E-8) // 0x3e64442d00000000, + PI4C := NewFromFloat(2.69515142907905952645E-15) // 0x3ce8469898cc5170, + M4PI := NewFromFloat(1.273239544735162542821171882678754627704620361328125) // 4/pi + + // make argument positive + sign := false + if d.LessThan(NewFromFloat(0.0)) { + d = d.Neg() + } + + j := d.Mul(M4PI).IntPart() // integer part of x/(Pi/4), as integer for tests on the phase angle + y := NewFromFloat(float64(j)) // integer part of x/(Pi/4), as float + + // map zeros to origin + if j&1 == 1 { + j++ + y = y.Add(NewFromFloat(1.0)) + } + j &= 7 // octant modulo 2Pi radians (360 degrees) + // reflect in x axis + if j > 3 { + sign = !sign + j -= 4 + } + if j > 1 { + sign = !sign + } + + z := d.Sub(y.Mul(PI4A)).Sub(y.Mul(PI4B)).Sub(y.Mul(PI4C)) // Extended precision modular arithmetic + zz := z.Mul(z) + + if j == 1 || j == 2 { + y = z.Add(z.Mul(zz).Mul(_sin[0].Mul(zz).Add(_sin[1]).Mul(zz).Add(_sin[2]).Mul(zz).Add(_sin[3]).Mul(zz).Add(_sin[4]).Mul(zz).Add(_sin[5]))) + } else { + w := zz.Mul(zz).Mul(_cos[0].Mul(zz).Add(_cos[1]).Mul(zz).Add(_cos[2]).Mul(zz).Add(_cos[3]).Mul(zz).Add(_cos[4]).Mul(zz).Add(_cos[5])) + y = NewFromFloat(1.0).Sub(NewFromFloat(0.5).Mul(zz)).Add(w) + } + if sign { + y = y.Neg() + } + return y + } + + var _tanP = [...]Decimal{ + NewFromFloat(-1.30936939181383777646E+4), // 0xc0c992d8d24f3f38 + NewFromFloat(1.15351664838587416140E+6), // 0x413199eca5fc9ddd + NewFromFloat(-1.79565251976484877988E+7), // 0xc1711fead3299176 + } + var _tanQ = [...]Decimal{ + NewFromFloat(1.00000000000000000000E+0), + NewFromFloat(1.36812963470692954678E+4), //0x40cab8a5eeb36572 + NewFromFloat(-1.32089234440210967447E+6), //0xc13427bc582abc96 + NewFromFloat(2.50083801823357915839E+7), //0x4177d98fc2ead8ef + NewFromFloat(-5.38695755929454629881E+7), //0xc189afe03cbe5a31 + } + + // Tan returns the tangent of the radian argument x. + func (d Decimal) Tan() Decimal { + + PI4A := NewFromFloat(7.85398125648498535156E-1) // 0x3fe921fb40000000, Pi/4 split into three parts + PI4B := NewFromFloat(3.77489470793079817668E-8) // 0x3e64442d00000000, + PI4C := NewFromFloat(2.69515142907905952645E-15) // 0x3ce8469898cc5170, + M4PI := NewFromFloat(1.273239544735162542821171882678754627704620361328125) // 4/pi + + if d.Equal(NewFromFloat(0.0)) { + return d + } + + // make argument positive but save the sign + sign := false + if d.LessThan(NewFromFloat(0.0)) { + d = d.Neg() + sign = true + } + + j := d.Mul(M4PI).IntPart() // integer part of x/(Pi/4), as integer for tests on the phase angle + y := NewFromFloat(float64(j)) // integer part of x/(Pi/4), as float + + // map zeros to origin + if j&1 == 1 { + j++ + y = y.Add(NewFromFloat(1.0)) + } + + z := d.Sub(y.Mul(PI4A)).Sub(y.Mul(PI4B)).Sub(y.Mul(PI4C)) // Extended precision modular arithmetic + zz := z.Mul(z) + + if zz.GreaterThan(NewFromFloat(1e-14)) { + w := zz.Mul(_tanP[0].Mul(zz).Add(_tanP[1]).Mul(zz).Add(_tanP[2])) + x := zz.Add(_tanQ[1]).Mul(zz).Add(_tanQ[2]).Mul(zz).Add(_tanQ[3]).Mul(zz).Add(_tanQ[4]) + y = z.Add(z.Mul(w.Div(x))) + } else { + y = z + } + if j&2 == 2 { + y = NewFromFloat(-1.0).Div(y) + } + if sign { + y = y.Neg() + } + return y + } diff --git a/vendor/github.com/shopspring/decimal/rounding.go b/vendor/github.com/shopspring/decimal/rounding.go new file mode 100644 index 00000000..fdd74eaa --- /dev/null +++ b/vendor/github.com/shopspring/decimal/rounding.go @@ -0,0 +1,118 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Multiprecision decimal numbers. +// For floating-point formatting only; not general purpose. +// Only operations are assign and (binary) left/right shift. +// Can do binary floating point in multiprecision decimal precisely +// because 2 divides 10; cannot do decimal floating point +// in multiprecision binary precisely. +package decimal + +type floatInfo struct { + mantbits uint + expbits uint + bias int +} + +var float32info = floatInfo{23, 8, -127} +var float64info = floatInfo{52, 11, -1023} + +// roundShortest rounds d (= mant * 2^exp) to the shortest number of digits +// that will let the original floating point value be precisely reconstructed. +func roundShortest(d *decimal, mant uint64, exp int, flt *floatInfo) { + // If mantissa is zero, the number is zero; stop now. + if mant == 0 { + d.nd = 0 + return + } + + // Compute upper and lower such that any decimal number + // between upper and lower (possibly inclusive) + // will round to the original floating point number. + + // We may see at once that the number is already shortest. + // + // Suppose d is not denormal, so that 2^exp <= d < 10^dp. + // The closest shorter number is at least 10^(dp-nd) away. + // The lower/upper bounds computed below are at distance + // at most 2^(exp-mantbits). + // + // So the number is already shortest if 10^(dp-nd) > 2^(exp-mantbits), + // or equivalently log2(10)*(dp-nd) > exp-mantbits. + // It is true if 332/100*(dp-nd) >= exp-mantbits (log2(10) > 3.32). + minexp := flt.bias + 1 // minimum possible exponent + if exp > minexp && 332*(d.dp-d.nd) >= 100*(exp-int(flt.mantbits)) { + // The number is already shortest. + return + } + + // d = mant << (exp - mantbits) + // Next highest floating point number is mant+1 << exp-mantbits. + // Our upper bound is halfway between, mant*2+1 << exp-mantbits-1. + upper := new(decimal) + upper.Assign(mant*2 + 1) + upper.Shift(exp - int(flt.mantbits) - 1) + + // d = mant << (exp - mantbits) + // Next lowest floating point number is mant-1 << exp-mantbits, + // unless mant-1 drops the significant bit and exp is not the minimum exp, + // in which case the next lowest is mant*2-1 << exp-mantbits-1. + // Either way, call it mantlo << explo-mantbits. + // Our lower bound is halfway between, mantlo*2+1 << explo-mantbits-1. + var mantlo uint64 + var explo int + if mant > 1< [![Build Status](https://travis-ci.org/sirupsen/logrus.svg?branch=master)](https://travis-ci.org/sirupsen/logrus) [![GoDoc](https://godoc.org/github.com/sirupsen/logrus?status.svg)](https://godoc.org/github.com/sirupsen/logrus) + +Logrus is a structured logger for Go (golang), completely API compatible with +the standard library logger. + +**Seeing weird case-sensitive problems?** It's in the past been possible to +import Logrus as both upper- and lower-case. Due to the Go package environment, +this caused issues in the community and we needed a standard. Some environments +experienced problems with the upper-case variant, so the lower-case was decided. +Everything using `logrus` will need to use the lower-case: +`github.com/sirupsen/logrus`. Any package that isn't, should be changed. + +To fix Glide, see [these +comments](https://github.com/sirupsen/logrus/issues/553#issuecomment-306591437). +For an in-depth explanation of the casing issue, see [this +comment](https://github.com/sirupsen/logrus/issues/570#issuecomment-313933276). + +**Are you interested in assisting in maintaining Logrus?** Currently I have a +lot of obligations, and I am unable to provide Logrus with the maintainership it +needs. If you'd like to help, please reach out to me at `simon at author's +username dot com`. + +Nicely color-coded in development (when a TTY is attached, otherwise just +plain text): + +![Colored](http://i.imgur.com/PY7qMwd.png) + +With `log.SetFormatter(&log.JSONFormatter{})`, for easy parsing by logstash +or Splunk: + +```json +{"animal":"walrus","level":"info","msg":"A group of walrus emerges from the +ocean","size":10,"time":"2014-03-10 19:57:38.562264131 -0400 EDT"} + +{"level":"warning","msg":"The group's number increased tremendously!", +"number":122,"omg":true,"time":"2014-03-10 19:57:38.562471297 -0400 EDT"} + +{"animal":"walrus","level":"info","msg":"A giant walrus appears!", +"size":10,"time":"2014-03-10 19:57:38.562500591 -0400 EDT"} + +{"animal":"walrus","level":"info","msg":"Tremendously sized cow enters the ocean.", +"size":9,"time":"2014-03-10 19:57:38.562527896 -0400 EDT"} + +{"level":"fatal","msg":"The ice breaks!","number":100,"omg":true, +"time":"2014-03-10 19:57:38.562543128 -0400 EDT"} +``` + +With the default `log.SetFormatter(&log.TextFormatter{})` when a TTY is not +attached, the output is compatible with the +[logfmt](http://godoc.org/github.com/kr/logfmt) format: + +```text +time="2015-03-26T01:27:38-04:00" level=debug msg="Started observing beach" animal=walrus number=8 +time="2015-03-26T01:27:38-04:00" level=info msg="A group of walrus emerges from the ocean" animal=walrus size=10 +time="2015-03-26T01:27:38-04:00" level=warning msg="The group's number increased tremendously!" number=122 omg=true +time="2015-03-26T01:27:38-04:00" level=debug msg="Temperature changes" temperature=-4 +time="2015-03-26T01:27:38-04:00" level=panic msg="It's over 9000!" animal=orca size=9009 +time="2015-03-26T01:27:38-04:00" level=fatal msg="The ice breaks!" err=&{0x2082280c0 map[animal:orca size:9009] 2015-03-26 01:27:38.441574009 -0400 EDT panic It's over 9000!} number=100 omg=true +``` +To ensure this behaviour even if a TTY is attached, set your formatter as follows: + +```go + log.SetFormatter(&log.TextFormatter{ + DisableColors: true, + FullTimestamp: true, + }) +``` + +#### Logging Method Name + +If you wish to add the calling method as a field, instruct the logger via: +```go +log.SetReportCaller(true) +``` +This adds the caller as 'method' like so: + +```json +{"animal":"penguin","level":"fatal","method":"github.com/sirupsen/arcticcreatures.migrate","msg":"a penguin swims by", +"time":"2014-03-10 19:57:38.562543129 -0400 EDT"} +``` + +```text +time="2015-03-26T01:27:38-04:00" level=fatal method=github.com/sirupsen/arcticcreatures.migrate msg="a penguin swims by" animal=penguin +``` +Note that this does add measurable overhead - the cost will depend on the version of Go, but is +between 20 and 40% in recent tests with 1.6 and 1.7. You can validate this in your +environment via benchmarks: +``` +go test -bench=.*CallerTracing +``` + + +#### Case-sensitivity + +The organization's name was changed to lower-case--and this will not be changed +back. If you are getting import conflicts due to case sensitivity, please use +the lower-case import: `github.com/sirupsen/logrus`. + +#### Example + +The simplest way to use Logrus is simply the package-level exported logger: + +```go +package main + +import ( + log "github.com/sirupsen/logrus" +) + +func main() { + log.WithFields(log.Fields{ + "animal": "walrus", + }).Info("A walrus appears") +} +``` + +Note that it's completely api-compatible with the stdlib logger, so you can +replace your `log` imports everywhere with `log "github.com/sirupsen/logrus"` +and you'll now have the flexibility of Logrus. You can customize it all you +want: + +```go +package main + +import ( + "os" + log "github.com/sirupsen/logrus" +) + +func init() { + // Log as JSON instead of the default ASCII formatter. + log.SetFormatter(&log.JSONFormatter{}) + + // Output to stdout instead of the default stderr + // Can be any io.Writer, see below for File example + log.SetOutput(os.Stdout) + + // Only log the warning severity or above. + log.SetLevel(log.WarnLevel) +} + +func main() { + log.WithFields(log.Fields{ + "animal": "walrus", + "size": 10, + }).Info("A group of walrus emerges from the ocean") + + log.WithFields(log.Fields{ + "omg": true, + "number": 122, + }).Warn("The group's number increased tremendously!") + + log.WithFields(log.Fields{ + "omg": true, + "number": 100, + }).Fatal("The ice breaks!") + + // A common pattern is to re-use fields between logging statements by re-using + // the logrus.Entry returned from WithFields() + contextLogger := log.WithFields(log.Fields{ + "common": "this is a common field", + "other": "I also should be logged always", + }) + + contextLogger.Info("I'll be logged with common and other field") + contextLogger.Info("Me too") +} +``` + +For more advanced usage such as logging to multiple locations from the same +application, you can also create an instance of the `logrus` Logger: + +```go +package main + +import ( + "os" + "github.com/sirupsen/logrus" +) + +// Create a new instance of the logger. You can have any number of instances. +var log = logrus.New() + +func main() { + // The API for setting attributes is a little different than the package level + // exported logger. See Godoc. + log.Out = os.Stdout + + // You could set this to any `io.Writer` such as a file + // file, err := os.OpenFile("logrus.log", os.O_CREATE|os.O_WRONLY, 0666) + // if err == nil { + // log.Out = file + // } else { + // log.Info("Failed to log to file, using default stderr") + // } + + log.WithFields(logrus.Fields{ + "animal": "walrus", + "size": 10, + }).Info("A group of walrus emerges from the ocean") +} +``` + +#### Fields + +Logrus encourages careful, structured logging through logging fields instead of +long, unparseable error messages. For example, instead of: `log.Fatalf("Failed +to send event %s to topic %s with key %d")`, you should log the much more +discoverable: + +```go +log.WithFields(log.Fields{ + "event": event, + "topic": topic, + "key": key, +}).Fatal("Failed to send event") +``` + +We've found this API forces you to think about logging in a way that produces +much more useful logging messages. We've been in countless situations where just +a single added field to a log statement that was already there would've saved us +hours. The `WithFields` call is optional. + +In general, with Logrus using any of the `printf`-family functions should be +seen as a hint you should add a field, however, you can still use the +`printf`-family functions with Logrus. + +#### Default Fields + +Often it's helpful to have fields _always_ attached to log statements in an +application or parts of one. For example, you may want to always log the +`request_id` and `user_ip` in the context of a request. Instead of writing +`log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip})` on +every line, you can create a `logrus.Entry` to pass around instead: + +```go +requestLogger := log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip}) +requestLogger.Info("something happened on that request") # will log request_id and user_ip +requestLogger.Warn("something not great happened") +``` + +#### Hooks + +You can add hooks for logging levels. For example to send errors to an exception +tracking service on `Error`, `Fatal` and `Panic`, info to StatsD or log to +multiple places simultaneously, e.g. syslog. + +Logrus comes with [built-in hooks](hooks/). Add those, or your custom hook, in +`init`: + +```go +import ( + log "github.com/sirupsen/logrus" + "gopkg.in/gemnasium/logrus-airbrake-hook.v2" // the package is named "airbrake" + logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + "log/syslog" +) + +func init() { + + // Use the Airbrake hook to report errors that have Error severity or above to + // an exception tracker. You can create custom hooks, see the Hooks section. + log.AddHook(airbrake.NewHook(123, "xyz", "production")) + + hook, err := logrus_syslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") + if err != nil { + log.Error("Unable to connect to local syslog daemon") + } else { + log.AddHook(hook) + } +} +``` +Note: Syslog hook also support connecting to local syslog (Ex. "/dev/log" or "/var/run/syslog" or "/var/run/log"). For the detail, please check the [syslog hook README](hooks/syslog/README.md). + +A list of currently known of service hook can be found in this wiki [page](https://github.com/sirupsen/logrus/wiki/Hooks) + + +#### Level logging + +Logrus has seven logging levels: Trace, Debug, Info, Warning, Error, Fatal and Panic. + +```go +log.Trace("Something very low level.") +log.Debug("Useful debugging information.") +log.Info("Something noteworthy happened!") +log.Warn("You should probably take a look at this.") +log.Error("Something failed but I'm not quitting.") +// Calls os.Exit(1) after logging +log.Fatal("Bye.") +// Calls panic() after logging +log.Panic("I'm bailing.") +``` + +You can set the logging level on a `Logger`, then it will only log entries with +that severity or anything above it: + +```go +// Will log anything that is info or above (warn, error, fatal, panic). Default. +log.SetLevel(log.InfoLevel) +``` + +It may be useful to set `log.Level = logrus.DebugLevel` in a debug or verbose +environment if your application has that. + +#### Entries + +Besides the fields added with `WithField` or `WithFields` some fields are +automatically added to all logging events: + +1. `time`. The timestamp when the entry was created. +2. `msg`. The logging message passed to `{Info,Warn,Error,Fatal,Panic}` after + the `AddFields` call. E.g. `Failed to send event.` +3. `level`. The logging level. E.g. `info`. + +#### Environments + +Logrus has no notion of environment. + +If you wish for hooks and formatters to only be used in specific environments, +you should handle that yourself. For example, if your application has a global +variable `Environment`, which is a string representation of the environment you +could do: + +```go +import ( + log "github.com/sirupsen/logrus" +) + +init() { + // do something here to set environment depending on an environment variable + // or command-line flag + if Environment == "production" { + log.SetFormatter(&log.JSONFormatter{}) + } else { + // The TextFormatter is default, you don't actually have to do this. + log.SetFormatter(&log.TextFormatter{}) + } +} +``` + +This configuration is how `logrus` was intended to be used, but JSON in +production is mostly only useful if you do log aggregation with tools like +Splunk or Logstash. + +#### Formatters + +The built-in logging formatters are: + +* `logrus.TextFormatter`. Logs the event in colors if stdout is a tty, otherwise + without colors. + * *Note:* to force colored output when there is no TTY, set the `ForceColors` + field to `true`. To force no colored output even if there is a TTY set the + `DisableColors` field to `true`. For Windows, see + [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable). + * When colors are enabled, levels are truncated to 4 characters by default. To disable + truncation set the `DisableLevelTruncation` field to `true`. + * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#TextFormatter). +* `logrus.JSONFormatter`. Logs fields as JSON. + * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#JSONFormatter). + +Third party logging formatters: + +* [`FluentdFormatter`](https://github.com/joonix/log). Formats entries that can be parsed by Kubernetes and Google Container Engine. +* [`GELF`](https://github.com/fabienm/go-logrus-formatters). Formats entries so they comply to Graylog's [GELF 1.1 specification](http://docs.graylog.org/en/2.4/pages/gelf.html). +* [`logstash`](https://github.com/bshuster-repo/logrus-logstash-hook). Logs fields as [Logstash](http://logstash.net) Events. +* [`prefixed`](https://github.com/x-cray/logrus-prefixed-formatter). Displays log entry source along with alternative layout. +* [`zalgo`](https://github.com/aybabtme/logzalgo). Invoking the P͉̫o̳̼̊w̖͈̰͎e̬͔̭͂r͚̼̹̲ ̫͓͉̳͈ō̠͕͖̚f̝͍̠ ͕̲̞͖͑Z̖̫̤̫ͪa͉̬͈̗l͖͎g̳̥o̰̥̅!̣͔̲̻͊̄ ̙̘̦̹̦. +* [`nested-logrus-formatter`](https://github.com/antonfisher/nested-logrus-formatter). Converts logrus fields to a nested structure. + +You can define your formatter by implementing the `Formatter` interface, +requiring a `Format` method. `Format` takes an `*Entry`. `entry.Data` is a +`Fields` type (`map[string]interface{}`) with all your fields as well as the +default ones (see Entries section above): + +```go +type MyJSONFormatter struct { +} + +log.SetFormatter(new(MyJSONFormatter)) + +func (f *MyJSONFormatter) Format(entry *Entry) ([]byte, error) { + // Note this doesn't include Time, Level and Message which are available on + // the Entry. Consult `godoc` on information about those fields or read the + // source of the official loggers. + serialized, err := json.Marshal(entry.Data) + if err != nil { + return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err) + } + return append(serialized, '\n'), nil +} +``` + +#### Logger as an `io.Writer` + +Logrus can be transformed into an `io.Writer`. That writer is the end of an `io.Pipe` and it is your responsibility to close it. + +```go +w := logger.Writer() +defer w.Close() + +srv := http.Server{ + // create a stdlib log.Logger that writes to + // logrus.Logger. + ErrorLog: log.New(w, "", 0), +} +``` + +Each line written to that writer will be printed the usual way, using formatters +and hooks. The level for those entries is `info`. + +This means that we can override the standard library logger easily: + +```go +logger := logrus.New() +logger.Formatter = &logrus.JSONFormatter{} + +// Use logrus for standard log output +// Note that `log` here references stdlib's log +// Not logrus imported under the name `log`. +log.SetOutput(logger.Writer()) +``` + +#### Rotation + +Log rotation is not provided with Logrus. Log rotation should be done by an +external program (like `logrotate(8)`) that can compress and delete old log +entries. It should not be a feature of the application-level logger. + +#### Tools + +| Tool | Description | +| ---- | ----------- | +|[Logrus Mate](https://github.com/gogap/logrus_mate)|Logrus mate is a tool for Logrus to manage loggers, you can initial logger's level, hook and formatter by config file, the logger will generated with different config at different environment.| +|[Logrus Viper Helper](https://github.com/heirko/go-contrib/tree/master/logrusHelper)|An Helper around Logrus to wrap with spf13/Viper to load configuration with fangs! And to simplify Logrus configuration use some behavior of [Logrus Mate](https://github.com/gogap/logrus_mate). [sample](https://github.com/heirko/iris-contrib/blob/master/middleware/logrus-logger/example) | + +#### Testing + +Logrus has a built in facility for asserting the presence of log messages. This is implemented through the `test` hook and provides: + +* decorators for existing logger (`test.NewLocal` and `test.NewGlobal`) which basically just add the `test` hook +* a test logger (`test.NewNullLogger`) that just records log messages (and does not output any): + +```go +import( + "github.com/sirupsen/logrus" + "github.com/sirupsen/logrus/hooks/test" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestSomething(t*testing.T){ + logger, hook := test.NewNullLogger() + logger.Error("Helloerror") + + assert.Equal(t, 1, len(hook.Entries)) + assert.Equal(t, logrus.ErrorLevel, hook.LastEntry().Level) + assert.Equal(t, "Helloerror", hook.LastEntry().Message) + + hook.Reset() + assert.Nil(t, hook.LastEntry()) +} +``` + +#### Fatal handlers + +Logrus can register one or more functions that will be called when any `fatal` +level message is logged. The registered handlers will be executed before +logrus performs a `os.Exit(1)`. This behavior may be helpful if callers need +to gracefully shutdown. Unlike a `panic("Something went wrong...")` call which can be intercepted with a deferred `recover` a call to `os.Exit(1)` can not be intercepted. + +``` +... +handler := func() { + // gracefully shutdown something... +} +logrus.RegisterExitHandler(handler) +... +``` + +#### Thread safety + +By default, Logger is protected by a mutex for concurrent writes. The mutex is held when calling hooks and writing logs. +If you are sure such locking is not needed, you can call logger.SetNoLock() to disable the locking. + +Situation when locking is not needed includes: + +* You have no hooks registered, or hooks calling is already thread-safe. + +* Writing to logger.Out is already thread-safe, for example: + + 1) logger.Out is protected by locks. + + 2) logger.Out is a os.File handler opened with `O_APPEND` flag, and every write is smaller than 4k. (This allow multi-thread/multi-process writing) + + (Refer to http://www.notthewizard.com/2014/06/17/are-files-appends-really-atomic/) diff --git a/vendor/github.com/sirupsen/logrus/alt_exit.go b/vendor/github.com/sirupsen/logrus/alt_exit.go new file mode 100644 index 00000000..8fd189e1 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/alt_exit.go @@ -0,0 +1,76 @@ +package logrus + +// The following code was sourced and modified from the +// https://github.com/tebeka/atexit package governed by the following license: +// +// Copyright (c) 2012 Miki Tebeka . +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +// the Software, and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +import ( + "fmt" + "os" +) + +var handlers = []func(){} + +func runHandler(handler func()) { + defer func() { + if err := recover(); err != nil { + fmt.Fprintln(os.Stderr, "Error: Logrus exit handler error:", err) + } + }() + + handler() +} + +func runHandlers() { + for _, handler := range handlers { + runHandler(handler) + } +} + +// Exit runs all the Logrus atexit handlers and then terminates the program using os.Exit(code) +func Exit(code int) { + runHandlers() + os.Exit(code) +} + +// RegisterExitHandler appends a Logrus Exit handler to the list of handlers, +// call logrus.Exit to invoke all handlers. The handlers will also be invoked when +// any Fatal log entry is made. +// +// This method is useful when a caller wishes to use logrus to log a fatal +// message but also needs to gracefully shutdown. An example usecase could be +// closing database connections, or sending a alert that the application is +// closing. +func RegisterExitHandler(handler func()) { + handlers = append(handlers, handler) +} + +// DeferExitHandler prepends a Logrus Exit handler to the list of handlers, +// call logrus.Exit to invoke all handlers. The handlers will also be invoked when +// any Fatal log entry is made. +// +// This method is useful when a caller wishes to use logrus to log a fatal +// message but also needs to gracefully shutdown. An example usecase could be +// closing database connections, or sending a alert that the application is +// closing. +func DeferExitHandler(handler func()) { + handlers = append([]func(){handler}, handlers...) +} diff --git a/vendor/github.com/sirupsen/logrus/appveyor.yml b/vendor/github.com/sirupsen/logrus/appveyor.yml new file mode 100644 index 00000000..96c2ce15 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/appveyor.yml @@ -0,0 +1,14 @@ +version: "{build}" +platform: x64 +clone_folder: c:\gopath\src\github.com\sirupsen\logrus +environment: + GOPATH: c:\gopath +branches: + only: + - master +install: + - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% + - go version +build_script: + - go get -t + - go test diff --git a/vendor/github.com/sirupsen/logrus/doc.go b/vendor/github.com/sirupsen/logrus/doc.go new file mode 100644 index 00000000..da67aba0 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/doc.go @@ -0,0 +1,26 @@ +/* +Package logrus is a structured logger for Go, completely API compatible with the standard library logger. + + +The simplest way to use Logrus is simply the package-level exported logger: + + package main + + import ( + log "github.com/sirupsen/logrus" + ) + + func main() { + log.WithFields(log.Fields{ + "animal": "walrus", + "number": 1, + "size": 10, + }).Info("A walrus appears") + } + +Output: + time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10 + +For a full guide visit https://github.com/sirupsen/logrus +*/ +package logrus diff --git a/vendor/github.com/sirupsen/logrus/entry.go b/vendor/github.com/sirupsen/logrus/entry.go new file mode 100644 index 00000000..63e25583 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/entry.go @@ -0,0 +1,407 @@ +package logrus + +import ( + "bytes" + "context" + "fmt" + "os" + "reflect" + "runtime" + "strings" + "sync" + "time" +) + +var ( + bufferPool *sync.Pool + + // qualified package name, cached at first use + logrusPackage string + + // Positions in the call stack when tracing to report the calling method + minimumCallerDepth int + + // Used for caller information initialisation + callerInitOnce sync.Once +) + +const ( + maximumCallerDepth int = 25 + knownLogrusFrames int = 4 +) + +func init() { + bufferPool = &sync.Pool{ + New: func() interface{} { + return new(bytes.Buffer) + }, + } + + // start at the bottom of the stack before the package-name cache is primed + minimumCallerDepth = 1 +} + +// Defines the key when adding errors using WithError. +var ErrorKey = "error" + +// An entry is the final or intermediate Logrus logging entry. It contains all +// the fields passed with WithField{,s}. It's finally logged when Trace, Debug, +// Info, Warn, Error, Fatal or Panic is called on it. These objects can be +// reused and passed around as much as you wish to avoid field duplication. +type Entry struct { + Logger *Logger + + // Contains all the fields set by the user. + Data Fields + + // Time at which the log entry was created + Time time.Time + + // Level the log entry was logged at: Trace, Debug, Info, Warn, Error, Fatal or Panic + // This field will be set on entry firing and the value will be equal to the one in Logger struct field. + Level Level + + // Calling method, with package name + Caller *runtime.Frame + + // Message passed to Trace, Debug, Info, Warn, Error, Fatal or Panic + Message string + + // When formatter is called in entry.log(), a Buffer may be set to entry + Buffer *bytes.Buffer + + // Contains the context set by the user. Useful for hook processing etc. + Context context.Context + + // err may contain a field formatting error + err string +} + +func NewEntry(logger *Logger) *Entry { + return &Entry{ + Logger: logger, + // Default is three fields, plus one optional. Give a little extra room. + Data: make(Fields, 6), + } +} + +// Returns the string representation from the reader and ultimately the +// formatter. +func (entry *Entry) String() (string, error) { + serialized, err := entry.Logger.Formatter.Format(entry) + if err != nil { + return "", err + } + str := string(serialized) + return str, nil +} + +// Add an error as single field (using the key defined in ErrorKey) to the Entry. +func (entry *Entry) WithError(err error) *Entry { + return entry.WithField(ErrorKey, err) +} + +// Add a context to the Entry. +func (entry *Entry) WithContext(ctx context.Context) *Entry { + return &Entry{Logger: entry.Logger, Data: entry.Data, Time: entry.Time, err: entry.err, Context: ctx} +} + +// Add a single field to the Entry. +func (entry *Entry) WithField(key string, value interface{}) *Entry { + return entry.WithFields(Fields{key: value}) +} + +// Add a map of fields to the Entry. +func (entry *Entry) WithFields(fields Fields) *Entry { + data := make(Fields, len(entry.Data)+len(fields)) + for k, v := range entry.Data { + data[k] = v + } + fieldErr := entry.err + for k, v := range fields { + isErrField := false + if t := reflect.TypeOf(v); t != nil { + switch t.Kind() { + case reflect.Func: + isErrField = true + case reflect.Ptr: + isErrField = t.Elem().Kind() == reflect.Func + } + } + if isErrField { + tmp := fmt.Sprintf("can not add field %q", k) + if fieldErr != "" { + fieldErr = entry.err + ", " + tmp + } else { + fieldErr = tmp + } + } else { + data[k] = v + } + } + return &Entry{Logger: entry.Logger, Data: data, Time: entry.Time, err: fieldErr, Context: entry.Context} +} + +// Overrides the time of the Entry. +func (entry *Entry) WithTime(t time.Time) *Entry { + return &Entry{Logger: entry.Logger, Data: entry.Data, Time: t, err: entry.err, Context: entry.Context} +} + +// getPackageName reduces a fully qualified function name to the package name +// There really ought to be to be a better way... +func getPackageName(f string) string { + for { + lastPeriod := strings.LastIndex(f, ".") + lastSlash := strings.LastIndex(f, "/") + if lastPeriod > lastSlash { + f = f[:lastPeriod] + } else { + break + } + } + + return f +} + +// getCaller retrieves the name of the first non-logrus calling function +func getCaller() *runtime.Frame { + + // cache this package's fully-qualified name + callerInitOnce.Do(func() { + pcs := make([]uintptr, 2) + _ = runtime.Callers(0, pcs) + logrusPackage = getPackageName(runtime.FuncForPC(pcs[1]).Name()) + + // now that we have the cache, we can skip a minimum count of known-logrus functions + // XXX this is dubious, the number of frames may vary + minimumCallerDepth = knownLogrusFrames + }) + + // Restrict the lookback frames to avoid runaway lookups + pcs := make([]uintptr, maximumCallerDepth) + depth := runtime.Callers(minimumCallerDepth, pcs) + frames := runtime.CallersFrames(pcs[:depth]) + + for f, again := frames.Next(); again; f, again = frames.Next() { + pkg := getPackageName(f.Function) + + // If the caller isn't part of this package, we're done + if pkg != logrusPackage { + return &f + } + } + + // if we got here, we failed to find the caller's context + return nil +} + +func (entry Entry) HasCaller() (has bool) { + return entry.Logger != nil && + entry.Logger.ReportCaller && + entry.Caller != nil +} + +// This function is not declared with a pointer value because otherwise +// race conditions will occur when using multiple goroutines +func (entry Entry) log(level Level, msg string) { + var buffer *bytes.Buffer + + // Default to now, but allow users to override if they want. + // + // We don't have to worry about polluting future calls to Entry#log() + // with this assignment because this function is declared with a + // non-pointer receiver. + if entry.Time.IsZero() { + entry.Time = time.Now() + } + + entry.Level = level + entry.Message = msg + if entry.Logger.ReportCaller { + entry.Caller = getCaller() + } + + entry.fireHooks() + + buffer = bufferPool.Get().(*bytes.Buffer) + buffer.Reset() + defer bufferPool.Put(buffer) + entry.Buffer = buffer + + entry.write() + + entry.Buffer = nil + + // To avoid Entry#log() returning a value that only would make sense for + // panic() to use in Entry#Panic(), we avoid the allocation by checking + // directly here. + if level <= PanicLevel { + panic(&entry) + } +} + +func (entry *Entry) fireHooks() { + entry.Logger.mu.Lock() + defer entry.Logger.mu.Unlock() + err := entry.Logger.Hooks.Fire(entry.Level, entry) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to fire hook: %v\n", err) + } +} + +func (entry *Entry) write() { + entry.Logger.mu.Lock() + defer entry.Logger.mu.Unlock() + serialized, err := entry.Logger.Formatter.Format(entry) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to obtain reader, %v\n", err) + } else { + _, err = entry.Logger.Out.Write(serialized) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to write to log, %v\n", err) + } + } +} + +func (entry *Entry) Log(level Level, args ...interface{}) { + if entry.Logger.IsLevelEnabled(level) { + entry.log(level, fmt.Sprint(args...)) + } +} + +func (entry *Entry) Trace(args ...interface{}) { + entry.Log(TraceLevel, args...) +} + +func (entry *Entry) Debug(args ...interface{}) { + entry.Log(DebugLevel, args...) +} + +func (entry *Entry) Print(args ...interface{}) { + entry.Info(args...) +} + +func (entry *Entry) Info(args ...interface{}) { + entry.Log(InfoLevel, args...) +} + +func (entry *Entry) Warn(args ...interface{}) { + entry.Log(WarnLevel, args...) +} + +func (entry *Entry) Warning(args ...interface{}) { + entry.Warn(args...) +} + +func (entry *Entry) Error(args ...interface{}) { + entry.Log(ErrorLevel, args...) +} + +func (entry *Entry) Fatal(args ...interface{}) { + entry.Log(FatalLevel, args...) + entry.Logger.Exit(1) +} + +func (entry *Entry) Panic(args ...interface{}) { + entry.Log(PanicLevel, args...) + panic(fmt.Sprint(args...)) +} + +// Entry Printf family functions + +func (entry *Entry) Logf(level Level, format string, args ...interface{}) { + if entry.Logger.IsLevelEnabled(level) { + entry.Log(level, fmt.Sprintf(format, args...)) + } +} + +func (entry *Entry) Tracef(format string, args ...interface{}) { + entry.Logf(TraceLevel, format, args...) +} + +func (entry *Entry) Debugf(format string, args ...interface{}) { + entry.Logf(DebugLevel, format, args...) +} + +func (entry *Entry) Infof(format string, args ...interface{}) { + entry.Logf(InfoLevel, format, args...) +} + +func (entry *Entry) Printf(format string, args ...interface{}) { + entry.Infof(format, args...) +} + +func (entry *Entry) Warnf(format string, args ...interface{}) { + entry.Logf(WarnLevel, format, args...) +} + +func (entry *Entry) Warningf(format string, args ...interface{}) { + entry.Warnf(format, args...) +} + +func (entry *Entry) Errorf(format string, args ...interface{}) { + entry.Logf(ErrorLevel, format, args...) +} + +func (entry *Entry) Fatalf(format string, args ...interface{}) { + entry.Logf(FatalLevel, format, args...) + entry.Logger.Exit(1) +} + +func (entry *Entry) Panicf(format string, args ...interface{}) { + entry.Logf(PanicLevel, format, args...) +} + +// Entry Println family functions + +func (entry *Entry) Logln(level Level, args ...interface{}) { + if entry.Logger.IsLevelEnabled(level) { + entry.Log(level, entry.sprintlnn(args...)) + } +} + +func (entry *Entry) Traceln(args ...interface{}) { + entry.Logln(TraceLevel, args...) +} + +func (entry *Entry) Debugln(args ...interface{}) { + entry.Logln(DebugLevel, args...) +} + +func (entry *Entry) Infoln(args ...interface{}) { + entry.Logln(InfoLevel, args...) +} + +func (entry *Entry) Println(args ...interface{}) { + entry.Infoln(args...) +} + +func (entry *Entry) Warnln(args ...interface{}) { + entry.Logln(WarnLevel, args...) +} + +func (entry *Entry) Warningln(args ...interface{}) { + entry.Warnln(args...) +} + +func (entry *Entry) Errorln(args ...interface{}) { + entry.Logln(ErrorLevel, args...) +} + +func (entry *Entry) Fatalln(args ...interface{}) { + entry.Logln(FatalLevel, args...) + entry.Logger.Exit(1) +} + +func (entry *Entry) Panicln(args ...interface{}) { + entry.Logln(PanicLevel, args...) +} + +// Sprintlnn => Sprint no newline. This is to get the behavior of how +// fmt.Sprintln where spaces are always added between operands, regardless of +// their type. Instead of vendoring the Sprintln implementation to spare a +// string allocation, we do the simplest thing. +func (entry *Entry) sprintlnn(args ...interface{}) string { + msg := fmt.Sprintln(args...) + return msg[:len(msg)-1] +} diff --git a/vendor/github.com/sirupsen/logrus/exported.go b/vendor/github.com/sirupsen/logrus/exported.go new file mode 100644 index 00000000..62fc2f21 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/exported.go @@ -0,0 +1,225 @@ +package logrus + +import ( + "context" + "io" + "time" +) + +var ( + // std is the name of the standard logger in stdlib `log` + std = New() +) + +func StandardLogger() *Logger { + return std +} + +// SetOutput sets the standard logger output. +func SetOutput(out io.Writer) { + std.SetOutput(out) +} + +// SetFormatter sets the standard logger formatter. +func SetFormatter(formatter Formatter) { + std.SetFormatter(formatter) +} + +// SetReportCaller sets whether the standard logger will include the calling +// method as a field. +func SetReportCaller(include bool) { + std.SetReportCaller(include) +} + +// SetLevel sets the standard logger level. +func SetLevel(level Level) { + std.SetLevel(level) +} + +// GetLevel returns the standard logger level. +func GetLevel() Level { + return std.GetLevel() +} + +// IsLevelEnabled checks if the log level of the standard logger is greater than the level param +func IsLevelEnabled(level Level) bool { + return std.IsLevelEnabled(level) +} + +// AddHook adds a hook to the standard logger hooks. +func AddHook(hook Hook) { + std.AddHook(hook) +} + +// WithError creates an entry from the standard logger and adds an error to it, using the value defined in ErrorKey as key. +func WithError(err error) *Entry { + return std.WithField(ErrorKey, err) +} + +// WithContext creates an entry from the standard logger and adds a context to it. +func WithContext(ctx context.Context) *Entry { + return std.WithContext(ctx) +} + +// WithField creates an entry from the standard logger and adds a field to +// it. If you want multiple fields, use `WithFields`. +// +// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal +// or Panic on the Entry it returns. +func WithField(key string, value interface{}) *Entry { + return std.WithField(key, value) +} + +// WithFields creates an entry from the standard logger and adds multiple +// fields to it. This is simply a helper for `WithField`, invoking it +// once for each field. +// +// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal +// or Panic on the Entry it returns. +func WithFields(fields Fields) *Entry { + return std.WithFields(fields) +} + +// WithTime creats an entry from the standard logger and overrides the time of +// logs generated with it. +// +// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal +// or Panic on the Entry it returns. +func WithTime(t time.Time) *Entry { + return std.WithTime(t) +} + +// Trace logs a message at level Trace on the standard logger. +func Trace(args ...interface{}) { + std.Trace(args...) +} + +// Debug logs a message at level Debug on the standard logger. +func Debug(args ...interface{}) { + std.Debug(args...) +} + +// Print logs a message at level Info on the standard logger. +func Print(args ...interface{}) { + std.Print(args...) +} + +// Info logs a message at level Info on the standard logger. +func Info(args ...interface{}) { + std.Info(args...) +} + +// Warn logs a message at level Warn on the standard logger. +func Warn(args ...interface{}) { + std.Warn(args...) +} + +// Warning logs a message at level Warn on the standard logger. +func Warning(args ...interface{}) { + std.Warning(args...) +} + +// Error logs a message at level Error on the standard logger. +func Error(args ...interface{}) { + std.Error(args...) +} + +// Panic logs a message at level Panic on the standard logger. +func Panic(args ...interface{}) { + std.Panic(args...) +} + +// Fatal logs a message at level Fatal on the standard logger then the process will exit with status set to 1. +func Fatal(args ...interface{}) { + std.Fatal(args...) +} + +// Tracef logs a message at level Trace on the standard logger. +func Tracef(format string, args ...interface{}) { + std.Tracef(format, args...) +} + +// Debugf logs a message at level Debug on the standard logger. +func Debugf(format string, args ...interface{}) { + std.Debugf(format, args...) +} + +// Printf logs a message at level Info on the standard logger. +func Printf(format string, args ...interface{}) { + std.Printf(format, args...) +} + +// Infof logs a message at level Info on the standard logger. +func Infof(format string, args ...interface{}) { + std.Infof(format, args...) +} + +// Warnf logs a message at level Warn on the standard logger. +func Warnf(format string, args ...interface{}) { + std.Warnf(format, args...) +} + +// Warningf logs a message at level Warn on the standard logger. +func Warningf(format string, args ...interface{}) { + std.Warningf(format, args...) +} + +// Errorf logs a message at level Error on the standard logger. +func Errorf(format string, args ...interface{}) { + std.Errorf(format, args...) +} + +// Panicf logs a message at level Panic on the standard logger. +func Panicf(format string, args ...interface{}) { + std.Panicf(format, args...) +} + +// Fatalf logs a message at level Fatal on the standard logger then the process will exit with status set to 1. +func Fatalf(format string, args ...interface{}) { + std.Fatalf(format, args...) +} + +// Traceln logs a message at level Trace on the standard logger. +func Traceln(args ...interface{}) { + std.Traceln(args...) +} + +// Debugln logs a message at level Debug on the standard logger. +func Debugln(args ...interface{}) { + std.Debugln(args...) +} + +// Println logs a message at level Info on the standard logger. +func Println(args ...interface{}) { + std.Println(args...) +} + +// Infoln logs a message at level Info on the standard logger. +func Infoln(args ...interface{}) { + std.Infoln(args...) +} + +// Warnln logs a message at level Warn on the standard logger. +func Warnln(args ...interface{}) { + std.Warnln(args...) +} + +// Warningln logs a message at level Warn on the standard logger. +func Warningln(args ...interface{}) { + std.Warningln(args...) +} + +// Errorln logs a message at level Error on the standard logger. +func Errorln(args ...interface{}) { + std.Errorln(args...) +} + +// Panicln logs a message at level Panic on the standard logger. +func Panicln(args ...interface{}) { + std.Panicln(args...) +} + +// Fatalln logs a message at level Fatal on the standard logger then the process will exit with status set to 1. +func Fatalln(args ...interface{}) { + std.Fatalln(args...) +} diff --git a/vendor/github.com/sirupsen/logrus/formatter.go b/vendor/github.com/sirupsen/logrus/formatter.go new file mode 100644 index 00000000..40888377 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/formatter.go @@ -0,0 +1,78 @@ +package logrus + +import "time" + +// Default key names for the default fields +const ( + defaultTimestampFormat = time.RFC3339 + FieldKeyMsg = "msg" + FieldKeyLevel = "level" + FieldKeyTime = "time" + FieldKeyLogrusError = "logrus_error" + FieldKeyFunc = "func" + FieldKeyFile = "file" +) + +// The Formatter interface is used to implement a custom Formatter. It takes an +// `Entry`. It exposes all the fields, including the default ones: +// +// * `entry.Data["msg"]`. The message passed from Info, Warn, Error .. +// * `entry.Data["time"]`. The timestamp. +// * `entry.Data["level"]. The level the entry was logged at. +// +// Any additional fields added with `WithField` or `WithFields` are also in +// `entry.Data`. Format is expected to return an array of bytes which are then +// logged to `logger.Out`. +type Formatter interface { + Format(*Entry) ([]byte, error) +} + +// This is to not silently overwrite `time`, `msg`, `func` and `level` fields when +// dumping it. If this code wasn't there doing: +// +// logrus.WithField("level", 1).Info("hello") +// +// Would just silently drop the user provided level. Instead with this code +// it'll logged as: +// +// {"level": "info", "fields.level": 1, "msg": "hello", "time": "..."} +// +// It's not exported because it's still using Data in an opinionated way. It's to +// avoid code duplication between the two default formatters. +func prefixFieldClashes(data Fields, fieldMap FieldMap, reportCaller bool) { + timeKey := fieldMap.resolve(FieldKeyTime) + if t, ok := data[timeKey]; ok { + data["fields."+timeKey] = t + delete(data, timeKey) + } + + msgKey := fieldMap.resolve(FieldKeyMsg) + if m, ok := data[msgKey]; ok { + data["fields."+msgKey] = m + delete(data, msgKey) + } + + levelKey := fieldMap.resolve(FieldKeyLevel) + if l, ok := data[levelKey]; ok { + data["fields."+levelKey] = l + delete(data, levelKey) + } + + logrusErrKey := fieldMap.resolve(FieldKeyLogrusError) + if l, ok := data[logrusErrKey]; ok { + data["fields."+logrusErrKey] = l + delete(data, logrusErrKey) + } + + // If reportCaller is not set, 'func' will not conflict. + if reportCaller { + funcKey := fieldMap.resolve(FieldKeyFunc) + if l, ok := data[funcKey]; ok { + data["fields."+funcKey] = l + } + fileKey := fieldMap.resolve(FieldKeyFile) + if l, ok := data[fileKey]; ok { + data["fields."+fileKey] = l + } + } +} diff --git a/vendor/github.com/sirupsen/logrus/go.mod b/vendor/github.com/sirupsen/logrus/go.mod new file mode 100644 index 00000000..12fdf989 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/go.mod @@ -0,0 +1,10 @@ +module github.com/sirupsen/logrus + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/konsorten/go-windows-terminal-sequences v1.0.1 + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/stretchr/objx v0.1.1 // indirect + github.com/stretchr/testify v1.2.2 + golang.org/x/sys v0.0.0-20190422165155-953cdadca894 +) diff --git a/vendor/github.com/sirupsen/logrus/go.sum b/vendor/github.com/sirupsen/logrus/go.sum new file mode 100644 index 00000000..596c318b --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/go.sum @@ -0,0 +1,16 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe h1:CHRGQ8V7OlCYtwaKPJi3iA7J+YdNKdo8j7nG5IgDhjs= +github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 h1:I6FyU15t786LL7oL/hn43zqTuEGr4PN7F4XJ1p4E3Y8= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/vendor/github.com/sirupsen/logrus/hooks.go b/vendor/github.com/sirupsen/logrus/hooks.go new file mode 100644 index 00000000..3f151cdc --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/hooks.go @@ -0,0 +1,34 @@ +package logrus + +// A hook to be fired when logging on the logging levels returned from +// `Levels()` on your implementation of the interface. Note that this is not +// fired in a goroutine or a channel with workers, you should handle such +// functionality yourself if your call is non-blocking and you don't wish for +// the logging calls for levels returned from `Levels()` to block. +type Hook interface { + Levels() []Level + Fire(*Entry) error +} + +// Internal type for storing the hooks on a logger instance. +type LevelHooks map[Level][]Hook + +// Add a hook to an instance of logger. This is called with +// `log.Hooks.Add(new(MyHook))` where `MyHook` implements the `Hook` interface. +func (hooks LevelHooks) Add(hook Hook) { + for _, level := range hook.Levels() { + hooks[level] = append(hooks[level], hook) + } +} + +// Fire all the hooks for the passed level. Used by `entry.log` to fire +// appropriate hooks for a log entry. +func (hooks LevelHooks) Fire(level Level, entry *Entry) error { + for _, hook := range hooks[level] { + if err := hook.Fire(entry); err != nil { + return err + } + } + + return nil +} diff --git a/vendor/github.com/sirupsen/logrus/json_formatter.go b/vendor/github.com/sirupsen/logrus/json_formatter.go new file mode 100644 index 00000000..098a21a0 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/json_formatter.go @@ -0,0 +1,121 @@ +package logrus + +import ( + "bytes" + "encoding/json" + "fmt" + "runtime" +) + +type fieldKey string + +// FieldMap allows customization of the key names for default fields. +type FieldMap map[fieldKey]string + +func (f FieldMap) resolve(key fieldKey) string { + if k, ok := f[key]; ok { + return k + } + + return string(key) +} + +// JSONFormatter formats logs into parsable json +type JSONFormatter struct { + // TimestampFormat sets the format used for marshaling timestamps. + TimestampFormat string + + // DisableTimestamp allows disabling automatic timestamps in output + DisableTimestamp bool + + // DataKey allows users to put all the log entry parameters into a nested dictionary at a given key. + DataKey string + + // FieldMap allows users to customize the names of keys for default fields. + // As an example: + // formatter := &JSONFormatter{ + // FieldMap: FieldMap{ + // FieldKeyTime: "@timestamp", + // FieldKeyLevel: "@level", + // FieldKeyMsg: "@message", + // FieldKeyFunc: "@caller", + // }, + // } + FieldMap FieldMap + + // CallerPrettyfier can be set by the user to modify the content + // of the function and file keys in the json data when ReportCaller is + // activated. If any of the returned value is the empty string the + // corresponding key will be removed from json fields. + CallerPrettyfier func(*runtime.Frame) (function string, file string) + + // PrettyPrint will indent all json logs + PrettyPrint bool +} + +// Format renders a single log entry +func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { + data := make(Fields, len(entry.Data)+4) + for k, v := range entry.Data { + switch v := v.(type) { + case error: + // Otherwise errors are ignored by `encoding/json` + // https://github.com/sirupsen/logrus/issues/137 + data[k] = v.Error() + default: + data[k] = v + } + } + + if f.DataKey != "" { + newData := make(Fields, 4) + newData[f.DataKey] = data + data = newData + } + + prefixFieldClashes(data, f.FieldMap, entry.HasCaller()) + + timestampFormat := f.TimestampFormat + if timestampFormat == "" { + timestampFormat = defaultTimestampFormat + } + + if entry.err != "" { + data[f.FieldMap.resolve(FieldKeyLogrusError)] = entry.err + } + if !f.DisableTimestamp { + data[f.FieldMap.resolve(FieldKeyTime)] = entry.Time.Format(timestampFormat) + } + data[f.FieldMap.resolve(FieldKeyMsg)] = entry.Message + data[f.FieldMap.resolve(FieldKeyLevel)] = entry.Level.String() + if entry.HasCaller() { + funcVal := entry.Caller.Function + fileVal := fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line) + if f.CallerPrettyfier != nil { + funcVal, fileVal = f.CallerPrettyfier(entry.Caller) + } + if funcVal != "" { + data[f.FieldMap.resolve(FieldKeyFunc)] = funcVal + } + if fileVal != "" { + data[f.FieldMap.resolve(FieldKeyFile)] = fileVal + } + } + + var b *bytes.Buffer + if entry.Buffer != nil { + b = entry.Buffer + } else { + b = &bytes.Buffer{} + } + + encoder := json.NewEncoder(b) + if f.PrettyPrint { + encoder.SetIndent("", " ") + } + if err := encoder.Encode(data); err != nil { + return nil, fmt.Errorf("failed to marshal fields to JSON, %v", err) + } + + return b.Bytes(), nil +} diff --git a/vendor/github.com/sirupsen/logrus/logger.go b/vendor/github.com/sirupsen/logrus/logger.go new file mode 100644 index 00000000..c0c0b1e5 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/logger.go @@ -0,0 +1,351 @@ +package logrus + +import ( + "context" + "io" + "os" + "sync" + "sync/atomic" + "time" +) + +type Logger struct { + // The logs are `io.Copy`'d to this in a mutex. It's common to set this to a + // file, or leave it default which is `os.Stderr`. You can also set this to + // something more adventurous, such as logging to Kafka. + Out io.Writer + // Hooks for the logger instance. These allow firing events based on logging + // levels and log entries. For example, to send errors to an error tracking + // service, log to StatsD or dump the core on fatal errors. + Hooks LevelHooks + // All log entries pass through the formatter before logged to Out. The + // included formatters are `TextFormatter` and `JSONFormatter` for which + // TextFormatter is the default. In development (when a TTY is attached) it + // logs with colors, but to a file it wouldn't. You can easily implement your + // own that implements the `Formatter` interface, see the `README` or included + // formatters for examples. + Formatter Formatter + + // Flag for whether to log caller info (off by default) + ReportCaller bool + + // The logging level the logger should log at. This is typically (and defaults + // to) `logrus.Info`, which allows Info(), Warn(), Error() and Fatal() to be + // logged. + Level Level + // Used to sync writing to the log. Locking is enabled by Default + mu MutexWrap + // Reusable empty entry + entryPool sync.Pool + // Function to exit the application, defaults to `os.Exit()` + ExitFunc exitFunc +} + +type exitFunc func(int) + +type MutexWrap struct { + lock sync.Mutex + disabled bool +} + +func (mw *MutexWrap) Lock() { + if !mw.disabled { + mw.lock.Lock() + } +} + +func (mw *MutexWrap) Unlock() { + if !mw.disabled { + mw.lock.Unlock() + } +} + +func (mw *MutexWrap) Disable() { + mw.disabled = true +} + +// Creates a new logger. Configuration should be set by changing `Formatter`, +// `Out` and `Hooks` directly on the default logger instance. You can also just +// instantiate your own: +// +// var log = &Logger{ +// Out: os.Stderr, +// Formatter: new(JSONFormatter), +// Hooks: make(LevelHooks), +// Level: logrus.DebugLevel, +// } +// +// It's recommended to make this a global instance called `log`. +func New() *Logger { + return &Logger{ + Out: os.Stderr, + Formatter: new(TextFormatter), + Hooks: make(LevelHooks), + Level: InfoLevel, + ExitFunc: os.Exit, + ReportCaller: false, + } +} + +func (logger *Logger) newEntry() *Entry { + entry, ok := logger.entryPool.Get().(*Entry) + if ok { + return entry + } + return NewEntry(logger) +} + +func (logger *Logger) releaseEntry(entry *Entry) { + entry.Data = map[string]interface{}{} + logger.entryPool.Put(entry) +} + +// Adds a field to the log entry, note that it doesn't log until you call +// Debug, Print, Info, Warn, Error, Fatal or Panic. It only creates a log entry. +// If you want multiple fields, use `WithFields`. +func (logger *Logger) WithField(key string, value interface{}) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithField(key, value) +} + +// Adds a struct of fields to the log entry. All it does is call `WithField` for +// each `Field`. +func (logger *Logger) WithFields(fields Fields) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithFields(fields) +} + +// Add an error as single field to the log entry. All it does is call +// `WithError` for the given `error`. +func (logger *Logger) WithError(err error) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithError(err) +} + +// Add a context to the log entry. +func (logger *Logger) WithContext(ctx context.Context) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithContext(ctx) +} + +// Overrides the time of the log entry. +func (logger *Logger) WithTime(t time.Time) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithTime(t) +} + +func (logger *Logger) Logf(level Level, format string, args ...interface{}) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Logf(level, format, args...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) Tracef(format string, args ...interface{}) { + logger.Logf(TraceLevel, format, args...) +} + +func (logger *Logger) Debugf(format string, args ...interface{}) { + logger.Logf(DebugLevel, format, args...) +} + +func (logger *Logger) Infof(format string, args ...interface{}) { + logger.Logf(InfoLevel, format, args...) +} + +func (logger *Logger) Printf(format string, args ...interface{}) { + entry := logger.newEntry() + entry.Printf(format, args...) + logger.releaseEntry(entry) +} + +func (logger *Logger) Warnf(format string, args ...interface{}) { + logger.Logf(WarnLevel, format, args...) +} + +func (logger *Logger) Warningf(format string, args ...interface{}) { + logger.Warnf(format, args...) +} + +func (logger *Logger) Errorf(format string, args ...interface{}) { + logger.Logf(ErrorLevel, format, args...) +} + +func (logger *Logger) Fatalf(format string, args ...interface{}) { + logger.Logf(FatalLevel, format, args...) + logger.Exit(1) +} + +func (logger *Logger) Panicf(format string, args ...interface{}) { + logger.Logf(PanicLevel, format, args...) +} + +func (logger *Logger) Log(level Level, args ...interface{}) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Log(level, args...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) Trace(args ...interface{}) { + logger.Log(TraceLevel, args...) +} + +func (logger *Logger) Debug(args ...interface{}) { + logger.Log(DebugLevel, args...) +} + +func (logger *Logger) Info(args ...interface{}) { + logger.Log(InfoLevel, args...) +} + +func (logger *Logger) Print(args ...interface{}) { + entry := logger.newEntry() + entry.Print(args...) + logger.releaseEntry(entry) +} + +func (logger *Logger) Warn(args ...interface{}) { + logger.Log(WarnLevel, args...) +} + +func (logger *Logger) Warning(args ...interface{}) { + logger.Warn(args...) +} + +func (logger *Logger) Error(args ...interface{}) { + logger.Log(ErrorLevel, args...) +} + +func (logger *Logger) Fatal(args ...interface{}) { + logger.Log(FatalLevel, args...) + logger.Exit(1) +} + +func (logger *Logger) Panic(args ...interface{}) { + logger.Log(PanicLevel, args...) +} + +func (logger *Logger) Logln(level Level, args ...interface{}) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Logln(level, args...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) Traceln(args ...interface{}) { + logger.Logln(TraceLevel, args...) +} + +func (logger *Logger) Debugln(args ...interface{}) { + logger.Logln(DebugLevel, args...) +} + +func (logger *Logger) Infoln(args ...interface{}) { + logger.Logln(InfoLevel, args...) +} + +func (logger *Logger) Println(args ...interface{}) { + entry := logger.newEntry() + entry.Println(args...) + logger.releaseEntry(entry) +} + +func (logger *Logger) Warnln(args ...interface{}) { + logger.Logln(WarnLevel, args...) +} + +func (logger *Logger) Warningln(args ...interface{}) { + logger.Warnln(args...) +} + +func (logger *Logger) Errorln(args ...interface{}) { + logger.Logln(ErrorLevel, args...) +} + +func (logger *Logger) Fatalln(args ...interface{}) { + logger.Logln(FatalLevel, args...) + logger.Exit(1) +} + +func (logger *Logger) Panicln(args ...interface{}) { + logger.Logln(PanicLevel, args...) +} + +func (logger *Logger) Exit(code int) { + runHandlers() + if logger.ExitFunc == nil { + logger.ExitFunc = os.Exit + } + logger.ExitFunc(code) +} + +//When file is opened with appending mode, it's safe to +//write concurrently to a file (within 4k message on Linux). +//In these cases user can choose to disable the lock. +func (logger *Logger) SetNoLock() { + logger.mu.Disable() +} + +func (logger *Logger) level() Level { + return Level(atomic.LoadUint32((*uint32)(&logger.Level))) +} + +// SetLevel sets the logger level. +func (logger *Logger) SetLevel(level Level) { + atomic.StoreUint32((*uint32)(&logger.Level), uint32(level)) +} + +// GetLevel returns the logger level. +func (logger *Logger) GetLevel() Level { + return logger.level() +} + +// AddHook adds a hook to the logger hooks. +func (logger *Logger) AddHook(hook Hook) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.Hooks.Add(hook) +} + +// IsLevelEnabled checks if the log level of the logger is greater than the level param +func (logger *Logger) IsLevelEnabled(level Level) bool { + return logger.level() >= level +} + +// SetFormatter sets the logger formatter. +func (logger *Logger) SetFormatter(formatter Formatter) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.Formatter = formatter +} + +// SetOutput sets the logger output. +func (logger *Logger) SetOutput(output io.Writer) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.Out = output +} + +func (logger *Logger) SetReportCaller(reportCaller bool) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.ReportCaller = reportCaller +} + +// ReplaceHooks replaces the logger hooks and returns the old ones +func (logger *Logger) ReplaceHooks(hooks LevelHooks) LevelHooks { + logger.mu.Lock() + oldHooks := logger.Hooks + logger.Hooks = hooks + logger.mu.Unlock() + return oldHooks +} diff --git a/vendor/github.com/sirupsen/logrus/logrus.go b/vendor/github.com/sirupsen/logrus/logrus.go new file mode 100644 index 00000000..8644761f --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/logrus.go @@ -0,0 +1,186 @@ +package logrus + +import ( + "fmt" + "log" + "strings" +) + +// Fields type, used to pass to `WithFields`. +type Fields map[string]interface{} + +// Level type +type Level uint32 + +// Convert the Level to a string. E.g. PanicLevel becomes "panic". +func (level Level) String() string { + if b, err := level.MarshalText(); err == nil { + return string(b) + } else { + return "unknown" + } +} + +// ParseLevel takes a string level and returns the Logrus log level constant. +func ParseLevel(lvl string) (Level, error) { + switch strings.ToLower(lvl) { + case "panic": + return PanicLevel, nil + case "fatal": + return FatalLevel, nil + case "error": + return ErrorLevel, nil + case "warn", "warning": + return WarnLevel, nil + case "info": + return InfoLevel, nil + case "debug": + return DebugLevel, nil + case "trace": + return TraceLevel, nil + } + + var l Level + return l, fmt.Errorf("not a valid logrus Level: %q", lvl) +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (level *Level) UnmarshalText(text []byte) error { + l, err := ParseLevel(string(text)) + if err != nil { + return err + } + + *level = Level(l) + + return nil +} + +func (level Level) MarshalText() ([]byte, error) { + switch level { + case TraceLevel: + return []byte("trace"), nil + case DebugLevel: + return []byte("debug"), nil + case InfoLevel: + return []byte("info"), nil + case WarnLevel: + return []byte("warning"), nil + case ErrorLevel: + return []byte("error"), nil + case FatalLevel: + return []byte("fatal"), nil + case PanicLevel: + return []byte("panic"), nil + } + + return nil, fmt.Errorf("not a valid logrus level %d", level) +} + +// A constant exposing all logging levels +var AllLevels = []Level{ + PanicLevel, + FatalLevel, + ErrorLevel, + WarnLevel, + InfoLevel, + DebugLevel, + TraceLevel, +} + +// These are the different logging levels. You can set the logging level to log +// on your instance of logger, obtained with `logrus.New()`. +const ( + // PanicLevel level, highest level of severity. Logs and then calls panic with the + // message passed to Debug, Info, ... + PanicLevel Level = iota + // FatalLevel level. Logs and then calls `logger.Exit(1)`. It will exit even if the + // logging level is set to Panic. + FatalLevel + // ErrorLevel level. Logs. Used for errors that should definitely be noted. + // Commonly used for hooks to send errors to an error tracking service. + ErrorLevel + // WarnLevel level. Non-critical entries that deserve eyes. + WarnLevel + // InfoLevel level. General operational entries about what's going on inside the + // application. + InfoLevel + // DebugLevel level. Usually only enabled when debugging. Very verbose logging. + DebugLevel + // TraceLevel level. Designates finer-grained informational events than the Debug. + TraceLevel +) + +// Won't compile if StdLogger can't be realized by a log.Logger +var ( + _ StdLogger = &log.Logger{} + _ StdLogger = &Entry{} + _ StdLogger = &Logger{} +) + +// StdLogger is what your logrus-enabled library should take, that way +// it'll accept a stdlib logger and a logrus logger. There's no standard +// interface, this is the closest we get, unfortunately. +type StdLogger interface { + Print(...interface{}) + Printf(string, ...interface{}) + Println(...interface{}) + + Fatal(...interface{}) + Fatalf(string, ...interface{}) + Fatalln(...interface{}) + + Panic(...interface{}) + Panicf(string, ...interface{}) + Panicln(...interface{}) +} + +// The FieldLogger interface generalizes the Entry and Logger types +type FieldLogger interface { + WithField(key string, value interface{}) *Entry + WithFields(fields Fields) *Entry + WithError(err error) *Entry + + Debugf(format string, args ...interface{}) + Infof(format string, args ...interface{}) + Printf(format string, args ...interface{}) + Warnf(format string, args ...interface{}) + Warningf(format string, args ...interface{}) + Errorf(format string, args ...interface{}) + Fatalf(format string, args ...interface{}) + Panicf(format string, args ...interface{}) + + Debug(args ...interface{}) + Info(args ...interface{}) + Print(args ...interface{}) + Warn(args ...interface{}) + Warning(args ...interface{}) + Error(args ...interface{}) + Fatal(args ...interface{}) + Panic(args ...interface{}) + + Debugln(args ...interface{}) + Infoln(args ...interface{}) + Println(args ...interface{}) + Warnln(args ...interface{}) + Warningln(args ...interface{}) + Errorln(args ...interface{}) + Fatalln(args ...interface{}) + Panicln(args ...interface{}) + + // IsDebugEnabled() bool + // IsInfoEnabled() bool + // IsWarnEnabled() bool + // IsErrorEnabled() bool + // IsFatalEnabled() bool + // IsPanicEnabled() bool +} + +// Ext1FieldLogger (the first extension to FieldLogger) is superfluous, it is +// here for consistancy. Do not use. Use Logger or Entry instead. +type Ext1FieldLogger interface { + FieldLogger + Tracef(format string, args ...interface{}) + Trace(args ...interface{}) + Traceln(args ...interface{}) +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go b/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go new file mode 100644 index 00000000..2403de98 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go @@ -0,0 +1,11 @@ +// +build appengine + +package logrus + +import ( + "io" +) + +func checkIfTerminal(w io.Writer) bool { + return true +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go b/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go new file mode 100644 index 00000000..3c4f43f9 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go @@ -0,0 +1,13 @@ +// +build darwin dragonfly freebsd netbsd openbsd + +package logrus + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TIOCGETA + +func isTerminal(fd int) bool { + _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + return err == nil +} + diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go b/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go new file mode 100644 index 00000000..97af92c6 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go @@ -0,0 +1,11 @@ +// +build js nacl plan9 + +package logrus + +import ( + "io" +) + +func checkIfTerminal(w io.Writer) bool { + return false +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go b/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go new file mode 100644 index 00000000..3293fb3c --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go @@ -0,0 +1,17 @@ +// +build !appengine,!js,!windows,!nacl,!plan9 + +package logrus + +import ( + "io" + "os" +) + +func checkIfTerminal(w io.Writer) bool { + switch v := w.(type) { + case *os.File: + return isTerminal(int(v.Fd())) + default: + return false + } +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go b/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go new file mode 100644 index 00000000..f6710b3b --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go @@ -0,0 +1,11 @@ +package logrus + +import ( + "golang.org/x/sys/unix" +) + +// IsTerminal returns true if the given file descriptor is a terminal. +func isTerminal(fd int) bool { + _, err := unix.IoctlGetTermio(fd, unix.TCGETA) + return err == nil +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_unix.go b/vendor/github.com/sirupsen/logrus/terminal_check_unix.go new file mode 100644 index 00000000..355dc966 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_unix.go @@ -0,0 +1,13 @@ +// +build linux aix + +package logrus + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TCGETS + +func isTerminal(fd int) bool { + _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + return err == nil +} + diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_windows.go b/vendor/github.com/sirupsen/logrus/terminal_check_windows.go new file mode 100644 index 00000000..572889db --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_windows.go @@ -0,0 +1,34 @@ +// +build !appengine,!js,windows + +package logrus + +import ( + "io" + "os" + "syscall" + + sequences "github.com/konsorten/go-windows-terminal-sequences" +) + +func initTerminal(w io.Writer) { + switch v := w.(type) { + case *os.File: + sequences.EnableVirtualTerminalProcessing(syscall.Handle(v.Fd()), true) + } +} + +func checkIfTerminal(w io.Writer) bool { + var ret bool + switch v := w.(type) { + case *os.File: + var mode uint32 + err := syscall.GetConsoleMode(syscall.Handle(v.Fd()), &mode) + ret = (err == nil) + default: + ret = false + } + if ret { + initTerminal(w) + } + return ret +} diff --git a/vendor/github.com/sirupsen/logrus/text_formatter.go b/vendor/github.com/sirupsen/logrus/text_formatter.go new file mode 100644 index 00000000..e01587c4 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/text_formatter.go @@ -0,0 +1,295 @@ +package logrus + +import ( + "bytes" + "fmt" + "os" + "runtime" + "sort" + "strings" + "sync" + "time" +) + +const ( + red = 31 + yellow = 33 + blue = 36 + gray = 37 +) + +var baseTimestamp time.Time + +func init() { + baseTimestamp = time.Now() +} + +// TextFormatter formats logs into text +type TextFormatter struct { + // Set to true to bypass checking for a TTY before outputting colors. + ForceColors bool + + // Force disabling colors. + DisableColors bool + + // Override coloring based on CLICOLOR and CLICOLOR_FORCE. - https://bixense.com/clicolors/ + EnvironmentOverrideColors bool + + // Disable timestamp logging. useful when output is redirected to logging + // system that already adds timestamps. + DisableTimestamp bool + + // Enable logging the full timestamp when a TTY is attached instead of just + // the time passed since beginning of execution. + FullTimestamp bool + + // TimestampFormat to use for display when a full timestamp is printed + TimestampFormat string + + // The fields are sorted by default for a consistent output. For applications + // that log extremely frequently and don't use the JSON formatter this may not + // be desired. + DisableSorting bool + + // The keys sorting function, when uninitialized it uses sort.Strings. + SortingFunc func([]string) + + // Disables the truncation of the level text to 4 characters. + DisableLevelTruncation bool + + // QuoteEmptyFields will wrap empty fields in quotes if true + QuoteEmptyFields bool + + // Whether the logger's out is to a terminal + isTerminal bool + + // FieldMap allows users to customize the names of keys for default fields. + // As an example: + // formatter := &TextFormatter{ + // FieldMap: FieldMap{ + // FieldKeyTime: "@timestamp", + // FieldKeyLevel: "@level", + // FieldKeyMsg: "@message"}} + FieldMap FieldMap + + // CallerPrettyfier can be set by the user to modify the content + // of the function and file keys in the data when ReportCaller is + // activated. If any of the returned value is the empty string the + // corresponding key will be removed from fields. + CallerPrettyfier func(*runtime.Frame) (function string, file string) + + terminalInitOnce sync.Once +} + +func (f *TextFormatter) init(entry *Entry) { + if entry.Logger != nil { + f.isTerminal = checkIfTerminal(entry.Logger.Out) + } +} + +func (f *TextFormatter) isColored() bool { + isColored := f.ForceColors || (f.isTerminal && (runtime.GOOS != "windows")) + + if f.EnvironmentOverrideColors { + if force, ok := os.LookupEnv("CLICOLOR_FORCE"); ok && force != "0" { + isColored = true + } else if ok && force == "0" { + isColored = false + } else if os.Getenv("CLICOLOR") == "0" { + isColored = false + } + } + + return isColored && !f.DisableColors +} + +// Format renders a single log entry +func (f *TextFormatter) Format(entry *Entry) ([]byte, error) { + data := make(Fields) + for k, v := range entry.Data { + data[k] = v + } + prefixFieldClashes(data, f.FieldMap, entry.HasCaller()) + keys := make([]string, 0, len(data)) + for k := range data { + keys = append(keys, k) + } + + var funcVal, fileVal string + + fixedKeys := make([]string, 0, 4+len(data)) + if !f.DisableTimestamp { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyTime)) + } + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyLevel)) + if entry.Message != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyMsg)) + } + if entry.err != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyLogrusError)) + } + if entry.HasCaller() { + if f.CallerPrettyfier != nil { + funcVal, fileVal = f.CallerPrettyfier(entry.Caller) + } else { + funcVal = entry.Caller.Function + fileVal = fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line) + } + + if funcVal != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyFunc)) + } + if fileVal != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyFile)) + } + } + + if !f.DisableSorting { + if f.SortingFunc == nil { + sort.Strings(keys) + fixedKeys = append(fixedKeys, keys...) + } else { + if !f.isColored() { + fixedKeys = append(fixedKeys, keys...) + f.SortingFunc(fixedKeys) + } else { + f.SortingFunc(keys) + } + } + } else { + fixedKeys = append(fixedKeys, keys...) + } + + var b *bytes.Buffer + if entry.Buffer != nil { + b = entry.Buffer + } else { + b = &bytes.Buffer{} + } + + f.terminalInitOnce.Do(func() { f.init(entry) }) + + timestampFormat := f.TimestampFormat + if timestampFormat == "" { + timestampFormat = defaultTimestampFormat + } + if f.isColored() { + f.printColored(b, entry, keys, data, timestampFormat) + } else { + + for _, key := range fixedKeys { + var value interface{} + switch { + case key == f.FieldMap.resolve(FieldKeyTime): + value = entry.Time.Format(timestampFormat) + case key == f.FieldMap.resolve(FieldKeyLevel): + value = entry.Level.String() + case key == f.FieldMap.resolve(FieldKeyMsg): + value = entry.Message + case key == f.FieldMap.resolve(FieldKeyLogrusError): + value = entry.err + case key == f.FieldMap.resolve(FieldKeyFunc) && entry.HasCaller(): + value = funcVal + case key == f.FieldMap.resolve(FieldKeyFile) && entry.HasCaller(): + value = fileVal + default: + value = data[key] + } + f.appendKeyValue(b, key, value) + } + } + + b.WriteByte('\n') + return b.Bytes(), nil +} + +func (f *TextFormatter) printColored(b *bytes.Buffer, entry *Entry, keys []string, data Fields, timestampFormat string) { + var levelColor int + switch entry.Level { + case DebugLevel, TraceLevel: + levelColor = gray + case WarnLevel: + levelColor = yellow + case ErrorLevel, FatalLevel, PanicLevel: + levelColor = red + default: + levelColor = blue + } + + levelText := strings.ToUpper(entry.Level.String()) + if !f.DisableLevelTruncation { + levelText = levelText[0:4] + } + + // Remove a single newline if it already exists in the message to keep + // the behavior of logrus text_formatter the same as the stdlib log package + entry.Message = strings.TrimSuffix(entry.Message, "\n") + + caller := "" + if entry.HasCaller() { + funcVal := fmt.Sprintf("%s()", entry.Caller.Function) + fileVal := fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line) + + if f.CallerPrettyfier != nil { + funcVal, fileVal = f.CallerPrettyfier(entry.Caller) + } + + if fileVal == "" { + caller = funcVal + } else if funcVal == "" { + caller = fileVal + } else { + caller = fileVal + " " + funcVal + } + } + + if f.DisableTimestamp { + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m%s %-44s ", levelColor, levelText, caller, entry.Message) + } else if !f.FullTimestamp { + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%04d]%s %-44s ", levelColor, levelText, int(entry.Time.Sub(baseTimestamp)/time.Second), caller, entry.Message) + } else { + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%s]%s %-44s ", levelColor, levelText, entry.Time.Format(timestampFormat), caller, entry.Message) + } + for _, k := range keys { + v := data[k] + fmt.Fprintf(b, " \x1b[%dm%s\x1b[0m=", levelColor, k) + f.appendValue(b, v) + } +} + +func (f *TextFormatter) needsQuoting(text string) bool { + if f.QuoteEmptyFields && len(text) == 0 { + return true + } + for _, ch := range text { + if !((ch >= 'a' && ch <= 'z') || + (ch >= 'A' && ch <= 'Z') || + (ch >= '0' && ch <= '9') || + ch == '-' || ch == '.' || ch == '_' || ch == '/' || ch == '@' || ch == '^' || ch == '+') { + return true + } + } + return false +} + +func (f *TextFormatter) appendKeyValue(b *bytes.Buffer, key string, value interface{}) { + if b.Len() > 0 { + b.WriteByte(' ') + } + b.WriteString(key) + b.WriteByte('=') + f.appendValue(b, value) +} + +func (f *TextFormatter) appendValue(b *bytes.Buffer, value interface{}) { + stringVal, ok := value.(string) + if !ok { + stringVal = fmt.Sprint(value) + } + + if !f.needsQuoting(stringVal) { + b.WriteString(stringVal) + } else { + b.WriteString(fmt.Sprintf("%q", stringVal)) + } +} diff --git a/vendor/github.com/sirupsen/logrus/writer.go b/vendor/github.com/sirupsen/logrus/writer.go new file mode 100644 index 00000000..9e1f7513 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/writer.go @@ -0,0 +1,64 @@ +package logrus + +import ( + "bufio" + "io" + "runtime" +) + +func (logger *Logger) Writer() *io.PipeWriter { + return logger.WriterLevel(InfoLevel) +} + +func (logger *Logger) WriterLevel(level Level) *io.PipeWriter { + return NewEntry(logger).WriterLevel(level) +} + +func (entry *Entry) Writer() *io.PipeWriter { + return entry.WriterLevel(InfoLevel) +} + +func (entry *Entry) WriterLevel(level Level) *io.PipeWriter { + reader, writer := io.Pipe() + + var printFunc func(args ...interface{}) + + switch level { + case TraceLevel: + printFunc = entry.Trace + case DebugLevel: + printFunc = entry.Debug + case InfoLevel: + printFunc = entry.Info + case WarnLevel: + printFunc = entry.Warn + case ErrorLevel: + printFunc = entry.Error + case FatalLevel: + printFunc = entry.Fatal + case PanicLevel: + printFunc = entry.Panic + default: + printFunc = entry.Print + } + + go entry.writerScanner(reader, printFunc) + runtime.SetFinalizer(writer, writerFinalizer) + + return writer +} + +func (entry *Entry) writerScanner(reader *io.PipeReader, printFunc func(args ...interface{})) { + scanner := bufio.NewScanner(reader) + for scanner.Scan() { + printFunc(scanner.Text()) + } + if err := scanner.Err(); err != nil { + entry.Errorf("Error while reading from Writer: %s", err) + } + reader.Close() +} + +func writerFinalizer(writer *io.PipeWriter) { + writer.Close() +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/README.md b/vendor/github.com/skycoin/skycoin/src/api/README.md new file mode 100644 index 00000000..2132d963 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/README.md @@ -0,0 +1,4528 @@ +# REST API Documentation + +API default service port is `6420`. However, if running the desktop or standalone releases from the website, the port is randomized by default. + +A REST API implemented in Go is available, +see [Skycoin REST API Client Godoc](https://godoc.org/github.com/skycoin/skycoin/src/api#Client). + +The API has two versions, `/api/v1` and `/api/v2`. + + + +- [API Version 1](#api-version-1) +- [API Version 2](#api-version-2) +- [API Sets](#api-sets) +- [Authentication](#authentication) +- [CSRF](#csrf) + - [Get current csrf token](#get-current-csrf-token) +- [General system checks](#general-system-checks) + - [Health check](#health-check) + - [Version info](#version-info) + - [Prometheus metrics](#prometheus-metrics) +- [Simple query APIs](#simple-query-apis) + - [Get balance of addresses](#get-balance-of-addresses) + - [Get unspent output set of address or hash](#get-unspent-output-set-of-address-or-hash) + - [Verify an address](#verify-an-address) +- [Wallet APIs](#wallet-apis) + - [Get wallet](#get-wallet) + - [Get unconfirmed transactions of a wallet](#get-unconfirmed-transactions-of-a-wallet) + - [Get wallets](#get-wallets) + - [Get wallet folder name](#get-wallet-folder-name) + - [Generate wallet seed](#generate-wallet-seed) + - [Verify wallet Seed](#verify-wallet-seed) + - [Create wallet](#create-wallet) + - [Generate new address in wallet](#generate-new-address-in-wallet) + - [Change wallet label](#change-wallet-label) + - [Get wallet balance](#get-wallet-balance) + - [Create transaction](#create-transaction) + - [Sign transaction](#sign-transaction) + - [Unload wallet](#unload-wallet) + - [Encrypt wallet](#encrypt-wallet) + - [Decrypt wallet](#decrypt-wallet) + - [Get wallet seed](#get-wallet-seed) + - [Recover encrypted wallet by seed](#recover-encrypted-wallet-by-seed) +- [Key-value storage APIs](#key-value-storage-apis) + - [Get all storage values](#get-all-storage-values) + - [Add value to storage](#add-value-to-storage) + - [Remove value from storage](#remove-value-from-storage) +- [Transaction APIs](#transaction-apis) + - [Get unconfirmed transactions](#get-unconfirmed-transactions) + - [Create transaction from unspent outputs or addresses](#create-transaction-from-unspent-outputs-or-addresses) + - [Get transaction info by id](#get-transaction-info-by-id) + - [Get raw transaction by id](#get-raw-transaction-by-id) + - [Inject raw transaction](#inject-raw-transaction) + - [Get transactions for addresses](#get-transactions-for-addresses) + - [Resend unconfirmed transactions](#resend-unconfirmed-transactions) + - [Verify encoded transaction](#verify-encoded-transaction) +- [Block APIs](#block-apis) + - [Get blockchain metadata](#get-blockchain-metadata) + - [Get blockchain progress](#get-blockchain-progress) + - [Get block by hash or seq](#get-block-by-hash-or-seq) + - [Get blocks in specific range](#get-blocks-in-specific-range) + - [Get last N blocks](#get-last-n-blocks) +- [Uxout APIs](#uxout-apis) + - [Get uxout](#get-uxout) + - [Get historical unspent outputs for an address](#get-historical-unspent-outputs-for-an-address) +- [Coin supply related information](#coin-supply-related-information) + - [Coin supply](#coin-supply) + - [Richlist show top N addresses by uxouts](#richlist-show-top-n-addresses-by-uxouts) + - [Count unique addresses](#count-unique-addresses) +- [Network status](#network-status) + - [Get information for a specific connection](#get-information-for-a-specific-connection) + - [Get a list of all connections](#get-a-list-of-all-connections) + - [Get a list of all default connections](#get-a-list-of-all-default-connections) + - [Get a list of all trusted connections](#get-a-list-of-all-trusted-connections) + - [Get a list of all connections discovered through peer exchange](#get-a-list-of-all-connections-discovered-through-peer-exchange) + - [Disconnect a peer](#disconnect-a-peer) +- [Migrating from the unversioned API](#migrating-from-the-unversioned-api) +- [Migrating from the JSONRPC API](#migrating-from-the-jsonrpc-api) +- [Migrating from /api/v1/spend](#migrating-from-apiv1spend) +- [Migration from /api/v1/explorer/address](#migration-from-apiv1exploreraddress) + + + +## API Version 1 + +`/api/v1` endpoints have no standard format. Most of them accept formdata in POST requests, +but a few accept `application/json` instead. Most of them return JSON but one or two +return a plaintext string. + +All endpoints will set an appropriate HTTP status code, using `200` for success and codes greater than or equal to `400` for error. + +`/api/v1` endpoints guarantee backwards compatibility. + +## API Version 2 + +*Note: API Version 2 is under development, and not stable. The guidelines here are subject to change.* + +`/api/v2` endpoints have a standard format. + +All `/api/v2` `POST` endpoints accept only `application/json` and return `application/json`. + +All `/api/v2` `GET` requires accept data in the query string. +In the future we may have choose to have `GET` requests also accept `POST` with a JSON body, +to support requests with a large query body, such as when requesting data for a large number +of addresses or transactions. + +`/api/v2` responses are always JSON. If there is an error, the JSON object will +look like this: + +```json +{ + "error": { + "code": 400, + "message": "bad arguments", + } +} +``` + +Response data will be included in a `"data"` field, which will always be a JSON object (not an array). + +Some endpoints may return both `"error"` and `"data"`. This will be noted in the documentation for that endpoint. + +All responses will set an appropriate HTTP status code indicating an error, and it will be equal to the value of `response["error"]["code"]`. + +Since `/api/v2` is still under development, there are no guarantees for backwards compatibility. +However, any changes to the API will be recorded in the [changelog](../../CHANGELOG.md). + +Under some circumstances an error response body may not be valid JSON. +Any client consuming the API should accomodate this and conditionally parse JSON for non-`200` responses. + +## API Sets + +API endpoints are grouped into "sets" which can be toggled with the command line parameters +`-enable-api-sets`, `-disable-api-sets` and `-enable-all-api-sets`. + +These API sets are: + +* `READ` - All query-related endpoints, they do not modify the state of the program +* `STATUS` - A subset of `READ`, these endpoints report the application, network or blockchain status +* `TXN` - Enables `/api/v1/injectTransaction` and `/api/v1/resendUnconfirmedTxns` without enabling wallet endpoints +* `WALLET` - These endpoints operate on local wallet files +* `PROMETHEUS` - This is the `/api/v2/metrics` method exposing in Prometheus text format the default metrics for Skycoin node application +* `NET_CTRL` - The `/api/v1/network/connection/disconnect` method, intended for network administration endpoints +* `INSECURE_WALLET_SEED` - This is the `/api/v1/wallet/seed` endpoint, used to decrypt and return the seed from an encrypted wallet. It is only intended for use by the desktop client. +* `STORAGE` - This is the `/api/v2/data` endpoint, used to interact with the key-value storage. + +## Authentication + +Authentication can be enabled with the `-web-interface-username` and `-web-interface-password` options. +The username and password should be provided in an `Authorization: Basic` header. + +Authentication can only be enabled when using HTTPS with `-web-interface-https`, unless `-web-interface-plaintext-auth` is enabled. + +## CSRF + +All `POST`, `PUT` and `DELETE` requests require a CSRF token, obtained with a `GET /api/v1/csrf` call. +The token must be placed in the `X-CSRF-Token` header. A token is only valid +for 30 seconds and it is expected that the client obtains a new CSRF token +for each request. Requesting a CSRF token invalidates any previous CSRF token. + +A request rejected for invalid or expired CSRF will respond with `403 Forbidden - invalid CSRF token` +as the response body. + +### Get current csrf token + +API sets: any + +``` +URI: /api/v1/csrf +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/csrf +``` + +Result: + +```json +{ + "csrf_token": "klSgXoMOFTvEnt8KptBvHjhlFnW0OIkzyFVn4i8frDvIus9iLsFukqA9sM9Rxf3pLZHRLr82vBQxTq50vbYA8g" +} +``` + +## General system checks + +### Health check + +API sets: `STATUS`, `READ` + +``` +URI: /api/v1/health +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/health +``` + +Response: + +```json +{ + "blockchain": { + "head": { + "seq": 58894, + "block_hash": "3961bea8c4ab45d658ae42effd4caf36b81709dc52a5708fdd4c8eb1b199a1f6", + "previous_block_hash": "8eca94e7597b87c8587286b66a6b409f6b4bf288a381a56d7fde3594e319c38a", + "timestamp": 1537581604, + "fee": 485194, + "version": 0, + "tx_body_hash": "c03c0dd28841d5aa87ce4e692ec8adde923799146ec5504e17ac0c95036362dd", + "ux_hash": "f7d30ecb49f132283862ad58f691e8747894c9fc241cb3a864fc15bd3e2c83d3" + }, + "unspents": 38171, + "unconfirmed": 1, + "time_since_last_block": "4m46s" + }, + "version": { + "version": "0.25.0", + "commit": "8798b5ee43c7ce43b9b75d57a1a6cd2c1295cd1e", + "branch": "develop" + }, + "coin": "skycoin", + "user_agent": "skycoin:0.25.0", + "open_connections": 8, + "outgoing_connections": 5, + "incoming_connections": 3, + "uptime": "6m30.629057248s", + "csrf_enabled": true, + "csp_enabled": true, + "wallet_api_enabled": true, + "gui_enabled": true, + "user_verify_transaction": { + "burn_factor": 10, + "max_transaction_size": 32768, + "max_decimals": 3 + }, + "unconfirmed_verify_transaction": { + "burn_factor": 10, + "max_transaction_size": 32768, + "max_decimals": 3 + }, + "started_at": 1542443907, + "fiber": { + "name": "skycoin", + "display_name": "Skycoin", + "ticker": "SKY", + "coin_hours_display_name": "Coin Hours", + "coin_hours_display_name_singular": "Coin Hour", + "coin_hours_ticker": "SCH", + "explorer_url": "https://explorer.skycoin.net", + "bip44_coin": 8000 + } +} +``` + +### Version info + +API sets: any + +``` +URI: /api/v1/version +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/version +``` + +Result: + +```json +{ + "version": "0.20.0", + "commit": "cc733e9922d85c359f5f183d3a3a6e42c73ccb16", + "branch": "develop" +} +``` + +### Prometheus metrics + +API sets: `PROMETHEUS` + +``` +URI: /api/v2/metrics +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v2/metrics +``` + +Result: + +``` +# HELP go_gc_duration_seconds A summary of the GC invocation durations. +# TYPE go_gc_duration_seconds summary +go_gc_duration_seconds{quantile="0"} 5.31e-05 +go_gc_duration_seconds{quantile="0.25"} 0.000158 +go_gc_duration_seconds{quantile="0.5"} 0.0001789 +go_gc_duration_seconds{quantile="0.75"} 0.0002216 +go_gc_duration_seconds{quantile="1"} 0.0005878 +go_gc_duration_seconds_sum 0.3881053 +go_gc_duration_seconds_count 1959 +# HELP go_goroutines Number of goroutines that currently exist. +# TYPE go_goroutines gauge +go_goroutines 30 +# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use. +# TYPE go_memstats_alloc_bytes gauge +go_memstats_alloc_bytes 2.862168e+06 +# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed. +# TYPE go_memstats_alloc_bytes_total counter +go_memstats_alloc_bytes_total 4.462792584e+09 +# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. +# TYPE go_memstats_buck_hash_sys_bytes gauge +go_memstats_buck_hash_sys_bytes 1.794588e+06 +# HELP go_memstats_frees_total Total number of frees. +# TYPE go_memstats_frees_total counter +go_memstats_frees_total 4.7917586e+07 +# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. +# TYPE go_memstats_gc_sys_bytes gauge +go_memstats_gc_sys_bytes 2.392064e+06 +# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use. +# TYPE go_memstats_heap_alloc_bytes gauge +go_memstats_heap_alloc_bytes 2.862168e+06 +# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. +# TYPE go_memstats_heap_idle_bytes gauge +go_memstats_heap_idle_bytes 6.0973056e+07 +# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. +# TYPE go_memstats_heap_inuse_bytes gauge +go_memstats_heap_inuse_bytes 5.087232e+06 +# HELP go_memstats_heap_objects Number of allocated objects. +# TYPE go_memstats_heap_objects gauge +go_memstats_heap_objects 16326 +# HELP go_memstats_heap_released_bytes_total Total number of heap bytes released to OS. +# TYPE go_memstats_heap_released_bytes_total counter +go_memstats_heap_released_bytes_total 0 +# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. +# TYPE go_memstats_heap_sys_bytes gauge +go_memstats_heap_sys_bytes 6.6060288e+07 +# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection. +# TYPE go_memstats_last_gc_time_seconds gauge +go_memstats_last_gc_time_seconds 1.5366276699863462e+09 +# HELP go_memstats_lookups_total Total number of pointer lookups. +# TYPE go_memstats_lookups_total counter +go_memstats_lookups_total 0 +# HELP go_memstats_mallocs_total Total number of mallocs. +# TYPE go_memstats_mallocs_total counter +go_memstats_mallocs_total 4.7933912e+07 +# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. +# TYPE go_memstats_mcache_inuse_bytes gauge +go_memstats_mcache_inuse_bytes 6912 +# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. +# TYPE go_memstats_mcache_sys_bytes gauge +go_memstats_mcache_sys_bytes 16384 +# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. +# TYPE go_memstats_mspan_inuse_bytes gauge +go_memstats_mspan_inuse_bytes 76000 +# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. +# TYPE go_memstats_mspan_sys_bytes gauge +go_memstats_mspan_sys_bytes 180224 +# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. +# TYPE go_memstats_next_gc_bytes gauge +go_memstats_next_gc_bytes 5.576912e+06 +# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. +# TYPE go_memstats_other_sys_bytes gauge +go_memstats_other_sys_bytes 792284 +# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator. +# TYPE go_memstats_stack_inuse_bytes gauge +go_memstats_stack_inuse_bytes 1.048576e+06 +# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. +# TYPE go_memstats_stack_sys_bytes gauge +go_memstats_stack_sys_bytes 1.048576e+06 +# HELP go_memstats_sys_bytes Number of bytes obtained by system. Sum of all system allocations. +# TYPE go_memstats_sys_bytes gauge +go_memstats_sys_bytes 7.2284408e+07 +# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds. +# TYPE process_cpu_seconds_total counter +process_cpu_seconds_total 36.04 +# HELP process_max_fds Maximum number of open file descriptors. +# TYPE process_max_fds gauge +process_max_fds 1.048576e+06 +# HELP process_open_fds Number of open file descriptors. +# TYPE process_open_fds gauge +process_open_fds 15 +# HELP process_resident_memory_bytes Resident memory size in bytes. +# TYPE process_resident_memory_bytes gauge +process_resident_memory_bytes 4.9025024e+07 +# HELP process_start_time_seconds Start time of the process since unix epoch in seconds. +# TYPE process_start_time_seconds gauge +process_start_time_seconds 1.53662761869e+09 +# HELP process_virtual_memory_bytes Virtual memory size in bytes. +# TYPE process_virtual_memory_bytes gauge +process_virtual_memory_bytes 8.22317056e+08 +``` + + +## Simple query APIs + +### Get balance of addresses + +API sets: `READ` + +``` +URI: /api/v1/balance +Method: GET, POST +Args: + addrs: comma-separated list of addresses. must contain at least one address +``` + +Returns the cumulative and individual balances of one or more addresses. +The `POST` method can be used if many addresses need to be queried. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/balance?addrs=7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD,nu7eSpT6hr5P21uzw7bnbxm83B6ywSjHdq,2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6 +``` + +Result: + +```json +{ + "confirmed": { + "coins": 21000000, + "hours": 142744 + }, + "predicted": { + "coins": 21000000, + "hours": 142744 + }, + "addresses": { + "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6": { + "confirmed": { + "coins": 0, + "hours": 0 + }, + "predicted": { + "coins": 0, + "hours": 0 + } + }, + "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD": { + "confirmed": { + "coins": 9000000, + "hours": 88075 + }, + "predicted": { + "coins": 9000000, + "hours": 88075 + } + }, + "nu7eSpT6hr5P21uzw7bnbxm83B6ywSjHdq": { + "confirmed": { + "coins": 12000000, + "hours": 54669 + }, + "predicted": { + "coins": 12000000, + "hours": 54669 + } + } + } +} +``` + +### Get unspent output set of address or hash + +API sets: `READ` + +``` +URI: /api/v1/outputs +Method: GET, POST +Args: + addrs: address list, joined with "," + hashes: hash list, joined with "," +``` + +Addrs and hashes cannot be combined. + +In the response, `"head_outputs"` are outputs in the current unspent output set, +`"outgoing_outputs"` are head outputs that are being spent by an unconfirmed transaction, +and `"incoming_outputs"` are outputs that will be created by an unconfirmed transaction. + +The current head block header is returned as `"head"`. + +The `POST` method can be used if many addresses or hashes need to be queried. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/outputs?addrs=6dkVxyKFbFKg9Vdg6HPg1UANLByYRqkrdY +``` + +or + +```sh +curl http://127.0.0.1:6420/api/v1/outputs?hashes=7669ff7350d2c70a88093431a7b30d3e69dda2319dcb048aa80fa0d19e12ebe0 +``` + +Result: + +```json +{ + "head": { + "seq": 58891, + "block_hash": "d9ca9442febd8788de0a3093158943beca228017bf8c9c9b8529a382fad8d991", + "previous_block_hash": "098ea5c6e12370c38529ef7c7c38779f83d05f707affb747022eee77332ba510", + "timestamp": 1537580414, + "fee": 2165, + "version": 0, + "tx_body_hash": "c488835c85ccb153a6d42b39aaae01c3e30d16de33de282f4b3f6fa1ccf6f7eb", + "ux_hash": "f7d30ecb49f132283862ad58f691e8747894c9fc241cb3a864fc15bd3e2c83d3" + }, + "head_outputs": [ + { + "hash": "7669ff7350d2c70a88093431a7b30d3e69dda2319dcb048aa80fa0d19e12ebe0", + "block_seq": 22, + "time": 1494275011, + "src_tx": "b51e1933f286c4f03d73e8966186bafb25f64053db8514327291e690ae8aafa5", + "address": "6dkVxyKFbFKg9Vdg6HPg1UANLByYRqkrdY", + "coins": "2.000000", + "hours": 633, + "calculated_hours": 10023 + }, + ], + "outgoing_outputs": [], + "incoming_outputs": [] +} +``` + +### Verify an address + +API sets: `READ` + +``` +URI: /api/v2/address/verify +Method: POST +Content-Type: application/json +Args: {"address": "
"} +``` + +Parses and validates a Skycoin address. Returns the address version in the response. + +Error responses: + +* `400 Bad Request`: The request body is not valid JSON or the address is missing from the request body +* `422 Unprocessable Entity`: The address is invalid + +Example for a valid address: + +```sh +curl -X POST http://127.0.0.1:6420/api/v2/address/verify \ + -H 'Content-Type: application/json' \ + -d '{"address":"2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2"}' +``` + +Result: + +```json +{ + "data": { + "version": 0, + } +} +``` + +Example for an invalid address: + +```sh +curl -X POST http://127.0.0.1:6420/api/v2/address/verify \ + -H 'Content-Type: application/json' \ + -d '{"address":"2aTnQe3ZupkG6k8S81brNC3JycGV2Em71F2"}' +``` + +Result: + +```json +{ + "error": { + "message": "Invalid checksum", + "code": 422 + } +} +``` + +## Wallet APIs + +### Get wallet + +API sets: `WALLET` + +``` +URI: /api/v1/wallet +Method: GET +Args: + id: Wallet ID [required] +``` + +Example ("deterministic" wallet): + +```sh +curl http://127.0.0.1:6420/api/v1/wallet?id=2017_11_25_e5fb.wlt +``` + +Result: + +```json +{ + "meta": { + "coin": "skycoin", + "filename": "2017_11_25_e5fb.wlt", + "label": "test", + "type": "deterministic", + "version": "0.2", + "crypto_type": "", + "timestamp": 1511640884, + "encrypted": false + }, + "entries": [ + { + "address": "2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2", + "public_key": "0316ff74a8004adf9c71fa99808ee34c3505ee73c5cf82aa301d17817da3ca33b1" + }, + { + "address": "SMnCGfpt7zVXm8BkRSFMLeMRA6LUu3Ewne", + "public_key": "02539528248a1a2c4f0b73233491103ca83b40249dac3ae9eee9a10b9f9debd9a3" + } + ] +} +``` + +Example ("bip44" wallet): + +```sh +curl http://127.0.0.1:6420/api/v1/wallet?id=2017_11_25_e5fb.wlt +``` + +Result: + +```json +{ + "meta": { + "coin": "skycoin", + "filename": "2017_11_25_e5fb.wlt", + "label": "test", + "type": "bip44", + "version": "0.3", + "crypto_type": "", + "timestamp": 1511640884, + "encrypted": false, + "bip44_coin": 8000, + }, + "entries": [ + { + "address": "2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2", + "public_key": "0316ff74a8004adf9c71fa99808ee34c3505ee73c5cf82aa301d17817da3ca33b1", + "child_number": 0, + "change": 0 + }, + { + "address": "SMnCGfpt7zVXm8BkRSFMLeMRA6LUu3Ewne", + "public_key": "02539528248a1a2c4f0b73233491103ca83b40249dac3ae9eee9a10b9f9debd9a3", + "child_number": 1, + "change": 0 + }, + { + "address": "8C5icxR9zdkYTZZTVV3cCX7QoK4EkLuK4p", + "public_key": "0316ff74a8004adf9c71fa99808ee34c3505ee73c5cf82aa301d17817da3ca33b1", + "child_number": 0, + "change": 1 + } + ] +} +``` + + +### Get unconfirmed transactions of a wallet + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/transactions +Method: GET +Args: + id: Wallet ID + verbose: [bool] include verbose transaction input data +``` + +Returns all unconfirmed transactions for all addresses in a given wallet + +If verbose, the transaction inputs include the owner address, coins, hours and calculated hours. +The hours are the original hours the output was created with. +The calculated hours are based upon the current system time, and are approximately +equal to the hours the output would have if it become confirmed immediately. + + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/wallet/transactions?id=2017_11_25_e5fb.wlt +``` + +Result: + +```json +{ + "transactions": [ + { + "transaction": { + "length": 317, + "type": 0, + "txid": "76ecbabc53ea2a3be46983058433dda6a3cf7ea0b86ba14d90b932fa97385de7", + "inner_hash": "5d55837bb0cbda9c9323ff9aafd7c3d31d0d38638346172fbe2d9078ebaa892a", + "sigs": [ + "464b7724302178c1cfeacadaaf3556a3b7e5259adf51919476c3acc695747ed244b5ce2187ce7bedb6ad65c71f7f7ff3fa6805e64fe5da3aaa00ad563c7424f600", + "1155537b0391d4a6ee5eac07dee5798e953dca3a7c30643403dd2d326582c7d35080a16dc22644782ce1087bfc3bd06c2bf68e9a98e3989d90831646a9be2c9101" + ], + "inputs": [ + "782a8662efb0e933cab7d3ae9429ab53c4208cf44d8cdc07c2fbd7204b6b5cad", + "2f6b61a44086588c4eaa56a5dd9f1e0be2528861a6731608fcec38891b95db91" + ], + "outputs": [ + { + "uxid": "bd302ef776efa8548183b89f21e90649f21b90fe2d2e90ecc1b880f2d995f226", + "dst": "2UXZTg4ZHF6715b6tRhtaqceuQQ3G79GiZg", + "coins": "998.000000", + "hours": 247538 + }, + { + "uxid": "31058b6bfb30bfd441aec00929e75782bce47c8a75787ba519dbb268f89d2c4b", + "dst": "2awsJ2CR5H6QXCF2hwDjcvcAH9SgyfxCxgz", + "coins": "1.000000", + "hours": 247538 + } + ] + }, + "received": "2018-03-16T18:03:57.139109904+05:30", + "checked": "2018-03-16T18:03:57.139109904+05:30", + "announced": "0001-01-01T00:00:00Z", + "is_valid": true + } + ] +} +``` + +Example (verbose): + +```sh +curl http://127.0.0.1:6420/api/v1/wallet/transactions?id=2017_11_25_e5fb.wlt&verbose=1 +``` + +Result: + +```json +{ + "transactions": [ + { + "transaction": { + "length": 317, + "type": 0, + "txid": "76ecbabc53ea2a3be46983058433dda6a3cf7ea0b86ba14d90b932fa97385de7", + "inner_hash": "5d55837bb0cbda9c9323ff9aafd7c3d31d0d38638346172fbe2d9078ebaa892a", + "sigs": [ + "464b7724302178c1cfeacadaaf3556a3b7e5259adf51919476c3acc695747ed244b5ce2187ce7bedb6ad65c71f7f7ff3fa6805e64fe5da3aaa00ad563c7424f600", + "1155537b0391d4a6ee5eac07dee5798e953dca3a7c30643403dd2d326582c7d35080a16dc22644782ce1087bfc3bd06c2bf68e9a98e3989d90831646a9be2c9101" + ], + "fee": 495076, + "inputs": [ + { + "uxid": "782a8662efb0e933cab7d3ae9429ab53c4208cf44d8cdc07c2fbd7204b6b5cad", + "owner": "8C5icxR9zdkYTZZTVV3cCX7QoK4EkLuK4p", + "coins": "997.000000", + "hours": 880000, + "calculated_hours": 990000 + }, + { + "uxid": "2f6b61a44086588c4eaa56a5dd9f1e0be2528861a6731608fcec38891b95db91", + "owner": "23A1EWMZopUFLCwtXMe2CU9xTCbi5Gth643", + "coins": "2.000000", + "hours": 10, + "calculated_hours": 152 + } + ], + "outputs": [ + { + "uxid": "bd302ef776efa8548183b89f21e90649f21b90fe2d2e90ecc1b880f2d995f226", + "dst": "2UXZTg4ZHF6715b6tRhtaqceuQQ3G79GiZg", + "coins": "998.000000", + "hours": 247538 + }, + { + "uxid": "31058b6bfb30bfd441aec00929e75782bce47c8a75787ba519dbb268f89d2c4b", + "dst": "2awsJ2CR5H6QXCF2hwDjcvcAH9SgyfxCxgz", + "coins": "1.000000", + "hours": 247538 + } + ] + }, + "received": "2018-03-16T18:03:57.139109904+05:30", + "checked": "2018-03-16T18:03:57.139109904+05:30", + "announced": "0001-01-01T00:00:00Z", + "is_valid": true + } + ] +} +``` + +### Get wallets + +API sets: `WALLET` + +``` +URI: /api/v1/wallets +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/wallets +``` + +Result: + +```json +[ + { + "meta": { + "coin": "skycoin", + "filename": "2017_11_25_e5fb.wlt", + "label": "test", + "type": "deterministic", + "version": "0.2", + "crypto_type": "", + "timestamp": 1511640884, + "encrypted": false + }, + "entries": [ + { + "address": "8C5icxR9zdkYTZZTVV3cCX7QoK4EkLuK4p", + "public_key": "0316ff74a8004adf9c71fa99808ee34c3505ee73c5cf82aa301d17817da3ca33b1" + }, + { + "address": "23A1EWMZopUFLCwtXMe2CU9xTCbi5Gth643", + "public_key": "02539528248a1a2c4f0b73233491103ca83b40249dac3ae9eee9a10b9f9debd9a3" + } + ] + } +] +``` + +### Get wallet folder name + +API sets: `WALLET` + +``` +URI: /api/v1/wallets/folderName +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/wallets/folderName +``` + +Result: + +```json +{ + "address": "/Users/user/.skycoin/wallets" +} +``` + +### Generate wallet seed + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/newSeed +Method: GET +Args: + entropy: seed entropy [optional] + can either be 128 or 256; 128 = 12 word seed, 256 = 24 word seed + default: 128 +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/wallet/newSeed +``` + +Result: + +```json +{ + "seed": "helmet van actor peanut differ icon trial glare member cancel marble rack" +} +``` + +### Verify wallet Seed + +API sets: `WALLET` + +``` +URI: /api/v2/wallet/seed/verify +Method: POST +Args: + seed: seed to be verified +``` + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v2/wallet/seed/verify \ + -H 'Content-type: application/json' \ + -d '{ "seed": "nut wife logic sample addict shop before tobacco crisp bleak lawsuit affair" }' +``` + +Result: + +```json +{ + "data": {} +} +``` + +Example (wrong bip39 seed): + +```sh +curl -X POST http://127.0.0.1:6420/api/v2/wallet/seed/verify \ + -H 'Content-type: application/json' \ + -d '{ "seed": "wrong seed" }' +``` + +Result: + +```json +{ + "error": { + "message": "Mnemonic must have 12, 15, 18, 21 or 24 words", + "code": 422 + } +} +``` + +### Create wallet + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/create +Method: POST +Args: + seed: wallet seed [required] + seed-passphrase: wallet seed passphrase [optional, bip44 type wallet only] + type: wallet type [required, one of "deterministic", "bip44" or "xpub"] + bip44-coin: BIP44 coin type [optional, defaults to 8000 (skycoin's coin type), only valid if type is "bip44"] + xpub: xpub key [required for xpub wallets] + label: wallet label [required] + scan: the number of addresses to scan ahead for balances [optional, must be > 0] + encrypt: encrypt wallet [optional, bool value] + password: wallet password [optional, must be provided if encrypt is true] +``` + +Example (deterministic): + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/create \ + -H 'Content-Type: application/x-www-form-urlencoded' \ + -d 'seed=$seed' \ + -d 'type=deterministic' \ + -d 'label=$label' \ + -d 'scan=5' \ + -d 'password=$password' +``` + +Result: + +```json +{ + "meta": { + "coin": "skycoin", + "filename": "2017_05_09_d554.wlt", + "label": "test", + "type": "deterministic", + "version": "0.3", + "crypto_type": "", + "timestamp": 1511640884, + "encrypted": false + }, + "entries": [ + { + "address": "y2JeYS4RS8L9GYM7UKdjLRyZanKHXumFoH", + "public_key": "0316ff74a8004adf9c71fa99808ee34c3505ee73c5cf82aa301d17817da3ca33b1" + } + ] +} +``` + +Example (bip44): + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/create \ + -H 'Content-Type: application/x-www-form-urlencoded' \ + -d 'seed=$seed' \ + -d 'seed-passphrase=$seed' \ + -d 'type=bip44' \ + -d 'label=$label' \ + -d 'scan=5' \ + -d 'password=$password' +``` + +Result: + +```json +{ + "meta": { + "coin": "skycoin", + "filename": "2017_05_09_d554.wlt", + "label": "test", + "type": "bip44", + "version": "0.3", + "crypto_type": "scrypt-chacha20poly1305", + "timestamp": 1511640884, + "encrypted": true, + "bip44_coin": 8000, + }, + "entries": [ + { + "address": "y2JeYS4RS8L9GYM7UKdjLRyZanKHXumFoH", + "public_key": "0316ff74a8004adf9c71fa99808ee34c3505ee73c5cf82aa301d17817da3ca33b1", + "child_number": 0, + "change": 0 + } + ] +} +``` + +Example (xpub): + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/create \ + -H 'Content-Type: application/x-www-form-urlencoded' \ + -d 'type=xpub' \ + -d 'xpub=xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8' \ + -d 'label=$label' \ + -d 'scan=5' +``` + +Result: + +```json +{ + "meta": { + "coin": "skycoin", + "filename": "2017_05_09_d554.wlt", + "label": "test", + "type": "bip44", + "version": "0.4", + "crypto_type": "", + "timestamp": 1511640884, + "encrypted": false, + "xpub": "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8" + }, + "entries": [ + { + "address": "y2JeYS4RS8L9GYM7UKdjLRyZanKHXumFoH", + "public_key": "0316ff74a8004adf9c71fa99808ee34c3505ee73c5cf82aa301d17817da3ca33b1", + "child_number": 0 + } + ] +} +``` + +### Generate new address in wallet + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/newAddress +Method: POST +Args: + id: wallet file name + num: the number you want to generate + password: wallet password +``` + +For `bip44` type wallets, the new addresses will be generated on the `external` chain (`change=0`). + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/newAddress \ + -H 'Content-Type: x-www-form-urlencoded' \ + -d 'id=2017_05_09_d554.wlt' \ + -d 'num=2' \ + -d 'password=$password' +``` + +Result: + +```json +{ + "addresses": [ + "TDdQmMgbEVTwLe8EAiH2AoRc4SjoEFKrHB" + ] +} +``` + +### Change wallet label + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/update +Method: POST +Args: + id: wallet file name + label: wallet label +``` + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/update \ + -H 'Content-Type: application/x-www-form-urlencoded' \ + -d 'id=$id' \ + -d 'label=$label' +``` + +Result: + +```json +"success" +``` + +### Get wallet balance + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/balance +Method: GET +Args: + id: wallet file name +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/wallet/balance?id=2018_03_07_3088.wlt +``` + +Result: + +```json +{ + "confirmed": { + "coins": 210400000, + "hours": 1873147 + }, + "predicted": { + "coins": 210400000, + "hours": 1873147 + }, + "addresses": { + "AXrFisGovRhRHipsbGahs4u2hXX7pDRT5p": { + "confirmed": { + "coins": 1250000, + "hours": 941185 + }, + "predicted": { + "coins": 1250000, + "hours": 941185 + } + }, + "AtNorKBpCgkSRL7zES7aAQyNjqjqPp2QJU": { + "confirmed": { + "coins": 1150000, + "hours": 61534 + }, + "predicted": { + "coins": 1150000, + "hours": 61534 + } + }, + "VUv9ehMZWmDvwWV36BQ3eL1ujb4MQ5TGyK": { + "confirmed": { + "coins": 208000000, + "hours": 870428 + }, + "predicted": { + "coins": 208000000, + "hours": 870428 + } + }, + "j4mbF1fTe8jgXbrRARZSBjDpD1hMGSe1E4": { + "confirmed": { + "coins": 0, + "hours": 0 + }, + "predicted": { + "coins": 0, + "hours": 0 + } + }, + "uyqBPcRCWucHXs18e9VZyNEeuNsD5tFDhy": { + "confirmed": { + "coins": 0, + "hours": 0 + }, + "predicted": { + "coins": 0, + "hours": 0 + } + } + } +} +``` + +### Create transaction + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/transaction +Method: POST +Content-Type: application/json +Args: JSON body, see examples +``` + +Creates a transaction, returning the transaction preview and the encoded, serialized transaction. +The `encoded_transaction` can be provided to `POST /api/v1/injectTransaction` to broadcast it to the network +if the transaction is fully signed. + +The request body includes: + +* An optional change address +* A wallet to spend from with the optional ability to restrict which addresses or which unspent outputs in the wallet to use +* A list of destinations with address and coins specified, as well as optionally specifying hours +* A configuration for how destination hours are distributed, either manual or automatic +* Additional options + +`change_address` is optional. If not provided and the wallet is a `deterministic` type +wallet, then the change address will default to an address from one of the +unspent outputs being spent as a transaction input. If the wallet is a `bip44` type +wallet, then a new, unused change address will be created. + +Example request body with manual hours selection type, unencrypted wallet and all wallet addresses may spend: + +```json +{ + "hours_selection": { + "type": "manual" + }, + "wallet_id": "foo.wlt", + "change_address": "nu7eSpT6hr5P21uzw7bnbxm83B6ywSjHdq", + "to": [{ + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.032", + "hours": "7" + }, { + "address": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "99.2", + "hours": "0" + }], + "unsigned": false, + "ignore_unconfirmed": false +} +``` + +Example request body with auto hours selection type, encrypted wallet, specified spending addresses: + +```json +{ + "hours_selection": { + "type": "auto", + "mode": "share", + "share_factor": "0.5" + }, + "wallet_id": "foo.wlt", + "password": "foobar", + "addresses": ["2iVtHS5ye99Km5PonsB42No3pQRGEURmxyc"], + "change_address": "nu7eSpT6hr5P21uzw7bnbxm83B6ywSjHdq", + "to": [{ + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.032" + }, { + "address": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "99.2" + }], + "unsigned": false, + "ignore_unconfirmed": false +} +``` + +Example request body with manual hours selection type, unencrypted wallet and spending specific unspent outputs: + +```json +{ + "hours_selection": { + "type": "manual" + }, + "wallet_id": "foo.wlt", + "unspents": ["519c069a0593e179f226e87b528f60aea72826ec7f99d51279dd8854889ed7e2", "4e4e41996297511a40e2ef0046bd6b7118a8362c1f4f09a288c5c3ea2f4dfb85"], + "change_address": "nu7eSpT6hr5P21uzw7bnbxm83B6ywSjHdq", + "to": [{ + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.032", + "hours": "7" + }, { + "address": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "99.2", + "hours": "0" + }], + "unsigned": false, + "ignore_unconfirmed": false +} +``` + + +The `hours_selection` field has two types: `manual` or `auto`. + +If `manual`, all destination hours must be specified. + +If `auto`, the `mode` field must be set. The only valid value for `mode` is `"share"`. +For the `"share"` mode, `share_factor` must also be set. This must be a decimal value greater than or equal to 0 and less than or equal to 1. +In the auto share mode, the remaining hours after the fee are shared between the destination addresses as a whole, +and the change address. Amongst the destination addresses, the shared hours are distributed proportionally. + +When using the `auto` `"share"` `mode`, if there are remaining coin hours as change, +but no coins are available as change from the wallet (which are needed to retain the coin hours as change), +the `share_factor` will switch to `1.0` so that extra coin hours are distributed to the outputs +instead of being burned as an additional fee. +For the `manual` mode, if there are leftover coin hours but no coins to make change with, +the leftover coin hours will be burned in addition to the required fee. + +All objects in `to` must be unique; a single transaction cannot create multiple outputs with the same `address`, `coins` and `hours`. + +For example, this is a valid value for `to`, if `hours_selection.type` is `"manual"`: + +```json +[{ + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.2", + "hours": "1" +}, { + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.2", + "hours": "2" +}] +``` + +But this is an invalid value for `to`, if `hours_selection.type` is `"manual"`: + +```json +[{ + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.2", + "hours": "1" +}, { + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.2", + "hours": "1" +}] +``` + +And this is a valid value for `to`, if `hours_selection.type` is `"auto"`: + +```json +[{ + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.2" +}, { + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.201" +}] +``` + +But this is an invalid value for `to`, if `hours_selection.type` is `"auto"`: + +```json +[{ + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.2" +}, { + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.2" +}] +``` + +To control which addresses to spend from, specify `addresses`. +A subset of the unspent outputs associated with these addresses will be chosen for spending, +based upon an internal selection algorithm. + +To control which unspent outputs to spend from, specify `unspents`. +A subset of these unspent outputs will be chosen for spending, +based upon an internal selection algorithm. + +`addresses` and `unspents` cannot be combined. + +If neither `addresses` nor `unspents` are specified, +then all outputs associated with all addresses in the wallet may be chosen from to spend with. + +`change_address` is optional. +If set, it is not required to be an address in the wallet. +If not set, it will default to one of the addresses associated with the unspent outputs being spent in the transaction. + +`ignore_unconfirmed` is optional and defaults to `false`. +When `false`, the API will return an error if any of the unspent outputs +associated with the wallet addresses or the wallet outputs appear as spent in +a transaction in the unconfirmed transaction pool. +When `true`, the API will ignore unspent outputs that appear as spent in +a transaction in the unconfirmed transaction pool when building the transaction, +but not return an error. + +`unsigned` is optional and defaults to `false`. +When `true`, the transaction will not be signed by the wallet. +An unsigned transaction will be returned. +The `"txid"` value of the `"transaction"` object will need to be updated +after signing the transaction. +The unsigned `encoded_transaction` can be sent to `POST /api/v2/wallet/transaction/sign` for signing. + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/transaction -H 'content-type: application/json' -d '{ + "hours_selection": { + "type": "auto", + "mode": "share", + "share_factor": "0.5" + }, + "wallet_id": "foo.wlt", + "change_address": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "to": [{ + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "1" + }, { + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "8.99" + }] +}' +``` + +Result: + +```json +{ + "transaction": { + "length": 257, + "type": 0, + "txid": "5f060918d2da468a784ff440fbba80674c829caca355a27ae067f465d0a5e43e", + "inner_hash": "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d", + "fee": "437691", + "sigs": [ + "6120acebfa61ba4d3970dec5665c3c952374f5d9bbf327674a0b240de62b202b319f61182e2a262b2ca5ef5a592084299504689db5448cd64c04b1f26eb01d9100" + ], + "inputs": [ + { + "uxid": "7068bfd0f0f914ea3682d0e5cb3231b75cb9f0776bf9013d79b998d96c93ce2b", + "address": "g4XmbmVyDnkswsQTSqYRsyoh1YqydDX1wp", + "coins": "10.000000", + "hours": "853667", + "calculated_hours": "862290", + "timestamp": 1524242826, + "block": 23575, + "txid": "ccfbb51e94cb58a619a82502bc986fb028f632df299ce189c2ff2932574a03e7" + } + ], + "outputs": [ + { + "uxid": "519c069a0593e179f226e87b528f60aea72826ec7f99d51279dd8854889ed7e2", + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "1.000000", + "hours": "22253" + }, + { + "uxid": "4e4e41996297511a40e2ef0046bd6b7118a8362c1f4f09a288c5c3ea2f4dfb85", + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "8.990000", + "hours": "200046" + }, + { + "uxid": "fdeb3f77408f39e50a8e3b6803ce2347aac2eba8118c494424f9fa4959bab507", + "address": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "0.010000", + "hours": "222300" + } + ] + }, + "encoded_transaction": "010100000097dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d010000006120acebfa61ba4d3970dec5665c3c952374f5d9bbf327674a0b240de62b202b319f61182e2a262b2ca5ef5a592084299504689db5448cd64c04b1f26eb01d9100010000007068bfd0f0f914ea3682d0e5cb3231b75cb9f0776bf9013d79b998d96c93ce2b0300000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b140420f0000000000ed5600000000000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b1302d8900000000006e0d0300000000000083874350e65e84aa6e06192408951d7aaac7809e10270000000000005c64030000000000" +} +``` + + +### Sign transaction + +API sets: `WALLET` + +``` +URI: /api/v2/wallet/transaction/sign +Method: POST +Content-Type: application/json +Args: JSON body, see examples +``` + +Signs an unsigned transaction, returning the transaction with updated signatures and the encoded, serialized transaction. +The transaction must spendable to be signed. If the inputs of the transaction are not in the unspent pool, signing fails. + +Specific transaction inputs may be signed by specifying `sign_indexes`, otherwise all transaction inputs will be signed. +`sign_indexes` is an array of positional indexes for the transaction's signature array. Indexes start at 0. + +Signing an input that is already signed in the transaction is an error. + +The `encoded_transaction` can be provided to `POST /api/v1/injectTransaction` to broadcast it to the network, if the transaction is fully signed. + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v2/wallet/transaction/sign -H 'content-type: application/json' -d '{ + "wallet_id": "foo.wlt", + "password": "password", + "encoded_transaction": "010100000097dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d010000006120acebfa61ba4d3970dec5665c3c952374f5d9bbf327674a0b240de62b202b319f61182e2a262b2ca5ef5a592084299504689db5448cd64c04b1f26eb01d9100010000007068bfd0f0f914ea3682d0e5cb3231b75cb9f0776bf9013d79b998d96c93ce2b0300000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b140420f0000000000ed5600000000000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b1302d8900000000006e0d0300000000000083874350e65e84aa6e06192408951d7aaac7809e10270000000000005c64030000000000" +}' +``` + +Example with `sign_indexes`: + +```sh +curl -X POST http://127.0.0.1:6420/api/v2/wallet/transaction/sign -H 'content-type: application/json' -d '{ + "wallet_id": "foo.wlt", + "password": "password", + "sign_indexes": [1, 2], + "encoded_transaction": "010100000097dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d010000006120acebfa61ba4d3970dec5665c3c952374f5d9bbf327674a0b240de62b202b319f61182e2a262b2ca5ef5a592084299504689db5448cd64c04b1f26eb01d9100010000007068bfd0f0f914ea3682d0e5cb3231b75cb9f0776bf9013d79b998d96c93ce2b0300000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b140420f0000000000ed5600000000000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b1302d8900000000006e0d0300000000000083874350e65e84aa6e06192408951d7aaac7809e10270000000000005c64030000000000" +}' +``` + +Result: + +```json +{ + "data": { + "transaction": { + "length": 257, + "type": 0, + "txid": "5f060918d2da468a784ff440fbba80674c829caca355a27ae067f465d0a5e43e", + "inner_hash": "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d", + "fee": "437691", + "sigs": [ + "6120acebfa61ba4d3970dec5665c3c952374f5d9bbf327674a0b240de62b202b319f61182e2a262b2ca5ef5a592084299504689db5448cd64c04b1f26eb01d9100" + ], + "inputs": [ + { + "uxid": "7068bfd0f0f914ea3682d0e5cb3231b75cb9f0776bf9013d79b998d96c93ce2b", + "address": "g4XmbmVyDnkswsQTSqYRsyoh1YqydDX1wp", + "coins": "10.000000", + "hours": "853667", + "calculated_hours": "862290", + "timestamp": 1524242826, + "block": 23575, + "txid": "ccfbb51e94cb58a619a82502bc986fb028f632df299ce189c2ff2932574a03e7" + } + ], + "outputs": [ + { + "uxid": "519c069a0593e179f226e87b528f60aea72826ec7f99d51279dd8854889ed7e2", + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "1.000000", + "hours": "22253" + }, + { + "uxid": "4e4e41996297511a40e2ef0046bd6b7118a8362c1f4f09a288c5c3ea2f4dfb85", + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "8.990000", + "hours": "200046" + }, + { + "uxid": "fdeb3f77408f39e50a8e3b6803ce2347aac2eba8118c494424f9fa4959bab507", + "address": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "0.010000", + "hours": "222300" + } + ] + }, + "encoded_transaction": "010100000097dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d010000006120acebfa61ba4d3970dec5665c3c952374f5d9bbf327674a0b240de62b202b319f61182e2a262b2ca5ef5a592084299504689db5448cd64c04b1f26eb01d9100010000007068bfd0f0f914ea3682d0e5cb3231b75cb9f0776bf9013d79b998d96c93ce2b0300000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b140420f0000000000ed5600000000000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b1302d8900000000006e0d0300000000000083874350e65e84aa6e06192408951d7aaac7809e10270000000000005c64030000000000" + } +} +``` + + +### Unload wallet + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/unload +Method: POST +Args: + id: wallet file name +``` + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/unload \ + -H 'Content-Type: x-www-form-urlencoded' \ + -d 'id=2017_05_09_d554.wlt' +``` + +### Encrypt wallet + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/encrypt +Method: POST +Args: + id: wallet id + password: wallet password +``` + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/encrypt \ + -H 'Content-Type: application/x-www-form-urlencoded' \ + -d 'id=test.wlt' \ + -d 'password=$password' +``` + +Result: + +```json +{ + "meta": { + "coin": "skycoin", + "filename": "test.wlt", + "label": "test", + "type": "deterministic", + "version": "0.2", + "crypto_type": "scrypt-chacha20poly1305", + "timestamp": 1521083044, + "encrypted": true + }, + "entries": [ + { + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "public_key": "0316ff74a8004adf9c71fa99808ee34c3505ee73c5cf82aa301d17817da3ca33b1" + } + ] +} +``` + +### Decrypt wallet + +API sets: `WALLET` + +``` +URI: /api/v1/wallet/decrypt +Method: POST +Args: + id: wallet id + password: wallet password +``` + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/decrypt \ + -H 'Content-Type: application/x-www-form-urlencoded' \ + -d 'id=test.wlt' \ + -d 'password=$password' +``` + +Result: + +```json +{ + "meta": { + "coin": "skycoin", + "filename": "test.wlt", + "label": "test", + "type": "deterministic", + "version": "0.2", + "crypto_type": "", + "timestamp": 1521083044, + "encrypted": false + }, + "entries": [ + { + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "public_key": "032a1218cbafc8a93233f363c19c667cf02d42fa5a8a07c0d6feca79e82d72753d" + } + ] +} +``` + +### Get wallet seed + +API sets: `INSECURE_WALLET_SEED` + +``` +URI: /api/v1/wallet/seed +Method: POST +Args: + id: wallet id + password: wallet password +``` + +This endpoint only works for encrypted wallets. +If the wallet is unencrypted, the seed will not be returned. + +If the wallet is of type `bip44` and has a seed passphrase, it will be included +in the response. Otherwise, the seed passphrase will be missing. + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/wallet/seed \ + -H 'Content-type: application/x-www-form-urlencoded' \ + -d 'id=test.wlt' \ + -d 'password=$password' +``` + +Result: + +```json +{ + "seed": "your wallet seed", + "seed_passphrase": "your optional wallet seed-passphrase" +} +``` + +### Recover encrypted wallet by seed + +API sets: `INSECURE_WALLET_SEED` + +``` +URI: /api/v2/wallet/recover +Method: POST +Args: + id: wallet id + seed: wallet seed + seed passphrase: wallet seed passphrase (bip44 wallets only) + password: [optional] password to encrypt the recovered wallet with +``` + +Recovers an encrypted wallet by providing the wallet seed and optional seed passphrase. + +Example: + +```sh +curl -X POST http://127.0.0.1/api/v2/wallet/recover + -H 'Content-Type: application/json' \ + -d '{"id":"2017_11_25_e5fb.wlt","seed":"your wallet seed","seed_passphrase":"your seed passphrase"}' +``` + +Result: + +```json +{ + "data": { + "meta": { + "coin": "skycoin", + "filename": "2017_11_25_e5fb.wlt", + "label": "test", + "type": "deterministic", + "version": "0.2", + "crypto_type": "", + "timestamp": 1511640884, + "encrypted": false + }, + "entries": [ + { + "address": "2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2", + "public_key": "0316ff74a8004adf9c71fa99808ee34c3505ee73c5cf82aa301d17817da3ca33b1" + }, + { + "address": "SMnCGfpt7zVXm8BkRSFMLeMRA6LUu3Ewne", + "public_key": "02539528248a1a2c4f0b73233491103ca83b40249dac3ae9eee9a10b9f9debd9a3" + } + ] + } +} +``` + +## Key-value storage APIs + +Endpoints interact with the key-value storage. Each request require the `type` argument to +be passed. + +Currently allowed types: + +* `txid`: used for transaction notes +* `client`: used for generic client data, instead of using e.g. LocalStorage in the browser + +### Get all storage values + +API sets: `STORAGE` + +``` +Method: GET +URI: /api/v2/data +Args: + type: storage type + key [string]: key of the specific value to get +``` + +If key is passed, only the specific value will be returned from the storage. +Otherwise the whole dataset will be returned. + +If the key does not exist, a 404 error is returned. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v2/data?type=txid +``` + +Result: + +```json +{ + "data": { + "key1": "value", + "key2": "{\"key\":\"value\"}", + } +} +``` + +Example (key): + +```sh +curl http://127.0.0.1:6420/api/v2/data?type=txid&key=key1 +``` + +Result: + +```json +{ + "data": "value" +} +``` + +### Add value to storage + +API sets: `STORAGE` + +``` +Method: POST +URI: /api/v2/data +Args: JSON Body, see examples +``` + +Sets one or more values by key. Existing values will be overwritten. + +Example request body: + +```json +{ + "type": "txid", + "key": "key1", + "val": "val1" +} +``` + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v2/data -H 'Content-Type: application/json' -d '{ + "type": "txid", + "key": "key1", + "val": "val1" +}' +``` + +Result: + +```json +{} +``` + +### Remove value from storage + +API sets: `STORAGE` + +``` +Method: DELETE +URI: /api/v2/data +Args: + type: storage type + key: key of the specific value to get +``` + +Deletes a value by key. Returns a 404 error if the key does not exist. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v2/data?type=txid&key=key1 +``` + +Result: + +```json +{} +``` + +## Transaction APIs + +### Get unconfirmed transactions + +API sets: `READ` + +``` +URI: /api/v1/pendingTxs +Method: GET +Args: + verbose [bool] include verbose transaction input data +``` + +If verbose, the transaction inputs include the owner address, coins, hours and calculated hours. +The hours are the original hours the output was created with. +The calculated hours are calculated based upon the current system time, and provide an approximate +coin hour value of the output if it were to be confirmed at that instant. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/pendingTxs +``` + +Result: + +```json +[ + { + "transaction": { + "length": 317, + "type": 0, + "txid": "89578005d8730fe1789288ee7dea036160a9bd43234fb673baa6abd91289a48b", + "inner_hash": "cac977eee019832245724aa643ceff451b9d8b24612b2f6a58177c79e8a4c26f", + "sigs": [ + "3f084a0c750731dd985d3137200f9b5fc3de06069e62edea0cdd3a91d88e56b95aff5104a3e797ab4d6d417861af0c343efb0fff2e5ba9e7cf88ab714e10f38101", + "e9a8aa8860d189daf0b1dbfd2a4cc309fc0c7250fa81113aa7258f9603d19727793c1b7533131605db64752aeb9c1f4465198bb1d8dd597213d6406a0a81ed3701" + ], + "inputs": [ + "bb89d4ed40d0e6e3a82c12e70b01a4bc240d2cd4f252cfac88235abe61bd3ad0", + "170d6fd7be1d722a1969cb3f7d45cdf4d978129c3433915dbaf098d4f075bbfc" + ], + "outputs": [ + { + "uxid": "ec9cf2f6052bab24ec57847c72cfb377c06958a9e04a077d07b6dd5bf23ec106", + "dst": "nu7eSpT6hr5P21uzw7bnbxm83B6ywSjHdq", + "coins": "60.000000", + "hours": 2458 + }, + { + "uxid": "be40210601829ba8653bac1d6ecc4049955d97fb490a48c310fd912280422bd9", + "dst": "2iVtHS5ye99Km5PonsB42No3pQRGEURmxyc", + "coins": "1.000000", + "hours": 2458 + } + ] + }, + "received": "2017-05-09T10:11:57.14303834+02:00", + "checked": "2017-05-09T10:19:58.801315452+02:00", + "announced": "0001-01-01T00:00:00Z", + "is_valid": true + } +] +``` + +Example (verbose): + +```sh +curl http://127.0.0.1:6420/api/v1/pendingTxs?verbose=1 +``` + +Result: + +```json +[ + { + "transaction": { + "length": 220, + "type": 0, + "txid": "d455564dcf1fb666c3846cf579ff33e21c203e2923938c6563fe7fcb8573ba44", + "inner_hash": "4e73155db8ed04a3bd2b953218efcc9122ebfbf4c55f08f50d1563e48eacf71d", + "fee": 12855964, + "sigs": [ + "17330c256a50e2117ddccf51f1980fc14380f0f9476432196ade3043668759847b97e1b209961458745684d9239541f79d9ca9255582864d30a540017ab84f2b01" + ], + "inputs": [ + { + "uxid": "27e7bc48ceca4d47e806a87100a8a98592b7618702e1cd479bf4c190462a6d09", + "owner": "23MjQipM9YsPKkYiuaBmf6m7fD54wrzHxpd", + "coins": "7815.000000", + "hours": 279089, + "calculated_hours": 13101146 + } + ], + "outputs": [ + { + "uxid": "4b4ebf62acbaece798d0dfc92fcea85768a2874dad8a9b8eb5454288deae468c", + "dst": "23MjQipM9YsPKkYiuaBmf6m7fD54wrzHxpd", + "coins": "586.000000", + "hours": 122591 + }, + { + "uxid": "781cfb134d5fdad48f3c937dfcfc66b169a305adc8abdfe92a0ec94c564913f2", + "dst": "2ehrG4VKLRuvBNWYz3U7tS75QWvzyWR89Dg", + "coins": "7229.000000", + "hours": 122591 + } + ] + }, + "received": "2018-06-20T14:14:52.415702671+08:00", + "checked": "2018-08-26T19:47:45.328131142+08:00", + "announced": "2018-08-26T19:51:47.356083569+08:00", + "is_valid": true + } +] +``` + +### Create transaction from unspent outputs or addresses + +API sets: `TXN` + +``` +URI: /api/v2/transaction +Method: POST +Args: JSON Body, see examples +``` + +Creates an unsigned transaction from a pool of unspent outputs or addresses. +`addresses` and `unspents` cannot be combined, and at least one must have elements in their array. + +The transaction will choose unspent outputs from the provided pool to construct a transaction +that satisfies the requested outputs in the `to` field. Not all unspent outputs will necessarily be used +in the transaction. + +If `ignore_unconfirmed` is true, the transaction will not use any outputs which are being spent by an unconfirmed transaction. +If `ignore_unconfirmed` is false, the endpoint returns an error if any unspent output is spent by an unconfirmed transaction. + +`change_address` is optional. If not provided then the change address will +default to an address from one of the +unspent outputs being spent as a transaction input. + +Refer to `POST /api/v1/wallet/transaction` for creating a transaction from a specific wallet. + +`POST /api/v2/wallet/transaction/sign` can be used to sign the transaction with a wallet, +but `POST /api/v1/wallet/transaction` can create and sign a transaction with a wallet in one operation instead. +Otherwise, sign the transaction separately from the API. + +The transaction must be fully valid and spendable (except for the lack of signatures) or else an error is returned. + +Example request body with manual hours selection type, spending from specific addresses, ignoring unconfirmed unspent outputs: + +```json +{ + "hours_selection": { + "type": "manual" + }, + "addresses": ["g4XmbmVyDnkswsQTSqYRsyoh1YqydDX1wp", "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS"], + "change_address": "nu7eSpT6hr5P21uzw7bnbxm83B6ywSjHdq", + "to": [{ + "address": "fznGedkc87a8SsW94dBowEv6J7zLGAjT17", + "coins": "1.032", + "hours": "7" + }, { + "address": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "99.2", + "hours": "0" + }], + "ignore_unconfirmed": false +} +``` + +Example request body with auto hours selection type, spending specific uxouts: + +```json +{ + "hours_selection": { + "type": "auto", + "mode": "share", + "share_factor": "0.5" + }, + "unspents": ["519c069a0593e179f226e87b528f60aea72826ec7f99d51279dd8854889ed7e2", "4e4e41996297511a40e2ef0046bd6b7118a8362c1f4f09a288c5c3ea2f4dfb85"], + "change_address": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "to": [{ + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "1" + }, { + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "8.99" + }] +} +``` + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v2/transaction -H 'Content-Type: application/json' -d '{ + "hours_selection": { + "type": "auto", + "mode": "share", + "share_factor": "0.5" + }, + "addresses": ["g4XmbmVyDnkswsQTSqYRsyoh1YqydDX1wp"], + "change_address": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "to": [{ + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "1" + }, { + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "8.99" + }] +}' +``` + +Result: + +```json +{ + "data": { + "transaction": { + "length": 257, + "type": 0, + "txid": "5f060918d2da468a784ff440fbba80674c829caca355a27ae067f465d0a5e43e", + "inner_hash": "97dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d", + "fee": "437691", + "sigs": [ + "6120acebfa61ba4d3970dec5665c3c952374f5d9bbf327674a0b240de62b202b319f61182e2a262b2ca5ef5a592084299504689db5448cd64c04b1f26eb01d9100" + ], + "inputs": [ + { + "uxid": "7068bfd0f0f914ea3682d0e5cb3231b75cb9f0776bf9013d79b998d96c93ce2b", + "address": "g4XmbmVyDnkswsQTSqYRsyoh1YqydDX1wp", + "coins": "10.000000", + "hours": "853667", + "calculated_hours": "862290", + "timestamp": 1524242826, + "block": 23575, + "txid": "ccfbb51e94cb58a619a82502bc986fb028f632df299ce189c2ff2932574a03e7" + } + ], + "outputs": [ + { + "uxid": "519c069a0593e179f226e87b528f60aea72826ec7f99d51279dd8854889ed7e2", + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "1.000000", + "hours": "22253" + }, + { + "uxid": "4e4e41996297511a40e2ef0046bd6b7118a8362c1f4f09a288c5c3ea2f4dfb85", + "address": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "8.990000", + "hours": "200046" + }, + { + "uxid": "fdeb3f77408f39e50a8e3b6803ce2347aac2eba8118c494424f9fa4959bab507", + "address": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "0.010000", + "hours": "222300" + } + ] + }, + "encoded_transaction": "010100000097dd062820314c46da0fc18c8c6c10bfab1d5da80c30adc79bbe72e90bfab11d010000006120acebfa61ba4d3970dec5665c3c952374f5d9bbf327674a0b240de62b202b319f61182e2a262b2ca5ef5a592084299504689db5448cd64c04b1f26eb01d9100010000007068bfd0f0f914ea3682d0e5cb3231b75cb9f0776bf9013d79b998d96c93ce2b0300000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b140420f0000000000ed5600000000000000ba2a4ac4a5ce4e03a82d2240ae3661419f7081b1302d8900000000006e0d0300000000000083874350e65e84aa6e06192408951d7aaac7809e10270000000000005c64030000000000" + } +} +``` + +### Get transaction info by id + +API sets: `READ` + +``` +URI: /api/v1/transaction +Method: GET +Args: + txid: transaction id + verbose: [bool] include verbose transaction input data + encoded: [bool] return the transaction as hex-encoded serialized bytes +``` + +If verbose, the transaction inputs include the owner address, coins, hours and calculated hours. +The hours are the original hours the output was created with. +If the transaction is confirmed, the calculated hours are the hours the transaction had in the block in which it was executed.. +If the transaction is unconfirmed, the calculated hours are based upon the current system time, and are approximately +equal to the hours the output would have if it become confirmed immediately. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/transaction?txid=a6446654829a4a844add9f181949d12f8291fdd2c0fcb22200361e90e814e2d3 +``` + +Result: + +```json +{ + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 1, + "block_seq": 1178 + }, + "txn": { + "length": 183, + "type": 0, + "txid": "a6446654829a4a844add9f181949d12f8291fdd2c0fcb22200361e90e814e2d3", + "inner_hash": "075f255d42ddd2fb228fe488b8b468526810db7a144aeed1fd091e3fd404626e", + "timestamp": 1494275231, + "sigs": [ + "9b6fae9a70a42464dda089c943fafbf7bae8b8402e6bf4e4077553206eebc2ed4f7630bb1bd92505131cca5bf8bd82a44477ef53058e1995411bdbf1f5dfad1f00" + ], + "inputs": [ + "5287f390628909dd8c25fad0feb37859c0c1ddcf90da0c040c837c89fefd9191" + ], + "outputs": [ + { + "uxid": "70fa9dfb887f9ef55beb4e960f60e4703c56f98201acecf2cad729f5d7e84690", + "dst": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "8.000000", + "hours": 931 + } + ] + } +} +``` + +Example (verbose): + +```sh +curl http://127.0.0.1:6420/api/v1/transaction?txid=a6446654829a4a844add9f181949d12f8291fdd2c0fcb22200361e90e814e2d3&verbose=1 +``` + +Result: + +```json +{ + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 53107, + "block_seq": 1178 + }, + "time": 1494275231, + "txn": { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 53107, + "block_seq": 1178 + }, + "timestamp": 1494275231, + "length": 183, + "type": 0, + "txid": "a6446654829a4a844add9f181949d12f8291fdd2c0fcb22200361e90e814e2d3", + "inner_hash": "075f255d42ddd2fb228fe488b8b468526810db7a144aeed1fd091e3fd404626e", + "fee": 6523, + "sigs": [ + "9b6fae9a70a42464dda089c943fafbf7bae8b8402e6bf4e4077553206eebc2ed4f7630bb1bd92505131cca5bf8bd82a44477ef53058e1995411bdbf1f5dfad1f00" + ], + "inputs": [ + { + "uxid": "5287f390628909dd8c25fad0feb37859c0c1ddcf90da0c040c837c89fefd9191", + "owner": "2K6NuLBBapWndAssUtkxKfCtyjDQDHrEhhT", + "coins": "8.000000", + "hours": 7454, + "calculated_hours": 7454 + } + ], + "outputs": [ + { + "uxid": "70fa9dfb887f9ef55beb4e960f60e4703c56f98201acecf2cad729f5d7e84690", + "dst": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "8.000000", + "hours": 931 + } + ] + } +} +``` + +Example (encoded): + +```sh +curl http://127.0.0.1:6420/api/v1/transaction?txid=a6446654829a4a844add9f181949d12f8291fdd2c0fcb22200361e90e814e2d3&encoded=1 +``` + +Result: + +```json +{ + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 53267, + "block_seq": 1178 + }, + "time": 1494275231, + "encoded_transaction": "b700000000075f255d42ddd2fb228fe488b8b468526810db7a144aeed1fd091e3fd404626e010000009b6fae9a70a42464dda089c943fafbf7bae8b8402e6bf4e4077553206eebc2ed4f7630bb1bd92505131cca5bf8bd82a44477ef53058e1995411bdbf1f5dfad1f00010000005287f390628909dd8c25fad0feb37859c0c1ddcf90da0c040c837c89fefd9191010000000010722f061aa262381dce35193d43eceb112373c300127a0000000000a303000000000000" +} +``` + +### Get raw transaction by id + +API sets: `READ` + +``` +URI: /api/v1/rawtx +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/rawtx?txid=a6446654829a4a844add9f181949d12f8291fdd2c0fcb22200361e90e814e2d3 +``` + +Result: + +```json +"b700000000075f255d42ddd2fb228fe488b8b468526810db7a144aeed1fd091e3fd404626e010000009b6fae9a70a42464dda089c943fafbf7bae8b8402e6bf4e4077553206eebc2ed4f7630bb1bd92505131cca5bf8bd82a44477ef53058e1995411bdbf1f5dfad1f00010000005287f390628909dd8c25fad0feb37859c0c1ddcf90da0c040c837c89fefd9191010000000010722f061aa262381dce35193d43eceb112373c300127a0000000000a303000000000000" +``` + +### Inject raw transaction + +API sets: `TXN`, `WALLET` + +``` +URI: /api/v1/injectTransaction +Method: POST +Content-Type: application/json +Body: {"rawtx": "hex-encoded serialized transaction string"} +Errors: + 400 - Bad input + 500 - Other + 503 - Network unavailable (transaction failed to broadcast) +``` + +Broadcasts a hex-encoded, serialized transaction to the network. +Transactions are serialized with the `encoder` package. +See [`coin.Transaction.Serialize`](https://godoc.org/github.com/skycoin/skycoin/src/coin#Transaction.Serialize). + +If there are no available connections, the API responds with a `503 Service Unavailable` error. + +Note that in some circumstances the transaction can fail to broadcast but this endpoint will still return successfully. +This can happen if the node's network has recently become unavailable but its connections have not timed out yet. + +The recommended way to handle transaction injections from your system is to inject the transaction then wait +for the transaction to be confirmed. Transactions typically confirm quickly, so if it is not confirmed after some +timeout such as 1 minute, the application can continue to retry the broadcast with `/api/v1/resendUnconfirmedTxns`. +Broadcast only fails without an error if the node's peers disconnect or timeout after the broadcast was initiated, +which is a network problem that may recover, so rebroadcasting with `/api/v1/resendUnconfirmedTxns` will resolve it, +or else the network is unavailable. + +`POST /api/v1/transaction` accepts an `ignore_unconfirmed` option to allow transactions to be created without waiting +for unconfirmed transactions to confirm. + +Any unconfirmed transactions found in the database at startup are resent. So, if the network broadcast failed but +the transaction was saved to the database, when you restart the client, it will resend. + +It is safe to retry the injection after a `503` failure. + +To disable the network broadcast, add `"no_broadcast": true` to the JSON request body. +The transaction will be added to the local transaction pool but not be broadcast at the same time. +Note that transactions from the pool are periodically announced, so this transaction will still +be announced eventually if the daemon continues running with connectivity for enough time. + +Example: + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/injectTransaction -H 'content-type: application/json' -d '{ + "rawtx":"dc0000000008b507528697b11340f5a3fcccbff031c487bad59d26c2bdaea0cd8a0199a1720100000017f36c9d8bce784df96a2d6848f1b7a8f5c890986846b7c53489eb310090b91143c98fd233830055b5959f60030b3ca08d95f22f6b96ba8c20e548d62b342b5e0001000000ec9cf2f6052bab24ec57847c72cfb377c06958a9e04a077d07b6dd5bf23ec106020000000072116096fe2207d857d18565e848b403807cd825c044840300000000330100000000000000575e472f8c5295e8fa644e9bc5e06ec10351c65f40420f000000000066020000000000000" +}' +``` + +Result: + +```json +"3615fc23cc12a5cb9190878a2151d1cf54129ff0cd90e5fc4f4e7debebad6868" +``` + +Example, without broadcasting the transaction: + +```sh +curl -X POST http://127.0.0.1:6420/api/v1/injectTransaction -H 'content-type: application/json' -d '{ + "rawtx":"dc0000000008b507528697b11340f5a3fcccbff031c487bad59d26c2bdaea0cd8a0199a1720100000017f36c9d8bce784df96a2d6848f1b7a8f5c890986846b7c53489eb310090b91143c98fd233830055b5959f60030b3ca08d95f22f6b96ba8c20e548d62b342b5e0001000000ec9cf2f6052bab24ec57847c72cfb377c06958a9e04a077d07b6dd5bf23ec106020000000072116096fe2207d857d18565e848b403807cd825c044840300000000330100000000000000575e472f8c5295e8fa644e9bc5e06ec10351c65f40420f000000000066020000000000000", + "no_broadcast": true +}' +``` + +Result: + +```json +"3615fc23cc12a5cb9190878a2151d1cf54129ff0cd90e5fc4f4e7debebad6868" +``` + + +### Get transactions for addresses + +API sets: `READ` + +``` +URI: /api/v1/transactions +Method: GET, POST +Args: + addrs: Comma separated addresses [optional, returns all transactions if no address is provided] + confirmed: Whether the transactions should be confirmed [optional, must be 0 or 1; if not provided, returns all] + verbose: [bool] include verbose transaction input data +``` + +If verbose, the transaction inputs include the owner address, coins, hours and calculated hours. +The hours are the original hours the output was created with. +If the transaction is confirmed, the calculated hours are the hours the transaction had in the block in which it was executed. +If the transaction is unconfirmed, the calculated hours are based upon the current system time, and are approximately +equal to the hours the output would have if it become confirmed immediately. + +The `"time"` field at the top level of each object in the response array indicates either the confirmed timestamp of a confirmed +transaction or the last received timestamp of an unconfirmed transaction. + +The `POST` method can be used if many addresses need to be queried. + +To get confirmed transactions for one or more addresses: + +```sh +curl http://127.0.0.1:6420/api/v1/transactions?addrs=7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD,6dkVxyKFbFKg9Vdg6HPg1UANLByYRqkrdY&confirmed=1 +``` + +To get unconfirmed transactions for one or more addresses: + +```sh +curl http://127.0.0.1:6420/api/v1/transactions?addrs=7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD,6dkVxyKFbFKg9Vdg6HPg1UANLByYRqkrdY&confirmed=0 +``` + +To get both confirmed and unconfirmed transactions for one or more addresses: + +```sh +curl http://127.0.0.1:6420/api/v1/transactions?addrs=7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD,6dkVxyKFbFKg9Vdg6HPg1UANLByYRqkrdY +``` + +Result: + +```json +[ + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 10492, + "block_seq": 1177 + }, + "time": 1494275011, + "txn": { + "length": 317, + "type": 0, + "txid": "b09cd3a8baef6a449848f50a1b97943006ca92747d4e485d0647a3ea74550eca", + "inner_hash": "2cb370051c92521a04ba5357e229d8ffa90d9d1741ea223b44dd60a1483ee0e5", + "timestamp": 1494275011, + "sigs": [ + "a55155ca15f73f0762f79c15917949a936658cff668647daf82a174eed95703a02622881f9cf6c7495536676f931b2d91d389a9e7b034232b3a1519c8da6fb8800", + "cc7d7cbd6f31adabd9bde2c0deaa9277c0f3cf807a4ec97e11872817091dc3705841a6adb74acb625ee20ab6d3525350b8663566003276073d94c3bfe22fe48e01" + ], + "inputs": [ + "4f4b0078a9cd19b3395e54b3f42af6adc997f77f04e0ca54016c67c4f2384e3c", + "36f4871646b6564b2f1ab72bd768a67579a1e0242bc68bcbcf1779bc75b3dddd" + ], + "outputs": [ + { + "uxid": "5287f390628909dd8c25fad0feb37859c0c1ddcf90da0c040c837c89fefd9191", + "dst": "2K6NuLBBapWndAssUtkxKfCtyjDQDHrEhhT", + "coins": "8.000000", + "hours": 7454 + }, + { + "uxid": "a1268e9bd2033b49b44afa765d20876467254f51e5515626780467267a65c563", + "dst": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "1.000000", + "hours": 7454 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 10491, + "block_seq": 1178 + }, + "time": 1494275231, + "txn": { + "length": 183, + "type": 0, + "txid": "a6446654829a4a844add9f181949d12f8291fdd2c0fcb22200361e90e814e2d3", + "inner_hash": "075f255d42ddd2fb228fe488b8b468526810db7a144aeed1fd091e3fd404626e", + "timestamp": 1494275231, + "sigs": [ + "9b6fae9a70a42464dda089c943fafbf7bae8b8402e6bf4e4077553206eebc2ed4f7630bb1bd92505131cca5bf8bd82a44477ef53058e1995411bdbf1f5dfad1f00" + ], + "inputs": [ + "5287f390628909dd8c25fad0feb37859c0c1ddcf90da0c040c837c89fefd9191" + ], + "outputs": [ + { + "uxid": "70fa9dfb887f9ef55beb4e960f60e4703c56f98201acecf2cad729f5d7e84690", + "dst": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "8.000000", + "hours": 931 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 8730, + "block_seq": 2939 + }, + "time": 1505205561, + "txn": { + "length": 474, + "type": 0, + "txid": "b45e571988bc07bd0b623c999655fa878fb9bdd24c8cd24fde179bf4b26ae7b7", + "inner_hash": "393804eca6afadc05db80cfb9e1024ef5761231c70705c406301bad33161f8bf", + "timestamp": 1505205561, + "sigs": [ + "fb9dd021cdff51ab56891cca0fd1600877f6e0691136dbe3f8324c3f4f7ee5bc624ded4954c1d70d8cb776ce3454d8f195bbb252e48b0f2cd388f5a733697d9301", + "0639e61ba87a61f10b0e0114008ddd4e7090d9397370de28da27b7852b231b8e66c36d10fe3424c9b23a41266fd2c50f169233009713b332d6a48ce9c128ccef01", + "055afe17222aab66c48c8e08e03a406bf2b8719f5221ec54c8e678078033bcd56b66bbc46a866f2be5e3f9ca454e3fbc2021630d0430b72e18c24d02df03c03100", + "8cf56fb96e11d49bea728cb35ba5953fbc640817fac01b82e62a959ef8d4c3105298f2a6ea127bb07552abd905a667b58f6c79717e9f05258079de08d91f10a500" + ], + "inputs": [ + "dea9266aa7b687f4391e92f04436407c51a834274a5a33bc8bcf3189732e82e3", + "e811bdce52ddac0d952d2546fdca8d1ac4e0ad32f170d3d73b724fb37c802652", + "e94ccdbc07cc62fb41140b4daa7969438c749837c0808acf20dde113bdf1876b", + "534afc496a7aee2ec55c71d85abfc27f35d16c56506f663b24d8ee4815583b6e" + ], + "outputs": [ + { + "uxid": "732e129fc1630aba3f06d833ce0a7a25f05dae5df3e7a135b5f82e99222e8c28", + "dst": "2hAjmdPP9R3um9JhKczeVdJUVugY6SPJBDm", + "coins": "6.000000", + "hours": 204 + } + ] + } + } +] +``` + +Example (verbose): + +```sh +curl http://127.0.0.1:6420/api/v1/transactions?addrs=7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD,2K6NuLBBapWndAssUtkxKfCtyjDQDHrEhhT&verbose=1 +``` + +Result: + +```json +[ + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 53207, + "block_seq": 1131 + }, + "time": 1494192581, + "txn": { + "timestamp": 1494192581, + "length": 220, + "type": 0, + "txid": "b785dc57a9b53dbf0390213480dd9dffc32356fb79b82fa622a2607894bfab98", + "inner_hash": "5279e944502d6bdaff25af7b7fb7c6e503c62ae70a01084031e1cb563afe2e2c", + "fee": 317021, + "sigs": [ + "f8cd208acc6674de79fa1192e5177325cda871c26707242dbd6fb9df245bf34b2fbc3dfe32e61eefa0543934556cb073bdeab6e555d7bfe6b7220f1ae575613d01" + ], + "inputs": [ + { + "uxid": "004d3ef83af64c542701b923ec5c727734de9d88837bcea37a2927a569dd3f0d", + "owner": "MbZvwdXHnMUZ1eUFxNDqxPEEHkkffKgq2F", + "coins": "904.000000", + "hours": 14, + "calculated_hours": 422693 + } + ], + "outputs": [ + { + "uxid": "4047c5cbbaf0ed927caa1391d5456d58e0857ef188f2eec8ee987a30b3f53aed", + "dst": "MbZvwdXHnMUZ1eUFxNDqxPEEHkkffKgq2F", + "coins": "903.000000", + "hours": 52836 + }, + { + "uxid": "4f4b0078a9cd19b3395e54b3f42af6adc997f77f04e0ca54016c67c4f2384e3c", + "dst": "2K6NuLBBapWndAssUtkxKfCtyjDQDHrEhhT", + "coins": "1.000000", + "hours": 52836 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 53206, + "block_seq": 1132 + }, + "time": 1494192731, + "txn": { + "timestamp": 1494192731, + "length": 220, + "type": 0, + "txid": "dc39c39bea82e5b56a1a77ce8485d9b06fda694e04ddf63af1273351c87dd077", + "inner_hash": "b8f36a57212a68f4b3ecf9d699f286dafcdb624551e07c35a983832ffd37326c", + "fee": 39628, + "sigs": [ + "1005adda19efe31b5cd85caa85b4a42599263f649103fd26761f2261f3ee00460d9693c45406d782b0e04613aa412a5ef6b275c2a665a9f13167912da91777a700" + ], + "inputs": [ + { + "uxid": "4047c5cbbaf0ed927caa1391d5456d58e0857ef188f2eec8ee987a30b3f53aed", + "owner": "MbZvwdXHnMUZ1eUFxNDqxPEEHkkffKgq2F", + "coins": "903.000000", + "hours": 52836, + "calculated_hours": 52836 + } + ], + "outputs": [ + { + "uxid": "a6662ea872dabee2fae96a4561d67728d16cb3da372d4b7bbc74a18f2bc3fecf", + "dst": "MbZvwdXHnMUZ1eUFxNDqxPEEHkkffKgq2F", + "coins": "895.000000", + "hours": 6604 + }, + { + "uxid": "36f4871646b6564b2f1ab72bd768a67579a1e0242bc68bcbcf1779bc75b3dddd", + "dst": "2K6NuLBBapWndAssUtkxKfCtyjDQDHrEhhT", + "coins": "8.000000", + "hours": 6604 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 53161, + "block_seq": 1177 + }, + "time": 1494275011, + "txn": { + "timestamp": 1494275011, + "length": 317, + "type": 0, + "txid": "b09cd3a8baef6a449848f50a1b97943006ca92747d4e485d0647a3ea74550eca", + "inner_hash": "2cb370051c92521a04ba5357e229d8ffa90d9d1741ea223b44dd60a1483ee0e5", + "fee": 44726, + "sigs": [ + "a55155ca15f73f0762f79c15917949a936658cff668647daf82a174eed95703a02622881f9cf6c7495536676f931b2d91d389a9e7b034232b3a1519c8da6fb8800", + "cc7d7cbd6f31adabd9bde2c0deaa9277c0f3cf807a4ec97e11872817091dc3705841a6adb74acb625ee20ab6d3525350b8663566003276073d94c3bfe22fe48e01" + ], + "inputs": [ + { + "uxid": "4f4b0078a9cd19b3395e54b3f42af6adc997f77f04e0ca54016c67c4f2384e3c", + "owner": "2K6NuLBBapWndAssUtkxKfCtyjDQDHrEhhT", + "coins": "1.000000", + "hours": 52836, + "calculated_hours": 52857 + }, + { + "uxid": "36f4871646b6564b2f1ab72bd768a67579a1e0242bc68bcbcf1779bc75b3dddd", + "owner": "2K6NuLBBapWndAssUtkxKfCtyjDQDHrEhhT", + "coins": "8.000000", + "hours": 6604, + "calculated_hours": 6777 + } + ], + "outputs": [ + { + "uxid": "5287f390628909dd8c25fad0feb37859c0c1ddcf90da0c040c837c89fefd9191", + "dst": "2K6NuLBBapWndAssUtkxKfCtyjDQDHrEhhT", + "coins": "8.000000", + "hours": 7454 + }, + { + "uxid": "a1268e9bd2033b49b44afa765d20876467254f51e5515626780467267a65c563", + "dst": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "1.000000", + "hours": 7454 + } + ] + } + }, + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 53160, + "block_seq": 1178 + }, + "time": 1494275231, + "txn": { + "timestamp": 1494275231, + "length": 183, + "type": 0, + "txid": "a6446654829a4a844add9f181949d12f8291fdd2c0fcb22200361e90e814e2d3", + "inner_hash": "075f255d42ddd2fb228fe488b8b468526810db7a144aeed1fd091e3fd404626e", + "fee": 6523, + "sigs": [ + "9b6fae9a70a42464dda089c943fafbf7bae8b8402e6bf4e4077553206eebc2ed4f7630bb1bd92505131cca5bf8bd82a44477ef53058e1995411bdbf1f5dfad1f00" + ], + "inputs": [ + { + "uxid": "5287f390628909dd8c25fad0feb37859c0c1ddcf90da0c040c837c89fefd9191", + "owner": "2K6NuLBBapWndAssUtkxKfCtyjDQDHrEhhT", + "coins": "8.000000", + "hours": 7454, + "calculated_hours": 7454 + } + ], + "outputs": [ + { + "uxid": "70fa9dfb887f9ef55beb4e960f60e4703c56f98201acecf2cad729f5d7e84690", + "dst": "7cpQ7t3PZZXvjTst8G7Uvs7XH4LeM8fBPD", + "coins": "8.000000", + "hours": 931 + } + ] + } + } +] +``` + +### Resend unconfirmed transactions + +API sets: `TXN`, `WALLET` + +``` +URI: /api/v1/resendUnconfirmedTxns +Method: POST +``` + +Example: + +```sh +curl -X POST 'http://127.0.0.1:6420/api/v1/resendUnconfirmedTxns' +``` + +Result: + +```json +{ + "txids":[ + "b45e571988bc07bd0b623c999655fa878fb9bdd24c8cd24fde179bf4b26ae7b7", + "a6446654829a4a844add9f181949d12f8291fdd2c0fcb22200361e90e814e2d3" + ] +} +``` + +### Verify encoded transaction + +API sets: `READ` + +``` +URI: /api/v2/transaction/verify +Method: POST +Content-Type: application/json +Args: {"unsigned": false, "encoded_transaction": ""} +``` + +If the transaction can be parsed, passes validation and has not been spent, returns `200 OK` with the decoded transaction data, +and the `"confirmed"` field will be `false`. + +If the transaction is structurally valid, passes validation but has been spent, returns `422 Unprocessable Entity` with the decoded transaction data, +and the `"confirmed"` field will be `true`. The `"error"` `"message"` will be `"transaction has been spent"`. + +`"unsigned"` may be specified in the request. If `true`, the transaction will report an error if it is fully signed. +It will not report an error if the transaction is missing at least one signature, and the remainder of the transaction is valid. +In the response, if the transaction has any unsigned inputs, the `"unsigned"` field will be `true`. +If the request did not specify `"unsigned"` or specified it as `false`, the response will return an error for an unsigned transaction. + +If the transaction can be parsed but does not pass validation, returns `422 Unprocessable Entity` with the decoded transaction data. +The `"error"` object will be included in the response with the reason why. +If the transaction's inputs cannot be found in the unspent pool nor in the historical archive of unspents, +the transaction `"inputs"` metadata will be absent and only `"uxid"` will be present. + +If the transaction can not be parsed, returns `400 Bad Request` and the `"error"` object will be included in the response with the reason why. + +Example of valid transaction that has not been spent: + +```sh +curl -X POST -H 'Content-Type: application/json' http://127.0.0.1:6420/api/v2/transaction/verify \ +-d '{"encoded_transaction": "dc000000004fd024d60939fede67065b36adcaaeaf70fc009e3a5bbb8358940ccc8bbb2074010000007635ce932158ec06d94138adc9c9b19113fa4c2279002e6b13dcd0b65e0359f247e8666aa64d7a55378b9cc9983e252f5877a7cb2671c3568ec36579f8df1581000100000019ad5059a7fffc0369fc24b31db7e92e12a4ee2c134fb00d336d7495dec7354d02000000003f0555073e17ea6e45283f0f1115b520d0698d03a086010000000000010000000000000000b90dc595d102c48d3281b47428670210415f585200f22b0000000000ff01000000000000"}' +``` + +Result: + +```json +{ + "data": { + "unsigned": false, + "confirmed": false, + "transaction": { + "length": 220, + "type": 0, + "txid": "82b5fcb182e3d70c285e59332af6b02bf11d8acc0b1407d7d82b82e9eeed94c0", + "inner_hash": "4fd024d60939fede67065b36adcaaeaf70fc009e3a5bbb8358940ccc8bbb2074", + "fee": "1042", + "sigs": [ + "7635ce932158ec06d94138adc9c9b19113fa4c2279002e6b13dcd0b65e0359f247e8666aa64d7a55378b9cc9983e252f5877a7cb2671c3568ec36579f8df158100" + ], + "inputs": [ + { + "uxid": "19ad5059a7fffc0369fc24b31db7e92e12a4ee2c134fb00d336d7495dec7354d", + "address": "2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2", + "coins": "2.980000", + "hours": "985", + "calculated_hours": "1554", + "timestamp": 1527080354, + "block": 30074, + "txid": "94204347ef52d90b3c5d6c31a3fced56ae3f74fd8f1f5576931aeb60847f0e59" + } + ], + "outputs": [ + { + "uxid": "b0911a5fc4dfe4524cdb82f6db9c705f4849af42fcd487a3c4abb2d17573d234", + "address": "SMnCGfpt7zVXm8BkRSFMLeMRA6LUu3Ewne", + "coins": "0.100000", + "hours": "1" + }, + { + "uxid": "a492e6b85a434866be40da7e287bfcf14efce9803ff2fcd9d865c4046e81712a", + "address": "2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2", + "coins": "2.880000", + "hours": "511" + } + ] + } + } +} +``` + +Example of valid transaction that *has* been spent: + +```sh +curl -X POST -H 'Content-Type: application/json' http://127.0.0.1:6420/api/v2/transaction/verify \ +-d '{"encoded_transaction": "dc000000004fd024d60939fede67065b36adcaaeaf70fc009e3a5bbb8358940ccc8bbb2074010000007635ce932158ec06d94138adc9c9b19113fa4c2279002e6b13dcd0b65e0359f247e8666aa64d7a55378b9cc9983e252f5877a7cb2671c3568ec36579f8df1581000100000019ad5059a7fffc0369fc24b31db7e92e12a4ee2c134fb00d336d7495dec7354d02000000003f0555073e17ea6e45283f0f1115b520d0698d03a086010000000000010000000000000000b90dc595d102c48d3281b47428670210415f585200f22b0000000000ff01000000000000"}' +``` + +Result: + +```json +{ + "error": { + "message": "transaction has been spent", + "code": 422 + }, + "data": { + "unsigned": false, + "confirmed": true, + "transaction": { + "length": 220, + "type": 0, + "txid": "82b5fcb182e3d70c285e59332af6b02bf11d8acc0b1407d7d82b82e9eeed94c0", + "inner_hash": "4fd024d60939fede67065b36adcaaeaf70fc009e3a5bbb8358940ccc8bbb2074", + "fee": "1042", + "sigs": [ + "7635ce932158ec06d94138adc9c9b19113fa4c2279002e6b13dcd0b65e0359f247e8666aa64d7a55378b9cc9983e252f5877a7cb2671c3568ec36579f8df158100" + ], + "inputs": [ + { + "uxid": "19ad5059a7fffc0369fc24b31db7e92e12a4ee2c134fb00d336d7495dec7354d", + "address": "2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2", + "coins": "2.980000", + "hours": "985", + "calculated_hours": "1554", + "timestamp": 1527080354, + "block": 30074, + "txid": "94204347ef52d90b3c5d6c31a3fced56ae3f74fd8f1f5576931aeb60847f0e59" + } + ], + "outputs": [ + { + "uxid": "b0911a5fc4dfe4524cdb82f6db9c705f4849af42fcd487a3c4abb2d17573d234", + "address": "SMnCGfpt7zVXm8BkRSFMLeMRA6LUu3Ewne", + "coins": "0.100000", + "hours": "1" + }, + { + "uxid": "a492e6b85a434866be40da7e287bfcf14efce9803ff2fcd9d865c4046e81712a", + "address": "2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2", + "coins": "2.880000", + "hours": "511" + } + ] + } + } +} +``` + +Example of valid, unsigned transaction that has not been spent, with the unsigned parameter set to true in the request: + +```sh +curl -X POST -H 'Content-Type: application/json' http://127.0.0.1:6420/api/v2/transaction/verify \ +-d '{"unsigned": true, "encoded_transaction": "dc000000004fd024d60939fede67065b36adcaaeaf70fc009e3a5bbb8358940ccc8bbb2074010000007635ce932158ec06d94138adc9c9b19113fa4c2279002e6b13dcd0b65e0359f247e8666aa64d7a55378b9cc9983e252f5877a7cb2671c3568ec36579f8df1581000100000019ad5059a7fffc0369fc24b31db7e92e12a4ee2c134fb00d336d7495dec7354d02000000003f0555073e17ea6e45283f0f1115b520d0698d03a086010000000000010000000000000000b90dc595d102c48d3281b47428670210415f585200f22b0000000000ff01000000000000"}' +``` + +Result: + +```json +{ + "data": { + "unsigned": true, + "confirmed": false, + "transaction": { + "length": 220, + "type": 0, + "txid": "82b5fcb182e3d70c285e59332af6b02bf11d8acc0b1407d7d82b82e9eeed94c0", + "inner_hash": "4fd024d60939fede67065b36adcaaeaf70fc009e3a5bbb8358940ccc8bbb2074", + "fee": "1042", + "sigs": [ + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "inputs": [ + { + "uxid": "19ad5059a7fffc0369fc24b31db7e92e12a4ee2c134fb00d336d7495dec7354d", + "address": "2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2", + "coins": "2.980000", + "hours": "985", + "calculated_hours": "1554", + "timestamp": 1527080354, + "block": 30074, + "txid": "94204347ef52d90b3c5d6c31a3fced56ae3f74fd8f1f5576931aeb60847f0e59" + } + ], + "outputs": [ + { + "uxid": "b0911a5fc4dfe4524cdb82f6db9c705f4849af42fcd487a3c4abb2d17573d234", + "address": "SMnCGfpt7zVXm8BkRSFMLeMRA6LUu3Ewne", + "coins": "0.100000", + "hours": "1" + }, + { + "uxid": "a492e6b85a434866be40da7e287bfcf14efce9803ff2fcd9d865c4046e81712a", + "address": "2HTnQe3ZupkG6k8S81brNC3JycGV2Em71F2", + "coins": "2.880000", + "hours": "511" + } + ] + } + } +} +``` + + +## Block APIs + +### Get blockchain metadata + +API sets: `STATUS`, `READ` + +``` +URI: /api/v1/blockchain/metadata +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/blockchain/metadata +``` + +Result: + +```json +{ + "head": { + "seq": 58894, + "block_hash": "3961bea8c4ab45d658ae42effd4caf36b81709dc52a5708fdd4c8eb1b199a1f6", + "previous_block_hash": "8eca94e7597b87c8587286b66a6b409f6b4bf288a381a56d7fde3594e319c38a", + "timestamp": 1537581604, + "fee": 485194, + "version": 0, + "tx_body_hash": "c03c0dd28841d5aa87ce4e692ec8adde923799146ec5504e17ac0c95036362dd", + "ux_hash": "f7d30ecb49f132283862ad58f691e8747894c9fc241cb3a864fc15bd3e2c83d3" + }, + "unspents": 38171, + "unconfirmed": 1 +} +``` + +### Get blockchain progress + +API sets: `STATUS`, `READ` + +``` +URI: /api/v1/blockchain/progress +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/blockchain/progress +``` + +Result: + +```json +{ + "current": 2760, + "highest": 2760, + "peers": [ + { + "address": "35.157.164.126:6000", + "height": 2760 + }, + { + "address": "63.142.253.76:6000", + "height": 2760 + }, + ] +} +``` + +### Get block by hash or seq + +API sets: `READ` + +``` +URI: /api/v1/block +Method: GET +Args: + hash: get block by hash + seq: get block by sequence number + verbose: [bool] return verbose transaction input data +``` + +If verbose, the transaction inputs include the owner address, coins, hours and calculated hours. +The hours are the original hours the output was created with. +The calculated hours are the hours the transaction had in the block in which it was executed. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/block?hash=6eafd13ab6823223b714246b32c984b56e0043412950faf17defdbb2cbf3fe30 +``` + +or + +```sh +curl http://127.0.0.1:6420/api/v1/block?seq=2760 +``` + +Result: + +```json +{ + "header": { + "seq": 2760, + "block_hash": "6eafd13ab6823223b714246b32c984b56e0043412950faf17defdbb2cbf3fe30", + "previous_block_hash": "eaccd527ef263573c29000dbfb3c782ee175153c63f42abb671588b7071e877f", + "timestamp": 1504220821, + "fee": 196130, + "version": 0, + "tx_body_hash": "825ae95b81ae0ce037cdf9f1cda138bac3f3ed41c51b09e0befb71848e0f3bfd", + "ux_hash": "366af6bd80cfce79ce1ef63b45fb3ae8d9a6afc92a8590f14e18220884bd9d22" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "825ae95b81ae0ce037cdf9f1cda138bac3f3ed41c51b09e0befb71848e0f3bfd", + "inner_hash": "312e5dd55e06be5f9a0ee43a00d447f2fea47a7f1fb9669ecb477d2768ab04fd", + "sigs": [ + "f0d0eb337e3440af6e8f0c105037ec205f36c83770d26a9e3a0fb4b7ec1a2be64764f4e31cbaf6629933c971613d10d58e6acb592704a7d511f19836441f09fb00" + ], + "inputs": [ + "e7594379c9a6bb111205cbfa6fac908cac1d136e207960eb0429f15fde09ac8c" + ], + "outputs": [ + { + "uxid": "840d0ee483c1dc085e6518e1928c68979af61188b809fc74da9fca982e6a61ba", + "dst": "2GgFvqoyk9RjwVzj8tqfcXVXB4orBwoc9qv", + "coins": "998.000000", + "hours": 35390 + }, + { + "uxid": "38177c437ff42f29dc8d682e2f7c278f2203b6b02f42b1a88f9eb6c2392a7f70", + "dst": "2YHKP9yH7baLvkum3U6HCBiJjnAUCLS5Z9U", + "coins": "2.000000", + "hours": 70780 + } + ] + } + ] + }, + "size": 220 +} +``` + +Example (verbose): + +```sh +curl http://127.0.0.1:6420/api/v1/block?hash=6eafd13ab6823223b714246b32c984b56e0043412950faf17defdbb2cbf3fe30&verbose=1 +``` + +or + +```sh +curl http://127.0.0.1:6420/api/v1/block?seq=2760&verbose=1 +``` + +Result: + +```json +{ + "header": { + "seq": 2760, + "block_hash": "6eafd13ab6823223b714246b32c984b56e0043412950faf17defdbb2cbf3fe30", + "previous_block_hash": "eaccd527ef263573c29000dbfb3c782ee175153c63f42abb671588b7071e877f", + "timestamp": 1504220821, + "fee": 196130, + "version": 0, + "tx_body_hash": "825ae95b81ae0ce037cdf9f1cda138bac3f3ed41c51b09e0befb71848e0f3bfd", + "ux_hash": "366af6bd80cfce79ce1ef63b45fb3ae8d9a6afc92a8590f14e18220884bd9d22" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "825ae95b81ae0ce037cdf9f1cda138bac3f3ed41c51b09e0befb71848e0f3bfd", + "inner_hash": "312e5dd55e06be5f9a0ee43a00d447f2fea47a7f1fb9669ecb477d2768ab04fd", + "fee": 196130, + "sigs": [ + "f0d0eb337e3440af6e8f0c105037ec205f36c83770d26a9e3a0fb4b7ec1a2be64764f4e31cbaf6629933c971613d10d58e6acb592704a7d511f19836441f09fb00" + ], + "inputs": [ + { + "uxid": "e7594379c9a6bb111205cbfa6fac908cac1d136e207960eb0429f15fde09ac8c", + "owner": "kbbzyrUKNVJsJDGFLAjVT5neVcx5SQjFx5", + "coins": "1000.000000", + "hours": 283123, + "calculated_hours": 302300 + } + ], + "outputs": [ + { + "uxid": "840d0ee483c1dc085e6518e1928c68979af61188b809fc74da9fca982e6a61ba", + "dst": "2GgFvqoyk9RjwVzj8tqfcXVXB4orBwoc9qv", + "coins": "998.000000", + "hours": 35390 + }, + { + "uxid": "38177c437ff42f29dc8d682e2f7c278f2203b6b02f42b1a88f9eb6c2392a7f70", + "dst": "2YHKP9yH7baLvkum3U6HCBiJjnAUCLS5Z9U", + "coins": "2.000000", + "hours": 70780 + } + ] + } + ] + }, + "size": 220 +} +``` + + +### Get blocks in specific range + +API sets: `READ` + +``` +URI: /api/v1/blocks +Method: GET, POST +Args: + start: start seq + end: end seq + seqs: comma-separated list of block seqs + verbose: [bool] return verbose transaction input data +``` + +This endpoint has two modes: range and seqs. +The `seqs` parameter cannot be combined with `start`, `end`. + +If `start` and/or `end` are provided, returns blocks in the range [`start`, `end`]. +Both start and end sequences are included in the returned array of blocks. + +If `seqs` is provided, returns blocks matching the specified sequences. +`seqs` must not contain any duplicate values. +If a block does not exist for any of the given sequence numbers, a `404` error is returned. + +If verbose, the transaction inputs include the owner address, coins, hours and calculated hours. +The hours are the original hours the output was created with. +The calculated hours are the hours the transaction had in the block in which it was executed. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/blocks?start=101&end=102 +``` + +Result: + +```json +{ + "blocks": [ + { + "header": { + "seq": 101, + "block_hash": "8156057fc823589288f66c91edb60c11ff004465bcbe3a402b1328be7f0d6ce0", + "previous_block_hash": "725e76907998485d367a847b0fb49f08536c592247762279fcdbd9907fee5607", + "timestamp": 1429274666, + "fee": 720335, + "version": 0, + "tx_body_hash": "e8fe5290afba3933389fd5860dca2cbcc81821028be9c65d0bb7cf4e8d2c4c18", + "ux_hash": "348989599d30d3adfaaea98577963caa419ab0276279296e7d194a9cbb8cad04" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "e8fe5290afba3933389fd5860dca2cbcc81821028be9c65d0bb7cf4e8d2c4c18", + "inner_hash": "45da31b68748eafdb08ef8bf1ebd1c07c0f14fcb0d66759d6cf4642adc956d06", + "sigs": [ + "09bce2c888ceceeb19999005cceb1efdee254cacb60edee118b51ffd740ff6503a8f9cbd60a16c7581bfd64f7529b649d0ecc8adbe913686da97fe8c6543189001" + ], + "inputs": [ + "6002f3afc7054c0e1161bcf2b4c1d4d1009440751bc1fe806e0eae33291399f4" + ], + "outputs": [ + { + "uxid": "f9bffdcbe252acb1c3a8a1e8c99829342ba1963860d5692eebaeb9bcfbcaf274", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "27000.000000", + "hours": 102905 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 102, + "block_hash": "311f4b83b4fdb9fd1d45648115969cf4b3aab2d1acad9e2aa735829245c525f3", + "previous_block_hash": "8156057fc823589288f66c91edb60c11ff004465bcbe3a402b1328be7f0d6ce0", + "timestamp": 1429274686, + "fee": 710046, + "version": 0, + "tx_body_hash": "7b13cab45b52dd2df291ec97cf000bf6ea1b647d6fdf0261a7527578d8b71b9d", + "ux_hash": "f7512b0718f392c7503f86e69175efd7835ea4c3dd3f71ff65c7ad8873a6a9e8" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "7b13cab45b52dd2df291ec97cf000bf6ea1b647d6fdf0261a7527578d8b71b9d", + "inner_hash": "73bfee3a7c8d4f8a68657ebcaf69a59639f762bfc1a6f4468f3ca4724bc5b9f8", + "sigs": [ + "c4bcada17604a4a62baf50f929655027f2913639c27b773871f2135b72553c1959737e39d50e8349ffa5a7679de845aa6370999dbaaff4c7f9fd01260818683901" + ], + "inputs": [ + "4e75b4bced3404590d38ca06440c275d7fd86618a84966a0a1053fb18164e898" + ], + "outputs": [ + { + "uxid": "0a5603a1a5aeda575aa498cdaec5a4c893a28669dba84163eba2e90db3d9f39d", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26700.000000", + "hours": 101435 + } + ] + } + ] + }, + "size": 183 + } + ] +} +``` + +Example (verbose): + +```sh +curl http://127.0.0.1:6420/api/v1/blocks?start=101&end=102&verbose=1 +``` + +Result: + +```json +{ + "blocks": [ + { + "header": { + "seq": 101, + "block_hash": "8156057fc823589288f66c91edb60c11ff004465bcbe3a402b1328be7f0d6ce0", + "previous_block_hash": "725e76907998485d367a847b0fb49f08536c592247762279fcdbd9907fee5607", + "timestamp": 1429274666, + "fee": 720335, + "version": 0, + "tx_body_hash": "e8fe5290afba3933389fd5860dca2cbcc81821028be9c65d0bb7cf4e8d2c4c18", + "ux_hash": "348989599d30d3adfaaea98577963caa419ab0276279296e7d194a9cbb8cad04" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "e8fe5290afba3933389fd5860dca2cbcc81821028be9c65d0bb7cf4e8d2c4c18", + "inner_hash": "45da31b68748eafdb08ef8bf1ebd1c07c0f14fcb0d66759d6cf4642adc956d06", + "fee": 720335, + "sigs": [ + "09bce2c888ceceeb19999005cceb1efdee254cacb60edee118b51ffd740ff6503a8f9cbd60a16c7581bfd64f7529b649d0ecc8adbe913686da97fe8c6543189001" + ], + "inputs": [ + { + "uxid": "6002f3afc7054c0e1161bcf2b4c1d4d1009440751bc1fe806e0eae33291399f4", + "owner": "2M1C5LSZ4Pvu5RWS44bCdY6or3R8grQw7ez", + "coins": "27000.000000", + "hours": 220, + "calculated_hours": 823240 + } + ], + "outputs": [ + { + "uxid": "f9bffdcbe252acb1c3a8a1e8c99829342ba1963860d5692eebaeb9bcfbcaf274", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "27000.000000", + "hours": 102905 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 102, + "block_hash": "311f4b83b4fdb9fd1d45648115969cf4b3aab2d1acad9e2aa735829245c525f3", + "previous_block_hash": "8156057fc823589288f66c91edb60c11ff004465bcbe3a402b1328be7f0d6ce0", + "timestamp": 1429274686, + "fee": 710046, + "version": 0, + "tx_body_hash": "7b13cab45b52dd2df291ec97cf000bf6ea1b647d6fdf0261a7527578d8b71b9d", + "ux_hash": "f7512b0718f392c7503f86e69175efd7835ea4c3dd3f71ff65c7ad8873a6a9e8" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "7b13cab45b52dd2df291ec97cf000bf6ea1b647d6fdf0261a7527578d8b71b9d", + "inner_hash": "73bfee3a7c8d4f8a68657ebcaf69a59639f762bfc1a6f4468f3ca4724bc5b9f8", + "fee": 710046, + "sigs": [ + "c4bcada17604a4a62baf50f929655027f2913639c27b773871f2135b72553c1959737e39d50e8349ffa5a7679de845aa6370999dbaaff4c7f9fd01260818683901" + ], + "inputs": [ + { + "uxid": "4e75b4bced3404590d38ca06440c275d7fd86618a84966a0a1053fb18164e898", + "owner": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26700.000000", + "hours": 54, + "calculated_hours": 811481 + } + ], + "outputs": [ + { + "uxid": "0a5603a1a5aeda575aa498cdaec5a4c893a28669dba84163eba2e90db3d9f39d", + "dst": "2JJ8pgq8EDAnrzf9xxBJapE2qkYLefW4uF8", + "coins": "26700.000000", + "hours": 101435 + } + ] + } + ] + }, + "size": 183 + } + ] +} +``` + +Example (seqs): + +```sh +curl http://127.0.0.1:6420/api/v1/blocks?seqs=3,5,7 +``` + +```json +{ + "blocks": [ + { + "header": { + "seq": 3, + "block_hash": "35c3ebbe6feaeeab27ac77c1712051787bdd4bbfb5cdcdebc81f8aac98a2f3f3", + "previous_block_hash": "01723bc4dc90f1cb857a94fe5e3bb50c02e6689fd998f8147c9cae07fbfa63af", + "timestamp": 1427927671, + "fee": 0, + "version": 0, + "tx_body_hash": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619" + }, + "body": { + "txns": [ + { + "length": 183, + "type": 0, + "txid": "a6a709e9388a4d67a47d262b11da5f804eddd9d67acc4a3e450f7a567bdc1619", + "inner_hash": "ea6adee3180c7f9d73d1e693822d5d1c2bba85067f89a873355bc771a078faa1", + "sigs": [ + "ce8fd47e2044ed17998f92621e90329f673a746c802d67f639ca083705dd199f6ee346781497b44132434922879244d819694b5903093f784570c55d293ab4af01" + ], + "inputs": [ + "af0b2c1cc882a56b6c0c06e99e7d2731413b988329a2c47a5c2aa8be589b707a" + ], + "outputs": [ + { + "uxid": "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "10.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 183 + }, + { + "header": { + "seq": 5, + "block_hash": "114fe60587a158428a47e0f9571d764f495912c299aa4e67fc88004cf21b0c24", + "previous_block_hash": "415e47348a1e642cb2e31d00ee500747d3aed0336aabfff7d783ed21465251c7", + "timestamp": 1428798821, + "fee": 2036, + "version": 0, + "tx_body_hash": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69" + }, + "body": { + "txns": [ + { + "length": 317, + "type": 0, + "txid": "0579e7727627cd9815a8a8b5e1df86124f45a4132cc0dbd00d2f110e4f409b69", + "inner_hash": "fe123ca954a82bb1ce2cc9ef9c56d6b649a4cbaf5b17394b0ffda651ed32327e", + "sigs": [ + "056ed0f74367fb1370d7e98689953983d9cf34eb6669854f1645c8a16c93d85075661e7d4f6df0ce5ca8eb9852eff6a12fbac2caafee03bb8c616f847c61416800", + "8aaa7f320a7b01169d3217a600100cb27c55e4ce56cd3455814f56d8e4e65be746e0e20e776087af6f19361f0b898edc2123a5f9bd35d24ef8b8669ca85b142601" + ], + "inputs": [ + "9eb7954461ba0256c9054fe38c00c66e60428dccf900a62e74b9fe39310aea13", + "706f82c481906108880d79372ab5c126d32ecc98cf3f7c74cf33f5fda49dcf70" + ], + "outputs": [ + { + "uxid": "fa2b598d233fe434f907f858d5de812eacf50c7b3fd152c77cd6e246fe356a9e", + "dst": "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "coins": "999890.000000", + "hours": 4073 + }, + { + "uxid": "dc63c680f408c4e646037966189383a5d50eda34e666c2a0c75c0c6bf13b71a1", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "100.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 317 + }, + { + "header": { + "seq": 7, + "block_hash": "6cb71b57c998a5367101e01d48c097eccd4f5abf311c89bcca8ee213581f355f", + "previous_block_hash": "103949030e90fcebc5d8ca1c9c59f30a31aa71911401d22a2422e4571b035701", + "timestamp": 1428807671, + "fee": 0, + "version": 0, + "tx_body_hash": "f832428481690fa918d6d29946e191f2c8c89b2388a906e0c53dceee6070a24b" + }, + "body": { + "txns": [ + { + "length": 220, + "type": 0, + "txid": "f832428481690fa918d6d29946e191f2c8c89b2388a906e0c53dceee6070a24b", + "inner_hash": "f440c514779522a6387edda9b9d9835f00680fb314546efb7bc9762a17884156", + "sigs": [ + "8fe96f5502270e4efa962b2aef2b81795fe26a8f0c9a494e2ae9c7e624af455c49396270ae7a25b41d439fd56dea9d556a135129122de1b1274b1e2a5d75f2ea01" + ], + "inputs": [ + "8ff8a647e4542fab01e078ac467b2c9f2e5f7de55d77ec2711f8abc718e2c91b" + ], + "outputs": [ + { + "uxid": "17090c40091d009d6a684043d3be2e9cb1dc60a664a9c2e388af1f3a7345724b", + "dst": "2fGC7kwAM9yZyEF1QqBqp8uo9RUsF6ENGJF", + "coins": "90.000000", + "hours": 0 + }, + { + "uxid": "f9e7a412cdff80e95ddbe1d76fcc73f967cb99d383b0659e1355c8e623f02b62", + "dst": "WADSeEwEQVbtUy8CfcVimyxX1KjTRkvfoK", + "coins": "5.000000", + "hours": 0 + } + ] + } + ] + }, + "size": 220 + } + ] +} +``` + + +### Get last N blocks + +API sets: `READ` + +``` +URI: /api/v1/last_blocks +Method: GET +Args: + num: number of most recent blocks to return + verbose: [bool] return verbose transaction input data +``` + +If verbose, the transaction inputs include the owner address, coins, hours and calculated hours. +The hours are the original hours the output was created with. +The calculated hours are the hours the transaction had in the block in which it was executed. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/last_blocks?num=2 +``` + +Result: + +```json +{ + "blocks": [ + { + "header": { + "seq": 58893, + "block_hash": "8eca94e7597b87c8587286b66a6b409f6b4bf288a381a56d7fde3594e319c38a", + "previous_block_hash": "1f042ed976c0cb150ea6b71c9608d65b519e4bc1c507eba9f1146e443a856c2d", + "timestamp": 1537581594, + "fee": 970389, + "version": 0, + "tx_body_hash": "1bea5cf1279693a0da24828c37b267c702007842b16ca5557ae497574d15aab7", + "ux_hash": "bf35652af199779bc40cbeb339e8a782ff70673b07779e5c5621d37dfe13b42b" + }, + "body": { + "txns": [ + { + "length": 377, + "type": 0, + "txid": "1bea5cf1279693a0da24828c37b267c702007842b16ca5557ae497574d15aab7", + "inner_hash": "a25232405bcef0c007bb2d7d3520f2a389e17e11125c252ab6c00168ec52c08d", + "sigs": [ + "2ff7390c3b66c6b0fbb2b4c59c8e218291d4cbb82a836bb577c7264677f4a8320f6f3ad72d804e3014728baa214c223ecced8725b64be96fe3b51332ad1eda4201", + "9e7c715f897b3c987c00ee8c6b14e4b90bb3e4e11d003b481f82042b1795b3c75eaa3d563cd0358cdabdab77cfdbead7323323cf73e781f9c1a8cf6d9b4f8ac100", + "5c9748314f2fe0cd442df5ebb8f211087111d22e9463355bf9eee583d44df1bd36addb510eb470cb5dafba0732615f8533072f80ae05fc728c91ce373ada1e7b00" + ], + "inputs": [ + "5f634c825b2a53103758024b3cb8578b17d56d422539e23c26b91ea397161703", + "16ac52084ffdac2e9169b9e057d44630dec23d18cfb90b9437d28220a3dc585d", + "8d3263890d32382e182b86f8772c7685a8f253ed475c05f7d530e9296f692bc9" + ], + "outputs": [ + { + "uxid": "fb8db3f78928aee3f5cbda8db7fc290df9e64414e8107872a1c5cf83e08e4df7", + "dst": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "26.913000", + "hours": 970388 + } + ] + } + ] + }, + "size": 377 + }, + { + "header": { + "seq": 58894, + "block_hash": "3961bea8c4ab45d658ae42effd4caf36b81709dc52a5708fdd4c8eb1b199a1f6", + "previous_block_hash": "8eca94e7597b87c8587286b66a6b409f6b4bf288a381a56d7fde3594e319c38a", + "timestamp": 1537581604, + "fee": 485194, + "version": 0, + "tx_body_hash": "c03c0dd28841d5aa87ce4e692ec8adde923799146ec5504e17ac0c95036362dd", + "ux_hash": "f7d30ecb49f132283862ad58f691e8747894c9fc241cb3a864fc15bd3e2c83d3" + }, + "body": { + "txns": [ + { + "length": 257, + "type": 0, + "txid": "c03c0dd28841d5aa87ce4e692ec8adde923799146ec5504e17ac0c95036362dd", + "inner_hash": "f7dbd09f7e9f65d87003984640f1977fb9eec95b07ef6275a1ec6261065e68d7", + "sigs": [ + "af5329e77213f34446a0ff41d249fd25bc1dae913390871df359b9bd587c95a10b625a74a3477a05cc7537cb532253b12c03349ead5be066b8e0009e79462b9501" + ], + "inputs": [ + "fb8db3f78928aee3f5cbda8db7fc290df9e64414e8107872a1c5cf83e08e4df7" + ], + "outputs": [ + { + "uxid": "235811602fc96cf8b5b031edb88ee1606830aa641c06e0986681552d8728ec07", + "dst": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "0.500000", + "hours": 1 + }, + { + "uxid": "873da4edc01c0b5184e1f26c4c3471dd407d08e9ab36b018ab93874e7392320b", + "dst": "2XBMMDMqTTYmqs2rfjEwYDz8ABd38y9B8r7", + "coins": "0.500000", + "hours": 1 + }, + { + "uxid": "42a6f0127f61e1d7bca8e9680027eddcecad772250c5634a03e56a8b1cf5a816", + "dst": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "25.913000", + "hours": 485192 + } + ] + } + ] + }, + "size": 257 + } + ] +} +``` + +Example (verbose): + +```sh +curl http://127.0.0.1:6420/api/v1/last_blocks?num=2&verbose=1 +``` + +Result: + +```json +{ + "blocks": [ + { + "header": { + "seq": 58893, + "block_hash": "8eca94e7597b87c8587286b66a6b409f6b4bf288a381a56d7fde3594e319c38a", + "previous_block_hash": "1f042ed976c0cb150ea6b71c9608d65b519e4bc1c507eba9f1146e443a856c2d", + "timestamp": 1537581594, + "fee": 970389, + "version": 0, + "tx_body_hash": "1bea5cf1279693a0da24828c37b267c702007842b16ca5557ae497574d15aab7", + "ux_hash": "bf35652af199779bc40cbeb339e8a782ff70673b07779e5c5621d37dfe13b42b" + }, + "body": { + "txns": [ + { + "length": 377, + "type": 0, + "txid": "1bea5cf1279693a0da24828c37b267c702007842b16ca5557ae497574d15aab7", + "inner_hash": "a25232405bcef0c007bb2d7d3520f2a389e17e11125c252ab6c00168ec52c08d", + "fee": 970389, + "sigs": [ + "2ff7390c3b66c6b0fbb2b4c59c8e218291d4cbb82a836bb577c7264677f4a8320f6f3ad72d804e3014728baa214c223ecced8725b64be96fe3b51332ad1eda4201", + "9e7c715f897b3c987c00ee8c6b14e4b90bb3e4e11d003b481f82042b1795b3c75eaa3d563cd0358cdabdab77cfdbead7323323cf73e781f9c1a8cf6d9b4f8ac100", + "5c9748314f2fe0cd442df5ebb8f211087111d22e9463355bf9eee583d44df1bd36addb510eb470cb5dafba0732615f8533072f80ae05fc728c91ce373ada1e7b00" + ], + "inputs": [ + { + "uxid": "5f634c825b2a53103758024b3cb8578b17d56d422539e23c26b91ea397161703", + "owner": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "25.910000", + "hours": 7745, + "calculated_hours": 17458 + }, + { + "uxid": "16ac52084ffdac2e9169b9e057d44630dec23d18cfb90b9437d28220a3dc585d", + "owner": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "1.000000", + "hours": 1915246, + "calculated_hours": 1915573 + }, + { + "uxid": "8d3263890d32382e182b86f8772c7685a8f253ed475c05f7d530e9296f692bc9", + "owner": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "0.003000", + "hours": 7745, + "calculated_hours": 7746 + } + ], + "outputs": [ + { + "uxid": "fb8db3f78928aee3f5cbda8db7fc290df9e64414e8107872a1c5cf83e08e4df7", + "dst": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "26.913000", + "hours": 970388 + } + ] + } + ] + }, + "size": 377 + }, + { + "header": { + "seq": 58894, + "block_hash": "3961bea8c4ab45d658ae42effd4caf36b81709dc52a5708fdd4c8eb1b199a1f6", + "previous_block_hash": "8eca94e7597b87c8587286b66a6b409f6b4bf288a381a56d7fde3594e319c38a", + "timestamp": 1537581604, + "fee": 485194, + "version": 0, + "tx_body_hash": "c03c0dd28841d5aa87ce4e692ec8adde923799146ec5504e17ac0c95036362dd", + "ux_hash": "f7d30ecb49f132283862ad58f691e8747894c9fc241cb3a864fc15bd3e2c83d3" + }, + "body": { + "txns": [ + { + "length": 257, + "type": 0, + "txid": "c03c0dd28841d5aa87ce4e692ec8adde923799146ec5504e17ac0c95036362dd", + "inner_hash": "f7dbd09f7e9f65d87003984640f1977fb9eec95b07ef6275a1ec6261065e68d7", + "fee": 485194, + "sigs": [ + "af5329e77213f34446a0ff41d249fd25bc1dae913390871df359b9bd587c95a10b625a74a3477a05cc7537cb532253b12c03349ead5be066b8e0009e79462b9501" + ], + "inputs": [ + { + "uxid": "fb8db3f78928aee3f5cbda8db7fc290df9e64414e8107872a1c5cf83e08e4df7", + "owner": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "26.913000", + "hours": 970388, + "calculated_hours": 970388 + } + ], + "outputs": [ + { + "uxid": "235811602fc96cf8b5b031edb88ee1606830aa641c06e0986681552d8728ec07", + "dst": "2Huip6Eizrq1uWYqfQEh4ymibLysJmXnWXS", + "coins": "0.500000", + "hours": 1 + }, + { + "uxid": "873da4edc01c0b5184e1f26c4c3471dd407d08e9ab36b018ab93874e7392320b", + "dst": "2XBMMDMqTTYmqs2rfjEwYDz8ABd38y9B8r7", + "coins": "0.500000", + "hours": 1 + }, + { + "uxid": "42a6f0127f61e1d7bca8e9680027eddcecad772250c5634a03e56a8b1cf5a816", + "dst": "uvcDrKc8rHTjxLrU4mPN56Hyh2tR6RvCvw", + "coins": "25.913000", + "hours": 485192 + } + ] + } + ] + }, + "size": 257 + } + ] +} +``` + +## Uxout APIs + +### Get uxout + +API sets: `READ` + +``` +URI: /api/v1/uxout +Method: GET +Args: + uxid +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/uxout?uxid=8b64d9b058e10472b9457fd2d05a1d89cbbbd78ce1d97b16587d43379271bed1 +``` + +Result: + +```json +{ + "uxid": "8b64d9b058e10472b9457fd2d05a1d89cbbbd78ce1d97b16587d43379271bed1", + "time": 1502870712, + "src_block_seq": 2545, + "src_tx": "ded9e671510ab300a4ea3ee126fe8e2d50b995021e2db4589c6fb4ac000fe7bb", + "owner_address": "c9zyTYwgR4n89KyzknpmGaaDarUCPEs9mV", + "coins": 2000000, + "hours": 5039, + "spent_block_seq": 2556, + "spent_tx": "b51e1933f286c4f03d73e8966186bafb25f64053db8514327291e690ae8aafa5" +} +``` + +### Get historical unspent outputs for an address + +API sets: `READ` + +``` +URI: /api/v1/address_uxouts +Method: GET +Args: + address +``` + +Returns the historical, spent outputs of a given address. + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/address_uxouts?address=6dkVxyKFbFKg9Vdg6HPg1UANLByYRqkrdY +``` + +Result: + +```json +[ + { + "uxid": "7669ff7350d2c70a88093431a7b30d3e69dda2319dcb048aa80fa0d19e12ebe0", + "time": 1502936862, + "src_block_seq": 2556, + "src_tx": "b51e1933f286c4f03d73e8966186bafb25f64053db8514327291e690ae8aafa5", + "owner_address": "6dkVxyKFbFKg9Vdg6HPg1UANLByYRqkrdY", + "coins": 2000000, + "hours": 633, + "spent_block_seq": 0, + "spent_tx": "0000000000000000000000000000000000000000000000000000000000000000" + } +] +``` + +## Coin supply related information + +### Coin supply + +API sets: `READ` + +``` +URI: /api/v1/coinSupply +Method: GET +``` + +Example: + +```sh +curl http://127.0.0.1:6420/api/v1/coinSupply +``` + +Result: + +```json +{ + "current_supply": "7187500.000000", + "total_supply": "25000000.000000", + "max_supply": "100000000.000000", + "current_coinhour_supply": "23499025077", + "total_coinhour_supply": "93679828577", + "unlocked_distribution_addresses": [ + "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm" + ], + "locked_distribution_addresses": [ + "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm" + ] +} +``` + +### Richlist show top N addresses by uxouts + +API sets: `READ` + +``` +URI: /api/v1/richlist +Method: GET +Args: + n: top N addresses, [default 20, returns all if <= 0]. + include-distribution: include distribution addresses or not, default false. +``` + +Example: + +```sh +curl "http://127.0.0.1:6420/api/v1/richlist?n=4&include-distribution=true" +``` + +Result: + +```json +{ + "richlist": [ + { + "address": "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "coins": "1000000.000000", + "locked": true + }, + { + "address": "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "coins": "1000000.000000", + "locked": true + } + ] +} +``` + +### Count unique addresses + +API sets: `READ` + +``` +URI: /api/v1/addresscount +Method: GET +``` + +Example: + +```sh +curl "http://127.0.0.1:6420/api/v1/addresscount" +``` + +Result: + +```json +{ + "count": 10103 +} +``` + +## Network status + +### Get information for a specific connection + +API sets: `STATUS`, `READ` + +``` +URI: /api/v1/network/connection +Method: GET +Args: + addr: ip:port address of a known connection +``` + +Connection `"state"` value can be `"pending"`, `"connected"` or `"introduced"`. + +* The `"pending"` state is prior to connection establishment. +* The `"connected"` state is after connection establishment, but before the introduction handshake has completed. +* The `"introduced"` state is after the introduction handshake has completed. + +Example: + +```sh +curl 'http://127.0.0.1:6420/api/v1/network/connection?addr=176.9.84.75:6000' +``` + +Result: + +```json +{ + "id": 109548, + "address": "176.9.84.75:6000", + "last_sent": 1520675817, + "last_received": 1520675817, + "connected_at": 1520675700, + "outgoing": false, + "state": "introduced", + "mirror": 719118746, + "height": 181, + "listen_port": 6000, + "user_agent": "skycoin:0.25.0", + "is_trusted_peer": true, + "unconfirmed_verify_transaction": { + "burn_factor": 10, + "max_transaction_size": 32768, + "max_decimals": 3 + } +} +``` + +### Get a list of all connections + +API sets: `STATUS`, `READ` + +``` +URI: /api/v1/network/connections +Method: GET +Args: + states: [optional] comma-separated list of connection states ("pending", "connected" or "introduced"). Defaults to "connected,introduced" + direction: [optional] "outgoing" or "incoming". If not provided, both are included. +``` + +Connection `"state"` value can be `"pending"`, `"connected"` or `"introduced"`. + +* The `"pending"` state is prior to connection establishment. +* The `"connected"` state is after connection establishment, but before the introduction handshake has completed. +* The `"introduced"` state is after the introduction handshake has completed. + +By default, both incoming and outgoing connections in the `"connected"` or `"introduced"` state are returned. + +Example: + +```sh +curl 'http://127.0.0.1:6420/api/v1/network/connections' +``` + +Result: + +```json +{ + "connections": [ + { + "id": 99107, + "address": "139.162.161.41:20002", + "last_sent": 1520675750, + "last_received": 1520675750, + "connected_at": 1520675500, + "outgoing": false, + "state": "introduced", + "mirror": 1338939619, + "listen_port": 20002, + "height": 180, + "user_agent": "skycoin:0.25.0", + "is_trusted_peer": true, + "unconfirmed_verify_transaction": { + "burn_factor": 10, + "max_transaction_size": 32768, + "max_decimals": 3 + } + }, + { + "id": 109548, + "address": "176.9.84.75:6000", + "last_sent": 1520675751, + "last_received": 1520675751, + "connected_at": 1520675751, + "state": "connected", + "outgoing": true, + "mirror": 0, + "listen_port": 6000, + "height": 0, + "user_agent": "", + "is_trusted_peer": true, + "unconfirmed_verify_transaction": { + "burn_factor": 0, + "max_transaction_size": 0, + "max_decimals": 0 + } + }, + { + "id": 99115, + "address": "185.120.34.60:6000", + "last_sent": 1520675754, + "last_received": 1520675754, + "connected_at": 1520673013, + "outgoing": false, + "state": "introduced", + "mirror": 1931713869, + "listen_port": 6000, + "height": 180, + "user_agent": "", + "is_trusted_peer": true, + "unconfirmed_verify_transaction": { + "burn_factor": 0, + "max_transaction_size": 0, + "max_decimals": 0 + } + } + ] +} +``` + + +### Get a list of all default connections + +API sets: `STATUS`, `READ` + +``` +URI: /api/v1/network/defaultConnections +Method: GET +``` + +Returns addresses in the default hardcoded list of peers. + +Example: + +```sh +curl 'http://127.0.0.1:6420/api/v1/network/defaultConnections' +``` + +Result: + +```json +[ + "104.237.142.206:6000", + "118.178.135.93:6000", + "139.162.7.132:6000", + "172.104.85.6:6000", + "176.58.126.224:6000", + "47.88.33.156:6000" +] +``` + +### Get a list of all trusted connections + +API sets: `STATUS`, `READ` + +``` +URI: /api/v1/network/connections/trust +Method: GET +``` + +Returns addresses marked as trusted in the peerlist. +This is typically equal to the list of addresses in the default hardcoded list of peers. + +Example: + +```sh +curl 'http://127.0.0.1:6420/api/v1/network/connections/trust' +``` + +Result: + +```json +[ + "104.237.142.206:6000", + "118.178.135.93:6000", + "139.162.7.132:6000", + "172.104.85.6:6000", + "176.58.126.224:6000", + "47.88.33.156:6000" +] +``` + +### Get a list of all connections discovered through peer exchange + +API sets: `STATUS`, `READ` + +``` +URI: /api/v1/network/connections/exchange +Method: GET +``` + +Returns addresses from the peerlist that are known to have an open port. + +Example: + +```sh +curl 'http://127.0.0.1:6420/api/v1/network/connections/exchange' +``` + +Result: + +```json +[ + "104.237.142.206:6000", + "116.62.220.158:7200", + "118.237.210.163:6000", + "139.162.161.41:20000", + "139.162.161.41:20001", + "139.162.161.41:20002", + "139.162.33.154:6000", + "139.162.7.132:6000", + "155.94.137.34:6000", + "164.132.108.92:6000", + "165.227.199.63:6000", + "172.104.145.6:6000", + "172.104.52.230:7200", + "172.104.85.6:6000", + "173.212.205.184:6000", + "173.249.30.221:6000", + "176.58.126.224:6000", + "176.9.84.75:6000", + "185.120.34.60:6000", + "35.201.160.163:6000", + "47.88.33.156:6000" +] +``` + +### Disconnect a peer + +API sets: `NET_CTRL` + +``` +URI: /api/v1/network/connection/disconnect +Method: POST +Args: + id: ID of the connection + +Returns 404 if the connection is not found. +``` + +Disconnects a peer by ID. + +Example: + +```sh +curl -X POST 'http://127.0.0.1:6420/api/v1/network/connection/disconnect?id=999' +``` + +Result: + +```json +{} +``` + +## Migrating from the unversioned API + +The unversioned API are the API endpoints without an `/api` prefix. +These endpoints are all prefixed with `/api/v1` now. + +`-enable-unversioned-api` was added as an option to assist migration to `/api/v1` +but this option was removed in v0.26.0. + +To migrate from the unversioned API, add `/api/v1` to all endpoints that you call +that do not have an `/api` prefix already. + +For example, `/block` would become `/api/v1/block`. + +## Migrating from the JSONRPC API + +The JSONRPC-2.0 RPC API was deprecated in v0.25.0 and removed in v0.26.0. + +Anyone still using this can follow this guide to migrate to the REST API: + +* `get_status` is replaced by `/api/v1/blockchain/metadata` and `/api/v1/health` +* `get_lastblocks` is replaced by `/api/v1/last_blocks` +* `get_blocks` is replaced by `/api/v1/blocks` +* `get_outputs` is replaced by `/api/v1/outputs` +* `inject_transaction` is replaced by `/api/v1/injectTransaction` +* `get_transaction` is replaced by `/api/v1/transaction` + +## Migrating from /api/v1/spend + +The `POST /api/v1/spend` endpoint is deprecated and will be removed in v0.26.0. + +To migrate from it, use [`POST /api/v1/wallet/transaction`](#create-transaction) followed by [`POST /api/v1/injectTransaction`](#inject-raw-transaction). +Do not create another transaction before injecting the created transaction, otherwise you might create two conflicting transactions. + +`POST /api/v1/wallet/transaction` has more options for creating the transaction than the `/api/v1/spend` endpoint. +To replicate the same behavior as `/api/v1/spend`, use the following request body template: + +```json +{ + "hours_selection": { + "type": "auto", + "mode": "share", + "share_factor": "0.5", + }, + "wallet": { + "id": "$wallet_id", + "password": "$password" + }, + "to": [{ + "address": "$dst", + "coins": "$coins" + }] +} +``` + +You must use a string for `"coins"` instead of an integer measured in "droplets" (the smallest unit of currency in Skycoin, 1/1000000 of a skycoin). +For example, if you sent 1 Skycoin with `/api/v1/spend` you would have specified the `coins` field as `1000000`. +Now, you would specify it as `"1"`. + +Some examples: + +* 123.456 coins: before `123456000`, now `"123.456"` +* 0.1 coins: before `100000`, now `"0.1"` +* 1 coin: before `1000000`, now `"1"` + +Extra zeros on the `"coins"` string are ok, for example `"1"` is the same as `"1.0"` or `"1.000000"`. + +Only provide `"password"` if the wallet is encrypted. Note that decryption can take a few seconds, and this can impact +throughput. + +The request header `Content-Type` must be `application/json`. + +The response to `POST /api/v1/wallet/transaction` will include a verbose decoded transaction with details +and the hex-encoded binary transaction in the `"encoded_transaction"` field. +Use the value of `"encoded_transaction"` as the `"rawtx"` value in the request to `/api/v1/injectTransaction`. + +## Migration from /api/v1/explorer/address + +The `GET /api/v1/explorer/address` was deprecated in v0.25.0 and removed in v0.26.0. + +To migrate from it, use [`GET /api/v1/transactions?verbose=1`](#get-transactions-for-addresses). + +`/api/v1/explorer/address` accepted a single `address` query parameter. `/api/v1/transactions` uses an `addrs` query parameter and +accepts multiple addresses at once. + +The response data is the same but the structure is slightly different. Compare the follow two example responses: + +`/api/v1/explorer/address?address=WzPDgdfL1NzSbX96tscUNXUqtCRLjaBugC`: + +```json +[ + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 38076, + "block_seq": 15493 + }, + "timestamp": 1518878675, + "length": 183, + "type": 0, + "txid": "6d8e2f8b436a2f38d604b3aa1196ef2176779c5e11e33fbdd09f993fe659c39f", + "inner_hash": "8da7c64dcedeeb6aa1e0d21fb84a0028dcd68e6801f1a3cc0224fdd50682046f", + "fee": 126249, + "sigs": [ + "c60e43980497daad59b4c72a2eac053b1584f960c57a5e6ac8337118dccfcee4045da3f60d9be674867862a13fdd87af90f4b85cbf39913bde13674e0a039b7800" + ], + "inputs": [ + { + "uxid": "349b06e5707f633fd2d8f048b687b40462d875d968b246831434fb5ab5dcac38", + "owner": "WzPDgdfL1NzSbX96tscUNXUqtCRLjaBugC", + "coins": "125.000000", + "hours": 34596, + "calculated_hours": 178174 + } + ], + "outputs": [ + { + "uxid": "5b4a79c7de2e9099e083bbc8096619ae76ba6fbe34875c61bbe2d3bfa6b18b99", + "dst": "2NfNKsaGJEndpSajJ6TsKJfsdDjW2gFsjXg", + "coins": "125.000000", + "hours": 51925 + } + ] + } +] +``` + +`/api/v1/transactions?verbose=1&addrs=WzPDgdfL1NzSbX96tscUNXUqtCRLjaBugC`: + +```json +[ + { + "status": { + "confirmed": true, + "unconfirmed": false, + "height": 57564, + "block_seq": 7498 + }, + "time": 1514743602, + "txn": { + "timestamp": 1514743602, + "length": 220, + "type": 0, + "txid": "df5bcef198fe6e96d496c30482730f895cabc1d55b338afe5633b0c2889d02f9", + "inner_hash": "4677ff9b9b56485495a45693cc09f8496199929fccb52091d32f2d3cf2ee8a41", + "fee": 69193, + "sigs": [ + "8e1f6f621a11f737ac2031be975d4b2fc17bf9f17a0da0a2fe219ee018011ab506e2ad0367be302a8d859cc355c552313389cd0aa9fa98dc7d2085a52f11ef5a00" + ], + "inputs": [ + { + "uxid": "2374201ff29f1c024ccfc6c53160e741d06720562853ad3613c121acd8389031", + "owner": "2GgFvqoyk9RjwVzj8tqfcXVXB4orBwoc9qv", + "coins": "162768.000000", + "hours": 485, + "calculated_hours": 138385 + } + ], + "outputs": [ + { + "uxid": "63f299fc85fe6fc34d392718eee55909837c7231b6ffd93e5a9a844c4375b313", + "dst": "2GgFvqoyk9RjwVzj8tqfcXVXB4orBwoc9qv", + "coins": "162643.000000", + "hours": 34596 + }, + { + "uxid": "349b06e5707f633fd2d8f048b687b40462d875d968b246831434fb5ab5dcac38", + "dst": "WzPDgdfL1NzSbX96tscUNXUqtCRLjaBugC", + "coins": "125.000000", + "hours": 34596 + } + ] + } + } +] +``` + +The transaction data is wrapped in a `"txn"` field. A `"time"` field is present at the top level. This `"time"` field +is either the confirmation timestamp of a confirmed transaction or the last received time of an unconfirmed transaction. diff --git a/vendor/github.com/skycoin/skycoin/src/api/address.go b/vendor/github.com/skycoin/skycoin/src/api/address.go new file mode 100644 index 00000000..82c75dae --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/address.go @@ -0,0 +1,56 @@ +package api + +import ( + "encoding/json" + "net/http" + + "github.com/skycoin/skycoin/src/cipher" +) + +// VerifyAddressRequest is the request data for POST /api/v2/address/verify +type VerifyAddressRequest struct { + Address string `json:"address"` +} + +// VerifyAddressResponse is returned by POST /api/v2/address/verify +type VerifyAddressResponse struct { + Version byte `json:"version"` +} + +// addressVerifyHandler verifies a Skycoin address +// Method: POST +// URI: /api/v2/address/verify +func addressVerifyHandler(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + var req VerifyAddressRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + if req.Address == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "address is required") + writeHTTPResponse(w, resp) + return + } + + addr, err := cipher.DecodeBase58Address(req.Address) + + if err != nil { + resp := NewHTTPErrorResponse(http.StatusUnprocessableEntity, err.Error()) + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{ + Data: VerifyAddressResponse{ + Version: addr.Version, + }, + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/blockchain.go b/vendor/github.com/skycoin/skycoin/src/api/blockchain.go new file mode 100644 index 00000000..bd974b21 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/blockchain.go @@ -0,0 +1,395 @@ +package api + +// APIs for blockchain related information + +import ( + "errors" + "fmt" + "net/http" + "strconv" + "strings" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/readable" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/visor" +) + +// blockchainMetadataHandler returns the blockchain metadata +// Method: GET +// URI: /api/v1/blockchain/metadata +func blockchainMetadataHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + visorMetadata, err := gateway.GetBlockchainMetadata() + if err != nil { + err = fmt.Errorf("gateway.GetBlockchainMetadata failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + // This can happen if the node is shut down at the right moment, guard against a panic + if visorMetadata == nil { + err = errors.New("gateway.GetBlockchainMetadata metadata is nil") + wh.Error500(w, err.Error()) + return + } + + metadata := readable.NewBlockchainMetadata(*visorMetadata) + + wh.SendJSONOr500(logger, w, metadata) + } +} + +// blockchainProgressHandler returns the blockchain sync progress +// Method: GET +// URI: /api/v1/blockchain/progress +func blockchainProgressHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + headSeq, _, err := gateway.HeadBkSeq() + if err != nil { + err = fmt.Errorf("gateway.HeadBkSeq failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + progress := gateway.GetBlockchainProgress(headSeq) + + // This can happen if the node is shut down at the right moment, guard against a panic + if progress == nil { + err = errors.New("gateway.GetBlockchainProgress progress is nil") + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, readable.NewBlockchainProgress(progress)) + } +} + +func parseBoolFlag(v string) (bool, error) { + if v == "" { + return false, nil + } + + return strconv.ParseBool(v) +} + +// blockHandler returns a block by hash or seq +// Method: GET +// URI: /api/v1/block +// Args: +// hash [transaction hash string] +// seq [int] +// Note: only one of hash or seq is allowed +func blockHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + hash := r.FormValue("hash") + seq := r.FormValue("seq") + + verbose, err := parseBoolFlag(r.FormValue("verbose")) + if err != nil { + wh.Error400(w, "Invalid value for verbose") + return + } + + switch { + case hash == "" && seq == "": + wh.Error400(w, "should specify one filter, hash or seq") + return + case hash != "" && seq != "": + wh.Error400(w, "should only specify one filter, hash or seq") + return + } + + var h cipher.SHA256 + if hash != "" { + var err error + h, err = cipher.SHA256FromHex(hash) + if err != nil { + wh.Error400(w, err.Error()) + return + } + } + + var uSeq uint64 + if seq != "" { + var err error + uSeq, err = strconv.ParseUint(seq, 10, 64) + if err != nil { + wh.Error400(w, fmt.Sprintf("Invalid seq value %q", seq)) + return + } + } + + if verbose { + var b *coin.SignedBlock + var inputs [][]visor.TransactionInput + + switch { + case hash != "": + b, inputs, err = gateway.GetSignedBlockByHashVerbose(h) + case seq != "": + b, inputs, err = gateway.GetSignedBlockBySeqVerbose(uSeq) + } + + if err != nil { + wh.Error500(w, err.Error()) + return + } + + if b == nil { + wh.Error404(w, "") + return + } + + rb, err := readable.NewBlockVerbose(b.Block, inputs) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rb) + return + } + + var b *coin.SignedBlock + switch { + case hash != "": + b, err = gateway.GetSignedBlockByHash(h) + case seq != "": + b, err = gateway.GetSignedBlockBySeq(uSeq) + } + + if err != nil { + wh.Error500(w, err.Error()) + return + } + + if b == nil { + wh.Error404(w, "") + return + } + + rb, err := readable.NewBlock(b.Block) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rb) + } +} + +// blocksHandler returns blocks between a start and end point, +// or an explicit list of sequences. +// If using start and end, the block sequences include both the start and end point. +// Explicit sequences cannot be combined with start and end. +// Method: GET, POST +// URI: /api/v1/blocks +// Args: +// start [int] +// end [int] +// seqs [comma separated list of ints] +// verbose [bool] +func blocksHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet && r.Method != http.MethodPost { + wh.Error405(w) + return + } + + verbose, err := parseBoolFlag(r.FormValue("verbose")) + if err != nil { + wh.Error400(w, "Invalid value for verbose") + return + } + + sStart := r.FormValue("start") + sEnd := r.FormValue("end") + sSeqs := r.FormValue("seqs") + + if sSeqs != "" && (sStart != "" || sEnd != "") { + wh.Error400(w, "seqs cannot be used with start or end") + return + } + + if sSeqs == "" && sStart == "" && sEnd == "" { + wh.Error400(w, "At least one of seqs or start or end are required") + return + } + + var start uint64 + var end uint64 + var seqs []uint64 + + if sStart != "" { + var err error + start, err = strconv.ParseUint(sStart, 10, 64) + if err != nil { + wh.Error400(w, fmt.Sprintf("Invalid start value %q", sStart)) + return + } + } + + if sEnd != "" { + var err error + end, err = strconv.ParseUint(sEnd, 10, 64) + if err != nil { + wh.Error400(w, fmt.Sprintf("Invalid end value %q", sEnd)) + return + } + } + + if sSeqs != "" { + ssSeqs := strings.Split(sSeqs, ",") + seqs = make([]uint64, len(ssSeqs)) + seqsMap := make(map[uint64]struct{}, len(ssSeqs)) + for i, s := range ssSeqs { + x, err := strconv.ParseUint(s, 10, 64) + if err != nil { + wh.Error400(w, fmt.Sprintf("Invalid sequence %q at seqs[%d]", s, i)) + return + } + + if _, ok := seqsMap[x]; ok { + wh.Error400(w, fmt.Sprintf("Duplicate sequence %d at seqs[%d]", x, i)) + return + } + seqsMap[x] = struct{}{} + + seqs[i] = x + } + } + + if verbose { + var blocks []coin.SignedBlock + var inputs [][][]visor.TransactionInput + var err error + + if len(seqs) > 0 { + blocks, inputs, err = gateway.GetBlocksVerbose(seqs) + } else { + blocks, inputs, err = gateway.GetBlocksInRangeVerbose(start, end) + } + + if err != nil { + switch err.(type) { + case visor.ErrBlockNotExist: + wh.Error404(w, err.Error()) + default: + wh.Error500(w, err.Error()) + } + return + } + + rb, err := readable.NewBlocksVerbose(blocks, inputs) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rb) + } else { + var blocks []coin.SignedBlock + var err error + + if len(seqs) > 0 { + blocks, err = gateway.GetBlocks(seqs) + } else { + blocks, err = gateway.GetBlocksInRange(start, end) + } + + if err != nil { + switch err.(type) { + case visor.ErrBlockNotExist: + wh.Error404(w, err.Error()) + default: + wh.Error500(w, err.Error()) + } + return + } + + rb, err := readable.NewBlocks(blocks) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rb) + } + } +} + +// lastBlocksHandler returns the most recent N blocks on the blockchain +// Method: GET +// URI: /api/v1/last_blocks +// Args: +// num [int] +// verbose [bool] +func lastBlocksHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + verbose, err := parseBoolFlag(r.FormValue("verbose")) + if err != nil { + wh.Error400(w, "Invalid value for verbose") + return + } + + num := r.FormValue("num") + n, err := strconv.ParseUint(num, 10, 64) + if err != nil { + wh.Error400(w, fmt.Sprintf("Invalid num value %q", num)) + return + } + + if verbose { + blocks, inputs, err := gateway.GetLastBlocksVerbose(n) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + rb, err := readable.NewBlocksVerbose(blocks, inputs) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rb) + return + } + + blocks, err := gateway.GetLastBlocks(n) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + rb, err := readable.NewBlocks(blocks) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rb) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/client.go b/vendor/github.com/skycoin/skycoin/src/api/client.go new file mode 100644 index 00000000..aef01cc0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/client.go @@ -0,0 +1,1314 @@ +package api + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + "io" + "io/ioutil" + "net" + "net/http" + "net/url" + "strings" + "time" + + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/kvstorage" + "github.com/skycoin/skycoin/src/readable" +) + +const ( + dialTimeout = 60 * time.Second + httpClientTimeout = 120 * time.Second + tlsHandshakeTimeout = 60 * time.Second + + // ContentTypeJSON json content type header + ContentTypeJSON = "application/json" + // ContentTypeForm form data content type header + ContentTypeForm = "application/x-www-form-urlencoded" +) + +// ClientError is used for non-200 API responses +type ClientError struct { + Status string + StatusCode int + Message string +} + +// NewClientError creates a ClientError +func NewClientError(status string, statusCode int, message string) ClientError { + return ClientError{ + Status: status, + StatusCode: statusCode, + Message: strings.TrimRight(message, "\n"), + } +} + +func (e ClientError) Error() string { + return e.Message +} + +// ReceivedHTTPResponse parsed a HTTPResponse received by the Client, for the V2 API +type ReceivedHTTPResponse struct { + Error *HTTPError `json:"error,omitempty"` + Data json.RawMessage `json:"data"` +} + +// Client provides an interface to a remote node's HTTP API +type Client struct { + HTTPClient *http.Client + Addr string + Username string + Password string +} + +// NewClient creates a Client +func NewClient(addr string) *Client { + transport := &http.Transport{ + Dial: (&net.Dialer{ + Timeout: dialTimeout, + }).Dial, + TLSHandshakeTimeout: tlsHandshakeTimeout, + } + httpClient := &http.Client{ + Transport: transport, + Timeout: httpClientTimeout, + } + addr = strings.TrimRight(addr, "/") + addr += "/" + + return &Client{ + Addr: addr, + HTTPClient: httpClient, + } +} + +// SetAuth configures the Client's request authentication +func (c *Client) SetAuth(username, password string) { + c.Username = username + c.Password = password +} + +func (c *Client) applyAuth(req *http.Request) { + if c.Username == "" && c.Password == "" { + return + } + + req.SetBasicAuth(c.Username, c.Password) +} + +// GetV2 makes a GET request to an endpoint and unmarshals the response to respObj. +// If the response is not 200 OK, returns an error +func (c *Client) GetV2(endpoint string, respObj interface{}) (bool, error) { + return c.requestV2(http.MethodGet, endpoint, nil, respObj) +} + +// Get makes a GET request to an endpoint and unmarshals the response to obj. +// If the response is not 200 OK, returns an error +func (c *Client) Get(endpoint string, obj interface{}) error { + resp, err := c.get(endpoint) + if err != nil { + return err + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return err + } + + return NewClientError(resp.Status, resp.StatusCode, string(body)) + } + + if obj == nil { + return nil + } + + d := json.NewDecoder(resp.Body) + d.DisallowUnknownFields() + return d.Decode(obj) +} + +// get makes a GET request to an endpoint. Caller must close response body. +func (c *Client) get(endpoint string) (*http.Response, error) { + return c.makeRequestWithoutBody(endpoint, http.MethodGet) +} + +// makeRequestWithoutBody makes a `method` request to an endpoint. Caller must close response body. +func (c *Client) makeRequestWithoutBody(endpoint, method string) (*http.Response, error) { + endpoint = strings.TrimLeft(endpoint, "/") + endpoint = c.Addr + endpoint + + req, err := http.NewRequest(method, endpoint, nil) + if err != nil { + return nil, err + } + + c.applyAuth(req) + + return c.HTTPClient.Do(req) +} + +// DeleteV2 makes a DELETE request to an endpoint with body of json data, +// and parses the standard JSON response. +func (c *Client) DeleteV2(endpoint string, respObj interface{}) (bool, error) { + return c.requestV2(http.MethodDelete, endpoint, nil, respObj) +} + +// PostForm makes a POST request to an endpoint with body of ContentTypeForm formated data. +func (c *Client) PostForm(endpoint string, body io.Reader, obj interface{}) error { + return c.Post(endpoint, ContentTypeForm, body, obj) +} + +// PostJSON makes a POST request to an endpoint with body of json data. +func (c *Client) PostJSON(endpoint string, reqObj, respObj interface{}) error { + body, err := json.Marshal(reqObj) + if err != nil { + return err + } + + return c.Post(endpoint, ContentTypeJSON, bytes.NewReader(body), respObj) +} + +// Post makes a POST request to an endpoint. +func (c *Client) Post(endpoint string, contentType string, body io.Reader, obj interface{}) error { + csrf, err := c.CSRF() + if err != nil { + return err + } + + endpoint = strings.TrimLeft(endpoint, "/") + endpoint = c.Addr + endpoint + + req, err := http.NewRequest(http.MethodPost, endpoint, body) + if err != nil { + return err + } + + c.applyAuth(req) + + if csrf != "" { + req.Header.Set(CSRFHeaderName, csrf) + } + + req.Header.Set("Content-Type", contentType) + + resp, err := c.HTTPClient.Do(req) + if err != nil { + return err + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return err + } + + return NewClientError(resp.Status, resp.StatusCode, string(body)) + } + + if obj == nil { + return nil + } + + decoder := json.NewDecoder(resp.Body) + decoder.DisallowUnknownFields() + return decoder.Decode(obj) +} + +// PostJSONV2 makes a POST request to an endpoint with body of json data, +// and parses the standard JSON response. +func (c *Client) PostJSONV2(endpoint string, reqObj, respObj interface{}) (bool, error) { + body, err := json.Marshal(reqObj) + if err != nil { + return false, err + } + + return c.requestV2(http.MethodPost, endpoint, bytes.NewReader(body), respObj) +} + +func (c *Client) requestV2(method, endpoint string, body io.Reader, respObj interface{}) (bool, error) { + csrf, err := c.CSRF() + if err != nil { + return false, err + } + + endpoint = strings.TrimLeft(endpoint, "/") + endpoint = c.Addr + endpoint + + req, err := http.NewRequest(method, endpoint, body) + if err != nil { + return false, err + } + + c.applyAuth(req) + + if csrf != "" { + req.Header.Set(CSRFHeaderName, csrf) + } + + switch method { + case http.MethodPost: + req.Header.Set("Content-Type", ContentTypeJSON) + } + + req.Header.Set("Accept", ContentTypeJSON) + + resp, err := c.HTTPClient.Do(req) + if err != nil { + return false, err + } + + defer resp.Body.Close() + + respBody, err := ioutil.ReadAll(resp.Body) + if err != nil { + return false, err + } + + decoder := json.NewDecoder(bytes.NewReader(respBody)) + decoder.DisallowUnknownFields() + + var wrapObj ReceivedHTTPResponse + if err := decoder.Decode(&wrapObj); err != nil { + // In some cases, the server can send an error response in a non-JSON format, + // such as a 404 when the endpoint is not registered, or if a 500 error + // occurs in the go HTTP stack, outside of the application's control. + // If this happens, treat the entire response body as the error message. + if resp.StatusCode != http.StatusOK { + return false, NewClientError(resp.Status, resp.StatusCode, string(respBody)) + } + + return false, err + } + + // The JSON decoder stops at the end of the first valid JSON object. + // Check that there is no trailing data after the end of the first valid JSON object. + // This could occur if an endpoint mistakenly wrote an object twice, for example. + // This line returns the decoder's underlying read buffer. Read(nil) will return io.EOF + // if the buffer was completely consumed. + if _, err := decoder.Buffered().Read(nil); err != io.EOF { + return false, NewClientError(resp.Status, resp.StatusCode, "Response has additional bytes after the first JSON object: "+string(respBody)) + } + + var rspErr error + if resp.StatusCode != http.StatusOK { + rspErr = NewClientError(resp.Status, resp.StatusCode, wrapObj.Error.Message) + } + + if wrapObj.Data == nil { + return false, rspErr + } + + decoder = json.NewDecoder(bytes.NewReader(wrapObj.Data)) + decoder.DisallowUnknownFields() + + if err := decoder.Decode(respObj); err != nil { + return false, err + } + + return true, rspErr +} + +// CSRF returns a CSRF token. If CSRF is disabled on the node, returns an empty string and nil error. +func (c *Client) CSRF() (string, error) { + resp, err := c.get("/api/v1/csrf") + if err != nil { + return "", err + } + + defer resp.Body.Close() + + switch resp.StatusCode { + case http.StatusOK: + case http.StatusNotFound: + // CSRF is disabled on the node + return "", nil + default: + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return "", err + } + + return "", NewClientError(resp.Status, resp.StatusCode, string(body)) + } + + d := json.NewDecoder(resp.Body) + d.DisallowUnknownFields() + + var m map[string]string + if err := d.Decode(&m); err != nil { + return "", err + } + + token, ok := m["csrf_token"] + if !ok { + return "", errors.New("csrf_token not found in response") + } + + return token, nil +} + +// Version makes a request to GET /api/v1/version +func (c *Client) Version() (*readable.BuildInfo, error) { + var bi readable.BuildInfo + if err := c.Get("/api/v1/version", &bi); err != nil { + return nil, err + } + return &bi, nil +} + +// Outputs makes a request to GET /api/v1/outputs +func (c *Client) Outputs() (*readable.UnspentOutputsSummary, error) { + var o readable.UnspentOutputsSummary + if err := c.Get("/api/v1/outputs", &o); err != nil { + return nil, err + } + return &o, nil +} + +// OutputsForAddresses makes a request to POST /api/v1/outputs?addrs=xxx +func (c *Client) OutputsForAddresses(addrs []string) (*readable.UnspentOutputsSummary, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + + endpoint := "/api/v1/outputs" + + var o readable.UnspentOutputsSummary + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &o); err != nil { + return nil, err + } + return &o, nil +} + +// OutputsForHashes makes a request to POST /api/v1/outputs?hashes=zzz +func (c *Client) OutputsForHashes(hashes []string) (*readable.UnspentOutputsSummary, error) { + v := url.Values{} + v.Add("hashes", strings.Join(hashes, ",")) + endpoint := "/api/v1/outputs" + + var o readable.UnspentOutputsSummary + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &o); err != nil { + return nil, err + } + return &o, nil +} + +// CoinSupply makes a request to GET /api/v1/coinSupply +func (c *Client) CoinSupply() (*CoinSupply, error) { + var cs CoinSupply + if err := c.Get("/api/v1/coinSupply", &cs); err != nil { + return nil, err + } + return &cs, nil +} + +// BlockByHash makes a request to GET /api/v1/block?hash=xxx +func (c *Client) BlockByHash(hash string) (*readable.Block, error) { + v := url.Values{} + v.Add("hash", hash) + endpoint := "/api/v1/block?" + v.Encode() + + var b readable.Block + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlockByHashVerbose makes a request to GET /api/v1/block?hash=xxx&verbose=1 +func (c *Client) BlockByHashVerbose(hash string) (*readable.BlockVerbose, error) { + v := url.Values{} + v.Add("hash", hash) + v.Add("verbose", "1") + endpoint := "/api/v1/block?" + v.Encode() + + var b readable.BlockVerbose + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlockBySeq makes a request to GET /api/v1/block?seq=xxx +func (c *Client) BlockBySeq(seq uint64) (*readable.Block, error) { + v := url.Values{} + v.Add("seq", fmt.Sprint(seq)) + endpoint := "/api/v1/block?" + v.Encode() + + var b readable.Block + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlockBySeqVerbose makes a request to GET /api/v1/block?seq=xxx&verbose=1 +func (c *Client) BlockBySeqVerbose(seq uint64) (*readable.BlockVerbose, error) { + v := url.Values{} + v.Add("seq", fmt.Sprint(seq)) + v.Add("verbose", "1") + endpoint := "/api/v1/block?" + v.Encode() + + var b readable.BlockVerbose + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// Blocks makes a request to POST /api/v1/blocks?seqs= +func (c *Client) Blocks(seqs []uint64) (*readable.Blocks, error) { + sSeqs := make([]string, len(seqs)) + for i, x := range seqs { + sSeqs[i] = fmt.Sprint(x) + } + + v := url.Values{} + v.Add("seqs", strings.Join(sSeqs, ",")) + endpoint := "/api/v1/blocks" + + var b readable.Blocks + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlocksVerbose makes a request to POST /api/v1/blocks?verbose=1&seqs= +func (c *Client) BlocksVerbose(seqs []uint64) (*readable.BlocksVerbose, error) { + sSeqs := make([]string, len(seqs)) + for i, x := range seqs { + sSeqs[i] = fmt.Sprint(x) + } + + v := url.Values{} + v.Add("seqs", strings.Join(sSeqs, ",")) + v.Add("verbose", "1") + endpoint := "/api/v1/blocks" + + var b readable.BlocksVerbose + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlocksInRange makes a request to GET /api/v1/blocks?start=&end= +func (c *Client) BlocksInRange(start, end uint64) (*readable.Blocks, error) { + v := url.Values{} + v.Add("start", fmt.Sprint(start)) + v.Add("end", fmt.Sprint(end)) + endpoint := "/api/v1/blocks?" + v.Encode() + + var b readable.Blocks + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlocksInRangeVerbose makes a request to GET /api/v1/blocks?verbose=1&start=&end= +func (c *Client) BlocksInRangeVerbose(start, end uint64) (*readable.BlocksVerbose, error) { + v := url.Values{} + v.Add("start", fmt.Sprint(start)) + v.Add("end", fmt.Sprint(end)) + v.Add("verbose", "1") + endpoint := "/api/v1/blocks?" + v.Encode() + + var b readable.BlocksVerbose + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// LastBlocks makes a request to GET /api/v1/last_blocks +func (c *Client) LastBlocks(n uint64) (*readable.Blocks, error) { + v := url.Values{} + v.Add("num", fmt.Sprint(n)) + endpoint := "/api/v1/last_blocks?" + v.Encode() + + var b readable.Blocks + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// LastBlocksVerbose makes a request to GET /api/v1/last_blocks?verbose=1 +func (c *Client) LastBlocksVerbose(n uint64) (*readable.BlocksVerbose, error) { + v := url.Values{} + v.Add("num", fmt.Sprint(n)) + v.Add("verbose", "1") + endpoint := "/api/v1/last_blocks?" + v.Encode() + + var b readable.BlocksVerbose + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlockchainMetadata makes a request to GET /api/v1/blockchain/metadata +func (c *Client) BlockchainMetadata() (*readable.BlockchainMetadata, error) { + var b readable.BlockchainMetadata + if err := c.Get("/api/v1/blockchain/metadata", &b); err != nil { + return nil, err + } + return &b, nil +} + +// BlockchainProgress makes a request to GET /api/v1/blockchain/progress +func (c *Client) BlockchainProgress() (*readable.BlockchainProgress, error) { + var b readable.BlockchainProgress + if err := c.Get("/api/v1/blockchain/progress", &b); err != nil { + return nil, err + } + return &b, nil +} + +// Balance makes a request to POST /api/v1/balance?addrs=xxx +func (c *Client) Balance(addrs []string) (*BalanceResponse, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + endpoint := "/api/v1/balance" + + var b BalanceResponse + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &b); err != nil { + return nil, err + } + return &b, nil +} + +// UxOut makes a request to GET /api/v1/uxout?uxid=xxx +func (c *Client) UxOut(uxID string) (*readable.SpentOutput, error) { + v := url.Values{} + v.Add("uxid", uxID) + endpoint := "/api/v1/uxout?" + v.Encode() + + var b readable.SpentOutput + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// AddressUxOuts makes a request to GET /api/v1/address_uxouts +func (c *Client) AddressUxOuts(addr string) ([]readable.SpentOutput, error) { + v := url.Values{} + v.Add("address", addr) + endpoint := "/api/v1/address_uxouts?" + v.Encode() + + var b []readable.SpentOutput + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return b, nil +} + +// Wallet makes a request to GET /api/v1/wallet +func (c *Client) Wallet(id string) (*WalletResponse, error) { + v := url.Values{} + v.Add("id", id) + endpoint := "/api/v1/wallet?" + v.Encode() + + var wr WalletResponse + if err := c.Get(endpoint, &wr); err != nil { + return nil, err + } + + return &wr, nil +} + +// Wallets makes a request to GET /api/v1/wallets +func (c *Client) Wallets() ([]WalletResponse, error) { + var wrs []WalletResponse + if err := c.Get("/api/v1/wallets", &wrs); err != nil { + return nil, err + } + + return wrs, nil +} + +// CreateWalletOptions are the options for creating a wallet +type CreateWalletOptions struct { + Type string + Seed string + SeedPassphrase string + Label string + Password string + ScanN int + XPub string + Encrypt bool +} + +// CreateWallet makes a request to POST /api/v1/wallet/create and creates a wallet. +// If scanN is <= 0, the scan number defaults to 1 +func (c *Client) CreateWallet(o CreateWalletOptions) (*WalletResponse, error) { + v := url.Values{} + v.Add("type", o.Type) + v.Add("seed", o.Seed) + v.Add("seed-passphrase", o.SeedPassphrase) + v.Add("label", o.Label) + v.Add("password", o.Password) + v.Add("encrypt", fmt.Sprint(o.Encrypt)) + v.Add("xpub", o.XPub) + + if o.ScanN > 0 { + v.Add("scan", fmt.Sprint(o.ScanN)) + } + + var w WalletResponse + if err := c.PostForm("/api/v1/wallet/create", strings.NewReader(v.Encode()), &w); err != nil { + return nil, err + } + return &w, nil +} + +// NewWalletAddress makes a request to POST /api/v1/wallet/newAddress +// if n is <= 0, defaults to 1 +func (c *Client) NewWalletAddress(id string, n int, password string) ([]string, error) { + v := url.Values{} + v.Add("id", id) + if n > 0 { + v.Add("num", fmt.Sprint(n)) + } + + v.Add("password", password) + + var obj struct { + Addresses []string `json:"addresses"` + } + if err := c.PostForm("/api/v1/wallet/newAddress", strings.NewReader(v.Encode()), &obj); err != nil { + return nil, err + } + return obj.Addresses, nil +} + +// WalletBalance makes a request to GET /api/v1/wallet/balance +func (c *Client) WalletBalance(id string) (*BalanceResponse, error) { + v := url.Values{} + v.Add("id", id) + endpoint := "/api/v1/wallet/balance?" + v.Encode() + + var b BalanceResponse + if err := c.Get(endpoint, &b); err != nil { + return nil, err + } + return &b, nil +} + +// CreateTransactionRequest is sent to /api/v2/transaction +type CreateTransactionRequest struct { + IgnoreUnconfirmed bool `json:"ignore_unconfirmed"` + HoursSelection HoursSelection `json:"hours_selection"` + ChangeAddress *string `json:"change_address,omitempty"` + To []Receiver `json:"to"` + UxOuts []string `json:"unspents,omitempty"` + Addresses []string `json:"addresses,omitempty"` +} + +// HoursSelection defines options for hours distribution +type HoursSelection struct { + Type string `json:"type"` + Mode string `json:"mode"` + ShareFactor string `json:"share_factor,omitempty"` +} + +// Receiver specifies a spend destination +type Receiver struct { + Address string `json:"address"` + Coins string `json:"coins"` + Hours string `json:"hours,omitempty"` +} + +// WalletCreateTransactionRequest is sent to /api/v1/wallet/transaction +type WalletCreateTransactionRequest struct { + Unsigned bool `json:"unsigned"` + WalletID string `json:"wallet_id"` + Password string `json:"password"` + CreateTransactionRequest +} + +// WalletCreateTransaction makes a request to POST /api/v1/wallet/transaction +func (c *Client) WalletCreateTransaction(req WalletCreateTransactionRequest) (*CreateTransactionResponse, error) { + var r CreateTransactionResponse + endpoint := "/api/v1/wallet/transaction" + if err := c.PostJSON(endpoint, req, &r); err != nil { + return nil, err + } + + return &r, nil +} + +// WalletSignTransaction makes a request to POST /api/v2/wallet/transaction/sign +func (c *Client) WalletSignTransaction(req WalletSignTransactionRequest) (*CreateTransactionResponse, error) { + var r CreateTransactionResponse + endpoint := "/api/v2/wallet/transaction/sign" + ok, err := c.PostJSONV2(endpoint, req, &r) + if ok { + return &r, err + } + return nil, err +} + +// CreateTransaction makes a request to POST /api/v2/transaction +func (c *Client) CreateTransaction(req CreateTransactionRequest) (*CreateTransactionResponse, error) { + var r CreateTransactionResponse + endpoint := "/api/v2/transaction" + ok, err := c.PostJSONV2(endpoint, req, &r) + if ok { + return &r, err + } + return nil, err +} + +// WalletUnconfirmedTransactions makes a request to GET /api/v1/wallet/transactions +func (c *Client) WalletUnconfirmedTransactions(id string) (*UnconfirmedTxnsResponse, error) { + v := url.Values{} + v.Add("id", id) + endpoint := "/api/v1/wallet/transactions?" + v.Encode() + + var utx *UnconfirmedTxnsResponse + if err := c.Get(endpoint, &utx); err != nil { + return nil, err + } + return utx, nil +} + +// WalletUnconfirmedTransactionsVerbose makes a request to GET /api/v1/wallet/transactions&verbose=1 +func (c *Client) WalletUnconfirmedTransactionsVerbose(id string) (*UnconfirmedTxnsVerboseResponse, error) { + v := url.Values{} + v.Add("id", id) + v.Add("verbose", "1") + endpoint := "/api/v1/wallet/transactions?" + v.Encode() + + var utx *UnconfirmedTxnsVerboseResponse + if err := c.Get(endpoint, &utx); err != nil { + return nil, err + } + return utx, nil +} + +// UpdateWallet makes a request to POST /api/v1/wallet/update +func (c *Client) UpdateWallet(id, label string) error { + v := url.Values{} + v.Add("id", id) + v.Add("label", label) + + return c.PostForm("/api/v1/wallet/update", strings.NewReader(v.Encode()), nil) +} + +// WalletFolderName makes a request to GET /api/v1/wallets/folderName +func (c *Client) WalletFolderName() (*WalletFolder, error) { + var w WalletFolder + if err := c.Get("/api/v1/wallets/folderName", &w); err != nil { + return nil, err + } + return &w, nil +} + +// NewSeed makes a request to GET /api/v1/wallet/newSeed +// entropy must be 128 or 256 +func (c *Client) NewSeed(entropy int) (string, error) { + v := url.Values{} + v.Add("entropy", fmt.Sprint(entropy)) + endpoint := "/api/v1/wallet/newSeed?" + v.Encode() + + var r struct { + Seed string `json:"seed"` + } + if err := c.Get(endpoint, &r); err != nil { + return "", err + } + return r.Seed, nil +} + +// VerifySeed verifies whether the given seed is a valid bip39 mnemonic or not +func (c *Client) VerifySeed(seed string) (bool, error) { + ok, err := c.PostJSONV2("/api/v2/wallet/seed/verify", VerifySeedRequest{ + Seed: seed, + }, &struct{}{}) + if err != nil { + return false, err + } + return ok, nil +} + +// WalletSeed makes a request to POST /api/v1/wallet/seed +func (c *Client) WalletSeed(id string, password string) (*WalletSeedResponse, error) { + v := url.Values{} + v.Add("id", id) + v.Add("password", password) + + var r WalletSeedResponse + if err := c.PostForm("/api/v1/wallet/seed", strings.NewReader(v.Encode()), &r); err != nil { + return nil, err + } + + return &r, nil +} + +// NetworkConnection makes a request to GET /api/v1/network/connection +func (c *Client) NetworkConnection(addr string) (*readable.Connection, error) { + v := url.Values{} + v.Add("addr", addr) + endpoint := "/api/v1/network/connection?" + v.Encode() + + var dc readable.Connection + if err := c.Get(endpoint, &dc); err != nil { + return nil, err + } + return &dc, nil +} + +// NetworkConnectionsFilter filters for network connections +type NetworkConnectionsFilter struct { + States []daemon.ConnectionState // "pending", "connected" and "introduced" + Direction string // "incoming" or "outgoing" +} + +// NetworkConnections makes a request to GET /api/v1/network/connections. +// Connections can be filtered by state and direction. By default, "connected" and "introduced" connections +// of both directions are returned. +func (c *Client) NetworkConnections(filters *NetworkConnectionsFilter) (*Connections, error) { + v := url.Values{} + if filters != nil { + if len(filters.States) != 0 { + states := make([]string, len(filters.States)) + for i, s := range filters.States { + states[i] = string(s) + } + v.Add("states", strings.Join(states, ",")) + } + if filters.Direction != "" { + v.Add("direction", filters.Direction) + } + } + endpoint := "/api/v1/network/connections?" + v.Encode() + + var dc Connections + if err := c.Get(endpoint, &dc); err != nil { + return nil, err + } + return &dc, nil +} + +// NetworkDefaultPeers makes a request to GET /api/v1/network/defaultConnections +func (c *Client) NetworkDefaultPeers() ([]string, error) { + var dc []string + if err := c.Get("/api/v1/network/defaultConnections", &dc); err != nil { + return nil, err + } + return dc, nil +} + +// NetworkTrustedPeers makes a request to GET /api/v1/network/connections/trust +func (c *Client) NetworkTrustedPeers() ([]string, error) { + var dc []string + if err := c.Get("/api/v1/network/connections/trust", &dc); err != nil { + return nil, err + } + return dc, nil +} + +// NetworkExchangedPeers makes a request to GET /api/v1/network/connections/exchange +func (c *Client) NetworkExchangedPeers() ([]string, error) { + var dc []string + if err := c.Get("/api/v1/network/connections/exchange", &dc); err != nil { + return nil, err + } + return dc, nil +} + +// PendingTransactions makes a request to GET /api/v1/pendingTxs +func (c *Client) PendingTransactions() ([]readable.UnconfirmedTransactions, error) { + var v []readable.UnconfirmedTransactions + if err := c.Get("/api/v1/pendingTxs", &v); err != nil { + return nil, err + } + return v, nil +} + +// PendingTransactionsVerbose makes a request to GET /api/v1/pendingTxs?verbose=1 +func (c *Client) PendingTransactionsVerbose() ([]readable.UnconfirmedTransactionVerbose, error) { + var v []readable.UnconfirmedTransactionVerbose + if err := c.Get("/api/v1/pendingTxs?verbose=1", &v); err != nil { + return nil, err + } + return v, nil +} + +// Transaction makes a request to GET /api/v1/transaction +func (c *Client) Transaction(txid string) (*readable.TransactionWithStatus, error) { + v := url.Values{} + v.Add("txid", txid) + endpoint := "/api/v1/transaction?" + v.Encode() + + var r readable.TransactionWithStatus + if err := c.Get(endpoint, &r); err != nil { + return nil, err + } + return &r, nil +} + +// TransactionVerbose makes a request to GET /api/v1/transaction?verbose=1 +func (c *Client) TransactionVerbose(txid string) (*readable.TransactionWithStatusVerbose, error) { + v := url.Values{} + v.Add("txid", txid) + v.Add("verbose", "1") + endpoint := "/api/v1/transaction?" + v.Encode() + + var r readable.TransactionWithStatusVerbose + if err := c.Get(endpoint, &r); err != nil { + return nil, err + } + return &r, nil +} + +// TransactionEncoded makes a request to GET /api/v1/transaction?encoded=1 +func (c *Client) TransactionEncoded(txid string) (*TransactionEncodedResponse, error) { + v := url.Values{} + v.Add("txid", txid) + v.Add("encoded", "1") + endpoint := "/api/v1/transaction?" + v.Encode() + + var r TransactionEncodedResponse + if err := c.Get(endpoint, &r); err != nil { + return nil, err + } + return &r, nil +} + +// Transactions makes a request to POST /api/v1/transactions +func (c *Client) Transactions(addrs []string) ([]readable.TransactionWithStatus, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + endpoint := "/api/v1/transactions" + + var r []readable.TransactionWithStatus + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &r); err != nil { + return nil, err + } + return r, nil +} + +// ConfirmedTransactions makes a request to POST /api/v1/transactions?confirmed=true +func (c *Client) ConfirmedTransactions(addrs []string) ([]readable.TransactionWithStatus, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + v.Add("confirmed", "true") + endpoint := "/api/v1/transactions" + + var r []readable.TransactionWithStatus + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &r); err != nil { + return nil, err + } + return r, nil +} + +// UnconfirmedTransactions makes a request to POST /api/v1/transactions?confirmed=false +func (c *Client) UnconfirmedTransactions(addrs []string) ([]readable.TransactionWithStatus, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + v.Add("confirmed", "false") + endpoint := "/api/v1/transactions" + + var r []readable.TransactionWithStatus + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &r); err != nil { + return nil, err + } + return r, nil +} + +// TransactionsVerbose makes a request to POST /api/v1/transactions?verbose=1 +func (c *Client) TransactionsVerbose(addrs []string) ([]readable.TransactionWithStatusVerbose, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + v.Add("verbose", "1") + endpoint := "/api/v1/transactions" + + var r []readable.TransactionWithStatusVerbose + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &r); err != nil { + return nil, err + } + return r, nil +} + +// ConfirmedTransactionsVerbose makes a request to POST /api/v1/transactions?confirmed=true&verbose=1 +func (c *Client) ConfirmedTransactionsVerbose(addrs []string) ([]readable.TransactionWithStatusVerbose, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + v.Add("confirmed", "true") + v.Add("verbose", "1") + endpoint := "/api/v1/transactions" + + var r []readable.TransactionWithStatusVerbose + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &r); err != nil { + return nil, err + } + return r, nil +} + +// UnconfirmedTransactionsVerbose makes a request to POST /api/v1/transactions?confirmed=false&verbose=1 +func (c *Client) UnconfirmedTransactionsVerbose(addrs []string) ([]readable.TransactionWithStatusVerbose, error) { + v := url.Values{} + v.Add("addrs", strings.Join(addrs, ",")) + v.Add("confirmed", "false") + v.Add("verbose", "1") + endpoint := "/api/v1/transactions" + + var r []readable.TransactionWithStatusVerbose + if err := c.PostForm(endpoint, strings.NewReader(v.Encode()), &r); err != nil { + return nil, err + } + return r, nil +} + +// InjectTransaction makes a request to POST /api/v1/injectTransaction. +func (c *Client) InjectTransaction(txn *coin.Transaction) (string, error) { + rawTxn, err := txn.SerializeHex() + if err != nil { + return "", err + } + return c.InjectEncodedTransaction(rawTxn) +} + +// InjectTransactionNoBroadcast makes a request to POST /api/v1/injectTransaction +// but does not broadcast the transaction. +func (c *Client) InjectTransactionNoBroadcast(txn *coin.Transaction) (string, error) { + rawTxn, err := txn.SerializeHex() + if err != nil { + return "", err + } + return c.InjectEncodedTransactionNoBroadcast(rawTxn) +} + +// InjectEncodedTransaction makes a request to POST /api/v1/injectTransaction. +// rawTxn is a hex-encoded, serialized transaction +func (c *Client) InjectEncodedTransaction(rawTxn string) (string, error) { + return c.injectEncodedTransaction(rawTxn, false) +} + +// InjectEncodedTransactionNoBroadcast makes a request to POST /api/v1/injectTransaction +// but does not broadcast the transaction. +// rawTxn is a hex-encoded, serialized transaction +func (c *Client) InjectEncodedTransactionNoBroadcast(rawTxn string) (string, error) { + return c.injectEncodedTransaction(rawTxn, true) +} + +func (c *Client) injectEncodedTransaction(rawTxn string, noBroadcast bool) (string, error) { + v := InjectTransactionRequest{ + RawTxn: rawTxn, + NoBroadcast: noBroadcast, + } + + var txid string + if err := c.PostJSON("/api/v1/injectTransaction", v, &txid); err != nil { + return "", err + } + return txid, nil +} + +// ResendUnconfirmedTransactions makes a request to POST /api/v1/resendUnconfirmedTxns +func (c *Client) ResendUnconfirmedTransactions() (*ResendResult, error) { + endpoint := "/api/v1/resendUnconfirmedTxns" + var r ResendResult + if err := c.PostForm(endpoint, strings.NewReader(""), &r); err != nil { + return nil, err + } + return &r, nil +} + +// RawTransaction makes a request to GET /api/v1/rawtx +func (c *Client) RawTransaction(txid string) (string, error) { + v := url.Values{} + v.Add("txid", txid) + endpoint := "/api/v1/rawtx?" + v.Encode() + + var rawTxn string + if err := c.Get(endpoint, &rawTxn); err != nil { + return "", err + } + return rawTxn, nil +} + +// VerifyTransaction makes a request to POST /api/v2/transaction/verify. +func (c *Client) VerifyTransaction(req VerifyTransactionRequest) (*VerifyTransactionResponse, error) { + var rsp VerifyTransactionResponse + ok, err := c.PostJSONV2("/api/v2/transaction/verify", req, &rsp) + if ok { + return &rsp, err + } + + return nil, err +} + +// VerifyAddress makes a request to POST /api/v2/address/verify +// The API may respond with an error but include data useful for processing, +// so both return values may be non-nil. +func (c *Client) VerifyAddress(addr string) (*VerifyAddressResponse, error) { + req := VerifyAddressRequest{ + Address: addr, + } + + var rsp VerifyAddressResponse + ok, err := c.PostJSONV2("/api/v2/address/verify", req, &rsp) + if ok { + return &rsp, err + } + + return nil, err +} + +// RichlistParams are arguments to the /richlist endpoint +type RichlistParams struct { + N int + IncludeDistribution bool +} + +// Richlist makes a request to GET /api/v1/richlist +func (c *Client) Richlist(params *RichlistParams) (*Richlist, error) { + endpoint := "/api/v1/richlist" + + if params != nil { + v := url.Values{} + v.Add("n", fmt.Sprint(params.N)) + v.Add("include-distribution", fmt.Sprint(params.IncludeDistribution)) + endpoint = "/api/v1/richlist?" + v.Encode() + } + + var r Richlist + if err := c.Get(endpoint, &r); err != nil { + return nil, err + } + return &r, nil +} + +// AddressCount makes a request to GET /api/v1/addresscount +func (c *Client) AddressCount() (uint64, error) { + var r struct { + Count uint64 `json:"count"` + } + if err := c.Get("/api/v1/addresscount", &r); err != nil { + return 0, err + } + return r.Count, nil + +} + +// UnloadWallet makes a request to POST /api/v1/wallet/unload +func (c *Client) UnloadWallet(id string) error { + v := url.Values{} + v.Add("id", id) + return c.PostForm("/api/v1/wallet/unload", strings.NewReader(v.Encode()), nil) +} + +// Health makes a request to GET /api/v1/health +func (c *Client) Health() (*HealthResponse, error) { + var r HealthResponse + if err := c.Get("/api/v1/health", &r); err != nil { + return nil, err + } + + return &r, nil +} + +// EncryptWallet makes a request to POST /api/v1/wallet/encrypt to encrypt a specific wallet with the given password +func (c *Client) EncryptWallet(id, password string) (*WalletResponse, error) { + v := url.Values{} + v.Add("id", id) + v.Add("password", password) + var wlt WalletResponse + if err := c.PostForm("/api/v1/wallet/encrypt", strings.NewReader(v.Encode()), &wlt); err != nil { + return nil, err + } + + return &wlt, nil +} + +// DecryptWallet makes a request to POST /api/v1/wallet/decrypt to decrypt a wallet +func (c *Client) DecryptWallet(id, password string) (*WalletResponse, error) { + v := url.Values{} + v.Add("id", id) + v.Add("password", password) + var wlt WalletResponse + if err := c.PostForm("/api/v1/wallet/decrypt", strings.NewReader(v.Encode()), &wlt); err != nil { + return nil, err + } + + return &wlt, nil +} + +// RecoverWallet makes a request to POST /api/v2/wallet/recover to recover an encrypted wallet by seed. +// The password argument is optional, if provided, the recovered wallet will be encrypted with this password, +// otherwise the recovered wallet will be unencrypted. +func (c *Client) RecoverWallet(req WalletRecoverRequest) (*WalletResponse, error) { + var rsp WalletResponse + ok, err := c.PostJSONV2("/api/v2/wallet/recover", req, &rsp) + if ok { + return &rsp, err + } + + return nil, err +} + +// Disconnect disconnect a connections by ID +func (c *Client) Disconnect(id uint64) error { + v := url.Values{} + v.Add("id", fmt.Sprint(id)) + + var obj struct{} + return c.PostForm("/api/v1/network/connection/disconnect", strings.NewReader(v.Encode()), &obj) +} + +// GetAllStorageValues makes a GET request to /api/v2/data to get all the values from the storage of +// `storageType` type +func (c *Client) GetAllStorageValues(storageType kvstorage.Type) (map[string]string, error) { + var values map[string]string + ok, err := c.GetV2(fmt.Sprintf("/api/v2/data?type=%s", storageType), &values) + if !ok { + return nil, err + } + + return values, err +} + +// GetStorageValue makes a GET request to /api/v2/data to get the value associated with `key` from storage +// of `storageType` type +func (c *Client) GetStorageValue(storageType kvstorage.Type, key string) (string, error) { + var value string + ok, err := c.GetV2(fmt.Sprintf("/api/v2/data?type=%s&key=%s", storageType, key), &value) + if !ok { + return "", err + } + + return value, err +} + +// AddStorageValue make a POST request to /api/v2/data to add a value with the key to the storage +// of `storageType` type +func (c *Client) AddStorageValue(storageType kvstorage.Type, key, val string) error { + _, err := c.PostJSONV2("/api/v2/data", StorageRequest{ + StorageType: storageType, + Key: key, + Val: val, + }, nil) + + return err +} + +// RemoveStorageValue makes a DELETE request to /api/v2/data to remove a value associated with the `key` +// from the storage of `storageType` type +func (c *Client) RemoveStorageValue(storageType kvstorage.Type, key string) error { + _, err := c.DeleteV2(fmt.Sprintf("/api/v2/data?type=%s&key=%s", storageType, key), nil) + + return err +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/csrf.go b/vendor/github.com/skycoin/skycoin/src/api/csrf.go new file mode 100644 index 00000000..23de8cbd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/csrf.go @@ -0,0 +1,165 @@ +package api + +import ( + "net/http" + "time" + + "crypto/hmac" + "crypto/sha256" + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "strings" + + "github.com/skycoin/skycoin/src/cipher" + wh "github.com/skycoin/skycoin/src/util/http" +) + +const ( + // CSRFHeaderName is the name of the CSRF header + CSRFHeaderName = "X-CSRF-Token" + + // CSRFMaxAge is the lifetime of a CSRF token in seconds + CSRFMaxAge = time.Second * 30 + + csrfSecretLength = 64 + + csrfNonceLength = 64 +) + +var ( + // ErrCSRFInvalid is returned when the the CSRF token is in invalid format + ErrCSRFInvalid = errors.New("invalid CSRF token") + // ErrCSRFInvalidSignature is returned when the signature of the csrf token is invalid + ErrCSRFInvalidSignature = errors.New("invalid CSRF token signature") + // ErrCSRFExpired is returned when the csrf token has expired + ErrCSRFExpired = errors.New("csrf token expired") +) + +var csrfSecretKey []byte + +func init() { + csrfSecretKey = cipher.RandByte(csrfSecretLength) +} + +// CSRFToken csrf token +type CSRFToken struct { + Nonce []byte + ExpiresAt time.Time +} + +// newCSRFToken generates a new CSRF Token +func newCSRFToken() (string, error) { + return newCSRFTokenWithTime(time.Now().Add(CSRFMaxAge)) +} + +func newCSRFTokenWithTime(expiresAt time.Time) (string, error) { + token := &CSRFToken{ + Nonce: cipher.RandByte(csrfNonceLength), + ExpiresAt: expiresAt, + } + + tokenJSON, err := json.Marshal(token) + if err != nil { + return "", err + } + + h := hmac.New(sha256.New, csrfSecretKey) + _, err = h.Write([]byte(tokenJSON)) + if err != nil { + return "", err + } + + sig := base64.RawURLEncoding.EncodeToString(h.Sum(nil)) + + signingString := base64.RawURLEncoding.EncodeToString(tokenJSON) + + return strings.Join([]string{signingString, sig}, "."), nil +} + +// verifyCSRFToken checks validity of the given token +func verifyCSRFToken(headerToken string) error { + tokenParts := strings.Split(headerToken, ".") + if len(tokenParts) != 2 { + return ErrCSRFInvalid + } + + signingString, err := base64.RawURLEncoding.DecodeString(tokenParts[0]) + if err != nil { + return err + } + + h := hmac.New(sha256.New, csrfSecretKey) + _, err = h.Write([]byte(signingString)) + if err != nil { + return err + } + + sig := base64.RawURLEncoding.EncodeToString(h.Sum(nil)) + + if sig != tokenParts[1] { + return ErrCSRFInvalidSignature + } + + var csrfToken CSRFToken + err = json.Unmarshal(signingString, &csrfToken) + if err != nil { + return err + } + + if time.Now().After(csrfToken.ExpiresAt) { + return ErrCSRFExpired + } + + return nil +} + +// Creates a new CSRF token. Previous CSRF tokens are invalidated by this call. +// URI: /api/v1/csrf +// Method: GET +// Response: +// csrf_token: CSRF token to use in POST requests +func getCSRFToken(disabled bool) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + if disabled { + logger.Warning("CSRF check disabled") + wh.Error404(w, "") + return + } + + // generate a new token + csrfToken, err := newCSRFToken() + if err != nil { + logger.Error(err) + wh.Error500(w, fmt.Sprintf("Failed to create a csrf token: %v", err)) + return + } + + wh.SendJSONOr500(logger, w, &map[string]string{"csrf_token": csrfToken}) + } +} + +// CSRFCheck verifies X-CSRF-Token header value +func CSRFCheck(apiVersion string, disabled bool, handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if !disabled { + switch r.Method { + case http.MethodPost, http.MethodPut, http.MethodDelete: + token := r.Header.Get(CSRFHeaderName) + if err := verifyCSRFToken(token); err != nil { + logger.Errorf("CSRF token invalid: %v", err) + writeError(w, apiVersion, http.StatusForbidden, err.Error()) + return + } + } + } + + handler.ServeHTTP(w, r) + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/explorer.go b/vendor/github.com/skycoin/skycoin/src/api/explorer.go new file mode 100644 index 00000000..3b400e41 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/explorer.go @@ -0,0 +1,242 @@ +package api + +import ( + "fmt" + "net/http" + "strconv" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/readable" + "github.com/skycoin/skycoin/src/util/droplet" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +// CoinSupply records the coin supply info +type CoinSupply struct { + // Coins distributed beyond the project: + CurrentSupply string `json:"current_supply"` + // TotalSupply is CurrentSupply plus coins held by the distribution addresses that are spendable + TotalSupply string `json:"total_supply"` + // MaxSupply is the maximum number of coins to be distributed ever + MaxSupply string `json:"max_supply"` + // CurrentCoinHourSupply is coins hours in non distribution addresses + CurrentCoinHourSupply string `json:"current_coinhour_supply"` + // TotalCoinHourSupply is coin hours in all addresses including unlocked distribution addresses + TotalCoinHourSupply string `json:"total_coinhour_supply"` + // Distribution addresses which count towards total supply + UnlockedAddresses []string `json:"unlocked_distribution_addresses"` + // Distribution addresses which are locked and do not count towards total supply + LockedAddresses []string `json:"locked_distribution_addresses"` +} + +func newAddrSet(addrs []cipher.Address) map[cipher.Address]struct{} { + s := make(map[cipher.Address]struct{}, len(addrs)) + for _, a := range addrs { + s[a] = struct{}{} + } + return s +} + +// coinSupplyHandler returns coin distribution supply stats +// Method: GET +// URI: /api/v1/coinSupply +func coinSupplyHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + allUnspents, err := gateway.GetUnspentOutputsSummary(nil) + if err != nil { + err = fmt.Errorf("gateway.GetUnspentOutputsSummary failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + dist := gateway.VisorConfig().Distribution + + unlockedAddrs := dist.UnlockedAddressesDecoded() + // Search map of unlocked addresses, used to filter unspents + unlockedAddrSet := newAddrSet(unlockedAddrs) + + var unlockedSupply uint64 + // check confirmed unspents only + for _, u := range allUnspents.Confirmed { + // check if address is an unlocked distribution address + if _, ok := unlockedAddrSet[u.Body.Address]; ok { + var err error + unlockedSupply, err = mathutil.AddUint64(unlockedSupply, u.Body.Coins) + if err != nil { + err = fmt.Errorf("uint64 overflow while adding up unlocked supply coins: %v", err) + wh.Error500(w, err.Error()) + return + } + } + } + + // "total supply" is the number of coins unlocked. + // Each distribution address was allocated distribution.AddressInitialBalance coins. + totalSupply := uint64(len(unlockedAddrs)) * dist.AddressInitialBalance() + totalSupply *= droplet.Multiplier + + // "current supply" is the number of coins distributed from the unlocked pool + currentSupply := totalSupply - unlockedSupply + + currentSupplyStr, err := droplet.ToString(currentSupply) + if err != nil { + err = fmt.Errorf("Failed to convert coins to string: %v", err) + wh.Error500(w, err.Error()) + return + } + + totalSupplyStr, err := droplet.ToString(totalSupply) + if err != nil { + err = fmt.Errorf("Failed to convert coins to string: %v", err) + wh.Error500(w, err.Error()) + return + } + + maxSupplyStr, err := droplet.ToString(dist.MaxCoinSupply * droplet.Multiplier) + if err != nil { + err = fmt.Errorf("Failed to convert coins to string: %v", err) + wh.Error500(w, err.Error()) + return + } + + // locked distribution addresses + lockedAddrs := dist.LockedAddressesDecoded() + lockedAddrSet := newAddrSet(lockedAddrs) + + // get total coins hours which excludes locked distribution addresses + var totalCoinHours uint64 + for _, out := range allUnspents.Confirmed { + if _, ok := lockedAddrSet[out.Body.Address]; !ok { + var err error + totalCoinHours, err = mathutil.AddUint64(totalCoinHours, out.CalculatedHours) + if err != nil { + err = fmt.Errorf("uint64 overflow while adding up total coin hours: %v", err) + wh.Error500(w, err.Error()) + return + } + } + } + + // get current coin hours which excludes all distribution addresses + var currentCoinHours uint64 + for _, out := range allUnspents.Confirmed { + // check if address not in locked distribution addresses + if _, ok := lockedAddrSet[out.Body.Address]; !ok { + // check if address not in unlocked distribution addresses + if _, ok := unlockedAddrSet[out.Body.Address]; !ok { + currentCoinHours += out.CalculatedHours + } + } + } + + if err != nil { + err = fmt.Errorf("Failed to get total coinhours: %v", err) + wh.Error500(w, err.Error()) + return + } + + cs := CoinSupply{ + CurrentSupply: currentSupplyStr, + TotalSupply: totalSupplyStr, + MaxSupply: maxSupplyStr, + CurrentCoinHourSupply: strconv.FormatUint(currentCoinHours, 10), + TotalCoinHourSupply: strconv.FormatUint(totalCoinHours, 10), + UnlockedAddresses: dist.UnlockedAddresses(), + LockedAddresses: dist.LockedAddresses(), + } + + wh.SendJSONOr500(logger, w, cs) + } +} + +// Richlist contains top address balances +type Richlist struct { + Richlist []readable.RichlistBalance `json:"richlist"` +} + +// richlistHandler returns the top skycoin holders +// Method: GET +// URI: /richlist?n=${number}&include-distribution=${bool} +// Args: +// n [int, number of results to include] +// include-distribution [bool, include the distribution addresses in the richlist] +func richlistHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + var topn int + topnStr := r.FormValue("n") + if topnStr == "" { + topn = 20 + } else { + var err error + topn, err = strconv.Atoi(topnStr) + if err != nil { + wh.Error400(w, "invalid n") + return + } + } + + var includeDistribution bool + includeDistributionStr := r.FormValue("include-distribution") + if includeDistributionStr == "" { + includeDistribution = false + } else { + var err error + includeDistribution, err = strconv.ParseBool(includeDistributionStr) + if err != nil { + wh.Error400(w, "invalid include-distribution") + return + } + } + + richlist, err := gateway.GetRichlist(includeDistribution) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + if topn > 0 && topn < len(richlist) { + richlist = richlist[:topn] + } + + readableRichlist, err := readable.NewRichlistBalances(richlist) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, Richlist{ + Richlist: readableRichlist, + }) + } +} + +// addressCountHandler returns the total number of unique address that have coins +// Method: GET +// URI: /addresscount +func addressCountHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addrCount, err := gateway.AddressCount() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, &map[string]uint64{"count": addrCount}) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/gateway.go b/vendor/github.com/skycoin/skycoin/src/api/gateway.go new file mode 100644 index 00000000..387eb0df --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/gateway.go @@ -0,0 +1,120 @@ +package api + +import ( + "time" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/kvstorage" + "github.com/skycoin/skycoin/src/transaction" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/historydb" + "github.com/skycoin/skycoin/src/wallet" +) + +//go:generate mockery -name Gatewayer -case underscore -inpkg -testonly + +// Gateway bundles daemon.Daemon, Visor, wallet.Service and kvstorage.Manager into a single object +type Gateway struct { + *daemon.Daemon + *visor.Visor + *wallet.Service + *kvstorage.Manager +} + +// NewGateway creates a Gateway +func NewGateway(d *daemon.Daemon, v *visor.Visor, w *wallet.Service, m *kvstorage.Manager) *Gateway { + return &Gateway{ + Daemon: d, + Visor: v, + Service: w, + Manager: m, + } +} + +// Gatewayer interface for Gateway methods +type Gatewayer interface { + Daemoner + Visorer + Walleter + Storer +} + +// Daemoner interface for daemon.Daemon methods used by the API +type Daemoner interface { + DaemonConfig() daemon.DaemonConfig + GetConnection(addr string) (*daemon.Connection, error) + GetConnections(f func(c daemon.Connection) bool) ([]daemon.Connection, error) + DisconnectByGnetID(gnetID uint64) error + GetDefaultConnections() []string + GetTrustConnections() []string + GetExchgConnection() []string + GetBlockchainProgress(headSeq uint64) *daemon.BlockchainProgress + InjectBroadcastTransaction(txn coin.Transaction) error + InjectTransaction(txn coin.Transaction) error +} + +// Visorer interface for visor.Visor methods used by the API +type Visorer interface { + VisorConfig() visor.Config + StartedAt() time.Time + HeadBkSeq() (uint64, bool, error) + GetBlockchainMetadata() (*visor.BlockchainMetadata, error) + ResendUnconfirmedTxns() ([]cipher.SHA256, error) + GetSignedBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) + GetSignedBlockByHashVerbose(hash cipher.SHA256) (*coin.SignedBlock, [][]visor.TransactionInput, error) + GetSignedBlockBySeq(seq uint64) (*coin.SignedBlock, error) + GetSignedBlockBySeqVerbose(seq uint64) (*coin.SignedBlock, [][]visor.TransactionInput, error) + GetBlocks(seqs []uint64) ([]coin.SignedBlock, error) + GetBlocksVerbose(seqs []uint64) ([]coin.SignedBlock, [][][]visor.TransactionInput, error) + GetBlocksInRange(start, end uint64) ([]coin.SignedBlock, error) + GetBlocksInRangeVerbose(start, end uint64) ([]coin.SignedBlock, [][][]visor.TransactionInput, error) + GetLastBlocks(num uint64) ([]coin.SignedBlock, error) + GetLastBlocksVerbose(num uint64) ([]coin.SignedBlock, [][][]visor.TransactionInput, error) + GetUnspentOutputsSummary(filters []visor.OutputsFilter) (*visor.UnspentOutputsSummary, error) + GetBalanceOfAddresses(addrs []cipher.Address) ([]wallet.BalancePair, error) + VerifyTxnVerbose(txn *coin.Transaction, signed visor.TxnSignedFlag) ([]visor.TransactionInput, bool, error) + AddressCount() (uint64, error) + GetUxOutByID(id cipher.SHA256) (*historydb.UxOut, error) + GetSpentOutputsForAddresses(addr []cipher.Address) ([][]historydb.UxOut, error) + GetVerboseTransactionsForAddress(a cipher.Address) ([]visor.Transaction, [][]visor.TransactionInput, error) + GetRichlist(includeDistribution bool) (visor.Richlist, error) + GetAllUnconfirmedTransactions() ([]visor.UnconfirmedTransaction, error) + GetAllUnconfirmedTransactionsVerbose() ([]visor.UnconfirmedTransaction, [][]visor.TransactionInput, error) + GetTransaction(txid cipher.SHA256) (*visor.Transaction, error) + GetTransactionWithInputs(txid cipher.SHA256) (*visor.Transaction, []visor.TransactionInput, error) + GetTransactions(flts []visor.TxFilter) ([]visor.Transaction, error) + GetTransactionsWithInputs(flts []visor.TxFilter) ([]visor.Transaction, [][]visor.TransactionInput, error) + AddressesActivity(addrs []cipher.Address) ([]bool, error) + GetWalletUnconfirmedTransactions(wltID string) ([]visor.UnconfirmedTransaction, error) + GetWalletUnconfirmedTransactionsVerbose(wltID string) ([]visor.UnconfirmedTransaction, [][]visor.TransactionInput, error) + GetWalletBalance(wltID string) (wallet.BalancePair, wallet.AddressBalances, error) + CreateTransaction(p transaction.Params, wp visor.CreateTransactionParams) (*coin.Transaction, []visor.TransactionInput, error) + WalletCreateTransaction(wltID string, p transaction.Params, wp visor.CreateTransactionParams) (*coin.Transaction, []visor.TransactionInput, error) + WalletCreateTransactionSigned(wltID string, password []byte, p transaction.Params, wp visor.CreateTransactionParams) (*coin.Transaction, []visor.TransactionInput, error) + WalletSignTransaction(wltID string, password []byte, txn *coin.Transaction, signIndexes []int) (*coin.Transaction, []visor.TransactionInput, error) +} + +// Walleter interface for wallet.Service methods used by the API +type Walleter interface { + UnloadWallet(wltID string) error + EncryptWallet(wltID string, password []byte) (wallet.Wallet, error) + DecryptWallet(wltID string, password []byte) (wallet.Wallet, error) + GetWalletSeed(wltID string, password []byte) (string, string, error) + CreateWallet(wltName string, options wallet.Options, bg wallet.TransactionsFinder) (wallet.Wallet, error) + RecoverWallet(wltID, seed, seedPassphrase string, password []byte) (wallet.Wallet, error) + NewAddresses(wltID string, password []byte, n uint64) ([]cipher.Address, error) + GetWallet(wltID string) (wallet.Wallet, error) + GetWallets() (wallet.Wallets, error) + UpdateWalletLabel(wltID, label string) error + WalletDir() (string, error) +} + +// Storer interface for kvstorage.Manager methods used by the API +type Storer interface { + GetStorageValue(storageType kvstorage.Type, key string) (string, error) + GetAllStorageValues(storageType kvstorage.Type) (map[string]string, error) + AddStorageValue(storageType kvstorage.Type, key, val string) error + RemoveStorageValue(storageType kvstorage.Type, key string) error +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/health.go b/vendor/github.com/skycoin/skycoin/src/api/health.go new file mode 100644 index 00000000..f64c07cb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/health.go @@ -0,0 +1,118 @@ +package api + +import ( + "fmt" + "net/http" + "time" + + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/readable" + wh "github.com/skycoin/skycoin/src/util/http" +) + +// BlockchainMetadata extends visor.BlockchainMetadata to include the time since the last block +type BlockchainMetadata struct { + readable.BlockchainMetadata + TimeSinceLastBlock wh.Duration `json:"time_since_last_block"` +} + +// HealthResponse is returned by the /health endpoint +type HealthResponse struct { + BlockchainMetadata BlockchainMetadata `json:"blockchain"` + Version readable.BuildInfo `json:"version"` + CoinName string `json:"coin"` + DaemonUserAgent string `json:"user_agent"` + OpenConnections int `json:"open_connections"` + OutgoingConnections int `json:"outgoing_connections"` + IncomingConnections int `json:"incoming_connections"` + Uptime wh.Duration `json:"uptime"` + CSRFEnabled bool `json:"csrf_enabled"` + HeaderCheckEnabled bool `json:"header_check_enabled"` + CSPEnabled bool `json:"csp_enabled"` + WalletAPIEnabled bool `json:"wallet_api_enabled"` + GUIEnabled bool `json:"gui_enabled"` + BlockPublisher bool `json:"block_publisher"` + UserVerifyTxn readable.VerifyTxn `json:"user_verify_transaction"` + UnconfirmedVerifyTxn readable.VerifyTxn `json:"unconfirmed_verify_transaction"` + StartedAt int64 `json:"started_at"` + Fiber readable.FiberConfig `json:"fiber"` +} + +func getHealthData(c muxConfig, gateway Gatewayer) (*HealthResponse, error) { + metadata, err := gateway.GetBlockchainMetadata() + if err != nil { + return nil, fmt.Errorf("gateway.GetBlockchainMetadata failed: %v", err) + } + + conns, err := gateway.GetConnections(func(c daemon.Connection) bool { + return c.State != daemon.ConnectionStatePending + }) + if err != nil { + return nil, fmt.Errorf("gateway.GetConnections failed: %v", err) + } + + outgoingConns := 0 + incomingConns := 0 + for _, c := range conns { + if c.Outgoing { + outgoingConns++ + } else { + incomingConns++ + } + } + + elapsedBlockTime := time.Now().UTC().Unix() - int64(metadata.HeadBlock.Head.Time) + timeSinceLastBlock := time.Second * time.Duration(elapsedBlockTime) + + _, walletAPIEnabled := c.enabledAPISets[EndpointsWallet] + + userAgent, err := c.health.DaemonUserAgent.Build() + if err != nil { + return nil, err + } + + return &HealthResponse{ + BlockchainMetadata: BlockchainMetadata{ + BlockchainMetadata: readable.NewBlockchainMetadata(*metadata), + TimeSinceLastBlock: wh.FromDuration(timeSinceLastBlock), + }, + Version: c.health.BuildInfo, + CoinName: c.health.Fiber.Name, + Fiber: c.health.Fiber, + DaemonUserAgent: userAgent, + OpenConnections: len(conns), + OutgoingConnections: outgoingConns, + IncomingConnections: incomingConns, + CSRFEnabled: !c.disableCSRF, + HeaderCheckEnabled: !c.disableHeaderCheck, + CSPEnabled: !c.disableCSP, + GUIEnabled: c.enableGUI, + BlockPublisher: c.health.BlockPublisher, + WalletAPIEnabled: walletAPIEnabled, + UserVerifyTxn: readable.NewVerifyTxn(params.UserVerifyTxn), + UnconfirmedVerifyTxn: readable.NewVerifyTxn(gateway.DaemonConfig().UnconfirmedVerifyTxn), + Uptime: wh.FromDuration(time.Since(gateway.StartedAt())), + StartedAt: gateway.StartedAt().Unix(), + }, nil +} + +// healthHandler returns node health data +// URI: /api/v1/health +// Method: GET +func healthHandler(c muxConfig, gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + health, err := getHealthData(c, gateway) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, health) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/http.go b/vendor/github.com/skycoin/skycoin/src/api/http.go new file mode 100644 index 00000000..b69c7f3f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/http.go @@ -0,0 +1,703 @@ +/* +Package api implements the REST API interface +*/ +package api + +import ( + "crypto/tls" + "encoding/json" + "fmt" + "io/ioutil" + "net" + "net/http" + "path/filepath" + "strings" + "time" + "unicode" + + "github.com/NYTimes/gziphandler" + "github.com/rs/cors" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/readable" + "github.com/skycoin/skycoin/src/util/file" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/useragent" +) + +var ( + logger = logging.MustGetLogger("api") +) + +const ( + resourceDir = "dist/" + devDir = "dev/" + indexPage = "index.html" + + apiVersion1 = "v1" + apiVersion2 = "v2" + + defaultReadTimeout = time.Second * 10 + defaultWriteTimeout = time.Second * 60 + defaultIdleTimeout = time.Second * 120 + + // EndpointsRead endpoints with no side-effects and no changes in node state + EndpointsRead = "READ" + // EndpointsStatus endpoints offer (meta,runtime)data to dashboard and monitoring clients + EndpointsStatus = "STATUS" + // EndpointsTransaction endpoints export operations on transactions that modify node state + EndpointsTransaction = "TXN" + // EndpointsWallet endpoints implement wallet interface + EndpointsWallet = "WALLET" + // EndpointsInsecureWalletSeed endpoints implement wallet interface + EndpointsInsecureWalletSeed = "INSECURE_WALLET_SEED" + // EndpointsPrometheus endpoints for Go application metrics + EndpointsPrometheus = "PROMETHEUS" + // EndpointsNetCtrl endpoints for managing network connections + EndpointsNetCtrl = "NET_CTRL" + // EndpointsStorage endpoints implement interface for key-value storage for arbitrary data + EndpointsStorage = "STORAGE" +) + +// Server exposes an HTTP API +type Server struct { + server *http.Server + listener net.Listener + done chan struct{} +} + +// Config configures Server +type Config struct { + StaticDir string + DisableCSRF bool + DisableHeaderCheck bool + DisableCSP bool + EnableGUI bool + ReadTimeout time.Duration + WriteTimeout time.Duration + IdleTimeout time.Duration + Health HealthConfig + HostWhitelist []string + EnabledAPISets map[string]struct{} + Username string + Password string +} + +// HealthConfig configuration data exposed in /health +type HealthConfig struct { + BuildInfo readable.BuildInfo + Fiber readable.FiberConfig + DaemonUserAgent useragent.Data + BlockPublisher bool +} + +type muxConfig struct { + host string + appLoc string + enableGUI bool + disableCSRF bool + disableHeaderCheck bool + disableCSP bool + enabledAPISets map[string]struct{} + hostWhitelist []string + username string + password string + health HealthConfig +} + +// HTTPResponse represents the http response struct +type HTTPResponse struct { + Error *HTTPError `json:"error,omitempty"` + Data interface{} `json:"data,omitempty"` +} + +// HTTPError is included in an HTTPResponse +type HTTPError struct { + Message string `json:"message"` + Code int `json:"code"` +} + +// NewHTTPErrorResponse returns an HTTPResponse with the Error field populated +func NewHTTPErrorResponse(code int, msg string) HTTPResponse { + if msg == "" { + msg = http.StatusText(code) + } + + return HTTPResponse{ + Error: &HTTPError{ + Code: code, + Message: msg, + }, + } +} + +func writeHTTPResponse(w http.ResponseWriter, resp HTTPResponse) { + out, err := json.MarshalIndent(resp, "", " ") + if err != nil { + wh.Error500(w, "json.MarshalIndent failed") + return + } + + w.Header().Add("Content-Type", ContentTypeJSON) + + if resp.Error == nil { + w.WriteHeader(http.StatusOK) + } else { + if resp.Error.Code < 400 || resp.Error.Code >= 600 { + logger.Critical().Errorf("writeHTTPResponse invalid error status code: %d", resp.Error.Code) + w.WriteHeader(http.StatusInternalServerError) + } else { + w.WriteHeader(resp.Error.Code) + } + } + + if _, err := w.Write(out); err != nil { + logger.WithError(err).Error("http Write failed") + } +} + +func create(host string, c Config, gateway Gatewayer) (*Server, error) { + var appLoc string + if c.EnableGUI { + var err error + appLoc, err = file.DetermineResourcePath(c.StaticDir, resourceDir, devDir) + if err != nil { + return nil, err + } + logger.Infof("Web resources directory: %s", appLoc) + } + + if c.DisableCSRF { + logger.Warning("CSRF check disabled") + } + + if c.DisableHeaderCheck { + logger.Warning("Header check disabled") + } + + if c.ReadTimeout == 0 { + c.ReadTimeout = defaultReadTimeout + } + if c.WriteTimeout == 0 { + c.WriteTimeout = defaultWriteTimeout + } + if c.IdleTimeout == 0 { + c.IdleTimeout = defaultIdleTimeout + } + + mc := muxConfig{ + host: host, + appLoc: appLoc, + enableGUI: c.EnableGUI, + disableCSRF: c.DisableCSRF, + disableHeaderCheck: c.DisableHeaderCheck, + disableCSP: c.DisableCSP, + health: c.Health, + enabledAPISets: c.EnabledAPISets, + hostWhitelist: c.HostWhitelist, + username: c.Username, + password: c.Password, + } + + srvMux := newServerMux(mc, gateway) + srv := &http.Server{ + Handler: srvMux, + ReadTimeout: c.ReadTimeout, + WriteTimeout: c.WriteTimeout, + IdleTimeout: c.IdleTimeout, + // MaxHeaderBytes: http.DefaultMaxHeaderBytes, // adjust this to allow longer GET queries + } + + return &Server{ + server: srv, + done: make(chan struct{}), + }, nil +} + +// Create creates a new Server instance that listens on HTTP +func Create(host string, c Config, gateway Gatewayer) (*Server, error) { + logger.Warning("HTTPS not in use!") + + listener, err := net.Listen("tcp", host) + if err != nil { + return nil, err + } + + // If the host did not specify a port, allowing the kernel to assign one, + // we need to get the assigned address to know the full hostname + host = listener.Addr().String() + + s, err := create(host, c, gateway) + if err != nil { + if closeErr := s.listener.Close(); closeErr != nil { + logger.WithError(err).Warning("s.listener.Close() error") + } + return nil, err + } + + s.listener = listener + + return s, nil +} + +// CreateHTTPS creates a new Server instance that listens on HTTPS +func CreateHTTPS(host string, c Config, gateway Gatewayer, certFile, keyFile string) (*Server, error) { + cert, err := tls.LoadX509KeyPair(certFile, keyFile) + if err != nil { + return nil, err + } + + logger.Infof("Using %s for the certificate", certFile) + logger.Infof("Using %s for the key", keyFile) + + listener, err := tls.Listen("tcp", host, &tls.Config{ + Certificates: []tls.Certificate{cert}, + }) + if err != nil { + return nil, err + } + + // If the host did not specify a port, allowing the kernel to assign one, + // we need to get the assigned address to know the full hostname + host = listener.Addr().String() + + s, err := create(host, c, gateway) + if err != nil { + if closeErr := s.listener.Close(); closeErr != nil { + logger.WithError(err).Warning("s.listener.Close() error") + } + return nil, err + } + + s.listener = listener + + return s, nil +} + +// Addr returns the listening address of the Server +func (s *Server) Addr() string { + if s == nil || s.listener == nil { + return "" + } + return s.listener.Addr().String() +} + +// Serve serves the web interface on the configured host +func (s *Server) Serve() error { + logger.Infof("Starting web interface on %s", s.listener.Addr()) + defer logger.Info("Web interface closed") + defer close(s.done) + + if err := s.server.Serve(s.listener); err != nil { + if err != http.ErrServerClosed { + return err + } + } + return nil +} + +// Shutdown closes the HTTP service. This can only be called after Serve or ServeHTTPS has been called. +func (s *Server) Shutdown() { + if s == nil { + return + } + + logger.Info("Shutting down web interface") + defer logger.Info("Web interface shut down") + if err := s.listener.Close(); err != nil { + logger.WithError(err).Warning("s.listener.Close() error") + } + <-s.done +} + +// newServerMux creates an http.ServeMux with handlers registered +func newServerMux(c muxConfig, gateway Gatewayer) *http.ServeMux { + mux := http.NewServeMux() + + allowedOrigins := []string{fmt.Sprintf("http://%s", c.host)} + for _, s := range c.hostWhitelist { + allowedOrigins = append(allowedOrigins, fmt.Sprintf("http://%s", s)) + } + + corsHandler := cors.New(cors.Options{ + AllowedOrigins: allowedOrigins, + Debug: false, + AllowedMethods: []string{http.MethodGet, http.MethodPost}, + AllowedHeaders: []string{"Origin", "Accept", "Content-Type", "X-Requested-With", CSRFHeaderName}, + AllowCredentials: false, // credentials are not used, but it would be safe to enable if necessary + OptionsPassthrough: false, + }) + + headerCheck := func(apiVersion, host string, hostWhitelist []string, handler http.Handler) http.Handler { + handler = originRefererCheck(apiVersion, host, hostWhitelist, handler) + handler = hostCheck(apiVersion, host, hostWhitelist, handler) + return handler + } + + forMethodAPISets := func(apiVersion string, f http.Handler, methodsAPISets map[string][]string) http.Handler { + if len(methodsAPISets) == 0 { + logger.Panic("methodsAPISets should not be empty") + } + + switch apiVersion { + case apiVersion1, apiVersion2: + default: + logger.Panicf("Invalid API version %q", apiVersion) + } + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + apiSets := methodsAPISets[r.Method] + + // If no API sets are specified for a given method, return 405 Method Not Allowed + if len(apiSets) == 0 { + switch apiVersion { + case apiVersion1: + wh.Error405(w) + case apiVersion2: + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + } + return + } + + for _, k := range apiSets { + if _, ok := c.enabledAPISets[k]; ok { + f.ServeHTTP(w, r) + return + } + } + + switch apiVersion { + case apiVersion1: + wh.Error403(w, "Endpoint is disabled") + case apiVersion2: + resp := NewHTTPErrorResponse(http.StatusForbidden, "Endpoint is disabled") + writeHTTPResponse(w, resp) + } + }) + } + + webHandlerWithOptionals := func(apiVersion, endpoint string, handlerFunc http.Handler, checkCSRF, checkHeaders bool) { + handler := wh.ElapsedHandler(logger, handlerFunc) + + handler = corsHandler.Handler(handler) + + if checkCSRF { + handler = CSRFCheck(apiVersion, c.disableCSRF, handler) + } + + if checkHeaders { + handler = headerCheck(apiVersion, c.host, c.hostWhitelist, handler) + } + + if apiVersion == apiVersion2 { + handler = ContentTypeJSONRequired(handler) + } + + handler = basicAuth(apiVersion, c.username, c.password, "skycoin daemon", handler) + handler = gziphandler.GzipHandler(handler) + mux.Handle(endpoint, handler) + } + + webHandler := func(apiVersion, endpoint string, handler http.Handler, methodAPISets map[string][]string) { + // methodAPISets can be nil to ignore the concept of API sets for an endpoint. It will always be enabled. + // Explicitly check nil, caller should not pass empty initialized map + if methodAPISets != nil { + handler = forMethodAPISets(apiVersion, handler, methodAPISets) + } + + webHandlerWithOptionals(apiVersion, endpoint, handler, true, !c.disableHeaderCheck) + } + + webHandlerV1 := func(endpoint string, handler http.Handler, methodAPISets map[string][]string) { + webHandler(apiVersion1, "/api/v1"+endpoint, handler, methodAPISets) + } + + webHandlerV2 := func(endpoint string, handler http.Handler, methodAPISets map[string][]string) { + webHandler(apiVersion2, "/api/v2"+endpoint, handler, methodAPISets) + } + + indexHandler := newIndexHandler(c.appLoc, c.enableGUI) + if !c.disableCSP { + indexHandler = CSPHandler(indexHandler, ContentSecurityPolicy) + } + webHandler(apiVersion1, "/", indexHandler, nil) + + if c.enableGUI { + fileInfos, err := ioutil.ReadDir(c.appLoc) + if err != nil { + logger.WithError(err).Panicf("ioutil.ReadDir(%s) failed", c.appLoc) + } + + fs := http.FileServer(http.Dir(c.appLoc)) + if !c.disableCSP { + fs = CSPHandler(fs, ContentSecurityPolicy) + } + + for _, fileInfo := range fileInfos { + route := fmt.Sprintf("/%s", fileInfo.Name()) + if fileInfo.IsDir() { + route = route + "/" + } + + webHandler(apiVersion1, route, fs, nil) + } + } + + // get the current CSRF token + csrfHandlerV1 := func(endpoint string, handler http.Handler) { + webHandlerWithOptionals(apiVersion1, "/api/v1"+endpoint, handler, false, !c.disableHeaderCheck) + } + csrfHandlerV1("/csrf", getCSRFToken(c.disableCSRF)) // csrf is always available, regardless of the API set + + // Status endpoints + webHandlerV1("/version", versionHandler(c.health.BuildInfo), nil) // version is always available, regardless of the API set + webHandlerV1("/health", healthHandler(c, gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead, EndpointsStatus}, + }) + + // Wallet endpoints + webHandlerV1("/wallet", walletHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/create", walletCreateHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/newAddress", walletNewAddressesHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/balance", walletBalanceHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/transaction", walletCreateTransactionHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + webHandlerV2("/wallet/transaction/sign", walletSignTransactionHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/transactions", walletTransactionsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/update", walletUpdateHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + webHandlerV1("/wallets", walletsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsWallet}, + }) + webHandlerV1("/wallets/folderName", walletFolderHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/newSeed", newSeedHandler(), map[string][]string{ + http.MethodGet: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/seed", walletSeedHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsInsecureWalletSeed}, + }) + webHandlerV2("/wallet/seed/verify", http.HandlerFunc(walletVerifySeedHandler), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + + webHandlerV1("/wallet/unload", walletUnloadHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/encrypt", walletEncryptHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + webHandlerV1("/wallet/decrypt", walletDecryptHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + webHandlerV2("/wallet/recover", walletRecoverHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsWallet}, + }) + + // Blockchain interface + webHandlerV1("/blockchain/metadata", blockchainMetadataHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead, EndpointsStatus}, + }) + webHandlerV1("/blockchain/progress", blockchainProgressHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead, EndpointsStatus}, + }) + webHandlerV1("/block", blockHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + webHandlerV1("/blocks", blocksHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + http.MethodPost: []string{EndpointsRead}, + }) + webHandlerV1("/last_blocks", lastBlocksHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + + // Network stats endpoints + webHandlerV1("/network/connection", connectionHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead, EndpointsStatus}, + }) + webHandlerV1("/network/connections", connectionsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead, EndpointsStatus}, + }) + webHandlerV1("/network/defaultConnections", defaultConnectionsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead, EndpointsStatus}, + }) + webHandlerV1("/network/connections/trust", trustConnectionsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead, EndpointsStatus}, + }) + webHandlerV1("/network/connections/exchange", exchgConnectionsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead, EndpointsStatus}, + }) + + // Network admin endpoints + webHandlerV1("/network/connection/disconnect", disconnectHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsNetCtrl}, + }) + + // Transaction related endpoints + webHandlerV1("/pendingTxs", pendingTxnsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + webHandlerV1("/transaction", transactionHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + webHandlerV2("/transaction", transactionHandlerV2(gateway), map[string][]string{ + // http.MethodGet: []string{EndpointsRead}, + http.MethodPost: []string{EndpointsTransaction}, + }) + webHandlerV2("/transaction/verify", verifyTxnHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsRead}, + }) + webHandlerV1("/transactions", transactionsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + http.MethodPost: []string{EndpointsRead}, + }) + webHandlerV1("/injectTransaction", injectTransactionHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsTransaction, EndpointsWallet}, + }) + webHandlerV1("/resendUnconfirmedTxns", resendUnconfirmedTxnsHandler(gateway), map[string][]string{ + http.MethodPost: []string{EndpointsTransaction, EndpointsWallet}, + }) + webHandlerV1("/rawtx", rawTxnHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + + // Unspent output related endpoints + webHandlerV1("/outputs", outputsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + http.MethodPost: []string{EndpointsRead}, + }) + webHandlerV1("/balance", balanceHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + http.MethodPost: []string{EndpointsRead}, + }) + webHandlerV1("/uxout", uxOutHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + webHandlerV1("/address_uxouts", addrUxOutsHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + + // golang process internal metrics for Prometheus + webHandlerV2("/metrics", metricsHandler(c, gateway), map[string][]string{ + http.MethodGet: []string{EndpointsPrometheus}, + }) + + // Address related endpoints + webHandlerV2("/address/verify", http.HandlerFunc(addressVerifyHandler), map[string][]string{ + http.MethodPost: []string{EndpointsRead}, + }) + + // Explorer endpoints + webHandlerV1("/coinSupply", coinSupplyHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + webHandlerV1("/richlist", richlistHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + webHandlerV1("/addresscount", addressCountHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsRead}, + }) + + // Storage endpoint + webHandlerV2("/data", storageHandler(gateway), map[string][]string{ + http.MethodGet: []string{EndpointsStorage}, + http.MethodPost: []string{EndpointsStorage}, + http.MethodDelete: []string{EndpointsStorage}, + }) + + return mux +} + +// newIndexHandler returns a http.Handler for index.html, where index.html is in appLoc +func newIndexHandler(appLoc string, enableGUI bool) http.Handler { + // Serves the main page + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if !enableGUI { + wh.Error404(w, "") + return + } + + if r.URL.Path != "/" { + wh.Error404(w, "") + return + } + + if r.URL.Path == "/" { + page := filepath.Join(appLoc, indexPage) + logger.Debugf("Serving index page: %s", page) + http.ServeFile(w, r, page) + } + }) +} + +// splitCommaString splits a string separated by commas or whitespace into tokens +// and returns an array of unique tokens split from that string +func splitCommaString(s string) []string { + words := strings.FieldsFunc(s, func(r rune) bool { + return r == ',' || unicode.IsSpace(r) + }) + + // Deduplicate + var dedupWords []string + wordsMap := make(map[string]struct{}) + for _, w := range words { + if _, ok := wordsMap[w]; !ok { + dedupWords = append(dedupWords, w) + } + wordsMap[w] = struct{}{} + } + + return dedupWords +} + +// parseAddressesFromStr parses comma-separated addresses string into []cipher.Address +func parseAddressesFromStr(s string) ([]cipher.Address, error) { + addrsStr := splitCommaString(s) + + addrs := make([]cipher.Address, len(addrsStr)) + for i, s := range addrsStr { + a, err := cipher.DecodeBase58Address(s) + if err != nil { + return nil, fmt.Errorf("address %q is invalid: %v", s, err) + } + + addrs[i] = a + } + + return addrs, nil +} + +// parseAddressesFromStr parses comma-separated hashes string into []cipher.SHA256 +func parseHashesFromStr(s string) ([]cipher.SHA256, error) { + hashesStr := splitCommaString(s) + + hashes := make([]cipher.SHA256, len(hashesStr)) + for i, s := range hashesStr { + h, err := cipher.SHA256FromHex(s) + if err != nil { + return nil, fmt.Errorf("SHA256 hash %q is invalid: %v", s, err) + } + + hashes[i] = h + } + + return hashes, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/metrics.go b/vendor/github.com/skycoin/skycoin/src/api/metrics.go new file mode 100644 index 00000000..1edca58d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/metrics.go @@ -0,0 +1,85 @@ +package api + +import ( + "net/http" + + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promhttp" + + wh "github.com/skycoin/skycoin/src/util/http" +) + +var ( + promUnspents = prometheus.NewGauge( + prometheus.GaugeOpts{ + Name: "unspent_outputs", + Help: "Number of unspent outputs", + }) + promUnconfirmedTxns = prometheus.NewGauge( + prometheus.GaugeOpts{ + Name: "unconfirmed_txns", + Help: "Number of unconfirmed transactions", + }) + promTimeSinceLastBlock = prometheus.NewGauge( + prometheus.GaugeOpts{ + Name: "time_since_last_block_seconds", + Help: "Time since the last block created", + }) + promOpenConns = prometheus.NewGauge( + prometheus.GaugeOpts{ + Name: "open_connections", + Help: "Number of open connections", + }) + promOutgoingConns = prometheus.NewGauge( + prometheus.GaugeOpts{ + Name: "outgoing_connections", + Help: "Number of outgoing connections", + }) + promIncomingConns = prometheus.NewGauge( + prometheus.GaugeOpts{ + Name: "incoming_connections", + Help: "Number of incoming connections", + }) + promStartedAt = prometheus.NewGauge( + prometheus.GaugeOpts{ + Name: "started_at", + Help: "Node start time, in unixtime", + }) + promLastBlockSeq = prometheus.NewGauge( + prometheus.GaugeOpts{ + Name: "last_block_seq", + Help: "Last block sequence number", + }) +) + +func init() { + prometheus.MustRegister(promUnspents) + prometheus.MustRegister(promUnconfirmedTxns) + prometheus.MustRegister(promTimeSinceLastBlock) + prometheus.MustRegister(promOpenConns) + prometheus.MustRegister(promOutgoingConns) + prometheus.MustRegister(promIncomingConns) + prometheus.MustRegister(promStartedAt) + prometheus.MustRegister(promLastBlockSeq) +} + +func metricsHandler(c muxConfig, gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + health, err := getHealthData(c, gateway) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + promUnspents.Set(float64(health.BlockchainMetadata.Unspents)) + promUnconfirmedTxns.Set(float64(health.BlockchainMetadata.Unconfirmed)) + promTimeSinceLastBlock.Set(health.BlockchainMetadata.TimeSinceLastBlock.Seconds()) + promOpenConns.Set(float64(health.OpenConnections)) + promOutgoingConns.Set(float64(health.OutgoingConnections)) + promIncomingConns.Set(float64(health.IncomingConnections)) + promStartedAt.Set(float64(gateway.StartedAt().Unix())) + promLastBlockSeq.Set(float64(health.BlockchainMetadata.Head.BkSeq)) + + promhttp.Handler().ServeHTTP(w, r) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/middleware.go b/vendor/github.com/skycoin/skycoin/src/api/middleware.go new file mode 100644 index 00000000..5d9c8a93 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/middleware.go @@ -0,0 +1,208 @@ +package api + +import ( + "crypto/subtle" + "fmt" + "net/http" + "net/url" + "strings" + + "github.com/skycoin/skycoin/src/cipher" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/util/iputil" +) + +// ContentSecurityPolicy represents the value of content-security-policy +// header in http response +const ContentSecurityPolicy = "default-src 'self'" + + "; connect-src 'self' https://api.coinpaprika.com https://swaplab.cc https://version.skycoin.net https://downloads.skycoin.net http://127.0.0.1:9510" + + "; img-src 'self' 'unsafe-inline' data:" + + "; style-src 'self' 'unsafe-inline'" + + "; object-src 'none'" + + "; form-action 'none'" + + "; frame-ancestors 'none'" + + "; block-all-mixed-content" + + "; base-uri 'self'" + +// CSPHandler sets the Content-Security-Policy header +func CSPHandler(handler http.Handler, policy string) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Security-Policy", policy) + handler.ServeHTTP(w, r) + }) +} + +// ContentTypeJSONRequired enforces Content-Type: application/json in a POST request. +// Return 415 Unsupported Media Type if the Content-Type is not application/json, +// in the V2 error format. +func ContentTypeJSONRequired(handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Method == http.MethodPost { + contentType := r.Header.Get("Content-Type") + if !isContentTypeJSON(contentType) { + resp := NewHTTPErrorResponse(http.StatusUnsupportedMediaType, "") + writeHTTPResponse(w, resp) + return + } + } + + handler.ServeHTTP(w, r) + }) +} + +// isContentTypeJSON returns true if the content type is application/json, +// allowing the content-type string to include extra parameters like charset=utf-8, +// for example `Content-Type: application/json; charset=utf-8` will return true. +func isContentTypeJSON(contentType string) bool { + return contentType == ContentTypeJSON || strings.HasPrefix(contentType, ContentTypeJSON+";") +} + +// HostCheck checks that the request's Host header is 127.0.0.1:$port or localhost:$port +// if the HTTP interface host is also a localhost address. +// This prevents DNS rebinding attacks, where an attacker uses a DNS rebinding service +// to bypass CORS checks. +// If the HTTP interface host is not a localhost address, +// the Host header is not checked. This is considered a public interface. +// If the Host header is not set, it is not checked. +// All major browsers send the Host header as required by the HTTP spec. +// hostWhitelist allows additional Host header values to be accepted. +func HostCheck(host string, hostWhitelist []string, handler http.Handler) http.Handler { + return hostCheck(apiVersion1, host, hostWhitelist, handler) +} + +func hostCheck(apiVersion, host string, hostWhitelist []string, handler http.Handler) http.Handler { + addr := host + var port uint16 + if strings.Contains(host, ":") { + var err error + addr, port, err = iputil.SplitAddr(host) + if err != nil { + logger.Panic(err) + } + } + + isLocalhost := iputil.IsLocalhost(addr) + + if isLocalhost && port == 0 { + logger.Panic("localhost with no port specified is unsupported") + } + + hostWhitelistMap := make(map[string]struct{}, len(hostWhitelist)+2) + for _, k := range hostWhitelist { + hostWhitelistMap[k] = struct{}{} + } + hostWhitelistMap[fmt.Sprintf("127.0.0.1:%d", port)] = struct{}{} + hostWhitelistMap[fmt.Sprintf("localhost:%d", port)] = struct{}{} + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // NOTE: The "Host" header is not in http.Request.Header, it's put in the http.Request.Host field + _, isWhitelisted := hostWhitelistMap[r.Host] + if isLocalhost && r.Host != "" && !isWhitelisted { + logger.Critical().Errorf("Detected DNS rebind attempt - configured-host=%s header-host=%s", host, r.Host) + writeError(w, apiVersion, http.StatusForbidden, "Invalid Host") + return + } + + handler.ServeHTTP(w, r) + }) +} + +// OriginRefererCheck checks the Origin header if present, falling back on Referer. +// The Origin or Referer hostname must match the configured host. +// If neither are present, the request is allowed. All major browsers will set +// at least one of these values. If neither are set, assume it is a request +// from curl/wget. +func OriginRefererCheck(host string, hostWhitelist []string, handler http.Handler) http.Handler { + return originRefererCheck(apiVersion1, host, hostWhitelist, handler) +} + +func originRefererCheck(apiVersion, host string, hostWhitelist []string, handler http.Handler) http.Handler { + hostWhitelistMap := make(map[string]struct{}, len(hostWhitelist)+2) + for _, k := range hostWhitelist { + hostWhitelistMap[k] = struct{}{} + } + + if addr, port, _ := iputil.SplitAddr(host); iputil.IsLocalhost(addr) { //nolint:errcheck + hostWhitelistMap[fmt.Sprintf("127.0.0.1:%d", port)] = struct{}{} + hostWhitelistMap[fmt.Sprintf("localhost:%d", port)] = struct{}{} + } else { + hostWhitelistMap[host] = struct{}{} + } + + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + origin := r.Header.Get("Origin") + referer := r.Header.Get("Referer") + toCheck := origin + toCheckHeader := "Origin" + if toCheck == "" { + toCheck = referer + toCheckHeader = "Referer" + } + + if toCheck != "" { + u, err := url.Parse(toCheck) + if err != nil { + logger.Critical().Errorf("Invalid URL in %s header: %s %v", toCheckHeader, toCheck, err) + writeError(w, apiVersion, http.StatusForbidden, "Invalid URL in Origin or Referer header") + return + } + + if _, isWhitelisted := hostWhitelistMap[u.Host]; !isWhitelisted { + logger.Critical().Errorf("%s header value %s does not match host and is not whitelisted", toCheckHeader, toCheck) + writeError(w, apiVersion, http.StatusForbidden, "Invalid Origin or Referer") + return + } + } + + handler.ServeHTTP(w, r) + }) +} + +func basicAuth(apiVersion, username, password, realm string, f http.Handler) http.HandlerFunc { + needsAuth := username != "" || password != "" + usernamePasswordHash := cipher.SumSHA256(append([]byte(username), []byte(password)...)) + authHeader := fmt.Sprintf("Basic realm=%q", realm) + + return func(w http.ResponseWriter, r *http.Request) { + user, pass, ok := r.BasicAuth() + + if needsAuth { + if !ok { + w.Header().Set("WWW-Authenticate", authHeader) + writeError(w, apiVersion, http.StatusUnauthorized, "") + return + } + + userPassHash := cipher.SumSHA256(append([]byte(user), []byte(pass)...)) + + if subtle.ConstantTimeCompare(userPassHash[:], usernamePasswordHash[:]) != 1 { + w.Header().Set("WWW-Authenticate", authHeader) + writeError(w, apiVersion, http.StatusUnauthorized, "") + return + } + } else { + // If auth is not configured but the request provides auth, reject + // This will avoid a mistake where the daemon is not configured with auth, + // but the client is, and does not realize the daemon is not configured with auth + // because all requests are accepted + if user != "" || pass != "" { + w.Header().Set("WWW-Authenticate", authHeader) + writeError(w, apiVersion, http.StatusUnauthorized, "") + return + } + } + + f.ServeHTTP(w, r) + } +} + +func writeError(w http.ResponseWriter, apiVersion string, code int, msg string) { + switch apiVersion { + case apiVersion1: + wh.ErrorXXX(w, code, msg) + case apiVersion2: + writeHTTPResponse(w, NewHTTPErrorResponse(code, msg)) + default: + wh.Error500(w, "Invalid internal API version") + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/network.go b/vendor/github.com/skycoin/skycoin/src/api/network.go new file mode 100644 index 00000000..384f8191 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/network.go @@ -0,0 +1,228 @@ +package api + +// APIs for network-related information + +import ( + "fmt" + "net/http" + "sort" + "strconv" + "strings" + + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/readable" + wh "github.com/skycoin/skycoin/src/util/http" +) + +// connectionHandler returns a specific connection +// URI: /api/v1/network/connections +// Method: GET +// Args: +// addr - An IP:Port string +func connectionHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addr := r.FormValue("addr") + if addr == "" { + wh.Error400(w, "addr is required") + return + } + + c, err := gateway.GetConnection(addr) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + if c == nil { + wh.Error404(w, "") + return + } + + wh.SendJSONOr500(logger, w, readable.NewConnection(c)) + } +} + +// Connections wraps []Connection +type Connections struct { + Connections []readable.Connection `json:"connections"` +} + +// NewConnections copies []daemon.Connection to a struct with json tags +func NewConnections(dconns []daemon.Connection) Connections { + conns := make([]readable.Connection, len(dconns)) + for i, dc := range dconns { + conns[i] = readable.NewConnection(&dc) + } + + return Connections{ + Connections: conns, + } +} + +// connectionsHandler returns all outgoing connections +// URI: /api/v1/network/connections +// Method: GET +// Args: +// states: [optional] comma-separated list of connection states ("pending", "connected" or "introduced"). Defaults to "connected,introduced" +// direction: [optional] "outgoing" or "incoming". If not provided, both are included. +func connectionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + formStates := r.FormValue("states") + statesMap := make(map[daemon.ConnectionState]struct{}, 3) + if formStates != "" { + states := strings.Split(formStates, ",") + for _, s := range states { + switch daemon.ConnectionState(s) { + case daemon.ConnectionStatePending, + daemon.ConnectionStateConnected, + daemon.ConnectionStateIntroduced: + statesMap[daemon.ConnectionState(s)] = struct{}{} + default: + wh.Error400(w, fmt.Sprintf("Invalid state in states. Valid states are %q, %q or %q", daemon.ConnectionStatePending, daemon.ConnectionStateConnected, daemon.ConnectionStateIntroduced)) + return + } + } + } + + // "connected" and "introduced" are the defaults, if not specified + if len(statesMap) == 0 { + statesMap[daemon.ConnectionStateConnected] = struct{}{} + statesMap[daemon.ConnectionStateIntroduced] = struct{}{} + } + + direction := r.FormValue("direction") + switch direction { + case "incoming", "outgoing", "": + default: + wh.Error400(w, "Invalid direction. Valid directions are \"outgoing\" or \"incoming\"") + return + } + + conns, err := gateway.GetConnections(func(c daemon.Connection) bool { + switch direction { + case "outgoing": + if !c.Outgoing { + return false + } + case "incoming": + if c.Outgoing { + return false + } + } + + if _, ok := statesMap[c.State]; !ok { + return false + } + + return true + }) + + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, NewConnections(conns)) + } +} + +// defaultConnectionsHandler returns the list of default hardcoded bootstrap addresses. +// They are not necessarily connected to. +// URI: /api/v1/network/defaultConnections +// Method: GET +func defaultConnectionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + conns := gateway.GetDefaultConnections() + sort.Strings(conns) + + wh.SendJSONOr500(logger, w, conns) + } +} + +// trustConnectionsHandler returns all trusted connections +// In the default configuration, these will be a subset of the default hardcoded bootstrap addresses +// URI: /api/v1/network/trust +// Method: GET +func trustConnectionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + conns := gateway.GetTrustConnections() + sort.Strings(conns) + + wh.SendJSONOr500(logger, w, conns) + } +} + +// exchgConnectionsHandler returns all connections found through peer exchange +// URI: /api/v1/network/exchange +// Method: GET +func exchgConnectionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + conns := gateway.GetExchgConnection() + sort.Strings(conns) + + wh.SendJSONOr500(logger, w, conns) + } +} + +// disconnectHandler disconnects a connection by ID or address +// URI: /api/v1/network/connection/disconnect +// Method: POST +// Args: +// id: ID of the connection +func disconnectHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + formID := r.FormValue("id") + if formID == "" { + wh.Error400(w, "id is required") + return + } + + id, err := strconv.ParseUint(formID, 10, 64) + if err != nil || id == 0 { // gnet IDs are non-zero + wh.Error400(w, "invalid id") + return + } + + if err := gateway.DisconnectByGnetID(uint64(id)); err != nil { + switch err { + case daemon.ErrConnectionNotExist: + wh.Error404(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + wh.SendJSONOr500(logger, w, struct{}{}) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/outputs.go b/vendor/github.com/skycoin/skycoin/src/api/outputs.go new file mode 100644 index 00000000..9e672e8e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/outputs.go @@ -0,0 +1,77 @@ +package api + +import ( + "fmt" + "net/http" + + "github.com/skycoin/skycoin/src/readable" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/visor" +) + +// outputsHandler returns UxOuts filtered by a set of addresses or a set of hashes +// URI: /api/v1/outputs +// Method: GET, POST +// Args: +// addrs: comma-separated list of addresses +// hashes: comma-separated list of uxout hashes +// If neither addrs nor hashes are specificed, return all unspent outputs. +// If only one filter is specified, then return outputs match the filter. +// Both filters cannot be specified. +func outputsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet && r.Method != http.MethodPost { + wh.Error405(w) + return + } + + addrStr := r.FormValue("addrs") + hashStr := r.FormValue("hashes") + + if addrStr != "" && hashStr != "" { + wh.Error400(w, "addrs and hashes cannot be specified together") + return + } + + var filters []visor.OutputsFilter + + if addrStr != "" { + addrs, err := parseAddressesFromStr(addrStr) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if len(addrs) > 0 { + filters = append(filters, visor.FbyAddresses(addrs)) + } + } + + if hashStr != "" { + hashes, err := parseHashesFromStr(hashStr) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if len(hashes) > 0 { + filters = append(filters, visor.FbyHashes(hashes)) + } + } + + summary, err := gateway.GetUnspentOutputsSummary(filters) + if err != nil { + err = fmt.Errorf("gateway.GetUnspentOutputsSummary failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + rSummary, err := readable.NewUnspentOutputsSummary(summary) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rSummary) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/spend.go b/vendor/github.com/skycoin/skycoin/src/api/spend.go new file mode 100644 index 00000000..44e0d15f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/spend.go @@ -0,0 +1,748 @@ +package api + +import ( + "encoding/json" + "errors" + "fmt" + "net/http" + "strconv" + + "github.com/shopspring/decimal" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/transaction" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/util/fee" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/util/mathutil" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/wallet" +) + +// CreateTransactionResponse is returned by /wallet/transaction +type CreateTransactionResponse struct { + Transaction CreatedTransaction `json:"transaction"` + EncodedTransaction string `json:"encoded_transaction"` +} + +// NewCreateTransactionResponse creates a CreateTransactionResponse +func NewCreateTransactionResponse(txn *coin.Transaction, inputs []visor.TransactionInput) (*CreateTransactionResponse, error) { + cTxn, err := NewCreatedTransaction(txn, inputs) + if err != nil { + return nil, err + } + + txnHex, err := txn.SerializeHex() + if err != nil { + return nil, err + } + + return &CreateTransactionResponse{ + Transaction: *cTxn, + EncodedTransaction: txnHex, + }, nil +} + +// CreatedTransaction represents a transaction created by /wallet/transaction +type CreatedTransaction struct { + Length uint32 `json:"length"` + Type uint8 `json:"type"` + TxID string `json:"txid"` + InnerHash string `json:"inner_hash"` + Fee string `json:"fee"` + + Sigs []string `json:"sigs"` + In []CreatedTransactionInput `json:"inputs"` + Out []CreatedTransactionOutput `json:"outputs"` +} + +// NewCreatedTransaction returns a CreatedTransaction +func NewCreatedTransaction(txn *coin.Transaction, inputs []visor.TransactionInput) (*CreatedTransaction, error) { + if len(txn.In) != len(inputs) { + return nil, errors.New("len(txn.In) != len(inputs)") + } + + var outputHours uint64 + for _, o := range txn.Out { + var err error + outputHours, err = mathutil.AddUint64(outputHours, o.Hours) + if err != nil { + return nil, err + } + } + + var inputHours uint64 + for _, i := range inputs { + var err error + inputHours, err = mathutil.AddUint64(inputHours, i.CalculatedHours) + if err != nil { + return nil, err + } + } + + if inputHours < outputHours { + return nil, errors.New("inputHours unexpectedly less than output hours") + } + + fee := inputHours - outputHours + + sigs := make([]string, len(txn.Sigs)) + for i, s := range txn.Sigs { + sigs[i] = s.Hex() + } + + txID := txn.Hash() + out := make([]CreatedTransactionOutput, len(txn.Out)) + for i, o := range txn.Out { + co, err := NewCreatedTransactionOutput(o, txID) + if err != nil { + return nil, err + } + out[i] = *co + } + + in := make([]CreatedTransactionInput, len(inputs)) + for i, o := range inputs { + ci, err := NewCreatedTransactionInput(o) + if err != nil { + return nil, err + } + in[i] = *ci + } + + return &CreatedTransaction{ + Length: txn.Length, + Type: txn.Type, + TxID: txID.Hex(), + InnerHash: txn.InnerHash.Hex(), + Fee: fmt.Sprint(fee), + + Sigs: sigs, + In: in, + Out: out, + }, nil +} + +// ToTransaction converts a CreatedTransaction back to a coin.Transaction +func (r *CreatedTransaction) ToTransaction() (*coin.Transaction, error) { + t := coin.Transaction{} + + t.Length = r.Length + t.Type = r.Type + + var err error + t.InnerHash, err = cipher.SHA256FromHex(r.InnerHash) + if err != nil { + return nil, err + } + + sigs := make([]cipher.Sig, len(r.Sigs)) + for i, s := range r.Sigs { + sigs[i], err = cipher.SigFromHex(s) + if err != nil { + return nil, err + } + } + + t.Sigs = sigs + + in := make([]cipher.SHA256, len(r.In)) + for i, n := range r.In { + in[i], err = cipher.SHA256FromHex(n.UxID) + if err != nil { + return nil, err + } + } + + t.In = in + + out := make([]coin.TransactionOutput, len(r.Out)) + for i, o := range r.Out { + addr, err := cipher.DecodeBase58Address(o.Address) + if err != nil { + return nil, err + } + + coins, err := droplet.FromString(o.Coins) + if err != nil { + return nil, err + } + + hours, err := strconv.ParseUint(o.Hours, 10, 64) + if err != nil { + return nil, err + } + + out[i] = coin.TransactionOutput{ + Address: addr, + Coins: coins, + Hours: hours, + } + } + + t.Out = out + + hash, err := cipher.SHA256FromHex(r.TxID) + if err != nil { + return nil, err + } + + if t.Hash() != hash { + return nil, fmt.Errorf("readable.Transaction.Hash %s does not match parsed transaction hash %s", t.Hash().Hex(), hash.Hex()) + } + + return &t, nil +} + +// CreatedTransactionOutput is a transaction output +type CreatedTransactionOutput struct { + UxID string `json:"uxid"` + Address string `json:"address"` + Coins string `json:"coins"` + Hours string `json:"hours"` +} + +// NewCreatedTransactionOutput creates CreatedTransactionOutput +func NewCreatedTransactionOutput(out coin.TransactionOutput, txid cipher.SHA256) (*CreatedTransactionOutput, error) { + coins, err := droplet.ToString(out.Coins) + if err != nil { + return nil, err + } + + return &CreatedTransactionOutput{ + UxID: out.UxID(txid).Hex(), + Address: out.Address.String(), + Coins: coins, + Hours: fmt.Sprint(out.Hours), + }, nil +} + +// CreatedTransactionInput is a verbose transaction input +type CreatedTransactionInput struct { + UxID string `json:"uxid"` + Address string `json:"address,omitempty"` + Coins string `json:"coins,omitempty"` + Hours string `json:"hours,omitempty"` + CalculatedHours string `json:"calculated_hours,omitempty"` + Time uint64 `json:"timestamp,omitempty"` + Block uint64 `json:"block,omitempty"` + TxID string `json:"txid,omitempty"` +} + +// NewCreatedTransactionInput creates CreatedTransactionInput +func NewCreatedTransactionInput(out visor.TransactionInput) (*CreatedTransactionInput, error) { + coins, err := droplet.ToString(out.UxOut.Body.Coins) + if err != nil { + return nil, err + } + + if out.UxOut.Body.SrcTransaction.Null() { + return nil, errors.New("NewCreatedTransactionInput UxOut.SrcTransaction is not initialized") + } + + addr := out.UxOut.Body.Address.String() + hours := fmt.Sprint(out.UxOut.Body.Hours) + calculatedHours := fmt.Sprint(out.CalculatedHours) + txID := out.UxOut.Body.SrcTransaction.Hex() + + return &CreatedTransactionInput{ + UxID: out.UxOut.Hash().Hex(), + Address: addr, + Coins: coins, + Hours: hours, + CalculatedHours: calculatedHours, + Time: out.UxOut.Head.Time, + Block: out.UxOut.Head.BkSeq, + TxID: txID, + }, nil +} + +// createTransactionRequest is sent to POST /api/v2/transaction +type createTransactionRequest struct { + IgnoreUnconfirmed bool `json:"ignore_unconfirmed"` + HoursSelection hoursSelection `json:"hours_selection"` + ChangeAddress *wh.Address `json:"change_address,omitempty"` + To []receiver `json:"to"` + UxOuts []wh.SHA256 `json:"unspents,omitempty"` + Addresses []wh.Address `json:"addresses,omitempty"` +} + +// hoursSelection defines options for hours distribution +type hoursSelection struct { + Type string `json:"type"` + Mode string `json:"mode"` + ShareFactor *decimal.Decimal `json:"share_factor,omitempty"` +} + +// receiver specifies a spend destination +type receiver struct { + Address wh.Address `json:"address"` + Coins wh.Coins `json:"coins"` + Hours *wh.Hours `json:"hours,omitempty"` +} + +// Validate validates createTransactionRequest data +func (r createTransactionRequest) Validate() error { + if r.ChangeAddress != nil && r.ChangeAddress.Null() { + return errors.New("change_address must not be the null address") + } + + switch r.HoursSelection.Type { + case transaction.HoursSelectionTypeAuto: + for i, to := range r.To { + if to.Hours != nil { + return fmt.Errorf("to[%d].hours must not be specified for auto hours_selection.mode", i) + } + } + + switch r.HoursSelection.Mode { + case transaction.HoursSelectionModeShare: + case "": + return errors.New("missing hours_selection.mode") + default: + return errors.New("invalid hours_selection.mode") + } + + case transaction.HoursSelectionTypeManual: + for i, to := range r.To { + if to.Hours == nil { + return fmt.Errorf("to[%d].hours must be specified for manual hours_selection.mode", i) + } + } + + if r.HoursSelection.Mode != "" { + return errors.New("hours_selection.mode cannot be used for manual hours_selection.type") + } + + case "": + return errors.New("missing hours_selection.type") + default: + return errors.New("invalid hours_selection.type") + } + + if r.HoursSelection.ShareFactor == nil { + if r.HoursSelection.Mode == transaction.HoursSelectionModeShare { + return errors.New("missing hours_selection.share_factor when hours_selection.mode is share") + } + } else { + if r.HoursSelection.Mode != transaction.HoursSelectionModeShare { + return errors.New("hours_selection.share_factor can only be used when hours_selection.mode is share") + } + + switch { + case r.HoursSelection.ShareFactor.LessThan(decimal.New(0, 0)): + return errors.New("hours_selection.share_factor cannot be negative") + case r.HoursSelection.ShareFactor.GreaterThan(decimal.New(1, 0)): + return errors.New("hours_selection.share_factor cannot be more than 1") + } + } + + if len(r.UxOuts) != 0 && len(r.Addresses) != 0 { + return errors.New("unspents and addresses cannot be combined") + } + + addressMap := make(map[cipher.Address]struct{}, len(r.Addresses)) + for i, a := range r.Addresses { + if a.Null() { + return fmt.Errorf("addresses[%d] is empty", i) + } + + if _, ok := addressMap[a.Address]; ok { + return errors.New("addresses contains duplicate values") + } + + addressMap[a.Address] = struct{}{} + } + + // Check for duplicate spending uxouts + uxouts := make(map[cipher.SHA256]struct{}, len(r.UxOuts)) + for _, o := range r.UxOuts { + if _, ok := uxouts[o.SHA256]; ok { + return errors.New("unspents contains duplicate values") + } + + uxouts[o.SHA256] = struct{}{} + } + + if len(r.To) == 0 { + return errors.New("to is empty") + } + + for i, to := range r.To { + if to.Address.Null() { + return fmt.Errorf("to[%d].address is empty", i) + } + + if to.Coins == 0 { + return fmt.Errorf("to[%d].coins must not be zero", i) + } + + if to.Coins.Value()%params.UserVerifyTxn.MaxDropletDivisor() != 0 { + return fmt.Errorf("to[%d].coins has too many decimal places", i) + } + } + + // Check for duplicate created outputs, a transaction can't have outputs with + // the same (address, coins, hours) + // Auto mode would distribute hours to the outputs and could hypothetically + // avoid assigning duplicate hours in many cases, but the complexity for doing + // so is very high, so also reject duplicate (address, coins) for auto mode. + outputs := make(map[coin.TransactionOutput]struct{}, len(r.To)) + for _, to := range r.To { + var hours uint64 + if to.Hours != nil { + hours = to.Hours.Value() + } + + txo := coin.TransactionOutput{ + Address: to.Address.Address, + Coins: to.Coins.Value(), + Hours: hours, + } + + if _, ok := outputs[txo]; ok { + return errors.New("to contains duplicate values") + } + + outputs[txo] = struct{}{} + } + + return nil +} + +// TransactionParams converts createTransactionRequest to transaction.Params +func (r createTransactionRequest) TransactionParams() transaction.Params { + to := make([]coin.TransactionOutput, len(r.To)) + for i, t := range r.To { + var hours uint64 + if t.Hours != nil { + hours = t.Hours.Value() + } + + to[i] = coin.TransactionOutput{ + Address: t.Address.Address, + Coins: t.Coins.Value(), + Hours: hours, + } + } + + var changeAddress *cipher.Address + if r.ChangeAddress != nil { + changeAddress = &r.ChangeAddress.Address + } + + return transaction.Params{ + HoursSelection: transaction.HoursSelection{ + Type: r.HoursSelection.Type, + Mode: r.HoursSelection.Mode, + ShareFactor: r.HoursSelection.ShareFactor, + }, + ChangeAddress: changeAddress, + To: to, + } +} + +func (r createTransactionRequest) VisorParams() visor.CreateTransactionParams { + return visor.CreateTransactionParams{ + IgnoreUnconfirmed: r.IgnoreUnconfirmed, + Addresses: r.addresses(), + UxOuts: r.uxOuts(), + } +} + +func (r createTransactionRequest) addresses() []cipher.Address { + if len(r.Addresses) == 0 { + return nil + } + addresses := make([]cipher.Address, len(r.Addresses)) + for i, a := range r.Addresses { + addresses[i] = a.Address + } + return addresses +} + +func (r createTransactionRequest) uxOuts() []cipher.SHA256 { + if len(r.UxOuts) == 0 { + return nil + } + uxouts := make([]cipher.SHA256, len(r.UxOuts)) + for i, o := range r.UxOuts { + uxouts[i] = o.SHA256 + } + return uxouts +} + +// transactionHandlerV2 creates a transaction from provided outputs and parameters +// Method: POST +// URI: /api/v2/transaction +// Args: JSON body +func transactionHandlerV2(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + var req createTransactionRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + if err := req.Validate(); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + // Check that addresses or unspents are not empty + // This is not checked in Validate() because POST /api/v1/wallet/transaction + // allows both to be empty + if len(req.Addresses) == 0 && len(req.UxOuts) == 0 { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "one of addresses or unspents must not be empty") + writeHTTPResponse(w, resp) + return + } + + txn, inputs, err := gateway.CreateTransaction(req.TransactionParams(), req.VisorParams()) + if err != nil { + var resp HTTPResponse + switch err.(type) { + case blockdb.ErrUnspentNotExist, transaction.Error, visor.UserError, wallet.Error: + resp = NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + default: + switch err { + case fee.ErrTxnNoFee, fee.ErrTxnInsufficientCoinHours: + resp = NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + default: + resp = NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + } + } + writeHTTPResponse(w, resp) + return + } + + txnResp, err := NewCreateTransactionResponse(txn, inputs) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusInternalServerError, fmt.Sprintf("NewCreateTransactionResponse failed: %v", err)) + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{ + Data: txnResp, + }) + } +} + +// walletCreateTransactionRequest is sent to POST /api/v1/wallet/transaction +type walletCreateTransactionRequest struct { + Unsigned bool `json:"unsigned"` + WalletID string `json:"wallet_id"` + Password string `json:"password"` + createTransactionRequest +} + +// Validate validates walletCreateTransactionRequest data +func (r walletCreateTransactionRequest) Validate() error { + if r.WalletID == "" { + return errors.New("missing wallet_id") + } + + if r.Unsigned && len(r.Password) != 0 { + return errors.New("password must not be used for unsigned transactions") + } + + return r.createTransactionRequest.Validate() +} + +// walletCreateTransactionHandler creates a transaction +// Method: POST +// URI: /api/v1/wallet/transaction +// Args: JSON body +func walletCreateTransactionHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + if !isContentTypeJSON(r.Header.Get("Content-Type")) { + wh.Error415(w) + return + } + + var req walletCreateTransactionRequest + err := json.NewDecoder(r.Body).Decode(&req) + if err != nil { + logger.WithError(err).Error("Invalid create transaction request") + wh.Error400(w, err.Error()) + return + } + + if err := req.Validate(); err != nil { + logger.WithError(err).Error("Invalid create transaction request") + wh.Error400(w, err.Error()) + return + } + + var txn *coin.Transaction + var inputs []visor.TransactionInput + if req.Unsigned { + txn, inputs, err = gateway.WalletCreateTransaction(req.WalletID, req.TransactionParams(), req.VisorParams()) + } else { + txn, inputs, err = gateway.WalletCreateTransactionSigned(req.WalletID, []byte(req.Password), req.TransactionParams(), req.VisorParams()) + } + if err != nil { + switch err.(type) { + case wallet.Error: + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + case wallet.ErrWalletNotExist: + wh.Error404(w, err.Error()) + default: + wh.Error400(w, err.Error()) + } + case blockdb.ErrUnspentNotExist, + transaction.Error, + visor.UserError: + wh.Error400(w, err.Error()) + default: + switch err { + case fee.ErrTxnNoFee, + fee.ErrTxnInsufficientCoinHours: + wh.Error400(w, err.Error()) + default: + wh.Error500(w, err.Error()) + } + } + return + } + + txnResp, err := NewCreateTransactionResponse(txn, inputs) + if err != nil { + err = fmt.Errorf("NewCreateTransactionResponse failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, txnResp) + } +} + +// WalletSignTransactionRequest is the request body object for /api/v2/wallet/transaction/sign +type WalletSignTransactionRequest struct { + WalletID string `json:"wallet_id"` + Password string `json:"password"` + EncodedTransaction string `json:"encoded_transaction"` + SignIndexes []int `json:"sign_indexes"` +} + +// walletSignTransactionHandler signs an unsigned transaction +// Method: POST +// URI: /api/v2/wallet/transaction/sign +// Args: JSON body +func walletSignTransactionHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + var req WalletSignTransactionRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + if req.WalletID == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "wallet_id is required") + writeHTTPResponse(w, resp) + return + } + + if req.EncodedTransaction == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "encoded_transaction is required") + writeHTTPResponse(w, resp) + return + } + + txn, err := decodeTxn(req.EncodedTransaction) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, fmt.Sprintf("Decode transaction failed: %v", err)) + writeHTTPResponse(w, resp) + return + } + + // Check that number of sign_indexes does not exceed number of inputs + if len(req.SignIndexes) > len(txn.In) { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "Too many values in sign_indexes") + writeHTTPResponse(w, resp) + return + } + + // Check that values in sign_indexes are in the range of txn inputs + for _, i := range req.SignIndexes { + if i < 0 || i >= len(txn.In) { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "Value in sign_indexes exceeds range of transaction inputs array") + writeHTTPResponse(w, resp) + return + } + } + + // Check for duplicate values in sign_indexes + signIndexesMap := make(map[int]struct{}, len(req.SignIndexes)) + for _, i := range req.SignIndexes { + if _, ok := signIndexesMap[i]; ok { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "Duplicate value in sign_indexes") + writeHTTPResponse(w, resp) + return + } + signIndexesMap[i] = struct{}{} + } + + signedTxn, inputs, err := gateway.WalletSignTransaction(req.WalletID, []byte(req.Password), txn, req.SignIndexes) + if err != nil { + var resp HTTPResponse + switch err.(type) { + case wallet.Error: + switch err { + case wallet.ErrWalletNotExist: + resp = NewHTTPErrorResponse(http.StatusNotFound, err.Error()) + case wallet.ErrWalletAPIDisabled: + resp = NewHTTPErrorResponse(http.StatusForbidden, err.Error()) + default: + resp = NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + } + case visor.ErrTxnViolatesSoftConstraint, + visor.ErrTxnViolatesHardConstraint, + visor.ErrTxnViolatesUserConstraint, + blockdb.ErrUnspentNotExist: + resp = NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + default: + resp = NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + } + writeHTTPResponse(w, resp) + return + } + + txnResp, err := NewCreateTransactionResponse(signedTxn, inputs) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{ + Data: txnResp, + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/storage.go b/vendor/github.com/skycoin/skycoin/src/api/storage.go new file mode 100644 index 00000000..36b4f919 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/storage.go @@ -0,0 +1,190 @@ +package api + +import ( + "encoding/json" + "net/http" + + "github.com/skycoin/skycoin/src/kvstorage" +) + +// Dispatches /data endpoint. +// Method: GET, POST, DELETE +// URI: /api/v2/data +func storageHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + switch r.Method { + case http.MethodGet: + getStorageValuesHandler(w, r, gateway) + case http.MethodPost: + addStorageValueHandler(w, r, gateway) + case http.MethodDelete: + removeStorageValueHandler(w, r, gateway) + default: + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + } + } +} + +// serves GET requests for /data enpdoint +func getStorageValuesHandler(w http.ResponseWriter, r *http.Request, gateway Gatewayer) { + storageType := r.FormValue("type") + if storageType == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "type is required") + writeHTTPResponse(w, resp) + return + } + + key := r.FormValue("key") + + if key == "" { + getAllStorageValuesHandler(w, gateway, kvstorage.Type(storageType)) + } else { + getStorageValueHandler(w, gateway, kvstorage.Type(storageType), key) + } +} + +// Returns all existing storage values of a given storage type. +// Args: +// type: storage type to get values from +func getAllStorageValuesHandler(w http.ResponseWriter, gateway Gatewayer, storageType kvstorage.Type) { + data, err := gateway.GetAllStorageValues(kvstorage.Type(storageType)) + if err != nil { + var resp HTTPResponse + switch err { + case kvstorage.ErrStorageAPIDisabled: + resp = NewHTTPErrorResponse(http.StatusForbidden, "") + case kvstorage.ErrNoSuchStorage: + resp = NewHTTPErrorResponse(http.StatusNotFound, "storage is not loaded") + case kvstorage.ErrUnknownKVStorageType: + resp = NewHTTPErrorResponse(http.StatusBadRequest, "unknown storage") + default: + resp = NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + } + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{ + Data: data, + }) +} + +// Returns value from storage of a given type by key. +// Args: +// key: key for a value to be retrieved +func getStorageValueHandler(w http.ResponseWriter, gateway Gatewayer, storageType kvstorage.Type, key string) { + val, err := gateway.GetStorageValue(storageType, key) + if err != nil { + var resp HTTPResponse + switch err { + case kvstorage.ErrStorageAPIDisabled: + resp = NewHTTPErrorResponse(http.StatusForbidden, "") + case kvstorage.ErrNoSuchStorage: + resp = NewHTTPErrorResponse(http.StatusNotFound, "storage is not loaded") + case kvstorage.ErrUnknownKVStorageType: + resp = NewHTTPErrorResponse(http.StatusBadRequest, "unknown storage") + case kvstorage.ErrNoSuchKey: + resp = NewHTTPErrorResponse(http.StatusNotFound, "") + default: + resp = NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + } + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{ + Data: val, + }) +} + +// StorageRequest is the request data for POST /api/v2/data +type StorageRequest struct { + StorageType kvstorage.Type `json:"type"` + Key string `json:"key"` + Val string `json:"val"` +} + +// Adds the value to the storage of a given type +// Args: +// type: storage type +// key: key +// val: value +func addStorageValueHandler(w http.ResponseWriter, r *http.Request, gateway Gatewayer) { + var req StorageRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + if req.StorageType == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "type is required") + writeHTTPResponse(w, resp) + return + } + + if req.Key == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "key is required") + writeHTTPResponse(w, resp) + return + } + + if err := gateway.AddStorageValue(req.StorageType, req.Key, req.Val); err != nil { + var resp HTTPResponse + switch err { + case kvstorage.ErrStorageAPIDisabled: + resp = NewHTTPErrorResponse(http.StatusForbidden, "") + case kvstorage.ErrNoSuchStorage: + resp = NewHTTPErrorResponse(http.StatusNotFound, "storage is not loaded") + case kvstorage.ErrUnknownKVStorageType: + resp = NewHTTPErrorResponse(http.StatusBadRequest, "unknown storage") + default: + resp = NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + } + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{}) +} + +// Removes the value by key from the storage of a given type +// Args: +// type: storage type +// key: key +func removeStorageValueHandler(w http.ResponseWriter, r *http.Request, gateway Gatewayer) { + storageType := r.FormValue("type") + if storageType == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "type is required") + writeHTTPResponse(w, resp) + return + } + + key := r.FormValue("key") + if key == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "key is required") + writeHTTPResponse(w, resp) + return + } + + if err := gateway.RemoveStorageValue(kvstorage.Type(storageType), key); err != nil { + var resp HTTPResponse + switch err { + case kvstorage.ErrStorageAPIDisabled: + resp = NewHTTPErrorResponse(http.StatusForbidden, "") + case kvstorage.ErrNoSuchStorage: + resp = NewHTTPErrorResponse(http.StatusNotFound, "storage is not loaded") + case kvstorage.ErrUnknownKVStorageType: + resp = NewHTTPErrorResponse(http.StatusBadRequest, "unknown storage") + case kvstorage.ErrNoSuchKey: + resp = NewHTTPErrorResponse(http.StatusNotFound, "") + default: + resp = NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + } + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{}) +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/transaction.go b/vendor/github.com/skycoin/skycoin/src/api/transaction.go new file mode 100644 index 00000000..8a4f0bf1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/transaction.go @@ -0,0 +1,685 @@ +package api + +import ( + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "net/http" + "sort" + "strconv" + "strings" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/readable" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/util/mathutil" + "github.com/skycoin/skycoin/src/visor" +) + +// pendingTxnsHandler returns pending (unconfirmed) transactions +// Method: GET +// URI: /api/v1/pendingTxs +// Args: +// verbose: [bool] include verbose transaction input data +func pendingTxnsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + verbose, err := parseBoolFlag(r.FormValue("verbose")) + if err != nil { + wh.Error400(w, "Invalid value for verbose") + return + } + + if verbose { + txns, inputs, err := gateway.GetAllUnconfirmedTransactionsVerbose() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + vb, err := readable.NewUnconfirmedTransactionsVerbose(txns, inputs) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, vb) + } else { + txns, err := gateway.GetAllUnconfirmedTransactions() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + ret, err := readable.NewUnconfirmedTransactions(txns) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, ret) + } + } +} + +// TransactionEncodedResponse represents the data struct of the response to /api/v1/transaction?encoded=1 +type TransactionEncodedResponse struct { + Status readable.TransactionStatus `json:"status"` + Time uint64 `json:"time"` + EncodedTransaction string `json:"encoded_transaction"` +} + +// transactionHandler returns a transaction identified by its txid hash +// Method: GET +// URI: /api/v1/transaction +// Args: +// txid: transaction hash +// verbose: [bool] include verbose transaction input data +// encoded: [bool] return as a raw encoded transaction +func transactionHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + txid := r.FormValue("txid") + if txid == "" { + wh.Error400(w, "txid is empty") + return + } + + verbose, err := parseBoolFlag(r.FormValue("verbose")) + if err != nil { + wh.Error400(w, "Invalid value for verbose") + return + } + + encoded, err := parseBoolFlag(r.FormValue("encoded")) + if err != nil { + wh.Error400(w, "Invalid value for encoded") + return + } + + if verbose && encoded { + wh.Error400(w, "verbose and encoded cannot be combined") + return + } + + h, err := cipher.SHA256FromHex(txid) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if verbose { + txn, inputs, err := gateway.GetTransactionWithInputs(h) + if err != nil { + wh.Error500(w, err.Error()) + return + } + if txn == nil { + wh.Error404(w, "") + return + } + + rTxn, err := readable.NewTransactionWithStatusVerbose(txn, inputs) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rTxn) + return + } + + txn, err := gateway.GetTransaction(h) + if err != nil { + wh.Error500(w, err.Error()) + return + } + if txn == nil { + wh.Error404(w, "") + return + } + + if encoded { + txnHex, err := txn.Transaction.SerializeHex() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, TransactionEncodedResponse{ + EncodedTransaction: txnHex, + Status: readable.NewTransactionStatus(txn.Status), + Time: txn.Time, + }) + return + } + + rTxn, err := readable.NewTransactionWithStatus(txn) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, rTxn) + } +} + +// TransactionsWithStatus array of transaction results +type TransactionsWithStatus struct { + Transactions []readable.TransactionWithStatus `json:"txns"` +} + +// Sort sorts transactions chronologically, using txid for tiebreaking +func (r TransactionsWithStatus) Sort() { + sort.Slice(r.Transactions, func(i, j int) bool { + a := r.Transactions[i] + b := r.Transactions[j] + + if a.Time == b.Time { + return strings.Compare(a.Transaction.Hash, b.Transaction.Hash) < 0 + } + + return a.Time < b.Time + }) +} + +// NewTransactionsWithStatus converts []Transaction to TransactionsWithStatus +func NewTransactionsWithStatus(txns []visor.Transaction) (*TransactionsWithStatus, error) { + txnRlts := make([]readable.TransactionWithStatus, 0, len(txns)) + for _, txn := range txns { + rTxn, err := readable.NewTransactionWithStatus(&txn) + if err != nil { + return nil, err + } + txnRlts = append(txnRlts, *rTxn) + } + + return &TransactionsWithStatus{ + Transactions: txnRlts, + }, nil +} + +// TransactionsWithStatusVerbose array of transaction results +type TransactionsWithStatusVerbose struct { + Transactions []readable.TransactionWithStatusVerbose `json:"txns"` +} + +// Sort sorts transactions chronologically, using txid for tiebreaking +func (r TransactionsWithStatusVerbose) Sort() { + sort.Slice(r.Transactions, func(i, j int) bool { + a := r.Transactions[i] + b := r.Transactions[j] + + if a.Time == b.Time { + return strings.Compare(a.Transaction.Hash, b.Transaction.Hash) < 0 + } + + return a.Time < b.Time + }) +} + +// NewTransactionsWithStatusVerbose converts []Transaction to []TransactionsWithStatusVerbose +func NewTransactionsWithStatusVerbose(txns []visor.Transaction, inputs [][]visor.TransactionInput) (*TransactionsWithStatusVerbose, error) { + if len(txns) != len(inputs) { + return nil, errors.New("NewTransactionsWithStatusVerbose: len(txns) != len(inputs)") + } + + txnRlts := make([]readable.TransactionWithStatusVerbose, len(txns)) + for i, txn := range txns { + rTxn, err := readable.NewTransactionWithStatusVerbose(&txn, inputs[i]) + if err != nil { + return nil, err + } + txnRlts[i] = *rTxn + } + + return &TransactionsWithStatusVerbose{ + Transactions: txnRlts, + }, nil +} + +// Returns transactions that match the filters. +// Method: GET, POST +// URI: /api/v1/transactions +// Args: +// addrs: Comma separated addresses [optional, returns all transactions if no address provided] +// confirmed: Whether the transactions should be confirmed [optional, must be 0 or 1; if not provided, returns all] +// verbose: [bool] include verbose transaction input data +func transactionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet && r.Method != http.MethodPost { + wh.Error405(w) + return + } + + verbose, err := parseBoolFlag(r.FormValue("verbose")) + if err != nil { + wh.Error400(w, "Invalid value for verbose") + return + } + + // Gets 'addrs' parameter value + addrs, err := parseAddressesFromStr(r.FormValue("addrs")) + if err != nil { + wh.Error400(w, fmt.Sprintf("parse parameter: 'addrs' failed: %v", err)) + return + } + + // Initialize transaction filters + flts := []visor.TxFilter{visor.NewAddrsFilter(addrs)} + + // Gets the 'confirmed' parameter value + confirmedStr := r.FormValue("confirmed") + if confirmedStr != "" { + confirmed, err := strconv.ParseBool(confirmedStr) + if err != nil { + wh.Error400(w, fmt.Sprintf("invalid 'confirmed' value: %v", err)) + return + } + + flts = append(flts, visor.NewConfirmedTxFilter(confirmed)) + } + + if verbose { + txns, inputs, err := gateway.GetTransactionsWithInputs(flts) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + rTxns, err := NewTransactionsWithStatusVerbose(txns, inputs) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + rTxns.Sort() + + wh.SendJSONOr500(logger, w, rTxns.Transactions) + } else { + txns, err := gateway.GetTransactions(flts) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + rTxns, err := NewTransactionsWithStatus(txns) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + rTxns.Sort() + + wh.SendJSONOr500(logger, w, rTxns.Transactions) + } + } +} + +// InjectTransactionRequest is sent to POST /api/v1/injectTransaction +type InjectTransactionRequest struct { + RawTxn string `json:"rawtx"` + NoBroadcast bool `json:"no_broadcast,omitempty"` +} + +// URI: /api/v1/injectTransaction +// Method: POST +// Content-Type: application/json +// Body: {"rawtx": ""} +// Response: +// 200 - ok, returns the transaction hash in hex as string +// 400 - bad transaction +// 500 - other error +// 503 - network unavailable for broadcasting transaction +func injectTransactionHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + var v InjectTransactionRequest + if err := json.NewDecoder(r.Body).Decode(&v); err != nil { + wh.Error400(w, err.Error()) + return + } + + if v.RawTxn == "" { + wh.Error400(w, "rawtx is required") + return + } + + txn, err := coin.DeserializeTransactionHex(v.RawTxn) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if v.NoBroadcast { + if err := gateway.InjectTransaction(txn); err != nil { + switch err.(type) { + case visor.ErrTxnViolatesUserConstraint, + visor.ErrTxnViolatesHardConstraint, + visor.ErrTxnViolatesSoftConstraint: + wh.Error400(w, err.Error()) + default: + wh.Error500(w, err.Error()) + } + return + } + } else { + if err := gateway.InjectBroadcastTransaction(txn); err != nil { + switch err.(type) { + case visor.ErrTxnViolatesUserConstraint, + visor.ErrTxnViolatesHardConstraint, + visor.ErrTxnViolatesSoftConstraint: + wh.Error400(w, err.Error()) + default: + if daemon.IsBroadcastFailure(err) { + wh.Error503(w, err.Error()) + } else { + wh.Error500(w, err.Error()) + } + } + return + } + } + + wh.SendJSONOr500(logger, w, txn.Hash().Hex()) + } +} + +// ResendResult the result of rebroadcasting transaction +type ResendResult struct { + Txids []string `json:"txids"` +} + +// NewResendResult creates a ResendResult from a list of transaction ID hashes +func NewResendResult(hashes []cipher.SHA256) ResendResult { + txids := make([]string, len(hashes)) + for i, h := range hashes { + txids[i] = h.Hex() + } + return ResendResult{ + Txids: txids, + } +} + +// URI: /api/v1/resendUnconfirmedTxns +// Method: POST +// Broadcasts all unconfirmed transactions from the unconfirmed transaction pool +// Response: +// 200 - ok, returns the transaction hashes that were resent +// 405 - method not POST +// 500 - other error +// 503 - network unavailable for broadcasting transaction +func resendUnconfirmedTxnsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + hashes, err := gateway.ResendUnconfirmedTxns() + if err != nil { + if daemon.IsBroadcastFailure(err) { + wh.Error503(w, err.Error()) + } else { + wh.Error500(w, err.Error()) + } + return + } + + wh.SendJSONOr500(logger, w, NewResendResult(hashes)) + } +} + +// URI: /api/v1/rawtx +// Method: GET +// Args: +// txid: transaction ID hash +// Returns the hex-encoded byte serialization of a transaction. +// The transaction may be confirmed or unconfirmed. +func rawTxnHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + txid := r.FormValue("txid") + if txid == "" { + wh.Error400(w, "txid is empty") + return + } + + h, err := cipher.SHA256FromHex(txid) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + txn, err := gateway.GetTransaction(h) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if txn == nil { + wh.Error404(w, "") + return + } + + txnHex, err := txn.Transaction.SerializeHex() + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, txnHex) + } +} + +// VerifyTransactionRequest represents the data struct of the request for /api/v2/transaction/verify +type VerifyTransactionRequest struct { + Unsigned bool `json:"unsigned"` + EncodedTransaction string `json:"encoded_transaction"` +} + +// VerifyTransactionResponse the response data struct for /api/v2/transaction/verify +type VerifyTransactionResponse struct { + Unsigned bool `json:"unsigned"` + Confirmed bool `json:"confirmed"` + Transaction CreatedTransaction `json:"transaction"` +} + +// Decode and verify an encoded transaction +// Method: POST +// URI: /api/v2/transaction/verify +func verifyTxnHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + var req VerifyTransactionRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + if req.EncodedTransaction == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "encoded_transaction is required") + writeHTTPResponse(w, resp) + return + } + + txn, err := decodeTxn(req.EncodedTransaction) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, fmt.Sprintf("decode transaction failed: %v", err)) + writeHTTPResponse(w, resp) + return + } + + signed := visor.TxnSigned + if req.Unsigned { + signed = visor.TxnUnsigned + } + + var resp HTTPResponse + inputs, isTxnConfirmed, err := gateway.VerifyTxnVerbose(txn, signed) + if err != nil { + switch err.(type) { + case visor.ErrTxnViolatesSoftConstraint, + visor.ErrTxnViolatesHardConstraint, + visor.ErrTxnViolatesUserConstraint: + resp.Error = &HTTPError{ + Code: http.StatusUnprocessableEntity, + Message: err.Error(), + } + default: + resp := NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + writeHTTPResponse(w, resp) + return + } + } + + verifyTxnResp := VerifyTransactionResponse{ + Confirmed: isTxnConfirmed, + Unsigned: !txn.IsFullySigned(), + } + + if len(inputs) != len(txn.In) { + inputs = nil + } + verboseTxn, err := newCreatedTransactionFuzzy(txn, inputs) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + writeHTTPResponse(w, resp) + return + } + + verifyTxnResp.Transaction = *verboseTxn + + resp.Data = verifyTxnResp + + if isTxnConfirmed && resp.Error == nil { + resp.Error = &HTTPError{ + Code: http.StatusUnprocessableEntity, + Message: "transaction has been spent", + } + } + + writeHTTPResponse(w, resp) + } +} + +func decodeTxn(encodedTxn string) (*coin.Transaction, error) { + var txn coin.Transaction + b, err := hex.DecodeString(encodedTxn) + if err != nil { + return nil, err + } + + txn, err = coin.DeserializeTransaction(b) + if err != nil { + return nil, err + } + + return &txn, nil +} + +// newCreatedTransactionFuzzy creates a CreatedTransaction but accommodates possibly invalid txn input +func newCreatedTransactionFuzzy(txn *coin.Transaction, inputs []visor.TransactionInput) (*CreatedTransaction, error) { + if len(txn.In) != len(inputs) && len(inputs) != 0 { + return nil, errors.New("len(txn.In) != len(inputs)") + } + + var outputHours uint64 + var feeInvalid bool + for _, o := range txn.Out { + var err error + outputHours, err = mathutil.AddUint64(outputHours, o.Hours) + if err != nil { + feeInvalid = true + } + } + + var inputHours uint64 + for _, i := range inputs { + var err error + inputHours, err = mathutil.AddUint64(inputHours, i.CalculatedHours) + if err != nil { + feeInvalid = true + } + } + + if inputHours < outputHours { + feeInvalid = true + } + + var fee uint64 + if !feeInvalid { + fee = inputHours - outputHours + } + + sigs := make([]string, len(txn.Sigs)) + for i, s := range txn.Sigs { + sigs[i] = s.Hex() + } + + txID := txn.Hash() + out := make([]CreatedTransactionOutput, len(txn.Out)) + for i, o := range txn.Out { + co, err := NewCreatedTransactionOutput(o, txID) + if err != nil { + logger.WithError(err).Error("NewCreatedTransactionOutput failed") + continue + } + out[i] = *co + } + + in := make([]CreatedTransactionInput, len(txn.In)) + if len(inputs) == 0 { + for i, h := range txn.In { + in[i] = CreatedTransactionInput{ + UxID: h.Hex(), + } + } + } else { + for i, o := range inputs { + ci, err := NewCreatedTransactionInput(o) + if err != nil { + logger.WithError(err).Error("NewCreatedTransactionInput failed") + continue + } + in[i] = *ci + } + } + + return &CreatedTransaction{ + Length: txn.Length, + Type: txn.Type, + TxID: txID.Hex(), + InnerHash: txn.InnerHash.Hex(), + Fee: fmt.Sprint(fee), + + Sigs: sigs, + In: in, + Out: out, + }, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/uxout.go b/vendor/github.com/skycoin/skycoin/src/api/uxout.go new file mode 100644 index 00000000..502caac6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/uxout.go @@ -0,0 +1,87 @@ +package api + +import ( + "net/http" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/readable" + wh "github.com/skycoin/skycoin/src/util/http" +) + +// URI: /api/v1/uxout +// Method: GET +// Args: +// uxid: unspent output ID hash +// Returns an unspent output by ID +func uxOutHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + uxid := r.FormValue("uxid") + if uxid == "" { + wh.Error400(w, "uxid is empty") + return + } + + id, err := cipher.SHA256FromHex(uxid) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + uxout, err := gateway.GetUxOutByID(id) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if uxout == nil { + wh.Error404(w, "") + return + } + + wh.SendJSONOr500(logger, w, readable.NewSpentOutput(uxout)) + } +} + +// URI: /api/v1/address_uxouts +// Method: GET +// Args: +// address +// Returns the historical, spent outputs associated with an address +func addrUxOutsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addr := r.FormValue("address") + if addr == "" { + wh.Error400(w, "address is empty") + return + } + + cipherAddr, err := cipher.DecodeBase58Address(addr) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + uxs, err := gateway.GetSpentOutputsForAddresses([]cipher.Address{cipherAddr}) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + ret := make([]readable.SpentOutput, 0) + for _, u := range uxs { + ret = append(ret, readable.NewSpentOutputs(u)...) + } + + wh.SendJSONOr500(logger, w, ret) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/version.go b/vendor/github.com/skycoin/skycoin/src/api/version.go new file mode 100644 index 00000000..86c2a9a0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/version.go @@ -0,0 +1,22 @@ +package api + +import ( + "net/http" + + "github.com/skycoin/skycoin/src/readable" + wh "github.com/skycoin/skycoin/src/util/http" +) + +// versionHandler returns the application version info +// URI: /api/v1/version +// Method: GET +func versionHandler(bi readable.BuildInfo) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + wh.SendJSONOr500(logger, w, bi) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/api/wallet.go b/vendor/github.com/skycoin/skycoin/src/api/wallet.go new file mode 100644 index 00000000..3c95b55a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/api/wallet.go @@ -0,0 +1,986 @@ +package api + +// APIs for wallet-related information + +import ( + "encoding/json" + "fmt" + "net/http" + "sort" + "strconv" + + "github.com/skycoin/skycoin/src/cipher/bip39" + "github.com/skycoin/skycoin/src/cipher/bip44" + "github.com/skycoin/skycoin/src/readable" + wh "github.com/skycoin/skycoin/src/util/http" + "github.com/skycoin/skycoin/src/wallet" +) + +// UnconfirmedTxnsResponse contains unconfirmed transaction data +type UnconfirmedTxnsResponse struct { + Transactions []readable.UnconfirmedTransactions `json:"transactions"` +} + +// UnconfirmedTxnsVerboseResponse contains verbose unconfirmed transaction data +type UnconfirmedTxnsVerboseResponse struct { + Transactions []readable.UnconfirmedTransactionVerbose `json:"transactions"` +} + +// BalanceResponse address balance summary struct +type BalanceResponse struct { + readable.BalancePair + Addresses readable.AddressBalances `json:"addresses"` +} + +// WalletResponse wallet response struct for http apis +type WalletResponse struct { + Meta readable.WalletMeta `json:"meta"` + Entries []readable.WalletEntry `json:"entries"` +} + +// NewWalletResponse creates WalletResponse struct from wallet.Wallet +func NewWalletResponse(w wallet.Wallet) (*WalletResponse, error) { + var wr WalletResponse + + wr.Meta.Coin = w.Coin() + wr.Meta.Filename = w.Filename() + wr.Meta.Label = w.Label() + wr.Meta.Type = w.Type() + wr.Meta.Version = w.Version() + wr.Meta.CryptoType = w.CryptoType() + wr.Meta.Encrypted = w.IsEncrypted() + wr.Meta.Timestamp = w.Timestamp() + + switch w.Type() { + case wallet.WalletTypeBip44: + bip44Coin := w.Bip44Coin() + wr.Meta.Bip44Coin = &bip44Coin + case wallet.WalletTypeXPub: + wr.Meta.XPub = w.XPub() + } + + entries := w.GetEntries() + wr.Entries = make([]readable.WalletEntry, len(entries)) + + for i, e := range entries { + wr.Entries[i] = readable.WalletEntry{ + Address: e.Address.String(), + Public: e.Public.Hex(), + } + + switch w.Type() { + // Copy these values to another ref to avoid having a pointer + // to an element of Entry which could affect GC of the Entry, + // which could cause retention/copying of secret data in the Entry. + // This is speculative. I don't know if this matters to the go runtime + case wallet.WalletTypeBip44: + childNumber := e.ChildNumber + wr.Entries[i].ChildNumber = &childNumber + change := e.Change + wr.Entries[i].Change = &change + case wallet.WalletTypeXPub: + childNumber := e.ChildNumber + wr.Entries[i].ChildNumber = &childNumber + } + } + + return &wr, nil +} + +// Returns the wallet's balance, both confirmed and predicted. The predicted +// balance is the confirmed balance minus the pending spends. +// URI: /api/v1/wallet/balance +// Method: GET +// Args: +// id: wallet id [required] +func walletBalanceHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, "missing wallet id") + return + } + + walletBalance, addressBalances, err := gateway.GetWalletBalance(wltID) + if err != nil { + logger.Errorf("Get wallet balance failed: %v", err) + switch err { + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + wh.SendJSONOr500(logger, w, BalanceResponse{ + BalancePair: readable.NewBalancePair(walletBalance), + Addresses: readable.NewAddressBalances(addressBalances), + }) + } +} + +// Returns the balance of one or more addresses, both confirmed and predicted. The predicted +// balance is the confirmed balance minus the pending spends. +// URI: /api/v1s/balance +// Method: GET, POST +// Args: +// addrs: command separated list of addresses [required] +func balanceHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet && r.Method != http.MethodPost { + wh.Error405(w) + return + } + + addrsParam := r.FormValue("addrs") + addrs, err := parseAddressesFromStr(addrsParam) + if err != nil { + wh.Error400(w, err.Error()) + return + } + + if len(addrs) == 0 { + wh.Error400(w, "addrs is required") + return + } + + bals, err := gateway.GetBalanceOfAddresses(addrs) + if err != nil { + err = fmt.Errorf("gateway.GetBalanceOfAddresses failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + // create map of address to balance + addressBalances := make(readable.AddressBalances, len(addrs)) + for idx, addr := range addrs { + addressBalances[addr.String()] = readable.NewBalancePair(bals[idx]) + } + + var balance wallet.BalancePair + for _, bal := range bals { + var err error + balance.Confirmed, err = balance.Confirmed.Add(bal.Confirmed) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + balance.Predicted, err = balance.Predicted.Add(bal.Predicted) + if err != nil { + wh.Error500(w, err.Error()) + return + } + } + + wh.SendJSONOr500(logger, w, BalanceResponse{ + BalancePair: readable.NewBalancePair(balance), + Addresses: addressBalances, + }) + } +} + +// Loads wallet from seed, will scan ahead N address and +// load addresses till the last one that have coins. +// URI: /api/v1/wallet/create +// Method: POST +// Args: +// seed: wallet seed [required] +// seed-passphrase: wallet seed passphrase [optional, bip44 type wallet only] +// type: wallet type [required, one of "deterministic", "bip44" or "xpub"] +// bip44-coin: BIP44 coin type [optional, defaults to 8000 (skycoin's coin type), only valid if type is "bip44"] +// xpub: xpub key [required for xpub wallets] +// label: wallet label [required] +// scan: the number of addresses to scan ahead for balances [optional, must be > 0] +// encrypt: bool value, whether encrypt the wallet [optional] +// password: password for encrypting wallet [optional, must be provided if "encrypt" is set] +func walletCreateHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + walletType := r.FormValue("type") + if walletType == "" { + wh.Error400(w, "missing type") + return + } + + seed := r.FormValue("seed") + switch walletType { + case wallet.WalletTypeDeterministic, wallet.WalletTypeBip44: + if seed == "" { + wh.Error400(w, "missing seed") + return + } + } + + label := r.FormValue("label") + if label == "" { + wh.Error400(w, "missing label") + return + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + var encrypt bool + encryptStr := r.FormValue("encrypt") + if encryptStr != "" { + var err error + encrypt, err = strconv.ParseBool(encryptStr) + if err != nil { + wh.Error400(w, fmt.Sprintf("invalid encrypt value: %v", err)) + return + } + } + + if encrypt && len(password) == 0 { + wh.Error400(w, "missing password") + return + } + + if !encrypt && len(password) > 0 { + wh.Error400(w, "encrypt must be true as password is provided") + return + } + + scanNStr := r.FormValue("scan") + var scanN uint64 = 1 + if scanNStr != "" { + var err error + scanN, err = strconv.ParseUint(scanNStr, 10, 64) + if err != nil { + wh.Error400(w, "invalid scan value") + return + } + } + + if scanN == 0 { + wh.Error400(w, "scan must be > 0") + return + } + + var bip44Coin *bip44.CoinType + bip44CoinStr := r.FormValue("bip44-coin") + if bip44CoinStr != "" { + if walletType != wallet.WalletTypeBip44 { + wh.Error400(w, "bip44-coin is only valid for bip44 type wallets") + return + } + + bip44CoinInt, err := strconv.ParseUint(bip44CoinStr, 10, 32) + if err != nil { + wh.Error400(w, "invalid bip44-coin value") + return + } + + c := bip44.CoinType(bip44CoinInt) + bip44Coin = &c + } + + wlt, err := gateway.CreateWallet("", wallet.Options{ + Seed: seed, + Label: label, + Encrypt: encrypt, + Password: []byte(password), + ScanN: scanN, + Type: walletType, + SeedPassphrase: r.FormValue("seed-passphrase"), + Bip44Coin: bip44Coin, + XPub: r.FormValue("xpub"), + }, gateway) + if err != nil { + switch err.(type) { + case wallet.Error: + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + return + default: + wh.Error400(w, err.Error()) + return + } + default: + wh.Error500(w, err.Error()) + return + } + + } + + rlt, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + wh.SendJSONOr500(logger, w, rlt) + } +} + +// Genreates new addresses +// URI: /api/v1/wallet/newAddress +// Method: POST +// Args: +// id: wallet id [required] +// num: number of address need to create [optional, if not set the default value is 1] +// password: wallet password [optional, must be provided if the wallet is encrypted] +func walletNewAddressesHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, "missing wallet id") + return + } + + // Compute the number of addresses to create, default is 1 + var n uint64 = 1 + var err error + num := r.FormValue("num") + if num != "" { + n, err = strconv.ParseUint(num, 10, 64) + if err != nil { + wh.Error400(w, "invalid num value") + return + } + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + addrs, err := gateway.NewAddresses(wltID, []byte(password), n) + if err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error400(w, err.Error()) + } + return + } + + var rlt = struct { + Addresses []string `json:"addresses"` + }{} + + for _, a := range addrs { + rlt.Addresses = append(rlt.Addresses, a.String()) + } + + wh.SendJSONOr500(logger, w, rlt) + } +} + +// Update wallet label +// URI: /api/v1/wallet/update +// Method: POST +// Args: +// id: wallet id [required] +// label: the label the wallet will be updated to [required] +func walletUpdateHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + // Update wallet + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, "missing wallet id") + return + } + + label := r.FormValue("label") + if label == "" { + wh.Error400(w, "missing label") + return + } + + if err := gateway.UpdateWalletLabel(wltID, label); err != nil { + logger.Errorf("update wallet label failed: %v", err) + + switch err { + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + wh.SendJSONOr500(logger, w, "success") + } +} + +// Returns a wallet by id +// URI: /api/v1/wallet +// Method: GET +// Args: +// id: wallet id [required] +func walletHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, fmt.Sprintf("missing wallet id")) + return + } + + wlt, err := gateway.GetWallet(wltID) + if err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error400(w, err.Error()) + } + return + } + rlt, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + wh.SendJSONOr500(logger, w, rlt) + } +} + +// walletTransactionsHandler returns all unconfirmed transactions for all addresses in a given wallet +// URI: /api/v1/wallet/transactions +// Method: GET +// Args: +// id: wallet id [required] +// verbose: [bool] include verbose transaction input data +func walletTransactionsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + verbose, err := parseBoolFlag(r.FormValue("verbose")) + if err != nil { + wh.Error400(w, "Invalid value for verbose") + return + } + + wltID := r.FormValue("id") + if wltID == "" { + wh.Error400(w, "missing wallet id") + return + } + + handleWalletError := func(err error) { + switch err { + case nil: + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + } + + if verbose { + txns, inputs, err := gateway.GetWalletUnconfirmedTransactionsVerbose(wltID) + if err != nil { + logger.Errorf("get wallet unconfirmed transactions verbose failed: %v", err) + handleWalletError(err) + return + } + + vb := make([]readable.UnconfirmedTransactionVerbose, len(txns)) + for i, txn := range txns { + v, err := readable.NewUnconfirmedTransactionVerbose(&txn, inputs[i]) + if err != nil { + wh.Error500(w, err.Error()) + return + } + vb[i] = *v + } + + wh.SendJSONOr500(logger, w, UnconfirmedTxnsVerboseResponse{ + Transactions: vb, + }) + } else { + txns, err := gateway.GetWalletUnconfirmedTransactions(wltID) + if err != nil { + logger.Errorf("get wallet unconfirmed transactions failed: %v", err) + handleWalletError(err) + return + } + + unconfirmedTxns, err := readable.NewUnconfirmedTransactions(txns) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wh.SendJSONOr500(logger, w, UnconfirmedTxnsResponse{ + Transactions: unconfirmedTxns, + }) + } + } +} + +// Returns all loaded wallets +// URI: /api/v1/wallets +// Method: GET +func walletsHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + wlts, err := gateway.GetWallets() + if err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + wrs := make([]*WalletResponse, 0, len(wlts)) + for _, wlt := range wlts { + wr, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + + wrs = append(wrs, wr) + } + + sort.Slice(wrs, func(i, j int) bool { + return wrs[i].Meta.Timestamp < wrs[j].Meta.Timestamp + }) + + wh.SendJSONOr500(logger, w, wrs) + } +} + +// WalletFolder struct +type WalletFolder struct { + Address string `json:"address"` +} + +// Returns the wallet directory path +// URI: /api/v1/wallets/folderName +// Method: GET +func walletFolderHandler(s Walleter) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + addr, err := s.WalletDir() + if err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + ret := WalletFolder{ + Address: addr, + } + wh.SendJSONOr500(logger, w, ret) + } +} + +// Generates wallet seed +// URI: /api/v1/wallet/newSeed +// Method: GET +// Args: +// entropy: entropy bitsize [optional, default value of 128 will be used if not set] +func newSeedHandler() http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodGet { + wh.Error405(w) + return + } + + entropyValue := r.FormValue("entropy") + if entropyValue == "" { + entropyValue = "128" + } + + entropyBits, err := strconv.Atoi(entropyValue) + if err != nil { + wh.Error400(w, "invalid entropy") + return + } + + // Entropy bit size can either be 128 or 256 + if entropyBits != 128 && entropyBits != 256 { + wh.Error400(w, "entropy length must be 128 or 256") + return + } + + entropy, err := bip39.NewEntropy(entropyBits) + if err != nil { + err = fmt.Errorf("bip39.NewEntropy failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + mnemonic, err := bip39.NewMnemonic(entropy) + if err != nil { + err = fmt.Errorf("bip39.NewDefaultMnemonic failed: %v", err) + wh.Error500(w, err.Error()) + return + } + + var rlt = struct { + Seed string `json:"seed"` + }{ + mnemonic, + } + wh.SendJSONOr500(logger, w, rlt) + } +} + +// WalletSeedResponse is returned by /api/v1/wallet/seed +type WalletSeedResponse struct { + Seed string `json:"seed"` + SeedPassphrase string `json:"seed_passphrase,omitempty"` +} + +// Returns seed and seed passphrase of wallet of given id +// URI: /api/v1/wallet/seed +// Method: POST +// Args: +// id: wallet id +// password: wallet password +func walletSeedHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + id := r.FormValue("id") + if id == "" { + wh.Error400(w, "missing wallet id") + return + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + seed, seedPassphrase, err := gateway.GetWalletSeed(id, []byte(password)) + if err != nil { + switch err { + case wallet.ErrMissingPassword, + wallet.ErrWalletNotEncrypted, + wallet.ErrInvalidPassword: + wh.Error400(w, err.Error()) + case wallet.ErrWalletAPIDisabled, wallet.ErrSeedAPIDisabled: + wh.Error403(w, "") + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + v := WalletSeedResponse{ + Seed: seed, + SeedPassphrase: seedPassphrase, + } + + wh.SendJSONOr500(logger, w, v) + } +} + +// VerifySeedRequest is the request data for POST /api/v2/wallet/seed/verify +type VerifySeedRequest struct { + Seed string `json:"seed"` +} + +// walletVerifySeedHandler verifies a wallet seed +// Method: POST +// URI: /api/v2/wallet/seed/verify +func walletVerifySeedHandler(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + var req VerifySeedRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + if req.Seed == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "seed is required") + writeHTTPResponse(w, resp) + return + } + + if err := bip39.ValidateMnemonic(req.Seed); err != nil { + resp := NewHTTPErrorResponse(http.StatusUnprocessableEntity, err.Error()) + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{Data: struct{}{}}) +} + +// Unloads wallet from the wallet service +// URI: /api/v1/wallet/unload +// Method: POST +// Args: +// id: wallet id +func walletUnloadHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + id := r.FormValue("id") + if id == "" { + wh.Error400(w, "missing wallet id") + return + } + + if err := gateway.UnloadWallet(id); err != nil { + switch err { + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + default: + wh.Error500(w, err.Error()) + } + } + } +} + +// Encrypts wallet +// URI: /api/v1/wallet/encrypt +// Method: POST +// Args: +// id: wallet id +// password: wallet password +func walletEncryptHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + id := r.FormValue("id") + if id == "" { + wh.Error400(w, "missing wallet id") + return + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + wlt, err := gateway.EncryptWallet(id, []byte(password)) + if err != nil { + switch err { + case wallet.ErrWalletEncrypted, + wallet.ErrMissingPassword, + wallet.ErrInvalidPassword: + wh.Error400(w, err.Error()) + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + // Make sure the sensitive data are wiped + rlt, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + wh.SendJSONOr500(logger, w, rlt) + } +} + +// Decrypts wallet +// URI: /api/v1/wallet/decrypt +// Method: POST +// Args: +// id: wallet id +// password: wallet password +func walletDecryptHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + wh.Error405(w) + return + } + + id := r.FormValue("id") + if id == "" { + wh.Error400(w, "missing wallet id") + return + } + + password := r.FormValue("password") + defer func() { + password = "" + }() + + wlt, err := gateway.DecryptWallet(id, []byte(password)) + if err != nil { + switch err { + case wallet.ErrMissingPassword, + wallet.ErrWalletNotEncrypted, + wallet.ErrInvalidPassword: + wh.Error400(w, err.Error()) + case wallet.ErrWalletAPIDisabled: + wh.Error403(w, "") + case wallet.ErrWalletNotExist: + wh.Error404(w, "") + default: + wh.Error500(w, err.Error()) + } + return + } + + rlt, err := NewWalletResponse(wlt) + if err != nil { + wh.Error500(w, err.Error()) + return + } + wh.SendJSONOr500(logger, w, rlt) + } +} + +// WalletRecoverRequest is the request data for POST /api/v2/wallet/recover +type WalletRecoverRequest struct { + ID string `json:"id"` + Seed string `json:"seed"` + SeedPassphrase string `json:"seed_passphrase"` + Password string `json:"password"` +} + +// URI: /api/v2/wallet/recover +// Method: POST +// Args: +// id: wallet id +// seed: wallet seed +// password: [optional] new password +// Recovers an encrypted wallet by providing the seed. +// The first address will be generated from seed and compared to the first address +// of the specified wallet. If they match, the wallet will be regenerated +// with an optional password. +// If the wallet is not encrypted, an error is returned. +func walletRecoverHandler(gateway Gatewayer) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + resp := NewHTTPErrorResponse(http.StatusMethodNotAllowed, "") + writeHTTPResponse(w, resp) + return + } + + var req WalletRecoverRequest + if err := json.NewDecoder(r.Body).Decode(&req); err != nil { + resp := NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + writeHTTPResponse(w, resp) + return + } + + if req.ID == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "id is required") + writeHTTPResponse(w, resp) + return + } + + if req.Seed == "" { + resp := NewHTTPErrorResponse(http.StatusBadRequest, "seed is required") + writeHTTPResponse(w, resp) + return + } + + var password []byte + if req.Password != "" { + password = []byte(req.Password) + } + + defer func() { + req.Seed = "" + req.SeedPassphrase = "" + req.Password = "" + password = nil + }() + + wlt, err := gateway.RecoverWallet(req.ID, req.Seed, req.SeedPassphrase, password) + if err != nil { + var resp HTTPResponse + switch err.(type) { + case wallet.Error: + switch err { + case wallet.ErrWalletNotExist: + resp = NewHTTPErrorResponse(http.StatusNotFound, "") + case wallet.ErrWalletAPIDisabled: + resp = NewHTTPErrorResponse(http.StatusForbidden, "") + default: + resp = NewHTTPErrorResponse(http.StatusBadRequest, err.Error()) + } + default: + resp = NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + } + writeHTTPResponse(w, resp) + return + } + + rlt, err := NewWalletResponse(wlt) + if err != nil { + resp := NewHTTPErrorResponse(http.StatusInternalServerError, err.Error()) + writeHTTPResponse(w, resp) + return + } + + writeHTTPResponse(w, HTTPResponse{ + Data: rlt, + }) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/address.go b/vendor/github.com/skycoin/skycoin/src/cipher/address.go new file mode 100644 index 00000000..b5d93275 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/address.go @@ -0,0 +1,183 @@ +package cipher + +import ( + "errors" + "log" + + "github.com/skycoin/skycoin/src/cipher/base58" +) + +var ( + // ErrAddressInvalidLength Unexpected size of address bytes buffer + ErrAddressInvalidLength = errors.New("Invalid address length") + // ErrAddressInvalidChecksum Computed checksum did not match expected value + ErrAddressInvalidChecksum = errors.New("Invalid checksum") + // ErrAddressInvalidVersion Unsupported address version value + ErrAddressInvalidVersion = errors.New("Address version invalid") + // ErrAddressInvalidPubKey Public key invalid for address + ErrAddressInvalidPubKey = errors.New("Public key invalid for address") + // ErrAddressInvalidFirstByte Invalid first byte in wallet import format string + ErrAddressInvalidFirstByte = errors.New("first byte invalid") + // ErrAddressInvalidLastByte 33rd byte in wallet import format string is invalid + ErrAddressInvalidLastByte = errors.New("invalid 33rd byte") +) + +/* +Addresses are the Ripemd160 of the double SHA256 of the public key +- public key must be in compressed format + +In the block chain the address is 20+1 bytes +- the first byte is the version byte +- the next twenty bytes are RIPMD160(SHA256(SHA256(pubkey))) + +In base 58 format the address is 20+1+4 bytes +- the first 20 bytes are RIPMD160(SHA256(SHA256(pubkey))). +-- this is to allow for any prefix in vanity addresses +- the next byte is the version byte +- the next 4 bytes are a checksum +-- the first 4 bytes of the SHA256 of the 21 bytes that come before + +*/ + +// Checksum 4 bytes +type Checksum [4]byte + +// Addresser defines an interface for cryptocurrency addresses +type Addresser interface { + Bytes() []byte + String() string + Checksum() Checksum + Verify(PubKey) error + Null() bool +} + +// PubKeyRipemd160 returns ripemd160(sha256(sha256(pubkey))) +func PubKeyRipemd160(pubKey PubKey) Ripemd160 { + r1 := SumSHA256(pubKey[:]) + r2 := SumSHA256(r1[:]) + return HashRipemd160(r2[:]) +} + +// Address version is after Key to enable better vanity address generation +// Address struct is a 25 byte with a 20 byte public key hash, 1 byte address +// type and 4 byte checksum. +type Address struct { + Version byte //1 byte + Key Ripemd160 //20 byte pubkey hash +} + +// AddressFromPubKey creates Address from PubKey as ripemd160(sha256(sha256(pubkey))) +func AddressFromPubKey(pubKey PubKey) Address { + return Address{ + Version: 0, + Key: PubKeyRipemd160(pubKey), + } +} + +// AddressFromSecKey generates address from secret key +func AddressFromSecKey(secKey SecKey) (Address, error) { + p, err := PubKeyFromSecKey(secKey) + if err != nil { + return Address{}, err + } + return AddressFromPubKey(p), nil +} + +// MustAddressFromSecKey generates address from secret key, panics on error +func MustAddressFromSecKey(secKey SecKey) Address { + return AddressFromPubKey(MustPubKeyFromSecKey(secKey)) +} + +// DecodeBase58Address creates an Address from its base58 encoding +func DecodeBase58Address(addr string) (Address, error) { + b, err := base58.Decode(addr) + if err != nil { + return Address{}, err + } + return AddressFromBytes(b) +} + +// MustDecodeBase58Address creates an Address from its base58 encoding, panics on error +func MustDecodeBase58Address(addr string) Address { + a, err := DecodeBase58Address(addr) + if err != nil { + log.Panicf("Invalid address %s: %v", addr, err) + } + return a +} + +// AddressFromBytes converts []byte to an Address +func AddressFromBytes(b []byte) (Address, error) { + if len(b) != 20+1+4 { + return Address{}, ErrAddressInvalidLength + } + a := Address{} + copy(a.Key[0:20], b[0:20]) + a.Version = b[20] + + chksum := a.Checksum() + var checksum [4]byte + copy(checksum[0:4], b[21:25]) + + if checksum != chksum { + return Address{}, ErrAddressInvalidChecksum + } + + if a.Version != 0 { + return Address{}, ErrAddressInvalidVersion + } + + return a, nil +} + +// MustAddressFromBytes converts []byte to an Address, panics on error +func MustAddressFromBytes(b []byte) Address { + addr, err := AddressFromBytes(b) + if err != nil { + log.Panic(err) + } + + return addr +} + +// Null returns true if the address is null (0x0000....) +func (addr Address) Null() bool { + return addr == Address{} +} + +// Bytes return address as a byte slice +func (addr Address) Bytes() []byte { + b := make([]byte, 20+1+4) + copy(b[0:20], addr.Key[0:20]) + b[20] = addr.Version + chksum := addr.Checksum() + copy(b[21:25], chksum[0:4]) + return b +} + +// Verify checks that the address appears valid for the public key +func (addr Address) Verify(pubKey PubKey) error { + if addr.Version != 0x00 { + return ErrAddressInvalidVersion + } + + if addr.Key != PubKeyRipemd160(pubKey) { + return ErrAddressInvalidPubKey + } + + return nil +} + +// String address as Base58 encoded string +func (addr Address) String() string { + return string(base58.Encode(addr.Bytes())) +} + +// Checksum returns Address Checksum which is the first 4 bytes of sha256(key+version) +func (addr Address) Checksum() Checksum { + r1 := append(addr.Key[:], []byte{addr.Version}...) + r2 := SumSHA256(r1[:]) + c := Checksum{} + copy(c[:], r2[:len(c)]) + return c +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE new file mode 100644 index 00000000..9d58fbb4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE @@ -0,0 +1,24 @@ +MIT License + +Copyright (c) 2017 Denis Subbotin +Copyright (c) 2017 Nika Jones +Copyright (c) 2017 Philip Schlump +Copyright (c) 2019 gz-c + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE_old b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE_old new file mode 100644 index 00000000..58da01b3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE_old @@ -0,0 +1,27 @@ +Copyright (c) 2012 ThePiachu. All rights reserved. +Copyright (c) 2019 gz-c, Skycoin developers. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * The name of ThePiachu may not be used to endorse or promote products +derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/base58/README.md new file mode 100644 index 00000000..5042659a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/README.md @@ -0,0 +1,47 @@ +# Fast Implementation of Base58 encoding + +[![GoDoc](https://godoc.org/github.com/skycoin/skycoin/src/cipher/base58?status.svg)](https://godoc.org/github.com/skycoin/skycoin/src/cipher/base58) + +Fast implementation of base58 encoding in Go. + +This code is a fork of https://github.com/mr-tron/base58 + +Base algorithm is copied from https://github.com/trezor/trezor-crypto/blob/master/base58.c +Which was copied from an older version of libbase58 https://github.com/bitcoin/libbase58 + +## Performance + +Other base58 golang libraries use `big.Int` which has a lot of malloc overhead and shows up as a common bottleneck when profiling. + +This version removes the use of `big.Int`. + +## Usage example + +```go +package main + +import ( + "fmt" + "os" + + "github.com/skycoin/skycoin/src/cipher/base58" +) + +func main() { + encoded := "1QCaxc8hutpdZ62iKZsn1TCG3nh7uPZojq" + bin, err := base58.Decode(encoded) + if err != nil { + fmt.Println("Decode error:", err) + os.Exit(1) + } + + chk := base58.Encode(bin) + if encoded == string(chk) { + fmt.Println("Successfully decoded then re-encoded") + } +} +``` + +## base58-old + +The old base58 code is retained here as a reference and used in tests to compare the output is equivalent. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go new file mode 100644 index 00000000..c18ae5a8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go @@ -0,0 +1,178 @@ +package base58 + +import ( + "errors" + "fmt" +) + +var ( + // ErrInvalidChar Invalid base58 character + ErrInvalidChar = errors.New("Invalid base58 character") + // ErrInvalidString Invalid base58 string + ErrInvalidString = errors.New("Invalid base58 string") +) + +// Alphabet is a a b58 alphabet. +type Alphabet struct { + decode [128]int8 + encode [58]byte +} + +// NewAlphabet creates a new alphabet from the passed string. +// +// It panics if the passed string is not 58 bytes long or isn't valid ASCII. +func NewAlphabet(s string) *Alphabet { + if len(s) != 58 { + panic("base58 alphabets must be 58 bytes long") + } + + ret := &Alphabet{} + + copy(ret.encode[:], s) + + for i := range ret.decode { + ret.decode[i] = -1 + } + for i, b := range ret.encode { + ret.decode[b] = int8(i) + } + + return ret +} + +// btcAlphabet is the bitcoin base58 alphabet. +var btcAlphabet = NewAlphabet("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz") + +// Encode encodes the passed bytes into a base58 encoded string. +func Encode(bin []byte) string { + return fastBase58EncodingAlphabet(bin, btcAlphabet) +} + +// fastBase58EncodingAlphabet encodes the passed bytes into a base58 encoded +// string with the passed alphabet. +func fastBase58EncodingAlphabet(bin []byte, alphabet *Alphabet) string { + binsz := len(bin) + var i, j, zcount, high int + var carry uint32 + + for zcount < binsz && bin[zcount] == 0 { + zcount++ + } + + size := (binsz-zcount)*138/100 + 1 + var buf = make([]uint32, size) + + high = size - 1 + for i = zcount; i < binsz; i++ { + j = size - 1 + for carry = uint32(bin[i]); j > high || carry != 0; j-- { + carry += buf[j] << 8 + buf[j] = carry % 58 + carry /= 58 + } + high = j + } + + for j = 0; j < size && buf[j] == 0; j++ { + } + + var b58 = make([]byte, size-j+zcount) + + if zcount != 0 { + for i = 0; i < zcount; i++ { + b58[i] = '1' + } + } + + for i = zcount; j < size; i++ { + b58[i] = alphabet.encode[buf[j]] + j++ + } + + return string(b58) +} + +// Decode decodes the base58 encoded bytes. +func Decode(str string) ([]byte, error) { + return fastBase58DecodingAlphabet(str, btcAlphabet) +} + +// fastBase58DecodingAlphabet decodes the base58 encoded bytes using the given +// b58 alphabet. +func fastBase58DecodingAlphabet(str string, alphabet *Alphabet) ([]byte, error) { + if len(str) == 0 { + return nil, ErrInvalidString + } + + var ( + t, c uint64 + zmask uint32 + zcount int + + b58u = []rune(str) + b58sz = len(b58u) + + outisz = (b58sz + 3) >> 2 + binu = make([]byte, (b58sz+3)*3) + bytesleft = b58sz & 3 + ) + + if bytesleft > 0 { + zmask = 0xffffffff << uint32(bytesleft*8) + } else { + bytesleft = 4 + } + + var outi = make([]uint32, outisz) + + for i := 0; i < b58sz && b58u[i] == '1'; i++ { + zcount++ + } + + for _, r := range b58u { + if r > 127 { + return nil, ErrInvalidChar + } + if alphabet.decode[r] == -1 { + return nil, ErrInvalidChar + } + + c = uint64(alphabet.decode[r]) + + for j := outisz - 1; j >= 0; j-- { + t = uint64(outi[j])*58 + c + c = (t >> 32) & 0x3f + outi[j] = uint32(t & 0xffffffff) + } + + // Neither of these should occur because the buffer is allocated ourselves + if c > 0 { + return nil, fmt.Errorf("output number too big (carry to the next int32)") + } + + if outi[0]&zmask != 0 { + return nil, fmt.Errorf("output number too big (last int32 filled too far)") + } + } + + var j, cnt int + for j, cnt = 0, 0; j < outisz; j++ { + for mask := byte(bytesleft-1) * 8; mask <= 0x18; mask, cnt = mask-8, cnt+1 { + binu[cnt] = byte(outi[j] >> mask) + } + if j == 0 { + bytesleft = 4 // because it could be less than 4 the first time through + } + } + + for n, v := range binu { + if v > 0 { + start := n - zcount + if start < 0 { + start = 0 + } + return binu[start:cnt], nil + } + } + return binu[:cnt], nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58_old.go b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58_old.go new file mode 100644 index 00000000..ffa4bca5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58_old.go @@ -0,0 +1,190 @@ +// Copyright 2011 ThePiachu. All rights reserved. +// Copyright 2019 gz-c, Skycoin developers. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package base58 + +import ( + "errors" + "fmt" + "math/big" +) + +//alphabet used by Bitcoins +var alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" + +var ( + // errInvalidBase58Char Invalid base58 character + errInvalidBase58Char = errors.New("Invalid base58 character") + // errInvalidBase58String Invalid base58 string + errInvalidBase58String = errors.New("Invalid base58 string") + // errInvalidBase58Length Invalid base58 length + errInvalidBase58Length = errors.New("base58 invalid length") +) + +// oldBase58 type to hold the oldBase58 string +type oldBase58 string + +//reverse alphabet used for quckly converting base58 strings into numbers +var revalp = map[string]int{ + "1": 0, "2": 1, "3": 2, "4": 3, "5": 4, "6": 5, "7": 6, "8": 7, "9": 8, "A": 9, + "B": 10, "C": 11, "D": 12, "E": 13, "F": 14, "G": 15, "H": 16, "J": 17, "K": 18, "L": 19, + "M": 20, "N": 21, "P": 22, "Q": 23, "R": 24, "S": 25, "T": 26, "U": 27, "V": 28, "W": 29, + "X": 30, "Y": 31, "Z": 32, "a": 33, "b": 34, "c": 35, "d": 36, "e": 37, "f": 38, "g": 39, + "h": 40, "i": 41, "j": 42, "k": 43, "m": 44, "n": 45, "o": 46, "p": 47, "q": 48, "r": 49, + "s": 50, "t": 51, "u": 52, "v": 53, "w": 54, "x": 55, "y": 56, "z": 57, +} + +// oldHex2Big converts hex to big +func oldHex2Big(b []byte) *big.Int { + answer := big.NewInt(0) + + for i := 0; i < len(b); i++ { + answer.Lsh(answer, 8) + answer.Add(answer, big.NewInt(int64(b[i]))) + } + + return answer +} + +// ToBig convert base58 to big.Int +func (b oldBase58) ToBig() (*big.Int, error) { + answer := new(big.Int) + for i := 0; i < len(b); i++ { + answer.Mul(answer, big.NewInt(58)) //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return nil, errInvalidBase58Char + } + answer.Add(answer, big.NewInt(int64(c))) //add value of the current letter + } + return answer, nil +} + +// ToInt converts base58 to int +func (b oldBase58) ToInt() (int, error) { + answer := 0 + for i := 0; i < len(b); i++ { + answer *= 58 //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return 0, errInvalidBase58Char + } + answer += c //add value of the current letter + } + return answer, nil +} + +//ToHex converts base58 to hex bytes +func (b oldBase58) ToHex() ([]byte, error) { + value, err := b.ToBig() //convert to big.Int + if err != nil { + return nil, err + } + oneCount := 0 + bs := string(b) + if len(bs) == 0 { + return nil, fmt.Errorf("%v - len(bs) == 0", errInvalidBase58String) + } + for bs[oneCount] == '1' { + oneCount++ + if oneCount >= len(bs) { + return nil, fmt.Errorf("%v - oneCount >= len(bs)", errInvalidBase58String) + } + } + //convert big.Int to bytes + return append(make([]byte, oneCount), value.Bytes()...), nil +} + +// Base582Big converts base58 to big +func (b oldBase58) Base582Big() (*big.Int, error) { + answer := new(big.Int) + for i := 0; i < len(b); i++ { + answer.Mul(answer, big.NewInt(58)) //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return nil, errInvalidBase58Char + } + answer.Add(answer, big.NewInt(int64(c))) //add value of the current letter + } + return answer, nil +} + +// Base582Int converts base58 to int +func (b oldBase58) Base582Int() (int, error) { + answer := 0 + for i := 0; i < len(b); i++ { + answer *= 58 //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return 0, errInvalidBase58Char + } + answer += c //add value of the current letter + } + return answer, nil +} + +// oldBase582Hex converts base58 to hex bytes +func oldBase582Hex(b string) ([]byte, error) { + return oldBase58(b).ToHex() +} + +// BitHex converts base58 to hexes used by Bitcoins (keeping the zeroes on the front, 25 bytes long) +func (b oldBase58) BitHex() ([]byte, error) { + value, err := b.ToBig() //convert to big.Int + if err != nil { + return nil, err + } + + tmp := value.Bytes() //convert to hex bytes + if len(tmp) == 25 { //if it is exactly 25 bytes, return + return tmp, nil + } else if len(tmp) > 25 { //if it is longer than 25, return nothing + return nil, errInvalidBase58Length + } + answer := make([]byte, 25) //make 25 byte container + for i := 0; i < len(tmp); i++ { //copy converted bytes + answer[24-i] = tmp[len(tmp)-1-i] + } + return answer, nil +} + +// oldBig2Base58 encodes big.Int to base58 string +func oldBig2Base58(val *big.Int) oldBase58 { + answer := "" + valCopy := new(big.Int).Abs(val) //copies big.Int + + if val.Cmp(big.NewInt(0)) <= 0 { //if it is less than 0, returns empty string + return oldBase58("") + } + + tmpStr := "" + tmp := new(big.Int) + for valCopy.Cmp(big.NewInt(0)) > 0 { //converts the number into base58 + tmp.Mod(valCopy, big.NewInt(58)) //takes modulo 58 value + valCopy.Div(valCopy, big.NewInt(58)) //divides the rest by 58 + tmpStr += alphabet[tmp.Int64() : tmp.Int64()+1] //encodes + } + for i := (len(tmpStr) - 1); i > -1; i-- { + answer += tmpStr[i : i+1] //reverses the order + } + return oldBase58(answer) //returns +} + +// oldHex2Base58 encodes hex bytes into base58 +func oldHex2Base58(val []byte) oldBase58 { + tmp := oldBig2Base58(oldHex2Big(val)) //encoding of the number without zeroes in front + + //looking for zeros at the beginning + i := 0 + for i = 0; val[i] == 0 && i < len(val); i++ { + } + answer := "" + for j := 0; j < i; j++ { //adds zeroes from the front + answer += alphabet[0:1] + } + answer += string(tmp) //concatenates + + return oldBase58(answer) //returns +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip32/LICENSE b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/LICENSE new file mode 100644 index 00000000..23d5c3ef --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2017 Tyler Smith +Copyright (c) 2019 Skycoin Developers + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip32/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/README.md new file mode 100644 index 00000000..c1486862 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/README.md @@ -0,0 +1,102 @@ +# go-bip32 + +An implementation of the BIP32 spec for Hierarchical Deterministic Bitcoin addresses as a simple Go library. The semantics of derived keys are up to the user. +[BIP43](https://github.com/bitcoin/bips/blob/master/bip-0043.mediawiki) and [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) are good schemes to implement with this library. +An additional library for either or both of those on top of this library should be developed. + +Modified for use in Skycoin, derived from https://github.com/tyler-smith/go-bip32 + +## Example + +It's very unlikely, but possible, that a given index does not produce a valid +private key. Error checking is skipped in this example for brevity but should be +handled in real code. In such a case, an error of type `Error` is returned and it's +method `ImpossibleChild()` will return true. + +An example for handling this: + +```go +func tryNewPrivateKeyFromPath() (*bip32.PrivateKey, error) { + k, err := bip32.NewPrivateKeyFromPath([]byte("abc123"), "m/1'/1'/0/1") + if err != nil { + if bip32.IsImpossibleChildError(err) { + fmt.Println("Child number 1 generated an invalid key, use the next child number") + } + return err + } + + return k, nil +} +``` + +Any valid private key will have a valid public key so that `PrivateKey.PublicKey()` +method never returns an error. + +```go +package main + +import ( + "github.com/skycoin/skycoin/src/cipher/bip32" + "github.com/skycoin/skycoin/src/cipher/bip39" + "fmt" + "log" +) + +// Example address creation for a fictitious company ComputerVoice Inc. where +// each department has their own wallet to manage +func main(){ + // Generate a mnemonic to determine all keys from. Don't lose it. + mnemonic := bip39.MustNewDefaultMnemonic() + + // Derivce a seed from the mnemonic + seed, err := bip39.NewSeed(mnemonic, "") + if err != nil { + log.Fatalln("Error generating seed:", err) + } + + // Create master private key from seed + computerVoiceMasterKey, err := bip32.NewMasterKey(seed) + if err != nil { + log.Fatalln("NewMasterKey failed:", err) + } + + // Map departments to keys + // There is a very small chance a given child index is invalid (less than 1 in 2^127) + // If so your real program should handle this by skipping the index + departmentKeys := map[string]*bip32.Key{} + departmentKeys["Sales"], err = computerVoiceMasterKey.NewChildKey(0) + if err != nil { + log.Fatalln("NewChildKey:", err) + } + departmentKeys["Marketing"], err = computerVoiceMasterKey.NewChildKey(1) + if err != nil { + log.Fatalln("NewChildKey:", err) + } + departmentKeys["Engineering"], err = computerVoiceMasterKey.NewChildKey(2) + if err != nil { + log.Fatalln("NewChildKey:", err) + } + departmentKeys["Customer Support"], err = computerVoiceMasterKey.NewChildKey(3) + if err != nil { + log.Fatalln("NewChildKey:", err) + } + + // Create public keys for record keeping, auditors, payroll, etc + departmentAuditKeys := map[string]*bip32.Key{} + departmentAuditKeys["Sales"] = departmentKeys["Sales"].PublicKey() + departmentAuditKeys["Marketing"] = departmentKeys["Marketing"].PublicKey() + departmentAuditKeys["Engineering"] = departmentKeys["Engineering"].PublicKey() + departmentAuditKeys["Customer Support"] = departmentKeys["Customer Support"].PublicKey() + + // Print public keys + for department, pubKey := range departmentAuditKeys { + fmt.Println(department, pubKey) + } +} +``` + +## Thanks + +The developers at [Factom](https://www.factom.com/) have contributed a lot to this library and have made many great improvements to it. Please check out their project(s) and give them a thanks if you use this library. + +Thanks to [bartekn](https://github.com/bartekn) from Stellar for some important bug catches. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip32/bip32.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/bip32.go new file mode 100644 index 00000000..1a2cdde5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/bip32.go @@ -0,0 +1,632 @@ +/* +Package bip32 implements the bip32 spec https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki +*/ +package bip32 + +import ( + "bytes" + "crypto/hmac" + "crypto/sha512" + "encoding/binary" + "errors" + "fmt" + "log" + + "github.com/skycoin/skycoin/src/cipher/base58" +) + +const ( + // FirstHardenedChild is the index of the firxt "hardened" child key as per the + // bip32 spec + FirstHardenedChild = uint32(0x80000000) + + // masterKey is the "Key" value specified by bip32 for the master key + masterKey = "Bitcoin seed" +) + +// Error wraps bip32 errors +type Error struct { + error + impossibleChild bool +} + +// NewError creates an Error +func NewError(err error) error { + if err == nil { + log.Panic("NewError called with nil error") + } + return Error{ + error: err, + } +} + +// ImpossibleChild returns true if this error indicates +// that a given child number cannot produce a valid key. +// If the caller receives this error, they should skip this child and go to the next number. +// The probability of this happening is less than 1 in 2^127. +func (err Error) ImpossibleChild() bool { + return err.impossibleChild +} + +// NewImpossibleChildError creates an Error flagged as an ImpossibleChild error +func NewImpossibleChildError(err error, childNumber uint32) error { + if err == nil { + log.Panic("NewImpossibleChildError called with nil error") + } + return Error{ + error: fmt.Errorf("childNumber=%d %v", childNumber, err), + impossibleChild: true, + } +} + +// IsImpossibleChildError returns true if the error is an ImpossibleChild Error +func IsImpossibleChildError(err error) bool { + if err == nil { + return false + } + + switch t := err.(type) { + case Error: + return t.ImpossibleChild() + default: + return false + } +} + +var ( + // PrivateWalletVersion is the version flag for serialized private keys ("xpriv") + PrivateWalletVersion = []byte{0x04, 0x88, 0xAD, 0xE4} + + // PublicWalletVersion is the version flag for serialized public keys ("xpub") + PublicWalletVersion = []byte{0x04, 0x88, 0xB2, 0x1E} + + // ErrSerializedKeyWrongSize is returned when trying to deserialize a key that + // has an incorrect length + ErrSerializedKeyWrongSize = NewError(errors.New("Serialized keys should be exactly 82 bytes")) + + // ErrHardenedChildPublicKey is returned when trying to create a harded child + // of the public key + ErrHardenedChildPublicKey = NewError(errors.New("Can't create hardened child for public key")) + + // ErrInvalidChecksum is returned when deserializing a key with an incorrect checksum + ErrInvalidChecksum = NewError(errors.New("Checksum doesn't match")) + + // ErrDerivedInvalidPrivateKey is returned when an invalid private key was derived + ErrDerivedInvalidPrivateKey = NewError(errors.New("Derived invalid private key")) + + // ErrDerivedInvalidPublicKey is returned when an invalid public key was derived + ErrDerivedInvalidPublicKey = NewError(errors.New("Derived invalid public key")) + + // ErrInvalidPrivateKeyVersion is returned when a deserializing a private key without the 'xprv' prefix + ErrInvalidPrivateKeyVersion = NewError(errors.New("Invalid private key version")) + + // ErrInvalidPublicKeyVersion is returned when a deserializing a public key without the 'xpub' prefix + ErrInvalidPublicKeyVersion = NewError(errors.New("Invalid public key version")) + + // ErrInvalidSeedLength is returned when generating a master key with an invalid number of seed bits + ErrInvalidSeedLength = NewError(errors.New("Invalid master key seed length")) + + // ErrDeserializePrivateFromPublic attempted to deserialize a private key from an encoded public key + ErrDeserializePrivateFromPublic = NewError(errors.New("Cannot deserialize a private key from a public key")) + + // ErrInvalidKeyVersion is returned if the key version is not 'xpub' or 'xprv' + ErrInvalidKeyVersion = NewError(errors.New("Invalid key version")) + + // ErrInvalidFingerprint is returned if a deserialized key has an invalid fingerprint + ErrInvalidFingerprint = NewError(errors.New("Invalid key fingerprint")) + + // ErrInvalidChildNumber is returned if a deserialized key has an invalid child number + ErrInvalidChildNumber = NewError(errors.New("Invalid key child number")) + + // ErrInvalidPrivateKey is returned if a deserialized xprv key's private key is invalid + ErrInvalidPrivateKey = NewError(errors.New("Invalid private key")) + + // ErrInvalidPublicKey is returned if a deserialized xpub key's public key is invalid + ErrInvalidPublicKey = NewError(errors.New("Invalid public key")) + + // ErrMaxDepthReached maximum allowed depth (255) reached for child key + ErrMaxDepthReached = NewError(errors.New("Maximum child depth reached")) +) + +// key represents a bip32 extended key +type key struct { + Version []byte // 4 bytes + Depth byte // 1 bytes + ParentFingerprint []byte // 4 bytes + childNumber []byte // 4 bytes + ChainCode []byte // 32 bytes + Key []byte // 33 bytes for public keys; 32 bytes for private keys +} + +func (k key) ChildNumber() uint32 { + return binary.BigEndian.Uint32(k.childNumber) +} + +// PrivateKey represents a bip32 extended private key +type PrivateKey struct { + key +} + +// PublicKey represents a bip32 extended public key +type PublicKey struct { + key +} + +// NewMasterKey creates a new master extended key from a seed. +// Seed should be between 128 and 512 bits; 256 bits are recommended. +// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#master-key-generation +func NewMasterKey(seed []byte) (*PrivateKey, error) { + if len(seed) < 16 || len(seed) > 64 { + return nil, ErrInvalidSeedLength + } + + return newMasterKey(seed) +} + +func newMasterKey(seed []byte) (*PrivateKey, error) { + // Generate key and chaincode + hmac := hmac.New(sha512.New, []byte(masterKey)) + if _, err := hmac.Write(seed); err != nil { + log.Panic(err) + } + intermediary := hmac.Sum(nil) + + // Split it into our key and chain code + keyBytes := intermediary[:32] + chainCode := intermediary[32:] + + // Validate key + if err := validatePrivateKey(keyBytes); err != nil { + return nil, err + } + + // Create the key struct + key := &PrivateKey{ + key: key{ + Version: PrivateWalletVersion, + ChainCode: chainCode, + Key: keyBytes, + Depth: 0x0, + childNumber: []byte{0x00, 0x00, 0x00, 0x00}, + ParentFingerprint: []byte{0x00, 0x00, 0x00, 0x00}, + }, + } + + return key, nil +} + +// NewPrivateKeyFromPath returns a private key at a given bip32 path. +// The path must be a full path starting with m/, and the initial seed +// must be provided. +// This method can return an ImpossibleChild error. +func NewPrivateKeyFromPath(seed []byte, p string) (*PrivateKey, error) { + path, err := ParsePath(p) + if err != nil { + return nil, err + } + + k, err := NewMasterKey(seed) + if err != nil { + return nil, err + } + + if len(path.Elements) > 1 { + return k.DeriveSubpath(path.Elements[1:]) + } + + return k, nil +} + +// DeriveSubpath derives a PrivateKey at at bip32 subpath, e.g. `0'/1'/0`. +// The nodes argument must not be empty. +// This method can return an ImpossibleChild error. +func (k *PrivateKey) DeriveSubpath(nodes []PathNode) (*PrivateKey, error) { + if len(nodes) == 0 { + return nil, errors.New("Path nodes array empty when deriving a bip32 subpath") + } + + ck, err := k.newPrivateChildKeyFromPathNode(nodes[0]) + if err != nil { + return nil, err + } + + for _, e := range nodes[1:] { + ck, err = ck.newPrivateChildKeyFromPathNode(e) + if err != nil { + return nil, err + } + } + + return ck, nil +} + +func (k *PrivateKey) newPrivateChildKeyFromPathNode(n PathNode) (*PrivateKey, error) { + if n.Master { + return nil, errors.New("PathNode is Master at a non-zero depth") + } + + return k.NewPrivateChildKey(n.ChildNumber) +} + +// PublicKey returns the public version of key or return a copy +// The 'Neuter' function from the bip32 spec, N((k, c) -> (K, c). +// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#private-parent-key--public-child-key +func (k *PrivateKey) PublicKey() *PublicKey { + pubKey, err := publicKeyForPrivateKey(k.Key) + if err != nil { + log.Panicf("PrivateKey.PublicKey failed: %v", err) + } + return &PublicKey{ + key: key{ + Version: PublicWalletVersion, + Key: pubKey, + Depth: k.Depth, + childNumber: k.childNumber, + ChainCode: k.ChainCode, + ParentFingerprint: k.ParentFingerprint, + }, + } +} + +// Fingerprint returns the key fingerprint +func (k *PrivateKey) Fingerprint() []byte { + // "Extended keys can be identified by the Hash160 (RIPEMD160 after SHA256) + // of the serialized ECDSA public key K, ignoring the chain code." + return k.PublicKey().Fingerprint() +} + +// Identifier returns the key ID +func (k *PrivateKey) Identifier() []byte { + return k.PublicKey().Identifier() +} + +// Fingerprint returns the key fingerprint +func (k *PublicKey) Fingerprint() []byte { + return fingerprint(k.Key) +} + +// Identifier returns the key ID +func (k *PublicKey) Identifier() []byte { + return identifier(k.Key) +} + +func identifier(key []byte) []byte { + // "Extended keys can be identified by the Hash160 (RIPEMD160 after SHA256) + // of the serialized ECDSA public key K, ignoring the chain code." + + // ripemd160(sha256(key)) + return hash160(key) +} + +func fingerprint(key []byte) []byte { + id := identifier(key) + // "The first 32 bits of the identifier are called the key fingerprint." + return id[:4] +} + +// NewPrivateChildKey derives a private child key from a given parent as outlined by bip32, CDKpriv(). +// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#private-parent-key--private-child-key +// This method can return an ImpossibleChild error. +func (k *PrivateKey) NewPrivateChildKey(childIdx uint32) (*PrivateKey, error) { + if k.Depth == 0xFF { + return nil, ErrMaxDepthReached + } + + intermediary := k.ckdPrivHMAC(childIdx) + + iL := intermediary[:32] // used for computing the next key + chainCode := intermediary[32:] // iR + + // ki = parse256(IL) + kpar (mod n) + // In case parse256(IL) ≥ n or ki = 0, the resulting key is invalid + newKey, err := addPrivateKeys(iL, k.Key) + if err != nil { + return nil, NewImpossibleChildError(err, childIdx) + } + + return &PrivateKey{ + key: key{ + Version: PrivateWalletVersion, + childNumber: uint32Bytes(childIdx), + ChainCode: chainCode, + Depth: k.Depth + 1, + Key: newKey, + ParentFingerprint: k.Fingerprint(), + }, + }, nil +} + +// NewPublicChildKey derives a public child key from an extended public key, N(CKDpriv()). +// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#private-parent-key--public-child-key +// This method can return an ImpossibleChild error. +func (k *PrivateKey) NewPublicChildKey(childIdx uint32) (*PublicKey, error) { + k2, err := k.NewPrivateChildKey(childIdx) + if err != nil { + return nil, err + } + return k2.PublicKey(), nil +} + +// NewPublicChildKey derives a public child key from an extended public key, CKDpub(). +// Hardened child keys cannot be derived; the value of childIdx must be less than 2^31. +// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#public-parent-key--public-child-key +// This method can return an ImpossibleChild error. +func (k *PublicKey) NewPublicChildKey(childIdx uint32) (*PublicKey, error) { + if k.Depth == 0xFF { + return nil, ErrMaxDepthReached + } + + // CKDPub step 1 + intermediary, err := k.ckdPubHMAC(childIdx) + if err != nil { + return nil, err + } + + // CKDPub step 2 + iL := intermediary[:32] // used for computing the next key + + // CKDPub step 3: Ki = point(parse256(IL)) + Kpar + // CKDPub step 5: In case parse256(IL) ≥ n or Ki is the point at infinity, the resulting key is invalid + keyBytes, err := publicKeyForPrivateKey(iL) + if err != nil { + return nil, NewImpossibleChildError(err, childIdx) + } + + // CKDPub step 4 + chainCode := intermediary[32:] // iR + + newKey, err := addPublicKeys(keyBytes[:], k.Key) + if err != nil { + return nil, err + } + + // Create child Key with data common to all both scenarios + return &PublicKey{ + key: key{ + Version: PublicWalletVersion, + childNumber: uint32Bytes(childIdx), + ChainCode: chainCode, + Depth: k.Depth + 1, + Key: newKey, + ParentFingerprint: k.Fingerprint(), + }, + }, nil +} + +// ckdPrivHMAC computes the first step of the CKDPriv function, which computes an HMAC +func (k *key) ckdPrivHMAC(childIdx uint32) []byte { + // Get intermediary to create key and chaincode. + // Hardened children are based on the private key. + // Non-hardened children are based on the public key. + + var data []byte + if childIdx >= FirstHardenedChild { + // Hardened child + // I = HMAC-SHA512(Key = cpar, Data = 0x00 || ser256(kpar) || ser32(i)) + // 0x00 || ser256(kpar) + data = append([]byte{0x0}, k.Key...) + } else { + // Non-hardened child + // I = HMAC-SHA512(Key = cpar, Data = serP(point(kpar)) || ser32(i)) + // The equation below is "convert private key to compressed public key" + // serP(point(kpar)) + var err error + data, err = publicKeyForPrivateKey(k.Key) + if err != nil { + log.Panic(err) + } + } + + // Append the child index as big-endian serialized bytes + // || ser32(i) + childIndexBytes := uint32Bytes(childIdx) + data = append(data, childIndexBytes...) + + // HMAC-SHA512(Key = cpar, Data) + hmac := hmac.New(sha512.New, k.ChainCode) + if _, err := hmac.Write(data); err != nil { + log.Panic(err) + } + + return hmac.Sum(nil) +} + +// ckdPubHMAC computes the first step of the CKDPub function, which computes an HMAC +func (k *key) ckdPubHMAC(childIdx uint32) ([]byte, error) { + // Get intermediary to create key and chaincode. + // Hardened children are based on the private key. + // Non-hardened children are based on the public key. + + if childIdx >= FirstHardenedChild { + // Public keys can't derive hardened child keys + return nil, ErrHardenedChildPublicKey + } + + // I = HMAC-SHA512(Key = cpar, Data = serP(Kpar) || ser32(i)) + + // serP(Kpar) + data := make([]byte, len(k.Key)) + copy(data, k.Key) + + // ser32(i) + childIndexBytes := uint32Bytes(childIdx) + + // serP(Kpar) || ser32(i) + data = append(data, childIndexBytes...) + + // HMAC-SHA512(Key = cpar, Data = serP(Kpar) || ser32(i)) + hmac := hmac.New(sha512.New, k.ChainCode) + if _, err := hmac.Write(data); err != nil { + log.Panic(err) + } + + return hmac.Sum(nil), nil +} + +// Serialize a Key to a 78 byte byte slice +func (k *PrivateKey) Serialize() []byte { + // Private keys should be prepended with a single null byte + return k.serialize(append([]byte{0x0}, k.Key...)) +} + +// Serialize a Key to a 78 byte byte slice +func (k *PublicKey) Serialize() []byte { + return k.serialize(k.Key) +} + +// serialize a Key to a 78 byte byte slice +func (k *key) serialize(key []byte) []byte { + n := len(k.Version) + n++ // k.Depth + n += len(k.ParentFingerprint) + n += len(k.childNumber) + n += len(k.ChainCode) + n += len(key) + + buffer := &bytes.Buffer{} + buffer.Grow(n) + + // Write fields to buffer in order + buffer.Write(k.Version) + buffer.WriteByte(k.Depth) + buffer.Write(k.ParentFingerprint) + buffer.Write(k.childNumber) + buffer.Write(k.ChainCode) + buffer.Write(key) + + // Append the standard doublesha256 checksum + return addChecksumToBytes(buffer.Bytes()) +} + +// String encodes the Key in the standard Bitcoin base58 encoding +func (k *PrivateKey) String() string { + return base58.Encode(k.Serialize()) +} + +// String encodes the Key in the standard Bitcoin base58 encoding +func (k *PublicKey) String() string { + return base58.Encode(k.Serialize()) +} + +// DeserializeEncodedPrivateKey deserializes a base58 xprv key to a PrivateKey +func DeserializeEncodedPrivateKey(xprv string) (*PrivateKey, error) { + b, err := base58.Decode(xprv) + if err != nil { + return nil, err + } + return DeserializePrivateKey(b) +} + +// DeserializePrivateKey deserializes the []byte serialization of a PrivateKey +func DeserializePrivateKey(data []byte) (*PrivateKey, error) { + k, err := deserialize(data, true) + if err != nil { + return nil, err + } + + if len(k.Key) != 32 { + log.Panic("DeserializePrivateKey expected 32 bytes key length") + } + if !bytes.Equal(k.Version, PrivateWalletVersion) { + log.Panic("DeserializePrivateKey expected xprv prefix") + } + + return &PrivateKey{ + key: *k, + }, nil +} + +// DeserializeEncodedPublicKey deserializes a base58 xpub key to a PublicKey +func DeserializeEncodedPublicKey(xpub string) (*PublicKey, error) { + b, err := base58.Decode(xpub) + if err != nil { + return nil, err + } + return DeserializePublicKey(b) +} + +// DeserializePublicKey deserializes the []byte serialization of a PublicKey +func DeserializePublicKey(data []byte) (*PublicKey, error) { + k, err := deserialize(data, false) + if err != nil { + return nil, err + } + + if len(k.Key) != 33 { + log.Panic("DeserializePublicKey expected 33 bytes key length") + } + if !bytes.Equal(k.Version, PublicWalletVersion) { + log.Panic("DeserializePublicKey expected xpub prefix") + } + + return &PublicKey{ + key: *k, + }, nil +} + +// deserialize a byte slice into a Key. +// If the Key.Key length is 32 bytes it is a private key, otherwise it is a public key. +func deserialize(data []byte, wantPrivate bool) (*key, error) { + if len(data) != 82 { + return nil, ErrSerializedKeyWrongSize + } + + // Validate checksum + cs1 := checksum(data[0 : len(data)-4]) + cs2 := data[len(data)-4:] + if !bytes.Equal(cs1, cs2) { + return nil, ErrInvalidChecksum + } + + k := &key{} + k.Version = data[0:4] + k.Depth = data[4] + k.ParentFingerprint = data[5:9] + k.childNumber = data[9:13] + k.ChainCode = data[13:45] + + isPrivate := bytes.Equal(k.Version, PrivateWalletVersion) + isPublic := bytes.Equal(k.Version, PublicWalletVersion) + + if !isPrivate && !isPublic { + return nil, ErrInvalidKeyVersion + } + + if wantPrivate && !isPrivate { + return nil, ErrInvalidPrivateKeyVersion + } + + if !wantPrivate && !isPublic { + return nil, ErrInvalidPublicKeyVersion + } + + // Master keys (depth=0) have an empty fingerprint and a ChildNumber of 0 + if k.Depth == 0 { + var emptyBytes [4]byte + if !bytes.Equal(k.ParentFingerprint, emptyBytes[:]) { + return nil, ErrInvalidFingerprint + } + + if k.ChildNumber() != 0 { + return nil, ErrInvalidChildNumber + } + } + + // Private keys must have a 0 byte prefix padding + if isPrivate { + if data[45] != 0 { + return nil, ErrInvalidPrivateKey + } + k.Key = data[46:78] + if err := validatePrivateKey(k.Key); err != nil { + return nil, ErrInvalidPrivateKey + } + } else { + k.Key = data[45:78] + if err := validatePublicKey(k.Key); err != nil { + return nil, ErrInvalidPublicKey + } + } + + return k, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip32/path.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/path.go new file mode 100644 index 00000000..d95e6af3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/path.go @@ -0,0 +1,108 @@ +package bip32 + +import ( + "errors" + "log" + "strconv" + "strings" +) + +// Path represents a parsed HD wallet path +type Path struct { + Elements []PathNode +} + +// PathNode is an element of an HD wallet path +type PathNode struct { + Master bool + ChildNumber uint32 +} + +// Hardened returns true if this path node is hardened +func (p PathNode) Hardened() bool { + return p.ChildNumber >= FirstHardenedChild +} + +var ( + // ErrPathNoMaster HD wallet path does not start with m + ErrPathNoMaster = errors.New("Path must start with m") + // ErrPathChildMaster HD wallet path contains m in a child node + ErrPathChildMaster = errors.New("Path contains m as a child node") + // ErrPathNodeNotNumber HD wallet path node is not a valid uint32 number + ErrPathNodeNotNumber = errors.New("Path node is not a valid uint32 number") + // ErrPathNodeNumberTooLarge HD wallet path node is >= 2^31 + ErrPathNodeNumberTooLarge = errors.New("Path node must be less than 2^31") +) + +// ParsePath parses a bip32 HD wallet path. The path must start with m/. +func ParsePath(p string) (*Path, error) { + pts := strings.Split(p, "/") + + path := &Path{ + Elements: []PathNode{ + { + Master: true, + ChildNumber: 0, + }, + }, + } + + for i, x := range pts { + if i == 0 { + if x != "m" { + return nil, ErrPathNoMaster + } + // Path.Elements already initialized with master node + continue + } else if x == "m" { + return nil, ErrPathChildMaster + } + + n, err := parseNode(x) + if err != nil { + return nil, err + } + + path.Elements = append(path.Elements, n) + } + + return path, nil +} + +func parseNode(x string) (PathNode, error) { + // Hardened nodes have an apostrophe ' appended + hardened := false + if strings.HasSuffix(x, "'") { + hardened = true + x = x[:len(x)-1] + } + + // Node element (minus a single trailing apostrophe) must be a valid uint32 number + n, err := strconv.ParseUint(x, 10, 32) + if err != nil { + return PathNode{}, ErrPathNodeNotNumber + } + + // Node number must be <2^31. If hardened, 2^31 will be added to it + if n >= uint64(FirstHardenedChild) { + return PathNode{}, ErrPathNodeNumberTooLarge + } + + nn := uint32(n) + + // Add 2^31 to the base number for hardened nodes + if hardened { + nnn := nn + FirstHardenedChild + + // Sanity check + if nnn < nn { + log.Panic("Unexpected overflow of path number when adjusting hardened child number") + } + nn = nnn + } + + return PathNode{ + Master: false, + ChildNumber: nn, + }, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip32/utils.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/utils.go new file mode 100644 index 00000000..a836bd30 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip32/utils.go @@ -0,0 +1,171 @@ +package bip32 + +import ( + "crypto/sha256" + "encoding/binary" + "fmt" + "log" + "math/big" + + "github.com/skycoin/skycoin/src/cipher/ripemd160" + secp256k1 "github.com/skycoin/skycoin/src/cipher/secp256k1-go" + secp256k1go "github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2" +) + +// +// Hashes +// + +func hashSHA256(data []byte) []byte { + h := sha256.New() + h.Write(data) //nolint:errcheck + return h.Sum(nil) +} + +func hashDoubleSHA256(data []byte) []byte { + hash1 := hashSHA256(data) + hash2 := hashSHA256(hash1) + return hash2 +} + +func hashRipemd160(data []byte) []byte { + h := ripemd160.New() + h.Write(data) //nolint:errcheck + return h.Sum(nil) +} + +func hash160(data []byte) []byte { + hash1 := hashSHA256(data) + hash2 := hashRipemd160(hash1) + return hash2 +} + +// +// Checksum +// + +func checksum(data []byte) []byte { + hash := hashDoubleSHA256(data) + return hash[:4] +} + +func addChecksumToBytes(data []byte) []byte { + checksum := checksum(data) + return append(data, checksum...) +} + +// +// Keys +// + +// publicKeyForPrivateKey converts a private key to a public key. +// Equivalent to `serP(point(k))` in the bip32 spec +func publicKeyForPrivateKey(key []byte) ([]byte, error) { + // From bip32: If parse256(IL) ≥ n, fail + if err := validatePrivateKey(key); err != nil { + return nil, err + } + + b := secp256k1.PubkeyFromSeckey(key) + if b == nil { + log.Panic("publicKeyForPrivateKey: invalid private key") + } + + // From bip32: If Ki == 0 fail + if err := validatePublicKey(b); err != nil { + return nil, err + } + + return b, nil +} + +func addPublicKeys(key, keyPar []byte) ([]byte, error) { + if code := secp256k1.VerifyPubkey(key); code != 1 { + return nil, fmt.Errorf("addPublicKeys: key is invalid, secp256k1.VerifyPubkey error code %d", code) + } + if code := secp256k1.VerifyPubkey(keyPar); code != 1 { + return nil, fmt.Errorf("addPublicKeys: keyPar is invalid, secp256k1.VerifyPubkey error code %d", code) + } + + // expandPublicKey + var pk1, pk2 secp256k1go.XY + if err := pk1.ParsePubkey(key); err != nil { + log.Panicf("addPublicKeys: invalid pubkey1: %v", err) + } + if err := pk2.ParsePubkey(keyPar); err != nil { + log.Panicf("addPublicKeys: invalid pubkey1: %v", err) + } + + // add public keys + pk1.AddXY(&pk2) + + // compress + newKey := pk1.Bytes() + + if code := secp256k1.VerifyPubkey(newKey); code != 1 { + return nil, fmt.Errorf("addPublicKeys: newKey is invalid, secp256k1.VerifyPubkey error code %d", code) + } + + return newKey, nil +} + +// addPrivateKeys computes the CKDPriv equation `parse256(IL) + kpar (mod n)` +// and verifies the result +func addPrivateKeys(key, keyPar []byte) ([]byte, error) { + // From bip32: If parse256(IL) ≥ n, fail + if code := secp256k1.VerifySeckey(key); code != 1 { + return nil, fmt.Errorf("addPrivateKeys: key is invalid, secp256k1.VerifySeckey error code %d", code) + } + if code := secp256k1.VerifySeckey(keyPar); code != 1 { + return nil, fmt.Errorf("addPrivateKeys: keyPar is invalid, secp256k1.VerifySeckey error code %d", code) + } + + var keyInt big.Int + var keyParInt big.Int + keyInt.SetBytes(key) + keyParInt.SetBytes(keyPar) + + // Computes this CKDPriv equation: + // parse256(IL) + kpar (mod n) + keyInt.Add(&keyInt, &keyParInt) + keyInt.Mod(&keyInt, &secp256k1go.TheCurve.Order.Int) + + newKey := secp256k1go.LeftPadBytes(keyInt.Bytes(), 32) + + // From bip32: If ki == 0 fail + if code := secp256k1.VerifySeckey(newKey); code != 1 { + return nil, fmt.Errorf("addPrivateKeys: newKey is invalid, secp256k1.VerifySeckey error code %d", code) + } + + return newKey, nil +} + +// validatePrivateKey verifies that the secret key is not zero and that it is inside the curve +// Corresponds to bip32 spec constraints `parse256(IL) < n && ki != 0` +func validatePrivateKey(key []byte) error { + // VerifySeckey checks that the key is > 0 and inside the curve + if secp256k1.VerifySeckey(key) != 1 { + return ErrDerivedInvalidPrivateKey + } + + return nil +} + +func validatePublicKey(key []byte) error { + if secp256k1.VerifyPubkey(key) != 1 { + return ErrDerivedInvalidPublicKey + } + + return nil +} + +// +// Numerical +// + +// uint32Bytes serializes a uint32 as bytes in big-endian form +func uint32Bytes(i uint32) []byte { + bytes := make([]byte, 4) + binary.BigEndian.PutUint32(bytes, i) + return bytes +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/LICENSE b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/LICENSE new file mode 100644 index 00000000..1dc11de8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2014-2018 Tyler Smith and contributors +Copyright (c) 2018-2019 Skycoin Developers + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/README.md new file mode 100644 index 00000000..6f5ca0fa --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/README.md @@ -0,0 +1,43 @@ +# bip39 +[![Documentation](https://godoc.org/github.com/skycoin/skycoin/src/cipher/bip39?status.svg)](http://godoc.org/github.com/skycoin/skycoin/src/cipher/bip39) + +A golang implementation of the BIP0039 spec for mnemonic seeds. + +Forked from https://github.com/tyler-smith/go-bip39 to manually vendor the code in the `cipher/` path +and to make some structural modifications. + +## Example + +```go +package main + +import ( + "github.com/skycoin/skycoin/src/cipher/bip39" + "github.com/tyler-smith/go-bip32" + "fmt" +) + +func main(){ + // Generate a mnemonic for memorization or user-friendly seeds + entropy, _ := bip39.NewEntropy(256) + mnemonic, _ := bip39.NewMnemonic(entropy) + + // Generate a Bip32 HD wallet for the mnemonic and a user supplied password + seed := bip39.NewSeed(mnemonic, "Secret Passphrase") + + masterKey, _ := bip32.NewMasterKey(seed) + publicKey := masterKey.PublicKey() + + // Display mnemonic and keys + fmt.Println("Mnemonic: ", mnemonic) + fmt.Println("Master private key: ", masterKey) + fmt.Println("Master public key: ", publicKey) +} +``` + +## Credits + +Wordlists are from the [bip39 spec](https://github.com/bitcoin/bips/tree/master/bip-0039). + +Test vectors are from the standard Python BIP0039 implementation from the +Trezor team: [https://github.com/trezor/python-mnemonic](https://github.com/trezor/python-mnemonic) diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/bip39.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/bip39.go new file mode 100644 index 00000000..cd19b40e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/bip39.go @@ -0,0 +1,408 @@ +// Package bip39 is the Golang implementation of the BIP39 spec. +// +// The official BIP39 spec can be found at +// https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki +package bip39 + +import ( + "bytes" + "crypto/sha256" + "crypto/sha512" + "encoding/binary" + "errors" + "fmt" + "math/big" + "strings" + "sync" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip39/wordlists" + + "github.com/skycoin/skycoin/src/cipher/pbkdf2" +) + +var ( + // Some bitwise operands for working with big.Ints + last11BitsMask = big.NewInt(2047) + shift11BitsMask = big.NewInt(2048) + bigOne = big.NewInt(1) + bigTwo = big.NewInt(2) + + // used to isolate the checksum bits from the entropy+checksum byte array + wordLengthChecksumMasksMapping = map[int]*big.Int{ + 12: big.NewInt(15), + 15: big.NewInt(31), + 18: big.NewInt(63), + 21: big.NewInt(127), + 24: big.NewInt(255), + } + // used to use only the desired x of 8 available checksum bits. + // 256 bit (word length 24) requires all 8 bits of the checksum, + // and thus no shifting is needed for it (we would get a divByZero crash if we did) + wordLengthChecksumShiftMapping = map[int]*big.Int{ + 12: big.NewInt(16), + 15: big.NewInt(8), + 18: big.NewInt(4), + 21: big.NewInt(2), + } + + // wordList is the set of words to use + wordList []string + + // wordMap is a reverse lookup map for wordList + wordMap map[string]int + + // wordListMutex is held when changing wordList + // TODO -- make wordList non-global + wordListMutex sync.Mutex +) + +var ( + // ErrInvalidEntropyLength is returned when trying to use an entropy set with + // an invalid size. + ErrInvalidEntropyLength = errors.New("Entropy length must be [128, 256] and a multiple of 32") + + // ErrChecksumIncorrect is returned when entropy has the incorrect checksum. + ErrChecksumIncorrect = errors.New("Mnemonic checksum incorrect") + + // ErrSurroundingWhitespace is returned if a mnemonic sentence has extra whitespace around it + ErrSurroundingWhitespace = errors.New("Mnemonic has extra whitespace around it") + + // ErrInvalidSeparator is returned if the words in a mnemonic sentence are not separated by a single ASCII space + ErrInvalidSeparator = errors.New("Mnemonic must be separated by single spaces") + + // ErrUnknownWord is returned if a mnemonic sentence contains an unrecognized word + ErrUnknownWord = errors.New("Mnemonic contains an unrecognized word") + + // ErrInvalidNumberOfWords is returned if a mnemonic sentence does not have 12, 15, 18, 21 or 24 words + ErrInvalidNumberOfWords = errors.New("Mnemonic must have 12, 15, 18, 21 or 24 words") +) + +func init() { + setWordList(wordlists.English) +} + +// setWordList sets the list of words to use for mnemonics. Currently the list +// that is set is used package-wide. +func setWordList(list []string) { + wordListMutex.Lock() + defer wordListMutex.Unlock() + wordList = list + wordMap = map[string]int{} + for i, v := range wordList { + wordMap[v] = i + } +} + +// getWordList gets the list of words to use for mnemonics. +func getWordList() []string { + wordListMutex.Lock() + defer wordListMutex.Unlock() + return wordList +} + +// getWordIndex gets word index in wordMap. +func getWordIndex(word string) (int, bool) { + wordListMutex.Lock() + defer wordListMutex.Unlock() + idx, ok := wordMap[word] + return idx, ok +} + +// DefaultMnemonicEntropyBitSize is the default bit size for NewDefaultMnemonic's entropy +// TODO -- make 24 word seeds default? (256 bits entropy - recommended for HD wallets) +const DefaultMnemonicEntropyBitSize = 128 + +// NewDefaultMnemonic returns a generated mnemonic using entropy with bitSize 128 +func NewDefaultMnemonic() (string, error) { + entropy, err := NewEntropy(DefaultMnemonicEntropyBitSize) + if err != nil { + return "", err + } + + return NewMnemonic(entropy) +} + +// MustNewDefaultMnemonic returns a generated mnemonic using entropy with bitSize 128 and panics if there is an error +func MustNewDefaultMnemonic() string { + seed, err := NewDefaultMnemonic() + if err != nil { + panic(err) + } + return seed +} + +// NewEntropy will create random entropy bytes +// so long as the requested size bitSize is an appropriate size. +// +// bitSize has to be a multiple of 32 and be within the inclusive range of {128, 256} +func NewEntropy(bitSize int) ([]byte, error) { + err := validateEntropyBitSize(bitSize) + if err != nil { + return nil, err + } + + entropy := cipher.RandByte(bitSize / 8) + return entropy, err +} + +// EntropyFromMnemonic takes a mnemonic generated by this library, +// and returns the input entropy used to generate the given mnemonic. +// An error is returned if the given mnemonic is invalid. +func EntropyFromMnemonic(mnemonic string) ([]byte, error) { + words, err := splitMnemonicWords(mnemonic) + if err != nil { + return nil, err + } + + // Decode the words into a big.Int. + b := big.NewInt(0) + for _, v := range words { + index, found := wordMap[v] + if !found { + // This should have been caught by splitMnemonicWords() + panic(fmt.Sprintf("word %q not found in reverse map", v)) + } + var wordBytes [2]byte + binary.BigEndian.PutUint16(wordBytes[:], uint16(index)) + b = b.Mul(b, shift11BitsMask) + b = b.Or(b, big.NewInt(0).SetBytes(wordBytes[:])) + } + + // Build and add the checksum to the big.Int. + checksum := big.NewInt(0) + checksumMask := wordLengthChecksumMasksMapping[len(words)] + checksum = checksum.And(b, checksumMask) + + b.Div(b, big.NewInt(0).Add(checksumMask, bigOne)) + + // The entropy is the underlying bytes of the big.Int. Any upper bytes of + // all 0's are not returned so we pad the beginning of the slice with empty + // bytes if necessary. + entropy := b.Bytes() + entropy = padByteSlice(entropy, len(words)/3*4) + + // Generate the checksum and compare with the one we got from the mnemonic. + entropyChecksumBytes := computeChecksum(entropy) + entropyChecksum := big.NewInt(int64(entropyChecksumBytes[0])) + if l := len(words); l != 24 { + checksumShift := wordLengthChecksumShiftMapping[l] + entropyChecksum.Div(entropyChecksum, checksumShift) + } + + if checksum.Cmp(entropyChecksum) != 0 { + return nil, ErrChecksumIncorrect + } + + return entropy, nil +} + +// NewMnemonic will return a string consisting of the mnemonic words for +// the given entropy. +// If the provide entropy is invalid, an error will be returned. +func NewMnemonic(entropy []byte) (string, error) { + // Compute some lengths for convenience. + entropyBitLength := len(entropy) * 8 + checksumBitLength := entropyBitLength / 32 + sentenceLength := (entropyBitLength + checksumBitLength) / 11 + + // Validate that the requested size is supported. + err := validateEntropyBitSize(entropyBitLength) + if err != nil { + return "", err + } + + // Add checksum to entropy. + entropy = addChecksum(entropy) + + // Break entropy up into sentenceLength chunks of 11 bits. + // For each word AND mask the rightmost 11 bits and find the word at that index. + // Then bitshift entropy 11 bits right and repeat. + // Add to the last empty slot so we can work with LSBs instead of MSB. + + // Entropy as an int so we can bitmask without worrying about bytes slices. + entropyInt := new(big.Int).SetBytes(entropy) + + // Slice to hold words in. + words := make([]string, sentenceLength) + + // Throw away big.Int for AND masking. + word := big.NewInt(0) + + for i := sentenceLength - 1; i >= 0; i-- { + // Get 11 right most bits and bitshift 11 to the right for next time. + word.And(entropyInt, last11BitsMask) + entropyInt.Div(entropyInt, shift11BitsMask) + + // Get the bytes representing the 11 bits as a 2 byte slice. + wordBytes := padByteSlice(word.Bytes(), 2) + + // Convert bytes to an index and add that word to the list. + words[i] = wordList[binary.BigEndian.Uint16(wordBytes)] + } + + return strings.Join(words, " "), nil +} + +// NewSeed creates a hashed seed output given the mnemonic string and a password. +// An error is returned if the mnemonic is not valid. +func NewSeed(mnemonic string, password string) ([]byte, error) { + if err := ValidateMnemonic(mnemonic); err != nil { + return nil, err + } + + return newSeed(mnemonic, password), nil +} + +// newSeed creates a hashed seed output given a provided string and password. +// No checking is performed to validate that the string provided is a valid mnemonic. +func newSeed(mnemonic, password string) []byte { + return pbkdf2.Key([]byte(mnemonic), []byte("mnemonic"+password), 2048, 64, sha512.New) +} + +// ValidateMnemonic returns an error if a mnemonic is invalid. It can be invalid +// for these reasons: +// - Number of words not a multiple of 3 and not at least 12 or at most 24 words +// - Words are not separated by exactly one ascii space +// - Mnemonic string has leading or trailing whitespace +// - Any word is not present in the wordlist +// - The mnemonic checksum is incorrect +// Note: this only works on ascii wordlists. Japanese, Chinese etc are not supported yet. +func ValidateMnemonic(mnemonic string) error { + words, err := splitMnemonicWords(mnemonic) + if err != nil { + return err + } + + if !isMnemonicChecksumValid(words) { + return ErrChecksumIncorrect + } + + return nil +} + +// splitMnemonicWords attempts to verify that the provided mnemonic is valid. +// Validity is determined by both the number of words being appropriate, +// and that all the words in the mnemonic are present in the word list. +func splitMnemonicWords(mnemonic string) ([]string, error) { + // Make sure no leading/trailing whitespace + if mnemonic != strings.TrimSpace(mnemonic) { + return nil, ErrSurroundingWhitespace + } + + // Create a list of all the words in the mnemonic sentence + words := strings.Split(mnemonic, " ") + + // Detect duplicate whitespace + for _, w := range words { + if w == "" { + return nil, ErrInvalidSeparator + } + } + + numOfWords := len(words) + + // The number of words should be 12, 15, 18, 21 or 24 + if numOfWords%3 != 0 || numOfWords < 12 || numOfWords > 24 { + return nil, ErrInvalidNumberOfWords + } + + // Check if all words belong in the wordlist + for _, word := range words { + if _, ok := wordMap[word]; !ok { + return nil, ErrUnknownWord + } + } + + return words, nil +} + +// isMnemonicChecksumValid validates the checksum value of a mnemonic +func isMnemonicChecksumValid(words []string) bool { + if len(words)%3 != 0 || len(words) < 12 || len(words) > 24 { + panic("invalid number of words") // caller should validate words before passing to this function + } + + var ( + entropyBitSize = len(words) * 11 + checksumBitSize = entropyBitSize % 32 + fullByteSize = (entropyBitSize-checksumBitSize)/8 + 1 + checksumByteSize = fullByteSize - (fullByteSize % 4) + ) + + // Convert word indices to a big.Int representing the entropy. + checksummedEntropy := big.NewInt(0) + modulo := big.NewInt(2048) + for _, v := range words { + index := big.NewInt(int64(wordMap[v])) + checksummedEntropy.Mul(checksummedEntropy, modulo) + checksummedEntropy.Add(checksummedEntropy, index) + } + + // Calculate the unchecksummed entropy so we can validate that the checksum is + // correct. + checksumModulo := big.NewInt(0).Exp(bigTwo, big.NewInt(int64(checksumBitSize)), nil) + rawEntropy := big.NewInt(0).Div(checksummedEntropy, checksumModulo) + + // Convert big.Ints to byte padded byte slices. + rawEntropyBytes := padByteSlice(rawEntropy.Bytes(), checksumByteSize) + checksummedEntropyBytes := padByteSlice(checksummedEntropy.Bytes(), fullByteSize) + + // Validate that the checksum is correct. + newChecksummedEntropyBytes := padByteSlice(addChecksum(rawEntropyBytes), fullByteSize) + return bytes.Equal(checksummedEntropyBytes, newChecksummedEntropyBytes) +} + +// Appends to data the first (len(data) / 32)bits of the result of sha256(data) +// Currently only supports data up to 32 bytes +func addChecksum(data []byte) []byte { + // Get first byte of sha256 + hash := computeChecksum(data) + firstChecksumByte := hash[0] + + // len() is in bytes so we divide by 4 + checksumBitLength := uint(len(data) / 4) + + // For each bit of check sum we want we shift the data one the left + // and then set the (new) right most bit equal to checksum bit at that index + // staring from the left + dataBigInt := new(big.Int).SetBytes(data) + for i := uint(0); i < checksumBitLength; i++ { + // Bitshift 1 left + dataBigInt.Mul(dataBigInt, bigTwo) + + // Set rightmost bit if leftmost checksum bit is set + if uint8(firstChecksumByte&(1<<(7-i))) > 0 { + dataBigInt.Or(dataBigInt, bigOne) + } + } + + return dataBigInt.Bytes() +} + +func computeChecksum(data []byte) []byte { + hasher := sha256.New() + hasher.Write(data) //nolint:errcheck + return hasher.Sum(nil) +} + +// validateEntropyBitSize ensures that entropy is the correct size for being a +// mnemonic. +func validateEntropyBitSize(bitSize int) error { + if (bitSize%32) != 0 || bitSize < 128 || bitSize > 256 { + return ErrInvalidEntropyLength + } + return nil +} + +// padByteSlice returns a byte slice of the given size with contents of the +// given slice left padded and any empty spaces filled with 0's. +func padByteSlice(slice []byte, length int) []byte { + offset := length - len(slice) + if offset <= 0 { + return slice + } + newSlice := make([]byte, length) + copy(newSlice[offset:], slice) + return newSlice +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/chinese_simplified.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/chinese_simplified.go new file mode 100644 index 00000000..0ee29727 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/chinese_simplified.go @@ -0,0 +1,2071 @@ +package wordlists + +import ( + "fmt" + "hash/crc32" + "strings" +) + +func init() { + // Ensure word list is correct + // $ wget https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/chinese_simplified.txt + // $ crc32 chinese_simplified.txt + // e3721bbf + checksum := crc32.ChecksumIEEE([]byte(chineseSimplified)) + if fmt.Sprintf("%x", checksum) != "e3721bbf" { + panic("chineseSimplified checksum invalid") + } +} + +// ChineseSimplified is a slice of mnemonic words taken from the bip39 specification +// https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/chinese_simplified.txt +var ChineseSimplified = strings.Split(strings.TrimSpace(chineseSimplified), "\n") +var chineseSimplified = `的 +一 +是 +在 +不 +了 +有 +和 +人 +这 +中 +大 +为 +上 +个 +国 +我 +以 +要 +他 +时 +来 +用 +们 +生 +到 +作 +地 +于 +出 +就 +分 +对 +成 +会 +可 +主 +发 +年 +动 +同 +工 +也 +能 +下 +过 +子 +说 +产 +种 +面 +而 +方 +后 +多 +定 +行 +学 +法 +所 +民 +得 +经 +十 +三 +之 +进 +着 +等 +部 +度 +家 +电 +力 +里 +如 +水 +化 +高 +自 +二 +理 +起 +小 +物 +现 +实 +加 +量 +都 +两 +体 +制 +机 +当 +使 +点 +从 +业 +本 +去 +把 +性 +好 +应 +开 +它 +合 +还 +因 +由 +其 +些 +然 +前 +外 +天 +政 +四 +日 +那 +社 +义 +事 +平 +形 +相 +全 +表 +间 +样 +与 +关 +各 +重 +新 +线 +内 +数 +正 +心 +反 +你 +明 +看 +原 +又 +么 +利 +比 +或 +但 +质 +气 +第 +向 +道 +命 +此 +变 +条 +只 +没 +结 +解 +问 +意 +建 +月 +公 +无 +系 +军 +很 +情 +者 +最 +立 +代 +想 +已 +通 +并 +提 +直 +题 +党 +程 +展 +五 +果 +料 +象 +员 +革 +位 +入 +常 +文 +总 +次 +品 +式 +活 +设 +及 +管 +特 +件 +长 +求 +老 +头 +基 +资 +边 +流 +路 +级 +少 +图 +山 +统 +接 +知 +较 +将 +组 +见 +计 +别 +她 +手 +角 +期 +根 +论 +运 +农 +指 +几 +九 +区 +强 +放 +决 +西 +被 +干 +做 +必 +战 +先 +回 +则 +任 +取 +据 +处 +队 +南 +给 +色 +光 +门 +即 +保 +治 +北 +造 +百 +规 +热 +领 +七 +海 +口 +东 +导 +器 +压 +志 +世 +金 +增 +争 +济 +阶 +油 +思 +术 +极 +交 +受 +联 +什 +认 +六 +共 +权 +收 +证 +改 +清 +美 +再 +采 +转 +更 +单 +风 +切 +打 +白 +教 +速 +花 +带 +安 +场 +身 +车 +例 +真 +务 +具 +万 +每 +目 +至 +达 +走 +积 +示 +议 +声 +报 +斗 +完 +类 +八 +离 +华 +名 +确 +才 +科 +张 +信 +马 +节 +话 +米 +整 +空 +元 +况 +今 +集 +温 +传 +土 +许 +步 +群 +广 +石 +记 +需 +段 +研 +界 +拉 +林 +律 +叫 +且 +究 +观 +越 +织 +装 +影 +算 +低 +持 +音 +众 +书 +布 +复 +容 +儿 +须 +际 +商 +非 +验 +连 +断 +深 +难 +近 +矿 +千 +周 +委 +素 +技 +备 +半 +办 +青 +省 +列 +习 +响 +约 +支 +般 +史 +感 +劳 +便 +团 +往 +酸 +历 +市 +克 +何 +除 +消 +构 +府 +称 +太 +准 +精 +值 +号 +率 +族 +维 +划 +选 +标 +写 +存 +候 +毛 +亲 +快 +效 +斯 +院 +查 +江 +型 +眼 +王 +按 +格 +养 +易 +置 +派 +层 +片 +始 +却 +专 +状 +育 +厂 +京 +识 +适 +属 +圆 +包 +火 +住 +调 +满 +县 +局 +照 +参 +红 +细 +引 +听 +该 +铁 +价 +严 +首 +底 +液 +官 +德 +随 +病 +苏 +失 +尔 +死 +讲 +配 +女 +黄 +推 +显 +谈 +罪 +神 +艺 +呢 +席 +含 +企 +望 +密 +批 +营 +项 +防 +举 +球 +英 +氧 +势 +告 +李 +台 +落 +木 +帮 +轮 +破 +亚 +师 +围 +注 +远 +字 +材 +排 +供 +河 +态 +封 +另 +施 +减 +树 +溶 +怎 +止 +案 +言 +士 +均 +武 +固 +叶 +鱼 +波 +视 +仅 +费 +紧 +爱 +左 +章 +早 +朝 +害 +续 +轻 +服 +试 +食 +充 +兵 +源 +判 +护 +司 +足 +某 +练 +差 +致 +板 +田 +降 +黑 +犯 +负 +击 +范 +继 +兴 +似 +余 +坚 +曲 +输 +修 +故 +城 +夫 +够 +送 +笔 +船 +占 +右 +财 +吃 +富 +春 +职 +觉 +汉 +画 +功 +巴 +跟 +虽 +杂 +飞 +检 +吸 +助 +升 +阳 +互 +初 +创 +抗 +考 +投 +坏 +策 +古 +径 +换 +未 +跑 +留 +钢 +曾 +端 +责 +站 +简 +述 +钱 +副 +尽 +帝 +射 +草 +冲 +承 +独 +令 +限 +阿 +宣 +环 +双 +请 +超 +微 +让 +控 +州 +良 +轴 +找 +否 +纪 +益 +依 +优 +顶 +础 +载 +倒 +房 +突 +坐 +粉 +敌 +略 +客 +袁 +冷 +胜 +绝 +析 +块 +剂 +测 +丝 +协 +诉 +念 +陈 +仍 +罗 +盐 +友 +洋 +错 +苦 +夜 +刑 +移 +频 +逐 +靠 +混 +母 +短 +皮 +终 +聚 +汽 +村 +云 +哪 +既 +距 +卫 +停 +烈 +央 +察 +烧 +迅 +境 +若 +印 +洲 +刻 +括 +激 +孔 +搞 +甚 +室 +待 +核 +校 +散 +侵 +吧 +甲 +游 +久 +菜 +味 +旧 +模 +湖 +货 +损 +预 +阻 +毫 +普 +稳 +乙 +妈 +植 +息 +扩 +银 +语 +挥 +酒 +守 +拿 +序 +纸 +医 +缺 +雨 +吗 +针 +刘 +啊 +急 +唱 +误 +训 +愿 +审 +附 +获 +茶 +鲜 +粮 +斤 +孩 +脱 +硫 +肥 +善 +龙 +演 +父 +渐 +血 +欢 +械 +掌 +歌 +沙 +刚 +攻 +谓 +盾 +讨 +晚 +粒 +乱 +燃 +矛 +乎 +杀 +药 +宁 +鲁 +贵 +钟 +煤 +读 +班 +伯 +香 +介 +迫 +句 +丰 +培 +握 +兰 +担 +弦 +蛋 +沉 +假 +穿 +执 +答 +乐 +谁 +顺 +烟 +缩 +征 +脸 +喜 +松 +脚 +困 +异 +免 +背 +星 +福 +买 +染 +井 +概 +慢 +怕 +磁 +倍 +祖 +皇 +促 +静 +补 +评 +翻 +肉 +践 +尼 +衣 +宽 +扬 +棉 +希 +伤 +操 +垂 +秋 +宜 +氢 +套 +督 +振 +架 +亮 +末 +宪 +庆 +编 +牛 +触 +映 +雷 +销 +诗 +座 +居 +抓 +裂 +胞 +呼 +娘 +景 +威 +绿 +晶 +厚 +盟 +衡 +鸡 +孙 +延 +危 +胶 +屋 +乡 +临 +陆 +顾 +掉 +呀 +灯 +岁 +措 +束 +耐 +剧 +玉 +赵 +跳 +哥 +季 +课 +凯 +胡 +额 +款 +绍 +卷 +齐 +伟 +蒸 +殖 +永 +宗 +苗 +川 +炉 +岩 +弱 +零 +杨 +奏 +沿 +露 +杆 +探 +滑 +镇 +饭 +浓 +航 +怀 +赶 +库 +夺 +伊 +灵 +税 +途 +灭 +赛 +归 +召 +鼓 +播 +盘 +裁 +险 +康 +唯 +录 +菌 +纯 +借 +糖 +盖 +横 +符 +私 +努 +堂 +域 +枪 +润 +幅 +哈 +竟 +熟 +虫 +泽 +脑 +壤 +碳 +欧 +遍 +侧 +寨 +敢 +彻 +虑 +斜 +薄 +庭 +纳 +弹 +饲 +伸 +折 +麦 +湿 +暗 +荷 +瓦 +塞 +床 +筑 +恶 +户 +访 +塔 +奇 +透 +梁 +刀 +旋 +迹 +卡 +氯 +遇 +份 +毒 +泥 +退 +洗 +摆 +灰 +彩 +卖 +耗 +夏 +择 +忙 +铜 +献 +硬 +予 +繁 +圈 +雪 +函 +亦 +抽 +篇 +阵 +阴 +丁 +尺 +追 +堆 +雄 +迎 +泛 +爸 +楼 +避 +谋 +吨 +野 +猪 +旗 +累 +偏 +典 +馆 +索 +秦 +脂 +潮 +爷 +豆 +忽 +托 +惊 +塑 +遗 +愈 +朱 +替 +纤 +粗 +倾 +尚 +痛 +楚 +谢 +奋 +购 +磨 +君 +池 +旁 +碎 +骨 +监 +捕 +弟 +暴 +割 +贯 +殊 +释 +词 +亡 +壁 +顿 +宝 +午 +尘 +闻 +揭 +炮 +残 +冬 +桥 +妇 +警 +综 +招 +吴 +付 +浮 +遭 +徐 +您 +摇 +谷 +赞 +箱 +隔 +订 +男 +吹 +园 +纷 +唐 +败 +宋 +玻 +巨 +耕 +坦 +荣 +闭 +湾 +键 +凡 +驻 +锅 +救 +恩 +剥 +凝 +碱 +齿 +截 +炼 +麻 +纺 +禁 +废 +盛 +版 +缓 +净 +睛 +昌 +婚 +涉 +筒 +嘴 +插 +岸 +朗 +庄 +街 +藏 +姑 +贸 +腐 +奴 +啦 +惯 +乘 +伙 +恢 +匀 +纱 +扎 +辩 +耳 +彪 +臣 +亿 +璃 +抵 +脉 +秀 +萨 +俄 +网 +舞 +店 +喷 +纵 +寸 +汗 +挂 +洪 +贺 +闪 +柬 +爆 +烯 +津 +稻 +墙 +软 +勇 +像 +滚 +厘 +蒙 +芳 +肯 +坡 +柱 +荡 +腿 +仪 +旅 +尾 +轧 +冰 +贡 +登 +黎 +削 +钻 +勒 +逃 +障 +氨 +郭 +峰 +币 +港 +伏 +轨 +亩 +毕 +擦 +莫 +刺 +浪 +秘 +援 +株 +健 +售 +股 +岛 +甘 +泡 +睡 +童 +铸 +汤 +阀 +休 +汇 +舍 +牧 +绕 +炸 +哲 +磷 +绩 +朋 +淡 +尖 +启 +陷 +柴 +呈 +徒 +颜 +泪 +稍 +忘 +泵 +蓝 +拖 +洞 +授 +镜 +辛 +壮 +锋 +贫 +虚 +弯 +摩 +泰 +幼 +廷 +尊 +窗 +纲 +弄 +隶 +疑 +氏 +宫 +姐 +震 +瑞 +怪 +尤 +琴 +循 +描 +膜 +违 +夹 +腰 +缘 +珠 +穷 +森 +枝 +竹 +沟 +催 +绳 +忆 +邦 +剩 +幸 +浆 +栏 +拥 +牙 +贮 +礼 +滤 +钠 +纹 +罢 +拍 +咱 +喊 +袖 +埃 +勤 +罚 +焦 +潜 +伍 +墨 +欲 +缝 +姓 +刊 +饱 +仿 +奖 +铝 +鬼 +丽 +跨 +默 +挖 +链 +扫 +喝 +袋 +炭 +污 +幕 +诸 +弧 +励 +梅 +奶 +洁 +灾 +舟 +鉴 +苯 +讼 +抱 +毁 +懂 +寒 +智 +埔 +寄 +届 +跃 +渡 +挑 +丹 +艰 +贝 +碰 +拔 +爹 +戴 +码 +梦 +芽 +熔 +赤 +渔 +哭 +敬 +颗 +奔 +铅 +仲 +虎 +稀 +妹 +乏 +珍 +申 +桌 +遵 +允 +隆 +螺 +仓 +魏 +锐 +晓 +氮 +兼 +隐 +碍 +赫 +拨 +忠 +肃 +缸 +牵 +抢 +博 +巧 +壳 +兄 +杜 +讯 +诚 +碧 +祥 +柯 +页 +巡 +矩 +悲 +灌 +龄 +伦 +票 +寻 +桂 +铺 +圣 +恐 +恰 +郑 +趣 +抬 +荒 +腾 +贴 +柔 +滴 +猛 +阔 +辆 +妻 +填 +撤 +储 +签 +闹 +扰 +紫 +砂 +递 +戏 +吊 +陶 +伐 +喂 +疗 +瓶 +婆 +抚 +臂 +摸 +忍 +虾 +蜡 +邻 +胸 +巩 +挤 +偶 +弃 +槽 +劲 +乳 +邓 +吉 +仁 +烂 +砖 +租 +乌 +舰 +伴 +瓜 +浅 +丙 +暂 +燥 +橡 +柳 +迷 +暖 +牌 +秧 +胆 +详 +簧 +踏 +瓷 +谱 +呆 +宾 +糊 +洛 +辉 +愤 +竞 +隙 +怒 +粘 +乃 +绪 +肩 +籍 +敏 +涂 +熙 +皆 +侦 +悬 +掘 +享 +纠 +醒 +狂 +锁 +淀 +恨 +牲 +霸 +爬 +赏 +逆 +玩 +陵 +祝 +秒 +浙 +貌 +役 +彼 +悉 +鸭 +趋 +凤 +晨 +畜 +辈 +秩 +卵 +署 +梯 +炎 +滩 +棋 +驱 +筛 +峡 +冒 +啥 +寿 +译 +浸 +泉 +帽 +迟 +硅 +疆 +贷 +漏 +稿 +冠 +嫩 +胁 +芯 +牢 +叛 +蚀 +奥 +鸣 +岭 +羊 +凭 +串 +塘 +绘 +酵 +融 +盆 +锡 +庙 +筹 +冻 +辅 +摄 +袭 +筋 +拒 +僚 +旱 +钾 +鸟 +漆 +沈 +眉 +疏 +添 +棒 +穗 +硝 +韩 +逼 +扭 +侨 +凉 +挺 +碗 +栽 +炒 +杯 +患 +馏 +劝 +豪 +辽 +勃 +鸿 +旦 +吏 +拜 +狗 +埋 +辊 +掩 +饮 +搬 +骂 +辞 +勾 +扣 +估 +蒋 +绒 +雾 +丈 +朵 +姆 +拟 +宇 +辑 +陕 +雕 +偿 +蓄 +崇 +剪 +倡 +厅 +咬 +驶 +薯 +刷 +斥 +番 +赋 +奉 +佛 +浇 +漫 +曼 +扇 +钙 +桃 +扶 +仔 +返 +俗 +亏 +腔 +鞋 +棱 +覆 +框 +悄 +叔 +撞 +骗 +勘 +旺 +沸 +孤 +吐 +孟 +渠 +屈 +疾 +妙 +惜 +仰 +狠 +胀 +谐 +抛 +霉 +桑 +岗 +嘛 +衰 +盗 +渗 +脏 +赖 +涌 +甜 +曹 +阅 +肌 +哩 +厉 +烃 +纬 +毅 +昨 +伪 +症 +煮 +叹 +钉 +搭 +茎 +笼 +酷 +偷 +弓 +锥 +恒 +杰 +坑 +鼻 +翼 +纶 +叙 +狱 +逮 +罐 +络 +棚 +抑 +膨 +蔬 +寺 +骤 +穆 +冶 +枯 +册 +尸 +凸 +绅 +坯 +牺 +焰 +轰 +欣 +晋 +瘦 +御 +锭 +锦 +丧 +旬 +锻 +垄 +搜 +扑 +邀 +亭 +酯 +迈 +舒 +脆 +酶 +闲 +忧 +酚 +顽 +羽 +涨 +卸 +仗 +陪 +辟 +惩 +杭 +姚 +肚 +捉 +飘 +漂 +昆 +欺 +吾 +郎 +烷 +汁 +呵 +饰 +萧 +雅 +邮 +迁 +燕 +撒 +姻 +赴 +宴 +烦 +债 +帐 +斑 +铃 +旨 +醇 +董 +饼 +雏 +姿 +拌 +傅 +腹 +妥 +揉 +贤 +拆 +歪 +葡 +胺 +丢 +浩 +徽 +昂 +垫 +挡 +览 +贪 +慰 +缴 +汪 +慌 +冯 +诺 +姜 +谊 +凶 +劣 +诬 +耀 +昏 +躺 +盈 +骑 +乔 +溪 +丛 +卢 +抹 +闷 +咨 +刮 +驾 +缆 +悟 +摘 +铒 +掷 +颇 +幻 +柄 +惠 +惨 +佳 +仇 +腊 +窝 +涤 +剑 +瞧 +堡 +泼 +葱 +罩 +霍 +捞 +胎 +苍 +滨 +俩 +捅 +湘 +砍 +霞 +邵 +萄 +疯 +淮 +遂 +熊 +粪 +烘 +宿 +档 +戈 +驳 +嫂 +裕 +徙 +箭 +捐 +肠 +撑 +晒 +辨 +殿 +莲 +摊 +搅 +酱 +屏 +疫 +哀 +蔡 +堵 +沫 +皱 +畅 +叠 +阁 +莱 +敲 +辖 +钩 +痕 +坝 +巷 +饿 +祸 +丘 +玄 +溜 +曰 +逻 +彭 +尝 +卿 +妨 +艇 +吞 +韦 +怨 +矮 +歇 +` diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/chinese_traditional.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/chinese_traditional.go new file mode 100644 index 00000000..83812cee --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/chinese_traditional.go @@ -0,0 +1,2071 @@ +package wordlists + +import ( + "fmt" + "hash/crc32" + "strings" +) + +func init() { + // Ensure word list is correct + // $ wget https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/chinese_traditional.txt + // $ crc32 chinese_traditional.txt + // 3c20b443 + checksum := crc32.ChecksumIEEE([]byte(chineseTraditional)) + if fmt.Sprintf("%x", checksum) != "3c20b443" { + panic("chineseTraditional checksum invalid") + } +} + +// ChineseTraditional is a slice of mnemonic words taken from the bip39 specification +// https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/chinese_traditional.txt +var ChineseTraditional = strings.Split(strings.TrimSpace(chineseTraditional), "\n") +var chineseTraditional = `的 +一 +是 +在 +不 +了 +有 +和 +人 +這 +中 +大 +為 +上 +個 +國 +我 +以 +要 +他 +時 +來 +用 +們 +生 +到 +作 +地 +於 +出 +就 +分 +對 +成 +會 +可 +主 +發 +年 +動 +同 +工 +也 +能 +下 +過 +子 +說 +產 +種 +面 +而 +方 +後 +多 +定 +行 +學 +法 +所 +民 +得 +經 +十 +三 +之 +進 +著 +等 +部 +度 +家 +電 +力 +裡 +如 +水 +化 +高 +自 +二 +理 +起 +小 +物 +現 +實 +加 +量 +都 +兩 +體 +制 +機 +當 +使 +點 +從 +業 +本 +去 +把 +性 +好 +應 +開 +它 +合 +還 +因 +由 +其 +些 +然 +前 +外 +天 +政 +四 +日 +那 +社 +義 +事 +平 +形 +相 +全 +表 +間 +樣 +與 +關 +各 +重 +新 +線 +內 +數 +正 +心 +反 +你 +明 +看 +原 +又 +麼 +利 +比 +或 +但 +質 +氣 +第 +向 +道 +命 +此 +變 +條 +只 +沒 +結 +解 +問 +意 +建 +月 +公 +無 +系 +軍 +很 +情 +者 +最 +立 +代 +想 +已 +通 +並 +提 +直 +題 +黨 +程 +展 +五 +果 +料 +象 +員 +革 +位 +入 +常 +文 +總 +次 +品 +式 +活 +設 +及 +管 +特 +件 +長 +求 +老 +頭 +基 +資 +邊 +流 +路 +級 +少 +圖 +山 +統 +接 +知 +較 +將 +組 +見 +計 +別 +她 +手 +角 +期 +根 +論 +運 +農 +指 +幾 +九 +區 +強 +放 +決 +西 +被 +幹 +做 +必 +戰 +先 +回 +則 +任 +取 +據 +處 +隊 +南 +給 +色 +光 +門 +即 +保 +治 +北 +造 +百 +規 +熱 +領 +七 +海 +口 +東 +導 +器 +壓 +志 +世 +金 +增 +爭 +濟 +階 +油 +思 +術 +極 +交 +受 +聯 +什 +認 +六 +共 +權 +收 +證 +改 +清 +美 +再 +採 +轉 +更 +單 +風 +切 +打 +白 +教 +速 +花 +帶 +安 +場 +身 +車 +例 +真 +務 +具 +萬 +每 +目 +至 +達 +走 +積 +示 +議 +聲 +報 +鬥 +完 +類 +八 +離 +華 +名 +確 +才 +科 +張 +信 +馬 +節 +話 +米 +整 +空 +元 +況 +今 +集 +溫 +傳 +土 +許 +步 +群 +廣 +石 +記 +需 +段 +研 +界 +拉 +林 +律 +叫 +且 +究 +觀 +越 +織 +裝 +影 +算 +低 +持 +音 +眾 +書 +布 +复 +容 +兒 +須 +際 +商 +非 +驗 +連 +斷 +深 +難 +近 +礦 +千 +週 +委 +素 +技 +備 +半 +辦 +青 +省 +列 +習 +響 +約 +支 +般 +史 +感 +勞 +便 +團 +往 +酸 +歷 +市 +克 +何 +除 +消 +構 +府 +稱 +太 +準 +精 +值 +號 +率 +族 +維 +劃 +選 +標 +寫 +存 +候 +毛 +親 +快 +效 +斯 +院 +查 +江 +型 +眼 +王 +按 +格 +養 +易 +置 +派 +層 +片 +始 +卻 +專 +狀 +育 +廠 +京 +識 +適 +屬 +圓 +包 +火 +住 +調 +滿 +縣 +局 +照 +參 +紅 +細 +引 +聽 +該 +鐵 +價 +嚴 +首 +底 +液 +官 +德 +隨 +病 +蘇 +失 +爾 +死 +講 +配 +女 +黃 +推 +顯 +談 +罪 +神 +藝 +呢 +席 +含 +企 +望 +密 +批 +營 +項 +防 +舉 +球 +英 +氧 +勢 +告 +李 +台 +落 +木 +幫 +輪 +破 +亞 +師 +圍 +注 +遠 +字 +材 +排 +供 +河 +態 +封 +另 +施 +減 +樹 +溶 +怎 +止 +案 +言 +士 +均 +武 +固 +葉 +魚 +波 +視 +僅 +費 +緊 +愛 +左 +章 +早 +朝 +害 +續 +輕 +服 +試 +食 +充 +兵 +源 +判 +護 +司 +足 +某 +練 +差 +致 +板 +田 +降 +黑 +犯 +負 +擊 +范 +繼 +興 +似 +餘 +堅 +曲 +輸 +修 +故 +城 +夫 +夠 +送 +筆 +船 +佔 +右 +財 +吃 +富 +春 +職 +覺 +漢 +畫 +功 +巴 +跟 +雖 +雜 +飛 +檢 +吸 +助 +昇 +陽 +互 +初 +創 +抗 +考 +投 +壞 +策 +古 +徑 +換 +未 +跑 +留 +鋼 +曾 +端 +責 +站 +簡 +述 +錢 +副 +盡 +帝 +射 +草 +衝 +承 +獨 +令 +限 +阿 +宣 +環 +雙 +請 +超 +微 +讓 +控 +州 +良 +軸 +找 +否 +紀 +益 +依 +優 +頂 +礎 +載 +倒 +房 +突 +坐 +粉 +敵 +略 +客 +袁 +冷 +勝 +絕 +析 +塊 +劑 +測 +絲 +協 +訴 +念 +陳 +仍 +羅 +鹽 +友 +洋 +錯 +苦 +夜 +刑 +移 +頻 +逐 +靠 +混 +母 +短 +皮 +終 +聚 +汽 +村 +雲 +哪 +既 +距 +衛 +停 +烈 +央 +察 +燒 +迅 +境 +若 +印 +洲 +刻 +括 +激 +孔 +搞 +甚 +室 +待 +核 +校 +散 +侵 +吧 +甲 +遊 +久 +菜 +味 +舊 +模 +湖 +貨 +損 +預 +阻 +毫 +普 +穩 +乙 +媽 +植 +息 +擴 +銀 +語 +揮 +酒 +守 +拿 +序 +紙 +醫 +缺 +雨 +嗎 +針 +劉 +啊 +急 +唱 +誤 +訓 +願 +審 +附 +獲 +茶 +鮮 +糧 +斤 +孩 +脫 +硫 +肥 +善 +龍 +演 +父 +漸 +血 +歡 +械 +掌 +歌 +沙 +剛 +攻 +謂 +盾 +討 +晚 +粒 +亂 +燃 +矛 +乎 +殺 +藥 +寧 +魯 +貴 +鐘 +煤 +讀 +班 +伯 +香 +介 +迫 +句 +豐 +培 +握 +蘭 +擔 +弦 +蛋 +沉 +假 +穿 +執 +答 +樂 +誰 +順 +煙 +縮 +徵 +臉 +喜 +松 +腳 +困 +異 +免 +背 +星 +福 +買 +染 +井 +概 +慢 +怕 +磁 +倍 +祖 +皇 +促 +靜 +補 +評 +翻 +肉 +踐 +尼 +衣 +寬 +揚 +棉 +希 +傷 +操 +垂 +秋 +宜 +氫 +套 +督 +振 +架 +亮 +末 +憲 +慶 +編 +牛 +觸 +映 +雷 +銷 +詩 +座 +居 +抓 +裂 +胞 +呼 +娘 +景 +威 +綠 +晶 +厚 +盟 +衡 +雞 +孫 +延 +危 +膠 +屋 +鄉 +臨 +陸 +顧 +掉 +呀 +燈 +歲 +措 +束 +耐 +劇 +玉 +趙 +跳 +哥 +季 +課 +凱 +胡 +額 +款 +紹 +卷 +齊 +偉 +蒸 +殖 +永 +宗 +苗 +川 +爐 +岩 +弱 +零 +楊 +奏 +沿 +露 +桿 +探 +滑 +鎮 +飯 +濃 +航 +懷 +趕 +庫 +奪 +伊 +靈 +稅 +途 +滅 +賽 +歸 +召 +鼓 +播 +盤 +裁 +險 +康 +唯 +錄 +菌 +純 +借 +糖 +蓋 +橫 +符 +私 +努 +堂 +域 +槍 +潤 +幅 +哈 +竟 +熟 +蟲 +澤 +腦 +壤 +碳 +歐 +遍 +側 +寨 +敢 +徹 +慮 +斜 +薄 +庭 +納 +彈 +飼 +伸 +折 +麥 +濕 +暗 +荷 +瓦 +塞 +床 +築 +惡 +戶 +訪 +塔 +奇 +透 +梁 +刀 +旋 +跡 +卡 +氯 +遇 +份 +毒 +泥 +退 +洗 +擺 +灰 +彩 +賣 +耗 +夏 +擇 +忙 +銅 +獻 +硬 +予 +繁 +圈 +雪 +函 +亦 +抽 +篇 +陣 +陰 +丁 +尺 +追 +堆 +雄 +迎 +泛 +爸 +樓 +避 +謀 +噸 +野 +豬 +旗 +累 +偏 +典 +館 +索 +秦 +脂 +潮 +爺 +豆 +忽 +托 +驚 +塑 +遺 +愈 +朱 +替 +纖 +粗 +傾 +尚 +痛 +楚 +謝 +奮 +購 +磨 +君 +池 +旁 +碎 +骨 +監 +捕 +弟 +暴 +割 +貫 +殊 +釋 +詞 +亡 +壁 +頓 +寶 +午 +塵 +聞 +揭 +炮 +殘 +冬 +橋 +婦 +警 +綜 +招 +吳 +付 +浮 +遭 +徐 +您 +搖 +谷 +贊 +箱 +隔 +訂 +男 +吹 +園 +紛 +唐 +敗 +宋 +玻 +巨 +耕 +坦 +榮 +閉 +灣 +鍵 +凡 +駐 +鍋 +救 +恩 +剝 +凝 +鹼 +齒 +截 +煉 +麻 +紡 +禁 +廢 +盛 +版 +緩 +淨 +睛 +昌 +婚 +涉 +筒 +嘴 +插 +岸 +朗 +莊 +街 +藏 +姑 +貿 +腐 +奴 +啦 +慣 +乘 +夥 +恢 +勻 +紗 +扎 +辯 +耳 +彪 +臣 +億 +璃 +抵 +脈 +秀 +薩 +俄 +網 +舞 +店 +噴 +縱 +寸 +汗 +掛 +洪 +賀 +閃 +柬 +爆 +烯 +津 +稻 +牆 +軟 +勇 +像 +滾 +厘 +蒙 +芳 +肯 +坡 +柱 +盪 +腿 +儀 +旅 +尾 +軋 +冰 +貢 +登 +黎 +削 +鑽 +勒 +逃 +障 +氨 +郭 +峰 +幣 +港 +伏 +軌 +畝 +畢 +擦 +莫 +刺 +浪 +秘 +援 +株 +健 +售 +股 +島 +甘 +泡 +睡 +童 +鑄 +湯 +閥 +休 +匯 +舍 +牧 +繞 +炸 +哲 +磷 +績 +朋 +淡 +尖 +啟 +陷 +柴 +呈 +徒 +顏 +淚 +稍 +忘 +泵 +藍 +拖 +洞 +授 +鏡 +辛 +壯 +鋒 +貧 +虛 +彎 +摩 +泰 +幼 +廷 +尊 +窗 +綱 +弄 +隸 +疑 +氏 +宮 +姐 +震 +瑞 +怪 +尤 +琴 +循 +描 +膜 +違 +夾 +腰 +緣 +珠 +窮 +森 +枝 +竹 +溝 +催 +繩 +憶 +邦 +剩 +幸 +漿 +欄 +擁 +牙 +貯 +禮 +濾 +鈉 +紋 +罷 +拍 +咱 +喊 +袖 +埃 +勤 +罰 +焦 +潛 +伍 +墨 +欲 +縫 +姓 +刊 +飽 +仿 +獎 +鋁 +鬼 +麗 +跨 +默 +挖 +鏈 +掃 +喝 +袋 +炭 +污 +幕 +諸 +弧 +勵 +梅 +奶 +潔 +災 +舟 +鑑 +苯 +訟 +抱 +毀 +懂 +寒 +智 +埔 +寄 +屆 +躍 +渡 +挑 +丹 +艱 +貝 +碰 +拔 +爹 +戴 +碼 +夢 +芽 +熔 +赤 +漁 +哭 +敬 +顆 +奔 +鉛 +仲 +虎 +稀 +妹 +乏 +珍 +申 +桌 +遵 +允 +隆 +螺 +倉 +魏 +銳 +曉 +氮 +兼 +隱 +礙 +赫 +撥 +忠 +肅 +缸 +牽 +搶 +博 +巧 +殼 +兄 +杜 +訊 +誠 +碧 +祥 +柯 +頁 +巡 +矩 +悲 +灌 +齡 +倫 +票 +尋 +桂 +鋪 +聖 +恐 +恰 +鄭 +趣 +抬 +荒 +騰 +貼 +柔 +滴 +猛 +闊 +輛 +妻 +填 +撤 +儲 +簽 +鬧 +擾 +紫 +砂 +遞 +戲 +吊 +陶 +伐 +餵 +療 +瓶 +婆 +撫 +臂 +摸 +忍 +蝦 +蠟 +鄰 +胸 +鞏 +擠 +偶 +棄 +槽 +勁 +乳 +鄧 +吉 +仁 +爛 +磚 +租 +烏 +艦 +伴 +瓜 +淺 +丙 +暫 +燥 +橡 +柳 +迷 +暖 +牌 +秧 +膽 +詳 +簧 +踏 +瓷 +譜 +呆 +賓 +糊 +洛 +輝 +憤 +競 +隙 +怒 +粘 +乃 +緒 +肩 +籍 +敏 +塗 +熙 +皆 +偵 +懸 +掘 +享 +糾 +醒 +狂 +鎖 +淀 +恨 +牲 +霸 +爬 +賞 +逆 +玩 +陵 +祝 +秒 +浙 +貌 +役 +彼 +悉 +鴨 +趨 +鳳 +晨 +畜 +輩 +秩 +卵 +署 +梯 +炎 +灘 +棋 +驅 +篩 +峽 +冒 +啥 +壽 +譯 +浸 +泉 +帽 +遲 +矽 +疆 +貸 +漏 +稿 +冠 +嫩 +脅 +芯 +牢 +叛 +蝕 +奧 +鳴 +嶺 +羊 +憑 +串 +塘 +繪 +酵 +融 +盆 +錫 +廟 +籌 +凍 +輔 +攝 +襲 +筋 +拒 +僚 +旱 +鉀 +鳥 +漆 +沈 +眉 +疏 +添 +棒 +穗 +硝 +韓 +逼 +扭 +僑 +涼 +挺 +碗 +栽 +炒 +杯 +患 +餾 +勸 +豪 +遼 +勃 +鴻 +旦 +吏 +拜 +狗 +埋 +輥 +掩 +飲 +搬 +罵 +辭 +勾 +扣 +估 +蔣 +絨 +霧 +丈 +朵 +姆 +擬 +宇 +輯 +陝 +雕 +償 +蓄 +崇 +剪 +倡 +廳 +咬 +駛 +薯 +刷 +斥 +番 +賦 +奉 +佛 +澆 +漫 +曼 +扇 +鈣 +桃 +扶 +仔 +返 +俗 +虧 +腔 +鞋 +棱 +覆 +框 +悄 +叔 +撞 +騙 +勘 +旺 +沸 +孤 +吐 +孟 +渠 +屈 +疾 +妙 +惜 +仰 +狠 +脹 +諧 +拋 +黴 +桑 +崗 +嘛 +衰 +盜 +滲 +臟 +賴 +湧 +甜 +曹 +閱 +肌 +哩 +厲 +烴 +緯 +毅 +昨 +偽 +症 +煮 +嘆 +釘 +搭 +莖 +籠 +酷 +偷 +弓 +錐 +恆 +傑 +坑 +鼻 +翼 +綸 +敘 +獄 +逮 +罐 +絡 +棚 +抑 +膨 +蔬 +寺 +驟 +穆 +冶 +枯 +冊 +屍 +凸 +紳 +坯 +犧 +焰 +轟 +欣 +晉 +瘦 +禦 +錠 +錦 +喪 +旬 +鍛 +壟 +搜 +撲 +邀 +亭 +酯 +邁 +舒 +脆 +酶 +閒 +憂 +酚 +頑 +羽 +漲 +卸 +仗 +陪 +闢 +懲 +杭 +姚 +肚 +捉 +飄 +漂 +昆 +欺 +吾 +郎 +烷 +汁 +呵 +飾 +蕭 +雅 +郵 +遷 +燕 +撒 +姻 +赴 +宴 +煩 +債 +帳 +斑 +鈴 +旨 +醇 +董 +餅 +雛 +姿 +拌 +傅 +腹 +妥 +揉 +賢 +拆 +歪 +葡 +胺 +丟 +浩 +徽 +昂 +墊 +擋 +覽 +貪 +慰 +繳 +汪 +慌 +馮 +諾 +姜 +誼 +兇 +劣 +誣 +耀 +昏 +躺 +盈 +騎 +喬 +溪 +叢 +盧 +抹 +悶 +諮 +刮 +駕 +纜 +悟 +摘 +鉺 +擲 +頗 +幻 +柄 +惠 +慘 +佳 +仇 +臘 +窩 +滌 +劍 +瞧 +堡 +潑 +蔥 +罩 +霍 +撈 +胎 +蒼 +濱 +倆 +捅 +湘 +砍 +霞 +邵 +萄 +瘋 +淮 +遂 +熊 +糞 +烘 +宿 +檔 +戈 +駁 +嫂 +裕 +徙 +箭 +捐 +腸 +撐 +曬 +辨 +殿 +蓮 +攤 +攪 +醬 +屏 +疫 +哀 +蔡 +堵 +沫 +皺 +暢 +疊 +閣 +萊 +敲 +轄 +鉤 +痕 +壩 +巷 +餓 +禍 +丘 +玄 +溜 +曰 +邏 +彭 +嘗 +卿 +妨 +艇 +吞 +韋 +怨 +矮 +歇 +` diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/english.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/english.go new file mode 100644 index 00000000..f69e8a47 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/english.go @@ -0,0 +1,2071 @@ +package wordlists + +import ( + "fmt" + "hash/crc32" + "strings" +) + +func init() { + // Ensure word list is correct + // $ wget https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/english.txt + // $ crc32 english.txt + // c1dbd296 + checksum := crc32.ChecksumIEEE([]byte(english)) + if fmt.Sprintf("%x", checksum) != "c1dbd296" { + panic("english checksum invalid") + } +} + +// English is a slice of mnemonic words taken from the bip39 specification +// https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/english.txt +var English = strings.Split(strings.TrimSpace(english), "\n") +var english = `abandon +ability +able +about +above +absent +absorb +abstract +absurd +abuse +access +accident +account +accuse +achieve +acid +acoustic +acquire +across +act +action +actor +actress +actual +adapt +add +addict +address +adjust +admit +adult +advance +advice +aerobic +affair +afford +afraid +again +age +agent +agree +ahead +aim +air +airport +aisle +alarm +album +alcohol +alert +alien +all +alley +allow +almost +alone +alpha +already +also +alter +always +amateur +amazing +among +amount +amused +analyst +anchor +ancient +anger +angle +angry +animal +ankle +announce +annual +another +answer +antenna +antique +anxiety +any +apart +apology +appear +apple +approve +april +arch +arctic +area +arena +argue +arm +armed +armor +army +around +arrange +arrest +arrive +arrow +art +artefact +artist +artwork +ask +aspect +assault +asset +assist +assume +asthma +athlete +atom +attack +attend +attitude +attract +auction +audit +august +aunt +author +auto +autumn +average +avocado +avoid +awake +aware +away +awesome +awful +awkward +axis +baby +bachelor +bacon +badge +bag +balance +balcony +ball +bamboo +banana +banner +bar +barely +bargain +barrel +base +basic +basket +battle +beach +bean +beauty +because +become +beef +before +begin +behave +behind +believe +below +belt +bench +benefit +best +betray +better +between +beyond +bicycle +bid +bike +bind +biology +bird +birth +bitter +black +blade +blame +blanket +blast +bleak +bless +blind +blood +blossom +blouse +blue +blur +blush +board +boat +body +boil +bomb +bone +bonus +book +boost +border +boring +borrow +boss +bottom +bounce +box +boy +bracket +brain +brand +brass +brave +bread +breeze +brick +bridge +brief +bright +bring +brisk +broccoli +broken +bronze +broom +brother +brown +brush +bubble +buddy +budget +buffalo +build +bulb +bulk +bullet +bundle +bunker +burden +burger +burst +bus +business +busy +butter +buyer +buzz +cabbage +cabin +cable +cactus +cage +cake +call +calm +camera +camp +can +canal +cancel +candy +cannon +canoe +canvas +canyon +capable +capital +captain +car +carbon +card +cargo +carpet +carry +cart +case +cash +casino +castle +casual +cat +catalog +catch +category +cattle +caught +cause +caution +cave +ceiling +celery +cement +census +century +cereal +certain +chair +chalk +champion +change +chaos +chapter +charge +chase +chat +cheap +check +cheese +chef +cherry +chest +chicken +chief +child +chimney +choice +choose +chronic +chuckle +chunk +churn +cigar +cinnamon +circle +citizen +city +civil +claim +clap +clarify +claw +clay +clean +clerk +clever +click +client +cliff +climb +clinic +clip +clock +clog +close +cloth +cloud +clown +club +clump +cluster +clutch +coach +coast +coconut +code +coffee +coil +coin +collect +color +column +combine +come +comfort +comic +common +company +concert +conduct +confirm +congress +connect +consider +control +convince +cook +cool +copper +copy +coral +core +corn +correct +cost +cotton +couch +country +couple +course +cousin +cover +coyote +crack +cradle +craft +cram +crane +crash +crater +crawl +crazy +cream +credit +creek +crew +cricket +crime +crisp +critic +crop +cross +crouch +crowd +crucial +cruel +cruise +crumble +crunch +crush +cry +crystal +cube +culture +cup +cupboard +curious +current +curtain +curve +cushion +custom +cute +cycle +dad +damage +damp +dance +danger +daring +dash +daughter +dawn +day +deal +debate +debris +decade +december +decide +decline +decorate +decrease +deer +defense +define +defy +degree +delay +deliver +demand +demise +denial +dentist +deny +depart +depend +deposit +depth +deputy +derive +describe +desert +design +desk +despair +destroy +detail +detect +develop +device +devote +diagram +dial +diamond +diary +dice +diesel +diet +differ +digital +dignity +dilemma +dinner +dinosaur +direct +dirt +disagree +discover +disease +dish +dismiss +disorder +display +distance +divert +divide +divorce +dizzy +doctor +document +dog +doll +dolphin +domain +donate +donkey +donor +door +dose +double +dove +draft +dragon +drama +drastic +draw +dream +dress +drift +drill +drink +drip +drive +drop +drum +dry +duck +dumb +dune +during +dust +dutch +duty +dwarf +dynamic +eager +eagle +early +earn +earth +easily +east +easy +echo +ecology +economy +edge +edit +educate +effort +egg +eight +either +elbow +elder +electric +elegant +element +elephant +elevator +elite +else +embark +embody +embrace +emerge +emotion +employ +empower +empty +enable +enact +end +endless +endorse +enemy +energy +enforce +engage +engine +enhance +enjoy +enlist +enough +enrich +enroll +ensure +enter +entire +entry +envelope +episode +equal +equip +era +erase +erode +erosion +error +erupt +escape +essay +essence +estate +eternal +ethics +evidence +evil +evoke +evolve +exact +example +excess +exchange +excite +exclude +excuse +execute +exercise +exhaust +exhibit +exile +exist +exit +exotic +expand +expect +expire +explain +expose +express +extend +extra +eye +eyebrow +fabric +face +faculty +fade +faint +faith +fall +false +fame +family +famous +fan +fancy +fantasy +farm +fashion +fat +fatal +father +fatigue +fault +favorite +feature +february +federal +fee +feed +feel +female +fence +festival +fetch +fever +few +fiber +fiction +field +figure +file +film +filter +final +find +fine +finger +finish +fire +firm +first +fiscal +fish +fit +fitness +fix +flag +flame +flash +flat +flavor +flee +flight +flip +float +flock +floor +flower +fluid +flush +fly +foam +focus +fog +foil +fold +follow +food +foot +force +forest +forget +fork +fortune +forum +forward +fossil +foster +found +fox +fragile +frame +frequent +fresh +friend +fringe +frog +front +frost +frown +frozen +fruit +fuel +fun +funny +furnace +fury +future +gadget +gain +galaxy +gallery +game +gap +garage +garbage +garden +garlic +garment +gas +gasp +gate +gather +gauge +gaze +general +genius +genre +gentle +genuine +gesture +ghost +giant +gift +giggle +ginger +giraffe +girl +give +glad +glance +glare +glass +glide +glimpse +globe +gloom +glory +glove +glow +glue +goat +goddess +gold +good +goose +gorilla +gospel +gossip +govern +gown +grab +grace +grain +grant +grape +grass +gravity +great +green +grid +grief +grit +grocery +group +grow +grunt +guard +guess +guide +guilt +guitar +gun +gym +habit +hair +half +hammer +hamster +hand +happy +harbor +hard +harsh +harvest +hat +have +hawk +hazard +head +health +heart +heavy +hedgehog +height +hello +helmet +help +hen +hero +hidden +high +hill +hint +hip +hire +history +hobby +hockey +hold +hole +holiday +hollow +home +honey +hood +hope +horn +horror +horse +hospital +host +hotel +hour +hover +hub +huge +human +humble +humor +hundred +hungry +hunt +hurdle +hurry +hurt +husband +hybrid +ice +icon +idea +identify +idle +ignore +ill +illegal +illness +image +imitate +immense +immune +impact +impose +improve +impulse +inch +include +income +increase +index +indicate +indoor +industry +infant +inflict +inform +inhale +inherit +initial +inject +injury +inmate +inner +innocent +input +inquiry +insane +insect +inside +inspire +install +intact +interest +into +invest +invite +involve +iron +island +isolate +issue +item +ivory +jacket +jaguar +jar +jazz +jealous +jeans +jelly +jewel +job +join +joke +journey +joy +judge +juice +jump +jungle +junior +junk +just +kangaroo +keen +keep +ketchup +key +kick +kid +kidney +kind +kingdom +kiss +kit +kitchen +kite +kitten +kiwi +knee +knife +knock +know +lab +label +labor +ladder +lady +lake +lamp +language +laptop +large +later +latin +laugh +laundry +lava +law +lawn +lawsuit +layer +lazy +leader +leaf +learn +leave +lecture +left +leg +legal +legend +leisure +lemon +lend +length +lens +leopard +lesson +letter +level +liar +liberty +library +license +life +lift +light +like +limb +limit +link +lion +liquid +list +little +live +lizard +load +loan +lobster +local +lock +logic +lonely +long +loop +lottery +loud +lounge +love +loyal +lucky +luggage +lumber +lunar +lunch +luxury +lyrics +machine +mad +magic +magnet +maid +mail +main +major +make +mammal +man +manage +mandate +mango +mansion +manual +maple +marble +march +margin +marine +market +marriage +mask +mass +master +match +material +math +matrix +matter +maximum +maze +meadow +mean +measure +meat +mechanic +medal +media +melody +melt +member +memory +mention +menu +mercy +merge +merit +merry +mesh +message +metal +method +middle +midnight +milk +million +mimic +mind +minimum +minor +minute +miracle +mirror +misery +miss +mistake +mix +mixed +mixture +mobile +model +modify +mom +moment +monitor +monkey +monster +month +moon +moral +more +morning +mosquito +mother +motion +motor +mountain +mouse +move +movie +much +muffin +mule +multiply +muscle +museum +mushroom +music +must +mutual +myself +mystery +myth +naive +name +napkin +narrow +nasty +nation +nature +near +neck +need +negative +neglect +neither +nephew +nerve +nest +net +network +neutral +never +news +next +nice +night +noble +noise +nominee +noodle +normal +north +nose +notable +note +nothing +notice +novel +now +nuclear +number +nurse +nut +oak +obey +object +oblige +obscure +observe +obtain +obvious +occur +ocean +october +odor +off +offer +office +often +oil +okay +old +olive +olympic +omit +once +one +onion +online +only +open +opera +opinion +oppose +option +orange +orbit +orchard +order +ordinary +organ +orient +original +orphan +ostrich +other +outdoor +outer +output +outside +oval +oven +over +own +owner +oxygen +oyster +ozone +pact +paddle +page +pair +palace +palm +panda +panel +panic +panther +paper +parade +parent +park +parrot +party +pass +patch +path +patient +patrol +pattern +pause +pave +payment +peace +peanut +pear +peasant +pelican +pen +penalty +pencil +people +pepper +perfect +permit +person +pet +phone +photo +phrase +physical +piano +picnic +picture +piece +pig +pigeon +pill +pilot +pink +pioneer +pipe +pistol +pitch +pizza +place +planet +plastic +plate +play +please +pledge +pluck +plug +plunge +poem +poet +point +polar +pole +police +pond +pony +pool +popular +portion +position +possible +post +potato +pottery +poverty +powder +power +practice +praise +predict +prefer +prepare +present +pretty +prevent +price +pride +primary +print +priority +prison +private +prize +problem +process +produce +profit +program +project +promote +proof +property +prosper +protect +proud +provide +public +pudding +pull +pulp +pulse +pumpkin +punch +pupil +puppy +purchase +purity +purpose +purse +push +put +puzzle +pyramid +quality +quantum +quarter +question +quick +quit +quiz +quote +rabbit +raccoon +race +rack +radar +radio +rail +rain +raise +rally +ramp +ranch +random +range +rapid +rare +rate +rather +raven +raw +razor +ready +real +reason +rebel +rebuild +recall +receive +recipe +record +recycle +reduce +reflect +reform +refuse +region +regret +regular +reject +relax +release +relief +rely +remain +remember +remind +remove +render +renew +rent +reopen +repair +repeat +replace +report +require +rescue +resemble +resist +resource +response +result +retire +retreat +return +reunion +reveal +review +reward +rhythm +rib +ribbon +rice +rich +ride +ridge +rifle +right +rigid +ring +riot +ripple +risk +ritual +rival +river +road +roast +robot +robust +rocket +romance +roof +rookie +room +rose +rotate +rough +round +route +royal +rubber +rude +rug +rule +run +runway +rural +sad +saddle +sadness +safe +sail +salad +salmon +salon +salt +salute +same +sample +sand +satisfy +satoshi +sauce +sausage +save +say +scale +scan +scare +scatter +scene +scheme +school +science +scissors +scorpion +scout +scrap +screen +script +scrub +sea +search +season +seat +second +secret +section +security +seed +seek +segment +select +sell +seminar +senior +sense +sentence +series +service +session +settle +setup +seven +shadow +shaft +shallow +share +shed +shell +sheriff +shield +shift +shine +ship +shiver +shock +shoe +shoot +shop +short +shoulder +shove +shrimp +shrug +shuffle +shy +sibling +sick +side +siege +sight +sign +silent +silk +silly +silver +similar +simple +since +sing +siren +sister +situate +six +size +skate +sketch +ski +skill +skin +skirt +skull +slab +slam +sleep +slender +slice +slide +slight +slim +slogan +slot +slow +slush +small +smart +smile +smoke +smooth +snack +snake +snap +sniff +snow +soap +soccer +social +sock +soda +soft +solar +soldier +solid +solution +solve +someone +song +soon +sorry +sort +soul +sound +soup +source +south +space +spare +spatial +spawn +speak +special +speed +spell +spend +sphere +spice +spider +spike +spin +spirit +split +spoil +sponsor +spoon +sport +spot +spray +spread +spring +spy +square +squeeze +squirrel +stable +stadium +staff +stage +stairs +stamp +stand +start +state +stay +steak +steel +stem +step +stereo +stick +still +sting +stock +stomach +stone +stool +story +stove +strategy +street +strike +strong +struggle +student +stuff +stumble +style +subject +submit +subway +success +such +sudden +suffer +sugar +suggest +suit +summer +sun +sunny +sunset +super +supply +supreme +sure +surface +surge +surprise +surround +survey +suspect +sustain +swallow +swamp +swap +swarm +swear +sweet +swift +swim +swing +switch +sword +symbol +symptom +syrup +system +table +tackle +tag +tail +talent +talk +tank +tape +target +task +taste +tattoo +taxi +teach +team +tell +ten +tenant +tennis +tent +term +test +text +thank +that +theme +then +theory +there +they +thing +this +thought +three +thrive +throw +thumb +thunder +ticket +tide +tiger +tilt +timber +time +tiny +tip +tired +tissue +title +toast +tobacco +today +toddler +toe +together +toilet +token +tomato +tomorrow +tone +tongue +tonight +tool +tooth +top +topic +topple +torch +tornado +tortoise +toss +total +tourist +toward +tower +town +toy +track +trade +traffic +tragic +train +transfer +trap +trash +travel +tray +treat +tree +trend +trial +tribe +trick +trigger +trim +trip +trophy +trouble +truck +true +truly +trumpet +trust +truth +try +tube +tuition +tumble +tuna +tunnel +turkey +turn +turtle +twelve +twenty +twice +twin +twist +two +type +typical +ugly +umbrella +unable +unaware +uncle +uncover +under +undo +unfair +unfold +unhappy +uniform +unique +unit +universe +unknown +unlock +until +unusual +unveil +update +upgrade +uphold +upon +upper +upset +urban +urge +usage +use +used +useful +useless +usual +utility +vacant +vacuum +vague +valid +valley +valve +van +vanish +vapor +various +vast +vault +vehicle +velvet +vendor +venture +venue +verb +verify +version +very +vessel +veteran +viable +vibrant +vicious +victory +video +view +village +vintage +violin +virtual +virus +visa +visit +visual +vital +vivid +vocal +voice +void +volcano +volume +vote +voyage +wage +wagon +wait +walk +wall +walnut +want +warfare +warm +warrior +wash +wasp +waste +water +wave +way +wealth +weapon +wear +weasel +weather +web +wedding +weekend +weird +welcome +west +wet +whale +what +wheat +wheel +when +where +whip +whisper +wide +width +wife +wild +will +win +window +wine +wing +wink +winner +winter +wire +wisdom +wise +wish +witness +wolf +woman +wonder +wood +wool +word +work +world +worry +worth +wrap +wreck +wrestle +wrist +write +wrong +yard +year +yellow +you +young +youth +zebra +zero +zone +zoo +` diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/french.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/french.go new file mode 100644 index 00000000..1ae685d3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/french.go @@ -0,0 +1,2071 @@ +package wordlists + +import ( + "fmt" + "hash/crc32" + "strings" +) + +func init() { + // Ensure word list is correct + // $ wget https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/french.txt + // $ crc32 french.txt + // 3e56b216 + checksum := crc32.ChecksumIEEE([]byte(french)) + if fmt.Sprintf("%x", checksum) != "3e56b216" { + panic("french checksum invalid") + } +} + +// French is a slice of mnemonic words taken from the bip39 specification +// https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/french.txt +var French = strings.Split(strings.TrimSpace(french), "\n") +var french = `abaisser +abandon +abdiquer +abeille +abolir +aborder +aboutir +aboyer +abrasif +abreuver +abriter +abroger +abrupt +absence +absolu +absurde +abusif +abyssal +académie +acajou +acarien +accabler +accepter +acclamer +accolade +accroche +accuser +acerbe +achat +acheter +aciduler +acier +acompte +acquérir +acronyme +acteur +actif +actuel +adepte +adéquat +adhésif +adjectif +adjuger +admettre +admirer +adopter +adorer +adoucir +adresse +adroit +adulte +adverbe +aérer +aéronef +affaire +affecter +affiche +affreux +affubler +agacer +agencer +agile +agiter +agrafer +agréable +agrume +aider +aiguille +ailier +aimable +aisance +ajouter +ajuster +alarmer +alchimie +alerte +algèbre +algue +aliéner +aliment +alléger +alliage +allouer +allumer +alourdir +alpaga +altesse +alvéole +amateur +ambigu +ambre +aménager +amertume +amidon +amiral +amorcer +amour +amovible +amphibie +ampleur +amusant +analyse +anaphore +anarchie +anatomie +ancien +anéantir +angle +angoisse +anguleux +animal +annexer +annonce +annuel +anodin +anomalie +anonyme +anormal +antenne +antidote +anxieux +apaiser +apéritif +aplanir +apologie +appareil +appeler +apporter +appuyer +aquarium +aqueduc +arbitre +arbuste +ardeur +ardoise +argent +arlequin +armature +armement +armoire +armure +arpenter +arracher +arriver +arroser +arsenic +artériel +article +aspect +asphalte +aspirer +assaut +asservir +assiette +associer +assurer +asticot +astre +astuce +atelier +atome +atrium +atroce +attaque +attentif +attirer +attraper +aubaine +auberge +audace +audible +augurer +aurore +automne +autruche +avaler +avancer +avarice +avenir +averse +aveugle +aviateur +avide +avion +aviser +avoine +avouer +avril +axial +axiome +badge +bafouer +bagage +baguette +baignade +balancer +balcon +baleine +balisage +bambin +bancaire +bandage +banlieue +bannière +banquier +barbier +baril +baron +barque +barrage +bassin +bastion +bataille +bateau +batterie +baudrier +bavarder +belette +bélier +belote +bénéfice +berceau +berger +berline +bermuda +besace +besogne +bétail +beurre +biberon +bicycle +bidule +bijou +bilan +bilingue +billard +binaire +biologie +biopsie +biotype +biscuit +bison +bistouri +bitume +bizarre +blafard +blague +blanchir +blessant +blinder +blond +bloquer +blouson +bobard +bobine +boire +boiser +bolide +bonbon +bondir +bonheur +bonifier +bonus +bordure +borne +botte +boucle +boueux +bougie +boulon +bouquin +bourse +boussole +boutique +boxeur +branche +brasier +brave +brebis +brèche +breuvage +bricoler +brigade +brillant +brioche +brique +brochure +broder +bronzer +brousse +broyeur +brume +brusque +brutal +bruyant +buffle +buisson +bulletin +bureau +burin +bustier +butiner +butoir +buvable +buvette +cabanon +cabine +cachette +cadeau +cadre +caféine +caillou +caisson +calculer +calepin +calibre +calmer +calomnie +calvaire +camarade +caméra +camion +campagne +canal +caneton +canon +cantine +canular +capable +caporal +caprice +capsule +capter +capuche +carabine +carbone +caresser +caribou +carnage +carotte +carreau +carton +cascade +casier +casque +cassure +causer +caution +cavalier +caverne +caviar +cédille +ceinture +céleste +cellule +cendrier +censurer +central +cercle +cérébral +cerise +cerner +cerveau +cesser +chagrin +chaise +chaleur +chambre +chance +chapitre +charbon +chasseur +chaton +chausson +chavirer +chemise +chenille +chéquier +chercher +cheval +chien +chiffre +chignon +chimère +chiot +chlorure +chocolat +choisir +chose +chouette +chrome +chute +cigare +cigogne +cimenter +cinéma +cintrer +circuler +cirer +cirque +citerne +citoyen +citron +civil +clairon +clameur +claquer +classe +clavier +client +cligner +climat +clivage +cloche +clonage +cloporte +cobalt +cobra +cocasse +cocotier +coder +codifier +coffre +cogner +cohésion +coiffer +coincer +colère +colibri +colline +colmater +colonel +combat +comédie +commande +compact +concert +conduire +confier +congeler +connoter +consonne +contact +convexe +copain +copie +corail +corbeau +cordage +corniche +corpus +correct +cortège +cosmique +costume +coton +coude +coupure +courage +couteau +couvrir +coyote +crabe +crainte +cravate +crayon +créature +créditer +crémeux +creuser +crevette +cribler +crier +cristal +critère +croire +croquer +crotale +crucial +cruel +crypter +cubique +cueillir +cuillère +cuisine +cuivre +culminer +cultiver +cumuler +cupide +curatif +curseur +cyanure +cycle +cylindre +cynique +daigner +damier +danger +danseur +dauphin +débattre +débiter +déborder +débrider +débutant +décaler +décembre +déchirer +décider +déclarer +décorer +décrire +décupler +dédale +déductif +déesse +défensif +défiler +défrayer +dégager +dégivrer +déglutir +dégrafer +déjeuner +délice +déloger +demander +demeurer +démolir +dénicher +dénouer +dentelle +dénuder +départ +dépenser +déphaser +déplacer +déposer +déranger +dérober +désastre +descente +désert +désigner +désobéir +dessiner +destrier +détacher +détester +détourer +détresse +devancer +devenir +deviner +devoir +diable +dialogue +diamant +dicter +différer +digérer +digital +digne +diluer +dimanche +diminuer +dioxyde +directif +diriger +discuter +disposer +dissiper +distance +divertir +diviser +docile +docteur +dogme +doigt +domaine +domicile +dompter +donateur +donjon +donner +dopamine +dortoir +dorure +dosage +doseur +dossier +dotation +douanier +double +douceur +douter +doyen +dragon +draper +dresser +dribbler +droiture +duperie +duplexe +durable +durcir +dynastie +éblouir +écarter +écharpe +échelle +éclairer +éclipse +éclore +écluse +école +économie +écorce +écouter +écraser +écrémer +écrivain +écrou +écume +écureuil +édifier +éduquer +effacer +effectif +effigie +effort +effrayer +effusion +égaliser +égarer +éjecter +élaborer +élargir +électron +élégant +éléphant +élève +éligible +élitisme +éloge +élucider +éluder +emballer +embellir +embryon +émeraude +émission +emmener +émotion +émouvoir +empereur +employer +emporter +emprise +émulsion +encadrer +enchère +enclave +encoche +endiguer +endosser +endroit +enduire +énergie +enfance +enfermer +enfouir +engager +engin +englober +énigme +enjamber +enjeu +enlever +ennemi +ennuyeux +enrichir +enrobage +enseigne +entasser +entendre +entier +entourer +entraver +énumérer +envahir +enviable +envoyer +enzyme +éolien +épaissir +épargne +épatant +épaule +épicerie +épidémie +épier +épilogue +épine +épisode +épitaphe +époque +épreuve +éprouver +épuisant +équerre +équipe +ériger +érosion +erreur +éruption +escalier +espadon +espèce +espiègle +espoir +esprit +esquiver +essayer +essence +essieu +essorer +estime +estomac +estrade +étagère +étaler +étanche +étatique +éteindre +étendoir +éternel +éthanol +éthique +ethnie +étirer +étoffer +étoile +étonnant +étourdir +étrange +étroit +étude +euphorie +évaluer +évasion +éventail +évidence +éviter +évolutif +évoquer +exact +exagérer +exaucer +exceller +excitant +exclusif +excuse +exécuter +exemple +exercer +exhaler +exhorter +exigence +exiler +exister +exotique +expédier +explorer +exposer +exprimer +exquis +extensif +extraire +exulter +fable +fabuleux +facette +facile +facture +faiblir +falaise +fameux +famille +farceur +farfelu +farine +farouche +fasciner +fatal +fatigue +faucon +fautif +faveur +favori +fébrile +féconder +fédérer +félin +femme +fémur +fendoir +féodal +fermer +féroce +ferveur +festival +feuille +feutre +février +fiasco +ficeler +fictif +fidèle +figure +filature +filetage +filière +filleul +filmer +filou +filtrer +financer +finir +fiole +firme +fissure +fixer +flairer +flamme +flasque +flatteur +fléau +flèche +fleur +flexion +flocon +flore +fluctuer +fluide +fluvial +folie +fonderie +fongible +fontaine +forcer +forgeron +formuler +fortune +fossile +foudre +fougère +fouiller +foulure +fourmi +fragile +fraise +franchir +frapper +frayeur +frégate +freiner +frelon +frémir +frénésie +frère +friable +friction +frisson +frivole +froid +fromage +frontal +frotter +fruit +fugitif +fuite +fureur +furieux +furtif +fusion +futur +gagner +galaxie +galerie +gambader +garantir +gardien +garnir +garrigue +gazelle +gazon +géant +gélatine +gélule +gendarme +général +génie +genou +gentil +géologie +géomètre +géranium +germe +gestuel +geyser +gibier +gicler +girafe +givre +glace +glaive +glisser +globe +gloire +glorieux +golfeur +gomme +gonfler +gorge +gorille +goudron +gouffre +goulot +goupille +gourmand +goutte +graduel +graffiti +graine +grand +grappin +gratuit +gravir +grenat +griffure +griller +grimper +grogner +gronder +grotte +groupe +gruger +grutier +gruyère +guépard +guerrier +guide +guimauve +guitare +gustatif +gymnaste +gyrostat +habitude +hachoir +halte +hameau +hangar +hanneton +haricot +harmonie +harpon +hasard +hélium +hématome +herbe +hérisson +hermine +héron +hésiter +heureux +hiberner +hibou +hilarant +histoire +hiver +homard +hommage +homogène +honneur +honorer +honteux +horde +horizon +horloge +hormone +horrible +houleux +housse +hublot +huileux +humain +humble +humide +humour +hurler +hydromel +hygiène +hymne +hypnose +idylle +ignorer +iguane +illicite +illusion +image +imbiber +imiter +immense +immobile +immuable +impact +impérial +implorer +imposer +imprimer +imputer +incarner +incendie +incident +incliner +incolore +indexer +indice +inductif +inédit +ineptie +inexact +infini +infliger +informer +infusion +ingérer +inhaler +inhiber +injecter +injure +innocent +inoculer +inonder +inscrire +insecte +insigne +insolite +inspirer +instinct +insulter +intact +intense +intime +intrigue +intuitif +inutile +invasion +inventer +inviter +invoquer +ironique +irradier +irréel +irriter +isoler +ivoire +ivresse +jaguar +jaillir +jambe +janvier +jardin +jauger +jaune +javelot +jetable +jeton +jeudi +jeunesse +joindre +joncher +jongler +joueur +jouissif +journal +jovial +joyau +joyeux +jubiler +jugement +junior +jupon +juriste +justice +juteux +juvénile +kayak +kimono +kiosque +label +labial +labourer +lacérer +lactose +lagune +laine +laisser +laitier +lambeau +lamelle +lampe +lanceur +langage +lanterne +lapin +largeur +larme +laurier +lavabo +lavoir +lecture +légal +léger +légume +lessive +lettre +levier +lexique +lézard +liasse +libérer +libre +licence +licorne +liège +lièvre +ligature +ligoter +ligue +limer +limite +limonade +limpide +linéaire +lingot +lionceau +liquide +lisière +lister +lithium +litige +littoral +livreur +logique +lointain +loisir +lombric +loterie +louer +lourd +loutre +louve +loyal +lubie +lucide +lucratif +lueur +lugubre +luisant +lumière +lunaire +lundi +luron +lutter +luxueux +machine +magasin +magenta +magique +maigre +maillon +maintien +mairie +maison +majorer +malaxer +maléfice +malheur +malice +mallette +mammouth +mandater +maniable +manquant +manteau +manuel +marathon +marbre +marchand +mardi +maritime +marqueur +marron +marteler +mascotte +massif +matériel +matière +matraque +maudire +maussade +mauve +maximal +méchant +méconnu +médaille +médecin +méditer +méduse +meilleur +mélange +mélodie +membre +mémoire +menacer +mener +menhir +mensonge +mentor +mercredi +mérite +merle +messager +mesure +métal +météore +méthode +métier +meuble +miauler +microbe +miette +mignon +migrer +milieu +million +mimique +mince +minéral +minimal +minorer +minute +miracle +miroiter +missile +mixte +mobile +moderne +moelleux +mondial +moniteur +monnaie +monotone +monstre +montagne +monument +moqueur +morceau +morsure +mortier +moteur +motif +mouche +moufle +moulin +mousson +mouton +mouvant +multiple +munition +muraille +murène +murmure +muscle +muséum +musicien +mutation +muter +mutuel +myriade +myrtille +mystère +mythique +nageur +nappe +narquois +narrer +natation +nation +nature +naufrage +nautique +navire +nébuleux +nectar +néfaste +négation +négliger +négocier +neige +nerveux +nettoyer +neurone +neutron +neveu +niche +nickel +nitrate +niveau +noble +nocif +nocturne +noirceur +noisette +nomade +nombreux +nommer +normatif +notable +notifier +notoire +nourrir +nouveau +novateur +novembre +novice +nuage +nuancer +nuire +nuisible +numéro +nuptial +nuque +nutritif +obéir +objectif +obliger +obscur +observer +obstacle +obtenir +obturer +occasion +occuper +océan +octobre +octroyer +octupler +oculaire +odeur +odorant +offenser +officier +offrir +ogive +oiseau +oisillon +olfactif +olivier +ombrage +omettre +onctueux +onduler +onéreux +onirique +opale +opaque +opérer +opinion +opportun +opprimer +opter +optique +orageux +orange +orbite +ordonner +oreille +organe +orgueil +orifice +ornement +orque +ortie +osciller +osmose +ossature +otarie +ouragan +ourson +outil +outrager +ouvrage +ovation +oxyde +oxygène +ozone +paisible +palace +palmarès +palourde +palper +panache +panda +pangolin +paniquer +panneau +panorama +pantalon +papaye +papier +papoter +papyrus +paradoxe +parcelle +paresse +parfumer +parler +parole +parrain +parsemer +partager +parure +parvenir +passion +pastèque +paternel +patience +patron +pavillon +pavoiser +payer +paysage +peigne +peintre +pelage +pélican +pelle +pelouse +peluche +pendule +pénétrer +pénible +pensif +pénurie +pépite +péplum +perdrix +perforer +période +permuter +perplexe +persil +perte +peser +pétale +petit +pétrir +peuple +pharaon +phobie +phoque +photon +phrase +physique +piano +pictural +pièce +pierre +pieuvre +pilote +pinceau +pipette +piquer +pirogue +piscine +piston +pivoter +pixel +pizza +placard +plafond +plaisir +planer +plaque +plastron +plateau +pleurer +plexus +pliage +plomb +plonger +pluie +plumage +pochette +poésie +poète +pointe +poirier +poisson +poivre +polaire +policier +pollen +polygone +pommade +pompier +ponctuel +pondérer +poney +portique +position +posséder +posture +potager +poteau +potion +pouce +poulain +poumon +pourpre +poussin +pouvoir +prairie +pratique +précieux +prédire +préfixe +prélude +prénom +présence +prétexte +prévoir +primitif +prince +prison +priver +problème +procéder +prodige +profond +progrès +proie +projeter +prologue +promener +propre +prospère +protéger +prouesse +proverbe +prudence +pruneau +psychose +public +puceron +puiser +pulpe +pulsar +punaise +punitif +pupitre +purifier +puzzle +pyramide +quasar +querelle +question +quiétude +quitter +quotient +racine +raconter +radieux +ragondin +raideur +raisin +ralentir +rallonge +ramasser +rapide +rasage +ratisser +ravager +ravin +rayonner +réactif +réagir +réaliser +réanimer +recevoir +réciter +réclamer +récolter +recruter +reculer +recycler +rédiger +redouter +refaire +réflexe +réformer +refrain +refuge +régalien +région +réglage +régulier +réitérer +rejeter +rejouer +relatif +relever +relief +remarque +remède +remise +remonter +remplir +remuer +renard +renfort +renifler +renoncer +rentrer +renvoi +replier +reporter +reprise +reptile +requin +réserve +résineux +résoudre +respect +rester +résultat +rétablir +retenir +réticule +retomber +retracer +réunion +réussir +revanche +revivre +révolte +révulsif +richesse +rideau +rieur +rigide +rigoler +rincer +riposter +risible +risque +rituel +rival +rivière +rocheux +romance +rompre +ronce +rondin +roseau +rosier +rotatif +rotor +rotule +rouge +rouille +rouleau +routine +royaume +ruban +rubis +ruche +ruelle +rugueux +ruiner +ruisseau +ruser +rustique +rythme +sabler +saboter +sabre +sacoche +safari +sagesse +saisir +salade +salive +salon +saluer +samedi +sanction +sanglier +sarcasme +sardine +saturer +saugrenu +saumon +sauter +sauvage +savant +savonner +scalpel +scandale +scélérat +scénario +sceptre +schéma +science +scinder +score +scrutin +sculpter +séance +sécable +sécher +secouer +sécréter +sédatif +séduire +seigneur +séjour +sélectif +semaine +sembler +semence +séminal +sénateur +sensible +sentence +séparer +séquence +serein +sergent +sérieux +serrure +sérum +service +sésame +sévir +sevrage +sextuple +sidéral +siècle +siéger +siffler +sigle +signal +silence +silicium +simple +sincère +sinistre +siphon +sirop +sismique +situer +skier +social +socle +sodium +soigneux +soldat +soleil +solitude +soluble +sombre +sommeil +somnoler +sonde +songeur +sonnette +sonore +sorcier +sortir +sosie +sottise +soucieux +soudure +souffle +soulever +soupape +source +soutirer +souvenir +spacieux +spatial +spécial +sphère +spiral +stable +station +sternum +stimulus +stipuler +strict +studieux +stupeur +styliste +sublime +substrat +subtil +subvenir +succès +sucre +suffixe +suggérer +suiveur +sulfate +superbe +supplier +surface +suricate +surmener +surprise +sursaut +survie +suspect +syllabe +symbole +symétrie +synapse +syntaxe +système +tabac +tablier +tactile +tailler +talent +talisman +talonner +tambour +tamiser +tangible +tapis +taquiner +tarder +tarif +tartine +tasse +tatami +tatouage +taupe +taureau +taxer +témoin +temporel +tenaille +tendre +teneur +tenir +tension +terminer +terne +terrible +tétine +texte +thème +théorie +thérapie +thorax +tibia +tiède +timide +tirelire +tiroir +tissu +titane +titre +tituber +toboggan +tolérant +tomate +tonique +tonneau +toponyme +torche +tordre +tornade +torpille +torrent +torse +tortue +totem +toucher +tournage +tousser +toxine +traction +trafic +tragique +trahir +train +trancher +travail +trèfle +tremper +trésor +treuil +triage +tribunal +tricoter +trilogie +triomphe +tripler +triturer +trivial +trombone +tronc +tropical +troupeau +tuile +tulipe +tumulte +tunnel +turbine +tuteur +tutoyer +tuyau +tympan +typhon +typique +tyran +ubuesque +ultime +ultrason +unanime +unifier +union +unique +unitaire +univers +uranium +urbain +urticant +usage +usine +usuel +usure +utile +utopie +vacarme +vaccin +vagabond +vague +vaillant +vaincre +vaisseau +valable +valise +vallon +valve +vampire +vanille +vapeur +varier +vaseux +vassal +vaste +vecteur +vedette +végétal +véhicule +veinard +véloce +vendredi +vénérer +venger +venimeux +ventouse +verdure +vérin +vernir +verrou +verser +vertu +veston +vétéran +vétuste +vexant +vexer +viaduc +viande +victoire +vidange +vidéo +vignette +vigueur +vilain +village +vinaigre +violon +vipère +virement +virtuose +virus +visage +viseur +vision +visqueux +visuel +vital +vitesse +viticole +vitrine +vivace +vivipare +vocation +voguer +voile +voisin +voiture +volaille +volcan +voltiger +volume +vorace +vortex +voter +vouloir +voyage +voyelle +wagon +xénon +yacht +zèbre +zénith +zeste +zoologie +` diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/italian.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/italian.go new file mode 100644 index 00000000..32cd2cf6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/italian.go @@ -0,0 +1,2071 @@ +package wordlists + +import ( + "fmt" + "hash/crc32" + "strings" +) + +func init() { + // Ensure word list is correct + // $ wget https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/italian.txt + // $ crc32 italian.txt + // 2fc7d07e + checksum := crc32.ChecksumIEEE([]byte(italian)) + if fmt.Sprintf("%x", checksum) != "2fc7d07e" { + panic("italian checksum invalid") + } +} + +// Italian is a slice of mnemonic words taken from the bip39 specification +// https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/italian.txt +var Italian = strings.Split(strings.TrimSpace(italian), "\n") +var italian = `abaco +abbaglio +abbinato +abete +abisso +abolire +abrasivo +abrogato +accadere +accenno +accusato +acetone +achille +acido +acqua +acre +acrilico +acrobata +acuto +adagio +addebito +addome +adeguato +aderire +adipe +adottare +adulare +affabile +affetto +affisso +affranto +aforisma +afoso +africano +agave +agente +agevole +aggancio +agire +agitare +agonismo +agricolo +agrumeto +aguzzo +alabarda +alato +albatro +alberato +albo +albume +alce +alcolico +alettone +alfa +algebra +aliante +alibi +alimento +allagato +allegro +allievo +allodola +allusivo +almeno +alogeno +alpaca +alpestre +altalena +alterno +alticcio +altrove +alunno +alveolo +alzare +amalgama +amanita +amarena +ambito +ambrato +ameba +america +ametista +amico +ammasso +ammenda +ammirare +ammonito +amore +ampio +ampliare +amuleto +anacardo +anagrafe +analista +anarchia +anatra +anca +ancella +ancora +andare +andrea +anello +angelo +angolare +angusto +anima +annegare +annidato +anno +annuncio +anonimo +anticipo +anzi +apatico +apertura +apode +apparire +appetito +appoggio +approdo +appunto +aprile +arabica +arachide +aragosta +araldica +arancio +aratura +arazzo +arbitro +archivio +ardito +arenile +argento +argine +arguto +aria +armonia +arnese +arredato +arringa +arrosto +arsenico +arso +artefice +arzillo +asciutto +ascolto +asepsi +asettico +asfalto +asino +asola +aspirato +aspro +assaggio +asse +assoluto +assurdo +asta +astenuto +astice +astratto +atavico +ateismo +atomico +atono +attesa +attivare +attorno +attrito +attuale +ausilio +austria +autista +autonomo +autunno +avanzato +avere +avvenire +avviso +avvolgere +azione +azoto +azzimo +azzurro +babele +baccano +bacino +baco +badessa +badilata +bagnato +baita +balcone +baldo +balena +ballata +balzano +bambino +bandire +baraonda +barbaro +barca +baritono +barlume +barocco +basilico +basso +batosta +battuto +baule +bava +bavosa +becco +beffa +belgio +belva +benda +benevole +benigno +benzina +bere +berlina +beta +bibita +bici +bidone +bifido +biga +bilancia +bimbo +binocolo +biologo +bipede +bipolare +birbante +birra +biscotto +bisesto +bisnonno +bisonte +bisturi +bizzarro +blando +blatta +bollito +bonifico +bordo +bosco +botanico +bottino +bozzolo +braccio +bradipo +brama +branca +bravura +bretella +brevetto +brezza +briglia +brillante +brindare +broccolo +brodo +bronzina +brullo +bruno +bubbone +buca +budino +buffone +buio +bulbo +buono +burlone +burrasca +bussola +busta +cadetto +caduco +calamaro +calcolo +calesse +calibro +calmo +caloria +cambusa +camerata +camicia +cammino +camola +campale +canapa +candela +cane +canino +canotto +cantina +capace +capello +capitolo +capogiro +cappero +capra +capsula +carapace +carcassa +cardo +carisma +carovana +carretto +cartolina +casaccio +cascata +caserma +caso +cassone +castello +casuale +catasta +catena +catrame +cauto +cavillo +cedibile +cedrata +cefalo +celebre +cellulare +cena +cenone +centesimo +ceramica +cercare +certo +cerume +cervello +cesoia +cespo +ceto +chela +chiaro +chicca +chiedere +chimera +china +chirurgo +chitarra +ciao +ciclismo +cifrare +cigno +cilindro +ciottolo +circa +cirrosi +citrico +cittadino +ciuffo +civetta +civile +classico +clinica +cloro +cocco +codardo +codice +coerente +cognome +collare +colmato +colore +colposo +coltivato +colza +coma +cometa +commando +comodo +computer +comune +conciso +condurre +conferma +congelare +coniuge +connesso +conoscere +consumo +continuo +convegno +coperto +copione +coppia +copricapo +corazza +cordata +coricato +cornice +corolla +corpo +corredo +corsia +cortese +cosmico +costante +cottura +covato +cratere +cravatta +creato +credere +cremoso +crescita +creta +criceto +crinale +crisi +critico +croce +cronaca +crostata +cruciale +crusca +cucire +cuculo +cugino +cullato +cupola +curatore +cursore +curvo +cuscino +custode +dado +daino +dalmata +damerino +daniela +dannoso +danzare +datato +davanti +davvero +debutto +decennio +deciso +declino +decollo +decreto +dedicato +definito +deforme +degno +delegare +delfino +delirio +delta +demenza +denotato +dentro +deposito +derapata +derivare +deroga +descritto +deserto +desiderio +desumere +detersivo +devoto +diametro +dicembre +diedro +difeso +diffuso +digerire +digitale +diluvio +dinamico +dinnanzi +dipinto +diploma +dipolo +diradare +dire +dirotto +dirupo +disagio +discreto +disfare +disgelo +disposto +distanza +disumano +dito +divano +divelto +dividere +divorato +doblone +docente +doganale +dogma +dolce +domato +domenica +dominare +dondolo +dono +dormire +dote +dottore +dovuto +dozzina +drago +druido +dubbio +dubitare +ducale +duna +duomo +duplice +duraturo +ebano +eccesso +ecco +eclissi +economia +edera +edicola +edile +editoria +educare +egemonia +egli +egoismo +egregio +elaborato +elargire +elegante +elencato +eletto +elevare +elfico +elica +elmo +elsa +eluso +emanato +emblema +emesso +emiro +emotivo +emozione +empirico +emulo +endemico +enduro +energia +enfasi +enoteca +entrare +enzima +epatite +epilogo +episodio +epocale +eppure +equatore +erario +erba +erboso +erede +eremita +erigere +ermetico +eroe +erosivo +errante +esagono +esame +esanime +esaudire +esca +esempio +esercito +esibito +esigente +esistere +esito +esofago +esortato +esoso +espanso +espresso +essenza +esso +esteso +estimare +estonia +estroso +esultare +etilico +etnico +etrusco +etto +euclideo +europa +evaso +evidenza +evitato +evoluto +evviva +fabbrica +faccenda +fachiro +falco +famiglia +fanale +fanfara +fango +fantasma +fare +farfalla +farinoso +farmaco +fascia +fastoso +fasullo +faticare +fato +favoloso +febbre +fecola +fede +fegato +felpa +feltro +femmina +fendere +fenomeno +fermento +ferro +fertile +fessura +festivo +fetta +feudo +fiaba +fiducia +fifa +figurato +filo +finanza +finestra +finire +fiore +fiscale +fisico +fiume +flacone +flamenco +flebo +flemma +florido +fluente +fluoro +fobico +focaccia +focoso +foderato +foglio +folata +folclore +folgore +fondente +fonetico +fonia +fontana +forbito +forchetta +foresta +formica +fornaio +foro +fortezza +forzare +fosfato +fosso +fracasso +frana +frassino +fratello +freccetta +frenata +fresco +frigo +frollino +fronde +frugale +frutta +fucilata +fucsia +fuggente +fulmine +fulvo +fumante +fumetto +fumoso +fune +funzione +fuoco +furbo +furgone +furore +fuso +futile +gabbiano +gaffe +galateo +gallina +galoppo +gambero +gamma +garanzia +garbo +garofano +garzone +gasdotto +gasolio +gastrico +gatto +gaudio +gazebo +gazzella +geco +gelatina +gelso +gemello +gemmato +gene +genitore +gennaio +genotipo +gergo +ghepardo +ghiaccio +ghisa +giallo +gilda +ginepro +giocare +gioiello +giorno +giove +girato +girone +gittata +giudizio +giurato +giusto +globulo +glutine +gnomo +gobba +golf +gomito +gommone +gonfio +gonna +governo +gracile +grado +grafico +grammo +grande +grattare +gravoso +grazia +greca +gregge +grifone +grigio +grinza +grotta +gruppo +guadagno +guaio +guanto +guardare +gufo +guidare +ibernato +icona +identico +idillio +idolo +idra +idrico +idrogeno +igiene +ignaro +ignorato +ilare +illeso +illogico +illudere +imballo +imbevuto +imbocco +imbuto +immane +immerso +immolato +impacco +impeto +impiego +importo +impronta +inalare +inarcare +inattivo +incanto +incendio +inchino +incisivo +incluso +incontro +incrocio +incubo +indagine +india +indole +inedito +infatti +infilare +inflitto +ingaggio +ingegno +inglese +ingordo +ingrosso +innesco +inodore +inoltrare +inondato +insano +insetto +insieme +insonnia +insulina +intasato +intero +intonaco +intuito +inumidire +invalido +invece +invito +iperbole +ipnotico +ipotesi +ippica +iride +irlanda +ironico +irrigato +irrorare +isolato +isotopo +isterico +istituto +istrice +italia +iterare +labbro +labirinto +lacca +lacerato +lacrima +lacuna +laddove +lago +lampo +lancetta +lanterna +lardoso +larga +laringe +lastra +latenza +latino +lattuga +lavagna +lavoro +legale +leggero +lembo +lentezza +lenza +leone +lepre +lesivo +lessato +lesto +letterale +leva +levigato +libero +lido +lievito +lilla +limatura +limitare +limpido +lineare +lingua +liquido +lira +lirica +lisca +lite +litigio +livrea +locanda +lode +logica +lombare +londra +longevo +loquace +lorenzo +loto +lotteria +luce +lucidato +lumaca +luminoso +lungo +lupo +luppolo +lusinga +lusso +lutto +macabro +macchina +macero +macinato +madama +magico +maglia +magnete +magro +maiolica +malafede +malgrado +malinteso +malsano +malto +malumore +mana +mancia +mandorla +mangiare +manifesto +mannaro +manovra +mansarda +mantide +manubrio +mappa +maratona +marcire +maretta +marmo +marsupio +maschera +massaia +mastino +materasso +matricola +mattone +maturo +mazurca +meandro +meccanico +mecenate +medesimo +meditare +mega +melassa +melis +melodia +meninge +meno +mensola +mercurio +merenda +merlo +meschino +mese +messere +mestolo +metallo +metodo +mettere +miagolare +mica +micelio +michele +microbo +midollo +miele +migliore +milano +milite +mimosa +minerale +mini +minore +mirino +mirtillo +miscela +missiva +misto +misurare +mitezza +mitigare +mitra +mittente +mnemonico +modello +modifica +modulo +mogano +mogio +mole +molosso +monastero +monco +mondina +monetario +monile +monotono +monsone +montato +monviso +mora +mordere +morsicato +mostro +motivato +motosega +motto +movenza +movimento +mozzo +mucca +mucosa +muffa +mughetto +mugnaio +mulatto +mulinello +multiplo +mummia +munto +muovere +murale +musa +muscolo +musica +mutevole +muto +nababbo +nafta +nanometro +narciso +narice +narrato +nascere +nastrare +naturale +nautica +naviglio +nebulosa +necrosi +negativo +negozio +nemmeno +neofita +neretto +nervo +nessuno +nettuno +neutrale +neve +nevrotico +nicchia +ninfa +nitido +nobile +nocivo +nodo +nome +nomina +nordico +normale +norvegese +nostrano +notare +notizia +notturno +novella +nucleo +nulla +numero +nuovo +nutrire +nuvola +nuziale +oasi +obbedire +obbligo +obelisco +oblio +obolo +obsoleto +occasione +occhio +occidente +occorrere +occultare +ocra +oculato +odierno +odorare +offerta +offrire +offuscato +oggetto +oggi +ognuno +olandese +olfatto +oliato +oliva +ologramma +oltre +omaggio +ombelico +ombra +omega +omissione +ondoso +onere +onice +onnivoro +onorevole +onta +operato +opinione +opposto +oracolo +orafo +ordine +orecchino +orefice +orfano +organico +origine +orizzonte +orma +ormeggio +ornativo +orologio +orrendo +orribile +ortensia +ortica +orzata +orzo +osare +oscurare +osmosi +ospedale +ospite +ossa +ossidare +ostacolo +oste +otite +otre +ottagono +ottimo +ottobre +ovale +ovest +ovino +oviparo +ovocito +ovunque +ovviare +ozio +pacchetto +pace +pacifico +padella +padrone +paese +paga +pagina +palazzina +palesare +pallido +palo +palude +pandoro +pannello +paolo +paonazzo +paprica +parabola +parcella +parere +pargolo +pari +parlato +parola +partire +parvenza +parziale +passivo +pasticca +patacca +patologia +pattume +pavone +peccato +pedalare +pedonale +peggio +peloso +penare +pendice +penisola +pennuto +penombra +pensare +pentola +pepe +pepita +perbene +percorso +perdonato +perforare +pergamena +periodo +permesso +perno +perplesso +persuaso +pertugio +pervaso +pesatore +pesista +peso +pestifero +petalo +pettine +petulante +pezzo +piacere +pianta +piattino +piccino +picozza +piega +pietra +piffero +pigiama +pigolio +pigro +pila +pilifero +pillola +pilota +pimpante +pineta +pinna +pinolo +pioggia +piombo +piramide +piretico +pirite +pirolisi +pitone +pizzico +placebo +planare +plasma +platano +plenario +pochezza +poderoso +podismo +poesia +poggiare +polenta +poligono +pollice +polmonite +polpetta +polso +poltrona +polvere +pomice +pomodoro +ponte +popoloso +porfido +poroso +porpora +porre +portata +posa +positivo +possesso +postulato +potassio +potere +pranzo +prassi +pratica +precluso +predica +prefisso +pregiato +prelievo +premere +prenotare +preparato +presenza +pretesto +prevalso +prima +principe +privato +problema +procura +produrre +profumo +progetto +prolunga +promessa +pronome +proposta +proroga +proteso +prova +prudente +prugna +prurito +psiche +pubblico +pudica +pugilato +pugno +pulce +pulito +pulsante +puntare +pupazzo +pupilla +puro +quadro +qualcosa +quasi +querela +quota +raccolto +raddoppio +radicale +radunato +raffica +ragazzo +ragione +ragno +ramarro +ramingo +ramo +randagio +rantolare +rapato +rapina +rappreso +rasatura +raschiato +rasente +rassegna +rastrello +rata +ravveduto +reale +recepire +recinto +recluta +recondito +recupero +reddito +redimere +regalato +registro +regola +regresso +relazione +remare +remoto +renna +replica +reprimere +reputare +resa +residente +responso +restauro +rete +retina +retorica +rettifica +revocato +riassunto +ribadire +ribelle +ribrezzo +ricarica +ricco +ricevere +riciclato +ricordo +ricreduto +ridicolo +ridurre +rifasare +riflesso +riforma +rifugio +rigare +rigettato +righello +rilassato +rilevato +rimanere +rimbalzo +rimedio +rimorchio +rinascita +rincaro +rinforzo +rinnovo +rinomato +rinsavito +rintocco +rinuncia +rinvenire +riparato +ripetuto +ripieno +riportare +ripresa +ripulire +risata +rischio +riserva +risibile +riso +rispetto +ristoro +risultato +risvolto +ritardo +ritegno +ritmico +ritrovo +riunione +riva +riverso +rivincita +rivolto +rizoma +roba +robotico +robusto +roccia +roco +rodaggio +rodere +roditore +rogito +rollio +romantico +rompere +ronzio +rosolare +rospo +rotante +rotondo +rotula +rovescio +rubizzo +rubrica +ruga +rullino +rumine +rumoroso +ruolo +rupe +russare +rustico +sabato +sabbiare +sabotato +sagoma +salasso +saldatura +salgemma +salivare +salmone +salone +saltare +saluto +salvo +sapere +sapido +saporito +saraceno +sarcasmo +sarto +sassoso +satellite +satira +satollo +saturno +savana +savio +saziato +sbadiglio +sbalzo +sbancato +sbarra +sbattere +sbavare +sbendare +sbirciare +sbloccato +sbocciato +sbrinare +sbruffone +sbuffare +scabroso +scadenza +scala +scambiare +scandalo +scapola +scarso +scatenare +scavato +scelto +scenico +scettro +scheda +schiena +sciarpa +scienza +scindere +scippo +sciroppo +scivolo +sclerare +scodella +scolpito +scomparto +sconforto +scoprire +scorta +scossone +scozzese +scriba +scrollare +scrutinio +scuderia +scultore +scuola +scuro +scusare +sdebitare +sdoganare +seccatura +secondo +sedano +seggiola +segnalato +segregato +seguito +selciato +selettivo +sella +selvaggio +semaforo +sembrare +seme +seminato +sempre +senso +sentire +sepolto +sequenza +serata +serbato +sereno +serio +serpente +serraglio +servire +sestina +setola +settimana +sfacelo +sfaldare +sfamato +sfarzoso +sfaticato +sfera +sfida +sfilato +sfinge +sfocato +sfoderare +sfogo +sfoltire +sforzato +sfratto +sfruttato +sfuggito +sfumare +sfuso +sgabello +sgarbato +sgonfiare +sgorbio +sgrassato +sguardo +sibilo +siccome +sierra +sigla +signore +silenzio +sillaba +simbolo +simpatico +simulato +sinfonia +singolo +sinistro +sino +sintesi +sinusoide +sipario +sisma +sistole +situato +slitta +slogatura +sloveno +smarrito +smemorato +smentito +smeraldo +smilzo +smontare +smottato +smussato +snellire +snervato +snodo +sobbalzo +sobrio +soccorso +sociale +sodale +soffitto +sogno +soldato +solenne +solido +sollazzo +solo +solubile +solvente +somatico +somma +sonda +sonetto +sonnifero +sopire +soppeso +sopra +sorgere +sorpasso +sorriso +sorso +sorteggio +sorvolato +sospiro +sosta +sottile +spada +spalla +spargere +spatola +spavento +spazzola +specie +spedire +spegnere +spelatura +speranza +spessore +spettrale +spezzato +spia +spigoloso +spillato +spinoso +spirale +splendido +sportivo +sposo +spranga +sprecare +spronato +spruzzo +spuntino +squillo +sradicare +srotolato +stabile +stacco +staffa +stagnare +stampato +stantio +starnuto +stasera +statuto +stelo +steppa +sterzo +stiletto +stima +stirpe +stivale +stizzoso +stonato +storico +strappo +stregato +stridulo +strozzare +strutto +stuccare +stufo +stupendo +subentro +succoso +sudore +suggerito +sugo +sultano +suonare +superbo +supporto +surgelato +surrogato +sussurro +sutura +svagare +svedese +sveglio +svelare +svenuto +svezia +sviluppo +svista +svizzera +svolta +svuotare +tabacco +tabulato +tacciare +taciturno +tale +talismano +tampone +tannino +tara +tardivo +targato +tariffa +tarpare +tartaruga +tasto +tattico +taverna +tavolata +tazza +teca +tecnico +telefono +temerario +tempo +temuto +tendone +tenero +tensione +tentacolo +teorema +terme +terrazzo +terzetto +tesi +tesserato +testato +tetro +tettoia +tifare +tigella +timbro +tinto +tipico +tipografo +tiraggio +tiro +titanio +titolo +titubante +tizio +tizzone +toccare +tollerare +tolto +tombola +tomo +tonfo +tonsilla +topazio +topologia +toppa +torba +tornare +torrone +tortora +toscano +tossire +tostatura +totano +trabocco +trachea +trafila +tragedia +tralcio +tramonto +transito +trapano +trarre +trasloco +trattato +trave +treccia +tremolio +trespolo +tributo +tricheco +trifoglio +trillo +trincea +trio +tristezza +triturato +trivella +tromba +trono +troppo +trottola +trovare +truccato +tubatura +tuffato +tulipano +tumulto +tunisia +turbare +turchino +tuta +tutela +ubicato +uccello +uccisore +udire +uditivo +uffa +ufficio +uguale +ulisse +ultimato +umano +umile +umorismo +uncinetto +ungere +ungherese +unicorno +unificato +unisono +unitario +unte +uovo +upupa +uragano +urgenza +urlo +usanza +usato +uscito +usignolo +usuraio +utensile +utilizzo +utopia +vacante +vaccinato +vagabondo +vagliato +valanga +valgo +valico +valletta +valoroso +valutare +valvola +vampata +vangare +vanitoso +vano +vantaggio +vanvera +vapore +varano +varcato +variante +vasca +vedetta +vedova +veduto +vegetale +veicolo +velcro +velina +velluto +veloce +venato +vendemmia +vento +verace +verbale +vergogna +verifica +vero +verruca +verticale +vescica +vessillo +vestale +veterano +vetrina +vetusto +viandante +vibrante +vicenda +vichingo +vicinanza +vidimare +vigilia +vigneto +vigore +vile +villano +vimini +vincitore +viola +vipera +virgola +virologo +virulento +viscoso +visione +vispo +vissuto +visura +vita +vitello +vittima +vivanda +vivido +viziare +voce +voga +volatile +volere +volpe +voragine +vulcano +zampogna +zanna +zappato +zattera +zavorra +zefiro +zelante +zelo +zenzero +zerbino +zibetto +zinco +zircone +zitto +zolla +zotico +zucchero +zufolo +zulu +zuppa +` diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/japanese.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/japanese.go new file mode 100644 index 00000000..23a76a34 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/japanese.go @@ -0,0 +1,2071 @@ +package wordlists + +import ( + "fmt" + "hash/crc32" + "strings" +) + +func init() { + // Ensure word list is correct + // $ wget https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/japanese.txt + // $ crc32 japanese.txt + // 0acc1419 + checksum := crc32.ChecksumIEEE([]byte(japanese)) + if fmt.Sprintf("%x", checksum) != "acc1419" { + panic(fmt.Sprintf("japanese checksum invalid: %x", checksum)) + } +} + +// Japanese is a slice of mnemonic words taken from the bip39 specification +// https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/japanese.txt +var Japanese = strings.Split(strings.TrimSpace(japanese), "\n") +var japanese = `あいこくしん +あいさつ +あいだ +あおぞら +あかちゃん +あきる +あけがた +あける +あこがれる +あさい +あさひ +あしあと +あじわう +あずかる +あずき +あそぶ +あたえる +あたためる +あたりまえ +あたる +あつい +あつかう +あっしゅく +あつまり +あつめる +あてな +あてはまる +あひる +あぶら +あぶる +あふれる +あまい +あまど +あまやかす +あまり +あみもの +あめりか +あやまる +あゆむ +あらいぐま +あらし +あらすじ +あらためる +あらゆる +あらわす +ありがとう +あわせる +あわてる +あんい +あんがい +あんこ +あんぜん +あんてい +あんない +あんまり +いいだす +いおん +いがい +いがく +いきおい +いきなり +いきもの +いきる +いくじ +いくぶん +いけばな +いけん +いこう +いこく +いこつ +いさましい +いさん +いしき +いじゅう +いじょう +いじわる +いずみ +いずれ +いせい +いせえび +いせかい +いせき +いぜん +いそうろう +いそがしい +いだい +いだく +いたずら +いたみ +いたりあ +いちおう +いちじ +いちど +いちば +いちぶ +いちりゅう +いつか +いっしゅん +いっせい +いっそう +いったん +いっち +いってい +いっぽう +いてざ +いてん +いどう +いとこ +いない +いなか +いねむり +いのち +いのる +いはつ +いばる +いはん +いびき +いひん +いふく +いへん +いほう +いみん +いもうと +いもたれ +いもり +いやがる +いやす +いよかん +いよく +いらい +いらすと +いりぐち +いりょう +いれい +いれもの +いれる +いろえんぴつ +いわい +いわう +いわかん +いわば +いわゆる +いんげんまめ +いんさつ +いんしょう +いんよう +うえき +うえる +うおざ +うがい +うかぶ +うかべる +うきわ +うくらいな +うくれれ +うけたまわる +うけつけ +うけとる +うけもつ +うける +うごかす +うごく +うこん +うさぎ +うしなう +うしろがみ +うすい +うすぎ +うすぐらい +うすめる +うせつ +うちあわせ +うちがわ +うちき +うちゅう +うっかり +うつくしい +うったえる +うつる +うどん +うなぎ +うなじ +うなずく +うなる +うねる +うのう +うぶげ +うぶごえ +うまれる +うめる +うもう +うやまう +うよく +うらがえす +うらぐち +うらない +うりあげ +うりきれ +うるさい +うれしい +うれゆき +うれる +うろこ +うわき +うわさ +うんこう +うんちん +うんてん +うんどう +えいえん +えいが +えいきょう +えいご +えいせい +えいぶん +えいよう +えいわ +えおり +えがお +えがく +えきたい +えくせる +えしゃく +えすて +えつらん +えのぐ +えほうまき +えほん +えまき +えもじ +えもの +えらい +えらぶ +えりあ +えんえん +えんかい +えんぎ +えんげき +えんしゅう +えんぜつ +えんそく +えんちょう +えんとつ +おいかける +おいこす +おいしい +おいつく +おうえん +おうさま +おうじ +おうせつ +おうたい +おうふく +おうべい +おうよう +おえる +おおい +おおう +おおどおり +おおや +おおよそ +おかえり +おかず +おがむ +おかわり +おぎなう +おきる +おくさま +おくじょう +おくりがな +おくる +おくれる +おこす +おこなう +おこる +おさえる +おさない +おさめる +おしいれ +おしえる +おじぎ +おじさん +おしゃれ +おそらく +おそわる +おたがい +おたく +おだやか +おちつく +おっと +おつり +おでかけ +おとしもの +おとなしい +おどり +おどろかす +おばさん +おまいり +おめでとう +おもいで +おもう +おもたい +おもちゃ +おやつ +おやゆび +およぼす +おらんだ +おろす +おんがく +おんけい +おんしゃ +おんせん +おんだん +おんちゅう +おんどけい +かあつ +かいが +がいき +がいけん +がいこう +かいさつ +かいしゃ +かいすいよく +かいぜん +かいぞうど +かいつう +かいてん +かいとう +かいふく +がいへき +かいほう +かいよう +がいらい +かいわ +かえる +かおり +かかえる +かがく +かがし +かがみ +かくご +かくとく +かざる +がぞう +かたい +かたち +がちょう +がっきゅう +がっこう +がっさん +がっしょう +かなざわし +かのう +がはく +かぶか +かほう +かほご +かまう +かまぼこ +かめれおん +かゆい +かようび +からい +かるい +かろう +かわく +かわら +がんか +かんけい +かんこう +かんしゃ +かんそう +かんたん +かんち +がんばる +きあい +きあつ +きいろ +ぎいん +きうい +きうん +きえる +きおう +きおく +きおち +きおん +きかい +きかく +きかんしゃ +ききて +きくばり +きくらげ +きけんせい +きこう +きこえる +きこく +きさい +きさく +きさま +きさらぎ +ぎじかがく +ぎしき +ぎじたいけん +ぎじにってい +ぎじゅつしゃ +きすう +きせい +きせき +きせつ +きそう +きぞく +きぞん +きたえる +きちょう +きつえん +ぎっちり +きつつき +きつね +きてい +きどう +きどく +きない +きなが +きなこ +きぬごし +きねん +きのう +きのした +きはく +きびしい +きひん +きふく +きぶん +きぼう +きほん +きまる +きみつ +きむずかしい +きめる +きもだめし +きもち +きもの +きゃく +きやく +ぎゅうにく +きよう +きょうりゅう +きらい +きらく +きりん +きれい +きれつ +きろく +ぎろん +きわめる +ぎんいろ +きんかくじ +きんじょ +きんようび +ぐあい +くいず +くうかん +くうき +くうぐん +くうこう +ぐうせい +くうそう +ぐうたら +くうふく +くうぼ +くかん +くきょう +くげん +ぐこう +くさい +くさき +くさばな +くさる +くしゃみ +くしょう +くすのき +くすりゆび +くせげ +くせん +ぐたいてき +くださる +くたびれる +くちこみ +くちさき +くつした +ぐっすり +くつろぐ +くとうてん +くどく +くなん +くねくね +くのう +くふう +くみあわせ +くみたてる +くめる +くやくしょ +くらす +くらべる +くるま +くれる +くろう +くわしい +ぐんかん +ぐんしょく +ぐんたい +ぐんて +けあな +けいかく +けいけん +けいこ +けいさつ +げいじゅつ +けいたい +げいのうじん +けいれき +けいろ +けおとす +けおりもの +げきか +げきげん +げきだん +げきちん +げきとつ +げきは +げきやく +げこう +げこくじょう +げざい +けさき +げざん +けしき +けしごむ +けしょう +げすと +けたば +けちゃっぷ +けちらす +けつあつ +けつい +けつえき +けっこん +けつじょ +けっせき +けってい +けつまつ +げつようび +げつれい +けつろん +げどく +けとばす +けとる +けなげ +けなす +けなみ +けぬき +げねつ +けねん +けはい +げひん +けぶかい +げぼく +けまり +けみかる +けむし +けむり +けもの +けらい +けろけろ +けわしい +けんい +けんえつ +けんお +けんか +げんき +けんげん +けんこう +けんさく +けんしゅう +けんすう +げんそう +けんちく +けんてい +けんとう +けんない +けんにん +げんぶつ +けんま +けんみん +けんめい +けんらん +けんり +こあくま +こいぬ +こいびと +ごうい +こうえん +こうおん +こうかん +ごうきゅう +ごうけい +こうこう +こうさい +こうじ +こうすい +ごうせい +こうそく +こうたい +こうちゃ +こうつう +こうてい +こうどう +こうない +こうはい +ごうほう +ごうまん +こうもく +こうりつ +こえる +こおり +ごかい +ごがつ +ごかん +こくご +こくさい +こくとう +こくない +こくはく +こぐま +こけい +こける +ここのか +こころ +こさめ +こしつ +こすう +こせい +こせき +こぜん +こそだて +こたい +こたえる +こたつ +こちょう +こっか +こつこつ +こつばん +こつぶ +こてい +こてん +ことがら +ことし +ことば +ことり +こなごな +こねこね +このまま +このみ +このよ +ごはん +こひつじ +こふう +こふん +こぼれる +ごまあぶら +こまかい +ごますり +こまつな +こまる +こむぎこ +こもじ +こもち +こもの +こもん +こやく +こやま +こゆう +こゆび +こよい +こよう +こりる +これくしょん +ころっけ +こわもて +こわれる +こんいん +こんかい +こんき +こんしゅう +こんすい +こんだて +こんとん +こんなん +こんびに +こんぽん +こんまけ +こんや +こんれい +こんわく +ざいえき +さいかい +さいきん +ざいげん +ざいこ +さいしょ +さいせい +ざいたく +ざいちゅう +さいてき +ざいりょう +さうな +さかいし +さがす +さかな +さかみち +さがる +さぎょう +さくし +さくひん +さくら +さこく +さこつ +さずかる +ざせき +さたん +さつえい +ざつおん +ざっか +ざつがく +さっきょく +ざっし +さつじん +ざっそう +さつたば +さつまいも +さてい +さといも +さとう +さとおや +さとし +さとる +さのう +さばく +さびしい +さべつ +さほう +さほど +さます +さみしい +さみだれ +さむけ +さめる +さやえんどう +さゆう +さよう +さよく +さらだ +ざるそば +さわやか +さわる +さんいん +さんか +さんきゃく +さんこう +さんさい +ざんしょ +さんすう +さんせい +さんそ +さんち +さんま +さんみ +さんらん +しあい +しあげ +しあさって +しあわせ +しいく +しいん +しうち +しえい +しおけ +しかい +しかく +じかん +しごと +しすう +じだい +したうけ +したぎ +したて +したみ +しちょう +しちりん +しっかり +しつじ +しつもん +してい +してき +してつ +じてん +じどう +しなぎれ +しなもの +しなん +しねま +しねん +しのぐ +しのぶ +しはい +しばかり +しはつ +しはらい +しはん +しひょう +しふく +じぶん +しへい +しほう +しほん +しまう +しまる +しみん +しむける +じむしょ +しめい +しめる +しもん +しゃいん +しゃうん +しゃおん +じゃがいも +しやくしょ +しゃくほう +しゃけん +しゃこ +しゃざい +しゃしん +しゃせん +しゃそう +しゃたい +しゃちょう +しゃっきん +じゃま +しゃりん +しゃれい +じゆう +じゅうしょ +しゅくはく +じゅしん +しゅっせき +しゅみ +しゅらば +じゅんばん +しょうかい +しょくたく +しょっけん +しょどう +しょもつ +しらせる +しらべる +しんか +しんこう +じんじゃ +しんせいじ +しんちく +しんりん +すあげ +すあし +すあな +ずあん +すいえい +すいか +すいとう +ずいぶん +すいようび +すうがく +すうじつ +すうせん +すおどり +すきま +すくう +すくない +すける +すごい +すこし +ずさん +すずしい +すすむ +すすめる +すっかり +ずっしり +ずっと +すてき +すてる +すねる +すのこ +すはだ +すばらしい +ずひょう +ずぶぬれ +すぶり +すふれ +すべて +すべる +ずほう +すぼん +すまい +すめし +すもう +すやき +すらすら +するめ +すれちがう +すろっと +すわる +すんぜん +すんぽう +せあぶら +せいかつ +せいげん +せいじ +せいよう +せおう +せかいかん +せきにん +せきむ +せきゆ +せきらんうん +せけん +せこう +せすじ +せたい +せたけ +せっかく +せっきゃく +ぜっく +せっけん +せっこつ +せっさたくま +せつぞく +せつだん +せつでん +せっぱん +せつび +せつぶん +せつめい +せつりつ +せなか +せのび +せはば +せびろ +せぼね +せまい +せまる +せめる +せもたれ +せりふ +ぜんあく +せんい +せんえい +せんか +せんきょ +せんく +せんげん +ぜんご +せんさい +せんしゅ +せんすい +せんせい +せんぞ +せんたく +せんちょう +せんてい +せんとう +せんぬき +せんねん +せんぱい +ぜんぶ +ぜんぽう +せんむ +せんめんじょ +せんもん +せんやく +せんゆう +せんよう +ぜんら +ぜんりゃく +せんれい +せんろ +そあく +そいとげる +そいね +そうがんきょう +そうき +そうご +そうしん +そうだん +そうなん +そうび +そうめん +そうり +そえもの +そえん +そがい +そげき +そこう +そこそこ +そざい +そしな +そせい +そせん +そそぐ +そだてる +そつう +そつえん +そっかん +そつぎょう +そっけつ +そっこう +そっせん +そっと +そとがわ +そとづら +そなえる +そなた +そふぼ +そぼく +そぼろ +そまつ +そまる +そむく +そむりえ +そめる +そもそも +そよかぜ +そらまめ +そろう +そんかい +そんけい +そんざい +そんしつ +そんぞく +そんちょう +ぞんび +ぞんぶん +そんみん +たあい +たいいん +たいうん +たいえき +たいおう +だいがく +たいき +たいぐう +たいけん +たいこ +たいざい +だいじょうぶ +だいすき +たいせつ +たいそう +だいたい +たいちょう +たいてい +だいどころ +たいない +たいねつ +たいのう +たいはん +だいひょう +たいふう +たいへん +たいほ +たいまつばな +たいみんぐ +たいむ +たいめん +たいやき +たいよう +たいら +たいりょく +たいる +たいわん +たうえ +たえる +たおす +たおる +たおれる +たかい +たかね +たきび +たくさん +たこく +たこやき +たさい +たしざん +だじゃれ +たすける +たずさわる +たそがれ +たたかう +たたく +ただしい +たたみ +たちばな +だっかい +だっきゃく +だっこ +だっしゅつ +だったい +たてる +たとえる +たなばた +たにん +たぬき +たのしみ +たはつ +たぶん +たべる +たぼう +たまご +たまる +だむる +ためいき +ためす +ためる +たもつ +たやすい +たよる +たらす +たりきほんがん +たりょう +たりる +たると +たれる +たれんと +たろっと +たわむれる +だんあつ +たんい +たんおん +たんか +たんき +たんけん +たんご +たんさん +たんじょうび +だんせい +たんそく +たんたい +だんち +たんてい +たんとう +だんな +たんにん +だんねつ +たんのう +たんぴん +だんぼう +たんまつ +たんめい +だんれつ +だんろ +だんわ +ちあい +ちあん +ちいき +ちいさい +ちえん +ちかい +ちから +ちきゅう +ちきん +ちけいず +ちけん +ちこく +ちさい +ちしき +ちしりょう +ちせい +ちそう +ちたい +ちたん +ちちおや +ちつじょ +ちてき +ちてん +ちぬき +ちぬり +ちのう +ちひょう +ちへいせん +ちほう +ちまた +ちみつ +ちみどろ +ちめいど +ちゃんこなべ +ちゅうい +ちゆりょく +ちょうし +ちょさくけん +ちらし +ちらみ +ちりがみ +ちりょう +ちるど +ちわわ +ちんたい +ちんもく +ついか +ついたち +つうか +つうじょう +つうはん +つうわ +つかう +つかれる +つくね +つくる +つけね +つける +つごう +つたえる +つづく +つつじ +つつむ +つとめる +つながる +つなみ +つねづね +つのる +つぶす +つまらない +つまる +つみき +つめたい +つもり +つもる +つよい +つるぼ +つるみく +つわもの +つわり +てあし +てあて +てあみ +ていおん +ていか +ていき +ていけい +ていこく +ていさつ +ていし +ていせい +ていたい +ていど +ていねい +ていひょう +ていへん +ていぼう +てうち +ておくれ +てきとう +てくび +でこぼこ +てさぎょう +てさげ +てすり +てそう +てちがい +てちょう +てつがく +てつづき +でっぱ +てつぼう +てつや +でぬかえ +てぬき +てぬぐい +てのひら +てはい +てぶくろ +てふだ +てほどき +てほん +てまえ +てまきずし +てみじか +てみやげ +てらす +てれび +てわけ +てわたし +でんあつ +てんいん +てんかい +てんき +てんぐ +てんけん +てんごく +てんさい +てんし +てんすう +でんち +てんてき +てんとう +てんない +てんぷら +てんぼうだい +てんめつ +てんらんかい +でんりょく +でんわ +どあい +といれ +どうかん +とうきゅう +どうぐ +とうし +とうむぎ +とおい +とおか +とおく +とおす +とおる +とかい +とかす +ときおり +ときどき +とくい +とくしゅう +とくてん +とくに +とくべつ +とけい +とける +とこや +とさか +としょかん +とそう +とたん +とちゅう +とっきゅう +とっくん +とつぜん +とつにゅう +とどける +ととのえる +とない +となえる +となり +とのさま +とばす +どぶがわ +とほう +とまる +とめる +ともだち +ともる +どようび +とらえる +とんかつ +どんぶり +ないかく +ないこう +ないしょ +ないす +ないせん +ないそう +なおす +ながい +なくす +なげる +なこうど +なさけ +なたでここ +なっとう +なつやすみ +ななおし +なにごと +なにもの +なにわ +なのか +なふだ +なまいき +なまえ +なまみ +なみだ +なめらか +なめる +なやむ +ならう +ならび +ならぶ +なれる +なわとび +なわばり +にあう +にいがた +にうけ +におい +にかい +にがて +にきび +にくしみ +にくまん +にげる +にさんかたんそ +にしき +にせもの +にちじょう +にちようび +にっか +にっき +にっけい +にっこう +にっさん +にっしょく +にっすう +にっせき +にってい +になう +にほん +にまめ +にもつ +にやり +にゅういん +にりんしゃ +にわとり +にんい +にんか +にんき +にんげん +にんしき +にんずう +にんそう +にんたい +にんち +にんてい +にんにく +にんぷ +にんまり +にんむ +にんめい +にんよう +ぬいくぎ +ぬかす +ぬぐいとる +ぬぐう +ぬくもり +ぬすむ +ぬまえび +ぬめり +ぬらす +ぬんちゃく +ねあげ +ねいき +ねいる +ねいろ +ねぐせ +ねくたい +ねくら +ねこぜ +ねこむ +ねさげ +ねすごす +ねそべる +ねだん +ねつい +ねっしん +ねつぞう +ねったいぎょ +ねぶそく +ねふだ +ねぼう +ねほりはほり +ねまき +ねまわし +ねみみ +ねむい +ねむたい +ねもと +ねらう +ねわざ +ねんいり +ねんおし +ねんかん +ねんきん +ねんぐ +ねんざ +ねんし +ねんちゃく +ねんど +ねんぴ +ねんぶつ +ねんまつ +ねんりょう +ねんれい +のいず +のおづま +のがす +のきなみ +のこぎり +のこす +のこる +のせる +のぞく +のぞむ +のたまう +のちほど +のっく +のばす +のはら +のべる +のぼる +のみもの +のやま +のらいぬ +のらねこ +のりもの +のりゆき +のれん +のんき +ばあい +はあく +ばあさん +ばいか +ばいく +はいけん +はいご +はいしん +はいすい +はいせん +はいそう +はいち +ばいばい +はいれつ +はえる +はおる +はかい +ばかり +はかる +はくしゅ +はけん +はこぶ +はさみ +はさん +はしご +ばしょ +はしる +はせる +ぱそこん +はそん +はたん +はちみつ +はつおん +はっかく +はづき +はっきり +はっくつ +はっけん +はっこう +はっさん +はっしん +はったつ +はっちゅう +はってん +はっぴょう +はっぽう +はなす +はなび +はにかむ +はぶらし +はみがき +はむかう +はめつ +はやい +はやし +はらう +はろうぃん +はわい +はんい +はんえい +はんおん +はんかく +はんきょう +ばんぐみ +はんこ +はんしゃ +はんすう +はんだん +ぱんち +ぱんつ +はんてい +はんとし +はんのう +はんぱ +はんぶん +はんぺん +はんぼうき +はんめい +はんらん +はんろん +ひいき +ひうん +ひえる +ひかく +ひかり +ひかる +ひかん +ひくい +ひけつ +ひこうき +ひこく +ひさい +ひさしぶり +ひさん +びじゅつかん +ひしょ +ひそか +ひそむ +ひたむき +ひだり +ひたる +ひつぎ +ひっこし +ひっし +ひつじゅひん +ひっす +ひつぜん +ぴったり +ぴっちり +ひつよう +ひてい +ひとごみ +ひなまつり +ひなん +ひねる +ひはん +ひびく +ひひょう +ひほう +ひまわり +ひまん +ひみつ +ひめい +ひめじし +ひやけ +ひやす +ひよう +びょうき +ひらがな +ひらく +ひりつ +ひりょう +ひるま +ひるやすみ +ひれい +ひろい +ひろう +ひろき +ひろゆき +ひんかく +ひんけつ +ひんこん +ひんしゅ +ひんそう +ぴんち +ひんぱん +びんぼう +ふあん +ふいうち +ふうけい +ふうせん +ぷうたろう +ふうとう +ふうふ +ふえる +ふおん +ふかい +ふきん +ふくざつ +ふくぶくろ +ふこう +ふさい +ふしぎ +ふじみ +ふすま +ふせい +ふせぐ +ふそく +ぶたにく +ふたん +ふちょう +ふつう +ふつか +ふっかつ +ふっき +ふっこく +ぶどう +ふとる +ふとん +ふのう +ふはい +ふひょう +ふへん +ふまん +ふみん +ふめつ +ふめん +ふよう +ふりこ +ふりる +ふるい +ふんいき +ぶんがく +ぶんぐ +ふんしつ +ぶんせき +ふんそう +ぶんぽう +へいあん +へいおん +へいがい +へいき +へいげん +へいこう +へいさ +へいしゃ +へいせつ +へいそ +へいたく +へいてん +へいねつ +へいわ +へきが +へこむ +べにいろ +べにしょうが +へらす +へんかん +べんきょう +べんごし +へんさい +へんたい +べんり +ほあん +ほいく +ぼうぎょ +ほうこく +ほうそう +ほうほう +ほうもん +ほうりつ +ほえる +ほおん +ほかん +ほきょう +ぼきん +ほくろ +ほけつ +ほけん +ほこう +ほこる +ほしい +ほしつ +ほしゅ +ほしょう +ほせい +ほそい +ほそく +ほたて +ほたる +ぽちぶくろ +ほっきょく +ほっさ +ほったん +ほとんど +ほめる +ほんい +ほんき +ほんけ +ほんしつ +ほんやく +まいにち +まかい +まかせる +まがる +まける +まこと +まさつ +まじめ +ますく +まぜる +まつり +まとめ +まなぶ +まぬけ +まねく +まほう +まもる +まゆげ +まよう +まろやか +まわす +まわり +まわる +まんが +まんきつ +まんぞく +まんなか +みいら +みうち +みえる +みがく +みかた +みかん +みけん +みこん +みじかい +みすい +みすえる +みせる +みっか +みつかる +みつける +みてい +みとめる +みなと +みなみかさい +みねらる +みのう +みのがす +みほん +みもと +みやげ +みらい +みりょく +みわく +みんか +みんぞく +むいか +むえき +むえん +むかい +むかう +むかえ +むかし +むぎちゃ +むける +むげん +むさぼる +むしあつい +むしば +むじゅん +むしろ +むすう +むすこ +むすぶ +むすめ +むせる +むせん +むちゅう +むなしい +むのう +むやみ +むよう +むらさき +むりょう +むろん +めいあん +めいうん +めいえん +めいかく +めいきょく +めいさい +めいし +めいそう +めいぶつ +めいれい +めいわく +めぐまれる +めざす +めした +めずらしい +めだつ +めまい +めやす +めんきょ +めんせき +めんどう +もうしあげる +もうどうけん +もえる +もくし +もくてき +もくようび +もちろん +もどる +もらう +もんく +もんだい +やおや +やける +やさい +やさしい +やすい +やすたろう +やすみ +やせる +やそう +やたい +やちん +やっと +やっぱり +やぶる +やめる +ややこしい +やよい +やわらかい +ゆうき +ゆうびんきょく +ゆうべ +ゆうめい +ゆけつ +ゆしゅつ +ゆせん +ゆそう +ゆたか +ゆちゃく +ゆでる +ゆにゅう +ゆびわ +ゆらい +ゆれる +ようい +ようか +ようきゅう +ようじ +ようす +ようちえん +よかぜ +よかん +よきん +よくせい +よくぼう +よけい +よごれる +よさん +よしゅう +よそう +よそく +よっか +よてい +よどがわく +よねつ +よやく +よゆう +よろこぶ +よろしい +らいう +らくがき +らくご +らくさつ +らくだ +らしんばん +らせん +らぞく +らたい +らっか +られつ +りえき +りかい +りきさく +りきせつ +りくぐん +りくつ +りけん +りこう +りせい +りそう +りそく +りてん +りねん +りゆう +りゅうがく +りよう +りょうり +りょかん +りょくちゃ +りょこう +りりく +りれき +りろん +りんご +るいけい +るいさい +るいじ +るいせき +るすばん +るりがわら +れいかん +れいぎ +れいせい +れいぞうこ +れいとう +れいぼう +れきし +れきだい +れんあい +れんけい +れんこん +れんさい +れんしゅう +れんぞく +れんらく +ろうか +ろうご +ろうじん +ろうそく +ろくが +ろこつ +ろじうら +ろしゅつ +ろせん +ろてん +ろめん +ろれつ +ろんぎ +ろんぱ +ろんぶん +ろんり +わかす +わかめ +わかやま +わかれる +わしつ +わじまし +わすれもの +わらう +われる +` diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/korean.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/korean.go new file mode 100644 index 00000000..1d317756 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/korean.go @@ -0,0 +1,2071 @@ +package wordlists + +import ( + "fmt" + "hash/crc32" + "strings" +) + +func init() { + // Ensure word list is correct + // $ wget https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/korean.txt + // $ crc32 korean.txt + // 4ef461eb + checksum := crc32.ChecksumIEEE([]byte(korean)) + if fmt.Sprintf("%x", checksum) != "4ef461eb" { + panic("korean checksum invalid") + } +} + +// Korean is a slice of mnemonic words taken from the bip39 specification +// https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/korean.txt +var Korean = strings.Split(strings.TrimSpace(korean), "\n") +var korean = `가격 +가끔 +가난 +가능 +가득 +가르침 +가뭄 +가방 +가상 +가슴 +가운데 +가을 +가이드 +가입 +가장 +가정 +가족 +가죽 +각오 +각자 +간격 +간부 +간섭 +간장 +간접 +간판 +갈등 +갈비 +갈색 +갈증 +감각 +감기 +감소 +감수성 +감자 +감정 +갑자기 +강남 +강당 +강도 +강력히 +강변 +강북 +강사 +강수량 +강아지 +강원도 +강의 +강제 +강조 +같이 +개구리 +개나리 +개방 +개별 +개선 +개성 +개인 +객관적 +거실 +거액 +거울 +거짓 +거품 +걱정 +건강 +건물 +건설 +건조 +건축 +걸음 +검사 +검토 +게시판 +게임 +겨울 +견해 +결과 +결국 +결론 +결석 +결승 +결심 +결정 +결혼 +경계 +경고 +경기 +경력 +경복궁 +경비 +경상도 +경영 +경우 +경쟁 +경제 +경주 +경찰 +경치 +경향 +경험 +계곡 +계단 +계란 +계산 +계속 +계약 +계절 +계층 +계획 +고객 +고구려 +고궁 +고급 +고등학생 +고무신 +고민 +고양이 +고장 +고전 +고집 +고춧가루 +고통 +고향 +곡식 +골목 +골짜기 +골프 +공간 +공개 +공격 +공군 +공급 +공기 +공동 +공무원 +공부 +공사 +공식 +공업 +공연 +공원 +공장 +공짜 +공책 +공통 +공포 +공항 +공휴일 +과목 +과일 +과장 +과정 +과학 +관객 +관계 +관광 +관념 +관람 +관련 +관리 +관습 +관심 +관점 +관찰 +광경 +광고 +광장 +광주 +괴로움 +굉장히 +교과서 +교문 +교복 +교실 +교양 +교육 +교장 +교직 +교통 +교환 +교훈 +구경 +구름 +구멍 +구별 +구분 +구석 +구성 +구속 +구역 +구입 +구청 +구체적 +국가 +국기 +국내 +국립 +국물 +국민 +국수 +국어 +국왕 +국적 +국제 +국회 +군대 +군사 +군인 +궁극적 +권리 +권위 +권투 +귀국 +귀신 +규정 +규칙 +균형 +그날 +그냥 +그늘 +그러나 +그룹 +그릇 +그림 +그제서야 +그토록 +극복 +극히 +근거 +근교 +근래 +근로 +근무 +근본 +근원 +근육 +근처 +글씨 +글자 +금강산 +금고 +금년 +금메달 +금액 +금연 +금요일 +금지 +긍정적 +기간 +기관 +기념 +기능 +기독교 +기둥 +기록 +기름 +기법 +기본 +기분 +기쁨 +기숙사 +기술 +기억 +기업 +기온 +기운 +기원 +기적 +기준 +기침 +기혼 +기획 +긴급 +긴장 +길이 +김밥 +김치 +김포공항 +깍두기 +깜빡 +깨달음 +깨소금 +껍질 +꼭대기 +꽃잎 +나들이 +나란히 +나머지 +나물 +나침반 +나흘 +낙엽 +난방 +날개 +날씨 +날짜 +남녀 +남대문 +남매 +남산 +남자 +남편 +남학생 +낭비 +낱말 +내년 +내용 +내일 +냄비 +냄새 +냇물 +냉동 +냉면 +냉방 +냉장고 +넥타이 +넷째 +노동 +노란색 +노력 +노인 +녹음 +녹차 +녹화 +논리 +논문 +논쟁 +놀이 +농구 +농담 +농민 +농부 +농업 +농장 +농촌 +높이 +눈동자 +눈물 +눈썹 +뉴욕 +느낌 +늑대 +능동적 +능력 +다방 +다양성 +다음 +다이어트 +다행 +단계 +단골 +단독 +단맛 +단순 +단어 +단위 +단점 +단체 +단추 +단편 +단풍 +달걀 +달러 +달력 +달리 +닭고기 +담당 +담배 +담요 +담임 +답변 +답장 +당근 +당분간 +당연히 +당장 +대규모 +대낮 +대단히 +대답 +대도시 +대략 +대량 +대륙 +대문 +대부분 +대신 +대응 +대장 +대전 +대접 +대중 +대책 +대출 +대충 +대통령 +대학 +대한민국 +대합실 +대형 +덩어리 +데이트 +도대체 +도덕 +도둑 +도망 +도서관 +도심 +도움 +도입 +도자기 +도저히 +도전 +도중 +도착 +독감 +독립 +독서 +독일 +독창적 +동화책 +뒷모습 +뒷산 +딸아이 +마누라 +마늘 +마당 +마라톤 +마련 +마무리 +마사지 +마약 +마요네즈 +마을 +마음 +마이크 +마중 +마지막 +마찬가지 +마찰 +마흔 +막걸리 +막내 +막상 +만남 +만두 +만세 +만약 +만일 +만점 +만족 +만화 +많이 +말기 +말씀 +말투 +맘대로 +망원경 +매년 +매달 +매력 +매번 +매스컴 +매일 +매장 +맥주 +먹이 +먼저 +먼지 +멀리 +메일 +며느리 +며칠 +면담 +멸치 +명단 +명령 +명예 +명의 +명절 +명칭 +명함 +모금 +모니터 +모델 +모든 +모범 +모습 +모양 +모임 +모조리 +모집 +모퉁이 +목걸이 +목록 +목사 +목소리 +목숨 +목적 +목표 +몰래 +몸매 +몸무게 +몸살 +몸속 +몸짓 +몸통 +몹시 +무관심 +무궁화 +무더위 +무덤 +무릎 +무슨 +무엇 +무역 +무용 +무조건 +무지개 +무척 +문구 +문득 +문법 +문서 +문제 +문학 +문화 +물가 +물건 +물결 +물고기 +물론 +물리학 +물음 +물질 +물체 +미국 +미디어 +미사일 +미술 +미역 +미용실 +미움 +미인 +미팅 +미혼 +민간 +민족 +민주 +믿음 +밀가루 +밀리미터 +밑바닥 +바가지 +바구니 +바나나 +바늘 +바닥 +바닷가 +바람 +바이러스 +바탕 +박물관 +박사 +박수 +반대 +반드시 +반말 +반발 +반성 +반응 +반장 +반죽 +반지 +반찬 +받침 +발가락 +발걸음 +발견 +발달 +발레 +발목 +발바닥 +발생 +발음 +발자국 +발전 +발톱 +발표 +밤하늘 +밥그릇 +밥맛 +밥상 +밥솥 +방금 +방면 +방문 +방바닥 +방법 +방송 +방식 +방안 +방울 +방지 +방학 +방해 +방향 +배경 +배꼽 +배달 +배드민턴 +백두산 +백색 +백성 +백인 +백제 +백화점 +버릇 +버섯 +버튼 +번개 +번역 +번지 +번호 +벌금 +벌레 +벌써 +범위 +범인 +범죄 +법률 +법원 +법적 +법칙 +베이징 +벨트 +변경 +변동 +변명 +변신 +변호사 +변화 +별도 +별명 +별일 +병실 +병아리 +병원 +보관 +보너스 +보라색 +보람 +보름 +보상 +보안 +보자기 +보장 +보전 +보존 +보통 +보편적 +보험 +복도 +복사 +복숭아 +복습 +볶음 +본격적 +본래 +본부 +본사 +본성 +본인 +본질 +볼펜 +봉사 +봉지 +봉투 +부근 +부끄러움 +부담 +부동산 +부문 +부분 +부산 +부상 +부엌 +부인 +부작용 +부장 +부정 +부족 +부지런히 +부친 +부탁 +부품 +부회장 +북부 +북한 +분노 +분량 +분리 +분명 +분석 +분야 +분위기 +분필 +분홍색 +불고기 +불과 +불교 +불꽃 +불만 +불법 +불빛 +불안 +불이익 +불행 +브랜드 +비극 +비난 +비닐 +비둘기 +비디오 +비로소 +비만 +비명 +비밀 +비바람 +비빔밥 +비상 +비용 +비율 +비중 +비타민 +비판 +빌딩 +빗물 +빗방울 +빗줄기 +빛깔 +빨간색 +빨래 +빨리 +사건 +사계절 +사나이 +사냥 +사람 +사랑 +사립 +사모님 +사물 +사방 +사상 +사생활 +사설 +사슴 +사실 +사업 +사용 +사월 +사장 +사전 +사진 +사촌 +사춘기 +사탕 +사투리 +사흘 +산길 +산부인과 +산업 +산책 +살림 +살인 +살짝 +삼계탕 +삼국 +삼십 +삼월 +삼촌 +상관 +상금 +상대 +상류 +상반기 +상상 +상식 +상업 +상인 +상자 +상점 +상처 +상추 +상태 +상표 +상품 +상황 +새벽 +색깔 +색연필 +생각 +생명 +생물 +생방송 +생산 +생선 +생신 +생일 +생활 +서랍 +서른 +서명 +서민 +서비스 +서양 +서울 +서적 +서점 +서쪽 +서클 +석사 +석유 +선거 +선물 +선배 +선생 +선수 +선원 +선장 +선전 +선택 +선풍기 +설거지 +설날 +설렁탕 +설명 +설문 +설사 +설악산 +설치 +설탕 +섭씨 +성공 +성당 +성명 +성별 +성인 +성장 +성적 +성질 +성함 +세금 +세미나 +세상 +세월 +세종대왕 +세탁 +센터 +센티미터 +셋째 +소규모 +소극적 +소금 +소나기 +소년 +소득 +소망 +소문 +소설 +소속 +소아과 +소용 +소원 +소음 +소중히 +소지품 +소질 +소풍 +소형 +속담 +속도 +속옷 +손가락 +손길 +손녀 +손님 +손등 +손목 +손뼉 +손실 +손질 +손톱 +손해 +솔직히 +솜씨 +송아지 +송이 +송편 +쇠고기 +쇼핑 +수건 +수년 +수단 +수돗물 +수동적 +수면 +수명 +수박 +수상 +수석 +수술 +수시로 +수업 +수염 +수영 +수입 +수준 +수집 +수출 +수컷 +수필 +수학 +수험생 +수화기 +숙녀 +숙소 +숙제 +순간 +순서 +순수 +순식간 +순위 +숟가락 +술병 +술집 +숫자 +스님 +스물 +스스로 +스승 +스웨터 +스위치 +스케이트 +스튜디오 +스트레스 +스포츠 +슬쩍 +슬픔 +습관 +습기 +승객 +승리 +승부 +승용차 +승진 +시각 +시간 +시골 +시금치 +시나리오 +시댁 +시리즈 +시멘트 +시민 +시부모 +시선 +시설 +시스템 +시아버지 +시어머니 +시월 +시인 +시일 +시작 +시장 +시절 +시점 +시중 +시즌 +시집 +시청 +시합 +시험 +식구 +식기 +식당 +식량 +식료품 +식물 +식빵 +식사 +식생활 +식초 +식탁 +식품 +신고 +신규 +신념 +신문 +신발 +신비 +신사 +신세 +신용 +신제품 +신청 +신체 +신화 +실감 +실내 +실력 +실례 +실망 +실수 +실습 +실시 +실장 +실정 +실질적 +실천 +실체 +실컷 +실태 +실패 +실험 +실현 +심리 +심부름 +심사 +심장 +심정 +심판 +쌍둥이 +씨름 +씨앗 +아가씨 +아나운서 +아드님 +아들 +아쉬움 +아스팔트 +아시아 +아울러 +아저씨 +아줌마 +아직 +아침 +아파트 +아프리카 +아픔 +아홉 +아흔 +악기 +악몽 +악수 +안개 +안경 +안과 +안내 +안녕 +안동 +안방 +안부 +안주 +알루미늄 +알코올 +암시 +암컷 +압력 +앞날 +앞문 +애인 +애정 +액수 +앨범 +야간 +야단 +야옹 +약간 +약국 +약속 +약수 +약점 +약품 +약혼녀 +양념 +양력 +양말 +양배추 +양주 +양파 +어둠 +어려움 +어른 +어젯밤 +어쨌든 +어쩌다가 +어쩐지 +언니 +언덕 +언론 +언어 +얼굴 +얼른 +얼음 +얼핏 +엄마 +업무 +업종 +업체 +엉덩이 +엉망 +엉터리 +엊그제 +에너지 +에어컨 +엔진 +여건 +여고생 +여관 +여군 +여권 +여대생 +여덟 +여동생 +여든 +여론 +여름 +여섯 +여성 +여왕 +여인 +여전히 +여직원 +여학생 +여행 +역사 +역시 +역할 +연결 +연구 +연극 +연기 +연락 +연설 +연세 +연속 +연습 +연애 +연예인 +연인 +연장 +연주 +연출 +연필 +연합 +연휴 +열기 +열매 +열쇠 +열심히 +열정 +열차 +열흘 +염려 +엽서 +영국 +영남 +영상 +영양 +영역 +영웅 +영원히 +영하 +영향 +영혼 +영화 +옆구리 +옆방 +옆집 +예감 +예금 +예방 +예산 +예상 +예선 +예술 +예습 +예식장 +예약 +예전 +예절 +예정 +예컨대 +옛날 +오늘 +오락 +오랫동안 +오렌지 +오로지 +오른발 +오븐 +오십 +오염 +오월 +오전 +오직 +오징어 +오페라 +오피스텔 +오히려 +옥상 +옥수수 +온갖 +온라인 +온몸 +온종일 +온통 +올가을 +올림픽 +올해 +옷차림 +와이셔츠 +와인 +완성 +완전 +왕비 +왕자 +왜냐하면 +왠지 +외갓집 +외국 +외로움 +외삼촌 +외출 +외침 +외할머니 +왼발 +왼손 +왼쪽 +요금 +요일 +요즘 +요청 +용기 +용서 +용어 +우산 +우선 +우승 +우연히 +우정 +우체국 +우편 +운동 +운명 +운반 +운전 +운행 +울산 +울음 +움직임 +웃어른 +웃음 +워낙 +원고 +원래 +원서 +원숭이 +원인 +원장 +원피스 +월급 +월드컵 +월세 +월요일 +웨이터 +위반 +위법 +위성 +위원 +위험 +위협 +윗사람 +유난히 +유럽 +유명 +유물 +유산 +유적 +유치원 +유학 +유행 +유형 +육군 +육상 +육십 +육체 +은행 +음력 +음료 +음반 +음성 +음식 +음악 +음주 +의견 +의논 +의문 +의복 +의식 +의심 +의외로 +의욕 +의원 +의학 +이것 +이곳 +이념 +이놈 +이달 +이대로 +이동 +이렇게 +이력서 +이론적 +이름 +이민 +이발소 +이별 +이불 +이빨 +이상 +이성 +이슬 +이야기 +이용 +이웃 +이월 +이윽고 +이익 +이전 +이중 +이튿날 +이틀 +이혼 +인간 +인격 +인공 +인구 +인근 +인기 +인도 +인류 +인물 +인생 +인쇄 +인연 +인원 +인재 +인종 +인천 +인체 +인터넷 +인하 +인형 +일곱 +일기 +일단 +일대 +일등 +일반 +일본 +일부 +일상 +일생 +일손 +일요일 +일월 +일정 +일종 +일주일 +일찍 +일체 +일치 +일행 +일회용 +임금 +임무 +입대 +입력 +입맛 +입사 +입술 +입시 +입원 +입장 +입학 +자가용 +자격 +자극 +자동 +자랑 +자부심 +자식 +자신 +자연 +자원 +자율 +자전거 +자정 +자존심 +자판 +작가 +작년 +작성 +작업 +작용 +작은딸 +작품 +잔디 +잔뜩 +잔치 +잘못 +잠깐 +잠수함 +잠시 +잠옷 +잠자리 +잡지 +장관 +장군 +장기간 +장래 +장례 +장르 +장마 +장면 +장모 +장미 +장비 +장사 +장소 +장식 +장애인 +장인 +장점 +장차 +장학금 +재능 +재빨리 +재산 +재생 +재작년 +재정 +재채기 +재판 +재학 +재활용 +저것 +저고리 +저곳 +저녁 +저런 +저렇게 +저번 +저울 +저절로 +저축 +적극 +적당히 +적성 +적용 +적응 +전개 +전공 +전기 +전달 +전라도 +전망 +전문 +전반 +전부 +전세 +전시 +전용 +전자 +전쟁 +전주 +전철 +전체 +전통 +전혀 +전후 +절대 +절망 +절반 +절약 +절차 +점검 +점수 +점심 +점원 +점점 +점차 +접근 +접시 +접촉 +젓가락 +정거장 +정도 +정류장 +정리 +정말 +정면 +정문 +정반대 +정보 +정부 +정비 +정상 +정성 +정오 +정원 +정장 +정지 +정치 +정확히 +제공 +제과점 +제대로 +제목 +제발 +제법 +제삿날 +제안 +제일 +제작 +제주도 +제출 +제품 +제한 +조각 +조건 +조금 +조깅 +조명 +조미료 +조상 +조선 +조용히 +조절 +조정 +조직 +존댓말 +존재 +졸업 +졸음 +종교 +종로 +종류 +종소리 +종업원 +종종 +종합 +좌석 +죄인 +주관적 +주름 +주말 +주머니 +주먹 +주문 +주민 +주방 +주변 +주식 +주인 +주일 +주장 +주전자 +주택 +준비 +줄거리 +줄기 +줄무늬 +중간 +중계방송 +중국 +중년 +중단 +중독 +중반 +중부 +중세 +중소기업 +중순 +중앙 +중요 +중학교 +즉석 +즉시 +즐거움 +증가 +증거 +증권 +증상 +증세 +지각 +지갑 +지경 +지극히 +지금 +지급 +지능 +지름길 +지리산 +지방 +지붕 +지식 +지역 +지우개 +지원 +지적 +지점 +지진 +지출 +직선 +직업 +직원 +직장 +진급 +진동 +진로 +진료 +진리 +진짜 +진찰 +진출 +진통 +진행 +질문 +질병 +질서 +짐작 +집단 +집안 +집중 +짜증 +찌꺼기 +차남 +차라리 +차량 +차림 +차별 +차선 +차츰 +착각 +찬물 +찬성 +참가 +참기름 +참새 +참석 +참여 +참외 +참조 +찻잔 +창가 +창고 +창구 +창문 +창밖 +창작 +창조 +채널 +채점 +책가방 +책방 +책상 +책임 +챔피언 +처벌 +처음 +천국 +천둥 +천장 +천재 +천천히 +철도 +철저히 +철학 +첫날 +첫째 +청년 +청바지 +청소 +청춘 +체계 +체력 +체온 +체육 +체중 +체험 +초등학생 +초반 +초밥 +초상화 +초순 +초여름 +초원 +초저녁 +초점 +초청 +초콜릿 +촛불 +총각 +총리 +총장 +촬영 +최근 +최상 +최선 +최신 +최악 +최종 +추석 +추억 +추진 +추천 +추측 +축구 +축소 +축제 +축하 +출근 +출발 +출산 +출신 +출연 +출입 +출장 +출판 +충격 +충고 +충돌 +충분히 +충청도 +취업 +취직 +취향 +치약 +친구 +친척 +칠십 +칠월 +칠판 +침대 +침묵 +침실 +칫솔 +칭찬 +카메라 +카운터 +칼국수 +캐릭터 +캠퍼스 +캠페인 +커튼 +컨디션 +컬러 +컴퓨터 +코끼리 +코미디 +콘서트 +콜라 +콤플렉스 +콩나물 +쾌감 +쿠데타 +크림 +큰길 +큰딸 +큰소리 +큰아들 +큰어머니 +큰일 +큰절 +클래식 +클럽 +킬로 +타입 +타자기 +탁구 +탁자 +탄생 +태권도 +태양 +태풍 +택시 +탤런트 +터널 +터미널 +테니스 +테스트 +테이블 +텔레비전 +토론 +토마토 +토요일 +통계 +통과 +통로 +통신 +통역 +통일 +통장 +통제 +통증 +통합 +통화 +퇴근 +퇴원 +퇴직금 +튀김 +트럭 +특급 +특별 +특성 +특수 +특징 +특히 +튼튼히 +티셔츠 +파란색 +파일 +파출소 +판결 +판단 +판매 +판사 +팔십 +팔월 +팝송 +패션 +팩스 +팩시밀리 +팬티 +퍼센트 +페인트 +편견 +편의 +편지 +편히 +평가 +평균 +평생 +평소 +평양 +평일 +평화 +포스터 +포인트 +포장 +포함 +표면 +표정 +표준 +표현 +품목 +품질 +풍경 +풍속 +풍습 +프랑스 +프린터 +플라스틱 +피곤 +피망 +피아노 +필름 +필수 +필요 +필자 +필통 +핑계 +하느님 +하늘 +하드웨어 +하룻밤 +하반기 +하숙집 +하순 +하여튼 +하지만 +하천 +하품 +하필 +학과 +학교 +학급 +학기 +학년 +학력 +학번 +학부모 +학비 +학생 +학술 +학습 +학용품 +학원 +학위 +학자 +학점 +한계 +한글 +한꺼번에 +한낮 +한눈 +한동안 +한때 +한라산 +한마디 +한문 +한번 +한복 +한식 +한여름 +한쪽 +할머니 +할아버지 +할인 +함께 +함부로 +합격 +합리적 +항공 +항구 +항상 +항의 +해결 +해군 +해답 +해당 +해물 +해석 +해설 +해수욕장 +해안 +핵심 +핸드백 +햄버거 +햇볕 +햇살 +행동 +행복 +행사 +행운 +행위 +향기 +향상 +향수 +허락 +허용 +헬기 +현관 +현금 +현대 +현상 +현실 +현장 +현재 +현지 +혈액 +협력 +형부 +형사 +형수 +형식 +형제 +형태 +형편 +혜택 +호기심 +호남 +호랑이 +호박 +호텔 +호흡 +혹시 +홀로 +홈페이지 +홍보 +홍수 +홍차 +화면 +화분 +화살 +화요일 +화장 +화학 +확보 +확인 +확장 +확정 +환갑 +환경 +환영 +환율 +환자 +활기 +활동 +활발히 +활용 +활짝 +회견 +회관 +회복 +회색 +회원 +회장 +회전 +횟수 +횡단보도 +효율적 +후반 +후춧가루 +훈련 +훨씬 +휴식 +휴일 +흉내 +흐름 +흑백 +흑인 +흔적 +흔히 +흥미 +흥분 +희곡 +희망 +희생 +흰색 +힘껏 +` diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/spanish.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/spanish.go new file mode 100644 index 00000000..ad76da97 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip39/wordlists/spanish.go @@ -0,0 +1,2071 @@ +package wordlists + +import ( + "fmt" + "hash/crc32" + "strings" +) + +func init() { + // Ensure word list is correct + // $ wget https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/spanish.txt + // $ crc32 spanish.txt + // 266e4f3d + checksum := crc32.ChecksumIEEE([]byte(spanish)) + if fmt.Sprintf("%x", checksum) != "266e4f3d" { + panic("spanish checksum invalid") + } +} + +// Spanish is a slice of mnemonic words taken from the bip39 specification +// https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/spanish.txt +var Spanish = strings.Split(strings.TrimSpace(spanish), "\n") +var spanish = `ábaco +abdomen +abeja +abierto +abogado +abono +aborto +abrazo +abrir +abuelo +abuso +acabar +academia +acceso +acción +aceite +acelga +acento +aceptar +ácido +aclarar +acné +acoger +acoso +activo +acto +actriz +actuar +acudir +acuerdo +acusar +adicto +admitir +adoptar +adorno +aduana +adulto +aéreo +afectar +afición +afinar +afirmar +ágil +agitar +agonía +agosto +agotar +agregar +agrio +agua +agudo +águila +aguja +ahogo +ahorro +aire +aislar +ajedrez +ajeno +ajuste +alacrán +alambre +alarma +alba +álbum +alcalde +aldea +alegre +alejar +alerta +aleta +alfiler +alga +algodón +aliado +aliento +alivio +alma +almeja +almíbar +altar +alteza +altivo +alto +altura +alumno +alzar +amable +amante +amapola +amargo +amasar +ámbar +ámbito +ameno +amigo +amistad +amor +amparo +amplio +ancho +anciano +ancla +andar +andén +anemia +ángulo +anillo +ánimo +anís +anotar +antena +antiguo +antojo +anual +anular +anuncio +añadir +añejo +año +apagar +aparato +apetito +apio +aplicar +apodo +aporte +apoyo +aprender +aprobar +apuesta +apuro +arado +araña +arar +árbitro +árbol +arbusto +archivo +arco +arder +ardilla +arduo +área +árido +aries +armonía +arnés +aroma +arpa +arpón +arreglo +arroz +arruga +arte +artista +asa +asado +asalto +ascenso +asegurar +aseo +asesor +asiento +asilo +asistir +asno +asombro +áspero +astilla +astro +astuto +asumir +asunto +atajo +ataque +atar +atento +ateo +ático +atleta +átomo +atraer +atroz +atún +audaz +audio +auge +aula +aumento +ausente +autor +aval +avance +avaro +ave +avellana +avena +avestruz +avión +aviso +ayer +ayuda +ayuno +azafrán +azar +azote +azúcar +azufre +azul +baba +babor +bache +bahía +baile +bajar +balanza +balcón +balde +bambú +banco +banda +baño +barba +barco +barniz +barro +báscula +bastón +basura +batalla +batería +batir +batuta +baúl +bazar +bebé +bebida +bello +besar +beso +bestia +bicho +bien +bingo +blanco +bloque +blusa +boa +bobina +bobo +boca +bocina +boda +bodega +boina +bola +bolero +bolsa +bomba +bondad +bonito +bono +bonsái +borde +borrar +bosque +bote +botín +bóveda +bozal +bravo +brazo +brecha +breve +brillo +brinco +brisa +broca +broma +bronce +brote +bruja +brusco +bruto +buceo +bucle +bueno +buey +bufanda +bufón +búho +buitre +bulto +burbuja +burla +burro +buscar +butaca +buzón +caballo +cabeza +cabina +cabra +cacao +cadáver +cadena +caer +café +caída +caimán +caja +cajón +cal +calamar +calcio +caldo +calidad +calle +calma +calor +calvo +cama +cambio +camello +camino +campo +cáncer +candil +canela +canguro +canica +canto +caña +cañón +caoba +caos +capaz +capitán +capote +captar +capucha +cara +carbón +cárcel +careta +carga +cariño +carne +carpeta +carro +carta +casa +casco +casero +caspa +castor +catorce +catre +caudal +causa +cazo +cebolla +ceder +cedro +celda +célebre +celoso +célula +cemento +ceniza +centro +cerca +cerdo +cereza +cero +cerrar +certeza +césped +cetro +chacal +chaleco +champú +chancla +chapa +charla +chico +chiste +chivo +choque +choza +chuleta +chupar +ciclón +ciego +cielo +cien +cierto +cifra +cigarro +cima +cinco +cine +cinta +ciprés +circo +ciruela +cisne +cita +ciudad +clamor +clan +claro +clase +clave +cliente +clima +clínica +cobre +cocción +cochino +cocina +coco +código +codo +cofre +coger +cohete +cojín +cojo +cola +colcha +colegio +colgar +colina +collar +colmo +columna +combate +comer +comida +cómodo +compra +conde +conejo +conga +conocer +consejo +contar +copa +copia +corazón +corbata +corcho +cordón +corona +correr +coser +cosmos +costa +cráneo +cráter +crear +crecer +creído +crema +cría +crimen +cripta +crisis +cromo +crónica +croqueta +crudo +cruz +cuadro +cuarto +cuatro +cubo +cubrir +cuchara +cuello +cuento +cuerda +cuesta +cueva +cuidar +culebra +culpa +culto +cumbre +cumplir +cuna +cuneta +cuota +cupón +cúpula +curar +curioso +curso +curva +cutis +dama +danza +dar +dardo +dátil +deber +débil +década +decir +dedo +defensa +definir +dejar +delfín +delgado +delito +demora +denso +dental +deporte +derecho +derrota +desayuno +deseo +desfile +desnudo +destino +desvío +detalle +detener +deuda +día +diablo +diadema +diamante +diana +diario +dibujo +dictar +diente +dieta +diez +difícil +digno +dilema +diluir +dinero +directo +dirigir +disco +diseño +disfraz +diva +divino +doble +doce +dolor +domingo +don +donar +dorado +dormir +dorso +dos +dosis +dragón +droga +ducha +duda +duelo +dueño +dulce +dúo +duque +durar +dureza +duro +ébano +ebrio +echar +eco +ecuador +edad +edición +edificio +editor +educar +efecto +eficaz +eje +ejemplo +elefante +elegir +elemento +elevar +elipse +élite +elixir +elogio +eludir +embudo +emitir +emoción +empate +empeño +empleo +empresa +enano +encargo +enchufe +encía +enemigo +enero +enfado +enfermo +engaño +enigma +enlace +enorme +enredo +ensayo +enseñar +entero +entrar +envase +envío +época +equipo +erizo +escala +escena +escolar +escribir +escudo +esencia +esfera +esfuerzo +espada +espejo +espía +esposa +espuma +esquí +estar +este +estilo +estufa +etapa +eterno +ética +etnia +evadir +evaluar +evento +evitar +exacto +examen +exceso +excusa +exento +exigir +exilio +existir +éxito +experto +explicar +exponer +extremo +fábrica +fábula +fachada +fácil +factor +faena +faja +falda +fallo +falso +faltar +fama +familia +famoso +faraón +farmacia +farol +farsa +fase +fatiga +fauna +favor +fax +febrero +fecha +feliz +feo +feria +feroz +fértil +fervor +festín +fiable +fianza +fiar +fibra +ficción +ficha +fideo +fiebre +fiel +fiera +fiesta +figura +fijar +fijo +fila +filete +filial +filtro +fin +finca +fingir +finito +firma +flaco +flauta +flecha +flor +flota +fluir +flujo +flúor +fobia +foca +fogata +fogón +folio +folleto +fondo +forma +forro +fortuna +forzar +fosa +foto +fracaso +frágil +franja +frase +fraude +freír +freno +fresa +frío +frito +fruta +fuego +fuente +fuerza +fuga +fumar +función +funda +furgón +furia +fusil +fútbol +futuro +gacela +gafas +gaita +gajo +gala +galería +gallo +gamba +ganar +gancho +ganga +ganso +garaje +garza +gasolina +gastar +gato +gavilán +gemelo +gemir +gen +género +genio +gente +geranio +gerente +germen +gesto +gigante +gimnasio +girar +giro +glaciar +globo +gloria +gol +golfo +goloso +golpe +goma +gordo +gorila +gorra +gota +goteo +gozar +grada +gráfico +grano +grasa +gratis +grave +grieta +grillo +gripe +gris +grito +grosor +grúa +grueso +grumo +grupo +guante +guapo +guardia +guerra +guía +guiño +guion +guiso +guitarra +gusano +gustar +haber +hábil +hablar +hacer +hacha +hada +hallar +hamaca +harina +haz +hazaña +hebilla +hebra +hecho +helado +helio +hembra +herir +hermano +héroe +hervir +hielo +hierro +hígado +higiene +hijo +himno +historia +hocico +hogar +hoguera +hoja +hombre +hongo +honor +honra +hora +hormiga +horno +hostil +hoyo +hueco +huelga +huerta +hueso +huevo +huida +huir +humano +húmedo +humilde +humo +hundir +huracán +hurto +icono +ideal +idioma +ídolo +iglesia +iglú +igual +ilegal +ilusión +imagen +imán +imitar +impar +imperio +imponer +impulso +incapaz +índice +inerte +infiel +informe +ingenio +inicio +inmenso +inmune +innato +insecto +instante +interés +íntimo +intuir +inútil +invierno +ira +iris +ironía +isla +islote +jabalí +jabón +jamón +jarabe +jardín +jarra +jaula +jazmín +jefe +jeringa +jinete +jornada +joroba +joven +joya +juerga +jueves +juez +jugador +jugo +juguete +juicio +junco +jungla +junio +juntar +júpiter +jurar +justo +juvenil +juzgar +kilo +koala +labio +lacio +lacra +lado +ladrón +lagarto +lágrima +laguna +laico +lamer +lámina +lámpara +lana +lancha +langosta +lanza +lápiz +largo +larva +lástima +lata +látex +latir +laurel +lavar +lazo +leal +lección +leche +lector +leer +legión +legumbre +lejano +lengua +lento +leña +león +leopardo +lesión +letal +letra +leve +leyenda +libertad +libro +licor +líder +lidiar +lienzo +liga +ligero +lima +límite +limón +limpio +lince +lindo +línea +lingote +lino +linterna +líquido +liso +lista +litera +litio +litro +llaga +llama +llanto +llave +llegar +llenar +llevar +llorar +llover +lluvia +lobo +loción +loco +locura +lógica +logro +lombriz +lomo +lonja +lote +lucha +lucir +lugar +lujo +luna +lunes +lupa +lustro +luto +luz +maceta +macho +madera +madre +maduro +maestro +mafia +magia +mago +maíz +maldad +maleta +malla +malo +mamá +mambo +mamut +manco +mando +manejar +manga +maniquí +manjar +mano +manso +manta +mañana +mapa +máquina +mar +marco +marea +marfil +margen +marido +mármol +marrón +martes +marzo +masa +máscara +masivo +matar +materia +matiz +matriz +máximo +mayor +mazorca +mecha +medalla +medio +médula +mejilla +mejor +melena +melón +memoria +menor +mensaje +mente +menú +mercado +merengue +mérito +mes +mesón +meta +meter +método +metro +mezcla +miedo +miel +miembro +miga +mil +milagro +militar +millón +mimo +mina +minero +mínimo +minuto +miope +mirar +misa +miseria +misil +mismo +mitad +mito +mochila +moción +moda +modelo +moho +mojar +molde +moler +molino +momento +momia +monarca +moneda +monja +monto +moño +morada +morder +moreno +morir +morro +morsa +mortal +mosca +mostrar +motivo +mover +móvil +mozo +mucho +mudar +mueble +muela +muerte +muestra +mugre +mujer +mula +muleta +multa +mundo +muñeca +mural +muro +músculo +museo +musgo +música +muslo +nácar +nación +nadar +naipe +naranja +nariz +narrar +nasal +natal +nativo +natural +náusea +naval +nave +navidad +necio +néctar +negar +negocio +negro +neón +nervio +neto +neutro +nevar +nevera +nicho +nido +niebla +nieto +niñez +niño +nítido +nivel +nobleza +noche +nómina +noria +norma +norte +nota +noticia +novato +novela +novio +nube +nuca +núcleo +nudillo +nudo +nuera +nueve +nuez +nulo +número +nutria +oasis +obeso +obispo +objeto +obra +obrero +observar +obtener +obvio +oca +ocaso +océano +ochenta +ocho +ocio +ocre +octavo +octubre +oculto +ocupar +ocurrir +odiar +odio +odisea +oeste +ofensa +oferta +oficio +ofrecer +ogro +oído +oír +ojo +ola +oleada +olfato +olivo +olla +olmo +olor +olvido +ombligo +onda +onza +opaco +opción +ópera +opinar +oponer +optar +óptica +opuesto +oración +orador +oral +órbita +orca +orden +oreja +órgano +orgía +orgullo +oriente +origen +orilla +oro +orquesta +oruga +osadía +oscuro +osezno +oso +ostra +otoño +otro +oveja +óvulo +óxido +oxígeno +oyente +ozono +pacto +padre +paella +página +pago +país +pájaro +palabra +palco +paleta +pálido +palma +paloma +palpar +pan +panal +pánico +pantera +pañuelo +papá +papel +papilla +paquete +parar +parcela +pared +parir +paro +párpado +parque +párrafo +parte +pasar +paseo +pasión +paso +pasta +pata +patio +patria +pausa +pauta +pavo +payaso +peatón +pecado +pecera +pecho +pedal +pedir +pegar +peine +pelar +peldaño +pelea +peligro +pellejo +pelo +peluca +pena +pensar +peñón +peón +peor +pepino +pequeño +pera +percha +perder +pereza +perfil +perico +perla +permiso +perro +persona +pesa +pesca +pésimo +pestaña +pétalo +petróleo +pez +pezuña +picar +pichón +pie +piedra +pierna +pieza +pijama +pilar +piloto +pimienta +pino +pintor +pinza +piña +piojo +pipa +pirata +pisar +piscina +piso +pista +pitón +pizca +placa +plan +plata +playa +plaza +pleito +pleno +plomo +pluma +plural +pobre +poco +poder +podio +poema +poesía +poeta +polen +policía +pollo +polvo +pomada +pomelo +pomo +pompa +poner +porción +portal +posada +poseer +posible +poste +potencia +potro +pozo +prado +precoz +pregunta +premio +prensa +preso +previo +primo +príncipe +prisión +privar +proa +probar +proceso +producto +proeza +profesor +programa +prole +promesa +pronto +propio +próximo +prueba +público +puchero +pudor +pueblo +puerta +puesto +pulga +pulir +pulmón +pulpo +pulso +puma +punto +puñal +puño +pupa +pupila +puré +quedar +queja +quemar +querer +queso +quieto +química +quince +quitar +rábano +rabia +rabo +ración +radical +raíz +rama +rampa +rancho +rango +rapaz +rápido +rapto +rasgo +raspa +rato +rayo +raza +razón +reacción +realidad +rebaño +rebote +recaer +receta +rechazo +recoger +recreo +recto +recurso +red +redondo +reducir +reflejo +reforma +refrán +refugio +regalo +regir +regla +regreso +rehén +reino +reír +reja +relato +relevo +relieve +relleno +reloj +remar +remedio +remo +rencor +rendir +renta +reparto +repetir +reposo +reptil +res +rescate +resina +respeto +resto +resumen +retiro +retorno +retrato +reunir +revés +revista +rey +rezar +rico +riego +rienda +riesgo +rifa +rígido +rigor +rincón +riñón +río +riqueza +risa +ritmo +rito +rizo +roble +roce +rociar +rodar +rodeo +rodilla +roer +rojizo +rojo +romero +romper +ron +ronco +ronda +ropa +ropero +rosa +rosca +rostro +rotar +rubí +rubor +rudo +rueda +rugir +ruido +ruina +ruleta +rulo +rumbo +rumor +ruptura +ruta +rutina +sábado +saber +sabio +sable +sacar +sagaz +sagrado +sala +saldo +salero +salir +salmón +salón +salsa +salto +salud +salvar +samba +sanción +sandía +sanear +sangre +sanidad +sano +santo +sapo +saque +sardina +sartén +sastre +satán +sauna +saxofón +sección +seco +secreto +secta +sed +seguir +seis +sello +selva +semana +semilla +senda +sensor +señal +señor +separar +sepia +sequía +ser +serie +sermón +servir +sesenta +sesión +seta +setenta +severo +sexo +sexto +sidra +siesta +siete +siglo +signo +sílaba +silbar +silencio +silla +símbolo +simio +sirena +sistema +sitio +situar +sobre +socio +sodio +sol +solapa +soldado +soledad +sólido +soltar +solución +sombra +sondeo +sonido +sonoro +sonrisa +sopa +soplar +soporte +sordo +sorpresa +sorteo +sostén +sótano +suave +subir +suceso +sudor +suegra +suelo +sueño +suerte +sufrir +sujeto +sultán +sumar +superar +suplir +suponer +supremo +sur +surco +sureño +surgir +susto +sutil +tabaco +tabique +tabla +tabú +taco +tacto +tajo +talar +talco +talento +talla +talón +tamaño +tambor +tango +tanque +tapa +tapete +tapia +tapón +taquilla +tarde +tarea +tarifa +tarjeta +tarot +tarro +tarta +tatuaje +tauro +taza +tazón +teatro +techo +tecla +técnica +tejado +tejer +tejido +tela +teléfono +tema +temor +templo +tenaz +tender +tener +tenis +tenso +teoría +terapia +terco +término +ternura +terror +tesis +tesoro +testigo +tetera +texto +tez +tibio +tiburón +tiempo +tienda +tierra +tieso +tigre +tijera +tilde +timbre +tímido +timo +tinta +tío +típico +tipo +tira +tirón +titán +títere +título +tiza +toalla +tobillo +tocar +tocino +todo +toga +toldo +tomar +tono +tonto +topar +tope +toque +tórax +torero +tormenta +torneo +toro +torpedo +torre +torso +tortuga +tos +tosco +toser +tóxico +trabajo +tractor +traer +tráfico +trago +traje +tramo +trance +trato +trauma +trazar +trébol +tregua +treinta +tren +trepar +tres +tribu +trigo +tripa +triste +triunfo +trofeo +trompa +tronco +tropa +trote +trozo +truco +trueno +trufa +tubería +tubo +tuerto +tumba +tumor +túnel +túnica +turbina +turismo +turno +tutor +ubicar +úlcera +umbral +unidad +unir +universo +uno +untar +uña +urbano +urbe +urgente +urna +usar +usuario +útil +utopía +uva +vaca +vacío +vacuna +vagar +vago +vaina +vajilla +vale +válido +valle +valor +válvula +vampiro +vara +variar +varón +vaso +vecino +vector +vehículo +veinte +vejez +vela +velero +veloz +vena +vencer +venda +veneno +vengar +venir +venta +venus +ver +verano +verbo +verde +vereda +verja +verso +verter +vía +viaje +vibrar +vicio +víctima +vida +vídeo +vidrio +viejo +viernes +vigor +vil +villa +vinagre +vino +viñedo +violín +viral +virgo +virtud +visor +víspera +vista +vitamina +viudo +vivaz +vivero +vivir +vivo +volcán +volumen +volver +voraz +votar +voto +voz +vuelo +vulgar +yacer +yate +yegua +yema +yerno +yeso +yodo +yoga +yogur +zafiro +zanja +zapato +zarza +zona +zorro +zumo +zurdo +` diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bip44/bip44.go b/vendor/github.com/skycoin/skycoin/src/cipher/bip44/bip44.go new file mode 100644 index 00000000..49faceb3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bip44/bip44.go @@ -0,0 +1,93 @@ +/* +Package bip44 implements the bip44 spec https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki +*/ +package bip44 + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher/bip32" +) + +// Bip44's bip32 path: m / purpose' / coin_type' / account' / change / address_index + +var ( + // ErrInvalidCoinType coin_type is >= 0x80000000 + ErrInvalidCoinType = errors.New("invalid bip44 coin type") + + // ErrInvalidAccount account is >= 0x80000000 + ErrInvalidAccount = errors.New("bip44 account index must be < 0x80000000") +) + +// CoinType is the coin_type part of the bip44 path +type CoinType uint32 + +const ( + // CoinTypeBitcoin is the coin_type for Bitcoin + CoinTypeBitcoin CoinType = 0 + // CoinTypeBitcoinTestnet is the coin_type for Skycoin + CoinTypeBitcoinTestnet CoinType = 1 + // CoinTypeSkycoin is the coin_type for Skycoin + CoinTypeSkycoin CoinType = 8000 + + // ExternalChainIndex is the index of the external chain + ExternalChainIndex uint32 = 0 + // ChangeChainIndex is the index of the change chain + ChangeChainIndex uint32 = 1 +) + +// Coin is a bip32 node at the `coin_type` level of a bip44 path +type Coin struct { + *bip32.PrivateKey +} + +// NewCoin creates a bip32 node at the `coin_type` level of a bip44 path +func NewCoin(seed []byte, coinType CoinType) (*Coin, error) { + if uint32(coinType) >= bip32.FirstHardenedChild { + return nil, ErrInvalidCoinType + } + + path := fmt.Sprintf("m/44'/%d'", coinType) + pk, err := bip32.NewPrivateKeyFromPath(seed, path) + if err != nil { + return nil, err + } + + return &Coin{ + pk, + }, nil +} + +// Account creates a bip32 node at the `account'` level of the bip44 path. +// The account number should be as it would appear in the path string, without +// the apostrophe that indicates hardening +func (c *Coin) Account(account uint32) (*Account, error) { + if account >= bip32.FirstHardenedChild { + return nil, ErrInvalidAccount + } + + pk, err := c.NewPrivateChildKey(account + bip32.FirstHardenedChild) + if err != nil { + return nil, err + } + + return &Account{ + pk, + }, nil +} + +// Account is a bip32 node at the `account` level of a bip44 path +type Account struct { + *bip32.PrivateKey +} + +// External returns the external chain node, to be used for receiving coins +func (a *Account) External() (*bip32.PrivateKey, error) { + return a.NewPrivateChildKey(ExternalChainIndex) +} + +// Change returns the change chain node, to be used for change addresses +func (a *Account) Change() (*bip32.PrivateKey, error) { + return a.NewPrivateChildKey(ChangeChainIndex) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bitcoin.go b/vendor/github.com/skycoin/skycoin/src/cipher/bitcoin.go new file mode 100644 index 00000000..e601d5a2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bitcoin.go @@ -0,0 +1,195 @@ +package cipher + +import ( + "bytes" + "errors" + "log" + + "github.com/skycoin/skycoin/src/cipher/base58" +) + +var ( + // ErrInvalidLength Unexpected size of string or bytes buffer + ErrInvalidLength = errors.New("Invalid length") + // ErrBitcoinWIFInvalidFirstByte Unexpected value (!= 0x80) of first byte in Bitcoin Wallet Import Format + ErrBitcoinWIFInvalidFirstByte = errors.New("Bitcoin WIF: First byte invalid") + // ErrBitcoinWIFInvalidSuffix Unexpected value (!= 0x01) of 33rd byte in Bitcoin Wallet Import Format + ErrBitcoinWIFInvalidSuffix = errors.New("Bitcoin WIF: Invalid 33rd byte") + // ErrBitcoinWIFInvalidChecksum Invalid Checksum in Bitcoin WIF address + ErrBitcoinWIFInvalidChecksum = errors.New("Bitcoin WIF: Checksum fail") +) + +// BitcoinAddress is a bitcoin address +type BitcoinAddress struct { + Version byte // 1 byte + Key Ripemd160 // 20 byte pubkey hash +} + +// BitcoinPubKeyRipemd160 returns ripemd160(sha256(key)) +func BitcoinPubKeyRipemd160(pubKey PubKey) Ripemd160 { + r1 := SumSHA256(pubKey[:]) + return HashRipemd160(r1[:]) +} + +// BitcoinAddressFromPubKey creates a mainnet (version 0) BitcoinAddress from PubKey as ripemd160(sha256(pubkey))) +func BitcoinAddressFromPubKey(pubKey PubKey) BitcoinAddress { + return BitcoinAddress{ + Version: 0, + Key: BitcoinPubKeyRipemd160(pubKey), + } +} + +// BitcoinAddressFromSecKey generates a BitcoinAddress from SecKey +func BitcoinAddressFromSecKey(secKey SecKey) (BitcoinAddress, error) { + p, err := PubKeyFromSecKey(secKey) + if err != nil { + return BitcoinAddress{}, err + } + return BitcoinAddressFromPubKey(p), nil +} + +// MustBitcoinAddressFromSecKey generates a BitcoinAddress from SecKey, panics on error +func MustBitcoinAddressFromSecKey(secKey SecKey) BitcoinAddress { + return BitcoinAddressFromPubKey(MustPubKeyFromSecKey(secKey)) +} + +// DecodeBase58BitcoinAddress creates a BitcoinAddress from its base58 encoding +func DecodeBase58BitcoinAddress(addr string) (BitcoinAddress, error) { + b, err := base58.Decode(addr) + if err != nil { + return BitcoinAddress{}, err + } + return BitcoinAddressFromBytes(b) +} + +// MustDecodeBase58BitcoinAddress creates a BitcoinAddress from its base58 encoding, panics on error +func MustDecodeBase58BitcoinAddress(addr string) BitcoinAddress { + a, err := DecodeBase58BitcoinAddress(addr) + if err != nil { + log.Panicf("Invalid bitcoin address %s: %v", addr, err) + } + return a +} + +// BitcoinAddressFromBytes converts []byte to a BitcoinAddress. Only supports mainnet (version 0) addresses. +func BitcoinAddressFromBytes(b []byte) (BitcoinAddress, error) { + if len(b) != 20+1+4 { + return BitcoinAddress{}, ErrAddressInvalidLength + } + a := BitcoinAddress{} + copy(a.Key[0:20], b[1:21]) + a.Version = b[0] + + var checksum [4]byte + copy(checksum[0:4], b[21:25]) + + if checksum != a.Checksum() { + return BitcoinAddress{}, ErrAddressInvalidChecksum + } + + // BitcoinAddress only supports mainnet addresses for now + if a.Version != 0 { + return BitcoinAddress{}, ErrAddressInvalidVersion + } + + return a, nil +} + +// MustBitcoinAddressFromBytes converts []byte to a BitcoinAddress, panics on error +func MustBitcoinAddressFromBytes(b []byte) BitcoinAddress { + addr, err := BitcoinAddressFromBytes(b) + if err != nil { + log.Panic(err) + } + + return addr +} + +// Null returns true if the address is null (0x0000....) +func (addr BitcoinAddress) Null() bool { + return addr == BitcoinAddress{} +} + +// Bytes returns bitcoin address as byte slice +func (addr BitcoinAddress) Bytes() []byte { + b := make([]byte, 20+1+4) + b[0] = addr.Version + copy(b[1:21], addr.Key[0:20]) + chksum := addr.Checksum() + copy(b[21:25], chksum[0:4]) + return b +} + +// Verify checks that the bitcoin address appears valid for the public key +func (addr BitcoinAddress) Verify(key PubKey) error { + // BitcoinAddress only supports mainnet addresses for now + if addr.Version != 0x00 { + return ErrAddressInvalidVersion + } + if addr.Key != BitcoinPubKeyRipemd160(key) { + return ErrAddressInvalidPubKey + } + return nil +} + +// String convert bitcoin address to hex string +func (addr BitcoinAddress) String() string { + return string(base58.Encode(addr.Bytes())) +} + +// Checksum returns a bitcoin address Checksum which is the first 4 bytes of sha256(sha256(version+key)) +func (addr BitcoinAddress) Checksum() Checksum { + r1 := append([]byte{addr.Version}, addr.Key[:]...) + r2 := DoubleSHA256(r1[:]) + c := Checksum{} + copy(c[:], r2[:len(c)]) + return c +} + +// BitcoinWalletImportFormatFromSeckey exports seckey in wallet import format +// key must be compressed +func BitcoinWalletImportFormatFromSeckey(seckey SecKey) string { + b1 := append([]byte{byte(0x80)}, seckey[:]...) + b2 := append(b1[:], []byte{0x01}...) + b3 := DoubleSHA256(b2) //checksum + b4 := append(b2, b3[0:4]...) + return string(base58.Encode(b4)) +} + +// SecKeyFromBitcoinWalletImportFormat extracts a seckey from the bitcoin wallet import format +func SecKeyFromBitcoinWalletImportFormat(input string) (SecKey, error) { + b, err := base58.Decode(input) + if err != nil { + return SecKey{}, err + } + + //1+32+1+4 + if len(b) != 38 { + return SecKey{}, ErrInvalidLength + } + if b[0] != 0x80 { + return SecKey{}, ErrBitcoinWIFInvalidFirstByte + } + + if b[1+32] != 0x01 { + return SecKey{}, ErrBitcoinWIFInvalidSuffix + } + + b2 := DoubleSHA256(b[0:34]) + chksum := b[34:38] + + if !bytes.Equal(chksum, b2[0:4]) { + return SecKey{}, ErrBitcoinWIFInvalidChecksum + } + + return NewSecKey(b[1:33]) +} + +// MustSecKeyFromBitcoinWalletImportFormat extracts a seckey from the bitcoin wallet import format, panics on error +func MustSecKeyFromBitcoinWalletImportFormat(input string) SecKey { + seckey, err := SecKeyFromBitcoinWalletImportFormat(input) + if err != nil { + log.Panicf("MustSecKeyFromBitcoinWalletImportFormat, invalid seckey, %v", err) + } + return seckey +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305.go new file mode 100644 index 00000000..b3a33ae6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305.go @@ -0,0 +1,83 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package chacha20poly1305 implements the ChaCha20-Poly1305 AEAD as specified in RFC 7539. +package chacha20poly1305 // import "github.com/skycoin/skycoin/src/cipher/chacha20poly1305" + +import ( + "crypto/cipher" + "errors" +) + +const ( + // KeySize is the size of the key used by this AEAD, in bytes. + KeySize = 32 + // NonceSize is the size of the nonce used with this AEAD, in bytes. + NonceSize = 12 +) + +type chacha20poly1305 struct { + key [32]byte +} + +// New returns a ChaCha20-Poly1305 AEAD that uses the given, 256-bit key. +func New(key []byte) (cipher.AEAD, error) { + if len(key) != KeySize { + return nil, errors.New("chacha20poly1305: bad key length") + } + ret := new(chacha20poly1305) + copy(ret.key[:], key) + return ret, nil +} + +func (c *chacha20poly1305) NonceSize() int { + return NonceSize +} + +func (c *chacha20poly1305) Overhead() int { + return 16 +} + +func (c *chacha20poly1305) Seal(dst, nonce, plaintext, additionalData []byte) []byte { + if len(nonce) != NonceSize { + panic("chacha20poly1305: bad nonce length passed to Seal") + } + + if uint64(len(plaintext)) > (1<<38)-64 { + panic("chacha20poly1305: plaintext too large") + } + + return c.seal(dst, nonce, plaintext, additionalData) +} + +var errOpen = errors.New("chacha20poly1305: message authentication failed") + +func (c *chacha20poly1305) Open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + if len(nonce) != NonceSize { + panic("chacha20poly1305: bad nonce length passed to Open") + } + if len(ciphertext) < 16 { + return nil, errOpen + } + if uint64(len(ciphertext)) > (1<<38)-48 { + panic("chacha20poly1305: ciphertext too large") + } + + return c.open(dst, nonce, ciphertext, additionalData) +} + +// sliceForAppend takes a slice and a requested number of bytes. It returns a +// slice with the contents of the given slice followed by that many bytes and a +// second slice that aliases into it and contains only the extra bytes. If the +// original slice has sufficient capacity then no allocation is performed. +func sliceForAppend(in []byte, n int) (head, tail []byte) { + if total := len(in) + n; cap(in) >= total { + head = in[:total] + } else { + head = make([]byte, total) + copy(head, in) + } + tail = head[len(in):] + return +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_amd64.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_amd64.go new file mode 100644 index 00000000..7cd7ad83 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_amd64.go @@ -0,0 +1,127 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7,amd64,!gccgo,!appengine + +package chacha20poly1305 + +import "encoding/binary" + +//go:noescape +func chacha20Poly1305Open(dst []byte, key []uint32, src, ad []byte) bool + +//go:noescape +func chacha20Poly1305Seal(dst []byte, key []uint32, src, ad []byte) + +// cpuid is implemented in chacha20poly1305_amd64.s. +func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) + +// xgetbv with ecx = 0 is implemented in chacha20poly1305_amd64.s. +func xgetbv() (eax, edx uint32) + +var ( + useASM bool + useAVX2 bool +) + +func init() { + detectCPUFeatures() +} + +// detectCPUFeatures is used to detect if cpu instructions +// used by the functions implemented in assembler in +// chacha20poly1305_amd64.s are supported. +func detectCPUFeatures() { + maxID, _, _, _ := cpuid(0, 0) + if maxID < 1 { + return + } + + _, _, ecx1, _ := cpuid(1, 0) + + haveSSSE3 := isSet(9, ecx1) + useASM = haveSSSE3 + + haveOSXSAVE := isSet(27, ecx1) + + osSupportsAVX := false + // For XGETBV, OSXSAVE bit is required and sufficient. + if haveOSXSAVE { + eax, _ := xgetbv() + // Check if XMM and YMM registers have OS support. + osSupportsAVX = isSet(1, eax) && isSet(2, eax) + } + haveAVX := isSet(28, ecx1) && osSupportsAVX + + if maxID < 7 { + return + } + + _, ebx7, _, _ := cpuid(7, 0) + haveAVX2 := isSet(5, ebx7) && haveAVX + haveBMI2 := isSet(8, ebx7) + + useAVX2 = haveAVX2 && haveBMI2 +} + +// isSet checks if bit at bitpos is set in value. +func isSet(bitpos uint, value uint32) bool { + return value&(1<+0x00(SB)/4, $0x61707865 +DATA ·chacha20Constants<>+0x04(SB)/4, $0x3320646e +DATA ·chacha20Constants<>+0x08(SB)/4, $0x79622d32 +DATA ·chacha20Constants<>+0x0c(SB)/4, $0x6b206574 +DATA ·chacha20Constants<>+0x10(SB)/4, $0x61707865 +DATA ·chacha20Constants<>+0x14(SB)/4, $0x3320646e +DATA ·chacha20Constants<>+0x18(SB)/4, $0x79622d32 +DATA ·chacha20Constants<>+0x1c(SB)/4, $0x6b206574 +// <<< 16 with PSHUFB +DATA ·rol16<>+0x00(SB)/8, $0x0504070601000302 +DATA ·rol16<>+0x08(SB)/8, $0x0D0C0F0E09080B0A +DATA ·rol16<>+0x10(SB)/8, $0x0504070601000302 +DATA ·rol16<>+0x18(SB)/8, $0x0D0C0F0E09080B0A +// <<< 8 with PSHUFB +DATA ·rol8<>+0x00(SB)/8, $0x0605040702010003 +DATA ·rol8<>+0x08(SB)/8, $0x0E0D0C0F0A09080B +DATA ·rol8<>+0x10(SB)/8, $0x0605040702010003 +DATA ·rol8<>+0x18(SB)/8, $0x0E0D0C0F0A09080B + +DATA ·avx2InitMask<>+0x00(SB)/8, $0x0 +DATA ·avx2InitMask<>+0x08(SB)/8, $0x0 +DATA ·avx2InitMask<>+0x10(SB)/8, $0x1 +DATA ·avx2InitMask<>+0x18(SB)/8, $0x0 + +DATA ·avx2IncMask<>+0x00(SB)/8, $0x2 +DATA ·avx2IncMask<>+0x08(SB)/8, $0x0 +DATA ·avx2IncMask<>+0x10(SB)/8, $0x2 +DATA ·avx2IncMask<>+0x18(SB)/8, $0x0 +// Poly1305 key clamp +DATA ·polyClampMask<>+0x00(SB)/8, $0x0FFFFFFC0FFFFFFF +DATA ·polyClampMask<>+0x08(SB)/8, $0x0FFFFFFC0FFFFFFC +DATA ·polyClampMask<>+0x10(SB)/8, $0xFFFFFFFFFFFFFFFF +DATA ·polyClampMask<>+0x18(SB)/8, $0xFFFFFFFFFFFFFFFF + +DATA ·sseIncMask<>+0x00(SB)/8, $0x1 +DATA ·sseIncMask<>+0x08(SB)/8, $0x0 +// To load/store the last < 16 bytes in a buffer +DATA ·andMask<>+0x00(SB)/8, $0x00000000000000ff +DATA ·andMask<>+0x08(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x10(SB)/8, $0x000000000000ffff +DATA ·andMask<>+0x18(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x20(SB)/8, $0x0000000000ffffff +DATA ·andMask<>+0x28(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x30(SB)/8, $0x00000000ffffffff +DATA ·andMask<>+0x38(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x40(SB)/8, $0x000000ffffffffff +DATA ·andMask<>+0x48(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x50(SB)/8, $0x0000ffffffffffff +DATA ·andMask<>+0x58(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x60(SB)/8, $0x00ffffffffffffff +DATA ·andMask<>+0x68(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x70(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0x78(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x80(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0x88(SB)/8, $0x00000000000000ff +DATA ·andMask<>+0x90(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0x98(SB)/8, $0x000000000000ffff +DATA ·andMask<>+0xa0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xa8(SB)/8, $0x0000000000ffffff +DATA ·andMask<>+0xb0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xb8(SB)/8, $0x00000000ffffffff +DATA ·andMask<>+0xc0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xc8(SB)/8, $0x000000ffffffffff +DATA ·andMask<>+0xd0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xd8(SB)/8, $0x0000ffffffffffff +DATA ·andMask<>+0xe0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xe8(SB)/8, $0x00ffffffffffffff + +GLOBL ·chacha20Constants<>(SB), (NOPTR+RODATA), $32 +GLOBL ·rol16<>(SB), (NOPTR+RODATA), $32 +GLOBL ·rol8<>(SB), (NOPTR+RODATA), $32 +GLOBL ·sseIncMask<>(SB), (NOPTR+RODATA), $16 +GLOBL ·avx2IncMask<>(SB), (NOPTR+RODATA), $32 +GLOBL ·avx2InitMask<>(SB), (NOPTR+RODATA), $32 +GLOBL ·polyClampMask<>(SB), (NOPTR+RODATA), $32 +GLOBL ·andMask<>(SB), (NOPTR+RODATA), $240 +// No PALIGNR in Go ASM yet (but VPALIGNR is present). +#define shiftB0Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x04 // PALIGNR $4, X3, X3 +#define shiftB1Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xe4; BYTE $0x04 // PALIGNR $4, X4, X4 +#define shiftB2Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x04 // PALIGNR $4, X5, X5 +#define shiftB3Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x04 // PALIGNR $4, X13, X13 +#define shiftC0Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xf6; BYTE $0x08 // PALIGNR $8, X6, X6 +#define shiftC1Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xff; BYTE $0x08 // PALIGNR $8, X7, X7 +#define shiftC2Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xc0; BYTE $0x08 // PALIGNR $8, X8, X8 +#define shiftC3Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xf6; BYTE $0x08 // PALIGNR $8, X14, X14 +#define shiftD0Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xc9; BYTE $0x0c // PALIGNR $12, X9, X9 +#define shiftD1Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xd2; BYTE $0x0c // PALIGNR $12, X10, X10 +#define shiftD2Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x0c // PALIGNR $12, X11, X11 +#define shiftD3Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xff; BYTE $0x0c // PALIGNR $12, X15, X15 +#define shiftB0Right BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x0c // PALIGNR $12, X3, X3 +#define shiftB1Right BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xe4; BYTE $0x0c // PALIGNR $12, X4, X4 +#define shiftB2Right BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x0c // PALIGNR $12, X5, X5 +#define shiftB3Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x0c // PALIGNR $12, X13, X13 +#define shiftC0Right shiftC0Left +#define shiftC1Right shiftC1Left +#define shiftC2Right shiftC2Left +#define shiftC3Right shiftC3Left +#define shiftD0Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xc9; BYTE $0x04 // PALIGNR $4, X9, X9 +#define shiftD1Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xd2; BYTE $0x04 // PALIGNR $4, X10, X10 +#define shiftD2Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x04 // PALIGNR $4, X11, X11 +#define shiftD3Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xff; BYTE $0x04 // PALIGNR $4, X15, X15 +// Some macros +#define chachaQR(A, B, C, D, T) \ + PADDD B, A; PXOR A, D; PSHUFB ·rol16<>(SB), D \ + PADDD D, C; PXOR C, B; MOVO B, T; PSLLL $12, T; PSRLL $20, B; PXOR T, B \ + PADDD B, A; PXOR A, D; PSHUFB ·rol8<>(SB), D \ + PADDD D, C; PXOR C, B; MOVO B, T; PSLLL $7, T; PSRLL $25, B; PXOR T, B + +#define chachaQR_AVX2(A, B, C, D, T) \ + VPADDD B, A, A; VPXOR A, D, D; VPSHUFB ·rol16<>(SB), D, D \ + VPADDD D, C, C; VPXOR C, B, B; VPSLLD $12, B, T; VPSRLD $20, B, B; VPXOR T, B, B \ + VPADDD B, A, A; VPXOR A, D, D; VPSHUFB ·rol8<>(SB), D, D \ + VPADDD D, C, C; VPXOR C, B, B; VPSLLD $7, B, T; VPSRLD $25, B, B; VPXOR T, B, B + +#define polyAdd(S) ADDQ S, acc0; ADCQ 8+S, acc1; ADCQ $1, acc2 +#define polyMulStage1 MOVQ (0*8)(BP), AX; MOVQ AX, t2; MULQ acc0; MOVQ AX, t0; MOVQ DX, t1; MOVQ (0*8)(BP), AX; MULQ acc1; IMULQ acc2, t2; ADDQ AX, t1; ADCQ DX, t2 +#define polyMulStage2 MOVQ (1*8)(BP), AX; MOVQ AX, t3; MULQ acc0; ADDQ AX, t1; ADCQ $0, DX; MOVQ DX, acc0; MOVQ (1*8)(BP), AX; MULQ acc1; ADDQ AX, t2; ADCQ $0, DX +#define polyMulStage3 IMULQ acc2, t3; ADDQ acc0, t2; ADCQ DX, t3 +#define polyMulReduceStage MOVQ t0, acc0; MOVQ t1, acc1; MOVQ t2, acc2; ANDQ $3, acc2; MOVQ t2, t0; ANDQ $-4, t0; MOVQ t3, t1; SHRQ $2, t2:t3; SHRQ $2, t3; ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $0, acc2; ADDQ t2, acc0; ADCQ t3, acc1; ADCQ $0, acc2 + +#define polyMulStage1_AVX2 MOVQ (0*8)(BP), DX; MOVQ DX, t2; MULXQ acc0, t0, t1; IMULQ acc2, t2; MULXQ acc1, AX, DX; ADDQ AX, t1; ADCQ DX, t2 +#define polyMulStage2_AVX2 MOVQ (1*8)(BP), DX; MULXQ acc0, acc0, AX; ADDQ acc0, t1; MULXQ acc1, acc1, t3; ADCQ acc1, t2; ADCQ $0, t3 +#define polyMulStage3_AVX2 IMULQ acc2, DX; ADDQ AX, t2; ADCQ DX, t3 + +#define polyMul polyMulStage1; polyMulStage2; polyMulStage3; polyMulReduceStage +#define polyMulAVX2 polyMulStage1_AVX2; polyMulStage2_AVX2; polyMulStage3_AVX2; polyMulReduceStage +// ---------------------------------------------------------------------------- +TEXT polyHashADInternal<>(SB), NOSPLIT, $0 + // adp points to beginning of additional data + // itr2 holds ad length + XORQ acc0, acc0 + XORQ acc1, acc1 + XORQ acc2, acc2 + CMPQ itr2, $13 + JNE hashADLoop + +openFastTLSAD: + // Special treatment for the TLS case of 13 bytes + MOVQ (adp), acc0 + MOVQ 5(adp), acc1 + SHRQ $24, acc1 + MOVQ $1, acc2 + polyMul + RET + +hashADLoop: + // Hash in 16 byte chunks + CMPQ itr2, $16 + JB hashADTail + polyAdd(0(adp)) + LEAQ (1*16)(adp), adp + SUBQ $16, itr2 + polyMul + JMP hashADLoop + +hashADTail: + CMPQ itr2, $0 + JE hashADDone + + // Hash last < 16 byte tail + XORQ t0, t0 + XORQ t1, t1 + XORQ t2, t2 + ADDQ itr2, adp + +hashADTailLoop: + SHLQ $8, t1:t0 + SHLQ $8, t0 + MOVB -1(adp), t2 + XORQ t2, t0 + DECQ adp + DECQ itr2 + JNE hashADTailLoop + +hashADTailFinish: + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + + // Finished AD +hashADDone: + RET + +// ---------------------------------------------------------------------------- +// func chacha20Poly1305Open(dst, key, src, ad []byte) bool +TEXT ·chacha20Poly1305Open(SB), 0, $288-97 + // For aligned stack access + MOVQ SP, BP + ADDQ $32, BP + ANDQ $-32, BP + MOVQ dst+0(FP), oup + MOVQ key+24(FP), keyp + MOVQ src+48(FP), inp + MOVQ src_len+56(FP), inl + MOVQ ad+72(FP), adp + + // Check for AVX2 support + CMPB ·useAVX2(SB), $1 + JE chacha20Poly1305Open_AVX2 + + // Special optimization, for very short buffers + CMPQ inl, $128 + JBE openSSE128 // About 16% faster + + // For long buffers, prepare the poly key first + MOVOU ·chacha20Constants<>(SB), A0 + MOVOU (1*16)(keyp), B0 + MOVOU (2*16)(keyp), C0 + MOVOU (3*16)(keyp), D0 + MOVO D0, T1 + + // Store state on stack for future use + MOVO B0, state1Store + MOVO C0, state2Store + MOVO D0, ctr3Store + MOVQ $10, itr2 + +openSSEPreparePolyKey: + chachaQR(A0, B0, C0, D0, T0) + shiftB0Left; shiftC0Left; shiftD0Left + chachaQR(A0, B0, C0, D0, T0) + shiftB0Right; shiftC0Right; shiftD0Right + DECQ itr2 + JNE openSSEPreparePolyKey + + // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded + PADDL ·chacha20Constants<>(SB), A0; PADDL state1Store, B0 + + // Clamp and store the key + PAND ·polyClampMask<>(SB), A0 + MOVO A0, rStore; MOVO B0, sStore + + // Hash AAD + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + +openSSEMainLoop: + CMPQ inl, $256 + JB openSSEMainLoopDone + + // Load state, increment counter blocks + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + + // There are 10 ChaCha20 iterations of 2QR each, so for 6 iterations we hash 2 blocks, and for the remaining 4 only 1 block - for a total of 16 + MOVQ $4, itr1 + MOVQ inp, itr2 + +openSSEInternalLoop: + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyAdd(0(itr2)) + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + polyMulStage1 + polyMulStage2 + LEAQ (2*8)(itr2), itr2 + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + polyMulStage3 + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyMulReduceStage + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + DECQ itr1 + JGE openSSEInternalLoop + + polyAdd(0(itr2)) + polyMul + LEAQ (2*8)(itr2), itr2 + + CMPQ itr1, $-6 + JG openSSEInternalLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C0; PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr0Store, D0; PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + + // Load - xor - store + MOVO D3, tmpStore + MOVOU (0*16)(inp), D3; PXOR D3, A0; MOVOU A0, (0*16)(oup) + MOVOU (1*16)(inp), D3; PXOR D3, B0; MOVOU B0, (1*16)(oup) + MOVOU (2*16)(inp), D3; PXOR D3, C0; MOVOU C0, (2*16)(oup) + MOVOU (3*16)(inp), D3; PXOR D3, D0; MOVOU D0, (3*16)(oup) + MOVOU (4*16)(inp), D0; PXOR D0, A1; MOVOU A1, (4*16)(oup) + MOVOU (5*16)(inp), D0; PXOR D0, B1; MOVOU B1, (5*16)(oup) + MOVOU (6*16)(inp), D0; PXOR D0, C1; MOVOU C1, (6*16)(oup) + MOVOU (7*16)(inp), D0; PXOR D0, D1; MOVOU D1, (7*16)(oup) + MOVOU (8*16)(inp), D0; PXOR D0, A2; MOVOU A2, (8*16)(oup) + MOVOU (9*16)(inp), D0; PXOR D0, B2; MOVOU B2, (9*16)(oup) + MOVOU (10*16)(inp), D0; PXOR D0, C2; MOVOU C2, (10*16)(oup) + MOVOU (11*16)(inp), D0; PXOR D0, D2; MOVOU D2, (11*16)(oup) + MOVOU (12*16)(inp), D0; PXOR D0, A3; MOVOU A3, (12*16)(oup) + MOVOU (13*16)(inp), D0; PXOR D0, B3; MOVOU B3, (13*16)(oup) + MOVOU (14*16)(inp), D0; PXOR D0, C3; MOVOU C3, (14*16)(oup) + MOVOU (15*16)(inp), D0; PXOR tmpStore, D0; MOVOU D0, (15*16)(oup) + LEAQ 256(inp), inp + LEAQ 256(oup), oup + SUBQ $256, inl + JMP openSSEMainLoop + +openSSEMainLoopDone: + // Handle the various tail sizes efficiently + TESTQ inl, inl + JE openSSEFinalize + CMPQ inl, $64 + JBE openSSETail64 + CMPQ inl, $128 + JBE openSSETail128 + CMPQ inl, $192 + JBE openSSETail192 + JMP openSSETail256 + +openSSEFinalize: + // Hash in the PT, AAD lengths + ADDQ ad_len+80(FP), acc0; ADCQ src_len+56(FP), acc1; ADCQ $1, acc2 + polyMul + + // Final reduce + MOVQ acc0, t0 + MOVQ acc1, t1 + MOVQ acc2, t2 + SUBQ $-5, acc0 + SBBQ $-1, acc1 + SBBQ $3, acc2 + CMOVQCS t0, acc0 + CMOVQCS t1, acc1 + CMOVQCS t2, acc2 + + // Add in the "s" part of the key + ADDQ 0+sStore, acc0 + ADCQ 8+sStore, acc1 + + // Finally, constant time compare to the tag at the end of the message + XORQ AX, AX + MOVQ $1, DX + XORQ (0*8)(inp), acc0 + XORQ (1*8)(inp), acc1 + ORQ acc1, acc0 + CMOVQEQ DX, AX + + // Return true iff tags are equal + MOVB AX, ret+96(FP) + RET + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 129 bytes +openSSE128: + // For up to 128 bytes of ciphertext and 64 bytes for the poly key, we require to process three blocks + MOVOU ·chacha20Constants<>(SB), A0; MOVOU (1*16)(keyp), B0; MOVOU (2*16)(keyp), C0; MOVOU (3*16)(keyp), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO B0, T1; MOVO C0, T2; MOVO D1, T3 + MOVQ $10, itr2 + +openSSE128InnerCipherLoop: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftB1Left; shiftB2Left + shiftC0Left; shiftC1Left; shiftC2Left + shiftD0Left; shiftD1Left; shiftD2Left + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftB1Right; shiftB2Right + shiftC0Right; shiftC1Right; shiftC2Right + shiftD0Right; shiftD1Right; shiftD2Right + DECQ itr2 + JNE openSSE128InnerCipherLoop + + // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL T1, B0; PADDL T1, B1; PADDL T1, B2 + PADDL T2, C1; PADDL T2, C2 + PADDL T3, D1; PADDL ·sseIncMask<>(SB), T3; PADDL T3, D2 + + // Clamp and store the key + PAND ·polyClampMask<>(SB), A0 + MOVOU A0, rStore; MOVOU B0, sStore + + // Hash + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + +openSSE128Open: + CMPQ inl, $16 + JB openSSETail16 + SUBQ $16, inl + + // Load for hashing + polyAdd(0(inp)) + + // Load for decryption + MOVOU (inp), T0; PXOR T0, A1; MOVOU A1, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + polyMul + + // Shift the stream "left" + MOVO B1, A1 + MOVO C1, B1 + MOVO D1, C1 + MOVO A2, D1 + MOVO B2, A2 + MOVO C2, B2 + MOVO D2, C2 + JMP openSSE128Open + +openSSETail16: + TESTQ inl, inl + JE openSSEFinalize + + // We can safely load the CT from the end, because it is padded with the MAC + MOVQ inl, itr2 + SHLQ $4, itr2 + LEAQ ·andMask<>(SB), t0 + MOVOU (inp), T0 + ADDQ inl, inp + PAND -16(t0)(itr2*1), T0 + MOVO T0, 0+tmpStore + MOVQ T0, t0 + MOVQ 8+tmpStore, t1 + PXOR A1, T0 + + // We can only store one byte at a time, since plaintext can be shorter than 16 bytes +openSSETail16Store: + MOVQ T0, t3 + MOVB t3, (oup) + PSRLDQ $1, T0 + INCQ oup + DECQ inl + JNE openSSETail16Store + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + JMP openSSEFinalize + +// ---------------------------------------------------------------------------- +// Special optimization for the last 64 bytes of ciphertext +openSSETail64: + // Need to decrypt up to 64 bytes - prepare single block + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr0Store + XORQ itr2, itr2 + MOVQ inl, itr1 + CMPQ itr1, $16 + JB openSSETail64LoopB + +openSSETail64LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMul + SUBQ $16, itr1 + +openSSETail64LoopB: + ADDQ $16, itr2 + chachaQR(A0, B0, C0, D0, T0) + shiftB0Left; shiftC0Left; shiftD0Left + chachaQR(A0, B0, C0, D0, T0) + shiftB0Right; shiftC0Right; shiftD0Right + + CMPQ itr1, $16 + JAE openSSETail64LoopA + + CMPQ itr2, $160 + JNE openSSETail64LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL state1Store, B0; PADDL state2Store, C0; PADDL ctr0Store, D0 + +openSSETail64DecLoop: + CMPQ inl, $16 + JB openSSETail64DecLoopDone + SUBQ $16, inl + MOVOU (inp), T0 + PXOR T0, A0 + MOVOU A0, (oup) + LEAQ 16(inp), inp + LEAQ 16(oup), oup + MOVO B0, A0 + MOVO C0, B0 + MOVO D0, C0 + JMP openSSETail64DecLoop + +openSSETail64DecLoopDone: + MOVO A0, A1 + JMP openSSETail16 + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of ciphertext +openSSETail128: + // Need to decrypt up to 128 bytes - prepare two blocks + MOVO ·chacha20Constants<>(SB), A1; MOVO state1Store, B1; MOVO state2Store, C1; MOVO ctr3Store, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr0Store + MOVO A1, A0; MOVO B1, B0; MOVO C1, C0; MOVO D1, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr1Store + XORQ itr2, itr2 + MOVQ inl, itr1 + ANDQ $-16, itr1 + +openSSETail128LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMul + +openSSETail128LoopB: + ADDQ $16, itr2 + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + + CMPQ itr2, itr1 + JB openSSETail128LoopA + + CMPQ itr2, $160 + JNE openSSETail128LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1 + PADDL state1Store, B0; PADDL state1Store, B1 + PADDL state2Store, C0; PADDL state2Store, C1 + PADDL ctr1Store, D0; PADDL ctr0Store, D1 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A1; PXOR T1, B1; PXOR T2, C1; PXOR T3, D1 + MOVOU A1, (0*16)(oup); MOVOU B1, (1*16)(oup); MOVOU C1, (2*16)(oup); MOVOU D1, (3*16)(oup) + + SUBQ $64, inl + LEAQ 64(inp), inp + LEAQ 64(oup), oup + JMP openSSETail64DecLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 192 bytes of ciphertext +openSSETail192: + // Need to decrypt up to 192 bytes - prepare three blocks + MOVO ·chacha20Constants<>(SB), A2; MOVO state1Store, B2; MOVO state2Store, C2; MOVO ctr3Store, D2; PADDL ·sseIncMask<>(SB), D2; MOVO D2, ctr0Store + MOVO A2, A1; MOVO B2, B1; MOVO C2, C1; MOVO D2, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr1Store + MOVO A1, A0; MOVO B1, B0; MOVO C1, C0; MOVO D1, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr2Store + + MOVQ inl, itr1 + MOVQ $160, itr2 + CMPQ itr1, $160 + CMOVQGT itr2, itr1 + ANDQ $-16, itr1 + XORQ itr2, itr2 + +openSSLTail192LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMul + +openSSLTail192LoopB: + ADDQ $16, itr2 + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + shiftB2Left; shiftC2Left; shiftD2Left + + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + shiftB2Right; shiftC2Right; shiftD2Right + + CMPQ itr2, itr1 + JB openSSLTail192LoopA + + CMPQ itr2, $160 + JNE openSSLTail192LoopB + + CMPQ inl, $176 + JB openSSLTail192Store + + polyAdd(160(inp)) + polyMul + + CMPQ inl, $192 + JB openSSLTail192Store + + polyAdd(176(inp)) + polyMul + +openSSLTail192Store: + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL state1Store, B0; PADDL state1Store, B1; PADDL state1Store, B2 + PADDL state2Store, C0; PADDL state2Store, C1; PADDL state2Store, C2 + PADDL ctr2Store, D0; PADDL ctr1Store, D1; PADDL ctr0Store, D2 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A2; PXOR T1, B2; PXOR T2, C2; PXOR T3, D2 + MOVOU A2, (0*16)(oup); MOVOU B2, (1*16)(oup); MOVOU C2, (2*16)(oup); MOVOU D2, (3*16)(oup) + + MOVOU (4*16)(inp), T0; MOVOU (5*16)(inp), T1; MOVOU (6*16)(inp), T2; MOVOU (7*16)(inp), T3 + PXOR T0, A1; PXOR T1, B1; PXOR T2, C1; PXOR T3, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + + SUBQ $128, inl + LEAQ 128(inp), inp + LEAQ 128(oup), oup + JMP openSSETail64DecLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 256 bytes of ciphertext +openSSETail256: + // Need to decrypt up to 256 bytes - prepare four blocks + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + XORQ itr2, itr2 + +openSSETail256Loop: + // This loop inteleaves 8 ChaCha quarter rounds with 1 poly multiplication + polyAdd(0(inp)(itr2*1)) + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + polyMulStage1 + polyMulStage2 + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyMulStage3 + polyMulReduceStage + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + ADDQ $2*8, itr2 + CMPQ itr2, $160 + JB openSSETail256Loop + MOVQ inl, itr1 + ANDQ $-16, itr1 + +openSSETail256HashLoop: + polyAdd(0(inp)(itr2*1)) + polyMul + ADDQ $2*8, itr2 + CMPQ itr2, itr1 + JB openSSETail256HashLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C0; PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr0Store, D0; PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + MOVO D3, tmpStore + + // Load - xor - store + MOVOU (0*16)(inp), D3; PXOR D3, A0 + MOVOU (1*16)(inp), D3; PXOR D3, B0 + MOVOU (2*16)(inp), D3; PXOR D3, C0 + MOVOU (3*16)(inp), D3; PXOR D3, D0 + MOVOU A0, (0*16)(oup) + MOVOU B0, (1*16)(oup) + MOVOU C0, (2*16)(oup) + MOVOU D0, (3*16)(oup) + MOVOU (4*16)(inp), A0; MOVOU (5*16)(inp), B0; MOVOU (6*16)(inp), C0; MOVOU (7*16)(inp), D0 + PXOR A0, A1; PXOR B0, B1; PXOR C0, C1; PXOR D0, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + MOVOU (8*16)(inp), A0; MOVOU (9*16)(inp), B0; MOVOU (10*16)(inp), C0; MOVOU (11*16)(inp), D0 + PXOR A0, A2; PXOR B0, B2; PXOR C0, C2; PXOR D0, D2 + MOVOU A2, (8*16)(oup); MOVOU B2, (9*16)(oup); MOVOU C2, (10*16)(oup); MOVOU D2, (11*16)(oup) + LEAQ 192(inp), inp + LEAQ 192(oup), oup + SUBQ $192, inl + MOVO A3, A0 + MOVO B3, B0 + MOVO C3, C0 + MOVO tmpStore, D0 + + JMP openSSETail64DecLoop + +// ---------------------------------------------------------------------------- +// ------------------------- AVX2 Code ---------------------------------------- +chacha20Poly1305Open_AVX2: + VZEROUPPER + VMOVDQU ·chacha20Constants<>(SB), AA0 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x70; BYTE $0x10 // broadcasti128 16(r8), ymm14 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x20 // broadcasti128 32(r8), ymm12 + BYTE $0xc4; BYTE $0xc2; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x30 // broadcasti128 48(r8), ymm4 + VPADDD ·avx2InitMask<>(SB), DD0, DD0 + + // Special optimization, for very short buffers + CMPQ inl, $192 + JBE openAVX2192 + CMPQ inl, $320 + JBE openAVX2320 + + // For the general key prepare the key first - as a byproduct we have 64 bytes of cipher stream + VMOVDQA BB0, state1StoreAVX2 + VMOVDQA CC0, state2StoreAVX2 + VMOVDQA DD0, ctr3StoreAVX2 + MOVQ $10, itr2 + +openAVX2PreparePolyKey: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $12, DD0, DD0, DD0 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $4, DD0, DD0, DD0 + DECQ itr2 + JNE openAVX2PreparePolyKey + + VPADDD ·chacha20Constants<>(SB), AA0, AA0 + VPADDD state1StoreAVX2, BB0, BB0 + VPADDD state2StoreAVX2, CC0, CC0 + VPADDD ctr3StoreAVX2, DD0, DD0 + + VPERM2I128 $0x02, AA0, BB0, TT0 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for the first 64 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + + // Hash AD + first 64 bytes + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + XORQ itr1, itr1 + +openAVX2InitialHash64: + polyAdd(0(inp)(itr1*1)) + polyMulAVX2 + ADDQ $16, itr1 + CMPQ itr1, $64 + JNE openAVX2InitialHash64 + + // Decrypt the first 64 bytes + VPXOR (0*32)(inp), AA0, AA0 + VPXOR (1*32)(inp), BB0, BB0 + VMOVDQU AA0, (0*32)(oup) + VMOVDQU BB0, (1*32)(oup) + LEAQ (2*32)(inp), inp + LEAQ (2*32)(oup), oup + SUBQ $64, inl + +openAVX2MainLoop: + CMPQ inl, $512 + JB openAVX2MainLoopDone + + // Load state, increment counter blocks, store the incremented counters + VMOVDQU ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + XORQ itr1, itr1 + +openAVX2InternalLoop: + // Lets just say this spaghetti loop interleaves 2 quarter rounds with 3 poly multiplications + // Effectively per 512 bytes of stream we hash 480 bytes of ciphertext + polyAdd(0*8(inp)(itr1*1)) + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage1_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulStage2_AVX2 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyMulStage3_AVX2 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + polyAdd(2*8(inp)(itr1*1)) + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage1_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage2_AVX2 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage3_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulReduceStage + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(4*8(inp)(itr1*1)) + LEAQ (6*8)(itr1), itr1 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage1_AVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + polyMulStage2_AVX2 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage3_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + CMPQ itr1, $480 + JNE openAVX2InternalLoop + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + + // We only hashed 480 of the 512 bytes available - hash the remaining 32 here + polyAdd(480(inp)) + polyMulAVX2 + VPERM2I128 $0x02, AA0, BB0, CC3; VPERM2I128 $0x13, AA0, BB0, BB0; VPERM2I128 $0x02, CC0, DD0, AA0; VPERM2I128 $0x13, CC0, DD0, CC0 + VPXOR (0*32)(inp), CC3, CC3; VPXOR (1*32)(inp), AA0, AA0; VPXOR (2*32)(inp), BB0, BB0; VPXOR (3*32)(inp), CC0, CC0 + VMOVDQU CC3, (0*32)(oup); VMOVDQU AA0, (1*32)(oup); VMOVDQU BB0, (2*32)(oup); VMOVDQU CC0, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + + // and here + polyAdd(496(inp)) + polyMulAVX2 + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + VPXOR (12*32)(inp), AA0, AA0; VPXOR (13*32)(inp), BB0, BB0; VPXOR (14*32)(inp), CC0, CC0; VPXOR (15*32)(inp), DD0, DD0 + VMOVDQU AA0, (12*32)(oup); VMOVDQU BB0, (13*32)(oup); VMOVDQU CC0, (14*32)(oup); VMOVDQU DD0, (15*32)(oup) + LEAQ (32*16)(inp), inp + LEAQ (32*16)(oup), oup + SUBQ $(32*16), inl + JMP openAVX2MainLoop + +openAVX2MainLoopDone: + // Handle the various tail sizes efficiently + TESTQ inl, inl + JE openSSEFinalize + CMPQ inl, $128 + JBE openAVX2Tail128 + CMPQ inl, $256 + JBE openAVX2Tail256 + CMPQ inl, $384 + JBE openAVX2Tail384 + JMP openAVX2Tail512 + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 193 bytes +openAVX2192: + // For up to 192 bytes of ciphertext and 64 bytes for the poly key, we process four blocks + VMOVDQA AA0, AA1 + VMOVDQA BB0, BB1 + VMOVDQA CC0, CC1 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2 + VMOVDQA BB0, BB2 + VMOVDQA CC0, CC2 + VMOVDQA DD0, DD2 + VMOVDQA DD1, TT3 + MOVQ $10, itr2 + +openAVX2192InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + DECQ itr2 + JNE openAVX2192InnerCipherLoop + VPADDD AA2, AA0, AA0; VPADDD AA2, AA1, AA1 + VPADDD BB2, BB0, BB0; VPADDD BB2, BB1, BB1 + VPADDD CC2, CC0, CC0; VPADDD CC2, CC1, CC1 + VPADDD DD2, DD0, DD0; VPADDD TT3, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, TT0 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 192 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + +openAVX2ShortOpen: + // Hash + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + +openAVX2ShortOpenLoop: + CMPQ inl, $32 + JB openAVX2ShortTail32 + SUBQ $32, inl + + // Load for hashing + polyAdd(0*8(inp)) + polyMulAVX2 + polyAdd(2*8(inp)) + polyMulAVX2 + + // Load for decryption + VPXOR (inp), AA0, AA0 + VMOVDQU AA0, (oup) + LEAQ (1*32)(inp), inp + LEAQ (1*32)(oup), oup + + // Shift stream left + VMOVDQA BB0, AA0 + VMOVDQA CC0, BB0 + VMOVDQA DD0, CC0 + VMOVDQA AA1, DD0 + VMOVDQA BB1, AA1 + VMOVDQA CC1, BB1 + VMOVDQA DD1, CC1 + VMOVDQA AA2, DD1 + VMOVDQA BB2, AA2 + JMP openAVX2ShortOpenLoop + +openAVX2ShortTail32: + CMPQ inl, $16 + VMOVDQA A0, A1 + JB openAVX2ShortDone + + SUBQ $16, inl + + // Load for hashing + polyAdd(0*8(inp)) + polyMulAVX2 + + // Load for decryption + VPXOR (inp), A0, T0 + VMOVDQU T0, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + VPERM2I128 $0x11, AA0, AA0, AA0 + VMOVDQA A0, A1 + +openAVX2ShortDone: + VZEROUPPER + JMP openSSETail16 + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 321 bytes +openAVX2320: + // For up to 320 bytes of ciphertext and 64 bytes for the poly key, we process six blocks + VMOVDQA AA0, AA1; VMOVDQA BB0, BB1; VMOVDQA CC0, CC1; VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2; VMOVDQA BB0, BB2; VMOVDQA CC0, CC2; VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA BB0, TT1; VMOVDQA CC0, TT2; VMOVDQA DD0, TT3 + MOVQ $10, itr2 + +openAVX2320InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + DECQ itr2 + JNE openAVX2320InnerCipherLoop + + VMOVDQA ·chacha20Constants<>(SB), TT0 + VPADDD TT0, AA0, AA0; VPADDD TT0, AA1, AA1; VPADDD TT0, AA2, AA2 + VPADDD TT1, BB0, BB0; VPADDD TT1, BB1, BB1; VPADDD TT1, BB2, BB2 + VPADDD TT2, CC0, CC0; VPADDD TT2, CC1, CC1; VPADDD TT2, CC2, CC2 + VMOVDQA ·avx2IncMask<>(SB), TT0 + VPADDD TT3, DD0, DD0; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD1, DD1; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD2, DD2 + + // Clamp and store poly key + VPERM2I128 $0x02, AA0, BB0, TT0 + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 320 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + VPERM2I128 $0x02, AA2, BB2, CC1 + VPERM2I128 $0x02, CC2, DD2, DD1 + VPERM2I128 $0x13, AA2, BB2, AA2 + VPERM2I128 $0x13, CC2, DD2, BB2 + JMP openAVX2ShortOpen + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of ciphertext +openAVX2Tail128: + // Need to decrypt up to 128 bytes - prepare two blocks + VMOVDQA ·chacha20Constants<>(SB), AA1 + VMOVDQA state1StoreAVX2, BB1 + VMOVDQA state2StoreAVX2, CC1 + VMOVDQA ctr3StoreAVX2, DD1 + VPADDD ·avx2IncMask<>(SB), DD1, DD1 + VMOVDQA DD1, DD0 + + XORQ itr2, itr2 + MOVQ inl, itr1 + ANDQ $-16, itr1 + TESTQ itr1, itr1 + JE openAVX2Tail128LoopB + +openAVX2Tail128LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMulAVX2 + +openAVX2Tail128LoopB: + ADDQ $16, itr2 + chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD1, DD1, DD1 + CMPQ itr2, itr1 + JB openAVX2Tail128LoopA + CMPQ itr2, $160 + JNE openAVX2Tail128LoopB + + VPADDD ·chacha20Constants<>(SB), AA1, AA1 + VPADDD state1StoreAVX2, BB1, BB1 + VPADDD state2StoreAVX2, CC1, CC1 + VPADDD DD0, DD1, DD1 + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + +openAVX2TailLoop: + CMPQ inl, $32 + JB openAVX2Tail + SUBQ $32, inl + + // Load for decryption + VPXOR (inp), AA0, AA0 + VMOVDQU AA0, (oup) + LEAQ (1*32)(inp), inp + LEAQ (1*32)(oup), oup + VMOVDQA BB0, AA0 + VMOVDQA CC0, BB0 + VMOVDQA DD0, CC0 + JMP openAVX2TailLoop + +openAVX2Tail: + CMPQ inl, $16 + VMOVDQA A0, A1 + JB openAVX2TailDone + SUBQ $16, inl + + // Load for decryption + VPXOR (inp), A0, T0 + VMOVDQU T0, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + VPERM2I128 $0x11, AA0, AA0, AA0 + VMOVDQA A0, A1 + +openAVX2TailDone: + VZEROUPPER + JMP openSSETail16 + +// ---------------------------------------------------------------------------- +// Special optimization for the last 256 bytes of ciphertext +openAVX2Tail256: + // Need to decrypt up to 256 bytes - prepare four blocks + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA DD0, TT1 + VMOVDQA DD1, TT2 + + // Compute the number of iterations that will hash data + MOVQ inl, tmpStoreAVX2 + MOVQ inl, itr1 + SUBQ $128, itr1 + SHRQ $4, itr1 + MOVQ $10, itr2 + CMPQ itr1, $10 + CMOVQGT itr2, itr1 + MOVQ inp, inl + XORQ itr2, itr2 + +openAVX2Tail256LoopA: + polyAdd(0(inl)) + polyMulAVX2 + LEAQ 16(inl), inl + + // Perform ChaCha rounds, while hashing the remaining input +openAVX2Tail256LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + INCQ itr2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + CMPQ itr2, itr1 + JB openAVX2Tail256LoopA + + CMPQ itr2, $10 + JNE openAVX2Tail256LoopB + + MOVQ inl, itr2 + SUBQ inp, inl + MOVQ inl, itr1 + MOVQ tmpStoreAVX2, inl + + // Hash the remainder of data (if any) +openAVX2Tail256Hash: + ADDQ $16, itr1 + CMPQ itr1, inl + JGT openAVX2Tail256HashEnd + polyAdd (0(itr2)) + polyMulAVX2 + LEAQ 16(itr2), itr2 + JMP openAVX2Tail256Hash + +// Store 128 bytes safely, then go to store loop +openAVX2Tail256HashEnd: + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1 + VPADDD TT1, DD0, DD0; VPADDD TT2, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, AA2; VPERM2I128 $0x02, CC0, DD0, BB2; VPERM2I128 $0x13, AA0, BB0, CC2; VPERM2I128 $0x13, CC0, DD0, DD2 + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + + VPXOR (0*32)(inp), AA2, AA2; VPXOR (1*32)(inp), BB2, BB2; VPXOR (2*32)(inp), CC2, CC2; VPXOR (3*32)(inp), DD2, DD2 + VMOVDQU AA2, (0*32)(oup); VMOVDQU BB2, (1*32)(oup); VMOVDQU CC2, (2*32)(oup); VMOVDQU DD2, (3*32)(oup) + LEAQ (4*32)(inp), inp + LEAQ (4*32)(oup), oup + SUBQ $4*32, inl + + JMP openAVX2TailLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 384 bytes of ciphertext +openAVX2Tail384: + // Need to decrypt up to 384 bytes - prepare six blocks + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA DD0, ctr0StoreAVX2 + VMOVDQA DD1, ctr1StoreAVX2 + VMOVDQA DD2, ctr2StoreAVX2 + + // Compute the number of iterations that will hash two blocks of data + MOVQ inl, tmpStoreAVX2 + MOVQ inl, itr1 + SUBQ $256, itr1 + SHRQ $4, itr1 + ADDQ $6, itr1 + MOVQ $10, itr2 + CMPQ itr1, $10 + CMOVQGT itr2, itr1 + MOVQ inp, inl + XORQ itr2, itr2 + + // Perform ChaCha rounds, while hashing the remaining input +openAVX2Tail384LoopB: + polyAdd(0(inl)) + polyMulAVX2 + LEAQ 16(inl), inl + +openAVX2Tail384LoopA: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + polyAdd(0(inl)) + polyMulAVX2 + LEAQ 16(inl), inl + INCQ itr2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + + CMPQ itr2, itr1 + JB openAVX2Tail384LoopB + + CMPQ itr2, $10 + JNE openAVX2Tail384LoopA + + MOVQ inl, itr2 + SUBQ inp, inl + MOVQ inl, itr1 + MOVQ tmpStoreAVX2, inl + +openAVX2Tail384Hash: + ADDQ $16, itr1 + CMPQ itr1, inl + JGT openAVX2Tail384HashEnd + polyAdd(0(itr2)) + polyMulAVX2 + LEAQ 16(itr2), itr2 + JMP openAVX2Tail384Hash + +// Store 256 bytes safely, then go to store loop +openAVX2Tail384HashEnd: + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2 + VPERM2I128 $0x02, AA0, BB0, TT0; VPERM2I128 $0x02, CC0, DD0, TT1; VPERM2I128 $0x13, AA0, BB0, TT2; VPERM2I128 $0x13, CC0, DD0, TT3 + VPXOR (0*32)(inp), TT0, TT0; VPXOR (1*32)(inp), TT1, TT1; VPXOR (2*32)(inp), TT2, TT2; VPXOR (3*32)(inp), TT3, TT3 + VMOVDQU TT0, (0*32)(oup); VMOVDQU TT1, (1*32)(oup); VMOVDQU TT2, (2*32)(oup); VMOVDQU TT3, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, TT0; VPERM2I128 $0x02, CC1, DD1, TT1; VPERM2I128 $0x13, AA1, BB1, TT2; VPERM2I128 $0x13, CC1, DD1, TT3 + VPXOR (4*32)(inp), TT0, TT0; VPXOR (5*32)(inp), TT1, TT1; VPXOR (6*32)(inp), TT2, TT2; VPXOR (7*32)(inp), TT3, TT3 + VMOVDQU TT0, (4*32)(oup); VMOVDQU TT1, (5*32)(oup); VMOVDQU TT2, (6*32)(oup); VMOVDQU TT3, (7*32)(oup) + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + LEAQ (8*32)(inp), inp + LEAQ (8*32)(oup), oup + SUBQ $8*32, inl + JMP openAVX2TailLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 512 bytes of ciphertext +openAVX2Tail512: + VMOVDQU ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + XORQ itr1, itr1 + MOVQ inp, itr2 + +openAVX2Tail512LoopB: + polyAdd(0(itr2)) + polyMulAVX2 + LEAQ (2*8)(itr2), itr2 + +openAVX2Tail512LoopA: + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyAdd(0*8(itr2)) + polyMulAVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(2*8(itr2)) + polyMulAVX2 + LEAQ (4*8)(itr2), itr2 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + INCQ itr1 + CMPQ itr1, $4 + JLT openAVX2Tail512LoopB + + CMPQ itr1, $10 + JNE openAVX2Tail512LoopA + + MOVQ inl, itr1 + SUBQ $384, itr1 + ANDQ $-16, itr1 + +openAVX2Tail512HashLoop: + TESTQ itr1, itr1 + JE openAVX2Tail512HashEnd + polyAdd(0(itr2)) + polyMulAVX2 + LEAQ 16(itr2), itr2 + SUBQ $16, itr1 + JMP openAVX2Tail512HashLoop + +openAVX2Tail512HashEnd: + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + VPERM2I128 $0x02, AA0, BB0, CC3; VPERM2I128 $0x13, AA0, BB0, BB0; VPERM2I128 $0x02, CC0, DD0, AA0; VPERM2I128 $0x13, CC0, DD0, CC0 + VPXOR (0*32)(inp), CC3, CC3; VPXOR (1*32)(inp), AA0, AA0; VPXOR (2*32)(inp), BB0, BB0; VPXOR (3*32)(inp), CC0, CC0 + VMOVDQU CC3, (0*32)(oup); VMOVDQU AA0, (1*32)(oup); VMOVDQU BB0, (2*32)(oup); VMOVDQU CC0, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + + LEAQ (12*32)(inp), inp + LEAQ (12*32)(oup), oup + SUBQ $12*32, inl + + JMP openAVX2TailLoop + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// func chacha20Poly1305Seal(dst, key, src, ad []byte) +TEXT ·chacha20Poly1305Seal(SB), 0, $288-96 + // For aligned stack access + MOVQ SP, BP + ADDQ $32, BP + ANDQ $-32, BP + MOVQ dst+0(FP), oup + MOVQ key+24(FP), keyp + MOVQ src+48(FP), inp + MOVQ src_len+56(FP), inl + MOVQ ad+72(FP), adp + + CMPB ·useAVX2(SB), $1 + JE chacha20Poly1305Seal_AVX2 + + // Special optimization, for very short buffers + CMPQ inl, $128 + JBE sealSSE128 // About 15% faster + + // In the seal case - prepare the poly key + 3 blocks of stream in the first iteration + MOVOU ·chacha20Constants<>(SB), A0 + MOVOU (1*16)(keyp), B0 + MOVOU (2*16)(keyp), C0 + MOVOU (3*16)(keyp), D0 + + // Store state on stack for future use + MOVO B0, state1Store + MOVO C0, state2Store + + // Load state, increment counter blocks + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + MOVQ $10, itr2 + +sealSSEIntroLoop: + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + DECQ itr2 + JNE sealSSEIntroLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + + // Clamp and store the key + PAND ·polyClampMask<>(SB), A0 + MOVO A0, rStore + MOVO B0, sStore + + // Hash AAD + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + + MOVOU (0*16)(inp), A0; MOVOU (1*16)(inp), B0; MOVOU (2*16)(inp), C0; MOVOU (3*16)(inp), D0 + PXOR A0, A1; PXOR B0, B1; PXOR C0, C1; PXOR D0, D1 + MOVOU A1, (0*16)(oup); MOVOU B1, (1*16)(oup); MOVOU C1, (2*16)(oup); MOVOU D1, (3*16)(oup) + MOVOU (4*16)(inp), A0; MOVOU (5*16)(inp), B0; MOVOU (6*16)(inp), C0; MOVOU (7*16)(inp), D0 + PXOR A0, A2; PXOR B0, B2; PXOR C0, C2; PXOR D0, D2 + MOVOU A2, (4*16)(oup); MOVOU B2, (5*16)(oup); MOVOU C2, (6*16)(oup); MOVOU D2, (7*16)(oup) + + MOVQ $128, itr1 + SUBQ $128, inl + LEAQ 128(inp), inp + + MOVO A3, A1; MOVO B3, B1; MOVO C3, C1; MOVO D3, D1 + + CMPQ inl, $64 + JBE sealSSE128SealHash + + MOVOU (0*16)(inp), A0; MOVOU (1*16)(inp), B0; MOVOU (2*16)(inp), C0; MOVOU (3*16)(inp), D0 + PXOR A0, A3; PXOR B0, B3; PXOR C0, C3; PXOR D0, D3 + MOVOU A3, (8*16)(oup); MOVOU B3, (9*16)(oup); MOVOU C3, (10*16)(oup); MOVOU D3, (11*16)(oup) + + ADDQ $64, itr1 + SUBQ $64, inl + LEAQ 64(inp), inp + + MOVQ $2, itr1 + MOVQ $8, itr2 + + CMPQ inl, $64 + JBE sealSSETail64 + CMPQ inl, $128 + JBE sealSSETail128 + CMPQ inl, $192 + JBE sealSSETail192 + +sealSSEMainLoop: + // Load state, increment counter blocks + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + +sealSSEInnerLoop: + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyAdd(0(oup)) + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + polyMulStage1 + polyMulStage2 + LEAQ (2*8)(oup), oup + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + polyMulStage3 + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyMulReduceStage + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + DECQ itr2 + JGE sealSSEInnerLoop + polyAdd(0(oup)) + polyMul + LEAQ (2*8)(oup), oup + DECQ itr1 + JG sealSSEInnerLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C0; PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr0Store, D0; PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + MOVO D3, tmpStore + + // Load - xor - store + MOVOU (0*16)(inp), D3; PXOR D3, A0 + MOVOU (1*16)(inp), D3; PXOR D3, B0 + MOVOU (2*16)(inp), D3; PXOR D3, C0 + MOVOU (3*16)(inp), D3; PXOR D3, D0 + MOVOU A0, (0*16)(oup) + MOVOU B0, (1*16)(oup) + MOVOU C0, (2*16)(oup) + MOVOU D0, (3*16)(oup) + MOVO tmpStore, D3 + + MOVOU (4*16)(inp), A0; MOVOU (5*16)(inp), B0; MOVOU (6*16)(inp), C0; MOVOU (7*16)(inp), D0 + PXOR A0, A1; PXOR B0, B1; PXOR C0, C1; PXOR D0, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + MOVOU (8*16)(inp), A0; MOVOU (9*16)(inp), B0; MOVOU (10*16)(inp), C0; MOVOU (11*16)(inp), D0 + PXOR A0, A2; PXOR B0, B2; PXOR C0, C2; PXOR D0, D2 + MOVOU A2, (8*16)(oup); MOVOU B2, (9*16)(oup); MOVOU C2, (10*16)(oup); MOVOU D2, (11*16)(oup) + ADDQ $192, inp + MOVQ $192, itr1 + SUBQ $192, inl + MOVO A3, A1 + MOVO B3, B1 + MOVO C3, C1 + MOVO D3, D1 + CMPQ inl, $64 + JBE sealSSE128SealHash + MOVOU (0*16)(inp), A0; MOVOU (1*16)(inp), B0; MOVOU (2*16)(inp), C0; MOVOU (3*16)(inp), D0 + PXOR A0, A3; PXOR B0, B3; PXOR C0, C3; PXOR D0, D3 + MOVOU A3, (12*16)(oup); MOVOU B3, (13*16)(oup); MOVOU C3, (14*16)(oup); MOVOU D3, (15*16)(oup) + LEAQ 64(inp), inp + SUBQ $64, inl + MOVQ $6, itr1 + MOVQ $4, itr2 + CMPQ inl, $192 + JG sealSSEMainLoop + + MOVQ inl, itr1 + TESTQ inl, inl + JE sealSSE128SealHash + MOVQ $6, itr1 + CMPQ inl, $64 + JBE sealSSETail64 + CMPQ inl, $128 + JBE sealSSETail128 + JMP sealSSETail192 + +// ---------------------------------------------------------------------------- +// Special optimization for the last 64 bytes of plaintext +sealSSETail64: + // Need to encrypt up to 64 bytes - prepare single block, hash 192 or 256 bytes + MOVO ·chacha20Constants<>(SB), A1 + MOVO state1Store, B1 + MOVO state2Store, C1 + MOVO ctr3Store, D1 + PADDL ·sseIncMask<>(SB), D1 + MOVO D1, ctr0Store + +sealSSETail64LoopA: + // Perform ChaCha rounds, while hashing the previously encrypted ciphertext + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealSSETail64LoopB: + chachaQR(A1, B1, C1, D1, T1) + shiftB1Left; shiftC1Left; shiftD1Left + chachaQR(A1, B1, C1, D1, T1) + shiftB1Right; shiftC1Right; shiftD1Right + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + + DECQ itr1 + JG sealSSETail64LoopA + + DECQ itr2 + JGE sealSSETail64LoopB + PADDL ·chacha20Constants<>(SB), A1 + PADDL state1Store, B1 + PADDL state2Store, C1 + PADDL ctr0Store, D1 + + JMP sealSSE128Seal + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of plaintext +sealSSETail128: + // Need to encrypt up to 128 bytes - prepare two blocks, hash 192 or 256 bytes + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr0Store + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr1Store + +sealSSETail128LoopA: + // Perform ChaCha rounds, while hashing the previously encrypted ciphertext + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealSSETail128LoopB: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + + DECQ itr1 + JG sealSSETail128LoopA + + DECQ itr2 + JGE sealSSETail128LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1 + PADDL state1Store, B0; PADDL state1Store, B1 + PADDL state2Store, C0; PADDL state2Store, C1 + PADDL ctr0Store, D0; PADDL ctr1Store, D1 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A0; PXOR T1, B0; PXOR T2, C0; PXOR T3, D0 + MOVOU A0, (0*16)(oup); MOVOU B0, (1*16)(oup); MOVOU C0, (2*16)(oup); MOVOU D0, (3*16)(oup) + + MOVQ $64, itr1 + LEAQ 64(inp), inp + SUBQ $64, inl + + JMP sealSSE128SealHash + +// ---------------------------------------------------------------------------- +// Special optimization for the last 192 bytes of plaintext +sealSSETail192: + // Need to encrypt up to 192 bytes - prepare three blocks, hash 192 or 256 bytes + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr0Store + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr1Store + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2; MOVO D2, ctr2Store + +sealSSETail192LoopA: + // Perform ChaCha rounds, while hashing the previously encrypted ciphertext + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealSSETail192LoopB: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + shiftB2Left; shiftC2Left; shiftD2Left + + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + shiftB2Right; shiftC2Right; shiftD2Right + + DECQ itr1 + JG sealSSETail192LoopA + + DECQ itr2 + JGE sealSSETail192LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL state1Store, B0; PADDL state1Store, B1; PADDL state1Store, B2 + PADDL state2Store, C0; PADDL state2Store, C1; PADDL state2Store, C2 + PADDL ctr0Store, D0; PADDL ctr1Store, D1; PADDL ctr2Store, D2 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A0; PXOR T1, B0; PXOR T2, C0; PXOR T3, D0 + MOVOU A0, (0*16)(oup); MOVOU B0, (1*16)(oup); MOVOU C0, (2*16)(oup); MOVOU D0, (3*16)(oup) + MOVOU (4*16)(inp), T0; MOVOU (5*16)(inp), T1; MOVOU (6*16)(inp), T2; MOVOU (7*16)(inp), T3 + PXOR T0, A1; PXOR T1, B1; PXOR T2, C1; PXOR T3, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + + MOVO A2, A1 + MOVO B2, B1 + MOVO C2, C1 + MOVO D2, D1 + MOVQ $128, itr1 + LEAQ 128(inp), inp + SUBQ $128, inl + + JMP sealSSE128SealHash + +// ---------------------------------------------------------------------------- +// Special seal optimization for buffers smaller than 129 bytes +sealSSE128: + // For up to 128 bytes of ciphertext and 64 bytes for the poly key, we require to process three blocks + MOVOU ·chacha20Constants<>(SB), A0; MOVOU (1*16)(keyp), B0; MOVOU (2*16)(keyp), C0; MOVOU (3*16)(keyp), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO B0, T1; MOVO C0, T2; MOVO D1, T3 + MOVQ $10, itr2 + +sealSSE128InnerCipherLoop: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftB1Left; shiftB2Left + shiftC0Left; shiftC1Left; shiftC2Left + shiftD0Left; shiftD1Left; shiftD2Left + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftB1Right; shiftB2Right + shiftC0Right; shiftC1Right; shiftC2Right + shiftD0Right; shiftD1Right; shiftD2Right + DECQ itr2 + JNE sealSSE128InnerCipherLoop + + // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL T1, B0; PADDL T1, B1; PADDL T1, B2 + PADDL T2, C1; PADDL T2, C2 + PADDL T3, D1; PADDL ·sseIncMask<>(SB), T3; PADDL T3, D2 + PAND ·polyClampMask<>(SB), A0 + MOVOU A0, rStore + MOVOU B0, sStore + + // Hash + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + XORQ itr1, itr1 + +sealSSE128SealHash: + // itr1 holds the number of bytes encrypted but not yet hashed + CMPQ itr1, $16 + JB sealSSE128Seal + polyAdd(0(oup)) + polyMul + + SUBQ $16, itr1 + ADDQ $16, oup + + JMP sealSSE128SealHash + +sealSSE128Seal: + CMPQ inl, $16 + JB sealSSETail + SUBQ $16, inl + + // Load for decryption + MOVOU (inp), T0 + PXOR T0, A1 + MOVOU A1, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + + // Extract for hashing + MOVQ A1, t0 + PSRLDQ $8, A1 + MOVQ A1, t1 + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + + // Shift the stream "left" + MOVO B1, A1 + MOVO C1, B1 + MOVO D1, C1 + MOVO A2, D1 + MOVO B2, A2 + MOVO C2, B2 + MOVO D2, C2 + JMP sealSSE128Seal + +sealSSETail: + TESTQ inl, inl + JE sealSSEFinalize + + // We can only load the PT one byte at a time to avoid read after end of buffer + MOVQ inl, itr2 + SHLQ $4, itr2 + LEAQ ·andMask<>(SB), t0 + MOVQ inl, itr1 + LEAQ -1(inp)(inl*1), inp + XORQ t2, t2 + XORQ t3, t3 + XORQ AX, AX + +sealSSETailLoadLoop: + SHLQ $8, t2, t3 + SHLQ $8, t2 + MOVB (inp), AX + XORQ AX, t2 + LEAQ -1(inp), inp + DECQ itr1 + JNE sealSSETailLoadLoop + MOVQ t2, 0+tmpStore + MOVQ t3, 8+tmpStore + PXOR 0+tmpStore, A1 + MOVOU A1, (oup) + MOVOU -16(t0)(itr2*1), T0 + PAND T0, A1 + MOVQ A1, t0 + PSRLDQ $8, A1 + MOVQ A1, t1 + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + + ADDQ inl, oup + +sealSSEFinalize: + // Hash in the buffer lengths + ADDQ ad_len+80(FP), acc0 + ADCQ src_len+56(FP), acc1 + ADCQ $1, acc2 + polyMul + + // Final reduce + MOVQ acc0, t0 + MOVQ acc1, t1 + MOVQ acc2, t2 + SUBQ $-5, acc0 + SBBQ $-1, acc1 + SBBQ $3, acc2 + CMOVQCS t0, acc0 + CMOVQCS t1, acc1 + CMOVQCS t2, acc2 + + // Add in the "s" part of the key + ADDQ 0+sStore, acc0 + ADCQ 8+sStore, acc1 + + // Finally store the tag at the end of the message + MOVQ acc0, (0*8)(oup) + MOVQ acc1, (1*8)(oup) + RET + +// ---------------------------------------------------------------------------- +// ------------------------- AVX2 Code ---------------------------------------- +chacha20Poly1305Seal_AVX2: + VZEROUPPER + VMOVDQU ·chacha20Constants<>(SB), AA0 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x70; BYTE $0x10 // broadcasti128 16(r8), ymm14 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x20 // broadcasti128 32(r8), ymm12 + BYTE $0xc4; BYTE $0xc2; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x30 // broadcasti128 48(r8), ymm4 + VPADDD ·avx2InitMask<>(SB), DD0, DD0 + + // Special optimizations, for very short buffers + CMPQ inl, $192 + JBE seal192AVX2 // 33% faster + CMPQ inl, $320 + JBE seal320AVX2 // 17% faster + + // For the general key prepare the key first - as a byproduct we have 64 bytes of cipher stream + VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3; VMOVDQA BB0, state1StoreAVX2 + VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3; VMOVDQA CC0, state2StoreAVX2 + VPADDD ·avx2IncMask<>(SB), DD0, DD1; VMOVDQA DD0, ctr0StoreAVX2 + VPADDD ·avx2IncMask<>(SB), DD1, DD2; VMOVDQA DD1, ctr1StoreAVX2 + VPADDD ·avx2IncMask<>(SB), DD2, DD3; VMOVDQA DD2, ctr2StoreAVX2 + VMOVDQA DD3, ctr3StoreAVX2 + MOVQ $10, itr2 + +sealAVX2IntroLoop: + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $12, DD0, DD0, DD0 + VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $12, DD1, DD1, DD1 + VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $12, DD2, DD2, DD2 + VPALIGNR $4, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $12, DD3, DD3, DD3 + + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $4, DD0, DD0, DD0 + VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $4, DD1, DD1, DD1 + VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $4, DD2, DD2, DD2 + VPALIGNR $12, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $4, DD3, DD3, DD3 + DECQ itr2 + JNE sealAVX2IntroLoop + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + + VPERM2I128 $0x13, CC0, DD0, CC0 // Stream bytes 96 - 127 + VPERM2I128 $0x02, AA0, BB0, DD0 // The Poly1305 key + VPERM2I128 $0x13, AA0, BB0, AA0 // Stream bytes 64 - 95 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), DD0, DD0 + VMOVDQA DD0, rsStoreAVX2 + + // Hash AD + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + + // Can store at least 320 bytes + VPXOR (0*32)(inp), AA0, AA0 + VPXOR (1*32)(inp), CC0, CC0 + VMOVDQU AA0, (0*32)(oup) + VMOVDQU CC0, (1*32)(oup) + + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (2*32)(inp), AA0, AA0; VPXOR (3*32)(inp), BB0, BB0; VPXOR (4*32)(inp), CC0, CC0; VPXOR (5*32)(inp), DD0, DD0 + VMOVDQU AA0, (2*32)(oup); VMOVDQU BB0, (3*32)(oup); VMOVDQU CC0, (4*32)(oup); VMOVDQU DD0, (5*32)(oup) + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (6*32)(inp), AA0, AA0; VPXOR (7*32)(inp), BB0, BB0; VPXOR (8*32)(inp), CC0, CC0; VPXOR (9*32)(inp), DD0, DD0 + VMOVDQU AA0, (6*32)(oup); VMOVDQU BB0, (7*32)(oup); VMOVDQU CC0, (8*32)(oup); VMOVDQU DD0, (9*32)(oup) + + MOVQ $320, itr1 + SUBQ $320, inl + LEAQ 320(inp), inp + + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, CC3, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, CC3, DD3, DD0 + CMPQ inl, $128 + JBE sealAVX2SealHash + + VPXOR (0*32)(inp), AA0, AA0; VPXOR (1*32)(inp), BB0, BB0; VPXOR (2*32)(inp), CC0, CC0; VPXOR (3*32)(inp), DD0, DD0 + VMOVDQU AA0, (10*32)(oup); VMOVDQU BB0, (11*32)(oup); VMOVDQU CC0, (12*32)(oup); VMOVDQU DD0, (13*32)(oup) + SUBQ $128, inl + LEAQ 128(inp), inp + + MOVQ $8, itr1 + MOVQ $2, itr2 + + CMPQ inl, $128 + JBE sealAVX2Tail128 + CMPQ inl, $256 + JBE sealAVX2Tail256 + CMPQ inl, $384 + JBE sealAVX2Tail384 + CMPQ inl, $512 + JBE sealAVX2Tail512 + + // We have 448 bytes to hash, but main loop hashes 512 bytes at a time - perform some rounds, before the main loop + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $12, DD0, DD0, DD0 + VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $12, DD1, DD1, DD1 + VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $12, DD2, DD2, DD2 + VPALIGNR $4, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $12, DD3, DD3, DD3 + + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $4, DD0, DD0, DD0 + VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $4, DD1, DD1, DD1 + VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $4, DD2, DD2, DD2 + VPALIGNR $12, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $4, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + + SUBQ $16, oup // Adjust the pointer + MOVQ $9, itr1 + JMP sealAVX2InternalLoopStart + +sealAVX2MainLoop: + // Load state, increment counter blocks, store the incremented counters + VMOVDQU ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + MOVQ $10, itr1 + +sealAVX2InternalLoop: + polyAdd(0*8(oup)) + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage1_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulStage2_AVX2 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyMulStage3_AVX2 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + +sealAVX2InternalLoopStart: + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + polyAdd(2*8(oup)) + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage1_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage2_AVX2 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage3_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulReduceStage + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(4*8(oup)) + LEAQ (6*8)(oup), oup + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage1_AVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + polyMulStage2_AVX2 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage3_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + DECQ itr1 + JNE sealAVX2InternalLoop + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + + // We only hashed 480 of the 512 bytes available - hash the remaining 32 here + polyAdd(0*8(oup)) + polyMulAVX2 + LEAQ (4*8)(oup), oup + VPERM2I128 $0x02, AA0, BB0, CC3; VPERM2I128 $0x13, AA0, BB0, BB0; VPERM2I128 $0x02, CC0, DD0, AA0; VPERM2I128 $0x13, CC0, DD0, CC0 + VPXOR (0*32)(inp), CC3, CC3; VPXOR (1*32)(inp), AA0, AA0; VPXOR (2*32)(inp), BB0, BB0; VPXOR (3*32)(inp), CC0, CC0 + VMOVDQU CC3, (0*32)(oup); VMOVDQU AA0, (1*32)(oup); VMOVDQU BB0, (2*32)(oup); VMOVDQU CC0, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + + // and here + polyAdd(-2*8(oup)) + polyMulAVX2 + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + VPXOR (12*32)(inp), AA0, AA0; VPXOR (13*32)(inp), BB0, BB0; VPXOR (14*32)(inp), CC0, CC0; VPXOR (15*32)(inp), DD0, DD0 + VMOVDQU AA0, (12*32)(oup); VMOVDQU BB0, (13*32)(oup); VMOVDQU CC0, (14*32)(oup); VMOVDQU DD0, (15*32)(oup) + LEAQ (32*16)(inp), inp + SUBQ $(32*16), inl + CMPQ inl, $512 + JG sealAVX2MainLoop + + // Tail can only hash 480 bytes + polyAdd(0*8(oup)) + polyMulAVX2 + polyAdd(2*8(oup)) + polyMulAVX2 + LEAQ 32(oup), oup + + MOVQ $10, itr1 + MOVQ $0, itr2 + CMPQ inl, $128 + JBE sealAVX2Tail128 + CMPQ inl, $256 + JBE sealAVX2Tail256 + CMPQ inl, $384 + JBE sealAVX2Tail384 + JMP sealAVX2Tail512 + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 193 bytes +seal192AVX2: + // For up to 192 bytes of ciphertext and 64 bytes for the poly key, we process four blocks + VMOVDQA AA0, AA1 + VMOVDQA BB0, BB1 + VMOVDQA CC0, CC1 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2 + VMOVDQA BB0, BB2 + VMOVDQA CC0, CC2 + VMOVDQA DD0, DD2 + VMOVDQA DD1, TT3 + MOVQ $10, itr2 + +sealAVX2192InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + DECQ itr2 + JNE sealAVX2192InnerCipherLoop + VPADDD AA2, AA0, AA0; VPADDD AA2, AA1, AA1 + VPADDD BB2, BB0, BB0; VPADDD BB2, BB1, BB1 + VPADDD CC2, CC0, CC0; VPADDD CC2, CC1, CC1 + VPADDD DD2, DD0, DD0; VPADDD TT3, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, TT0 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 192 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + +sealAVX2ShortSeal: + // Hash aad + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + XORQ itr1, itr1 + +sealAVX2SealHash: + // itr1 holds the number of bytes encrypted but not yet hashed + CMPQ itr1, $16 + JB sealAVX2ShortSealLoop + polyAdd(0(oup)) + polyMul + SUBQ $16, itr1 + ADDQ $16, oup + JMP sealAVX2SealHash + +sealAVX2ShortSealLoop: + CMPQ inl, $32 + JB sealAVX2ShortTail32 + SUBQ $32, inl + + // Load for encryption + VPXOR (inp), AA0, AA0 + VMOVDQU AA0, (oup) + LEAQ (1*32)(inp), inp + + // Now can hash + polyAdd(0*8(oup)) + polyMulAVX2 + polyAdd(2*8(oup)) + polyMulAVX2 + LEAQ (1*32)(oup), oup + + // Shift stream left + VMOVDQA BB0, AA0 + VMOVDQA CC0, BB0 + VMOVDQA DD0, CC0 + VMOVDQA AA1, DD0 + VMOVDQA BB1, AA1 + VMOVDQA CC1, BB1 + VMOVDQA DD1, CC1 + VMOVDQA AA2, DD1 + VMOVDQA BB2, AA2 + JMP sealAVX2ShortSealLoop + +sealAVX2ShortTail32: + CMPQ inl, $16 + VMOVDQA A0, A1 + JB sealAVX2ShortDone + + SUBQ $16, inl + + // Load for encryption + VPXOR (inp), A0, T0 + VMOVDQU T0, (oup) + LEAQ (1*16)(inp), inp + + // Hash + polyAdd(0*8(oup)) + polyMulAVX2 + LEAQ (1*16)(oup), oup + VPERM2I128 $0x11, AA0, AA0, AA0 + VMOVDQA A0, A1 + +sealAVX2ShortDone: + VZEROUPPER + JMP sealSSETail + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 321 bytes +seal320AVX2: + // For up to 320 bytes of ciphertext and 64 bytes for the poly key, we process six blocks + VMOVDQA AA0, AA1; VMOVDQA BB0, BB1; VMOVDQA CC0, CC1; VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2; VMOVDQA BB0, BB2; VMOVDQA CC0, CC2; VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA BB0, TT1; VMOVDQA CC0, TT2; VMOVDQA DD0, TT3 + MOVQ $10, itr2 + +sealAVX2320InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + DECQ itr2 + JNE sealAVX2320InnerCipherLoop + + VMOVDQA ·chacha20Constants<>(SB), TT0 + VPADDD TT0, AA0, AA0; VPADDD TT0, AA1, AA1; VPADDD TT0, AA2, AA2 + VPADDD TT1, BB0, BB0; VPADDD TT1, BB1, BB1; VPADDD TT1, BB2, BB2 + VPADDD TT2, CC0, CC0; VPADDD TT2, CC1, CC1; VPADDD TT2, CC2, CC2 + VMOVDQA ·avx2IncMask<>(SB), TT0 + VPADDD TT3, DD0, DD0; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD1, DD1; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD2, DD2 + + // Clamp and store poly key + VPERM2I128 $0x02, AA0, BB0, TT0 + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 320 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + VPERM2I128 $0x02, AA2, BB2, CC1 + VPERM2I128 $0x02, CC2, DD2, DD1 + VPERM2I128 $0x13, AA2, BB2, AA2 + VPERM2I128 $0x13, CC2, DD2, BB2 + JMP sealAVX2ShortSeal + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of ciphertext +sealAVX2Tail128: + // Need to decrypt up to 128 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0 + VMOVDQA state1StoreAVX2, BB0 + VMOVDQA state2StoreAVX2, CC0 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VMOVDQA DD0, DD1 + +sealAVX2Tail128LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail128LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + polyAdd(0(oup)) + polyMul + VPALIGNR $4, BB0, BB0, BB0 + VPALIGNR $8, CC0, CC0, CC0 + VPALIGNR $12, DD0, DD0, DD0 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + polyAdd(16(oup)) + polyMul + LEAQ 32(oup), oup + VPALIGNR $12, BB0, BB0, BB0 + VPALIGNR $8, CC0, CC0, CC0 + VPALIGNR $4, DD0, DD0, DD0 + DECQ itr1 + JG sealAVX2Tail128LoopA + DECQ itr2 + JGE sealAVX2Tail128LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA1 + VPADDD state1StoreAVX2, BB0, BB1 + VPADDD state2StoreAVX2, CC0, CC1 + VPADDD DD1, DD0, DD1 + + VPERM2I128 $0x02, AA1, BB1, AA0 + VPERM2I128 $0x02, CC1, DD1, BB0 + VPERM2I128 $0x13, AA1, BB1, CC0 + VPERM2I128 $0x13, CC1, DD1, DD0 + JMP sealAVX2ShortSealLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 256 bytes of ciphertext +sealAVX2Tail256: + // Need to decrypt up to 256 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA ·chacha20Constants<>(SB), AA1 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA state1StoreAVX2, BB1 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA state2StoreAVX2, CC1 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA DD0, TT1 + VMOVDQA DD1, TT2 + +sealAVX2Tail256LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail256LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + polyAdd(0(oup)) + polyMul + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + polyAdd(16(oup)) + polyMul + LEAQ 32(oup), oup + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + DECQ itr1 + JG sealAVX2Tail256LoopA + DECQ itr2 + JGE sealAVX2Tail256LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1 + VPADDD TT1, DD0, DD0; VPADDD TT2, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, TT0 + VPERM2I128 $0x02, CC0, DD0, TT1 + VPERM2I128 $0x13, AA0, BB0, TT2 + VPERM2I128 $0x13, CC0, DD0, TT3 + VPXOR (0*32)(inp), TT0, TT0; VPXOR (1*32)(inp), TT1, TT1; VPXOR (2*32)(inp), TT2, TT2; VPXOR (3*32)(inp), TT3, TT3 + VMOVDQU TT0, (0*32)(oup); VMOVDQU TT1, (1*32)(oup); VMOVDQU TT2, (2*32)(oup); VMOVDQU TT3, (3*32)(oup) + MOVQ $128, itr1 + LEAQ 128(inp), inp + SUBQ $128, inl + VPERM2I128 $0x02, AA1, BB1, AA0 + VPERM2I128 $0x02, CC1, DD1, BB0 + VPERM2I128 $0x13, AA1, BB1, CC0 + VPERM2I128 $0x13, CC1, DD1, DD0 + + JMP sealAVX2SealHash + +// ---------------------------------------------------------------------------- +// Special optimization for the last 384 bytes of ciphertext +sealAVX2Tail384: + // Need to decrypt up to 384 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA DD0, TT1; VMOVDQA DD1, TT2; VMOVDQA DD2, TT3 + +sealAVX2Tail384LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail384LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + polyAdd(0(oup)) + polyMul + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + polyAdd(16(oup)) + polyMul + LEAQ 32(oup), oup + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + DECQ itr1 + JG sealAVX2Tail384LoopA + DECQ itr2 + JGE sealAVX2Tail384LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2 + VPADDD TT1, DD0, DD0; VPADDD TT2, DD1, DD1; VPADDD TT3, DD2, DD2 + VPERM2I128 $0x02, AA0, BB0, TT0 + VPERM2I128 $0x02, CC0, DD0, TT1 + VPERM2I128 $0x13, AA0, BB0, TT2 + VPERM2I128 $0x13, CC0, DD0, TT3 + VPXOR (0*32)(inp), TT0, TT0; VPXOR (1*32)(inp), TT1, TT1; VPXOR (2*32)(inp), TT2, TT2; VPXOR (3*32)(inp), TT3, TT3 + VMOVDQU TT0, (0*32)(oup); VMOVDQU TT1, (1*32)(oup); VMOVDQU TT2, (2*32)(oup); VMOVDQU TT3, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, TT0 + VPERM2I128 $0x02, CC1, DD1, TT1 + VPERM2I128 $0x13, AA1, BB1, TT2 + VPERM2I128 $0x13, CC1, DD1, TT3 + VPXOR (4*32)(inp), TT0, TT0; VPXOR (5*32)(inp), TT1, TT1; VPXOR (6*32)(inp), TT2, TT2; VPXOR (7*32)(inp), TT3, TT3 + VMOVDQU TT0, (4*32)(oup); VMOVDQU TT1, (5*32)(oup); VMOVDQU TT2, (6*32)(oup); VMOVDQU TT3, (7*32)(oup) + MOVQ $256, itr1 + LEAQ 256(inp), inp + SUBQ $256, inl + VPERM2I128 $0x02, AA2, BB2, AA0 + VPERM2I128 $0x02, CC2, DD2, BB0 + VPERM2I128 $0x13, AA2, BB2, CC0 + VPERM2I128 $0x13, CC2, DD2, DD0 + + JMP sealAVX2SealHash + +// ---------------------------------------------------------------------------- +// Special optimization for the last 512 bytes of ciphertext +sealAVX2Tail512: + // Need to decrypt up to 512 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + +sealAVX2Tail512LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail512LoopB: + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyAdd(0*8(oup)) + polyMulAVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(2*8(oup)) + polyMulAVX2 + LEAQ (4*8)(oup), oup + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + + DECQ itr1 + JG sealAVX2Tail512LoopA + DECQ itr2 + JGE sealAVX2Tail512LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + VPERM2I128 $0x02, AA0, BB0, CC3 + VPXOR (0*32)(inp), CC3, CC3 + VMOVDQU CC3, (0*32)(oup) + VPERM2I128 $0x02, CC0, DD0, CC3 + VPXOR (1*32)(inp), CC3, CC3 + VMOVDQU CC3, (1*32)(oup) + VPERM2I128 $0x13, AA0, BB0, CC3 + VPXOR (2*32)(inp), CC3, CC3 + VMOVDQU CC3, (2*32)(oup) + VPERM2I128 $0x13, CC0, DD0, CC3 + VPXOR (3*32)(inp), CC3, CC3 + VMOVDQU CC3, (3*32)(oup) + + VPERM2I128 $0x02, AA1, BB1, AA0 + VPERM2I128 $0x02, CC1, DD1, BB0 + VPERM2I128 $0x13, AA1, BB1, CC0 + VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + + VPERM2I128 $0x02, AA2, BB2, AA0 + VPERM2I128 $0x02, CC2, DD2, BB0 + VPERM2I128 $0x13, AA2, BB2, CC0 + VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + + MOVQ $384, itr1 + LEAQ 384(inp), inp + SUBQ $384, inl + VPERM2I128 $0x02, AA3, BB3, AA0 + VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0 + VPERM2I128 $0x13, AA3, BB3, CC0 + VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + + JMP sealAVX2SealHash + +// func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) +TEXT ·cpuid(SB), NOSPLIT, $0-24 + MOVL eaxArg+0(FP), AX + MOVL ecxArg+4(FP), CX + CPUID + MOVL AX, eax+8(FP) + MOVL BX, ebx+12(FP) + MOVL CX, ecx+16(FP) + MOVL DX, edx+20(FP) + RET + +// func xgetbv() (eax, edx uint32) +TEXT ·xgetbv(SB),NOSPLIT,$0-8 + MOVL $0, CX + XGETBV + MOVL AX, eax+0(FP) + MOVL DX, edx+4(FP) + RET diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_generic.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_generic.go new file mode 100644 index 00000000..6b6d99bd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_generic.go @@ -0,0 +1,70 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package chacha20poly1305 + +import ( + "encoding/binary" + + "github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20" + "github.com/skycoin/skycoin/src/cipher/poly1305" +) + +func roundTo16(n int) int { + return 16 * ((n + 15) / 16) +} + +func (c *chacha20poly1305) sealGeneric(dst, nonce, plaintext, additionalData []byte) []byte { + var counter [16]byte + copy(counter[4:], nonce) + + var polyKey [32]byte + chacha20.XORKeyStream(polyKey[:], polyKey[:], &counter, &c.key) + + ret, out := sliceForAppend(dst, len(plaintext)+poly1305.TagSize) + counter[0] = 1 + chacha20.XORKeyStream(out, plaintext, &counter, &c.key) + + polyInput := make([]byte, roundTo16(len(additionalData))+roundTo16(len(plaintext))+8+8) + copy(polyInput, additionalData) + copy(polyInput[roundTo16(len(additionalData)):], out[:len(plaintext)]) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-16:], uint64(len(additionalData))) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-8:], uint64(len(plaintext))) + + var tag [poly1305.TagSize]byte + poly1305.Sum(&tag, polyInput, &polyKey) + copy(out[len(plaintext):], tag[:]) + + return ret +} + +func (c *chacha20poly1305) openGeneric(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + var tag [poly1305.TagSize]byte + copy(tag[:], ciphertext[len(ciphertext)-16:]) + ciphertext = ciphertext[:len(ciphertext)-16] + + var counter [16]byte + copy(counter[4:], nonce) + + var polyKey [32]byte + chacha20.XORKeyStream(polyKey[:], polyKey[:], &counter, &c.key) + + polyInput := make([]byte, roundTo16(len(additionalData))+roundTo16(len(ciphertext))+8+8) + copy(polyInput, additionalData) + copy(polyInput[roundTo16(len(additionalData)):], ciphertext) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-16:], uint64(len(additionalData))) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-8:], uint64(len(ciphertext))) + + ret, out := sliceForAppend(dst, len(ciphertext)) + if !poly1305.Verify(&tag, polyInput, &polyKey) { + for i := range out { + out[i] = 0 + } + return nil, errOpen + } + + counter[0] = 1 + chacha20.XORKeyStream(out, ciphertext, &counter, &c.key) + return ret, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_noasm.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_noasm.go new file mode 100644 index 00000000..4c2eb703 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/chacha20poly1305_noasm.go @@ -0,0 +1,15 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !amd64 !go1.7 gccgo appengine + +package chacha20poly1305 + +func (c *chacha20poly1305) seal(dst, nonce, plaintext, additionalData []byte) []byte { + return c.sealGeneric(dst, nonce, plaintext, additionalData) +} + +func (c *chacha20poly1305) open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + return c.openGeneric(dst, nonce, ciphertext, additionalData) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_generic.go b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_generic.go new file mode 100644 index 00000000..b017a731 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/chacha20poly1305/internal/chacha20/chacha_generic.go @@ -0,0 +1,199 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package chacha20 implements the core ChaCha20 function as specified in https://tools.ietf.org/html/rfc7539#section-2.3. +package chacha20 + +import "encoding/binary" + +const rounds = 20 + +// core applies the ChaCha20 core function to 16-byte input in, 32-byte key k, +// and 16-byte constant c, and puts the result into 64-byte array out. +func core(out *[64]byte, in *[16]byte, k *[32]byte) { + j0 := uint32(0x61707865) + j1 := uint32(0x3320646e) + j2 := uint32(0x79622d32) + j3 := uint32(0x6b206574) + j4 := binary.LittleEndian.Uint32(k[0:4]) + j5 := binary.LittleEndian.Uint32(k[4:8]) + j6 := binary.LittleEndian.Uint32(k[8:12]) + j7 := binary.LittleEndian.Uint32(k[12:16]) + j8 := binary.LittleEndian.Uint32(k[16:20]) + j9 := binary.LittleEndian.Uint32(k[20:24]) + j10 := binary.LittleEndian.Uint32(k[24:28]) + j11 := binary.LittleEndian.Uint32(k[28:32]) + j12 := binary.LittleEndian.Uint32(in[0:4]) + j13 := binary.LittleEndian.Uint32(in[4:8]) + j14 := binary.LittleEndian.Uint32(in[8:12]) + j15 := binary.LittleEndian.Uint32(in[12:16]) + + x0, x1, x2, x3, x4, x5, x6, x7 := j0, j1, j2, j3, j4, j5, j6, j7 + x8, x9, x10, x11, x12, x13, x14, x15 := j8, j9, j10, j11, j12, j13, j14, j15 + + for i := 0; i < rounds; i += 2 { + x0 += x4 + x12 ^= x0 + x12 = (x12 << 16) | (x12 >> (16)) + x8 += x12 + x4 ^= x8 + x4 = (x4 << 12) | (x4 >> (20)) + x0 += x4 + x12 ^= x0 + x12 = (x12 << 8) | (x12 >> (24)) + x8 += x12 + x4 ^= x8 + x4 = (x4 << 7) | (x4 >> (25)) + x1 += x5 + x13 ^= x1 + x13 = (x13 << 16) | (x13 >> 16) + x9 += x13 + x5 ^= x9 + x5 = (x5 << 12) | (x5 >> 20) + x1 += x5 + x13 ^= x1 + x13 = (x13 << 8) | (x13 >> 24) + x9 += x13 + x5 ^= x9 + x5 = (x5 << 7) | (x5 >> 25) + x2 += x6 + x14 ^= x2 + x14 = (x14 << 16) | (x14 >> 16) + x10 += x14 + x6 ^= x10 + x6 = (x6 << 12) | (x6 >> 20) + x2 += x6 + x14 ^= x2 + x14 = (x14 << 8) | (x14 >> 24) + x10 += x14 + x6 ^= x10 + x6 = (x6 << 7) | (x6 >> 25) + x3 += x7 + x15 ^= x3 + x15 = (x15 << 16) | (x15 >> 16) + x11 += x15 + x7 ^= x11 + x7 = (x7 << 12) | (x7 >> 20) + x3 += x7 + x15 ^= x3 + x15 = (x15 << 8) | (x15 >> 24) + x11 += x15 + x7 ^= x11 + x7 = (x7 << 7) | (x7 >> 25) + x0 += x5 + x15 ^= x0 + x15 = (x15 << 16) | (x15 >> 16) + x10 += x15 + x5 ^= x10 + x5 = (x5 << 12) | (x5 >> 20) + x0 += x5 + x15 ^= x0 + x15 = (x15 << 8) | (x15 >> 24) + x10 += x15 + x5 ^= x10 + x5 = (x5 << 7) | (x5 >> 25) + x1 += x6 + x12 ^= x1 + x12 = (x12 << 16) | (x12 >> 16) + x11 += x12 + x6 ^= x11 + x6 = (x6 << 12) | (x6 >> 20) + x1 += x6 + x12 ^= x1 + x12 = (x12 << 8) | (x12 >> 24) + x11 += x12 + x6 ^= x11 + x6 = (x6 << 7) | (x6 >> 25) + x2 += x7 + x13 ^= x2 + x13 = (x13 << 16) | (x13 >> 16) + x8 += x13 + x7 ^= x8 + x7 = (x7 << 12) | (x7 >> 20) + x2 += x7 + x13 ^= x2 + x13 = (x13 << 8) | (x13 >> 24) + x8 += x13 + x7 ^= x8 + x7 = (x7 << 7) | (x7 >> 25) + x3 += x4 + x14 ^= x3 + x14 = (x14 << 16) | (x14 >> 16) + x9 += x14 + x4 ^= x9 + x4 = (x4 << 12) | (x4 >> 20) + x3 += x4 + x14 ^= x3 + x14 = (x14 << 8) | (x14 >> 24) + x9 += x14 + x4 ^= x9 + x4 = (x4 << 7) | (x4 >> 25) + } + + x0 += j0 + x1 += j1 + x2 += j2 + x3 += j3 + x4 += j4 + x5 += j5 + x6 += j6 + x7 += j7 + x8 += j8 + x9 += j9 + x10 += j10 + x11 += j11 + x12 += j12 + x13 += j13 + x14 += j14 + x15 += j15 + + binary.LittleEndian.PutUint32(out[0:4], x0) + binary.LittleEndian.PutUint32(out[4:8], x1) + binary.LittleEndian.PutUint32(out[8:12], x2) + binary.LittleEndian.PutUint32(out[12:16], x3) + binary.LittleEndian.PutUint32(out[16:20], x4) + binary.LittleEndian.PutUint32(out[20:24], x5) + binary.LittleEndian.PutUint32(out[24:28], x6) + binary.LittleEndian.PutUint32(out[28:32], x7) + binary.LittleEndian.PutUint32(out[32:36], x8) + binary.LittleEndian.PutUint32(out[36:40], x9) + binary.LittleEndian.PutUint32(out[40:44], x10) + binary.LittleEndian.PutUint32(out[44:48], x11) + binary.LittleEndian.PutUint32(out[48:52], x12) + binary.LittleEndian.PutUint32(out[52:56], x13) + binary.LittleEndian.PutUint32(out[56:60], x14) + binary.LittleEndian.PutUint32(out[60:64], x15) +} + +// XORKeyStream crypts bytes from in to out using the given key and counters. +// In and out may be the same slice but otherwise should not overlap. Counter +// contains the raw ChaCha20 counter bytes (i.e. block counter followed by +// nonce). +func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) { + var block [64]byte + var counterCopy [16]byte + copy(counterCopy[:], counter[:]) + + for len(in) >= 64 { + core(&block, &counterCopy, key) + for i, x := range block { + out[i] = in[i] ^ x + } + u := uint32(1) + for i := 0; i < 4; i++ { + u += uint32(counterCopy[i]) + counterCopy[i] = byte(u) + u >>= 8 + } + in = in[64:] + out = out[64:] + } + + if len(in) > 0 { + core(&block, &counterCopy, key) + for i, v := range in { + out[i] = v ^ block[i] + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/crypto.go b/vendor/github.com/skycoin/skycoin/src/cipher/crypto.go new file mode 100644 index 00000000..53bce1fe --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/crypto.go @@ -0,0 +1,713 @@ +/* +Package cipher implements cryptographic methods. + +These methods include: + +* Public and private key generation +* Address generation +* Signing + +Private keys are secp256k1 keys. Addresses are base58 encoded. + +All dependencies are either from the go stdlib, or are manually vendored +below this package. This manual vendoring ensures that the exact same dependencies +are used by any user of this package, regardless of their gopath. +*/ +package cipher + +import ( + "crypto/sha256" + "encoding/hex" + "errors" + "fmt" + "hash" + "log" + "time" + + "github.com/skycoin/skycoin/src/cipher/ripemd160" + secp256k1 "github.com/skycoin/skycoin/src/cipher/secp256k1-go" +) + +var ( + // DebugLevel1 debug level one + DebugLevel1 = true //checks for extremely unlikely conditions (10e-40) + // DebugLevel2 debug level two + DebugLevel2 = true //enable checks for impossible conditions + + // ErrInvalidLengthPubKey Invalid public key length + ErrInvalidLengthPubKey = errors.New("Invalid public key length") + // ErrPubKeyFromNullSecKey Attempt to load null seckey, unsafe + ErrPubKeyFromNullSecKey = errors.New("Attempt to load null seckey, unsafe") + // ErrPubKeyFromBadSecKey PubKeyFromSecKey, pubkey recovery failed. Function + ErrPubKeyFromBadSecKey = errors.New("PubKeyFromSecKey, pubkey recovery failed. Function assumes seckey is valid. Check seckey") + // ErrInvalidLengthSecKey Invalid secret key length + ErrInvalidLengthSecKey = errors.New("Invalid secret key length") + // ErrECHDInvalidPubKey ECDH invalid pubkey input + ErrECHDInvalidPubKey = errors.New("ECDH invalid pubkey input") + // ErrECHDInvalidSecKey ECDH invalid seckey input + ErrECHDInvalidSecKey = errors.New("ECDH invalid seckey input") + // ErrInvalidLengthSig Invalid signature length + ErrInvalidLengthSig = errors.New("Invalid signature length") + // ErrInvalidPubKey Invalid public key + ErrInvalidPubKey = errors.New("Invalid public key") + // ErrInvalidSecKey Invalid secret key + ErrInvalidSecKey = errors.New("Invalid secret key") + // ErrNullSignHash Attempted to sign null hash digest + ErrNullSignHash = errors.New("Cannot sign null hash digest") + // ErrInvalidSig Invalid signature + ErrInvalidSig = errors.New("Invalid signature") + // ErrInvalidSigPubKeyRecovery could not recover pubkey from sig + ErrInvalidSigPubKeyRecovery = errors.New("Failed to recover pubkey from signature") + // ErrInvalidAddressForSig the address derived from the pubkey recovered from the signature does not match a provided address + ErrInvalidAddressForSig = errors.New("Address does not match recovered signing address") + // ErrInvalidHashForSig Signature invalid for hash + ErrInvalidHashForSig = errors.New("Signature not valid for hash") + // ErrPubKeyRecoverMismatch Recovered pubkey does not match pubkey + ErrPubKeyRecoverMismatch = errors.New("Recovered pubkey does not match pubkey") + // ErrInvalidSigInvalidPubKey VerifySignatureRecoverPubKey, secp256k1.VerifyPubkey failed + ErrInvalidSigInvalidPubKey = errors.New("VerifySignatureRecoverPubKey, secp256k1.VerifyPubkey failed") + // ErrInvalidSigValidity VerifySignatureRecoverPubKey, VerifySignatureValidity failed + ErrInvalidSigValidity = errors.New("VerifySignatureRecoverPubKey, VerifySignatureValidity failed") + // ErrInvalidSigForMessage Invalid signature for this message + ErrInvalidSigForMessage = errors.New("Invalid signature for this message") + // ErrInvalidSecKyVerification Seckey secp256k1 verification failed + ErrInvalidSecKyVerification = errors.New("Seckey verification failed") + // ErrNullPubKeyFromSecKey Impossible error, TestSecKey, nil pubkey recovered + ErrNullPubKeyFromSecKey = errors.New("impossible error, TestSecKey, nil pubkey recovered") + // ErrInvalidDerivedPubKeyFromSecKey impossible error, TestSecKey, Derived Pubkey verification failed + ErrInvalidDerivedPubKeyFromSecKey = errors.New("impossible error, TestSecKey, Derived Pubkey verification failed") + // ErrInvalidPubKeyFromHash Recovered pubkey does not match signed hash + ErrInvalidPubKeyFromHash = errors.New("Recovered pubkey does not match signed hash") + // ErrPubKeyFromSecKeyMismatch impossible error TestSecKey, pubkey does not match recovered pubkey + ErrPubKeyFromSecKeyMismatch = errors.New("impossible error TestSecKey, pubkey does not match recovered pubkey") + // ErrEmptySeed Seed input is empty + ErrEmptySeed = errors.New("Seed input is empty") +) + +// PubKey public key +type PubKey [33]byte + +// RandByte returns rand N bytes +func RandByte(n int) []byte { + return secp256k1.RandByte(n) +} + +// NewPubKey converts []byte to a PubKey +func NewPubKey(b []byte) (PubKey, error) { + p := PubKey{} + if len(b) != len(p) { + return PubKey{}, ErrInvalidLengthPubKey + } + copy(p[:], b[:]) + + if err := p.Verify(); err != nil { + return PubKey{}, err + } + + return p, nil +} + +// MustNewPubKey converts []byte to a PubKey, panics on error +func MustNewPubKey(b []byte) PubKey { + p, err := NewPubKey(b) + if err != nil { + log.Panic(err) + } + return p +} + +// PubKeyFromHex generates PubKey from hex string +func PubKeyFromHex(s string) (PubKey, error) { + b, err := hex.DecodeString(s) + if err != nil { + return PubKey{}, ErrInvalidPubKey + } + return NewPubKey(b) +} + +// MustPubKeyFromHex decodes a hex encoded PubKey, panics on error +func MustPubKeyFromHex(s string) PubKey { + b, err := hex.DecodeString(s) + if err != nil { + log.Panic(err) + } + return MustNewPubKey(b) +} + +// PubKeyFromSecKey recovers the public key for a secret key +func PubKeyFromSecKey(seckey SecKey) (PubKey, error) { + if seckey.Null() { + return PubKey{}, ErrPubKeyFromNullSecKey + } + + b := secp256k1.PubkeyFromSeckey(seckey[:]) + if b == nil { + return PubKey{}, ErrPubKeyFromBadSecKey + } + + return NewPubKey(b) +} + +// MustPubKeyFromSecKey recovers the public key for a secret key. Panics on error. +func MustPubKeyFromSecKey(seckey SecKey) PubKey { + pk, err := PubKeyFromSecKey(seckey) + if err != nil { + log.Panic(err) + } + return pk +} + +// PubKeyFromSig recovers the public key from a signed hash +func PubKeyFromSig(sig Sig, hash SHA256) (PubKey, error) { + rawPubKey := secp256k1.RecoverPubkey(hash[:], sig[:]) + if rawPubKey == nil { + return PubKey{}, ErrInvalidSigPubKeyRecovery + } + return NewPubKey(rawPubKey) +} + +// MustPubKeyFromSig recovers the public key from a signed hash, panics on error +func MustPubKeyFromSig(sig Sig, hash SHA256) PubKey { + pk, err := PubKeyFromSig(sig, hash) + if err != nil { + log.Panic(err) + } + return pk +} + +// Verify attempts to determine if pubkey is valid. Returns nil on success +func (pk PubKey) Verify() error { + if secp256k1.VerifyPubkey(pk[:]) != 1 { + return ErrInvalidPubKey + } + return nil +} + +// Hex returns a hex encoded PubKey string +func (pk PubKey) Hex() string { + return hex.EncodeToString(pk[:]) +} + +// Null returns true if PubKey is the null PubKey +func (pk PubKey) Null() bool { + return pk == PubKey{} +} + +// SecKey secret key +type SecKey [32]byte + +// NewSecKey converts []byte to a SecKey +func NewSecKey(b []byte) (SecKey, error) { + p := SecKey{} + if len(b) != len(p) { + return SecKey{}, ErrInvalidLengthSecKey + } + copy(p[:], b[:]) + + // Disable the DebugLevel2 check here because it is too slow. + // If desired, perform the full Verify() check after using this method + if err := p.verify(false); err != nil { + return SecKey{}, err + } + + return p, nil +} + +// MustNewSecKey converts []byte to a SecKey. Panics is []byte is not the exact size +func MustNewSecKey(b []byte) SecKey { + p, err := NewSecKey(b) + if err != nil { + log.Panic(err) + } + return p +} + +// MustSecKeyFromHex decodes a hex encoded SecKey, or panics +func MustSecKeyFromHex(s string) SecKey { + b, err := hex.DecodeString(s) + if err != nil { + log.Panic(err) + } + return MustNewSecKey(b) +} + +// SecKeyFromHex decodes a hex encoded SecKey, or panics +func SecKeyFromHex(s string) (SecKey, error) { + b, err := hex.DecodeString(s) + if err != nil { + return SecKey{}, ErrInvalidSecKey + } + return NewSecKey(b) +} + +// Verify attempts to determine if SecKey is valid. Returns nil on success. +// If DebugLevel2, will do additional sanity checking +func (sk SecKey) Verify() error { + return sk.verify(DebugLevel2) +} + +func (sk SecKey) verify(debugLevel2Check bool) error { + if secp256k1.VerifySeckey(sk[:]) != 1 { + return ErrInvalidSecKey + } + + if debugLevel2Check { + if err := CheckSecKey(sk); err != nil { + log.Panicf("DebugLevel2, WARNING CRYPTO ARMAGEDDON: %v", err) + } + } + + return nil +} + +// Hex returns a hex encoded SecKey string +func (sk SecKey) Hex() string { + return hex.EncodeToString(sk[:]) +} + +// Null returns true if SecKey is the null SecKey +func (sk SecKey) Null() bool { + return sk == SecKey{} +} + +//ECDH generates a shared secret +// A: pub1,sec1 +// B: pub2,sec2 +// person A sends their public key pub1 +// person B sends an emphameral pubkey pub2 +// person A computes cipher.ECDH(pub2, sec1) +// person B computes cipher.ECDH(pub1, sec2) +// cipher.ECDH(pub2, sec1) equals cipher.ECDH(pub1, sec2) +// This is their shared secret +func ECDH(pub PubKey, sec SecKey) ([]byte, error) { + if err := pub.Verify(); err != nil { + return nil, ErrECHDInvalidPubKey + } + + // Don't perform the DebugLevel2 verification check for the secret key, + // it is too slow to use in an ECDH context and is not important for that use case + if err := sec.verify(false); err != nil { + return nil, ErrECHDInvalidSecKey + } + + buff := secp256k1.ECDH(pub[:], sec[:]) + ret := SumSHA256(buff) // hash this so they cant screw up + return ret[:], nil +} + +// MustECDH calls ECDH and panics on error +func MustECDH(pub PubKey, sec SecKey) []byte { + r, err := ECDH(pub, sec) + if err != nil { + log.Panic(err) + } + return r +} + +// Sig signature +type Sig [64 + 1]byte //64 byte signature with 1 byte for key recovery + +// NewSig converts []byte to a Sig +func NewSig(b []byte) (Sig, error) { + s := Sig{} + if len(b) != len(s) { + return Sig{}, ErrInvalidLengthSig + } + copy(s[:], b[:]) + return s, nil +} + +// MustNewSig converts []byte to a Sig. Panics is []byte is not the exact size +func MustNewSig(b []byte) Sig { + s := Sig{} + if len(b) != len(s) { + log.Panic("Invalid signature length") + } + copy(s[:], b[:]) + return s +} + +// SigFromHex converts a hex string to a signature +func SigFromHex(s string) (Sig, error) { + b, err := hex.DecodeString(s) + if err != nil { + return Sig{}, ErrInvalidSig + } + return NewSig(b) +} + +// MustSigFromHex converts a hex string to a signature, panics on error +func MustSigFromHex(s string) Sig { + sig, err := SigFromHex(s) + if err != nil { + log.Panic(err) + } + return sig +} + +func (s Sig) String() string { + return s.Hex() +} + +// Null returns true if the Sig is a null Sig +func (s Sig) Null() bool { + return s == Sig{} +} + +// Hex converts signature to hex string +func (s Sig) Hex() string { + return hex.EncodeToString(s[:]) +} + +// SignHash sign hash +func SignHash(hash SHA256, sec SecKey) (Sig, error) { + if secp256k1.VerifySeckey(sec[:]) != 1 { + // Can't use sec.Verify() because that calls SignHash again, with DebugLevel2 set + return Sig{}, ErrInvalidSecKey + } + + // Null hashes can't be signed + if hash.Null() { + return Sig{}, ErrNullSignHash + } + + s := secp256k1.Sign(hash[:], sec[:]) + + sig, err := NewSig(s) + if err != nil { + return Sig{}, err + } + + if DebugLevel2 || DebugLevel1 { + // Guard against coin loss; + // if the generated signature is somehow invalid, coins would be lost, + // make sure that the signature is valid + pubkey, err := PubKeyFromSig(sig, hash) + if err != nil { + log.Panic("SignHash error: pubkey from sig recovery failure") + } + if VerifyPubKeySignedHash(pubkey, sig, hash) != nil { + log.Panic("SignHash error: secp256k1.Sign returned non-null invalid non-null signature") + } + if VerifyAddressSignedHash(AddressFromPubKey(pubkey), sig, hash) != nil { + log.Panic("SignHash error: VerifyAddressSignedHash failed for signature") + } + } + + return sig, nil +} + +// MustSignHash sign hash, panics on error +func MustSignHash(hash SHA256, sec SecKey) Sig { + sig, err := SignHash(hash, sec) + if err != nil { + log.Panic(err) + } + return sig +} + +// VerifyAddressSignedHash checks whether PubKey corresponding to address hash signed hash +// - recovers the PubKey from sig and hash +// - fail if PubKey cannot be be recovered +// - computes the address from the PubKey +// - fail if recovered address does not match PubKey hash +// - verify that signature is valid for hash for PubKey +func VerifyAddressSignedHash(address Address, sig Sig, hash SHA256) error { + rawPubKey := secp256k1.RecoverPubkey(hash[:], sig[:]) + if rawPubKey == nil { + return ErrInvalidSigPubKeyRecovery + } + + pubKey, err := NewPubKey(rawPubKey) + if err != nil { + return err + } + + if address != AddressFromPubKey(pubKey) { + return ErrInvalidAddressForSig + } + + if secp256k1.VerifySignature(hash[:], sig[:], rawPubKey[:]) != 1 { + return ErrInvalidHashForSig + } + + return nil +} + +// VerifyPubKeySignedHash verifies that hash was signed by PubKey +func VerifyPubKeySignedHash(pubkey PubKey, sig Sig, hash SHA256) error { + pubkeyRec, err := PubKeyFromSig(sig, hash) // recovered pubkey + if err != nil { + return ErrInvalidSigPubKeyRecovery + } + if pubkeyRec != pubkey { + return ErrPubKeyRecoverMismatch + } + if secp256k1.VerifyPubkey(pubkey[:]) != 1 { + if DebugLevel2 { + if secp256k1.VerifySignature(hash[:], sig[:], pubkey[:]) == 1 { + log.Panic("VerifyPubKeySignedHash warning, invalid pubkey is valid for signature") + } + } + return ErrInvalidSigInvalidPubKey + } + if secp256k1.VerifySignatureValidity(sig[:]) != 1 { + return ErrInvalidSigValidity + } + if secp256k1.VerifySignature(hash[:], sig[:], pubkey[:]) != 1 { + return ErrInvalidSigForMessage + } + return nil +} + +// VerifySignatureRecoverPubKey this only checks that the signature can be converted to a public key. +// It does not check that the signature signed the hash. +// The original public key or address is required to verify that the signature signed the hash. +func VerifySignatureRecoverPubKey(sig Sig, hash SHA256) error { + rawPubKey := secp256k1.RecoverPubkey(hash[:], sig[:]) + if rawPubKey == nil { + return ErrInvalidSigPubKeyRecovery + } + if secp256k1.VerifySignature(hash[:], sig[:], rawPubKey) != 1 { + // This should always pass; the recovered pubkey should always be valid + return ErrInvalidHashForSig + } + return nil +} + +// GenerateKeyPair creates key pair +func GenerateKeyPair() (PubKey, SecKey) { + public, secret := secp256k1.GenerateKeyPair() + + secKey, err := NewSecKey(secret) + if err != nil { + log.Panicf("GenerateKeyPair: secp256k1.GenerateKeyPair returned invalid secKey: %v", err) + } + + pubKey, err := NewPubKey(public) + if err != nil { + log.Panicf("GenerateKeyPair: secp256k1.GenerateKeyPair returned invalid pubKey: %v", err) + } + + if DebugLevel1 { + if err := CheckSecKey(secKey); err != nil { + log.Panicf("DebugLevel1, GenerateKeyPair, generated private key failed CheckSecKey: %v", err) + } + + if MustPubKeyFromSecKey(secKey) != pubKey { + log.Panic("DebugLevel1, GenerateKeyPair, public key does not match private key") + } + } + + return pubKey, secKey +} + +// GenerateDeterministicKeyPair generates deterministic key pair +func GenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey, error) { + if len(seed) == 0 { + return PubKey{}, SecKey{}, ErrEmptySeed + } + + public, secret := secp256k1.GenerateDeterministicKeyPair(seed) + + secKey, err := NewSecKey(secret) + if err != nil { + log.Panicf("GenerateDeterministicKeyPair: secp256k1.GenerateDeterministicKeyPair returned invalid secKey: %v", err) + } + + pubKey, err := NewPubKey(public) + if err != nil { + log.Panicf("GenerateDeterministicKeyPair: secp256k1.GenerateDeterministicKeyPair returned invalid pubKey: %v", err) + } + + if DebugLevel1 { + if err := CheckSecKey(secKey); err != nil { + log.Panicf("DebugLevel1, GenerateDeterministicKeyPair, CheckSecKey failed: %v", err) + } + + if MustPubKeyFromSecKey(secKey) != pubKey { + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, public key does not match private key") + } + } + + return pubKey, secKey, nil +} + +// MustGenerateDeterministicKeyPair generates deterministic key pair, panics on error +func MustGenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey) { + p, s, err := GenerateDeterministicKeyPair(seed) + if err != nil { + log.Panic(err) + } + return p, s +} + +// DeterministicKeyPairIterator takes SHA256 value, returns a new +// SHA256 value and publickey and private key. Apply multiple times +// feeding the SHA256 value back into generate sequence of keys +func DeterministicKeyPairIterator(seed []byte) ([]byte, PubKey, SecKey, error) { + if len(seed) == 0 { + return nil, PubKey{}, SecKey{}, ErrEmptySeed + } + + hash, public, secret := secp256k1.DeterministicKeyPairIterator(seed) + + secKey := MustNewSecKey(secret) + pubKey := MustNewPubKey(public) + + if DebugLevel1 { + if err := CheckSecKey(secKey); err != nil { + log.Panicf("DebugLevel1, DeterministicKeyPairIterator, CheckSecKey failed: %v", err) + } + + if MustPubKeyFromSecKey(secKey) != pubKey { + log.Panic("DebugLevel1, DeterministicKeyPairIterator, public key does not match private key") + } + } + + return hash, pubKey, secKey, nil +} + +// MustDeterministicKeyPairIterator takes SHA256 value, returns a new +// SHA256 value and publickey and private key. Apply multiple times +// feeding the SHA256 value back into generate sequence of keys, panics on error +func MustDeterministicKeyPairIterator(seed []byte) ([]byte, PubKey, SecKey) { + hash, p, s, err := DeterministicKeyPairIterator(seed) + if err != nil { + log.Panic(err) + } + return hash, p, s +} + +// GenerateDeterministicKeyPairs returns sequence of n private keys from initial seed +func GenerateDeterministicKeyPairs(seed []byte, n int) ([]SecKey, error) { + _, keys, err := GenerateDeterministicKeyPairsSeed(seed, n) + return keys, err +} + +// MustGenerateDeterministicKeyPairs returns sequence of n private keys from initial seed, panics on error +func MustGenerateDeterministicKeyPairs(seed []byte, n int) []SecKey { + keys, err := GenerateDeterministicKeyPairs(seed, n) + if err != nil { + log.Panic(err) + } + return keys +} + +// GenerateDeterministicKeyPairsSeed returns sequence of n private keys from initial seed, and return the new seed +func GenerateDeterministicKeyPairsSeed(seed []byte, n int) ([]byte, []SecKey, error) { + var keys []SecKey + var seckey SecKey + for i := 0; i < n; i++ { + var err error + seed, _, seckey, err = DeterministicKeyPairIterator(seed) + if err != nil { + return nil, nil, err + } + keys = append(keys, seckey) + } + return seed, keys, nil +} + +// MustGenerateDeterministicKeyPairsSeed returns sequence of n private keys from initial seed, and return the new seed +func MustGenerateDeterministicKeyPairsSeed(seed []byte, n int) ([]byte, []SecKey) { + newSeed, keys, err := GenerateDeterministicKeyPairsSeed(seed, n) + if err != nil { + log.Panic(err) + } + return newSeed, keys +} + +// CheckSecKey test seckey hash +func CheckSecKey(seckey SecKey) error { + hash := SumSHA256([]byte(time.Now().String())) + return CheckSecKeyHash(seckey, hash) +} + +// CheckSecKeyHash performs a series of tests to determine if a seckey is valid. +// All generated keys and keys loaded from disc must pass the CheckSecKey suite. +// TestPrivKey returns error if a key fails any test in the test suite. +func CheckSecKeyHash(seckey SecKey, hash SHA256) error { + // check seckey with verify + if secp256k1.VerifySeckey(seckey[:]) != 1 { + return ErrInvalidSecKyVerification + } + + // check pubkey recovery + pubkey, err := PubKeyFromSecKey(seckey) + if err != nil { + return fmt.Errorf("PubKeyFromSecKey failed: %v", err) + } + if pubkey == (PubKey{}) { + return ErrNullPubKeyFromSecKey + } + // verify recovered pubkey + if secp256k1.VerifyPubkey(pubkey[:]) != 1 { + return ErrInvalidDerivedPubKeyFromSecKey + } + + // check signature production + sig, err := SignHash(hash, seckey) + if err != nil { + return fmt.Errorf("SignHash failed: %v", err) + } + + pubkey2, err := PubKeyFromSig(sig, hash) + if err != nil { + return fmt.Errorf("PubKeyFromSig failed: %v", err) + } + if pubkey != pubkey2 { + return ErrInvalidPubKeyFromHash + } + + // check pubkey recovered from sig + recoveredPubkey, err := PubKeyFromSig(sig, hash) + if err != nil { + return fmt.Errorf("impossible error, CheckSecKeyHash, pubkey recovery from signature failed: %v", err) + } + if pubkey != recoveredPubkey { + return ErrPubKeyFromSecKeyMismatch + } + + // verify produced signature + err = VerifyPubKeySignedHash(pubkey, sig, hash) + if err != nil { + return fmt.Errorf("impossible error, CheckSecKeyHash, VerifyPubKeySignedHash failed for sig: %v", err) + } + + // verify VerifyAddressSignedHash + addr := AddressFromPubKey(pubkey) + err = VerifyAddressSignedHash(addr, sig, hash) + if err != nil { + return fmt.Errorf("impossible error CheckSecKeyHash, VerifyAddressSignedHash Failed, should not get this far: %v", err) + } + + // verify VerifySignatureRecoverPubKey + err = VerifySignatureRecoverPubKey(sig, hash) + if err != nil { + return fmt.Errorf("VerifySignatureRecoverPubKey failed: %v", err) + } + + return nil +} + +func init() { + ripemd160HashPool = make(chan hash.Hash, ripemd160HashPoolSize) + for i := 0; i < ripemd160HashPoolSize; i++ { + ripemd160HashPool <- ripemd160.New() + } + + sha256HashPool = make(chan hash.Hash, sha256HashPoolSize) + for i := 0; i < sha256HashPoolSize; i++ { + sha256HashPool <- sha256.New() + } + + // Do not allow program to start if crypto tests fail + pubkey, seckey := GenerateKeyPair() + if err := CheckSecKey(seckey); err != nil { + log.Panicf("CRYPTOGRAPHIC INTEGRITY CHECK FAILED: TERMINATING PROGRAM TO PROTECT COINS: %v", err) + } + if MustPubKeyFromSecKey(seckey) != pubkey { + log.Panic("DebugLevel1, GenerateKeyPair, public key does not match private key") + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encoder/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/README.md new file mode 100644 index 00000000..3aa1c31a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/README.md @@ -0,0 +1,8 @@ +encoder +======= + +[![GoDoc](http://godoc.org/github.com//skycoin/skycoin/src/cipher/encoder?status.png)](http://godoc.org/github.com/skycoin/skycoin/src/cipher/encoder) + +[Godoc generated documentation](https://godoc.org/github.com/skycoin/skycoin/src/cipher/encoder) + +Binary struct encoder for Go. Fork of go's pkg encoding/binary. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder.go b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder.go new file mode 100644 index 00000000..da17043b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encoder/encoder.go @@ -0,0 +1,1027 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package encoder binary implements translation between struct data and byte sequences +// +// Fields can be ignored with the struct tag `enc:"-"` . +// Unexported struct fields are ignored by default . +// +// Fields can be skipped if empty with the struct tag `enc:",omitempty"` +// Note the comma, which follows package json's conventions. +// Only Slice, Map and String types recognize the omitempty tag. +// When omitempty is set, the no data will be written if the value is empty. +// If the value is empty and omitempty is not set, then a length prefix with value 0 would be written. +// omitempty can only be used for the last field in the struct +// +// Encoding of maps is supported, but note that the use of them results in non-deterministic output. +// If determinism is required, do not use map. +// +// A length restriction to certain fields can be applied when decoding. +// Use the tag `,maxlen=` on a struct field to apply this restriction. +// `maxlen` works for string and slice types. The length is interpreted as the length +// of the string or the number of elements in the slice. +// Note that maxlen does not affect serialization; it may serialize objects which could fail deserialization. +// Callers should check their length restricted values manually prior to serialization. +package encoder + +import ( + "errors" + "fmt" + "log" + "math" + "reflect" + "strconv" + "strings" +) + +var ( + // ErrBufferUnderflow bytes in input buffer not enough to deserialize expected type + ErrBufferUnderflow = errors.New("Not enough buffer data to deserialize") + // ErrBufferOverflow bytes in output buffer not enough to serialize expected type + ErrBufferOverflow = errors.New("Not enough buffer data to serialize") + // ErrInvalidOmitEmpty field tagged with omitempty and it's not last one in struct + ErrInvalidOmitEmpty = errors.New("omitempty only supported for the final field in the struct") + // ErrRemainingBytes bytes remain in buffer after deserializing object + ErrRemainingBytes = errors.New("Bytes remain in buffer after deserializing object") + // ErrMaxLenExceeded a specified maximum length was exceeded when serializing or deserializing a variable length field + ErrMaxLenExceeded = errors.New("Maximum length exceeded for variable length field") + // ErrMapDuplicateKeys encountered duplicate map keys while decoding a map + ErrMapDuplicateKeys = errors.New("Duplicate keys encountered while decoding a map") + // ErrInvalidBool is returned if the decoder encounters a value other than 0 or 1 for a bool type field + ErrInvalidBool = errors.New("Invalid value for bool type") +) + +// SerializeUint32 serializes a uint32 +func SerializeUint32(x uint32) []byte { + var b [4]byte + lePutUint32(b[:], x) + return b[:] +} + +// DeserializeUint32 serializes a uint32 +func DeserializeUint32(buf []byte) (uint32, uint64, error) { + if len(buf) < 4 { + return 0, 0, ErrBufferUnderflow + } + return leUint32(buf[:4]), 4, nil +} + +// SerializeAtomic encodes an integer or boolean contained in `data` to bytes. +// Panics if `data` is not an integer or boolean type. +func SerializeAtomic(data interface{}) []byte { + var b [8]byte + + switch v := data.(type) { + case bool: + if v { + b[0] = 1 + } else { + b[0] = 0 + } + return b[:1] + case int8: + b[0] = byte(v) + return b[:1] + case uint8: + b[0] = v + return b[:1] + case int16: + lePutUint16(b[:2], uint16(v)) + return b[:2] + case uint16: + lePutUint16(b[:2], v) + return b[:2] + case int32: + lePutUint32(b[:4], uint32(v)) + return b[:4] + case uint32: + lePutUint32(b[:4], v) + return b[:4] + case int64: + lePutUint64(b[:8], uint64(v)) + return b[:8] + case uint64: + lePutUint64(b[:8], v) + return b[:8] + default: + log.Panic("SerializeAtomic unhandled type") + return nil + } +} + +// DeserializeAtomic deserializes `in` buffer into `data` +// parameter. Panics if `data` is not an integer or boolean type. +// Returns the number of bytes read. +func DeserializeAtomic(in []byte, data interface{}) (uint64, error) { + switch v := data.(type) { + case *bool: + if len(in) < 1 { + return 0, ErrBufferUnderflow + } + if in[0] == 0 { + *v = false + } else { + *v = true + } + return 1, nil + case *int8: + if len(in) < 1 { + return 0, ErrBufferUnderflow + } + *v = int8(in[0]) + return 1, nil + case *uint8: + if len(in) < 1 { + return 0, ErrBufferUnderflow + } + *v = in[0] + return 1, nil + case *int16: + if len(in) < 2 { + return 0, ErrBufferUnderflow + } + *v = int16(leUint16(in[:2])) + return 2, nil + case *uint16: + if len(in) < 2 { + return 0, ErrBufferUnderflow + } + *v = leUint16(in[:2]) + return 2, nil + case *int32: + if len(in) < 4 { + return 0, ErrBufferUnderflow + } + *v = int32(leUint32(in[:4])) + return 4, nil + case *uint32: + if len(in) < 4 { + return 0, ErrBufferUnderflow + } + *v = leUint32(in[:4]) + return 4, nil + case *int64: + if len(in) < 8 { + return 0, ErrBufferUnderflow + } + *v = int64(leUint64(in[:8])) + return 8, nil + case *uint64: + if len(in) < 8 { + return 0, ErrBufferUnderflow + } + *v = leUint64(in[:8]) + return 8, nil + default: + log.Panic("DeserializeAtomic unhandled type") + return 0, nil + } +} + +// SerializeString serializes a string to []byte +func SerializeString(s string) []byte { + v := reflect.ValueOf(s) + size := datasizeWrite(v) + buf := make([]byte, size) + e := &Encoder{ + Buffer: buf, + } + e.value(v) + return buf +} + +// DeserializeString deserializes a string from []byte, returning the string and the number of bytes read +func DeserializeString(in []byte, maxlen int) (string, uint64, error) { + var s string + v := reflect.ValueOf(&s) + v = v.Elem() + + inlen := len(in) + d1 := &Decoder{ + Buffer: make([]byte, inlen), + } + copy(d1.Buffer, in) + + err := d1.value(v, maxlen) + if err != nil { + return "", 0, err + } + + return s, uint64(inlen - len(d1.Buffer)), nil +} + +// DeserializeRaw deserializes `in` buffer into return +// parameter. If `data` is not a Pointer or Map type an error +// is returned. If `in` buffer can't be deserialized, +// an error message is returned. +// Returns number of bytes read if no error. +func DeserializeRaw(in []byte, data interface{}) (uint64, error) { + v := reflect.ValueOf(data) + switch v.Kind() { + case reflect.Ptr: + v = v.Elem() + case reflect.Map: + default: + return 0, fmt.Errorf("DeserializeRaw value must be a ptr, is %s", v.Kind().String()) + } + + inlen := len(in) + d1 := &Decoder{ + Buffer: make([]byte, inlen), + } + copy(d1.Buffer, in) + + if err := d1.value(v, 0); err != nil { + return 0, err + } + + return uint64(inlen - len(d1.Buffer)), nil +} + +// DeserializeRawExact deserializes `in` buffer into return +// parameter. If `data` is not a Pointer or Map type an error +// is returned. If `in` buffer can't be deserialized, +// an error message is returned. +// Returns number of bytes read if no error. +// If the number of bytes read does not equal the length of the input buffer, +// ErrRemainingBytes is returned. +func DeserializeRawExact(in []byte, data interface{}) error { + n, err := DeserializeRaw(in, data) + if err != nil { + return err + } + if n != uint64(len(in)) { + return ErrRemainingBytes + } + return nil +} + +// DeserializeRawToValue deserializes `in` buffer into +// `dst`'s type and returns the number of bytes used and +// the value of the buffer. If `data` is not either a +// Pointer type an error is returned. +// If `in` buffer can't be deserialized, the number of bytes read and an error message are returned. +func DeserializeRawToValue(in []byte, v reflect.Value) (uint64, error) { + switch v.Kind() { + case reflect.Ptr: + v = v.Elem() + case reflect.Map: + default: + return 0, fmt.Errorf("DeserializeRawToValue value must be a ptr, is %s", v.Kind().String()) + } + + inlen := len(in) + d1 := &Decoder{ + Buffer: make([]byte, inlen), + } + copy(d1.Buffer, in) + + err := d1.value(v, 0) + if err != nil { + return 0, err + } + + return uint64(inlen - len(d1.Buffer)), nil +} + +// Serialize returns serialized basic type-based `data` +// parameter. Encoding is reflect-based. Panics if `data` is not serializable. +func Serialize(data interface{}) []byte { + v := reflect.Indirect(reflect.ValueOf(data)) + size := datasizeWrite(v) + buf := make([]byte, size) + e := &Encoder{ + Buffer: buf, + } + e.value(v) + return buf +} + +// Size returns how many bytes would it take to encode the +// value v, which must be a fixed-size value (struct) or a +// slice of fixed-size values, or a pointer to such data. +// Reflect-based encoding is used. +func Size(v interface{}) uint64 { + return datasizeWrite(reflect.Indirect(reflect.ValueOf(v))) +} + +// isEmpty returns true if a value is "empty". +// Only supports Slice, Map and String. +// All other values are never considered empty. +func isEmpty(v reflect.Value) bool { + t := v.Type() + switch t.Kind() { + case reflect.String: + return v.Len() == 0 + case reflect.Map: + return v.IsNil() || v.Len() == 0 + case reflect.Slice: + return v.IsNil() || v.Len() == 0 + default: + return false + } +} + +// datasizeWrite returns the number of bytes the actual data represented by v occupies in memory. +// For compound structures, it sums the sizes of the elements. Thus, for instance, for a slice +// it returns the length of the slice times the element size and does not count the memory +// occupied by the header. +func datasizeWrite(v reflect.Value) uint64 { + t := v.Type() + switch t.Kind() { + case reflect.Interface: + return datasizeWrite(v.Elem()) + + case reflect.Array: + // Arrays are a fixed size, so the length is not written + t := v.Type() + elem := t.Elem() + switch elem.Kind() { + case reflect.Uint8, reflect.Int8: + return uint64(v.Len()) + case reflect.Uint16, reflect.Int16: + return uint64(v.Len()) * 2 + case reflect.Uint32, reflect.Int32, reflect.Float32: + return uint64(v.Len()) * 4 + case reflect.Uint64, reflect.Int64, reflect.Float64: + return uint64(v.Len()) * 8 + default: + size := uint64(0) + for i := 0; i < v.Len(); i++ { + elem := v.Index(i) + s := datasizeWrite(elem) + size += s + } + return size + } + + case reflect.Slice: + t := v.Type() + elem := t.Elem() + switch elem.Kind() { + case reflect.Uint8, reflect.Int8: + return 4 + uint64(v.Len()) + case reflect.Uint16, reflect.Int16: + return 4 + uint64(v.Len())*2 + case reflect.Uint32, reflect.Int32, reflect.Float32: + return 4 + uint64(v.Len())*4 + case reflect.Uint64, reflect.Int64, reflect.Float64: + return 4 + uint64(v.Len())*8 + default: + size := uint64(0) + for i := 0; i < v.Len(); i++ { + elem := v.Index(i) + s := datasizeWrite(elem) + size += s + } + return 4 + size + } + + case reflect.Map: + // length prefix + size := uint64(4) + for _, key := range v.MapKeys() { + s := datasizeWrite(key) + size += s + elem := v.MapIndex(key) + s = datasizeWrite(elem) + size += s + } + return size + + case reflect.Struct: + sum := uint64(0) + nFields := t.NumField() + for i, n := 0, nFields; i < n; i++ { + ff := t.Field(i) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag := ff.Tag.Get("enc") + omitempty := TagOmitempty(tag) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if len(tag) > 0 && tag[0] == '-' { + continue + } + + fv := v.Field(i) + if !omitempty || !isEmpty(fv) { + s := datasizeWrite(fv) + sum += s + } + } + return sum + + case reflect.Bool: + return 1 + + case reflect.String: + return 4 + uint64(v.Len()) + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, + reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + reflect.Float32, reflect.Float64: + return uint64(t.Size()) + + default: + log.Panicf("invalid type %s", t.String()) + return 0 + } +} + +// TagOmitempty returns true if the tag specifies omitempty +func TagOmitempty(tag string) bool { + return strings.Contains(tag, ",omitempty") +} + +func tagName(tag string) string { //nolint:deadcode,megacheck + commaIndex := strings.Index(tag, ",") + if commaIndex == -1 { + return tag + } + + return tag[:commaIndex] +} + +// TagMaxLen returns the maxlen value tagged on a struct. Returns 0 if no tag is present. +func TagMaxLen(tag string) int { + maxlenIndex := strings.Index(tag, ",maxlen=") + if maxlenIndex == -1 { + return 0 + } + + maxlenRem := tag[maxlenIndex+len(",maxlen="):] + commaIndex := strings.Index(maxlenRem, ",") + if commaIndex != -1 { + maxlenRem = maxlenRem[:commaIndex] + } + + maxlen, err := strconv.Atoi(maxlenRem) + if err != nil { + panic("maxlen must be a number") + } + + return maxlen +} + +/* + Internals +*/ + +func leUint16(b []byte) uint16 { return uint16(b[0]) | uint16(b[1])<<8 } + +func lePutUint16(b []byte, v uint16) { + b[0] = byte(v) + b[1] = byte(v >> 8) +} + +func leUint32(b []byte) uint32 { + return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 +} + +func lePutUint32(b []byte, v uint32) { + b[0] = byte(v) + b[1] = byte(v >> 8) + b[2] = byte(v >> 16) + b[3] = byte(v >> 24) +} + +func leUint64(b []byte) uint64 { + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | + uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 +} + +func lePutUint64(b []byte, v uint64) { + b[0] = byte(v) + b[1] = byte(v >> 8) + b[2] = byte(v >> 16) + b[3] = byte(v >> 24) + b[4] = byte(v >> 32) + b[5] = byte(v >> 40) + b[6] = byte(v >> 48) + b[7] = byte(v >> 56) +} + +// Decoder decodes an object from the skycoin binary encoding format +type Decoder struct { + Buffer []byte +} + +// Encoder encodes an object to the skycoin binary encoding format +type Encoder struct { + Buffer []byte +} + +// Bool decodes bool +func (d *Decoder) Bool() (bool, error) { + if len(d.Buffer) < 1 { + return false, ErrBufferUnderflow + } + x := d.Buffer[0] + d.Buffer = d.Buffer[1:] // advance slice + + switch x { + case 0: + return false, nil + case 1: + return true, nil + default: + return false, ErrInvalidBool + } +} + +// Bool encodes bool +func (e *Encoder) Bool(x bool) { + if x { + e.Buffer[0] = 1 + } else { + e.Buffer[0] = 0 + } + e.Buffer = e.Buffer[1:] +} + +// Uint8 decodes uint8 +func (d *Decoder) Uint8() (uint8, error) { + if len(d.Buffer) < 1 { + return 0, ErrBufferUnderflow + } + + x := d.Buffer[0] + d.Buffer = d.Buffer[1:] // advance slice + return x, nil +} + +// Uint8 encodes uint8 +func (e *Encoder) Uint8(x uint8) { + e.Buffer[0] = x + e.Buffer = e.Buffer[1:] +} + +// Uint16 decodes uint16 +func (d *Decoder) Uint16() (uint16, error) { + if len(d.Buffer) < 2 { + return 0, ErrBufferUnderflow + } + + x := leUint16(d.Buffer[0:2]) + d.Buffer = d.Buffer[2:] + return x, nil +} + +// Uint16 encodes uint16 +func (e *Encoder) Uint16(x uint16) { + lePutUint16(e.Buffer[0:2], x) + e.Buffer = e.Buffer[2:] +} + +// Uint32 decodes a Uint32 +func (d *Decoder) Uint32() (uint32, error) { + if len(d.Buffer) < 4 { + return 0, ErrBufferUnderflow + } + + x := leUint32(d.Buffer[0:4]) + d.Buffer = d.Buffer[4:] + return x, nil +} + +// Uint32 encodes a Uint32 +func (e *Encoder) Uint32(x uint32) { + lePutUint32(e.Buffer[0:4], x) + e.Buffer = e.Buffer[4:] +} + +// Uint64 decodes uint64 +func (d *Decoder) Uint64() (uint64, error) { + if len(d.Buffer) < 8 { + return 0, ErrBufferUnderflow + } + + x := leUint64(d.Buffer[0:8]) + d.Buffer = d.Buffer[8:] + return x, nil +} + +// Uint64 encodes uint64 +func (e *Encoder) Uint64(x uint64) { + lePutUint64(e.Buffer[0:8], x) + e.Buffer = e.Buffer[8:] +} + +// ByteSlice encodes []byte +func (e *Encoder) ByteSlice(x []byte) { + e.Uint32(uint32(len(x))) + e.CopyBytes(x) +} + +// CopyBytes copies bytes to the buffer, without a length prefix +func (e *Encoder) CopyBytes(x []byte) { + if len(x) == 0 { + return + } + copy(e.Buffer, x) + e.Buffer = e.Buffer[len(x):] +} + +// Int8 decodes int8 +func (d *Decoder) Int8() (int8, error) { + u, err := d.Uint8() + if err != nil { + return 0, err + } + + return int8(u), nil +} + +// Int8 encodes int8 +func (e *Encoder) Int8(x int8) { + e.Uint8(uint8(x)) +} + +// Int16 decodes int16 +func (d *Decoder) Int16() (int16, error) { + u, err := d.Uint16() + if err != nil { + return 0, err + } + + return int16(u), nil +} + +// Int16 encodes int16 +func (e *Encoder) Int16(x int16) { + e.Uint16(uint16(x)) +} + +// Int32 decodes int32 +func (d *Decoder) Int32() (int32, error) { + u, err := d.Uint32() + if err != nil { + return 0, err + } + + return int32(u), nil +} + +// Int32 encodes int32 +func (e *Encoder) Int32(x int32) { + e.Uint32(uint32(x)) +} + +// Int64 decodes int64 +func (d *Decoder) Int64() (int64, error) { + u, err := d.Uint64() + if err != nil { + return 0, err + } + + return int64(u), nil +} + +// Int64 encodes int64 +func (e *Encoder) Int64(x int64) { + e.Uint64(uint64(x)) +} + +func (d *Decoder) value(v reflect.Value, maxlen int) error { + kind := v.Kind() + switch kind { + case reflect.Array: + + t := v.Type() + elem := t.Elem() + + // Arrays are a fixed size, so the length is not written + length := v.Len() + + switch elem.Kind() { + case reflect.Uint8: + if length > len(d.Buffer) { + return ErrBufferUnderflow + } + + reflect.Copy(v, reflect.ValueOf(d.Buffer[:length])) + d.Buffer = d.Buffer[length:] + default: + for i := 0; i < length; i++ { + if err := d.value(v.Index(i), 0); err != nil { + return err + } + } + } + + case reflect.Map: + ul, err := d.Uint32() + if err != nil { + return err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return ErrBufferUnderflow + } + + if length == 0 { + return nil + } + + t := v.Type() + key := t.Key() + elem := t.Elem() + + if v.IsNil() { + v.Set(reflect.Indirect(reflect.MakeMap(t))) + } + + for i := 0; i < length; i++ { + keyv := reflect.Indirect(reflect.New(key)) + elemv := reflect.Indirect(reflect.New(elem)) + if err := d.value(keyv, 0); err != nil { + return err + } + if err := d.value(elemv, 0); err != nil { + return err + } + v.SetMapIndex(keyv, elemv) + } + + if v.Len() != length { + return ErrMapDuplicateKeys + } + + case reflect.Slice: + ul, err := d.Uint32() + if err != nil { + return err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return ErrBufferUnderflow + } + + if length == 0 { + return nil + } + + if maxlen > 0 && length > maxlen { + return ErrMaxLenExceeded + } + + t := v.Type() + elem := t.Elem() + + switch elem.Kind() { + case reflect.Uint8: + v.SetBytes(d.Buffer[:length]) + d.Buffer = d.Buffer[length:] + default: + elemvs := reflect.MakeSlice(t, length, length) + for i := 0; i < length; i++ { + elemv := reflect.Indirect(elemvs.Index(i)) + if err := d.value(elemv, 0); err != nil { + return err + } + } + v.Set(elemvs) + } + + case reflect.Struct: + t := v.Type() + nFields := v.NumField() + for i := 0; i < nFields; i++ { + ff := t.Field(i) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag := ff.Tag.Get("enc") + omitempty := TagOmitempty(tag) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if len(tag) > 0 && tag[0] == '-' { + continue + } + + fv := v.Field(i) + if fv.CanSet() && ff.Name != "_" { + maxlen := TagMaxLen(tag) + + if err := d.value(fv, maxlen); err != nil { + if err == ErrMaxLenExceeded { + return err + } + + // omitempty fields at the end of the buffer are ignored if missing + if !omitempty || len(d.Buffer) != 0 { + return err + } + } + } + } + + case reflect.String: + ul, err := d.Uint32() + if err != nil { + return err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return ErrBufferUnderflow + } + + if maxlen > 0 && length > maxlen { + return ErrMaxLenExceeded + } + + v.SetString(string(d.Buffer[:length])) + d.Buffer = d.Buffer[length:] + + case reflect.Bool: + b, err := d.Bool() + if err != nil { + return err + } + v.SetBool(b) + case reflect.Int8: + i, err := d.Int8() + if err != nil { + return err + } + v.SetInt(int64(i)) + case reflect.Int16: + i, err := d.Int16() + if err != nil { + return err + } + v.SetInt(int64(i)) + case reflect.Int32: + i, err := d.Int32() + if err != nil { + return err + } + v.SetInt(int64(i)) + case reflect.Int64: + i, err := d.Int64() + if err != nil { + return err + } + v.SetInt(i) + + case reflect.Uint8: + u, err := d.Uint8() + if err != nil { + return err + } + v.SetUint(uint64(u)) + case reflect.Uint16: + u, err := d.Uint16() + if err != nil { + return err + } + v.SetUint(uint64(u)) + case reflect.Uint32: + u, err := d.Uint32() + if err != nil { + return err + } + v.SetUint(uint64(u)) + case reflect.Uint64: + u, err := d.Uint64() + if err != nil { + return err + } + v.SetUint(u) + + case reflect.Float32: + u, err := d.Uint32() + if err != nil { + return err + } + v.SetFloat(float64(math.Float32frombits(u))) + case reflect.Float64: + u, err := d.Uint64() + if err != nil { + return err + } + v.SetFloat(math.Float64frombits(u)) + + default: + log.Panicf("Decode error: kind %s not handled", v.Kind().String()) + } + + return nil +} + +func (e *Encoder) value(v reflect.Value) { + switch v.Kind() { + case reflect.Interface: + e.value(v.Elem()) + + case reflect.Array: + // Arrays are a fixed size, so the length is not written + t := v.Type() + elem := t.Elem() + switch elem.Kind() { + case reflect.Uint8: + reflect.Copy(reflect.ValueOf(e.Buffer), v) + e.Buffer = e.Buffer[v.Len():] + default: + for i := 0; i < v.Len(); i++ { + e.value(v.Index(i)) + } + } + + case reflect.Slice: + t := v.Type() + elem := t.Elem() + switch elem.Kind() { + case reflect.Uint8: + e.ByteSlice(v.Bytes()) + default: + e.Uint32(uint32(v.Len())) + for i := 0; i < v.Len(); i++ { + e.value(v.Index(i)) + } + } + + case reflect.Map: + e.Uint32(uint32(v.Len())) + for _, key := range v.MapKeys() { + e.value(key) + e.value(v.MapIndex(key)) + } + + case reflect.Struct: + t := v.Type() + nFields := v.NumField() + for i := 0; i < nFields; i++ { + // see comment for corresponding code in Decoder.value() + ff := t.Field(i) + // Skip unexported fields + if ff.PkgPath != "" { + continue + } + + tag := ff.Tag.Get("enc") + omitempty := TagOmitempty(tag) + + if omitempty && i != nFields-1 { + log.Panic(ErrInvalidOmitEmpty) + } + + if len(tag) > 0 && tag[0] == '-' { + continue + } + + fv := v.Field(i) + if !(omitempty && isEmpty(fv)) && (fv.CanSet() || ff.Name != "_") { + e.value(fv) + } + } + + case reflect.Bool: + e.Bool(v.Bool()) + + case reflect.String: + e.ByteSlice([]byte(v.String())) + + case reflect.Int8: + e.Int8(int8(v.Int())) + case reflect.Int16: + e.Int16(int16(v.Int())) + case reflect.Int32: + e.Int32(int32(v.Int())) + case reflect.Int64: + e.Int64(v.Int()) + + case reflect.Uint8: + e.Uint8(uint8(v.Uint())) + case reflect.Uint16: + e.Uint16(uint16(v.Uint())) + case reflect.Uint32: + e.Uint32(uint32(v.Uint())) + case reflect.Uint64: + e.Uint64(v.Uint()) + + case reflect.Float32: + e.Uint32(math.Float32bits(float32(v.Float()))) + case reflect.Float64: + e.Uint64(math.Float64bits(v.Float())) + + default: + log.Panicf("Encoding unhandled type %s", v.Type().Name()) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305.go b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305.go new file mode 100644 index 00000000..7fe6238e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/scrypt_chacha20poly1305.go @@ -0,0 +1,171 @@ +/* +Package encrypt provides encryption methods. + +Encryption methods provided: + +* chacha20-poly1305 with scrypt key derivation +* sha256xor with sha256 key derivation + +The latter is insecure due to the insecure key derivation so should not be used. +The keys are easily brute forced. + +These methods are design for long-term (3-5 years) encryption of disk-persisted data. +They are not designed for network traffic encryption. +*/ +package encrypt + +import ( + "encoding/base64" + "encoding/binary" + "encoding/json" + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/chacha20poly1305" + "github.com/skycoin/skycoin/src/cipher/scrypt" +) + +const ( + scryptChacha20MetaLengthSize = 2 // meta data length field size in bytes + scryptChacha20SaltSize = 32 // salt bytes number +) + +// Default scrypt paramenters +const ( + // ScryptN: scrypt N paramenter. 1<<20 is the recommended value for file encryption, it takes about 3 seconds in 2.9 GHz Intel core i7. + ScryptN = 1 << 20 + // ScryptR: scrypt r paramenter. Cache line size have not significantly increased since 2009, 8 should still be optimal for r. + ScryptR = 8 + // ScryptP: scrypt p paramenter. The parallel difficulty, 1 is still optimal. + ScryptP = 1 + // ScryptKeyLen: The length of returned byte slice that can be used as cryptographic key. + ScryptKeyLen = 32 +) + +// DefaultScryptChacha20poly1305 default ScryptChacha20poly1305 encryptor +var DefaultScryptChacha20poly1305 = ScryptChacha20poly1305{ + N: ScryptN, + R: ScryptR, + P: ScryptP, + KeyLen: ScryptKeyLen, +} + +// ScryptChacha20poly1305 provides methods for encryption/decryption with scrypt and chacha20poly1305 +type ScryptChacha20poly1305 struct { + N int + R int + P int + KeyLen int +} + +type meta struct { + N int `json:"n"` + R int `json:"r"` + P int `json:"p"` + KeyLen int `json:"keyLen"` + Salt []byte `json:"salt"` + Nonce []byte `json:"nonce"` +} + +// Encrypt encrypts data with password, +// 1. Scrypt derives the key from password +// 2. Chacha20poly1305 generates AEAD from the derived key +// 4. Puts scrypt paramenters, salt and nonce into metadata, json serialize it and get the serialized metadata length +// 5. AEAD.Seal encrypts the data, and use [length][metadata] as additional data +// 6. Final format: base64([[length][metadata]][ciphertext]), length is 2 bytes. +func (s ScryptChacha20poly1305) Encrypt(data, password []byte) ([]byte, error) { + if len(password) == 0 { + return nil, errors.New("missing password") + } + + // Scyrpt derives key from password + salt := cipher.RandByte(scryptChacha20SaltSize) + dk, err := scrypt.Key(password, salt, s.N, s.R, s.P, s.KeyLen) + if err != nil { + return nil, err + } + + // Prepare metadata + m := meta{ + N: s.N, + R: s.R, + P: s.P, + KeyLen: s.KeyLen, + Salt: salt, + Nonce: cipher.RandByte(chacha20poly1305.NonceSize), + } + // json serialize the metadata + ms, err := json.Marshal(m) + if err != nil { + return nil, err + } + + if len(ms) > math.MaxUint16 { + return nil, errors.New("metadata length beyond the math.MaxUint16") + } + + length := make([]byte, scryptChacha20MetaLengthSize) + binary.LittleEndian.PutUint16(length, uint16(len(ms))) + + // Additional data for AEAD + ad := append(length, ms...) + aead, err := chacha20poly1305.New(dk) + if err != nil { + return nil, err + } + + ciphertext := aead.Seal(nil, m.Nonce, data, ad) + + // Base64 encode the [[length][metadata]][ciphertext] + rawData := append(ad, ciphertext...) + enc := base64.StdEncoding + buf := make([]byte, enc.EncodedLen(len(rawData))) + enc.Encode(buf, rawData) + return buf, nil +} + +// Decrypt decrypts the data with password +// 1. Base64 decodes the data +// 2. Reads the first [metaLengthSize] bytes data to get the metadata length, and reads out the metadata. +// 3. Scrypt derives key from password and paramenters in metadata +// 4. Chacha20poly1305 geneates AEAD +// 5. AEAD decrypts ciphertext with nonce in metadata and [length][metadata] as additional data. +func (s ScryptChacha20poly1305) Decrypt(data, password []byte) ([]byte, error) { + if len(password) == 0 { + return nil, errors.New("missing password") + } + + enc := base64.StdEncoding + encData := make([]byte, enc.DecodedLen(len(data))) + n, err := enc.Decode(encData, data) + if err != nil { + return nil, err + } + encData = encData[:n] + + length := binary.LittleEndian.Uint16(encData[:scryptChacha20MetaLengthSize]) + if int(scryptChacha20MetaLengthSize+length) > len(encData) { + return nil, errors.New("invalid metadata length") + } + + var m meta + if err := json.Unmarshal(encData[scryptChacha20MetaLengthSize:scryptChacha20MetaLengthSize+length], &m); err != nil { + return nil, err + } + + ad := encData[:scryptChacha20MetaLengthSize+length] + // Scrypt derives key + dk, err := scrypt.Key(password, m.Salt, m.N, m.R, m.P, m.KeyLen) + if err != nil { + return nil, err + } + + // Geneates AEAD + aead, err := chacha20poly1305.New(dk) + if err != nil { + return nil, err + } + + return aead.Open(nil, m.Nonce, encData[scryptChacha20MetaLengthSize+length:], ad) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/sha256xor.go b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/sha256xor.go new file mode 100644 index 00000000..3923e778 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/encrypt/sha256xor.go @@ -0,0 +1,260 @@ +package encrypt + +import ( + "bytes" + "encoding/base64" + "encoding/binary" + "errors" + "fmt" + "io" + "math" + + "github.com/skycoin/skycoin/src/cipher" + secp256k1 "github.com/skycoin/skycoin/src/cipher/secp256k1-go" +) + +const ( + // Data size of each block + sha256XorBlockSize = 32 // 32 bytes + // Nonce data size + sha256XorNonceSize = 32 // 32 bytes + // Checksum data size + sha256XorChecksumSize = 32 // 32 bytes + // Data length size + sha256XorDataLengthSize = 4 // 4 bytes + +) + +// Error definition +var ( + ErrMissingPassword = errors.New("missing password") + ErrDataTooLarge = errors.New("data length overflowed, it must <= math.MaxUint32(4294967295)") + ErrInvalidChecksumLength = errors.New("invalid checksum length") + ErrInvalidChecksum = errors.New("invalid data, checksum is not matched") + ErrInvalidNonceLength = errors.New("invalid nonce length") + ErrInvalidBlockSize = errors.New("invalid block size, must be multiple of 32 bytes") + ErrReadDataHashFailed = errors.New("read data hash failed: read length != 32") + ErrInvalidPassword = errors.New("invalid password") + ErrReadDataLengthFailed = errors.New("read data length failed") + ErrInvalidDataLength = errors.New("invalid data length") +) + +// DefaultSha256Xor default sha256xor encryptor +var DefaultSha256Xor = Sha256Xor{} + +// Sha256Xor provides methods to do encryption and decryption +type Sha256Xor struct{} + +// Encrypt encrypts the data with password +// +// 1> Add 32 bits length prefix to indicate the length of data. +// 2> Pad the length + data to 32 bytes with nulls at end +// 2> SHA256() and prefix the hash. +// 3> Split the whole data(hash+length+data+padding) into 256 bits(32 bytes) blocks +// 4> Each block is encrypted by XORing the unencrypted block with SHA256(SHA256(password), SHA256(index, SHA256(nonce)) +// - index is 0 for the first block of 32 bytes, 1 for the second block of 32 bytes, 2 for third block +// 5> Prefix nonce and SHA256 the nonce with blocks to get checksum, and prefix the checksum +// 6> Finally, the data format is: base64() +func (s Sha256Xor) Encrypt(data []byte, password []byte) ([]byte, error) { + if len(password) == 0 { + return nil, ErrMissingPassword + } + + if uint(len(data)) > math.MaxUint32 { + return nil, ErrDataTooLarge + } + + // Sets data length prefix + dataLenBytes := make([]byte, sha256XorDataLengthSize) + binary.LittleEndian.PutUint32(dataLenBytes, uint32(len(data))) + + // Prefixes data with length + ldata := append(dataLenBytes, data...) + + // Pads length + data with null to 32 bytes + l := len(ldata) // hash + length + data + n := l / sha256XorBlockSize + m := l % sha256XorBlockSize + if m > 0 { + paddingNull := make([]byte, sha256XorBlockSize-m) + ldata = append(ldata, paddingNull...) + n++ + } + + // Hash(length+data+padding) + dataHash := cipher.SumSHA256(ldata) + + // Initialize blocks with data hash + blocks := []cipher.SHA256{dataHash} + for i := 0; i < n; i++ { + var b cipher.SHA256 + copy(b[:], ldata[i*sha256XorBlockSize:(i+1)*sha256XorBlockSize]) + blocks = append(blocks, b) + } + + // Generates a nonce + nonce := cipher.RandByte(sha256XorNonceSize) + // Hash the nonce + hashNonce := cipher.SumSHA256(nonce) + // Derives key by secp256k1 hashing password + key := secp256k1.Secp256k1Hash(password) + + var encryptedData []byte + // Encodes the blocks + for i := range blocks { + // Hash(password, hash(index, hash(nonce))) + h := hashKeyIndexNonce(key, int64(i), hashNonce) + encryptedHash := blocks[i].Xor(h) + encryptedData = append(encryptedData, encryptedHash[:]...) + } + + // Prefix the nonce + nonceAndDataBytes := append(nonce, encryptedData...) + // Calculates the checksum + checkSum := cipher.SumSHA256(nonceAndDataBytes) + + finalData := append(checkSum[:], nonceAndDataBytes...) + + // Base64 encodes the data + enc := base64.StdEncoding + buf := make([]byte, enc.EncodedLen(len(finalData))) + enc.Encode(buf, finalData) + return buf, nil +} + +// Decrypt decrypts the data +func (s Sha256Xor) Decrypt(data []byte, password []byte) ([]byte, error) { + if len(password) == 0 { + return nil, ErrMissingPassword + } + + // Base64 decodes data + enc := base64.StdEncoding + encData := make([]byte, enc.DecodedLen(len(data))) + n, err := enc.Decode(encData, data) + if err != nil { + return nil, err + } + + encData = encData[:n] + + // Derives key by secp256k1 hashing password + key := secp256k1.Secp256k1Hash(password) + + buf := bytes.NewBuffer(encData) + + // Gets checksum + var checkSum cipher.SHA256 + n, err = buf.Read(checkSum[:]) + if err != nil { + return nil, err + } + + if n != sha256XorChecksumSize { + return nil, ErrInvalidChecksumLength + } + + // Checks the checksum + csh := cipher.SumSHA256(buf.Bytes()) + if csh != checkSum { + return nil, ErrInvalidChecksum + } + + // Gets the nonce + nonce := make([]byte, sha256XorNonceSize) + n, err = buf.Read(nonce) + if err != nil { + return nil, err + } + + if n != sha256XorNonceSize { + return nil, ErrInvalidNonceLength + } + + var decodeData []byte + hashNonce := cipher.SumSHA256(nonce) + i := 0 + for { + var block cipher.SHA256 + n, err := buf.Read(block[:]) + if err == io.EOF { + break + } + + if n != sha256XorBlockSize { + return nil, ErrInvalidBlockSize + } + + // Decodes the block + dataHash := block.Xor(hashKeyIndexNonce(key, int64(i), hashNonce)) + decodeData = append(decodeData, dataHash[:]...) + i++ + } + + buf = bytes.NewBuffer(decodeData) + + // Gets the hash + var dataHash cipher.SHA256 + n, err = buf.Read(dataHash[:]) + if err != nil { + return nil, fmt.Errorf("read data hash failed: %v", err) + } + + if n != 32 { + return nil, ErrReadDataHashFailed + } + + // Checks the hash + if dataHash != cipher.SumSHA256(buf.Bytes()) { + return nil, ErrInvalidPassword + } + + // Reads out the data length + dataLenBytes := make([]byte, sha256XorDataLengthSize) + n, err = buf.Read(dataLenBytes) + if err != nil { + return nil, err + } + + if n != sha256XorDataLengthSize { + return nil, ErrReadDataLengthFailed + } + + l := binary.LittleEndian.Uint32(dataLenBytes) + + if uint64(buf.Len()) > math.MaxUint32 { + return nil, ErrDataTooLarge + } + + if l > uint32(buf.Len()) { + return nil, ErrInvalidDataLength + } + + // Reads out the raw data + rawData := make([]byte, l) + n, err = buf.Read(rawData) + if err != nil { + return nil, err + } + + if uint32(n) != l { + return nil, fmt.Errorf("read data failed, expect %d bytes, but get %d bytes", l, n) + } + + return rawData, nil +} + +// hash(password, hash(index, hash(nonce))) +func hashKeyIndexNonce(key []byte, index int64, nonceHash cipher.SHA256) cipher.SHA256 { + // convert index to 256bit number + indexBytes := make([]byte, 32) + binary.PutVarint(indexBytes, index) + + // hash(index, nonceHash) + indexNonceHash := cipher.SumSHA256(append(indexBytes, nonceHash[:]...)) + + // hash(hash(password), indexNonceHash) + var keyHash cipher.SHA256 + copy(keyHash[:], key[:]) + return cipher.AddSHA256(keyHash, indexNonceHash) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/hash.go b/vendor/github.com/skycoin/skycoin/src/cipher/hash.go new file mode 100644 index 00000000..039cf6a4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/hash.go @@ -0,0 +1,208 @@ +package cipher + +import ( + "encoding/hex" + "errors" + "hash" + "log" +) + +var ( + // Memory pool for hashes + sha256HashPoolSize = 30 + sha256HashPool chan hash.Hash + ripemd160HashPoolSize = 30 + ripemd160HashPool chan hash.Hash +) + +var ( + // ErrInvalidLengthRipemd160 Invalid ripemd160 length + ErrInvalidLengthRipemd160 = errors.New("Invalid ripemd160 length") + // ErrInvalidLengthSHA256 Invalid sha256 length + ErrInvalidLengthSHA256 = errors.New("Invalid sha256 length") + // ErrInvalidHexLength Invalid hex length + ErrInvalidHexLength = errors.New("Invalid hex length") + // ErrInvalidBytesLength Invalid bytes length + ErrInvalidBytesLength = errors.New("Invalid bytes length") +) + +// Ripemd160 ripemd160 +type Ripemd160 [20]byte + +// MustSet sets value, panics on error +func (rd *Ripemd160) MustSet(b []byte) { + if len(b) != 20 { + log.Panic(ErrInvalidLengthRipemd160) + } + copy(rd[:], b[:]) +} + +// Set sets value +func (rd *Ripemd160) Set(b []byte) error { + if len(b) != 20 { + return ErrInvalidLengthRipemd160 + } + copy(rd[:], b[:]) + return nil +} + +// Ripemd160FromBytes converts []byte to Ripemd160 +func Ripemd160FromBytes(b []byte) (Ripemd160, error) { + h := Ripemd160{} + err := h.Set(b) + return h, err +} + +// MustRipemd160FromBytes converts []byte to Ripemd160, panics on error +func MustRipemd160FromBytes(b []byte) Ripemd160 { + h := Ripemd160{} + h.MustSet(b) + return h +} + +// HashRipemd160 hash data to Ripemd160 +func HashRipemd160(data []byte) Ripemd160 { + ripemd160Hash := <-ripemd160HashPool + ripemd160Hash.Reset() + // ripemd160.Write never returns an error + ripemd160Hash.Write(data) //nolint:errcheck + sum := ripemd160Hash.Sum(nil) + ripemd160HashPool <- ripemd160Hash + + h := Ripemd160{} + h.MustSet(sum) + return h +} + +// SHA256 32 bytes +type SHA256 [32]byte + +// MustSet sets value, panics on error +func (g *SHA256) MustSet(b []byte) { + if len(b) != 32 { + panic(ErrInvalidLengthSHA256) + } + copy(g[:], b[:]) +} + +// Set sets value +func (g *SHA256) Set(b []byte) error { + if len(b) != 32 { + return ErrInvalidLengthSHA256 + } + copy(g[:], b[:]) + return nil +} + +func (g SHA256) String() string { + return g.Hex() +} + +// Hex encode SHA256 to hex string +func (g SHA256) Hex() string { + return hex.EncodeToString(g[:]) +} + +// Null returns true if the hash is null (0x0000..) +func (g SHA256) Null() bool { + return g == SHA256{} +} + +// Xor xor +func (g *SHA256) Xor(b SHA256) SHA256 { + c := SHA256{} + for i := 0; i < 32; i++ { + c[i] = g[i] ^ b[i] + } + return c +} + +// SHA256FromHex decodes a hex encoded SHA256 hash to bytes +func SHA256FromHex(hs string) (SHA256, error) { + h := SHA256{} + b, err := hex.DecodeString(hs) + if err != nil { + return h, err + } + if len(b) != len(h) { + return h, ErrInvalidHexLength + } + h.MustSet(b) + return h, nil +} + +// MustSHA256FromHex decodes a hex encoded SHA256 hash to bytes, panics on error +func MustSHA256FromHex(hs string) SHA256 { + h, err := SHA256FromHex(hs) + if err != nil { + log.Panic(err) + } + return h +} + +// SHA256FromBytes converts []byte to SHA256 +func SHA256FromBytes(b []byte) (SHA256, error) { + h := SHA256{} + err := h.Set(b) + return h, err +} + +// MustSHA256FromBytes converts []byte to SHA256, panics on error +func MustSHA256FromBytes(b []byte) SHA256 { + h := SHA256{} + h.MustSet(b) + return h +} + +// SumSHA256 sum sha256 +func SumSHA256(b []byte) SHA256 { + sha256Hash := <-sha256HashPool + sha256Hash.Reset() + // sha256.Write never returns an error + sha256Hash.Write(b) //nolint:errcheck + sum := sha256Hash.Sum(nil) + sha256HashPool <- sha256Hash + + h := SHA256{} + h.MustSet(sum) + return h +} + +// DoubleSHA256 double SHA256 +func DoubleSHA256(b []byte) SHA256 { + h1 := SumSHA256(b) + h2 := SumSHA256(h1[:]) + return h2 +} + +// AddSHA256 returns the SHA256 hash of to two concatenated hashes +func AddSHA256(a SHA256, b SHA256) SHA256 { + c := append(a[:], b[:]...) + return SumSHA256(c) +} + +// Returns the next highest power of 2 above n, if n is not already a +// power of 2 +func nextPowerOfTwo(n uint64) uint64 { + var k uint64 = 1 + for k < n { + k *= 2 + } + return k +} + +// Merkle computes the merkle root of a hash array +// Array of hashes is padded with 0 hashes until next power of 2 +func Merkle(h0 []SHA256) SHA256 { + lh := uint64(len(h0)) + np := nextPowerOfTwo(lh) + h1 := append(h0, make([]SHA256, np-lh)...) + for len(h1) != 1 { + h2 := make([]SHA256, len(h1)/2) + for i := 0; i < len(h2); i++ { + h2[i] = AddSHA256(h1[2*i], h1[2*i+1]) + } + h1 = h2 + } + return h1[0] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2.go b/vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2.go new file mode 100644 index 00000000..ad971605 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/pbkdf2/pbkdf2.go @@ -0,0 +1,77 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC +2898 / PKCS #5 v2.0. + +A key derivation function is useful when encrypting data based on a password +or any other not-fully-random data. It uses a pseudorandom function to derive +a secure encryption key based on the password. + +While v2.0 of the standard defines only one pseudorandom function to use, +HMAC-SHA1, the drafted v2.1 specification allows use of all five FIPS Approved +Hash Functions SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 for HMAC. To +choose, you can pass the `New` functions from the different SHA packages to +pbkdf2.Key. +*/ +package pbkdf2 // import "github.com/skycoin/skycoin/src/cipher/pbkdf2" + +import ( + "crypto/hmac" + "hash" +) + +// Key derives a key from the password, salt and iteration count, returning a +// []byte of length keylen that can be used as cryptographic key. The key is +// derived based on the method described as PBKDF2 with the HMAC variant using +// the supplied hash function. +// +// For example, to use a HMAC-SHA-1 based PBKDF2 key derivation function, you +// can get a derived key for e.g. AES-256 (which needs a 32-byte key) by +// doing: +// +// dk := pbkdf2.Key([]byte("some password"), salt, 4096, 32, sha1.New) +// +// Remember to get a good random salt. At least 8 bytes is recommended by the +// RFC. +// +// Using a higher iteration count will increase the cost of an exhaustive +// search but will also make derivation proportionally slower. +func Key(password, salt []byte, iter, keyLen int, h func() hash.Hash) []byte { + prf := hmac.New(h, password) + hashLen := prf.Size() + numBlocks := (keyLen + hashLen - 1) / hashLen + + var buf [4]byte + dk := make([]byte, 0, numBlocks*hashLen) + U := make([]byte, hashLen) + for block := 1; block <= numBlocks; block++ { + // N.B.: || means concatenation, ^ means XOR + // for each block T_i = U_1 ^ U_2 ^ ... ^ U_iter + // U_1 = PRF(password, salt || uint(i)) + prf.Reset() + prf.Write(salt) //nolint:errcheck,gosec + buf[0] = byte(block >> 24) + buf[1] = byte(block >> 16) + buf[2] = byte(block >> 8) + buf[3] = byte(block) + prf.Write(buf[:4]) //nolint:errcheck,gosec + dk = prf.Sum(dk) + T := dk[len(dk)-hashLen:] + copy(U, T) + + // U_n = PRF(password, U_(n-1)) + for n := 2; n <= iter; n++ { + prf.Reset() + prf.Write(U) //nolint:errcheck,gosec + U = U[:0] + U = prf.Sum(U) + for x := range U { + T[x] ^= U[x] + } + } + } + return dk[:keyLen] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305.go b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305.go new file mode 100644 index 00000000..e7a59457 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/poly1305.go @@ -0,0 +1,32 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf. + +Poly1305 is a fast, one-time authentication function. It is infeasible for an +attacker to generate an authenticator for a message without the key. However, a +key must only be used for a single message. Authenticating two different +messages with the same key allows an attacker to forge authenticators for other +messages with the same key. + +Poly1305 was originally coupled with AES in order to make Poly1305-AES. AES was +used with a fixed key in order to generate one-time keys from an nonce. +However, in this package AES isn't used and the one-time key is specified +directly. +*/ +package poly1305 // import "github.com/skycoin/skycoin/src/cipher/poly1305" + +import "crypto/subtle" + +// TagSize is the size, in bytes, of a poly1305 authenticator. +const TagSize = 16 + +// Verify returns true if mac is a valid authenticator for m with the given +// key. +func Verify(mac *[16]byte, m []byte, key *[32]byte) bool { + var tmp [16]byte + Sum(&tmp, m, key) + return subtle.ConstantTimeCompare(tmp[:], mac[:]) == 1 +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.go b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.go new file mode 100644 index 00000000..4dd72fe7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.go @@ -0,0 +1,22 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +package poly1305 + +// This function is implemented in sum_amd64.s +//go:noescape +func poly1305(out *[16]byte, m *byte, mlen uint64, key *[32]byte) + +// Sum generates an authenticator for m using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[16]byte, m []byte, key *[32]byte) { + var mPtr *byte + if len(m) > 0 { + mPtr = &m[0] + } + poly1305(out, mPtr, uint64(len(m)), key) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.s b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.s new file mode 100644 index 00000000..2edae638 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_amd64.s @@ -0,0 +1,125 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +#include "textflag.h" + +#define POLY1305_ADD(msg, h0, h1, h2) \ + ADDQ 0(msg), h0; \ + ADCQ 8(msg), h1; \ + ADCQ $1, h2; \ + LEAQ 16(msg), msg + +#define POLY1305_MUL(h0, h1, h2, r0, r1, t0, t1, t2, t3) \ + MOVQ r0, AX; \ + MULQ h0; \ + MOVQ AX, t0; \ + MOVQ DX, t1; \ + MOVQ r0, AX; \ + MULQ h1; \ + ADDQ AX, t1; \ + ADCQ $0, DX; \ + MOVQ r0, t2; \ + IMULQ h2, t2; \ + ADDQ DX, t2; \ + \ + MOVQ r1, AX; \ + MULQ h0; \ + ADDQ AX, t1; \ + ADCQ $0, DX; \ + MOVQ DX, h0; \ + MOVQ r1, t3; \ + IMULQ h2, t3; \ + MOVQ r1, AX; \ + MULQ h1; \ + ADDQ AX, t2; \ + ADCQ DX, t3; \ + ADDQ h0, t2; \ + ADCQ $0, t3; \ + \ + MOVQ t0, h0; \ + MOVQ t1, h1; \ + MOVQ t2, h2; \ + ANDQ $3, h2; \ + MOVQ t2, t0; \ + ANDQ $0xFFFFFFFFFFFFFFFC, t0; \ + ADDQ t0, h0; \ + ADCQ t3, h1; \ + ADCQ $0, h2; \ + SHRQ $2, t3, t2; \ + SHRQ $2, t3; \ + ADDQ t2, h0; \ + ADCQ t3, h1; \ + ADCQ $0, h2 + +DATA ·poly1305Mask<>+0x00(SB)/8, $0x0FFFFFFC0FFFFFFF +DATA ·poly1305Mask<>+0x08(SB)/8, $0x0FFFFFFC0FFFFFFC +GLOBL ·poly1305Mask<>(SB), RODATA, $16 + +// func poly1305(out *[16]byte, m *byte, mlen uint64, key *[32]key) +TEXT ·poly1305(SB), $0-32 + MOVQ out+0(FP), DI + MOVQ m+8(FP), SI + MOVQ mlen+16(FP), R15 + MOVQ key+24(FP), AX + + MOVQ 0(AX), R11 + MOVQ 8(AX), R12 + ANDQ ·poly1305Mask<>(SB), R11 // r0 + ANDQ ·poly1305Mask<>+8(SB), R12 // r1 + XORQ R8, R8 // h0 + XORQ R9, R9 // h1 + XORQ R10, R10 // h2 + + CMPQ R15, $16 + JB bytes_between_0_and_15 + +loop: + POLY1305_ADD(SI, R8, R9, R10) + +multiply: + POLY1305_MUL(R8, R9, R10, R11, R12, BX, CX, R13, R14) + SUBQ $16, R15 + CMPQ R15, $16 + JAE loop + +bytes_between_0_and_15: + TESTQ R15, R15 + JZ done + MOVQ $1, BX + XORQ CX, CX + XORQ R13, R13 + ADDQ R15, SI + +flush_buffer: + SHLQ $8, BX, CX + SHLQ $8, BX + MOVB -1(SI), R13 + XORQ R13, BX + DECQ SI + DECQ R15 + JNZ flush_buffer + + ADDQ BX, R8 + ADCQ CX, R9 + ADCQ $0, R10 + MOVQ $16, R15 + JMP multiply + +done: + MOVQ R8, AX + MOVQ R9, BX + SUBQ $0xFFFFFFFFFFFFFFFB, AX + SBBQ $0xFFFFFFFFFFFFFFFF, BX + SBBQ $3, R10 + CMOVQCS R8, AX + CMOVQCS R9, BX + MOVQ key+24(FP), R8 + ADDQ 16(R8), AX + ADCQ 24(R8), BX + + MOVQ AX, 0(DI) + MOVQ BX, 8(DI) + RET diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.go b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.go new file mode 100644 index 00000000..5dc321c2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.go @@ -0,0 +1,22 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,!gccgo,!appengine,!nacl + +package poly1305 + +// This function is implemented in sum_arm.s +//go:noescape +func poly1305_auth_armv6(out *[16]byte, m *byte, mlen uint32, key *[32]byte) + +// Sum generates an authenticator for m using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[16]byte, m []byte, key *[32]byte) { + var mPtr *byte + if len(m) > 0 { + mPtr = &m[0] + } + poly1305_auth_armv6(out, mPtr, uint32(len(m)), key) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.s b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.s new file mode 100644 index 00000000..f70b4ac4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_arm.s @@ -0,0 +1,427 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,!gccgo,!appengine,!nacl + +#include "textflag.h" + +// This code was translated into a form compatible with 5a from the public +// domain source by Andrew Moon: github.com/floodyberry/poly1305-opt/blob/master/app/extensions/poly1305. + +DATA ·poly1305_init_constants_armv6<>+0x00(SB)/4, $0x3ffffff +DATA ·poly1305_init_constants_armv6<>+0x04(SB)/4, $0x3ffff03 +DATA ·poly1305_init_constants_armv6<>+0x08(SB)/4, $0x3ffc0ff +DATA ·poly1305_init_constants_armv6<>+0x0c(SB)/4, $0x3f03fff +DATA ·poly1305_init_constants_armv6<>+0x10(SB)/4, $0x00fffff +GLOBL ·poly1305_init_constants_armv6<>(SB), 8, $20 + +// Warning: the linker may use R11 to synthesize certain instructions. Please +// take care and verify that no synthetic instructions use it. + +TEXT poly1305_init_ext_armv6<>(SB), NOSPLIT, $0 + // Needs 16 bytes of stack and 64 bytes of space pointed to by R0. (It + // might look like it's only 60 bytes of space but the final four bytes + // will be written by another function.) We need to skip over four + // bytes of stack because that's saving the value of 'g'. + ADD $4, R13, R8 + MOVM.IB [R4-R7], (R8) + MOVM.IA.W (R1), [R2-R5] + MOVW $·poly1305_init_constants_armv6<>(SB), R7 + MOVW R2, R8 + MOVW R2>>26, R9 + MOVW R3>>20, g + MOVW R4>>14, R11 + MOVW R5>>8, R12 + ORR R3<<6, R9, R9 + ORR R4<<12, g, g + ORR R5<<18, R11, R11 + MOVM.IA (R7), [R2-R6] + AND R8, R2, R2 + AND R9, R3, R3 + AND g, R4, R4 + AND R11, R5, R5 + AND R12, R6, R6 + MOVM.IA.W [R2-R6], (R0) + EOR R2, R2, R2 + EOR R3, R3, R3 + EOR R4, R4, R4 + EOR R5, R5, R5 + EOR R6, R6, R6 + MOVM.IA.W [R2-R6], (R0) + MOVM.IA.W (R1), [R2-R5] + MOVM.IA [R2-R6], (R0) + ADD $20, R13, R0 + MOVM.DA (R0), [R4-R7] + RET + +#define MOVW_UNALIGNED(Rsrc, Rdst, Rtmp, offset) \ + MOVBU (offset+0)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+0)(Rdst); \ + MOVBU (offset+1)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+1)(Rdst); \ + MOVBU (offset+2)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+2)(Rdst); \ + MOVBU (offset+3)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+3)(Rdst) + +TEXT poly1305_blocks_armv6<>(SB), NOSPLIT, $0 + // Needs 24 bytes of stack for saved registers and then 88 bytes of + // scratch space after that. We assume that 24 bytes at (R13) have + // already been used: four bytes for the link register saved in the + // prelude of poly1305_auth_armv6, four bytes for saving the value of g + // in that function and 16 bytes of scratch space used around + // poly1305_finish_ext_armv6_skip1. + ADD $24, R13, R12 + MOVM.IB [R4-R8, R14], (R12) + MOVW R0, 88(R13) + MOVW R1, 92(R13) + MOVW R2, 96(R13) + MOVW R1, R14 + MOVW R2, R12 + MOVW 56(R0), R8 + WORD $0xe1180008 // TST R8, R8 not working see issue 5921 + EOR R6, R6, R6 + MOVW.EQ $(1<<24), R6 + MOVW R6, 84(R13) + ADD $116, R13, g + MOVM.IA (R0), [R0-R9] + MOVM.IA [R0-R4], (g) + CMP $16, R12 + BLO poly1305_blocks_armv6_done + +poly1305_blocks_armv6_mainloop: + WORD $0xe31e0003 // TST R14, #3 not working see issue 5921 + BEQ poly1305_blocks_armv6_mainloop_aligned + ADD $100, R13, g + MOVW_UNALIGNED(R14, g, R0, 0) + MOVW_UNALIGNED(R14, g, R0, 4) + MOVW_UNALIGNED(R14, g, R0, 8) + MOVW_UNALIGNED(R14, g, R0, 12) + MOVM.IA (g), [R0-R3] + ADD $16, R14 + B poly1305_blocks_armv6_mainloop_loaded + +poly1305_blocks_armv6_mainloop_aligned: + MOVM.IA.W (R14), [R0-R3] + +poly1305_blocks_armv6_mainloop_loaded: + MOVW R0>>26, g + MOVW R1>>20, R11 + MOVW R2>>14, R12 + MOVW R14, 92(R13) + MOVW R3>>8, R4 + ORR R1<<6, g, g + ORR R2<<12, R11, R11 + ORR R3<<18, R12, R12 + BIC $0xfc000000, R0, R0 + BIC $0xfc000000, g, g + MOVW 84(R13), R3 + BIC $0xfc000000, R11, R11 + BIC $0xfc000000, R12, R12 + ADD R0, R5, R5 + ADD g, R6, R6 + ORR R3, R4, R4 + ADD R11, R7, R7 + ADD $116, R13, R14 + ADD R12, R8, R8 + ADD R4, R9, R9 + MOVM.IA (R14), [R0-R4] + MULLU R4, R5, (R11, g) + MULLU R3, R5, (R14, R12) + MULALU R3, R6, (R11, g) + MULALU R2, R6, (R14, R12) + MULALU R2, R7, (R11, g) + MULALU R1, R7, (R14, R12) + ADD R4<<2, R4, R4 + ADD R3<<2, R3, R3 + MULALU R1, R8, (R11, g) + MULALU R0, R8, (R14, R12) + MULALU R0, R9, (R11, g) + MULALU R4, R9, (R14, R12) + MOVW g, 76(R13) + MOVW R11, 80(R13) + MOVW R12, 68(R13) + MOVW R14, 72(R13) + MULLU R2, R5, (R11, g) + MULLU R1, R5, (R14, R12) + MULALU R1, R6, (R11, g) + MULALU R0, R6, (R14, R12) + MULALU R0, R7, (R11, g) + MULALU R4, R7, (R14, R12) + ADD R2<<2, R2, R2 + ADD R1<<2, R1, R1 + MULALU R4, R8, (R11, g) + MULALU R3, R8, (R14, R12) + MULALU R3, R9, (R11, g) + MULALU R2, R9, (R14, R12) + MOVW g, 60(R13) + MOVW R11, 64(R13) + MOVW R12, 52(R13) + MOVW R14, 56(R13) + MULLU R0, R5, (R11, g) + MULALU R4, R6, (R11, g) + MULALU R3, R7, (R11, g) + MULALU R2, R8, (R11, g) + MULALU R1, R9, (R11, g) + ADD $52, R13, R0 + MOVM.IA (R0), [R0-R7] + MOVW g>>26, R12 + MOVW R4>>26, R14 + ORR R11<<6, R12, R12 + ORR R5<<6, R14, R14 + BIC $0xfc000000, g, g + BIC $0xfc000000, R4, R4 + ADD.S R12, R0, R0 + ADC $0, R1, R1 + ADD.S R14, R6, R6 + ADC $0, R7, R7 + MOVW R0>>26, R12 + MOVW R6>>26, R14 + ORR R1<<6, R12, R12 + ORR R7<<6, R14, R14 + BIC $0xfc000000, R0, R0 + BIC $0xfc000000, R6, R6 + ADD R14<<2, R14, R14 + ADD.S R12, R2, R2 + ADC $0, R3, R3 + ADD R14, g, g + MOVW R2>>26, R12 + MOVW g>>26, R14 + ORR R3<<6, R12, R12 + BIC $0xfc000000, g, R5 + BIC $0xfc000000, R2, R7 + ADD R12, R4, R4 + ADD R14, R0, R0 + MOVW R4>>26, R12 + BIC $0xfc000000, R4, R8 + ADD R12, R6, R9 + MOVW 96(R13), R12 + MOVW 92(R13), R14 + MOVW R0, R6 + CMP $32, R12 + SUB $16, R12, R12 + MOVW R12, 96(R13) + BHS poly1305_blocks_armv6_mainloop + +poly1305_blocks_armv6_done: + MOVW 88(R13), R12 + MOVW R5, 20(R12) + MOVW R6, 24(R12) + MOVW R7, 28(R12) + MOVW R8, 32(R12) + MOVW R9, 36(R12) + ADD $48, R13, R0 + MOVM.DA (R0), [R4-R8, R14] + RET + +#define MOVHUP_UNALIGNED(Rsrc, Rdst, Rtmp) \ + MOVBU.P 1(Rsrc), Rtmp; \ + MOVBU.P Rtmp, 1(Rdst); \ + MOVBU.P 1(Rsrc), Rtmp; \ + MOVBU.P Rtmp, 1(Rdst) + +#define MOVWP_UNALIGNED(Rsrc, Rdst, Rtmp) \ + MOVHUP_UNALIGNED(Rsrc, Rdst, Rtmp); \ + MOVHUP_UNALIGNED(Rsrc, Rdst, Rtmp) + +// func poly1305_auth_armv6(out *[16]byte, m *byte, mlen uint32, key *[32]key) +TEXT ·poly1305_auth_armv6(SB), $196-16 + // The value 196, just above, is the sum of 64 (the size of the context + // structure) and 132 (the amount of stack needed). + // + // At this point, the stack pointer (R13) has been moved down. It + // points to the saved link register and there's 196 bytes of free + // space above it. + // + // The stack for this function looks like: + // + // +--------------------- + // | + // | 64 bytes of context structure + // | + // +--------------------- + // | + // | 112 bytes for poly1305_blocks_armv6 + // | + // +--------------------- + // | 16 bytes of final block, constructed at + // | poly1305_finish_ext_armv6_skip8 + // +--------------------- + // | four bytes of saved 'g' + // +--------------------- + // | lr, saved by prelude <- R13 points here + // +--------------------- + MOVW g, 4(R13) + + MOVW out+0(FP), R4 + MOVW m+4(FP), R5 + MOVW mlen+8(FP), R6 + MOVW key+12(FP), R7 + + ADD $136, R13, R0 // 136 = 4 + 4 + 16 + 112 + MOVW R7, R1 + + // poly1305_init_ext_armv6 will write to the stack from R13+4, but + // that's ok because none of the other values have been written yet. + BL poly1305_init_ext_armv6<>(SB) + BIC.S $15, R6, R2 + BEQ poly1305_auth_armv6_noblocks + ADD $136, R13, R0 + MOVW R5, R1 + ADD R2, R5, R5 + SUB R2, R6, R6 + BL poly1305_blocks_armv6<>(SB) + +poly1305_auth_armv6_noblocks: + ADD $136, R13, R0 + MOVW R5, R1 + MOVW R6, R2 + MOVW R4, R3 + + MOVW R0, R5 + MOVW R1, R6 + MOVW R2, R7 + MOVW R3, R8 + AND.S R2, R2, R2 + BEQ poly1305_finish_ext_armv6_noremaining + EOR R0, R0 + ADD $8, R13, R9 // 8 = offset to 16 byte scratch space + MOVW R0, (R9) + MOVW R0, 4(R9) + MOVW R0, 8(R9) + MOVW R0, 12(R9) + WORD $0xe3110003 // TST R1, #3 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_aligned + WORD $0xe3120008 // TST R2, #8 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip8 + MOVWP_UNALIGNED(R1, R9, g) + MOVWP_UNALIGNED(R1, R9, g) + +poly1305_finish_ext_armv6_skip8: + WORD $0xe3120004 // TST $4, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip4 + MOVWP_UNALIGNED(R1, R9, g) + +poly1305_finish_ext_armv6_skip4: + WORD $0xe3120002 // TST $2, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip2 + MOVHUP_UNALIGNED(R1, R9, g) + B poly1305_finish_ext_armv6_skip2 + +poly1305_finish_ext_armv6_aligned: + WORD $0xe3120008 // TST R2, #8 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip8_aligned + MOVM.IA.W (R1), [g-R11] + MOVM.IA.W [g-R11], (R9) + +poly1305_finish_ext_armv6_skip8_aligned: + WORD $0xe3120004 // TST $4, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip4_aligned + MOVW.P 4(R1), g + MOVW.P g, 4(R9) + +poly1305_finish_ext_armv6_skip4_aligned: + WORD $0xe3120002 // TST $2, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip2 + MOVHU.P 2(R1), g + MOVH.P g, 2(R9) + +poly1305_finish_ext_armv6_skip2: + WORD $0xe3120001 // TST $1, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip1 + MOVBU.P 1(R1), g + MOVBU.P g, 1(R9) + +poly1305_finish_ext_armv6_skip1: + MOVW $1, R11 + MOVBU R11, 0(R9) + MOVW R11, 56(R5) + MOVW R5, R0 + ADD $8, R13, R1 + MOVW $16, R2 + BL poly1305_blocks_armv6<>(SB) + +poly1305_finish_ext_armv6_noremaining: + MOVW 20(R5), R0 + MOVW 24(R5), R1 + MOVW 28(R5), R2 + MOVW 32(R5), R3 + MOVW 36(R5), R4 + MOVW R4>>26, R12 + BIC $0xfc000000, R4, R4 + ADD R12<<2, R12, R12 + ADD R12, R0, R0 + MOVW R0>>26, R12 + BIC $0xfc000000, R0, R0 + ADD R12, R1, R1 + MOVW R1>>26, R12 + BIC $0xfc000000, R1, R1 + ADD R12, R2, R2 + MOVW R2>>26, R12 + BIC $0xfc000000, R2, R2 + ADD R12, R3, R3 + MOVW R3>>26, R12 + BIC $0xfc000000, R3, R3 + ADD R12, R4, R4 + ADD $5, R0, R6 + MOVW R6>>26, R12 + BIC $0xfc000000, R6, R6 + ADD R12, R1, R7 + MOVW R7>>26, R12 + BIC $0xfc000000, R7, R7 + ADD R12, R2, g + MOVW g>>26, R12 + BIC $0xfc000000, g, g + ADD R12, R3, R11 + MOVW $-(1<<26), R12 + ADD R11>>26, R12, R12 + BIC $0xfc000000, R11, R11 + ADD R12, R4, R9 + MOVW R9>>31, R12 + SUB $1, R12 + AND R12, R6, R6 + AND R12, R7, R7 + AND R12, g, g + AND R12, R11, R11 + AND R12, R9, R9 + MVN R12, R12 + AND R12, R0, R0 + AND R12, R1, R1 + AND R12, R2, R2 + AND R12, R3, R3 + AND R12, R4, R4 + ORR R6, R0, R0 + ORR R7, R1, R1 + ORR g, R2, R2 + ORR R11, R3, R3 + ORR R9, R4, R4 + ORR R1<<26, R0, R0 + MOVW R1>>6, R1 + ORR R2<<20, R1, R1 + MOVW R2>>12, R2 + ORR R3<<14, R2, R2 + MOVW R3>>18, R3 + ORR R4<<8, R3, R3 + MOVW 40(R5), R6 + MOVW 44(R5), R7 + MOVW 48(R5), g + MOVW 52(R5), R11 + ADD.S R6, R0, R0 + ADC.S R7, R1, R1 + ADC.S g, R2, R2 + ADC.S R11, R3, R3 + MOVM.IA [R0-R3], (R8) + MOVW R5, R12 + EOR R0, R0, R0 + EOR R1, R1, R1 + EOR R2, R2, R2 + EOR R3, R3, R3 + EOR R4, R4, R4 + EOR R5, R5, R5 + EOR R6, R6, R6 + EOR R7, R7, R7 + MOVM.IA.W [R0-R7], (R12) + MOVM.IA [R0-R7], (R12) + MOVW 4(R13), g + RET diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_ref.go b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_ref.go new file mode 100644 index 00000000..b2805a5c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/poly1305/sum_ref.go @@ -0,0 +1,141 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !amd64,!arm gccgo appengine nacl + +package poly1305 + +import "encoding/binary" + +// Sum generates an authenticator for msg using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[TagSize]byte, msg []byte, key *[32]byte) { + var ( + h0, h1, h2, h3, h4 uint32 // the hash accumulators + r0, r1, r2, r3, r4 uint64 // the r part of the key + ) + + r0 = uint64(binary.LittleEndian.Uint32(key[0:]) & 0x3ffffff) + r1 = uint64((binary.LittleEndian.Uint32(key[3:]) >> 2) & 0x3ffff03) + r2 = uint64((binary.LittleEndian.Uint32(key[6:]) >> 4) & 0x3ffc0ff) + r3 = uint64((binary.LittleEndian.Uint32(key[9:]) >> 6) & 0x3f03fff) + r4 = uint64((binary.LittleEndian.Uint32(key[12:]) >> 8) & 0x00fffff) + + R1, R2, R3, R4 := r1*5, r2*5, r3*5, r4*5 + + for len(msg) >= TagSize { + // h += msg + h0 += binary.LittleEndian.Uint32(msg[0:]) & 0x3ffffff + h1 += (binary.LittleEndian.Uint32(msg[3:]) >> 2) & 0x3ffffff + h2 += (binary.LittleEndian.Uint32(msg[6:]) >> 4) & 0x3ffffff + h3 += (binary.LittleEndian.Uint32(msg[9:]) >> 6) & 0x3ffffff + h4 += (binary.LittleEndian.Uint32(msg[12:]) >> 8) | (1 << 24) + + // h *= r + d0 := (uint64(h0) * r0) + (uint64(h1) * R4) + (uint64(h2) * R3) + (uint64(h3) * R2) + (uint64(h4) * R1) + d1 := (d0 >> 26) + (uint64(h0) * r1) + (uint64(h1) * r0) + (uint64(h2) * R4) + (uint64(h3) * R3) + (uint64(h4) * R2) + d2 := (d1 >> 26) + (uint64(h0) * r2) + (uint64(h1) * r1) + (uint64(h2) * r0) + (uint64(h3) * R4) + (uint64(h4) * R3) + d3 := (d2 >> 26) + (uint64(h0) * r3) + (uint64(h1) * r2) + (uint64(h2) * r1) + (uint64(h3) * r0) + (uint64(h4) * R4) + d4 := (d3 >> 26) + (uint64(h0) * r4) + (uint64(h1) * r3) + (uint64(h2) * r2) + (uint64(h3) * r1) + (uint64(h4) * r0) + + // h %= p + h0 = uint32(d0) & 0x3ffffff + h1 = uint32(d1) & 0x3ffffff + h2 = uint32(d2) & 0x3ffffff + h3 = uint32(d3) & 0x3ffffff + h4 = uint32(d4) & 0x3ffffff + + h0 += uint32(d4>>26) * 5 + h1 += h0 >> 26 + h0 = h0 & 0x3ffffff + + msg = msg[TagSize:] + } + + if len(msg) > 0 { + var block [TagSize]byte + off := copy(block[:], msg) + block[off] = 0x01 + + // h += msg + h0 += binary.LittleEndian.Uint32(block[0:]) & 0x3ffffff + h1 += (binary.LittleEndian.Uint32(block[3:]) >> 2) & 0x3ffffff + h2 += (binary.LittleEndian.Uint32(block[6:]) >> 4) & 0x3ffffff + h3 += (binary.LittleEndian.Uint32(block[9:]) >> 6) & 0x3ffffff + h4 += (binary.LittleEndian.Uint32(block[12:]) >> 8) + + // h *= r + d0 := (uint64(h0) * r0) + (uint64(h1) * R4) + (uint64(h2) * R3) + (uint64(h3) * R2) + (uint64(h4) * R1) + d1 := (d0 >> 26) + (uint64(h0) * r1) + (uint64(h1) * r0) + (uint64(h2) * R4) + (uint64(h3) * R3) + (uint64(h4) * R2) + d2 := (d1 >> 26) + (uint64(h0) * r2) + (uint64(h1) * r1) + (uint64(h2) * r0) + (uint64(h3) * R4) + (uint64(h4) * R3) + d3 := (d2 >> 26) + (uint64(h0) * r3) + (uint64(h1) * r2) + (uint64(h2) * r1) + (uint64(h3) * r0) + (uint64(h4) * R4) + d4 := (d3 >> 26) + (uint64(h0) * r4) + (uint64(h1) * r3) + (uint64(h2) * r2) + (uint64(h3) * r1) + (uint64(h4) * r0) + + // h %= p + h0 = uint32(d0) & 0x3ffffff + h1 = uint32(d1) & 0x3ffffff + h2 = uint32(d2) & 0x3ffffff + h3 = uint32(d3) & 0x3ffffff + h4 = uint32(d4) & 0x3ffffff + + h0 += uint32(d4>>26) * 5 + h1 += h0 >> 26 + h0 = h0 & 0x3ffffff + } + + // h %= p reduction + h2 += h1 >> 26 + h1 &= 0x3ffffff + h3 += h2 >> 26 + h2 &= 0x3ffffff + h4 += h3 >> 26 + h3 &= 0x3ffffff + h0 += 5 * (h4 >> 26) + h4 &= 0x3ffffff + h1 += h0 >> 26 + h0 &= 0x3ffffff + + // h - p + t0 := h0 + 5 + t1 := h1 + (t0 >> 26) + t2 := h2 + (t1 >> 26) + t3 := h3 + (t2 >> 26) + t4 := h4 + (t3 >> 26) - (1 << 26) + t0 &= 0x3ffffff + t1 &= 0x3ffffff + t2 &= 0x3ffffff + t3 &= 0x3ffffff + + // select h if h < p else h - p + t_mask := (t4 >> 31) - 1 + h_mask := ^t_mask + h0 = (h0 & h_mask) | (t0 & t_mask) + h1 = (h1 & h_mask) | (t1 & t_mask) + h2 = (h2 & h_mask) | (t2 & t_mask) + h3 = (h3 & h_mask) | (t3 & t_mask) + h4 = (h4 & h_mask) | (t4 & t_mask) + + // h %= 2^128 + h0 |= h1 << 26 + h1 = ((h1 >> 6) | (h2 << 20)) + h2 = ((h2 >> 12) | (h3 << 14)) + h3 = ((h3 >> 18) | (h4 << 8)) + + // s: the s part of the key + // tag = (h + s) % (2^128) + t := uint64(h0) + uint64(binary.LittleEndian.Uint32(key[16:])) + h0 = uint32(t) + t = uint64(h1) + uint64(binary.LittleEndian.Uint32(key[20:])) + (t >> 32) + h1 = uint32(t) + t = uint64(h2) + uint64(binary.LittleEndian.Uint32(key[24:])) + (t >> 32) + h2 = uint32(t) + t = uint64(h3) + uint64(binary.LittleEndian.Uint32(key[28:])) + (t >> 32) + h3 = uint32(t) + + binary.LittleEndian.PutUint32(out[0:], h0) + binary.LittleEndian.PutUint32(out[4:], h1) + binary.LittleEndian.PutUint32(out[8:], h2) + binary.LittleEndian.PutUint32(out[12:], h3) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go new file mode 100644 index 00000000..2f45a532 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go @@ -0,0 +1,161 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// RIPEMD-160 block step. +// In its own file so that a faster assembly or C version +// can be substituted easily. + +package ripemd160 + +// work buffer indices and roll amounts for one line +var _n = [80]uint{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13, +} + +var _r = [80]uint{ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6, +} + +// same for the other parallel one +var n_ = [80]uint{ //nolint:golint + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11, +} + +var r_ = [80]uint{ //nolint:golint + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11, +} + +func _Block(md *digest, p []byte) int { + n := 0 + var x [16]uint32 + var alpha, beta uint32 + for len(p) >= BlockSize { + a, b, c, d, e := md.s[0], md.s[1], md.s[2], md.s[3], md.s[4] + aa, bb, cc, dd, ee := a, b, c, d, e + j := 0 + for i := 0; i < 16; i++ { + x[i] = uint32(p[j]) | uint32(p[j+1])<<8 | uint32(p[j+2])<<16 | uint32(p[j+3])<<24 + j += 4 + } + + // round 1 + i := 0 + for i < 16 { + alpha = a + (b ^ c ^ d) + x[_n[i]] + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb ^ (cc | ^dd)) + x[n_[i]] + 0x50a28be6 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 2 + for i < 32 { + alpha = a + (b&c | ^b&d) + x[_n[i]] + 0x5a827999 + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb&dd | cc&^dd) + x[n_[i]] + 0x5c4dd124 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 3 + for i < 48 { + alpha = a + (b | ^c ^ d) + x[_n[i]] + 0x6ed9eba1 + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb | ^cc ^ dd) + x[n_[i]] + 0x6d703ef3 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 4 + for i < 64 { + alpha = a + (b&d | c&^d) + x[_n[i]] + 0x8f1bbcdc + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb&cc | ^bb&dd) + x[n_[i]] + 0x7a6d76e9 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 5 + for i < 80 { + alpha = a + (b ^ (c | ^d)) + x[_n[i]] + 0xa953fd4e + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb ^ cc ^ dd) + x[n_[i]] + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // combine results + dd += c + md.s[1] + md.s[1] = md.s[2] + d + ee + md.s[2] = md.s[3] + e + aa + md.s[3] = md.s[4] + a + bb + md.s[4] = md.s[0] + b + cc + md.s[0] = dd + + p = p[BlockSize:] + n += BlockSize + } + return n +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go new file mode 100644 index 00000000..d406bbfe --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go @@ -0,0 +1,121 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package ripemd160 implements the RIPEMD-160 hash algorithm. +package ripemd160 + +// RIPEMD-160 is designed by by Hans Dobbertin, Antoon Bosselaers, and Bart +// Preneel with specifications available at: +// http://homes.esat.kuleuven.be/~cosicart/pdf/AB-9601/AB-9601.pdf. + +import ( + "crypto" + "hash" +) + +func init() { + crypto.RegisterHash(crypto.RIPEMD160, New) +} + +// Size is the size of the checksum in bytes. +const Size = 20 + +// BlockSize is the block size of the hash algorithm in bytes. +const BlockSize = 64 + +const ( + _s0 = 0x67452301 + _s1 = 0xefcdab89 + _s2 = 0x98badcfe + _s3 = 0x10325476 + _s4 = 0xc3d2e1f0 +) + +// digest represents the partial evaluation of a checksum. +type digest struct { + s [5]uint32 // running context + x [BlockSize]byte // temporary buffer + nx int // index into x + tc uint64 // total count of bytes processed +} + +func (d *digest) Reset() { + d.s[0], d.s[1], d.s[2], d.s[3], d.s[4] = _s0, _s1, _s2, _s3, _s4 + d.nx = 0 + d.tc = 0 +} + +// New returns a new hash.Hash computing the checksum. +func New() hash.Hash { + result := new(digest) + result.Reset() + return result +} + +func (d *digest) Size() int { return Size } + +func (d *digest) BlockSize() int { return BlockSize } + +func (d *digest) Write(p []byte) (nn int, err error) { + nn = len(p) + d.tc += uint64(nn) + if d.nx > 0 { + n := len(p) + if n > BlockSize-d.nx { + n = BlockSize - d.nx + } + for i := 0; i < n; i++ { + d.x[d.nx+i] = p[i] + } + d.nx += n + if d.nx == BlockSize { + _Block(d, d.x[0:]) + d.nx = 0 + } + p = p[n:] + } + n := _Block(d, p) + p = p[n:] + if len(p) > 0 { + d.nx = copy(d.x[:], p) + } + return +} + +func (d0 *digest) Sum(in []byte) []byte { //nolint:golint + // Make a copy of d0 so that caller can keep writing and summing. + d := *d0 + + // Padding. Add a 1 bit and 0 bits until 56 bytes mod 64. + tc := d.tc + var tmp [64]byte + tmp[0] = 0x80 + if tc%64 < 56 { + + d.Write(tmp[0 : 56-tc%64]) //nolint:errcheck,gosec + } else { + d.Write(tmp[0 : 64+56-tc%64]) //nolint:errcheck,gosec + } + + // Length in bits. + tc <<= 3 + for i := uint(0); i < 8; i++ { + tmp[i] = byte(tc >> (8 * i)) + } + d.Write(tmp[0:8]) //nolint:errcheck,gosec + + if d.nx != 0 { + panic("d.nx != 0") + } + + var digest [Size]byte + for i, s := range d.s { + digest[i*4] = byte(s) + digest[i*4+1] = byte(s >> 8) + digest[i*4+2] = byte(s >> 16) + digest[i*4+3] = byte(s >> 24) + } + + return append(in, digest[:]...) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt.go b/vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt.go new file mode 100644 index 00000000..347f32d5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/scrypt/scrypt.go @@ -0,0 +1,243 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package scrypt implements the scrypt key derivation function as defined in +// Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard +// Functions" (http://www.tarsnap.com/scrypt/scrypt.pdf). +package scrypt // import "github.com/skycoin/skycoin/src/cipher/scrypt" + +import ( + "crypto/sha256" + "errors" + + "github.com/skycoin/skycoin/src/cipher/pbkdf2" +) + +const maxInt = int(^uint(0) >> 1) + +// blockCopy copies n numbers from src into dst. +func blockCopy(dst, src []uint32, n int) { + copy(dst, src[:n]) +} + +// blockXOR XORs numbers from dst with n numbers from src. +func blockXOR(dst, src []uint32, n int) { + for i, v := range src[:n] { + dst[i] ^= v + } +} + +// salsaXOR applies Salsa20/8 to the XOR of 16 numbers from tmp and in, +// and puts the result into both both tmp and out. +func salsaXOR(tmp *[16]uint32, in, out []uint32) { + w0 := tmp[0] ^ in[0] + w1 := tmp[1] ^ in[1] + w2 := tmp[2] ^ in[2] + w3 := tmp[3] ^ in[3] + w4 := tmp[4] ^ in[4] + w5 := tmp[5] ^ in[5] + w6 := tmp[6] ^ in[6] + w7 := tmp[7] ^ in[7] + w8 := tmp[8] ^ in[8] + w9 := tmp[9] ^ in[9] + w10 := tmp[10] ^ in[10] + w11 := tmp[11] ^ in[11] + w12 := tmp[12] ^ in[12] + w13 := tmp[13] ^ in[13] + w14 := tmp[14] ^ in[14] + w15 := tmp[15] ^ in[15] + + x0, x1, x2, x3, x4, x5, x6, x7, x8 := w0, w1, w2, w3, w4, w5, w6, w7, w8 + x9, x10, x11, x12, x13, x14, x15 := w9, w10, w11, w12, w13, w14, w15 + + for i := 0; i < 8; i += 2 { + u := x0 + x12 + x4 ^= u<<7 | u>>(32-7) + u = x4 + x0 + x8 ^= u<<9 | u>>(32-9) + u = x8 + x4 + x12 ^= u<<13 | u>>(32-13) + u = x12 + x8 + x0 ^= u<<18 | u>>(32-18) + + u = x5 + x1 + x9 ^= u<<7 | u>>(32-7) + u = x9 + x5 + x13 ^= u<<9 | u>>(32-9) + u = x13 + x9 + x1 ^= u<<13 | u>>(32-13) + u = x1 + x13 + x5 ^= u<<18 | u>>(32-18) + + u = x10 + x6 + x14 ^= u<<7 | u>>(32-7) + u = x14 + x10 + x2 ^= u<<9 | u>>(32-9) + u = x2 + x14 + x6 ^= u<<13 | u>>(32-13) + u = x6 + x2 + x10 ^= u<<18 | u>>(32-18) + + u = x15 + x11 + x3 ^= u<<7 | u>>(32-7) + u = x3 + x15 + x7 ^= u<<9 | u>>(32-9) + u = x7 + x3 + x11 ^= u<<13 | u>>(32-13) + u = x11 + x7 + x15 ^= u<<18 | u>>(32-18) + + u = x0 + x3 + x1 ^= u<<7 | u>>(32-7) + u = x1 + x0 + x2 ^= u<<9 | u>>(32-9) + u = x2 + x1 + x3 ^= u<<13 | u>>(32-13) + u = x3 + x2 + x0 ^= u<<18 | u>>(32-18) + + u = x5 + x4 + x6 ^= u<<7 | u>>(32-7) + u = x6 + x5 + x7 ^= u<<9 | u>>(32-9) + u = x7 + x6 + x4 ^= u<<13 | u>>(32-13) + u = x4 + x7 + x5 ^= u<<18 | u>>(32-18) + + u = x10 + x9 + x11 ^= u<<7 | u>>(32-7) + u = x11 + x10 + x8 ^= u<<9 | u>>(32-9) + u = x8 + x11 + x9 ^= u<<13 | u>>(32-13) + u = x9 + x8 + x10 ^= u<<18 | u>>(32-18) + + u = x15 + x14 + x12 ^= u<<7 | u>>(32-7) + u = x12 + x15 + x13 ^= u<<9 | u>>(32-9) + u = x13 + x12 + x14 ^= u<<13 | u>>(32-13) + u = x14 + x13 + x15 ^= u<<18 | u>>(32-18) + } + x0 += w0 + x1 += w1 + x2 += w2 + x3 += w3 + x4 += w4 + x5 += w5 + x6 += w6 + x7 += w7 + x8 += w8 + x9 += w9 + x10 += w10 + x11 += w11 + x12 += w12 + x13 += w13 + x14 += w14 + x15 += w15 + + out[0], tmp[0] = x0, x0 + out[1], tmp[1] = x1, x1 + out[2], tmp[2] = x2, x2 + out[3], tmp[3] = x3, x3 + out[4], tmp[4] = x4, x4 + out[5], tmp[5] = x5, x5 + out[6], tmp[6] = x6, x6 + out[7], tmp[7] = x7, x7 + out[8], tmp[8] = x8, x8 + out[9], tmp[9] = x9, x9 + out[10], tmp[10] = x10, x10 + out[11], tmp[11] = x11, x11 + out[12], tmp[12] = x12, x12 + out[13], tmp[13] = x13, x13 + out[14], tmp[14] = x14, x14 + out[15], tmp[15] = x15, x15 +} + +func blockMix(tmp *[16]uint32, in, out []uint32, r int) { + blockCopy(tmp[:], in[(2*r-1)*16:], 16) + for i := 0; i < 2*r; i += 2 { + salsaXOR(tmp, in[i*16:], out[i*8:]) + salsaXOR(tmp, in[i*16+16:], out[i*8+r*16:]) + } +} + +func integer(b []uint32, r int) uint64 { + j := (2*r - 1) * 16 + return uint64(b[j]) | uint64(b[j+1])<<32 +} + +func smix(b []byte, r, N int, v, xy []uint32) { + var tmp [16]uint32 + x := xy + y := xy[32*r:] + + j := 0 + for i := 0; i < 32*r; i++ { + x[i] = uint32(b[j]) | uint32(b[j+1])<<8 | uint32(b[j+2])<<16 | uint32(b[j+3])<<24 + j += 4 + } + for i := 0; i < N; i += 2 { + blockCopy(v[i*(32*r):], x, 32*r) + blockMix(&tmp, x, y, r) + + blockCopy(v[(i+1)*(32*r):], y, 32*r) + blockMix(&tmp, y, x, r) + } + for i := 0; i < N; i += 2 { + j := int(integer(x, r) & uint64(N-1)) + blockXOR(x, v[j*(32*r):], 32*r) + blockMix(&tmp, x, y, r) + + j = int(integer(y, r) & uint64(N-1)) + blockXOR(y, v[j*(32*r):], 32*r) + blockMix(&tmp, y, x, r) + } + j = 0 + for _, v := range x[:32*r] { + b[j+0] = byte(v >> 0) + b[j+1] = byte(v >> 8) + b[j+2] = byte(v >> 16) + b[j+3] = byte(v >> 24) + j += 4 + } +} + +// Key derives a key from the password, salt, and cost parameters, returning +// a byte slice of length keyLen that can be used as cryptographic key. +// +// N is a CPU/memory cost parameter, which must be a power of two greater than 1. +// r and p must satisfy r * p < 2³⁰. If the parameters do not satisfy the +// limits, the function returns a nil byte slice and an error. +// +// For example, you can get a derived key for e.g. AES-256 (which needs a +// 32-byte key) by doing: +// +// dk, err := scrypt.Key([]byte("some password"), salt, 16384, 8, 1, 32) +// +// The recommended parameters for interactive logins as of 2009 are N=16384, +// r=8, p=1. They should be increased as memory latency and CPU parallelism +// increases. Remember to get a good random salt. +func Key(password, salt []byte, N, r, p, keyLen int) ([]byte, error) { + if N <= 1 || N&(N-1) != 0 { + return nil, errors.New("scrypt: N must be > 1 and a power of 2") + } + if uint64(r)*uint64(p) >= 1<<30 || r > maxInt/128/p || r > maxInt/256 || N > maxInt/128/r { + return nil, errors.New("scrypt: parameters are too large") + } + + xy := make([]uint32, 64*r) + v := make([]uint32, 32*N*r) + b := pbkdf2.Key(password, salt, 1, p*128*r, sha256.New) + + for i := 0; i < p; i++ { + smix(b[i*128*r:], r, N, v, xy) + } + + return pbkdf2.Key(password, b, 1, keyLen, sha256.New), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md new file mode 100644 index 00000000..6bbf7f4f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md @@ -0,0 +1,5 @@ +# secp256k1-go + +golang secp256k1 library + +Implements cryptographic operations for the secp256k1 ECDSA curve used by Bitcoin. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go new file mode 100644 index 00000000..3a785a9e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go @@ -0,0 +1,151 @@ +package secp256k1 + +import ( + crand "crypto/rand" // secure, system random number generator + "crypto/sha256" + "hash" + "io" + "log" + "os" + "strconv" + "strings" + "sync" + "time" +) + +var ( + // Memory pool for SHA256 hashes + sha256HashPoolSize = 30 + sha256HashPool chan hash.Hash +) + +// SumSHA256 sum sha256 +func SumSHA256(b []byte) []byte { + sha256Hash := <-sha256HashPool + sha256Hash.Reset() + // sha256.Write never returns an error + sha256Hash.Write(b) //nolint:errcheck + sum := sha256Hash.Sum(nil) + sha256HashPool <- sha256Hash + return sum[:] +} + +/* +Entropy pool needs +- state (an array of bytes) +- a compression function (two 256 bit blocks to single block) +- a mixing function across the pool + +- Xor is safe, as it cannot make value less random +-- apply compression function, then xor with current value +-- + +*/ + +// EntropyPool entropy pool +type EntropyPool struct { + Ent [32]byte // 256 bit accumulator + lock sync.Mutex +} + +// Mix256 mixes in 256 bits, outputs 256 bits +func (ep *EntropyPool) Mix256(in []byte) (out []byte) { + // hash input + val1 := SumSHA256(in) + // return value + ep.lock.Lock() + val2 := SumSHA256(append(val1, ep.Ent[:]...)) + // next ent value + val3 := SumSHA256(append(val1, val2...)) + + for i := 0; i < 32; i++ { + ep.Ent[i] = val3[i] + val3[i] = 0x00 + } + ep.lock.Unlock() + + return val2 +} + +// Mix take in N bytes, salts, return N +func (ep *EntropyPool) Mix(in []byte) []byte { + length := len(in) - len(in)%32 + 32 + buff := make([]byte, length) + for i := 0; i < len(in); i++ { + buff[i] = in[i] + } + iterations := (len(in) / 32) + 1 + for i := 0; i < iterations; i++ { + tmp := ep.Mix256(buff[32*i : 32+32*i]) //32 byte slice + for j := 0; j < 32; j++ { + buff[i*32+j] = tmp[j] + } + } + return buff[:len(in)] +} + +/* +Note: + +- On windows cryto/rand uses CrytoGenRandom which uses RC4 which is insecure +- Android random number generator is known to be insecure. +- Linux uses /dev/urandom , which is thought to be secure and uses entropy pool + +Therefore the output is salted. +*/ + +/* +Note: + +Should allow pseudo-random mode for repeatability for certain types of tests +*/ + +var _ent EntropyPool + +// seed pseudo random number generator with +// - hash of system time in nano seconds +// - hash of system environmental variables +// - hash of process id +func init() { + // init the hash reuse pool + sha256HashPool = make(chan hash.Hash, sha256HashPoolSize) + for i := 0; i < sha256HashPoolSize; i++ { + sha256HashPool <- sha256.New() + } + + seed1 := []byte(strconv.FormatUint(uint64(time.Now().UnixNano()), 16)) + seed2 := []byte(strings.Join(os.Environ(), "")) + seed3 := []byte(strconv.FormatUint(uint64(os.Getpid()), 16)) + + seed4 := make([]byte, 256) + _, err := io.ReadFull(crand.Reader, seed4) // system secure random number generator + if err != nil { + log.Panic(err) + } + + // seed entropy pool + _ent.Mix256(seed1) + _ent.Mix256(seed2) + _ent.Mix256(seed3) + _ent.Mix256(seed4) +} + +// RandByte Secure Random number generator for forwards security +// On Unix-like systems, Reader reads from /dev/urandom. +// On Windows systems, Reader uses the CryptGenRandom API. +// Pseudo-random sequence, seeded from program start time, environmental variables, +// and process id is mixed in for forward security. Future version should use entropy pool +func RandByte(n int) []byte { + buff := make([]byte, n) + _, err := io.ReadFull(crand.Reader, buff) // system secure random number generator + if err != nil { + log.Panic(err) + } + + // XORing in sequence, cannot reduce security (even if sequence is bad/known/non-random) + buff2 := _ent.Mix(buff) + for i := 0; i < n; i++ { + buff[i] ^= buff2[i] + } + return buff +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING new file mode 100644 index 00000000..a7fd60bb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING @@ -0,0 +1,4 @@ +This single package (secp256k1) is distributed with the same license as +the original C implementation by sipa: + + * https://github.com/bitcoin/secp256k1/blob/master/COPYING diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md new file mode 100644 index 00000000..f0466f40 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md @@ -0,0 +1,5 @@ +Implementation of this package has been based on source code created by Pieter Wuille. + + * https://github.com/bitcoin/secp256k1 + +Modified by HaltingState \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go new file mode 100644 index 00000000..0ade1604 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go @@ -0,0 +1,202 @@ +package secp256k1go + +import ( + "bytes" + "log" +) + +// DecompressPoint decompresses point +func DecompressPoint(X []byte, off bool, Y []byte) { + var rx, ry, c, x2, x3 Field + rx.SetB32(X) + rx.Sqr(&x2) + rx.Mul(&x3, &x2) + c.SetInt(7) + c.SetAdd(&x3) + c.Sqrt(&ry) + ry.Normalize() + if ry.IsOdd() != off { + ry.Negate(&ry, 1) + } + ry.Normalize() + ry.GetB32(Y) +} + +// RecoverPublicKey recovers a public key from a signature and the message it signed. +// Returns nil on error with an int error code. Returns 1 on success. +func RecoverPublicKey(sigBytes, msgBytes []byte, recid int) ([]byte, int) { + if len(sigBytes) != 64 { + log.Panic("must pass in 64 byte pubkey") + } + + var pubkey XY + var sig Signature + var msg Number + + sig.ParseBytes(sigBytes[0:64]) + + if sig.R.Sign() <= 0 || sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + if sig.R.Sign() == 0 { + return nil, -1 + } + if sig.R.Sign() <= 0 { + return nil, -2 + } + if sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + return nil, -3 + } + return nil, -4 + } + if sig.S.Sign() <= 0 || sig.S.Cmp(&TheCurve.Order.Int) >= 0 { + return nil, -5 + } + + msg.SetBytes(msgBytes) + if !sig.Recover(&pubkey, &msg, recid) { + return nil, -6 + } + + return pubkey.Bytes(), 1 +} + +// Multiply standard EC multiplication k(xy) +// xy is the compressed public key format (33 bytes long) +func Multiply(xy, k []byte) []byte { + var pk XY + var xyz XYZ + var na, nzero Number + if err := pk.ParsePubkey(xy); err != nil { + return nil + } + xyz.SetXY(&pk) + na.SetBytes(k) + xyz.ECmult(&xyz, &na, &nzero) + pk.SetXYZ(&xyz) + + if !pk.IsValid() { + log.Panic("Multiply pk is invalid") + } + return pk.Bytes() +} + +// pubkeyTest panics if assumptions about pubkey are violated +func pubkeyTest(pk XY) { + if !pk.IsValid() { + log.Panic("IMPOSSIBLE3: pubkey invalid") + } + var pk2 XY + if err := pk2.ParsePubkey(pk.Bytes()); err != nil { + log.Panicf("IMPOSSIBLE2: parse failed: %v", err) + } + if !pk2.IsValid() { + log.Panic("IMPOSSIBLE3: parse failed non valid key") + } + if PubkeyIsValid(pk2.Bytes()) != 1 { + log.Panic("IMPOSSIBLE4: pubkey failed") + } +} + +// BaseMultiply base multiply +func BaseMultiply(k []byte) []byte { + var n Number + var pk XY + n.SetBytes(k) + r := ECmultGen(n) + pk.SetXYZ(&r) + if !pk.IsValid() { + log.Panic("BaseMultiply pk is invalid") + } + + pubkeyTest(pk) + + return pk.Bytes() +} + +// BaseMultiplyAdd computes G*k + xy +// Returns 33 bytes out (compressed pubkey). +func BaseMultiplyAdd(xy, k []byte) []byte { + var n Number + var pk XY + if err := pk.ParsePubkey(xy); err != nil { + return nil + } + n.SetBytes(k) + r := ECmultGen(n) + r.AddXY(&r, &pk) + pk.SetXYZ(&r) + + pubkeyTest(pk) + return pk.Bytes() +} + +// GeneratePublicKey generates a public key from secret key bytes. +// The secret key must 32 bytes. +func GeneratePublicKey(k []byte) []byte { + if len(k) != 32 { + log.Panic("secret key length must be 32 bytes") + } + var n Number + var pk XY + + // must not be zero + // must not be negative + // must be less than order of curve + n.SetBytes(k) + if n.Sign() <= 0 || n.Cmp(&TheCurve.Order.Int) >= 0 { + log.Panic("only call for valid seckey, check that seckey is valid first") + return nil + } + r := ECmultGen(n) + pk.SetXYZ(&r) + if !pk.IsValid() { + log.Panic("public key derived from secret key is unexpectedly valid") + } + pubkeyTest(pk) + return pk.Bytes() +} + +// SeckeyIsValid 1 on success +// Must be 32 bytes +// Must not be zero +// Must not be negative +// Must be less than order of curve +// The probability of any 32 bytes being an invalid secret key is ~2^-128 +func SeckeyIsValid(seckey []byte) int { + if len(seckey) != 32 { + log.Panic("SeckeyIsValid seckey must be 32 bytes") + } + var n Number + n.SetBytes(seckey) + // must not be zero + // must not be negative + // must be less than order of curve + if n.Sign() <= 0 { + return -1 + } + if n.Cmp(&TheCurve.Order.Int) >= 0 { + return -2 + } + return 1 +} + +// PubkeyIsValid returns 1 on success +func PubkeyIsValid(pubkey []byte) int { + if len(pubkey) != 33 { + log.Panic("public key length must be 33 bytes") + return -2 + } + var pubkey1 XY + if err := pubkey1.ParsePubkey(pubkey); err != nil { + return -1 + } + + if !bytes.Equal(pubkey1.Bytes(), pubkey) { + log.Panic("pubkey parses but serialize/deserialize roundtrip fails") + } + + if !pubkey1.IsValid() { + return -3 // invalid, point is infinity or some other problem + } + + return 1 +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go new file mode 100644 index 00000000..1be6c817 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go @@ -0,0 +1,738 @@ +package secp256k1go + +import ( + "encoding/hex" + "math/big" +) + +// Field represents the signature field +type Field struct { + n [10]uint32 +} + +// String returns the hex string of the field +func (fd *Field) String() string { + var tmp [32]byte + b := *fd + b.Normalize() + b.GetB32(tmp[:]) + return hex.EncodeToString(tmp[:]) +} + +// GetBig returns big int +func (fd *Field) GetBig() (r *big.Int) { + fd.Normalize() + r = new(big.Int) + var tmp [32]byte + fd.GetB32(tmp[:]) + r.SetBytes(tmp[:]) + return +} + +// SetB32 sets +func (fd *Field) SetB32(a []byte) { + fd.n[0] = 0 + fd.n[1] = 0 + fd.n[2] = 0 + fd.n[3] = 0 + fd.n[4] = 0 + fd.n[5] = 0 + fd.n[6] = 0 + fd.n[7] = 0 + fd.n[8] = 0 + fd.n[9] = 0 + var v uint32 + for i := uint(0); i < 32; i++ { + for j := uint(0); j < 4; j++ { + limb := (8*i + 2*j) / 26 + shift := (8*i + 2*j) % 26 + v = (uint32)((a[31-i]>>(2*j))&0x3) << shift + fd.n[limb] |= v + } + } +} + +// SetBytes sets bytes +func (fd *Field) SetBytes(a []byte) { + if len(a) > 32 { + panic("too many bytes to set") + } + if len(a) == 32 { + fd.SetB32(a) + } else { + var buf [32]byte + copy(buf[32-len(a):], a) + fd.SetB32(buf[:]) + } +} + +// SetHex sets field in hex string +func (fd *Field) SetHex(s string) { + d, err := hex.DecodeString(s) + if err != nil { + panic(err) + } + fd.SetBytes(d) +} + +// IsOdd check if odd +func (fd *Field) IsOdd() bool { + return (fd.n[0] & 1) != 0 +} + +// IsZero check if field is zero +func (fd *Field) IsZero() bool { + return (fd.n[0] == 0 && fd.n[1] == 0 && fd.n[2] == 0 && fd.n[3] == 0 && fd.n[4] == 0 && fd.n[5] == 0 && fd.n[6] == 0 && fd.n[7] == 0 && fd.n[8] == 0 && fd.n[9] == 0) +} + +// SetInt set fields with an int value +func (fd *Field) SetInt(a uint32) { + fd.n[0] = a + fd.n[1] = 0 + fd.n[2] = 0 + fd.n[3] = 0 + fd.n[4] = 0 + fd.n[5] = 0 + fd.n[6] = 0 + fd.n[7] = 0 + fd.n[8] = 0 + fd.n[9] = 0 +} + +// Normalize normalize the field +func (fd *Field) Normalize() { + c := fd.n[0] + t0 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[1] + t1 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[2] + t2 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[3] + t3 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[4] + t4 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[5] + t5 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[6] + t6 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[7] + t7 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[8] + t8 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[9] + t9 := c & 0x03FFFFF + c >>= 22 + + // The following code will not modify the t's if c is initially 0. + d := c*0x3D1 + t0 + t0 = d & 0x3FFFFFF + d = (d >> 26) + t1 + c*0x40 + t1 = d & 0x3FFFFFF + d = (d >> 26) + t2 + t2 = d & 0x3FFFFFF + d = (d >> 26) + t3 + t3 = d & 0x3FFFFFF + d = (d >> 26) + t4 + t4 = d & 0x3FFFFFF + d = (d >> 26) + t5 + t5 = d & 0x3FFFFFF + d = (d >> 26) + t6 + t6 = d & 0x3FFFFFF + d = (d >> 26) + t7 + t7 = d & 0x3FFFFFF + d = (d >> 26) + t8 + t8 = d & 0x3FFFFFF + d = (d >> 26) + t9 + t9 = d & 0x03FFFFF + + // Subtract p if result >= p + low := (uint64(t1) << 26) | uint64(t0) + //mask := uint64(-(int64)((t9 < 0x03FFFFF) | (t8 < 0x3FFFFFF) | (t7 < 0x3FFFFFF) | (t6 < 0x3FFFFFF) | (t5 < 0x3FFFFFF) | (t4 < 0x3FFFFFF) | (t3 < 0x3FFFFFF) | (t2 < 0x3FFFFFF) | (low < 0xFFFFEFFFFFC2F))) + var mask uint64 + if (t9 < 0x03FFFFF) || + (t8 < 0x3FFFFFF) || + (t7 < 0x3FFFFFF) || + (t6 < 0x3FFFFFF) || + (t5 < 0x3FFFFFF) || + (t4 < 0x3FFFFFF) || + (t3 < 0x3FFFFFF) || + (t2 < 0x3FFFFFF) || + (low < 0xFFFFEFFFFFC2F) { + mask = 0xFFFFFFFFFFFFFFFF + } + t9 &= uint32(mask) + t8 &= uint32(mask) + t7 &= uint32(mask) + t6 &= uint32(mask) + t5 &= uint32(mask) + t4 &= uint32(mask) + t3 &= uint32(mask) + t2 &= uint32(mask) + low -= ((mask ^ 0xFFFFFFFFFFFFFFFF) & 0xFFFFEFFFFFC2F) + + // push internal variables back + fd.n[0] = uint32(low) & 0x3FFFFFF + fd.n[1] = uint32(low>>26) & 0x3FFFFFF + fd.n[2] = t2 + fd.n[3] = t3 + fd.n[4] = t4 + fd.n[5] = t5 + fd.n[6] = t6 + fd.n[7] = t7 + fd.n[8] = t8 + fd.n[9] = t9 +} + +// GetB32 get B32, TODO: need further explanation +func (fd *Field) GetB32(r []byte) { + var i, j, c, limb, shift uint32 + for i = 0; i < 32; i++ { + c = 0 + for j = 0; j < 4; j++ { + limb = (8*i + 2*j) / 26 + shift = (8*i + 2*j) % 26 + c |= ((fd.n[limb] >> shift) & 0x3) << (2 * j) + } + r[31-i] = byte(c) + } +} + +// Equals check if field is the same as the given one +func (fd *Field) Equals(b *Field) bool { + return (fd.n[0] == b.n[0] && fd.n[1] == b.n[1] && fd.n[2] == b.n[2] && fd.n[3] == b.n[3] && fd.n[4] == b.n[4] && + fd.n[5] == b.n[5] && fd.n[6] == b.n[6] && fd.n[7] == b.n[7] && fd.n[8] == b.n[8] && fd.n[9] == b.n[9]) +} + +// SetAdd adds value to corresponding fields +func (fd *Field) SetAdd(a *Field) { + fd.n[0] += a.n[0] + fd.n[1] += a.n[1] + fd.n[2] += a.n[2] + fd.n[3] += a.n[3] + fd.n[4] += a.n[4] + fd.n[5] += a.n[5] + fd.n[6] += a.n[6] + fd.n[7] += a.n[7] + fd.n[8] += a.n[8] + fd.n[9] += a.n[9] +} + +// MulInt multiples the fields +func (fd *Field) MulInt(a uint32) { + fd.n[0] *= a + fd.n[1] *= a + fd.n[2] *= a + fd.n[3] *= a + fd.n[4] *= a + fd.n[5] *= a + fd.n[6] *= a + fd.n[7] *= a + fd.n[8] *= a + fd.n[9] *= a +} + +// Negate caculate the negate +func (fd *Field) Negate(r *Field, m uint32) { + r.n[0] = 0x3FFFC2F*(m+1) - fd.n[0] + r.n[1] = 0x3FFFFBF*(m+1) - fd.n[1] + r.n[2] = 0x3FFFFFF*(m+1) - fd.n[2] + r.n[3] = 0x3FFFFFF*(m+1) - fd.n[3] + r.n[4] = 0x3FFFFFF*(m+1) - fd.n[4] + r.n[5] = 0x3FFFFFF*(m+1) - fd.n[5] + r.n[6] = 0x3FFFFFF*(m+1) - fd.n[6] + r.n[7] = 0x3FFFFFF*(m+1) - fd.n[7] + r.n[8] = 0x3FFFFFF*(m+1) - fd.n[8] + r.n[9] = 0x03FFFFF*(m+1) - fd.n[9] +} + +// Inv new algo by peterdettman - https://github.com/sipa/TheCurve/pull/19 +func (fd *Field) Inv(r *Field) { + var x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1 Field + var j int + + fd.Sqr(&x2) + x2.Mul(&x2, fd) + + x2.Sqr(&x3) + x3.Mul(&x3, fd) + + x3.Sqr(&x6) + x6.Sqr(&x6) + x6.Sqr(&x6) + x6.Mul(&x6, &x3) + + x6.Sqr(&x9) + x9.Sqr(&x9) + x9.Sqr(&x9) + x9.Mul(&x9, &x3) + + x9.Sqr(&x11) + x11.Sqr(&x11) + x11.Mul(&x11, &x2) + + x11.Sqr(&x22) + for j = 1; j < 11; j++ { + x22.Sqr(&x22) + } + x22.Mul(&x22, &x11) + + x22.Sqr(&x44) + for j = 1; j < 22; j++ { + x44.Sqr(&x44) + } + x44.Mul(&x44, &x22) + + x44.Sqr(&x88) + for j = 1; j < 44; j++ { + x88.Sqr(&x88) + } + x88.Mul(&x88, &x44) + + x88.Sqr(&x176) + for j = 1; j < 88; j++ { + x176.Sqr(&x176) + } + x176.Mul(&x176, &x88) + + x176.Sqr(&x220) + for j = 1; j < 44; j++ { + x220.Sqr(&x220) + } + x220.Mul(&x220, &x44) + + x220.Sqr(&x223) + x223.Sqr(&x223) + x223.Sqr(&x223) + x223.Mul(&x223, &x3) + + x223.Sqr(&t1) + for j = 1; j < 23; j++ { + t1.Sqr(&t1) + } + t1.Mul(&t1, &x22) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Mul(&t1, fd) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Mul(&t1, &x2) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Mul(r, fd) +} + +// Sqrt new algo by peterdettman - https://github.com/sipa/TheCurve/pull/19 +func (fd *Field) Sqrt(r *Field) { + var x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1 Field + var j int + + fd.Sqr(&x2) + x2.Mul(&x2, fd) + + x2.Sqr(&x3) + x3.Mul(&x3, fd) + + x3.Sqr(&x6) + x6.Sqr(&x6) + x6.Sqr(&x6) + x6.Mul(&x6, &x3) + + x6.Sqr(&x9) + x9.Sqr(&x9) + x9.Sqr(&x9) + x9.Mul(&x9, &x3) + + x9.Sqr(&x11) + x11.Sqr(&x11) + x11.Mul(&x11, &x2) + + x11.Sqr(&x22) + for j = 1; j < 11; j++ { + x22.Sqr(&x22) + } + x22.Mul(&x22, &x11) + + x22.Sqr(&x44) + for j = 1; j < 22; j++ { + x44.Sqr(&x44) + } + x44.Mul(&x44, &x22) + + x44.Sqr(&x88) + for j = 1; j < 44; j++ { + x88.Sqr(&x88) + } + x88.Mul(&x88, &x44) + + x88.Sqr(&x176) + for j = 1; j < 88; j++ { + x176.Sqr(&x176) + } + x176.Mul(&x176, &x88) + + x176.Sqr(&x220) + for j = 1; j < 44; j++ { + x220.Sqr(&x220) + } + x220.Mul(&x220, &x44) + + x220.Sqr(&x223) + x223.Sqr(&x223) + x223.Sqr(&x223) + x223.Mul(&x223, &x3) + + x223.Sqr(&t1) + for j = 1; j < 23; j++ { + t1.Sqr(&t1) + } + t1.Mul(&t1, &x22) + for j = 0; j < 6; j++ { + t1.Sqr(&t1) + } + t1.Mul(&t1, &x2) + t1.Sqr(&t1) + t1.Sqr(r) +} + +// InvVar ... +func (fd *Field) InvVar(r *Field) { + var b [32]byte + c := *fd + c.Normalize() + c.GetB32(b[:]) + var n Number + n.SetBytes(b[:]) + n.modInv(&n, &TheCurve.p) + r.SetBytes(n.Bytes()) +} + +// Mul ... +func (fd *Field) Mul(r, b *Field) { + var c, d uint64 + var t0, t1, t2, t3, t4, t5, t6 uint64 + var t7, t8, t9, t10, t11, t12, t13 uint64 + var t14, t15, t16, t17, t18, t19 uint64 + + c = uint64(fd.n[0]) * uint64(b.n[0]) + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[1]) + + uint64(fd.n[1])*uint64(b.n[0]) + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[2]) + + uint64(fd.n[1])*uint64(b.n[1]) + + uint64(fd.n[2])*uint64(b.n[0]) + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[3]) + + uint64(fd.n[1])*uint64(b.n[2]) + + uint64(fd.n[2])*uint64(b.n[1]) + + uint64(fd.n[3])*uint64(b.n[0]) + t3 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[4]) + + uint64(fd.n[1])*uint64(b.n[3]) + + uint64(fd.n[2])*uint64(b.n[2]) + + uint64(fd.n[3])*uint64(b.n[1]) + + uint64(fd.n[4])*uint64(b.n[0]) + t4 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[5]) + + uint64(fd.n[1])*uint64(b.n[4]) + + uint64(fd.n[2])*uint64(b.n[3]) + + uint64(fd.n[3])*uint64(b.n[2]) + + uint64(fd.n[4])*uint64(b.n[1]) + + uint64(fd.n[5])*uint64(b.n[0]) + t5 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[6]) + + uint64(fd.n[1])*uint64(b.n[5]) + + uint64(fd.n[2])*uint64(b.n[4]) + + uint64(fd.n[3])*uint64(b.n[3]) + + uint64(fd.n[4])*uint64(b.n[2]) + + uint64(fd.n[5])*uint64(b.n[1]) + + uint64(fd.n[6])*uint64(b.n[0]) + t6 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[7]) + + uint64(fd.n[1])*uint64(b.n[6]) + + uint64(fd.n[2])*uint64(b.n[5]) + + uint64(fd.n[3])*uint64(b.n[4]) + + uint64(fd.n[4])*uint64(b.n[3]) + + uint64(fd.n[5])*uint64(b.n[2]) + + uint64(fd.n[6])*uint64(b.n[1]) + + uint64(fd.n[7])*uint64(b.n[0]) + t7 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[8]) + + uint64(fd.n[1])*uint64(b.n[7]) + + uint64(fd.n[2])*uint64(b.n[6]) + + uint64(fd.n[3])*uint64(b.n[5]) + + uint64(fd.n[4])*uint64(b.n[4]) + + uint64(fd.n[5])*uint64(b.n[3]) + + uint64(fd.n[6])*uint64(b.n[2]) + + uint64(fd.n[7])*uint64(b.n[1]) + + uint64(fd.n[8])*uint64(b.n[0]) + t8 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[9]) + + uint64(fd.n[1])*uint64(b.n[8]) + + uint64(fd.n[2])*uint64(b.n[7]) + + uint64(fd.n[3])*uint64(b.n[6]) + + uint64(fd.n[4])*uint64(b.n[5]) + + uint64(fd.n[5])*uint64(b.n[4]) + + uint64(fd.n[6])*uint64(b.n[3]) + + uint64(fd.n[7])*uint64(b.n[2]) + + uint64(fd.n[8])*uint64(b.n[1]) + + uint64(fd.n[9])*uint64(b.n[0]) + t9 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[1])*uint64(b.n[9]) + + uint64(fd.n[2])*uint64(b.n[8]) + + uint64(fd.n[3])*uint64(b.n[7]) + + uint64(fd.n[4])*uint64(b.n[6]) + + uint64(fd.n[5])*uint64(b.n[5]) + + uint64(fd.n[6])*uint64(b.n[4]) + + uint64(fd.n[7])*uint64(b.n[3]) + + uint64(fd.n[8])*uint64(b.n[2]) + + uint64(fd.n[9])*uint64(b.n[1]) + t10 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[2])*uint64(b.n[9]) + + uint64(fd.n[3])*uint64(b.n[8]) + + uint64(fd.n[4])*uint64(b.n[7]) + + uint64(fd.n[5])*uint64(b.n[6]) + + uint64(fd.n[6])*uint64(b.n[5]) + + uint64(fd.n[7])*uint64(b.n[4]) + + uint64(fd.n[8])*uint64(b.n[3]) + + uint64(fd.n[9])*uint64(b.n[2]) + t11 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[3])*uint64(b.n[9]) + + uint64(fd.n[4])*uint64(b.n[8]) + + uint64(fd.n[5])*uint64(b.n[7]) + + uint64(fd.n[6])*uint64(b.n[6]) + + uint64(fd.n[7])*uint64(b.n[5]) + + uint64(fd.n[8])*uint64(b.n[4]) + + uint64(fd.n[9])*uint64(b.n[3]) + t12 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[4])*uint64(b.n[9]) + + uint64(fd.n[5])*uint64(b.n[8]) + + uint64(fd.n[6])*uint64(b.n[7]) + + uint64(fd.n[7])*uint64(b.n[6]) + + uint64(fd.n[8])*uint64(b.n[5]) + + uint64(fd.n[9])*uint64(b.n[4]) + t13 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[5])*uint64(b.n[9]) + + uint64(fd.n[6])*uint64(b.n[8]) + + uint64(fd.n[7])*uint64(b.n[7]) + + uint64(fd.n[8])*uint64(b.n[6]) + + uint64(fd.n[9])*uint64(b.n[5]) + t14 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[6])*uint64(b.n[9]) + + uint64(fd.n[7])*uint64(b.n[8]) + + uint64(fd.n[8])*uint64(b.n[7]) + + uint64(fd.n[9])*uint64(b.n[6]) + t15 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[7])*uint64(b.n[9]) + + uint64(fd.n[8])*uint64(b.n[8]) + + uint64(fd.n[9])*uint64(b.n[7]) + t16 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[8])*uint64(b.n[9]) + + uint64(fd.n[9])*uint64(b.n[8]) + t17 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[9])*uint64(b.n[9]) + t18 = c & 0x3FFFFFF + c = c >> 26 + t19 = c + + c = t0 + t10*0x3D10 + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + t1 + t10*0x400 + t11*0x3D10 + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + t2 + t11*0x400 + t12*0x3D10 + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + t3 + t12*0x400 + t13*0x3D10 + r.n[3] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t4 + t13*0x400 + t14*0x3D10 + r.n[4] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t5 + t14*0x400 + t15*0x3D10 + r.n[5] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t6 + t15*0x400 + t16*0x3D10 + r.n[6] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t7 + t16*0x400 + t17*0x3D10 + r.n[7] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t8 + t17*0x400 + t18*0x3D10 + r.n[8] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t9 + t18*0x400 + t19*0x1000003D10 + r.n[9] = uint32(c) & 0x03FFFFF + c = c >> 22 + d = t0 + c*0x3D1 + r.n[0] = uint32(d) & 0x3FFFFFF + d = d >> 26 + d = d + t1 + c*0x40 + r.n[1] = uint32(d) & 0x3FFFFFF + d = d >> 26 + r.n[2] = uint32(t2 + d) +} + +// Sqr ... +func (fd *Field) Sqr(r *Field) { + var c, d uint64 + var t0, t1, t2, t3, t4, t5, t6 uint64 + var t7, t8, t9, t10, t11, t12, t13 uint64 + var t14, t15, t16, t17, t18, t19 uint64 + + c = uint64(fd.n[0]) * uint64(fd.n[0]) + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[1]) + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[2]) + + uint64(fd.n[1])*uint64(fd.n[1]) + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[3]) + + (uint64(fd.n[1])*2)*uint64(fd.n[2]) + t3 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[4]) + + (uint64(fd.n[1])*2)*uint64(fd.n[3]) + + uint64(fd.n[2])*uint64(fd.n[2]) + t4 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[5]) + + (uint64(fd.n[1])*2)*uint64(fd.n[4]) + + (uint64(fd.n[2])*2)*uint64(fd.n[3]) + t5 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[6]) + + (uint64(fd.n[1])*2)*uint64(fd.n[5]) + + (uint64(fd.n[2])*2)*uint64(fd.n[4]) + + uint64(fd.n[3])*uint64(fd.n[3]) + t6 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[7]) + + (uint64(fd.n[1])*2)*uint64(fd.n[6]) + + (uint64(fd.n[2])*2)*uint64(fd.n[5]) + + (uint64(fd.n[3])*2)*uint64(fd.n[4]) + t7 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[8]) + + (uint64(fd.n[1])*2)*uint64(fd.n[7]) + + (uint64(fd.n[2])*2)*uint64(fd.n[6]) + + (uint64(fd.n[3])*2)*uint64(fd.n[5]) + + uint64(fd.n[4])*uint64(fd.n[4]) + t8 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[9]) + + (uint64(fd.n[1])*2)*uint64(fd.n[8]) + + (uint64(fd.n[2])*2)*uint64(fd.n[7]) + + (uint64(fd.n[3])*2)*uint64(fd.n[6]) + + (uint64(fd.n[4])*2)*uint64(fd.n[5]) + t9 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[1])*2)*uint64(fd.n[9]) + + (uint64(fd.n[2])*2)*uint64(fd.n[8]) + + (uint64(fd.n[3])*2)*uint64(fd.n[7]) + + (uint64(fd.n[4])*2)*uint64(fd.n[6]) + + uint64(fd.n[5])*uint64(fd.n[5]) + t10 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[2])*2)*uint64(fd.n[9]) + + (uint64(fd.n[3])*2)*uint64(fd.n[8]) + + (uint64(fd.n[4])*2)*uint64(fd.n[7]) + + (uint64(fd.n[5])*2)*uint64(fd.n[6]) + t11 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[3])*2)*uint64(fd.n[9]) + + (uint64(fd.n[4])*2)*uint64(fd.n[8]) + + (uint64(fd.n[5])*2)*uint64(fd.n[7]) + + uint64(fd.n[6])*uint64(fd.n[6]) + t12 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[4])*2)*uint64(fd.n[9]) + + (uint64(fd.n[5])*2)*uint64(fd.n[8]) + + (uint64(fd.n[6])*2)*uint64(fd.n[7]) + t13 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[5])*2)*uint64(fd.n[9]) + + (uint64(fd.n[6])*2)*uint64(fd.n[8]) + + uint64(fd.n[7])*uint64(fd.n[7]) + t14 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[6])*2)*uint64(fd.n[9]) + + (uint64(fd.n[7])*2)*uint64(fd.n[8]) + t15 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[7])*2)*uint64(fd.n[9]) + + uint64(fd.n[8])*uint64(fd.n[8]) + t16 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[8])*2)*uint64(fd.n[9]) + t17 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[9])*uint64(fd.n[9]) + t18 = c & 0x3FFFFFF + c = c >> 26 + t19 = c + + c = t0 + t10*0x3D10 + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + t1 + t10*0x400 + t11*0x3D10 + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + t2 + t11*0x400 + t12*0x3D10 + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + t3 + t12*0x400 + t13*0x3D10 + r.n[3] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t4 + t13*0x400 + t14*0x3D10 + r.n[4] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t5 + t14*0x400 + t15*0x3D10 + r.n[5] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t6 + t15*0x400 + t16*0x3D10 + r.n[6] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t7 + t16*0x400 + t17*0x3D10 + r.n[7] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t8 + t17*0x400 + t18*0x3D10 + r.n[8] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t9 + t18*0x400 + t19*0x1000003D10 + r.n[9] = uint32(c) & 0x03FFFFF + c = c >> 22 + d = t0 + c*0x3D1 + r.n[0] = uint32(d) & 0x3FFFFFF + d = d >> 26 + d = d + t1 + c*0x40 + r.n[1] = uint32(d) & 0x3FFFFFF + d = d >> 26 + r.n[2] = uint32(t2 + d) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go new file mode 100644 index 00000000..07527d85 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go @@ -0,0 +1,100 @@ +package secp256k1go + +import ( + "math/big" +) + +var ( + // BigInt1 represents big int with value 1 + BigInt1 = new(big.Int).SetInt64(1) +) + +// Number wraps the big.Int +type Number struct { + big.Int +} + +func (num *Number) modMul(a, b, m *Number) { + num.Mul(&a.Int, &b.Int) + num.Mod(&num.Int, &m.Int) +} + +func (num *Number) modInv(a, b *Number) { + num.ModInverse(&a.Int, &b.Int) +} + +func (num *Number) mod(a *Number) { + num.Mod(&num.Int, &a.Int) +} + +// SetHex sets number from string +func (num *Number) SetHex(s string) { + if _, ok := num.SetString(s, 16); !ok { + panic("Number.SetHex failed") + } +} + +func (num *Number) maskBits(bits uint) { + mask := new(big.Int).Lsh(BigInt1, bits) + mask.Sub(mask, BigInt1) + num.Int.And(&num.Int, mask) +} + +func (num *Number) splitExp(r1, r2 *Number) { + var bnc1, bnc2, bnn2, bnt1, bnt2 Number + + bnn2.Int.Rsh(&TheCurve.Order.Int, 1) + + bnc1.Mul(&num.Int, &TheCurve.a1b2.Int) + bnc1.Add(&bnc1.Int, &bnn2.Int) + bnc1.Div(&bnc1.Int, &TheCurve.Order.Int) + + bnc2.Mul(&num.Int, &TheCurve.b1.Int) + bnc2.Add(&bnc2.Int, &bnn2.Int) + bnc2.Div(&bnc2.Int, &TheCurve.Order.Int) + + bnt1.Mul(&bnc1.Int, &TheCurve.a1b2.Int) + bnt2.Mul(&bnc2.Int, &TheCurve.a2.Int) + bnt1.Add(&bnt1.Int, &bnt2.Int) + r1.Sub(&num.Int, &bnt1.Int) + + bnt1.Mul(&bnc1.Int, &TheCurve.b1.Int) + bnt2.Mul(&bnc2.Int, &TheCurve.a1b2.Int) + r2.Sub(&bnt1.Int, &bnt2.Int) +} + +func (num *Number) split(rl, rh *Number, bits uint) { //nolint:unparam + rl.Int.Set(&num.Int) + rh.Int.Rsh(&rl.Int, bits) + rl.maskBits(bits) +} + +func (num *Number) rsh(bits uint) { //nolint:unparam + num.Rsh(&num.Int, bits) +} + +func (num *Number) inc() { + num.Add(&num.Int, BigInt1) +} + +func (num *Number) rshX(bits uint) (res int) { + res = int(new(big.Int).And(&num.Int, new(big.Int).SetUint64((1< length { + panic("buffer too small") + } + if len(b) == length { + return b + } + return append(make([]byte, length-len(b)), b...) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go new file mode 100644 index 00000000..1cbb4ae3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go @@ -0,0 +1,64 @@ +/* +Package secp256k1go implements the underlying secp256k1 primitives +*/ +package secp256k1go + +const winA = 5 +const winG = 14 + +// TheCurve is the secp256k1 curve +var TheCurve struct { + Order Number // the order of the base point (stdlib crypto/elliptic.CurveParams.N) + halfOrder Number // half of the Order value + G XY // (x, y) of the base point (stdlib crypto/elliptic.CurveParams.Gx, Gy) + beta Field // endomorphism optimization parameter (derived from Hal Finney's post https://bitcointalk.org/index.php?topic=3238.msg45565#msg45565) + lambda, a1b2, b1, a2 Number // endomorphism optimization parameters (derived from Hal Finney's post https://bitcointalk.org/index.php?topic=3238.msg45565#msg45565) + p Number // // the order of the underlying field (stdlib crypto/elliptic.CurveParams.P) +} + +func initConstants() { + TheCurve.Order.SetBytes([]byte{ + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, + 0xBA, 0xAE, 0xDC, 0xE6, 0xAF, 0x48, 0xA0, 0x3B, 0xBF, 0xD2, 0x5E, 0x8C, 0xD0, 0x36, 0x41, 0x41}) + + TheCurve.halfOrder.SetBytes([]byte{ + 0X7F, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, + 0X5D, 0X57, 0X6E, 0X73, 0X57, 0XA4, 0X50, 0X1D, 0XDF, 0XE9, 0X2F, 0X46, 0X68, 0X1B, 0X20, 0XA0}) + + TheCurve.p.SetBytes([]byte{ + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFC, 0x2F}) + + TheCurve.G.X.SetB32([]byte{ + 0x79, 0xBE, 0x66, 0x7E, 0xF9, 0xDC, 0xBB, 0xAC, 0x55, 0xA0, 0x62, 0x95, 0xCE, 0x87, 0x0B, 0x07, + 0x02, 0x9B, 0xFC, 0xDB, 0x2D, 0xCE, 0x28, 0xD9, 0x59, 0xF2, 0x81, 0x5B, 0x16, 0xF8, 0x17, 0x98}) + + TheCurve.G.Y.SetB32([]byte{ + 0x48, 0x3A, 0xDA, 0x77, 0x26, 0xA3, 0xC4, 0x65, 0x5D, 0xA4, 0xFB, 0xFC, 0x0E, 0x11, 0x08, 0xA8, + 0xFD, 0x17, 0xB4, 0x48, 0xA6, 0x85, 0x54, 0x19, 0x9C, 0x47, 0xD0, 0x8F, 0xFB, 0x10, 0xD4, 0xB8}) + + // See Hal Finney's post https://bitcointalk.org/index.php?topic=3238.msg45565#msg45565 + // Backup archive: https://gist.github.com/gz-c/bf70ce96b2488e5ccca65900086c75f5 + // for explanation of the following constants: + + TheCurve.lambda.SetBytes([]byte{ + 0x53, 0x63, 0xad, 0x4c, 0xc0, 0x5c, 0x30, 0xe0, 0xa5, 0x26, 0x1c, 0x02, 0x88, 0x12, 0x64, 0x5a, + 0x12, 0x2e, 0x22, 0xea, 0x20, 0x81, 0x66, 0x78, 0xdf, 0x02, 0x96, 0x7c, 0x1b, 0x23, 0xbd, 0x72}) + + TheCurve.beta.SetB32([]byte{ + 0x7a, 0xe9, 0x6a, 0x2b, 0x65, 0x7c, 0x07, 0x10, 0x6e, 0x64, 0x47, 0x9e, 0xac, 0x34, 0x34, 0xe9, + 0x9c, 0xf0, 0x49, 0x75, 0x12, 0xf5, 0x89, 0x95, 0xc1, 0x39, 0x6c, 0x28, 0x71, 0x95, 0x01, 0xee}) + + TheCurve.a1b2.SetBytes([]byte{ + 0x30, 0x86, 0xd2, 0x21, 0xa7, 0xd4, 0x6b, 0xcd, 0xe8, 0x6c, 0x90, 0xe4, 0x92, 0x84, 0xeb, 0x15}) + + TheCurve.b1.SetBytes([]byte{ + 0xe4, 0x43, 0x7e, 0xd6, 0x01, 0x0e, 0x88, 0x28, 0x6f, 0x54, 0x7f, 0xa9, 0x0a, 0xbf, 0xe4, 0xc3}) + + TheCurve.a2.SetBytes([]byte{ + 0x01, 0x14, 0xca, 0x50, 0xf7, 0xa8, 0xe2, 0xf3, 0xf6, 0x57, 0xc1, 0x10, 0x8d, 0x9d, 0x44, 0xcf, 0xd8}) +} + +func init() { + initConstants() +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go new file mode 100644 index 00000000..2ea702c3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go @@ -0,0 +1,280 @@ +package secp256k1go + +import ( + "bytes" + "log" +) + +// Signature represents the signature +type Signature struct { + R, S Number +} + +// Verify verify the signature +func (sig *Signature) Verify(pubkey *XY, message *Number) bool { + var r2 Number + return sig.recompute(&r2, pubkey, message) && sig.R.Cmp(&r2.Int) == 0 +} + +func (sig *Signature) recompute(r2 *Number, pubkey *XY, message *Number) bool { + var sn, u1, u2 Number + + sn.modInv(&sig.S, &TheCurve.Order) + u1.modMul(&sn, message, &TheCurve.Order) + u2.modMul(&sn, &sig.R, &TheCurve.Order) + + var pr, pubkeyj XYZ + pubkeyj.SetXY(pubkey) + + pubkeyj.ECmult(&pr, &u2, &u1) + if pr.IsInfinity() { + return false + } + + var xr Field + pr.getX(&xr) + xr.Normalize() + var xrb [32]byte + xr.GetB32(xrb[:]) + r2.SetBytes(xrb[:]) + r2.Mod(&r2.Int, &TheCurve.Order.Int) + + return true +} + +/* +Reference code for Signature.Recover + +https://github.com/bitcoin-core/secp256k1/blob/e541a90ef6461007d9c6a74b9f9a7fb8aa34aaa8/src/modules/recovery/main_impl.h + +static int secp256k1_ecdsa_sig_recover(const secp256k1_ecmult_context *ctx, const secp256k1_scalar *sigr, const secp256k1_scalar* sigs, secp256k1_ge *pubkey, const secp256k1_scalar *message, int recid) { + unsigned char brx[32]; + secp256k1_fe fx; + secp256k1_ge x; + secp256k1_gej xj; + secp256k1_scalar rn, u1, u2; + secp256k1_gej qj; + int r; + + if (secp256k1_scalar_is_zero(sigr) || secp256k1_scalar_is_zero(sigs)) { + return 0; + } + + secp256k1_scalar_get_b32(brx, sigr); + r = secp256k1_fe_set_b32(&fx, brx); + (void)r; + VERIFY_CHECK(r); // brx comes from a scalar, so is less than the order; certainly less than p + if (recid & 2) { + if (secp256k1_fe_cmp_var(&fx, &secp256k1_ecdsa_const_p_minus_order) >= 0) { + return 0; + } + secp256k1_fe_add(&fx, &secp256k1_ecdsa_const_order_as_fe); + } + if (!secp256k1_ge_set_xo_var(&x, &fx, recid & 1)) { + return 0; + } + secp256k1_gej_set_ge(&xj, &x); + secp256k1_scalar_inverse_var(&rn, sigr); + secp256k1_scalar_mul(&u1, &rn, message); + secp256k1_scalar_negate(&u1, &u1); + secp256k1_scalar_mul(&u2, &rn, sigs); + secp256k1_ecmult(ctx, &qj, &xj, &u2, &u1); + secp256k1_ge_set_gej_var(pubkey, &qj); + return !secp256k1_gej_is_infinity(&qj); +} +*/ + +// Recover recovers a pubkey XY point given the message that was signed to create +// this signature. +func (sig *Signature) Recover(pubkey *XY, msg *Number, recid int) bool { + var rx, rn, u1, u2 Number + var fx Field + var x XY + var xj, qj XYZ + + if sig.R.Sign() == 0 || sig.S.Sign() == 0 { + return false + } + + rx.Set(&sig.R.Int) + if (recid & 2) != 0 { + rx.Add(&rx.Int, &TheCurve.Order.Int) + if rx.Cmp(&TheCurve.p.Int) >= 0 { + return false + } + } + + fx.SetB32(LeftPadBytes(rx.Bytes(), 32)) + + x.SetXO(&fx, (recid&1) != 0) + if !x.IsValid() { + return false + } + + xj.SetXY(&x) + rn.modInv(&sig.R, &TheCurve.Order) + u1.modMul(&rn, msg, &TheCurve.Order) + u1.Sub(&TheCurve.Order.Int, &u1.Int) + u2.modMul(&rn, &sig.S, &TheCurve.Order) + xj.ECmult(&qj, &u2, &u1) + pubkey.SetXYZ(&qj) + return !qj.IsInfinity() +} + +/* +Reference code for Signature.Sign + +https://github.com/bitcoin-core/secp256k1/blob/master/src/ecdsa_impl.h + +static int secp256k1_ecdsa_sig_sign(const secp256k1_ecmult_gen_context *ctx, secp256k1_scalar *sigr, secp256k1_scalar *sigs, const secp256k1_scalar *seckey, const secp256k1_scalar *message, const secp256k1_scalar *nonce, int *recid) { + unsigned char b[32]; + secp256k1_gej rp; + secp256k1_ge r; + secp256k1_scalar n; + int overflow = 0; + + secp256k1_ecmult_gen(ctx, &rp, nonce); + secp256k1_ge_set_gej(&r, &rp); + secp256k1_fe_normalize(&r.x); + secp256k1_fe_normalize(&r.y); + secp256k1_fe_get_b32(b, &r.x); + secp256k1_scalar_set_b32(sigr, b, &overflow); + // These two conditions should be checked before calling + VERIFY_CHECK(!secp256k1_scalar_is_zero(sigr)); + VERIFY_CHECK(overflow == 0); + + if (recid) { + // The overflow condition is cryptographically unreachable as hitting it requires finding the discrete log + // of some P where P.x >= order, and only 1 in about 2^127 points meet this criteria. + *recid = (overflow ? 2 : 0) | (secp256k1_fe_is_odd(&r.y) ? 1 : 0); + } + secp256k1_scalar_mul(&n, sigr, seckey); + secp256k1_scalar_add(&n, &n, message); + secp256k1_scalar_inverse(sigs, nonce); + secp256k1_scalar_mul(sigs, sigs, &n); + secp256k1_scalar_clear(&n); + secp256k1_gej_clear(&rp); + secp256k1_ge_clear(&r); + if (secp256k1_scalar_is_zero(sigs)) { + return 0; + } + if (secp256k1_scalar_is_high(sigs)) { + secp256k1_scalar_negate(sigs, sigs); + if (recid) { + *recid ^= 1; + } + } + return 1; +} +*/ + +// Sign signs the signature. Returns 1 on success, 0 on failure +func (sig *Signature) Sign(seckey, message, nonce *Number, recid *int) int { + var r XY + var n Number + var b [32]byte + + // r = nonce*G + rp := ECmultGen(*nonce) + r.SetXYZ(&rp) + r.X.Normalize() + r.Y.Normalize() + r.X.GetB32(b[:]) + sig.R.SetBytes(b[:]) + + if sig.R.Sign() == 0 { + log.Panic("sig R value should not be 0") + } + + if recid != nil { + *recid = 0 + // The overflow condition is cryptographically unreachable as hitting + // it requires finding the discrete log of some P where P.x >= order, + // and only 1 in about 2^127 points meet this criteria. + if sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + *recid |= 2 + } + if r.Y.IsOdd() { + *recid |= 1 + } + } + + sig.R.mod(&TheCurve.Order) + n.modMul(&sig.R, seckey, &TheCurve.Order) + n.Add(&n.Int, &message.Int) + n.mod(&TheCurve.Order) + sig.S.modInv(nonce, &TheCurve.Order) + sig.S.modMul(&sig.S, &n, &TheCurve.Order) + + if sig.S.Sign() == 0 { + return 0 + } + + // Break signature malleability + if sig.S.Cmp(&TheCurve.halfOrder.Int) == 1 { + sig.S.Sub(&TheCurve.Order.Int, &sig.S.Int) + if recid != nil { + *recid ^= 1 + } + } + + return 1 +} + +// ParseBytes parses a serialized R||S pair to Signature. +// R and S should be in big-endian encoding. +func (sig *Signature) ParseBytes(v []byte) { + if len(v) != 64 { + log.Panic("Signature.ParseBytes requires 64 bytes") + } + sig.R.SetBytes(v[0:32]) + sig.S.SetBytes(v[32:64]) +} + +//secp256k1_num_get_bin(sig64, 32, &sig.r); +//secp256k1_num_get_bin(sig64 + 32, 32, &sig.s); + +// Bytes serializes compressed signatures as bytes. +// The serialization format is R||S. R and S bytes are big-endian. +// R and S are left-padded with the NUL byte to ensure their length is 32 bytes. +func (sig *Signature) Bytes() []byte { + r := sig.R.Bytes() // big-endian + s := sig.S.Bytes() // big-endian + + for len(r) < 32 { + r = append([]byte{0}, r...) + } + for len(s) < 32 { + s = append([]byte{0}, s...) + } + + if len(r) != 32 || len(s) != 32 { + log.Panicf("signature size invalid: %d, %d", len(r), len(s)) + } + + res := new(bytes.Buffer) + if _, err := res.Write(r); err != nil { + log.Panic(err) + } + if _, err := res.Write(s); err != nil { + log.Panic(err) + } + + //test + if true { + ret := res.Bytes() + var sig2 Signature + sig2.ParseBytes(ret) + if !bytes.Equal(sig.R.Bytes(), sig2.R.Bytes()) { + log.Panic("serialization failed 1") + } + if !bytes.Equal(sig.S.Bytes(), sig2.S.Bytes()) { + log.Panic("serialization failed 2") + } + } + + if len(res.Bytes()) != 64 { + log.Panic("Signature.Bytes result bytes must be 64 bytes long") + } + return res.Bytes() +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go new file mode 100644 index 00000000..a6f9d6c8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go @@ -0,0 +1,244 @@ +package secp256k1go + +import ( + "errors" + "log" +) + +// XY is a point on the secp256k1 curve +type XY struct { + X, Y Field + Infinity bool +} + +func (xy *XY) String() string { + if xy.Infinity { + return "Infinity" + } + return xy.X.String() + "," + xy.Y.String() +} + +//edited + +/* + if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { + secp256k1_fe_t x; + secp256k1_fe_set_b32(&x, pub+1); + return secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { + secp256k1_fe_t x, y; + secp256k1_fe_set_b32(&x, pub+1); + secp256k1_fe_set_b32(&y, pub+33); + secp256k1_ge_set_xy(elem, &x, &y); + if ((pub[0] == 0x06 || pub[0] == 0x07) && secp256k1_fe_is_odd(&y) != (pub[0] == 0x07)) + return 0; + return secp256k1_ge_is_valid(elem); + } +*/ +//All compact keys appear to be valid by construction, but may fail +//is valid check + +// ParsePubkey parses a compressed pubkey to a point on the curve +func (xy *XY) ParsePubkey(pub []byte) error { + // ParsePubkey WARNING: for compact signatures, will succeed unconditionally + //however, elem.IsValid will fail + if len(pub) != 33 { + log.Panic("pubkey len must be 33 bytes") // do not permit invalid length inputs + return errors.New("pubkey len must be 33 bytes") + } + if len(pub) == 33 && (pub[0] == 0x02 || pub[0] == 0x03) { + xy.X.SetB32(pub[1:33]) + xy.SetXO(&xy.X, pub[0] == 0x03) + } else { + return errors.New("pubkey y-coordinate parity byte is invalid") // the leading bytes indicates if Y is odd or not + } + //THIS FAILS + //reenable later + //if !elem.IsValid() { + // return false + //} + + /* + else if len(pub) == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07) { + elem.X.SetB32(pub[1:33]) + elem.Y.SetB32(pub[33:65]) + if (pub[0] == 0x06 || pub[0] == 0x07) && elem.Y.IsOdd() != (pub[0] == 0x07) { + return false + } + } + */ + return nil +} + +// Bytes returns the compressed public key (33 bytes) in the format +// "<0x03> " or <0x02> ". The leading byte is 0x03 if the Y point is odd. +func (xy XY) Bytes() []byte { + xy.X.Normalize() // See https://github.com/piotrnar/gocoin/issues/15 + + raw := make([]byte, 33) + if xy.Y.IsOdd() { + raw[0] = 0x03 + } else { + raw[0] = 0x02 + } + xy.X.GetB32(raw[1:]) + return raw +} + +// BytesUncompressed returns serialized key in uncompressed format "<04> " +//65 bytes +func (xy *XY) BytesUncompressed() (raw []byte) { + xy.X.Normalize() // See https://github.com/piotrnar/gocoin/issues/15 + xy.Y.Normalize() // See https://github.com/piotrnar/gocoin/issues/15 + + raw = make([]byte, 65) + raw[0] = 0x04 + xy.X.GetB32(raw[1:33]) + xy.Y.GetB32(raw[33:65]) + return +} + +// SetXY sets x y fields +func (xy *XY) SetXY(X, Y *Field) { + xy.Infinity = false + xy.X = *X + xy.Y = *Y +} + +/* +int static secp256k1_ecdsa_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size) { + if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { + secp256k1_fe_t x; + secp256k1_fe_set_b32(&x, pub+1); + return secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { + secp256k1_fe_t x, y; + secp256k1_fe_set_b32(&x, pub+1); + secp256k1_fe_set_b32(&y, pub+33); + secp256k1_ge_set_xy(elem, &x, &y); + if ((pub[0] == 0x06 || pub[0] == 0x07) && secp256k1_fe_is_odd(&y) != (pub[0] == 0x07)) + return 0; + return secp256k1_ge_is_valid(elem); + } else { + return 0; + } +} +*/ + +// if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { +// secp256k1_fe_t x; +// secp256k1_fe_set_b32(&x, pub+1); +// return secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + +// IsValid checks that the point is not infinity and is on the secp256k1 curve +func (xy *XY) IsValid() bool { + // Adopted from libsecp256k1: + // https://github.com/bitcoin-core/secp256k1/blob/2ebdad772af770b4587af0856de27c63de1b03be/src/group_impl.h#L292-L304 + /* + static int secp256k1_ge_is_valid_var(const secp256k1_ge *a) { + secp256k1_fe y2, x3, c; + if (a->infinity) { + return 0; + } + // y^2 = x^3 + 7 // + secp256k1_fe_sqr(&y2, &a->y); + secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); + secp256k1_fe_set_int(&c, CURVE_B); + secp256k1_fe_add(&x3, &c); + secp256k1_fe_normalize_weak(&x3); + return secp256k1_fe_equal_var(&y2, &x3); + } + */ + if xy.Infinity { + return false + } + var y2, x3, c Field + xy.Y.Sqr(&y2) + xy.X.Sqr(&x3) + x3.Mul(&x3, &xy.X) + c.SetInt(7) + x3.SetAdd(&c) + y2.Normalize() + x3.Normalize() + return y2.Equals(&x3) +} + +// SetXYZ sets X Y Z fields +func (xy *XY) SetXYZ(a *XYZ) { + var z2, z3 Field + a.Z.InvVar(&a.Z) + a.Z.Sqr(&z2) + a.Z.Mul(&z3, &z2) + a.X.Mul(&a.X, &z2) + a.Y.Mul(&a.Y, &z3) + a.Z.SetInt(1) + xy.Infinity = a.Infinity + xy.X = a.X + xy.Y = a.Y +} + +func (xy *XY) precomp(w int) []XY { //nolint:unused,megacheck + pre := make([]XY, (1 << (uint(w) - 2))) + pre[0] = *xy + var X, d, tmp XYZ + X.SetXY(xy) + X.Double(&d) + for i := 1; i < len(pre); i++ { + d.AddXY(&tmp, &pre[i-1]) + pre[i].SetXYZ(&tmp) + } + return pre +} + +// Neg caculates negate +func (xy *XY) Neg(r *XY) { + r.Infinity = xy.Infinity + r.X = xy.X + r.Y = xy.Y + r.Y.Normalize() + r.Y.Negate(&r.Y, 1) +} + +/* +int static secp256k1_ge_set_xo(secp256k1_ge_t *r, const secp256k1_fe_t *x, int odd) { + r->x = *x; + secp256k1_fe_t x2; secp256k1_fe_sqr(&x2, x); + secp256k1_fe_t x3; secp256k1_fe_mul(&x3, x, &x2); + r->infinity = 0; + secp256k1_fe_t c; secp256k1_fe_set_int(&c, 7); + secp256k1_fe_add(&c, &x3); + if (!secp256k1_fe_sqrt(&r->y, &c)) + return 0; + secp256k1_fe_normalize(&r->y); + if (secp256k1_fe_is_odd(&r->y) != odd) + secp256k1_fe_negate(&r->y, &r->y, 1); + return 1; +} +*/ + +// SetXO sets the X and Y field from an X value and flag indicating whether or +// not Y is odd. +func (xy *XY) SetXO(X *Field, odd bool) { + var c, x2, x3 Field + xy.X = *X + X.Sqr(&x2) + X.Mul(&x3, &x2) + xy.Infinity = false + c.SetInt(7) + c.SetAdd(&x3) + c.Sqrt(&xy.Y) //does not return, can fail + if xy.Y.IsOdd() != odd { + xy.Y.Negate(&xy.Y, 1) + } + + //r.X.Normalize() // See https://github.com/piotrnar/gocoin/issues/15 + xy.Y.Normalize() +} + +// AddXY adds xy +func (xy *XY) AddXY(a *XY) { + var xyz XYZ + xyz.SetXY(xy) + xyz.AddXY(&xyz, a) + xy.SetXYZ(&xyz) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go new file mode 100644 index 00000000..88a0a1ce --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go @@ -0,0 +1,378 @@ +package secp256k1go + +// XYZ contains xyz fields +type XYZ struct { + X, Y, Z Field + Infinity bool +} + +func (xyz XYZ) String() string { + if xyz.Infinity { + return "INFINITY" + } + return xyz.X.String() + "," + xyz.Y.String() + "," + xyz.Z.String() +} + +// SetXY sets xy +func (xyz *XYZ) SetXY(a *XY) { + xyz.Infinity = a.Infinity + xyz.X = a.X + xyz.Y = a.Y + xyz.Z.SetInt(1) +} + +// IsInfinity check if xyz is infinity +func (xyz *XYZ) IsInfinity() bool { + return xyz.Infinity +} + +// IsValid check if xyz is valid +func (xyz *XYZ) IsValid() bool { + if xyz.Infinity { + return false + } + var y2, x3, z2, z6 Field + xyz.Y.Sqr(&y2) + xyz.X.Sqr(&x3) + x3.Mul(&x3, &xyz.X) + xyz.Z.Sqr(&z2) + z2.Sqr(&z6) + z6.Mul(&z6, &z2) + z6.MulInt(7) + x3.SetAdd(&z6) + y2.Normalize() + x3.Normalize() + return y2.Equals(&x3) +} + +func (xyz *XYZ) getX(r *Field) { + var zi2 Field + xyz.Z.InvVar(&zi2) + zi2.Sqr(&zi2) + xyz.X.Mul(r, &zi2) +} + +// Normalize normalize all fields +func (xyz *XYZ) Normalize() { + xyz.X.Normalize() + xyz.Y.Normalize() + xyz.Z.Normalize() +} + +// Equals checks if equal +func (xyz *XYZ) Equals(b *XYZ) bool { + if xyz.Infinity != b.Infinity { + return false + } + // TODO: is the normalize really needed here? + xyz.Normalize() + b.Normalize() + return xyz.X.Equals(&b.X) && xyz.Y.Equals(&b.Y) && xyz.Z.Equals(&b.Z) +} + +func (xyz *XYZ) precomp(w int) (pre []XYZ) { //nolint:unparam + var d XYZ + pre = make([]XYZ, (1 << (uint(w) - 2))) + pre[0] = *xyz + pre[0].Double(&d) + for i := 1; i < len(pre); i++ { + d.Add(&pre[i], &pre[i-1]) + } + return +} + +func ecmultWnaf(wnaf []int, a *Number, w uint) (ret int) { + var zeroes uint + var X Number + X.Set(&a.Int) + + for X.Sign() != 0 { + for X.Bit(0) == 0 { + zeroes++ + X.rsh(1) + } + word := X.rshX(w) + for zeroes > 0 { + wnaf[ret] = 0 + ret++ + zeroes-- + } + if (word & (1 << (w - 1))) != 0 { + X.inc() + wnaf[ret] = (word - (1 << w)) + } else { + wnaf[ret] = word + } + zeroes = w - 1 + ret++ + } + return +} + +// ECmult r = na*a + ng*G +func (xyz *XYZ) ECmult(r *XYZ, na, ng *Number) { + var na1, naLam, ng1, ng128 Number + + // split na into na_1 and na_lam (where na = na_1 + na_lam*lambda, and na_1 and na_lam are ~128 bit) + na.splitExp(&na1, &naLam) + + // split ng into ng_1 and ng_128 (where gn = gn_1 + gn_128*2^128, and gn_1 and gn_128 are ~128 bit) + ng.split(&ng1, &ng128, 128) + + // build wnaf representation for na_1, na_lam, ng_1, ng_128 + var wnafNa1, wnafNaLam, wnafNg1, wnafNg128 [129]int + bitsNa1 := ecmultWnaf(wnafNa1[:], &na1, winA) + bitsNaLam := ecmultWnaf(wnafNaLam[:], &naLam, winA) + bitsNg1 := ecmultWnaf(wnafNg1[:], &ng1, winG) + bitsNg128 := ecmultWnaf(wnafNg128[:], &ng128, winG) + + // calculate a_lam = a*lambda + var aLam XYZ + xyz.mulLambda(&aLam) + + // calculate odd multiples of a and a_lam + preA1 := xyz.precomp(winA) + preALam := aLam.precomp(winA) + + bits := bitsNa1 + if bitsNaLam > bits { + bits = bitsNaLam + } + if bitsNg1 > bits { + bits = bitsNg1 + } + if bitsNg128 > bits { + bits = bitsNg128 + } + + r.Infinity = true + + var tmpj XYZ + var tmpa XY + var n int + + for i := bits - 1; i >= 0; i-- { + r.Double(r) + + if i < bitsNa1 { + n = wnafNa1[i] + if n > 0 { + r.Add(r, &preA1[((n)-1)/2]) + } else if n != 0 { + preA1[(-(n)-1)/2].Neg(&tmpj) + r.Add(r, &tmpj) + } + } + + if i < bitsNaLam { + n = wnafNaLam[i] + if n > 0 { + r.Add(r, &preALam[((n)-1)/2]) + } else if n != 0 { + preALam[(-(n)-1)/2].Neg(&tmpj) + r.Add(r, &tmpj) + } + } + + if i < bitsNg1 { + n = wnafNg1[i] + if n > 0 { + r.AddXY(r, &preG[((n)-1)/2]) + } else if n != 0 { + preG[(-(n)-1)/2].Neg(&tmpa) + r.AddXY(r, &tmpa) + } + } + + if i < bitsNg128 { + n = wnafNg128[i] + if n > 0 { + r.AddXY(r, &preG128[((n)-1)/2]) + } else if n != 0 { + preG128[(-(n)-1)/2].Neg(&tmpa) + r.AddXY(r, &tmpa) + } + } + } +} + +// Neg caculate neg +func (xyz *XYZ) Neg(r *XYZ) { + r.Infinity = xyz.Infinity + r.X = xyz.X + r.Y = xyz.Y + r.Z = xyz.Z + r.Y.Normalize() + r.Y.Negate(&r.Y, 1) +} + +func (xyz *XYZ) mulLambda(r *XYZ) { + *r = *xyz + r.X.Mul(&r.X, &TheCurve.beta) +} + +// Double cacule double +func (xyz *XYZ) Double(r *XYZ) { + var t1, t2, t3, t4, t5 Field + + t5 = xyz.Y + t5.Normalize() + if xyz.Infinity || t5.IsZero() { + r.Infinity = true + return + } + + t5.Mul(&r.Z, &xyz.Z) + r.Z.MulInt(2) + xyz.X.Sqr(&t1) + t1.MulInt(3) + t1.Sqr(&t2) + t5.Sqr(&t3) + t3.MulInt(2) + t3.Sqr(&t4) + t4.MulInt(2) + xyz.X.Mul(&t3, &t3) + r.X = t3 + r.X.MulInt(4) + r.X.Negate(&r.X, 4) + r.X.SetAdd(&t2) + t2.Negate(&t2, 1) + t3.MulInt(6) + t3.SetAdd(&t2) + t1.Mul(&r.Y, &t3) + t4.Negate(&t2, 2) + r.Y.SetAdd(&t2) + r.Infinity = false +} + +// AddXY adds XY +func (xyz *XYZ) AddXY(r *XYZ, b *XY) { + if xyz.Infinity { + r.Infinity = b.Infinity + r.X = b.X + r.Y = b.Y + r.Z.SetInt(1) + return + } + if b.Infinity { + *r = *xyz + return + } + r.Infinity = false + var z12, u1, u2, s1, s2 Field + xyz.Z.Sqr(&z12) + u1 = xyz.X + u1.Normalize() + b.X.Mul(&u2, &z12) + s1 = xyz.Y + s1.Normalize() + b.Y.Mul(&s2, &z12) + s2.Mul(&s2, &xyz.Z) + u1.Normalize() + u2.Normalize() + + if u1.Equals(&u2) { + s1.Normalize() + s2.Normalize() + if s1.Equals(&s2) { + xyz.Double(r) + } else { + r.Infinity = true + } + return + } + + var h, i, i2, h2, h3, t Field + u1.Negate(&h, 1) + h.SetAdd(&u2) + s1.Negate(&i, 1) + i.SetAdd(&s2) + i.Sqr(&i2) + h.Sqr(&h2) + h.Mul(&h3, &h2) + r.Z = xyz.Z + r.Z.Mul(&r.Z, &h) + u1.Mul(&t, &h2) + r.X = t + r.X.MulInt(2) + r.X.SetAdd(&h3) + r.X.Negate(&r.X, 3) + r.X.SetAdd(&i2) + r.X.Negate(&r.Y, 5) + r.Y.SetAdd(&t) + r.Y.Mul(&r.Y, &i) + h3.Mul(&h3, &s1) + h3.Negate(&h3, 1) + r.Y.SetAdd(&h3) +} + +// Add adds value +func (xyz *XYZ) Add(r, b *XYZ) { + if xyz.Infinity { + *r = *b + return + } + if b.Infinity { + *r = *xyz + return + } + r.Infinity = false + var z22, z12, u1, u2, s1, s2 Field + + b.Z.Sqr(&z22) + xyz.Z.Sqr(&z12) + xyz.X.Mul(&u1, &z22) + b.X.Mul(&u2, &z12) + xyz.Y.Mul(&s1, &z22) + s1.Mul(&s1, &b.Z) + b.Y.Mul(&s2, &z12) + s2.Mul(&s2, &xyz.Z) + u1.Normalize() + u2.Normalize() + if u1.Equals(&u2) { + s1.Normalize() + s2.Normalize() + if s1.Equals(&s2) { + xyz.Double(r) + } else { + r.Infinity = true + } + return + } + var h, i, i2, h2, h3, t Field + + u1.Negate(&h, 1) + h.SetAdd(&u2) + s1.Negate(&i, 1) + i.SetAdd(&s2) + i.Sqr(&i2) + h.Sqr(&h2) + h.Mul(&h3, &h2) + xyz.Z.Mul(&r.Z, &b.Z) + r.Z.Mul(&r.Z, &h) + u1.Mul(&t, &h2) + r.X = t + r.X.MulInt(2) + r.X.SetAdd(&h3) + r.X.Negate(&r.X, 3) + r.X.SetAdd(&i2) + r.X.Negate(&r.Y, 5) + r.Y.SetAdd(&t) + r.Y.Mul(&r.Y, &i) + h3.Mul(&h3, &s1) + h3.Negate(&h3, 1) + r.Y.SetAdd(&h3) +} + +// ECmultGen r = a*G +func ECmultGen(a Number) XYZ { + var n Number + var r XYZ + n.Set(&a.Int) + r.SetXY(&prec[0][n.rshX(4)]) + for j := 1; j < 64; j++ { + r.AddXY(&r, &prec[j][n.rshX(4)]) + } + r.AddXY(&r, &fin) + return r +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go new file mode 100644 index 00000000..4b6c0f76 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go @@ -0,0 +1,9356 @@ +package secp256k1go + +var fin = XY{X: Field{[10]uint32{0x035871aa, 0x002dc101, 0x0059ab0f, 0x02cb297e, 0x00684bb5, 0x02585764, 0x02f3cceb, 0x002bdca3, 0x03dcb7cc, 0x0013cd56}}, Y: Field{[10]uint32{0x044d069d, 0x0603c088, 0x07541d4e, 0x04a4074d, 0x045fcba8, 0x05f00c34, 0x04bab268, 0x05fd8d65, 0x04e47151, 0x0071e924}}} + +var preG = []XY{ + {X: Field{[10]uint32{0x02f81798, 0x00a056c5, 0x028d959f, 0x036cb738, 0x03029bfc, 0x03a1c2c1, 0x0206295c, 0x02eeb156, 0x027ef9dc, 0x001e6f99}}, Y: Field{[10]uint32{0x0310d4b8, 0x01f423fe, 0x014199c4, 0x01229a15, 0x00fd17b4, 0x0384422a, 0x024fbfc0, 0x03119576, 0x027726a3, 0x00120eb6}}}, + {X: Field{[10]uint32{0x00e036f9, 0x007c44ef, 0x019b0860, 0x01160dbe, 0x01b531c8, 0x0227548a, 0x0344f85f, 0x030c4124, 0x02019258, 0x003e4c22}}, Y: Field{[10]uint32{0x00b8e672, 0x027f5d61, 0x0231b6cb, 0x0264d308, 0x026500a9, 0x028dfcd5, 0x02337e62, 0x03a0503f, 0x030f632d, 0x000e23de}}}, + {X: Field{[10]uint32{0x0240efe4, 0x02355a6c, 0x01ab7cba, 0x02f77186, 0x00e88b84, 0x0297144a, 0x034a7250, 0x00824d56, 0x024d1a07, 0x000be2f7}}, Y: Field{[10]uint32{0x02ac62d6, 0x021f4ea9, 0x02840dca, 0x006eac35, 0x02f78827, 0x01b27109, 0x01ba9dda, 0x038f5b53, 0x022636e5, 0x00362b08}}}, + {X: Field{[10]uint32{0x02c4f9bc, 0x02f77b72, 0x0239ce92, 0x01f80cc3, 0x023d419b, 0x00ba9e83, 0x018f365f, 0x02d3aa8e, 0x00646e5d, 0x00172f7c}}, Y: Field{[10]uint32{0x007264da, 0x02098a02, 0x027b5a50, 0x02e04ff7, 0x03a813d0, 0x01869536, 0x0178d6d8, 0x0165828c, 0x0240ba25, 0x001abaf2}}}, + {X: Field{[10]uint32{0x0027ccbe, 0x03c4437f, 0x02714c35, 0x025d315f, 0x01e09796, 0x03d566af, 0x02d178a9, 0x03d94c26, 0x00e2f0c7, 0x002b3521}}, Y: Field{[10]uint32{0x024f9c37, 0x03098ab1, 0x00e0f05c, 0x0290dd7e, 0x01add888, 0x018ed87a, 0x03809717, 0x0367f590, 0x0121b0a7, 0x00330ce2}}}, + {X: Field{[10]uint32{0x01a008cb, 0x0305e257, 0x03891bbe, 0x002f9705, 0x00564998, 0x003196ab, 0x034246b7, 0x0104797b, 0x03f858a9, 0x001dd2b9}}, Y: Field{[10]uint32{0x0153c61b, 0x035d3272, 0x016a8301, 0x038b7fe7, 0x01372db1, 0x01edecd9, 0x003dd56d, 0x01786409, 0x0032eb6b, 0x00366128}}}, + {X: Field{[10]uint32{0x01405aa8, 0x0377e3c6, 0x018cddee, 0x03198439, 0x01b075fb, 0x00dd2194, 0x011d205c, 0x00a22f1f, 0x03c2d975, 0x003ca1dc}}, Y: Field{[10]uint32{0x0303ed81, 0x0172d4b6, 0x0291f29b, 0x0369487e, 0x033a1a06, 0x01736bd1, 0x00212eb6, 0x002a25d6, 0x002e8d88, 0x0002ac24}}}, + {X: Field{[10]uint32{0x027e080e, 0x036f3e38, 0x0379e44a, 0x01bcf217, 0x0131e594, 0x0257fd04, 0x0065ae30, 0x03aa5969, 0x014f7d43, 0x0035e493}}, Y: Field{[10]uint32{0x02a26b58, 0x013727fd, 0x013a5c50, 0x00af625b, 0x03ea40af, 0x02331b7b, 0x0042ec22, 0x01ca9a0e, 0x0072a86c, 0x0016078a}}}, + {X: Field{[10]uint32{0x022d4a34, 0x013ea812, 0x0368766e, 0x02b9e6e5, 0x01eb9898, 0x01fab3c8, 0x020fee80, 0x01dd4290, 0x024cdb67, 0x0037bf7a}}, Y: Field{[10]uint32{0x0256eb77, 0x00667da7, 0x000f6cfb, 0x02812a57, 0x02ced1f4, 0x00aa4f6b, 0x017b0ead, 0x0145a3a6, 0x03069463, 0x0010846a}}}, + {X: Field{[10]uint32{0x00385b6c, 0x0159584e, 0x02d27747, 0x03af5fa1, 0x01f06acf, 0x0113d25e, 0x02f5cff4, 0x010f4a4f, 0x00a797a4, 0x000ad3a8}}, Y: Field{[10]uint32{0x01c09b7a, 0x00321539, 0x01763b57, 0x0031409a, 0x031a01f6, 0x02872184, 0x003083b5, 0x01764ecd, 0x03c03794, 0x00217a26}}}, + {X: Field{[10]uint32{0x01be59d5, 0x0102bbc9, 0x01071813, 0x0009c7e0, 0x001d9ad4, 0x0338cccc, 0x013fa332, 0x0049593e, 0x034a4cdd, 0x000d4aef}}, Y: Field{[10]uint32{0x0381998c, 0x034f62f3, 0x0039c67b, 0x00b9c6c4, 0x034a1b3b, 0x03768f87, 0x01c18259, 0x03d4d356, 0x00075348, 0x000c87ad}}}, + {X: Field{[10]uint32{0x02cacc3f, 0x0336b753, 0x03f29dc9, 0x037fbfd7, 0x00e42ab8, 0x0261e449, 0x03001055, 0x03446c08, 0x004d6b38, 0x000be884}}, Y: Field{[10]uint32{0x032b7d67, 0x02e9dad4, 0x02648423, 0x03b3f220, 0x00181d70, 0x02f57760, 0x00569335, 0x036196d9, 0x0068295d, 0x0000b784}}}, + {X: Field{[10]uint32{0x01453714, 0x028335fd, 0x032e269c, 0x02138255, 0x03263c3d, 0x01bb76a0, 0x021a9b06, 0x035a36ac, 0x039b09b4, 0x00249209}}, Y: Field{[10]uint32{0x03cb3402, 0x028cb3a5, 0x012ffe54, 0x00aa21e4, 0x033fc0de, 0x03a8ac7f, 0x01aa71bd, 0x02ab7974, 0x037bf234, 0x001cc05b}}}, + {X: Field{[10]uint32{0x01ee8729, 0x025b510f, 0x015c07e9, 0x00512fd8, 0x022f570e, 0x002fadd4, 0x030132fb, 0x02fc9e39, 0x032be3a8, 0x0036bb53}}, Y: Field{[10]uint32{0x00be1c55, 0x003948a4, 0x02726ab4, 0x00c3cebe, 0x003f83c2, 0x03be35c0, 0x021aca87, 0x0263a352, 0x024a7d6c, 0x0029a773}}}, + {X: Field{[10]uint32{0x0122e7db, 0x00ed7a1f, 0x001b0e6a, 0x03a7f7ca, 0x0011ecd9, 0x02ec67e4, 0x00f28d7c, 0x0204ba2b, 0x02c7065d, 0x00311344}}, Y: Field{[10]uint32{0x020e6482, 0x02418fc3, 0x021c5a03, 0x02187b7d, 0x000e106e, 0x0260bf6b, 0x0045926c, 0x01b371db, 0x0060ce32, 0x00084669}}}, + {X: Field{[10]uint32{0x0269e6b4, 0x031972f4, 0x00063b61, 0x014cdb0a, 0x03152b69, 0x03b58214, 0x01a20cfd, 0x02141322, 0x03f6dc69, 0x001a8916}}, Y: Field{[10]uint32{0x000d8a82, 0x0398d204, 0x03b6efd5, 0x01234108, 0x018b33ba, 0x005a892b, 0x03f5126f, 0x0129c22c, 0x0342c2bd, 0x003808b3}}}, + {X: Field{[10]uint32{0x010bd6a5, 0x02b95fc3, 0x01146f95, 0x002c2fb0, 0x00ce1330, 0x03950421, 0x037e3d2f, 0x03989f01, 0x03a6fd9d, 0x0005a5ff}}, Y: Field{[10]uint32{0x001b2396, 0x03a758f4, 0x00ae7ade, 0x00027926, 0x03a2cf15, 0x01155d0c, 0x0161506e, 0x01bd749d, 0x00f18680, 0x002e70e6}}}, + {X: Field{[10]uint32{0x027a7479, 0x008d17bc, 0x0361df98, 0x0183fedf, 0x019deb83, 0x020d32c3, 0x02d0f07e, 0x01c62e61, 0x03019981, 0x001816f6}}, Y: Field{[10]uint32{0x016b8c49, 0x00787a41, 0x00db43b0, 0x03a13ec5, 0x03c26bfa, 0x0325bf88, 0x0278d93e, 0x03481a06, 0x012de4f8, 0x0000a5cb}}}, + {X: Field{[10]uint32{0x007ff33d, 0x0071fa76, 0x0310cfe3, 0x00d52566, 0x00dcb01c, 0x02885784, 0x002fdc45, 0x02fd25d0, 0x01ab4150, 0x0018b453}}, Y: Field{[10]uint32{0x03b25eaf, 0x01590920, 0x0072235f, 0x00a59ead, 0x0301aa13, 0x003bb436, 0x0088a195, 0x02c04260, 0x02bd8cc5, 0x00203f01}}}, + {X: Field{[10]uint32{0x02308b6f, 0x01570be1, 0x00b425e5, 0x03d5ae6e, 0x032c50e9, 0x0102395a, 0x01b4b06c, 0x009f6b79, 0x02d0040f, 0x00203182}}, Y: Field{[10]uint32{0x030bd57a, 0x0007d590, 0x024eb1aa, 0x0132f9c0, 0x00a65eed, 0x03f9cbdc, 0x0266bad7, 0x030c3c9b, 0x003f1cc5, 0x00070e0c}}}, + {X: Field{[10]uint32{0x0203c8fb, 0x03aaec3e, 0x007049d5, 0x02521f61, 0x004cc5dc, 0x0331534d, 0x034c6348, 0x02b552a9, 0x01ad6167, 0x001ea4dd}}, Y: Field{[10]uint32{0x024dc7f7, 0x01267b08, 0x00e2b02d, 0x028431c3, 0x02bdc59e, 0x0249a411, 0x0159e0d7, 0x01c9a425, 0x03a9eca8, 0x0003438f}}}, + {X: Field{[10]uint32{0x03c3ffc9, 0x0147d166, 0x01f504bb, 0x030e6da3, 0x01bb408e, 0x01511e9e, 0x03a9ed04, 0x02d53241, 0x00d9b696, 0x00354a3b}}, Y: Field{[10]uint32{0x01409933, 0x01196d48, 0x00dbc063, 0x01017148, 0x02bc4345, 0x007f595b, 0x026f2188, 0x0397e665, 0x01253136, 0x003bb3d0}}}, + {X: Field{[10]uint32{0x00b45963, 0x00c6023e, 0x00b13872, 0x017929fb, 0x00526611, 0x023b36b4, 0x025f514e, 0x00d04ba8, 0x00a4b5f4, 0x000124dc}}, Y: Field{[10]uint32{0x02949c9a, 0x00c14a84, 0x02764b65, 0x02beed6d, 0x0254c3f3, 0x004bf58a, 0x03081b05, 0x03b50a2c, 0x0341afd6, 0x001d63cf}}}, + {X: Field{[10]uint32{0x00345d74, 0x004fac7f, 0x018e2f1c, 0x00783852, 0x03881d81, 0x0191c0bb, 0x03df930d, 0x0232ef5c, 0x00936ee8, 0x001dfc8c}}, Y: Field{[10]uint32{0x031c60d6, 0x03acf1d9, 0x037cbbe8, 0x00c365c1, 0x0096c953, 0x02e86cde, 0x008266e9, 0x02d90028, 0x002a7886, 0x002563bd}}}, + {X: Field{[10]uint32{0x0339f530, 0x0214c6dd, 0x00dbaeb2, 0x01d2ae75, 0x0258c800, 0x031f02f3, 0x004887e5, 0x0392e7a9, 0x0191cc4c, 0x003cb6b2}}, Y: Field{[10]uint32{0x003a3c37, 0x005f6e9c, 0x024fd1a1, 0x03ac1663, 0x039eb5fb, 0x03094c77, 0x021f32de, 0x0236b536, 0x009b3b2f, 0x003837b7}}}, + {X: Field{[10]uint32{0x0290d45b, 0x02921431, 0x023debcb, 0x037f276b, 0x025a216c, 0x03894804, 0x00be8fbb, 0x0087ec6d, 0x019f6626, 0x00118ecf}}, Y: Field{[10]uint32{0x02f7307e, 0x00ddec06, 0x01de31cb, 0x01f25c28, 0x03c622e2, 0x036188b5, 0x0114306d, 0x01b0d50c, 0x00d78c29, 0x0017b50c}}}, + {X: Field{[10]uint32{0x0198f247, 0x0125ad26, 0x022d1a32, 0x03050ca2, 0x036b98fa, 0x03ced665, 0x0232d4af, 0x01b8a824, 0x004244e4, 0x003c5be0}}, Y: Field{[10]uint32{0x00e31df6, 0x01e658b1, 0x00e26d65, 0x0309b973, 0x012a6c53, 0x03d38cf6, 0x01206fcd, 0x00fdf84f, 0x019b8220, 0x0033b6af}}}, + {X: Field{[10]uint32{0x011d41d1, 0x03857dc5, 0x03c65369, 0x0056b389, 0x015d2453, 0x010c46bd, 0x0352b7a1, 0x01158ec0, 0x00272dc8, 0x0032bdd5}}, Y: Field{[10]uint32{0x00a04476, 0x03e420c6, 0x032a5c32, 0x02de5888, 0x035f4fa9, 0x01791815, 0x01b643fa, 0x03d7ca90, 0x0260ef35, 0x0032d1d1}}}, + {X: Field{[10]uint32{0x03082120, 0x025ef21b, 0x017c1244, 0x001f2e1b, 0x0344a09c, 0x0265e762, 0x01d0f170, 0x02e61be1, 0x024b282c, 0x00098032}}, Y: Field{[10]uint32{0x027e4b40, 0x02fa51d6, 0x00ef44b0, 0x01d2ad7c, 0x015ac6be, 0x0376ed17, 0x013b03fc, 0x016f5a9a, 0x008753c1, 0x0010466e}}}, + {X: Field{[10]uint32{0x0198e435, 0x00a9dd1a, 0x03dc8c60, 0x0217893d, 0x0001c486, 0x0048882f, 0x00ec53cd, 0x010cb0ce, 0x0272d7e8, 0x001d8d72}}, Y: Field{[10]uint32{0x005b9c61, 0x01dbcc0b, 0x008bad9e, 0x018755c1, 0x034ecfc0, 0x03de39b5, 0x01d5e590, 0x027584f4, 0x00960948, 0x000246d9}}}, + {X: Field{[10]uint32{0x0356cc18, 0x0141d0ef, 0x028fbc1a, 0x00d1e751, 0x02b7f2b3, 0x03bba299, 0x03f4a87d, 0x015c336e, 0x0239f325, 0x001d538c}}, Y: Field{[10]uint32{0x00536683, 0x0366024f, 0x0295d0c5, 0x034065e9, 0x0023ee33, 0x013a9268, 0x00d0ed30, 0x028c3ecf, 0x0386e5bd, 0x00019cfe}}}, + {X: Field{[10]uint32{0x01d9b9e8, 0x009a51a4, 0x0152f9fe, 0x01987472, 0x00330800, 0x00b55c3c, 0x017859c8, 0x03a5abfd, 0x011071a1, 0x0038f9af}}, Y: Field{[10]uint32{0x020e37f5, 0x000abd24, 0x00c41670, 0x00e64fa4, 0x02a5a228, 0x01e68f2d, 0x000aa583, 0x039dbd03, 0x00bba394, 0x00167278}}}, + {X: Field{[10]uint32{0x004aa6eb, 0x011ff73c, 0x01f4b4cc, 0x03ccae8d, 0x01c4ccb1, 0x03dcca61, 0x02e73d88, 0x000ce09a, 0x003d056a, 0x00061ad2}}, Y: Field{[10]uint32{0x0280888b, 0x01e5fe1b, 0x038b4a4a, 0x02422544, 0x0321fb80, 0x0010602a, 0x017446e2, 0x03ddf8b8, 0x0132c67c, 0x000ee54b}}}, + {X: Field{[10]uint32{0x00e0963f, 0x00c85c93, 0x019c91a8, 0x034adcdf, 0x025442e6, 0x012f93dc, 0x0098561f, 0x01b39513, 0x00a6b987, 0x0037e75c}}, Y: Field{[10]uint32{0x02ba2417, 0x0231173c, 0x01da217b, 0x009c83be, 0x02b15722, 0x0370e752, 0x0062b785, 0x01b3357e, 0x01afd84d, 0x00157acb}}}, + {X: Field{[10]uint32{0x00ce7143, 0x019317cd, 0x018995de, 0x013e127b, 0x00ab5255, 0x0177383e, 0x03ca815d, 0x03a1e925, 0x00c23c51, 0x0017b757}}, Y: Field{[10]uint32{0x0399a868, 0x01c1aadc, 0x02905cdc, 0x030345e8, 0x00c13c66, 0x003226b4, 0x028cec03, 0x004c1987, 0x008dbc14, 0x003beba7}}}, + {X: Field{[10]uint32{0x00614fba, 0x034d8be1, 0x0317a722, 0x02870d56, 0x037aa3fb, 0x021fa79d, 0x012fe022, 0x01a0c368, 0x00c2b647, 0x000a41e6}}, Y: Field{[10]uint32{0x01943e7a, 0x000ebf50, 0x023146d0, 0x02536ca8, 0x015b29c0, 0x01e6bc97, 0x00d00bcf, 0x00188662, 0x036dcd44, 0x0038e369}}}, + {X: Field{[10]uint32{0x00053b45, 0x03f7b3bd, 0x0257362d, 0x00bf8d80, 0x01cd2955, 0x00542b0e, 0x00754efa, 0x03d6cc15, 0x023a95d9, 0x002bcf10}}, Y: Field{[10]uint32{0x018fd9c6, 0x03fb7b52, 0x01581bc2, 0x02999e85, 0x00c8cd5a, 0x00d73ed0, 0x013b0e6f, 0x00add26a, 0x03d831eb, 0x003e628f}}}, + {X: Field{[10]uint32{0x0084249a, 0x03fb5436, 0x018df8d2, 0x02c9b73e, 0x0106bb66, 0x026fc9d2, 0x00aa28c9, 0x039d1733, 0x0324d134, 0x001d9b6e}}, Y: Field{[10]uint32{0x03ac5996, 0x0093e5f2, 0x00edd2c9, 0x0197e81b, 0x0097584a, 0x00368e2e, 0x00c88798, 0x03978e37, 0x0152eacb, 0x001d12c4}}}, + {X: Field{[10]uint32{0x011abe3e, 0x00b99986, 0x02a58ce9, 0x013db165, 0x0245f7b4, 0x01e13d05, 0x01277c33, 0x01d66e88, 0x006f8c94, 0x001676fd}}, Y: Field{[10]uint32{0x02307f6e, 0x03885b12, 0x0398cd85, 0x0269e465, 0x0042ce73, 0x0120c268, 0x00ea6ce6, 0x02f0c03d, 0x0144175f, 0x00314d2b}}}, + {X: Field{[10]uint32{0x00fd87b8, 0x03718063, 0x0273cb62, 0x01c46a57, 0x00dd647e, 0x013a692a, 0x01e691e7, 0x0114dcc1, 0x0295103c, 0x003c4eb6}}, Y: Field{[10]uint32{0x02f5733d, 0x021066f6, 0x00257077, 0x0069a9d7, 0x026949e2, 0x020d07cc, 0x03f4bc80, 0x0137998e, 0x03b44ee1, 0x00384e05}}}, + {X: Field{[10]uint32{0x0288522c, 0x01540056, 0x01fb6488, 0x0301baeb, 0x00da1869, 0x01673293, 0x00167a2c, 0x033b41b5, 0x00fa0e8a, 0x001dd52d}}, Y: Field{[10]uint32{0x001163a2, 0x0122d5e1, 0x03cc537a, 0x00d42db2, 0x028d1e4e, 0x00082e3e, 0x00b967c3, 0x02760889, 0x02864e66, 0x000c3a4f}}}, + {X: Field{[10]uint32{0x02262519, 0x00a32678, 0x001d2a68, 0x02577a01, 0x0301858f, 0x02afbe75, 0x03874d46, 0x038122a8, 0x02df5990, 0x00252372}}, Y: Field{[10]uint32{0x0347d57e, 0x028b2b94, 0x031d2cbb, 0x03bef4bb, 0x01df9154, 0x012c6f09, 0x0128a322, 0x03965f57, 0x002537f6, 0x00392469}}}, + {X: Field{[10]uint32{0x017c77ab, 0x00a2a28f, 0x03a15703, 0x03d6b02f, 0x03fb224c, 0x0080bb0d, 0x007b48f8, 0x01b05a27, 0x014450c7, 0x001e5890}}, Y: Field{[10]uint32{0x01b83437, 0x03e96ca7, 0x02c5760a, 0x00147c12, 0x0312507a, 0x00fbdbda, 0x01c1fc13, 0x02d1d835, 0x010ec4ff, 0x000402d8}}}, + {X: Field{[10]uint32{0x03ec47ca, 0x0342144d, 0x0047bb0d, 0x01c896e2, 0x005a1697, 0x01364552, 0x01b16064, 0x012d52c5, 0x00783496, 0x000d4502}}, Y: Field{[10]uint32{0x02293311, 0x03456837, 0x0378b7e7, 0x01f05708, 0x006039e7, 0x03a049ff, 0x01652c48, 0x00151238, 0x03b20562, 0x003bc2be}}}, + {X: Field{[10]uint32{0x03527eaf, 0x010f4fde, 0x007b4429, 0x03ae37de, 0x0193e947, 0x0362f152, 0x01ce2c9d, 0x00f92f1e, 0x00ad6b48, 0x0034f30c}}, Y: Field{[10]uint32{0x02ede0a4, 0x00d36c13, 0x00630afb, 0x018a40d6, 0x023c2ad4, 0x03e5422b, 0x005e9be8, 0x009e3627, 0x0222d827, 0x0022cde2}}}, + {X: Field{[10]uint32{0x00847610, 0x016e83fd, 0x03649397, 0x00f6e44f, 0x032b2982, 0x03fbf822, 0x01c78fcb, 0x00a18338, 0x00478073, 0x00058936}}, Y: Field{[10]uint32{0x00078575, 0x01b8a901, 0x024c8cc0, 0x03d4a0af, 0x02896878, 0x03367532, 0x014448c6, 0x0240f824, 0x00f9b6da, 0x001a1947}}}, + {X: Field{[10]uint32{0x03c61cd4, 0x01ed3f57, 0x007da6df, 0x012d6bc8, 0x00519247, 0x00f98aa6, 0x002c9563, 0x02a289a4, 0x000da955, 0x001ccf3a}}, Y: Field{[10]uint32{0x01c5ea1d, 0x019cef07, 0x00578c54, 0x03808079, 0x023e1ef8, 0x036e7f33, 0x01a4d8b8, 0x037df521, 0x022bd2ba, 0x003d50d6}}}, + {X: Field{[10]uint32{0x001c045c, 0x01637eae, 0x02699ef2, 0x002485c7, 0x038966c5, 0x02f4ed27, 0x01a1c33b, 0x0141933c, 0x00125494, 0x00057651}}, Y: Field{[10]uint32{0x03e4070d, 0x01eefa7b, 0x00685fc3, 0x02eb3aff, 0x03434800, 0x00ee105d, 0x035137b7, 0x00f9c8d3, 0x030b6946, 0x00355bac}}}, + {X: Field{[10]uint32{0x00717940, 0x00e16674, 0x00aaaac1, 0x01f274ae, 0x031c2141, 0x0339c349, 0x012136e5, 0x0399d6d8, 0x00f2ec9d, 0x0028743f}}, Y: Field{[10]uint32{0x0197a629, 0x004b4e70, 0x033d5192, 0x029501c3, 0x02641462, 0x002599fc, 0x02907373, 0x028f2acb, 0x0350bcb5, 0x003b75df}}}, + {X: Field{[10]uint32{0x00b36980, 0x028dccc7, 0x01c06c7c, 0x037ba091, 0x01a790ba, 0x03e136fa, 0x000c0735, 0x0233315e, 0x0215c0af, 0x00388bef}}, Y: Field{[10]uint32{0x0131da06, 0x0341b5df, 0x0399be43, 0x00552591, 0x03a38289, 0x03d4e869, 0x03430a69, 0x03583222, 0x03abad5c, 0x0002a156}}}, + {X: Field{[10]uint32{0x02cfa9b3, 0x02514891, 0x02aa7400, 0x00e51c13, 0x0369635e, 0x004557d7, 0x0213473c, 0x03a3883b, 0x01dd9860, 0x000c4424}}, Y: Field{[10]uint32{0x006d8374, 0x003c2c4a, 0x02685bd8, 0x02993fbb, 0x00871ec5, 0x02301a0c, 0x011f0478, 0x03c13fff, 0x016f87d1, 0x0019b6d9}}}, + {X: Field{[10]uint32{0x02c2dbdf, 0x01f508cb, 0x00078186, 0x02d16a4d, 0x00883928, 0x00f9ab09, 0x01c0442d, 0x02fa26cc, 0x0104d301, 0x000d307f}}, Y: Field{[10]uint32{0x0273abee, 0x008615ee, 0x0043dc53, 0x03bad21d, 0x02d57f1c, 0x0005d04d, 0x03d46f73, 0x006d6552, 0x0285e97b, 0x00025051}}}, + {X: Field{[10]uint32{0x009b8d63, 0x02979ac1, 0x00affcc2, 0x02aef342, 0x028d13f3, 0x015fad0a, 0x014de5b5, 0x01c07070, 0x025d6b54, 0x003c867a}}, Y: Field{[10]uint32{0x000766d1, 0x00a58a90, 0x03fb8d8c, 0x00f01ec9, 0x01f4b08d, 0x03333dac, 0x03af4544, 0x0102c3dc, 0x0157e83d, 0x00132e56}}}, + {X: Field{[10]uint32{0x01a0b448, 0x01a4491a, 0x02708723, 0x0242f298, 0x02543a54, 0x03d17789, 0x03683db8, 0x03eeaac7, 0x000f74a8, 0x0035ee1d}}, Y: Field{[10]uint32{0x02a4593b, 0x0380c57a, 0x009b3411, 0x017b4f01, 0x02ff15db, 0x02b51c5f, 0x0010f337, 0x0324bb84, 0x028128d9, 0x003e9de5}}}, + {X: Field{[10]uint32{0x02a824bf, 0x0134c246, 0x014289fe, 0x00caaf76, 0x02ad5bcd, 0x00e8ccd7, 0x02f7c98d, 0x01bc3be1, 0x00222f8f, 0x000cb4c7}}, Y: Field{[10]uint32{0x022e1661, 0x03452e11, 0x02961118, 0x0279bc9b, 0x022e6dac, 0x016e7876, 0x00d3d791, 0x015b8e73, 0x02f58921, 0x0017cc0c}}}, + {X: Field{[10]uint32{0x018347b5, 0x03e1b2f0, 0x012c4340, 0x01f35656, 0x028793d7, 0x03660c7a, 0x0045a155, 0x02cc99c4, 0x0371914a, 0x001d187c}}, Y: Field{[10]uint32{0x00092ff6, 0x0211ecf3, 0x02ea6b39, 0x03d43261, 0x002eee1f, 0x02a91095, 0x01ddcae0, 0x02fb032f, 0x02238b96, 0x0023b02e}}}, + {X: Field{[10]uint32{0x03b2b2d6, 0x01a62eb5, 0x0053d287, 0x00b0f99d, 0x026d716b, 0x028e081a, 0x0356a25a, 0x021801d0, 0x02db1df1, 0x003b81e6}}, Y: Field{[10]uint32{0x001c8c1e, 0x02b11e7b, 0x00e25eba, 0x026bc131, 0x02a44698, 0x03317e7d, 0x01f37e0e, 0x02f97131, 0x012aafe3, 0x00237090}}}, + {X: Field{[10]uint32{0x029da6b5, 0x036185ae, 0x01dc72bf, 0x00c61d32, 0x03e65de3, 0x03b9883d, 0x03b18302, 0x020fc119, 0x03e447ec, 0x0005bb24}}, Y: Field{[10]uint32{0x01b0674d, 0x019de389, 0x01713962, 0x01a94392, 0x039d5818, 0x02960128, 0x028c2a7c, 0x03ed0343, 0x01150e62, 0x0017918c}}}, + {X: Field{[10]uint32{0x0137bd99, 0x02581975, 0x02aa485b, 0x025fe62d, 0x03d88558, 0x03e9c2da, 0x0178290a, 0x03dbc0e2, 0x0180c245, 0x003aa97e}}, Y: Field{[10]uint32{0x02dc07dc, 0x00104093, 0x0267fb18, 0x0275f9ba, 0x00d78486, 0x03265189, 0x02528391, 0x00b82066, 0x013e292c, 0x003d97d7}}}, + {X: Field{[10]uint32{0x01a49f51, 0x0312dacd, 0x0342ea96, 0x021dc544, 0x0158ae04, 0x028090e6, 0x02ee1910, 0x0304c9a4, 0x0007544a, 0x0001e325}}, Y: Field{[10]uint32{0x00a3ddb4, 0x019d7c65, 0x00d2462b, 0x0160f019, 0x00fa1fbd, 0x00e6979a, 0x00047955, 0x026e1755, 0x019169eb, 0x003cf80c}}}, + {X: Field{[10]uint32{0x002857a5, 0x015e365c, 0x00688726, 0x02b9e9bf, 0x0001cdc8, 0x00c6ba80, 0x01cd8384, 0x029dc05b, 0x03e219a1, 0x001253d2}}, Y: Field{[10]uint32{0x000d562c, 0x012c0c62, 0x02d6e55f, 0x00c35d9f, 0x02f925ce, 0x038dae8a, 0x03a7f075, 0x0297cce6, 0x02969283, 0x0010890a}}}, + {X: Field{[10]uint32{0x001fe9b5, 0x03079997, 0x0270ebf4, 0x03a963ea, 0x01d28211, 0x0113a952, 0x007f2f51, 0x0361b1af, 0x00030da6, 0x0029662a}}, Y: Field{[10]uint32{0x01864e6b, 0x009b6f4b, 0x0386a100, 0x02d96cd7, 0x0023fc63, 0x001cdebb, 0x00b4a714, 0x00b0c1f9, 0x016f8482, 0x000812d7}}}, + {X: Field{[10]uint32{0x00595997, 0x02b70f96, 0x00a184db, 0x003c495c, 0x00208f02, 0x036fabfb, 0x0192f5f2, 0x00ad7424, 0x02365abb, 0x00310645}}, Y: Field{[10]uint32{0x00fa9913, 0x01ba5ad6, 0x03fc0ed1, 0x01143cd2, 0x01d5caf9, 0x02261262, 0x01245b32, 0x01fbe927, 0x0351d008, 0x00013c50}}}, + {X: Field{[10]uint32{0x00742881, 0x01ce9545, 0x02acfe4c, 0x034b828d, 0x0392a2e0, 0x0280ef16, 0x0324604d, 0x03e91d69, 0x0063a586, 0x00210758}}, Y: Field{[10]uint32{0x028d6154, 0x00db7806, 0x0169ce7a, 0x0359d130, 0x00e62562, 0x01d50da6, 0x004f9a1c, 0x0167a064, 0x03f59c06, 0x0001ce19}}}, + {X: Field{[10]uint32{0x030e20d5, 0x004ab135, 0x03e4ded1, 0x020424a2, 0x03282b33, 0x0226f78b, 0x0026947f, 0x01c74dd8, 0x03399a69, 0x0017a56e}}, Y: Field{[10]uint32{0x02012865, 0x00e131d1, 0x0238b161, 0x03b5f62e, 0x01a99c9a, 0x004c4ddd, 0x03fc7118, 0x00216fba, 0x03366809, 0x000e7c8f}}}, + {X: Field{[10]uint32{0x00ef2f66, 0x011c6f28, 0x01d8bf99, 0x0192d4c5, 0x025ec075, 0x027f65d3, 0x0039f8a9, 0x023f51db, 0x001a5394, 0x000db919}}, Y: Field{[10]uint32{0x014c78fc, 0x01473d5a, 0x023e06fd, 0x0124ff55, 0x0056ea13, 0x01726aa5, 0x00227b08, 0x013ae059, 0x031b1abe, 0x00349092}}}, + {X: Field{[10]uint32{0x0179f726, 0x02c9f0b1, 0x0114faea, 0x01085c3a, 0x00f56438, 0x0141e907, 0x00191a2f, 0x02eeca43, 0x001ea7bf, 0x0000cd96}}, Y: Field{[10]uint32{0x02fda224, 0x03372af4, 0x01e0ef3d, 0x00504334, 0x0391f7ab, 0x01b95acc, 0x0252129b, 0x0386fa64, 0x0168595f, 0x003ab448}}}, + {X: Field{[10]uint32{0x03d43ede, 0x01d09c1a, 0x010c4849, 0x0097b5a2, 0x00037810, 0x03c03b21, 0x032634fc, 0x035ada87, 0x0016dadf, 0x0022ae26}}, Y: Field{[10]uint32{0x01cdd24e, 0x011ea44a, 0x0045858a, 0x0270fa26, 0x03503d45, 0x018904db, 0x02654aef, 0x03428113, 0x0309f2f6, 0x001bf73b}}}, + {X: Field{[10]uint32{0x00c5fb94, 0x0100a12e, 0x032544bb, 0x023a2b3f, 0x0220b093, 0x00a67f2a, 0x033344d9, 0x0315de04, 0x01a746c9, 0x00078cfc}}, Y: Field{[10]uint32{0x03f3b3b6, 0x029f4815, 0x03010e33, 0x0083c740, 0x032306d3, 0x03493b7f, 0x008ed618, 0x006ceaa7, 0x00257dd1, 0x00018198}}}, + {X: Field{[10]uint32{0x00f08f31, 0x000d87f6, 0x00fcfa41, 0x0330632f, 0x020ed1f4, 0x01e77482, 0x03f30ded, 0x0306dfb9, 0x01dcb3ce, 0x00216df0}}, Y: Field{[10]uint32{0x02999511, 0x03b4f0d7, 0x02633c6f, 0x0062575e, 0x00fcafad, 0x02a211fd, 0x01048f25, 0x03750fce, 0x01cdd026, 0x000f662a}}}, + {X: Field{[10]uint32{0x01ac5f51, 0x00a00198, 0x03af872a, 0x00ee1e29, 0x017fbe9a, 0x0175b517, 0x035f4b12, 0x01194249, 0x03bd8d9e, 0x000a77e7}}, Y: Field{[10]uint32{0x0227d84b, 0x021dbaca, 0x01e55cd2, 0x02187006, 0x03da61dc, 0x01e44e7f, 0x02d88621, 0x016981b8, 0x03e99c77, 0x0002d313}}}, + {X: Field{[10]uint32{0x01fce252, 0x00acb912, 0x0105c808, 0x028bdda0, 0x03dfe58c, 0x02abe2b7, 0x02a6e671, 0x0211e8ff, 0x02e06b0a, 0x00282c72}}, Y: Field{[10]uint32{0x02296cf2, 0x0012540e, 0x030e650f, 0x0060d2bf, 0x026b72da, 0x01e9a8a3, 0x00b19d91, 0x002563b1, 0x0102edde, 0x002b90d0}}}, + {X: Field{[10]uint32{0x00e121e5, 0x00fcb930, 0x03e4ba11, 0x02cec84c, 0x01b499df, 0x03a100a5, 0x01c7ff67, 0x03a684db, 0x02afb9b3, 0x00013a33}}, Y: Field{[10]uint32{0x0326683c, 0x01f398a8, 0x00502b82, 0x01a98d18, 0x01422c08, 0x0133971e, 0x008f6d53, 0x01b5e92d, 0x00118c8b, 0x0033c85d}}}, + {X: Field{[10]uint32{0x0389a33b, 0x01c970ad, 0x00919f42, 0x01a26804, 0x000a5076, 0x028bda42, 0x03b81c7c, 0x026dbd6b, 0x00e047e1, 0x00349291}}, Y: Field{[10]uint32{0x03ea8fa3, 0x03b105eb, 0x0244d2cd, 0x01a21ee0, 0x01013f99, 0x0303c71a, 0x03db50f1, 0x01be3f18, 0x01591b46, 0x001bee35}}}, + {X: Field{[10]uint32{0x023b35d4, 0x013a63a3, 0x0377b510, 0x00a2aeea, 0x00001edd, 0x032e6561, 0x01fdfcfa, 0x02737492, 0x006a7a6c, 0x003a8058}}, Y: Field{[10]uint32{0x023ea98d, 0x01948622, 0x03700cfd, 0x012f0a08, 0x01b7d449, 0x01e9ecf3, 0x03fe369f, 0x004ac33e, 0x00908c73, 0x000c8abd}}}, + {X: Field{[10]uint32{0x00e2131f, 0x0065b7a3, 0x031be4ad, 0x036317a8, 0x01252007, 0x03ae5994, 0x02328655, 0x007229b1, 0x01bf2b66, 0x002be2b7}}, Y: Field{[10]uint32{0x01749700, 0x03ef36dc, 0x02ac8f3d, 0x021a0389, 0x03252081, 0x0025a0da, 0x0034eafd, 0x0217d4a8, 0x027c029b, 0x0019d279}}}, + {X: Field{[10]uint32{0x00f45889, 0x03c38d14, 0x0215e722, 0x036af3f2, 0x01a674a3, 0x0383ec59, 0x00516d47, 0x01b281b3, 0x02197456, 0x000038eb}}, Y: Field{[10]uint32{0x030bd6a4, 0x0029cbba, 0x01f53342, 0x0121d3e0, 0x000de97e, 0x03d341cc, 0x0217f07b, 0x01440458, 0x027e4531, 0x000abaaf}}}, + {X: Field{[10]uint32{0x0397e246, 0x03aa33b4, 0x00802075, 0x03cfb496, 0x0301993f, 0x03b478f8, 0x036993ff, 0x0265c873, 0x0355313d, 0x001647b8}}, Y: Field{[10]uint32{0x03e5d196, 0x0263c692, 0x022bdeee, 0x014f4972, 0x001ff0b0, 0x011831e4, 0x00fc4775, 0x00c2fa98, 0x018a113c, 0x002c3a95}}}, + {X: Field{[10]uint32{0x01b52984, 0x033c0c95, 0x00945077, 0x0391ec21, 0x01fa8584, 0x02363698, 0x01aa9731, 0x013127c6, 0x0155fda5, 0x00044e5b}}, Y: Field{[10]uint32{0x03ea57a4, 0x019efaa4, 0x03be4c57, 0x02c06c95, 0x004ff536, 0x01efad1d, 0x01d5833a, 0x02b004a2, 0x00a8cd45, 0x0026631d}}}, + {X: Field{[10]uint32{0x0017aa7a, 0x010055f8, 0x00b64055, 0x0151a1d5, 0x038dcdfd, 0x02783102, 0x0000738c, 0x01685e40, 0x021ba39c, 0x000f174a}}, Y: Field{[10]uint32{0x001bd257, 0x01e72932, 0x00f6661f, 0x027f749c, 0x000f9b8b, 0x01bf062e, 0x014de739, 0x00d38be7, 0x0279995a, 0x002c8a10}}}, + {X: Field{[10]uint32{0x013cc030, 0x03be285e, 0x00078425, 0x02bec12b, 0x03fbc395, 0x027cba70, 0x0299a729, 0x0037be8e, 0x00b8a60a, 0x003321c1}}, Y: Field{[10]uint32{0x001f1b13, 0x02dd38eb, 0x01c4e940, 0x013f12f3, 0x00f395b7, 0x02cd1fe3, 0x01e0862d, 0x005e2074, 0x0039feed, 0x002f7518}}}, + {X: Field{[10]uint32{0x0089b197, 0x010466ca, 0x02e7ea20, 0x03f3314f, 0x017dd4de, 0x032b4a6e, 0x01777ac5, 0x0156ab36, 0x00f7ea85, 0x00314cf9}}, Y: Field{[10]uint32{0x03596096, 0x0383d17a, 0x03a26bb8, 0x02ed292c, 0x02d9b925, 0x03c690e8, 0x02fb6242, 0x037d0a68, 0x016bc5ef, 0x001bc289}}}, + {X: Field{[10]uint32{0x03da6593, 0x01b5238c, 0x03bbcf56, 0x00d3bb01, 0x0269ba8c, 0x000f325a, 0x01f6d08d, 0x01f5bc42, 0x00f2ccb2, 0x0003053e}}, Y: Field{[10]uint32{0x03dc3a38, 0x02192444, 0x035e6c0e, 0x03742601, 0x0075b740, 0x03f870a1, 0x00473e16, 0x0263dff5, 0x02923bb3, 0x0030d675}}}, + {X: Field{[10]uint32{0x0390e6ef, 0x007dcb82, 0x0321ce44, 0x03b5d7e3, 0x024c9739, 0x0285c456, 0x0024789f, 0x029142eb, 0x03046bc6, 0x0029b2f0}}, Y: Field{[10]uint32{0x03fa9b9f, 0x00abf585, 0x00313986, 0x01cf1c18, 0x0360ceb5, 0x0303e568, 0x030619e2, 0x02226ec4, 0x03f4680e, 0x000086b9}}}, + {X: Field{[10]uint32{0x0143cc38, 0x02ce7e67, 0x01ce6344, 0x00099f44, 0x03130a3c, 0x0166c72b, 0x03b86c13, 0x02249faf, 0x019a02c4, 0x000d1f5b}}, Y: Field{[10]uint32{0x01c74448, 0x027fc78c, 0x00cb1268, 0x02da1e1c, 0x006d565a, 0x03b24bc2, 0x0187f6ec, 0x01493472, 0x0361a353, 0x00183a9f}}}, + {X: Field{[10]uint32{0x0372656a, 0x03bdd0de, 0x008cf855, 0x02c6fcc7, 0x02d47c67, 0x017bd619, 0x037dcb37, 0x02e3660f, 0x01d2181d, 0x00369951}}, Y: Field{[10]uint32{0x03dc208a, 0x02a092dd, 0x03d897fe, 0x006d24d6, 0x01667305, 0x015a0317, 0x038f07ce, 0x01e29e79, 0x0315ab68, 0x00126e59}}}, + {X: Field{[10]uint32{0x03eb1111, 0x016652e3, 0x03146b9d, 0x02517595, 0x03ec25d6, 0x00271b79, 0x03b81483, 0x00b2c684, 0x03cc9d01, 0x003101d1}}, Y: Field{[10]uint32{0x020fa2d4, 0x03a0c0df, 0x014e1bb5, 0x0055ae54, 0x025db936, 0x032d2255, 0x01e6caf2, 0x0284bf1b, 0x00753be2, 0x00172958}}}, + {X: Field{[10]uint32{0x037f3502, 0x000fbd00, 0x03d34c82, 0x01c4cd22, 0x00338c7f, 0x03a1c39e, 0x033a610b, 0x025e6333, 0x00ec82c9, 0x001390b2}}, Y: Field{[10]uint32{0x03606437, 0x0111cda4, 0x03cc40a9, 0x01133152, 0x01a54921, 0x01de0cd0, 0x028b33a0, 0x03ee4a9e, 0x034ee5e0, 0x001d5c75}}}, + {X: Field{[10]uint32{0x030dedea, 0x008a86ce, 0x03432875, 0x036c3219, 0x02d251ca, 0x03dc2c8d, 0x02ba2e1a, 0x01abe08e, 0x037089bc, 0x000ddd6a}}, Y: Field{[10]uint32{0x01018cf7, 0x03658502, 0x02a2c42a, 0x01efde9d, 0x03ac8db1, 0x00a33e9f, 0x039736a8, 0x002762f2, 0x0107bcfa, 0x002f94b4}}}, + {X: Field{[10]uint32{0x02f74e26, 0x01678fa0, 0x03a88469, 0x01744c52, 0x02d95459, 0x034f5dd6, 0x014fb814, 0x03b0de76, 0x00bf7e34, 0x0033b8c7}}, Y: Field{[10]uint32{0x003b1c6d, 0x01228071, 0x014d80f4, 0x002f853b, 0x020149ef, 0x02f3dafe, 0x03947ae2, 0x0162709a, 0x0214c06b, 0x0023f592}}}, + {X: Field{[10]uint32{0x00b47986, 0x00680742, 0x02befcdc, 0x03f516c7, 0x02fddb58, 0x03ad5193, 0x036ea6a4, 0x0245d867, 0x02ea09b6, 0x002d3e7a}}, Y: Field{[10]uint32{0x0200682a, 0x02a2b01c, 0x0142eb24, 0x03004b29, 0x038bb131, 0x03185c9b, 0x033a4f18, 0x0152c1d0, 0x01925b5a, 0x000e7972}}}, + {X: Field{[10]uint32{0x02bcc60e, 0x0241de4b, 0x00cc1b77, 0x016bf0f7, 0x0284e251, 0x019b4c33, 0x0179a489, 0x03e48e80, 0x01fc3d2d, 0x0035098f}}, Y: Field{[10]uint32{0x02208d54, 0x0193848a, 0x00f7fae1, 0x01d82b5b, 0x0189e127, 0x01614f38, 0x0230d629, 0x023facc3, 0x0307a0f7, 0x0018b7eb}}}, + {X: Field{[10]uint32{0x017612c4, 0x00fbb6a2, 0x01e42223, 0x0302928b, 0x000032ac, 0x024c215f, 0x00d35eb6, 0x0299693e, 0x0124820f, 0x0012115d}}, Y: Field{[10]uint32{0x01bd0f77, 0x01daaa92, 0x00a9ae7a, 0x01f6cb58, 0x03dc6cc0, 0x03e870b9, 0x033c38a1, 0x01e7661c, 0x00ab3679, 0x000969d2}}}, + {X: Field{[10]uint32{0x011cceda, 0x0285d9f0, 0x0123f367, 0x0246454a, 0x02045e19, 0x00abf7f0, 0x01644f3a, 0x007cb2c4, 0x03188110, 0x0037fbbb}}, Y: Field{[10]uint32{0x029a7517, 0x020eb826, 0x03dff16a, 0x039d2d2e, 0x00c390bd, 0x0259e4f0, 0x0020bab3, 0x03810be5, 0x0056cf1d, 0x003b3edc}}}, + {X: Field{[10]uint32{0x00fae859, 0x00b7e0ee, 0x00ed36c8, 0x02f1818b, 0x035d89bc, 0x007ce260, 0x0173f44e, 0x03e0dcf1, 0x02b17543, 0x001b5fbd}}, Y: Field{[10]uint32{0x02712d10, 0x02c64372, 0x000bbf74, 0x02566cb6, 0x00c521a0, 0x01ffaa6f, 0x02fa10c5, 0x02261b7f, 0x02c33543, 0x00335143}}}, + {X: Field{[10]uint32{0x0204541f, 0x0096bd9b, 0x007035af, 0x024c8955, 0x03f3c88b, 0x02647cb8, 0x00500d3b, 0x029689a1, 0x01d59102, 0x0039d581}}, Y: Field{[10]uint32{0x03fad125, 0x0026438a, 0x00693836, 0x0314c22c, 0x014f729a, 0x0211cf8c, 0x039b4872, 0x007b9502, 0x0354a8f7, 0x003d7151}}}, + {X: Field{[10]uint32{0x01ed620c, 0x010ffbec, 0x008457dd, 0x0182af8e, 0x019a0c2e, 0x014082f2, 0x02be453d, 0x03ea81a8, 0x020f4c4d, 0x003ae619}}, Y: Field{[10]uint32{0x0099223e, 0x03d10400, 0x0131ce85, 0x022a5044, 0x00a0a7cd, 0x0349b348, 0x009af3ad, 0x02e14818, 0x00876d9c, 0x001b2e6a}}}, + {X: Field{[10]uint32{0x00dba942, 0x0158f8ee, 0x00336dc3, 0x01a50622, 0x02215459, 0x024ac664, 0x039f2e68, 0x00534d64, 0x03027d85, 0x0004fa1e}}, Y: Field{[10]uint32{0x02b8adf1, 0x00355591, 0x02beb257, 0x0295a35a, 0x02ac2b9d, 0x02fc7a46, 0x01624114, 0x029b7b17, 0x03c68059, 0x003fbd68}}}, + {X: Field{[10]uint32{0x01e5764a, 0x011245a4, 0x0308e7bf, 0x00dc7389, 0x0125424b, 0x016f9bf0, 0x0038f06a, 0x01bf805f, 0x0026e9fd, 0x003b858c}}, Y: Field{[10]uint32{0x016c62b2, 0x00c3682b, 0x02623e54, 0x03e856e5, 0x00f49ae3, 0x01c343d6, 0x0194ccc6, 0x0358710f, 0x010f255d, 0x0006b2c9}}}, + {X: Field{[10]uint32{0x03af3d80, 0x00b976cc, 0x02799993, 0x010d4161, 0x031e626d, 0x030b7226, 0x01e3a750, 0x007935e3, 0x01ef9ad5, 0x002c9a3d}}, Y: Field{[10]uint32{0x0216e423, 0x03a51684, 0x01614003, 0x013f5064, 0x018cf0d3, 0x03077b80, 0x01f77d41, 0x02e7aec6, 0x014b3c99, 0x0017cc43}}}, + {X: Field{[10]uint32{0x03c4750d, 0x03ff6ea4, 0x02ea3bf7, 0x0072a673, 0x002b02f0, 0x01b1eff9, 0x03ad85eb, 0x03c0d7a7, 0x03118a9d, 0x003fc1fc}}, Y: Field{[10]uint32{0x02d1f0d8, 0x00342633, 0x02ddd474, 0x0084538b, 0x01c1d294, 0x03b32eb7, 0x00440c38, 0x01628e97, 0x02d603e8, 0x0010e04d}}}, + {X: Field{[10]uint32{0x02b526a1, 0x03a30f38, 0x01ebec16, 0x02783609, 0x02a4b9f6, 0x03ed962f, 0x006fd20f, 0x014a8d05, 0x0055c7c0, 0x002362e6}}, Y: Field{[10]uint32{0x03036758, 0x00b9fd18, 0x03ceb30e, 0x03fb9475, 0x004bcf50, 0x0213a935, 0x03af44fb, 0x01e7e49a, 0x01eedc2d, 0x00336d56}}}, + {X: Field{[10]uint32{0x01a32b63, 0x0098c603, 0x031eba54, 0x033b2a46, 0x03e4b851, 0x01eb89b7, 0x029d472d, 0x02fc16fe, 0x035384df, 0x0014b6c2}}, Y: Field{[10]uint32{0x00a7b375, 0x012da761, 0x0279de92, 0x0240a1d5, 0x03b3180c, 0x01b6e7d5, 0x02baf66a, 0x0397508f, 0x017d050e, 0x00030ee6}}}, + {X: Field{[10]uint32{0x03d43352, 0x0150efb2, 0x008c6fff, 0x030fcfe9, 0x007d0f29, 0x02024673, 0x01efd24e, 0x007698e5, 0x0090d3d5, 0x00398be5}}, Y: Field{[10]uint32{0x00cafa7d, 0x001eff67, 0x02f5170e, 0x01647c76, 0x02f342c8, 0x031a0a18, 0x002ca280, 0x01ac2c8b, 0x017ba487, 0x001b626b}}}, + {X: Field{[10]uint32{0x02ab1193, 0x039f596a, 0x014fd6d8, 0x03d72dec, 0x011afa2f, 0x03ddf406, 0x03509c88, 0x0266d255, 0x022476b3, 0x001fcc3a}}, Y: Field{[10]uint32{0x037acaec, 0x03d2ffd8, 0x03e9880e, 0x02d9ec40, 0x01daff7b, 0x03d8c47a, 0x015389a5, 0x032530ec, 0x03d4b231, 0x003297bd}}}, + {X: Field{[10]uint32{0x000b7a00, 0x0280d860, 0x01d9ac60, 0x02d28774, 0x03ef0fb7, 0x029b240f, 0x02210fad, 0x0053ed1a, 0x031e1d9f, 0x0014263f}}, Y: Field{[10]uint32{0x0117ddc0, 0x016c4cbf, 0x03e5362a, 0x01035837, 0x02b3ee1b, 0x01d50801, 0x00d37c6e, 0x0323e021, 0x0141d81f, 0x00025cc4}}}, + {X: Field{[10]uint32{0x0378ad58, 0x00b20789, 0x01c96b9f, 0x03333911, 0x02e2f3c4, 0x0272fbe9, 0x0095be6b, 0x0144a9ca, 0x007de9ee, 0x000cade3}}, Y: Field{[10]uint32{0x00c8753c, 0x01c8dde5, 0x0275ba49, 0x0151eb88, 0x0073bb80, 0x038a0983, 0x03c3896e, 0x01c78cbb, 0x01f513df, 0x003b8612}}}, + {X: Field{[10]uint32{0x0147a4f7, 0x01605541, 0x01fc074b, 0x03c209a7, 0x00e37d50, 0x01f1cac3, 0x036eef2a, 0x027ef341, 0x00fddc8e, 0x0038b2dd}}, Y: Field{[10]uint32{0x005cc4a4, 0x006af2c0, 0x012be864, 0x038d848b, 0x03addea9, 0x01cdbac2, 0x022df062, 0x034891e9, 0x02d71c9d, 0x0034ea8b}}}, + {X: Field{[10]uint32{0x010ae3a8, 0x00366734, 0x00b141be, 0x00d7c8d7, 0x0026009a, 0x01aacd5d, 0x01c29949, 0x035efb6b, 0x007566d4, 0x00210e11}}, Y: Field{[10]uint32{0x02dd791f, 0x00109acb, 0x01c4f239, 0x01e4198c, 0x0334ef0d, 0x01ab4cc1, 0x0101ac5e, 0x00293697, 0x02091698, 0x00313840}}}, + {X: Field{[10]uint32{0x0311d67e, 0x019720b1, 0x00b878ab, 0x0311bd98, 0x030587d9, 0x01b0c221, 0x0184c6fc, 0x00080e6d, 0x0088b894, 0x001058b5}}, Y: Field{[10]uint32{0x00852649, 0x011eb968, 0x0295dbda, 0x00ae12d3, 0x03c1732f, 0x03ee28eb, 0x02f22c25, 0x00a27ddd, 0x02903236, 0x0019c58f}}}, + {X: Field{[10]uint32{0x035f683d, 0x02e9292f, 0x010684f3, 0x01ebb0f9, 0x00175d76, 0x0373d53f, 0x0389bfd2, 0x003cd3c3, 0x03a84caf, 0x000feb4f}}, Y: Field{[10]uint32{0x03e61826, 0x0083bf37, 0x012a53fa, 0x01cb9f43, 0x030cf718, 0x031c629c, 0x030ca647, 0x0101eecb, 0x007cb6cc, 0x0003346f}}}, + {X: Field{[10]uint32{0x02b1a86b, 0x0254cbeb, 0x0398f1c6, 0x02fc4dc1, 0x02c1fb84, 0x00174205, 0x00c1a7ce, 0x01e8015a, 0x0200a300, 0x0019d3c9}}, Y: Field{[10]uint32{0x020d38a5, 0x03bb31a7, 0x02259e09, 0x03682c60, 0x0370db57, 0x00011602, 0x0343b257, 0x00cecfb7, 0x01f9413f, 0x000a6748}}}, + {X: Field{[10]uint32{0x02e9f08f, 0x034a6f57, 0x00bcff87, 0x031a49c5, 0x023d82d6, 0x007ecec9, 0x01b815ad, 0x01d2aee0, 0x01a54ade, 0x0034cbd3}}, Y: Field{[10]uint32{0x033eea87, 0x0105a442, 0x01d582fc, 0x0114d4d6, 0x0382e14f, 0x00165c1d, 0x0299016c, 0x014ee5a3, 0x02738b8e, 0x003e50a7}}}, + {X: Field{[10]uint32{0x03ce3ff6, 0x02553c78, 0x008cb1ed, 0x00c7dcac, 0x036fbb69, 0x00d61174, 0x01936571, 0x021555b9, 0x02704353, 0x000c3939}}, Y: Field{[10]uint32{0x0388db7b, 0x0169567a, 0x0340dc69, 0x00d769c1, 0x010a878d, 0x00eef26c, 0x01935011, 0x02618e12, 0x03ce6198, 0x00118be6}}}, + {X: Field{[10]uint32{0x00cad297, 0x01c6c135, 0x0180bf19, 0x0042c079, 0x027f3dcd, 0x00c3937b, 0x02829043, 0x0330c011, 0x02003c51, 0x002f8818}}, Y: Field{[10]uint32{0x01ccb9bc, 0x0163b5cb, 0x002a0d55, 0x0242415a, 0x01b1c610, 0x01387195, 0x033d48a7, 0x03950a15, 0x03c49d61, 0x00188622}}}, + {X: Field{[10]uint32{0x035df04a, 0x026167ff, 0x01993c41, 0x0298077d, 0x01cb6e84, 0x030abc84, 0x01e0fb9a, 0x01147b4a, 0x0023ace3, 0x0024c511}}, Y: Field{[10]uint32{0x0037b47c, 0x00a9b44c, 0x039d1d90, 0x0093dcae, 0x00f10652, 0x01e6480e, 0x031a3f9d, 0x01097d71, 0x03b164c3, 0x001f0437}}}, + {X: Field{[10]uint32{0x017b112c, 0x01906305, 0x012a7cb6, 0x00171edf, 0x01978292, 0x030d3ee0, 0x01ca26d6, 0x032f73c8, 0x00044f5f, 0x002c057e}}, Y: Field{[10]uint32{0x023a1d5f, 0x03a85153, 0x008c1d3a, 0x01bea8c2, 0x003b3cdc, 0x037e357e, 0x00a655b2, 0x03a04dd1, 0x02086d04, 0x002ae307}}}, + {X: Field{[10]uint32{0x01a21b52, 0x03cabcd0, 0x000d36b3, 0x03795e85, 0x024f8a18, 0x0291968e, 0x00868117, 0x025f6279, 0x01da649d, 0x00357a78}}, Y: Field{[10]uint32{0x0327447a, 0x017a164b, 0x0080d895, 0x01708901, 0x03169346, 0x03537436, 0x01a13cc1, 0x03b5cc44, 0x0037f391, 0x00132c11}}}, + {X: Field{[10]uint32{0x036966bb, 0x0294c5b4, 0x02d6f996, 0x0335cb85, 0x01983005, 0x02e6490e, 0x03f8ed77, 0x03281976, 0x01047dd7, 0x0034eb90}}, Y: Field{[10]uint32{0x0125ac46, 0x00370534, 0x00a614b1, 0x035f7c2b, 0x0164f8cd, 0x0105f1b6, 0x010f0303, 0x03aec8a8, 0x0321ad22, 0x002f46ba}}}, + {X: Field{[10]uint32{0x0097b065, 0x002be1f2, 0x037b49f8, 0x002a0b8d, 0x0087197d, 0x02003c29, 0x026cdd22, 0x03e563f1, 0x0363d885, 0x00118f89}}, Y: Field{[10]uint32{0x02f7ca7f, 0x026499c7, 0x03508b79, 0x0187ef25, 0x0326b80c, 0x0137818a, 0x03a311a9, 0x003f5f7c, 0x00db0e5d, 0x002ffbeb}}}, + {X: Field{[10]uint32{0x00641917, 0x0377f244, 0x0347c83c, 0x03102ff9, 0x0158e597, 0x02d8fb0c, 0x0353ec1b, 0x00159f1b, 0x01fd127c, 0x001e617f}}, Y: Field{[10]uint32{0x0332ed03, 0x016f559f, 0x0308703a, 0x00783b19, 0x0124ed29, 0x038a26bb, 0x0325fe1d, 0x0218bbca, 0x02daf3d9, 0x00180f04}}}, + {X: Field{[10]uint32{0x027703e9, 0x03c550f6, 0x02d0ed5f, 0x0272e0f4, 0x019e74c5, 0x003ab1fe, 0x01d24941, 0x038e76cb, 0x016b5f76, 0x001d286b}}, Y: Field{[10]uint32{0x00e0db08, 0x00dff5e4, 0x00c33d57, 0x01a250ba, 0x00093e09, 0x00c6efa8, 0x0193d836, 0x0318f358, 0x03ef18c9, 0x00331855}}}, + {X: Field{[10]uint32{0x022f6da3, 0x034225ac, 0x03463a71, 0x00b1c9d1, 0x03c9bab4, 0x02e866df, 0x01416664, 0x01d7d80b, 0x02507033, 0x000c1a0a}}, Y: Field{[10]uint32{0x03a22ff8, 0x0053665d, 0x0273f177, 0x0383c672, 0x036290d0, 0x00c474c5, 0x00f39e7f, 0x02d3e9b2, 0x00f6b018, 0x00154f81}}}, + {X: Field{[10]uint32{0x0369ef57, 0x01b04d1d, 0x0352b1ee, 0x00ac9193, 0x03654e7a, 0x03e9e565, 0x03791efe, 0x0357c9b0, 0x00f0d7c0, 0x00278856}}, Y: Field{[10]uint32{0x01008373, 0x03efc98a, 0x038509e2, 0x023bcd68, 0x029ffd7c, 0x03e9dd8b, 0x003a3481, 0x014fc240, 0x00dd1b90, 0x0001c4bf}}}, + {X: Field{[10]uint32{0x02327d66, 0x0215fcef, 0x03ce7322, 0x019b8f13, 0x028172e5, 0x00094e30, 0x024029c2, 0x03273fae, 0x02989a43, 0x0005db89}}, Y: Field{[10]uint32{0x03a4b1c3, 0x01e0d307, 0x009ee7b4, 0x007d3bb8, 0x019aefd3, 0x023710f0, 0x0270b487, 0x03ae1df4, 0x01d04b29, 0x003b6332}}}, + {X: Field{[10]uint32{0x00374da8, 0x011e2314, 0x00f1b700, 0x00e4f7f1, 0x02cf1892, 0x00eb5d1f, 0x02bb89a1, 0x0079b9a2, 0x02fea377, 0x001d751b}}, Y: Field{[10]uint32{0x02a6bed8, 0x011c9961, 0x02e1a3ca, 0x008544d1, 0x00d7efc2, 0x02ce6a1a, 0x00b86fd2, 0x01d9e7f4, 0x010a9950, 0x0026148e}}}, + {X: Field{[10]uint32{0x01605721, 0x00c67d91, 0x029345b7, 0x00114721, 0x032310fb, 0x0097db57, 0x0298c4c8, 0x02403fed, 0x00c67d64, 0x00202688}}, Y: Field{[10]uint32{0x00e286c1, 0x03e97cfe, 0x03e6a5eb, 0x03315258, 0x003d096c, 0x01fe8105, 0x02b06192, 0x01f88add, 0x0180d991, 0x0027a652}}}, + {X: Field{[10]uint32{0x0172c180, 0x018d11be, 0x023528d5, 0x0073ca71, 0x03defece, 0x02b1c20f, 0x00500b4e, 0x03c453b5, 0x003a43f7, 0x0006ce24}}, Y: Field{[10]uint32{0x02f408f9, 0x02504676, 0x0272ad33, 0x01adbd76, 0x022708b2, 0x0354f792, 0x0353f77f, 0x002ba224, 0x01c931a6, 0x00100dbb}}}, + {X: Field{[10]uint32{0x00feef23, 0x01b1621a, 0x0166df4e, 0x0338b41d, 0x03263458, 0x03e8fbf9, 0x00b4e8dd, 0x012e7aac, 0x01b6eb29, 0x00242a03}}, Y: Field{[10]uint32{0x03cf91e6, 0x031dba4b, 0x01681442, 0x02c9eef6, 0x035ee050, 0x0278a4da, 0x0321145d, 0x03c6361f, 0x039f9754, 0x001d4f22}}}, + {X: Field{[10]uint32{0x036bea9b, 0x009751cd, 0x0146e6dc, 0x00152851, 0x023e6f36, 0x03d80d03, 0x01625460, 0x0166604b, 0x03844b70, 0x0030b203}}, Y: Field{[10]uint32{0x02a79c64, 0x02f5120e, 0x00f6123a, 0x029c0ad3, 0x0173b871, 0x0074ec6d, 0x03495b89, 0x03539c62, 0x020d68f4, 0x0021b285}}}, + {X: Field{[10]uint32{0x028e7553, 0x00f38468, 0x01692a32, 0x038757f3, 0x012d00cf, 0x0067ec99, 0x03989d3f, 0x02d7cff7, 0x02744cf4, 0x00273d81}}, Y: Field{[10]uint32{0x0247759d, 0x003144f0, 0x0385dc30, 0x0038f116, 0x03edd0f3, 0x03eb5a18, 0x017b6a3c, 0x03f3056d, 0x03f7b973, 0x002051f2}}}, + {X: Field{[10]uint32{0x02d82208, 0x023d6156, 0x005abce9, 0x0031d080, 0x02a6280b, 0x018364db, 0x0093fd60, 0x031ac969, 0x03a28742, 0x0015d223}}, Y: Field{[10]uint32{0x01a29574, 0x021e113c, 0x03921dc2, 0x03994084, 0x03af949a, 0x009ed1c2, 0x02dbe56c, 0x02fa9562, 0x02455073, 0x000c6cf2}}}, + {X: Field{[10]uint32{0x0099447d, 0x02f17ad2, 0x00dc84ed, 0x005b1d63, 0x02d40ed6, 0x01d658f0, 0x00df2b8d, 0x02ef2372, 0x00be6be8, 0x003c44cf}}, Y: Field{[10]uint32{0x0252f50f, 0x02ee24fd, 0x016870cb, 0x018375e8, 0x0110bd3a, 0x0359f558, 0x014626d8, 0x02c8fd5c, 0x00472225, 0x0015ff09}}}, + {X: Field{[10]uint32{0x03be89c0, 0x038105d6, 0x025050f4, 0x02ffcf90, 0x013f3d69, 0x00196ee0, 0x00989c79, 0x02f5e1fe, 0x02753301, 0x0025420f}}, Y: Field{[10]uint32{0x00b33482, 0x024fe925, 0x03c70cc5, 0x038055ac, 0x00ee4e92, 0x01dc1039, 0x017c73ca, 0x0037a518, 0x035ce7d1, 0x002112b6}}}, + {X: Field{[10]uint32{0x005c75c6, 0x000110ef, 0x01973621, 0x02cd8f23, 0x038668c7, 0x03266bd8, 0x0176ed29, 0x0159d579, 0x0355cbb7, 0x0006a420}}, Y: Field{[10]uint32{0x032454a2, 0x02b48b8b, 0x03f27057, 0x001d2d13, 0x00a73538, 0x01589f60, 0x03787222, 0x01b8d4bd, 0x026c6e55, 0x0035d951}}}, + {X: Field{[10]uint32{0x0349b648, 0x037cefbc, 0x01db4f04, 0x018f17cc, 0x038a2d1f, 0x02b65fe7, 0x0067308f, 0x010f56aa, 0x03740bd3, 0x0031648b}}, Y: Field{[10]uint32{0x027bd648, 0x014f251b, 0x00c4377f, 0x01108da9, 0x00da8118, 0x0362dd4b, 0x02605e50, 0x036fa204, 0x00687cfc, 0x001dec7c}}}, + {X: Field{[10]uint32{0x02c95dc9, 0x00d10839, 0x017d9964, 0x00c458e2, 0x02055dcf, 0x006c2d9c, 0x011a4043, 0x000a5dda, 0x01969f91, 0x0019386c}}, Y: Field{[10]uint32{0x0222550c, 0x02538ca4, 0x0371ddce, 0x034873bc, 0x029bfb77, 0x0240d6d9, 0x027fa26a, 0x030f27ac, 0x00c7c11f, 0x00305bd8}}}, + {X: Field{[10]uint32{0x03ce08de, 0x03edfa81, 0x01ce7808, 0x029d527a, 0x03c602f8, 0x00ccf74d, 0x0121bad3, 0x0113b5b1, 0x02766877, 0x0000cecb}}, Y: Field{[10]uint32{0x02988efd, 0x01444aa1, 0x038114c2, 0x032a9b79, 0x03d742e8, 0x03f7652f, 0x036c2437, 0x022ba573, 0x027fc8ed, 0x00386f3f}}}, + {X: Field{[10]uint32{0x01e4f294, 0x011cef91, 0x0275c951, 0x003fca52, 0x0189fbf3, 0x01ed2b0c, 0x02310331, 0x0228730a, 0x034c866d, 0x00083c63}}, Y: Field{[10]uint32{0x02d0ea0e, 0x032ba074, 0x0358943f, 0x027dc5cf, 0x030fe852, 0x034defb9, 0x00883363, 0x03ded3f6, 0x03c9d08e, 0x00235a15}}}, + {X: Field{[10]uint32{0x03b69a8b, 0x01105db5, 0x03befd14, 0x014d5190, 0x012df346, 0x038aa2e7, 0x02b4c685, 0x031c5a83, 0x03c944c9, 0x00134588}}, Y: Field{[10]uint32{0x0117be80, 0x0160e222, 0x02f7854f, 0x0357b654, 0x022b601b, 0x01bb0d25, 0x016bf6b9, 0x02b40fe6, 0x01fe8744, 0x00377c6e}}}, + {X: Field{[10]uint32{0x01b079e0, 0x0343fd4f, 0x027e2d4a, 0x02937436, 0x014faad0, 0x016251e1, 0x00d6b368, 0x00a4b4a0, 0x00dbe8ab, 0x002a406c}}, Y: Field{[10]uint32{0x03298a9d, 0x00398391, 0x023b301d, 0x03829ac1, 0x00716bc5, 0x0079eb99, 0x02f04dc6, 0x006986bd, 0x03e1834f, 0x000fc9f9}}}, + {X: Field{[10]uint32{0x03fc9a70, 0x007269ba, 0x0089b303, 0x013df202, 0x012f42a2, 0x0211916c, 0x03d66f44, 0x023ff542, 0x00713021, 0x001f82bc}}, Y: Field{[10]uint32{0x02aedb3f, 0x01b6de16, 0x003ab241, 0x005fd6f7, 0x010d5795, 0x017ac7a2, 0x013fbb23, 0x0343127d, 0x03f3926c, 0x00142f08}}}, + {X: Field{[10]uint32{0x02ebf20d, 0x00aaac16, 0x01da4ef8, 0x00a151ba, 0x00b47f05, 0x0102a40e, 0x005d3354, 0x00968b06, 0x007e1a7b, 0x001eea06}}, Y: Field{[10]uint32{0x02185187, 0x00924c26, 0x033a39ab, 0x02f39f62, 0x000527ef, 0x0329775e, 0x026c25c7, 0x00dc2be1, 0x026c9625, 0x001b9abb}}}, + {X: Field{[10]uint32{0x013a6807, 0x02128e76, 0x0277255b, 0x02583a49, 0x009767b7, 0x0063f28e, 0x0000816e, 0x02c9e6d8, 0x03c34d83, 0x00230143}}, Y: Field{[10]uint32{0x01174870, 0x026f104d, 0x023ce701, 0x0336073c, 0x015d699f, 0x0106604e, 0x03c29650, 0x023eca09, 0x00ef75b6, 0x002618c5}}}, + {X: Field{[10]uint32{0x019c2ec9, 0x02e2c6f2, 0x006202a7, 0x028b2fd4, 0x009d7201, 0x01492652, 0x0060583a, 0x037e1896, 0x009a78e4, 0x0014ede1}}, Y: Field{[10]uint32{0x03e469c0, 0x00b77e78, 0x012c544d, 0x00951ca3, 0x02e0a44d, 0x006f8b14, 0x024b22de, 0x01f41d77, 0x0212ac60, 0x00138c7a}}}, + {X: Field{[10]uint32{0x03313b33, 0x03149f94, 0x0278efeb, 0x0010c77b, 0x02b63350, 0x03f9d8af, 0x0075a010, 0x032655a8, 0x0267a5d0, 0x0026f7e7}}, Y: Field{[10]uint32{0x029d2bb0, 0x0252bf63, 0x00d5a17e, 0x00d9d8ba, 0x02907f26, 0x03c5b2b4, 0x00c27926, 0x00383b89, 0x0221a596, 0x00250991}}}, + {X: Field{[10]uint32{0x02381f34, 0x03f66412, 0x012fb429, 0x00b1bb0b, 0x0117d9f4, 0x01d81be2, 0x02c031a4, 0x02cef42e, 0x02b37a8a, 0x001f2a9c}}, Y: Field{[10]uint32{0x017303c9, 0x01f77597, 0x037f1ef8, 0x00781a0b, 0x03ff8fbd, 0x00804253, 0x023d6beb, 0x037a34d3, 0x03ab7ee5, 0x0016d614}}}, + {X: Field{[10]uint32{0x0193d81a, 0x01ae5f8e, 0x0093dde1, 0x031d54c9, 0x03925d62, 0x00fd236d, 0x000295fc, 0x01e5d5e7, 0x039f0982, 0x000bbca6}}, Y: Field{[10]uint32{0x03110753, 0x008cde8c, 0x015e89b4, 0x0090e1f6, 0x00a0afff, 0x02fd31c5, 0x0137ef96, 0x016e9829, 0x004dd987, 0x00125b25}}}, + {X: Field{[10]uint32{0x03317ff8, 0x030d2fa5, 0x00e6a9e5, 0x014bb0d5, 0x024029e9, 0x039740b1, 0x03c1860a, 0x01e1d55c, 0x00ad95b0, 0x0037c55f}}, Y: Field{[10]uint32{0x0284c162, 0x01bb8e04, 0x03ba470f, 0x00ba15a4, 0x00b629e6, 0x00acf30c, 0x01c979a0, 0x00ad4226, 0x02c77592, 0x003cbb32}}}, + {X: Field{[10]uint32{0x02454b1d, 0x02a61c05, 0x020e7b15, 0x00dadc64, 0x00e651d2, 0x02e7ad51, 0x0182e643, 0x02949ad8, 0x0150a29c, 0x00375570}}, Y: Field{[10]uint32{0x002e9368, 0x01788fd3, 0x00f5c4d9, 0x02af5dea, 0x00ac685a, 0x01a30944, 0x01605d42, 0x03a8bace, 0x03a542f4, 0x001131d5}}}, + {X: Field{[10]uint32{0x00227f27, 0x02792e26, 0x0172325b, 0x024e1fc0, 0x02c4d5d3, 0x018f4c95, 0x01477630, 0x00b1e464, 0x00f46ed4, 0x0005a21b}}, Y: Field{[10]uint32{0x0217fffb, 0x00e0c5c2, 0x00367ec5, 0x02378bd2, 0x02c824ed, 0x00f280f7, 0x02192fc9, 0x00ca6751, 0x02207ee7, 0x001d0868}}}, + {X: Field{[10]uint32{0x0360732f, 0x03aa9eca, 0x0345e56a, 0x0089213f, 0x0327968c, 0x01bc2b3f, 0x028b306d, 0x00186023, 0x00fcdaa3, 0x001bfc60}}, Y: Field{[10]uint32{0x029961a9, 0x00fa87bd, 0x038cc22f, 0x008baa16, 0x026c8d40, 0x018dd868, 0x0254dad0, 0x02bfc3f0, 0x0254f0c2, 0x001f45b5}}}, + {X: Field{[10]uint32{0x00395e36, 0x03323ab7, 0x005c4f8b, 0x0154e7da, 0x00aa912b, 0x003b99df, 0x034f51f4, 0x030a80fa, 0x0111a00d, 0x0000fa91}}, Y: Field{[10]uint32{0x03c9259d, 0x000d719c, 0x0049824b, 0x00d94a43, 0x030a2f2e, 0x010376d4, 0x02398393, 0x0008564e, 0x01f1528b, 0x001b27b4}}}, + {X: Field{[10]uint32{0x0253081d, 0x0332883c, 0x014b63c7, 0x002a0d79, 0x0153e415, 0x00cb7ee3, 0x00742d8f, 0x03a7aace, 0x0170dc3d, 0x0002e0b3}}, Y: Field{[10]uint32{0x01d0e24d, 0x012f02ab, 0x0326860d, 0x015aa48b, 0x0302effc, 0x00ca5d97, 0x02e20499, 0x01b9d74c, 0x03fe1f7f, 0x0003a2f2}}}, + {X: Field{[10]uint32{0x0196c77f, 0x00e2d5e8, 0x03d49b7b, 0x03c05cc9, 0x0206d056, 0x00169a69, 0x02e23bf1, 0x021d1613, 0x03e00074, 0x003f8bf0}}, Y: Field{[10]uint32{0x01bf3916, 0x02ef6dba, 0x0271d4f9, 0x007793f7, 0x007da856, 0x01601ec7, 0x01a32f69, 0x034a5f32, 0x001cc3c6, 0x000f8625}}}, + {X: Field{[10]uint32{0x03b7858b, 0x036fd5d2, 0x035ec845, 0x00511ba8, 0x02e8b001, 0x00b6e75b, 0x028778b1, 0x00da4d1f, 0x0176cdaa, 0x00012e40}}, Y: Field{[10]uint32{0x0173c154, 0x032abb2e, 0x03155295, 0x03f0bdea, 0x021fdad0, 0x02162031, 0x026e349b, 0x017f4fb2, 0x03ab6e9c, 0x003d8151}}}, + {X: Field{[10]uint32{0x0144c6d2, 0x03b04296, 0x028a0cd3, 0x01cbd654, 0x01defc42, 0x0036f27b, 0x00c86a9f, 0x01802d2e, 0x02511d34, 0x000d7ce0}}, Y: Field{[10]uint32{0x00b5ccd5, 0x00c8d2f4, 0x00daeae8, 0x02c6c4a8, 0x0043762b, 0x03e5b2a6, 0x0337a80c, 0x028797db, 0x01f6ef7f, 0x000a6a0d}}}, + {X: Field{[10]uint32{0x022cb94a, 0x0308dc5c, 0x011cdf3c, 0x02b0fc04, 0x03e1d0e9, 0x021f4fd6, 0x0027e265, 0x02dffe84, 0x02970311, 0x00075d2c}}, Y: Field{[10]uint32{0x00c2071e, 0x03307dca, 0x030e2606, 0x02ba771f, 0x0135dc99, 0x003d7183, 0x03bcfb81, 0x005382dc, 0x038b57f1, 0x00171ef3}}}, + {X: Field{[10]uint32{0x00450428, 0x0129a2a6, 0x013e6f93, 0x02df1056, 0x024f75d1, 0x027b1c8b, 0x0020737b, 0x03e5582c, 0x00f309c6, 0x00142825}}, Y: Field{[10]uint32{0x03778eee, 0x0243c7a0, 0x021b554a, 0x02da1a6a, 0x0089c86d, 0x02a07c11, 0x009eaba6, 0x0033f65a, 0x0222dfe1, 0x0028a1b8}}}, + {X: Field{[10]uint32{0x03c63db7, 0x0029b589, 0x0010599b, 0x036452d2, 0x00282dbc, 0x01d7b0e3, 0x02cf12e2, 0x0055f37f, 0x03812129, 0x0026d96e}}, Y: Field{[10]uint32{0x00223188, 0x0164ef06, 0x03d65528, 0x0102b423, 0x00660b4c, 0x007a629e, 0x013b2e95, 0x00890864, 0x031a3f0f, 0x003160b6}}}, + {X: Field{[10]uint32{0x02a4bc6b, 0x00200b4d, 0x02ca51c2, 0x03179883, 0x0085e7f1, 0x007720c7, 0x02c1115a, 0x0281b915, 0x00fc1fdf, 0x0022d151}}, Y: Field{[10]uint32{0x0220350d, 0x022c67de, 0x003b06ea, 0x02e6556c, 0x01e4116f, 0x02dc3993, 0x022af7f4, 0x00980b9c, 0x0041288f, 0x0038f9df}}}, + {X: Field{[10]uint32{0x020ab4aa, 0x02076577, 0x01e29d5f, 0x004f773b, 0x006cb2ae, 0x0155e3f7, 0x039b29cc, 0x03adf145, 0x0080b959, 0x001b1c26}}, Y: Field{[10]uint32{0x027c4bdc, 0x033144e7, 0x03b43c2d, 0x0314254f, 0x02ee2b59, 0x03cf7aae, 0x036c0c76, 0x02e9099c, 0x03aebd8e, 0x003278cf}}}, + {X: Field{[10]uint32{0x01537806, 0x02d59dcf, 0x001e7085, 0x019e00ae, 0x0076fc9d, 0x012821e8, 0x01891f79, 0x01a9c657, 0x035137ba, 0x001ddd82}}, Y: Field{[10]uint32{0x018e3a25, 0x0206af85, 0x037f0d7e, 0x037b9a39, 0x021b87ff, 0x03d105ef, 0x0358c7ed, 0x02962fd3, 0x00f5aaee, 0x003d480b}}}, + {X: Field{[10]uint32{0x02163102, 0x03109b9f, 0x025d0df4, 0x03e3bf58, 0x03e23cd4, 0x02324699, 0x02904a8a, 0x00320ba6, 0x03836a0b, 0x0006a2f5}}, Y: Field{[10]uint32{0x02285844, 0x0317f304, 0x01f2e4e9, 0x005adc02, 0x01c2a963, 0x03dd2a1f, 0x0174f282, 0x00b2b8f1, 0x00cab095, 0x00187f99}}}, + {X: Field{[10]uint32{0x024abc30, 0x02d4e421, 0x031d753d, 0x02679a51, 0x02a3fb30, 0x00936475, 0x01e453ed, 0x02644fec, 0x01b65907, 0x003f885f}}, Y: Field{[10]uint32{0x01730b58, 0x03dac0d3, 0x012538cd, 0x00714e5a, 0x0193a0c6, 0x007c11f5, 0x030f20fb, 0x017b5a02, 0x02bba962, 0x001773e6}}}, + {X: Field{[10]uint32{0x01b33b91, 0x02bb527d, 0x02c5f212, 0x035d232d, 0x0107e3ab, 0x03ab5a5b, 0x00f58b65, 0x0357af0e, 0x023754af, 0x00094135}}, Y: Field{[10]uint32{0x035d75d4, 0x0004eb5e, 0x03437b5e, 0x004159d7, 0x00ba7cec, 0x01cbeefd, 0x01321c6c, 0x011a713d, 0x034375f1, 0x001e69af}}}, + {X: Field{[10]uint32{0x03197b5c, 0x03772bf6, 0x0176b7fb, 0x02fd7322, 0x036160ab, 0x021c4170, 0x029bd3f6, 0x008b5e26, 0x0302f47b, 0x0002c1bd}}, Y: Field{[10]uint32{0x0332f63d, 0x017e4635, 0x007781cd, 0x01ff45e7, 0x005bd2fe, 0x02a8f7f9, 0x012a35b6, 0x035247d6, 0x03d419a4, 0x001d9a6e}}}, + {X: Field{[10]uint32{0x01044e23, 0x004a2983, 0x010acbc2, 0x027af48f, 0x00a6f3f9, 0x006d5120, 0x034eeb93, 0x0273e500, 0x003bb31f, 0x00200ec8}}, Y: Field{[10]uint32{0x0328d1c7, 0x014e0705, 0x006a954e, 0x02fd26e5, 0x03bfc9cc, 0x03e98aeb, 0x0320c5c7, 0x03dd6566, 0x008df271, 0x000c22af}}}, + {X: Field{[10]uint32{0x0302749a, 0x00a27f80, 0x028dcd57, 0x037a3a56, 0x02e52de1, 0x000e9cc4, 0x010e5bda, 0x033ab6ed, 0x00b4c5f5, 0x00099aa7}}, Y: Field{[10]uint32{0x02e0ae7e, 0x021bff11, 0x03baa8b3, 0x02e879f0, 0x033dc0ef, 0x03213b53, 0x0282877c, 0x02cbea8f, 0x030ba856, 0x0027baa5}}}, + {X: Field{[10]uint32{0x004eba94, 0x00d82f3e, 0x02a355d7, 0x0107a6af, 0x0364c4c1, 0x02058f7c, 0x019a7ab9, 0x01eb5496, 0x0195d80c, 0x003f62a7}}, Y: Field{[10]uint32{0x03b1030c, 0x035f5cf7, 0x01a713e2, 0x03691eff, 0x03a30377, 0x02b9ff4c, 0x032e2688, 0x014ecd66, 0x03021009, 0x002a7ec5}}}, + {X: Field{[10]uint32{0x01db0a7d, 0x02dbc9be, 0x038f8f2c, 0x0316dec2, 0x026e84ac, 0x02cb202f, 0x03c339a8, 0x023c8d67, 0x01f309f2, 0x0029cc8b}}, Y: Field{[10]uint32{0x02db6be6, 0x028ba85b, 0x00885c12, 0x0384c5c5, 0x03095f40, 0x03c4be95, 0x01b7f5b2, 0x025405ff, 0x029d2174, 0x0008bdbf}}}, + {X: Field{[10]uint32{0x03052d36, 0x00f1f932, 0x01ffc82c, 0x006ba95a, 0x00bd4c46, 0x03dfc3c6, 0x02104ddb, 0x0199258e, 0x010f336a, 0x0020aa30}}, Y: Field{[10]uint32{0x01f1dd0c, 0x0384a1e5, 0x038c118f, 0x03533411, 0x015e5c31, 0x02dc6d9c, 0x010501cc, 0x01c89e2e, 0x00a2c0ef, 0x001cdf3b}}}, + {X: Field{[10]uint32{0x0315d6df, 0x01e12a53, 0x00516c54, 0x02dd6e97, 0x026c4ef2, 0x01698309, 0x03cd12f0, 0x03de5401, 0x01b68e3b, 0x0026d434}}, Y: Field{[10]uint32{0x03ddd8fd, 0x01bfadf2, 0x02778737, 0x009cb51f, 0x02403fff, 0x03c63549, 0x003fd2a4, 0x01db6340, 0x0109b791, 0x000abf23}}}, + {X: Field{[10]uint32{0x02e08d32, 0x021657ee, 0x00b80671, 0x035fba0b, 0x02b8dcb9, 0x0074c15a, 0x023a8228, 0x008ff9f7, 0x03ddc8b4, 0x000fe420}}, Y: Field{[10]uint32{0x028fa758, 0x0257ff3c, 0x01376e21, 0x01b48330, 0x0081f77f, 0x03e80868, 0x020ed90a, 0x007646a7, 0x0152fd51, 0x0032c4f0}}}, + {X: Field{[10]uint32{0x02167faf, 0x0041d3bc, 0x00bfadbd, 0x00196754, 0x03c92317, 0x024999b2, 0x02ff6bd5, 0x0306895b, 0x01c1ee17, 0x0031d721}}, Y: Field{[10]uint32{0x00023a52, 0x02bc5a50, 0x00c8596d, 0x005b53df, 0x01bd698a, 0x0191fd23, 0x00ca8922, 0x010275d7, 0x02be5e09, 0x0006ad3a}}}, + {X: Field{[10]uint32{0x00656045, 0x02355da6, 0x03fb95c6, 0x00acf52d, 0x0060ea8e, 0x03deab5f, 0x010cf0d2, 0x03d74ed3, 0x03eaf8a0, 0x00314d07}}, Y: Field{[10]uint32{0x00e88915, 0x034eae5d, 0x023986e6, 0x035535c4, 0x02dc48a4, 0x009aae60, 0x00fa422a, 0x016e7e92, 0x00e9007e, 0x00257e7d}}}, + {X: Field{[10]uint32{0x00c2d89b, 0x01e80c98, 0x027fd896, 0x02ddd4b5, 0x02220852, 0x01c17748, 0x02bd4c68, 0x025f8354, 0x023e2a89, 0x0020eb36}}, Y: Field{[10]uint32{0x03c31df0, 0x03a5de46, 0x00e8e330, 0x00ef752e, 0x030a77cd, 0x025c45d5, 0x01b55809, 0x02e945fd, 0x02e1d655, 0x0037386e}}}, + {X: Field{[10]uint32{0x0025237b, 0x009e6cc0, 0x039625bd, 0x01c5b174, 0x00f1c0d5, 0x00a75653, 0x01c4164e, 0x0241d16e, 0x01468b29, 0x0016e064}}, Y: Field{[10]uint32{0x03625d8e, 0x0227d2bd, 0x034fcf69, 0x0329c6e8, 0x011c48d2, 0x00207cd6, 0x0188daab, 0x0377eafb, 0x02a03fdd, 0x00330d8d}}}, + {X: Field{[10]uint32{0x003b0e6c, 0x0241178b, 0x037219b8, 0x01934e35, 0x0332f5f6, 0x01984139, 0x00417961, 0x00e3bfe0, 0x0122214e, 0x00191de0}}, Y: Field{[10]uint32{0x0211a32d, 0x033e6111, 0x02f81974, 0x000e352b, 0x00d8b632, 0x02e29f47, 0x02afc4a0, 0x03bb1ee3, 0x00497e15, 0x000ca73c}}}, + {X: Field{[10]uint32{0x02f12323, 0x0032e7c6, 0x0017c43d, 0x0275b684, 0x002b475a, 0x02bba199, 0x01099099, 0x018bd1e5, 0x026afe57, 0x003b5360}}, Y: Field{[10]uint32{0x03e48e78, 0x00c6defd, 0x02274d05, 0x02696510, 0x01c4d88c, 0x02b1e467, 0x0296f928, 0x0297bb20, 0x01be3faf, 0x00231be0}}}, + {X: Field{[10]uint32{0x01109c4a, 0x01bad033, 0x02fe97a0, 0x00ad57de, 0x024d82ac, 0x011bf586, 0x016f5513, 0x03b30eb3, 0x0124419a, 0x000e2d0a}}, Y: Field{[10]uint32{0x03e05583, 0x032e4adc, 0x02b07b5a, 0x01a28b39, 0x02de49d7, 0x03cd669a, 0x030965a1, 0x00bdceca, 0x00962feb, 0x001fd0b0}}}, + {X: Field{[10]uint32{0x02138911, 0x02b0ba60, 0x016e3446, 0x018893c8, 0x01bb2a8f, 0x020fa185, 0x034cf701, 0x02529ed0, 0x00a8d8bb, 0x0030f2b5}}, Y: Field{[10]uint32{0x0282765e, 0x023b4e1c, 0x01b2759a, 0x00bbc6c9, 0x01420e37, 0x00b738e8, 0x0342ce38, 0x025d9081, 0x02278cad, 0x003d926f}}}, + {X: Field{[10]uint32{0x00bd6538, 0x02239295, 0x01a9e555, 0x015cd964, 0x00d9212e, 0x038faa7b, 0x03ae40dc, 0x00dbf553, 0x03f4d3d2, 0x000b5023}}, Y: Field{[10]uint32{0x00e815b7, 0x02816d43, 0x021324b9, 0x01c5616a, 0x0285e2a1, 0x00a66fbd, 0x02284bf0, 0x00a81af1, 0x01f0e869, 0x003565ab}}}, + {X: Field{[10]uint32{0x0233c854, 0x02dfaa9e, 0x03daebaf, 0x028e8f1b, 0x03d67423, 0x00fe223a, 0x0290cf81, 0x0097eddb, 0x036d247f, 0x003b9eb7}}, Y: Field{[10]uint32{0x027a8fb4, 0x03bf0754, 0x01801dea, 0x01c5e278, 0x01143f68, 0x01505a27, 0x010dd9ef, 0x03dc15b0, 0x004b4ae8, 0x00381dc6}}}, + {X: Field{[10]uint32{0x01144b34, 0x0047cf80, 0x0064b7c8, 0x028df26a, 0x01dd5d37, 0x01317a27, 0x011151dc, 0x02b284f6, 0x03c8a9ff, 0x000be515}}, Y: Field{[10]uint32{0x035e221d, 0x018d3839, 0x01cfbb40, 0x033acf4f, 0x02787120, 0x035bf122, 0x015407e1, 0x0355ce8a, 0x00489093, 0x003ad326}}}, + {X: Field{[10]uint32{0x03fec294, 0x00311bad, 0x01c277b3, 0x020fbd4c, 0x03601204, 0x03f86378, 0x023478ce, 0x00560873, 0x02b8a0f1, 0x0034fccc}}, Y: Field{[10]uint32{0x030b2155, 0x0085786e, 0x00f9f323, 0x0243bc4d, 0x01c8968b, 0x030dca50, 0x02f1c019, 0x01e18746, 0x01b25d71, 0x003a9d6e}}}, + {X: Field{[10]uint32{0x02152b91, 0x0337c7e3, 0x02f7e9a4, 0x02199ad4, 0x035f3ddb, 0x03bcdb75, 0x021fcd86, 0x016ab4d4, 0x00d338b0, 0x00060d02}}, Y: Field{[10]uint32{0x0241218c, 0x00d54dc5, 0x018095de, 0x01339126, 0x00210e20, 0x00326209, 0x01be21f2, 0x012b1bce, 0x01206edf, 0x0019a661}}}, + {X: Field{[10]uint32{0x0340374e, 0x02558257, 0x006863d3, 0x035b094d, 0x0321faff, 0x0273e269, 0x00f1f0ff, 0x01794eea, 0x005db114, 0x000a0ffb}}, Y: Field{[10]uint32{0x0032fefe, 0x006fa0af, 0x02f77851, 0x000f3ce6, 0x0008846e, 0x01729ba6, 0x0268e5f6, 0x015439a3, 0x023774af, 0x001c2c04}}}, + {X: Field{[10]uint32{0x0152fa62, 0x02837ef7, 0x016daf54, 0x01e5dc3f, 0x00ebc735, 0x0239f6ff, 0x03bd249d, 0x00f3e904, 0x030a4f94, 0x000339d5}}, Y: Field{[10]uint32{0x0375d41d, 0x01be73a2, 0x013907c3, 0x02260f81, 0x00bd5e5b, 0x02e8e617, 0x005bdf98, 0x02573fee, 0x014bef46, 0x0038456c}}}, + {X: Field{[10]uint32{0x038fd470, 0x02529320, 0x02b15377, 0x0055d32f, 0x01df7903, 0x03646549, 0x029f648c, 0x03b0fc49, 0x0319c8f4, 0x001fa713}}, Y: Field{[10]uint32{0x00fa5270, 0x037d73ac, 0x013e9c86, 0x0236b5af, 0x0060fafa, 0x03447d20, 0x015d6ccb, 0x03d732a1, 0x03fe8cf5, 0x003a7676}}}, + {X: Field{[10]uint32{0x00cb001b, 0x01146d19, 0x03ec23bf, 0x0131c8a8, 0x010ba04f, 0x03c8c27e, 0x007f919d, 0x016ffa9f, 0x03e60d5d, 0x0038aa6e}}, Y: Field{[10]uint32{0x02393fb0, 0x004691e1, 0x03f16984, 0x024741a9, 0x03d1925b, 0x039cb2dd, 0x0125bd67, 0x01ab1de2, 0x00e1c3cd, 0x003905df}}}, + {X: Field{[10]uint32{0x01271012, 0x0264009d, 0x00265e70, 0x006c5563, 0x00f55e64, 0x00aa5264, 0x03bf37d4, 0x03bd4390, 0x02a43e17, 0x00141144}}, Y: Field{[10]uint32{0x021ed18b, 0x029274b9, 0x0381b742, 0x02e5a265, 0x011f21c4, 0x02387cb3, 0x00b1f41e, 0x00eb3cb5, 0x03d857ba, 0x00255297}}}, + {X: Field{[10]uint32{0x005f850d, 0x032fa1ca, 0x03411cd5, 0x036285ec, 0x01859945, 0x029cb1c8, 0x02d1d51b, 0x00c97d2c, 0x0013a6bb, 0x0020747c}}, Y: Field{[10]uint32{0x00937193, 0x012f3177, 0x0071adce, 0x0127535c, 0x01259d3d, 0x0262c816, 0x01fe2492, 0x002154ec, 0x03b1f0c3, 0x000b574b}}}, + {X: Field{[10]uint32{0x01895022, 0x00ce0f47, 0x0387ca73, 0x0050528e, 0x01d90dd5, 0x0399b0cf, 0x02872767, 0x02099862, 0x02dfc1d2, 0x0016d9b0}}, Y: Field{[10]uint32{0x0154e0ff, 0x02d51cb5, 0x00f5449e, 0x03684b63, 0x0327fcae, 0x0101fa61, 0x017267b7, 0x0255a488, 0x038e3818, 0x0026f405}}}, + {X: Field{[10]uint32{0x00381186, 0x03e1a208, 0x00597afa, 0x0366bd63, 0x0399b583, 0x036ffe2a, 0x012d544b, 0x0178e36f, 0x030e98ec, 0x002bad7d}}, Y: Field{[10]uint32{0x0184427b, 0x02b705cd, 0x01a052e7, 0x01cc3cbd, 0x01691b09, 0x00cdb908, 0x00b76929, 0x029c37c2, 0x02b0d25c, 0x001862f5}}}, + {X: Field{[10]uint32{0x0105052e, 0x02a60849, 0x0353a707, 0x0329dab5, 0x02557679, 0x01ea700a, 0x0361e3c6, 0x0250ee11, 0x02ffe841, 0x0002ca27}}, Y: Field{[10]uint32{0x0079992c, 0x02e743fa, 0x01e330cf, 0x00e17974, 0x00530ed7, 0x0318920b, 0x034f895d, 0x018aa14e, 0x01f0c218, 0x0001ea60}}}, + {X: Field{[10]uint32{0x0219291c, 0x02f4d5bd, 0x01200f81, 0x005f9138, 0x003f5859, 0x03f4a0a2, 0x00c8360c, 0x006679ac, 0x01458b12, 0x002aeb8e}}, Y: Field{[10]uint32{0x01753f28, 0x02dd7bed, 0x02934233, 0x02ded99f, 0x000b2a81, 0x011a6c1a, 0x03be30b2, 0x01a717a0, 0x03cdb3d0, 0x002b6c8e}}}, + {X: Field{[10]uint32{0x01fbacaa, 0x02720255, 0x03013941, 0x02323646, 0x011e0f65, 0x0063aca7, 0x02c224a5, 0x01696a06, 0x03a6485b, 0x0012a560}}, Y: Field{[10]uint32{0x00e8dbca, 0x00558c6d, 0x037decea, 0x00466dec, 0x00803ecf, 0x01dda36d, 0x02375a8a, 0x010bd7b7, 0x009ee3c8, 0x0036000f}}}, + {X: Field{[10]uint32{0x00ebc169, 0x00404084, 0x017ae3a2, 0x0305183c, 0x02ea236a, 0x012ac367, 0x03cf4654, 0x03df2d97, 0x030edba6, 0x00354bd8}}, Y: Field{[10]uint32{0x030d26d0, 0x0304f84d, 0x003d9145, 0x003106f2, 0x0368e21a, 0x02801714, 0x01bea50d, 0x00ee20f9, 0x03489fa9, 0x00084555}}}, + {X: Field{[10]uint32{0x02dd6a4d, 0x00384826, 0x029bf8d1, 0x018cd6f2, 0x01c74a2a, 0x00b9307a, 0x0050fc05, 0x016163d7, 0x023782c7, 0x0002f714}}, Y: Field{[10]uint32{0x0034f189, 0x01010d9a, 0x0323e585, 0x00ef0755, 0x0312ff02, 0x02fd4a74, 0x014efbaf, 0x01d9a388, 0x01f87463, 0x002aec76}}}, + {X: Field{[10]uint32{0x019ad087, 0x038244b9, 0x00e8626e, 0x005a3c4f, 0x0288156d, 0x03ad859e, 0x0364e476, 0x02aae0ee, 0x02338bf0, 0x00111dc2}}, Y: Field{[10]uint32{0x0360a55c, 0x0170cf7b, 0x01b99c96, 0x008edca4, 0x036a3abd, 0x030b5915, 0x0393a895, 0x0102f2cc, 0x00f12e9c, 0x0016d64c}}}, + {X: Field{[10]uint32{0x015e1679, 0x00b64914, 0x021c83e3, 0x02363ba3, 0x02650310, 0x00f8d99c, 0x01ac2032, 0x012bb8c6, 0x03322e40, 0x002c579e}}, Y: Field{[10]uint32{0x01997e7a, 0x00f3abcf, 0x03d57a87, 0x00961cd1, 0x005ced5c, 0x001e5bd4, 0x002ed565, 0x02ca457e, 0x00190bbf, 0x001491aa}}}, + {X: Field{[10]uint32{0x01b00f22, 0x02f66bb7, 0x0019027b, 0x00235781, 0x01665ae1, 0x0287077e, 0x0050f758, 0x017343cb, 0x01570522, 0x00287b5d}}, Y: Field{[10]uint32{0x02791ee2, 0x0049dd9a, 0x001a13d2, 0x001024ca, 0x02d71dbd, 0x02143b40, 0x017e7464, 0x021d21ee, 0x005dad9f, 0x000f20c5}}}, + {X: Field{[10]uint32{0x01918af5, 0x022becc7, 0x037a23cf, 0x032708e8, 0x03479e9e, 0x03181603, 0x03fc43c2, 0x03183f66, 0x03616a1b, 0x003a2abc}}, Y: Field{[10]uint32{0x0279827c, 0x02dbc9e7, 0x03d3ec89, 0x000e96b0, 0x009ab9c3, 0x02e68356, 0x0141041a, 0x0319c9f8, 0x03b64a37, 0x001b39a4}}}, + {X: Field{[10]uint32{0x014c20a3, 0x00ea8dc1, 0x01b76c5a, 0x010ce28f, 0x020759c0, 0x0061e9b5, 0x024a4ef6, 0x01798d4a, 0x00cd2c85, 0x001771be}}, Y: Field{[10]uint32{0x026f4838, 0x01c05193, 0x03f0fbb8, 0x03d4b9a9, 0x000fe9f5, 0x0307620d, 0x031d1bc7, 0x02a6a359, 0x03428593, 0x003d80b0}}}, + {X: Field{[10]uint32{0x0342f3a6, 0x0281f2da, 0x0326a5f1, 0x0081186b, 0x00f65636, 0x00aa9227, 0x02063ef2, 0x0362bda2, 0x031167be, 0x0018cc9c}}, Y: Field{[10]uint32{0x034424a6, 0x0032e06d, 0x01f1a3ea, 0x00026a46, 0x02bf94a7, 0x01874f95, 0x00ca0367, 0x004c83c8, 0x03b22070, 0x002e3df0}}}, + {X: Field{[10]uint32{0x00080263, 0x008c3e52, 0x020d3535, 0x002b5e62, 0x03ad66e5, 0x03a19536, 0x005c2017, 0x00ece08c, 0x01259a39, 0x00229036}}, Y: Field{[10]uint32{0x019fcaff, 0x02d747e7, 0x01d6f6a7, 0x03326a69, 0x0143f9cb, 0x031985b4, 0x03f703a5, 0x01153b75, 0x034d9849, 0x002beda9}}}, + {X: Field{[10]uint32{0x0078645a, 0x037abe08, 0x0317dcdf, 0x022f3082, 0x02a6a02c, 0x02816df7, 0x017fd3f9, 0x01082bd4, 0x010727c7, 0x0039c51c}}, Y: Field{[10]uint32{0x0217daca, 0x00513ad0, 0x03055eaa, 0x02809606, 0x01a3561b, 0x025ac13e, 0x01d5dcdc, 0x03a753fb, 0x03cbc1ed, 0x00369f59}}}, + {X: Field{[10]uint32{0x0261c82d, 0x007da725, 0x026c0cae, 0x03a24700, 0x029922bc, 0x014e54b0, 0x0242a685, 0x02e1e007, 0x011cd95f, 0x00184c4a}}, Y: Field{[10]uint32{0x0130bf01, 0x03f0410b, 0x03b89384, 0x01e44dcc, 0x0042b894, 0x02b98cae, 0x014f9898, 0x00bf5167, 0x001c1334, 0x00058387}}}, + {X: Field{[10]uint32{0x01ca4951, 0x00af3c74, 0x003bfb78, 0x02a76940, 0x02fc5e2a, 0x01e22027, 0x029bfa81, 0x011a4b42, 0x0045b676, 0x0012f13e}}, Y: Field{[10]uint32{0x00b751f0, 0x03103f04, 0x0383cefd, 0x0315fec5, 0x0164c4a7, 0x029dbb01, 0x03055ff3, 0x0349538e, 0x01cbb9c3, 0x0021c24b}}}, + {X: Field{[10]uint32{0x02be67df, 0x039bb2a8, 0x0201f698, 0x017560a8, 0x0052865b, 0x02617cd9, 0x039bff5c, 0x03a77ca7, 0x00a27bbe, 0x00116a20}}, Y: Field{[10]uint32{0x0055fabb, 0x00cae8de, 0x00eb6131, 0x01ae3ba5, 0x02a831d4, 0x02af5643, 0x0279714d, 0x01afc7bd, 0x02a8b5e4, 0x003f9269}}}, + {X: Field{[10]uint32{0x02f4f2a4, 0x03c68352, 0x000d3f21, 0x0256c854, 0x01877e54, 0x00805174, 0x016847a2, 0x00321993, 0x0238317c, 0x001aa09a}}, Y: Field{[10]uint32{0x005f4513, 0x0117e1f8, 0x0322c154, 0x002ef081, 0x02f6b83f, 0x01b9ad1e, 0x02f14e0e, 0x02098f7c, 0x014efcc9, 0x00114865}}}, + {X: Field{[10]uint32{0x026a23a9, 0x03a28d0d, 0x0075f613, 0x0379f1b3, 0x028bd860, 0x0277395c, 0x008aa1b0, 0x03dfa5b3, 0x0106f255, 0x00054d59}}, Y: Field{[10]uint32{0x00110bf3, 0x014ec700, 0x034cee3e, 0x02d38d8a, 0x03122f37, 0x03e26977, 0x01e401f1, 0x03521435, 0x03bcd744, 0x0033456a}}}, + {X: Field{[10]uint32{0x02b89b91, 0x0387283c, 0x0043a2b5, 0x02973299, 0x00cacff3, 0x00b6b0bb, 0x00651780, 0x027d7dae, 0x02aef53d, 0x003cef04}}, Y: Field{[10]uint32{0x00e00957, 0x03294246, 0x03131368, 0x017fc91f, 0x01303e91, 0x0281cdeb, 0x03d0f367, 0x0047c907, 0x036beb2e, 0x0033f534}}}, + {X: Field{[10]uint32{0x035c0fd4, 0x00a0a5cc, 0x033736f7, 0x03bd6114, 0x0122320b, 0x02ce1d92, 0x0226ef18, 0x0294dbde, 0x006dfa04, 0x001f8f23}}, Y: Field{[10]uint32{0x01f7c189, 0x01c4a134, 0x03fe9155, 0x01362339, 0x02b6a129, 0x000f008d, 0x032400b3, 0x00cdb4cc, 0x02b532a7, 0x001cba85}}}, + {X: Field{[10]uint32{0x010369d8, 0x0111822b, 0x03223d88, 0x026f5b85, 0x026943ab, 0x0214557f, 0x021c696d, 0x017f0b05, 0x03cfa057, 0x0006632f}}, Y: Field{[10]uint32{0x013cf7ae, 0x01cac985, 0x006c2f29, 0x025209e9, 0x03032159, 0x039ee8b9, 0x019fe0ef, 0x00908af9, 0x028b3095, 0x00357989}}}, + {X: Field{[10]uint32{0x03b0e5e8, 0x02c4d42b, 0x01fd63ae, 0x02a9e02c, 0x015a147c, 0x00226e43, 0x0183c089, 0x03cd6888, 0x0289b68c, 0x0007815b}}, Y: Field{[10]uint32{0x003f32b9, 0x0011cae5, 0x008379f8, 0x00e431be, 0x003e258a, 0x01b505bd, 0x02d6ff38, 0x01315f76, 0x0053abc4, 0x002e0905}}}, + {X: Field{[10]uint32{0x02faaa21, 0x031ca79c, 0x018fb3fa, 0x011339fe, 0x03d81081, 0x02991b51, 0x0173b2f1, 0x01f9fa98, 0x01748d82, 0x00371ffe}}, Y: Field{[10]uint32{0x030c4914, 0x00b9ffb9, 0x02a1aaaf, 0x001c51b6, 0x013e3d5f, 0x01105f1c, 0x038e1c5c, 0x01bc3ff2, 0x005aef4c, 0x00307f6b}}}, + {X: Field{[10]uint32{0x03d28e79, 0x027686cb, 0x00ec29a9, 0x03c2fe3e, 0x0036b2ef, 0x0337ef12, 0x0354bc11, 0x00781c14, 0x02fcc498, 0x001c6e57}}, Y: Field{[10]uint32{0x03d684cc, 0x010b31bb, 0x03fa30af, 0x02c269cd, 0x011f3695, 0x00faef14, 0x004752cc, 0x01abbb0c, 0x01976fad, 0x003f568c}}}, + {X: Field{[10]uint32{0x02542b3a, 0x01a20eb7, 0x004ae687, 0x008625c1, 0x03f6b961, 0x0096eea0, 0x033e8ffa, 0x00af5b27, 0x00af29dc, 0x0010e153}}, Y: Field{[10]uint32{0x009c6c81, 0x02d1200f, 0x03f36fd8, 0x02957072, 0x0034c5c9, 0x02893d56, 0x01e31677, 0x018cbe37, 0x01760897, 0x00158d94}}}, + {X: Field{[10]uint32{0x0027b222, 0x00bb3cb5, 0x0396145c, 0x0243ee1d, 0x00b6eff9, 0x0357f421, 0x00c9b730, 0x027e71c2, 0x0217090e, 0x0000ab7f}}, Y: Field{[10]uint32{0x03abd7ed, 0x01b66d14, 0x010cd4c8, 0x008301a5, 0x02c44398, 0x0334a244, 0x00ae425c, 0x0367188b, 0x01605d6d, 0x002d738c}}}, + {X: Field{[10]uint32{0x03a9d6f9, 0x038fa089, 0x00620471, 0x0152b8cf, 0x0209f70c, 0x02cffcc6, 0x033a5343, 0x02bcc456, 0x012c2b7e, 0x002848d1}}, Y: Field{[10]uint32{0x01e3b4eb, 0x0053337b, 0x0396e8fa, 0x029bdde7, 0x03f53e37, 0x03f15179, 0x008194aa, 0x007d10de, 0x008378a7, 0x0024cf4d}}}, + {X: Field{[10]uint32{0x02c0a6ab, 0x01b8cb33, 0x00a603d0, 0x02b9f7b3, 0x03aab166, 0x004d21cd, 0x00152176, 0x016a061b, 0x03c2ca99, 0x0026e268}}, Y: Field{[10]uint32{0x03731232, 0x02a322b9, 0x0141480b, 0x034150ed, 0x03cbea83, 0x0092b020, 0x03c48302, 0x012c4af5, 0x0301a872, 0x000a9f4d}}}, + {X: Field{[10]uint32{0x01e9e9b2, 0x01e59184, 0x032edc90, 0x00ce7b62, 0x03384b04, 0x031149ca, 0x022b9a0d, 0x035ce423, 0x0057e7d9, 0x0019375d}}, Y: Field{[10]uint32{0x023c470e, 0x00a430e0, 0x03885b29, 0x031de03b, 0x014e311d, 0x019a6626, 0x0208a723, 0x03b85bb5, 0x00aae214, 0x003aa43e}}}, + {X: Field{[10]uint32{0x03a2176c, 0x015d9f5b, 0x0150a6b3, 0x010871fd, 0x0320abba, 0x03adc721, 0x027fd714, 0x01f1af4c, 0x0031be60, 0x0016489d}}, Y: Field{[10]uint32{0x0061d598, 0x01449712, 0x03d0b870, 0x02c4b254, 0x00796da2, 0x00f3cfce, 0x03d289ea, 0x01549d96, 0x01c4071c, 0x0032dd5c}}}, + {X: Field{[10]uint32{0x015fe2c2, 0x0041bbde, 0x03bdc8c5, 0x00229c8d, 0x03843b7d, 0x024dd0d8, 0x000ddf19, 0x01ba7872, 0x01cdadb2, 0x0014f5d9}}, Y: Field{[10]uint32{0x017c287b, 0x0269016b, 0x000bec98, 0x00ec4a29, 0x00a66d4f, 0x01351454, 0x0187f819, 0x025ceddb, 0x0198eb39, 0x001eeeec}}}, + {X: Field{[10]uint32{0x03bb66af, 0x02d46695, 0x03fc16d7, 0x02426d9b, 0x010452ee, 0x03d7fdb0, 0x03a989c0, 0x00efcd48, 0x029ec16b, 0x003941f7}}, Y: Field{[10]uint32{0x03f7892a, 0x014078a3, 0x0195259a, 0x03401320, 0x0251b6d3, 0x022566b4, 0x008b3950, 0x0379b8f7, 0x002a8272, 0x0028bcbc}}}, + {X: Field{[10]uint32{0x01b4a6f2, 0x027260ce, 0x03983556, 0x01db8a95, 0x0265601d, 0x027d82de, 0x0103b8cb, 0x013eca06, 0x00c60eb8, 0x00005bd2}}, Y: Field{[10]uint32{0x0132b289, 0x023d40f7, 0x016a441d, 0x00a43d25, 0x03d827b6, 0x02dbbd13, 0x031e75d5, 0x01a0759b, 0x03848398, 0x002184ee}}}, + {X: Field{[10]uint32{0x01446056, 0x02d8ce78, 0x03af90ca, 0x00e0a8ec, 0x010bb98e, 0x00f44b61, 0x00b51323, 0x01978c9c, 0x01ae7742, 0x0019411c}}, Y: Field{[10]uint32{0x01a50306, 0x009c92a9, 0x03cda4e6, 0x00c85765, 0x01187b40, 0x00d670ce, 0x0290a62d, 0x01bf9b2b, 0x039334aa, 0x0020e39d}}}, + {X: Field{[10]uint32{0x0021dda8, 0x02ab0aaf, 0x00821559, 0x0287f5eb, 0x02348d1b, 0x026097eb, 0x010e19d6, 0x01613f32, 0x0016fa34, 0x000577a9}}, Y: Field{[10]uint32{0x00433047, 0x01c090ea, 0x01c15d40, 0x03d7517e, 0x00010fa5, 0x012f44c1, 0x012a3d28, 0x0339a3b8, 0x03f21e19, 0x00007f2a}}}, + {X: Field{[10]uint32{0x005b46e2, 0x032e81ec, 0x00751dc5, 0x001ed3df, 0x02ee9d6a, 0x00d5ee91, 0x03900878, 0x01c3b4f6, 0x00954f1f, 0x002d0ac9}}, Y: Field{[10]uint32{0x0169ed71, 0x0065a802, 0x03ec69f9, 0x02d31546, 0x034851f5, 0x00110f18, 0x0328d6da, 0x036f9b5b, 0x03eb0e0b, 0x003855c8}}}, + {X: Field{[10]uint32{0x00230f83, 0x03f15ff0, 0x00960a17, 0x01fa3894, 0x006ab10b, 0x03b26d18, 0x02b1125d, 0x02b0c476, 0x00f5c6ae, 0x00023a79}}, Y: Field{[10]uint32{0x03959ab2, 0x01db4c6a, 0x03dee645, 0x00d358a1, 0x03f1e32c, 0x0016899f, 0x03d4e53a, 0x02ede5e2, 0x0211c79f, 0x003fec38}}}, + {X: Field{[10]uint32{0x03e1ac2e, 0x0127fa4f, 0x03528295, 0x0207e012, 0x03d6f2bb, 0x0353542f, 0x027fb63b, 0x012dce18, 0x032373bd, 0x0021ef9c}}, Y: Field{[10]uint32{0x0294e1a4, 0x01087e1f, 0x00288ce8, 0x01f5d589, 0x021ae553, 0x03038956, 0x00844b2e, 0x02e6d7ff, 0x006ff147, 0x003daa46}}}, + {X: Field{[10]uint32{0x019d60f7, 0x01c9f859, 0x02c95002, 0x019abcd2, 0x01d2cfd4, 0x01722493, 0x029514ab, 0x00e1d217, 0x0161c836, 0x0010d807}}, Y: Field{[10]uint32{0x03bc2c2a, 0x039d6d60, 0x02b099a5, 0x00d999e7, 0x00113335, 0x02316eef, 0x028034b8, 0x032536cc, 0x00007c09, 0x0021e470}}}, + {X: Field{[10]uint32{0x02b49d0d, 0x02abe8ca, 0x020aca0d, 0x0250a895, 0x026902e3, 0x0299abe5, 0x01f0bcbb, 0x01c714d9, 0x0180f830, 0x000d06c5}}, Y: Field{[10]uint32{0x00877b20, 0x00d38519, 0x01d941c0, 0x0386e840, 0x037e8fdb, 0x0119271b, 0x03564d2d, 0x024099ff, 0x0313c549, 0x0012e616}}}, + {X: Field{[10]uint32{0x014dad95, 0x009c5c7c, 0x012eb576, 0x02a39592, 0x0033ac1a, 0x01e7ec55, 0x03181e2c, 0x00e90df1, 0x00b3ce4a, 0x0005d79f}}, Y: Field{[10]uint32{0x01135b0d, 0x0363f0a0, 0x01d9ce92, 0x01558f29, 0x02581301, 0x00da5bd0, 0x038703f9, 0x03d4bbf3, 0x01a87834, 0x000c7398}}}, + {X: Field{[10]uint32{0x007165ad, 0x0391704c, 0x03a98249, 0x02553202, 0x0089c1e4, 0x0328fb2b, 0x033c8482, 0x0071878e, 0x00cc64e6, 0x0016b50c}}, Y: Field{[10]uint32{0x0251c791, 0x033b3aa4, 0x03fbeac7, 0x01b86b08, 0x009ead5f, 0x016a2e17, 0x03ca083c, 0x004ef0c5, 0x0060505c, 0x002fa8a8}}}, + {X: Field{[10]uint32{0x01b8b837, 0x03fbe983, 0x009f28ae, 0x038f75f4, 0x01080f0c, 0x01fea130, 0x00602df0, 0x038c6262, 0x00d96dac, 0x00107738}}, Y: Field{[10]uint32{0x02827928, 0x03fe3434, 0x02e333cd, 0x0247e137, 0x02088500, 0x0154c8ed, 0x02635ea8, 0x01ba7225, 0x003fed9a, 0x001d258b}}}, + {X: Field{[10]uint32{0x01961bcc, 0x0330508e, 0x03e5ba23, 0x017810cb, 0x039aed2d, 0x00819d90, 0x03c1dc25, 0x01376840, 0x00988710, 0x00297bd1}}, Y: Field{[10]uint32{0x0122db3a, 0x02c3587c, 0x009f0696, 0x0099d96c, 0x02a165c5, 0x0194ee9e, 0x02ecc328, 0x038364f9, 0x003ea363, 0x00072f3e}}}, + {X: Field{[10]uint32{0x033a9d45, 0x015c8d7e, 0x01e626db, 0x00b8b5b5, 0x0218225f, 0x014a8b2f, 0x03df68b8, 0x01800ce2, 0x02ce9ad4, 0x0013689b}}, Y: Field{[10]uint32{0x01fae659, 0x037a427a, 0x029c73d3, 0x001b9ee8, 0x0061b0a8, 0x030f587d, 0x0210e2d1, 0x011aff31, 0x02637ab5, 0x003442d6}}}, + {X: Field{[10]uint32{0x018f4763, 0x03b71a7e, 0x0111129d, 0x0214479a, 0x03e9d955, 0x0286693d, 0x00d8eb16, 0x01023922, 0x026f53d2, 0x001b9887}}, Y: Field{[10]uint32{0x00ea1a19, 0x017f540f, 0x0048e4bb, 0x00b2d4b1, 0x007b945a, 0x00d0b1ef, 0x01ad4779, 0x02c4c4d0, 0x02f273e1, 0x001ec523}}}, + {X: Field{[10]uint32{0x038be83b, 0x01553549, 0x02ab6da4, 0x002a3c20, 0x0066bae2, 0x028e56a4, 0x017ea758, 0x01d1a66d, 0x03645bed, 0x003aebd5}}, Y: Field{[10]uint32{0x03cfbba7, 0x02ae782f, 0x02028650, 0x01298049, 0x02d91631, 0x0227b8f9, 0x029ea943, 0x00c0cd78, 0x00e06c65, 0x001611fd}}}, + {X: Field{[10]uint32{0x0310182f, 0x03fd8d4c, 0x0017a6a6, 0x028450e3, 0x02faa38c, 0x014ac574, 0x0355dbf0, 0x018cb492, 0x0271711b, 0x00303e22}}, Y: Field{[10]uint32{0x010676ff, 0x027913b3, 0x012481c5, 0x02605069, 0x03fb2e98, 0x002020be, 0x0211eec4, 0x01c08619, 0x014d16c0, 0x000b2feb}}}, + {X: Field{[10]uint32{0x035c6350, 0x00a1ec16, 0x00ae01b5, 0x02dcf3dc, 0x02dc1cdd, 0x018a48b1, 0x0244fbf2, 0x02526318, 0x001884b7, 0x001766db}}, Y: Field{[10]uint32{0x017fdf1d, 0x0144431f, 0x0297e5e8, 0x02316dab, 0x0118db17, 0x02d53321, 0x03e1644b, 0x0058b12a, 0x031d2f2b, 0x000ca3a0}}}, + {X: Field{[10]uint32{0x0202e21c, 0x03127c13, 0x00016654, 0x02555641, 0x03e57d75, 0x008e94ed, 0x03214c63, 0x01b9a753, 0x020f37ed, 0x0034744d}}, Y: Field{[10]uint32{0x01d15e4e, 0x007ce51b, 0x02b6a152, 0x0351b248, 0x006eba68, 0x002a2c40, 0x01594144, 0x02d4fe51, 0x0293c6c9, 0x00189fba}}}, + {X: Field{[10]uint32{0x02411731, 0x01a732fb, 0x00703e49, 0x020d959d, 0x02ace29a, 0x01ec6cac, 0x02cfa189, 0x00ebd562, 0x03cbf102, 0x003bf261}}, Y: Field{[10]uint32{0x01740c69, 0x026f10bd, 0x01dbbe15, 0x03f27d59, 0x02e38242, 0x02f3bd0c, 0x02429863, 0x002fb1c5, 0x0265d379, 0x0006569a}}}, + {X: Field{[10]uint32{0x00284ff0, 0x0243ea86, 0x02b01310, 0x01ee0fbd, 0x00968d1d, 0x00e19120, 0x0388b787, 0x03cef586, 0x0397163d, 0x003cc09a}}, Y: Field{[10]uint32{0x0211509b, 0x015ab06d, 0x030e9a6c, 0x01321359, 0x035f8764, 0x0167c1bf, 0x0281615d, 0x018eaefc, 0x02616823, 0x0005df0e}}}, + {X: Field{[10]uint32{0x002c5873, 0x0082435a, 0x0030b562, 0x03e5a3fe, 0x020deeec, 0x03273fd1, 0x02c92c68, 0x016da64a, 0x035f123b, 0x00174d3f}}, Y: Field{[10]uint32{0x01955ac8, 0x02d989b1, 0x02ff3d49, 0x03ea03e2, 0x0025443e, 0x023ac586, 0x0204df14, 0x0281950c, 0x039c8eab, 0x000b4682}}}, + {X: Field{[10]uint32{0x028447f4, 0x019ca011, 0x030bbdac, 0x0074c6a6, 0x00e0ee59, 0x010c2332, 0x01da0658, 0x01491f0e, 0x021794a9, 0x0032fe6e}}, Y: Field{[10]uint32{0x00461736, 0x009e5ab4, 0x005381b8, 0x0075d3c0, 0x03405810, 0x00d044b4, 0x025fade9, 0x02ba8408, 0x00c310fe, 0x001526c6}}}, + {X: Field{[10]uint32{0x03dcd31f, 0x032b3531, 0x03a5379a, 0x02e0da35, 0x008e7747, 0x015e9cd1, 0x01982a6b, 0x00986efd, 0x01ba09e2, 0x0024825d}}, Y: Field{[10]uint32{0x00b46dbd, 0x039d8e2b, 0x03dcb434, 0x012f5516, 0x016367d2, 0x0255040c, 0x0221f5ae, 0x01543424, 0x010881af, 0x003a5781}}}, + {X: Field{[10]uint32{0x03eeca64, 0x033c4c81, 0x000ff33f, 0x0048ef06, 0x00391323, 0x02d3c974, 0x02cdce82, 0x02d57649, 0x02e46fdc, 0x002056ca}}, Y: Field{[10]uint32{0x01b8c971, 0x022d3f92, 0x01512c96, 0x021d57c9, 0x0199285b, 0x0194462e, 0x01e2e268, 0x018dd23c, 0x03c67d88, 0x0018bd8d}}}, + {X: Field{[10]uint32{0x03e0b16e, 0x00f1153d, 0x019260de, 0x0097688c, 0x0227ca80, 0x02934e1f, 0x02a86397, 0x0352e8c3, 0x02c28e28, 0x0006ee69}}, Y: Field{[10]uint32{0x00d7ab93, 0x03bf1277, 0x01a94f56, 0x0355040d, 0x03206349, 0x031f8051, 0x004265ea, 0x005c7206, 0x00165e32, 0x002832f0}}}, + {X: Field{[10]uint32{0x0268bc22, 0x00cdf1b6, 0x00c3d34d, 0x02e9e3ad, 0x019c05a4, 0x03789e3c, 0x019d29dd, 0x020faac2, 0x03fedffd, 0x001bc054}}, Y: Field{[10]uint32{0x03f0c626, 0x00147e79, 0x02f824d5, 0x019c3838, 0x039fc499, 0x0288c7ca, 0x00041d3a, 0x00fe167d, 0x000d3501, 0x00294cb4}}}, + {X: Field{[10]uint32{0x0320258a, 0x032dea46, 0x028552e9, 0x039b1b6b, 0x02ed23e5, 0x006fd556, 0x000d3847, 0x01de9034, 0x033b3bee, 0x000d153d}}, Y: Field{[10]uint32{0x00d18dde, 0x023e54b6, 0x0128f23a, 0x00e8fd03, 0x03992683, 0x01af7b70, 0x025bcaa0, 0x007a3cff, 0x0046cfdf, 0x0024b082}}}, + {X: Field{[10]uint32{0x030e9a86, 0x024c5f08, 0x01f02fc5, 0x021903b7, 0x001dfcf6, 0x0354a00c, 0x00c2616a, 0x01ad386e, 0x03c9a360, 0x000d9e01}}, Y: Field{[10]uint32{0x016ecae6, 0x012904b0, 0x01a14830, 0x00bc00a0, 0x03fdc4f9, 0x00902572, 0x01ba14c1, 0x03b39c0f, 0x032fa2bb, 0x0007c08f}}}, + {X: Field{[10]uint32{0x001af62b, 0x02965048, 0x00909acb, 0x0105d7f1, 0x0101b825, 0x03112e05, 0x034e06f0, 0x03dabc4d, 0x01c39891, 0x0023b13f}}, Y: Field{[10]uint32{0x034e5f1b, 0x015b3dfb, 0x01751137, 0x033d7f0a, 0x00fe067b, 0x00f1e63e, 0x01ca0e50, 0x03621e0f, 0x02e5cac2, 0x000b71b2}}}, + {X: Field{[10]uint32{0x0178a263, 0x026c1aa4, 0x03842872, 0x014546e2, 0x03ffa085, 0x017ea4df, 0x0142f91e, 0x0093e451, 0x026d4c5b, 0x00173092}}, Y: Field{[10]uint32{0x037da472, 0x027573fe, 0x00b98da1, 0x02a0f76f, 0x02ca8d55, 0x0067e87f, 0x0338a4e4, 0x00687efe, 0x02358153, 0x002c76a1}}}, + {X: Field{[10]uint32{0x03599e9f, 0x013f1378, 0x02a21913, 0x01414314, 0x0292602a, 0x02a04374, 0x0244a6cd, 0x00170ea5, 0x0126c039, 0x0020e416}}, Y: Field{[10]uint32{0x0246089a, 0x0038315e, 0x01e16cf2, 0x022c8767, 0x00909429, 0x02a0dd8e, 0x00b115ea, 0x019e4a88, 0x020fe8af, 0x0010a4c9}}}, + {X: Field{[10]uint32{0x0189b6c7, 0x02ca6159, 0x00822481, 0x0050d2b9, 0x02e8fa6c, 0x034e1e3e, 0x0204ac30, 0x03a777e0, 0x017e4721, 0x002512c2}}, Y: Field{[10]uint32{0x03d6ddf6, 0x03d2e5a6, 0x00e8ee8a, 0x013011d9, 0x011525bd, 0x039d16e6, 0x03796431, 0x02c257e2, 0x016530e9, 0x0017f11d}}}, + {X: Field{[10]uint32{0x0023b73d, 0x017aefcd, 0x0030107b, 0x00797ea4, 0x0117327a, 0x018e9ccc, 0x00aaf04a, 0x0304d387, 0x023fcfb7, 0x002ac2d2}}, Y: Field{[10]uint32{0x0296c9da, 0x00efc6b3, 0x00781376, 0x034de170, 0x02b84944, 0x02bb334e, 0x038c92cf, 0x02ea2b35, 0x0263a5bb, 0x003879e4}}}, + {X: Field{[10]uint32{0x03e8b85f, 0x00f7fb83, 0x010bcf80, 0x0361efc2, 0x031aa2c3, 0x0168b939, 0x03f7fbf0, 0x00ac3bde, 0x00b5220f, 0x0015e8d1}}, Y: Field{[10]uint32{0x01a7d04e, 0x0398e6ec, 0x00f10576, 0x00f059e3, 0x01a9e11a, 0x00e9caa5, 0x00c9f135, 0x02588392, 0x010e08ef, 0x003e0adf}}}, + {X: Field{[10]uint32{0x00d81ac5, 0x02498ff2, 0x0188da1a, 0x025bb118, 0x033608e3, 0x033c3d3f, 0x038c4c95, 0x01f13147, 0x021a800b, 0x001b814f}}, Y: Field{[10]uint32{0x015e7473, 0x0363124e, 0x03dbadc3, 0x01e5c80b, 0x0362e365, 0x03390a30, 0x035384ff, 0x008f2786, 0x0298e3c8, 0x00218e27}}}, + {X: Field{[10]uint32{0x02485cb7, 0x03ab8973, 0x03f1c59d, 0x03b1fc20, 0x0148a289, 0x0159ed51, 0x00d4a7c7, 0x01c5fecc, 0x00061804, 0x0018b5d9}}, Y: Field{[10]uint32{0x0268be84, 0x03f2506d, 0x020fc4ca, 0x00b6989a, 0x03d1509b, 0x011c3ed4, 0x031d57b9, 0x007e3614, 0x014b661d, 0x003c758c}}}, + {X: Field{[10]uint32{0x0129250f, 0x011fcc77, 0x006589e3, 0x00020b4d, 0x025c4d08, 0x02f49126, 0x00cf1080, 0x02caaa0c, 0x00f2219f, 0x003976ca}}, Y: Field{[10]uint32{0x008bd453, 0x023f9a22, 0x00b248e5, 0x034bcd7e, 0x03324fcf, 0x02b512db, 0x03b7012e, 0x01f756e8, 0x024632f9, 0x0030a5b9}}}, + {X: Field{[10]uint32{0x01b32729, 0x02057c42, 0x00ab23fe, 0x026f0a65, 0x03733ec8, 0x03ffe0c7, 0x013177c9, 0x00379229, 0x03e9a3d0, 0x0011c96c}}, Y: Field{[10]uint32{0x01f8e778, 0x0279a26e, 0x02e12d4a, 0x0334a5e7, 0x02324127, 0x0120aed4, 0x01fdb741, 0x03003c51, 0x0347de38, 0x002b0edd}}}, + {X: Field{[10]uint32{0x01d72b3e, 0x0278d190, 0x00569bbe, 0x017a9db8, 0x03b036b6, 0x0004f8d1, 0x00ed9187, 0x01cb9ce5, 0x03b6492c, 0x003434eb}}, Y: Field{[10]uint32{0x0202fef3, 0x010bede3, 0x03f1396f, 0x002c0bd8, 0x00bd952b, 0x0028a158, 0x0061caa0, 0x03f81d4c, 0x005b94aa, 0x000b74e9}}}, + {X: Field{[10]uint32{0x0304632c, 0x0241a3f0, 0x00b4c786, 0x03b73d2d, 0x03104143, 0x0092b3fc, 0x0385654a, 0x03215e5e, 0x0335d717, 0x001e14f9}}, Y: Field{[10]uint32{0x021efadd, 0x00d4d577, 0x00e69cb5, 0x0068524e, 0x02bae3a3, 0x01680a48, 0x0377a8fb, 0x03452b09, 0x03d9e70f, 0x00002a1c}}}, + {X: Field{[10]uint32{0x02e904a4, 0x02778ce3, 0x032ca778, 0x0325fe75, 0x02ee44e2, 0x013248d5, 0x021a01a1, 0x0371644e, 0x02b37d4f, 0x0001b6c9}}, Y: Field{[10]uint32{0x031941fb, 0x00a2ba58, 0x01b6854a, 0x02498e1a, 0x02d8adf7, 0x02612712, 0x001c409e, 0x028330a3, 0x0225bf2b, 0x00053f88}}}, + {X: Field{[10]uint32{0x032848df, 0x028bbe3a, 0x00ce699a, 0x003d8ea7, 0x02538e40, 0x01a7e90f, 0x02f7f5c6, 0x02bcf02c, 0x0069bb98, 0x002d4bc2}}, Y: Field{[10]uint32{0x0107be5a, 0x005b85e2, 0x03858bb6, 0x02329dbe, 0x028b821c, 0x00395eda, 0x03378cca, 0x01152b9e, 0x032455bc, 0x0009159a}}}, + {X: Field{[10]uint32{0x0197b448, 0x007e4e80, 0x037e4c1e, 0x03004e13, 0x03234152, 0x01c3e9f0, 0x034a9e99, 0x02bc0fac, 0x01e11ee6, 0x00218537}}, Y: Field{[10]uint32{0x0372f3cc, 0x0134f31e, 0x02ba15e5, 0x015762e9, 0x024e5c7e, 0x008c3103, 0x0222b5ad, 0x01a1c0ae, 0x01a2ac99, 0x000a8449}}}, + {X: Field{[10]uint32{0x038c1cfa, 0x00824de4, 0x00ab2dbc, 0x03ad6743, 0x008b3308, 0x03c82f74, 0x0271c180, 0x01b96de3, 0x03ae625f, 0x00260a8d}}, Y: Field{[10]uint32{0x02a40d0c, 0x014c26ad, 0x017dc18e, 0x00af75b1, 0x032a689e, 0x02d41c2f, 0x01249e20, 0x0144a164, 0x016f00a6, 0x0019c7f8}}}, + {X: Field{[10]uint32{0x003e703a, 0x0068bf53, 0x01d9b408, 0x02bc8b2a, 0x00627a09, 0x0248c700, 0x019742fc, 0x020a73b2, 0x030526b4, 0x001afaa4}}, Y: Field{[10]uint32{0x019a6cc1, 0x00ac1652, 0x014832b0, 0x0043116f, 0x01d7541f, 0x00650f9a, 0x0344d14b, 0x01ed307c, 0x002a5451, 0x002bb150}}}, + {X: Field{[10]uint32{0x02583edb, 0x01ef4a65, 0x019200ba, 0x026481cc, 0x0054016a, 0x01b445ac, 0x00188b33, 0x0121f9f3, 0x03818694, 0x002d5c91}}, Y: Field{[10]uint32{0x03845cdc, 0x03d8a19d, 0x03ec6208, 0x02ced35f, 0x011d278f, 0x02f163ff, 0x018262de, 0x0292f4f5, 0x01861f80, 0x00172ef4}}}, + {X: Field{[10]uint32{0x017c5412, 0x03a78b66, 0x01bb62e0, 0x00d1c13b, 0x024df5a5, 0x022b14e4, 0x02f4f531, 0x003a45e1, 0x02627ba0, 0x003786b7}}, Y: Field{[10]uint32{0x022021e0, 0x03fba76b, 0x01a8e4bf, 0x039b8742, 0x03a9d003, 0x007019cf, 0x02dc15a4, 0x00efeff1, 0x02c50bf2, 0x001fbd21}}}, + {X: Field{[10]uint32{0x0398c0a0, 0x01b4dbcc, 0x0166dd47, 0x0262f004, 0x03337203, 0x02e03875, 0x01e465df, 0x0071067e, 0x017cb172, 0x000dce29}}, Y: Field{[10]uint32{0x030c22f5, 0x01529e2d, 0x00bfd118, 0x01b14a49, 0x0243df56, 0x03610e16, 0x028a629a, 0x02c5b5b4, 0x03b21662, 0x00387c96}}}, + {X: Field{[10]uint32{0x0281885d, 0x00001b9e, 0x02e37694, 0x02e2dd40, 0x021955fe, 0x0377db6a, 0x01575f12, 0x0048e6a1, 0x01c16b2a, 0x00132b88}}, Y: Field{[10]uint32{0x00dc99c3, 0x03d5972d, 0x019e237a, 0x026ca755, 0x0225fa2c, 0x020a0cac, 0x0271e89c, 0x0183609d, 0x00553886, 0x000abffa}}}, + {X: Field{[10]uint32{0x00c2bd7b, 0x00bebe37, 0x02039573, 0x03b86ea9, 0x0397bfa7, 0x016f30e9, 0x037cf558, 0x002f8db8, 0x021fba8a, 0x00131446}}, Y: Field{[10]uint32{0x025651af, 0x029172ac, 0x0372d8a6, 0x01a621f0, 0x03abb272, 0x02575a0c, 0x0000fd4a, 0x02affc8d, 0x03945c6b, 0x003a9a7d}}}, + {X: Field{[10]uint32{0x005a7e29, 0x0145e79d, 0x01f8320c, 0x012cae94, 0x02c2e4a4, 0x03a4db02, 0x007c25ad, 0x010dc098, 0x00c4323b, 0x00360476}}, Y: Field{[10]uint32{0x03c05345, 0x037652b9, 0x0293c3c4, 0x00fda7e7, 0x0346c6df, 0x02d2438e, 0x020aeabc, 0x011fe036, 0x00a217bf, 0x001bfe5c}}}, + {X: Field{[10]uint32{0x02c43eee, 0x03897985, 0x01b0b1ca, 0x02b87ec2, 0x0233db68, 0x004ed7fe, 0x01bbafdf, 0x02abff8e, 0x01d3b5e5, 0x000407ad}}, Y: Field{[10]uint32{0x02c5ddb3, 0x00698eae, 0x00f4a163, 0x00e4d383, 0x00a49709, 0x02c0c483, 0x03a1c96e, 0x01c96981, 0x01149867, 0x00275a95}}}, + {X: Field{[10]uint32{0x02480519, 0x0073e2dc, 0x03968de2, 0x01c3bfe3, 0x01ecdc7f, 0x018bfab4, 0x001f21f0, 0x03917f85, 0x0152b8dd, 0x00227ac4}}, Y: Field{[10]uint32{0x0297b447, 0x036c1f2d, 0x0195b41f, 0x02a18fef, 0x00cb6703, 0x00af11dc, 0x02c99d7f, 0x038f55a7, 0x03c43181, 0x003e28cd}}}, + {X: Field{[10]uint32{0x02d0dc16, 0x03a59366, 0x030cdbd1, 0x03ada379, 0x0149d95e, 0x0154066a, 0x03d8f1e4, 0x0291349c, 0x03f3f48e, 0x0014f58c}}, Y: Field{[10]uint32{0x011645fe, 0x03f4cef3, 0x023af48f, 0x03b923f9, 0x028e8ff4, 0x039b6df9, 0x03fe6f32, 0x033c6cfd, 0x0176964d, 0x0006c9bb}}}, + {X: Field{[10]uint32{0x00d9be6a, 0x023e57f6, 0x02d1a92f, 0x012e0e62, 0x006ce3db, 0x0273b6d9, 0x0294d26b, 0x00441966, 0x01104989, 0x0037841a}}, Y: Field{[10]uint32{0x02b43d32, 0x03644cd7, 0x03e7b5b9, 0x039b73e0, 0x008768a4, 0x008f5022, 0x00a3d06d, 0x0274595e, 0x0341dbd9, 0x0021d902}}}, + {X: Field{[10]uint32{0x02f5bea2, 0x005dcf1a, 0x023caf76, 0x01ed0685, 0x00cc6daa, 0x02027684, 0x0189a9a7, 0x038916b0, 0x026f0b9e, 0x00103b47}}, Y: Field{[10]uint32{0x00217b2e, 0x0330787f, 0x03adb50b, 0x00ba9c65, 0x0082bae8, 0x010c2b01, 0x02b7bdf1, 0x03ee69e3, 0x01017298, 0x003ffb45}}}, + {X: Field{[10]uint32{0x03ba15c1, 0x0046f599, 0x02dfaa3b, 0x028ca7c9, 0x001b7ab3, 0x03a94a73, 0x004d1719, 0x002e68de, 0x02ee59a2, 0x00157eaa}}, Y: Field{[10]uint32{0x002f4a65, 0x014f77c6, 0x0075c373, 0x00169f95, 0x000d7f28, 0x0391c197, 0x014771d8, 0x014f8d7b, 0x039b52ac, 0x002a7e24}}}, + {X: Field{[10]uint32{0x028af3fb, 0x02f40afe, 0x03ccba53, 0x001fc0d3, 0x00a95ac6, 0x01255b44, 0x000ca172, 0x0222bc86, 0x024e21cf, 0x002d4779}}, Y: Field{[10]uint32{0x03b7f81e, 0x02ce1b00, 0x01ac4878, 0x0066922c, 0x029b8400, 0x0399b129, 0x0399f1f6, 0x00bafd1a, 0x03701c65, 0x0005d766}}}, + {X: Field{[10]uint32{0x0307b143, 0x03e65ede, 0x00171556, 0x03a3361d, 0x007b8927, 0x00d9f3d0, 0x03235be9, 0x007a092e, 0x00dcbcd9, 0x001455ac}}, Y: Field{[10]uint32{0x00cc91dc, 0x03d2fe08, 0x018dec2a, 0x02432ec3, 0x01d40ada, 0x0049c05b, 0x01ded191, 0x0130ff99, 0x000fa29d, 0x0007515f}}}, + {X: Field{[10]uint32{0x016dd63d, 0x00476382, 0x02bcd00e, 0x0019e46d, 0x03f1993c, 0x02391069, 0x01fac558, 0x0125cc58, 0x0172060b, 0x000efd47}}, Y: Field{[10]uint32{0x00722d49, 0x02ba293d, 0x0312663e, 0x038abdd3, 0x0173e1e4, 0x03da6126, 0x023905dd, 0x02bf6ff1, 0x007090a7, 0x001ef1ad}}}, + {X: Field{[10]uint32{0x02d61fe5, 0x036dec26, 0x0205ad76, 0x03193eab, 0x0122fa74, 0x029bcb68, 0x014f4d3b, 0x02040845, 0x00912008, 0x0034a5c4}}, Y: Field{[10]uint32{0x028e3fc8, 0x0123dad8, 0x00156926, 0x01cd954a, 0x02bc33cb, 0x014708f0, 0x000cc141, 0x03cf23e5, 0x03aaf2cc, 0x001cd43a}}}, + {X: Field{[10]uint32{0x0368013d, 0x02d82a71, 0x0126c559, 0x01f88d05, 0x036d7a3b, 0x007ff4c2, 0x015a5202, 0x0044be89, 0x03ca8e17, 0x0030bb91}}, Y: Field{[10]uint32{0x03ece448, 0x0014058a, 0x0031a453, 0x002080a6, 0x0280d9ff, 0x036cec8e, 0x008e83be, 0x01fd6c77, 0x036bd83b, 0x000b9ba2}}}, + {X: Field{[10]uint32{0x0270b6cf, 0x016b6f4f, 0x03aaae47, 0x012d5876, 0x00c5ef44, 0x01b31300, 0x00da39e9, 0x03383678, 0x00d69ddc, 0x00156666}}, Y: Field{[10]uint32{0x00ffb328, 0x014d308d, 0x03ac525c, 0x01cc6bcb, 0x00cf0f31, 0x02d34879, 0x02b5e8cd, 0x03b96e37, 0x020095ae, 0x0031270a}}}, + {X: Field{[10]uint32{0x03baf363, 0x0152405a, 0x032f9e9d, 0x03764372, 0x017c1955, 0x01c86a63, 0x01305c39, 0x02eb7791, 0x02c3e4c8, 0x0012d2c0}}, Y: Field{[10]uint32{0x00d43468, 0x01a178c6, 0x00fb925b, 0x0191856f, 0x01d22a6a, 0x00f70c13, 0x01d546e0, 0x0166cf09, 0x037ebe8f, 0x00282d9e}}}, + {X: Field{[10]uint32{0x02c549c5, 0x01f74b2a, 0x0101fe0d, 0x03a3b87b, 0x007650ad, 0x0350a25f, 0x00f897c5, 0x02d09d47, 0x03fd7836, 0x003eebf9}}, Y: Field{[10]uint32{0x02668436, 0x00044384, 0x03aeb5e7, 0x00a26914, 0x01229a7e, 0x03b69489, 0x03841f58, 0x01f945ed, 0x014352d0, 0x000bd446}}}, + {X: Field{[10]uint32{0x0076c06c, 0x03786d9c, 0x0219f954, 0x0340a92c, 0x0281b21b, 0x01ceb139, 0x004e620b, 0x02e281e2, 0x02f90c65, 0x003334c1}}, Y: Field{[10]uint32{0x0257510b, 0x017d6c55, 0x005668ab, 0x029d6932, 0x00003f68, 0x00f8115d, 0x03056dc7, 0x02d43241, 0x007fa7b0, 0x00208fe9}}}, + {X: Field{[10]uint32{0x00195a3b, 0x02e35586, 0x01980820, 0x0177626a, 0x01912415, 0x0211d14b, 0x01a870a7, 0x01a474ed, 0x0038995a, 0x002ebef6}}, Y: Field{[10]uint32{0x00ad92a3, 0x024f9f42, 0x006874e8, 0x03560e72, 0x004f05f4, 0x00082d6c, 0x00e7f521, 0x00a7bbec, 0x01fac948, 0x00237d32}}}, + {X: Field{[10]uint32{0x024f458f, 0x0330e008, 0x019fb157, 0x00dee1a4, 0x00713d8f, 0x03e50299, 0x0166af8f, 0x0055b828, 0x003a8073, 0x00344973}}, Y: Field{[10]uint32{0x0035abde, 0x013b2f2f, 0x012a3a03, 0x00bbc981, 0x021bb7a2, 0x0288e9e3, 0x001054ae, 0x00de9f7c, 0x00b6ac4e, 0x00280c3a}}}, + {X: Field{[10]uint32{0x038187c2, 0x03c9e3b2, 0x008668cb, 0x03f629fa, 0x01f2d1bb, 0x0388b90b, 0x02c6433b, 0x036aebbc, 0x03281b5d, 0x001f5247}}, Y: Field{[10]uint32{0x00dfe8ed, 0x009ee9bd, 0x02af9bea, 0x031faf20, 0x0228b040, 0x01d82cbf, 0x0381ea3f, 0x00259b28, 0x021d7036, 0x00328605}}}, + {X: Field{[10]uint32{0x01f8c39e, 0x017c1ef3, 0x03961601, 0x025541e6, 0x016d70a5, 0x02a7d25e, 0x002995c6, 0x0048ea1b, 0x02339f29, 0x000c7336}}, Y: Field{[10]uint32{0x00b49f65, 0x030b93fa, 0x03a19561, 0x02c2f201, 0x02376626, 0x0018347c, 0x0128a9ff, 0x007eb265, 0x010bedf6, 0x002bac9f}}}, + {X: Field{[10]uint32{0x017807ba, 0x00e7d28a, 0x01ba7d74, 0x00bc3784, 0x01e5ec91, 0x006ddbec, 0x012073e7, 0x024625b2, 0x00c7f45f, 0x0001e799}}, Y: Field{[10]uint32{0x0023c921, 0x0177b5d6, 0x02e7efe8, 0x02f3258c, 0x00d17685, 0x0097626d, 0x011abe38, 0x0258f162, 0x0036b354, 0x0015f64d}}}, + {X: Field{[10]uint32{0x0042274e, 0x00c7daa3, 0x0206c78a, 0x034b7af3, 0x0369f422, 0x002f690f, 0x02f057b6, 0x00e1a1c7, 0x02dffccb, 0x003588cb}}, Y: Field{[10]uint32{0x000ef826, 0x0331f5fb, 0x004d6d62, 0x018eb0f7, 0x0158a18f, 0x026d7df4, 0x03472f22, 0x038274db, 0x03a0b2e2, 0x0004f6bb}}}, + {X: Field{[10]uint32{0x006e368e, 0x02ed99d1, 0x03ea6a7e, 0x0349228c, 0x00722d78, 0x020a2516, 0x038fc00c, 0x038e94dc, 0x0298b2d6, 0x0008703c}}, Y: Field{[10]uint32{0x03062383, 0x019837f7, 0x034a2b20, 0x016b97cc, 0x02cbb3f2, 0x017695a7, 0x015eede1, 0x03f656e2, 0x03ec17d2, 0x00219d54}}}, + {X: Field{[10]uint32{0x003196c8, 0x00b2bb93, 0x031d0f4f, 0x0070ff66, 0x00eaa231, 0x013dd1c8, 0x011621c5, 0x03de6755, 0x01010dcb, 0x0007468f}}, Y: Field{[10]uint32{0x039734eb, 0x03ebab90, 0x0233d6f8, 0x00701f97, 0x005453bf, 0x00e51763, 0x01b1a301, 0x03e4321e, 0x01159900, 0x003569e8}}}, + {X: Field{[10]uint32{0x00e76735, 0x02ec770a, 0x025614f4, 0x0171dd4e, 0x0162e26d, 0x0160a854, 0x00a97d18, 0x027b7803, 0x02808fa9, 0x0015d221}}, Y: Field{[10]uint32{0x03c17c6f, 0x02876e4b, 0x02b1eeba, 0x00d2576c, 0x00b3bbee, 0x03b06925, 0x000ecc54, 0x03b78373, 0x00597117, 0x0037af6a}}}, + {X: Field{[10]uint32{0x0391715a, 0x03eb7225, 0x0207c9f6, 0x034c7073, 0x03607194, 0x0322f7a7, 0x01e820c4, 0x037fe938, 0x00d34ce1, 0x002db74d}}, Y: Field{[10]uint32{0x0239cc9d, 0x02194862, 0x03200717, 0x0150e810, 0x031487e5, 0x0126f1f3, 0x01c0ec90, 0x0354ccab, 0x0068e405, 0x0022fd22}}}, + {X: Field{[10]uint32{0x0291d0de, 0x01412f52, 0x031600f3, 0x01b27882, 0x035821df, 0x0148b7e6, 0x02bc8871, 0x021dcb28, 0x02d56908, 0x00243e77}}, Y: Field{[10]uint32{0x02f902ac, 0x03ae9dba, 0x017f9a2b, 0x006c498e, 0x01f76b3c, 0x011250ce, 0x010af26b, 0x0129bbf7, 0x024add53, 0x000345f9}}}, + {X: Field{[10]uint32{0x032cfa59, 0x02b3195a, 0x0299d260, 0x00e66c40, 0x03db07b2, 0x00c00a1c, 0x006e4a0c, 0x024d4e44, 0x00e858d1, 0x003157cd}}, Y: Field{[10]uint32{0x00e50f5b, 0x0058b78c, 0x00dda11f, 0x03ef05ae, 0x009a8fe1, 0x00b3becd, 0x0149f7fe, 0x0288b9ca, 0x00d474b5, 0x001f67ce}}}, + {X: Field{[10]uint32{0x02b8ecad, 0x03c5c895, 0x025750c5, 0x034adbd4, 0x03f39c16, 0x0128ad89, 0x03f8452c, 0x0207166c, 0x0192d389, 0x001ab910}}, Y: Field{[10]uint32{0x030b099d, 0x0365c55f, 0x02d61603, 0x0073b69a, 0x03fa61de, 0x00e3925c, 0x01c4b91e, 0x00812a7b, 0x00dd7c49, 0x0026eeea}}}, + {X: Field{[10]uint32{0x03dcffbc, 0x0113bbdb, 0x0379ae03, 0x007db362, 0x00bd0c25, 0x02ad9113, 0x013ad99e, 0x006cd9aa, 0x0239423e, 0x000ce9f5}}, Y: Field{[10]uint32{0x0011c61e, 0x021b8ee5, 0x002c02bb, 0x024756eb, 0x032f0678, 0x027b48b4, 0x012684fc, 0x0328abe9, 0x02cc006d, 0x00309844}}}, + {X: Field{[10]uint32{0x0159af0a, 0x010351fc, 0x024b2ea6, 0x03643d4a, 0x013380c1, 0x01db29b1, 0x03a6642a, 0x0219c0a3, 0x0331eac4, 0x001211c4}}, Y: Field{[10]uint32{0x00142704, 0x021b51e8, 0x0314d5b5, 0x0251c169, 0x01c5047b, 0x022ed87d, 0x0103a311, 0x038073ee, 0x014693fd, 0x002d3aa1}}}, + {X: Field{[10]uint32{0x02587917, 0x0004a970, 0x00e86d46, 0x01e6fae3, 0x0172defd, 0x00f492dc, 0x03faab74, 0x00c70133, 0x00399ae7, 0x0001596b}}, Y: Field{[10]uint32{0x00bbab48, 0x000a6066, 0x000d779c, 0x0227f53d, 0x02146649, 0x0026a591, 0x0011fece, 0x00c7abf1, 0x02a5d450, 0x0037ad5a}}}, + {X: Field{[10]uint32{0x00314c0b, 0x01c21726, 0x03773eaa, 0x0251b72f, 0x00995490, 0x03168cbf, 0x00d017d0, 0x00adf5aa, 0x00b53b6c, 0x0025920e}}, Y: Field{[10]uint32{0x01130b97, 0x03e717bf, 0x02a2f6ca, 0x027be810, 0x03ac6fdc, 0x039daf5d, 0x0271ee0e, 0x000d3f22, 0x033cec44, 0x000b6be7}}}, + {X: Field{[10]uint32{0x00eb88d5, 0x038bc7b1, 0x0087c4aa, 0x00340bbe, 0x006f9bff, 0x039522c5, 0x003522da, 0x001e2e76, 0x02907b8d, 0x002f0036}}, Y: Field{[10]uint32{0x00ddb152, 0x03856908, 0x02befeaf, 0x01fed066, 0x020fef4d, 0x0132ca7d, 0x0321dd13, 0x036dcd97, 0x0111f9e2, 0x001af43f}}}, + {X: Field{[10]uint32{0x03a7bea4, 0x01156af6, 0x0111d075, 0x02cc9fec, 0x00a2082b, 0x03d79543, 0x03dd8ae9, 0x027c33c4, 0x005500f8, 0x0006967e}}, Y: Field{[10]uint32{0x0200c823, 0x0321c29d, 0x035c2150, 0x01db8b90, 0x00e77e6e, 0x02997142, 0x0225c530, 0x02b7ff27, 0x0340d460, 0x001fa8be}}}, + {X: Field{[10]uint32{0x02ccc764, 0x01662953, 0x02fdad88, 0x028c9e69, 0x00452706, 0x015a5409, 0x01081624, 0x03f1ab51, 0x011bd3bf, 0x001e8ed8}}, Y: Field{[10]uint32{0x02233145, 0x0286b48c, 0x030d368a, 0x035a875c, 0x0283d30b, 0x015274ea, 0x033d6efe, 0x01b94b21, 0x01896806, 0x0005b825}}}, + {X: Field{[10]uint32{0x015d6d91, 0x01786dc0, 0x02bef4cd, 0x00a14444, 0x02a0a1cc, 0x0315b89e, 0x02fa95b5, 0x002969e1, 0x01779cbe, 0x000bfb55}}, Y: Field{[10]uint32{0x014bddfa, 0x02751b8b, 0x02637995, 0x0399bf97, 0x02f66fd3, 0x01b71942, 0x01691fa3, 0x01fed58f, 0x0027b229, 0x001fbab3}}}, + {X: Field{[10]uint32{0x034a9558, 0x0152835d, 0x02d02f01, 0x0377c6cd, 0x03018326, 0x02faed12, 0x03efaea6, 0x037d959c, 0x0217952e, 0x00099eb4}}, Y: Field{[10]uint32{0x01a13fef, 0x01456ec4, 0x01e6d907, 0x02de8121, 0x01703cc9, 0x02fd5280, 0x00a7b330, 0x017979a2, 0x00c07e9d, 0x001dd64f}}}, + {X: Field{[10]uint32{0x036687e8, 0x0017b85f, 0x02b106fa, 0x006f29fa, 0x010e0d34, 0x017cc851, 0x038cceca, 0x026721a5, 0x022c239b, 0x003adbb5}}, Y: Field{[10]uint32{0x02c0a241, 0x027eff14, 0x0133b662, 0x02e24187, 0x012a6e6a, 0x00eb61d5, 0x029b2258, 0x02a3a338, 0x022250f6, 0x002b6267}}}, + {X: Field{[10]uint32{0x030a9e5b, 0x00425350, 0x027b1089, 0x026fe232, 0x035087a5, 0x005a1b13, 0x00ef33c4, 0x00853c2d, 0x017ce03d, 0x0032973c}}, Y: Field{[10]uint32{0x00989ce9, 0x018eb4f4, 0x0003ef99, 0x0201c95e, 0x01e19351, 0x023a80a6, 0x03ae683c, 0x01d6eb3f, 0x02eb473f, 0x0005f913}}}, + {X: Field{[10]uint32{0x01e82f7c, 0x01c85794, 0x03a2fe4c, 0x033d1988, 0x00c82f21, 0x024f9adb, 0x03035eca, 0x0190b98f, 0x029cacf0, 0x00131ef0}}, Y: Field{[10]uint32{0x02776875, 0x034af8a0, 0x01322e59, 0x03903c7d, 0x03eb537b, 0x0102900a, 0x03f64e7e, 0x01e5b050, 0x036e8756, 0x001f1579}}}, + {X: Field{[10]uint32{0x031058e3, 0x0186f0d9, 0x03d2080b, 0x02108e27, 0x03797831, 0x02b3d375, 0x03e50130, 0x0227c140, 0x00e9b422, 0x0015f2ae}}, Y: Field{[10]uint32{0x03d9e2bc, 0x0262aaa7, 0x012ca7c3, 0x011650c3, 0x022b048c, 0x01cba6fb, 0x030b884e, 0x009cf69e, 0x03186671, 0x001e0894}}}, + {X: Field{[10]uint32{0x03c4823e, 0x03d8c426, 0x02c2753f, 0x01cbb4b9, 0x01abf3d2, 0x015a10fd, 0x0013a82a, 0x0030d37a, 0x023df112, 0x000f0afc}}, Y: Field{[10]uint32{0x013f1990, 0x03add64b, 0x029d0d08, 0x00a384bf, 0x00767409, 0x032772e2, 0x00c5b47e, 0x0348cf38, 0x036388ae, 0x0005d676}}}, + {X: Field{[10]uint32{0x02ab38d2, 0x0206c683, 0x02856d85, 0x0288a34d, 0x0234170a, 0x0373f774, 0x03348dc3, 0x01d0a834, 0x01ac83e0, 0x0030042a}}, Y: Field{[10]uint32{0x0076aafd, 0x009da10f, 0x038ea9cd, 0x004111ad, 0x002b2dc8, 0x02433e48, 0x031da1f1, 0x029a3f87, 0x03ed0644, 0x0018d325}}}, + {X: Field{[10]uint32{0x02071994, 0x01164ea4, 0x01660550, 0x00fee8ea, 0x014f1b77, 0x00f6722a, 0x00cb632b, 0x0291a039, 0x01ee548b, 0x00292af6}}, Y: Field{[10]uint32{0x00f87182, 0x017a3bf2, 0x00b6111b, 0x0123afff, 0x01c9390b, 0x0100d597, 0x02ab00a8, 0x00ca5ff1, 0x026aba26, 0x000e8509}}}, + {X: Field{[10]uint32{0x00dda172, 0x028ccf7a, 0x007115a7, 0x039666de, 0x01d68b82, 0x03b3bff9, 0x0008540d, 0x0057c717, 0x0052efc1, 0x003700b2}}, Y: Field{[10]uint32{0x036c29c6, 0x01febd57, 0x009ba236, 0x03732e15, 0x028a35f8, 0x023332a8, 0x03f4eaed, 0x03a10b29, 0x013a8e1a, 0x00393996}}}, + {X: Field{[10]uint32{0x01ec57c8, 0x036d68a4, 0x01cac1b6, 0x0205c85d, 0x000a54fc, 0x03ca7f5f, 0x00a5a4b5, 0x008bff0a, 0x01e82238, 0x003b91da}}, Y: Field{[10]uint32{0x0020385f, 0x004ff9b0, 0x00619384, 0x0050a025, 0x00338905, 0x02c05631, 0x0178b9a2, 0x0323ae82, 0x02bc4076, 0x003f28b1}}}, + {X: Field{[10]uint32{0x013ef066, 0x0349c9f6, 0x032abb11, 0x033cc493, 0x002cf990, 0x03c2230e, 0x035a6dec, 0x00303f50, 0x001d3491, 0x003cc01b}}, Y: Field{[10]uint32{0x0149eae2, 0x00da4132, 0x00d9b82d, 0x01b2237f, 0x03f8016a, 0x00d73c99, 0x01ebaf12, 0x01fd468a, 0x01f5aa36, 0x00001d8a}}}, + {X: Field{[10]uint32{0x027313b7, 0x02e4d5c7, 0x030f3794, 0x001124cb, 0x02b1b9c8, 0x00970ff5, 0x01f0a3e3, 0x0159a44a, 0x003d07bf, 0x001f3ec8}}, Y: Field{[10]uint32{0x002bc60f, 0x0116ed3a, 0x02d3982a, 0x03f99c60, 0x01e4ae08, 0x021ec05b, 0x00c42173, 0x0270e322, 0x01fd2433, 0x0013ddae}}}, + {X: Field{[10]uint32{0x02312c0a, 0x01343acc, 0x03206a32, 0x01c60eba, 0x01efeabe, 0x01c1156b, 0x0130be8e, 0x00264c27, 0x00e036e0, 0x0003328f}}, Y: Field{[10]uint32{0x0215b9e5, 0x035fa345, 0x018b20ef, 0x03766369, 0x0091b437, 0x00163223, 0x00637252, 0x01f1b4d3, 0x0258fe94, 0x00259d2b}}}, + {X: Field{[10]uint32{0x02b0d9c8, 0x02b39982, 0x01212c66, 0x03488e27, 0x01d9815f, 0x007e635c, 0x01a071c0, 0x01709e0b, 0x014881cd, 0x0027ed90}}, Y: Field{[10]uint32{0x01813251, 0x00f04fb4, 0x0309bce2, 0x011e71da, 0x03d11d50, 0x0013c71c, 0x035e515c, 0x00dd097d, 0x00541a51, 0x00013095}}}, + {X: Field{[10]uint32{0x01558b25, 0x001c2d94, 0x01542c2c, 0x03601aa8, 0x01eb5d2a, 0x009582d3, 0x0139de23, 0x03516443, 0x02bf03e3, 0x000076ef}}, Y: Field{[10]uint32{0x010b9db1, 0x02e739cb, 0x01876877, 0x0145a60c, 0x01940eae, 0x01d21328, 0x014753fd, 0x03924106, 0x031c2e94, 0x003b1a39}}}, + {X: Field{[10]uint32{0x006bb5f7, 0x00428fe9, 0x01e215a2, 0x03a49061, 0x015a890e, 0x01321350, 0x002856b0, 0x01d085dd, 0x021992f4, 0x001dd474}}, Y: Field{[10]uint32{0x03237fef, 0x00f19206, 0x01a2273a, 0x028532b1, 0x036371f6, 0x03da6305, 0x01327493, 0x0321b3b7, 0x01c5b770, 0x000a456a}}}, + {X: Field{[10]uint32{0x00f36a2d, 0x025ff2bb, 0x01737707, 0x02593847, 0x01e7b89c, 0x033d992c, 0x0382983e, 0x0270f881, 0x01a05b18, 0x000e6a12}}, Y: Field{[10]uint32{0x013690c5, 0x02d7b440, 0x01114f43, 0x014d53d0, 0x0148e692, 0x019a1625, 0x02274d15, 0x036c1af8, 0x00f16191, 0x0034f9be}}}, + {X: Field{[10]uint32{0x039b25bb, 0x0045f2f9, 0x01dea768, 0x00a2e2ff, 0x0080e3d6, 0x0104b59f, 0x0395522d, 0x03b483e7, 0x0125b29c, 0x0019f958}}, Y: Field{[10]uint32{0x0103da21, 0x01edc4a3, 0x0257f916, 0x033c19ba, 0x033c83ed, 0x0340b4a4, 0x020fd883, 0x008fd12a, 0x00157e3c, 0x0018237f}}}, + {X: Field{[10]uint32{0x038f1525, 0x008a6ded, 0x027bb5cb, 0x03bd4a4c, 0x02ecdd01, 0x02560e7d, 0x01eec20e, 0x0356774c, 0x02da02f7, 0x0002946b}}, Y: Field{[10]uint32{0x03847903, 0x0024b035, 0x02cdd1f0, 0x03420364, 0x036621c7, 0x031a062a, 0x038b18f4, 0x0218acf4, 0x03df93fb, 0x001c1259}}}, + {X: Field{[10]uint32{0x02c1745d, 0x019308da, 0x01e7aaae, 0x01bfed22, 0x01f8bcb3, 0x00ec00e2, 0x02b71b77, 0x032d1bd7, 0x013e73a1, 0x0032601a}}, Y: Field{[10]uint32{0x02fae474, 0x0330162d, 0x02bd4274, 0x03bc01c1, 0x00b3b21f, 0x03eee9ba, 0x01853e56, 0x01fbeddc, 0x008efe6b, 0x002fcee0}}}, + {X: Field{[10]uint32{0x021391a9, 0x01e8dd02, 0x007136b1, 0x034a5235, 0x0394167b, 0x025d7a7c, 0x0227aab2, 0x013070a3, 0x0130bcf5, 0x0031e37e}}, Y: Field{[10]uint32{0x004d9ae7, 0x023c378c, 0x01e5e031, 0x00886f19, 0x00163bfe, 0x020ef878, 0x03b5e9a2, 0x01e6f956, 0x03366d3a, 0x00269093}}}, + {X: Field{[10]uint32{0x01284089, 0x010bf11b, 0x016e5fb2, 0x039399cc, 0x00a998b1, 0x03dfc794, 0x0168ebc8, 0x03cea798, 0x03bcc6d2, 0x00269d7d}}, Y: Field{[10]uint32{0x03169e01, 0x03cc566f, 0x037bfd40, 0x030de1e5, 0x0239bf6e, 0x03f1f8d6, 0x0106c6e8, 0x02e6a8eb, 0x00e6dff8, 0x00032d1e}}}, + {X: Field{[10]uint32{0x036e6224, 0x02dc68e2, 0x001c0d20, 0x01f2dbe0, 0x007eba1e, 0x01739cf9, 0x008277d9, 0x02cf9f6d, 0x031adb0b, 0x001dac84}}, Y: Field{[10]uint32{0x0179263a, 0x034924a6, 0x007b2f79, 0x03e04831, 0x03196c5a, 0x034a1dcd, 0x01e36e6c, 0x03956c2a, 0x00daef60, 0x0000cb8f}}}, + {X: Field{[10]uint32{0x001384e1, 0x0290acd7, 0x01e68f32, 0x011b7ae3, 0x03cdcc4c, 0x036a2520, 0x01f96c93, 0x025c77d5, 0x03614ec5, 0x00086260}}, Y: Field{[10]uint32{0x026dac3e, 0x021ad7c4, 0x02c97d64, 0x012b6726, 0x01c5eda5, 0x01dda5d0, 0x02a2d224, 0x0254eac8, 0x005044a4, 0x000b0e5b}}}, + {X: Field{[10]uint32{0x03db8adc, 0x013e1d78, 0x002a9aa1, 0x029b3d76, 0x03a08449, 0x014a3fb2, 0x01dbe1ca, 0x00603440, 0x02494e9d, 0x002b02c2}}, Y: Field{[10]uint32{0x00412554, 0x03bf8f9c, 0x02dd9b2a, 0x027cc518, 0x00371dd1, 0x01a9aa3a, 0x0153b9c5, 0x02d60cb7, 0x001225a1, 0x0009b475}}}, + {X: Field{[10]uint32{0x00e04625, 0x029b09cc, 0x00a1b6dc, 0x0336efc1, 0x029d1a78, 0x017d65a8, 0x02d33297, 0x02997ef5, 0x018c0851, 0x003e1a6d}}, Y: Field{[10]uint32{0x02a5bff0, 0x02eaec31, 0x01b09c3c, 0x006ee2e4, 0x00a0cfb3, 0x00526527, 0x00b1603e, 0x0171cb06, 0x0344fc6f, 0x001037b8}}}, + {X: Field{[10]uint32{0x01544c3a, 0x01e35bae, 0x032aaecf, 0x00ea39f5, 0x01a640a4, 0x01cf18fb, 0x004a5f22, 0x00943e26, 0x02db2406, 0x003dd3c0}}, Y: Field{[10]uint32{0x0386185b, 0x02bd64f3, 0x02aea1c0, 0x01e87bba, 0x015e364f, 0x017caf3c, 0x03c1a618, 0x007a4a28, 0x026dcacc, 0x00220b8e}}}, + {X: Field{[10]uint32{0x027ea65d, 0x0250ea81, 0x0069ff3d, 0x01412dfa, 0x0288c390, 0x002a9a74, 0x03c9284a, 0x0157acba, 0x02b61d67, 0x0030184f}}, Y: Field{[10]uint32{0x03848cba, 0x0084f149, 0x02c09fe4, 0x006fc34d, 0x0129931c, 0x01764a27, 0x03a89665, 0x0320b92b, 0x02e527b5, 0x001cbd86}}}, + {X: Field{[10]uint32{0x031285db, 0x00e7c23c, 0x007a7eb7, 0x018d490c, 0x00ae0dbf, 0x0045ebac, 0x00fd8c47, 0x002298f0, 0x039860ba, 0x003ad9bf}}, Y: Field{[10]uint32{0x03ddc5d5, 0x01d456a1, 0x0261655c, 0x03cc1dd3, 0x027d3662, 0x03903d2e, 0x005dfb94, 0x03caba2c, 0x02ca54bc, 0x00030c50}}}, + {X: Field{[10]uint32{0x004a861d, 0x0145bc3b, 0x015b871a, 0x005455b0, 0x02e41c6b, 0x0294d180, 0x025d58bc, 0x018187f0, 0x00e6a125, 0x000e9c42}}, Y: Field{[10]uint32{0x004393a6, 0x00c1938f, 0x01226a18, 0x035d9b7c, 0x00957bfc, 0x005f9fa2, 0x011b5bec, 0x02aec806, 0x0102041c, 0x0036ab8b}}}, + {X: Field{[10]uint32{0x00f89d5f, 0x03a500ee, 0x00958949, 0x03cd39d1, 0x00ea1a2f, 0x02c817cb, 0x02e73717, 0x01a744cf, 0x0258c831, 0x00345f8e}}, Y: Field{[10]uint32{0x018b1a20, 0x01ffcc98, 0x010225ac, 0x02e60729, 0x012d75fc, 0x034574d2, 0x00ffafa6, 0x03662e48, 0x037d69e5, 0x002630d7}}}, + {X: Field{[10]uint32{0x03f6541c, 0x00daeac2, 0x01385fff, 0x0353dd9e, 0x0298caf6, 0x018638bf, 0x0350cbf2, 0x02e3b450, 0x0092cefb, 0x0035b8ca}}, Y: Field{[10]uint32{0x02636298, 0x0207af6c, 0x0021e080, 0x02f3b6f8, 0x00976196, 0x015bc926, 0x0072b553, 0x017b001e, 0x022ebe0f, 0x001c5d51}}}, + {X: Field{[10]uint32{0x02ffef75, 0x01777e02, 0x0229186d, 0x02ba4ea9, 0x0282ddc8, 0x00e3b001, 0x00e2182f, 0x0002b9ba, 0x01ff60e9, 0x000c6352}}, Y: Field{[10]uint32{0x026333b2, 0x02205981, 0x00831a98, 0x03aef8a2, 0x0008dcc3, 0x037daa9c, 0x02d4fd8f, 0x01853707, 0x0027dd7d, 0x001ba5fb}}}, + {X: Field{[10]uint32{0x00cf6346, 0x03e05126, 0x0367c5a2, 0x00ada35b, 0x01c075e7, 0x01616aef, 0x00ea5aeb, 0x036e2e9a, 0x02301772, 0x003f5be7}}, Y: Field{[10]uint32{0x0128d2c0, 0x03aace07, 0x001254d4, 0x00c2abfd, 0x02d76082, 0x01610d55, 0x01c5f513, 0x016f5729, 0x02e76477, 0x0036b745}}}, + {X: Field{[10]uint32{0x002ddd36, 0x02b90e86, 0x00d31566, 0x00aba558, 0x00f07428, 0x02f39da3, 0x00ed08d4, 0x011d86a4, 0x0338a2c7, 0x0023f896}}, Y: Field{[10]uint32{0x024c23a2, 0x0386a087, 0x015c73f8, 0x010c9c74, 0x0251d668, 0x03ef7f8b, 0x00da1b32, 0x02ade28b, 0x004a77c6, 0x001bb87a}}}, + {X: Field{[10]uint32{0x0393bef8, 0x03fae665, 0x03e5d2e6, 0x02ca91b5, 0x013e12ba, 0x01afee05, 0x0217bcff, 0x023fbd2b, 0x02d288ed, 0x000df3c3}}, Y: Field{[10]uint32{0x03e3e0d3, 0x02851b6e, 0x03339119, 0x01ec85e4, 0x00e17a41, 0x036d709e, 0x01254f4d, 0x001d4726, 0x025718eb, 0x00024b9e}}}, + {X: Field{[10]uint32{0x03bf403c, 0x01611081, 0x011e0091, 0x013d4c7b, 0x00eca0e0, 0x0180003a, 0x01eb812b, 0x034321db, 0x006106b9, 0x001a2308}}, Y: Field{[10]uint32{0x00cc01fe, 0x01fac517, 0x035bda8b, 0x020fcb3a, 0x00011d85, 0x008802f7, 0x0112e763, 0x01354f7d, 0x02ba41ba, 0x002ead2c}}}, + {X: Field{[10]uint32{0x00b3d804, 0x020e569c, 0x004e9d86, 0x0213626a, 0x02d1b535, 0x00e59485, 0x022371d6, 0x0254d760, 0x02aaf539, 0x0012d32a}}, Y: Field{[10]uint32{0x01ee73d2, 0x01ef5014, 0x0070ae4c, 0x02444571, 0x02652fbd, 0x01d8793a, 0x001d0437, 0x001268ec, 0x03afcd18, 0x000f7749}}}, + {X: Field{[10]uint32{0x02fa1d2e, 0x013754b8, 0x00e56144, 0x02609388, 0x0347cca3, 0x022ce6d7, 0x00ed9a51, 0x036981d6, 0x03c44135, 0x001bd6b2}}, Y: Field{[10]uint32{0x02cd58c4, 0x0134df12, 0x02569052, 0x035ccd7e, 0x02f729f1, 0x00bc65e8, 0x02f2efc0, 0x03653522, 0x0146e5f6, 0x00017727}}}, + {X: Field{[10]uint32{0x0267fc42, 0x010c4f70, 0x008c6ce9, 0x008dce0a, 0x02661d6f, 0x022dad88, 0x01a527bf, 0x032e45bf, 0x00493dff, 0x001e74b5}}, Y: Field{[10]uint32{0x020c08db, 0x0017cdc2, 0x01de1d28, 0x0247575b, 0x038d9027, 0x03ef2454, 0x0302823d, 0x03dff2f8, 0x03f13fa8, 0x002c9a0e}}}, + {X: Field{[10]uint32{0x01f95524, 0x0002ccfe, 0x00118c08, 0x02f00860, 0x01f3915d, 0x03319f50, 0x037a6b07, 0x01ee7271, 0x007e246b, 0x000cea3a}}, Y: Field{[10]uint32{0x0116ff8f, 0x00d0cce7, 0x0229470b, 0x03bf736c, 0x01207d30, 0x00b97116, 0x015e36be, 0x03417c99, 0x004c584f, 0x002eaa09}}}, + {X: Field{[10]uint32{0x01868e95, 0x036aae9e, 0x03a193f4, 0x02c83ee9, 0x013235dd, 0x012f5518, 0x0161a7ae, 0x01f7e081, 0x0132f388, 0x002685a4}}, Y: Field{[10]uint32{0x00630bcd, 0x02408a51, 0x03bc0719, 0x000397e2, 0x02a233b1, 0x02a59656, 0x01452161, 0x011b110a, 0x03179954, 0x001a1bf0}}}, + {X: Field{[10]uint32{0x0383ac42, 0x01184121, 0x026fc290, 0x0278b297, 0x01c85998, 0x010e7cbd, 0x03dc7e90, 0x0338fe6a, 0x00f48405, 0x001e42dd}}, Y: Field{[10]uint32{0x0224a701, 0x02cc12e2, 0x028a66eb, 0x00aec6a4, 0x011dc676, 0x01c44697, 0x00593a37, 0x02172a64, 0x01135623, 0x00225872}}}, + {X: Field{[10]uint32{0x02f9e49c, 0x021ea8dc, 0x02438b54, 0x0217d493, 0x02954717, 0x03ccbf35, 0x00aaeb69, 0x030b661f, 0x00cfae1f, 0x0038a8f4}}, Y: Field{[10]uint32{0x00c93046, 0x00b4cdc5, 0x008db498, 0x000e63ed, 0x0211f7dc, 0x00233914, 0x03edb543, 0x01c230d5, 0x0205ecf2, 0x00273090}}}, + {X: Field{[10]uint32{0x020bcbea, 0x03087b25, 0x03a7a2b3, 0x00f98f8e, 0x00cfd265, 0x01bcab9a, 0x01372b19, 0x030655db, 0x00435992, 0x00032cc3}}, Y: Field{[10]uint32{0x01ccd0b4, 0x01f374e2, 0x0083d498, 0x016099a9, 0x02fb6830, 0x02d246e2, 0x009cba14, 0x00e326b3, 0x01b97083, 0x003d95cd}}}, + {X: Field{[10]uint32{0x00e8b46a, 0x0090e044, 0x01d2dfe9, 0x01adf265, 0x03296ca6, 0x03ecf9a8, 0x018ffb16, 0x002fb98a, 0x0095d631, 0x0007ebb7}}, Y: Field{[10]uint32{0x00725089, 0x02f493ee, 0x012cee7b, 0x03391097, 0x0226d9f0, 0x02f62dd9, 0x0378d032, 0x03a41394, 0x023f8201, 0x000d40e7}}}, + {X: Field{[10]uint32{0x02b3e8f9, 0x031d42d4, 0x03f318f6, 0x014c78a2, 0x018e93ea, 0x03546cfd, 0x005410ce, 0x030744fc, 0x035a2be8, 0x002991b3}}, Y: Field{[10]uint32{0x00c102bb, 0x03d19429, 0x029bda01, 0x03911950, 0x01e427d7, 0x00794744, 0x03a7e78e, 0x02a482d1, 0x02cb7727, 0x00163163}}}, + {X: Field{[10]uint32{0x02be2205, 0x02f00837, 0x02d39dce, 0x031857b7, 0x011c77c0, 0x01730c8b, 0x038c397a, 0x01f4e3a6, 0x03271853, 0x000c9cd1}}, Y: Field{[10]uint32{0x01a42d65, 0x00092402, 0x032bb72c, 0x012f0f94, 0x01c1ea78, 0x011d69f5, 0x007b072d, 0x03d82f53, 0x008958c3, 0x0030b7af}}}, + {X: Field{[10]uint32{0x0172827e, 0x00bce4f5, 0x03f4d4ce, 0x008b9f6c, 0x009906dd, 0x024c289c, 0x028c095d, 0x02884b01, 0x03180855, 0x0005a869}}, Y: Field{[10]uint32{0x0115605c, 0x01adc934, 0x00660219, 0x005aa2dd, 0x01b1ef30, 0x02fa3df7, 0x0280335c, 0x02a7adb3, 0x024bb30b, 0x0034e275}}}, + {X: Field{[10]uint32{0x03687596, 0x02bd33c8, 0x002e9a61, 0x03e129d0, 0x00eeb1eb, 0x01859ba4, 0x0294b867, 0x0155c4cd, 0x01145de2, 0x002d2fd3}}, Y: Field{[10]uint32{0x03d11242, 0x00bf046e, 0x023dbfac, 0x0186962b, 0x0237d389, 0x02d817a5, 0x018640a6, 0x025f958c, 0x00a4d823, 0x001276c8}}}, + {X: Field{[10]uint32{0x03892630, 0x019ee6c2, 0x0164bbf3, 0x004fa42a, 0x03fc3114, 0x0364e032, 0x00a0de08, 0x01997906, 0x03a9ccf4, 0x00353b59}}, Y: Field{[10]uint32{0x011df131, 0x0017462d, 0x015fa371, 0x01dd86c1, 0x0007472b, 0x00924dd9, 0x028a9729, 0x00220c7f, 0x017ce79a, 0x0023fdf9}}}, + {X: Field{[10]uint32{0x014fe70d, 0x03c7d1fd, 0x01366b32, 0x0373e45b, 0x0044d5df, 0x03070b29, 0x02e906f0, 0x00fbc83a, 0x02f19f41, 0x0022b495}}, Y: Field{[10]uint32{0x02d34da7, 0x0090fb69, 0x02ff494e, 0x01783497, 0x0134778f, 0x00725c86, 0x0147f659, 0x01371609, 0x03418d2c, 0x002f7bba}}}, + {X: Field{[10]uint32{0x01f17f8e, 0x018a854c, 0x0362f07f, 0x03b887c7, 0x01c67d22, 0x029561ee, 0x03723e01, 0x02d7c7c4, 0x02fafe55, 0x002374f8}}, Y: Field{[10]uint32{0x03c88cb0, 0x02fe4fd7, 0x0160b4b4, 0x0072e99a, 0x028f2db4, 0x036711b1, 0x017c6b65, 0x01c5f957, 0x02a47d6b, 0x002a88f4}}}, + {X: Field{[10]uint32{0x00b3d0f6, 0x01de9741, 0x01a678e5, 0x005d5536, 0x0103c139, 0x01ec3a4e, 0x034db01a, 0x00c2beb0, 0x02282a8e, 0x00113f67}}, Y: Field{[10]uint32{0x011a61d0, 0x003305a4, 0x0290e484, 0x001b32c4, 0x0218927d, 0x0256f6f8, 0x0269d592, 0x0066ce85, 0x00613533, 0x0032c1e4}}}, + {X: Field{[10]uint32{0x00b7aa42, 0x02c69c62, 0x02477746, 0x03d39691, 0x022db7c9, 0x025917d1, 0x01d2aa9c, 0x03b5960c, 0x02024464, 0x00174926}}, Y: Field{[10]uint32{0x037281d0, 0x03e2c501, 0x01a12b54, 0x03efca53, 0x0023bb8d, 0x0022d348, 0x0195f80e, 0x01ad70b1, 0x0386527d, 0x000affdc}}}, + {X: Field{[10]uint32{0x0210fb23, 0x0311f203, 0x008ca85a, 0x01502e50, 0x01ddd18b, 0x02247120, 0x01e123cd, 0x03547519, 0x00581edc, 0x003663ad}}, Y: Field{[10]uint32{0x00b4dcf2, 0x033086de, 0x010816a2, 0x005c6c99, 0x032b1537, 0x03c95326, 0x031f9e60, 0x01ab1bcb, 0x03bed375, 0x00056ff4}}}, + {X: Field{[10]uint32{0x00db6082, 0x02013591, 0x02eb5876, 0x01ba759c, 0x036edb48, 0x03a14543, 0x032134d2, 0x02bad884, 0x036919a2, 0x000bc4b0}}, Y: Field{[10]uint32{0x038cf73b, 0x004cf15f, 0x02dd0827, 0x031ef6a0, 0x0320834d, 0x030af438, 0x01264b8d, 0x00a313b7, 0x02dd3b4d, 0x00300447}}}, + {X: Field{[10]uint32{0x004b4624, 0x0005f0c5, 0x023e6f03, 0x00d23c1f, 0x02713260, 0x02f395ea, 0x01d35dfe, 0x0327e108, 0x02847099, 0x00136525}}, Y: Field{[10]uint32{0x01b673da, 0x02c7fff7, 0x02adb126, 0x0136c60b, 0x00b91f95, 0x022c1f68, 0x01b308fb, 0x01a71ca3, 0x0257d713, 0x0026bed6}}}, + {X: Field{[10]uint32{0x02af2466, 0x01a1c038, 0x008b2a97, 0x00936777, 0x020fca8f, 0x014aac5f, 0x020b39a7, 0x03c7238d, 0x01105e95, 0x0033c76e}}, Y: Field{[10]uint32{0x0247ca5f, 0x02371cfd, 0x020040ad, 0x029ecf4b, 0x015e645c, 0x02e59006, 0x001b94b4, 0x0219d29b, 0x0366c49c, 0x0039f267}}}, + {X: Field{[10]uint32{0x02a62b85, 0x0390a11a, 0x03f22a9e, 0x01fc16c9, 0x01d4b174, 0x00b19d61, 0x01d63a24, 0x03ea2ade, 0x00257d2f, 0x0039c7ad}}, Y: Field{[10]uint32{0x022c8865, 0x03d9099a, 0x033c3d10, 0x01e61c38, 0x023bc0a7, 0x0294f8d0, 0x0321f45d, 0x028dd9f5, 0x02ecf901, 0x002a41ab}}}, + {X: Field{[10]uint32{0x00559887, 0x0220aacc, 0x03b218f9, 0x01b289fa, 0x0321c58b, 0x0128a66f, 0x005c3e1b, 0x01d7d0ef, 0x03d30b25, 0x002f3661}}, Y: Field{[10]uint32{0x01483f65, 0x03a6ce87, 0x01b00761, 0x01324a27, 0x00690c1b, 0x018e93ad, 0x02fd894e, 0x02b89cae, 0x00c94339, 0x00100e01}}}, + {X: Field{[10]uint32{0x01f8cab0, 0x031f8d2c, 0x00042ea9, 0x02e9a559, 0x007a2beb, 0x029a7dd0, 0x01d2d5e8, 0x01c588e5, 0x00f748af, 0x002dd357}}, Y: Field{[10]uint32{0x0049b336, 0x015f7afa, 0x00a3ea3c, 0x02a9f73f, 0x035728df, 0x02be9150, 0x01e9a234, 0x03ed660d, 0x01db332b, 0x002d717f}}}, + {X: Field{[10]uint32{0x0160837d, 0x0146dc8d, 0x03edc572, 0x03b98cec, 0x01e9bc12, 0x02482faa, 0x03b3b13a, 0x0326b869, 0x02f59835, 0x0011bcf7}}, Y: Field{[10]uint32{0x010ce67b, 0x014f9a05, 0x02eca91d, 0x007040d7, 0x00818fb7, 0x01c0853b, 0x02a69778, 0x02e72cde, 0x021f2e8e, 0x00161ecb}}}, + {X: Field{[10]uint32{0x0267d572, 0x0133eddd, 0x018b6577, 0x02906457, 0x01a50ceb, 0x02ed80a6, 0x011f4d7c, 0x0025a379, 0x00fdeb3f, 0x00234d06}}, Y: Field{[10]uint32{0x00661db8, 0x014456ab, 0x022039d0, 0x00e03d2c, 0x03e8b3dd, 0x03d9ed31, 0x01da7c00, 0x02118aaa, 0x011016a2, 0x0033b9e6}}}, + {X: Field{[10]uint32{0x016f7c10, 0x033c84ab, 0x03bcf529, 0x01ede193, 0x0230f432, 0x02d9c94e, 0x020a672e, 0x01a575e2, 0x03094510, 0x002632c3}}, Y: Field{[10]uint32{0x020ab333, 0x0355abca, 0x0132f09f, 0x01d69af5, 0x03300fde, 0x00a14b47, 0x007e9b55, 0x0140d66d, 0x01ac4e1b, 0x0009654b}}}, + {X: Field{[10]uint32{0x0339a3cf, 0x02e6384a, 0x00effb58, 0x0132c0c3, 0x01a34c7c, 0x000f7841, 0x01383f3f, 0x01d7f129, 0x024c0ca0, 0x00258117}}, Y: Field{[10]uint32{0x0201bafe, 0x03548c5c, 0x00c6e8f2, 0x038e9412, 0x016ebd03, 0x02f577fb, 0x011f24f7, 0x010546e8, 0x00fd9223, 0x003d49ee}}}, + {X: Field{[10]uint32{0x01cc6030, 0x02fd5aa6, 0x0293e703, 0x03956642, 0x01c3f4b3, 0x035de5d8, 0x0226a9ca, 0x037be32e, 0x009142ad, 0x003c98ba}}, Y: Field{[10]uint32{0x030b594b, 0x00c8635b, 0x01ca1d1f, 0x02dcce4e, 0x035382c7, 0x0024bb3f, 0x0197dd67, 0x01aa403d, 0x036486c8, 0x0009d731}}}, + {X: Field{[10]uint32{0x016d17fe, 0x01c5f6c5, 0x016347cc, 0x0204f1b1, 0x03ad75ef, 0x03946eca, 0x01f7900b, 0x014cd97e, 0x0002ee17, 0x000335e7}}, Y: Field{[10]uint32{0x007a985d, 0x00000c65, 0x0394ac45, 0x023ad245, 0x014ff919, 0x01aaeeb8, 0x03260441, 0x0396f694, 0x00ffb30d, 0x002d7afa}}}, + {X: Field{[10]uint32{0x00f858f4, 0x00897e52, 0x009d280a, 0x00a73147, 0x02d9ba46, 0x018c20c2, 0x0122e03e, 0x01037780, 0x03225b1d, 0x000a2d2f}}, Y: Field{[10]uint32{0x00f3cac0, 0x00db894b, 0x027954ea, 0x03f2c439, 0x03aadf4f, 0x00c00a5e, 0x0134c6be, 0x01053529, 0x018998bb, 0x00091d58}}}, + {X: Field{[10]uint32{0x02ed2ff7, 0x02119731, 0x03ea016c, 0x00db1ec2, 0x03cc765c, 0x0184a297, 0x013344bc, 0x0177ce71, 0x02067dd5, 0x003c063c}}, Y: Field{[10]uint32{0x00aa7e66, 0x02803e39, 0x0261a960, 0x01da1b15, 0x00cda34a, 0x01454133, 0x02c1cd22, 0x02752b19, 0x02b2cd61, 0x00367f16}}}, + {X: Field{[10]uint32{0x024a7a13, 0x03621b10, 0x0394218e, 0x03c5222c, 0x027f661e, 0x03d1f2f6, 0x01dd5c74, 0x01b40a69, 0x00cf0808, 0x00125a5a}}, Y: Field{[10]uint32{0x021874e7, 0x012de1c7, 0x022dfc8d, 0x00909dd3, 0x00360b51, 0x01e71980, 0x017a3635, 0x0183803c, 0x03984420, 0x0035f637}}}, + {X: Field{[10]uint32{0x02efedab, 0x00405ac8, 0x03949892, 0x01728741, 0x03b98435, 0x00d80369, 0x02485749, 0x00eddda3, 0x0059e911, 0x00090b53}}, Y: Field{[10]uint32{0x020f42b1, 0x022de59e, 0x0257727a, 0x0081ac2b, 0x0342f509, 0x014155ce, 0x0228074a, 0x030bb58e, 0x03d7b0c8, 0x0011c373}}}, + {X: Field{[10]uint32{0x0385e8c7, 0x003d3744, 0x015861d2, 0x02f356ac, 0x03466280, 0x01794143, 0x004afacc, 0x01674e13, 0x00cc1a1a, 0x002dae01}}, Y: Field{[10]uint32{0x0121d439, 0x01e62ed9, 0x02d0c898, 0x019c2ec9, 0x0139b579, 0x00a0a7d0, 0x022a1d23, 0x00daa66e, 0x034602a6, 0x000bde24}}}, + {X: Field{[10]uint32{0x01918a4e, 0x02d26dc7, 0x011ca0d1, 0x00b4a931, 0x0346904b, 0x00a04092, 0x038048af, 0x017f74e2, 0x03d07ecc, 0x00370c28}}, Y: Field{[10]uint32{0x018cc917, 0x014469b0, 0x0110febb, 0x02d9e29f, 0x02b701f7, 0x024da952, 0x03536987, 0x003a5d63, 0x01b07055, 0x000c9902}}}, + {X: Field{[10]uint32{0x03d3fab8, 0x0057cad0, 0x013c20c0, 0x00d25de0, 0x005fb229, 0x03d3d12b, 0x02bb6280, 0x03ccc20e, 0x034d345b, 0x00387f90}}, Y: Field{[10]uint32{0x034c4d83, 0x0256c1dd, 0x03f7a59a, 0x00b0b735, 0x03d3b31b, 0x038f4581, 0x008df48c, 0x025eb130, 0x00a52af8, 0x0006c947}}}, + {X: Field{[10]uint32{0x02fb8d08, 0x03f5745d, 0x02060bd1, 0x004f3f5c, 0x0182c2f5, 0x039dd591, 0x03e4a40e, 0x03178abe, 0x00dae08a, 0x002a3b62}}, Y: Field{[10]uint32{0x00175729, 0x007e7ce1, 0x0081b77b, 0x023c74a5, 0x035cc2d9, 0x005eca9b, 0x02f5b537, 0x0258c3ee, 0x00b07441, 0x003d3ed8}}}, + {X: Field{[10]uint32{0x007c6481, 0x0295e40b, 0x0143f76f, 0x004e8389, 0x008e7707, 0x0314348a, 0x01c083ee, 0x02735f25, 0x0028de1e, 0x002d4b3e}}, Y: Field{[10]uint32{0x0375790f, 0x017abdc6, 0x02d833c9, 0x0314dd23, 0x0343eebd, 0x00f8ed4a, 0x03dc729d, 0x03eefe40, 0x01530046, 0x0018d68e}}}, + {X: Field{[10]uint32{0x021d5e83, 0x01e0a485, 0x0178e4dc, 0x015358d2, 0x00b1297c, 0x02ab64ff, 0x03957a94, 0x026ff732, 0x01aef76d, 0x001c081e}}, Y: Field{[10]uint32{0x02783b52, 0x00419096, 0x01f82c8c, 0x011712e5, 0x0132a43a, 0x0031b76e, 0x033a202e, 0x00714b4e, 0x008bf2d8, 0x001260f0}}}, + {X: Field{[10]uint32{0x0257bbf5, 0x00fb8baf, 0x009a0dd7, 0x02e544f3, 0x023ed3dc, 0x02d0de38, 0x00fe8cbd, 0x03873bbd, 0x00d18e9d, 0x00118e35}}, Y: Field{[10]uint32{0x0327e110, 0x01fbc832, 0x01e87cf7, 0x01029654, 0x020cb507, 0x007e8daf, 0x00853f75, 0x00c19a5a, 0x003245cc, 0x001587b8}}}, + {X: Field{[10]uint32{0x03386bfc, 0x02c8b64e, 0x039cbecf, 0x02024410, 0x01d98e48, 0x00f4280e, 0x021dc5ee, 0x02b77b55, 0x02b75fac, 0x003bacd3}}, Y: Field{[10]uint32{0x02e57c4c, 0x0308d269, 0x00af4c21, 0x00eb473d, 0x00e9d8f6, 0x030c46a5, 0x018db8c1, 0x03723015, 0x00ff05eb, 0x003cac8f}}}, + {X: Field{[10]uint32{0x012c45ca, 0x01a167b1, 0x0175e5c5, 0x0190f7dd, 0x01f70a8c, 0x03efa38e, 0x0107df0c, 0x00c84f07, 0x02e5becf, 0x0001fcb1}}, Y: Field{[10]uint32{0x02b6c89d, 0x03903788, 0x0189a77b, 0x03bac847, 0x02cf9d66, 0x03614794, 0x01a04248, 0x0276b83f, 0x01c01971, 0x00254126}}}, + {X: Field{[10]uint32{0x03e53647, 0x008cc0c8, 0x00f81856, 0x003daa54, 0x023cea09, 0x013e2c05, 0x0211064d, 0x0349f3df, 0x03221ec5, 0x001bb1d9}}, Y: Field{[10]uint32{0x0269a3d6, 0x02c5c0eb, 0x01254984, 0x02816b5d, 0x01d0aa7b, 0x0018f13f, 0x02ec7d0f, 0x03a0e723, 0x03579704, 0x0026c0f1}}}, + {X: Field{[10]uint32{0x024dea7e, 0x027e2914, 0x02f5499e, 0x01eb16ca, 0x01b44a70, 0x01e3d9f3, 0x03184b03, 0x017b2807, 0x029d320d, 0x00263dbd}}, Y: Field{[10]uint32{0x02b69a02, 0x03d509bc, 0x0244d79e, 0x0375e324, 0x02ca54a3, 0x015af0ce, 0x01333fe0, 0x01d98e5e, 0x033d7b03, 0x0009bbda}}}, + {X: Field{[10]uint32{0x0347e390, 0x0073c156, 0x017af296, 0x01a0b67b, 0x012d3086, 0x03005c32, 0x037ac998, 0x00b1d975, 0x004558b8, 0x0033c7bd}}, Y: Field{[10]uint32{0x018511c3, 0x037d1192, 0x03d23bef, 0x0360d8e5, 0x00f4345b, 0x016bfbfa, 0x022d8f3f, 0x003b1e1d, 0x0105fb88, 0x0022f307}}}, + {X: Field{[10]uint32{0x006f07e8, 0x00a02863, 0x035aa37c, 0x02096821, 0x009ab62b, 0x01653cde, 0x00cc5c10, 0x01bcbbe2, 0x0251efa2, 0x00043805}}, Y: Field{[10]uint32{0x01779df2, 0x03540fae, 0x00c0a8fa, 0x028c1f8a, 0x0083105d, 0x0222aaa6, 0x03b2cdb7, 0x018cd4c3, 0x01e11f77, 0x000b9a85}}}, + {X: Field{[10]uint32{0x013eee4a, 0x009e59ba, 0x01a58054, 0x0114482e, 0x000af909, 0x01260c4c, 0x03d77d74, 0x00826dbb, 0x03e041ce, 0x002e538b}}, Y: Field{[10]uint32{0x01bca443, 0x01c50b72, 0x020f01d0, 0x02349dda, 0x01a86bfb, 0x011b7c43, 0x00b1dde7, 0x024bd577, 0x03f1103e, 0x00023dea}}}, + {X: Field{[10]uint32{0x02d41154, 0x0174acc5, 0x02ccc122, 0x00d385fc, 0x026d71cc, 0x011362bd, 0x01d233e2, 0x02a7a851, 0x0102c671, 0x0033e79f}}, Y: Field{[10]uint32{0x012d2ca7, 0x03bfe143, 0x00c4ee13, 0x02ef86d8, 0x01a853e2, 0x021e3e5a, 0x003858a3, 0x0259beef, 0x00a10f0b, 0x0020bbae}}}, + {X: Field{[10]uint32{0x03d48bb2, 0x00e6bfd2, 0x034366d5, 0x00af814b, 0x00df8e4f, 0x033d2e4d, 0x01d18ebd, 0x00ee44c6, 0x002994ad, 0x00368e8f}}, Y: Field{[10]uint32{0x01dc0193, 0x01a6a474, 0x00f54256, 0x03b7db6d, 0x035e0d32, 0x03b21998, 0x01ccfe7b, 0x0091e20c, 0x0253c404, 0x000a3e75}}}, + {X: Field{[10]uint32{0x01eec101, 0x0289ec3c, 0x02450d4b, 0x03274394, 0x00a0a095, 0x00a0c7cc, 0x014c9fcd, 0x00de2f64, 0x00182b80, 0x002ae04a}}, Y: Field{[10]uint32{0x026666b3, 0x01351780, 0x0078f142, 0x00ab7030, 0x022286dc, 0x02ec7602, 0x00e366af, 0x01db58f7, 0x01822748, 0x00016af1}}}, + {X: Field{[10]uint32{0x01c4977a, 0x01023df9, 0x014ab831, 0x019fe37e, 0x03f0edd9, 0x00259714, 0x0164391c, 0x032a9757, 0x02a2bf02, 0x003a96e0}}, Y: Field{[10]uint32{0x033d9339, 0x022f3a3f, 0x02cac5d2, 0x00fa25f6, 0x022518d5, 0x01ee2239, 0x01dd5040, 0x0020deb3, 0x02990f32, 0x00207fa0}}}, + {X: Field{[10]uint32{0x03e70fa2, 0x02e3ef3e, 0x00d2ca95, 0x0305f7d6, 0x01318aea, 0x00f68b4a, 0x01d618be, 0x0075f40f, 0x000bab20, 0x00141817}}, Y: Field{[10]uint32{0x02a60383, 0x03ce5f5c, 0x028afc03, 0x03f1b0a9, 0x02d4c978, 0x024a335b, 0x02cc160d, 0x015a4f13, 0x031e007b, 0x00003942}}}, + {X: Field{[10]uint32{0x021191dd, 0x0162c97a, 0x0316831b, 0x0184422d, 0x02513566, 0x0153de6d, 0x01409d88, 0x032b3bd1, 0x00b66d7d, 0x003ddb14}}, Y: Field{[10]uint32{0x01f3cc72, 0x0346041b, 0x01f86d3b, 0x0121dc83, 0x03a30401, 0x025fc1ec, 0x00e2e93a, 0x014502f0, 0x0374b019, 0x001f4156}}}, + {X: Field{[10]uint32{0x03260e7d, 0x00f65664, 0x01b32f6d, 0x0240af5e, 0x01413126, 0x01cb9384, 0x02367db2, 0x0011f330, 0x03bad716, 0x00379414}}, Y: Field{[10]uint32{0x017cc7e2, 0x00e37872, 0x03bf3d3f, 0x02041444, 0x03b1e4c5, 0x017d180c, 0x02b61b5b, 0x02c36c37, 0x02d39c34, 0x00071528}}}, + {X: Field{[10]uint32{0x0206499d, 0x03df237e, 0x017121af, 0x00902527, 0x00437f1a, 0x03786395, 0x018a332b, 0x0251ac6e, 0x019f180e, 0x002b4f9c}}, Y: Field{[10]uint32{0x02f1b554, 0x032b4f80, 0x032c882b, 0x037df28b, 0x03ef310a, 0x02fb7018, 0x0073863a, 0x02935f49, 0x03f1390f, 0x002d1635}}}, + {X: Field{[10]uint32{0x036bae4b, 0x03210330, 0x026ecb46, 0x039db899, 0x01839a3a, 0x00cbe2de, 0x010c8673, 0x02bdad8c, 0x02345560, 0x0009c280}}, Y: Field{[10]uint32{0x02bedeaf, 0x005a8653, 0x01bc689d, 0x01c86f6d, 0x01ef7ef0, 0x02661de8, 0x020f1600, 0x01f45832, 0x004b9215, 0x00236aae}}}, + {X: Field{[10]uint32{0x00624621, 0x00cd3b9a, 0x02d30f98, 0x016cafdc, 0x0325ba2b, 0x012a13fd, 0x03ffdb29, 0x03271321, 0x017e3027, 0x003ad7b4}}, Y: Field{[10]uint32{0x0060a942, 0x012d3b02, 0x003ae3b5, 0x02ff5667, 0x03df4a91, 0x013186b4, 0x028d1a21, 0x0351c66f, 0x00b38f74, 0x000e7fff}}}, + {X: Field{[10]uint32{0x00e0a5dd, 0x0304d70b, 0x02d6a7ba, 0x00869d5c, 0x01fb1f66, 0x016b351a, 0x03f4e807, 0x02633188, 0x01f28a0b, 0x002e7047}}, Y: Field{[10]uint32{0x00a76278, 0x03b15150, 0x00a1e391, 0x028938bf, 0x015eb506, 0x024aceea, 0x03eb0c36, 0x0257bcc9, 0x0278d42b, 0x0016fea2}}}, + {X: Field{[10]uint32{0x03e74b5c, 0x018c433a, 0x0221ca8a, 0x0264f126, 0x00f60f13, 0x03b68102, 0x02611066, 0x038967f9, 0x004380ab, 0x003bb45c}}, Y: Field{[10]uint32{0x02a0d750, 0x03576dc8, 0x0324a567, 0x018594b0, 0x028cc2c6, 0x01ebf366, 0x02a243f5, 0x01ee4458, 0x0276cbe3, 0x001b72d8}}}, + {X: Field{[10]uint32{0x03aa97a7, 0x01400314, 0x034c2526, 0x00417b8d, 0x028c68e3, 0x02b7d8ad, 0x025524a4, 0x0273d1a3, 0x036f5f5b, 0x002392c3}}, Y: Field{[10]uint32{0x01b7f74a, 0x004dfb30, 0x00d56e25, 0x00b455f0, 0x02c7e59f, 0x0341063d, 0x00578c16, 0x000646dd, 0x00aec18d, 0x00347e20}}}, + {X: Field{[10]uint32{0x02a5ebbe, 0x03d67232, 0x0176e90c, 0x036848e3, 0x01a7f393, 0x00c44ac7, 0x005ce9c9, 0x025ae6ba, 0x01bdfc65, 0x001deb88}}, Y: Field{[10]uint32{0x034a21d1, 0x01b151ff, 0x02f9b910, 0x005cc81b, 0x03516947, 0x01ca4553, 0x0225390e, 0x019b37d1, 0x01811e32, 0x003d1211}}}, + {X: Field{[10]uint32{0x03d2346f, 0x035ac1f6, 0x03999e16, 0x00cfc140, 0x01929225, 0x01419899, 0x028bd35f, 0x00bbd166, 0x00a871c0, 0x00074de7}}, Y: Field{[10]uint32{0x0140cad0, 0x002ddc90, 0x011c10d5, 0x01785e36, 0x00a6333d, 0x006571c1, 0x0197cfed, 0x0269ed08, 0x039a7289, 0x00301542}}}, + {X: Field{[10]uint32{0x03ef1ccc, 0x0359c30f, 0x00296cba, 0x0085f51f, 0x025c7ea7, 0x03c09dca, 0x03671995, 0x005aba64, 0x03f328fc, 0x00189405}}, Y: Field{[10]uint32{0x00450603, 0x0269d359, 0x02bf3618, 0x001985f0, 0x02d7056d, 0x0004437d, 0x03eb4ac5, 0x00853fb6, 0x0253af3b, 0x0006d138}}}, + {X: Field{[10]uint32{0x0238412d, 0x029cae01, 0x01eb78ea, 0x0059d029, 0x00d1019d, 0x010e1dfa, 0x023f508d, 0x00d424eb, 0x02496bdc, 0x0031e93f}}, Y: Field{[10]uint32{0x020febef, 0x02a5d125, 0x016fba30, 0x022d9d66, 0x01673093, 0x012e3dcd, 0x03924067, 0x01c4c3a1, 0x02a895fb, 0x0006d6c4}}}, + {X: Field{[10]uint32{0x02441d3f, 0x00a0d22c, 0x0052fa56, 0x019add3c, 0x01b65c61, 0x03123102, 0x000102cb, 0x0313bcfa, 0x003ce8f9, 0x0033fe7e}}, Y: Field{[10]uint32{0x0352ee6f, 0x038cb378, 0x0252e338, 0x001ea2f4, 0x02814ceb, 0x035a5cfc, 0x0046a41e, 0x0081fbf2, 0x00f82180, 0x00133106}}}, + {X: Field{[10]uint32{0x02700541, 0x0011c859, 0x02ef82c6, 0x0395eb79, 0x002fd23a, 0x027a8477, 0x038ae98a, 0x030a5724, 0x031045b8, 0x0021009d}}, Y: Field{[10]uint32{0x001e4f99, 0x0381c8e1, 0x01da5f56, 0x033502c5, 0x03f3f80d, 0x02ea0753, 0x01b972ce, 0x00501220, 0x0192d3c1, 0x001ca519}}}, + {X: Field{[10]uint32{0x012e0d2c, 0x01c18503, 0x004afb5c, 0x013aa53e, 0x015e304a, 0x023d548b, 0x01a346bd, 0x02e7b018, 0x0330e00c, 0x003deac4}}, Y: Field{[10]uint32{0x035e6144, 0x004406f7, 0x02f866bb, 0x028e7753, 0x012ef0f6, 0x03cfcf5a, 0x018def46, 0x002952bd, 0x00518935, 0x001752b2}}}, + {X: Field{[10]uint32{0x03d4e618, 0x0062131b, 0x0292c785, 0x037304fd, 0x01d0da4d, 0x021b260a, 0x01a4d5b7, 0x02dde230, 0x02192303, 0x0029f213}}, Y: Field{[10]uint32{0x031774fe, 0x02e915ae, 0x01744939, 0x00cea0a7, 0x01659285, 0x0178fc45, 0x0164bad3, 0x036cbc87, 0x025b8fc2, 0x0015b8cb}}}, + {X: Field{[10]uint32{0x0098c43a, 0x0276036b, 0x00dccf19, 0x00e41fd7, 0x02c65f41, 0x0299de9c, 0x03bc55af, 0x036b00d8, 0x0084a680, 0x002e2c32}}, Y: Field{[10]uint32{0x016b8127, 0x0239c794, 0x03932d0f, 0x01e98976, 0x016569f8, 0x013b6c11, 0x02bec5ba, 0x001b0735, 0x008ac926, 0x0010f906}}}, + {X: Field{[10]uint32{0x025e0df6, 0x014120a9, 0x038ddac2, 0x023a50eb, 0x01c5bef9, 0x036d285e, 0x03bc33c1, 0x0184d568, 0x0043d057, 0x00205bb1}}, Y: Field{[10]uint32{0x01f0b360, 0x021f1215, 0x022a9c9b, 0x00c04862, 0x02054f9a, 0x01b8d9ad, 0x00f6fa19, 0x01623664, 0x02c9e9f3, 0x002269ec}}}, + {X: Field{[10]uint32{0x011e28a0, 0x027526aa, 0x03fd2af3, 0x003cedc5, 0x00b10196, 0x03f3311f, 0x03ba24f7, 0x001f54cf, 0x0103823d, 0x00237b48}}, Y: Field{[10]uint32{0x00011728, 0x02549b30, 0x02ad4fb1, 0x0244a9a0, 0x01e3e1a3, 0x01d4faab, 0x03ef9f7d, 0x01987bd0, 0x011fbe1a, 0x000fc0fb}}}, + {X: Field{[10]uint32{0x00d6260b, 0x026baab4, 0x00c87484, 0x0312fb88, 0x010ff4f7, 0x03a30c59, 0x03df9e3c, 0x0351e2fe, 0x039ce874, 0x002c712c}}, Y: Field{[10]uint32{0x004b4fde, 0x02f48db0, 0x00dbda54, 0x02137ef1, 0x0132c25b, 0x00e5ab72, 0x03fe7245, 0x006207ee, 0x03613070, 0x000e2be2}}}, + {X: Field{[10]uint32{0x02b2c971, 0x0176b67e, 0x0390d0e7, 0x03c9f842, 0x01f011bc, 0x02af2082, 0x03f657cf, 0x00face85, 0x023be595, 0x001f56f3}}, Y: Field{[10]uint32{0x00f84787, 0x03b78aac, 0x0167cbbc, 0x029d0198, 0x01864b2b, 0x00b0e792, 0x0308b3b6, 0x035e0ac1, 0x02865f5f, 0x001ce035}}}, + {X: Field{[10]uint32{0x0000f285, 0x034ae1d3, 0x01497a54, 0x01e22c8a, 0x00096af1, 0x031c5c71, 0x027717fb, 0x03cb3453, 0x011a422a, 0x000abd44}}, Y: Field{[10]uint32{0x03771f41, 0x012fabae, 0x0259f753, 0x031722b2, 0x032f3445, 0x01ecec90, 0x0000b68b, 0x03c401fa, 0x031bee43, 0x00111a2f}}}, + {X: Field{[10]uint32{0x037af766, 0x029ed258, 0x0155dc81, 0x02ba8b42, 0x01fe010d, 0x01010ed8, 0x03dfb65f, 0x0377bfe2, 0x01c06dc8, 0x002d1b8a}}, Y: Field{[10]uint32{0x017b59f5, 0x03b27767, 0x016459c1, 0x026c2714, 0x03748c5c, 0x01289ea7, 0x010cef82, 0x00c53f5f, 0x0095ae16, 0x00189ddd}}}, + {X: Field{[10]uint32{0x03a6b1ea, 0x02c8673e, 0x034a5089, 0x03e9648e, 0x00aef6d8, 0x00e73545, 0x02b3bd53, 0x02903dc7, 0x02d3f44e, 0x000415e1}}, Y: Field{[10]uint32{0x0343d0bc, 0x0001736d, 0x00f151ba, 0x00927f0b, 0x0139fad0, 0x03a1b42e, 0x012c4508, 0x008b2df6, 0x03dac875, 0x000a93a9}}}, + {X: Field{[10]uint32{0x02adb23f, 0x0093d205, 0x038575c6, 0x03bfc22d, 0x02d2d2d8, 0x024b3ac8, 0x01345738, 0x01b8c062, 0x0081be85, 0x0007cf03}}, Y: Field{[10]uint32{0x03f6072b, 0x03a959e2, 0x031c9faa, 0x014b4c9c, 0x0011158d, 0x027135ed, 0x02f48408, 0x012673d4, 0x0290de24, 0x0001cc85}}}, + {X: Field{[10]uint32{0x028bd2b3, 0x03d1aa91, 0x01c9f5ab, 0x01afc5be, 0x02e43787, 0x020cee83, 0x012484ff, 0x0257e824, 0x02e3a95a, 0x0005b72e}}, Y: Field{[10]uint32{0x01ffa44d, 0x027c9056, 0x00034344, 0x00ab3785, 0x0030e558, 0x031a45c0, 0x02de4733, 0x004b5b06, 0x0007247b, 0x00159c9f}}}, + {X: Field{[10]uint32{0x02e70726, 0x02510e36, 0x03fff1c7, 0x029927b6, 0x02e42314, 0x017b6af1, 0x00ff3c0f, 0x00f23e49, 0x016cd672, 0x000452f9}}, Y: Field{[10]uint32{0x028ac521, 0x03641949, 0x035e1d5f, 0x01d6511c, 0x0245b61b, 0x00cb3e9e, 0x0180046b, 0x037ab9f1, 0x0172855c, 0x00026137}}}, + {X: Field{[10]uint32{0x0103fdaf, 0x02dfab36, 0x0217d747, 0x00ea35d3, 0x0351766b, 0x03d6eaff, 0x029dbac7, 0x0211cb85, 0x02e601f9, 0x0023432c}}, Y: Field{[10]uint32{0x00bc9b92, 0x03dcdaa0, 0x0160a0f1, 0x02ae2678, 0x01f06b36, 0x033aaec4, 0x00ea3682, 0x024fdc97, 0x03f5b9e7, 0x0034564e}}}, + {X: Field{[10]uint32{0x01714db3, 0x01c9fd4c, 0x005caab4, 0x00f9212d, 0x0134e3b4, 0x020125a4, 0x032f3a2c, 0x020b936d, 0x0354188c, 0x0016d081}}, Y: Field{[10]uint32{0x00723d9f, 0x01b304e9, 0x008838bf, 0x0171dd66, 0x001c7eed, 0x0066f852, 0x00d16437, 0x03cd81eb, 0x007d27d7, 0x0012a24c}}}, + {X: Field{[10]uint32{0x00cbf74b, 0x006d63e2, 0x006ed18c, 0x00b87311, 0x019f01c6, 0x0003f82d, 0x0056a728, 0x00765a36, 0x021d9576, 0x002478dd}}, Y: Field{[10]uint32{0x0396c772, 0x00494c0a, 0x02bc7258, 0x03034cf7, 0x01b73a58, 0x02667bd5, 0x033389e9, 0x020dd8a3, 0x01e396f8, 0x002d6ad8}}}, + {X: Field{[10]uint32{0x001a4655, 0x0174a717, 0x02ad35b0, 0x007c0b62, 0x02016e0f, 0x02af814a, 0x02f55480, 0x0397ca70, 0x0383dc77, 0x000c4e02}}, Y: Field{[10]uint32{0x0193403d, 0x00ff8999, 0x01b20107, 0x02f06a87, 0x02b42173, 0x020e7342, 0x0034342b, 0x03a9c8f1, 0x03aecc84, 0x0008f32b}}}, + {X: Field{[10]uint32{0x021edd27, 0x0336a02c, 0x0239a764, 0x009e8325, 0x038f3f37, 0x02406554, 0x00b44c7c, 0x01099241, 0x018cbcd5, 0x002b9006}}, Y: Field{[10]uint32{0x00eeba8f, 0x02b988cd, 0x012005cf, 0x0269b0e7, 0x02ffceea, 0x009f6628, 0x01a0e7c8, 0x0333f336, 0x0308ffec, 0x0000e95f}}}, + {X: Field{[10]uint32{0x00a981c8, 0x0093222a, 0x0015f73e, 0x0151c9ed, 0x015764a8, 0x0066ec09, 0x01b1d3ac, 0x0303c492, 0x0387abea, 0x003d1ca5}}, Y: Field{[10]uint32{0x0265d172, 0x02d3a7ab, 0x0319d00a, 0x00542ff9, 0x03b51aae, 0x03851b41, 0x039783fd, 0x004ca31f, 0x01a568d8, 0x0038c458}}}, + {X: Field{[10]uint32{0x02d5884a, 0x03205d5f, 0x03b69ce4, 0x023029f5, 0x02f52d3b, 0x03a13429, 0x0059b617, 0x0224d3dc, 0x02b83414, 0x003e4bc0}}, Y: Field{[10]uint32{0x00864080, 0x00f3d06a, 0x026b706f, 0x023c3eed, 0x03cacd20, 0x031b7a92, 0x00eb5305, 0x00c08222, 0x02f88273, 0x003ebb5f}}}, + {X: Field{[10]uint32{0x00c93363, 0x00f385df, 0x01ec49ed, 0x008acac3, 0x029efe40, 0x007e13f0, 0x028cc4dd, 0x035a082f, 0x00aae93b, 0x0028afb6}}, Y: Field{[10]uint32{0x018ada1d, 0x003277c6, 0x00213d63, 0x02cecfc2, 0x027bf235, 0x03b7ae27, 0x0340f299, 0x01bedf80, 0x01c96212, 0x000a1eae}}}, + {X: Field{[10]uint32{0x03af4724, 0x01063e6d, 0x0198e899, 0x038b80a5, 0x00cf6219, 0x024c204d, 0x0309dc80, 0x00474666, 0x03cd3d18, 0x001690b3}}, Y: Field{[10]uint32{0x013f8423, 0x03ba3c16, 0x007172e0, 0x00f583ee, 0x02e30141, 0x002fc970, 0x02a83b18, 0x0275dac3, 0x021c3992, 0x0025739c}}}, + {X: Field{[10]uint32{0x030e530f, 0x028ae516, 0x0278940b, 0x01ae850d, 0x012e768a, 0x0105d421, 0x03f1eca4, 0x02fc64c8, 0x030567e8, 0x000749ea}}, Y: Field{[10]uint32{0x01e1afa8, 0x00cf9a84, 0x01b07c6c, 0x03775468, 0x02a23e3d, 0x01ac124c, 0x02532be7, 0x00a68562, 0x0139496d, 0x000610e6}}}, + {X: Field{[10]uint32{0x02ab4326, 0x01d2451b, 0x03d319bc, 0x0222dc98, 0x01bbbf80, 0x01337cff, 0x002fcf6e, 0x016fd12d, 0x005922c0, 0x00164afe}}, Y: Field{[10]uint32{0x004c7f65, 0x016f1d00, 0x0201e7d9, 0x01da3dfd, 0x013aaab9, 0x028bab09, 0x03946f3b, 0x03c3bf78, 0x00c38dcc, 0x002132f6}}}, + {X: Field{[10]uint32{0x009359d5, 0x02785bc0, 0x00fcf1dd, 0x015b40f1, 0x010d4df1, 0x03bab710, 0x0001f4ad, 0x036ae2ff, 0x02705ae3, 0x00199cc2}}, Y: Field{[10]uint32{0x038273ee, 0x03d5e81d, 0x03718582, 0x00b1218f, 0x036e8f42, 0x026e7bec, 0x03b91701, 0x0362c89c, 0x00c44ea1, 0x0030131f}}}, + {X: Field{[10]uint32{0x03b7fe83, 0x016453b6, 0x011ae07c, 0x01ee5e52, 0x001ce689, 0x01392158, 0x03b246d8, 0x0082b027, 0x02005324, 0x000f4009}}, Y: Field{[10]uint32{0x00c7d98e, 0x010775e5, 0x0152a532, 0x0074c871, 0x03c221fa, 0x00925148, 0x00c48557, 0x03539def, 0x02642f16, 0x0016f5cc}}}, + {X: Field{[10]uint32{0x03a24487, 0x03509d50, 0x021c061e, 0x02b5c42a, 0x02750395, 0x008b8b0a, 0x0089d37d, 0x0348bf48, 0x02362b5d, 0x000350ab}}, Y: Field{[10]uint32{0x0339ada7, 0x01863fb2, 0x02fc9c2a, 0x0126ca84, 0x00ded0a6, 0x0046dbdf, 0x03cc24ba, 0x0387a94e, 0x02001571, 0x002110e7}}}, + {X: Field{[10]uint32{0x02253743, 0x03c494ea, 0x01670ede, 0x00796f74, 0x00409e10, 0x0063a41d, 0x00b306dc, 0x02aff400, 0x01ca486f, 0x000df1d8}}, Y: Field{[10]uint32{0x010cad12, 0x01fd99ee, 0x033d0627, 0x02a5701f, 0x0129669d, 0x01ecb2e2, 0x02c241ae, 0x0036c627, 0x00e30111, 0x00394e10}}}, + {X: Field{[10]uint32{0x03b0e788, 0x027b42bc, 0x0345b288, 0x0206865c, 0x002afa97, 0x016b035b, 0x0019f371, 0x02f23bae, 0x02f8bbaf, 0x001399cb}}, Y: Field{[10]uint32{0x00814061, 0x03f3d30e, 0x0385204a, 0x02e5464d, 0x03130cb0, 0x018b83aa, 0x000133fe, 0x03601d1a, 0x00dbbb16, 0x0027043c}}}, + {X: Field{[10]uint32{0x03d51fec, 0x01e475a3, 0x03a68ed8, 0x004bcd6a, 0x0108e1df, 0x01bd8a52, 0x00635ae6, 0x01e4a7a7, 0x003b23c0, 0x00307ca5}}, Y: Field{[10]uint32{0x0264ae75, 0x0352ffba, 0x005fdfc4, 0x0319a001, 0x012f2262, 0x029ac441, 0x01f7ef96, 0x017b1664, 0x02c893ad, 0x000cddad}}}, + {X: Field{[10]uint32{0x00370be6, 0x0180abb0, 0x00ffce17, 0x01b5ebf7, 0x01351e82, 0x0198f994, 0x00f10cdf, 0x036611cb, 0x021e739c, 0x000f7c91}}, Y: Field{[10]uint32{0x0292cb06, 0x000340b1, 0x0301fc9f, 0x0295fbab, 0x02bd5ec5, 0x0206b6aa, 0x014eeb00, 0x0303b0d6, 0x00b33ed9, 0x0017923f}}}, + {X: Field{[10]uint32{0x022a82b7, 0x02307cf5, 0x033fd551, 0x009d6d8e, 0x0150f123, 0x02d83f61, 0x004ecfba, 0x024b57d3, 0x0128f98b, 0x003534f5}}, Y: Field{[10]uint32{0x027d5b76, 0x0034b3b6, 0x01a2e049, 0x00ed52c1, 0x01255405, 0x02612f02, 0x01a838ed, 0x01779a64, 0x01508543, 0x0019125b}}}, + {X: Field{[10]uint32{0x0209236b, 0x039f4084, 0x01108b3e, 0x011c3889, 0x03ad6448, 0x00ffc0e9, 0x03a41136, 0x00da3c69, 0x019b4aa3, 0x003b360e}}, Y: Field{[10]uint32{0x01355213, 0x00dc48dd, 0x011af30f, 0x023c1329, 0x01c629d8, 0x00f00b2d, 0x0351e617, 0x0070a438, 0x01fba792, 0x000b8482}}}, + {X: Field{[10]uint32{0x01f78722, 0x00cb8273, 0x01ae38c3, 0x01c1e173, 0x01416d1a, 0x02cd1356, 0x033354af, 0x0036a40c, 0x03e57e6a, 0x00356642}}, Y: Field{[10]uint32{0x03a17814, 0x0316445e, 0x01eceeef, 0x03224e5e, 0x00278f73, 0x01110402, 0x039198d3, 0x01bcf441, 0x018b73f7, 0x002ca8b3}}}, + {X: Field{[10]uint32{0x00374b1b, 0x03c10aa4, 0x0174f85e, 0x0224a1ef, 0x02b57e90, 0x01876007, 0x03d59786, 0x03b402bc, 0x03651d8c, 0x001d662a}}, Y: Field{[10]uint32{0x0028f04f, 0x036d835b, 0x00240b60, 0x021e3d33, 0x027edaae, 0x0008ba7b, 0x000cbd4b, 0x02c7fee7, 0x00269466, 0x001627f1}}}, + {X: Field{[10]uint32{0x01f694e7, 0x0248b3d0, 0x00e7d7e0, 0x03f663af, 0x03be088c, 0x00714c06, 0x02048b76, 0x00b4c614, 0x0017b12d, 0x003f41c5}}, Y: Field{[10]uint32{0x0232c363, 0x013688ef, 0x00b45966, 0x01d163be, 0x00d47d8f, 0x01ad5236, 0x01f679d9, 0x00ee4cab, 0x03f10ee6, 0x000b6714}}}, + {X: Field{[10]uint32{0x0372ca0e, 0x01b3804a, 0x038d15e5, 0x02ff2f0a, 0x02b1e513, 0x03a4d1fc, 0x01571ac8, 0x021a2b47, 0x0190e290, 0x001696d2}}, Y: Field{[10]uint32{0x03ebf968, 0x0186663b, 0x005d5e51, 0x039fa0c5, 0x01424285, 0x0313271f, 0x01569f63, 0x02549150, 0x02f50715, 0x0031da14}}}, + {X: Field{[10]uint32{0x01e7f2bd, 0x023015bf, 0x020f5972, 0x02057cf4, 0x0225c900, 0x01ba9bcd, 0x035a415f, 0x03c5190b, 0x00243cd4, 0x0024f7bb}}, Y: Field{[10]uint32{0x032dc7cb, 0x0217c96f, 0x0336dd5e, 0x0164641d, 0x006abfa8, 0x0150527d, 0x0378145f, 0x00e85987, 0x01beb999, 0x00223e46}}}, + {X: Field{[10]uint32{0x02df82b6, 0x02645f91, 0x02602f5c, 0x01f9d84e, 0x019c9bec, 0x001a350e, 0x01104c93, 0x03659e5a, 0x017ba65a, 0x00248934}}, Y: Field{[10]uint32{0x00a32f65, 0x03bef3c6, 0x0071055c, 0x03ef3d69, 0x001b5691, 0x03ac4193, 0x0289e54e, 0x0293a31d, 0x00e32bc2, 0x000d1b26}}}, + {X: Field{[10]uint32{0x0379c38e, 0x015450ce, 0x011890f0, 0x00ddb956, 0x01cfc916, 0x01cd1e9c, 0x00f054b8, 0x03fe7053, 0x009124dd, 0x002146b3}}, Y: Field{[10]uint32{0x02116f35, 0x031a7307, 0x0213a55c, 0x03c4c3c3, 0x022dd20b, 0x03127715, 0x00527e8c, 0x00730d0c, 0x01f058d2, 0x0036566f}}}, + {X: Field{[10]uint32{0x00ea4d96, 0x0041d7cb, 0x012122b7, 0x004a4c7e, 0x00eff0a6, 0x0120a544, 0x03e01ef4, 0x00471421, 0x0303b7c1, 0x003fdb04}}, Y: Field{[10]uint32{0x034841f6, 0x003ba85e, 0x01574537, 0x03fd6a56, 0x027e99d0, 0x02495417, 0x02239beb, 0x0142a832, 0x03bf7bcf, 0x00093c26}}}, + {X: Field{[10]uint32{0x035fdac0, 0x02f18d90, 0x029d06a4, 0x013d3d32, 0x020fd501, 0x022dbb2d, 0x03fb51ec, 0x02f4750c, 0x01f055e7, 0x003c8ef6}}, Y: Field{[10]uint32{0x016d7b60, 0x00653ba9, 0x03da69d2, 0x01f7c482, 0x0325ba91, 0x03b91d11, 0x02e7012a, 0x026b65a3, 0x00589d26, 0x002594ad}}}, + {X: Field{[10]uint32{0x01f46ff7, 0x01549e92, 0x035642a0, 0x03e4e46e, 0x001fe070, 0x02ef52bc, 0x0023e601, 0x017465ee, 0x0056ea6d, 0x0027588b}}, Y: Field{[10]uint32{0x015c609e, 0x00ea473f, 0x01494e6c, 0x0310b809, 0x02c648c7, 0x01b6cf72, 0x03bd5576, 0x0217fb67, 0x03940d64, 0x0020186e}}}, + {X: Field{[10]uint32{0x03020c13, 0x0342b7cb, 0x03b80370, 0x03795a4c, 0x012915af, 0x001ee658, 0x014b67c4, 0x03579d8e, 0x03e4cff5, 0x0025253b}}, Y: Field{[10]uint32{0x00a7e4ea, 0x016bce16, 0x00a8184f, 0x02e3f4fc, 0x03fd86ec, 0x03908dcb, 0x03964b2d, 0x03873009, 0x0238c85e, 0x002ac31f}}}, + {X: Field{[10]uint32{0x012e1a86, 0x005802a5, 0x03268dbe, 0x01665d00, 0x00e028c2, 0x024e2807, 0x028cb6c2, 0x014bf002, 0x03baffbc, 0x002a3935}}, Y: Field{[10]uint32{0x011a0bed, 0x019f0a4d, 0x0096fc9f, 0x02e72591, 0x02cc7eee, 0x01bc59c8, 0x0379723c, 0x0008b013, 0x003d0dc3, 0x0002356e}}}, + {X: Field{[10]uint32{0x00927ac5, 0x030eed79, 0x00df1f17, 0x02bc5467, 0x01203c01, 0x035cb5e9, 0x03191ad4, 0x01183fbf, 0x0364938e, 0x0020e107}}, Y: Field{[10]uint32{0x03536800, 0x00075e7a, 0x03e4180e, 0x0036c813, 0x02ecb1f3, 0x00105712, 0x03733974, 0x01c92484, 0x00f2c2e8, 0x0003d61a}}}, + {X: Field{[10]uint32{0x020612f6, 0x00f220c0, 0x02acbd62, 0x03da542b, 0x02af2a2d, 0x02d65fec, 0x00dcba67, 0x00fe2a18, 0x00d95ef0, 0x003ba25d}}, Y: Field{[10]uint32{0x00f141ac, 0x0381fe29, 0x0321634e, 0x03ebadf3, 0x016596ab, 0x03e7dd8f, 0x02951453, 0x01775f31, 0x01740308, 0x00173c43}}}, + {X: Field{[10]uint32{0x02579606, 0x0006982d, 0x01857b2d, 0x01ac9a47, 0x01a92dde, 0x0109d8a3, 0x036e5fa3, 0x01b28ec4, 0x018c2361, 0x001a3a23}}, Y: Field{[10]uint32{0x00fd5450, 0x01345e68, 0x03c41257, 0x01ce1a85, 0x01e5ec7b, 0x02da959d, 0x00c5d609, 0x035baf16, 0x00903766, 0x000016a4}}}, + {X: Field{[10]uint32{0x0122345b, 0x031626a5, 0x02e7c50a, 0x016b38ec, 0x00cfe6ab, 0x01333290, 0x01bea794, 0x0322d883, 0x018ac62e, 0x003f8d37}}, Y: Field{[10]uint32{0x03d6c8c0, 0x02ee6fda, 0x025bff0a, 0x03562634, 0x0330c9ed, 0x034f8029, 0x01611d7b, 0x0384894d, 0x0055adf1, 0x002233c0}}}, + {X: Field{[10]uint32{0x0251bc1f, 0x017c8d60, 0x03ff7f6a, 0x019bf462, 0x00099893, 0x004c5cda, 0x0262479c, 0x005226aa, 0x029cc0f8, 0x00108e9e}}, Y: Field{[10]uint32{0x01c678ee, 0x00986f4a, 0x0271fde4, 0x02591cb3, 0x01259ce8, 0x01844b90, 0x02776ea1, 0x0090740b, 0x03dd0519, 0x003249ac}}}, + {X: Field{[10]uint32{0x010b98f4, 0x013c55eb, 0x00e730ed, 0x02d1c9f0, 0x010ffb0e, 0x00b82364, 0x01bb840b, 0x0153ff98, 0x03f97cbf, 0x001fe982}}, Y: Field{[10]uint32{0x0294d733, 0x02cec243, 0x0281f6e7, 0x03b5e5e3, 0x027e296f, 0x01fdcda9, 0x01c7b26a, 0x021ee3f7, 0x02df84d3, 0x00356c6a}}}, + {X: Field{[10]uint32{0x00153a66, 0x01dd0cd8, 0x0098cf1e, 0x01743bbe, 0x01829481, 0x0245fe45, 0x02df8a66, 0x037af1df, 0x030ef1ed, 0x002794f2}}, Y: Field{[10]uint32{0x02b41ccf, 0x03e05fd1, 0x037a2ed8, 0x0273f955, 0x01498349, 0x022faf82, 0x024c6f1b, 0x028a86e6, 0x02f260fe, 0x0014d636}}}, + {X: Field{[10]uint32{0x02d6f119, 0x01a5548e, 0x01e9631e, 0x023a3b24, 0x00140471, 0x0150ccb0, 0x0344ad53, 0x0319de66, 0x0241c616, 0x002b7e4d}}, Y: Field{[10]uint32{0x0242ff9e, 0x00a84edf, 0x00619dfe, 0x01056b4e, 0x028dc172, 0x031ab10a, 0x01f67615, 0x02cf7fd5, 0x02afe4cf, 0x00368f19}}}, + {X: Field{[10]uint32{0x034e4ca8, 0x01bb2d91, 0x02f0c972, 0x0310e5bd, 0x035b6242, 0x02f857d2, 0x0287ddb2, 0x02cd9ec1, 0x03ec485d, 0x0001c078}}, Y: Field{[10]uint32{0x013b9e83, 0x0360644b, 0x00f946f2, 0x033cf44f, 0x03691aa3, 0x001d00dd, 0x01f7fea3, 0x0387140a, 0x027613dc, 0x0004263e}}}, + {X: Field{[10]uint32{0x00ccfefc, 0x0036443e, 0x01e84aac, 0x01781852, 0x02d51364, 0x03149402, 0x01a7e042, 0x02a8167a, 0x03a5d3ec, 0x00363f16}}, Y: Field{[10]uint32{0x034b3d8a, 0x025c225e, 0x01920c25, 0x020f95e3, 0x02df96ee, 0x00e8b7c1, 0x014b4d98, 0x025369d2, 0x034d0eec, 0x001c9c92}}}, + {X: Field{[10]uint32{0x0371398e, 0x03aa0fbf, 0x038dcc9e, 0x027528ce, 0x00c900cb, 0x02aa97c3, 0x018a186f, 0x03fedc19, 0x039a8279, 0x001ef223}}, Y: Field{[10]uint32{0x03a14a7c, 0x01581983, 0x001b0aa9, 0x027c7d56, 0x034939d3, 0x0022ddbd, 0x02d8c77e, 0x02054468, 0x01dfe5ed, 0x00337348}}}, + {X: Field{[10]uint32{0x035ef0e5, 0x01ba845b, 0x019190f4, 0x0297befe, 0x03e5fb92, 0x03c85ca8, 0x0219bc77, 0x02787db8, 0x01310bc7, 0x00215e35}}, Y: Field{[10]uint32{0x03b7d550, 0x01d67344, 0x00290768, 0x0137b45f, 0x00cac2d0, 0x008ce3e7, 0x02ef5e05, 0x018b1a53, 0x02ac39c2, 0x003f346c}}}, + {X: Field{[10]uint32{0x00020a62, 0x0379d62a, 0x010935cd, 0x008112ee, 0x02d41240, 0x01f87302, 0x01eb5f43, 0x01986d51, 0x02d73ea2, 0x00262f08}}, Y: Field{[10]uint32{0x02232226, 0x038530a0, 0x032d9f32, 0x03ca86a8, 0x002607bf, 0x03118be5, 0x02c8d83c, 0x02e96f0a, 0x01de0d33, 0x00050f1f}}}, + {X: Field{[10]uint32{0x01e8ee10, 0x0112c2b5, 0x0001aaca, 0x0197a8f1, 0x019980f2, 0x016fc215, 0x008106ca, 0x005db742, 0x021e95d2, 0x001ff3e0}}, Y: Field{[10]uint32{0x02400284, 0x03b274bf, 0x01cfb266, 0x01506ce2, 0x03c127b0, 0x02389f2a, 0x02f4598e, 0x02bfbbe2, 0x01ae87e7, 0x0009f0d0}}}, + {X: Field{[10]uint32{0x0216a5f1, 0x00a4ba80, 0x02ca8316, 0x01e87f1d, 0x0367acd6, 0x028cd3e4, 0x03e195b6, 0x03bc17e1, 0x01b9d440, 0x0022628e}}, Y: Field{[10]uint32{0x00ce52ef, 0x03290ec6, 0x037c3fc2, 0x0398af53, 0x02c0db80, 0x0113eafe, 0x011cae97, 0x01d394bf, 0x03bbfe32, 0x003ad90b}}}, + {X: Field{[10]uint32{0x032192a4, 0x00e2fd0f, 0x03e3cbf1, 0x009e0cc8, 0x0287d6a6, 0x03c62fe6, 0x01624801, 0x0308582a, 0x00a28918, 0x000fba5d}}, Y: Field{[10]uint32{0x01660d9c, 0x002d56f3, 0x01c63dc5, 0x03f04375, 0x020fde39, 0x0183f483, 0x01d5b2a9, 0x03acd526, 0x02dfac71, 0x003d6ce1}}}, + {X: Field{[10]uint32{0x0047c14a, 0x030fcd90, 0x010a57dd, 0x03d0bed8, 0x019766bb, 0x001b0494, 0x03753eed, 0x037cd26a, 0x012fde76, 0x002f7443}}, Y: Field{[10]uint32{0x02923dec, 0x01d0cc05, 0x03bbd6bc, 0x03da7100, 0x022b8b47, 0x02d1000c, 0x0327664a, 0x01fae6e2, 0x02ed34f9, 0x0014114c}}}, + {X: Field{[10]uint32{0x03edd63d, 0x0028738e, 0x02b23c00, 0x0123105d, 0x02477a51, 0x02e7fca4, 0x039a4a0e, 0x0104913f, 0x00373978, 0x000b05e5}}, Y: Field{[10]uint32{0x032fcfb6, 0x039803c3, 0x00173e37, 0x03dcf98c, 0x002c1ca5, 0x02684aa3, 0x02fcccab, 0x01ecaea0, 0x01844f9b, 0x0028d9ed}}}, + {X: Field{[10]uint32{0x03e71580, 0x0225e62c, 0x01841362, 0x028cb4f3, 0x01a83036, 0x03ba5faf, 0x031e6df6, 0x00744dbd, 0x030ef2d6, 0x000a0bbc}}, Y: Field{[10]uint32{0x03d0f43a, 0x02097738, 0x0286fc47, 0x030c7d63, 0x035b4f9d, 0x028ff247, 0x00252647, 0x03a8b953, 0x0133c350, 0x00242c33}}}, + {X: Field{[10]uint32{0x019eff23, 0x00e31ce2, 0x00ef71ea, 0x03ab6c4e, 0x01085bf6, 0x03b82faf, 0x00ab3d50, 0x03e9f2d5, 0x015542ac, 0x00290ad3}}, Y: Field{[10]uint32{0x03566bb7, 0x03cf3287, 0x030bdb1f, 0x00e83f4b, 0x0363d0e0, 0x009ac2e7, 0x00c49973, 0x02649dd9, 0x0080f10b, 0x0005f8e2}}}, + {X: Field{[10]uint32{0x037ef00e, 0x008947bf, 0x0138b1a0, 0x0295d7cf, 0x01a06fce, 0x02562556, 0x0180d474, 0x00323d2d, 0x0064c5b0, 0x002c8eb3}}, Y: Field{[10]uint32{0x00b6464f, 0x01502a87, 0x007293bc, 0x02b3fe42, 0x03073964, 0x0115fd79, 0x03e6a17d, 0x0193612f, 0x000a7eaa, 0x0019aec6}}}, + {X: Field{[10]uint32{0x01885ea7, 0x0298a3dd, 0x03023411, 0x0273b31d, 0x0189df02, 0x001d45ba, 0x001ce7a4, 0x02c18d1a, 0x00e696ae, 0x000250b7}}, Y: Field{[10]uint32{0x007caf14, 0x00fe02dc, 0x02784ba1, 0x02eb545e, 0x01c439f0, 0x00eabed1, 0x02b06cea, 0x01ecfdad, 0x028a88be, 0x0038822f}}}, + {X: Field{[10]uint32{0x00392d16, 0x01196ae2, 0x020e1610, 0x0253843a, 0x0023e64a, 0x01c7ae52, 0x038e4dbe, 0x013b0208, 0x02b95219, 0x002e29a8}}, Y: Field{[10]uint32{0x03a5fec1, 0x018f5472, 0x015c74cb, 0x03d306d5, 0x0034c7be, 0x010ef896, 0x02758ae3, 0x03b8fdde, 0x0331b8e5, 0x003e00a7}}}, + {X: Field{[10]uint32{0x0068fc20, 0x020ff082, 0x016d90cc, 0x03105e90, 0x02f15fea, 0x0298532d, 0x03db083e, 0x0017dec7, 0x0369a1ee, 0x0028db4c}}, Y: Field{[10]uint32{0x02f0af52, 0x00c9f8dd, 0x01f10e94, 0x03817c28, 0x00aacd2a, 0x02a7f5c5, 0x03b76516, 0x03c9f56d, 0x03f9fe40, 0x00392af5}}}, + {X: Field{[10]uint32{0x008dda1d, 0x03d790c2, 0x00cc0ebe, 0x01a3d142, 0x016f03bd, 0x035bf535, 0x00cc89b9, 0x006b9bff, 0x01083d71, 0x0013a8c0}}, Y: Field{[10]uint32{0x00a3e513, 0x01e4f557, 0x02c83eed, 0x017f3957, 0x0340f9ea, 0x015059b4, 0x0154bcf1, 0x01652419, 0x017a8b1c, 0x00207a66}}}, + {X: Field{[10]uint32{0x02ffdc55, 0x03d0938a, 0x0175ece2, 0x023d01a8, 0x020fee11, 0x0109edc4, 0x0342e62e, 0x02271d91, 0x03161c1c, 0x000808a1}}, Y: Field{[10]uint32{0x03fa35b1, 0x005dd999, 0x02c28bc8, 0x00317b34, 0x0291eaff, 0x00787426, 0x00d28644, 0x029fcd0a, 0x025ecf26, 0x001e0de5}}}, + {X: Field{[10]uint32{0x0070d20c, 0x036dfa18, 0x0384cf5a, 0x024bc599, 0x0395be90, 0x00481848, 0x010d4296, 0x03c5815e, 0x02fc8e4b, 0x0034f01c}}, Y: Field{[10]uint32{0x00daf31a, 0x032ae0b6, 0x01c0cf5b, 0x03ac2bf4, 0x00f412e0, 0x03de6472, 0x015c0faa, 0x01d6eeed, 0x0262594c, 0x001c9a20}}}, + {X: Field{[10]uint32{0x0130ec82, 0x037d8381, 0x03dad3e6, 0x02f729d8, 0x0294003d, 0x0228d534, 0x00e8f342, 0x03e9f33c, 0x007ce307, 0x000a536b}}, Y: Field{[10]uint32{0x0384673d, 0x026d17f3, 0x01ecc0fb, 0x020ebf52, 0x02cfbcc7, 0x0298c279, 0x02807c4b, 0x02a98abb, 0x0222a7bc, 0x0011e7f0}}}, + {X: Field{[10]uint32{0x02732fae, 0x01766b13, 0x0175c707, 0x0027a891, 0x02225de6, 0x01ec9dbf, 0x0042a8d6, 0x03a36790, 0x025cc09f, 0x000e55b2}}, Y: Field{[10]uint32{0x02eaa23e, 0x01e89a8b, 0x00302e28, 0x0075ef5e, 0x03719643, 0x007f58bc, 0x025ee0ce, 0x02414a74, 0x03e7a821, 0x00072597}}}, + {X: Field{[10]uint32{0x01fb3def, 0x03a0afe4, 0x029e697e, 0x0359b61e, 0x014f4109, 0x0125005d, 0x036eb068, 0x012d239c, 0x0396da14, 0x000934b8}}, Y: Field{[10]uint32{0x0372236e, 0x01f43668, 0x0081e76d, 0x01d47f9f, 0x02ea875c, 0x036eb484, 0x01e3c9ce, 0x00bf3f74, 0x037224b0, 0x002ede79}}}, + {X: Field{[10]uint32{0x01a2aa5e, 0x038ae6e6, 0x00d3ab49, 0x0224f84b, 0x01188528, 0x03670be4, 0x03f9619d, 0x01701ff2, 0x0042f16e, 0x0018e350}}, Y: Field{[10]uint32{0x032b3d92, 0x0392acac, 0x024db222, 0x010dd2e2, 0x03f618da, 0x03976051, 0x039eb8b8, 0x00429037, 0x00424f00, 0x0034365e}}}, + {X: Field{[10]uint32{0x030d866c, 0x019e0a23, 0x00c5cd7d, 0x02218da0, 0x0194202d, 0x00c0cb87, 0x0323a1fd, 0x01caeaec, 0x015ba999, 0x0003e46b}}, Y: Field{[10]uint32{0x0052bdc0, 0x02853565, 0x03571e24, 0x0386c344, 0x001cb558, 0x03eccb6b, 0x038bb4fe, 0x005d68e8, 0x0145a693, 0x00182d9b}}}, + {X: Field{[10]uint32{0x02a69b7c, 0x005c9cba, 0x03c39c64, 0x0236239f, 0x039e6af4, 0x01b40dc2, 0x031fb88a, 0x0097c53f, 0x037d779c, 0x000c5504}}, Y: Field{[10]uint32{0x02295f7a, 0x034e7ee4, 0x03b13560, 0x0066c664, 0x02c1980c, 0x00991213, 0x00e112a9, 0x005e28e6, 0x011e9c09, 0x003acef6}}}, + {X: Field{[10]uint32{0x01549597, 0x0072e4d8, 0x01355072, 0x00b65286, 0x01f710be, 0x03475e99, 0x03acb3c1, 0x027f2078, 0x021fdfdf, 0x003e2087}}, Y: Field{[10]uint32{0x018993ec, 0x013116df, 0x002a3f4b, 0x00171ebf, 0x02c5770c, 0x033ca396, 0x03635b9d, 0x014a0946, 0x0068c1e0, 0x002ed41e}}}, + {X: Field{[10]uint32{0x0354a655, 0x013d8fa0, 0x033b06dd, 0x02be1c0c, 0x00ec5d6f, 0x01438eb6, 0x018aa900, 0x0012968b, 0x023a5214, 0x00210251}}, Y: Field{[10]uint32{0x01db3bd4, 0x0215efb8, 0x01ecf91b, 0x00949a68, 0x031b8a65, 0x00edeacd, 0x00c1b668, 0x00b294e7, 0x012b8509, 0x00332651}}}, + {X: Field{[10]uint32{0x003bc471, 0x01041980, 0x01e09f72, 0x0395a08a, 0x02314380, 0x015d1767, 0x0222eb53, 0x01c2d5b6, 0x001112d3, 0x0025a009}}, Y: Field{[10]uint32{0x005d8f38, 0x017e518a, 0x0092ff49, 0x000c4eed, 0x0327d6c7, 0x0165b440, 0x020419d6, 0x030807fe, 0x01377f03, 0x00376b0b}}}, + {X: Field{[10]uint32{0x023a69c8, 0x027f0fe8, 0x01393d3f, 0x01fda329, 0x020f85e8, 0x005c2547, 0x03628244, 0x00568571, 0x02ec9f57, 0x002746ae}}, Y: Field{[10]uint32{0x0328cadf, 0x02b4a2cf, 0x03bdd149, 0x039e6219, 0x0071b010, 0x02508d4e, 0x00c89e62, 0x02d8708e, 0x030050db, 0x003c87b9}}}, + {X: Field{[10]uint32{0x001f7ae6, 0x01d0b585, 0x03a32f72, 0x02816166, 0x019886d6, 0x012c10dc, 0x03234b6a, 0x02bd1b0d, 0x02918db3, 0x0007ee59}}, Y: Field{[10]uint32{0x001f7379, 0x035560b5, 0x00ecab09, 0x01e08101, 0x02a17b55, 0x03a69096, 0x034c4426, 0x03f647df, 0x02cc207e, 0x0022f04f}}}, + {X: Field{[10]uint32{0x021ec7b8, 0x00876da7, 0x01281ee2, 0x03c169e0, 0x02416d54, 0x0010a3a2, 0x00bcb23e, 0x0136ac26, 0x0364b927, 0x0008b678}}, Y: Field{[10]uint32{0x02d8407d, 0x01219780, 0x024c1c1e, 0x0244a3e4, 0x014c300a, 0x01d3a546, 0x0399195b, 0x01f6d795, 0x0258f93d, 0x0017708c}}}, + {X: Field{[10]uint32{0x0073e45d, 0x01ca5efe, 0x03ff8398, 0x030091f2, 0x01adb168, 0x0161d04c, 0x0166766d, 0x020fecc0, 0x0050aed0, 0x001897e9}}, Y: Field{[10]uint32{0x0376bb7b, 0x007d9121, 0x011175a2, 0x02196e39, 0x00fbb5a2, 0x0280913c, 0x0185ed21, 0x03241195, 0x0104473d, 0x001c82a0}}}, + {X: Field{[10]uint32{0x02a2147f, 0x020bcde9, 0x028ff01f, 0x003fc86b, 0x002deacc, 0x009a06ba, 0x03b01c2e, 0x03f0977b, 0x01c19b6d, 0x00092b2c}}, Y: Field{[10]uint32{0x03ca5d4b, 0x02647774, 0x03d52783, 0x036b7ebd, 0x0193f50a, 0x01c6aaf8, 0x00abdcdb, 0x0201862a, 0x0335210e, 0x003dca74}}}, + {X: Field{[10]uint32{0x035ab555, 0x004c0b3d, 0x0339f33c, 0x025ae96c, 0x036c6d18, 0x02fdf6ce, 0x02328e3b, 0x00c353ce, 0x0003a99d, 0x0034a15a}}, Y: Field{[10]uint32{0x0292d6ff, 0x02727681, 0x00fdf568, 0x0224f9e0, 0x012b814a, 0x02d06dc9, 0x0098bbf1, 0x016e1d8b, 0x014d6470, 0x00259266}}}, + {X: Field{[10]uint32{0x00b5fe0a, 0x002f2613, 0x0031b50a, 0x023cef1e, 0x008fb529, 0x01c797f6, 0x01e95ef8, 0x01a212c5, 0x02659d19, 0x002014a7}}, Y: Field{[10]uint32{0x00b3b778, 0x0391dbc4, 0x02de6e9a, 0x02a1d3a1, 0x000b74b4, 0x01696c9a, 0x01e50bfc, 0x02faa3bf, 0x024f9ae4, 0x0021a2cf}}}, + {X: Field{[10]uint32{0x0328e183, 0x01d35fa1, 0x01dded06, 0x005a54fc, 0x030e0bb3, 0x02710c9d, 0x0288e494, 0x0007b574, 0x01aa3b82, 0x001fe466}}, Y: Field{[10]uint32{0x025288b9, 0x0387e7c6, 0x01e2ffcb, 0x0107765f, 0x00ee9d7e, 0x029c89a3, 0x02c174a3, 0x0080a551, 0x0273d037, 0x00006ae9}}}, + {X: Field{[10]uint32{0x0029ecbc, 0x0322598b, 0x02fb76d0, 0x01b59134, 0x0129b456, 0x03332c64, 0x004674cd, 0x0167d923, 0x008508e9, 0x001f4cb2}}, Y: Field{[10]uint32{0x02d39698, 0x0000d081, 0x013e866e, 0x0278c7d5, 0x02875ea9, 0x01971ce1, 0x011afb8e, 0x03fba325, 0x00ecb50b, 0x003643a5}}}, + {X: Field{[10]uint32{0x011abfbf, 0x020678cb, 0x0374cbf8, 0x03feb67a, 0x011f1727, 0x02f46fc0, 0x02ce67eb, 0x03b3215d, 0x01c09291, 0x003cae58}}, Y: Field{[10]uint32{0x0126f795, 0x001c408c, 0x00524017, 0x002b5030, 0x00ed0aec, 0x0195bd8e, 0x00382208, 0x01a8d91b, 0x00495a1e, 0x003aff96}}}, + {X: Field{[10]uint32{0x01be876e, 0x02efefe0, 0x02676f75, 0x005d3a62, 0x026b4ae3, 0x025c606c, 0x02d6a728, 0x00ca465c, 0x02899528, 0x00366831}}, Y: Field{[10]uint32{0x02bfa042, 0x03e31eb1, 0x00d922b7, 0x024eecd4, 0x01e9039b, 0x034fc0c2, 0x0164d974, 0x02f26b45, 0x0086a0ac, 0x0034daba}}}, + {X: Field{[10]uint32{0x007c3e0a, 0x0375205f, 0x0269fbe2, 0x0048c2ce, 0x00fff299, 0x002af7d7, 0x01b2aa71, 0x01f23264, 0x03246aeb, 0x0031e8d8}}, Y: Field{[10]uint32{0x01c9e21f, 0x016c3001, 0x025f815f, 0x01235b47, 0x0102b321, 0x02d2cb52, 0x01863026, 0x0234b5e6, 0x01d70e44, 0x0004a63f}}}, + {X: Field{[10]uint32{0x00985a86, 0x010853f9, 0x00ac4830, 0x01931ff8, 0x02640d24, 0x036fd58e, 0x02535a04, 0x034ef019, 0x03a05064, 0x0018d735}}, Y: Field{[10]uint32{0x01e3ae1f, 0x014f89fa, 0x01a4ce04, 0x011fcca0, 0x00e8d5f0, 0x03e78bcc, 0x0335cfca, 0x01dfd919, 0x0265913e, 0x00003900}}}, + {X: Field{[10]uint32{0x009ee5f5, 0x02478426, 0x00adcc5b, 0x02dc85a7, 0x02eca54b, 0x0256d206, 0x035b6326, 0x03a894df, 0x024f38ed, 0x00017698}}, Y: Field{[10]uint32{0x02721779, 0x0035dc72, 0x02505a22, 0x0088dec5, 0x0248c288, 0x00e9495b, 0x03aeeb24, 0x000c03ff, 0x01baa108, 0x0034fa9b}}}, + {X: Field{[10]uint32{0x007d4d5e, 0x024a13fa, 0x0080efe1, 0x0230a5db, 0x01ce0527, 0x03f92db5, 0x001f6871, 0x01d7b24b, 0x00a2b197, 0x002a93d9}}, Y: Field{[10]uint32{0x02d4f240, 0x01e4f70f, 0x0118e293, 0x00a20e59, 0x00224ea0, 0x0160e99b, 0x036e9499, 0x0383eda5, 0x017e95fc, 0x003ce7c4}}}, + {X: Field{[10]uint32{0x027e0641, 0x02d70d90, 0x038c1477, 0x03b3af8d, 0x01d60969, 0x00b81554, 0x0293f266, 0x006d088a, 0x00ea99ff, 0x0026d946}}, Y: Field{[10]uint32{0x0393165a, 0x01d21f63, 0x0165627b, 0x03147508, 0x01bebdf7, 0x0014cbfe, 0x02ea9dd3, 0x03eced0e, 0x02558650, 0x000ba7c5}}}, + {X: Field{[10]uint32{0x0297b562, 0x024f402b, 0x011594b1, 0x01ffec40, 0x006547f4, 0x03772fae, 0x02011381, 0x00b83e87, 0x02a2b597, 0x001b26e6}}, Y: Field{[10]uint32{0x0275e27d, 0x01280e18, 0x02d3b162, 0x02c99d1d, 0x02a6e78e, 0x034816f6, 0x0123d0f9, 0x01c74af9, 0x011c8d4c, 0x002bc276}}}, + {X: Field{[10]uint32{0x03467cbe, 0x019984b6, 0x01f71f53, 0x031a8df9, 0x00cf80ae, 0x031c44a8, 0x02365410, 0x02571579, 0x00803cdc, 0x0028a872}}, Y: Field{[10]uint32{0x0223fc09, 0x02e6cb53, 0x02fc273e, 0x00683108, 0x01802e2e, 0x00352c5d, 0x025410d5, 0x03c103ff, 0x030f3638, 0x003133d5}}}, + {X: Field{[10]uint32{0x03650427, 0x010df96a, 0x008a9ca8, 0x02b883cb, 0x0213102b, 0x02225cd9, 0x025af104, 0x033358d2, 0x0350c961, 0x00018f4d}}, Y: Field{[10]uint32{0x02339248, 0x01c01163, 0x03fa06d6, 0x03c1c4e4, 0x01f21125, 0x0261d0a8, 0x01e90dc6, 0x0269d9cb, 0x033274b3, 0x0021d054}}}, + {X: Field{[10]uint32{0x02bdd04a, 0x00582c94, 0x0130e1f5, 0x02fc66da, 0x00bcc97d, 0x02117453, 0x013e8fb5, 0x02095429, 0x0266e442, 0x002341c3}}, Y: Field{[10]uint32{0x01487ecd, 0x036a3766, 0x00bb2497, 0x02433bbd, 0x0248cdef, 0x005cf348, 0x0084099f, 0x013c1326, 0x00824f2b, 0x0012f263}}}, + {X: Field{[10]uint32{0x0291c8bd, 0x02ff4ad2, 0x01456175, 0x037decd8, 0x03e3f3d4, 0x03305963, 0x00143950, 0x00022ed4, 0x02a72e5f, 0x003c7f95}}, Y: Field{[10]uint32{0x01f275f2, 0x03219bbd, 0x017b2be2, 0x017ffa29, 0x03a19caa, 0x00da2159, 0x01e302ad, 0x01f69740, 0x02bee57a, 0x002f97ff}}}, + {X: Field{[10]uint32{0x03554b21, 0x01a87f9c, 0x01635747, 0x02756bb3, 0x03b41239, 0x019d6f31, 0x0271a950, 0x025a7a6e, 0x02dbd2eb, 0x00200b26}}, Y: Field{[10]uint32{0x0372bc5e, 0x008b84d9, 0x007efb74, 0x0326f841, 0x02cc3344, 0x01c3e703, 0x026527d3, 0x0339a59b, 0x0026f547, 0x001084c8}}}, + {X: Field{[10]uint32{0x0093db56, 0x020812c5, 0x02745c71, 0x0293c5e2, 0x009d24cd, 0x02f1e965, 0x030a5cda, 0x03b48803, 0x02c09d6c, 0x00256c6d}}, Y: Field{[10]uint32{0x02adb01d, 0x0002752d, 0x023ddf69, 0x0074db2c, 0x0127b233, 0x01b3c903, 0x00ce5e9a, 0x00f45ab2, 0x02815303, 0x002f050d}}}, + {X: Field{[10]uint32{0x02ede35d, 0x0120e9a9, 0x0169d2d6, 0x01bb5dac, 0x017b79a0, 0x005c08bc, 0x03b2aa4e, 0x013ab860, 0x012901f9, 0x0003abb5}}, Y: Field{[10]uint32{0x01d559b3, 0x009fee57, 0x03f8f9cb, 0x01f266b1, 0x00bc6e37, 0x02b5aebc, 0x02c1efa3, 0x02267376, 0x027691c5, 0x0014f56c}}}, + {X: Field{[10]uint32{0x0027d770, 0x02dcd667, 0x02abeac7, 0x0038d9ef, 0x03906d69, 0x03bcfdfc, 0x02b485b6, 0x011231cb, 0x03e59f6f, 0x001df113}}, Y: Field{[10]uint32{0x031102fd, 0x008bbafe, 0x009d3833, 0x027feb31, 0x00e6629c, 0x038f5ace, 0x00f03604, 0x003e00b3, 0x00226c44, 0x002f35d4}}}, + {X: Field{[10]uint32{0x000a0306, 0x02b97ef9, 0x0144efad, 0x01e55046, 0x00011b62, 0x0364daa2, 0x0352002c, 0x00291ad9, 0x02e2f00f, 0x003a18ec}}, Y: Field{[10]uint32{0x03243a5f, 0x03f81119, 0x00358b36, 0x01f59802, 0x01c2ed93, 0x00c7a3ab, 0x039caff6, 0x027c5c16, 0x03a36da2, 0x002d71e6}}}, + {X: Field{[10]uint32{0x02f8f191, 0x0079cbbb, 0x02dec272, 0x02d3cf73, 0x003883ad, 0x02b68c26, 0x03eedda4, 0x01c742cb, 0x03ef93df, 0x00089bd6}}, Y: Field{[10]uint32{0x001707c3, 0x008cf39d, 0x00fbcc13, 0x022f5d73, 0x00f96607, 0x02116186, 0x00a08fbe, 0x02f05228, 0x00b52bce, 0x00282481}}}, + {X: Field{[10]uint32{0x03467184, 0x03a40da0, 0x0046e3a4, 0x0292bfdf, 0x02c33bed, 0x031bc237, 0x03a82b39, 0x01f14e7c, 0x03b08c1e, 0x002a888b}}, Y: Field{[10]uint32{0x001c3765, 0x03590c5f, 0x01d4ac5d, 0x00a641ad, 0x01c1653d, 0x01b7fe4c, 0x01a7c3aa, 0x03f4e608, 0x01cf21ca, 0x00010441}}}, + {X: Field{[10]uint32{0x01fec96a, 0x01d53c78, 0x01a82239, 0x033048db, 0x01f94482, 0x025ec540, 0x01220bb3, 0x013b4f71, 0x02cd26ef, 0x00061e70}}, Y: Field{[10]uint32{0x01f0d67d, 0x01c96ddc, 0x01351464, 0x01472dcf, 0x024fc689, 0x00758c10, 0x03b16092, 0x03785247, 0x033575ea, 0x00244b57}}}, + {X: Field{[10]uint32{0x009902e0, 0x01fb2c6b, 0x03b76765, 0x007af70a, 0x026df621, 0x01c352df, 0x024cfc59, 0x03622fd2, 0x00a4e7ee, 0x002f8e79}}, Y: Field{[10]uint32{0x0227cb4e, 0x03311d9f, 0x00899f94, 0x02915857, 0x0132ae54, 0x0133d692, 0x006d9a2b, 0x029edd8c, 0x00f113fc, 0x00362c79}}}, + {X: Field{[10]uint32{0x012d5786, 0x02f70bdd, 0x00631d3f, 0x0391f3d1, 0x001c2912, 0x01b0fe2a, 0x03028368, 0x0230f740, 0x03ce3337, 0x0007a9cb}}, Y: Field{[10]uint32{0x0348906e, 0x002e220d, 0x007c9aed, 0x02c201ff, 0x000cb6e2, 0x03941ade, 0x03f261af, 0x03745333, 0x0158fe1c, 0x003883d1}}}, + {X: Field{[10]uint32{0x02036806, 0x0198beb6, 0x032423ac, 0x0046dd36, 0x022d0ca0, 0x00caf0e5, 0x00638e6f, 0x03d5f7a3, 0x03dd67bf, 0x00015b8c}}, Y: Field{[10]uint32{0x0393f461, 0x00ee4ff0, 0x02e2efbb, 0x033cf853, 0x0350d78e, 0x007795ef, 0x0317d4e4, 0x01c4c024, 0x00cc165e, 0x00100e70}}}, + {X: Field{[10]uint32{0x000f37ad, 0x01c330ba, 0x034470c4, 0x0153c429, 0x02d036ce, 0x00e2e78f, 0x02fb95a7, 0x03637c72, 0x0291a5f1, 0x00146605}}, Y: Field{[10]uint32{0x01972261, 0x02a998b1, 0x03664d31, 0x03711c7b, 0x01d03fab, 0x03a5fc11, 0x026e3c26, 0x00aa641d, 0x004767cf, 0x00027ee4}}}, + {X: Field{[10]uint32{0x00869dbd, 0x03165e66, 0x03f3016e, 0x02e6f355, 0x02b90db9, 0x03e49e65, 0x00be7f95, 0x025e0dac, 0x028577a5, 0x003bce95}}, Y: Field{[10]uint32{0x037c5e07, 0x030f6306, 0x024d372a, 0x00d92ed4, 0x03fabe11, 0x0387d1e0, 0x01782c6a, 0x01d27a52, 0x0057ff22, 0x001473f9}}}, + {X: Field{[10]uint32{0x03196415, 0x0301836b, 0x00a22523, 0x020814c1, 0x0379a668, 0x038f190c, 0x029e0b16, 0x0216e9fb, 0x02a18c3a, 0x003bf194}}, Y: Field{[10]uint32{0x00f7b2a5, 0x0111ecd5, 0x01d49737, 0x00726302, 0x038fcee7, 0x01661c20, 0x01b2498f, 0x006bcc07, 0x0014cef9, 0x0022995b}}}, + {X: Field{[10]uint32{0x004bbf82, 0x00dc2862, 0x015def07, 0x018b012a, 0x018adc79, 0x0226203c, 0x00021983, 0x0338b366, 0x03eff4d5, 0x00337687}}, Y: Field{[10]uint32{0x01e31d6c, 0x01726c12, 0x0235a0e5, 0x02ae14d8, 0x024417f9, 0x0291e058, 0x019174b4, 0x0370175e, 0x03fcb0c9, 0x0022f09b}}}, + {X: Field{[10]uint32{0x016cf0d4, 0x021a11ee, 0x03a3f938, 0x02b370e8, 0x00d46bb6, 0x01f7b750, 0x00b76d77, 0x02a84c4d, 0x01853454, 0x001bcfce}}, Y: Field{[10]uint32{0x00adba81, 0x03b1724b, 0x01637e4e, 0x02479592, 0x00b6e324, 0x029020d1, 0x03e5192e, 0x0286d6b9, 0x019c4f7c, 0x002a2e92}}}, + {X: Field{[10]uint32{0x014b13e4, 0x033577f9, 0x01ee8061, 0x01f61452, 0x03a2a362, 0x03636013, 0x0042065e, 0x03ee0faa, 0x01af91ab, 0x00394b44}}, Y: Field{[10]uint32{0x01cfff97, 0x00e384aa, 0x01069468, 0x00f438fb, 0x012e132a, 0x039cca17, 0x021f6ed4, 0x0159cb2c, 0x006d619e, 0x00167cc4}}}, + {X: Field{[10]uint32{0x027256ff, 0x0033e8e7, 0x02ac066c, 0x01a70c38, 0x038fb918, 0x00cacf2a, 0x0254d13b, 0x0072d915, 0x0336f0de, 0x00227fb1}}, Y: Field{[10]uint32{0x03e44274, 0x01156b81, 0x01ded46b, 0x036ed63d, 0x0173e708, 0x037f798b, 0x02b938d9, 0x0069b6da, 0x02e84d3e, 0x003e505e}}}, + {X: Field{[10]uint32{0x02b70b29, 0x036b0248, 0x03f7531b, 0x0082a240, 0x03522615, 0x000a1d27, 0x006ce733, 0x00154f3a, 0x035691b1, 0x00014503}}, Y: Field{[10]uint32{0x022dc024, 0x019f5caa, 0x00afd0dd, 0x002fe894, 0x00ad0acf, 0x007033a4, 0x021f4ce2, 0x0308f401, 0x022b9e02, 0x00246865}}}, + {X: Field{[10]uint32{0x01267b5c, 0x0243f21f, 0x00d09c0f, 0x03ae1548, 0x030579d0, 0x034cbe52, 0x035e199e, 0x02645c41, 0x01309310, 0x0000f058}}, Y: Field{[10]uint32{0x00ac64c3, 0x01f4dade, 0x00e51a5f, 0x03297a00, 0x01e9f156, 0x01a4eb00, 0x02a00107, 0x0036e40e, 0x00dfe404, 0x00354341}}}, + {X: Field{[10]uint32{0x03e8bac9, 0x00fbae26, 0x01fa8be1, 0x014a4474, 0x02a2d0b9, 0x00090154, 0x00b8a58f, 0x0008dc96, 0x010e63a5, 0x003f61da}}, Y: Field{[10]uint32{0x021b9225, 0x013fa922, 0x0247458e, 0x038eb144, 0x03b40f04, 0x011ff19a, 0x023ee352, 0x01a3d5be, 0x01acccb9, 0x00101b70}}}, + {X: Field{[10]uint32{0x01a12a81, 0x01d0d2f5, 0x01347ebc, 0x0381aa36, 0x0299005c, 0x01cecca3, 0x028ad599, 0x01e3ccb3, 0x01de017e, 0x00023934}}, Y: Field{[10]uint32{0x01a2a8ae, 0x0065006c, 0x036da429, 0x02a230c6, 0x02992baf, 0x02efc362, 0x00c843b4, 0x029975d1, 0x033e744c, 0x00318d23}}}, + {X: Field{[10]uint32{0x007743c2, 0x00e6831b, 0x03ff6ea7, 0x001059de, 0x02f49881, 0x029632aa, 0x03b6eebb, 0x0319e05c, 0x03cfea62, 0x000e0b1e}}, Y: Field{[10]uint32{0x01c5eb7d, 0x0154e69a, 0x035237cf, 0x0372bf34, 0x0267e9ad, 0x000703da, 0x01f7f27e, 0x01090d4f, 0x01da77e6, 0x00006429}}}, + {X: Field{[10]uint32{0x0114ed0f, 0x0364357e, 0x01d29e87, 0x03254efd, 0x0125b0da, 0x03a941e5, 0x01fa471b, 0x01201d4e, 0x034e74b8, 0x003d5aa2}}, Y: Field{[10]uint32{0x0096db8b, 0x00547ef0, 0x01a48c50, 0x00704e45, 0x008f9f20, 0x01a9ba89, 0x03881c65, 0x039848ea, 0x0108da57, 0x001515b6}}}, + {X: Field{[10]uint32{0x03965b80, 0x03f6c185, 0x02a044ec, 0x00b157c4, 0x003af365, 0x005ae031, 0x02f8ea2b, 0x0155e87f, 0x03fb6a5e, 0x002423a7}}, Y: Field{[10]uint32{0x038bc2ce, 0x0379d6a1, 0x02043562, 0x0253b5ad, 0x03b9c010, 0x03af0c4d, 0x0182ca07, 0x0133c3e0, 0x00c9d1b1, 0x002fab8a}}}, + {X: Field{[10]uint32{0x02c86ef4, 0x00b9ba6f, 0x01e787ef, 0x012e6750, 0x033fad25, 0x014a4d3a, 0x03225330, 0x0207f45a, 0x03184333, 0x0029b0c1}}, Y: Field{[10]uint32{0x023fb818, 0x024015d8, 0x026f44bf, 0x020817b8, 0x029e266f, 0x000c271c, 0x01129e4e, 0x01440813, 0x0286a60d, 0x0011ea68}}}, + {X: Field{[10]uint32{0x00b3e903, 0x019bade6, 0x01361047, 0x038d28a6, 0x0230a652, 0x00af882b, 0x01461635, 0x00b0980b, 0x01866c3e, 0x002522eb}}, Y: Field{[10]uint32{0x01c35164, 0x01312136, 0x00d3395b, 0x0129da86, 0x004321da, 0x02457783, 0x0043b0f0, 0x0228ae67, 0x0222ad47, 0x000c34c1}}}, + {X: Field{[10]uint32{0x00f6a3f2, 0x03a13487, 0x02c9f0c9, 0x0373e5b4, 0x029d536e, 0x021e0b4d, 0x03881251, 0x005eb9dd, 0x039dcb8a, 0x0035b24a}}, Y: Field{[10]uint32{0x02de09b9, 0x00412bca, 0x0207b9e0, 0x00923b08, 0x030ed686, 0x02bb1752, 0x030ae881, 0x020dde5e, 0x03a09351, 0x003764d9}}}, + {X: Field{[10]uint32{0x01566abd, 0x03bc3f59, 0x0232854c, 0x00269d6b, 0x037b0822, 0x0137e00b, 0x00641ca6, 0x004f591b, 0x017b7d8b, 0x003e7fcf}}, Y: Field{[10]uint32{0x02deec98, 0x0396580c, 0x011c8c84, 0x00a2861c, 0x01b9269d, 0x00f60474, 0x02230224, 0x008257dc, 0x019e1f19, 0x002b1618}}}, + {X: Field{[10]uint32{0x02c8d5e0, 0x00a3dba4, 0x014e1c35, 0x01fe0d34, 0x017f4e76, 0x00a0dfb5, 0x009a9204, 0x0383dc08, 0x01ba3a70, 0x000f6b87}}, Y: Field{[10]uint32{0x000f797f, 0x0134154a, 0x0332e08b, 0x0367aa64, 0x015c7816, 0x03ffa1f2, 0x03cdfad3, 0x03cb3f87, 0x028d6ea1, 0x001eb891}}}, + {X: Field{[10]uint32{0x01b49937, 0x012c0746, 0x007cad0b, 0x01f836ef, 0x008ffd22, 0x03caabac, 0x03ffe130, 0x024df272, 0x01056fcc, 0x0009c114}}, Y: Field{[10]uint32{0x03fa4397, 0x029a63c7, 0x02ad4d08, 0x03d710a1, 0x01bbd801, 0x01875b1d, 0x00d37246, 0x03f7f888, 0x02546c24, 0x00045d9a}}}, + {X: Field{[10]uint32{0x00defd22, 0x00359788, 0x00865bb9, 0x01599271, 0x012024c5, 0x018beea0, 0x00340752, 0x0183bb35, 0x03f96c32, 0x003e7657}}, Y: Field{[10]uint32{0x03a13c2d, 0x0009af05, 0x01dda24b, 0x0128696c, 0x030a89d5, 0x00c11cc2, 0x02632ba8, 0x00504602, 0x03fd8f74, 0x000df2fd}}}, + {X: Field{[10]uint32{0x01a7021f, 0x02d5f171, 0x0021448a, 0x02ef6e64, 0x02ff0a86, 0x019b3ef9, 0x018c6d5b, 0x019fa7fb, 0x0318f90f, 0x00013a37}}, Y: Field{[10]uint32{0x02a621f5, 0x024ff6bc, 0x0329ea22, 0x03f4ea0d, 0x000e9bad, 0x02cd210f, 0x03a2b1b3, 0x01904d14, 0x00c5ccf5, 0x001f9a7e}}}, + {X: Field{[10]uint32{0x02ffef9f, 0x016dde74, 0x01821c8a, 0x02f4ef8d, 0x00ab3d32, 0x00f19916, 0x02783836, 0x01fec86e, 0x012a710a, 0x00230a93}}, Y: Field{[10]uint32{0x025511d6, 0x016ab18d, 0x01205caa, 0x0247fce7, 0x03f82d8f, 0x006f595d, 0x01715157, 0x00960d18, 0x007d27e4, 0x00354c91}}}, + {X: Field{[10]uint32{0x03654b75, 0x010f3be1, 0x00e19631, 0x007b52c1, 0x02c10e81, 0x023eb9cb, 0x00677afa, 0x027339bf, 0x03a01974, 0x000a2dfc}}, Y: Field{[10]uint32{0x005ec782, 0x035698e1, 0x03e392ce, 0x00c699e3, 0x01e241ba, 0x01c7d287, 0x017c881e, 0x02ace456, 0x01eb3245, 0x0000c11c}}}, + {X: Field{[10]uint32{0x01be416b, 0x01b5f6d6, 0x0300808f, 0x025033d2, 0x02d89f64, 0x02667b23, 0x03b5acb0, 0x039cb095, 0x010ffcb8, 0x0032d1d3}}, Y: Field{[10]uint32{0x016622fd, 0x00c146a8, 0x000c7e3a, 0x02cfbff0, 0x029a0e59, 0x01d67e15, 0x039a9508, 0x00f2ee2a, 0x00cefc29, 0x003fdf34}}}, + {X: Field{[10]uint32{0x0055b36c, 0x01ecd7d0, 0x023f5bd5, 0x00d0ba65, 0x011a1800, 0x0378a929, 0x01567fbe, 0x02f10099, 0x01825dbe, 0x0030cf9a}}, Y: Field{[10]uint32{0x0146be18, 0x023b0b31, 0x01e0db79, 0x02d64694, 0x02082c0c, 0x0266ac19, 0x03b50615, 0x01973894, 0x03f57ce2, 0x0008bfcf}}}, + {X: Field{[10]uint32{0x01bd2237, 0x01060e06, 0x00a0eee3, 0x0116cf43, 0x03257e07, 0x01112a6a, 0x02441a84, 0x01c48dc6, 0x010644d3, 0x00212ff0}}, Y: Field{[10]uint32{0x009ef6f1, 0x00861eca, 0x0235ae1c, 0x00847b38, 0x03afd7f4, 0x00f9065e, 0x03d13ffb, 0x03dc1b0c, 0x02d57b7a, 0x001f2f95}}}, + {X: Field{[10]uint32{0x017b713a, 0x026594fe, 0x008dc735, 0x02296c12, 0x03606302, 0x01f820d7, 0x000f003f, 0x00913bf5, 0x02ecd53b, 0x000270c4}}, Y: Field{[10]uint32{0x02b76d14, 0x01126c53, 0x01fe6165, 0x0297fb90, 0x0059698b, 0x00622d3a, 0x00d0b160, 0x01dfbe15, 0x010f58fc, 0x00046f2f}}}, + {X: Field{[10]uint32{0x0315cefc, 0x02a0b72b, 0x004332d0, 0x006b8074, 0x01d474f6, 0x00eef3c8, 0x0183bf4e, 0x01bcb433, 0x0359a22d, 0x001701ab}}, Y: Field{[10]uint32{0x0322aae8, 0x02059690, 0x02be2904, 0x02c50978, 0x0341fbef, 0x0319a6ab, 0x006d70d6, 0x0197f6a3, 0x03e9f1c2, 0x0011dad2}}}, + {X: Field{[10]uint32{0x01b6bdcf, 0x03516cfc, 0x002bf2d6, 0x01c72118, 0x03f44f0d, 0x02bce7ae, 0x000eb547, 0x03b50ed3, 0x01c681a3, 0x001ddc96}}, Y: Field{[10]uint32{0x033bf754, 0x037861fe, 0x02bba22f, 0x0273d58f, 0x03d6742b, 0x0320d199, 0x00448514, 0x02162bbb, 0x03535481, 0x0022a74d}}}, + {X: Field{[10]uint32{0x01266842, 0x00831410, 0x0283ce38, 0x03101d98, 0x020174b8, 0x03409137, 0x024328b4, 0x03074c53, 0x001eae1f, 0x002cdc18}}, Y: Field{[10]uint32{0x00125ac0, 0x00da0d2f, 0x029323e1, 0x02a9010a, 0x03eda7b5, 0x036603b8, 0x02a9abc8, 0x030ec1d4, 0x00792174, 0x0023bc14}}}, + {X: Field{[10]uint32{0x02fe6584, 0x022b23b6, 0x028bf824, 0x015ac054, 0x02780868, 0x01c25c81, 0x032ad406, 0x01924a91, 0x02c07f8d, 0x0016be52}}, Y: Field{[10]uint32{0x022daf1a, 0x030e59b9, 0x016552a9, 0x035e33f9, 0x00b40dff, 0x03bd7d5b, 0x01f32efc, 0x03794475, 0x03ce57ea, 0x00229531}}}, + {X: Field{[10]uint32{0x030586c6, 0x032e39d6, 0x0194581a, 0x007cfe51, 0x034f84b4, 0x0160cbcd, 0x01d4f23c, 0x01c154e1, 0x019ce2e8, 0x0023f8f0}}, Y: Field{[10]uint32{0x01728c28, 0x013d6b24, 0x03860067, 0x005c055b, 0x012f5e20, 0x02bc64f2, 0x0314d491, 0x01130e90, 0x019fd16f, 0x003e48c2}}}, + {X: Field{[10]uint32{0x03ac9a71, 0x00a23f04, 0x02fc3b5f, 0x01fe8dee, 0x01e531d1, 0x026d97ad, 0x01211b30, 0x02f4797e, 0x021d2642, 0x00356025}}, Y: Field{[10]uint32{0x034185cb, 0x0225fa46, 0x03650e4f, 0x03716ce3, 0x02d9678c, 0x02c4bea1, 0x0250a6e0, 0x022d0cdb, 0x0154337e, 0x00140301}}}, + {X: Field{[10]uint32{0x0295e82b, 0x033efc50, 0x01405256, 0x019d6a71, 0x02234e79, 0x019e430c, 0x02460338, 0x02988d27, 0x00ed529f, 0x00009577}}, Y: Field{[10]uint32{0x01799815, 0x03d2d29f, 0x00b100c8, 0x033653db, 0x035dfba7, 0x02a918c5, 0x03253d3f, 0x0071eff0, 0x01c47f3e, 0x001fbb6a}}}, + {X: Field{[10]uint32{0x00891557, 0x02f908bb, 0x004580bd, 0x00e2a376, 0x031a27c3, 0x03923957, 0x00476a4a, 0x01147eae, 0x03a79240, 0x0012dfaf}}, Y: Field{[10]uint32{0x01b59085, 0x00f60fa1, 0x012848c6, 0x035f90a1, 0x02c12622, 0x035fb604, 0x00a23cfa, 0x00d7d83f, 0x00e9f891, 0x0037ec98}}}, + {X: Field{[10]uint32{0x032fbf28, 0x01fd5547, 0x00c7d8f4, 0x0274ef45, 0x01311956, 0x0319dc67, 0x035819e0, 0x024aa68e, 0x03809e60, 0x00246741}}, Y: Field{[10]uint32{0x003d8094, 0x02bca0e1, 0x024fdcbc, 0x03528c38, 0x00c204d3, 0x02635846, 0x03b2fa50, 0x003cb3b2, 0x02f876d7, 0x003282da}}}, + {X: Field{[10]uint32{0x0070ee78, 0x03754da3, 0x03f42393, 0x01ad67ba, 0x009b8c89, 0x02b8d0a9, 0x02d73bd5, 0x02a5116f, 0x03a9de89, 0x00119a19}}, Y: Field{[10]uint32{0x02e042e1, 0x03559e2a, 0x02029385, 0x024d3ba5, 0x019cbb9f, 0x022dfb42, 0x01bd6cae, 0x01608c1e, 0x0307b3e1, 0x000a9765}}}, + {X: Field{[10]uint32{0x01db3f7b, 0x0172e8b0, 0x01f3cd98, 0x016ef995, 0x01fc740d, 0x03dc4963, 0x021526fc, 0x01145e24, 0x0108c878, 0x001c49d3}}, Y: Field{[10]uint32{0x034b25e0, 0x01237bfe, 0x03f560d8, 0x0299aaf9, 0x033cdd2c, 0x010185de, 0x01652bc4, 0x0050d3e3, 0x0130a5be, 0x00382bc0}}}, + {X: Field{[10]uint32{0x02be2bcd, 0x03838ddf, 0x0111fa0a, 0x01b47ecc, 0x03b6e825, 0x013981a3, 0x00693c1f, 0x0090744f, 0x00482d25, 0x00291ba4}}, Y: Field{[10]uint32{0x00474eda, 0x02486fa5, 0x0111140f, 0x02ff56b9, 0x01fdd708, 0x0185c9ab, 0x026e7ac9, 0x02ada604, 0x000cf22a, 0x001d59dc}}}, + {X: Field{[10]uint32{0x01e84abd, 0x000afea9, 0x03b5baec, 0x022e89b4, 0x0110ea91, 0x01ef9a14, 0x0073b0f7, 0x00449a16, 0x0391f243, 0x003dd642}}, Y: Field{[10]uint32{0x02708999, 0x024d6918, 0x00e2eded, 0x02357a8a, 0x002d2512, 0x016372f2, 0x035d6cc8, 0x02534326, 0x00f8594c, 0x00120612}}}, + {X: Field{[10]uint32{0x028c2edf, 0x00bb7790, 0x023bc9a2, 0x037ebfd7, 0x004f966e, 0x0263c1e4, 0x0139d643, 0x03876b6b, 0x00e51282, 0x000b5eaa}}, Y: Field{[10]uint32{0x035d9d79, 0x016d868c, 0x01fb5763, 0x0285c233, 0x01a30b4d, 0x005d57e7, 0x033ea24f, 0x008267ac, 0x033c4203, 0x0004ac84}}}, + {X: Field{[10]uint32{0x0236d0e3, 0x0143ea5c, 0x00607995, 0x009d7d96, 0x00822809, 0x0207c4d7, 0x03113a55, 0x0311ff67, 0x03403302, 0x00244c4f}}, Y: Field{[10]uint32{0x00838a77, 0x00fd89e4, 0x03f27c32, 0x0308b833, 0x03aa9e96, 0x03c84a16, 0x01daee91, 0x0012fd18, 0x00075e78, 0x003e2dbb}}}, + {X: Field{[10]uint32{0x006743cb, 0x0128755b, 0x010de2f4, 0x0070e867, 0x01e0be03, 0x02c51bef, 0x028e86e1, 0x02169e11, 0x011909d3, 0x00368920}}, Y: Field{[10]uint32{0x00348cbf, 0x027bd9d0, 0x01a666d3, 0x02d874b3, 0x0305d418, 0x026cdf11, 0x00625111, 0x03dbbbcb, 0x017b5f76, 0x00301f22}}}, + {X: Field{[10]uint32{0x01e82220, 0x00809a37, 0x01bd62e8, 0x03e5bc07, 0x02760ec3, 0x03a7b50c, 0x01e6082d, 0x030b8fed, 0x02240b1b, 0x002578da}}, Y: Field{[10]uint32{0x00e1cb63, 0x017a7447, 0x03d01766, 0x021c7878, 0x0352a74a, 0x032d080a, 0x003b209d, 0x0128ea3c, 0x00d73abc, 0x002f9a64}}}, + {X: Field{[10]uint32{0x02bc6e8b, 0x020ccfcf, 0x01cdf488, 0x021c5411, 0x01afe54a, 0x007e0478, 0x03489e45, 0x01d6c315, 0x00603abd, 0x0022c16c}}, Y: Field{[10]uint32{0x0340fb39, 0x003d3f9f, 0x0179dbb3, 0x0056b358, 0x0027f5b6, 0x0206f69f, 0x01e2ddce, 0x0103ee22, 0x008145db, 0x0007443e}}}, + {X: Field{[10]uint32{0x03020f54, 0x0274c33c, 0x0372855a, 0x02df7363, 0x01d43ec0, 0x0072e0ca, 0x00bbb2ba, 0x00c9e9d4, 0x023b764a, 0x003feaf2}}, Y: Field{[10]uint32{0x01d0f05a, 0x021510db, 0x01302cf5, 0x0172d828, 0x00c79196, 0x013a652d, 0x02fb393a, 0x0289816c, 0x0265c90b, 0x0024e5c2}}}, + {X: Field{[10]uint32{0x03866c72, 0x03ec14c2, 0x027c0a18, 0x01a2c4cf, 0x02d35148, 0x01d4a662, 0x00f05fa9, 0x0392a63c, 0x02efef35, 0x002cea16}}, Y: Field{[10]uint32{0x036005e2, 0x011b47d6, 0x0275238f, 0x031fa228, 0x0009ee78, 0x0139c03a, 0x016b36c5, 0x016e780f, 0x02e1c21e, 0x000c0457}}}, + {X: Field{[10]uint32{0x015b7ab5, 0x01494332, 0x012d5d15, 0x00cbaf2d, 0x015b78fc, 0x03d99b54, 0x01c56590, 0x00f3c82e, 0x015f4c23, 0x00293c7f}}, Y: Field{[10]uint32{0x01faa0da, 0x00f58720, 0x02d52c36, 0x00962764, 0x03337543, 0x03148671, 0x00419fe0, 0x00496111, 0x0385726a, 0x00247467}}}, + {X: Field{[10]uint32{0x015bbb0a, 0x00f98900, 0x03c98bec, 0x00df4a6c, 0x019eb146, 0x02d62d7b, 0x03f39232, 0x033c4e52, 0x034b7bae, 0x0025ee12}}, Y: Field{[10]uint32{0x01162435, 0x01bd254b, 0x03bf48b8, 0x00c361b6, 0x025eac7f, 0x02a4ad2d, 0x0093d73c, 0x01ece84d, 0x00afbe8e, 0x00125f6d}}}, + {X: Field{[10]uint32{0x006312b3, 0x01d34665, 0x0169a1c2, 0x0208f321, 0x03a9de5f, 0x006d6d5e, 0x0278e965, 0x00d999d7, 0x00d9203e, 0x000b3ae8}}, Y: Field{[10]uint32{0x02d2b437, 0x029d70e3, 0x0040a488, 0x02db1aad, 0x00b7805d, 0x035df062, 0x030a88a6, 0x033f7907, 0x0286f042, 0x003530bf}}}, + {X: Field{[10]uint32{0x032b7009, 0x02e1a88f, 0x01e10e91, 0x032f1a90, 0x00912391, 0x0120da66, 0x0257b78b, 0x02b28a2f, 0x01306cdd, 0x002ae2c6}}, Y: Field{[10]uint32{0x034172cf, 0x00a1940d, 0x02a03351, 0x0144da24, 0x027abed6, 0x02992081, 0x00472a17, 0x0286ba76, 0x03dc79fb, 0x003f6eea}}}, + {X: Field{[10]uint32{0x0215b394, 0x0034c146, 0x01acd6bb, 0x01742a8b, 0x03c14970, 0x024e3c9a, 0x02ac2b59, 0x0102c55f, 0x00291ff1, 0x00009d8c}}, Y: Field{[10]uint32{0x01374ee6, 0x01412b12, 0x01875a91, 0x01e61bb3, 0x00553594, 0x014bd728, 0x0240838c, 0x02e78bd1, 0x032a38dc, 0x0030adac}}}, + {X: Field{[10]uint32{0x02fc78c5, 0x01e7ad72, 0x02d8e6cc, 0x03423197, 0x009e703f, 0x03a77449, 0x011d7933, 0x014531fe, 0x01bd1cc1, 0x0008b47b}}, Y: Field{[10]uint32{0x00a85efe, 0x01959e30, 0x03f7a05e, 0x03048de3, 0x02a93942, 0x00228e05, 0x0024fca2, 0x039d044c, 0x03eea53a, 0x001d14f9}}}, + {X: Field{[10]uint32{0x00ffe222, 0x01f26f6b, 0x01b7cc8e, 0x009d7b3b, 0x00b61465, 0x02f6cfee, 0x00fa5590, 0x027a509c, 0x01c0c572, 0x001c361a}}, Y: Field{[10]uint32{0x02ec30c5, 0x0372ee3d, 0x01657115, 0x01d2704c, 0x00f8d414, 0x0230b0ea, 0x03baec84, 0x023ed185, 0x01328ce7, 0x0012ff2b}}}, + {X: Field{[10]uint32{0x011b1647, 0x0093ae1e, 0x0097dd4a, 0x0301aedf, 0x00ed9039, 0x02a5ef4a, 0x0360dccd, 0x015e0993, 0x01deda8d, 0x002896d1}}, Y: Field{[10]uint32{0x0243db8f, 0x031a362a, 0x00c7dfe1, 0x0078bc0c, 0x00f306f1, 0x0310e999, 0x03765554, 0x036558c8, 0x0183fd2a, 0x0023f612}}}, + {X: Field{[10]uint32{0x031024b8, 0x02a29d0e, 0x025cf39c, 0x0052e5d6, 0x033e77fa, 0x01cdc19b, 0x02383366, 0x01f0356a, 0x016c9b23, 0x00208ff3}}, Y: Field{[10]uint32{0x0024dde0, 0x03c5ad51, 0x01d72198, 0x012f4719, 0x01d1433e, 0x02db50d1, 0x01c2ba3b, 0x03cb77a6, 0x004d29a4, 0x0039a469}}}, + {X: Field{[10]uint32{0x02158d0c, 0x01b13396, 0x0033a3a9, 0x0349bb49, 0x01ee594b, 0x00e534c1, 0x02b1247d, 0x02bbd90c, 0x02638244, 0x0000e696}}, Y: Field{[10]uint32{0x026a8023, 0x03e2c9d8, 0x016cd32d, 0x010d4315, 0x00ee4b9f, 0x00932c42, 0x03ff37ea, 0x02125355, 0x0139dd8b, 0x00051f3b}}}, + {X: Field{[10]uint32{0x03206487, 0x012a95ac, 0x035f8de9, 0x02ed21e7, 0x022a18f6, 0x006c9de5, 0x00aaf7b8, 0x02cb701d, 0x03b5b85b, 0x0023e7fa}}, Y: Field{[10]uint32{0x0210c2a2, 0x021ab2fd, 0x0093c32a, 0x03caada8, 0x01dc7474, 0x00ad5ecf, 0x037dbdec, 0x01680038, 0x03d6d417, 0x001236ba}}}, + {X: Field{[10]uint32{0x0143f60c, 0x01e80f64, 0x013f804f, 0x014cdba7, 0x016a08db, 0x03dad38d, 0x009158a5, 0x00215914, 0x03142f50, 0x003f05be}}, Y: Field{[10]uint32{0x001f7a36, 0x033e0137, 0x02eaf58b, 0x0139acca, 0x03402758, 0x036e17f9, 0x034ada59, 0x02dce843, 0x02f27e02, 0x0023a4c9}}}, + {X: Field{[10]uint32{0x01c5a281, 0x024921a1, 0x01d788e2, 0x0007d080, 0x03eaecae, 0x021faea0, 0x015d8f09, 0x01bdba44, 0x02a71744, 0x001f6c27}}, Y: Field{[10]uint32{0x0215742b, 0x00f8c9f0, 0x03864273, 0x019f169b, 0x0279fd21, 0x004bf45f, 0x036b2adc, 0x011577dc, 0x00ee426d, 0x002d11a7}}}, + {X: Field{[10]uint32{0x00d9a57e, 0x03ef2529, 0x030b8564, 0x03d71fb2, 0x023df7ca, 0x007e34f1, 0x0256fdab, 0x03bc70fa, 0x03f528ba, 0x00351746}}, Y: Field{[10]uint32{0x02aeccc1, 0x005cb845, 0x02191c1a, 0x0344f016, 0x00ad0c84, 0x006b5c00, 0x0121d3d8, 0x003a2473, 0x01846483, 0x0024789a}}}, + {X: Field{[10]uint32{0x01f03901, 0x0286a45d, 0x0278ad43, 0x0266ba5d, 0x016a4d9c, 0x01e89aec, 0x00a9ffaa, 0x02176154, 0x03751b6f, 0x000febc2}}, Y: Field{[10]uint32{0x0044328f, 0x01710d86, 0x01368b55, 0x0050ee36, 0x00be775d, 0x00e18c47, 0x02aa39f6, 0x00f3d972, 0x022aa4e4, 0x00229741}}}, + {X: Field{[10]uint32{0x02efd121, 0x01ac1b1d, 0x03107492, 0x028cec49, 0x001eefdb, 0x019787b0, 0x00c5e39c, 0x0291c9e7, 0x00be8e08, 0x00151823}}, Y: Field{[10]uint32{0x0140f038, 0x02278831, 0x01afdcb7, 0x01d9c741, 0x039bdc27, 0x03263f0a, 0x02c5f91c, 0x03e07923, 0x01bc40de, 0x00029da5}}}, + {X: Field{[10]uint32{0x009823ec, 0x03560364, 0x02d4664d, 0x03693865, 0x02e8a201, 0x00ed5a5c, 0x00e69552, 0x03f350d9, 0x0189050d, 0x00156683}}, Y: Field{[10]uint32{0x00dc71c3, 0x03a014ba, 0x027b4c46, 0x00ac1a9a, 0x035641e3, 0x021fd654, 0x01b8d5c0, 0x022e433b, 0x01add652, 0x001efe38}}}, + {X: Field{[10]uint32{0x00f467a8, 0x025ae52b, 0x039c31a9, 0x02a42c19, 0x00bb305e, 0x00797f0a, 0x0248c344, 0x02e7cac5, 0x0058b5e2, 0x00059ba2}}, Y: Field{[10]uint32{0x02e5bdb2, 0x008168e4, 0x01d2af64, 0x00df7432, 0x00dc1b7c, 0x0023e665, 0x018a6b91, 0x03ed0ab3, 0x006dff82, 0x002726cc}}}, + {X: Field{[10]uint32{0x00fe1941, 0x0369ce0e, 0x025a8d41, 0x025317bf, 0x02e5284f, 0x02b90e3b, 0x00ec5fc3, 0x020eeaa5, 0x028ce66e, 0x001038a7}}, Y: Field{[10]uint32{0x01acb2dc, 0x0062134e, 0x009c3955, 0x013ec39c, 0x0384ae68, 0x00e88f42, 0x03154e27, 0x01e1a073, 0x031cc01e, 0x001f1c7d}}}, + {X: Field{[10]uint32{0x02d4ee7e, 0x0110e01c, 0x004081a8, 0x00f6fd9d, 0x006aeb8b, 0x01986d00, 0x007fc764, 0x027399fe, 0x00f9eb65, 0x001a0a72}}, Y: Field{[10]uint32{0x0222913b, 0x001a5172, 0x01908ea5, 0x02ccc13f, 0x036647fc, 0x03a7fcc2, 0x02825225, 0x03701553, 0x030a8332, 0x00074d54}}}, + {X: Field{[10]uint32{0x03658196, 0x00d75044, 0x00e7adbb, 0x01010b44, 0x03e25a25, 0x038abc8d, 0x0393b136, 0x027f4e4c, 0x005a322e, 0x00128ff8}}, Y: Field{[10]uint32{0x0101574c, 0x01c0631e, 0x02ea1f14, 0x0115fb7a, 0x0178dbdc, 0x03c2ac5d, 0x03c40d9e, 0x01d906a4, 0x01f8d452, 0x00216690}}}, + {X: Field{[10]uint32{0x02a44f94, 0x01784066, 0x0338225a, 0x030805df, 0x029e9dde, 0x01919f30, 0x0167ad5a, 0x03acbb05, 0x03c9a675, 0x00379605}}, Y: Field{[10]uint32{0x00f723a4, 0x01959eb3, 0x00af5ec3, 0x005d323f, 0x0271b45e, 0x0352fc40, 0x017e6256, 0x00c4737c, 0x03d05413, 0x0010143a}}}, + {X: Field{[10]uint32{0x0262a108, 0x03697ad5, 0x03e7a155, 0x02cc6d47, 0x00daa7b9, 0x03cf63ce, 0x03df1a26, 0x03d0442a, 0x02454f07, 0x003f78a4}}, Y: Field{[10]uint32{0x0327808a, 0x037f722d, 0x0371ed98, 0x015b901c, 0x03f09d17, 0x031b1c67, 0x03347a3a, 0x03a4a733, 0x02d37b39, 0x003ca939}}}, + {X: Field{[10]uint32{0x03f42436, 0x02a43b7b, 0x022e8a43, 0x00574230, 0x01b09174, 0x029dca18, 0x03c536d6, 0x022e85db, 0x00fb6eb9, 0x003ca34f}}, Y: Field{[10]uint32{0x0279d1bf, 0x0009cd44, 0x00b61e9d, 0x02310b9b, 0x001971fe, 0x022252a9, 0x003dc82d, 0x00943781, 0x022bb328, 0x0011422f}}}, + {X: Field{[10]uint32{0x0316e3ee, 0x01ee545f, 0x038c7011, 0x0259083d, 0x037bb654, 0x00669b7d, 0x0192afb1, 0x02d6df42, 0x00304d1c, 0x0031d957}}, Y: Field{[10]uint32{0x031dfdfd, 0x009f8b79, 0x0070d2e4, 0x02f946e4, 0x01a348b0, 0x00379e70, 0x0186b1cb, 0x00c3712e, 0x02c2cdb7, 0x00226058}}}, + {X: Field{[10]uint32{0x03b4b147, 0x00fb2801, 0x00d0d7ae, 0x01d3c856, 0x0053ffba, 0x02d8bd36, 0x0167936e, 0x03b999c7, 0x03c72fa3, 0x00395f65}}, Y: Field{[10]uint32{0x01fecd64, 0x031c83f8, 0x00958c07, 0x01811f0d, 0x031ed426, 0x019a3284, 0x02b80b9a, 0x00a5d646, 0x012ca3d9, 0x002c78c0}}}, + {X: Field{[10]uint32{0x022b0c01, 0x037e3078, 0x02a44bcc, 0x01edd9a1, 0x036cd3d3, 0x03805332, 0x0244f92f, 0x0096ff01, 0x02421550, 0x003ab6a1}}, Y: Field{[10]uint32{0x01dfeeed, 0x03b5f482, 0x03e9106a, 0x02b2bde7, 0x0107152a, 0x0103e0a9, 0x03c37c55, 0x006ec045, 0x017d71d7, 0x002240d7}}}, + {X: Field{[10]uint32{0x020d0e25, 0x01fb2139, 0x03e27556, 0x03e5dd40, 0x0362dbf8, 0x0047e8ff, 0x01d7e8e0, 0x0086627e, 0x027e3f17, 0x000f9d89}}, Y: Field{[10]uint32{0x021160b6, 0x02288d9b, 0x0087182d, 0x031f8bf8, 0x02416f8b, 0x01f8e5ce, 0x013001ec, 0x031b6e91, 0x03909631, 0x002860d5}}}, + {X: Field{[10]uint32{0x01a3df70, 0x00b49424, 0x0350c697, 0x00d46399, 0x0205de72, 0x0359af9f, 0x0279e692, 0x00bcd408, 0x03d89c26, 0x00284765}}, Y: Field{[10]uint32{0x012a69dd, 0x0071b6f5, 0x00b71fd3, 0x01dfa522, 0x0144768d, 0x02e22459, 0x02e48fea, 0x02c05b7c, 0x00a3dd6f, 0x0034637e}}}, + {X: Field{[10]uint32{0x01f20651, 0x03d0887d, 0x01787922, 0x0023f563, 0x01a5ab52, 0x02b9f30a, 0x0154bf8d, 0x0301bbb7, 0x0375cefe, 0x002c5b8f}}, Y: Field{[10]uint32{0x02d0eb2d, 0x021d86a9, 0x0381da75, 0x024314e6, 0x010233ae, 0x01a42624, 0x03c19891, 0x00cbb5d3, 0x02b45a6e, 0x0015feff}}}, + {X: Field{[10]uint32{0x034628b2, 0x0095e131, 0x03d9fbeb, 0x02cd128c, 0x00837339, 0x02bc51e9, 0x03564c2f, 0x03a9ba7a, 0x000a3f73, 0x000df7a0}}, Y: Field{[10]uint32{0x02254050, 0x007b04f9, 0x020a02f4, 0x01b3e8ab, 0x03e33fc9, 0x0165aab5, 0x016b7e53, 0x01600c06, 0x02599da5, 0x00164ce4}}}, + {X: Field{[10]uint32{0x03d68055, 0x03b10e32, 0x021f19be, 0x02c24c96, 0x024ae57f, 0x02db9aea, 0x00b781d8, 0x02aebdbf, 0x012d65b3, 0x001bda10}}, Y: Field{[10]uint32{0x038d3bcc, 0x00c550cb, 0x02f08ec0, 0x00cfbd26, 0x0127dc14, 0x0086aed7, 0x03310420, 0x01c6f002, 0x019d4061, 0x002213f5}}}, + {X: Field{[10]uint32{0x036e4366, 0x0240b5b2, 0x00a79572, 0x026bd82f, 0x03980f1f, 0x014bc1c3, 0x00f0ce2b, 0x03898493, 0x029e6bc5, 0x002451e6}}, Y: Field{[10]uint32{0x002f5288, 0x00d746a7, 0x0364aef9, 0x0090044b, 0x03479325, 0x02c4ef89, 0x036025d4, 0x0110d667, 0x030a22de, 0x0008c13d}}}, + {X: Field{[10]uint32{0x0119bd8a, 0x02306513, 0x03701835, 0x031d29b1, 0x014cceab, 0x005df732, 0x01e7c1e4, 0x021c2230, 0x00df36ac, 0x0022e9ac}}, Y: Field{[10]uint32{0x02ab9ed4, 0x01fe1658, 0x005baad1, 0x006de26a, 0x01989dff, 0x01deb1d5, 0x02abe8a1, 0x00578a48, 0x020ee9d5, 0x003a5adc}}}, + {X: Field{[10]uint32{0x01d567cc, 0x02b2deca, 0x02c9ef4a, 0x01a55393, 0x00f11b8a, 0x00d5453c, 0x0359a8ca, 0x00ff3163, 0x0195871f, 0x002ac548}}, Y: Field{[10]uint32{0x03267fb4, 0x03a80dc3, 0x0019c3c8, 0x0329946d, 0x01965ec1, 0x017e23fc, 0x0099ad17, 0x02f6850a, 0x0148623e, 0x0030776b}}}, + {X: Field{[10]uint32{0x011600c5, 0x00b39f55, 0x00756e55, 0x011b5357, 0x026ca45c, 0x0066b708, 0x00e6448e, 0x00af4070, 0x03485eb9, 0x001fac8f}}, Y: Field{[10]uint32{0x03c57ac5, 0x0309ec69, 0x03328b3d, 0x025ea161, 0x01a300ef, 0x00f8c315, 0x033de076, 0x02e4e41e, 0x03124278, 0x00254fa6}}}, + {X: Field{[10]uint32{0x0221ee17, 0x00924153, 0x01f0a2f6, 0x02dc3bac, 0x01e0212f, 0x01624124, 0x0120a922, 0x01c0371d, 0x002ba4b2, 0x002c8fd3}}, Y: Field{[10]uint32{0x03598530, 0x02b83762, 0x03811457, 0x01f98d27, 0x028a2c28, 0x0040e1b0, 0x007d5a5c, 0x02cebcb3, 0x03729e95, 0x0028e2d9}}}, + {X: Field{[10]uint32{0x0369c2a4, 0x002addc9, 0x024a90a1, 0x00badd50, 0x0067a6c1, 0x01b3eb59, 0x001a02b9, 0x0156da8b, 0x0323387e, 0x002174b9}}, Y: Field{[10]uint32{0x00e4d303, 0x01145432, 0x031d0db8, 0x033c8684, 0x00ded380, 0x0352050d, 0x03077fb7, 0x0262bc06, 0x01ac2238, 0x001c9eaf}}}, + {X: Field{[10]uint32{0x0309273d, 0x02369b26, 0x014be9fd, 0x0006229e, 0x0254ae69, 0x019a7d9a, 0x0383d59e, 0x02933104, 0x015e08db, 0x0009f05c}}, Y: Field{[10]uint32{0x01b1a266, 0x0357352d, 0x03f9d998, 0x03173cae, 0x03e16e22, 0x039fcc3c, 0x017d8841, 0x01b288d4, 0x0254306e, 0x0009d9f2}}}, + {X: Field{[10]uint32{0x015eed89, 0x0173e2c2, 0x0350f446, 0x01090200, 0x0342cf40, 0x03e169aa, 0x00c4fb56, 0x017a3a78, 0x00d37f9a, 0x0039c2e3}}, Y: Field{[10]uint32{0x030cb31a, 0x012c3f9a, 0x014fe5ec, 0x0018c661, 0x01faacdf, 0x01d4232b, 0x034e93c0, 0x02346e5c, 0x00589478, 0x000b8f63}}}, + {X: Field{[10]uint32{0x01e956b9, 0x00804f37, 0x0365ee2c, 0x0187439f, 0x0293932c, 0x00fc1dab, 0x0081a39f, 0x020e5a63, 0x00552405, 0x00388f75}}, Y: Field{[10]uint32{0x00cf77c9, 0x036da2de, 0x0315b1dc, 0x01e72d4c, 0x0052b57e, 0x022a82d9, 0x01cef85a, 0x022ae2fd, 0x03d000cd, 0x001b14f2}}}, + {X: Field{[10]uint32{0x01919c9f, 0x001ce653, 0x003b7d7a, 0x00c8431a, 0x039aaf08, 0x01d9df2e, 0x0209f2c4, 0x02604c46, 0x0381ccc4, 0x0017a48f}}, Y: Field{[10]uint32{0x00306873, 0x02e5fd0e, 0x019f7738, 0x01f3ed45, 0x02705966, 0x03dc153f, 0x00e64a8a, 0x02b41bf8, 0x0112e64c, 0x0018135c}}}, + {X: Field{[10]uint32{0x00142507, 0x00deaddc, 0x006a5600, 0x010d8cca, 0x031380e5, 0x004ff79a, 0x02b71d71, 0x0289e380, 0x02531a9f, 0x0008f67c}}, Y: Field{[10]uint32{0x0244a9ac, 0x00cdcaff, 0x0256442d, 0x00053da5, 0x030a9fd2, 0x02d3a178, 0x02f49f6b, 0x0184669b, 0x0247b6eb, 0x00157720}}}, + {X: Field{[10]uint32{0x033b8f24, 0x03d76275, 0x0318a050, 0x03bc4b1c, 0x02886c79, 0x03bdb494, 0x01bb2815, 0x0147bc57, 0x0095ad25, 0x003bac8c}}, Y: Field{[10]uint32{0x01ba1ddb, 0x026166c4, 0x00eac67d, 0x020a74e1, 0x0056a80f, 0x039f3ee4, 0x00c38963, 0x0033a3ac, 0x0394b981, 0x003469c6}}}, + {X: Field{[10]uint32{0x00b7c21b, 0x009a0ad5, 0x023c0e7a, 0x00db9087, 0x03899a84, 0x03bfbaa6, 0x03eee536, 0x03df8952, 0x027b57bd, 0x001929b7}}, Y: Field{[10]uint32{0x03b4755b, 0x00325bc9, 0x01537cf4, 0x02438fc3, 0x03181ad1, 0x0240bf1b, 0x0002e2d2, 0x013f2831, 0x036e2e34, 0x001909e4}}}, + {X: Field{[10]uint32{0x00270073, 0x03c0b0b3, 0x0046d779, 0x0114f3b2, 0x008207fd, 0x0079c02e, 0x01aad5e5, 0x02bcfc70, 0x02ced76d, 0x0027919d}}, Y: Field{[10]uint32{0x03dc9e42, 0x01d3d2f2, 0x00c38d9d, 0x0333ad16, 0x036ffc4a, 0x0362a112, 0x02550195, 0x0042b411, 0x03811d76, 0x0015a171}}}, + {X: Field{[10]uint32{0x01645473, 0x012cd663, 0x003e5d13, 0x00d5bb21, 0x031d83c6, 0x0110a31e, 0x020ee231, 0x01ae85db, 0x02288061, 0x00257b84}}, Y: Field{[10]uint32{0x03bf4054, 0x00b8a7a8, 0x023a37d1, 0x004c31bb, 0x0149a60d, 0x02c9531c, 0x00812789, 0x01301d60, 0x00644191, 0x001ef8d3}}}, + {X: Field{[10]uint32{0x006516ad, 0x039300ff, 0x00da994f, 0x02683166, 0x03d0b108, 0x0114f2f7, 0x01df5066, 0x02068be4, 0x02efd920, 0x00394fff}}, Y: Field{[10]uint32{0x00c59c2f, 0x00762479, 0x01929ecc, 0x019eb01c, 0x035dcd1b, 0x00591863, 0x0270b285, 0x00340a8b, 0x02c14a60, 0x001583c0}}}, + {X: Field{[10]uint32{0x022a7b68, 0x0330fa81, 0x03a83faf, 0x00418ebe, 0x0090d4eb, 0x028f665d, 0x014f1adf, 0x01223168, 0x03447c75, 0x00270cc9}}, Y: Field{[10]uint32{0x01791c63, 0x026dbb86, 0x02b8ad68, 0x023d5643, 0x00cacfb7, 0x01343315, 0x00ff7d22, 0x03f0ed34, 0x01fb09a7, 0x002731d6}}}, + {X: Field{[10]uint32{0x033d3c45, 0x00e50c25, 0x0058e4ea, 0x01fa078f, 0x02f1d103, 0x022dd050, 0x02b22b0c, 0x0057fddf, 0x01002f43, 0x003a09b5}}, Y: Field{[10]uint32{0x008b65de, 0x0346666f, 0x010455d8, 0x0380ab9d, 0x00e8ab16, 0x031f54e9, 0x039316df, 0x01c7d0ea, 0x025882f9, 0x000e919b}}}, + {X: Field{[10]uint32{0x015e13c7, 0x01ece204, 0x03512d38, 0x01ecff59, 0x00dd38a8, 0x03a6c5af, 0x00f196c6, 0x02d71237, 0x030eaf93, 0x0033b537}}, Y: Field{[10]uint32{0x028b74cc, 0x0118b1b5, 0x0197e910, 0x01c73b75, 0x018c7542, 0x02734478, 0x032c9309, 0x02772ad3, 0x023bdd14, 0x003f8229}}}, + {X: Field{[10]uint32{0x037eb33d, 0x031505b6, 0x00b27ee8, 0x01b78086, 0x038065e3, 0x03ce3d53, 0x0220182d, 0x01437cac, 0x012788ea, 0x002c15bb}}, Y: Field{[10]uint32{0x02cf6409, 0x02a0f6f6, 0x00a6b0a1, 0x027ff0c0, 0x018d514d, 0x023a687a, 0x0243aa82, 0x015fe7af, 0x0375cef4, 0x0025cce0}}}, + {X: Field{[10]uint32{0x037830df, 0x03b8a216, 0x011561c9, 0x03010187, 0x03eba030, 0x00d07da8, 0x0260b667, 0x03e529ff, 0x007402fe, 0x0000d77b}}, Y: Field{[10]uint32{0x009b933e, 0x007c161e, 0x0045caba, 0x01b9363c, 0x013eb8be, 0x02dba488, 0x0302fe6e, 0x0043f79f, 0x012139c8, 0x00009664}}}, + {X: Field{[10]uint32{0x024e020b, 0x02b77ecc, 0x02f1f081, 0x025cdf16, 0x03d7981e, 0x010abd13, 0x0215cb99, 0x0084ff4b, 0x00c87733, 0x0000fc8f}}, Y: Field{[10]uint32{0x016e8f83, 0x03f0145d, 0x0065ac8a, 0x0184ed7e, 0x007ffc0c, 0x0337b040, 0x0392455d, 0x03378d38, 0x00c0d43c, 0x00093a33}}}, + {X: Field{[10]uint32{0x03babbdb, 0x014dfbca, 0x01bc1e06, 0x03322f3a, 0x03c8471d, 0x02e8361b, 0x02cfa43d, 0x0173ab5f, 0x0076c080, 0x0026ea5b}}, Y: Field{[10]uint32{0x0143def3, 0x00ef0dfe, 0x023ae0e9, 0x008181fb, 0x01622d98, 0x03d3c1ec, 0x02f8e3a8, 0x038136f8, 0x00331c2a, 0x003068f1}}}, + {X: Field{[10]uint32{0x016a3815, 0x0221f5f4, 0x02ac5c2e, 0x01058438, 0x021d414f, 0x037b3273, 0x01103965, 0x014e5635, 0x039a3147, 0x0020f051}}, Y: Field{[10]uint32{0x009b5b7a, 0x0215d00a, 0x0292c7f0, 0x01c341f0, 0x02c123d4, 0x027ffeee, 0x0339bbff, 0x03351b97, 0x00181354, 0x00213534}}}, + {X: Field{[10]uint32{0x03e0a32d, 0x017af1fb, 0x01ab1fcb, 0x0035ecd2, 0x00a8d701, 0x00a15f6e, 0x026714a0, 0x007621db, 0x027a2db1, 0x002eb3d8}}, Y: Field{[10]uint32{0x00c83129, 0x02b8c0fa, 0x02f5ed57, 0x021aeadf, 0x0214b3e5, 0x01ab3882, 0x03777b73, 0x011239a2, 0x000da44c, 0x0028a1f7}}}, + {X: Field{[10]uint32{0x0376ebd7, 0x03173fc9, 0x024d4619, 0x03475934, 0x034ca888, 0x00051c59, 0x03fd2d3a, 0x027de442, 0x00553012, 0x001cc18f}}, Y: Field{[10]uint32{0x00159489, 0x0312ec8b, 0x004ea368, 0x01b34a16, 0x019d7190, 0x005261b1, 0x02b0362b, 0x03e320be, 0x01d944cc, 0x00355e50}}}, + {X: Field{[10]uint32{0x035d6637, 0x022802ce, 0x020114d0, 0x004b5116, 0x02a3f51a, 0x0376d00f, 0x03a4ce34, 0x02b4544a, 0x0232df55, 0x00013ba1}}, Y: Field{[10]uint32{0x02b14820, 0x039b1164, 0x03d8188a, 0x0006585b, 0x01916879, 0x025c8f46, 0x03f01a31, 0x009d68e7, 0x0199dc30, 0x0030a7dc}}}, + {X: Field{[10]uint32{0x03e7ef28, 0x00abf9f5, 0x0386ccd4, 0x03bed59d, 0x028f5345, 0x008fbeb2, 0x0318a16a, 0x03507e62, 0x026d68bb, 0x003f11b9}}, Y: Field{[10]uint32{0x0243c18a, 0x0009c569, 0x029d50d7, 0x00c7b23d, 0x01a02382, 0x02930a2e, 0x01af38a4, 0x0212754f, 0x02dfabf8, 0x0022d0a8}}}, + {X: Field{[10]uint32{0x03a7dc13, 0x0379862c, 0x039638a9, 0x0262bbf1, 0x013f9b6b, 0x028e41ec, 0x02ece5e2, 0x01e5e01f, 0x01b0158d, 0x0029c6b4}}, Y: Field{[10]uint32{0x0308bf90, 0x0179a87b, 0x026ea437, 0x0113a029, 0x02ccfc5c, 0x006e6df4, 0x038a8644, 0x03119394, 0x006da956, 0x001bf5fa}}}, + {X: Field{[10]uint32{0x01860a3a, 0x00ddda3c, 0x0028d0ed, 0x014f5476, 0x0161a7c5, 0x0031abd6, 0x03b99576, 0x0299ff5e, 0x01f36075, 0x00180861}}, Y: Field{[10]uint32{0x0110b2e7, 0x030caf53, 0x02802165, 0x0353754b, 0x0102265c, 0x01ea274e, 0x03a027ce, 0x020d7991, 0x02db706b, 0x002434c4}}}, + {X: Field{[10]uint32{0x007a77ca, 0x01edf7d8, 0x006b598e, 0x01fe50dc, 0x0336b443, 0x01f718b0, 0x019976d3, 0x024646e7, 0x02837672, 0x0036c3f2}}, Y: Field{[10]uint32{0x02efc29d, 0x01210760, 0x03dd9c4f, 0x01a26541, 0x0278699a, 0x028600be, 0x009f0b32, 0x01faff83, 0x016e8eba, 0x0008f7b7}}}, + {X: Field{[10]uint32{0x00a54939, 0x023c95e9, 0x01884761, 0x03b00ce7, 0x02237d0a, 0x03fe37a0, 0x0159909f, 0x013c24a8, 0x0061598d, 0x001a466e}}, Y: Field{[10]uint32{0x0334b90c, 0x0072f6db, 0x03ff2f3e, 0x0050e4b0, 0x0127a1a2, 0x02693864, 0x01c07845, 0x00ea8ee1, 0x02fe1fa5, 0x002ae7e0}}}, + {X: Field{[10]uint32{0x0074bd59, 0x03becba0, 0x01e39299, 0x0063df8e, 0x02877ec1, 0x0354e803, 0x00f0a5d5, 0x006e9f0f, 0x02e9f1f5, 0x003d29f4}}, Y: Field{[10]uint32{0x005bd257, 0x01f8640b, 0x01be0ef1, 0x027665d0, 0x030c9bea, 0x02f39e60, 0x00e6380c, 0x02b38b69, 0x01006aa6, 0x0027c142}}}, + {X: Field{[10]uint32{0x01453da3, 0x02cb8d73, 0x03656366, 0x01f95065, 0x02392731, 0x03ffef65, 0x011ae232, 0x03784c42, 0x0210d4f1, 0x0022975c}}, Y: Field{[10]uint32{0x00580a54, 0x0345912c, 0x02a98abc, 0x001394ca, 0x034cae10, 0x024c1ab6, 0x0158a05a, 0x03683a99, 0x021b5b71, 0x0026bfe2}}}, + {X: Field{[10]uint32{0x00e86f16, 0x020063ae, 0x039f3f93, 0x0308abf5, 0x022c9195, 0x02812e1e, 0x020406be, 0x01c566c2, 0x03dce40d, 0x00267ac8}}, Y: Field{[10]uint32{0x00ecff66, 0x011f5059, 0x01b3782b, 0x037a7a03, 0x03b1f17f, 0x01e7f2af, 0x036cddaa, 0x03f7b1ff, 0x0138a66e, 0x000bbc86}}}, + {X: Field{[10]uint32{0x00d37472, 0x02e996ad, 0x02904a99, 0x0391eb2f, 0x01611ad0, 0x02aef9e0, 0x03f0d0b9, 0x011062b1, 0x02841a87, 0x000efc5b}}, Y: Field{[10]uint32{0x03e714ad, 0x00d44868, 0x003551fb, 0x02ca2bbd, 0x007d1138, 0x009dd0df, 0x008c0f19, 0x0232cbf2, 0x01f4e194, 0x00074f2e}}}, + {X: Field{[10]uint32{0x03f01f3e, 0x027f93f9, 0x0095af45, 0x03395126, 0x02561811, 0x018e22a1, 0x007c1333, 0x00e5382e, 0x03ff19eb, 0x0028fbe0}}, Y: Field{[10]uint32{0x0178cbab, 0x0344e920, 0x024a1045, 0x03374cd6, 0x019d687c, 0x00474238, 0x007ddb47, 0x02b32f37, 0x01398bdc, 0x00065577}}}, + {X: Field{[10]uint32{0x00b1af90, 0x03bc5f9c, 0x02552063, 0x0047d6b7, 0x005a344d, 0x008f75ad, 0x01c024c2, 0x013a04fb, 0x0351da9b, 0x0009a05b}}, Y: Field{[10]uint32{0x014aabd6, 0x001e980a, 0x03d30220, 0x01feef33, 0x0365611b, 0x01813a25, 0x02809676, 0x019e8d5c, 0x021d1d6b, 0x001189e3}}}, + {X: Field{[10]uint32{0x03dea823, 0x03a1112b, 0x0125a909, 0x0325239d, 0x031d47dc, 0x01e502c3, 0x03b14f69, 0x03c523b2, 0x03c0d640, 0x00178594}}, Y: Field{[10]uint32{0x00b092c7, 0x017333d3, 0x01c86cd4, 0x0325bfbb, 0x008e499c, 0x00af714a, 0x03aef229, 0x020d43b3, 0x01ede7cb, 0x0026e2e0}}}, + {X: Field{[10]uint32{0x0028de9e, 0x03a76f7a, 0x008f247f, 0x01beb770, 0x02b7725d, 0x0096c4ad, 0x0348c231, 0x00da5158, 0x02450b0d, 0x0006f623}}, Y: Field{[10]uint32{0x00a95db0, 0x036e8bee, 0x00fe2098, 0x01a1a602, 0x009f6faf, 0x00750059, 0x03dae7ca, 0x0377695d, 0x01e32d8b, 0x00060a4e}}}, + {X: Field{[10]uint32{0x01b73c02, 0x004b17f6, 0x01fbd31b, 0x005b5080, 0x02b80ab7, 0x03aede00, 0x01e754fb, 0x013900c5, 0x02063adc, 0x0012c0ff}}, Y: Field{[10]uint32{0x0080fb06, 0x0233d507, 0x0030e73e, 0x00c7a929, 0x03a5623c, 0x000fe638, 0x00ed537e, 0x03946403, 0x00a8e2c5, 0x002a1934}}}, + {X: Field{[10]uint32{0x01d35f61, 0x013c7a11, 0x0268c588, 0x003f4217, 0x01214686, 0x0311bced, 0x01927f13, 0x023ccc7b, 0x01150781, 0x00038829}}, Y: Field{[10]uint32{0x02bcf328, 0x021d79a5, 0x00db0484, 0x02828f48, 0x02a924e9, 0x03f523d9, 0x02466c43, 0x035b1627, 0x00021a79, 0x00287048}}}, + {X: Field{[10]uint32{0x001e37be, 0x024971fe, 0x03a732db, 0x0287200a, 0x034aaece, 0x0221787a, 0x0224d874, 0x0387362f, 0x024e74a1, 0x0038f446}}, Y: Field{[10]uint32{0x021645f5, 0x00a8eda1, 0x03c7f73d, 0x0271ed12, 0x03022b0a, 0x0220c752, 0x0006787b, 0x03c07d8e, 0x001e0a1e, 0x0023c7b0}}}, + {X: Field{[10]uint32{0x0237f6e5, 0x00a8204f, 0x00617d1e, 0x00c83d00, 0x03da71fa, 0x01ca6c58, 0x0292b584, 0x0036fba3, 0x021557fe, 0x002288cc}}, Y: Field{[10]uint32{0x02cce950, 0x022415ab, 0x01f5e938, 0x00a5870d, 0x03267dbd, 0x035de632, 0x021ed74b, 0x01d416ba, 0x031abb8c, 0x002bd791}}}, + {X: Field{[10]uint32{0x0051d20d, 0x0269db5a, 0x01cbe99f, 0x03ea65a1, 0x02997e8d, 0x01c05735, 0x01070e00, 0x011a0c54, 0x022cb43f, 0x000eef02}}, Y: Field{[10]uint32{0x00b4f97d, 0x038d46df, 0x00278bb0, 0x010e5bea, 0x01fd1408, 0x01820c44, 0x0168e88b, 0x013102e6, 0x038ea5f1, 0x0026877e}}}, + {X: Field{[10]uint32{0x011d1deb, 0x0384cf24, 0x01184811, 0x00e0e50c, 0x0165380f, 0x0101ed2e, 0x0059dac9, 0x020eafa3, 0x0381082d, 0x00230135}}, Y: Field{[10]uint32{0x000a3db4, 0x014982d3, 0x00eab4a6, 0x0261c663, 0x00c0a3e0, 0x0200e54d, 0x03213408, 0x008c5bf3, 0x0093fdb2, 0x00135d39}}}, + {X: Field{[10]uint32{0x02a0291f, 0x002935b5, 0x028c8577, 0x0057279f, 0x001ed9f9, 0x00b80d91, 0x00aa7c46, 0x00b37b7c, 0x010e7231, 0x00119f53}}, Y: Field{[10]uint32{0x00a1ce32, 0x0376875c, 0x001fc0d4, 0x010060ea, 0x02f117e2, 0x00475596, 0x00624ddf, 0x025528c3, 0x00a9d7c2, 0x0020f6d0}}}, + {X: Field{[10]uint32{0x01a3dc8c, 0x03d26311, 0x00195d55, 0x00b7866b, 0x02ce73ae, 0x01072f54, 0x00601869, 0x028406ac, 0x00cd8e55, 0x002d8bd8}}, Y: Field{[10]uint32{0x0314ef41, 0x0330c06c, 0x03cef428, 0x02e3efdb, 0x034a5108, 0x01633482, 0x030ed091, 0x00958bba, 0x00b07c6d, 0x00167692}}}, + {X: Field{[10]uint32{0x039e681f, 0x03746d72, 0x02183379, 0x03301924, 0x01166e88, 0x0151bbfa, 0x036d7f19, 0x03b9877c, 0x0210f98a, 0x001ad758}}, Y: Field{[10]uint32{0x018a0d76, 0x011b9bda, 0x028e77f2, 0x01eb11c8, 0x027c6de8, 0x00c01170, 0x008afca8, 0x0229adcb, 0x034859c8, 0x0036fec5}}}, + {X: Field{[10]uint32{0x02300c97, 0x03b34288, 0x00286049, 0x036d234f, 0x00548768, 0x01625df3, 0x012cc9ef, 0x0210ada3, 0x0104e8c7, 0x00221d13}}, Y: Field{[10]uint32{0x03b9c38c, 0x03d628a3, 0x01bc0393, 0x024e4421, 0x02149d29, 0x031f242d, 0x00b0e425, 0x03147968, 0x02a51ea3, 0x002115ce}}}, + {X: Field{[10]uint32{0x032e37c8, 0x02038cb0, 0x03d4bada, 0x0296f934, 0x00d0218b, 0x005ab64e, 0x03065712, 0x02b16066, 0x002440f2, 0x003f7cb2}}, Y: Field{[10]uint32{0x01538f74, 0x01b56a97, 0x028b5587, 0x0069d019, 0x01917203, 0x02180b7f, 0x00c6f205, 0x007fef92, 0x00b59e96, 0x0030aaf1}}}, + {X: Field{[10]uint32{0x03777559, 0x012255fb, 0x028a9366, 0x03826d33, 0x0115178c, 0x011d5501, 0x02273bd2, 0x0220ecc8, 0x03641f5a, 0x00134bf7}}, Y: Field{[10]uint32{0x02a41b11, 0x002ce152, 0x029fabed, 0x00070d12, 0x02b2837f, 0x02cc85eb, 0x021b89b9, 0x03cc7190, 0x0101210b, 0x0008ae87}}}, + {X: Field{[10]uint32{0x00ddc633, 0x0185648d, 0x022699c4, 0x0330abf2, 0x035a54dc, 0x017192a3, 0x02f3faea, 0x02ff7e06, 0x00a1e743, 0x003b1f2f}}, Y: Field{[10]uint32{0x02ab0917, 0x01e05b93, 0x02e295f5, 0x039263f3, 0x03dc5263, 0x01684041, 0x0128c05e, 0x028141ed, 0x01a9ea76, 0x0027c64f}}}, + {X: Field{[10]uint32{0x00b44fdf, 0x02aef011, 0x01943c7f, 0x037e74dc, 0x00da9cd6, 0x00f2e013, 0x001e7790, 0x0262e2e0, 0x01137719, 0x003fcbe8}}, Y: Field{[10]uint32{0x01f6093c, 0x011af2cb, 0x02c54237, 0x009008b2, 0x022aec68, 0x02335bc2, 0x01d966db, 0x01d9c31e, 0x03f21ac5, 0x00258849}}}, + {X: Field{[10]uint32{0x00a57580, 0x0179de82, 0x035ee647, 0x0324a7c5, 0x034fd418, 0x010db5ab, 0x02c21bec, 0x000b48d3, 0x006b2dfb, 0x001b46d0}}, Y: Field{[10]uint32{0x00e895eb, 0x03a88f6f, 0x02f07b2d, 0x0394e2e7, 0x02f157ef, 0x00f9ed80, 0x00693d6d, 0x0238be3c, 0x02689dba, 0x002e2515}}}, + {X: Field{[10]uint32{0x004d7963, 0x03bd4e59, 0x01df587b, 0x03ddd308, 0x020317bf, 0x00371ae5, 0x00767270, 0x00033919, 0x01fb449e, 0x0012aee7}}, Y: Field{[10]uint32{0x006e6407, 0x03162f7e, 0x018e49c2, 0x02a1d517, 0x004d6dbb, 0x026bc726, 0x01807868, 0x031a6cab, 0x02b7c016, 0x001821bc}}}, + {X: Field{[10]uint32{0x010fcee6, 0x036d8e99, 0x022361f8, 0x0293f43b, 0x022fb3be, 0x016128f2, 0x00b0b895, 0x010258dd, 0x01cc634a, 0x0036c314}}, Y: Field{[10]uint32{0x01b6e6a0, 0x03f8cf31, 0x02486367, 0x01fe160d, 0x015d2825, 0x01ec3993, 0x0116fd39, 0x02b8612f, 0x012baea1, 0x001fb02f}}}, + {X: Field{[10]uint32{0x03fdb287, 0x01348b0d, 0x00e74495, 0x020886aa, 0x006996a3, 0x011b79c1, 0x01e02ed6, 0x01246699, 0x01bcd066, 0x002b9bdb}}, Y: Field{[10]uint32{0x03f2f201, 0x03eda870, 0x03d1bb76, 0x03d7d7fb, 0x02c5bbb2, 0x027e440b, 0x01313791, 0x01d01046, 0x02aef8ae, 0x002af9c3}}}, + {X: Field{[10]uint32{0x035f6227, 0x034eb234, 0x01fda63d, 0x018beb14, 0x00f4079a, 0x01ff25dc, 0x00771a91, 0x007cc2f4, 0x0397cb32, 0x002ba8fa}}, Y: Field{[10]uint32{0x02bf39b6, 0x006b919a, 0x0352506f, 0x0285105a, 0x03878145, 0x00a1f7f7, 0x0133704a, 0x005717a4, 0x00163985, 0x002da94d}}}, + {X: Field{[10]uint32{0x012233be, 0x02f28721, 0x01ded051, 0x0018fa24, 0x0039355c, 0x01b04ebe, 0x037234ef, 0x01437a07, 0x00cf711d, 0x0024327e}}, Y: Field{[10]uint32{0x0021bff5, 0x0388720d, 0x0151ed7f, 0x00baa805, 0x0317d2c3, 0x004d61e0, 0x013d4528, 0x025927cb, 0x037818f1, 0x00023655}}}, + {X: Field{[10]uint32{0x02d976e0, 0x017b6321, 0x020e2149, 0x02ae4809, 0x02fd954a, 0x012d23bf, 0x028dcde3, 0x000d1154, 0x00e5ab1d, 0x0016b5fb}}, Y: Field{[10]uint32{0x038569b0, 0x0052c0fd, 0x003d8700, 0x0112c5e1, 0x0062ac94, 0x0311adb8, 0x03274e93, 0x018eaefb, 0x023b2c3c, 0x000b7c85}}}, + {X: Field{[10]uint32{0x03d28d9a, 0x0113a38e, 0x0031cb78, 0x01f5622a, 0x001d80ae, 0x00eac32b, 0x026d3ee1, 0x00bbc05b, 0x022c8e94, 0x002dae8b}}, Y: Field{[10]uint32{0x03ef7fb4, 0x01776dc6, 0x0101d085, 0x014f402d, 0x00a2ebf4, 0x03490458, 0x01b6b067, 0x037f7d40, 0x0235f923, 0x00104602}}}, + {X: Field{[10]uint32{0x03f5f37d, 0x01319d1f, 0x01cc413a, 0x02a71a02, 0x00799555, 0x03211627, 0x03dd450b, 0x01b1f7ea, 0x03c9bba2, 0x001f9026}}, Y: Field{[10]uint32{0x01c9e6b1, 0x00f7b9de, 0x0030ce42, 0x00d067f8, 0x036066b0, 0x020763f7, 0x01c42604, 0x02bf8b90, 0x01619cc5, 0x00031462}}}, + {X: Field{[10]uint32{0x024f602c, 0x02145bb7, 0x024e0300, 0x01aa942d, 0x022c7263, 0x031f1308, 0x01010606, 0x03cbb8a3, 0x011470b2, 0x002521b3}}, Y: Field{[10]uint32{0x02b467af, 0x03edd2f7, 0x012ceaac, 0x028d27d1, 0x02c062e9, 0x01cc8d9f, 0x0131785f, 0x0001bf7e, 0x038cfc5b, 0x00221b32}}}, + {X: Field{[10]uint32{0x01338d2a, 0x027b62c8, 0x0183b1af, 0x0271520b, 0x0294b1ee, 0x0116e817, 0x01af6d87, 0x01c81478, 0x017bc8b0, 0x0039f047}}, Y: Field{[10]uint32{0x035c8e50, 0x0214b7b5, 0x00f79c74, 0x00f5e5ff, 0x016ad468, 0x024bcd6a, 0x01062aa1, 0x02ac7bf2, 0x0293828c, 0x003f7134}}}, + {X: Field{[10]uint32{0x03d50bcd, 0x00003c24, 0x02217c98, 0x01763a00, 0x0119b1a8, 0x01db7b4d, 0x01b67b27, 0x0172c06c, 0x027bff31, 0x00037f98}}, Y: Field{[10]uint32{0x01f9e773, 0x00aa3b95, 0x03c285f3, 0x0346e57b, 0x03ea0f69, 0x0275a39a, 0x01d2480c, 0x0021edbf, 0x01ebbb65, 0x00264f15}}}, + {X: Field{[10]uint32{0x0046f516, 0x03ab1969, 0x01dde189, 0x01b55210, 0x03eb31c2, 0x0183c0bc, 0x007c9818, 0x028b2d7f, 0x0017fd00, 0x00283c33}}, Y: Field{[10]uint32{0x033b8969, 0x030a5792, 0x03a74ff5, 0x03aaf4c3, 0x0214bbe4, 0x00fb74df, 0x01077a7d, 0x0228efc4, 0x004c31d5, 0x002feba2}}}, + {X: Field{[10]uint32{0x03e37338, 0x02dcaea8, 0x01dd9dd7, 0x014e47f8, 0x03d37e7f, 0x0251ad4a, 0x02ef926c, 0x00a1bb5b, 0x02bcbc14, 0x003076ed}}, Y: Field{[10]uint32{0x02df7bf0, 0x00f9a984, 0x01bd0e79, 0x00d44e78, 0x03aa5e27, 0x028ea235, 0x036fdc81, 0x01a20bd2, 0x0187bd33, 0x0019ec0b}}}, + {X: Field{[10]uint32{0x034bebb2, 0x01416f2e, 0x03eebe82, 0x004440d0, 0x03070255, 0x03bb7d7b, 0x02cb1f06, 0x02571324, 0x025bc7d4, 0x00082e41}}, Y: Field{[10]uint32{0x00756835, 0x01449184, 0x00fbd55d, 0x029c12c9, 0x014fec71, 0x018090b6, 0x021a4f90, 0x00764af4, 0x03165c23, 0x0029a61c}}}, + {X: Field{[10]uint32{0x01a69190, 0x0152043b, 0x03f2e03c, 0x01993e36, 0x0255ab9a, 0x023f21e1, 0x029544d3, 0x0230e376, 0x01d00c4d, 0x001efb7f}}, Y: Field{[10]uint32{0x00af77a1, 0x01c569be, 0x00591690, 0x0394f275, 0x01365556, 0x01cbfb81, 0x02d00491, 0x014b79ba, 0x00b00d4f, 0x0026653c}}}, + {X: Field{[10]uint32{0x035918e0, 0x034e179a, 0x01368df4, 0x03481067, 0x035adcad, 0x0083a5f2, 0x023815b7, 0x020fdab1, 0x02af9979, 0x00099d8b}}, Y: Field{[10]uint32{0x0227e6be, 0x00862356, 0x02549279, 0x0359daab, 0x0125f0c0, 0x0395883f, 0x00be2e9b, 0x0136f009, 0x008ce11b, 0x00207d51}}}, + {X: Field{[10]uint32{0x0387bb79, 0x013d337c, 0x013d9a94, 0x01d64b43, 0x03ea14f1, 0x036a1b84, 0x0354ff5d, 0x03854b0c, 0x02e7ee18, 0x001c5232}}, Y: Field{[10]uint32{0x0310b18d, 0x032d3788, 0x0336593d, 0x002fbba0, 0x02ffd42a, 0x02b1af03, 0x0065efed, 0x01ba4105, 0x01faf6f8, 0x0002f6cd}}}, + {X: Field{[10]uint32{0x03bdbc90, 0x023385e1, 0x02723503, 0x001964f0, 0x01bb4d8f, 0x015a116d, 0x01ae00b1, 0x00b0ce9a, 0x01d933ae, 0x0009f917}}, Y: Field{[10]uint32{0x01801ac9, 0x02aff594, 0x02db1f7c, 0x0281643c, 0x017dfe36, 0x009c68ac, 0x019c75c9, 0x01e68fe3, 0x033fa935, 0x0028af38}}}, + {X: Field{[10]uint32{0x03d6b7d7, 0x02fcacb5, 0x02a98fa2, 0x0047fb4a, 0x00d0539c, 0x0207980f, 0x02d79c7d, 0x02ba30a8, 0x02155b28, 0x002bc31c}}, Y: Field{[10]uint32{0x03ac41f9, 0x00b1a6a9, 0x0085640d, 0x038793cb, 0x023b5b26, 0x0073eb0f, 0x0380bfc7, 0x00270002, 0x03cfa251, 0x002b9af7}}}, + {X: Field{[10]uint32{0x03cbabf4, 0x03f80a98, 0x02bec7ec, 0x00646b32, 0x02de0f5a, 0x007a38dc, 0x00e609b2, 0x034d3cc5, 0x0008d4f8, 0x001ed8f1}}, Y: Field{[10]uint32{0x00f16327, 0x02ca6fa5, 0x03a7ce0d, 0x03402f32, 0x02236925, 0x0222166d, 0x02b6f65e, 0x025af633, 0x009a78fa, 0x002a8200}}}, + {X: Field{[10]uint32{0x01c6890c, 0x0163e6e1, 0x03f9394d, 0x000506bb, 0x024f4b48, 0x03d3cc8c, 0x03cffb68, 0x03a22f58, 0x005314f3, 0x002adda2}}, Y: Field{[10]uint32{0x037f192c, 0x0280dbf3, 0x019e05d3, 0x010455f1, 0x01c9ff98, 0x01ffc520, 0x033610ed, 0x01af0430, 0x0033d6d9, 0x00069c72}}}, + {X: Field{[10]uint32{0x023bd32e, 0x038d4727, 0x025a9953, 0x03692c97, 0x01ccd308, 0x0303b616, 0x0375487c, 0x01444be0, 0x03f07ad7, 0x0019050d}}, Y: Field{[10]uint32{0x01a9b131, 0x00e8e220, 0x026b0ccc, 0x0142130c, 0x027d2ec9, 0x03c02198, 0x00f1ba83, 0x00d1abd4, 0x03e6b255, 0x000f163d}}}, + {X: Field{[10]uint32{0x03a082cb, 0x029d9259, 0x0180b9b4, 0x0321dce5, 0x0360f7ec, 0x03406ba1, 0x01cceaff, 0x0351e307, 0x012d600e, 0x003d4cbf}}, Y: Field{[10]uint32{0x0285fa96, 0x02f3e844, 0x0145e440, 0x02b5a5f2, 0x03221847, 0x0200f27c, 0x01bb4d6c, 0x01f5fdf3, 0x014c7111, 0x001ce4d4}}}, + {X: Field{[10]uint32{0x031c7631, 0x02f41d42, 0x01c3ee1f, 0x0351d7c3, 0x00db73db, 0x03e20a4e, 0x01e6f608, 0x02ad1362, 0x01592c4b, 0x000cd9e6}}, Y: Field{[10]uint32{0x01694fbc, 0x01c058d2, 0x035aa1fd, 0x018973d9, 0x0217125d, 0x03fd5f37, 0x00782515, 0x0273cdb4, 0x00046fe8, 0x001307e0}}}, + {X: Field{[10]uint32{0x0256c9cb, 0x008681ef, 0x00a5be22, 0x0380ca5c, 0x016f18b7, 0x0232b0a1, 0x02b53962, 0x03295ec1, 0x016d2a34, 0x00386130}}, Y: Field{[10]uint32{0x02c5bf73, 0x01780f78, 0x009c77f8, 0x00d11ad4, 0x03d646cd, 0x0319b7d5, 0x02ab0688, 0x027137c5, 0x017b51ef, 0x001f7ff0}}}, + {X: Field{[10]uint32{0x0015d419, 0x01b22119, 0x0068f0e2, 0x035bbee3, 0x034f6ce6, 0x02883078, 0x00de9909, 0x027556ee, 0x01162fb4, 0x003e2a5f}}, Y: Field{[10]uint32{0x02061146, 0x0130b910, 0x034a7ded, 0x00ea19a1, 0x005f20a8, 0x007cba1b, 0x012e1616, 0x03280652, 0x00534dbf, 0x000f34f3}}}, + {X: Field{[10]uint32{0x02475781, 0x03783a84, 0x0164eb32, 0x001ab5c6, 0x0328cfc4, 0x0234f714, 0x02dd6123, 0x03608751, 0x022f6c6a, 0x0027adaa}}, Y: Field{[10]uint32{0x0045c299, 0x00f8d1db, 0x004afcb3, 0x03a3ef08, 0x0053dfe3, 0x029066ca, 0x024ce341, 0x00b824d9, 0x028379d3, 0x00051406}}}, + {X: Field{[10]uint32{0x0202668a, 0x021e8f0d, 0x036425f8, 0x017f3ae9, 0x017c4031, 0x008ff500, 0x02427403, 0x02255787, 0x026a68e6, 0x003af095}}, Y: Field{[10]uint32{0x00c7ea39, 0x024c7935, 0x0063aa06, 0x03050bbc, 0x01fab3bd, 0x03a7b269, 0x01f9f85a, 0x015b8995, 0x010996ff, 0x0001d7a0}}}, + {X: Field{[10]uint32{0x012bc392, 0x02dfacbd, 0x029fd674, 0x012d01d2, 0x03ab9c5e, 0x02921032, 0x025b29db, 0x033970be, 0x0038a966, 0x00155919}}, Y: Field{[10]uint32{0x001c8d66, 0x01c083e6, 0x0228f0a3, 0x0033a6a3, 0x022987d8, 0x017354b9, 0x003f68a4, 0x012a273f, 0x02867603, 0x000d18c6}}}, + {X: Field{[10]uint32{0x0316575e, 0x02c0cdde, 0x032e7ece, 0x01759ca7, 0x00082eff, 0x01f76453, 0x03257b8c, 0x0207ccc4, 0x0309befb, 0x002e1fe0}}, Y: Field{[10]uint32{0x016ea298, 0x036dff6a, 0x00630dee, 0x030b3157, 0x03eda5e1, 0x0202fb06, 0x03df03fb, 0x0000b5be, 0x003259e4, 0x002fa99a}}}, + {X: Field{[10]uint32{0x00a0a93e, 0x011c77dc, 0x008d7953, 0x0054a24b, 0x0224b6cf, 0x005b90d7, 0x03598b20, 0x0358fab3, 0x0185b440, 0x0011655d}}, Y: Field{[10]uint32{0x00b71427, 0x03aabab1, 0x013a00b3, 0x03f08cd2, 0x03b29739, 0x019419fe, 0x02c366a5, 0x013d3c8e, 0x0260776a, 0x003d32d8}}}, + {X: Field{[10]uint32{0x0248ca87, 0x01eef925, 0x02e11148, 0x0122e583, 0x033fe8d6, 0x03e73015, 0x024c8218, 0x010aec60, 0x024c8d9c, 0x000b243d}}, Y: Field{[10]uint32{0x03c25a8a, 0x006f9074, 0x00ab4da2, 0x01f5ac76, 0x0369bebf, 0x008bf3d5, 0x03000a9f, 0x00f2d827, 0x0157ac64, 0x0020a6f3}}}, + {X: Field{[10]uint32{0x004b5efe, 0x02c15205, 0x037be36d, 0x0048aea7, 0x012e7539, 0x01dcc5ca, 0x006a3fcc, 0x026af655, 0x02c7779c, 0x003acc9e}}, Y: Field{[10]uint32{0x018c9435, 0x00e46414, 0x025a08c4, 0x01948e15, 0x032cbbf3, 0x01b9d200, 0x032c594d, 0x0334e230, 0x00858d2f, 0x00086b0b}}}, + {X: Field{[10]uint32{0x006d007d, 0x0032c74b, 0x00e6adba, 0x00606b8c, 0x00daa354, 0x00df43c2, 0x02b07fdd, 0x03329ea8, 0x03e2272c, 0x000257b1}}, Y: Field{[10]uint32{0x03a12b5f, 0x01e3f14a, 0x00f3375f, 0x01f93dd0, 0x002d589e, 0x0042e224, 0x02ac913c, 0x01814154, 0x02ef59df, 0x001ccde1}}}, + {X: Field{[10]uint32{0x000cbbd1, 0x019f1a7f, 0x015f5fc3, 0x00a4b186, 0x0191104a, 0x03fc5cdc, 0x03c845d7, 0x028203c9, 0x02988b4f, 0x0012de99}}, Y: Field{[10]uint32{0x03a85b8f, 0x011606d8, 0x0207c928, 0x01360904, 0x008e5249, 0x0266ca79, 0x0338fd4d, 0x01584a1e, 0x03d0a360, 0x0022c10e}}}, + {X: Field{[10]uint32{0x0342e6b2, 0x02af4c68, 0x025e747d, 0x024bf194, 0x00a92337, 0x006409f0, 0x02ab28a6, 0x02077cd4, 0x018b6df5, 0x00226cb1}}, Y: Field{[10]uint32{0x03f53a2b, 0x01168435, 0x001f4100, 0x03ae223a, 0x009b053f, 0x000edd2f, 0x025edea2, 0x03996f89, 0x0334d459, 0x000c02c6}}}, + {X: Field{[10]uint32{0x03c43cf1, 0x02a04526, 0x008007ad, 0x009e27c3, 0x031c9263, 0x01d7b121, 0x027ff0db, 0x00a34392, 0x035d9f6a, 0x00104266}}, Y: Field{[10]uint32{0x0262cae5, 0x03056dde, 0x00b26995, 0x02680d65, 0x013e0791, 0x00196234, 0x009253be, 0x024adba5, 0x02962e2b, 0x000a82ae}}}, + {X: Field{[10]uint32{0x03229be4, 0x03f58581, 0x00817af7, 0x02704e27, 0x018825ea, 0x02998d55, 0x03396b29, 0x00230d41, 0x00649ec5, 0x002f2c3f}}, Y: Field{[10]uint32{0x0207d606, 0x011a4cce, 0x03e5c2c7, 0x02e4b5ef, 0x0313664d, 0x0248b991, 0x03a12ae0, 0x03d6adb0, 0x0192cf3b, 0x0005a31e}}}, + {X: Field{[10]uint32{0x018b762e, 0x01c6737b, 0x009a50ec, 0x035bdc0d, 0x029cd3b3, 0x0156a025, 0x0314ca70, 0x015abe78, 0x01585a62, 0x001e8ff2}}, Y: Field{[10]uint32{0x03df1346, 0x011172f4, 0x00f2217d, 0x01e0e44a, 0x00dadecd, 0x01c5e764, 0x0288526b, 0x001c58d4, 0x000c29cd, 0x003fa2ca}}}, + {X: Field{[10]uint32{0x01a8176a, 0x038fc198, 0x02fe1c89, 0x03980341, 0x027583c1, 0x0195b6a6, 0x03229e1e, 0x028d7b83, 0x03e1b968, 0x000ddc24}}, Y: Field{[10]uint32{0x02c601d9, 0x003e2830, 0x02b82e6e, 0x0220082b, 0x006aba8e, 0x02303600, 0x02a4dd0b, 0x03d185f9, 0x020df6c9, 0x0039f021}}}, + {X: Field{[10]uint32{0x02afecd8, 0x018fc512, 0x02a375ba, 0x03496a63, 0x01919b1d, 0x0184c068, 0x0327a933, 0x033333c7, 0x03daf4a5, 0x00317bfc}}, Y: Field{[10]uint32{0x00b97a1c, 0x01259337, 0x01d67f42, 0x027d38fc, 0x010a9412, 0x0088b0bf, 0x008a02c2, 0x020f7063, 0x023426f9, 0x000d3845}}}, + {X: Field{[10]uint32{0x023ffb27, 0x02a732f9, 0x014e984e, 0x03c54bb1, 0x033c0fa6, 0x00da2bf2, 0x0230f728, 0x0034cd10, 0x0119eb56, 0x00003f1e}}, Y: Field{[10]uint32{0x0059a6b3, 0x00a10aa6, 0x03fa9413, 0x033ab6b4, 0x00a04bc4, 0x03929f74, 0x01cb8388, 0x01bfe6f0, 0x0382af76, 0x00071f4d}}}, + {X: Field{[10]uint32{0x021ca5bd, 0x0362c921, 0x001c6287, 0x00890f4e, 0x03b31183, 0x0371bd1b, 0x0034cd6e, 0x01b5c951, 0x03fb4938, 0x0009e0f5}}, Y: Field{[10]uint32{0x03fa5c70, 0x005b8e31, 0x00111a93, 0x01d205c4, 0x01e4c685, 0x023e271e, 0x00450262, 0x01ab038f, 0x02710b80, 0x0028eabc}}}, + {X: Field{[10]uint32{0x018a02f3, 0x012cc3cb, 0x012298ad, 0x01bff4d7, 0x0188f54a, 0x0396efe5, 0x03f89495, 0x038343dd, 0x007868d4, 0x001d01e9}}, Y: Field{[10]uint32{0x03fdec9c, 0x03046d61, 0x001ce24c, 0x0250166b, 0x02debf3d, 0x024cca5f, 0x01b393ea, 0x0232c2a9, 0x016296e1, 0x00049435}}}, + {X: Field{[10]uint32{0x0061a321, 0x0137486a, 0x01df6cc5, 0x0293e118, 0x01c5899f, 0x0055101e, 0x02c108e7, 0x03b369de, 0x00e32940, 0x0030b4b3}}, Y: Field{[10]uint32{0x005a1909, 0x037a16fc, 0x01b729e6, 0x02aba0c3, 0x030a919e, 0x03321516, 0x00b05e3e, 0x0201c64a, 0x01fa40bb, 0x003c2fac}}}, + {X: Field{[10]uint32{0x01e8a56f, 0x03eb0fab, 0x013eb349, 0x00d4132c, 0x00d459a9, 0x02d7a54c, 0x014e1f5a, 0x006559aa, 0x0189c505, 0x00233dac}}, Y: Field{[10]uint32{0x03cf9c96, 0x018152f3, 0x0338c160, 0x02205884, 0x00327aa7, 0x008b51ea, 0x02d06d3b, 0x00a21b39, 0x017032e5, 0x002fdaa7}}}, + {X: Field{[10]uint32{0x01a94968, 0x019d9b4a, 0x01d51ece, 0x00adff42, 0x022deeaa, 0x00c9df47, 0x016ac5f5, 0x0211c43e, 0x0186ed9f, 0x0035ac1d}}, Y: Field{[10]uint32{0x009c5326, 0x03a0fd7c, 0x03c9c75b, 0x007b4b88, 0x022f7904, 0x038fe8a4, 0x02f0d0d5, 0x01573d2b, 0x00b4ce56, 0x0036ad35}}}, + {X: Field{[10]uint32{0x02f4d647, 0x01c89ec3, 0x0000fb85, 0x00cd136a, 0x009e661d, 0x001e560d, 0x03a09219, 0x00fb7fcc, 0x033360a0, 0x0029c82d}}, Y: Field{[10]uint32{0x0084ea63, 0x01702d52, 0x035b11bb, 0x03fef513, 0x0313d79d, 0x003d219f, 0x037e3a5a, 0x00b60980, 0x006a721c, 0x0007c84f}}}, + {X: Field{[10]uint32{0x033a5ff7, 0x01a73b07, 0x030ac95a, 0x028b2806, 0x01b39f9b, 0x0167741d, 0x03db862e, 0x031b19c5, 0x02983b03, 0x00156295}}, Y: Field{[10]uint32{0x00ffb1a4, 0x0331b1f5, 0x0155792e, 0x01a621ff, 0x00fe3ae8, 0x00117f18, 0x0338458a, 0x02da2c85, 0x0352db21, 0x001f81f1}}}, + {X: Field{[10]uint32{0x00e14ca4, 0x02d55404, 0x002639ca, 0x035fe35b, 0x02a7c2d9, 0x00474382, 0x0329941f, 0x01a2a314, 0x03c32786, 0x002e49f7}}, Y: Field{[10]uint32{0x0323388c, 0x01e570ad, 0x035524b8, 0x0152666b, 0x0172f4d8, 0x01dc1489, 0x020e35f7, 0x0089eed0, 0x03259954, 0x000f3a0d}}}, + {X: Field{[10]uint32{0x030e6da8, 0x0263b313, 0x0016513f, 0x00719470, 0x003c35f7, 0x02d568dd, 0x0223ed5a, 0x02bfd623, 0x00991085, 0x000adc35}}, Y: Field{[10]uint32{0x006a8b06, 0x013c0a94, 0x025cd1a9, 0x004c72b8, 0x030a7014, 0x03609d8b, 0x03984697, 0x01727288, 0x034daa1e, 0x0037d04e}}}, + {X: Field{[10]uint32{0x01aefe56, 0x007cbbcb, 0x01144142, 0x015298b8, 0x01e1368e, 0x012e9dfa, 0x029181d9, 0x01b80266, 0x00dcf72f, 0x002e20db}}, Y: Field{[10]uint32{0x010427ce, 0x01488279, 0x00359afa, 0x02a94e53, 0x0201beec, 0x0233abad, 0x017014b6, 0x03c9b72b, 0x012f0e31, 0x00026b51}}}, + {X: Field{[10]uint32{0x00af93a7, 0x02daa031, 0x01b004dc, 0x01173643, 0x02ec66b4, 0x03cce026, 0x0388b480, 0x0388e825, 0x017b65f0, 0x00094aca}}, Y: Field{[10]uint32{0x00916838, 0x02c37898, 0x010e806c, 0x034314cd, 0x039f77c7, 0x0092962f, 0x02a3bcfc, 0x018845cd, 0x00c43c34, 0x00233138}}}, + {X: Field{[10]uint32{0x02be6330, 0x0245c737, 0x01892aad, 0x001335ca, 0x03d34f27, 0x035adef6, 0x03d5fa03, 0x03319a3b, 0x00ca1c15, 0x0027cf4c}}, Y: Field{[10]uint32{0x023211b0, 0x0188c9ec, 0x0057b386, 0x02613888, 0x01353d9b, 0x0051d85c, 0x0056974f, 0x03b9eaf0, 0x00340f95, 0x001122d9}}}, + {X: Field{[10]uint32{0x03d35e49, 0x034a614b, 0x039e66e2, 0x01793952, 0x01653b54, 0x02f1ef38, 0x00a771b5, 0x02b767fe, 0x016e5bc9, 0x00208978}}, Y: Field{[10]uint32{0x010570fa, 0x012a9d5f, 0x0212c717, 0x02774401, 0x00df836b, 0x01fc2765, 0x024e1de8, 0x028b05b2, 0x01e3aaef, 0x00189531}}}, + {X: Field{[10]uint32{0x02d02ebe, 0x01a729aa, 0x01799046, 0x019d34f1, 0x01074f47, 0x0378956c, 0x02a80b74, 0x0266c6dc, 0x02484d6e, 0x0029f73b}}, Y: Field{[10]uint32{0x01c170a7, 0x0160ee80, 0x002a42db, 0x01e231f1, 0x00785861, 0x03bdea52, 0x021f541b, 0x02407d21, 0x00fa76a2, 0x00075bc3}}}, + {X: Field{[10]uint32{0x009976b4, 0x038c57a0, 0x03d1e210, 0x00ae8e5b, 0x009a6baa, 0x00b1992e, 0x013372fd, 0x03a43a63, 0x01a85d4c, 0x002a4511}}, Y: Field{[10]uint32{0x00b1d100, 0x020e1d9e, 0x01449f1d, 0x03e539f1, 0x0072deac, 0x0365001f, 0x01d1512c, 0x01cac6d4, 0x028b99b0, 0x002b7131}}}, + {X: Field{[10]uint32{0x027ce1f1, 0x0217b88a, 0x01c79ed6, 0x02b621b3, 0x036f6ea6, 0x01443803, 0x00410963, 0x025955d7, 0x01ce907c, 0x001d18b2}}, Y: Field{[10]uint32{0x0371c7df, 0x03fe882e, 0x00f2ae67, 0x03a0ccbe, 0x0047a854, 0x02731050, 0x02df5ac7, 0x008a6710, 0x01c5f02c, 0x0013fe90}}}, + {X: Field{[10]uint32{0x00cd4f40, 0x0232a18a, 0x005065d3, 0x0112596a, 0x00dfd855, 0x029e7c8d, 0x00e36bb6, 0x0256f6be, 0x01f3dea4, 0x00350a25}}, Y: Field{[10]uint32{0x010d9cf5, 0x024ab82d, 0x01bbd59c, 0x003ea036, 0x00982171, 0x02ee121b, 0x0069b207, 0x00710b9e, 0x031813a1, 0x000bfb7a}}}, + {X: Field{[10]uint32{0x01388adc, 0x03666853, 0x01669c29, 0x01b5da99, 0x02e8291e, 0x03bd4f44, 0x03434b27, 0x01622bc4, 0x0362ce85, 0x003be6da}}, Y: Field{[10]uint32{0x03bf912f, 0x022bb826, 0x0138adb1, 0x015516da, 0x02802612, 0x024501f2, 0x0107955e, 0x03258bb6, 0x03cf9af0, 0x000567d7}}}, + {X: Field{[10]uint32{0x01bc9f32, 0x02c1b23f, 0x03f392af, 0x01f8a9a4, 0x0392877c, 0x0325abff, 0x01fb7bdb, 0x0276bf7d, 0x01a0bc65, 0x001000fc}}, Y: Field{[10]uint32{0x0161fef9, 0x0217ad5e, 0x03cc9ea6, 0x029b09c1, 0x017faeaf, 0x012fa197, 0x03f1dcb7, 0x03c2c0a3, 0x02a17458, 0x003afff2}}}, + {X: Field{[10]uint32{0x02c09a8b, 0x01c0da9a, 0x027debed, 0x03640121, 0x01aa9ae1, 0x0121bd73, 0x00786f07, 0x03614592, 0x008b6b03, 0x0010e412}}, Y: Field{[10]uint32{0x0282f07a, 0x01da98e1, 0x03d6e5dd, 0x0304a682, 0x03452001, 0x00777ce4, 0x035b88a2, 0x02d5ac70, 0x01e5a10d, 0x001e0ca7}}}, + {X: Field{[10]uint32{0x03fadea1, 0x01d019ea, 0x006b9605, 0x005be7fe, 0x016074ee, 0x037fe2d0, 0x0006c565, 0x03ed9ad8, 0x00d29ea3, 0x002b9b68}}, Y: Field{[10]uint32{0x011cdac7, 0x00cc8d30, 0x009c05ca, 0x007ae22d, 0x0229e3f0, 0x00dc1853, 0x02f0916f, 0x00a98f9d, 0x0263dd01, 0x001d32aa}}}, + {X: Field{[10]uint32{0x03cfc72a, 0x0362a1ae, 0x014fb2fa, 0x03825414, 0x02035942, 0x013a01bd, 0x00656520, 0x011c86df, 0x01df9861, 0x001e3e1e}}, Y: Field{[10]uint32{0x00281ac6, 0x014a5b4e, 0x01c68a75, 0x034e2358, 0x032318aa, 0x03ee1731, 0x03661b7f, 0x03a02fea, 0x018c478a, 0x00106539}}}, + {X: Field{[10]uint32{0x03c97e01, 0x00be5b97, 0x01d1dedd, 0x00a1ec70, 0x000352e0, 0x00e0d577, 0x00d51cc8, 0x02c31b5b, 0x03654f41, 0x00201a10}}, Y: Field{[10]uint32{0x02b62461, 0x000cfae4, 0x01c45262, 0x01f8ec79, 0x037546bc, 0x00d7ca69, 0x0141a0d0, 0x006d3878, 0x023f13c6, 0x0022c308}}}, + {X: Field{[10]uint32{0x0387466c, 0x02ce4212, 0x0301005c, 0x00d271e5, 0x02f83b59, 0x0365f42a, 0x03d11691, 0x01d7d1bb, 0x019f4fd9, 0x000a5427}}, Y: Field{[10]uint32{0x02d0da81, 0x03ae9a81, 0x038da8a0, 0x0214bab4, 0x02a33de5, 0x00d78f21, 0x00fccbe1, 0x02be5b27, 0x037569a0, 0x00051dfa}}}, + {X: Field{[10]uint32{0x031dfa4a, 0x03ffabb7, 0x0399c2d8, 0x0105bafd, 0x004e3d57, 0x00f18ea7, 0x01532fe3, 0x01c8bc30, 0x00433d9c, 0x00064745}}, Y: Field{[10]uint32{0x003a2cd8, 0x012d375c, 0x01706eae, 0x02d997b2, 0x01a5e3c7, 0x006213bb, 0x01ecf839, 0x01c6b5d1, 0x0009b6b5, 0x0016f401}}}, + {X: Field{[10]uint32{0x030155a8, 0x022c5646, 0x001e1ebf, 0x0078f6c8, 0x02a50f0e, 0x03aa0afc, 0x02d65afe, 0x0205a17b, 0x002ed273, 0x000a10f5}}, Y: Field{[10]uint32{0x03c63ee8, 0x01f4246e, 0x02f98ff8, 0x02e02669, 0x0177edaf, 0x00cb2c89, 0x03e6e2c2, 0x027d4ed1, 0x0266c0fa, 0x00201f3a}}}, + {X: Field{[10]uint32{0x03c8f644, 0x014ef44a, 0x000184d6, 0x00b5145b, 0x00e96ed0, 0x03a084be, 0x007514b8, 0x034dbd4d, 0x03b09656, 0x00155a2d}}, Y: Field{[10]uint32{0x00e60d87, 0x03618e14, 0x009118b2, 0x026e904a, 0x02496045, 0x03a8d901, 0x03da30d7, 0x01b710fe, 0x03a65483, 0x0016d13a}}}, + {X: Field{[10]uint32{0x0145e803, 0x023b17ac, 0x03d6e5f3, 0x008701cf, 0x004a7dd4, 0x0256ccbe, 0x00d81ab5, 0x01129a7a, 0x00e0809e, 0x0016e138}}, Y: Field{[10]uint32{0x0113d398, 0x00f4fbeb, 0x00243cb4, 0x0303fa4d, 0x017e6109, 0x0390c455, 0x03a1522a, 0x0073b5cb, 0x02d0fa79, 0x00069968}}}, + {X: Field{[10]uint32{0x02dfa672, 0x02993aaf, 0x00ede900, 0x010a4b32, 0x00675ba8, 0x0234ca44, 0x021519a1, 0x0041c51f, 0x016bdd24, 0x003bd0b1}}, Y: Field{[10]uint32{0x03ff75ac, 0x01ef34e2, 0x00e3cc9e, 0x0288c51d, 0x0326a618, 0x02b76fda, 0x01e0c254, 0x0265dd84, 0x03473335, 0x001c0545}}}, + {X: Field{[10]uint32{0x0256eb63, 0x01f04a55, 0x0294c92b, 0x03b21fab, 0x00adc653, 0x02c5056d, 0x026ed003, 0x0129592f, 0x02dcb50d, 0x001237fc}}, Y: Field{[10]uint32{0x01643928, 0x01982063, 0x036b5f0f, 0x00f7dc07, 0x02fa29e6, 0x02feb550, 0x03c59e98, 0x03b3dbc2, 0x03fb53af, 0x002a6fa5}}}, + {X: Field{[10]uint32{0x02e938d4, 0x00793ed2, 0x00337f88, 0x035067f7, 0x00d1923b, 0x008ac263, 0x009a2dfc, 0x0345d043, 0x00f5246a, 0x0019cba4}}, Y: Field{[10]uint32{0x01781f19, 0x028a2e68, 0x02c9e97a, 0x0091585f, 0x02f331b6, 0x00797c27, 0x03e678b3, 0x01b6da20, 0x03801fda, 0x001cff4c}}}, + {X: Field{[10]uint32{0x03315cde, 0x032dd852, 0x03723ee7, 0x008529f2, 0x02dbfe55, 0x01770577, 0x01e094a9, 0x02067242, 0x01b171fb, 0x0016736e}}, Y: Field{[10]uint32{0x008351a2, 0x036c06fa, 0x00a187a6, 0x03679243, 0x017f2d38, 0x00208027, 0x033f8e73, 0x01298fb3, 0x0212670b, 0x000156b0}}}, + {X: Field{[10]uint32{0x012ddb18, 0x004237ab, 0x028f0043, 0x020a3873, 0x006b827f, 0x02666531, 0x00db879b, 0x0162ac4d, 0x010a357a, 0x001738e3}}, Y: Field{[10]uint32{0x0397f716, 0x0285364e, 0x009c1745, 0x019c4227, 0x0394748c, 0x036f3146, 0x0384b33d, 0x0361bb0b, 0x0202d9c1, 0x0017a058}}}, + {X: Field{[10]uint32{0x0398afda, 0x012846d4, 0x028c8282, 0x016b41c4, 0x02c1a74d, 0x02dabe49, 0x0227a940, 0x03eeeec3, 0x016a7466, 0x00326086}}, Y: Field{[10]uint32{0x00901f55, 0x0058df54, 0x006b6f00, 0x00953915, 0x032d8fb9, 0x00704cf6, 0x00e6448a, 0x00e2bee7, 0x01eae644, 0x001ea47e}}}, + {X: Field{[10]uint32{0x039ec818, 0x03d4ca60, 0x03d31725, 0x030a0f20, 0x0360bfbc, 0x01e5b403, 0x0281d297, 0x006fb372, 0x008479e6, 0x000e0f2c}}, Y: Field{[10]uint32{0x01dec91e, 0x028643de, 0x004ffdb1, 0x009ab619, 0x010bbc34, 0x0057cd36, 0x01e04980, 0x0224ce2f, 0x03a24900, 0x0009b89b}}}, + {X: Field{[10]uint32{0x002f612b, 0x03293f44, 0x00550248, 0x026dab21, 0x0328b88c, 0x01200477, 0x0117b524, 0x03c529c6, 0x03312ad4, 0x0039a515}}, Y: Field{[10]uint32{0x0176f53d, 0x030ce193, 0x0089c1b1, 0x01be5c1a, 0x00c81cc8, 0x027ac2d1, 0x03edddac, 0x01c0797a, 0x008251fc, 0x000c3b48}}}, + {X: Field{[10]uint32{0x039976f7, 0x00f131ae, 0x018a7f28, 0x03c893e9, 0x01250809, 0x0098a9ca, 0x02168d21, 0x024d4884, 0x01ba8f79, 0x000b401c}}, Y: Field{[10]uint32{0x031dfd8b, 0x00ac05d7, 0x01b03c87, 0x03c695c2, 0x01ccc118, 0x020001e7, 0x01455440, 0x01cfc45a, 0x01014e48, 0x0033729a}}}, + {X: Field{[10]uint32{0x001e927e, 0x0123c880, 0x017898d7, 0x02c210df, 0x01da35c2, 0x01e61dee, 0x00f35f06, 0x013efe47, 0x005765b7, 0x00320ae5}}, Y: Field{[10]uint32{0x005fd6a2, 0x00f67c81, 0x0133d931, 0x00a8e6c5, 0x03b57a0f, 0x02ab23c1, 0x0057dae9, 0x01aff1f8, 0x01d10bb0, 0x000b9413}}}, + {X: Field{[10]uint32{0x01bbf0a6, 0x02d8ca1d, 0x0022763c, 0x028bece9, 0x012654ed, 0x01cdf746, 0x01135ede, 0x0086a7fb, 0x002e7eac, 0x00270693}}, Y: Field{[10]uint32{0x00e9197f, 0x0023bf84, 0x02e60200, 0x011ba768, 0x0280eb66, 0x02ded681, 0x02c91289, 0x00716089, 0x036c12f7, 0x003cc4d2}}}, + {X: Field{[10]uint32{0x016c9b28, 0x02b09fa3, 0x0353b6a2, 0x00d8b55d, 0x019b170a, 0x0202df3e, 0x00bd645e, 0x00c88bb6, 0x019bbc69, 0x0025c74f}}, Y: Field{[10]uint32{0x01d22e2e, 0x00dbdfe4, 0x0098080a, 0x00cfce16, 0x01e20394, 0x03f17a1b, 0x00a73af7, 0x0370b1b1, 0x009ae296, 0x000358f5}}}, + {X: Field{[10]uint32{0x03917d2b, 0x0200bea2, 0x0023fa67, 0x01eafd6b, 0x01660a31, 0x00186781, 0x0329f2ae, 0x0045448f, 0x027386bc, 0x003d524e}}, Y: Field{[10]uint32{0x01e0f1d7, 0x008c1b99, 0x03e23964, 0x000a004c, 0x0138455e, 0x0109ee2d, 0x0305157b, 0x0014c0ac, 0x00cb8b78, 0x0039ab6f}}}, + {X: Field{[10]uint32{0x01b6e014, 0x00154de6, 0x006dadde, 0x03f502ce, 0x01763244, 0x03af78ab, 0x017a3215, 0x00282b92, 0x023e500e, 0x0020c7c4}}, Y: Field{[10]uint32{0x03221d6c, 0x01c67232, 0x03950f44, 0x002a76da, 0x01ac04af, 0x03bbd7be, 0x02fa508c, 0x0222b154, 0x00622ff5, 0x000d585a}}}, + {X: Field{[10]uint32{0x017cfb35, 0x00a321e2, 0x02975f17, 0x008a63a4, 0x027a338c, 0x03bce175, 0x014c3342, 0x011d30ce, 0x006d0018, 0x0026e338}}, Y: Field{[10]uint32{0x02a40d72, 0x033a8150, 0x0331d712, 0x015e928d, 0x0307ce87, 0x007d4dd1, 0x01a50c4c, 0x00f811f3, 0x0220b8dc, 0x001da500}}}, + {X: Field{[10]uint32{0x03c5b855, 0x004de9cf, 0x027cb1e8, 0x02b437fe, 0x0014f06c, 0x00afcf85, 0x01724104, 0x00af2580, 0x016ba98d, 0x003dc2a4}}, Y: Field{[10]uint32{0x000275a2, 0x023ffeca, 0x0023fff9, 0x02110f10, 0x03b5426d, 0x025ea23c, 0x01a3fbe9, 0x0225bfce, 0x01f470d7, 0x003c6e30}}}, + {X: Field{[10]uint32{0x00763d56, 0x014abeb0, 0x0259992d, 0x0027f653, 0x01a64d69, 0x03d88741, 0x02836612, 0x01ff92ac, 0x03bbc44e, 0x000b4aad}}, Y: Field{[10]uint32{0x015328e8, 0x034cb331, 0x0328ae57, 0x02bcd815, 0x03c5fec8, 0x02d870b4, 0x03e044e8, 0x024721a3, 0x02002a69, 0x0014d143}}}, + {X: Field{[10]uint32{0x00d10005, 0x02e751bd, 0x018f3dc9, 0x03157601, 0x03321ff7, 0x02a44c55, 0x025423f3, 0x025e33a8, 0x02b8c516, 0x00205e37}}, Y: Field{[10]uint32{0x016ff4bc, 0x00efeda3, 0x02bfb598, 0x011a89ad, 0x01f9c001, 0x00d4926f, 0x02e6a282, 0x034c0fd2, 0x032b46c9, 0x0005a9c6}}}, + {X: Field{[10]uint32{0x02b56a64, 0x01a9a48d, 0x0301126e, 0x03285800, 0x0001f700, 0x03756650, 0x02f9c32a, 0x02e9f99f, 0x0376d012, 0x002d1c2e}}, Y: Field{[10]uint32{0x014fd95c, 0x03089c98, 0x03a6927c, 0x020a8bef, 0x031775f0, 0x02349a61, 0x01f36f15, 0x0261861c, 0x03e07d17, 0x003df424}}}, + {X: Field{[10]uint32{0x02de29ce, 0x01c4cff8, 0x03f78fe1, 0x0084736c, 0x01d3a899, 0x003c0850, 0x0348eb33, 0x02b04866, 0x02ba837c, 0x000593ca}}, Y: Field{[10]uint32{0x031d28dc, 0x01d8dd21, 0x011972c0, 0x01419a49, 0x02c2837c, 0x02e08701, 0x01ec79e0, 0x0340d12a, 0x020895f7, 0x000ef015}}}, + {X: Field{[10]uint32{0x02e725f4, 0x027fb144, 0x02283ec5, 0x03aa20f8, 0x01e6a210, 0x0172ee27, 0x012268b3, 0x01b4bbd4, 0x020402a8, 0x0031de8e}}, Y: Field{[10]uint32{0x031cfba2, 0x027bb704, 0x029148dc, 0x03896d27, 0x036d1db4, 0x03b580ac, 0x007e5928, 0x0281ff96, 0x016bedf1, 0x000baf35}}}, + {X: Field{[10]uint32{0x03b11349, 0x02b4cd40, 0x00e9f060, 0x0010368e, 0x0011df55, 0x0071aafa, 0x03a3f1d7, 0x033dc555, 0x03a1f714, 0x00038b7b}}, Y: Field{[10]uint32{0x0045f229, 0x02d516b8, 0x0354bd88, 0x0368ee6a, 0x000c5107, 0x0195f651, 0x001912ea, 0x02ef1cbd, 0x03037a53, 0x0017b590}}}, + {X: Field{[10]uint32{0x02313e3c, 0x004910ed, 0x017b2d21, 0x03a73075, 0x0335280c, 0x0290cc2b, 0x03fca1e5, 0x02793058, 0x02cbb4cd, 0x003b8b44}}, Y: Field{[10]uint32{0x02153262, 0x02488ebb, 0x02f0849f, 0x01bf752e, 0x024057fb, 0x03ffeda5, 0x00ecafab, 0x01f1960e, 0x01c1a437, 0x0038a2c7}}}, + {X: Field{[10]uint32{0x019e28bd, 0x0095b59f, 0x0067c78f, 0x011489c5, 0x01a2109b, 0x016f9f0f, 0x0039c34f, 0x037b2bcf, 0x009673e6, 0x00010e4b}}, Y: Field{[10]uint32{0x00110c50, 0x00aa2180, 0x006fd590, 0x035f43d0, 0x00747d63, 0x010e9aed, 0x009edd53, 0x0094cec1, 0x0183ae35, 0x001ff930}}}, + {X: Field{[10]uint32{0x020d6960, 0x03fcc702, 0x017a6712, 0x02cbe046, 0x020f5586, 0x00023d26, 0x02655f16, 0x01d2b64e, 0x02ee1673, 0x00165cb8}}, Y: Field{[10]uint32{0x037c71d6, 0x037b069b, 0x00847bc3, 0x03f1f024, 0x02779343, 0x0240ef5c, 0x02e485ad, 0x01f1d228, 0x0055d0a5, 0x001b5c3f}}}, + {X: Field{[10]uint32{0x002c78aa, 0x0226bc0c, 0x03c19855, 0x00690038, 0x02a180f3, 0x02795d9a, 0x01f1faa2, 0x000c5622, 0x000afc2c, 0x002a1760}}, Y: Field{[10]uint32{0x017ec85e, 0x022c036e, 0x032a508f, 0x01e94b74, 0x02ff5aca, 0x00a196de, 0x0037b419, 0x01da8291, 0x03f4903c, 0x001d0a75}}}, + {X: Field{[10]uint32{0x01f1c245, 0x0215a7e9, 0x01cdc954, 0x00e1c9d6, 0x02ccee3f, 0x035418e1, 0x009e85d7, 0x013f326a, 0x030f0d59, 0x003260da}}, Y: Field{[10]uint32{0x0094fac0, 0x02dc20b4, 0x031ed943, 0x03166ed0, 0x03bed1c2, 0x035c59c9, 0x01a7d06f, 0x03fb58bc, 0x012693b7, 0x0027c2c6}}}, + {X: Field{[10]uint32{0x0202bd3b, 0x032b9ff4, 0x0222b588, 0x0106b991, 0x0375f2c4, 0x03658c64, 0x0348e5f6, 0x01195340, 0x00fdb2b8, 0x00328861}}, Y: Field{[10]uint32{0x026a4de9, 0x013c3f5c, 0x0162683c, 0x03207d9c, 0x01e2563c, 0x03a5ca6e, 0x013dbb2f, 0x01eab012, 0x00203d65, 0x0034488a}}}, + {X: Field{[10]uint32{0x02941fd8, 0x00b9814d, 0x0066b44a, 0x03331e93, 0x02b5dea0, 0x00181755, 0x03627048, 0x02599021, 0x01c63c9b, 0x00278145}}, Y: Field{[10]uint32{0x00be831a, 0x02c87255, 0x01e506d4, 0x018845fb, 0x0295f0b7, 0x036e8187, 0x02f789e2, 0x00b61abf, 0x0224a2eb, 0x000a778c}}}, + {X: Field{[10]uint32{0x035dc1cc, 0x023c002b, 0x02f6053a, 0x03694759, 0x018a3447, 0x0297cf5e, 0x022cf7af, 0x00e9fc30, 0x00253320, 0x0010810b}}, Y: Field{[10]uint32{0x01e6c05a, 0x022369fd, 0x03d9dff6, 0x007587dc, 0x03c54f3c, 0x02f04f44, 0x01420d50, 0x00e1c8c5, 0x027a6d6c, 0x003c1d69}}}, + {X: Field{[10]uint32{0x02295b96, 0x0259f1c4, 0x031bccd3, 0x032a6b90, 0x023f5a68, 0x0222557f, 0x0084ffd2, 0x000af916, 0x01bd4eab, 0x00199168}}, Y: Field{[10]uint32{0x0384cfad, 0x033344ae, 0x00b6730c, 0x01949014, 0x00bf9028, 0x003a4b13, 0x02d4b30f, 0x013b50a3, 0x01f91d26, 0x0008c7de}}}, + {X: Field{[10]uint32{0x00b32f9f, 0x0347ba35, 0x0075f30b, 0x02a21c3d, 0x036898f3, 0x0161f78d, 0x01482ab1, 0x01ba208c, 0x026d2c31, 0x00138a07}}, Y: Field{[10]uint32{0x0065602c, 0x03dd6070, 0x0091011e, 0x0357cdf9, 0x02c3f708, 0x03770d05, 0x0378062c, 0x027b7797, 0x01c81c11, 0x003d232b}}}, + {X: Field{[10]uint32{0x02af5136, 0x0153bc12, 0x00e02fcd, 0x034f90cb, 0x034fbaf7, 0x01e99880, 0x03c7ffbc, 0x007a7fc4, 0x001496e4, 0x001dc8d9}}, Y: Field{[10]uint32{0x002dd218, 0x020c1d09, 0x0328c800, 0x028195fc, 0x0398bec7, 0x00003da5, 0x00b4bf29, 0x03007bed, 0x01740d6c, 0x00088b80}}}, + {X: Field{[10]uint32{0x01d45860, 0x00765dc3, 0x02bddaf3, 0x027fded7, 0x0018ab00, 0x00488610, 0x026070cb, 0x01e166b6, 0x004c8d46, 0x000fcadc}}, Y: Field{[10]uint32{0x034dd88a, 0x03ebaa0e, 0x02a9fb59, 0x022ff417, 0x03e2b6ab, 0x035868b7, 0x038dd215, 0x03ad7a30, 0x03a5146a, 0x00291c59}}}, + {X: Field{[10]uint32{0x00ad4146, 0x02e7a4bb, 0x01b51640, 0x0342b931, 0x0384b3ac, 0x017e60f6, 0x03b70f03, 0x036044ba, 0x0130d243, 0x001e53b0}}, Y: Field{[10]uint32{0x007be84d, 0x01ddeab4, 0x01e71c80, 0x03576303, 0x00658f2d, 0x00debbd7, 0x00a537f9, 0x0171f3bb, 0x00be95c2, 0x00127b7b}}}, + {X: Field{[10]uint32{0x01a96aa3, 0x03258525, 0x023ba808, 0x0335ba7f, 0x0149c554, 0x01ec702c, 0x0304cf4a, 0x0384ade6, 0x01ece363, 0x001d43fe}}, Y: Field{[10]uint32{0x021d59a9, 0x00540bde, 0x02dfb2de, 0x02fc7931, 0x022d4474, 0x028182d0, 0x0270f149, 0x028fb7d3, 0x029dd1c5, 0x00168a09}}}, + {X: Field{[10]uint32{0x026272cf, 0x017ecaad, 0x00169633, 0x00b26dfd, 0x02263b08, 0x0344a518, 0x02c9ec1f, 0x01a3b2e5, 0x01d7df66, 0x00359701}}, Y: Field{[10]uint32{0x02188839, 0x02e93c37, 0x03c37891, 0x0019acbd, 0x017e48be, 0x031dff6b, 0x02cc5b7f, 0x0350b490, 0x00c51c10, 0x00035dca}}}, + {X: Field{[10]uint32{0x015190c3, 0x016fbd56, 0x012f6122, 0x00e5ca8f, 0x02aecffe, 0x036e685c, 0x039d2700, 0x03a7a6d6, 0x00b68cb2, 0x0034e013}}, Y: Field{[10]uint32{0x01e30d5e, 0x03091c6d, 0x01613482, 0x00f9bfc3, 0x00287902, 0x01814d0a, 0x02f41314, 0x01922cc2, 0x010c9568, 0x00047ecd}}}, + {X: Field{[10]uint32{0x00351bf6, 0x03a7a11c, 0x01b3db34, 0x0104441b, 0x036a9382, 0x03b3e34d, 0x0095c619, 0x00d27db3, 0x022635c6, 0x003dd8b7}}, Y: Field{[10]uint32{0x009fd814, 0x03702eaf, 0x0010b1ca, 0x00b4fa21, 0x000ccfe2, 0x026444b9, 0x013352da, 0x003e7b9d, 0x01e0c8a5, 0x003719fe}}}, + {X: Field{[10]uint32{0x03b87a71, 0x0395d9d4, 0x00e7dac5, 0x03baea1f, 0x03d7dcec, 0x005f8e49, 0x02e163ed, 0x03fd2c5f, 0x00bfa827, 0x002ac62d}}, Y: Field{[10]uint32{0x030da919, 0x03aa6e4a, 0x01ed5b57, 0x00734ac7, 0x0229706d, 0x01341fdc, 0x002bc09c, 0x00249b22, 0x03d573e4, 0x001b6e0e}}}, + {X: Field{[10]uint32{0x0198c95e, 0x0199a540, 0x02d8bf5c, 0x02b63d8e, 0x02b12478, 0x0116588a, 0x0343a870, 0x006ba368, 0x0248fec2, 0x003dd530}}, Y: Field{[10]uint32{0x0052b1bd, 0x009e6498, 0x02e5293b, 0x01e8caee, 0x00e056ca, 0x03d511dd, 0x008d8e67, 0x021ddae1, 0x02a25f9c, 0x000b3edd}}}, + {X: Field{[10]uint32{0x0246c51c, 0x018b53e6, 0x008e2c24, 0x030c4d07, 0x02103516, 0x005af285, 0x013ecdb7, 0x001e63e2, 0x033e3c3f, 0x003e3651}}, Y: Field{[10]uint32{0x03924e02, 0x016fa4b5, 0x006869e0, 0x00ef846d, 0x015c53bd, 0x01d51e0d, 0x03314dac, 0x03f8e89a, 0x025fa422, 0x00157c01}}}, + {X: Field{[10]uint32{0x014eb741, 0x0341435d, 0x00395352, 0x02d2fef1, 0x012f7c5a, 0x02ca7f6a, 0x035fa225, 0x032f2269, 0x0142d294, 0x000218e6}}, Y: Field{[10]uint32{0x03d11e4d, 0x02762a79, 0x01c29677, 0x020d32e0, 0x03741da8, 0x02cfb5f3, 0x0179abdd, 0x038d68db, 0x022a445d, 0x000e44fa}}}, + {X: Field{[10]uint32{0x0395d5c2, 0x03469e2e, 0x02c61794, 0x020820eb, 0x02068572, 0x0169c6d2, 0x0319230b, 0x00e22fc5, 0x006c706a, 0x000a9623}}, Y: Field{[10]uint32{0x00c47592, 0x010b12db, 0x01b00968, 0x02bafeec, 0x0361f458, 0x01f847e5, 0x007f07ea, 0x03db6590, 0x01771a56, 0x002bc97b}}}, + {X: Field{[10]uint32{0x020a0cb6, 0x03a35500, 0x01fe337e, 0x005c08b8, 0x00a54597, 0x02697b6c, 0x02dba4ad, 0x02e6a2c9, 0x01ee8931, 0x0004def4}}, Y: Field{[10]uint32{0x03ceea62, 0x01228c05, 0x00b7ff58, 0x01788455, 0x01eaea10, 0x021f5da8, 0x03e9f0ee, 0x031df49c, 0x037b8197, 0x00337a7e}}}, + {X: Field{[10]uint32{0x02de2bbf, 0x02ef8cb4, 0x03b48d21, 0x03aa8782, 0x020f9b5f, 0x00ebcb0a, 0x01523711, 0x00c4f25c, 0x0345c686, 0x00119600}}, Y: Field{[10]uint32{0x0092ef64, 0x02a3ba7b, 0x030510a3, 0x023a85ae, 0x027edade, 0x019bd30a, 0x03bc79db, 0x027fecaf, 0x017bb632, 0x001d6f17}}}, + {X: Field{[10]uint32{0x011bd233, 0x017bd90e, 0x02a8556d, 0x03586ca0, 0x0102ef93, 0x009abd51, 0x02fc491c, 0x016b3660, 0x0252afaf, 0x00128524}}, Y: Field{[10]uint32{0x00cfe285, 0x00f5e3d8, 0x0259a3b5, 0x03f16897, 0x03bb9e83, 0x018fd752, 0x0256ea38, 0x016d8259, 0x00bc10b5, 0x003ef040}}}, + {X: Field{[10]uint32{0x01a01f18, 0x03e4bc85, 0x013faad0, 0x0225f65d, 0x0395bdf0, 0x011d7592, 0x00251313, 0x033e3c38, 0x01a6fc0b, 0x002253af}}, Y: Field{[10]uint32{0x035ec056, 0x0389b3d7, 0x003779fa, 0x000b8a65, 0x001e4ede, 0x01f4deb8, 0x01d02519, 0x01cb3f1a, 0x01501557, 0x002c97cc}}}, + {X: Field{[10]uint32{0x01eb032e, 0x029bab91, 0x0285a3c2, 0x029be796, 0x002deedc, 0x03f5c82b, 0x01ef1b2b, 0x02e244c3, 0x02930a91, 0x0039c362}}, Y: Field{[10]uint32{0x00d9f9cc, 0x03f7c453, 0x01b0a693, 0x02061e28, 0x02fe1026, 0x024472c0, 0x03b96ea4, 0x03fdad17, 0x0253a3b0, 0x002f4ebb}}}, + {X: Field{[10]uint32{0x02b36852, 0x0117eed3, 0x0047eeb2, 0x00fc4d75, 0x02118988, 0x02551ada, 0x016765bf, 0x02c77528, 0x01c3e5cc, 0x001f2c7f}}, Y: Field{[10]uint32{0x03ca582d, 0x0238b2a3, 0x014e0196, 0x0022a3fb, 0x00d18890, 0x0176fc96, 0x00edbe17, 0x017fdee0, 0x00d6becf, 0x000243b8}}}, + {X: Field{[10]uint32{0x03b9bfc1, 0x02fef0a1, 0x00685bf9, 0x0340c484, 0x00b39f57, 0x00cae416, 0x0090a214, 0x03685e3f, 0x02d80331, 0x001449e2}}, Y: Field{[10]uint32{0x03a66b6f, 0x03773a74, 0x00040536, 0x0387dd6f, 0x017bc1f9, 0x00976cf9, 0x03ad759b, 0x0399e230, 0x0147f39c, 0x00016abd}}}, + {X: Field{[10]uint32{0x00f59cdd, 0x03a64115, 0x036cee9f, 0x00215389, 0x030fee50, 0x00bf3c3c, 0x03563082, 0x00c1a122, 0x021fc52b, 0x003c3baa}}, Y: Field{[10]uint32{0x02124f02, 0x02ecb27c, 0x02e63ab3, 0x03ea0460, 0x00d51cf7, 0x02befacc, 0x01e5e016, 0x01c2f7ad, 0x009b944d, 0x000243fe}}}, + {X: Field{[10]uint32{0x03aeea71, 0x0376dac0, 0x01df6648, 0x02bc94ad, 0x00df5b4c, 0x01ed4700, 0x03670c22, 0x003f4984, 0x03f28bf9, 0x000dbf26}}, Y: Field{[10]uint32{0x03836683, 0x0038e8f9, 0x0075e13d, 0x031a7f64, 0x03d975ec, 0x0376eef9, 0x02c81614, 0x01b0a181, 0x0076f1ac, 0x00221f0e}}}, + {X: Field{[10]uint32{0x0391b68b, 0x037caa26, 0x03acdba4, 0x02757996, 0x02135c54, 0x030a7d8b, 0x00d2d041, 0x010db385, 0x026b0cf9, 0x001b8c78}}, Y: Field{[10]uint32{0x00d0e7ae, 0x0258622b, 0x01a85858, 0x021f426a, 0x0194c1af, 0x029de2cc, 0x037d9f77, 0x02f6aad7, 0x02849e63, 0x00008e25}}}, + {X: Field{[10]uint32{0x0198e864, 0x02499c87, 0x02eac357, 0x03613dd0, 0x003da9fa, 0x02b4cea8, 0x02a8a1ce, 0x030afeb1, 0x0249a4b1, 0x00314111}}, Y: Field{[10]uint32{0x03a1027b, 0x02c80769, 0x000af537, 0x0136e350, 0x0345fdc8, 0x0330450e, 0x03d13270, 0x025aedc5, 0x02d283e6, 0x001b4980}}}, + {X: Field{[10]uint32{0x0299ca28, 0x02013b1a, 0x011e6eca, 0x01331148, 0x03b9b2e8, 0x016801ee, 0x028e963b, 0x011356f6, 0x0271f13c, 0x0002a4cf}}, Y: Field{[10]uint32{0x02200faa, 0x003d967d, 0x014f5c1c, 0x01e55084, 0x00c3ce02, 0x00750bf7, 0x01712073, 0x038bdb99, 0x03bcec45, 0x0024c6fc}}}, + {X: Field{[10]uint32{0x00e4a58b, 0x037d977e, 0x021aa83a, 0x0342c4ca, 0x030b8559, 0x0045c0e2, 0x0298884e, 0x00b5886e, 0x021d840c, 0x002400fd}}, Y: Field{[10]uint32{0x00d30895, 0x03d5b73a, 0x01532b67, 0x02b1cd8c, 0x001388a1, 0x02e89a15, 0x02b7ecec, 0x00e54a7f, 0x0124f72b, 0x001431d4}}}, + {X: Field{[10]uint32{0x02a0a886, 0x02df0df2, 0x022c533f, 0x02a7a7cf, 0x02914e21, 0x005ca069, 0x038abdfc, 0x01c33218, 0x00183cb3, 0x003f201f}}, Y: Field{[10]uint32{0x00af00ba, 0x009286fa, 0x02cdee9d, 0x0341ae34, 0x021ccf6f, 0x03559095, 0x02f72639, 0x00756ea6, 0x013e75ac, 0x000eb1e7}}}, + {X: Field{[10]uint32{0x03ee9cbd, 0x024f33b7, 0x033c1862, 0x02b9f901, 0x03cd780d, 0x0142f352, 0x03b608f1, 0x02b08ed0, 0x02e4aca4, 0x000f41ca}}, Y: Field{[10]uint32{0x0265d9b6, 0x0355749f, 0x0385792f, 0x00519f68, 0x03f9c604, 0x00235d89, 0x00fc5630, 0x0327e2a6, 0x0043f721, 0x0001b679}}}, + {X: Field{[10]uint32{0x03f80dc0, 0x02aaf669, 0x01d3d106, 0x02f1eb2c, 0x03ba6e26, 0x008bebe2, 0x03c5eed5, 0x02d29f4a, 0x01947061, 0x003432e1}}, Y: Field{[10]uint32{0x03012e0a, 0x00e791de, 0x0092c9b7, 0x03c507c2, 0x038d7562, 0x006a61da, 0x0107b82d, 0x03730680, 0x0326e9d0, 0x003eff43}}}, + {X: Field{[10]uint32{0x035bc9fd, 0x01b496d8, 0x02e3241a, 0x02b090b3, 0x00267aad, 0x01c88730, 0x019f46cc, 0x03191079, 0x00ab6416, 0x00393b70}}, Y: Field{[10]uint32{0x03cdc71e, 0x0307f0d3, 0x02964b84, 0x01382ec1, 0x01c496fd, 0x020201f4, 0x00344829, 0x02d31012, 0x02e9cea7, 0x003d070e}}}, + {X: Field{[10]uint32{0x017eb4b2, 0x034caaf7, 0x01271557, 0x01046c2d, 0x02ffb806, 0x012f83d7, 0x01a83c88, 0x0244063d, 0x010b2d3d, 0x00188ced}}, Y: Field{[10]uint32{0x015dbcc5, 0x007bc661, 0x00399791, 0x00af7690, 0x01034a3a, 0x00a1622c, 0x030f21e3, 0x00ab095d, 0x0124ffdd, 0x00237eab}}}, + {X: Field{[10]uint32{0x02a19ab5, 0x012df714, 0x015df943, 0x017af78a, 0x03c427e6, 0x03a607da, 0x034e5447, 0x0197889e, 0x0162e272, 0x001b2800}}, Y: Field{[10]uint32{0x0154cce1, 0x015f9944, 0x03a5ce0f, 0x00583854, 0x03223e89, 0x02aece81, 0x03fe297b, 0x009f8290, 0x0363a8f2, 0x0034cfd7}}}, + {X: Field{[10]uint32{0x02fefcfc, 0x02199b8d, 0x005b3cd6, 0x024a2d84, 0x02d6c9d9, 0x0339f2c5, 0x01328ae7, 0x02357703, 0x01aa5d2a, 0x00300481}}, Y: Field{[10]uint32{0x02831d3e, 0x00061643, 0x03b453ad, 0x02affea6, 0x02cf2988, 0x02be2e9f, 0x03d6f6f6, 0x02025786, 0x0399c4f4, 0x002d9797}}}, + {X: Field{[10]uint32{0x02e0e155, 0x02de34b6, 0x00abb4e0, 0x025d29b1, 0x0107b8a5, 0x020143ce, 0x016fb195, 0x01a32d87, 0x03930e62, 0x0038e594}}, Y: Field{[10]uint32{0x00731737, 0x00a26fe0, 0x00828a2f, 0x02973683, 0x003f971f, 0x014e0ecb, 0x00048928, 0x03876460, 0x01462ed6, 0x0007de2b}}}, + {X: Field{[10]uint32{0x00b099ce, 0x0120889b, 0x004f8012, 0x03e142f6, 0x013dc03a, 0x03f6643f, 0x010c1a69, 0x02750c01, 0x00f3702a, 0x0009eff4}}, Y: Field{[10]uint32{0x00643de8, 0x0306c72f, 0x00f390fe, 0x03c36425, 0x00c49fd3, 0x0102f9f0, 0x030c0bce, 0x02baf466, 0x0360e8ca, 0x0008b85a}}}, + {X: Field{[10]uint32{0x0396a2f0, 0x0020281b, 0x023c6cbf, 0x00b1bdd7, 0x012a3717, 0x00a65ea2, 0x02c17771, 0x0255967b, 0x03c02331, 0x0020843e}}, Y: Field{[10]uint32{0x02afee8d, 0x03aa4791, 0x0109716d, 0x0095b469, 0x03bfacbb, 0x01787bac, 0x011d5528, 0x019b2eec, 0x03921011, 0x0007775d}}}, + {X: Field{[10]uint32{0x02347b5e, 0x034869d3, 0x03ab089c, 0x0197e2fb, 0x00ae4d50, 0x0178bfe0, 0x015298a2, 0x02f6037c, 0x02b65fcb, 0x00057319}}, Y: Field{[10]uint32{0x03937c97, 0x02b34c81, 0x0334b6dd, 0x00d1223e, 0x007b225b, 0x01585b4a, 0x03324c9f, 0x020a5b7a, 0x03e93574, 0x002512d1}}}, + {X: Field{[10]uint32{0x00c97976, 0x0006b825, 0x02c4bff8, 0x03f1c9b0, 0x02c7bb08, 0x0279b0d7, 0x021a482a, 0x0005a47a, 0x02a24596, 0x003adede}}, Y: Field{[10]uint32{0x02d1b1f6, 0x008fe08b, 0x003f227c, 0x01380413, 0x02f5596f, 0x00fc195a, 0x03d20e90, 0x01de47f2, 0x0170cc18, 0x00134ba5}}}, + {X: Field{[10]uint32{0x029ba12c, 0x0039f7d7, 0x01ea15fb, 0x001ad029, 0x0118e7c1, 0x025aa11a, 0x02436e09, 0x03a11308, 0x02fced29, 0x0011663e}}, Y: Field{[10]uint32{0x035e6093, 0x0388a3fc, 0x016297dc, 0x015796c2, 0x01978a85, 0x03dc5982, 0x0379dfe7, 0x03a8b0e5, 0x02b6d292, 0x0039cf65}}}, + {X: Field{[10]uint32{0x028600f7, 0x01fbacc6, 0x007058e3, 0x03f06443, 0x00e57d4d, 0x01be4386, 0x02a25917, 0x0396515c, 0x02863612, 0x001260d6}}, Y: Field{[10]uint32{0x03cfa531, 0x003b4df7, 0x017b9825, 0x028b9223, 0x02464c08, 0x003a034d, 0x023b147e, 0x00b30730, 0x013a0fbd, 0x0000edd8}}}, + {X: Field{[10]uint32{0x02335351, 0x0245bdf3, 0x005b9965, 0x02df464c, 0x033cbfe0, 0x0136f70c, 0x023177b0, 0x02019cca, 0x03ed1fcc, 0x000e9b5b}}, Y: Field{[10]uint32{0x026624ea, 0x021a4956, 0x01d0df29, 0x01586f47, 0x0111eb2b, 0x01fc4190, 0x00a6706d, 0x0185fc52, 0x018a314d, 0x00330fcf}}}, + {X: Field{[10]uint32{0x02d7a9f5, 0x035b1ece, 0x02a78fb0, 0x0093b9ee, 0x00f672a0, 0x0080d6dd, 0x012d2efb, 0x03f8c33a, 0x01866860, 0x00084821}}, Y: Field{[10]uint32{0x00bebbb7, 0x01d2825e, 0x01d7ce10, 0x038d07c9, 0x0396ff0c, 0x03dba75c, 0x02e8be11, 0x02c7b0ff, 0x01be0051, 0x002abc51}}}, + {X: Field{[10]uint32{0x026e4e06, 0x03681349, 0x03cc867c, 0x0209b3bf, 0x01833ac0, 0x0072c46e, 0x03d609c5, 0x00bc2598, 0x032ac9bb, 0x003e0644}}, Y: Field{[10]uint32{0x00891de5, 0x009c8e53, 0x02bb37e2, 0x03bdd91a, 0x00c52f48, 0x01012bbb, 0x03fd1a06, 0x00c172ab, 0x0238ec6a, 0x002c7f79}}}, + {X: Field{[10]uint32{0x02ec009d, 0x02a50df0, 0x00428423, 0x028484f1, 0x01168385, 0x02bb58b6, 0x0334d720, 0x0190310d, 0x01d88786, 0x0014db01}}, Y: Field{[10]uint32{0x036df0d5, 0x0224c976, 0x02f134b4, 0x03b87ea7, 0x01fd84dd, 0x020e8231, 0x03c2b43c, 0x037861a2, 0x0100d827, 0x001fd2f8}}}, + {X: Field{[10]uint32{0x01df722b, 0x02dceea8, 0x024bd650, 0x02c68e68, 0x0109de2f, 0x00b22a16, 0x02e3ed34, 0x036dd8df, 0x023ec4c6, 0x0010ca04}}, Y: Field{[10]uint32{0x03a40857, 0x0275fa58, 0x01b1594c, 0x00403d75, 0x014ee11f, 0x02d3e1bd, 0x0222fa71, 0x01dd4f9a, 0x02ea0127, 0x00207000}}}, + {X: Field{[10]uint32{0x012a5f17, 0x00369a04, 0x01a08155, 0x00cb543a, 0x016a85fc, 0x003e6170, 0x029e5360, 0x0265461a, 0x02fef852, 0x003cf855}}, Y: Field{[10]uint32{0x008892d2, 0x037426ad, 0x010915d5, 0x0339d063, 0x03a2f441, 0x00d8ae14, 0x0167e83c, 0x0039bd97, 0x026b56ff, 0x00247ff5}}}, + {X: Field{[10]uint32{0x03456cc9, 0x00aa3622, 0x030e6824, 0x02bfabc0, 0x006645a1, 0x0153102b, 0x028a716a, 0x00fd0b4b, 0x035984e1, 0x000cae9c}}, Y: Field{[10]uint32{0x00b4c6f5, 0x022c60ef, 0x02200f86, 0x017279f9, 0x03f05576, 0x03bc9324, 0x02ab3178, 0x02c542a0, 0x031e1c32, 0x0019fff3}}}, + {X: Field{[10]uint32{0x01829311, 0x02f02b16, 0x03dddcca, 0x024c62ae, 0x029c868b, 0x01362d2a, 0x00674cf6, 0x00417946, 0x033a043d, 0x0032e70a}}, Y: Field{[10]uint32{0x002b691f, 0x0181fba1, 0x015db242, 0x017ef4af, 0x01834bea, 0x02721674, 0x013ac479, 0x001daf7b, 0x02f2233f, 0x0007f19f}}}, + {X: Field{[10]uint32{0x029234f0, 0x028c6f4b, 0x01e856ef, 0x015eaf06, 0x035effa9, 0x0026f34e, 0x0349695e, 0x01c1c0c8, 0x0058b7bf, 0x003853ca}}, Y: Field{[10]uint32{0x00e08bdb, 0x03457937, 0x01761f3c, 0x00352a25, 0x02cf8cbf, 0x00357fc1, 0x03cbc258, 0x03f4e620, 0x009dd3f3, 0x000f8139}}}, + {X: Field{[10]uint32{0x03550d82, 0x02dce221, 0x01e010d7, 0x03b16102, 0x0274810d, 0x025ffc09, 0x0078113c, 0x02e38c33, 0x037b1c27, 0x00055afa}}, Y: Field{[10]uint32{0x00bc5371, 0x009ea464, 0x0017b16e, 0x0318305b, 0x013a8e92, 0x0164e664, 0x02adf2fd, 0x01bb20d4, 0x030a8021, 0x0031c45c}}}, + {X: Field{[10]uint32{0x0055d600, 0x0262d6cb, 0x013557b7, 0x0267e00e, 0x01a24a33, 0x028b76a8, 0x000e4959, 0x01a1912e, 0x03e6b9b4, 0x003797a9}}, Y: Field{[10]uint32{0x00d48ee8, 0x00f18563, 0x037d53a0, 0x019c8adf, 0x02b9b1de, 0x0060b354, 0x00a9d24e, 0x008f4b70, 0x0027e6a8, 0x00224068}}}, + {X: Field{[10]uint32{0x0017c3c7, 0x02e78ffb, 0x01adeb79, 0x005284a0, 0x00aea074, 0x02cafc3b, 0x037312e7, 0x03b51896, 0x03688bfa, 0x0023b774}}, Y: Field{[10]uint32{0x0155da7b, 0x03b6db1e, 0x032316d8, 0x02c5713d, 0x0359b885, 0x0088f95e, 0x00a48a89, 0x0074d357, 0x02f92617, 0x000b6d0e}}}, + {X: Field{[10]uint32{0x00b1d4e3, 0x02b4f5fc, 0x02b85fb2, 0x003fbe57, 0x0187872e, 0x0088dfb6, 0x02489ae2, 0x03477a3e, 0x036a665a, 0x001725c6}}, Y: Field{[10]uint32{0x038b1f66, 0x031a4e97, 0x039a6c4f, 0x01ecc0b4, 0x01aa8d4d, 0x00ae8076, 0x0332ff74, 0x02bdbc2b, 0x019837c2, 0x00135c7d}}}, + {X: Field{[10]uint32{0x02b9e228, 0x03edc291, 0x0076885c, 0x03bcd095, 0x01bd3586, 0x00aa3c73, 0x0366589a, 0x00adab56, 0x013c2821, 0x003b7ec9}}, Y: Field{[10]uint32{0x02616c00, 0x02ca892c, 0x00c1d7f7, 0x0380944d, 0x02594e42, 0x03cc18a4, 0x00b26b84, 0x007da6e3, 0x0208b7e8, 0x000f96d9}}}, + {X: Field{[10]uint32{0x01525c13, 0x0315adf7, 0x03384737, 0x031acb19, 0x03d2373c, 0x00895d2e, 0x0163dd4e, 0x01dcb36c, 0x024ae127, 0x0010e57c}}, Y: Field{[10]uint32{0x00103526, 0x02f99304, 0x0047a819, 0x037006d1, 0x00676581, 0x03dce55d, 0x0096913d, 0x0030b192, 0x03254c80, 0x002eb1b9}}}, + {X: Field{[10]uint32{0x006866f5, 0x03c3fc65, 0x023eb182, 0x014d7d8a, 0x038c7823, 0x017d6a1f, 0x0113b64b, 0x019adfe2, 0x02d573a7, 0x00204402}}, Y: Field{[10]uint32{0x01a00c73, 0x02d05c3a, 0x029c9d28, 0x02ea61c2, 0x01c6afb8, 0x01477675, 0x0068f7d0, 0x00226674, 0x016e325b, 0x0014b2b0}}}, + {X: Field{[10]uint32{0x0395120f, 0x008d1efa, 0x02e407f7, 0x017b9777, 0x01dee3a0, 0x0285085b, 0x02358c3a, 0x020519ab, 0x01514116, 0x003f4e81}}, Y: Field{[10]uint32{0x028ee5b7, 0x01ef34f6, 0x03250e4c, 0x001d6339, 0x0011a3c6, 0x01f812c8, 0x01b7b88b, 0x02c4aae2, 0x030d45ce, 0x000abcbc}}}, + {X: Field{[10]uint32{0x02435ff9, 0x03f0fbf9, 0x018fa4e3, 0x00caaf46, 0x0276d1a0, 0x0285f5b0, 0x0305b6df, 0x03bbe8ff, 0x0358a7ec, 0x0005e956}}, Y: Field{[10]uint32{0x01574d4f, 0x026fdc6e, 0x02240bc9, 0x02915f81, 0x02418f35, 0x01c7c14d, 0x01cee72e, 0x019f043f, 0x0158a3ad, 0x0035c9ce}}}, + {X: Field{[10]uint32{0x03789b6d, 0x02d0224e, 0x0003bc49, 0x00157b5c, 0x02793fd0, 0x0057a2c8, 0x01c73aee, 0x017a8231, 0x03b8e2ca, 0x0021c32d}}, Y: Field{[10]uint32{0x03e67aa3, 0x003b8106, 0x01cc6a7b, 0x03b2b542, 0x0104badb, 0x0089912a, 0x017a9bce, 0x0072bc9b, 0x03407b70, 0x0030cf22}}}, + {X: Field{[10]uint32{0x0271f8a7, 0x00b306d3, 0x00897545, 0x00db6039, 0x03ffbf7c, 0x01432829, 0x0053c89a, 0x03bc02b7, 0x01fcdc46, 0x003e5471}}, Y: Field{[10]uint32{0x0392c95f, 0x0081ce31, 0x02648751, 0x02495e4b, 0x01c1705b, 0x0137e796, 0x0064d7d2, 0x033090c2, 0x00217849, 0x001ab8be}}}, + {X: Field{[10]uint32{0x02a0caf1, 0x01240b25, 0x02d6131e, 0x00a858df, 0x036cbd83, 0x0062b68f, 0x011bb06a, 0x0319dab8, 0x037f3b92, 0x002bae01}}, Y: Field{[10]uint32{0x03cc1e35, 0x00cb87ab, 0x00cfde02, 0x01f42cdf, 0x036c8a6d, 0x02fcc5ff, 0x0275fb98, 0x0290c253, 0x011df5d4, 0x000a7d07}}}, + {X: Field{[10]uint32{0x013b78f9, 0x0080d7cc, 0x0260cb9d, 0x022d6577, 0x038482b7, 0x036161f0, 0x0118a7e5, 0x00b9601b, 0x01975d2f, 0x00351bd3}}, Y: Field{[10]uint32{0x006392f0, 0x00d246ba, 0x0233c105, 0x02650c5b, 0x02f704e1, 0x00c7fb90, 0x02154ef0, 0x0045d8e5, 0x01aa3bdc, 0x002575e0}}}, + {X: Field{[10]uint32{0x0229b201, 0x0297c71e, 0x02eaf4f3, 0x025dcf1d, 0x03af810b, 0x0126e7b0, 0x021b54ac, 0x03627cb8, 0x03444b4b, 0x00001abe}}, Y: Field{[10]uint32{0x02bf932f, 0x0186089b, 0x0334eaf0, 0x00342fb4, 0x0364db46, 0x00e22acd, 0x00ed90d1, 0x02d3384d, 0x001fd7d3, 0x000d40a4}}}, + {X: Field{[10]uint32{0x03d86976, 0x00bdfb7a, 0x00394093, 0x01533ebe, 0x01e66349, 0x0161ebd7, 0x03f60869, 0x005c0e9e, 0x0182a38b, 0x0017c0b9}}, Y: Field{[10]uint32{0x017afec2, 0x01a8014b, 0x00a7def4, 0x00328ada, 0x02ccfa5d, 0x0102e3f8, 0x00b06bf7, 0x029e5ac9, 0x00de92f3, 0x0028121f}}}, + {X: Field{[10]uint32{0x020599fe, 0x014b4e82, 0x02e33c66, 0x01d67155, 0x03ad70eb, 0x00d5199f, 0x007b885f, 0x00b3b568, 0x00826043, 0x0009909d}}, Y: Field{[10]uint32{0x0028ce85, 0x03e163ae, 0x00c62949, 0x033db811, 0x03a63867, 0x00d0114e, 0x02ea7379, 0x00e0bf5d, 0x00fe2560, 0x0004648e}}}, + {X: Field{[10]uint32{0x029f91dc, 0x01999811, 0x037ff2cd, 0x029f8796, 0x014f03a5, 0x017a0dfb, 0x0319a7dd, 0x02b7694a, 0x025ad327, 0x001aca8f}}, Y: Field{[10]uint32{0x0254c6d9, 0x0012f3a2, 0x0257a22f, 0x0197a35f, 0x01354ed2, 0x036a7a51, 0x03365601, 0x020be83c, 0x012606b4, 0x000be7d1}}}, + {X: Field{[10]uint32{0x035daa79, 0x000d1710, 0x03dc4fcc, 0x01df5d25, 0x02e5fbaf, 0x03bc4fa2, 0x010934dd, 0x013eeaac, 0x008b7e21, 0x0009622e}}, Y: Field{[10]uint32{0x01435bbf, 0x02f04531, 0x035e151e, 0x013eb2e8, 0x0261ca64, 0x03c69476, 0x03f142ce, 0x01b53235, 0x010bd3ba, 0x000f973e}}}, + {X: Field{[10]uint32{0x02551a93, 0x0173fe77, 0x03fcbcff, 0x011b0830, 0x02e4e3d8, 0x02805012, 0x00178b40, 0x00bbbfea, 0x01469285, 0x00365210}}, Y: Field{[10]uint32{0x02a6d5a4, 0x020962e5, 0x024ccdbb, 0x02f65a61, 0x0213ea0a, 0x02b66618, 0x00a12196, 0x03109d0d, 0x017fe628, 0x00356c3f}}}, + {X: Field{[10]uint32{0x030de2ff, 0x02713a8e, 0x025eb9fe, 0x01e19f3b, 0x005ccc1e, 0x02dbd1d5, 0x0364b1c9, 0x00821c32, 0x03dc3a2f, 0x00173e07}}, Y: Field{[10]uint32{0x01bc0d7d, 0x023ee305, 0x031131b7, 0x0094036b, 0x01e7ff31, 0x03b1cd1c, 0x01dc7005, 0x023977df, 0x031cf6bb, 0x00382c2a}}}, + {X: Field{[10]uint32{0x03e879a7, 0x01999836, 0x023203b8, 0x01c459de, 0x00f8ed24, 0x004cb1a5, 0x00b3f174, 0x03f6d5c1, 0x037eb719, 0x00106d3b}}, Y: Field{[10]uint32{0x0221c85f, 0x0024ee0d, 0x0081ae12, 0x02a8722a, 0x009f44c2, 0x03ab0669, 0x028b459e, 0x0088d736, 0x01b1cbae, 0x0029bf99}}}, + {X: Field{[10]uint32{0x03117af7, 0x01c26a6e, 0x03bdc5c2, 0x00fd01bc, 0x007a4c0a, 0x019013b2, 0x01d16918, 0x02478aa3, 0x032c41f6, 0x0010fb55}}, Y: Field{[10]uint32{0x02481da3, 0x03481cfe, 0x03ac3fd4, 0x024c36be, 0x0390a2b0, 0x02f9351d, 0x02cbbab7, 0x000cd1ae, 0x01b890b4, 0x002dee78}}}, + {X: Field{[10]uint32{0x03397de3, 0x00e39186, 0x02e421c3, 0x0107a17e, 0x0281722b, 0x00bc6557, 0x00bb5260, 0x021a98c5, 0x02192230, 0x00138042}}, Y: Field{[10]uint32{0x03a65fa2, 0x016689fa, 0x02ec4a61, 0x038dc311, 0x00283b44, 0x02f42ee3, 0x0076e7b3, 0x017b6112, 0x011c0347, 0x003c34fc}}}, + {X: Field{[10]uint32{0x0211f36b, 0x03510bfb, 0x01e2241d, 0x00a9f4d5, 0x0045e15d, 0x007b7361, 0x03c385e8, 0x01af3136, 0x00bb7fc8, 0x002cd827}}, Y: Field{[10]uint32{0x009c5f68, 0x00643237, 0x018e20e6, 0x006aa85a, 0x00c30891, 0x01deeea2, 0x00017dc9, 0x00d3fe01, 0x01aca3df, 0x002181f9}}}, + {X: Field{[10]uint32{0x03965b4e, 0x01b90fb7, 0x009d1df9, 0x02dac9c9, 0x02d1bdd6, 0x036c4497, 0x0168cdf6, 0x03ef4def, 0x00b20543, 0x00111798}}, Y: Field{[10]uint32{0x03715fd1, 0x0373c2f1, 0x025b00b5, 0x0148a1e9, 0x03c65f8b, 0x0248b9c4, 0x03fdc7cf, 0x02d1eafa, 0x018a8c4a, 0x00297e91}}}, + {X: Field{[10]uint32{0x00f50fc9, 0x02ed90c4, 0x0364cf9d, 0x01278032, 0x01be875b, 0x03c53062, 0x0359a7be, 0x03267e1a, 0x02279264, 0x001c27e0}}, Y: Field{[10]uint32{0x00960d10, 0x00540c56, 0x0362883f, 0x03ffeaab, 0x013d4903, 0x01a39379, 0x029064b4, 0x034afa29, 0x03f0cd28, 0x0005a009}}}, + {X: Field{[10]uint32{0x01fb4ba3, 0x019ffe4a, 0x00cdbe15, 0x017befc6, 0x008a2e9d, 0x00ccfc87, 0x012e725a, 0x00902e89, 0x000dcbd1, 0x0018aa88}}, Y: Field{[10]uint32{0x020a1347, 0x038fca27, 0x021b7b18, 0x00ac4b7b, 0x001ec328, 0x010f906b, 0x0106b468, 0x02f6f12e, 0x016c7017, 0x00066abf}}}, + {X: Field{[10]uint32{0x0082c09e, 0x03c42b2e, 0x02e11f38, 0x01ff2206, 0x01e12398, 0x000b8aae, 0x01f23898, 0x01191bea, 0x01588ed5, 0x000ae9ce}}, Y: Field{[10]uint32{0x035a25a6, 0x03cf848d, 0x00423721, 0x024ddd46, 0x03d8f8a1, 0x012004d4, 0x02cc45d3, 0x0262bbe1, 0x021c9c0a, 0x003cdf6a}}}, + {X: Field{[10]uint32{0x01005de8, 0x00539bde, 0x02397073, 0x0380d64a, 0x01e266e9, 0x02d677f8, 0x01c0f549, 0x02da6ab9, 0x01cce8fb, 0x00219cae}}, Y: Field{[10]uint32{0x0305af65, 0x025ea1a6, 0x01aa399a, 0x01d699ad, 0x02c411e8, 0x03efe7ab, 0x00aac680, 0x0071e6b7, 0x036aefb6, 0x00083611}}}, + {X: Field{[10]uint32{0x01ab6ab5, 0x015c7a2f, 0x000eda26, 0x03984ccc, 0x031f32be, 0x017b9705, 0x03dbac10, 0x00a665e7, 0x00028420, 0x000cd32c}}, Y: Field{[10]uint32{0x02a574d4, 0x01686216, 0x0038d96e, 0x02d92759, 0x00e4e972, 0x01e7172e, 0x0345bfd5, 0x021e3d1a, 0x019f3da7, 0x002209f6}}}, + {X: Field{[10]uint32{0x01ac6d4d, 0x03c8a68d, 0x01afe602, 0x01391efc, 0x00e9f25f, 0x03d93e07, 0x00cad6a2, 0x03b01cd5, 0x0207d260, 0x000cacc3}}, Y: Field{[10]uint32{0x003c0427, 0x01821d0f, 0x03941856, 0x0223cc18, 0x025c5e36, 0x0049b113, 0x02904181, 0x0241e1bc, 0x030d64ee, 0x001c7ff3}}}, + {X: Field{[10]uint32{0x039a8451, 0x00798028, 0x03a05076, 0x000970e3, 0x033b5ce4, 0x0267a6fe, 0x02401ff2, 0x01398d0f, 0x02587a4b, 0x00394265}}, Y: Field{[10]uint32{0x03bb2ece, 0x00b1196c, 0x03241f13, 0x0059c3f1, 0x00683a39, 0x031acce0, 0x02acccf5, 0x026a1a53, 0x02a86542, 0x001ec0e0}}}, + {X: Field{[10]uint32{0x01d6477d, 0x01ba4c39, 0x026abd31, 0x0084a76d, 0x01ca6841, 0x02cf5e1b, 0x02ea0353, 0x00e6f382, 0x004c2bf5, 0x002ce1cb}}, Y: Field{[10]uint32{0x0101e285, 0x01342402, 0x034f9242, 0x01c48b43, 0x0159391c, 0x02775058, 0x037ed1fa, 0x0321bcec, 0x00afe4c8, 0x0001f381}}}, + {X: Field{[10]uint32{0x0135d07b, 0x0101b7a6, 0x00908f3b, 0x01d28b7e, 0x0006095e, 0x027d3106, 0x0014d964, 0x038eacb9, 0x03df9156, 0x0034ad5b}}, Y: Field{[10]uint32{0x03e3b23f, 0x00ed403b, 0x012aaadc, 0x02bcdc55, 0x03b06a33, 0x011aa397, 0x00b49259, 0x02315aa1, 0x001b6766, 0x00110f0b}}}, + {X: Field{[10]uint32{0x037fbacb, 0x02c56a7c, 0x0208115d, 0x03f58ac2, 0x034e8288, 0x0327d06c, 0x03f32e1e, 0x031d9648, 0x027e1074, 0x0003da61}}, Y: Field{[10]uint32{0x013fca16, 0x01417190, 0x00e58cd0, 0x039dbf74, 0x0368709b, 0x01c6708a, 0x0204c6ed, 0x02945a73, 0x02252a11, 0x003f5b1b}}}, + {X: Field{[10]uint32{0x01e64988, 0x01c362ae, 0x02579626, 0x0261556d, 0x00cae238, 0x0223f33b, 0x00778c86, 0x004706b6, 0x00b4a9ab, 0x002f060c}}, Y: Field{[10]uint32{0x022e3c81, 0x0256b130, 0x01ea5b6d, 0x032c4b6e, 0x028e95cd, 0x00f4323c, 0x039a0faf, 0x0184cc65, 0x0089f3c4, 0x002d8910}}}, + {X: Field{[10]uint32{0x038dbafc, 0x0392d1fc, 0x003b7445, 0x007a887d, 0x02126cfa, 0x03357ee4, 0x004bbe83, 0x027f6a63, 0x0221dc72, 0x003eaeab}}, Y: Field{[10]uint32{0x002d8cdc, 0x00cd8016, 0x01fbcc4c, 0x02eacb02, 0x03177ce1, 0x035abb67, 0x03513b3e, 0x0160cb1c, 0x03756446, 0x0006d5a5}}}, + {X: Field{[10]uint32{0x011f8bd4, 0x00f65b5e, 0x0157b547, 0x000c85b7, 0x03bcd3fc, 0x00923638, 0x012497ea, 0x0130f7e4, 0x01014d5d, 0x0024ce18}}, Y: Field{[10]uint32{0x00936725, 0x00c3e8db, 0x02d951d6, 0x00ae3a01, 0x019e57f2, 0x0129ab5c, 0x033add54, 0x0058f13f, 0x016ac141, 0x000f63f2}}}, + {X: Field{[10]uint32{0x02fd07f8, 0x02a0ffa9, 0x007f2094, 0x00934c05, 0x02da0a43, 0x031ac61b, 0x0146b8ee, 0x00a08165, 0x015f85c4, 0x00314c4b}}, Y: Field{[10]uint32{0x01d2992f, 0x03e01b11, 0x0251beda, 0x03a2cd6d, 0x00332898, 0x035511cd, 0x03be12c8, 0x001d5948, 0x022a79ba, 0x003e2b9b}}}, + {X: Field{[10]uint32{0x0203b057, 0x01202d7c, 0x03388558, 0x00a046a9, 0x01b73b11, 0x02808bd0, 0x0375c4dd, 0x00bd01b6, 0x009652c5, 0x002823c9}}, Y: Field{[10]uint32{0x033eb2e5, 0x0371d14b, 0x00ccc845, 0x0094df13, 0x02191d7a, 0x03b3f8f2, 0x01aa9251, 0x0387657a, 0x03de9ab5, 0x0028e5b1}}}, + {X: Field{[10]uint32{0x00f634df, 0x01792f50, 0x0205bc52, 0x02d626e2, 0x02a036e0, 0x00289469, 0x034b34f0, 0x01be9829, 0x030fe8df, 0x0024f54c}}, Y: Field{[10]uint32{0x01838756, 0x031582dc, 0x03a08f5a, 0x019df454, 0x000c4df5, 0x0321f68a, 0x02774f77, 0x00939575, 0x02ea10f4, 0x0032857e}}}, + {X: Field{[10]uint32{0x02b51fa2, 0x0157e4aa, 0x024f6170, 0x004c3c16, 0x005c35b8, 0x03d94844, 0x010a9941, 0x02dcafa1, 0x03ccdfca, 0x0001188a}}, Y: Field{[10]uint32{0x03ca2d4f, 0x02d07a75, 0x01a8cd29, 0x02918259, 0x00e883d2, 0x0256d4f2, 0x01cd2456, 0x02c95b49, 0x002d31ee, 0x0036581c}}}, + {X: Field{[10]uint32{0x00ef9fe5, 0x03b821b8, 0x00d8807a, 0x00fb45f2, 0x010fb6c8, 0x004e30c3, 0x03a58728, 0x02176652, 0x036c7dd8, 0x0028c980}}, Y: Field{[10]uint32{0x02cb9bf7, 0x00f359cc, 0x01a53489, 0x03871d79, 0x03456a6c, 0x01da2685, 0x00aafcde, 0x028554c7, 0x02693719, 0x002d1973}}}, + {X: Field{[10]uint32{0x02ef77a5, 0x0082d69f, 0x00946b1d, 0x02a6129b, 0x03f3d5e7, 0x03e97154, 0x030c887b, 0x01f9e5c6, 0x017e1963, 0x0008d510}}, Y: Field{[10]uint32{0x01f4bd4b, 0x027d22ca, 0x02d4d216, 0x014cf3d3, 0x01ea7400, 0x03cd3d02, 0x014fbf99, 0x034f2ec9, 0x0321b6ea, 0x002056a5}}}, + {X: Field{[10]uint32{0x03ce6fca, 0x01f322ed, 0x01f9f2b0, 0x00677757, 0x033a4078, 0x008e0435, 0x01a746b0, 0x005d3d73, 0x016dfc53, 0x00274d1b}}, Y: Field{[10]uint32{0x0376c806, 0x00acd5e5, 0x029b9851, 0x000f7c23, 0x014a199b, 0x007a4154, 0x01a8ff9f, 0x00f97295, 0x006b6429, 0x0026db30}}}, + {X: Field{[10]uint32{0x0148dd01, 0x028ccc3f, 0x00564bb5, 0x02d01542, 0x03bba638, 0x03af8843, 0x01f000ad, 0x029edfe5, 0x038ec643, 0x001cf20a}}, Y: Field{[10]uint32{0x0005b614, 0x03c4da42, 0x02f075ff, 0x01737c35, 0x027d2acf, 0x0132caf6, 0x035f61b8, 0x017187f8, 0x0299a088, 0x003ffc55}}}, + {X: Field{[10]uint32{0x00798ac8, 0x00e72fff, 0x011afc9b, 0x02fdb28a, 0x010f2d29, 0x02141ae5, 0x01316728, 0x0357473e, 0x01d5a0b2, 0x0024091a}}, Y: Field{[10]uint32{0x03c3ade4, 0x00f7a247, 0x030d4fa6, 0x036eafa2, 0x03cd78ad, 0x032bf93f, 0x02378bff, 0x01da74d0, 0x0011d71c, 0x0000d5b4}}}, + {X: Field{[10]uint32{0x03110637, 0x03f88f87, 0x00371b1e, 0x03a7f540, 0x00dc4013, 0x0066e251, 0x0123afb8, 0x021bc14d, 0x00fb3a0c, 0x00399c28}}, Y: Field{[10]uint32{0x020b31b8, 0x019677c9, 0x0250a9bf, 0x0382772c, 0x03272557, 0x001f967b, 0x03db5a3d, 0x0372c855, 0x036bcd13, 0x00021a44}}}, + {X: Field{[10]uint32{0x0205c395, 0x034f56e2, 0x005fcb9a, 0x03961255, 0x01b57f11, 0x033ee732, 0x0368e270, 0x02079ac3, 0x006d5265, 0x003cffbc}}, Y: Field{[10]uint32{0x01b8f553, 0x01d55106, 0x012f4ff3, 0x034412c2, 0x01570752, 0x03e97eef, 0x0045176e, 0x0083b313, 0x01971444, 0x000cacba}}}, + {X: Field{[10]uint32{0x016a05bd, 0x02974e4e, 0x02cac70c, 0x02711c74, 0x00f942c0, 0x03306762, 0x00fc28a8, 0x03611158, 0x02633958, 0x001ca8dd}}, Y: Field{[10]uint32{0x035ee1ad, 0x03d1521c, 0x03ba8503, 0x011834bd, 0x01729ce8, 0x000ba363, 0x004b3b84, 0x0041c3da, 0x030e6e12, 0x0037a6c6}}}, + {X: Field{[10]uint32{0x005300b0, 0x00def620, 0x01ae22b6, 0x013ea133, 0x00417289, 0x0243379a, 0x019c3a81, 0x01f7bd04, 0x02d9c43b, 0x000e2de2}}, Y: Field{[10]uint32{0x03d01e6f, 0x039d2a2c, 0x01c8423d, 0x01a77214, 0x010de7cc, 0x02ffccba, 0x0204f175, 0x017d461c, 0x01676c4f, 0x00028605}}}, + {X: Field{[10]uint32{0x0334752e, 0x00563fca, 0x013af68e, 0x0224232f, 0x03540e2e, 0x00653ec8, 0x026fac9e, 0x01f14db1, 0x02c81d2e, 0x0036e5a2}}, Y: Field{[10]uint32{0x02b48a0a, 0x03969cea, 0x00769a24, 0x023bf453, 0x0104179e, 0x018d1c9c, 0x02b4af0a, 0x025caeb1, 0x03ab79d9, 0x00135715}}}, + {X: Field{[10]uint32{0x00aad318, 0x0174d9ea, 0x02435a14, 0x03e65f1c, 0x02505dd4, 0x007b4d6c, 0x0114f28c, 0x01360dc4, 0x02792d3a, 0x000ab385}}, Y: Field{[10]uint32{0x0226f625, 0x0239cfcd, 0x03539cc8, 0x03be86b8, 0x010405b0, 0x01a17db4, 0x0063b87f, 0x01d3933b, 0x012a2468, 0x0014c50c}}}, + {X: Field{[10]uint32{0x01bae108, 0x03e4ebcf, 0x0277e852, 0x0060958c, 0x00bb1fda, 0x0189c9f1, 0x00a46008, 0x0037b76e, 0x02690c39, 0x000cb603}}, Y: Field{[10]uint32{0x00dc7c07, 0x0155ea58, 0x01d08cbd, 0x0048f67c, 0x03bc1c3e, 0x0207df36, 0x03cb3f81, 0x0341a9b4, 0x016fea89, 0x0000f1f6}}}, + {X: Field{[10]uint32{0x02ee3908, 0x0229021d, 0x01521d8e, 0x00379497, 0x03f1bf05, 0x01176cf2, 0x00e61a29, 0x01ad018a, 0x028ae7fe, 0x000fbd27}}, Y: Field{[10]uint32{0x01a123f2, 0x00778200, 0x0092bd3d, 0x009d630f, 0x033ff72d, 0x018c456b, 0x0031b54d, 0x017ec935, 0x035c62f4, 0x0010e071}}}, + {X: Field{[10]uint32{0x009722da, 0x009d508f, 0x006405aa, 0x03996797, 0x000e280e, 0x032235ec, 0x03517d41, 0x00b340e6, 0x00d5cdb8, 0x00214e02}}, Y: Field{[10]uint32{0x037e8f5e, 0x0308a7d7, 0x0200fb4d, 0x000e4b50, 0x023ed18d, 0x005c8890, 0x00a652f8, 0x025899a6, 0x00449b2a, 0x003059df}}}, + {X: Field{[10]uint32{0x03c8584f, 0x0076de07, 0x02f4958c, 0x03cca6b7, 0x03306ee4, 0x02187f32, 0x03520bd8, 0x0017fa15, 0x0083490c, 0x0015cbf5}}, Y: Field{[10]uint32{0x0013f4a5, 0x00000d8d, 0x03ca0be3, 0x0156cc7a, 0x00d38e91, 0x02ced865, 0x00107c06, 0x008c0b3c, 0x01061039, 0x0020ab32}}}, + {X: Field{[10]uint32{0x036e1386, 0x024d60cd, 0x0248138c, 0x01135164, 0x00fa7713, 0x013655b9, 0x02a9a2dd, 0x0328c5d6, 0x03b29aa8, 0x002c72ea}}, Y: Field{[10]uint32{0x02292ec9, 0x0234b759, 0x015fcbc5, 0x03d80300, 0x01265cb2, 0x01050270, 0x021de030, 0x03f7c1ae, 0x00f17f9a, 0x00222330}}}, + {X: Field{[10]uint32{0x036bab20, 0x02eee60b, 0x001a16dd, 0x00359c1c, 0x012c5c96, 0x01269ba0, 0x000a65a1, 0x00c4d1d6, 0x03924239, 0x003e15b2}}, Y: Field{[10]uint32{0x00536674, 0x02540452, 0x03869c55, 0x030b5758, 0x0377d9d6, 0x01704477, 0x01f580f6, 0x0003a664, 0x01ba192c, 0x0030cd44}}}, + {X: Field{[10]uint32{0x0273920e, 0x03f0e9fb, 0x00e230ff, 0x03edb04a, 0x039eed92, 0x015aeece, 0x0042887b, 0x004a78b0, 0x00d4773e, 0x00385807}}, Y: Field{[10]uint32{0x001054ca, 0x02805bcc, 0x00ec96f4, 0x02328142, 0x000a7864, 0x026e87f3, 0x0247c714, 0x01de5bb8, 0x00c8a38c, 0x000601d2}}}, + {X: Field{[10]uint32{0x027c7e72, 0x024a38cd, 0x01534a98, 0x02ae5d22, 0x00e8b37c, 0x0032fc76, 0x02206a5b, 0x0185dd72, 0x00d45ffb, 0x00263b88}}, Y: Field{[10]uint32{0x0273c610, 0x02391958, 0x03c30697, 0x03811486, 0x01854b70, 0x023f1017, 0x02b5e6e8, 0x036d45a2, 0x00e1ea42, 0x000b7d2b}}}, + {X: Field{[10]uint32{0x01fe179f, 0x02b53bb7, 0x00246ec0, 0x0107d6b3, 0x035417bc, 0x03b74784, 0x01cfe95b, 0x024168c7, 0x0257acde, 0x0011e5b2}}, Y: Field{[10]uint32{0x00a367a8, 0x0258a87c, 0x0015f8ff, 0x028d18fe, 0x015bc565, 0x0159308e, 0x03637e59, 0x00e00acd, 0x0122395a, 0x001d04fd}}}, + {X: Field{[10]uint32{0x02341200, 0x01a2f746, 0x01d4006c, 0x00da6aef, 0x03cfd555, 0x01b1f7e7, 0x03627fd5, 0x02c2e356, 0x006438ad, 0x002cd9f2}}, Y: Field{[10]uint32{0x028fba51, 0x0092678b, 0x0349dfd2, 0x03d72715, 0x02b4986c, 0x0089a1c0, 0x002f3657, 0x03a059e6, 0x03440b99, 0x00300d91}}}, + {X: Field{[10]uint32{0x00914d29, 0x01fd29e2, 0x01386a74, 0x00293c9f, 0x00e74076, 0x00837a11, 0x02244c00, 0x037b3df8, 0x004b723d, 0x0036cda2}}, Y: Field{[10]uint32{0x0179e023, 0x03ccccdf, 0x023b40e5, 0x0093f683, 0x03fef90e, 0x037bc3ca, 0x01e07507, 0x00e8f0a8, 0x03cc2a74, 0x0022b921}}}, + {X: Field{[10]uint32{0x01a316c4, 0x0171a826, 0x03123ccf, 0x00b9b1b0, 0x0176b473, 0x007bbd3e, 0x02458213, 0x0084aea3, 0x0018f71c, 0x001965c6}}, Y: Field{[10]uint32{0x013604db, 0x001dd538, 0x035db4cd, 0x00c71c0d, 0x01526a28, 0x00dd8446, 0x0087f391, 0x01434cec, 0x03913533, 0x001057d9}}}, + {X: Field{[10]uint32{0x00ebd65a, 0x0332b1d8, 0x01338fcb, 0x00fe5868, 0x01905390, 0x01fadb36, 0x0182a639, 0x03d2c908, 0x033a13a8, 0x003cbd3a}}, Y: Field{[10]uint32{0x00ef9ca8, 0x0032bf82, 0x00b6e795, 0x00fce8ef, 0x0018811b, 0x03aae3af, 0x02dc8b74, 0x02535c82, 0x027b667e, 0x00295d75}}}, + {X: Field{[10]uint32{0x01113a49, 0x01ad34c7, 0x00a47e8c, 0x01df301a, 0x03884b3f, 0x034f249f, 0x028fa51f, 0x03c318cc, 0x020da058, 0x0028939e}}, Y: Field{[10]uint32{0x010ef78b, 0x01c84bd1, 0x00c81a9a, 0x00559179, 0x010bcee6, 0x00a5c675, 0x032fe3f8, 0x0295a67a, 0x003079ac, 0x002fa36e}}}, + {X: Field{[10]uint32{0x01efad5a, 0x0076dc90, 0x024b8098, 0x029d23c2, 0x0142212d, 0x03af5660, 0x036cc325, 0x005e5df6, 0x00cb77e1, 0x0039668f}}, Y: Field{[10]uint32{0x00a800d9, 0x030b5381, 0x012999d4, 0x005a9281, 0x00d69034, 0x00e268b6, 0x00a10a22, 0x0099a330, 0x0145fdda, 0x002a381d}}}, + {X: Field{[10]uint32{0x024b8f32, 0x03d8183f, 0x00e9f0da, 0x01d6aaa5, 0x01fc6c1a, 0x036afa72, 0x00721f93, 0x002f96fb, 0x0263a3c7, 0x000c646c}}, Y: Field{[10]uint32{0x01f38a96, 0x02c7e657, 0x00491717, 0x009d4f9d, 0x00c7af7b, 0x028f2eac, 0x01a87c4e, 0x026f1caa, 0x02cc1c7a, 0x000ce464}}}, + {X: Field{[10]uint32{0x0187023a, 0x01e1d3e4, 0x014638b9, 0x0394f04e, 0x0012f408, 0x03a0e6c8, 0x0147e275, 0x0376c23f, 0x03c604f9, 0x0018f757}}, Y: Field{[10]uint32{0x0104bd9a, 0x00d72f21, 0x0239b84f, 0x00410588, 0x03067e09, 0x004bbdfb, 0x016cccfd, 0x02df9b51, 0x00b402e8, 0x0006bc12}}}, + {X: Field{[10]uint32{0x031bcf13, 0x036fd2d9, 0x025c12d3, 0x01030ae3, 0x032e1d86, 0x03dd4712, 0x007229b7, 0x004bb32e, 0x0057cd83, 0x0002a4b9}}, Y: Field{[10]uint32{0x03fba768, 0x03ca4b97, 0x00b3f551, 0x013cf56d, 0x02be46ab, 0x0281f59c, 0x00492413, 0x03ad7461, 0x03565447, 0x0035ebb6}}}, + {X: Field{[10]uint32{0x01b10495, 0x0375be0e, 0x035ba6c0, 0x0179617c, 0x004789f5, 0x013c02ed, 0x0320f021, 0x0274880a, 0x0170b9e0, 0x0007b9ae}}, Y: Field{[10]uint32{0x009e9462, 0x03443837, 0x032be3f8, 0x02ef5282, 0x019dcf73, 0x01894a21, 0x023c8a04, 0x03bbd746, 0x03eceff9, 0x001f2443}}}, + {X: Field{[10]uint32{0x0306a76a, 0x03459663, 0x01cebe4f, 0x025cc0a1, 0x001abe9e, 0x00f4121c, 0x0328d7c4, 0x00655c14, 0x03b9c2ac, 0x002c6708}}, Y: Field{[10]uint32{0x03a38398, 0x016ca0cd, 0x00a49274, 0x01f34232, 0x01c60560, 0x038da791, 0x0380f8cf, 0x022dc1bc, 0x01bec07c, 0x001e6a04}}}, + {X: Field{[10]uint32{0x014f49a5, 0x026bbcc0, 0x02016b1e, 0x0262e2ca, 0x014f3fbf, 0x0099a915, 0x00888f5e, 0x017f09f0, 0x039f9ed3, 0x000f0836}}, Y: Field{[10]uint32{0x03fbc4d5, 0x025438d6, 0x009ea7d8, 0x02d733d2, 0x029327c1, 0x02879684, 0x010815a4, 0x0398ebd8, 0x02943f29, 0x002eceb0}}}, + {X: Field{[10]uint32{0x02ea4389, 0x0248b14b, 0x00014f6b, 0x03f0233a, 0x00efa29f, 0x034ce091, 0x02b59040, 0x01ba7913, 0x01bab474, 0x003f4733}}, Y: Field{[10]uint32{0x028df06e, 0x02080ca6, 0x0004097a, 0x014843db, 0x0373961a, 0x010f393a, 0x012439fc, 0x01be43e9, 0x01465214, 0x00384195}}}, + {X: Field{[10]uint32{0x0364020c, 0x03682666, 0x03ab51e2, 0x00a636cd, 0x0183641a, 0x030ac35d, 0x0252dc73, 0x02e29bbc, 0x018eabde, 0x0038c3f4}}, Y: Field{[10]uint32{0x00dce88b, 0x0309304a, 0x01704cfb, 0x00a5abfa, 0x018e195d, 0x01c5bad0, 0x02bcab86, 0x03d20658, 0x02721824, 0x0012598d}}}, + {X: Field{[10]uint32{0x015bda37, 0x0085f9d4, 0x00548e6e, 0x00001550, 0x015cd723, 0x00ea7702, 0x02ea7848, 0x03e4c386, 0x038926dd, 0x0012f07d}}, Y: Field{[10]uint32{0x0200ca69, 0x0133f374, 0x0047163a, 0x01b0a94b, 0x0336d8a2, 0x00d2f66a, 0x00bfa2e7, 0x006c0237, 0x02b695dc, 0x00259acc}}}, + {X: Field{[10]uint32{0x00f036d4, 0x03ffa855, 0x0139aaff, 0x023b51ad, 0x009004f9, 0x03b3a6f1, 0x030f7d26, 0x012e2d03, 0x027b9c86, 0x0008f4f8}}, Y: Field{[10]uint32{0x02c0b05d, 0x01b1e522, 0x026c71b3, 0x02eca24a, 0x01b3dfef, 0x03054354, 0x00143d6a, 0x0289f331, 0x03ebf680, 0x002f9185}}}, + {X: Field{[10]uint32{0x026009c0, 0x0392250f, 0x01aab56d, 0x02472db0, 0x004a5130, 0x01ded730, 0x02e0a894, 0x00edc3d1, 0x03d014cd, 0x000a2b72}}, Y: Field{[10]uint32{0x00e31601, 0x024b33bf, 0x00fdaf4a, 0x031cf7b5, 0x0025040d, 0x00233f93, 0x03250b46, 0x013328e3, 0x00387520, 0x001f126a}}}, + {X: Field{[10]uint32{0x00a29d08, 0x03c867c7, 0x02a0cc86, 0x01ee9517, 0x00ea52ec, 0x003613d8, 0x0044ab87, 0x00208e94, 0x00b8a86f, 0x001dd821}}, Y: Field{[10]uint32{0x001c60db, 0x00d14c96, 0x00b2cd08, 0x01c9615c, 0x03def172, 0x027959f6, 0x010bc384, 0x034942d0, 0x02cb1048, 0x00182eef}}}, + {X: Field{[10]uint32{0x028f2350, 0x03879f48, 0x035fbd4f, 0x02e7b5ab, 0x01e3db94, 0x01811254, 0x019667bc, 0x03bd2257, 0x020ffd32, 0x001177cb}}, Y: Field{[10]uint32{0x03eaf095, 0x035e4618, 0x0399473f, 0x032da2ec, 0x004de155, 0x010592e6, 0x024076ed, 0x03f819a7, 0x024b1a8c, 0x0029cc91}}}, + {X: Field{[10]uint32{0x027dd7ea, 0x027c386f, 0x03ebe7f6, 0x03a1e0f3, 0x008ae9bb, 0x0124e8bf, 0x00bff80c, 0x03f47e9d, 0x036b46a5, 0x001a4125}}, Y: Field{[10]uint32{0x022c3e64, 0x01886bb2, 0x03cfd5ad, 0x0115799b, 0x0030f1df, 0x02802cd0, 0x0241a221, 0x0050d818, 0x01b8df9d, 0x0006741c}}}, + {X: Field{[10]uint32{0x01aef659, 0x00a3a14a, 0x00f0bef5, 0x00d47ba0, 0x03e01def, 0x03a02603, 0x01e805c8, 0x0341d6a3, 0x0328f977, 0x00212761}}, Y: Field{[10]uint32{0x025bf428, 0x00c5652b, 0x006ffedf, 0x026bb1c9, 0x018042dd, 0x0301a743, 0x017adadb, 0x018a0ee7, 0x01c46c88, 0x00361255}}}, + {X: Field{[10]uint32{0x032d58eb, 0x0319d191, 0x01281e27, 0x031fa9a1, 0x0054588d, 0x035d4d2b, 0x03facec8, 0x001b9839, 0x034c2345, 0x0038f592}}, Y: Field{[10]uint32{0x025a36eb, 0x007cd8eb, 0x030efbc6, 0x00e53265, 0x0011a9c8, 0x022ba966, 0x0047baf6, 0x00aa11d1, 0x013ccf82, 0x00128cab}}}, + {X: Field{[10]uint32{0x0063bbaa, 0x021f54d5, 0x03ece0c7, 0x02aba484, 0x02889877, 0x02d9d8e6, 0x036f1323, 0x0168c466, 0x012857d1, 0x003d071e}}, Y: Field{[10]uint32{0x014d9328, 0x018140de, 0x016d07cc, 0x0239fa91, 0x00630c45, 0x014b6777, 0x00075941, 0x01315534, 0x010e00c8, 0x001cf3f3}}}, + {X: Field{[10]uint32{0x01186079, 0x014bf5de, 0x0321d67f, 0x0071079e, 0x030e0cba, 0x02bb64e7, 0x03a4a02c, 0x02e13391, 0x0347047a, 0x00387485}}, Y: Field{[10]uint32{0x01b2b668, 0x006abf9f, 0x02f63af8, 0x019a6b24, 0x01fb26da, 0x0092a040, 0x01728a3e, 0x03028fb6, 0x0228aa4b, 0x0005ec2d}}}, + {X: Field{[10]uint32{0x006ef1d8, 0x0239f736, 0x00c8095a, 0x012e34a4, 0x005d7ddb, 0x014ad36c, 0x009da2dd, 0x019e54c6, 0x018af8f8, 0x002a2800}}, Y: Field{[10]uint32{0x0026518b, 0x02ae9f5a, 0x00c17fc8, 0x035e72ad, 0x0225b927, 0x00d8208f, 0x0180c7e9, 0x02287b7e, 0x006c84b8, 0x0022ee58}}}, + {X: Field{[10]uint32{0x036fffed, 0x03589fdc, 0x038f4cd8, 0x0384f7cc, 0x00e4e0c0, 0x003af698, 0x03a57c05, 0x0179136a, 0x02716ee0, 0x001ce0f1}}, Y: Field{[10]uint32{0x0289f0e0, 0x03625b23, 0x00ba004a, 0x01225487, 0x0338eafd, 0x031df6ab, 0x00cb973f, 0x0129d18e, 0x01465f16, 0x000ef72e}}}, + {X: Field{[10]uint32{0x01372dfd, 0x023e42eb, 0x00c1e085, 0x03d01483, 0x031ca36a, 0x00216018, 0x03e64312, 0x02b25e5a, 0x021c8bc8, 0x00187e9f}}, Y: Field{[10]uint32{0x03eba33d, 0x00d121b0, 0x002078d6, 0x02c252c3, 0x00a5f646, 0x02210778, 0x0287909c, 0x039a50c8, 0x036836c3, 0x000fc359}}}, + {X: Field{[10]uint32{0x02c4a740, 0x00c428ec, 0x0116d3cb, 0x01250efc, 0x00b4f143, 0x03d220aa, 0x0092defc, 0x03180664, 0x022bca0a, 0x002180a7}}, Y: Field{[10]uint32{0x001c2f7c, 0x018edf49, 0x00480154, 0x014f75c2, 0x00ef5f15, 0x004885b2, 0x0261cffd, 0x015bc3cc, 0x006ecd90, 0x002e2fa4}}}, + {X: Field{[10]uint32{0x03ad95cc, 0x011d3013, 0x0390e2f6, 0x02c17f17, 0x0348c4a6, 0x0035ae6a, 0x01d6c4cd, 0x02921d62, 0x03e5912a, 0x00385cbd}}, Y: Field{[10]uint32{0x00acc401, 0x019cf702, 0x00290ea0, 0x01e54027, 0x010d7bfd, 0x022d935f, 0x019920ce, 0x003b4ee2, 0x03c12b0a, 0x003b6f48}}}, + {X: Field{[10]uint32{0x02873494, 0x00df6f8c, 0x00616d1f, 0x01e335aa, 0x032d931c, 0x020e37a4, 0x03b22abf, 0x03f0922d, 0x028d322e, 0x001e61ae}}, Y: Field{[10]uint32{0x02a13634, 0x02f25a04, 0x0201ee6e, 0x034f4edf, 0x002420a5, 0x034a7f83, 0x01b75440, 0x001648c6, 0x03224c75, 0x001a4faa}}}, + {X: Field{[10]uint32{0x01e00383, 0x02319738, 0x01d4603e, 0x034daa2a, 0x03400bb5, 0x034dac4c, 0x000a6d88, 0x01d9cdd8, 0x01384a72, 0x002e9650}}, Y: Field{[10]uint32{0x002ce557, 0x02676fcf, 0x019bd867, 0x0114bd88, 0x03d9c685, 0x00c4162f, 0x03fc9535, 0x0204ac89, 0x0228bc1b, 0x001d1bd3}}}, + {X: Field{[10]uint32{0x00476c8f, 0x02be1a48, 0x006b9802, 0x035cb3c3, 0x036bf96c, 0x02c5de27, 0x02eeb77b, 0x02c45f21, 0x01c992d6, 0x00117fd0}}, Y: Field{[10]uint32{0x0002b59f, 0x035a5c88, 0x015cbec3, 0x021a1ff2, 0x004f522e, 0x009c59f6, 0x010c9e10, 0x038eb880, 0x01bf6422, 0x0024c93d}}}, + {X: Field{[10]uint32{0x016ed68f, 0x00fb30f0, 0x02a7d9a9, 0x0293655d, 0x00d00bad, 0x02199bb5, 0x031c282e, 0x013681c5, 0x0235487a, 0x002eb5e7}}, Y: Field{[10]uint32{0x007b57d2, 0x0354371e, 0x029207a6, 0x005e40e2, 0x005b1535, 0x0076c335, 0x0202e129, 0x021290c6, 0x022eefb1, 0x00064e5e}}}, + {X: Field{[10]uint32{0x023c8a41, 0x0100ef27, 0x01b79cfa, 0x00374d99, 0x0022cf89, 0x025d56ff, 0x004d5835, 0x01d7b183, 0x01072d88, 0x00377f88}}, Y: Field{[10]uint32{0x033f62e7, 0x00ad8211, 0x00d90ce2, 0x00fe1f04, 0x028dbe0d, 0x0230a21c, 0x015674c2, 0x002a2a48, 0x0117491d, 0x00318af6}}}, + {X: Field{[10]uint32{0x027eb299, 0x0203b6d9, 0x03a64b11, 0x01a68f67, 0x00d75942, 0x03be7657, 0x00ccadfb, 0x0248fe5a, 0x0253c07f, 0x002497da}}, Y: Field{[10]uint32{0x01e7809c, 0x00e6582c, 0x010b7b29, 0x00e2e329, 0x0058f000, 0x03e73b92, 0x008b26b7, 0x006399bc, 0x00ff01f9, 0x0004203a}}}, + {X: Field{[10]uint32{0x0320dd80, 0x01e2ea09, 0x00d0d878, 0x0341ac38, 0x0012768b, 0x007c0ebc, 0x025d2c7d, 0x000a0ce3, 0x01dda75f, 0x0030a392}}, Y: Field{[10]uint32{0x010db12b, 0x02116ad7, 0x00a98331, 0x02d35fda, 0x03ec5ae6, 0x0261f859, 0x0112c5b4, 0x02926f31, 0x0189c941, 0x0019c3e2}}}, + {X: Field{[10]uint32{0x00837cbb, 0x03e1b28b, 0x006f37b9, 0x01235650, 0x02b21dae, 0x017a3816, 0x008c196d, 0x016fa206, 0x013e9503, 0x0001ea41}}, Y: Field{[10]uint32{0x003a7e1c, 0x00af43d1, 0x02352e7f, 0x03dbdfef, 0x026de026, 0x03425f5d, 0x00774e79, 0x0252de65, 0x008e8e76, 0x00103b82}}}, + {X: Field{[10]uint32{0x02036aa2, 0x029e7f43, 0x01b956c6, 0x021686d8, 0x02e0b32c, 0x025986c5, 0x008ef81e, 0x00031536, 0x00eabfbb, 0x000cebde}}, Y: Field{[10]uint32{0x03cfd3c0, 0x01231a74, 0x00629d80, 0x022017bd, 0x03153319, 0x03215742, 0x01796440, 0x029e5b13, 0x02af0537, 0x001c4f9e}}}, + {X: Field{[10]uint32{0x01583bd0, 0x0031c812, 0x0163df9a, 0x02901e5f, 0x031326df, 0x01b59d30, 0x02955739, 0x00f4cca5, 0x00145a3f, 0x00316234}}, Y: Field{[10]uint32{0x0053cdfa, 0x00c719ab, 0x020d7375, 0x009232bd, 0x027f7470, 0x03f4b35d, 0x02baa8fc, 0x0336b6ae, 0x03d16c67, 0x002d7033}}}, + {X: Field{[10]uint32{0x0038d29e, 0x02ad48e0, 0x01d5a2f2, 0x00887c3b, 0x0397223f, 0x01924d06, 0x008ef12c, 0x010b19f1, 0x01edb937, 0x0025acf5}}, Y: Field{[10]uint32{0x00e44c4e, 0x007b032c, 0x016aa996, 0x015d2ca3, 0x01bf25fe, 0x0339ed3b, 0x019a2e64, 0x028174dc, 0x00aa38a3, 0x0036d1d7}}}, + {X: Field{[10]uint32{0x0244f0c7, 0x0369dfd5, 0x02782a62, 0x010968a1, 0x001eea3a, 0x01198aa7, 0x00cb00b1, 0x013b9bec, 0x036e3d89, 0x00104bd2}}, Y: Field{[10]uint32{0x02a676fe, 0x026be1bd, 0x031d6f13, 0x0226300f, 0x01a8503e, 0x00e1d10a, 0x03de8139, 0x032016ff, 0x0236ab9b, 0x002a13bd}}}, + {X: Field{[10]uint32{0x00563252, 0x01387eb9, 0x01049379, 0x0312270e, 0x0132fdfd, 0x00cb1063, 0x031421da, 0x00c0a14b, 0x0385c7b4, 0x00097c29}}, Y: Field{[10]uint32{0x0004e4bc, 0x009a20d8, 0x02334a02, 0x03d4771b, 0x02da716a, 0x03afbd01, 0x00953a3a, 0x0242d627, 0x010d4571, 0x003bfac2}}}, + {X: Field{[10]uint32{0x01741c6f, 0x0356293b, 0x02cfde0b, 0x01610c9e, 0x03f02fed, 0x027a8f9f, 0x034403a4, 0x03ebd2b2, 0x02b7f367, 0x00143f52}}, Y: Field{[10]uint32{0x0146dd5f, 0x00c1f18f, 0x0207ea56, 0x033e81e5, 0x022d08ab, 0x02b6c70e, 0x020cb520, 0x03352194, 0x01a73c9d, 0x001e2af0}}}, + {X: Field{[10]uint32{0x006a477a, 0x03efb441, 0x03313bbc, 0x007d2e53, 0x02c35762, 0x00c3c41f, 0x038fa664, 0x01fde4ce, 0x03d4cfaf, 0x00055d60}}, Y: Field{[10]uint32{0x017e8db5, 0x02737a8a, 0x02aaffc0, 0x02359674, 0x01fe35ed, 0x011b5216, 0x00d4355c, 0x0347f983, 0x0235ce8c, 0x0026a9ac}}}, + {X: Field{[10]uint32{0x033300be, 0x00ef1296, 0x03494f4b, 0x037e2f9a, 0x02f2edce, 0x016cd65d, 0x00affc16, 0x00980f91, 0x03625d26, 0x000f112e}}, Y: Field{[10]uint32{0x00bc2535, 0x03b0afcf, 0x007b9079, 0x031c7fdc, 0x021ef0e8, 0x00166054, 0x00d45949, 0x00eae17b, 0x01616797, 0x00222c71}}}, + {X: Field{[10]uint32{0x02298958, 0x0096e3ee, 0x01d935ee, 0x031b821f, 0x008fc5d9, 0x00fc8f31, 0x0371d193, 0x01ae5fcb, 0x024de160, 0x000c7509}}, Y: Field{[10]uint32{0x018251cb, 0x0004641c, 0x032c44ae, 0x02d8b98a, 0x00c8e41d, 0x021556e6, 0x025180c9, 0x007498a1, 0x01c0a3aa, 0x00118182}}}, + {X: Field{[10]uint32{0x0103ad2f, 0x0091eb97, 0x03b78a87, 0x007602a3, 0x03352d1d, 0x037060d2, 0x02b206d3, 0x011c9182, 0x030a8ff1, 0x0007d547}}, Y: Field{[10]uint32{0x0116a6e3, 0x03a8cfb0, 0x03b32ecc, 0x02d94255, 0x00fcb97a, 0x000afb8d, 0x0144f818, 0x02c5236e, 0x0006a4c8, 0x0009094f}}}, + {X: Field{[10]uint32{0x01cf333e, 0x02daed70, 0x003a87aa, 0x01ccaabb, 0x00206a1f, 0x03fd6a31, 0x03343119, 0x02101cc4, 0x021d27f0, 0x00378b13}}, Y: Field{[10]uint32{0x0195170d, 0x0173f8a0, 0x01a71c5a, 0x00ab2cb5, 0x019226ca, 0x007e9263, 0x03f4a8e4, 0x0334e8c7, 0x03a140fe, 0x0037204e}}}, + {X: Field{[10]uint32{0x00a95612, 0x02f13046, 0x01620a54, 0x03462bb5, 0x00c1f54b, 0x00e0b0bc, 0x02c4a22c, 0x012b204c, 0x01b2adf5, 0x001bf717}}, Y: Field{[10]uint32{0x030e221e, 0x03a24565, 0x00d26944, 0x032a9b71, 0x03cf60b0, 0x00748590, 0x00110536, 0x03a53703, 0x00e5f318, 0x0036cfe9}}}, + {X: Field{[10]uint32{0x03680603, 0x01dedcd4, 0x030fc7fd, 0x00342177, 0x00bb7665, 0x035fae84, 0x02ea6f4d, 0x0071468e, 0x02c6ea0e, 0x0031fadd}}, Y: Field{[10]uint32{0x035bf655, 0x011dc4b7, 0x013e0e6f, 0x00e6a0ad, 0x020a4f4a, 0x02f0cbbc, 0x0041c3d7, 0x0024a80f, 0x01d7b788, 0x0016b870}}}, + {X: Field{[10]uint32{0x00aa89ed, 0x004ea632, 0x01857b48, 0x02de0867, 0x021a52c7, 0x00c4afee, 0x00e048e6, 0x022d6d93, 0x01a2b7e7, 0x00320541}}, Y: Field{[10]uint32{0x03096806, 0x0177f037, 0x007fa87d, 0x01fe5ac9, 0x01c222be, 0x0167c0cf, 0x01e49be4, 0x03884578, 0x00426d6c, 0x0011b6ca}}}, + {X: Field{[10]uint32{0x00503bf8, 0x01fae79e, 0x031c90a1, 0x00482f71, 0x00f7dec3, 0x00eb0d42, 0x005ff0d8, 0x030f561c, 0x025515f9, 0x0032b5d4}}, Y: Field{[10]uint32{0x026bd719, 0x02704b1b, 0x034c52d1, 0x039496da, 0x0106231b, 0x00e39358, 0x012ddc76, 0x036e5fb3, 0x020276cf, 0x000cacda}}}, + {X: Field{[10]uint32{0x024cdd25, 0x03a4036f, 0x03fabc70, 0x0196094c, 0x00f17f3c, 0x035ac576, 0x02ca8a47, 0x01f8c15b, 0x0144e22b, 0x00253488}}, Y: Field{[10]uint32{0x03d93bf9, 0x006a1351, 0x02e5f612, 0x00b5e6d2, 0x03828bf7, 0x03404932, 0x01dfbbdb, 0x00be1762, 0x020d5fef, 0x0004b01d}}}, + {X: Field{[10]uint32{0x016731a3, 0x004ae2e4, 0x022253b1, 0x027f03cb, 0x0213cba1, 0x01c86f78, 0x03520407, 0x01807f77, 0x0023ef00, 0x000c9717}}, Y: Field{[10]uint32{0x022498e0, 0x02397bb5, 0x0370e962, 0x02c91763, 0x015cb38c, 0x01931f4a, 0x03f3dd30, 0x00590e64, 0x0398c09c, 0x001674f2}}}, + {X: Field{[10]uint32{0x01ee2318, 0x01b61864, 0x00a7cda9, 0x00e0f9fd, 0x027d1874, 0x006f7f69, 0x02515168, 0x020c5928, 0x0089544b, 0x0027241c}}, Y: Field{[10]uint32{0x0372d20d, 0x00639be0, 0x00911d97, 0x037a7ef9, 0x01547117, 0x03089416, 0x00539eb5, 0x0018c0d9, 0x02e7e701, 0x003d8e77}}}, + {X: Field{[10]uint32{0x002b7a82, 0x03e60d4c, 0x03fc0f32, 0x0373ab06, 0x01ec5544, 0x01e93ee0, 0x032a1d89, 0x0301b132, 0x0007ede9, 0x000d3c52}}, Y: Field{[10]uint32{0x016d9c57, 0x007ca902, 0x024828d0, 0x019d75af, 0x003c54c3, 0x01a2f79a, 0x0318813a, 0x0288a3d7, 0x028cec6a, 0x001e10de}}}, + {X: Field{[10]uint32{0x0239788b, 0x01ed8005, 0x00d75388, 0x03fc30d1, 0x01490b47, 0x032e07f7, 0x03d459af, 0x0020a380, 0x030b3f08, 0x00252634}}, Y: Field{[10]uint32{0x002522f7, 0x00da14b9, 0x03d2ece1, 0x02cd59f3, 0x00677865, 0x01461ea7, 0x001627dc, 0x02f8fac9, 0x0305b97a, 0x001e9720}}}, + {X: Field{[10]uint32{0x0354f226, 0x0114bd5d, 0x038c876d, 0x03ffaee5, 0x025d4f36, 0x00f3be23, 0x013ec32d, 0x01b8dea9, 0x036fefd3, 0x003ae823}}, Y: Field{[10]uint32{0x012015c1, 0x031f8e2f, 0x01470608, 0x01e1340a, 0x0339e171, 0x00e32f82, 0x03eade9b, 0x015329eb, 0x02b543aa, 0x003f8399}}}, + {X: Field{[10]uint32{0x0240091b, 0x0251211c, 0x01e504c7, 0x02f664b3, 0x02c8ef49, 0x03a326f3, 0x0119b77a, 0x005ca7d8, 0x03c20bd2, 0x00155752}}, Y: Field{[10]uint32{0x03437b54, 0x0046731f, 0x00315d30, 0x03fe953e, 0x036c9052, 0x024fad29, 0x02869415, 0x0078ccb2, 0x01b86952, 0x003333af}}}, + {X: Field{[10]uint32{0x03fe8872, 0x03c21ec3, 0x01823679, 0x03b31a4b, 0x013f3060, 0x005c8f51, 0x0333833d, 0x00d1d10b, 0x039c19da, 0x000cdca6}}, Y: Field{[10]uint32{0x0034fc30, 0x02f59317, 0x00800b4a, 0x001f5faf, 0x00fac2f0, 0x02fee011, 0x00854056, 0x03d813ae, 0x024f283a, 0x002a52da}}}, + {X: Field{[10]uint32{0x01f1dc11, 0x03857803, 0x03c32d8a, 0x03835131, 0x0378124e, 0x00eae4b3, 0x03b060a7, 0x0119e191, 0x009fafe6, 0x000a86a2}}, Y: Field{[10]uint32{0x008b75d8, 0x0017fcff, 0x01218986, 0x0341fbe4, 0x0275aba0, 0x01b6efc3, 0x02ba46be, 0x007e39a1, 0x023d3bf1, 0x00189be5}}}, + {X: Field{[10]uint32{0x00197d6f, 0x02f2c2df, 0x027fff2d, 0x02cd38e4, 0x01639148, 0x0162ecbd, 0x0062f702, 0x039bf3ff, 0x014ca303, 0x0011c0a1}}, Y: Field{[10]uint32{0x031e1156, 0x011111f5, 0x02c5195c, 0x02cc3cec, 0x022da76e, 0x00164dcb, 0x0075c2de, 0x0095f345, 0x01b28513, 0x001f6898}}}, + {X: Field{[10]uint32{0x01319c5b, 0x01f165b3, 0x00e03485, 0x03f5f681, 0x0351d90c, 0x01b9279e, 0x0015cae0, 0x008e8194, 0x01c5a0cc, 0x001c00bb}}, Y: Field{[10]uint32{0x03db73bb, 0x00f88c30, 0x02975db6, 0x015a13f1, 0x0178c47b, 0x027f5845, 0x012d2ae1, 0x02a961eb, 0x01bd06b7, 0x001bca11}}}, + {X: Field{[10]uint32{0x0348d485, 0x02b7c2db, 0x00ae67c1, 0x0321c976, 0x03f4cc5b, 0x00755143, 0x0169f057, 0x018436c8, 0x00d4483d, 0x0009cca5}}, Y: Field{[10]uint32{0x03d942b1, 0x0221d2d9, 0x036d3726, 0x030473ee, 0x02a71e3c, 0x0208e6a8, 0x039a0031, 0x03278280, 0x01a20ffe, 0x00266c90}}}, + {X: Field{[10]uint32{0x018c9a69, 0x00d7a3fa, 0x00e83b03, 0x00ab134a, 0x010710c7, 0x02a14a97, 0x0126a535, 0x02d103eb, 0x03823055, 0x0006fb33}}, Y: Field{[10]uint32{0x038aecfc, 0x03780fde, 0x03489e2f, 0x00597892, 0x002c5db7, 0x0351c7ab, 0x00ce0a40, 0x03b881f2, 0x0166ac0e, 0x0003cead}}}, + {X: Field{[10]uint32{0x03128160, 0x02386494, 0x02197fae, 0x008dde24, 0x00a19023, 0x023f99cb, 0x0149caec, 0x00f54d76, 0x02cf4f03, 0x0036f93b}}, Y: Field{[10]uint32{0x01aa566f, 0x00f51f35, 0x00a1f5fd, 0x0018702a, 0x01896fc8, 0x012583f1, 0x0241c722, 0x00396d58, 0x03c7927f, 0x002cfd42}}}, + {X: Field{[10]uint32{0x01bd1e20, 0x03b3d28e, 0x02631133, 0x0212c2b8, 0x03caf7f4, 0x03715cff, 0x011887a5, 0x0031a516, 0x0075bed8, 0x001990ff}}, Y: Field{[10]uint32{0x038d58e5, 0x02d717e1, 0x03b7a1f8, 0x0270a4f0, 0x038ec1e6, 0x031289b8, 0x001875fd, 0x01f24eeb, 0x0285f7ac, 0x00011c04}}}, + {X: Field{[10]uint32{0x01422a21, 0x00d0bf81, 0x03f14516, 0x00daf298, 0x03ef19d9, 0x00fe0839, 0x01582805, 0x0335781c, 0x03decf1d, 0x00267e42}}, Y: Field{[10]uint32{0x019cd4fd, 0x034b5e6e, 0x01e2a180, 0x0064cfe4, 0x025cfd77, 0x02fafab5, 0x0390a868, 0x01856c14, 0x01306dfc, 0x0028137f}}}, + {X: Field{[10]uint32{0x02e33433, 0x00774ca1, 0x0033eaad, 0x01f81270, 0x00bcf71f, 0x024ad59e, 0x03b4e351, 0x02dff917, 0x02483184, 0x001539f3}}, Y: Field{[10]uint32{0x00c0e8ef, 0x033b2205, 0x02c3c4de, 0x0118f1a8, 0x024d4f85, 0x01fd3938, 0x028b85cb, 0x0272de0e, 0x033b65ba, 0x0032b0a0}}}, + {X: Field{[10]uint32{0x03f02e08, 0x01a1ae12, 0x027d31f7, 0x0058a558, 0x034705aa, 0x03d2a65c, 0x00f4e7b8, 0x0264f911, 0x024ffb60, 0x0033e192}}, Y: Field{[10]uint32{0x036f1bde, 0x01db1f36, 0x02a51af2, 0x0145dd12, 0x016b8a19, 0x03a62f7c, 0x01db874c, 0x03ad3519, 0x020fb736, 0x001ea634}}}, + {X: Field{[10]uint32{0x0159d1ae, 0x001c849b, 0x03f26c9e, 0x01141829, 0x02a25693, 0x02a62bf8, 0x022cd457, 0x03fe456b, 0x00d6516f, 0x001bfc58}}, Y: Field{[10]uint32{0x00eedc4a, 0x017065ed, 0x034deaff, 0x03b4007c, 0x017db5d5, 0x0143e71d, 0x038b4153, 0x0042b393, 0x0355bf14, 0x001747c4}}}, + {X: Field{[10]uint32{0x035dfcc9, 0x007f9327, 0x01a46f23, 0x016cdc0b, 0x01a56fe3, 0x018a1f6a, 0x037f2a2c, 0x009a4075, 0x0262aefd, 0x00026b6e}}, Y: Field{[10]uint32{0x03b04161, 0x017c54ea, 0x02e7e482, 0x010d0765, 0x012e708d, 0x034b12f7, 0x03126aff, 0x00d66c01, 0x0045cb4a, 0x002e963b}}}, + {X: Field{[10]uint32{0x00a2402d, 0x0038aa85, 0x035d652c, 0x0183a773, 0x02b5d900, 0x00b0437f, 0x00ea9457, 0x03712335, 0x001ebbdc, 0x000813a9}}, Y: Field{[10]uint32{0x0036ae38, 0x03de02eb, 0x01809789, 0x00c8fb02, 0x02fb0b9e, 0x024929be, 0x005db8a9, 0x00bcf2cb, 0x01aca195, 0x001eca22}}}, + {X: Field{[10]uint32{0x03c8ba22, 0x02b3a5d7, 0x0296a82a, 0x0243a109, 0x02a4b4f1, 0x008349ae, 0x01a6826c, 0x00c45089, 0x0269364d, 0x003df5b1}}, Y: Field{[10]uint32{0x039d3470, 0x019e9721, 0x03d1636f, 0x03d12c32, 0x031ff47c, 0x02cf1d86, 0x027d160c, 0x00e31401, 0x0177b425, 0x00056aec}}}, + {X: Field{[10]uint32{0x01352587, 0x019bc9df, 0x03f0dcb4, 0x019116d5, 0x01e50a7e, 0x000af488, 0x0066e00c, 0x00a31e2c, 0x030a87dd, 0x001ef134}}, Y: Field{[10]uint32{0x00c294d4, 0x032ae5b4, 0x0152ec68, 0x030481ad, 0x026efbc9, 0x032c1287, 0x026e0c9f, 0x00059369, 0x00542e7e, 0x003d3b52}}}, + {X: Field{[10]uint32{0x02316ef1, 0x01250ec7, 0x009d7856, 0x0086d094, 0x01c200eb, 0x027c818a, 0x005dfb95, 0x02fb9b09, 0x0184b046, 0x00155109}}, Y: Field{[10]uint32{0x00580d82, 0x000c6a52, 0x02280905, 0x018b4676, 0x02a29c41, 0x000fcb93, 0x026353a1, 0x007b6599, 0x0171c811, 0x000b8aaa}}}, + {X: Field{[10]uint32{0x01dce1eb, 0x01a7992c, 0x02dccbcd, 0x01ca107c, 0x020923f8, 0x02a32996, 0x0224c973, 0x0240f9c4, 0x00c0de88, 0x00239f7e}}, Y: Field{[10]uint32{0x01d2a0cc, 0x0390f049, 0x0066252a, 0x0388d325, 0x03c31205, 0x007eea36, 0x0147873f, 0x01b5479c, 0x00839ae8, 0x0039054c}}}, + {X: Field{[10]uint32{0x0251de8f, 0x011bd471, 0x024915d5, 0x0324d6f6, 0x01b84a9b, 0x017eb81e, 0x0169d066, 0x02a86095, 0x01dc69d8, 0x0019c8c8}}, Y: Field{[10]uint32{0x03ef005f, 0x00f5bdb9, 0x00188d33, 0x03c5acd3, 0x02f977b1, 0x000e9bbb, 0x0009ab18, 0x0225f6fa, 0x030b8708, 0x0022b590}}}, + {X: Field{[10]uint32{0x01ac3abc, 0x003d1ca2, 0x01bfc2d2, 0x026bda4f, 0x001b8beb, 0x02175da6, 0x00327182, 0x026c0148, 0x03c143e9, 0x003d38ae}}, Y: Field{[10]uint32{0x01651a2a, 0x02fc2c57, 0x03a897ea, 0x00f8817a, 0x036d80e9, 0x0033509b, 0x0322b7f7, 0x003aacb9, 0x00f5dc33, 0x00395264}}}, + {X: Field{[10]uint32{0x0139ffff, 0x004d3c43, 0x01ad8009, 0x0119ad7f, 0x0272694f, 0x00170582, 0x03c72758, 0x00963241, 0x025fc6d2, 0x0016a8ea}}, Y: Field{[10]uint32{0x00ea9531, 0x03018012, 0x0244a7f4, 0x02632c1d, 0x023146aa, 0x03d9c330, 0x003e82b5, 0x02be96e1, 0x0170617e, 0x0008b5c8}}}, + {X: Field{[10]uint32{0x03e2e7ef, 0x03ac021e, 0x00383be3, 0x03a9170d, 0x009e9a31, 0x02de18cf, 0x033acbd1, 0x01266b1a, 0x03f9d2bf, 0x000d1d4b}}, Y: Field{[10]uint32{0x001104f8, 0x01b6d1cb, 0x03edd91a, 0x02a60c1a, 0x0339d73c, 0x03d9f22e, 0x037d0763, 0x03621947, 0x03742cf3, 0x002d4fa8}}}, + {X: Field{[10]uint32{0x03047327, 0x00d4d989, 0x02d6b517, 0x018b6cae, 0x01889770, 0x001a7871, 0x01b4c9b5, 0x0113dc36, 0x022402ea, 0x00359409}}, Y: Field{[10]uint32{0x02b16f2d, 0x00547f12, 0x02c288c7, 0x00861b6c, 0x02d80143, 0x015cdd5f, 0x034db3fb, 0x02a2fb00, 0x019af2f2, 0x0014bd72}}}, + {X: Field{[10]uint32{0x011f4cc9, 0x024f0c00, 0x032acb45, 0x02a7b576, 0x010915d4, 0x007ce6af, 0x024a0e0b, 0x00097f45, 0x02c6553d, 0x0014aceb}}, Y: Field{[10]uint32{0x00e2f8c9, 0x029dc5fd, 0x03ba2432, 0x02f3839e, 0x0377af18, 0x00c6c975, 0x00016839, 0x02caee75, 0x00021c17, 0x0014551d}}}, + {X: Field{[10]uint32{0x027ef9ca, 0x02551fa0, 0x01b174d9, 0x01bae93e, 0x02eaa0ec, 0x022de704, 0x03284186, 0x02489049, 0x037ef797, 0x00232ed9}}, Y: Field{[10]uint32{0x000183f2, 0x0243e601, 0x00e19ae5, 0x0262ffb7, 0x0292974f, 0x0046d82f, 0x0240ec64, 0x004c4ada, 0x01b8b07e, 0x0028ca02}}}, + {X: Field{[10]uint32{0x0131d47b, 0x01c938f5, 0x022487f1, 0x035b0c5e, 0x013f89f2, 0x01d1cd2e, 0x00b1564d, 0x03c5f7a5, 0x01e0e2ee, 0x00363d57}}, Y: Field{[10]uint32{0x02b7d770, 0x00fa4b26, 0x02930052, 0x01317821, 0x00fa7dc6, 0x009c7993, 0x0016f71f, 0x018dc381, 0x02f5da57, 0x003a7f51}}}, + {X: Field{[10]uint32{0x016b6fdb, 0x0133d88d, 0x02b79d0f, 0x03b7b52e, 0x03a4ddb8, 0x01ddc5a7, 0x01573014, 0x02cc7fe7, 0x01bbfaa2, 0x003e9bf2}}, Y: Field{[10]uint32{0x0357d494, 0x01083803, 0x01b331b4, 0x033e7de0, 0x0043a2ad, 0x012c4476, 0x02fd1e4d, 0x01e431eb, 0x03cddfdd, 0x002dbfd5}}}, + {X: Field{[10]uint32{0x01b58e9a, 0x00fc2758, 0x02ae6bb9, 0x005d94f9, 0x00f93590, 0x02eb4126, 0x03752d9a, 0x03b765a7, 0x028ce748, 0x0008e7c0}}, Y: Field{[10]uint32{0x00f8b516, 0x013a3b05, 0x02f7c064, 0x028a46f6, 0x01d55c8a, 0x02dec50b, 0x02463b7b, 0x03dae9ee, 0x02b78831, 0x0005f7ff}}}, + {X: Field{[10]uint32{0x025e4f3b, 0x03e3dd25, 0x017bd99a, 0x00523c96, 0x00ecad3c, 0x00e26ee9, 0x0071db05, 0x025dbe67, 0x03fb728d, 0x000bbdb2}}, Y: Field{[10]uint32{0x01b0fd00, 0x006d83de, 0x00273b41, 0x010b3c5d, 0x03deeef5, 0x0364e8de, 0x01ebe8c1, 0x001e30fc, 0x03a7a382, 0x0006689e}}}, + {X: Field{[10]uint32{0x03064a0e, 0x025d764c, 0x0343698b, 0x011f614d, 0x021a4292, 0x00dde1c7, 0x03042f13, 0x00c57a23, 0x032b9af8, 0x0025cb5c}}, Y: Field{[10]uint32{0x024fd28b, 0x02bd36ea, 0x021d4f40, 0x00fc97f7, 0x02a5c2ae, 0x012f2ee8, 0x02380fee, 0x00ee1d02, 0x03baba4c, 0x000c2054}}}, + {X: Field{[10]uint32{0x02062a4c, 0x03c9d1db, 0x02ed33c4, 0x03b6bd08, 0x02e788bc, 0x0215052f, 0x03aa2951, 0x0263c60c, 0x0334ba49, 0x000f4de2}}, Y: Field{[10]uint32{0x02c4c8a3, 0x03686a3c, 0x0017093e, 0x00e34dd6, 0x013c3d52, 0x027dd700, 0x0087b502, 0x03e46602, 0x019c9217, 0x0011a915}}}, + {X: Field{[10]uint32{0x015c3087, 0x03e20b4e, 0x011e376b, 0x03c9f591, 0x02b13d70, 0x02f8ecd8, 0x032b289a, 0x02ceabf4, 0x003b1fc1, 0x003eec80}}, Y: Field{[10]uint32{0x00dfdabd, 0x028c5701, 0x00a81653, 0x00753906, 0x03f28e5b, 0x0305f6c0, 0x02b96bb9, 0x00d8a933, 0x02a5c462, 0x0025f219}}}, + {X: Field{[10]uint32{0x037a0471, 0x0137a3e1, 0x0247e6e1, 0x02debed6, 0x00295efd, 0x016389b1, 0x03d27a92, 0x02c7e802, 0x014e8eea, 0x0000a3ea}}, Y: Field{[10]uint32{0x01d23276, 0x016a4242, 0x022a5514, 0x0065345d, 0x03622219, 0x0233a743, 0x007b5e20, 0x03a3cf03, 0x010af2ee, 0x003dd867}}}, + {X: Field{[10]uint32{0x01308ae9, 0x033283be, 0x00f25c12, 0x00cc21e6, 0x014be272, 0x03ea3f8a, 0x0227ede6, 0x030455c5, 0x02857eb9, 0x0011c228}}, Y: Field{[10]uint32{0x024fa449, 0x00dae472, 0x00c3550e, 0x019821ea, 0x02854034, 0x02a4b3d5, 0x020ab601, 0x00e642cb, 0x01642e77, 0x003cd7e6}}}, + {X: Field{[10]uint32{0x0048a62f, 0x013cbe26, 0x02c6a636, 0x032cdad8, 0x02a82427, 0x00f3bb5b, 0x00903dcb, 0x02e1d362, 0x00976ff4, 0x0024d020}}, Y: Field{[10]uint32{0x015f3c6f, 0x033ed8fa, 0x020aeff3, 0x012262f1, 0x03daf64d, 0x0282eafd, 0x032d4fe0, 0x019d926a, 0x0162d4e2, 0x0038969a}}}, + {X: Field{[10]uint32{0x020ddf9a, 0x01676f1c, 0x03cac039, 0x037495b2, 0x039e0d24, 0x02959988, 0x0195da93, 0x00072b8c, 0x03a08182, 0x003d290a}}, Y: Field{[10]uint32{0x02000f86, 0x0349f802, 0x0396a60f, 0x0239c8c3, 0x0110bd4c, 0x01ce44a1, 0x01194afe, 0x03bfc1d7, 0x03cc0be3, 0x0023f49b}}}, + {X: Field{[10]uint32{0x03a6240c, 0x006c59b8, 0x009919c5, 0x03bed06c, 0x03791cac, 0x025f82a5, 0x0339ef61, 0x03350033, 0x0216e65b, 0x00316b69}}, Y: Field{[10]uint32{0x016eb8c3, 0x000229fe, 0x011a04a7, 0x01e9834d, 0x01cc2678, 0x02441aba, 0x01b0b323, 0x0318b721, 0x0168fe41, 0x00393197}}}, + {X: Field{[10]uint32{0x00c640e7, 0x02b84020, 0x002baca2, 0x01215844, 0x01e8b1fa, 0x00186969, 0x017c62e5, 0x03646f2f, 0x02c3d3f1, 0x001f064f}}, Y: Field{[10]uint32{0x03873ccd, 0x01672b65, 0x0333a26b, 0x01a0752c, 0x0103b8e0, 0x02294da1, 0x000ff310, 0x0023cf90, 0x00955114, 0x00331f3e}}}, + {X: Field{[10]uint32{0x011bd3c3, 0x0000ac2b, 0x016f1d96, 0x01547b1c, 0x0122b763, 0x039a8706, 0x01656293, 0x03c4a0c8, 0x01438e7c, 0x001dd509}}, Y: Field{[10]uint32{0x03d2137f, 0x02fe0022, 0x007c4deb, 0x00c80306, 0x01edf7d9, 0x022182be, 0x006eec20, 0x00def864, 0x029d212c, 0x000dd1c5}}}, + {X: Field{[10]uint32{0x03d90992, 0x02643d89, 0x02c5a3b9, 0x010f9536, 0x00bb48ff, 0x002af46a, 0x01c0f7f9, 0x039e1be9, 0x0399fa75, 0x0024b754}}, Y: Field{[10]uint32{0x0311b7ba, 0x0152484f, 0x029a406e, 0x00c664cb, 0x00ee4932, 0x031b14d2, 0x025c824a, 0x020f830b, 0x028ef937, 0x00172c6f}}}, + {X: Field{[10]uint32{0x0293157d, 0x01b77bf5, 0x00b376eb, 0x029ede87, 0x004f66e7, 0x0294cbf8, 0x03550532, 0x03ae4042, 0x0028468e, 0x00305dc2}}, Y: Field{[10]uint32{0x019a2e11, 0x01f492a0, 0x02bc2d2e, 0x0269de9d, 0x02070e5e, 0x0186b928, 0x029e262f, 0x01f51ff4, 0x003da014, 0x00036959}}}, + {X: Field{[10]uint32{0x036378c8, 0x03f7732b, 0x00ad533c, 0x0396fa2a, 0x01a8baab, 0x0044e4bf, 0x009a5341, 0x03948919, 0x0116e90a, 0x0004dcb8}}, Y: Field{[10]uint32{0x00346af9, 0x00adb972, 0x004d6e9b, 0x03ccaf16, 0x011d0a1c, 0x02369bd1, 0x038c2aaf, 0x01d6ef70, 0x00a26957, 0x0017bef5}}}, + {X: Field{[10]uint32{0x01dda936, 0x00b61a99, 0x00c008f3, 0x03eb840e, 0x0105e2b7, 0x03cc24a7, 0x01520097, 0x028acaf3, 0x021e9fa1, 0x000aef7c}}, Y: Field{[10]uint32{0x039d45ec, 0x0280b24c, 0x0364cb0b, 0x0331610e, 0x011806eb, 0x02a20cd8, 0x02c0dcd2, 0x02f77185, 0x01986008, 0x00146de2}}}, + {X: Field{[10]uint32{0x013005e1, 0x010e2f5d, 0x03f7f6a7, 0x01f09bb8, 0x039b63cc, 0x01bc8485, 0x0230d49e, 0x017b5de0, 0x00a4d049, 0x000d9a53}}, Y: Field{[10]uint32{0x00bc0af8, 0x02a8345c, 0x039075f5, 0x02da56d7, 0x03a87f48, 0x00635499, 0x031e17db, 0x02c4ccff, 0x03f3bbdc, 0x000b9278}}}, + {X: Field{[10]uint32{0x032013b8, 0x01225600, 0x027e85e6, 0x01cdaee2, 0x036fbc13, 0x004f12ab, 0x0113bf8d, 0x03850e9a, 0x00b1dc9c, 0x00090f61}}, Y: Field{[10]uint32{0x027f28bf, 0x02af56db, 0x02b91108, 0x020cb7ff, 0x0021a3dd, 0x037b1784, 0x023c2dc6, 0x031c77ff, 0x03adb6be, 0x0000e4c5}}}, + {X: Field{[10]uint32{0x0191ec92, 0x02550acb, 0x0185de03, 0x037bc641, 0x020ba6df, 0x0284aa3f, 0x00eab821, 0x03cfda0e, 0x03875255, 0x00076220}}, Y: Field{[10]uint32{0x0324b489, 0x0080dfcc, 0x012bc46c, 0x02b76f64, 0x039ccabd, 0x00bc2bbc, 0x0233538d, 0x03e05575, 0x03e2e919, 0x002a74e2}}}, + {X: Field{[10]uint32{0x01be3765, 0x01be6b2c, 0x00955645, 0x00a1e920, 0x015512d6, 0x01d0dd47, 0x0160e2aa, 0x00cddbdd, 0x03754c0d, 0x000e6887}}, Y: Field{[10]uint32{0x0035e005, 0x00baa750, 0x031bde0b, 0x02c4e914, 0x01ef4950, 0x0156ed12, 0x00188c4d, 0x035e78ef, 0x00a52a7f, 0x000f3cc9}}}, + {X: Field{[10]uint32{0x002e21c8, 0x0249e3ad, 0x029e948d, 0x007e9595, 0x0118ab0a, 0x00b19fdb, 0x01394a95, 0x0177ca87, 0x020cd8e2, 0x002843fd}}, Y: Field{[10]uint32{0x01f9e991, 0x013d4083, 0x03237bfd, 0x00d7c0b2, 0x0389fd2b, 0x03e2451c, 0x000c0bd4, 0x00bbe077, 0x01633ce8, 0x002d17cb}}}, + {X: Field{[10]uint32{0x03bcbcb1, 0x031167ad, 0x022b25bb, 0x03377092, 0x01bb801a, 0x01ae5c7e, 0x011f7a64, 0x010bdc41, 0x03920d50, 0x002f09a5}}, Y: Field{[10]uint32{0x01235665, 0x00d6f5dc, 0x031f478b, 0x0378760f, 0x02c7fab6, 0x0248175f, 0x0301530c, 0x00818586, 0x01fc1c03, 0x002dc111}}}, + {X: Field{[10]uint32{0x0037cb95, 0x00709024, 0x00da99a6, 0x0123daf3, 0x025f0ef4, 0x0076d110, 0x02a7f95d, 0x00da0aa0, 0x01fefd5a, 0x000f5c9e}}, Y: Field{[10]uint32{0x00159740, 0x01980bdc, 0x021622de, 0x024c3364, 0x019a2ea1, 0x02e89253, 0x0342cca2, 0x016df88a, 0x02cae636, 0x0037d489}}}, + {X: Field{[10]uint32{0x00dbe588, 0x00b0b57a, 0x02e2fd55, 0x03439085, 0x01bc439a, 0x0146cf54, 0x036c2bd9, 0x02bc02e4, 0x0130ef92, 0x0038315b}}, Y: Field{[10]uint32{0x00555fee, 0x0212ceda, 0x03e0f064, 0x031e921c, 0x03f35189, 0x01d9a683, 0x01bd1862, 0x01711103, 0x037d02a7, 0x0030af45}}}, + {X: Field{[10]uint32{0x0073315b, 0x0266b89e, 0x03c15d99, 0x00c909ca, 0x00f0d6e3, 0x00d2ebc7, 0x00398306, 0x02fd4bf6, 0x00e52b7b, 0x0026fe58}}, Y: Field{[10]uint32{0x018d0405, 0x0188e1c7, 0x001c9066, 0x03df6732, 0x01551862, 0x02914dce, 0x0016cb16, 0x007732c0, 0x019d20e0, 0x0002ca1c}}}, + {X: Field{[10]uint32{0x00351198, 0x0120280d, 0x019dc0d5, 0x0117511f, 0x0287fffb, 0x011d5f83, 0x017a6b14, 0x029c6b98, 0x016be60b, 0x000837c6}}, Y: Field{[10]uint32{0x02eb07d8, 0x003387c9, 0x020ae996, 0x01610bfb, 0x02f12ba3, 0x02b42aea, 0x03d49539, 0x001c6e81, 0x01430c0d, 0x00271c8b}}}, + {X: Field{[10]uint32{0x029bac17, 0x01998772, 0x036330a2, 0x01c48ed7, 0x00455a5f, 0x02055260, 0x019693d0, 0x02d02e51, 0x01360208, 0x000210f0}}, Y: Field{[10]uint32{0x02f12078, 0x0137d1bc, 0x00edec9b, 0x008e19dc, 0x02d0c74f, 0x0076e950, 0x011820d3, 0x03f1034b, 0x018d9095, 0x00356d6f}}}, + {X: Field{[10]uint32{0x008d11a0, 0x02f1c890, 0x01c03e05, 0x032dcbe7, 0x03708a3f, 0x02d1b5bb, 0x024ee0ca, 0x007a837a, 0x00df702c, 0x0024426d}}, Y: Field{[10]uint32{0x02dc507a, 0x03b322e5, 0x03242cf4, 0x031e44ee, 0x007348e9, 0x030b0c09, 0x03151954, 0x020072d4, 0x02c18be5, 0x001d6ea8}}}, + {X: Field{[10]uint32{0x0191113c, 0x03bbcf16, 0x02db2329, 0x00b8dc9f, 0x018e5155, 0x0080f167, 0x02dff03c, 0x02a6ec4a, 0x01f5c960, 0x003c4334}}, Y: Field{[10]uint32{0x028c465a, 0x03c2fc57, 0x0151b8f3, 0x03191e58, 0x009d2e03, 0x03fb998b, 0x01746898, 0x036a9859, 0x00e16f65, 0x002a12b2}}}, + {X: Field{[10]uint32{0x00e747a8, 0x03f9ab44, 0x03a071ea, 0x03437d62, 0x010ae0d6, 0x02297d4e, 0x0077b69a, 0x0180beb4, 0x013cffd3, 0x0027c1dc}}, Y: Field{[10]uint32{0x03ee867b, 0x03579723, 0x00afe58c, 0x00e95e5c, 0x01cbb4ea, 0x020be3b0, 0x003d7357, 0x02420f37, 0x007342b5, 0x002b7f32}}}, + {X: Field{[10]uint32{0x0195801a, 0x018cd0b3, 0x019f3640, 0x01b2c483, 0x005ce9ec, 0x03fe25e3, 0x032b870f, 0x015cd04e, 0x010e3290, 0x001b4767}}, Y: Field{[10]uint32{0x0031018f, 0x0153e31a, 0x010efba1, 0x025e48b9, 0x0325a3f5, 0x00eef738, 0x0345f7c2, 0x02d80935, 0x00a895d3, 0x001942f9}}}, + {X: Field{[10]uint32{0x00dcbd82, 0x0083319b, 0x03fa7128, 0x026771d9, 0x015c649f, 0x0387ec52, 0x027791c7, 0x033251e8, 0x01a56b3a, 0x00125c61}}, Y: Field{[10]uint32{0x03e6568c, 0x01aa5443, 0x01c3df5b, 0x02fdd060, 0x00f33ce5, 0x039d5968, 0x00078b2f, 0x0386c5f9, 0x037c11da, 0x001f5446}}}, + {X: Field{[10]uint32{0x000a743f, 0x0153fcc4, 0x030a2c31, 0x02f85291, 0x019a35f7, 0x00b361f0, 0x01b8bc75, 0x03ae7137, 0x00f9848e, 0x003ffdce}}, Y: Field{[10]uint32{0x032c38ec, 0x03fcdccb, 0x01df57bd, 0x02685c21, 0x00211b97, 0x01171628, 0x0037cdcf, 0x00f25dda, 0x0255cd91, 0x00041ae2}}}, + {X: Field{[10]uint32{0x001b4830, 0x024086e6, 0x00e38ccb, 0x03d177f2, 0x0141899e, 0x01f58005, 0x026876a3, 0x011b2d11, 0x01a48d35, 0x000c80e4}}, Y: Field{[10]uint32{0x0251b102, 0x01c48159, 0x0000f09c, 0x01f798ce, 0x0323fa2d, 0x015c1ed2, 0x002f3032, 0x0250479d, 0x0030b455, 0x0011bd8c}}}, + {X: Field{[10]uint32{0x0185fe9e, 0x005b8017, 0x013f9adf, 0x001848a0, 0x00558791, 0x01d8c7c6, 0x0137f7fb, 0x03a2349a, 0x0240a925, 0x002f9133}}, Y: Field{[10]uint32{0x036e1dc4, 0x02c0998a, 0x0089324d, 0x032a6906, 0x02ca6948, 0x03d12db8, 0x02806d4b, 0x01b719f9, 0x01e7d22e, 0x0005d56b}}}, + {X: Field{[10]uint32{0x0333ddae, 0x00810d73, 0x012ddeeb, 0x002d0cea, 0x03da6aa8, 0x019bf0a8, 0x03b05314, 0x035827e0, 0x02b158dd, 0x00234fc1}}, Y: Field{[10]uint32{0x0337af63, 0x011c1752, 0x01f2c4c7, 0x0106630f, 0x02f1d0a6, 0x02f4ba50, 0x036e5f4d, 0x0144eee2, 0x0299efde, 0x000b5552}}}, + {X: Field{[10]uint32{0x01596729, 0x03aa11a4, 0x02627210, 0x01d1d0ad, 0x00d0c71d, 0x00153f30, 0x01c1cb3a, 0x03d54c95, 0x039cf258, 0x003e0529}}, Y: Field{[10]uint32{0x032d867d, 0x004fdd68, 0x002dc318, 0x022bb7ae, 0x010271ce, 0x0347cf51, 0x0080c42f, 0x02d2c88f, 0x0095be48, 0x0000467f}}}, + {X: Field{[10]uint32{0x0142fb60, 0x0399097a, 0x03ec8109, 0x03efbe45, 0x01d77e57, 0x038ab4c1, 0x0262bfbe, 0x03c76d76, 0x01461c37, 0x00257a3f}}, Y: Field{[10]uint32{0x00e2db93, 0x000c0a82, 0x00d09a03, 0x03f8c1ad, 0x01d3d5b1, 0x002d162e, 0x01ace316, 0x033686a9, 0x031edfdb, 0x003770a2}}}, + {X: Field{[10]uint32{0x03981e77, 0x02ac3a29, 0x02149e2d, 0x0303d0db, 0x026f4e5c, 0x03f08209, 0x0320604c, 0x02205af1, 0x03fc47e1, 0x00301950}}, Y: Field{[10]uint32{0x03021441, 0x00d20c65, 0x0234ee66, 0x00c45fb1, 0x01281854, 0x00653327, 0x034819ac, 0x029f0844, 0x0065f3a4, 0x000881c1}}}, + {X: Field{[10]uint32{0x00d5c68e, 0x025c21ad, 0x001caa2b, 0x0142f580, 0x010fd5b0, 0x037b6138, 0x014d116b, 0x02bbe928, 0x015b3716, 0x001260f6}}, Y: Field{[10]uint32{0x03f0a279, 0x036b8b01, 0x01b0280c, 0x0299beb0, 0x00f5e609, 0x02f4efbf, 0x03d47bce, 0x033450cc, 0x026da2ef, 0x0004dcd0}}}, + {X: Field{[10]uint32{0x02afe6ab, 0x0332560f, 0x03ef61fd, 0x03b79adc, 0x03ad8054, 0x01782143, 0x022cd092, 0x012e5cee, 0x00c692e8, 0x0028af57}}, Y: Field{[10]uint32{0x02a5ce2b, 0x02c9d9f9, 0x02a4e4f0, 0x025e5e56, 0x0133d8d7, 0x027e0093, 0x019011b9, 0x006c7985, 0x038af914, 0x003329b9}}}, + {X: Field{[10]uint32{0x036d741a, 0x026353da, 0x02b60bf6, 0x0098c45e, 0x00b8f852, 0x00d9f421, 0x0076281b, 0x0139ce54, 0x0231a18f, 0x00187264}}, Y: Field{[10]uint32{0x026cbfe5, 0x0102051b, 0x019299d3, 0x02c19f52, 0x01af886d, 0x02823006, 0x00616090, 0x0074c192, 0x03979e7f, 0x00208c52}}}, + {X: Field{[10]uint32{0x02b34304, 0x0182ff5a, 0x00db73ed, 0x00bdb1af, 0x02d4072a, 0x0244cc86, 0x03114fc7, 0x014a64e9, 0x03ef32c5, 0x001296b3}}, Y: Field{[10]uint32{0x020c03c9, 0x006c15a6, 0x024da9f6, 0x02252bfe, 0x0301323e, 0x012c9b6f, 0x03f9f296, 0x0166c9a6, 0x0229c068, 0x0001ca56}}}, + {X: Field{[10]uint32{0x037f4023, 0x03d6da2e, 0x02d487d4, 0x004d085a, 0x02604e50, 0x0197b2b1, 0x036dcb6c, 0x012530ac, 0x0355866f, 0x0038119d}}, Y: Field{[10]uint32{0x00b336b3, 0x01690b0c, 0x02029d9e, 0x01d4a3b3, 0x01ae9459, 0x0098626b, 0x032f9558, 0x03e86fd4, 0x03c5974d, 0x0037ab40}}}, + {X: Field{[10]uint32{0x03215ea7, 0x03034aee, 0x0059640d, 0x01808211, 0x01c4e8be, 0x016c788c, 0x014ca74b, 0x017f7d6d, 0x0305c926, 0x001a1bf7}}, Y: Field{[10]uint32{0x017ea7da, 0x018794f5, 0x01710b65, 0x03cb1640, 0x03c93723, 0x03fcd9de, 0x02f950eb, 0x02e5d02b, 0x021cedf9, 0x003d350f}}}, + {X: Field{[10]uint32{0x03d21253, 0x017b2ee2, 0x01cb9fce, 0x009347c5, 0x03e2bcd9, 0x00365b4b, 0x022b7d7b, 0x02c833a9, 0x018500f9, 0x000491da}}, Y: Field{[10]uint32{0x03522004, 0x03785b4a, 0x03842e32, 0x03c90f75, 0x033f1950, 0x010e2702, 0x027b356b, 0x013f190e, 0x00b39e90, 0x0034d0df}}}, + {X: Field{[10]uint32{0x02d17b1b, 0x0220098a, 0x0324e453, 0x007b4be9, 0x03b5eb1e, 0x0027d95e, 0x03322910, 0x0326cb96, 0x00ec9a87, 0x00195af7}}, Y: Field{[10]uint32{0x012fa64d, 0x00f738be, 0x01d116aa, 0x00c345f0, 0x030cdfc8, 0x03f7023f, 0x03f704b3, 0x0393dfd8, 0x010c47b6, 0x0031dd23}}}, + {X: Field{[10]uint32{0x0083e4b5, 0x02fae5ad, 0x0004c3ae, 0x00f983af, 0x027a3d40, 0x020f3b44, 0x0279b244, 0x00584832, 0x010e0f72, 0x0016dfdc}}, Y: Field{[10]uint32{0x03b08080, 0x03dca12f, 0x0386b698, 0x01caf65a, 0x0011db4b, 0x0396a7bb, 0x00196e8d, 0x022bb98d, 0x03a7f068, 0x0006d455}}}, + {X: Field{[10]uint32{0x01e6b4da, 0x034f4128, 0x00deabc8, 0x00f6074b, 0x01254521, 0x003e4361, 0x015bf184, 0x029bd55e, 0x02d0552b, 0x002ff299}}, Y: Field{[10]uint32{0x01754e75, 0x01b746bc, 0x0069084b, 0x0282f776, 0x00223043, 0x0032ce84, 0x00c46383, 0x01095f01, 0x00cc290d, 0x0012442c}}}, + {X: Field{[10]uint32{0x00496f16, 0x01980ca2, 0x009247f5, 0x006f3b1c, 0x001447c1, 0x0015ef45, 0x018f8ef2, 0x032ef91e, 0x028fb79d, 0x00198fe9}}, Y: Field{[10]uint32{0x03c41786, 0x009ea9a0, 0x03951f2b, 0x028aacc3, 0x00a42597, 0x00747d08, 0x005598a9, 0x02f48f62, 0x02fa1f3b, 0x000eb38b}}}, + {X: Field{[10]uint32{0x015c4321, 0x017c7792, 0x03004608, 0x02b82033, 0x017c1675, 0x0379a289, 0x02f2f86e, 0x02e3c87f, 0x03338a3d, 0x0009f338}}, Y: Field{[10]uint32{0x00d373ae, 0x01aa0ac9, 0x01c294b1, 0x027f68aa, 0x037aefa6, 0x018f53f7, 0x0144a002, 0x0391cbac, 0x018c8bab, 0x001c55af}}}, + {X: Field{[10]uint32{0x00bd9560, 0x016f1359, 0x00ce35aa, 0x012c703a, 0x03b727be, 0x00f15d7b, 0x027940e1, 0x017026f8, 0x02c452ec, 0x00352701}}, Y: Field{[10]uint32{0x038d18b0, 0x01d48e39, 0x033c2f51, 0x022551b7, 0x015d7ad7, 0x02680d8d, 0x0266469f, 0x004029ca, 0x0118b298, 0x000b194d}}}, + {X: Field{[10]uint32{0x004ad08a, 0x0005fdd5, 0x01129cfa, 0x03f442bf, 0x023d7bf4, 0x01034ef5, 0x00ecd251, 0x02009b4f, 0x007ebd02, 0x001a5820}}, Y: Field{[10]uint32{0x020e7c7c, 0x02bab024, 0x03f4cf7b, 0x020eaa6a, 0x036f9a63, 0x02f69af7, 0x03cb5465, 0x03eb9cad, 0x004f28be, 0x0029e141}}}, + {X: Field{[10]uint32{0x01f8faa1, 0x02d4c94f, 0x03aa1ede, 0x03156953, 0x02fc9263, 0x0295f6eb, 0x0375abeb, 0x00e9c68e, 0x033654b6, 0x0020e0af}}, Y: Field{[10]uint32{0x0049b011, 0x003f3c42, 0x026dcb6d, 0x00f6515d, 0x02dc9bef, 0x0189d987, 0x021da269, 0x032d4d11, 0x01dcc319, 0x003817ae}}}, + {X: Field{[10]uint32{0x02b0bffb, 0x0168f452, 0x0379acc4, 0x026bd814, 0x02b7e705, 0x02a4cbc8, 0x008cca9f, 0x021db9e3, 0x037930ec, 0x00200ee4}}, Y: Field{[10]uint32{0x01e5790f, 0x02bc1195, 0x01152b52, 0x03745f34, 0x01cb90d1, 0x01e1a51c, 0x03ec7d0b, 0x03470b1b, 0x001c5202, 0x001f6c8d}}}, + {X: Field{[10]uint32{0x02c5292c, 0x022e8474, 0x03e08f99, 0x003a2591, 0x02cb78fb, 0x01cfeac0, 0x0165ff4f, 0x02ba7c44, 0x01290ab6, 0x0032d36c}}, Y: Field{[10]uint32{0x03d1c9c2, 0x01506235, 0x02e9ef61, 0x00235d53, 0x02745c24, 0x02ecd9bf, 0x0280ad65, 0x00e12ed6, 0x039a1776, 0x000332bb}}}, + {X: Field{[10]uint32{0x00d115a2, 0x014ab37b, 0x0179aa81, 0x01ee1325, 0x038fd6af, 0x0301c3f1, 0x038be8af, 0x03d9c8e0, 0x035750e9, 0x003eaca1}}, Y: Field{[10]uint32{0x00b3f065, 0x00452430, 0x024956c3, 0x00c7671b, 0x03764ee9, 0x02ba14c0, 0x017d3b83, 0x0158b54e, 0x002889cd, 0x003567f8}}}, + {X: Field{[10]uint32{0x0249bbc1, 0x00092159, 0x0376c198, 0x01335a96, 0x02fbdf84, 0x0020cf84, 0x02e3f036, 0x03b8f43d, 0x02baf870, 0x003761e7}}, Y: Field{[10]uint32{0x0143c55a, 0x011c5b26, 0x038f7309, 0x00ab1a94, 0x00b041a1, 0x0355a5b2, 0x03a324c1, 0x01704775, 0x00c3a99a, 0x0039eec1}}}, + {X: Field{[10]uint32{0x00f8016e, 0x03330120, 0x00d8ed00, 0x01d06d7e, 0x031df68f, 0x0095cac4, 0x01319d57, 0x01a87b6a, 0x03be29b0, 0x001ea92b}}, Y: Field{[10]uint32{0x03fe7130, 0x0252c5d4, 0x00d2dc9d, 0x00364df0, 0x02423fd0, 0x0080ae5c, 0x002e3c13, 0x02161dfc, 0x029fb77b, 0x00057de6}}}, + {X: Field{[10]uint32{0x0039f890, 0x03933163, 0x0168ba19, 0x03a455c7, 0x00c34354, 0x00b5b998, 0x03fee64f, 0x00c99575, 0x03f5876a, 0x0024517c}}, Y: Field{[10]uint32{0x0285d8ff, 0x03368a2c, 0x036c998e, 0x00755d9a, 0x0337650c, 0x0284235b, 0x009ba7fd, 0x027f416f, 0x015dcf36, 0x0011782a}}}, + {X: Field{[10]uint32{0x0111ac9e, 0x03dd03d1, 0x0131713d, 0x03224688, 0x00a5a7f6, 0x001dfcf7, 0x0337afa2, 0x0004347b, 0x035236fb, 0x0015142d}}, Y: Field{[10]uint32{0x026ba175, 0x03c0603f, 0x01ef08b6, 0x00e99c42, 0x0313ff56, 0x037b4b5e, 0x021084d3, 0x03e1b537, 0x015762be, 0x0029f1fb}}}, + {X: Field{[10]uint32{0x00666a0f, 0x00b3e230, 0x001b84c3, 0x01bf44d4, 0x01bbf276, 0x0105f41d, 0x00256d67, 0x0378b32e, 0x01725e48, 0x002e9b03}}, Y: Field{[10]uint32{0x0125e442, 0x0061bcf9, 0x006405ed, 0x012e46f3, 0x02bdecd6, 0x0296640c, 0x02da6693, 0x00a67d43, 0x01327137, 0x00334aa4}}}, + {X: Field{[10]uint32{0x0205c921, 0x036dece5, 0x00b0553a, 0x0276ab56, 0x01d25a64, 0x0263ef7d, 0x011006b7, 0x03aed1bf, 0x01ff1fee, 0x002e5208}}, Y: Field{[10]uint32{0x01077c05, 0x03162afe, 0x0365a72d, 0x02bbbb10, 0x01f45ccf, 0x015d2bf3, 0x003d950c, 0x024a8b1f, 0x03a079bb, 0x00085626}}}, + {X: Field{[10]uint32{0x01a0681d, 0x0221e7c3, 0x01f8198f, 0x037a4f58, 0x00432f14, 0x02a58f32, 0x00e0d7a5, 0x01f1dadc, 0x0046497f, 0x001190d9}}, Y: Field{[10]uint32{0x01c83a5f, 0x03982352, 0x012398a3, 0x0396cfb2, 0x0348c367, 0x03a89797, 0x01a8aab5, 0x03604043, 0x024e90c4, 0x000a4d12}}}, + {X: Field{[10]uint32{0x00c1ae1d, 0x02c2ce39, 0x00d0802b, 0x005d6ea8, 0x01bd3be9, 0x02f2c33c, 0x019185b7, 0x0042f925, 0x02c6a2e2, 0x002f6396}}, Y: Field{[10]uint32{0x01b1fa19, 0x03c22a8b, 0x000a94ed, 0x0069f0fb, 0x0269c6f7, 0x03b22229, 0x03773a5e, 0x025d5769, 0x03e46dcc, 0x001ace06}}}, + {X: Field{[10]uint32{0x01f22493, 0x03463fe6, 0x0231974c, 0x024ece50, 0x017fb645, 0x022b39db, 0x00c34055, 0x029e943d, 0x021ac428, 0x00309f07}}, Y: Field{[10]uint32{0x019cf57c, 0x013e4671, 0x004a4954, 0x03cf0178, 0x0025108a, 0x02a7d665, 0x031884cf, 0x01ece872, 0x0261c12f, 0x003f2575}}}, + {X: Field{[10]uint32{0x03eb30d5, 0x00ebc89d, 0x03c029e5, 0x00050103, 0x0044c17c, 0x0364119b, 0x028168ee, 0x01329549, 0x0161837e, 0x00285d95}}, Y: Field{[10]uint32{0x02c28eb5, 0x022d9b2d, 0x015aecfc, 0x01d743e8, 0x033032c7, 0x0039b8bd, 0x0255d0b3, 0x0222ff35, 0x01e2b8d4, 0x00228b7b}}}, + {X: Field{[10]uint32{0x01ddbea9, 0x03a63060, 0x02f93b03, 0x00de0c03, 0x00e9eea7, 0x01e2e8da, 0x029279f6, 0x0332461f, 0x030d35ca, 0x000afda4}}, Y: Field{[10]uint32{0x0225209d, 0x03e81a79, 0x00db46e2, 0x00c30d74, 0x02d0f3f9, 0x0232a385, 0x03ee5383, 0x022ec0ff, 0x01433aaa, 0x00228b53}}}, + {X: Field{[10]uint32{0x0077c8d7, 0x019a9c1a, 0x0056a6a0, 0x01680e96, 0x00a36d08, 0x019d5649, 0x03005f4d, 0x02bbf643, 0x03259cc5, 0x001d9a9d}}, Y: Field{[10]uint32{0x00049190, 0x03078cd2, 0x03dc4171, 0x0012fd02, 0x0090b46d, 0x03a4e3bc, 0x01bfad15, 0x038b9fc1, 0x00974fd9, 0x0036cfeb}}}, + {X: Field{[10]uint32{0x00461268, 0x024bfe46, 0x03242887, 0x038e6a44, 0x02134196, 0x025cca76, 0x00c333c0, 0x0087517f, 0x00cd953f, 0x00349698}}, Y: Field{[10]uint32{0x010c7863, 0x03c9339e, 0x0270f397, 0x026240d4, 0x00a07ad5, 0x008d4a60, 0x03874e71, 0x020d7f6e, 0x03e8bd04, 0x00226fca}}}, + {X: Field{[10]uint32{0x02d95d68, 0x03f90a72, 0x000b360d, 0x021a3286, 0x019bf569, 0x01997abf, 0x021f467b, 0x0096c99c, 0x029e8b71, 0x0031eca3}}, Y: Field{[10]uint32{0x0295c398, 0x030ea9e7, 0x02167b37, 0x00d1d91a, 0x009ec7bf, 0x02f291da, 0x03947ed8, 0x02d869c7, 0x0158b3a7, 0x0002b0a3}}}, + {X: Field{[10]uint32{0x0059bc24, 0x02cd375f, 0x03a97ce8, 0x01803c7d, 0x0120c291, 0x033f3a61, 0x022d7a74, 0x0230a6b6, 0x008ac61f, 0x0038a948}}, Y: Field{[10]uint32{0x01c70830, 0x0367d6cf, 0x00e4a880, 0x009dddff, 0x03a152ce, 0x03a438e0, 0x034483b4, 0x02281332, 0x02144970, 0x00037a2e}}}, + {X: Field{[10]uint32{0x02e205b1, 0x0112b7c4, 0x03ca53e8, 0x000620a1, 0x016976e0, 0x0150259f, 0x032b152a, 0x037e574e, 0x00cd02e8, 0x00387a39}}, Y: Field{[10]uint32{0x03bfc9e2, 0x03633bd0, 0x02491a77, 0x025fd51a, 0x020d34aa, 0x008cdc8f, 0x03f00918, 0x0151ef2c, 0x02f9cdc7, 0x002976f1}}}, + {X: Field{[10]uint32{0x012b6512, 0x0152fc27, 0x0375bea4, 0x02cee257, 0x023c3143, 0x03cec70a, 0x02284803, 0x013954ac, 0x02514a68, 0x002c83c2}}, Y: Field{[10]uint32{0x000d02c9, 0x0376a5ba, 0x02c31e0e, 0x02173513, 0x00f7c955, 0x0250681f, 0x000b0c31, 0x00345027, 0x0380676d, 0x002f0f6c}}}, + {X: Field{[10]uint32{0x0029d3ec, 0x029a5a83, 0x009499cf, 0x0326e5d2, 0x039582cb, 0x001eb25b, 0x00d9d8d4, 0x02fdde53, 0x0123b1ad, 0x002dc69a}}, Y: Field{[10]uint32{0x00b4f151, 0x03f38699, 0x03b1c89b, 0x03b9d9e7, 0x027b6d75, 0x00e31cb4, 0x03113c8d, 0x01563ee4, 0x03899d59, 0x001d4608}}}, + {X: Field{[10]uint32{0x03d3bb3f, 0x013571a9, 0x01a65200, 0x017c3677, 0x00a82f41, 0x01d595e2, 0x00ef76c0, 0x00e34633, 0x01ac68ba, 0x003291eb}}, Y: Field{[10]uint32{0x028701df, 0x02b41412, 0x0137842f, 0x0130e5a7, 0x02ccd845, 0x00597f56, 0x0035385e, 0x00ce0910, 0x00ab1b78, 0x0002f566}}}, + {X: Field{[10]uint32{0x0140e441, 0x03e6740b, 0x025eea45, 0x0313667d, 0x014fb989, 0x03757932, 0x034eeece, 0x03a7ba7e, 0x0148acee, 0x0017eb78}}, Y: Field{[10]uint32{0x033831f0, 0x00775335, 0x031cb5e6, 0x032ce50f, 0x0015afd1, 0x02374b00, 0x01104cac, 0x015606b1, 0x023ae82e, 0x002e9bf2}}}, + {X: Field{[10]uint32{0x025f84e9, 0x02b698ff, 0x0049e8ad, 0x014798ce, 0x02e834c8, 0x0073cc3e, 0x000ba01a, 0x033c0024, 0x01d214fc, 0x001d9f72}}, Y: Field{[10]uint32{0x00404639, 0x00c85799, 0x017d69ee, 0x03466b86, 0x0101a5bc, 0x03f5f2ff, 0x02b97a52, 0x003958b5, 0x0111aca3, 0x00231942}}}, + {X: Field{[10]uint32{0x024f06d9, 0x01c5e2df, 0x0286b91d, 0x035d1df9, 0x01523544, 0x030f01b6, 0x02a7648f, 0x00a88176, 0x0161445e, 0x0009fe3e}}, Y: Field{[10]uint32{0x02a73a60, 0x01f37f60, 0x00172042, 0x010886fa, 0x02379332, 0x02de7977, 0x0196bce6, 0x01efa5d5, 0x032782cd, 0x000e4442}}}, + {X: Field{[10]uint32{0x033de668, 0x000c594f, 0x035bc6a4, 0x02260e5c, 0x008a1b28, 0x01e77792, 0x024070bf, 0x01792eb6, 0x005b343b, 0x00237812}}, Y: Field{[10]uint32{0x02d5729d, 0x033eb883, 0x021431c2, 0x01ca0c0b, 0x0212fbba, 0x03164492, 0x011c1a44, 0x0383df5f, 0x03676f43, 0x00240c15}}}, + {X: Field{[10]uint32{0x012df0ff, 0x03973165, 0x01fe1b68, 0x0287bb25, 0x005b6af8, 0x039c030a, 0x038d3188, 0x03a2ba2a, 0x036c8770, 0x001790f6}}, Y: Field{[10]uint32{0x006c7aa6, 0x00a90e54, 0x01f90ae0, 0x00f4dc1d, 0x009aeebb, 0x0179671e, 0x02a10911, 0x02f3f8e8, 0x028dd85f, 0x001a2098}}}, + {X: Field{[10]uint32{0x01a4ed54, 0x0047d096, 0x037a0893, 0x00f3b7fa, 0x03610286, 0x00b7c508, 0x00af4e35, 0x00c0379f, 0x02ab4bf4, 0x001f6cae}}, Y: Field{[10]uint32{0x038e8a84, 0x0009bf85, 0x000cbd33, 0x01328f53, 0x01e553a8, 0x02164273, 0x03fbbcd6, 0x0112f8c0, 0x01a2fbbb, 0x000e1d58}}}, + {X: Field{[10]uint32{0x0196c6f1, 0x0134436e, 0x00bbefc0, 0x0332aee4, 0x00cdbefd, 0x00cb6cf9, 0x03df9e82, 0x01a21f47, 0x01253910, 0x0025b6a1}}, Y: Field{[10]uint32{0x03f9edcc, 0x00f4c026, 0x00509402, 0x024adff3, 0x0345948c, 0x0370cca1, 0x035d6513, 0x01cd067e, 0x02314912, 0x001949c6}}}, + {X: Field{[10]uint32{0x01d50613, 0x029e122b, 0x03b0081b, 0x003eb2e5, 0x0264cd4c, 0x00e2d217, 0x03a51fa8, 0x004a13d6, 0x01cb14eb, 0x00213bfc}}, Y: Field{[10]uint32{0x02febd9e, 0x01e314a9, 0x004fc7f5, 0x0044cbca, 0x03609f45, 0x033a0631, 0x01e602b6, 0x002a35ec, 0x01c8a654, 0x000249b2}}}, + {X: Field{[10]uint32{0x02adfbbe, 0x00665078, 0x017057fe, 0x02489756, 0x00416e6a, 0x02fe5280, 0x02e60007, 0x00a83fd7, 0x03718e2a, 0x0007ae58}}, Y: Field{[10]uint32{0x0005b855, 0x027da84c, 0x01bb009c, 0x008f3fc3, 0x02d3cf05, 0x00018e6a, 0x03d40115, 0x0377eb70, 0x02d89635, 0x00121c2a}}}, + {X: Field{[10]uint32{0x03bdc098, 0x01372e1d, 0x03fd8d45, 0x0287dda0, 0x03c75fd4, 0x02bc64f7, 0x01a8696b, 0x03cc1c6f, 0x036a6ea3, 0x000a6528}}, Y: Field{[10]uint32{0x03856766, 0x00b1312f, 0x02eb3fc8, 0x000c6dda, 0x009969bf, 0x025bf4fa, 0x006bd0be, 0x00f5335e, 0x00eea727, 0x0039197a}}}, + {X: Field{[10]uint32{0x0126c414, 0x01d63567, 0x03c00237, 0x032edfcb, 0x01d2b68f, 0x038b65f6, 0x01b115b5, 0x015e8b0a, 0x0370f3d3, 0x000979fe}}, Y: Field{[10]uint32{0x0356c4f2, 0x0099dcfc, 0x02631fed, 0x00c3beb2, 0x00206b73, 0x00ea1aae, 0x0130fa01, 0x02257afd, 0x0370a3bb, 0x00125668}}}, + {X: Field{[10]uint32{0x007c0623, 0x035624cd, 0x020ea0df, 0x01496221, 0x03c3945c, 0x0359af16, 0x030481a2, 0x01aef867, 0x039880bf, 0x003f0e1f}}, Y: Field{[10]uint32{0x009d67c4, 0x0198faed, 0x001ff16e, 0x01d03042, 0x027ba332, 0x00d1812a, 0x01d07af7, 0x03c0ca72, 0x000e83ca, 0x002275ee}}}, + {X: Field{[10]uint32{0x0201e1d4, 0x000ca53f, 0x03a99e2f, 0x02d00217, 0x00ef5c00, 0x03c5ddc8, 0x0220fa82, 0x0327f840, 0x0368c25f, 0x003142bc}}, Y: Field{[10]uint32{0x017579fb, 0x02532dae, 0x0131ba42, 0x003e5e32, 0x0327d9f1, 0x03a52bde, 0x012b80d9, 0x00c25024, 0x03264198, 0x0030ddde}}}, + {X: Field{[10]uint32{0x00041f94, 0x01d85f84, 0x01bea7c9, 0x0121553d, 0x00d7015c, 0x010697c8, 0x02003629, 0x0366ea8b, 0x0109d524, 0x00283e74}}, Y: Field{[10]uint32{0x010e9ad0, 0x00f18a9c, 0x019f1daf, 0x00e80e9a, 0x012eae92, 0x01915838, 0x0277ff2c, 0x0384200f, 0x0002daa5, 0x000a3147}}}, + {X: Field{[10]uint32{0x00316de1, 0x0218a8d2, 0x03a285da, 0x008f2f37, 0x032138bc, 0x0020012c, 0x03271389, 0x02dc2161, 0x02270058, 0x00107449}}, Y: Field{[10]uint32{0x001b9673, 0x037d3c1f, 0x02999d29, 0x029243ac, 0x00341d90, 0x03545764, 0x015f4513, 0x033b2572, 0x0029153b, 0x000189dc}}}, + {X: Field{[10]uint32{0x0299ca87, 0x003e159b, 0x0221cfb8, 0x02335875, 0x02577444, 0x00ceb6ce, 0x03afb77e, 0x03d50f64, 0x00cefe6c, 0x00251316}}, Y: Field{[10]uint32{0x004d66b5, 0x01cc5c0a, 0x03056e74, 0x022adf5e, 0x02329495, 0x01af2c88, 0x011c5576, 0x031c5f2a, 0x001c9b7f, 0x00301c7b}}}, + {X: Field{[10]uint32{0x02437145, 0x02afafef, 0x00635f2b, 0x01645ca4, 0x009a27be, 0x023baed6, 0x0029bf18, 0x01c73a70, 0x0312e06d, 0x000cc1ea}}, Y: Field{[10]uint32{0x0061d213, 0x01aa5272, 0x014c3c6b, 0x03425f61, 0x014a6966, 0x0227a602, 0x008dd9bf, 0x0242451d, 0x00b928cf, 0x0022270f}}}, + {X: Field{[10]uint32{0x01cb9ae6, 0x006dfcd1, 0x028acdee, 0x01c8b6da, 0x0272b745, 0x0090c1ed, 0x0203abd0, 0x00893932, 0x00111eb2, 0x0010aebc}}, Y: Field{[10]uint32{0x0212ee06, 0x0257ea8b, 0x00b11256, 0x0349cde7, 0x02879515, 0x02348b17, 0x0164bec3, 0x037a892d, 0x0128d608, 0x002fccb8}}}, + {X: Field{[10]uint32{0x0002c621, 0x01321531, 0x006bfe73, 0x03028af2, 0x01166c69, 0x0043445d, 0x03be8981, 0x012f4127, 0x02bbbe7b, 0x00215aea}}, Y: Field{[10]uint32{0x0112ac0c, 0x035d0612, 0x0321b943, 0x025e7b51, 0x011f8251, 0x0388a7a2, 0x0024161b, 0x007f4f35, 0x03c9b6d3, 0x000928c8}}}, + {X: Field{[10]uint32{0x024a9cd4, 0x01b60c34, 0x02c1c321, 0x03720172, 0x0195aeea, 0x03a0e0d3, 0x00c224ed, 0x0050f61d, 0x018ed998, 0x000e36f0}}, Y: Field{[10]uint32{0x027eae4a, 0x02247945, 0x00a03570, 0x03b9fe4d, 0x01271c6e, 0x0242ad71, 0x038e2eaa, 0x015de3a8, 0x0126f7e8, 0x0009cfb0}}}, + {X: Field{[10]uint32{0x0188dc59, 0x007ae052, 0x00d92c98, 0x019697d2, 0x015e24c0, 0x020dd2bc, 0x026bb20c, 0x008ca4c5, 0x005bffcd, 0x000d6772}}, Y: Field{[10]uint32{0x03bf39c6, 0x0058beaf, 0x0184ae58, 0x000fdded, 0x02c4a057, 0x010def7f, 0x0237d06e, 0x01622e40, 0x01f7deef, 0x0037977b}}}, + {X: Field{[10]uint32{0x023666ea, 0x028d6df1, 0x0283bb1c, 0x01d275fc, 0x031d872a, 0x0297cf69, 0x022f73a6, 0x007220f7, 0x0065e2e9, 0x003841a0}}, Y: Field{[10]uint32{0x03752cd9, 0x0347c05c, 0x00523c5e, 0x03eb2375, 0x01a7e155, 0x01da140d, 0x0128afaa, 0x0021461e, 0x0252b5df, 0x0020430e}}}, + {X: Field{[10]uint32{0x03b19d83, 0x02141b76, 0x033c70fd, 0x01b72f57, 0x00b56495, 0x03377f7f, 0x03171830, 0x032699b8, 0x037137e7, 0x00141d9f}}, Y: Field{[10]uint32{0x00d4fff8, 0x00e19928, 0x039fa5e3, 0x019d58f6, 0x02393b61, 0x03cb82b8, 0x03d24dd3, 0x017fb601, 0x015f5e9d, 0x003870b7}}}, + {X: Field{[10]uint32{0x02e65864, 0x02d66039, 0x00a725a0, 0x017fd4f6, 0x035e0127, 0x03f3a84d, 0x0216d0de, 0x020d57c4, 0x03f0cdf8, 0x001133b2}}, Y: Field{[10]uint32{0x011cd40e, 0x030eb5bd, 0x00d2e025, 0x008bc572, 0x02e8e3f0, 0x019ef18d, 0x0290550e, 0x03a6e7b8, 0x028e5094, 0x00011a55}}}, + {X: Field{[10]uint32{0x02aa18b3, 0x038d11e5, 0x005e886c, 0x024980b8, 0x0387ed8a, 0x02bf28ae, 0x02fe5976, 0x02c1fbe8, 0x00ea43cb, 0x00060c32}}, Y: Field{[10]uint32{0x031da49d, 0x0077610b, 0x01d658bf, 0x03ead511, 0x013c8ce2, 0x03e8c704, 0x03562037, 0x02bb9d9f, 0x0328e064, 0x0037d544}}}, + {X: Field{[10]uint32{0x019326c6, 0x0242a92f, 0x02b799bf, 0x03ab13e3, 0x00708245, 0x0107d3b9, 0x0033417a, 0x01eac947, 0x037a473a, 0x00163552}}, Y: Field{[10]uint32{0x009b2a85, 0x01168bb1, 0x027891ce, 0x024febd7, 0x02a16920, 0x02c72cb2, 0x00c331bf, 0x0381f329, 0x033815e2, 0x0028647c}}}, + {X: Field{[10]uint32{0x02c6792c, 0x024ad544, 0x01af7ba1, 0x01b913a0, 0x0170a18b, 0x00bf2618, 0x03af1044, 0x0204b980, 0x02049507, 0x003c3739}}, Y: Field{[10]uint32{0x03b966e4, 0x029ec26e, 0x015ce3ad, 0x02d31536, 0x004cc60e, 0x033c3d58, 0x0248df55, 0x01bb588f, 0x0221b5e8, 0x00308868}}}, + {X: Field{[10]uint32{0x01dd2ab5, 0x02e94156, 0x013d40d7, 0x033eb94a, 0x02e4b958, 0x0112c9ab, 0x02aaa046, 0x00c0aca1, 0x01e572c0, 0x0010bec2}}, Y: Field{[10]uint32{0x01f2299f, 0x0206f546, 0x00099437, 0x02a09d25, 0x03f46e1b, 0x020f9f45, 0x007ec769, 0x01a223ef, 0x0173a00e, 0x001e7041}}}, + {X: Field{[10]uint32{0x03502ecb, 0x034104bc, 0x005deea2, 0x02f222c0, 0x00935465, 0x0036b443, 0x028db25e, 0x00326a18, 0x0151ddae, 0x001eb7c5}}, Y: Field{[10]uint32{0x01acfd20, 0x01621bca, 0x01a9bb3c, 0x019e7651, 0x012e031e, 0x02744428, 0x01ef5c36, 0x03aa4832, 0x03a2143c, 0x00195f02}}}, + {X: Field{[10]uint32{0x002c7a5a, 0x03f6470a, 0x013454df, 0x0324a049, 0x013a7bfd, 0x03f0bd6f, 0x0271310a, 0x03da9b58, 0x00b956fd, 0x00375692}}, Y: Field{[10]uint32{0x00a52657, 0x03df305f, 0x021e385d, 0x03364685, 0x002ac6b0, 0x02564119, 0x03521072, 0x01fcdbea, 0x00372e06, 0x001ce434}}}, + {X: Field{[10]uint32{0x021466fe, 0x01b0b622, 0x0301d293, 0x00ec74d8, 0x0013ac76, 0x00134b38, 0x01c783b1, 0x011652f8, 0x00b51537, 0x0018c614}}, Y: Field{[10]uint32{0x0190882e, 0x03cc8a31, 0x03a8578b, 0x000addfb, 0x022016d2, 0x015ca6b3, 0x0241416c, 0x01f912a4, 0x021ea9b6, 0x00092433}}}, + {X: Field{[10]uint32{0x03a0bca5, 0x02c381bc, 0x028e0741, 0x01a6f71a, 0x00244668, 0x00e8f331, 0x0185cd58, 0x0088a6bb, 0x01e4d673, 0x000ccb8e}}, Y: Field{[10]uint32{0x017578e7, 0x01135217, 0x025aa602, 0x0037d351, 0x00b66ac3, 0x01d2b597, 0x018b1b40, 0x014ab829, 0x030360db, 0x00242103}}}, + {X: Field{[10]uint32{0x022f0c97, 0x0144e90d, 0x00980de7, 0x02ca479c, 0x01d72c0e, 0x00994cbc, 0x027224e8, 0x03870595, 0x0156f0c7, 0x00378065}}, Y: Field{[10]uint32{0x00411ea3, 0x002bb61a, 0x03e479af, 0x02f5925d, 0x01d75fa5, 0x018e094a, 0x022227a6, 0x02210105, 0x039d1cc9, 0x000e68f5}}}, + {X: Field{[10]uint32{0x00ed859f, 0x0128b2c9, 0x002a6809, 0x01b28fe4, 0x024f81b7, 0x006e0b91, 0x02ffbf26, 0x036a0031, 0x00c8e675, 0x00131130}}, Y: Field{[10]uint32{0x0245ac34, 0x00ad64c3, 0x0224663b, 0x025c68e8, 0x00c54978, 0x010eae2b, 0x03f28002, 0x01177b63, 0x02881ecc, 0x0016787b}}}, + {X: Field{[10]uint32{0x009286a2, 0x00d953cc, 0x03d28279, 0x02f844f9, 0x02a4e0dc, 0x017773b1, 0x01f4d1a8, 0x03867970, 0x01b80481, 0x003980ce}}, Y: Field{[10]uint32{0x009d9d59, 0x0229c1a9, 0x0372d1b0, 0x03e51cdf, 0x00bc58e3, 0x034a96a6, 0x01c7998e, 0x02507ed4, 0x02cca607, 0x002687ba}}}, + {X: Field{[10]uint32{0x00a25e66, 0x0340b0f6, 0x01be0d44, 0x015714a1, 0x010c6ad9, 0x0023ffb1, 0x00bc4727, 0x024bce7d, 0x02e30e72, 0x00043d0b}}, Y: Field{[10]uint32{0x00916a25, 0x02a5d73b, 0x01106034, 0x0037c069, 0x00183e13, 0x0259f3c5, 0x01d5f2bc, 0x038a3f6e, 0x01f053eb, 0x0001bcd9}}}, + {X: Field{[10]uint32{0x0329c445, 0x014f6199, 0x01548b6d, 0x02b964ea, 0x03703af3, 0x031635d2, 0x02fb0f31, 0x019a1df4, 0x01cad128, 0x001f824c}}, Y: Field{[10]uint32{0x036b0b0b, 0x00485d07, 0x03ffbf5a, 0x03e489dc, 0x00a9c34a, 0x0015bd32, 0x03caf7e8, 0x02d07598, 0x01fc75ea, 0x0001792e}}}, + {X: Field{[10]uint32{0x03963f22, 0x00450d55, 0x00f1c6a0, 0x03036c9e, 0x01b7f1ac, 0x020d8bdf, 0x014cd1a7, 0x00f1b3fc, 0x037ef961, 0x000d8c4f}}, Y: Field{[10]uint32{0x03d7edc2, 0x006ead10, 0x03a69864, 0x0246e998, 0x0033960a, 0x01250817, 0x006627f5, 0x0108c52b, 0x02ab02a9, 0x00079a51}}}, + {X: Field{[10]uint32{0x0069fe01, 0x03b15d0a, 0x033bb55c, 0x0164bf23, 0x0283f9ba, 0x03aa8ba7, 0x0218a63c, 0x030996cb, 0x02d88eed, 0x00088fbb}}, Y: Field{[10]uint32{0x01bbd71c, 0x00842570, 0x025ffeff, 0x02e35a1f, 0x005593f7, 0x00b5cb44, 0x0232cc89, 0x026ff3cd, 0x01734ae2, 0x001c8488}}}, + {X: Field{[10]uint32{0x00b3ec20, 0x01e9698a, 0x035fc31b, 0x02f3e6a6, 0x0160dbb2, 0x021e5684, 0x03b9b321, 0x00b1780f, 0x02c93330, 0x002daf57}}, Y: Field{[10]uint32{0x019dd495, 0x0074b672, 0x0242cd0f, 0x03ce6d0a, 0x0034f373, 0x00ed22eb, 0x01f051d6, 0x0397fac5, 0x03f298a8, 0x003ee7e1}}}, + {X: Field{[10]uint32{0x00e24668, 0x02a2c053, 0x012c98f0, 0x02fcee3e, 0x025a802d, 0x023f55eb, 0x03f69ce0, 0x0093ec55, 0x03603b1c, 0x0028d969}}, Y: Field{[10]uint32{0x000a89f9, 0x02fb0fd7, 0x037606f2, 0x02d06c34, 0x02578005, 0x02606039, 0x0238cc72, 0x02af680a, 0x022b7746, 0x001cf990}}}, + {X: Field{[10]uint32{0x03cebe6e, 0x017287b5, 0x0213aa23, 0x007b4de7, 0x03e24bac, 0x03511a81, 0x02dba309, 0x00dbdbd2, 0x03ac43e4, 0x003a1be3}}, Y: Field{[10]uint32{0x00a166af, 0x00f5b6fd, 0x01cd4a91, 0x0009df30, 0x00930b74, 0x00a8044d, 0x03a592c4, 0x02a6f5c4, 0x00efaa75, 0x00079eed}}}, + {X: Field{[10]uint32{0x039bd5ac, 0x00fa1a3a, 0x015cc993, 0x038ba162, 0x0205cab3, 0x03f78768, 0x0109304c, 0x0155c76b, 0x01fad2b2, 0x003d695f}}, Y: Field{[10]uint32{0x037c1ff6, 0x02317a61, 0x029b0c76, 0x001afb2e, 0x008eb909, 0x02265e89, 0x018dad26, 0x00390754, 0x025e8fc9, 0x00349977}}}, + {X: Field{[10]uint32{0x01f76c7b, 0x011651dd, 0x010f145c, 0x01f28afc, 0x01665660, 0x009192a7, 0x02fd8cab, 0x024dd1f9, 0x017a0725, 0x00387734}}, Y: Field{[10]uint32{0x02f9a20e, 0x03799012, 0x0278a130, 0x0339ae55, 0x00dff819, 0x008caf51, 0x009feb61, 0x021b4992, 0x0310023f, 0x003be8b0}}}, + {X: Field{[10]uint32{0x03a801ff, 0x00e1b373, 0x00c3bafd, 0x03f73290, 0x03cb3774, 0x00176a6a, 0x0274b80a, 0x025ab46f, 0x03dd0849, 0x0020fe2a}}, Y: Field{[10]uint32{0x03c3f63d, 0x01f18e92, 0x002873d3, 0x00ddaa89, 0x001c85ff, 0x019a1a36, 0x02e792d9, 0x02c4395b, 0x0164329f, 0x00099faf}}}, + {X: Field{[10]uint32{0x03259fae, 0x02e952d3, 0x02454ea9, 0x006bcd3f, 0x03ca324b, 0x01445216, 0x0087c716, 0x016a409d, 0x01796ca8, 0x00153327}}, Y: Field{[10]uint32{0x02b2da2a, 0x007682fe, 0x020f2e20, 0x030545f3, 0x023c6ce8, 0x03adba0e, 0x0016e9ed, 0x021875f4, 0x0071ef0b, 0x000630e4}}}, + {X: Field{[10]uint32{0x01402ba4, 0x0070864c, 0x02a51635, 0x02b25039, 0x001c3f65, 0x0047e1d1, 0x0075ac1b, 0x0059538a, 0x012ae009, 0x002744a9}}, Y: Field{[10]uint32{0x00e81d2e, 0x038bc04e, 0x02e52bbe, 0x00b754fd, 0x03c6d7e4, 0x03d7eb58, 0x00d17f39, 0x0066bd06, 0x03342762, 0x0017feec}}}, + {X: Field{[10]uint32{0x02496998, 0x00ed9979, 0x038244f2, 0x03c2dfbc, 0x00488007, 0x03c86ba9, 0x0030917f, 0x006a4734, 0x01b76682, 0x001966ff}}, Y: Field{[10]uint32{0x014784e0, 0x0139f289, 0x039db844, 0x023af087, 0x03d7321a, 0x022f091f, 0x01ef96b7, 0x03a168d0, 0x00bc4506, 0x000ab5c2}}}, + {X: Field{[10]uint32{0x02b4670b, 0x004a5b97, 0x02413d60, 0x013d5cc4, 0x0276ba1b, 0x0055269a, 0x026a2538, 0x020dd121, 0x0233d4a0, 0x0038b313}}, Y: Field{[10]uint32{0x00672476, 0x00502269, 0x00e18797, 0x002e8eca, 0x0080497f, 0x01930dc6, 0x039780ea, 0x01fcd1ed, 0x0325347e, 0x0014a2ca}}}, + {X: Field{[10]uint32{0x02edec68, 0x023840f9, 0x00131e24, 0x03133f2b, 0x01e8dbba, 0x02941580, 0x02164c0f, 0x030db26c, 0x039c9e21, 0x0014a702}}, Y: Field{[10]uint32{0x027125f4, 0x01c04a55, 0x037e4967, 0x017c272e, 0x026cb74f, 0x034b80e1, 0x0269e6ab, 0x032804cd, 0x002172a0, 0x001fe912}}}, + {X: Field{[10]uint32{0x003b63a1, 0x034d54da, 0x01dda654, 0x01efacbc, 0x033d89e5, 0x0203ed96, 0x00d6532a, 0x01f47055, 0x03afbe6a, 0x000a275a}}, Y: Field{[10]uint32{0x01005400, 0x024c5a1f, 0x03b53388, 0x03c30f36, 0x03db149f, 0x01499e1d, 0x022c62c5, 0x02358583, 0x0063d3ce, 0x002007d2}}}, + {X: Field{[10]uint32{0x010f14a1, 0x00bb3c1e, 0x0099e51f, 0x01616346, 0x022eab9b, 0x0096ad0c, 0x0005bb34, 0x019981f0, 0x00c9e3b3, 0x00345aa1}}, Y: Field{[10]uint32{0x0156dd07, 0x02d46614, 0x0231379b, 0x033c672c, 0x0146ec79, 0x02b5b83c, 0x03fc5ea4, 0x014ca3e7, 0x01ab1071, 0x000b1bd7}}}, + {X: Field{[10]uint32{0x036348f1, 0x01c0ec5a, 0x01affd30, 0x03cfb2f8, 0x02a7062d, 0x010436ac, 0x00a6893e, 0x02fefd10, 0x00394fda, 0x00340f2b}}, Y: Field{[10]uint32{0x009d19f9, 0x006e8d11, 0x0040ae5d, 0x01b4e390, 0x035dc4a8, 0x037a56c6, 0x0185c087, 0x02cc5dc3, 0x03cef530, 0x000548c4}}}, + {X: Field{[10]uint32{0x0063379b, 0x0081ed6a, 0x03101c89, 0x0012f125, 0x00d4c4b6, 0x03e5a616, 0x00a7d851, 0x0312a5df, 0x006ca673, 0x002d9acf}}, Y: Field{[10]uint32{0x01624da4, 0x01c2c18c, 0x005609a4, 0x03fc61fc, 0x004b00fa, 0x0055a587, 0x02c63cb7, 0x01aab120, 0x0163771c, 0x00152e89}}}, + {X: Field{[10]uint32{0x018c8c45, 0x039145aa, 0x01e86236, 0x01a01e71, 0x002a43fb, 0x039f5cc2, 0x013127f4, 0x01f35f7f, 0x024411c4, 0x002f9a11}}, Y: Field{[10]uint32{0x026733da, 0x03eba160, 0x01f19a15, 0x030bf7ba, 0x017d78dd, 0x0273143a, 0x0395aaeb, 0x00da30b8, 0x0383c61d, 0x001e4a43}}}, + {X: Field{[10]uint32{0x03cbde9b, 0x00afedeb, 0x00e0c5c6, 0x007e4748, 0x0004ca42, 0x03b8061e, 0x021de709, 0x03d18d35, 0x03a09f34, 0x0011e2b0}}, Y: Field{[10]uint32{0x030988bf, 0x00dd955e, 0x01c34f6e, 0x012fddfb, 0x02e4bc7d, 0x015d2d7d, 0x027526f5, 0x0042586b, 0x03b2ccbc, 0x003dd4bc}}}, + {X: Field{[10]uint32{0x033dcfc8, 0x01905e63, 0x00796e70, 0x028301df, 0x037271a2, 0x026f5284, 0x00d7de9c, 0x01c6a675, 0x015af2ed, 0x001d17cd}}, Y: Field{[10]uint32{0x02e288b9, 0x010818e1, 0x01f6e672, 0x00998c31, 0x02d4fe88, 0x00c78664, 0x0105816c, 0x021fc27b, 0x01f46b0c, 0x00063a98}}}, + {X: Field{[10]uint32{0x02760ce0, 0x02d483a1, 0x014b218d, 0x0238e2ae, 0x00a3157a, 0x00a1909f, 0x01aede59, 0x02a2c242, 0x016f9878, 0x001539ef}}, Y: Field{[10]uint32{0x01fb8e49, 0x03493cc3, 0x03f2ddc1, 0x0294d034, 0x00e04bdb, 0x01d7702d, 0x033c6386, 0x02d12347, 0x000dc1ea, 0x0035edf6}}}, + {X: Field{[10]uint32{0x007d510e, 0x012807e8, 0x0120827e, 0x02b8f725, 0x0399b018, 0x0331bfaf, 0x006f5c7f, 0x010c7bcf, 0x03b655eb, 0x003fd5ab}}, Y: Field{[10]uint32{0x0191e371, 0x03a6d109, 0x03509655, 0x00403a89, 0x02ec7232, 0x01268a35, 0x00388b40, 0x02c71e7d, 0x01b842d7, 0x0026feaf}}}, + {X: Field{[10]uint32{0x029cda72, 0x00e7487f, 0x02be382d, 0x01057fcf, 0x00ea511b, 0x0363a9e4, 0x01d02506, 0x023f219e, 0x0099ed29, 0x0030af30}}, Y: Field{[10]uint32{0x030f971f, 0x03b2d614, 0x03070aa1, 0x03c163be, 0x00825de4, 0x00bf4e31, 0x02c31a58, 0x03ddcd6d, 0x02c435ec, 0x001b1efc}}}, + {X: Field{[10]uint32{0x00e2ec4e, 0x020061c2, 0x000f599a, 0x00da242e, 0x02c8549e, 0x0271a07f, 0x014b9a11, 0x00cc79b1, 0x01449811, 0x0008e0fc}}, Y: Field{[10]uint32{0x0133a1f9, 0x0182838d, 0x01cb1448, 0x00fa774d, 0x00d8fff0, 0x00111c3c, 0x00a999a7, 0x02dad64e, 0x011fd846, 0x0004ead0}}}, + {X: Field{[10]uint32{0x02096048, 0x01afc31b, 0x016b817d, 0x01ca2778, 0x0209953f, 0x0293d499, 0x0244584b, 0x00762fe2, 0x01c0d4fa, 0x000bc89c}}, Y: Field{[10]uint32{0x03b42fc4, 0x0182d80b, 0x00ab57cd, 0x00f69bc5, 0x03a95717, 0x00fbd54f, 0x0332c226, 0x0143a2db, 0x005db40e, 0x00191bbc}}}, + {X: Field{[10]uint32{0x01e951c7, 0x007c9a89, 0x01d089bf, 0x03682b69, 0x03809e7a, 0x02c047ba, 0x01be55cb, 0x01e89fbb, 0x031b0f06, 0x002ded26}}, Y: Field{[10]uint32{0x037c33ed, 0x037b8b1f, 0x033315b2, 0x00811641, 0x014a9b7f, 0x01f2c0ca, 0x02ec95c0, 0x001496b5, 0x00aca816, 0x003fb1d8}}}, + {X: Field{[10]uint32{0x01409223, 0x0206a979, 0x03557941, 0x032e7c2b, 0x027765d4, 0x00b6be07, 0x01866eb1, 0x00f9725c, 0x01cad993, 0x000db238}}, Y: Field{[10]uint32{0x008b8fdf, 0x0064cab7, 0x00853e29, 0x017d4926, 0x0122f2e3, 0x0045baa5, 0x01cc7309, 0x008a0b5c, 0x02d0a025, 0x002257ad}}}, + {X: Field{[10]uint32{0x001ed523, 0x01ef78ef, 0x00d6a6ee, 0x00455a13, 0x00fa5b8a, 0x0330ac38, 0x0173e018, 0x00d6484c, 0x01276328, 0x000f2fa4}}, Y: Field{[10]uint32{0x0244dc81, 0x03cc33f3, 0x03055e4d, 0x02cf4264, 0x01c5149a, 0x01d7c785, 0x030aa9dc, 0x01b26e65, 0x01c922f9, 0x001ecb4f}}}, + {X: Field{[10]uint32{0x0247213c, 0x01fa5ed8, 0x02d164e6, 0x02640c53, 0x02fe0aec, 0x022c8e79, 0x0048d380, 0x0250648d, 0x0141c463, 0x001dba53}}, Y: Field{[10]uint32{0x01fa1278, 0x03061ac8, 0x03cb5a3b, 0x0392fca0, 0x03f9efe4, 0x01d7e8e3, 0x03460bfd, 0x001d2440, 0x02c32f01, 0x0023b929}}}, + {X: Field{[10]uint32{0x031851ec, 0x03cd0cd2, 0x00c08506, 0x009e3bb0, 0x025b265d, 0x01ffa76e, 0x01749e00, 0x039f9e85, 0x01cb12c0, 0x00124e49}}, Y: Field{[10]uint32{0x0062b193, 0x02c5af13, 0x01a9a1f5, 0x003b6067, 0x02e4a240, 0x03dcc299, 0x02b318f9, 0x029195b2, 0x006b3960, 0x001c2403}}}, + {X: Field{[10]uint32{0x003cdcbf, 0x01cebb71, 0x026b7511, 0x01aaa7d7, 0x00387330, 0x01208f4e, 0x0020eb4a, 0x00e4f5e6, 0x02bad1a1, 0x002cdff6}}, Y: Field{[10]uint32{0x0327030a, 0x03b18203, 0x0252f28f, 0x03ca78d5, 0x03dfd325, 0x00c29d69, 0x00df67be, 0x0344e788, 0x00de57fa, 0x002141bc}}}, + {X: Field{[10]uint32{0x00a5e8c1, 0x027d296c, 0x007033c2, 0x008c271b, 0x008f2b70, 0x027e41c9, 0x030c90e0, 0x017124ca, 0x020c48e9, 0x00111465}}, Y: Field{[10]uint32{0x00d7490c, 0x006da1f5, 0x024de53b, 0x013efbd4, 0x0228bc40, 0x01dd9a93, 0x01c9e1a4, 0x027d9a58, 0x0218d9ce, 0x0020d54e}}}, + {X: Field{[10]uint32{0x03ea3449, 0x018ee037, 0x00704caf, 0x006f21a7, 0x00785772, 0x00fe61c6, 0x00ab20eb, 0x01a6e603, 0x01a8697c, 0x0026c2b0}}, Y: Field{[10]uint32{0x027e60e9, 0x0159877e, 0x0045d65b, 0x008c1cba, 0x0361b617, 0x00a02614, 0x0232a582, 0x02fcfdc7, 0x0053bf1b, 0x00084393}}}, + {X: Field{[10]uint32{0x001e0851, 0x01a12d1e, 0x01cebe92, 0x03e9f6f4, 0x0132eca4, 0x03003731, 0x02d62de1, 0x013df848, 0x0355ccae, 0x00399a5c}}, Y: Field{[10]uint32{0x01bdc3cb, 0x02e88dba, 0x01da1736, 0x024509ef, 0x029d3ded, 0x02201aa0, 0x00353f71, 0x03bcf251, 0x00ffdbe5, 0x0007c48b}}}, + {X: Field{[10]uint32{0x0167201e, 0x027c983c, 0x03f2afe3, 0x01387311, 0x03ad480a, 0x00a22eb1, 0x0326f861, 0x02932807, 0x00f11a1a, 0x003fea24}}, Y: Field{[10]uint32{0x01439cb4, 0x011272a1, 0x02b5d69d, 0x03682c06, 0x00ac569c, 0x01f43ba3, 0x03c41497, 0x03f0f51c, 0x03c41716, 0x0005a237}}}, + {X: Field{[10]uint32{0x00b6bf47, 0x02c6d3d5, 0x02c14cd3, 0x015e51b1, 0x00c41fcc, 0x03012813, 0x02b09b15, 0x00e33d8f, 0x00f26ce2, 0x00242235}}, Y: Field{[10]uint32{0x00d2c2b9, 0x00997579, 0x02909bfe, 0x0204adc3, 0x032ae4ec, 0x00f4d676, 0x01c9943b, 0x000138f5, 0x0017bc61, 0x00278e01}}}, + {X: Field{[10]uint32{0x01576a91, 0x0023ff36, 0x0070767c, 0x0288b00d, 0x0299949c, 0x00ca5af0, 0x03f7e5fe, 0x018383f9, 0x01dac1e7, 0x0028ce57}}, Y: Field{[10]uint32{0x012393d3, 0x025039d1, 0x038706ee, 0x00337800, 0x02314185, 0x00f7f3ee, 0x03070162, 0x01b45c5b, 0x039a5403, 0x0013e2a1}}}, + {X: Field{[10]uint32{0x038ad651, 0x0219e2ca, 0x00ecbd20, 0x0035d4cc, 0x011a7730, 0x007da1aa, 0x00ef2345, 0x03078163, 0x016454aa, 0x00047953}}, Y: Field{[10]uint32{0x01c020f2, 0x022ce5b2, 0x026796e0, 0x01164234, 0x01aaa53f, 0x0154a893, 0x0121dfef, 0x0067e715, 0x01605a84, 0x001d26ca}}}, + {X: Field{[10]uint32{0x00327f30, 0x02023f19, 0x0174675e, 0x036a3932, 0x0198f5f0, 0x031c074a, 0x02d5a707, 0x03a08aad, 0x00df7b41, 0x00323c4f}}, Y: Field{[10]uint32{0x03199404, 0x01a251f0, 0x0194d441, 0x02b75827, 0x00445d7a, 0x007cd3d8, 0x00329d6a, 0x0270737b, 0x01df17c0, 0x0012269a}}}, + {X: Field{[10]uint32{0x02d84442, 0x00f3dba4, 0x0250cd46, 0x02522897, 0x029487f3, 0x0386a770, 0x00c628c3, 0x0120e2a5, 0x02dccf67, 0x00245d79}}, Y: Field{[10]uint32{0x03de1c22, 0x002061a3, 0x007298cb, 0x00ec6e0f, 0x03c13e19, 0x01e329e9, 0x0237e510, 0x01c49547, 0x013fed37, 0x0021c15c}}}, + {X: Field{[10]uint32{0x0220099b, 0x018efd0d, 0x0209d228, 0x03b36c5e, 0x005df8b9, 0x014eb028, 0x038f6b89, 0x03c3a7b9, 0x012fb6d5, 0x0023bb52}}, Y: Field{[10]uint32{0x020ff1bf, 0x03a22747, 0x039d99ec, 0x03f41036, 0x0082e1ac, 0x0090e7b2, 0x00f8b946, 0x00ba6367, 0x03421767, 0x0008e915}}}, + {X: Field{[10]uint32{0x015c2dd9, 0x03e8d9c3, 0x03756beb, 0x02f1946d, 0x035cde90, 0x00417d75, 0x0393f543, 0x001bbde5, 0x0223dbac, 0x0032e573}}, Y: Field{[10]uint32{0x024a9a48, 0x022f9785, 0x02a4fc61, 0x01d3dfb3, 0x0057d22d, 0x01c777ad, 0x035ed992, 0x02c301ce, 0x02bac023, 0x002584a9}}}, + {X: Field{[10]uint32{0x03a3c980, 0x02b24199, 0x007c915d, 0x024e7391, 0x01d8fdd4, 0x02d69de4, 0x02a8ebf8, 0x03fcdf50, 0x00c8bbd3, 0x00199c86}}, Y: Field{[10]uint32{0x00ec26c0, 0x02020f23, 0x00f2ace9, 0x039c19d4, 0x00452a21, 0x00156d55, 0x0344aab1, 0x02bf751a, 0x01799e19, 0x00375004}}}, + {X: Field{[10]uint32{0x02f76e5f, 0x0166be0c, 0x0385219b, 0x02d683b4, 0x000c7627, 0x0310a5a6, 0x013e855d, 0x01214739, 0x01c60ded, 0x002211e6}}, Y: Field{[10]uint32{0x021c4a6b, 0x036998b0, 0x005ac3af, 0x01dff33c, 0x0022e343, 0x014b379e, 0x00d2d371, 0x010231e7, 0x01ed84e6, 0x0008e35d}}}, + {X: Field{[10]uint32{0x0111d143, 0x03bbab5a, 0x0396a256, 0x0240e9af, 0x022cc8bb, 0x0093a9b4, 0x03a05bae, 0x0020b165, 0x036b5fc0, 0x0023663c}}, Y: Field{[10]uint32{0x00ab3cd3, 0x035ece38, 0x01516f2a, 0x00c6c770, 0x03de7df9, 0x0005a05d, 0x01b2fcf8, 0x00a9b541, 0x011afc90, 0x0009ba2b}}}, + {X: Field{[10]uint32{0x03d70ad2, 0x00fd2e0f, 0x001ae740, 0x0223219d, 0x03d1db23, 0x034bbec7, 0x032cbc28, 0x031b4c9f, 0x02cac0dd, 0x002ea418}}, Y: Field{[10]uint32{0x028b38c2, 0x012ec299, 0x019f78f2, 0x03f5edcf, 0x01674539, 0x00e05115, 0x0171ccd5, 0x039d5367, 0x035b3036, 0x0011cecc}}}, + {X: Field{[10]uint32{0x02cdca29, 0x007700c2, 0x008f01ff, 0x014c478a, 0x017453ca, 0x01588414, 0x029be675, 0x039825e9, 0x02d73bf0, 0x00128b4d}}, Y: Field{[10]uint32{0x02ca8f83, 0x0290e1ac, 0x001d8595, 0x0205236c, 0x029d694a, 0x00a63d7e, 0x0283ac6c, 0x00c73513, 0x01e7a903, 0x0003fda4}}}, + {X: Field{[10]uint32{0x0337d0c4, 0x018b8773, 0x01c4fcd3, 0x00db8015, 0x006b3651, 0x00b0c972, 0x00fb0d93, 0x012c5ad9, 0x028fd99c, 0x003a1a3c}}, Y: Field{[10]uint32{0x00d4a9eb, 0x00ab7b13, 0x00bca274, 0x0044df65, 0x0240e5fa, 0x02224426, 0x00e0440e, 0x0040d23a, 0x02c18340, 0x002b4cd1}}}, + {X: Field{[10]uint32{0x03abbf3b, 0x028d464a, 0x03eea99d, 0x025b6903, 0x03ea77e6, 0x0088e60c, 0x0177e566, 0x01b2944b, 0x0289830a, 0x001b17a1}}, Y: Field{[10]uint32{0x01779540, 0x03a5196b, 0x017c12be, 0x00351a96, 0x0356b983, 0x01d4d91f, 0x01c333dd, 0x002d81ef, 0x01f15fd0, 0x0030a781}}}, + {X: Field{[10]uint32{0x00046344, 0x0096fb07, 0x02210e1a, 0x0318942b, 0x01c317ad, 0x02e756a4, 0x0391cc86, 0x00b7feba, 0x02a56ebf, 0x002ce85c}}, Y: Field{[10]uint32{0x034ac3d5, 0x017ebe0e, 0x01d119fc, 0x030379e9, 0x02f06401, 0x026930be, 0x031fff90, 0x0035b6f4, 0x01799ae4, 0x000a3db7}}}, + {X: Field{[10]uint32{0x000d8f47, 0x02a53884, 0x02b80091, 0x03b1c68e, 0x00ac4a22, 0x0251a2a3, 0x00aed673, 0x035de694, 0x01d2e2f9, 0x000663c1}}, Y: Field{[10]uint32{0x03cd0414, 0x0226782d, 0x002b3cbf, 0x01a0d830, 0x03397089, 0x00ff2c88, 0x02e3baaf, 0x00c5cf2b, 0x003fc981, 0x00331a86}}}, + {X: Field{[10]uint32{0x0077f48e, 0x03d42aac, 0x039d89f0, 0x036de7f0, 0x0341ae77, 0x02142c1e, 0x007703ae, 0x029e452f, 0x038fa943, 0x001e2c85}}, Y: Field{[10]uint32{0x025274e7, 0x0272c558, 0x02beb11b, 0x03b30a7a, 0x01d78fce, 0x006006f8, 0x0389004e, 0x02c24a2e, 0x0234f2cb, 0x00217f4f}}}, + {X: Field{[10]uint32{0x01943f3e, 0x010fee36, 0x02dcccec, 0x03e757dc, 0x0023828e, 0x01c38a29, 0x017a7951, 0x0145d7e6, 0x03001d4c, 0x001bdc37}}, Y: Field{[10]uint32{0x028315ce, 0x007bb733, 0x03ee5f0f, 0x030aa37e, 0x02956a66, 0x01cc38a9, 0x039c34be, 0x020f9165, 0x0213b771, 0x00098c54}}}, + {X: Field{[10]uint32{0x01a9dccc, 0x030d676d, 0x03bd09cf, 0x00b47343, 0x02e3964b, 0x0116d649, 0x01509e3b, 0x01b4a741, 0x01443c94, 0x002ae04c}}, Y: Field{[10]uint32{0x00f5c5ac, 0x00db2a41, 0x01062063, 0x002cfd41, 0x0216b771, 0x031b184c, 0x005e5876, 0x01cebe83, 0x03150c12, 0x002baf7c}}}, + {X: Field{[10]uint32{0x01473ad3, 0x03a20f81, 0x021a20a3, 0x027ae8cc, 0x016b9456, 0x01f979bb, 0x0323e627, 0x00449c8d, 0x0391dd75, 0x0039cacd}}, Y: Field{[10]uint32{0x0328a3d8, 0x03d320a6, 0x0319fd4d, 0x02b220c2, 0x039c2091, 0x038e8a11, 0x03109ab5, 0x02aa83f4, 0x00742dbc, 0x0004c6cc}}}, + {X: Field{[10]uint32{0x023ded63, 0x00a10cb3, 0x00c74619, 0x01f15ad4, 0x02bb525d, 0x033141f6, 0x03df77af, 0x017940e3, 0x0296ecdd, 0x0032968c}}, Y: Field{[10]uint32{0x03c4ab9e, 0x0197f1bf, 0x0254b3f8, 0x0274af73, 0x005a1420, 0x00acd96f, 0x027258e4, 0x01deea40, 0x0394b7e1, 0x0022f6d9}}}, + {X: Field{[10]uint32{0x031a9222, 0x0069c038, 0x01819c88, 0x00569c9a, 0x02e7d2e8, 0x0300ec80, 0x01be59dc, 0x0233ff3b, 0x029f26ae, 0x003aa8ef}}, Y: Field{[10]uint32{0x0124ec1c, 0x03917065, 0x02acc735, 0x0059f35f, 0x0336ac28, 0x0077cb4e, 0x02f80265, 0x034d3183, 0x00d7a367, 0x0006d68b}}}, + {X: Field{[10]uint32{0x00e97728, 0x02c0f7ba, 0x02206582, 0x0399d21c, 0x0035a011, 0x019e4555, 0x022076d5, 0x03fdab85, 0x002d3ab4, 0x003aeea2}}, Y: Field{[10]uint32{0x01be16ac, 0x02f91d19, 0x010ed355, 0x0161ef7f, 0x018a004c, 0x027b6319, 0x02f2ac76, 0x034b3736, 0x02053d8d, 0x0025088a}}}, + {X: Field{[10]uint32{0x013aba86, 0x0248f20d, 0x01f446d8, 0x0345a3a3, 0x01ba88e0, 0x03688180, 0x03cb784e, 0x01774451, 0x03ea537a, 0x00328365}}, Y: Field{[10]uint32{0x028fba1f, 0x01f2a67d, 0x01b68016, 0x024a1d2d, 0x0196c978, 0x01124399, 0x02bb979a, 0x021bc623, 0x005889eb, 0x0021d2b2}}}, + {X: Field{[10]uint32{0x03b797e1, 0x0233ecfa, 0x01a24771, 0x002c3877, 0x0184a90a, 0x017f0671, 0x0398f98c, 0x01d151f9, 0x01653480, 0x0014778a}}, Y: Field{[10]uint32{0x03f7c54d, 0x03bfd600, 0x007bf87c, 0x012e6792, 0x03ace0ee, 0x03f37e69, 0x001952b0, 0x039ae557, 0x023aad04, 0x00204dd3}}}, + {X: Field{[10]uint32{0x01387509, 0x031bb230, 0x00df5151, 0x00d4d96e, 0x0287b521, 0x007523ed, 0x00e39bda, 0x01af8833, 0x011f0313, 0x0001a758}}, Y: Field{[10]uint32{0x0195bde0, 0x028b088c, 0x01fa7e9d, 0x02a9ac9c, 0x00fb84c0, 0x0170a5c8, 0x01127e1a, 0x01932b13, 0x0020563b, 0x001d78b6}}}, + {X: Field{[10]uint32{0x028aa135, 0x015f784e, 0x00a9cb2f, 0x03037914, 0x006fa4a4, 0x03737886, 0x02204561, 0x01983c8c, 0x00830558, 0x000c458c}}, Y: Field{[10]uint32{0x0346eae2, 0x0376fdbf, 0x03817539, 0x001f97ee, 0x0229e142, 0x038762dd, 0x008c636a, 0x005a20c0, 0x0096b134, 0x000975b5}}}, + {X: Field{[10]uint32{0x007ac334, 0x0335584b, 0x00274cc3, 0x00f61a13, 0x0111f462, 0x0342b66a, 0x002e5b44, 0x03353536, 0x02aaefa9, 0x002138d0}}, Y: Field{[10]uint32{0x0292a70e, 0x023d980a, 0x016540fb, 0x03ed42bb, 0x02f552af, 0x03f974bd, 0x00f0a324, 0x02665f21, 0x03ff260f, 0x003ee436}}}, + {X: Field{[10]uint32{0x03bf6562, 0x0199a499, 0x025bc64d, 0x02b2219e, 0x00fa812a, 0x03538ea8, 0x00468143, 0x02c45489, 0x0002969d, 0x00257bf1}}, Y: Field{[10]uint32{0x03371883, 0x0304d667, 0x034b3e82, 0x027f5dea, 0x02e4567d, 0x0114957e, 0x033f00d4, 0x0094b15b, 0x00316149, 0x000c56f3}}}, + {X: Field{[10]uint32{0x038d07fe, 0x01727a35, 0x01507e3d, 0x0126ed40, 0x0255b401, 0x0156ee6f, 0x0289993a, 0x027682f4, 0x023cf87e, 0x001488d8}}, Y: Field{[10]uint32{0x00613b56, 0x02023f2b, 0x03deffa5, 0x00876cf2, 0x000832e9, 0x0001dbe2, 0x01b1c16b, 0x03d0dc02, 0x0221dd2d, 0x001aff42}}}, + {X: Field{[10]uint32{0x00cb0a4f, 0x0132e5f0, 0x0255df5f, 0x00659ac2, 0x00ea180f, 0x0027845e, 0x0187ab31, 0x01c1f987, 0x01990a6b, 0x003c84b4}}, Y: Field{[10]uint32{0x00f7c84b, 0x01ac1a68, 0x0382412f, 0x008867b0, 0x037f5114, 0x0303a844, 0x03c31427, 0x02d93b91, 0x006c7edb, 0x000ca011}}}, + {X: Field{[10]uint32{0x01cfe8c9, 0x033d630c, 0x01b50835, 0x03888438, 0x02e1e19c, 0x000163e5, 0x014431b2, 0x01dbe085, 0x023ff25d, 0x001ad541}}, Y: Field{[10]uint32{0x0069f8bf, 0x002236a4, 0x031c6492, 0x028f75f8, 0x01558a82, 0x03d83ffb, 0x02997076, 0x001d891b, 0x01623645, 0x001509f7}}}, + {X: Field{[10]uint32{0x01b23045, 0x006755c2, 0x01e96472, 0x0106a0b8, 0x03c9388d, 0x039be2c9, 0x02e0c129, 0x0243004a, 0x01cfa096, 0x00094e79}}, Y: Field{[10]uint32{0x01021ac3, 0x0115eb76, 0x0224a77c, 0x02d28967, 0x0331d804, 0x01444cd1, 0x0393000e, 0x02937346, 0x03f61e26, 0x002532e0}}}, + {X: Field{[10]uint32{0x0247d51d, 0x03eb9502, 0x03fb6297, 0x007bc394, 0x03910642, 0x03ca30fd, 0x02ed31e8, 0x0070c1c6, 0x02d34aaf, 0x002aa6da}}, Y: Field{[10]uint32{0x03544c47, 0x02779de0, 0x03d3ed1c, 0x01fb2910, 0x0158cbd8, 0x002ad366, 0x034e7db1, 0x02b80262, 0x00e49fe4, 0x00370256}}}, + {X: Field{[10]uint32{0x013487ad, 0x014cbd80, 0x0262f780, 0x0397a728, 0x03e08964, 0x028fdac3, 0x02d6e635, 0x0093efd7, 0x0313aad2, 0x002a1428}}, Y: Field{[10]uint32{0x014ccbe7, 0x020cd8fb, 0x01a4c43b, 0x01c09bc5, 0x01d9a5e5, 0x03bbcd1e, 0x01708ca0, 0x015708ee, 0x02d54cbc, 0x001f91da}}}, + {X: Field{[10]uint32{0x03a09c1a, 0x02352b97, 0x0328c741, 0x00c991de, 0x025da441, 0x00638a74, 0x00889fab, 0x00325b41, 0x0033f4fd, 0x000c53fb}}, Y: Field{[10]uint32{0x03d25f42, 0x01ee53fa, 0x024a976b, 0x034c6a9a, 0x00d9b4b8, 0x0254d3f7, 0x01dd4f54, 0x03fede6d, 0x01130a98, 0x00028b25}}}, + {X: Field{[10]uint32{0x033d0963, 0x02be8d53, 0x01c85329, 0x02e33d4b, 0x03183998, 0x02bef73b, 0x01581ae1, 0x01f9e6b8, 0x03c89ec5, 0x001b9f70}}, Y: Field{[10]uint32{0x019f87d8, 0x01457e27, 0x00964a83, 0x00c3f32b, 0x038f0578, 0x01662ac6, 0x011e3a82, 0x023a7e59, 0x00056d5a, 0x001ad8da}}}, + {X: Field{[10]uint32{0x033337c5, 0x01f50015, 0x034ad955, 0x03016309, 0x0038b6cf, 0x03461071, 0x0097a507, 0x028b5481, 0x0293fc4b, 0x00165b7d}}, Y: Field{[10]uint32{0x037f4ff5, 0x00ff412c, 0x033c6bd0, 0x00cf5732, 0x0274b75c, 0x027b173f, 0x0171723e, 0x02c26ce8, 0x01e91c97, 0x0019827b}}}, + {X: Field{[10]uint32{0x00e8afb7, 0x03c28485, 0x034ee13c, 0x01665ef2, 0x00ee3ba2, 0x01ef50b5, 0x0150e8e7, 0x01e00161, 0x01d410de, 0x0008d7e3}}, Y: Field{[10]uint32{0x00fa6712, 0x038562db, 0x031bd189, 0x00ce092d, 0x0153b72c, 0x00429115, 0x00f8d595, 0x0384da00, 0x00cdb8e8, 0x002fdb83}}}, + {X: Field{[10]uint32{0x03db8b47, 0x027308c4, 0x0227904c, 0x01abbda4, 0x003f0390, 0x0203a07c, 0x01fbb28c, 0x03a47c49, 0x0297b259, 0x002a762e}}, Y: Field{[10]uint32{0x00048656, 0x01d52b3b, 0x0337bf14, 0x03d916e9, 0x015e6ce6, 0x0087d625, 0x0072afe2, 0x0203c99d, 0x015419b5, 0x00399a2e}}}, + {X: Field{[10]uint32{0x02288e5c, 0x02c1fa12, 0x027f4827, 0x00d6df66, 0x00c4e2cc, 0x004d26e2, 0x02bc6295, 0x0305c050, 0x01c64f74, 0x0014ed13}}, Y: Field{[10]uint32{0x017075d4, 0x01b855c2, 0x02c7e589, 0x021f6325, 0x02322161, 0x03fb9ed6, 0x03006ead, 0x018b1363, 0x03e14045, 0x0012bfc4}}}, + {X: Field{[10]uint32{0x000af1a0, 0x02d68096, 0x0362f947, 0x01e4121b, 0x02a91872, 0x0125121a, 0x00b56ca1, 0x03e7dc6b, 0x0038a6ba, 0x001db9b8}}, Y: Field{[10]uint32{0x01f0f0fa, 0x039ad378, 0x03fd4465, 0x035c899b, 0x003b57e0, 0x03811644, 0x0018348b, 0x0101d913, 0x01106688, 0x00146974}}}, + {X: Field{[10]uint32{0x03c1e6b5, 0x03d4efe6, 0x038702bc, 0x031c6fb1, 0x001c45b4, 0x037a192f, 0x02da284d, 0x0004a443, 0x03192fc7, 0x001dd87f}}, Y: Field{[10]uint32{0x016e11b2, 0x01f6b10a, 0x007c1d94, 0x032ec6ad, 0x03e0bb75, 0x030f9f4d, 0x037e1fdf, 0x01c65987, 0x0370a82f, 0x00202603}}}, + {X: Field{[10]uint32{0x009aadf9, 0x034a012a, 0x02d7f8fe, 0x02388434, 0x0095c0bd, 0x021a7618, 0x01cdc333, 0x03d47f9b, 0x01d61224, 0x00206672}}, Y: Field{[10]uint32{0x031ec89b, 0x038c15d2, 0x0292ddaa, 0x01f4aa74, 0x00a158ee, 0x000c371d, 0x01bbd73f, 0x008e12ba, 0x024f5cbd, 0x002fa25c}}}, + {X: Field{[10]uint32{0x01c55c0e, 0x009d0164, 0x033b799d, 0x032f9422, 0x0008bd4d, 0x02f5de76, 0x01626803, 0x00955aef, 0x01fc760a, 0x0005709e}}, Y: Field{[10]uint32{0x03390c39, 0x00f934d4, 0x01dee337, 0x02c19c85, 0x010ea0b9, 0x0328103f, 0x015d352b, 0x03258d24, 0x00bfed80, 0x003f540e}}}, + {X: Field{[10]uint32{0x00a39b46, 0x0045857e, 0x031a83c1, 0x03900520, 0x019724ac, 0x0330b9fb, 0x03b46a3e, 0x01011dbd, 0x0106b280, 0x003ecfe3}}, Y: Field{[10]uint32{0x03d2154e, 0x03ecf3da, 0x011854fb, 0x0142b264, 0x023177ed, 0x00f06f5c, 0x03fd70c6, 0x006d84ec, 0x00b6ff85, 0x003e4943}}}, + {X: Field{[10]uint32{0x02012edb, 0x03269bae, 0x0389b5ea, 0x00576c2c, 0x02f9faf4, 0x025f0ff7, 0x02723e30, 0x01049768, 0x01473c96, 0x000e6cad}}, Y: Field{[10]uint32{0x03fb7547, 0x0220bc86, 0x01564002, 0x02b8377e, 0x016bce7b, 0x03d97c8c, 0x028aedf1, 0x03d04ef5, 0x02a5a586, 0x0022b070}}}, + {X: Field{[10]uint32{0x03f1552b, 0x03fd1291, 0x0284820c, 0x00fab21f, 0x01bf72d7, 0x02c93a33, 0x03f6d0bb, 0x00546874, 0x03fae476, 0x0010b577}}, Y: Field{[10]uint32{0x00847ee4, 0x03eb6d2e, 0x02ee2922, 0x01185f61, 0x02663f6e, 0x0100ef3d, 0x03ebe3af, 0x03000589, 0x0245d941, 0x0018c765}}}, + {X: Field{[10]uint32{0x02e0bd8f, 0x007edeb9, 0x02158e31, 0x0349b671, 0x02630a0b, 0x03a48b66, 0x02dd0711, 0x02afc297, 0x02c624ec, 0x00213725}}, Y: Field{[10]uint32{0x038703c6, 0x023ab8fb, 0x025a82cc, 0x01c4302a, 0x01c795cc, 0x02f4bf09, 0x00ff10a8, 0x00c934ab, 0x018a16b7, 0x00102bcc}}}, + {X: Field{[10]uint32{0x03bf505e, 0x01ce60d2, 0x013bf018, 0x000b0db6, 0x034663ba, 0x01efdf2e, 0x03812af3, 0x033bb846, 0x020a797b, 0x0018db9d}}, Y: Field{[10]uint32{0x01f724d2, 0x03dc0e99, 0x012ffd74, 0x010015f6, 0x0069924f, 0x0012e516, 0x02dab981, 0x033dd90d, 0x024b6cc8, 0x003b5717}}}, + {X: Field{[10]uint32{0x00d06ae4, 0x03dd6026, 0x01090d4f, 0x003fd85d, 0x007d32bc, 0x0389e019, 0x01ca6f4a, 0x03b9e19a, 0x00254bb5, 0x0004dff4}}, Y: Field{[10]uint32{0x028d0fd4, 0x02dfc24c, 0x00bc808f, 0x00f7a739, 0x03e07ec2, 0x00dba4b9, 0x03186a30, 0x02aa83a6, 0x02a225ea, 0x000a0b5a}}}, + {X: Field{[10]uint32{0x02459e92, 0x01cd3484, 0x00b611b6, 0x01805eaf, 0x00df781f, 0x02c943f0, 0x01bc7a5c, 0x02495ad5, 0x004839e4, 0x000862ae}}, Y: Field{[10]uint32{0x010e1599, 0x012cf393, 0x02444c99, 0x03f1c072, 0x001a7212, 0x00cbce7c, 0x00c49c8d, 0x02c3710c, 0x0356b53f, 0x001fac53}}}, + {X: Field{[10]uint32{0x038eda65, 0x00552557, 0x034fb619, 0x0267aed3, 0x011b2f0a, 0x03c4dd81, 0x029e3a78, 0x008be37d, 0x03a0106f, 0x001acfde}}, Y: Field{[10]uint32{0x0330d299, 0x03ededc8, 0x013b7aaa, 0x000174db, 0x036c8310, 0x0207a21c, 0x019a4ab4, 0x01afbe1b, 0x00c44c94, 0x000315e2}}}, + {X: Field{[10]uint32{0x01e8ceca, 0x038c7f76, 0x03d08c5d, 0x032bdffb, 0x02131ad1, 0x00bad6e1, 0x02fdf196, 0x00465465, 0x02cba2de, 0x0026d053}}, Y: Field{[10]uint32{0x0325a637, 0x024897a9, 0x00797063, 0x0216579d, 0x0251e94e, 0x036a7d39, 0x01b06269, 0x037d0203, 0x031f9550, 0x000e39bc}}}, + {X: Field{[10]uint32{0x02940653, 0x03d986c9, 0x01f8ecba, 0x023bcfcb, 0x02156a4a, 0x00751135, 0x0133af0d, 0x0097861a, 0x03a18574, 0x0010dac1}}, Y: Field{[10]uint32{0x003f2d44, 0x0156cc51, 0x0053ace1, 0x0346f393, 0x03c6822d, 0x0093f318, 0x02427137, 0x03af7b29, 0x0335f124, 0x0025294b}}}, + {X: Field{[10]uint32{0x028fbc6b, 0x00cb3544, 0x034d1fff, 0x00a08266, 0x00b8d76f, 0x01ed78a4, 0x0019bd18, 0x017e08cd, 0x033809b2, 0x003302a4}}, Y: Field{[10]uint32{0x023f458e, 0x02ffa1db, 0x029ec220, 0x01e90c3b, 0x00e713ad, 0x01d54038, 0x00cb6278, 0x031ea512, 0x006dec7a, 0x000331fa}}}, + {X: Field{[10]uint32{0x03a19858, 0x007fa0f0, 0x038888f2, 0x03a9cbef, 0x037ea684, 0x02be372a, 0x03b1907e, 0x01debf31, 0x016eaaf8, 0x001686cc}}, Y: Field{[10]uint32{0x0181e7e1, 0x010933b3, 0x00450cf7, 0x02508b6f, 0x02744110, 0x029a504b, 0x02b3466d, 0x0211a9ad, 0x039ada08, 0x0012bc0c}}}, + {X: Field{[10]uint32{0x016c53ee, 0x01f5025b, 0x0327400e, 0x0094be7f, 0x01ac4a57, 0x000e62c9, 0x021e4114, 0x012ec87f, 0x01657444, 0x003ebe24}}, Y: Field{[10]uint32{0x01a43100, 0x0053db26, 0x03cb3997, 0x02b20420, 0x01d87984, 0x02c5b271, 0x00b64263, 0x0151fd77, 0x015faf75, 0x0033e9de}}}, + {X: Field{[10]uint32{0x0174f248, 0x03937ab4, 0x01e33aa9, 0x00b52586, 0x00c94cd2, 0x031b2c0a, 0x000c68c6, 0x00588c61, 0x018aca14, 0x000e797f}}, Y: Field{[10]uint32{0x003c1ff1, 0x00429be3, 0x0210561d, 0x02194a2a, 0x020a8d36, 0x023d989d, 0x0013e788, 0x036995d0, 0x03657083, 0x003e0487}}}, + {X: Field{[10]uint32{0x0325cbc1, 0x010c2600, 0x000e9257, 0x0350866f, 0x02a64b8e, 0x03ef84d5, 0x013cddf6, 0x0033cb33, 0x01ec147d, 0x0008284d}}, Y: Field{[10]uint32{0x0282c013, 0x008ab9bb, 0x006a7156, 0x002a047c, 0x01fa1d17, 0x01d74c2a, 0x0101fd26, 0x00dc9530, 0x00abea1a, 0x002c5d45}}}, + {X: Field{[10]uint32{0x0072320a, 0x0070ad0b, 0x011fab46, 0x00462a21, 0x039903ca, 0x031d6c4e, 0x03d69e2a, 0x03dcfe84, 0x01b8af48, 0x00286068}}, Y: Field{[10]uint32{0x03a6df20, 0x03212ca5, 0x02a5a219, 0x00e8310e, 0x00a66fbd, 0x035621e8, 0x032c432a, 0x01f988f5, 0x00673f48, 0x00325b21}}}, + {X: Field{[10]uint32{0x01b3ee4f, 0x0118b1df, 0x03fc2752, 0x02557ae1, 0x01eb4626, 0x0145b7a3, 0x035d76a9, 0x01768beb, 0x0031720a, 0x000e57f0}}, Y: Field{[10]uint32{0x0359ad6a, 0x022fd071, 0x00523128, 0x01a66cd0, 0x00962ac8, 0x00fb1127, 0x00e14e7c, 0x00e256ad, 0x006b5378, 0x0012baf2}}}, + {X: Field{[10]uint32{0x0364fa6f, 0x01accf46, 0x03d17424, 0x0395c6e7, 0x0103fffc, 0x02ed8cdf, 0x01632a61, 0x00ae5a1f, 0x01ecf6df, 0x0028db7a}}, Y: Field{[10]uint32{0x011999f4, 0x03721899, 0x01ea9cdb, 0x027f43c1, 0x01620fe2, 0x01f7ad03, 0x0212e147, 0x0345006c, 0x004fa133, 0x001e1393}}}, + {X: Field{[10]uint32{0x0040ba8c, 0x01d1b8a6, 0x00359d04, 0x02e0f6f7, 0x03e55a3a, 0x0114d7d5, 0x03818200, 0x0110c3dc, 0x0099ecee, 0x00232d6a}}, Y: Field{[10]uint32{0x017ff59a, 0x03697780, 0x00b2cb92, 0x02c7bc0b, 0x01731ded, 0x00f4a2d3, 0x01df0ecc, 0x028f04b0, 0x002ae9c3, 0x0004a9ca}}}, + {X: Field{[10]uint32{0x00b60985, 0x0142d998, 0x01f299c4, 0x0362c9ac, 0x004cee72, 0x00bf47ef, 0x02372012, 0x026e8643, 0x01e14d9c, 0x00037910}}, Y: Field{[10]uint32{0x0271b63e, 0x03884500, 0x02110508, 0x0319d40c, 0x022927b3, 0x009fefad, 0x03740d44, 0x0374cf53, 0x030ed12d, 0x002b7468}}}, + {X: Field{[10]uint32{0x039fbab7, 0x02081ea6, 0x01067407, 0x030e5ca5, 0x00520646, 0x004a3446, 0x02f3c1b7, 0x0151283c, 0x0356b5e5, 0x002238e2}}, Y: Field{[10]uint32{0x0000e5e3, 0x00763984, 0x034b7810, 0x00828b63, 0x00dc8ea0, 0x02f6bc61, 0x03ac529c, 0x02595b96, 0x008ed44e, 0x00220cc8}}}, + {X: Field{[10]uint32{0x034640a7, 0x03ccdd03, 0x0266c6c5, 0x032583d4, 0x013ee217, 0x0234b5ca, 0x03fa3d15, 0x019082e7, 0x0192f561, 0x00293c3e}}, Y: Field{[10]uint32{0x002e6ddb, 0x0038807e, 0x01e713d8, 0x023a04a2, 0x010b131a, 0x006bd0bf, 0x02c9188a, 0x021af103, 0x01a8437a, 0x003699d0}}}, + {X: Field{[10]uint32{0x005c945b, 0x014901c7, 0x02ad7efe, 0x02fcdfe5, 0x0286899f, 0x01147634, 0x00a40bee, 0x02aab981, 0x00cff2d1, 0x0017c02a}}, Y: Field{[10]uint32{0x019deb12, 0x02d8f4ad, 0x0262a424, 0x034eb9b1, 0x030b48ea, 0x011a4b56, 0x011549fb, 0x01b5b8e7, 0x00b69ea7, 0x0004d7f2}}}, + {X: Field{[10]uint32{0x00f99218, 0x01b38c62, 0x00da0b41, 0x019ea79b, 0x039d1689, 0x00e376e3, 0x004c7998, 0x03f28bb8, 0x020ebfd6, 0x00164d46}}, Y: Field{[10]uint32{0x010fdb34, 0x00f53a75, 0x025b64fe, 0x0275ce91, 0x000fc415, 0x00a479f2, 0x0227b6d4, 0x03d2a0a3, 0x02673184, 0x001b8068}}}, + {X: Field{[10]uint32{0x00b1aecf, 0x025be44b, 0x039f72c7, 0x01cf9dfc, 0x006705ef, 0x03c98f43, 0x007387a5, 0x00cecf7a, 0x0235f5c5, 0x00005d7b}}, Y: Field{[10]uint32{0x01d9513f, 0x0340a02e, 0x03506a80, 0x018cf35e, 0x005fca3b, 0x0317ef58, 0x00d40fc4, 0x03909878, 0x03154540, 0x0028de49}}}, + {X: Field{[10]uint32{0x0347b8fe, 0x01f7eefc, 0x033b0204, 0x0077eb40, 0x00565595, 0x01e416b5, 0x036362fa, 0x0062b26a, 0x0341597b, 0x001d4626}}, Y: Field{[10]uint32{0x01b2527e, 0x01deddc8, 0x03ed5b01, 0x010a116b, 0x01aa2468, 0x015a967b, 0x00023de2, 0x0043a95f, 0x01210ffa, 0x003d4dbf}}}, + {X: Field{[10]uint32{0x019bd4ae, 0x02690528, 0x01c72004, 0x01cdad68, 0x02438855, 0x01fbf48e, 0x03d2a315, 0x035971c2, 0x02c32522, 0x00246be7}}, Y: Field{[10]uint32{0x001a32de, 0x01aec21d, 0x02d6e643, 0x00668b29, 0x0331c9cc, 0x002d1066, 0x004898ed, 0x02e161ad, 0x03c38462, 0x000c4801}}}, + {X: Field{[10]uint32{0x00565c27, 0x02876129, 0x01b04712, 0x02906853, 0x00732273, 0x03ca0f17, 0x01094432, 0x03574174, 0x008d41fa, 0x00376cbf}}, Y: Field{[10]uint32{0x029c1d0a, 0x02e8beb5, 0x01a38d63, 0x02db5fcb, 0x028f6ac9, 0x0224f424, 0x01673a09, 0x031bd080, 0x00c502ce, 0x0013df8c}}}, + {X: Field{[10]uint32{0x023641a6, 0x037077fd, 0x00f96f7d, 0x001fcac1, 0x01ad40a9, 0x0290494e, 0x0144936e, 0x00370d40, 0x0122d724, 0x00273997}}, Y: Field{[10]uint32{0x01d97c8c, 0x009d825e, 0x02340cf9, 0x010e0150, 0x00c3037e, 0x01818bd5, 0x020b4257, 0x02f19091, 0x01877f25, 0x002be4f9}}}, + {X: Field{[10]uint32{0x036e9a2b, 0x01b5dbdd, 0x015f5493, 0x02c079fe, 0x015489f1, 0x002fd24b, 0x003932eb, 0x03b16247, 0x00d41fed, 0x001f7034}}, Y: Field{[10]uint32{0x0107c47a, 0x01a6656c, 0x0134fa52, 0x03d694d6, 0x001e9bbc, 0x00e0c685, 0x021c7a49, 0x00f04efe, 0x039e760c, 0x00355689}}}, + {X: Field{[10]uint32{0x000e5ead, 0x000ea553, 0x008c163d, 0x003cca07, 0x02f190d4, 0x00f92a9f, 0x018d351f, 0x035ca277, 0x015cb6b4, 0x00034048}}, Y: Field{[10]uint32{0x00fdc662, 0x00b2206c, 0x02a2548b, 0x0318267b, 0x01c68be6, 0x01906153, 0x03ce7fe0, 0x01fbb9c8, 0x004bccbd, 0x003be60d}}}, + {X: Field{[10]uint32{0x017cb92f, 0x0019d9e3, 0x02af3e1d, 0x0318a4cf, 0x00bb6498, 0x02f7fcf5, 0x011b0d29, 0x03be3d66, 0x0031a9fa, 0x00035347}}, Y: Field{[10]uint32{0x026a4831, 0x017e18ab, 0x0190a4df, 0x036e93d9, 0x02715fae, 0x00861791, 0x03ccd42f, 0x0247ea16, 0x0048ac6b, 0x00263cea}}}, + {X: Field{[10]uint32{0x02080839, 0x034bc931, 0x035a49fa, 0x00310686, 0x023d718f, 0x0212c78c, 0x022d83c0, 0x03c930f6, 0x02cf42ab, 0x00331967}}, Y: Field{[10]uint32{0x001f963c, 0x009d86b2, 0x00cbbf0f, 0x0250fe13, 0x00c7aef0, 0x039e55d6, 0x02df249a, 0x00ce66db, 0x01554d84, 0x001eef7f}}}, + {X: Field{[10]uint32{0x01ea4b04, 0x0345905c, 0x0104e594, 0x01d59c23, 0x00f0eb47, 0x01e2fbcd, 0x0074e944, 0x03ce1674, 0x0167d5cf, 0x00066e85}}, Y: Field{[10]uint32{0x02820f9a, 0x014d2152, 0x00ed5d4f, 0x024722e4, 0x0030555c, 0x03967044, 0x00583114, 0x02c0bb6a, 0x001bd536, 0x000d3a8a}}}, + {X: Field{[10]uint32{0x03bbc30f, 0x01e63d75, 0x006a5437, 0x039d4a56, 0x02e825d8, 0x0354b4b6, 0x01960e5f, 0x01641d8c, 0x02e31a6e, 0x000fc3c0}}, Y: Field{[10]uint32{0x03e63c3b, 0x00241878, 0x0119a035, 0x00a5ed01, 0x0162a3bf, 0x038b35a9, 0x0079ddcb, 0x03536964, 0x03c33aec, 0x002e4f89}}}, + {X: Field{[10]uint32{0x0149ab12, 0x001e4900, 0x0323e0df, 0x025b97ea, 0x008d0fb0, 0x003ce0ad, 0x01dd895b, 0x00ff656a, 0x008f35f6, 0x00262131}}, Y: Field{[10]uint32{0x0180eb44, 0x00907ed0, 0x02aa013f, 0x017a627f, 0x03e01154, 0x022dbd06, 0x01e321f5, 0x010df0f5, 0x02667070, 0x0015a230}}}, + {X: Field{[10]uint32{0x006c7b4d, 0x026edf31, 0x00b47448, 0x0380ac8f, 0x02bb4a6f, 0x00be0f96, 0x002e85ac, 0x027154c2, 0x029379bc, 0x002503ca}}, Y: Field{[10]uint32{0x0321fd9d, 0x03038b1f, 0x02284700, 0x0274b2b8, 0x002aa742, 0x02f1a9e1, 0x027c735c, 0x02763d47, 0x038077ba, 0x002d2e08}}}, + {X: Field{[10]uint32{0x00b782f0, 0x01d0bad6, 0x0001c0e0, 0x000d0be4, 0x005f4beb, 0x014d0fa9, 0x02feccbb, 0x00f67d06, 0x019ce535, 0x002a69da}}, Y: Field{[10]uint32{0x0187c994, 0x02a565e5, 0x018b4c7c, 0x02f17ed2, 0x01b0536f, 0x029806b2, 0x0341f778, 0x0233c690, 0x02aab3e1, 0x000f1d67}}}, + {X: Field{[10]uint32{0x03218913, 0x008898c2, 0x034afb15, 0x00748fc9, 0x0293f4da, 0x00b4044a, 0x0236cc28, 0x036c015b, 0x008a009c, 0x0028878d}}, Y: Field{[10]uint32{0x02be89ed, 0x0307d31f, 0x038da588, 0x01cec79d, 0x03c70b18, 0x01c07998, 0x00b8e28a, 0x025419bb, 0x03fa652f, 0x00050550}}}, + {X: Field{[10]uint32{0x025fd383, 0x0123ecd6, 0x01ca41f0, 0x0018c1a9, 0x00e81429, 0x006339ce, 0x03298d60, 0x0384614a, 0x01951121, 0x0035b553}}, Y: Field{[10]uint32{0x028a7a83, 0x014d1160, 0x02912412, 0x03cd4d68, 0x028f76c8, 0x02363bb4, 0x00fe9d03, 0x007f88c1, 0x00b8de89, 0x00225f73}}}, + {X: Field{[10]uint32{0x031e6cda, 0x0303c770, 0x03ebe21c, 0x01928e91, 0x026232b4, 0x03bec4be, 0x00c7f7b5, 0x03abed22, 0x035dc937, 0x001f8298}}, Y: Field{[10]uint32{0x01e921e2, 0x00eb18e3, 0x01e822d6, 0x021b3b58, 0x0274489c, 0x02b72fcd, 0x025b34e3, 0x017874b3, 0x014a7552, 0x00034b47}}}, + {X: Field{[10]uint32{0x0051a659, 0x02802e35, 0x000d3afe, 0x0053eb08, 0x0155bafa, 0x01acfeba, 0x00870e83, 0x0071a10a, 0x000f66a2, 0x00133882}}, Y: Field{[10]uint32{0x007da4c4, 0x03c157db, 0x01b1d891, 0x0249cf8c, 0x02f0ca1b, 0x0037e4eb, 0x00d0f3ef, 0x000bf4c6, 0x0226565b, 0x000a787e}}}, + {X: Field{[10]uint32{0x012bad2e, 0x007d509c, 0x00f7fc09, 0x02d363d6, 0x01e6d4b7, 0x02e27a05, 0x00d5caf1, 0x02fd9567, 0x0387b633, 0x0036ae1a}}, Y: Field{[10]uint32{0x03c85b5e, 0x0057acd4, 0x03bdf8fd, 0x00d1f95e, 0x004506a6, 0x0156f64c, 0x00159d7f, 0x0157ce36, 0x0109d79a, 0x0023926c}}}, + {X: Field{[10]uint32{0x0365aca9, 0x00a4006c, 0x017a56ae, 0x012854a2, 0x01ba1622, 0x01d9cb4e, 0x035386ea, 0x00cb93a2, 0x02c290fa, 0x0031a852}}, Y: Field{[10]uint32{0x035dbc67, 0x003ab1dc, 0x00164b2c, 0x00b7e896, 0x0245cd5f, 0x00bfd857, 0x021967a4, 0x0223f890, 0x00d6dcc5, 0x0010aab7}}}, + {X: Field{[10]uint32{0x02450a27, 0x0138853a, 0x0041de69, 0x02b32284, 0x0263510b, 0x03cd163d, 0x03244004, 0x00423ca3, 0x0240880b, 0x0009667e}}, Y: Field{[10]uint32{0x03a57a01, 0x0365321e, 0x013e6951, 0x01b95230, 0x02a424c4, 0x0280aff4, 0x03a973a1, 0x0337d1a9, 0x02ad4ae1, 0x000151e4}}}, + {X: Field{[10]uint32{0x02d9f9ff, 0x035d1da3, 0x0153bbf3, 0x00cdbe91, 0x01312655, 0x01e7b10f, 0x02d8fe9e, 0x02a3deab, 0x00b4a6af, 0x003daac3}}, Y: Field{[10]uint32{0x005026ef, 0x0365d1a1, 0x013f973f, 0x02f15ebc, 0x0282e913, 0x0241ff35, 0x001a4761, 0x00024123, 0x0189c4ba, 0x0013a849}}}, + {X: Field{[10]uint32{0x007f1dfc, 0x03522c9c, 0x01bebdfd, 0x03caf1c7, 0x0372738f, 0x00ffd369, 0x017ecdbd, 0x000838b6, 0x008bab8f, 0x003d46f5}}, Y: Field{[10]uint32{0x02697c40, 0x024fcfd2, 0x01e4308c, 0x0148922f, 0x01b361c7, 0x01fbe43e, 0x03fe7bce, 0x011fea29, 0x03a0947f, 0x001ac5a2}}}, + {X: Field{[10]uint32{0x022a3443, 0x0263c292, 0x013625c8, 0x02194d48, 0x020a50b2, 0x0342fdf4, 0x0398f2b1, 0x02a432bd, 0x01146c9c, 0x002d807c}}, Y: Field{[10]uint32{0x021f87dd, 0x03c8e471, 0x027edf0c, 0x0343f305, 0x006877fe, 0x027c3c44, 0x0317a115, 0x02d9d57c, 0x004136b6, 0x0029b28c}}}, + {X: Field{[10]uint32{0x005f974b, 0x0241947e, 0x01ccb37e, 0x0163ca1c, 0x015be6a1, 0x0316dc64, 0x030511f0, 0x01f011db, 0x027ae595, 0x001e4b75}}, Y: Field{[10]uint32{0x031dd44b, 0x01d60252, 0x03bcb941, 0x017212b0, 0x011a4c1c, 0x00bd18f8, 0x004774dd, 0x027da4e9, 0x00b9bec5, 0x0026dfd7}}}, + {X: Field{[10]uint32{0x03b093f9, 0x0004c0a2, 0x00377931, 0x0080cf0d, 0x004c29c4, 0x0009452b, 0x0300eb4f, 0x03d2b6cd, 0x026933b6, 0x001f6211}}, Y: Field{[10]uint32{0x01e2cb3b, 0x025187ed, 0x00885a2f, 0x03e2944d, 0x022ebeb5, 0x0391b0c1, 0x007ead35, 0x00036d4a, 0x035e6745, 0x000bf230}}}, + {X: Field{[10]uint32{0x012a5351, 0x03b6e01a, 0x00249010, 0x01077e0b, 0x01ead4bc, 0x01c2250d, 0x03820387, 0x02182c86, 0x03916d0f, 0x00271dba}}, Y: Field{[10]uint32{0x01c88b62, 0x0260a43d, 0x006b0d99, 0x03835b78, 0x030e51d1, 0x0231dda7, 0x0235a6da, 0x00055878, 0x03f33880, 0x001caeb6}}}, + {X: Field{[10]uint32{0x03d807f9, 0x02ec3cc7, 0x0024ecf5, 0x0360b6bf, 0x038fef18, 0x00791f0c, 0x0252a2aa, 0x024f8557, 0x02383d8a, 0x002926d5}}, Y: Field{[10]uint32{0x001d3ae0, 0x0163a364, 0x0176dbee, 0x03987f3a, 0x029dc392, 0x0324d191, 0x00b0760b, 0x013133b9, 0x01b39bf3, 0x0006f09c}}}, + {X: Field{[10]uint32{0x00634460, 0x01891f37, 0x029e0a4d, 0x03f9deba, 0x02a704c9, 0x023c71cb, 0x01d5cc96, 0x02c2c32a, 0x035a675b, 0x000134c4}}, Y: Field{[10]uint32{0x000cfc4e, 0x029dbb8a, 0x02d38395, 0x03bda333, 0x02cb74bc, 0x03c0ac4e, 0x031ffeac, 0x03d2f3cb, 0x00be72f5, 0x002b975f}}}, + {X: Field{[10]uint32{0x0253f588, 0x00cc2267, 0x00e3711f, 0x020ea481, 0x00eff955, 0x010bc64b, 0x00421b9b, 0x01b8e3f0, 0x03be17dd, 0x001655cb}}, Y: Field{[10]uint32{0x021c7c24, 0x01150877, 0x0382a39c, 0x00be6dc9, 0x03a01c8f, 0x03582811, 0x01ab8051, 0x00fe79a8, 0x0240a8cb, 0x0015c4d1}}}, + {X: Field{[10]uint32{0x012d9511, 0x03a8799c, 0x005a5cb5, 0x00203d58, 0x020a5fff, 0x00a34ba6, 0x02a1c612, 0x01e03b2a, 0x006d49b4, 0x001cf333}}, Y: Field{[10]uint32{0x03752cf4, 0x00b353f8, 0x0308edbb, 0x01b5aa16, 0x036a52c0, 0x026c5634, 0x012ea8b5, 0x0323c470, 0x0174f986, 0x00118ea3}}}, + {X: Field{[10]uint32{0x004c1e46, 0x00f0a8e3, 0x03d1ee50, 0x03c61da0, 0x02ae3885, 0x023f73db, 0x02f7280e, 0x002aa51d, 0x03fddb62, 0x002db23a}}, Y: Field{[10]uint32{0x03d39802, 0x02441839, 0x01ddeb40, 0x0157cc85, 0x0276a25d, 0x02065297, 0x0175c2ac, 0x000122f9, 0x02d9f021, 0x00269beb}}}, + {X: Field{[10]uint32{0x005e392e, 0x01ff2713, 0x01f7eb50, 0x02353087, 0x03b9cc4a, 0x00c19f78, 0x0196c539, 0x01524f6a, 0x020f92de, 0x002d058b}}, Y: Field{[10]uint32{0x023b385b, 0x0149585a, 0x01120a40, 0x005dee3b, 0x02eecf22, 0x00183660, 0x03978733, 0x0074d918, 0x00d0c921, 0x00333384}}}, + {X: Field{[10]uint32{0x012b33a2, 0x011a75e3, 0x019b7a2a, 0x02359513, 0x00a58100, 0x0282e350, 0x02919552, 0x00d75eaf, 0x0166ca42, 0x0011afc9}}, Y: Field{[10]uint32{0x02785040, 0x01f21ff1, 0x01ef10b7, 0x03c0085c, 0x01285b5c, 0x0342f275, 0x0182e39c, 0x0221064b, 0x016bb827, 0x001bd9bf}}}, + {X: Field{[10]uint32{0x0159ab2f, 0x02a4538f, 0x036b7419, 0x01a0aa7b, 0x01b5422a, 0x022704d7, 0x02dfcd1b, 0x02a73e2e, 0x01a4e869, 0x001e111b}}, Y: Field{[10]uint32{0x028c9ce3, 0x00ad6196, 0x0098327d, 0x02fcb50a, 0x023f5f31, 0x00cefaf7, 0x003c051f, 0x011b0678, 0x0131db7e, 0x0010856c}}}, + {X: Field{[10]uint32{0x0205f3b7, 0x02fc0055, 0x01d1f4be, 0x032972f4, 0x03fa2b01, 0x017ae3b6, 0x03dc7629, 0x0203350a, 0x02055110, 0x0021a21a}}, Y: Field{[10]uint32{0x03914466, 0x001f9dfd, 0x037d7675, 0x03b565e9, 0x00f9b753, 0x00eb7501, 0x038854a8, 0x030371c1, 0x01f35579, 0x0031c6da}}}, + {X: Field{[10]uint32{0x03713388, 0x03652f20, 0x03371e16, 0x03f2ca29, 0x0036d5fa, 0x011101b8, 0x038675a7, 0x03f10ff4, 0x035e37f8, 0x00280b99}}, Y: Field{[10]uint32{0x0041239e, 0x005cf7bf, 0x01c36de3, 0x03568626, 0x004ee66b, 0x01dfa7ab, 0x02162512, 0x020353ab, 0x0141835c, 0x0035be69}}}, + {X: Field{[10]uint32{0x0092bf26, 0x03322261, 0x03f14ea4, 0x01dfb8a1, 0x009b2997, 0x025ef013, 0x01100966, 0x01b3b734, 0x02a8432c, 0x00285ada}}, Y: Field{[10]uint32{0x020db298, 0x035c9053, 0x01aced2f, 0x028627bc, 0x021e734d, 0x03a9f853, 0x00ed6446, 0x010ab034, 0x0270ef9e, 0x00017046}}}, + {X: Field{[10]uint32{0x00f45b5a, 0x0052e638, 0x01c5c971, 0x00afe1a1, 0x0212d7fc, 0x01ee07f2, 0x03a1205f, 0x03979742, 0x02fe775f, 0x0019a8fc}}, Y: Field{[10]uint32{0x025e3eaf, 0x008c1417, 0x001c8c18, 0x038a57b4, 0x0100e626, 0x002d3ac8, 0x00daad03, 0x03527554, 0x0114a49a, 0x0014166f}}}, + {X: Field{[10]uint32{0x0314b3a1, 0x004de114, 0x01785962, 0x0183aa15, 0x02a1f094, 0x0184542e, 0x01c63210, 0x001319d5, 0x03cebf9a, 0x002691e8}}, Y: Field{[10]uint32{0x0040a80a, 0x03bf03bb, 0x02acbc6c, 0x03c8ae57, 0x03efd3a3, 0x024a5a49, 0x03c7045b, 0x01f9abcd, 0x02ce8f38, 0x0008b697}}}, + {X: Field{[10]uint32{0x036628c5, 0x03d89cd6, 0x02c6f97a, 0x014d27e6, 0x0312b25a, 0x03c63ea1, 0x00e3c288, 0x02e6878f, 0x00149027, 0x00070050}}, Y: Field{[10]uint32{0x02448a4f, 0x015b2583, 0x03d353a4, 0x00d15d4e, 0x0087b499, 0x00583e5e, 0x00bc34ff, 0x034f5ade, 0x00fcd048, 0x0019c864}}}, + {X: Field{[10]uint32{0x028d84cc, 0x03bff94b, 0x0231d057, 0x0002793a, 0x018d1374, 0x025f81d9, 0x00965cd4, 0x03a1d96b, 0x030a1de5, 0x0030b659}}, Y: Field{[10]uint32{0x013ccdf1, 0x029c9c7c, 0x02379cc7, 0x02303e14, 0x00b97a2e, 0x00a55b42, 0x0356b585, 0x03eec4ea, 0x0247a6dd, 0x003fe061}}}, + {X: Field{[10]uint32{0x0196ec1d, 0x006c7972, 0x026910e0, 0x03954e5a, 0x03d21339, 0x005075a3, 0x00e094c4, 0x01a9a5c3, 0x004716fd, 0x0006a7fb}}, Y: Field{[10]uint32{0x03f8557e, 0x001b62e4, 0x0140c240, 0x00e047d7, 0x01d29b87, 0x025778a4, 0x037639b5, 0x01cffa53, 0x02eb6c83, 0x0038e3ac}}}, + {X: Field{[10]uint32{0x01d8c464, 0x015abec0, 0x03bae778, 0x019a6358, 0x0053a514, 0x02c6ac9b, 0x029e5006, 0x0069b503, 0x02ed15e9, 0x002df7d4}}, Y: Field{[10]uint32{0x02e21254, 0x03b14c2d, 0x01ac1162, 0x0034297f, 0x01705c36, 0x03c60354, 0x010706ff, 0x03f63e67, 0x01bfd915, 0x003a983c}}}, + {X: Field{[10]uint32{0x03db6b5f, 0x03e65675, 0x039d1295, 0x03e21222, 0x00918ba7, 0x000d4cd4, 0x0086a534, 0x00b8bef7, 0x00cabd09, 0x0000be57}}, Y: Field{[10]uint32{0x01693ad2, 0x01192368, 0x02a7b523, 0x024e36c7, 0x01d5b0f8, 0x0026fce3, 0x02a9c3df, 0x03b61967, 0x0014fe6c, 0x000c515a}}}, + {X: Field{[10]uint32{0x018a7c1c, 0x029984af, 0x03fea883, 0x028df7bc, 0x023b6ae1, 0x00df9008, 0x01a432ca, 0x03936da8, 0x02c864df, 0x001d8e49}}, Y: Field{[10]uint32{0x0361bd1f, 0x00fc2970, 0x03a410bd, 0x0396e793, 0x00a3e741, 0x0203c7e6, 0x00b3e63d, 0x03443aed, 0x03724378, 0x003cd356}}}, + {X: Field{[10]uint32{0x00a31b0d, 0x0201f272, 0x00ebf72a, 0x03746371, 0x03708ce2, 0x032db262, 0x012a513f, 0x01b3dbcc, 0x027a1291, 0x000b90ef}}, Y: Field{[10]uint32{0x0024acfa, 0x03a67437, 0x019c5971, 0x0024232d, 0x00a3a9dc, 0x03545334, 0x0257b6ce, 0x01f95c5b, 0x0224ce1b, 0x0036e464}}}, + {X: Field{[10]uint32{0x014a5561, 0x02583073, 0x02df9a56, 0x03ec4e96, 0x002d1acd, 0x03f1a1cf, 0x0331984a, 0x01f4a1d9, 0x008f1a86, 0x001f5979}}, Y: Field{[10]uint32{0x0183ebfc, 0x01f32fb6, 0x029da7b9, 0x00daf9f9, 0x00bc9924, 0x02bde576, 0x00e2d4bc, 0x01eb4bfc, 0x0155f095, 0x00271cee}}}, + {X: Field{[10]uint32{0x0019d725, 0x02529c5e, 0x02b7c10b, 0x021f171d, 0x006b132c, 0x035c54e4, 0x02166f04, 0x02ddcb2b, 0x00c03131, 0x00071afb}}, Y: Field{[10]uint32{0x023280ad, 0x0313492c, 0x0106e318, 0x008b3ed2, 0x0041b84a, 0x02bf7d82, 0x03dd26cd, 0x0214cc25, 0x00ff9499, 0x000b0f19}}}, + {X: Field{[10]uint32{0x03347675, 0x02ca9904, 0x020f8198, 0x02c1fa74, 0x01aff339, 0x01fb7c1e, 0x02c83c7d, 0x020408ca, 0x025d5d11, 0x003d410a}}, Y: Field{[10]uint32{0x01a3e4c8, 0x01f7ff5e, 0x01d20b59, 0x015d6a2f, 0x02b2723f, 0x02811414, 0x02388020, 0x03f1b4bc, 0x03bce644, 0x00067043}}}, + {X: Field{[10]uint32{0x014be300, 0x00cd622f, 0x02539b48, 0x03c0b784, 0x030e0ee9, 0x01038213, 0x000c8872, 0x00d4f9b8, 0x0066c2c0, 0x001f0e1e}}, Y: Field{[10]uint32{0x032b8f79, 0x00ded0fb, 0x00ab400c, 0x0155b2bd, 0x0356f088, 0x001d2003, 0x03c49c6d, 0x0316350b, 0x0394587f, 0x0033319b}}}, + {X: Field{[10]uint32{0x02b3c140, 0x0081b93a, 0x034e0b7b, 0x03445a47, 0x02104b35, 0x022e8bb7, 0x02381945, 0x0370adb3, 0x0123d33a, 0x003b3a2b}}, Y: Field{[10]uint32{0x000c0a88, 0x029023df, 0x01e7c5c6, 0x00bd4d99, 0x031c7e67, 0x0326dca3, 0x00245a12, 0x034fd7cf, 0x02c07fa1, 0x003bb25d}}}, + {X: Field{[10]uint32{0x01d12b9d, 0x02bd63c6, 0x03c56a1b, 0x0064f8b2, 0x00b951cf, 0x034085dd, 0x02efecc7, 0x0370e327, 0x0126a274, 0x00208ac2}}, Y: Field{[10]uint32{0x00118313, 0x0030b791, 0x0263f1be, 0x0021443f, 0x023638f0, 0x03f3c144, 0x014d2c49, 0x030dd60c, 0x010af9ca, 0x00122f2c}}}, + {X: Field{[10]uint32{0x0385b8c3, 0x00b9dec3, 0x028a85cd, 0x011e0311, 0x03401dfe, 0x03398bf8, 0x0058d257, 0x03d0a3e8, 0x02036ef5, 0x00349a8e}}, Y: Field{[10]uint32{0x026a6fa7, 0x02c45d44, 0x00ba010f, 0x033e6eb9, 0x0362f1bb, 0x00c230b6, 0x01c6759a, 0x010ca5f5, 0x03623a64, 0x002630e5}}}, + {X: Field{[10]uint32{0x03019090, 0x00f0d1a4, 0x024beb5b, 0x037eec59, 0x0124c8fc, 0x02891f47, 0x0002ab6c, 0x032ef40c, 0x001d8aa0, 0x001ffaee}}, Y: Field{[10]uint32{0x02c3ec26, 0x02918129, 0x03b446cf, 0x008f62c8, 0x03966dc9, 0x02a12e6f, 0x00ca6c02, 0x01b69d51, 0x03cb12ca, 0x003b9896}}}, + {X: Field{[10]uint32{0x01d3473c, 0x03cac394, 0x0008733d, 0x00a9b78b, 0x02b7aa00, 0x030d912e, 0x0363a75c, 0x02daef9b, 0x00e72d43, 0x0020e791}}, Y: Field{[10]uint32{0x000fb9a9, 0x02478c4d, 0x03da43e5, 0x026150ac, 0x002d876d, 0x01dd6fda, 0x0163806d, 0x00508829, 0x023526f4, 0x0020da3d}}}, + {X: Field{[10]uint32{0x030d7afe, 0x0163ab36, 0x01135ea9, 0x025e1b48, 0x017e049b, 0x00fcbbb6, 0x02c84f32, 0x0381f278, 0x03da1c96, 0x0014ba51}}, Y: Field{[10]uint32{0x0073a831, 0x019c39b5, 0x0097d9fa, 0x003b7112, 0x02bdbbe5, 0x027e9cae, 0x01e19a90, 0x0034f4e7, 0x02c9e0c7, 0x001af3f7}}}, + {X: Field{[10]uint32{0x027f3603, 0x0231ad31, 0x000cedb1, 0x01d33f2c, 0x00c8b220, 0x0323a793, 0x03f6dd71, 0x029d0c75, 0x002605e4, 0x001cbb15}}, Y: Field{[10]uint32{0x006b5ee5, 0x01b53e9e, 0x01023615, 0x03e056f2, 0x0249455c, 0x007bb52e, 0x02a6d715, 0x03be53d7, 0x020b7f9d, 0x00376e4d}}}, + {X: Field{[10]uint32{0x0006c849, 0x026b74c5, 0x00f36af3, 0x03a75aa4, 0x012ac051, 0x00a18f44, 0x02bf9baf, 0x015a2405, 0x031559a5, 0x000dc28f}}, Y: Field{[10]uint32{0x03005840, 0x0283b187, 0x01ddaba3, 0x024c8d74, 0x03ee80d9, 0x002c419e, 0x01ab5d32, 0x033b9825, 0x01a68517, 0x0021532f}}}, + {X: Field{[10]uint32{0x03ef5dc2, 0x03e68e66, 0x02c6a714, 0x0033dc66, 0x0141d1cf, 0x01dfbda8, 0x03af5275, 0x03ef6f2c, 0x008860d2, 0x0004b95e}}, Y: Field{[10]uint32{0x02bd9ea2, 0x01b17061, 0x00821ab4, 0x027192b7, 0x01a09496, 0x01692d1d, 0x03b79ead, 0x0049bdf6, 0x02ca5dd8, 0x003d6bde}}}, + {X: Field{[10]uint32{0x00a2b722, 0x02b630cc, 0x025bdfe2, 0x0322b282, 0x028b7905, 0x015efe74, 0x031abad7, 0x0297785e, 0x03cd0b2f, 0x002d252a}}, Y: Field{[10]uint32{0x0294cb87, 0x02475ca4, 0x01adfbf9, 0x00431902, 0x00cbacf7, 0x0100693e, 0x038d8aee, 0x0186767f, 0x03d6dad8, 0x0030e5ff}}}, + {X: Field{[10]uint32{0x02b9d89c, 0x011817a2, 0x02a83106, 0x03912677, 0x03118ea6, 0x03dc6f72, 0x008245c0, 0x002e52c8, 0x012d900d, 0x000a55da}}, Y: Field{[10]uint32{0x00444a7b, 0x03595690, 0x02a91857, 0x00adfaee, 0x00f12934, 0x03f09354, 0x0037e940, 0x02bfa800, 0x00479284, 0x0028f155}}}, + {X: Field{[10]uint32{0x01bd20eb, 0x02fdc8e8, 0x00cda39c, 0x034cb927, 0x031969ae, 0x03052979, 0x0213642d, 0x0381caf2, 0x0079f325, 0x00184406}}, Y: Field{[10]uint32{0x00e443b3, 0x016611c0, 0x017a9c1d, 0x00fb599d, 0x03e5c248, 0x02763ac2, 0x0367269e, 0x0392ef56, 0x00824816, 0x00138667}}}, + {X: Field{[10]uint32{0x0255ab18, 0x027106ae, 0x034e429a, 0x0352642a, 0x02c65f6a, 0x009c87ef, 0x028c648c, 0x011d3e2a, 0x00b299f3, 0x0027ba92}}, Y: Field{[10]uint32{0x03234443, 0x01f62707, 0x00654c1d, 0x024befb8, 0x03b68028, 0x03cad687, 0x00570497, 0x0346f1fa, 0x029735ce, 0x0004e551}}}, + {X: Field{[10]uint32{0x018bd97a, 0x03d00ed4, 0x03c5cc9d, 0x02d8c7c6, 0x013fff42, 0x028da023, 0x00759826, 0x02dc1f29, 0x00d78ba7, 0x0036ec15}}, Y: Field{[10]uint32{0x011b923a, 0x021e5d58, 0x01d4a89d, 0x03e06ae5, 0x030a55a1, 0x009f9e07, 0x00048854, 0x00e95775, 0x02c09634, 0x000e5bbd}}}, + {X: Field{[10]uint32{0x021bbcf1, 0x03cf2aad, 0x0275cd70, 0x01056c23, 0x01b2f625, 0x01705372, 0x03cc0ea3, 0x00bbd276, 0x03d57fdd, 0x0036ea56}}, Y: Field{[10]uint32{0x00d20a3d, 0x02438c80, 0x004cc64a, 0x02b2ba4e, 0x020b8f76, 0x0054566e, 0x036dba84, 0x01f91862, 0x025eb7a1, 0x000abc25}}}, + {X: Field{[10]uint32{0x02d0e5be, 0x02fabee2, 0x02ef5297, 0x00c9c8bd, 0x030bf1a1, 0x00f1d576, 0x02d8febc, 0x02ec3f9c, 0x02c97979, 0x0001b0c4}}, Y: Field{[10]uint32{0x0202c6ea, 0x0001c620, 0x006438be, 0x0185c7de, 0x006c4359, 0x0363ead5, 0x038d5ea3, 0x01ce777d, 0x0388db74, 0x000d8d98}}}, + {X: Field{[10]uint32{0x008825cd, 0x038c6db7, 0x021e5b9f, 0x00c2a8c5, 0x03ad9870, 0x006335c5, 0x01b8638e, 0x02f23d52, 0x0057a494, 0x00197adc}}, Y: Field{[10]uint32{0x03a80312, 0x019a530b, 0x03c92765, 0x01088256, 0x02160b7b, 0x021c1a38, 0x016b4acf, 0x02178246, 0x02a167f2, 0x00116080}}}, + {X: Field{[10]uint32{0x02ffa7f6, 0x01f8ae53, 0x000d6b56, 0x009b610b, 0x02c11174, 0x00abaf47, 0x01db7cbd, 0x01a36bb5, 0x0117b0e8, 0x00281a5a}}, Y: Field{[10]uint32{0x01ecba78, 0x0159d710, 0x030f5ba5, 0x00f8dffa, 0x03c797ec, 0x03a2f6a2, 0x01cb828b, 0x013723c0, 0x020da1bb, 0x00321d34}}}, + {X: Field{[10]uint32{0x002cced2, 0x009f195e, 0x0387903b, 0x01e474ed, 0x01108744, 0x0021ad93, 0x01378301, 0x00a84cb7, 0x03821937, 0x0010646e}}, Y: Field{[10]uint32{0x03dc3f2c, 0x024bf299, 0x03b4a348, 0x01e40925, 0x00493352, 0x00b84c2f, 0x02e52bf8, 0x03486347, 0x03c98ce4, 0x0031d241}}}, + {X: Field{[10]uint32{0x01b218c3, 0x039fd71e, 0x0038f3c3, 0x03c82427, 0x030945e3, 0x02572563, 0x023b9b2b, 0x024fb964, 0x01337212, 0x001d7cdf}}, Y: Field{[10]uint32{0x01928be7, 0x037ab3a9, 0x02a339af, 0x02847d00, 0x02a7d2fd, 0x033c46a8, 0x0328e181, 0x008a9e8b, 0x038ec6b2, 0x002b0107}}}, + {X: Field{[10]uint32{0x02fb154e, 0x01c6bee5, 0x02c65785, 0x03dc0775, 0x026004d1, 0x03c62a12, 0x00b3bef6, 0x00bca408, 0x033ab58b, 0x0032f0c5}}, Y: Field{[10]uint32{0x01fd5c37, 0x0393783e, 0x0089226d, 0x0325863a, 0x01b8f36e, 0x0255dfb8, 0x03c166de, 0x011050b4, 0x00b76f26, 0x003104e8}}}, + {X: Field{[10]uint32{0x02e226cc, 0x0390dc36, 0x00dd92a5, 0x03d16fd3, 0x0164f212, 0x0067346f, 0x02888324, 0x03e965a5, 0x0309a139, 0x0019395a}}, Y: Field{[10]uint32{0x010fbbbe, 0x02f06781, 0x02fa7671, 0x02a18a80, 0x01d10915, 0x02d0a505, 0x001eb3d0, 0x0240592d, 0x02eef242, 0x002a4653}}}, + {X: Field{[10]uint32{0x015285a6, 0x033ed24d, 0x0014f73b, 0x0140273f, 0x0334e133, 0x0380be44, 0x022c2fb8, 0x01b3ca68, 0x01c5e288, 0x0038cde5}}, Y: Field{[10]uint32{0x01afb304, 0x035908c0, 0x035e15c2, 0x03431b37, 0x01f7c575, 0x02d2ec19, 0x02580cb7, 0x01231c93, 0x0121f33d, 0x001e243f}}}, + {X: Field{[10]uint32{0x02b0b6dc, 0x01739d69, 0x036998f2, 0x0250d7ad, 0x036e6a09, 0x01b1e48c, 0x0143d2c7, 0x03428345, 0x026b7a73, 0x0001e5d7}}, Y: Field{[10]uint32{0x023eb06f, 0x00738bfd, 0x03115012, 0x004289fd, 0x008f16eb, 0x0158af09, 0x0248d5f7, 0x024fb757, 0x00aec689, 0x00042c58}}}, + {X: Field{[10]uint32{0x01580f6f, 0x01c73774, 0x03ce02ad, 0x02124b38, 0x03c1ca44, 0x0007d106, 0x02093d08, 0x00e59e4b, 0x03cbf9c1, 0x001b4344}}, Y: Field{[10]uint32{0x03b45746, 0x012fcb3a, 0x016f1bae, 0x0351c769, 0x014bdb25, 0x01e910c2, 0x01dcfe33, 0x03c08aef, 0x023884ca, 0x0005eb90}}}, + {X: Field{[10]uint32{0x03df0154, 0x01d28806, 0x008560a9, 0x019cfef4, 0x0360d398, 0x0098200d, 0x03d3f904, 0x00ad6727, 0x014a23af, 0x0008657c}}, Y: Field{[10]uint32{0x00136a8d, 0x00fb853e, 0x02111da5, 0x01621bfd, 0x025ff1aa, 0x014028dc, 0x01b3a10b, 0x03bc07d3, 0x038c9a44, 0x003f016c}}}, + {X: Field{[10]uint32{0x03713628, 0x029ff7e2, 0x03c4dac2, 0x0220e113, 0x021f5582, 0x03477468, 0x0354e167, 0x03e2e746, 0x007360ac, 0x0011d9e7}}, Y: Field{[10]uint32{0x03803ea7, 0x00fdb285, 0x007510a9, 0x002bfce9, 0x037ca018, 0x013df365, 0x014bbde9, 0x03a07793, 0x0225f3b8, 0x0020a808}}}, + {X: Field{[10]uint32{0x0230831a, 0x02a9f277, 0x00655ac9, 0x00b8bdf2, 0x038cb4ff, 0x030859af, 0x03fe514c, 0x029a6c8f, 0x02f51636, 0x002c2f40}}, Y: Field{[10]uint32{0x03d5f518, 0x03743423, 0x0081448a, 0x00fee9b2, 0x00f4843b, 0x02fae8f6, 0x03ffc51f, 0x032f14a9, 0x016248ba, 0x0001cfeb}}}, + {X: Field{[10]uint32{0x03660158, 0x0226c068, 0x034520c6, 0x00548f2d, 0x000aab5f, 0x036fb16e, 0x03f81afa, 0x03e07fb4, 0x03d6bfe9, 0x0037ebbf}}, Y: Field{[10]uint32{0x01240583, 0x017cf6b2, 0x0324df3b, 0x0200435e, 0x0330c4bf, 0x032d6d53, 0x00a4bf9c, 0x0120539b, 0x0105c3ef, 0x000fd534}}}, + {X: Field{[10]uint32{0x000d42ed, 0x02b81afd, 0x00ba7046, 0x038fadf9, 0x0080dffa, 0x01bf5af9, 0x013d2e79, 0x0079263d, 0x02bbda66, 0x003ac05a}}, Y: Field{[10]uint32{0x02f895be, 0x03e0e89e, 0x011f518b, 0x03b5b4a7, 0x0110f005, 0x030b97a1, 0x014d50ad, 0x0166a5b3, 0x01bbaa76, 0x000c435b}}}, + {X: Field{[10]uint32{0x019fb2ed, 0x01ebec32, 0x01173e51, 0x01334bcd, 0x01726378, 0x00dfe398, 0x035b5eb1, 0x0202cdb4, 0x03c43c08, 0x00262786}}, Y: Field{[10]uint32{0x01faa1d8, 0x02dd1da7, 0x012feb53, 0x02d30b36, 0x00999b3b, 0x0077ddf6, 0x035963d1, 0x033314e8, 0x035f110c, 0x0013133a}}}, + {X: Field{[10]uint32{0x02033811, 0x03846630, 0x010bbfbe, 0x01be4249, 0x00dd801d, 0x01db57bf, 0x025bd407, 0x01eefc7d, 0x0170be4a, 0x0002fac0}}, Y: Field{[10]uint32{0x0086461f, 0x037304e1, 0x01644ff4, 0x0277f316, 0x000f5234, 0x01b4f39b, 0x02998202, 0x0268e15e, 0x018a1d32, 0x0004d5ae}}}, + {X: Field{[10]uint32{0x03c0b145, 0x032d0abf, 0x0112e337, 0x01756d83, 0x02ea9bc5, 0x01b10a5a, 0x035e5969, 0x026935bd, 0x03c1986f, 0x0000b642}}, Y: Field{[10]uint32{0x031a0c4c, 0x0327c1bd, 0x03b5b48d, 0x02fb4bbc, 0x02b377cc, 0x019fabed, 0x004b721e, 0x00665efe, 0x0364734d, 0x001f55f3}}}, + {X: Field{[10]uint32{0x009f51bf, 0x02729dde, 0x02481e82, 0x03cffb9c, 0x0159fd53, 0x030d9cef, 0x0196848d, 0x02018b78, 0x0254c960, 0x001ade9a}}, Y: Field{[10]uint32{0x0009af23, 0x0148939b, 0x0321a579, 0x00ad0f2f, 0x03dd4dc4, 0x0162bef8, 0x0079f30c, 0x0229a7c2, 0x0208157b, 0x001aa7b8}}}, + {X: Field{[10]uint32{0x028e8393, 0x02f2da0d, 0x03a8bf4a, 0x03a221c3, 0x0316faf0, 0x02df9fba, 0x01f8fa87, 0x037f9da3, 0x00c732cb, 0x00326491}}, Y: Field{[10]uint32{0x035620ae, 0x0303f0a1, 0x01951bc0, 0x02331a92, 0x0058cc9b, 0x00b6b8ba, 0x0163453b, 0x00ab4901, 0x035553ba, 0x00082b46}}}, + {X: Field{[10]uint32{0x00f01b6b, 0x01c7e51c, 0x013f6d28, 0x009a707e, 0x01350fef, 0x0026807f, 0x01cf4fc6, 0x0237157c, 0x007b402a, 0x00154ff0}}, Y: Field{[10]uint32{0x00e5a824, 0x02644dcd, 0x002909c1, 0x005df91c, 0x039b3102, 0x035f54ea, 0x03cd0dc7, 0x01b7bfe9, 0x00753961, 0x000ed463}}}, + {X: Field{[10]uint32{0x00fe2f69, 0x012fb030, 0x02369a4e, 0x009e524b, 0x03721fa9, 0x00d3216e, 0x00dfc80a, 0x0229f2cf, 0x037806ed, 0x003164c0}}, Y: Field{[10]uint32{0x0317c149, 0x031e94cd, 0x023001e1, 0x019e7d11, 0x02d7580e, 0x004ff5c0, 0x016dea62, 0x0244a4de, 0x00698a3e, 0x000da679}}}, + {X: Field{[10]uint32{0x011e7eb5, 0x02fb3224, 0x01c6a79d, 0x01ffc744, 0x008cda0e, 0x030d275d, 0x034613d8, 0x026592e3, 0x0118f4d5, 0x0032dbc4}}, Y: Field{[10]uint32{0x01de20ee, 0x020d723f, 0x036f4cf4, 0x00f5f799, 0x030ca0fe, 0x02095f11, 0x03cc88f4, 0x03573dc8, 0x028898b0, 0x0018ac2b}}}, + {X: Field{[10]uint32{0x01a26db9, 0x03148a8c, 0x009a946f, 0x023259a2, 0x0078b5d4, 0x037b2e67, 0x0322ae61, 0x019a3765, 0x038f8c26, 0x00368b2a}}, Y: Field{[10]uint32{0x010c7e98, 0x007869db, 0x01ad8fc2, 0x01ac4921, 0x01180849, 0x0324ec4c, 0x0214cb70, 0x03e52529, 0x037e0234, 0x001a80cd}}}, + {X: Field{[10]uint32{0x003b7d86, 0x023579ad, 0x00a82b22, 0x020e69bb, 0x03fa595b, 0x003c0fbb, 0x03374110, 0x038f1ff8, 0x01423f9b, 0x003f1a93}}, Y: Field{[10]uint32{0x0298beff, 0x01da1968, 0x016f5bb4, 0x01b89a46, 0x0027dfbd, 0x03094fea, 0x0078fdda, 0x02f868f7, 0x0144eb8f, 0x001b0225}}}, + {X: Field{[10]uint32{0x03dee882, 0x00dd5b78, 0x03e09db7, 0x0126509b, 0x003d09fb, 0x032a5183, 0x03258e83, 0x038341dc, 0x011ab9c6, 0x001cf26a}}, Y: Field{[10]uint32{0x0171d2b3, 0x0358d7f9, 0x0222478c, 0x00411741, 0x0352040a, 0x027b61da, 0x0290259c, 0x01422b56, 0x0327efc0, 0x0022cc50}}}, + {X: Field{[10]uint32{0x034516d3, 0x01d1328e, 0x02762933, 0x0122ba5d, 0x022bc028, 0x012e0265, 0x03e61271, 0x033470d0, 0x006145b8, 0x00029a7c}}, Y: Field{[10]uint32{0x030ebe3d, 0x03688275, 0x009aea86, 0x006d1fd9, 0x0396b6d9, 0x02185789, 0x016caf01, 0x00dd07b0, 0x0190b450, 0x0021d463}}}, + {X: Field{[10]uint32{0x00ed9691, 0x0148d7ca, 0x02572fc9, 0x003d11a8, 0x01376a43, 0x0056e910, 0x01dfb2ac, 0x0102dc73, 0x022570df, 0x00072f92}}, Y: Field{[10]uint32{0x0213de85, 0x01748095, 0x0380b6ef, 0x03ce6714, 0x02c8ac69, 0x02ce54fb, 0x02a2d10a, 0x0386ab3c, 0x02ccf262, 0x00049553}}}, + {X: Field{[10]uint32{0x0388e27d, 0x0320df6d, 0x0052fd13, 0x006a209e, 0x014ee2f1, 0x02822c64, 0x005ac85b, 0x0333ed0c, 0x01c7406d, 0x00237a92}}, Y: Field{[10]uint32{0x03e9d9b0, 0x00a55ef3, 0x00056d90, 0x0395a5ed, 0x002b6071, 0x01e8141b, 0x038b15ab, 0x01f0faea, 0x01a83b51, 0x0031cf58}}}, + {X: Field{[10]uint32{0x02d0ade5, 0x0310e921, 0x0094f6e4, 0x01f4156f, 0x025e4b71, 0x0074e35a, 0x00ab5af8, 0x0330ec7b, 0x0377b175, 0x0037a498}}, Y: Field{[10]uint32{0x03d0e11f, 0x00e1f545, 0x01cb973c, 0x02b39834, 0x016be387, 0x02352e2c, 0x0289115d, 0x0365d350, 0x03e79169, 0x000a757c}}}, + {X: Field{[10]uint32{0x03b41497, 0x02896c34, 0x00fa38a9, 0x03317ac6, 0x00f6e8a9, 0x03549450, 0x0055a2f3, 0x01ead2ad, 0x02a7aeb3, 0x001b9dba}}, Y: Field{[10]uint32{0x01e066fa, 0x0064f925, 0x0108a89f, 0x00f35a42, 0x0144c40a, 0x011eaaf6, 0x03fb936a, 0x027456ef, 0x005a7890, 0x0001f8f3}}}, + {X: Field{[10]uint32{0x00607574, 0x03b43e2f, 0x03f8f09e, 0x0274dfd7, 0x01467853, 0x026247e6, 0x022b03fc, 0x01fc3699, 0x02cf22d5, 0x000dc4c7}}, Y: Field{[10]uint32{0x0249f3b3, 0x01e87244, 0x026acc17, 0x02a9aaeb, 0x01281323, 0x005cf52e, 0x011d596e, 0x00a5a3d8, 0x012169d4, 0x00300ecb}}}, + {X: Field{[10]uint32{0x025d8152, 0x004fcdd2, 0x024e7667, 0x023d25e6, 0x0365155c, 0x0337c3ae, 0x0276633b, 0x02655ca3, 0x001482c8, 0x001c8222}}, Y: Field{[10]uint32{0x0174eedc, 0x01d8b972, 0x02e92d2a, 0x01d2d22b, 0x00588a79, 0x02642803, 0x00e26f81, 0x03722f6a, 0x019f8c0a, 0x0019e0f1}}}, + {X: Field{[10]uint32{0x03241864, 0x0048d974, 0x01e8adb7, 0x03345136, 0x02d4567f, 0x02fe74f3, 0x03a7a7ad, 0x0112ca9f, 0x03dfbaca, 0x0006e098}}, Y: Field{[10]uint32{0x0388606d, 0x02906fb5, 0x02785783, 0x02020065, 0x02edf366, 0x00b6b00d, 0x004b98db, 0x00450c65, 0x023e24f0, 0x00007f1f}}}, + {X: Field{[10]uint32{0x02f5fd43, 0x02309833, 0x013dff1a, 0x0381684c, 0x03ea41ba, 0x03560fb7, 0x019714db, 0x01fcae06, 0x02de27ca, 0x0001e8dc}}, Y: Field{[10]uint32{0x02281142, 0x01bc6e6d, 0x032e2091, 0x0192e83a, 0x01a5d3ab, 0x03d793b5, 0x0060f220, 0x015e16d7, 0x016bb32c, 0x002838c8}}}, + {X: Field{[10]uint32{0x00d02300, 0x03b03aa3, 0x0232a72b, 0x03f5e750, 0x00c30f22, 0x0156b07c, 0x03b94327, 0x01124722, 0x01aa5525, 0x001c6057}}, Y: Field{[10]uint32{0x036471b4, 0x03c58031, 0x03804876, 0x00613118, 0x003ade09, 0x013af8f0, 0x02fcc688, 0x0170597e, 0x03928de1, 0x0022cd04}}}, + {X: Field{[10]uint32{0x03654d2b, 0x031714ff, 0x01c785d1, 0x01304b22, 0x0205535d, 0x027c815b, 0x02d866a0, 0x033192d8, 0x037ad3cf, 0x00006952}}, Y: Field{[10]uint32{0x03a12f19, 0x020e42d1, 0x012e841d, 0x03e774a2, 0x03e9f5ae, 0x0247b0c1, 0x0077395a, 0x021ef48b, 0x02e39f4b, 0x002df1de}}}, + {X: Field{[10]uint32{0x019c44a6, 0x00adfb66, 0x01987726, 0x0081d00e, 0x0022cd28, 0x035d68bb, 0x030b6953, 0x01cf9772, 0x00571fc9, 0x002172d1}}, Y: Field{[10]uint32{0x010f6aa5, 0x034cc627, 0x02d53280, 0x01eaf41b, 0x0358037a, 0x03850824, 0x014ef028, 0x03f99b03, 0x01f3bd13, 0x003bf747}}}, + {X: Field{[10]uint32{0x00fd4e4e, 0x02f7dd7f, 0x03962c35, 0x02384e37, 0x02cd72df, 0x0101e8da, 0x00b305a2, 0x00432509, 0x009c64a0, 0x00263a19}}, Y: Field{[10]uint32{0x01a6c60b, 0x02a921b5, 0x008efcd3, 0x03dbf338, 0x01624a8c, 0x030febb4, 0x01f77704, 0x0175f152, 0x01693439, 0x002a0131}}}, + {X: Field{[10]uint32{0x00a5a72b, 0x0002e51d, 0x028817e5, 0x0191a71a, 0x035019a1, 0x01d3eb22, 0x00338958, 0x0396a23d, 0x03e6a297, 0x0007ab11}}, Y: Field{[10]uint32{0x01a11105, 0x02792b83, 0x00325f51, 0x028a570c, 0x01043a10, 0x03992e7b, 0x000bb1ff, 0x037abbce, 0x026b784d, 0x0022df6a}}}, + {X: Field{[10]uint32{0x004f42f5, 0x012b9a01, 0x026bc96c, 0x031e80a9, 0x01e29950, 0x029c8f89, 0x029e0ab6, 0x01cd8c5f, 0x006591f2, 0x003c1e6b}}, Y: Field{[10]uint32{0x0032dfc5, 0x02051a71, 0x00562249, 0x0340f649, 0x03490186, 0x005287bd, 0x00c3ca02, 0x010dd12b, 0x01bfc99f, 0x003aa1f4}}}, + {X: Field{[10]uint32{0x02539643, 0x01c72a8c, 0x0186eba4, 0x03a21a0c, 0x00fa0d94, 0x001dec76, 0x011c3ada, 0x00c383c0, 0x0179bf1f, 0x0035b427}}, Y: Field{[10]uint32{0x00aa8adf, 0x03d7325f, 0x00049876, 0x00dd19af, 0x00ef5100, 0x036b4b52, 0x030494dc, 0x03d507dc, 0x0064fac8, 0x0021dc2f}}}, + {X: Field{[10]uint32{0x00351f65, 0x03cee82e, 0x0291e3af, 0x029ac793, 0x01d6416c, 0x020c4fe2, 0x00595656, 0x00cda01c, 0x03d9f896, 0x000ddb92}}, Y: Field{[10]uint32{0x025f13f1, 0x014de379, 0x0295b78a, 0x03a91feb, 0x000497de, 0x0111f2ca, 0x019e8b96, 0x023c757a, 0x01e56724, 0x002e90db}}}, + {X: Field{[10]uint32{0x039f20d7, 0x0231d042, 0x0210c657, 0x014eee85, 0x000b17cb, 0x025be0d3, 0x0193daec, 0x031e6688, 0x02184b42, 0x0009c3ce}}, Y: Field{[10]uint32{0x03e7e5bc, 0x019cca15, 0x0300021b, 0x02a7d28e, 0x023a7054, 0x019ccddf, 0x00fb0d01, 0x022eec28, 0x012b9ab9, 0x003333ac}}}, + {X: Field{[10]uint32{0x02c1a599, 0x00169743, 0x02de20f5, 0x02dfea62, 0x00b055d2, 0x00ed25b4, 0x0247a8a9, 0x014d20a7, 0x03641a1e, 0x002b89c6}}, Y: Field{[10]uint32{0x03c2bdd3, 0x03ec911f, 0x0181e45d, 0x02294f05, 0x01584790, 0x021ebea7, 0x02a9a23f, 0x0207c948, 0x012f39b4, 0x00053a55}}}, + {X: Field{[10]uint32{0x03f28c8c, 0x021a6d69, 0x016a25ec, 0x00ea50ff, 0x02db36a9, 0x03b94e43, 0x0288ad64, 0x0229d2a4, 0x00fb177d, 0x0015a7ab}}, Y: Field{[10]uint32{0x03732f7c, 0x0271c6d7, 0x028440cb, 0x03d517d4, 0x02bfda9a, 0x01bd3c4d, 0x027508aa, 0x0190ae66, 0x00329127, 0x00073d8b}}}, + {X: Field{[10]uint32{0x0315b558, 0x01f3e057, 0x01e46f27, 0x03b5b4d9, 0x0041bfb5, 0x025e43e3, 0x026a2468, 0x039eea8c, 0x027ffdc4, 0x001df1fc}}, Y: Field{[10]uint32{0x021c3007, 0x03e4cee0, 0x01a4325a, 0x03ac1140, 0x00e0f970, 0x014b0bb0, 0x02a68288, 0x03976559, 0x00dc138b, 0x00134d10}}}, + {X: Field{[10]uint32{0x00adbb25, 0x03b5f625, 0x001ed132, 0x0079ee0c, 0x017d4676, 0x00113fbe, 0x03f67e9b, 0x000c1aa1, 0x02dbf173, 0x003598a4}}, Y: Field{[10]uint32{0x008b83c5, 0x03963d8b, 0x00209cb0, 0x0051bf14, 0x033d36db, 0x02ff2cca, 0x0145f238, 0x0293b648, 0x03558cec, 0x0033bbdd}}}, + {X: Field{[10]uint32{0x037ed0d6, 0x021597a9, 0x03a4925e, 0x02efd541, 0x038769e3, 0x01faec7c, 0x03927ef0, 0x01bd12dd, 0x032e12ea, 0x000710a0}}, Y: Field{[10]uint32{0x0029d5ee, 0x0394e2a7, 0x0211e280, 0x028cc9ef, 0x02786a62, 0x03879076, 0x017917d9, 0x013d769c, 0x03a4b31b, 0x0022e4e0}}}, + {X: Field{[10]uint32{0x021f7968, 0x02afddec, 0x014cc5d6, 0x00d4f34e, 0x00608324, 0x02e633cc, 0x0362911f, 0x018aa330, 0x02ff9422, 0x0018f95f}}, Y: Field{[10]uint32{0x01b009be, 0x00ba8d56, 0x036b0450, 0x038a897e, 0x00146062, 0x008ba94c, 0x0344e7d3, 0x020fc930, 0x022dfb90, 0x00278f07}}}, + {X: Field{[10]uint32{0x03b83c90, 0x01452265, 0x03f9b02a, 0x02a6d3a8, 0x00cf3ed3, 0x024253aa, 0x0088e591, 0x022971cb, 0x03a186f3, 0x002f88cf}}, Y: Field{[10]uint32{0x01dba564, 0x0067437b, 0x0156fefd, 0x03a98a5a, 0x0140bd48, 0x03714def, 0x0389ef9e, 0x02b6c9b8, 0x02b3362f, 0x00100bac}}}, + {X: Field{[10]uint32{0x01844b78, 0x0030fc58, 0x03579aaa, 0x01592892, 0x02f2cc69, 0x029cc3f3, 0x01f4d065, 0x01d3ea71, 0x03804e7c, 0x0018db76}}, Y: Field{[10]uint32{0x02a2496c, 0x03d1faf9, 0x022e7dee, 0x03ee4589, 0x026aa31f, 0x025fab22, 0x02feb598, 0x004b1808, 0x01695832, 0x001a928d}}}, + {X: Field{[10]uint32{0x02e1c5e7, 0x035b0b37, 0x01e605bd, 0x030adb9a, 0x02215ae7, 0x038bc959, 0x035af1ee, 0x0361ffde, 0x01d17250, 0x00349470}}, Y: Field{[10]uint32{0x03b4ae78, 0x012d461f, 0x004cbf55, 0x001b2116, 0x005de60d, 0x02e59963, 0x035c9862, 0x00bea32a, 0x00f57df5, 0x000916b3}}}, + {X: Field{[10]uint32{0x018ed407, 0x0371d106, 0x0248cc3b, 0x005ceea0, 0x029055f9, 0x012c1bd0, 0x011cbe05, 0x004cedc1, 0x00b8c62f, 0x00101753}}, Y: Field{[10]uint32{0x005deb54, 0x02aee9cc, 0x027201a9, 0x03f181d1, 0x01523553, 0x034af0fb, 0x00e8031b, 0x00f2d0a6, 0x0310a896, 0x002118f7}}}, + {X: Field{[10]uint32{0x03e983b8, 0x03b638e6, 0x03003546, 0x025073a3, 0x00ab3293, 0x03f696f9, 0x00a03144, 0x00e81f85, 0x02ee9ab3, 0x0025fc16}}, Y: Field{[10]uint32{0x03849261, 0x012b56fa, 0x01a7c3be, 0x008078f4, 0x03d321f1, 0x00cde0b2, 0x0070b155, 0x004e2f13, 0x02267fd9, 0x0016798a}}}, + {X: Field{[10]uint32{0x02b91ac8, 0x0181d243, 0x0153dea1, 0x02350c25, 0x01c99fdf, 0x02e6b5a4, 0x01060f26, 0x009701aa, 0x016118e1, 0x0000ce20}}, Y: Field{[10]uint32{0x0004384b, 0x005d9f65, 0x00c88728, 0x023f6f70, 0x02a57178, 0x0116a640, 0x013af0d2, 0x0069a301, 0x018b5b8e, 0x00160fa4}}}, + {X: Field{[10]uint32{0x0117a9f9, 0x03dff4cf, 0x03c31dc8, 0x0198cda7, 0x038cf653, 0x0370ed81, 0x0306b1ad, 0x01a8967d, 0x00466bbe, 0x00377483}}, Y: Field{[10]uint32{0x01de5a99, 0x01e3a270, 0x03daa7cf, 0x0166b2d0, 0x017833e1, 0x0188733c, 0x02adcf46, 0x0261a2ee, 0x0329b4ea, 0x002cb7de}}}, + {X: Field{[10]uint32{0x03dfc9f7, 0x00005c8e, 0x011cfdfe, 0x004ba37e, 0x00eecd07, 0x004e272f, 0x02c26bc3, 0x003b9565, 0x012f71ae, 0x00248f1b}}, Y: Field{[10]uint32{0x034be948, 0x0290dc00, 0x03082414, 0x021cc81f, 0x005ff2ed, 0x02680f50, 0x001ae969, 0x00490da9, 0x00ad27c4, 0x001bf6ca}}}, + {X: Field{[10]uint32{0x00a09e65, 0x0277c637, 0x031a7fde, 0x01b05241, 0x01a44887, 0x0229f444, 0x0212461b, 0x01fa1d9a, 0x02bd28d5, 0x001b50a9}}, Y: Field{[10]uint32{0x01fd28bf, 0x02fb5ae5, 0x02775640, 0x0099d1fc, 0x00dcdd28, 0x0008988d, 0x005554df, 0x03a5f0d6, 0x02b801db, 0x00137c1e}}}, + {X: Field{[10]uint32{0x01d761ae, 0x018c3b08, 0x023f04b9, 0x0010c726, 0x0170efe1, 0x014e7b38, 0x003610d8, 0x03c9674f, 0x016159f9, 0x001ff50a}}, Y: Field{[10]uint32{0x01d7e280, 0x03c77c49, 0x026dc787, 0x0005b574, 0x00e85b60, 0x03543990, 0x037d00c4, 0x00afd440, 0x0041b8ce, 0x003f5a55}}}, + {X: Field{[10]uint32{0x026770b5, 0x026ec97a, 0x018a75b5, 0x0377d023, 0x00944045, 0x00156664, 0x0100a017, 0x025f7f9e, 0x010b128d, 0x00123041}}, Y: Field{[10]uint32{0x00f66559, 0x0005f05b, 0x0061ef9b, 0x027e218c, 0x01d450e4, 0x00d4e282, 0x0061b315, 0x00c67073, 0x01a04b6e, 0x0023df3b}}}, + {X: Field{[10]uint32{0x02e2a686, 0x01963df7, 0x00a09689, 0x01037969, 0x00b3214c, 0x0220f19f, 0x02baa1b4, 0x018b725a, 0x019da12d, 0x0015118b}}, Y: Field{[10]uint32{0x01ccd957, 0x03fb0b96, 0x02e370bc, 0x00583546, 0x026a3f00, 0x03bba067, 0x0133bb50, 0x00475c3f, 0x016f9160, 0x001d9ceb}}}, + {X: Field{[10]uint32{0x026435e8, 0x01ce6087, 0x02261443, 0x011d535e, 0x0095c5fe, 0x012ddc7c, 0x025a46e4, 0x0076260a, 0x00c4e4e1, 0x001a614d}}, Y: Field{[10]uint32{0x01cbba18, 0x03d07538, 0x011376a8, 0x0267dc70, 0x039faba0, 0x039f5a1c, 0x0219a8a5, 0x0031c635, 0x02acb272, 0x000db580}}}, + {X: Field{[10]uint32{0x03e77ecc, 0x0120ca82, 0x0341ad8c, 0x00849bf4, 0x01d0bc2a, 0x03223b36, 0x0376b0d7, 0x02070eec, 0x035951c6, 0x001124fd}}, Y: Field{[10]uint32{0x0120351e, 0x002624b0, 0x0012a391, 0x03d3a0a7, 0x02df7143, 0x02ff552f, 0x03158574, 0x026ab65f, 0x021dd4d9, 0x003954f8}}}, + {X: Field{[10]uint32{0x00f8313b, 0x02f89233, 0x02ec8cf8, 0x0179a1f9, 0x006c0632, 0x0245f009, 0x0384cf5f, 0x02038625, 0x02a93300, 0x002c1536}}, Y: Field{[10]uint32{0x0367d866, 0x0222c76d, 0x01a83b06, 0x016877ba, 0x014ed52a, 0x01809083, 0x015f2a40, 0x03956b1d, 0x03155c9c, 0x00147c11}}}, + {X: Field{[10]uint32{0x0029583e, 0x000dc4f0, 0x03c571fe, 0x032581be, 0x02c1f8cf, 0x0194676c, 0x03e6796e, 0x01ac7e7f, 0x02a4fa99, 0x0012d09c}}, Y: Field{[10]uint32{0x030edb83, 0x032029bf, 0x0110cf5f, 0x00cd0e13, 0x03cecde8, 0x032f145e, 0x0336f8cf, 0x0314f572, 0x02d0dce7, 0x002549bc}}}, + {X: Field{[10]uint32{0x03e29604, 0x0012a8d8, 0x00bff46a, 0x020fc7c1, 0x006cf63f, 0x03468e52, 0x02d8e647, 0x03a0bb2b, 0x0281c69d, 0x003587ad}}, Y: Field{[10]uint32{0x021f08b8, 0x0218965c, 0x001dfaa3, 0x01756fd1, 0x03f62fdf, 0x002b8a3a, 0x006d9a43, 0x01ee3cdf, 0x02fb156d, 0x0026d6a4}}}, + {X: Field{[10]uint32{0x02bf507f, 0x00f93830, 0x0157d576, 0x0103bf63, 0x008349e3, 0x037057ae, 0x0173c8f3, 0x01e7027e, 0x000257f9, 0x0002fe3c}}, Y: Field{[10]uint32{0x020614fe, 0x01052820, 0x037d9f66, 0x00e7d3c5, 0x03433467, 0x01b4d8e8, 0x00265a83, 0x0399c3f7, 0x022f1041, 0x00158761}}}, + {X: Field{[10]uint32{0x034cb498, 0x00f8a25d, 0x032d5eb0, 0x011547b1, 0x03b471fd, 0x00a4ea1b, 0x01ca03f7, 0x03eb5936, 0x00e2a7a6, 0x0018ec95}}, Y: Field{[10]uint32{0x01948c8b, 0x01eef9d4, 0x01880083, 0x014dafbf, 0x01f5be7d, 0x00b79273, 0x03b3819a, 0x03a48b71, 0x01113a4c, 0x003d0514}}}, + {X: Field{[10]uint32{0x03968725, 0x00628a74, 0x0009ae04, 0x0021ae4f, 0x0350fdd9, 0x01327bf9, 0x0091f33c, 0x01bb618d, 0x02cde1da, 0x002eb9be}}, Y: Field{[10]uint32{0x02a30533, 0x0198241b, 0x0349bb4d, 0x03149498, 0x02e4ca46, 0x019539a8, 0x03df74c6, 0x00c5dbda, 0x01550e48, 0x001f1f72}}}, + {X: Field{[10]uint32{0x00eb34af, 0x021188eb, 0x0029b595, 0x005d4e01, 0x00d30a63, 0x0271982c, 0x02d81395, 0x02a823cf, 0x01f8ea15, 0x003d58a1}}, Y: Field{[10]uint32{0x015a9eb9, 0x02c73a41, 0x038ee31e, 0x0369ee66, 0x02d9a0f6, 0x028b72e6, 0x0303c9de, 0x00652901, 0x03c1a202, 0x0004400c}}}, + {X: Field{[10]uint32{0x0151d87a, 0x01c98ce0, 0x006a540d, 0x0348663b, 0x020eafba, 0x003a38da, 0x039191c6, 0x035147b6, 0x00953de3, 0x0021db1f}}, Y: Field{[10]uint32{0x032279b8, 0x013897a5, 0x03d27df5, 0x00744016, 0x01cf5501, 0x0394aa16, 0x0010d177, 0x0031b010, 0x037472ce, 0x00257bff}}}, + {X: Field{[10]uint32{0x000a6d30, 0x0360eb25, 0x030e3fbf, 0x01b6e8fc, 0x00a024d8, 0x02ac71d6, 0x00969024, 0x01ef55a0, 0x03ed077c, 0x003a55b1}}, Y: Field{[10]uint32{0x03aad9da, 0x01c5dc41, 0x0026b45c, 0x0164339a, 0x0205aa57, 0x01669592, 0x017a9da2, 0x026adde9, 0x00a6f0d1, 0x0006d77f}}}, + {X: Field{[10]uint32{0x01dd3f16, 0x00bfeaa6, 0x028bd8fe, 0x016a0691, 0x03ab743b, 0x01412335, 0x016e9c06, 0x01150c51, 0x0261abdb, 0x003d4ff7}}, Y: Field{[10]uint32{0x0390222f, 0x01ad93b5, 0x026bc1a2, 0x023b838a, 0x01a65ac7, 0x02cd586f, 0x038e86ba, 0x008ad405, 0x013947ea, 0x00074a2d}}}, + {X: Field{[10]uint32{0x00043ad9, 0x00d91272, 0x003b5f5d, 0x02d3def3, 0x025e49b0, 0x00da9f18, 0x01b91039, 0x010d751d, 0x028152eb, 0x002e46a1}}, Y: Field{[10]uint32{0x013aaa75, 0x00c018a8, 0x0288bb34, 0x00347a2f, 0x01722dc9, 0x007746f5, 0x0296f3d1, 0x026f0185, 0x01175693, 0x00031d63}}}, + {X: Field{[10]uint32{0x018f8cc7, 0x03c233e3, 0x02897b16, 0x032ec930, 0x0261f5ad, 0x02f25d4d, 0x00c55d0a, 0x00a49f6d, 0x007023e3, 0x0016a1ef}}, Y: Field{[10]uint32{0x03731e54, 0x02a9b81b, 0x01b2c3d2, 0x00b622a2, 0x009d1ac3, 0x02ffdd2d, 0x02d2120f, 0x00357011, 0x024baa6a, 0x00273aab}}}, + {X: Field{[10]uint32{0x01ceb034, 0x01e7de5c, 0x02e80de9, 0x02a19ad9, 0x01215622, 0x03f1736c, 0x00a80b9e, 0x02cd50ef, 0x0343e54e, 0x002b02c6}}, Y: Field{[10]uint32{0x00638d8d, 0x0344fcfd, 0x007f609b, 0x03ef4afc, 0x01439477, 0x025f6a6d, 0x03c2b871, 0x0385485e, 0x035e5731, 0x002a2455}}}, + {X: Field{[10]uint32{0x005ca915, 0x01cd19fa, 0x03dc1450, 0x01277cea, 0x00e84f19, 0x01ae88dc, 0x034d6f3f, 0x033609db, 0x02bc2017, 0x0034f107}}, Y: Field{[10]uint32{0x00dcf7b7, 0x02979363, 0x02ce609d, 0x01d8ee8f, 0x01bc1e95, 0x0043f3cd, 0x02b1e916, 0x0165147d, 0x01528be5, 0x0014aac7}}}, + {X: Field{[10]uint32{0x03923b02, 0x03afa551, 0x010634d1, 0x013d27ba, 0x02ab842e, 0x0386c3cd, 0x0100d00f, 0x00b31bde, 0x0057f4c8, 0x001a33ff}}, Y: Field{[10]uint32{0x02b1d8e2, 0x01a92166, 0x026b26fe, 0x0012ebb4, 0x03367ba9, 0x00628c1a, 0x03da281c, 0x001d070f, 0x01bfaac1, 0x001ca655}}}, + {X: Field{[10]uint32{0x00177d9c, 0x03c954e3, 0x0074cd30, 0x0194d0fe, 0x02579dc7, 0x014c9299, 0x00566b33, 0x0267bb82, 0x00e12462, 0x001f83d6}}, Y: Field{[10]uint32{0x0021447c, 0x010065a2, 0x0128dcd3, 0x0055a816, 0x00086b90, 0x034d99d0, 0x009af7b5, 0x024fc020, 0x01835872, 0x000e5949}}}, + {X: Field{[10]uint32{0x00c9b542, 0x0057ae39, 0x03bbb97a, 0x0219cc95, 0x025dc450, 0x02cc97f5, 0x013d4bf1, 0x019263ad, 0x03dbd181, 0x0031caae}}, Y: Field{[10]uint32{0x0325a7b9, 0x01debeca, 0x0378288e, 0x0232da06, 0x00841a06, 0x011b34c6, 0x0041ed3e, 0x03cf4a21, 0x03a55df5, 0x000f23eb}}}, + {X: Field{[10]uint32{0x02363d0d, 0x002aed74, 0x015a1b72, 0x0329cff8, 0x00943654, 0x03da40de, 0x024d76ce, 0x0245107d, 0x035d3eb0, 0x001d1d1f}}, Y: Field{[10]uint32{0x00443649, 0x03eb5f07, 0x019b9746, 0x029907e5, 0x03bf54c1, 0x032bc151, 0x01f993a5, 0x03a3dcc8, 0x03240bc7, 0x00004b19}}}, + {X: Field{[10]uint32{0x01b67067, 0x03ff23e4, 0x006e1212, 0x00b347ec, 0x0129db86, 0x02b5a26a, 0x00b5d71d, 0x039f10d3, 0x02d1ab1d, 0x003ca9c0}}, Y: Field{[10]uint32{0x03afd854, 0x01ef458d, 0x0242962c, 0x006af451, 0x031d5ec1, 0x03ed373e, 0x03452bc7, 0x02b26b2d, 0x022cc730, 0x00016e47}}}, + {X: Field{[10]uint32{0x000d9340, 0x02d58d34, 0x01e1b530, 0x00f52fa4, 0x00c2535b, 0x000711ba, 0x01a87b62, 0x01ad197f, 0x030814e7, 0x002a4b53}}, Y: Field{[10]uint32{0x01cd0277, 0x02e81941, 0x030be6f4, 0x02f08d43, 0x0038d96d, 0x01d536b6, 0x01fd9bfe, 0x03ed015a, 0x028f3c02, 0x001360a6}}}, + {X: Field{[10]uint32{0x02f205a1, 0x03e45e89, 0x017462aa, 0x010a1285, 0x02df5ea1, 0x002a03ee, 0x00ea3206, 0x030ecfe4, 0x00b1ac06, 0x001e78c3}}, Y: Field{[10]uint32{0x00d5c82f, 0x007c9db2, 0x028d5352, 0x012a7d85, 0x007f1736, 0x0032ea5d, 0x008a79ed, 0x0252556b, 0x020a8145, 0x002b4882}}}, + {X: Field{[10]uint32{0x009401d1, 0x008c6da3, 0x02ff3020, 0x028eeaf5, 0x0288c8d6, 0x00903e8c, 0x023252be, 0x015dfc11, 0x0053d412, 0x001b5577}}, Y: Field{[10]uint32{0x03006eb3, 0x00cbf4de, 0x021540d7, 0x03228297, 0x02c98e17, 0x019e7c15, 0x01553452, 0x00cb0164, 0x0096aa3b, 0x0020e907}}}, + {X: Field{[10]uint32{0x01b3f20a, 0x00ed5a92, 0x02f487c8, 0x038834f8, 0x0211ef14, 0x032e2830, 0x03ea5eb4, 0x02e426cd, 0x031f604e, 0x0033e727}}, Y: Field{[10]uint32{0x0247dff8, 0x034722e8, 0x03f93dd3, 0x03e77d5b, 0x02da24ea, 0x032d1077, 0x0260b5be, 0x026621dc, 0x01f64e64, 0x000ae42e}}}, + {X: Field{[10]uint32{0x006b35dd, 0x03649786, 0x00346a2f, 0x016eea6a, 0x00e30f43, 0x03bdbf2b, 0x03677809, 0x02652acc, 0x019f29ed, 0x0018350a}}, Y: Field{[10]uint32{0x0360331e, 0x008da551, 0x0143737b, 0x02927462, 0x03040d51, 0x03639092, 0x0386ddd2, 0x02d3163f, 0x0388b8aa, 0x00037da6}}}, + {X: Field{[10]uint32{0x01493540, 0x0314ddb6, 0x02122887, 0x01660b34, 0x037de3be, 0x004528ef, 0x02bbb854, 0x012981ad, 0x02dd1b67, 0x00364e9b}}, Y: Field{[10]uint32{0x01e5f7ff, 0x03146ffe, 0x01230423, 0x023111fb, 0x03acfdb0, 0x03e486b9, 0x01590064, 0x0065ef00, 0x03d7dc79, 0x0021f68d}}}, + {X: Field{[10]uint32{0x01652962, 0x024646af, 0x03c6025d, 0x0368681b, 0x01fd5869, 0x032ded7d, 0x02bb6b31, 0x023662dc, 0x01377e10, 0x0033e30f}}, Y: Field{[10]uint32{0x00128fbb, 0x02722c4d, 0x01c93afc, 0x006a1e7b, 0x02fc5427, 0x0086cf2b, 0x002b0343, 0x02b40b6d, 0x0102bb96, 0x0001bd73}}}, + {X: Field{[10]uint32{0x00df29eb, 0x011f9a23, 0x002a6908, 0x0123c931, 0x00715b90, 0x01ee7283, 0x03ab65ac, 0x03b3e609, 0x02474637, 0x001b2a64}}, Y: Field{[10]uint32{0x02b55439, 0x0260f93f, 0x001f6d93, 0x00374057, 0x028bb616, 0x02ad5f0f, 0x02a446ed, 0x01153b65, 0x01a5fefa, 0x00144de3}}}, + {X: Field{[10]uint32{0x00d17afd, 0x035a1b4a, 0x008c558e, 0x0135ee7c, 0x033cc306, 0x02b3cb8f, 0x0267758c, 0x004f577a, 0x00043cb8, 0x001bdf4b}}, Y: Field{[10]uint32{0x0233bc6f, 0x029b3194, 0x013c8c65, 0x03c82b0a, 0x01b590a5, 0x01f17858, 0x039106c1, 0x03b120cf, 0x027813ec, 0x0011e538}}}, + {X: Field{[10]uint32{0x0124f3e1, 0x02a2893a, 0x03475d2c, 0x0069f667, 0x01e818d0, 0x0213a466, 0x02a82b01, 0x0220fead, 0x00d00bc9, 0x003e2bb8}}, Y: Field{[10]uint32{0x039442b5, 0x01bcd2a0, 0x01b8ab52, 0x01797348, 0x0244f105, 0x01ac6cf7, 0x0026bfac, 0x0177c025, 0x032b6913, 0x002b3e72}}}, + {X: Field{[10]uint32{0x00ce781c, 0x010ad180, 0x03f9d222, 0x03aba461, 0x010a85c8, 0x03d32470, 0x03123fc7, 0x000fd12f, 0x00bfc1a2, 0x0022c03f}}, Y: Field{[10]uint32{0x01d35bc9, 0x02617322, 0x03cac478, 0x02676b7e, 0x020a8de6, 0x03b9510a, 0x00264280, 0x039a43b0, 0x018a3e81, 0x00187a79}}}, + {X: Field{[10]uint32{0x01d6dd4d, 0x02dfe84e, 0x03c1ab0e, 0x008fa612, 0x00a72785, 0x0330c84b, 0x001ebbc1, 0x028acb08, 0x03078e84, 0x003eeb2e}}, Y: Field{[10]uint32{0x003a0f52, 0x02129f93, 0x020833aa, 0x017f45b1, 0x014e557d, 0x032eea89, 0x03df675c, 0x002265e5, 0x01d6f5eb, 0x000b1b27}}}, + {X: Field{[10]uint32{0x005c0611, 0x00cf6b2b, 0x02175bfa, 0x02ecf7e2, 0x005ba601, 0x00ee8a01, 0x028f9935, 0x03c14e34, 0x035c2f32, 0x000555a1}}, Y: Field{[10]uint32{0x00e240b7, 0x02bfa129, 0x01cf8eba, 0x00e84391, 0x03d2eb78, 0x022238e1, 0x01fb5405, 0x0251923a, 0x0050c3da, 0x0014d88c}}}, + {X: Field{[10]uint32{0x02d93d77, 0x01caec00, 0x0379e2e9, 0x03416617, 0x0349a8ce, 0x01a0fe00, 0x03e690ec, 0x017a6338, 0x00957f5b, 0x002d80ac}}, Y: Field{[10]uint32{0x01435227, 0x00e6d3a1, 0x009d960d, 0x00e2bd6e, 0x01ff3588, 0x006edecc, 0x00046acb, 0x02e0878c, 0x0390ddd6, 0x001e21a0}}}, + {X: Field{[10]uint32{0x022dd17a, 0x01454076, 0x0037724f, 0x0059d7f9, 0x037a8462, 0x001bc154, 0x01d66f8a, 0x00913822, 0x016523a5, 0x000a8440}}, Y: Field{[10]uint32{0x00825159, 0x0314e86e, 0x02bff938, 0x01e1f4b0, 0x02b881d0, 0x001cdfce, 0x02de4983, 0x018ba6c0, 0x0125e1ca, 0x000934ed}}}, + {X: Field{[10]uint32{0x017efce0, 0x00d76991, 0x01d3835a, 0x02495bf2, 0x01a13edb, 0x03d0f4b6, 0x0326a8e4, 0x03e6a738, 0x03591148, 0x0001cc51}}, Y: Field{[10]uint32{0x03b2d8b3, 0x02c3fddd, 0x03790c7f, 0x03c0c182, 0x021ad5ad, 0x015d991c, 0x02c7cfa4, 0x02a8134e, 0x009480d0, 0x002c6573}}}, + {X: Field{[10]uint32{0x036206fc, 0x0117b76c, 0x02e3db2f, 0x0190df65, 0x000525d8, 0x016a7638, 0x0362979c, 0x008f5c58, 0x03e40c7e, 0x0028db93}}, Y: Field{[10]uint32{0x02844751, 0x0158d799, 0x02707c74, 0x027da5e9, 0x00034669, 0x0020ce69, 0x0270de87, 0x0236d2a2, 0x03850a42, 0x0015ab39}}}, + {X: Field{[10]uint32{0x003cac9a, 0x0135de3d, 0x00402344, 0x035fa219, 0x0085b877, 0x0289253d, 0x021b61d5, 0x01046175, 0x03e7a2c5, 0x0025e192}}, Y: Field{[10]uint32{0x01f2ff69, 0x023b68ae, 0x000ab013, 0x00a1c6e6, 0x003a6c54, 0x03a4f9c7, 0x01dcd900, 0x020e4554, 0x0278a85b, 0x0010ccca}}}, + {X: Field{[10]uint32{0x0119893e, 0x03ae65a1, 0x02458b74, 0x01057fc0, 0x03daa7ca, 0x0177351f, 0x02c92c84, 0x03ba9b68, 0x01bf2449, 0x000d294b}}, Y: Field{[10]uint32{0x0303ece4, 0x00151ff8, 0x001b9427, 0x00d5a675, 0x03b3545a, 0x007ceec8, 0x03a8d552, 0x009b27de, 0x0029900f, 0x002b7506}}}, + {X: Field{[10]uint32{0x03f3d629, 0x037a298b, 0x02fcf5af, 0x02ede67d, 0x030d8bdb, 0x018c7d6e, 0x037b2b48, 0x02985d7e, 0x03a994ee, 0x0038942a}}, Y: Field{[10]uint32{0x0143b0ea, 0x02f60da0, 0x01757409, 0x03b02ffc, 0x022e92c4, 0x02254c3e, 0x00b6fae6, 0x03ea182f, 0x00f59db0, 0x00200fcd}}}, + {X: Field{[10]uint32{0x0071ae00, 0x026b8a6e, 0x02372086, 0x00bb8eca, 0x02795304, 0x01563845, 0x009347a4, 0x011b8845, 0x026d0b59, 0x00060d5a}}, Y: Field{[10]uint32{0x015385cb, 0x03a6aee6, 0x01f08f19, 0x008eea30, 0x000ba6de, 0x032849f1, 0x0398ec8d, 0x01be0787, 0x01716b17, 0x0015bbc2}}}, + {X: Field{[10]uint32{0x00205533, 0x033caa44, 0x0288eed3, 0x035bdcf5, 0x02ca5932, 0x0030a795, 0x025ef3f3, 0x0182100d, 0x03f5e530, 0x000d6a3a}}, Y: Field{[10]uint32{0x03259958, 0x0061481f, 0x018c453a, 0x03570b41, 0x0220d30f, 0x02b69d67, 0x01410325, 0x0153788f, 0x01950429, 0x0027ab97}}}, + {X: Field{[10]uint32{0x02a4e1b9, 0x014107f9, 0x007bda70, 0x02427292, 0x037b3dbe, 0x014ea597, 0x0062b920, 0x023fa7aa, 0x02f525ea, 0x0000df81}}, Y: Field{[10]uint32{0x03ceb97c, 0x015fed87, 0x020d703f, 0x01a3f73d, 0x003f2f65, 0x00686650, 0x0313b604, 0x026fa88f, 0x03d35e48, 0x0020e467}}}, + {X: Field{[10]uint32{0x02131c27, 0x037b0657, 0x007131a4, 0x0119c636, 0x01483166, 0x03929bff, 0x00629476, 0x0000bc44, 0x0297ac6c, 0x002aeef9}}, Y: Field{[10]uint32{0x012f9dcb, 0x01c55cac, 0x00300929, 0x01126a92, 0x02fd7049, 0x0083abd3, 0x00d8a24a, 0x008bfdfe, 0x02cb9d51, 0x002cb249}}}, + {X: Field{[10]uint32{0x01b05878, 0x0161691a, 0x0204368a, 0x00dabab2, 0x015a1a36, 0x022454c5, 0x0029c8b7, 0x03730fdf, 0x02cb1484, 0x00137cda}}, Y: Field{[10]uint32{0x0241c41d, 0x0308379a, 0x02d09d4f, 0x012edff3, 0x00aa059f, 0x0255914d, 0x00417fb1, 0x03c098ff, 0x026fc08a, 0x003f85bf}}}, + {X: Field{[10]uint32{0x0399d0d7, 0x01f4a6f9, 0x0073123a, 0x018371f1, 0x03c8f49c, 0x02f6bdab, 0x01570e5e, 0x01a82a22, 0x02e31025, 0x0017fc53}}, Y: Field{[10]uint32{0x03e65d7b, 0x0074af3d, 0x010d8989, 0x01b15b3f, 0x0295382d, 0x02b66146, 0x02a923ee, 0x00beb23c, 0x013855eb, 0x0025bfc5}}}, + {X: Field{[10]uint32{0x015d119a, 0x00b7a8a1, 0x028104f6, 0x0320dabd, 0x02a24dba, 0x01eadc61, 0x01281a1b, 0x008bd1e4, 0x0052c1d4, 0x0005a84b}}, Y: Field{[10]uint32{0x00c17478, 0x0205c8c9, 0x03b2ab3a, 0x03d01838, 0x01d36a4b, 0x02eeaaea, 0x0196cb38, 0x015b791a, 0x0272f673, 0x001e9bbc}}}, + {X: Field{[10]uint32{0x01489ef5, 0x0003fea8, 0x00eda606, 0x02b2fa91, 0x0005fcdb, 0x03f559f9, 0x00b3d154, 0x02248292, 0x00338368, 0x0023d327}}, Y: Field{[10]uint32{0x03885717, 0x015932b6, 0x01b4e37d, 0x035232ee, 0x01a4b0ab, 0x018a78b9, 0x03c0082d, 0x01131eca, 0x004de064, 0x000aed6f}}}, + {X: Field{[10]uint32{0x02b83310, 0x035b4aaa, 0x017776ab, 0x00bf417d, 0x0219236d, 0x0140e672, 0x00ca399e, 0x01c04215, 0x039b0754, 0x001262fc}}, Y: Field{[10]uint32{0x02fd691c, 0x0394699a, 0x01d0c4dd, 0x0118b0d5, 0x02b5edcd, 0x0291752e, 0x007beb58, 0x0238daf3, 0x03ff0cb5, 0x00238b7a}}}, + {X: Field{[10]uint32{0x02fb5996, 0x01b84dbb, 0x01c1171e, 0x024047a2, 0x022ba51d, 0x012560cd, 0x02247d17, 0x034e5ac8, 0x020a2978, 0x001e051f}}, Y: Field{[10]uint32{0x03f85989, 0x00c349c3, 0x01fd41d8, 0x03d6e2c1, 0x004c75bf, 0x03ad1043, 0x01bf0fb2, 0x01986f9c, 0x030ca73b, 0x00299ade}}}, + {X: Field{[10]uint32{0x028d4927, 0x035df760, 0x01f663f4, 0x028b85ab, 0x0047e112, 0x00b7c012, 0x037aea1d, 0x01b1f951, 0x00d9fb23, 0x000d44a6}}, Y: Field{[10]uint32{0x00fe00f9, 0x00ab2077, 0x03f2067f, 0x035161e3, 0x01241094, 0x01862b94, 0x01c3884e, 0x008ea745, 0x01af8b6f, 0x001b2724}}}, + {X: Field{[10]uint32{0x02399d10, 0x00af2f85, 0x00a67a34, 0x01a2797e, 0x01c18146, 0x0121526b, 0x00ffc148, 0x01827093, 0x000c88fb, 0x003ed7ff}}, Y: Field{[10]uint32{0x00229ab3, 0x011b97ee, 0x00a0946f, 0x02472217, 0x0088cf57, 0x03a4ba5e, 0x03eff328, 0x02532e43, 0x013f9ced, 0x002a6578}}}, + {X: Field{[10]uint32{0x0032097b, 0x0293e812, 0x036b36c7, 0x0251df35, 0x0089565e, 0x00372aa8, 0x03bd1974, 0x027175c5, 0x03c44cc0, 0x0020d4ad}}, Y: Field{[10]uint32{0x010fe6bc, 0x02bdb1df, 0x01e236f8, 0x02ada531, 0x00f91c8f, 0x01dd2b9a, 0x018ca786, 0x0097641d, 0x019800fa, 0x002541f2}}}, + {X: Field{[10]uint32{0x01919f4a, 0x00104561, 0x0140bd82, 0x036d8ab6, 0x015d5ed1, 0x02ec7165, 0x01014d76, 0x009d1b5b, 0x000f273a, 0x0006f997}}, Y: Field{[10]uint32{0x0009a3f2, 0x0368d657, 0x03552da3, 0x00f202c8, 0x00f044e9, 0x03be0eba, 0x01470a83, 0x03e0e68f, 0x03302a38, 0x0036b263}}}, + {X: Field{[10]uint32{0x0358418e, 0x017e6302, 0x003a7ed6, 0x0227afdd, 0x008de14d, 0x03a003d9, 0x0365037a, 0x03889fba, 0x03a52f4b, 0x001c41fc}}, Y: Field{[10]uint32{0x01fca7a4, 0x01a9d29a, 0x00e6069f, 0x03caa857, 0x01927b2d, 0x023bab91, 0x00e429d1, 0x03cc9f45, 0x0009bd1a, 0x002ff3c7}}}, + {X: Field{[10]uint32{0x03312e3e, 0x00125ce5, 0x00cff9dd, 0x03300293, 0x00983389, 0x02c7e766, 0x0254a133, 0x02b96c73, 0x004be8ed, 0x000045ca}}, Y: Field{[10]uint32{0x0212b03d, 0x02d170e0, 0x01539638, 0x01de1b98, 0x0084e3af, 0x0321342e, 0x03519994, 0x03b5262f, 0x001e724f, 0x00247923}}}, + {X: Field{[10]uint32{0x000de54e, 0x02d129ec, 0x015ded31, 0x02db1f99, 0x0041c243, 0x0226d9c5, 0x01f1cd0d, 0x026ad194, 0x02deb1ff, 0x00282361}}, Y: Field{[10]uint32{0x030f0d2f, 0x0098a720, 0x0012c0ec, 0x03530b6f, 0x01a72ed8, 0x01d33252, 0x0364feef, 0x00e7455d, 0x03f6344d, 0x001343f9}}}, + {X: Field{[10]uint32{0x00e8c25f, 0x023b2d69, 0x015503f7, 0x00cf79c4, 0x0098cfc6, 0x02352282, 0x032cbf36, 0x01062bbb, 0x01cedf67, 0x00271130}}, Y: Field{[10]uint32{0x01e743fa, 0x01936f8c, 0x0335f81f, 0x01b79306, 0x03de3d3c, 0x03e61c30, 0x01a959b9, 0x03c258c7, 0x002086d3, 0x000f3688}}}, + {X: Field{[10]uint32{0x0339f149, 0x00ce2c88, 0x02319250, 0x012694ab, 0x00f85979, 0x03c935c5, 0x03118da6, 0x030196ea, 0x00755215, 0x00364cf9}}, Y: Field{[10]uint32{0x00baec45, 0x01f5bf22, 0x01dcb054, 0x00e74bc6, 0x030e277e, 0x012604a1, 0x03abfa60, 0x03c13778, 0x028e313a, 0x0017ec3c}}}, + {X: Field{[10]uint32{0x008a42cb, 0x003c74c6, 0x015ff63c, 0x014d96ab, 0x024c2f9e, 0x03c90ef1, 0x00105289, 0x014cb288, 0x0197ddd0, 0x001ff87c}}, Y: Field{[10]uint32{0x02472af7, 0x0159e3ff, 0x02c7cd3f, 0x02b1ae8a, 0x01a9ec6b, 0x015879d7, 0x03618286, 0x024863b8, 0x033fa186, 0x00204ec4}}}, + {X: Field{[10]uint32{0x0107f79c, 0x02ae54b1, 0x0151a96a, 0x02bacf5d, 0x037ba412, 0x00b71b55, 0x010789c7, 0x008409eb, 0x01218961, 0x0038d5a1}}, Y: Field{[10]uint32{0x023e3a30, 0x01919690, 0x029a8496, 0x00533579, 0x017d8201, 0x0377d351, 0x01fe225e, 0x02a2b2b9, 0x01058e2c, 0x001d9171}}}, + {X: Field{[10]uint32{0x02ebece4, 0x03b3e0ad, 0x0380d146, 0x020ee089, 0x00c667a1, 0x02daa768, 0x02bcefc3, 0x01128aaf, 0x01468a56, 0x00315abf}}, Y: Field{[10]uint32{0x00f1a8d4, 0x018d7e55, 0x01e750cc, 0x005071a4, 0x022915ba, 0x01a19526, 0x03c587cb, 0x00a11227, 0x0255a80e, 0x00279071}}}, + {X: Field{[10]uint32{0x01589345, 0x0347c9a8, 0x02d5600a, 0x023f46af, 0x01440f9f, 0x00257c38, 0x036042e1, 0x02a3c1ce, 0x033960e6, 0x002c90ba}}, Y: Field{[10]uint32{0x036dfde0, 0x00107961, 0x01ca4bb5, 0x02b7a11a, 0x00378579, 0x025bca8d, 0x002decb6, 0x03c280d8, 0x036df063, 0x00251369}}}, + {X: Field{[10]uint32{0x023bb827, 0x01ec41cc, 0x03d42af5, 0x029ad70e, 0x0378f835, 0x0339a1c0, 0x00a43f2f, 0x00b8ba22, 0x01666d2e, 0x000e94bf}}, Y: Field{[10]uint32{0x03af91c7, 0x0136a669, 0x034cc487, 0x035b4390, 0x020096c7, 0x023d3ca7, 0x015cea01, 0x01e9189d, 0x0177a7b3, 0x0004b944}}}, + {X: Field{[10]uint32{0x00d28f53, 0x01deba89, 0x026cf708, 0x03f8259e, 0x034a71c0, 0x0262a31a, 0x03072d25, 0x006b4451, 0x0215c883, 0x002ddf55}}, Y: Field{[10]uint32{0x02bf3132, 0x02318d27, 0x011760d1, 0x030cdaa3, 0x01f5cff2, 0x03de4d81, 0x02df83d5, 0x0299977a, 0x03cfa068, 0x0009756d}}}, + {X: Field{[10]uint32{0x008530dc, 0x0260da70, 0x0214d798, 0x013d3fde, 0x03f23d22, 0x0109aa89, 0x03847288, 0x00d6a14d, 0x003b61e4, 0x00391083}}, Y: Field{[10]uint32{0x00ca8572, 0x034b213b, 0x019a7f7c, 0x02a626c4, 0x029b3c67, 0x01622b65, 0x02bd74e1, 0x0212e66f, 0x00b48579, 0x00108ac1}}}, + {X: Field{[10]uint32{0x030aaaea, 0x00204158, 0x007cecae, 0x011262b4, 0x01236e3c, 0x01853ec0, 0x020fadda, 0x00a678ee, 0x01bfc6ab, 0x002222ff}}, Y: Field{[10]uint32{0x0370eb3c, 0x03d1dccd, 0x03453f06, 0x032761c4, 0x037ada97, 0x006a3d02, 0x00fb94aa, 0x0396018a, 0x013d58cf, 0x0021b9c9}}}, + {X: Field{[10]uint32{0x00ef419c, 0x01310d84, 0x02cce8ef, 0x00b52185, 0x000d850f, 0x004e6059, 0x03de398a, 0x022cc376, 0x018bf7d7, 0x003dd349}}, Y: Field{[10]uint32{0x03029204, 0x029ffc94, 0x02c9dfca, 0x02db5233, 0x0205d60e, 0x02ec4b4c, 0x0332213c, 0x02b7f250, 0x01af1e6d, 0x00344f52}}}, + {X: Field{[10]uint32{0x00da6df0, 0x00504417, 0x00ae0679, 0x0352deb0, 0x0365cea0, 0x006e4895, 0x00097861, 0x00120e9c, 0x029098d6, 0x002a2ccf}}, Y: Field{[10]uint32{0x0121c553, 0x03ced44d, 0x01ddc650, 0x030194b2, 0x021182b6, 0x01bfd1d8, 0x032598e9, 0x0255ec45, 0x038cc08d, 0x00163308}}}, + {X: Field{[10]uint32{0x023ef1ff, 0x0251c286, 0x03cb8969, 0x02d96b84, 0x027a4a6c, 0x01286857, 0x01dbbe3d, 0x03eb6639, 0x01547477, 0x0016be2c}}, Y: Field{[10]uint32{0x016f25bf, 0x012c68df, 0x03672cc8, 0x0056dbbd, 0x033c0a8c, 0x019ba05c, 0x008fac13, 0x0060c8db, 0x0201d0c6, 0x001497b4}}}, + {X: Field{[10]uint32{0x03bec21c, 0x027ca780, 0x030bc811, 0x0196adff, 0x02fa71e6, 0x037e198a, 0x01143833, 0x01712887, 0x00546d4c, 0x00005571}}, Y: Field{[10]uint32{0x00411aae, 0x0259afd4, 0x036d0378, 0x020bb7bf, 0x03638422, 0x03f5c91f, 0x00eaefe8, 0x00461737, 0x03672f64, 0x00083a67}}}, + {X: Field{[10]uint32{0x0025a56e, 0x0019831d, 0x01473101, 0x00319ce3, 0x00c8fd7f, 0x02998ddc, 0x0022aea5, 0x00b59b9f, 0x0186ee18, 0x0014e461}}, Y: Field{[10]uint32{0x0056152e, 0x01636746, 0x0052fabc, 0x01e9c848, 0x00cdbf72, 0x01c2e249, 0x02564a1e, 0x03b075f8, 0x00923052, 0x0031ffa8}}}, + {X: Field{[10]uint32{0x03ad6414, 0x0262ee8e, 0x00d4f679, 0x03ca356b, 0x01cc52d7, 0x01dd03d3, 0x0004abba, 0x02dc59d2, 0x01d9a0fa, 0x003de593}}, Y: Field{[10]uint32{0x01f62c59, 0x02b20d22, 0x03ccb31c, 0x008bc6ef, 0x02d469a1, 0x03b04779, 0x03dc5c2a, 0x03d8339e, 0x0364aba0, 0x001aa627}}}, + {X: Field{[10]uint32{0x01663183, 0x0167b6f3, 0x0258e720, 0x038ad6c5, 0x02ffd72e, 0x00c9f1bb, 0x000a909b, 0x03cb79e2, 0x008af514, 0x001d0723}}, Y: Field{[10]uint32{0x0087b2ae, 0x00915129, 0x01b49012, 0x00c7edbf, 0x02e40b6b, 0x022bf9cd, 0x013532d4, 0x00518371, 0x036de5de, 0x003cd749}}}, + {X: Field{[10]uint32{0x0347945a, 0x03e20d62, 0x037e9b2e, 0x03c4c485, 0x02606e55, 0x01bbd3c8, 0x02ea9f12, 0x028a2bf1, 0x01bf6cc2, 0x0037a31a}}, Y: Field{[10]uint32{0x00a48a02, 0x017292d0, 0x0052c8b8, 0x0108ec72, 0x0270d847, 0x013fdc19, 0x00e2fecb, 0x035851e0, 0x00536900, 0x0023798a}}}, + {X: Field{[10]uint32{0x0357c537, 0x0163a8db, 0x006afcd0, 0x03f66a11, 0x01d6a8d5, 0x00f7404d, 0x02523b2d, 0x02d07362, 0x0339619b, 0x0020785b}}, Y: Field{[10]uint32{0x03f4b31e, 0x0170996e, 0x0032f239, 0x0135f6eb, 0x00375c43, 0x01477bb1, 0x006de9b9, 0x03b32b45, 0x00737cd2, 0x0019e1bf}}}, + {X: Field{[10]uint32{0x026f988d, 0x008eab9e, 0x01a20f01, 0x00122ac8, 0x02e70f7f, 0x01c96cc2, 0x01625b8a, 0x02c8ba31, 0x0189d079, 0x001167a5}}, Y: Field{[10]uint32{0x03f38e08, 0x01fa310c, 0x0112ee76, 0x0069155d, 0x00915de2, 0x030d41b3, 0x02d26acc, 0x028a4b12, 0x02935b71, 0x00295bb7}}}, + {X: Field{[10]uint32{0x028ebddd, 0x013ce161, 0x03758228, 0x014746ae, 0x01f2e5bb, 0x01c2d3ab, 0x0018806a, 0x029ffc82, 0x03554fab, 0x002c1e75}}, Y: Field{[10]uint32{0x0274dffe, 0x016dc07f, 0x001dcfcf, 0x03115d18, 0x0120b6c0, 0x0390d3ea, 0x00f65773, 0x005d2c84, 0x002d552f, 0x00125777}}}, + {X: Field{[10]uint32{0x034f288b, 0x02af4b19, 0x00100569, 0x005cfc17, 0x00bb30af, 0x0356c42d, 0x0180de1d, 0x03ec8505, 0x03bb5983, 0x001d4e46}}, Y: Field{[10]uint32{0x02958d67, 0x0292bdf7, 0x0080db58, 0x00d347c7, 0x02b319f5, 0x004d694a, 0x026032f2, 0x012ae7ad, 0x02bac915, 0x0015f1e9}}}, + {X: Field{[10]uint32{0x01524db4, 0x02784d90, 0x03e7d5a8, 0x03dccbf2, 0x035bda94, 0x013f1a47, 0x0061069e, 0x023dd7f1, 0x0157f284, 0x001c50da}}, Y: Field{[10]uint32{0x033f0007, 0x014476f7, 0x0224fe92, 0x016973bc, 0x0195658a, 0x006e4f20, 0x022813c5, 0x02b75596, 0x0052ef4f, 0x0004a1fe}}}, + {X: Field{[10]uint32{0x01543f9c, 0x03263c50, 0x037853b7, 0x01adc9e7, 0x0094ad07, 0x00965c3b, 0x00c74c9e, 0x03425c37, 0x0333fa75, 0x002e40e2}}, Y: Field{[10]uint32{0x03cf838e, 0x01c2ac36, 0x02660734, 0x03cf5bd9, 0x02af59ce, 0x038e7235, 0x03c1bf48, 0x017b40fe, 0x01696929, 0x0028a30c}}}, + {X: Field{[10]uint32{0x01f86196, 0x022bc5e9, 0x034b083b, 0x02e759f0, 0x03f259bd, 0x01b6f832, 0x00664e63, 0x036403ef, 0x0028a9fb, 0x002cb18f}}, Y: Field{[10]uint32{0x0149ebdd, 0x0040fbb3, 0x012b0ee7, 0x008dbd70, 0x01b79207, 0x02544329, 0x03084218, 0x018f119c, 0x00fc069c, 0x002a3c14}}}, + {X: Field{[10]uint32{0x0017f39c, 0x00b31e89, 0x0128a5c9, 0x011bce3a, 0x01d06bf3, 0x03edf1e1, 0x027edfad, 0x008657d2, 0x01bea32b, 0x003374a9}}, Y: Field{[10]uint32{0x03fa621b, 0x02b775ad, 0x01f04d2d, 0x01320e0a, 0x02213386, 0x00ace02b, 0x0203ee72, 0x0070d80c, 0x0278ac42, 0x0002ad9b}}}, + {X: Field{[10]uint32{0x033db80f, 0x033e9867, 0x01c39780, 0x0031c93e, 0x01a27d74, 0x0220e3b1, 0x02f03a82, 0x029cdeb3, 0x0064b079, 0x00209742}}, Y: Field{[10]uint32{0x021071d3, 0x01c866d1, 0x02b43a87, 0x02b6f0b8, 0x01c2154f, 0x03817ae9, 0x027e427f, 0x011299fc, 0x00b7749e, 0x002fcfba}}}, + {X: Field{[10]uint32{0x035e24c7, 0x02e243ef, 0x02218608, 0x01dfc2c3, 0x01d0c364, 0x027d338f, 0x02930a87, 0x03d00b25, 0x023cbf6b, 0x000dede7}}, Y: Field{[10]uint32{0x00f66f1d, 0x016b40c4, 0x02e29204, 0x02cbdec3, 0x00c32a5b, 0x0084f0bc, 0x010ff4c9, 0x018c2e82, 0x02c7cec5, 0x00365c50}}}, + {X: Field{[10]uint32{0x012b6135, 0x008b0cd5, 0x039d8aed, 0x003beec1, 0x0389560b, 0x02d14baf, 0x01105bf5, 0x029d7502, 0x02d0678e, 0x003ee992}}, Y: Field{[10]uint32{0x011f938c, 0x00f02c83, 0x03e3bdf6, 0x0065f5b6, 0x035c628f, 0x02a01ab5, 0x01dd8441, 0x00dea2a1, 0x022de4e6, 0x0039994d}}}, + {X: Field{[10]uint32{0x00d9cf72, 0x028fe5fb, 0x027a859e, 0x0034610c, 0x03d3bd49, 0x021311db, 0x004897de, 0x034dbe76, 0x038e077e, 0x001d9e1e}}, Y: Field{[10]uint32{0x0180a9b3, 0x0336508e, 0x00158210, 0x022ccf59, 0x00e3ba22, 0x0075e37f, 0x0126011d, 0x00e30f30, 0x03141a3f, 0x00033de7}}}, + {X: Field{[10]uint32{0x00157b31, 0x00694340, 0x03e8a369, 0x02790be7, 0x01f16a12, 0x01986954, 0x026ba1c5, 0x028cd217, 0x01d0ffb3, 0x0009aeaf}}, Y: Field{[10]uint32{0x002c530d, 0x0101cb63, 0x008eee4c, 0x01c49fb7, 0x02e66a6c, 0x0080dc2c, 0x0266e33a, 0x00691bed, 0x02e2b1cf, 0x0006ce92}}}, + {X: Field{[10]uint32{0x0376307a, 0x000c75a7, 0x02008c1b, 0x03c8d811, 0x007ca4d3, 0x01dca7ca, 0x02aa8640, 0x0287a5e9, 0x03b77a2f, 0x00056bb6}}, Y: Field{[10]uint32{0x03073649, 0x033f65bf, 0x00788a6d, 0x01e14d53, 0x03f94088, 0x03017cda, 0x01746439, 0x008d81a9, 0x0142bf8b, 0x000cd0a8}}}, + {X: Field{[10]uint32{0x026fe467, 0x0003d5d1, 0x01fb3de1, 0x02837f79, 0x01c2b072, 0x01bbd330, 0x00d5767c, 0x03353f7d, 0x00a39bb7, 0x00263b38}}, Y: Field{[10]uint32{0x03227e28, 0x03d18faa, 0x02bba6f4, 0x00a5a829, 0x021e679d, 0x00e555b1, 0x0029d0f8, 0x024f9fae, 0x00a8218c, 0x00313a49}}}, + {X: Field{[10]uint32{0x03f373a9, 0x026daa0f, 0x03304198, 0x028becc8, 0x018a48cd, 0x0019eedc, 0x01ffafab, 0x00fbb533, 0x0105fc21, 0x001f619d}}, Y: Field{[10]uint32{0x0097d47c, 0x027bdd5f, 0x00c1b919, 0x03e233a8, 0x0096e167, 0x01290053, 0x03c417ef, 0x0081e065, 0x03f03c21, 0x00177d47}}}, + {X: Field{[10]uint32{0x01b3001f, 0x02dce8a5, 0x0117f410, 0x012275db, 0x02bf269a, 0x02c03578, 0x03ece8b7, 0x02387ef8, 0x01d74357, 0x003c93c6}}, Y: Field{[10]uint32{0x0223631f, 0x014d89c1, 0x0020d53e, 0x011d4520, 0x0116d2b5, 0x00d3d31e, 0x0048bbbb, 0x022d99ec, 0x03ff5544, 0x00191290}}}, + {X: Field{[10]uint32{0x000efd59, 0x0374ef20, 0x0227b923, 0x007480e6, 0x021fd106, 0x0352fa88, 0x0111281e, 0x00a5b87a, 0x03045c22, 0x0024e14c}}, Y: Field{[10]uint32{0x03eb7040, 0x03f9a662, 0x011628c2, 0x0087a7eb, 0x022607da, 0x01332417, 0x0399bbfe, 0x00b4543d, 0x00f600cd, 0x0008a623}}}, + {X: Field{[10]uint32{0x02319743, 0x014c7251, 0x01f0daf1, 0x03b2625f, 0x01b91ff4, 0x039349a1, 0x03b14ee8, 0x013c5894, 0x03053983, 0x003c2431}}, Y: Field{[10]uint32{0x000bd522, 0x0160d04a, 0x02d2abf1, 0x02326bce, 0x0228c59c, 0x014e80ad, 0x0208391f, 0x009c76a2, 0x00851d30, 0x003045c6}}}, + {X: Field{[10]uint32{0x02a78c6e, 0x01b34fbf, 0x038e67fb, 0x0022a401, 0x000df9bb, 0x00aa3abf, 0x00234aeb, 0x03cedd28, 0x00ecab5b, 0x0003a3f2}}, Y: Field{[10]uint32{0x02ddabe5, 0x001eca09, 0x035c29b0, 0x002d2439, 0x01a8397c, 0x018b829d, 0x02fcd713, 0x026edd1b, 0x016534ce, 0x00002c20}}}, + {X: Field{[10]uint32{0x03126785, 0x02835c67, 0x03aa09b0, 0x02eb200c, 0x03c7426d, 0x012bcdf8, 0x003cef69, 0x010f9cc0, 0x00d187cb, 0x00118963}}, Y: Field{[10]uint32{0x01ad4fc4, 0x02b48dd5, 0x006d4601, 0x02fdc20b, 0x0175576e, 0x030da608, 0x00dd82e2, 0x002089d9, 0x01a75f06, 0x00211850}}}, + {X: Field{[10]uint32{0x00a3e430, 0x02fb9ab3, 0x037a1e65, 0x03cd17e6, 0x0394109b, 0x010cd042, 0x01d27c3f, 0x021fbd4a, 0x033bdb38, 0x0039fce2}}, Y: Field{[10]uint32{0x02cd589f, 0x02b0d24a, 0x00f8109f, 0x02deb6f2, 0x00ab1faf, 0x02c1fa2b, 0x02dec0c0, 0x031c0a42, 0x00f15eae, 0x003d4910}}}, + {X: Field{[10]uint32{0x03537aec, 0x02c0e94b, 0x0062eda5, 0x019fdcff, 0x02fa9a01, 0x007d5a76, 0x03d5b750, 0x01e635d7, 0x00331472, 0x000b4a7a}}, Y: Field{[10]uint32{0x012d2be6, 0x025dba5e, 0x00001d18, 0x017d688c, 0x03d9e2f5, 0x00164d80, 0x03c58cfc, 0x02e7ea85, 0x011ab117, 0x0014b4f7}}}, + {X: Field{[10]uint32{0x0091ffb6, 0x025f470e, 0x03c7c8ac, 0x0291be50, 0x00f47609, 0x01d54b76, 0x03b44c9c, 0x029edddf, 0x009cabf7, 0x0028ecbb}}, Y: Field{[10]uint32{0x00fc19de, 0x0272efcf, 0x03417d55, 0x01856c06, 0x024d5280, 0x00a96b59, 0x00933852, 0x00e07d4c, 0x0070f091, 0x001b38e3}}}, + {X: Field{[10]uint32{0x0100f473, 0x03d974cc, 0x03015a21, 0x01896150, 0x026cefe7, 0x02cf46a3, 0x02504dda, 0x0295b039, 0x001e7582, 0x002bf2cf}}, Y: Field{[10]uint32{0x03171af8, 0x029db1a2, 0x004a38e5, 0x021d5ecb, 0x0367edbd, 0x03864c40, 0x02afc618, 0x02126629, 0x039dfbeb, 0x001aebc7}}}, + {X: Field{[10]uint32{0x010e2ac8, 0x00d58976, 0x006eccdd, 0x0129242e, 0x026650f7, 0x0119aa30, 0x022bbea9, 0x02559efd, 0x0212dc89, 0x00222cbc}}, Y: Field{[10]uint32{0x018c30a5, 0x01629934, 0x0208e7e4, 0x010b6652, 0x026ecd6c, 0x0285c8f8, 0x036d4f5d, 0x0054ff5f, 0x017bdef6, 0x001cff5d}}}, + {X: Field{[10]uint32{0x01adef3c, 0x02646f87, 0x000d493d, 0x01157125, 0x03395c59, 0x0369a8a9, 0x01c971d7, 0x00a45994, 0x029f4ca3, 0x0002ff7a}}, Y: Field{[10]uint32{0x01bc20d8, 0x02d93608, 0x00a17578, 0x01947db5, 0x004166bc, 0x02e01df3, 0x000adea5, 0x03da1108, 0x00447ef3, 0x00209d1c}}}, + {X: Field{[10]uint32{0x00973ae5, 0x00d91fb9, 0x0265b521, 0x0298f593, 0x00e8fdf6, 0x01247b3c, 0x012e3869, 0x0175a729, 0x0381aa76, 0x00175172}}, Y: Field{[10]uint32{0x03d019db, 0x03e0ac4b, 0x022bdb17, 0x03f8f2be, 0x00fdab36, 0x0040e9f7, 0x03517e7c, 0x01b5dddc, 0x032b51a7, 0x00292928}}}, + {X: Field{[10]uint32{0x02e7109d, 0x0019d4de, 0x033ae87d, 0x0249174b, 0x036d6fe0, 0x0310f976, 0x034fa531, 0x026652a8, 0x03cee14e, 0x003ce940}}, Y: Field{[10]uint32{0x03ec49e8, 0x0157957c, 0x01785ac5, 0x02e81cc9, 0x03568aa5, 0x006546d8, 0x0322daad, 0x0142d081, 0x00c0a24d, 0x000ac5c5}}}, + {X: Field{[10]uint32{0x00cbeeb5, 0x01ab78e2, 0x012d9b66, 0x014cdf47, 0x02042619, 0x02e39ae2, 0x00c225ea, 0x00bb4915, 0x036d6f81, 0x002530e9}}, Y: Field{[10]uint32{0x03a953e3, 0x0358e87b, 0x0104cbc8, 0x03eb59b8, 0x023d1351, 0x02fc6062, 0x00893b95, 0x019d1b75, 0x02e6aa40, 0x002ee273}}}, + {X: Field{[10]uint32{0x00f4c050, 0x0242323c, 0x02a3cc0c, 0x03446077, 0x01b9a2d3, 0x007f696f, 0x015a6625, 0x00900ce7, 0x02810523, 0x0008f6ff}}, Y: Field{[10]uint32{0x01eae6b2, 0x016e12d3, 0x036794e4, 0x0267502a, 0x00b5c168, 0x01e7b439, 0x00f8385c, 0x0043bd22, 0x0271229f, 0x0032bbce}}}, + {X: Field{[10]uint32{0x00bbf1d2, 0x00a7b1ab, 0x03b88e46, 0x03286d2e, 0x01d2dcbe, 0x015e4d7d, 0x01dc69dc, 0x02186704, 0x03d120ef, 0x000e41f8}}, Y: Field{[10]uint32{0x0015e853, 0x02611185, 0x00055ba2, 0x02f16288, 0x00e6aad1, 0x0324da11, 0x017b0a60, 0x00ae7730, 0x02b7d74e, 0x0010e3e5}}}, + {X: Field{[10]uint32{0x032b7d9c, 0x03c17859, 0x00b710e6, 0x012ccde2, 0x01651c94, 0x0101fd64, 0x02a6a373, 0x0013f602, 0x03193eeb, 0x00030502}}, Y: Field{[10]uint32{0x01e44072, 0x001dee4a, 0x02e641f7, 0x03bd0c34, 0x03899450, 0x001d8ed8, 0x01fef6b7, 0x01150e75, 0x011559e2, 0x002526ff}}}, + {X: Field{[10]uint32{0x032ea56c, 0x02951f83, 0x028d1740, 0x02dac1b8, 0x002563c3, 0x00c3dd79, 0x012fe269, 0x00e72077, 0x005bc96a, 0x0025df3c}}, Y: Field{[10]uint32{0x02a10d52, 0x03039ae6, 0x02dc0e70, 0x01e0daa7, 0x0307e158, 0x01b291a2, 0x0295e234, 0x005930db, 0x023a8508, 0x0000e00b}}}, + {X: Field{[10]uint32{0x00a034e3, 0x009ec836, 0x003761e8, 0x02ce7b8f, 0x02795a7b, 0x039395fd, 0x0151e5a9, 0x0383532b, 0x00d63995, 0x00041a70}}, Y: Field{[10]uint32{0x027fe33b, 0x03065316, 0x028041d2, 0x02b1e23f, 0x0047963a, 0x02aed792, 0x01d89c47, 0x01319560, 0x00879c0e, 0x00386a85}}}, + {X: Field{[10]uint32{0x013e3682, 0x02096cf2, 0x0245bba3, 0x03d4d49e, 0x0142419a, 0x0138a9d5, 0x03ab10c7, 0x010607fc, 0x0280c341, 0x003fde31}}, Y: Field{[10]uint32{0x00d3615e, 0x0128dd89, 0x0256e1fc, 0x01d37cbc, 0x0186c8c5, 0x002cb6fb, 0x032382e2, 0x0243cdda, 0x02dbf053, 0x003badc2}}}, + {X: Field{[10]uint32{0x02bcddc7, 0x01abf661, 0x03d05905, 0x01af570d, 0x002b0cb2, 0x020e29a8, 0x004c3ff5, 0x00f5aa70, 0x03033acd, 0x0017b27a}}, Y: Field{[10]uint32{0x032aff03, 0x0099d25c, 0x01c8b9ae, 0x02d230ea, 0x03e39d92, 0x03651170, 0x000bed1e, 0x0037c05f, 0x03f60eed, 0x0024a8a1}}}, + {X: Field{[10]uint32{0x031b37d1, 0x0363b211, 0x03ee9339, 0x01369f71, 0x00bef0a5, 0x0236f1fa, 0x0267e14d, 0x034d2dfb, 0x02ba792d, 0x003aa881}}, Y: Field{[10]uint32{0x011ee92e, 0x0041f1a3, 0x025e2695, 0x008475e3, 0x0355e00d, 0x01030585, 0x02f2530c, 0x027281ff, 0x025ebe71, 0x00155df9}}}, + {X: Field{[10]uint32{0x00eb3ed7, 0x014abf43, 0x03f54af9, 0x023b4f61, 0x02689ef0, 0x01573be8, 0x036789d4, 0x0004a8f5, 0x02f56034, 0x0009b418}}, Y: Field{[10]uint32{0x01323424, 0x02d60db4, 0x011094e7, 0x02896b3a, 0x01dbe6fa, 0x00347db7, 0x00340c5f, 0x0161de67, 0x01acef6f, 0x0017bfc7}}}, + {X: Field{[10]uint32{0x02602d48, 0x03c89c47, 0x03bd1492, 0x03e70d06, 0x021a2413, 0x0047b6a3, 0x009e449d, 0x02d8a93d, 0x015ae50d, 0x00200350}}, Y: Field{[10]uint32{0x0002eb50, 0x0255fd5f, 0x036fbdc5, 0x0039d580, 0x03d5c8cb, 0x0344b67c, 0x019ec5cf, 0x026d748a, 0x016d05d1, 0x0015a72b}}}, + {X: Field{[10]uint32{0x009a1c90, 0x00f189e7, 0x006bb985, 0x02f83e16, 0x02e1531f, 0x0068859d, 0x03aaca5f, 0x0370665c, 0x0352bc16, 0x001b0068}}, Y: Field{[10]uint32{0x00cc04e7, 0x01cec63e, 0x027654c0, 0x034b5935, 0x01a39a17, 0x0095204e, 0x027226ab, 0x01a83c9d, 0x0342c959, 0x0020cf75}}}, + {X: Field{[10]uint32{0x03742c26, 0x01390c4d, 0x038e80a5, 0x02e3423b, 0x01f0b914, 0x01ce346b, 0x00e7c4d4, 0x03fc3141, 0x0122f1b3, 0x000eb332}}, Y: Field{[10]uint32{0x03cb0ad7, 0x0026b2c0, 0x00b1786a, 0x00620b84, 0x0152a2d1, 0x014aca5e, 0x00dee26c, 0x002cd0c1, 0x008327d6, 0x002aa735}}}, + {X: Field{[10]uint32{0x00f8ec72, 0x01c3fc74, 0x03edf2ec, 0x0307b9ba, 0x02f8d978, 0x03e398d4, 0x0380f753, 0x01cfc828, 0x0072828b, 0x002837d7}}, Y: Field{[10]uint32{0x00ac6670, 0x01ea27e9, 0x0230680d, 0x02dbac3b, 0x02b1327d, 0x01e79c8c, 0x02226893, 0x02f44c79, 0x01bef1e0, 0x002c8c2b}}}, + {X: Field{[10]uint32{0x03b52c73, 0x015ee5cc, 0x005a449d, 0x01c34ffe, 0x02d4bbc9, 0x01521971, 0x03a8dbbd, 0x03b26181, 0x01949776, 0x002757c3}}, Y: Field{[10]uint32{0x00afc1a8, 0x03a83c80, 0x02cf202c, 0x0055f446, 0x01ad7faf, 0x03d834d1, 0x038a056f, 0x00eb7552, 0x03baf489, 0x003fc23b}}}, + {X: Field{[10]uint32{0x01d3d84e, 0x03c8421b, 0x00917fb7, 0x02d699ce, 0x00228f54, 0x022947b2, 0x025b2935, 0x0208bb7a, 0x012d9ea1, 0x0037bd76}}, Y: Field{[10]uint32{0x008b3129, 0x01667b80, 0x0307a479, 0x002b5f00, 0x039d5bc2, 0x000affcd, 0x00d3ad02, 0x03af0c4e, 0x000db94a, 0x0002db1d}}}, + {X: Field{[10]uint32{0x00df33de, 0x010b9961, 0x03832736, 0x03c6e9ba, 0x03643fb0, 0x03d341d7, 0x007136c0, 0x035d38fe, 0x0105cdc8, 0x003ea42c}}, Y: Field{[10]uint32{0x00bba36d, 0x01e77a94, 0x00c273c0, 0x02494989, 0x003a180d, 0x003c3891, 0x029e852f, 0x023ae927, 0x00c373f5, 0x000f9aca}}}, + {X: Field{[10]uint32{0x03d0eb52, 0x02e33468, 0x02349575, 0x02ca5c1a, 0x01ce077c, 0x0353677e, 0x01c84613, 0x01ee4300, 0x0021ff2f, 0x002084ba}}, Y: Field{[10]uint32{0x003185f0, 0x0390ffdc, 0x02b5b8f8, 0x03b4b22b, 0x01d24bb5, 0x00d5018e, 0x0256e8f3, 0x039d5bf6, 0x01db2fa3, 0x00356701}}}, + {X: Field{[10]uint32{0x0061220d, 0x0362c83b, 0x00e49f9c, 0x02dcabed, 0x0124f155, 0x00074579, 0x01a641e1, 0x01c75d2c, 0x00c81d1f, 0x003b8d03}}, Y: Field{[10]uint32{0x02286f37, 0x020ce0ab, 0x01438f00, 0x007bd604, 0x0086f814, 0x02a3a2c1, 0x02fa7964, 0x017f5fc7, 0x033f2535, 0x00245760}}}, + {X: Field{[10]uint32{0x002afee1, 0x009bd951, 0x026b50aa, 0x0025fe0d, 0x02302b50, 0x02dc88f8, 0x00b257fb, 0x00f60dd0, 0x0125dd2e, 0x000b14d5}}, Y: Field{[10]uint32{0x021cf765, 0x01c9c4ed, 0x03947672, 0x01e5fdcf, 0x0292d43a, 0x03ced500, 0x038f9662, 0x02d9a13c, 0x014ef945, 0x00073514}}}, + {X: Field{[10]uint32{0x0267d94d, 0x026b517e, 0x00f2baae, 0x0075ba05, 0x03404b9e, 0x00a97e5d, 0x00a9083a, 0x028a233d, 0x03cf8b57, 0x0037ddd8}}, Y: Field{[10]uint32{0x01580ce2, 0x030ceb2c, 0x0309cb4f, 0x01706a49, 0x01bf0529, 0x00e23ba7, 0x02276bdd, 0x02d23184, 0x033631fd, 0x0013df70}}}, + {X: Field{[10]uint32{0x00dcee60, 0x0049a83b, 0x00da18fd, 0x023d3579, 0x038ff99b, 0x0335b418, 0x0374b928, 0x03c86044, 0x0240d6d0, 0x000d4530}}, Y: Field{[10]uint32{0x0197fca2, 0x00297190, 0x035cee53, 0x02c9c825, 0x02ac17ab, 0x01ddfb46, 0x018421c7, 0x02be00f2, 0x034a1a1b, 0x000a8347}}}, + {X: Field{[10]uint32{0x02e40a27, 0x012f4f1a, 0x0360a0b5, 0x016364d7, 0x00237a1b, 0x02d50755, 0x01de551a, 0x032e0653, 0x01d9e58b, 0x0000f79d}}, Y: Field{[10]uint32{0x01d97c75, 0x02cae349, 0x03ddc455, 0x036bf756, 0x033ec422, 0x01bc940d, 0x03ad8c48, 0x02c1631a, 0x00dbbe2d, 0x0026b685}}}, + {X: Field{[10]uint32{0x01e0420f, 0x0228229b, 0x005ddae2, 0x014bd40b, 0x0290ad3d, 0x0357ac70, 0x00144f81, 0x00d56f17, 0x020b1804, 0x0029ca33}}, Y: Field{[10]uint32{0x03ddad3d, 0x00f40051, 0x004f7ac9, 0x02e7b0cd, 0x0142cce3, 0x0215247f, 0x034893fa, 0x0146833e, 0x00a8f72b, 0x0010e1f3}}}, + {X: Field{[10]uint32{0x0151c39b, 0x00761d15, 0x0032e16c, 0x02aeaa50, 0x011d8234, 0x0140ea05, 0x03b22e02, 0x01130251, 0x028a05b8, 0x003b0f26}}, Y: Field{[10]uint32{0x02bd7fa6, 0x01790423, 0x03043382, 0x033ba0da, 0x00c8ac51, 0x013b7eba, 0x00845ca4, 0x03ea4d98, 0x00ef45f0, 0x001ec22f}}}, + {X: Field{[10]uint32{0x024761db, 0x023b1568, 0x02e9326a, 0x0333a61c, 0x03e619e7, 0x005d4cb3, 0x02b7e6c6, 0x016b2cee, 0x01562494, 0x002c05cf}}, Y: Field{[10]uint32{0x01f1b381, 0x0246b8c1, 0x0310d445, 0x03cc4c83, 0x0172a81d, 0x026372c4, 0x03eff121, 0x001d8743, 0x035f3e9a, 0x001e349e}}}, + {X: Field{[10]uint32{0x00cd73f6, 0x03658010, 0x023a7970, 0x0047e565, 0x034e04bd, 0x034e92e3, 0x03c3890e, 0x03722e5d, 0x03f3cd43, 0x00367ace}}, Y: Field{[10]uint32{0x03b23044, 0x016cbf58, 0x01c41e7f, 0x039326da, 0x000510b9, 0x02314012, 0x01db7189, 0x020228fc, 0x035cc42e, 0x0026065a}}}, + {X: Field{[10]uint32{0x01a84e74, 0x01530219, 0x03f107ca, 0x02c07009, 0x0029bbf1, 0x007e4ace, 0x02026062, 0x008c2b1d, 0x01af8a40, 0x003ef694}}, Y: Field{[10]uint32{0x00d6ccf5, 0x00944eff, 0x03c71e81, 0x02e8eef9, 0x038fd427, 0x024043f2, 0x00729e4e, 0x00ef5532, 0x0194aa45, 0x001920ce}}}, + {X: Field{[10]uint32{0x02583f9d, 0x03e1cbee, 0x02cf808a, 0x0317c14c, 0x03472b14, 0x00498beb, 0x01646616, 0x0065983d, 0x01a751be, 0x0002b92e}}, Y: Field{[10]uint32{0x0295ee5e, 0x019cb925, 0x02281f4b, 0x01e3693e, 0x03e2bd40, 0x02b4ead7, 0x00c6eed9, 0x01f969bc, 0x008baa9d, 0x0022cb09}}}, + {X: Field{[10]uint32{0x00cf6ff5, 0x02db8313, 0x036dda40, 0x0380c7b7, 0x00f29764, 0x0118a117, 0x028c6a2e, 0x02009859, 0x01520608, 0x00160100}}, Y: Field{[10]uint32{0x03329485, 0x0069c076, 0x030cd5fb, 0x023ffb41, 0x00a2e5f8, 0x00e65db6, 0x032f9a4e, 0x03013681, 0x02e64a83, 0x0034be5a}}}, + {X: Field{[10]uint32{0x007e029e, 0x029cc993, 0x0203b57c, 0x0098711a, 0x03cf477e, 0x02bf3d1f, 0x01abbd9f, 0x003e058e, 0x02865738, 0x00130a35}}, Y: Field{[10]uint32{0x00ed8a70, 0x02c09383, 0x0202259f, 0x01045436, 0x023122a9, 0x02b3eb05, 0x02a67e80, 0x01785015, 0x029c4fa7, 0x001a52e2}}}, + {X: Field{[10]uint32{0x0325c9a4, 0x016a4b3f, 0x026b9046, 0x01ddc5e6, 0x016984fc, 0x03601be0, 0x03b51a73, 0x01561fc8, 0x02b39e00, 0x00378816}}, Y: Field{[10]uint32{0x01273d83, 0x0170c9f1, 0x011355af, 0x010a6bb2, 0x0048f68e, 0x03ab304b, 0x002cf1f0, 0x03070b6d, 0x025e12ef, 0x003b610c}}}, + {X: Field{[10]uint32{0x014273f4, 0x031ada56, 0x025f1b3e, 0x0225b48a, 0x01b968f5, 0x0087995c, 0x0258dd57, 0x02c29d2d, 0x00680c2c, 0x0017aa0a}}, Y: Field{[10]uint32{0x004a9499, 0x008df48e, 0x038ad6e2, 0x00e40794, 0x00e18285, 0x00dbdb16, 0x02decce6, 0x0193e04e, 0x02b08db2, 0x00223443}}}, + {X: Field{[10]uint32{0x024998ba, 0x00b40d8c, 0x03c9c37f, 0x011b5ee6, 0x03c3b0dd, 0x038f6d39, 0x00bd98a3, 0x01d05908, 0x03c86449, 0x0006273d}}, Y: Field{[10]uint32{0x02daa083, 0x00960087, 0x03da204d, 0x0235c8fd, 0x01742211, 0x01f7581b, 0x0201b1cf, 0x03fca0d9, 0x01ced46d, 0x002ecd02}}}, + {X: Field{[10]uint32{0x0082789f, 0x014dbe6f, 0x0214d3cf, 0x035e3b97, 0x013c3c41, 0x02040091, 0x00680265, 0x00350c22, 0x018738f5, 0x001c285c}}, Y: Field{[10]uint32{0x0027c1d6, 0x0118b5ef, 0x022962b9, 0x0116a7cd, 0x02101dc4, 0x023c2747, 0x03338701, 0x014df907, 0x0120e112, 0x00057254}}}, + {X: Field{[10]uint32{0x03b3a368, 0x011ae6c3, 0x03865cff, 0x02a91a0c, 0x018e4271, 0x00c04421, 0x0020eedf, 0x036db823, 0x00ff622a, 0x0015e2b0}}, Y: Field{[10]uint32{0x03d7f851, 0x007296ee, 0x0215f1f0, 0x03d4759f, 0x026b0cea, 0x03542062, 0x01b2f7d9, 0x005cb4ae, 0x01ddf5f3, 0x003dc468}}}, + {X: Field{[10]uint32{0x01840071, 0x02c178a3, 0x01aea3e3, 0x01dfe9b3, 0x035887f1, 0x0373a296, 0x00738bad, 0x029d1f59, 0x0003476a, 0x003727ef}}, Y: Field{[10]uint32{0x01eee1b4, 0x03c293a2, 0x03ab9515, 0x01d33d39, 0x008bd267, 0x00a53954, 0x0194a19d, 0x037497e3, 0x012c8087, 0x00303d9d}}}, + {X: Field{[10]uint32{0x03b0294d, 0x02548551, 0x0178fe02, 0x0371165b, 0x014bb817, 0x00f5cc54, 0x004dec0b, 0x03357cba, 0x00ffa348, 0x0025d26b}}, Y: Field{[10]uint32{0x0381a1c6, 0x03a13815, 0x0116723d, 0x03265140, 0x03d89856, 0x0039f480, 0x02ec20be, 0x0120436b, 0x01ea35e5, 0x0037d99f}}}, + {X: Field{[10]uint32{0x02657d85, 0x034d0f8c, 0x032e8e92, 0x02635ac4, 0x00ae8e7a, 0x02a0551e, 0x0359f21f, 0x01cc370c, 0x01cf2fd2, 0x0038e7ef}}, Y: Field{[10]uint32{0x01b5e01c, 0x001ac2f9, 0x0028320a, 0x01e230c7, 0x02624415, 0x01922168, 0x026ae3e3, 0x021659da, 0x008170a7, 0x002ebfa6}}}, + {X: Field{[10]uint32{0x01402c09, 0x02ae2fe4, 0x02b89e0f, 0x00a83a8c, 0x02e04b69, 0x03244d45, 0x000bda4d, 0x00dc4830, 0x014e27f1, 0x00180240}}, Y: Field{[10]uint32{0x02359f6b, 0x01826750, 0x032e5708, 0x02a1b3b0, 0x01eb4006, 0x0376e998, 0x0396f588, 0x00734b2d, 0x0094f6bd, 0x000d2442}}}, + {X: Field{[10]uint32{0x03f2f773, 0x025223a1, 0x02162d41, 0x00b50d88, 0x03b644c9, 0x01dacfbb, 0x039bec4f, 0x011b60be, 0x0247d02e, 0x002fc13c}}, Y: Field{[10]uint32{0x002172f6, 0x0073af1f, 0x0284d32b, 0x016f07b5, 0x00302e12, 0x019d38d5, 0x019ab004, 0x00b9303c, 0x00e8bb3c, 0x003591bd}}}, + {X: Field{[10]uint32{0x01e5e3c3, 0x0137ea8c, 0x01acff5b, 0x02af0c3a, 0x013e5468, 0x00571b66, 0x0071efd9, 0x02cd4e16, 0x03ecb122, 0x0025827d}}, Y: Field{[10]uint32{0x008f9a27, 0x02d43766, 0x015925d6, 0x03e7bae5, 0x01ebb4d9, 0x0138ab62, 0x0178ac77, 0x03c2e1c5, 0x012eb933, 0x00041af1}}}, + {X: Field{[10]uint32{0x03ab9abe, 0x00ab5882, 0x033668da, 0x007537b1, 0x03f5ae58, 0x032f7d5b, 0x03440fb5, 0x02f89681, 0x003a0e1e, 0x002da433}}, Y: Field{[10]uint32{0x0049dbd1, 0x019aa5f8, 0x0135fb96, 0x03d89269, 0x0335e5f9, 0x02db0595, 0x01a96032, 0x00f76cb3, 0x0023fd3a, 0x0020f340}}}, + {X: Field{[10]uint32{0x01d326d4, 0x00025de4, 0x0338d6cd, 0x0120e56f, 0x002c9479, 0x02a42636, 0x022bc114, 0x01dd106a, 0x008ced50, 0x001cb694}}, Y: Field{[10]uint32{0x03668457, 0x03ed19cf, 0x03e095ea, 0x036ee045, 0x02e5d743, 0x03fb248b, 0x01780364, 0x03a8ac3a, 0x02933433, 0x000596ea}}}, + {X: Field{[10]uint32{0x01851c37, 0x00726dea, 0x0101729b, 0x006e6174, 0x01113320, 0x004969cb, 0x014322f5, 0x00c024a5, 0x016e540a, 0x00383f44}}, Y: Field{[10]uint32{0x01b88a92, 0x024117b9, 0x017ac850, 0x01addde6, 0x01a516a0, 0x00c34c55, 0x01e899d6, 0x01c1f952, 0x027648aa, 0x0031af1c}}}, + {X: Field{[10]uint32{0x00c10af1, 0x00ada0a5, 0x01c13abe, 0x007341a5, 0x030297f0, 0x0220fe76, 0x00d6389e, 0x03904bb8, 0x03ea85d4, 0x002752e2}}, Y: Field{[10]uint32{0x03556181, 0x014962a5, 0x038d38a9, 0x02ef9a28, 0x035bb66e, 0x02a2125c, 0x02e62fd6, 0x0020cb66, 0x00d73f7c, 0x001788a0}}}, + {X: Field{[10]uint32{0x008e08ff, 0x01e8b50e, 0x02d25505, 0x01547085, 0x01069f12, 0x0357acc7, 0x0056123c, 0x01b81377, 0x0395aa4b, 0x003bbe10}}, Y: Field{[10]uint32{0x022d2376, 0x035ad875, 0x039280b1, 0x01b56658, 0x0087797e, 0x00c5e712, 0x018b26c7, 0x010d9103, 0x02a434e1, 0x00114262}}}, + {X: Field{[10]uint32{0x010d7654, 0x02845972, 0x00de739a, 0x02bdb983, 0x03b4652d, 0x01dbbd09, 0x034371e0, 0x02392184, 0x007d56e3, 0x0019bf97}}, Y: Field{[10]uint32{0x011a2fba, 0x022a1370, 0x02582a10, 0x021259b2, 0x0196d4c3, 0x032edb13, 0x000ad433, 0x0324edf9, 0x026bb6ed, 0x000b5ca4}}}, + {X: Field{[10]uint32{0x008ea2ed, 0x031b7cb0, 0x027afdc2, 0x030a4e7c, 0x0082f9e1, 0x02a60f26, 0x015a304a, 0x032bb331, 0x01cc1818, 0x00144d7e}}, Y: Field{[10]uint32{0x003f22d6, 0x028d8878, 0x0295427c, 0x03851e61, 0x002619b5, 0x0056b86d, 0x00baf4e1, 0x005d413e, 0x01d27dfe, 0x0016949b}}}, + {X: Field{[10]uint32{0x026487ca, 0x03e6d88f, 0x0229c3fd, 0x022b386b, 0x0182e331, 0x008a8f8a, 0x03fa2bcc, 0x012a700b, 0x0089af7f, 0x00068df0}}, Y: Field{[10]uint32{0x012464a5, 0x0157fc0f, 0x02c183c9, 0x0048d74b, 0x03509b03, 0x01cd9cb3, 0x02b33d23, 0x008c2ea5, 0x00338522, 0x0034e270}}}, + {X: Field{[10]uint32{0x03a248a0, 0x00461211, 0x01576e4a, 0x00888bec, 0x01ed1edb, 0x02405be5, 0x03c68dfc, 0x02bd0244, 0x01ff15da, 0x00127de9}}, Y: Field{[10]uint32{0x01abd8fd, 0x0231e9ee, 0x03f611a1, 0x02086975, 0x00d5ebec, 0x029aefbd, 0x0394246f, 0x01ef27a5, 0x03013d63, 0x003e6d56}}}, + {X: Field{[10]uint32{0x02641ed7, 0x02abe207, 0x03130253, 0x00d6b0eb, 0x003b87f8, 0x01bac11c, 0x03f0f1e2, 0x03e0e481, 0x005e5d9e, 0x002091e1}}, Y: Field{[10]uint32{0x013c5f1e, 0x01102a79, 0x011de3e2, 0x023c8fce, 0x03b4409c, 0x032d0ab5, 0x01b19474, 0x026139fc, 0x010c1a23, 0x0015df5e}}}, + {X: Field{[10]uint32{0x010e0749, 0x006164f6, 0x024fb8f1, 0x00f897ba, 0x0257b782, 0x00214fa3, 0x0292ef61, 0x000906b3, 0x004ecd16, 0x0020a566}}, Y: Field{[10]uint32{0x00ac8353, 0x0236f230, 0x003c14c3, 0x0259e032, 0x022c5dac, 0x01ec70e2, 0x02450e76, 0x0357dce6, 0x01a66798, 0x0018d4c8}}}, + {X: Field{[10]uint32{0x01d75461, 0x03a7200f, 0x015377b2, 0x004ac4d0, 0x01fb5db4, 0x01c31a2d, 0x00ba34e7, 0x03d7fef8, 0x03f6d8fc, 0x003530ca}}, Y: Field{[10]uint32{0x0085f93d, 0x014fd991, 0x03353741, 0x01459b44, 0x01a1a71e, 0x03b69c2e, 0x004272b4, 0x0116ccb1, 0x0202e238, 0x002cf1cd}}}, + {X: Field{[10]uint32{0x00c897ff, 0x00fdda5b, 0x00d849fd, 0x0329a20b, 0x023babe7, 0x02d49a8c, 0x00703af6, 0x01a39a91, 0x032d04a9, 0x00068238}}, Y: Field{[10]uint32{0x03ad4141, 0x02caa3ab, 0x00b399a6, 0x0025c0d1, 0x013fdc82, 0x00ac52a3, 0x002e19be, 0x03b52897, 0x00bdb77b, 0x0011bb66}}}, + {X: Field{[10]uint32{0x014f4af7, 0x03f70d0d, 0x01e82e7c, 0x03bb3927, 0x036b40e1, 0x02a325dd, 0x0305965d, 0x00fc1012, 0x020e9672, 0x0021566f}}, Y: Field{[10]uint32{0x01333ef6, 0x000f7524, 0x02dc05af, 0x037aae90, 0x02ba4db6, 0x0374241a, 0x03f049b2, 0x008344b0, 0x0388854e, 0x0018f892}}}, + {X: Field{[10]uint32{0x01e211e8, 0x022f7181, 0x008c55e2, 0x0237a333, 0x02edd0f0, 0x03cbbca9, 0x01c0ee30, 0x011e2a12, 0x0223fc7a, 0x0038382c}}, Y: Field{[10]uint32{0x03ca60fc, 0x03580de7, 0x00d1a511, 0x017b44a2, 0x0206609a, 0x016e211e, 0x02d38e12, 0x03eb0481, 0x032c3aaf, 0x00328e20}}}, + {X: Field{[10]uint32{0x00e40a19, 0x014e739a, 0x034e2034, 0x009159e6, 0x00265c34, 0x0245d60b, 0x0001eaa5, 0x034941d6, 0x02982d8e, 0x00288def}}, Y: Field{[10]uint32{0x02231318, 0x0260a956, 0x0087cf48, 0x00ca400f, 0x00dc1bfc, 0x0009b59a, 0x00d5de47, 0x00de0115, 0x0227976a, 0x0003d334}}}, + {X: Field{[10]uint32{0x0205ccf2, 0x03e6d804, 0x03ef2474, 0x035ad0d9, 0x005edbd0, 0x0285bcaf, 0x03fe7705, 0x02341fc0, 0x00821eb0, 0x000a2a12}}, Y: Field{[10]uint32{0x0056a17c, 0x02d7f0fe, 0x02301eec, 0x02f7c03e, 0x01162551, 0x00748f6a, 0x00526b17, 0x01d8a2e8, 0x03e9e7d7, 0x002419f4}}}, + {X: Field{[10]uint32{0x00c1d5e8, 0x01a6b726, 0x01d16f4c, 0x03b84f56, 0x03cc83e2, 0x02083796, 0x01b8fdc3, 0x01ad74c9, 0x00d542bd, 0x00050bfa}}, Y: Field{[10]uint32{0x0075b150, 0x00c42877, 0x004539c8, 0x00186fe7, 0x001b66d1, 0x0235fe98, 0x01d14213, 0x00cee556, 0x02780325, 0x000a5cfc}}}, + {X: Field{[10]uint32{0x00ad87d2, 0x01ec04a6, 0x036b99c9, 0x03edc03e, 0x008f3d5f, 0x006d2e4a, 0x01bb00a1, 0x01927406, 0x011c5d20, 0x0016ced8}}, Y: Field{[10]uint32{0x02519182, 0x032d62bc, 0x0058f8eb, 0x021d688b, 0x00192ead, 0x03b5c2ed, 0x03a76219, 0x00384b37, 0x01c80cde, 0x00212416}}}, + {X: Field{[10]uint32{0x00beb8af, 0x00b1f394, 0x00f6b019, 0x018e5153, 0x012edbdc, 0x03cd7dbd, 0x01f74c35, 0x00168fd8, 0x02495d49, 0x00092288}}, Y: Field{[10]uint32{0x03fd4c83, 0x00dab1ee, 0x035c3b11, 0x00fa6e26, 0x0161eaf7, 0x02219e87, 0x0197b243, 0x03042073, 0x03ffb707, 0x002d69bc}}}, + {X: Field{[10]uint32{0x03ff075c, 0x00e134f6, 0x025d2875, 0x024c0b4e, 0x0231ea20, 0x008a408f, 0x011fa99a, 0x0143a753, 0x022a292b, 0x002291d2}}, Y: Field{[10]uint32{0x03804dd9, 0x035ad97b, 0x01dc8721, 0x01174c35, 0x0245b5f0, 0x01b3e3f4, 0x00392891, 0x0106c797, 0x005c7d53, 0x001dd14a}}}, + {X: Field{[10]uint32{0x0015ffec, 0x023444d4, 0x03b228ca, 0x03492356, 0x03826d10, 0x0198dcc4, 0x00be4ea8, 0x010ba99f, 0x02557fc0, 0x000fe804}}, Y: Field{[10]uint32{0x02a937b3, 0x01d7c9c9, 0x00b25e3f, 0x01b28c8a, 0x00162d43, 0x02312386, 0x03dca5a5, 0x012e3bb2, 0x0325f59b, 0x00042e74}}}, + {X: Field{[10]uint32{0x03d65648, 0x03086567, 0x028c046a, 0x017f22a0, 0x036b778d, 0x02bc126c, 0x008f0071, 0x03c69376, 0x000e7b94, 0x002dded7}}, Y: Field{[10]uint32{0x02aeccc5, 0x032c55fe, 0x0021ad54, 0x00ba77db, 0x01e2b65d, 0x01bb7582, 0x01d57222, 0x02efaa32, 0x03c06722, 0x000c491a}}}, + {X: Field{[10]uint32{0x0135b44a, 0x03107fe1, 0x018e08f2, 0x01bb5747, 0x00567184, 0x026f52ed, 0x02ccad78, 0x00ae5db0, 0x008267e8, 0x00098d7d}}, Y: Field{[10]uint32{0x032b8def, 0x01b569e9, 0x0234dafb, 0x02702d4c, 0x010d2ce3, 0x01edcd4f, 0x03f9e4d4, 0x0247ed99, 0x004e9560, 0x001fb720}}}, + {X: Field{[10]uint32{0x021b474d, 0x0382198d, 0x032384a4, 0x0368635d, 0x03ed0012, 0x0347a8da, 0x036f39b6, 0x014b271a, 0x012dae09, 0x0008c1ad}}, Y: Field{[10]uint32{0x025486c0, 0x02d5b3cc, 0x01221582, 0x01caf348, 0x00bd7674, 0x00b3bf3d, 0x023688bb, 0x023dae69, 0x00b88d7b, 0x0010e094}}}, + {X: Field{[10]uint32{0x01f74b4c, 0x03625eea, 0x0016e248, 0x03baa300, 0x03aa5604, 0x03568747, 0x0186f9ee, 0x020a123d, 0x02b80dde, 0x0032aa19}}, Y: Field{[10]uint32{0x0009c341, 0x012957f7, 0x038f2995, 0x029f563e, 0x00e33746, 0x02016909, 0x02834ceb, 0x01e3115c, 0x0140349f, 0x000a063c}}}, + {X: Field{[10]uint32{0x00bb1641, 0x031c3fa2, 0x037cbb74, 0x01eec949, 0x03fb5e57, 0x027007b4, 0x01e9cc42, 0x00f5417d, 0x035aa079, 0x0020637b}}, Y: Field{[10]uint32{0x024f276d, 0x02cfb8bb, 0x0045fbdd, 0x02d24e85, 0x01f48ea2, 0x0258d9f4, 0x022d54d7, 0x0040c603, 0x0280f762, 0x0036a7bb}}}, + {X: Field{[10]uint32{0x007bf736, 0x00b7e491, 0x01bf08b1, 0x030d68a5, 0x03c36e11, 0x02f2b16e, 0x0364ed01, 0x0104bf35, 0x01fa568d, 0x000b18b3}}, Y: Field{[10]uint32{0x02c31979, 0x0301468f, 0x025a8f82, 0x02fc654c, 0x00ee73ea, 0x02ae9906, 0x01ef9859, 0x01c189c1, 0x00255811, 0x003a2e38}}}, + {X: Field{[10]uint32{0x01f04adb, 0x033a01f8, 0x0341659b, 0x006adbac, 0x014e477f, 0x0145f412, 0x022f7cd0, 0x01ba3352, 0x00d99db0, 0x000a2ad5}}, Y: Field{[10]uint32{0x0094541c, 0x028a799d, 0x03b0872a, 0x00107b2f, 0x004fb003, 0x03cf9f61, 0x0256276b, 0x02580af9, 0x0319a5cb, 0x00264ed4}}}, + {X: Field{[10]uint32{0x012b6061, 0x01205314, 0x03bb63ea, 0x03d7c57a, 0x01d6c2ab, 0x008ea090, 0x034eca42, 0x02903152, 0x00162254, 0x00124f9f}}, Y: Field{[10]uint32{0x00eed628, 0x03e02e8f, 0x02c897de, 0x01efc25f, 0x025fcf81, 0x02ba3c87, 0x0236b597, 0x027533fb, 0x037b588d, 0x00158e1f}}}, + {X: Field{[10]uint32{0x01c51d4f, 0x034818ae, 0x01bce902, 0x023888b2, 0x018922a6, 0x00b174e2, 0x02118dda, 0x0245953f, 0x01bee743, 0x0019cb84}}, Y: Field{[10]uint32{0x03dc36e1, 0x000b70c8, 0x03c5fc51, 0x03eaff39, 0x030db6bb, 0x017a758a, 0x03cfbca4, 0x00aa76d2, 0x034a0238, 0x000d5544}}}, + {X: Field{[10]uint32{0x02da550a, 0x022cb0e3, 0x02701003, 0x00b0a567, 0x0027524b, 0x0167e397, 0x0286c06b, 0x01a22637, 0x036ee3b8, 0x0023e343}}, Y: Field{[10]uint32{0x01212f34, 0x005c40d2, 0x01fd45d4, 0x01b09afc, 0x03f36429, 0x021ef2ce, 0x000fed66, 0x02af1665, 0x02819e27, 0x0039f7bc}}}, + {X: Field{[10]uint32{0x00b293e3, 0x004fed5e, 0x01495e82, 0x00084817, 0x03118f28, 0x005e7cc2, 0x03cf4c79, 0x03c295e5, 0x03834a11, 0x0036a315}}, Y: Field{[10]uint32{0x01c35f91, 0x00077ce2, 0x00d28a2c, 0x0386d8ce, 0x007c7a0c, 0x02d77146, 0x02bb1c3a, 0x00e5d421, 0x035c6f66, 0x001bb3f8}}}, + {X: Field{[10]uint32{0x01681955, 0x01fea852, 0x00ef4265, 0x02ce0f88, 0x00fbce09, 0x02a66e83, 0x03ec2d6f, 0x0197fcfb, 0x00f53b19, 0x001254f8}}, Y: Field{[10]uint32{0x035541c6, 0x026d5065, 0x00a39fc0, 0x025c6343, 0x023c28fa, 0x01e601d9, 0x00683240, 0x00d6c8f9, 0x038d9d16, 0x00308431}}}, + {X: Field{[10]uint32{0x0375f293, 0x0108108d, 0x038db6c7, 0x03205b68, 0x025cd3e0, 0x03a442f5, 0x021f7fdb, 0x038786f8, 0x01af48a0, 0x0015247f}}, Y: Field{[10]uint32{0x007ffae7, 0x013b34bf, 0x0243e3d3, 0x02580c61, 0x039c82de, 0x02d47d3c, 0x03e9b299, 0x014ce28e, 0x02885d1c, 0x001949cd}}}, + {X: Field{[10]uint32{0x03c168d1, 0x03b26d6a, 0x007f0af3, 0x00a50f24, 0x020b0a85, 0x03c5f46d, 0x01838858, 0x018ee7ed, 0x03a80423, 0x002e712b}}, Y: Field{[10]uint32{0x03550d9a, 0x03f85592, 0x0178e514, 0x006c1b50, 0x01e24d51, 0x0329f635, 0x0013aa1e, 0x03afb574, 0x006b1b75, 0x003af4c4}}}, + {X: Field{[10]uint32{0x02d2bd62, 0x00dda0e4, 0x02386242, 0x01cceaf2, 0x01d6802e, 0x02ae0275, 0x039826de, 0x011e86d7, 0x036c4448, 0x00246368}}, Y: Field{[10]uint32{0x0253e218, 0x03c77722, 0x02eca0ab, 0x01b9859b, 0x02889d5e, 0x02ce2627, 0x0214113a, 0x021f9857, 0x03afd7cc, 0x001b988d}}}, + {X: Field{[10]uint32{0x01d3392a, 0x010b8dc0, 0x02c93a2e, 0x00bd15ca, 0x00748eb4, 0x026dd0f3, 0x000240e5, 0x01452820, 0x0194da1f, 0x001ddf4a}}, Y: Field{[10]uint32{0x029680c6, 0x0374e8e2, 0x038645e6, 0x016a7487, 0x039d9250, 0x01387493, 0x02b96f41, 0x00c654b2, 0x03d7e9eb, 0x00001864}}}, + {X: Field{[10]uint32{0x0323bf3d, 0x01fc8c95, 0x0154c4d1, 0x0140d3be, 0x013988c6, 0x03c93bd5, 0x03b8b3ea, 0x03171789, 0x02a09a08, 0x0004239b}}, Y: Field{[10]uint32{0x0013b2eb, 0x03786fff, 0x01be288f, 0x01dba093, 0x02b8a0dd, 0x020464de, 0x0314ebff, 0x01aed1f0, 0x034b86db, 0x0006a2e5}}}, + {X: Field{[10]uint32{0x016bf185, 0x02b15291, 0x02839b5d, 0x03d129a0, 0x013c2dce, 0x037ab87f, 0x018a4868, 0x01352446, 0x02db65a5, 0x000db676}}, Y: Field{[10]uint32{0x0147bbf7, 0x014092c8, 0x00d8d078, 0x03e0d1f7, 0x011edd9b, 0x0196fbc6, 0x02ec3065, 0x01761897, 0x0356d93b, 0x00097a10}}}, + {X: Field{[10]uint32{0x02531fa7, 0x039c74d9, 0x02fe3ab2, 0x01508ca4, 0x02aab896, 0x0009c9b3, 0x01d8a9e3, 0x039dd9ca, 0x02b143ec, 0x000f83ae}}, Y: Field{[10]uint32{0x018d41cd, 0x00e0f665, 0x03d5c691, 0x0384f66a, 0x008e38ea, 0x03ec12cd, 0x008f32b2, 0x0188da25, 0x0208556d, 0x001b9ec9}}}, + {X: Field{[10]uint32{0x00fa3728, 0x02f6d706, 0x034832ba, 0x0108055f, 0x03ab08ab, 0x004fba6a, 0x01e9521a, 0x03cc6a87, 0x036af315, 0x00248f71}}, Y: Field{[10]uint32{0x02d3ae47, 0x03b81f03, 0x0003ef6b, 0x02158cc4, 0x017facf6, 0x03627992, 0x001bfca6, 0x0215ecc5, 0x03b67439, 0x001ea3c5}}}, + {X: Field{[10]uint32{0x016a6618, 0x0313a80f, 0x02c6de85, 0x02a4deea, 0x036bee02, 0x00738b85, 0x029cb815, 0x03ab8d33, 0x033202df, 0x003e1fff}}, Y: Field{[10]uint32{0x005a03e0, 0x01d84856, 0x00e13c71, 0x0330b879, 0x027c14a4, 0x000f36ff, 0x03ace256, 0x01b828d5, 0x0037aa72, 0x001d3924}}}, + {X: Field{[10]uint32{0x018881ed, 0x00fe7040, 0x008200e3, 0x03fc1d5a, 0x01e00b5a, 0x014e7dfa, 0x01ec106b, 0x01a68047, 0x025ddd7f, 0x0004e201}}, Y: Field{[10]uint32{0x0113408e, 0x00c8c5d3, 0x0332c92b, 0x00c88ff9, 0x0065d1a9, 0x02ad090b, 0x02f72a55, 0x01877508, 0x018f1406, 0x002b2ac7}}}, + {X: Field{[10]uint32{0x004b6941, 0x026d88eb, 0x0201e59e, 0x00d2b314, 0x003d685b, 0x028dd46e, 0x03315427, 0x01a8220d, 0x031ea99b, 0x003951da}}, Y: Field{[10]uint32{0x033b4e21, 0x022cba57, 0x0177bb41, 0x019cf321, 0x00bc86dd, 0x02a3e9d5, 0x03c794ca, 0x01e568c8, 0x02f1c4dd, 0x0015f56c}}}, + {X: Field{[10]uint32{0x01cd1f15, 0x011f2c05, 0x0109c3dd, 0x02053b5e, 0x0290c149, 0x03261063, 0x0229d894, 0x03afa930, 0x0360f1e8, 0x003e4e3f}}, Y: Field{[10]uint32{0x02bb13e1, 0x0140c63b, 0x028214da, 0x0316dbb5, 0x02037fe2, 0x01cafef5, 0x0176e293, 0x03191a81, 0x02121a0c, 0x0035c5c8}}}, + {X: Field{[10]uint32{0x00a30aa3, 0x0168ef66, 0x038ad8ad, 0x013e8221, 0x01180b49, 0x02153e6f, 0x015544d5, 0x0144205e, 0x00107c4a, 0x002cc6f5}}, Y: Field{[10]uint32{0x00519e82, 0x01bd7014, 0x031c18fb, 0x03c384ac, 0x03d33828, 0x0001faac, 0x0141affa, 0x0225897a, 0x00976bd5, 0x00250984}}}, + {X: Field{[10]uint32{0x00c1cb2f, 0x011f40fd, 0x03af7b44, 0x02495768, 0x0333abd6, 0x0269b1b4, 0x02df141b, 0x00340468, 0x03ba8321, 0x002cfb61}}, Y: Field{[10]uint32{0x01d632b3, 0x02452a93, 0x0347abe0, 0x006cd1f9, 0x02b90be7, 0x018d0799, 0x030273cb, 0x015f86a5, 0x037929c7, 0x00252774}}}, + {X: Field{[10]uint32{0x01221e17, 0x03b85b4c, 0x03f46668, 0x0038e2e1, 0x0089a57c, 0x00c6f282, 0x0395e787, 0x0243612e, 0x02401ea7, 0x001839b0}}, Y: Field{[10]uint32{0x029465c2, 0x02f451b2, 0x0198cc03, 0x00110143, 0x00367387, 0x015c7abc, 0x01c800a0, 0x00263ca9, 0x0335c722, 0x003c91ef}}}, + {X: Field{[10]uint32{0x03750a80, 0x02bebc70, 0x03b87994, 0x01abdd30, 0x01eaf3e1, 0x01c4f35c, 0x01d8d370, 0x03411f9f, 0x02b04cc8, 0x000aba01}}, Y: Field{[10]uint32{0x02e2e954, 0x03793aec, 0x0135ae38, 0x028906a8, 0x026facf6, 0x0017283b, 0x007fafe6, 0x01c6d46a, 0x00acb297, 0x002a365e}}}, + {X: Field{[10]uint32{0x01bb5c47, 0x0109308a, 0x0343958a, 0x0218dde7, 0x01d23843, 0x007dbcea, 0x020bb155, 0x00b4a79e, 0x00a4bbba, 0x0026bc5e}}, Y: Field{[10]uint32{0x0279abd3, 0x0006886b, 0x03259781, 0x02eab737, 0x014052a4, 0x00beecf4, 0x007ac857, 0x02215e92, 0x03baa023, 0x003040c7}}}, + {X: Field{[10]uint32{0x0008f523, 0x005b6658, 0x00b2c3a1, 0x00c4cc3b, 0x00fd78a5, 0x027a2894, 0x03da097c, 0x009ebcb9, 0x0321e9cb, 0x002775a9}}, Y: Field{[10]uint32{0x03f36080, 0x03274ff9, 0x0217357d, 0x0177d3a0, 0x03fc4e97, 0x02f195e1, 0x012adb14, 0x0027251c, 0x037d6473, 0x0039a0de}}}, + {X: Field{[10]uint32{0x01e91c52, 0x006876a9, 0x03f0f0e3, 0x02da68a2, 0x03fcb717, 0x0113beed, 0x03e3f1de, 0x028794ec, 0x02bed7a1, 0x0033d7c5}}, Y: Field{[10]uint32{0x00487497, 0x00a0d2b1, 0x014b1485, 0x003629a7, 0x00b0c80a, 0x0264833d, 0x03912c99, 0x0081ef18, 0x03d54d87, 0x0025527a}}}, + {X: Field{[10]uint32{0x03a64722, 0x03a417b7, 0x001afd45, 0x03ece880, 0x01de577c, 0x014a8052, 0x02466a3c, 0x015341e0, 0x00908109, 0x00319e52}}, Y: Field{[10]uint32{0x035ca468, 0x0091837d, 0x01187fcc, 0x00946f9a, 0x018621b6, 0x03209e0a, 0x00a5fbd5, 0x0100c6ff, 0x0351deb6, 0x001293f7}}}, + {X: Field{[10]uint32{0x00599713, 0x0354904c, 0x023e4442, 0x0083f869, 0x02b03b49, 0x010501aa, 0x019c1ea0, 0x0383fc59, 0x03cbbee9, 0x002897ff}}, Y: Field{[10]uint32{0x0341486a, 0x01bc912f, 0x007e2123, 0x024537a6, 0x0240fab7, 0x02dca86e, 0x03fc28af, 0x004626b0, 0x02065a82, 0x0005dae7}}}, + {X: Field{[10]uint32{0x00c5bf71, 0x0125dd38, 0x025ecdca, 0x01ab2ba7, 0x01128cab, 0x009238ca, 0x02cfafc7, 0x0248ec5a, 0x0322fd5d, 0x00181e69}}, Y: Field{[10]uint32{0x018c4bcc, 0x03debaf4, 0x00c45df0, 0x024af57b, 0x02023f52, 0x000cdfbf, 0x036f1d91, 0x01691713, 0x02de99ca, 0x0030265c}}}, + {X: Field{[10]uint32{0x0366b403, 0x02772e4a, 0x0182c813, 0x003f2add, 0x02f64b95, 0x02c59c8f, 0x03ffc428, 0x01e39c63, 0x003d9d40, 0x0006232d}}, Y: Field{[10]uint32{0x03af5404, 0x03dfc688, 0x0314c140, 0x03ccd62a, 0x01fcc8c2, 0x0155a45b, 0x01a28799, 0x02890002, 0x0237ec9e, 0x00280e3e}}}, + {X: Field{[10]uint32{0x0019bb30, 0x006c9fbe, 0x0102cd78, 0x00d1a33f, 0x00c445ca, 0x01559fb2, 0x03925066, 0x0171a3d5, 0x0040cb57, 0x0038c43f}}, Y: Field{[10]uint32{0x02be625e, 0x01ae278a, 0x0384ddf6, 0x00da83c5, 0x02e0c183, 0x01b9ee51, 0x0101def6, 0x004bb97a, 0x02655ba3, 0x000c4ca2}}}, + {X: Field{[10]uint32{0x03dea4ac, 0x015d2fdd, 0x03c8e52b, 0x037c91b0, 0x00f15693, 0x03d18b32, 0x000bdeb1, 0x01177765, 0x005d1c82, 0x00376192}}, Y: Field{[10]uint32{0x01966ce2, 0x03027182, 0x03b4833f, 0x02d1f9d0, 0x018963a8, 0x028a6282, 0x0290175b, 0x0289c131, 0x03c256c9, 0x00335aed}}}, + {X: Field{[10]uint32{0x03019aef, 0x01740a81, 0x0097bde8, 0x02666cd8, 0x03dba773, 0x02da7865, 0x03dc67ca, 0x019ee1bd, 0x020cf815, 0x0006dfb4}}, Y: Field{[10]uint32{0x00e3d1bb, 0x03f0d7bc, 0x01531be6, 0x01534c53, 0x00df428d, 0x0292f0de, 0x00d89b59, 0x010e1954, 0x012ad1cb, 0x003e053a}}}, + {X: Field{[10]uint32{0x01ded284, 0x01c669ed, 0x01897a0f, 0x00328191, 0x019b41cd, 0x01c2cfc7, 0x0146a036, 0x020ce3b4, 0x007b2d52, 0x00028556}}, Y: Field{[10]uint32{0x022e925d, 0x03a9c9c4, 0x0052bfe6, 0x008ab5ad, 0x0312fc15, 0x01008fb9, 0x00d225cc, 0x00693b8c, 0x034b5aba, 0x000abbf8}}}, + {X: Field{[10]uint32{0x036a5484, 0x01254fa4, 0x01054048, 0x018e7934, 0x0208d194, 0x02825033, 0x00fcf209, 0x029a4663, 0x01f9c99d, 0x00015eee}}, Y: Field{[10]uint32{0x031660e4, 0x0291f20c, 0x0079e9a6, 0x01ef634c, 0x03700dc5, 0x035defc3, 0x03be5e41, 0x009ba0b1, 0x03a8d902, 0x0018f43e}}}, + {X: Field{[10]uint32{0x03bd262c, 0x02497564, 0x03746bab, 0x03ee3e92, 0x01291f84, 0x00844ec8, 0x017f7a10, 0x02d2835f, 0x01b37fa1, 0x000890a5}}, Y: Field{[10]uint32{0x00195796, 0x0258ae4e, 0x03ddcea2, 0x023b1145, 0x0246ed38, 0x00889982, 0x023eb74c, 0x02c369d5, 0x0040b1e4, 0x0003582b}}}, + {X: Field{[10]uint32{0x0053b0e3, 0x00e69ad5, 0x0055e53b, 0x0283c8a0, 0x02d6101c, 0x039d0d53, 0x00031b29, 0x0314f81f, 0x02e6a34e, 0x00090d3a}}, Y: Field{[10]uint32{0x003ce23d, 0x01e8e09d, 0x010ed6ce, 0x01d591db, 0x008b04f7, 0x00e88398, 0x00f39563, 0x0012ec4e, 0x0161d57a, 0x000bfd7b}}}, + {X: Field{[10]uint32{0x01885ce9, 0x02961c62, 0x0203b700, 0x02d8db42, 0x01ef2e6a, 0x03ec8ac1, 0x0304c649, 0x00444ef6, 0x0192907c, 0x00112379}}, Y: Field{[10]uint32{0x0079eabc, 0x0108732a, 0x028803d0, 0x00435164, 0x0063af8b, 0x016c0a4c, 0x03e6dea2, 0x0141a37a, 0x03fd6ab3, 0x0035eab3}}}, + {X: Field{[10]uint32{0x0393dd76, 0x028dc618, 0x0298f7c2, 0x00730769, 0x00defc0a, 0x006a8ee8, 0x02b92e70, 0x01d9d1ff, 0x03735aef, 0x00210173}}, Y: Field{[10]uint32{0x02c407f2, 0x01549639, 0x0053fc79, 0x00beea1a, 0x0189c9ef, 0x03d2a1c4, 0x0261c783, 0x00428129, 0x000649cd, 0x0015e574}}}, + {X: Field{[10]uint32{0x0208efc9, 0x0084735b, 0x026d5581, 0x03341cb1, 0x029318ac, 0x00dc7ae1, 0x01349aa0, 0x0121f7fa, 0x00c1e5c1, 0x001a625d}}, Y: Field{[10]uint32{0x0384509c, 0x030703fb, 0x00e1590b, 0x00aaee13, 0x01bcec87, 0x02ae6bd8, 0x036536c2, 0x012fd47d, 0x038cdc8f, 0x000df088}}}, + {X: Field{[10]uint32{0x003fee05, 0x0395cc99, 0x02d8dce2, 0x01846e11, 0x03e6548c, 0x00c57de2, 0x017781df, 0x02af19c6, 0x017abe3c, 0x00228de1}}, Y: Field{[10]uint32{0x00f674ed, 0x01da62d3, 0x020b78b8, 0x026c8777, 0x005e28e9, 0x038e19b5, 0x0055e4d9, 0x013341f9, 0x03680915, 0x000a620b}}}, + {X: Field{[10]uint32{0x0397eaef, 0x02f380c8, 0x00846793, 0x037c3e98, 0x0325ec8c, 0x01ea29c5, 0x0104c968, 0x00e7f84c, 0x034f5cdd, 0x002a1c6c}}, Y: Field{[10]uint32{0x0387cb28, 0x03f5e8b0, 0x00c5df3f, 0x037a379b, 0x00642312, 0x01b2484f, 0x03e2dc68, 0x000f027d, 0x00179de1, 0x00213e59}}}, + {X: Field{[10]uint32{0x0286f44a, 0x019339a0, 0x00fb4fd9, 0x031ebaae, 0x009ec66e, 0x02679d2b, 0x0057905e, 0x029fd6a2, 0x03b89f78, 0x00126f2b}}, Y: Field{[10]uint32{0x019eff6f, 0x03901f3b, 0x0194f4ea, 0x01849c5b, 0x0271124a, 0x02f464fa, 0x011d2ca7, 0x02add29e, 0x00cb5641, 0x0039f6e3}}}, + {X: Field{[10]uint32{0x028b6df6, 0x01c4c03d, 0x03686c3f, 0x012de7fa, 0x0140d9b8, 0x03ffa126, 0x0186289d, 0x0327963d, 0x012f2f05, 0x003571f6}}, Y: Field{[10]uint32{0x0151c08e, 0x0200abc7, 0x020434f1, 0x00aff38d, 0x036fcb2b, 0x0073d0ae, 0x00b272ce, 0x028e3a81, 0x025c219e, 0x0029a2ca}}}, + {X: Field{[10]uint32{0x03286696, 0x02a36d4e, 0x0056cfe4, 0x02f8a09b, 0x006a825c, 0x02c323b4, 0x034a249c, 0x0335ee71, 0x023cfea4, 0x000ab0bf}}, Y: Field{[10]uint32{0x0360f43f, 0x039e0102, 0x03834a67, 0x01b3c028, 0x00505bb4, 0x01b2981e, 0x02f6031c, 0x02947b28, 0x0259b008, 0x001f6429}}}, + {X: Field{[10]uint32{0x00a39234, 0x00716a84, 0x011d92f6, 0x03bec0ed, 0x025b0069, 0x0283b69e, 0x023a85f5, 0x01fb3d3d, 0x00bc6282, 0x001f026b}}, Y: Field{[10]uint32{0x01624836, 0x01b1a21a, 0x030015a9, 0x03c8258a, 0x00854b56, 0x017f70c6, 0x01f86414, 0x00a315a1, 0x0139c291, 0x00381f49}}}, + {X: Field{[10]uint32{0x03fbf9f0, 0x025aefdb, 0x03a7f2c4, 0x0008d289, 0x033bb4ff, 0x00ecbeb4, 0x0141ae71, 0x010b9da6, 0x01567e1b, 0x003a21b7}}, Y: Field{[10]uint32{0x0267a877, 0x0045cb71, 0x0301081d, 0x03cf18c2, 0x025a4666, 0x037d3977, 0x01c097f0, 0x03e03cdc, 0x037babee, 0x00352c89}}}, + {X: Field{[10]uint32{0x0059c2dc, 0x02866740, 0x00464073, 0x039614d1, 0x038ca8a6, 0x03d82ec6, 0x02178f0f, 0x00e60f16, 0x00c800e8, 0x003b7d97}}, Y: Field{[10]uint32{0x01ab2d5e, 0x01d89122, 0x0123a92c, 0x036c41c3, 0x030118a4, 0x0378737e, 0x024710a2, 0x00c27e12, 0x0313f0c5, 0x00289099}}}, + {X: Field{[10]uint32{0x026d17f8, 0x01abdbb4, 0x01036a74, 0x02ee8f4b, 0x03435ad7, 0x02c548c8, 0x016dbbe5, 0x01baee4d, 0x0304b78a, 0x000a704b}}, Y: Field{[10]uint32{0x016eae4a, 0x03f3b388, 0x019358b7, 0x009fe816, 0x02b3336d, 0x027b1146, 0x02a211f3, 0x0046a9e3, 0x0275bf62, 0x00020e64}}}, + {X: Field{[10]uint32{0x0263c3e2, 0x03e29e59, 0x00789994, 0x01192986, 0x03169f20, 0x0383e7f3, 0x02034ac3, 0x026453c2, 0x038c280e, 0x003576e2}}, Y: Field{[10]uint32{0x0263412b, 0x00355df0, 0x02cbbeb6, 0x01e2a997, 0x0398f270, 0x0066507d, 0x025635a8, 0x0000e7d7, 0x003a085a, 0x0010458f}}}, + {X: Field{[10]uint32{0x01135f8d, 0x00285f36, 0x01165700, 0x016b151f, 0x0210e105, 0x02ed3dff, 0x00e57ac8, 0x02c03656, 0x03a5630e, 0x00264293}}, Y: Field{[10]uint32{0x03c9653b, 0x02c8f5d2, 0x032912ec, 0x0053e3f3, 0x03eb2524, 0x0231c485, 0x02a03646, 0x028a2511, 0x0025491f, 0x003c97b8}}}, + {X: Field{[10]uint32{0x029c0935, 0x00ded5e7, 0x031b7416, 0x03b31a35, 0x034e3049, 0x00c573d4, 0x0101c3b3, 0x012773b2, 0x00f01c78, 0x0035e13b}}, Y: Field{[10]uint32{0x034205ce, 0x03593eda, 0x03dde6b2, 0x00202159, 0x02306720, 0x03b1bf51, 0x0082a841, 0x00abb763, 0x0122cc38, 0x00177a63}}}, + {X: Field{[10]uint32{0x00e38193, 0x01334d5b, 0x01338320, 0x03946726, 0x019b4d38, 0x037cf067, 0x0353b67b, 0x0032eeab, 0x00d05885, 0x000195db}}, Y: Field{[10]uint32{0x0310eaca, 0x03dd3195, 0x03420658, 0x0038c2fc, 0x03d98496, 0x01d923f8, 0x001fbeb2, 0x0395b8c7, 0x013e92d1, 0x0028ca66}}}, + {X: Field{[10]uint32{0x0035efce, 0x012113af, 0x024d8bb9, 0x01dcf49b, 0x0320ccb1, 0x0311527f, 0x009a8081, 0x03031919, 0x00e5f675, 0x00255de2}}, Y: Field{[10]uint32{0x021d9b5b, 0x016a8394, 0x00a8c051, 0x001a6f04, 0x0301d329, 0x005785f3, 0x01c39486, 0x03b8df65, 0x031cdc4b, 0x001fa910}}}, + {X: Field{[10]uint32{0x039e4a2e, 0x014b0178, 0x0096b014, 0x03cec114, 0x00da5549, 0x02304ffc, 0x0101abd7, 0x02d4dfb1, 0x02805053, 0x0022bdf2}}, Y: Field{[10]uint32{0x017e8402, 0x0160da8b, 0x03fb8e1b, 0x001ba759, 0x036a4362, 0x03690150, 0x03235e60, 0x010b933e, 0x0225aac0, 0x00097a18}}}, + {X: Field{[10]uint32{0x0215236c, 0x024df438, 0x02ba2623, 0x01598dec, 0x01e6eb74, 0x035e705e, 0x02ff642a, 0x018d3880, 0x0393e16e, 0x00126fc0}}, Y: Field{[10]uint32{0x0031a85d, 0x00f9a5e9, 0x00722d60, 0x00305e6b, 0x0141e5f8, 0x02684d10, 0x000ce1ee, 0x03835073, 0x013f401d, 0x00216418}}}, + {X: Field{[10]uint32{0x00192063, 0x03af4675, 0x035afdc5, 0x03b68992, 0x01df3653, 0x02326db7, 0x03b68581, 0x00a18d49, 0x02250257, 0x00320b8a}}, Y: Field{[10]uint32{0x01a6de8c, 0x01d78f8e, 0x011c7b26, 0x03dcddbe, 0x01c2717f, 0x01fe7a4e, 0x030af044, 0x0306f4f5, 0x0000cd87, 0x000ee1be}}}, + {X: Field{[10]uint32{0x00eedbf3, 0x004b7f76, 0x02041a37, 0x0154562c, 0x0142ec13, 0x0393489f, 0x02fc9c3f, 0x023df0eb, 0x01202b9a, 0x0027390e}}, Y: Field{[10]uint32{0x035b52f6, 0x0288327f, 0x026e26d5, 0x02cf70bb, 0x0153a54b, 0x02a4e7fe, 0x02f15d59, 0x03b74feb, 0x0305859a, 0x0036eed6}}}, + {X: Field{[10]uint32{0x02fe6227, 0x02f6dac5, 0x0324a168, 0x02b425bb, 0x00baa707, 0x03b2ad2e, 0x01202213, 0x0017294b, 0x009e49de, 0x000381c0}}, Y: Field{[10]uint32{0x00bc33c9, 0x023e739b, 0x03b2e417, 0x00f28548, 0x03258383, 0x037a353a, 0x03865b0a, 0x02e89a06, 0x00bfe752, 0x001a8d6c}}}, + {X: Field{[10]uint32{0x021da888, 0x00056f60, 0x03fab065, 0x017fd308, 0x01d58861, 0x025849c5, 0x02948147, 0x02bd8791, 0x01b47e09, 0x003ad373}}, Y: Field{[10]uint32{0x01661b8f, 0x017454fa, 0x000834a5, 0x01710410, 0x00008630, 0x01320457, 0x006536ad, 0x000be878, 0x01685846, 0x0018f8e0}}}, + {X: Field{[10]uint32{0x00e49db6, 0x013cce44, 0x00f7bf86, 0x001c981e, 0x03a2c659, 0x034a76b3, 0x0257015d, 0x00044c74, 0x02812bf2, 0x002f97e1}}, Y: Field{[10]uint32{0x016d9da7, 0x01004765, 0x01f308f0, 0x02e3103a, 0x0143c4f1, 0x01cfe944, 0x015a92da, 0x012bfd66, 0x00e45617, 0x00343d08}}}, + {X: Field{[10]uint32{0x015b99a8, 0x007e204d, 0x01ed74a6, 0x0172cc75, 0x03db214a, 0x0375fa3b, 0x03a1318e, 0x017e7663, 0x003910e7, 0x000eccb7}}, Y: Field{[10]uint32{0x03a18bc5, 0x02bc68a8, 0x03c4218b, 0x02b15cbe, 0x036e4e0a, 0x01d4b952, 0x01df756e, 0x03a7967f, 0x028619c2, 0x000684b7}}}, + {X: Field{[10]uint32{0x02e04db1, 0x00f9e921, 0x029d0a3c, 0x00d45a5c, 0x03dde107, 0x00fce1ad, 0x012922ea, 0x03a21597, 0x01ce5c06, 0x00256b17}}, Y: Field{[10]uint32{0x02f39838, 0x02d6c9cf, 0x029fde77, 0x01dc9465, 0x01680edb, 0x005aded2, 0x0049e856, 0x0060878f, 0x0187ab1b, 0x000688b3}}}, + {X: Field{[10]uint32{0x00e708eb, 0x0060db5f, 0x005ccd30, 0x00782a37, 0x027dad59, 0x017b4a57, 0x01d1b74a, 0x03c4f8cd, 0x00fba4b0, 0x001b93b4}}, Y: Field{[10]uint32{0x0234b931, 0x01fc5482, 0x01a54ac3, 0x0267a670, 0x0016a2ef, 0x027366ac, 0x0188e6e5, 0x013827b6, 0x026ac61c, 0x00241585}}}, + {X: Field{[10]uint32{0x03a42e10, 0x03ae8b08, 0x01859898, 0x01e6474b, 0x01ea8d9a, 0x0209f612, 0x00925e17, 0x003b84dd, 0x0394208e, 0x0022df0c}}, Y: Field{[10]uint32{0x0043d193, 0x02afac9c, 0x02d0d003, 0x03d8bc86, 0x032c8beb, 0x01d7bcff, 0x00e64400, 0x002f3244, 0x02379672, 0x002daae4}}}, + {X: Field{[10]uint32{0x00f871c6, 0x001612ec, 0x02dcc8e2, 0x01363e5b, 0x02dd48ab, 0x02dbd772, 0x00965b98, 0x0035ce21, 0x0347f669, 0x0003f69e}}, Y: Field{[10]uint32{0x02926c5d, 0x02e39af2, 0x03560e18, 0x00895791, 0x00309292, 0x0152d1cf, 0x03487e8b, 0x0331b4a2, 0x0035a272, 0x0026d009}}}, + {X: Field{[10]uint32{0x01bcb217, 0x0041a8cf, 0x0255dad6, 0x022f3246, 0x036e6301, 0x0303a6a8, 0x00beb534, 0x01686bbe, 0x00f5395a, 0x003c5768}}, Y: Field{[10]uint32{0x038a8f1c, 0x03afdd95, 0x00f6ddb6, 0x00bef3e6, 0x0380be25, 0x021825c8, 0x03571ac4, 0x00054645, 0x01eabb3b, 0x000a33da}}}, + {X: Field{[10]uint32{0x00af9253, 0x036206ef, 0x032f4abf, 0x02e1fea0, 0x03d9a208, 0x021c26a5, 0x02378e63, 0x005f8324, 0x02dd2c78, 0x0031b899}}, Y: Field{[10]uint32{0x03769626, 0x0247b9f2, 0x02082842, 0x03724c8c, 0x005ffa7a, 0x0342fbd6, 0x00e95e35, 0x02ce8c32, 0x00c1fa9b, 0x000abc40}}}, + {X: Field{[10]uint32{0x02e28753, 0x00cf422d, 0x0313f0d1, 0x01e93f6a, 0x037f5a72, 0x00e495a1, 0x00c21a83, 0x00807922, 0x02020fdd, 0x0012fe2a}}, Y: Field{[10]uint32{0x015fc8b8, 0x02fa74f3, 0x01d88f39, 0x0016572f, 0x02d8fe5f, 0x0279b188, 0x01c6bd70, 0x01356685, 0x0258ad9c, 0x00162049}}}, + {X: Field{[10]uint32{0x00d0a6d3, 0x03f04a5f, 0x0248b972, 0x01cf6d87, 0x0105cda6, 0x029dfee5, 0x009fc39d, 0x01216956, 0x032806dd, 0x002aa617}}, Y: Field{[10]uint32{0x024b75b2, 0x017d8347, 0x00a04e1e, 0x00404389, 0x007c2777, 0x007fc0b8, 0x025a92da, 0x018ecca6, 0x00972f11, 0x002aec3e}}}, + {X: Field{[10]uint32{0x01c41c9d, 0x01ccbb18, 0x0197c8e1, 0x012c33b4, 0x016c2fa0, 0x02305048, 0x039f88d8, 0x02873d3a, 0x0101ec13, 0x00205d34}}, Y: Field{[10]uint32{0x03d79aa7, 0x01a9d623, 0x01bbb46f, 0x012c69e4, 0x00c6e5d9, 0x0298e6c0, 0x037a6625, 0x00b9ffab, 0x01c231b0, 0x00319d97}}}, + {X: Field{[10]uint32{0x01f3d876, 0x00bc13db, 0x02cbb870, 0x02b3f6f9, 0x0292573a, 0x016a68e8, 0x028fe098, 0x024a5edc, 0x02a9d603, 0x003e7d93}}, Y: Field{[10]uint32{0x024ca01a, 0x01f4b266, 0x02f9b1a6, 0x03ef61fb, 0x01188069, 0x005cba1e, 0x00950f21, 0x019f4058, 0x03c14060, 0x001051b1}}}, + {X: Field{[10]uint32{0x00f1b3b4, 0x0197b32a, 0x02951d88, 0x02f072a4, 0x01f8067c, 0x02977a49, 0x034454a2, 0x0217acf4, 0x02705a68, 0x000f990e}}, Y: Field{[10]uint32{0x02fb0355, 0x03822df8, 0x02f11b0f, 0x0209c58b, 0x028b5e58, 0x01ddea65, 0x01d54d1d, 0x014d3b7a, 0x03045525, 0x000b7b29}}}, + {X: Field{[10]uint32{0x036c63c5, 0x0259bccd, 0x0082e4c0, 0x034ae1ea, 0x03caae45, 0x01bddb40, 0x015d200d, 0x02b01dfa, 0x0011fcc3, 0x0011137d}}, Y: Field{[10]uint32{0x0016cc23, 0x0142a955, 0x032bc643, 0x024eb1b8, 0x01ec520c, 0x00b7b3cf, 0x00d1a4df, 0x02592a9f, 0x0198643d, 0x002d1599}}}, + {X: Field{[10]uint32{0x006946a0, 0x01ea1e99, 0x01465bbb, 0x01aa1093, 0x0019cdaa, 0x029a0429, 0x00a7beb1, 0x00d7f8c5, 0x021f58be, 0x0004a8bd}}, Y: Field{[10]uint32{0x010ba47d, 0x0354d74a, 0x010698df, 0x00c6575e, 0x0248410b, 0x029a7ef2, 0x01539461, 0x03323fc6, 0x034494c2, 0x00269ef7}}}, + {X: Field{[10]uint32{0x0264cb9f, 0x00acadf8, 0x007933d5, 0x01ea4fd2, 0x02511b2b, 0x01a1ef48, 0x008af94b, 0x01cf1cf5, 0x02924625, 0x002f75c9}}, Y: Field{[10]uint32{0x02123874, 0x03037de8, 0x034ed955, 0x03df7103, 0x02858e6d, 0x03dd1a6a, 0x01ac9923, 0x03eac2f5, 0x004eb794, 0x00015b9b}}}, + {X: Field{[10]uint32{0x00066bdd, 0x01ff95a9, 0x003d60ec, 0x00a75f41, 0x03c974bd, 0x02936a7b, 0x034f156e, 0x03d5744a, 0x015877c3, 0x00386f55}}, Y: Field{[10]uint32{0x03233170, 0x02541d70, 0x0033ff5a, 0x006c7111, 0x03789cbf, 0x03168cbd, 0x002bea56, 0x010da88e, 0x0399fbe7, 0x00237366}}}, + {X: Field{[10]uint32{0x00132ad9, 0x00d47498, 0x0185d804, 0x02e2c1c6, 0x00fc064e, 0x01287d54, 0x0246609f, 0x020a52fa, 0x01e4781c, 0x0029f1a3}}, Y: Field{[10]uint32{0x01b42c32, 0x02218aeb, 0x00766842, 0x026fafe8, 0x026f6bbf, 0x0116626e, 0x022b240d, 0x03fad441, 0x00b63d9e, 0x0028209e}}}, + {X: Field{[10]uint32{0x029aa855, 0x00f1c34a, 0x0279a56b, 0x0198f632, 0x0205fa0d, 0x004df41e, 0x01eb90f5, 0x038da72f, 0x0369b4c6, 0x0013cea1}}, Y: Field{[10]uint32{0x026ea169, 0x01921bba, 0x0393e35b, 0x00b2d8af, 0x00b9d6db, 0x011c1d61, 0x00ed9f2c, 0x007854d2, 0x011c5f70, 0x0003db01}}}, + {X: Field{[10]uint32{0x0044f232, 0x018f77bd, 0x01a8d744, 0x01ff2d0d, 0x0036fd04, 0x0229aed6, 0x01cac66d, 0x03aff610, 0x001c8089, 0x0037aaaf}}, Y: Field{[10]uint32{0x0228e8a1, 0x0030a4f0, 0x014f90f5, 0x01258a9b, 0x00ccd14a, 0x03229b59, 0x026e6547, 0x01b9eaa0, 0x00ba49c2, 0x003edf31}}}, + {X: Field{[10]uint32{0x019c0695, 0x02e3e4cc, 0x023788b5, 0x02adf3f3, 0x02fd7f33, 0x03bcaccb, 0x0151e1f4, 0x006ce049, 0x0361547b, 0x0031046b}}, Y: Field{[10]uint32{0x018cb66b, 0x02efe215, 0x02ab4797, 0x013bd888, 0x02294ace, 0x03f3eedd, 0x0266d212, 0x03e0aba4, 0x03d73d50, 0x0034afb9}}}, + {X: Field{[10]uint32{0x009ec5e7, 0x002f7aa4, 0x01637821, 0x000742a2, 0x004a35f1, 0x02e77771, 0x00284945, 0x0376a343, 0x0294485b, 0x00343fda}}, Y: Field{[10]uint32{0x024f620f, 0x0087c88d, 0x02a65e21, 0x03fe0ea4, 0x00cb1910, 0x023e54f1, 0x02b7e83d, 0x02a3cb40, 0x00fd2923, 0x002acfd8}}}, + {X: Field{[10]uint32{0x0308c0f1, 0x00d6a9c7, 0x02424982, 0x01102cff, 0x01006f27, 0x016b5b2c, 0x011baea3, 0x03b648a1, 0x01cc9555, 0x00028341}}, Y: Field{[10]uint32{0x02339948, 0x0131f275, 0x037dc471, 0x02b4c601, 0x0150afe2, 0x0082c9c1, 0x017e67ca, 0x01629c2f, 0x01052371, 0x00210ec4}}}, + {X: Field{[10]uint32{0x023f5d32, 0x03964807, 0x039d0568, 0x010a24fe, 0x007d5996, 0x0364265e, 0x0083ef67, 0x017ee817, 0x0045eb29, 0x002fa821}}, Y: Field{[10]uint32{0x00ce10e3, 0x03cc8a9b, 0x01cc7908, 0x035af53d, 0x01e26594, 0x00744bb4, 0x00bb2bb4, 0x03d14f5e, 0x03ffb3f7, 0x000aa069}}}, + {X: Field{[10]uint32{0x02f0d5f0, 0x00b1f7b9, 0x02ce3e82, 0x026316b3, 0x00551c30, 0x01aae5c0, 0x035aea6f, 0x039a267a, 0x004c431b, 0x003a3af3}}, Y: Field{[10]uint32{0x01fa902e, 0x03428ecc, 0x0161e097, 0x0193aa83, 0x016d65db, 0x0268ab9e, 0x03d511f5, 0x0393d63e, 0x0061760a, 0x003be669}}}, + {X: Field{[10]uint32{0x026e8fd2, 0x00c2f3a5, 0x03cd1d96, 0x02d6161d, 0x020806ba, 0x01e5b62d, 0x031db77c, 0x037113b3, 0x006cdd73, 0x00125218}}, Y: Field{[10]uint32{0x02b95f80, 0x012e496f, 0x01123bc6, 0x03b7cf6e, 0x00cb8c13, 0x00e511aa, 0x01630aa6, 0x02319e10, 0x033f786c, 0x000f19cc}}}, + {X: Field{[10]uint32{0x02a778c2, 0x021e4ba7, 0x00a165c1, 0x02996d72, 0x00fb5a19, 0x019b3525, 0x03e40cca, 0x03bee938, 0x033240d9, 0x0013c966}}, Y: Field{[10]uint32{0x0117446d, 0x023aab93, 0x00efb1b6, 0x01fd1d23, 0x00b1590f, 0x027d3a8b, 0x02006054, 0x01a66712, 0x008778c2, 0x003f7620}}}, + {X: Field{[10]uint32{0x02dfcc29, 0x0143e91e, 0x03f337e3, 0x02379ea9, 0x031e7e91, 0x038463ba, 0x036e2b43, 0x01fd4bc9, 0x0093e14d, 0x003cc0e9}}, Y: Field{[10]uint32{0x01141b57, 0x006f52da, 0x00163cfa, 0x01df17f9, 0x01453f79, 0x029ab499, 0x01bc49da, 0x0394fd7d, 0x006d0bef, 0x003127e9}}}, + {X: Field{[10]uint32{0x01df595d, 0x02cbd4f0, 0x01a41ea4, 0x03f0a77d, 0x0158b9fd, 0x01029583, 0x0311859c, 0x02003b06, 0x0317f4c0, 0x00380312}}, Y: Field{[10]uint32{0x0363b99d, 0x007edd65, 0x032fb8c8, 0x000f4d20, 0x00a72a10, 0x02d33346, 0x00d0d957, 0x0134a746, 0x0266c3ec, 0x00189106}}}, + {X: Field{[10]uint32{0x0372ce70, 0x02c8c076, 0x011714cf, 0x03c88560, 0x03ca16be, 0x02dd52f9, 0x03603bd2, 0x02bd4a91, 0x00861af6, 0x001212e1}}, Y: Field{[10]uint32{0x0132fbc7, 0x01f9cb13, 0x02359d47, 0x0314231d, 0x01cf72e5, 0x028299d6, 0x02968652, 0x01e68ff9, 0x03f5a0ac, 0x000dbe13}}}, + {X: Field{[10]uint32{0x00d93f14, 0x0119ee13, 0x02dab210, 0x0338469e, 0x03ca07fe, 0x032f0526, 0x03e6a8a7, 0x007d1286, 0x00ead8b5, 0x00222f96}}, Y: Field{[10]uint32{0x02687fdc, 0x01baf2a4, 0x0067d4d4, 0x03d27c03, 0x018ebbeb, 0x001a5ec6, 0x00d6cd6a, 0x03ef05c7, 0x00af7037, 0x00253043}}}, + {X: Field{[10]uint32{0x03da781b, 0x037a5111, 0x03b77384, 0x0351f058, 0x037372a3, 0x0040466d, 0x0275e11b, 0x035fbd12, 0x02af9fdd, 0x002afdb3}}, Y: Field{[10]uint32{0x0395d290, 0x003b3319, 0x0259a796, 0x024a0712, 0x01417183, 0x026ed3bd, 0x01fe2f3b, 0x0319eba7, 0x030c6320, 0x00172b6c}}}, + {X: Field{[10]uint32{0x009d173a, 0x020e13ae, 0x03deb74f, 0x00365598, 0x014e221e, 0x01f1b0f3, 0x03cf10a1, 0x0196c99f, 0x01229ef6, 0x003a3099}}, Y: Field{[10]uint32{0x022aeeb3, 0x02b847f2, 0x00934035, 0x009a7f34, 0x02bec7ba, 0x00364591, 0x031965b3, 0x0143bf48, 0x03adf9b0, 0x00269a7e}}}, + {X: Field{[10]uint32{0x01c6c23e, 0x03e93ff6, 0x0358df60, 0x03aa47ff, 0x01e031f3, 0x021a0c55, 0x0270a24e, 0x03b2e579, 0x03d8bf72, 0x0019994a}}, Y: Field{[10]uint32{0x00be994e, 0x0168ea4c, 0x03b3b4b6, 0x00054b73, 0x0205fa69, 0x03d98c29, 0x002fbb66, 0x00adcc8b, 0x00083f18, 0x0012113b}}}, + {X: Field{[10]uint32{0x002c0964, 0x0094b753, 0x02f0badf, 0x01054caa, 0x0075cac8, 0x016fdb56, 0x00202c44, 0x00410372, 0x00c2d842, 0x00081e20}}, Y: Field{[10]uint32{0x01860cfd, 0x01b47c30, 0x01c54e91, 0x024c203f, 0x010a562d, 0x0324a9ec, 0x00ef3167, 0x013786b9, 0x01d73eb2, 0x000ac606}}}, + {X: Field{[10]uint32{0x0013f581, 0x03f65648, 0x030cc763, 0x00b1f649, 0x007e8f26, 0x03437fda, 0x0133485e, 0x01a4bbb2, 0x01e453d0, 0x0011ae6f}}, Y: Field{[10]uint32{0x014f9bf7, 0x02af4b28, 0x022256ec, 0x021a7cbf, 0x01394cc7, 0x00216df5, 0x019b0d63, 0x026703d2, 0x03e63ae5, 0x00162be6}}}, + {X: Field{[10]uint32{0x01ea3e11, 0x00759e5d, 0x0278b82b, 0x015758a6, 0x02a2fa25, 0x00a6bcea, 0x0356e2f0, 0x03974025, 0x0174dbeb, 0x001766c9}}, Y: Field{[10]uint32{0x02e59263, 0x01ed9143, 0x030f02b8, 0x02405963, 0x03f3a641, 0x018a5d63, 0x023dd507, 0x031a3f3b, 0x00acaa6a, 0x003b67d0}}}, + {X: Field{[10]uint32{0x02590e4f, 0x01b05c9b, 0x02c52d08, 0x035ddf3f, 0x03dc598f, 0x01dd0ce2, 0x036a6491, 0x01909669, 0x01828b98, 0x003b2d6b}}, Y: Field{[10]uint32{0x01887886, 0x02637cb2, 0x034e301d, 0x029f3312, 0x0365d33e, 0x00be084b, 0x014b5bf5, 0x0361faa5, 0x013673c6, 0x0000ade2}}}, + {X: Field{[10]uint32{0x0124ea67, 0x03294c8e, 0x0296e8f3, 0x0267f243, 0x00ddd62e, 0x00037957, 0x01747250, 0x006e2874, 0x00c15e71, 0x002ccad9}}, Y: Field{[10]uint32{0x02ac2083, 0x02c30929, 0x016a5403, 0x013783f8, 0x024d81b8, 0x01f92f86, 0x027a94de, 0x02b7c8d2, 0x01d36dce, 0x002bd758}}}, + {X: Field{[10]uint32{0x020cd364, 0x0023f160, 0x034ab1c3, 0x010aa002, 0x008b7f68, 0x033daacf, 0x0157aa15, 0x008cd29b, 0x031b7158, 0x00144dfd}}, Y: Field{[10]uint32{0x01f1eab4, 0x0194a913, 0x00381efa, 0x00e25596, 0x010e4a3b, 0x025d5dc4, 0x02a248d4, 0x01f6ac31, 0x03ecc9b1, 0x003dfa97}}}, + {X: Field{[10]uint32{0x029ea866, 0x0158a5f3, 0x01539e7c, 0x01958c58, 0x0025f94e, 0x00070fd7, 0x0113a898, 0x016224f8, 0x021a390b, 0x002e6ec3}}, Y: Field{[10]uint32{0x00324a11, 0x01a547c2, 0x0080e6b6, 0x02a094e6, 0x01247f60, 0x0207938c, 0x00e14ece, 0x00d7eeb9, 0x00903c3d, 0x003636cf}}}, + {X: Field{[10]uint32{0x024fe9af, 0x03ad1a24, 0x027d317b, 0x024bb060, 0x0388cc11, 0x0310bd1e, 0x0291c211, 0x003b0811, 0x01676da4, 0x000fc246}}, Y: Field{[10]uint32{0x02bb8de9, 0x0177d705, 0x01395877, 0x02f74ff3, 0x00ba4c04, 0x00e341c9, 0x02e6a812, 0x00b07c62, 0x00263e88, 0x003c6d12}}}, + {X: Field{[10]uint32{0x0093b4fe, 0x016b2236, 0x00ed80d5, 0x011f5897, 0x003767da, 0x01c286cb, 0x015e7afc, 0x01803a35, 0x01f1dad4, 0x002d7e89}}, Y: Field{[10]uint32{0x02d22347, 0x024e6ca2, 0x0270e1d6, 0x000ee85e, 0x0183e495, 0x02927426, 0x013a1908, 0x00a5b1fb, 0x0261f2ba, 0x001d5d7d}}}, + {X: Field{[10]uint32{0x000d17b0, 0x031bdf5a, 0x000183d4, 0x03a9ac73, 0x01e4ca06, 0x000dcc1a, 0x01b797e9, 0x00096de3, 0x00e2dc6a, 0x00280dc7}}, Y: Field{[10]uint32{0x0059919d, 0x01f10cba, 0x036bc693, 0x01d1712b, 0x0024f0ff, 0x01666ddd, 0x011c5214, 0x00173ba1, 0x00a89a50, 0x0024ad6a}}}, + {X: Field{[10]uint32{0x02e2f210, 0x02650a87, 0x02c8c7b1, 0x00a36896, 0x00cd0a98, 0x01f50808, 0x0063967d, 0x02441de2, 0x029000a4, 0x0016ab9b}}, Y: Field{[10]uint32{0x03ee8fd7, 0x00393ded, 0x03957576, 0x031335e0, 0x017e82fd, 0x01e7b0e6, 0x03218f7b, 0x013cfff5, 0x002082a5, 0x0003b673}}}, + {X: Field{[10]uint32{0x020841a0, 0x034a8a06, 0x03b053fe, 0x02cb9b39, 0x0164efdd, 0x01437ad9, 0x000f9648, 0x02dbd2c4, 0x02ecf4a9, 0x001539f6}}, Y: Field{[10]uint32{0x03c9c63d, 0x00f7b2a5, 0x03daecc8, 0x0215c250, 0x0270d467, 0x022cd365, 0x02857ad0, 0x00ea0756, 0x032a5477, 0x00366b68}}}, + {X: Field{[10]uint32{0x03bf44e8, 0x01153223, 0x00d7abdb, 0x0148e47b, 0x00383ed7, 0x01d926e1, 0x00d8be0c, 0x03bd1ad2, 0x0110d8bc, 0x003a6ca6}}, Y: Field{[10]uint32{0x021d6b69, 0x031c0f09, 0x033deb84, 0x024a6a37, 0x03d7a267, 0x00393102, 0x01739655, 0x03a47e94, 0x0094f669, 0x003ac9a0}}}, + {X: Field{[10]uint32{0x02546a97, 0x0385de76, 0x00ef6384, 0x00727f85, 0x013f537a, 0x01df4767, 0x037c5895, 0x02944c65, 0x0222f254, 0x0010fe54}}, Y: Field{[10]uint32{0x01cb18cc, 0x03b3ad5c, 0x035e14b0, 0x02ce5ecf, 0x030eef80, 0x0198a8b7, 0x005b305b, 0x01711fc9, 0x02534334, 0x0035f4f1}}}, + {X: Field{[10]uint32{0x02c3b103, 0x004a52e9, 0x00b1dcc9, 0x01701c89, 0x01672338, 0x005ab921, 0x00bc0902, 0x03ee4a0c, 0x03d53999, 0x0027ed17}}, Y: Field{[10]uint32{0x02bdf451, 0x03deb27f, 0x0213a277, 0x001ae09c, 0x036731b5, 0x0269252e, 0x017bf7f3, 0x020b4e43, 0x001bdbfd, 0x0016d1c2}}}, + {X: Field{[10]uint32{0x031dcce9, 0x032092ed, 0x007f23cb, 0x003882b6, 0x0109ca84, 0x03ad19bd, 0x015919b2, 0x00a734ca, 0x002b8355, 0x0037648a}}, Y: Field{[10]uint32{0x03726371, 0x02a78717, 0x03b7ad58, 0x01a0ed63, 0x01f37962, 0x00788ef3, 0x02f4a29d, 0x0359a2c7, 0x02e7bc59, 0x003b117d}}}, + {X: Field{[10]uint32{0x0016348d, 0x030176b7, 0x01c38686, 0x01bf06b5, 0x01fe2903, 0x00f788f1, 0x019def4f, 0x02f75efe, 0x0012009f, 0x001d20bc}}, Y: Field{[10]uint32{0x0040abd1, 0x0198e9ae, 0x025f8db1, 0x02eb0939, 0x0173fc0d, 0x0196eb44, 0x02b2a20b, 0x03dbc2fc, 0x020d5497, 0x00290f12}}}, + {X: Field{[10]uint32{0x00ebd9a5, 0x029a1a5c, 0x02377a69, 0x00c3dea6, 0x01537fca, 0x016c0c65, 0x012f587a, 0x0189e077, 0x019597fd, 0x003e933f}}, Y: Field{[10]uint32{0x03ae823a, 0x03af8771, 0x0105c1b8, 0x00c428c1, 0x01e2a350, 0x03862a3f, 0x031d269b, 0x03dde2f4, 0x02c99ddb, 0x00115a2d}}}, + {X: Field{[10]uint32{0x03a60b9e, 0x01f4440f, 0x00c53d9b, 0x034c9e51, 0x022f1078, 0x03c7ffaf, 0x0105e1b4, 0x00fa3a06, 0x03dae776, 0x00147834}}, Y: Field{[10]uint32{0x02da6740, 0x00bfca8d, 0x033f7bfa, 0x02948e57, 0x001da673, 0x008423b4, 0x01f20b90, 0x00beb33e, 0x00c4ab57, 0x00046368}}}, + {X: Field{[10]uint32{0x01bc9530, 0x00a99a03, 0x03f86c48, 0x01d3d03a, 0x00502fc6, 0x0227a5bd, 0x003b8572, 0x008cd4e3, 0x027cc055, 0x001f6395}}, Y: Field{[10]uint32{0x02b37571, 0x030ba9a3, 0x00ad7600, 0x00716172, 0x00748458, 0x02a2c985, 0x01fe552b, 0x0111a92e, 0x004600c6, 0x001db0ff}}}, + {X: Field{[10]uint32{0x011dfb1f, 0x00ae52b3, 0x000ed8d1, 0x019e7bd3, 0x011c316d, 0x03e8631e, 0x01f216fd, 0x0065bf74, 0x02d3b400, 0x00364931}}, Y: Field{[10]uint32{0x03ebcea8, 0x00aaa013, 0x012e59d8, 0x00649b1a, 0x0290b9d1, 0x023766e4, 0x01eb3f28, 0x0012e2c4, 0x00ee881c, 0x0003b0cf}}}, + {X: Field{[10]uint32{0x0293c0db, 0x01d115d7, 0x03b8f330, 0x006afe54, 0x033965cb, 0x02a6760a, 0x00d28b97, 0x00a72346, 0x030b06f6, 0x002372cc}}, Y: Field{[10]uint32{0x006857a3, 0x01d3cde9, 0x0097ab6d, 0x0103dbdf, 0x00b58b73, 0x004fe06a, 0x0129b573, 0x0240b46c, 0x01198323, 0x000f628b}}}, + {X: Field{[10]uint32{0x02a5d2b5, 0x01d27daf, 0x02e80d3f, 0x0074d68c, 0x0157910f, 0x036bad9c, 0x0386797d, 0x018de233, 0x023b94b0, 0x00374712}}, Y: Field{[10]uint32{0x03230777, 0x026fb7ac, 0x0064c086, 0x02f1cf5f, 0x003d2afe, 0x02de32de, 0x03e5be9a, 0x0160f590, 0x00c75a69, 0x003befb0}}}, + {X: Field{[10]uint32{0x03f5e772, 0x022a214d, 0x02dab765, 0x03caf1d8, 0x01ec0275, 0x0134a4b0, 0x01f6ec48, 0x035fdce5, 0x02341dfa, 0x000ac0f7}}, Y: Field{[10]uint32{0x03c0d0e3, 0x019a9db0, 0x03bdf971, 0x0346b926, 0x020803d7, 0x027de397, 0x03d48bb4, 0x0160b156, 0x00fb3818, 0x000c8d7a}}}, + {X: Field{[10]uint32{0x0028dde2, 0x01e320c5, 0x03f39479, 0x02f530f9, 0x02677f06, 0x01addc4c, 0x03a80efa, 0x016f25f9, 0x030fba14, 0x000e9e56}}, Y: Field{[10]uint32{0x00914691, 0x037d5e51, 0x0352b526, 0x013a8fc4, 0x0081af64, 0x03b502bb, 0x00bc9e1e, 0x022898df, 0x039ddf03, 0x003d0496}}}, + {X: Field{[10]uint32{0x004fcbbf, 0x0301621a, 0x01e59ef8, 0x0085e234, 0x03121f5c, 0x002a1476, 0x006c081b, 0x035b2e71, 0x013ba133, 0x0003b3e0}}, Y: Field{[10]uint32{0x03e53560, 0x035dce04, 0x020930ec, 0x0057af84, 0x02597e39, 0x02254a70, 0x02becd07, 0x02d1cdfc, 0x02f2a7b7, 0x001a7836}}}, + {X: Field{[10]uint32{0x02217d5a, 0x01a461b5, 0x00c33576, 0x01154da3, 0x03743832, 0x0138274f, 0x037191dd, 0x018f9040, 0x0182c141, 0x0018df12}}, Y: Field{[10]uint32{0x02ecb410, 0x03695cf7, 0x00b77a74, 0x011d6b19, 0x00f6fb37, 0x028de0c6, 0x03aaa5c0, 0x034b8c96, 0x02b8fd83, 0x0036968a}}}, + {X: Field{[10]uint32{0x01b90e87, 0x022cf8dc, 0x037c6b19, 0x01604947, 0x00542556, 0x0014c368, 0x03f5fac2, 0x016d5f73, 0x03a2d887, 0x00067f9c}}, Y: Field{[10]uint32{0x00151ca0, 0x027de836, 0x01ad35a3, 0x0204a3f0, 0x01a32646, 0x03f97a2e, 0x027a77a1, 0x0094630d, 0x00182ccc, 0x000ec0eb}}}, + {X: Field{[10]uint32{0x03b7ebb2, 0x0156dfce, 0x0023471d, 0x02f7c513, 0x00c68b4c, 0x02d9a02c, 0x01151b30, 0x03700027, 0x022a0d4c, 0x00005ba9}}, Y: Field{[10]uint32{0x013fa629, 0x03f3a779, 0x01f6a8ff, 0x0180b8ee, 0x0135f020, 0x02566030, 0x00612a89, 0x00b964ce, 0x021c5367, 0x00232b12}}}, + {X: Field{[10]uint32{0x02a40970, 0x00d4e508, 0x012e849f, 0x0217efd4, 0x00e1eed4, 0x01e7e68a, 0x00e54132, 0x01b4859e, 0x00b5454c, 0x001ae75a}}, Y: Field{[10]uint32{0x02365482, 0x02c6c9eb, 0x01472fa4, 0x01952c17, 0x03907f85, 0x02a223ad, 0x01e6969d, 0x038df6be, 0x004498eb, 0x002d8fd4}}}, + {X: Field{[10]uint32{0x035ed3e6, 0x037449c2, 0x01d05868, 0x01f48c59, 0x0232c3c2, 0x03edfb24, 0x03dc948a, 0x0204b0b9, 0x008c08f0, 0x0007e883}}, Y: Field{[10]uint32{0x01838076, 0x0137ad8a, 0x020cfed8, 0x015ca029, 0x026cd168, 0x0308a7fa, 0x03686062, 0x00d909f7, 0x034d8213, 0x0031495f}}}, + {X: Field{[10]uint32{0x036acc86, 0x0229a86f, 0x02263e8e, 0x00e2f941, 0x02af15bb, 0x00763d4d, 0x031df6b3, 0x02d37873, 0x00927dae, 0x001cea0f}}, Y: Field{[10]uint32{0x02eb8adc, 0x01eb5aa0, 0x000ab2fb, 0x02af937d, 0x0126a21d, 0x02326e24, 0x034e24de, 0x030c2e0a, 0x03e40cd6, 0x002822b2}}}, + {X: Field{[10]uint32{0x0188bdbe, 0x01d87b9d, 0x015a48e1, 0x033bf4a9, 0x0285ba90, 0x03389978, 0x0278cf93, 0x00b7bb28, 0x0264924e, 0x000ea655}}, Y: Field{[10]uint32{0x00cbbb0e, 0x02351711, 0x00f39dd4, 0x02f40edf, 0x02d011a1, 0x0072bc63, 0x0065d939, 0x00cf4d49, 0x02dc99eb, 0x003cc886}}}, + {X: Field{[10]uint32{0x01429c26, 0x01fc9a4f, 0x005965e0, 0x03ead3e2, 0x025ca516, 0x030583a1, 0x005cd9b9, 0x03d73075, 0x0219b032, 0x001f197b}}, Y: Field{[10]uint32{0x023704c5, 0x015ca900, 0x02287ff9, 0x0178dd0f, 0x018cc54a, 0x02f88893, 0x01076ae4, 0x03c9df4c, 0x02f90e3d, 0x0011f1fe}}}, + {X: Field{[10]uint32{0x00d397dc, 0x0002c8b9, 0x00fb03dc, 0x0365976e, 0x032f05e6, 0x0332e340, 0x0153118d, 0x036ef6f6, 0x014c6750, 0x0030041a}}, Y: Field{[10]uint32{0x008e730c, 0x020ee01b, 0x01be2395, 0x00054b50, 0x025a5e61, 0x0065bc4c, 0x01fde10a, 0x01510567, 0x00c6dd6c, 0x000ed245}}}, + {X: Field{[10]uint32{0x02519d57, 0x005f3d98, 0x03ae75e3, 0x00b29c8f, 0x01a33dcb, 0x0084d84c, 0x015a12b9, 0x022db5be, 0x008ed28d, 0x00389561}}, Y: Field{[10]uint32{0x03cfb7b6, 0x0364990f, 0x02fe4d36, 0x03007841, 0x00377c9a, 0x02060ec9, 0x0207dcd1, 0x036b5e60, 0x01aa1757, 0x0018bdf5}}}, + {X: Field{[10]uint32{0x00236ed9, 0x0295b40b, 0x03c45bd1, 0x029ddbbf, 0x01a9669d, 0x00778c34, 0x0078dfbf, 0x00a648ea, 0x00e57323, 0x003cc506}}, Y: Field{[10]uint32{0x0256b84c, 0x008d2e2b, 0x01552af7, 0x03d87e22, 0x0316a1ef, 0x00c2d6bb, 0x0234c8a6, 0x03651957, 0x0084dce0, 0x00398aae}}}, + {X: Field{[10]uint32{0x01703181, 0x004b0aef, 0x03770615, 0x026ba319, 0x021f3f3c, 0x01f079aa, 0x01c290d4, 0x00c4eeb2, 0x0145b876, 0x00026b6e}}, Y: Field{[10]uint32{0x030908fd, 0x01d347a7, 0x00f8650f, 0x003b7c3c, 0x0251531d, 0x03777cac, 0x020b82be, 0x00985920, 0x0142b463, 0x002c87f0}}}, + {X: Field{[10]uint32{0x008da322, 0x01b0f160, 0x03f36172, 0x01182e0e, 0x03ca04b8, 0x00d6ce42, 0x01132e9b, 0x018e8615, 0x032b9d4a, 0x00311a0a}}, Y: Field{[10]uint32{0x035f6972, 0x02d740f4, 0x025a26ee, 0x016a0d73, 0x0014e907, 0x00f8dbc1, 0x02597622, 0x02e8c86d, 0x006a7100, 0x003c96a4}}}, + {X: Field{[10]uint32{0x0280d63a, 0x028419ba, 0x0003da99, 0x03ceb810, 0x02559159, 0x025f1d97, 0x027c4055, 0x02711e05, 0x016d60f4, 0x003aec3f}}, Y: Field{[10]uint32{0x02a0b0f7, 0x0321a39a, 0x00350afd, 0x019dc1bd, 0x00c4202f, 0x022d0c72, 0x022ffcf2, 0x03218876, 0x0160667a, 0x003acdf4}}}, + {X: Field{[10]uint32{0x01a5597a, 0x006f2f02, 0x0334e355, 0x026257d5, 0x0165ffb0, 0x03fd8dfc, 0x0267cbbb, 0x02f2d000, 0x012070d8, 0x001e3c4b}}, Y: Field{[10]uint32{0x03bb78f8, 0x005c240a, 0x037407de, 0x038ce65c, 0x037419a3, 0x021f6672, 0x03574d2c, 0x005d586e, 0x02b33662, 0x0010a5da}}}, + {X: Field{[10]uint32{0x01919f69, 0x022befa1, 0x01eee579, 0x02ef9d9e, 0x0235ae41, 0x02525886, 0x039fbc2b, 0x012d8e60, 0x004af621, 0x0000f7ff}}, Y: Field{[10]uint32{0x03f2c456, 0x03fab615, 0x020e9036, 0x03fa40a1, 0x02a13480, 0x02765d40, 0x01d15a42, 0x0086b88b, 0x036b1b40, 0x001605d2}}}, + {X: Field{[10]uint32{0x015a15cc, 0x0175d16d, 0x028bf55d, 0x0034c914, 0x00bd16bf, 0x036ddbae, 0x015198f4, 0x010b2884, 0x0393a4ed, 0x00104324}}, Y: Field{[10]uint32{0x02d58306, 0x03ea8297, 0x003d7059, 0x0069cc7f, 0x0283c298, 0x0328945d, 0x00c2cf9b, 0x02e26f05, 0x00b1df71, 0x001013fd}}}, + {X: Field{[10]uint32{0x024e3649, 0x01b1256f, 0x031966c1, 0x01a599e5, 0x00b93e65, 0x03f9a5df, 0x03366326, 0x02c1e4f7, 0x015687d6, 0x001ad354}}, Y: Field{[10]uint32{0x0169f4e3, 0x0304697a, 0x01c815d6, 0x002a5544, 0x001a2556, 0x036c5d83, 0x02a03152, 0x0081fd74, 0x0094bbac, 0x00191e92}}}, + {X: Field{[10]uint32{0x01f34247, 0x01c716e9, 0x01fd94a7, 0x0091af93, 0x016f0d87, 0x00017670, 0x03ccfd85, 0x01661bc2, 0x017ae87d, 0x00163feb}}, Y: Field{[10]uint32{0x00069817, 0x0173c03c, 0x02ce5e50, 0x01afb8da, 0x03b33fba, 0x03218a70, 0x00d6f93e, 0x0057ebd4, 0x02d8f9ab, 0x002b62de}}}, + {X: Field{[10]uint32{0x02a757fd, 0x003ab3e9, 0x02c72b31, 0x01a5ca24, 0x00adb956, 0x00fa20ed, 0x03277382, 0x03eb782b, 0x001d1835, 0x0039b4f9}}, Y: Field{[10]uint32{0x01359c15, 0x0283bc08, 0x02e61045, 0x02aed09e, 0x03d6395c, 0x036f6e3b, 0x0303e425, 0x03b39f3b, 0x008cb580, 0x00284db2}}}, + {X: Field{[10]uint32{0x01953b35, 0x02ba51c3, 0x032a5573, 0x010828b4, 0x023b561b, 0x006f0409, 0x01044792, 0x0280c2b0, 0x022b43aa, 0x003f11f1}}, Y: Field{[10]uint32{0x006224f0, 0x00c18009, 0x03b29502, 0x00982ce4, 0x01627236, 0x00287d44, 0x02b58104, 0x01e019cc, 0x011d65fc, 0x00174c63}}}, + {X: Field{[10]uint32{0x03db251b, 0x02b2df1b, 0x031ca36b, 0x028a4cf2, 0x02d0a1b8, 0x00d54e19, 0x0278da90, 0x00deec23, 0x0067cbcb, 0x0033ab8a}}, Y: Field{[10]uint32{0x02bb3dfd, 0x00b47742, 0x00c16d4c, 0x00a4e862, 0x03956cc6, 0x010dc9ed, 0x0017b373, 0x02aa55e5, 0x007ec163, 0x00122fcb}}}, + {X: Field{[10]uint32{0x03efeab0, 0x02090f86, 0x02d78daa, 0x01d3225c, 0x039195fb, 0x0145b621, 0x03408d82, 0x00d6d708, 0x0378c847, 0x002aec48}}, Y: Field{[10]uint32{0x0366698e, 0x01646ccf, 0x01a02abb, 0x00d99c10, 0x01ce901c, 0x032295b6, 0x010be913, 0x02919767, 0x024b0da5, 0x001682fd}}}, + {X: Field{[10]uint32{0x0159eeaf, 0x03a9c00c, 0x0024f274, 0x03a50e92, 0x021a576c, 0x038458c5, 0x005302b0, 0x031f2486, 0x02398330, 0x0035de07}}, Y: Field{[10]uint32{0x0106651a, 0x01192bc3, 0x03310fbb, 0x02665bdb, 0x01261aed, 0x006f8f5f, 0x027398dd, 0x03171cfb, 0x00324e07, 0x0018d069}}}, + {X: Field{[10]uint32{0x024c760c, 0x02dda11f, 0x01a6dbe5, 0x00cf7f50, 0x016f3ad1, 0x00a8877c, 0x0171646d, 0x008115cb, 0x01cd46ec, 0x0029a463}}, Y: Field{[10]uint32{0x0132fa9c, 0x015b9f42, 0x034e51f0, 0x03ecbd98, 0x001d6c7c, 0x01484e5f, 0x030e4b53, 0x01263669, 0x02ba378d, 0x00303946}}}, + {X: Field{[10]uint32{0x03d1a204, 0x001132a0, 0x027706ef, 0x03809234, 0x027785e2, 0x017f65c1, 0x02b340a6, 0x037980e4, 0x02e4fbb5, 0x00104e93}}, Y: Field{[10]uint32{0x023dd197, 0x03c5cbe2, 0x027c343a, 0x01d1476c, 0x016595a6, 0x006c23f4, 0x02bc668d, 0x023cd0ef, 0x0106c18a, 0x00280d89}}}, + {X: Field{[10]uint32{0x0204001c, 0x00560717, 0x011a8968, 0x01988dcc, 0x0287fd87, 0x03ef4449, 0x004aa082, 0x002483db, 0x0024de8b, 0x003869ef}}, Y: Field{[10]uint32{0x026bed16, 0x02ac4006, 0x0249b29b, 0x02c7bea3, 0x013a3d90, 0x00695719, 0x01aeea26, 0x021cf452, 0x01fdd0a2, 0x000f8eea}}}, + {X: Field{[10]uint32{0x01333a75, 0x0283f0f7, 0x0142d8a9, 0x026c5e56, 0x01ab1dde, 0x028cdf81, 0x02e077f8, 0x033312d6, 0x02a0a147, 0x003fe4a4}}, Y: Field{[10]uint32{0x0223a166, 0x03d6de1e, 0x007a43b6, 0x00ae0c17, 0x02b555ea, 0x016b577f, 0x014b4122, 0x00d18dd9, 0x027c5f7a, 0x003943c0}}}, + {X: Field{[10]uint32{0x00cb9c0c, 0x000e7513, 0x0140d900, 0x03186600, 0x03afe849, 0x001170b4, 0x007a36b0, 0x02774e77, 0x0223437c, 0x003ab959}}, Y: Field{[10]uint32{0x0132e043, 0x01a25d37, 0x037be39f, 0x0100dcb5, 0x0055e62e, 0x00bf9f9e, 0x02b5a9b2, 0x01d0db72, 0x01e99284, 0x003c6e32}}}, + {X: Field{[10]uint32{0x00bd5282, 0x000b2d55, 0x012273d0, 0x0012f322, 0x017f9c60, 0x01230e79, 0x02da0f30, 0x028f7f87, 0x00be3467, 0x001f7483}}, Y: Field{[10]uint32{0x001485d0, 0x01a9a25f, 0x014c64eb, 0x020a377f, 0x02ee9225, 0x005dca91, 0x034c3f83, 0x034b5533, 0x0323f035, 0x003b134b}}}, + {X: Field{[10]uint32{0x02a877eb, 0x00b68fc4, 0x03fc73a0, 0x03af6c36, 0x03e4e245, 0x00ef68f0, 0x03b88703, 0x004a4551, 0x01cc5acf, 0x000d6604}}, Y: Field{[10]uint32{0x0108a792, 0x02b3663a, 0x03a59bb6, 0x02f8ada0, 0x037702d1, 0x00470e89, 0x03f916f5, 0x028f781b, 0x00878b97, 0x003b4bd4}}}, + {X: Field{[10]uint32{0x01a71c24, 0x00440b92, 0x005a2c03, 0x03282f18, 0x035a6c76, 0x00689346, 0x02d57ea0, 0x0329393a, 0x009cf2bc, 0x003eccfa}}, Y: Field{[10]uint32{0x031c9f45, 0x00a1874b, 0x0180e019, 0x010309ba, 0x03d7fca9, 0x00aa49cb, 0x035b9584, 0x009c15ea, 0x02f5ca60, 0x0031d780}}}, + {X: Field{[10]uint32{0x01f687aa, 0x03aed5b9, 0x036069d1, 0x003bca4e, 0x01b7b297, 0x0016944a, 0x034f836b, 0x01d28054, 0x033e5eed, 0x00028734}}, Y: Field{[10]uint32{0x02c4a6b0, 0x01e34207, 0x01abcc99, 0x01ea25a8, 0x01bdefc3, 0x0390e03a, 0x02b60cc1, 0x030d14ec, 0x02b90ccf, 0x003e4346}}}, + {X: Field{[10]uint32{0x00213614, 0x014d4131, 0x00999b85, 0x027876cc, 0x025d9f16, 0x03b62b24, 0x03383cfc, 0x00edeafe, 0x02b90364, 0x001185a5}}, Y: Field{[10]uint32{0x0033bc72, 0x0035668c, 0x018d60de, 0x0339a566, 0x03ee91c4, 0x02bafff4, 0x0340a859, 0x003e8323, 0x00775f30, 0x0019d3d7}}}, + {X: Field{[10]uint32{0x014ab025, 0x00356f78, 0x01727f39, 0x03c89d1c, 0x021fd5cd, 0x00fdfa2a, 0x00885ae9, 0x027daf33, 0x02221b58, 0x001b1aaa}}, Y: Field{[10]uint32{0x02077538, 0x034b2eea, 0x0015c9f8, 0x005e2329, 0x02aeb844, 0x02d43e9d, 0x0164483f, 0x02e4346b, 0x020340e1, 0x0029df17}}}, + {X: Field{[10]uint32{0x0261c38b, 0x013f35d3, 0x00268387, 0x0069cab3, 0x01792eff, 0x039ca79b, 0x032c7ee6, 0x00cc4340, 0x0391927f, 0x00324634}}, Y: Field{[10]uint32{0x000dfb5b, 0x010f201e, 0x03965742, 0x01c9b89f, 0x00fce24a, 0x016db2d6, 0x021bed0e, 0x0123e3b6, 0x006c3460, 0x00163f5d}}}, + {X: Field{[10]uint32{0x01ea5918, 0x03b1625b, 0x022c2142, 0x03c0cfef, 0x019240c3, 0x004f1253, 0x02c26542, 0x028fd792, 0x02161ca0, 0x001219e7}}, Y: Field{[10]uint32{0x021d1a41, 0x0347c78f, 0x004a9a30, 0x039e73c8, 0x03b2a19f, 0x019e1038, 0x03a29667, 0x02bf8fa4, 0x03fe300c, 0x00155be4}}}, + {X: Field{[10]uint32{0x02e7b858, 0x01a28c31, 0x02584699, 0x0166b11a, 0x025e9456, 0x02ab0216, 0x02d6eede, 0x0191029c, 0x01a9e46b, 0x0031a301}}, Y: Field{[10]uint32{0x01de450d, 0x00991805, 0x032b61b1, 0x01a934af, 0x03c76874, 0x000da845, 0x03d64a1d, 0x03fe02f8, 0x01dc35d4, 0x002e2d2d}}}, + {X: Field{[10]uint32{0x01444e6a, 0x00e1d5e7, 0x02dc9f05, 0x038dbcc9, 0x0121e3df, 0x01b151a6, 0x0176dc4b, 0x01227e3e, 0x03106358, 0x00344cfb}}, Y: Field{[10]uint32{0x02f968cb, 0x00f140ae, 0x005becbf, 0x03af8cad, 0x02327ec3, 0x03f59a9b, 0x02b0f57a, 0x0034b09c, 0x03c4db69, 0x000b19aa}}}, + {X: Field{[10]uint32{0x01f976ae, 0x02b416cf, 0x0119392d, 0x01828807, 0x0261ca0a, 0x0229f8b6, 0x00766dc4, 0x0277aac4, 0x03598d75, 0x0014d513}}, Y: Field{[10]uint32{0x0069cd47, 0x010aff8a, 0x017e879a, 0x00454df8, 0x030993d7, 0x028666b5, 0x004e3f03, 0x01ebbc08, 0x005e61cb, 0x00112688}}}, + {X: Field{[10]uint32{0x03b8b331, 0x00d2b2e0, 0x00a622fe, 0x0177b8dd, 0x009254c6, 0x012dadf0, 0x02263851, 0x0144cce7, 0x00740fda, 0x000c4228}}, Y: Field{[10]uint32{0x028b6243, 0x00c04c89, 0x0115b5d9, 0x0347d678, 0x00d6fc05, 0x030bc891, 0x01a473da, 0x00ffaa2c, 0x010d5426, 0x0010bb72}}}, + {X: Field{[10]uint32{0x00b4b23c, 0x0336329f, 0x03962154, 0x0301ac8b, 0x012ee58a, 0x03ad5618, 0x0295099a, 0x00701367, 0x000d052c, 0x000599b1}}, Y: Field{[10]uint32{0x03a82fb9, 0x01112c64, 0x0284fb6c, 0x011f4807, 0x00abafc2, 0x001d4a55, 0x0355923e, 0x0198e2aa, 0x0341ae04, 0x0014196e}}}, + {X: Field{[10]uint32{0x0247722e, 0x01c915fb, 0x02ad53a5, 0x0242ef57, 0x02ed80fa, 0x01dacb60, 0x001290df, 0x039aa3c0, 0x03ebd3ee, 0x00325b41}}, Y: Field{[10]uint32{0x0220baf3, 0x0370b31f, 0x032c8d00, 0x0391e290, 0x0113ba06, 0x0262dd27, 0x0016af17, 0x02dfa68d, 0x0004447f, 0x0034f5a7}}}, + {X: Field{[10]uint32{0x0181b49d, 0x02136447, 0x03479fce, 0x02f5ecb0, 0x00647fa7, 0x0339d50b, 0x0369a9e8, 0x016c15e1, 0x0039b11b, 0x0002a7ff}}, Y: Field{[10]uint32{0x00bcbee7, 0x0348489a, 0x03747375, 0x0124e394, 0x0280a644, 0x016101c4, 0x00894dc2, 0x00a3dfa6, 0x024882e9, 0x002fb084}}}, + {X: Field{[10]uint32{0x03af0632, 0x0317eefd, 0x00f2737f, 0x01fc6980, 0x03e82578, 0x024c83f4, 0x015d3f52, 0x024e0239, 0x028ccd4c, 0x0014b284}}, Y: Field{[10]uint32{0x0135f7c4, 0x010b378c, 0x02ec370f, 0x024e0d9d, 0x0137ffa4, 0x03676fee, 0x02bab014, 0x0232ded3, 0x028095a9, 0x00211ba2}}}, + {X: Field{[10]uint32{0x01407c20, 0x03e8d3aa, 0x039ae8e0, 0x00948ca6, 0x00006985, 0x0127df25, 0x00abc41e, 0x02649dee, 0x02c177fd, 0x003fe4aa}}, Y: Field{[10]uint32{0x03fdcfb5, 0x01e7d163, 0x03331a33, 0x024d0a91, 0x03dafd9a, 0x01c8c0dc, 0x03bf2a9b, 0x0149cfae, 0x00dd5aaf, 0x002bc363}}}, + {X: Field{[10]uint32{0x03991e0c, 0x007406c9, 0x03f09a54, 0x02c75ca7, 0x025fb653, 0x005340be, 0x0163c973, 0x0028f0e0, 0x033ed3c1, 0x0029a4a9}}, Y: Field{[10]uint32{0x0068b905, 0x026f9a79, 0x03809cff, 0x0126694d, 0x02aa05c9, 0x02e09056, 0x0063d006, 0x034fa036, 0x015a3e5b, 0x0001c8bd}}}, + {X: Field{[10]uint32{0x0120aefd, 0x031ffb50, 0x024e2e2f, 0x0298c573, 0x006b813b, 0x03263520, 0x02fc4cd2, 0x026a4f8c, 0x003f7a62, 0x00367967}}, Y: Field{[10]uint32{0x030214bb, 0x023853eb, 0x00d30eb0, 0x00e44eaa, 0x013234be, 0x002691ff, 0x01bf6589, 0x00c4653d, 0x01942307, 0x00093389}}}, + {X: Field{[10]uint32{0x00a0f6ff, 0x02394d01, 0x0358714b, 0x0169816a, 0x034dde8d, 0x02af3c16, 0x0191ef79, 0x02c42592, 0x030f7771, 0x001d3949}}, Y: Field{[10]uint32{0x03b1670f, 0x02c1186c, 0x0088714b, 0x0199a455, 0x0371ced0, 0x00d5ac78, 0x03a285f1, 0x00fc25a1, 0x01a3a4a8, 0x000ab618}}}, + {X: Field{[10]uint32{0x01d4420c, 0x0007d64c, 0x03f587a2, 0x0292161f, 0x02744668, 0x0255f0e8, 0x02856157, 0x03df9d86, 0x02301c43, 0x002e45a4}}, Y: Field{[10]uint32{0x0019536f, 0x007dd396, 0x03e5bebe, 0x008fd6c8, 0x03659ea4, 0x01945696, 0x01818e0c, 0x020a0133, 0x025bc126, 0x002f4d81}}}, + {X: Field{[10]uint32{0x024d51ee, 0x00e7640d, 0x03cd8792, 0x0325654e, 0x02cd01fd, 0x0016dfec, 0x02d72115, 0x01a36a5c, 0x02538645, 0x000dfebc}}, Y: Field{[10]uint32{0x03c15f85, 0x0127ab4e, 0x02823657, 0x008dbdef, 0x01d8c125, 0x028ef258, 0x02ea7360, 0x02cf9f9a, 0x02ce749d, 0x002da6b8}}}, + {X: Field{[10]uint32{0x020cf8d2, 0x0021eee8, 0x0214b43b, 0x02630661, 0x011c379f, 0x00373419, 0x0082477f, 0x004e2cd2, 0x014c4a1c, 0x00386504}}, Y: Field{[10]uint32{0x0098a93b, 0x00dd62ba, 0x00d6789e, 0x034f5c75, 0x00889f2a, 0x01452a66, 0x0182cf06, 0x0388b8ec, 0x034bb90a, 0x001e8ebe}}}, + {X: Field{[10]uint32{0x0217ddaa, 0x0150de7e, 0x0333cca0, 0x03bc245c, 0x011c8b13, 0x02056234, 0x008e4b3c, 0x02d145ce, 0x03010d3f, 0x000b38b6}}, Y: Field{[10]uint32{0x027bbbc0, 0x00c35dcd, 0x00922e2c, 0x02ce0043, 0x0074285c, 0x0346955a, 0x021529ae, 0x01daa617, 0x029daf0e, 0x00248cb6}}}, + {X: Field{[10]uint32{0x016f051f, 0x0063e7cf, 0x01f49986, 0x01b9658d, 0x000bd66c, 0x03fa9da2, 0x00e2e821, 0x01c114f7, 0x00484bdb, 0x0030a4bb}}, Y: Field{[10]uint32{0x03b57d6d, 0x0067b225, 0x008872b1, 0x00d849bd, 0x0312b777, 0x03454c91, 0x00af49bf, 0x039a7134, 0x00f06b81, 0x0008429d}}}, + {X: Field{[10]uint32{0x01acfeee, 0x00c80da9, 0x002ad3e1, 0x020f5ded, 0x020933db, 0x0360eb4f, 0x03b423cc, 0x022bbda5, 0x01c09761, 0x00056f32}}, Y: Field{[10]uint32{0x008a7a33, 0x00ea01ae, 0x0211c1a8, 0x02a403a5, 0x01a1bb98, 0x01244b28, 0x033c4901, 0x025bf6fe, 0x02f11bb9, 0x003a7f1f}}}, + {X: Field{[10]uint32{0x021e7785, 0x0132c91b, 0x03113fd2, 0x031a6756, 0x00848639, 0x017cb4a6, 0x03e45fe5, 0x00ef5e5e, 0x00af50f1, 0x00118467}}, Y: Field{[10]uint32{0x0042ea3b, 0x009ea4c2, 0x01215b13, 0x00056bac, 0x00ba3015, 0x03be4cad, 0x022cf8f9, 0x01bae5dd, 0x0391f4c5, 0x001a880f}}}, + {X: Field{[10]uint32{0x02f9ecf4, 0x037e216d, 0x03a649d9, 0x025179ac, 0x01cf1410, 0x03687e7f, 0x0149a3d2, 0x03c60aa5, 0x03943e4d, 0x003ce85d}}, Y: Field{[10]uint32{0x02cf7e8f, 0x033b041b, 0x02115c80, 0x03ff20bb, 0x00444a1d, 0x0167e0ca, 0x02b66198, 0x02b4e7f0, 0x03cc5e82, 0x002cd3ad}}}, + {X: Field{[10]uint32{0x03913fe4, 0x001d71ad, 0x03d67536, 0x03e940a5, 0x01fa98bd, 0x016e6831, 0x01cbd45f, 0x03d1a36e, 0x027484a7, 0x0033be42}}, Y: Field{[10]uint32{0x02301815, 0x0290289a, 0x0173730f, 0x01579715, 0x01fb79a5, 0x00941e1d, 0x03029465, 0x03ef0a19, 0x02ad2a43, 0x0034243b}}}, + {X: Field{[10]uint32{0x035702ce, 0x031bb4a8, 0x00b06833, 0x02dae418, 0x0126c528, 0x02fe9598, 0x00b88b24, 0x02a4e3b1, 0x0214987a, 0x00087628}}, Y: Field{[10]uint32{0x004579e4, 0x019bc9b6, 0x03c8e94b, 0x03a69407, 0x00f736df, 0x00228a0c, 0x028167c0, 0x0288ef18, 0x000d5b65, 0x0030d50d}}}, + {X: Field{[10]uint32{0x021ca53e, 0x00e5460e, 0x0361d5d1, 0x03e91b81, 0x00e19196, 0x020b6f49, 0x0204f6cf, 0x02f9298a, 0x03279049, 0x001ac63f}}, Y: Field{[10]uint32{0x01ffa3b7, 0x033f6cb1, 0x038d86ca, 0x035c948b, 0x026343f0, 0x01a63e8c, 0x001e9b26, 0x004d9e3e, 0x030c52c0, 0x003be01b}}}, + {X: Field{[10]uint32{0x03466e6f, 0x02b8c772, 0x020ee850, 0x00db0206, 0x00bab07c, 0x028f99cf, 0x0332afbe, 0x03301354, 0x00f20452, 0x001f63bd}}, Y: Field{[10]uint32{0x00fa0c0d, 0x0298910b, 0x017bc137, 0x011fc644, 0x01d224da, 0x03c43db2, 0x03367d0d, 0x033bbc9c, 0x026755a2, 0x000c9185}}}, + {X: Field{[10]uint32{0x00d12cab, 0x012d2208, 0x01afd699, 0x0182c74c, 0x02034135, 0x016b1d28, 0x03b63276, 0x015927d6, 0x002155d1, 0x0031f786}}, Y: Field{[10]uint32{0x02eaa23a, 0x014b39e5, 0x02844482, 0x00d8475f, 0x007fbe01, 0x030c9036, 0x03b86595, 0x00b03f24, 0x0056c5fb, 0x00366596}}}, + {X: Field{[10]uint32{0x0381b294, 0x0224ef50, 0x005c600f, 0x0025ca65, 0x03eddeff, 0x017e93ac, 0x01eb6ee4, 0x00b0ec62, 0x033a915e, 0x00133b2c}}, Y: Field{[10]uint32{0x02a3aeb1, 0x02ef6387, 0x036ffd1b, 0x0384cc42, 0x033534d6, 0x02dc0335, 0x02250357, 0x0072e111, 0x0112b5e6, 0x0033c5fc}}}, + {X: Field{[10]uint32{0x02255749, 0x02a99619, 0x00c10204, 0x00aca172, 0x001c9bc7, 0x033c03f9, 0x003ab5d4, 0x0181aed3, 0x0064bfce, 0x00209b3d}}, Y: Field{[10]uint32{0x036849c4, 0x02388d5e, 0x011cbb87, 0x0192c600, 0x036d7ca5, 0x00542a8b, 0x016fabfb, 0x00a16d45, 0x0031527d, 0x001ae8ed}}}, + {X: Field{[10]uint32{0x008f8f62, 0x0061f9d9, 0x0028e0b2, 0x002360ba, 0x01de51d6, 0x035bf043, 0x012ba922, 0x03491546, 0x02c6f497, 0x003204b6}}, Y: Field{[10]uint32{0x008b317e, 0x01ad2aec, 0x028f61ba, 0x0361ddcf, 0x002be94d, 0x03ebd4ff, 0x026ee1ae, 0x001a0204, 0x00c77363, 0x000340ba}}}, + {X: Field{[10]uint32{0x00ff8851, 0x03574ff8, 0x00d1e3c6, 0x01adb8e3, 0x03aa4592, 0x027c53ae, 0x01eaa8bc, 0x01fd1f91, 0x010ebd96, 0x00149a55}}, Y: Field{[10]uint32{0x01a7455b, 0x021987e6, 0x0295a38b, 0x0340c21a, 0x01b45963, 0x0346cff4, 0x03422ffc, 0x03b3b510, 0x012026e3, 0x0028565f}}}, + {X: Field{[10]uint32{0x004d7676, 0x02bfb9fa, 0x01e9baf1, 0x01b55294, 0x00c7c2ae, 0x037102ea, 0x002721fc, 0x014b3ef1, 0x032980e6, 0x001ff3f2}}, Y: Field{[10]uint32{0x002cfcdd, 0x037afe22, 0x00ce9f95, 0x03d59aa7, 0x02a4d044, 0x0323c675, 0x02bcbaaa, 0x0238d3b1, 0x01904a40, 0x002afdcb}}}, + {X: Field{[10]uint32{0x00a9f451, 0x03712d99, 0x0057c079, 0x03ae2eaa, 0x033d5f25, 0x00ca9a81, 0x00e18a21, 0x03841212, 0x02a04597, 0x00217c06}}, Y: Field{[10]uint32{0x01f081af, 0x013b11f9, 0x0013204b, 0x03072d38, 0x025398ce, 0x016f3d15, 0x03b71ab3, 0x02061dee, 0x00eb8a05, 0x003dd18f}}}, + {X: Field{[10]uint32{0x02885628, 0x03e37fe4, 0x035fda01, 0x02f08900, 0x00dc1a5f, 0x003fafbb, 0x03fee1d1, 0x02183eb0, 0x021a7dcd, 0x000256d2}}, Y: Field{[10]uint32{0x02f7f772, 0x0101bb2f, 0x00d97f70, 0x03b48dce, 0x021f80bc, 0x0131bb8f, 0x029dfa69, 0x01119fbe, 0x039c5bd9, 0x000a8337}}}, + {X: Field{[10]uint32{0x036c51c5, 0x0243b35f, 0x009f049b, 0x02b3b11c, 0x008cd95c, 0x00ddd4f6, 0x014b38ce, 0x03742ec9, 0x00a624dd, 0x00013d89}}, Y: Field{[10]uint32{0x037a4fa5, 0x039612f1, 0x02bd070c, 0x03ac6e5d, 0x00668de4, 0x0333f515, 0x0220dcd8, 0x03b3640a, 0x028302ef, 0x0021d2a6}}}, + {X: Field{[10]uint32{0x0106b48d, 0x03759b5d, 0x00043437, 0x0215a635, 0x02a2914d, 0x0117a71b, 0x0040f585, 0x014def39, 0x0112e18b, 0x000e781a}}, Y: Field{[10]uint32{0x02f352e0, 0x01e859c1, 0x03ef18db, 0x01b51a56, 0x0200f06c, 0x004a2a84, 0x0080153c, 0x00c25aaf, 0x020a16e9, 0x003bfc83}}}, + {X: Field{[10]uint32{0x00f1ace9, 0x005ed19e, 0x013107a7, 0x02d97bee, 0x014c1d41, 0x032b6e5e, 0x03f4f590, 0x01e0c5d3, 0x013266d6, 0x0014bb70}}, Y: Field{[10]uint32{0x00d402d1, 0x01aef071, 0x0127c3af, 0x01563d1a, 0x03cb07cf, 0x01a135f4, 0x02c0bf49, 0x0078ff8c, 0x0202c678, 0x00395a78}}}, + {X: Field{[10]uint32{0x0328465f, 0x0290fcd0, 0x00d3a1df, 0x0235bcaa, 0x01e4e945, 0x02457f23, 0x0287f07c, 0x02041cf8, 0x0348964b, 0x0038dd92}}, Y: Field{[10]uint32{0x00fdb023, 0x01723cd3, 0x01b6c3ad, 0x02a94e9e, 0x005b7261, 0x03435d5d, 0x01b460f6, 0x0382e8d4, 0x024bfb13, 0x002f78a9}}}, + {X: Field{[10]uint32{0x00f513e6, 0x009fbfef, 0x00ebe756, 0x02b6710b, 0x03e1c81a, 0x03e05cca, 0x0038768e, 0x01a638fb, 0x01077c77, 0x00203bf9}}, Y: Field{[10]uint32{0x0388b709, 0x03c41280, 0x00bc3483, 0x005d6bb5, 0x02a9df2e, 0x014f4f67, 0x01e60599, 0x0247a5a5, 0x031bc543, 0x001a4319}}}, + {X: Field{[10]uint32{0x0108b641, 0x00fdc3f2, 0x02728517, 0x01fa4fe3, 0x0319b0bf, 0x01f348fb, 0x032bcac8, 0x03125e8b, 0x03d50ebc, 0x001212b1}}, Y: Field{[10]uint32{0x00ef371e, 0x013a97a4, 0x02eb61b4, 0x0254530a, 0x015bc8c9, 0x014fcc9c, 0x02b85516, 0x01c8da7c, 0x00e6f3b1, 0x0007655c}}}, + {X: Field{[10]uint32{0x03e3d124, 0x023ed7dd, 0x03f6536b, 0x0098e007, 0x02adf26c, 0x0105737e, 0x03ca53e4, 0x02f76137, 0x023fbf1f, 0x00272627}}, Y: Field{[10]uint32{0x00212a38, 0x02aac322, 0x02dd4c79, 0x010b5fc5, 0x002993c4, 0x023fb8eb, 0x00b3b802, 0x0058ee59, 0x021f5755, 0x0028d2b9}}}, + {X: Field{[10]uint32{0x01a5066b, 0x02315f5d, 0x018e0930, 0x034a5ec3, 0x0032846d, 0x0278dfe0, 0x016570f1, 0x03f9fd91, 0x030f601a, 0x00022e3e}}, Y: Field{[10]uint32{0x0048c9e7, 0x02ca783a, 0x03b3c240, 0x01c89bc0, 0x01d6166c, 0x003f59e8, 0x0232f100, 0x039b26cb, 0x02feffc4, 0x0001e162}}}, + {X: Field{[10]uint32{0x02e78177, 0x0367581f, 0x000ef451, 0x00e88470, 0x03bce095, 0x00297601, 0x01baa79e, 0x035e6a60, 0x02740ee1, 0x0038df43}}, Y: Field{[10]uint32{0x009f8f9c, 0x008fafec, 0x02e6f4bd, 0x024eaad3, 0x01a07d05, 0x03f9661d, 0x01b5625b, 0x0097d37c, 0x028502ad, 0x0034a284}}}, + {X: Field{[10]uint32{0x0325c147, 0x02a79c04, 0x00e194b2, 0x03555334, 0x03281052, 0x01d95ec7, 0x0258e754, 0x00da0eb5, 0x037e9a00, 0x00203215}}, Y: Field{[10]uint32{0x024d945c, 0x018d1bd5, 0x03fe432a, 0x0266f3ee, 0x03fe2baf, 0x01ca5cd1, 0x03ba8a0d, 0x028babb1, 0x00cd7ca3, 0x0002cff4}}}, + {X: Field{[10]uint32{0x02a8c6a1, 0x02ce0ccf, 0x0349adde, 0x0234b414, 0x0150f6ba, 0x01eb806a, 0x02f79026, 0x0087954d, 0x016d0341, 0x0039c117}}, Y: Field{[10]uint32{0x02181fba, 0x0222ae22, 0x019e4e7d, 0x00bfa5d5, 0x0060b37c, 0x00a97749, 0x01571d9c, 0x02537f85, 0x00db3269, 0x001cc1aa}}}, + {X: Field{[10]uint32{0x012e0d71, 0x025e3219, 0x029804f2, 0x03df2cd1, 0x02d87554, 0x0300e226, 0x03af0b13, 0x011fedac, 0x024b850a, 0x001574b6}}, Y: Field{[10]uint32{0x03e16e7c, 0x01879e77, 0x02780723, 0x01b57311, 0x010189a5, 0x008bbb97, 0x020b7b4f, 0x0343db34, 0x0182c861, 0x001ab03e}}}, + {X: Field{[10]uint32{0x01a38d2f, 0x00736c2c, 0x019f55bd, 0x00710100, 0x03a1e86d, 0x00540300, 0x03a5ff21, 0x00bdff20, 0x020955a2, 0x0033958b}}, Y: Field{[10]uint32{0x021bb865, 0x01b65ad4, 0x02d314bd, 0x00c9bc73, 0x02474070, 0x03717e0b, 0x030a165e, 0x0311ef1a, 0x004db4aa, 0x00247780}}}, + {X: Field{[10]uint32{0x0054773b, 0x0164b8de, 0x036fecc7, 0x02e1ae4e, 0x0100cd0e, 0x00c41fc7, 0x011bd645, 0x02bc15fe, 0x021f0596, 0x001d3803}}, Y: Field{[10]uint32{0x00e1d217, 0x03edd276, 0x01374e13, 0x005445e4, 0x016fa9f0, 0x0042851b, 0x0311867b, 0x00a94fac, 0x00a338e5, 0x000472a2}}}, + {X: Field{[10]uint32{0x0104eb48, 0x0267e788, 0x00530a2e, 0x00e6561a, 0x0368214d, 0x0324bb65, 0x003e400a, 0x03db2476, 0x036bc194, 0x002ba3c2}}, Y: Field{[10]uint32{0x03ce4cf2, 0x0173bb35, 0x02362c85, 0x01cc5191, 0x00d4aa8f, 0x02d5f2fe, 0x0127de9e, 0x02a4c0d8, 0x00420dc0, 0x003a5cff}}}, + {X: Field{[10]uint32{0x03891ae7, 0x00bf737b, 0x03674158, 0x0089bdda, 0x037854e7, 0x0197ccf4, 0x008e0c05, 0x00d9d784, 0x006c8df8, 0x00102a30}}, Y: Field{[10]uint32{0x007bf7ed, 0x00155762, 0x0224ea10, 0x00260ebd, 0x01b8ff9c, 0x003eaafb, 0x029e0b04, 0x01abf4f4, 0x0050b511, 0x0005ae9e}}}, + {X: Field{[10]uint32{0x01f83b33, 0x037c6f1b, 0x00e487f6, 0x02c13490, 0x03926795, 0x0187c7ff, 0x02b410f8, 0x03dbea8a, 0x02545c57, 0x00187aa7}}, Y: Field{[10]uint32{0x0279ed15, 0x01c56076, 0x0003c490, 0x019ce2a3, 0x02b9063e, 0x03514a7c, 0x021791f7, 0x005f0dcb, 0x012ae0b2, 0x0031a7b0}}}, + {X: Field{[10]uint32{0x01d37632, 0x0032d7b0, 0x031cc30a, 0x03b09920, 0x03d73e25, 0x00517f05, 0x01f55f72, 0x02aa93f3, 0x00d4440c, 0x00072227}}, Y: Field{[10]uint32{0x02d72fdf, 0x016f2508, 0x00166ee5, 0x02184558, 0x00574f5b, 0x036d792c, 0x014a2237, 0x0299f1cc, 0x0246131f, 0x000106d4}}}, + {X: Field{[10]uint32{0x0249525d, 0x0059a863, 0x02abb4ab, 0x001894e4, 0x01c58e0d, 0x02d42fe9, 0x02a99d3a, 0x021f9e60, 0x0090791d, 0x003fca56}}, Y: Field{[10]uint32{0x01454570, 0x02680686, 0x00a58e61, 0x027fbef9, 0x02c37087, 0x02201bef, 0x0249baf8, 0x004d9065, 0x00de1995, 0x00282599}}}, + {X: Field{[10]uint32{0x00e95f99, 0x02a1d9e1, 0x037857bc, 0x02bb66f7, 0x0174e399, 0x023e2433, 0x00939e5b, 0x007f401f, 0x02bfcfca, 0x0017acba}}, Y: Field{[10]uint32{0x032c9871, 0x03ee3efd, 0x00f63031, 0x0097f844, 0x0001f46f, 0x00589976, 0x01aff120, 0x01e0f080, 0x01701c9a, 0x001310ba}}}, + {X: Field{[10]uint32{0x02cbaf91, 0x01edad3d, 0x0361fcfc, 0x0136054f, 0x033b17bf, 0x0281c706, 0x03f8ce17, 0x0324ed6c, 0x008cdbcc, 0x0010f954}}, Y: Field{[10]uint32{0x03dfdcfc, 0x001cd0e6, 0x0063815a, 0x01cf6c90, 0x03c853bb, 0x002694c1, 0x01ec388d, 0x029c7942, 0x0378438b, 0x002d7b63}}}, + {X: Field{[10]uint32{0x01b56f53, 0x0303dd7f, 0x02c995b0, 0x021dfdb8, 0x00eb513f, 0x02bf94cf, 0x0207261c, 0x00837f21, 0x013023cb, 0x003d745a}}, Y: Field{[10]uint32{0x026ece68, 0x03837084, 0x008f492c, 0x0101bacb, 0x002557dd, 0x00f8a597, 0x03c4bf87, 0x020ccbdf, 0x01680152, 0x00394e6c}}}, + {X: Field{[10]uint32{0x00aba2a1, 0x038303de, 0x01eb6c7f, 0x01bee944, 0x0372313c, 0x0198a8ba, 0x0180a62d, 0x02a46118, 0x02d15dc5, 0x0036e759}}, Y: Field{[10]uint32{0x01517227, 0x02883ca8, 0x030b1f89, 0x02d6070f, 0x003cfb46, 0x0095e15f, 0x02762d92, 0x03716a78, 0x00a361f0, 0x00325b7a}}}, + {X: Field{[10]uint32{0x028ecdf2, 0x02992e21, 0x01ab6833, 0x00209ee6, 0x0356ffce, 0x02fd44ce, 0x0165bfe7, 0x018ef13d, 0x03d846fd, 0x0039d834}}, Y: Field{[10]uint32{0x02f102ce, 0x00397504, 0x003810e6, 0x0048a172, 0x012c1c1e, 0x01018b80, 0x021cc825, 0x00bad060, 0x028508be, 0x00183b99}}}, + {X: Field{[10]uint32{0x0033e026, 0x0075e417, 0x00d99135, 0x02c0c769, 0x00e3a956, 0x00b8dc01, 0x02533e71, 0x029eaf48, 0x02990cac, 0x000af6c8}}, Y: Field{[10]uint32{0x02e44731, 0x011c4fed, 0x03f82a78, 0x0218932e, 0x03801932, 0x009f4039, 0x003e877e, 0x0204176b, 0x00dfc273, 0x001919d7}}}, + {X: Field{[10]uint32{0x0166bee4, 0x021ee6a0, 0x03bbfc3c, 0x00838006, 0x007be48d, 0x03f5b211, 0x00137739, 0x0084d2de, 0x03fd0599, 0x00073382}}, Y: Field{[10]uint32{0x02d37057, 0x0222ef72, 0x034cc427, 0x00fb059b, 0x02b5eeb7, 0x03367a0f, 0x021253c4, 0x03f8c30e, 0x02e51ed7, 0x000b52a3}}}, + {X: Field{[10]uint32{0x03641075, 0x03e2695d, 0x035bd6eb, 0x0316ed95, 0x01ec8405, 0x031ae319, 0x01b5bd8e, 0x02b9effd, 0x03c37f5d, 0x001b5af8}}, Y: Field{[10]uint32{0x009c2c7f, 0x011b33eb, 0x01b80392, 0x0234d456, 0x0324d193, 0x0313abd2, 0x011507f7, 0x034ef180, 0x001f5c6f, 0x0013f4f3}}}, + {X: Field{[10]uint32{0x01b22351, 0x001f62ef, 0x0036cc60, 0x00bc50fa, 0x01b3c67f, 0x01d63e87, 0x03fb1ca8, 0x01e075e0, 0x0180d96e, 0x000360b0}}, Y: Field{[10]uint32{0x02d0c7d9, 0x01ee389e, 0x031e151a, 0x03d9e592, 0x0037415a, 0x01290c86, 0x033e9a97, 0x02b6a24e, 0x0269952a, 0x000e00bd}}}, + {X: Field{[10]uint32{0x01b3cd71, 0x0233860f, 0x02343b22, 0x03ba31cf, 0x00fbf9fc, 0x0151bc6e, 0x01dfed1b, 0x03f4d3e4, 0x02dd7e03, 0x0013b187}}, Y: Field{[10]uint32{0x003ba9a9, 0x021215ac, 0x01cffb19, 0x023eaa50, 0x02db7d94, 0x03a7b0f1, 0x0390340d, 0x038bb22b, 0x0309b5b2, 0x00384665}}}, + {X: Field{[10]uint32{0x017a034b, 0x01e07a78, 0x01643add, 0x023e39cd, 0x02a8df7a, 0x03ab44fb, 0x00744d7b, 0x02846e95, 0x006973ae, 0x000c6ab5}}, Y: Field{[10]uint32{0x00b37adb, 0x02d9d3e1, 0x02913f13, 0x03e39838, 0x02a94680, 0x033b5d21, 0x028bdf57, 0x03d818fd, 0x03413e49, 0x001919db}}}, + {X: Field{[10]uint32{0x01173e02, 0x00739353, 0x0131a5eb, 0x02f65f8a, 0x0201f946, 0x01627a98, 0x0115903b, 0x036e3bd9, 0x01892fcc, 0x002a6108}}, Y: Field{[10]uint32{0x01a3908b, 0x01222922, 0x02049abe, 0x01b42959, 0x0307ea26, 0x0335becd, 0x0370e133, 0x035e8e8c, 0x02ac3b2d, 0x00142f9d}}}, + {X: Field{[10]uint32{0x03bef099, 0x0383b3ad, 0x015e3f8f, 0x0022941a, 0x02fee79b, 0x01dd5033, 0x02cfa092, 0x0010cde9, 0x00f33ec0, 0x00208ad5}}, Y: Field{[10]uint32{0x036bf7f6, 0x01121448, 0x007128d0, 0x00dbf6a3, 0x007405d3, 0x022016fc, 0x003ddced, 0x03d811cd, 0x03c620d3, 0x000e4d88}}}, + {X: Field{[10]uint32{0x01065e0b, 0x037c9705, 0x02a3d33a, 0x0043a677, 0x0215793d, 0x02ff175f, 0x038de14e, 0x01c00317, 0x0355fe3d, 0x000403da}}, Y: Field{[10]uint32{0x02ecb4c2, 0x0335d293, 0x00e519b2, 0x034373b2, 0x00a352ff, 0x035b0445, 0x01282676, 0x037789f2, 0x00f758c4, 0x00346ed1}}}, + {X: Field{[10]uint32{0x02142f7f, 0x03a20db5, 0x031bb2d4, 0x01f16b6d, 0x006a5425, 0x00657425, 0x01aa6ecd, 0x03089d20, 0x03186a09, 0x00329760}}, Y: Field{[10]uint32{0x0277b42d, 0x013d3649, 0x0133de01, 0x00c7f1ce, 0x03878d8d, 0x012b815f, 0x03a0c388, 0x01e82bce, 0x007fb974, 0x00362421}}}, + {X: Field{[10]uint32{0x00bfbf14, 0x03684b89, 0x016cafa5, 0x00fc406d, 0x00e8ffe5, 0x0263fd84, 0x031a352f, 0x034838a4, 0x01f42234, 0x003a4709}}, Y: Field{[10]uint32{0x024dbb86, 0x02d288a5, 0x02b41872, 0x03d450f3, 0x037a26bc, 0x0183a669, 0x01740f6d, 0x0314af1c, 0x01e5441e, 0x002c7b05}}}, + {X: Field{[10]uint32{0x02e34445, 0x02750b06, 0x0306509e, 0x011cb33d, 0x03acb545, 0x00ba66b9, 0x029b2902, 0x000b6215, 0x00dc3109, 0x0015ea32}}, Y: Field{[10]uint32{0x00ab1fb7, 0x0185878c, 0x00accb9c, 0x00fee308, 0x0250e7cc, 0x01219abb, 0x0292db56, 0x038277d3, 0x01410442, 0x00214891}}}, + {X: Field{[10]uint32{0x0104500f, 0x00116c1c, 0x007d9581, 0x00769bfa, 0x0355a853, 0x02300adb, 0x01d0d412, 0x0345b6eb, 0x00672502, 0x0008cae3}}, Y: Field{[10]uint32{0x01f93fb9, 0x02903d61, 0x00f399a7, 0x03679863, 0x034f5255, 0x0152524b, 0x03c476f6, 0x02161c89, 0x020e9e7d, 0x000e0442}}}, + {X: Field{[10]uint32{0x03004fec, 0x0189ff9d, 0x00876187, 0x031c38f7, 0x020750d5, 0x0067df9e, 0x01d48763, 0x01a6cd3d, 0x028ad71f, 0x001f42f9}}, Y: Field{[10]uint32{0x01124633, 0x027bf351, 0x01e67ca0, 0x0060b291, 0x02a12b1d, 0x0296e5c7, 0x02f54028, 0x03cf9875, 0x00507d0a, 0x000f9ca8}}}, + {X: Field{[10]uint32{0x02f93292, 0x01e8b49e, 0x00d836ba, 0x0312691b, 0x01b70b02, 0x00310d21, 0x01fa4369, 0x0289c725, 0x030b77c2, 0x00137617}}, Y: Field{[10]uint32{0x0011d597, 0x038efd47, 0x0178e8c9, 0x01348206, 0x00f139e6, 0x036b69e8, 0x02b6ff85, 0x01366122, 0x02e5c955, 0x00210d90}}}, + {X: Field{[10]uint32{0x012e52f8, 0x01938bdc, 0x032149e2, 0x0307add9, 0x023eb2e5, 0x012ea69e, 0x03531a17, 0x008011c2, 0x03f588f0, 0x0014dea4}}, Y: Field{[10]uint32{0x000e161f, 0x00e6d84d, 0x03ebb3f8, 0x03e5e095, 0x0394efa1, 0x006256bc, 0x0225f067, 0x02499823, 0x03a0dc00, 0x002c366c}}}, + {X: Field{[10]uint32{0x02e48684, 0x00accc67, 0x00ae8b97, 0x02420962, 0x01ab3465, 0x03e0aff4, 0x00e60a46, 0x00795e63, 0x0071325b, 0x0004febd}}, Y: Field{[10]uint32{0x0234f743, 0x0086b79d, 0x00bfa49a, 0x0062116e, 0x02dce7ba, 0x026c8806, 0x02f25857, 0x02d4a788, 0x0384e84e, 0x00299c80}}}, + {X: Field{[10]uint32{0x03e8acb8, 0x03910173, 0x0206be1b, 0x02088b67, 0x03ca17c4, 0x00277b79, 0x015dbea8, 0x02cd1380, 0x00ed5861, 0x001a4789}}, Y: Field{[10]uint32{0x01c529ab, 0x026ddae4, 0x03f966f4, 0x0250f43c, 0x035ad002, 0x036718d1, 0x0120d909, 0x01ec3f31, 0x02dc0c19, 0x0038d592}}}, + {X: Field{[10]uint32{0x013d7ea2, 0x0305771f, 0x0373f423, 0x03e2411f, 0x03b754b3, 0x02ccd248, 0x02a394ff, 0x02a14056, 0x0391aaae, 0x000d950e}}, Y: Field{[10]uint32{0x03be5799, 0x0228bc6e, 0x02fd52d6, 0x03f9687e, 0x039dff44, 0x00860252, 0x008c8389, 0x02003a39, 0x0293b79b, 0x0001ced1}}}, + {X: Field{[10]uint32{0x0033f05b, 0x0082c1e1, 0x008a224f, 0x02c3f8ef, 0x000e007b, 0x00c83aa0, 0x00450455, 0x02032c78, 0x03e03941, 0x003fc96a}}, Y: Field{[10]uint32{0x030b7e51, 0x00d8c794, 0x026c2f90, 0x038022bb, 0x02938f69, 0x03676d04, 0x01bd678a, 0x0399439b, 0x010926df, 0x002944ac}}}, + {X: Field{[10]uint32{0x0187e443, 0x00e2685f, 0x0322272d, 0x0305c314, 0x00cc607b, 0x034091eb, 0x0051f57c, 0x03f6bd44, 0x007b5faa, 0x000077b0}}, Y: Field{[10]uint32{0x03a9a325, 0x014252e7, 0x038d3bb3, 0x019f4384, 0x00d870ce, 0x016636b5, 0x02207a92, 0x00af0168, 0x0137382b, 0x001f9dfa}}}, + {X: Field{[10]uint32{0x03413c32, 0x030a6527, 0x02236029, 0x0237f18d, 0x01485ab7, 0x00538246, 0x020147ed, 0x0218cba8, 0x0376f62f, 0x000bc43d}}, Y: Field{[10]uint32{0x00d2184a, 0x009a7b1a, 0x02f5ad25, 0x01a0cf9f, 0x0235c236, 0x02a9ac7d, 0x01d8c8b5, 0x0118b82e, 0x03c6e760, 0x000ecb17}}}, + {X: Field{[10]uint32{0x02bd73ca, 0x018008b6, 0x00188311, 0x010f3060, 0x02ade319, 0x02f2bed2, 0x03096814, 0x00b36eb3, 0x0394e61c, 0x001e5d3c}}, Y: Field{[10]uint32{0x01e98309, 0x020d8022, 0x0005673c, 0x03a0c439, 0x012be4cd, 0x004ee914, 0x01f854e8, 0x02a99a1f, 0x01a03bc1, 0x00386cd3}}}, + {X: Field{[10]uint32{0x0301c332, 0x01d233c5, 0x01b14436, 0x03780e94, 0x0132af1e, 0x012a8da5, 0x01774698, 0x03105959, 0x03393c5c, 0x00015317}}, Y: Field{[10]uint32{0x01043e4e, 0x0306da81, 0x020cd800, 0x02b3bde2, 0x02ddbde8, 0x03baadae, 0x030626a0, 0x0273148a, 0x03494976, 0x000f719e}}}, + {X: Field{[10]uint32{0x025f3783, 0x03068ed0, 0x0115d081, 0x00179556, 0x028092e9, 0x0061616b, 0x00a972a3, 0x031fac76, 0x0296f047, 0x000666a8}}, Y: Field{[10]uint32{0x0346c262, 0x03a3f1fa, 0x002e2b87, 0x038433b8, 0x02585154, 0x03f4e899, 0x00a7946d, 0x01ea5ad3, 0x027964d1, 0x003d608d}}}, + {X: Field{[10]uint32{0x03b7f299, 0x03c222a6, 0x03e879a7, 0x02f9e5da, 0x03cbcdf0, 0x007f1639, 0x0292a3ba, 0x01b7e9b0, 0x01d6fb61, 0x0034574e}}, Y: Field{[10]uint32{0x03d7a900, 0x016e980a, 0x01061f70, 0x00602d5f, 0x01679dd4, 0x010eff1e, 0x03d4912f, 0x03e0def6, 0x017c4e37, 0x001322ba}}}, + {X: Field{[10]uint32{0x024ef58b, 0x019a0fcd, 0x02df5a6f, 0x032a696b, 0x01bff26e, 0x0012e0af, 0x02332c6a, 0x01f7f206, 0x0134880e, 0x001db594}}, Y: Field{[10]uint32{0x001507e7, 0x01101ad0, 0x0246a646, 0x02f16fc4, 0x027b4aa5, 0x025d6e68, 0x02c90486, 0x00b60e87, 0x0308bbd2, 0x002dc6b9}}}, + {X: Field{[10]uint32{0x00ae51b7, 0x002050f7, 0x02a02a03, 0x03865301, 0x03452ef0, 0x024bfea6, 0x02e9ead7, 0x03f8d8c2, 0x02a5d4df, 0x0007ad34}}, Y: Field{[10]uint32{0x03f47b0b, 0x01736f5b, 0x0144c9a5, 0x019d626c, 0x027cc94b, 0x0232cfb6, 0x0286af45, 0x0239e668, 0x00c1e6ab, 0x0022365e}}}, + {X: Field{[10]uint32{0x01df571d, 0x004bc337, 0x0162f955, 0x0349144d, 0x01e474bd, 0x01c4188f, 0x01c34516, 0x021e40d8, 0x02513570, 0x0037b80c}}, Y: Field{[10]uint32{0x0290f565, 0x03121e85, 0x027c307f, 0x008ec819, 0x00496d96, 0x00463ffb, 0x028a28dc, 0x036024b1, 0x00fdcbf6, 0x00348b6f}}}, + {X: Field{[10]uint32{0x02d4760a, 0x008d5b95, 0x005aeef0, 0x0277cd8e, 0x01bf1dbd, 0x03c4fd42, 0x028f0d55, 0x031af7fd, 0x032dc98a, 0x000bac09}}, Y: Field{[10]uint32{0x02a04277, 0x03280ac9, 0x03746111, 0x0111c847, 0x035c69ad, 0x0015cda1, 0x02a18329, 0x013ae89e, 0x03554aaf, 0x003e0350}}}, + {X: Field{[10]uint32{0x030eabf3, 0x02c0c86a, 0x036b5c39, 0x03a809d8, 0x02b75853, 0x01de2208, 0x036ff7fc, 0x019cb63f, 0x02697509, 0x003abd8b}}, Y: Field{[10]uint32{0x020a3b7c, 0x03f7b6cb, 0x000956ef, 0x0180d41c, 0x008614e1, 0x001ccfc7, 0x0388b969, 0x0388b5c6, 0x02aa1c8f, 0x00110b95}}}, + {X: Field{[10]uint32{0x00592858, 0x03dcab81, 0x01d3b15e, 0x0216e1e6, 0x03cbc701, 0x00dbbd18, 0x01c442c2, 0x01bf65af, 0x030a13d9, 0x00081641}}, Y: Field{[10]uint32{0x00961ec8, 0x028d2f45, 0x014a280d, 0x03fa406e, 0x00f426fb, 0x01ab95b6, 0x0221d7f4, 0x026ba3d8, 0x02e83f25, 0x002f2410}}}, + {X: Field{[10]uint32{0x012f52fe, 0x009749eb, 0x0062a0f9, 0x01108231, 0x014b8b4a, 0x0113b0a0, 0x03b4ceea, 0x00f9f9bd, 0x03fd9e7f, 0x003fcbbd}}, Y: Field{[10]uint32{0x030a5e24, 0x03393cf7, 0x03e3b233, 0x011dada7, 0x030956a4, 0x019fd44d, 0x016cb52a, 0x01cad205, 0x00fbfa6f, 0x001ab39d}}}, + {X: Field{[10]uint32{0x01d14d83, 0x01fe7602, 0x03bf620f, 0x039937c5, 0x01d8fd0d, 0x00d5ffc7, 0x037a7b04, 0x014fef4c, 0x02f6fc45, 0x0038f973}}, Y: Field{[10]uint32{0x038f0460, 0x013d1348, 0x033651b8, 0x03fa2811, 0x03e667b6, 0x01a691d7, 0x011863f7, 0x02d83f43, 0x01a1baa7, 0x002b377f}}}, + {X: Field{[10]uint32{0x0357a6c3, 0x0046736f, 0x0054ec11, 0x01def78f, 0x01a0c645, 0x019ae708, 0x0142341a, 0x00a203a6, 0x026a41c0, 0x0025ea1c}}, Y: Field{[10]uint32{0x0367b4e8, 0x0330e362, 0x01164681, 0x03fcd167, 0x01fe160a, 0x01b61178, 0x00cc5c72, 0x00f41c1e, 0x00ae2702, 0x002d7cdf}}}, + {X: Field{[10]uint32{0x01cc81e6, 0x00811427, 0x001c41b0, 0x000875de, 0x0012fd90, 0x0067ab6d, 0x039484a1, 0x03e50e18, 0x02e94862, 0x002ac079}}, Y: Field{[10]uint32{0x0083b14b, 0x007b815d, 0x000436b1, 0x03d0568c, 0x0148853c, 0x00bb5e79, 0x01fab050, 0x0170e814, 0x0032101b, 0x001ab943}}}, + {X: Field{[10]uint32{0x0273668f, 0x03a857dd, 0x02b0d5a2, 0x01302a30, 0x0258ed9a, 0x023611e7, 0x026ba5ac, 0x033dac0b, 0x0010da2d, 0x00031191}}, Y: Field{[10]uint32{0x03499945, 0x02f0e182, 0x01361adb, 0x01114827, 0x03eadee9, 0x034f3916, 0x017f333c, 0x00b1f796, 0x01906239, 0x000da631}}}, + {X: Field{[10]uint32{0x03867534, 0x00263d05, 0x03d8648f, 0x00909bb6, 0x01ee49d5, 0x01b041e5, 0x013b0e67, 0x007cf880, 0x00685f72, 0x0005fab3}}, Y: Field{[10]uint32{0x009ef300, 0x018fb386, 0x0201bd6b, 0x015ba652, 0x03fec0f8, 0x00eaddbe, 0x037214bb, 0x027d26ef, 0x02e90cb1, 0x00330c45}}}, + {X: Field{[10]uint32{0x00c00d73, 0x00537ab5, 0x0208f2b1, 0x02f35f4d, 0x013ed2e8, 0x02fbf54f, 0x01b77bd5, 0x03bc5d4e, 0x01402908, 0x00301037}}, Y: Field{[10]uint32{0x01279c00, 0x020d6d05, 0x013d7427, 0x032db383, 0x02b2053e, 0x01444f73, 0x01403d84, 0x00960134, 0x00ae55ec, 0x001e98e1}}}, + {X: Field{[10]uint32{0x02bddb42, 0x000f8e4b, 0x01b9341b, 0x028aea4b, 0x0041bf2b, 0x019668a4, 0x0025fed6, 0x03dc30bb, 0x00983658, 0x0029658d}}, Y: Field{[10]uint32{0x039f4872, 0x002b7935, 0x01600a95, 0x034a08d6, 0x011ce7c2, 0x01a55e17, 0x00e8bf41, 0x03129c2a, 0x00af260e, 0x00370453}}}, + {X: Field{[10]uint32{0x0329aa0d, 0x01f3a846, 0x02279989, 0x01c8ce77, 0x03663823, 0x00ce0db1, 0x0233d095, 0x03d8ff1f, 0x02d451dc, 0x00113f88}}, Y: Field{[10]uint32{0x004279b3, 0x015df313, 0x01a9e53b, 0x003eba01, 0x014f3bf8, 0x00925bde, 0x01e9ffae, 0x0350d24a, 0x00e73d4b, 0x0005c631}}}, + {X: Field{[10]uint32{0x0071647b, 0x019a844b, 0x0091cff4, 0x03cfb57b, 0x004fc6b5, 0x00912ff6, 0x03b246de, 0x03057be8, 0x00aa1358, 0x0022f5c6}}, Y: Field{[10]uint32{0x03d737fa, 0x01b7fa12, 0x02fa5f40, 0x032110ec, 0x0365a0a3, 0x010009e4, 0x03deb8de, 0x0047c06d, 0x0288ba6c, 0x0005cbc6}}}, + {X: Field{[10]uint32{0x038680d1, 0x03e3385c, 0x03cfcd9f, 0x0355773c, 0x01d7ad4c, 0x03fce9e9, 0x01aa53c3, 0x02a88e02, 0x0025bbe6, 0x0023af73}}, Y: Field{[10]uint32{0x01e5641a, 0x02621d51, 0x01872cd7, 0x0199e2b1, 0x005be647, 0x0221b60f, 0x003728cf, 0x02b7e803, 0x0326af86, 0x0017158e}}}, + {X: Field{[10]uint32{0x011713d2, 0x0319f83a, 0x02f4e9db, 0x034bfadc, 0x02b469e5, 0x03a25b3e, 0x0342fb8b, 0x02aaf265, 0x021f688f, 0x00173d53}}, Y: Field{[10]uint32{0x00fd09c5, 0x011e1af9, 0x00b18569, 0x02a218c9, 0x034920e8, 0x0240556c, 0x006393e1, 0x00c360be, 0x0190d063, 0x00360b59}}}, + {X: Field{[10]uint32{0x01845f1a, 0x03061ea1, 0x02f8cdb4, 0x03053228, 0x01387185, 0x00115c7b, 0x0016ff4e, 0x02869cbb, 0x02e43f01, 0x001b0365}}, Y: Field{[10]uint32{0x00798c08, 0x02a5a9ac, 0x01dd6e55, 0x00e8c45f, 0x00abcf01, 0x026edbdc, 0x0015c1bb, 0x030bb3cd, 0x014b763e, 0x003ce668}}}, + {X: Field{[10]uint32{0x02b74046, 0x00cb70e4, 0x02ad690d, 0x002fa9c5, 0x039a15ef, 0x01c9a84c, 0x01f15155, 0x00bf7341, 0x00fefb6a, 0x003aba4a}}, Y: Field{[10]uint32{0x014c76bc, 0x03315dc0, 0x01b0984e, 0x0099835b, 0x02f6fd46, 0x035bb503, 0x03da7978, 0x00ce772f, 0x02d9f086, 0x002f7e1e}}}, + {X: Field{[10]uint32{0x007b3a21, 0x00802391, 0x008f0d57, 0x02cc6a9a, 0x02b61d5c, 0x00382376, 0x030dbbd0, 0x00bf7b67, 0x030cbbe7, 0x00397978}}, Y: Field{[10]uint32{0x01b248ae, 0x000196a1, 0x0035c561, 0x020a8415, 0x005de656, 0x0145c73a, 0x006ec03d, 0x01b99d1f, 0x01b8f80b, 0x0027ed2b}}}, + {X: Field{[10]uint32{0x038223ee, 0x036f3284, 0x00b79007, 0x00329e68, 0x0078df6b, 0x01acc02f, 0x02ce1762, 0x01aedf16, 0x02acc9e2, 0x001c4484}}, Y: Field{[10]uint32{0x03027757, 0x02a9cabb, 0x01cbbdc3, 0x00e46384, 0x036b8732, 0x0131cff8, 0x02b343bc, 0x01377679, 0x00584ef4, 0x000371a2}}}, + {X: Field{[10]uint32{0x01c5e22c, 0x00d03c08, 0x03d506b6, 0x02ca9319, 0x00c4cf11, 0x02d795e1, 0x03b9ea3f, 0x0293db76, 0x03b3531a, 0x000ed4ba}}, Y: Field{[10]uint32{0x0190938a, 0x02665aec, 0x039de55a, 0x0298f17e, 0x00b698c8, 0x01a06190, 0x02cf02e4, 0x011a84fe, 0x02bddc00, 0x000f68fb}}}, + {X: Field{[10]uint32{0x0356b78b, 0x01daf733, 0x02df91eb, 0x005fa5b2, 0x0245294a, 0x03871e95, 0x02e7292f, 0x011789f7, 0x00811103, 0x000c3ca1}}, Y: Field{[10]uint32{0x03abb049, 0x035c0add, 0x02b088e6, 0x01902877, 0x003c1491, 0x01445beb, 0x007864d2, 0x038d2fc1, 0x00fc26ec, 0x001c3184}}}, + {X: Field{[10]uint32{0x0130ff58, 0x0055937a, 0x01ab5edf, 0x009da675, 0x015cfef5, 0x0329287c, 0x00d37b61, 0x0156d939, 0x00a8012c, 0x00012a11}}, Y: Field{[10]uint32{0x003dfa3c, 0x0227565a, 0x00cd3f31, 0x03018c9d, 0x025826f9, 0x0342a7fd, 0x03e6bd38, 0x039b936e, 0x0148508d, 0x001261d1}}}, + {X: Field{[10]uint32{0x0068b06f, 0x0279b19e, 0x01026451, 0x0177b714, 0x0005ce2b, 0x02667853, 0x02e0fd9a, 0x01212990, 0x021ea7c8, 0x00297295}}, Y: Field{[10]uint32{0x01afa7ed, 0x0310e8e1, 0x025a47a7, 0x01a89077, 0x037abe38, 0x03fe9fda, 0x009b00ea, 0x03bbaab0, 0x0142a5e2, 0x0033245e}}}, + {X: Field{[10]uint32{0x03d6e72c, 0x03e3b937, 0x017ef3c1, 0x031915b9, 0x021fa547, 0x0043d852, 0x0051a68e, 0x03115b0e, 0x02d31e16, 0x003d86df}}, Y: Field{[10]uint32{0x03622f2b, 0x028ca017, 0x01a54734, 0x00453426, 0x02a0c5a8, 0x0345efe9, 0x035fbdb4, 0x00619647, 0x00b7fc40, 0x0032c9b4}}}, + {X: Field{[10]uint32{0x01f678b2, 0x01586145, 0x007fcaee, 0x019a8888, 0x02559768, 0x01d9bef9, 0x02859f9e, 0x000312d4, 0x00628897, 0x003e3935}}, Y: Field{[10]uint32{0x02c77554, 0x006a93ae, 0x011ae6f0, 0x02542775, 0x0106791e, 0x03eeddac, 0x009c271b, 0x01bec2a8, 0x039fc1b1, 0x000c2ec0}}}, + {X: Field{[10]uint32{0x032ab653, 0x00a4274c, 0x0291ca39, 0x001a9c5e, 0x03d5d97a, 0x0060528b, 0x02f6f717, 0x0164542c, 0x001a05d2, 0x002272bf}}, Y: Field{[10]uint32{0x017ab76e, 0x00bc5109, 0x03ce16fe, 0x036983a1, 0x015eac02, 0x0053cd38, 0x01c00557, 0x0121634a, 0x00ab0b4e, 0x00068928}}}, + {X: Field{[10]uint32{0x037c4f20, 0x02365f51, 0x020bb4a4, 0x0155aba9, 0x0033c5b5, 0x028ab544, 0x0201dca7, 0x01773f2a, 0x030bd04f, 0x0034a14d}}, Y: Field{[10]uint32{0x0293b9d4, 0x01348091, 0x01b416c4, 0x02cb1a60, 0x01c61386, 0x031c1451, 0x022adf8e, 0x0217404e, 0x03b732e8, 0x00352d09}}}, + {X: Field{[10]uint32{0x01f217c0, 0x01bd9a93, 0x00974902, 0x019b87f5, 0x01fd3350, 0x01eae89a, 0x01dc90d1, 0x02fecc86, 0x02f2d9bd, 0x0000f14c}}, Y: Field{[10]uint32{0x02ac5d59, 0x00f8c199, 0x0057675b, 0x03e7e320, 0x032791a6, 0x02104e5d, 0x033c7b42, 0x01ff40b0, 0x027ca6c9, 0x0021bf57}}}, + {X: Field{[10]uint32{0x008ac1ee, 0x000c5333, 0x02924b73, 0x00f8df89, 0x02298445, 0x00c0dc89, 0x0317a165, 0x01c1a886, 0x010bfc35, 0x00093465}}, Y: Field{[10]uint32{0x01f918ac, 0x0307aa72, 0x01ed84b9, 0x03822d5f, 0x01b05bb9, 0x026ba69d, 0x0247c685, 0x006a42ec, 0x005d06a3, 0x001348a9}}}, + {X: Field{[10]uint32{0x027615a9, 0x020acd93, 0x03d44595, 0x01042ad9, 0x02d85053, 0x0280dbf0, 0x01f8acee, 0x02c6ac52, 0x00f36227, 0x00331aac}}, Y: Field{[10]uint32{0x03761cb8, 0x01a028e0, 0x037d7107, 0x02bd5283, 0x01bac918, 0x003e9bc8, 0x00806b12, 0x0049619f, 0x03cc040b, 0x003e6b64}}}, + {X: Field{[10]uint32{0x025318cf, 0x03fdc6c0, 0x01cdef08, 0x00366c50, 0x016320f2, 0x01cc2e67, 0x0016bcff, 0x0252db2a, 0x0154f36e, 0x0037892a}}, Y: Field{[10]uint32{0x03899933, 0x00129076, 0x014d9679, 0x017a920e, 0x038475c3, 0x012bf58b, 0x002d2354, 0x012926e6, 0x01d91ac2, 0x000f8d2c}}}, + {X: Field{[10]uint32{0x021ffec7, 0x03fc9496, 0x03618f83, 0x036d23ea, 0x015f8243, 0x0254f3ef, 0x003a12c7, 0x02aea436, 0x00c34900, 0x001deac1}}, Y: Field{[10]uint32{0x00ac2f00, 0x01cfbfaf, 0x032bdae8, 0x00680c28, 0x01231c87, 0x016a36cc, 0x02265af7, 0x01dffd25, 0x00273bcd, 0x0018996b}}}, + {X: Field{[10]uint32{0x02e78209, 0x012b5445, 0x0341ece8, 0x03b876ad, 0x0251ff8d, 0x00656028, 0x0079885d, 0x02679780, 0x03065f46, 0x00291ebd}}, Y: Field{[10]uint32{0x02257440, 0x03cd2e5e, 0x03abfbb8, 0x0220f6bf, 0x035b7860, 0x01196ae5, 0x023f7cb3, 0x03de2e95, 0x03fdf1b1, 0x000e4f2e}}}, + {X: Field{[10]uint32{0x00d7016d, 0x0117a7a7, 0x037ea8a5, 0x038754a8, 0x0293d709, 0x000c8809, 0x01170fbd, 0x031edd37, 0x01fd0c55, 0x002a7d7e}}, Y: Field{[10]uint32{0x01d5e0e1, 0x012c417c, 0x0162b873, 0x009fdad8, 0x0254f0d3, 0x027a02ac, 0x01847b2e, 0x03c8ba3f, 0x01254bad, 0x00261c5e}}}, + {X: Field{[10]uint32{0x0218ec38, 0x01f358d3, 0x03b716cc, 0x01902a51, 0x01ba8668, 0x0161b9f8, 0x02200c4e, 0x00e28a3e, 0x02bc96b9, 0x00355fa7}}, Y: Field{[10]uint32{0x01b6bd36, 0x029aab34, 0x016a3062, 0x03abca16, 0x0325de16, 0x0104b7e1, 0x00c8b7cb, 0x0244416d, 0x02ef6823, 0x0026a834}}}, + {X: Field{[10]uint32{0x03aa58e9, 0x001a0a43, 0x006119f5, 0x0072ae08, 0x02e27ccc, 0x02a175ce, 0x018e66ca, 0x03053558, 0x00d8fb4d, 0x001d18ea}}, Y: Field{[10]uint32{0x00d4829f, 0x026ab41a, 0x0389f056, 0x03102d30, 0x02ae7990, 0x010e36e1, 0x00645a28, 0x03d412a8, 0x02b2275a, 0x0020bf5a}}}, + {X: Field{[10]uint32{0x013bf412, 0x01b9f3f5, 0x032fca3c, 0x01914d36, 0x013927ae, 0x03accc6c, 0x002d03e4, 0x0120c668, 0x008a29c4, 0x000b9e9c}}, Y: Field{[10]uint32{0x031e11d1, 0x038ecf52, 0x00160fd2, 0x0093b006, 0x03ebdf68, 0x00e6ceca, 0x02e0073f, 0x003372ba, 0x01997350, 0x00213cfc}}}, + {X: Field{[10]uint32{0x01dd5e03, 0x034c3136, 0x00dda414, 0x012edfea, 0x02180d09, 0x022e8c13, 0x032f3c2e, 0x030163eb, 0x00bf540b, 0x0021c1ec}}, Y: Field{[10]uint32{0x0100b915, 0x0127083c, 0x0025dfbb, 0x03a6599f, 0x0318db5e, 0x02816535, 0x006bd25a, 0x0040cd43, 0x0175fb79, 0x001c2d84}}}, + {X: Field{[10]uint32{0x03ca842d, 0x02a8b594, 0x008b9613, 0x03386db0, 0x0122f67d, 0x023999d2, 0x02070a72, 0x03340a21, 0x030c3ce6, 0x000ff6cd}}, Y: Field{[10]uint32{0x00e0dafc, 0x0121ac32, 0x0006317a, 0x03e65004, 0x035d3a5e, 0x002c7bfb, 0x004c5ec1, 0x000d1297, 0x00f2474a, 0x00058d46}}}, + {X: Field{[10]uint32{0x00472f62, 0x020f6252, 0x031af2a2, 0x0180252c, 0x03330779, 0x01bd6352, 0x01411e70, 0x03552680, 0x0302412c, 0x0030df68}}, Y: Field{[10]uint32{0x0221f92a, 0x031bf84e, 0x01d26801, 0x0002e2b4, 0x01ca8490, 0x0282a0af, 0x002d1daa, 0x010bd21c, 0x028716c6, 0x002a823c}}}, + {X: Field{[10]uint32{0x01e08a1c, 0x009bf1e9, 0x007cf257, 0x03b0ac2d, 0x0160ade9, 0x0171e8ce, 0x01f923b0, 0x02c3e494, 0x0150381a, 0x000fae81}}, Y: Field{[10]uint32{0x030fa7d9, 0x010697f3, 0x02396557, 0x03668316, 0x00492a1a, 0x02bf1380, 0x02396525, 0x0374ea21, 0x00ebb681, 0x000509ec}}}, + {X: Field{[10]uint32{0x0350cee8, 0x02be39ae, 0x02e0194e, 0x029e14d5, 0x02e43f20, 0x01d53e83, 0x024628f7, 0x035752fd, 0x02a18ce5, 0x00259c8f}}, Y: Field{[10]uint32{0x01f49bdd, 0x0019a960, 0x00e8a713, 0x016eca32, 0x016cf51b, 0x035122bb, 0x02eef512, 0x02fc43a1, 0x03bbb9bb, 0x0016b427}}}, + {X: Field{[10]uint32{0x03663748, 0x02358128, 0x00f1329f, 0x02499e44, 0x00ab8228, 0x01575716, 0x009d3460, 0x02db34e8, 0x02117ecf, 0x0035d914}}, Y: Field{[10]uint32{0x028540f7, 0x02e00c70, 0x01a46eeb, 0x00430897, 0x03bf2c9b, 0x02eaaa73, 0x0089dbe2, 0x037820b2, 0x0104d20f, 0x002adf30}}}, + {X: Field{[10]uint32{0x00ada5e6, 0x02a241b4, 0x03e434dc, 0x0196d2b1, 0x008c8660, 0x0352f251, 0x01907afa, 0x02c4d883, 0x03dc7e0a, 0x0007dac8}}, Y: Field{[10]uint32{0x023e247c, 0x03b0959d, 0x02602398, 0x0103923d, 0x01560414, 0x036aa7ac, 0x00920405, 0x00e76ab4, 0x025d6bc6, 0x00230dec}}}, + {X: Field{[10]uint32{0x01459945, 0x0203541d, 0x01f9d9bd, 0x004a2bf4, 0x036abb5a, 0x0303a3b5, 0x0079e64b, 0x0285a1e5, 0x00bbaa06, 0x0011bfc1}}, Y: Field{[10]uint32{0x011bcd4a, 0x03e7693d, 0x0176491e, 0x00a5075c, 0x03e7e9d2, 0x011e986a, 0x0133bb9e, 0x02e838e4, 0x02c26af2, 0x002c4413}}}, + {X: Field{[10]uint32{0x02597ce2, 0x012a20ca, 0x02f86f3f, 0x02cf6092, 0x013bcdff, 0x022ec114, 0x0076e545, 0x0201a4ec, 0x00253888, 0x003286cf}}, Y: Field{[10]uint32{0x01e0285a, 0x006ff8a8, 0x03622005, 0x03d5e611, 0x01dfc9d6, 0x0367a07b, 0x0109d11b, 0x01b711d8, 0x02fbdd1b, 0x003c0a45}}}, + {X: Field{[10]uint32{0x01ece6b4, 0x011e8426, 0x01763ee7, 0x01dcae00, 0x005fad12, 0x0336f7ec, 0x03ec7fed, 0x027b123b, 0x029aadb6, 0x00032587}}, Y: Field{[10]uint32{0x018fb6e4, 0x00bc9a67, 0x022a984e, 0x00f0d7c2, 0x0056bb9b, 0x005b12dc, 0x00bb70ad, 0x014f949c, 0x0033e0b2, 0x0011a69b}}}, + {X: Field{[10]uint32{0x039d99dc, 0x03ca2fe4, 0x03393ea4, 0x03d6e6d9, 0x037b3132, 0x035139dd, 0x03817089, 0x0332534f, 0x02791418, 0x000e8ba8}}, Y: Field{[10]uint32{0x03f164be, 0x025b195a, 0x01f8831a, 0x02381949, 0x02b981bf, 0x02344f8b, 0x0217dc71, 0x036486f8, 0x0143c035, 0x00056014}}}, + {X: Field{[10]uint32{0x025a7a4a, 0x03b7a9ad, 0x01189e7d, 0x02333cd3, 0x034e24d4, 0x00bec700, 0x03fd6ad5, 0x03c2f868, 0x00dfb3a1, 0x000105b7}}, Y: Field{[10]uint32{0x00c204c3, 0x037444d8, 0x0235beba, 0x0028f1b2, 0x0147e90a, 0x004cb6cc, 0x01777812, 0x00cd66b0, 0x02c2bbc9, 0x001da427}}}, + {X: Field{[10]uint32{0x03c63eb3, 0x021516e4, 0x022b1731, 0x0312174a, 0x032ed9d1, 0x0352cfb4, 0x03a51772, 0x0305d422, 0x02459aef, 0x002ce5f0}}, Y: Field{[10]uint32{0x01e71748, 0x00732dbd, 0x03a7e447, 0x01d38c45, 0x02228135, 0x024810fb, 0x0018ffc6, 0x00d9daad, 0x03603076, 0x002841a8}}}, + {X: Field{[10]uint32{0x000637df, 0x03ce4275, 0x0306532e, 0x03034a68, 0x02c1bdb8, 0x03a026ca, 0x01dbb755, 0x005918ca, 0x009befd6, 0x001d7156}}, Y: Field{[10]uint32{0x03e6f631, 0x009eb7e8, 0x0347dcba, 0x025687f8, 0x0395e602, 0x007f39ae, 0x02a19dd8, 0x00417243, 0x01e51492, 0x0009bcf8}}}, + {X: Field{[10]uint32{0x029135a5, 0x039bc225, 0x018b6620, 0x02004679, 0x02e4b0dc, 0x00e6a411, 0x015158c4, 0x01d0c85f, 0x0112a351, 0x000bbbb3}}, Y: Field{[10]uint32{0x01aaba4c, 0x03d2474b, 0x03707806, 0x019c5051, 0x01136064, 0x031315e4, 0x013d7539, 0x023b4c6d, 0x03d048c5, 0x003877ba}}}, + {X: Field{[10]uint32{0x00be65d1, 0x000164e7, 0x00124aa1, 0x002b1d6b, 0x038cab86, 0x02b77699, 0x031d52e5, 0x0359419a, 0x00915d39, 0x002a607c}}, Y: Field{[10]uint32{0x013ed069, 0x0180101f, 0x00e7b66c, 0x01253ccd, 0x0188d4f1, 0x025b9442, 0x018b23c0, 0x000a4cb6, 0x03cb7ab6, 0x00132c27}}}, + {X: Field{[10]uint32{0x03d4ef62, 0x01302826, 0x0331a9aa, 0x01a4999a, 0x02545cd8, 0x01d679e7, 0x01260c9a, 0x00740828, 0x02e3a7e8, 0x0006867e}}, Y: Field{[10]uint32{0x00937902, 0x016dcaac, 0x0070789c, 0x03c1a2b8, 0x0379714d, 0x021df71e, 0x01bf7bfd, 0x0171a78a, 0x02578af2, 0x000a01f5}}}, + {X: Field{[10]uint32{0x0020c61a, 0x00a04f49, 0x00567195, 0x0052674c, 0x029b0f43, 0x0198b9dd, 0x036f1392, 0x03465835, 0x016c1ee7, 0x0033fe1a}}, Y: Field{[10]uint32{0x02d16df8, 0x0314b179, 0x030c147f, 0x008ad8ad, 0x023581f1, 0x00daee05, 0x0004b1a1, 0x025a4097, 0x00138a39, 0x002125f8}}}, + {X: Field{[10]uint32{0x0227ce8c, 0x02417887, 0x01cd66cc, 0x016a7969, 0x00966911, 0x03523ac1, 0x02a95824, 0x00d1e72a, 0x00204a8b, 0x001a05e9}}, Y: Field{[10]uint32{0x033052ad, 0x01ca4dde, 0x026fd95e, 0x0309d8c8, 0x028182a0, 0x01720e17, 0x03254653, 0x01e97261, 0x028bc337, 0x00256151}}}, + {X: Field{[10]uint32{0x01d9d58e, 0x00cf5b23, 0x03233bcd, 0x00656494, 0x037d114b, 0x01e51e3c, 0x013eb995, 0x03309abc, 0x00846e0e, 0x00273bff}}, Y: Field{[10]uint32{0x025d2582, 0x0342aa3e, 0x00426856, 0x00d0fa99, 0x00510602, 0x03bc71fb, 0x03c4d4af, 0x03e86c19, 0x021a5cf8, 0x003806b2}}}, + {X: Field{[10]uint32{0x03456c49, 0x03c3b734, 0x00543835, 0x00c63104, 0x03995a37, 0x00c0797e, 0x03965892, 0x03dff765, 0x01c6f203, 0x001a9b87}}, Y: Field{[10]uint32{0x0384496b, 0x02eb284d, 0x03482f93, 0x02fdbbf4, 0x0183b579, 0x02a5d51b, 0x01f9ad86, 0x00fa7ac1, 0x039898b9, 0x000a81ca}}}, + {X: Field{[10]uint32{0x02a9129b, 0x00c75f34, 0x036d24dd, 0x008626b0, 0x008ba3a5, 0x02e461ba, 0x018b4f0f, 0x01d86d45, 0x021a588d, 0x001f9eeb}}, Y: Field{[10]uint32{0x033dbdd6, 0x0215beaa, 0x0129dcc4, 0x02f03503, 0x0017e6bb, 0x0343e1ce, 0x01e60e57, 0x01731ca2, 0x023b3799, 0x0014663d}}}, + {X: Field{[10]uint32{0x006bd253, 0x0316cd40, 0x039f805d, 0x018fb84b, 0x03ffa158, 0x02a17954, 0x014966ff, 0x02acafb5, 0x03a863de, 0x00004ff0}}, Y: Field{[10]uint32{0x03821459, 0x016d5ddc, 0x01d58b3b, 0x0209c0b9, 0x03a8b77c, 0x039daa55, 0x00a59e76, 0x01415bff, 0x02459127, 0x0038c70c}}}, + {X: Field{[10]uint32{0x02e9c167, 0x02f1b445, 0x00ccbbec, 0x00983452, 0x03e56503, 0x03a27a92, 0x036dbeda, 0x03645fda, 0x01eb3f39, 0x003ff8a3}}, Y: Field{[10]uint32{0x01bb988a, 0x02abb5a7, 0x01b2c262, 0x03844a31, 0x01383c4b, 0x0380acff, 0x03857604, 0x01113794, 0x02b3b878, 0x00236294}}}, + {X: Field{[10]uint32{0x01cc57be, 0x020ec3c1, 0x003cd444, 0x0150772f, 0x00481c43, 0x003e83b3, 0x0379a883, 0x01b79f40, 0x00239bf2, 0x0000a3b5}}, Y: Field{[10]uint32{0x00ce126e, 0x001016c4, 0x00ac37bc, 0x01c866f4, 0x012d5608, 0x012e3616, 0x020d860b, 0x02399d14, 0x02e2ea01, 0x00064848}}}, + {X: Field{[10]uint32{0x03f8a708, 0x01cb22c2, 0x02d7276c, 0x00e0be01, 0x025aa4ca, 0x03b9da76, 0x02acc00e, 0x03121014, 0x027c7be8, 0x001efce0}}, Y: Field{[10]uint32{0x0159eebe, 0x0090fa29, 0x011726bb, 0x001c6b4a, 0x0224a75d, 0x035c75c1, 0x00601fa1, 0x014a6d17, 0x02eee505, 0x002497cf}}}, + {X: Field{[10]uint32{0x03ce7000, 0x0384e01b, 0x017a4a7b, 0x02accc28, 0x012acb5a, 0x007dedaf, 0x02de8627, 0x00070fe3, 0x0299021a, 0x0033c69f}}, Y: Field{[10]uint32{0x01d3d673, 0x02855756, 0x0078a7c3, 0x028fce2a, 0x035f1e70, 0x00ce8d18, 0x023e7400, 0x0298445a, 0x02837b3b, 0x00084d96}}}, + {X: Field{[10]uint32{0x01bb29c7, 0x02f2ba44, 0x02944afc, 0x019d4989, 0x02af3bdd, 0x02f42a61, 0x036c8121, 0x01f31038, 0x0237d151, 0x0039de7a}}, Y: Field{[10]uint32{0x038a8a2f, 0x03200575, 0x03f81e8a, 0x01b51706, 0x026472bb, 0x00a71bd0, 0x00e2c6c0, 0x01dd6a81, 0x01ac4b19, 0x000cb18d}}}, + {X: Field{[10]uint32{0x026c2a92, 0x02dfda3c, 0x002a1638, 0x00a23806, 0x02f96977, 0x030e0754, 0x019785d6, 0x01084056, 0x012b76b5, 0x00040c27}}, Y: Field{[10]uint32{0x018265a9, 0x02340819, 0x02a1a043, 0x02b3066d, 0x02f3abce, 0x03e4c4c5, 0x03b9b377, 0x0261c03b, 0x03834c85, 0x000087b7}}}, + {X: Field{[10]uint32{0x033a27f9, 0x039c8694, 0x00701813, 0x00469c50, 0x02f2b6b3, 0x0244c80d, 0x032240de, 0x011b50ba, 0x0309701e, 0x001e649e}}, Y: Field{[10]uint32{0x0358920f, 0x03613b4e, 0x039053b3, 0x03bae34a, 0x008a0f47, 0x0184d841, 0x00756403, 0x021b0693, 0x0113a818, 0x003edf19}}}, + {X: Field{[10]uint32{0x0128849e, 0x03631cc5, 0x0137e0fd, 0x038128f7, 0x03085b1d, 0x0338938f, 0x0193e683, 0x00d0a67d, 0x023377da, 0x001d0ed3}}, Y: Field{[10]uint32{0x002f3216, 0x0135ad9d, 0x014f1816, 0x039a1278, 0x01fbba7d, 0x02b9cca0, 0x03f178ca, 0x018fb1ec, 0x0069b5ee, 0x000de400}}}, + {X: Field{[10]uint32{0x004f04da, 0x01a18143, 0x02cbf498, 0x03ec29ce, 0x02e46064, 0x02547f9a, 0x02cd9b49, 0x02edfc6a, 0x02e10ce1, 0x0035cf34}}, Y: Field{[10]uint32{0x0253dde8, 0x01fd2b6c, 0x0209614b, 0x0138bc8a, 0x00cae7f8, 0x028cffc7, 0x0087fcd6, 0x039c7fd6, 0x02e44cc6, 0x0039a9d8}}}, + {X: Field{[10]uint32{0x01f6fa68, 0x00b5a5e5, 0x033e8ed3, 0x02051f01, 0x01ba6324, 0x01ecfafc, 0x03318a17, 0x0091acff, 0x00d3f563, 0x000f8700}}, Y: Field{[10]uint32{0x010776d3, 0x01cbc34b, 0x00ef6b4a, 0x000308ff, 0x0118ce2e, 0x02038e07, 0x036aecb0, 0x0304a440, 0x00cf87d5, 0x0037cad8}}}, + {X: Field{[10]uint32{0x0168053c, 0x03f71b36, 0x03221a32, 0x039318a6, 0x00ed90c2, 0x01d49b6d, 0x00f10e68, 0x00594f97, 0x039092da, 0x0025b81f}}, Y: Field{[10]uint32{0x01c2bd66, 0x0081e1d3, 0x036164ab, 0x03f8b978, 0x021f8517, 0x03eb4ee6, 0x0220ea5b, 0x03a9ae7b, 0x003bb8a2, 0x00359707}}}, + {X: Field{[10]uint32{0x03e1debb, 0x005deaab, 0x02854d8e, 0x0148ce18, 0x02d27a76, 0x00b81e5a, 0x01cc124b, 0x03b8094c, 0x004026b1, 0x001b48c1}}, Y: Field{[10]uint32{0x0179bbd3, 0x00ef027b, 0x012c2598, 0x00a2a33f, 0x00e3dc62, 0x0393b002, 0x03bde471, 0x011a2543, 0x0195faa1, 0x003cea3e}}}, + {X: Field{[10]uint32{0x01707781, 0x03f3bc79, 0x02d9dc76, 0x004692c1, 0x00ad7d45, 0x039c584e, 0x00e43c49, 0x027700c5, 0x035c1f94, 0x002376a7}}, Y: Field{[10]uint32{0x0001310d, 0x0229609a, 0x03a775c7, 0x03bc2b96, 0x01ad9d9b, 0x02dcdd0d, 0x03674f5d, 0x02c2944a, 0x03aa7585, 0x0034158f}}}, + {X: Field{[10]uint32{0x03de97cd, 0x028d5eee, 0x036c4e5a, 0x03ead309, 0x03b4bf17, 0x03ff6905, 0x02da369f, 0x01cd8fd7, 0x013f9866, 0x00141c18}}, Y: Field{[10]uint32{0x0034ebc2, 0x033c26f7, 0x008178a0, 0x01f921a9, 0x02eb40e4, 0x02c5b6e1, 0x005751f9, 0x01fa8d06, 0x02ff4fe7, 0x00002c83}}}, + {X: Field{[10]uint32{0x0316bce7, 0x024bac2b, 0x03a8efc7, 0x01d1aa6c, 0x0004986d, 0x0306a862, 0x038838ea, 0x00515ae6, 0x00f0bfab, 0x000e929c}}, Y: Field{[10]uint32{0x01c4f3e5, 0x03d68f2b, 0x01e248bd, 0x022608e0, 0x03843b3e, 0x0013a108, 0x0032980c, 0x023b6a86, 0x02931916, 0x00391492}}}, + {X: Field{[10]uint32{0x02b33532, 0x02448c2a, 0x01a38b52, 0x0264ef37, 0x02db5fba, 0x018c1dcf, 0x01a82f54, 0x0166a76a, 0x00921831, 0x000b373e}}, Y: Field{[10]uint32{0x017677b9, 0x00d61c1d, 0x02044e0a, 0x0248c8a4, 0x010fd956, 0x00aaf3a3, 0x02299e74, 0x00fcca17, 0x02eac911, 0x003223a9}}}, + {X: Field{[10]uint32{0x00955c99, 0x028b778a, 0x0203d781, 0x00082630, 0x022b7fed, 0x00cc667a, 0x02e0cd6f, 0x017d8404, 0x028df8f1, 0x0006a164}}, Y: Field{[10]uint32{0x00db4299, 0x00b38e5d, 0x02945568, 0x009147af, 0x010534a1, 0x001c970a, 0x013a6b03, 0x01da8ff8, 0x02b2821c, 0x0006ce61}}}, + {X: Field{[10]uint32{0x01a1d388, 0x01ae13c7, 0x02c1a6b6, 0x0198f988, 0x00dde019, 0x006e7c04, 0x01206634, 0x00c19685, 0x01a1d6b0, 0x0021b453}}, Y: Field{[10]uint32{0x0399b2de, 0x00e030a0, 0x01055fd1, 0x00f87db9, 0x01cfe568, 0x00e010b3, 0x004a6f9f, 0x017327a2, 0x00ec764f, 0x0019e545}}}, + {X: Field{[10]uint32{0x02201cc2, 0x0340d5c5, 0x01441565, 0x0265f091, 0x03300459, 0x02941e38, 0x03343415, 0x0321e50c, 0x014f0bdf, 0x003907dd}}, Y: Field{[10]uint32{0x010e8e8e, 0x02c3f75e, 0x02e47dcb, 0x0382ecf3, 0x000743f5, 0x024bba6d, 0x02f119f4, 0x00647b7f, 0x0241c21d, 0x00374165}}}, + {X: Field{[10]uint32{0x0075cae4, 0x0265b4d1, 0x022fc756, 0x01ea0ce3, 0x032946e1, 0x03911190, 0x0268d8f4, 0x02fb11e5, 0x026845b5, 0x002dfb24}}, Y: Field{[10]uint32{0x03dda53b, 0x018b9c53, 0x002cb7cc, 0x01425e3b, 0x00d945e3, 0x01e51dad, 0x02210f57, 0x027a4043, 0x018bb753, 0x0002ad28}}}, + {X: Field{[10]uint32{0x03518912, 0x01da752d, 0x009d456b, 0x02f020c9, 0x03bf3ecf, 0x02896142, 0x022554a0, 0x03786459, 0x01dcf1ea, 0x000903f6}}, Y: Field{[10]uint32{0x0104515b, 0x001ac234, 0x0220776a, 0x025cc4d4, 0x005318a8, 0x02a9aa01, 0x03a3a62e, 0x00e42214, 0x025ee0ba, 0x002bc0fe}}}, + {X: Field{[10]uint32{0x035bb769, 0x015c8de1, 0x00129a5c, 0x037e3c73, 0x022b88aa, 0x02330fea, 0x01e39d28, 0x00c4525e, 0x00ecee7d, 0x0000d4f1}}, Y: Field{[10]uint32{0x012d147e, 0x03693f34, 0x03cf02a0, 0x02e16b8c, 0x0228e607, 0x035c2ae3, 0x000118ba, 0x01384ba5, 0x004090af, 0x0027e9fb}}}, + {X: Field{[10]uint32{0x03d933de, 0x0200dd8a, 0x0082d39e, 0x02232f81, 0x03893409, 0x018a3f46, 0x0206ae11, 0x019a2045, 0x018aa855, 0x003d3bb5}}, Y: Field{[10]uint32{0x033b3d44, 0x01bc3e37, 0x03eb9160, 0x03e94b5f, 0x0118b40b, 0x0233ad03, 0x031969ca, 0x0381c341, 0x0364fe74, 0x00109e33}}}, + {X: Field{[10]uint32{0x026ef1ce, 0x004a4389, 0x000fa01a, 0x0029cdaf, 0x000b284f, 0x02d554b5, 0x00c17d50, 0x0099810d, 0x02e2e2d0, 0x001a63fe}}, Y: Field{[10]uint32{0x01ffc970, 0x00206638, 0x0143fab6, 0x03fec2f4, 0x038bd50c, 0x025bf04b, 0x027e53a4, 0x016dd076, 0x008d0784, 0x000659b3}}}, + {X: Field{[10]uint32{0x01314098, 0x01c48699, 0x0196b595, 0x028013ed, 0x0122d884, 0x005f2251, 0x020587d4, 0x0305035b, 0x016d5c88, 0x002d4ed6}}, Y: Field{[10]uint32{0x032c745a, 0x025eba23, 0x01a56771, 0x01c13306, 0x0025deeb, 0x01b0cbbb, 0x03de4857, 0x03f9db21, 0x00b909be, 0x00377fd8}}}, + {X: Field{[10]uint32{0x0213066a, 0x004bedc6, 0x02d65527, 0x01967d89, 0x00791518, 0x03a7c9da, 0x024cba67, 0x00efe75b, 0x0321d439, 0x0025d812}}, Y: Field{[10]uint32{0x028d17f8, 0x018988d2, 0x03616360, 0x0153e809, 0x027d871c, 0x00d5fc99, 0x005b0d17, 0x01fdf197, 0x0384e1cf, 0x0039ebbc}}}, + {X: Field{[10]uint32{0x01bb8623, 0x01213a54, 0x007edb63, 0x003b6875, 0x013b3876, 0x0018bdef, 0x02b234c1, 0x03b980c4, 0x01ba6eda, 0x001e8d72}}, Y: Field{[10]uint32{0x0184a5b1, 0x035a9093, 0x002457eb, 0x015e1bbe, 0x00769f3a, 0x03bdc128, 0x0292b586, 0x019d85ab, 0x027ba454, 0x000ce25e}}}, + {X: Field{[10]uint32{0x011e2804, 0x00836543, 0x03e01b6a, 0x005e19c1, 0x02c9638b, 0x0098c043, 0x026e0cc9, 0x00457728, 0x0075f989, 0x0021b503}}, Y: Field{[10]uint32{0x00315ca3, 0x00e1d0bb, 0x00410c0f, 0x010b105c, 0x01dddf28, 0x0211ad72, 0x031dcc8a, 0x02307839, 0x03624ffd, 0x001d66f5}}}, + {X: Field{[10]uint32{0x009badb7, 0x037acc58, 0x001ce3e8, 0x03a6ca90, 0x01fc77f6, 0x00ee4397, 0x03ddea49, 0x02de7d98, 0x03479a4b, 0x00180eff}}, Y: Field{[10]uint32{0x01a4f4b4, 0x008e6627, 0x0320ee1e, 0x0377700d, 0x03358c86, 0x034ce80b, 0x02eefffc, 0x006aa9ab, 0x01fc6528, 0x00018a1e}}}, + {X: Field{[10]uint32{0x032203ed, 0x039a2c40, 0x03d7b5de, 0x03705261, 0x00fa13eb, 0x029d68db, 0x01e0bbf8, 0x01e9f5c8, 0x00f3c7dc, 0x0001722e}}, Y: Field{[10]uint32{0x0208e7d3, 0x0124d033, 0x0190ce77, 0x0328506f, 0x013faa43, 0x023f35b9, 0x01d304d8, 0x031af5f6, 0x03382bc4, 0x001ad807}}}, + {X: Field{[10]uint32{0x0144fb05, 0x018f3a1d, 0x00505a79, 0x01fa4024, 0x0025a6f2, 0x020edcde, 0x027a55ff, 0x02530907, 0x02c5a916, 0x000c4f07}}, Y: Field{[10]uint32{0x003c6384, 0x01980dc4, 0x02e59825, 0x023891d4, 0x0101ed85, 0x031118b1, 0x0244699b, 0x0197ebed, 0x03ff9a43, 0x00270c54}}}, + {X: Field{[10]uint32{0x01d923bd, 0x000550ea, 0x006bf98b, 0x03569e5d, 0x00150b4b, 0x01a383e8, 0x0268cb29, 0x02bbecc0, 0x02514616, 0x000146b2}}, Y: Field{[10]uint32{0x02e028b4, 0x0115e9d3, 0x001cc203, 0x0310c77d, 0x01a0a66e, 0x0138acd8, 0x0163ca4f, 0x01dd1eff, 0x01b4073a, 0x001f147e}}}, + {X: Field{[10]uint32{0x0219677d, 0x01edb0c9, 0x00a122ab, 0x0359dd0f, 0x01353071, 0x02efa5ea, 0x036d3f92, 0x00192124, 0x039927ea, 0x0012ba34}}, Y: Field{[10]uint32{0x008a47a3, 0x019df50f, 0x027c919e, 0x01790d4b, 0x000f350f, 0x0244414e, 0x02a332b0, 0x02f3a0e3, 0x019bc251, 0x003e7714}}}, + {X: Field{[10]uint32{0x0256dcca, 0x01e137a8, 0x0257baa0, 0x022712bc, 0x03b100c2, 0x021352ef, 0x01a054a8, 0x02d68230, 0x015d3f9c, 0x001af472}}, Y: Field{[10]uint32{0x03803b5b, 0x0153be1a, 0x03e71396, 0x015ea221, 0x00801923, 0x02c1f79e, 0x031fc401, 0x02c4bdbd, 0x003bde39, 0x001e4d8a}}}, + {X: Field{[10]uint32{0x0249480e, 0x0374a0ea, 0x028ce19b, 0x00027be7, 0x035737f7, 0x001feef2, 0x0370a62e, 0x032ab6b8, 0x02294642, 0x003889e2}}, Y: Field{[10]uint32{0x0037dd01, 0x03c50ed2, 0x00f77b36, 0x02d60f59, 0x01087bc8, 0x0360bd87, 0x03570b7e, 0x00f39cd6, 0x03cdf394, 0x0010c48b}}}, + {X: Field{[10]uint32{0x0296c644, 0x03d2b13f, 0x0071ffee, 0x00b02c89, 0x008d24fb, 0x00ccd60c, 0x004bb019, 0x01a7f744, 0x00d59f94, 0x001a14df}}, Y: Field{[10]uint32{0x0000050e, 0x018f2061, 0x024a7320, 0x01165e77, 0x004003ab, 0x01b8ec67, 0x0399ff32, 0x01e9476f, 0x00ef4110, 0x001d94d8}}}, + {X: Field{[10]uint32{0x025af330, 0x024281dd, 0x03b54b12, 0x03bcfe06, 0x0070be08, 0x03022209, 0x00a0735f, 0x027e7e3e, 0x03c669c9, 0x0017b27f}}, Y: Field{[10]uint32{0x0163b222, 0x0084e5c4, 0x03b381a4, 0x03737472, 0x001f4f1c, 0x015ad1f0, 0x00c32290, 0x021c581e, 0x0008e76f, 0x002aed50}}}, + {X: Field{[10]uint32{0x004dfae9, 0x02661d1c, 0x0231db23, 0x03d8572b, 0x0101a330, 0x01945528, 0x0071aba4, 0x00c3eea5, 0x008e5d49, 0x00138006}}, Y: Field{[10]uint32{0x01317868, 0x02ee0753, 0x02bba57f, 0x00a74821, 0x015ed3fe, 0x016d0082, 0x03656dd3, 0x00daa9cf, 0x03302824, 0x0001f9db}}}, + {X: Field{[10]uint32{0x015ed984, 0x0377f57c, 0x02e3c8aa, 0x0392f4ed, 0x03a2659c, 0x0130bcfe, 0x0139edeb, 0x0054bbff, 0x03a4d480, 0x0012b8d1}}, Y: Field{[10]uint32{0x02d4e523, 0x00b170d8, 0x033070ca, 0x0307cd71, 0x0165bb6a, 0x029cb18d, 0x02b8ba7b, 0x033f7d3e, 0x03460d44, 0x000e0f8b}}}, + {X: Field{[10]uint32{0x006665ef, 0x03386e27, 0x0319c603, 0x031363dd, 0x0235fd09, 0x01942697, 0x02d90fc8, 0x02b03be5, 0x0224a8d3, 0x000cb2b7}}, Y: Field{[10]uint32{0x038bea36, 0x004342be, 0x036af55c, 0x03cb8324, 0x02266939, 0x032a27e6, 0x023c5aa6, 0x02c4dd6d, 0x00735c63, 0x0021c9ce}}}, + {X: Field{[10]uint32{0x01cfcbee, 0x00891114, 0x0204f5f4, 0x030f53dc, 0x0320c703, 0x03e1f08b, 0x00e68910, 0x01d5d9ab, 0x01956014, 0x002393bc}}, Y: Field{[10]uint32{0x02ed47af, 0x025c1b81, 0x00666045, 0x00332527, 0x02cd5b9d, 0x0003ef3f, 0x02da0afc, 0x01f06de7, 0x02e389d9, 0x0000be9c}}}, + {X: Field{[10]uint32{0x00a2c30a, 0x01f9ffe9, 0x02509aae, 0x005a7bf0, 0x01559d73, 0x02181e80, 0x01549911, 0x000fdb13, 0x035c4adc, 0x000d7f55}}, Y: Field{[10]uint32{0x0248e000, 0x012b7472, 0x00aa1347, 0x03367252, 0x03dbf3ee, 0x033442b1, 0x0300926d, 0x02079f2d, 0x039d2748, 0x003e695d}}}, + {X: Field{[10]uint32{0x010a9cf6, 0x00d7fb72, 0x032873c6, 0x017d7d76, 0x03efc12f, 0x031049b1, 0x00929a52, 0x00965452, 0x00507fd0, 0x0024cb93}}, Y: Field{[10]uint32{0x028ba783, 0x0187be6e, 0x01f2875f, 0x03ef36fc, 0x009e84ef, 0x034660b0, 0x036b1b24, 0x028670a7, 0x0221bbac, 0x00339af2}}}, + {X: Field{[10]uint32{0x01fbea11, 0x01175cd2, 0x03fb211a, 0x02b4d77a, 0x0355d3e2, 0x03d165c1, 0x036a37f2, 0x014706f8, 0x024422a0, 0x0032b637}}, Y: Field{[10]uint32{0x001c347a, 0x008e99bc, 0x013e0533, 0x035e2a7f, 0x01308eeb, 0x013e1bc4, 0x0241c903, 0x01a7ca02, 0x031d4f66, 0x00122c37}}}, + {X: Field{[10]uint32{0x009594d6, 0x03efa41b, 0x0357b462, 0x0323f3ad, 0x031919ff, 0x032cd8e0, 0x016aa646, 0x03eb9f40, 0x0304c847, 0x0027f1f4}}, Y: Field{[10]uint32{0x019860ff, 0x038e9143, 0x03c9e516, 0x01b39352, 0x00196367, 0x01ebf729, 0x029dd38a, 0x02861f36, 0x00e13bc6, 0x003745f0}}}, + {X: Field{[10]uint32{0x008b5849, 0x00d5d866, 0x000b4c89, 0x03dd305f, 0x008300e4, 0x02537aee, 0x00654538, 0x0281771a, 0x00df10d4, 0x00106e9b}}, Y: Field{[10]uint32{0x007ad4c5, 0x026107f9, 0x03ac5930, 0x02133c54, 0x01ece57e, 0x00a0ccc8, 0x031e278b, 0x00259795, 0x03158c3f, 0x001fad8a}}}, + {X: Field{[10]uint32{0x01c7377b, 0x01ee9104, 0x02884b22, 0x0037c15f, 0x03d5bbf3, 0x03bee1a4, 0x0174248c, 0x01ab9a8b, 0x025aaef3, 0x0007fe7f}}, Y: Field{[10]uint32{0x01e74278, 0x00815d7c, 0x00692165, 0x01416f99, 0x01506908, 0x032d57c2, 0x009cf41f, 0x0000e127, 0x036c585c, 0x001ae892}}}, + {X: Field{[10]uint32{0x03f5d660, 0x03ce31b2, 0x03ebd893, 0x00507e3d, 0x026d1348, 0x0215b09c, 0x019d0704, 0x01b4a79b, 0x00440d70, 0x000a675f}}, Y: Field{[10]uint32{0x0103ff32, 0x0217ba8b, 0x000400fc, 0x03fe6d25, 0x0062f7d1, 0x01b7a6b3, 0x01b48877, 0x01d3832a, 0x00f34d03, 0x0003929d}}}, + {X: Field{[10]uint32{0x02e3a67d, 0x02caff5c, 0x012d69f7, 0x00b73a94, 0x020b607c, 0x00f5ba4e, 0x0318ceb8, 0x03261db8, 0x02d90ec1, 0x00280ccf}}, Y: Field{[10]uint32{0x03a0539e, 0x0216467e, 0x0141e0d6, 0x00eedae2, 0x0019f83e, 0x007f9ed4, 0x03373932, 0x01da74d6, 0x03655f51, 0x00369f74}}}, + {X: Field{[10]uint32{0x004251e0, 0x02e13e90, 0x020d2e75, 0x0005593a, 0x032821cf, 0x02a5a197, 0x00093d0b, 0x028cc14d, 0x02a22e52, 0x00169104}}, Y: Field{[10]uint32{0x030e4313, 0x0101e363, 0x0300c7cd, 0x009d53ad, 0x033675ab, 0x001b4a4e, 0x010bc0ab, 0x015c3a0e, 0x00e07e6c, 0x001a91e2}}}, + {X: Field{[10]uint32{0x02b7b0b5, 0x008f3d8c, 0x03cdc3e8, 0x00770bf9, 0x01078335, 0x01a7e6d9, 0x0134ea6a, 0x00771839, 0x004c3b14, 0x0035dcbb}}, Y: Field{[10]uint32{0x009ac0df, 0x00a6f99a, 0x03cfdda9, 0x00bf6e26, 0x01c9ccd9, 0x036ace08, 0x010979dd, 0x0121f9c2, 0x000d1036, 0x002f64d0}}}, + {X: Field{[10]uint32{0x01f89336, 0x0288d9db, 0x0321cd04, 0x0293b284, 0x03d4452f, 0x03903e01, 0x033e1cd6, 0x0130effe, 0x02d2c769, 0x002525e0}}, Y: Field{[10]uint32{0x02d436dc, 0x0351672e, 0x00930b68, 0x005325ef, 0x019f4e2c, 0x03358f15, 0x032e5dbb, 0x008ad50d, 0x027fb8ba, 0x0039f179}}}, + {X: Field{[10]uint32{0x0057e6de, 0x013d85a9, 0x0070e233, 0x032185dd, 0x036d9ca0, 0x031271c7, 0x00a9e4d4, 0x03d67cf8, 0x01f575e6, 0x001fb9f5}}, Y: Field{[10]uint32{0x03d9f3ee, 0x01ccbbb5, 0x03d0197e, 0x000b5a81, 0x029cbbbe, 0x01be8c42, 0x0074add7, 0x00f99b24, 0x029c7612, 0x001118b6}}}, + {X: Field{[10]uint32{0x013f843e, 0x02baedec, 0x0320b50f, 0x011c2ee0, 0x018a5548, 0x01505e54, 0x005ba7c1, 0x011ed6de, 0x030ae08d, 0x001e92d8}}, Y: Field{[10]uint32{0x01937c00, 0x035c1da7, 0x025dc6b5, 0x00641fe7, 0x0269a3b2, 0x02d26037, 0x023a524d, 0x0007a5c5, 0x004fb868, 0x00328939}}}, + {X: Field{[10]uint32{0x02a82b96, 0x0071b2c6, 0x037939c3, 0x03cca653, 0x013a18ee, 0x02ed88f0, 0x02a55032, 0x03102902, 0x0242428a, 0x0034b642}}, Y: Field{[10]uint32{0x0234972a, 0x013568fc, 0x03b66746, 0x01b960b7, 0x01394a3b, 0x002c7838, 0x0039e064, 0x03567cc0, 0x02332367, 0x001d614b}}}, + {X: Field{[10]uint32{0x015d13e0, 0x0382c5ba, 0x01b91340, 0x017120d2, 0x03a4809b, 0x00bb53cb, 0x01b56066, 0x037ecf68, 0x01ab6206, 0x00364926}}, Y: Field{[10]uint32{0x0271be38, 0x00a6caac, 0x0294111f, 0x0192f800, 0x00fa4dfc, 0x024eae98, 0x01400749, 0x03f86a3e, 0x00ed26a4, 0x00108d51}}}, + {X: Field{[10]uint32{0x01d09a23, 0x020c3d71, 0x034dc8d5, 0x02f9b1af, 0x02bba6f2, 0x02dffe1e, 0x00e2d315, 0x01799b49, 0x02c25887, 0x003b0307}}, Y: Field{[10]uint32{0x00591421, 0x02e9058a, 0x00d7aee8, 0x0261d601, 0x018b798c, 0x01822fde, 0x009a237e, 0x02f46071, 0x03f1648a, 0x003949a9}}}, + {X: Field{[10]uint32{0x03ba8863, 0x0384025a, 0x00c2ef30, 0x00205de6, 0x003a6ae5, 0x0243a814, 0x01b48052, 0x01662621, 0x0168835b, 0x001a4e02}}, Y: Field{[10]uint32{0x0311e5f4, 0x01c3d78b, 0x03345a61, 0x01d6064b, 0x037522df, 0x005341f1, 0x0297137a, 0x02e98d14, 0x039d80f0, 0x001c6fa8}}}, + {X: Field{[10]uint32{0x00a9ab23, 0x02b7237f, 0x0062bebb, 0x0177d65b, 0x0115a40a, 0x007fcbfb, 0x00fe8d2e, 0x018df913, 0x01a19fd1, 0x00359ac7}}, Y: Field{[10]uint32{0x006b9946, 0x01a51d96, 0x03b6878a, 0x00749960, 0x015cc5d9, 0x001eccc5, 0x0217c4e6, 0x012edc72, 0x00ebbd2b, 0x001a33d9}}}, + {X: Field{[10]uint32{0x0298c95f, 0x0037220c, 0x01695a51, 0x01729ad6, 0x01503647, 0x0264c590, 0x0350d70c, 0x018b2e49, 0x00a2c6fa, 0x00277663}}, Y: Field{[10]uint32{0x00fbe821, 0x00381f6b, 0x03c8187a, 0x0017663f, 0x03407509, 0x018ecc76, 0x01278b7e, 0x02735be3, 0x03b853b9, 0x00156a22}}}, + {X: Field{[10]uint32{0x0141bfa2, 0x02a6b7b4, 0x01b925b9, 0x02336dea, 0x014efd84, 0x03078b5c, 0x00ecccd0, 0x03c6efa9, 0x002c842c, 0x0006d9af}}, Y: Field{[10]uint32{0x03673bea, 0x02e69c20, 0x00a890dd, 0x000620c7, 0x02402b35, 0x02108f2d, 0x003d88b6, 0x020ae2bd, 0x030155fe, 0x003f82d1}}}, + {X: Field{[10]uint32{0x00eb688a, 0x001d72b2, 0x00312c1c, 0x03243c3a, 0x03c7d2d5, 0x0248b800, 0x016a61c2, 0x00c77b4e, 0x01c48a92, 0x0002ca03}}, Y: Field{[10]uint32{0x02738a74, 0x0338c1b4, 0x03ff7da9, 0x01854c73, 0x00498c82, 0x00aeaebc, 0x02cb3ad6, 0x02f99acc, 0x01a6a2f8, 0x00206dd1}}}, + {X: Field{[10]uint32{0x018a6b5d, 0x0073717c, 0x0280f8cf, 0x01b3c055, 0x02413e90, 0x00438ba4, 0x00125ad5, 0x02e8720a, 0x011c9eb3, 0x001ef165}}, Y: Field{[10]uint32{0x00352a07, 0x02bd69a6, 0x01a1cd43, 0x03c3b88a, 0x000fbda2, 0x026b71b5, 0x026fc7f4, 0x02a2f6e2, 0x01d8480b, 0x00106e41}}}, + {X: Field{[10]uint32{0x02eabfc1, 0x00b14efd, 0x02ea34ed, 0x0023713c, 0x01116479, 0x0172a1a5, 0x02530952, 0x015235da, 0x00d12318, 0x001a7fdd}}, Y: Field{[10]uint32{0x03de2419, 0x02f9dd6b, 0x01bde0d4, 0x025f7325, 0x011d6173, 0x00eb7d7f, 0x02aca1eb, 0x027de04b, 0x02288eb9, 0x003ce8f9}}}, + {X: Field{[10]uint32{0x004af209, 0x014b86b2, 0x003b92c5, 0x0262a83c, 0x02ffa460, 0x039fda26, 0x028f8cdd, 0x034e967e, 0x013f01f6, 0x0017f9b7}}, Y: Field{[10]uint32{0x00dbfb55, 0x02f1d3d8, 0x01aacd6d, 0x00589d28, 0x03f356cc, 0x015443ab, 0x01197a91, 0x0340893b, 0x0101acb8, 0x0027baba}}}, + {X: Field{[10]uint32{0x0105f5f0, 0x008b9671, 0x023b121d, 0x031e3338, 0x01d3b52b, 0x0314fe44, 0x029fafe9, 0x01d76dd1, 0x0122cb04, 0x0011a7a4}}, Y: Field{[10]uint32{0x0058d812, 0x0138bf04, 0x0237ecb8, 0x0200276d, 0x0280d8a5, 0x01348b09, 0x025825fa, 0x02e9afd6, 0x03a838b2, 0x003f9d21}}}, + {X: Field{[10]uint32{0x0160e6ab, 0x018ed364, 0x00c1c06d, 0x0061c307, 0x0072a5e7, 0x02cc3e39, 0x01f816e8, 0x00a48ecb, 0x02bf06b6, 0x0007d28f}}, Y: Field{[10]uint32{0x01c89e2f, 0x031a9853, 0x02d39b77, 0x037a21c1, 0x011ebeeb, 0x00a6299f, 0x0138bd40, 0x02b86626, 0x02957602, 0x00263684}}}, + {X: Field{[10]uint32{0x03b86b0f, 0x01e3af54, 0x00773c2f, 0x00b743e9, 0x00411722, 0x01bd4428, 0x00226ac2, 0x03fc333b, 0x01fe1c12, 0x00363aa5}}, Y: Field{[10]uint32{0x006288d9, 0x03bd1ca3, 0x03f5b25f, 0x026e8075, 0x01f154b5, 0x03a4b092, 0x00bebb3c, 0x03ca4ee2, 0x039edde6, 0x000556fb}}}, + {X: Field{[10]uint32{0x0227cac6, 0x01ef53c4, 0x02527179, 0x017771fc, 0x002bb36f, 0x01c114c0, 0x014b2cf8, 0x0201c488, 0x03c797b3, 0x0006b628}}, Y: Field{[10]uint32{0x0057814c, 0x00f017d2, 0x02a1ccfa, 0x01741355, 0x0158398c, 0x03f3d47b, 0x00189576, 0x008dfc55, 0x03aa3755, 0x001a029d}}}, + {X: Field{[10]uint32{0x00fa7d66, 0x03b0c609, 0x0292a3fd, 0x02cb0caa, 0x00355540, 0x03c2c3e2, 0x01426469, 0x0349b836, 0x010405d1, 0x003ffa9c}}, Y: Field{[10]uint32{0x0034eac8, 0x03413089, 0x00ed4cb5, 0x02bcb299, 0x00081f67, 0x01c0bb75, 0x02c8db75, 0x0281b113, 0x00e22d8d, 0x003b2891}}}, + {X: Field{[10]uint32{0x0159d8ab, 0x0192b22e, 0x00f3fc17, 0x02e95764, 0x01d3abe9, 0x03f5bd9d, 0x02141c8c, 0x02226152, 0x03a3f7fc, 0x0012b156}}, Y: Field{[10]uint32{0x00be2bd2, 0x02f24efe, 0x039ce15b, 0x02d06f61, 0x03714821, 0x0062c412, 0x0252d141, 0x03edeff4, 0x0391f135, 0x00271eca}}}, + {X: Field{[10]uint32{0x03718ac4, 0x01ebd42e, 0x01536fe2, 0x02a72949, 0x02bc7061, 0x0196e280, 0x01de0eb8, 0x02933bca, 0x00677aa9, 0x0017e051}}, Y: Field{[10]uint32{0x00d9c042, 0x033c4064, 0x01b3669a, 0x0251cf8e, 0x022b8cb8, 0x00c07ec0, 0x00340716, 0x02c9bf99, 0x01dc4062, 0x002f6a59}}}, + {X: Field{[10]uint32{0x01dd88bb, 0x03ac551d, 0x0390388b, 0x029346b2, 0x02da5f96, 0x016607cc, 0x029f2130, 0x01d2612c, 0x03043791, 0x003cdcb2}}, Y: Field{[10]uint32{0x02367d89, 0x002ad186, 0x00efcb2a, 0x03b38cb1, 0x007ceda2, 0x01a50653, 0x00a0ea07, 0x03540068, 0x035c1e62, 0x0020b5a3}}}, + {X: Field{[10]uint32{0x0359b128, 0x0314c82e, 0x026927a3, 0x03c890f8, 0x02878ec6, 0x03efe92c, 0x03133753, 0x0011e0d8, 0x03c54576, 0x0003ec4a}}, Y: Field{[10]uint32{0x0153aef5, 0x01af9712, 0x03e17a92, 0x01dff5ef, 0x01961930, 0x009329a0, 0x01ac0cba, 0x0386d6ed, 0x011867da, 0x000fe080}}}, + {X: Field{[10]uint32{0x00c0ea07, 0x03fe0658, 0x02447316, 0x0286c2a4, 0x034adafe, 0x01ea5d1f, 0x03075601, 0x0128d3d0, 0x01ac918a, 0x000f65d6}}, Y: Field{[10]uint32{0x02018aaa, 0x02956695, 0x03ecc6fc, 0x0299defa, 0x00caa317, 0x02a5925f, 0x031d5dda, 0x00cc2ad9, 0x03cf6d6a, 0x00033676}}}, + {X: Field{[10]uint32{0x023e00ce, 0x015720bf, 0x02909844, 0x037d6390, 0x019f476f, 0x01a6f1f7, 0x0349be46, 0x014870fe, 0x02b3699c, 0x003ab82a}}, Y: Field{[10]uint32{0x0317259e, 0x01feb853, 0x00bdd977, 0x0078478c, 0x0362c7ef, 0x017a0228, 0x0377b562, 0x039f0a66, 0x00dd450e, 0x002eb73a}}}, + {X: Field{[10]uint32{0x011eb851, 0x002afb51, 0x0338455e, 0x01f49328, 0x0343718a, 0x0097b974, 0x0225d0e9, 0x033aa95d, 0x02eec2c0, 0x003fb494}}, Y: Field{[10]uint32{0x002c648f, 0x0296a2ba, 0x03b4c457, 0x007173c2, 0x00dd0721, 0x001d5bd9, 0x0166b277, 0x03bf3087, 0x02ae56ce, 0x0019aeed}}}, + {X: Field{[10]uint32{0x017f9dbd, 0x021e4e8b, 0x013c9bc0, 0x00be74c0, 0x022362af, 0x02eac2c8, 0x03fb04d3, 0x030f0505, 0x02bd022a, 0x003698e7}}, Y: Field{[10]uint32{0x022466d5, 0x029ed3a0, 0x0031c10a, 0x03a8f9e8, 0x003627aa, 0x00daef95, 0x034ed0d5, 0x03a7cbe9, 0x022055f1, 0x0020fc9d}}}, + {X: Field{[10]uint32{0x02ab90dd, 0x01f3f09f, 0x0282ce09, 0x029ab2b9, 0x0132ced2, 0x031c77e4, 0x00d3ac67, 0x0116bd35, 0x00ded773, 0x00149349}}, Y: Field{[10]uint32{0x02b7f5c2, 0x01e81d3e, 0x03b01b2f, 0x000221ec, 0x032d010a, 0x003f9f3f, 0x036f55c9, 0x01f170c6, 0x00f7c692, 0x003933d7}}}, + {X: Field{[10]uint32{0x00ae4f94, 0x03149a15, 0x021c4b24, 0x02917ef0, 0x0028672d, 0x00a185ed, 0x007cde0c, 0x02d830d7, 0x02d5fb52, 0x001f6b0b}}, Y: Field{[10]uint32{0x03794038, 0x023b83f9, 0x0309ea57, 0x02db4a0a, 0x02f6cc11, 0x034919b0, 0x035c4a2b, 0x022199c2, 0x007ae916, 0x00331ab3}}}, + {X: Field{[10]uint32{0x016083ae, 0x01472fb9, 0x03ea6f7c, 0x02728e24, 0x02887e5d, 0x003a4a46, 0x019d10d0, 0x03d67dae, 0x024dda61, 0x0017d1ad}}, Y: Field{[10]uint32{0x0283a8ae, 0x007cf678, 0x0182e5ee, 0x02e9f86d, 0x0109bfa6, 0x0155ca4a, 0x02dcfb9c, 0x00995541, 0x0055da25, 0x001810f4}}}, + {X: Field{[10]uint32{0x01e14aa3, 0x0258685f, 0x03635175, 0x0308e29f, 0x0348ef0f, 0x023177c3, 0x0241ec2b, 0x017c85b9, 0x0033b6a2, 0x002218fb}}, Y: Field{[10]uint32{0x02b42541, 0x032c4ac3, 0x037a117d, 0x020f683f, 0x0345b2a5, 0x01241956, 0x00292777, 0x016070be, 0x00f31e52, 0x00275986}}}, + {X: Field{[10]uint32{0x03a2f9f4, 0x035a9a0c, 0x02a03a1b, 0x03dcfa4b, 0x03b377f3, 0x03c9be47, 0x00184c7e, 0x016739b6, 0x00463ac4, 0x0021500d}}, Y: Field{[10]uint32{0x01b399cb, 0x03dc9e31, 0x01430438, 0x03c8ec32, 0x018f7719, 0x00c4ff8d, 0x012a5b18, 0x019266c9, 0x02968ac5, 0x000b47c4}}}, + {X: Field{[10]uint32{0x02223c7f, 0x032b7597, 0x03201379, 0x009d7adf, 0x006a325d, 0x018899ad, 0x0251dbc3, 0x0104aff9, 0x03f6217e, 0x0002fdac}}, Y: Field{[10]uint32{0x03ba748b, 0x02c6bbe5, 0x03eaf0a9, 0x0035abc6, 0x01ebfad9, 0x03bb8f7b, 0x0041e7dc, 0x029157ec, 0x0154c14a, 0x00284582}}}, + {X: Field{[10]uint32{0x02d9e59d, 0x009396af, 0x03ffc771, 0x00662e86, 0x03860ca2, 0x0026a933, 0x02079ea4, 0x0184d52a, 0x002d3c18, 0x0012c808}}, Y: Field{[10]uint32{0x035b8873, 0x017a2a43, 0x002bab55, 0x01154418, 0x007703eb, 0x03c47641, 0x01d858f2, 0x0302c2e9, 0x0103c107, 0x0027da11}}}, + {X: Field{[10]uint32{0x02421dd2, 0x01a96a81, 0x03e28268, 0x03c989f2, 0x0199c050, 0x009ed64c, 0x024f5331, 0x02692ce8, 0x00806d67, 0x001021fe}}, Y: Field{[10]uint32{0x0188e8b9, 0x01c1f4af, 0x0121b5a5, 0x0105627e, 0x01698800, 0x0263d696, 0x008c8836, 0x035220cf, 0x0184b3d9, 0x00120e2b}}}, + {X: Field{[10]uint32{0x0297b79c, 0x0244c6bf, 0x02ac766d, 0x00131e43, 0x00538775, 0x01693f0d, 0x01b91e00, 0x01d01a8b, 0x0287cb2e, 0x000569e4}}, Y: Field{[10]uint32{0x014a238a, 0x029069ae, 0x003fadf2, 0x033ee5aa, 0x031bd597, 0x00b18583, 0x03ce497c, 0x01cb8f4f, 0x03220765, 0x0027d3bc}}}, + {X: Field{[10]uint32{0x03bcecbe, 0x026cd0f8, 0x02812273, 0x0029f888, 0x02404fb1, 0x032cf502, 0x0233d61b, 0x012f13fc, 0x0063c052, 0x000713e8}}, Y: Field{[10]uint32{0x02d48bd6, 0x0231cf58, 0x003533aa, 0x02cafd34, 0x03d39c90, 0x035cc2ca, 0x0209e9eb, 0x00bbae5c, 0x01eca2d8, 0x000aa158}}}, + {X: Field{[10]uint32{0x01f2a636, 0x0058ed6b, 0x02c2656d, 0x029b5221, 0x02bb50b8, 0x014c4bca, 0x03936c18, 0x02cb1499, 0x03a743c1, 0x00281c22}}, Y: Field{[10]uint32{0x031a20ea, 0x017a534d, 0x00324584, 0x0188d669, 0x007dc66a, 0x004b874b, 0x01b81550, 0x022331b2, 0x01f19169, 0x002563d1}}}, + {X: Field{[10]uint32{0x00acad7d, 0x00de4f3a, 0x02858c21, 0x0152c4a6, 0x0109b797, 0x00b8cfff, 0x009d71f0, 0x010b9b84, 0x034df01a, 0x0035e582}}, Y: Field{[10]uint32{0x03deb920, 0x03078676, 0x00707d81, 0x024d8c46, 0x02335661, 0x03195cc2, 0x003d0e1d, 0x0074ad87, 0x01aa5a84, 0x00232bc6}}}, + {X: Field{[10]uint32{0x038ba611, 0x030c902f, 0x03789daa, 0x01b9ba28, 0x02a7c450, 0x03f286cc, 0x0225ba38, 0x01c3565b, 0x006bf8ba, 0x001e80f7}}, Y: Field{[10]uint32{0x037d9028, 0x021293df, 0x03881fcb, 0x0207425a, 0x00048a36, 0x01dcf85c, 0x023e378b, 0x01a15969, 0x0222292d, 0x001c3c67}}}, + {X: Field{[10]uint32{0x03443b97, 0x00e3c971, 0x01dbac2f, 0x0281c9bf, 0x01da516c, 0x01b20ea9, 0x0189850c, 0x00d0470e, 0x0262a8fa, 0x0014ea69}}, Y: Field{[10]uint32{0x03945e25, 0x03fd6780, 0x0036e140, 0x0316e00c, 0x022adcfd, 0x01134797, 0x013279e8, 0x030c6fcc, 0x02506179, 0x00177ab0}}}, + {X: Field{[10]uint32{0x02b2cdf7, 0x0143673f, 0x036f20a4, 0x02ca1da0, 0x01b7ee99, 0x0306eeaa, 0x0269af63, 0x00361bff, 0x02b63dbb, 0x0021ae51}}, Y: Field{[10]uint32{0x0374b1fa, 0x012d6603, 0x03a62ed7, 0x03006665, 0x037cbc39, 0x00793c4c, 0x018ea1ba, 0x038a9b2c, 0x0383d3d0, 0x0011101d}}}, + {X: Field{[10]uint32{0x03752d8e, 0x0054b9bb, 0x019babef, 0x03fee9c7, 0x036b28c8, 0x0034908f, 0x01567262, 0x012d1bda, 0x00f5cb88, 0x00033a07}}, Y: Field{[10]uint32{0x02a9248c, 0x02d50117, 0x009262d0, 0x03fca243, 0x02979177, 0x001306aa, 0x01bf924c, 0x019130d2, 0x01738120, 0x001d6bf6}}}, + {X: Field{[10]uint32{0x01172ed9, 0x033a4b78, 0x02b8fbc6, 0x010c4ce8, 0x037b791d, 0x01f55f51, 0x006cb9e4, 0x0134b67e, 0x02413a46, 0x0010441b}}, Y: Field{[10]uint32{0x036741c6, 0x031be87d, 0x03374d2e, 0x00a9cde6, 0x002ce4e4, 0x01ce83e2, 0x01601a27, 0x0082e001, 0x00c230e9, 0x0038b291}}}, + {X: Field{[10]uint32{0x00b49777, 0x0106d288, 0x001524e1, 0x0328814b, 0x03bca3f1, 0x01eb1bda, 0x006541ec, 0x00284b95, 0x02a04e83, 0x003a707c}}, Y: Field{[10]uint32{0x02a58124, 0x0247e6cc, 0x0030886b, 0x0087d754, 0x005ca737, 0x0059c4b2, 0x0173fcd5, 0x004b08a6, 0x004308dd, 0x001477ce}}}, + {X: Field{[10]uint32{0x033bbf2c, 0x0173c579, 0x01511fce, 0x009d0943, 0x039be21f, 0x00554b8e, 0x0225775f, 0x03fcf92e, 0x012dc5e8, 0x0022ee78}}, Y: Field{[10]uint32{0x000d1152, 0x03c46a34, 0x0162f91e, 0x022af08e, 0x02b4d096, 0x03067137, 0x024fcf50, 0x00dcc070, 0x037a273c, 0x0022a08a}}}, + {X: Field{[10]uint32{0x00b6bd0f, 0x0165e9eb, 0x011399ad, 0x00f80a5f, 0x01697f3f, 0x03d9b80c, 0x0294c3ee, 0x01de4791, 0x02f1da22, 0x002c0163}}, Y: Field{[10]uint32{0x02205a2a, 0x016cbc2f, 0x02978c80, 0x0111f4ae, 0x01e5deb6, 0x03ffa009, 0x000bee68, 0x00e05363, 0x034a0579, 0x001fd6ea}}}, + {X: Field{[10]uint32{0x002522a5, 0x014da32b, 0x025c8db9, 0x015d2e1c, 0x006dfc35, 0x0137f2ac, 0x0202b780, 0x03f7594b, 0x002d8df5, 0x00077b75}}, Y: Field{[10]uint32{0x02bca540, 0x019567ad, 0x0254f5b4, 0x037bcd5d, 0x0024b918, 0x020ed86e, 0x03f4a8f9, 0x00349463, 0x00492373, 0x000c1569}}}, + {X: Field{[10]uint32{0x000ea544, 0x03cbbd0e, 0x01f7da46, 0x00f67571, 0x03e47181, 0x00af0e76, 0x005b0b51, 0x012ea4fd, 0x0248c679, 0x001d8694}}, Y: Field{[10]uint32{0x032c1292, 0x03442c20, 0x01fc5c60, 0x00217eb4, 0x029f7034, 0x016ea3b5, 0x018d0a39, 0x033ab178, 0x0130c4f5, 0x0006177b}}}, + {X: Field{[10]uint32{0x03aa5caf, 0x02ae2638, 0x00f2ffef, 0x021d4069, 0x03a17496, 0x004f06d6, 0x0020982a, 0x03433237, 0x0360e515, 0x0003c756}}, Y: Field{[10]uint32{0x00a0d91d, 0x03b673de, 0x00708e42, 0x02dd5265, 0x03ee6f9a, 0x03ad8fc1, 0x033a9e48, 0x03630805, 0x026c395f, 0x00157f5d}}}, + {X: Field{[10]uint32{0x0337425f, 0x0264ff6e, 0x002d7fba, 0x012f0c09, 0x02fb09ff, 0x00711156, 0x02ba0bf6, 0x0002a95d, 0x004c9b79, 0x0015a72d}}, Y: Field{[10]uint32{0x00c350b1, 0x01009c83, 0x026d0d33, 0x03a03895, 0x01c1131d, 0x031f768f, 0x038f646a, 0x038f5079, 0x00d2ff1a, 0x0037f7ae}}}, + {X: Field{[10]uint32{0x021851eb, 0x031e1f2e, 0x00776d22, 0x0045f734, 0x039c2dda, 0x0363e142, 0x0147a787, 0x00e7a146, 0x029ad998, 0x000f966d}}, Y: Field{[10]uint32{0x012e20b3, 0x03620d16, 0x036d434c, 0x017acb27, 0x03705074, 0x01fb13c9, 0x01d93583, 0x02c0c1af, 0x02a48bfe, 0x001ccb34}}}, + {X: Field{[10]uint32{0x01296967, 0x03a93125, 0x0087b0e6, 0x015ccb0c, 0x0181acec, 0x03f0221b, 0x02502403, 0x015a0a60, 0x022107b4, 0x00291b59}}, Y: Field{[10]uint32{0x01763d33, 0x006b3bee, 0x03464005, 0x02139849, 0x01461478, 0x026a0823, 0x0097a73f, 0x02c18890, 0x00f429a5, 0x00050333}}}, + {X: Field{[10]uint32{0x0079ab1c, 0x005b1194, 0x0392774d, 0x03fb6bad, 0x004ad70e, 0x0055d727, 0x000c427d, 0x014ee9f0, 0x019cf25c, 0x002e4839}}, Y: Field{[10]uint32{0x0045b67f, 0x0065f07c, 0x005c9d43, 0x017cdfd6, 0x039201ec, 0x0195ae4d, 0x01435a61, 0x02223475, 0x00f1d4ba, 0x00181858}}}, + {X: Field{[10]uint32{0x00bfa8c5, 0x0381adfe, 0x00713896, 0x03663417, 0x023b88b6, 0x02c9c36d, 0x03da1efd, 0x00dee7ab, 0x02e1e7d8, 0x0004b3c6}}, Y: Field{[10]uint32{0x01c99c0f, 0x03329a4e, 0x035d91e8, 0x01b52141, 0x03c4c1d6, 0x0273f62c, 0x0323d7be, 0x024d2c27, 0x0213181b, 0x00383599}}}, + {X: Field{[10]uint32{0x01c0ec1f, 0x03ce74e3, 0x0230287f, 0x0002f84e, 0x02eb93a9, 0x00ca0553, 0x00620e5a, 0x02b28b98, 0x03ae0a4e, 0x001aab49}}, Y: Field{[10]uint32{0x00a1f46a, 0x0189aee5, 0x008112fe, 0x01d0d0b0, 0x02d46814, 0x0315ff5e, 0x03e8cd2d, 0x0054e789, 0x01c5caa2, 0x0024c855}}}, + {X: Field{[10]uint32{0x00f870a0, 0x00d0fb2b, 0x01c36ce9, 0x03e487dd, 0x008d168b, 0x0301b06e, 0x03489166, 0x019afa0a, 0x014e7cb1, 0x0004d336}}, Y: Field{[10]uint32{0x01453236, 0x02230ec2, 0x014c0fab, 0x039f9cf4, 0x012f7c8f, 0x03c268e6, 0x02a51cff, 0x03f517a0, 0x03c5e956, 0x0010a99c}}}, + {X: Field{[10]uint32{0x023989ee, 0x027d6d56, 0x00e2c56d, 0x0063729a, 0x02429b1d, 0x0072173b, 0x002971fa, 0x031e1a31, 0x018c7b7c, 0x00357735}}, Y: Field{[10]uint32{0x01208100, 0x01989388, 0x035c5e31, 0x002bc2ed, 0x0345bedd, 0x028ce2f1, 0x01a05297, 0x032b93b3, 0x0130ef1b, 0x00383290}}}, + {X: Field{[10]uint32{0x020d8c8e, 0x02b27403, 0x02861f66, 0x02f454e2, 0x033e3567, 0x01a47cce, 0x01fa4cdb, 0x02422e41, 0x0134c344, 0x00254759}}, Y: Field{[10]uint32{0x017046f1, 0x017cc1bb, 0x039f9d57, 0x024669f5, 0x0295a5f6, 0x0114957d, 0x001a9903, 0x01e4a19a, 0x0122eb84, 0x003bbcd6}}}, + {X: Field{[10]uint32{0x01cdd0fc, 0x019973f0, 0x01e27b33, 0x02ea59bb, 0x02690af0, 0x02d48455, 0x0184c9c9, 0x025935db, 0x004b25f7, 0x0033b6e9}}, Y: Field{[10]uint32{0x03c79e7e, 0x006de6a1, 0x037d94c2, 0x009246a3, 0x02187e71, 0x024cc5ad, 0x007b6b64, 0x026bc746, 0x0049cb8e, 0x00201aa4}}}, + {X: Field{[10]uint32{0x00a10b54, 0x01bd2ab6, 0x02a2049c, 0x03445124, 0x01d1c7d2, 0x00afb285, 0x02bd39d3, 0x01afb8a6, 0x0260d130, 0x0013fc0d}}, Y: Field{[10]uint32{0x02d1e574, 0x0389dcc1, 0x01893d99, 0x01774bfc, 0x014990f2, 0x039c7da2, 0x02e8bc8b, 0x0265478d, 0x02698fd8, 0x0030b1d7}}}, + {X: Field{[10]uint32{0x022e0ca7, 0x0010b3b3, 0x01824389, 0x0289a0ee, 0x00c78061, 0x037edc80, 0x03b77020, 0x019197a1, 0x01088dbd, 0x003022f5}}, Y: Field{[10]uint32{0x008d7307, 0x024c957e, 0x03e78417, 0x02d82318, 0x011db329, 0x00ea7c5c, 0x02408842, 0x0125eac5, 0x01d61343, 0x00158806}}}, + {X: Field{[10]uint32{0x03f9857d, 0x03f576d2, 0x01e3a07a, 0x02a09d28, 0x00955bdd, 0x022eb0c6, 0x005cdd22, 0x033ac8ee, 0x00aa6fd2, 0x001237f7}}, Y: Field{[10]uint32{0x020287ce, 0x017fe8ba, 0x011710d5, 0x02d450c7, 0x00af60f4, 0x0390a555, 0x014e76fc, 0x019ee945, 0x022e8961, 0x000a9198}}}, + {X: Field{[10]uint32{0x02a1f236, 0x02b3fcc5, 0x03ceebbf, 0x01e68ce8, 0x02802c14, 0x01c094e0, 0x0376b471, 0x03e20f2f, 0x0100d81a, 0x00101082}}, Y: Field{[10]uint32{0x0385e3f7, 0x01a346de, 0x01b4be41, 0x01bbc678, 0x007831e9, 0x02d50957, 0x00f50fa2, 0x02d4ecc2, 0x00e0dbbc, 0x00219811}}}, + {X: Field{[10]uint32{0x022bdc42, 0x00bcdf8c, 0x0156f8b1, 0x01080ec4, 0x02ec1e31, 0x03a64823, 0x02c20184, 0x019f1dc3, 0x007b23b6, 0x0025a8dd}}, Y: Field{[10]uint32{0x00f22ab2, 0x01f3618f, 0x03af798c, 0x03d29281, 0x03dc7545, 0x034c975b, 0x010b04ba, 0x01191ccc, 0x03c8df8c, 0x0019ec2c}}}, + {X: Field{[10]uint32{0x00460182, 0x0244caf2, 0x02784503, 0x0246a345, 0x03f1db3e, 0x00545212, 0x0361f0cb, 0x01e5a490, 0x017de403, 0x0033c1c0}}, Y: Field{[10]uint32{0x0397939d, 0x006ece4d, 0x0106799b, 0x0327996b, 0x00e2eb60, 0x01a5018e, 0x036e762f, 0x0278c343, 0x010762f2, 0x002de86c}}}, + {X: Field{[10]uint32{0x018beb15, 0x0173d688, 0x036dc080, 0x028f75c9, 0x0393507a, 0x01d7f756, 0x01b90ded, 0x02dbdeb4, 0x00b25b0b, 0x0004ad6e}}, Y: Field{[10]uint32{0x038933da, 0x02d5bb6d, 0x009aee89, 0x01942cd8, 0x015a5bc1, 0x01032866, 0x02d6368d, 0x02866e03, 0x03678cef, 0x00174f51}}}, + {X: Field{[10]uint32{0x03a46765, 0x0270de84, 0x0327dcd9, 0x0266f66d, 0x0177ecd2, 0x0062dbc6, 0x018b9ace, 0x039b64e6, 0x009ce866, 0x0021e6d1}}, Y: Field{[10]uint32{0x03781c63, 0x004ea0d8, 0x02baec6c, 0x0057c0f9, 0x01f0c452, 0x006a3679, 0x0350c4e9, 0x03ec4ab3, 0x00eb758c, 0x002c3120}}}, + {X: Field{[10]uint32{0x00c7dead, 0x01ee4283, 0x0121dd2b, 0x00332cdb, 0x01e50228, 0x00ffbc92, 0x03a401dd, 0x02807747, 0x0383e9d3, 0x000bb121}}, Y: Field{[10]uint32{0x01a67fce, 0x03c31fa1, 0x00703ca2, 0x020419e6, 0x0283fd8f, 0x03ad1a68, 0x01e61505, 0x038b2869, 0x012478f9, 0x003ec0a4}}}, + {X: Field{[10]uint32{0x037c3ce7, 0x008824d0, 0x03a83aee, 0x03eef61c, 0x025b7878, 0x0051655a, 0x03e8fcd2, 0x036c1ce7, 0x025827be, 0x001e7328}}, Y: Field{[10]uint32{0x00ac467e, 0x02073aa7, 0x015a8d33, 0x02c8b064, 0x00bee990, 0x03add2cc, 0x00b7c483, 0x021d4053, 0x0293d82e, 0x003fd222}}}, + {X: Field{[10]uint32{0x02dbd207, 0x00f37556, 0x01cd93e9, 0x0203526a, 0x028e146a, 0x00185aa9, 0x02b9eed4, 0x022dea09, 0x00ca3d2b, 0x00311129}}, Y: Field{[10]uint32{0x012d0f18, 0x03f09cc2, 0x032319d1, 0x003ee3f0, 0x00ac00ad, 0x037b41a1, 0x01ae3381, 0x00130950, 0x00a963d5, 0x001344da}}}, + {X: Field{[10]uint32{0x03f3e7a8, 0x0154a6f3, 0x03c267ee, 0x02298124, 0x02dbed32, 0x020d7a35, 0x024e2050, 0x0112c961, 0x0050cc0e, 0x000fb91f}}, Y: Field{[10]uint32{0x00a5f095, 0x0072a7a4, 0x0391f84e, 0x00c00f46, 0x00b6229a, 0x0117890f, 0x02496401, 0x02a1ef0c, 0x0339056e, 0x003e9554}}}, + {X: Field{[10]uint32{0x0009980c, 0x004b5f72, 0x020a81c0, 0x0364b464, 0x038e69e2, 0x03e6c3d1, 0x02251a29, 0x02edfd08, 0x01873036, 0x003a58f2}}, Y: Field{[10]uint32{0x01c52fd6, 0x009e8f15, 0x025e6180, 0x035b1fe3, 0x02140f92, 0x0202c5cf, 0x002bfa48, 0x02fcbc49, 0x03b0779b, 0x0003fe56}}}, + {X: Field{[10]uint32{0x008fc07d, 0x00473195, 0x008bd3f7, 0x01439a1b, 0x0023738e, 0x011be8e5, 0x024b747a, 0x02e2e6bf, 0x035bb6a1, 0x002abd81}}, Y: Field{[10]uint32{0x02f2b0cb, 0x0354866a, 0x0098b1bb, 0x01baef7e, 0x0253ab32, 0x03ad047a, 0x005bd162, 0x0328707a, 0x02ec6d11, 0x001336c2}}}, + {X: Field{[10]uint32{0x0157ac0f, 0x031d6150, 0x012986e4, 0x0357aa48, 0x02842b44, 0x0175c22a, 0x0174a18d, 0x01d5b638, 0x0017d8e9, 0x001a4792}}, Y: Field{[10]uint32{0x00c0c222, 0x03d01da8, 0x008c2d1f, 0x037ca7d4, 0x034bb9a8, 0x00be4a1c, 0x010eb157, 0x01eb5e03, 0x020b3bfa, 0x0027abae}}}, + {X: Field{[10]uint32{0x0344996a, 0x03821ff9, 0x03fd81d9, 0x02cc72bc, 0x00c77dbf, 0x020f6b63, 0x01c9d4c5, 0x01292250, 0x01bb45af, 0x0030f9bf}}, Y: Field{[10]uint32{0x008366f2, 0x010af258, 0x00a730e6, 0x01d2d526, 0x010b8694, 0x02b13a5e, 0x0207bfd1, 0x00a6e3fb, 0x011e65ab, 0x0032a663}}}, + {X: Field{[10]uint32{0x0140701f, 0x03002cc2, 0x013868ce, 0x03e00ccf, 0x02923ead, 0x01f17265, 0x032630be, 0x00973c87, 0x0320a55d, 0x003b6f58}}, Y: Field{[10]uint32{0x01e4889e, 0x005090d3, 0x003e3f7a, 0x0143dacb, 0x025e3d3d, 0x038a3e52, 0x00cd12bf, 0x03d79322, 0x02e7afce, 0x00359464}}}, + {X: Field{[10]uint32{0x0295d336, 0x02d30d3a, 0x005dad7c, 0x03b67536, 0x02b29684, 0x00f0dd04, 0x02fd2494, 0x0382e2b0, 0x0183a80a, 0x0032567b}}, Y: Field{[10]uint32{0x032b168b, 0x0268b869, 0x03e5f8b5, 0x023804bd, 0x014de5f5, 0x00965c30, 0x00b0e970, 0x03c94ab6, 0x02bb8dcc, 0x00203076}}}, + {X: Field{[10]uint32{0x02ed9237, 0x00f7e0cf, 0x0231274e, 0x03b76992, 0x022c5bc6, 0x034b573e, 0x00c90224, 0x0013a762, 0x01744710, 0x001de331}}, Y: Field{[10]uint32{0x02916c17, 0x00b724e4, 0x0360946b, 0x03f94730, 0x01675720, 0x02e48767, 0x012e502d, 0x007009ee, 0x01316b2a, 0x003ba88f}}}, + {X: Field{[10]uint32{0x03b42055, 0x02bf2598, 0x02d9a5c2, 0x011b4fef, 0x00173e7e, 0x036634b0, 0x03299f81, 0x015abd0f, 0x00388c36, 0x00287e1d}}, Y: Field{[10]uint32{0x016f4afc, 0x0261e9f5, 0x0284eabb, 0x03fb71ca, 0x015d874a, 0x0264d9e1, 0x0150e79b, 0x035b16cc, 0x00430820, 0x00042f21}}}, + {X: Field{[10]uint32{0x00224a5d, 0x008247da, 0x036a3d00, 0x020dd503, 0x028f7fa5, 0x00f410fb, 0x01a1839c, 0x022e2b36, 0x030b2d5f, 0x00322b5f}}, Y: Field{[10]uint32{0x03aebf8b, 0x017c6471, 0x01ec38e6, 0x02d4455f, 0x022a1cd4, 0x0229ff92, 0x01507cf1, 0x016e68b4, 0x0180eebe, 0x000c062d}}}, + {X: Field{[10]uint32{0x0020055f, 0x020436d2, 0x02d20bea, 0x01028a9e, 0x031ecf38, 0x02b9d9fd, 0x024e4261, 0x03f5eedf, 0x02640b93, 0x00309754}}, Y: Field{[10]uint32{0x025ad684, 0x027a3891, 0x03524c34, 0x03b0e851, 0x02bf331a, 0x02d23b4c, 0x01fffbce, 0x00ac3e8a, 0x00c76e3f, 0x003e8572}}}, + {X: Field{[10]uint32{0x0178f92b, 0x018afd7a, 0x032f2ccc, 0x01de22d7, 0x03283168, 0x02cb61ce, 0x03224dcc, 0x02feb6eb, 0x02eb7e4c, 0x00342e5c}}, Y: Field{[10]uint32{0x03ab8e3b, 0x0390837d, 0x03f56e94, 0x00c61082, 0x0275610b, 0x008f9e1e, 0x03bcb4cf, 0x01614aab, 0x00a1606a, 0x003bd74f}}}, + {X: Field{[10]uint32{0x030a2d07, 0x02010ac6, 0x014ab56c, 0x0146ef0a, 0x02d393e8, 0x02604cad, 0x008791ab, 0x0111e591, 0x00835856, 0x003e2d13}}, Y: Field{[10]uint32{0x0070a27c, 0x007b7fba, 0x00ed0b8e, 0x000756ec, 0x022dbe0c, 0x03239d93, 0x0051362f, 0x0102fba6, 0x02bf0420, 0x0030a090}}}, + {X: Field{[10]uint32{0x025666b7, 0x02df20f6, 0x02d368ac, 0x00641469, 0x005d9424, 0x00bf448d, 0x0010adc1, 0x02ab78e5, 0x01016f72, 0x0039f2e2}}, Y: Field{[10]uint32{0x02b21697, 0x01070d75, 0x00f63953, 0x02032c3e, 0x03f0c87e, 0x00e8595b, 0x014ee6c5, 0x03675fbf, 0x012246b6, 0x00378d9d}}}, + {X: Field{[10]uint32{0x0279d87f, 0x031d0930, 0x02167fb2, 0x03925733, 0x01f40f93, 0x01317abd, 0x02894786, 0x03d2aa4b, 0x028f14e3, 0x00022c84}}, Y: Field{[10]uint32{0x00f5d246, 0x02c39243, 0x00c11cbe, 0x0356e0c1, 0x02699926, 0x020c0c0f, 0x0012068a, 0x02d2c406, 0x004af469, 0x0039fb4e}}}, + {X: Field{[10]uint32{0x013b4afb, 0x01023d42, 0x00317658, 0x0075e17a, 0x001f3f63, 0x02d6cc7d, 0x036a5f3a, 0x035618e2, 0x01db3cbc, 0x003cd36d}}, Y: Field{[10]uint32{0x003dd3d9, 0x00c3f543, 0x02f2d56e, 0x018d3263, 0x005bf112, 0x03ff06b1, 0x031a1c74, 0x02119be8, 0x0372bb2c, 0x0037f39c}}}, + {X: Field{[10]uint32{0x00aabdb8, 0x017570bb, 0x01c86a96, 0x03937494, 0x0110b4fe, 0x03294cee, 0x00a48eab, 0x035a176b, 0x0209a445, 0x0030da27}}, Y: Field{[10]uint32{0x0279e3f4, 0x007c8bc5, 0x017a155c, 0x01f8e964, 0x03d62e18, 0x0101d747, 0x03efbe4f, 0x00feef0c, 0x005a6a26, 0x001e0134}}}, + {X: Field{[10]uint32{0x03005cbc, 0x022832cf, 0x00a78d70, 0x0128ad1f, 0x03f1e47d, 0x0025624b, 0x0266d626, 0x0284341e, 0x01ecf776, 0x001ffe65}}, Y: Field{[10]uint32{0x026ea90d, 0x0317ab32, 0x019f5cd5, 0x0343a4a6, 0x000e3911, 0x01b420a2, 0x00a4d115, 0x0390c337, 0x03745f17, 0x003b7371}}}, + {X: Field{[10]uint32{0x027d4d27, 0x0094fb10, 0x028e41c0, 0x035873f2, 0x010db78b, 0x0108faed, 0x03183512, 0x012fe5a6, 0x02626223, 0x000d98a8}}, Y: Field{[10]uint32{0x002e1b09, 0x032aeb07, 0x0199fc41, 0x026de6d2, 0x03d550ef, 0x032b28da, 0x000f671c, 0x039a703d, 0x00420f07, 0x00222988}}}, + {X: Field{[10]uint32{0x0354e8d1, 0x00ed050f, 0x03951176, 0x03a45852, 0x00b6b4eb, 0x01281ce2, 0x00e66ee2, 0x0310ba5c, 0x002e06d9, 0x000b049f}}, Y: Field{[10]uint32{0x03dd6629, 0x01672743, 0x0193aaae, 0x008d808b, 0x00856be0, 0x012b6b8c, 0x0226c8ff, 0x02b7eabe, 0x02b8dacb, 0x00291dcf}}}, + {X: Field{[10]uint32{0x02c17802, 0x03594552, 0x02cb37f6, 0x002e33e6, 0x02b7dfcb, 0x03f8c2df, 0x014863a9, 0x00587ff6, 0x03a6116f, 0x0031083f}}, Y: Field{[10]uint32{0x010a028c, 0x02c50ef9, 0x03bc0079, 0x025cbba3, 0x017fd76d, 0x017b6a30, 0x019e9cf9, 0x023db212, 0x029c25c6, 0x0039b311}}}, + {X: Field{[10]uint32{0x02e3de0d, 0x01de11fa, 0x0169b50c, 0x029f9ff2, 0x0034d386, 0x00c85d1a, 0x002f06fd, 0x010f7563, 0x03432203, 0x001de259}}, Y: Field{[10]uint32{0x01fd9369, 0x01529348, 0x021f8570, 0x016589e4, 0x00cd9067, 0x00a7a4aa, 0x00bcd7d6, 0x037365c4, 0x019e4408, 0x0010d435}}}, + {X: Field{[10]uint32{0x009f5827, 0x009c4e4d, 0x03c83dc1, 0x023c644c, 0x03714768, 0x00dbfc3d, 0x0334f9b6, 0x0372d00c, 0x002c1a14, 0x0033dfa9}}, Y: Field{[10]uint32{0x019e6d9d, 0x02547776, 0x00a29f8e, 0x02259918, 0x020ad1a6, 0x025792a9, 0x01c28468, 0x03e7744e, 0x0080166b, 0x002e700b}}}, + {X: Field{[10]uint32{0x0273a91f, 0x0057e969, 0x036309d8, 0x0211fdd4, 0x02417b1c, 0x00f27e5b, 0x028ab1b3, 0x02af76b6, 0x0039ab1f, 0x00345e4d}}, Y: Field{[10]uint32{0x02d3b3e0, 0x003473f3, 0x0105f9bc, 0x03496903, 0x03b429ad, 0x02699f43, 0x019f6f7f, 0x0106c8ec, 0x02593b59, 0x002b04f5}}}, + {X: Field{[10]uint32{0x0292b420, 0x0193c0a7, 0x0026be98, 0x01dd29d0, 0x02547225, 0x004cf727, 0x02f58630, 0x0379c314, 0x00d6727d, 0x002ec55a}}, Y: Field{[10]uint32{0x02af3992, 0x01c32548, 0x02fe70b1, 0x00af856a, 0x009e137d, 0x03bb8a70, 0x02adf80c, 0x01d31b31, 0x0356268d, 0x002d5951}}}, + {X: Field{[10]uint32{0x03877dcc, 0x037a9eb6, 0x0020535c, 0x00b5de37, 0x03ce07c4, 0x00c6ea4f, 0x00681772, 0x02968e9d, 0x02d783e8, 0x001cca44}}, Y: Field{[10]uint32{0x03df80a2, 0x01e3239d, 0x01bab06f, 0x034ffb4f, 0x011664f5, 0x0271ea51, 0x00ffd7c2, 0x02348f9a, 0x03881b12, 0x0034d2e0}}}, + {X: Field{[10]uint32{0x0297074c, 0x011a231c, 0x00afa908, 0x03748941, 0x034927b6, 0x01a134ed, 0x03e18651, 0x00cba0b0, 0x0371fb85, 0x0031d3c3}}, Y: Field{[10]uint32{0x01006ac1, 0x027c69ef, 0x0006a53a, 0x0350440a, 0x0235984b, 0x0341031b, 0x03e5a92d, 0x005e3a2f, 0x0261c0bd, 0x0027697a}}}, + {X: Field{[10]uint32{0x023283b0, 0x032f1a27, 0x00aac91f, 0x004cf25c, 0x031785a6, 0x00c18366, 0x00e9e494, 0x01683169, 0x01398bda, 0x002f53ea}}, Y: Field{[10]uint32{0x030e433a, 0x02973680, 0x0295c5d2, 0x02efc537, 0x02e79cfd, 0x032eb035, 0x01be1cac, 0x012d2516, 0x03edb661, 0x0018c753}}}, + {X: Field{[10]uint32{0x0341cc8f, 0x01971928, 0x03a72f24, 0x01e5ee26, 0x03e9bc2d, 0x0172daf4, 0x003e0c81, 0x004f4c92, 0x0062733f, 0x0027e995}}, Y: Field{[10]uint32{0x0212db04, 0x0280b89a, 0x0313010f, 0x03f0bc53, 0x01443505, 0x01289c54, 0x00ada32c, 0x02c635d2, 0x005bafc5, 0x001c147f}}}, + {X: Field{[10]uint32{0x035e31aa, 0x0101d130, 0x03d4a6cd, 0x03f8b07a, 0x03715168, 0x036f94ef, 0x02434a9d, 0x02fc7a05, 0x037dab3d, 0x003aba9b}}, Y: Field{[10]uint32{0x0384d61d, 0x0069eae5, 0x01e6a76a, 0x02c07dc2, 0x01a594b9, 0x03d2ea41, 0x0080619f, 0x00ae5b08, 0x02c24f20, 0x002e5a58}}}, + {X: Field{[10]uint32{0x0317a2fc, 0x01eff14e, 0x007516b9, 0x022925fe, 0x039a117c, 0x02e38954, 0x03e6d5b7, 0x01d413cc, 0x02b63b94, 0x002cf7de}}, Y: Field{[10]uint32{0x01758b9b, 0x006ef127, 0x025b5ec5, 0x03aa454a, 0x01f11f00, 0x0069d677, 0x03a62650, 0x039b3b5b, 0x0100a35a, 0x001cb7dd}}}, + {X: Field{[10]uint32{0x03281bbf, 0x0346b1b0, 0x017fa3a8, 0x0025c990, 0x034341df, 0x01438a53, 0x0219be99, 0x0122b915, 0x02cc46da, 0x003be1d7}}, Y: Field{[10]uint32{0x031c72f5, 0x010aecdf, 0x01bc28a6, 0x030ae7a3, 0x0351ced2, 0x00c1b261, 0x010eb6e8, 0x0016db5b, 0x0204af4c, 0x001eae78}}}, + {X: Field{[10]uint32{0x00024fdc, 0x01bcdb1c, 0x014e7fc2, 0x015d32fc, 0x033d7487, 0x03f29422, 0x002f234a, 0x0228e942, 0x0046576a, 0x001d30f1}}, Y: Field{[10]uint32{0x00136506, 0x03fa3877, 0x02ae88c4, 0x02725293, 0x03b6ccac, 0x027628c1, 0x01d2afbf, 0x01bea1cb, 0x01164ddb, 0x001cf55e}}}, + {X: Field{[10]uint32{0x00f39274, 0x00e11b43, 0x00e1acf3, 0x02096999, 0x00c06b71, 0x00ee8bc6, 0x00204933, 0x00b8f9b0, 0x032c409f, 0x00256712}}, Y: Field{[10]uint32{0x009aad47, 0x010bda0b, 0x015d945f, 0x027c68e6, 0x01d31991, 0x03716fb7, 0x03cd3980, 0x018a7edc, 0x035c7401, 0x0005f2ac}}}, + {X: Field{[10]uint32{0x009175fb, 0x01e6a6db, 0x00d69a94, 0x02f24bed, 0x03f67c24, 0x01ff7ead, 0x013b53c6, 0x014c4c65, 0x01d69419, 0x001013c3}}, Y: Field{[10]uint32{0x024d87b3, 0x0245ef7c, 0x01570147, 0x01e61bbf, 0x037e7d3e, 0x0350ac0d, 0x01560851, 0x01234eac, 0x01e7f40a, 0x00215f1d}}}, + {X: Field{[10]uint32{0x00e82075, 0x031248db, 0x03566807, 0x03bc05c2, 0x032db4ec, 0x0021504d, 0x01f4d5ab, 0x003d694f, 0x0111233b, 0x000f8101}}, Y: Field{[10]uint32{0x000df3d3, 0x000e09d8, 0x00e02b96, 0x03806de4, 0x021fda08, 0x019d4ec8, 0x0235ebf5, 0x00e10dde, 0x0271dd44, 0x003e4cdc}}}, + {X: Field{[10]uint32{0x00d77e6e, 0x01337c8b, 0x03bd3e04, 0x00ae5211, 0x00ecc869, 0x01ef6b01, 0x03993e74, 0x0370f87d, 0x005310df, 0x00250baa}}, Y: Field{[10]uint32{0x02a155e5, 0x039892e7, 0x00e51e02, 0x03e950a3, 0x01f33e9a, 0x023106c7, 0x0110bbe5, 0x02dba6d1, 0x03c8e688, 0x002efcbd}}}, + {X: Field{[10]uint32{0x0103b532, 0x01b3a873, 0x02c0a3fe, 0x0247842c, 0x01dce217, 0x03406028, 0x01938097, 0x0297ee15, 0x02749883, 0x000795de}}, Y: Field{[10]uint32{0x0041c003, 0x005fb0eb, 0x01790194, 0x004b5773, 0x007b5756, 0x009e3a1e, 0x02530007, 0x0178576e, 0x022f856f, 0x002851d9}}}, + {X: Field{[10]uint32{0x03feaa5a, 0x01cb13db, 0x014c8ae4, 0x03f9f156, 0x037a05fb, 0x001ff928, 0x02e9dfa6, 0x01ed9084, 0x015a8a23, 0x003af276}}, Y: Field{[10]uint32{0x03f1162a, 0x011e55f9, 0x03c05b17, 0x0361ad2b, 0x038fec2f, 0x03e2d234, 0x015fb458, 0x0291f33c, 0x01c0e311, 0x000e501b}}}, + {X: Field{[10]uint32{0x03cac063, 0x00febc18, 0x00475277, 0x00dc7ecb, 0x01b90816, 0x02125862, 0x023d2280, 0x03f08084, 0x03601afd, 0x0031e3ab}}, Y: Field{[10]uint32{0x02b42de7, 0x020ecfcf, 0x029c76df, 0x033db07f, 0x01bacb42, 0x01b4e5be, 0x02e84c51, 0x00b7177d, 0x01b1e0c2, 0x000254c9}}}, + {X: Field{[10]uint32{0x036d34a0, 0x01a173f7, 0x01db8752, 0x01a80d5c, 0x004f2e53, 0x005f09e6, 0x00a3d0e1, 0x00134ad1, 0x0319a1d5, 0x002d6461}}, Y: Field{[10]uint32{0x00184abe, 0x013a6986, 0x02a356d5, 0x02c9798b, 0x0016beac, 0x03226414, 0x029828aa, 0x02df23e8, 0x00cb585c, 0x0026c07a}}}, + {X: Field{[10]uint32{0x020042cd, 0x0325e3a3, 0x01584bda, 0x0115297a, 0x02454f10, 0x031bdd6d, 0x0107dfdc, 0x0327464a, 0x033eb59f, 0x0021c1a9}}, Y: Field{[10]uint32{0x03dc3a49, 0x024a1b56, 0x001ce710, 0x037478d3, 0x004265e2, 0x02daa1fa, 0x028405a2, 0x01e35bd4, 0x03566f1f, 0x0022c6d7}}}, + {X: Field{[10]uint32{0x0312d6ca, 0x0154a741, 0x0230ae64, 0x0108e888, 0x00793e56, 0x01b8ab41, 0x00a92890, 0x012fedbd, 0x016e4ddb, 0x0024fa49}}, Y: Field{[10]uint32{0x02afdcea, 0x01aa3b5b, 0x01cd6975, 0x011e429d, 0x03d874f2, 0x0038e626, 0x000ea62f, 0x037fb0d9, 0x02dbd9b3, 0x0020ec90}}}, + {X: Field{[10]uint32{0x022ac295, 0x031bfe7a, 0x0127fe9a, 0x02fd62ad, 0x03a24fff, 0x00755806, 0x0353956a, 0x03ce6f2c, 0x01af8702, 0x000b6b52}}, Y: Field{[10]uint32{0x03e4675b, 0x00e98949, 0x002fe277, 0x00450370, 0x00ed4036, 0x032b3a30, 0x000704e2, 0x001d8957, 0x00b8e604, 0x002d6bda}}}, + {X: Field{[10]uint32{0x036950a0, 0x00431513, 0x014f7597, 0x0193d0ec, 0x0086a2c3, 0x03af8ccb, 0x01627195, 0x00be9152, 0x00994da4, 0x0017ff06}}, Y: Field{[10]uint32{0x02c9bb88, 0x00c6b570, 0x0363f043, 0x00be6ea7, 0x014542ad, 0x036c14f3, 0x00e61419, 0x017ea888, 0x00a87981, 0x0008bab0}}}, + {X: Field{[10]uint32{0x001c51ba, 0x02982ff5, 0x02b6e69f, 0x02739b98, 0x00324c63, 0x00aed6b4, 0x0221bb8a, 0x029e6713, 0x01bb1832, 0x001c6f82}}, Y: Field{[10]uint32{0x00dda472, 0x03c8e355, 0x01656e4f, 0x03730578, 0x01950588, 0x0153ac92, 0x0040767b, 0x016e3ca3, 0x03c5719a, 0x0031489f}}}, + {X: Field{[10]uint32{0x02587212, 0x0303b59a, 0x002770ba, 0x0359115a, 0x0056d661, 0x037caeb1, 0x00a3cb37, 0x0267c299, 0x0305f927, 0x00013e50}}, Y: Field{[10]uint32{0x03c054ab, 0x007f04c4, 0x03344051, 0x01b5b403, 0x026baf79, 0x0363475f, 0x00ddc7ca, 0x020f5ae5, 0x011fbd86, 0x0013121a}}}, + {X: Field{[10]uint32{0x00f0ab81, 0x021ace98, 0x033bc54b, 0x02338b1a, 0x02b3aeb3, 0x017d8614, 0x024fc096, 0x0248fb98, 0x028b6fc2, 0x00157be1}}, Y: Field{[10]uint32{0x0222efab, 0x039b9e45, 0x01a0e72c, 0x037c8b70, 0x0376cff6, 0x0198147e, 0x014d0adc, 0x02d3314d, 0x02eaab16, 0x003b0662}}}, + {X: Field{[10]uint32{0x00fdab68, 0x0330d55d, 0x022790cb, 0x02f08d90, 0x00a357f6, 0x01028e56, 0x020953ed, 0x0276fc39, 0x019046e1, 0x0009ab55}}, Y: Field{[10]uint32{0x02795508, 0x03ecfc3e, 0x025e2184, 0x039d36f0, 0x00e5bb77, 0x002f1a25, 0x03c6a746, 0x00870154, 0x01ef9067, 0x002bdbf1}}}, + {X: Field{[10]uint32{0x0037312a, 0x03307c3b, 0x0150384f, 0x01a63ba3, 0x02bc051a, 0x00e406fc, 0x000b0ae4, 0x01c554e7, 0x003ab1b0, 0x001ce7ed}}, Y: Field{[10]uint32{0x006b7e28, 0x00f9d8db, 0x019e7a19, 0x02e1302d, 0x01ff90d6, 0x0379aad3, 0x00abe331, 0x008898b5, 0x03043c88, 0x0030488d}}}, + {X: Field{[10]uint32{0x0216771d, 0x026eb519, 0x02c6cc29, 0x0196a74c, 0x03d5a109, 0x00ba4497, 0x03422f82, 0x03d76a9e, 0x009d508c, 0x00085119}}, Y: Field{[10]uint32{0x001ca76e, 0x03348a74, 0x03a1a74a, 0x032b6776, 0x0376ddea, 0x01419f3a, 0x03ef96b3, 0x031117c0, 0x038c0e33, 0x000454c5}}}, + {X: Field{[10]uint32{0x03b97072, 0x036438ee, 0x03580ec8, 0x038d55b4, 0x014d5577, 0x014209e3, 0x02a85175, 0x023a3c5b, 0x023c16ee, 0x0018b311}}, Y: Field{[10]uint32{0x026a891e, 0x0218ffa2, 0x033fcb81, 0x03e8be6a, 0x0356b48e, 0x0244ce56, 0x02a6c91c, 0x03140211, 0x0043e299, 0x00334a52}}}, + {X: Field{[10]uint32{0x03ef9c21, 0x03ab0cd4, 0x031c9707, 0x0376e77f, 0x004317e1, 0x0103dd33, 0x00fdb006, 0x03c64345, 0x030133ed, 0x00004658}}, Y: Field{[10]uint32{0x0020494c, 0x00db4855, 0x020c8031, 0x0065841a, 0x00caa4f5, 0x03681c0d, 0x03851876, 0x03b9b5d0, 0x00e5e3a3, 0x003c5aad}}}, + {X: Field{[10]uint32{0x0289adcd, 0x0298c648, 0x03c162b4, 0x00d0099c, 0x03777d4e, 0x025554a1, 0x0315baed, 0x03e4fca3, 0x03863fda, 0x002c942f}}, Y: Field{[10]uint32{0x01b3d2c1, 0x0356b04e, 0x016f828a, 0x03bce7eb, 0x01da1e06, 0x02d0357e, 0x013543f6, 0x00f4a21f, 0x01bede34, 0x000a5701}}}, + {X: Field{[10]uint32{0x003e7c6c, 0x03d1bd92, 0x03e696f4, 0x002053a1, 0x01027ef0, 0x00b0666c, 0x010945a7, 0x011ce67c, 0x03bcae58, 0x0024e902}}, Y: Field{[10]uint32{0x02858a09, 0x03a32f2a, 0x0217389f, 0x03802bd9, 0x03f088e2, 0x0249a192, 0x03289a45, 0x0259d3d7, 0x00c02980, 0x00207b5c}}}, + {X: Field{[10]uint32{0x020978cc, 0x0230303d, 0x01f90eff, 0x03753eaa, 0x0019ff7d, 0x03a60978, 0x03e76b34, 0x0275d6c5, 0x021b4e90, 0x002e799d}}, Y: Field{[10]uint32{0x035aa117, 0x01e4241e, 0x0211b762, 0x00ef2634, 0x0165c75e, 0x03cb215d, 0x001b70fb, 0x0049c222, 0x01035fb9, 0x00190305}}}, + {X: Field{[10]uint32{0x00cfec24, 0x010d8344, 0x039beebf, 0x0146c08a, 0x00ae4547, 0x016cb702, 0x03e260cf, 0x026e91a1, 0x0012fe3d, 0x0013708a}}, Y: Field{[10]uint32{0x039a90d1, 0x00b7d7df, 0x01c4305b, 0x00b90c0c, 0x0227f082, 0x0135a015, 0x02e986da, 0x0204d554, 0x034a5685, 0x00270d7b}}}, + {X: Field{[10]uint32{0x009deadf, 0x020a1b13, 0x03540934, 0x00948d98, 0x03e198e2, 0x020f4b4e, 0x02b94ba6, 0x03e70901, 0x02b31127, 0x0010c49d}}, Y: Field{[10]uint32{0x001efb3e, 0x00e312b8, 0x03743139, 0x03237756, 0x02c26d39, 0x037232fb, 0x006280dd, 0x037e192d, 0x0184c7f1, 0x0008997b}}}, + {X: Field{[10]uint32{0x0283632a, 0x0042b2cd, 0x00360aa8, 0x00dae1e2, 0x03328f17, 0x033eaa45, 0x00b81d76, 0x0163d0ad, 0x02c3c990, 0x001d716d}}, Y: Field{[10]uint32{0x028f719d, 0x036d7142, 0x00464aff, 0x006ea03c, 0x014a5aaa, 0x026a243c, 0x02309ef4, 0x01edfdc2, 0x009fdef1, 0x001527c0}}}, + {X: Field{[10]uint32{0x02a827d7, 0x03be6773, 0x0357c815, 0x03a44ba9, 0x0326d4d4, 0x02920077, 0x02b1a377, 0x03dd0a5d, 0x0027205a, 0x000f2400}}, Y: Field{[10]uint32{0x00649cc0, 0x015e2c42, 0x0184c83c, 0x01183f9c, 0x02007a24, 0x00ce76ac, 0x007fa7c0, 0x029f788e, 0x03f337ec, 0x00038a33}}}, + {X: Field{[10]uint32{0x0310d9ff, 0x01ebaacc, 0x0297f3a8, 0x02f4ea3a, 0x00c89637, 0x01708fcc, 0x03a8ab0d, 0x02e57c27, 0x031a3676, 0x0015983c}}, Y: Field{[10]uint32{0x011c568b, 0x035e1b2c, 0x03839efb, 0x01b0ae8f, 0x03955bb7, 0x01366bfc, 0x0092ff3e, 0x032829f6, 0x00d66bc4, 0x003581a7}}}, + {X: Field{[10]uint32{0x033babe9, 0x01e1bfd7, 0x02f618cd, 0x0351e6bd, 0x00e6733c, 0x02dc75de, 0x03979ce5, 0x037219fd, 0x00a41b45, 0x000ae2da}}, Y: Field{[10]uint32{0x01e4097a, 0x0314b163, 0x021ab40a, 0x0311b050, 0x03840f89, 0x02b66824, 0x00923f63, 0x006ccf08, 0x0244d544, 0x001f20c4}}}, + {X: Field{[10]uint32{0x01c18610, 0x00a73aa2, 0x01290442, 0x012cc0fa, 0x001d369d, 0x01acff28, 0x03578869, 0x02f3712c, 0x004db817, 0x00218d40}}, Y: Field{[10]uint32{0x02b909e2, 0x03b0ca5b, 0x0300c4c3, 0x00487f12, 0x007e9f35, 0x00563687, 0x0384cc05, 0x01b9af8b, 0x02402bd4, 0x00091cb6}}}, + {X: Field{[10]uint32{0x00cb28d0, 0x01a88d22, 0x03b693a5, 0x000f7193, 0x01b0d39d, 0x01b87b33, 0x03afbde4, 0x013e5e6d, 0x026b6eeb, 0x001b2646}}, Y: Field{[10]uint32{0x01c95620, 0x00467bd9, 0x013722bc, 0x00f93350, 0x030e0b75, 0x00fad11c, 0x0277188d, 0x018d4140, 0x034fc2cd, 0x0007977d}}}, + {X: Field{[10]uint32{0x0341570c, 0x02865fa7, 0x03a0ca52, 0x029258bf, 0x00554569, 0x0248a22e, 0x0298ed7e, 0x033246e5, 0x019d4283, 0x002b36b0}}, Y: Field{[10]uint32{0x02d7b66e, 0x00e94831, 0x01afeea0, 0x029be5f6, 0x02451d41, 0x01c5d0ae, 0x030c6bfe, 0x021507d4, 0x0187523c, 0x003e94db}}}, + {X: Field{[10]uint32{0x025fc6c0, 0x00a96591, 0x00abba3e, 0x03c2bad4, 0x0385bba7, 0x034a29f2, 0x00b107c3, 0x032ee552, 0x03a3f696, 0x002c525a}}, Y: Field{[10]uint32{0x006318ad, 0x00bbcf72, 0x0057a857, 0x02effd73, 0x03487740, 0x03a01e09, 0x03c8f8ea, 0x0129bb83, 0x00d5727a, 0x001dfedb}}}, + {X: Field{[10]uint32{0x01b09126, 0x01500d36, 0x03ec94d8, 0x01e2b6c1, 0x02c2c9f8, 0x01b44a39, 0x00cab31d, 0x03a7283f, 0x01b56098, 0x000ff65f}}, Y: Field{[10]uint32{0x022b4578, 0x01007cc8, 0x014a22c0, 0x012c09f8, 0x0324e37d, 0x022c91bd, 0x00451273, 0x038dd03f, 0x00361494, 0x0006f5df}}}, + {X: Field{[10]uint32{0x02aefce9, 0x00ab8bb0, 0x03338898, 0x03feb5e4, 0x02eb174c, 0x00271f3e, 0x036d5c44, 0x01a3b551, 0x0055f2a4, 0x0017a37e}}, Y: Field{[10]uint32{0x02a6845f, 0x02e32c4d, 0x0357a17e, 0x03b311bc, 0x01d50da8, 0x021c0610, 0x01771843, 0x032a2282, 0x02823bb8, 0x0014b9ce}}}, + {X: Field{[10]uint32{0x024672bd, 0x005021b1, 0x006613f8, 0x0076e503, 0x0062021a, 0x003ee4cb, 0x01e6fb0a, 0x032da7a5, 0x02eb1417, 0x00267c41}}, Y: Field{[10]uint32{0x03a6501d, 0x02097ffd, 0x015337e9, 0x010f4613, 0x01e484d8, 0x00709ff9, 0x02926e6a, 0x0000441a, 0x0038e1e7, 0x00279fec}}}, + {X: Field{[10]uint32{0x0251ef8c, 0x00c18e9f, 0x031f7ac4, 0x03f52971, 0x0068bb14, 0x03fc3882, 0x011d6864, 0x0361fff4, 0x00985526, 0x001a1bf1}}, Y: Field{[10]uint32{0x00588e5b, 0x01824651, 0x0224422f, 0x017d6cf5, 0x024137dc, 0x0383c8ff, 0x016dd6b2, 0x02be16f2, 0x0132d793, 0x00074a3d}}}, + {X: Field{[10]uint32{0x03f6b83d, 0x03e5af2f, 0x03b2093d, 0x0001582f, 0x00e4c836, 0x00dc3e19, 0x00f3a85b, 0x002f2a45, 0x0356cc45, 0x0033e977}}, Y: Field{[10]uint32{0x0137604b, 0x0017cee3, 0x0203f78b, 0x03c09938, 0x0261cf56, 0x023e05c1, 0x01d96c74, 0x03ff246c, 0x0246bab7, 0x0033bee6}}}, + {X: Field{[10]uint32{0x013e404e, 0x0022791c, 0x003e8b39, 0x01aa58aa, 0x02893760, 0x00d39f2f, 0x0241eed5, 0x025a4fdd, 0x034c3fbb, 0x002646da}}, Y: Field{[10]uint32{0x023f8d3e, 0x02d83baf, 0x03c7113b, 0x01e75611, 0x02098dab, 0x012e4ae2, 0x038a0a2f, 0x019a234e, 0x026bbe55, 0x000fffae}}}, + {X: Field{[10]uint32{0x03c8c0d7, 0x006ee484, 0x00bcd689, 0x038d5a4e, 0x032955c4, 0x0089b144, 0x021fa14f, 0x00487162, 0x01d3b9b0, 0x00344131}}, Y: Field{[10]uint32{0x00caa6e9, 0x003415ac, 0x0196a3d9, 0x00028244, 0x00091ddb, 0x0171ddce, 0x02cea218, 0x01f3f40c, 0x019a814d, 0x0002320e}}}, + {X: Field{[10]uint32{0x0355dfce, 0x00c652f8, 0x031bcad9, 0x03df1d2c, 0x03415a06, 0x0065093a, 0x01c9a407, 0x00d921d2, 0x0053a45c, 0x001d864a}}, Y: Field{[10]uint32{0x024ad2fc, 0x03cdd14c, 0x01ecf84e, 0x00de451d, 0x02b5517b, 0x00984f18, 0x02bc9345, 0x01404b5f, 0x02873cbb, 0x000c44e4}}}, + {X: Field{[10]uint32{0x01070725, 0x027ec6b9, 0x016c8805, 0x02e6069f, 0x0210c7f9, 0x014424ec, 0x01b1de5c, 0x0307d301, 0x00a80509, 0x0005ccc1}}, Y: Field{[10]uint32{0x001d353e, 0x0087e24d, 0x013d5f9e, 0x022ce630, 0x02800cdc, 0x01a48a5e, 0x03db2e9c, 0x020e5150, 0x0198c8e0, 0x0010efef}}}, + {X: Field{[10]uint32{0x03da104a, 0x02b94542, 0x014c46b7, 0x02a02c53, 0x019eacca, 0x0391bf25, 0x03f5b6a9, 0x01545041, 0x03e1d28c, 0x002b2815}}, Y: Field{[10]uint32{0x02bf6ce8, 0x02e90cf9, 0x017024dc, 0x03348fdb, 0x00cb00e6, 0x012dcae3, 0x0095be9a, 0x01dbfc60, 0x031770bd, 0x00385fc5}}}, + {X: Field{[10]uint32{0x0076dbaa, 0x0212274d, 0x02b04b7e, 0x017d839b, 0x0385b294, 0x00029f70, 0x00a73859, 0x023ec70c, 0x0150e009, 0x003ec809}}, Y: Field{[10]uint32{0x039a0f28, 0x013d597b, 0x0099645e, 0x008b7f0f, 0x03cedda9, 0x01fd1cf3, 0x03bc98c7, 0x031a36f4, 0x00203f72, 0x0006abe1}}}, + {X: Field{[10]uint32{0x011ae7ac, 0x021e6f38, 0x0101c08f, 0x026108b1, 0x03af1aa2, 0x00a562f8, 0x0366c66c, 0x01eae396, 0x010ca022, 0x003a56dc}}, Y: Field{[10]uint32{0x0397cf19, 0x00975427, 0x030a2c55, 0x01a36728, 0x00c745a9, 0x03b7407e, 0x0109022c, 0x03d2df6a, 0x00e1ab5c, 0x0039917d}}}, + {X: Field{[10]uint32{0x0044770a, 0x019bcf7a, 0x02a15147, 0x01b339df, 0x03ab136c, 0x033b517f, 0x01cf203c, 0x02ffe581, 0x025c3589, 0x001b6d14}}, Y: Field{[10]uint32{0x02658c81, 0x035a121c, 0x00903eb5, 0x02ecf167, 0x03799cd7, 0x00b01a62, 0x031d2958, 0x01612c8c, 0x0003f5f7, 0x0039adfd}}}, + {X: Field{[10]uint32{0x01085eb3, 0x01cc4ccd, 0x022c8fbe, 0x0229a592, 0x01169043, 0x0136e711, 0x03c2959e, 0x03ab9c57, 0x029e49da, 0x002224ea}}, Y: Field{[10]uint32{0x01987cdd, 0x031c2539, 0x00c10d01, 0x0316ebb2, 0x01bd15ce, 0x0197d8b2, 0x037a4b02, 0x00fced8d, 0x003eae80, 0x001c3ef6}}}, + {X: Field{[10]uint32{0x020207a0, 0x02505363, 0x01fd56e3, 0x03123ceb, 0x012cd9e2, 0x02a9e2f2, 0x01e3ece8, 0x02336a1c, 0x02cfac6e, 0x002f95fd}}, Y: Field{[10]uint32{0x0293d5f2, 0x0083cafb, 0x03aa1581, 0x0374daec, 0x028893ee, 0x0266a9ee, 0x00d141d8, 0x03e273f7, 0x007299ab, 0x001e05c2}}}, + {X: Field{[10]uint32{0x00b34925, 0x0232d508, 0x03562671, 0x03d16a79, 0x00a2f69b, 0x0340ad75, 0x0205ddd8, 0x0044a717, 0x02d285a0, 0x0001dfe9}}, Y: Field{[10]uint32{0x026455cc, 0x0136d14c, 0x03b97ce0, 0x02643805, 0x0337a2da, 0x0303b7fa, 0x0086288e, 0x0348633a, 0x023c13a3, 0x000c56ec}}}, + {X: Field{[10]uint32{0x01f4dc03, 0x02826e34, 0x01d00b2e, 0x02b65e37, 0x02061094, 0x019ffec3, 0x00834ca7, 0x0370cd8b, 0x03fe8414, 0x000bfb5e}}, Y: Field{[10]uint32{0x00117e01, 0x0378b166, 0x00ff20a6, 0x0182db13, 0x0363332a, 0x00047186, 0x01e434f0, 0x00f4c559, 0x00f7aa0b, 0x0005397a}}}, + {X: Field{[10]uint32{0x034d66c6, 0x03ab2242, 0x026a101a, 0x010b3a3b, 0x037f8af2, 0x03c0fb8f, 0x0343df2b, 0x006e87f2, 0x00d05a87, 0x0027d30b}}, Y: Field{[10]uint32{0x02922920, 0x0316502f, 0x01acf83b, 0x03d7f0d0, 0x03d0fd7d, 0x030e1388, 0x038a2abd, 0x01e21e3f, 0x0352f242, 0x003ad087}}}, + {X: Field{[10]uint32{0x01bea647, 0x03e9f297, 0x013ce7c8, 0x022eef07, 0x0015f0a4, 0x00dce0fc, 0x0203ef6e, 0x001332dc, 0x00b6824a, 0x0014f038}}, Y: Field{[10]uint32{0x01618cf9, 0x03f4e853, 0x00e91836, 0x0178416a, 0x0313c59d, 0x03a024e5, 0x01729f9b, 0x0328694e, 0x018d9246, 0x001aa6d6}}}, + {X: Field{[10]uint32{0x0117d714, 0x00eb62ab, 0x02fd5c0a, 0x02fded3b, 0x03bb20fd, 0x00cf5a3a, 0x037bba54, 0x01ae12da, 0x0082d790, 0x0036f033}}, Y: Field{[10]uint32{0x01cd7211, 0x031d9d8b, 0x02e37a4f, 0x038a14c1, 0x008aee42, 0x039798ce, 0x001b0904, 0x00b0e9be, 0x038623ff, 0x0017af07}}}, + {X: Field{[10]uint32{0x008f5f0b, 0x002a9b49, 0x02165af2, 0x01e10314, 0x02ca93a4, 0x004c7557, 0x01a8cbb8, 0x023811ec, 0x0332a3c0, 0x001e18ab}}, Y: Field{[10]uint32{0x03fc15d8, 0x03f70ce2, 0x02684f1e, 0x00ba36a4, 0x017e8c27, 0x021ecefe, 0x0367a645, 0x00d4f228, 0x02076b10, 0x002ed7d9}}}, + {X: Field{[10]uint32{0x031049ee, 0x013032a4, 0x037524e4, 0x0326e1d4, 0x01f8238f, 0x005724ec, 0x012bad80, 0x0162ddbb, 0x01fc8001, 0x00034d5c}}, Y: Field{[10]uint32{0x02a44bc3, 0x01af1d20, 0x0315f4d2, 0x03e549af, 0x0170a9e6, 0x0056bd12, 0x00872fa9, 0x00c2aa74, 0x01e83e66, 0x00058b72}}}, + {X: Field{[10]uint32{0x00589d9b, 0x022c2de2, 0x02a26e90, 0x036a23eb, 0x03b9f531, 0x037cd613, 0x02b98e55, 0x031d6190, 0x0094cebb, 0x002a1472}}, Y: Field{[10]uint32{0x0375b422, 0x009638ec, 0x020e1151, 0x03e6d7eb, 0x011e1af1, 0x02b90ceb, 0x01f38983, 0x0307bdc7, 0x015cadfa, 0x001d1c0b}}}, + {X: Field{[10]uint32{0x0258012d, 0x0005b3b6, 0x0131e972, 0x03e407c2, 0x012d9af1, 0x036cba21, 0x0178a08c, 0x03feab82, 0x03f4012e, 0x002a4b90}}, Y: Field{[10]uint32{0x002fb668, 0x000ee574, 0x013c6bb9, 0x01ec8ef0, 0x02535c68, 0x02094825, 0x01d7bd12, 0x005c3acd, 0x009d5560, 0x00363d68}}}, + {X: Field{[10]uint32{0x03cff6bb, 0x001fed7c, 0x0024c090, 0x00a74a0f, 0x02bb29e1, 0x01d83b36, 0x02658c64, 0x01a7210b, 0x02448b43, 0x001d72bf}}, Y: Field{[10]uint32{0x0355dc39, 0x011dec42, 0x015f53c9, 0x028bee88, 0x02db1ea5, 0x00751ce2, 0x02affab5, 0x00d54c78, 0x02e243c7, 0x00328384}}}, + {X: Field{[10]uint32{0x0041d006, 0x012114e3, 0x02b56a21, 0x01ddedb9, 0x02c48c41, 0x02008ed6, 0x017a2337, 0x0167b0bc, 0x00664db9, 0x00002ac0}}, Y: Field{[10]uint32{0x035d8b31, 0x00dc5d67, 0x029b7b5d, 0x01f7adcb, 0x01e3d338, 0x0101d62b, 0x02762fb9, 0x0145a7d1, 0x02fc3554, 0x00233e78}}}, + {X: Field{[10]uint32{0x01b7ecb7, 0x02fa9427, 0x027814a1, 0x03f55cfc, 0x00f89b9a, 0x011a747c, 0x00855bf0, 0x0084d060, 0x02f82e4b, 0x0009d443}}, Y: Field{[10]uint32{0x00fb87e1, 0x01570d2b, 0x00aeb900, 0x00337b1a, 0x03b0a1b2, 0x02fa67f4, 0x02073555, 0x0130187f, 0x00e886b5, 0x00083f80}}}, + {X: Field{[10]uint32{0x01b16d3a, 0x00b23293, 0x02c1d745, 0x03b8ed66, 0x03f4a6c2, 0x02727081, 0x021405c9, 0x009dede4, 0x01a8d388, 0x001dcffd}}, Y: Field{[10]uint32{0x00a52f8e, 0x010d6fbe, 0x002848d7, 0x02bcf9cd, 0x0200f75c, 0x01cc638e, 0x00806bd8, 0x03196ebf, 0x0231f51c, 0x0033d179}}}, + {X: Field{[10]uint32{0x02f45746, 0x03311547, 0x0386fe14, 0x00dcb890, 0x034293fc, 0x03686a3b, 0x0277e359, 0x02ff0edc, 0x0098e69e, 0x000be3cb}}, Y: Field{[10]uint32{0x0168ec06, 0x032b5026, 0x02c3642c, 0x0323fba8, 0x008150a6, 0x0012aaba, 0x003e4066, 0x02ae808f, 0x03ecc4dc, 0x003e1748}}}, + {X: Field{[10]uint32{0x0277f67f, 0x020f7a58, 0x001c061a, 0x01e19369, 0x01745756, 0x018d5b39, 0x00849522, 0x03438a82, 0x00daab8d, 0x00061e2b}}, Y: Field{[10]uint32{0x01477020, 0x011596b5, 0x009bb968, 0x00a039b4, 0x03ecbcc1, 0x03e922bc, 0x0296f05b, 0x0024b2b7, 0x028d064e, 0x00104b21}}}, + {X: Field{[10]uint32{0x035618c1, 0x02312f13, 0x029c4cad, 0x003d273d, 0x02c5a17b, 0x004dcfd8, 0x004f3cdd, 0x039389fb, 0x001aeac4, 0x000233ca}}, Y: Field{[10]uint32{0x01ed5973, 0x03f61bca, 0x02625cd9, 0x036d93fe, 0x027dbf09, 0x038cc0a6, 0x023911ed, 0x03a89f36, 0x019529c9, 0x000bc5fe}}}, + {X: Field{[10]uint32{0x008939f9, 0x0081a634, 0x01ec39ea, 0x00d9c5fc, 0x02a09579, 0x0370abbf, 0x010d1913, 0x00da7976, 0x009ff165, 0x000e965f}}, Y: Field{[10]uint32{0x000a14d4, 0x018ad3ac, 0x01926da4, 0x021bd624, 0x03a7b48c, 0x00262381, 0x03464b00, 0x028b7816, 0x03b290c9, 0x00230880}}}, + {X: Field{[10]uint32{0x010ca15e, 0x013eb2e5, 0x028ac505, 0x0242eeb1, 0x03b9ceec, 0x014a40e4, 0x029c8615, 0x0043fd77, 0x0205096f, 0x00032f8c}}, Y: Field{[10]uint32{0x03ee27f4, 0x00ae51d3, 0x02bd0547, 0x00b2b785, 0x039bf7c7, 0x00580072, 0x02b48557, 0x02e84b0c, 0x006ab76a, 0x00111b2c}}}, + {X: Field{[10]uint32{0x02fed594, 0x036c1055, 0x00bd53a8, 0x00017b98, 0x011cde71, 0x019511cc, 0x0013b09e, 0x0139c061, 0x01cf0822, 0x0010c4f2}}, Y: Field{[10]uint32{0x03329a96, 0x0275cd46, 0x023317ab, 0x0352af12, 0x000e80bb, 0x02809482, 0x001021f9, 0x016a32c6, 0x019dd304, 0x0037ebcd}}}, + {X: Field{[10]uint32{0x0373c60e, 0x03c3eaaf, 0x036882bd, 0x02ac67ed, 0x011f5cbf, 0x03697fe9, 0x009651b2, 0x02b7b0b6, 0x0351f8d8, 0x0033ab4a}}, Y: Field{[10]uint32{0x02a25897, 0x01472915, 0x0221bf84, 0x029fb4b4, 0x026dd3bd, 0x02fc512b, 0x03e79322, 0x03c3a31c, 0x00806992, 0x002aca89}}}, + {X: Field{[10]uint32{0x027b79a0, 0x03c9eb92, 0x020e52d8, 0x02b67e2f, 0x0298e34d, 0x017b9bbb, 0x01164b84, 0x01d8bd91, 0x008d0848, 0x002739d7}}, Y: Field{[10]uint32{0x02a30a05, 0x00a76f26, 0x03571d0a, 0x0166e458, 0x029f6275, 0x02dd0a89, 0x017c04c8, 0x02a419ae, 0x014fe11b, 0x0038155b}}}, + {X: Field{[10]uint32{0x026741d7, 0x0002224c, 0x013a96ba, 0x020c0759, 0x0310214b, 0x0308e11e, 0x02106bf8, 0x038957e4, 0x009c621d, 0x00180912}}, Y: Field{[10]uint32{0x004ea858, 0x03638b84, 0x03aa9b1f, 0x0021989b, 0x02abf63e, 0x01ae0b97, 0x01326210, 0x000803b2, 0x032480a9, 0x0002543a}}}, + {X: Field{[10]uint32{0x0308e51d, 0x0348bb57, 0x01e11546, 0x028f1a11, 0x011f55e1, 0x001c957f, 0x02c2638c, 0x01af3501, 0x02f0108f, 0x0034f1d1}}, Y: Field{[10]uint32{0x038dfab6, 0x002f3390, 0x0165e25d, 0x0069bff0, 0x0335ed4e, 0x015fbcf6, 0x001a776c, 0x031ce799, 0x03e5d349, 0x00344936}}}, + {X: Field{[10]uint32{0x036514b8, 0x03c9c5c4, 0x00c6352c, 0x03e6f3e9, 0x01a69c69, 0x00216537, 0x03b9e11e, 0x03088be5, 0x035cd85d, 0x00287ad7}}, Y: Field{[10]uint32{0x00a15fff, 0x01429f3e, 0x03b68007, 0x01d8c094, 0x00ff5e3f, 0x03768ee8, 0x0247ddd7, 0x03805dd8, 0x0135a393, 0x0011bb4f}}}, + {X: Field{[10]uint32{0x005a8736, 0x03dd5852, 0x03639721, 0x015ae0b1, 0x00e44065, 0x0305051f, 0x025f1c61, 0x030b2fea, 0x0357fa3a, 0x000ac928}}, Y: Field{[10]uint32{0x03d73ade, 0x00cc3346, 0x0243c018, 0x017d742d, 0x01ad192a, 0x015c8751, 0x00fd7aed, 0x02b5546a, 0x01bd707a, 0x00359c86}}}, + {X: Field{[10]uint32{0x0187b2ec, 0x0293db3f, 0x03306126, 0x00f98ba7, 0x02ab6a62, 0x00bb2d06, 0x00c9cfb4, 0x0005658f, 0x01ab9dc6, 0x00264068}}, Y: Field{[10]uint32{0x00339317, 0x033363fc, 0x01730633, 0x0307b899, 0x03eb5950, 0x032d0539, 0x037a3df6, 0x035fcbff, 0x0194017c, 0x0023dd99}}}, + {X: Field{[10]uint32{0x0077e8da, 0x02e65961, 0x037634ae, 0x0386c870, 0x0328a2a4, 0x01f56320, 0x018e6003, 0x038bc787, 0x00455890, 0x000c47a1}}, Y: Field{[10]uint32{0x00ce030c, 0x016415bb, 0x00829a04, 0x009c7987, 0x01e017e9, 0x019c0ef0, 0x030dd00f, 0x015d8a86, 0x03676cc7, 0x0033d64f}}}, + {X: Field{[10]uint32{0x0283bb77, 0x023b31e7, 0x008b367a, 0x0391bfba, 0x03122d27, 0x023ebd9b, 0x00ad8b8c, 0x003db8a6, 0x02e39714, 0x002417dc}}, Y: Field{[10]uint32{0x01b65257, 0x01c529bc, 0x019b4698, 0x022a84b8, 0x022d9852, 0x02d6c94e, 0x00b94fc1, 0x03099764, 0x015dbde9, 0x00300fc5}}}, + {X: Field{[10]uint32{0x0339350c, 0x00fd56e8, 0x0085e04a, 0x00cc09f7, 0x0039eafd, 0x02672ed3, 0x00c2f021, 0x000004bf, 0x03a5d594, 0x001877dd}}, Y: Field{[10]uint32{0x01049161, 0x0189a8b6, 0x0005f684, 0x008235b7, 0x01f36640, 0x035b903d, 0x030603f2, 0x026cfdce, 0x037d00de, 0x0009f222}}}, + {X: Field{[10]uint32{0x01f18c28, 0x010aeb17, 0x021295bc, 0x0353bc09, 0x030de36d, 0x03bb01b1, 0x016af906, 0x012c7577, 0x0199886d, 0x00387e38}}, Y: Field{[10]uint32{0x01ca45a8, 0x03e2add4, 0x025e29ec, 0x02d53196, 0x0056a98d, 0x039f98d2, 0x025bc4ba, 0x03abc4a1, 0x02e9b956, 0x00140b04}}}, + {X: Field{[10]uint32{0x03b8565a, 0x02181dbe, 0x02ac19b6, 0x0151e692, 0x029180e1, 0x001133e5, 0x01fe6a77, 0x0288701f, 0x01b83804, 0x002b78bd}}, Y: Field{[10]uint32{0x03066aca, 0x006f09bb, 0x01eee375, 0x03d915c5, 0x0198a9e6, 0x017499f9, 0x00985d6f, 0x005a30c2, 0x021d07c8, 0x00343597}}}, + {X: Field{[10]uint32{0x03268187, 0x0208779b, 0x01b88ea5, 0x021685d5, 0x009f7f6b, 0x018a202e, 0x0345dd5c, 0x03e5cab0, 0x00bb0154, 0x00315608}}, Y: Field{[10]uint32{0x00613086, 0x00795af3, 0x027a2124, 0x016b605f, 0x014dc35f, 0x0285d223, 0x03b698c8, 0x02996498, 0x03ea1e6c, 0x002446c3}}}, + {X: Field{[10]uint32{0x007778b5, 0x000e719b, 0x01d089f7, 0x023054b7, 0x02128588, 0x023330b4, 0x0164352b, 0x0083d14e, 0x026e3210, 0x003a8825}}, Y: Field{[10]uint32{0x034fc18c, 0x00a7c9a7, 0x00d3959e, 0x01b37786, 0x0166f547, 0x010d0a70, 0x03dc9bd6, 0x007949aa, 0x0191cdc8, 0x003250bd}}}, + {X: Field{[10]uint32{0x007e2bf5, 0x03d37d18, 0x007079f9, 0x022a3a03, 0x02220c90, 0x0387be12, 0x0301bbd3, 0x03f9699c, 0x012d9c2d, 0x000f15d5}}, Y: Field{[10]uint32{0x031f39e3, 0x000802f9, 0x00522b9f, 0x0153b542, 0x016fd347, 0x00997fd9, 0x031a0a17, 0x018e5cf9, 0x00ffbc4a, 0x003527e8}}}, + {X: Field{[10]uint32{0x03d4e1c3, 0x02825466, 0x0071feb5, 0x002f3dfc, 0x01a3fd5c, 0x012b6859, 0x028e1339, 0x00fb0167, 0x00c6e104, 0x003c6233}}, Y: Field{[10]uint32{0x03bfdbe4, 0x021814c1, 0x021cf944, 0x010428bf, 0x03db045c, 0x0081d926, 0x02fb1908, 0x01e740b5, 0x031fe53e, 0x0017c7cd}}}, + {X: Field{[10]uint32{0x011c8c6a, 0x00d790b0, 0x013cad48, 0x028b4729, 0x01447112, 0x029efed2, 0x015a146a, 0x008cba01, 0x03d27e72, 0x00280517}}, Y: Field{[10]uint32{0x01e679cc, 0x00f9270f, 0x02cc5024, 0x02fc8b1f, 0x00ceb874, 0x001c272c, 0x00bb675f, 0x00333031, 0x00a0e5e7, 0x001ef006}}}, + {X: Field{[10]uint32{0x016ff48e, 0x00f7e03c, 0x016bd9c9, 0x0362c5d0, 0x01c17b7b, 0x02d56061, 0x03857060, 0x00454c7e, 0x01e80c22, 0x0014d003}}, Y: Field{[10]uint32{0x01a6cc6f, 0x034cf690, 0x0244c89c, 0x0082299a, 0x002df873, 0x00dbaa5c, 0x00840b6a, 0x0197c794, 0x02473ba5, 0x003848a3}}}, + {X: Field{[10]uint32{0x0264b1ac, 0x03199d33, 0x019048c6, 0x02d14ae6, 0x01cc8960, 0x03566be1, 0x00e34821, 0x00df8d43, 0x012d009d, 0x00208457}}, Y: Field{[10]uint32{0x021eb048, 0x03ee7bed, 0x02f05e75, 0x00f7a489, 0x01bffc1b, 0x02e74620, 0x02adab03, 0x00309012, 0x0209659a, 0x002637aa}}}, + {X: Field{[10]uint32{0x01fe7c3c, 0x005e2516, 0x039681fc, 0x01f00c20, 0x028669cb, 0x01437389, 0x01e6e9d4, 0x01bc7312, 0x001853d8, 0x0009cf63}}, Y: Field{[10]uint32{0x00c2ea00, 0x01b44040, 0x008af2e1, 0x007dfdfe, 0x0314974e, 0x007beeb6, 0x00c25a25, 0x009b205d, 0x01aa8ad0, 0x001b154c}}}, + {X: Field{[10]uint32{0x025ee319, 0x019d46ee, 0x01bfe403, 0x032d6c16, 0x0041e68c, 0x03d0a3f3, 0x0233f4fb, 0x020645c3, 0x0216a7e3, 0x0000185b}}, Y: Field{[10]uint32{0x0106748a, 0x012c393d, 0x032eaba8, 0x031cfa2b, 0x007c7dc3, 0x032a64dd, 0x01173f5c, 0x00fbf6e6, 0x0121182a, 0x001f6f2b}}}, + {X: Field{[10]uint32{0x00b82812, 0x00df0058, 0x0277452c, 0x00409d7d, 0x00dc5666, 0x000cfc84, 0x0373402d, 0x0260487d, 0x016a76a3, 0x0019d862}}, Y: Field{[10]uint32{0x03302c9b, 0x001e0b99, 0x007ebe76, 0x03c688d8, 0x0111848d, 0x038b2339, 0x011184c8, 0x024e7e02, 0x01cf1b40, 0x001ff740}}}, + {X: Field{[10]uint32{0x01e508b9, 0x029b53e2, 0x01fe6dd4, 0x008248d1, 0x00bd6eb0, 0x005dedac, 0x0135bd9e, 0x00176849, 0x03aae976, 0x001dfdea}}, Y: Field{[10]uint32{0x007f0b9e, 0x0392d973, 0x01231889, 0x03e84358, 0x020dbf20, 0x02df24cc, 0x035fd19b, 0x020c37f3, 0x016ccc7b, 0x003ec126}}}, + {X: Field{[10]uint32{0x00bce311, 0x0232a8e6, 0x005a4a0d, 0x02299ec3, 0x01bc4b4a, 0x0007e73c, 0x02973785, 0x00aee8f6, 0x03173a2e, 0x00304bd9}}, Y: Field{[10]uint32{0x039a47a8, 0x000c67dd, 0x03853a33, 0x00cdb960, 0x01097cd1, 0x02db2d50, 0x00012aa3, 0x00500544, 0x018644d3, 0x0037a4c2}}}, + {X: Field{[10]uint32{0x018e66aa, 0x01fbe570, 0x03304ee7, 0x03ea9dae, 0x004afe8f, 0x037ce80d, 0x039d268d, 0x0154b236, 0x02de19c7, 0x001954e8}}, Y: Field{[10]uint32{0x00edb93c, 0x01dc181c, 0x037f5373, 0x033b26ee, 0x0169f95b, 0x014b4dd3, 0x034dbb77, 0x002edcab, 0x00107c18, 0x002469c8}}}, + {X: Field{[10]uint32{0x03b834e3, 0x031411ad, 0x013eec1f, 0x008f9a8f, 0x01bba980, 0x010032aa, 0x022e9363, 0x0106148b, 0x00be353f, 0x0003d52d}}, Y: Field{[10]uint32{0x0296f17e, 0x0190df23, 0x013a5124, 0x02d015df, 0x03ab6f78, 0x0065d16a, 0x035afde2, 0x03c7c2a0, 0x006cbdd5, 0x0025af9e}}}, + {X: Field{[10]uint32{0x02adbb2a, 0x016d2d03, 0x03c64c0d, 0x01f12d9d, 0x03f86be3, 0x016d3722, 0x03c806e4, 0x0194882e, 0x03c2a0fa, 0x0030b4c5}}, Y: Field{[10]uint32{0x0313ab6a, 0x03acd7b4, 0x02af58e8, 0x023528eb, 0x03100f07, 0x03266529, 0x00cb16df, 0x032aedc6, 0x0169bd68, 0x00315c42}}}, + {X: Field{[10]uint32{0x0389f384, 0x03fcc4c6, 0x03ccefe1, 0x010d04db, 0x02cc43e1, 0x01fd751c, 0x034b9c95, 0x02993f71, 0x03c6a5b8, 0x0014a959}}, Y: Field{[10]uint32{0x009e8f53, 0x01bde8a7, 0x01d485c1, 0x03a5f60d, 0x02d7de27, 0x02064a55, 0x005f7d6b, 0x00a62b75, 0x01bfa314, 0x000cc98c}}}, + {X: Field{[10]uint32{0x01ba4e20, 0x012881c7, 0x005e98d2, 0x03c666d3, 0x013530f0, 0x00c491ef, 0x01435278, 0x01104a21, 0x006c891a, 0x003df702}}, Y: Field{[10]uint32{0x034444aa, 0x0378d16d, 0x027e7b82, 0x000ffc41, 0x00da0550, 0x00121618, 0x02f5f751, 0x0166bac3, 0x0312452e, 0x001cd3b5}}}, + {X: Field{[10]uint32{0x02ec06c6, 0x008362c8, 0x00d3e905, 0x0147944b, 0x01b3f2ae, 0x039be3dd, 0x02d8d8cd, 0x036f032f, 0x03a97bb6, 0x002553e7}}, Y: Field{[10]uint32{0x005dd9bb, 0x030e76c6, 0x0378bf65, 0x00523c10, 0x005426f6, 0x02d3e085, 0x01b3017b, 0x01983d2f, 0x03bb8bd9, 0x002d96d0}}}, + {X: Field{[10]uint32{0x0204e87e, 0x0236c509, 0x0145e818, 0x02f905ad, 0x026def2d, 0x01dd7365, 0x0366947f, 0x01962082, 0x03984141, 0x000839a6}}, Y: Field{[10]uint32{0x00632539, 0x019fe24a, 0x01f51caa, 0x01361f7c, 0x030dcce0, 0x010fd808, 0x02e45a3d, 0x00ae6cd6, 0x02590bd1, 0x00399451}}}, + {X: Field{[10]uint32{0x0072ed1c, 0x039f15c3, 0x01dc3709, 0x0210aace, 0x0371bed4, 0x00c0a55d, 0x0187fb53, 0x00bc1110, 0x03822dc4, 0x00173796}}, Y: Field{[10]uint32{0x01a0ea9f, 0x00a4a66a, 0x03e41b49, 0x02f9d897, 0x03cea3dc, 0x00ff584d, 0x00416e75, 0x0016d425, 0x02d864e4, 0x00283dee}}}, + {X: Field{[10]uint32{0x0326421f, 0x00ec4c7e, 0x01c346e7, 0x0181779c, 0x0045b204, 0x027535ba, 0x02fd03f4, 0x02c370aa, 0x034c6ba6, 0x002d61b2}}, Y: Field{[10]uint32{0x00948744, 0x02b26ad6, 0x0116d2b4, 0x01a662ec, 0x026767b4, 0x001abee1, 0x01de6235, 0x028eca8c, 0x03e7c26e, 0x0033b584}}}, + {X: Field{[10]uint32{0x00ba6ede, 0x029779a4, 0x00a8b2a2, 0x0150ddf9, 0x014e192a, 0x02358071, 0x0213dbfa, 0x00ea0b23, 0x01703580, 0x001f4fd8}}, Y: Field{[10]uint32{0x02c6cb15, 0x027d354b, 0x0100f196, 0x012f9e3a, 0x0177eaf8, 0x00302f2f, 0x03564778, 0x004f083e, 0x010e62f4, 0x0004e3a0}}}, + {X: Field{[10]uint32{0x037eb925, 0x01dfb0a3, 0x01b41d85, 0x037603ea, 0x01c9fa32, 0x00c12ae0, 0x03e67135, 0x03e18f9f, 0x00befc4a, 0x0039e8c5}}, Y: Field{[10]uint32{0x00f3eb1f, 0x02913d20, 0x008fb091, 0x033b1420, 0x0113ec94, 0x036a5c30, 0x019b6d07, 0x012b3fea, 0x0200f0e0, 0x003365e1}}}, + {X: Field{[10]uint32{0x03c6a577, 0x024098f4, 0x00231ec0, 0x02b67915, 0x00ba5fc0, 0x003c37f2, 0x01cd8e81, 0x0240bb88, 0x03e49f41, 0x0005e70e}}, Y: Field{[10]uint32{0x009cf184, 0x03fc32d3, 0x009dc5b9, 0x022693a2, 0x02640216, 0x0142df93, 0x02b03f5a, 0x026a80a7, 0x020efb9b, 0x001d7e7d}}}, + {X: Field{[10]uint32{0x01e6401f, 0x01842c24, 0x00c6fe50, 0x01a4173e, 0x0108d762, 0x015d53e9, 0x017808e2, 0x03060ae5, 0x0071464b, 0x00042956}}, Y: Field{[10]uint32{0x01b56ff4, 0x0145a8d0, 0x038b3029, 0x03caaa32, 0x0299a787, 0x0241aea7, 0x005c679f, 0x0368b38c, 0x03b96d2b, 0x0034d924}}}, + {X: Field{[10]uint32{0x008e555e, 0x03cfa6ba, 0x0099f96a, 0x028bcea7, 0x02585827, 0x00c7b1fd, 0x0108d45b, 0x02321055, 0x03225e85, 0x0012a40d}}, Y: Field{[10]uint32{0x0247d145, 0x01f44c8c, 0x0064c70c, 0x01df40b1, 0x0031c9a4, 0x003f3785, 0x012463f2, 0x01134331, 0x01a7fb9e, 0x00369351}}}, + {X: Field{[10]uint32{0x016acb3e, 0x00a5dcea, 0x02b621cd, 0x02ef80bc, 0x00c68373, 0x005c3b20, 0x00052d6b, 0x02023ded, 0x018c2505, 0x001b4427}}, Y: Field{[10]uint32{0x02dc9a57, 0x00e2ca3a, 0x012adc50, 0x002e72e5, 0x03200c87, 0x02c08eff, 0x001088ec, 0x01b90145, 0x00de511f, 0x003237a8}}}, + {X: Field{[10]uint32{0x02e1af88, 0x03c30e59, 0x01bf28f7, 0x00f8a1d3, 0x0106105b, 0x00d55d41, 0x015c7347, 0x00919f01, 0x00986d20, 0x00270866}}, Y: Field{[10]uint32{0x01d0914a, 0x027ecb63, 0x004550ec, 0x03354b52, 0x03efddf5, 0x01959783, 0x01d41463, 0x03fc4be7, 0x016c8edd, 0x00218dd2}}}, + {X: Field{[10]uint32{0x0292b03a, 0x023b71b0, 0x032e74de, 0x02d772e3, 0x03dcd104, 0x00aee5ce, 0x036dd750, 0x003d8040, 0x00390e66, 0x0008b294}}, Y: Field{[10]uint32{0x006b11e8, 0x03a457d9, 0x0258eda5, 0x02eb100f, 0x01cb6731, 0x0023e832, 0x016449a7, 0x02e07910, 0x00711ef6, 0x0021bf51}}}, + {X: Field{[10]uint32{0x02b6f938, 0x037a10b9, 0x0227c80b, 0x00977dd7, 0x022e39be, 0x03db2880, 0x0116fdd1, 0x011903c8, 0x0302cc00, 0x0033f063}}, Y: Field{[10]uint32{0x0290df7d, 0x0075a118, 0x01398645, 0x02936740, 0x01c09236, 0x01c232f9, 0x03a2923f, 0x0343965e, 0x00df4f79, 0x00358ad6}}}, + {X: Field{[10]uint32{0x0280a087, 0x03053e66, 0x02f259d3, 0x015afb2e, 0x02574905, 0x008d7142, 0x01f46ca6, 0x01163a64, 0x00c23425, 0x000ce22f}}, Y: Field{[10]uint32{0x0245c016, 0x00b84fa9, 0x0013b310, 0x029752b1, 0x0306c3dc, 0x02563efc, 0x00223166, 0x015e0c07, 0x02f806f6, 0x001f52a8}}}, + {X: Field{[10]uint32{0x00b46a19, 0x02a507bc, 0x03aa802b, 0x00f532f2, 0x0144ac96, 0x00db67e5, 0x018fefc1, 0x004b78f7, 0x00131b8c, 0x00349af4}}, Y: Field{[10]uint32{0x028d3a99, 0x002b096d, 0x00653cb1, 0x01f699e0, 0x020d045a, 0x032ad24a, 0x02948724, 0x01e571ad, 0x02a331b6, 0x0019be27}}}, + {X: Field{[10]uint32{0x03d1fdb9, 0x0274a795, 0x035ca1d9, 0x0353511f, 0x03465a03, 0x03bd7d9a, 0x03960edf, 0x03a3c858, 0x030cdb67, 0x003734cd}}, Y: Field{[10]uint32{0x007084ef, 0x0185a9cd, 0x01ed9922, 0x02f66d93, 0x028a9eb4, 0x024efdcc, 0x038d4483, 0x02fe1cb3, 0x007a320a, 0x0022e4dd}}}, + {X: Field{[10]uint32{0x038d8e7a, 0x0227cfd3, 0x0006f805, 0x02ecff82, 0x0121d449, 0x02718e06, 0x03105af5, 0x02b558cd, 0x0105e602, 0x001d01d3}}, Y: Field{[10]uint32{0x003d574d, 0x02e1052c, 0x002cfe19, 0x03db111e, 0x02bf0dd8, 0x0077548d, 0x00fd515a, 0x0202b411, 0x03d4adee, 0x00069352}}}, + {X: Field{[10]uint32{0x0305c174, 0x00dcea0b, 0x034dd732, 0x025035ae, 0x01971203, 0x01e024aa, 0x00df438a, 0x00faedaa, 0x0081f3a2, 0x0002a273}}, Y: Field{[10]uint32{0x03c4fda4, 0x02a59128, 0x03d77873, 0x039d5c1f, 0x00326a9c, 0x02e5e77b, 0x01ddc9fd, 0x03c18d39, 0x03dd676d, 0x0012dbe0}}}, + {X: Field{[10]uint32{0x0216424c, 0x028e03d9, 0x00e037dd, 0x0102d82b, 0x026443c5, 0x001fe592, 0x002ae36b, 0x00fc3864, 0x00bafa91, 0x0023c684}}, Y: Field{[10]uint32{0x01e5525f, 0x02615557, 0x0326e869, 0x018b5680, 0x0114e3a4, 0x01d03cc7, 0x0016ad4e, 0x01df0c91, 0x024445c1, 0x00040a35}}}, + {X: Field{[10]uint32{0x01e27b51, 0x01d01222, 0x026d6f4c, 0x03e11e3e, 0x019154a2, 0x0369266b, 0x0157268a, 0x0288da9e, 0x027914f9, 0x002b63f6}}, Y: Field{[10]uint32{0x020e82ae, 0x01392f8c, 0x03834617, 0x03c09818, 0x03703b74, 0x0170f24c, 0x02deffc0, 0x029b1bdd, 0x02ab1f7d, 0x00272874}}}, + {X: Field{[10]uint32{0x0167fbe7, 0x0178cb3f, 0x03c874d1, 0x003f93ec, 0x03219270, 0x03c8e38b, 0x008cc246, 0x00a5c110, 0x010a797b, 0x001b1ba6}}, Y: Field{[10]uint32{0x0391dac1, 0x00c1868f, 0x019e1be8, 0x021e4f53, 0x0139811b, 0x0010368c, 0x025b32cc, 0x0159667e, 0x03980f35, 0x0007ff05}}}, + {X: Field{[10]uint32{0x01118969, 0x007e68c9, 0x0247cedc, 0x01728d02, 0x039f86f7, 0x0027c8de, 0x035351de, 0x00aaf658, 0x03ea31ad, 0x00080ac4}}, Y: Field{[10]uint32{0x001bcba0, 0x03314d46, 0x004c0fe3, 0x0085c000, 0x03868a45, 0x02f2061c, 0x0111184e, 0x00dfd354, 0x0105a14e, 0x00314bed}}}, + {X: Field{[10]uint32{0x03b748a5, 0x0210a475, 0x02f5fd22, 0x031848c9, 0x03034053, 0x02615654, 0x01c7c7cf, 0x010beac3, 0x00a10251, 0x0014d57c}}, Y: Field{[10]uint32{0x02281949, 0x0333c5df, 0x0118f4b1, 0x01a9e071, 0x039cddd3, 0x0183b8fb, 0x008ff9de, 0x0007db07, 0x036a5535, 0x001d6ef8}}}, + {X: Field{[10]uint32{0x029829d7, 0x00ebab30, 0x02235f91, 0x02c4d1c1, 0x0279a39a, 0x02a0ebb0, 0x00f16644, 0x037b2747, 0x0178eacb, 0x002e214b}}, Y: Field{[10]uint32{0x03183156, 0x00c584f7, 0x020faeb4, 0x0343dca7, 0x038d51ee, 0x03a27b0e, 0x002735d2, 0x03187eb9, 0x035052b3, 0x001d8eea}}}, + {X: Field{[10]uint32{0x03057ae2, 0x033b56c1, 0x0188beec, 0x03a02c3c, 0x01696d18, 0x0027b343, 0x017d4d6a, 0x03de3870, 0x004b294d, 0x0032acb9}}, Y: Field{[10]uint32{0x01ff2f43, 0x02681a06, 0x00ed5405, 0x02b416c8, 0x02de28bf, 0x0156d41b, 0x0149607c, 0x01266b3b, 0x009a501a, 0x003cd46c}}}, + {X: Field{[10]uint32{0x03056b31, 0x01a14f15, 0x026589d4, 0x00dae6e1, 0x03b16f9f, 0x0152dd5a, 0x012355eb, 0x015568af, 0x01c99c6d, 0x0005002e}}, Y: Field{[10]uint32{0x03a077a8, 0x0270cab7, 0x00436e56, 0x007e5bc9, 0x035709b9, 0x03508477, 0x026993b3, 0x00459e82, 0x001662f4, 0x0022ca42}}}, + {X: Field{[10]uint32{0x03d9141e, 0x03b1b9af, 0x018a50fb, 0x00655623, 0x03b3d31b, 0x0044511a, 0x03ae7a9a, 0x027071a1, 0x032e973e, 0x0014ab8d}}, Y: Field{[10]uint32{0x02351ccb, 0x02ff8360, 0x0256b71e, 0x033363b3, 0x001f87cf, 0x0116436d, 0x0238721a, 0x0390b6e5, 0x000de6d0, 0x003e60ad}}}, + {X: Field{[10]uint32{0x01899c24, 0x03d976d8, 0x032e0fe5, 0x0022e4df, 0x001139b7, 0x0143700c, 0x0241e148, 0x011896f8, 0x03bd4082, 0x000f453f}}, Y: Field{[10]uint32{0x00a1dfb7, 0x03f1d862, 0x02872981, 0x03bf4dd9, 0x02799882, 0x034884e8, 0x01cf16b8, 0x03811d36, 0x00fa477e, 0x002c4299}}}, + {X: Field{[10]uint32{0x02a48930, 0x0057b36e, 0x0246e824, 0x0346a57f, 0x03e7ab3f, 0x0353261e, 0x03bc2700, 0x03065ea2, 0x02df54e0, 0x0031bd4a}}, Y: Field{[10]uint32{0x0056811d, 0x016bf64e, 0x03a8f77e, 0x024cab7a, 0x03b9ef91, 0x0267e912, 0x010281c0, 0x01ced241, 0x006fb538, 0x001d4930}}}, + {X: Field{[10]uint32{0x0144c1aa, 0x01828fb2, 0x00f559fe, 0x03601b46, 0x005f2d1d, 0x031e7070, 0x03c838a4, 0x01f2d9e8, 0x0264bdc4, 0x00240224}}, Y: Field{[10]uint32{0x02ee04de, 0x003ece74, 0x03064eea, 0x032e4779, 0x02ca140b, 0x010c392d, 0x01d582cc, 0x00c899aa, 0x0046d70b, 0x0006258e}}}, + {X: Field{[10]uint32{0x03da0662, 0x03dc247b, 0x006ebc1b, 0x019a5bcf, 0x012db741, 0x03a084a9, 0x035b2d4c, 0x00df0589, 0x00ea478b, 0x00389f09}}, Y: Field{[10]uint32{0x02783de3, 0x01f3c244, 0x03b7d853, 0x036bf0ed, 0x03bb99f4, 0x000c5e46, 0x01532bb5, 0x019f2feb, 0x0279c3a2, 0x0009fb14}}}, + {X: Field{[10]uint32{0x000a3eb2, 0x03bfe131, 0x0092b917, 0x03b98190, 0x032549b8, 0x025574ef, 0x0025d857, 0x035badc0, 0x02129cf1, 0x0032976a}}, Y: Field{[10]uint32{0x027a9811, 0x02109677, 0x01e9ef6a, 0x03c9dee2, 0x037c4aa5, 0x035082d2, 0x027c7c27, 0x01bdf4cf, 0x0105500f, 0x001a0b52}}}, + {X: Field{[10]uint32{0x00877f55, 0x005a67bf, 0x00170487, 0x016d0943, 0x006c98ac, 0x02274509, 0x0223fb5c, 0x031a2119, 0x000f2b2a, 0x00241a7b}}, Y: Field{[10]uint32{0x031fb05e, 0x034e95b9, 0x00266975, 0x02a322e0, 0x02a6c3c3, 0x00901f7f, 0x000617ee, 0x00dc485b, 0x02c4eff8, 0x00331403}}}, + {X: Field{[10]uint32{0x03bda16c, 0x02c4e470, 0x0250fb8c, 0x00f01649, 0x00053639, 0x017a2ae8, 0x02742d3c, 0x03b86dae, 0x02eb0bd5, 0x0017f87f}}, Y: Field{[10]uint32{0x0065a34b, 0x0250ade6, 0x01af53bf, 0x01a90dd7, 0x03ea02ae, 0x001cbddb, 0x025ba068, 0x0193b4d0, 0x032701ac, 0x0036c46c}}}, + {X: Field{[10]uint32{0x001b2c34, 0x019b12ab, 0x00cb8318, 0x00aa1783, 0x026bf260, 0x02439382, 0x0035b6cf, 0x03e20d24, 0x01a5f168, 0x000292a4}}, Y: Field{[10]uint32{0x03837596, 0x02080c1f, 0x00857ce0, 0x02a7023d, 0x02ff7265, 0x00ae262a, 0x02f2ff8e, 0x03b47462, 0x02a8fe36, 0x00016ffb}}}, + {X: Field{[10]uint32{0x02884849, 0x01bdd1be, 0x019e35f0, 0x01bb4f1f, 0x0143f536, 0x03aaaf93, 0x00705054, 0x016d492a, 0x0336f0c3, 0x003d04d7}}, Y: Field{[10]uint32{0x010c526b, 0x03f12c99, 0x0052dd55, 0x00c30ea7, 0x01ba1a5d, 0x00c1d75d, 0x019d0ea4, 0x0301e2d3, 0x03f1b8b6, 0x000719c1}}}, + {X: Field{[10]uint32{0x00380203, 0x00ea7ce5, 0x01e0fdcc, 0x01364ad0, 0x00014a50, 0x020fa12e, 0x03449928, 0x03eebb4a, 0x018a9363, 0x00356a26}}, Y: Field{[10]uint32{0x0260e9fb, 0x026cf6ba, 0x03d4b0bf, 0x02be98aa, 0x032f20c5, 0x0351b35f, 0x038ae7c6, 0x0320162e, 0x03036fdd, 0x0025805a}}}, + {X: Field{[10]uint32{0x03f3d176, 0x022e6f92, 0x01fa8cc3, 0x039e6443, 0x00d50297, 0x0043064e, 0x007fb622, 0x0036f428, 0x023404b3, 0x00220132}}, Y: Field{[10]uint32{0x03d37b0d, 0x02bb79d5, 0x02c9124c, 0x0142c472, 0x01eb65db, 0x00e1c58c, 0x008c55ff, 0x01f18dde, 0x02e57992, 0x0016d92f}}}, + {X: Field{[10]uint32{0x03811021, 0x0176fd8a, 0x00e740ac, 0x01d1f426, 0x010c947c, 0x022f6969, 0x008e78e7, 0x0086daf1, 0x01fc440c, 0x0021a470}}, Y: Field{[10]uint32{0x03b1787e, 0x0122f2b5, 0x01c0903d, 0x00e7d9b0, 0x00682f45, 0x000a9c44, 0x02c330af, 0x00460555, 0x01c535f5, 0x003f63b0}}}, + {X: Field{[10]uint32{0x03093229, 0x01018dfb, 0x001eb58a, 0x02aec3b4, 0x03c3ee5f, 0x0253a4a4, 0x02bfe3f8, 0x038b87f7, 0x01f6343b, 0x001117f0}}, Y: Field{[10]uint32{0x0185b605, 0x001ef6df, 0x010af329, 0x03cd236a, 0x03c3c087, 0x03b7b44e, 0x00aa1b73, 0x03e14f41, 0x03fe6737, 0x00215fc5}}}, + {X: Field{[10]uint32{0x036493b4, 0x03140069, 0x039667d1, 0x01568773, 0x02af1a55, 0x02e23135, 0x023aaf95, 0x0346c2cb, 0x03dea657, 0x00170e5f}}, Y: Field{[10]uint32{0x030aff0a, 0x02681bf7, 0x03d32de7, 0x00b3d21f, 0x03ce5cb5, 0x02a7f153, 0x0336aee6, 0x00f1d4b5, 0x00207b6f, 0x002739d2}}}, + {X: Field{[10]uint32{0x03fc1b7e, 0x00dbe931, 0x030c1d7e, 0x0210dcb4, 0x02d9f535, 0x037f8644, 0x01d2bc5b, 0x0380a0d8, 0x01cb28d7, 0x0026d559}}, Y: Field{[10]uint32{0x03879eea, 0x0266c458, 0x0062d827, 0x01d7662c, 0x01a23af0, 0x038fdb1b, 0x0257f054, 0x02a0c962, 0x028d2de2, 0x001f573e}}}, + {X: Field{[10]uint32{0x01194f1d, 0x015368f2, 0x03b4b896, 0x027c404a, 0x02a5229a, 0x006ec656, 0x031b1657, 0x021c34e5, 0x00631bbf, 0x002bef7b}}, Y: Field{[10]uint32{0x0327e296, 0x030914e3, 0x0316a773, 0x00507d50, 0x0383fe57, 0x02ec2899, 0x0074ad1b, 0x009497e6, 0x0349b949, 0x0033f2e9}}}, + {X: Field{[10]uint32{0x00ad916b, 0x0075a22b, 0x03f4d0e0, 0x0318b12c, 0x03a7cc11, 0x03a7a7b1, 0x03c61605, 0x014d1d72, 0x03cbca3a, 0x001dc4aa}}, Y: Field{[10]uint32{0x024b82fb, 0x023c289a, 0x03ead0c6, 0x03f47ffb, 0x02b57cbb, 0x030ef4cc, 0x02b43af8, 0x009556b4, 0x01bc0eb1, 0x001ee472}}}, + {X: Field{[10]uint32{0x00a2b7e2, 0x00b4e2c7, 0x01c9f07a, 0x00459b9d, 0x0311b43a, 0x037d419a, 0x01fe506f, 0x017904b9, 0x0346f293, 0x000f1148}}, Y: Field{[10]uint32{0x019cd800, 0x00231ffd, 0x026962c6, 0x0228d4ad, 0x010e0203, 0x012047f6, 0x03532f8d, 0x01a0a4eb, 0x01e127f9, 0x003f4fdb}}}, + {X: Field{[10]uint32{0x0248b7be, 0x020b6c2a, 0x030547d1, 0x011377c2, 0x00e04eda, 0x0032652e, 0x01a53d67, 0x0368ff1f, 0x002fb4db, 0x0002f616}}, Y: Field{[10]uint32{0x01285c68, 0x03a318d1, 0x0033ad6d, 0x02de5d9c, 0x00ef0dc4, 0x039f420a, 0x016b282e, 0x01a2ee30, 0x0369c182, 0x001e6789}}}, + {X: Field{[10]uint32{0x02c84112, 0x0339b3ec, 0x0371974d, 0x03ab667a, 0x03befe03, 0x01a44ce3, 0x03fb71c1, 0x0375018a, 0x00a78dd9, 0x00310404}}, Y: Field{[10]uint32{0x02a2ff83, 0x0058b690, 0x0208d29b, 0x001cc50f, 0x00f270f8, 0x0209298f, 0x01c5dbcf, 0x02f088ec, 0x039de71e, 0x00140230}}}, + {X: Field{[10]uint32{0x0121d311, 0x0094f309, 0x01f4a1b6, 0x01777b6d, 0x03f786bc, 0x01426f23, 0x02586a6a, 0x02e89c01, 0x007e6cf4, 0x003a27a0}}, Y: Field{[10]uint32{0x02fea2cc, 0x0366527c, 0x0117aad6, 0x03070264, 0x012228f9, 0x0301000a, 0x039fcfc4, 0x01237a4d, 0x03797c49, 0x002ab7b2}}}, + {X: Field{[10]uint32{0x00b08577, 0x006e43f7, 0x03fdbdca, 0x01ce19bc, 0x0084091f, 0x0048630d, 0x01379195, 0x02fe4190, 0x01b3be2d, 0x000d8f7c}}, Y: Field{[10]uint32{0x01848bae, 0x02f7c3dd, 0x026057e3, 0x01918c26, 0x00f9ea5b, 0x01f9dbc8, 0x0221493f, 0x038db125, 0x004e5634, 0x0002bbf4}}}, + {X: Field{[10]uint32{0x038ea16e, 0x028f22f1, 0x003becd4, 0x00e8d357, 0x03ca8fe3, 0x0173112e, 0x01213228, 0x02093920, 0x023883d2, 0x00172345}}, Y: Field{[10]uint32{0x02c0456f, 0x02baeb86, 0x02685872, 0x037e3cc6, 0x02355347, 0x027dd496, 0x01005914, 0x019b0225, 0x01d9c7ce, 0x003d9be4}}}, + {X: Field{[10]uint32{0x02cbe126, 0x0217a1fa, 0x01ff4080, 0x0162f9d7, 0x024181dd, 0x03649536, 0x037789ee, 0x020fb760, 0x02760835, 0x00042b19}}, Y: Field{[10]uint32{0x0317d22d, 0x015fafae, 0x02a1a01f, 0x02806057, 0x0372e0db, 0x031ac96b, 0x0065acb0, 0x039eec1d, 0x02de23f3, 0x001b4faa}}}, + {X: Field{[10]uint32{0x00153048, 0x029a5ea3, 0x037da8db, 0x003e6d87, 0x02974c4c, 0x00823a8f, 0x01677962, 0x01550111, 0x01ea7bb6, 0x00079e68}}, Y: Field{[10]uint32{0x00787fc4, 0x03bca97c, 0x015dd394, 0x02f8ce81, 0x03e07d35, 0x02a0023a, 0x01874064, 0x012221a2, 0x017920a3, 0x002d8f8f}}}, + {X: Field{[10]uint32{0x03fa9a5b, 0x02f34254, 0x0076a7be, 0x00604759, 0x02116991, 0x0003fc4f, 0x00df2abb, 0x0288fd42, 0x007397b0, 0x0036c347}}, Y: Field{[10]uint32{0x0100dfe8, 0x0278ca12, 0x00dc9d0b, 0x010598a7, 0x032f85fd, 0x02d723bb, 0x01724312, 0x013c7b46, 0x00773ca7, 0x00072742}}}, + {X: Field{[10]uint32{0x03385f27, 0x0280fb72, 0x03622003, 0x008f9883, 0x03969042, 0x00b9dd6f, 0x02bdc229, 0x033a3499, 0x03b3481e, 0x00387f75}}, Y: Field{[10]uint32{0x030a4c77, 0x01019aa5, 0x03e6d09e, 0x024f8840, 0x03d9b31f, 0x00ff71a9, 0x02dee658, 0x00ffdc35, 0x039f2895, 0x000f3eac}}}, + {X: Field{[10]uint32{0x0223ffd3, 0x037c46a8, 0x018803b2, 0x0396fc62, 0x039ed85f, 0x0084c323, 0x02701c92, 0x02ee3cf5, 0x01342b69, 0x00259e5c}}, Y: Field{[10]uint32{0x02631d31, 0x025f91c3, 0x0394e059, 0x031b0255, 0x02632c0d, 0x034a68f9, 0x00b6d93c, 0x01be7df1, 0x003f630b, 0x000b50cd}}}, + {X: Field{[10]uint32{0x01c33efc, 0x020505f6, 0x03ba8cba, 0x01b66a67, 0x00ec0a77, 0x02677520, 0x01d2a0f3, 0x0352531a, 0x02186e27, 0x0037ed00}}, Y: Field{[10]uint32{0x0137796e, 0x01ec4ad7, 0x00f4861f, 0x00705e08, 0x009bd850, 0x02580c14, 0x0245bcb7, 0x00c9cc57, 0x01dce9f9, 0x000ccb64}}}, + {X: Field{[10]uint32{0x027681ec, 0x02e11a30, 0x035e5189, 0x0011fef8, 0x01171de0, 0x017068cc, 0x0208da7b, 0x03729145, 0x01ebed13, 0x001ad971}}, Y: Field{[10]uint32{0x01a34f62, 0x01e723a2, 0x01f43e26, 0x0137d6ee, 0x013e71fc, 0x01bf53e1, 0x0246b51f, 0x02f02cbc, 0x02e8e0ae, 0x0002bf43}}}, + {X: Field{[10]uint32{0x00c4b619, 0x00e43d4a, 0x0100480a, 0x008bf7f3, 0x03021e5c, 0x03509b7c, 0x02396aa5, 0x00e59789, 0x01a160b0, 0x002f070f}}, Y: Field{[10]uint32{0x00a31640, 0x03b5192b, 0x03bc8076, 0x0334d6b2, 0x0386ad94, 0x0108b046, 0x017862c0, 0x03faa42b, 0x017465e4, 0x003f595c}}}, + {X: Field{[10]uint32{0x0005913a, 0x004f7ea3, 0x038e2de6, 0x001b0b1b, 0x01090264, 0x02f161f8, 0x038a6a8c, 0x0328d54f, 0x011796d6, 0x001626c7}}, Y: Field{[10]uint32{0x003fb3e0, 0x00b2eb94, 0x02c87974, 0x01a76917, 0x003c7b64, 0x00eee8a9, 0x039365de, 0x013d1b89, 0x01ecac25, 0x00399575}}}, + {X: Field{[10]uint32{0x00ae4ed5, 0x016fe61e, 0x01677612, 0x033f3a9d, 0x016ada63, 0x024b652f, 0x01c2ef5c, 0x01b0aa53, 0x03856d1e, 0x00279c98}}, Y: Field{[10]uint32{0x00e304dd, 0x03d4d058, 0x01896069, 0x01010f24, 0x030a83bc, 0x0371ea8a, 0x028a48e0, 0x00e3e2d8, 0x01f51e5b, 0x002308e3}}}, + {X: Field{[10]uint32{0x02764263, 0x02d76f71, 0x018d57ea, 0x02bc9548, 0x004f9bd3, 0x00820380, 0x000c551b, 0x03dd3ee9, 0x017814e0, 0x000489a7}}, Y: Field{[10]uint32{0x0385b3d6, 0x017e1938, 0x01a704a9, 0x031f08b7, 0x00daee58, 0x02f45a48, 0x02febcdb, 0x025d7041, 0x00bd6584, 0x0003c3dc}}}, + {X: Field{[10]uint32{0x033088a6, 0x0245ced5, 0x03aa315e, 0x02fc59db, 0x005c73fd, 0x009cfbff, 0x0048cdd6, 0x02405383, 0x032fcc50, 0x0034c84b}}, Y: Field{[10]uint32{0x0032df82, 0x01902112, 0x02fc09db, 0x03aa14fe, 0x00ff59b6, 0x0271a4d3, 0x02618c84, 0x03d47cd8, 0x01f10673, 0x000e6bce}}}, + {X: Field{[10]uint32{0x00250052, 0x01168821, 0x02dccdae, 0x03f67d0a, 0x034ef288, 0x03d92588, 0x0014e724, 0x002eb510, 0x032b9bcc, 0x00314d7d}}, Y: Field{[10]uint32{0x02271022, 0x0171fb92, 0x000a7465, 0x0008a4c0, 0x02884473, 0x01f3a0a6, 0x0014a17f, 0x018c6d8a, 0x005b6fb7, 0x000fde66}}}, + {X: Field{[10]uint32{0x03399605, 0x003eb4e4, 0x03c121c8, 0x004bb035, 0x03271e39, 0x003b437d, 0x002bb186, 0x027e9618, 0x01269b16, 0x0013d6dc}}, Y: Field{[10]uint32{0x01cfd0a7, 0x0104d8f3, 0x00fb5dbe, 0x03c81881, 0x02576f63, 0x025f24ca, 0x002c6cdb, 0x0163aa44, 0x01047f2a, 0x002d83f0}}}, + {X: Field{[10]uint32{0x03d5d065, 0x0323c6ed, 0x03851de9, 0x01f5cde9, 0x000ec70e, 0x0000a705, 0x02c2863e, 0x00e2c6bc, 0x033b244c, 0x0032d166}}, Y: Field{[10]uint32{0x0157fbd0, 0x01d293c6, 0x010ea53a, 0x0055a4b2, 0x02a888bd, 0x03a242ce, 0x02462411, 0x01db20bd, 0x015d3c03, 0x001ed9ec}}}, + {X: Field{[10]uint32{0x0219054e, 0x00a87e93, 0x02597ea7, 0x018f4691, 0x02d389f5, 0x03d0d065, 0x03121bb7, 0x03831463, 0x01c70ebd, 0x001e1f58}}, Y: Field{[10]uint32{0x0272a658, 0x00ef2fab, 0x014ba4b9, 0x02ef5cad, 0x03f42e9e, 0x02cf4542, 0x031cf396, 0x0232e309, 0x02f25fcf, 0x0016ebd5}}}, + {X: Field{[10]uint32{0x01f6115c, 0x00edbaf1, 0x012bacc9, 0x0229808d, 0x02337353, 0x0358e420, 0x037d97cb, 0x02c3252d, 0x002a31d0, 0x0030e2bf}}, Y: Field{[10]uint32{0x03ee529f, 0x0109a210, 0x004690d8, 0x022f4b96, 0x01875e09, 0x01917e35, 0x01a26a4c, 0x03f3092e, 0x03cab138, 0x002e4977}}}, + {X: Field{[10]uint32{0x03406d0a, 0x0321e6bf, 0x0282ad6e, 0x002e2ade, 0x0339a5dd, 0x016e6c97, 0x01c6ad5e, 0x01ba56e7, 0x023b8e60, 0x000dd987}}, Y: Field{[10]uint32{0x03e9b977, 0x02c58e29, 0x002a4df1, 0x00e44c8e, 0x0160d8bc, 0x01b3e510, 0x017e07bd, 0x023f384c, 0x025d430d, 0x002adcd7}}}, + {X: Field{[10]uint32{0x01e256ba, 0x01a28594, 0x02062abd, 0x0367d939, 0x0388ea5a, 0x0370319d, 0x018e9348, 0x00ad1f0f, 0x0051b8c2, 0x0039449e}}, Y: Field{[10]uint32{0x030405c6, 0x01fce1c9, 0x004b3f94, 0x0136e1c1, 0x025b1e7d, 0x0154dffe, 0x034b7dc0, 0x027ade42, 0x037e0034, 0x001611fd}}}, + {X: Field{[10]uint32{0x017382e9, 0x0191ee6b, 0x03b41955, 0x02601482, 0x02127a36, 0x00e03f81, 0x013e7cb7, 0x02a284dc, 0x005da6b8, 0x003cf1fd}}, Y: Field{[10]uint32{0x023e7c87, 0x0397ef7d, 0x00a51ddf, 0x0005c675, 0x034b4693, 0x00024d9d, 0x01decd09, 0x0274c7dc, 0x0211eb1b, 0x000ab3e6}}}, + {X: Field{[10]uint32{0x00d745ba, 0x012cbc21, 0x024de0ff, 0x0254eec3, 0x0279125f, 0x0122a642, 0x03733a18, 0x02c94948, 0x0047e8d5, 0x0021b790}}, Y: Field{[10]uint32{0x01bc969a, 0x0269d19c, 0x02007427, 0x00146a7b, 0x03569211, 0x0177a4b4, 0x0284cf7d, 0x000174ac, 0x00720dac, 0x001c79a9}}}, + {X: Field{[10]uint32{0x03f57504, 0x021d70bc, 0x02c635e2, 0x032b0317, 0x023029d9, 0x03cea85a, 0x020cd963, 0x02759b65, 0x00307225, 0x00318457}}, Y: Field{[10]uint32{0x037a712f, 0x004a1427, 0x0077050d, 0x0004d10f, 0x01ced024, 0x00f20868, 0x017f56c2, 0x0375e35e, 0x00d0b33f, 0x000635a4}}}, + {X: Field{[10]uint32{0x02f53c5b, 0x034d9d10, 0x03c6ac61, 0x03c78afe, 0x018bfae0, 0x01a4a6c1, 0x0038cbd7, 0x011cee46, 0x00998b43, 0x0032d514}}, Y: Field{[10]uint32{0x01572bbf, 0x0236de24, 0x00ddfde3, 0x02e9efed, 0x01c00ba8, 0x026e77d5, 0x03684b4f, 0x013c2335, 0x034d79e3, 0x00104675}}}, + {X: Field{[10]uint32{0x02922d2a, 0x014bca14, 0x013725a7, 0x01cf1b42, 0x020a333b, 0x0182a628, 0x01771e26, 0x00aed3ec, 0x0304b936, 0x00343739}}, Y: Field{[10]uint32{0x02e37e47, 0x028e4565, 0x018ffde5, 0x01529314, 0x02124d3f, 0x016730bb, 0x033891a2, 0x033837c7, 0x03707947, 0x003e4b0e}}}, + {X: Field{[10]uint32{0x016b20a4, 0x02866fc8, 0x03a96249, 0x01679f5c, 0x03d42702, 0x01957314, 0x02ab8570, 0x016618e3, 0x0238e5aa, 0x0036e4f8}}, Y: Field{[10]uint32{0x03bcc7c5, 0x035fad7e, 0x0094c815, 0x025718bf, 0x033ab178, 0x009bbd95, 0x034f60cd, 0x023ad942, 0x008b670e, 0x00234677}}}, + {X: Field{[10]uint32{0x00c3f486, 0x01753bda, 0x01835ba8, 0x03f2efc4, 0x014d6c6c, 0x001e584a, 0x0207e54b, 0x02fbe0a7, 0x037fd8ce, 0x0030e1f0}}, Y: Field{[10]uint32{0x01ddeda9, 0x03f9e384, 0x00897994, 0x0036d896, 0x03c8e3ae, 0x004b5ff9, 0x020f7d7f, 0x02cc01b2, 0x00d9ae7e, 0x00214960}}}, + {X: Field{[10]uint32{0x0206c232, 0x00dd271d, 0x01092f94, 0x03748eb6, 0x024d3b22, 0x024aed2d, 0x0001b5b1, 0x039544df, 0x0134f04d, 0x003aed63}}, Y: Field{[10]uint32{0x01d1ae16, 0x01223f37, 0x0112bc59, 0x00b14272, 0x03d92ae7, 0x0016af26, 0x01d3e829, 0x03e7536c, 0x01059c99, 0x0006e5e7}}}, + {X: Field{[10]uint32{0x02e38e6b, 0x017390a5, 0x038d8252, 0x022befc8, 0x032f1317, 0x00c32b44, 0x01810b17, 0x028a6dd9, 0x0066acfd, 0x001e2473}}, Y: Field{[10]uint32{0x027caaf1, 0x02b3d94d, 0x02db972f, 0x039f6c02, 0x03a21ff6, 0x01fb2bb0, 0x02987ad0, 0x0231b118, 0x03292018, 0x0008864d}}}, + {X: Field{[10]uint32{0x0014d081, 0x014378d6, 0x011f472c, 0x0003028c, 0x000acec8, 0x01e4ff63, 0x02578a53, 0x007a34b0, 0x0142e4bc, 0x00302c09}}, Y: Field{[10]uint32{0x017f8371, 0x0262f06d, 0x01673136, 0x0213afff, 0x0376b1a8, 0x00702465, 0x02e6bb57, 0x005f0006, 0x00710f59, 0x000092f7}}}, + {X: Field{[10]uint32{0x0026d2dd, 0x028dad71, 0x014b2f07, 0x03d13acf, 0x03c2000c, 0x0103a980, 0x02fd9a3e, 0x01141fc4, 0x0174b870, 0x003a8575}}, Y: Field{[10]uint32{0x0230944e, 0x00969462, 0x0124b6ca, 0x01b16269, 0x00c5cdc1, 0x02df8e25, 0x00faf58a, 0x028e7d38, 0x014f4d8c, 0x002d965b}}}, + {X: Field{[10]uint32{0x039604de, 0x006dde73, 0x006726e5, 0x02604d63, 0x02708776, 0x009274d3, 0x00d5726a, 0x01abdee2, 0x03dfc35a, 0x001df4e1}}, Y: Field{[10]uint32{0x008b4a87, 0x0336693c, 0x0324993f, 0x001b7805, 0x01459165, 0x013e8ac7, 0x013c2351, 0x02a58b4b, 0x02cd2d70, 0x003976bb}}}, + {X: Field{[10]uint32{0x01ccd7ec, 0x01aa7727, 0x02db8329, 0x03530c54, 0x031064f9, 0x035bfbee, 0x024dc2f9, 0x0093ef06, 0x02cb7d1a, 0x002a49d0}}, Y: Field{[10]uint32{0x01679f76, 0x0063908c, 0x0225ad9d, 0x018ecf9c, 0x0266d4f1, 0x0208fcf1, 0x0346df60, 0x03c293b0, 0x00f98cda, 0x001996a7}}}, + {X: Field{[10]uint32{0x02316a46, 0x02c417e9, 0x02b6f36c, 0x0368a783, 0x00f62de9, 0x01ed54c1, 0x034053d3, 0x00e4f574, 0x00f79f0c, 0x00094f95}}, Y: Field{[10]uint32{0x027155e0, 0x038cfaf3, 0x03fd7b2a, 0x01fe3f82, 0x0067c857, 0x016c9fbc, 0x029417ac, 0x03b030ca, 0x00cded78, 0x0015385a}}}, + {X: Field{[10]uint32{0x0003fbf2, 0x01173000, 0x004434ee, 0x031eccf6, 0x0255fc01, 0x038e00a6, 0x039586f9, 0x021c8185, 0x00e0e9c3, 0x00344c12}}, Y: Field{[10]uint32{0x00743f37, 0x01d42021, 0x021e3640, 0x0102e6f1, 0x01af2578, 0x02c9470e, 0x00906897, 0x0091de15, 0x02db9450, 0x001f1119}}}, + {X: Field{[10]uint32{0x00a284a2, 0x001194dc, 0x032c88e6, 0x00dca958, 0x02a632b2, 0x02f6f26a, 0x007d0797, 0x008488a2, 0x0110387c, 0x003a48d0}}, Y: Field{[10]uint32{0x036523c4, 0x02c33edb, 0x0363ae80, 0x0147dd03, 0x01839a26, 0x01be63b6, 0x03b3afe6, 0x01486d3f, 0x008c4ca3, 0x000ae62c}}}, + {X: Field{[10]uint32{0x03a29be5, 0x02a76b60, 0x0271332b, 0x007253e2, 0x00742834, 0x02ec95d9, 0x0091a5a7, 0x01e3bdce, 0x03a7ab69, 0x000c0b80}}, Y: Field{[10]uint32{0x0310120b, 0x028be0d5, 0x002eea98, 0x036d9102, 0x030e8430, 0x0395aecf, 0x02e850d2, 0x00d6facb, 0x02db210c, 0x0012af82}}}, + {X: Field{[10]uint32{0x01665368, 0x03345584, 0x008598d7, 0x0370c75a, 0x024fea8b, 0x02c3e31e, 0x020571ee, 0x003cc372, 0x03894440, 0x0014dc04}}, Y: Field{[10]uint32{0x02a97cbe, 0x0069d3fa, 0x02d1971b, 0x036fc5a9, 0x01a712e2, 0x02a68db8, 0x0331bbe5, 0x03c88695, 0x026439c1, 0x00328d15}}}, + {X: Field{[10]uint32{0x028383cd, 0x0254a6bc, 0x00ff4957, 0x0375508f, 0x01656aaa, 0x0168b4e6, 0x012b6f7a, 0x01f2e3eb, 0x0186645d, 0x002303a0}}, Y: Field{[10]uint32{0x0048d27f, 0x035dd5d3, 0x018ffcdc, 0x013b2538, 0x0263c6d2, 0x023eed20, 0x007319d1, 0x0126064c, 0x01ea14c4, 0x000bbc9d}}}, + {X: Field{[10]uint32{0x03ad8af5, 0x010f5e97, 0x0101dafc, 0x004b1a5e, 0x01adddc5, 0x03fe32a6, 0x01615c45, 0x028f2684, 0x003126ba, 0x001929c2}}, Y: Field{[10]uint32{0x02fe29d5, 0x014f9c2a, 0x0342c432, 0x0128a23d, 0x00148efe, 0x02ec5e5a, 0x0245c354, 0x017dab0e, 0x008b59a6, 0x002e90f1}}}, + {X: Field{[10]uint32{0x01438e06, 0x02d1ea97, 0x0268051d, 0x033ed3d5, 0x0363559a, 0x00598917, 0x03785e2e, 0x023892cb, 0x026e82ff, 0x003f6f41}}, Y: Field{[10]uint32{0x02973d63, 0x038aa104, 0x03def144, 0x0356c905, 0x02875731, 0x022e5267, 0x02a5d382, 0x036308dd, 0x01cfa19e, 0x0001836b}}}, + {X: Field{[10]uint32{0x02ad174f, 0x009bd07b, 0x03e0af1b, 0x033cb72c, 0x0282cf15, 0x02518544, 0x01dba01d, 0x001cc467, 0x00b81ff9, 0x002ca1f3}}, Y: Field{[10]uint32{0x0374e090, 0x02f7027e, 0x01bd1acf, 0x02af000e, 0x0236d1be, 0x036d9bb4, 0x038a4635, 0x002fb92c, 0x03397a9a, 0x001bfc54}}}, + {X: Field{[10]uint32{0x01068116, 0x035735ff, 0x02c3c962, 0x015c06f7, 0x033b3f84, 0x02cc0cbe, 0x01f21888, 0x00d293e9, 0x0248b652, 0x0006011e}}, Y: Field{[10]uint32{0x0224574b, 0x01385681, 0x0117b1f3, 0x00244068, 0x01801342, 0x033a95a0, 0x02c54446, 0x0220c8c1, 0x02691819, 0x0004d89d}}}, + {X: Field{[10]uint32{0x0235f914, 0x01f9ea00, 0x02aae0ce, 0x03a56f52, 0x026b74ff, 0x0290784d, 0x022dd328, 0x00b39622, 0x014fbe4e, 0x003c74ed}}, Y: Field{[10]uint32{0x00a3981a, 0x03589dea, 0x0233be86, 0x01965fbf, 0x02c0c211, 0x0212188c, 0x02e1471e, 0x0205fad2, 0x0141300e, 0x000df097}}}, + {X: Field{[10]uint32{0x013bec4a, 0x00e8db61, 0x02a839ce, 0x00db1788, 0x019770da, 0x0042b55b, 0x03509a60, 0x037eadff, 0x01e95046, 0x0026c36a}}, Y: Field{[10]uint32{0x00135faa, 0x01dd40ce, 0x024d96da, 0x006468a4, 0x03df757c, 0x010e0a73, 0x00bbc3ff, 0x0168dba0, 0x034530c2, 0x0009f580}}}, + {X: Field{[10]uint32{0x0099c5cc, 0x03635976, 0x025f9f13, 0x0093cbad, 0x022d3e4d, 0x01c5d5a3, 0x0255d403, 0x03462c2f, 0x03d95155, 0x003420ce}}, Y: Field{[10]uint32{0x024741e8, 0x01cef265, 0x01de13c4, 0x020bb13a, 0x02ffeefb, 0x01b6dc51, 0x03b1e4c5, 0x012ad447, 0x02c3b504, 0x0039426b}}}, + {X: Field{[10]uint32{0x03c37117, 0x00ca788b, 0x038a626c, 0x01885f27, 0x03ed62ad, 0x01e6039a, 0x0201b402, 0x005f90a2, 0x027c185f, 0x00231058}}, Y: Field{[10]uint32{0x023662f7, 0x016dee4e, 0x01ca77d9, 0x01071ccb, 0x02a36da4, 0x020fdcfb, 0x028a1e74, 0x029548df, 0x026c3316, 0x001d7288}}}, + {X: Field{[10]uint32{0x03728d27, 0x018a0ec9, 0x0311e7cc, 0x01b96d42, 0x002d75c2, 0x0284ee5f, 0x007099e9, 0x02a8c173, 0x0105e43a, 0x000dc7c0}}, Y: Field{[10]uint32{0x02b3ce99, 0x00ee031a, 0x0149b029, 0x009b3b7c, 0x01b11944, 0x0114e3ab, 0x00643120, 0x01b5a233, 0x03e7d097, 0x00325a76}}}, + {X: Field{[10]uint32{0x00cb1710, 0x03fef70b, 0x03e03541, 0x020dea3c, 0x02d94aeb, 0x01761930, 0x034d3a18, 0x028d63e2, 0x019a4238, 0x001440bd}}, Y: Field{[10]uint32{0x01ef1445, 0x008824e1, 0x016ce915, 0x030e27a6, 0x010bbffd, 0x035072af, 0x0130606c, 0x00f0fd33, 0x00f9adb6, 0x00278531}}}, + {X: Field{[10]uint32{0x03f08beb, 0x00aea9c7, 0x00cc26df, 0x02bef52a, 0x00a7f57e, 0x00d858bc, 0x00353c78, 0x0100f01e, 0x036cfd40, 0x00032886}}, Y: Field{[10]uint32{0x037f12f9, 0x038f9607, 0x03ffee6a, 0x02085092, 0x03d6b684, 0x0147b6c3, 0x019f2ef7, 0x02956cff, 0x004647eb, 0x0004228f}}}, + {X: Field{[10]uint32{0x01d775d9, 0x0139a28c, 0x007697c9, 0x00b2b310, 0x017ec364, 0x00038f72, 0x0368bc82, 0x034673a0, 0x00b3ff40, 0x00367351}}, Y: Field{[10]uint32{0x005f0901, 0x03257ad2, 0x033cb085, 0x006d6eaf, 0x03fd7c4a, 0x01e7792b, 0x00f71010, 0x03dc0753, 0x036c683e, 0x002dadbe}}}, + {X: Field{[10]uint32{0x01a10360, 0x02f7d105, 0x021e104f, 0x0020ff31, 0x00510da5, 0x006f5241, 0x01644267, 0x01a222ed, 0x00b2cbcb, 0x002684d5}}, Y: Field{[10]uint32{0x034f953a, 0x03a2e0a1, 0x01b9b710, 0x03ce0776, 0x03bc4927, 0x00f8900d, 0x023a2a89, 0x0122d136, 0x0291707c, 0x000fd7d4}}}, + {X: Field{[10]uint32{0x010fdf79, 0x002ae76b, 0x02941bd5, 0x0314e1a4, 0x0220fc60, 0x03ac3f6f, 0x03deb0bc, 0x020712b9, 0x020f271a, 0x00317957}}, Y: Field{[10]uint32{0x01c83a63, 0x001ddbff, 0x000aecb1, 0x01f5c228, 0x0285ed9e, 0x018aba4e, 0x0253e7cc, 0x024c041e, 0x0335eab4, 0x0004e283}}}, + {X: Field{[10]uint32{0x0060f919, 0x0012bb64, 0x012c69a0, 0x01c81667, 0x027c67ea, 0x03317d98, 0x010e4dc6, 0x02f4f48a, 0x03647f66, 0x0017af0b}}, Y: Field{[10]uint32{0x0054659c, 0x0265b582, 0x00f1e56e, 0x0182c432, 0x033ec1e8, 0x014da58d, 0x00f79206, 0x0217889f, 0x03cedf20, 0x001a3df6}}}, + {X: Field{[10]uint32{0x03966e03, 0x0041d733, 0x00b2da42, 0x02074e96, 0x00161d70, 0x029e7258, 0x011a5a79, 0x00374141, 0x039c7d06, 0x0013ca3a}}, Y: Field{[10]uint32{0x0267fafc, 0x03cf8174, 0x02a6c2ef, 0x00f4b3c4, 0x0044849f, 0x028abf9e, 0x02aeb8e4, 0x011d06ec, 0x00610543, 0x003b0de2}}}, + {X: Field{[10]uint32{0x0283fe8f, 0x0056d286, 0x005c0efe, 0x03b95fb2, 0x019fa039, 0x002cd1f2, 0x00c7a9a1, 0x00f82614, 0x00d1ce11, 0x003d4388}}, Y: Field{[10]uint32{0x02e975be, 0x026ff0fe, 0x00aa94db, 0x01e09f55, 0x00cee464, 0x00501fc8, 0x018595f6, 0x01068a08, 0x023190df, 0x00136df0}}}, + {X: Field{[10]uint32{0x03eff5ef, 0x021068ea, 0x01e76ab2, 0x01735092, 0x0079de94, 0x015620af, 0x038cdf2b, 0x02ae5775, 0x02d01ade, 0x003339ac}}, Y: Field{[10]uint32{0x00626e52, 0x0109f94d, 0x02bd5604, 0x02be7e89, 0x01bab1db, 0x0182c6f5, 0x03764bb5, 0x00502bf7, 0x02741312, 0x00075a41}}}, + {X: Field{[10]uint32{0x032d8475, 0x003b5ba7, 0x03bbfbc8, 0x0394b4d2, 0x01e4830b, 0x016bf3b0, 0x00c73121, 0x0155f4bb, 0x0174fb10, 0x00156994}}, Y: Field{[10]uint32{0x038012c0, 0x032245c9, 0x03eec611, 0x03539cd4, 0x023f0623, 0x01524e01, 0x00dd4126, 0x014dea5c, 0x01f1de1e, 0x0031a5e5}}}, + {X: Field{[10]uint32{0x0127f290, 0x03b4a298, 0x00ab0267, 0x0065d965, 0x02d0c1d8, 0x01eb2351, 0x022779e9, 0x02cf71f8, 0x00fa7b4d, 0x001e0887}}, Y: Field{[10]uint32{0x03c46a54, 0x014fa432, 0x00b663ad, 0x0030b8d6, 0x02ace066, 0x03aad594, 0x003a1582, 0x02318922, 0x01edfd8e, 0x00237735}}}, + {X: Field{[10]uint32{0x006ed178, 0x00b5bea6, 0x03f9602b, 0x038a3e4b, 0x009006cc, 0x00041e0b, 0x00da39d6, 0x0390d3b5, 0x0039441e, 0x0026e614}}, Y: Field{[10]uint32{0x02c6cfa4, 0x0397e704, 0x003bb85f, 0x0385cfc0, 0x028a50da, 0x0364e230, 0x03f67d22, 0x01ecade2, 0x01c87b53, 0x003873e1}}}, + {X: Field{[10]uint32{0x037edf20, 0x027c8103, 0x004f38ae, 0x02c0a477, 0x026c27e7, 0x026d9d5e, 0x01b9d78d, 0x0123795f, 0x03b14a9e, 0x0026a8bf}}, Y: Field{[10]uint32{0x037d1040, 0x022dfd8d, 0x00a115ff, 0x03549dcb, 0x018f80d7, 0x0164a54b, 0x00066ef8, 0x03de53f8, 0x03e378e0, 0x001dc71e}}}, + {X: Field{[10]uint32{0x02937e1f, 0x0166a271, 0x02c021e3, 0x0145b603, 0x00949de2, 0x00248a83, 0x00510cb4, 0x02d18c5f, 0x008366a0, 0x00344164}}, Y: Field{[10]uint32{0x02c8630e, 0x0105517e, 0x000ac99c, 0x00bebb1e, 0x020e5e6f, 0x03117836, 0x017155c0, 0x011052a2, 0x0225c9ea, 0x0021014e}}}, + {X: Field{[10]uint32{0x01c5d066, 0x028bfc7e, 0x027c23e7, 0x03671c2e, 0x031ac58a, 0x00aa07df, 0x01c2d810, 0x02612bfb, 0x02cf7456, 0x0007cfb2}}, Y: Field{[10]uint32{0x01a23e54, 0x00d7601c, 0x00d94cd4, 0x018b83e6, 0x0015f1f3, 0x0085a07e, 0x034539ef, 0x0093c5cf, 0x00fa2bfd, 0x0031ab76}}}, + {X: Field{[10]uint32{0x022c4371, 0x03372836, 0x024fe569, 0x001bacd4, 0x035e504d, 0x01b23e51, 0x0151ece8, 0x0032b495, 0x0309a16d, 0x0028c4b1}}, Y: Field{[10]uint32{0x03ae7b03, 0x01e00e6c, 0x039690c7, 0x00a6b1ef, 0x0008c1fc, 0x01ad6ee1, 0x009ea2c6, 0x03176882, 0x002aea04, 0x002197b3}}}, + {X: Field{[10]uint32{0x004197af, 0x03ccbd9d, 0x0169d953, 0x036c405f, 0x008c3493, 0x030bbb4e, 0x00f64109, 0x02e9e3ef, 0x0275e829, 0x003c8711}}, Y: Field{[10]uint32{0x018b2f57, 0x03dd2b42, 0x03ef2b37, 0x01cd20b4, 0x01043d93, 0x028dec0f, 0x030ee061, 0x01f2bd76, 0x033e4337, 0x003f4b19}}}, + {X: Field{[10]uint32{0x00865692, 0x03b5f006, 0x014268fe, 0x00ce9cef, 0x01f48369, 0x02146acc, 0x00b2eb61, 0x02680bef, 0x00ea2a02, 0x0004585d}}, Y: Field{[10]uint32{0x030aaefd, 0x01cb5375, 0x00352ee7, 0x015512d9, 0x0125cf38, 0x01bd7475, 0x03ca2a2d, 0x02b676d7, 0x0027e1ce, 0x000848f4}}}, + {X: Field{[10]uint32{0x03f9d663, 0x00cd7e9c, 0x0260a962, 0x0343d79f, 0x022334fc, 0x015f9cb5, 0x00a21173, 0x0131b3d9, 0x03d0919e, 0x000d639d}}, Y: Field{[10]uint32{0x0037bc08, 0x02dbad9e, 0x020cb8b5, 0x02be821a, 0x03dcf5cd, 0x0222b1f3, 0x03819859, 0x03d00c41, 0x02206f99, 0x001fbe35}}}, + {X: Field{[10]uint32{0x02a33fa9, 0x031b6aae, 0x0060db86, 0x02cea04d, 0x008056de, 0x00597eab, 0x0157e203, 0x03c518e4, 0x020d9e81, 0x001427df}}, Y: Field{[10]uint32{0x00db6ea9, 0x016e34a8, 0x03090a09, 0x017f0eff, 0x03fd1216, 0x00fc6b4e, 0x028645f9, 0x02db139a, 0x021a340e, 0x00154523}}}, + {X: Field{[10]uint32{0x02a4ed09, 0x031f9ab4, 0x020b9ad9, 0x02f50e00, 0x00a15c95, 0x00d1bc87, 0x01e30c49, 0x0038987a, 0x025c185f, 0x000d638c}}, Y: Field{[10]uint32{0x0118c4b8, 0x026d97cb, 0x01b3d97f, 0x02f4d1e2, 0x0154aa11, 0x02cf5861, 0x02ef6903, 0x0056ca04, 0x0074c977, 0x00017f30}}}, + {X: Field{[10]uint32{0x01a2fc4c, 0x00daf8f7, 0x00d2608d, 0x00411e24, 0x02e314c3, 0x00962780, 0x0337e4ea, 0x02bcb4df, 0x012dbc00, 0x0007871c}}, Y: Field{[10]uint32{0x010655dc, 0x02c7da92, 0x00c145bf, 0x01d410b5, 0x03974e7e, 0x034c2ce2, 0x0398cf5a, 0x01aef8d9, 0x039ae313, 0x00012263}}}, + {X: Field{[10]uint32{0x03ffcd1d, 0x025ed5c8, 0x03918bd7, 0x0081cd86, 0x0064e317, 0x0202a564, 0x03b794dc, 0x01e6c3fc, 0x039aaa3f, 0x0029945b}}, Y: Field{[10]uint32{0x0254f5d4, 0x0140c00e, 0x00f9bed5, 0x0373af6f, 0x02812373, 0x01f1f0c4, 0x0377b074, 0x02e0c14f, 0x006b59f3, 0x003164d3}}}, + {X: Field{[10]uint32{0x01098155, 0x00046e2c, 0x01b79295, 0x00cf6966, 0x0150cb56, 0x00c1111a, 0x03ab8240, 0x006e12e7, 0x00d88b1e, 0x00391ad2}}, Y: Field{[10]uint32{0x00c94f51, 0x01e4d96c, 0x00a80a5d, 0x02033654, 0x003e7c8a, 0x0165d0d4, 0x002e5512, 0x0265db8d, 0x02244a33, 0x0010fa6e}}}, + {X: Field{[10]uint32{0x0365aa0b, 0x00cdc34f, 0x03400e58, 0x01000489, 0x00e1cc2d, 0x037e79c5, 0x025105b1, 0x030b8018, 0x009997a9, 0x00329e94}}, Y: Field{[10]uint32{0x02e1f071, 0x007abf99, 0x02039b7a, 0x011334b3, 0x0319c618, 0x03df2c3b, 0x01994fce, 0x03346883, 0x00e4d2ee, 0x00376329}}}, + {X: Field{[10]uint32{0x02313f08, 0x003561a5, 0x02d0da39, 0x027bb007, 0x00848659, 0x01de1b10, 0x01352d4b, 0x015dbc44, 0x02c0d29b, 0x000c9ad7}}, Y: Field{[10]uint32{0x0011d384, 0x020a2a04, 0x0126495e, 0x0280f693, 0x01c2d5d3, 0x0356ca83, 0x02a60633, 0x01952f9e, 0x0171a4ac, 0x003d28fc}}}, + {X: Field{[10]uint32{0x030d306d, 0x024c8a39, 0x03e2b392, 0x03bb944b, 0x017c5bf8, 0x03fa6eb6, 0x017038db, 0x031d6a95, 0x018254f5, 0x0002dd8a}}, Y: Field{[10]uint32{0x003606c5, 0x036cf6c5, 0x016fbf92, 0x01d4e612, 0x020cc85c, 0x035f7a2f, 0x035bb2d0, 0x00fa18b1, 0x039fb36e, 0x0022e023}}}, + {X: Field{[10]uint32{0x032286ca, 0x026886e1, 0x014f5ef7, 0x0295e419, 0x03ae66f1, 0x03c6a046, 0x0250a096, 0x00dbff77, 0x00e12b1d, 0x0022f589}}, Y: Field{[10]uint32{0x011f02df, 0x02e015eb, 0x004d0fe9, 0x02885c15, 0x038bf6a2, 0x01108d2b, 0x0331c747, 0x022586d9, 0x022ef453, 0x0019a1fa}}}, + {X: Field{[10]uint32{0x01de48a9, 0x02349741, 0x03da42d7, 0x00cf555c, 0x01509d1c, 0x03e11b19, 0x01414ccc, 0x024a402f, 0x02c72a9f, 0x003b497a}}, Y: Field{[10]uint32{0x00d89eaa, 0x0287ad40, 0x028b98f3, 0x03407dce, 0x018705a9, 0x020b35ef, 0x011583c6, 0x03f40edb, 0x01ed2710, 0x00155bea}}}, + {X: Field{[10]uint32{0x00bc02bf, 0x012e79c2, 0x000600df, 0x030778a0, 0x000e8fac, 0x01d57ecc, 0x027bc94c, 0x01aa1271, 0x036c9ed7, 0x003c650e}}, Y: Field{[10]uint32{0x002a40a7, 0x023295a2, 0x004b0481, 0x00cb7c7e, 0x03a31562, 0x00b2e1db, 0x00bb6464, 0x01383dab, 0x020885dc, 0x002631ee}}}, + {X: Field{[10]uint32{0x01e9e5d3, 0x01460ca9, 0x02f391d3, 0x0085ab23, 0x03834228, 0x033b6b9e, 0x0024276d, 0x02ae3ec3, 0x03142de3, 0x00316d82}}, Y: Field{[10]uint32{0x02b5cd69, 0x00ab37e7, 0x01260e91, 0x01e381f0, 0x02332595, 0x00535297, 0x01e10d90, 0x039827d5, 0x00da1174, 0x0033a1b9}}}, + {X: Field{[10]uint32{0x013755ab, 0x00b10252, 0x014f592e, 0x000305a3, 0x01c77782, 0x014fe678, 0x019647b2, 0x03f98ccd, 0x038e706c, 0x0002c198}}, Y: Field{[10]uint32{0x0344bbd5, 0x0228e0f2, 0x0369d3e8, 0x01ee1f9f, 0x03e16dd3, 0x027e54d5, 0x02e24933, 0x0148a44d, 0x03ab1b4d, 0x00399007}}}, + {X: Field{[10]uint32{0x024b14cf, 0x00e6df49, 0x03cd89f5, 0x0391a052, 0x03f0ec5f, 0x00cbe958, 0x0250ea54, 0x02b3f4a5, 0x01b5486d, 0x0033be30}}, Y: Field{[10]uint32{0x025a2fcf, 0x01aab046, 0x0166c931, 0x00aac94b, 0x015ed4fd, 0x01875ca0, 0x00939ea7, 0x002f8c00, 0x02c18d0b, 0x00020330}}}, + {X: Field{[10]uint32{0x0385d7ce, 0x011b6892, 0x014f38e5, 0x01009a5d, 0x0162defb, 0x00662c70, 0x00dccac4, 0x03ca857f, 0x004df868, 0x003d85a4}}, Y: Field{[10]uint32{0x038255b3, 0x0098ce9e, 0x023e47f6, 0x00deabab, 0x03de8b4d, 0x01cecc73, 0x03b93e0b, 0x009327c2, 0x00123440, 0x003ee5c4}}}, + {X: Field{[10]uint32{0x018632e3, 0x03d8b0fe, 0x02599a59, 0x0397b602, 0x011613d8, 0x000bfbd3, 0x02516979, 0x0129ecce, 0x0144bc7e, 0x0025ce18}}, Y: Field{[10]uint32{0x00fc16b4, 0x001b4d83, 0x03b6a5a8, 0x0196e9e6, 0x0308e560, 0x010c6bc9, 0x01834a95, 0x0264e4b7, 0x01845842, 0x002f44b5}}}, + {X: Field{[10]uint32{0x030200c8, 0x03390dee, 0x0311b551, 0x03701584, 0x011eb08d, 0x0195ac9e, 0x003a56f6, 0x03e803d0, 0x030c7a70, 0x00251bc4}}, Y: Field{[10]uint32{0x01945b8d, 0x019a5278, 0x0310507a, 0x02529efd, 0x00186d97, 0x02bc15e1, 0x01a923f3, 0x01f981fd, 0x00f6a503, 0x002b35a6}}}, + {X: Field{[10]uint32{0x03929230, 0x0102f730, 0x0287d917, 0x030cd08d, 0x01d5f1af, 0x03034962, 0x038c064f, 0x014ec030, 0x018472c4, 0x003b833c}}, Y: Field{[10]uint32{0x03ff8dc8, 0x01e09927, 0x0191f79c, 0x00a2cdba, 0x008c773c, 0x03289264, 0x014db12f, 0x034e5fa5, 0x035a7fec, 0x003605dd}}}, + {X: Field{[10]uint32{0x01535d7b, 0x018e9ddf, 0x03c21234, 0x0225364e, 0x03ef0072, 0x02ac4a1f, 0x0148b4f4, 0x02961c27, 0x03fe9542, 0x003ccd7d}}, Y: Field{[10]uint32{0x03350283, 0x006140b8, 0x01bf7455, 0x03a69ac6, 0x017639da, 0x023abed3, 0x0389c06d, 0x0174a4d4, 0x01a30246, 0x000cdb92}}}, + {X: Field{[10]uint32{0x017e7739, 0x02c383f2, 0x03f06f0e, 0x01b15675, 0x00b1326d, 0x01daa410, 0x00200d7b, 0x01fe3773, 0x01794fb3, 0x00156fe0}}, Y: Field{[10]uint32{0x03e69bfc, 0x024c28ab, 0x0086632e, 0x0293d274, 0x013053f6, 0x01f5c0fb, 0x002ade6f, 0x017307a4, 0x03007915, 0x00328cf3}}}, + {X: Field{[10]uint32{0x01de29b0, 0x01f5bd8a, 0x0062349b, 0x0004bf83, 0x031033b9, 0x02edb650, 0x022195fa, 0x0369197b, 0x03816143, 0x0037ff33}}, Y: Field{[10]uint32{0x00f0aff7, 0x01d6e71d, 0x0190bbfe, 0x02757f7b, 0x00c04bc3, 0x02178562, 0x029fc06f, 0x012b9f70, 0x03f6e1dc, 0x0026ff7c}}}, + {X: Field{[10]uint32{0x0139dec3, 0x039f608d, 0x0177f3c5, 0x0044ba3d, 0x02c435bc, 0x0155aec4, 0x01c1395b, 0x01be8bf9, 0x009425fc, 0x002e5d23}}, Y: Field{[10]uint32{0x014007a2, 0x032a2a32, 0x016e3dfa, 0x02f18eaa, 0x00f76d31, 0x0354507b, 0x016b2336, 0x0348ed7a, 0x03b2b995, 0x003d48e2}}}, + {X: Field{[10]uint32{0x0297f7ca, 0x00561e2b, 0x039a3fb6, 0x0397e9a8, 0x022c5349, 0x03d4ab66, 0x0329e335, 0x02c55ce3, 0x0054e951, 0x0024b10f}}, Y: Field{[10]uint32{0x012b4a17, 0x02c06558, 0x022bf71b, 0x01e75a29, 0x02bdc4ae, 0x00d92d8a, 0x00924fc6, 0x006f28c2, 0x0373dedd, 0x001f1e9a}}}, + {X: Field{[10]uint32{0x021eb272, 0x02d9ac34, 0x02d96040, 0x03a7d1c9, 0x035677af, 0x01e96248, 0x01ef139d, 0x017957b8, 0x03ea2599, 0x0002c64d}}, Y: Field{[10]uint32{0x03043dd6, 0x024c6033, 0x019195a9, 0x000ea3aa, 0x005585c5, 0x03911253, 0x003e0ca5, 0x031f3f9b, 0x0257544a, 0x00343e56}}}, + {X: Field{[10]uint32{0x0133f457, 0x01b601f0, 0x01fc94a4, 0x01ea3443, 0x00e2a504, 0x00026de2, 0x005a6b72, 0x03892caf, 0x024dbd7e, 0x000b0735}}, Y: Field{[10]uint32{0x020aabe3, 0x01a12dd9, 0x0230cfd8, 0x03ea7a73, 0x027a9449, 0x0179a209, 0x0031a1f0, 0x01e92f9f, 0x03dfce7d, 0x003fa298}}}, + {X: Field{[10]uint32{0x01004834, 0x03d4ff11, 0x014ed447, 0x01a1b321, 0x026d5443, 0x002900f5, 0x0030649b, 0x02a28ada, 0x0278be6e, 0x0013fc42}}, Y: Field{[10]uint32{0x018765d8, 0x00b4a1f9, 0x018bdb36, 0x035ca3d7, 0x01e43384, 0x0138b6c3, 0x001cf5bf, 0x001658ba, 0x00c356d5, 0x002cf2cc}}}, + {X: Field{[10]uint32{0x003d28de, 0x000d563d, 0x0344d9da, 0x0320145c, 0x01f877e8, 0x031c5164, 0x00a7c2a0, 0x01996ad8, 0x03666c90, 0x000cfd56}}, Y: Field{[10]uint32{0x015163f6, 0x0293d90b, 0x01ce08c2, 0x0150e17b, 0x02af1467, 0x024e4c68, 0x020ea80c, 0x017b562b, 0x00ab6aa9, 0x000e6612}}}, + {X: Field{[10]uint32{0x000d3e04, 0x0221eacd, 0x02636020, 0x01b56216, 0x02408da6, 0x03fcb5af, 0x037cc150, 0x00dfac62, 0x03595a72, 0x002e5c48}}, Y: Field{[10]uint32{0x0272363a, 0x01e22cef, 0x00ead817, 0x0223ea1f, 0x02dd125f, 0x031a4c51, 0x03f0ab8f, 0x0316906c, 0x03bd643a, 0x0028a0e8}}}, + {X: Field{[10]uint32{0x00a1035b, 0x0297f058, 0x00dccf0b, 0x02953661, 0x035a4204, 0x03fdcce3, 0x002c1e9f, 0x0250d7d8, 0x00676efa, 0x003483e4}}, Y: Field{[10]uint32{0x03404139, 0x02b9dee3, 0x0086f3fa, 0x01bd9915, 0x01ca1af2, 0x028c545d, 0x004406ce, 0x000fe1c9, 0x007a4520, 0x002b0e8f}}}, + {X: Field{[10]uint32{0x02f41f2d, 0x0252d4ff, 0x02ef54e2, 0x03800fb8, 0x0281d8b3, 0x001cb864, 0x00b2d0bd, 0x027c3511, 0x02a3157c, 0x000c8b5b}}, Y: Field{[10]uint32{0x012936b3, 0x0166d37e, 0x03a97ec3, 0x03dba98a, 0x026e096d, 0x0298e310, 0x02a9e676, 0x00b7799d, 0x03f19dc1, 0x0020e051}}}, + {X: Field{[10]uint32{0x020c26d5, 0x027b67be, 0x024cf8f2, 0x032e52ab, 0x011d2bfa, 0x02b802c3, 0x0164ea7b, 0x0106dadd, 0x00080683, 0x00256497}}, Y: Field{[10]uint32{0x02b92130, 0x01bdfe1d, 0x006d02b4, 0x03f2f749, 0x00edf14c, 0x0081f0bb, 0x015557b2, 0x0088cb09, 0x01b91315, 0x000318fb}}}, + {X: Field{[10]uint32{0x011f70af, 0x03b86f4f, 0x01664c06, 0x00b4f692, 0x03517a71, 0x00e64f35, 0x03fba71e, 0x00637684, 0x02b5d436, 0x001d64aa}}, Y: Field{[10]uint32{0x02eaa410, 0x0274e185, 0x01b457d7, 0x02ba5de8, 0x027a9222, 0x033ea2ac, 0x000aef1c, 0x00a1356b, 0x0077af74, 0x001553ba}}}, + {X: Field{[10]uint32{0x0209e0eb, 0x03669644, 0x03503671, 0x0129814f, 0x00806257, 0x02ce45a0, 0x031ad311, 0x02dc7e18, 0x018be13e, 0x003b674a}}, Y: Field{[10]uint32{0x0185c3cb, 0x02e86e27, 0x02b6fe54, 0x03f35403, 0x017b479e, 0x03d0361f, 0x007caa30, 0x0221b668, 0x03c0dab8, 0x0025ea6a}}}, + {X: Field{[10]uint32{0x02355fad, 0x039250be, 0x01fcb9f8, 0x028bff0e, 0x0378ae69, 0x002351a6, 0x028daf33, 0x002f0ef4, 0x0236a590, 0x00337fbd}}, Y: Field{[10]uint32{0x020db6d7, 0x02039194, 0x02d5179f, 0x0314de3c, 0x02f4f6c7, 0x024581ea, 0x02a1c255, 0x03bd3a91, 0x03cc54c0, 0x003e0ce3}}}, + {X: Field{[10]uint32{0x0149db49, 0x014b9a9e, 0x035848ca, 0x00f5a961, 0x03dbc094, 0x01b67d76, 0x03a8fc42, 0x02f5ab29, 0x03220ca3, 0x003d8e33}}, Y: Field{[10]uint32{0x01675295, 0x02478290, 0x03732f36, 0x009a7f47, 0x01653a79, 0x03565450, 0x03490039, 0x03aade42, 0x03dd8309, 0x0015a899}}}, + {X: Field{[10]uint32{0x0314bd1c, 0x01e8ac63, 0x02e1e638, 0x00eaf250, 0x037a6616, 0x018e482c, 0x0076cab1, 0x010fd40f, 0x02f29b1e, 0x0010d03f}}, Y: Field{[10]uint32{0x032210a0, 0x00af0ae0, 0x01eb6ad6, 0x00562eee, 0x0159ff2f, 0x01bdea77, 0x00908f0b, 0x034d4f1b, 0x002d6889, 0x000b569e}}}, + {X: Field{[10]uint32{0x01b80991, 0x0208bc6a, 0x01a30bf2, 0x025b1bb4, 0x001aa832, 0x03bae09b, 0x012c01fb, 0x036c4c33, 0x028005e3, 0x001e2be1}}, Y: Field{[10]uint32{0x008c3725, 0x0106bd89, 0x02a2a49d, 0x03761881, 0x01ec458c, 0x02e53e0d, 0x000d95b6, 0x033a449a, 0x023637a6, 0x000671f2}}}, + {X: Field{[10]uint32{0x01c41ef4, 0x00ab8472, 0x02d4958a, 0x01e4e2e5, 0x01720642, 0x00ecf558, 0x02831c01, 0x02fbdd52, 0x010fe6a4, 0x00361f96}}, Y: Field{[10]uint32{0x021d1dc6, 0x02d02e6f, 0x016b3e30, 0x0286d422, 0x0353b97a, 0x023b53af, 0x03ff97ff, 0x00d227c7, 0x013ac9b4, 0x000e4a2a}}}, + {X: Field{[10]uint32{0x01c54c32, 0x02a111b7, 0x00a7f630, 0x01a4656e, 0x0285ea85, 0x002e41db, 0x015cfd0a, 0x011fa505, 0x01f369c5, 0x002d6746}}, Y: Field{[10]uint32{0x02661865, 0x03fc2176, 0x00357f81, 0x01fb1129, 0x032d5082, 0x02058b17, 0x0383d552, 0x02af838a, 0x008affe7, 0x002e3d56}}}, + {X: Field{[10]uint32{0x00f3ee78, 0x00f4c318, 0x0143a6d8, 0x02f57abd, 0x03662726, 0x007050ea, 0x02a64cd8, 0x026c000e, 0x03da7cd5, 0x000d3d90}}, Y: Field{[10]uint32{0x00501ee8, 0x001111bd, 0x03b22d52, 0x0078fe91, 0x0291906c, 0x00fb968d, 0x00bd29b0, 0x03d5cd68, 0x00f291a7, 0x001055d3}}}, + {X: Field{[10]uint32{0x033dbbf3, 0x00e57588, 0x01b4ecac, 0x03d5ac17, 0x00fd007b, 0x030c725a, 0x0378757d, 0x027790cf, 0x03d0583e, 0x0015bbcd}}, Y: Field{[10]uint32{0x035c9286, 0x0052e6b7, 0x0229a92c, 0x037ee7a5, 0x02ba8cb5, 0x00ee853a, 0x02e28075, 0x0263e442, 0x001ab5c8, 0x00285038}}}, + {X: Field{[10]uint32{0x01c957d7, 0x037402bb, 0x00fc87e3, 0x01d9e115, 0x02fc54dd, 0x00e97750, 0x039ca5cb, 0x015a2c44, 0x0334815b, 0x0000790f}}, Y: Field{[10]uint32{0x02334cc8, 0x01c93ddf, 0x0302c85d, 0x03eb410c, 0x008e947a, 0x01370af7, 0x0282d9e6, 0x03b881e2, 0x0274ac96, 0x001730e0}}}, + {X: Field{[10]uint32{0x0339a952, 0x00c18bf0, 0x00eabad9, 0x020a63de, 0x01f8b06c, 0x03606df7, 0x029046d3, 0x036df366, 0x024935d2, 0x000339e7}}, Y: Field{[10]uint32{0x004f9686, 0x0282286e, 0x01dc7fff, 0x03d7f701, 0x038765c8, 0x02f0f3d6, 0x018c4943, 0x0189a96b, 0x02ee1b90, 0x003f0bdb}}}, + {X: Field{[10]uint32{0x02fe4fd9, 0x01030c61, 0x00e2c76c, 0x030d2cf7, 0x00f6766c, 0x0068033e, 0x00c3365e, 0x00b099c3, 0x0004ca86, 0x002d0512}}, Y: Field{[10]uint32{0x01b2219c, 0x016e6b54, 0x004b8717, 0x02ad78a8, 0x0029cbda, 0x00e803f5, 0x03752f00, 0x01b8028f, 0x021fca9b, 0x00390da2}}}, + {X: Field{[10]uint32{0x034fd39f, 0x00750887, 0x006a70b7, 0x007b06f1, 0x01541634, 0x03b5274e, 0x039cf65c, 0x03e09239, 0x03247406, 0x003aa8a5}}, Y: Field{[10]uint32{0x017c14a6, 0x0374a2ea, 0x01d46248, 0x033c0e28, 0x02d0d4b6, 0x01788610, 0x00d99328, 0x01730f79, 0x001be3b7, 0x001a39fe}}}, + {X: Field{[10]uint32{0x00f5b6a5, 0x00bb140c, 0x02999e7a, 0x0327d0b1, 0x02eb7371, 0x0372ff1c, 0x00c6caa3, 0x0222f0ee, 0x00ff1f72, 0x00138b44}}, Y: Field{[10]uint32{0x025a8774, 0x020803c2, 0x00f82be8, 0x03d7ad9e, 0x006ba793, 0x03905f40, 0x03515ca3, 0x013ec2a4, 0x005cdf2a, 0x001a368f}}}, + {X: Field{[10]uint32{0x030659f1, 0x02776888, 0x01adce00, 0x025115f0, 0x007d073b, 0x019f0a25, 0x00a4b45c, 0x03b258aa, 0x01e1114d, 0x0020d3c8}}, Y: Field{[10]uint32{0x01adc89c, 0x02b1fec9, 0x00a6ef78, 0x036d8c83, 0x0339263a, 0x001299f0, 0x03acb27d, 0x028280bd, 0x01b6edb5, 0x003a7e98}}}, + {X: Field{[10]uint32{0x00c7d0c7, 0x01c4e78c, 0x00381ece, 0x0367e6f7, 0x01c43cae, 0x034f5a3f, 0x03268d7c, 0x011156a5, 0x00aca0a6, 0x002a12d1}}, Y: Field{[10]uint32{0x03bf6b74, 0x02bc9642, 0x00d6da05, 0x01e4e20b, 0x03d12678, 0x02466bde, 0x03bde43f, 0x000aef4b, 0x033b74e7, 0x000be40f}}}, + {X: Field{[10]uint32{0x001d6789, 0x00d207c9, 0x02cbdd41, 0x01f2ed0c, 0x02600cbe, 0x02783e9b, 0x031df66f, 0x02e5dd1e, 0x020698bc, 0x00084867}}, Y: Field{[10]uint32{0x00954055, 0x0346249c, 0x03736aef, 0x02f8c92e, 0x022e6970, 0x02d74c99, 0x017d9688, 0x0061d2a2, 0x00d3c896, 0x001e90e2}}}, + {X: Field{[10]uint32{0x03aeafd4, 0x01ec8be6, 0x03562686, 0x01260a89, 0x017b9465, 0x013d261e, 0x034bbdbe, 0x0333da22, 0x021f93bf, 0x003e9453}}, Y: Field{[10]uint32{0x00f91b74, 0x03c95f69, 0x0330a478, 0x015b09a9, 0x012c2f61, 0x0324c382, 0x0087b518, 0x00ad2a78, 0x02155257, 0x00333520}}}, + {X: Field{[10]uint32{0x01451ffb, 0x03e80b1e, 0x01ffa4ca, 0x03d4fcbf, 0x012204d4, 0x026f630b, 0x0133a4a9, 0x0267c301, 0x03f16430, 0x002d82be}}, Y: Field{[10]uint32{0x0321294b, 0x03bbe2d2, 0x03f43886, 0x0018fbbc, 0x01d321e0, 0x01af69ba, 0x00b3bd27, 0x02649b35, 0x03901a02, 0x0003fb63}}}, + {X: Field{[10]uint32{0x03ed76cd, 0x02143a29, 0x00defc74, 0x0194e71b, 0x0017c2b7, 0x0151a53a, 0x02fcca65, 0x038d2a1b, 0x01a3196c, 0x003ca73e}}, Y: Field{[10]uint32{0x00c9c5f7, 0x0044a7e2, 0x028f6247, 0x01de6547, 0x00994b29, 0x036d6eb3, 0x03f1bf62, 0x00cf3ecd, 0x023af7c3, 0x00144c21}}}, + {X: Field{[10]uint32{0x01084e4d, 0x02e49d71, 0x014ed563, 0x0128c889, 0x01d8fe31, 0x00f88fc7, 0x03af34b0, 0x02ff1468, 0x023acb00, 0x00273678}}, Y: Field{[10]uint32{0x0298e1d5, 0x01bf1384, 0x0277d4d3, 0x0133e34a, 0x014f31bd, 0x01ecc5c1, 0x01d6c1a1, 0x029c4054, 0x035cc66e, 0x003b3c08}}}, + {X: Field{[10]uint32{0x02e5d65c, 0x00edbd7d, 0x025bff3d, 0x0246acac, 0x0218ed66, 0x0395a8a0, 0x02d99a6b, 0x00122be5, 0x01b02cfa, 0x0015be22}}, Y: Field{[10]uint32{0x001fe4bc, 0x03a81ec9, 0x00d921b7, 0x00a7a832, 0x01bb8ecc, 0x03723f28, 0x034f8248, 0x01cabfd9, 0x00ea4a23, 0x000d4ac8}}}, + {X: Field{[10]uint32{0x01ff2a08, 0x024daad7, 0x03dea16c, 0x039491af, 0x028e2366, 0x00f7bd55, 0x0169a7dd, 0x0363f05b, 0x02b7f8fa, 0x00378caf}}, Y: Field{[10]uint32{0x009e145f, 0x00013509, 0x01acba7c, 0x0332c378, 0x03eaa216, 0x038997ea, 0x002bd06f, 0x0070891b, 0x011c93a7, 0x0035cc7c}}}, + {X: Field{[10]uint32{0x026ba256, 0x0222578a, 0x02693096, 0x00ebe612, 0x037d12dc, 0x03beab36, 0x03dfa58f, 0x00a76300, 0x01c1dc17, 0x00217b1f}}, Y: Field{[10]uint32{0x024a747c, 0x02c2d166, 0x0041b194, 0x03cae86a, 0x0189e4b9, 0x03ee8c77, 0x00c73b5a, 0x02af2fe6, 0x00af8e9a, 0x00148c0e}}}, + {X: Field{[10]uint32{0x01e2e141, 0x02972bd0, 0x014abe23, 0x0038ac9b, 0x02e22328, 0x00b6e2fd, 0x03f5efe4, 0x023b07b5, 0x01956052, 0x003de522}}, Y: Field{[10]uint32{0x00c6ff98, 0x03f2dee0, 0x012fcdd6, 0x01585b37, 0x0258871e, 0x02a35b67, 0x0037e9fd, 0x007e621a, 0x00e296ed, 0x0027dd65}}}, + {X: Field{[10]uint32{0x03454f10, 0x0267383c, 0x00137621, 0x00eb88a3, 0x02866bd5, 0x0006a4ef, 0x036e8eef, 0x022094f5, 0x03d3b420, 0x0016235b}}, Y: Field{[10]uint32{0x002af573, 0x008a92ed, 0x02d2c6d9, 0x0206b437, 0x0206320b, 0x00c6df8c, 0x03f29ade, 0x00822ee8, 0x02533e41, 0x00297f25}}}, + {X: Field{[10]uint32{0x00cc7443, 0x0108f787, 0x0259c0bf, 0x0253a0d1, 0x03b01db2, 0x025d9dde, 0x0387d4e8, 0x03229d5b, 0x008dbbe5, 0x00061bf8}}, Y: Field{[10]uint32{0x03dfbdc0, 0x01be67a6, 0x01bdca25, 0x009a9912, 0x0229f12e, 0x00d7f432, 0x037a93a4, 0x01e080d0, 0x0139a46f, 0x0036677b}}}, + {X: Field{[10]uint32{0x01bd3d25, 0x01b57796, 0x036bb5a0, 0x02600bd5, 0x022af22e, 0x03b84ccd, 0x03eac38c, 0x02afcced, 0x03083055, 0x00395272}}, Y: Field{[10]uint32{0x01332381, 0x000c971f, 0x005fd4fe, 0x0390d2a5, 0x015ababd, 0x03f0d6b9, 0x001c7f7a, 0x00520d99, 0x0320e7b5, 0x00337cdf}}}, + {X: Field{[10]uint32{0x0224422b, 0x024ce240, 0x006e18ac, 0x01e7d4ea, 0x00b930df, 0x03fa12d6, 0x006108fc, 0x01456172, 0x02fbfd7f, 0x0029390a}}, Y: Field{[10]uint32{0x00ce1e30, 0x011e5800, 0x03e2f1ea, 0x0072efa8, 0x00541e55, 0x024575eb, 0x00d6177f, 0x00c40ad6, 0x021b0396, 0x0003a7e3}}}, + {X: Field{[10]uint32{0x0003dadb, 0x03bf72b6, 0x03d4ed09, 0x02a5c667, 0x004755fb, 0x01dd43e9, 0x009e9cfb, 0x00bd09ac, 0x00444202, 0x0017dfb6}}, Y: Field{[10]uint32{0x0376ffad, 0x0386f74a, 0x01addccb, 0x030e6ff3, 0x00e852d9, 0x02425bc7, 0x01592fcc, 0x023ac272, 0x01edd06a, 0x00024757}}}, + {X: Field{[10]uint32{0x02938d66, 0x038603b0, 0x038f1868, 0x03e42be8, 0x0191dcf7, 0x03d9ef45, 0x033fa223, 0x0193842c, 0x034332f0, 0x000feb11}}, Y: Field{[10]uint32{0x02aabe5c, 0x00f69878, 0x019206f9, 0x003e7a99, 0x03eebf27, 0x0045cc2e, 0x006d10ab, 0x00de64ce, 0x02676b20, 0x00115d13}}}, + {X: Field{[10]uint32{0x037a7aa9, 0x0192f7fe, 0x006b190e, 0x003da863, 0x00d4b10e, 0x01f639e1, 0x00d13df9, 0x034850b9, 0x03fff058, 0x0017ee60}}, Y: Field{[10]uint32{0x01dabd6f, 0x003c69a3, 0x018e8346, 0x020629b5, 0x00ec5811, 0x025ccf5d, 0x0373f73a, 0x0103343a, 0x02018dc5, 0x000cce51}}}, + {X: Field{[10]uint32{0x0341f88a, 0x003d79b7, 0x020e043e, 0x0078674f, 0x009c6e94, 0x02c20d99, 0x015eec1a, 0x00e68b6c, 0x01c30fa9, 0x0002ebcd}}, Y: Field{[10]uint32{0x028e9201, 0x004234bd, 0x01966214, 0x011553fb, 0x019de414, 0x00ee2c1a, 0x02bdc3fe, 0x0286f13b, 0x00d3e53f, 0x0010960f}}}, + {X: Field{[10]uint32{0x009a8602, 0x00128160, 0x01f9a0c7, 0x0366b36e, 0x004266c4, 0x00fecf58, 0x0186183a, 0x01ffc3c7, 0x035aa51e, 0x0025d907}}, Y: Field{[10]uint32{0x019517dd, 0x034ca1eb, 0x0239b5b0, 0x03f51676, 0x031ab169, 0x0073e9e3, 0x0182fc90, 0x02f6fb63, 0x0232aa9f, 0x0004d3fe}}}, + {X: Field{[10]uint32{0x0327292e, 0x031ad549, 0x02a5ee23, 0x03286a1d, 0x03f59feb, 0x02f8170d, 0x01aa8fb4, 0x03db716b, 0x011eacda, 0x0025a8dc}}, Y: Field{[10]uint32{0x01da4392, 0x03b34fe9, 0x00e96b82, 0x008d5840, 0x0134be91, 0x01eb5760, 0x01fce0e6, 0x02eded78, 0x03b9681e, 0x0023ec33}}}, + {X: Field{[10]uint32{0x03154b0a, 0x02ab7bd3, 0x01e2a14f, 0x02c0fa75, 0x029f9f16, 0x004d8c82, 0x01388926, 0x0031b4a3, 0x028b8e54, 0x002b9910}}, Y: Field{[10]uint32{0x00118aeb, 0x01e524ff, 0x002e4d5b, 0x03b5bf9b, 0x03cc68ad, 0x003fd679, 0x02d5193b, 0x01cf36e7, 0x025eb9bf, 0x0036c80b}}}, + {X: Field{[10]uint32{0x00c984fb, 0x00a41d5b, 0x0038d422, 0x03feea1d, 0x03e16424, 0x016d210c, 0x03532cf1, 0x030b0452, 0x02df65c0, 0x000b164c}}, Y: Field{[10]uint32{0x03d29130, 0x028b0931, 0x01e47f59, 0x00a0b3ac, 0x011c6436, 0x022e7fd3, 0x015deec3, 0x02815b4e, 0x00c4b908, 0x000587be}}}, + {X: Field{[10]uint32{0x02ecca3e, 0x0123d55e, 0x02071f9c, 0x0276f1a4, 0x02241538, 0x03aff2ff, 0x0252d563, 0x02e9a460, 0x00786937, 0x001db887}}, Y: Field{[10]uint32{0x0133c8e6, 0x0293bf51, 0x02a77a3f, 0x00a235c6, 0x01ca634d, 0x024c27fa, 0x0361d0d4, 0x01f5878e, 0x02fe9db4, 0x00379de1}}}, + {X: Field{[10]uint32{0x0267900f, 0x01c2016c, 0x00a36eaa, 0x018ff259, 0x02099df3, 0x02bf1a91, 0x020b3466, 0x004e3474, 0x00efca8a, 0x001c5c37}}, Y: Field{[10]uint32{0x00c0bb8d, 0x00db5776, 0x0320303b, 0x039188fe, 0x00440562, 0x021c3e3e, 0x0389f7bf, 0x00515663, 0x0139476f, 0x00065aff}}}, + {X: Field{[10]uint32{0x011b6ccd, 0x001f16da, 0x036f2e69, 0x018b8d60, 0x0361a956, 0x0347a27d, 0x01fb466e, 0x034916a8, 0x02b075bd, 0x00263b77}}, Y: Field{[10]uint32{0x030c91be, 0x02a107d5, 0x02814731, 0x0266aca5, 0x00bdbcdc, 0x00228e8b, 0x002ddc21, 0x0092e327, 0x01f6b591, 0x002bcfed}}}, + {X: Field{[10]uint32{0x028e8849, 0x03db6a2e, 0x00e6768b, 0x01383ea6, 0x018dd1c3, 0x0160de70, 0x0236fc5c, 0x0181be97, 0x000659ae, 0x002fd0be}}, Y: Field{[10]uint32{0x0155b8af, 0x039a3e1d, 0x0298f26b, 0x0344873b, 0x00ca74a0, 0x01aeba31, 0x03495782, 0x036e511b, 0x03706e4a, 0x0034d0fe}}}, + {X: Field{[10]uint32{0x0262e1cd, 0x037e5551, 0x038a0d82, 0x0170230c, 0x02c42fd6, 0x018927f0, 0x0075c365, 0x023718a4, 0x00a5891e, 0x00103071}}, Y: Field{[10]uint32{0x00689ec3, 0x02843a73, 0x0303ae5a, 0x009ce815, 0x03f20253, 0x02f304ac, 0x015d8192, 0x03db0dc6, 0x03d0e68e, 0x00199c88}}}, + {X: Field{[10]uint32{0x03883dc1, 0x0044cfa3, 0x03c92b92, 0x00f1524b, 0x03bfd3ef, 0x02828b5b, 0x004cf1b1, 0x00ff920e, 0x03100c8e, 0x00058b74}}, Y: Field{[10]uint32{0x01b5cff0, 0x00f23803, 0x00e21a65, 0x013a1ba8, 0x003d0ebf, 0x03d24387, 0x0197685c, 0x000ae7dc, 0x01d5c82f, 0x0007c8c4}}}, + {X: Field{[10]uint32{0x006331cb, 0x031f9033, 0x03b3dbdf, 0x03f5455e, 0x005d63c4, 0x00227b16, 0x03302e51, 0x02b8f3cf, 0x014689ea, 0x003fc3e0}}, Y: Field{[10]uint32{0x0151bf2e, 0x02d591c1, 0x00c2dac2, 0x037d68ec, 0x02f8814c, 0x01e3476a, 0x02549737, 0x00a78eeb, 0x01b94eb5, 0x0013707f}}}, + {X: Field{[10]uint32{0x0207b78e, 0x028e45d1, 0x02033c3e, 0x010553d2, 0x0314b3e6, 0x0131b66a, 0x0072b224, 0x02d55cbd, 0x0274b011, 0x00050eb9}}, Y: Field{[10]uint32{0x0201c35c, 0x032d084d, 0x0099fdb9, 0x022b8667, 0x03ca2029, 0x0280f7f5, 0x018820c0, 0x03ee8980, 0x01820fae, 0x00054a35}}}, + {X: Field{[10]uint32{0x019009a3, 0x01ec05e3, 0x006f35e1, 0x003b35ae, 0x004115a8, 0x00a5d366, 0x03a0efd3, 0x03517e5b, 0x02288fff, 0x003ceb73}}, Y: Field{[10]uint32{0x0116a20e, 0x001996d2, 0x00ba72d2, 0x0293aaf5, 0x03805580, 0x0252961a, 0x020915e4, 0x026ec1a6, 0x03009632, 0x0008080b}}}, + {X: Field{[10]uint32{0x00d8cccf, 0x001d5631, 0x032f85ad, 0x008bd13e, 0x034904ad, 0x02930891, 0x00e6bc6f, 0x003438b2, 0x0029e273, 0x003489c2}}, Y: Field{[10]uint32{0x0079a3bc, 0x000bd7a2, 0x03a93c63, 0x01eab819, 0x0227c66c, 0x0098b904, 0x009741df, 0x03d9a566, 0x00ac9d5b, 0x003569ad}}}, + {X: Field{[10]uint32{0x012964a6, 0x032b7d0d, 0x0356756e, 0x02299727, 0x01834753, 0x00aecbcf, 0x0057a948, 0x03caa117, 0x02b67d9b, 0x0009b45f}}, Y: Field{[10]uint32{0x02068fb2, 0x01c67078, 0x01c6b7f7, 0x006bf348, 0x00b8703d, 0x02926a9c, 0x03c4a520, 0x030d16f3, 0x03d47d67, 0x002552bc}}}, + {X: Field{[10]uint32{0x03fac74b, 0x01a3c879, 0x024760bf, 0x0264c4d1, 0x0036a52d, 0x017b9f44, 0x011618ce, 0x03226573, 0x038be104, 0x003910df}}, Y: Field{[10]uint32{0x0195cb81, 0x01c36e36, 0x0356e27b, 0x02f6e071, 0x00f9b015, 0x02d5bf23, 0x0020dbe3, 0x01b9b06a, 0x02d5b825, 0x0035b055}}}, + {X: Field{[10]uint32{0x02d3c1d4, 0x011d3be8, 0x02c70851, 0x00700347, 0x01ac5bb5, 0x026d68e7, 0x02b63ed2, 0x0181e598, 0x004e96db, 0x00224cb8}}, Y: Field{[10]uint32{0x03e58541, 0x021d511d, 0x0336ec05, 0x00368ef4, 0x01fc912a, 0x030d5472, 0x03f51668, 0x00897414, 0x037fe030, 0x00150df9}}}, + {X: Field{[10]uint32{0x02617b26, 0x020945c5, 0x01fd0c7c, 0x0390171b, 0x00933ed0, 0x01b20507, 0x02003c73, 0x021b016c, 0x0176465b, 0x003f9dda}}, Y: Field{[10]uint32{0x012aac39, 0x039b6731, 0x002aa472, 0x00f89544, 0x0094364d, 0x01677754, 0x002b0af3, 0x03541b4c, 0x005fd576, 0x002c9e77}}}, + {X: Field{[10]uint32{0x035b45f1, 0x03f24714, 0x0372cb86, 0x00f29ae7, 0x01f69eb7, 0x018ce05f, 0x004ecbe1, 0x02489172, 0x00ffb2a2, 0x001b1829}}, Y: Field{[10]uint32{0x022a0a2c, 0x01734a4a, 0x022231b5, 0x00af48f5, 0x036489af, 0x03e71e14, 0x0301a510, 0x033071c0, 0x026f814b, 0x0009e37b}}}, + {X: Field{[10]uint32{0x009af04d, 0x00791ce7, 0x02a81e12, 0x02d1ba70, 0x03a955be, 0x0327a185, 0x01556c5e, 0x0240aa63, 0x018f625f, 0x000c4cb9}}, Y: Field{[10]uint32{0x01a9e461, 0x02361a51, 0x01006943, 0x01f25171, 0x01cf0a95, 0x011a4131, 0x01b92204, 0x00f17853, 0x0164a244, 0x00296202}}}, + {X: Field{[10]uint32{0x00903f6f, 0x01404b8d, 0x022dc57e, 0x002a77a0, 0x03640e18, 0x0234e161, 0x01003fdc, 0x026fdbae, 0x0236361a, 0x002c173b}}, Y: Field{[10]uint32{0x005c9a5a, 0x0363a095, 0x018c5305, 0x0288c35e, 0x0126fe21, 0x01897617, 0x005ce16d, 0x0268a2dd, 0x00862951, 0x003ed1ce}}}, + {X: Field{[10]uint32{0x02005e83, 0x0017c584, 0x0273903a, 0x01b2af61, 0x0023cd2f, 0x00eab5f3, 0x014e68de, 0x039601e8, 0x020f5659, 0x00388084}}, Y: Field{[10]uint32{0x03ada136, 0x02755783, 0x01544084, 0x02b1f020, 0x02a70e8f, 0x0017eebc, 0x037cb4dc, 0x03e64b64, 0x0305b66a, 0x001264a2}}}, + {X: Field{[10]uint32{0x007a796b, 0x02618cc3, 0x034592f1, 0x0336316c, 0x039a9bf0, 0x01418532, 0x03e68f04, 0x002782c1, 0x01892e54, 0x0015ea47}}, Y: Field{[10]uint32{0x0098e7fc, 0x0307a7e1, 0x0116bbd5, 0x001b1763, 0x021dbf77, 0x0092c464, 0x02612c31, 0x023ea2ea, 0x00ce5901, 0x0011e417}}}, + {X: Field{[10]uint32{0x01a7e8da, 0x014ed929, 0x00ee1dd1, 0x02359d0a, 0x0291c046, 0x00997777, 0x019e7c58, 0x01970835, 0x000a3ba4, 0x003824b1}}, Y: Field{[10]uint32{0x03ffd39b, 0x009bdc56, 0x03042feb, 0x00444d3a, 0x03baa514, 0x00ec25fd, 0x00ab1d31, 0x010920b5, 0x02b4bdfc, 0x0020fd38}}}, + {X: Field{[10]uint32{0x01e0ab38, 0x02980247, 0x02554f78, 0x013fd691, 0x037c1ee8, 0x00cd74f7, 0x001a9c2c, 0x013f1282, 0x006e7baa, 0x001ce8cc}}, Y: Field{[10]uint32{0x01a1f938, 0x03a24f7b, 0x022350bc, 0x0210ebc2, 0x023d93f6, 0x01548646, 0x03a70439, 0x030c9b8d, 0x00f92022, 0x0007da32}}}, + {X: Field{[10]uint32{0x033a4434, 0x03aaef97, 0x0093a6a6, 0x03168e79, 0x03e99883, 0x02850076, 0x0152caf4, 0x012585cd, 0x01f86e90, 0x001f1e9e}}, Y: Field{[10]uint32{0x02e869bb, 0x005fe389, 0x0355415e, 0x0204b0a4, 0x00a26709, 0x002d65b3, 0x008ce8ac, 0x00e4c65b, 0x0252e488, 0x002173ac}}}, + {X: Field{[10]uint32{0x00a37788, 0x028711e1, 0x03918623, 0x021bb6a4, 0x0319f030, 0x0144d95f, 0x03054fae, 0x03ddcacd, 0x0161ce4f, 0x001aa77d}}, Y: Field{[10]uint32{0x01b65280, 0x016d88ff, 0x02db42b2, 0x019c41ba, 0x01fe7198, 0x019847fb, 0x01ba398a, 0x02fd60cc, 0x034ad9b3, 0x002f3c09}}}, + {X: Field{[10]uint32{0x0391c950, 0x02314eff, 0x019eef3f, 0x02d6fc8a, 0x0381934c, 0x034b1abf, 0x0145d2da, 0x02b7fc71, 0x024d47b3, 0x003f9eec}}, Y: Field{[10]uint32{0x02574e7f, 0x03971022, 0x00c5befd, 0x022c12bc, 0x03a88173, 0x0028a4b3, 0x00c27d6f, 0x0188f24c, 0x038609d2, 0x001ff997}}}, + {X: Field{[10]uint32{0x00407d3d, 0x010a41cc, 0x014531da, 0x0192ba05, 0x0382ce2b, 0x01f414d1, 0x00ba60e1, 0x02ddf0a4, 0x02f27944, 0x0009b474}}, Y: Field{[10]uint32{0x00f0f495, 0x00156d2d, 0x0206f4d1, 0x034756a8, 0x0051b768, 0x00d604e1, 0x00b23725, 0x00002c34, 0x00243106, 0x003b0f14}}}, + {X: Field{[10]uint32{0x0273e2b8, 0x03025b63, 0x008060e6, 0x01363c0d, 0x03fb85cf, 0x03a91378, 0x00563ff8, 0x0055cd2b, 0x01f938f9, 0x003c0394}}, Y: Field{[10]uint32{0x022c727b, 0x0259dc68, 0x00c703c5, 0x007484e0, 0x02585408, 0x03f62382, 0x02b6a136, 0x0292474e, 0x03ed3a39, 0x001edeff}}}, + {X: Field{[10]uint32{0x03cfc4d8, 0x004789cd, 0x03b309e0, 0x034538f8, 0x008bd179, 0x01352f2a, 0x02be811a, 0x021d424e, 0x0072f42f, 0x001cf855}}, Y: Field{[10]uint32{0x005b9231, 0x0341827e, 0x01a340b5, 0x01ae12f3, 0x01c53c82, 0x02c02d2a, 0x006426c9, 0x005da044, 0x00ae5832, 0x000e4bbd}}}, + {X: Field{[10]uint32{0x01568092, 0x02bd582a, 0x00333a7f, 0x0123b6be, 0x00d29d23, 0x01e77e39, 0x011d86e4, 0x00119321, 0x03a9aff3, 0x003b5199}}, Y: Field{[10]uint32{0x0149bb0c, 0x0371f98f, 0x002e43da, 0x03699e62, 0x006d9f4f, 0x03fd5df8, 0x01a9ab50, 0x0350b51a, 0x00756892, 0x001dcd9e}}}, + {X: Field{[10]uint32{0x001dde26, 0x02c3bc95, 0x00d74af5, 0x00b1e40d, 0x0351066f, 0x0136ff83, 0x00346a26, 0x0072f773, 0x02ab1081, 0x0035bb05}}, Y: Field{[10]uint32{0x02d0527e, 0x015fa792, 0x0315ef48, 0x0079286d, 0x034763b0, 0x0302e26f, 0x011b7336, 0x02f88a6a, 0x00ab7ac7, 0x002607c7}}}, + {X: Field{[10]uint32{0x034c593f, 0x0292d4ea, 0x008e68dc, 0x03caf47d, 0x033f762e, 0x03b96dc5, 0x001d92d2, 0x00c6b209, 0x007e6919, 0x000a13bd}}, Y: Field{[10]uint32{0x03cf5e82, 0x03150546, 0x013e1c7a, 0x00b8efeb, 0x03b53a4d, 0x03ff86da, 0x03e12887, 0x02f91c20, 0x02e1e6a7, 0x002adce7}}}, + {X: Field{[10]uint32{0x00d505c3, 0x030fe1c2, 0x034f6c6c, 0x02f20d5d, 0x0344b490, 0x0124063b, 0x03ba53ac, 0x01f42bf0, 0x01e75a26, 0x00014c3e}}, Y: Field{[10]uint32{0x0285e3f1, 0x02cef0d3, 0x028d36e2, 0x01c12e22, 0x00bee9fa, 0x03dff7b5, 0x02d7fba8, 0x03a72f3d, 0x001e44e5, 0x0018c312}}}, + {X: Field{[10]uint32{0x02a905f8, 0x0135673a, 0x022bc1ba, 0x0080f126, 0x02ef9c4d, 0x000974b6, 0x037a4b38, 0x00596d9c, 0x00fd81d0, 0x0019aa6d}}, Y: Field{[10]uint32{0x02525e8c, 0x01ec7353, 0x015f121b, 0x032895e5, 0x0112c86b, 0x02574c14, 0x017311c1, 0x03ab65f7, 0x004e6a4d, 0x0009dc31}}}, + {X: Field{[10]uint32{0x03a289be, 0x02484d48, 0x0394f601, 0x02625b76, 0x0139bb78, 0x011d3789, 0x018d7397, 0x01ed926c, 0x027edca4, 0x0009604b}}, Y: Field{[10]uint32{0x0317e2da, 0x031884db, 0x00e5c795, 0x02e2d634, 0x00788d3a, 0x0232e191, 0x0276f7f1, 0x029db9ae, 0x0183072a, 0x0012ee8f}}}, + {X: Field{[10]uint32{0x03b29608, 0x032e9df7, 0x00fd724a, 0x0228d5db, 0x02df1a0e, 0x03efd61f, 0x00f88b58, 0x0091205c, 0x0270af16, 0x000f206f}}, Y: Field{[10]uint32{0x02ee13d4, 0x0357fd0a, 0x0070027b, 0x03eb837a, 0x02ed9dc9, 0x0040ba6e, 0x00b52507, 0x03d201e8, 0x008eda59, 0x002ac5b9}}}, + {X: Field{[10]uint32{0x00d6e39d, 0x0093ddb8, 0x035252fb, 0x02421715, 0x0039626e, 0x0096ab6a, 0x0282c8d1, 0x00a4cfb3, 0x01cda514, 0x002ad89b}}, Y: Field{[10]uint32{0x024abff6, 0x03b7005d, 0x033cfe7e, 0x00f436ad, 0x02bb7be7, 0x0363aff0, 0x031f2a34, 0x012c6f55, 0x034b34fa, 0x0022b75d}}}, + {X: Field{[10]uint32{0x036bd85d, 0x033f82fc, 0x0133de1c, 0x015e638e, 0x03aaaaed, 0x028f8a1c, 0x02d65321, 0x0083fe32, 0x01061207, 0x0011fc94}}, Y: Field{[10]uint32{0x00585b60, 0x02c5be48, 0x03c60c38, 0x004fb342, 0x00cb44e0, 0x025960eb, 0x0374ea3f, 0x004b93b2, 0x032e7295, 0x0003db51}}}, + {X: Field{[10]uint32{0x03c26b1b, 0x0122e7c8, 0x00842361, 0x0099d4b4, 0x00e16409, 0x01c6e2ec, 0x0138d590, 0x023c6cf1, 0x0299f739, 0x001bf4c0}}, Y: Field{[10]uint32{0x026799da, 0x03816eee, 0x03d33372, 0x03c09dfc, 0x017810be, 0x017227fd, 0x02e9c4dc, 0x0388d468, 0x0166a79c, 0x000ee358}}}, + {X: Field{[10]uint32{0x0202e040, 0x026f5992, 0x031e3f44, 0x021f75e1, 0x0149db12, 0x01712827, 0x0051ab74, 0x00735963, 0x007c784e, 0x0003756c}}, Y: Field{[10]uint32{0x028d8659, 0x00c41e35, 0x03857a47, 0x01f36283, 0x036a0459, 0x003fbb66, 0x00ed2a7c, 0x0246e373, 0x018a62a4, 0x002c9b6b}}}, + {X: Field{[10]uint32{0x027fcdad, 0x00ab7c85, 0x016b7dff, 0x0229c02d, 0x0215b61a, 0x01ae12f2, 0x0275e5f1, 0x01089ea8, 0x0036104b, 0x0000f3d6}}, Y: Field{[10]uint32{0x0200c9fb, 0x012792b3, 0x03b5ce9e, 0x0098b6d0, 0x01445af7, 0x02006372, 0x00123408, 0x01e7f7da, 0x025a2cb5, 0x000731bd}}}, + {X: Field{[10]uint32{0x0119bb58, 0x0074a352, 0x03f413e0, 0x01348e15, 0x01d4cd80, 0x01d3010f, 0x02ea163d, 0x0108730e, 0x005508b9, 0x001a0ed5}}, Y: Field{[10]uint32{0x01a11f0a, 0x03f76f9e, 0x022da17c, 0x01a41540, 0x01691e23, 0x004473fb, 0x01d69438, 0x03015a2b, 0x01762cd5, 0x0006ef91}}}, + {X: Field{[10]uint32{0x003b724c, 0x000c9e79, 0x027d2195, 0x03835cf3, 0x03e83ff0, 0x0080ab94, 0x002f7ec4, 0x0103717d, 0x01b7897a, 0x0035e198}}, Y: Field{[10]uint32{0x02d20b21, 0x00aca772, 0x00a02665, 0x03fb43b1, 0x00aeead2, 0x00757ca4, 0x03db82a6, 0x01e3b3f0, 0x01b0e3f4, 0x001194a6}}}, + {X: Field{[10]uint32{0x01e15a21, 0x02954186, 0x0114a1af, 0x01f543b0, 0x0332e89e, 0x013bafc6, 0x00dbb87b, 0x039e5399, 0x0264fc15, 0x00049631}}, Y: Field{[10]uint32{0x001be0b1, 0x00148685, 0x0157194b, 0x025eef08, 0x03028c59, 0x00a83971, 0x011a7dec, 0x00e201c3, 0x029281a7, 0x000c9f12}}}, + {X: Field{[10]uint32{0x02e8be00, 0x033589e1, 0x03bb1a6c, 0x03492fdf, 0x01387f4d, 0x039cc531, 0x0243cdfa, 0x038af71b, 0x03b51cff, 0x003cb413}}, Y: Field{[10]uint32{0x03061c9e, 0x0142a309, 0x02b37932, 0x036b09f3, 0x0178d3a7, 0x021a8ab8, 0x032ee47a, 0x00854a34, 0x038d435f, 0x00226bcf}}}, + {X: Field{[10]uint32{0x030dfb08, 0x0152078f, 0x01f6bb33, 0x02864aa7, 0x03d21551, 0x03bc020e, 0x02cc402d, 0x00eb6394, 0x02c14ab2, 0x002d9eef}}, Y: Field{[10]uint32{0x00a64a23, 0x02cc3e04, 0x01fe6698, 0x004ffb80, 0x003757cc, 0x01961d55, 0x02845285, 0x02264c14, 0x03d19383, 0x0035b29a}}}, + {X: Field{[10]uint32{0x0379235e, 0x0120c48a, 0x0089d90d, 0x02120ea1, 0x008a4665, 0x00b5986e, 0x013ce90f, 0x007f5a81, 0x01b9fa40, 0x0006ebbc}}, Y: Field{[10]uint32{0x031699d7, 0x01492528, 0x01ee8033, 0x031b02d9, 0x01bc1a69, 0x02e9562b, 0x02b3872c, 0x0205f648, 0x0214a2f7, 0x000a2866}}}, + {X: Field{[10]uint32{0x0051aa8e, 0x0043fc6e, 0x03c79c3c, 0x01b394a1, 0x01f58de5, 0x0006eaa1, 0x036a7468, 0x00e922ca, 0x026b2362, 0x001b03c1}}, Y: Field{[10]uint32{0x01ff0868, 0x036ee4c5, 0x033574cc, 0x01e48167, 0x032347a4, 0x007218c9, 0x028bd94e, 0x02c3e394, 0x0256084c, 0x003b20dc}}}, + {X: Field{[10]uint32{0x023619d7, 0x004f767d, 0x01c0d949, 0x035862de, 0x00a0c815, 0x02baf3ca, 0x026d6cb7, 0x02748afa, 0x030965bb, 0x003ef56e}}, Y: Field{[10]uint32{0x0300b924, 0x00b7f28f, 0x01c7e661, 0x018cde8a, 0x0060ccc0, 0x0083cfdb, 0x0298f77e, 0x01796ff8, 0x034d5e60, 0x000cc0d5}}}, + {X: Field{[10]uint32{0x035b1739, 0x01a3e82c, 0x008fe7e5, 0x03ca36b6, 0x020f8bd5, 0x0041af46, 0x02c81ac8, 0x008cd2bd, 0x002ac4b2, 0x00089181}}, Y: Field{[10]uint32{0x02ff6e7c, 0x02af1c16, 0x00f797cd, 0x0208d169, 0x029e5382, 0x007e4b8d, 0x0229bd96, 0x0045bc33, 0x00eb9c10, 0x00076836}}}, + {X: Field{[10]uint32{0x0182bc4a, 0x00b67cd0, 0x00c51563, 0x01b7f4a5, 0x039606cf, 0x010b3d42, 0x01b3caf5, 0x00b4de0d, 0x014f2fff, 0x0011c2a4}}, Y: Field{[10]uint32{0x001d426e, 0x01619800, 0x012dbb3a, 0x001a0738, 0x034398c6, 0x0271aa3a, 0x03e3cc9e, 0x01215a96, 0x01a8d2c7, 0x001ace01}}}, + {X: Field{[10]uint32{0x021b4be0, 0x0009ec0c, 0x00c1ecc8, 0x004540c0, 0x0044bb7a, 0x00fe4274, 0x002153ba, 0x0364cd0a, 0x010bffb6, 0x001380fd}}, Y: Field{[10]uint32{0x008c504c, 0x03db96ac, 0x003e0095, 0x00940c7a, 0x009149b1, 0x0137a32f, 0x03e8f9cb, 0x01c7b3c7, 0x00ae963e, 0x00165b16}}}, + {X: Field{[10]uint32{0x0057455e, 0x02649e3f, 0x003b70d9, 0x02d02860, 0x00188a26, 0x00e7778a, 0x01567e91, 0x02edd864, 0x03eab806, 0x00169b13}}, Y: Field{[10]uint32{0x02e6ce49, 0x0269f5e0, 0x014590d5, 0x0310bd54, 0x03353d73, 0x01c6397d, 0x00ea476a, 0x00d9af0a, 0x007c6505, 0x001ba074}}}, + {X: Field{[10]uint32{0x0329bd5f, 0x01b70de6, 0x016c3a24, 0x027406f9, 0x0174f4e0, 0x03d8f753, 0x000bb1be, 0x014b884a, 0x01b29adf, 0x003b5cf2}}, Y: Field{[10]uint32{0x0113828b, 0x0321ecfe, 0x0216159d, 0x027cb7d8, 0x02e272ad, 0x0312df14, 0x011fa5b7, 0x0382b31f, 0x03b619eb, 0x0003a645}}}, + {X: Field{[10]uint32{0x001c04bd, 0x024eda70, 0x03a99bdf, 0x01308e1b, 0x03710dd3, 0x000f284f, 0x03106085, 0x03e7b52b, 0x005b38cb, 0x001a3185}}, Y: Field{[10]uint32{0x03edc73a, 0x0235f28f, 0x01e9de92, 0x0348b830, 0x02e7cb74, 0x03d4d6a7, 0x016f884d, 0x027ab140, 0x005e607d, 0x003258d6}}}, + {X: Field{[10]uint32{0x00454126, 0x00e69dec, 0x039b6a84, 0x00481661, 0x0092269a, 0x03d72473, 0x006094c3, 0x005ef077, 0x00639273, 0x0006d946}}, Y: Field{[10]uint32{0x00f5009f, 0x0077007a, 0x03cf9137, 0x00579c51, 0x03c42b19, 0x030c6fc4, 0x001fe920, 0x03426f63, 0x025f8ac3, 0x000c7184}}}, + {X: Field{[10]uint32{0x0209c52c, 0x019b539a, 0x01f0d381, 0x00824283, 0x027229ff, 0x00edc177, 0x02b74f7a, 0x0378f515, 0x00ccdadb, 0x0011564f}}, Y: Field{[10]uint32{0x000bd737, 0x0293aa6f, 0x01866a43, 0x03748361, 0x01e14634, 0x03ba5933, 0x02b9a311, 0x000814f0, 0x017d89fd, 0x0004f599}}}, + {X: Field{[10]uint32{0x03927da5, 0x034fad0d, 0x03960566, 0x0069339d, 0x01e4dd7c, 0x00a30842, 0x0132983d, 0x03e8bf35, 0x006ed6f2, 0x00050270}}, Y: Field{[10]uint32{0x020984e4, 0x0372b451, 0x0062390e, 0x00114def, 0x02fbeda3, 0x01a52dc7, 0x0369836e, 0x03f6eb8e, 0x018d4206, 0x0037017e}}}, + {X: Field{[10]uint32{0x005f4580, 0x03c0373a, 0x037074e2, 0x03213adc, 0x025d6e5c, 0x0109bfaf, 0x03239215, 0x02c15b50, 0x006bc307, 0x00367823}}, Y: Field{[10]uint32{0x012c632d, 0x01692d8a, 0x034f915d, 0x03908060, 0x01172f4d, 0x028c9817, 0x02b52add, 0x01e90e8e, 0x0247c6b4, 0x00288f05}}}, + {X: Field{[10]uint32{0x0162fb32, 0x00576eaf, 0x028ee1aa, 0x022eef57, 0x025ac0f1, 0x01357e89, 0x033a9166, 0x02dadcd4, 0x01f3d3c2, 0x001f7cc6}}, Y: Field{[10]uint32{0x03c9f8c0, 0x036d634a, 0x030b79c3, 0x026ea46b, 0x00a9bd16, 0x00778205, 0x02d8d963, 0x02ee6075, 0x02afe023, 0x0024483d}}}, + {X: Field{[10]uint32{0x0186d7a5, 0x01cd115a, 0x037110a3, 0x01126eb4, 0x0011d742, 0x008595e6, 0x0146232e, 0x03f47e4c, 0x018738b9, 0x0006a539}}, Y: Field{[10]uint32{0x03e4352e, 0x00810a2a, 0x0365a748, 0x0126b619, 0x020fc325, 0x025fcb6c, 0x034604b1, 0x039eb83e, 0x03b317ee, 0x000cca89}}}, + {X: Field{[10]uint32{0x03619a47, 0x01e07e46, 0x03691fa0, 0x0106257f, 0x014aefff, 0x03033e1c, 0x002ef8df, 0x019b6caa, 0x034d6db2, 0x0037e8b2}}, Y: Field{[10]uint32{0x01ad8b19, 0x033f9312, 0x0056e45a, 0x03ddba9c, 0x01d2a1a0, 0x032e98be, 0x0320fef4, 0x029b0633, 0x03ab3a28, 0x00317976}}}, + {X: Field{[10]uint32{0x02876730, 0x03931e4e, 0x0017bf35, 0x03af0429, 0x03acf4e2, 0x029b814e, 0x002c1352, 0x03ddad7a, 0x0007be6b, 0x00308804}}, Y: Field{[10]uint32{0x03efa581, 0x0345377e, 0x02be70c8, 0x03a24346, 0x039a735d, 0x030e1cd0, 0x0397c159, 0x0135d0eb, 0x02ecb9ae, 0x00249022}}}, + {X: Field{[10]uint32{0x03d7edc3, 0x020a1686, 0x0015e33e, 0x0253be8e, 0x022f25c7, 0x019cc1d0, 0x00d4d852, 0x01fc3e74, 0x02d2ab08, 0x0035158c}}, Y: Field{[10]uint32{0x015ff44f, 0x00f5bbe3, 0x02569554, 0x016369ee, 0x01814e72, 0x032792c7, 0x039e99f9, 0x013ea091, 0x0297c499, 0x002df38d}}}, + {X: Field{[10]uint32{0x035df93f, 0x000edc73, 0x00dedc90, 0x02e3dadf, 0x02df6c25, 0x008e85c6, 0x01f34ca9, 0x024ad221, 0x022bcdc2, 0x00233bcd}}, Y: Field{[10]uint32{0x009aaf5e, 0x02061b74, 0x02bdf260, 0x00ed76ad, 0x02d702e1, 0x03507666, 0x024f1c19, 0x01fe8afe, 0x0334ed8b, 0x002ce443}}}, + {X: Field{[10]uint32{0x00bf9838, 0x01d60ecf, 0x01bfc7f1, 0x03956565, 0x013a415a, 0x006121e3, 0x01604318, 0x00a0c45f, 0x03e1874c, 0x00091fde}}, Y: Field{[10]uint32{0x01f30eb8, 0x029f323c, 0x004642f8, 0x03a37cce, 0x01efd513, 0x017d9424, 0x01521da6, 0x02d3f03e, 0x01e6a779, 0x0024388d}}}, + {X: Field{[10]uint32{0x001cf568, 0x0122b626, 0x02c56b01, 0x01238daa, 0x02f26093, 0x032a8ae0, 0x01dd0b0a, 0x00eb7d04, 0x02f1c870, 0x002e3033}}, Y: Field{[10]uint32{0x01275f14, 0x011cab80, 0x03916a33, 0x02915303, 0x0345e7aa, 0x03526a5e, 0x00e74a81, 0x026a852e, 0x00114701, 0x00281065}}}, + {X: Field{[10]uint32{0x0208cf09, 0x006f61a0, 0x012c0ab5, 0x0036ab5e, 0x030a35ab, 0x03746f45, 0x026b43a4, 0x031e44aa, 0x036e06e1, 0x0023955d}}, Y: Field{[10]uint32{0x00822d56, 0x029eb61c, 0x01c012c8, 0x01fdb6aa, 0x02cec730, 0x03518b9a, 0x02d12bc6, 0x02aefc30, 0x00c3a025, 0x0037f933}}}, + {X: Field{[10]uint32{0x003ad1ad, 0x01611a83, 0x0267c5f0, 0x01c3122d, 0x01db813b, 0x038e4090, 0x0122790d, 0x02609138, 0x02d3fc9d, 0x0003c73d}}, Y: Field{[10]uint32{0x03984799, 0x025a6bf0, 0x026f6c8b, 0x024ec5ce, 0x01750069, 0x02b9ea13, 0x02f1ec77, 0x0346c8d7, 0x02ab3952, 0x00124971}}}, + {X: Field{[10]uint32{0x01b9ea31, 0x0199c2bb, 0x0000a9e5, 0x011f2b2f, 0x03811641, 0x036dd8b0, 0x00495ab9, 0x03b924ad, 0x0388dce5, 0x002d276f}}, Y: Field{[10]uint32{0x03a9ef2a, 0x01eb3ebf, 0x023feb8b, 0x030b7a24, 0x028971f7, 0x034a2291, 0x00d703ef, 0x025f1dd6, 0x0317ab57, 0x00303e4b}}}, + {X: Field{[10]uint32{0x018ca362, 0x0327dd43, 0x02cab9a8, 0x010e7992, 0x00399e26, 0x0097df73, 0x0173c50a, 0x015fb455, 0x02ad257b, 0x0035abf8}}, Y: Field{[10]uint32{0x0135749d, 0x02b1bce3, 0x01b42b47, 0x028d5871, 0x0138d355, 0x018a0ac4, 0x01402491, 0x02d5ac5c, 0x02b86919, 0x00177c8d}}}, + {X: Field{[10]uint32{0x02e8e89f, 0x00480106, 0x0244b53e, 0x0279a112, 0x0345b48a, 0x033b92d2, 0x032a439f, 0x0197e965, 0x00c5f233, 0x002ec0a1}}, Y: Field{[10]uint32{0x02265300, 0x01d8266e, 0x034936ae, 0x0329bc53, 0x0153221d, 0x03b554ca, 0x0018fb2a, 0x0164c9e4, 0x000de09e, 0x001a12f3}}}, + {X: Field{[10]uint32{0x024467ec, 0x00b611f9, 0x037e46e8, 0x009ead69, 0x03c47796, 0x0228105d, 0x00be6219, 0x025a5c6e, 0x03148a40, 0x0015fa55}}, Y: Field{[10]uint32{0x01443f13, 0x01467cb3, 0x00c126bb, 0x03497a15, 0x01fd8e7c, 0x004a94dd, 0x006d3a8f, 0x0096001f, 0x01b114ce, 0x001c52f4}}}, + {X: Field{[10]uint32{0x02713094, 0x0149b647, 0x03757d17, 0x01e3ad8d, 0x01a1e144, 0x03a01148, 0x03ef2a3d, 0x00ed1d48, 0x0360b33c, 0x002c320b}}, Y: Field{[10]uint32{0x02cea63c, 0x02be6528, 0x032eeac1, 0x03596a0a, 0x0123d163, 0x024fdff6, 0x022f70ac, 0x03d4b994, 0x01b9d763, 0x0033f234}}}, + {X: Field{[10]uint32{0x013e1ee3, 0x01292f55, 0x005a35c2, 0x0093fdfe, 0x00667d83, 0x01b663b4, 0x032c185c, 0x0216f564, 0x01704047, 0x000ae9d8}}, Y: Field{[10]uint32{0x02ea35b9, 0x035580fb, 0x03307205, 0x0067cf8b, 0x01e56aef, 0x01545934, 0x03167d6b, 0x00abd581, 0x03907426, 0x00006041}}}, + {X: Field{[10]uint32{0x02d3e88c, 0x0248d71b, 0x00895b5c, 0x02169c8a, 0x0103eb1c, 0x01f83296, 0x01d15c82, 0x02e483ec, 0x0213d508, 0x0016f553}}, Y: Field{[10]uint32{0x020cf0c9, 0x024cebd9, 0x016fc2b1, 0x02b3bcef, 0x02878017, 0x02b1f608, 0x030ab1e4, 0x03864fa9, 0x01fd5607, 0x0035974d}}}, + {X: Field{[10]uint32{0x02a8d09a, 0x037e5dcf, 0x026947cc, 0x017d5993, 0x00a590d6, 0x01b3c84b, 0x03f1664e, 0x03626aca, 0x02d2753b, 0x002c2ef0}}, Y: Field{[10]uint32{0x03993c23, 0x0026f723, 0x0147e47f, 0x01047cd3, 0x02072257, 0x03319c14, 0x00190654, 0x022eae85, 0x02c1a107, 0x002415ed}}}, + {X: Field{[10]uint32{0x013133a8, 0x03a771b3, 0x00459224, 0x00c083a3, 0x01b38b46, 0x0151484a, 0x000fe419, 0x00e2b377, 0x02033cca, 0x00305c04}}, Y: Field{[10]uint32{0x01557e9a, 0x02d8dabd, 0x03b14fb6, 0x02d7afd3, 0x02624f78, 0x01b02185, 0x00071888, 0x01bd9d1b, 0x007b1cfb, 0x00312576}}}, + {X: Field{[10]uint32{0x03a21bda, 0x00c28917, 0x032ea749, 0x037764d4, 0x007c9fa4, 0x03ef0a31, 0x02879617, 0x0127fcc8, 0x020e5f1e, 0x000782f4}}, Y: Field{[10]uint32{0x03dd6177, 0x02385810, 0x01cd5703, 0x02719af8, 0x01b2a586, 0x011cbe84, 0x01a681b2, 0x03c57797, 0x00000e98, 0x000b501d}}}, + {X: Field{[10]uint32{0x017ec15f, 0x006c560c, 0x0388b03a, 0x028ef017, 0x00f39def, 0x0214ce9c, 0x012a9740, 0x019863fc, 0x023fec4c, 0x00173f08}}, Y: Field{[10]uint32{0x03f21411, 0x00cd512b, 0x00cf93da, 0x03ded9c6, 0x01eb4468, 0x031ce2c2, 0x006ec226, 0x01c6798e, 0x03d489e3, 0x001f64a2}}}, + {X: Field{[10]uint32{0x01efa67d, 0x03330b20, 0x00e8801c, 0x033942b0, 0x005da345, 0x02b51ea1, 0x03e514eb, 0x019a3815, 0x020abebd, 0x003d4195}}, Y: Field{[10]uint32{0x020fc7e9, 0x029f4eb2, 0x00d639d9, 0x036056f7, 0x0263111f, 0x01fd9289, 0x03580ad1, 0x02a66af0, 0x03f7c9c2, 0x0038bfc2}}}, + {X: Field{[10]uint32{0x02c54f45, 0x039ef609, 0x02ef8306, 0x02b96fe5, 0x001d00dc, 0x0127405a, 0x0246e4c4, 0x01d21516, 0x0298ec88, 0x0021123f}}, Y: Field{[10]uint32{0x026f0407, 0x03bb6afa, 0x0256a66a, 0x0117da75, 0x0285b200, 0x00d204dd, 0x01a82713, 0x000c88b7, 0x02291750, 0x00343c1c}}}, + {X: Field{[10]uint32{0x03cffc55, 0x01156ea5, 0x004f56bc, 0x00a2a619, 0x002480cf, 0x00a50bcd, 0x015ca713, 0x01f0b8db, 0x017fdb03, 0x003269a1}}, Y: Field{[10]uint32{0x03aa149f, 0x0238d9e3, 0x011c6b79, 0x01d2da33, 0x01f742d9, 0x03b5be5f, 0x00b8326c, 0x023985b0, 0x00b98f67, 0x0029a782}}}, + {X: Field{[10]uint32{0x02c4011d, 0x0319936e, 0x019d503d, 0x01b6391a, 0x03b8fc28, 0x0226ac67, 0x02f7db2d, 0x03acef20, 0x03f5c611, 0x0002d744}}, Y: Field{[10]uint32{0x024b7adc, 0x02022c4c, 0x02bb6259, 0x036271c0, 0x02ef2692, 0x00921f42, 0x012493ff, 0x003f7d6e, 0x02507cdc, 0x0009fac5}}}, + {X: Field{[10]uint32{0x0235ce44, 0x02ecd3b6, 0x02fad75a, 0x01c75fc6, 0x02902184, 0x0230a71b, 0x001b8871, 0x0352b300, 0x01f32e0e, 0x002fe7b1}}, Y: Field{[10]uint32{0x027ef2d1, 0x00dea011, 0x0146bdd8, 0x01a1ce19, 0x00a1734f, 0x01a311e9, 0x01224ed3, 0x010196de, 0x0088892b, 0x0004e119}}}, + {X: Field{[10]uint32{0x02526e19, 0x024ab04e, 0x00f2ed6d, 0x021eb5aa, 0x00893c5a, 0x0329bd6e, 0x011f6bd1, 0x00704ebb, 0x02be4d3b, 0x000b0e04}}, Y: Field{[10]uint32{0x0033aece, 0x02533bcd, 0x03af324a, 0x02b4519a, 0x031b11ed, 0x02cd02f2, 0x03cf877d, 0x014782de, 0x02f145d5, 0x000d9ae0}}}, + {X: Field{[10]uint32{0x0233f572, 0x031721b2, 0x013a6f21, 0x014e362f, 0x019fd172, 0x002289b9, 0x00d0a13c, 0x03db21ff, 0x0328dc8e, 0x001def7b}}, Y: Field{[10]uint32{0x023c3a1b, 0x019fda7a, 0x017ef081, 0x022a0fe5, 0x016977ba, 0x02960294, 0x02c1feca, 0x03526c03, 0x00c7bf3b, 0x003699ac}}}, + {X: Field{[10]uint32{0x0371afe5, 0x03f445a2, 0x02b154ef, 0x0301953b, 0x028693ba, 0x03cd3181, 0x006503e3, 0x021def36, 0x019d3185, 0x002f129e}}, Y: Field{[10]uint32{0x0255569e, 0x03ddd5dc, 0x03e664f7, 0x01af4cc6, 0x03f59abf, 0x00985496, 0x0159c99e, 0x00643a9c, 0x03f899a8, 0x0014ff35}}}, + {X: Field{[10]uint32{0x02fcd040, 0x0170620b, 0x039dce27, 0x01bcb84f, 0x006fccdb, 0x000dd41e, 0x010e4c7d, 0x03381586, 0x0084733d, 0x000c07f6}}, Y: Field{[10]uint32{0x01e25cb6, 0x00b22294, 0x00b735de, 0x00303897, 0x00312c91, 0x012f981f, 0x0035cef6, 0x027d47f6, 0x01d5185b, 0x001e793e}}}, + {X: Field{[10]uint32{0x014adb70, 0x018062a0, 0x032f387b, 0x01df9436, 0x02133f83, 0x00dc6710, 0x00d0bda1, 0x01f95085, 0x029bbe5e, 0x000906d2}}, Y: Field{[10]uint32{0x0010bdb0, 0x019211ed, 0x039593c1, 0x0000922c, 0x03a8ce21, 0x03f30032, 0x036bca27, 0x0348b87d, 0x0008fa4f, 0x00319bb7}}}, + {X: Field{[10]uint32{0x00c79585, 0x028580b6, 0x0098156e, 0x005bcca5, 0x01dcd28c, 0x018cf547, 0x01c1351d, 0x004a24f1, 0x02396819, 0x002f9bc5}}, Y: Field{[10]uint32{0x03afff21, 0x029c797e, 0x0335a5f7, 0x0282950c, 0x021ade5d, 0x03d7f979, 0x038a9668, 0x014e7a9f, 0x027e1a65, 0x001bd9d2}}}, + {X: Field{[10]uint32{0x01d3a283, 0x01f2cc4f, 0x03285e23, 0x02eadff2, 0x01b3f7bf, 0x028b452e, 0x0209ef60, 0x0278a9f8, 0x008f79c6, 0x00322d40}}, Y: Field{[10]uint32{0x03b54bb9, 0x00fb029a, 0x008f52d8, 0x032a98c0, 0x023cea15, 0x01bbf2cd, 0x0036dd74, 0x03df802f, 0x03486c3c, 0x000771e4}}}, + {X: Field{[10]uint32{0x006c0998, 0x029ffd30, 0x027d4eed, 0x02b1df3c, 0x02b038ed, 0x01e5ab47, 0x0197ec3a, 0x03b5893a, 0x039eaad5, 0x0014052b}}, Y: Field{[10]uint32{0x0189dd7d, 0x0221808c, 0x031511a4, 0x014cd25d, 0x01911439, 0x021ed2db, 0x004a77a9, 0x028714b5, 0x006fb8fa, 0x0038075e}}}, + {X: Field{[10]uint32{0x03bb989a, 0x02b76329, 0x02d2b45d, 0x03023620, 0x01b0845e, 0x03ca3f37, 0x02d4f284, 0x0190fb68, 0x01e62c40, 0x001bffbf}}, Y: Field{[10]uint32{0x0011cc0e, 0x01bf9721, 0x004717fb, 0x0201a9bd, 0x01ff0a54, 0x028afb2f, 0x029e4bd9, 0x00ea7888, 0x003c782d, 0x00238ac6}}}, + {X: Field{[10]uint32{0x007d463f, 0x03fc7c52, 0x022904aa, 0x003f07a4, 0x020ad014, 0x02d3030d, 0x02a7e5d0, 0x004dd34c, 0x03bf190e, 0x002b1d8a}}, Y: Field{[10]uint32{0x033adefe, 0x02944f97, 0x02a7e435, 0x0143b606, 0x03bc34d8, 0x036dac4b, 0x001bfec5, 0x01ad028e, 0x03183101, 0x003335e7}}}, + {X: Field{[10]uint32{0x0011cb24, 0x023ab83a, 0x03342796, 0x0337a0a3, 0x03d791a5, 0x01cdec76, 0x03244e7b, 0x0171d424, 0x02d63ec0, 0x0025cd25}}, Y: Field{[10]uint32{0x01647533, 0x01cf99c9, 0x03b7abf5, 0x0194bd5e, 0x03d7420b, 0x030fcd3c, 0x037ff525, 0x00cd47d8, 0x03c0044e, 0x0012cb26}}}, + {X: Field{[10]uint32{0x00a15d32, 0x0266cd21, 0x034291a7, 0x0001be80, 0x02c39ce3, 0x03a8e78d, 0x03577539, 0x02f0c1d0, 0x01665f77, 0x002a7624}}, Y: Field{[10]uint32{0x0380e213, 0x0204ee12, 0x0296b8d0, 0x013f33ea, 0x0056dd88, 0x0018d694, 0x039ce982, 0x02e3f3d3, 0x0217fded, 0x0034270e}}}, + {X: Field{[10]uint32{0x00c5710b, 0x02a68828, 0x02f769ec, 0x01bd835b, 0x02cbab63, 0x009086eb, 0x00a7419f, 0x0151362e, 0x03fdaa2b, 0x000422a3}}, Y: Field{[10]uint32{0x00e0249d, 0x01599735, 0x028d7b12, 0x01ce77cc, 0x01cebbb2, 0x017c38e2, 0x025776a7, 0x02b56289, 0x01fcab04, 0x0002b4fa}}}, + {X: Field{[10]uint32{0x027c5fb5, 0x0316fb5c, 0x00a36de8, 0x02365448, 0x03954387, 0x01791257, 0x000ac6df, 0x00f15eff, 0x017bc884, 0x003be5a7}}, Y: Field{[10]uint32{0x021f16fb, 0x033e170d, 0x0302afc1, 0x014dee02, 0x01d1d4d6, 0x037aab69, 0x005d81a1, 0x0200dac5, 0x03b22673, 0x0016ae06}}}, + {X: Field{[10]uint32{0x03c39b62, 0x028c2590, 0x01162b0b, 0x03c9043d, 0x01d74200, 0x03dc2c91, 0x02dafb28, 0x01514fc4, 0x03c24d50, 0x002ae096}}, Y: Field{[10]uint32{0x01281a1d, 0x032c196c, 0x0194c6f9, 0x02e35155, 0x01708098, 0x01dea072, 0x03e31da2, 0x01105769, 0x01f22377, 0x001e279f}}}, + {X: Field{[10]uint32{0x00bf2622, 0x015aec12, 0x03ac0598, 0x00e664ce, 0x02eeed4e, 0x02125a5c, 0x039198cf, 0x00f00bb1, 0x00e52c17, 0x00126129}}, Y: Field{[10]uint32{0x00c5df3f, 0x033e25eb, 0x034348e7, 0x0090e647, 0x02f199e9, 0x0330f33d, 0x0087a9c2, 0x00b98682, 0x027b79be, 0x001165ad}}}, + {X: Field{[10]uint32{0x025f7272, 0x01284c98, 0x02fbccfa, 0x01a88fcf, 0x004bf0f7, 0x02a9f2c9, 0x0360d0d8, 0x02f84fd3, 0x03f493c1, 0x000a171b}}, Y: Field{[10]uint32{0x03ed49d3, 0x01ecf674, 0x03c1212d, 0x0397a289, 0x03c4caac, 0x0276e6c8, 0x00fd9984, 0x03bca357, 0x01a5cf9c, 0x000e77fa}}}, + {X: Field{[10]uint32{0x003db340, 0x02dc23e1, 0x02c7b348, 0x001b09e2, 0x019bc6e5, 0x00c402aa, 0x02667171, 0x0065c7a4, 0x01d17e72, 0x0007852c}}, Y: Field{[10]uint32{0x00e41cee, 0x0017c113, 0x02a1164d, 0x03f17de7, 0x00394d7d, 0x0135050f, 0x03fe464c, 0x03d89cd1, 0x039dd705, 0x00018e88}}}, + {X: Field{[10]uint32{0x0217c8aa, 0x0102ed6f, 0x018fc101, 0x030133cc, 0x033b1394, 0x03352161, 0x01dcf309, 0x03347bd8, 0x03b9ed71, 0x0002e3dc}}, Y: Field{[10]uint32{0x036f665c, 0x0041f99d, 0x02ec5827, 0x01a96b10, 0x01074567, 0x006f997b, 0x034823aa, 0x03b214bf, 0x02e0bd66, 0x0022bd76}}}, + {X: Field{[10]uint32{0x0314540a, 0x012fdba1, 0x01d15e62, 0x034c7352, 0x0049c995, 0x03456bf4, 0x02367760, 0x03f3db2d, 0x0297e878, 0x001f831c}}, Y: Field{[10]uint32{0x02ddd658, 0x02bc3f6b, 0x000e58aa, 0x00c0280a, 0x00ffd595, 0x02c9c680, 0x00b7568b, 0x00810fd2, 0x01f74c51, 0x0037d5e5}}}, + {X: Field{[10]uint32{0x03798545, 0x03f409da, 0x02cbade5, 0x0046dd52, 0x00109990, 0x03377f92, 0x0351133f, 0x03b67e8a, 0x011d465b, 0x00027c3b}}, Y: Field{[10]uint32{0x00a8459f, 0x02666405, 0x016e9217, 0x00e398c9, 0x01d85b6c, 0x00aaa676, 0x03adde01, 0x00380192, 0x009c73bb, 0x001c017b}}}, + {X: Field{[10]uint32{0x008e12bf, 0x02946aa7, 0x01b125a0, 0x0002c78d, 0x03cc8e40, 0x00388f3b, 0x020608d8, 0x016bc005, 0x035e0b5c, 0x000b555b}}, Y: Field{[10]uint32{0x01f12000, 0x0108b285, 0x038a94e4, 0x0223e02a, 0x01d24d44, 0x03f61bd0, 0x007f6fc1, 0x00eebc77, 0x014425bc, 0x0001d800}}}, + {X: Field{[10]uint32{0x035ed3f2, 0x0206f320, 0x0128ee8d, 0x03950526, 0x012cc14c, 0x0271f730, 0x0079524d, 0x0380b02d, 0x027d7637, 0x000985d9}}, Y: Field{[10]uint32{0x0380884b, 0x02b90651, 0x019babc6, 0x005806ca, 0x017a2c4e, 0x01e3298e, 0x01496be4, 0x0027ae3d, 0x03ba2cd8, 0x0014855c}}}, + {X: Field{[10]uint32{0x019aac10, 0x02c187c3, 0x02492ba1, 0x033fb416, 0x034cae40, 0x020428fc, 0x036e10f8, 0x026991ed, 0x016c5b51, 0x001891e4}}, Y: Field{[10]uint32{0x02e7f098, 0x00cc09bb, 0x034caf2d, 0x01a70fa7, 0x00602b09, 0x00036875, 0x02a193c5, 0x02a5e241, 0x0170535b, 0x003ff409}}}, + {X: Field{[10]uint32{0x023c52af, 0x017533e6, 0x03db4fa5, 0x012a544d, 0x01ea14c6, 0x03b3b3ee, 0x0017e780, 0x002a2180, 0x03e08ed5, 0x003102c9}}, Y: Field{[10]uint32{0x007b6493, 0x03c6b378, 0x0001ba86, 0x02e0c3aa, 0x00c4149f, 0x00416a95, 0x01d1e977, 0x016e13f6, 0x038c7d02, 0x00090572}}}, + {X: Field{[10]uint32{0x03e0de12, 0x0195e340, 0x029748b6, 0x02afc199, 0x03ad7103, 0x03aea713, 0x01bf17bc, 0x0295bf34, 0x008a54a3, 0x002e96bb}}, Y: Field{[10]uint32{0x0157ffbd, 0x03562c1b, 0x0370dc49, 0x0180e7e6, 0x00a705de, 0x03a96e98, 0x03474d28, 0x0312fcf1, 0x0311abec, 0x000d236a}}}, + {X: Field{[10]uint32{0x00076268, 0x00089225, 0x03f675c0, 0x00139571, 0x02c1e9e5, 0x03ecfcc6, 0x031262cf, 0x00a5384c, 0x0258f8dd, 0x002e8539}}, Y: Field{[10]uint32{0x001aa1dd, 0x01b792b2, 0x023659b9, 0x038e8c9b, 0x00c221b0, 0x01b76684, 0x00cb36c6, 0x03957b1c, 0x0105fc43, 0x0033b5d2}}}, + {X: Field{[10]uint32{0x03f4aff4, 0x037e85a9, 0x022d4cfb, 0x00382870, 0x00f9c1d0, 0x004e6acc, 0x02718cb4, 0x031fe8a7, 0x03698880, 0x000cdd6b}}, Y: Field{[10]uint32{0x02295a27, 0x0399fbb3, 0x01726ddd, 0x01e73957, 0x028d27db, 0x0389b1a3, 0x02fa0b85, 0x0396c6d9, 0x0091a83b, 0x0033ea2d}}}, + {X: Field{[10]uint32{0x019f01fe, 0x0252a92f, 0x002d5efc, 0x038bdf54, 0x035b9a8e, 0x0312c9db, 0x03a109a2, 0x03f7eba7, 0x014b306c, 0x001a3498}}, Y: Field{[10]uint32{0x0348550e, 0x00e1b217, 0x008f3661, 0x01221023, 0x01ef9e1d, 0x03503ed6, 0x01f54e84, 0x0197b5f7, 0x02bcf043, 0x0005230d}}}, + {X: Field{[10]uint32{0x00533edd, 0x011edfc7, 0x0277b7fc, 0x01ac1b0d, 0x03900ece, 0x0358ce1e, 0x02990d71, 0x000ec2b4, 0x02a55977, 0x0024feb3}}, Y: Field{[10]uint32{0x002ad5f4, 0x011e5f25, 0x03179745, 0x011363b9, 0x01c20bbe, 0x02687db0, 0x00199853, 0x0053a2d7, 0x03fa8fa1, 0x000f2006}}}, + {X: Field{[10]uint32{0x01054277, 0x01b09d5d, 0x005d6eef, 0x03c5b288, 0x025a0a61, 0x01b242ca, 0x0375ae17, 0x00c46255, 0x00a672f7, 0x003c4775}}, Y: Field{[10]uint32{0x01556ef6, 0x026d5a2e, 0x020e83f5, 0x01154782, 0x006c307d, 0x03063434, 0x022083ca, 0x02b03dfa, 0x016d2ef2, 0x002f01a8}}}, + {X: Field{[10]uint32{0x024204f7, 0x0328e721, 0x00010f10, 0x02165c97, 0x000b71fe, 0x020f2001, 0x029a94ef, 0x029153f4, 0x005d710b, 0x0010baf3}}, Y: Field{[10]uint32{0x025f223b, 0x001934b5, 0x00e40279, 0x01f371a6, 0x00e633c1, 0x01c7419f, 0x03d5cdb2, 0x0007b531, 0x00eb6431, 0x003e2aa1}}}, + {X: Field{[10]uint32{0x01c80e52, 0x0278f861, 0x03b2e67e, 0x03684fc7, 0x00549e96, 0x02274668, 0x03b6fbce, 0x016a5021, 0x03dcd96d, 0x0035021d}}, Y: Field{[10]uint32{0x02789444, 0x0388d317, 0x0087c837, 0x001bd764, 0x02c0be83, 0x03f00510, 0x017b59af, 0x003f2e39, 0x01b385f2, 0x002fa6ee}}}, + {X: Field{[10]uint32{0x0162931f, 0x01d0d609, 0x03e398fa, 0x02eeae35, 0x03aa40c1, 0x00e49029, 0x00ec9342, 0x0042ae22, 0x0098cd21, 0x003062cb}}, Y: Field{[10]uint32{0x015773f8, 0x00b3a5c5, 0x001cb24c, 0x02724df0, 0x03b83f18, 0x0019b102, 0x01f18cd1, 0x035d31d7, 0x00349147, 0x00365884}}}, + {X: Field{[10]uint32{0x005c0bd1, 0x03e238f8, 0x039e4d14, 0x01631923, 0x036fe946, 0x02ed37af, 0x034fa0c4, 0x03e10473, 0x03221a44, 0x0005535a}}, Y: Field{[10]uint32{0x0075559a, 0x014a9656, 0x01976de5, 0x03cfaf15, 0x037c1074, 0x0365398f, 0x00bbb6ad, 0x00ccbcca, 0x0307c705, 0x0037c2f0}}}, + {X: Field{[10]uint32{0x01a26f15, 0x009a8d78, 0x006e0a93, 0x01670eae, 0x0024485d, 0x02610b6f, 0x017d2285, 0x024ec68e, 0x01e5629f, 0x0028e096}}, Y: Field{[10]uint32{0x01f783fb, 0x02ee7aa4, 0x01892367, 0x013fd0d7, 0x00171327, 0x0229e6e3, 0x0074932e, 0x00a98ece, 0x00cc2fe5, 0x001a6d6b}}}, + {X: Field{[10]uint32{0x023fcd19, 0x02ca8f1d, 0x02013d4d, 0x00a5be08, 0x00148270, 0x03bb7b46, 0x025a7d52, 0x00d24e64, 0x02eee91e, 0x00275ca7}}, Y: Field{[10]uint32{0x03e89a1f, 0x02a8bc38, 0x00339657, 0x027938cc, 0x009cadc0, 0x0361d3ec, 0x02f731f2, 0x02188459, 0x015403cc, 0x001b60c8}}}, + {X: Field{[10]uint32{0x03751e3a, 0x01c06cd9, 0x00b39b25, 0x024e283e, 0x0346398c, 0x0112a7e6, 0x02cede79, 0x01f1f95d, 0x00088630, 0x00099d3c}}, Y: Field{[10]uint32{0x013f83cf, 0x0199ae06, 0x02fa212a, 0x031ea748, 0x02e31bde, 0x02c3c7d3, 0x03638d07, 0x0347be0d, 0x03426ac9, 0x0000fa7a}}}, + {X: Field{[10]uint32{0x02237f41, 0x03cd1453, 0x002c2743, 0x00b1bdc3, 0x03b7c164, 0x02d89b03, 0x028e9fdb, 0x02e15b74, 0x015eadb1, 0x002ca81b}}, Y: Field{[10]uint32{0x03f664d3, 0x033ab58e, 0x01f5ff3b, 0x02613401, 0x03de579a, 0x0206b582, 0x03baed44, 0x02c9a089, 0x038b8673, 0x0017532b}}}, + {X: Field{[10]uint32{0x022d713d, 0x03c8f848, 0x03a60f0b, 0x003c5056, 0x012b278c, 0x00103c17, 0x03e4ec92, 0x03af73b0, 0x0164d61d, 0x00082c9f}}, Y: Field{[10]uint32{0x00e516a3, 0x0111ede9, 0x03ffb41e, 0x0026eceb, 0x02c8c5c8, 0x00159d43, 0x01264886, 0x00b7cd73, 0x01e7ff5c, 0x00120761}}}, + {X: Field{[10]uint32{0x00e3f2e5, 0x0335714f, 0x0051bfc7, 0x003d169f, 0x03527093, 0x0031547d, 0x00d7c152, 0x02a897d8, 0x010c450e, 0x0013d298}}, Y: Field{[10]uint32{0x0247f328, 0x00bf640e, 0x0239c2b3, 0x013bf5f7, 0x01e82423, 0x03e75a3b, 0x02d8d8e0, 0x0188a19c, 0x0211db41, 0x0037c7a3}}}, + {X: Field{[10]uint32{0x00aceaa9, 0x03ee8daa, 0x01e9e776, 0x02245196, 0x03bc06c9, 0x00d66f01, 0x0170b4be, 0x010d6095, 0x02d80050, 0x0026cdd7}}, Y: Field{[10]uint32{0x01e90927, 0x01ab888d, 0x01f26d1e, 0x01021b73, 0x03226834, 0x01670d20, 0x01de5b1f, 0x0001a645, 0x0193385c, 0x000f4159}}}, + {X: Field{[10]uint32{0x02c9d1be, 0x0300648b, 0x03ba4060, 0x021cdff3, 0x03c13aff, 0x00e42dff, 0x03865e72, 0x00b21cc7, 0x00045d43, 0x0010d902}}, Y: Field{[10]uint32{0x0070cbeb, 0x01ac8818, 0x016eb234, 0x02496e2c, 0x025aff2a, 0x012ed3ef, 0x01f2aac5, 0x00ff878f, 0x02af6fc7, 0x00388ce3}}}, + {X: Field{[10]uint32{0x001e0b66, 0x01d849fd, 0x02a394c4, 0x00bbcae7, 0x0259287f, 0x02fa2353, 0x021f35cf, 0x0045c905, 0x004f2446, 0x0029b967}}, Y: Field{[10]uint32{0x019f334d, 0x03b17f9f, 0x032775f5, 0x00acb9ea, 0x0257a8ae, 0x0133dc62, 0x00fa470c, 0x01d7e507, 0x0347f5dd, 0x001d71c1}}}, + {X: Field{[10]uint32{0x01322d51, 0x02801ec9, 0x016ed7c9, 0x0165d2ca, 0x025293a9, 0x01a9b4ce, 0x03bf1e84, 0x0147f65d, 0x0217ae73, 0x003fd8e5}}, Y: Field{[10]uint32{0x03dac457, 0x01cc4594, 0x0239f79d, 0x01c7bd01, 0x03e21dca, 0x039e60d4, 0x03f81ffe, 0x0157dd94, 0x01abfa23, 0x0039848f}}}, + {X: Field{[10]uint32{0x02f4faf3, 0x0376fa53, 0x030435f8, 0x03b80722, 0x00c254df, 0x02b578a1, 0x0237cbc5, 0x03639822, 0x00401710, 0x001de452}}, Y: Field{[10]uint32{0x00611414, 0x02e3b638, 0x00ecaa54, 0x0118cb26, 0x02623be4, 0x02534a9a, 0x0075dc38, 0x03531c10, 0x00e99ef3, 0x00365fd1}}}, + {X: Field{[10]uint32{0x01484aad, 0x015e7ede, 0x00ee5d42, 0x03f01b76, 0x00947cf1, 0x03704d71, 0x0151c00a, 0x0152a841, 0x00aa0292, 0x003da244}}, Y: Field{[10]uint32{0x0052c1fc, 0x02d67930, 0x03c941b9, 0x0310fd71, 0x0269f9f5, 0x0325e137, 0x01587eaf, 0x01b58c2b, 0x03db33a5, 0x00102f7e}}}, + {X: Field{[10]uint32{0x036e0fd3, 0x01891906, 0x0169629f, 0x034b7bc7, 0x00f2d4d8, 0x03558361, 0x01c75011, 0x0133bdc6, 0x0381473d, 0x00056fa3}}, Y: Field{[10]uint32{0x00fd9a2a, 0x023bbb9c, 0x007bb1d2, 0x02a21241, 0x0364b85e, 0x01b64c99, 0x011ead00, 0x006d0711, 0x0126fc99, 0x001f99be}}}, + {X: Field{[10]uint32{0x0284e9ca, 0x006af762, 0x019db909, 0x01be682f, 0x03d0c5c2, 0x01f10722, 0x03272970, 0x00c0bbd0, 0x015a2e22, 0x0003844f}}, Y: Field{[10]uint32{0x01574dc0, 0x0095f2bd, 0x0353026a, 0x03472e00, 0x03b54941, 0x03c6cb16, 0x026b70b2, 0x0371145e, 0x02d834c6, 0x000b9218}}}, + {X: Field{[10]uint32{0x03bea688, 0x0237f9d1, 0x01595aa7, 0x02c15f5b, 0x022c94da, 0x030346f8, 0x0220d9de, 0x02e99dfd, 0x0370485b, 0x0025ac41}}, Y: Field{[10]uint32{0x03dbf30b, 0x027a7c6e, 0x016a5225, 0x03092926, 0x02ff854a, 0x031de766, 0x021bd58f, 0x01c9ab06, 0x02ae0222, 0x0038182a}}}, + {X: Field{[10]uint32{0x0005545d, 0x01e24d09, 0x02183de8, 0x031d68e3, 0x0057f6f7, 0x034b3f63, 0x025e8990, 0x0255385f, 0x03005555, 0x00205d0b}}, Y: Field{[10]uint32{0x02d2fc0e, 0x03b80f4b, 0x0236edf1, 0x031a3e48, 0x00a8d742, 0x00d5e3ec, 0x032fbb07, 0x0017cb9b, 0x03c2e5f7, 0x00285d8f}}}, + {X: Field{[10]uint32{0x0378a480, 0x01207fee, 0x01c17fcc, 0x002f85b0, 0x0386bc7a, 0x02434dee, 0x00b72eaf, 0x023d89df, 0x03139698, 0x0005f067}}, Y: Field{[10]uint32{0x03c78833, 0x030eed94, 0x01fd9c5e, 0x0181c63e, 0x013f430e, 0x038f946e, 0x01c2642a, 0x0193ad88, 0x00d52101, 0x0032c4a4}}}, + {X: Field{[10]uint32{0x02497a3c, 0x0066fae8, 0x01c3f403, 0x001d8f00, 0x00bfeee5, 0x02e18552, 0x0248b2bb, 0x01bb2719, 0x0306e874, 0x00001ec3}}, Y: Field{[10]uint32{0x02a70020, 0x02dde3b5, 0x00c6a2fd, 0x016275ba, 0x031634b7, 0x032a831e, 0x00b318f1, 0x01f638c2, 0x03788429, 0x0031a524}}}, + {X: Field{[10]uint32{0x02c5e8b3, 0x015ba444, 0x0013405f, 0x005f2c6e, 0x0055a805, 0x02a26dd5, 0x027d8c28, 0x0060fe69, 0x03062414, 0x001c570a}}, Y: Field{[10]uint32{0x0120370b, 0x015dcfc9, 0x03b33920, 0x000e5de1, 0x0123167f, 0x03e12d35, 0x02d4cca7, 0x01771c78, 0x01c89a79, 0x003e26e2}}}, + {X: Field{[10]uint32{0x0374d3b6, 0x03d03723, 0x024c78f1, 0x00277626, 0x01057aed, 0x03f976fd, 0x0377662e, 0x03f1e1d9, 0x0200f974, 0x00383433}}, Y: Field{[10]uint32{0x03e3eb56, 0x01c138b8, 0x000d3e85, 0x03f9f2cf, 0x03c253be, 0x01315447, 0x03c7f05c, 0x01211e52, 0x0265ed70, 0x002b316f}}}, + {X: Field{[10]uint32{0x026432a2, 0x002ac7f4, 0x02222e77, 0x021d6eb5, 0x01bdba9a, 0x033674a8, 0x01aaf75e, 0x02e2de69, 0x028976fb, 0x000dd54c}}, Y: Field{[10]uint32{0x02ced92d, 0x00584230, 0x01d77eb0, 0x01f0b170, 0x0001087e, 0x00aca822, 0x00bc7d01, 0x00192f60, 0x02331b7e, 0x001b6ef8}}}, + {X: Field{[10]uint32{0x03e3d3ff, 0x02ace81b, 0x00699446, 0x0144aaf7, 0x00f46ca6, 0x02cabec1, 0x003f6b08, 0x0240da1a, 0x03ef51ea, 0x000ba570}}, Y: Field{[10]uint32{0x019b554a, 0x02d030ca, 0x0349839c, 0x019802ca, 0x0201556c, 0x01876f18, 0x0063b94c, 0x037f8121, 0x0287b1d8, 0x0002417a}}}, + {X: Field{[10]uint32{0x00ff8eb5, 0x01f5d6b1, 0x02cf40fe, 0x0036d645, 0x02646758, 0x01cd54fd, 0x035c67fb, 0x00c915fc, 0x021e721f, 0x00094c43}}, Y: Field{[10]uint32{0x006b4ace, 0x02d50c1e, 0x03041016, 0x018b05fa, 0x0146ecd6, 0x01f72ac7, 0x01a359b8, 0x03bad509, 0x02f9be42, 0x00271794}}}, + {X: Field{[10]uint32{0x03830b7b, 0x001fd46d, 0x013b0cf7, 0x01f5febd, 0x0227a23b, 0x035f2d41, 0x00779117, 0x03f0b75e, 0x031b2b24, 0x000964ca}}, Y: Field{[10]uint32{0x03536765, 0x00cb6477, 0x00f3e04e, 0x00180427, 0x022215e2, 0x037ce8ab, 0x03969a6d, 0x009ac075, 0x03b4acdb, 0x001fa388}}}, + {X: Field{[10]uint32{0x03c5ed3e, 0x005a911c, 0x0284e22b, 0x017ac26d, 0x02892e13, 0x025fd6e2, 0x029ba443, 0x01d99ee9, 0x02f6251f, 0x001f48ca}}, Y: Field{[10]uint32{0x02d8356e, 0x00995c69, 0x0392c1cd, 0x01165426, 0x00131b90, 0x026093c7, 0x03dea61d, 0x0226d633, 0x0238c8a5, 0x0028fa3d}}}, + {X: Field{[10]uint32{0x00c720f9, 0x03a5d572, 0x03633cb9, 0x01141211, 0x026afc86, 0x01125581, 0x03e05b0a, 0x03aa1ee8, 0x02a01b65, 0x001355b2}}, Y: Field{[10]uint32{0x03537330, 0x0105dc5d, 0x0208f50f, 0x03865deb, 0x007c1eae, 0x00dbc0d2, 0x03f1ada9, 0x01465f28, 0x027836e6, 0x000530d1}}}, + {X: Field{[10]uint32{0x0100a88b, 0x03bef671, 0x01c2c122, 0x000cdc9f, 0x032615b5, 0x031c8bb5, 0x01c81f42, 0x03e2eddd, 0x0165ca6f, 0x001c6af4}}, Y: Field{[10]uint32{0x012620f1, 0x02ae2112, 0x00eb9c39, 0x01499089, 0x01a59693, 0x0046b12e, 0x031c46ae, 0x013e18be, 0x00670728, 0x001e6e89}}}, + {X: Field{[10]uint32{0x02a48965, 0x00ba4195, 0x039f4200, 0x01d31045, 0x0230215e, 0x03176795, 0x00496345, 0x00146731, 0x00ccc381, 0x002118bf}}, Y: Field{[10]uint32{0x03787d4b, 0x00241229, 0x005cb64d, 0x029d70f0, 0x00f0eb75, 0x027f1190, 0x0148a7e2, 0x02e662f1, 0x0166cd7f, 0x00014d6a}}}, + {X: Field{[10]uint32{0x02c09826, 0x03a4d44d, 0x01ae3286, 0x0011bf91, 0x00b9c2b1, 0x0195a12a, 0x0178b5c6, 0x0147402d, 0x0093fed7, 0x003da3ab}}, Y: Field{[10]uint32{0x0148bff5, 0x013f117f, 0x01831733, 0x0355cca8, 0x0366f7d8, 0x02943952, 0x0119ff2f, 0x02a28a3c, 0x032b98b0, 0x00263830}}}, + {X: Field{[10]uint32{0x01f72041, 0x0110acb6, 0x00b1615f, 0x031f9250, 0x0243467d, 0x01bfd5a6, 0x00e4014f, 0x0364d670, 0x025009a8, 0x0018511c}}, Y: Field{[10]uint32{0x02c8f807, 0x00cc505e, 0x02d2eb2f, 0x0024abac, 0x00fa58f2, 0x03efaa22, 0x02a7108d, 0x01fb9f7b, 0x037fc7f5, 0x0003edc5}}}, + {X: Field{[10]uint32{0x0315614f, 0x023b3152, 0x01497fc2, 0x0324de68, 0x01c9846a, 0x00b6233c, 0x0259a26e, 0x006f4b88, 0x02114ffa, 0x003a9a7b}}, Y: Field{[10]uint32{0x00e4e2de, 0x02dda317, 0x022c9b17, 0x006e026d, 0x0163183d, 0x0375b3cf, 0x00141083, 0x035d4244, 0x01b51dd6, 0x001626e0}}}, + {X: Field{[10]uint32{0x025d5263, 0x01319813, 0x02b78146, 0x0057147e, 0x0338e6aa, 0x01ffc542, 0x01a1ce0d, 0x037a5990, 0x03243404, 0x000d1c9e}}, Y: Field{[10]uint32{0x0027d4f2, 0x00a27536, 0x03804435, 0x03cb56ef, 0x031920bf, 0x03001a74, 0x039baadd, 0x0329dcd6, 0x026bcf56, 0x0024660c}}}, + {X: Field{[10]uint32{0x02217461, 0x02343667, 0x02ad952f, 0x036549b3, 0x00eeebf4, 0x03a62d3c, 0x022d2756, 0x01e370a7, 0x02ae6137, 0x00254914}}, Y: Field{[10]uint32{0x02d486a8, 0x01c5d6ca, 0x035ff079, 0x020b7052, 0x03c17f65, 0x006c5046, 0x0250eb10, 0x03ed6be6, 0x0228c195, 0x003022ce}}}, + {X: Field{[10]uint32{0x038e49ff, 0x02855ab9, 0x01bfd2d4, 0x010af78b, 0x02401b83, 0x019840c1, 0x01afeba6, 0x022f1dfa, 0x0318dc4a, 0x003ef28f}}, Y: Field{[10]uint32{0x014129c9, 0x01f910fe, 0x029b6c7b, 0x01ceee4c, 0x034cf755, 0x01dae493, 0x020db7bc, 0x02cb7bb6, 0x016d6027, 0x000ae0a7}}}, + {X: Field{[10]uint32{0x03d8c141, 0x03130556, 0x0082b57b, 0x03fee502, 0x005302bf, 0x0022929c, 0x03dff64a, 0x0190ea55, 0x011d7ddc, 0x0031f77c}}, Y: Field{[10]uint32{0x02708e20, 0x01559a5b, 0x02a8889d, 0x038628f6, 0x03b3711e, 0x00e6f9e6, 0x03e81468, 0x02c0600f, 0x01f1ac93, 0x003a7284}}}, + {X: Field{[10]uint32{0x00ce31b8, 0x03b9299c, 0x02fa2cd0, 0x014e72db, 0x011b3f23, 0x039a0860, 0x031f7e44, 0x0018fae0, 0x023086e3, 0x001c410e}}, Y: Field{[10]uint32{0x01322c9d, 0x02df2d22, 0x03411ebc, 0x01914c82, 0x019334c1, 0x0178a613, 0x029cc925, 0x0349cd2a, 0x0338ef9f, 0x00136cfc}}}, + {X: Field{[10]uint32{0x00602585, 0x01a9dd92, 0x034c3dbb, 0x0111e644, 0x005d70f0, 0x003e8dd7, 0x0349d368, 0x01f2ef64, 0x02401534, 0x001b793a}}, Y: Field{[10]uint32{0x03960418, 0x01df7c9f, 0x03d70f1d, 0x010ce31c, 0x02458a32, 0x01c0973c, 0x028d8394, 0x014b6fba, 0x018865ab, 0x0000edd9}}}, + {X: Field{[10]uint32{0x024fecbe, 0x0095a5ae, 0x02215bc4, 0x030387e9, 0x01db9a0c, 0x03dee80f, 0x017e23b6, 0x03b2dfa8, 0x039f467c, 0x000a7ea9}}, Y: Field{[10]uint32{0x00f34838, 0x03fe86d2, 0x01154e50, 0x017b4bfc, 0x0264a224, 0x01af7c41, 0x03027d04, 0x02f0a707, 0x011fc42f, 0x00396a9a}}}, + {X: Field{[10]uint32{0x02aafc99, 0x010be4c5, 0x00f79c8c, 0x02e1d244, 0x03d750f8, 0x00afe3d6, 0x025f15a0, 0x016c89e3, 0x03fc25ae, 0x003fe202}}, Y: Field{[10]uint32{0x025747df, 0x03bba08e, 0x00b105ee, 0x019af228, 0x0360e7a1, 0x02ed40b6, 0x0025bd81, 0x023de4de, 0x030a0072, 0x00254d7d}}}, + {X: Field{[10]uint32{0x00a2a378, 0x01af4be9, 0x00eeef6a, 0x02c90949, 0x0160eff0, 0x014ba302, 0x020c5663, 0x03dbd614, 0x02a03837, 0x002de06d}}, Y: Field{[10]uint32{0x00dbbb62, 0x03ffefd3, 0x01e4fc44, 0x027989d5, 0x01cbf838, 0x0304ada7, 0x0322ee73, 0x00f7650d, 0x03d46c68, 0x002b35ed}}}, + {X: Field{[10]uint32{0x027406db, 0x01028ed1, 0x01990ee5, 0x01896411, 0x03b3f190, 0x00b92b0a, 0x0332c648, 0x03174369, 0x0193e8ba, 0x001b65d9}}, Y: Field{[10]uint32{0x032a8b6b, 0x01fa704b, 0x016583bd, 0x00966a2e, 0x016cbc18, 0x00a92abb, 0x00bb9c0f, 0x020585b0, 0x03e4af6d, 0x000c30d4}}}, + {X: Field{[10]uint32{0x00dc3032, 0x0219af5b, 0x014015d0, 0x0208a9b6, 0x03683ec7, 0x03eb4784, 0x02121129, 0x03836d18, 0x036a4dd3, 0x00063b59}}, Y: Field{[10]uint32{0x00a51bd5, 0x009ac580, 0x019bb8ef, 0x039dfb8c, 0x0006f9a6, 0x01780d9c, 0x03b97626, 0x02a0a97d, 0x02e15dbf, 0x00321ac1}}}, + {X: Field{[10]uint32{0x035ce2a1, 0x015032b6, 0x0118ceb3, 0x034ee547, 0x01d1e859, 0x03bf52e3, 0x00bce4da, 0x003ff30b, 0x0238e944, 0x0000c4e3}}, Y: Field{[10]uint32{0x0095c241, 0x038a325a, 0x029a3430, 0x010253be, 0x03fef4bc, 0x02431b9b, 0x0260a134, 0x02199f75, 0x01b2a11a, 0x0037e2ac}}}, + {X: Field{[10]uint32{0x00b00c95, 0x015c73fa, 0x03c3a091, 0x0023d240, 0x02163ce6, 0x0126a5d8, 0x02b1e761, 0x0326aae2, 0x00ac2025, 0x001d5f7d}}, Y: Field{[10]uint32{0x03a03430, 0x0353b337, 0x018c4a37, 0x032d343f, 0x01c56bd7, 0x014001d9, 0x0115ab76, 0x0317611f, 0x01feab36, 0x003fc2bd}}}, + {X: Field{[10]uint32{0x004c27e1, 0x01c10262, 0x015cc9aa, 0x03a1142e, 0x020ce09d, 0x0078ecbc, 0x03319a08, 0x01626f44, 0x02527156, 0x00229a5e}}, Y: Field{[10]uint32{0x0151f39d, 0x0027e1ab, 0x03ca13df, 0x039aefc0, 0x015a5edd, 0x00ccb576, 0x032815ad, 0x027a78df, 0x013cb602, 0x00027bae}}}, + {X: Field{[10]uint32{0x018c721b, 0x035838f9, 0x000b1650, 0x026f53d3, 0x01d35eb8, 0x00dea135, 0x03c2198e, 0x0382c5b3, 0x018736f9, 0x002c2eda}}, Y: Field{[10]uint32{0x016e00dc, 0x018d8efb, 0x001ebb3b, 0x0054bd23, 0x010b8556, 0x02ce3a0b, 0x009808f0, 0x02d405bc, 0x0200ce25, 0x000cf56c}}}, + {X: Field{[10]uint32{0x0037efed, 0x006d5172, 0x022d8d9f, 0x017a41ab, 0x03ef6d6f, 0x034be3fd, 0x037882a0, 0x0118d098, 0x01de5dde, 0x0007283b}}, Y: Field{[10]uint32{0x002863bc, 0x027af6aa, 0x02e41acb, 0x013eb163, 0x024c4d3a, 0x017ae7cf, 0x015d4c0f, 0x01a0f69f, 0x01ae4cff, 0x00067bed}}}, + {X: Field{[10]uint32{0x01474aa7, 0x03f10893, 0x0121ed90, 0x006b793a, 0x01d59ad1, 0x00786dd9, 0x02849310, 0x0395f59a, 0x030eb9a4, 0x001e0396}}, Y: Field{[10]uint32{0x033ab811, 0x024c8304, 0x016a3d33, 0x03fd0614, 0x001d8f34, 0x01e6a8e9, 0x02579f4c, 0x017c84b6, 0x00cc58cc, 0x0017af67}}}, + {X: Field{[10]uint32{0x00eb4c9d, 0x01a1b68d, 0x01468edf, 0x026952fc, 0x0330ec07, 0x037c8429, 0x02af620c, 0x021414b4, 0x00e93980, 0x003dfa4b}}, Y: Field{[10]uint32{0x00f93666, 0x03deae5e, 0x035857b1, 0x0259ea22, 0x0257c234, 0x00bc52b6, 0x03d54c03, 0x02a58563, 0x01cfe113, 0x000b1567}}}, + {X: Field{[10]uint32{0x0289f938, 0x01f69712, 0x036f54bc, 0x02909a4c, 0x013a5688, 0x00360358, 0x01ff8092, 0x00829e3e, 0x022075bb, 0x000f0ebe}}, Y: Field{[10]uint32{0x03888c8d, 0x03cfe71e, 0x0132b978, 0x0364fc74, 0x023bd836, 0x0190d7c8, 0x023a9f54, 0x00d75b95, 0x03081dd2, 0x001fbce0}}}, + {X: Field{[10]uint32{0x022097ee, 0x03ec557c, 0x01115af4, 0x03700c06, 0x0389fb9e, 0x01f95848, 0x01ec59e0, 0x03e6d5d7, 0x001dee60, 0x001c75bc}}, Y: Field{[10]uint32{0x0080bfee, 0x0011c387, 0x016802ef, 0x03483abc, 0x0138da4f, 0x02d050c8, 0x0054091f, 0x028d714a, 0x02454a31, 0x00387330}}}, + {X: Field{[10]uint32{0x00c4fa2d, 0x03dd6e4e, 0x036ea1f5, 0x00c7162a, 0x02b107fc, 0x039895f7, 0x00a77b28, 0x03b20242, 0x020f5705, 0x0025c999}}, Y: Field{[10]uint32{0x008cd4c1, 0x021a526d, 0x000c690c, 0x039c23a9, 0x01d3636f, 0x01b6c319, 0x018c213b, 0x0347a584, 0x03ae3102, 0x00253301}}}, + {X: Field{[10]uint32{0x02802719, 0x000ab0ac, 0x004b87fd, 0x004bb07f, 0x02297fad, 0x01fa2d8c, 0x011a1a29, 0x0286bc1a, 0x00c754b2, 0x002b3974}}, Y: Field{[10]uint32{0x039f85eb, 0x03252162, 0x008581f4, 0x032b4934, 0x027fc843, 0x03c6235a, 0x02491f05, 0x01c973ae, 0x03248d3e, 0x002493e7}}}, + {X: Field{[10]uint32{0x01943f64, 0x0159ace1, 0x018b88fa, 0x03f588ba, 0x028200ea, 0x00e2928a, 0x01778f28, 0x003fc333, 0x006b3480, 0x003e944c}}, Y: Field{[10]uint32{0x0296e293, 0x01721c50, 0x015c85f0, 0x015eb4d3, 0x0104b677, 0x0324ad43, 0x00ee030f, 0x0121ce87, 0x02166b14, 0x002d83b9}}}, + {X: Field{[10]uint32{0x01bea60a, 0x0275610b, 0x030f17c1, 0x0165845c, 0x000b716a, 0x0163abf3, 0x00097ee4, 0x009699e7, 0x0018329d, 0x002177e4}}, Y: Field{[10]uint32{0x017ab0fa, 0x03a24462, 0x0180ae62, 0x031bcbda, 0x00b7bc64, 0x039e1ddd, 0x01ad7c09, 0x008473a6, 0x01b6046d, 0x00315575}}}, + {X: Field{[10]uint32{0x00af5e3a, 0x02627389, 0x037f3efb, 0x03d1e018, 0x01337ff5, 0x0398d2a6, 0x0061b52a, 0x01119ead, 0x000dc202, 0x000bddf0}}, Y: Field{[10]uint32{0x005e3e39, 0x0039fea4, 0x0325303f, 0x039ebbca, 0x020c5d28, 0x039fbee9, 0x00c52b0b, 0x03eaf61c, 0x0278ebcb, 0x0031fd29}}}, + {X: Field{[10]uint32{0x028bb34e, 0x03123088, 0x0200158f, 0x03d6c3bd, 0x011f238d, 0x02e00afd, 0x036a4997, 0x0143583f, 0x023a7200, 0x0014b628}}, Y: Field{[10]uint32{0x003d9136, 0x00c0b6e0, 0x000f2ccd, 0x004b245e, 0x02cebb18, 0x030c31e1, 0x02d29b51, 0x02386858, 0x01a7861b, 0x00262ba0}}}, + {X: Field{[10]uint32{0x0212b211, 0x003b6c5c, 0x022fd37b, 0x008901d1, 0x00701daf, 0x01d556d7, 0x03b83204, 0x0001248b, 0x0079eaca, 0x0029fcf9}}, Y: Field{[10]uint32{0x03bdaada, 0x019402e7, 0x03ae8e92, 0x01f311db, 0x013e3376, 0x006eb00e, 0x0268498d, 0x029f05ee, 0x010c8c4c, 0x00203d86}}}, + {X: Field{[10]uint32{0x02356103, 0x01181f28, 0x00880ea0, 0x0264023d, 0x0373db57, 0x0108e0ab, 0x03bf4d79, 0x034c9986, 0x0150e67b, 0x000c7bcc}}, Y: Field{[10]uint32{0x00a9a8ee, 0x020d2c6a, 0x00954631, 0x01ab8f4b, 0x01bc03c4, 0x012c5bb5, 0x0350bb51, 0x00a3464e, 0x01d6655d, 0x001f6e3d}}}, + {X: Field{[10]uint32{0x038b058d, 0x03b8914e, 0x031fceab, 0x034e1a04, 0x00599b0c, 0x00bb7a8c, 0x02d1ee35, 0x000a64e6, 0x0155469c, 0x003ba0bc}}, Y: Field{[10]uint32{0x0092b10c, 0x00bfcc14, 0x00400eed, 0x0263c0e5, 0x0032de93, 0x02b6e263, 0x01d9ed6c, 0x030b10ab, 0x014e2d77, 0x003f4303}}}, + {X: Field{[10]uint32{0x016b4586, 0x0347df95, 0x0073e206, 0x0242d15a, 0x01273549, 0x0281c55d, 0x01f7d458, 0x0375bc2a, 0x007abfce, 0x00037b1f}}, Y: Field{[10]uint32{0x007200c4, 0x0060041d, 0x0327673c, 0x031ee172, 0x002c7626, 0x01e7f8c8, 0x02f0912b, 0x025fd061, 0x02b4cad5, 0x002be106}}}, + {X: Field{[10]uint32{0x00d2369d, 0x02cd347d, 0x0362e526, 0x004bb921, 0x002bf34f, 0x01466f60, 0x011ba405, 0x01bfa5d6, 0x037048cd, 0x0030a38c}}, Y: Field{[10]uint32{0x00636e8b, 0x003ac5fc, 0x01a647d5, 0x0148e4c9, 0x03b8640f, 0x025dae84, 0x0086dba6, 0x019cc5fd, 0x03ddda45, 0x0003802a}}}, + {X: Field{[10]uint32{0x03222195, 0x011448f7, 0x01a93071, 0x00c473c1, 0x01370277, 0x003c8d4c, 0x0029e9db, 0x017d9403, 0x00a92c27, 0x0011c55f}}, Y: Field{[10]uint32{0x01cbef6e, 0x003833a2, 0x00dc4f43, 0x01cacd3e, 0x009fefeb, 0x0107321d, 0x007e9ed4, 0x03f496be, 0x03fac911, 0x001922c5}}}, + {X: Field{[10]uint32{0x00a73241, 0x01c6991b, 0x03868f54, 0x014e9eac, 0x039a0a92, 0x027fc651, 0x01b55037, 0x014f3b60, 0x0302745c, 0x00213445}}, Y: Field{[10]uint32{0x01f858c5, 0x0382f089, 0x016b62c0, 0x03076359, 0x01fc593e, 0x01139933, 0x03b13536, 0x0021e93b, 0x02a20c3c, 0x0013c5ad}}}, + {X: Field{[10]uint32{0x03d63fc9, 0x02f8b5e5, 0x02dccb7f, 0x00a23a46, 0x03c74e81, 0x02a20471, 0x02b2f28e, 0x0182e1ac, 0x00221960, 0x000eee8c}}, Y: Field{[10]uint32{0x0334e286, 0x00f4a8a9, 0x02f3a9d7, 0x0262db9f, 0x00879d3f, 0x03a93d53, 0x03c5aa12, 0x014dce9d, 0x014af094, 0x001fcd01}}}, + {X: Field{[10]uint32{0x00651c6b, 0x03a281a6, 0x038f4425, 0x001aaa14, 0x00b9f746, 0x00f5039c, 0x037485ab, 0x01850c90, 0x03f47a2c, 0x0002158d}}, Y: Field{[10]uint32{0x03396054, 0x0002b664, 0x00096c35, 0x00c68c34, 0x02f76e85, 0x020e940d, 0x03075760, 0x00ac799e, 0x01d56fb4, 0x002f1aa5}}}, + {X: Field{[10]uint32{0x01bbd123, 0x01bb4c53, 0x0167d8ea, 0x010a902a, 0x02e8021a, 0x034f150f, 0x02d1605d, 0x00066887, 0x02985e75, 0x00094c0b}}, Y: Field{[10]uint32{0x02797a83, 0x02936399, 0x010f3267, 0x00e447f7, 0x01c02206, 0x004dc4fe, 0x02f9b4ba, 0x01d64751, 0x03e02309, 0x00212732}}}, + {X: Field{[10]uint32{0x003bea40, 0x01fd793d, 0x01f8e411, 0x003edae1, 0x03485fde, 0x029c82b8, 0x00d73dab, 0x024f8f02, 0x00bf88e3, 0x0039668c}}, Y: Field{[10]uint32{0x0197dfd5, 0x02112618, 0x02fb4422, 0x01921e1c, 0x0383ebbb, 0x00f92fe0, 0x00fa6bd3, 0x032cdc68, 0x024fe222, 0x001bf5e0}}}, + {X: Field{[10]uint32{0x02247e4e, 0x03e060fd, 0x025bda83, 0x0074b04d, 0x02de0533, 0x024d778b, 0x01e9bc3b, 0x00698162, 0x01f69798, 0x0031640b}}, Y: Field{[10]uint32{0x0175fe3c, 0x016b1f4b, 0x02c91f86, 0x01bae4f6, 0x0121d073, 0x03fadf38, 0x035ecb58, 0x0147bc6a, 0x014f5af5, 0x00319fac}}}, + {X: Field{[10]uint32{0x015e66ad, 0x02ad3983, 0x00c1b277, 0x0270b9b1, 0x01b8b640, 0x0138f202, 0x039a9b47, 0x0049fb19, 0x02c7fe27, 0x0037e2f6}}, Y: Field{[10]uint32{0x017d43e1, 0x02c409dc, 0x02dc7645, 0x01bf0099, 0x00273825, 0x00bad1c2, 0x01802ed7, 0x00e25953, 0x03e49f0b, 0x000ffc9b}}}, + {X: Field{[10]uint32{0x0065a82c, 0x0233dd8b, 0x02cf3f1e, 0x00942459, 0x009eff91, 0x0204357c, 0x01c7c02b, 0x02e32b0e, 0x004e9c7c, 0x00075550}}, Y: Field{[10]uint32{0x02a7632f, 0x02ee6f6c, 0x00707c24, 0x03a82681, 0x03e5a760, 0x00bf1348, 0x0099f64a, 0x03228d71, 0x0023f6a1, 0x00305e1c}}}, + {X: Field{[10]uint32{0x01f43b44, 0x03b82203, 0x034ef804, 0x02599e86, 0x002d040e, 0x01617914, 0x0106073d, 0x03f7eda1, 0x00c9b035, 0x000d7ce4}}, Y: Field{[10]uint32{0x03f512a2, 0x01768e2f, 0x010383c5, 0x00ab690f, 0x004c3cad, 0x003ae5d5, 0x0036fec5, 0x0362ddf7, 0x018886aa, 0x001aa173}}}, + {X: Field{[10]uint32{0x01e059b0, 0x01d13131, 0x006d588f, 0x01bb50f4, 0x011d2278, 0x0091273f, 0x02d7005b, 0x023e9bc9, 0x000dee88, 0x003eec21}}, Y: Field{[10]uint32{0x01b8d3bf, 0x034ac973, 0x005a6508, 0x03d2f4f5, 0x02203b05, 0x03d946eb, 0x00ffa219, 0x01c3c8e9, 0x014fd89a, 0x00191814}}}, + {X: Field{[10]uint32{0x034d78d7, 0x02049c68, 0x00ac9ce4, 0x0384cd4f, 0x0161fa0a, 0x01a4c7a4, 0x0208ac46, 0x01d77111, 0x00f01c22, 0x0009015b}}, Y: Field{[10]uint32{0x03c7751f, 0x0286d8f2, 0x011bf7dd, 0x028361a9, 0x01965a3f, 0x00d2949d, 0x003088f4, 0x020746fc, 0x03c67e73, 0x0010faf4}}}, + {X: Field{[10]uint32{0x00f9cd78, 0x02465c9c, 0x01297e77, 0x01175f9c, 0x0354f9f7, 0x035cbdac, 0x007c938c, 0x01f1e238, 0x03dfe844, 0x000ec410}}, Y: Field{[10]uint32{0x0240d6fc, 0x03c4a697, 0x0050c34a, 0x0184385b, 0x03b67ba3, 0x00ac6171, 0x02c29d4b, 0x03544449, 0x00c4abf0, 0x000a380a}}}, + {X: Field{[10]uint32{0x01a040e6, 0x03b7481a, 0x03a81a5b, 0x023d715d, 0x008088b0, 0x018d6017, 0x0175b236, 0x00d8e203, 0x01d14179, 0x002bbe42}}, Y: Field{[10]uint32{0x0200dc51, 0x006edf21, 0x03382d8a, 0x03007125, 0x0293350c, 0x03d028fe, 0x00c2b43d, 0x01adb174, 0x006f0de2, 0x00032ed3}}}, + {X: Field{[10]uint32{0x02833f28, 0x027e74f2, 0x007ac02c, 0x02e043d0, 0x03913367, 0x03c8a6f1, 0x0359aef5, 0x00c72dbf, 0x00f73863, 0x00323525}}, Y: Field{[10]uint32{0x010de4d2, 0x02a9d2ec, 0x01a67e70, 0x009e358b, 0x00c7b850, 0x034fbc45, 0x01afdacb, 0x0217534e, 0x02f94b62, 0x0032cb1d}}}, + {X: Field{[10]uint32{0x00f75b28, 0x00e44e4d, 0x033f5f4f, 0x005dbf97, 0x03c1b52e, 0x00779ed7, 0x00744437, 0x0328c8f7, 0x03f7af14, 0x00096bf3}}, Y: Field{[10]uint32{0x0142b789, 0x01c5c89a, 0x03781752, 0x03ed2bd2, 0x025010cd, 0x03541699, 0x031f57f8, 0x01fa5db2, 0x00a47f9d, 0x003619e9}}}, + {X: Field{[10]uint32{0x0132e2c7, 0x03658c8f, 0x022f819a, 0x00b5dc23, 0x01d40768, 0x022f5cb9, 0x02c220dc, 0x024c361c, 0x0086f773, 0x000090db}}, Y: Field{[10]uint32{0x00ab67a5, 0x02737aa2, 0x01662bc8, 0x021cdfc0, 0x0320a958, 0x0138501f, 0x00de6902, 0x0198f311, 0x01ea92af, 0x001b8e5b}}}, + {X: Field{[10]uint32{0x007f349d, 0x03d34945, 0x0056b0d0, 0x02e1fcf3, 0x0257638b, 0x0064567b, 0x00bcb86e, 0x00cf1e44, 0x03d59e57, 0x001873ba}}, Y: Field{[10]uint32{0x02fadb9e, 0x012c573c, 0x02aef3e7, 0x023e18a0, 0x027d8521, 0x01068c3a, 0x023082e7, 0x03b423ed, 0x0145e9b0, 0x000aa141}}}, + {X: Field{[10]uint32{0x00b6c187, 0x03a05fad, 0x0116dd77, 0x039b840b, 0x030dcbfe, 0x0278a91b, 0x0391a737, 0x0001c50a, 0x03b5d45d, 0x0016844c}}, Y: Field{[10]uint32{0x00d492e1, 0x03c0c14a, 0x0381f0f6, 0x03a3ce63, 0x0134c1c2, 0x00ce92df, 0x01c05171, 0x036710f2, 0x02aeafd6, 0x000bff65}}}, + {X: Field{[10]uint32{0x0163c8ac, 0x00e343d1, 0x0129309c, 0x0244c537, 0x01fff0f1, 0x0372c4ee, 0x02b5abe8, 0x006d04a7, 0x00498b70, 0x002dd28e}}, Y: Field{[10]uint32{0x00b9014f, 0x02599e67, 0x01186ffa, 0x00a3e10c, 0x01689be5, 0x0299de15, 0x00d6f7c5, 0x0083f619, 0x0257e50a, 0x00276113}}}, + {X: Field{[10]uint32{0x0389d26c, 0x032c8117, 0x024b752f, 0x01b2992a, 0x008e9a80, 0x02a54ab5, 0x011c3375, 0x0082d0ff, 0x00d04afb, 0x0030d727}}, Y: Field{[10]uint32{0x01a9c65a, 0x021de49e, 0x015a4b7e, 0x030fc1a7, 0x0248c765, 0x0278656c, 0x0279d841, 0x03bf2f7b, 0x02aa4a83, 0x002c1071}}}, + {X: Field{[10]uint32{0x00b82b96, 0x022b4df4, 0x025e8fea, 0x037b96db, 0x0311703d, 0x01e45075, 0x00b2af44, 0x01a2cfc1, 0x02587538, 0x0026a16a}}, Y: Field{[10]uint32{0x03d75d27, 0x0366549e, 0x005f2551, 0x0104efd2, 0x024e0620, 0x00cfb189, 0x00b80752, 0x03c0ef49, 0x00abaa16, 0x0011971c}}}, + {X: Field{[10]uint32{0x0086fe14, 0x03ac15d7, 0x0061bd12, 0x028f3e93, 0x01b3e825, 0x02f48fd2, 0x0183c14c, 0x03cf944b, 0x03cce051, 0x000fb1c6}}, Y: Field{[10]uint32{0x01915bdc, 0x017c17ba, 0x00007db3, 0x00ea6a54, 0x0245caba, 0x000cfc6a, 0x0294c5ab, 0x0295a954, 0x021de2da, 0x003c6630}}}, + {X: Field{[10]uint32{0x0359ae63, 0x0123c02c, 0x01b45aea, 0x01e4dcdf, 0x036b09e5, 0x00d6fccf, 0x0010e235, 0x007b7824, 0x0222939e, 0x003b872f}}, Y: Field{[10]uint32{0x021b90a5, 0x01e005e4, 0x0228d471, 0x0367794c, 0x01acecb6, 0x036adaa4, 0x037d2971, 0x0137d89f, 0x0026d444, 0x002fd810}}}, + {X: Field{[10]uint32{0x0346073e, 0x03c32659, 0x01ee78dc, 0x00aef222, 0x035a8cd9, 0x03fd3409, 0x007677d1, 0x00e98bbd, 0x03e171de, 0x003af2fc}}, Y: Field{[10]uint32{0x02f6ebe8, 0x00fd5d27, 0x03f9805c, 0x02428e08, 0x0195c6d8, 0x00b6b7ae, 0x014a3f30, 0x01c89024, 0x03c7bc9c, 0x0021e358}}}, + {X: Field{[10]uint32{0x039db797, 0x006cbf6a, 0x01ae56e8, 0x00c30243, 0x01b60664, 0x01654836, 0x03c57d52, 0x03bc56e1, 0x02e4ce72, 0x00393a4b}}, Y: Field{[10]uint32{0x015f944c, 0x03da5959, 0x00217ebe, 0x0232707e, 0x026d2183, 0x0161dd14, 0x01f47dbf, 0x029d4d56, 0x00654a03, 0x000feab1}}}, + {X: Field{[10]uint32{0x02ac1cc1, 0x010b7437, 0x03d635bc, 0x0319f078, 0x03cf275f, 0x00bac7d9, 0x00ef7431, 0x00ac0ded, 0x03588e29, 0x003f0739}}, Y: Field{[10]uint32{0x025186d7, 0x01e58f79, 0x019b42fe, 0x024b08e2, 0x02495bc3, 0x032bf2de, 0x03c791e8, 0x0366bdfd, 0x01bf44f7, 0x0005dade}}}, + {X: Field{[10]uint32{0x0294fc56, 0x031c15ae, 0x0091f9e9, 0x00eae5e9, 0x0149482b, 0x03257be1, 0x02a86b21, 0x01a9b1a4, 0x03ff179e, 0x003c7d6f}}, Y: Field{[10]uint32{0x0239e143, 0x009613e2, 0x0209313a, 0x00484318, 0x00670415, 0x030aab9c, 0x00f06205, 0x00ef0fed, 0x03a8a2cd, 0x000e2495}}}, + {X: Field{[10]uint32{0x03793eb9, 0x0113f5aa, 0x03323ac7, 0x00b9d230, 0x012c7aaa, 0x005d6850, 0x02bfef8d, 0x038006e9, 0x001461c3, 0x0026039d}}, Y: Field{[10]uint32{0x0331826c, 0x029d8946, 0x00259c7f, 0x00e98db1, 0x0134cbb3, 0x010a1801, 0x00dde28d, 0x017a0ecf, 0x01ae29e0, 0x001b8df7}}}, + {X: Field{[10]uint32{0x01b1c179, 0x0095fb68, 0x0207f66a, 0x029a9bde, 0x01adb7fa, 0x039b0655, 0x01986dc7, 0x01495c1c, 0x03f7686a, 0x003d4673}}, Y: Field{[10]uint32{0x0255a807, 0x03ae3c82, 0x0297f09e, 0x03b470c7, 0x03174ed4, 0x024ee140, 0x001d008a, 0x017261e5, 0x02b08c76, 0x000fa00f}}}, + {X: Field{[10]uint32{0x028f8061, 0x0389d56e, 0x00eee144, 0x00e443b7, 0x009011d9, 0x02f31730, 0x029bafd0, 0x03faa46e, 0x01ea3851, 0x000b7636}}, Y: Field{[10]uint32{0x01a52ae3, 0x03f81347, 0x00dc1365, 0x02a73a5c, 0x007adfde, 0x03bd4986, 0x00d058b4, 0x011a24df, 0x01afd422, 0x001851fc}}}, + {X: Field{[10]uint32{0x0054a4ae, 0x03f5e005, 0x01b35ede, 0x02335f42, 0x032854f8, 0x02a803d8, 0x02c0c415, 0x00d4dd1e, 0x02620948, 0x00218310}}, Y: Field{[10]uint32{0x033392f4, 0x039b8bb5, 0x01cef95c, 0x028a014d, 0x01d15378, 0x03bbc361, 0x03dfc561, 0x01b49639, 0x022a7d82, 0x0028a9e8}}}, + {X: Field{[10]uint32{0x02d732a6, 0x01eb42eb, 0x00b28ae9, 0x0240b259, 0x01e0697f, 0x0014d482, 0x007d4ea2, 0x00b0f426, 0x00ec17d8, 0x0039dac8}}, Y: Field{[10]uint32{0x03f54bf0, 0x02092499, 0x038f4ad1, 0x00df665f, 0x0132bc11, 0x0311fdc0, 0x037cec9c, 0x0184eff6, 0x00b685f6, 0x00325e11}}}, + {X: Field{[10]uint32{0x0110ab88, 0x0157bf42, 0x007a6504, 0x03378f41, 0x03718ec9, 0x00a905ed, 0x02862b16, 0x0296098d, 0x010d12fb, 0x00099cc7}}, Y: Field{[10]uint32{0x03542192, 0x029c7f26, 0x017143b1, 0x00251ee9, 0x028d2986, 0x001cdb5b, 0x022023bb, 0x0129841b, 0x03b30b46, 0x000f043b}}}, + {X: Field{[10]uint32{0x0224dcde, 0x0177e768, 0x00ea8986, 0x003a2cb6, 0x003fc457, 0x0340536c, 0x03e46f5e, 0x02046a1f, 0x007852db, 0x001432d2}}, Y: Field{[10]uint32{0x0339621d, 0x012f60e2, 0x006f95d5, 0x0234c0f4, 0x00c69db4, 0x00403914, 0x03572a0c, 0x02ba2623, 0x00a87937, 0x002ee122}}}, + {X: Field{[10]uint32{0x03b02a60, 0x03bac87f, 0x03a0e7eb, 0x01372ca2, 0x03064b0c, 0x02cfeb97, 0x00f9fb92, 0x03ff6d9c, 0x013b1d67, 0x003eda51}}, Y: Field{[10]uint32{0x00fd2c39, 0x00c0fba9, 0x024ca41e, 0x02bd1dcd, 0x00d1ba17, 0x0210483e, 0x03b13879, 0x0206d8fa, 0x033692d8, 0x002c3f7b}}}, + {X: Field{[10]uint32{0x03b249b4, 0x01dc1b62, 0x03b9938c, 0x00695b6e, 0x0103f406, 0x028fde13, 0x03aec4fe, 0x00089867, 0x000b4b72, 0x002a3c4a}}, Y: Field{[10]uint32{0x0239b8cc, 0x01c0fd1b, 0x019d4484, 0x02e6f07f, 0x03a97e12, 0x02f9ef8c, 0x032e5014, 0x01644d15, 0x0171ac50, 0x003aeced}}}, + {X: Field{[10]uint32{0x02acaa98, 0x012409db, 0x02bb878b, 0x0306f066, 0x02420f83, 0x00265805, 0x03cb3be3, 0x015e43c5, 0x0209df30, 0x0010a4b3}}, Y: Field{[10]uint32{0x00745d36, 0x02a89207, 0x022f9aa2, 0x016d9d1b, 0x00f32c8d, 0x01186ddb, 0x00f18733, 0x0074760b, 0x014cbf2b, 0x0006c536}}}, + {X: Field{[10]uint32{0x00c9464f, 0x029561e9, 0x0305b8c5, 0x00b25e5a, 0x038e1a06, 0x02720fe3, 0x03967504, 0x01d1fc2d, 0x0177f16f, 0x002b0904}}, Y: Field{[10]uint32{0x0176cf58, 0x028ed764, 0x0341d1cb, 0x0173bd72, 0x03266b69, 0x00c195a1, 0x004eb037, 0x034113b2, 0x01038261, 0x0037415d}}}, + {X: Field{[10]uint32{0x011823d3, 0x0349515d, 0x00e7dd7f, 0x026e1ac6, 0x0278e75c, 0x033dfe11, 0x019d640a, 0x00b695ff, 0x027326bf, 0x001a4bb2}}, Y: Field{[10]uint32{0x01c8e97f, 0x01ff74dc, 0x033478f1, 0x01413fc0, 0x02014c38, 0x02275876, 0x01573202, 0x029e2861, 0x0062548e, 0x0005f5b5}}}, + {X: Field{[10]uint32{0x0310e216, 0x00f316db, 0x01889e82, 0x03534bd6, 0x01d0e129, 0x0300b9bd, 0x02cf946e, 0x01404793, 0x024455ef, 0x003406c6}}, Y: Field{[10]uint32{0x03f91a0f, 0x015ab995, 0x03988345, 0x038ce237, 0x01807879, 0x01927d7f, 0x00f38f21, 0x00fb7755, 0x009e55e3, 0x00212936}}}, + {X: Field{[10]uint32{0x03fc1e9b, 0x0242f1e6, 0x030f12f8, 0x0308e4cc, 0x03fb0798, 0x023ca833, 0x0273a671, 0x02236024, 0x01f296a7, 0x0007ae98}}, Y: Field{[10]uint32{0x01dc9661, 0x01f3574b, 0x03266bc4, 0x03027b84, 0x03505da2, 0x01b12dab, 0x030a6a6b, 0x004118b7, 0x00cbe847, 0x00227ca6}}}, + {X: Field{[10]uint32{0x015980ea, 0x02da35d0, 0x015489c9, 0x032ac69b, 0x010a2300, 0x0087b730, 0x009fe1f7, 0x00c48519, 0x00da9460, 0x0009b7fe}}, Y: Field{[10]uint32{0x00004e60, 0x03685724, 0x037139d3, 0x017e5fd6, 0x033c4a0a, 0x03ee5523, 0x0365862e, 0x02ef7f0e, 0x022155e1, 0x00360992}}}, + {X: Field{[10]uint32{0x023fe676, 0x00ef03cc, 0x01047cee, 0x03729b89, 0x01a3116a, 0x020fa7ac, 0x035f64f2, 0x00608849, 0x0351425e, 0x0013990a}}, Y: Field{[10]uint32{0x01eafbb2, 0x01a288e2, 0x0174247a, 0x0283b49f, 0x0165b9c5, 0x030d7537, 0x011db0ab, 0x011a3125, 0x01659125, 0x003ca2df}}}, + {X: Field{[10]uint32{0x00f448a2, 0x034b869e, 0x02b21e94, 0x0033a709, 0x03b4f370, 0x033a91da, 0x027c97b4, 0x009f6cdf, 0x035cee9a, 0x000d52bf}}, Y: Field{[10]uint32{0x0130fcdb, 0x0027218a, 0x00dd5977, 0x0345b29e, 0x0299b4c4, 0x03da9e53, 0x012d0082, 0x01e7958e, 0x03d1624b, 0x00235a41}}}, + {X: Field{[10]uint32{0x03fbdc3d, 0x002e55a3, 0x039dcd57, 0x03b97d26, 0x01e76995, 0x002d97dd, 0x029f020c, 0x01a7fa3d, 0x00749493, 0x0014a1b4}}, Y: Field{[10]uint32{0x039703ab, 0x020779a1, 0x005e2027, 0x00fac5ac, 0x00e0a23d, 0x01f9bb80, 0x0062a452, 0x03103079, 0x02e53dd2, 0x000957bc}}}, + {X: Field{[10]uint32{0x0268add7, 0x0357d80c, 0x0121c266, 0x02e1bf78, 0x026bddee, 0x02a24d64, 0x00c8ff91, 0x008a666b, 0x0346c86e, 0x002e12a0}}, Y: Field{[10]uint32{0x0320789f, 0x02d00efb, 0x020a3f65, 0x034f62fa, 0x0329f5c8, 0x00791965, 0x0380c878, 0x0008e386, 0x028c79f4, 0x000c45e6}}}, + {X: Field{[10]uint32{0x0112bb94, 0x039e1cb7, 0x0067e0fd, 0x009e408b, 0x031b9dfc, 0x013f1470, 0x018b9f11, 0x02694089, 0x01e663fc, 0x00079ef5}}, Y: Field{[10]uint32{0x002c1b84, 0x01847c83, 0x00b6b927, 0x03f9b647, 0x0107acce, 0x01dfba2d, 0x0250f11e, 0x02c519f4, 0x01b40555, 0x0018a1ea}}}, + {X: Field{[10]uint32{0x03d2bc81, 0x01acab4d, 0x038da9c9, 0x0311535a, 0x029d28ac, 0x0399cb29, 0x01cfde6b, 0x027af9e9, 0x02213728, 0x001fb9a2}}, Y: Field{[10]uint32{0x0170c83e, 0x00f6e131, 0x01dcc8a5, 0x02fadeb3, 0x0303d7dc, 0x02c93808, 0x028aeee9, 0x030f2bca, 0x006400a6, 0x000fb0d0}}}, + {X: Field{[10]uint32{0x00ce570e, 0x0364533e, 0x0033f8d4, 0x01d59f0f, 0x02f3adef, 0x029ae9eb, 0x0107fddd, 0x00efeaa7, 0x010cf4be, 0x000a752c}}, Y: Field{[10]uint32{0x0058bf4c, 0x00e4b384, 0x031f2422, 0x00236fbd, 0x022ec79e, 0x031c1c36, 0x0103c252, 0x03d02903, 0x038596a4, 0x002da9d0}}}, + {X: Field{[10]uint32{0x028c359e, 0x0145b5cc, 0x039c9895, 0x00436989, 0x0350218f, 0x00b0fc14, 0x012a43b4, 0x03591f8c, 0x01d95c5c, 0x001e41f1}}, Y: Field{[10]uint32{0x00d6a625, 0x007261d9, 0x005d4c8f, 0x01e163e6, 0x00268883, 0x037bab06, 0x02bca52f, 0x00a86fca, 0x01e1ec06, 0x001b196a}}}, + {X: Field{[10]uint32{0x019d31b1, 0x0252e365, 0x030adfc9, 0x015714d0, 0x02e5bc2c, 0x031a3f3e, 0x0014fe7b, 0x02ef0cd8, 0x02aece11, 0x003310db}}, Y: Field{[10]uint32{0x029706a2, 0x032492fe, 0x02db3a50, 0x00e59b5f, 0x016b2bd5, 0x01814a61, 0x004e6089, 0x02fd9359, 0x01e7d6ff, 0x00058583}}}, + {X: Field{[10]uint32{0x010ec1f0, 0x006d8805, 0x01bea735, 0x002c052b, 0x021b5fb3, 0x008e77e8, 0x0259d556, 0x010806b9, 0x015d278d, 0x0033c08f}}, Y: Field{[10]uint32{0x00990741, 0x00553935, 0x005749e5, 0x02dc15f5, 0x0034c473, 0x015d736d, 0x031c26e7, 0x0301e9b9, 0x0395ffce, 0x0035801c}}}, + {X: Field{[10]uint32{0x03746a21, 0x00104979, 0x0238d71b, 0x015fa01e, 0x0112b6a2, 0x03151ed8, 0x0135b732, 0x03166f53, 0x0093f718, 0x000068a8}}, Y: Field{[10]uint32{0x00fd4c95, 0x024d51e6, 0x03919f8b, 0x02c1760f, 0x0216c0f8, 0x02491e5b, 0x02cadcc3, 0x028e6868, 0x0142652f, 0x00099d2d}}}, + {X: Field{[10]uint32{0x02b799d7, 0x02496dfb, 0x00215fac, 0x031c1aa1, 0x02f712e4, 0x00893feb, 0x018fdff0, 0x02b145d4, 0x002004b8, 0x0014d3b5}}, Y: Field{[10]uint32{0x03d82155, 0x00204636, 0x01439c07, 0x00bf4933, 0x00fa3078, 0x01db7eba, 0x03e497f5, 0x00667ee7, 0x00523ea6, 0x0000d796}}}, + {X: Field{[10]uint32{0x0200d08e, 0x03613052, 0x0138cf11, 0x01ace898, 0x03e9ba64, 0x03d2c115, 0x038ff188, 0x00c2b9b1, 0x00ad9e6f, 0x00234c79}}, Y: Field{[10]uint32{0x01d5feb2, 0x00e6f353, 0x02996478, 0x03352cc3, 0x03e4b0b1, 0x0112caa1, 0x01e36a48, 0x025b04e8, 0x03c19093, 0x003c36fb}}}, + {X: Field{[10]uint32{0x012b3412, 0x0057f48b, 0x0315954c, 0x027e1adc, 0x03c41843, 0x01bfdfdc, 0x02643791, 0x01016afd, 0x00520267, 0x00205d21}}, Y: Field{[10]uint32{0x00f19bbc, 0x03cfd768, 0x02ba7cb3, 0x03f4a02f, 0x029f6f95, 0x02587d6b, 0x00093899, 0x02d42c05, 0x009b0435, 0x0004f448}}}, + {X: Field{[10]uint32{0x0258aaa3, 0x008e11c1, 0x0212a6cc, 0x01c15fbf, 0x02458422, 0x037ce032, 0x024552be, 0x03a21401, 0x0372e604, 0x002f2a1f}}, Y: Field{[10]uint32{0x039e3d0e, 0x03a0aeb7, 0x0184b54e, 0x02355d4b, 0x03af2653, 0x01dae88f, 0x00123c62, 0x01c495cb, 0x02f528b7, 0x003b9422}}}, + {X: Field{[10]uint32{0x03cd3fb2, 0x016460df, 0x03c52e8c, 0x01184903, 0x01d527e5, 0x01b9e32e, 0x000365cd, 0x014bdb03, 0x02a9a196, 0x000378ae}}, Y: Field{[10]uint32{0x02d38905, 0x01deb287, 0x039bd733, 0x01042a73, 0x01865739, 0x01c59cb7, 0x035f2be5, 0x00cbf532, 0x00ef466c, 0x002bad06}}}, + {X: Field{[10]uint32{0x02acca9e, 0x0010e408, 0x01e5ac00, 0x02af1d99, 0x02556f6c, 0x001dc4d7, 0x00a0591c, 0x01e466d5, 0x01e914df, 0x001ee338}}, Y: Field{[10]uint32{0x00b40628, 0x02b96630, 0x007c2fb8, 0x02a7cff7, 0x00d06a96, 0x010ce295, 0x0100b720, 0x02b52430, 0x03f39cd8, 0x0029828f}}}, + {X: Field{[10]uint32{0x00a50e75, 0x0089e6fb, 0x03d1b040, 0x03f69ab0, 0x034d6d44, 0x00175d85, 0x03c80f82, 0x01d10c66, 0x017913fe, 0x00335c70}}, Y: Field{[10]uint32{0x01419064, 0x02fce31c, 0x01211967, 0x00494a2b, 0x01ae3858, 0x03d8ce4a, 0x001d1a93, 0x00e3407c, 0x03bfcf34, 0x0027c79c}}}, + {X: Field{[10]uint32{0x03ca8fe4, 0x0079151c, 0x02444f4f, 0x003845f6, 0x010619b7, 0x00205abc, 0x0236161d, 0x02370d2e, 0x002e32dc, 0x0010b2b4}}, Y: Field{[10]uint32{0x02e75568, 0x00a2a30d, 0x013c6651, 0x01fb7496, 0x0279e59d, 0x038440c6, 0x030823df, 0x0273fe21, 0x01345a25, 0x0025f2c8}}}, + {X: Field{[10]uint32{0x018ff8c7, 0x00f00f2e, 0x021f6d47, 0x015b22e7, 0x03483317, 0x00a877ea, 0x006644a6, 0x014b18a6, 0x01304f06, 0x00262a24}}, Y: Field{[10]uint32{0x01a824e8, 0x0190003a, 0x00733988, 0x02b5ecaa, 0x00b277e0, 0x00d2b521, 0x0249b3e5, 0x01a40e72, 0x02cecc50, 0x00304c3c}}}, + {X: Field{[10]uint32{0x038a4328, 0x00274bb7, 0x0345522c, 0x00a1af5e, 0x00d7a4a1, 0x021100ec, 0x03d39ff2, 0x018aa9ef, 0x00760847, 0x0008f117}}, Y: Field{[10]uint32{0x03303cde, 0x01e5522e, 0x0350af0d, 0x01d3fc30, 0x02d57cb2, 0x02c350f7, 0x0146dc7c, 0x01bd1f0f, 0x031795c4, 0x003d2adc}}}, + {X: Field{[10]uint32{0x0221d856, 0x0313431a, 0x02d343a6, 0x020c4236, 0x019e6a7b, 0x02f4df0d, 0x01416f2d, 0x0313cbd9, 0x0037d584, 0x0022dc00}}, Y: Field{[10]uint32{0x0365ca35, 0x03f1dab0, 0x00c2becd, 0x03d830c9, 0x025a172c, 0x0245a7e6, 0x00e7d866, 0x0019b53a, 0x00039ed0, 0x0020dc7b}}}, + {X: Field{[10]uint32{0x030f8a7b, 0x025f66a8, 0x00596cdb, 0x03a142ba, 0x00004f4a, 0x020fa060, 0x01d78f20, 0x01044728, 0x00a8d0fb, 0x00369859}}, Y: Field{[10]uint32{0x029a342d, 0x02e9208a, 0x0307fc7a, 0x02871e20, 0x011cc0b5, 0x00304440, 0x03caf4e1, 0x013c5e9d, 0x0063717e, 0x0003e6a1}}}, + {X: Field{[10]uint32{0x035fd6b7, 0x00b51f7a, 0x010fa220, 0x038a7980, 0x02c45924, 0x01b6df5f, 0x029b9c20, 0x02953464, 0x0165a9d1, 0x00127cdf}}, Y: Field{[10]uint32{0x006aa51e, 0x01df79da, 0x03a94ca6, 0x0256c6fb, 0x0201e648, 0x00d03050, 0x010dbba9, 0x0098a5ef, 0x038528f6, 0x003e6e6d}}}, + {X: Field{[10]uint32{0x036efa10, 0x03a714f8, 0x037ccb38, 0x00dcc219, 0x0312d808, 0x0286262a, 0x0256b78b, 0x01668006, 0x0088e268, 0x0021d57c}}, Y: Field{[10]uint32{0x02f7e478, 0x037dd7db, 0x029a9de5, 0x02a7cbda, 0x02434906, 0x0157e0fd, 0x01b4768f, 0x01ea2085, 0x013d1eec, 0x001759c0}}}, + {X: Field{[10]uint32{0x0209045c, 0x03fdddf1, 0x00534069, 0x00d2849f, 0x01a4e6d1, 0x028d7820, 0x03550fc5, 0x029b761c, 0x0396b7ab, 0x000d4c85}}, Y: Field{[10]uint32{0x00a1e832, 0x004059fc, 0x028ba6fe, 0x0072d277, 0x03c5c830, 0x03c7844c, 0x017a6804, 0x00fd3bc6, 0x0343efa9, 0x0011ffc3}}}, + {X: Field{[10]uint32{0x012559b3, 0x03a6b398, 0x0342156f, 0x03b37cac, 0x0283479f, 0x00a08ed0, 0x03ab5ea0, 0x034aef9d, 0x012b644b, 0x000eafb7}}, Y: Field{[10]uint32{0x01e32b06, 0x0216c879, 0x0008f179, 0x03e8cc39, 0x0287bbcc, 0x0078cda6, 0x01824ba1, 0x02e0604c, 0x008e6c13, 0x00109a6c}}}, + {X: Field{[10]uint32{0x00956de8, 0x0263ff1f, 0x03f775be, 0x033249e1, 0x03c14b62, 0x038c9df5, 0x003dc530, 0x0118aaa0, 0x02a22c23, 0x0038c044}}, Y: Field{[10]uint32{0x0098da40, 0x02b4da52, 0x0368a8d2, 0x01b761a4, 0x0199d90f, 0x024f9d60, 0x01f4e0ff, 0x003a2dea, 0x03d0dbb1, 0x003431f8}}}, + {X: Field{[10]uint32{0x033cd06b, 0x01cfd6e5, 0x03762f10, 0x01efc274, 0x03bcdf49, 0x02496440, 0x0147f6cb, 0x012d3cc3, 0x0058439c, 0x00018942}}, Y: Field{[10]uint32{0x0075328e, 0x01adc854, 0x0102ecd2, 0x00c0bf32, 0x0387e4c9, 0x02c390e0, 0x004407af, 0x01096156, 0x01e484ce, 0x000d0dfd}}}, + {X: Field{[10]uint32{0x00f826ea, 0x00e6b5a2, 0x0209bdcb, 0x0143ec5b, 0x0366838d, 0x003a4f8f, 0x0104bc39, 0x0133e93a, 0x0085b8c9, 0x001deb51}}, Y: Field{[10]uint32{0x006001d4, 0x02e6efe0, 0x02b736b0, 0x02d5216e, 0x0334c2ec, 0x0143b0f0, 0x03c84447, 0x021e784d, 0x005a9798, 0x00136f14}}}, + {X: Field{[10]uint32{0x02c0b7db, 0x01e4664e, 0x0066cad5, 0x033eb104, 0x003852b8, 0x02a399f9, 0x01ce3377, 0x018076e7, 0x0292e413, 0x0017734f}}, Y: Field{[10]uint32{0x00e997c9, 0x01d532e9, 0x03f85417, 0x034358d9, 0x0336996e, 0x0309e3df, 0x02760ede, 0x02d0e8c1, 0x008135ef, 0x002b3334}}}, + {X: Field{[10]uint32{0x02ff788d, 0x0309fd72, 0x01737fc8, 0x021457d6, 0x01e65ca3, 0x02e4c614, 0x01d2e6b9, 0x00147f10, 0x023badce, 0x000e8999}}, Y: Field{[10]uint32{0x00abc2bb, 0x017e26e4, 0x00113bab, 0x02e0222a, 0x009b9db0, 0x01c9cb2d, 0x030110e0, 0x03611801, 0x02abaf01, 0x000b591f}}}, + {X: Field{[10]uint32{0x00b1aec0, 0x02c025b9, 0x03ac4b8b, 0x00081419, 0x034e3b0f, 0x000900c7, 0x02fe9c2c, 0x0263f1c4, 0x02b951dc, 0x003d5f33}}, Y: Field{[10]uint32{0x03a1ea25, 0x037cc06d, 0x03bca9c4, 0x01b50e29, 0x03ddb2c6, 0x020be67e, 0x03514557, 0x03afb429, 0x03eb7a8a, 0x001a5824}}}, + {X: Field{[10]uint32{0x029b4a0c, 0x022501af, 0x029b0935, 0x00e8b6ee, 0x02df47c8, 0x0123334d, 0x01bd46c9, 0x01b8502f, 0x0378bca0, 0x002a2691}}, Y: Field{[10]uint32{0x02f366cf, 0x03e7a85b, 0x030d1d23, 0x03b7567c, 0x02939d69, 0x039e079b, 0x0398e2e4, 0x0098b48a, 0x01d69d08, 0x003d0893}}}, + {X: Field{[10]uint32{0x00b962a9, 0x00196e04, 0x01d72adf, 0x00bee8a5, 0x036a3be9, 0x03fc129b, 0x0063f4c7, 0x02091cad, 0x038184fe, 0x00191ce0}}, Y: Field{[10]uint32{0x02ce32de, 0x00dc2680, 0x010bbc97, 0x03e8c900, 0x009ba164, 0x01600134, 0x029d58dd, 0x01ba4d3f, 0x00c0d09f, 0x002f3440}}}, + {X: Field{[10]uint32{0x02dc7774, 0x033fea8e, 0x026866c7, 0x0132bf57, 0x02f7bcaa, 0x027e1c9e, 0x00196bad, 0x0078a0b8, 0x02382126, 0x00129a0e}}, Y: Field{[10]uint32{0x014ff3b0, 0x024cde25, 0x00f202cc, 0x01c6c6e5, 0x01913af3, 0x017d03fb, 0x0337f0b1, 0x026a90e6, 0x00d0ec3d, 0x002d6ae9}}}, + {X: Field{[10]uint32{0x035cb3c7, 0x030b96ae, 0x0296f53c, 0x011b9080, 0x0053fee0, 0x023b8585, 0x02cfd9eb, 0x0333510d, 0x016efdae, 0x00040978}}, Y: Field{[10]uint32{0x00c48f3b, 0x0051003c, 0x011c2253, 0x0360ef58, 0x030704e4, 0x023ce3dc, 0x019b8075, 0x024a8f85, 0x016b67ce, 0x003e01ae}}}, + {X: Field{[10]uint32{0x036650d2, 0x038ab1b6, 0x000e4552, 0x02cd6821, 0x0360039c, 0x03d9ddf1, 0x022217b7, 0x014d4dbf, 0x0009675a, 0x00185276}}, Y: Field{[10]uint32{0x01a96ca9, 0x0151416c, 0x03a11681, 0x03ca78e5, 0x02c72f07, 0x0344bde1, 0x009b03fb, 0x0022a93d, 0x036c9a98, 0x00392b98}}}, + {X: Field{[10]uint32{0x03fec47f, 0x00507530, 0x03047d8c, 0x036d3581, 0x032fff3e, 0x02ec0f74, 0x02e83274, 0x020d0953, 0x01124388, 0x0002e890}}, Y: Field{[10]uint32{0x02d5c35e, 0x0190376e, 0x0366d0aa, 0x025e7430, 0x013717e9, 0x034a3228, 0x026a18de, 0x03f374e3, 0x012329c3, 0x00229afc}}}, + {X: Field{[10]uint32{0x0056a961, 0x001a239e, 0x00993219, 0x014252b5, 0x0035c005, 0x00e2bd54, 0x03aa2595, 0x02b1fa76, 0x00963c7c, 0x0030837c}}, Y: Field{[10]uint32{0x0245d40a, 0x0120d7ec, 0x0033bad8, 0x010aba9f, 0x00fb4f2c, 0x0296242e, 0x038dd8d6, 0x01eba616, 0x015d16cf, 0x001247a6}}}, + {X: Field{[10]uint32{0x03af0c50, 0x01912753, 0x032a50c7, 0x022c6d32, 0x01aac9f3, 0x00f74bb0, 0x02f3dcb9, 0x0135cb67, 0x00ca4dbb, 0x001bd4f6}}, Y: Field{[10]uint32{0x027ae24a, 0x0221a1d3, 0x02e12f78, 0x030c9f2b, 0x0077bbec, 0x0219d4f0, 0x0156de24, 0x02fadc90, 0x002df449, 0x0019e128}}}, + {X: Field{[10]uint32{0x037bdda3, 0x005dc49c, 0x006b3513, 0x003e3b2a, 0x036364ae, 0x0211d5fa, 0x008a0461, 0x023d8147, 0x00bd71a0, 0x00395f9e}}, Y: Field{[10]uint32{0x00385342, 0x025db43d, 0x00e8f116, 0x018ca3b0, 0x0231a1d2, 0x029dd553, 0x0116c82d, 0x017d995c, 0x007e8a53, 0x0028188f}}}, + {X: Field{[10]uint32{0x03ab099a, 0x03a5f13d, 0x03fff285, 0x03869b97, 0x037853e8, 0x01f2d4e9, 0x00abd0ea, 0x025aae78, 0x0329aad4, 0x003d4bdb}}, Y: Field{[10]uint32{0x019d55a3, 0x02588115, 0x028e0b71, 0x00706629, 0x01c36151, 0x01bca657, 0x01de4b76, 0x017a062d, 0x01fc6d5c, 0x000f7df0}}}, + {X: Field{[10]uint32{0x02fb0dc3, 0x020da9cf, 0x01fe259f, 0x02362f59, 0x02ec5cf0, 0x00cf6721, 0x0326268b, 0x01b425be, 0x01fb5c0a, 0x00369d3d}}, Y: Field{[10]uint32{0x00a62c47, 0x0281ea52, 0x03f3effe, 0x00c4d508, 0x018d0ea0, 0x00a947b7, 0x031c8164, 0x00a11df8, 0x0189de5e, 0x001f943a}}}, + {X: Field{[10]uint32{0x0051f4ff, 0x00de9938, 0x02ed8a23, 0x00533f4f, 0x0035d144, 0x02a74b7a, 0x0341d359, 0x01485c3c, 0x02a87bd4, 0x000a8b26}}, Y: Field{[10]uint32{0x0248a1ce, 0x01b1bbe5, 0x00bf8a46, 0x00856746, 0x01496882, 0x022bb27e, 0x01fd7e5d, 0x017da280, 0x01eb9933, 0x002fe7bf}}}, + {X: Field{[10]uint32{0x02022266, 0x02b58ca4, 0x0123b492, 0x03bc7aff, 0x037d13bc, 0x001f8b3c, 0x010da7db, 0x014c531b, 0x00b191dc, 0x000a8d10}}, Y: Field{[10]uint32{0x02ae2b40, 0x0398b4f8, 0x02fc6dd1, 0x03c8b0d3, 0x03e4c1e9, 0x021c1e51, 0x02fda24e, 0x028080bc, 0x00f5c993, 0x002f7b09}}}, + {X: Field{[10]uint32{0x010942a2, 0x01004278, 0x0081c287, 0x03ab54f4, 0x000e0acc, 0x01551140, 0x0136e8bd, 0x00dab7eb, 0x01743d1d, 0x0028ea6f}}, Y: Field{[10]uint32{0x00794ca0, 0x02ccd3fb, 0x0016b66d, 0x0013fdd7, 0x022cb711, 0x0286d305, 0x01ab1fce, 0x039f637b, 0x02cff8ca, 0x00330cf7}}}, + {X: Field{[10]uint32{0x00804950, 0x0254f462, 0x0170d308, 0x02b0ac23, 0x0380db7e, 0x01fd361f, 0x03dc7247, 0x03c84824, 0x008f70a2, 0x0016e0f5}}, Y: Field{[10]uint32{0x0248b545, 0x0352c510, 0x039c3030, 0x02d1fb54, 0x01982ecd, 0x0243f313, 0x01368d76, 0x019b0b84, 0x0088a10c, 0x003de301}}}, + {X: Field{[10]uint32{0x03e9736a, 0x0035dec2, 0x02c29414, 0x0258f1bf, 0x02d901ab, 0x021c76e3, 0x039e210a, 0x01288800, 0x02a56e3e, 0x003756d1}}, Y: Field{[10]uint32{0x0021d46b, 0x011f04f5, 0x008ceae6, 0x03be1e61, 0x009e7136, 0x0334d77e, 0x0052268c, 0x0116b0d7, 0x02baebdd, 0x00366ddb}}}, + {X: Field{[10]uint32{0x0361a6d3, 0x031b72cf, 0x00f6462c, 0x007c0de6, 0x03d1ff78, 0x00885025, 0x036bc5b2, 0x01849d88, 0x035a2548, 0x000bdd36}}, Y: Field{[10]uint32{0x03149c1c, 0x020f0254, 0x0248eca9, 0x011eb224, 0x03646471, 0x00c0536c, 0x01b868ea, 0x01b4bea4, 0x01ed256f, 0x002db58d}}}, + {X: Field{[10]uint32{0x03ab2e09, 0x016377c8, 0x030bec50, 0x009b7f92, 0x02119bff, 0x0378722e, 0x0240b8bf, 0x024e6961, 0x00c41f7c, 0x000cab70}}, Y: Field{[10]uint32{0x0146ae3f, 0x02ec374e, 0x0229366b, 0x020ce8d6, 0x0340beed, 0x02807645, 0x017772d2, 0x02ca5f5f, 0x02487f0b, 0x0033cc5c}}}, + {X: Field{[10]uint32{0x03c6cdce, 0x027cc061, 0x02ae936f, 0x02d6172c, 0x014e336c, 0x01d301fb, 0x02a152ed, 0x00b6a09c, 0x00a70017, 0x0013f94f}}, Y: Field{[10]uint32{0x01e3a8ce, 0x011ba620, 0x0084327e, 0x01c162e1, 0x02baf428, 0x00595e31, 0x00c29869, 0x00705887, 0x01c4bd71, 0x00207db4}}}, + {X: Field{[10]uint32{0x03b2569f, 0x02152367, 0x018ae63f, 0x001974f9, 0x023b08dc, 0x0137fb66, 0x02f316eb, 0x028a99c0, 0x00f5577f, 0x0018064d}}, Y: Field{[10]uint32{0x00f714cc, 0x001d340c, 0x03954362, 0x0243dab3, 0x0255e196, 0x00ec7c77, 0x0396f689, 0x03f5fed7, 0x00824360, 0x001b7df6}}}, + {X: Field{[10]uint32{0x0279d321, 0x00f03dea, 0x03129817, 0x0319e7e8, 0x03e1bec3, 0x03a7768b, 0x0092ee52, 0x0201b191, 0x03088ff4, 0x0001e769}}, Y: Field{[10]uint32{0x017f9a47, 0x02afa2c0, 0x0047ff90, 0x012ec382, 0x0344be73, 0x0348156b, 0x0167e8ab, 0x022128d4, 0x022976f2, 0x000ac7b2}}}, + {X: Field{[10]uint32{0x01262974, 0x0227739e, 0x011867e5, 0x032360e6, 0x015b8d4f, 0x02a2fda4, 0x0208b51c, 0x00a672f0, 0x0209c39f, 0x00180ae0}}, Y: Field{[10]uint32{0x027f5555, 0x03367695, 0x035f2267, 0x0016be43, 0x00a5ed1f, 0x01e46976, 0x02c43f94, 0x032a0daa, 0x00da05d7, 0x0003e2db}}}, + {X: Field{[10]uint32{0x020e53d1, 0x0144547f, 0x00232752, 0x001703e8, 0x010ff14c, 0x01399920, 0x02991e48, 0x0229b55c, 0x0368868a, 0x0015e93c}}, Y: Field{[10]uint32{0x023a0c6d, 0x03e95e04, 0x01a9efa1, 0x028ea8f9, 0x0353d52e, 0x03a593cb, 0x00e17869, 0x026e0cda, 0x007c5bc2, 0x00035b32}}}, + {X: Field{[10]uint32{0x0206db2a, 0x0122de1a, 0x02b54435, 0x00f96f4c, 0x02459906, 0x02c04b35, 0x004c5ae2, 0x03c441c3, 0x00f0ae9d, 0x0013e6d2}}, Y: Field{[10]uint32{0x015ea016, 0x03b7b5f7, 0x02a157bd, 0x0086fc62, 0x02980cd6, 0x01bf90ab, 0x03563ebf, 0x031e3d9b, 0x00fe3caf, 0x003569e8}}}, + {X: Field{[10]uint32{0x005e7375, 0x014ed7db, 0x007085a0, 0x02b4d778, 0x01e1910a, 0x022ed98f, 0x02615893, 0x00d27d11, 0x03084b11, 0x00391a94}}, Y: Field{[10]uint32{0x01183ce9, 0x029f4cb8, 0x03c479e1, 0x00afe9af, 0x02cb8c3d, 0x03c1eb38, 0x03923be9, 0x018cb7ef, 0x02889583, 0x003691b6}}}, + {X: Field{[10]uint32{0x01c071ea, 0x022e5880, 0x0267415c, 0x0358ad82, 0x00d62f2a, 0x03249410, 0x03e64de3, 0x005878c8, 0x0366b94b, 0x000d90f5}}, Y: Field{[10]uint32{0x0316fa98, 0x03c6d6e7, 0x01a967af, 0x013e0f4d, 0x0080835d, 0x00083db5, 0x029dcffa, 0x0278176c, 0x02f11f2b, 0x003ebda6}}}, + {X: Field{[10]uint32{0x03497dca, 0x03c6c6ef, 0x01478f6f, 0x01edfe8c, 0x00e6bea5, 0x01138177, 0x03e1b485, 0x0185486e, 0x02940c02, 0x00259da5}}, Y: Field{[10]uint32{0x03e30b03, 0x0209c0ac, 0x0293c407, 0x004b1d64, 0x038210fd, 0x0365f023, 0x033b033b, 0x02b85259, 0x02fd7d0d, 0x0013ad69}}}, + {X: Field{[10]uint32{0x01a24d07, 0x019f9996, 0x00ef65c8, 0x029bd04d, 0x007f80fd, 0x0104438a, 0x03e0ff4b, 0x0264c626, 0x01ef2c47, 0x0000b907}}, Y: Field{[10]uint32{0x0074c313, 0x0214c772, 0x01f52015, 0x03045d10, 0x0269bde3, 0x015bfece, 0x03a1f50e, 0x022c4a8e, 0x017bb838, 0x0009a853}}}, + {X: Field{[10]uint32{0x0003c29b, 0x00a1316b, 0x0037db7f, 0x03c2152a, 0x00db94cb, 0x007ad8f9, 0x004fbf77, 0x03f83a69, 0x001af6ea, 0x003ce765}}, Y: Field{[10]uint32{0x00bd7b73, 0x018b9ce3, 0x00183d8b, 0x00d300ec, 0x0072cd59, 0x001f812c, 0x001f8b55, 0x01344889, 0x03700dac, 0x0007ffb5}}}, + {X: Field{[10]uint32{0x00136419, 0x01d91254, 0x03d1c595, 0x0114a005, 0x011cdac0, 0x00b64189, 0x011f8dcc, 0x02fba824, 0x01344576, 0x00242403}}, Y: Field{[10]uint32{0x00161ad6, 0x00255a92, 0x01666b0c, 0x039bacd3, 0x001457ce, 0x028acb17, 0x00444980, 0x02040b68, 0x03bb2a33, 0x001834e2}}}, + {X: Field{[10]uint32{0x00ac2e06, 0x006944f6, 0x0109ee3e, 0x038e5ed9, 0x0244a523, 0x0074ade0, 0x0344226f, 0x03d298b9, 0x02271007, 0x000e9791}}, Y: Field{[10]uint32{0x00202449, 0x0089aeba, 0x01d90f75, 0x03f95ede, 0x010bcdfc, 0x029057cd, 0x016dee2f, 0x03f0fc09, 0x03c1074c, 0x00143c07}}}, + {X: Field{[10]uint32{0x03e24355, 0x02db0fc4, 0x02b87a06, 0x0162a3c3, 0x02b13ac2, 0x01bdb91a, 0x025492ef, 0x0047907a, 0x0256f6d7, 0x003d9ba8}}, Y: Field{[10]uint32{0x02243841, 0x0000c1c9, 0x010b57fa, 0x0281bcff, 0x028f32a2, 0x0303db4a, 0x02c24014, 0x03a9b21f, 0x00470980, 0x003ee287}}}, + {X: Field{[10]uint32{0x03038fa0, 0x009602f4, 0x022a85c6, 0x0216accd, 0x00c946a4, 0x031d0db4, 0x036d4ed6, 0x01b333ee, 0x012019a1, 0x0032b681}}, Y: Field{[10]uint32{0x03d32ae6, 0x03cb4841, 0x032032b5, 0x01c42bc3, 0x03421de9, 0x006b9ce4, 0x03069639, 0x010c92b1, 0x000a3480, 0x00389265}}}, + {X: Field{[10]uint32{0x03759cf1, 0x039d7eb2, 0x037122c4, 0x004d70b6, 0x02ce2084, 0x03760c2c, 0x03d51929, 0x01ca565a, 0x035e820b, 0x00345bd6}}, Y: Field{[10]uint32{0x02448ed8, 0x038de11a, 0x0349ce61, 0x021788a1, 0x036ecdd5, 0x01781451, 0x01363807, 0x02f35f77, 0x0084cfbe, 0x001c3b6c}}}, + {X: Field{[10]uint32{0x01f71535, 0x01444d35, 0x009a4847, 0x03275365, 0x013dc31a, 0x03199bcc, 0x02e51498, 0x02b8372d, 0x028ddc6b, 0x002ef333}}, Y: Field{[10]uint32{0x03f91eed, 0x03396b48, 0x03a6ea23, 0x01a02627, 0x01c8941f, 0x0239eefd, 0x031b4796, 0x024af949, 0x02fc63ff, 0x001369dc}}}, + {X: Field{[10]uint32{0x014243fe, 0x001854bb, 0x032915f6, 0x03e3a0da, 0x02e7d5d2, 0x01a087ae, 0x01e940d0, 0x01d710c9, 0x00f5cd8b, 0x001457ca}}, Y: Field{[10]uint32{0x03668b47, 0x00bc7118, 0x032a24ba, 0x0209bdf6, 0x00e1855a, 0x0208a496, 0x0209f466, 0x02e3f852, 0x03ccf5d2, 0x00284c50}}}, + {X: Field{[10]uint32{0x01233837, 0x03b61148, 0x03f79df6, 0x02d6e3f5, 0x0068d356, 0x034e049e, 0x011ed6f9, 0x0118b61a, 0x02aea78c, 0x002f4bd1}}, Y: Field{[10]uint32{0x01c4af11, 0x02f5f21e, 0x00324b92, 0x02b98aae, 0x0284ddd9, 0x035f5bf8, 0x0332f70e, 0x0200fdfa, 0x02d3f3cc, 0x0023d917}}}, + {X: Field{[10]uint32{0x01e37dfa, 0x01f5977e, 0x0313347d, 0x034e4b83, 0x0004f8d7, 0x00046914, 0x0210b512, 0x008489a7, 0x013cc3d3, 0x00215dbc}}, Y: Field{[10]uint32{0x028b1a4f, 0x027640fd, 0x021958d1, 0x00a116d9, 0x0386ff90, 0x027bb7a2, 0x009eb8c1, 0x0384c48c, 0x00483fa0, 0x003eefc8}}}, + {X: Field{[10]uint32{0x0309db4a, 0x02327ce0, 0x0341a23b, 0x03cb4c73, 0x01763a83, 0x03c8d87f, 0x03f262ab, 0x01391f5c, 0x02918fdf, 0x001c2f87}}, Y: Field{[10]uint32{0x028bc573, 0x00fdc210, 0x0318829f, 0x032770fb, 0x03a1897a, 0x0224a50e, 0x013fa488, 0x01bbd030, 0x0175e424, 0x0020be01}}}, + {X: Field{[10]uint32{0x0341180f, 0x0193a452, 0x02361c80, 0x026848c4, 0x01017352, 0x028d4ebe, 0x0354a461, 0x01ad4e6f, 0x013d1d58, 0x002ee282}}, Y: Field{[10]uint32{0x03478269, 0x00d3616b, 0x0165e723, 0x01034887, 0x02287075, 0x033d779f, 0x028d66bc, 0x02894735, 0x02d78456, 0x00118383}}}, + {X: Field{[10]uint32{0x005c2e69, 0x0128492f, 0x018606dc, 0x0211d530, 0x027b976a, 0x001c7e87, 0x03306287, 0x006533d2, 0x024f34d9, 0x001e05eb}}, Y: Field{[10]uint32{0x00d55cbc, 0x02f9774b, 0x02d7b481, 0x00303e12, 0x006afe1c, 0x013e2cd0, 0x02ed346e, 0x02c6d6f1, 0x0056c4e3, 0x00097d3b}}}, + {X: Field{[10]uint32{0x0366abcc, 0x03fb446f, 0x009a5bcc, 0x03c49cd3, 0x03e72af5, 0x00396ed7, 0x02ed8e2a, 0x0167e9bf, 0x00dc411f, 0x002171d8}}, Y: Field{[10]uint32{0x03cb8cc4, 0x019ac9b2, 0x028ad106, 0x00399403, 0x0389a891, 0x00e99f96, 0x00f12482, 0x0271c6fc, 0x01b0b57c, 0x0024960f}}}, + {X: Field{[10]uint32{0x015086c3, 0x0206af17, 0x0179ad4c, 0x008d1faa, 0x03d9ee71, 0x0079cdde, 0x00739e3b, 0x01d8bfcb, 0x01354d9d, 0x00083603}}, Y: Field{[10]uint32{0x02f0efe5, 0x01077dd8, 0x01cf7489, 0x01ac6c89, 0x010ef6ed, 0x03c4d46d, 0x0123b7f1, 0x0299d7a0, 0x017b8017, 0x001b8647}}}, + {X: Field{[10]uint32{0x01ba5657, 0x0370f83f, 0x00fde086, 0x03f25c24, 0x00ec26ce, 0x004a2601, 0x036d9c8d, 0x0312c197, 0x022d43f2, 0x000cc1a4}}, Y: Field{[10]uint32{0x03c7efc4, 0x01970c04, 0x00d881b8, 0x01067e1f, 0x0186f0e9, 0x02871019, 0x039f76ef, 0x035eb1c1, 0x009fc93d, 0x00262a33}}}, + {X: Field{[10]uint32{0x032fb001, 0x0379b1ce, 0x01fc18ac, 0x02b02c21, 0x018a1b9a, 0x02488da0, 0x00f77033, 0x01fc4910, 0x019754d3, 0x002cd71d}}, Y: Field{[10]uint32{0x03cd649d, 0x03dadd44, 0x01660a7a, 0x02d1be4f, 0x022ea789, 0x037d65a3, 0x0058ffb0, 0x02121657, 0x039069b0, 0x00001212}}}, + {X: Field{[10]uint32{0x034e1f33, 0x03c25d51, 0x0158786e, 0x03e3a43f, 0x0205c647, 0x01648ac6, 0x009d0104, 0x030c0db3, 0x03537f8b, 0x0026f506}}, Y: Field{[10]uint32{0x030274ac, 0x0340ef2f, 0x013aec25, 0x01da3480, 0x018b8667, 0x03fce269, 0x0086bfe1, 0x03849769, 0x03f655ec, 0x001642be}}}, + {X: Field{[10]uint32{0x001ded42, 0x023c5815, 0x0020e527, 0x00e9cd65, 0x036950d9, 0x00e38372, 0x0289703a, 0x02bbc2f3, 0x032ca9b3, 0x000a8e99}}, Y: Field{[10]uint32{0x02693d8e, 0x03cee270, 0x02a5fc6a, 0x0033e22b, 0x02c95f85, 0x02d8aeac, 0x008ebef6, 0x00e0f6e4, 0x00b613f3, 0x00130ea5}}}, + {X: Field{[10]uint32{0x00f74d3d, 0x0250e096, 0x01bf6937, 0x017c5b71, 0x00c8db94, 0x014e01b7, 0x01f38003, 0x0253e353, 0x02f20a2d, 0x000c6e9a}}, Y: Field{[10]uint32{0x0329df5a, 0x008e3308, 0x03f4a236, 0x020b1509, 0x01fc1e6a, 0x0180d131, 0x01d915ef, 0x03ac72e9, 0x0102b290, 0x002b4677}}}, + {X: Field{[10]uint32{0x00869720, 0x004a54af, 0x01bb05bb, 0x0147a712, 0x00587c02, 0x02fd12a6, 0x030f9b8e, 0x0053c177, 0x01bd74b0, 0x003e8866}}, Y: Field{[10]uint32{0x0163f45e, 0x00b484ec, 0x0231a66d, 0x03bac7d5, 0x03041ab6, 0x018387a6, 0x035c4838, 0x03d7d2c3, 0x017d6efd, 0x0010ca24}}}, + {X: Field{[10]uint32{0x03e22d52, 0x011a6a62, 0x0199f30a, 0x000b8eff, 0x0108aaac, 0x024aad8f, 0x00f28476, 0x00f03d73, 0x0046c7f5, 0x00105ee4}}, Y: Field{[10]uint32{0x023b82c0, 0x0175a921, 0x008e0d49, 0x02a0ef6c, 0x007aede9, 0x005c1b80, 0x036eae69, 0x025e237f, 0x02655f30, 0x001e3057}}}, + {X: Field{[10]uint32{0x0318bc2a, 0x0390f55b, 0x00964f33, 0x026005c5, 0x026158f4, 0x01e9a7fe, 0x00e6eca6, 0x007f6228, 0x01f247d5, 0x0015ab24}}, Y: Field{[10]uint32{0x010680c7, 0x02c699b7, 0x02740c54, 0x02b89b9e, 0x00429bee, 0x01ee0719, 0x03c518b3, 0x00692dc5, 0x015c9e1b, 0x000d46df}}}, + {X: Field{[10]uint32{0x03215f8a, 0x001f594d, 0x00250685, 0x01c04324, 0x01e164ae, 0x002eafb2, 0x02d835aa, 0x01fbcc54, 0x02f88330, 0x002bae8c}}, Y: Field{[10]uint32{0x002c4e21, 0x038aba16, 0x0040fdcd, 0x031a9073, 0x037ce7e3, 0x0333be10, 0x03165577, 0x017cb9bf, 0x013935cf, 0x00235d1f}}}, + {X: Field{[10]uint32{0x01db5813, 0x035a0748, 0x03e63d47, 0x03ac3936, 0x0379ee10, 0x015bb411, 0x03d6bcc2, 0x00325da4, 0x02199af0, 0x0010b1ec}}, Y: Field{[10]uint32{0x0219378f, 0x012196ec, 0x03c75c3c, 0x01747f3d, 0x02a5fd87, 0x0225610c, 0x0244a4df, 0x031f2cb3, 0x03081fb1, 0x002857ed}}}, + {X: Field{[10]uint32{0x024e5d98, 0x02845b68, 0x01e2c36c, 0x0288270e, 0x0225e0db, 0x006f357f, 0x03fe19d0, 0x0196a222, 0x0297ecf3, 0x0010cdec}}, Y: Field{[10]uint32{0x0242b7ad, 0x01056ec8, 0x01722915, 0x022f2736, 0x0328d1ef, 0x0381b6dc, 0x00833485, 0x007b6f2f, 0x03abc654, 0x001271c8}}}, + {X: Field{[10]uint32{0x03f857bf, 0x0066876d, 0x02f84a25, 0x00949f93, 0x00aeefbf, 0x02e12c94, 0x028af0ce, 0x024cb3a5, 0x00761481, 0x00062663}}, Y: Field{[10]uint32{0x02c97fa2, 0x03204a09, 0x01ba39b7, 0x015342fe, 0x00911330, 0x03cca274, 0x02c9ae77, 0x02110d72, 0x00856451, 0x001157af}}}, + {X: Field{[10]uint32{0x02a49b2b, 0x02e256c1, 0x0188e69c, 0x01907995, 0x0387767b, 0x02ff62d3, 0x010516f1, 0x015ca816, 0x0320fa24, 0x001931d8}}, Y: Field{[10]uint32{0x00b9603f, 0x03fa33dd, 0x01395d39, 0x022a1e67, 0x0178366c, 0x01a097b0, 0x03ae76f8, 0x01425680, 0x02a5c479, 0x00028e68}}}, + {X: Field{[10]uint32{0x012b0ad7, 0x034efd20, 0x004e1ebb, 0x028ceced, 0x02dea917, 0x031bc4a9, 0x03a5f2d3, 0x02e1f296, 0x0005e35e, 0x0010595d}}, Y: Field{[10]uint32{0x01ff815d, 0x02375be5, 0x034916b6, 0x0170825a, 0x034d0ed7, 0x02b732d4, 0x037fe787, 0x0114ad15, 0x01ae36f1, 0x0023885a}}}, + {X: Field{[10]uint32{0x00391f6e, 0x01b8c370, 0x00cb68b7, 0x00440b04, 0x017bfd4a, 0x03d298c5, 0x02110c80, 0x012e245b, 0x03a3768a, 0x002a8803}}, Y: Field{[10]uint32{0x0184695b, 0x00d4d3a9, 0x02fde7fb, 0x0351a416, 0x00c49b79, 0x01f4662a, 0x02c898bd, 0x0055577f, 0x015928b2, 0x00159ef6}}}, + {X: Field{[10]uint32{0x03131599, 0x03e6ee9d, 0x00966555, 0x035a7961, 0x03eb529b, 0x02327188, 0x003ba48c, 0x00bd52e1, 0x0328841d, 0x001ea9e0}}, Y: Field{[10]uint32{0x01f698ed, 0x0112bcda, 0x003ba1bb, 0x0118a696, 0x01327112, 0x0138bdbc, 0x01a7e7a6, 0x011e2c93, 0x0315e4b8, 0x001ad289}}}, + {X: Field{[10]uint32{0x016969a1, 0x00d11d4e, 0x01fdfdae, 0x013d92ef, 0x0248446b, 0x01e3eeef, 0x019234fc, 0x019ffc11, 0x03bd6a27, 0x00252c69}}, Y: Field{[10]uint32{0x011cc33d, 0x03a233e6, 0x0054fdf1, 0x01e3a2e2, 0x02e77e21, 0x02e6a907, 0x029320a8, 0x02a1c774, 0x01ef2273, 0x0023cc19}}}, + {X: Field{[10]uint32{0x0126573a, 0x036633b5, 0x0071035f, 0x01c4de8d, 0x005407df, 0x01a07830, 0x00c8cb27, 0x03afd4a5, 0x03a71bfe, 0x001ae55e}}, Y: Field{[10]uint32{0x022724a0, 0x03f6e21e, 0x037f4583, 0x003b0297, 0x0235c6df, 0x03bed424, 0x01cd4ff6, 0x0214f179, 0x008d3fc1, 0x0019f920}}}, + {X: Field{[10]uint32{0x03717f7f, 0x029a4590, 0x01cb2b8a, 0x02da02f6, 0x03f9a6df, 0x02c7f2ca, 0x0293892a, 0x010400ef, 0x03300ea3, 0x0022c9d0}}, Y: Field{[10]uint32{0x0198db90, 0x02bebc5e, 0x00da3c99, 0x02a82727, 0x014ed141, 0x0271c4e2, 0x027f8284, 0x01620f98, 0x02bb7785, 0x00153e8a}}}, + {X: Field{[10]uint32{0x0358db05, 0x0117899e, 0x012e75d1, 0x01c92668, 0x033b6863, 0x01eb1997, 0x01274de7, 0x008ce524, 0x039b6736, 0x0034fd93}}, Y: Field{[10]uint32{0x01a52449, 0x00a81432, 0x0310e5c8, 0x01410060, 0x009bea58, 0x02267eaa, 0x01284f43, 0x0057d051, 0x02c852bd, 0x00301845}}}, + {X: Field{[10]uint32{0x0237ba79, 0x03ad557c, 0x00d4bc4a, 0x007a006d, 0x02870d07, 0x0243de57, 0x03b92803, 0x010ca406, 0x02f8ce0e, 0x00066249}}, Y: Field{[10]uint32{0x02b3d34e, 0x00fc81b4, 0x01d76a83, 0x03411523, 0x035d6c10, 0x00373c43, 0x027658fa, 0x001f9d78, 0x03d95b8d, 0x001d8496}}}, + {X: Field{[10]uint32{0x0301a13f, 0x032962f3, 0x003099ad, 0x03f1be1e, 0x00ee4358, 0x03770961, 0x0346cfb6, 0x014be0e5, 0x014d5951, 0x000006ef}}, Y: Field{[10]uint32{0x038d7733, 0x01fa7f37, 0x016e0b58, 0x03f13c21, 0x03ebdc70, 0x03797af7, 0x003cdfe3, 0x0317a9c2, 0x00deccea, 0x00063d4d}}}, + {X: Field{[10]uint32{0x01a3132a, 0x00b89d7d, 0x0398c131, 0x01fc876c, 0x03005245, 0x008089a4, 0x00b551f5, 0x0249c8df, 0x0345b263, 0x00221cdf}}, Y: Field{[10]uint32{0x00c496ed, 0x0285e778, 0x020290b2, 0x03fb256a, 0x02e3e61c, 0x006e8317, 0x01a7b222, 0x0387a12c, 0x032c2895, 0x001e6959}}}, + {X: Field{[10]uint32{0x00cb1e83, 0x03852ff3, 0x02252004, 0x01f91b9e, 0x012d6849, 0x03f873ea, 0x00ca35e8, 0x01ddccd3, 0x018b1f27, 0x0032fcf8}}, Y: Field{[10]uint32{0x02bc3f99, 0x03d72521, 0x029a401f, 0x01c249ae, 0x007b91f7, 0x03c91d23, 0x01d242a5, 0x0115b0f2, 0x039565bd, 0x0036c030}}}, + {X: Field{[10]uint32{0x03022f70, 0x00699071, 0x0093c40b, 0x00809c82, 0x008ab65b, 0x00aa4ea6, 0x01c88467, 0x03beb97e, 0x030cf186, 0x00201c3b}}, Y: Field{[10]uint32{0x027bd9e5, 0x02762044, 0x018caa24, 0x014e9d17, 0x00cc85c8, 0x021ff60e, 0x0024cf5a, 0x01a8151a, 0x01b04694, 0x0036a601}}}, + {X: Field{[10]uint32{0x03f71eab, 0x021a6030, 0x03e21902, 0x02d88490, 0x035c57dc, 0x022dbf88, 0x00c50640, 0x0176efa1, 0x004b8fa4, 0x002b2be6}}, Y: Field{[10]uint32{0x00eb278e, 0x02cef44b, 0x010b5d1d, 0x0077c5f7, 0x03801b8c, 0x02eb8a41, 0x004dfb0b, 0x03e8bbc5, 0x00168259, 0x0011bd3b}}}, + {X: Field{[10]uint32{0x03fdc965, 0x036a5c7e, 0x000994ee, 0x01494a91, 0x01e89162, 0x015f8f49, 0x01e8a32a, 0x03b3a9cd, 0x020591f9, 0x0000a24e}}, Y: Field{[10]uint32{0x03cfbb6a, 0x02c5681e, 0x012a18c3, 0x03082abc, 0x01372aa6, 0x03edf495, 0x02b5186e, 0x02c48c04, 0x014191e4, 0x001ba8a6}}}, + {X: Field{[10]uint32{0x02be951d, 0x016d9130, 0x01b39dc0, 0x002963c4, 0x00cfccab, 0x03b44b7c, 0x0126e285, 0x032d8272, 0x023168f0, 0x001925d1}}, Y: Field{[10]uint32{0x01eafb7c, 0x0012268c, 0x03406016, 0x02a705e2, 0x03d432b5, 0x03c94271, 0x004bb219, 0x0217890d, 0x001b2fa8, 0x003a9d06}}}, + {X: Field{[10]uint32{0x021faeef, 0x03c3a22e, 0x006e2d1b, 0x007174ea, 0x01091862, 0x0260440e, 0x014f7c20, 0x025322cb, 0x003e5133, 0x002e4e11}}, Y: Field{[10]uint32{0x0353fc85, 0x021f6bf0, 0x01be0963, 0x03226d9a, 0x00c52473, 0x017fe505, 0x0384f384, 0x02190941, 0x02a8c7d9, 0x002bd1fc}}}, + {X: Field{[10]uint32{0x012a5320, 0x01b6b167, 0x03b8d42f, 0x02333da6, 0x0124f475, 0x01d8d1ae, 0x00fd4a78, 0x03d43a7e, 0x0245ad10, 0x002f47b8}}, Y: Field{[10]uint32{0x00039605, 0x021cd238, 0x01518af7, 0x010d92ce, 0x00134ce4, 0x013ffa4b, 0x02477ac7, 0x02235709, 0x023e069d, 0x001ddb8b}}}, + {X: Field{[10]uint32{0x0260650f, 0x0277d0f1, 0x006a97d4, 0x00819e92, 0x036d8e13, 0x009e763e, 0x027dc054, 0x02157c5f, 0x0068805e, 0x00032dfb}}, Y: Field{[10]uint32{0x029e903c, 0x0393f608, 0x01b5a91c, 0x00e5b496, 0x01b12d73, 0x01c5497f, 0x03302eb0, 0x01040c47, 0x00b284c0, 0x003d41e4}}}, + {X: Field{[10]uint32{0x0330cf83, 0x004846ea, 0x02a15e1c, 0x0057ef78, 0x031968c6, 0x03213369, 0x0222a1c7, 0x02ed68a7, 0x037e0aff, 0x003bc1f3}}, Y: Field{[10]uint32{0x00ef574f, 0x0310971c, 0x01979815, 0x01789616, 0x002ca556, 0x013203cb, 0x03fc2fee, 0x00c35040, 0x02c94226, 0x00263d29}}}, + {X: Field{[10]uint32{0x027b8fc6, 0x0309ab4f, 0x027814ee, 0x01902189, 0x0113dc50, 0x0045003c, 0x00e4ca0d, 0x03316733, 0x01484d7f, 0x0013ff06}}, Y: Field{[10]uint32{0x03b75aa9, 0x013961df, 0x0266961b, 0x038e4dfb, 0x02d94b65, 0x03721fc4, 0x01ac1075, 0x00f60f2d, 0x020798ff, 0x002fa7af}}}, + {X: Field{[10]uint32{0x01d18396, 0x035a2f18, 0x01b63b4e, 0x01acb693, 0x00fad1ad, 0x0318dc6c, 0x00df0efa, 0x03524ee3, 0x0373339e, 0x0032f754}}, Y: Field{[10]uint32{0x02bdb13f, 0x02fe86b5, 0x025fac77, 0x035f200f, 0x003784a7, 0x01c2704c, 0x0138b6ff, 0x00b51c7d, 0x0087c321, 0x00149f79}}}, + {X: Field{[10]uint32{0x027cb5d2, 0x01efd6f1, 0x01fed65e, 0x02838c0d, 0x014e650a, 0x03800fe6, 0x03f6b065, 0x035fa76d, 0x032bd8a1, 0x003a80d6}}, Y: Field{[10]uint32{0x003761c4, 0x01918223, 0x00edddbc, 0x0258a8ec, 0x032cd57e, 0x03fa071a, 0x0372e91a, 0x03d22219, 0x03702219, 0x002bb2d0}}}, + {X: Field{[10]uint32{0x01f8db89, 0x02a3bd66, 0x010cd99b, 0x03da407b, 0x02911648, 0x00b50ff6, 0x029dda6b, 0x00902b5b, 0x03d6c1d6, 0x00378693}}, Y: Field{[10]uint32{0x004da03e, 0x0088faa2, 0x012cd3a4, 0x02c4150b, 0x02f85f90, 0x01c78b98, 0x00a60853, 0x03fd0747, 0x00d161c0, 0x003bff25}}}, + {X: Field{[10]uint32{0x02a076ed, 0x033d6df9, 0x037f0e58, 0x022bc03e, 0x00d75e11, 0x02f3ffaf, 0x02157878, 0x01fb5b84, 0x0141e8d8, 0x000b9910}}, Y: Field{[10]uint32{0x0334b8d2, 0x03a03ff2, 0x005b7320, 0x0037d97e, 0x02b45c24, 0x009b48b0, 0x00a70110, 0x018b61ae, 0x00ddf2ba, 0x0012aa16}}}, + {X: Field{[10]uint32{0x01b73a33, 0x0220ecdc, 0x01c3e956, 0x01e4b49d, 0x0247ff88, 0x023cb4a3, 0x03b78ad0, 0x02e1e243, 0x006a90d6, 0x000e110e}}, Y: Field{[10]uint32{0x0365cd18, 0x03f51d2c, 0x0157c714, 0x015fc5f3, 0x01ff2845, 0x032a3ba2, 0x036bde12, 0x012701d7, 0x03121a81, 0x003dfd77}}}, + {X: Field{[10]uint32{0x00358e42, 0x03a5bc1d, 0x03ae8ff7, 0x0382eacb, 0x01bde185, 0x02ba080f, 0x0218cd89, 0x034d88ad, 0x03321b91, 0x00387fa6}}, Y: Field{[10]uint32{0x01f3e1c4, 0x00ded2b7, 0x021d5f85, 0x0192b2ae, 0x02cef4f0, 0x00afca9d, 0x01eff10f, 0x004cba89, 0x02901797, 0x0031643f}}}, + {X: Field{[10]uint32{0x027a3c0b, 0x01c9f12c, 0x00a499cc, 0x03b68782, 0x00aefbbd, 0x016262bc, 0x020144d4, 0x036086da, 0x00da2f57, 0x00158280}}, Y: Field{[10]uint32{0x0395e208, 0x00044ab9, 0x02eaaa8b, 0x018d36ef, 0x025db86d, 0x020ec54b, 0x00b79ff9, 0x004ddcef, 0x024e39db, 0x001921d3}}}, + {X: Field{[10]uint32{0x0379094d, 0x02ecbcbc, 0x011dce5c, 0x0076f433, 0x001afe9b, 0x015b8a05, 0x03164248, 0x0378ab06, 0x03a77ec8, 0x0027ccfe}}, Y: Field{[10]uint32{0x02fe94b0, 0x02c2a709, 0x0384892f, 0x0366fff8, 0x01d972ab, 0x0177b358, 0x0034f19b, 0x038a9c98, 0x00d81838, 0x0025f2e3}}}, + {X: Field{[10]uint32{0x02d7a1b9, 0x01411f9c, 0x01226da7, 0x014f81a8, 0x01e46ee2, 0x02833ec5, 0x039da042, 0x01d44923, 0x03a82405, 0x0026208b}}, Y: Field{[10]uint32{0x02b19285, 0x00f7c53f, 0x00cc2a55, 0x013339f1, 0x03db975d, 0x03e5643c, 0x01475611, 0x0152b369, 0x023507bc, 0x000fa7ba}}}, + {X: Field{[10]uint32{0x001dbd88, 0x021a81ab, 0x0307cc40, 0x0179f885, 0x03bc7287, 0x00bc3e12, 0x01883273, 0x01c9a1ab, 0x01ac4b75, 0x002e0534}}, Y: Field{[10]uint32{0x00f18a98, 0x0114a640, 0x01c36cf1, 0x03fc635a, 0x00c03462, 0x0129ee2a, 0x01b8ab3c, 0x02848900, 0x00883749, 0x002d8d91}}}, + {X: Field{[10]uint32{0x01043e97, 0x00f068af, 0x00cd8623, 0x010a170a, 0x03b39cf8, 0x03b677f3, 0x039f7b7e, 0x0044f334, 0x00c41e42, 0x00091921}}, Y: Field{[10]uint32{0x039552d3, 0x01fd743a, 0x00502387, 0x03ad1294, 0x0280f431, 0x0342dd79, 0x01d36f79, 0x02f76010, 0x01b02e31, 0x003cd409}}}, + {X: Field{[10]uint32{0x0351db91, 0x02bee63f, 0x0358e847, 0x00902474, 0x03bbe8c5, 0x00a13930, 0x03fff0e4, 0x02cbb361, 0x03657b41, 0x0027ccc0}}, Y: Field{[10]uint32{0x02d5e70d, 0x03d0cddc, 0x03dad317, 0x0305d584, 0x01adf519, 0x013df339, 0x0176a43d, 0x0221c378, 0x03cb221c, 0x0012e69e}}}, + {X: Field{[10]uint32{0x01529d25, 0x02e6f2a7, 0x0161c225, 0x01452c58, 0x02b0e719, 0x03d69370, 0x035623a8, 0x010cf017, 0x029b3c75, 0x0030b9e3}}, Y: Field{[10]uint32{0x039079bb, 0x02228f2a, 0x001b9505, 0x00ab5891, 0x03e79436, 0x02c928b8, 0x0387b209, 0x01db2b18, 0x00f19383, 0x00079d72}}}, + {X: Field{[10]uint32{0x03695391, 0x0179aea9, 0x03f867ce, 0x00340a41, 0x022125c4, 0x01522bab, 0x01c9636b, 0x006df215, 0x02c4b6e8, 0x00224d03}}, Y: Field{[10]uint32{0x012c72c6, 0x030fa8de, 0x00671575, 0x02755492, 0x002b2a9c, 0x00f8af04, 0x01cc2c10, 0x01e5b77c, 0x014e263e, 0x003dce6a}}}, + {X: Field{[10]uint32{0x02629d22, 0x00aef8b5, 0x022daa7e, 0x00f63f63, 0x035d66a9, 0x034e29b0, 0x00facd48, 0x00f3081e, 0x0315f144, 0x0024813f}}, Y: Field{[10]uint32{0x0159c019, 0x00098e9d, 0x03253be1, 0x015609c9, 0x00131205, 0x00a4ffcf, 0x005020ec, 0x0143a588, 0x0075456b, 0x000ae77a}}}, + {X: Field{[10]uint32{0x03ff04d6, 0x031257ba, 0x0284d7ab, 0x03929ef5, 0x0261fad9, 0x00c97d77, 0x02b518dc, 0x00bf5f39, 0x02104112, 0x003c55b6}}, Y: Field{[10]uint32{0x01b631d4, 0x011a8380, 0x0170376e, 0x0135ce7d, 0x017f2c40, 0x000c6976, 0x03aa78d2, 0x02b7fb72, 0x00abf4f2, 0x0031cca5}}}, + {X: Field{[10]uint32{0x0280fa75, 0x01f6808c, 0x022659fa, 0x01549941, 0x022c379a, 0x001430d8, 0x00998616, 0x0104e84c, 0x017837d6, 0x001dc68b}}, Y: Field{[10]uint32{0x014c9aca, 0x0002c997, 0x030f66b6, 0x001356f1, 0x03e42703, 0x01b23746, 0x03ef0b0f, 0x007d6e0a, 0x039f5cfe, 0x0022daf0}}}, + {X: Field{[10]uint32{0x01a18f69, 0x0048d9a1, 0x004018e5, 0x003ac730, 0x01aec29f, 0x01039473, 0x03b52b1f, 0x00b167d8, 0x00e036bb, 0x00053356}}, Y: Field{[10]uint32{0x005e2006, 0x00323667, 0x0372ef27, 0x0279d1ac, 0x03ea15b1, 0x027a93a3, 0x00c72623, 0x011905d1, 0x00fded35, 0x001e7095}}}, + {X: Field{[10]uint32{0x028633f1, 0x03fc9ec6, 0x0343c22b, 0x03254ada, 0x02cd539c, 0x024299f7, 0x000bff13, 0x0001c960, 0x00770106, 0x00397d50}}, Y: Field{[10]uint32{0x01666367, 0x02c80a23, 0x00b5f4c3, 0x02a6c3d5, 0x0280274d, 0x026be281, 0x038e691f, 0x021b1d60, 0x02c39baa, 0x0035b871}}}, + {X: Field{[10]uint32{0x03429197, 0x03abe2b9, 0x003d75b8, 0x012cf4df, 0x03679134, 0x025a4f64, 0x03d14ba7, 0x0080dfef, 0x03429c07, 0x002c3aab}}, Y: Field{[10]uint32{0x037af26d, 0x0145c5a6, 0x00341510, 0x0209a8bc, 0x00bc2373, 0x000805c4, 0x0124d9bd, 0x006d953c, 0x021e4a17, 0x00035c99}}}, + {X: Field{[10]uint32{0x004d67c2, 0x03847998, 0x00e883c2, 0x00bb3d8b, 0x005380f9, 0x021393a8, 0x01573832, 0x036bb4d6, 0x030b044e, 0x003808b5}}, Y: Field{[10]uint32{0x01ab4143, 0x00ac4724, 0x01c7152d, 0x026cb0f7, 0x0207aed8, 0x0054fa70, 0x015228a3, 0x03b43451, 0x01d43ba0, 0x00108f15}}}, + {X: Field{[10]uint32{0x03c5ab5f, 0x02999692, 0x00651349, 0x036a7976, 0x03af1a3e, 0x02525446, 0x0270f07b, 0x02abc996, 0x033eb2ea, 0x0024a8b5}}, Y: Field{[10]uint32{0x000fa973, 0x01a04878, 0x0004992d, 0x00f16b0d, 0x0105f170, 0x00e8c98c, 0x0089fff5, 0x03495268, 0x00194794, 0x001124b5}}}, + {X: Field{[10]uint32{0x01b9cb30, 0x008d6a63, 0x0003ec96, 0x00b8fb98, 0x03b12f10, 0x01ea73ba, 0x035ac444, 0x002a733c, 0x02860de5, 0x0010d025}}, Y: Field{[10]uint32{0x0210bba9, 0x00b37713, 0x02cb037d, 0x0261fcc5, 0x03c8e1e8, 0x03671b22, 0x00e38adb, 0x00405e39, 0x0040952e, 0x000bde04}}}, + {X: Field{[10]uint32{0x0394cd12, 0x0282b788, 0x024e1aaa, 0x010ce222, 0x02945426, 0x01cd7713, 0x003aa5ad, 0x03e3506e, 0x011b0643, 0x0034d277}}, Y: Field{[10]uint32{0x033249a5, 0x02b7b390, 0x01bc6072, 0x015fb38d, 0x01cf0822, 0x02803bfa, 0x01c71c9e, 0x02dab0a5, 0x00571da2, 0x0019fcbc}}}, + {X: Field{[10]uint32{0x02dd10e6, 0x004de059, 0x023d9c68, 0x02763e0c, 0x03babad3, 0x01cb6339, 0x036834d2, 0x01faecd7, 0x02957fb8, 0x0026a426}}, Y: Field{[10]uint32{0x02ddbca1, 0x02195ca8, 0x03cec863, 0x0367dc24, 0x01c12f16, 0x028bd800, 0x02248352, 0x0068a1fd, 0x011a3277, 0x00338fab}}}, + {X: Field{[10]uint32{0x0007fa0b, 0x02f33c2b, 0x01452a67, 0x01c44853, 0x031d77f9, 0x01a1ad7e, 0x03be25d3, 0x00a99268, 0x0218df2a, 0x003ce2c7}}, Y: Field{[10]uint32{0x01e65ea6, 0x019c7bdc, 0x039d4591, 0x03631223, 0x03419a20, 0x03029188, 0x011ced59, 0x02c806e8, 0x029a7f71, 0x00001727}}}, + {X: Field{[10]uint32{0x01535a67, 0x0381b20c, 0x039a6a86, 0x021304ad, 0x027b9097, 0x009d8bb4, 0x012738bc, 0x0342577d, 0x03ca26b8, 0x00108d83}}, Y: Field{[10]uint32{0x028345e4, 0x03064491, 0x02f665de, 0x030595fd, 0x03db93ae, 0x02f77114, 0x008bc432, 0x03000efa, 0x00e5e43e, 0x001adbd3}}}, + {X: Field{[10]uint32{0x003f4a1e, 0x00130d8c, 0x02a94534, 0x03016800, 0x01b87325, 0x00c8ddec, 0x03993eaa, 0x038ee665, 0x018da7c5, 0x0038f5c6}}, Y: Field{[10]uint32{0x0053ef4d, 0x004de048, 0x0265f5c8, 0x033cc817, 0x00a05f19, 0x017eaff9, 0x0342be83, 0x0052337d, 0x0218ece6, 0x001c90dc}}}, + {X: Field{[10]uint32{0x007cb59b, 0x02f1b65a, 0x01b480d6, 0x02d6f5a3, 0x0202f93d, 0x006454a7, 0x014f6258, 0x004441ad, 0x0145a830, 0x000e504a}}, Y: Field{[10]uint32{0x0250f08d, 0x009941bc, 0x01d9fd28, 0x02028405, 0x00e08b0a, 0x002a562d, 0x03057844, 0x030c6462, 0x022c60f5, 0x002e36e0}}}, + {X: Field{[10]uint32{0x01241fc2, 0x00b025f3, 0x014f421d, 0x0053552b, 0x02d93dc9, 0x0364da33, 0x03857c7e, 0x03a639da, 0x01f77e0e, 0x0001349d}}, Y: Field{[10]uint32{0x039d7473, 0x03922ae8, 0x02f05277, 0x03a24330, 0x03935448, 0x0254aac4, 0x019d361f, 0x00a447d8, 0x03d49b50, 0x003b2e00}}}, + {X: Field{[10]uint32{0x029556ce, 0x00fe01e1, 0x01e03c01, 0x0114f22a, 0x010160b1, 0x01667b56, 0x02fcd5b6, 0x0272f68f, 0x0076c1db, 0x000a4d92}}, Y: Field{[10]uint32{0x023f6ede, 0x00c6443c, 0x0186c2dc, 0x01a9df7c, 0x0243ffb5, 0x016507df, 0x03562379, 0x02543213, 0x02f4cc44, 0x000af6d2}}}, + {X: Field{[10]uint32{0x00878034, 0x003b9b79, 0x01e55d38, 0x0107d2c8, 0x036febcf, 0x00ee84cc, 0x003ef10d, 0x0337deae, 0x00a963dc, 0x001d4c7d}}, Y: Field{[10]uint32{0x03a36ae8, 0x0100d286, 0x0055e9c4, 0x02ec021f, 0x01e1dcb1, 0x03589a6c, 0x01628ca2, 0x01af087a, 0x029f91d5, 0x0011d4f6}}}, + {X: Field{[10]uint32{0x00286e08, 0x02514317, 0x02777a3d, 0x00a16f05, 0x016050ca, 0x02f7e2b0, 0x00dce7a4, 0x03fb2910, 0x02263d12, 0x002099b5}}, Y: Field{[10]uint32{0x03e2328b, 0x0177cb2b, 0x00877545, 0x03897369, 0x0096d908, 0x0267d8cf, 0x01e7e363, 0x013ad9a9, 0x02bffb8a, 0x0009403c}}}, + {X: Field{[10]uint32{0x03c589e9, 0x02a1b452, 0x023d69ea, 0x02a9672d, 0x036d5e62, 0x010e27e1, 0x039b26e8, 0x027c5630, 0x00014f33, 0x00199200}}, Y: Field{[10]uint32{0x02d92e2a, 0x01c05b12, 0x002f596c, 0x03076a29, 0x01f145ff, 0x01d6b0c6, 0x00785263, 0x0168de7c, 0x033fe3eb, 0x00281a66}}}, + {X: Field{[10]uint32{0x00c70d49, 0x01dead93, 0x0113486b, 0x02e387d1, 0x03f641e2, 0x01b224d0, 0x01921b5e, 0x003ee981, 0x00858b9c, 0x003e3bf3}}, Y: Field{[10]uint32{0x00a9d607, 0x00761d54, 0x00834f8b, 0x0389e49e, 0x005f4de2, 0x00d7668f, 0x01a0ae30, 0x03c366bd, 0x002f7086, 0x002ea5c8}}}, + {X: Field{[10]uint32{0x00992540, 0x010b8267, 0x02e736c5, 0x02c07638, 0x016f2485, 0x00eafecf, 0x02c627c9, 0x00928ec7, 0x027d2543, 0x00297048}}, Y: Field{[10]uint32{0x02ecc7cc, 0x005b6f21, 0x03da5a1d, 0x01173e5d, 0x0264cfef, 0x00e29fde, 0x019bed7f, 0x00eed5b6, 0x01b48a16, 0x00324627}}}, + {X: Field{[10]uint32{0x038bbaf3, 0x01418182, 0x018938e0, 0x00024983, 0x016c85bb, 0x01c0b7b1, 0x03b655d7, 0x014f7c3e, 0x0219a5b2, 0x0009c6c9}}, Y: Field{[10]uint32{0x02cd2ce5, 0x0326924f, 0x03bd8d86, 0x039756bc, 0x0172bca7, 0x02af9564, 0x01bd1746, 0x023c9f73, 0x03fc22cb, 0x0016333c}}}, + {X: Field{[10]uint32{0x0170ae16, 0x03077f41, 0x0036ad90, 0x00c24b2b, 0x021202ba, 0x01c8753c, 0x001800ce, 0x025d0436, 0x002b20c7, 0x0032784e}}, Y: Field{[10]uint32{0x0231e5b2, 0x0084ee04, 0x003f690d, 0x03ec3e69, 0x016f7a0d, 0x035e65d2, 0x012f7070, 0x033a80ea, 0x00ab2a47, 0x001fac7f}}}, + {X: Field{[10]uint32{0x000309f2, 0x00250780, 0x03decb1e, 0x01aa2f51, 0x0145897e, 0x00ad2251, 0x018cb751, 0x00a81075, 0x03256523, 0x000015d2}}, Y: Field{[10]uint32{0x024615a9, 0x02cebe3f, 0x03b72038, 0x03eb0ad7, 0x03474db8, 0x02a72774, 0x03bf2cc6, 0x01d2fe4f, 0x02a9567d, 0x002efee1}}}, + {X: Field{[10]uint32{0x03046c38, 0x02354218, 0x012b4a98, 0x03b1a54f, 0x021135e7, 0x037fdb15, 0x0120e004, 0x017b692d, 0x02aca630, 0x0027bfa1}}, Y: Field{[10]uint32{0x02e9af70, 0x02b60c6a, 0x02e42551, 0x01e646a6, 0x027afa4f, 0x030ed362, 0x03cbe67e, 0x002062bd, 0x029132cb, 0x0013e4a8}}}, + {X: Field{[10]uint32{0x0013f254, 0x028b72f6, 0x0328413a, 0x03e8cf61, 0x02df26ca, 0x0024639a, 0x00bf4c3d, 0x03e85cdd, 0x00a0ff76, 0x0020ba92}}, Y: Field{[10]uint32{0x032ac9f2, 0x021ac76f, 0x038e4a70, 0x03589b77, 0x0049b4c2, 0x005ea254, 0x01e1ca14, 0x0156a8e7, 0x01399bb5, 0x001a80a5}}}, + {X: Field{[10]uint32{0x01d2baaa, 0x0379d56f, 0x01f4f5fb, 0x03af78ca, 0x03e3af2f, 0x02982b7e, 0x0352a24b, 0x02c1b0c4, 0x003e817b, 0x0030a252}}, Y: Field{[10]uint32{0x00780a53, 0x00e87387, 0x005c04b1, 0x017b065a, 0x039c4994, 0x03fad657, 0x036854a1, 0x03b3bd8a, 0x010d8b4a, 0x000edfba}}}, + {X: Field{[10]uint32{0x02e12cc4, 0x01d02d25, 0x0030001c, 0x01835e2a, 0x02016986, 0x02c161ed, 0x028deb31, 0x003563a9, 0x02cbb558, 0x001af791}}, Y: Field{[10]uint32{0x01293292, 0x01baccba, 0x02d91e09, 0x0173450b, 0x020a41cc, 0x031e741d, 0x014ce750, 0x0059a922, 0x02a7c1cd, 0x000c6229}}}, + {X: Field{[10]uint32{0x01827cf4, 0x026b07d9, 0x00bdf451, 0x023e819b, 0x01017673, 0x01bf5d5c, 0x030a11d6, 0x0185795f, 0x03ae2844, 0x003474a8}}, Y: Field{[10]uint32{0x03f603db, 0x018c4899, 0x02ee70f9, 0x00d971f6, 0x038271f9, 0x014558ba, 0x03697d7c, 0x03065a2d, 0x03f70c01, 0x001f033f}}}, + {X: Field{[10]uint32{0x0227370a, 0x0057b5ee, 0x00be8f65, 0x02233ea8, 0x00e276b0, 0x02afe697, 0x0151c852, 0x01555ced, 0x00874d19, 0x002dd303}}, Y: Field{[10]uint32{0x01a662ab, 0x003c7dd1, 0x031b551e, 0x01784535, 0x026f0c32, 0x0313b630, 0x01e307be, 0x015c7bf9, 0x030e380c, 0x00003c32}}}, + {X: Field{[10]uint32{0x01015874, 0x0109827e, 0x0298f47d, 0x01deebb8, 0x00849500, 0x00c5f846, 0x03c30412, 0x01b0fe85, 0x039a9f12, 0x002a69c6}}, Y: Field{[10]uint32{0x002e0586, 0x0130a9a9, 0x020f08f3, 0x01fd5448, 0x03f1b113, 0x018d33b3, 0x024be1df, 0x03c32dfe, 0x03fdb31b, 0x003017cf}}}, + {X: Field{[10]uint32{0x00dbc68c, 0x0089d2a0, 0x01c259b0, 0x03e8fe88, 0x032b1b99, 0x02cfe08e, 0x03514162, 0x007c9f76, 0x01530a16, 0x0035b784}}, Y: Field{[10]uint32{0x0059764a, 0x03202f6f, 0x02215348, 0x018539d9, 0x00714fab, 0x02b2f7bf, 0x0015d259, 0x021697bb, 0x00636597, 0x001b1882}}}, + {X: Field{[10]uint32{0x036b73f1, 0x024a9d1d, 0x016df112, 0x00d80a9e, 0x0273a7dc, 0x016521fe, 0x038c22f3, 0x03297147, 0x01bc3acd, 0x00372a87}}, Y: Field{[10]uint32{0x00c85159, 0x0312a3c3, 0x035147c8, 0x026a5631, 0x01b4b4d4, 0x005c545e, 0x033719b0, 0x0181ed20, 0x01fcc22c, 0x0037104c}}}, + {X: Field{[10]uint32{0x0005ab6c, 0x01a89100, 0x01d21220, 0x00025526, 0x015f3a13, 0x01dc2535, 0x03aa93c6, 0x02f84c70, 0x03a000c4, 0x0004d54d}}, Y: Field{[10]uint32{0x00fb0f69, 0x00bc1159, 0x0333048c, 0x033f8d20, 0x0308f3eb, 0x03548dc2, 0x01f0d1dd, 0x037d9ccd, 0x031fd2d3, 0x001fbda7}}}, + {X: Field{[10]uint32{0x01de93ac, 0x03fa760e, 0x0004afb3, 0x03957a7a, 0x02751dd6, 0x00ff666b, 0x01572bbe, 0x018b9933, 0x0017c232, 0x000a3c76}}, Y: Field{[10]uint32{0x01e2cb7e, 0x00a6d20e, 0x01cb0970, 0x022f5079, 0x008f5dfe, 0x01f20d6b, 0x02e0e896, 0x00f690b6, 0x0061987e, 0x000093d6}}}, + {X: Field{[10]uint32{0x00294289, 0x03384d51, 0x001e25f8, 0x021e6b59, 0x03e0779b, 0x002040b7, 0x0331155c, 0x02dfee3a, 0x03836e8f, 0x003df13b}}, Y: Field{[10]uint32{0x036bce2c, 0x026593c7, 0x020d1362, 0x008da55e, 0x0216470d, 0x01bae5a0, 0x0150f091, 0x02588758, 0x0381db33, 0x0001fe69}}}, + {X: Field{[10]uint32{0x0228b3e6, 0x02a3d986, 0x03aeda8d, 0x0061444b, 0x00ddc8d0, 0x0169cd75, 0x0366f7e2, 0x026cd462, 0x025e1ddc, 0x003c7d6b}}, Y: Field{[10]uint32{0x01ad4288, 0x036777ee, 0x03cb41c6, 0x0218fb6d, 0x035c5c34, 0x013f9ea3, 0x024a8df2, 0x01360142, 0x012c9792, 0x00276ffc}}}, + {X: Field{[10]uint32{0x008b654f, 0x03ef5cc0, 0x0027dc2a, 0x0287ad96, 0x01257c10, 0x015e2d8e, 0x020dbc74, 0x033a7072, 0x0173d170, 0x00257e0c}}, Y: Field{[10]uint32{0x03412487, 0x03472f00, 0x035b8b75, 0x00edefb8, 0x017d5ab8, 0x01a4628c, 0x03c3c91c, 0x012a2104, 0x02bc0829, 0x0018ea0f}}}, + {X: Field{[10]uint32{0x023ff750, 0x020f025a, 0x03a7df8c, 0x00d646f8, 0x03964749, 0x01f58154, 0x008c8e37, 0x017847ae, 0x025c9f09, 0x003d2b69}}, Y: Field{[10]uint32{0x01861ed3, 0x0146972b, 0x0178d3ac, 0x01d86c37, 0x012ede16, 0x036f3129, 0x00bc87c3, 0x0116cb9b, 0x0328a385, 0x0039da0f}}}, + {X: Field{[10]uint32{0x019e5fd2, 0x039eb90a, 0x00fd03af, 0x015b64e5, 0x0040b827, 0x0371ef09, 0x03bcd591, 0x036cec6d, 0x0096f714, 0x00106beb}}, Y: Field{[10]uint32{0x0099fedc, 0x03a691c1, 0x02f20474, 0x0001769e, 0x0061c52d, 0x03195291, 0x02e98aea, 0x03fc4909, 0x006a3292, 0x00270ba7}}}, + {X: Field{[10]uint32{0x00487405, 0x02a85bba, 0x03ffd0cc, 0x03f710bc, 0x01e1b8df, 0x0328d7c3, 0x0141fe9c, 0x00726d86, 0x031b2cb8, 0x000dfcc2}}, Y: Field{[10]uint32{0x00b88a0f, 0x00755363, 0x022bb61b, 0x00f29326, 0x018086bb, 0x0021ad92, 0x03dd08e1, 0x00754767, 0x0285e340, 0x0024afde}}}, + {X: Field{[10]uint32{0x004fb3ce, 0x0181c596, 0x0205b9d7, 0x02651530, 0x03605a21, 0x0338323a, 0x01312022, 0x01faa885, 0x0166646e, 0x000bd5dc}}, Y: Field{[10]uint32{0x03d5f446, 0x019f7fc0, 0x00ee0985, 0x036bb589, 0x01af32e8, 0x03412e5a, 0x020dc684, 0x033ab56b, 0x026fe43d, 0x003c35cc}}}, + {X: Field{[10]uint32{0x00b5150a, 0x01f96e99, 0x03e7dfd5, 0x03fc2fe7, 0x003c2e24, 0x02bff6fe, 0x03a0af94, 0x0144ad7a, 0x038092c5, 0x0022aef1}}, Y: Field{[10]uint32{0x02896b75, 0x0059f5fd, 0x0232791a, 0x03b12454, 0x010bb87d, 0x03fb33db, 0x015b974f, 0x03066a92, 0x018f0c2e, 0x00163d66}}}, + {X: Field{[10]uint32{0x0147571c, 0x03741970, 0x00aed219, 0x03d70a04, 0x00f6da7c, 0x01f95f3f, 0x0073fe40, 0x01dacc9f, 0x028fa013, 0x003906b3}}, Y: Field{[10]uint32{0x036844a2, 0x02a52fdd, 0x027a37d8, 0x01146584, 0x01715d45, 0x01cbe639, 0x02d04592, 0x01c530c8, 0x02da3c2a, 0x002d642a}}}, + {X: Field{[10]uint32{0x010f1d88, 0x00533662, 0x03b5abe7, 0x03f2767a, 0x017c0c84, 0x00491e27, 0x0180f7f4, 0x0157bb77, 0x00778b63, 0x000c0326}}, Y: Field{[10]uint32{0x039c9002, 0x017a4ef8, 0x0138520f, 0x01b20d37, 0x0068c507, 0x03869ee0, 0x00f5c7a4, 0x021cc432, 0x0262c571, 0x0036b0ae}}}, + {X: Field{[10]uint32{0x02e24c61, 0x0205c1c4, 0x01b5c876, 0x008c9b28, 0x03dcdb66, 0x01e1db0f, 0x02072c1f, 0x003e1096, 0x01d219d4, 0x001a78ce}}, Y: Field{[10]uint32{0x00babc50, 0x002e1b4e, 0x005a1bad, 0x02024dd0, 0x014cd472, 0x02d4d648, 0x017e8499, 0x011c0085, 0x015059a4, 0x002350e4}}}, + {X: Field{[10]uint32{0x03bdb909, 0x03752132, 0x0346da2f, 0x027d47f1, 0x00cddd77, 0x007eaded, 0x033ccf64, 0x02a67e2a, 0x03df8e47, 0x00395924}}, Y: Field{[10]uint32{0x03f5ee59, 0x012728f8, 0x01145b6e, 0x0275d630, 0x01974531, 0x0107062d, 0x0006036d, 0x0053fb42, 0x020a559e, 0x001a36e8}}}, + {X: Field{[10]uint32{0x03f50587, 0x0134e379, 0x01c611a3, 0x03795d36, 0x00f76532, 0x01b803ac, 0x01c11e58, 0x0144734e, 0x00578998, 0x000dea47}}, Y: Field{[10]uint32{0x03145f18, 0x007710ec, 0x0381ee5d, 0x0042ae74, 0x01feac27, 0x00276a25, 0x01975dc0, 0x022891cd, 0x00af0d2d, 0x0038e862}}}, + {X: Field{[10]uint32{0x02e88c1f, 0x0149d0b7, 0x0124a86c, 0x01bd9793, 0x02622401, 0x02535e0e, 0x00629c71, 0x018b844b, 0x01fb5cc2, 0x00317c16}}, Y: Field{[10]uint32{0x038c890a, 0x0155e3ec, 0x00623ab1, 0x00147be8, 0x018c0907, 0x0242d1b5, 0x037792d5, 0x02a56945, 0x03521a96, 0x0007216f}}}, + {X: Field{[10]uint32{0x038716a1, 0x01e24926, 0x01827626, 0x018fca11, 0x03c6323c, 0x021006b3, 0x018c59d7, 0x033ac68a, 0x02ccd605, 0x00159bb7}}, Y: Field{[10]uint32{0x0244cc90, 0x0018b516, 0x010a15ad, 0x02bf0080, 0x038c40b3, 0x00b4ccbf, 0x01f85b93, 0x01bc81e2, 0x03735adf, 0x003b8344}}}, + {X: Field{[10]uint32{0x032c7c7b, 0x027337b6, 0x034c8db6, 0x038b0fae, 0x023e6cf4, 0x0332d190, 0x012e33db, 0x013e1c01, 0x0033c6ef, 0x000c9f9c}}, Y: Field{[10]uint32{0x03e8db36, 0x0385ba54, 0x012634aa, 0x00e7def6, 0x00122662, 0x0026bac7, 0x023e2667, 0x03ca6d2a, 0x012b2be0, 0x003f1242}}}, + {X: Field{[10]uint32{0x03778024, 0x039c0265, 0x01e1a1ea, 0x038a317d, 0x0284ef5a, 0x029b2bfd, 0x0329704e, 0x02b21957, 0x03693ac0, 0x0026269f}}, Y: Field{[10]uint32{0x00dadfd0, 0x01ed90a0, 0x0292bd1b, 0x035cec2c, 0x00e8eb1f, 0x02b3fa99, 0x03b5bd44, 0x011639d2, 0x027b3396, 0x0015cf44}}}, + {X: Field{[10]uint32{0x0330fc94, 0x00b31842, 0x019769c2, 0x03e92999, 0x037ce313, 0x013d2695, 0x01cec4b7, 0x01fd53b4, 0x032f14f2, 0x002729d9}}, Y: Field{[10]uint32{0x0104e4a1, 0x01b283ce, 0x011dcd2d, 0x0013bbb0, 0x006ab141, 0x00b7e34c, 0x0003f818, 0x00a928c2, 0x00d731d5, 0x003e4831}}}, + {X: Field{[10]uint32{0x0047f5f5, 0x0155579e, 0x030cde1d, 0x0143b4bb, 0x02060978, 0x01f89c86, 0x00316871, 0x03a38656, 0x0245654f, 0x0036c401}}, Y: Field{[10]uint32{0x01056567, 0x02064a0c, 0x0014c962, 0x033b9d14, 0x02619287, 0x03ddb22d, 0x03cdf895, 0x003b3cd3, 0x02cea9c9, 0x000acb0f}}}, + {X: Field{[10]uint32{0x013295a9, 0x01340335, 0x01c07bb9, 0x03e9949a, 0x02418a34, 0x00effc53, 0x02110a8f, 0x00ed0979, 0x009e8274, 0x00138a83}}, Y: Field{[10]uint32{0x00ccca7a, 0x02cb138f, 0x014b3d98, 0x03b237e8, 0x008a34e5, 0x028eb1a7, 0x00b90590, 0x02c12dad, 0x02e3e00b, 0x00144ab0}}}, + {X: Field{[10]uint32{0x02ac77f6, 0x010d4bd9, 0x0368d733, 0x01dca50e, 0x0060c71a, 0x0217ec73, 0x0136f981, 0x022b2c14, 0x037024ea, 0x00304acf}}, Y: Field{[10]uint32{0x02544803, 0x01ef77c0, 0x033239c0, 0x02560cc9, 0x020d67a1, 0x03ef8949, 0x009f5a7b, 0x01dbc07c, 0x019b6f4b, 0x002de67e}}}, + {X: Field{[10]uint32{0x03fd7e58, 0x01551923, 0x003feaa7, 0x020afe9e, 0x03d6c09b, 0x005904ff, 0x017c0cf6, 0x013877af, 0x022edaf3, 0x00019396}}, Y: Field{[10]uint32{0x002f4a50, 0x0147cd0f, 0x004ff726, 0x0292d461, 0x027509a2, 0x037c249b, 0x005d611a, 0x00cb8ba4, 0x020966f0, 0x00038083}}}, + {X: Field{[10]uint32{0x030a838a, 0x0102254f, 0x03b9fef0, 0x015cb3ec, 0x013d66ec, 0x000fc0b7, 0x02d1857e, 0x010e03da, 0x0355fa73, 0x000ac2e2}}, Y: Field{[10]uint32{0x0273a61a, 0x02404f67, 0x024765bd, 0x0070d023, 0x00147ce0, 0x00722029, 0x00b45bae, 0x01965e38, 0x0251a914, 0x002b225c}}}, + {X: Field{[10]uint32{0x0288525e, 0x01e24c0a, 0x00c5bd67, 0x02d07bf5, 0x016523e8, 0x0196a59e, 0x02545299, 0x0184cf4e, 0x0130a202, 0x002b838f}}, Y: Field{[10]uint32{0x00f80552, 0x0177ed4e, 0x03ee97ec, 0x01f7687b, 0x00c80c08, 0x00e6ac98, 0x00be67b3, 0x00b49094, 0x00ff8563, 0x003eda46}}}, + {X: Field{[10]uint32{0x03e00dd9, 0x037a18a3, 0x03454a83, 0x00c3b7c8, 0x033bfa15, 0x0007d130, 0x02e46cb0, 0x02859bfe, 0x03114dfe, 0x000bfe71}}, Y: Field{[10]uint32{0x03318783, 0x03a0b11b, 0x027599b5, 0x001ef483, 0x01acb0d7, 0x02065717, 0x02383517, 0x00605e8f, 0x027a0444, 0x00014fd9}}}, + {X: Field{[10]uint32{0x027bf695, 0x02c45a93, 0x017263ed, 0x0393067d, 0x019e2614, 0x010ac512, 0x003f60cc, 0x01671b01, 0x001488b9, 0x0033009c}}, Y: Field{[10]uint32{0x03b6007a, 0x00b99296, 0x01fe2e57, 0x017080db, 0x0307b532, 0x012697c1, 0x02ce6551, 0x03d9dd99, 0x01909b22, 0x003aacfd}}}, + {X: Field{[10]uint32{0x00a945d5, 0x01a2fa0a, 0x0145584d, 0x016bc067, 0x03f9dbf4, 0x02125749, 0x03e3b476, 0x00d6997b, 0x03d13c80, 0x0006007b}}, Y: Field{[10]uint32{0x0259c4fe, 0x02f686fe, 0x005681ac, 0x02f382da, 0x03f44a5a, 0x026a0be2, 0x02f49d50, 0x025a3bd3, 0x019efcb5, 0x0037fcb4}}}, + {X: Field{[10]uint32{0x00dd7cbf, 0x02de3f0f, 0x03f8be6a, 0x038db9d1, 0x015b698f, 0x031eaeaf, 0x03c09de4, 0x002588d5, 0x01d507b6, 0x001b68aa}}, Y: Field{[10]uint32{0x0275060c, 0x016f7338, 0x00378d50, 0x020a66b3, 0x0171310b, 0x00df02bc, 0x01ac9f9b, 0x022b88a5, 0x02704aeb, 0x000789d3}}}, + {X: Field{[10]uint32{0x02fc82e4, 0x02846b6e, 0x0344c832, 0x00e86a67, 0x00c7dfe2, 0x02a513fc, 0x039e8a6e, 0x005774ef, 0x016f6a92, 0x001fa3f2}}, Y: Field{[10]uint32{0x01342bff, 0x021cb8ec, 0x02d51ddc, 0x000ea023, 0x0257d095, 0x018fce21, 0x039ed00c, 0x01b29fdc, 0x03e1e0c2, 0x003a693e}}}, + {X: Field{[10]uint32{0x020caf64, 0x02ed121f, 0x00f27559, 0x00cdc633, 0x019f53e1, 0x021c1d90, 0x0266ab37, 0x035bdff8, 0x033a77d6, 0x00298d8b}}, Y: Field{[10]uint32{0x02cc787e, 0x02135874, 0x00d70087, 0x00e7d1cf, 0x03e29d85, 0x019bdd46, 0x025cd860, 0x00e17182, 0x02da3fc2, 0x00300588}}}, + {X: Field{[10]uint32{0x0337d2b3, 0x01c01d66, 0x01557449, 0x0154df09, 0x018582bd, 0x001db06a, 0x01a19b47, 0x01d24e8f, 0x022228b4, 0x00146194}}, Y: Field{[10]uint32{0x00287be1, 0x02bef411, 0x01ad17d0, 0x02e14914, 0x02826558, 0x01032e33, 0x03ca65bf, 0x0236764f, 0x01796863, 0x003c3c2e}}}, + {X: Field{[10]uint32{0x01d472ce, 0x02f0f460, 0x028e67e8, 0x004a7a3b, 0x0304d802, 0x01c6656a, 0x0314ff4f, 0x02e70e31, 0x009ba9f1, 0x0028a824}}, Y: Field{[10]uint32{0x0040068d, 0x03d717bb, 0x01a6a1e8, 0x007b3649, 0x028b364d, 0x03114ce4, 0x03fdf98e, 0x031efdc6, 0x000bd45e, 0x001048e4}}}, + {X: Field{[10]uint32{0x003aef2d, 0x00c7e1ee, 0x009212b0, 0x03abe7c3, 0x02f1357b, 0x006fe5e7, 0x03f5ac2a, 0x01fcda98, 0x0122454e, 0x00369460}}, Y: Field{[10]uint32{0x006da722, 0x0363cdda, 0x00b32b6b, 0x03e2e683, 0x016cb7f3, 0x02e7762e, 0x0028c5e1, 0x017a0032, 0x02fd0d41, 0x002fe1df}}}, + {X: Field{[10]uint32{0x0147a87d, 0x035d418e, 0x0382e6cb, 0x001b520f, 0x008a6983, 0x004316a9, 0x01aa5729, 0x00c49796, 0x00541a98, 0x00107103}}, Y: Field{[10]uint32{0x03bfc57f, 0x01bc4068, 0x00c814e8, 0x00cf0c3d, 0x03ef8400, 0x03ef7d79, 0x029f129f, 0x02442aee, 0x03656b89, 0x001db6ae}}}, + {X: Field{[10]uint32{0x02addbfd, 0x00267326, 0x01318709, 0x01322290, 0x0028745e, 0x03314362, 0x007c980a, 0x039191a1, 0x028387f2, 0x003127f7}}, Y: Field{[10]uint32{0x027227e1, 0x01231fab, 0x03a94bbb, 0x03b99847, 0x00c7ddb4, 0x00a2f9fe, 0x00baf9e6, 0x01ef4de7, 0x0112dfd0, 0x002996f1}}}, + {X: Field{[10]uint32{0x020fceae, 0x03c060c3, 0x010717a1, 0x0223a314, 0x023a6c6b, 0x035edd09, 0x03219406, 0x01d0f537, 0x0161b6ee, 0x00216c5f}}, Y: Field{[10]uint32{0x01868fef, 0x00c24b95, 0x02be892d, 0x00f9c13d, 0x03ebddc5, 0x03d2ffee, 0x006ce022, 0x007fad41, 0x00a274c7, 0x0008ae7a}}}, + {X: Field{[10]uint32{0x0117964f, 0x03d7153c, 0x0243e883, 0x030b2353, 0x023914af, 0x00158e7b, 0x03521895, 0x01dfc4f9, 0x037fe6d6, 0x00323874}}, Y: Field{[10]uint32{0x01bfc21e, 0x02b56ace, 0x008e4f88, 0x02d0daad, 0x03ee4a7a, 0x007e6525, 0x006ba559, 0x016a46bd, 0x0118d08f, 0x002c32b3}}}, + {X: Field{[10]uint32{0x0083836b, 0x001e29f9, 0x02dd9866, 0x02802e5e, 0x011a30ba, 0x00c44a65, 0x03d6f833, 0x02223169, 0x00307d25, 0x0037fb00}}, Y: Field{[10]uint32{0x02faa00d, 0x004ea42e, 0x0380956e, 0x002dbee5, 0x00f407ca, 0x00abe391, 0x00664168, 0x02511fbd, 0x0206bf2e, 0x001396a2}}}, + {X: Field{[10]uint32{0x030be9d6, 0x02535fdf, 0x00b20925, 0x01b97d35, 0x02c842ff, 0x0274c1db, 0x017618dc, 0x03631bbb, 0x00387c18, 0x003ab1b1}}, Y: Field{[10]uint32{0x0265b8d1, 0x008e9ac8, 0x021634e8, 0x019f5cd2, 0x0177a86a, 0x003fbaef, 0x031802ac, 0x006e0ae9, 0x03bffc0c, 0x000675a6}}}, + {X: Field{[10]uint32{0x03424cde, 0x0108046c, 0x019b74d6, 0x005672f2, 0x0069432c, 0x01fdab20, 0x0024db79, 0x0377b292, 0x004e04dc, 0x0027fce3}}, Y: Field{[10]uint32{0x01619ebc, 0x018886d4, 0x014f91d2, 0x0106e53d, 0x01266bd0, 0x033212e0, 0x005b0c93, 0x02effb7d, 0x0260b7c1, 0x003dcbe9}}}, + {X: Field{[10]uint32{0x01313f36, 0x03f19129, 0x02c1c146, 0x0277512c, 0x019153f6, 0x03f8a155, 0x01e4f8c4, 0x00ca4d7e, 0x013f3a5a, 0x00179e16}}, Y: Field{[10]uint32{0x02fd9c47, 0x02a6e6a2, 0x0114b89d, 0x02986cb4, 0x0358cbc5, 0x01758f25, 0x0195b700, 0x02f746cb, 0x0044dc63, 0x00276756}}}, + {X: Field{[10]uint32{0x01009ae4, 0x0321511c, 0x01b32d22, 0x0121debe, 0x020ad31a, 0x00f88870, 0x01ba38b0, 0x012dbec0, 0x03a48928, 0x002841f1}}, Y: Field{[10]uint32{0x03d9f6b5, 0x030da689, 0x014c4a0f, 0x002f1457, 0x03653b58, 0x0303e7ca, 0x0386cd5b, 0x019647b8, 0x02d46be4, 0x0001981c}}}, + {X: Field{[10]uint32{0x01b02af1, 0x03397e90, 0x028f4190, 0x023b308e, 0x02ff98e8, 0x01e4a65d, 0x02445ba6, 0x026117f8, 0x01d0308d, 0x0000907c}}, Y: Field{[10]uint32{0x03e194a9, 0x02dfaa29, 0x01c74366, 0x03bb16b2, 0x0209c881, 0x02be474c, 0x015723ad, 0x02a237e8, 0x03ecd413, 0x002219a5}}}, + {X: Field{[10]uint32{0x008a72fa, 0x02431af9, 0x01283c87, 0x005a2e6a, 0x02341860, 0x03ab0ed0, 0x015c6d26, 0x0241ba0f, 0x00d2627f, 0x000c67ba}}, Y: Field{[10]uint32{0x029eaa57, 0x033109cf, 0x032819d0, 0x014c197e, 0x01760344, 0x032d1631, 0x009f8491, 0x005b80d0, 0x02eda678, 0x00167925}}}, + {X: Field{[10]uint32{0x03ca4822, 0x0051896f, 0x038e1a26, 0x019864a1, 0x01e01008, 0x01a615d6, 0x03f4f7e9, 0x03e6f64d, 0x011a00fd, 0x000619a0}}, Y: Field{[10]uint32{0x01b7ae19, 0x01449a75, 0x0250172e, 0x00646990, 0x00585f03, 0x02d97e9f, 0x003a1316, 0x0272209e, 0x0065e85f, 0x00085781}}}, + {X: Field{[10]uint32{0x03992f26, 0x00bdda54, 0x00ce69ff, 0x016bdce5, 0x01398967, 0x033d9026, 0x03429fb8, 0x02400176, 0x02d70b94, 0x001fbfef}}, Y: Field{[10]uint32{0x00c7c749, 0x0026b210, 0x02aa7a1d, 0x01ab1b34, 0x03616d8b, 0x02fcb702, 0x016affac, 0x01b52d49, 0x01ba28f2, 0x001bbeed}}}, + {X: Field{[10]uint32{0x03168867, 0x0293494a, 0x00bf0957, 0x0199c3c5, 0x02665c8d, 0x00de54ac, 0x02e45c19, 0x0057c87f, 0x03d0e593, 0x003631ca}}, Y: Field{[10]uint32{0x0256fbcd, 0x011b186f, 0x02e6e5a9, 0x006cb266, 0x028a2da3, 0x01cff182, 0x01e2cc3a, 0x0029bf44, 0x0162fdd4, 0x0019300b}}}, + {X: Field{[10]uint32{0x00d0db4b, 0x0060c206, 0x0147abcf, 0x0147ead3, 0x0187bbfd, 0x002c35a4, 0x0396bbcb, 0x03ce050e, 0x0222ce64, 0x001c43b1}}, Y: Field{[10]uint32{0x0134d994, 0x00cc5391, 0x030c5496, 0x00dafaae, 0x013d275c, 0x0243d4c7, 0x029b9618, 0x00ebc30b, 0x0086526c, 0x003b7f44}}}, + {X: Field{[10]uint32{0x00d51ca6, 0x0131654c, 0x0334868e, 0x009e7930, 0x0370574f, 0x02021b76, 0x0168e763, 0x03b75270, 0x024b9aea, 0x002509e5}}, Y: Field{[10]uint32{0x004e2dd8, 0x00298457, 0x017af730, 0x03a9a131, 0x01e0026b, 0x00a160f6, 0x03b312e9, 0x00019fac, 0x01cf2a6b, 0x000442d0}}}, + {X: Field{[10]uint32{0x0355565f, 0x0166ce63, 0x00a5c46a, 0x00597aa9, 0x01c5a2e8, 0x036d8859, 0x03515c06, 0x03b6727a, 0x0035a8b3, 0x002bbde5}}, Y: Field{[10]uint32{0x0184b91d, 0x02c5e915, 0x012a0118, 0x0044f0d5, 0x03036535, 0x0250aaac, 0x00cb93d8, 0x03109714, 0x00f21274, 0x001985ba}}}, + {X: Field{[10]uint32{0x0074b5a3, 0x0319fccc, 0x03994a4a, 0x0339296b, 0x020f49f0, 0x0275cbc9, 0x03401935, 0x0018e9a3, 0x00323546, 0x000faf76}}, Y: Field{[10]uint32{0x00460238, 0x0254019e, 0x019beed8, 0x03cb238b, 0x02db7962, 0x00e575c4, 0x02ba318f, 0x0127bb43, 0x03d4b295, 0x000048d9}}}, + {X: Field{[10]uint32{0x026aeff2, 0x02d01790, 0x020dd729, 0x03894d35, 0x0019af86, 0x019cf212, 0x03c6bc3b, 0x0021c742, 0x025ec52b, 0x0028e367}}, Y: Field{[10]uint32{0x032cad02, 0x031d7a7c, 0x02a1cb01, 0x00a22b0d, 0x01f6d134, 0x03237935, 0x00955383, 0x01b1744e, 0x0371d9ae, 0x003af919}}}, + {X: Field{[10]uint32{0x00a7d624, 0x03b0d092, 0x01b0f9f4, 0x02845a40, 0x02334369, 0x0114b2e3, 0x00407f7b, 0x02ec6643, 0x0382619c, 0x0039f4a7}}, Y: Field{[10]uint32{0x03c4e614, 0x03b16d67, 0x02e0742b, 0x0052aa3b, 0x0315b6ce, 0x0175d85b, 0x00ce2304, 0x014581ae, 0x02d4618b, 0x001d6573}}}, + {X: Field{[10]uint32{0x0043ceae, 0x033bf3d0, 0x004edf81, 0x01738fa3, 0x007523de, 0x00063c03, 0x02333e26, 0x009ee52b, 0x02b02792, 0x003b21a7}}, Y: Field{[10]uint32{0x011ac92b, 0x02e9f71c, 0x01556ec6, 0x01dd9040, 0x03ca3fe5, 0x0399f60a, 0x00bdd264, 0x03210692, 0x02552c89, 0x0029086a}}}, + {X: Field{[10]uint32{0x02ec5e71, 0x003fcd71, 0x03ae7c07, 0x00f3809b, 0x026f0752, 0x01128d4a, 0x005c0571, 0x02322dbf, 0x0108e44a, 0x00115276}}, Y: Field{[10]uint32{0x02b5dd7a, 0x0044e2de, 0x0240f44c, 0x000069b5, 0x0164b486, 0x00b2371e, 0x0208c19e, 0x01f81040, 0x03200770, 0x001c7638}}}, + {X: Field{[10]uint32{0x01b070b2, 0x00512c29, 0x0385ff98, 0x00f4596c, 0x032cc7a5, 0x038501ac, 0x024f3813, 0x02e326c2, 0x029efef7, 0x00146edb}}, Y: Field{[10]uint32{0x0067044e, 0x0255ad69, 0x03befde5, 0x0372ab7c, 0x015268ee, 0x011b7df3, 0x031de11d, 0x013f4228, 0x03e9dd79, 0x00194a0a}}}, + {X: Field{[10]uint32{0x016d001f, 0x00fae81a, 0x013e45a8, 0x03536458, 0x02aa2027, 0x01239897, 0x0203afcd, 0x02aa0910, 0x02974c7c, 0x001f370c}}, Y: Field{[10]uint32{0x03519565, 0x014d2420, 0x00a36192, 0x0045b0b3, 0x026060a4, 0x00a27968, 0x00027a7a, 0x0156cede, 0x01433b1a, 0x002e4ae6}}}, + {X: Field{[10]uint32{0x009c9314, 0x02655d58, 0x02fc9030, 0x02e84051, 0x02aa478f, 0x0205e9af, 0x03722f6d, 0x0226da99, 0x02beb8e9, 0x000f2a71}}, Y: Field{[10]uint32{0x02ca2c0f, 0x01fc25b3, 0x00e4d6bb, 0x036af452, 0x0074c6e0, 0x0049328c, 0x006bba34, 0x006f0e0e, 0x017ff4b8, 0x001540bb}}}, + {X: Field{[10]uint32{0x01354d0c, 0x00447a2b, 0x00436864, 0x00a73248, 0x0390e1a2, 0x023b5798, 0x01bc1c83, 0x032b6bc0, 0x026c45ed, 0x002a8aaf}}, Y: Field{[10]uint32{0x0024f6cd, 0x03727cbe, 0x00d47c44, 0x02a21c55, 0x0295bb3d, 0x006e8ac9, 0x0061251f, 0x00c12893, 0x01c66f91, 0x0006e08a}}}, + {X: Field{[10]uint32{0x023bc7ee, 0x01a4db63, 0x0375a2ab, 0x02b7ef9b, 0x0375466a, 0x03dced83, 0x01f226de, 0x027564c6, 0x023df28c, 0x002d4b2b}}, Y: Field{[10]uint32{0x03cfe220, 0x00b6e222, 0x03a3a446, 0x0164b85f, 0x02421e07, 0x029f2562, 0x00738488, 0x00247732, 0x035e022c, 0x003afb9c}}}, + {X: Field{[10]uint32{0x0021ef54, 0x036414ce, 0x01661838, 0x030d1ed9, 0x01635469, 0x00d2585a, 0x01a62832, 0x0372d84f, 0x030362a6, 0x00304215}}, Y: Field{[10]uint32{0x00eaf517, 0x033e6cd3, 0x01cdec38, 0x03760ade, 0x0044511c, 0x002b531f, 0x002cac14, 0x02a3acb7, 0x02c8c1e6, 0x003f9910}}}, + {X: Field{[10]uint32{0x0308c11d, 0x00e5976b, 0x00768d5a, 0x0334be9b, 0x0383477f, 0x01908a41, 0x01454765, 0x0049fd67, 0x011cfcaf, 0x003c27a7}}, Y: Field{[10]uint32{0x03c15d10, 0x03e593a2, 0x009a27e8, 0x018f3fb3, 0x01a5b2e6, 0x0175fbf6, 0x0028fc9c, 0x03ec56fd, 0x03221f44, 0x0003c069}}}, + {X: Field{[10]uint32{0x015c4527, 0x0309dfd2, 0x0341a036, 0x017f80f4, 0x03fd3e80, 0x035c6d65, 0x00b3b179, 0x00fafb62, 0x02ef1e47, 0x00180918}}, Y: Field{[10]uint32{0x03a079c3, 0x0387db58, 0x02ce2844, 0x02c7ae74, 0x02fed2a9, 0x00fc8567, 0x02d9f235, 0x00773aaa, 0x00617141, 0x003e476d}}}, + {X: Field{[10]uint32{0x01bb582d, 0x0065ff82, 0x03c70720, 0x004c25ae, 0x016b828d, 0x0049a883, 0x00ae3558, 0x0267e841, 0x001e8e0d, 0x0009cea2}}, Y: Field{[10]uint32{0x004b0d5d, 0x00d2869a, 0x003da295, 0x01d5e68b, 0x00d1b407, 0x03ddadb0, 0x03b2f727, 0x02e45334, 0x005814a7, 0x0016ec9b}}}, + {X: Field{[10]uint32{0x000cd54d, 0x03237cba, 0x03d9f566, 0x00107691, 0x01e8cd05, 0x01bf263e, 0x02f41723, 0x032dcad0, 0x03460616, 0x001f077c}}, Y: Field{[10]uint32{0x03c41dd7, 0x02b58c13, 0x033b9390, 0x00bb059d, 0x0073153c, 0x02f04956, 0x03a8d456, 0x02e6f916, 0x020dd602, 0x002b4f9f}}}, + {X: Field{[10]uint32{0x01942f94, 0x0319544f, 0x006d3c62, 0x02c14e5e, 0x039ad644, 0x033a002d, 0x014551f3, 0x03c451ce, 0x0234657f, 0x001e5b89}}, Y: Field{[10]uint32{0x014f1c60, 0x0331f0a8, 0x01b11bb1, 0x01aa1003, 0x001e8ec6, 0x00c02069, 0x0080eb9c, 0x01c44431, 0x0238ed58, 0x002d96ef}}}, + {X: Field{[10]uint32{0x02302bd1, 0x02f7b586, 0x00206193, 0x016d80bf, 0x0062b056, 0x029990b2, 0x029953a2, 0x03da2a91, 0x01fa9985, 0x001789d8}}, Y: Field{[10]uint32{0x0253e274, 0x036eb15c, 0x030b4713, 0x036adf50, 0x003715c9, 0x0144d9f4, 0x0347c070, 0x013d740b, 0x03709db2, 0x0016e826}}}, + {X: Field{[10]uint32{0x03abe794, 0x0049b153, 0x010e6164, 0x008a636e, 0x005c004c, 0x02891ad0, 0x01ab0385, 0x00683fac, 0x0092fd34, 0x00119163}}, Y: Field{[10]uint32{0x03446725, 0x028f7635, 0x033eaf02, 0x02bbbb3c, 0x029d018f, 0x018fc729, 0x02fc3242, 0x0106e162, 0x028b3453, 0x00021675}}}, + {X: Field{[10]uint32{0x01153265, 0x00de6960, 0x0152c5c7, 0x00d32fee, 0x00a410e1, 0x01bd3989, 0x009ddc3d, 0x01f073ff, 0x0030bf81, 0x003f1206}}, Y: Field{[10]uint32{0x01322551, 0x0289e1d6, 0x02169a43, 0x017eb3a3, 0x038dfe38, 0x03676d2a, 0x0248e89f, 0x01f68512, 0x0228bd3d, 0x0028622c}}}, + {X: Field{[10]uint32{0x02ed03e6, 0x00984357, 0x01901779, 0x019a012b, 0x033a7804, 0x038abb6f, 0x0302742c, 0x029540f1, 0x027d9771, 0x0010b65d}}, Y: Field{[10]uint32{0x02d50417, 0x03a87096, 0x003ece89, 0x01a34376, 0x03d2e0f5, 0x000b490c, 0x02c782be, 0x03ccdce8, 0x032e9764, 0x0037da50}}}, + {X: Field{[10]uint32{0x01477148, 0x00bd386e, 0x004dcdc7, 0x03f74a38, 0x02462dee, 0x0057b644, 0x02602226, 0x02ca5dcb, 0x0049993a, 0x000dc48b}}, Y: Field{[10]uint32{0x0196e39d, 0x00e08316, 0x0008ef1d, 0x037a9549, 0x02410b3e, 0x01900ae3, 0x00422cc3, 0x03ef0ea8, 0x00f0924c, 0x00189ffd}}}, + {X: Field{[10]uint32{0x006896c3, 0x003a8697, 0x00bb7314, 0x015e972e, 0x013619a5, 0x01db87ab, 0x03e52cca, 0x03f2f9d0, 0x018294ba, 0x00271520}}, Y: Field{[10]uint32{0x038f7fcc, 0x00efc16c, 0x014c50b5, 0x02cc8252, 0x02ec0478, 0x01c14130, 0x031dafbf, 0x0214a3b1, 0x032eb88e, 0x0017f311}}}, + {X: Field{[10]uint32{0x025a2db9, 0x01a6e03d, 0x02a077ae, 0x01ff58fc, 0x000a5927, 0x01c48d82, 0x004e0251, 0x007da5d7, 0x02d7aa5b, 0x001ee75e}}, Y: Field{[10]uint32{0x017d1bf8, 0x03587f43, 0x0012fabf, 0x01729d5a, 0x02c4a7f1, 0x01453b2b, 0x01c14d6f, 0x0288a740, 0x02e8714a, 0x001b3787}}}, + {X: Field{[10]uint32{0x00a9a102, 0x00737a96, 0x0153e017, 0x0141b1df, 0x026990e9, 0x0107820b, 0x016d948e, 0x01582b59, 0x02f2c985, 0x002bd776}}, Y: Field{[10]uint32{0x00a5b505, 0x01607e7b, 0x003f5fd4, 0x0123bfe5, 0x011f6853, 0x03385ad6, 0x0039ff76, 0x01bfcf12, 0x011b7289, 0x0038d211}}}, + {X: Field{[10]uint32{0x0111293d, 0x03b2da48, 0x029a395b, 0x02d0538a, 0x01d26394, 0x03834559, 0x03ab3662, 0x02f46417, 0x0318e957, 0x0010999f}}, Y: Field{[10]uint32{0x02bbc7a5, 0x00083559, 0x022a2e57, 0x02c6bb2a, 0x033c0076, 0x03f895e5, 0x03fb16c1, 0x02ed8d39, 0x02b269e9, 0x000a2374}}}, + {X: Field{[10]uint32{0x00b276d7, 0x01506dd0, 0x03618587, 0x01857966, 0x029be971, 0x00c99973, 0x002a5a6f, 0x020c99d3, 0x021d50ab, 0x0017a71e}}, Y: Field{[10]uint32{0x03a11f17, 0x02115b57, 0x035b1a29, 0x0063b822, 0x02ec4664, 0x031c1d12, 0x0292c612, 0x02bd08d0, 0x00611f39, 0x00248a0d}}}, + {X: Field{[10]uint32{0x03ed8b2a, 0x0293ca37, 0x03c489a2, 0x001a2d1a, 0x038b52b5, 0x02cc82e5, 0x00d9ac97, 0x02d608ad, 0x03faf486, 0x00263183}}, Y: Field{[10]uint32{0x005280f9, 0x01eca6dd, 0x0132b580, 0x0212bb70, 0x0170416d, 0x001bb6f9, 0x02f42fa3, 0x01255604, 0x0113c253, 0x00287098}}}, + {X: Field{[10]uint32{0x0385babc, 0x01d66770, 0x0116cf0a, 0x007f6199, 0x03f30948, 0x00d43969, 0x0286e71f, 0x00b364f0, 0x01821ed5, 0x0024afea}}, Y: Field{[10]uint32{0x02c1ddb4, 0x02ba7b6c, 0x03cb802f, 0x024a545a, 0x036f5276, 0x037f893d, 0x0254e738, 0x02d2c6de, 0x0396c71a, 0x0028ff25}}}, + {X: Field{[10]uint32{0x025b865f, 0x025ce0be, 0x018c4ec1, 0x02e40eec, 0x037b7798, 0x000ac30d, 0x02413e84, 0x02d67eb3, 0x0008bd8e, 0x0026f89d}}, Y: Field{[10]uint32{0x027a2f61, 0x03a2ff69, 0x00027f54, 0x00a54093, 0x02def3ec, 0x02ee4b77, 0x02ed2c81, 0x01a8e5a3, 0x01801964, 0x00044215}}}, + {X: Field{[10]uint32{0x036350bc, 0x02e711a5, 0x018275b1, 0x01676e79, 0x037751bc, 0x0302462f, 0x0391ce38, 0x02c165ad, 0x026cb7ba, 0x0009f35a}}, Y: Field{[10]uint32{0x03faeda8, 0x03e03ba0, 0x00011a16, 0x01353fad, 0x032f41d0, 0x01a19479, 0x03761df0, 0x00ab17c4, 0x01678fce, 0x00224354}}}, + {X: Field{[10]uint32{0x0068f2eb, 0x022073bd, 0x00e1f5d8, 0x00f25bcc, 0x035f22be, 0x00319918, 0x00f6597a, 0x0184e532, 0x014daaf9, 0x003a25b8}}, Y: Field{[10]uint32{0x0196030b, 0x027cacec, 0x027260bb, 0x02136b74, 0x02efea7e, 0x03622eb2, 0x00d971af, 0x006ac771, 0x00b0512c, 0x002fac01}}}, + {X: Field{[10]uint32{0x013f8ec0, 0x030359f9, 0x033da54e, 0x0226142e, 0x03a9dd23, 0x03eacb03, 0x00b3779e, 0x0150058d, 0x0269ac48, 0x000938b4}}, Y: Field{[10]uint32{0x0219e525, 0x026a9600, 0x02460892, 0x016f907e, 0x03f5beda, 0x018e8168, 0x03ca2ca6, 0x0353080e, 0x02c2642b, 0x00379c0b}}}, + {X: Field{[10]uint32{0x001d1676, 0x0367025a, 0x03db95a9, 0x00077829, 0x009b5c4d, 0x02c48694, 0x010159b4, 0x03279175, 0x03c948c1, 0x0025e989}}, Y: Field{[10]uint32{0x033203d9, 0x01fba49b, 0x00b9ffef, 0x03e69f24, 0x018d5f3c, 0x03d75708, 0x02d43037, 0x0270a7f2, 0x015b5539, 0x00066f42}}}, + {X: Field{[10]uint32{0x0195b08f, 0x0354dc1c, 0x0014b40b, 0x01807e82, 0x0033ed67, 0x0274f214, 0x03234c7f, 0x03b17ddd, 0x0251e604, 0x0029c360}}, Y: Field{[10]uint32{0x00bccc4f, 0x009b542b, 0x01f4e0e1, 0x0225aa16, 0x0385325a, 0x031c4350, 0x012c016a, 0x00f78fc5, 0x010774e2, 0x0037ca36}}}, + {X: Field{[10]uint32{0x0242f42b, 0x023056be, 0x0012ea7c, 0x025cdbcd, 0x0327743a, 0x00f5e2c5, 0x001a0071, 0x0191cb38, 0x00434b27, 0x000b59db}}, Y: Field{[10]uint32{0x01fa7312, 0x03023ff2, 0x018ea024, 0x00f0ce52, 0x0052fa70, 0x0020ada1, 0x03b8f941, 0x0174c900, 0x01e406ef, 0x002f8a33}}}, + {X: Field{[10]uint32{0x00b29cf5, 0x0350ad00, 0x0172928f, 0x00a6d283, 0x0246c89d, 0x03c9f00d, 0x03857cfc, 0x01c9d576, 0x01e17516, 0x003d9b09}}, Y: Field{[10]uint32{0x03193201, 0x009b7a71, 0x01b6e059, 0x00c6eb5a, 0x028d2a02, 0x03670632, 0x0049150c, 0x02a21130, 0x02d422c4, 0x000fb88e}}}, + {X: Field{[10]uint32{0x02427060, 0x024f5f40, 0x01c6c293, 0x02b6393f, 0x01ce6e77, 0x013a3801, 0x004f81d2, 0x0361fbbd, 0x004b9d39, 0x0036e91f}}, Y: Field{[10]uint32{0x018d7622, 0x03b6eecf, 0x03597338, 0x022e7f3e, 0x015240f2, 0x0370ed71, 0x037eedd4, 0x00003c25, 0x0092e53d, 0x000b5719}}}, + {X: Field{[10]uint32{0x03e10f0f, 0x03e20549, 0x0301bbfd, 0x0197c20e, 0x0294788f, 0x024768ed, 0x015aedae, 0x01f71562, 0x01d94f62, 0x00285d80}}, Y: Field{[10]uint32{0x020a1183, 0x036100cd, 0x00890fa3, 0x016d178c, 0x020baded, 0x026416ce, 0x03025bd9, 0x006c56be, 0x03c8cfea, 0x001d0227}}}, + {X: Field{[10]uint32{0x0180e141, 0x03ce84d3, 0x003d5188, 0x030d53ae, 0x011c24c6, 0x03edeb23, 0x0261a125, 0x03fa41f8, 0x009fb84a, 0x00375c0c}}, Y: Field{[10]uint32{0x00bed563, 0x00d94d51, 0x018682a8, 0x019bd955, 0x024bdfd5, 0x03223777, 0x035b7862, 0x029dfe74, 0x02c0ac93, 0x000c8052}}}, + {X: Field{[10]uint32{0x03037afd, 0x015dda21, 0x003f783b, 0x024e4832, 0x03cadefb, 0x0131a8bc, 0x01253f00, 0x02ebe5c0, 0x003de746, 0x001e7f54}}, Y: Field{[10]uint32{0x00a61b93, 0x035a437b, 0x0317f1e0, 0x000023a2, 0x0286a4e6, 0x011e948f, 0x0220c266, 0x0024c4fe, 0x02586318, 0x000f172d}}}, + {X: Field{[10]uint32{0x020ff6a0, 0x00b048ae, 0x009566b9, 0x022a4d58, 0x021e7265, 0x01a8a692, 0x00eb8961, 0x0358ec7d, 0x037d77c7, 0x00346abc}}, Y: Field{[10]uint32{0x00a93bec, 0x004e514f, 0x0232ecfd, 0x0276766b, 0x00c7cac3, 0x03d0d6f7, 0x01f0e0bb, 0x02e81caf, 0x03ae5cfb, 0x00394d6d}}}, + {X: Field{[10]uint32{0x02d93c4f, 0x0149d5ea, 0x016445c7, 0x01635966, 0x01fe525d, 0x033690d1, 0x02b74fc2, 0x03652e6d, 0x0382b351, 0x001a3fc6}}, Y: Field{[10]uint32{0x0065a13c, 0x0063cead, 0x0192b798, 0x01d21460, 0x019186e3, 0x01764ef7, 0x02194aac, 0x02b02341, 0x02f1c422, 0x002aeec3}}}, + {X: Field{[10]uint32{0x0210552d, 0x00701665, 0x0224a5c4, 0x02898bb3, 0x0314393e, 0x01329921, 0x01b73bcf, 0x00f97417, 0x00971806, 0x00089e17}}, Y: Field{[10]uint32{0x021d8774, 0x00606aab, 0x018c4157, 0x0128972e, 0x021933e6, 0x029d735b, 0x005e75c8, 0x02a03093, 0x026ad7a7, 0x00270200}}}, + {X: Field{[10]uint32{0x035ffebf, 0x007c9113, 0x00580889, 0x018e9df6, 0x02e26780, 0x03f085d8, 0x00662583, 0x02dd5d7c, 0x01e7563f, 0x00189b2d}}, Y: Field{[10]uint32{0x028498b4, 0x01c32f19, 0x0211cce1, 0x0289598b, 0x01953a6d, 0x02a61470, 0x01161845, 0x030fc90d, 0x03f672c3, 0x00020da7}}}, + {X: Field{[10]uint32{0x00d12d2a, 0x01a3d6a0, 0x01ac55e6, 0x0392dbeb, 0x0061c8c4, 0x022293ca, 0x03fa430b, 0x01841603, 0x02f4d6f4, 0x002a67c3}}, Y: Field{[10]uint32{0x01053d06, 0x03fccfac, 0x00d3e28f, 0x012be0c1, 0x024e2f06, 0x02b8abbd, 0x0002c406, 0x00020dde, 0x032939db, 0x0025cab7}}}, + {X: Field{[10]uint32{0x03f02645, 0x00c77a71, 0x03e61019, 0x00f32acf, 0x03784afe, 0x03efa52a, 0x000a3fbd, 0x02cb6f2e, 0x02272ff0, 0x002c90f3}}, Y: Field{[10]uint32{0x020b7559, 0x0011238d, 0x03e9f41a, 0x0161188a, 0x023e85b8, 0x03a9460d, 0x0233df8f, 0x0320831c, 0x0119fbb8, 0x0036cbab}}}, + {X: Field{[10]uint32{0x0363deb3, 0x037d5c10, 0x022f3f8b, 0x019150c8, 0x0143efb2, 0x002877fd, 0x031b21a0, 0x02d8b1a9, 0x009d685c, 0x0031d38f}}, Y: Field{[10]uint32{0x01c4b2ec, 0x00d121bb, 0x03ed4387, 0x02d87a0c, 0x025cd550, 0x013bed86, 0x00358efc, 0x00f4168e, 0x0261fbf2, 0x00261f60}}}, + {X: Field{[10]uint32{0x01f71c47, 0x01bbc377, 0x03047888, 0x03090f70, 0x01d34710, 0x03025ba7, 0x00885f34, 0x01352f47, 0x00a7fc98, 0x003fcbd9}}, Y: Field{[10]uint32{0x006e906d, 0x006a16a8, 0x0249765e, 0x0035e17c, 0x0309eac6, 0x01a43035, 0x02c91257, 0x00bf7c7b, 0x0258fd5e, 0x00053018}}}, + {X: Field{[10]uint32{0x03712085, 0x0188506e, 0x01badec1, 0x0053da86, 0x026819b5, 0x0103dd0e, 0x02e8a8b1, 0x02ac934d, 0x00e13f4c, 0x001f64b1}}, Y: Field{[10]uint32{0x01b698c8, 0x01bd05a0, 0x033d1b72, 0x00839af8, 0x003e0dc9, 0x0369a1ae, 0x03193309, 0x035f4aa6, 0x03622ec7, 0x00181ad5}}}, + {X: Field{[10]uint32{0x03e13b6c, 0x03495183, 0x01518a0b, 0x0083fef3, 0x024ce0cc, 0x01e54580, 0x009487c7, 0x014a2627, 0x014d9ef4, 0x0000e90f}}, Y: Field{[10]uint32{0x01deb36e, 0x028ff036, 0x01912dfb, 0x02854d26, 0x00eedad2, 0x01ac49aa, 0x0228d61e, 0x024179ae, 0x03255768, 0x0017c934}}}, + {X: Field{[10]uint32{0x02a25f8f, 0x010a9b3b, 0x02308673, 0x0016cf19, 0x026e59fd, 0x01c74317, 0x00c67e73, 0x01793457, 0x03028010, 0x000239cb}}, Y: Field{[10]uint32{0x016b368e, 0x00767782, 0x015099ea, 0x02b66ef7, 0x031eada5, 0x01ede6c0, 0x01870da4, 0x02e1b7c2, 0x005158fd, 0x00025377}}}, + {X: Field{[10]uint32{0x00ef54dd, 0x03404f33, 0x02d6bfd9, 0x02c3961c, 0x02ab8789, 0x00d0fc4b, 0x037f9d18, 0x009d8b29, 0x00236dc0, 0x002e273f}}, Y: Field{[10]uint32{0x011141cd, 0x01ee4110, 0x0037d2ba, 0x0173c7dd, 0x01c3ad13, 0x03e18344, 0x02ce6f9d, 0x0265ad29, 0x028545a5, 0x0027269c}}}, + {X: Field{[10]uint32{0x01ccb59b, 0x03924410, 0x03ebbc64, 0x00f8b11c, 0x016744a4, 0x01892ced, 0x0190b535, 0x01a2d2ec, 0x00089798, 0x003a17b8}}, Y: Field{[10]uint32{0x02cbd6a2, 0x01d69484, 0x01723a80, 0x022fe10b, 0x010e1c9a, 0x01fb7747, 0x03e3b3d0, 0x03143089, 0x030f9ede, 0x0034ebf9}}}, + {X: Field{[10]uint32{0x02cb97b5, 0x035764ed, 0x01b3bfb0, 0x0144e645, 0x02f7f906, 0x0144d019, 0x00c8e16d, 0x01b4564f, 0x03f2774d, 0x0036375a}}, Y: Field{[10]uint32{0x035e26f4, 0x015bd294, 0x02b2c6d2, 0x03464544, 0x0325f7e6, 0x0217a7e2, 0x0031862b, 0x013cfc45, 0x00945f73, 0x0016880c}}}, + {X: Field{[10]uint32{0x02aa94e8, 0x00e1689d, 0x02aec3e6, 0x03be634d, 0x00033968, 0x0344cf61, 0x03bd5545, 0x02f7ad17, 0x01c5328f, 0x001df820}}, Y: Field{[10]uint32{0x00c2959a, 0x02daf845, 0x01669c0c, 0x02de4688, 0x00ba597f, 0x03820141, 0x026291a3, 0x03cbe116, 0x03f7ca25, 0x000b3a14}}}, + {X: Field{[10]uint32{0x03c904ab, 0x0311e7d9, 0x018c4fb9, 0x00f6c6b4, 0x02b5b920, 0x0127c1e8, 0x020b82f5, 0x025a09a0, 0x02eae8a4, 0x001441e1}}, Y: Field{[10]uint32{0x039cd96b, 0x025a19eb, 0x018a8fbd, 0x0307aac7, 0x00b39382, 0x0077219d, 0x03e21ae7, 0x031a7fd8, 0x03854e4d, 0x003704c0}}}, + {X: Field{[10]uint32{0x0242639d, 0x0109e268, 0x00ddabb6, 0x00cceaf0, 0x021169e4, 0x00203430, 0x0121056e, 0x0356d930, 0x02b3fbda, 0x000beebf}}, Y: Field{[10]uint32{0x00405cd3, 0x03e29f05, 0x031c92f3, 0x03257a97, 0x015ff199, 0x0074face, 0x019ef0a1, 0x02853796, 0x002fd9e6, 0x0002a176}}}, + {X: Field{[10]uint32{0x0312ae0a, 0x00ad791e, 0x02ae673b, 0x002478a3, 0x02aec808, 0x02d7c031, 0x03fbbc26, 0x0118f07c, 0x03eb6e6e, 0x0008036f}}, Y: Field{[10]uint32{0x03a95ecf, 0x0370072e, 0x0344ac59, 0x01dbf346, 0x03832127, 0x01524609, 0x021f0711, 0x00f65e0f, 0x0219bdaa, 0x001214a8}}}, + {X: Field{[10]uint32{0x00b8a3d9, 0x03fcaf89, 0x00ab41ac, 0x01c95086, 0x013ec225, 0x014b36e1, 0x03d46b6e, 0x03df7024, 0x00f60259, 0x0009ec50}}, Y: Field{[10]uint32{0x00583387, 0x02a9fff0, 0x00f7bc85, 0x018dc69d, 0x0228bb5d, 0x004c38c4, 0x00054c4f, 0x02b6eb50, 0x009f70cb, 0x000f3bb4}}}, + {X: Field{[10]uint32{0x015b7e71, 0x03592afa, 0x00a0fcd1, 0x032b5ca3, 0x000e175c, 0x0130ac0b, 0x022ec351, 0x014c4608, 0x01ee535c, 0x003f9250}}, Y: Field{[10]uint32{0x011f56f6, 0x01c013b9, 0x0370ed35, 0x03796172, 0x03748e0a, 0x02992b68, 0x01cb4422, 0x01946f62, 0x01ae286d, 0x003a7372}}}, + {X: Field{[10]uint32{0x01ff1cdf, 0x00e4979d, 0x01d885a0, 0x03b5664d, 0x030ce47c, 0x016f8bc5, 0x03443d76, 0x0252f4db, 0x009b4cae, 0x000c5f48}}, Y: Field{[10]uint32{0x02262d72, 0x01297ae2, 0x02864543, 0x037de298, 0x02c942a5, 0x02daa007, 0x03945af4, 0x015c703f, 0x009568fe, 0x00030645}}}, + {X: Field{[10]uint32{0x0093f9ea, 0x026850f3, 0x02cead9f, 0x002d64f3, 0x03df32e8, 0x00543a6a, 0x005f8ab0, 0x00c391dc, 0x0377764e, 0x003e5469}}, Y: Field{[10]uint32{0x03afd925, 0x01c3c548, 0x03052655, 0x00ec46b8, 0x026ac261, 0x004b3777, 0x00cc6b8b, 0x0088fb9b, 0x01d625f2, 0x003bee54}}}, + {X: Field{[10]uint32{0x0389c8ef, 0x007cd10c, 0x0284d309, 0x03d9b968, 0x024f251a, 0x03f925aa, 0x03229a9f, 0x023a2fc3, 0x00ebf5fd, 0x001c6b7c}}, Y: Field{[10]uint32{0x036969f4, 0x039957da, 0x0242539c, 0x01cb9d9d, 0x0198ed56, 0x0371ceb7, 0x00dfdf72, 0x0154d99d, 0x0063293a, 0x0004fd1d}}}, + {X: Field{[10]uint32{0x0236be75, 0x00471140, 0x02ea5009, 0x007a07db, 0x02c3fbab, 0x03518d04, 0x01cff39a, 0x03a03526, 0x000658c0, 0x0000ba81}}, Y: Field{[10]uint32{0x014f923f, 0x018ef225, 0x02234291, 0x03b7fbb8, 0x03d82c08, 0x02682938, 0x01743d20, 0x00dc87c2, 0x00740607, 0x0002f94b}}}, + {X: Field{[10]uint32{0x02182aea, 0x02df946d, 0x009350d9, 0x00b6589e, 0x03a37344, 0x00fc2c7c, 0x00c42223, 0x020309d4, 0x03904b3e, 0x00108d48}}, Y: Field{[10]uint32{0x01221d91, 0x03fb59f6, 0x02966395, 0x023e053e, 0x000fe09e, 0x02580c89, 0x008e48ba, 0x014598c3, 0x0349b27b, 0x001fd608}}}, + {X: Field{[10]uint32{0x027dda91, 0x03eae7be, 0x00e53771, 0x027b7023, 0x017702a2, 0x026af82d, 0x0064bf8e, 0x00a16e58, 0x0082a92b, 0x0014934f}}, Y: Field{[10]uint32{0x00f29c3a, 0x011c903c, 0x01894ec7, 0x01dc34fb, 0x00366a84, 0x00c6ff57, 0x0368e053, 0x02cb7352, 0x0217fdc6, 0x00291e80}}}, + {X: Field{[10]uint32{0x0056f7e8, 0x02eb85b0, 0x00c48776, 0x02bf45af, 0x000fc83c, 0x008c8ca7, 0x02eb5f5f, 0x013799aa, 0x02085ce0, 0x003dbb87}}, Y: Field{[10]uint32{0x00cea4d9, 0x01ab1b6f, 0x03c75c2f, 0x017462c9, 0x00ccbc95, 0x0251f5ed, 0x01939774, 0x03526aa8, 0x026a7e2b, 0x000cca2c}}}, + {X: Field{[10]uint32{0x03273978, 0x01345ac5, 0x03dae313, 0x01be6f64, 0x002ea84e, 0x0141df48, 0x02b5d119, 0x00505dc8, 0x012bb88f, 0x00270bdf}}, Y: Field{[10]uint32{0x01ab2a3a, 0x006f8f0b, 0x007daa57, 0x032bb94c, 0x01d338a4, 0x031795af, 0x033c5927, 0x02d0d739, 0x000366c8, 0x0004227c}}}, + {X: Field{[10]uint32{0x0299cc3c, 0x0204f1b2, 0x0228f9b9, 0x01ed23bf, 0x0305897b, 0x014eb879, 0x0124f152, 0x02db947f, 0x02b6730f, 0x00164e87}}, Y: Field{[10]uint32{0x0344f079, 0x00cc005d, 0x00ace404, 0x006a8ec7, 0x0109e35c, 0x03dd3946, 0x003a6300, 0x00b646f0, 0x0020fbd2, 0x003f3ede}}}, + {X: Field{[10]uint32{0x01f957e3, 0x00d4ac54, 0x039f40ef, 0x03ff7968, 0x028ec0ea, 0x01fe1e97, 0x004bc603, 0x02eb32f3, 0x00c383a7, 0x0018ae84}}, Y: Field{[10]uint32{0x007bdd45, 0x01fa7f33, 0x020bec2a, 0x003b5e99, 0x019fd01e, 0x02828940, 0x025fa19a, 0x02858695, 0x01b0dc84, 0x003099e8}}}, + {X: Field{[10]uint32{0x03731f64, 0x00f18657, 0x03c6a6d7, 0x0240529d, 0x0239e123, 0x00e92a76, 0x03641fe0, 0x018a858f, 0x0010deae, 0x000778ab}}, Y: Field{[10]uint32{0x03c8d2b2, 0x0106a276, 0x00006d71, 0x017e9bd4, 0x00a512b7, 0x0208853f, 0x027b5ad7, 0x025a7410, 0x0095b6d7, 0x00183d0f}}}, + {X: Field{[10]uint32{0x03d4e1d3, 0x0105b083, 0x02a6da43, 0x01c5ab2e, 0x00c48e92, 0x005dcbc6, 0x01086123, 0x020f220f, 0x01527090, 0x003c4695}}, Y: Field{[10]uint32{0x02d742f4, 0x024d4528, 0x03f4cdf5, 0x015368bc, 0x002be515, 0x02356cec, 0x00e397b3, 0x023106db, 0x01647cf4, 0x0029b42b}}}, + {X: Field{[10]uint32{0x00dc33fc, 0x02ba5b5f, 0x0243d2ae, 0x00fc45b0, 0x013dbad4, 0x032971fd, 0x015cc01f, 0x025f9487, 0x0240d756, 0x003d1151}}, Y: Field{[10]uint32{0x02549102, 0x0213de59, 0x026cfb37, 0x01af133d, 0x036b2599, 0x029d3b21, 0x02d70531, 0x01dc1175, 0x00ef46fe, 0x0010a5cb}}}, + {X: Field{[10]uint32{0x01b8780a, 0x00bb2368, 0x01ad4cad, 0x023423b3, 0x0110905b, 0x02cc67eb, 0x03c20fa3, 0x0019f06d, 0x007397be, 0x000afebc}}, Y: Field{[10]uint32{0x02590285, 0x03314993, 0x03cd5775, 0x02c57e08, 0x039077de, 0x025c3d3e, 0x028bdee9, 0x03259cf4, 0x0099ea97, 0x003b5499}}}, + {X: Field{[10]uint32{0x00f5f73b, 0x03153dd3, 0x01222cfe, 0x01623b5a, 0x026df6e0, 0x0108bdce, 0x023ca163, 0x03b642f7, 0x00812b5f, 0x003f06af}}, Y: Field{[10]uint32{0x032b975f, 0x03444da5, 0x01d8faf0, 0x01bd3fa7, 0x007ac68f, 0x02c73471, 0x00481dc4, 0x03f2f91a, 0x02db471c, 0x0036c71b}}}, + {X: Field{[10]uint32{0x00506a8d, 0x01db9bd3, 0x00c76124, 0x017ef8c7, 0x01b717d6, 0x024f00ab, 0x036f92d2, 0x00be6e8d, 0x02ac82e0, 0x00360e30}}, Y: Field{[10]uint32{0x01189377, 0x01ecc68d, 0x02ae251d, 0x032cf83d, 0x03532dd1, 0x01faac48, 0x0176f6ca, 0x03e380f0, 0x00670388, 0x00361e8c}}}, + {X: Field{[10]uint32{0x013ee38c, 0x025f81ac, 0x004b92f6, 0x03c4ce87, 0x0132c53f, 0x0269794e, 0x019d54ca, 0x015d2689, 0x02ff0729, 0x0012cea0}}, Y: Field{[10]uint32{0x028d6265, 0x02cc1d6e, 0x0229032d, 0x012f95c2, 0x00bf6073, 0x03205484, 0x026a0c46, 0x0115b4fd, 0x0341a788, 0x00110dca}}}, + {X: Field{[10]uint32{0x00e411aa, 0x035ab4ff, 0x002f20b8, 0x02438de7, 0x008e79d2, 0x02f54bdc, 0x01eaf6a9, 0x02b538c9, 0x03f36731, 0x0035df2e}}, Y: Field{[10]uint32{0x038372f0, 0x026fe13f, 0x01b50525, 0x019928e1, 0x02051f42, 0x0122f6a6, 0x02812377, 0x004f1e46, 0x0125f078, 0x003b919b}}}, + {X: Field{[10]uint32{0x02ea1483, 0x03f1b4bb, 0x006ec84e, 0x00b303c7, 0x03bed187, 0x014eb0c1, 0x00a75dc9, 0x002e09bb, 0x02b25892, 0x000e19fd}}, Y: Field{[10]uint32{0x0388aee3, 0x019c4d6b, 0x01cf4b82, 0x03d1a2b0, 0x01254d70, 0x032a7172, 0x013ff18d, 0x02025e80, 0x02dce607, 0x00331a9a}}}, + {X: Field{[10]uint32{0x001b0a9a, 0x02d4bbf3, 0x01279930, 0x026301ed, 0x032123fe, 0x0083dfc5, 0x00ea7dff, 0x03213d86, 0x0075e85f, 0x001ec022}}, Y: Field{[10]uint32{0x03075f90, 0x0159802f, 0x03904a8c, 0x00d2d42e, 0x02331f78, 0x00541dcb, 0x0055a1c4, 0x0245a697, 0x00bb8dbc, 0x000fcecc}}}, + {X: Field{[10]uint32{0x0234ef3a, 0x02875de3, 0x009a5ba7, 0x01e81369, 0x02907e9b, 0x01352de5, 0x01795600, 0x0129261d, 0x00d91630, 0x002e96d1}}, Y: Field{[10]uint32{0x03333661, 0x0131d6f3, 0x01e13f87, 0x01d8fb4e, 0x024d47ea, 0x00373537, 0x02e124f0, 0x0278ee6e, 0x03aa4821, 0x0005ad26}}}, + {X: Field{[10]uint32{0x02b8d9df, 0x0358a738, 0x03594342, 0x0084d568, 0x02910fe5, 0x016fe991, 0x02b3a23b, 0x00483614, 0x03e27fe4, 0x001a47ab}}, Y: Field{[10]uint32{0x02c71d85, 0x01fe7e2d, 0x02878188, 0x007712f2, 0x01bd71ea, 0x01489f6f, 0x0294fd6a, 0x013729f0, 0x00974218, 0x0010e818}}}, + {X: Field{[10]uint32{0x00a54123, 0x001b9215, 0x002d8440, 0x035f0dd5, 0x01551377, 0x01177299, 0x0173e38a, 0x02a1bcd4, 0x00bbc9f5, 0x00004e9b}}, Y: Field{[10]uint32{0x00488620, 0x00625202, 0x004b884d, 0x023cc08f, 0x028a43d3, 0x03a3ebe7, 0x01cc2e62, 0x01367bff, 0x009c9a96, 0x003b3ce0}}}, + {X: Field{[10]uint32{0x02f10e45, 0x00ba3579, 0x036ceb71, 0x0080b730, 0x02da6654, 0x02d3c396, 0x01731e91, 0x01734a4f, 0x02f3fb59, 0x000cff4a}}, Y: Field{[10]uint32{0x018ed2cf, 0x00c79802, 0x00c31f63, 0x00c6cea5, 0x0280ca53, 0x00233e8e, 0x0181bf98, 0x0376912e, 0x007a0a8b, 0x00389a8c}}}, + {X: Field{[10]uint32{0x00b774f6, 0x02f962cd, 0x0244c15c, 0x02608bd3, 0x03b00332, 0x029d6124, 0x033ba575, 0x01fde1da, 0x003359e4, 0x001d6550}}, Y: Field{[10]uint32{0x020458a9, 0x01c0f797, 0x01253f8e, 0x00729eb4, 0x00b6e665, 0x0110b000, 0x02998553, 0x015a36c2, 0x004070b8, 0x001fba68}}}, + {X: Field{[10]uint32{0x035b9480, 0x0176965b, 0x032f3650, 0x01944340, 0x00b3dd36, 0x01052fbd, 0x0015e7e8, 0x01f9a13a, 0x03b0c3b1, 0x001e4667}}, Y: Field{[10]uint32{0x03d9a0ab, 0x02b0fb94, 0x021b5054, 0x020d0646, 0x00abaab3, 0x0128156e, 0x03aacba5, 0x03273fbc, 0x0173f358, 0x00256f2a}}}, + {X: Field{[10]uint32{0x011aa352, 0x01c00029, 0x017b5d6d, 0x0306b226, 0x006edd0b, 0x028cff50, 0x03ed64e0, 0x03382cb9, 0x00e7962e, 0x0025c17d}}, Y: Field{[10]uint32{0x019ff347, 0x0375ca12, 0x0399db2b, 0x0157dc6a, 0x0058f408, 0x024875b6, 0x026193d8, 0x011ea284, 0x0357ad45, 0x00135339}}}, + {X: Field{[10]uint32{0x012fd777, 0x0368f38c, 0x02e12df7, 0x01d6e2c5, 0x01cadeeb, 0x00dd99d3, 0x0160b983, 0x02ad7cc1, 0x0067b841, 0x002206bc}}, Y: Field{[10]uint32{0x0083b84f, 0x0337b24d, 0x037019ac, 0x00f468e8, 0x017588be, 0x02c512c7, 0x010f62d8, 0x03c175f0, 0x03d4512e, 0x0033304f}}}, + {X: Field{[10]uint32{0x00e99621, 0x0357d704, 0x012fb1f6, 0x02dcbf50, 0x0041bfc3, 0x01eb41e5, 0x02e14cd9, 0x032763d0, 0x024433c2, 0x003fa3de}}, Y: Field{[10]uint32{0x02b3b2a9, 0x00ff752d, 0x026572a9, 0x03cf311a, 0x034c8bab, 0x0211b1e6, 0x01c4ee3a, 0x010dd25b, 0x02ee0cf3, 0x00396d5d}}}, + {X: Field{[10]uint32{0x004d798f, 0x024eaf17, 0x006cb918, 0x01927814, 0x0384f400, 0x00f0d3a0, 0x012f8320, 0x022ce0fe, 0x00da18e0, 0x003fd0f2}}, Y: Field{[10]uint32{0x01df2e7f, 0x01f6c05f, 0x02fd5242, 0x00ce92ec, 0x02f5a754, 0x02076f61, 0x009dde19, 0x03680b03, 0x005923a9, 0x00295d68}}}, + {X: Field{[10]uint32{0x00db276b, 0x031bf54a, 0x00a42ed3, 0x0105cd9e, 0x03d8f9d8, 0x012ec6cc, 0x00852427, 0x0138844d, 0x0056b97f, 0x00011c54}}, Y: Field{[10]uint32{0x014302b2, 0x03e88061, 0x0212fcab, 0x03b99beb, 0x0073a18b, 0x02e62a8a, 0x00cd71ef, 0x03c767fa, 0x01463521, 0x002d3034}}}, + {X: Field{[10]uint32{0x031fff51, 0x0121c709, 0x00814974, 0x03acc6a2, 0x02acd85e, 0x02e0f9fb, 0x0251394c, 0x00756b0a, 0x0008c5f5, 0x00217276}}, Y: Field{[10]uint32{0x03666a7d, 0x024aef96, 0x01eb8b49, 0x0034660b, 0x02018505, 0x01bb1fd7, 0x0191454d, 0x026e219a, 0x03bf2382, 0x0000a9f0}}}, + {X: Field{[10]uint32{0x0170dac9, 0x0265fe5f, 0x02f24529, 0x031db5b4, 0x03f46b60, 0x000d1173, 0x00b4b259, 0x00da380f, 0x00ef8b1e, 0x00300ae5}}, Y: Field{[10]uint32{0x0325f3a0, 0x00d0f079, 0x021d680a, 0x028ab3e5, 0x0310fadb, 0x037874a2, 0x0017825a, 0x02079235, 0x0129bcff, 0x002eee5f}}}, + {X: Field{[10]uint32{0x00241df6, 0x011caa0e, 0x02db3e29, 0x018ffb9e, 0x020fcb8b, 0x034d4e87, 0x01ac4393, 0x01bdf90c, 0x03bd28e2, 0x0012c564}}, Y: Field{[10]uint32{0x02fdcc56, 0x0138d3bc, 0x00ef0d6e, 0x022cf332, 0x003f184f, 0x02b27616, 0x0225b113, 0x01a15498, 0x0328f496, 0x002299e9}}}, + {X: Field{[10]uint32{0x02a64dd4, 0x007353c9, 0x00dd231d, 0x01b92e77, 0x037a8e7f, 0x0354a1a6, 0x02505559, 0x037b8eb5, 0x015bba51, 0x003d901d}}, Y: Field{[10]uint32{0x0287e1c8, 0x03414e5b, 0x00882a48, 0x03215745, 0x0391e0e3, 0x03092b01, 0x0029f6ee, 0x00a42f53, 0x0000a53e, 0x001ce1fe}}}, + {X: Field{[10]uint32{0x0389515b, 0x01da5e5d, 0x0206e022, 0x008a4529, 0x0016d0a5, 0x01c233be, 0x036f42cd, 0x00db18f7, 0x02a94368, 0x002524d1}}, Y: Field{[10]uint32{0x00e2b356, 0x00e0ee6a, 0x00073031, 0x034fb797, 0x0031dd41, 0x021d505d, 0x025c847b, 0x000807bd, 0x032d952a, 0x002a40e4}}}, + {X: Field{[10]uint32{0x03f91a60, 0x01802299, 0x0245cde4, 0x020f172f, 0x02cdcc97, 0x026308bc, 0x010b1f66, 0x03b7f08e, 0x019ec769, 0x00060902}}, Y: Field{[10]uint32{0x011bd1e2, 0x0109d9cc, 0x02ae0adf, 0x0200de24, 0x02804a87, 0x03e82238, 0x02051f3b, 0x013755b3, 0x01fa81e0, 0x0003e101}}}, + {X: Field{[10]uint32{0x0201d341, 0x022b3475, 0x022f92ec, 0x02484e71, 0x00683aa7, 0x03a57cf7, 0x005f34cc, 0x00f64a20, 0x03d8e463, 0x0039ad1b}}, Y: Field{[10]uint32{0x001d824a, 0x0074c033, 0x011d1639, 0x02930a0e, 0x00d6c0be, 0x032fd636, 0x00faf4a7, 0x0298e94a, 0x0013f3fe, 0x0014cf6e}}}, + {X: Field{[10]uint32{0x03992b93, 0x010db3ff, 0x0015d60a, 0x014bc5d8, 0x03a04c62, 0x03504e74, 0x00d150d3, 0x02c63752, 0x0330dc19, 0x0018de66}}, Y: Field{[10]uint32{0x02dcc41b, 0x0336c345, 0x015073c3, 0x032cae8d, 0x0007f485, 0x03c1905e, 0x00e72f5f, 0x0137bb40, 0x01125ebf, 0x00098814}}}, + {X: Field{[10]uint32{0x02ad7338, 0x028a7c4b, 0x01676670, 0x00927c7f, 0x037fac53, 0x038dc2c3, 0x01b88d3a, 0x0280b7a1, 0x035ab1d5, 0x0023340b}}, Y: Field{[10]uint32{0x00c0d8e4, 0x03c2586f, 0x006278e2, 0x03bb10e4, 0x03511d56, 0x02f26ee9, 0x02cb70f0, 0x02275984, 0x02acceb6, 0x000d62d0}}}, + {X: Field{[10]uint32{0x01f82fab, 0x0286a7b7, 0x00991d3e, 0x0199282a, 0x01f76127, 0x03ccec19, 0x01aba41b, 0x034777a5, 0x03e6d48b, 0x00357859}}, Y: Field{[10]uint32{0x0271d1f7, 0x0309a1ab, 0x03d70849, 0x0188e095, 0x02aaf45f, 0x03361ab8, 0x00ec9cb3, 0x0337d3f1, 0x0182d653, 0x001b308e}}}, + {X: Field{[10]uint32{0x009bfdba, 0x006773df, 0x030cf4ff, 0x01096192, 0x01d72b19, 0x01fc0306, 0x034f09d9, 0x03cb7c4c, 0x01006987, 0x003101cd}}, Y: Field{[10]uint32{0x037ff262, 0x003274ff, 0x00ca82bf, 0x002b295a, 0x02b760ff, 0x000de3e0, 0x03366bf3, 0x004c9aa6, 0x00466b46, 0x003d959a}}}, + {X: Field{[10]uint32{0x00c4fde2, 0x0031eabc, 0x02b91184, 0x0303ecb7, 0x0229a7c2, 0x020e0c63, 0x0221db2a, 0x006fec22, 0x02719c50, 0x000277c7}}, Y: Field{[10]uint32{0x02d00fc0, 0x014c973e, 0x03ea580a, 0x016d0f7b, 0x03e977c7, 0x024079c0, 0x0315ae54, 0x00300ac0, 0x00ae6d0e, 0x003358a3}}}, + {X: Field{[10]uint32{0x024c696c, 0x022e134a, 0x0165b7d0, 0x01242b5c, 0x031c91c2, 0x0248b165, 0x03108ee6, 0x030c2408, 0x0029df73, 0x002545d9}}, Y: Field{[10]uint32{0x01c0fbe4, 0x0021b2fa, 0x000cbdd8, 0x02dc901d, 0x011994fb, 0x00dd724a, 0x02084700, 0x036f3208, 0x00493b62, 0x000fb3ff}}}, + {X: Field{[10]uint32{0x01628c6e, 0x023d8031, 0x0156da31, 0x021cd3d5, 0x02f57fe1, 0x012fa3ed, 0x03a7e0e9, 0x0034d784, 0x00e8692b, 0x001c2312}}, Y: Field{[10]uint32{0x0105a664, 0x0378c828, 0x029bfe1c, 0x0004fdf6, 0x005af7e6, 0x03da8bc0, 0x020432e9, 0x00747c9f, 0x0302deee, 0x00254d38}}}, + {X: Field{[10]uint32{0x025b4c09, 0x00732853, 0x0222b299, 0x030274c9, 0x0146275e, 0x02c9af85, 0x01620794, 0x031ce6d7, 0x017ab82d, 0x0009dd78}}, Y: Field{[10]uint32{0x031ccddc, 0x02de4206, 0x0152e8a9, 0x00a21d13, 0x03338ab2, 0x03684ca3, 0x02b52c28, 0x00d67f7b, 0x027c80e8, 0x000ea9bb}}}, + {X: Field{[10]uint32{0x030192da, 0x0248a700, 0x03270be1, 0x00d0f0e0, 0x0044da6b, 0x023ed228, 0x0334959b, 0x013cc73c, 0x02c2039c, 0x0011f06a}}, Y: Field{[10]uint32{0x000d7cc0, 0x038562d8, 0x003551fd, 0x0168848a, 0x00e5813f, 0x02681471, 0x01cd4025, 0x03087611, 0x011c5ba6, 0x00176b59}}}, + {X: Field{[10]uint32{0x00bad15e, 0x036a86ee, 0x02c70d77, 0x0353e8a2, 0x01eef459, 0x033e897c, 0x03b2bf59, 0x01325806, 0x005a4b86, 0x003e03d1}}, Y: Field{[10]uint32{0x0374ff16, 0x01ffdc2c, 0x02c8863f, 0x03d297c4, 0x0183cd57, 0x03a7e239, 0x00b9da6c, 0x01a659b4, 0x02046b8c, 0x0028e0f7}}}, + {X: Field{[10]uint32{0x014d2f66, 0x02e40faf, 0x01bf6f9c, 0x00967cb5, 0x02b22081, 0x01e2dc5c, 0x01f436d5, 0x00d866a3, 0x03b91ad3, 0x000a4939}}, Y: Field{[10]uint32{0x00841875, 0x022f6e12, 0x00effa76, 0x0156b58b, 0x02afa412, 0x005747c1, 0x00e4f3fe, 0x027d50d2, 0x0169e231, 0x002e1908}}}, + {X: Field{[10]uint32{0x02dc4d83, 0x01017cdd, 0x02e2af13, 0x0179df8c, 0x00431078, 0x028ae6b1, 0x001854e3, 0x013b4a0d, 0x007b91a6, 0x000df582}}, Y: Field{[10]uint32{0x01f25003, 0x02e65c4f, 0x01b1f9bd, 0x0024b094, 0x01a3ac9f, 0x00b9bf37, 0x023092f3, 0x02f32ea0, 0x0117e068, 0x000d688e}}}, + {X: Field{[10]uint32{0x00f4fab2, 0x0372e484, 0x00fd8391, 0x033a0a53, 0x03e000d2, 0x033e12d3, 0x003691cb, 0x006f81ad, 0x016dc79f, 0x0035d22a}}, Y: Field{[10]uint32{0x005bf51c, 0x031369bc, 0x036c8223, 0x009eabed, 0x00975c09, 0x02e05c8a, 0x017e5c04, 0x0240bb39, 0x01e065da, 0x001d6d2b}}}, + {X: Field{[10]uint32{0x002cc30c, 0x00cf41b9, 0x03a8fa02, 0x013b0957, 0x03949241, 0x00edbee5, 0x02361ea3, 0x0213fc98, 0x0225eb50, 0x0034174a}}, Y: Field{[10]uint32{0x01a6f2d2, 0x03ead81a, 0x00f4e75e, 0x02616ea6, 0x01ba57a1, 0x022a80f6, 0x03514290, 0x0323ce16, 0x02eececd, 0x00052eef}}}, + {X: Field{[10]uint32{0x003ff793, 0x022765d2, 0x0030278c, 0x03d7a2a3, 0x00b4684b, 0x0193b2a7, 0x03f39067, 0x03b6f96b, 0x015bd137, 0x001a6ea6}}, Y: Field{[10]uint32{0x03b63e32, 0x03864d96, 0x000b246d, 0x01b1c056, 0x01a79ad9, 0x007176e5, 0x033e8649, 0x01965a60, 0x0051b622, 0x000ac73d}}}, + {X: Field{[10]uint32{0x00419461, 0x00bfdc55, 0x0197d9a8, 0x03cbc7b2, 0x033a50af, 0x01418412, 0x020342ff, 0x033ca3f7, 0x01a15d0e, 0x001fc07a}}, Y: Field{[10]uint32{0x0112dc68, 0x037310eb, 0x030e5e03, 0x0196a0d1, 0x03d27040, 0x03b72ad8, 0x01e25d1f, 0x034dd4d8, 0x0194a6b8, 0x00070f25}}}, + {X: Field{[10]uint32{0x02e48cc6, 0x02902795, 0x0219d813, 0x000fc3e1, 0x00f2413d, 0x00613933, 0x0201bc47, 0x024107f4, 0x02fd193b, 0x001c648c}}, Y: Field{[10]uint32{0x0229a953, 0x00674f2b, 0x02d1e68b, 0x028197e0, 0x0312fb55, 0x03ab816a, 0x037ff609, 0x02c14d4c, 0x03187dcc, 0x000587f1}}}, + {X: Field{[10]uint32{0x02e78c27, 0x00f7219d, 0x03d082f5, 0x03e91b22, 0x039a63bc, 0x01ef4a2f, 0x006009a5, 0x01cc40ce, 0x0120155f, 0x00056e10}}, Y: Field{[10]uint32{0x01737816, 0x00b140cc, 0x03605140, 0x0283aa7e, 0x03188171, 0x0102b293, 0x0004e0c8, 0x01f8bfa6, 0x037ec901, 0x0011f758}}}, + {X: Field{[10]uint32{0x03fec567, 0x01301d2e, 0x01a2c007, 0x0389d053, 0x0004a95c, 0x02e9a645, 0x0352ed4e, 0x00011df6, 0x0197bd38, 0x003fd0a7}}, Y: Field{[10]uint32{0x017b3048, 0x016a8075, 0x00f2569a, 0x002b2f2e, 0x036708c0, 0x037ddf00, 0x0173f624, 0x016eacd2, 0x03bd6e63, 0x001ece9b}}}, + {X: Field{[10]uint32{0x010a6ee3, 0x02c79575, 0x01ed8858, 0x0012c984, 0x01379174, 0x00b1dfa0, 0x01f476d1, 0x039d333c, 0x005b016b, 0x0003335c}}, Y: Field{[10]uint32{0x00e87c01, 0x02bff0d0, 0x01f1f737, 0x0130c6b6, 0x020946cb, 0x025fde35, 0x0155e178, 0x02c94937, 0x01e75cc7, 0x0021d06b}}}, + {X: Field{[10]uint32{0x03b65b27, 0x030df542, 0x01534d54, 0x001a3526, 0x0294e4b4, 0x00c03b2a, 0x0278e818, 0x0315fe45, 0x025e24b3, 0x00196d86}}, Y: Field{[10]uint32{0x01ed0c40, 0x005a9d9d, 0x024fd79c, 0x031e9719, 0x02f65ac4, 0x02b82147, 0x0386fda2, 0x01ee0bc6, 0x0228aab9, 0x002435d7}}}, + {X: Field{[10]uint32{0x03a06ef0, 0x005067de, 0x00cf173c, 0x021f068e, 0x014ffe04, 0x0163ee39, 0x0382bdd7, 0x01cf650f, 0x01df8f40, 0x0019c54a}}, Y: Field{[10]uint32{0x00fede59, 0x01533f45, 0x029504d8, 0x01071c1d, 0x00454fd1, 0x03547af9, 0x01121e10, 0x00d26b74, 0x032d1f23, 0x00311b67}}}, + {X: Field{[10]uint32{0x001b0440, 0x008f3fe4, 0x035b68e8, 0x0375319c, 0x0073da3f, 0x002ef4b0, 0x02f8e703, 0x005a5c1e, 0x02760e7a, 0x0000abe2}}, Y: Field{[10]uint32{0x02c3c1cb, 0x03f40989, 0x0143f72f, 0x02b7597d, 0x017c34f5, 0x007b8cf3, 0x01659769, 0x01c54f1c, 0x03e79ada, 0x00155596}}}, + {X: Field{[10]uint32{0x03575707, 0x0251ca9b, 0x01fc42fb, 0x03543bd6, 0x024def3f, 0x01f31cc2, 0x00b3b1fb, 0x02ee1d3f, 0x016fc5ff, 0x002b3607}}, Y: Field{[10]uint32{0x01d181a3, 0x00a59180, 0x011cce09, 0x03258fa1, 0x02b87c0e, 0x001c6da5, 0x02f47eb5, 0x03aa7847, 0x028ec8b8, 0x00238c66}}}, + {X: Field{[10]uint32{0x00ffb912, 0x033a36e0, 0x0041bd60, 0x02a66e45, 0x02ae062c, 0x0182a9fc, 0x012d0bb3, 0x03a2f081, 0x03d53ab9, 0x002addf9}}, Y: Field{[10]uint32{0x01f96b5a, 0x0131d48b, 0x02d8fdfa, 0x0262d75b, 0x02aca909, 0x0075c104, 0x03992e5e, 0x02e56e7a, 0x02d9cb0a, 0x0017e4ad}}}, + {X: Field{[10]uint32{0x00124046, 0x0222acde, 0x03265e01, 0x03cded98, 0x031d7efa, 0x001a88c0, 0x03eda09b, 0x0231fbe2, 0x01951a6a, 0x001e62e0}}, Y: Field{[10]uint32{0x002b1bf6, 0x03e75138, 0x01de7a1b, 0x02d7c460, 0x03d91382, 0x0399d1db, 0x004a7e54, 0x0290c0d9, 0x021b0bae, 0x002564b6}}}, + {X: Field{[10]uint32{0x0377b096, 0x0354a2e5, 0x02f29ed6, 0x00e893fd, 0x009dbff9, 0x0222bad3, 0x01dea224, 0x039df637, 0x02ae0c3b, 0x003c921a}}, Y: Field{[10]uint32{0x0029126b, 0x0096aa12, 0x028cc413, 0x018a360e, 0x03d8409b, 0x00dabec2, 0x010327fe, 0x03211df1, 0x0150fe75, 0x00238acb}}}, + {X: Field{[10]uint32{0x006d2d54, 0x025d2205, 0x00333f93, 0x0220993d, 0x02d16ca0, 0x02bbbb9c, 0x0364ee33, 0x03aa2f83, 0x01093b8a, 0x00088b8f}}, Y: Field{[10]uint32{0x02cdcaa9, 0x02d4e772, 0x018a4351, 0x01e332c2, 0x0137ba1f, 0x0283af5e, 0x02dd16e8, 0x02ef1070, 0x000fbfe6, 0x0003bfd4}}}, + {X: Field{[10]uint32{0x0121c1c9, 0x02df4130, 0x01bd0165, 0x007670c8, 0x024f9924, 0x02d4f800, 0x01a18eea, 0x00d1d891, 0x03fe7ca9, 0x0019da34}}, Y: Field{[10]uint32{0x00272877, 0x02bba2e4, 0x00a43823, 0x0094340c, 0x000c4dc8, 0x027871de, 0x019ff1d0, 0x025c888c, 0x0173c9b9, 0x00100b27}}}, + {X: Field{[10]uint32{0x022dda79, 0x01fc263c, 0x00ef2513, 0x02133e32, 0x01b0b628, 0x03f5e057, 0x0325697b, 0x022033bf, 0x000fb2f0, 0x001bad9d}}, Y: Field{[10]uint32{0x0085c86f, 0x027c0fc5, 0x01b68520, 0x02579163, 0x0079c4b6, 0x03d0b9ab, 0x002061c1, 0x015c4f0c, 0x0131c12f, 0x0033dfa1}}}, + {X: Field{[10]uint32{0x025fe51b, 0x0001aaa5, 0x01ac2950, 0x0165c5ca, 0x025ede89, 0x019eda9f, 0x00f385f3, 0x0169faa8, 0x03484eb0, 0x001c407c}}, Y: Field{[10]uint32{0x00d5c3f3, 0x013e24c4, 0x0144be26, 0x01687912, 0x00260559, 0x01c6bf0b, 0x00fff9fc, 0x03edd5de, 0x0113a040, 0x002347ee}}}, + {X: Field{[10]uint32{0x02886579, 0x0239b4c3, 0x0287a11c, 0x03ab3bee, 0x02a0de03, 0x0080c0d8, 0x024b25f1, 0x028978ff, 0x005cacc6, 0x001d6a79}}, Y: Field{[10]uint32{0x03f69c6e, 0x01f00af3, 0x03f7adbe, 0x03e555a0, 0x02854c49, 0x00007f60, 0x0202cf31, 0x021b649a, 0x0195e919, 0x0014aa16}}}, + {X: Field{[10]uint32{0x0337dcbc, 0x0359cc0d, 0x001b2954, 0x03de0c2b, 0x02ceac14, 0x01fe66b7, 0x03ffc542, 0x0195ca62, 0x0192bad7, 0x000c4653}}, Y: Field{[10]uint32{0x03dd2832, 0x007fcfd7, 0x02f19a2d, 0x02f36b0b, 0x028c556e, 0x00f316f1, 0x02449fa3, 0x023bba74, 0x0045f531, 0x00267a07}}}, + {X: Field{[10]uint32{0x03d505af, 0x02562b02, 0x0123c522, 0x030e115f, 0x03c1d743, 0x002d3338, 0x02c61387, 0x01bd0e1a, 0x03fe76fd, 0x002413e8}}, Y: Field{[10]uint32{0x03c1763b, 0x02ab9069, 0x023045c8, 0x03ece55e, 0x018dae9b, 0x0131c165, 0x02929e45, 0x0118cde7, 0x02621adf, 0x002509cc}}}, + {X: Field{[10]uint32{0x00a8e0fd, 0x02a4ffe9, 0x01f26b5f, 0x0109e29f, 0x03040de1, 0x00fe8996, 0x019aedef, 0x022cc8da, 0x01f31a82, 0x00074618}}, Y: Field{[10]uint32{0x0099f7dc, 0x017d1376, 0x01f61199, 0x03098e99, 0x013ffc30, 0x0212ee59, 0x01306e3b, 0x03faca38, 0x0381f13f, 0x002e595d}}}, + {X: Field{[10]uint32{0x0019ad64, 0x0395179a, 0x0009b73c, 0x008a110f, 0x02aac959, 0x02159773, 0x02f0289e, 0x02975797, 0x01ef6de1, 0x000ef4cf}}, Y: Field{[10]uint32{0x00f9c810, 0x00d7b575, 0x001c2975, 0x0077d491, 0x038bc985, 0x029c3a6f, 0x00366279, 0x002f525d, 0x0109eb56, 0x00264fc0}}}, + {X: Field{[10]uint32{0x00958634, 0x031fdb16, 0x0261c7be, 0x03adc543, 0x03e4c257, 0x039681f1, 0x0327b248, 0x02bb4a9f, 0x01452a39, 0x003286df}}, Y: Field{[10]uint32{0x004afcff, 0x03eb368f, 0x032c7298, 0x03dd10ab, 0x010179c0, 0x027ed520, 0x01a98043, 0x01f0dedf, 0x021bc035, 0x002ac47f}}}, + {X: Field{[10]uint32{0x0271aa58, 0x0355f461, 0x00f61da6, 0x01f57e4a, 0x00df145f, 0x0339f66b, 0x03f29a36, 0x00e1ad4f, 0x01cadee8, 0x0009cea5}}, Y: Field{[10]uint32{0x025bbe2b, 0x0053e546, 0x03ac2adb, 0x0071cf14, 0x00315a03, 0x010194a1, 0x02c6d832, 0x014df469, 0x019dbb06, 0x0022298d}}}, + {X: Field{[10]uint32{0x005561e6, 0x02443e6b, 0x02279d0f, 0x03d4a511, 0x01c06923, 0x00e48700, 0x03ad79cd, 0x02eeb154, 0x00fca139, 0x001fa930}}, Y: Field{[10]uint32{0x016dec96, 0x03e82eca, 0x0193a54d, 0x00ddc6bb, 0x002eb71c, 0x018e7c66, 0x01e79822, 0x00c38bcc, 0x01470458, 0x002f4127}}}, + {X: Field{[10]uint32{0x0207d336, 0x012581e5, 0x02ce80bc, 0x01a3f344, 0x00d3823f, 0x017331a1, 0x03932401, 0x02af9751, 0x001c0a2b, 0x001c7c60}}, Y: Field{[10]uint32{0x03f1b4b1, 0x039b76c7, 0x00a6cf5a, 0x00390e77, 0x0214430c, 0x03a3f9e9, 0x01b7de37, 0x01395082, 0x03d00838, 0x00107b41}}}, + {X: Field{[10]uint32{0x01cd8828, 0x00160b48, 0x00f2a1c9, 0x036589e7, 0x017000ff, 0x0155068f, 0x00aec515, 0x0287baba, 0x0073652b, 0x002ca0e2}}, Y: Field{[10]uint32{0x027dce5e, 0x02d20474, 0x0079d2a0, 0x03ca87bf, 0x01ee4d19, 0x01abf30c, 0x01faf658, 0x038e9491, 0x015573f5, 0x00011ffc}}}, + {X: Field{[10]uint32{0x015a3e21, 0x036263ad, 0x02cb5b68, 0x0129afc2, 0x03d9f816, 0x00224892, 0x033fbdcc, 0x012f05a1, 0x01a72263, 0x000d32a3}}, Y: Field{[10]uint32{0x01c5d986, 0x02440339, 0x01f4b73f, 0x0241464b, 0x031f041a, 0x02168ffd, 0x0369055d, 0x0324701d, 0x036036a9, 0x00362bed}}}, + {X: Field{[10]uint32{0x0319cc8f, 0x01c8cdd2, 0x0115aa0e, 0x021e270e, 0x034b76eb, 0x03db5e5a, 0x00cf5b2e, 0x0106bf28, 0x0397d973, 0x00084b2c}}, Y: Field{[10]uint32{0x02f170a1, 0x030d7590, 0x01e64875, 0x01ccbde3, 0x01ff17e2, 0x0049b143, 0x0285f501, 0x03c1be5d, 0x00ec5f29, 0x003c1b8b}}}, + {X: Field{[10]uint32{0x00a6228a, 0x0202471b, 0x002e9ffa, 0x00bf392d, 0x01d5f29d, 0x01e24fda, 0x0182dfde, 0x004f70c9, 0x03f643bd, 0x002f00d9}}, Y: Field{[10]uint32{0x00556e78, 0x03fd0a5d, 0x0373f527, 0x01e5ee5b, 0x02c17641, 0x02d66b0c, 0x03f3e44a, 0x007c192b, 0x0089d125, 0x0026fb1b}}}, + {X: Field{[10]uint32{0x01bd5672, 0x00403c6a, 0x029d8dec, 0x00cf37ad, 0x025e489e, 0x03466392, 0x03169bb4, 0x0222516a, 0x00235d8e, 0x0023f2c5}}, Y: Field{[10]uint32{0x03fc057c, 0x036de439, 0x01f5fe52, 0x00816c74, 0x03c45ae3, 0x01102109, 0x0302a46b, 0x0242c980, 0x0396bab3, 0x003e872c}}}, + {X: Field{[10]uint32{0x011e64ae, 0x0170beb9, 0x010440e1, 0x02133289, 0x00d4917e, 0x0077d83d, 0x0043e801, 0x03b0832f, 0x01056675, 0x001c2b61}}, Y: Field{[10]uint32{0x015a800d, 0x013e9847, 0x004e8c00, 0x03832fbd, 0x02b63d68, 0x03d6dc4e, 0x0262475d, 0x029f2697, 0x0356af9f, 0x003d2944}}}, + {X: Field{[10]uint32{0x01695842, 0x0387db2e, 0x028803ed, 0x036611be, 0x02bcf6e6, 0x025c6301, 0x026df81f, 0x0105a21b, 0x03474807, 0x002b69eb}}, Y: Field{[10]uint32{0x008a582f, 0x02ddb6e6, 0x001dd575, 0x02440031, 0x0298369c, 0x01dc7654, 0x0348bbe0, 0x009f5371, 0x011f50f4, 0x0003d9b5}}}, + {X: Field{[10]uint32{0x0102eeee, 0x011762c4, 0x0052c7f0, 0x01ee949f, 0x01bf1e97, 0x034d3e3a, 0x038108f9, 0x03aec46e, 0x018d7323, 0x003c6e1f}}, Y: Field{[10]uint32{0x00346556, 0x037dda2d, 0x000b79bd, 0x039c1f8e, 0x037e2aa0, 0x01edd56c, 0x01e58424, 0x039e827b, 0x030351eb, 0x0002f655}}}, + {X: Field{[10]uint32{0x012a0553, 0x0244d592, 0x00833cc5, 0x0145d9b3, 0x031fbf7c, 0x03fb5ee0, 0x000c301c, 0x0193ab24, 0x015ad552, 0x0024d967}}, Y: Field{[10]uint32{0x00154beb, 0x01b78170, 0x0089ccf4, 0x0176215b, 0x03519ff6, 0x030740a8, 0x02137df1, 0x000596be, 0x01e9646d, 0x002da4e2}}}, + {X: Field{[10]uint32{0x02d4ffe2, 0x00e3df63, 0x01f48b17, 0x039745e0, 0x00409a62, 0x0056fbbb, 0x002f54a4, 0x013ff712, 0x00492a9b, 0x003a74af}}, Y: Field{[10]uint32{0x00305df5, 0x00c10211, 0x00631608, 0x0020d854, 0x038d6392, 0x013c94e0, 0x01de313f, 0x02fe0037, 0x02522dcc, 0x00224f91}}}, + {X: Field{[10]uint32{0x006cb210, 0x038abde4, 0x00744229, 0x0306a1d8, 0x01825e0b, 0x01cb69a9, 0x0103eea3, 0x02b64460, 0x020a7bf1, 0x00050905}}, Y: Field{[10]uint32{0x0196af23, 0x03be284e, 0x0343f209, 0x03a47d8d, 0x024f1519, 0x002c8fa5, 0x02f1d0e1, 0x0175c479, 0x022696a7, 0x00325368}}}, + {X: Field{[10]uint32{0x009efd87, 0x0233ba27, 0x02300c45, 0x01639bc9, 0x018686d0, 0x02d7e9fa, 0x03e434ae, 0x012f52aa, 0x0312402e, 0x001fe409}}, Y: Field{[10]uint32{0x02f95fb5, 0x00622b18, 0x01602669, 0x02305498, 0x031b8b01, 0x022111a9, 0x02cdcddc, 0x02d062c5, 0x020b2aef, 0x002f0011}}}, + {X: Field{[10]uint32{0x0372745c, 0x03187d5b, 0x03c01255, 0x01a8e051, 0x022a133f, 0x02370a4d, 0x02e5f16c, 0x003d4fa1, 0x027c66cb, 0x0034c9f3}}, Y: Field{[10]uint32{0x02bea436, 0x01d628e1, 0x015f8353, 0x035071be, 0x02618cc6, 0x02314b72, 0x0108b85b, 0x00e7041a, 0x018ac3cb, 0x00137052}}}, + {X: Field{[10]uint32{0x032db3b3, 0x00e5ab78, 0x03d1a0d5, 0x033951ef, 0x01137dff, 0x022eff0c, 0x013803be, 0x00441800, 0x0319c9d8, 0x003c113a}}, Y: Field{[10]uint32{0x02526f2a, 0x00ae77df, 0x03af7c10, 0x037bff33, 0x028128a8, 0x02ca0b3f, 0x00551cea, 0x00f999fe, 0x028d9c4c, 0x0016b510}}}, + {X: Field{[10]uint32{0x0218daf4, 0x03172f03, 0x03d55f67, 0x02dfcf00, 0x03d135bb, 0x03755100, 0x006a81eb, 0x0066fabd, 0x0237b95d, 0x001e9b14}}, Y: Field{[10]uint32{0x0204385b, 0x038a48a8, 0x001d70cc, 0x019a29c3, 0x01bd492c, 0x03fda3fb, 0x00fc6e74, 0x03ad7121, 0x00b847fc, 0x0018a8ba}}}, + {X: Field{[10]uint32{0x019f82f0, 0x0256f06d, 0x01bb5804, 0x026d1d62, 0x02ffae94, 0x01708211, 0x0372afaf, 0x0302deed, 0x00dcb069, 0x001671ff}}, Y: Field{[10]uint32{0x026c38ad, 0x023bae84, 0x006ec335, 0x014bc935, 0x02c09b36, 0x03238b1e, 0x03a4d79a, 0x0159adc6, 0x008c6657, 0x0020bb16}}}, + {X: Field{[10]uint32{0x036543d7, 0x0006f51a, 0x03ae00ea, 0x036f37c9, 0x0081d99f, 0x02ee1795, 0x00d3dc6d, 0x01563310, 0x00211ed4, 0x003e33cf}}, Y: Field{[10]uint32{0x03a9778b, 0x037a7721, 0x03b20054, 0x030f82a2, 0x035506a5, 0x03338c10, 0x011f5dbd, 0x03d8c225, 0x01d01c3d, 0x002f6012}}}, + {X: Field{[10]uint32{0x024504bc, 0x00b39c54, 0x03764278, 0x00ff3f44, 0x024d2dd2, 0x00eb2a0a, 0x03471893, 0x02753c7f, 0x0364b238, 0x000e1575}}, Y: Field{[10]uint32{0x019ef72d, 0x01b02f1d, 0x01f95944, 0x03bb7c4f, 0x03b14a71, 0x02ab8ea8, 0x024ec346, 0x02af409c, 0x02254af2, 0x0020b13a}}}, + {X: Field{[10]uint32{0x02de5431, 0x03774694, 0x02ffa48c, 0x01b6bdf9, 0x036d3e0e, 0x01554f6a, 0x00b1d733, 0x03c3634c, 0x03311de4, 0x001dd912}}, Y: Field{[10]uint32{0x005916b4, 0x03d4853d, 0x029b4cdb, 0x00c1a560, 0x017581c9, 0x00aedd0c, 0x03730f99, 0x001cd5cd, 0x03ce0c0a, 0x00191785}}}, + {X: Field{[10]uint32{0x01ca138d, 0x00c198f6, 0x01d34565, 0x033dd996, 0x0156bfc0, 0x0194deaf, 0x02511daa, 0x02bef2ca, 0x0343afd6, 0x0029352b}}, Y: Field{[10]uint32{0x03bb09dd, 0x028afadc, 0x03747a25, 0x017cf57f, 0x0088b5db, 0x0358f7cd, 0x007f0737, 0x03cc6ee4, 0x03d0dd2d, 0x002f9b27}}}, + {X: Field{[10]uint32{0x00a75be5, 0x03f0181d, 0x011aaaa8, 0x032bed9b, 0x012da352, 0x03992f18, 0x02c3d645, 0x028207dc, 0x023fe673, 0x00105ffe}}, Y: Field{[10]uint32{0x00c50151, 0x0024f81a, 0x00be10de, 0x0129fdce, 0x02cfd9ca, 0x0169d243, 0x01472afd, 0x0251d202, 0x022f9084, 0x0026ae2f}}}, + {X: Field{[10]uint32{0x02ef73cd, 0x03ba0e32, 0x00622f75, 0x001257a2, 0x004f19eb, 0x01d084b1, 0x03d772cc, 0x014105b2, 0x01549311, 0x001e05d4}}, Y: Field{[10]uint32{0x00d0d3e6, 0x02fdff4d, 0x00ac2dd7, 0x02c29765, 0x02fdaf2c, 0x01f2c637, 0x0381b91d, 0x00d94098, 0x01c8ffec, 0x000df535}}}, + {X: Field{[10]uint32{0x031b5121, 0x0094fe82, 0x02f0f736, 0x02923d8b, 0x023c2ee7, 0x039d9896, 0x020c66c7, 0x00a3abd5, 0x020c3acc, 0x000d9715}}, Y: Field{[10]uint32{0x0374868f, 0x01f4df16, 0x018d6451, 0x005773b1, 0x016990aa, 0x00e3e374, 0x0303f883, 0x03c578e2, 0x02fa96c0, 0x000972f1}}}, + {X: Field{[10]uint32{0x035bac7c, 0x03e860a3, 0x03808a94, 0x03f76233, 0x016c6757, 0x02866a49, 0x026b6cb3, 0x0008fa44, 0x01251010, 0x0032516b}}, Y: Field{[10]uint32{0x0254e2bb, 0x037e4ab5, 0x01e5b174, 0x02ec99e7, 0x0399df4a, 0x0319bdb6, 0x008ae3df, 0x010ef3bc, 0x010cb4ac, 0x00326a3a}}}, + {X: Field{[10]uint32{0x002e0213, 0x0303878b, 0x03eec629, 0x02dedf4e, 0x02ac8c3f, 0x00ca18f7, 0x00223876, 0x0355f5ce, 0x01ac45e6, 0x0012ab61}}, Y: Field{[10]uint32{0x016a2708, 0x002d8f3f, 0x02595213, 0x0224ddbd, 0x0129c036, 0x0394e81c, 0x001c192d, 0x02fd9259, 0x00e19e81, 0x000e3bba}}}, + {X: Field{[10]uint32{0x02a291df, 0x027da689, 0x0367f24b, 0x03a9f4d4, 0x01907e37, 0x03d89118, 0x00f9f663, 0x01965ab7, 0x02480b0f, 0x000af040}}, Y: Field{[10]uint32{0x00311c79, 0x01509bc1, 0x02b2f4f3, 0x00c14204, 0x0324ad0c, 0x0242ddd0, 0x02780f6b, 0x02cdea46, 0x02d33016, 0x00382b0f}}}, + {X: Field{[10]uint32{0x03ddfde2, 0x007234e4, 0x03cffeb9, 0x000207f3, 0x02eca894, 0x0281387e, 0x001a2c09, 0x023e4c3a, 0x0191abd2, 0x00337016}}, Y: Field{[10]uint32{0x000193a5, 0x02686dd6, 0x02b32afc, 0x013af1e6, 0x038bf90a, 0x006a208b, 0x02b9852d, 0x038ac0ff, 0x02c44458, 0x0037f692}}}, + {X: Field{[10]uint32{0x0346a047, 0x00efe776, 0x02b7d079, 0x02ba722f, 0x0031d285, 0x03e2aac4, 0x00ea8570, 0x0310a7fd, 0x03f0af2d, 0x0016893b}}, Y: Field{[10]uint32{0x004c8f9a, 0x02d80167, 0x03327b53, 0x0185abbd, 0x00a98b6f, 0x02debc2e, 0x03f40dd0, 0x02458225, 0x01145973, 0x0005e76e}}}, + {X: Field{[10]uint32{0x0038183a, 0x03f8ab1e, 0x01467636, 0x02c2c151, 0x03e7c1d2, 0x01f457f6, 0x00aae6b5, 0x00f2a4dd, 0x013f5160, 0x0005b079}}, Y: Field{[10]uint32{0x03a183e3, 0x01a25d98, 0x0194ba53, 0x006815c1, 0x008d1f6c, 0x0383f724, 0x00af50c7, 0x026efd76, 0x02f056e0, 0x002fe163}}}, + {X: Field{[10]uint32{0x0301ccf4, 0x0299567a, 0x006eb0c3, 0x016c71a1, 0x01a2f240, 0x0305de00, 0x013a116a, 0x00be6b62, 0x02ea71b9, 0x001e4bc7}}, Y: Field{[10]uint32{0x0032a79d, 0x0342de8a, 0x001293cc, 0x002ef878, 0x0052c0df, 0x01e19ae7, 0x01ecf87a, 0x03bce4c4, 0x030cc610, 0x002f018b}}}, + {X: Field{[10]uint32{0x017378e1, 0x02e99769, 0x00dd7335, 0x02b3c201, 0x03917dab, 0x0044dff8, 0x004dc515, 0x01c673d5, 0x0040f057, 0x0006ce67}}, Y: Field{[10]uint32{0x000b425f, 0x029dd718, 0x02f6d380, 0x004aaa11, 0x02bfdd07, 0x0374cce8, 0x01e872c1, 0x02821507, 0x00d3b6e8, 0x001359e5}}}, + {X: Field{[10]uint32{0x02238e4f, 0x002ffeae, 0x02edec21, 0x01e2af85, 0x039f8cd2, 0x02223147, 0x00d8219b, 0x0173b783, 0x013eb9c4, 0x0004e2cc}}, Y: Field{[10]uint32{0x02ac56d6, 0x021c8f39, 0x03f7fd9e, 0x01b735b6, 0x0213f0f7, 0x03c2b349, 0x02d49512, 0x0010bd2d, 0x0357cbc8, 0x00286668}}}, + {X: Field{[10]uint32{0x03542338, 0x03f0937a, 0x0312284f, 0x00445f24, 0x008f4018, 0x03d2b869, 0x0068b24c, 0x01599340, 0x03119c76, 0x000f81b0}}, Y: Field{[10]uint32{0x0273624f, 0x039d55c1, 0x03696498, 0x02cca01e, 0x0293b08a, 0x026a4341, 0x01c45963, 0x01fc6daa, 0x0196e560, 0x0018e995}}}, + {X: Field{[10]uint32{0x03f8bd2e, 0x037a2d2e, 0x0125f8a3, 0x037bb47b, 0x0280f0f6, 0x005e7a77, 0x00e5455c, 0x0224c95d, 0x039b49c8, 0x0000fccb}}, Y: Field{[10]uint32{0x02589f17, 0x007e9ada, 0x02472855, 0x033b8ae1, 0x00091f49, 0x03d0aa77, 0x0090257b, 0x01be27bd, 0x031a5fc9, 0x0028b4ae}}}, + {X: Field{[10]uint32{0x02414ec5, 0x01dca651, 0x02b041fe, 0x03ef8ce0, 0x022c4f5e, 0x016c6e0a, 0x029602bf, 0x03143e84, 0x0017ffcc, 0x00226b71}}, Y: Field{[10]uint32{0x00253215, 0x01fbd523, 0x00bc8e2c, 0x00a0976a, 0x036c3daa, 0x02a9867b, 0x015c2915, 0x01d47405, 0x035c291b, 0x001339f9}}}, + {X: Field{[10]uint32{0x00e4e9b5, 0x03faab97, 0x01619a13, 0x03e81f07, 0x01e9f208, 0x00bd53d9, 0x017d4860, 0x02327d96, 0x01626bec, 0x003ccfef}}, Y: Field{[10]uint32{0x01593774, 0x00ad0914, 0x0025edf0, 0x022ddc9a, 0x02a6f43c, 0x00142c0c, 0x03e2eda3, 0x03c54a1f, 0x002bebb9, 0x00323c18}}}, + {X: Field{[10]uint32{0x00a7d6b8, 0x038f9929, 0x0071d568, 0x013d1448, 0x02117fa0, 0x003a5d01, 0x01f7703a, 0x038bdf91, 0x00ab7b90, 0x0003b332}}, Y: Field{[10]uint32{0x00a1b6f4, 0x005a6696, 0x0056048e, 0x01143c7f, 0x03fcc8a6, 0x0322ecd9, 0x033c2333, 0x028363cb, 0x0305a9c4, 0x002115bd}}}, + {X: Field{[10]uint32{0x017de915, 0x00fa5685, 0x03dfca4e, 0x035537c7, 0x000e6e31, 0x009d0fb4, 0x0181c754, 0x0218b960, 0x0333a7ad, 0x003da58a}}, Y: Field{[10]uint32{0x029e6605, 0x038c80ba, 0x01cf209e, 0x016a0cd6, 0x02055c15, 0x0280566a, 0x037e8ad2, 0x0173afe7, 0x03fb4851, 0x002bcf51}}}, + {X: Field{[10]uint32{0x02ace24d, 0x02748d36, 0x019e842b, 0x03c8e3fd, 0x025c45d2, 0x0025649a, 0x02d5df02, 0x03ec4197, 0x03c67996, 0x0000fc7c}}, Y: Field{[10]uint32{0x010ea28e, 0x012f529b, 0x0011f110, 0x00195a42, 0x03737507, 0x0088a36a, 0x023c30b2, 0x027c28a3, 0x01e4f0a2, 0x00356172}}}, + {X: Field{[10]uint32{0x026e589c, 0x0375145b, 0x030e34ae, 0x00b50206, 0x02dc3359, 0x02b4b357, 0x03f93c16, 0x00390f62, 0x00193629, 0x0003f2b8}}, Y: Field{[10]uint32{0x031165cc, 0x001ee851, 0x02c243a2, 0x0162e5c0, 0x02c8acb9, 0x03342665, 0x00710d88, 0x029110b7, 0x039ecc42, 0x0023a615}}}, + {X: Field{[10]uint32{0x011f522c, 0x015c2ac5, 0x012c6d89, 0x01f6ea8c, 0x01abc424, 0x03f23beb, 0x037922b5, 0x008a748e, 0x03ba0355, 0x001523c9}}, Y: Field{[10]uint32{0x02ab6fa9, 0x01fc6e21, 0x0200acb7, 0x018ce6e5, 0x02b7b63c, 0x03cdf207, 0x00ba774f, 0x01f35f23, 0x03d8bbb4, 0x00039565}}}, + {X: Field{[10]uint32{0x00146fa0, 0x00e6ef57, 0x003ab6e4, 0x02e18460, 0x0249797d, 0x0021adef, 0x025cf1ef, 0x00d1fb51, 0x0114e8bf, 0x0038bd92}}, Y: Field{[10]uint32{0x006ae76e, 0x035d18ff, 0x025d1d2e, 0x0251cb55, 0x0388b27a, 0x01debbe6, 0x02482570, 0x00793c54, 0x036f7c64, 0x00239a79}}}, + {X: Field{[10]uint32{0x0013db1d, 0x02faae8b, 0x011222cd, 0x0323ce33, 0x01c7d362, 0x00a62d03, 0x00f97622, 0x00303c76, 0x02a02d97, 0x0002314c}}, Y: Field{[10]uint32{0x0062bd0e, 0x01bfea1c, 0x0276801b, 0x02d8b7b0, 0x03568251, 0x032dd81b, 0x00ffc9fb, 0x0359b67a, 0x02e90428, 0x00243e28}}}, + {X: Field{[10]uint32{0x02291a23, 0x008c8618, 0x02f6d3c3, 0x025ebd59, 0x006fc0ed, 0x0014abb1, 0x02f7e0c8, 0x0065cbda, 0x02fee3c5, 0x0019191b}}, Y: Field{[10]uint32{0x007a69fe, 0x023d3dca, 0x03c50d6c, 0x022a61bf, 0x03a10eb8, 0x01c7cb76, 0x0276ee71, 0x00dc2cda, 0x0150f6ca, 0x00278a78}}}, + {X: Field{[10]uint32{0x033be659, 0x00787cd1, 0x011b51eb, 0x02fe699f, 0x01329199, 0x01bbd972, 0x03ff69a0, 0x037fdc32, 0x00da1df8, 0x001ba2e9}}, Y: Field{[10]uint32{0x015d852a, 0x01d19e60, 0x00a060f6, 0x0289f851, 0x03eb5a34, 0x0394def5, 0x03f21883, 0x01069cd7, 0x02c89594, 0x002b9d58}}}, + {X: Field{[10]uint32{0x036bcaef, 0x0307ccca, 0x029cae76, 0x007356e3, 0x02c94c87, 0x02b6fc7d, 0x020d7e1c, 0x00b03db7, 0x03c8f781, 0x0023086a}}, Y: Field{[10]uint32{0x007ed53e, 0x02832a5d, 0x006b2663, 0x03f9a3fd, 0x015a36d6, 0x03833bfa, 0x010ed037, 0x000f8950, 0x00c313be, 0x00169f27}}}, + {X: Field{[10]uint32{0x039f6353, 0x01ac9a4b, 0x01fea342, 0x00087ae2, 0x0010ce51, 0x015e8a3c, 0x0236ff76, 0x01f85099, 0x003a7c48, 0x0033838e}}, Y: Field{[10]uint32{0x0232e03a, 0x03030358, 0x02280532, 0x03dbf6b3, 0x0097fcb9, 0x031cf23b, 0x004e9da4, 0x01e010a0, 0x0065d43f, 0x000fe569}}}, + {X: Field{[10]uint32{0x01698eb8, 0x028dfb87, 0x03700080, 0x031f0072, 0x028078b6, 0x0119cff0, 0x00598483, 0x01f13fd1, 0x017f5147, 0x001f8cc2}}, Y: Field{[10]uint32{0x022d75a7, 0x03072972, 0x025ad141, 0x039a5c01, 0x02e282b7, 0x01241968, 0x001d274e, 0x0319e762, 0x03c07317, 0x003049d6}}}, + {X: Field{[10]uint32{0x016837a6, 0x01ec3904, 0x03867931, 0x019b3ecf, 0x01d686eb, 0x03bfc9cc, 0x031cf429, 0x01f987ec, 0x00d6b148, 0x003bd367}}, Y: Field{[10]uint32{0x0163be1f, 0x022dda8f, 0x012ecd11, 0x0161ffd8, 0x023bd2ff, 0x03a87ae8, 0x036461a6, 0x03756893, 0x02b4280d, 0x00313daf}}}, + {X: Field{[10]uint32{0x03716290, 0x015cecbc, 0x014b992c, 0x028b7c32, 0x03ce53f4, 0x0297e2e8, 0x0090bcb9, 0x024c93de, 0x01452ee4, 0x003cfb70}}, Y: Field{[10]uint32{0x03fb2f2d, 0x02a60834, 0x00dbf552, 0x01952470, 0x035c3905, 0x01f0aba4, 0x03301f08, 0x02c9ea36, 0x02abfbc9, 0x00265511}}}, + {X: Field{[10]uint32{0x03caa975, 0x01c32a0a, 0x02c92bd1, 0x009caf18, 0x0287d174, 0x00634831, 0x01341603, 0x03a45358, 0x02517398, 0x00307d88}}, Y: Field{[10]uint32{0x03769e99, 0x0019c821, 0x01cabfcb, 0x0148071d, 0x00f6d6da, 0x00a4bdc6, 0x0328d593, 0x016ddb54, 0x02273673, 0x0007216b}}}, + {X: Field{[10]uint32{0x023dea8e, 0x004c8791, 0x03889714, 0x00066956, 0x01b206c6, 0x038c41c5, 0x00561533, 0x00220752, 0x01f9605f, 0x0029fa07}}, Y: Field{[10]uint32{0x00ae8a4f, 0x01bfbe5f, 0x000adaa1, 0x03ad7151, 0x020eb23d, 0x01f7de5a, 0x0370dbba, 0x006f83c2, 0x00fd1f36, 0x000eb888}}}, + {X: Field{[10]uint32{0x006a536b, 0x01ca0af9, 0x033262fe, 0x02b16a33, 0x02f46af5, 0x01f52b97, 0x03ac0288, 0x03ca59e8, 0x03298f5d, 0x0006da6f}}, Y: Field{[10]uint32{0x0046a91f, 0x0093cbaa, 0x01c6028c, 0x03f62203, 0x02d7e9d7, 0x0066ce28, 0x0375c684, 0x0269c7a8, 0x00aa02d9, 0x00327189}}}, + {X: Field{[10]uint32{0x03bb44bb, 0x0048bb76, 0x0251db56, 0x021ff45c, 0x03b31c99, 0x02cecc49, 0x0315cb96, 0x018ee637, 0x03740317, 0x003377fb}}, Y: Field{[10]uint32{0x024869f5, 0x011679fc, 0x00b65854, 0x019e3de0, 0x00225f08, 0x028ca8e3, 0x0279ce26, 0x016a8d31, 0x02f42e93, 0x00025cbf}}}, + {X: Field{[10]uint32{0x00e957ff, 0x01c3ffd8, 0x0129cfcb, 0x00d79f00, 0x00ee07f2, 0x03bc0788, 0x0347d309, 0x01458d9a, 0x00ef2c8a, 0x000cbf87}}, Y: Field{[10]uint32{0x03b4588e, 0x013b7c93, 0x0036fe75, 0x031f116d, 0x023d13b2, 0x0030d53a, 0x033babe0, 0x0184922c, 0x0331bd37, 0x0027a185}}}, + {X: Field{[10]uint32{0x01c24b0d, 0x00896e1e, 0x02908505, 0x015c9955, 0x024a7596, 0x02bed87f, 0x01d0ccf6, 0x0104674c, 0x03e9f491, 0x0028e0be}}, Y: Field{[10]uint32{0x02111857, 0x01b36a34, 0x00a55513, 0x0063260e, 0x02cdde63, 0x01f088bf, 0x03e0287c, 0x02ff709c, 0x036039a1, 0x002a8c00}}}, + {X: Field{[10]uint32{0x0280ef88, 0x02453b06, 0x028bc6d6, 0x029e5a88, 0x0159e305, 0x01f00d13, 0x03e24670, 0x00c3ab84, 0x00399ae3, 0x002d4ed5}}, Y: Field{[10]uint32{0x01fadc7a, 0x003b8c35, 0x01a368f3, 0x00711d54, 0x02969d8d, 0x02ea2a38, 0x00f43cc8, 0x01b175d2, 0x00538dfc, 0x00266024}}}, + {X: Field{[10]uint32{0x0364169a, 0x007436be, 0x01b8df52, 0x02bc1abb, 0x00710fe2, 0x022c2b67, 0x00bbfed9, 0x03fb0fed, 0x0253f11c, 0x001886d4}}, Y: Field{[10]uint32{0x020378aa, 0x0036fa49, 0x00bb3abe, 0x01704d85, 0x033b9300, 0x00f81717, 0x01d025b6, 0x01abd88b, 0x01c48b71, 0x000a88d3}}}, + {X: Field{[10]uint32{0x01435b04, 0x00c5783e, 0x000bed5b, 0x03eae694, 0x001e5979, 0x003d5d63, 0x023f4428, 0x00f1fcc5, 0x036ccc9c, 0x0020ccca}}, Y: Field{[10]uint32{0x00d30ea0, 0x0285abf7, 0x012d416a, 0x03da1d8b, 0x0060c77d, 0x0100b761, 0x0241025c, 0x007c72f6, 0x0212258c, 0x00214d81}}}, + {X: Field{[10]uint32{0x03f6538a, 0x02a1a3f6, 0x006b668a, 0x0069e91d, 0x02fd54e2, 0x02806c43, 0x032d926d, 0x009888bd, 0x00e39120, 0x0009f236}}, Y: Field{[10]uint32{0x02d6eb91, 0x034ad088, 0x00090e90, 0x020484eb, 0x034d0c0a, 0x03783ffd, 0x009fe83f, 0x0121355b, 0x023fb8f2, 0x00221da3}}}, + {X: Field{[10]uint32{0x020067e5, 0x007aff81, 0x03a9155d, 0x0353c22d, 0x036ee768, 0x010955bb, 0x012e05ac, 0x008014bf, 0x030bbcd8, 0x003cd271}}, Y: Field{[10]uint32{0x010c6604, 0x0086939d, 0x009fb9f6, 0x02c1c75b, 0x0293fdc5, 0x01ebaa42, 0x003c4e9e, 0x0341431f, 0x00194011, 0x001b5657}}}, + {X: Field{[10]uint32{0x03b24f90, 0x0209e9c4, 0x03156edb, 0x00805ce9, 0x01a0183b, 0x030fe278, 0x031368ba, 0x0265998a, 0x027ab202, 0x00125995}}, Y: Field{[10]uint32{0x037e21ab, 0x01670cc0, 0x0094701f, 0x01645996, 0x01a097b8, 0x03020f8d, 0x0110ee76, 0x00eec252, 0x0036c2bb, 0x001bbe25}}}, + {X: Field{[10]uint32{0x013e0886, 0x01052fe4, 0x02eb69a7, 0x01d817fd, 0x0275611b, 0x02f18ffa, 0x0245b849, 0x0284fde1, 0x001b491d, 0x00124254}}, Y: Field{[10]uint32{0x01014df8, 0x02d96aa0, 0x03f17c54, 0x03dd7824, 0x0038b1ac, 0x0208ab17, 0x01d4c956, 0x001c3707, 0x02b6f2ee, 0x000b0831}}}, + {X: Field{[10]uint32{0x00cddb76, 0x0138d584, 0x01a72bf8, 0x023bb8f7, 0x03bd5f89, 0x03d058fd, 0x00d3ee40, 0x03450063, 0x0267f5a2, 0x0007b4b9}}, Y: Field{[10]uint32{0x02db8e7d, 0x024678c9, 0x027940f9, 0x03bda288, 0x02934810, 0x021a78db, 0x004babdd, 0x0133ab88, 0x00c564fa, 0x002ed25c}}}, + {X: Field{[10]uint32{0x0212f17b, 0x00758351, 0x03d5702a, 0x00361495, 0x00c15d1a, 0x037a1b5a, 0x01f9c8c7, 0x030dfeb7, 0x03410a0b, 0x00311eea}}, Y: Field{[10]uint32{0x02db09e3, 0x03baa068, 0x015cbb09, 0x019f3e0e, 0x00e84ce7, 0x028f30f8, 0x028091a1, 0x01f78444, 0x00b136f4, 0x000394ab}}}, + {X: Field{[10]uint32{0x027a7394, 0x03b1a831, 0x038c18f5, 0x03cf7484, 0x03f70825, 0x03b39d95, 0x0090b525, 0x033f10d5, 0x00c14993, 0x0038841a}}, Y: Field{[10]uint32{0x00c732da, 0x009c20c0, 0x00a12430, 0x03f276c1, 0x03065360, 0x017eadbe, 0x03997553, 0x02366caf, 0x0137d48f, 0x00335840}}}, + {X: Field{[10]uint32{0x03faf917, 0x01f93d0f, 0x03b87da0, 0x01bc47bb, 0x0200bd6a, 0x01942291, 0x029e1440, 0x00bd7ac1, 0x007d47a7, 0x0018d7d5}}, Y: Field{[10]uint32{0x03e64128, 0x00da48ca, 0x02642217, 0x015d53aa, 0x0021fecb, 0x0072c2fc, 0x024c8ed8, 0x01ced3cc, 0x01f23da2, 0x0023a82a}}}, + {X: Field{[10]uint32{0x01bdb47b, 0x0197c091, 0x02aa8485, 0x02ba4ca7, 0x013837b6, 0x00fe3993, 0x032f79ab, 0x02d2c7ff, 0x000a8648, 0x000918cb}}, Y: Field{[10]uint32{0x026e0426, 0x01b910bd, 0x03179814, 0x01d68e08, 0x02177ff8, 0x018aac8d, 0x02603608, 0x01574cf0, 0x0388c9e1, 0x00271b41}}}, + {X: Field{[10]uint32{0x037bf503, 0x03efde9a, 0x03b5ed59, 0x038574b0, 0x03146541, 0x032f2c06, 0x009cc56e, 0x00a75215, 0x01c3cfb2, 0x0010dd23}}, Y: Field{[10]uint32{0x01fb9c5c, 0x03cd3051, 0x019a9265, 0x01f86b7b, 0x000b2060, 0x0333623f, 0x007ea7f2, 0x026418ee, 0x01ed23a0, 0x00265d68}}}, + {X: Field{[10]uint32{0x03ae3ac0, 0x03ff72b0, 0x03a5804b, 0x03404549, 0x02bb8750, 0x026f8776, 0x0203b406, 0x0075a0c5, 0x0323b8c4, 0x0023e120}}, Y: Field{[10]uint32{0x02d1b37f, 0x020a22b0, 0x01c6e2c8, 0x00e8a95d, 0x01be81f8, 0x005f9691, 0x035805ab, 0x01830a1b, 0x00871282, 0x001dea2b}}}, + {X: Field{[10]uint32{0x0148422c, 0x0254ae8a, 0x012cc6e2, 0x036f1510, 0x002d8907, 0x00706720, 0x01e8be48, 0x0211b6ed, 0x0368b54d, 0x000a7af0}}, Y: Field{[10]uint32{0x03c7e845, 0x00bf898d, 0x0310aec7, 0x0285a180, 0x02426f79, 0x01e72f46, 0x02eb2d6f, 0x0276414e, 0x03a281d5, 0x0039ade4}}}, + {X: Field{[10]uint32{0x023ed345, 0x01e659c0, 0x008105ba, 0x000a7e39, 0x03d84bc6, 0x02dc5254, 0x00cbe21e, 0x0004b230, 0x03c4ccf4, 0x00250532}}, Y: Field{[10]uint32{0x017fdeee, 0x027ae035, 0x0272b39b, 0x0192edab, 0x01da45bb, 0x0338d72f, 0x0132790e, 0x028424b4, 0x039289e4, 0x002b47ba}}}, + {X: Field{[10]uint32{0x008f756e, 0x030f71ca, 0x035d411e, 0x02976c79, 0x000bea90, 0x003c8532, 0x03ab8149, 0x00009184, 0x025b769d, 0x0006f615}}, Y: Field{[10]uint32{0x01d375d8, 0x0085d770, 0x02b131df, 0x035f7315, 0x00b69c2c, 0x02af6b94, 0x01cfcb02, 0x007a46de, 0x006cfc78, 0x00301429}}}, + {X: Field{[10]uint32{0x0229cb01, 0x03b242c1, 0x013f276c, 0x038ca216, 0x0314ed0a, 0x02e37b59, 0x0009154e, 0x019af8f5, 0x004c35ad, 0x00013dd6}}, Y: Field{[10]uint32{0x03712bb0, 0x007acf05, 0x02048fb0, 0x03863c76, 0x021520fe, 0x0271685f, 0x00cf1b3e, 0x00483847, 0x0248232a, 0x003d2fa4}}}, + {X: Field{[10]uint32{0x01d9f13b, 0x031e0f87, 0x02b352b9, 0x021311dc, 0x01cffd16, 0x034bcf3b, 0x0127401f, 0x02cc5eac, 0x01de7e85, 0x0016c002}}, Y: Field{[10]uint32{0x0173ba64, 0x0048ca2e, 0x0048dbb4, 0x02fbb3f8, 0x01cb8839, 0x019cb1e3, 0x037cb7ce, 0x030d38cd, 0x0304f531, 0x003d1615}}}, + {X: Field{[10]uint32{0x03b32815, 0x00ef2b18, 0x019c3ad1, 0x014cfcfb, 0x0037f853, 0x0088b7ce, 0x025fdbc4, 0x01bc04ba, 0x01c37939, 0x00319bcc}}, Y: Field{[10]uint32{0x02b22668, 0x0334f69b, 0x01ca3ea1, 0x0212eeb1, 0x024113ee, 0x02d41490, 0x023ca861, 0x03a72f04, 0x00084ae5, 0x0001f5ee}}}, + {X: Field{[10]uint32{0x0263abd6, 0x03217997, 0x03af1a57, 0x0157a469, 0x023d7ba4, 0x03a679a5, 0x03a51b3e, 0x0264d09a, 0x035dc8b0, 0x000cc25f}}, Y: Field{[10]uint32{0x0270d7c4, 0x00d648b0, 0x02d80638, 0x03b59b93, 0x02987401, 0x0061a5d9, 0x039e1206, 0x00627722, 0x033b200c, 0x003ef49a}}}, + {X: Field{[10]uint32{0x005ffff4, 0x0374aa72, 0x015f8c37, 0x002e138e, 0x01aa71cf, 0x03eef90f, 0x02922d5f, 0x03b182e6, 0x0245a3b7, 0x0006b394}}, Y: Field{[10]uint32{0x0325084f, 0x0113686e, 0x029871c4, 0x01344358, 0x0006ad3f, 0x01b2eda7, 0x01c51cbb, 0x023e6fca, 0x01679470, 0x001cb03b}}}, + {X: Field{[10]uint32{0x030c4471, 0x0296bcda, 0x03512692, 0x00cb354b, 0x006ed54e, 0x00fe480b, 0x03225249, 0x0130b2fe, 0x039e4cce, 0x002f065e}}, Y: Field{[10]uint32{0x01673f70, 0x00213ef7, 0x017dfadb, 0x02553574, 0x013cad9b, 0x03b14222, 0x016be56c, 0x00197693, 0x02635182, 0x003544dd}}}, + {X: Field{[10]uint32{0x00c7df70, 0x0342f237, 0x03fab76a, 0x0002de69, 0x0213c6f5, 0x03b2b625, 0x00cfa733, 0x036fb45d, 0x0131334b, 0x0019a65e}}, Y: Field{[10]uint32{0x0199435a, 0x026f4b19, 0x003310d4, 0x037c9a50, 0x00ab00af, 0x0012b158, 0x03e7d3a5, 0x00663bb8, 0x0301948e, 0x003f6f4c}}}, + {X: Field{[10]uint32{0x026eb4bf, 0x020f30c6, 0x008b3890, 0x00bcdc2c, 0x02563742, 0x0040fde6, 0x020b9620, 0x020be5f0, 0x00dfb38d, 0x000eea1b}}, Y: Field{[10]uint32{0x0258dfc8, 0x035ab48c, 0x02fee33d, 0x00aaf7b2, 0x035377e3, 0x02d1db86, 0x017f9819, 0x02ec4e6f, 0x001176de, 0x002b3b26}}}, + {X: Field{[10]uint32{0x031603cd, 0x024c36fb, 0x01243fed, 0x027ddba0, 0x02639519, 0x00b64575, 0x03acdbdc, 0x01c76130, 0x032f9db9, 0x0003d890}}, Y: Field{[10]uint32{0x027b5f28, 0x0031e5d2, 0x02444c2e, 0x013bac46, 0x0282269f, 0x037a1d5f, 0x0056acd5, 0x01331b96, 0x033d177b, 0x003ba273}}}, + {X: Field{[10]uint32{0x0067bbaf, 0x02bbaa70, 0x00b1d688, 0x0141e538, 0x01b6d812, 0x016ca028, 0x016e6500, 0x03a9182b, 0x03dc6a6d, 0x00212d06}}, Y: Field{[10]uint32{0x03c00e7c, 0x03090e67, 0x032b2ab8, 0x01b97343, 0x03e452fe, 0x017c3c32, 0x008cdf7b, 0x02d2ecae, 0x003cb535, 0x0027de1c}}}, + {X: Field{[10]uint32{0x009d4c67, 0x010b06b2, 0x01f8828a, 0x02b294e6, 0x01048c52, 0x022e3515, 0x00f48839, 0x0128538a, 0x02a93ea6, 0x00238b7f}}, Y: Field{[10]uint32{0x02781271, 0x0169267c, 0x02ff7593, 0x01d3da77, 0x03e09d74, 0x023b413a, 0x01df10dd, 0x00d814cd, 0x0149cda5, 0x003fb005}}}, + {X: Field{[10]uint32{0x03105e0b, 0x009dd666, 0x012f118b, 0x028903a4, 0x01dbd2f6, 0x032f0be8, 0x0175e364, 0x02b074ff, 0x01ae5401, 0x0030ef1b}}, Y: Field{[10]uint32{0x0363d6b4, 0x01430fce, 0x00c340a6, 0x0122dbc3, 0x019c5dba, 0x000dc02c, 0x02345063, 0x024c9bf4, 0x00f55b73, 0x0005c3f7}}}, + {X: Field{[10]uint32{0x03c14691, 0x03b32268, 0x0395da10, 0x03b7a4d5, 0x00c2defc, 0x009ffe04, 0x01a289e0, 0x014b9eb1, 0x02931b1e, 0x000cc24f}}, Y: Field{[10]uint32{0x00deec38, 0x021e9fdc, 0x0047a7ee, 0x002f5a2f, 0x0102114f, 0x02b843ee, 0x03dc8421, 0x017af699, 0x01845bd5, 0x001feee9}}}, + {X: Field{[10]uint32{0x00141ef9, 0x03f9cd36, 0x00208a36, 0x00cbb2f3, 0x013f1211, 0x031e3762, 0x02c765ed, 0x028f3801, 0x0038b6d1, 0x00086cd5}}, Y: Field{[10]uint32{0x02e300d0, 0x01afc1ba, 0x02a7f256, 0x02f8ec59, 0x01e2d516, 0x01bed423, 0x01a82b36, 0x01f723d8, 0x01a5ed23, 0x0003d845}}}, + {X: Field{[10]uint32{0x03892df3, 0x020bf1b4, 0x008de037, 0x008470b9, 0x03ade708, 0x023a793e, 0x0248edf2, 0x03b45cc0, 0x0183aa1b, 0x0033b599}}, Y: Field{[10]uint32{0x00fdec96, 0x0239ce06, 0x031b6cb3, 0x00d4901f, 0x02c3a818, 0x03110710, 0x03e634e3, 0x0280efc3, 0x0136f29d, 0x0013d0eb}}}, + {X: Field{[10]uint32{0x026f71f8, 0x0215cefb, 0x03ec023a, 0x01f333ca, 0x0337f6eb, 0x027ef32b, 0x02731222, 0x02a2bac1, 0x0020f541, 0x003169d1}}, Y: Field{[10]uint32{0x00adb259, 0x01921958, 0x017096c8, 0x00d524d3, 0x021612a5, 0x0097e964, 0x00a6e25d, 0x00f4db00, 0x00024426, 0x002b98d3}}}, + {X: Field{[10]uint32{0x00b9de9e, 0x012eb052, 0x0212ef0a, 0x007f1334, 0x008311c5, 0x016c57a9, 0x03255211, 0x01ad2ca9, 0x008bf30f, 0x000c1281}}, Y: Field{[10]uint32{0x023bb3cd, 0x02c19781, 0x03fec154, 0x0216c848, 0x0311ceeb, 0x02a54fea, 0x01cb5dc8, 0x02fc344a, 0x01003d6e, 0x0023e4d6}}}, + {X: Field{[10]uint32{0x039c2048, 0x02fef356, 0x0251972e, 0x03c4eec1, 0x016ecb66, 0x01e047a4, 0x009875e9, 0x002bd42b, 0x01ae7eba, 0x003fe5ad}}, Y: Field{[10]uint32{0x0352a887, 0x00678bd8, 0x00e3c319, 0x0321c3f5, 0x033de89c, 0x015abb46, 0x00a0b1db, 0x0073ab96, 0x0186bca7, 0x00092bc8}}}, + {X: Field{[10]uint32{0x01b701a3, 0x037389ec, 0x035d050b, 0x02e5282c, 0x028b6d38, 0x01bf6cf3, 0x01472437, 0x00bbb410, 0x021cdf73, 0x00164273}}, Y: Field{[10]uint32{0x0224dfdf, 0x0301782c, 0x012b037f, 0x02eefdde, 0x037d3731, 0x000e0e8f, 0x01cf2239, 0x039d8609, 0x01440665, 0x0000b912}}}, + {X: Field{[10]uint32{0x03d1d527, 0x01acc3aa, 0x01ad7cfb, 0x01d32bc1, 0x0008ef99, 0x00a11152, 0x02032b79, 0x019841be, 0x031f86d6, 0x003fdadd}}, Y: Field{[10]uint32{0x008ba4b3, 0x03c109e4, 0x03f50b25, 0x02b8d512, 0x029fcd0b, 0x03a7daa1, 0x037e0557, 0x03a473fd, 0x029c9393, 0x001aaf4a}}}, + {X: Field{[10]uint32{0x021aa8d9, 0x035f48ce, 0x005f4bef, 0x0215f9ff, 0x03be9196, 0x00b66b39, 0x03da48a1, 0x007eb47b, 0x030494dd, 0x00250f33}}, Y: Field{[10]uint32{0x020a7bd6, 0x0044d306, 0x01c523d0, 0x007161e4, 0x006014e0, 0x029f93c4, 0x011a23fc, 0x00fe2cdd, 0x00cc2dd9, 0x0013c22d}}}, + {X: Field{[10]uint32{0x005f172c, 0x03127dd0, 0x035b3ee6, 0x022c7672, 0x0147a463, 0x03c9b0d0, 0x00e0968b, 0x00737242, 0x03a7a89e, 0x00029e69}}, Y: Field{[10]uint32{0x03bb8ceb, 0x03ba43fc, 0x00cd1b3c, 0x01dae60e, 0x03ebadcb, 0x0300c96c, 0x0097f34e, 0x02f8eb95, 0x016714b5, 0x0032d4f6}}}, + {X: Field{[10]uint32{0x007b89dd, 0x03014547, 0x01b2fa50, 0x00daa8cf, 0x024f548b, 0x005cfde2, 0x021667cd, 0x01bbeaa1, 0x02fc7117, 0x000a3fcb}}, Y: Field{[10]uint32{0x02fe4941, 0x03889275, 0x01988dc6, 0x02ccdf5e, 0x038e67cd, 0x0235f6f7, 0x005e1656, 0x02857c52, 0x0307db4b, 0x0011d6cd}}}, + {X: Field{[10]uint32{0x01012968, 0x021facec, 0x03557f86, 0x01ebc2b9, 0x00223e89, 0x016d3280, 0x0304fa25, 0x01a21701, 0x033216a8, 0x00216cb0}}, Y: Field{[10]uint32{0x0257ea11, 0x0175cd75, 0x015c5704, 0x039e6341, 0x021f2bcb, 0x003bd1e7, 0x03cbe7af, 0x01015bbe, 0x0145ba66, 0x00287d63}}}, + {X: Field{[10]uint32{0x00bb8778, 0x01c32697, 0x01d47c2a, 0x03834d53, 0x027a02b3, 0x01ef4da4, 0x028e2add, 0x00cb7901, 0x0109eefb, 0x003a7f0b}}, Y: Field{[10]uint32{0x0365c312, 0x003b1696, 0x01cdf80d, 0x03b2f632, 0x00f249d7, 0x03d4f33d, 0x02e219bb, 0x0341a00f, 0x02a51216, 0x003b8026}}}, + {X: Field{[10]uint32{0x00005d9e, 0x0010be68, 0x02d65763, 0x0341883f, 0x02a1cc88, 0x0288a142, 0x0238af95, 0x00434c9b, 0x0350afd5, 0x00368b72}}, Y: Field{[10]uint32{0x033eaeab, 0x0007af84, 0x014436d5, 0x026ac5b2, 0x01ae0eab, 0x004c237a, 0x016af23f, 0x00258d78, 0x03b1c370, 0x0007bbd1}}}, + {X: Field{[10]uint32{0x02b352e0, 0x01f68f07, 0x02f08b9b, 0x034ffded, 0x02327891, 0x0021cd59, 0x03174027, 0x019baf39, 0x029cc6b1, 0x000836a8}}, Y: Field{[10]uint32{0x02e8a3fb, 0x0374fdde, 0x027a4299, 0x00981370, 0x02a30cb5, 0x00b0e8c9, 0x01d66929, 0x03e937b0, 0x002cecd6, 0x000bfda6}}}, + {X: Field{[10]uint32{0x03674d9b, 0x00bafdd4, 0x00bdd71b, 0x0101b30d, 0x023aab84, 0x025be7d3, 0x0147a534, 0x02f84d9d, 0x00dd2ae5, 0x00385ac2}}, Y: Field{[10]uint32{0x03a06846, 0x01e87646, 0x02c1d931, 0x0322dc4d, 0x0248a1af, 0x00d5ed6e, 0x003d60d6, 0x00ac7239, 0x024bd952, 0x002dc3dc}}}, + {X: Field{[10]uint32{0x016b93d3, 0x014d59f9, 0x00475807, 0x03b00f1a, 0x00c59670, 0x002c1b51, 0x039485e0, 0x036cd03f, 0x01af2d69, 0x0022228b}}, Y: Field{[10]uint32{0x01d4e3f5, 0x01e7ed8c, 0x01a9e9ba, 0x0212de52, 0x028e8043, 0x02c9c6ae, 0x00753f05, 0x002e0ab1, 0x03a7792e, 0x00376f93}}}, + {X: Field{[10]uint32{0x016abd12, 0x035831d8, 0x01704d50, 0x0032fd0f, 0x02ee6d8e, 0x00c7e5ec, 0x022e3081, 0x03f754b0, 0x00e29090, 0x001d1dda}}, Y: Field{[10]uint32{0x00b61058, 0x02eb1827, 0x0384099d, 0x01172338, 0x0227b266, 0x03b9ffcd, 0x012879e5, 0x0382d2ed, 0x03408d1c, 0x003aa9d7}}}, + {X: Field{[10]uint32{0x018d6eda, 0x01f5e73f, 0x011435a1, 0x0163e44c, 0x0380897a, 0x01f00307, 0x0337cc88, 0x004c6a34, 0x02ac1c7d, 0x00215a7c}}, Y: Field{[10]uint32{0x03eacf71, 0x01fb5b60, 0x01a8edda, 0x02aa9397, 0x0385e43b, 0x011a8ce4, 0x00e700a7, 0x001ba0be, 0x0344252d, 0x001413c2}}}, + {X: Field{[10]uint32{0x011860c9, 0x035a1078, 0x00591e57, 0x03e2f920, 0x00c4418d, 0x010a6e1d, 0x00a1d680, 0x0087713f, 0x03f9a672, 0x0013c57c}}, Y: Field{[10]uint32{0x0096b7ed, 0x02571529, 0x02a820b7, 0x02f13318, 0x013f1154, 0x01f4a418, 0x02bda108, 0x02a70685, 0x01561783, 0x00260b03}}}, + {X: Field{[10]uint32{0x004a92ce, 0x02fdf005, 0x019439e1, 0x036ea909, 0x0204e4f9, 0x03dc9635, 0x03d56ce6, 0x01b878fa, 0x02201f22, 0x00087946}}, Y: Field{[10]uint32{0x01aac869, 0x011c1e5d, 0x0235918d, 0x019d144d, 0x02428f31, 0x0326f42a, 0x001486fe, 0x0292b497, 0x0001b6a5, 0x001311ea}}}, + {X: Field{[10]uint32{0x000211a0, 0x00a84627, 0x01f2ed5e, 0x00d8e56f, 0x03e0f283, 0x03fdafe2, 0x034c4f9d, 0x03b03342, 0x002e8865, 0x003eb1f9}}, Y: Field{[10]uint32{0x00dd695e, 0x01aee8b1, 0x025c641e, 0x02dceeb5, 0x02ce656f, 0x0265cc1e, 0x01fece11, 0x00667bec, 0x019c8337, 0x000da04b}}}, + {X: Field{[10]uint32{0x0226d225, 0x01915246, 0x03469910, 0x00b5ee72, 0x0257f0f4, 0x010b4a7b, 0x01686714, 0x031dfb31, 0x039ec91b, 0x002851e0}}, Y: Field{[10]uint32{0x005bc5a4, 0x001dc2b2, 0x02edab73, 0x0138bc53, 0x02fc0d06, 0x028a7f06, 0x0120257f, 0x019fc618, 0x010ebf72, 0x003d010d}}}, + {X: Field{[10]uint32{0x00636b8c, 0x02790706, 0x01e2bdf1, 0x003dc5ab, 0x0344a790, 0x00563cf8, 0x0083c1f4, 0x01a01112, 0x00f9e508, 0x0034484b}}, Y: Field{[10]uint32{0x03fc0964, 0x00eb2c09, 0x02ec0555, 0x03203a31, 0x022f9c21, 0x00c8d71a, 0x00183a0f, 0x0059944a, 0x005107b9, 0x0001c82e}}}, + {X: Field{[10]uint32{0x03948975, 0x027fa422, 0x03ce72dd, 0x03282249, 0x022e4852, 0x00681f5e, 0x037c1250, 0x0095e025, 0x0334a7ab, 0x0004f57c}}, Y: Field{[10]uint32{0x018773ca, 0x01edbade, 0x0282a7d8, 0x014d1e7f, 0x02ff9987, 0x03a30e05, 0x0231db1a, 0x02aed473, 0x01e2d1d0, 0x0025ce1a}}}, + {X: Field{[10]uint32{0x0063507d, 0x02f7ec39, 0x007e6b9a, 0x0294d31e, 0x025ec754, 0x01af084d, 0x029bec32, 0x027a39da, 0x01616dae, 0x0007c19a}}, Y: Field{[10]uint32{0x035b262d, 0x03473471, 0x013ceb5b, 0x01d02ccd, 0x03c6f999, 0x0264ea6f, 0x01f9fc12, 0x00447e20, 0x030eb4ea, 0x00369201}}}, + {X: Field{[10]uint32{0x01150269, 0x02ab57da, 0x020298d4, 0x03400453, 0x01907b15, 0x027e5d7d, 0x02d9a495, 0x00770f12, 0x01873868, 0x0001ca78}}, Y: Field{[10]uint32{0x01455442, 0x001967e3, 0x003f2456, 0x020a7a36, 0x02c1901c, 0x02c0d69f, 0x020022c8, 0x02806db7, 0x018ec60e, 0x0036fcbb}}}, + {X: Field{[10]uint32{0x01fda12a, 0x0085a1c7, 0x02fa02ee, 0x03bb0810, 0x028e3692, 0x03864309, 0x002435fd, 0x00d1dd35, 0x03e96135, 0x003a4bf2}}, Y: Field{[10]uint32{0x0164f2ff, 0x014b320b, 0x01a84fb8, 0x01447c07, 0x03585b14, 0x039bb173, 0x02369575, 0x02035907, 0x000e3f52, 0x0029d6d7}}}, + {X: Field{[10]uint32{0x00da36df, 0x0204b532, 0x01c1c789, 0x0335fcad, 0x001ad35b, 0x00fdae41, 0x004dfbf9, 0x0234e7a7, 0x021ac69f, 0x002170b9}}, Y: Field{[10]uint32{0x00b53f45, 0x03eaecf0, 0x03752f38, 0x036efca5, 0x02575264, 0x00caac46, 0x00a50b33, 0x00a78697, 0x01876944, 0x00329b64}}}, + {X: Field{[10]uint32{0x011bc05c, 0x0051f86f, 0x0024f10f, 0x016021e7, 0x003adf99, 0x016b93c0, 0x01c2791b, 0x031ad03d, 0x0232c33c, 0x0004345d}}, Y: Field{[10]uint32{0x039a687d, 0x00b24a64, 0x01718a8b, 0x013cc481, 0x000be846, 0x02393170, 0x01bae008, 0x03b1bd17, 0x0334f1dd, 0x003857b9}}}, + {X: Field{[10]uint32{0x025d609a, 0x03b21af8, 0x036f028f, 0x035a09d1, 0x0092511d, 0x01fa82ef, 0x01820bd2, 0x0225cbce, 0x03452593, 0x0029a508}}, Y: Field{[10]uint32{0x0311d6e9, 0x01cc20d3, 0x016bd0ea, 0x01b02d4a, 0x00af49ee, 0x0095b2d2, 0x036d1b66, 0x01cfd24f, 0x0216870f, 0x00381acd}}}, + {X: Field{[10]uint32{0x0394d8ac, 0x019b6237, 0x0190604f, 0x01d5aec3, 0x03c401a6, 0x016db131, 0x02ba0524, 0x02b8fd0f, 0x00ed2b3d, 0x002d29f6}}, Y: Field{[10]uint32{0x00963456, 0x00291b64, 0x01ecfd2b, 0x00138429, 0x01074dcb, 0x0341ebcd, 0x03def119, 0x036d6bf5, 0x00631a2c, 0x003ff207}}}, + {X: Field{[10]uint32{0x01a6fd17, 0x0078aaf7, 0x01266303, 0x03fd613c, 0x03f84fb2, 0x026a9574, 0x01cb660d, 0x00f15ca1, 0x021daebd, 0x0016baf8}}, Y: Field{[10]uint32{0x02f1abe8, 0x03366676, 0x00ff6d9d, 0x03bdecd7, 0x038f5994, 0x03572114, 0x0178c40c, 0x02d4c834, 0x01136a51, 0x00008ba9}}}, + {X: Field{[10]uint32{0x008c7f87, 0x00c5b9cb, 0x01c51278, 0x00360e18, 0x0269388d, 0x01158ea9, 0x016d64cb, 0x022356de, 0x02641943, 0x002b1a11}}, Y: Field{[10]uint32{0x02f41ac1, 0x004eace7, 0x02e5ff89, 0x02209961, 0x034d7109, 0x03da4fa4, 0x03bf1143, 0x002c0425, 0x02d82dc9, 0x0032e509}}}, + {X: Field{[10]uint32{0x00955250, 0x00855f09, 0x028356b8, 0x0190589f, 0x0176ad27, 0x009f3a2a, 0x00c58c2f, 0x0398861d, 0x01490f89, 0x001be52f}}, Y: Field{[10]uint32{0x007c5614, 0x037cfe6f, 0x012ec0d8, 0x02163b03, 0x01e3633a, 0x03e188bd, 0x03d9cf68, 0x0371f171, 0x00ce4a54, 0x003490cc}}}, + {X: Field{[10]uint32{0x0008f137, 0x01024168, 0x02fa9d09, 0x0229e168, 0x00775e06, 0x02b17fd1, 0x019ec5c9, 0x0251e81b, 0x008ce149, 0x0000fe5b}}, Y: Field{[10]uint32{0x005f3f40, 0x003ab320, 0x00ce2b12, 0x0100c380, 0x009b7d9e, 0x00d8327f, 0x03613d4e, 0x029418f3, 0x03af7111, 0x002a4773}}}, + {X: Field{[10]uint32{0x039c707d, 0x01c2565d, 0x033c8f34, 0x01866ca9, 0x00405a5b, 0x0124265d, 0x022a4c17, 0x01d74ee1, 0x005cdfd6, 0x0036016c}}, Y: Field{[10]uint32{0x003b6865, 0x0233b20f, 0x03a66b6d, 0x03c40f30, 0x0184366e, 0x02edff2c, 0x022abdbf, 0x027cb78e, 0x004cc727, 0x0029a2d5}}}, + {X: Field{[10]uint32{0x039df0e4, 0x02f8d381, 0x031d4808, 0x00cdbcbd, 0x03591422, 0x01d2afa6, 0x020efa78, 0x0272d9af, 0x000bd418, 0x00348a4f}}, Y: Field{[10]uint32{0x012682b1, 0x0301a3c8, 0x0131318c, 0x0268ff83, 0x017f24f7, 0x033a8e1c, 0x03fe70a5, 0x012582e6, 0x024887c5, 0x0017ef0c}}}, + {X: Field{[10]uint32{0x03209d5f, 0x032b6716, 0x016570fa, 0x03ed55be, 0x01e3f107, 0x01dacf17, 0x0149d26e, 0x008ff9eb, 0x010be226, 0x0024c7c2}}, Y: Field{[10]uint32{0x031cc087, 0x034685d2, 0x00144d5a, 0x03006143, 0x01848f57, 0x006ba8e5, 0x01daf748, 0x02626619, 0x0279d2a8, 0x00330957}}}, + {X: Field{[10]uint32{0x01e5ddc9, 0x0165cc8e, 0x00987a03, 0x002b6cd0, 0x006e4e69, 0x021500e9, 0x02a72f62, 0x03fdaf23, 0x02836707, 0x00046298}}, Y: Field{[10]uint32{0x03ff818b, 0x0086603d, 0x027ad722, 0x02361704, 0x00b6f5a1, 0x0365abe1, 0x039d4470, 0x024160db, 0x03e5e65a, 0x00247c03}}}, + {X: Field{[10]uint32{0x036a985a, 0x0071a907, 0x014be189, 0x00b4b998, 0x01b811ca, 0x03475278, 0x014ba420, 0x02d26b40, 0x00eb5b6c, 0x0020425b}}, Y: Field{[10]uint32{0x03607e5d, 0x03fa5c2d, 0x038f5b4d, 0x0181ac12, 0x003f4948, 0x00d52d9d, 0x0050a3c1, 0x03cf95e0, 0x01c5f8f9, 0x00036814}}}, + {X: Field{[10]uint32{0x000cae06, 0x0042624c, 0x0068b9f4, 0x010db771, 0x00351b7e, 0x020fad1f, 0x013559e7, 0x017b58b7, 0x00385ff4, 0x0026a029}}, Y: Field{[10]uint32{0x0004b6d0, 0x015efe2e, 0x01cad30e, 0x01678f90, 0x00bee656, 0x003154e6, 0x028aee8b, 0x02716d18, 0x039921b6, 0x00211747}}}, + {X: Field{[10]uint32{0x02747906, 0x009023d1, 0x0209081c, 0x0137eeed, 0x02214395, 0x007a57fa, 0x02c1d596, 0x0156e5fe, 0x00f3b899, 0x001a8c5a}}, Y: Field{[10]uint32{0x00ccc005, 0x00f15ca3, 0x01403c48, 0x007a0475, 0x02012c74, 0x00b2406d, 0x0244a3f8, 0x03c420eb, 0x03886778, 0x0016d7c7}}}, + {X: Field{[10]uint32{0x01214af8, 0x002a43f8, 0x018a73db, 0x03fbd3e3, 0x03797710, 0x022f23b5, 0x03d42985, 0x0196e88e, 0x031178d1, 0x002680ea}}, Y: Field{[10]uint32{0x01e85665, 0x00ad6f22, 0x0265ca65, 0x00287542, 0x0159a555, 0x02955bd4, 0x0112f2bf, 0x012fd245, 0x00e7e61e, 0x001c2223}}}, + {X: Field{[10]uint32{0x00ea2f5d, 0x01e3bdbd, 0x00e25e78, 0x01066477, 0x01296c8c, 0x0230525c, 0x02615754, 0x03678566, 0x018d78b8, 0x00232430}}, Y: Field{[10]uint32{0x031ca074, 0x005220b2, 0x01a68028, 0x03e6da42, 0x032b97c0, 0x036edc89, 0x0244a5e5, 0x02394685, 0x00cfde62, 0x000a950a}}}, + {X: Field{[10]uint32{0x008a8957, 0x035b74d4, 0x01d43b68, 0x008cce7f, 0x00933279, 0x000b27b4, 0x037a5daa, 0x00093613, 0x037f3062, 0x000ba6ea}}, Y: Field{[10]uint32{0x02a43345, 0x011d4c34, 0x02aca4a1, 0x023268dd, 0x03ea7e4f, 0x0148ecb7, 0x01e21f19, 0x000f27c8, 0x00b73f38, 0x00326be0}}}, + {X: Field{[10]uint32{0x02466322, 0x005d9c66, 0x0384db5c, 0x0260d0eb, 0x03e21298, 0x03ef9a8d, 0x0295e7c1, 0x033fbd92, 0x032e718e, 0x0009cd2f}}, Y: Field{[10]uint32{0x0284216e, 0x018d8c79, 0x03ca8f0a, 0x012f7e28, 0x007d0a1e, 0x01a5cc4b, 0x02a0ce34, 0x017c338d, 0x018a9f11, 0x003d4c02}}}, + {X: Field{[10]uint32{0x016aab58, 0x030a9475, 0x000d5e21, 0x01ee323d, 0x004af325, 0x01e6d485, 0x001b9975, 0x012939ba, 0x02f9500e, 0x002ae7b2}}, Y: Field{[10]uint32{0x01e0f047, 0x0035470f, 0x01bc3ff3, 0x039d5d0f, 0x01d0aaed, 0x00e2a216, 0x015e9d19, 0x0061126f, 0x03468e08, 0x003df4e1}}}, + {X: Field{[10]uint32{0x031af368, 0x0190d6b2, 0x000c0169, 0x01353a11, 0x00292b4d, 0x016eaa20, 0x029cd3e8, 0x027bcb96, 0x0146a4c0, 0x002b897d}}, Y: Field{[10]uint32{0x03f3da84, 0x004157bd, 0x03d59e05, 0x03c84404, 0x0080bd59, 0x0254f1b1, 0x039a9f22, 0x02103edc, 0x03b37373, 0x0011a8ac}}}, + {X: Field{[10]uint32{0x012e6142, 0x020f7070, 0x00ace54a, 0x02cafb01, 0x034e35ab, 0x0213f003, 0x017efaa8, 0x00736bd6, 0x01a64ef2, 0x00150a17}}, Y: Field{[10]uint32{0x00cdbc3d, 0x002db0c8, 0x03f6e522, 0x0124351b, 0x00b962a8, 0x00897757, 0x03c2dc29, 0x01ed6e91, 0x02b2144d, 0x000120ef}}}, + {X: Field{[10]uint32{0x03dca65e, 0x03ad984d, 0x00874c8d, 0x03ba8a45, 0x0035a627, 0x01a9e15f, 0x02d542ed, 0x008c7d82, 0x003404bc, 0x002fb3a1}}, Y: Field{[10]uint32{0x022f6a95, 0x00bd3acf, 0x034f8e9c, 0x02b6934e, 0x00fe1c93, 0x03820495, 0x0077fb8d, 0x039cbe39, 0x038002f9, 0x00288a7e}}}, + {X: Field{[10]uint32{0x035e81d1, 0x03672d3e, 0x0326b26f, 0x00b6b9b0, 0x0389994a, 0x03a082ef, 0x02fe5af1, 0x02e15d1c, 0x0347b148, 0x0000f555}}, Y: Field{[10]uint32{0x01e465df, 0x000073ef, 0x0052db90, 0x03efbf56, 0x03c9ea7d, 0x02cac58b, 0x035bc4f1, 0x00a293d8, 0x025ae867, 0x0037b7b2}}}, + {X: Field{[10]uint32{0x01cde5d4, 0x025f73dd, 0x01715fbc, 0x0080cd1d, 0x021846b5, 0x022fda9c, 0x036361a8, 0x00f1cd67, 0x0219d163, 0x0004f1a0}}, Y: Field{[10]uint32{0x03f83af4, 0x0104fe4d, 0x02e55935, 0x038aacad, 0x03bddf0c, 0x00b5e7a7, 0x02bfe7c5, 0x01fc825a, 0x00c239fc, 0x0033a28f}}}, + {X: Field{[10]uint32{0x01b0a6ac, 0x014049b5, 0x03433436, 0x00a6fa0d, 0x0036690a, 0x02ad4bc6, 0x00c481ad, 0x00691c9d, 0x02e1a804, 0x003a7902}}, Y: Field{[10]uint32{0x00c6bb7f, 0x0191bc8e, 0x029a9577, 0x008a9576, 0x019a22fa, 0x012451f3, 0x031f3147, 0x00e6e04d, 0x00b79c98, 0x00306656}}}, + {X: Field{[10]uint32{0x01493068, 0x006d3228, 0x00eea632, 0x01c6689a, 0x0113af43, 0x0236d872, 0x0353a537, 0x028697dc, 0x01537460, 0x000b8ed1}}, Y: Field{[10]uint32{0x03a54dcf, 0x014b1772, 0x01bb6e04, 0x03cadbed, 0x015ccf5c, 0x02439540, 0x019d3e22, 0x019b2125, 0x02561049, 0x003dee97}}}, + {X: Field{[10]uint32{0x034c62b8, 0x03c3d202, 0x0091edb1, 0x03713329, 0x026a59f3, 0x03d9c373, 0x02aa40eb, 0x012c019f, 0x0082b921, 0x0026156f}}, Y: Field{[10]uint32{0x00fcf435, 0x03072033, 0x000098d4, 0x0084e11e, 0x0387184e, 0x02c1c580, 0x0237d6b5, 0x031cf3a7, 0x036e3be6, 0x0029f64f}}}, + {X: Field{[10]uint32{0x01253979, 0x03e11d85, 0x00866982, 0x03148cee, 0x0367486b, 0x0273c9f7, 0x004bee26, 0x00a44db5, 0x00a9b934, 0x000dfe08}}, Y: Field{[10]uint32{0x0070ca15, 0x01a28a1e, 0x0288b2a5, 0x00ee75ee, 0x0150dd89, 0x01f159a9, 0x0345a5a3, 0x0274ddfc, 0x029daa62, 0x003f72ba}}}, + {X: Field{[10]uint32{0x02d41a98, 0x02a747f7, 0x013b03cb, 0x028a8e13, 0x023e0cd0, 0x001c3167, 0x00f6ba28, 0x00ec31a4, 0x0098a92a, 0x003a0b4b}}, Y: Field{[10]uint32{0x00501460, 0x021af832, 0x0306095c, 0x03341852, 0x01d09d7e, 0x031f540b, 0x0033d344, 0x016cd852, 0x023232d8, 0x000c79ce}}}, + {X: Field{[10]uint32{0x02923419, 0x024de666, 0x03f3a24b, 0x007ad002, 0x03ad4690, 0x03abb38e, 0x00711827, 0x032419a8, 0x03c36dd4, 0x002f524b}}, Y: Field{[10]uint32{0x01dd7798, 0x01a83240, 0x01af5fdc, 0x024ef349, 0x018b93da, 0x01ff5012, 0x036dbd0a, 0x03569199, 0x03c51e1f, 0x0032ab68}}}, + {X: Field{[10]uint32{0x0229577a, 0x03b4cae1, 0x039641cd, 0x0265ef7c, 0x00cd8f0d, 0x0169a720, 0x022c4dc1, 0x03b13cf2, 0x02da42d1, 0x001b22d1}}, Y: Field{[10]uint32{0x0318c956, 0x00900131, 0x030a97f1, 0x023b98ac, 0x01cbeb98, 0x02f2f08e, 0x02ef5965, 0x010b83dc, 0x0362729e, 0x0034eb53}}}, + {X: Field{[10]uint32{0x00f5dd62, 0x03af303e, 0x00f05ea9, 0x006ab432, 0x03effee7, 0x034d5ad3, 0x00a25d34, 0x034f7615, 0x01e6799b, 0x001e2c7a}}, Y: Field{[10]uint32{0x0131145d, 0x017e248e, 0x025c1dd2, 0x00adc0b9, 0x01d726ce, 0x028c0199, 0x03d70057, 0x02237301, 0x02d6a267, 0x000c540f}}}, + {X: Field{[10]uint32{0x02ebdccf, 0x01d3ba96, 0x00375c89, 0x0170057c, 0x03cb53fa, 0x03e92ada, 0x028cda6b, 0x0148f8f1, 0x02a663c5, 0x003cbb40}}, Y: Field{[10]uint32{0x00f36382, 0x039c968f, 0x03b67773, 0x02a3451d, 0x02937720, 0x00882b4c, 0x03922413, 0x000c838e, 0x01c3afdc, 0x0000ef79}}}, + {X: Field{[10]uint32{0x02caffd3, 0x00259f50, 0x02a60cde, 0x0005746a, 0x00f67ab1, 0x03fdae88, 0x0254d835, 0x0002fc1f, 0x0243a458, 0x001f90fd}}, Y: Field{[10]uint32{0x0398d68a, 0x00851655, 0x0079a76e, 0x004ad55a, 0x0158600d, 0x001ed49a, 0x03fbb378, 0x00ce66d5, 0x02da0f47, 0x0007d15b}}}, + {X: Field{[10]uint32{0x01319be8, 0x002d9598, 0x01d07643, 0x03299955, 0x017ccde2, 0x02d34b3a, 0x00c0a624, 0x00da5ea9, 0x01775eb7, 0x0037c578}}, Y: Field{[10]uint32{0x027311ad, 0x001e73ec, 0x00e53b35, 0x032ac5b9, 0x0108397c, 0x02983b8b, 0x0173dfb8, 0x00e06308, 0x00dcf154, 0x0000125b}}}, + {X: Field{[10]uint32{0x0382e2ae, 0x01fd9a71, 0x00fceef3, 0x03ee4685, 0x036707a3, 0x02503a12, 0x01c16487, 0x02ec804b, 0x03060295, 0x003b7c75}}, Y: Field{[10]uint32{0x02019a2e, 0x02a2593f, 0x00d7d239, 0x0263c239, 0x039ed8f5, 0x03a223ab, 0x00b2dd68, 0x01b25ec8, 0x02f6fcd7, 0x0038e83c}}}, + {X: Field{[10]uint32{0x02f8f6c0, 0x023ed705, 0x03c2d9b1, 0x0335aea1, 0x01fd92ce, 0x00f41193, 0x023c3137, 0x02087cef, 0x02b26b15, 0x00305408}}, Y: Field{[10]uint32{0x02136c2e, 0x01606f73, 0x02da9327, 0x0096a03f, 0x0065d57f, 0x00ba7e81, 0x03961e69, 0x00a10b81, 0x0370d94e, 0x001e3348}}}, + {X: Field{[10]uint32{0x036001d9, 0x01f69fb1, 0x01105e27, 0x032ed4b7, 0x00c6cc2b, 0x02a3e324, 0x01886a28, 0x00578042, 0x036bb6ae, 0x0002f537}}, Y: Field{[10]uint32{0x02f1446f, 0x021c9f63, 0x0387572f, 0x03736806, 0x03a6f6fa, 0x01b3b4b8, 0x00e50299, 0x032e596e, 0x01b2b0b4, 0x00126596}}}, + {X: Field{[10]uint32{0x03bc0b76, 0x0025c023, 0x03ed4b21, 0x02d3211a, 0x021e2d6e, 0x018bc603, 0x01f9b4f1, 0x02533949, 0x02328738, 0x0037f3b0}}, Y: Field{[10]uint32{0x01b4f92e, 0x03bc019a, 0x03b953f8, 0x0314cc90, 0x005a477e, 0x02842acf, 0x0318f059, 0x0239c670, 0x021bf4c8, 0x002bef1d}}}, + {X: Field{[10]uint32{0x01c94e54, 0x02c7fbfd, 0x008e1a9e, 0x00d5d939, 0x00b84739, 0x02e2d07f, 0x0259b005, 0x013eb88d, 0x004de3c9, 0x002c01db}}, Y: Field{[10]uint32{0x039c7d4f, 0x0288c203, 0x00551f3e, 0x0286e13a, 0x01fe17fd, 0x0120c282, 0x002ee5e4, 0x029a1dbd, 0x02553c55, 0x00387acc}}}, + {X: Field{[10]uint32{0x022d0c11, 0x0130fc36, 0x008be94b, 0x02c266fa, 0x020fe9eb, 0x03599e1e, 0x01e9fe33, 0x00957304, 0x029c17c4, 0x0002687f}}, Y: Field{[10]uint32{0x008e8379, 0x03d5a37a, 0x002b096a, 0x01b98b7c, 0x0325f6fd, 0x01eb472a, 0x023e1aac, 0x039ce5b8, 0x030999a8, 0x0039abbd}}}, + {X: Field{[10]uint32{0x01212899, 0x01ba7905, 0x030f2257, 0x01b9e658, 0x02e1d8b1, 0x01b19441, 0x0399b88b, 0x02f05766, 0x0134126b, 0x0007626a}}, Y: Field{[10]uint32{0x02f8f4eb, 0x02035669, 0x00fd7567, 0x0113b4db, 0x0137d646, 0x03657142, 0x01a79ef7, 0x001c883a, 0x025692db, 0x002df8c8}}}, + {X: Field{[10]uint32{0x000c7fa4, 0x02f90cdc, 0x000a6ac2, 0x015886f2, 0x02345469, 0x014c3b7e, 0x0062d4f7, 0x00de58f1, 0x0068b67b, 0x003183d7}}, Y: Field{[10]uint32{0x038a7e08, 0x01d6982f, 0x002c653f, 0x014d73b0, 0x03b5507b, 0x003724b4, 0x01b5a676, 0x03c38e86, 0x007197ff, 0x00223e2c}}}, + {X: Field{[10]uint32{0x02d9d949, 0x01f5b094, 0x02ec9e6b, 0x0073dda3, 0x03620576, 0x00c06f90, 0x036499ad, 0x009a646d, 0x036f0d9b, 0x0014b34a}}, Y: Field{[10]uint32{0x030ec835, 0x00084e00, 0x024aa138, 0x020bd51f, 0x02263563, 0x031e0ac9, 0x0111a3ea, 0x00d42283, 0x00661fa3, 0x003449f3}}}, + {X: Field{[10]uint32{0x0105dda9, 0x00d0091b, 0x03be920a, 0x02973d38, 0x01c21fbe, 0x0345aec6, 0x004f107f, 0x020d7fce, 0x019ea639, 0x00079112}}, Y: Field{[10]uint32{0x032d1f53, 0x0104b083, 0x0088d027, 0x008fa585, 0x018f8adf, 0x013f43c8, 0x00d12db7, 0x010be654, 0x00e90a90, 0x001071aa}}}, + {X: Field{[10]uint32{0x006861de, 0x009d50ff, 0x01cb1c67, 0x01595a81, 0x03984ecc, 0x01804dba, 0x0253bae3, 0x0252eb47, 0x00f0a563, 0x0004e451}}, Y: Field{[10]uint32{0x02d0742a, 0x03b4ed0b, 0x02dc1025, 0x0005ba87, 0x00964f3d, 0x03010aee, 0x03174ab6, 0x03a6c86f, 0x0337ff37, 0x001c0e51}}}, + {X: Field{[10]uint32{0x014a2280, 0x029d3e19, 0x02eb75a2, 0x0322db6d, 0x0134fe75, 0x018d39a1, 0x03cb9546, 0x037c6187, 0x002a2454, 0x0024d328}}, Y: Field{[10]uint32{0x03195761, 0x03e85736, 0x00be4375, 0x00e9af9e, 0x016865ce, 0x013f493c, 0x003caee7, 0x03f2802e, 0x0384266c, 0x001de7a5}}}, + {X: Field{[10]uint32{0x006a3be6, 0x034c9b62, 0x0279a7ac, 0x02a8b52d, 0x00af913b, 0x034d7b35, 0x01a8c329, 0x009165df, 0x007d9e1c, 0x002993c1}}, Y: Field{[10]uint32{0x01112b2b, 0x0052061e, 0x03581e60, 0x00263b15, 0x023210f3, 0x0091d677, 0x02145e3b, 0x03b5b440, 0x030ff3b4, 0x003847a0}}}, + {X: Field{[10]uint32{0x018757e1, 0x0150a3a0, 0x0034e2a1, 0x0312e2f5, 0x03cfcf45, 0x03c57fa3, 0x00820ccd, 0x02422236, 0x00bdcd62, 0x003871a2}}, Y: Field{[10]uint32{0x00c77f7d, 0x003dbc86, 0x03600d13, 0x00685499, 0x01a34e7d, 0x01deedd1, 0x03b8e00e, 0x03238004, 0x02e171e7, 0x002f0431}}}, + {X: Field{[10]uint32{0x00137358, 0x03baab1a, 0x01354c6d, 0x03b43655, 0x010ba2bd, 0x009ebf32, 0x0056de68, 0x01c3cb65, 0x00951231, 0x002c68c3}}, Y: Field{[10]uint32{0x004071f5, 0x01f5042c, 0x032985a1, 0x01fb7e86, 0x02a67879, 0x00100dcf, 0x00443469, 0x0072bf4e, 0x00abc16c, 0x00271da8}}}, + {X: Field{[10]uint32{0x02166e85, 0x024afab9, 0x034d0d68, 0x027da66b, 0x034c7cf9, 0x023d7894, 0x028ba235, 0x00a470d1, 0x03b5fbb0, 0x00093309}}, Y: Field{[10]uint32{0x039f71d5, 0x0287b633, 0x038ddd7a, 0x03388c4a, 0x02d51aab, 0x03c1da3f, 0x03c52e3f, 0x02e9099c, 0x01af2516, 0x003abcda}}}, + {X: Field{[10]uint32{0x008f6a57, 0x02aacb65, 0x00a92217, 0x01de136a, 0x02bacab5, 0x02f4c73b, 0x03e8921c, 0x03478bdf, 0x017a6166, 0x0022ed00}}, Y: Field{[10]uint32{0x008dc331, 0x00355ac2, 0x00c8a5c3, 0x01ca4f5e, 0x01a09cad, 0x0060a65b, 0x02e34fc7, 0x01a618d5, 0x000e6c47, 0x0032265d}}}, + {X: Field{[10]uint32{0x00497f6f, 0x02668cd8, 0x0368b0ec, 0x03d6949c, 0x01e6dafe, 0x002cc0ff, 0x02c17dc2, 0x03765b83, 0x03ddd82f, 0x0015762d}}, Y: Field{[10]uint32{0x03b8beca, 0x0211d8ad, 0x03657bbf, 0x00c347ff, 0x03f4f292, 0x0139cba7, 0x021709e4, 0x0359bd0d, 0x0111078b, 0x003f5891}}}, + {X: Field{[10]uint32{0x00c94df3, 0x038a148d, 0x028455db, 0x009bb11e, 0x03109d46, 0x00176f78, 0x01cbfe61, 0x00c6bd46, 0x01ef5a55, 0x0020aa8b}}, Y: Field{[10]uint32{0x01811511, 0x003b8e33, 0x007c4ebc, 0x03e81a85, 0x018d1e60, 0x0097eec9, 0x002df919, 0x028b9423, 0x03ea9f83, 0x00184582}}}, + {X: Field{[10]uint32{0x00f6f7f4, 0x010e33cb, 0x01636ad3, 0x02c30a38, 0x00804b03, 0x033ea466, 0x002cfbf3, 0x01ffe11f, 0x037cc6df, 0x000db049}}, Y: Field{[10]uint32{0x02fe4833, 0x0168a945, 0x03020aee, 0x018038cb, 0x03a7bb3b, 0x02963811, 0x015d821e, 0x0071d151, 0x03a274f8, 0x0008c13e}}}, + {X: Field{[10]uint32{0x00cd9119, 0x02215ab8, 0x0318c0eb, 0x0097e926, 0x02d57b89, 0x03002cd9, 0x02c9e860, 0x032b5f85, 0x01cc5b44, 0x003cddbf}}, Y: Field{[10]uint32{0x00a028cb, 0x039ea814, 0x006ac74f, 0x02b2f7d7, 0x01c3d0e7, 0x006b3f23, 0x009e3ef1, 0x03a07c12, 0x0132e4de, 0x000b5ab3}}}, + {X: Field{[10]uint32{0x01c5030b, 0x02ab3297, 0x03d1cc7a, 0x01b0e7b3, 0x0197150b, 0x001f4ea2, 0x02e8ecb9, 0x03a7d765, 0x00dc5372, 0x003a9384}}, Y: Field{[10]uint32{0x02d96ff5, 0x01999b0d, 0x003f9520, 0x0180513f, 0x0336d6be, 0x03f7ae25, 0x03486d29, 0x009aff0b, 0x02a393b6, 0x002c225b}}}, + {X: Field{[10]uint32{0x02fdeb08, 0x020728e9, 0x0191a0d1, 0x0067c6a7, 0x00a376ea, 0x006c512e, 0x03f0a2c7, 0x01285e74, 0x02b4b266, 0x001d3ce4}}, Y: Field{[10]uint32{0x009e1fc0, 0x03b820f8, 0x02636c6e, 0x00d901b4, 0x01c95230, 0x026d19cd, 0x02cef679, 0x01623d93, 0x0321428d, 0x0026f536}}}, + {X: Field{[10]uint32{0x014855eb, 0x0258bbf3, 0x02774ca6, 0x01ad62e0, 0x0111c13a, 0x00393208, 0x01a17daf, 0x01ddd290, 0x004259ba, 0x000e8db2}}, Y: Field{[10]uint32{0x00fa5e3c, 0x02574af8, 0x03f482f0, 0x02e91763, 0x01f35e46, 0x017bce79, 0x01720c71, 0x024a3359, 0x01ad9ede, 0x001b76b4}}}, + {X: Field{[10]uint32{0x0098c019, 0x01434a97, 0x0364deae, 0x00623cc9, 0x017635ef, 0x01ac5faa, 0x02739814, 0x02913c5b, 0x02ad5636, 0x00275dec}}, Y: Field{[10]uint32{0x02ee3eef, 0x030dc688, 0x03234f30, 0x033674bd, 0x03eb5936, 0x02cb6c25, 0x0392b8ac, 0x02186ae4, 0x0027a775, 0x0014cb74}}}, + {X: Field{[10]uint32{0x02a3c4ab, 0x02b9f9ef, 0x02c1b39a, 0x005fb91a, 0x000deb61, 0x00317c6f, 0x01168a0f, 0x00be0381, 0x02e9450e, 0x000b9d00}}, Y: Field{[10]uint32{0x0182fc3b, 0x020abeb3, 0x02b6034b, 0x0073c90b, 0x03cf8572, 0x02208404, 0x016b3fef, 0x03f8ae3b, 0x036b5606, 0x00107a3c}}}, + {X: Field{[10]uint32{0x033ebe6f, 0x030ddb94, 0x03320de0, 0x03c54c52, 0x006a6806, 0x023c0297, 0x0333d35e, 0x02d6f606, 0x03254ed0, 0x002bacb2}}, Y: Field{[10]uint32{0x01b9d59c, 0x03135a8a, 0x03d0b142, 0x003dda0c, 0x035d761c, 0x0320fcc5, 0x0028249f, 0x03e8b2cc, 0x02f52d7b, 0x001ae045}}}, + {X: Field{[10]uint32{0x00ca7895, 0x0330fd17, 0x03655fbb, 0x00eae8e8, 0x014cca66, 0x029e5e4a, 0x00adabe3, 0x00b25e80, 0x00bd55d6, 0x00321889}}, Y: Field{[10]uint32{0x011cc214, 0x00c8eef3, 0x00c21844, 0x014fea54, 0x001d8573, 0x0180276d, 0x0293adfa, 0x01e4d4d9, 0x03b7104f, 0x0028c668}}}, + {X: Field{[10]uint32{0x02efe561, 0x033eee8f, 0x03a66aac, 0x03814d2c, 0x00d53ddd, 0x03f739bd, 0x035a28bc, 0x01a8375e, 0x00cc2c57, 0x00074459}}, Y: Field{[10]uint32{0x004995a7, 0x0119c2ad, 0x0291c000, 0x022490fa, 0x01ec6009, 0x0311c391, 0x00ba6947, 0x03625ff3, 0x00deaa25, 0x002e1624}}}, + {X: Field{[10]uint32{0x0040e3c8, 0x00984629, 0x0393b92f, 0x01062f35, 0x035e7f0f, 0x03124f33, 0x036620a5, 0x0056d739, 0x02b413b9, 0x000ad53e}}, Y: Field{[10]uint32{0x039bf5d1, 0x03400593, 0x03cdb30a, 0x012c0bbf, 0x037a61ce, 0x037777cd, 0x01bdfefb, 0x02b635fa, 0x012556fe, 0x0022bfe3}}}, + {X: Field{[10]uint32{0x0329b340, 0x00ea9815, 0x0188709a, 0x0097cb7e, 0x03a9718c, 0x014f91b5, 0x01428ac8, 0x00a87d82, 0x0224a4e7, 0x0007c7ca}}, Y: Field{[10]uint32{0x00421cbd, 0x037c858b, 0x03170991, 0x00812c85, 0x020b6311, 0x01a1c40c, 0x0394f392, 0x002eeaf3, 0x00a4f492, 0x00011437}}}, + {X: Field{[10]uint32{0x00ebd4e5, 0x017b94b2, 0x03200f18, 0x0167c8bc, 0x0383fbc5, 0x0001f815, 0x025682c5, 0x01f93493, 0x018ee677, 0x00104bd9}}, Y: Field{[10]uint32{0x0171c8f4, 0x02de26d9, 0x00e32887, 0x038c9da4, 0x010c8399, 0x03e9932c, 0x030b3d7a, 0x0253fae4, 0x024a9d93, 0x0030b82d}}}, + {X: Field{[10]uint32{0x00f4912b, 0x007e1513, 0x011fbf56, 0x03e7e4b0, 0x0195102e, 0x019f8943, 0x02fec9a3, 0x02477a5d, 0x00b55677, 0x00212577}}, Y: Field{[10]uint32{0x02152443, 0x0270ca8a, 0x011c5e2a, 0x007d1938, 0x03542e51, 0x014ef693, 0x0263f191, 0x02093bd7, 0x01c57d3d, 0x00197e02}}}, + {X: Field{[10]uint32{0x0156cfde, 0x013fc216, 0x006ee1bb, 0x02a5e959, 0x030b4a18, 0x02172931, 0x0145b8bc, 0x032578ea, 0x01c0d841, 0x003e39ef}}, Y: Field{[10]uint32{0x00ed6d42, 0x03b7577c, 0x010111b4, 0x0358577d, 0x006d6660, 0x012e7f02, 0x009d28c2, 0x00d9e4df, 0x0083f93a, 0x0003342b}}}, + {X: Field{[10]uint32{0x02854c94, 0x00bdcc18, 0x0213164f, 0x0121db92, 0x008c8c56, 0x037ca2b5, 0x00767517, 0x0041c492, 0x025a4e4c, 0x0020c918}}, Y: Field{[10]uint32{0x039bfaeb, 0x03308c07, 0x003561f5, 0x032c902e, 0x01de65e2, 0x00189809, 0x01c7ec37, 0x00a09582, 0x01604992, 0x001d86c6}}}, + {X: Field{[10]uint32{0x03ca04d4, 0x03b61644, 0x032cf213, 0x0180c08f, 0x0216a8e1, 0x00d4f7c7, 0x00b6befd, 0x01f88abd, 0x01ff99f8, 0x0022c712}}, Y: Field{[10]uint32{0x03ad6c23, 0x006f78c8, 0x034c02ca, 0x01d5f89d, 0x006abbf9, 0x008b7894, 0x01cff728, 0x022194b4, 0x03d10e17, 0x00335144}}}, + {X: Field{[10]uint32{0x02f4f138, 0x02b2e0a5, 0x03790bca, 0x03ca1eba, 0x0259deac, 0x018c2d19, 0x0030e89d, 0x01360232, 0x01a120d2, 0x0038ab58}}, Y: Field{[10]uint32{0x02186291, 0x036f1bec, 0x0321abf5, 0x01a5800c, 0x02918497, 0x02b371f2, 0x02d29405, 0x01219f6a, 0x01dcfc1c, 0x00147346}}}, + {X: Field{[10]uint32{0x00c197a4, 0x038eb40d, 0x013ba9ea, 0x0339fd1e, 0x01e10356, 0x00c41580, 0x026aa915, 0x029bcc5a, 0x017ea9a9, 0x0003a373}}, Y: Field{[10]uint32{0x00ea6b5e, 0x0072a14e, 0x0295c2e6, 0x0249a9a1, 0x0195f698, 0x01c712b7, 0x02e2a99e, 0x02abd74c, 0x02d791f3, 0x00320d6e}}}, + {X: Field{[10]uint32{0x00f81233, 0x02423a6f, 0x03556e46, 0x02566c81, 0x00d8643f, 0x033ec171, 0x01bba690, 0x02e3bcd8, 0x00e35875, 0x003c2dd2}}, Y: Field{[10]uint32{0x01d6e908, 0x025006cb, 0x0023e91e, 0x02aea7fd, 0x01c1c0ae, 0x030a7298, 0x00765f60, 0x00e9ed9e, 0x02515d16, 0x001a8993}}}, + {X: Field{[10]uint32{0x01af3a87, 0x025f54ce, 0x017962ce, 0x02ba4faf, 0x03e6eef8, 0x03ff8908, 0x02dd305b, 0x016859d9, 0x016f0997, 0x0024037a}}, Y: Field{[10]uint32{0x01164478, 0x02a9c013, 0x01439650, 0x026c4848, 0x01f33f8e, 0x02f9a692, 0x031bf65d, 0x01628e8c, 0x02ecd9c0, 0x002252ac}}}, + {X: Field{[10]uint32{0x0188aa53, 0x0085283b, 0x00645a6e, 0x02879b4d, 0x01ce7fbd, 0x03a7b3e5, 0x030e3067, 0x008d081c, 0x0130d2ea, 0x00232f9e}}, Y: Field{[10]uint32{0x00186b83, 0x0377615c, 0x01ac9919, 0x01c3b01c, 0x0085092c, 0x008cb24d, 0x027f2c8e, 0x0299f6b8, 0x016bf875, 0x00219ec5}}}, + {X: Field{[10]uint32{0x0225e68d, 0x024bfb26, 0x003e69a2, 0x037f04d6, 0x00e79237, 0x0315c1b5, 0x01a65c0f, 0x03490e51, 0x01c95b35, 0x002832ec}}, Y: Field{[10]uint32{0x02047e4f, 0x0293ac60, 0x00a4055b, 0x00917a14, 0x013c6d70, 0x003701b8, 0x01c8a554, 0x006917e0, 0x01d13cd6, 0x002db5fa}}}, + {X: Field{[10]uint32{0x022463cf, 0x02912209, 0x03f4c832, 0x00f58ed1, 0x00d8050c, 0x017a61ff, 0x02d3bbe0, 0x0232d6a9, 0x0072a3fa, 0x000522ab}}, Y: Field{[10]uint32{0x037e4a61, 0x00ccc899, 0x000b292a, 0x02460963, 0x0372749f, 0x01bcb8ae, 0x0245f6d3, 0x0112156a, 0x0249a6e2, 0x001fca77}}}, + {X: Field{[10]uint32{0x02f3977f, 0x01f3ccd9, 0x018cefb0, 0x03e89688, 0x02c28616, 0x028838b9, 0x02caf7ef, 0x03f5b79b, 0x01073a1a, 0x000ee7fb}}, Y: Field{[10]uint32{0x02c65fc9, 0x01c00f04, 0x010fe0ac, 0x0284d23b, 0x034fa9e7, 0x025ab4f8, 0x030c936e, 0x03259287, 0x033c5084, 0x003c2a16}}}, + {X: Field{[10]uint32{0x023537aa, 0x0196b1f3, 0x020fecc5, 0x03ab7eff, 0x027c9cbc, 0x003e90c6, 0x03b443c3, 0x02ff6555, 0x00ed5228, 0x001f7917}}, Y: Field{[10]uint32{0x022686f0, 0x027377be, 0x00fc1199, 0x02298326, 0x0178e011, 0x0315418b, 0x03794f3a, 0x01c0cef2, 0x01376910, 0x00145777}}}, + {X: Field{[10]uint32{0x01913dd2, 0x03986c95, 0x015aa251, 0x0273ae87, 0x03c17cf9, 0x013cea15, 0x00102747, 0x03d58a60, 0x035a0534, 0x00273068}}, Y: Field{[10]uint32{0x02433ae5, 0x005a130f, 0x007ccc69, 0x010ebcaf, 0x03c653e2, 0x02fe384b, 0x0115da37, 0x0293e658, 0x01a8f30f, 0x003024b3}}}, + {X: Field{[10]uint32{0x02b52ec6, 0x002da41e, 0x00562092, 0x03ec8896, 0x0310fc71, 0x00a29ca0, 0x02ad7298, 0x00ee731d, 0x0168759b, 0x00360bc6}}, Y: Field{[10]uint32{0x0018c607, 0x002bd422, 0x03306c47, 0x020b72b0, 0x011b3720, 0x03872760, 0x0008f8ca, 0x00ec31ce, 0x02052698, 0x00153342}}}, + {X: Field{[10]uint32{0x007b7586, 0x0257ab6e, 0x02498241, 0x01221796, 0x0101f9c5, 0x00a46d83, 0x031bffcc, 0x016a5430, 0x014703d9, 0x0005b9aa}}, Y: Field{[10]uint32{0x03d8aafd, 0x00b15636, 0x03276f88, 0x02393b5c, 0x0080ff4c, 0x02a55f01, 0x010d3655, 0x01ae30b9, 0x0138581b, 0x000678a6}}}, + {X: Field{[10]uint32{0x035cd237, 0x0263948e, 0x03197ff0, 0x01395e85, 0x03ad57a7, 0x01df0d18, 0x02b46704, 0x013c9391, 0x02f300ee, 0x00341f9e}}, Y: Field{[10]uint32{0x035d0e20, 0x01bc9304, 0x00b1bc69, 0x037adbc8, 0x00d4d175, 0x03d86222, 0x031019be, 0x005959a6, 0x020f43c9, 0x003ffcd3}}}, + {X: Field{[10]uint32{0x01665380, 0x007d3679, 0x0301450a, 0x02e43260, 0x018ffe42, 0x00fea93a, 0x02118a34, 0x009ff18e, 0x00e56dc0, 0x000afd91}}, Y: Field{[10]uint32{0x02262ec5, 0x013e4956, 0x00477c92, 0x017d9ba9, 0x03eb84ca, 0x001ad57d, 0x0366fb7a, 0x007f17e3, 0x017577be, 0x002fbd70}}}, + {X: Field{[10]uint32{0x005cb045, 0x03b5493f, 0x03a3ab97, 0x01f97897, 0x027a8810, 0x010965f1, 0x00801014, 0x036e4d23, 0x01370db1, 0x001463c3}}, Y: Field{[10]uint32{0x014d7294, 0x0280e5da, 0x037418db, 0x03d37e2a, 0x006eb9f3, 0x0125d094, 0x03113a14, 0x03b4059b, 0x010ea4e9, 0x00372a1d}}}, + {X: Field{[10]uint32{0x030554c7, 0x031c975b, 0x0128e9a9, 0x02ea1e66, 0x0057bf54, 0x03087d89, 0x029893f8, 0x01d284af, 0x02b6c507, 0x0002f523}}, Y: Field{[10]uint32{0x0170f6e1, 0x03e9e1fd, 0x002d2e2c, 0x01418c9d, 0x00dd58f3, 0x01da7dce, 0x034bad90, 0x000c019d, 0x01a8cd8f, 0x0008029b}}}, + {X: Field{[10]uint32{0x031517e2, 0x02678d36, 0x031302aa, 0x01178f02, 0x00800c5b, 0x0193e870, 0x0336622b, 0x01a78da4, 0x013a8711, 0x00333236}}, Y: Field{[10]uint32{0x0101d845, 0x03f5b0db, 0x0305611e, 0x00252027, 0x00888373, 0x0115219a, 0x0211f1bc, 0x0191e3be, 0x03e4d45e, 0x000103b9}}}, + {X: Field{[10]uint32{0x03f6bd1a, 0x0149fc76, 0x03dab8f4, 0x00703f09, 0x0327e8d0, 0x01efa7a9, 0x01d2e9a2, 0x01e648c4, 0x012c7587, 0x0021bd8e}}, Y: Field{[10]uint32{0x010f7922, 0x02bcd340, 0x02dd3e7c, 0x0063f51a, 0x00571505, 0x0127b9a4, 0x02b1304c, 0x02a8a8f4, 0x0211b647, 0x001fb8a5}}}, + {X: Field{[10]uint32{0x03d7fdfd, 0x010760ed, 0x01c1bbfc, 0x0205b687, 0x019bb5a3, 0x00e1d47e, 0x03941053, 0x003e9b0d, 0x00e5927b, 0x00380d3d}}, Y: Field{[10]uint32{0x01a5f89d, 0x01239d50, 0x03b6ff22, 0x01eec9e7, 0x01e90256, 0x02fb72ae, 0x0282b05c, 0x010b904c, 0x02cb8382, 0x003727c0}}}, + {X: Field{[10]uint32{0x02b51045, 0x02d2731a, 0x01062837, 0x03bee1b8, 0x0075eadf, 0x02e09544, 0x023a66a0, 0x02fc017b, 0x02160a9d, 0x0023f0da}}, Y: Field{[10]uint32{0x03d200a6, 0x02526648, 0x0374a705, 0x009e7b27, 0x0266a885, 0x0001292f, 0x03d9957a, 0x02607485, 0x00409605, 0x0031fb8b}}}, + {X: Field{[10]uint32{0x033278e0, 0x002b7239, 0x0112d9c1, 0x037ad45f, 0x03997130, 0x019773f8, 0x0089b71e, 0x01f65b59, 0x00bc5407, 0x0035eed0}}, Y: Field{[10]uint32{0x028b0a4b, 0x0241d2a9, 0x01b468ce, 0x02f8ea2a, 0x025897c0, 0x025ad72d, 0x020706bd, 0x02eb916a, 0x03662f64, 0x00388258}}}, + {X: Field{[10]uint32{0x03bd2ac5, 0x0382a218, 0x007e0b8b, 0x020455ec, 0x003c8826, 0x00997390, 0x007d2d6c, 0x031c5045, 0x02858054, 0x0035cd5d}}, Y: Field{[10]uint32{0x01a9932b, 0x00baf961, 0x019c24f4, 0x0294e031, 0x01d2ce03, 0x03356013, 0x014099e9, 0x0108e709, 0x014b2fc9, 0x00253e1d}}}, + {X: Field{[10]uint32{0x018f8392, 0x02b836a1, 0x002b6669, 0x03f595f7, 0x013e720f, 0x034ff859, 0x01a7e99b, 0x00ffe9c7, 0x02aed935, 0x0016dbe2}}, Y: Field{[10]uint32{0x018f9089, 0x013d1cd0, 0x03c106e7, 0x0100c094, 0x03e49668, 0x0138917c, 0x02f85ec3, 0x01bbb7e9, 0x0105369c, 0x0013babf}}}, + {X: Field{[10]uint32{0x02222000, 0x01cb1390, 0x03b39f7b, 0x02806683, 0x02ab4076, 0x0313d221, 0x004b4f49, 0x00a7900e, 0x011267cc, 0x000e5113}}, Y: Field{[10]uint32{0x0283d771, 0x02806872, 0x010ba50e, 0x015c6ddf, 0x01329f30, 0x014e23ae, 0x0248adf3, 0x03b8b637, 0x002aaf90, 0x00197094}}}, + {X: Field{[10]uint32{0x030752c7, 0x021222c6, 0x010030a1, 0x02573b0b, 0x0216ebad, 0x02f26223, 0x019c4a7d, 0x02c28f05, 0x00dbf1ef, 0x0014f780}}, Y: Field{[10]uint32{0x01e2fbda, 0x0158c881, 0x026d33a5, 0x01993452, 0x0287dc61, 0x039ef146, 0x02d62285, 0x0177e9d4, 0x03d99947, 0x000ca3b2}}}, + {X: Field{[10]uint32{0x015ead39, 0x0052932f, 0x019e3d48, 0x033bad23, 0x03194d1b, 0x017ed80c, 0x000eef0d, 0x01c84f8a, 0x03af9b4f, 0x0001228e}}, Y: Field{[10]uint32{0x00334186, 0x026a2eca, 0x029ce709, 0x03b512a6, 0x037e749e, 0x03252c83, 0x006f7fbc, 0x00e14aef, 0x01c9e04a, 0x000ed2b2}}}, + {X: Field{[10]uint32{0x033ac541, 0x011c1f96, 0x02b6eb52, 0x001be85b, 0x03acccf4, 0x009f88b5, 0x00182370, 0x0073b4f1, 0x0230503c, 0x003c035d}}, Y: Field{[10]uint32{0x01ca95b5, 0x015c6dcc, 0x00404f47, 0x03ff6df4, 0x03c9e2bc, 0x03e3b564, 0x0254605d, 0x01d89ac4, 0x013fec17, 0x00268777}}}, + {X: Field{[10]uint32{0x0141eaac, 0x02099622, 0x01ee89a4, 0x03210205, 0x00c4f8ee, 0x03a30868, 0x01708582, 0x03ad6439, 0x01943ce7, 0x00387fc6}}, Y: Field{[10]uint32{0x03353b7e, 0x02d25cb5, 0x003dd003, 0x00faf0db, 0x01dbf27e, 0x022a95fa, 0x021b53d7, 0x01cb9b39, 0x0172746e, 0x0014a395}}}, + {X: Field{[10]uint32{0x0059bd49, 0x00afbc1d, 0x02c55256, 0x00116456, 0x0223b3aa, 0x01d709ef, 0x015a6652, 0x01d43838, 0x0020c48e, 0x00393c4f}}, Y: Field{[10]uint32{0x0287ca30, 0x008731db, 0x01ebca2d, 0x014cd8aa, 0x03639010, 0x01ec6eec, 0x026b9d6a, 0x007e668b, 0x02cec6e5, 0x002faf1f}}}, + {X: Field{[10]uint32{0x006f5f20, 0x035720e2, 0x03ea4d2d, 0x0012b1a4, 0x01598c6c, 0x0033c9c6, 0x003d3716, 0x019ba1c2, 0x00f3824b, 0x0038dba3}}, Y: Field{[10]uint32{0x0086c60b, 0x03432f68, 0x009f6c88, 0x03a193c9, 0x00f5be9f, 0x02069537, 0x03749104, 0x015f7cf6, 0x01938afe, 0x0013a838}}}, + {X: Field{[10]uint32{0x0246365f, 0x03478349, 0x0172a63d, 0x0373f7a5, 0x03797ff5, 0x0135f151, 0x00b4a068, 0x034beca7, 0x03193286, 0x0014787c}}, Y: Field{[10]uint32{0x02370e3a, 0x00b321d4, 0x01cb2ace, 0x03b6e519, 0x03b8640c, 0x03130f50, 0x0290d7e6, 0x03b318c6, 0x023c6f30, 0x002b11c3}}}, + {X: Field{[10]uint32{0x01a5fae0, 0x033de735, 0x0224829b, 0x01055b4a, 0x0022277f, 0x016f09b7, 0x01dadd64, 0x0139c981, 0x02a9c40d, 0x0023a0b6}}, Y: Field{[10]uint32{0x027c53ee, 0x03666e05, 0x024d733a, 0x0078ca84, 0x03b01b96, 0x00cf8a46, 0x0191dd72, 0x015ec8ac, 0x01fdbe90, 0x001fe055}}}, + {X: Field{[10]uint32{0x022c41e3, 0x006cd64f, 0x02595988, 0x01d1938a, 0x0038bea6, 0x0097e9e2, 0x03fd5e95, 0x01ea90d3, 0x0344273c, 0x001e7959}}, Y: Field{[10]uint32{0x0385ecab, 0x01b9f2fc, 0x03c33e80, 0x0083c9e2, 0x03eb786a, 0x011c48b5, 0x00ec764b, 0x03bee7c0, 0x01a3c50d, 0x00189422}}}, + {X: Field{[10]uint32{0x02743f79, 0x03b4fd98, 0x0206879d, 0x015bcbc7, 0x02af7fe1, 0x01389288, 0x01eb8918, 0x00655d47, 0x00e2d19c, 0x002a5f80}}, Y: Field{[10]uint32{0x018284a0, 0x029425f3, 0x03282944, 0x0177a9ce, 0x02f3f583, 0x0113fe47, 0x00726bbc, 0x00b124d5, 0x02bd8bcb, 0x0022075f}}}, + {X: Field{[10]uint32{0x03338542, 0x01c1c9c2, 0x00aa8f4a, 0x02fa3ece, 0x009bc52f, 0x001508de, 0x021c3fb4, 0x03d70c53, 0x014607bb, 0x000efc41}}, Y: Field{[10]uint32{0x024f6367, 0x010b1900, 0x022b6390, 0x01479611, 0x019a87ba, 0x03e10381, 0x0068e5fe, 0x02dffdb7, 0x006cfad5, 0x0039e256}}}, + {X: Field{[10]uint32{0x01d9cc5d, 0x012202d5, 0x03b2e01f, 0x033e10df, 0x0249cce0, 0x033cd01a, 0x034ee87e, 0x0077fce6, 0x00775879, 0x00200a5b}}, Y: Field{[10]uint32{0x00152dcb, 0x031376e4, 0x01284846, 0x00d2f6c2, 0x00902e48, 0x0022f145, 0x028753b7, 0x01e07f38, 0x02113c7f, 0x000ec1af}}}, + {X: Field{[10]uint32{0x00ba52fe, 0x02594188, 0x03023598, 0x013a1f95, 0x01b7b0fe, 0x016713fc, 0x029cc123, 0x036ff7da, 0x037aa3ee, 0x001238b2}}, Y: Field{[10]uint32{0x02e8ed1b, 0x01592c27, 0x00aac7ad, 0x00c4f3fd, 0x00a0a456, 0x01fdcbb8, 0x00411ba8, 0x026ef165, 0x017afa90, 0x00371e10}}}, + {X: Field{[10]uint32{0x03403d46, 0x02016a5c, 0x00b6b7b4, 0x00ba65cc, 0x0031a3db, 0x0061f5e7, 0x02b482aa, 0x015220a1, 0x011fcb77, 0x0037244d}}, Y: Field{[10]uint32{0x03adb1a3, 0x00ffe5bd, 0x01b2ffa9, 0x01713942, 0x03fc52e3, 0x03827e97, 0x0180ecd5, 0x0064ba30, 0x020d2d13, 0x003b5c83}}}, + {X: Field{[10]uint32{0x0190a670, 0x025cc67a, 0x02b9f017, 0x014d6c14, 0x013a2b26, 0x03ecd13a, 0x0105b151, 0x02d3ea73, 0x013948ce, 0x00174df0}}, Y: Field{[10]uint32{0x0174cb01, 0x01b54e86, 0x0348a185, 0x0349f279, 0x00b62e16, 0x02e5018d, 0x02832ad6, 0x02e9201e, 0x033c2590, 0x003de424}}}, + {X: Field{[10]uint32{0x03070aa2, 0x03b285dd, 0x00157708, 0x0096b67a, 0x0015c8e3, 0x02a123fd, 0x017eece0, 0x026c89bf, 0x02b0f8d6, 0x00262f2e}}, Y: Field{[10]uint32{0x02150212, 0x0379637a, 0x002060e2, 0x01266ec4, 0x03a08aa9, 0x008629fb, 0x02ffd615, 0x01521f9a, 0x03b3db71, 0x001d9c78}}}, + {X: Field{[10]uint32{0x0335b1c5, 0x0170448f, 0x03a188fa, 0x02340891, 0x0012ce30, 0x01640cd0, 0x0194384d, 0x0121bbe9, 0x01cb3de9, 0x001838b0}}, Y: Field{[10]uint32{0x0369d1bb, 0x010bcbe4, 0x008fa639, 0x021ada38, 0x024d58d0, 0x014efdc8, 0x03c11a38, 0x0319bd70, 0x031b9767, 0x001b79c0}}}, + {X: Field{[10]uint32{0x004885c7, 0x00fa9c8c, 0x03467d87, 0x02ecca7a, 0x01aaf513, 0x038be6f3, 0x03f2f702, 0x015add42, 0x02c5aa82, 0x002051c5}}, Y: Field{[10]uint32{0x03d297ee, 0x00290b71, 0x00b58630, 0x0324283f, 0x01eb7efa, 0x00d4cf7a, 0x03ba31e2, 0x0186244f, 0x00ee8fa9, 0x003b2991}}}, + {X: Field{[10]uint32{0x02f8de77, 0x024d3edc, 0x00e3be6d, 0x0218803a, 0x019fb715, 0x00d9a1b5, 0x0360f7b6, 0x004bbc2b, 0x033f1db4, 0x00095e27}}, Y: Field{[10]uint32{0x007de0ac, 0x0320c08b, 0x00ce9633, 0x00ee3163, 0x02863bc0, 0x022069a1, 0x034a6f77, 0x03886d5c, 0x039899d1, 0x00394889}}}, + {X: Field{[10]uint32{0x00f1bdcd, 0x02337ca8, 0x01527ef1, 0x0079e028, 0x0227f2a9, 0x00ff2da9, 0x02a87fdf, 0x03e39591, 0x000c98bf, 0x0014e0bd}}, Y: Field{[10]uint32{0x0232b502, 0x03a17192, 0x0079d9a1, 0x0360e31e, 0x0239c027, 0x02765e85, 0x0068ce13, 0x028e8768, 0x01dee41c, 0x0008c740}}}, + {X: Field{[10]uint32{0x011d1f2b, 0x00c8e2e8, 0x01dc6e57, 0x02cfc63a, 0x0167d9ec, 0x03d5f740, 0x02ab14d8, 0x03eb7ff2, 0x01209db2, 0x0011233f}}, Y: Field{[10]uint32{0x0166fea6, 0x0070c564, 0x005875a1, 0x019c2548, 0x032ba1bb, 0x0134a092, 0x01e8d181, 0x015b090d, 0x02e55a4f, 0x002eb638}}}, + {X: Field{[10]uint32{0x02e5653d, 0x02befa00, 0x02ab5667, 0x00f7ad84, 0x01f6c489, 0x01112efe, 0x012b69d5, 0x00cd7d40, 0x024b0fe6, 0x003645f2}}, Y: Field{[10]uint32{0x032bad17, 0x0216ebbc, 0x0033a4bb, 0x0154c40b, 0x00aeabc0, 0x005f397c, 0x0150f1ff, 0x025d589e, 0x024be6a4, 0x000ff7a6}}}, + {X: Field{[10]uint32{0x01ba8f72, 0x017c93a4, 0x00570db3, 0x0398293a, 0x031dd974, 0x038fbd60, 0x03de053b, 0x020eb5cc, 0x01f517a8, 0x00031fba}}, Y: Field{[10]uint32{0x039bba44, 0x03f41881, 0x01f3a2bf, 0x0134b7ce, 0x02e06a7e, 0x01a82338, 0x03d2a31c, 0x019efd95, 0x038d26d3, 0x00236ddc}}}, + {X: Field{[10]uint32{0x00d9a30b, 0x00217825, 0x00aed0b7, 0x02e28cab, 0x00819a77, 0x01f210ef, 0x022b1737, 0x035b781e, 0x019d983e, 0x0020fc28}}, Y: Field{[10]uint32{0x00afe6a7, 0x03d21d4b, 0x00e00c37, 0x011db55d, 0x00880acd, 0x0044ef98, 0x0348b636, 0x0111cf61, 0x029667be, 0x0034aacf}}}, + {X: Field{[10]uint32{0x0313989d, 0x02649dc8, 0x02f2e2b2, 0x01e41f14, 0x01596740, 0x01d360f7, 0x03b56bde, 0x01f10263, 0x026a6168, 0x003cfe2a}}, Y: Field{[10]uint32{0x01a109fb, 0x00e653d0, 0x03a21ad6, 0x0130da15, 0x00caa1b5, 0x02258d97, 0x0201ff9a, 0x000e8cb4, 0x009d0985, 0x000e9a43}}}, + {X: Field{[10]uint32{0x0032249e, 0x03b87fd4, 0x0316a283, 0x01010e11, 0x03914fdd, 0x03af2d39, 0x01d6e8b3, 0x035b1f65, 0x01caa30b, 0x00130684}}, Y: Field{[10]uint32{0x01424da0, 0x0394856e, 0x028809b7, 0x01f0dfe0, 0x006598f1, 0x0194ce74, 0x014c604e, 0x03bd0348, 0x00c94653, 0x0039f9c6}}}, + {X: Field{[10]uint32{0x02e5477d, 0x008b064f, 0x00f6c1d9, 0x03216872, 0x02529ebb, 0x0083cc60, 0x033bdb04, 0x0280614f, 0x01523419, 0x000a506e}}, Y: Field{[10]uint32{0x02628413, 0x00e4b74f, 0x02763864, 0x01442260, 0x0280482b, 0x03db07b7, 0x0205baa7, 0x019a82aa, 0x026c29ca, 0x000ddfc8}}}, + {X: Field{[10]uint32{0x0191a6a1, 0x00858761, 0x032c3384, 0x03bf8615, 0x004b5f25, 0x031c1e2b, 0x03b3eb18, 0x026be196, 0x0107aad4, 0x00027413}}, Y: Field{[10]uint32{0x0083cd34, 0x004ae88b, 0x03724f85, 0x03287523, 0x02779eb0, 0x0065912d, 0x01ae02d1, 0x02a27ed1, 0x028dec2c, 0x003d5ca5}}}, + {X: Field{[10]uint32{0x03d26e20, 0x011ac190, 0x03ef4a26, 0x01405def, 0x000d660c, 0x02988a09, 0x01a983c9, 0x028406e6, 0x0367c3c3, 0x0011007d}}, Y: Field{[10]uint32{0x02d4e342, 0x019a77a1, 0x00c0bb7d, 0x037bba60, 0x02999f8b, 0x03419a79, 0x00293091, 0x00453859, 0x02f78e1b, 0x001e54be}}}, + {X: Field{[10]uint32{0x03bba31f, 0x02dfc306, 0x03fa68d7, 0x0311eca0, 0x000ab8a1, 0x033218ea, 0x028665ba, 0x005f4ecc, 0x0027fc40, 0x00252dbd}}, Y: Field{[10]uint32{0x0340d85a, 0x028085f7, 0x01868e09, 0x0096a660, 0x019cbe77, 0x027741ea, 0x008199e9, 0x034b51bb, 0x027d35f0, 0x0004cd81}}}, + {X: Field{[10]uint32{0x01e7288f, 0x026d2893, 0x01445738, 0x027e4809, 0x03f2fba5, 0x039d55d2, 0x03b87cdd, 0x026ef518, 0x03a292c7, 0x00105886}}, Y: Field{[10]uint32{0x02cd3188, 0x0328b868, 0x0111b717, 0x001eca53, 0x033bc70a, 0x0399ee50, 0x0389951f, 0x002de204, 0x03d5b6f3, 0x000d54cd}}}, + {X: Field{[10]uint32{0x01a3594e, 0x030e67bf, 0x0173fc33, 0x02eaac53, 0x038a9b27, 0x0049a062, 0x0100dde6, 0x03074d56, 0x00156256, 0x002c20e1}}, Y: Field{[10]uint32{0x01a954a5, 0x01a11d71, 0x02c7dc5d, 0x034541a7, 0x03843ef8, 0x01a90a17, 0x00c5371b, 0x018b8a47, 0x019055b1, 0x000aabe4}}}, + {X: Field{[10]uint32{0x000dc9bd, 0x0249d19b, 0x008fb8ba, 0x004c3a11, 0x027d910f, 0x03330509, 0x029f4377, 0x023fa977, 0x014fef41, 0x00332668}}, Y: Field{[10]uint32{0x00536f28, 0x02baedc6, 0x017f5c77, 0x0364b3ff, 0x0222f7b3, 0x030326fc, 0x02f164ba, 0x0304b750, 0x03647c01, 0x0000b8c2}}}, + {X: Field{[10]uint32{0x01764e37, 0x01083741, 0x01d50a2f, 0x02d6e59f, 0x027b21d6, 0x03601763, 0x025d59c1, 0x00616355, 0x024adbec, 0x00234aec}}, Y: Field{[10]uint32{0x019f712f, 0x0052fe26, 0x005efe70, 0x0035a959, 0x02fc371d, 0x022824c8, 0x02537c70, 0x02bae9c4, 0x0330e78d, 0x003371b5}}}, + {X: Field{[10]uint32{0x010f7c9b, 0x008ce8f9, 0x0219203b, 0x01bc9d08, 0x00dbb94c, 0x01d438ca, 0x00a18717, 0x033d2b9b, 0x02de0f18, 0x0018f3b9}}, Y: Field{[10]uint32{0x02fdfeb8, 0x00d05cc7, 0x014367ca, 0x00c784d9, 0x00ce0050, 0x02a2160a, 0x0231b8f7, 0x008ce86d, 0x01adad2d, 0x002048c3}}}, + {X: Field{[10]uint32{0x02755a0c, 0x029679a4, 0x02114926, 0x01fee3d1, 0x02b2e4d0, 0x02e86776, 0x028d5cbf, 0x03740e69, 0x029c1dc6, 0x00188213}}, Y: Field{[10]uint32{0x01061a26, 0x03662dc1, 0x0302cc4b, 0x006bef37, 0x02cc9c7f, 0x02a09f82, 0x01c273aa, 0x006bc003, 0x00f462fb, 0x001b6fad}}}, + {X: Field{[10]uint32{0x018dd827, 0x01cd8957, 0x01238c27, 0x00ddf7de, 0x003f34a9, 0x01c1cab3, 0x02368ec1, 0x018a0053, 0x02baf65b, 0x00044303}}, Y: Field{[10]uint32{0x02e75c6d, 0x03fe16ca, 0x02ba9649, 0x01d0b6be, 0x030c3c3e, 0x00082e0e, 0x01d5865b, 0x01896258, 0x03166f23, 0x000692e9}}}, + {X: Field{[10]uint32{0x01c87e00, 0x01f279bc, 0x012b6892, 0x01748f34, 0x01baa50a, 0x02ae5d01, 0x007306cf, 0x008d2ea0, 0x011e50fb, 0x00361229}}, Y: Field{[10]uint32{0x016a4fd8, 0x01cadbea, 0x02adc16a, 0x027cf2de, 0x0151fdb4, 0x0265127b, 0x02e4b1cc, 0x00032132, 0x026288fb, 0x00276e6f}}}, + {X: Field{[10]uint32{0x014c2b5a, 0x03269f38, 0x0002396b, 0x0181606c, 0x02a8cf26, 0x02406e7b, 0x0147f3b3, 0x01aad149, 0x0093a270, 0x00108c46}}, Y: Field{[10]uint32{0x024165bc, 0x034f4b2b, 0x00d70daa, 0x0073a7bd, 0x03d6129a, 0x01d82691, 0x01c2a9f7, 0x0088b066, 0x02db9ba6, 0x001d43e1}}}, + {X: Field{[10]uint32{0x0034d37f, 0x02bb038e, 0x037419fd, 0x00797c5f, 0x026b252f, 0x01f2878c, 0x03454967, 0x037104cb, 0x00ee471a, 0x00110e71}}, Y: Field{[10]uint32{0x01897e87, 0x0003b95d, 0x0119581a, 0x0196ce16, 0x03617c95, 0x03e1be4e, 0x0316ab66, 0x030f798b, 0x032c22c5, 0x002f5d70}}}, + {X: Field{[10]uint32{0x0113b053, 0x02b2bfb0, 0x03bbf36b, 0x01e6601b, 0x02e02e9e, 0x0314bf6d, 0x00b0bbd8, 0x00c76992, 0x03dab192, 0x00137f38}}, Y: Field{[10]uint32{0x03042c3a, 0x01168a84, 0x0342f69d, 0x01650bfa, 0x029d647c, 0x011f3068, 0x00a1c3e1, 0x01fee910, 0x031f4b72, 0x0037a317}}}, + {X: Field{[10]uint32{0x0117dc9d, 0x03bfe6e0, 0x009efcdd, 0x03cfb1b6, 0x009d0ba6, 0x0207db05, 0x00f91582, 0x009cdbd5, 0x032ee8e7, 0x000eee8a}}, Y: Field{[10]uint32{0x0216ab24, 0x02428c36, 0x00d2baf6, 0x021a9a98, 0x036f9a21, 0x02bdb283, 0x0293f947, 0x01f95b97, 0x02747789, 0x003fc21c}}}, + {X: Field{[10]uint32{0x0317deae, 0x01f59f60, 0x0059527f, 0x003d3eec, 0x00e239a0, 0x03d56ac3, 0x02d92ff0, 0x031ac920, 0x0243037b, 0x0028bfb7}}, Y: Field{[10]uint32{0x01869ed4, 0x00d8e351, 0x012da98c, 0x0058bc61, 0x000f7801, 0x0033808b, 0x008e195d, 0x03ff5fbc, 0x010843be, 0x000a9e45}}}, + {X: Field{[10]uint32{0x004bc0a3, 0x00730f8c, 0x021852cb, 0x002610c2, 0x01b3d64d, 0x01cdc021, 0x01aa8e67, 0x03ad3128, 0x022ff503, 0x00088713}}, Y: Field{[10]uint32{0x01b7ae41, 0x00477465, 0x02de199e, 0x00a52898, 0x01a70a79, 0x034fe1d9, 0x024fd70a, 0x0139e704, 0x031b0f95, 0x0030f0de}}}, + {X: Field{[10]uint32{0x00740ed0, 0x03bcf145, 0x00bfca58, 0x02f55679, 0x02f909c8, 0x026e44c1, 0x02f945b4, 0x02e81432, 0x0380f7e4, 0x002830cb}}, Y: Field{[10]uint32{0x02f9562a, 0x0286244d, 0x02c9041b, 0x0318e290, 0x01966aa1, 0x033b5172, 0x01e4cfbd, 0x011c0107, 0x030146ab, 0x0034fae3}}}, + {X: Field{[10]uint32{0x00da85c6, 0x01e6f906, 0x02aa1dff, 0x02573258, 0x010bf333, 0x01dd0204, 0x01e1ca75, 0x0189fc00, 0x0218b4fe, 0x001d8b9e}}, Y: Field{[10]uint32{0x00f51ec5, 0x024c8d31, 0x02b93dce, 0x02552bd5, 0x025875f7, 0x01156e10, 0x00a743c3, 0x00703d3e, 0x03465046, 0x002837c3}}}, + {X: Field{[10]uint32{0x013a29f0, 0x018cb12e, 0x03561b8d, 0x00d0451b, 0x0378389f, 0x010cdec7, 0x02cfbe40, 0x032bcf55, 0x0135cd95, 0x000bc0b6}}, Y: Field{[10]uint32{0x00f44569, 0x013a49c6, 0x0287b0e7, 0x010704bf, 0x0209c454, 0x008fc68c, 0x0008872b, 0x0242d3e0, 0x00d823f1, 0x0005cd1c}}}, + {X: Field{[10]uint32{0x03eab212, 0x0398e4b9, 0x01612314, 0x01b893bc, 0x01c5877d, 0x03f2628e, 0x01adbd59, 0x005b7c71, 0x03d72eb8, 0x00327e1d}}, Y: Field{[10]uint32{0x02067c4c, 0x0216391a, 0x03ad10b0, 0x0149d52c, 0x0188bb00, 0x03f2aa7d, 0x01a52b58, 0x01fbb169, 0x011788cf, 0x000533a6}}}, + {X: Field{[10]uint32{0x00baa172, 0x03485e68, 0x005df239, 0x008eb9db, 0x02d6dd1c, 0x032fd743, 0x03296df6, 0x0172de9b, 0x036918a0, 0x0033137f}}, Y: Field{[10]uint32{0x014a4dc6, 0x01a51219, 0x00cd5b78, 0x02ead4e4, 0x02e4dda0, 0x018ed295, 0x01b06506, 0x005d4098, 0x00b1b847, 0x0007350e}}}, + {X: Field{[10]uint32{0x03cbfaa1, 0x03b20a3b, 0x02a5bccc, 0x02299591, 0x01ca015a, 0x01e2b354, 0x0010219a, 0x01c4e8a7, 0x034b3ed2, 0x003eaab1}}, Y: Field{[10]uint32{0x0130d934, 0x03d9869f, 0x00ecbf8b, 0x03244fef, 0x01b2e74c, 0x03f9e552, 0x025c46b7, 0x03b036f5, 0x003bdcc2, 0x002b72b5}}}, + {X: Field{[10]uint32{0x00fdbf46, 0x02bbf111, 0x02480dd0, 0x03c8f468, 0x028a0025, 0x016f9b03, 0x01444b73, 0x026f4368, 0x02c930fa, 0x0005c4d5}}, Y: Field{[10]uint32{0x009bce3f, 0x00526ee7, 0x0214eb2e, 0x0134bb8a, 0x0062e246, 0x008e6395, 0x004361ed, 0x03ee76ad, 0x02dc991e, 0x001dc3a7}}}, + {X: Field{[10]uint32{0x01680214, 0x00401ef9, 0x01b43b64, 0x01e81ea0, 0x01c05501, 0x017e7ec6, 0x01491af5, 0x00dd8f4b, 0x016ae047, 0x00024cfd}}, Y: Field{[10]uint32{0x00ea76ad, 0x02a72ae8, 0x02ba9f85, 0x03fe4ec7, 0x01ad1d70, 0x01253950, 0x01ea647f, 0x036d8d20, 0x0047481c, 0x00198167}}}, + {X: Field{[10]uint32{0x03bb6b34, 0x0307f816, 0x02cf664a, 0x01d87b06, 0x018a397f, 0x02f27272, 0x02446910, 0x02b4df5f, 0x0322b182, 0x00028c03}}, Y: Field{[10]uint32{0x0033593d, 0x00aead15, 0x035007b4, 0x011188a2, 0x01684abe, 0x01c8bc85, 0x00de2694, 0x01d2e518, 0x03fca909, 0x002f5bcb}}}, + {X: Field{[10]uint32{0x038fe1ea, 0x01b8fb2b, 0x03fd685d, 0x02d54a38, 0x00878b79, 0x03b9358c, 0x03c1d62d, 0x004d57e5, 0x03ed6e90, 0x003f1795}}, Y: Field{[10]uint32{0x035bab01, 0x02a6cacb, 0x01d498c4, 0x0124d172, 0x02bc7c85, 0x02141efb, 0x018b1b56, 0x032ee796, 0x027a6c21, 0x00044884}}}, + {X: Field{[10]uint32{0x0231ef3d, 0x0114bed4, 0x00bfff3f, 0x015ba8d0, 0x030899e9, 0x02406548, 0x00721c19, 0x02047ef5, 0x00e27a64, 0x00168bd0}}, Y: Field{[10]uint32{0x0093d547, 0x0048b4c8, 0x0086c20a, 0x00e989e6, 0x01d8c4a5, 0x0275c70c, 0x0206d263, 0x0231e5d2, 0x015d1257, 0x001acafe}}}, + {X: Field{[10]uint32{0x00f2084f, 0x005e6d59, 0x033106f9, 0x01f63747, 0x02fb1575, 0x01f5fbd8, 0x036610d6, 0x026716f9, 0x0333df0b, 0x00165e0c}}, Y: Field{[10]uint32{0x025b7f5a, 0x01d9a51f, 0x00c4fa76, 0x025f0d3d, 0x037d309d, 0x029d60fa, 0x03f4623b, 0x005c3204, 0x0280dd3d, 0x003caa7a}}}, + {X: Field{[10]uint32{0x03672d95, 0x01b6c7cd, 0x00a08154, 0x035d329f, 0x01a1c8be, 0x01e8a70b, 0x0372bb38, 0x00ff21cf, 0x01246b51, 0x00033d84}}, Y: Field{[10]uint32{0x038c70ee, 0x03deaf0b, 0x007873ef, 0x03d0b81f, 0x021e182c, 0x0187ec3f, 0x011d1a56, 0x00110e7b, 0x0076697f, 0x00348f0f}}}, + {X: Field{[10]uint32{0x03fe7d52, 0x012c5ccb, 0x017baac1, 0x032581a5, 0x031cb871, 0x0018fe3a, 0x02eb7eb8, 0x00520389, 0x0305133a, 0x003b7453}}, Y: Field{[10]uint32{0x00b1b70a, 0x017e358d, 0x0392a61b, 0x00203291, 0x02ee6033, 0x011709d3, 0x01b3aa84, 0x0354a130, 0x0280d295, 0x0035a0bc}}}, + {X: Field{[10]uint32{0x001a1713, 0x036571ff, 0x000d175f, 0x00c2977a, 0x0033cb8d, 0x0325649b, 0x026e7902, 0x022bce2c, 0x00e90cdc, 0x003e6c3f}}, Y: Field{[10]uint32{0x02a3e6ac, 0x0148903c, 0x022b5d47, 0x022f5bf3, 0x01df958b, 0x0233d2a2, 0x01083cdc, 0x018f5c60, 0x01f6f3d1, 0x003b1fa3}}}, + {X: Field{[10]uint32{0x0346a3b7, 0x02ff4905, 0x014e4e46, 0x0057c1c2, 0x02d9ea43, 0x0105f159, 0x03069817, 0x01fd5e24, 0x01995418, 0x002ba419}}, Y: Field{[10]uint32{0x031a129b, 0x01515fc8, 0x01b10677, 0x01cc16f9, 0x01173355, 0x02811c27, 0x01006ff2, 0x00cc4fa7, 0x01adc09d, 0x0008906f}}}, + {X: Field{[10]uint32{0x03d956e9, 0x02cd4391, 0x03540c54, 0x03cd1041, 0x03f68fe9, 0x01606b8e, 0x02134cde, 0x00bdefd7, 0x00007649, 0x00157c3e}}, Y: Field{[10]uint32{0x033956ff, 0x029232f0, 0x00b982c8, 0x02d71c33, 0x01e258dc, 0x017fa60d, 0x03b4b8a3, 0x0222877e, 0x011de684, 0x0008a822}}}, + {X: Field{[10]uint32{0x01663bbb, 0x00665306, 0x010c1b87, 0x03131147, 0x006cb7e3, 0x03e1991f, 0x0123bb1d, 0x010388c6, 0x030686fb, 0x0024322a}}, Y: Field{[10]uint32{0x00c80ab4, 0x01ef8fff, 0x02463e3b, 0x00625323, 0x01cb30d7, 0x03105e5e, 0x03bb2c50, 0x03acb71b, 0x00d9570e, 0x00371d23}}}, + {X: Field{[10]uint32{0x00a4c694, 0x00b89f21, 0x02b604bb, 0x01aeb027, 0x013e476d, 0x01baa127, 0x0268e735, 0x03aee7ec, 0x002d6b21, 0x0032fd1f}}, Y: Field{[10]uint32{0x02bb2873, 0x021bee9e, 0x001cf16e, 0x037f6ac2, 0x01416ed9, 0x01658908, 0x02bf8bbe, 0x022528e6, 0x03e68042, 0x003c0a23}}}, + {X: Field{[10]uint32{0x0111fe80, 0x027f3a5f, 0x03b1637e, 0x02c91950, 0x00d8f1bf, 0x005235ce, 0x03ff7582, 0x01a2c823, 0x005fc18b, 0x001f0c22}}, Y: Field{[10]uint32{0x00013f2f, 0x01471d8f, 0x0221c7ea, 0x006298f9, 0x0052c067, 0x03221b84, 0x02c6d378, 0x007056c9, 0x00b931a1, 0x000f8b47}}}, + {X: Field{[10]uint32{0x026d7753, 0x0050cefd, 0x033e64f1, 0x01c8dfcc, 0x03e137c7, 0x03a481f6, 0x02a9da9d, 0x032e8374, 0x01190d1b, 0x002b5852}}, Y: Field{[10]uint32{0x0239753d, 0x027807b4, 0x03d0baad, 0x035c3b14, 0x00190b72, 0x02e9d66d, 0x02046192, 0x02862275, 0x018b3512, 0x003f2ba8}}}, + {X: Field{[10]uint32{0x025e29a2, 0x01729f13, 0x01715a29, 0x01c68e4e, 0x00a7bc41, 0x03b4cd6d, 0x02b50a81, 0x027055c2, 0x001baf8c, 0x00237dc1}}, Y: Field{[10]uint32{0x01ce02e7, 0x0192e92f, 0x01a1399b, 0x030e1286, 0x00e12eab, 0x01f771b7, 0x0166b24c, 0x01ef77cd, 0x02438267, 0x0003a24b}}}, + {X: Field{[10]uint32{0x00fdadd6, 0x009e010b, 0x00fbf2a1, 0x01ddf762, 0x02217f4e, 0x0306ed7d, 0x0351891a, 0x01483a69, 0x025761c8, 0x0027d307}}, Y: Field{[10]uint32{0x027d0f50, 0x02e583d3, 0x008609d9, 0x018e7cf5, 0x02ed4b69, 0x00f84b1e, 0x035831eb, 0x03a22430, 0x00adc6ce, 0x003f6884}}}, + {X: Field{[10]uint32{0x0115acbf, 0x02332ae9, 0x0147c2ee, 0x0061d496, 0x03174de6, 0x00778c24, 0x013bacf9, 0x01c28b02, 0x00dd23ac, 0x00290dbd}}, Y: Field{[10]uint32{0x0219afb9, 0x015fbfdf, 0x020ec9fe, 0x02cc1f51, 0x005879e8, 0x009ef04a, 0x039a4509, 0x016e6a50, 0x01d92a61, 0x00303a76}}}, + {X: Field{[10]uint32{0x006f1930, 0x037e882e, 0x007d567b, 0x019f1655, 0x0037497c, 0x000e5a57, 0x018627c5, 0x010f645b, 0x01166997, 0x0028e3bb}}, Y: Field{[10]uint32{0x01d9d7fd, 0x03951512, 0x00c18bb0, 0x02c52105, 0x013be89b, 0x03c9b247, 0x035b5fe3, 0x00ed6b26, 0x02d6effc, 0x001b8f8f}}}, + {X: Field{[10]uint32{0x02fbf3d6, 0x0187aeb8, 0x02586833, 0x039623a4, 0x000b6f1d, 0x01ac3c93, 0x03659e33, 0x010e87eb, 0x00d20d40, 0x0017d164}}, Y: Field{[10]uint32{0x015197db, 0x0242f801, 0x00466158, 0x02dc0090, 0x02ccc833, 0x01939ffd, 0x001af117, 0x03bb00fb, 0x0273042c, 0x00094302}}}, + {X: Field{[10]uint32{0x00cf56c0, 0x0147d10d, 0x03c551be, 0x031dcf3a, 0x03d52bea, 0x03dca0a8, 0x02d16ff8, 0x02e401a3, 0x020dc6eb, 0x001d5961}}, Y: Field{[10]uint32{0x02e24c26, 0x01187c2e, 0x01346c32, 0x01ff8078, 0x039b8468, 0x0275fcfa, 0x028ad7de, 0x03516150, 0x00be526e, 0x0012d5bb}}}, + {X: Field{[10]uint32{0x01a9320c, 0x01ed43e5, 0x035dec53, 0x010afa02, 0x02772927, 0x00800e96, 0x03ad50f0, 0x03bc072a, 0x03ce3a56, 0x000f9f1f}}, Y: Field{[10]uint32{0x03dbfaf1, 0x0349c8a4, 0x03914a32, 0x00b31256, 0x01d5dc34, 0x0267ea76, 0x03789045, 0x01c447cd, 0x00b7926e, 0x00263365}}}, + {X: Field{[10]uint32{0x03cda208, 0x001c9d2d, 0x035522eb, 0x003dabd5, 0x032ac91a, 0x031318aa, 0x031aaf5e, 0x033e12af, 0x005714ce, 0x0004c7ad}}, Y: Field{[10]uint32{0x0320839e, 0x03f625f8, 0x0303127b, 0x004d8344, 0x029b017a, 0x02bb156a, 0x0061393f, 0x0098111b, 0x014ff051, 0x002a4ebb}}}, + {X: Field{[10]uint32{0x02a11ec8, 0x037493a8, 0x026f1637, 0x0380b6cf, 0x02a98e68, 0x0312d7d0, 0x008bff69, 0x018f5c0e, 0x0201e469, 0x000dc6f1}}, Y: Field{[10]uint32{0x01f84622, 0x02765292, 0x03dd37b3, 0x03c4ea9a, 0x0121bbc7, 0x006e249a, 0x0385238c, 0x028906a5, 0x02f1932f, 0x0038befb}}}, + {X: Field{[10]uint32{0x02e47d6d, 0x03d41172, 0x002371bc, 0x00d3910c, 0x01b4d459, 0x00b11461, 0x0136bc20, 0x01cfa280, 0x030492ca, 0x0011dc36}}, Y: Field{[10]uint32{0x0141ec22, 0x03bbcd8b, 0x0390af1a, 0x01ed2c75, 0x0399a92f, 0x00877d2f, 0x037e080d, 0x03641aad, 0x008c25b1, 0x00386bdd}}}, + {X: Field{[10]uint32{0x0194bfff, 0x00a04b25, 0x02fe0da8, 0x00d081e1, 0x01e8e2ae, 0x01f38ebd, 0x01dbae16, 0x036d5dd6, 0x02435af5, 0x002cc6a1}}, Y: Field{[10]uint32{0x009aa4a2, 0x010ef8f0, 0x020cf3c7, 0x0341547f, 0x00f5aaab, 0x0216c1a9, 0x02a85a25, 0x03266aa5, 0x025e860d, 0x000de4d0}}}, + {X: Field{[10]uint32{0x013631f4, 0x00b9996f, 0x019bf09b, 0x02f5f472, 0x00a94121, 0x018670dd, 0x01fe6dd1, 0x009407f7, 0x0052084a, 0x003817bb}}, Y: Field{[10]uint32{0x03b8e622, 0x031589bf, 0x01ed4f6c, 0x01ddb49a, 0x014d883d, 0x035d0909, 0x0224ea4b, 0x03e01a66, 0x03172122, 0x00300457}}}, + {X: Field{[10]uint32{0x0173d5c8, 0x0228c94a, 0x0335ce4d, 0x03beffce, 0x03e57810, 0x025f4fd5, 0x0384305d, 0x001f4d16, 0x00840ee4, 0x00395777}}, Y: Field{[10]uint32{0x027ee677, 0x03a24d90, 0x011a1026, 0x01abe833, 0x00abb87a, 0x023aec4f, 0x003e4257, 0x018505f9, 0x03b5b0fa, 0x001c7dde}}}, + {X: Field{[10]uint32{0x02cd788f, 0x03748fb7, 0x01f0ed46, 0x01dbc9aa, 0x021aabbe, 0x014074cf, 0x00bf3ea5, 0x02a6a8a1, 0x02b1a5c8, 0x003b5eda}}, Y: Field{[10]uint32{0x010db63e, 0x00cf8047, 0x030d3772, 0x0363145d, 0x03824027, 0x037f60be, 0x0054a4bc, 0x02988061, 0x035419d1, 0x0008a02e}}}, + {X: Field{[10]uint32{0x0090e79a, 0x0019c520, 0x02001f96, 0x0078893c, 0x01ce5cb7, 0x03353b9a, 0x03a3329a, 0x0362bb84, 0x01fc3da4, 0x003538cc}}, Y: Field{[10]uint32{0x015e10d6, 0x02385619, 0x00c521ae, 0x01441b42, 0x0277821e, 0x01aa2044, 0x00a6b42d, 0x0334c27d, 0x01aa2f63, 0x00225450}}}, + {X: Field{[10]uint32{0x016d4417, 0x022d21e2, 0x03d54d64, 0x02384834, 0x03265471, 0x036054b1, 0x002545ab, 0x007ff99a, 0x020ea8ec, 0x0013c2b6}}, Y: Field{[10]uint32{0x035aa591, 0x03b1fd64, 0x00cd4dc5, 0x01515b22, 0x0320aaff, 0x02a7eebd, 0x035acf55, 0x02ad191f, 0x01ac6026, 0x002980ee}}}, + {X: Field{[10]uint32{0x00fdca84, 0x03ab8f80, 0x031b7543, 0x0015041a, 0x00a884cc, 0x0037dd4a, 0x0086a9d2, 0x03bb893c, 0x0141b08e, 0x0028b44d}}, Y: Field{[10]uint32{0x00803a45, 0x000edfd7, 0x002d1745, 0x00d61780, 0x024bb67c, 0x03f58172, 0x03a52497, 0x01ae4549, 0x0166294d, 0x0016b02c}}}, + {X: Field{[10]uint32{0x01b6c8a4, 0x03a048ed, 0x0008f64f, 0x00880b38, 0x03cbfc47, 0x03ea517f, 0x00887fda, 0x001164ae, 0x0120014a, 0x00013075}}, Y: Field{[10]uint32{0x00ed738d, 0x00f8cd14, 0x026083bb, 0x03d0e542, 0x00ebcebf, 0x00d23bf5, 0x0106597f, 0x0246395f, 0x028017b7, 0x00090f10}}}, + {X: Field{[10]uint32{0x03c54390, 0x025c2a4a, 0x02c551a5, 0x01f7fcca, 0x00fc2f5b, 0x008c172c, 0x035b8e6b, 0x03a6d330, 0x01a67d13, 0x00017e79}}, Y: Field{[10]uint32{0x0395ff6f, 0x02550edc, 0x0276b30d, 0x02dc9bcc, 0x0085eb0c, 0x022fb7c0, 0x005833ce, 0x017df6f1, 0x02379696, 0x001d2021}}}, + {X: Field{[10]uint32{0x00954575, 0x00d2f282, 0x01286985, 0x025cd293, 0x004447c2, 0x0038a6ad, 0x02d28a88, 0x006c5e02, 0x03809538, 0x0035db1b}}, Y: Field{[10]uint32{0x0161b27b, 0x021cc029, 0x0049859c, 0x03c49def, 0x02aa8273, 0x00390a77, 0x02051789, 0x03806984, 0x03f86b30, 0x00112db0}}}, + {X: Field{[10]uint32{0x01df3344, 0x022816f6, 0x00658e7a, 0x0074036b, 0x006ad19f, 0x01619286, 0x03a9eaeb, 0x01d6bdc0, 0x029ff787, 0x001d5ddc}}, Y: Field{[10]uint32{0x030afec9, 0x030fe64b, 0x0134532e, 0x02c4b9c1, 0x033fa7c5, 0x0239fb3c, 0x012f8229, 0x02a94e4b, 0x0116ccea, 0x001ad466}}}, + {X: Field{[10]uint32{0x02dc17db, 0x0245b163, 0x03a67fca, 0x022c0dae, 0x0278700c, 0x01ab6a64, 0x03194258, 0x0012eb42, 0x032b457f, 0x00140de3}}, Y: Field{[10]uint32{0x02273fc1, 0x028f0bdd, 0x00ad05fe, 0x0193e0bf, 0x03269573, 0x0314ce33, 0x01bf40ba, 0x0335246b, 0x011c26bd, 0x0032f451}}}, + {X: Field{[10]uint32{0x009ba86c, 0x00e2fa33, 0x02b50b91, 0x01138f58, 0x027606eb, 0x0301e3fc, 0x0384ba0e, 0x01458098, 0x00686436, 0x000dd237}}, Y: Field{[10]uint32{0x0211d709, 0x020f2659, 0x01271965, 0x02074d43, 0x016e7bfb, 0x038060a3, 0x01005a04, 0x02ba7377, 0x0014f624, 0x001b0139}}}, + {X: Field{[10]uint32{0x03eea53b, 0x03174715, 0x014047f9, 0x010b417f, 0x013402f3, 0x027ab1ca, 0x01eaea44, 0x035587ef, 0x01be8ea8, 0x002c8e96}}, Y: Field{[10]uint32{0x006dfb9b, 0x03c3a110, 0x019c42fe, 0x03fdc0bb, 0x0295d40e, 0x00fd7e86, 0x03c359c8, 0x016e0b38, 0x0068f2d3, 0x002fa91f}}}, + {X: Field{[10]uint32{0x02a64770, 0x035c7045, 0x00b49ebf, 0x001a4973, 0x039538fc, 0x01c074ae, 0x005f4435, 0x0296f817, 0x01e87b42, 0x00392d14}}, Y: Field{[10]uint32{0x03156da4, 0x019eddcb, 0x001e9e14, 0x029a2a42, 0x014cb261, 0x02de6e61, 0x02fa86b2, 0x001d2523, 0x02699a79, 0x000abe11}}}, + {X: Field{[10]uint32{0x02dff165, 0x03dd5225, 0x01a1242f, 0x005593cf, 0x01de74a2, 0x0194777e, 0x02e671e8, 0x02c218d1, 0x02ec65b8, 0x002192b1}}, Y: Field{[10]uint32{0x031a8730, 0x03ad8009, 0x03188d68, 0x000b7ea4, 0x01b2cbf9, 0x0234afaf, 0x00a5103c, 0x02155647, 0x00a77ab4, 0x003cd5ce}}}, + {X: Field{[10]uint32{0x002ecab0, 0x009c95fc, 0x02ac4ecb, 0x035e6815, 0x00fd36c5, 0x01990e19, 0x00090225, 0x018f66de, 0x023da6a8, 0x002df412}}, Y: Field{[10]uint32{0x0383b0c1, 0x01fbdc1b, 0x031a15ec, 0x02f9d4c3, 0x001519ab, 0x039a81f0, 0x01e4e3bf, 0x03708f96, 0x034c6ba5, 0x00331018}}}, + {X: Field{[10]uint32{0x014c1a0e, 0x023f289c, 0x0044c7ca, 0x00c43af2, 0x03bd6e25, 0x02a0ddf3, 0x020de0c4, 0x03776080, 0x02f9b51e, 0x00377f06}}, Y: Field{[10]uint32{0x03fe3951, 0x0259838f, 0x01ad957b, 0x03d368f8, 0x01c30f23, 0x00976aae, 0x02d9f54a, 0x0313a2c8, 0x008c1742, 0x00033ddf}}}, + {X: Field{[10]uint32{0x011fcbe3, 0x016d1f35, 0x03c30ea7, 0x023e21a3, 0x01e00c82, 0x0053611e, 0x03de26a6, 0x02478e84, 0x0269d5bb, 0x001e3f3f}}, Y: Field{[10]uint32{0x03f2d47d, 0x029b9c91, 0x0306066d, 0x01210d03, 0x0298021b, 0x030a050e, 0x00b231aa, 0x014eeac3, 0x01636b70, 0x0027b19e}}}, + {X: Field{[10]uint32{0x0115863f, 0x00137684, 0x028fcd42, 0x0211e0ce, 0x03138c98, 0x0279dbb2, 0x022b4f81, 0x0075c608, 0x00de1696, 0x00373646}}, Y: Field{[10]uint32{0x0323bb04, 0x014aaeb2, 0x01ed2f5e, 0x003604e9, 0x023ff7fb, 0x004f0a4c, 0x012318dd, 0x00233f28, 0x00bac8d8, 0x002af0f6}}}, + {X: Field{[10]uint32{0x02c3177e, 0x00201b31, 0x012b294a, 0x028a5b33, 0x02e6f64f, 0x00def084, 0x0294eef5, 0x02041a4c, 0x02f05de0, 0x000e738b}}, Y: Field{[10]uint32{0x00730556, 0x034a76de, 0x0349239f, 0x0369e250, 0x020bbb5d, 0x03ce899a, 0x020ca926, 0x025e8e5e, 0x00cb0b76, 0x00097abd}}}, + {X: Field{[10]uint32{0x03157a04, 0x01a94f40, 0x02b5abae, 0x013f4e91, 0x02146451, 0x025eb12e, 0x010e937e, 0x03a27b7d, 0x01b643d4, 0x00125793}}, Y: Field{[10]uint32{0x02ec1701, 0x02c715f9, 0x026d46e6, 0x006e8833, 0x00f84bb8, 0x023105ad, 0x024251cf, 0x0035a7af, 0x0218b296, 0x001f4c9f}}}, + {X: Field{[10]uint32{0x037c33c1, 0x03d6e598, 0x03dbefca, 0x025fd6d9, 0x03a6cb6e, 0x027e79bd, 0x036dde52, 0x01f03070, 0x028cb635, 0x0024705f}}, Y: Field{[10]uint32{0x014c39ba, 0x017b06e9, 0x00e85c96, 0x0383da17, 0x03f07b76, 0x003d61ab, 0x01e26922, 0x022b0bbf, 0x0097fedb, 0x000bf948}}}, + {X: Field{[10]uint32{0x01ecfdbc, 0x01c48875, 0x018d4c03, 0x026f5ab8, 0x001c2874, 0x03172564, 0x011f11ec, 0x03b5118a, 0x00803dff, 0x0038f13d}}, Y: Field{[10]uint32{0x03dc62d8, 0x00afa4b2, 0x0240c65b, 0x009d514f, 0x004e7fb8, 0x033be2ca, 0x00ad71da, 0x009f3a5d, 0x0102571e, 0x00168b9c}}}, + {X: Field{[10]uint32{0x01c25073, 0x01763b5d, 0x0333acc1, 0x03a95a03, 0x0059ae7b, 0x03e772ee, 0x0014377a, 0x0079ed22, 0x03f5a0e8, 0x002cfb85}}, Y: Field{[10]uint32{0x00bfe86d, 0x024b9f5b, 0x01ecb6d0, 0x035415ce, 0x03b46332, 0x00e7b788, 0x0035afe1, 0x00a09698, 0x000c9a6d, 0x0004d68f}}}, + {X: Field{[10]uint32{0x02e76b75, 0x019819ba, 0x01732298, 0x0365796d, 0x017ca6e8, 0x019248cd, 0x02628e1f, 0x006fb4d0, 0x00442bc9, 0x0039332a}}, Y: Field{[10]uint32{0x016f76b9, 0x02364394, 0x01cececc, 0x03880c76, 0x02409f74, 0x00c66b1c, 0x00b42b0f, 0x019c3fdc, 0x015539b5, 0x00375569}}}, + {X: Field{[10]uint32{0x02223b2c, 0x02fefdf6, 0x02359b5e, 0x03aa58ad, 0x02e517e4, 0x013ab9eb, 0x00c02a46, 0x01822666, 0x03c181c9, 0x002ace73}}, Y: Field{[10]uint32{0x037d2fc4, 0x0393aa41, 0x02096a22, 0x01403e65, 0x0172ba3b, 0x00a06862, 0x01cfec18, 0x02ef8b9b, 0x0057b4dc, 0x0037bdb7}}}, + {X: Field{[10]uint32{0x03ab402a, 0x01172137, 0x02e01f8e, 0x034652ce, 0x02677572, 0x0193c206, 0x00cad409, 0x0011a7f9, 0x02639e6e, 0x0008a8c9}}, Y: Field{[10]uint32{0x00d2b437, 0x0157e610, 0x02f261b8, 0x0141750a, 0x00db44cf, 0x013263f3, 0x00f61484, 0x003bc16b, 0x0195bd4e, 0x00072727}}}, + {X: Field{[10]uint32{0x01f9cae9, 0x03f30908, 0x029037c2, 0x0285de42, 0x02db269d, 0x03ef137a, 0x03c5ead4, 0x012fc0c1, 0x00cceff9, 0x000af1e2}}, Y: Field{[10]uint32{0x00bc4b41, 0x000f9389, 0x01384aa7, 0x01227583, 0x00ccecb2, 0x0231e30f, 0x0081c43a, 0x01548110, 0x0061648c, 0x0005cbcd}}}, + {X: Field{[10]uint32{0x02052729, 0x00a8c000, 0x00fe4c62, 0x00d827ef, 0x003872c6, 0x02ef9a7a, 0x0275bb88, 0x001804d6, 0x03d2a672, 0x002e4c36}}, Y: Field{[10]uint32{0x0206f366, 0x0103fd6b, 0x01ebd839, 0x00d8ccd3, 0x01ff3f68, 0x01d0e2ce, 0x030e7f9a, 0x03a2e0a0, 0x0303a872, 0x0002660f}}}, + {X: Field{[10]uint32{0x0114e3d3, 0x02cb8e5d, 0x03466f33, 0x00fa1ca8, 0x0329bcd0, 0x029bc61b, 0x02db448d, 0x03a901c0, 0x038a2aa9, 0x002d0d5c}}, Y: Field{[10]uint32{0x0098636b, 0x01511ce4, 0x0074e92c, 0x02383d87, 0x011678cb, 0x0330d241, 0x0217e55b, 0x019c7e15, 0x02462d3c, 0x00160a34}}}, + {X: Field{[10]uint32{0x0072bd25, 0x037fee4c, 0x0223b532, 0x01fe76d8, 0x02ee1fe6, 0x01060375, 0x012df27d, 0x026ebcb1, 0x02813acc, 0x003247cb}}, Y: Field{[10]uint32{0x01b73c0c, 0x0057c1e1, 0x0345569c, 0x003ef493, 0x02b02735, 0x00ddf878, 0x02fa0c2b, 0x00bc4c4e, 0x03d696c1, 0x00072715}}}, + {X: Field{[10]uint32{0x008d36c8, 0x0257c017, 0x0131d2b9, 0x001be31f, 0x030bad0d, 0x005b6400, 0x028068f4, 0x02ea4e3c, 0x02c28099, 0x002ec251}}, Y: Field{[10]uint32{0x0176da4a, 0x00e41afb, 0x00164867, 0x007dde0b, 0x00156042, 0x03a5e3ca, 0x03e1a621, 0x017fa5e3, 0x00d93b57, 0x00238e1e}}}, + {X: Field{[10]uint32{0x03085c8d, 0x0281a923, 0x03398c31, 0x03df2d13, 0x035298db, 0x01c1fcd9, 0x0106521a, 0x00cdd335, 0x02a12e82, 0x0012178e}}, Y: Field{[10]uint32{0x02ca9a61, 0x018005e1, 0x03878a4b, 0x03837ed3, 0x02af0153, 0x000bf098, 0x0339d4c3, 0x02cac568, 0x02f57079, 0x00284b22}}}, + {X: Field{[10]uint32{0x013e844d, 0x027ee69c, 0x03db3e8a, 0x00a9e219, 0x020f21d0, 0x022a5baa, 0x00da03fe, 0x00895a50, 0x0048d328, 0x002143e5}}, Y: Field{[10]uint32{0x03fccb7b, 0x02c9108e, 0x00d8259a, 0x00d8296a, 0x0103a678, 0x0162a083, 0x034df3af, 0x02e8b029, 0x00fe3201, 0x00115479}}}, + {X: Field{[10]uint32{0x03e39884, 0x03214ec2, 0x01c43682, 0x030152db, 0x01449cd4, 0x03abd476, 0x00e51b18, 0x007f927e, 0x02b3f66c, 0x0029d205}}, Y: Field{[10]uint32{0x0372f7fc, 0x033bdfac, 0x0004f15e, 0x039203b2, 0x01396626, 0x01330416, 0x02f0cfdc, 0x01fa8516, 0x03b247ed, 0x00139f57}}}, + {X: Field{[10]uint32{0x0320136d, 0x02b5adde, 0x02f7785e, 0x00b5ae62, 0x02e1eb70, 0x00d04805, 0x01abcc17, 0x02885c1e, 0x016fc71d, 0x000abd71}}, Y: Field{[10]uint32{0x02b706bd, 0x01455061, 0x029321b6, 0x03642d4c, 0x02783911, 0x00c69ae3, 0x0049e95a, 0x00988ecb, 0x00a2c6a8, 0x001fcc44}}}, + {X: Field{[10]uint32{0x039b5834, 0x013fb90c, 0x00903968, 0x00525c98, 0x031a3137, 0x02b983b6, 0x0163135f, 0x037c7a43, 0x0091a61a, 0x0024a47b}}, Y: Field{[10]uint32{0x01d03884, 0x007745ef, 0x01e09bac, 0x02f2b78b, 0x03feef42, 0x020cb7a4, 0x009649f1, 0x036ecff0, 0x006be8b0, 0x00354c14}}}, + {X: Field{[10]uint32{0x00605b54, 0x0110a4b3, 0x028e1144, 0x034608f3, 0x03a8581f, 0x03863fda, 0x029cb474, 0x01e05813, 0x03c3659a, 0x000582b4}}, Y: Field{[10]uint32{0x00d141fe, 0x007d09a9, 0x03b58b6e, 0x03060636, 0x010a59f2, 0x007ae476, 0x01f939eb, 0x035c6698, 0x024d5f28, 0x00058611}}}, + {X: Field{[10]uint32{0x00ba9d58, 0x01c64d18, 0x02572b40, 0x03e18d62, 0x01ea4280, 0x01cf6b63, 0x005a5d76, 0x024830b6, 0x01bb8640, 0x000d4966}}, Y: Field{[10]uint32{0x03538d0c, 0x01f470a2, 0x0164a50f, 0x03618e35, 0x00aa2ac3, 0x00f2572b, 0x017707ad, 0x013cac8b, 0x011be806, 0x0029e296}}}, + {X: Field{[10]uint32{0x036ba527, 0x00b13ede, 0x03f334d1, 0x038488da, 0x01adb37c, 0x03a78575, 0x037a7281, 0x018d364b, 0x03bd9a8c, 0x003b083b}}, Y: Field{[10]uint32{0x0151b70d, 0x015ecec3, 0x021e2a9a, 0x024bf550, 0x02e8c547, 0x01ebe762, 0x019315e2, 0x00c454e4, 0x01bc2a5a, 0x002b36ca}}}, + {X: Field{[10]uint32{0x02dbebc3, 0x02b51838, 0x0064c5cf, 0x0214618f, 0x01bbd387, 0x0165e07a, 0x02e847dc, 0x031bb157, 0x00da8bda, 0x00103479}}, Y: Field{[10]uint32{0x016e9ab0, 0x0099568c, 0x013acd3a, 0x03fc9fed, 0x004e3755, 0x02e8fb06, 0x03c7d5bd, 0x00b9a299, 0x001cb7c9, 0x00318c16}}}, + {X: Field{[10]uint32{0x027d08c7, 0x02e91103, 0x035127db, 0x00b7c3fe, 0x0081674c, 0x022d9b7d, 0x01ac1c39, 0x037cb8ac, 0x03402faa, 0x003ef849}}, Y: Field{[10]uint32{0x03f412d6, 0x00bdee2d, 0x0187c52f, 0x00d39ba1, 0x00f3dfee, 0x011245a6, 0x00871821, 0x005340eb, 0x00d7f979, 0x003403b7}}}, + {X: Field{[10]uint32{0x0191eb03, 0x0364c370, 0x0008bb0c, 0x0358990c, 0x034070d9, 0x03ec7848, 0x010fbd80, 0x0247ee21, 0x01a747d1, 0x0035e06d}}, Y: Field{[10]uint32{0x006afa11, 0x01ac63cd, 0x03792d90, 0x00c09236, 0x019762ef, 0x0066ca44, 0x01f29245, 0x02ad57e5, 0x01a25c74, 0x00292aa5}}}, + {X: Field{[10]uint32{0x00cf02cd, 0x0111bc27, 0x0052944a, 0x00e7b948, 0x0122790c, 0x00e56d7a, 0x01045d00, 0x02f1f045, 0x0042d926, 0x00191cbf}}, Y: Field{[10]uint32{0x0205a99d, 0x02de2511, 0x0106863d, 0x02d438ab, 0x03045d1a, 0x00cf210a, 0x0264e376, 0x024f7b88, 0x0014a925, 0x00001448}}}, + {X: Field{[10]uint32{0x015e0c21, 0x0057b58e, 0x03fd2c57, 0x00993203, 0x005fa6cf, 0x01181e8b, 0x0117a935, 0x0007a1a9, 0x00c2e096, 0x003bb860}}, Y: Field{[10]uint32{0x0083e7ea, 0x01259a5d, 0x01711e06, 0x03c6b995, 0x0349490a, 0x03de1728, 0x03daff70, 0x01bf16d3, 0x0398221d, 0x003232e9}}}, + {X: Field{[10]uint32{0x01ada2d6, 0x012dd411, 0x00ab4fad, 0x03536d40, 0x039103be, 0x015d8c1d, 0x03ec071c, 0x02b50456, 0x022da172, 0x002402c9}}, Y: Field{[10]uint32{0x01e2cbaf, 0x0108f814, 0x015aa371, 0x0361459d, 0x0082c4c1, 0x00fe8d35, 0x0018e7fb, 0x03fa44fd, 0x03f2bbad, 0x000c5915}}}, + {X: Field{[10]uint32{0x03a34c9e, 0x02006884, 0x00e20420, 0x02c799af, 0x015d5e03, 0x027bca74, 0x02d3371b, 0x0141c1dc, 0x03874e1e, 0x001fa4f6}}, Y: Field{[10]uint32{0x038465a8, 0x0308ce78, 0x0356abc2, 0x011ed6fe, 0x0063f3ec, 0x00033704, 0x03aa0fee, 0x00ca9bd7, 0x02247500, 0x00337aa9}}}, + {X: Field{[10]uint32{0x01a379ca, 0x02320be2, 0x031f5da9, 0x01e80fb6, 0x02d17287, 0x012aff8e, 0x02761b84, 0x02957799, 0x002465f3, 0x001187ed}}, Y: Field{[10]uint32{0x00e815d9, 0x014a16c6, 0x0332b7f1, 0x0299ae39, 0x011f584a, 0x00179070, 0x0101dadc, 0x009c63d5, 0x01fdba03, 0x001da098}}}, + {X: Field{[10]uint32{0x0019e09f, 0x0379de25, 0x0059e997, 0x02997cd4, 0x036de28a, 0x006e93e4, 0x010f0cc9, 0x00683f97, 0x001af0f6, 0x000767d6}}, Y: Field{[10]uint32{0x011bf6cd, 0x00da6d22, 0x011f8adf, 0x00758889, 0x003f02db, 0x0259dbd5, 0x00302e18, 0x03715858, 0x018c7d59, 0x001ffa72}}}, + {X: Field{[10]uint32{0x027542c6, 0x010e085d, 0x0362be23, 0x03fcf337, 0x0166386d, 0x013bf8de, 0x00f7a70e, 0x00aa9c90, 0x0352904b, 0x002335c2}}, Y: Field{[10]uint32{0x01ddc2f2, 0x01afb26d, 0x001f1ff8, 0x00f62195, 0x020e9e29, 0x01caf1ae, 0x0308bb2f, 0x002c7c03, 0x003f4c7e, 0x002cf0f4}}}, + {X: Field{[10]uint32{0x034a5261, 0x02a98a3a, 0x02a2e819, 0x008d3910, 0x0199097b, 0x00036bbf, 0x025b8b38, 0x02196e66, 0x03ea9c08, 0x00282d51}}, Y: Field{[10]uint32{0x02ca2952, 0x0377627c, 0x03a2280c, 0x0063cb48, 0x00fd9d1e, 0x0289fad8, 0x003cb4e1, 0x00403700, 0x0115e585, 0x00181fbc}}}, + {X: Field{[10]uint32{0x0344d289, 0x0358d810, 0x0177578d, 0x03d57f6f, 0x00192406, 0x01fa06ad, 0x03a649c2, 0x00e38da0, 0x00f65470, 0x003aa298}}, Y: Field{[10]uint32{0x01822fb0, 0x003dd19e, 0x00691ac1, 0x033d4183, 0x02881b5f, 0x02f08bc5, 0x00b9f3e3, 0x0357aa3f, 0x02c0b05a, 0x00262bf2}}}, + {X: Field{[10]uint32{0x00b0a711, 0x02335285, 0x0075501a, 0x001a44d4, 0x0148bce5, 0x016ede0a, 0x01488fe5, 0x03e7bddf, 0x029d0882, 0x00398146}}, Y: Field{[10]uint32{0x02920fce, 0x02853d8b, 0x03498ffa, 0x0209364c, 0x00c1ec0c, 0x0182bdd7, 0x01257b8a, 0x02d5572e, 0x02be9d9e, 0x00072736}}}, + {X: Field{[10]uint32{0x00765674, 0x01497a62, 0x02a4b39a, 0x03153e3a, 0x03165338, 0x001f8396, 0x00e5efbc, 0x034cdc1b, 0x02c9c50f, 0x0018021d}}, Y: Field{[10]uint32{0x03ea4189, 0x01e5b936, 0x0346a213, 0x00b981a9, 0x03b04420, 0x0282c856, 0x01f5da0a, 0x0087ce0f, 0x031ef52b, 0x00100699}}}, + {X: Field{[10]uint32{0x02b2ff40, 0x03c7a5fd, 0x00185274, 0x01596df8, 0x003c0eca, 0x01a78105, 0x03efe121, 0x03f7426c, 0x039c5ef6, 0x000ec116}}, Y: Field{[10]uint32{0x02780a28, 0x039a04d8, 0x02dfad20, 0x01ef2c4d, 0x03a135a4, 0x035a4530, 0x00085d05, 0x001f10aa, 0x03acb211, 0x002a95dc}}}, + {X: Field{[10]uint32{0x01f0f1b6, 0x03b9fd2c, 0x022dc643, 0x0077954a, 0x01f9504b, 0x03b673bd, 0x027807fd, 0x01578135, 0x0132ee0b, 0x00373a63}}, Y: Field{[10]uint32{0x033fb086, 0x01687787, 0x031b8d43, 0x038a0077, 0x03aba058, 0x02b3d509, 0x03746d67, 0x00925f2e, 0x027c9e99, 0x00340eb0}}}, + {X: Field{[10]uint32{0x0378fd76, 0x03a61338, 0x0144958b, 0x01fc8be8, 0x03dd5aea, 0x00da19e1, 0x011c07a9, 0x0183fa2a, 0x01486e8a, 0x000d96c4}}, Y: Field{[10]uint32{0x0301c9c0, 0x00add87b, 0x005c3f85, 0x019d53d0, 0x01b36e27, 0x036ee3b0, 0x01ecbbcb, 0x01754131, 0x0217319e, 0x000b1fd4}}}, + {X: Field{[10]uint32{0x036b5806, 0x01cecbaa, 0x006cbb9c, 0x03a15f26, 0x023c3720, 0x013b78d5, 0x00dc3cad, 0x0197b7ba, 0x035a4dc4, 0x000b8de4}}, Y: Field{[10]uint32{0x03ce346b, 0x00e51752, 0x01522c0e, 0x0240431b, 0x02839cb6, 0x01fe0692, 0x02dc7f9d, 0x03d1b600, 0x03f15278, 0x002f421c}}}, + {X: Field{[10]uint32{0x01647568, 0x02eba53c, 0x030bb00f, 0x0215b91e, 0x0081cd85, 0x0035c656, 0x00ddf927, 0x016b5ed8, 0x00e19374, 0x000126da}}, Y: Field{[10]uint32{0x02819dc1, 0x01a4f01c, 0x03795755, 0x00c43d29, 0x021dc82d, 0x03d2e16f, 0x03cb2d05, 0x010fbd4e, 0x03f0013e, 0x00328752}}}, + {X: Field{[10]uint32{0x02744564, 0x00c3f33e, 0x0220cb81, 0x02e8f981, 0x016c8cc6, 0x027b781d, 0x02b6f66e, 0x016a20b0, 0x016cc79c, 0x001b7d4f}}, Y: Field{[10]uint32{0x02431344, 0x02013449, 0x036e1729, 0x01f2bed5, 0x014597f7, 0x00698525, 0x032f2914, 0x01f16491, 0x02ed3b2b, 0x001230f5}}}, + {X: Field{[10]uint32{0x034865a1, 0x0385c36f, 0x02b8bd28, 0x0307238c, 0x022f9467, 0x019c5168, 0x01636727, 0x038ee498, 0x03069104, 0x003667e3}}, Y: Field{[10]uint32{0x02543d7f, 0x02ff9414, 0x01479fd1, 0x00cf9044, 0x00c2b433, 0x0301b2c6, 0x0267c4e2, 0x01764d93, 0x02b055aa, 0x00333f11}}}, + {X: Field{[10]uint32{0x019930d1, 0x03ab64f9, 0x0342a538, 0x03f71a30, 0x01e23af7, 0x01562816, 0x00075728, 0x020ce2ea, 0x0017ebbf, 0x001ddc9f}}, Y: Field{[10]uint32{0x00c629ea, 0x0380ce10, 0x0308366d, 0x02504cf9, 0x00ede751, 0x017d4329, 0x023bc657, 0x0060083f, 0x007e2cde, 0x00280df7}}}, + {X: Field{[10]uint32{0x03e22604, 0x00328bda, 0x0266377e, 0x022667b0, 0x0036ae37, 0x0344ce6b, 0x00c84cfa, 0x013fdf05, 0x02d8563a, 0x0007503a}}, Y: Field{[10]uint32{0x00d1face, 0x007b0488, 0x01713a71, 0x00b6a5a3, 0x033a6b0c, 0x03137ee1, 0x025a5ac1, 0x0245ffb9, 0x0043b093, 0x002125ed}}}, + {X: Field{[10]uint32{0x006bfae0, 0x0241c410, 0x010ef405, 0x02645e8f, 0x03e32269, 0x0061034d, 0x0227c205, 0x02accdc6, 0x0341adf5, 0x0000a8e7}}, Y: Field{[10]uint32{0x005c27c5, 0x03cab1a4, 0x008ed155, 0x027b1c12, 0x008dd1a4, 0x03a11306, 0x0236b048, 0x027ee08e, 0x03a858e9, 0x000336bd}}}, + {X: Field{[10]uint32{0x01c684e0, 0x00dc2206, 0x0215e281, 0x024adb38, 0x0166f5ea, 0x0365d288, 0x031cc92f, 0x02331225, 0x00b1d8b0, 0x0002aab9}}, Y: Field{[10]uint32{0x03cd8f0c, 0x035e3a78, 0x01bdea34, 0x0344e909, 0x03c63739, 0x0145478c, 0x03d5cd50, 0x00d22a13, 0x0195c10a, 0x000248de}}}, + {X: Field{[10]uint32{0x02477d40, 0x03f6bf39, 0x03440965, 0x01520c7b, 0x0211315a, 0x02b0b278, 0x00939d29, 0x014ed8cd, 0x0042591a, 0x00296c30}}, Y: Field{[10]uint32{0x00a62ca6, 0x01e97301, 0x016d7e11, 0x03234a90, 0x00bc9904, 0x00f1f758, 0x022b206b, 0x000922cd, 0x00fd5d1f, 0x002b0f9f}}}, + {X: Field{[10]uint32{0x03c63f0b, 0x00b907c9, 0x035a1278, 0x02d40faf, 0x003c16e3, 0x03c252f9, 0x03643b47, 0x01aa5aa3, 0x0164e616, 0x000306dc}}, Y: Field{[10]uint32{0x01663a98, 0x003c079d, 0x01207fcc, 0x02fdcfb4, 0x01e34810, 0x0378eb1e, 0x010ba811, 0x03c7fd6d, 0x021a4ffa, 0x00211a45}}}, + {X: Field{[10]uint32{0x01ca63bc, 0x0263852b, 0x028b457b, 0x01763f7c, 0x00342e60, 0x03ac9b74, 0x00e0f2c8, 0x018fc136, 0x00254b79, 0x000263f6}}, Y: Field{[10]uint32{0x01a192d6, 0x0184456c, 0x0098f220, 0x0096f848, 0x012dc143, 0x032f2e67, 0x039dba65, 0x019991df, 0x000d213f, 0x0038a5ea}}}, + {X: Field{[10]uint32{0x014c3281, 0x02ceab56, 0x00dc163e, 0x033605ab, 0x0148c464, 0x030b9bc6, 0x034127d8, 0x03b524b4, 0x024971b6, 0x003c7c21}}, Y: Field{[10]uint32{0x00f31f5c, 0x00ce2ac0, 0x0031a346, 0x0394bf7b, 0x03506a0d, 0x01580b9b, 0x038954d8, 0x013ea44e, 0x02a0f9e0, 0x00009ab8}}}, + {X: Field{[10]uint32{0x030dd197, 0x010388e4, 0x03a91172, 0x00e98688, 0x01b63af8, 0x00141bed, 0x03441eac, 0x034ab298, 0x00cdc324, 0x0003fd1c}}, Y: Field{[10]uint32{0x0227788f, 0x00983495, 0x01eba5a5, 0x012e3f4c, 0x0330734b, 0x007be9ce, 0x007a772a, 0x01dfa118, 0x026bb18e, 0x0039807d}}}, + {X: Field{[10]uint32{0x006c63a6, 0x0110b7ef, 0x016dcd04, 0x02e4ccbb, 0x00ad0f82, 0x02aaeeaa, 0x0008127b, 0x02865ad6, 0x006d968a, 0x00243aaf}}, Y: Field{[10]uint32{0x035038f1, 0x03e93bae, 0x030f94c1, 0x038f7370, 0x032faed3, 0x0111daca, 0x03fc4be4, 0x00f35cb7, 0x0367ffb2, 0x0035b7c3}}}, + {X: Field{[10]uint32{0x007e11af, 0x012e2ef3, 0x03866ecd, 0x02dbfabc, 0x02bc0a43, 0x00c00d8f, 0x01e0826b, 0x001e86d0, 0x0126acc5, 0x003885ec}}, Y: Field{[10]uint32{0x01e98f30, 0x007f1b92, 0x01ecda8d, 0x017ec0c8, 0x02921e3a, 0x02c9e8e1, 0x00eb7332, 0x00cf562e, 0x01ef83db, 0x001faca3}}}, + {X: Field{[10]uint32{0x00e1d184, 0x039a2a7f, 0x0228d20d, 0x03bb1e55, 0x02b5d008, 0x01362ab4, 0x032bc218, 0x0175785d, 0x03d582b8, 0x000a865b}}, Y: Field{[10]uint32{0x02201303, 0x00e67d98, 0x022300c3, 0x019e2760, 0x0368526c, 0x02b4bfc7, 0x038dc8cc, 0x038f53f7, 0x0257ee9e, 0x002652d1}}}, + {X: Field{[10]uint32{0x02de4342, 0x0074099e, 0x002e6132, 0x02f5f99b, 0x02ca770c, 0x00463def, 0x01897c81, 0x0329fa2a, 0x03c83a6e, 0x002f278e}}, Y: Field{[10]uint32{0x014f3f4b, 0x01950b5c, 0x030a3f34, 0x0184be12, 0x00e2b076, 0x017cd749, 0x00992917, 0x029586ae, 0x03e2d544, 0x00275fbd}}}, + {X: Field{[10]uint32{0x02f198b3, 0x0144aaac, 0x00cdf6f6, 0x03b79a47, 0x017e76b8, 0x03c4bc82, 0x029e3676, 0x027e13fa, 0x03f3842a, 0x003fca04}}, Y: Field{[10]uint32{0x03fe1949, 0x012128b0, 0x03f7618a, 0x00abd00a, 0x01b8b668, 0x02027d21, 0x02de4380, 0x030586b1, 0x03d666d0, 0x00081b8e}}}, + {X: Field{[10]uint32{0x01af05f7, 0x011e6e34, 0x01baf6c7, 0x02f9382b, 0x0234a50b, 0x01da75f2, 0x01423210, 0x0358faf8, 0x01df2d38, 0x001b9d66}}, Y: Field{[10]uint32{0x03654c8d, 0x01bea978, 0x002cd555, 0x0117b346, 0x03256143, 0x01ad251a, 0x01ed56eb, 0x0136212a, 0x031d4b0e, 0x0008cf73}}}, + {X: Field{[10]uint32{0x03666146, 0x0141c64c, 0x039f9ba2, 0x00bad5db, 0x03839766, 0x02797059, 0x01844d1a, 0x03aca053, 0x00d56c82, 0x0007b767}}, Y: Field{[10]uint32{0x01f43f4c, 0x00946f8f, 0x0165fe24, 0x03725776, 0x0239d48d, 0x0345a083, 0x01b5cb04, 0x03a0fa52, 0x02850b2e, 0x002803d2}}}, + {X: Field{[10]uint32{0x007324af, 0x01e7ed90, 0x02b0718d, 0x01ce4b5e, 0x02818a2f, 0x00e2a07a, 0x024a0907, 0x01335dda, 0x02061f79, 0x0009c8f7}}, Y: Field{[10]uint32{0x02bbf41f, 0x00707fb1, 0x00e783db, 0x01c9df34, 0x0038daad, 0x0112ae22, 0x013429e3, 0x003140f1, 0x01bef981, 0x000d71ea}}}, + {X: Field{[10]uint32{0x039a213d, 0x027289aa, 0x0353af46, 0x00ae9f1a, 0x023874ec, 0x010f04f0, 0x01659eeb, 0x0137bdb6, 0x02444cb5, 0x001313ec}}, Y: Field{[10]uint32{0x038efa3d, 0x01d47956, 0x02472082, 0x036168d5, 0x03d4a1ae, 0x0126cce3, 0x039ad153, 0x01ea7ffa, 0x02fe5644, 0x002ef4ba}}}, + {X: Field{[10]uint32{0x027593e3, 0x0255c819, 0x0212f250, 0x034a3939, 0x0112847e, 0x03ecfef3, 0x03069771, 0x0256a238, 0x01f73479, 0x001cd8d6}}, Y: Field{[10]uint32{0x02bd3741, 0x0256fe44, 0x015f972c, 0x02920359, 0x00e303fd, 0x02e3e61a, 0x02215ca6, 0x001448d6, 0x03ed4bce, 0x0008eecd}}}, + {X: Field{[10]uint32{0x01f595be, 0x01e53661, 0x03293825, 0x03df0332, 0x026f33b0, 0x0021e6fb, 0x01813946, 0x01af452e, 0x0194ee93, 0x000572e5}}, Y: Field{[10]uint32{0x031bb152, 0x00950a7e, 0x0149ac7f, 0x03997962, 0x03e2e133, 0x036c9d3b, 0x03775e9e, 0x006ad804, 0x032a2ec8, 0x002aab5d}}}, + {X: Field{[10]uint32{0x03e78fa4, 0x01b159da, 0x00a9b41e, 0x01de987c, 0x02df5747, 0x002e1dca, 0x0290eb82, 0x033c7a12, 0x01ab97e5, 0x000ed522}}, Y: Field{[10]uint32{0x022219be, 0x00d33d95, 0x00cf9e71, 0x03aeeec4, 0x020d59a1, 0x0044f592, 0x02cad63f, 0x01285f33, 0x03c8e967, 0x00051744}}}, + {X: Field{[10]uint32{0x029dd2f5, 0x005d65e8, 0x01c56684, 0x0130e896, 0x0323323e, 0x0167389a, 0x01bec7bb, 0x034e16c2, 0x019aa6f9, 0x001e346e}}, Y: Field{[10]uint32{0x0216a122, 0x0220dedf, 0x020ef3cd, 0x033856d2, 0x00a6b890, 0x027da8a0, 0x014369ce, 0x02c8433d, 0x01f8e883, 0x00072344}}}, + {X: Field{[10]uint32{0x01661e85, 0x03457ece, 0x0121070c, 0x0060afa0, 0x02d2fd2d, 0x024e244b, 0x0013e3f0, 0x03eef4ea, 0x028c5cef, 0x000e1793}}, Y: Field{[10]uint32{0x0368069c, 0x00b6b2ea, 0x02c7036e, 0x03896337, 0x02c9b168, 0x00730232, 0x03ceb21c, 0x03ef1484, 0x00149f5c, 0x003d2871}}}, + {X: Field{[10]uint32{0x011aec6a, 0x0365c465, 0x02b1fc28, 0x00c0a4b5, 0x02a7c872, 0x014fa4a4, 0x0130df3c, 0x01b1b922, 0x0070d8e4, 0x000c43e3}}, Y: Field{[10]uint32{0x0017146f, 0x021bd70d, 0x01efdb03, 0x017db73b, 0x0359d92d, 0x0175c11b, 0x0315154d, 0x001ec959, 0x01d3c92c, 0x001bf8c6}}}, + {X: Field{[10]uint32{0x03c70bbb, 0x01996175, 0x00912940, 0x02590884, 0x03c1f91a, 0x02356248, 0x030b80d4, 0x03542b85, 0x003023d1, 0x001d93cf}}, Y: Field{[10]uint32{0x03dca724, 0x01f2d038, 0x038e4b54, 0x02e323ca, 0x03c3ee9e, 0x01e32673, 0x01411468, 0x02d283b6, 0x031abecd, 0x002f64be}}}, + {X: Field{[10]uint32{0x03e68126, 0x01fbdca8, 0x031ab36f, 0x01d4f11e, 0x02b37a80, 0x010042e2, 0x013c86f8, 0x028dfc6f, 0x03bab357, 0x000f5748}}, Y: Field{[10]uint32{0x0334255b, 0x0056575a, 0x028e0821, 0x018424c1, 0x017ccbb4, 0x017e7037, 0x00893c5f, 0x0009960e, 0x0041bdcf, 0x000aef46}}}, + {X: Field{[10]uint32{0x027f8a1e, 0x0095ae0a, 0x00dc087e, 0x01f543d4, 0x006d4ddd, 0x019d67a5, 0x03d2affd, 0x01ee2ffa, 0x01adcdfc, 0x0029c10c}}, Y: Field{[10]uint32{0x0147f593, 0x0091fd64, 0x01f20384, 0x00861bfd, 0x00231639, 0x03bfb32e, 0x03d77e8b, 0x02cbab0c, 0x022b9362, 0x000f290d}}}, + {X: Field{[10]uint32{0x000e8a7d, 0x0358f98c, 0x00697bf7, 0x03689177, 0x032263e9, 0x03177500, 0x00004327, 0x00bb3cf2, 0x02122c1b, 0x000a8e20}}, Y: Field{[10]uint32{0x02f6ff78, 0x00b20884, 0x01175fd7, 0x03669c91, 0x01a339c0, 0x02a6dcea, 0x005f2faf, 0x01efc0f7, 0x018853b8, 0x002b25b4}}}, + {X: Field{[10]uint32{0x024b5451, 0x005f0290, 0x01a9ab4d, 0x03fccc1a, 0x0356b49b, 0x015f8c04, 0x00bc545f, 0x0008bad4, 0x01a40ae3, 0x003a6716}}, Y: Field{[10]uint32{0x029bada0, 0x0111758b, 0x03349baf, 0x0260820d, 0x02b4fe1a, 0x00541645, 0x03737b56, 0x03eaddb0, 0x0379fe55, 0x000a6c92}}}, + {X: Field{[10]uint32{0x003306d4, 0x0300d382, 0x0384bf19, 0x035ac368, 0x03c0be26, 0x030ff8b4, 0x03f1a3c3, 0x0317b7d8, 0x02d1bd5a, 0x0028290b}}, Y: Field{[10]uint32{0x00a0bbc3, 0x033d8457, 0x039e4e5b, 0x01e59c99, 0x008aad08, 0x030c83ba, 0x0293e288, 0x008dd1e8, 0x03d2d444, 0x0030e7fc}}}, + {X: Field{[10]uint32{0x009e0053, 0x021baef0, 0x00b01c0b, 0x021c2dbc, 0x035cc17e, 0x01065cc3, 0x011670e1, 0x03c18fc7, 0x01d69ba9, 0x002e54b9}}, Y: Field{[10]uint32{0x01c46ae0, 0x023c31cb, 0x010ca0fe, 0x026bd4f3, 0x02273a4f, 0x02fc942b, 0x031c9b5b, 0x02e369b9, 0x019fa230, 0x00307a02}}}, + {X: Field{[10]uint32{0x01a4e904, 0x03e0ffa5, 0x01a2e620, 0x02319575, 0x01be83c1, 0x00498872, 0x03892b45, 0x017d3918, 0x033a130f, 0x000ebb89}}, Y: Field{[10]uint32{0x030af7e7, 0x03bac3ef, 0x01131eb7, 0x00d67a32, 0x009237b0, 0x024fe51c, 0x003c6a0b, 0x02db73cb, 0x01c6921f, 0x003b7d1d}}}, + {X: Field{[10]uint32{0x0266ceac, 0x0389576e, 0x0044965c, 0x01974a34, 0x00aa2f9e, 0x021e09ff, 0x0310d91b, 0x02bc1ab2, 0x00dcdc65, 0x00025b77}}, Y: Field{[10]uint32{0x0100ab39, 0x03e14bb4, 0x03584215, 0x01f98080, 0x039e2bf3, 0x0042ef08, 0x030d4fe3, 0x01009320, 0x036817fd, 0x000b9b40}}}, + {X: Field{[10]uint32{0x030334a3, 0x017eb934, 0x004d5af4, 0x039e78d6, 0x01e0d07a, 0x00a507e8, 0x00e111c3, 0x03b276c4, 0x0006c757, 0x003f543d}}, Y: Field{[10]uint32{0x013fde6f, 0x03d2f3f5, 0x03348324, 0x003b184d, 0x00ed9ccb, 0x03e36ca2, 0x01b1d364, 0x001a3f1f, 0x0094d49c, 0x001c6ddd}}}, + {X: Field{[10]uint32{0x03a097d1, 0x0193e45a, 0x03a77d3c, 0x004af28e, 0x03bd0611, 0x015a2ae6, 0x014915c9, 0x01148c18, 0x02681195, 0x001bcb60}}, Y: Field{[10]uint32{0x00787a87, 0x003bde0d, 0x035afe88, 0x01a34097, 0x0297261d, 0x029591e8, 0x017fe722, 0x029f134c, 0x0199849c, 0x002af904}}}, + {X: Field{[10]uint32{0x01cc1400, 0x019091c8, 0x03c9d3f0, 0x036f8988, 0x029c5099, 0x020ca8c4, 0x0283d2ce, 0x02d8a89d, 0x01b76dff, 0x00362303}}, Y: Field{[10]uint32{0x01cec51f, 0x0398d4a3, 0x034ea542, 0x02250c6e, 0x02ba5aa2, 0x0021ccad, 0x001726df, 0x01fa4976, 0x015adf6d, 0x00144d3c}}}, + {X: Field{[10]uint32{0x007105fe, 0x03d55f9d, 0x01562d95, 0x012a9c75, 0x00b6c0fd, 0x0080bf93, 0x01013632, 0x00fca3ab, 0x02e4ddde, 0x002a37a6}}, Y: Field{[10]uint32{0x03be8803, 0x00f8f6a8, 0x0107e038, 0x010dbbea, 0x02536820, 0x01f71d4a, 0x03c39a51, 0x02d85242, 0x006b5a71, 0x0005e7a5}}}, + {X: Field{[10]uint32{0x03cd45ac, 0x00942aa3, 0x037ae6eb, 0x03bf9201, 0x01799c94, 0x003996c3, 0x02a48118, 0x00f50276, 0x0027f7dc, 0x00189b1a}}, Y: Field{[10]uint32{0x01bf2f32, 0x031758cc, 0x01c00fce, 0x02841e06, 0x02b30b7e, 0x036e2397, 0x024a2db8, 0x01eca0cb, 0x01db87cf, 0x0000f596}}}, + {X: Field{[10]uint32{0x00a77d02, 0x01213d0b, 0x004955b5, 0x03bed488, 0x021666eb, 0x03d5b3c0, 0x00b2ef69, 0x03e91f6d, 0x022cf00e, 0x0000a28e}}, Y: Field{[10]uint32{0x0393c82b, 0x0266c5a0, 0x01b01f77, 0x00de5e53, 0x030fc168, 0x009c21b1, 0x00e90fb9, 0x01c3b667, 0x00edfc98, 0x00023740}}}, + {X: Field{[10]uint32{0x01545786, 0x00a4dc30, 0x02bd5dbb, 0x01d5fee4, 0x02c3b672, 0x005e2923, 0x01d0dc2f, 0x01901491, 0x029f27c4, 0x0037c2c0}}, Y: Field{[10]uint32{0x02a1099a, 0x03462900, 0x0279c6cc, 0x012ffa85, 0x01757b47, 0x004067c5, 0x00a5ad4e, 0x0166a204, 0x0105c7e1, 0x003c4cfb}}}, + {X: Field{[10]uint32{0x001a49ef, 0x02ef17f7, 0x02c8b421, 0x020d31f0, 0x020c5497, 0x0229ad8e, 0x02162a4e, 0x002f94b4, 0x03af9c1e, 0x00371bd5}}, Y: Field{[10]uint32{0x00f1a0c4, 0x01f84104, 0x0379e9e9, 0x01287064, 0x0366fca4, 0x02ce26ea, 0x02ee20d9, 0x03f97258, 0x02afe610, 0x001bd61a}}}, + {X: Field{[10]uint32{0x0255cd15, 0x00ece62c, 0x02ac4bf1, 0x00ba838f, 0x03816247, 0x02070764, 0x02dcc0fa, 0x031a4066, 0x02a2e0d2, 0x0036de5b}}, Y: Field{[10]uint32{0x0105ac88, 0x010c4f1f, 0x033e2947, 0x00810ef6, 0x02793754, 0x006478a3, 0x01e07662, 0x03ed1190, 0x02a732e1, 0x000b9831}}}, + {X: Field{[10]uint32{0x01633a2d, 0x03f8da4d, 0x023ca059, 0x01a4c2c1, 0x02881fe2, 0x01d3e233, 0x03a3efce, 0x0263f696, 0x029e72ea, 0x0015a6d9}}, Y: Field{[10]uint32{0x00ca0c8c, 0x02ddd57e, 0x00ca2f76, 0x01bffd3e, 0x02220b6a, 0x03ad78dd, 0x033f7406, 0x03e1c976, 0x02af2551, 0x002eb763}}}, + {X: Field{[10]uint32{0x00468ae4, 0x02b0ccde, 0x02451421, 0x004617f4, 0x02ec7951, 0x00b45d71, 0x036b6f0e, 0x00ceef52, 0x00201f9a, 0x000d84c9}}, Y: Field{[10]uint32{0x033c4314, 0x005863fe, 0x01dee282, 0x005c3655, 0x0262a58e, 0x011d5921, 0x02ba1351, 0x01cd99bb, 0x02cef7bc, 0x003d1ed5}}}, + {X: Field{[10]uint32{0x014a469c, 0x013b4cd2, 0x015b1b60, 0x020f24bf, 0x03855a07, 0x020b6c3f, 0x00fa2431, 0x00805246, 0x00371e4d, 0x00337ac8}}, Y: Field{[10]uint32{0x00dfa7d8, 0x031bde76, 0x03393a83, 0x03555462, 0x02970a7e, 0x0213b941, 0x010098bc, 0x00e074bf, 0x03186829, 0x001f4f1d}}}, + {X: Field{[10]uint32{0x031598ef, 0x005f3f05, 0x03755c87, 0x01d3e36d, 0x03ff6c4d, 0x037a23ff, 0x013b721a, 0x0317b003, 0x03a9d750, 0x00180d73}}, Y: Field{[10]uint32{0x03dd675a, 0x027f6d81, 0x01cb749f, 0x035f5632, 0x029bb129, 0x0120b480, 0x02dcde65, 0x0090d904, 0x00da160b, 0x003f85e6}}}, + {X: Field{[10]uint32{0x0379c0f7, 0x0279068e, 0x02ac18dc, 0x01765f64, 0x00bb250b, 0x011c5e3d, 0x0275b0c0, 0x02639383, 0x0297e499, 0x002c7d4b}}, Y: Field{[10]uint32{0x03df795f, 0x01e942b4, 0x0333d808, 0x03e04093, 0x03de484c, 0x00994717, 0x024370ca, 0x03f6317c, 0x01654e4c, 0x00360fcf}}}, + {X: Field{[10]uint32{0x01f1b641, 0x018ac85b, 0x02477d78, 0x0159094d, 0x03f1a5e0, 0x0357dc26, 0x0011395d, 0x00f6827c, 0x035304c7, 0x002a9e66}}, Y: Field{[10]uint32{0x03248646, 0x00f4b4cc, 0x03338a00, 0x001f2ef9, 0x02dd5920, 0x03ce2aa1, 0x03f68879, 0x016d9164, 0x0047b5e9, 0x000e8c9c}}}, + {X: Field{[10]uint32{0x0045aa03, 0x017a6ee9, 0x023c18d3, 0x026f7631, 0x01262d62, 0x034ce691, 0x01e56b66, 0x03d3f11e, 0x016445bd, 0x00369286}}, Y: Field{[10]uint32{0x029cb70d, 0x00fe4b2d, 0x006d563f, 0x039c9b0b, 0x02353376, 0x00d357b2, 0x02cff296, 0x018e9019, 0x02da25cc, 0x001ece97}}}, + {X: Field{[10]uint32{0x01b8d656, 0x039ccfe8, 0x0384c231, 0x011a81ec, 0x017e620d, 0x003bbc1c, 0x03eba80f, 0x01b4350c, 0x00adc234, 0x0030c02d}}, Y: Field{[10]uint32{0x03cdba42, 0x02a1dc78, 0x023566f4, 0x03691537, 0x02f73448, 0x00402e56, 0x02aa439a, 0x01eb1fcd, 0x03b948d2, 0x000c820e}}}, + {X: Field{[10]uint32{0x00359f04, 0x0162cae5, 0x02be76a3, 0x001f8833, 0x02ed64a9, 0x02437cac, 0x039bf7b0, 0x01c91358, 0x01286793, 0x00315669}}, Y: Field{[10]uint32{0x01bf5977, 0x011c3352, 0x004740d2, 0x03685659, 0x02806d78, 0x00fd10d2, 0x01671b56, 0x03260c83, 0x01aa5c08, 0x0027f2b0}}}, + {X: Field{[10]uint32{0x03e83540, 0x018ccef7, 0x015fa9b9, 0x03af4f9e, 0x01b0911c, 0x020f042c, 0x034bca9a, 0x036fd3c1, 0x01470a46, 0x000e6c40}}, Y: Field{[10]uint32{0x01308278, 0x0250658b, 0x0055e642, 0x005f458a, 0x00168da4, 0x0358cd38, 0x02aa313c, 0x009d0d36, 0x00c8c3b2, 0x002b4d77}}}, + {X: Field{[10]uint32{0x037d6d42, 0x01d2810b, 0x01d6b347, 0x00ba89de, 0x014129ab, 0x00666532, 0x00405970, 0x031805fe, 0x02b7d2de, 0x000e7272}}, Y: Field{[10]uint32{0x03781845, 0x0373a790, 0x013623af, 0x02d32012, 0x0272ca72, 0x01f77ecf, 0x00cdd453, 0x02284cd5, 0x016b835a, 0x0031cfaf}}}, + {X: Field{[10]uint32{0x02c679ed, 0x02d7bbbb, 0x01466fc7, 0x0135104c, 0x03f8f81c, 0x038863b0, 0x02c60972, 0x02d18ab7, 0x01988a30, 0x00069896}}, Y: Field{[10]uint32{0x034114ab, 0x03e3374c, 0x02037bf5, 0x0276e810, 0x033651a3, 0x03884ef5, 0x02776e62, 0x01f26efd, 0x02bb01a9, 0x001ce6fa}}}, + {X: Field{[10]uint32{0x024c4308, 0x008b7eba, 0x003bf3f4, 0x0330fbd9, 0x0085f33e, 0x03ca0ea6, 0x012761eb, 0x030c2350, 0x0110cd35, 0x000e5bb6}}, Y: Field{[10]uint32{0x004dfe57, 0x03467845, 0x01b7f556, 0x01620d9c, 0x013945e1, 0x010a91ac, 0x0048cf84, 0x01852937, 0x01a6a08a, 0x001c8737}}}, + {X: Field{[10]uint32{0x03299a47, 0x02debce6, 0x02becaf7, 0x0100978e, 0x0083e153, 0x002f60c7, 0x02ee96ab, 0x0333f652, 0x02e8a2e8, 0x00294381}}, Y: Field{[10]uint32{0x03beba52, 0x03593f8a, 0x0214f3fc, 0x0068ead7, 0x014521fc, 0x02382178, 0x01a4575e, 0x02018ff9, 0x01b259a1, 0x00164c81}}}, + {X: Field{[10]uint32{0x01c3e1de, 0x03c9adc4, 0x034a3dc3, 0x03591ba3, 0x00dbe15c, 0x00e4fe8d, 0x02c8bcf7, 0x03470398, 0x002317b0, 0x0012a7e0}}, Y: Field{[10]uint32{0x03c6bb71, 0x012faa7d, 0x015ac289, 0x030e5899, 0x00239867, 0x00d3a24a, 0x0330c244, 0x017fff36, 0x036d0091, 0x000103bf}}}, + {X: Field{[10]uint32{0x01608b73, 0x0368bf23, 0x01f055d2, 0x018957b6, 0x007f3232, 0x00bfeee2, 0x0318562e, 0x02df9842, 0x020d9dec, 0x00233978}}, Y: Field{[10]uint32{0x02c720de, 0x03da6386, 0x011b54f1, 0x02caa9c0, 0x0263f024, 0x01649c9e, 0x0292371b, 0x03859003, 0x036cf363, 0x0003ada6}}}, + {X: Field{[10]uint32{0x0083f24b, 0x009be6ed, 0x03e0a367, 0x0358dc02, 0x0184143e, 0x0295503b, 0x02525e28, 0x03a7947c, 0x01d79b53, 0x003cc9a5}}, Y: Field{[10]uint32{0x008471c8, 0x038641f0, 0x0123ef1e, 0x00587185, 0x031d81bd, 0x03f88d24, 0x012ca1f6, 0x00157d96, 0x0088eea2, 0x003a34d9}}}, + {X: Field{[10]uint32{0x02c34d07, 0x01b78775, 0x01959485, 0x02049749, 0x01d92748, 0x01b80822, 0x011ad140, 0x0164b96d, 0x01863bf6, 0x000e09bf}}, Y: Field{[10]uint32{0x03e4cc83, 0x020ec73f, 0x01e97265, 0x0006a240, 0x02020da0, 0x01ffe7e0, 0x0282058a, 0x00d71d0f, 0x01e6a290, 0x003aa1bc}}}, + {X: Field{[10]uint32{0x00ccd551, 0x01904290, 0x03ddd0dc, 0x02a263a1, 0x02ae8611, 0x03b1c9d8, 0x02098684, 0x02c3d46e, 0x00d32e32, 0x001ec6bf}}, Y: Field{[10]uint32{0x02e37884, 0x020a34f4, 0x020efc70, 0x02c2f158, 0x00a3ce0e, 0x02edb42a, 0x0036ee39, 0x0024c420, 0x02f779e1, 0x0037ae9b}}}, + {X: Field{[10]uint32{0x01a91bd4, 0x0118304d, 0x03b63348, 0x0331fdfd, 0x018deddd, 0x019a8db4, 0x00d39b1b, 0x01d61d50, 0x01fed2c2, 0x000fac7f}}, Y: Field{[10]uint32{0x026b36cb, 0x0263e5b4, 0x037b9eb8, 0x011633f3, 0x02642c53, 0x0204a99e, 0x01506cca, 0x039e5186, 0x02ca536a, 0x002e2baa}}}, + {X: Field{[10]uint32{0x0356da8f, 0x012fad66, 0x03c45c21, 0x027a406d, 0x02b71b4d, 0x020fba8b, 0x02290cb6, 0x03f17d4c, 0x02c8aae9, 0x00275876}}, Y: Field{[10]uint32{0x02446036, 0x021d8ace, 0x02271793, 0x0079e28a, 0x01280a8f, 0x0099f3a6, 0x024fc3ee, 0x02c8b9c0, 0x00a42ea1, 0x000b9f2b}}}, + {X: Field{[10]uint32{0x0211c7d8, 0x0343ab8f, 0x0239be38, 0x03bff76e, 0x02e91a43, 0x017b5551, 0x021e37a8, 0x03eaa3a3, 0x02dc3167, 0x000b6cdc}}, Y: Field{[10]uint32{0x01707ffe, 0x01b842d6, 0x023809b0, 0x00d2dc65, 0x0084f005, 0x02d67c3a, 0x0279697f, 0x02f5a85b, 0x0361bc1a, 0x0005aadb}}}, + {X: Field{[10]uint32{0x0005dc80, 0x0008f4a2, 0x000302ff, 0x019fdff1, 0x025b03dd, 0x02b4c4ca, 0x00e83cc9, 0x02d4e14e, 0x02f9f7a2, 0x00263df3}}, Y: Field{[10]uint32{0x02b98943, 0x020417eb, 0x00dd8d65, 0x034fe546, 0x01468bed, 0x03a5a85d, 0x016df891, 0x039b1af5, 0x00232813, 0x000ed03e}}}, + {X: Field{[10]uint32{0x01b62548, 0x0334657b, 0x00c7a363, 0x01853522, 0x02c48f08, 0x02a276d0, 0x01f58528, 0x00349357, 0x026cc8ab, 0x003baacb}}, Y: Field{[10]uint32{0x002649da, 0x002649f2, 0x022cc017, 0x01d100a0, 0x00523a7f, 0x03d7b7c5, 0x03e25030, 0x00ca35ca, 0x01ed65d3, 0x00181f10}}}, + {X: Field{[10]uint32{0x03db942a, 0x00d5c16c, 0x035376d9, 0x0346b69a, 0x03b7cb5e, 0x017ecc6d, 0x029a9d6c, 0x0071c0d1, 0x02ffb216, 0x002557fb}}, Y: Field{[10]uint32{0x01c0864b, 0x0123b905, 0x035a3fdf, 0x0029a0b2, 0x01283fcd, 0x029c4016, 0x039c9846, 0x030d081d, 0x0248a561, 0x002a4656}}}, + {X: Field{[10]uint32{0x00cd85a7, 0x03396b37, 0x025c9d44, 0x0376a606, 0x034db23b, 0x0336b0db, 0x008f5411, 0x03ba7b4f, 0x012d70d2, 0x00086693}}, Y: Field{[10]uint32{0x00ef53b4, 0x01593d71, 0x008e470a, 0x02a4171b, 0x013dbfdd, 0x03193df7, 0x0284aef2, 0x023b05c4, 0x01684300, 0x0019d106}}}, + {X: Field{[10]uint32{0x011ddb23, 0x010a5cbe, 0x028a5ed5, 0x01c5c8b8, 0x020d5945, 0x020b040d, 0x02f5cbd2, 0x02c584b8, 0x010d7794, 0x00125d8a}}, Y: Field{[10]uint32{0x0217ebc4, 0x001185b3, 0x03aec790, 0x00915bd5, 0x0023571c, 0x011b7144, 0x008354b4, 0x015954bf, 0x01f160fc, 0x00133f65}}}, + {X: Field{[10]uint32{0x0072b1c1, 0x0135c8ac, 0x00a4b5c4, 0x02cf0535, 0x021866e0, 0x0267d59d, 0x03b99ed5, 0x02b476ee, 0x03e0268e, 0x0011cb54}}, Y: Field{[10]uint32{0x02831232, 0x01a4fb30, 0x02db8e31, 0x00afb190, 0x01e4dfe8, 0x03659ee2, 0x02d42e31, 0x035352a3, 0x00096115, 0x003a6e70}}}, + {X: Field{[10]uint32{0x00ab18ef, 0x00c9ed1c, 0x01d50da3, 0x03ef0375, 0x003f3462, 0x0169b86c, 0x0075d617, 0x02e572be, 0x037e7a4d, 0x000a9bd6}}, Y: Field{[10]uint32{0x0259d506, 0x039f80e1, 0x033479ad, 0x013a8bcd, 0x02c9f372, 0x002c04f3, 0x01f5b78f, 0x037065f6, 0x03a392aa, 0x00246c91}}}, + {X: Field{[10]uint32{0x03146c19, 0x03e71148, 0x025ba17d, 0x00ae7441, 0x007431a6, 0x0383230f, 0x025e654f, 0x03606ed7, 0x01a3bf48, 0x00370605}}, Y: Field{[10]uint32{0x0194be8f, 0x02f7cbf5, 0x00f36d0f, 0x03dec232, 0x02d837c5, 0x01d1fbfe, 0x03e2af74, 0x0143c391, 0x029a3115, 0x003f881c}}}, + {X: Field{[10]uint32{0x00397776, 0x002db9a6, 0x03c4f1df, 0x033cf9a2, 0x00a8b47e, 0x000ffee6, 0x0295db4f, 0x03bae25e, 0x03ecad8f, 0x00239e54}}, Y: Field{[10]uint32{0x0141ac5d, 0x02c58df0, 0x01157893, 0x03f36aed, 0x0212f7c6, 0x007cc518, 0x0040a395, 0x0073109b, 0x02ef81b2, 0x00176b7c}}}, + {X: Field{[10]uint32{0x019b41a5, 0x03913304, 0x02a7472e, 0x0015b999, 0x01faf96a, 0x019a1b22, 0x0099fe1c, 0x01c92e7a, 0x026b49d5, 0x00293647}}, Y: Field{[10]uint32{0x020a4893, 0x03a77865, 0x0247414a, 0x00aae9cb, 0x02fef10b, 0x02f73f09, 0x02bb820c, 0x019263d6, 0x02150e29, 0x002af5a1}}}, + {X: Field{[10]uint32{0x0300eee9, 0x025210da, 0x0141dd02, 0x008ab2b8, 0x02754c49, 0x02383910, 0x0266dd60, 0x009ae74e, 0x01a4f3e4, 0x002e5c20}}, Y: Field{[10]uint32{0x00f153da, 0x007b5b2e, 0x024f1ea6, 0x01de38a2, 0x022c8c2f, 0x005542c4, 0x029cb641, 0x012ed2ea, 0x00839921, 0x001563db}}}, + {X: Field{[10]uint32{0x03825848, 0x00d0843e, 0x0225ea8c, 0x029ad8d2, 0x00b873a5, 0x01904b15, 0x0273c6ef, 0x026f39c2, 0x02ed8227, 0x001a20ad}}, Y: Field{[10]uint32{0x03f21b3b, 0x027852e7, 0x035aed6b, 0x002487ca, 0x031e3a3b, 0x01a27a28, 0x0279c616, 0x00f8e4ba, 0x02e9c823, 0x0031bf7b}}}, + {X: Field{[10]uint32{0x00717fe8, 0x01fb8691, 0x011a462c, 0x0202b543, 0x011a0dba, 0x013f7acf, 0x03bf11fa, 0x015c272a, 0x03311c71, 0x00271509}}, Y: Field{[10]uint32{0x01f2b045, 0x010a5d74, 0x0058d7ea, 0x01c713c8, 0x00ef4b64, 0x029dfdd8, 0x006bd40c, 0x00d16311, 0x03107816, 0x002a8106}}}, + {X: Field{[10]uint32{0x000cd32c, 0x01ccc31e, 0x015d9357, 0x005c0ec6, 0x024a5ed9, 0x00ef9637, 0x038779de, 0x01704ba0, 0x01a6776b, 0x001ce853}}, Y: Field{[10]uint32{0x02d2c49c, 0x03929c1e, 0x03a78b0c, 0x01d3332c, 0x01ceb585, 0x022fcb22, 0x0067bb7e, 0x0313569d, 0x03fde98e, 0x003101a3}}}, + {X: Field{[10]uint32{0x02af91b5, 0x01b15dad, 0x038ebfdc, 0x00d7677b, 0x028748d8, 0x039b76df, 0x01e9d261, 0x01b136eb, 0x028627d2, 0x00192228}}, Y: Field{[10]uint32{0x016d8ff3, 0x01806f4f, 0x02697b5c, 0x025416b6, 0x033c7f06, 0x0116ec1f, 0x030916a9, 0x0046462b, 0x01f0b050, 0x0009fe2c}}}, + {X: Field{[10]uint32{0x0151046c, 0x02753414, 0x0371bd8c, 0x023865e3, 0x02cca1d3, 0x01f73ef3, 0x01ee2ef4, 0x0132636e, 0x027a5b54, 0x0025951b}}, Y: Field{[10]uint32{0x01f4309d, 0x018329c1, 0x0189e841, 0x01cac984, 0x023b10f7, 0x00257260, 0x00f07d22, 0x03b3fc88, 0x032f8fe9, 0x003413f8}}}, + {X: Field{[10]uint32{0x00fecdf8, 0x0118fb63, 0x00066761, 0x01b20b4a, 0x01e76998, 0x01c808bb, 0x02cdb909, 0x02c50e80, 0x03564598, 0x002e811b}}, Y: Field{[10]uint32{0x0227250f, 0x000c8c8f, 0x01d68536, 0x00341de3, 0x023e57bc, 0x034f676a, 0x007d37c0, 0x015f0550, 0x03abd424, 0x003f1b88}}}, + {X: Field{[10]uint32{0x02d0e4ec, 0x02e02bd6, 0x027df310, 0x01fec4f2, 0x005e7655, 0x021aa081, 0x02d82ed0, 0x0329f77d, 0x0351e633, 0x000e5551}}, Y: Field{[10]uint32{0x006d3b1c, 0x021ac0a8, 0x03b4f894, 0x00f0bee6, 0x03cdb2ba, 0x03ea8fd9, 0x03df5e95, 0x03c83a5d, 0x0284f040, 0x002915ae}}}, + {X: Field{[10]uint32{0x009c22aa, 0x029a2926, 0x0317cd46, 0x035c0386, 0x01ba56b8, 0x00411b0f, 0x016c9241, 0x027f5c36, 0x00e75fef, 0x00317d54}}, Y: Field{[10]uint32{0x03ac3fa9, 0x030d8d89, 0x02cc2173, 0x010b723c, 0x038d65ea, 0x03b9f43e, 0x02a987ac, 0x02d85d55, 0x02e03aea, 0x00152160}}}, + {X: Field{[10]uint32{0x025fa050, 0x026ab35b, 0x0327eb99, 0x01d5e6c9, 0x0326d4ba, 0x03818e90, 0x000b2a0e, 0x0236ce6a, 0x0210a48d, 0x000b3305}}, Y: Field{[10]uint32{0x00348c84, 0x00fe5ffe, 0x02b70a07, 0x01a524a3, 0x03fa205d, 0x01e79610, 0x01cb17b1, 0x0000b023, 0x03db2114, 0x00379b75}}}, + {X: Field{[10]uint32{0x03084b3f, 0x0227843d, 0x012c5add, 0x03e3f9ba, 0x003ae59c, 0x03639919, 0x00089ff2, 0x00721079, 0x00e73e94, 0x0024ec1f}}, Y: Field{[10]uint32{0x0018fa63, 0x02a03910, 0x03634cb5, 0x03fb8634, 0x02533efc, 0x018a686b, 0x02c362d3, 0x0099f953, 0x0076c5a7, 0x00029b01}}}, + {X: Field{[10]uint32{0x0291e7e9, 0x03015996, 0x03a3e438, 0x001d872e, 0x02b0ec27, 0x01a166c5, 0x03aeec82, 0x0119e578, 0x01f055c1, 0x00114f00}}, Y: Field{[10]uint32{0x016766b2, 0x016f1269, 0x033d9874, 0x026794b9, 0x030e14ac, 0x00221096, 0x03738436, 0x032288bb, 0x02c9b9d3, 0x003ca3ab}}}, + {X: Field{[10]uint32{0x000f12f1, 0x0359197a, 0x027946f8, 0x013012a5, 0x00c1d09a, 0x0055656e, 0x02148fad, 0x0230a282, 0x01fdac07, 0x000f1b7c}}, Y: Field{[10]uint32{0x02a5b58d, 0x033c99e0, 0x0354f6df, 0x01700542, 0x02d443db, 0x039fb4a4, 0x02a68212, 0x004d2e81, 0x004d4eaa, 0x0011866a}}}, + {X: Field{[10]uint32{0x01b98630, 0x033160c4, 0x02fd600d, 0x03e49c17, 0x03f12054, 0x0240836f, 0x01429895, 0x025e14c1, 0x01683995, 0x0006dfda}}, Y: Field{[10]uint32{0x00645c25, 0x03670803, 0x00a37372, 0x00574305, 0x0067ee9e, 0x0223b1bc, 0x01731c9b, 0x03ea33ef, 0x023ee3e8, 0x0009e771}}}, + {X: Field{[10]uint32{0x03fccc19, 0x03610bef, 0x0300697a, 0x03da7340, 0x006256f2, 0x013489db, 0x010a6427, 0x0342e66e, 0x01539d49, 0x00386dee}}, Y: Field{[10]uint32{0x01f9500f, 0x03763435, 0x03316fd0, 0x036c9fe4, 0x00f2acfe, 0x027a054d, 0x004628b1, 0x0195a614, 0x016f51dc, 0x000ac8ee}}}, + {X: Field{[10]uint32{0x0354f911, 0x0205f22b, 0x012bf4bc, 0x017e9588, 0x039ce552, 0x02a5d193, 0x015f79bb, 0x0108cd2f, 0x00c56fbf, 0x0010133c}}, Y: Field{[10]uint32{0x031ef662, 0x00b29907, 0x03c0f2e2, 0x02d5e625, 0x02023c04, 0x0178d95e, 0x021a6e07, 0x00162171, 0x02098830, 0x002d6481}}}, + {X: Field{[10]uint32{0x00aae0c1, 0x038bb243, 0x0171f43f, 0x03b05faa, 0x00e7819a, 0x00268d10, 0x02e817fa, 0x01af63bf, 0x0186da62, 0x0010fc76}}, Y: Field{[10]uint32{0x0274f9ad, 0x028802ca, 0x03583e51, 0x00e0acea, 0x033e93f4, 0x005d45e7, 0x0011f518, 0x0246ab4a, 0x02ce0ce8, 0x00317e96}}}, + {X: Field{[10]uint32{0x005b9c1f, 0x03b2bd83, 0x028fcd23, 0x03a2d9fb, 0x027bbcaa, 0x02dd8844, 0x02183b81, 0x0265445a, 0x01c6b320, 0x00286211}}, Y: Field{[10]uint32{0x03ef1f44, 0x030a546e, 0x03b02dfc, 0x03c573ae, 0x038f54e7, 0x020619c6, 0x03c5350e, 0x01f9acb3, 0x01d9d7e0, 0x002603b5}}}, + {X: Field{[10]uint32{0x03ac01ed, 0x00124839, 0x015aa2a3, 0x02b7009b, 0x00254c38, 0x000f24a7, 0x01cc17be, 0x02609181, 0x03eb0af9, 0x00013671}}, Y: Field{[10]uint32{0x03e781d3, 0x01070654, 0x031c970d, 0x02e67ea6, 0x0097065b, 0x00cd83dd, 0x033cf00f, 0x03394c89, 0x0335bb0d, 0x00319316}}}, + {X: Field{[10]uint32{0x03e7c25d, 0x03ab7225, 0x00814eda, 0x03dc1319, 0x0155953e, 0x03a2a981, 0x01317833, 0x036c26f3, 0x02f2fbc3, 0x00386348}}, Y: Field{[10]uint32{0x03c7e07e, 0x03ca88bb, 0x00b5953e, 0x02ca15c0, 0x000f15b8, 0x032aa1c0, 0x037989df, 0x0081c893, 0x02817115, 0x00330962}}}, + {X: Field{[10]uint32{0x0247879d, 0x02f6f94a, 0x03d5a3c8, 0x029e6f0d, 0x0035083a, 0x030505fa, 0x02ec9a60, 0x02413e34, 0x01f9f220, 0x0005815d}}, Y: Field{[10]uint32{0x0279a5e5, 0x0157e4d4, 0x034ce0d6, 0x012cc274, 0x012c3870, 0x0350e7fb, 0x0191c60a, 0x025e3504, 0x00a6127e, 0x000795ad}}}, + {X: Field{[10]uint32{0x0192d514, 0x0280dc94, 0x03e53f9a, 0x01aa850d, 0x034c3c9f, 0x00f14d56, 0x02b7ebdd, 0x03589935, 0x03c757b1, 0x000ed946}}, Y: Field{[10]uint32{0x00231c3f, 0x015861a0, 0x022e419e, 0x01682287, 0x025feb28, 0x03722927, 0x031d8ec5, 0x000c483f, 0x03749599, 0x0025dea1}}}, + {X: Field{[10]uint32{0x02ba532a, 0x01e6a3c5, 0x03b0cd95, 0x02587f5a, 0x02a9660e, 0x0262aca1, 0x00250154, 0x033009d8, 0x01ef56fa, 0x0024216f}}, Y: Field{[10]uint32{0x02e9fe89, 0x01443c5e, 0x013b8c55, 0x005a3dae, 0x0368364c, 0x003a039e, 0x03f791d9, 0x01567179, 0x0108a557, 0x003f4174}}}, + {X: Field{[10]uint32{0x000569ec, 0x01151239, 0x00c21fef, 0x0095db87, 0x0067cf1b, 0x007c2b3a, 0x033aab8c, 0x00e18bf4, 0x006df64a, 0x0010890c}}, Y: Field{[10]uint32{0x020661bc, 0x004f563d, 0x032498bd, 0x0257fe59, 0x0063e723, 0x016790b9, 0x0087c2dc, 0x02f0773a, 0x02675279, 0x0021d02d}}}, + {X: Field{[10]uint32{0x0022935c, 0x00f28d77, 0x009182f8, 0x0303fd68, 0x02e0e2b2, 0x02f157b9, 0x03806b35, 0x00b8c69b, 0x02974a51, 0x002dcdd9}}, Y: Field{[10]uint32{0x01420103, 0x00a820a1, 0x0046251c, 0x000e75a2, 0x01890b3e, 0x023f572f, 0x00152a24, 0x03eb7bb9, 0x00202676, 0x0034d432}}}, + {X: Field{[10]uint32{0x010eb97a, 0x01093693, 0x01574557, 0x01a32ea0, 0x02bb82e0, 0x03069d21, 0x00505ab1, 0x0353429f, 0x038ed3b5, 0x001cee93}}, Y: Field{[10]uint32{0x02188271, 0x0292ff89, 0x01215adc, 0x026dc950, 0x013a58ba, 0x0218f4fe, 0x01b4a2d0, 0x030d8152, 0x0114552d, 0x0024ebce}}}, + {X: Field{[10]uint32{0x03d3d8ea, 0x012f80db, 0x01bef052, 0x0101af38, 0x020ae935, 0x01a52c14, 0x00576c45, 0x0093663c, 0x014e1747, 0x000a1680}}, Y: Field{[10]uint32{0x029af7dc, 0x00f9f21a, 0x028cab39, 0x01965a33, 0x039d4067, 0x0247536d, 0x03f5213f, 0x01dd5f9b, 0x01d8d2ce, 0x001bf6b4}}}, + {X: Field{[10]uint32{0x028e768f, 0x021a77b0, 0x01180963, 0x01e3b283, 0x0384c2fd, 0x01be302a, 0x025cea7c, 0x02d52e8a, 0x01d727bf, 0x002c24d3}}, Y: Field{[10]uint32{0x00b982c6, 0x01c2763c, 0x031bf2bc, 0x03df4535, 0x03484c94, 0x036c2644, 0x02bbb26e, 0x027cc52f, 0x01115602, 0x00372bc3}}}, + {X: Field{[10]uint32{0x03681561, 0x032303d6, 0x0365ec45, 0x033cd5ee, 0x02ffcb49, 0x03bc5742, 0x011c8bcc, 0x02a772dd, 0x02dd8b69, 0x000ed89e}}, Y: Field{[10]uint32{0x0046d19d, 0x00a5bf37, 0x015e1536, 0x02ee9dc8, 0x03693cd2, 0x0349f3fd, 0x02133649, 0x0202dcb6, 0x018009e3, 0x0002f686}}}, + {X: Field{[10]uint32{0x02cb5ac2, 0x00a8da54, 0x027c90a6, 0x01d9722a, 0x02e45938, 0x011d9b6a, 0x012e3f9a, 0x02277e81, 0x01ec1f22, 0x001f923f}}, Y: Field{[10]uint32{0x018cb5f2, 0x00e12e6f, 0x039ac61e, 0x023984a4, 0x0168449b, 0x02fb6d27, 0x021e10c5, 0x01a2159b, 0x007aac11, 0x003a1ebe}}}, + {X: Field{[10]uint32{0x023ffd9d, 0x03390f89, 0x0008b181, 0x02432a84, 0x00d094d8, 0x03bb0b90, 0x022c267f, 0x00eeeada, 0x008a5de3, 0x00100c7c}}, Y: Field{[10]uint32{0x01b0be07, 0x026dfc14, 0x006b58a7, 0x038c46e5, 0x01a8f23b, 0x0077fbd1, 0x0389beb9, 0x0297c269, 0x03d99737, 0x0033f713}}}, + {X: Field{[10]uint32{0x031ed764, 0x001fafe4, 0x00b1dd54, 0x00b1ee40, 0x00ec00a2, 0x03510730, 0x02e656f4, 0x036ed6fd, 0x037c61dd, 0x002e994a}}, Y: Field{[10]uint32{0x00029556, 0x011341c0, 0x00088a3b, 0x02566964, 0x001d2070, 0x00f19f80, 0x030b5d8d, 0x02055a8c, 0x0392d122, 0x0021ff2c}}}, + {X: Field{[10]uint32{0x0190e72d, 0x0307b419, 0x03b1bffd, 0x02e6e834, 0x0362c967, 0x03630c3c, 0x03dd95d2, 0x01d94eb1, 0x0172d101, 0x003ee4d9}}, Y: Field{[10]uint32{0x0036d8ed, 0x01e62092, 0x00587b08, 0x0119ad29, 0x02940382, 0x02562f8b, 0x03799659, 0x01a8c429, 0x03afdb6b, 0x002b7e8d}}}, + {X: Field{[10]uint32{0x003bae7b, 0x02621c2c, 0x01148991, 0x00a065a1, 0x01b97ff3, 0x021844a7, 0x006fdb78, 0x00214bdf, 0x03cb5e7c, 0x000a511c}}, Y: Field{[10]uint32{0x0190c86a, 0x03bb0e1f, 0x03617246, 0x0169b1d9, 0x0078463e, 0x02f56d28, 0x0209f951, 0x0219e9e2, 0x0136f991, 0x002f6415}}}, + {X: Field{[10]uint32{0x01bc574e, 0x01b21cf1, 0x00c0944a, 0x0231b4e9, 0x007687dc, 0x01a0edd3, 0x0337ced1, 0x00cff645, 0x004f73a6, 0x000bf03d}}, Y: Field{[10]uint32{0x0122ad1f, 0x001cd507, 0x0118415e, 0x01426914, 0x03ac572f, 0x02b8dcfa, 0x01499912, 0x018fe53a, 0x00eeffa0, 0x000a645f}}}, + {X: Field{[10]uint32{0x016d569e, 0x03009444, 0x00c40b9a, 0x03720eee, 0x018da210, 0x023b628c, 0x01d34f2c, 0x0169fbd6, 0x0251882c, 0x002047ec}}, Y: Field{[10]uint32{0x00a0c55d, 0x02464636, 0x00c00ad2, 0x001c170f, 0x02d480e4, 0x0250379a, 0x0204ad3f, 0x016be93b, 0x01472cb5, 0x001d37d9}}}, + {X: Field{[10]uint32{0x03fc5d07, 0x01f9852d, 0x0057ba9e, 0x03160bf7, 0x03c47996, 0x03539f94, 0x0051894a, 0x033c247d, 0x017cc1d6, 0x00116a78}}, Y: Field{[10]uint32{0x03069be1, 0x0072ab5e, 0x01bbb16d, 0x01b70dff, 0x034e1919, 0x02260cad, 0x02d19200, 0x0187d7ec, 0x004f0026, 0x00145a77}}}, + {X: Field{[10]uint32{0x01588e67, 0x03426bad, 0x00102645, 0x00e2de30, 0x00abd065, 0x02d71ef5, 0x003d96aa, 0x029eb51d, 0x03fc45cd, 0x00355dfd}}, Y: Field{[10]uint32{0x003be07a, 0x001c4a0c, 0x0125e521, 0x00b0c2ff, 0x02765e2c, 0x0231e33a, 0x011db618, 0x015f7f3b, 0x03717ea2, 0x001545ca}}}, + {X: Field{[10]uint32{0x0306e44f, 0x03846c66, 0x019c0650, 0x022ddde9, 0x024fb22d, 0x012c33bf, 0x0371e08d, 0x02a9b8e6, 0x02958098, 0x002990a6}}, Y: Field{[10]uint32{0x007dd2ed, 0x02992c65, 0x027dcf6a, 0x0097cb0e, 0x0336ab18, 0x0218902a, 0x00440f57, 0x0015772b, 0x02625587, 0x002bd253}}}, + {X: Field{[10]uint32{0x039a743d, 0x025a59e8, 0x00679073, 0x01e98f88, 0x0050bca3, 0x03d1e3ba, 0x00b1c80c, 0x0052d096, 0x0304b893, 0x0003ddf0}}, Y: Field{[10]uint32{0x01c1c7ee, 0x0218dfe3, 0x02c727e7, 0x00515638, 0x011c32f4, 0x003d03c6, 0x00452136, 0x0052f982, 0x017629d9, 0x003121e8}}}, + {X: Field{[10]uint32{0x02d1c988, 0x01985965, 0x01f5def7, 0x00bfecbe, 0x02cd76ea, 0x007b7b7a, 0x03f0a82e, 0x00491dc7, 0x02f61598, 0x001071bc}}, Y: Field{[10]uint32{0x01accb68, 0x02d4aa41, 0x031d3407, 0x0039176f, 0x02364277, 0x026da1f1, 0x039ed4ff, 0x00681d7f, 0x0144146c, 0x0016283d}}}, + {X: Field{[10]uint32{0x02b968d0, 0x019bb4cb, 0x01916cdf, 0x035c7f6d, 0x037ac2d2, 0x015d978f, 0x02aaacb3, 0x00debc27, 0x02c8c13d, 0x00321c93}}, Y: Field{[10]uint32{0x00d81221, 0x03495791, 0x029895ec, 0x03b69e18, 0x026ade66, 0x00af669b, 0x014bbf24, 0x00f9b79f, 0x03214210, 0x001c3b3d}}}, + {X: Field{[10]uint32{0x031fbbf2, 0x02ea7cff, 0x00650653, 0x012b81c3, 0x023b139e, 0x01d7ead9, 0x02204a2b, 0x0238daf8, 0x00460dd5, 0x0038a223}}, Y: Field{[10]uint32{0x0342509e, 0x00acd4c8, 0x0108c331, 0x02625488, 0x01bc1584, 0x0082f580, 0x01888797, 0x00ee2adf, 0x00dae139, 0x001c5644}}}, + {X: Field{[10]uint32{0x02d834dd, 0x02b0dbd9, 0x01ec1c14, 0x00d847aa, 0x01f56cf7, 0x02a99be6, 0x01999c9a, 0x0202e1ad, 0x0384d72d, 0x003c7d30}}, Y: Field{[10]uint32{0x00cc7e3f, 0x039cdd49, 0x03c44835, 0x0229a5ac, 0x02219838, 0x0326a9e1, 0x038527a3, 0x010b23ae, 0x03c24801, 0x002d550e}}}, + {X: Field{[10]uint32{0x01940a5b, 0x0204ad0c, 0x01e73f61, 0x0298d067, 0x0217aec3, 0x03b75fd6, 0x028d4126, 0x02df6c1d, 0x03f5832f, 0x00121d1d}}, Y: Field{[10]uint32{0x032608a7, 0x01e35786, 0x03c54c5f, 0x0158db6d, 0x020284f5, 0x00a9b55a, 0x004e3dc3, 0x03ea62f1, 0x01de4203, 0x00240c8b}}}, + {X: Field{[10]uint32{0x00ca75af, 0x02bc0dc5, 0x0229bff8, 0x000a7f84, 0x010c55df, 0x02cfba7d, 0x00f957e0, 0x019f892e, 0x023a5831, 0x0029c9a5}}, Y: Field{[10]uint32{0x008f7449, 0x01945b70, 0x0232d99f, 0x00954e96, 0x034a6369, 0x02d9507f, 0x0154d156, 0x00a70204, 0x0184d689, 0x0023f5ea}}}, + {X: Field{[10]uint32{0x0399e97c, 0x00ab16e2, 0x03033876, 0x030b8804, 0x00baa763, 0x01a669a3, 0x013a231e, 0x03ac7276, 0x01b4cf80, 0x00353083}}, Y: Field{[10]uint32{0x00eca01f, 0x031be7db, 0x0287a426, 0x00381624, 0x01f5abc5, 0x0246428d, 0x02a20713, 0x02943212, 0x03ba2555, 0x002e871d}}}, + {X: Field{[10]uint32{0x02748168, 0x027bf88e, 0x03afafa5, 0x0076b15b, 0x025159ba, 0x036343cd, 0x01b5a55a, 0x01c0aefb, 0x005389ae, 0x0001f3e7}}, Y: Field{[10]uint32{0x032336b8, 0x00e140ad, 0x0296f6ec, 0x0029ba90, 0x03489bee, 0x00c4d23b, 0x00ec347c, 0x01eef28b, 0x0324338c, 0x003b38ec}}}, + {X: Field{[10]uint32{0x00b73e55, 0x009506d1, 0x02f49699, 0x00ced36e, 0x03eec928, 0x00c9a01b, 0x039f9c30, 0x0352bce5, 0x00e3c1eb, 0x00248042}}, Y: Field{[10]uint32{0x01f466fc, 0x00b88025, 0x01395ba9, 0x01e1493d, 0x016cf8f4, 0x02e92399, 0x003f348e, 0x03120d3c, 0x0133d8ad, 0x000f88ac}}}, + {X: Field{[10]uint32{0x02479e90, 0x02da7109, 0x02a8a4fe, 0x00e12559, 0x03fc7605, 0x02b4ca94, 0x03613372, 0x021d8a6c, 0x038a98c4, 0x000559ab}}, Y: Field{[10]uint32{0x02997796, 0x02a145b6, 0x03926dab, 0x02ebacfd, 0x030da5d3, 0x00bf871e, 0x017db986, 0x00af931e, 0x01664bd7, 0x000a1231}}}, + {X: Field{[10]uint32{0x0361723c, 0x01daaf2b, 0x03044c0f, 0x02f89c7b, 0x01d2f6d9, 0x00ac2a2c, 0x017a7041, 0x0233af1f, 0x027102eb, 0x002936d7}}, Y: Field{[10]uint32{0x002e8ca4, 0x023232b1, 0x036a5695, 0x00abcae7, 0x03272f5f, 0x01ea501e, 0x004bc0a2, 0x00f777d8, 0x02e075a7, 0x00198f85}}}, + {X: Field{[10]uint32{0x0153e5fb, 0x00ef29e3, 0x00c13849, 0x01dd81de, 0x0333d90e, 0x031e73c6, 0x025d1106, 0x02e3e418, 0x03538bbd, 0x00343273}}, Y: Field{[10]uint32{0x021d9a60, 0x01e418e2, 0x01bd9683, 0x02201f70, 0x009975ad, 0x02e2f4c3, 0x00a21250, 0x03501f30, 0x020e8b9f, 0x002dbb33}}}, + {X: Field{[10]uint32{0x03d8391f, 0x01f39e3f, 0x0204ce65, 0x0051538e, 0x014a58d5, 0x033ce8e2, 0x0196d67b, 0x015ef5c1, 0x0292480f, 0x001d97ee}}, Y: Field{[10]uint32{0x0218302f, 0x03b24087, 0x023dbaf6, 0x02f57ceb, 0x0050879b, 0x03d06ad3, 0x03b552e3, 0x00d43968, 0x03ba1035, 0x00172c76}}}, + {X: Field{[10]uint32{0x03fb4a5e, 0x007b9be2, 0x025032c5, 0x02396bd2, 0x009bd3f8, 0x022d94be, 0x02a7b9b6, 0x01c0ad2a, 0x01e8e846, 0x0027e76a}}, Y: Field{[10]uint32{0x0296a0f6, 0x028b5fd5, 0x0284dedf, 0x02374b01, 0x021d8da0, 0x001a22b2, 0x017320ca, 0x005ec3ac, 0x019d7ecf, 0x00176f52}}}, + {X: Field{[10]uint32{0x03fdd3f4, 0x02480884, 0x025bfb11, 0x0272d196, 0x00ad949c, 0x006bbd7c, 0x03b1a166, 0x02252dcb, 0x003bdb95, 0x002be1b2}}, Y: Field{[10]uint32{0x0399e117, 0x03cf04b5, 0x00e55123, 0x02e6c6e2, 0x03004a7b, 0x0310709b, 0x03d2b25c, 0x00046580, 0x027d5541, 0x003b01a0}}}, + {X: Field{[10]uint32{0x01587e77, 0x03e8d43f, 0x0309cd94, 0x02c8b32e, 0x0364c8e3, 0x0202f8ce, 0x032b3fcc, 0x02f2341d, 0x01932fcc, 0x003eed22}}, Y: Field{[10]uint32{0x00c0b858, 0x0046db36, 0x03e04811, 0x035095ee, 0x0258598a, 0x00d01d69, 0x0051abd6, 0x00cf6acd, 0x01242793, 0x0003e737}}}, + {X: Field{[10]uint32{0x02d60684, 0x03b7079f, 0x0269bae6, 0x03e242a4, 0x00621f36, 0x00ab7270, 0x0315ecae, 0x030abd8a, 0x01a3ad97, 0x00103b2c}}, Y: Field{[10]uint32{0x0158b32e, 0x02a8014d, 0x005f288d, 0x02cfb661, 0x019a41f4, 0x008c07ee, 0x00e3e2b3, 0x0185f648, 0x0194fa3a, 0x003fe7b0}}}, + {X: Field{[10]uint32{0x00878f52, 0x01802706, 0x03691973, 0x00c31f4e, 0x0339873c, 0x03f808e3, 0x03d9014b, 0x00ad0bf2, 0x02f10c76, 0x000c7e24}}, Y: Field{[10]uint32{0x01718c95, 0x00d9cd25, 0x03ff7be5, 0x02e3df53, 0x015cd610, 0x03dae4b0, 0x0131066e, 0x01cd154c, 0x0005f31f, 0x00366f54}}}, + {X: Field{[10]uint32{0x00886c5c, 0x025bf209, 0x028f31c6, 0x024e32ad, 0x03921f81, 0x0175dce7, 0x014d150c, 0x001478b6, 0x0129e9f6, 0x002e8489}}, Y: Field{[10]uint32{0x016b1ed1, 0x01c926a1, 0x03c20d9c, 0x02730e5a, 0x007c0285, 0x01eb2708, 0x00577d33, 0x0354e46c, 0x031f7e9b, 0x0030cf01}}}, + {X: Field{[10]uint32{0x0124cf03, 0x030857ca, 0x018c5030, 0x024f5605, 0x03ef45d9, 0x02e68098, 0x013ecbc5, 0x034c4726, 0x00129a26, 0x000d4c59}}, Y: Field{[10]uint32{0x023a9742, 0x031b4d5e, 0x00e3f6a9, 0x01be460d, 0x03f92ef0, 0x016d8e16, 0x023e2d9c, 0x008eee73, 0x00d95216, 0x0021a988}}}, + {X: Field{[10]uint32{0x02c8e462, 0x00628854, 0x033ebf97, 0x02b1e146, 0x004a4aa7, 0x013b1fe7, 0x02ce92ca, 0x012a98d7, 0x030be413, 0x000c091d}}, Y: Field{[10]uint32{0x03c8c8ee, 0x03ac143f, 0x01225bbc, 0x02abe063, 0x00ab3f8f, 0x039ce139, 0x01c1579c, 0x01ebf85b, 0x03bd7214, 0x0007f3eb}}}, + {X: Field{[10]uint32{0x03da6564, 0x0340721a, 0x0071a672, 0x02993742, 0x02533c1b, 0x02507638, 0x02dbf169, 0x03a1b16d, 0x013da40e, 0x003d6e8c}}, Y: Field{[10]uint32{0x0000647d, 0x012eeb6e, 0x018c7294, 0x02090dfd, 0x018f9652, 0x01555d92, 0x02e95ec1, 0x01e41f25, 0x010db969, 0x000042a4}}}, + {X: Field{[10]uint32{0x0264e2f1, 0x02d6715c, 0x018ebb33, 0x00f84cb0, 0x00e485a2, 0x00632546, 0x037f426b, 0x033414d3, 0x03e2972c, 0x001a1785}}, Y: Field{[10]uint32{0x01f291c6, 0x000513ae, 0x03a0cb93, 0x00b77a83, 0x03470fd4, 0x00455b6b, 0x03a3f475, 0x02ab069d, 0x0338be84, 0x00259516}}}, + {X: Field{[10]uint32{0x03f119eb, 0x03d97466, 0x028e0504, 0x03718749, 0x01fdd481, 0x03a4701f, 0x01e1bca7, 0x02608a96, 0x01fdfacc, 0x003804a1}}, Y: Field{[10]uint32{0x01c39909, 0x01f5b967, 0x010630f7, 0x01790719, 0x0140bf5b, 0x01c80ae6, 0x003615ba, 0x036aebbe, 0x013a2479, 0x002ba085}}}, + {X: Field{[10]uint32{0x01839601, 0x00872c15, 0x03220b54, 0x024dd8d7, 0x0093798a, 0x024c8079, 0x00d67200, 0x0043b1e1, 0x01863277, 0x00318791}}, Y: Field{[10]uint32{0x006c04ea, 0x02e32c9d, 0x0026dcde, 0x03c5d0cf, 0x025d42fc, 0x02e95572, 0x023e0163, 0x01939e87, 0x03f5aa5b, 0x0039187e}}}, + {X: Field{[10]uint32{0x03d192d4, 0x01f597c7, 0x01af3be8, 0x00d2400a, 0x013106fc, 0x004ed876, 0x00d8ca25, 0x0242db89, 0x02cb4e58, 0x0007109e}}, Y: Field{[10]uint32{0x02cf29d0, 0x03b0310d, 0x023e9c9c, 0x0357ba2b, 0x0184935a, 0x030d0c28, 0x0304fa6e, 0x014a2e6e, 0x00251518, 0x000765b8}}}, + {X: Field{[10]uint32{0x012fd8e7, 0x037dbc7c, 0x02f54431, 0x0066d660, 0x005a9326, 0x01f51c2e, 0x02ddb3ba, 0x0225ed2d, 0x03fd6d51, 0x001795de}}, Y: Field{[10]uint32{0x011c6eb4, 0x03535e48, 0x01ff9203, 0x01131eb4, 0x00123cb0, 0x02969ff4, 0x0036e908, 0x030674ea, 0x02929734, 0x0030685c}}}, + {X: Field{[10]uint32{0x00237b30, 0x00ed028a, 0x028a6817, 0x01d9b4fa, 0x02adc6ae, 0x03ef2b7c, 0x03aefc8d, 0x022902eb, 0x03331f96, 0x00331e2c}}, Y: Field{[10]uint32{0x01857d42, 0x02c29011, 0x038aa14e, 0x01f250db, 0x00dfc2ce, 0x0048e32d, 0x01ef04b4, 0x0301a3fc, 0x01b20a5b, 0x0016dda4}}}, + {X: Field{[10]uint32{0x00919fb6, 0x020c293b, 0x0016a0b1, 0x00aa56b7, 0x02c44537, 0x02bcfb3a, 0x01dc288f, 0x0113ca79, 0x0037487b, 0x000e1571}}, Y: Field{[10]uint32{0x009359d2, 0x00a1f20a, 0x0151911c, 0x03d7868e, 0x01ed1949, 0x0022f6f5, 0x03bcd5b3, 0x03e8a153, 0x029a48cb, 0x0037cb87}}}, + {X: Field{[10]uint32{0x01d16b19, 0x016119ae, 0x03c928f1, 0x0086df79, 0x00dc62cb, 0x01f6cf5b, 0x03fcf6b9, 0x00d5bf17, 0x03b40a83, 0x0030148c}}, Y: Field{[10]uint32{0x0254f500, 0x038efde7, 0x0327525e, 0x03d4588c, 0x00956616, 0x007a3795, 0x020eac65, 0x02211cfe, 0x02390ce7, 0x0002c6f6}}}, + {X: Field{[10]uint32{0x019dfffb, 0x039f7b02, 0x0010b455, 0x00799586, 0x010b736c, 0x02407cd5, 0x02000245, 0x009a9f66, 0x013cf342, 0x001b0193}}, Y: Field{[10]uint32{0x009eb9a7, 0x02093358, 0x002e9925, 0x01dca349, 0x02aa5444, 0x0071710b, 0x00f8fd2a, 0x030687e0, 0x0042d25e, 0x00058365}}}, + {X: Field{[10]uint32{0x03714cf2, 0x01eea762, 0x01009bf3, 0x01c91e27, 0x01b3e207, 0x00379a9f, 0x021a93a0, 0x006a946d, 0x038970bb, 0x0025963a}}, Y: Field{[10]uint32{0x02c51cc2, 0x00c07aa4, 0x01ff7a58, 0x012665f5, 0x0096be89, 0x01036278, 0x021a903f, 0x023e2de0, 0x00aff7da, 0x003352e9}}}, + {X: Field{[10]uint32{0x03b4f0c8, 0x039fa992, 0x031b87a3, 0x01a69c70, 0x035cf1f9, 0x00fe65bd, 0x032b0c4c, 0x01bdc247, 0x0110a554, 0x001b808e}}, Y: Field{[10]uint32{0x00c459c5, 0x026b76cd, 0x0358999b, 0x00d99470, 0x007faa9b, 0x0362486e, 0x02d8cfc7, 0x01cd3767, 0x01d790ec, 0x003dbb59}}}, + {X: Field{[10]uint32{0x00c7ff6e, 0x023e2655, 0x03a141e6, 0x006f5831, 0x03926290, 0x00cc14df, 0x003528e0, 0x001267e4, 0x0098e970, 0x000e8d6b}}, Y: Field{[10]uint32{0x032069ed, 0x00e36865, 0x00eb6c4d, 0x03e29d91, 0x001f247f, 0x03b68e09, 0x014ac0c9, 0x0070c14e, 0x0116da63, 0x00244f65}}}, + {X: Field{[10]uint32{0x036af212, 0x014395c1, 0x023db073, 0x01bc925d, 0x022317c6, 0x02c6522f, 0x036def30, 0x02a916a2, 0x025115df, 0x0034227e}}, Y: Field{[10]uint32{0x00a6da9c, 0x03f720c6, 0x00f6ab12, 0x02b12864, 0x03a18e5d, 0x00ffe844, 0x025120cf, 0x03eb11de, 0x0173f326, 0x00139aba}}}, + {X: Field{[10]uint32{0x018cf2ef, 0x02ecb083, 0x036ab045, 0x0357de42, 0x005b9cd9, 0x00f654c7, 0x00ea0f23, 0x00aad1d2, 0x012f2aa6, 0x0039ccf1}}, Y: Field{[10]uint32{0x0182a291, 0x00377c75, 0x02d89fb8, 0x0215c314, 0x0336ac48, 0x035ffdd4, 0x0323ab28, 0x01ca4eb2, 0x01c93c67, 0x001c0455}}}, + {X: Field{[10]uint32{0x03f14c7a, 0x02bdd8f9, 0x01b9be8c, 0x002ee065, 0x021eb477, 0x00aeafe1, 0x00aa6f24, 0x01a13f99, 0x037dc006, 0x0012dbde}}, Y: Field{[10]uint32{0x0194e00d, 0x01917ac8, 0x01d5a2b0, 0x001763c8, 0x017bfaea, 0x014e8132, 0x01805d8a, 0x01eccc30, 0x0380ac75, 0x001b162d}}}, + {X: Field{[10]uint32{0x0267f79d, 0x009b97f8, 0x038b4811, 0x0308ed1d, 0x0344ff51, 0x03154b9c, 0x00d7aeb8, 0x02b02831, 0x0002cd1f, 0x0006d481}}, Y: Field{[10]uint32{0x03db1a39, 0x03b0dd4d, 0x013c19e8, 0x03c424f6, 0x0030b252, 0x026b7536, 0x004ee943, 0x024c1283, 0x01005664, 0x00023b83}}}, + {X: Field{[10]uint32{0x017139b1, 0x02bcafae, 0x024f5bf9, 0x00fd0f61, 0x023400cc, 0x022a2179, 0x02da4c63, 0x03b617f0, 0x02d5d7f1, 0x00224db9}}, Y: Field{[10]uint32{0x029b402b, 0x00ac1060, 0x03c4778d, 0x005e96f5, 0x018879f2, 0x03f4c989, 0x00cdc8a6, 0x00ca8ddc, 0x0220b4b9, 0x000a604a}}}, + {X: Field{[10]uint32{0x016b518f, 0x00441172, 0x021eec4f, 0x01bd6e86, 0x01aebd39, 0x0157645c, 0x036c043a, 0x015536a8, 0x027f4813, 0x001a022b}}, Y: Field{[10]uint32{0x00425810, 0x0264e967, 0x01c2231b, 0x020df1d2, 0x00f581b9, 0x03d055d7, 0x00e85fd5, 0x0237715e, 0x026e8872, 0x001abf2b}}}, + {X: Field{[10]uint32{0x01a2cd1c, 0x01e4928d, 0x0310f236, 0x024d56a6, 0x0193e232, 0x00076002, 0x011bba76, 0x00fd9848, 0x029444c7, 0x00161b19}}, Y: Field{[10]uint32{0x025416c7, 0x0004ab3f, 0x031c8862, 0x0377bc19, 0x03873537, 0x00df2df1, 0x00f5507d, 0x028f2d02, 0x001ff6eb, 0x001d2c24}}}, + {X: Field{[10]uint32{0x03f89e11, 0x025efa07, 0x0066b078, 0x02966733, 0x020b183a, 0x02461507, 0x0388453e, 0x03c78131, 0x025ddead, 0x001e2720}}, Y: Field{[10]uint32{0x006cb5ab, 0x01e24e39, 0x0103cb8f, 0x015fffa6, 0x03e40cc3, 0x027e62a6, 0x027480b8, 0x02c4f1af, 0x026f641b, 0x002041aa}}}, + {X: Field{[10]uint32{0x01419797, 0x01f3efaa, 0x02076acd, 0x01bb8763, 0x02e52042, 0x01fd92f2, 0x00d0ddf9, 0x03ea9988, 0x00bbfd26, 0x0035eae0}}, Y: Field{[10]uint32{0x00c5a823, 0x02114de4, 0x02efbc71, 0x022e7ccb, 0x026e50a5, 0x004e7453, 0x034a85f5, 0x02c40ebb, 0x0372a6d1, 0x0009abe7}}}, + {X: Field{[10]uint32{0x02f67f7f, 0x015b4bcd, 0x033154c2, 0x00cf280a, 0x00bddf0f, 0x007af106, 0x012b311b, 0x006ae118, 0x02d44daf, 0x00063dc4}}, Y: Field{[10]uint32{0x037d25bc, 0x026f6981, 0x03ee9f2d, 0x034c8574, 0x006b06d8, 0x013fdefe, 0x033c3f43, 0x03533bb6, 0x0150f92f, 0x003102c6}}}, + {X: Field{[10]uint32{0x03e5a06e, 0x039ba9b1, 0x005b3eb9, 0x00c8877a, 0x02fc399d, 0x02662f31, 0x022a7cbf, 0x00623de3, 0x036d9f6d, 0x00221cc9}}, Y: Field{[10]uint32{0x03c9e1a6, 0x029c2079, 0x02b4e054, 0x010f012d, 0x00dac977, 0x0395985e, 0x0020a3a7, 0x02e7a3ba, 0x01378ee9, 0x000a5fa0}}}, + {X: Field{[10]uint32{0x0288e0ad, 0x00b299b1, 0x01157145, 0x019937de, 0x0030fadd, 0x037d0c73, 0x00f57cdf, 0x005faf02, 0x01015bd2, 0x000406e0}}, Y: Field{[10]uint32{0x01179e6a, 0x01cdc617, 0x01ab339b, 0x02d1b253, 0x014c7542, 0x02a3e372, 0x01816d40, 0x00e0c461, 0x032fad20, 0x003e9b06}}}, + {X: Field{[10]uint32{0x0342dd57, 0x035314df, 0x03b6cd81, 0x0328a612, 0x03abe3b3, 0x02c81c7e, 0x02520a8c, 0x00518047, 0x015776c3, 0x001decf0}}, Y: Field{[10]uint32{0x004a645a, 0x0226417f, 0x00244925, 0x017453c3, 0x00040cce, 0x010fbd6b, 0x0084c9b4, 0x0006dc70, 0x02b1dab6, 0x002342f3}}}, + {X: Field{[10]uint32{0x01daec7a, 0x01a9a83f, 0x005d3ecf, 0x0224cf20, 0x02fbe2c1, 0x02e99bc4, 0x03aca338, 0x0182dbfd, 0x015256ac, 0x000547cb}}, Y: Field{[10]uint32{0x024f62d6, 0x033a7c1d, 0x03ea674e, 0x02227355, 0x01c4833c, 0x027a508d, 0x03038d64, 0x012fe645, 0x017710cd, 0x0034aab3}}}, + {X: Field{[10]uint32{0x031d32c7, 0x028e0245, 0x011a2029, 0x0070446f, 0x00950881, 0x012d1b7e, 0x0338dbe2, 0x0105ed18, 0x0327f41e, 0x00375d73}}, Y: Field{[10]uint32{0x01b67be5, 0x00c88906, 0x013dd46c, 0x003363ed, 0x00ee2217, 0x0324761b, 0x0303c33c, 0x026e012a, 0x0055a338, 0x0038ca2e}}}, + {X: Field{[10]uint32{0x011d7a83, 0x035fbb9e, 0x0028a494, 0x01d8cd6d, 0x026a3f6b, 0x03d986c7, 0x02366ab3, 0x03671277, 0x03ebbdd1, 0x0003ea87}}, Y: Field{[10]uint32{0x0025d572, 0x015c4f6e, 0x029c413b, 0x02760695, 0x01948bb2, 0x00791955, 0x0248ee56, 0x000aae30, 0x014f8fce, 0x0037cd87}}}, + {X: Field{[10]uint32{0x018f8be5, 0x036bfb53, 0x03545671, 0x037e31a9, 0x00a4cada, 0x019e2565, 0x01ee65b6, 0x02ecc7f7, 0x01be5bc2, 0x000f3043}}, Y: Field{[10]uint32{0x0039c2df, 0x023995dc, 0x0110dbc0, 0x002ba909, 0x00710112, 0x0350b25d, 0x0292a3a9, 0x02b5bc39, 0x01ef8c66, 0x00200b51}}}, + {X: Field{[10]uint32{0x03b93ba2, 0x01dafb29, 0x03a1eaf5, 0x02140d78, 0x01856cc4, 0x014a00b8, 0x00dee7f7, 0x03b07245, 0x0325325d, 0x00255139}}, Y: Field{[10]uint32{0x02eeeb49, 0x020c4577, 0x03686aad, 0x03779421, 0x00aaf137, 0x005cce33, 0x0339b037, 0x00f013af, 0x03a68151, 0x0033b1f6}}}, + {X: Field{[10]uint32{0x0383a964, 0x02f8df27, 0x01eac038, 0x01b89de7, 0x0154eec6, 0x03737db0, 0x017ff8b4, 0x0188d9ec, 0x03dcd5d0, 0x0025283e}}, Y: Field{[10]uint32{0x03efe82a, 0x00a7bd33, 0x030e576f, 0x004d68a8, 0x03fea742, 0x0290b8b8, 0x0223e169, 0x01b206dc, 0x00fd5ef0, 0x003c97cd}}}, + {X: Field{[10]uint32{0x02b579c7, 0x03a12cf1, 0x03633100, 0x00ec27dd, 0x0314f67c, 0x0085ee90, 0x01fbd4bf, 0x01f8bda5, 0x01b2c3fc, 0x0026278a}}, Y: Field{[10]uint32{0x0221c888, 0x0143bf6d, 0x02771172, 0x010c0708, 0x01ed003a, 0x005f6abe, 0x034f3e99, 0x000a5c0a, 0x01280cd0, 0x0018229b}}}, + {X: Field{[10]uint32{0x033494a5, 0x00192fc1, 0x017f1c81, 0x0173a502, 0x0249b4bd, 0x0164d2b0, 0x00e979b0, 0x029674ec, 0x03c44295, 0x0030e317}}, Y: Field{[10]uint32{0x01d1e2fb, 0x00118b58, 0x02ecb760, 0x01c5f2fb, 0x031d1dbc, 0x003af059, 0x00e471ae, 0x02cda992, 0x03f6d354, 0x00058902}}}, + {X: Field{[10]uint32{0x03a7a63b, 0x0304e3c3, 0x037e1546, 0x01adeb61, 0x0207dc65, 0x031963be, 0x0341d8c5, 0x0011b162, 0x026735c4, 0x0037a73d}}, Y: Field{[10]uint32{0x006639ac, 0x021b78d4, 0x00cb7575, 0x039f66e5, 0x03ecc19d, 0x01120042, 0x03729275, 0x018b8f88, 0x024fba91, 0x000bf0a0}}}, + {X: Field{[10]uint32{0x02c06522, 0x0110303d, 0x023c4c8c, 0x002119d6, 0x03f1dd9e, 0x0230cf27, 0x01d84b38, 0x0022d41e, 0x0137e567, 0x0000933f}}, Y: Field{[10]uint32{0x002af897, 0x00eb1e71, 0x01f00738, 0x01ab36df, 0x021aee67, 0x016b219c, 0x034d2895, 0x00055ed2, 0x00ea0982, 0x00072f32}}}, + {X: Field{[10]uint32{0x007cc121, 0x00858e7a, 0x01ed7264, 0x023d8990, 0x012b275d, 0x038247a7, 0x00414a95, 0x02e6d8bd, 0x01086ad8, 0x00275b8c}}, Y: Field{[10]uint32{0x02d3abe0, 0x025e6dba, 0x01bca757, 0x02d379d4, 0x0043c46a, 0x029d0f3c, 0x02b59ad5, 0x0299f536, 0x000a6792, 0x002e491c}}}, + {X: Field{[10]uint32{0x0209354d, 0x02f82021, 0x01d38673, 0x00b749d9, 0x0374aea2, 0x023b4e37, 0x01c21e53, 0x020e55ce, 0x01ae28b2, 0x00014aa2}}, Y: Field{[10]uint32{0x00334e51, 0x0316c7b6, 0x01708089, 0x035661ed, 0x01469b06, 0x01dacbd8, 0x03cccd20, 0x020c2f4d, 0x01579b65, 0x003060fb}}}, + {X: Field{[10]uint32{0x0227571d, 0x034d0836, 0x0255046b, 0x0230b05c, 0x01cda3bf, 0x01c9f2bd, 0x03f5d31d, 0x00601c90, 0x0272491d, 0x000bff4c}}, Y: Field{[10]uint32{0x035b6ad5, 0x03326994, 0x01d52131, 0x02d74d06, 0x00599934, 0x037abbd6, 0x01e48be6, 0x02ccd28c, 0x03bd6f38, 0x00204ba3}}}, + {X: Field{[10]uint32{0x00973fca, 0x02567167, 0x022f2eba, 0x02709c19, 0x0265df68, 0x02c64ec5, 0x0251b66d, 0x0290e8d7, 0x02094269, 0x00175831}}, Y: Field{[10]uint32{0x010efadc, 0x03c7d221, 0x0048a3af, 0x02165a71, 0x006d3b92, 0x03d03350, 0x031bb7e3, 0x035864ac, 0x024fd1af, 0x003d644c}}}, + {X: Field{[10]uint32{0x0112ff75, 0x029ad2cf, 0x00d0ae6d, 0x03e615e1, 0x004c86da, 0x00706d58, 0x0026340e, 0x00cd4fd1, 0x000abfe5, 0x0008f831}}, Y: Field{[10]uint32{0x00191d9d, 0x0085444a, 0x03827f99, 0x01e66eb3, 0x00f19d5a, 0x02032851, 0x01baf682, 0x0024a824, 0x00b5fc86, 0x003a4211}}}, + {X: Field{[10]uint32{0x006094f6, 0x0221739f, 0x02bb1155, 0x01e4c2f4, 0x0050e67d, 0x03cdf6a0, 0x02f20d77, 0x00704b29, 0x00ab5d4a, 0x00251606}}, Y: Field{[10]uint32{0x02695e03, 0x00735592, 0x03b6f9a1, 0x018febf2, 0x0032ca81, 0x03b7b6d8, 0x0269c969, 0x02b9b6a9, 0x01d0e2f9, 0x002d7cb0}}}, + {X: Field{[10]uint32{0x00724c8c, 0x03b363f6, 0x0124bc41, 0x0175881b, 0x015043be, 0x00335ef3, 0x03a469ca, 0x02fda861, 0x037d2586, 0x00347d36}}, Y: Field{[10]uint32{0x02206839, 0x0296b384, 0x03365a1c, 0x02ac071b, 0x02b1525e, 0x00a4a719, 0x0080ce9b, 0x01dd2ef5, 0x038277c4, 0x00190153}}}, + {X: Field{[10]uint32{0x0014a18d, 0x01fd3b3b, 0x01e1860f, 0x00a973dd, 0x01158b4f, 0x010a8f44, 0x005f2d5b, 0x01ba706a, 0x014f2458, 0x0013d713}}, Y: Field{[10]uint32{0x00efdbe5, 0x02d28c6c, 0x03350986, 0x027a5c3e, 0x021e48bb, 0x01ffefb0, 0x013be2be, 0x01e581a5, 0x02716d54, 0x0015d5db}}}, + {X: Field{[10]uint32{0x0198150a, 0x01032e52, 0x02118c38, 0x031407a6, 0x013f8edf, 0x0393e40f, 0x023cf5c5, 0x00510f62, 0x005bdcb3, 0x00304ed8}}, Y: Field{[10]uint32{0x02cb8435, 0x000f2c85, 0x022b52f6, 0x0127d064, 0x006c368e, 0x0122c070, 0x022a8ea9, 0x03efd4b9, 0x02af99f1, 0x0023738b}}}, + {X: Field{[10]uint32{0x0029cbb6, 0x01d33409, 0x01753391, 0x019b899a, 0x03a3df24, 0x0073bad6, 0x024a5b5a, 0x00953925, 0x032ab66f, 0x00064dec}}, Y: Field{[10]uint32{0x02f2e385, 0x0005ce03, 0x0022bb57, 0x01e604f8, 0x030181e0, 0x00fffec6, 0x00eabb05, 0x001d72ef, 0x00a06f1b, 0x0025c4ac}}}, + {X: Field{[10]uint32{0x019ba2e4, 0x0186c1d0, 0x004d747e, 0x036deb4b, 0x00d757bb, 0x00ef87d6, 0x00ef386c, 0x01cbcc21, 0x033f2f17, 0x0039294c}}, Y: Field{[10]uint32{0x036b6f56, 0x00529eb2, 0x00c7c5af, 0x03326f05, 0x02132571, 0x02f05590, 0x009b7178, 0x0392e40e, 0x01a72ec2, 0x003a13df}}}, + {X: Field{[10]uint32{0x0206cca6, 0x03f6d2d5, 0x00dcffc7, 0x0106b855, 0x01d57a83, 0x03304217, 0x000a0cf5, 0x00aa3142, 0x00b0a3f4, 0x000be28e}}, Y: Field{[10]uint32{0x024681c1, 0x03ce31a3, 0x024f1134, 0x00b86c49, 0x002fa2a7, 0x03bb58a5, 0x0008d9c4, 0x0076d959, 0x02a52c30, 0x0021d931}}}, + {X: Field{[10]uint32{0x01a55ff7, 0x015c4aa0, 0x0070b873, 0x0266e106, 0x02acd145, 0x033aad7f, 0x00585b63, 0x00b5dedb, 0x01c2c51c, 0x0000f4af}}, Y: Field{[10]uint32{0x02d3e9e0, 0x02e3736d, 0x035e9496, 0x00da8fa2, 0x00922460, 0x0011db91, 0x01a808ff, 0x018f7ea6, 0x01adbbe2, 0x000cfdd2}}}, + {X: Field{[10]uint32{0x03ab7d3a, 0x03cf307b, 0x01b3e6e5, 0x00548b6f, 0x021ecec2, 0x00afe8f8, 0x02b9acf6, 0x01338cdd, 0x0008d676, 0x003f21fe}}, Y: Field{[10]uint32{0x0035176a, 0x032e5c4a, 0x00581717, 0x0093386f, 0x01c03430, 0x014292b0, 0x0015dd87, 0x03e4ddc2, 0x0303c1f4, 0x00339d7a}}}, + {X: Field{[10]uint32{0x031e68d5, 0x009c2fd6, 0x02cb4374, 0x014871f9, 0x01323549, 0x03326121, 0x00885dc0, 0x03847afa, 0x005c62de, 0x001fe06e}}, Y: Field{[10]uint32{0x029c4558, 0x0034a9da, 0x017f3ad7, 0x012bb572, 0x011750aa, 0x025b3dce, 0x01ba062d, 0x036d8705, 0x037d6a84, 0x002deb7b}}}, + {X: Field{[10]uint32{0x01fd5557, 0x022e40f8, 0x0288c826, 0x0224f085, 0x0233cc8f, 0x018bbe47, 0x01d8f47f, 0x00eb97a3, 0x003f7afd, 0x00358635}}, Y: Field{[10]uint32{0x00cd34b8, 0x02f2a9b8, 0x03fb4fc5, 0x0237f230, 0x0042ce9e, 0x024031f9, 0x03212679, 0x02e6c20a, 0x017b0c8a, 0x00186020}}}, + {X: Field{[10]uint32{0x016e4940, 0x03e532e2, 0x009310cc, 0x02f37ddb, 0x03694430, 0x020e0ee6, 0x03f540fc, 0x026c1b6b, 0x004ff237, 0x002e9693}}, Y: Field{[10]uint32{0x0107b1f2, 0x001d6a3f, 0x0128db91, 0x03954d29, 0x0325299d, 0x03cba4cc, 0x01309b24, 0x0239bd3b, 0x011a0b13, 0x000e8887}}}, + {X: Field{[10]uint32{0x00cfdf56, 0x00a7e8c6, 0x018abcec, 0x025720c2, 0x03801363, 0x02cd6eb0, 0x03591415, 0x00dd1a20, 0x01b60bee, 0x0031a462}}, Y: Field{[10]uint32{0x0339268c, 0x022f5275, 0x0279c582, 0x0078a6de, 0x019795e6, 0x038d01ec, 0x00232fa7, 0x0368eb37, 0x03c2b862, 0x00286176}}}, + {X: Field{[10]uint32{0x00efae12, 0x00dccb07, 0x02d71bcd, 0x021a1f96, 0x0270dffd, 0x0267500e, 0x0063423b, 0x02d006ae, 0x0144032f, 0x00147d9f}}, Y: Field{[10]uint32{0x01e10e59, 0x02cb6518, 0x01f5ca8e, 0x00fe2993, 0x020403e2, 0x032fc859, 0x00ae68a3, 0x00128caf, 0x0085a2c4, 0x00222c5d}}}, + {X: Field{[10]uint32{0x037c4bd5, 0x02fb9b7a, 0x00a36fa8, 0x005fb4f3, 0x016001e1, 0x0252e2d9, 0x006fb69a, 0x017e350d, 0x0209e558, 0x00336b3f}}, Y: Field{[10]uint32{0x02028542, 0x0211249b, 0x01ecefdb, 0x000d6515, 0x03af5fc4, 0x0019a675, 0x00121762, 0x00c74056, 0x005a9931, 0x00377c6f}}}, + {X: Field{[10]uint32{0x03f0e769, 0x00cf24e2, 0x01be319f, 0x02874598, 0x00481eaa, 0x033a4222, 0x0301d70c, 0x0391da71, 0x0371e1fc, 0x00204a79}}, Y: Field{[10]uint32{0x0045c6e2, 0x002a05bc, 0x02d700d4, 0x0226d511, 0x038a4db1, 0x01d259ab, 0x02d8b6f9, 0x02f158e7, 0x013da864, 0x000fad5c}}}, + {X: Field{[10]uint32{0x02bce3ab, 0x004cafd6, 0x009ada68, 0x02abe0a2, 0x00f39c14, 0x02a9cc35, 0x002fc0f8, 0x016f03cc, 0x02ef6d41, 0x002e5c18}}, Y: Field{[10]uint32{0x013db3a6, 0x003cc4f5, 0x02829049, 0x03954445, 0x006644c9, 0x0148891f, 0x00dfdd38, 0x0324f3f6, 0x0288cd76, 0x0022b5c1}}}, + {X: Field{[10]uint32{0x030bd913, 0x01a853d3, 0x03ca422a, 0x03b14552, 0x0250de67, 0x013a1af9, 0x01d6af8c, 0x006d7fa9, 0x018b4e81, 0x000670f2}}, Y: Field{[10]uint32{0x0190a109, 0x01d1bea8, 0x027bdd5d, 0x017a491d, 0x03c18b9d, 0x021425f2, 0x021b5c73, 0x03264cc3, 0x039648bd, 0x002f148f}}}, + {X: Field{[10]uint32{0x01b42b9c, 0x026cf0ad, 0x0355967a, 0x01efbf98, 0x020ad769, 0x02244638, 0x02be43f8, 0x03b9d2c7, 0x00c73616, 0x002e7bcd}}, Y: Field{[10]uint32{0x03661bea, 0x003a9a16, 0x022543b7, 0x02a8d5c3, 0x02e8dc05, 0x03988e54, 0x01be2715, 0x006b06e2, 0x01ddd55b, 0x0004bc73}}}, + {X: Field{[10]uint32{0x0103c34a, 0x03b6e5fd, 0x02ca86e8, 0x00faf7ae, 0x0359dd2a, 0x01b61371, 0x039c39a9, 0x0336d603, 0x034f58e2, 0x001dc638}}, Y: Field{[10]uint32{0x03e96df7, 0x019ec400, 0x03093135, 0x00a23838, 0x01cf5e37, 0x0312f45f, 0x01cd8f96, 0x0106e04b, 0x01fbdc08, 0x0029b441}}}, + {X: Field{[10]uint32{0x037e8dba, 0x03321c71, 0x02ed621f, 0x02c62bed, 0x01e259c1, 0x034d68da, 0x03ba89b8, 0x039cdd8e, 0x004b8e6d, 0x0036ace2}}, Y: Field{[10]uint32{0x00a11577, 0x00e89e05, 0x0153ee50, 0x0024abbe, 0x01c9316e, 0x036d2802, 0x02bd4b5e, 0x00b508ae, 0x0329c59a, 0x003d12db}}}, + {X: Field{[10]uint32{0x027f4366, 0x03b6ac79, 0x00a1876a, 0x0147a11f, 0x03a67367, 0x02d6f9b7, 0x026a8978, 0x01e0b797, 0x02101139, 0x0032cf43}}, Y: Field{[10]uint32{0x0157d3ea, 0x03e5c26f, 0x010cf189, 0x019da705, 0x01572aff, 0x03923c76, 0x0169b33b, 0x0250f99e, 0x008dd227, 0x0009ffa2}}}, + {X: Field{[10]uint32{0x00c3c6a0, 0x01fecefa, 0x0279fcca, 0x0191ba8b, 0x03656ea5, 0x03d8ad2d, 0x01193dbb, 0x02750423, 0x03f85561, 0x003ac6c7}}, Y: Field{[10]uint32{0x02282ea4, 0x0340f258, 0x027a5ced, 0x00e926cc, 0x01d36ae9, 0x000e1159, 0x01137414, 0x0357075c, 0x00c75b73, 0x00309fe8}}}, + {X: Field{[10]uint32{0x0039c5dd, 0x0025e187, 0x03aeb587, 0x03cf4b95, 0x00bee8f9, 0x00eadaf7, 0x01a11170, 0x003c47dd, 0x01e60bc4, 0x0017541e}}, Y: Field{[10]uint32{0x006e46d0, 0x02048851, 0x02bab805, 0x0378061c, 0x014d8435, 0x02f9ef7e, 0x025829b4, 0x02e75775, 0x012ba40d, 0x00052b84}}}, + {X: Field{[10]uint32{0x01a7b38e, 0x03f302a8, 0x00502384, 0x023780c0, 0x01b70809, 0x02c852ec, 0x028acd26, 0x01abc1b4, 0x02f76beb, 0x00004183}}, Y: Field{[10]uint32{0x03bdf9a3, 0x003b1230, 0x022e275d, 0x0015481f, 0x0334252c, 0x028860f5, 0x005464da, 0x03190a56, 0x039ff6c6, 0x0033903c}}}, + {X: Field{[10]uint32{0x02170695, 0x008e1cea, 0x03e1afd7, 0x0251c358, 0x01e7bcc8, 0x0309d14a, 0x007c271a, 0x03dcc625, 0x0063c001, 0x00259471}}, Y: Field{[10]uint32{0x0254eaf7, 0x00dfec39, 0x0154d218, 0x01e96a6c, 0x013b16ba, 0x022d8f26, 0x016d17fe, 0x001b69cf, 0x027fe8ff, 0x00138d8b}}}, + {X: Field{[10]uint32{0x03363dcc, 0x00a3c9c7, 0x0000ee09, 0x01334891, 0x01895cda, 0x02d0a2c6, 0x02822cdc, 0x0086d0bd, 0x03765928, 0x0017108a}}, Y: Field{[10]uint32{0x012b9400, 0x017f3d92, 0x0148444e, 0x036054a0, 0x014cb6b4, 0x03db01fd, 0x008258f0, 0x01df28d1, 0x034f9e4c, 0x000bf6d3}}}, + {X: Field{[10]uint32{0x01faba2c, 0x009364ea, 0x003d2b72, 0x029b353d, 0x02ab3868, 0x0114b312, 0x023ce519, 0x009435ce, 0x012b5d98, 0x0036c51f}}, Y: Field{[10]uint32{0x010ed0de, 0x02469e81, 0x009258a3, 0x03f81931, 0x009fdebf, 0x01ca65a1, 0x0343227a, 0x01ab37e8, 0x0380ad3c, 0x001cc950}}}, + {X: Field{[10]uint32{0x01454b4c, 0x0345b2f9, 0x01384a41, 0x009bb613, 0x01e1beca, 0x02207a26, 0x02237678, 0x02ff4594, 0x03a0f97a, 0x002699d8}}, Y: Field{[10]uint32{0x0090306a, 0x028074ce, 0x03cb2737, 0x01d64b22, 0x00e7952f, 0x00420a42, 0x031a3d55, 0x01605ccb, 0x007db6aa, 0x002ed450}}}, + {X: Field{[10]uint32{0x025daea8, 0x02da8003, 0x0400007d, 0x027a3147, 0x0007b45a, 0x03e53d61, 0x025c889e, 0x022bd3d3, 0x0133e910, 0x000dbf9e}}, Y: Field{[10]uint32{0x01227ee5, 0x0216ed09, 0x019e27fc, 0x02ed9ad1, 0x031943c7, 0x01c78570, 0x003a0f4a, 0x01688723, 0x01baecdd, 0x00340929}}}, + {X: Field{[10]uint32{0x03c784e7, 0x0155a28e, 0x006afc44, 0x03a96dce, 0x0144c749, 0x01d4a5a0, 0x02782fb8, 0x01f9a033, 0x0263f04f, 0x001036b9}}, Y: Field{[10]uint32{0x0355050b, 0x00445d95, 0x02bb9478, 0x011d12c5, 0x02cea2ab, 0x008f3c94, 0x0058c854, 0x03374009, 0x03fdac6b, 0x00126918}}}, + {X: Field{[10]uint32{0x01c5b8d1, 0x017272eb, 0x00a7542c, 0x02e9e7ea, 0x01da55fa, 0x0056bf67, 0x00c6d10b, 0x03cec23a, 0x016dc8ff, 0x0002e858}}, Y: Field{[10]uint32{0x00a786ff, 0x006ac96c, 0x01019764, 0x01797c38, 0x02771045, 0x0328256c, 0x025a3ace, 0x00f19865, 0x0042a623, 0x003bc25b}}}, + {X: Field{[10]uint32{0x019c4a66, 0x00b409d8, 0x01e7da70, 0x001417ee, 0x03d69b4a, 0x02f1c49c, 0x028c948d, 0x01254935, 0x036723a5, 0x000c121b}}, Y: Field{[10]uint32{0x02444c76, 0x00fb2eb0, 0x01ab6574, 0x01b66812, 0x01fd6acc, 0x011c292e, 0x02a63695, 0x03270217, 0x014d279e, 0x000e3293}}}, + {X: Field{[10]uint32{0x01e6932a, 0x0096f236, 0x0197090f, 0x024e6a27, 0x02d6accd, 0x03b0a809, 0x0367174d, 0x03475603, 0x029495ea, 0x0006e0fb}}, Y: Field{[10]uint32{0x02e20196, 0x0212f075, 0x03e0e345, 0x00d270ac, 0x033d2630, 0x00b9f43a, 0x0373d6da, 0x01214786, 0x0048fb5e, 0x000065b5}}}, + {X: Field{[10]uint32{0x03517396, 0x003c432d, 0x0264f2e3, 0x00c8053b, 0x01328b61, 0x03055e76, 0x02766715, 0x016844be, 0x002eedfa, 0x0013aa77}}, Y: Field{[10]uint32{0x006e50c2, 0x023c3d6c, 0x02c9c21e, 0x036741b2, 0x00d4a192, 0x00066d07, 0x003f0b14, 0x00f8a562, 0x03c96ef8, 0x001d053b}}}, + {X: Field{[10]uint32{0x02b033da, 0x025ff34b, 0x01b311a0, 0x024b572e, 0x02876777, 0x02d95d0d, 0x03217aa3, 0x02b4220e, 0x019dbee9, 0x001059b0}}, Y: Field{[10]uint32{0x02ed541c, 0x008dbadf, 0x001f8abc, 0x00ff4e36, 0x02b80e11, 0x02cdd6b1, 0x02b4d29a, 0x01aa9a4c, 0x025c5fae, 0x0018b141}}}, + {X: Field{[10]uint32{0x01a74899, 0x02ef82a1, 0x03f310a2, 0x021abe38, 0x02bbbc66, 0x034f4be5, 0x00511a87, 0x03d529a7, 0x03ebb112, 0x002c5d59}}, Y: Field{[10]uint32{0x009f52c2, 0x03f5cb53, 0x00bb1bdb, 0x008719c7, 0x03a69367, 0x02e24db7, 0x03fc6934, 0x02f952b8, 0x03413788, 0x003d99d8}}}, + {X: Field{[10]uint32{0x028095a5, 0x00ae2a6f, 0x0210212c, 0x02141408, 0x01a6df06, 0x00d44c4c, 0x01d81fdf, 0x01fcd022, 0x01152ab9, 0x00334ad9}}, Y: Field{[10]uint32{0x038f6a53, 0x024b8c79, 0x00bb45f4, 0x0212e1c0, 0x0322afff, 0x03513408, 0x02e40c72, 0x0064d457, 0x012f9ca4, 0x0033f9e5}}}, + {X: Field{[10]uint32{0x0218229f, 0x00c825cd, 0x0374a447, 0x01e4ebab, 0x032086c9, 0x001eb031, 0x0241a729, 0x0050280c, 0x03c49f33, 0x000dd580}}, Y: Field{[10]uint32{0x0385e837, 0x0058defa, 0x00699668, 0x004e1120, 0x03de08ba, 0x00025d76, 0x01ddb463, 0x029dcf84, 0x00f66322, 0x001eedd0}}}, + {X: Field{[10]uint32{0x03bb7432, 0x03c80bbb, 0x01632978, 0x0174b800, 0x017e1095, 0x00d0777a, 0x003c176f, 0x00f765b6, 0x03d4390a, 0x00040819}}, Y: Field{[10]uint32{0x039ba83e, 0x02068be0, 0x0322dafa, 0x03bdf9c1, 0x021d8b7e, 0x01aea77d, 0x0019f11b, 0x03330e9c, 0x03d54d28, 0x001f3db3}}}, + {X: Field{[10]uint32{0x0263081d, 0x01d89737, 0x01d544fb, 0x00bfa30b, 0x01374ef4, 0x022d23eb, 0x003042cf, 0x0314ee9c, 0x0273e3fb, 0x0011d85f}}, Y: Field{[10]uint32{0x01d439e8, 0x020bce70, 0x022a0e47, 0x019e1f0f, 0x0350cbae, 0x010f2abf, 0x0040f07f, 0x02a56ecb, 0x00230c92, 0x0007e93d}}}, + {X: Field{[10]uint32{0x03880f84, 0x0045d383, 0x034ca82e, 0x02f4c635, 0x0046b814, 0x038a2818, 0x017aac08, 0x01418a7d, 0x03af57f7, 0x000b10c6}}, Y: Field{[10]uint32{0x0209de50, 0x039631bc, 0x03adbb8e, 0x014ab162, 0x0262755a, 0x0214fd07, 0x00041089, 0x012ccb04, 0x03bc6857, 0x00376e79}}}, + {X: Field{[10]uint32{0x0343d599, 0x015c3760, 0x00b41338, 0x012c35dd, 0x033f4df4, 0x026dc22a, 0x0386b1f7, 0x02db9066, 0x02438143, 0x0024658d}}, Y: Field{[10]uint32{0x02312f0d, 0x008aa2dd, 0x00049696, 0x00d243d1, 0x00021be3, 0x01ae1eef, 0x0391d682, 0x02834a7e, 0x02177171, 0x00240d3b}}}, + {X: Field{[10]uint32{0x00b7754e, 0x013dfdf1, 0x02ddda4a, 0x0164ac05, 0x02028718, 0x015a0ec1, 0x00d42db9, 0x01b1ee0e, 0x0201af65, 0x002fca30}}, Y: Field{[10]uint32{0x0345d109, 0x02db7ce8, 0x00e20c50, 0x016ab0c8, 0x01ce6ffb, 0x01aac1a0, 0x0266c2f4, 0x00434aa2, 0x0304dda5, 0x0002ef53}}}, + {X: Field{[10]uint32{0x0118b137, 0x02d3cd65, 0x035a1bab, 0x00b296ba, 0x031aa426, 0x01663902, 0x01d531bf, 0x0097d138, 0x03860218, 0x003f2b1c}}, Y: Field{[10]uint32{0x02e67b64, 0x03fda154, 0x005936ff, 0x03fa1f9f, 0x037dcca7, 0x02e8dfbb, 0x032d1e41, 0x02fa87cf, 0x037a957b, 0x000ec65a}}}, + {X: Field{[10]uint32{0x026e9331, 0x0270775c, 0x01982302, 0x0326d1fb, 0x018ad89c, 0x0119fe02, 0x01f0278e, 0x03864850, 0x01dfcaae, 0x00273fa8}}, Y: Field{[10]uint32{0x00db211d, 0x00051ac6, 0x01f470b1, 0x03056dd7, 0x0096a071, 0x01421b8c, 0x010b6469, 0x03b8163f, 0x024e7f30, 0x001cb607}}}, + {X: Field{[10]uint32{0x021334da, 0x019bcd1a, 0x00e201e9, 0x014666e6, 0x00455c51, 0x00a00b0c, 0x01c7f21f, 0x014f1e59, 0x03421235, 0x0015234f}}, Y: Field{[10]uint32{0x016418ae, 0x025283a5, 0x0278a426, 0x02c40c44, 0x0208c0af, 0x016e51a1, 0x0138eeb1, 0x000f4a25, 0x0225cebb, 0x000184ba}}}, + {X: Field{[10]uint32{0x00295bc0, 0x022f759d, 0x01e22a6c, 0x015b18a3, 0x02ebd467, 0x02312643, 0x035c545e, 0x01309826, 0x019accf8, 0x00396f98}}, Y: Field{[10]uint32{0x01b08bf3, 0x00b8a81c, 0x01837a74, 0x033e6cd8, 0x0189e246, 0x02a162e4, 0x003aa74f, 0x006bdeb6, 0x00a57d84, 0x00190219}}}, + {X: Field{[10]uint32{0x01ac668f, 0x013a6ba8, 0x02209e19, 0x0037dcd3, 0x03a26046, 0x008da323, 0x028f733d, 0x03b52bba, 0x033e3400, 0x002d5824}}, Y: Field{[10]uint32{0x005f9da3, 0x0303008b, 0x028861b1, 0x03d378a6, 0x00ac0975, 0x033c5eef, 0x02ab1826, 0x01e14e7f, 0x013d3133, 0x00150e3e}}}, + {X: Field{[10]uint32{0x00cf60b1, 0x014aa887, 0x013c02c6, 0x025a30c5, 0x01dedf2d, 0x01d10cff, 0x03ecf7dd, 0x00f9e41d, 0x0297baca, 0x00087766}}, Y: Field{[10]uint32{0x0284797e, 0x001f3409, 0x038d917c, 0x0334d3d2, 0x01b851c4, 0x03683032, 0x019bbd7c, 0x02c2deda, 0x00e0e048, 0x00379b98}}}, + {X: Field{[10]uint32{0x01934bbd, 0x03ca403f, 0x03f37bca, 0x01d12327, 0x012f1478, 0x026f68c0, 0x01b0a52f, 0x010e6d32, 0x020c6d39, 0x00173e95}}, Y: Field{[10]uint32{0x01b11b06, 0x03feae69, 0x01a3235a, 0x034cfc37, 0x0129d5a5, 0x03a4dbca, 0x0156998c, 0x02566fcd, 0x02630cc1, 0x0031e49e}}}, + {X: Field{[10]uint32{0x026d4fc6, 0x00712da1, 0x02f49046, 0x039ed240, 0x016377af, 0x0253f325, 0x036204b3, 0x03350540, 0x01bb05ad, 0x00128ee5}}, Y: Field{[10]uint32{0x00e84f2f, 0x03402bea, 0x000232a0, 0x01ef7dc2, 0x018d6be4, 0x036e4e1f, 0x009179a4, 0x00793302, 0x02e2f1bd, 0x0035678f}}}, + {X: Field{[10]uint32{0x01f4671f, 0x012dd94d, 0x03d4a81c, 0x002b736c, 0x03404edb, 0x03741bc5, 0x0006b7ba, 0x01a7244f, 0x03130b4c, 0x00331268}}, Y: Field{[10]uint32{0x007bc278, 0x015ea25a, 0x011b24dd, 0x0054b1ea, 0x02ba4837, 0x034dd564, 0x036c1943, 0x01497abc, 0x02ecc35e, 0x0012f5c8}}}, + {X: Field{[10]uint32{0x00146d98, 0x00993335, 0x03d3740b, 0x0300637c, 0x00e07fda, 0x0362d3b8, 0x00f4f900, 0x029a7673, 0x005a7426, 0x00275d42}}, Y: Field{[10]uint32{0x00c4b0a9, 0x01b8f08b, 0x01ae6a4f, 0x03a4fe50, 0x01ce174a, 0x0392519f, 0x0372f44d, 0x02ccb411, 0x0253de04, 0x00016644}}}, + {X: Field{[10]uint32{0x03210fb8, 0x02c341a0, 0x00d18b95, 0x003beb48, 0x02caa87c, 0x027c7864, 0x0312cf5d, 0x036b74ba, 0x00df737b, 0x0037f419}}, Y: Field{[10]uint32{0x0103805a, 0x0206e4a4, 0x0122613d, 0x0264fab8, 0x019f3172, 0x02404bf5, 0x00b1d2b8, 0x0234cc14, 0x003da5bf, 0x001467e2}}}, + {X: Field{[10]uint32{0x007eaf9a, 0x006040a0, 0x012e3bf6, 0x0209a170, 0x001cf205, 0x0198c62f, 0x009013ea, 0x01b0d758, 0x035cd235, 0x000ad428}}, Y: Field{[10]uint32{0x01c76335, 0x012aeac7, 0x000f6ce7, 0x00790d4e, 0x02fdf424, 0x026d60a7, 0x01f5a77d, 0x03bbfae0, 0x011d303a, 0x0001f42d}}}, + {X: Field{[10]uint32{0x005abbc7, 0x0207ea1a, 0x030c3704, 0x03ccc09f, 0x020f3202, 0x01673517, 0x02e2a594, 0x01d79f1d, 0x034b2cf1, 0x00389ba3}}, Y: Field{[10]uint32{0x02c2013a, 0x03dcbf0e, 0x02c0f194, 0x0389183a, 0x01716e5f, 0x025f0d37, 0x00767029, 0x0145854c, 0x03baaa0d, 0x001320b9}}}, + {X: Field{[10]uint32{0x010f87fb, 0x034d20d7, 0x00959b46, 0x0147e097, 0x031fd90e, 0x039e3701, 0x0184057c, 0x03615da9, 0x037d54f4, 0x001640f6}}, Y: Field{[10]uint32{0x029e99c8, 0x00200447, 0x020f3816, 0x01028637, 0x03febf94, 0x034635bd, 0x00003329, 0x0046791f, 0x03d3e9ce, 0x0031578b}}}, + {X: Field{[10]uint32{0x0125e9c1, 0x0254f513, 0x00204fde, 0x03b8a2e6, 0x021040e6, 0x00d4906d, 0x03881e96, 0x02a0b722, 0x02cd0342, 0x0012eec3}}, Y: Field{[10]uint32{0x00b0ef04, 0x006a320b, 0x02335821, 0x03a6d134, 0x00082e97, 0x0013a1e1, 0x02bee8d6, 0x0116dd4a, 0x00900f34, 0x00004bac}}}, + {X: Field{[10]uint32{0x03c4e8d2, 0x01543e52, 0x0175b647, 0x01f506e5, 0x02702996, 0x034c9e78, 0x026eb38f, 0x02fe5f1b, 0x015aae87, 0x00012891}}, Y: Field{[10]uint32{0x03936074, 0x0255541c, 0x01c474a5, 0x008be718, 0x0309af34, 0x009d85e3, 0x012bea1e, 0x02fb98b5, 0x02c4ffe3, 0x00168d02}}}, + {X: Field{[10]uint32{0x03477623, 0x032be1d4, 0x004ad1de, 0x02f77389, 0x0394470a, 0x001ed4c3, 0x00329c4c, 0x0066a953, 0x028dc8ca, 0x003c21b5}}, Y: Field{[10]uint32{0x00bdbd08, 0x00c25c6d, 0x03d8020d, 0x028a022b, 0x034d9e8b, 0x03121a6a, 0x03e4161c, 0x01abc596, 0x01d384a1, 0x00244712}}}, + {X: Field{[10]uint32{0x03ba856c, 0x027e486d, 0x00cb4c98, 0x03dca5e2, 0x01d4b7cd, 0x00257c6d, 0x0253f912, 0x01b13892, 0x037e83b7, 0x0013c6c5}}, Y: Field{[10]uint32{0x0180eaf2, 0x0111c15f, 0x03811e10, 0x01a43702, 0x0399debb, 0x02ee54d2, 0x03dc2ff5, 0x02426bf0, 0x004eb060, 0x002955a3}}}, + {X: Field{[10]uint32{0x03db5823, 0x00d0c0e5, 0x0154c765, 0x039fe99e, 0x01c4fb5a, 0x02211de3, 0x012fcbc0, 0x0391688f, 0x009929a7, 0x003aea1e}}, Y: Field{[10]uint32{0x01cbf68f, 0x00085e8b, 0x02afee73, 0x02985c92, 0x02801b26, 0x03c0ebe7, 0x03c46b47, 0x00245c27, 0x0329b357, 0x0039be31}}}, + {X: Field{[10]uint32{0x002282c2, 0x008ed8ea, 0x02e7d877, 0x00e62731, 0x03130ee5, 0x01111567, 0x01580844, 0x02969e4b, 0x031334c9, 0x0037c45e}}, Y: Field{[10]uint32{0x016f7120, 0x03959054, 0x035a8c9b, 0x0175388c, 0x001a2fc5, 0x02954447, 0x02c5492e, 0x00f144ab, 0x02578eea, 0x003761f2}}}, + {X: Field{[10]uint32{0x02ee82c5, 0x00c871b9, 0x01a68621, 0x0392ea80, 0x021f5768, 0x03d7da81, 0x02eaa1bd, 0x02ae200d, 0x003b3e68, 0x0035dd55}}, Y: Field{[10]uint32{0x0081436e, 0x00ea7b86, 0x02e18049, 0x01184141, 0x0027a2bf, 0x01065fe7, 0x02e7a26c, 0x01ce60f3, 0x030547c9, 0x001c0886}}}, + {X: Field{[10]uint32{0x0178515d, 0x00bfafd1, 0x024c7148, 0x01fff7c1, 0x025e006f, 0x02335632, 0x005c6116, 0x006b96af, 0x01d55a23, 0x0029fc43}}, Y: Field{[10]uint32{0x003c13b0, 0x025ea79c, 0x0031eb47, 0x03c835a7, 0x01b2c24a, 0x007664e6, 0x025eb38d, 0x025a5388, 0x03a7b66b, 0x00124a8c}}}, + {X: Field{[10]uint32{0x020120ec, 0x00dba718, 0x0205b05d, 0x02ce04b6, 0x020801c6, 0x01add211, 0x0336c86c, 0x02af6444, 0x01ef3119, 0x0031e551}}, Y: Field{[10]uint32{0x03c28718, 0x00813774, 0x00382bd7, 0x0313c485, 0x00738a33, 0x01f7a81b, 0x0073f8ef, 0x03ab9145, 0x00db95b6, 0x0009323f}}}, + {X: Field{[10]uint32{0x02c2cb11, 0x020f8314, 0x006ec8e7, 0x0359a888, 0x03afa14d, 0x03884128, 0x0043ba29, 0x02223d7e, 0x035e744f, 0x000262ea}}, Y: Field{[10]uint32{0x00b94df6, 0x030c34af, 0x03cbe0b2, 0x03518dab, 0x02a7abae, 0x0051af35, 0x01d929b8, 0x01fb6314, 0x019fe5e8, 0x0020ed5a}}}, + {X: Field{[10]uint32{0x00ac586e, 0x01d4bbf7, 0x00110547, 0x0212b099, 0x0160d84a, 0x00e77ffd, 0x0213053d, 0x02912b20, 0x00287b6f, 0x001b738a}}, Y: Field{[10]uint32{0x0237ed66, 0x03f18a78, 0x00a5cadc, 0x02654d5e, 0x00c79be3, 0x00197469, 0x032fa8dd, 0x0033116a, 0x022ab9d6, 0x000787ad}}}, + {X: Field{[10]uint32{0x023dfa83, 0x02c2b398, 0x030c1b7f, 0x037423db, 0x03db06a9, 0x02c92b63, 0x02b091b5, 0x01cf24c1, 0x0259287a, 0x00038e1a}}, Y: Field{[10]uint32{0x005b34e6, 0x02582a74, 0x00ed6852, 0x008508a1, 0x01c0d3b2, 0x0385bf35, 0x024ce899, 0x01929798, 0x03da663b, 0x00129f9c}}}, + {X: Field{[10]uint32{0x024fe4d5, 0x03aa89fa, 0x0118004b, 0x0060989b, 0x00cea0a3, 0x02e550eb, 0x00283fc9, 0x02f8c663, 0x0382e62f, 0x0023f7fd}}, Y: Field{[10]uint32{0x00086675, 0x008b4aab, 0x00708c52, 0x007d0c5f, 0x03a4f530, 0x0041fa21, 0x03ed6508, 0x03656d9c, 0x00719fe0, 0x003fbe3d}}}, + {X: Field{[10]uint32{0x012eaa37, 0x0381108a, 0x01089a10, 0x0310d722, 0x0136ed1c, 0x03a9593a, 0x03bb8b84, 0x02c52006, 0x03ae7842, 0x00132424}}, Y: Field{[10]uint32{0x025298dd, 0x02542829, 0x03426ea2, 0x00afe169, 0x03864236, 0x03a4d5bd, 0x02c0903f, 0x0117eb96, 0x033493d2, 0x000b5a0c}}}, + {X: Field{[10]uint32{0x03103a1b, 0x01b56e8c, 0x00f2fe86, 0x031bf5db, 0x01056318, 0x0381ca8d, 0x02b80f9b, 0x014aa764, 0x00c55c5c, 0x0033018d}}, Y: Field{[10]uint32{0x007f0b32, 0x03c2c234, 0x01e887e8, 0x01dc6da6, 0x004004aa, 0x01ff2180, 0x0236eb08, 0x02da79b4, 0x0141b13c, 0x001d42df}}}, + {X: Field{[10]uint32{0x03918255, 0x01bdc78e, 0x026569a5, 0x03b33fdd, 0x011d53c7, 0x033292b6, 0x0133f5f9, 0x01eb162f, 0x027341fa, 0x0025d269}}, Y: Field{[10]uint32{0x00916068, 0x01b3b61a, 0x00d870ec, 0x01a73e96, 0x025e68fd, 0x038df676, 0x012a2aaf, 0x031f59da, 0x01c1009d, 0x002da17c}}}, + {X: Field{[10]uint32{0x017d8e75, 0x00dded1a, 0x011bc9e0, 0x014dcaf6, 0x03a25bd2, 0x01f682c6, 0x0257fdcb, 0x018bc816, 0x00efb578, 0x002c12af}}, Y: Field{[10]uint32{0x01e168f6, 0x01405286, 0x03d4278b, 0x02bf6a39, 0x0262dcb8, 0x0362e6ef, 0x01b58690, 0x012f8d22, 0x026466ad, 0x001411e6}}}, + {X: Field{[10]uint32{0x01c78902, 0x0093a151, 0x01768226, 0x02df2012, 0x02295059, 0x0217c035, 0x023b3957, 0x03efb7c6, 0x01e85481, 0x003447df}}, Y: Field{[10]uint32{0x035c3416, 0x00cd961b, 0x039c3173, 0x032d1200, 0x02b48928, 0x00499a60, 0x03369d81, 0x004a4069, 0x0368be0c, 0x0007458c}}}, + {X: Field{[10]uint32{0x0356fd4b, 0x02e202d5, 0x02b90970, 0x0182ca6c, 0x02fd6151, 0x00ed8f2c, 0x03225af7, 0x031e9024, 0x01f465c4, 0x00288719}}, Y: Field{[10]uint32{0x0345ecfe, 0x01aa8c24, 0x0186c766, 0x03897de9, 0x0157f1e3, 0x001228a5, 0x01e34767, 0x039839f7, 0x0389394d, 0x001a689a}}}, + {X: Field{[10]uint32{0x02497a1f, 0x03bfb85a, 0x036a4fde, 0x022c61b1, 0x0036ccda, 0x029633b4, 0x003d3999, 0x00d83a49, 0x02fbb080, 0x0014f189}}, Y: Field{[10]uint32{0x002ac9b7, 0x01f86ddd, 0x036bbeda, 0x01eb1011, 0x0008264d, 0x00cd85aa, 0x01106fb9, 0x03fc7946, 0x000862a7, 0x002b6498}}}, + {X: Field{[10]uint32{0x00e6ff0e, 0x005b139d, 0x02870601, 0x00cc46dc, 0x0211d969, 0x01d07c42, 0x0364fcc8, 0x00eb6340, 0x01871b2a, 0x0033d9ed}}, Y: Field{[10]uint32{0x02b68422, 0x01b4a748, 0x03cae6d3, 0x01fc966a, 0x027be653, 0x033878c2, 0x00ac068c, 0x035d3bda, 0x037c10cc, 0x000b258e}}}, + {X: Field{[10]uint32{0x010b4bc7, 0x0335a9b2, 0x018d731e, 0x00a77a7d, 0x01364288, 0x00d33783, 0x01a89a4b, 0x021c00a7, 0x02d808cc, 0x00014085}}, Y: Field{[10]uint32{0x01e38b21, 0x0367e9d2, 0x01e0c123, 0x01f99549, 0x0236f65d, 0x02944b56, 0x02fce322, 0x01224637, 0x01f096bc, 0x00248307}}}, + {X: Field{[10]uint32{0x03d1aef3, 0x019b0f64, 0x001a2677, 0x02f789bb, 0x033d6000, 0x03de42bf, 0x00cc62da, 0x01beedec, 0x0194f468, 0x00076115}}, Y: Field{[10]uint32{0x0134d260, 0x0027e7cc, 0x0173425c, 0x00db35aa, 0x0092450b, 0x0211f71b, 0x01340351, 0x03680bbc, 0x03a6bd9d, 0x003ab846}}}, + {X: Field{[10]uint32{0x024785e1, 0x014aede7, 0x030c3d5c, 0x0295bdf9, 0x012e7750, 0x01678aad, 0x027d5908, 0x02e5f41d, 0x0350b6c5, 0x00046b53}}, Y: Field{[10]uint32{0x00023b94, 0x018f6d6a, 0x027ac4e2, 0x011befdf, 0x011826e8, 0x00533e9c, 0x0152496f, 0x03671408, 0x02368725, 0x000b0aee}}}, + {X: Field{[10]uint32{0x0149388c, 0x0090ac2f, 0x02e3d12b, 0x00965a75, 0x03f76ee4, 0x01820a87, 0x024a5198, 0x01cf84a6, 0x027cd723, 0x000d5a34}}, Y: Field{[10]uint32{0x0354fdb3, 0x031db561, 0x033daf04, 0x02360e73, 0x038eff10, 0x0042a395, 0x02356680, 0x01011c5b, 0x03a96d09, 0x00038db7}}}, + {X: Field{[10]uint32{0x017801d7, 0x028b05fc, 0x038abafa, 0x01caf702, 0x0246310f, 0x01c01dd0, 0x02abb919, 0x02743174, 0x033545e0, 0x000ddcaa}}, Y: Field{[10]uint32{0x0278884e, 0x01001082, 0x03260053, 0x02be3b6d, 0x00775693, 0x022c04b8, 0x03a50cda, 0x031d18b5, 0x028ceae0, 0x000948a6}}}, + {X: Field{[10]uint32{0x029274f2, 0x00153970, 0x0131fa13, 0x026747b8, 0x0244f3b2, 0x022e4eb4, 0x0224779c, 0x01c06b91, 0x024f72c4, 0x0020546c}}, Y: Field{[10]uint32{0x00bb6429, 0x035544ae, 0x00c9986e, 0x009134b9, 0x03734207, 0x0030a35d, 0x033fca05, 0x03586779, 0x030725ff, 0x001624e0}}}, + {X: Field{[10]uint32{0x01539c9a, 0x00d25197, 0x034c8692, 0x0076489f, 0x001b57a8, 0x0394dc20, 0x00597050, 0x007e3183, 0x015ad410, 0x0011a921}}, Y: Field{[10]uint32{0x01e36b59, 0x034f9a22, 0x00864bee, 0x00917faa, 0x039517ad, 0x038bc82e, 0x00117ae0, 0x01c6578b, 0x01cf2111, 0x0023e99b}}}, + {X: Field{[10]uint32{0x01803d16, 0x0224f185, 0x02d4f0fd, 0x017d3b38, 0x00efa7c4, 0x00e2f4a9, 0x0015001c, 0x013cf7bb, 0x01543e65, 0x0002e06f}}, Y: Field{[10]uint32{0x029d3e75, 0x00ae8053, 0x00c4a75d, 0x03f96a25, 0x032b3947, 0x03e4eda8, 0x00316228, 0x0269d8d1, 0x03aa3129, 0x000570fd}}}, + {X: Field{[10]uint32{0x012e7706, 0x03572b40, 0x01faba5c, 0x03c933f2, 0x01423f10, 0x01356200, 0x038c0549, 0x00c93491, 0x021cf2a0, 0x000f85a6}}, Y: Field{[10]uint32{0x01389135, 0x008d5886, 0x020f9869, 0x012ff2a4, 0x03004d45, 0x01c02d2f, 0x0069075a, 0x02b1f14d, 0x03ddd814, 0x00081016}}}, + {X: Field{[10]uint32{0x01a65956, 0x02f74b53, 0x02fdf534, 0x02e1510f, 0x03557f39, 0x0379866f, 0x027a1b8c, 0x02ccfc3d, 0x024ab161, 0x001d0a0f}}, Y: Field{[10]uint32{0x00b3df3a, 0x038da274, 0x03159bfe, 0x005c71de, 0x01380c17, 0x02205d13, 0x033ad2bc, 0x0170119d, 0x03e28978, 0x00088a5a}}}, + {X: Field{[10]uint32{0x026b756e, 0x00f68e7a, 0x00092bde, 0x02d37a0a, 0x021a617f, 0x02de5539, 0x01da0a23, 0x02f27ed9, 0x0386cb76, 0x00189c55}}, Y: Field{[10]uint32{0x02c2db32, 0x017f6414, 0x0317d34a, 0x01608787, 0x00eec54d, 0x03e65444, 0x0163337b, 0x028540ed, 0x03e38829, 0x000f09ee}}}, + {X: Field{[10]uint32{0x037c8aae, 0x0168001b, 0x01f739c5, 0x038b28d7, 0x002c93ae, 0x015659d0, 0x0336bc9d, 0x02e24e10, 0x0105db23, 0x00258800}}, Y: Field{[10]uint32{0x00a6ba26, 0x037e85e1, 0x03b19a2b, 0x03638ff4, 0x01ea41cd, 0x026197d2, 0x00307c5d, 0x00981320, 0x028d400a, 0x000c64a5}}}, + {X: Field{[10]uint32{0x031d13fb, 0x0365a5ad, 0x01c313aa, 0x00d5506d, 0x01317875, 0x02fe2cb1, 0x0052fb5c, 0x0246c233, 0x0398bd26, 0x002f51dd}}, Y: Field{[10]uint32{0x03ddfc3b, 0x01f8502a, 0x0150b6be, 0x00e5299b, 0x0351978b, 0x03139eca, 0x01dae500, 0x0000cf08, 0x01c9a4ab, 0x002f8ad4}}}, + {X: Field{[10]uint32{0x035289e7, 0x0270c151, 0x02b05903, 0x006bd4b6, 0x0070da10, 0x02ab19e2, 0x01490e83, 0x03e126ed, 0x0388e46f, 0x003e8524}}, Y: Field{[10]uint32{0x0067b2a7, 0x0080c2e2, 0x015e37f2, 0x03470613, 0x02c75af3, 0x03349a87, 0x032080ad, 0x0159d0ec, 0x037fa8d8, 0x00211555}}}, + {X: Field{[10]uint32{0x0391ba90, 0x00dab80c, 0x00e86ff4, 0x00f11c80, 0x028ab50d, 0x01e069c2, 0x03bfae73, 0x03fec752, 0x03830af1, 0x00108a36}}, Y: Field{[10]uint32{0x03a270a7, 0x01c7632d, 0x01637d40, 0x03252d2b, 0x032413dd, 0x0066f4b8, 0x01560b64, 0x03c28600, 0x010ab0e6, 0x001176c7}}}, + {X: Field{[10]uint32{0x0017c85c, 0x0187fcc2, 0x03d49f41, 0x026bf28a, 0x021dc3a3, 0x02da71a1, 0x0094c02e, 0x03d680f5, 0x0279fe0d, 0x002a5eac}}, Y: Field{[10]uint32{0x019bec7d, 0x00d72371, 0x022900e5, 0x0105ac72, 0x005d4b74, 0x0335b7bb, 0x032f99f7, 0x03785cf5, 0x00bff128, 0x001401b2}}}, + {X: Field{[10]uint32{0x004c668f, 0x011199a4, 0x02b63f8d, 0x011544d7, 0x039f27dc, 0x0067ee8d, 0x01a3a1cc, 0x03198538, 0x00576bdc, 0x0030351b}}, Y: Field{[10]uint32{0x03215f58, 0x0024db72, 0x03a71f19, 0x00bd1fff, 0x013d1917, 0x024f1d82, 0x017d7ccf, 0x02c940b2, 0x00a30b28, 0x000e5ad8}}}, + {X: Field{[10]uint32{0x01a8dbbd, 0x00cd8fec, 0x00e636de, 0x031b86e2, 0x020b7ae4, 0x01716f28, 0x01b8c2c2, 0x03e9f782, 0x03e04599, 0x001cf175}}, Y: Field{[10]uint32{0x007bc617, 0x005f689d, 0x01ea3faf, 0x037dbea3, 0x0309229a, 0x0310c759, 0x02986b00, 0x03590827, 0x008d558b, 0x000767b4}}}, + {X: Field{[10]uint32{0x024827a7, 0x00f227b8, 0x03ab7bbf, 0x01958ab4, 0x00b4788c, 0x006805d4, 0x0097c6ef, 0x01210e36, 0x001da2ef, 0x0000dc12}}, Y: Field{[10]uint32{0x020fa7b1, 0x0390d71d, 0x02aaa190, 0x02d14e16, 0x01ccf794, 0x00003c3c, 0x004acc33, 0x00640476, 0x0076c205, 0x002a22ce}}}, + {X: Field{[10]uint32{0x037807ec, 0x02206758, 0x01d54eda, 0x02fd926e, 0x02f2b68c, 0x00d1e42f, 0x01bb7d8d, 0x03c29267, 0x03033006, 0x000b72f8}}, Y: Field{[10]uint32{0x0290c1e1, 0x03d63dc6, 0x01bda5d6, 0x00f5613e, 0x02092cf4, 0x00fe8a35, 0x015de2df, 0x00ca7ae4, 0x02e3c7ab, 0x002e0ad1}}}, + {X: Field{[10]uint32{0x017bb4b7, 0x0110bd80, 0x023c908a, 0x0193e3d0, 0x0144052b, 0x0093de96, 0x035d957c, 0x01171778, 0x00a916db, 0x003d17cf}}, Y: Field{[10]uint32{0x029b5a96, 0x01a39808, 0x03fc1dad, 0x03de042e, 0x015b4a0f, 0x03193798, 0x01d6a795, 0x0135b368, 0x002fb315, 0x001e777c}}}, + {X: Field{[10]uint32{0x0387605e, 0x01fa5779, 0x02e934fe, 0x01af8ea6, 0x03ee1734, 0x01200954, 0x01c99bcc, 0x0159e919, 0x028bcad0, 0x0014032a}}, Y: Field{[10]uint32{0x0238370a, 0x01c318bc, 0x02a58f05, 0x0291fe08, 0x024e1bee, 0x00f77495, 0x019dccf7, 0x03235ab8, 0x02d075df, 0x0010211f}}}, + {X: Field{[10]uint32{0x024c3aff, 0x017bb135, 0x01557c52, 0x021dbea1, 0x037bcd8b, 0x008ee24e, 0x0346191e, 0x018b156d, 0x0186a239, 0x000c158a}}, Y: Field{[10]uint32{0x00577a53, 0x00dd41e0, 0x01fe9373, 0x02622975, 0x00e19d8d, 0x02ed5519, 0x020c0347, 0x014e0c6d, 0x02be41c4, 0x00000b56}}}, + {X: Field{[10]uint32{0x008e422e, 0x006383ad, 0x0078f63a, 0x00ada8c1, 0x01ec7238, 0x03879881, 0x013f690b, 0x01adca7b, 0x011a3252, 0x003da1f5}}, Y: Field{[10]uint32{0x01515704, 0x0384aadf, 0x01680211, 0x033a830b, 0x00f197e2, 0x00dac56f, 0x014da2ed, 0x013debf1, 0x033519c9, 0x003bf386}}}, + {X: Field{[10]uint32{0x01ca505d, 0x022133e8, 0x01018472, 0x029f7a99, 0x0322199e, 0x0002b9fa, 0x00e207e5, 0x00d47327, 0x03f0d385, 0x00041298}}, Y: Field{[10]uint32{0x00239cc5, 0x02b12a0c, 0x0267ce05, 0x03a4cf4b, 0x00a6de0b, 0x028a8bb7, 0x031600a0, 0x002cf16b, 0x008750b2, 0x001a7086}}}, + {X: Field{[10]uint32{0x0280fc6e, 0x02b268fa, 0x01c035e6, 0x02f50c0a, 0x02eb3d59, 0x03d34a56, 0x03963e2f, 0x023286af, 0x00994b7b, 0x00142598}}, Y: Field{[10]uint32{0x027287b1, 0x018eb7cc, 0x02519729, 0x029ef22b, 0x0256be56, 0x0152ba8f, 0x02116748, 0x0066c604, 0x01cd40d0, 0x00352162}}}, + {X: Field{[10]uint32{0x00513c95, 0x033e23d5, 0x02a0dd22, 0x027f4721, 0x007ac22e, 0x02c3cb1f, 0x0388e85e, 0x0384d475, 0x02e794e5, 0x000c41b5}}, Y: Field{[10]uint32{0x03a2bca0, 0x02612f4b, 0x00dfadbf, 0x02320b3a, 0x004ad288, 0x0001ab86, 0x02849d84, 0x02330a64, 0x013c0456, 0x00301796}}}, + {X: Field{[10]uint32{0x0059fdce, 0x0053db88, 0x01235e79, 0x010f79a0, 0x03d1081b, 0x00ee7973, 0x0376ac71, 0x02f73a13, 0x011c9977, 0x0013259f}}, Y: Field{[10]uint32{0x008968cd, 0x02f9457a, 0x010ee206, 0x000a8a3a, 0x00fcc10d, 0x00e971f7, 0x002cb098, 0x026dd057, 0x00b2a3e9, 0x0021991c}}}, + {X: Field{[10]uint32{0x02781a52, 0x03fe440e, 0x032b2e4a, 0x000bfd78, 0x01b4027b, 0x03d63d8b, 0x00bbb7fb, 0x01dd0476, 0x0099ae8d, 0x00258c64}}, Y: Field{[10]uint32{0x03947389, 0x03717d59, 0x00ed422e, 0x0136de1f, 0x03d776eb, 0x02ee8bc2, 0x03148f8d, 0x00a1268e, 0x00740daf, 0x001b0440}}}, + {X: Field{[10]uint32{0x00247ee7, 0x00c3e8d6, 0x028b3bdf, 0x00add65c, 0x02b97224, 0x016bd5bc, 0x017406d9, 0x01b3aa77, 0x032387a3, 0x001f24ee}}, Y: Field{[10]uint32{0x02989942, 0x03136667, 0x00e018f7, 0x03db8f59, 0x0017cb34, 0x02568389, 0x0201e168, 0x01f219b6, 0x02983348, 0x00087937}}}, + {X: Field{[10]uint32{0x03f1e074, 0x02a46541, 0x01cddc3b, 0x02edf1b7, 0x01c764da, 0x021e8c8a, 0x01db1433, 0x005861b6, 0x020388de, 0x00319792}}, Y: Field{[10]uint32{0x03ca658b, 0x01266ef3, 0x0017bdaa, 0x030bf5e1, 0x0202137b, 0x0311707e, 0x0225a457, 0x016ca33a, 0x01430800, 0x003561b4}}}, + {X: Field{[10]uint32{0x00d674d5, 0x0285f619, 0x00f354d9, 0x02c6a042, 0x00381b1f, 0x0076346e, 0x01a380c7, 0x021a4af3, 0x012490c2, 0x0036256a}}, Y: Field{[10]uint32{0x03de17f5, 0x013dd61f, 0x0373d980, 0x028ac02b, 0x01c7cf2b, 0x02ef3496, 0x02f5728d, 0x0004fde7, 0x02250a63, 0x0034c2f6}}}, + {X: Field{[10]uint32{0x03def988, 0x03fc7857, 0x0113227b, 0x00e8f1fc, 0x00c892e2, 0x018f47dc, 0x03fa1640, 0x02e6efeb, 0x003a5b36, 0x0024119f}}, Y: Field{[10]uint32{0x029b15a7, 0x0320207a, 0x01568946, 0x01dc78cf, 0x02205225, 0x0288ab5d, 0x03ccb41b, 0x01f66cf3, 0x01914024, 0x0013b1c0}}}, + {X: Field{[10]uint32{0x02294c7e, 0x032b5d0f, 0x019810ab, 0x01756369, 0x03b4d38e, 0x03d4fbf1, 0x03268f78, 0x000969eb, 0x01630d0e, 0x0017340f}}, Y: Field{[10]uint32{0x002dfb3e, 0x002dc3ed, 0x007811a1, 0x010cd376, 0x00f168e0, 0x03938392, 0x01510cfe, 0x035072ac, 0x036e5517, 0x0030dca7}}}, + {X: Field{[10]uint32{0x007e964b, 0x00028943, 0x02988fc7, 0x000be601, 0x008bf69c, 0x03cd88a5, 0x01d7629b, 0x03173a8f, 0x009c652b, 0x00144c31}}, Y: Field{[10]uint32{0x032cf563, 0x0070855b, 0x0336b738, 0x008c6af8, 0x03a027ef, 0x01e910c4, 0x01f98c7b, 0x036f4c26, 0x02194bc9, 0x001f91b8}}}, + {X: Field{[10]uint32{0x02dd34da, 0x011de5a3, 0x01dbcc54, 0x0157969f, 0x02261a31, 0x02e49204, 0x01473066, 0x0353a44e, 0x002a33b8, 0x00256267}}, Y: Field{[10]uint32{0x026b7cb3, 0x03166476, 0x00a41d4d, 0x02d24e82, 0x01bac79f, 0x02f83411, 0x027277b5, 0x000a4a7a, 0x02998424, 0x002259ef}}}, + {X: Field{[10]uint32{0x0089745f, 0x01b903bd, 0x026049dd, 0x00e0b9d7, 0x036e55d2, 0x006137f3, 0x00650c88, 0x03a4fdf1, 0x00138cb3, 0x0000e4a0}}, Y: Field{[10]uint32{0x00006a52, 0x00251c7e, 0x03799587, 0x0011bed0, 0x02056bdf, 0x00bc9556, 0x01bd6d47, 0x03ce8722, 0x0298b897, 0x001c2c97}}}, + {X: Field{[10]uint32{0x0380b451, 0x0223f0cb, 0x03997fa3, 0x0034f3f1, 0x01ba7207, 0x03fc4223, 0x010497cb, 0x02fb7392, 0x0331b5fd, 0x00291f84}}, Y: Field{[10]uint32{0x01576b19, 0x00999baa, 0x024ecec2, 0x01194884, 0x00062447, 0x028f32e7, 0x006c75bd, 0x00119502, 0x00befff0, 0x0032952e}}}, + {X: Field{[10]uint32{0x00cfb96a, 0x002fb478, 0x036c82d5, 0x032ed237, 0x03f1b325, 0x0020f3f4, 0x03bb1344, 0x01d4a0f2, 0x008e16c5, 0x00330698}}, Y: Field{[10]uint32{0x00cc6734, 0x0082a0ce, 0x03ab5551, 0x021ec092, 0x03591b8f, 0x02382484, 0x03b0c987, 0x02c89104, 0x024467d9, 0x0016e2b2}}}, + {X: Field{[10]uint32{0x03fc3cea, 0x003db0b0, 0x0191a5d7, 0x0075a6d6, 0x03b7438d, 0x036cef78, 0x024d1df2, 0x02ebadeb, 0x03c7591e, 0x00360d52}}, Y: Field{[10]uint32{0x02ab5ad3, 0x019bc227, 0x03a31fe2, 0x031ca601, 0x017d95af, 0x01d646fb, 0x00227039, 0x03c0fca5, 0x02936765, 0x003bf225}}}, + {X: Field{[10]uint32{0x01def8aa, 0x038f68a3, 0x01d6ff2a, 0x007138ff, 0x03481ee2, 0x03681d91, 0x02ef42e6, 0x01d02c84, 0x0163ceb2, 0x001ab072}}, Y: Field{[10]uint32{0x01164281, 0x02fcfa39, 0x00d9fb1b, 0x035c2844, 0x00c52140, 0x017c80c7, 0x0053c94f, 0x016b8915, 0x00171b6d, 0x00013f22}}}, + {X: Field{[10]uint32{0x0318b42d, 0x034b91db, 0x035c4ddd, 0x00f42803, 0x0274d4da, 0x01e3ecdb, 0x00474697, 0x010523e7, 0x0359b52e, 0x002f84c3}}, Y: Field{[10]uint32{0x03c47069, 0x0263707e, 0x01516093, 0x02e51912, 0x01c5b9f8, 0x030737d8, 0x02a7d761, 0x02962808, 0x01e2f739, 0x0005b736}}}, + {X: Field{[10]uint32{0x0063bd2f, 0x031e79b0, 0x00f3ffc3, 0x03e47e7d, 0x0124ee71, 0x018996ec, 0x0356e599, 0x012955a2, 0x00cc3986, 0x001a176e}}, Y: Field{[10]uint32{0x02b50f29, 0x02eb9721, 0x03493037, 0x02fe69d7, 0x0122b396, 0x016f8c08, 0x0333b8e0, 0x00bdf0b4, 0x01418e5b, 0x001cc29c}}}, + {X: Field{[10]uint32{0x01d743ae, 0x019bb995, 0x024eaaad, 0x02bf3c3b, 0x030f31f9, 0x026f0626, 0x025e564b, 0x01306838, 0x03f389f7, 0x000e7d07}}, Y: Field{[10]uint32{0x026c8622, 0x03948375, 0x018d88e1, 0x02cbb7e7, 0x0126fdae, 0x00ce3dce, 0x030aad09, 0x013fb94f, 0x036de25d, 0x003efa83}}}, + {X: Field{[10]uint32{0x0020ed1f, 0x02c82313, 0x01f28b12, 0x018b2fd6, 0x03c29b1b, 0x0120ef03, 0x00737b3d, 0x0258e665, 0x017441bc, 0x0035e9a5}}, Y: Field{[10]uint32{0x025ba8cb, 0x0358c6c1, 0x024ceef2, 0x027d07e0, 0x0291eea2, 0x02e68f41, 0x007ca251, 0x00563a70, 0x02dacdf8, 0x00339138}}}, + {X: Field{[10]uint32{0x01eaec9a, 0x010e57b0, 0x030ba491, 0x00717f7c, 0x0022f598, 0x00acde21, 0x02867934, 0x032edcaf, 0x01609139, 0x00216eb4}}, Y: Field{[10]uint32{0x0314dfec, 0x01a92173, 0x038db419, 0x031e10e0, 0x02362055, 0x038ff8fa, 0x01c57e88, 0x01dacac9, 0x006129e5, 0x00267f35}}}, + {X: Field{[10]uint32{0x03ea49e5, 0x007ae008, 0x0372d51a, 0x03f90842, 0x0174d986, 0x03c5f682, 0x002ffbe8, 0x0285648f, 0x02c4d428, 0x0008e02e}}, Y: Field{[10]uint32{0x02d6f54b, 0x02ac1d17, 0x0065e5a6, 0x016f4824, 0x033ca101, 0x013512ee, 0x01e38bfc, 0x031fd791, 0x0313fde4, 0x003d2bdc}}}, + {X: Field{[10]uint32{0x024f9cf2, 0x030a7f4d, 0x00e9e46f, 0x03ee253d, 0x0397c1ac, 0x0088480a, 0x019108df, 0x0077438d, 0x0359b7d6, 0x00301584}}, Y: Field{[10]uint32{0x027d83dd, 0x0004c9f4, 0x0092e029, 0x000f3b3d, 0x0275b161, 0x01433acc, 0x03ea5ff3, 0x02a7d8b3, 0x01801c72, 0x000f0ddf}}}, + {X: Field{[10]uint32{0x020c2a06, 0x010e3124, 0x00fc64ed, 0x00102962, 0x0276481c, 0x026ee96c, 0x01181d30, 0x013cabae, 0x01c10b8f, 0x001cb126}}, Y: Field{[10]uint32{0x02b1ce53, 0x000490ec, 0x01e7a72d, 0x03fecc11, 0x02f05ff8, 0x03e0af06, 0x034867b1, 0x014c50a8, 0x008e6082, 0x001b2653}}}, + {X: Field{[10]uint32{0x03cf477d, 0x0081153f, 0x026f884e, 0x0272d77c, 0x0166e02c, 0x001bfad1, 0x038e2f3f, 0x018827e3, 0x00be02b6, 0x00237a13}}, Y: Field{[10]uint32{0x002a34a6, 0x002e64dd, 0x03379641, 0x010a8067, 0x02ac9e85, 0x028edeb0, 0x0348e986, 0x01f621a4, 0x0280c4d0, 0x0031fcbd}}}, + {X: Field{[10]uint32{0x001710f2, 0x00b44b90, 0x034427d0, 0x03b98f17, 0x029a2d02, 0x021ae74b, 0x02c80488, 0x035d8b96, 0x01d86581, 0x0036ffb2}}, Y: Field{[10]uint32{0x00daafea, 0x0221a370, 0x03c90004, 0x02a26284, 0x01b46496, 0x00199236, 0x005acb59, 0x02c6b2a2, 0x03f9827b, 0x001b9847}}}, + {X: Field{[10]uint32{0x01d0453d, 0x015bc8f4, 0x037f9f24, 0x00a8a455, 0x039588dc, 0x00aab9ac, 0x010ade78, 0x03b746cf, 0x01f86099, 0x00277594}}, Y: Field{[10]uint32{0x02715ebd, 0x0282c17b, 0x018455f5, 0x017e6184, 0x03cd3f90, 0x03edb5dc, 0x00be81ad, 0x02183806, 0x0217f0d7, 0x0013db6d}}}, + {X: Field{[10]uint32{0x03d66a15, 0x00982fe6, 0x033d1926, 0x03cbe8bc, 0x02356445, 0x039823e5, 0x037a885e, 0x0378d79d, 0x021ac869, 0x000bf605}}, Y: Field{[10]uint32{0x01307f25, 0x02d3203f, 0x03daa7c6, 0x028825e1, 0x0398c6e7, 0x00b798d1, 0x00163eb1, 0x00b64ad9, 0x01e9674c, 0x00074b08}}}, + {X: Field{[10]uint32{0x029dc391, 0x03a2a128, 0x038a8495, 0x0197e21d, 0x008b6d87, 0x02503b7d, 0x01538ce4, 0x0016c8fc, 0x038924f5, 0x000fc96f}}, Y: Field{[10]uint32{0x008164f2, 0x011ca5cb, 0x03c30afd, 0x01527715, 0x00344382, 0x00b184ee, 0x02b02525, 0x001e0862, 0x01830e7e, 0x001c094d}}}, + {X: Field{[10]uint32{0x00773f0b, 0x0387b89b, 0x02b47ff2, 0x01c2d57a, 0x00467dc7, 0x021163cc, 0x033d2fe2, 0x008d13e3, 0x0359d5f7, 0x000f03c0}}, Y: Field{[10]uint32{0x02db33c7, 0x00a72a07, 0x02c7b127, 0x00c3917c, 0x00b9c250, 0x01189949, 0x0050d787, 0x0067116b, 0x0239459f, 0x0012560e}}}, + {X: Field{[10]uint32{0x02b73a15, 0x0170c20d, 0x00dd73be, 0x01c3ec5c, 0x0087e38d, 0x0283764f, 0x0045855f, 0x0177c8d8, 0x0266ec1b, 0x00158e01}}, Y: Field{[10]uint32{0x019921a7, 0x0387c29d, 0x03b117bc, 0x024e0a47, 0x00b5cbbf, 0x022be3d8, 0x0291252c, 0x02b1aa6a, 0x00f0b210, 0x001c01a4}}}, + {X: Field{[10]uint32{0x009298bd, 0x01b4bea7, 0x006738bc, 0x0007ef8f, 0x0225f902, 0x03cff11f, 0x02b228aa, 0x017dffb1, 0x010b0b9a, 0x001c729c}}, Y: Field{[10]uint32{0x039abc89, 0x027bf8cb, 0x003f8fcc, 0x028d4789, 0x02c759bc, 0x01c0566b, 0x00912871, 0x002266c6, 0x028dc075, 0x001f7494}}}, + {X: Field{[10]uint32{0x01264575, 0x00b42cd7, 0x01102511, 0x02ba09f2, 0x006ed87f, 0x02386f8f, 0x02ec20f9, 0x021439f0, 0x003cc938, 0x001e377b}}, Y: Field{[10]uint32{0x01680321, 0x01b7b6cf, 0x01ddfd48, 0x018fc5e6, 0x0022b9c1, 0x01bc6798, 0x0185048d, 0x01014321, 0x0151766a, 0x000641ca}}}, + {X: Field{[10]uint32{0x034ed70b, 0x01aacf1e, 0x0267f322, 0x0127b40f, 0x02058132, 0x00f6b0a6, 0x02709509, 0x0215fa31, 0x02fd8852, 0x0026abae}}, Y: Field{[10]uint32{0x0305fffb, 0x033b34d1, 0x0271c7b9, 0x033101ae, 0x032457bd, 0x00f134bc, 0x01e13bca, 0x02f54419, 0x02ccb541, 0x00231a8a}}}, + {X: Field{[10]uint32{0x032f79e2, 0x00af96f6, 0x01bcc6d1, 0x01a882ae, 0x01a3096a, 0x02e6fc4e, 0x016c7b28, 0x0203f768, 0x02749411, 0x00161bb2}}, Y: Field{[10]uint32{0x03488d71, 0x039be4e8, 0x02ad5bfd, 0x03795805, 0x020ac4bf, 0x009a887a, 0x005a7f80, 0x002796bf, 0x01123616, 0x0002cec7}}}, + {X: Field{[10]uint32{0x0150ddf8, 0x00e060e3, 0x0397ee36, 0x02c4dab3, 0x03c0e0b6, 0x0330fb98, 0x03ed7d40, 0x0378b21b, 0x003edbe4, 0x000615ef}}, Y: Field{[10]uint32{0x00275363, 0x0293d923, 0x01835119, 0x02df3168, 0x028a7fbd, 0x016119d6, 0x0359c673, 0x022337b1, 0x007be7a5, 0x003a97a0}}}, + {X: Field{[10]uint32{0x00e5b01a, 0x0361599e, 0x037ba863, 0x02589fd7, 0x03642067, 0x032e204e, 0x022a6cdb, 0x00b18800, 0x03440757, 0x002a9331}}, Y: Field{[10]uint32{0x03a2f836, 0x03c267e3, 0x008bff39, 0x0236bdf8, 0x01a4a97b, 0x00e08698, 0x03b7f9bb, 0x00912a68, 0x02c9d259, 0x002ea5a6}}}, + {X: Field{[10]uint32{0x004f36aa, 0x01368d48, 0x02179e79, 0x01af2c9d, 0x030d6f73, 0x010f6173, 0x005fad0a, 0x010d9da2, 0x00095917, 0x0011623b}}, Y: Field{[10]uint32{0x00c7c62e, 0x021bd2c3, 0x01c3702f, 0x024a9532, 0x03a95116, 0x0372eb8e, 0x01c89d10, 0x02071bb8, 0x027ecdc6, 0x003ee0d7}}}, + {X: Field{[10]uint32{0x0080653c, 0x02cc447a, 0x00a4eca3, 0x00881408, 0x0025ce66, 0x00bdec7f, 0x0233f227, 0x017e1a67, 0x01037a3e, 0x00219eb3}}, Y: Field{[10]uint32{0x01764646, 0x01fceb49, 0x03946d8d, 0x013975b3, 0x02639cd9, 0x03d91903, 0x009ba3cf, 0x03e414c9, 0x02c757d3, 0x003a444a}}}, + {X: Field{[10]uint32{0x02df370b, 0x03f576c9, 0x03c13318, 0x013d185b, 0x00b52781, 0x026b8ef5, 0x02e46630, 0x007708a2, 0x0169e4f8, 0x00178290}}, Y: Field{[10]uint32{0x0140d001, 0x03e2b74c, 0x00ca9e58, 0x009232cd, 0x00c38cd6, 0x02eb2b53, 0x022e32c3, 0x024d3afb, 0x01a8fc23, 0x0016f4cd}}}, + {X: Field{[10]uint32{0x0101c0f6, 0x02d3ffec, 0x00263663, 0x028eb7fa, 0x01542a55, 0x00aa0bc5, 0x01b2e578, 0x0090606d, 0x006939df, 0x0024014d}}, Y: Field{[10]uint32{0x03e3d991, 0x007a944d, 0x01476e3f, 0x01e0e86c, 0x01744607, 0x0270e978, 0x00f38378, 0x0217da16, 0x01899739, 0x0013fc35}}}, + {X: Field{[10]uint32{0x03cec63f, 0x030ec358, 0x035618f4, 0x01dc8a9c, 0x004e2db0, 0x0242c540, 0x0232f33d, 0x00cee81a, 0x01a553df, 0x002a650e}}, Y: Field{[10]uint32{0x01656cd4, 0x0108f6ce, 0x00e7e7e6, 0x0317dc0f, 0x026f9c1f, 0x0139a61f, 0x01cd8a2e, 0x031ddfaa, 0x0129f11f, 0x00066382}}}, + {X: Field{[10]uint32{0x03085282, 0x00bf7c57, 0x00355a0e, 0x02c42de3, 0x031c7789, 0x020aa8b9, 0x03ab71df, 0x02e85323, 0x01361381, 0x00147ca8}}, Y: Field{[10]uint32{0x032d16a2, 0x0065f3fa, 0x00ea5a97, 0x009a124d, 0x026e2b7b, 0x00c65e8f, 0x0323bbe4, 0x03fa935b, 0x029fca15, 0x003f57c4}}}, + {X: Field{[10]uint32{0x02a91d3a, 0x014c560b, 0x0368e820, 0x02e3d507, 0x03bed208, 0x019316d3, 0x01097778, 0x012cb265, 0x001c8b06, 0x000ea47e}}, Y: Field{[10]uint32{0x03a513c9, 0x01ce8048, 0x00404085, 0x0252d804, 0x00a542b5, 0x01616a3a, 0x0077329e, 0x00e78654, 0x003ad4ae, 0x00275640}}}, + {X: Field{[10]uint32{0x0336c5c8, 0x01abc665, 0x03462105, 0x02138502, 0x005e491e, 0x01ca3045, 0x0026deee, 0x03e85cfc, 0x0150aa22, 0x001c7a67}}, Y: Field{[10]uint32{0x036a4995, 0x019fb105, 0x03b2653f, 0x038e6ec2, 0x03699806, 0x03651f9d, 0x02627291, 0x022119f1, 0x03776858, 0x003fcf93}}}, + {X: Field{[10]uint32{0x008aaa39, 0x0248005f, 0x0180e6d3, 0x003ba166, 0x0046f745, 0x0338bcf3, 0x0353286a, 0x0113dcfe, 0x02933a03, 0x002b4527}}, Y: Field{[10]uint32{0x009e81bd, 0x03dbeba4, 0x03e3f2a4, 0x00ffc455, 0x0165a5ab, 0x026a0de2, 0x03140603, 0x03cd52d3, 0x039885a4, 0x001f6fd1}}}, + {X: Field{[10]uint32{0x011ccb01, 0x011fe45d, 0x00c321a2, 0x035dfaef, 0x0286e79e, 0x025a4417, 0x000ca207, 0x023db129, 0x037f5ad7, 0x00113c28}}, Y: Field{[10]uint32{0x0353044a, 0x01255570, 0x01905af6, 0x02684a24, 0x0070836d, 0x019ad44a, 0x031e5590, 0x02cfefbe, 0x0067911e, 0x003d0136}}}, + {X: Field{[10]uint32{0x0330ad5d, 0x00e29842, 0x02c1dc0d, 0x038ec9c7, 0x0050f5c0, 0x025c5e1a, 0x00a4a8b2, 0x03823130, 0x00c3de8d, 0x0013ddf7}}, Y: Field{[10]uint32{0x01f57c69, 0x00da8e53, 0x032fa558, 0x000201bb, 0x0358dc73, 0x002a996c, 0x018aa5ab, 0x003ba484, 0x024f8ae8, 0x001cf1d0}}}, + {X: Field{[10]uint32{0x02005555, 0x01c4dc79, 0x01c0d38d, 0x0093978b, 0x016d6d5c, 0x03bd9630, 0x026efd38, 0x00248d8d, 0x008b102a, 0x001e5284}}, Y: Field{[10]uint32{0x0246ba2c, 0x03d9cdf3, 0x03f751a6, 0x012d7f72, 0x007c9e30, 0x007e11e6, 0x02cf0fdc, 0x024141a6, 0x01efefd7, 0x0021c659}}}, + {X: Field{[10]uint32{0x00e8e594, 0x029235c5, 0x003a822d, 0x01f3a8c2, 0x02a72e29, 0x0282c494, 0x01bd49f5, 0x0218eb7d, 0x0161234b, 0x003c6621}}, Y: Field{[10]uint32{0x003fc418, 0x03acd86a, 0x0203fca6, 0x01cf4c6a, 0x03abd2f5, 0x03f68fe3, 0x0036612d, 0x01468630, 0x0107d0ab, 0x001eb6e9}}}, + {X: Field{[10]uint32{0x003f4a80, 0x02862f73, 0x01c75491, 0x036fe0b4, 0x02f3fd27, 0x01e42abb, 0x0249b8f7, 0x026781c4, 0x0156c07c, 0x00122fb5}}, Y: Field{[10]uint32{0x02316e94, 0x00795559, 0x03543856, 0x008b5250, 0x0046cf01, 0x03976f2a, 0x00dd08cb, 0x0106346d, 0x028021be, 0x00276b94}}}, + {X: Field{[10]uint32{0x003ab9c1, 0x032ccfe5, 0x00a1f3bf, 0x02ff0b72, 0x00ec8449, 0x01d2eb1d, 0x0376fef9, 0x01e74e3c, 0x03fbe537, 0x002effbc}}, Y: Field{[10]uint32{0x0312551b, 0x01b1b378, 0x030b0800, 0x018e1200, 0x00ed4625, 0x02f83aa3, 0x010e8495, 0x022bff18, 0x0372ee79, 0x002fa96d}}}, + {X: Field{[10]uint32{0x015b7f06, 0x01d2f582, 0x0212e00b, 0x02bfbaf0, 0x00156839, 0x03305d71, 0x006b04be, 0x033548e0, 0x001527b3, 0x0010abcd}}, Y: Field{[10]uint32{0x01dcef4f, 0x02d1b7d6, 0x021370e7, 0x006096fe, 0x00f91a55, 0x02237a60, 0x036d0961, 0x01bfd88d, 0x03e5ebf1, 0x001a1b97}}}, + {X: Field{[10]uint32{0x01ce10e6, 0x037849dc, 0x00d6938a, 0x00990309, 0x02307497, 0x0162df57, 0x03ea376d, 0x021f11bb, 0x038b74ae, 0x000f15b5}}, Y: Field{[10]uint32{0x00d54a41, 0x00c9d492, 0x03883507, 0x002d446f, 0x0039fed0, 0x0328af1b, 0x023b36b6, 0x0388574d, 0x02ccf9d1, 0x0033a5f7}}}, + {X: Field{[10]uint32{0x0389b61a, 0x03f6c26d, 0x0291d33a, 0x0073693c, 0x0267b52a, 0x0123da73, 0x02404a9e, 0x03bc2ab9, 0x01991944, 0x0012c489}}, Y: Field{[10]uint32{0x02089571, 0x02ef99ad, 0x0211bf3e, 0x0201e391, 0x0062b1bc, 0x01b64af0, 0x037932cb, 0x03e6494d, 0x035027a3, 0x001722f8}}}, + {X: Field{[10]uint32{0x00d49db5, 0x01cd4346, 0x03e9acd3, 0x0154ac02, 0x01716749, 0x01363167, 0x0258f181, 0x024c528d, 0x0067c02c, 0x0002790a}}, Y: Field{[10]uint32{0x03a8c761, 0x025df1c5, 0x01d0d831, 0x0079b635, 0x0039f65b, 0x03f8833c, 0x003155da, 0x0035cf5e, 0x00351ff9, 0x001749b4}}}, + {X: Field{[10]uint32{0x035359ae, 0x036e5cc9, 0x00b94402, 0x007976f6, 0x00306ab3, 0x01efdbea, 0x0027d0d4, 0x014d14a8, 0x010c05a9, 0x002590ce}}, Y: Field{[10]uint32{0x027a3933, 0x025c86ac, 0x000cea69, 0x00b7d657, 0x03abbf49, 0x003ef52e, 0x03560d05, 0x03a70748, 0x03f71019, 0x002cd535}}}, + {X: Field{[10]uint32{0x02126b69, 0x03d5881f, 0x01f77bac, 0x0213faba, 0x021b6f78, 0x007c55e0, 0x01374f90, 0x01f7ad41, 0x02fb86f7, 0x0022d245}}, Y: Field{[10]uint32{0x00be1fd4, 0x032cc98a, 0x00213816, 0x03cd93e7, 0x02ce6d2a, 0x02f21feb, 0x01c3d59c, 0x036c4c15, 0x03c06d86, 0x000026a0}}}, + {X: Field{[10]uint32{0x00054b9f, 0x00f3c334, 0x02ff37ba, 0x03fa554b, 0x0011de8e, 0x021223df, 0x01ee9abb, 0x020b107d, 0x034b1097, 0x00034a77}}, Y: Field{[10]uint32{0x00ca07a8, 0x01826050, 0x03d1c98a, 0x01106627, 0x00d1a5a4, 0x01e6da02, 0x03e08f6a, 0x00b13c2e, 0x0237ea24, 0x0006fc18}}}, + {X: Field{[10]uint32{0x01dbd41d, 0x02e3a9c8, 0x01ede203, 0x019481b7, 0x03d4a202, 0x01444eb2, 0x01167d05, 0x0141114e, 0x017ba540, 0x000aabce}}, Y: Field{[10]uint32{0x02f73081, 0x022087a7, 0x03c6663d, 0x03093dec, 0x00013a81, 0x028cbcc2, 0x024b4a8a, 0x02eeb247, 0x02c71132, 0x000dd38c}}}, + {X: Field{[10]uint32{0x0357ef48, 0x004cfe73, 0x03b817b1, 0x0251762d, 0x001ca58a, 0x02da8e63, 0x03d287c8, 0x0339ae3a, 0x03d223ea, 0x00088e6c}}, Y: Field{[10]uint32{0x02b4cd46, 0x032f50f8, 0x03bda94c, 0x03ecf93a, 0x00f01d70, 0x02380fca, 0x02f4b267, 0x02a2c822, 0x00b74b54, 0x003f6a20}}}, + {X: Field{[10]uint32{0x03c7e365, 0x03b18929, 0x00f62e86, 0x00ce7c95, 0x01b88ee2, 0x007b6c51, 0x01c91785, 0x01cb7dfb, 0x03bcf47e, 0x0022cca1}}, Y: Field{[10]uint32{0x01fecabb, 0x03c3c802, 0x005be321, 0x01a47ad8, 0x00db6d99, 0x0030f4df, 0x0100868c, 0x0355397e, 0x03c09f60, 0x0015281a}}}, + {X: Field{[10]uint32{0x004f7993, 0x026072a6, 0x0136dd8d, 0x031c935b, 0x01ace742, 0x03a1d4e7, 0x017e1ff3, 0x03fba443, 0x02a33e3c, 0x00366b33}}, Y: Field{[10]uint32{0x027dc88b, 0x018e2a10, 0x02690565, 0x02055097, 0x0162947f, 0x0082f40b, 0x00f5a05a, 0x03974b63, 0x034aa901, 0x001ab725}}}, + {X: Field{[10]uint32{0x00b3206d, 0x03cab96a, 0x036b308d, 0x036902e3, 0x004af245, 0x01d3b80e, 0x0292b504, 0x0122f799, 0x03f834c3, 0x0035ff15}}, Y: Field{[10]uint32{0x004e2d19, 0x034acc09, 0x03406e38, 0x02c47e6b, 0x000231ed, 0x01b6c0c9, 0x028e04ba, 0x027faa6c, 0x024b41fd, 0x0002c94f}}}, + {X: Field{[10]uint32{0x00d9588a, 0x016d70c5, 0x015059ad, 0x0181e88f, 0x02b815f6, 0x02540878, 0x0334e165, 0x005024da, 0x03e0ec4a, 0x00096023}}, Y: Field{[10]uint32{0x018e7b96, 0x01e63df1, 0x00ec66f4, 0x01b3a2ef, 0x03a75bc1, 0x02e77c7f, 0x00a1eefb, 0x01bbe232, 0x02d5b1d4, 0x00341992}}}, + {X: Field{[10]uint32{0x01927914, 0x01ba84e6, 0x01ecc322, 0x01d8a68e, 0x0359e67a, 0x00368d69, 0x0152fa57, 0x015759c8, 0x03801139, 0x003911d1}}, Y: Field{[10]uint32{0x03793bee, 0x037cfe50, 0x035eac1a, 0x034a0dfb, 0x02ad4eb3, 0x0159b1e3, 0x02834d33, 0x00121b69, 0x0170aa2f, 0x00124f30}}}, + {X: Field{[10]uint32{0x026311ad, 0x000ae444, 0x02f11476, 0x02160b51, 0x0244e2b9, 0x0003c411, 0x01dd900d, 0x035c19db, 0x01be2af9, 0x00314103}}, Y: Field{[10]uint32{0x024ddb15, 0x0234a00c, 0x0186b91a, 0x006c41dd, 0x01a7cabc, 0x01e2a739, 0x01b64667, 0x0185c732, 0x0311a231, 0x002102aa}}}, + {X: Field{[10]uint32{0x037d9f14, 0x008a3ad0, 0x023a812a, 0x013e4ef6, 0x008116cd, 0x0311f539, 0x03ca1236, 0x00cface9, 0x03aa316d, 0x0008ce46}}, Y: Field{[10]uint32{0x037efd4d, 0x02d53d72, 0x00b7f1eb, 0x01e71f2e, 0x010bc97c, 0x01b63446, 0x00a69aff, 0x01dbf007, 0x001d9e6d, 0x0007604d}}}, + {X: Field{[10]uint32{0x0039ac38, 0x02acd3ef, 0x01eb945e, 0x036302e5, 0x008aeb8f, 0x03ace525, 0x006682cb, 0x02e9c8bf, 0x03563de3, 0x0004c845}}, Y: Field{[10]uint32{0x0174f006, 0x02e6b623, 0x013df89e, 0x001506dd, 0x01aa5279, 0x009b2fee, 0x0161431e, 0x00208df2, 0x03218a4b, 0x0026ddc9}}}, + {X: Field{[10]uint32{0x02789708, 0x01dea56e, 0x0096d2ff, 0x00eebfba, 0x01708b94, 0x02d735f8, 0x00f896bb, 0x00bf1e87, 0x0098b27a, 0x000ee2ee}}, Y: Field{[10]uint32{0x0136c1cb, 0x00403227, 0x028c9248, 0x01e70d01, 0x027fdcbf, 0x02858d77, 0x01e13e96, 0x000f9568, 0x001c6680, 0x00360795}}}, + {X: Field{[10]uint32{0x00217b4d, 0x03a267f8, 0x02e21c7c, 0x00b20568, 0x03d94f16, 0x0300103f, 0x005e4f55, 0x0312eb14, 0x022c9af5, 0x003875c2}}, Y: Field{[10]uint32{0x03a4532e, 0x00f3fb25, 0x0212c2fd, 0x02679e70, 0x01eb063b, 0x00ac794f, 0x006d66de, 0x00392cda, 0x00d6d20e, 0x002c958c}}}, + {X: Field{[10]uint32{0x0112de1c, 0x02aa9ef6, 0x001b5ff1, 0x0320c3ed, 0x03a7e681, 0x00acdb7f, 0x00f0c56e, 0x01e3eb4e, 0x0023a517, 0x0006c78e}}, Y: Field{[10]uint32{0x0184d4c1, 0x00ffcc89, 0x0116cd59, 0x009a0ca0, 0x03bebe16, 0x02fdff49, 0x03258556, 0x00807739, 0x0290a951, 0x003cba66}}}, + {X: Field{[10]uint32{0x01bda7a1, 0x03dca088, 0x03102e48, 0x00703640, 0x018745a9, 0x017919f8, 0x01348175, 0x018644b0, 0x003894f5, 0x00078c76}}, Y: Field{[10]uint32{0x00d610ce, 0x0232531f, 0x03aee504, 0x009d0480, 0x02477a7b, 0x03e0225b, 0x002c6d97, 0x03863cf0, 0x038835da, 0x0004773b}}}, + {X: Field{[10]uint32{0x02b7100e, 0x02c0c062, 0x0028c422, 0x01e946d4, 0x03311f68, 0x02f0ed25, 0x027a7ff2, 0x02f266fd, 0x0034795c, 0x00032e6b}}, Y: Field{[10]uint32{0x00d0db1d, 0x01120d8f, 0x0332074e, 0x03762913, 0x03e5ff32, 0x023704fd, 0x01e95e9a, 0x02cd7380, 0x0221c804, 0x001797c1}}}, + {X: Field{[10]uint32{0x00e11c1b, 0x01ce0d6d, 0x020ce56c, 0x0213c028, 0x0024dcb8, 0x02995b12, 0x02326fa1, 0x02b4e283, 0x02c4067d, 0x002bf0d2}}, Y: Field{[10]uint32{0x00bdcb96, 0x00204d8a, 0x01de1d75, 0x02baff1b, 0x0377a033, 0x000b0432, 0x02ef031a, 0x0191e8e0, 0x00043f6d, 0x00322c71}}}, + {X: Field{[10]uint32{0x0270aa81, 0x03e17ef8, 0x0273e603, 0x00d9e9e0, 0x023330f6, 0x02e85384, 0x01430bc0, 0x02ae8586, 0x0160ca85, 0x000e9bf0}}, Y: Field{[10]uint32{0x0222bc0a, 0x01d36e80, 0x001bb617, 0x03246709, 0x02cb72cf, 0x01c1ef0c, 0x01a7a483, 0x02ce4251, 0x037286db, 0x0016528a}}}, + {X: Field{[10]uint32{0x033ce7d4, 0x00658050, 0x02e4346b, 0x02a38fab, 0x01bdc1e4, 0x03c637af, 0x024f56ea, 0x0270e8fd, 0x0295657c, 0x002a103d}}, Y: Field{[10]uint32{0x02126fbc, 0x007d27fa, 0x0269d7a4, 0x0091c9cc, 0x031a77b8, 0x030004c6, 0x01eae96b, 0x038b7d18, 0x02c0ca41, 0x0022a29e}}}, + {X: Field{[10]uint32{0x000a39d6, 0x027602ba, 0x033e55f6, 0x018b5b83, 0x0065cd77, 0x028a4c9a, 0x01d08c34, 0x01a4530e, 0x020170ec, 0x00030113}}, Y: Field{[10]uint32{0x020b4657, 0x02fe488e, 0x0052a92d, 0x01ee4816, 0x036dd5fd, 0x00be5ecd, 0x02e0b5ec, 0x00545897, 0x00827ae5, 0x001ef58c}}}, + {X: Field{[10]uint32{0x02a00b3a, 0x0377a53a, 0x00b2aa89, 0x00690769, 0x002bf927, 0x033f74a2, 0x01eb5c67, 0x025a6c11, 0x035b352b, 0x0032e404}}, Y: Field{[10]uint32{0x0179be93, 0x012d858b, 0x00b492a8, 0x00b1498d, 0x03b4dac8, 0x009dea3d, 0x00b6d267, 0x026c47f9, 0x00a0762d, 0x000532fb}}}, + {X: Field{[10]uint32{0x03182a0e, 0x03213402, 0x02963c58, 0x01d9d7a9, 0x03c82166, 0x02a92a3f, 0x007c0633, 0x02ac3c87, 0x0037a24d, 0x003e9ef1}}, Y: Field{[10]uint32{0x01a5aa35, 0x03bb9534, 0x0244b383, 0x0051007c, 0x00fdf721, 0x0124d678, 0x0109326c, 0x0031adb7, 0x03c6d730, 0x00389099}}}, + {X: Field{[10]uint32{0x03b3299a, 0x00701795, 0x02fcdd0c, 0x015cef22, 0x0035e956, 0x0054ceb6, 0x032bef99, 0x00f494de, 0x00dd3f50, 0x00398d53}}, Y: Field{[10]uint32{0x019ead7f, 0x0342e1a1, 0x01a0a3c4, 0x03cfd72b, 0x03cdc2b6, 0x03a7be71, 0x01955b9a, 0x03228662, 0x03706291, 0x0035b05e}}}, + {X: Field{[10]uint32{0x0345cce8, 0x00ebc7ee, 0x0053b048, 0x00f4afc1, 0x02132ec2, 0x0035f604, 0x00dce9d5, 0x00578f7c, 0x013007e8, 0x002768d9}}, Y: Field{[10]uint32{0x0067a8dc, 0x02639474, 0x0109ebd2, 0x008c8bd3, 0x013bbc4b, 0x02426ba4, 0x02a1b102, 0x022b3aa1, 0x016698a2, 0x002ecdd1}}}, + {X: Field{[10]uint32{0x00c9d4db, 0x0066e28e, 0x011ba763, 0x02208b5a, 0x0213b257, 0x0105aa21, 0x02d1c3ba, 0x03371c1b, 0x021e1a19, 0x0037115e}}, Y: Field{[10]uint32{0x03dc3b58, 0x03a04fee, 0x01776dfc, 0x0363e0a1, 0x0385e25b, 0x02518e29, 0x01919fa2, 0x01943752, 0x0366de5a, 0x000e7e4f}}}, + {X: Field{[10]uint32{0x00f0374d, 0x02760ab3, 0x009a962b, 0x01badece, 0x03ec216c, 0x0132915b, 0x0357bc66, 0x003a617f, 0x031f1b1a, 0x002c8dde}}, Y: Field{[10]uint32{0x03578c1a, 0x00666b1d, 0x02db5dac, 0x030188ca, 0x027a040f, 0x00fae5d1, 0x0114e74b, 0x014272fc, 0x0180d723, 0x000e0e95}}}, + {X: Field{[10]uint32{0x00fc7e50, 0x0144492b, 0x01f65780, 0x03381797, 0x002a5a86, 0x02570936, 0x011fabeb, 0x00ea14e1, 0x0046755d, 0x0022c699}}, Y: Field{[10]uint32{0x0255cf75, 0x03ccd1a5, 0x036231ca, 0x01850e32, 0x01ed1cd4, 0x024a96ff, 0x0288aef1, 0x00a99d46, 0x01d4cb63, 0x0010ae21}}}, + {X: Field{[10]uint32{0x0103f5b1, 0x029bfc94, 0x01b3e7d5, 0x0288c285, 0x03c3a7ef, 0x00ea41e9, 0x01f14162, 0x00683279, 0x019cbacf, 0x00250220}}, Y: Field{[10]uint32{0x00506f98, 0x031a32c3, 0x0056b0d6, 0x00c32ec9, 0x021df08c, 0x002ade68, 0x0107451f, 0x013dcff4, 0x02c9d6f8, 0x002a5d63}}}, + {X: Field{[10]uint32{0x006ce25c, 0x00661c2c, 0x013ee9c3, 0x01cf090f, 0x029ce6d4, 0x02213693, 0x017c933a, 0x03e32e67, 0x004707b3, 0x0022ffbc}}, Y: Field{[10]uint32{0x03e5c498, 0x00f04b3d, 0x03e37ca7, 0x0213a281, 0x00627f1d, 0x00c05f16, 0x00d17ee8, 0x02bc5d54, 0x01870d06, 0x0022ef2f}}}, + {X: Field{[10]uint32{0x014bdb61, 0x034a52d0, 0x03cc0dc1, 0x01ff0e00, 0x018eff64, 0x037d60be, 0x00b84b8a, 0x000b8477, 0x03f0c122, 0x0000aa15}}, Y: Field{[10]uint32{0x02db6548, 0x003bfb11, 0x029afe43, 0x0076bdfe, 0x0262c8ae, 0x023a88ea, 0x00af8c64, 0x024c6091, 0x016da7fd, 0x0026eb11}}}, + {X: Field{[10]uint32{0x015cb5ec, 0x00eb2d97, 0x0083525e, 0x039a924f, 0x03b94b1e, 0x03fd4f9a, 0x006b2242, 0x017b4c34, 0x005a9048, 0x0024dee3}}, Y: Field{[10]uint32{0x03ccd808, 0x02c9d9a9, 0x02788da3, 0x019fa6df, 0x02c9c3d8, 0x038d9b29, 0x035a311a, 0x00dd2943, 0x036ff9fb, 0x0034dec4}}}, + {X: Field{[10]uint32{0x0243c77a, 0x0038280e, 0x001a065a, 0x00cd2248, 0x0122b249, 0x01a87971, 0x0150ff30, 0x035afb64, 0x0153e2bf, 0x0017d513}}, Y: Field{[10]uint32{0x02990f51, 0x00df82c4, 0x01562c31, 0x01f88059, 0x028f4c84, 0x01c33b4c, 0x012c4130, 0x0336605d, 0x00e28c47, 0x002ea708}}}, + {X: Field{[10]uint32{0x03c807b9, 0x025f9ea9, 0x01cbd9c2, 0x03ea0695, 0x01e3249c, 0x02e7e932, 0x0364fa7e, 0x022ebe96, 0x038890bf, 0x0019ed8c}}, Y: Field{[10]uint32{0x027625e6, 0x01876fab, 0x02567620, 0x0305b22e, 0x010d871e, 0x037e0229, 0x0354577e, 0x02e0450a, 0x02752d94, 0x00370615}}}, + {X: Field{[10]uint32{0x00439442, 0x00918a26, 0x02e2fbd3, 0x0360e1a8, 0x02b76604, 0x018ca00c, 0x012ffa3d, 0x01123e7e, 0x01d599cb, 0x00161ea7}}, Y: Field{[10]uint32{0x03ae9870, 0x035b7376, 0x03dee6b6, 0x021d47fe, 0x03488aa6, 0x036efd4c, 0x01e73ca2, 0x03ea9e92, 0x00e9a893, 0x00125a66}}}, + {X: Field{[10]uint32{0x03c29b38, 0x000a5298, 0x02a568f8, 0x00696190, 0x0218dfe5, 0x01746184, 0x00773123, 0x03fe7e04, 0x031ec576, 0x000dbede}}, Y: Field{[10]uint32{0x0166c4aa, 0x00055c85, 0x038e8a2f, 0x022586eb, 0x035c1a15, 0x01f7a298, 0x016fc1a6, 0x02c6fcb2, 0x02c9b82c, 0x000d2916}}}, + {X: Field{[10]uint32{0x01f4ba95, 0x0158931c, 0x03caef77, 0x00f5393b, 0x00ab8a27, 0x0027fd0d, 0x00f49c51, 0x03b34b76, 0x008ca0af, 0x0021edc7}}, Y: Field{[10]uint32{0x025676f9, 0x00e0b314, 0x010b81bc, 0x0286f5ab, 0x005b3626, 0x0079b672, 0x0127c56e, 0x009621d9, 0x011f5112, 0x00214645}}}, + {X: Field{[10]uint32{0x0063e040, 0x00e839e9, 0x0296cf43, 0x0262e069, 0x0000056c, 0x00ee8ec3, 0x03ed962c, 0x00dc2e8e, 0x00f2805c, 0x002b3d97}}, Y: Field{[10]uint32{0x01692d5b, 0x00ed0085, 0x023d663b, 0x008f35a3, 0x02dc7b0e, 0x00bd5fbc, 0x022762b5, 0x0385abe5, 0x029bf45b, 0x003c24e4}}}, + {X: Field{[10]uint32{0x0147acf1, 0x0011d7c8, 0x03f44899, 0x02ea04a5, 0x01e3e045, 0x00737ec7, 0x01f16740, 0x003216e4, 0x03ed8b01, 0x003824af}}, Y: Field{[10]uint32{0x03902c37, 0x01c2a61d, 0x0291b657, 0x02be2f76, 0x018c4d18, 0x0181c36a, 0x00160728, 0x01a0f790, 0x0042ecc8, 0x00382ee6}}}, + {X: Field{[10]uint32{0x010a52ae, 0x021c7298, 0x0269197c, 0x01fca3b3, 0x03ba386b, 0x01c14076, 0x0012735c, 0x02f2fc5e, 0x03b98260, 0x0026f7f5}}, Y: Field{[10]uint32{0x02371eeb, 0x033f7ad7, 0x00d9affb, 0x01e10188, 0x00887d9a, 0x017d427d, 0x01e01baa, 0x013339cc, 0x03983f8c, 0x0026f194}}}, + {X: Field{[10]uint32{0x0243545f, 0x028be0a1, 0x0240e9a4, 0x00361a90, 0x00afc8a8, 0x00255087, 0x005587a9, 0x00562572, 0x0321d931, 0x000f6c88}}, Y: Field{[10]uint32{0x03b78eae, 0x03dcd263, 0x028bfddb, 0x01153bf1, 0x02fdd6bb, 0x02c6651f, 0x0323c9af, 0x021a3783, 0x00b82c57, 0x0010abcc}}}, + {X: Field{[10]uint32{0x022b3e5f, 0x009e5858, 0x03da6256, 0x01908b4d, 0x03c3757a, 0x01790fe8, 0x02decbdc, 0x01fff3e1, 0x0314a6a7, 0x0003a74f}}, Y: Field{[10]uint32{0x00e67de7, 0x003e060c, 0x027f02f9, 0x0210db59, 0x03fd18ee, 0x02a4b305, 0x02d0764d, 0x01c5331b, 0x03ed1e2a, 0x0020eb02}}}, + {X: Field{[10]uint32{0x0042f2a4, 0x007547a6, 0x0180f089, 0x02161a09, 0x01b31b90, 0x02b56566, 0x01448af0, 0x01221c38, 0x02e4f29b, 0x00104921}}, Y: Field{[10]uint32{0x01e7ee3d, 0x034e5fc3, 0x01a8f080, 0x01ed4c58, 0x000bc557, 0x030b9d87, 0x03bbb039, 0x019e430b, 0x01318c0d, 0x0030c716}}}, + {X: Field{[10]uint32{0x02b4ddaa, 0x00a7648d, 0x01a267c5, 0x008a92cb, 0x01609f84, 0x026add7e, 0x01afbe0c, 0x0141bf8b, 0x007141ed, 0x003a77bb}}, Y: Field{[10]uint32{0x0194a21d, 0x0251e3db, 0x039eb220, 0x01fe6b6d, 0x008dfb76, 0x034a8290, 0x006029e5, 0x00ef0b61, 0x0144d846, 0x00021ca1}}}, + {X: Field{[10]uint32{0x0264218a, 0x03f5bfec, 0x031735f0, 0x00b16f2d, 0x01bbf01c, 0x02e24978, 0x03a17612, 0x011a8208, 0x0292553c, 0x00168288}}, Y: Field{[10]uint32{0x015dbae2, 0x03455d79, 0x0009ce90, 0x025a3c14, 0x00012de6, 0x0111ffe7, 0x021f8976, 0x003c4289, 0x01f0adda, 0x000c25f3}}}, + {X: Field{[10]uint32{0x00928d1f, 0x03784681, 0x03d005ba, 0x03e7383f, 0x02563a40, 0x0344bc61, 0x01dc23d8, 0x006b46e8, 0x02378b68, 0x001272ca}}, Y: Field{[10]uint32{0x016732d6, 0x001a564f, 0x03bd632a, 0x02db89da, 0x00fbecc5, 0x0360128f, 0x015a938a, 0x017e83fc, 0x02afc0f6, 0x003c8d78}}}, + {X: Field{[10]uint32{0x0215feb3, 0x02af6e45, 0x037ccf99, 0x03521345, 0x003dd1af, 0x01887351, 0x01ad510a, 0x0045dec1, 0x00b63688, 0x003535c7}}, Y: Field{[10]uint32{0x0162645b, 0x03c4bc1d, 0x02c02ac7, 0x018fec1d, 0x035316c3, 0x0254354c, 0x02f385fa, 0x02e6c581, 0x0378de3e, 0x000eb594}}}, + {X: Field{[10]uint32{0x01bfab2f, 0x00f9908d, 0x01148b7e, 0x02e0fd1f, 0x01529c99, 0x013a1b31, 0x03798c31, 0x01b80193, 0x02e14bdd, 0x0001646c}}, Y: Field{[10]uint32{0x00fa59b0, 0x01a95a2a, 0x03aeca98, 0x022575e0, 0x0112a517, 0x028da356, 0x02bbaf12, 0x01319935, 0x0266fd2a, 0x0013da18}}}, + {X: Field{[10]uint32{0x03356876, 0x02f88d91, 0x00086970, 0x0003d262, 0x02be2534, 0x00bab277, 0x03b63c29, 0x02f124f5, 0x0085c984, 0x003b940f}}, Y: Field{[10]uint32{0x03daa47e, 0x0315cf12, 0x01ccb976, 0x02ce9faf, 0x0139449b, 0x005359c4, 0x01704e96, 0x022731d0, 0x02bb6f9e, 0x002f60a2}}}, + {X: Field{[10]uint32{0x00b3f89e, 0x03256cc5, 0x01697758, 0x0325dff5, 0x03756e78, 0x0261f0eb, 0x036a3f98, 0x0287f328, 0x03a702e5, 0x000be6d3}}, Y: Field{[10]uint32{0x00a4a15d, 0x03a85407, 0x03cf33f0, 0x03c86997, 0x03956657, 0x02427670, 0x022e1cee, 0x00f1d13a, 0x015b3d5b, 0x00259a18}}}, + {X: Field{[10]uint32{0x02fd46c3, 0x02c7249e, 0x03a6234e, 0x02f01b84, 0x02a1f4ae, 0x00a8042a, 0x012b204e, 0x0093e17e, 0x006aa341, 0x00062db4}}, Y: Field{[10]uint32{0x034bef4e, 0x00120747, 0x0264fb46, 0x029550dc, 0x03258b0b, 0x00f81e7c, 0x02624bfa, 0x0002c01f, 0x01b9bdf6, 0x0019b30c}}}, + {X: Field{[10]uint32{0x01b44ba0, 0x00c0d037, 0x016881cc, 0x013594e5, 0x0367662a, 0x00c36dba, 0x0337d0f0, 0x023763ff, 0x0163bf75, 0x000ef01e}}, Y: Field{[10]uint32{0x01057e5d, 0x01dc306b, 0x008a357d, 0x03b2dd15, 0x008e6dc1, 0x01db6dbe, 0x039a3c22, 0x026870b7, 0x02f26820, 0x00183847}}}, + {X: Field{[10]uint32{0x013a46a8, 0x026ca201, 0x01e3dd08, 0x016bc3ba, 0x0291498b, 0x0327e9a2, 0x0149af30, 0x01508ebf, 0x01d65b32, 0x0002fd61}}, Y: Field{[10]uint32{0x038e66a6, 0x033dab78, 0x00c0594b, 0x0304d147, 0x0204c000, 0x02a794e5, 0x0256e2cf, 0x012e6944, 0x00e9ea48, 0x000be251}}}, + {X: Field{[10]uint32{0x03b69294, 0x02704cf3, 0x01a7f64e, 0x00e35fc1, 0x00f0cf14, 0x007d03be, 0x01b59a91, 0x00095d75, 0x022ebe7a, 0x00221f02}}, Y: Field{[10]uint32{0x00aec5c9, 0x01c79c58, 0x02a58402, 0x0037483d, 0x019c37c3, 0x0105d524, 0x03de5949, 0x0319bd43, 0x00c84f9b, 0x00117ccd}}}, + {X: Field{[10]uint32{0x022f7d4f, 0x03e68d98, 0x0211601b, 0x027e0128, 0x003718e7, 0x030f71af, 0x0217700f, 0x00c97166, 0x02f90a73, 0x00276b5e}}, Y: Field{[10]uint32{0x02159525, 0x00a616b9, 0x03136644, 0x02b40624, 0x0140644b, 0x0227ae37, 0x02326ecb, 0x01aa531f, 0x025e099c, 0x000adf08}}}, + {X: Field{[10]uint32{0x03dd551b, 0x02116529, 0x006947cb, 0x007272be, 0x0363bcb6, 0x01cf37f3, 0x03e9a2ed, 0x00a7dd3c, 0x039572bd, 0x00211f93}}, Y: Field{[10]uint32{0x0393ee16, 0x0226856c, 0x004b81ea, 0x020a8407, 0x000f6f11, 0x01c32cd1, 0x006286d3, 0x00b18bea, 0x0282e0a9, 0x002e9bb4}}}, + {X: Field{[10]uint32{0x0047a593, 0x012bd1fc, 0x01580268, 0x00b3374f, 0x00b5d8c6, 0x02495b1c, 0x033c4b44, 0x00d80119, 0x0205df1c, 0x0009484c}}, Y: Field{[10]uint32{0x03096837, 0x018f59fb, 0x01f3c547, 0x03b10a9e, 0x0395aabf, 0x02881591, 0x022a47a8, 0x011c27eb, 0x01de05af, 0x000db720}}}, + {X: Field{[10]uint32{0x0058e87a, 0x0032f384, 0x0229ab17, 0x01c175cc, 0x0095ebfd, 0x00beca7f, 0x013a25ef, 0x037de91c, 0x00d84866, 0x001d48a3}}, Y: Field{[10]uint32{0x0012fe6d, 0x02ecc2f0, 0x03812a7d, 0x01564a6e, 0x0168a473, 0x00215105, 0x025f056c, 0x034fd3f4, 0x039bcc02, 0x003ee921}}}, + {X: Field{[10]uint32{0x01b68568, 0x036b6ed6, 0x03fe4b6a, 0x00dd0b18, 0x00981a13, 0x00109224, 0x002fb07c, 0x01f021b4, 0x01392286, 0x001d2515}}, Y: Field{[10]uint32{0x011af3e2, 0x03aed507, 0x01180341, 0x00111919, 0x013e3b8d, 0x0091f9d4, 0x030bf0b5, 0x02c6722b, 0x01178df8, 0x001f5dd2}}}, + {X: Field{[10]uint32{0x03c9b04f, 0x0383f2ff, 0x03f7a609, 0x038d5fd1, 0x0271d28c, 0x00a651bc, 0x00cbadfc, 0x038e73e8, 0x03532899, 0x001a76df}}, Y: Field{[10]uint32{0x019feabc, 0x0252d8c6, 0x011f0a66, 0x0375d928, 0x0326da7c, 0x007543e7, 0x0023ffee, 0x01576ab5, 0x03bb1032, 0x0032c090}}}, + {X: Field{[10]uint32{0x0129f8c7, 0x01cf0a4a, 0x022251d1, 0x03d54f6b, 0x02ec4aed, 0x0240be48, 0x012fc378, 0x0036f83f, 0x01c1fb4a, 0x001c9fb3}}, Y: Field{[10]uint32{0x011f453b, 0x03525799, 0x0035c224, 0x030592f0, 0x02bfc4f7, 0x015d536c, 0x0046ee5e, 0x02358199, 0x02ed1377, 0x002b96ec}}}, + {X: Field{[10]uint32{0x02f25b72, 0x0278cd1f, 0x00382b12, 0x01cd7baf, 0x01912138, 0x00b1fcaf, 0x007f5c9e, 0x01512f88, 0x018f0ec2, 0x00240f3b}}, Y: Field{[10]uint32{0x003190a6, 0x01073565, 0x00c8bb2e, 0x0255af90, 0x03ff75c7, 0x03ea2df6, 0x009bf33a, 0x00f4c57a, 0x02290ee1, 0x000845f2}}}, + {X: Field{[10]uint32{0x0203f33b, 0x02eee646, 0x02ca33a6, 0x03c200cd, 0x031c8906, 0x03f4d8dc, 0x038a5ad6, 0x03845cd8, 0x03ef5149, 0x00313519}}, Y: Field{[10]uint32{0x0229b5c7, 0x026058c1, 0x01b63bf3, 0x0033fe5d, 0x00431ad8, 0x02fcbf3b, 0x03d437ea, 0x01af3f38, 0x03244c53, 0x003a96d6}}}, + {X: Field{[10]uint32{0x0237326f, 0x0178df3a, 0x03cf9d32, 0x029b0daf, 0x01cff7a8, 0x036028bc, 0x03b2b7ad, 0x0027dec8, 0x03a65f6d, 0x0005ad5d}}, Y: Field{[10]uint32{0x009f15c1, 0x01ce4d34, 0x02dcbe90, 0x03876c68, 0x0184d98b, 0x0294a9e4, 0x00a65760, 0x0139788a, 0x00e21467, 0x00019aea}}}, + {X: Field{[10]uint32{0x0363412f, 0x0214c766, 0x01f5a676, 0x036f4afc, 0x0367fcee, 0x02f5f77d, 0x02453846, 0x02b7f387, 0x02f2e480, 0x002b52f2}}, Y: Field{[10]uint32{0x01e741ac, 0x0068e03a, 0x03f4a0a6, 0x02dd59cd, 0x00c4c891, 0x0097b9cb, 0x031b3a45, 0x003d6446, 0x03604781, 0x00147e80}}}, + {X: Field{[10]uint32{0x033b571a, 0x01ccd8b0, 0x01dd587d, 0x037b767a, 0x0151ca65, 0x006f2ce6, 0x012d776d, 0x039e1d29, 0x033852d2, 0x002c927a}}, Y: Field{[10]uint32{0x03a66258, 0x000c8c94, 0x031d9b11, 0x001a9e70, 0x0062dd77, 0x005dc25b, 0x03cd84eb, 0x03b3a020, 0x002414e4, 0x000f8982}}}, + {X: Field{[10]uint32{0x01e14a65, 0x0347b12f, 0x029dbccf, 0x0181f8ef, 0x0374dd05, 0x0274b14e, 0x0310d3a5, 0x0006ba04, 0x02c7696a, 0x0018d064}}, Y: Field{[10]uint32{0x03b0e00f, 0x03948895, 0x0154adcb, 0x03912e4a, 0x004fd4cc, 0x031e1ec6, 0x02dcd709, 0x0381df61, 0x0050e366, 0x001156d2}}}, + {X: Field{[10]uint32{0x022f5099, 0x02577312, 0x02ce6fd2, 0x03b7eec6, 0x02acc3c5, 0x0052c662, 0x02159ccc, 0x00fe0127, 0x03f50d43, 0x003fefb2}}, Y: Field{[10]uint32{0x000be3c0, 0x00779491, 0x0285caaa, 0x01a22921, 0x03dd68d3, 0x0300ee8c, 0x0089acf9, 0x01b3d0d9, 0x02ba1ec6, 0x00108b9e}}}, + {X: Field{[10]uint32{0x001868af, 0x00cf7457, 0x035ad8c1, 0x00ed4269, 0x02b6a8c8, 0x03418cb6, 0x034f1a90, 0x03a08e73, 0x00dc1067, 0x00196d31}}, Y: Field{[10]uint32{0x014d260e, 0x02b0797e, 0x026d840d, 0x005e7548, 0x0320c678, 0x01fd0a80, 0x003f8ae0, 0x01186146, 0x019dd765, 0x003df3d7}}}, + {X: Field{[10]uint32{0x03f9c67e, 0x00695826, 0x0355924c, 0x02ecd756, 0x008de48d, 0x0016e343, 0x018dbed4, 0x00d40b54, 0x00ce9d60, 0x0034e03b}}, Y: Field{[10]uint32{0x0364c128, 0x00d7e3f6, 0x013ae50c, 0x0136a02c, 0x038b241b, 0x01971827, 0x030ac152, 0x02ac427a, 0x0080fd18, 0x0006ba11}}}, + {X: Field{[10]uint32{0x0244511c, 0x0213fd33, 0x002df634, 0x03dc6741, 0x003fce43, 0x01774694, 0x00a1d961, 0x006efb5e, 0x0128b5ce, 0x0005c627}}, Y: Field{[10]uint32{0x0382350d, 0x01a91ce9, 0x03bb5759, 0x026236cb, 0x0185c532, 0x029584a2, 0x021b948b, 0x00f8e504, 0x00f47c7b, 0x003ef28a}}}, + {X: Field{[10]uint32{0x00c2e84d, 0x0160e0a0, 0x01ee73f5, 0x0393ebf3, 0x010be685, 0x02496fcf, 0x01ae4e61, 0x02c1f6a1, 0x02c2e2a8, 0x003ef8cc}}, Y: Field{[10]uint32{0x024e29ca, 0x0295e5fa, 0x00eb30e1, 0x0381ad65, 0x02b11c43, 0x026d0b2f, 0x038c6d77, 0x01f6838f, 0x03425e18, 0x002aa45c}}}, + {X: Field{[10]uint32{0x00bc834f, 0x01e58ee8, 0x0321002d, 0x03d736ab, 0x012100d1, 0x00ba7348, 0x00bd5182, 0x01c97e2d, 0x02878b5e, 0x0022e7a2}}, Y: Field{[10]uint32{0x003ed659, 0x01de8233, 0x00563bed, 0x0371154b, 0x02b2e873, 0x002d95c0, 0x031d6ad8, 0x015af57f, 0x031cc28f, 0x000cc7ec}}}, + {X: Field{[10]uint32{0x01e111ca, 0x003323a3, 0x02a3bd73, 0x022ad9a2, 0x0234e1a6, 0x032986b0, 0x02798ace, 0x02f2b45e, 0x0011a3c0, 0x0025fa49}}, Y: Field{[10]uint32{0x0147f48f, 0x0312fc5a, 0x007eb7cd, 0x01d82ebf, 0x01047949, 0x00f08690, 0x035fb759, 0x01785cb9, 0x00a4bac1, 0x002c3c5c}}}, + {X: Field{[10]uint32{0x0044eea8, 0x008ec974, 0x016919cd, 0x007f5354, 0x0349aa3c, 0x0309e55d, 0x00c76f82, 0x00f1bb32, 0x001333a1, 0x00080d62}}, Y: Field{[10]uint32{0x000c7f29, 0x00f2245e, 0x025c0ee7, 0x03c41366, 0x00259fc4, 0x037c3cd1, 0x022f9517, 0x02bc2bb3, 0x02a48c86, 0x001202be}}}, + {X: Field{[10]uint32{0x027dbcff, 0x016fade9, 0x00343a66, 0x03988adf, 0x02617579, 0x02126fbf, 0x01551039, 0x01d02a40, 0x00cb1575, 0x0032a87b}}, Y: Field{[10]uint32{0x00e0a20b, 0x0354b829, 0x02577e0b, 0x004e707a, 0x011aee51, 0x02fc10b6, 0x03d34511, 0x01cbfedb, 0x03f9f1c9, 0x002a9a56}}}, + {X: Field{[10]uint32{0x02620719, 0x028eb6f0, 0x02bbd138, 0x0279ba3c, 0x03f33104, 0x03f5ae20, 0x02a212a7, 0x01ea3bf6, 0x03a2036f, 0x00239f0a}}, Y: Field{[10]uint32{0x02ec105c, 0x01863e0b, 0x02d0220a, 0x00c47fb3, 0x00d9b6e0, 0x01de7e30, 0x006c4e2e, 0x03ecfd61, 0x002f1434, 0x002f40dc}}}, + {X: Field{[10]uint32{0x02ace975, 0x018df1ee, 0x033b24dd, 0x0046393a, 0x0388fbad, 0x00301de0, 0x03ebf094, 0x001307f3, 0x00336dcd, 0x00381f70}}, Y: Field{[10]uint32{0x032a2c2c, 0x01985aac, 0x0019510d, 0x01a14011, 0x02ef6f92, 0x02f54c55, 0x02ccf311, 0x03b2c1d8, 0x00a00e5e, 0x002c4ef4}}}, + {X: Field{[10]uint32{0x038ce0cb, 0x03e8b7ee, 0x0307297a, 0x0247470c, 0x0095aba7, 0x036c2ca3, 0x018a9044, 0x02bc0427, 0x00252679, 0x001981b2}}, Y: Field{[10]uint32{0x00e1d3cc, 0x01f2b202, 0x02054647, 0x015cdae8, 0x0310fe6c, 0x011e1a3e, 0x010de777, 0x01e64d5c, 0x019ca980, 0x001d4179}}}, + {X: Field{[10]uint32{0x01e6f061, 0x02e64d47, 0x020b522a, 0x00d4ae67, 0x022b31f9, 0x0037976b, 0x005450fb, 0x0089b02d, 0x00dcec48, 0x0027efd3}}, Y: Field{[10]uint32{0x02f850dd, 0x03e98047, 0x02c91a7d, 0x0119c0d3, 0x00e9c5b6, 0x00d8adf7, 0x020d58a2, 0x0083a182, 0x00a23da0, 0x003cb934}}}, + {X: Field{[10]uint32{0x006916bc, 0x03d8618a, 0x01b1b976, 0x019fa003, 0x00b7cc81, 0x025df4cb, 0x00b0403e, 0x03ff0a62, 0x02975195, 0x000381b5}}, Y: Field{[10]uint32{0x030bb8bb, 0x011302f0, 0x01c83632, 0x02ec3069, 0x02068302, 0x012400fa, 0x0380e04a, 0x034885eb, 0x030a27d3, 0x0020054d}}}, + {X: Field{[10]uint32{0x0293a6e2, 0x028fc2a4, 0x01a6bcf4, 0x01dfa5e1, 0x03ff7925, 0x01b85b35, 0x0112fd4e, 0x00aab194, 0x03ab021d, 0x002b7359}}, Y: Field{[10]uint32{0x03fd7fb8, 0x02970ad5, 0x0293d0fa, 0x03526d6f, 0x018e4f40, 0x01730eeb, 0x0058608f, 0x00aaa814, 0x02202906, 0x001949ed}}}, + {X: Field{[10]uint32{0x01f2bd38, 0x02fde8b8, 0x00e133e0, 0x005da244, 0x035a4473, 0x025a026c, 0x007e963d, 0x01932c46, 0x01eab43a, 0x0007641a}}, Y: Field{[10]uint32{0x01e29108, 0x037cc6a4, 0x033bbf15, 0x023e93b0, 0x00fc78c2, 0x03bd5057, 0x012f9a68, 0x023fa52b, 0x02de854b, 0x002ac0f7}}}, + {X: Field{[10]uint32{0x0220a768, 0x008b99c2, 0x0140e3a4, 0x03dca8e0, 0x03603206, 0x033a0fd2, 0x00168ae8, 0x0224bc52, 0x0376b8ec, 0x003c7dad}}, Y: Field{[10]uint32{0x01bff25a, 0x02ff2cae, 0x0345d14a, 0x01f60a9f, 0x01e7136a, 0x02ec9736, 0x019b11a7, 0x0368845f, 0x00363413, 0x00224ae8}}}, + {X: Field{[10]uint32{0x02fab379, 0x007177c7, 0x03fb0040, 0x008d0ce9, 0x03c21d1c, 0x0228b70e, 0x03a8d1bf, 0x03d3343c, 0x014ace79, 0x002a213e}}, Y: Field{[10]uint32{0x02a05c96, 0x00c3e037, 0x03082dd6, 0x03e97434, 0x03c611af, 0x03c0f77d, 0x0282fbee, 0x009233b0, 0x016c6e45, 0x0017d4cd}}}, + {X: Field{[10]uint32{0x021da9ff, 0x0203c439, 0x02fe981a, 0x0020d7a7, 0x031fb2be, 0x02d2353d, 0x00165640, 0x02200384, 0x0030197a, 0x002c6621}}, Y: Field{[10]uint32{0x01d849b9, 0x01a36393, 0x00bdf44a, 0x01057b1c, 0x000e515a, 0x01b85068, 0x027ace58, 0x004b496f, 0x024dea7d, 0x003571e1}}}, + {X: Field{[10]uint32{0x0127fedb, 0x0110d383, 0x02d4d109, 0x02ba50bd, 0x0246985a, 0x02db24ea, 0x01c1db82, 0x016e12f5, 0x02a7529d, 0x00056dce}}, Y: Field{[10]uint32{0x02721f89, 0x036af23b, 0x02262075, 0x037bcbf2, 0x00632ac6, 0x00728f50, 0x0011259b, 0x0344f108, 0x02a2bc8a, 0x000a5f8c}}}, + {X: Field{[10]uint32{0x0197d40f, 0x01de0b1f, 0x00f3f57f, 0x01e85b34, 0x038e35cc, 0x005b948f, 0x01926301, 0x007ec596, 0x02e0443c, 0x000ce69d}}, Y: Field{[10]uint32{0x01fe9659, 0x02f5dcf3, 0x02a229e5, 0x01af104e, 0x03914f0f, 0x00ed4b9b, 0x02756201, 0x01e130cf, 0x012efecd, 0x00226419}}}, + {X: Field{[10]uint32{0x027adfef, 0x02d460ed, 0x0251bf64, 0x038613d3, 0x03b1c535, 0x02c24112, 0x018312e9, 0x0376ae51, 0x00fffb80, 0x002fbc9b}}, Y: Field{[10]uint32{0x0137490b, 0x02f79167, 0x03bb5ba1, 0x03c859d6, 0x012c6943, 0x016cc43d, 0x0320518c, 0x01aa0d63, 0x029aef07, 0x000e0624}}}, + {X: Field{[10]uint32{0x00b2427e, 0x036490c2, 0x01894c71, 0x02188c49, 0x003dd40d, 0x013e46c2, 0x00dae108, 0x0309cd3d, 0x00818daf, 0x0033715b}}, Y: Field{[10]uint32{0x03503cca, 0x0041fc07, 0x02c71f07, 0x00d4fd61, 0x01b43769, 0x0155e7e4, 0x01425694, 0x00a2d511, 0x009de9c8, 0x0003d2cc}}}, + {X: Field{[10]uint32{0x0175bc6d, 0x0148039f, 0x01911cd6, 0x0298a9dd, 0x03a09312, 0x0258717e, 0x01be80a1, 0x0211e7b2, 0x0281b1f3, 0x000f77bf}}, Y: Field{[10]uint32{0x02df055d, 0x0160d615, 0x015d3a1e, 0x01442a7a, 0x027c7e2d, 0x02a001f4, 0x03fae4eb, 0x02d1e53b, 0x02dd1eb9, 0x001d760f}}}, + {X: Field{[10]uint32{0x00576826, 0x00e41044, 0x0399e763, 0x03498eab, 0x02a18879, 0x02484b3c, 0x02bae125, 0x00b2f130, 0x03769903, 0x00369f19}}, Y: Field{[10]uint32{0x00553f08, 0x02ba7cce, 0x031d0c07, 0x00f0fc72, 0x024314cc, 0x03a01a63, 0x031f7799, 0x03116e61, 0x0188360a, 0x000b9e9b}}}, + {X: Field{[10]uint32{0x0280d927, 0x02aa446a, 0x003859df, 0x0312b870, 0x02b8aba4, 0x01fd1556, 0x00faa801, 0x00831623, 0x0035e0bc, 0x0009846d}}, Y: Field{[10]uint32{0x014508d4, 0x0032b4df, 0x01b417ce, 0x03490a79, 0x00e47549, 0x0014a7eb, 0x01ff8c1c, 0x03141119, 0x001ae51d, 0x003ad63e}}}, + {X: Field{[10]uint32{0x03962961, 0x03fb1ed9, 0x027bc3de, 0x0025a516, 0x020b8f4c, 0x001adc75, 0x015aa088, 0x01f12a9c, 0x014836f0, 0x002c3ef9}}, Y: Field{[10]uint32{0x03e5abe0, 0x020694e0, 0x010de2a8, 0x02c117b9, 0x021c1749, 0x0378c328, 0x018668fe, 0x01d13431, 0x022466e7, 0x00331828}}}, + {X: Field{[10]uint32{0x01020581, 0x02ed27b2, 0x01a9eb50, 0x03ad7b7b, 0x0277d371, 0x01180f21, 0x00b7688b, 0x03b9d7eb, 0x036fdc51, 0x000680cc}}, Y: Field{[10]uint32{0x00daa7d7, 0x01c57926, 0x0218ce9f, 0x01166f9f, 0x03bd5071, 0x02b3f6f1, 0x0055fc36, 0x03b7e266, 0x030309c0, 0x000ff3c6}}}, + {X: Field{[10]uint32{0x00c159ed, 0x03b9cbde, 0x013c3810, 0x02492793, 0x020cf728, 0x00bda28d, 0x0049b20f, 0x024556aa, 0x0215c834, 0x001d8e84}}, Y: Field{[10]uint32{0x00482684, 0x03797996, 0x0390bd7d, 0x031a7ff4, 0x037b68d5, 0x007cbc89, 0x0395fbad, 0x0387b685, 0x021ccf30, 0x000de09a}}}, + {X: Field{[10]uint32{0x02da4edd, 0x00b09f72, 0x01eff63f, 0x03617e81, 0x00f7e664, 0x01bc0623, 0x020a586a, 0x00f8df73, 0x00c23018, 0x001ff1ed}}, Y: Field{[10]uint32{0x03ed6a8f, 0x0057244a, 0x03f50ac4, 0x03ebf915, 0x036338d2, 0x02af9ef3, 0x02493430, 0x02681bc1, 0x000e6ea8, 0x003f5e9e}}}, + {X: Field{[10]uint32{0x0065ddd8, 0x00984d77, 0x008d7747, 0x03f3c05b, 0x03dc543b, 0x01049623, 0x01eb7d70, 0x01bd5436, 0x03c9b068, 0x00088a01}}, Y: Field{[10]uint32{0x016cc2ab, 0x0255ec29, 0x0098b43d, 0x02d0c072, 0x029a34b2, 0x0064e4f6, 0x036d1553, 0x008bbf2c, 0x0102456c, 0x002e59c2}}}, + {X: Field{[10]uint32{0x005fda77, 0x00627c3f, 0x01603ed0, 0x01182aff, 0x02db6363, 0x028134f1, 0x0233f69c, 0x0341b9b2, 0x033698d8, 0x001e763a}}, Y: Field{[10]uint32{0x03d955f1, 0x009945c8, 0x02b28f13, 0x02789b5e, 0x02931fd4, 0x00676d48, 0x011d460e, 0x00d2a637, 0x03e11b02, 0x002fff25}}}, + {X: Field{[10]uint32{0x03add34b, 0x013449fa, 0x01dc5d46, 0x01aab223, 0x031f801a, 0x037b3db8, 0x02b77130, 0x0386db56, 0x02188e72, 0x00288d99}}, Y: Field{[10]uint32{0x03d60ed1, 0x00daaf9d, 0x03aebb17, 0x0321464f, 0x0070e99a, 0x00543fec, 0x034cd1cd, 0x00644c9d, 0x0236f3e7, 0x003bc8f6}}}, + {X: Field{[10]uint32{0x01dd9612, 0x03f06ed2, 0x013be480, 0x02cfe87c, 0x01b1fcbd, 0x00fe91a9, 0x023e8e74, 0x0205b644, 0x004ddde6, 0x002daeb4}}, Y: Field{[10]uint32{0x02a4e511, 0x02c0402d, 0x035467f1, 0x001f6566, 0x01850c65, 0x0116e02c, 0x00b7f346, 0x02c9ce9a, 0x0209a290, 0x001617eb}}}, + {X: Field{[10]uint32{0x00c3dfbd, 0x007874bd, 0x03aceb49, 0x0163cf5b, 0x0133fcbd, 0x02ed4063, 0x03113db8, 0x039c54a0, 0x00253353, 0x000afc87}}, Y: Field{[10]uint32{0x038d896e, 0x03113273, 0x033ef569, 0x03628356, 0x03b9fec4, 0x00e91ec1, 0x00491214, 0x01356f23, 0x03a74e8a, 0x0038e80c}}}, + {X: Field{[10]uint32{0x01842744, 0x03777497, 0x02dda358, 0x0099a817, 0x0041e9ad, 0x01c4247d, 0x03f3a90e, 0x038d7418, 0x0241e978, 0x0019309e}}, Y: Field{[10]uint32{0x01ae32d1, 0x0304ce4f, 0x03d27521, 0x0008ed49, 0x02bed768, 0x03f99f05, 0x00aac9ec, 0x029a5662, 0x025e08fd, 0x003f2ed8}}}, + {X: Field{[10]uint32{0x0081a58d, 0x010b4ad9, 0x03399b75, 0x02b680be, 0x00af62ac, 0x018f35f2, 0x00ef4350, 0x016d7a69, 0x02f6fdfe, 0x00188287}}, Y: Field{[10]uint32{0x01b8054f, 0x030c16b7, 0x01ae57be, 0x0317b209, 0x03a45fa7, 0x0151f880, 0x007f105c, 0x024e9be8, 0x023c5503, 0x002c2de7}}}, + {X: Field{[10]uint32{0x007b95cd, 0x01d19d4c, 0x038a1ecd, 0x014681af, 0x0215e712, 0x0093b831, 0x03ef68b4, 0x01c550d1, 0x01317cef, 0x000548fc}}, Y: Field{[10]uint32{0x00743b1d, 0x0145bffc, 0x02612bf5, 0x03154f70, 0x00a55806, 0x03c4796d, 0x01fe67a3, 0x03599370, 0x00cc1d8a, 0x0031c955}}}, + {X: Field{[10]uint32{0x02ea0cfd, 0x035ca513, 0x03700f66, 0x00f02dd4, 0x01b43f76, 0x0335cff3, 0x00d4d8c2, 0x021e5300, 0x003c0a9c, 0x0035d94c}}, Y: Field{[10]uint32{0x03bc267b, 0x0180f495, 0x02623781, 0x008ab806, 0x0035b4cd, 0x028c1937, 0x0217b73d, 0x035dea8e, 0x00a5204d, 0x002ebf2b}}}, + {X: Field{[10]uint32{0x00c468b6, 0x03c12b59, 0x01a8ea17, 0x01ed860e, 0x01ffbbf8, 0x00972f10, 0x0198759c, 0x03a59594, 0x021afafc, 0x0029d7ad}}, Y: Field{[10]uint32{0x01869873, 0x0125f659, 0x007b8041, 0x00859356, 0x03a8eba3, 0x029b5439, 0x0049b181, 0x0122a94f, 0x0093240f, 0x0026600a}}}, + {X: Field{[10]uint32{0x00e59f2a, 0x01381aef, 0x03cfa408, 0x01f6fac2, 0x01e7053f, 0x009079a4, 0x01813c71, 0x0246db09, 0x034cd0bb, 0x001fe906}}, Y: Field{[10]uint32{0x0184aec7, 0x020ec738, 0x0209f7e5, 0x00b0012a, 0x039431e2, 0x03da8b15, 0x017e7e20, 0x01a57e0c, 0x0379755a, 0x00282505}}}, + {X: Field{[10]uint32{0x02e4dbf5, 0x0333fd85, 0x03d6fcc5, 0x03ef6082, 0x033bfa1b, 0x02b889db, 0x01eb4408, 0x03c4ab63, 0x01b72240, 0x00205b03}}, Y: Field{[10]uint32{0x037e52d0, 0x0059810f, 0x02c9f67c, 0x0342a606, 0x02e57acb, 0x03dc0957, 0x009dd4bb, 0x03996251, 0x013dd91e, 0x000a94b2}}}, + {X: Field{[10]uint32{0x023414f8, 0x03725430, 0x0380fbb7, 0x021ec305, 0x00ddbb3d, 0x011a4178, 0x0390ac73, 0x00509544, 0x01f1317f, 0x000cfd8d}}, Y: Field{[10]uint32{0x014bfbcb, 0x01a950f9, 0x013bdb62, 0x02000afe, 0x01151235, 0x02f0acb0, 0x034d570b, 0x006622e5, 0x015584eb, 0x001d0d68}}}, + {X: Field{[10]uint32{0x0251999c, 0x02fb11a8, 0x00eb3e94, 0x0079ed78, 0x030bdfe1, 0x02f10e29, 0x0307185f, 0x02ec0cd4, 0x02d704b0, 0x0034a50e}}, Y: Field{[10]uint32{0x036d577e, 0x02925059, 0x0006f19a, 0x01aceffb, 0x00b6097d, 0x03fdba7f, 0x01e41def, 0x028c53af, 0x03cf19aa, 0x000b72a3}}}, + {X: Field{[10]uint32{0x01fb1da6, 0x00494967, 0x01516b01, 0x01970434, 0x00fb524b, 0x01791283, 0x0054390b, 0x01d69bfb, 0x03bfc543, 0x0009aa87}}, Y: Field{[10]uint32{0x01a91b02, 0x009380e6, 0x03a2fd4b, 0x01bc02af, 0x0083973c, 0x039fa066, 0x037d0b6e, 0x01d7380c, 0x02a604c5, 0x00127b3a}}}, + {X: Field{[10]uint32{0x03d28d20, 0x02d633e9, 0x000cd65e, 0x01f7a08c, 0x02ab1871, 0x02523cbd, 0x026d7da1, 0x0280c172, 0x001af866, 0x001e02bb}}, Y: Field{[10]uint32{0x0008b91a, 0x03ca5e2f, 0x0392992c, 0x000862ab, 0x02414b3a, 0x001edbde, 0x0075b6d1, 0x00387aa4, 0x0041e45a, 0x00369940}}}, + {X: Field{[10]uint32{0x00b88b67, 0x035b540b, 0x03b3d5ee, 0x00fca7fd, 0x01ef9811, 0x00f31079, 0x0115853b, 0x037528f9, 0x02598e59, 0x000773fc}}, Y: Field{[10]uint32{0x02b77271, 0x02005c86, 0x012f28c6, 0x02faa6ae, 0x03aed86c, 0x00e0db81, 0x014307ae, 0x01c79159, 0x02307c68, 0x0035e5e1}}}, + {X: Field{[10]uint32{0x033ff70d, 0x0223b90d, 0x00b01e24, 0x00ea736d, 0x038f336f, 0x03b38718, 0x02367eb5, 0x0064de4f, 0x00a27732, 0x002c66bd}}, Y: Field{[10]uint32{0x00821dec, 0x01357de7, 0x0241dc21, 0x0337553d, 0x03b9e73f, 0x01aa3b9c, 0x037f27a2, 0x0168b509, 0x0039a510, 0x0028faa2}}}, + {X: Field{[10]uint32{0x00f6755e, 0x01e0bdad, 0x02066acf, 0x00b69223, 0x0235f24e, 0x024c925c, 0x00b6126b, 0x0277dbca, 0x0329548a, 0x00072307}}, Y: Field{[10]uint32{0x01ff432d, 0x017be584, 0x030c9179, 0x008ea198, 0x0278108b, 0x0065a81f, 0x00c7e2a3, 0x006bb173, 0x03526a1e, 0x00069e6a}}}, + {X: Field{[10]uint32{0x015716ce, 0x00454faf, 0x021d4f0b, 0x01d44b10, 0x00e4d700, 0x010c4e5a, 0x00a10b7b, 0x030f08f2, 0x01da1ad6, 0x002dbfe3}}, Y: Field{[10]uint32{0x01ce61b8, 0x00c1be69, 0x0232d7c9, 0x030aaa1e, 0x00af8dbe, 0x036cf807, 0x00d21e4e, 0x01059f28, 0x01c6b7b7, 0x00134e1a}}}, + {X: Field{[10]uint32{0x00f47b5c, 0x012233b4, 0x02ccb375, 0x02760c39, 0x00ec08cf, 0x03e82b58, 0x00219329, 0x02a12a06, 0x00acf61b, 0x00373bfd}}, Y: Field{[10]uint32{0x0137d6f9, 0x029bad70, 0x013b1736, 0x02c0e158, 0x00fb1b8d, 0x029292aa, 0x03d5508a, 0x0186d220, 0x00e192bc, 0x002526bb}}}, + {X: Field{[10]uint32{0x00a5ebef, 0x03bacdf7, 0x01c8b131, 0x0262fa14, 0x01843ccf, 0x028f3a10, 0x004aa189, 0x01a2725f, 0x03a7b709, 0x00155879}}, Y: Field{[10]uint32{0x019a14da, 0x007c56ea, 0x015a709a, 0x029b9977, 0x0233b924, 0x01ad0528, 0x00e6b7f2, 0x02f8d90c, 0x0017f298, 0x0012c423}}}, + {X: Field{[10]uint32{0x0395a257, 0x003265e8, 0x008027ca, 0x01516cf2, 0x019c56a2, 0x038193a7, 0x025d5bb2, 0x00565423, 0x017789b0, 0x00136625}}, Y: Field{[10]uint32{0x00b6e0d0, 0x007c8850, 0x02675795, 0x03396dc1, 0x00506964, 0x016c0271, 0x03200c9f, 0x001d5b16, 0x0333ac95, 0x002abaeb}}}, + {X: Field{[10]uint32{0x033bfc8e, 0x01a84bf8, 0x03668124, 0x00befd2b, 0x00e9da51, 0x019b3201, 0x02d55a9d, 0x00f12cc2, 0x026e0637, 0x0020ad63}}, Y: Field{[10]uint32{0x025ffb38, 0x03011e06, 0x013d387c, 0x01f4bfcd, 0x01d6d757, 0x03fd310a, 0x033b5c21, 0x0078dcb0, 0x022d98dc, 0x0020de04}}}, + {X: Field{[10]uint32{0x02c6cdf3, 0x0266fa00, 0x0063ad11, 0x01d4d9a5, 0x03714c3d, 0x03beb113, 0x017d8809, 0x01e12ff9, 0x008aa773, 0x003d27ea}}, Y: Field{[10]uint32{0x0218b3f4, 0x02a8e7e6, 0x00772b96, 0x02c12608, 0x02aa9855, 0x024d20ef, 0x03e72814, 0x02904722, 0x02c02164, 0x00106bfd}}}, + {X: Field{[10]uint32{0x00efd78c, 0x031633b0, 0x03073969, 0x03c035e2, 0x010ce910, 0x030614a9, 0x01b97a78, 0x01168630, 0x01dbac84, 0x0019f521}}, Y: Field{[10]uint32{0x00981e97, 0x01bcc821, 0x034be44e, 0x02e73c67, 0x01596f49, 0x022fc1f6, 0x00aa5a82, 0x00acc57f, 0x012a24ff, 0x001c776a}}}, + {X: Field{[10]uint32{0x0304d4cd, 0x02a58411, 0x0350adb2, 0x01fa2d74, 0x0030a46f, 0x0169c5d8, 0x0399883b, 0x00e30f3f, 0x02f2c190, 0x0024517d}}, Y: Field{[10]uint32{0x0222b0bc, 0x00036f9a, 0x00add567, 0x00aedb9e, 0x036c8e42, 0x035de2ce, 0x00664d54, 0x0317f875, 0x01e7852a, 0x0027645e}}}, + {X: Field{[10]uint32{0x02b2631b, 0x00f88fd1, 0x024b3550, 0x02260237, 0x01536740, 0x001c66af, 0x033848ce, 0x03d7c473, 0x0247efc2, 0x00124b54}}, Y: Field{[10]uint32{0x008fd750, 0x02e31020, 0x00863d50, 0x002ca49c, 0x009f021d, 0x02656935, 0x0168877c, 0x032261fb, 0x03627812, 0x000dd2c1}}}, + {X: Field{[10]uint32{0x03dd1dec, 0x02072985, 0x035490a3, 0x002d1861, 0x0125c661, 0x00af6e71, 0x018d2317, 0x0059e24a, 0x03b8bb81, 0x0016e377}}, Y: Field{[10]uint32{0x031f7568, 0x028d4c5e, 0x031cea92, 0x0030fa20, 0x03c7ae17, 0x00cf53ce, 0x010dee01, 0x0086345f, 0x0364fce3, 0x002d1f4d}}}, + {X: Field{[10]uint32{0x02406c65, 0x0174c3c3, 0x02c5c6a3, 0x03af6847, 0x00063c6f, 0x035531b5, 0x01e603cc, 0x005906bd, 0x03ba25a6, 0x002236dc}}, Y: Field{[10]uint32{0x0000a753, 0x01efc6d2, 0x0056b402, 0x03843051, 0x009b8b5b, 0x00a57e30, 0x004c67ae, 0x035edc22, 0x037b1c1d, 0x000e6c1b}}}, + {X: Field{[10]uint32{0x00382451, 0x020246a7, 0x03721fb3, 0x02f78cc3, 0x032a7037, 0x02c25558, 0x0185070b, 0x007ad0b3, 0x009aa23c, 0x000d2573}}, Y: Field{[10]uint32{0x029799ef, 0x00f843ed, 0x0064dd9b, 0x013d18bf, 0x030b82ff, 0x031d55ef, 0x00299573, 0x020b7dd1, 0x03216f39, 0x001ffaae}}}, + {X: Field{[10]uint32{0x0045d7a2, 0x026994b1, 0x034f1cd6, 0x014b0676, 0x010a4f7b, 0x0348c26c, 0x03756669, 0x00431e4f, 0x02a6970e, 0x003a2973}}, Y: Field{[10]uint32{0x02402b96, 0x007c3a8c, 0x01982b96, 0x0090a536, 0x02fab476, 0x01a3a305, 0x012dbf36, 0x0166ee5b, 0x02bfbd52, 0x0036ab36}}}, + {X: Field{[10]uint32{0x03931f9a, 0x0002d0d9, 0x02e32b57, 0x03cacacb, 0x0051af33, 0x0367bf94, 0x009c4837, 0x01eb78e6, 0x038ae81a, 0x0001ba31}}, Y: Field{[10]uint32{0x00291d35, 0x038a5d4b, 0x029ca47b, 0x024cc375, 0x027d1d51, 0x038429e0, 0x035412cb, 0x01068516, 0x0104751b, 0x00395991}}}, + {X: Field{[10]uint32{0x010a539e, 0x0345c24c, 0x01208ab4, 0x02ddd137, 0x00b9551d, 0x038ea4bb, 0x011722b1, 0x016cbe0a, 0x00a3010c, 0x002e3d48}}, Y: Field{[10]uint32{0x030f3d75, 0x02474025, 0x007909e2, 0x007b641d, 0x03a96d3d, 0x0245444f, 0x026451e1, 0x00b7b63d, 0x003ab671, 0x00196407}}}, + {X: Field{[10]uint32{0x02d8005a, 0x037b02ec, 0x00adfe49, 0x029f2e01, 0x00ae0dea, 0x028b05bf, 0x00bd9173, 0x02605622, 0x00586445, 0x002814e1}}, Y: Field{[10]uint32{0x020d7a67, 0x02329b77, 0x029c8ca5, 0x022cf581, 0x03e71260, 0x02624974, 0x00dab73f, 0x0327ee24, 0x030023dc, 0x0009e20b}}}, + {X: Field{[10]uint32{0x01222144, 0x03e28145, 0x036001fa, 0x000e704b, 0x022117cf, 0x030a566f, 0x018b631f, 0x0024907b, 0x0016aa7f, 0x00104a01}}, Y: Field{[10]uint32{0x037f58e4, 0x0205ec6b, 0x038e1808, 0x0138cabb, 0x02613f35, 0x010fdf81, 0x015c363c, 0x0210cfb9, 0x000dfd8e, 0x0030bfbe}}}, + {X: Field{[10]uint32{0x00c7a1ee, 0x023e2a86, 0x0241a7dd, 0x003ac142, 0x028b536f, 0x00f584ec, 0x01130b7e, 0x00f44147, 0x0336cbf8, 0x00312e3f}}, Y: Field{[10]uint32{0x027b4d47, 0x0359fb17, 0x037fc276, 0x0052b525, 0x01f6cf6c, 0x01d448e6, 0x02ba76b4, 0x00cded19, 0x004c8867, 0x0021f4f1}}}, + {X: Field{[10]uint32{0x00a51ac1, 0x029fd6a8, 0x002a93b7, 0x02e61b68, 0x031de630, 0x02df3495, 0x03850106, 0x00e38e9a, 0x013a7cb9, 0x00103ada}}, Y: Field{[10]uint32{0x036d8d18, 0x038db0eb, 0x0389fa51, 0x0293bea7, 0x01c7ede7, 0x0132e201, 0x003b770c, 0x0105f72f, 0x01e014d3, 0x0009ee1d}}}, + {X: Field{[10]uint32{0x0381dad4, 0x012a6f5f, 0x01fb86e9, 0x02137cdc, 0x00ac0c9d, 0x03cb77c9, 0x0365d675, 0x000601d4, 0x010254e3, 0x003dd246}}, Y: Field{[10]uint32{0x005a6e46, 0x03093357, 0x00c7c17a, 0x031cbb1a, 0x0268af0c, 0x0349d758, 0x01bf1b5a, 0x00203f72, 0x0336c549, 0x001a89c6}}}, + {X: Field{[10]uint32{0x009f287e, 0x014c9521, 0x032e36a0, 0x02b30d93, 0x02f16388, 0x01e88fe3, 0x026996c9, 0x00676853, 0x021de4ce, 0x0033c4c9}}, Y: Field{[10]uint32{0x03adac10, 0x002a5a1c, 0x02b7c04a, 0x020f1dc6, 0x008218c4, 0x02e1ca9e, 0x024ab51b, 0x01d11fdf, 0x018dbe1a, 0x00155a21}}}, + {X: Field{[10]uint32{0x013e8cb3, 0x00f1d86b, 0x02a81726, 0x005dcb1c, 0x0394cfd5, 0x00889a11, 0x01166066, 0x021f7f55, 0x02629dd0, 0x00271af6}}, Y: Field{[10]uint32{0x010c0eb3, 0x006d9e80, 0x030be05b, 0x0317896e, 0x019e5fbc, 0x018bff1e, 0x035628ed, 0x0329faec, 0x007b9c7f, 0x000b1df7}}}, + {X: Field{[10]uint32{0x01d26bf3, 0x02adf96e, 0x01922bb7, 0x01ef456c, 0x01c1526d, 0x02cc5256, 0x02cc9a55, 0x0277b083, 0x035f6443, 0x00363440}}, Y: Field{[10]uint32{0x00dbbe30, 0x006e5233, 0x003143eb, 0x00dae72d, 0x03b922a4, 0x02506efd, 0x007f697b, 0x03fa8fd8, 0x00d6ccfd, 0x002adf8d}}}, + {X: Field{[10]uint32{0x01c1d424, 0x02f08a34, 0x022a939c, 0x0296c028, 0x037d53ae, 0x00203c21, 0x032e1047, 0x01e98378, 0x0223b822, 0x0031bd02}}, Y: Field{[10]uint32{0x01d80345, 0x01af42f0, 0x0064d7fe, 0x01af96a3, 0x0263a313, 0x022c8dd2, 0x006f1f4b, 0x02317244, 0x018fcf4b, 0x00385af1}}}, + {X: Field{[10]uint32{0x03a43536, 0x0002e3d8, 0x02509494, 0x03358748, 0x01d1e007, 0x03388b78, 0x007c2dec, 0x034e95c5, 0x02229477, 0x000e9a76}}, Y: Field{[10]uint32{0x01a0e284, 0x030bef92, 0x03c3925c, 0x035ce272, 0x0246b98c, 0x026de73e, 0x00c95e1c, 0x01818b1f, 0x03d5c4ba, 0x0031e713}}}, + {X: Field{[10]uint32{0x0325fc9d, 0x01ede500, 0x0339b7bc, 0x020a42a8, 0x00814c3d, 0x01963c86, 0x037f6fca, 0x0312291a, 0x00e5492f, 0x0006d7ee}}, Y: Field{[10]uint32{0x007fff39, 0x01bef9f7, 0x02982164, 0x00d63bfa, 0x01d2ca42, 0x0124d6c0, 0x02f49f4c, 0x002064ad, 0x03124c9e, 0x00298a42}}}, + {X: Field{[10]uint32{0x009a3845, 0x02fa3b0d, 0x014c747b, 0x0088c7c1, 0x028a7559, 0x0069fe9f, 0x01e1c37d, 0x02d3ab72, 0x0302b004, 0x003f6e83}}, Y: Field{[10]uint32{0x011646fe, 0x0208088e, 0x0262ae2b, 0x02775cb5, 0x0106c3c0, 0x00c310f2, 0x02defd7e, 0x01c709bf, 0x01c9e964, 0x0010b698}}}, + {X: Field{[10]uint32{0x035140df, 0x03c32ce8, 0x01760f38, 0x010cbebc, 0x007c1663, 0x018ce262, 0x03279f70, 0x02598af9, 0x01bfcb7b, 0x0030e4e4}}, Y: Field{[10]uint32{0x02f556e1, 0x02d58f26, 0x02d664c5, 0x02075e94, 0x03449f9f, 0x03de7606, 0x00b8b3ff, 0x020b3121, 0x003453dc, 0x003a8538}}}, + {X: Field{[10]uint32{0x0059cbcb, 0x0385d102, 0x01321675, 0x00280886, 0x0019aedd, 0x01b2c831, 0x000e36cc, 0x032ca86b, 0x013dc716, 0x000953fc}}, Y: Field{[10]uint32{0x02e35921, 0x002b4ae4, 0x03701c40, 0x033e0fac, 0x00896e02, 0x011fd6fa, 0x036bfe32, 0x009abe78, 0x00f3916d, 0x00009913}}}, + {X: Field{[10]uint32{0x00930474, 0x0327d5ca, 0x00c5b071, 0x0176a9f2, 0x021769d3, 0x0215a009, 0x008974e9, 0x0192b68b, 0x0260e9b4, 0x0009392a}}, Y: Field{[10]uint32{0x00479f8e, 0x01cd4e3a, 0x02af78d9, 0x00e3672e, 0x036ed37c, 0x0332501b, 0x022244bc, 0x013f8202, 0x02d182a9, 0x00277df0}}}, + {X: Field{[10]uint32{0x017543a6, 0x00b13db4, 0x01ef8070, 0x03062ffc, 0x02fb19a4, 0x01667f00, 0x03d81b38, 0x01a170fb, 0x03adf906, 0x001eb66e}}, Y: Field{[10]uint32{0x01246f95, 0x02ab5931, 0x02df0133, 0x010d1249, 0x00da45e2, 0x02294cf7, 0x013ac8fd, 0x006293dc, 0x01709c40, 0x00261e2e}}}, + {X: Field{[10]uint32{0x02d8ae53, 0x00495958, 0x022b501d, 0x00e6f97e, 0x00c6e083, 0x01f7eeaa, 0x009eb2df, 0x021c5f83, 0x00d9383a, 0x0025f63f}}, Y: Field{[10]uint32{0x03c6a777, 0x0300a3c1, 0x0074c4a2, 0x0329fe3d, 0x03b1f114, 0x03616be9, 0x00363e15, 0x013e19fe, 0x024cf578, 0x00061e72}}}, + {X: Field{[10]uint32{0x02fe7572, 0x01c77762, 0x0172cb87, 0x03bd417b, 0x002af1ac, 0x0315bfeb, 0x014d1a92, 0x030cb878, 0x03855a08, 0x000f83f1}}, Y: Field{[10]uint32{0x02149390, 0x0396c25b, 0x020b5884, 0x03cf7c56, 0x01bb1768, 0x028c2d55, 0x0044fc9d, 0x022253c2, 0x03fcfd1e, 0x001b5e6d}}}, + {X: Field{[10]uint32{0x01602562, 0x01fb3ed9, 0x037ec55b, 0x039ff1d5, 0x02fda483, 0x02275bd7, 0x023a9b53, 0x03619076, 0x03dbb132, 0x00367685}}, Y: Field{[10]uint32{0x0223b70b, 0x03e318f1, 0x001a7b67, 0x017a2821, 0x0033a4f3, 0x03e3c8ec, 0x027f9e63, 0x0035c0bb, 0x01e45feb, 0x0020391c}}}, + {X: Field{[10]uint32{0x03ca18f3, 0x026026db, 0x039eca3d, 0x014e75be, 0x03f38e28, 0x02dc484a, 0x0135daa7, 0x0078d20a, 0x0366afcd, 0x0006123d}}, Y: Field{[10]uint32{0x036f5884, 0x003d1342, 0x00b7dee7, 0x03d2a4f5, 0x005f9196, 0x01d23b65, 0x0135df63, 0x0153c927, 0x0082645d, 0x0032a69e}}}, + {X: Field{[10]uint32{0x017a9f2f, 0x02728112, 0x02be0a84, 0x011fdcb1, 0x031a9d00, 0x03f0b457, 0x0165b2d4, 0x02b1d96b, 0x00ae9a7d, 0x003b4dd1}}, Y: Field{[10]uint32{0x02b5fb5b, 0x00d113da, 0x02f36b76, 0x0121c19b, 0x032fdc52, 0x00f11dfb, 0x0323d032, 0x031bdf92, 0x012ed4e5, 0x000f3ddb}}}, + {X: Field{[10]uint32{0x033676d7, 0x033fbf97, 0x026b7b1c, 0x0332a188, 0x0391212a, 0x000c49c1, 0x00a3a65e, 0x01516ac4, 0x0373edf3, 0x0031181e}}, Y: Field{[10]uint32{0x017eb3ec, 0x010824cf, 0x02d7728c, 0x02711771, 0x012628ac, 0x008c38f7, 0x000cd036, 0x03de0f57, 0x025b8595, 0x000c6b51}}}, + {X: Field{[10]uint32{0x000e96f0, 0x0392c2af, 0x00699641, 0x006d93ac, 0x00bfb9ad, 0x00e8fe94, 0x020af049, 0x01a75e2c, 0x02ed2aaf, 0x00070258}}, Y: Field{[10]uint32{0x01aede44, 0x015a92ab, 0x0012302d, 0x01828e5f, 0x02591b5a, 0x021e9fda, 0x029c5b0a, 0x038e8a90, 0x02f6e088, 0x00127c46}}}, + {X: Field{[10]uint32{0x01c19454, 0x02682637, 0x0045b1f0, 0x006ab989, 0x0182250e, 0x02ded0e0, 0x00dc6caf, 0x02567826, 0x036c9a41, 0x0001a811}}, Y: Field{[10]uint32{0x0111c7e1, 0x014bb1bd, 0x0233fbe5, 0x02e7331f, 0x00ab4288, 0x03238d45, 0x0266cd37, 0x031324b0, 0x00978ae3, 0x0015a10b}}}, + {X: Field{[10]uint32{0x00191f1c, 0x019e0c28, 0x028f6b93, 0x0203a729, 0x02cdb59a, 0x00a7c0f1, 0x03149993, 0x002a829a, 0x00f653a3, 0x00009368}}, Y: Field{[10]uint32{0x00138235, 0x00b1d5cb, 0x00b53d1a, 0x01a67880, 0x00cdbd3b, 0x00187185, 0x010683af, 0x02f3d6e0, 0x0080aa78, 0x0020f9e4}}}, + {X: Field{[10]uint32{0x021a7764, 0x00dd0fe6, 0x0075f6f3, 0x023c089f, 0x02a07872, 0x00c99100, 0x00719010, 0x02741fd6, 0x00832247, 0x00001b0d}}, Y: Field{[10]uint32{0x00dcc4c6, 0x024b02e8, 0x01bffeb1, 0x0043c361, 0x00be7792, 0x016f6916, 0x03128d84, 0x015021af, 0x03744a12, 0x0028ddeb}}}, + {X: Field{[10]uint32{0x01c43baf, 0x01e3e675, 0x00905154, 0x03d28525, 0x011cdc26, 0x020acdb8, 0x02cf2498, 0x032c9ac9, 0x03bb4d14, 0x00084aaa}}, Y: Field{[10]uint32{0x0047e281, 0x0358140e, 0x01148ca1, 0x028ff099, 0x0011c22e, 0x02ea3961, 0x02ed57d7, 0x0160ae63, 0x020a81d1, 0x003a4502}}}, + {X: Field{[10]uint32{0x0343b10e, 0x005096ac, 0x011edf37, 0x031092a5, 0x02f26ee0, 0x02c2e89c, 0x006824e5, 0x02882a35, 0x00f12afc, 0x00289d1e}}, Y: Field{[10]uint32{0x004036a3, 0x020292ef, 0x017598ec, 0x028df1f3, 0x0270ad0b, 0x01e0635e, 0x03bdecb6, 0x025ea968, 0x0386a7fc, 0x001479d2}}}, + {X: Field{[10]uint32{0x0172e293, 0x03dc4681, 0x03fe5716, 0x001fa336, 0x02b9b8a5, 0x03d57838, 0x022fa7e8, 0x03e7ae8b, 0x029a7171, 0x00387049}}, Y: Field{[10]uint32{0x02afba46, 0x024cd70c, 0x00848e63, 0x029db40d, 0x005562c4, 0x03a09da1, 0x00d8e242, 0x00c90be6, 0x01700895, 0x001073e8}}}, + {X: Field{[10]uint32{0x01e09efb, 0x0209f03d, 0x007804d5, 0x022c9082, 0x0062f0f7, 0x03303ef6, 0x03328e1e, 0x0238642e, 0x004c1941, 0x00081355}}, Y: Field{[10]uint32{0x03d52fb7, 0x015c1664, 0x009f06d0, 0x03514d39, 0x0018cf4e, 0x013e6030, 0x023799cb, 0x00561c42, 0x00e31f5d, 0x00319826}}}, + {X: Field{[10]uint32{0x025172ad, 0x0121b15e, 0x016ee361, 0x02c8eac6, 0x00980138, 0x01e2d33c, 0x0230de2f, 0x03cbcb7c, 0x030a11a6, 0x0005bb77}}, Y: Field{[10]uint32{0x01992684, 0x028338ad, 0x0318bb39, 0x02d3ee05, 0x001327bd, 0x0040b108, 0x004a7926, 0x02cf0648, 0x018fed8a, 0x0038f6cd}}}, + {X: Field{[10]uint32{0x038995f1, 0x020a74ca, 0x0080eaf6, 0x0069e72c, 0x013df700, 0x008c54de, 0x026b7c10, 0x0365ad97, 0x00312298, 0x001f27de}}, Y: Field{[10]uint32{0x01f51e5c, 0x006551bb, 0x000e4a60, 0x0346eedc, 0x02b2481d, 0x014f2ccb, 0x002018fc, 0x0283c6c9, 0x003c90e3, 0x00080df3}}}, + {X: Field{[10]uint32{0x0198fb1c, 0x01a2c598, 0x02dee211, 0x03a54c31, 0x0263aee7, 0x00b5a580, 0x03913a5b, 0x02e3db06, 0x01461dbe, 0x0004a70b}}, Y: Field{[10]uint32{0x01137964, 0x02b097d5, 0x00dc1747, 0x02fdf3a8, 0x027bbd80, 0x00a1f559, 0x0214b72a, 0x009fe68a, 0x02b961c0, 0x000a7ffb}}}, + {X: Field{[10]uint32{0x036175aa, 0x02812707, 0x03b12570, 0x009f818c, 0x02de2049, 0x00c896d4, 0x011f9daa, 0x024cbbdb, 0x016530d4, 0x0022f8b9}}, Y: Field{[10]uint32{0x005510c8, 0x03060014, 0x0340423c, 0x02f5a9a1, 0x03fabfe4, 0x00f02547, 0x0007056e, 0x00334500, 0x02871a13, 0x000d92d3}}}, + {X: Field{[10]uint32{0x0252fa6c, 0x024265d8, 0x00c5e27c, 0x00b97e20, 0x0142a6e1, 0x014ed310, 0x00ceb624, 0x02719eac, 0x030842ae, 0x00102d0f}}, Y: Field{[10]uint32{0x02a2068f, 0x00a812f3, 0x02cca443, 0x03fb448f, 0x00248f11, 0x03168b4b, 0x025e46f2, 0x00b96ec8, 0x02c5de1b, 0x001b46b1}}}, + {X: Field{[10]uint32{0x02c669df, 0x011ce816, 0x00f17087, 0x026f8dc9, 0x014c2cba, 0x00f1276d, 0x01caa559, 0x0137cf3c, 0x038a02f3, 0x0011f888}}, Y: Field{[10]uint32{0x00f31f3a, 0x026fa0a7, 0x01908939, 0x009d8237, 0x00acfc61, 0x00294bdf, 0x02104a36, 0x00957fb2, 0x03a203ee, 0x00134133}}}, + {X: Field{[10]uint32{0x01cfc35a, 0x029727b8, 0x02d607c7, 0x012d77e3, 0x03b3de47, 0x01315975, 0x00433238, 0x031b6ad2, 0x00553a45, 0x0005ca1b}}, Y: Field{[10]uint32{0x0320007f, 0x01c8f258, 0x000cf6d8, 0x0091e4cd, 0x035b194d, 0x02550c41, 0x03104b27, 0x01454582, 0x034775a4, 0x00185cb4}}}, + {X: Field{[10]uint32{0x01d7bb31, 0x02c810a3, 0x01258b7f, 0x0325367b, 0x010a3e96, 0x0158cab1, 0x010bd344, 0x024b2b42, 0x039d3c14, 0x000d146b}}, Y: Field{[10]uint32{0x014974d6, 0x03e2d06c, 0x0079acc5, 0x004e49f3, 0x007687c5, 0x013068ec, 0x0284fd78, 0x01b81b9c, 0x03832123, 0x0037524c}}}, + {X: Field{[10]uint32{0x014e5ce2, 0x03409480, 0x01619d23, 0x00e96caa, 0x00ed9afa, 0x01b82b11, 0x01bee2da, 0x0179ff2d, 0x0081eccc, 0x002c02a9}}, Y: Field{[10]uint32{0x008866a1, 0x032a3efa, 0x022424a2, 0x02a79f9d, 0x0210d732, 0x0107e07e, 0x002ceb74, 0x00cb383d, 0x00861f00, 0x0001a1ed}}}, + {X: Field{[10]uint32{0x00b23311, 0x01571fa8, 0x01e2fa8a, 0x035301d8, 0x020ef706, 0x0135cd6c, 0x008a2393, 0x03247fc9, 0x029cc75b, 0x0014fb23}}, Y: Field{[10]uint32{0x01d45919, 0x00413d91, 0x027688b5, 0x012e7f60, 0x00c352f5, 0x0175716a, 0x01104e01, 0x02c7b46d, 0x03c063c4, 0x0006c477}}}, + {X: Field{[10]uint32{0x01efab66, 0x02461b29, 0x030a4cdc, 0x01e1eaed, 0x032fc80d, 0x01c78ce0, 0x03eddd8d, 0x00b268ec, 0x01b39c07, 0x0007b378}}, Y: Field{[10]uint32{0x026dd626, 0x02b82f2b, 0x025f30da, 0x00c25228, 0x00239f0c, 0x00812734, 0x00cecb18, 0x025d8adc, 0x02c75a79, 0x00013d6b}}}, + {X: Field{[10]uint32{0x03b1394e, 0x0321d526, 0x012e65af, 0x02759dc1, 0x011e9023, 0x02823be9, 0x039b479f, 0x015631ea, 0x03c3702b, 0x00007f8b}}, Y: Field{[10]uint32{0x02845c2c, 0x02f5c831, 0x0326d30f, 0x003229f6, 0x0211a64c, 0x01b523f9, 0x016df2b6, 0x0174eb08, 0x02ae3a39, 0x003dad61}}}, + {X: Field{[10]uint32{0x006d5dec, 0x01c62c78, 0x039ba872, 0x0314a296, 0x0376e64c, 0x03c0c71e, 0x02ba0c20, 0x00ab5560, 0x032fb8ac, 0x002d4f42}}, Y: Field{[10]uint32{0x02e3a289, 0x03c0d3a4, 0x0087b351, 0x01de51da, 0x02041015, 0x01f48c94, 0x03b034c1, 0x021ea992, 0x018951ab, 0x00226139}}}, + {X: Field{[10]uint32{0x0337cf95, 0x02b784a3, 0x02ea7bc0, 0x00428845, 0x01a06ca3, 0x03ccd760, 0x03fe5d81, 0x008d999c, 0x011603bc, 0x00001539}}, Y: Field{[10]uint32{0x0312bd4a, 0x00e9e05c, 0x030b4c5b, 0x01e92e64, 0x01923660, 0x03a05cd5, 0x037206d6, 0x00b0afc6, 0x00269deb, 0x003d1c72}}}, + {X: Field{[10]uint32{0x03b29a7b, 0x036ca0d9, 0x01f598c4, 0x02b19754, 0x013b8087, 0x0322eae4, 0x01e22244, 0x008e8b4e, 0x0372a1d4, 0x0039fbed}}, Y: Field{[10]uint32{0x03a9b6e7, 0x039171e4, 0x023bd587, 0x0282854b, 0x03704a39, 0x01fda863, 0x02b47f41, 0x0022c2fc, 0x0186031d, 0x003cb7ed}}}, + {X: Field{[10]uint32{0x00b519fe, 0x011ae634, 0x03e67034, 0x00ab7020, 0x010b163f, 0x027bc0c8, 0x03b43097, 0x018ea0ab, 0x01aae8a2, 0x0017b167}}, Y: Field{[10]uint32{0x01ef82b9, 0x0057aa1e, 0x0304e842, 0x01bd7016, 0x03a8a531, 0x01395613, 0x01c6aab9, 0x03ab94c3, 0x00c36a3d, 0x000baad3}}}, + {X: Field{[10]uint32{0x00bb62f5, 0x032e40f5, 0x0121658c, 0x01a71034, 0x0001119f, 0x03f07c26, 0x02975c8e, 0x0277ef6b, 0x00d92058, 0x00109ed7}}, Y: Field{[10]uint32{0x02d1213d, 0x011a1995, 0x01b18d98, 0x028c1a1c, 0x006500b5, 0x017f2a1e, 0x022803c3, 0x01210905, 0x02e3b879, 0x00341579}}}, + {X: Field{[10]uint32{0x0105bcad, 0x02113be7, 0x00736554, 0x03630344, 0x002cc30d, 0x03750b2e, 0x03422c79, 0x013cf423, 0x0315fc59, 0x00152552}}, Y: Field{[10]uint32{0x0335373a, 0x011cd33d, 0x0397564b, 0x03d7af30, 0x029c6b88, 0x00680392, 0x03f8e042, 0x027080ab, 0x00657356, 0x0021a9f3}}}, + {X: Field{[10]uint32{0x01f32559, 0x016879ac, 0x021f01b5, 0x02019e8a, 0x03573eb4, 0x0255a194, 0x01aa7b33, 0x003efca8, 0x038d2367, 0x003fdbe3}}, Y: Field{[10]uint32{0x02c7e218, 0x02b07706, 0x017cd2d4, 0x03d0fe3d, 0x0336cd33, 0x027f6511, 0x031552f0, 0x02f15f5c, 0x01a6c7ca, 0x001e94fc}}}, + {X: Field{[10]uint32{0x018a2381, 0x00309965, 0x0152b842, 0x03ee2805, 0x023bba8e, 0x007832e2, 0x02d852f4, 0x030843a0, 0x01e99021, 0x001d35c9}}, Y: Field{[10]uint32{0x01bb2bb0, 0x02d6153d, 0x0227c0ae, 0x039809b2, 0x0192f18d, 0x00405b76, 0x03d6ca4e, 0x01c2ee20, 0x0246aa9f, 0x0013b9a5}}}, + {X: Field{[10]uint32{0x009c845b, 0x030c9479, 0x008d76d3, 0x01c35dd1, 0x01feca05, 0x01636176, 0x0168fbbc, 0x010b270b, 0x037efc03, 0x003a50e7}}, Y: Field{[10]uint32{0x02233916, 0x006f808f, 0x03592203, 0x039ea4a1, 0x01566667, 0x03435c19, 0x0290b459, 0x0095ebbb, 0x01981b7e, 0x0009f683}}}, + {X: Field{[10]uint32{0x01c0b911, 0x01572c29, 0x00f1e2c0, 0x00ca7cb1, 0x0305facb, 0x00fff44c, 0x0126622b, 0x002159b7, 0x008d81a6, 0x0025a129}}, Y: Field{[10]uint32{0x024e68b2, 0x00d4cafc, 0x018161be, 0x00979ebc, 0x03294bbd, 0x0179ed39, 0x0187c31f, 0x03eea975, 0x02d250ad, 0x002480e2}}}, + {X: Field{[10]uint32{0x020e7609, 0x01df25c6, 0x019b4162, 0x00dd7e74, 0x009e4cf8, 0x037161ca, 0x030f1214, 0x0389bb1f, 0x02f90469, 0x0007400e}}, Y: Field{[10]uint32{0x031e5123, 0x02bfa7bd, 0x02139c84, 0x0069f0df, 0x00ed795f, 0x011b4981, 0x031dad81, 0x00b1c82c, 0x03a53082, 0x002671f0}}}, + {X: Field{[10]uint32{0x0197a149, 0x019272b8, 0x0242d01c, 0x02ff1805, 0x010d680a, 0x027dcb02, 0x0032fa58, 0x02aadddb, 0x00f873cf, 0x003e591a}}, Y: Field{[10]uint32{0x02083b1d, 0x00f9353e, 0x036e9979, 0x021b0624, 0x03b67081, 0x014e15f8, 0x00a7ff33, 0x0174c6c9, 0x03c40849, 0x0007fed2}}}, + {X: Field{[10]uint32{0x03f89d32, 0x001104ac, 0x025f5329, 0x03d947b1, 0x03d93c14, 0x00c4542f, 0x02c86a21, 0x02534af2, 0x0106e302, 0x002dab50}}, Y: Field{[10]uint32{0x00d228ce, 0x00a9398e, 0x003ee5db, 0x024a4307, 0x034fa407, 0x01310ad0, 0x015201cc, 0x02590741, 0x02a67427, 0x000668d9}}}, + {X: Field{[10]uint32{0x005b9b9a, 0x01f9f3f9, 0x00108a97, 0x00a1b2c7, 0x0202d478, 0x02eda7ec, 0x020fec3e, 0x03cc1644, 0x02f7190b, 0x0021d51c}}, Y: Field{[10]uint32{0x01a97c21, 0x029e2615, 0x00562050, 0x0238c151, 0x030a172d, 0x017e0127, 0x01d163a9, 0x0166b785, 0x03c5f5dc, 0x0006b7bf}}}, + {X: Field{[10]uint32{0x0227a670, 0x03bac166, 0x034074d9, 0x0356bd29, 0x0354bb6f, 0x0072c6c7, 0x00f7ae2a, 0x01505399, 0x01faf424, 0x0015116a}}, Y: Field{[10]uint32{0x01418018, 0x01d0713a, 0x0294ce87, 0x03a987f7, 0x013bdf07, 0x00fede87, 0x008978ca, 0x038208f9, 0x02077da2, 0x00125b14}}}, + {X: Field{[10]uint32{0x0014d138, 0x01330f5e, 0x0262bf4c, 0x03e5f07d, 0x0374d3a8, 0x0215a0c3, 0x03350267, 0x02b22147, 0x0225704b, 0x0036b861}}, Y: Field{[10]uint32{0x03be6f87, 0x02f6a440, 0x02bff373, 0x03ef1a38, 0x03c20f62, 0x017b20d7, 0x0188ee63, 0x0018660e, 0x01fd7ba9, 0x002af016}}}, + {X: Field{[10]uint32{0x019845c9, 0x032a24e7, 0x00d02dee, 0x02047fa5, 0x013d009b, 0x001f864a, 0x00e659c1, 0x00f7971f, 0x0312e852, 0x00228223}}, Y: Field{[10]uint32{0x0229114a, 0x02c3dd9f, 0x004baef7, 0x011ff179, 0x0041f8df, 0x03062c82, 0x02d703cb, 0x02edd974, 0x012afb8e, 0x00109448}}}, + {X: Field{[10]uint32{0x03af6d01, 0x02d4b935, 0x02f6ec25, 0x033caf3a, 0x00716755, 0x023d5e44, 0x00ed25c7, 0x002344cd, 0x02a88f3b, 0x0035e3d1}}, Y: Field{[10]uint32{0x0306f44d, 0x0149bbd6, 0x006ee5c9, 0x034c9091, 0x01929046, 0x032fc6cb, 0x00b3f019, 0x008043c8, 0x01f229cb, 0x003ac615}}}, + {X: Field{[10]uint32{0x019b034b, 0x0035717e, 0x02fa83ec, 0x0271beab, 0x02f58980, 0x03fbf375, 0x015c4cac, 0x00389d79, 0x031278ae, 0x000782d0}}, Y: Field{[10]uint32{0x004918a7, 0x028a2064, 0x036578bb, 0x02b8275c, 0x03fb523f, 0x020d2140, 0x03d74edb, 0x00ead0ba, 0x03c5544d, 0x003ce314}}}, + {X: Field{[10]uint32{0x017cbbd1, 0x00d1197b, 0x01638cd5, 0x03dc3105, 0x00ab02d7, 0x029623cd, 0x0011f144, 0x0046703d, 0x01b29edb, 0x003c0c55}}, Y: Field{[10]uint32{0x00e85813, 0x034fc1ae, 0x02495599, 0x0125fe71, 0x01317367, 0x00658159, 0x01d07cd3, 0x03fc52d0, 0x03e3ff4f, 0x001cb454}}}, + {X: Field{[10]uint32{0x01de4c8e, 0x025b8e79, 0x02b4153a, 0x01e1b42e, 0x038df665, 0x01059952, 0x00c84fe3, 0x01fed345, 0x01683edc, 0x0003d87f}}, Y: Field{[10]uint32{0x002e5f92, 0x011cb8f5, 0x0212fd38, 0x00e7d636, 0x02e11fc1, 0x00983f93, 0x01d6884d, 0x004ec621, 0x0167cf09, 0x00254b6d}}}, + {X: Field{[10]uint32{0x0017dd77, 0x0271fdf8, 0x0344d7ee, 0x03612c7c, 0x0201ede6, 0x00e9361b, 0x0300e3b1, 0x00dec972, 0x027a29e4, 0x001e0c43}}, Y: Field{[10]uint32{0x0182f2d2, 0x00406db8, 0x00a51a7d, 0x00fd0c4d, 0x007030bd, 0x01f080b5, 0x020f7009, 0x00a78130, 0x018a4d56, 0x0009bfcd}}}, + {X: Field{[10]uint32{0x03781a3a, 0x0009f847, 0x016b97a4, 0x012f2282, 0x034e6ac9, 0x002d87af, 0x01509c2d, 0x00a72e98, 0x004d6b73, 0x0018eba3}}, Y: Field{[10]uint32{0x00d14f88, 0x020fa577, 0x016ce2e4, 0x00a7be2e, 0x01af16c9, 0x00e2a4e8, 0x01629cb3, 0x01e15f46, 0x00cfbf40, 0x002a3a55}}}, + {X: Field{[10]uint32{0x03cca739, 0x01e5c941, 0x02fa9165, 0x009bfde6, 0x00ae662f, 0x00ce15d3, 0x01039616, 0x00d53b8b, 0x012a594b, 0x00252356}}, Y: Field{[10]uint32{0x02f1876c, 0x03219ec0, 0x015570ed, 0x02293b89, 0x01ce0275, 0x01cef5b5, 0x013992f7, 0x00e5ba27, 0x00e25ea0, 0x000dffe6}}}, + {X: Field{[10]uint32{0x02100f45, 0x038b4d11, 0x03a55398, 0x01853719, 0x00660a41, 0x02ffba20, 0x0304de18, 0x000da142, 0x016fa314, 0x00194f3c}}, Y: Field{[10]uint32{0x025a9202, 0x0076cd44, 0x01c3649c, 0x0064f985, 0x03ea4d34, 0x0390c416, 0x026741ae, 0x0395499d, 0x02de5ff1, 0x002b2aab}}}, + {X: Field{[10]uint32{0x028cc782, 0x01447fe3, 0x00d2af3c, 0x02219142, 0x01141e18, 0x039a9de2, 0x00fd1ee0, 0x03722fc9, 0x00828a5e, 0x0011beda}}, Y: Field{[10]uint32{0x03fd8887, 0x020f804d, 0x010cfef3, 0x02611fb2, 0x02f4d266, 0x020b0b8d, 0x009ff4ae, 0x03a6f5ab, 0x013fd52c, 0x002752b9}}}, + {X: Field{[10]uint32{0x0138c0ed, 0x0308015c, 0x020eae24, 0x0021e8ab, 0x024ca442, 0x012c3ca2, 0x01face2b, 0x00a9c5f0, 0x00c723ea, 0x0017c468}}, Y: Field{[10]uint32{0x000c8452, 0x01ccc5ae, 0x011d5bb2, 0x033c1be6, 0x023906ea, 0x0049b939, 0x03925ddf, 0x0184bee9, 0x0084ad97, 0x0017b2bb}}}, + {X: Field{[10]uint32{0x02a9039f, 0x02f72130, 0x022c0320, 0x00ecfae9, 0x00dbf2ba, 0x03ac4224, 0x02b6b3bd, 0x03bde9b5, 0x021c929b, 0x002e7d27}}, Y: Field{[10]uint32{0x0101e558, 0x01a0832d, 0x0115c2bf, 0x0131bd0b, 0x006e1b68, 0x00d2a80c, 0x00ecc1c5, 0x022deef4, 0x02767e4f, 0x00261ca7}}}, + {X: Field{[10]uint32{0x01ade2c3, 0x00e39c85, 0x012dc63c, 0x02c0d8c7, 0x00965dc2, 0x03269182, 0x033eea76, 0x02417fc9, 0x0102e7d2, 0x0003b228}}, Y: Field{[10]uint32{0x034371c0, 0x028fb73d, 0x00b6dbe5, 0x0170da33, 0x02706ffe, 0x03d9c584, 0x03836868, 0x025b2d24, 0x01e7242d, 0x00363226}}}, + {X: Field{[10]uint32{0x03e236c6, 0x0339810a, 0x02dafcda, 0x02c0e73d, 0x010582c5, 0x010a9496, 0x012a3c77, 0x020169b2, 0x02b3c351, 0x00041fc0}}, Y: Field{[10]uint32{0x019bfb9f, 0x03ce272a, 0x00a3e685, 0x017820b1, 0x03c5c2d5, 0x0371c929, 0x01746858, 0x01d8055f, 0x02bf1ab4, 0x00145c8d}}}, + {X: Field{[10]uint32{0x02298971, 0x018194d5, 0x036cfb98, 0x01eb6bdb, 0x02b10d63, 0x020c5e1c, 0x038c1fea, 0x03005b5e, 0x00a1a5c1, 0x003c3ec5}}, Y: Field{[10]uint32{0x024540d1, 0x02f151e5, 0x0033792f, 0x03fecc59, 0x00c40b89, 0x00a00007, 0x018e87c7, 0x03997509, 0x01140d33, 0x0038767b}}}, + {X: Field{[10]uint32{0x00489459, 0x03e6cd51, 0x0347a333, 0x002bfe0e, 0x0078a1c8, 0x03af781a, 0x00ce83c0, 0x013b7bdb, 0x02dbea78, 0x00294dc6}}, Y: Field{[10]uint32{0x00129224, 0x0338fcb2, 0x03edd48e, 0x02f33344, 0x007e3d09, 0x00a88b2f, 0x03acbe7b, 0x0175d1dc, 0x0172127f, 0x003d5e01}}}, + {X: Field{[10]uint32{0x0217300d, 0x013eb7ef, 0x013b999e, 0x005e580f, 0x022bbbb8, 0x03e9f64b, 0x00109715, 0x0295d84f, 0x025e1b0b, 0x000f00c7}}, Y: Field{[10]uint32{0x029c83f3, 0x0309cbab, 0x03e6bbf9, 0x035c70d8, 0x0079cb40, 0x035edb31, 0x00e65a2c, 0x00db751d, 0x03fb3920, 0x00349d68}}}, + {X: Field{[10]uint32{0x01a5318f, 0x0071a701, 0x0218b217, 0x02b948f3, 0x01f8a1b9, 0x00e48203, 0x0169a689, 0x02d4c282, 0x019e685d, 0x0021ed62}}, Y: Field{[10]uint32{0x01a775d4, 0x02bd23ff, 0x02c081f5, 0x03ebe673, 0x011b1166, 0x010ba134, 0x0140b01a, 0x02be968b, 0x0204e3f0, 0x0001ab8c}}}, + {X: Field{[10]uint32{0x01b8bf74, 0x01014042, 0x038dd2ae, 0x0138ffa0, 0x01ea00d0, 0x01adf9ec, 0x018eedb5, 0x0305b7e7, 0x03ddc002, 0x00367c1d}}, Y: Field{[10]uint32{0x033ffeaf, 0x0084996b, 0x012f278f, 0x000bb954, 0x0211c273, 0x01c32e7b, 0x00fc486f, 0x0063894f, 0x011e5031, 0x00194635}}}, + {X: Field{[10]uint32{0x00921af7, 0x031c873e, 0x0398ec9b, 0x02482bbe, 0x037558a4, 0x0089dfd8, 0x01ce3053, 0x02b32582, 0x03638d15, 0x0027026a}}, Y: Field{[10]uint32{0x00e0f6fc, 0x0292de40, 0x033d91ca, 0x012a7ef7, 0x010bf2f8, 0x0194897c, 0x02d6ab31, 0x02f0422f, 0x018d535a, 0x002cb2b1}}}, + {X: Field{[10]uint32{0x028a7fc0, 0x01b71ce6, 0x008ae167, 0x0037b439, 0x0052ab25, 0x030da689, 0x038948a5, 0x0248c973, 0x038b4c2d, 0x001bb47b}}, Y: Field{[10]uint32{0x02742008, 0x02b21fbd, 0x00585f54, 0x02f07241, 0x025c6423, 0x018f69d6, 0x02741368, 0x014553f2, 0x008c2cfe, 0x00306de8}}}, + {X: Field{[10]uint32{0x006928d1, 0x034ef894, 0x018f13fb, 0x02a4c1e7, 0x03cfc458, 0x00ae9821, 0x01f71c1e, 0x01fdb09e, 0x0170154b, 0x00220ba3}}, Y: Field{[10]uint32{0x03e64131, 0x00e9ce9b, 0x03d1d9b2, 0x0197b6ec, 0x0208b315, 0x019eb07c, 0x014ac62e, 0x0061ca42, 0x022e97c4, 0x0022526c}}}, + {X: Field{[10]uint32{0x037aba52, 0x0284e7ec, 0x0246aa6d, 0x03a7f08c, 0x00516840, 0x00942605, 0x019d0afb, 0x01ba81c4, 0x02a024c8, 0x001c211c}}, Y: Field{[10]uint32{0x028fe5ac, 0x014feec4, 0x0130db7a, 0x01ee0335, 0x013a8b05, 0x02528d99, 0x03378d65, 0x0054ca96, 0x03a51d55, 0x0026026d}}}, + {X: Field{[10]uint32{0x039fac3e, 0x02a330eb, 0x025ebd87, 0x00f5c688, 0x03769d57, 0x023420d4, 0x01a1250d, 0x02dc212b, 0x02d509a8, 0x000e913e}}, Y: Field{[10]uint32{0x037f20cd, 0x031a7ed2, 0x01c85cb0, 0x0114b4f1, 0x03f9186e, 0x01849204, 0x0174bf84, 0x03434286, 0x01511250, 0x003ca7d1}}}, + {X: Field{[10]uint32{0x01fb9f30, 0x00dc2cf3, 0x0390afcc, 0x02116267, 0x0236ba4c, 0x00708cd8, 0x00564c04, 0x006f5058, 0x01d8e09e, 0x0028d467}}, Y: Field{[10]uint32{0x03881d7e, 0x034fb186, 0x0267472d, 0x0238d3f3, 0x02715008, 0x031d3423, 0x0199faa6, 0x001c4740, 0x01597c91, 0x001933fc}}}, + {X: Field{[10]uint32{0x00fcf1dc, 0x03c1d9d7, 0x038291c4, 0x03e835a3, 0x02bea1af, 0x027667fc, 0x033513f1, 0x0172593a, 0x00e3765f, 0x0016bc5b}}, Y: Field{[10]uint32{0x03815daa, 0x0100bae8, 0x023dc1f2, 0x02e2a1ea, 0x00511ff7, 0x0005929e, 0x0042db6b, 0x0047b52a, 0x02b53bd7, 0x00002193}}}, + {X: Field{[10]uint32{0x023d54a8, 0x0070b415, 0x0149b402, 0x0344de96, 0x0018848b, 0x00990410, 0x021ec080, 0x03970977, 0x012219ca, 0x0007fe69}}, Y: Field{[10]uint32{0x0318e031, 0x0320ec05, 0x014d4791, 0x0370526c, 0x018f85d7, 0x014dd0c2, 0x00fb919a, 0x01db86d7, 0x034c1222, 0x00151b58}}}, + {X: Field{[10]uint32{0x03d3e938, 0x01b75bd0, 0x0082ac6b, 0x0372a999, 0x007f02fc, 0x03eacda3, 0x00926ebc, 0x007b63e1, 0x00ad72a5, 0x0035e9b7}}, Y: Field{[10]uint32{0x00e41c96, 0x018ec885, 0x03278bde, 0x01601b25, 0x018598a0, 0x01119aba, 0x028f378e, 0x02b21969, 0x00d63ea6, 0x002689cf}}}, + {X: Field{[10]uint32{0x0332d797, 0x02a34647, 0x012823f4, 0x024c7c88, 0x023c874b, 0x02db3531, 0x016dfb52, 0x0331f69a, 0x03e55bdc, 0x000553d8}}, Y: Field{[10]uint32{0x03f76fae, 0x01644d5d, 0x0067a2df, 0x01f6cd03, 0x02f0f29d, 0x00aa9af1, 0x03269b0d, 0x028723a9, 0x032217bc, 0x003a63e5}}}, + {X: Field{[10]uint32{0x00399bf1, 0x03b1d613, 0x01991c27, 0x036a1f3a, 0x02dbdbb7, 0x0086ef7a, 0x0129095c, 0x01857333, 0x008b8513, 0x003dab78}}, Y: Field{[10]uint32{0x03234ad1, 0x01eb4ce3, 0x0296af03, 0x03284c63, 0x013fc1c5, 0x00a298c4, 0x01af074b, 0x032ae84c, 0x03e019fc, 0x00263206}}}, + {X: Field{[10]uint32{0x0347637e, 0x0072cb31, 0x0083a3e5, 0x03da50ea, 0x00b786b3, 0x017fb0af, 0x01290486, 0x0057db1b, 0x02c03b27, 0x00259873}}, Y: Field{[10]uint32{0x035358bf, 0x01d58813, 0x032547fe, 0x00d657c2, 0x03cb9c37, 0x027b1ce7, 0x028056a0, 0x00412dd2, 0x03d99b34, 0x003aa87d}}}, + {X: Field{[10]uint32{0x015d19a1, 0x01262d19, 0x0377f53d, 0x0333d6b1, 0x03480520, 0x000dc170, 0x0003465f, 0x00231cd3, 0x023a27d6, 0x0038294c}}, Y: Field{[10]uint32{0x020cc606, 0x02f58a49, 0x03aee836, 0x02d639f2, 0x0363d88e, 0x0118a5d7, 0x00606798, 0x03158baf, 0x0178a8b8, 0x0007dc9f}}}, + {X: Field{[10]uint32{0x002f6409, 0x0338c74a, 0x00118c24, 0x02577b39, 0x0308206e, 0x009431ab, 0x001980d5, 0x011bcbca, 0x02fd0046, 0x002eae0b}}, Y: Field{[10]uint32{0x011fb82a, 0x03356123, 0x0177d137, 0x02ed1ade, 0x03cafbdb, 0x0195b157, 0x038375a5, 0x00049a37, 0x01dc26a2, 0x000a982c}}}, + {X: Field{[10]uint32{0x01eb2631, 0x02052b78, 0x022c221e, 0x0081e79a, 0x032d7edd, 0x03946ebb, 0x006e9b3e, 0x02562c60, 0x0399ebbe, 0x000e2784}}, Y: Field{[10]uint32{0x029ae2be, 0x01167db3, 0x02fd52c9, 0x02f50d79, 0x00e48ada, 0x004a9893, 0x031fb4d1, 0x03f91679, 0x02331f3c, 0x001b0561}}}, + {X: Field{[10]uint32{0x029d4515, 0x001dc9dc, 0x000458c3, 0x01846e91, 0x01087d89, 0x03e91447, 0x03081747, 0x0154f467, 0x01cac0dc, 0x002de05e}}, Y: Field{[10]uint32{0x003e0de2, 0x0248d47a, 0x00c97a68, 0x0326ee5d, 0x01ce0a80, 0x0115df5c, 0x00caa5a9, 0x01a941b9, 0x02980c49, 0x001c082f}}}, + {X: Field{[10]uint32{0x03104306, 0x0053557f, 0x02dc9f1e, 0x03d04bb2, 0x02baa6a6, 0x03640163, 0x03d13fcf, 0x03e69c48, 0x013dd170, 0x00219fb3}}, Y: Field{[10]uint32{0x006759bb, 0x00d792a5, 0x00dc9e25, 0x038bf792, 0x03d698c5, 0x027cad50, 0x03276897, 0x03b88e3e, 0x03e1bb91, 0x000f036c}}}, + {X: Field{[10]uint32{0x00eecd38, 0x02f8bdb5, 0x004e5697, 0x00af055c, 0x03db25bb, 0x0212cb32, 0x03d4d083, 0x00097507, 0x014c26a1, 0x002f9c59}}, Y: Field{[10]uint32{0x01406afa, 0x02bdabd2, 0x001dfcdf, 0x039112cb, 0x012dcdae, 0x013683bf, 0x02f8d18e, 0x00b71e82, 0x020fc37a, 0x000c5bb4}}}, + {X: Field{[10]uint32{0x02e9079c, 0x037aea5d, 0x01fda6b6, 0x0111e58f, 0x01416905, 0x03478059, 0x015b9a2a, 0x009a179d, 0x00b024d6, 0x0016a387}}, Y: Field{[10]uint32{0x011ebba7, 0x022888bc, 0x00a27d08, 0x00aa4778, 0x023889db, 0x02377a57, 0x00f43516, 0x00c379ea, 0x01737433, 0x00131e4c}}}, + {X: Field{[10]uint32{0x002e6131, 0x005904ae, 0x031f8572, 0x003eb8f4, 0x03bb884d, 0x0018c114, 0x03a761ad, 0x02f433c4, 0x000b2347, 0x000efeb4}}, Y: Field{[10]uint32{0x02545f61, 0x02f6d0aa, 0x0051896e, 0x02adbd6c, 0x0371e3cb, 0x01b52060, 0x03fe8e63, 0x01ffb0fd, 0x01609415, 0x003bccf1}}}, + {X: Field{[10]uint32{0x012c1961, 0x00647bd7, 0x02dc7428, 0x00d4ed3c, 0x0360e026, 0x0171a32d, 0x016c2d2b, 0x03382722, 0x02de684d, 0x0000911f}}, Y: Field{[10]uint32{0x02f7bfcb, 0x009fcc07, 0x03377624, 0x01535b9f, 0x025ad6cb, 0x0110e090, 0x0339e554, 0x02182d8a, 0x002fe80f, 0x002b4e2a}}}, + {X: Field{[10]uint32{0x03cf985d, 0x0215f522, 0x0123909d, 0x001d05f1, 0x00e7685f, 0x02a379d9, 0x0007e49b, 0x02e7e3a2, 0x0321eeb4, 0x00297ab8}}, Y: Field{[10]uint32{0x034def1d, 0x02c408ea, 0x0296eed3, 0x0075229d, 0x01001788, 0x02799565, 0x015f5233, 0x02df4cab, 0x02a9f5c1, 0x000ab3e2}}}, + {X: Field{[10]uint32{0x0090b13c, 0x0395d6ba, 0x01251007, 0x0045710d, 0x03dc035e, 0x02ac17a3, 0x00a5b973, 0x0364e0f3, 0x015c5337, 0x0025f7a6}}, Y: Field{[10]uint32{0x0069e6dd, 0x02448438, 0x01f79e8f, 0x016f3624, 0x00920250, 0x01373bd4, 0x003fb4dc, 0x0228a4d3, 0x01692e30, 0x0013ecb6}}}, + {X: Field{[10]uint32{0x0038f479, 0x005c9b11, 0x01f3cc6b, 0x011151ac, 0x0125b70f, 0x002af7e5, 0x003dad8d, 0x02462be0, 0x025fa864, 0x002e32bc}}, Y: Field{[10]uint32{0x009c05c9, 0x0198f683, 0x02d79023, 0x00dac1a7, 0x02c30e2f, 0x01db01d2, 0x03a8c5a0, 0x01bacdbf, 0x01fac0f5, 0x001f146d}}}, + {X: Field{[10]uint32{0x0107b2e6, 0x0085d92b, 0x03443445, 0x02296c7c, 0x03b2cade, 0x03c50041, 0x00f3001a, 0x038a86c9, 0x028c1b96, 0x002d6f21}}, Y: Field{[10]uint32{0x0138d639, 0x02e8d9d2, 0x026f238b, 0x001ec852, 0x03672a8c, 0x015170ce, 0x02aa456f, 0x027ccf56, 0x02294e92, 0x00235b3f}}}, + {X: Field{[10]uint32{0x033ff602, 0x012a284d, 0x036e9078, 0x01887c4f, 0x0032ea26, 0x0090530a, 0x01b666bf, 0x00ec8843, 0x007c242a, 0x0017d456}}, Y: Field{[10]uint32{0x0346c858, 0x021a5122, 0x03427f58, 0x02299ab6, 0x031b3941, 0x02732ee7, 0x013950f9, 0x00293ae1, 0x020febf2, 0x000b0ec9}}}, + {X: Field{[10]uint32{0x022bcfde, 0x02d19d1e, 0x01feb822, 0x02558343, 0x034f08e6, 0x00113cfd, 0x0252e17e, 0x028ad44a, 0x00f95009, 0x000742f8}}, Y: Field{[10]uint32{0x033a159b, 0x01739363, 0x02538933, 0x02c93e19, 0x03a742c3, 0x01ee0776, 0x003181cf, 0x0061dcde, 0x03c3dbd8, 0x0030ea0a}}}, + {X: Field{[10]uint32{0x0122fb8a, 0x02bd2f23, 0x0192ccec, 0x0356d249, 0x029e0e62, 0x0338c3b4, 0x0221bcd6, 0x00ccc699, 0x0028b800, 0x000fbc3b}}, Y: Field{[10]uint32{0x0144b16d, 0x00a6e9e8, 0x001337d9, 0x018e636c, 0x03512fd3, 0x010f31fd, 0x02a03dae, 0x003a1b24, 0x00ad77d4, 0x003f8b21}}}, + {X: Field{[10]uint32{0x03555fc5, 0x03e5926d, 0x02ad302e, 0x02c39fc3, 0x00f62f12, 0x00ca8d92, 0x02bef427, 0x00136b1d, 0x0224a4ec, 0x002130a6}}, Y: Field{[10]uint32{0x014f970e, 0x029fc29e, 0x017ecb18, 0x014ce391, 0x03929ec4, 0x008b927e, 0x02b454cf, 0x01529c43, 0x02bb283a, 0x0039d883}}}, + {X: Field{[10]uint32{0x02cf43a8, 0x00c55cfa, 0x031e9283, 0x01cc041f, 0x03a309cd, 0x03c705de, 0x0340f4e5, 0x017fa487, 0x0234e75d, 0x001aee99}}, Y: Field{[10]uint32{0x03421582, 0x01af8dbe, 0x01a979d8, 0x03a9519c, 0x025b47fd, 0x00882715, 0x0086b441, 0x02090c7c, 0x008c4216, 0x000cfff8}}}, + {X: Field{[10]uint32{0x01ef0150, 0x03c59d1b, 0x01bfa47c, 0x02625567, 0x02488f62, 0x02796dba, 0x01a6046d, 0x03006f12, 0x02f051b0, 0x0004ed9e}}, Y: Field{[10]uint32{0x00237608, 0x03c764e8, 0x0109ee29, 0x01648c85, 0x03a54add, 0x0212b2b2, 0x037cc35d, 0x02fc2d4c, 0x014b01c1, 0x00343a24}}}, + {X: Field{[10]uint32{0x03af9300, 0x033c4fa4, 0x007202c5, 0x032d8d90, 0x02fdf779, 0x03331289, 0x02abc946, 0x02d8abaf, 0x01bfb5dc, 0x00058488}}, Y: Field{[10]uint32{0x00f83b2c, 0x026dfa4b, 0x007b72a4, 0x036d86bb, 0x00d1a212, 0x00ad484f, 0x0266bd30, 0x01b7e1c2, 0x02c5dd9d, 0x0034ff78}}}, + {X: Field{[10]uint32{0x02eb508b, 0x0242fe38, 0x003d39a5, 0x02fe19b7, 0x017eda1f, 0x00ad4880, 0x03602770, 0x016118eb, 0x020cc62f, 0x000c314d}}, Y: Field{[10]uint32{0x02c44efe, 0x02d2a072, 0x039f01aa, 0x03006dd9, 0x016c30e8, 0x037ab185, 0x037dbe8e, 0x0268ae20, 0x02f5009b, 0x00323a46}}}, + {X: Field{[10]uint32{0x00ec3576, 0x02e002c0, 0x01007a38, 0x03c21cdc, 0x02640364, 0x00925c9f, 0x027f38b7, 0x0147d7a9, 0x027fdd91, 0x00301966}}, Y: Field{[10]uint32{0x01cf47e3, 0x03c58069, 0x03ded648, 0x02b8728c, 0x018c57fa, 0x01d100d8, 0x018b5a77, 0x00c70d51, 0x00cb6fa1, 0x0029bd92}}}, + {X: Field{[10]uint32{0x02679386, 0x009e1fc0, 0x004be43e, 0x025429a1, 0x037d50fe, 0x0386ac72, 0x006472a8, 0x02a24811, 0x024db795, 0x000c8548}}, Y: Field{[10]uint32{0x018a9bf0, 0x01407e4d, 0x0238cc5e, 0x006fbf0f, 0x03faba83, 0x00b3ff17, 0x00c7eb59, 0x023619a4, 0x026297f2, 0x00095d41}}}, + {X: Field{[10]uint32{0x01871145, 0x029a2868, 0x035b3b19, 0x01926625, 0x03fe7762, 0x02971553, 0x0115445d, 0x01c120ef, 0x00e2a87a, 0x00095d95}}, Y: Field{[10]uint32{0x02636ec5, 0x0232234c, 0x010439c2, 0x00c259a4, 0x009efe24, 0x032816c6, 0x03fc4eef, 0x03c53e75, 0x019d0c67, 0x003f2e4c}}}, + {X: Field{[10]uint32{0x002f1b49, 0x0262c5c2, 0x03e800ce, 0x01b5b6cc, 0x0017c8a6, 0x039a422a, 0x017926e6, 0x03c553cf, 0x0201e504, 0x00291e1a}}, Y: Field{[10]uint32{0x0323a2fc, 0x00a184b4, 0x03bfd0b0, 0x038998ab, 0x027f86e8, 0x02df3e9e, 0x01a29678, 0x013e7fa0, 0x0142fc2e, 0x0015db93}}}, + {X: Field{[10]uint32{0x02db1e71, 0x02966998, 0x01e383c5, 0x03dfa0b8, 0x0090b484, 0x022bcda7, 0x013ae62a, 0x02615912, 0x03a9260c, 0x0014503d}}, Y: Field{[10]uint32{0x010bae86, 0x011c534d, 0x021fe2f6, 0x03026149, 0x0394ddcd, 0x03afe454, 0x026aa92c, 0x0277ed8e, 0x02c2b087, 0x0013945c}}}, + {X: Field{[10]uint32{0x00a66dfc, 0x01b3cc93, 0x0134231e, 0x004d4843, 0x03b781fe, 0x02295e75, 0x03d6d901, 0x0142de71, 0x020c0f0f, 0x003d5675}}, Y: Field{[10]uint32{0x014eed15, 0x00aeac23, 0x0208e205, 0x037328a7, 0x025f1f05, 0x02f6a390, 0x015fb56a, 0x014a972a, 0x02ae8e58, 0x0004b673}}}, + {X: Field{[10]uint32{0x00547e7c, 0x021a686c, 0x038570cc, 0x037e68cd, 0x00a4fb73, 0x00e814d5, 0x030e0be5, 0x03406f25, 0x03f50fa2, 0x0022241f}}, Y: Field{[10]uint32{0x03a3d2f5, 0x0055ee5f, 0x0373dab9, 0x006f0036, 0x025b2640, 0x03f29aaa, 0x03145f26, 0x0046d909, 0x0356cc12, 0x003d614e}}}, + {X: Field{[10]uint32{0x018c45ca, 0x02cfa9b9, 0x027ecfe4, 0x03c937bc, 0x03c8ac82, 0x038763fe, 0x011fba31, 0x0141b63a, 0x03f64541, 0x00330792}}, Y: Field{[10]uint32{0x00d27592, 0x00a98fce, 0x03b77590, 0x036c9d4f, 0x011efcf1, 0x00c1a55b, 0x00585a60, 0x0060f1a1, 0x017da875, 0x001d85d2}}}, + {X: Field{[10]uint32{0x03ca99d5, 0x00436ab2, 0x00dd4eca, 0x01f24d15, 0x016c3955, 0x007b7780, 0x02a6f9ef, 0x0108416d, 0x0037ef74, 0x001fb8b1}}, Y: Field{[10]uint32{0x033772d6, 0x0125a3db, 0x025b1827, 0x01c36f7b, 0x033e6d7b, 0x01457695, 0x00503f69, 0x03d767cc, 0x03345eef, 0x00085d51}}}, + {X: Field{[10]uint32{0x03e2465c, 0x0278178c, 0x0290f653, 0x012ed0b6, 0x003605ba, 0x01afd083, 0x033af3ef, 0x02d2a68f, 0x02a239f9, 0x0001cbfb}}, Y: Field{[10]uint32{0x01f553cc, 0x00abb67a, 0x0120a36d, 0x0345ac33, 0x0085482c, 0x000a50a3, 0x002ad9ad, 0x037b7723, 0x02ffdf7a, 0x0000280d}}}, + {X: Field{[10]uint32{0x0099914a, 0x0323d780, 0x0307c938, 0x02b89905, 0x03c8a0cb, 0x035e8e9b, 0x01b627c4, 0x0374019a, 0x033e94a0, 0x000d8f68}}, Y: Field{[10]uint32{0x02f58bd9, 0x03a6301e, 0x0359c3d0, 0x037351e2, 0x03a2f936, 0x00541bd1, 0x0236099c, 0x001e9038, 0x0277ef13, 0x0026f6a6}}}, + {X: Field{[10]uint32{0x02c133fe, 0x0246183c, 0x036e1a7e, 0x02347b26, 0x0393af0f, 0x02f817f7, 0x034a48bb, 0x010a426b, 0x0064c839, 0x001d9502}}, Y: Field{[10]uint32{0x00a3ecc2, 0x03970f95, 0x0084583c, 0x03d697b5, 0x01b3cc98, 0x02bcf5bc, 0x013a236d, 0x03ac0888, 0x03d7738c, 0x003c1a48}}}, + {X: Field{[10]uint32{0x02b239c4, 0x032d007c, 0x01606c94, 0x0224d1c2, 0x0251e381, 0x00ba6928, 0x01945c16, 0x022a7e2f, 0x00217a31, 0x0015cfc2}}, Y: Field{[10]uint32{0x0346bef5, 0x00754ead, 0x03fbe7ca, 0x00a35f1c, 0x00496cc1, 0x030faf45, 0x00b105fe, 0x02792e52, 0x00f27de6, 0x001f9e39}}}, + {X: Field{[10]uint32{0x02b01f5f, 0x02a4d388, 0x01467213, 0x02120669, 0x02f90d21, 0x015f97b5, 0x0009656f, 0x012e4ed4, 0x01818923, 0x000214de}}, Y: Field{[10]uint32{0x02e475f8, 0x01bc07d8, 0x02820ed2, 0x003b267e, 0x029281fc, 0x02733be8, 0x0069bbe8, 0x00266387, 0x01e8cc99, 0x0032529e}}}, + {X: Field{[10]uint32{0x01eb6041, 0x0184cb3b, 0x0051257f, 0x0031e001, 0x016f00a3, 0x033c3b61, 0x01ccd4c1, 0x000cd8ec, 0x01122989, 0x0014ce21}}, Y: Field{[10]uint32{0x0183334e, 0x022d12da, 0x03722fd7, 0x01551a6f, 0x000dd22f, 0x02f26a11, 0x038feacd, 0x0346e693, 0x0252f856, 0x00355b8a}}}, + {X: Field{[10]uint32{0x00e4796d, 0x00eaabac, 0x00c852f3, 0x02300e71, 0x01c5cb47, 0x03ee6258, 0x009f913a, 0x03ded971, 0x008a750e, 0x00107b79}}, Y: Field{[10]uint32{0x02559de4, 0x0090270c, 0x0065b8de, 0x02734693, 0x0104bdfe, 0x0012d4f2, 0x0092ea7f, 0x011a0062, 0x03f94b6c, 0x0035d31e}}}, + {X: Field{[10]uint32{0x01f08148, 0x034ed4f9, 0x03eefb6d, 0x00e4eb3f, 0x03fe7621, 0x03b5aa77, 0x02eece4e, 0x03dcda64, 0x01f36596, 0x0025fa4c}}, Y: Field{[10]uint32{0x00dd5f1b, 0x01838a85, 0x002c09b6, 0x0052d8b5, 0x0039a246, 0x01013ee9, 0x0276ce77, 0x0314a827, 0x013353b9, 0x000f6a26}}}, + {X: Field{[10]uint32{0x0222579d, 0x00024dec, 0x039a54db, 0x01933125, 0x035c55b6, 0x0094acde, 0x00476335, 0x02c410e6, 0x02ea3ca8, 0x00132bd3}}, Y: Field{[10]uint32{0x011607bb, 0x01c7358a, 0x01464621, 0x00013034, 0x0345a191, 0x01c75628, 0x03885807, 0x02f701f3, 0x03320a93, 0x00030999}}}, + {X: Field{[10]uint32{0x027b1ca4, 0x029f2127, 0x0306bb7e, 0x03e086a1, 0x01b52960, 0x01478e0e, 0x0324ee4e, 0x020f0cea, 0x02905b34, 0x00215f07}}, Y: Field{[10]uint32{0x0269dd80, 0x02456ebf, 0x00c01be5, 0x03f7a6d0, 0x011c6b09, 0x028b9af1, 0x018380c4, 0x021dc6cd, 0x010c7a57, 0x00235ba7}}}, + {X: Field{[10]uint32{0x00b5a182, 0x03b4b06f, 0x0322c1e7, 0x02925a1a, 0x0310ec39, 0x0372e8f2, 0x00fc1248, 0x03deb69a, 0x030be0db, 0x001043bd}}, Y: Field{[10]uint32{0x007f9e94, 0x02e508c9, 0x03db3b7c, 0x01e6023f, 0x00e6925d, 0x002d2970, 0x03074aee, 0x015bd73b, 0x02a3331a, 0x00349ba7}}}, + {X: Field{[10]uint32{0x0351029f, 0x00410655, 0x03f7a307, 0x03e69f98, 0x0289dff6, 0x01ea90c6, 0x03e5ec30, 0x03ac4205, 0x03a8c831, 0x00232be1}}, Y: Field{[10]uint32{0x03c8890a, 0x02421c99, 0x02058bfe, 0x001cf176, 0x0113aad2, 0x030e9192, 0x0265ba07, 0x029b0f23, 0x02e1c8dd, 0x000fc2f5}}}, + {X: Field{[10]uint32{0x02f10e8e, 0x01b57ebf, 0x037798c1, 0x022ffee6, 0x01b35ca1, 0x034c53ec, 0x026a8a39, 0x00920d52, 0x02cfe92d, 0x003bb7b8}}, Y: Field{[10]uint32{0x0114c4c3, 0x02cd6ab9, 0x01624c1e, 0x03259e4f, 0x009fcd12, 0x03e73877, 0x031181f3, 0x02fbf92c, 0x02b021f0, 0x0032d456}}}, + {X: Field{[10]uint32{0x02ebcee1, 0x03bb2bca, 0x00312f02, 0x01d5d135, 0x0248bb2a, 0x0045b6d4, 0x02d6a4e9, 0x02dfddee, 0x02c71e77, 0x00232fde}}, Y: Field{[10]uint32{0x039b7320, 0x028b015d, 0x03799169, 0x01fc36da, 0x02b6f669, 0x0034258d, 0x017f97c3, 0x009ad4f4, 0x0331f67b, 0x001d9712}}}, + {X: Field{[10]uint32{0x00995db2, 0x03f19c95, 0x02dfcc19, 0x032e6190, 0x02715dc6, 0x00380448, 0x03f0627f, 0x026abcd3, 0x01b4cd44, 0x001c3351}}, Y: Field{[10]uint32{0x03535c8e, 0x00314e0b, 0x00c4120f, 0x036442d8, 0x02ee184a, 0x02b685b1, 0x0320eac3, 0x025ec610, 0x00567614, 0x0020b965}}}, + {X: Field{[10]uint32{0x007c45d5, 0x00bf7edb, 0x002ea070, 0x011b83d1, 0x03050e51, 0x00defb0f, 0x039d558e, 0x033f6479, 0x03f9783f, 0x0033f885}}, Y: Field{[10]uint32{0x01c419d5, 0x03dc1e65, 0x00dfc7b6, 0x02185eed, 0x00da2251, 0x0231f0eb, 0x03d70d87, 0x00feff15, 0x010e8645, 0x0014df2f}}}, + {X: Field{[10]uint32{0x00579d52, 0x005e43d2, 0x0317e065, 0x032c4afc, 0x01ccabd2, 0x033ebe9c, 0x033d4f74, 0x02ee38af, 0x00df6486, 0x002609b0}}, Y: Field{[10]uint32{0x01c57342, 0x005cb76e, 0x02da734f, 0x015e353b, 0x02ae3bb4, 0x03f0db45, 0x0349c052, 0x01894f4d, 0x0186f86d, 0x000f6fcd}}}, + {X: Field{[10]uint32{0x028a02c4, 0x013d65b8, 0x00e74d0f, 0x037d5db2, 0x00a13e13, 0x01d13a71, 0x033fa3e3, 0x012f0b1a, 0x00ef381b, 0x003a863f}}, Y: Field{[10]uint32{0x0209f397, 0x03f9a7fb, 0x01874d7f, 0x02931074, 0x02041c9a, 0x016568c2, 0x0103c7fe, 0x01175e1c, 0x039d2bc4, 0x0030f9af}}}, + {X: Field{[10]uint32{0x026d8f4a, 0x033e433f, 0x033a0e88, 0x01759cc0, 0x0221b82e, 0x02705bfe, 0x00618bec, 0x01695187, 0x0065c09d, 0x001b78b1}}, Y: Field{[10]uint32{0x004ee2ba, 0x01973caf, 0x03f5d28b, 0x02c0ca02, 0x03e1c4cc, 0x00ec87d6, 0x00a8199d, 0x0220ad0a, 0x03d28950, 0x000d9eb2}}}, + {X: Field{[10]uint32{0x02183f4e, 0x03e9cfc6, 0x0284706f, 0x01a27bf4, 0x03cecc9c, 0x03469505, 0x0250f803, 0x031f516b, 0x0213ee10, 0x00358a1b}}, Y: Field{[10]uint32{0x02a56f56, 0x004fa4da, 0x008ad37f, 0x024d5f6e, 0x01e965ab, 0x0320a790, 0x023ca411, 0x013a271f, 0x03b75520, 0x001eae4a}}}, + {X: Field{[10]uint32{0x03c3bf58, 0x020f7dc8, 0x0364dfce, 0x0187bcf0, 0x0173f0c8, 0x036dbc82, 0x0125962f, 0x01182895, 0x02faea67, 0x001d49b9}}, Y: Field{[10]uint32{0x00e3a674, 0x023d2306, 0x01ae8f00, 0x02b04b8d, 0x0125a21f, 0x02cc8dd4, 0x0274411c, 0x01846f4c, 0x00e0d5a8, 0x000b1daa}}}, + {X: Field{[10]uint32{0x0079308d, 0x0141c3e2, 0x00b2ab78, 0x000e24fa, 0x02e737c8, 0x0067d47d, 0x01d5d897, 0x0128f5b4, 0x02da56d6, 0x003f32aa}}, Y: Field{[10]uint32{0x039362d1, 0x0171aa11, 0x03d7d868, 0x034ff9b9, 0x01a2ee95, 0x025a7eae, 0x01750efa, 0x03de4bbf, 0x01663fac, 0x002098b1}}}, + {X: Field{[10]uint32{0x01b57fe3, 0x012c4556, 0x0088afef, 0x02a2ce9a, 0x03bd6d91, 0x028e5e11, 0x00483797, 0x017d0f31, 0x03b8eb8a, 0x002d8344}}, Y: Field{[10]uint32{0x00ebaa54, 0x033e0e18, 0x038ae94e, 0x014cdd56, 0x038405b0, 0x032217c7, 0x0104acbe, 0x021615d8, 0x02be5d2b, 0x002afdcf}}}, + {X: Field{[10]uint32{0x0377f8be, 0x039b3a30, 0x02d90127, 0x019b7ea8, 0x014250fd, 0x00de7e49, 0x016d2c14, 0x0361cbff, 0x030f4a0d, 0x000ccb52}}, Y: Field{[10]uint32{0x03c6232b, 0x021f3cc6, 0x02354b78, 0x033761f3, 0x03110dfa, 0x0382c5fa, 0x0333d7d9, 0x00d42fd0, 0x014347c2, 0x0000dfcc}}}, + {X: Field{[10]uint32{0x00c5788f, 0x03be1ed3, 0x0394e52d, 0x0082d556, 0x025d0216, 0x01ef44e3, 0x020e8803, 0x0358cc07, 0x02e62ce6, 0x003a66cb}}, Y: Field{[10]uint32{0x025546bc, 0x01210593, 0x03c6d2c0, 0x030ae469, 0x00e2858d, 0x02ecf954, 0x031df268, 0x032a7db7, 0x02fedabc, 0x00327a81}}}, + {X: Field{[10]uint32{0x01c54353, 0x0015b712, 0x033b1dfb, 0x0247a015, 0x005af241, 0x01c666f7, 0x02692a1d, 0x01ebb9ff, 0x00382a97, 0x00227ab5}}, Y: Field{[10]uint32{0x01994ece, 0x003e6bf6, 0x0319c2de, 0x00efaf97, 0x0107fec4, 0x02dc042b, 0x0167f706, 0x01ddb0aa, 0x01cedb2d, 0x002d5cb7}}}, + {X: Field{[10]uint32{0x0198268f, 0x021ed3b5, 0x01488595, 0x03fec243, 0x004777ba, 0x0231d016, 0x006f6fa9, 0x0104fc2d, 0x018e529b, 0x000336b6}}, Y: Field{[10]uint32{0x03ed034e, 0x03ba0c2f, 0x00cac3ef, 0x0205e22c, 0x02ceabc2, 0x0087e1e1, 0x00f10db8, 0x0398e51c, 0x015e0543, 0x0035016a}}}, + {X: Field{[10]uint32{0x02ee2cc3, 0x00a43921, 0x00f5be41, 0x0275783d, 0x02c26984, 0x0330c502, 0x03f69ad3, 0x00ccaf99, 0x03411cc1, 0x001425bb}}, Y: Field{[10]uint32{0x03f8268a, 0x0114d0dc, 0x02bb418c, 0x029bcb51, 0x0149ef34, 0x0029ecfc, 0x021f3123, 0x02c1afb5, 0x029fccd4, 0x001fcce1}}}, + {X: Field{[10]uint32{0x00a5be61, 0x03d838a9, 0x00dbb8b9, 0x03b58e3b, 0x038c4d59, 0x0322fa61, 0x007253a2, 0x019cd218, 0x0270a096, 0x002f02fa}}, Y: Field{[10]uint32{0x02873b78, 0x03883345, 0x03320873, 0x03c0a777, 0x01054d1f, 0x01b1309d, 0x0286129e, 0x01382c12, 0x01ac3c2b, 0x00386444}}}, + {X: Field{[10]uint32{0x03223ec1, 0x014500e1, 0x007a7dc4, 0x02297210, 0x03b024bb, 0x02a9f5d1, 0x00674d38, 0x01682038, 0x0169ac8f, 0x000b4599}}, Y: Field{[10]uint32{0x019a597a, 0x006f5df8, 0x038f73dd, 0x021f8888, 0x01445c15, 0x03bb1396, 0x027d92d4, 0x01a97c4a, 0x03386221, 0x00122bc6}}}, + {X: Field{[10]uint32{0x0145ba30, 0x03a2dfe0, 0x01d40f27, 0x037f8f3c, 0x012947cd, 0x01bb1ded, 0x00e37b32, 0x00454377, 0x03aebb8b, 0x002e32f3}}, Y: Field{[10]uint32{0x00823ca4, 0x01bf76cd, 0x01a0562b, 0x03ef357d, 0x00ffc2c3, 0x021a287a, 0x030ec022, 0x034b7218, 0x00ab8b2a, 0x003548d3}}}, + {X: Field{[10]uint32{0x00960ee7, 0x02abb1b7, 0x02a227a9, 0x02f9823b, 0x01fb2e3e, 0x006b0676, 0x01db9c0f, 0x004bd377, 0x0092563f, 0x003ece58}}, Y: Field{[10]uint32{0x01823c45, 0x02798bb2, 0x0395358c, 0x02ec1a50, 0x01646e88, 0x00bac07a, 0x027f661c, 0x028e50f4, 0x01dffda1, 0x00197959}}}, + {X: Field{[10]uint32{0x0014b297, 0x03fe9529, 0x0022580a, 0x03b88400, 0x02f8da06, 0x02c89d2c, 0x0225150d, 0x0337ea41, 0x01760b8d, 0x00071ba7}}, Y: Field{[10]uint32{0x01666255, 0x02f0bbe9, 0x00057607, 0x02e5e35d, 0x0085679f, 0x02fb62c4, 0x026edcbb, 0x02c2c151, 0x010d009a, 0x001c1ad1}}}, + {X: Field{[10]uint32{0x01fca1c3, 0x0180d46e, 0x00277dc6, 0x00355578, 0x0377f55a, 0x026173b2, 0x0166b13d, 0x03fc39b9, 0x01c146ec, 0x000b810f}}, Y: Field{[10]uint32{0x026d8398, 0x01c7915c, 0x00e1428a, 0x0000aab1, 0x03665da5, 0x02429eaf, 0x011103b0, 0x03abc281, 0x01caf75c, 0x0000713c}}}, + {X: Field{[10]uint32{0x005f482f, 0x002f2696, 0x0192cb4b, 0x03b8b625, 0x019549f9, 0x025f5e15, 0x023ee12d, 0x023a4399, 0x030ca1bf, 0x0016b85e}}, Y: Field{[10]uint32{0x00fc8111, 0x008daf2d, 0x031c716f, 0x02b6235c, 0x03a71806, 0x03a3969d, 0x006966c1, 0x0002f1cf, 0x03349317, 0x002ec37d}}}, + {X: Field{[10]uint32{0x03caafc4, 0x023d1a29, 0x0271c1b0, 0x037f241a, 0x00fca910, 0x01d7b6a5, 0x0011c46e, 0x030f974f, 0x03426a24, 0x003ea2fc}}, Y: Field{[10]uint32{0x035954e2, 0x02b6930b, 0x000435dc, 0x03e795f0, 0x014e2884, 0x016cf3c1, 0x01e6c846, 0x03ef678d, 0x017cdb07, 0x00329a60}}}, + {X: Field{[10]uint32{0x011a88a4, 0x0016bee6, 0x003cb0f9, 0x02d779c2, 0x011e1031, 0x00fd0e53, 0x01f67aea, 0x035fdee7, 0x01c1846d, 0x000b37fc}}, Y: Field{[10]uint32{0x0376f39e, 0x03fcf8bb, 0x00d3b507, 0x023e3959, 0x016ea0d8, 0x038c11c4, 0x00530fed, 0x0390adf4, 0x024f3827, 0x0012ef5c}}}, + {X: Field{[10]uint32{0x013b6905, 0x02ccc8a7, 0x02df95f5, 0x02472a50, 0x01c5bb82, 0x019413e2, 0x01f82b29, 0x0127b2bf, 0x000055ca, 0x001beb6f}}, Y: Field{[10]uint32{0x00b7df62, 0x03d5fbd5, 0x02868c06, 0x014fd64f, 0x03911a30, 0x03104645, 0x02f94728, 0x020c9a95, 0x0184033a, 0x003dd9c4}}}, + {X: Field{[10]uint32{0x00dd0841, 0x0280392e, 0x01fca2f5, 0x00184964, 0x026f4a1e, 0x0357aa34, 0x02b15f55, 0x02a90373, 0x015a2f26, 0x0031451a}}, Y: Field{[10]uint32{0x0113266c, 0x014a0eac, 0x03a6e800, 0x02c45b63, 0x01652905, 0x00ff13bc, 0x01375677, 0x02c1aa42, 0x02082e78, 0x001415ae}}}, + {X: Field{[10]uint32{0x037ff933, 0x004785b2, 0x0306466c, 0x03bbf747, 0x01aad758, 0x03862304, 0x00368dd3, 0x013e1553, 0x00d49347, 0x0020f72e}}, Y: Field{[10]uint32{0x030a53c7, 0x022f6118, 0x02288e9f, 0x03ec3987, 0x030d6ed6, 0x004679e7, 0x027a029e, 0x01c649f1, 0x033d04e5, 0x00041396}}}, + {X: Field{[10]uint32{0x00c8a93f, 0x032aec7f, 0x01127a8b, 0x0208b8ac, 0x015f9ae8, 0x01597e6a, 0x03690890, 0x002c990e, 0x038acf9a, 0x002f1973}}, Y: Field{[10]uint32{0x00fb2143, 0x030a4a85, 0x039c3ae9, 0x03045569, 0x0023ff28, 0x019a66de, 0x000ac90f, 0x03741a82, 0x016ba31d, 0x003f7e5c}}}, + {X: Field{[10]uint32{0x009f140b, 0x0272f493, 0x0153c1e0, 0x035901c3, 0x02695e37, 0x016b4de8, 0x0174b476, 0x004a904b, 0x03a9520b, 0x00121de3}}, Y: Field{[10]uint32{0x029c373e, 0x0328875d, 0x01b39fbe, 0x0316cb8d, 0x01446dd3, 0x03146d1a, 0x03b4c02b, 0x016500e1, 0x0005bec1, 0x00337192}}}, + {X: Field{[10]uint32{0x0301dc25, 0x019f77e8, 0x006e841f, 0x02d4cb46, 0x0328077b, 0x03b5a1cf, 0x01c88312, 0x01621a3b, 0x002c6a73, 0x00276cb1}}, Y: Field{[10]uint32{0x03b3a0dc, 0x024098af, 0x00ac8569, 0x0351e1b4, 0x00aa0ac5, 0x01a8c96c, 0x0193e064, 0x02d17b84, 0x0235ec9d, 0x0038072c}}}, + {X: Field{[10]uint32{0x00f8da6b, 0x0201cd27, 0x012aefb2, 0x023c925b, 0x03037c6c, 0x015ac9ff, 0x021ef442, 0x0009690e, 0x018f62bf, 0x0032f3fd}}, Y: Field{[10]uint32{0x03b1896d, 0x0379b94e, 0x01da2818, 0x006f0440, 0x0128f533, 0x00784daf, 0x029251fe, 0x009d4c0e, 0x02d52da3, 0x0013f667}}}, + {X: Field{[10]uint32{0x034f3639, 0x019c94db, 0x00270933, 0x03ce45e2, 0x02070cbc, 0x00ec77e5, 0x03a12a29, 0x02311605, 0x039787e6, 0x00275482}}, Y: Field{[10]uint32{0x02bc0f14, 0x027b3bed, 0x036bb22d, 0x001e763e, 0x01041fec, 0x028c9589, 0x01885ca0, 0x02625764, 0x015d2b53, 0x00185784}}}, + {X: Field{[10]uint32{0x0225dbbd, 0x01a8d064, 0x02e7b3ef, 0x00f7e0ec, 0x024b0bfd, 0x02331b5b, 0x023d1820, 0x030af2f0, 0x01c40057, 0x00319237}}, Y: Field{[10]uint32{0x018ab3d8, 0x029fef14, 0x02caf209, 0x0187705f, 0x01ec16fe, 0x019e8f67, 0x0347e99e, 0x00659a6e, 0x006338dd, 0x0002b26a}}}, + {X: Field{[10]uint32{0x002137dc, 0x0259187a, 0x0229a7e5, 0x00a5ed17, 0x02b80ead, 0x0248877b, 0x01e3f1e7, 0x03dd9ebf, 0x0035ea96, 0x002b847e}}, Y: Field{[10]uint32{0x00452596, 0x0085e393, 0x01a15c2a, 0x0395397e, 0x034c5dfe, 0x00654eb2, 0x016e1b5f, 0x018bca26, 0x03ecb65a, 0x0008114e}}}, + {X: Field{[10]uint32{0x0364d46f, 0x00a03428, 0x00fec029, 0x03f8d970, 0x000699f6, 0x023bd44a, 0x03b9293d, 0x02993748, 0x01ad56f8, 0x0028d552}}, Y: Field{[10]uint32{0x03fbbe75, 0x0335b842, 0x00868f11, 0x02480f19, 0x008f55a2, 0x01fffb38, 0x015ffce1, 0x026604c0, 0x01cba38c, 0x00321010}}}, + {X: Field{[10]uint32{0x035f8077, 0x011c25f8, 0x03a649c3, 0x0020351c, 0x022aad83, 0x01f6b226, 0x01bfaef3, 0x01d78423, 0x0029af55, 0x001d61dc}}, Y: Field{[10]uint32{0x03c2b8b6, 0x02a173d7, 0x0165b2e5, 0x01d085b3, 0x01603cd6, 0x005df31a, 0x02437620, 0x0146efb4, 0x0097d198, 0x00210ec1}}}, + {X: Field{[10]uint32{0x02d4ea99, 0x0181fecc, 0x031ca917, 0x03a43cba, 0x01ae00b9, 0x00f94cb0, 0x027b1f68, 0x03f54311, 0x0168ca7f, 0x00113b8c}}, Y: Field{[10]uint32{0x012c3270, 0x00fadff2, 0x001411e7, 0x038e6e5b, 0x03022564, 0x024443bb, 0x01a9f9a0, 0x01684efb, 0x02a8120b, 0x00042883}}}, + {X: Field{[10]uint32{0x025337d4, 0x02dbd99e, 0x007d6477, 0x02550b2c, 0x01461e45, 0x00eee632, 0x0278f92f, 0x02bc2e41, 0x00898daf, 0x0026804f}}, Y: Field{[10]uint32{0x023c2a73, 0x012e87f6, 0x0205e877, 0x03c7fd4c, 0x03fec396, 0x017367f2, 0x009b773f, 0x008e939b, 0x005ac966, 0x00047e12}}}, + {X: Field{[10]uint32{0x02b47d5c, 0x01cf5a6d, 0x01bea83e, 0x005cae2d, 0x013fa12d, 0x03d42cd2, 0x0019a615, 0x01060882, 0x00a144d5, 0x002d178a}}, Y: Field{[10]uint32{0x02c29f4b, 0x01b0c1a4, 0x00ae45b7, 0x0248256f, 0x03fb1c20, 0x00e65c94, 0x03f1dec4, 0x0334877f, 0x0383ccda, 0x003661f6}}}, + {X: Field{[10]uint32{0x0241a0c9, 0x000f4d69, 0x02603cdc, 0x0014074a, 0x009a6592, 0x004064be, 0x0065d073, 0x016222a2, 0x02534984, 0x00279f5a}}, Y: Field{[10]uint32{0x00f462d9, 0x00052615, 0x033233c0, 0x02f2c87e, 0x02ce5f1f, 0x0134702c, 0x03e5690b, 0x027e9fd5, 0x00edace2, 0x003285dd}}}, + {X: Field{[10]uint32{0x00991f47, 0x03fa90d5, 0x00b01b9a, 0x01023bc5, 0x03e433a9, 0x02017058, 0x03b306d5, 0x0184f159, 0x0029be1b, 0x00044e85}}, Y: Field{[10]uint32{0x03928697, 0x005159de, 0x023c7500, 0x0006454a, 0x000321e8, 0x01478e17, 0x0191ec1a, 0x032ee124, 0x01fa6d26, 0x000897b9}}}, + {X: Field{[10]uint32{0x018d9181, 0x01575c50, 0x03964776, 0x029b4375, 0x016d6eb0, 0x01ac017a, 0x01e2597f, 0x02177e4c, 0x01d102cf, 0x000cbb23}}, Y: Field{[10]uint32{0x03f9d8b9, 0x035eeeeb, 0x022ab00d, 0x001786a8, 0x003423bc, 0x0310c1d9, 0x02f7f4d9, 0x0392966f, 0x01d078b3, 0x003f5c63}}}, + {X: Field{[10]uint32{0x02e9246e, 0x0063a45c, 0x03865b12, 0x01c3bd1d, 0x01b145db, 0x018547e2, 0x021a5f14, 0x036b9017, 0x0267f2ce, 0x002b690c}}, Y: Field{[10]uint32{0x007cf82c, 0x038352c9, 0x00a541f3, 0x021b0acb, 0x0116e396, 0x02c11d1a, 0x0315c578, 0x0134a7e7, 0x02e04d1f, 0x0034522f}}}, + {X: Field{[10]uint32{0x01bf0cbe, 0x02e611e5, 0x006bbbf7, 0x001c805f, 0x0265f5ca, 0x036e8694, 0x03e662be, 0x01d29a47, 0x02bedebd, 0x00206282}}, Y: Field{[10]uint32{0x009c0a53, 0x006738c2, 0x03bc8da7, 0x00ee4240, 0x030ac0f0, 0x0389cede, 0x008da9bc, 0x00b1cda6, 0x006a0187, 0x0039ecb4}}}, + {X: Field{[10]uint32{0x010b3c94, 0x02fa041f, 0x02f14d80, 0x01b7cb44, 0x02ae7602, 0x0165bc27, 0x00c1a1bf, 0x03684201, 0x0355ef77, 0x000bd27a}}, Y: Field{[10]uint32{0x02038b83, 0x0138e0cf, 0x02ffa569, 0x01ae00b2, 0x011a7903, 0x01b533b4, 0x0289aa1e, 0x004463ad, 0x0010002f, 0x001a8896}}}, + {X: Field{[10]uint32{0x02faf74a, 0x0314d4de, 0x0278ba5c, 0x031e61b1, 0x02bf66d5, 0x03b6f457, 0x02f8029b, 0x00097daf, 0x017054cb, 0x001ff953}}, Y: Field{[10]uint32{0x00ad89b0, 0x025b042d, 0x03695022, 0x03f76dd5, 0x00a47a82, 0x02462155, 0x016afb66, 0x0198c9b4, 0x03ec72ac, 0x003f7185}}}, + {X: Field{[10]uint32{0x02ed2689, 0x028fdd63, 0x0131956a, 0x02eb7bb0, 0x03411ec9, 0x02e71575, 0x01b8675d, 0x02128327, 0x03662b82, 0x00213d64}}, Y: Field{[10]uint32{0x02cd0d88, 0x0263a0c2, 0x01dfe4de, 0x024bd07b, 0x01480425, 0x01144722, 0x01119c4c, 0x01bb5e09, 0x01d96bef, 0x0020db99}}}, + {X: Field{[10]uint32{0x0185ee1b, 0x029bed50, 0x01f52da0, 0x004978ad, 0x00a46b16, 0x033326ff, 0x02eb6b71, 0x02083781, 0x00301a84, 0x003242aa}}, Y: Field{[10]uint32{0x010dc8df, 0x00d48dfe, 0x02efb161, 0x01276489, 0x01cc2134, 0x02671628, 0x031e05cd, 0x01760a4c, 0x03c00b28, 0x003aa1b5}}}, + {X: Field{[10]uint32{0x012ef100, 0x01f65b86, 0x00addc05, 0x02b673f7, 0x018669b2, 0x00d850aa, 0x03047ef6, 0x0126f9a7, 0x0176abae, 0x003fed35}}, Y: Field{[10]uint32{0x03ec6c7a, 0x024406ed, 0x0012080a, 0x01b6948e, 0x013d9596, 0x0203daa3, 0x02700e4c, 0x038060ce, 0x0114b2d5, 0x000dd033}}}, + {X: Field{[10]uint32{0x01403de0, 0x01e3f2b3, 0x00a3c08b, 0x0174b0cf, 0x0312c24b, 0x026bfbff, 0x03ebb618, 0x01af33ad, 0x018967ad, 0x001022a3}}, Y: Field{[10]uint32{0x01caecf3, 0x02f391f8, 0x013a2cdc, 0x015ff58c, 0x014acd35, 0x007605c7, 0x00fb66ff, 0x0310ba8a, 0x03a6378c, 0x000edd87}}}, + {X: Field{[10]uint32{0x0053b787, 0x0120ba1f, 0x027123e3, 0x013c60c9, 0x006c80c0, 0x006c2ac1, 0x01e27e3f, 0x00276ff7, 0x03f61531, 0x0016028c}}, Y: Field{[10]uint32{0x0028431a, 0x00d4f039, 0x02dd801d, 0x028d58e6, 0x02f70a33, 0x025c0bfd, 0x01ac5ae6, 0x020783a6, 0x03c3fddc, 0x002ee01c}}}, + {X: Field{[10]uint32{0x0344130f, 0x039e27e0, 0x018c2505, 0x036ce31a, 0x014c7860, 0x020d26b4, 0x02b11008, 0x03332b11, 0x02947054, 0x000b4c42}}, Y: Field{[10]uint32{0x023db697, 0x0237204f, 0x02a9a5d2, 0x0168b89a, 0x022df187, 0x0244f643, 0x011be0a0, 0x03243a70, 0x029c3c6e, 0x0007a881}}}, + {X: Field{[10]uint32{0x027aa450, 0x008c7e1a, 0x03b32985, 0x009091a5, 0x015d82b4, 0x02e0d6bb, 0x022f2e3a, 0x0072b4fc, 0x002be7b1, 0x000a1d0a}}, Y: Field{[10]uint32{0x00415c42, 0x008c5c7c, 0x02b74cfa, 0x000c87c9, 0x02cf39ce, 0x0107642e, 0x02e3860e, 0x02e48888, 0x032db2e1, 0x0000a18c}}}, + {X: Field{[10]uint32{0x036231cf, 0x01b9007a, 0x02ea48b3, 0x016e54c3, 0x016940f8, 0x00adde60, 0x02f5e418, 0x03ce8042, 0x039ff77b, 0x002be79d}}, Y: Field{[10]uint32{0x00e84c67, 0x03dd5066, 0x03389c13, 0x020eac7f, 0x034deb70, 0x01b5ae23, 0x01d958b8, 0x0057249a, 0x0350dbaf, 0x00274f50}}}, + {X: Field{[10]uint32{0x008c1ef3, 0x00740d5a, 0x01b35447, 0x02302998, 0x00bc93ad, 0x00ec9de3, 0x03d27577, 0x029cd49b, 0x038d515c, 0x001117b6}}, Y: Field{[10]uint32{0x0090dc49, 0x0193c95c, 0x002f555d, 0x0269154e, 0x02e94b75, 0x03cda84f, 0x03743611, 0x018be0ed, 0x023cfde7, 0x0025245e}}}, + {X: Field{[10]uint32{0x001811b4, 0x01d4049c, 0x012aa0dc, 0x02e8ad98, 0x013e76fe, 0x01fb0d34, 0x009993cf, 0x014c183e, 0x020a370d, 0x00380430}}, Y: Field{[10]uint32{0x006fd8af, 0x03d93fc4, 0x023cee3a, 0x009bc857, 0x03798a64, 0x032cf311, 0x0157a214, 0x026f814b, 0x032d280d, 0x0032d145}}}, + {X: Field{[10]uint32{0x025af8f9, 0x0108d4ab, 0x033f9eed, 0x00ed9eed, 0x02ef548b, 0x03ed1334, 0x0134080c, 0x031f96c4, 0x03ca4625, 0x0034d09d}}, Y: Field{[10]uint32{0x03e4a4df, 0x03963235, 0x02b441ec, 0x026b389e, 0x02c39190, 0x038fd13b, 0x037bd609, 0x023dfaec, 0x03797a62, 0x0028d7d5}}}, + {X: Field{[10]uint32{0x031d628d, 0x017bb2b2, 0x01c5dd66, 0x030f27ec, 0x03d96182, 0x0291ccf8, 0x004977fe, 0x010906da, 0x03993bd5, 0x002f82e4}}, Y: Field{[10]uint32{0x03b7fdb8, 0x016fa103, 0x009dadbf, 0x003c17ec, 0x0013218b, 0x03b10626, 0x03762728, 0x0349a837, 0x0353744e, 0x000de410}}}, + {X: Field{[10]uint32{0x018f3980, 0x00b0c67f, 0x0309dc3b, 0x00d3a04b, 0x01edd9bd, 0x01ad0a0a, 0x019f48fd, 0x0087a47b, 0x01f1ed4a, 0x000c20a5}}, Y: Field{[10]uint32{0x02ac0230, 0x02975fab, 0x00181a8b, 0x00d225f1, 0x030797d4, 0x03b93328, 0x0214c314, 0x00386926, 0x034d5c36, 0x001a0d70}}}, + {X: Field{[10]uint32{0x00495b1a, 0x0236ccb7, 0x03b412b8, 0x01799a8d, 0x01c2e07a, 0x0043d7e9, 0x0391604e, 0x021e77f5, 0x035161aa, 0x0019b3fa}}, Y: Field{[10]uint32{0x0252a1e1, 0x03e726cc, 0x03fe3f9f, 0x0317edba, 0x025ffba9, 0x0120ef09, 0x0229602b, 0x03f004f8, 0x029bf8a2, 0x0028381e}}}, + {X: Field{[10]uint32{0x03e39ba4, 0x02168b5b, 0x03648ec8, 0x03be6d57, 0x01bf7b3a, 0x00d29284, 0x03b3d9d3, 0x03a9c133, 0x00fb849c, 0x0003d0ae}}, Y: Field{[10]uint32{0x01e8b22f, 0x03458298, 0x019a7036, 0x012af27c, 0x01f5b0fb, 0x034e06b8, 0x035db65d, 0x012bfe7d, 0x01e2a36d, 0x002d8188}}}, + {X: Field{[10]uint32{0x03ab034f, 0x00c4952f, 0x008e385a, 0x03698233, 0x00c57b7f, 0x0199be3d, 0x00fdc462, 0x018c8cbb, 0x03852290, 0x0010a705}}, Y: Field{[10]uint32{0x0162af35, 0x02605aca, 0x001f18e6, 0x027aaf25, 0x0250b396, 0x0206a813, 0x03bfcb04, 0x023d5d02, 0x02591a86, 0x0038642e}}}, + {X: Field{[10]uint32{0x01ebf611, 0x037dee03, 0x03d7dfaf, 0x0215bf19, 0x009895b9, 0x02cde3b9, 0x01e4237f, 0x026832e5, 0x017c9478, 0x003224e7}}, Y: Field{[10]uint32{0x00ad3682, 0x003e07c7, 0x022b0437, 0x01fa6c57, 0x0047feb7, 0x0018b4b5, 0x02d05e23, 0x01185f0d, 0x036206e9, 0x00050ebf}}}, + {X: Field{[10]uint32{0x0398ef94, 0x01bcf310, 0x00cfb1d3, 0x02de370f, 0x022b82ae, 0x010ab607, 0x0215ae41, 0x00c90c93, 0x01bf5630, 0x00179055}}, Y: Field{[10]uint32{0x035da55a, 0x03d3fd7a, 0x03b75ed6, 0x019080fc, 0x01b90833, 0x005b5d09, 0x033807f2, 0x028ee6a7, 0x01272325, 0x001a007d}}}, + {X: Field{[10]uint32{0x00d1b573, 0x036f4fc2, 0x0165b5e9, 0x00c181e2, 0x03eb01c5, 0x01c45388, 0x03fa851a, 0x024ef9ee, 0x019853f0, 0x000465ac}}, Y: Field{[10]uint32{0x00628795, 0x015ff4af, 0x0297e5c5, 0x03b7fbc2, 0x00fe79dc, 0x0060f6d1, 0x00dea44d, 0x03b88360, 0x00f054bf, 0x00001e53}}}, + {X: Field{[10]uint32{0x033a6094, 0x00dbb4b1, 0x03a1dea8, 0x017dadda, 0x0339803e, 0x01a00c38, 0x038fcd01, 0x01cdedf6, 0x012074bb, 0x00360636}}, Y: Field{[10]uint32{0x0176e504, 0x01bc5e40, 0x00afe9d9, 0x006fed33, 0x02ff15d5, 0x02d7c21b, 0x00d2aacf, 0x00462a03, 0x03b51f63, 0x001ab1f6}}}, + {X: Field{[10]uint32{0x006c6204, 0x02d193ec, 0x02d8851d, 0x00b6c9cf, 0x01703904, 0x02b97262, 0x01a433ee, 0x02afa7b6, 0x034bf5cc, 0x003009da}}, Y: Field{[10]uint32{0x00f4756b, 0x00bbf289, 0x02cc5fd5, 0x03526cfe, 0x00972593, 0x02160548, 0x001a582a, 0x02b20752, 0x00ae6349, 0x0012249c}}}, + {X: Field{[10]uint32{0x01d83307, 0x00d0f5f3, 0x00a7a0d3, 0x00187136, 0x020b8989, 0x00f42c92, 0x01b300b4, 0x0334c3ae, 0x021cca23, 0x000252ca}}, Y: Field{[10]uint32{0x02481df1, 0x014c0be7, 0x00640607, 0x020e6694, 0x02e6e746, 0x020ce2e7, 0x01608015, 0x02f7296e, 0x0156b709, 0x0011f17b}}}, + {X: Field{[10]uint32{0x027d5108, 0x01a21dab, 0x0195a668, 0x00af4d16, 0x009f157d, 0x030a3ed9, 0x021c3850, 0x03d53b92, 0x0379df2b, 0x003cabb8}}, Y: Field{[10]uint32{0x01c8ef08, 0x00b7558d, 0x0231113f, 0x023ef55a, 0x0319a7bf, 0x019dbbbe, 0x0079d351, 0x0287e724, 0x03ae9c90, 0x002b9d9a}}}, + {X: Field{[10]uint32{0x029833ad, 0x01aee16e, 0x02222830, 0x028115b3, 0x01e81e4d, 0x018071aa, 0x029cd043, 0x0312cabe, 0x004f3dbd, 0x003f23f9}}, Y: Field{[10]uint32{0x0156fe15, 0x001d4e1b, 0x01094ce3, 0x017b3a31, 0x012b0765, 0x029420ae, 0x0330a52e, 0x014b5d90, 0x0378a98f, 0x001a8c86}}}, + {X: Field{[10]uint32{0x00255c14, 0x02d19393, 0x02b7c5b8, 0x012d60c3, 0x017444d0, 0x00b77043, 0x01aa3ebe, 0x03cf2fef, 0x017919a4, 0x0034e337}}, Y: Field{[10]uint32{0x008c15fa, 0x0195544b, 0x02e6f1a5, 0x0254776a, 0x03e19040, 0x0336baf9, 0x02311fe0, 0x00bf6e52, 0x02f1823a, 0x001a83c7}}}, + {X: Field{[10]uint32{0x01a4b41f, 0x011d4e02, 0x03f4c142, 0x00675ddc, 0x03916ea1, 0x009ad7a7, 0x0071943a, 0x021a4343, 0x02f6013d, 0x002b00b9}}, Y: Field{[10]uint32{0x005ea2b1, 0x00c6e9b0, 0x008f3995, 0x00650ddc, 0x03726598, 0x023f4bd9, 0x019c5e76, 0x013aaefb, 0x019e436b, 0x003ab712}}}, + {X: Field{[10]uint32{0x006419c8, 0x026dc074, 0x01177d7d, 0x01d47fd9, 0x02dc6d1a, 0x001dbe73, 0x03b5cd07, 0x03518ab1, 0x031ac36b, 0x0000e522}}, Y: Field{[10]uint32{0x011765ba, 0x02ee5746, 0x00bd2732, 0x0239de59, 0x0372d5d1, 0x0333ad87, 0x0141ea71, 0x000f1eac, 0x00eba01c, 0x0032a47f}}}, + {X: Field{[10]uint32{0x02706e9a, 0x00c65c5f, 0x0355435e, 0x034176f2, 0x02ea9e73, 0x03ff6210, 0x014c0c2c, 0x000369b7, 0x008d21d6, 0x00131f6f}}, Y: Field{[10]uint32{0x038230fe, 0x0305fd49, 0x0042d35d, 0x02f6336d, 0x016db46e, 0x01fdfa16, 0x002f4129, 0x01eaf4a7, 0x0344b87b, 0x0021a9df}}}, + {X: Field{[10]uint32{0x0244f623, 0x03847920, 0x01e0698e, 0x00c7677d, 0x01b7dec7, 0x001d0ec3, 0x038c2f7a, 0x0178b427, 0x01aab382, 0x001d48a3}}, Y: Field{[10]uint32{0x000a1676, 0x0086a21e, 0x01aa4510, 0x01949829, 0x0075e336, 0x034a0ba9, 0x0237bdfe, 0x03c41f6e, 0x0187e122, 0x00258f0a}}}, + {X: Field{[10]uint32{0x0280a579, 0x034b0ac3, 0x00147632, 0x00fc40b0, 0x02b584a7, 0x006de91e, 0x02ea92c7, 0x00587e3d, 0x02b32ed2, 0x002a8ea1}}, Y: Field{[10]uint32{0x024e6cb7, 0x01806b6b, 0x002abbc4, 0x03fddc8b, 0x03f7e517, 0x00409135, 0x01345d32, 0x03193c37, 0x009d2b4e, 0x002e3f89}}}, + {X: Field{[10]uint32{0x013f22f7, 0x034c5906, 0x0368abcf, 0x01f4f4f0, 0x014c0322, 0x035bcebe, 0x00b992f7, 0x000e7696, 0x012d9828, 0x001c0ae4}}, Y: Field{[10]uint32{0x02bac387, 0x039710b1, 0x0136f71d, 0x02e8e5ab, 0x02b576cc, 0x01c5331f, 0x00a4e14c, 0x0335e04c, 0x00493a32, 0x0009624b}}}, + {X: Field{[10]uint32{0x0090ba75, 0x034ed727, 0x03567829, 0x00ee3dbc, 0x01269f70, 0x00315c04, 0x0221dfc1, 0x02fe98a8, 0x00886d44, 0x00132843}}, Y: Field{[10]uint32{0x03fde3e7, 0x00fb3ed3, 0x034b9dac, 0x0089fc0d, 0x0395b04a, 0x00b5df6c, 0x01e6f277, 0x038d6353, 0x02b29282, 0x000cc8fa}}}, + {X: Field{[10]uint32{0x02b9c325, 0x0159ce24, 0x02d342da, 0x00d4ba51, 0x00f3601c, 0x0305d3bf, 0x00aa4362, 0x01a5c80b, 0x023630da, 0x0005867a}}, Y: Field{[10]uint32{0x030e881e, 0x029cbe43, 0x02de4b98, 0x025e471f, 0x03a1c126, 0x01237b5e, 0x0188dd61, 0x019e7a9b, 0x000e13b8, 0x0008ab45}}}, + {X: Field{[10]uint32{0x034d3032, 0x02f4e634, 0x034c6365, 0x02ead941, 0x0064d589, 0x00c0be2b, 0x01409a8a, 0x02fed273, 0x003818de, 0x000877f7}}, Y: Field{[10]uint32{0x004099a9, 0x02c5f39e, 0x01c4579e, 0x00f885c9, 0x02106d19, 0x02d809b9, 0x006ddcdb, 0x0148129e, 0x02c20e83, 0x002eef9f}}}, + {X: Field{[10]uint32{0x01069fe1, 0x036f5021, 0x01bd1c0d, 0x00b82eec, 0x03036a47, 0x00b3383b, 0x02e99aa1, 0x006acb2e, 0x01dd802f, 0x00183ef9}}, Y: Field{[10]uint32{0x03349dc3, 0x02f94929, 0x013167f9, 0x02cade2c, 0x0399feb1, 0x015023c2, 0x03d07a68, 0x00135a0b, 0x03592dd3, 0x0003aa0e}}}, + {X: Field{[10]uint32{0x02147f96, 0x019db307, 0x0066ae29, 0x01e53712, 0x03dd7c24, 0x01650174, 0x008ee975, 0x0316eea1, 0x0065fdcd, 0x0032012d}}, Y: Field{[10]uint32{0x03adc5a2, 0x03bbbc96, 0x035223a7, 0x028b3e6e, 0x03fb10cc, 0x02e0a393, 0x02bf43a9, 0x00adc3af, 0x02b71fd8, 0x002a928b}}}, + {X: Field{[10]uint32{0x010336d9, 0x03674f75, 0x03b7bd96, 0x02ecc64b, 0x005c74cf, 0x030cbdb0, 0x011b3383, 0x00ed5771, 0x03e55137, 0x001de9b8}}, Y: Field{[10]uint32{0x006f047f, 0x0162dac3, 0x032b67d3, 0x01b8e15b, 0x035de35d, 0x03ff355c, 0x02075c10, 0x02b1c523, 0x026e86ef, 0x0008748c}}}, + {X: Field{[10]uint32{0x015f7a5a, 0x00758b43, 0x018c9473, 0x033d938f, 0x01a89d82, 0x01a93b19, 0x02706ff2, 0x03bb4999, 0x01874a72, 0x0021b770}}, Y: Field{[10]uint32{0x030cc29c, 0x03396ad3, 0x0295c443, 0x01781337, 0x0340507b, 0x028f9b72, 0x0217816b, 0x02848ea4, 0x0040ce45, 0x00147df3}}}, + {X: Field{[10]uint32{0x03d3beca, 0x025bcff1, 0x028ce4a5, 0x03be13a8, 0x038c80d5, 0x005578c9, 0x0108675a, 0x03ab11b0, 0x00f8db8e, 0x0033d274}}, Y: Field{[10]uint32{0x020086fc, 0x02e5b7d0, 0x02d41235, 0x02970c51, 0x007cdd64, 0x0186475a, 0x002dcd6a, 0x01d70fb6, 0x0341ebae, 0x001bff71}}}, + {X: Field{[10]uint32{0x035875f4, 0x0232d52d, 0x00381051, 0x01457f86, 0x00c9f5c8, 0x03849b3b, 0x020e8721, 0x019c88b5, 0x038957eb, 0x00075d7b}}, Y: Field{[10]uint32{0x038dbdb4, 0x027719ad, 0x033e37b9, 0x0095dd96, 0x01c20766, 0x03e8750a, 0x024ae2f5, 0x0158776f, 0x03dd9288, 0x0020b177}}}, + {X: Field{[10]uint32{0x03ad0689, 0x00b2a279, 0x036dca29, 0x038f1b76, 0x005bb5b7, 0x02540cd2, 0x00d94666, 0x01848a76, 0x0335f62e, 0x002fa92d}}, Y: Field{[10]uint32{0x03a08901, 0x0082b4c1, 0x0011cd8e, 0x00dbd4a8, 0x027cda58, 0x02df007c, 0x019a4517, 0x0278439f, 0x038a08ea, 0x002438c9}}}, + {X: Field{[10]uint32{0x0169f2bb, 0x00e5aa58, 0x037281af, 0x03c2ceb2, 0x02577f5c, 0x01756627, 0x010aaa27, 0x0145c063, 0x02dea90e, 0x003a16c2}}, Y: Field{[10]uint32{0x0250aaa8, 0x01fd6679, 0x03358066, 0x01a75020, 0x0230ef12, 0x015edfd6, 0x016fec57, 0x01d718e4, 0x00cd3ca1, 0x00350a5c}}}, + {X: Field{[10]uint32{0x03928934, 0x0390b628, 0x00f5e3ff, 0x0213008a, 0x0082ca55, 0x033df30b, 0x01ed550f, 0x00149b90, 0x02dd2405, 0x00365d64}}, Y: Field{[10]uint32{0x022d102e, 0x013713bf, 0x0126a217, 0x01149bcb, 0x024de0db, 0x0008dbd3, 0x01a3852a, 0x0070edd6, 0x01696bf0, 0x003ab1b0}}}, + {X: Field{[10]uint32{0x026e00e7, 0x00d7b859, 0x013ebedd, 0x01d56bad, 0x00fd7725, 0x023195de, 0x00e60a9a, 0x008388de, 0x02a450b6, 0x0003808f}}, Y: Field{[10]uint32{0x0094797e, 0x0198d4da, 0x01e306a9, 0x01338df8, 0x026bdd54, 0x02457d41, 0x020f0e78, 0x033e26c1, 0x00506dbd, 0x001393b6}}}, + {X: Field{[10]uint32{0x01935e5a, 0x0013b083, 0x01c9cc83, 0x00b70c0b, 0x02a7c0ec, 0x01aa15ef, 0x001b9f7e, 0x03f5ba96, 0x00955cd4, 0x001856d7}}, Y: Field{[10]uint32{0x015f4d46, 0x0086c53f, 0x038d36e4, 0x01d3cda9, 0x0146fc80, 0x0175d536, 0x01845bff, 0x00c96ef3, 0x03662602, 0x00308871}}}, + {X: Field{[10]uint32{0x02ec13a7, 0x031cd625, 0x0185bc2c, 0x02168012, 0x03fa2a0d, 0x004e46f6, 0x00e34d60, 0x008086e7, 0x003402e1, 0x002c77e9}}, Y: Field{[10]uint32{0x0348438e, 0x00fbd665, 0x03eadd10, 0x03316264, 0x0013c2a5, 0x01be062d, 0x03b7e9b0, 0x03e0a076, 0x015a8162, 0x003e8f44}}}, + {X: Field{[10]uint32{0x03eada7c, 0x028f272e, 0x0097436b, 0x02acc966, 0x0068c7e1, 0x0393b372, 0x0275b835, 0x011ff6b1, 0x001fafbe, 0x002d92d8}}, Y: Field{[10]uint32{0x01dbe68d, 0x0148dd3a, 0x007d85ea, 0x00355cd2, 0x02652ae9, 0x018b6f26, 0x03606624, 0x015d1bfa, 0x0039d231, 0x002bde30}}}, + {X: Field{[10]uint32{0x03b579cf, 0x03cc991a, 0x013364a0, 0x008d49c5, 0x01b0981f, 0x02535d59, 0x01027d4e, 0x036721b1, 0x0346fda1, 0x00150a74}}, Y: Field{[10]uint32{0x015b1880, 0x025a8ca6, 0x00f37ac6, 0x01654519, 0x02162d66, 0x035d18db, 0x00754dd2, 0x0364b8e4, 0x0197dfec, 0x0016e338}}}, + {X: Field{[10]uint32{0x026f005b, 0x0152c58a, 0x03f94ff9, 0x01a7cde1, 0x0020e216, 0x00105d27, 0x000bb781, 0x019c62c1, 0x00f2056d, 0x002241a5}}, Y: Field{[10]uint32{0x01753341, 0x0070504b, 0x00df35df, 0x02dcc6e5, 0x007bf505, 0x01abf43e, 0x010d7b22, 0x02eff2ee, 0x034a890d, 0x003659a4}}}, + {X: Field{[10]uint32{0x003cc117, 0x00b0ad9d, 0x0067ccb9, 0x0079128a, 0x00269b5d, 0x03f81832, 0x02987a05, 0x009adfe9, 0x0292cd05, 0x000eb9d4}}, Y: Field{[10]uint32{0x02416a94, 0x028b757c, 0x02871d22, 0x03a61ee0, 0x00f004ee, 0x00cc95af, 0x03d5416a, 0x02a0b63d, 0x00c15a74, 0x00042567}}}, + {X: Field{[10]uint32{0x019b0707, 0x01771fca, 0x03ce93bb, 0x037a292a, 0x01347bba, 0x006e7e87, 0x0353fd5f, 0x01f55568, 0x029bff71, 0x00275d16}}, Y: Field{[10]uint32{0x02de8134, 0x030a399f, 0x0369b0ba, 0x03feb783, 0x0210461c, 0x039cd379, 0x004f615a, 0x031831cc, 0x00aed513, 0x0033bcce}}}, + {X: Field{[10]uint32{0x0144f166, 0x02e54674, 0x009f0aaa, 0x02599214, 0x00abf1b8, 0x0248b018, 0x01ce7f4f, 0x0324e441, 0x002c8130, 0x001a67a7}}, Y: Field{[10]uint32{0x003a19cd, 0x028e7b5f, 0x004a438d, 0x00a65f49, 0x01bfb7da, 0x00e0275a, 0x01145838, 0x03e51257, 0x010e1fb9, 0x00220ad2}}}, + {X: Field{[10]uint32{0x01591f87, 0x012869e1, 0x03550388, 0x02953d0c, 0x00ae79b4, 0x032ff8a6, 0x01ea704b, 0x001426a4, 0x00c1dc52, 0x0038e807}}, Y: Field{[10]uint32{0x02dcc64e, 0x005ff507, 0x00b96066, 0x0244dd24, 0x012480a8, 0x0376bd25, 0x0287e546, 0x02755ff2, 0x01f368d1, 0x003cf190}}}, + {X: Field{[10]uint32{0x02c433d1, 0x03b8e35a, 0x035f1ee5, 0x039bf63f, 0x00cc7cce, 0x01126145, 0x01d23623, 0x00dd751b, 0x01c3d9df, 0x00174543}}, Y: Field{[10]uint32{0x02ab0316, 0x00c5bad4, 0x00061a32, 0x03fafeb7, 0x02399a83, 0x02100424, 0x000263f1, 0x03a839f6, 0x0250d2e2, 0x000b0244}}}, + {X: Field{[10]uint32{0x00996a66, 0x003170b8, 0x02b16c10, 0x0201629b, 0x00ec4778, 0x038047e0, 0x00aea5b5, 0x02e8fd91, 0x0361bb12, 0x00127ee5}}, Y: Field{[10]uint32{0x0255e23c, 0x033f41b5, 0x00370089, 0x006e4a5e, 0x00d9086b, 0x00595317, 0x0099caf2, 0x02245161, 0x020fb720, 0x001c4d08}}}, + {X: Field{[10]uint32{0x0244738e, 0x0032514a, 0x03b13d53, 0x01687d3d, 0x00bdea05, 0x02b73770, 0x03990211, 0x00b7ef79, 0x02b3a451, 0x000d3157}}, Y: Field{[10]uint32{0x0398fd16, 0x02693153, 0x021f2ba3, 0x0254c8cc, 0x010fdbb6, 0x00325e79, 0x0110e26d, 0x01007e6a, 0x0288beff, 0x00096331}}}, + {X: Field{[10]uint32{0x00a3a98c, 0x0023508c, 0x0202ab25, 0x03c8c371, 0x039b1c39, 0x02bc3272, 0x037b82c2, 0x03f8013f, 0x00f07c3e, 0x001c1a3f}}, Y: Field{[10]uint32{0x037ef1fc, 0x02c65eb8, 0x01d77aaa, 0x01e5f8b8, 0x012fe506, 0x000ad77d, 0x03657bf2, 0x01e314b9, 0x00d88445, 0x003921cc}}}, + {X: Field{[10]uint32{0x03355a1e, 0x02e1d3da, 0x01909f73, 0x01528ac0, 0x02f49e52, 0x03a38d1b, 0x03a1f95a, 0x02aa844a, 0x0110a987, 0x00038762}}, Y: Field{[10]uint32{0x03e3cdb8, 0x02ae41c3, 0x00235d7b, 0x008282e4, 0x01d4a56a, 0x03f57167, 0x01c2c149, 0x011f6266, 0x011bcc49, 0x0022b40c}}}, + {X: Field{[10]uint32{0x02d2caf2, 0x02b0f2dc, 0x03d57c10, 0x0363b536, 0x006bdf06, 0x01837d17, 0x02c6b2dc, 0x018c6c05, 0x03880ba8, 0x00249426}}, Y: Field{[10]uint32{0x006a3ccf, 0x022bd61d, 0x038c3397, 0x00ccd776, 0x01ee6f0f, 0x0257c504, 0x0395651b, 0x018a66a7, 0x0231633b, 0x000fa91e}}}, + {X: Field{[10]uint32{0x0266a519, 0x00d5ab06, 0x0351206a, 0x0078d371, 0x01644647, 0x02df4a69, 0x02ec994d, 0x0017a65a, 0x002ae8d5, 0x00243f50}}, Y: Field{[10]uint32{0x02da3b6b, 0x0162e96e, 0x02a62e19, 0x01611aaa, 0x039a6dc6, 0x0313c399, 0x0231816e, 0x00db82b6, 0x03f7bcdc, 0x0001a303}}}, + {X: Field{[10]uint32{0x01400704, 0x024367ea, 0x005f5eb3, 0x01fc319b, 0x0004cbc7, 0x0104ac4a, 0x035b0ddd, 0x032a3878, 0x02cb7d9b, 0x0002ce03}}, Y: Field{[10]uint32{0x006a01a4, 0x03d14321, 0x038a7d78, 0x036f87d7, 0x0118fa71, 0x00a75573, 0x01f69a72, 0x02de0c27, 0x009277d9, 0x003f4a88}}}, + {X: Field{[10]uint32{0x02b83f0c, 0x03bdec0c, 0x027520d3, 0x03bf33ca, 0x03f3d029, 0x01852495, 0x0066140b, 0x02db3dbe, 0x0041aecb, 0x001038b8}}, Y: Field{[10]uint32{0x002291f0, 0x01d131af, 0x01326704, 0x01063949, 0x01e1eda6, 0x005fc8ca, 0x02266794, 0x02223d53, 0x00a53c83, 0x000489c4}}}, + {X: Field{[10]uint32{0x02a03583, 0x03082a2a, 0x009c8c99, 0x02e7dded, 0x037d254e, 0x02bab33a, 0x013a38e9, 0x00c324e2, 0x03c43f4e, 0x00239827}}, Y: Field{[10]uint32{0x02c1a3e8, 0x028f70de, 0x0296d066, 0x01ec3835, 0x00837fb5, 0x0075c0de, 0x0259a86b, 0x005411fc, 0x006e9a82, 0x00251f13}}}, + {X: Field{[10]uint32{0x0035f5ce, 0x03020d7d, 0x020bb2ec, 0x00914bf3, 0x038d9c93, 0x02be26a3, 0x0098d001, 0x027f441a, 0x01b22bfe, 0x002e1c71}}, Y: Field{[10]uint32{0x031d3078, 0x015bc9a3, 0x00b64cd6, 0x03b80018, 0x03507fe8, 0x03c0e000, 0x007226b6, 0x003ba67e, 0x01a3ecbd, 0x0038c0b9}}}, + {X: Field{[10]uint32{0x00841682, 0x001f3554, 0x03f832ac, 0x015f33a1, 0x01c6f80f, 0x01bffd35, 0x01241709, 0x02246aed, 0x027e039e, 0x00149b6a}}, Y: Field{[10]uint32{0x03d210df, 0x0169552c, 0x01f43c5f, 0x02733171, 0x00c477bc, 0x02b503da, 0x00fd3975, 0x004c39d6, 0x00994fb7, 0x001a7c11}}}, + {X: Field{[10]uint32{0x021ad25a, 0x004be521, 0x01ba2edc, 0x01462b76, 0x015c031f, 0x03ed9be8, 0x027cc073, 0x00c15f39, 0x004a514e, 0x00305709}}, Y: Field{[10]uint32{0x02846c50, 0x00e5661c, 0x01b901ba, 0x037d72c1, 0x0016449d, 0x02f26a3f, 0x0234780b, 0x03225e37, 0x01acecc3, 0x0036c408}}}, + {X: Field{[10]uint32{0x02c1d388, 0x00d05cfa, 0x033443e2, 0x01db36df, 0x01d34948, 0x00374f71, 0x03638735, 0x000e36ce, 0x0319466a, 0x000df882}}, Y: Field{[10]uint32{0x003b89f0, 0x023bd8ff, 0x00f252d6, 0x01e7da7b, 0x025ea5bb, 0x036d5eae, 0x02bcfa27, 0x01078bb2, 0x02245465, 0x00002e02}}}, + {X: Field{[10]uint32{0x024ea528, 0x02393ed5, 0x01eabc59, 0x03241ffd, 0x016a0da5, 0x015e5629, 0x011cd81f, 0x00050acc, 0x0328feae, 0x001b4247}}, Y: Field{[10]uint32{0x01d07906, 0x00a418ff, 0x0274c27c, 0x01f16a2e, 0x026e9d9f, 0x03217748, 0x01897196, 0x029b04e0, 0x03f04d7e, 0x00122f25}}}, + {X: Field{[10]uint32{0x0354fd71, 0x018d782e, 0x008d35ca, 0x0334fb75, 0x02d3e545, 0x020676ff, 0x001664fb, 0x03ed5bb4, 0x0016a76e, 0x000ef6f5}}, Y: Field{[10]uint32{0x00eb0639, 0x03cdbd4b, 0x00d26a6b, 0x024e0ae6, 0x039a63a8, 0x007eeb63, 0x03016219, 0x0094ffbc, 0x01723ed7, 0x0029a553}}}, + {X: Field{[10]uint32{0x029d61ce, 0x022cb91f, 0x01237401, 0x0103661c, 0x00c41095, 0x02f0cfbc, 0x005d41a4, 0x02d57e30, 0x02a9f111, 0x0033538d}}, Y: Field{[10]uint32{0x014e3e57, 0x03188551, 0x02ddadf0, 0x02f09939, 0x03abded9, 0x014b7e01, 0x02f95ec4, 0x00b9a41b, 0x02165263, 0x0011e37e}}}, + {X: Field{[10]uint32{0x01f24efd, 0x02a7c44b, 0x031c6272, 0x01c4b9df, 0x02248457, 0x01c2b19f, 0x03214131, 0x027038ef, 0x004a09c5, 0x0003c8f3}}, Y: Field{[10]uint32{0x037fa4b2, 0x0179f715, 0x013da9ed, 0x0339d28f, 0x02dc71cd, 0x00bde919, 0x0358fc07, 0x03bff573, 0x007299b6, 0x003a4cef}}}, + {X: Field{[10]uint32{0x013c33e0, 0x01a56b7b, 0x0098931a, 0x01250d75, 0x0300d7a3, 0x02db6d88, 0x0046840c, 0x03acd6da, 0x01858c97, 0x00366319}}, Y: Field{[10]uint32{0x03114990, 0x02e18b78, 0x02eb2a85, 0x0068593c, 0x01ba1378, 0x00189ce5, 0x02c953c7, 0x020977ad, 0x0224ffe8, 0x00110ffa}}}, + {X: Field{[10]uint32{0x00744225, 0x01b99adb, 0x0085fa94, 0x03728924, 0x0165325d, 0x031d2a6f, 0x012b9d16, 0x036b86db, 0x02a6c055, 0x00089a76}}, Y: Field{[10]uint32{0x01bfb3dd, 0x00b726fd, 0x03dee235, 0x03ceed1f, 0x0130e14f, 0x010bbf73, 0x00f0fe6a, 0x00115ac2, 0x01f9a61f, 0x00056740}}}, + {X: Field{[10]uint32{0x027c48d5, 0x010300c5, 0x03ba4877, 0x02d08eb9, 0x01eb4d75, 0x011ac06b, 0x023880a5, 0x021e4a37, 0x00fd8eea, 0x000cd411}}, Y: Field{[10]uint32{0x02da1cc1, 0x01e8c273, 0x00226818, 0x027398f6, 0x000cfe1d, 0x015ecefa, 0x030f2bb7, 0x01aef18e, 0x03f52626, 0x001a7940}}}, + {X: Field{[10]uint32{0x03f6c512, 0x0317e68f, 0x03a5046b, 0x026d8dea, 0x01a601da, 0x01ef2b9d, 0x00ee87b0, 0x02a0f953, 0x023d86f9, 0x003b9e89}}, Y: Field{[10]uint32{0x01373d56, 0x020a4250, 0x00f6042d, 0x020c587e, 0x01222714, 0x01039d8d, 0x008ac1c8, 0x01a3a48e, 0x01922032, 0x0027f74c}}}, + {X: Field{[10]uint32{0x03f44245, 0x03975694, 0x02d976c5, 0x0111d9a8, 0x00bf95f3, 0x03d12a22, 0x03b6111e, 0x018c6db1, 0x03b336f1, 0x0014a6cc}}, Y: Field{[10]uint32{0x02061099, 0x002a15fa, 0x030004cf, 0x03ba7335, 0x036f29f9, 0x00a00927, 0x02bc1a03, 0x01bd28be, 0x010693da, 0x0004a158}}}, + {X: Field{[10]uint32{0x03df1849, 0x00f3596a, 0x0243dd3e, 0x014e3af4, 0x006a2513, 0x035956a2, 0x01337182, 0x03a7d46a, 0x006da6ce, 0x003caccd}}, Y: Field{[10]uint32{0x03b77da3, 0x00ec3ddd, 0x032e1f48, 0x032cc937, 0x0355aaef, 0x03d89e34, 0x00665262, 0x000ffa7a, 0x0228be77, 0x0035077d}}}, + {X: Field{[10]uint32{0x0182befa, 0x0166dc11, 0x0037b3f5, 0x00a88bce, 0x011db7a1, 0x0358e31f, 0x0103d045, 0x026319c3, 0x01bcf03d, 0x0014d7a7}}, Y: Field{[10]uint32{0x02358392, 0x0307d967, 0x024e740b, 0x01853d93, 0x0262ea47, 0x01fe0e12, 0x00fa98d6, 0x025f16f5, 0x0228bad8, 0x000b08cc}}}, + {X: Field{[10]uint32{0x0299a7f1, 0x00ed282c, 0x03970825, 0x01e2140c, 0x00b019bf, 0x03fcd189, 0x023172dd, 0x01ab197b, 0x008b70da, 0x00304c5a}}, Y: Field{[10]uint32{0x00e5f3cc, 0x01e14677, 0x00d207dd, 0x03fc22e1, 0x000d6e1a, 0x027e65be, 0x0211d82e, 0x012365a6, 0x03b6e0e7, 0x003fbc61}}}, + {X: Field{[10]uint32{0x014d3ba9, 0x01c6c85d, 0x02a645dc, 0x003261c9, 0x02a984d0, 0x029afe0c, 0x00eddf3d, 0x01e61443, 0x00d3f7ab, 0x001d7721}}, Y: Field{[10]uint32{0x03841c50, 0x02c8cab8, 0x02183af5, 0x03ac770a, 0x0384f62d, 0x00bbaa94, 0x005e4d28, 0x001244b3, 0x01f35e11, 0x003d767b}}}, + {X: Field{[10]uint32{0x032a36c5, 0x011fb53c, 0x00648788, 0x035dbe63, 0x0282c6da, 0x01717f54, 0x03273102, 0x030e3ab9, 0x03bc9136, 0x00164771}}, Y: Field{[10]uint32{0x03a421a0, 0x025c9a35, 0x00233953, 0x02dc8751, 0x008d4875, 0x032db17a, 0x003aabb4, 0x034e0b80, 0x00c4f81c, 0x003f33e9}}}, + {X: Field{[10]uint32{0x02712596, 0x01d4f384, 0x00f0fb14, 0x02d93162, 0x02d2c78d, 0x021eb3de, 0x0148fadb, 0x024aeb9d, 0x00892a83, 0x0020e967}}, Y: Field{[10]uint32{0x03c5873b, 0x0140c339, 0x0119be3e, 0x038c573e, 0x0046f090, 0x0208bfcf, 0x027c5988, 0x00819435, 0x001a33b1, 0x001f402b}}}, + {X: Field{[10]uint32{0x026f6f83, 0x024f8b2e, 0x03fc76ca, 0x01a3b116, 0x036608f9, 0x018e47bf, 0x001b8c37, 0x02cbd2a7, 0x03a58c52, 0x003a6c37}}, Y: Field{[10]uint32{0x020a7c8d, 0x02d77bcb, 0x01be2e5c, 0x00e69e02, 0x035c1f08, 0x03acfcfe, 0x0089124f, 0x0378349d, 0x028d5846, 0x0019126c}}}, + {X: Field{[10]uint32{0x032bc03b, 0x0269942d, 0x02f81b1b, 0x01435569, 0x00c76adf, 0x00e8f497, 0x011c002d, 0x02430f45, 0x02f967b0, 0x00005b34}}, Y: Field{[10]uint32{0x02d63a7b, 0x03f931a2, 0x0206f50f, 0x013e123b, 0x03a23db7, 0x035e1162, 0x00cc091b, 0x01c240e7, 0x001e2fe7, 0x00316498}}}, + {X: Field{[10]uint32{0x02ff1cbe, 0x0128e28e, 0x026b6f58, 0x02e9ec61, 0x01d80b8d, 0x0135b97d, 0x023d9e24, 0x038d8da7, 0x03fd1bcd, 0x003cd1f4}}, Y: Field{[10]uint32{0x0287977a, 0x0313491f, 0x03a9766d, 0x02045613, 0x00c7349f, 0x0190497a, 0x01cfc6d0, 0x02284e63, 0x02b90ae3, 0x000710d6}}}, + {X: Field{[10]uint32{0x02428b1b, 0x00dd33f6, 0x0126d534, 0x034ad3a6, 0x01f349ed, 0x01248551, 0x0049f113, 0x02153243, 0x0187d644, 0x0016c643}}, Y: Field{[10]uint32{0x025401f3, 0x0325efbe, 0x03ea856b, 0x01dac9c4, 0x039c1d31, 0x0174b055, 0x013ab256, 0x035aed72, 0x00c363ef, 0x002293ab}}}, + {X: Field{[10]uint32{0x0030834f, 0x03d9f587, 0x003ab105, 0x03cdddcb, 0x01c49e78, 0x02f32b2b, 0x01e96650, 0x0133a3c8, 0x00b2d731, 0x0029de1b}}, Y: Field{[10]uint32{0x01441953, 0x025af52a, 0x0237146e, 0x006e817d, 0x006c4ea7, 0x02dc2ff0, 0x031f911c, 0x00b8fcbe, 0x00d41898, 0x0013f1eb}}}, + {X: Field{[10]uint32{0x03bf33cb, 0x02807ecb, 0x01dcf545, 0x009bc1cf, 0x02abf74d, 0x003bcd85, 0x01faeddc, 0x00686231, 0x0353e907, 0x0034d953}}, Y: Field{[10]uint32{0x032f4383, 0x03c40ed0, 0x00de1880, 0x03649b0f, 0x0377c7a3, 0x0129c5bc, 0x038502fc, 0x000e5165, 0x00c7213c, 0x00295bc8}}}, + {X: Field{[10]uint32{0x0022399c, 0x00e6a4de, 0x00994020, 0x01d83ba2, 0x0127d031, 0x02db6d33, 0x01d8ac3b, 0x032f681a, 0x0287400a, 0x003844e2}}, Y: Field{[10]uint32{0x03a162c1, 0x0259f544, 0x0012c9ce, 0x02543d78, 0x001803cd, 0x01a14f90, 0x0240de6b, 0x01b51971, 0x03bfdd3f, 0x003ca6a3}}}, + {X: Field{[10]uint32{0x02317708, 0x02b26561, 0x007e7374, 0x0039daee, 0x02571473, 0x03272a54, 0x03c49c69, 0x03d3942c, 0x023c91c0, 0x0034a7ad}}, Y: Field{[10]uint32{0x02a5f1a1, 0x02bfd87f, 0x03dd9d73, 0x027c72cf, 0x02d9d38c, 0x0215b79a, 0x022ab4ac, 0x02029674, 0x03024e91, 0x0012b64d}}}, + {X: Field{[10]uint32{0x02ee49f8, 0x022d2089, 0x03147ca4, 0x00c34637, 0x03d2124b, 0x022e3b2c, 0x0177da1d, 0x01ff5c19, 0x03baa671, 0x002a7500}}, Y: Field{[10]uint32{0x02d5323b, 0x005dadc9, 0x0133ff45, 0x027b6dd0, 0x0056f1e4, 0x02564451, 0x0137bcad, 0x0387b942, 0x027a8c5e, 0x0007bb7f}}}, + {X: Field{[10]uint32{0x02f57528, 0x01daf427, 0x01e39ca0, 0x018e6390, 0x018d8f37, 0x004b6272, 0x02c6bfd1, 0x00156bba, 0x00e8dbb6, 0x003fded6}}, Y: Field{[10]uint32{0x00381121, 0x034942bf, 0x02ee6cf5, 0x03d6f506, 0x018e39f1, 0x00db01a1, 0x02cb57c8, 0x01479c35, 0x01d1ad7a, 0x0013938e}}}, + {X: Field{[10]uint32{0x01362979, 0x02ebf46f, 0x016131e7, 0x007559bd, 0x021672ea, 0x038bc51b, 0x036db234, 0x027d8786, 0x029df783, 0x0010f142}}, Y: Field{[10]uint32{0x03f449ae, 0x029d3aa0, 0x03bd61ad, 0x0217d833, 0x001e2158, 0x02781486, 0x03e908f6, 0x006a2ea0, 0x02988154, 0x003c83f6}}}, + {X: Field{[10]uint32{0x034ac30c, 0x00fc89c5, 0x03e53984, 0x0354a74e, 0x035803a9, 0x02f9b410, 0x0262ae16, 0x004a61d5, 0x01b701c9, 0x003d822a}}, Y: Field{[10]uint32{0x027ad5bf, 0x03121a8c, 0x008f2083, 0x019b5ed4, 0x01d788d2, 0x004eed59, 0x02d32434, 0x0375086e, 0x00fae919, 0x0017bcd9}}}, + {X: Field{[10]uint32{0x005a117e, 0x004cc9d1, 0x02d568d0, 0x00881736, 0x033cc117, 0x03099d95, 0x03c48d00, 0x03c10fe6, 0x0029dd1e, 0x003244f8}}, Y: Field{[10]uint32{0x01a83049, 0x02169406, 0x02d8bace, 0x00610f89, 0x0032a38f, 0x00d49a81, 0x01cf07c1, 0x032ecdef, 0x030b9c31, 0x0025d5cf}}}, + {X: Field{[10]uint32{0x02a7d728, 0x03715720, 0x0363cce7, 0x02c4d20b, 0x0361318b, 0x0332a11f, 0x000c58a0, 0x01ef059b, 0x009db17e, 0x002ab831}}, Y: Field{[10]uint32{0x006be0b8, 0x0398ddd7, 0x012516a7, 0x03fe7576, 0x02810396, 0x01633703, 0x0051aae6, 0x00f6b088, 0x03f3f68c, 0x001045c2}}}, + {X: Field{[10]uint32{0x03c846c8, 0x02a8e23a, 0x02c96d35, 0x02d7af16, 0x01e306c8, 0x03792817, 0x039b15e3, 0x02d88966, 0x031f45a0, 0x003ca017}}, Y: Field{[10]uint32{0x038d1267, 0x027421da, 0x01dc9978, 0x00709902, 0x00b36e20, 0x0244be8e, 0x0325cdd0, 0x01c9115d, 0x03396ba3, 0x003d75c9}}}, + {X: Field{[10]uint32{0x00fa4f39, 0x029ea400, 0x030d87b0, 0x00e9e049, 0x00f7d232, 0x01f61968, 0x0230e593, 0x0344b928, 0x00e6e150, 0x001a5a79}}, Y: Field{[10]uint32{0x0214de3a, 0x02dc61d7, 0x02f888da, 0x036eab85, 0x03e030a0, 0x01657727, 0x037ebe08, 0x03b430f9, 0x03d6d323, 0x0031c70c}}}, + {X: Field{[10]uint32{0x01988f3e, 0x03bc0e63, 0x003e3e4c, 0x00e90465, 0x022aa064, 0x021cb7ef, 0x00fbdb8e, 0x0095eaf9, 0x03f07a0e, 0x0002bb0a}}, Y: Field{[10]uint32{0x00c931d0, 0x00755172, 0x01df6ef2, 0x0289c936, 0x00bcc3b6, 0x03fc2a0c, 0x00bc528f, 0x030e0321, 0x0157e686, 0x00363a7d}}}, + {X: Field{[10]uint32{0x0126f710, 0x0090ef52, 0x033226bb, 0x0071e42f, 0x01198f56, 0x02764775, 0x002890b6, 0x030d7294, 0x019a13df, 0x00271bfe}}, Y: Field{[10]uint32{0x03ef849d, 0x020d00fd, 0x0311e9b6, 0x018cd08a, 0x012f7f4e, 0x03fd1a0e, 0x008f5411, 0x03d6b676, 0x020c84a4, 0x000abbe4}}}, + {X: Field{[10]uint32{0x02d7f1c2, 0x0239b825, 0x00aefafb, 0x03b2d776, 0x02ade75a, 0x03bb7994, 0x00246d67, 0x0388e37c, 0x005b37a5, 0x003e90dd}}, Y: Field{[10]uint32{0x018689b1, 0x013a0b6a, 0x01eaddc4, 0x03e167fa, 0x0248aba7, 0x03be4e7b, 0x013c8f3f, 0x019500de, 0x02a42a3c, 0x0037e756}}}, + {X: Field{[10]uint32{0x038d46b9, 0x010f76a9, 0x00741276, 0x01396196, 0x020ce3b7, 0x039ddfe5, 0x03b84d09, 0x009b1fac, 0x02886c4e, 0x001a528c}}, Y: Field{[10]uint32{0x03dfe67a, 0x01aa7862, 0x018b0144, 0x00cb2c4c, 0x02a700d9, 0x0248b316, 0x00909be0, 0x011795ba, 0x006d0076, 0x0029535b}}}, + {X: Field{[10]uint32{0x008f38a0, 0x02b45eb0, 0x02be43d4, 0x0081f31c, 0x01930fe9, 0x00498843, 0x00339a2b, 0x01aca2d3, 0x01975be0, 0x00195265}}, Y: Field{[10]uint32{0x02f7900c, 0x01110fdc, 0x02be1c68, 0x02c22cd6, 0x03d29fe8, 0x02078fd6, 0x02cd92ce, 0x03738cb4, 0x03bb467f, 0x002f7b88}}}, + {X: Field{[10]uint32{0x0399f0bd, 0x00266c01, 0x00137400, 0x02ca6c42, 0x000ea38e, 0x020ebb11, 0x014f0844, 0x005392df, 0x00f675bb, 0x000de472}}, Y: Field{[10]uint32{0x02f7bc76, 0x013a463b, 0x0316d15a, 0x01170c72, 0x018b2a3f, 0x02fb97b9, 0x0396ddbc, 0x017adbce, 0x034ada5e, 0x000b723d}}}, + {X: Field{[10]uint32{0x02f31364, 0x0106a31b, 0x018ed429, 0x01e864e7, 0x0359795c, 0x02b3da90, 0x00469360, 0x0243a7a4, 0x0065eaf8, 0x00357904}}, Y: Field{[10]uint32{0x025bbcad, 0x0055b2fd, 0x03f6d21f, 0x032c341b, 0x00bd2f30, 0x00b930cb, 0x03bb6b8f, 0x03f539ea, 0x00c8a559, 0x000647b1}}}, + {X: Field{[10]uint32{0x00970dec, 0x02b5940b, 0x03ae8b77, 0x03cbaaa8, 0x01e504e6, 0x008162e6, 0x0229acb6, 0x010134a2, 0x0280fa0b, 0x0005b388}}, Y: Field{[10]uint32{0x02efb09b, 0x012e0755, 0x029b8817, 0x0179fe5b, 0x00b6eaec, 0x01d39643, 0x00bc2520, 0x0376e795, 0x03f4486a, 0x000f51a0}}}, + {X: Field{[10]uint32{0x02107d07, 0x00ed4071, 0x030160bf, 0x01fb5f51, 0x03e08f99, 0x005a106d, 0x025b4478, 0x02c7ce43, 0x03306cdf, 0x0029ac2a}}, Y: Field{[10]uint32{0x000abf7a, 0x02692daa, 0x0258d9cb, 0x0392843d, 0x03094e96, 0x01caaf26, 0x02d337fd, 0x009e524b, 0x002fb67e, 0x000a98a1}}}, + {X: Field{[10]uint32{0x02033583, 0x00018a15, 0x02d9021e, 0x022a3fda, 0x0252b9d0, 0x01c27cdd, 0x00b779cd, 0x00c82c87, 0x0138760b, 0x0035f29b}}, Y: Field{[10]uint32{0x009e7bb5, 0x01cbffe1, 0x01b046d6, 0x03ea660b, 0x015e2d1c, 0x00500586, 0x011b6cbb, 0x0166e5ae, 0x0372866d, 0x0035b017}}}, + {X: Field{[10]uint32{0x01609d33, 0x01b2d17d, 0x03ef375f, 0x01758682, 0x03e16240, 0x004871cf, 0x00cb1347, 0x01c1f9ce, 0x01632d3f, 0x001e2ac1}}, Y: Field{[10]uint32{0x0275a6b0, 0x013b17fb, 0x034f2109, 0x012557ed, 0x00350eba, 0x02ea9714, 0x03a4b424, 0x032d3ca5, 0x010c10c7, 0x003f868e}}}, + {X: Field{[10]uint32{0x000d6f04, 0x001cb146, 0x01879bd1, 0x00a0a24d, 0x01218e21, 0x003923f6, 0x01fc5a96, 0x03a00c19, 0x013a5b9f, 0x003014d5}}, Y: Field{[10]uint32{0x02719192, 0x0221a68f, 0x008a4752, 0x03714730, 0x027d0d28, 0x01ef8a00, 0x01c45cf5, 0x02ac1384, 0x0374214d, 0x00380b69}}}, + {X: Field{[10]uint32{0x03f02d03, 0x0357af48, 0x01b4eb65, 0x025604e1, 0x035faf8e, 0x003f07ec, 0x018d4033, 0x02570fbe, 0x0313e2a9, 0x002fe175}}, Y: Field{[10]uint32{0x03e59b18, 0x0101d22c, 0x00bbd6b9, 0x025a20a1, 0x03dcb68e, 0x00777481, 0x0142a6f2, 0x02c386a1, 0x014758d7, 0x00297516}}}, + {X: Field{[10]uint32{0x01bd280a, 0x01343c40, 0x0031d69a, 0x00167954, 0x00138169, 0x02c2bbb0, 0x022ee0de, 0x01e2e03f, 0x02c92be5, 0x003edced}}, Y: Field{[10]uint32{0x0214cd16, 0x0348b165, 0x01cf3e31, 0x0260df8f, 0x00e15bbc, 0x016f7a06, 0x0030bd25, 0x02957f51, 0x00939bf5, 0x001cb39e}}}, + {X: Field{[10]uint32{0x0228aa79, 0x03cdc305, 0x00dfc1e2, 0x00d60cd8, 0x00d99281, 0x03d2db0b, 0x01b04f78, 0x02372480, 0x025aed33, 0x0015925b}}, Y: Field{[10]uint32{0x028c2db1, 0x02291daf, 0x0072586c, 0x015344c0, 0x00092ffa, 0x015b5454, 0x0315d3fa, 0x0329c048, 0x008a824f, 0x002076fd}}}, + {X: Field{[10]uint32{0x03a2130c, 0x01724c6d, 0x036df790, 0x01e56327, 0x02aecc0a, 0x03ca9086, 0x01edcc62, 0x03c26121, 0x03959e81, 0x0035a638}}, Y: Field{[10]uint32{0x01563d27, 0x01e3271e, 0x03ba45ce, 0x02f8743f, 0x0179408b, 0x03a5c28e, 0x0001a8e3, 0x02a8e76b, 0x02bce61e, 0x001640f7}}}, + {X: Field{[10]uint32{0x0166ff80, 0x01d93931, 0x01931780, 0x01ee4e1f, 0x007fad8d, 0x00d012cd, 0x02ade00d, 0x025142cc, 0x02408670, 0x00212ccb}}, Y: Field{[10]uint32{0x031cfdc8, 0x00e9606e, 0x01c244aa, 0x039000c9, 0x009bb5b0, 0x025714d4, 0x03941e31, 0x010a58ad, 0x007856cc, 0x00132034}}}, + {X: Field{[10]uint32{0x00db2ed6, 0x00e29842, 0x00cf05ac, 0x010ca3cc, 0x036528e2, 0x007b4cc9, 0x0073a45f, 0x0226d306, 0x03992a36, 0x001c4a71}}, Y: Field{[10]uint32{0x020810e4, 0x02265699, 0x00a68ce3, 0x00673cff, 0x0044f866, 0x024026aa, 0x01154567, 0x00969753, 0x03e84821, 0x000d8ad3}}}, + {X: Field{[10]uint32{0x0180d824, 0x00e74a34, 0x01b98781, 0x01fbda31, 0x005f8cad, 0x0326470d, 0x02cac088, 0x02dba9ad, 0x0087fa48, 0x0024c593}}, Y: Field{[10]uint32{0x01d9e26b, 0x017a11ed, 0x02a87278, 0x0087234d, 0x03bd1832, 0x0058e5aa, 0x0397771d, 0x03c3e432, 0x015cc91c, 0x0028eb03}}}, + {X: Field{[10]uint32{0x03305a68, 0x03b66c27, 0x02d94808, 0x017a2e26, 0x0194744d, 0x024a7cca, 0x004c7b1f, 0x024df28e, 0x00e237c4, 0x0013e43a}}, Y: Field{[10]uint32{0x012430b8, 0x0123c226, 0x00e70147, 0x0000d0f1, 0x02ce725e, 0x033bb41e, 0x03f417cf, 0x01212c20, 0x02e02b6b, 0x003379dd}}}, + {X: Field{[10]uint32{0x01f716a1, 0x03e46d9d, 0x00ed6a10, 0x0284f016, 0x034442f6, 0x014fb334, 0x0113fae2, 0x01c5ab9a, 0x03bc9f40, 0x00136580}}, Y: Field{[10]uint32{0x0124add6, 0x0153b90e, 0x02493c66, 0x0048a12a, 0x009c52a4, 0x029bed14, 0x0165827a, 0x038d565c, 0x01fc278c, 0x0024ad9e}}}, + {X: Field{[10]uint32{0x02b17203, 0x004f1312, 0x006a5aed, 0x00619fe4, 0x03f90cd7, 0x0058cb84, 0x0094f3bc, 0x01050c4b, 0x011f91c5, 0x0022dbd9}}, Y: Field{[10]uint32{0x010c7066, 0x020d9548, 0x02c130bf, 0x0256eb1a, 0x0109ded9, 0x0049b103, 0x00e2b78c, 0x00955aed, 0x01a4b80f, 0x00223056}}}, + {X: Field{[10]uint32{0x025ec256, 0x03082f6c, 0x02ee98cd, 0x03ad8155, 0x021909e1, 0x02352645, 0x02448f07, 0x020d1fa1, 0x0052cab9, 0x001bd62e}}, Y: Field{[10]uint32{0x00239885, 0x01c08f26, 0x01cd32fa, 0x02cab601, 0x021681da, 0x02833afa, 0x02bd30dd, 0x024c179a, 0x005f233d, 0x0000e930}}}, + {X: Field{[10]uint32{0x000c44bd, 0x02601c44, 0x010086cb, 0x024566a4, 0x028bb6ca, 0x03febe8c, 0x03710da3, 0x010472b2, 0x02a84021, 0x001af9fd}}, Y: Field{[10]uint32{0x0036bee9, 0x00405152, 0x0168bb58, 0x03fcc83a, 0x0186f339, 0x017f0464, 0x01c8d59b, 0x037ed160, 0x02f9d461, 0x002fd929}}}, + {X: Field{[10]uint32{0x02102d39, 0x020f4b2b, 0x0044ab39, 0x003cab06, 0x0299661f, 0x03b3fe6a, 0x00fdbe13, 0x02799bcb, 0x010bb8ea, 0x0002cbf3}}, Y: Field{[10]uint32{0x0182bb86, 0x013a339c, 0x02c74144, 0x02c3a8cf, 0x0027c38c, 0x00e9fa04, 0x032cbbad, 0x023e8c3a, 0x0189bb3b, 0x0002811a}}}, + {X: Field{[10]uint32{0x01a6fd96, 0x03dd129e, 0x02f1291b, 0x01adb667, 0x03391682, 0x00331644, 0x037770b5, 0x026ca7b7, 0x010eab55, 0x002875bb}}, Y: Field{[10]uint32{0x004ab69b, 0x008ded30, 0x03391df2, 0x00c02b1a, 0x002f17df, 0x00612025, 0x03bf93b5, 0x0156b85c, 0x017e0c92, 0x002ee459}}}, + {X: Field{[10]uint32{0x012a9575, 0x02a047a4, 0x0301bd08, 0x039f8725, 0x01440da5, 0x026ad8e7, 0x0366201e, 0x00c35cd4, 0x030ded71, 0x000a3d95}}, Y: Field{[10]uint32{0x02d2884a, 0x039ab73c, 0x0362edec, 0x017a5576, 0x00e2216e, 0x03efd30b, 0x011a7c70, 0x0166c8fa, 0x0360119c, 0x000e4647}}}, + {X: Field{[10]uint32{0x00271fa3, 0x032013e4, 0x038530b9, 0x0089258d, 0x0031cfce, 0x00075edb, 0x00b089d1, 0x00f79086, 0x00eddbb8, 0x00005323}}, Y: Field{[10]uint32{0x029a41fc, 0x03fb393a, 0x0384d7a8, 0x00f5128b, 0x030de129, 0x0131e252, 0x01cba3d2, 0x00b9c44d, 0x02d2a5d0, 0x00012014}}}, + {X: Field{[10]uint32{0x012d489b, 0x00be3eb8, 0x03ca9eda, 0x00ee4886, 0x03a75f56, 0x03211429, 0x0228fa1b, 0x00df4f4a, 0x0305fec7, 0x003abfe7}}, Y: Field{[10]uint32{0x03b8c139, 0x02dc2a48, 0x01c3dd3f, 0x01206844, 0x022ad9f3, 0x0083d18e, 0x03349fa5, 0x021cf5f4, 0x019b05c9, 0x0035b510}}}, + {X: Field{[10]uint32{0x00b35e95, 0x02fb4545, 0x02a43d92, 0x03825a4c, 0x00ce0757, 0x00b9ff0f, 0x03524575, 0x00dc4a16, 0x006eb42a, 0x003a3b93}}, Y: Field{[10]uint32{0x023b748a, 0x00c28ada, 0x01e2d5f2, 0x03f32f17, 0x00ee55ab, 0x0091b2df, 0x007ff4e6, 0x0060c7c4, 0x014c27ef, 0x000361af}}}, + {X: Field{[10]uint32{0x0241e7e4, 0x01db9abb, 0x00386a07, 0x008819de, 0x02d5e909, 0x03222946, 0x03707591, 0x00ec181a, 0x01090821, 0x00263186}}, Y: Field{[10]uint32{0x025d4c8c, 0x0106bbfd, 0x03efbfc2, 0x02a068df, 0x030fd72d, 0x02339314, 0x0290e2d3, 0x02e4110b, 0x022cf98b, 0x003acf4b}}}, + {X: Field{[10]uint32{0x0146dd29, 0x033dfcfe, 0x0217d946, 0x001938a3, 0x01893198, 0x00e2f2d7, 0x03a0dbbc, 0x00a61b15, 0x0381f5d6, 0x00353d9a}}, Y: Field{[10]uint32{0x037a5fc2, 0x02087ede, 0x03b32867, 0x023814c2, 0x002a1229, 0x02052d6e, 0x03c5579d, 0x0068032d, 0x038deedf, 0x003064c3}}}, + {X: Field{[10]uint32{0x0011087f, 0x01e41805, 0x03c4eb98, 0x030ab511, 0x01a13dd4, 0x02619bc3, 0x01543696, 0x02466d57, 0x00e705f8, 0x000535cf}}, Y: Field{[10]uint32{0x03ededf8, 0x0381b1a4, 0x0067d16e, 0x03c98a75, 0x03b71c48, 0x02bd0822, 0x0106df2c, 0x0034f174, 0x0222b9cb, 0x001a6e51}}}, + {X: Field{[10]uint32{0x03da3aec, 0x00d30808, 0x017115bc, 0x010229c4, 0x015646ab, 0x02942a35, 0x00511058, 0x01e831ab, 0x0135059c, 0x0015fbf2}}, Y: Field{[10]uint32{0x01c5dfd1, 0x01cb00ad, 0x00c4b262, 0x03c14ccb, 0x0127f959, 0x00ab954a, 0x03fba0d9, 0x015705d2, 0x029a60b8, 0x003f2a4c}}}, + {X: Field{[10]uint32{0x01b3677f, 0x00dcbf65, 0x0073dcb6, 0x03d4da0e, 0x00171213, 0x016a7cf9, 0x00b94585, 0x02a036a4, 0x0286063d, 0x00247c4e}}, Y: Field{[10]uint32{0x019a90ea, 0x02d3bed0, 0x016d03ca, 0x03384d05, 0x01e0332e, 0x0081558e, 0x029a7ae9, 0x03c4430c, 0x00d86734, 0x001d0178}}}, + {X: Field{[10]uint32{0x01607592, 0x035abfe8, 0x037675f9, 0x005b44cd, 0x02c33227, 0x01037170, 0x03dfd64b, 0x017896a0, 0x010b4614, 0x00373213}}, Y: Field{[10]uint32{0x012d6c66, 0x02a2ea07, 0x00adc8bb, 0x01869c0c, 0x0251b951, 0x03d4c91a, 0x01f15260, 0x03fab023, 0x00f48e4d, 0x00391a93}}}, + {X: Field{[10]uint32{0x0348676c, 0x01405d0c, 0x02db0542, 0x007f7c5a, 0x00df0bfa, 0x02fcf1a8, 0x016011e6, 0x03d0c804, 0x02acd5a6, 0x000a2ac1}}, Y: Field{[10]uint32{0x03b0cb9a, 0x015ad8e5, 0x012d427e, 0x00af8369, 0x03cc31f4, 0x013ff3fb, 0x011d6b7a, 0x01276ba7, 0x021c967f, 0x001449ca}}}, + {X: Field{[10]uint32{0x01d8b240, 0x03c3d148, 0x02d00bef, 0x0248c830, 0x020d9c2a, 0x0245718d, 0x032adb45, 0x037f7f4f, 0x0321f8d1, 0x0001f006}}, Y: Field{[10]uint32{0x002c8b48, 0x03e89715, 0x01aedf76, 0x018b4db4, 0x016e7ffd, 0x02aa5acf, 0x02f78fda, 0x01b607f1, 0x03cc9990, 0x002d2923}}}, + {X: Field{[10]uint32{0x014d98f1, 0x02a66b34, 0x01f5b428, 0x026f832d, 0x03a0d327, 0x02703a3e, 0x03624230, 0x03a57ca8, 0x037830f8, 0x003e53ba}}, Y: Field{[10]uint32{0x03649527, 0x03f8f290, 0x00d2305c, 0x0076544f, 0x03715722, 0x02ed2a4f, 0x01c91be8, 0x01ae7297, 0x03646967, 0x00325b56}}}, + {X: Field{[10]uint32{0x01ec35ca, 0x01bd7e04, 0x0045bd40, 0x01dcc3a4, 0x039a6d64, 0x03d78cb4, 0x01e0dd85, 0x0336902f, 0x00e47788, 0x003a919d}}, Y: Field{[10]uint32{0x035a235a, 0x01188c29, 0x01a0fe1a, 0x0185093a, 0x01fb622a, 0x0062f5da, 0x030032ba, 0x024488c1, 0x03790a9b, 0x0001da6f}}}, + {X: Field{[10]uint32{0x03b40112, 0x00f09407, 0x005d1728, 0x0234dd9d, 0x0019b7b3, 0x020aff8a, 0x03172606, 0x021a1404, 0x00197f8f, 0x0036969d}}, Y: Field{[10]uint32{0x01c37a39, 0x018f8ee5, 0x0290ceb6, 0x0104841c, 0x00b5a19f, 0x0358dcef, 0x025ef5f5, 0x0078604c, 0x02ec0587, 0x002982d7}}}, + {X: Field{[10]uint32{0x02e9d41d, 0x03dcbc89, 0x03b6c22f, 0x03b08ee3, 0x01a75ebc, 0x03b5eddb, 0x00c6820d, 0x003f6806, 0x03a55256, 0x0030405f}}, Y: Field{[10]uint32{0x009fed39, 0x01e0450d, 0x0129b1b0, 0x03699e0a, 0x039b5dc1, 0x03fc1625, 0x03da3b8d, 0x011fe459, 0x019daf26, 0x003a51ec}}}, + {X: Field{[10]uint32{0x01216a7f, 0x03a452ca, 0x00b164b3, 0x016066fc, 0x011b9646, 0x0160269d, 0x0215238b, 0x0111d9e2, 0x00e14e81, 0x0002f9f0}}, Y: Field{[10]uint32{0x03eb392e, 0x0189e803, 0x0204e4f1, 0x002e28d8, 0x01088084, 0x035923a0, 0x03072b15, 0x00669bc2, 0x0297f642, 0x0028c3af}}}, + {X: Field{[10]uint32{0x03007cea, 0x00ec4e65, 0x0014fcb5, 0x03cb3e01, 0x0059e0ff, 0x00bffe0b, 0x01184056, 0x0303f730, 0x02c1a4d6, 0x0019d63b}}, Y: Field{[10]uint32{0x00b316b3, 0x038fabdf, 0x00edcb4f, 0x02eb42e7, 0x00a0149b, 0x01898c7a, 0x02c88988, 0x03614908, 0x006620fc, 0x001194ef}}}, + {X: Field{[10]uint32{0x005b6116, 0x02143710, 0x01dae70d, 0x0379a6b3, 0x03011014, 0x03a1cd6c, 0x000cf059, 0x01366676, 0x01d3f88f, 0x00272ed4}}, Y: Field{[10]uint32{0x01902360, 0x01442ec9, 0x023d60e2, 0x02064642, 0x02047c63, 0x01fbf134, 0x00e0ed51, 0x016d4a00, 0x0348cad7, 0x0037e8b9}}}, + {X: Field{[10]uint32{0x00bf0bc3, 0x03854436, 0x00dea3d6, 0x0354d087, 0x0065328b, 0x02a96b46, 0x0350229e, 0x01e4bc5c, 0x02e7b170, 0x0018e96a}}, Y: Field{[10]uint32{0x02da1010, 0x03ee20d4, 0x00ea195a, 0x035e3396, 0x0212a261, 0x034d8d30, 0x026250ae, 0x017d27df, 0x03d0f25d, 0x0004496b}}}, + {X: Field{[10]uint32{0x02f10657, 0x038b226c, 0x02430b0f, 0x00907698, 0x014e036d, 0x0090f688, 0x02e11fb0, 0x000ca3ae, 0x02493e5f, 0x002b7e58}}, Y: Field{[10]uint32{0x01b1ea1e, 0x00d2d5c2, 0x037f784f, 0x037a280f, 0x03219a29, 0x005f52d7, 0x0018b16d, 0x0376ccb4, 0x00bafcd8, 0x0014260d}}}, + {X: Field{[10]uint32{0x034d472f, 0x01d97678, 0x01f32f00, 0x01270ac9, 0x01bfdfa5, 0x00135c89, 0x0183364e, 0x0128564d, 0x035b7fb4, 0x00028363}}, Y: Field{[10]uint32{0x03998ab2, 0x026c48bb, 0x0048dd53, 0x008be7df, 0x01630b6c, 0x0365ff8f, 0x01da99f3, 0x009a1e52, 0x0366f84c, 0x000187aa}}}, + {X: Field{[10]uint32{0x02e61fc1, 0x019a42c2, 0x0033ef68, 0x03496c9f, 0x027a3ee0, 0x01b60097, 0x00dbf815, 0x028b6eb7, 0x00ea9596, 0x002e60c2}}, Y: Field{[10]uint32{0x03ddbd37, 0x00334149, 0x006f5125, 0x01b9619e, 0x01445bae, 0x00f3f496, 0x00c582a0, 0x02933ad3, 0x03177566, 0x00336d38}}}, + {X: Field{[10]uint32{0x00b98134, 0x008cabdc, 0x03f637f0, 0x03236d2a, 0x03cf3969, 0x024ee8c0, 0x01eefe37, 0x035b3046, 0x031d37e3, 0x00386993}}, Y: Field{[10]uint32{0x003231da, 0x0173b507, 0x00fc2f95, 0x019e3d3b, 0x01ddbd35, 0x00fd606d, 0x00d2084b, 0x034bd7b1, 0x02d8885d, 0x0016235e}}}, + {X: Field{[10]uint32{0x01fdaaed, 0x0089da99, 0x00eca49c, 0x03b9ebc5, 0x01318929, 0x035c4644, 0x02253a1b, 0x00ea9b9c, 0x03ede854, 0x003ef577}}, Y: Field{[10]uint32{0x013b78bc, 0x033efc06, 0x016f2f76, 0x006b6f43, 0x00f23489, 0x016e30c4, 0x0005d516, 0x00d458f1, 0x030a432c, 0x000c5f3b}}}, + {X: Field{[10]uint32{0x00da6bc2, 0x01df39a1, 0x00a2ae30, 0x0137005e, 0x0030b87c, 0x03dedbc8, 0x031a8822, 0x02544213, 0x03f3b0a3, 0x003eb12d}}, Y: Field{[10]uint32{0x00867d75, 0x02ca656f, 0x01fae390, 0x034557c6, 0x00386ce0, 0x018a3f75, 0x00a5c54a, 0x008bf058, 0x01209e95, 0x001c0a6e}}}, + {X: Field{[10]uint32{0x03ef7c2b, 0x02a06150, 0x0053ee64, 0x014571d7, 0x013c29fc, 0x006d7f1f, 0x02c02964, 0x033d4200, 0x03de834f, 0x0032a190}}, Y: Field{[10]uint32{0x03cf17f9, 0x03ea592b, 0x014c3b26, 0x00c73b9c, 0x02f8ecea, 0x02b6767e, 0x036fd4d0, 0x00a5b890, 0x0027111e, 0x00241e9b}}}, + {X: Field{[10]uint32{0x03315f1f, 0x00b25b3c, 0x0066b120, 0x008af150, 0x03a4a73b, 0x03f92d22, 0x0226b19e, 0x003a85fa, 0x02490d70, 0x001c61cd}}, Y: Field{[10]uint32{0x03ded2fd, 0x00b04761, 0x0215abd8, 0x01208108, 0x01515127, 0x03973d0a, 0x03fc614d, 0x01d2ddd4, 0x00474bb3, 0x003db361}}}, + {X: Field{[10]uint32{0x00c5e3d7, 0x030f14d2, 0x03e6f15a, 0x023dddb2, 0x00175b76, 0x01df18fc, 0x02574826, 0x031cc89b, 0x00ff21c3, 0x0019f9ce}}, Y: Field{[10]uint32{0x02f2bdb2, 0x024d43ba, 0x026bfac7, 0x0151744c, 0x030ebd28, 0x01f3d824, 0x03a50644, 0x0375c95d, 0x000f2343, 0x00053945}}}, + {X: Field{[10]uint32{0x02198893, 0x03d57c66, 0x02934280, 0x010998b3, 0x036c5a5c, 0x00d3b85f, 0x01339f64, 0x0094fc81, 0x0331f875, 0x001452cf}}, Y: Field{[10]uint32{0x02e9a090, 0x02601f92, 0x0269fe46, 0x030b72a5, 0x01a61c0f, 0x039f3793, 0x011c538c, 0x03b1c133, 0x0193a2fb, 0x0013acce}}}, + {X: Field{[10]uint32{0x03c2dab3, 0x01614062, 0x03586f98, 0x005be12c, 0x02ca53c2, 0x006280e4, 0x0330a414, 0x00f9d5aa, 0x03a6eab0, 0x00109ab3}}, Y: Field{[10]uint32{0x01083926, 0x0166ab7c, 0x01a74acb, 0x03441d27, 0x02d34944, 0x0015ceed, 0x0206682d, 0x00431702, 0x02ab21cc, 0x0030f58f}}}, + {X: Field{[10]uint32{0x02d7a09c, 0x003a3de8, 0x005cad42, 0x01cb1608, 0x01b8ad4a, 0x01165f21, 0x03dcbee9, 0x015cdc3f, 0x034668c0, 0x002e51ae}}, Y: Field{[10]uint32{0x023401b9, 0x008eeb47, 0x02b2cdc7, 0x00e927fb, 0x03969ea1, 0x0196f180, 0x03e63a5e, 0x00e09959, 0x02d41263, 0x00331c03}}}, + {X: Field{[10]uint32{0x018e33ac, 0x00d6e576, 0x02dcd803, 0x03e3eca2, 0x001d1e38, 0x0335d77d, 0x01d7d3cc, 0x02d17d44, 0x00b3f6c8, 0x0039aa11}}, Y: Field{[10]uint32{0x0058cce2, 0x005db0bb, 0x017e2c0b, 0x00273249, 0x036c4aa1, 0x007dc5ea, 0x023268ee, 0x022431d2, 0x03893939, 0x0001fc91}}}, + {X: Field{[10]uint32{0x02458001, 0x034503e5, 0x03dcd117, 0x00fc08c4, 0x00493e90, 0x01492e63, 0x0236b415, 0x014ba305, 0x03bfd9e0, 0x0010f98a}}, Y: Field{[10]uint32{0x023b352d, 0x011de669, 0x03cec8e1, 0x02ed27b2, 0x01ebee23, 0x0373fcc7, 0x01993000, 0x0354a0c2, 0x013d0a90, 0x003d2061}}}, + {X: Field{[10]uint32{0x0047f817, 0x03d12e20, 0x02ad9e94, 0x01124496, 0x01e555a8, 0x00776e6f, 0x0223e1c4, 0x011db50b, 0x000e3427, 0x003113bd}}, Y: Field{[10]uint32{0x02236fac, 0x02e7a8e3, 0x009d2498, 0x02cb6e13, 0x0238f664, 0x01dbd2b8, 0x0018e147, 0x03964fca, 0x0313e43e, 0x002fb750}}}, + {X: Field{[10]uint32{0x03212385, 0x022f7814, 0x037e8d40, 0x03eabf66, 0x037f58f2, 0x03e39265, 0x016f93f5, 0x00625702, 0x0313dcc1, 0x00286cd4}}, Y: Field{[10]uint32{0x023079f5, 0x023a29c2, 0x02c55bdc, 0x03008098, 0x03135a9e, 0x0024f605, 0x009f9cf5, 0x01430dcc, 0x025abf0d, 0x002f5fac}}}, + {X: Field{[10]uint32{0x035e964e, 0x0122a486, 0x01c91b67, 0x026b4562, 0x02138222, 0x00d6f663, 0x03f2f0c7, 0x0007268d, 0x03f9fd62, 0x001229bc}}, Y: Field{[10]uint32{0x034481b4, 0x00b14316, 0x01c91971, 0x00e54e97, 0x022c73e0, 0x02a75659, 0x0062c81f, 0x02a28192, 0x01553d41, 0x0006d514}}}, + {X: Field{[10]uint32{0x00061e9f, 0x00a17669, 0x0354db06, 0x033716c8, 0x0375f050, 0x023bb3c6, 0x019181dc, 0x02c1ba28, 0x0174651d, 0x0023807d}}, Y: Field{[10]uint32{0x035e108b, 0x03efec89, 0x00cae256, 0x0192e87c, 0x027d7ba9, 0x00bbb2b6, 0x006e90a0, 0x039f56db, 0x02a09800, 0x0027455b}}}, + {X: Field{[10]uint32{0x0205345d, 0x029372be, 0x0258f43d, 0x03cc5a52, 0x0228e375, 0x029e7e39, 0x0368b195, 0x02d5d8fa, 0x00db9e6d, 0x0012f03e}}, Y: Field{[10]uint32{0x03a5b555, 0x03c85710, 0x019d98d0, 0x00eda8cb, 0x01633805, 0x009a929a, 0x02380e81, 0x02c592ee, 0x0389a1e6, 0x0031a9c1}}}, + {X: Field{[10]uint32{0x0297a768, 0x015288ee, 0x0255f32d, 0x0236c033, 0x00f4c7ee, 0x002df6ae, 0x0230a665, 0x037ab758, 0x00cb5f5e, 0x00259bf4}}, Y: Field{[10]uint32{0x011a994b, 0x01b3de60, 0x004e1654, 0x0272a795, 0x0001e892, 0x038285ae, 0x0019a1de, 0x026d97d6, 0x0243bb4f, 0x00275913}}}, + {X: Field{[10]uint32{0x017b0d8a, 0x00b14421, 0x027f8296, 0x02e21891, 0x0320d50e, 0x010e38cd, 0x02dc7c74, 0x00ba9964, 0x01ad4952, 0x001aad46}}, Y: Field{[10]uint32{0x023ae44d, 0x00245442, 0x020da8a8, 0x0280de3b, 0x02e82653, 0x0153087b, 0x0367ec35, 0x0142898a, 0x02342b72, 0x00316e8e}}}, + {X: Field{[10]uint32{0x0276c62f, 0x01b5bbea, 0x03856d52, 0x029094c9, 0x03e55f18, 0x001db858, 0x03d0a0cd, 0x0183d4e6, 0x00e43e50, 0x003e2c2e}}, Y: Field{[10]uint32{0x00d48ba4, 0x03b3dbf5, 0x03ad1fe1, 0x02e90d9c, 0x017d5c95, 0x00a0e6a8, 0x00f29c86, 0x014fe963, 0x0052a658, 0x001d0f78}}}, + {X: Field{[10]uint32{0x02d18bad, 0x01e8494f, 0x030e1658, 0x018e7456, 0x02967e97, 0x0088f57e, 0x0185c0e5, 0x023fc2ad, 0x02f8579d, 0x00311427}}, Y: Field{[10]uint32{0x01b08362, 0x016393c7, 0x01cf97fe, 0x03021bc4, 0x0381199d, 0x01d2e2b9, 0x036d8d35, 0x02696168, 0x03e8ee97, 0x001ee47d}}}, + {X: Field{[10]uint32{0x0342379f, 0x02c03f6a, 0x003c3aac, 0x00cb3ead, 0x0004cef7, 0x02530393, 0x0207c538, 0x0143e388, 0x035a6ff4, 0x00268004}}, Y: Field{[10]uint32{0x03a9975d, 0x02e3fe07, 0x03d594df, 0x01ba2e11, 0x00b48159, 0x0232aee4, 0x020902a2, 0x0316c51d, 0x03483684, 0x000e4fb1}}}, + {X: Field{[10]uint32{0x03488601, 0x029016db, 0x01e3eaa4, 0x00c53949, 0x02a484d3, 0x0174f7b8, 0x010c17c2, 0x0235f37a, 0x03df173f, 0x000f5dd6}}, Y: Field{[10]uint32{0x030e51d4, 0x03a631ec, 0x02046b3d, 0x016e265c, 0x0138a402, 0x0275d389, 0x03287f55, 0x003da96f, 0x00bc0a56, 0x001f9ac2}}}, + {X: Field{[10]uint32{0x0303b529, 0x003a60de, 0x017b8f5d, 0x000b5c0f, 0x02a95e50, 0x034428a6, 0x03380a80, 0x0062d144, 0x013ea601, 0x0033aebf}}, Y: Field{[10]uint32{0x03b74b4e, 0x0054d2a1, 0x010c0fd6, 0x006fd54a, 0x025f6d8b, 0x00cee811, 0x0203594e, 0x027d87fd, 0x02b646f5, 0x000651de}}}, + {X: Field{[10]uint32{0x03a731b2, 0x02c661f3, 0x01de158c, 0x018fd62b, 0x037ecbc9, 0x03926c8d, 0x001ac162, 0x038f87bc, 0x00ac1ff3, 0x002ba28f}}, Y: Field{[10]uint32{0x01531efe, 0x0287a794, 0x03ac2bac, 0x00ac4529, 0x02ee26fd, 0x02371dce, 0x03f6af9e, 0x02dd25cc, 0x02752052, 0x001692c1}}}, + {X: Field{[10]uint32{0x01e3b38e, 0x010dd4eb, 0x02b28308, 0x00d743ef, 0x01fd39b6, 0x011deb13, 0x0118edee, 0x01c48d70, 0x00bb8bd4, 0x0035d34e}}, Y: Field{[10]uint32{0x00b54451, 0x01aecddf, 0x01c325d6, 0x03f4e4db, 0x021ec0a0, 0x006e9b78, 0x01850843, 0x00a0e5ea, 0x01b6f17a, 0x003cf941}}}, + {X: Field{[10]uint32{0x02beb2a8, 0x0256c53d, 0x01db2495, 0x00cec33a, 0x014d4f0b, 0x0381d747, 0x00dc1bef, 0x01e17345, 0x02757780, 0x003d0a1d}}, Y: Field{[10]uint32{0x00514b38, 0x00787618, 0x015364eb, 0x0354ffc9, 0x03950f34, 0x00d86b5b, 0x018bf6da, 0x018b7719, 0x0231eefc, 0x0028f7c8}}}, + {X: Field{[10]uint32{0x02378e94, 0x03250051, 0x0145450d, 0x0220f287, 0x01e62776, 0x0272c826, 0x03caaa86, 0x02b589da, 0x036bda19, 0x003a4755}}, Y: Field{[10]uint32{0x0040779c, 0x032a5c4e, 0x01db87ac, 0x0060df9d, 0x00020e79, 0x00c99763, 0x00313db8, 0x00b2e66b, 0x0038c8da, 0x002d5f88}}}, + {X: Field{[10]uint32{0x00c66ea2, 0x00c33f8e, 0x01aec7e8, 0x0377cf1f, 0x03e035e1, 0x03caaa90, 0x011b53da, 0x0385d8de, 0x00e87d77, 0x0009a651}}, Y: Field{[10]uint32{0x013707f6, 0x0339db06, 0x02ea739a, 0x0115edfb, 0x01567641, 0x026cc8f2, 0x028ca430, 0x031fec14, 0x036434bd, 0x0032c045}}}, + {X: Field{[10]uint32{0x0244a3d1, 0x03807ec1, 0x02a5ee94, 0x005cbfdb, 0x01fb0993, 0x01eec5d9, 0x0261c685, 0x00da046a, 0x028a8f0b, 0x003b5079}}, Y: Field{[10]uint32{0x0108231c, 0x0037ae31, 0x005dc1dd, 0x03823302, 0x0071c918, 0x00f65600, 0x03a1e448, 0x02f8109a, 0x007b880c, 0x003cb324}}}, + {X: Field{[10]uint32{0x01fec0de, 0x01e59083, 0x0113ab0b, 0x03c4cc88, 0x01538192, 0x00e8cf5a, 0x0236e4f5, 0x032e978b, 0x024a96cf, 0x001a51d9}}, Y: Field{[10]uint32{0x038fb6cd, 0x01770be8, 0x01dc77f9, 0x02577b3d, 0x03256101, 0x01ab78cc, 0x01b76c4d, 0x02dbeea4, 0x01bc5b65, 0x00192074}}}, + {X: Field{[10]uint32{0x0227fb03, 0x021715c7, 0x02f668ea, 0x00b1c3a3, 0x00437901, 0x02a4996c, 0x000a42bb, 0x018f7daa, 0x007ce22b, 0x002a8f86}}, Y: Field{[10]uint32{0x00d011be, 0x02a47fc2, 0x0329c38f, 0x01239736, 0x03e8732f, 0x00c04150, 0x03fcab70, 0x027f465b, 0x016b9810, 0x00298e37}}}, + {X: Field{[10]uint32{0x004a944b, 0x026f863e, 0x021c5eff, 0x00de4493, 0x02bfd5ea, 0x0150ff5b, 0x029fbab6, 0x03e536d2, 0x00e1a4be, 0x00001779}}, Y: Field{[10]uint32{0x0157e2d6, 0x026ea79e, 0x03442967, 0x03469fb1, 0x0158f8ae, 0x01dd11d8, 0x0299513f, 0x038a502d, 0x0282693b, 0x00087128}}}, + {X: Field{[10]uint32{0x007a7ce5, 0x01b0ad0a, 0x030a0964, 0x03ba8ce8, 0x02fdd18f, 0x02bc2bc8, 0x0096c793, 0x02d1de07, 0x00c72c87, 0x00194cf7}}, Y: Field{[10]uint32{0x037ccc51, 0x00dc1620, 0x00cd3f8c, 0x033e8ebb, 0x00482748, 0x00d1085d, 0x01589fc2, 0x03e6ef3a, 0x01f23d82, 0x001fc0f9}}}, + {X: Field{[10]uint32{0x00fdf354, 0x02ec0299, 0x01871a5e, 0x008e9c2e, 0x01c5109f, 0x014d0d4c, 0x02008ab8, 0x01612af6, 0x033c129e, 0x0004e797}}, Y: Field{[10]uint32{0x033f0a98, 0x0028bddd, 0x009de619, 0x039209ab, 0x026bf011, 0x020d4ad8, 0x03182ee9, 0x023abe94, 0x025741fb, 0x00125edf}}}, + {X: Field{[10]uint32{0x0161f7c3, 0x01e6bba0, 0x01f0c7c7, 0x02060645, 0x013ce57b, 0x0363c958, 0x00ea9918, 0x03a5420f, 0x01ccf7e1, 0x00124ffa}}, Y: Field{[10]uint32{0x03020cd5, 0x02f93059, 0x02f4088c, 0x00562f30, 0x00639ab6, 0x028eed12, 0x00aff6a6, 0x03874115, 0x03fd62fc, 0x0039a5d8}}}, + {X: Field{[10]uint32{0x02a064a9, 0x039acd94, 0x008a7446, 0x0055d9bb, 0x03900e3c, 0x0240f29d, 0x01ac2fb4, 0x01c2e190, 0x03dbd8dd, 0x003b59d7}}, Y: Field{[10]uint32{0x00416de9, 0x01bcc4da, 0x037fd1f2, 0x02c9739d, 0x0223ccff, 0x02c0622b, 0x00669b40, 0x03d6d1b8, 0x037985ce, 0x002986ec}}}, + {X: Field{[10]uint32{0x02260a4d, 0x02c32a66, 0x00b83136, 0x0110e187, 0x02b6d484, 0x014e4f54, 0x03c14e31, 0x0278e9e5, 0x00a89a76, 0x0005cd9c}}, Y: Field{[10]uint32{0x03bd4904, 0x00f689f1, 0x02bc6d68, 0x03ddf760, 0x00d140b3, 0x01242104, 0x02a1b28e, 0x0134ba57, 0x0121c1ba, 0x0013750e}}}, + {X: Field{[10]uint32{0x035d1610, 0x0387c258, 0x0128cdf9, 0x00f4b329, 0x00a1da93, 0x03041ba0, 0x011e05a0, 0x038551bc, 0x03a08f87, 0x00356978}}, Y: Field{[10]uint32{0x01175352, 0x00a45397, 0x01167255, 0x01d0828d, 0x01aa20df, 0x0307fec3, 0x00a9c6f2, 0x03024a34, 0x01e0daf3, 0x001f1b15}}}, + {X: Field{[10]uint32{0x02f6fa2a, 0x0168ce36, 0x00ebe417, 0x00c9d3b9, 0x01a0a999, 0x01359a5f, 0x02f2e2b9, 0x00c871a4, 0x01a004ab, 0x00153d7a}}, Y: Field{[10]uint32{0x01f2de21, 0x0359b622, 0x0342b5cb, 0x032a157f, 0x0258a7d9, 0x03e0a376, 0x02eb7614, 0x01b91cd2, 0x03d175fa, 0x001633c4}}}, + {X: Field{[10]uint32{0x03ebe6da, 0x01c96f1f, 0x01d4c9e8, 0x00b65111, 0x02fd9a63, 0x010988ac, 0x025544a4, 0x03a6558b, 0x0098154d, 0x00359a0a}}, Y: Field{[10]uint32{0x0190f206, 0x01c7718c, 0x001ebd13, 0x0117dd83, 0x030b2d50, 0x01e5c6a8, 0x0202c50a, 0x02e15d43, 0x023b9ba3, 0x00260247}}}, + {X: Field{[10]uint32{0x01c2da08, 0x0126fdb3, 0x008cafef, 0x03fc6324, 0x02610bec, 0x00b7b34d, 0x01f6e1a8, 0x03131236, 0x01b92af2, 0x00094c06}}, Y: Field{[10]uint32{0x017c680a, 0x02e1ae8e, 0x02a5a495, 0x00ef694e, 0x023ffbdd, 0x00421cb8, 0x02ebdce8, 0x0275d397, 0x035ad950, 0x00185f4c}}}, + {X: Field{[10]uint32{0x004da6cb, 0x019f3544, 0x00f16bab, 0x01d14391, 0x02ced725, 0x03023ca4, 0x00d2bcfa, 0x03af7958, 0x00ca461b, 0x00015bd9}}, Y: Field{[10]uint32{0x013aee44, 0x00efcf56, 0x023eebd8, 0x014ee40e, 0x02757cb5, 0x00bba050, 0x012bca8f, 0x020ca2a6, 0x01cfdc27, 0x0016c821}}}, + {X: Field{[10]uint32{0x03553420, 0x03b49163, 0x012f64dd, 0x03a6fbcc, 0x005a31a1, 0x01f8fb8e, 0x025c1928, 0x00ea6bc3, 0x01711e15, 0x003ce725}}, Y: Field{[10]uint32{0x03b0b1cc, 0x020a4c38, 0x03a974b8, 0x018922f7, 0x02e742ef, 0x0126304c, 0x039df908, 0x01ae7de1, 0x02c11c20, 0x00133252}}}, + {X: Field{[10]uint32{0x013128b5, 0x037758b0, 0x005368c8, 0x01297783, 0x01b2f303, 0x01716ab9, 0x02d3dad9, 0x021cf00c, 0x02a8cbdf, 0x00010dfa}}, Y: Field{[10]uint32{0x013c59c6, 0x038c2026, 0x01fcc721, 0x00b77c30, 0x012f8d1b, 0x03583696, 0x00245993, 0x0042ed65, 0x020eb003, 0x0009f63a}}}, + {X: Field{[10]uint32{0x0080e9b2, 0x027ad2ea, 0x0371f0a7, 0x0298053b, 0x003f13e7, 0x00715d4d, 0x010ae621, 0x019e6112, 0x01893f5d, 0x002b7869}}, Y: Field{[10]uint32{0x0391c715, 0x00b8988d, 0x01304902, 0x00adfc90, 0x01e80188, 0x00f06d0a, 0x03404d8c, 0x01a8eeb1, 0x017c537e, 0x002f5270}}}, + {X: Field{[10]uint32{0x02c1224e, 0x038b64ce, 0x0198fd16, 0x01e31eb4, 0x00a87ef9, 0x029386db, 0x0357d977, 0x00696ae7, 0x01d5c309, 0x0024d89d}}, Y: Field{[10]uint32{0x036b9f32, 0x000481f7, 0x0057e5aa, 0x0146c5ee, 0x00ed5988, 0x01b88934, 0x0375d96c, 0x021317aa, 0x010ad8bd, 0x001a149a}}}, + {X: Field{[10]uint32{0x039b786e, 0x03ed69da, 0x01e8cc33, 0x00741dad, 0x03e29497, 0x03202e74, 0x006db205, 0x03573781, 0x01fd3e8f, 0x0000a795}}, Y: Field{[10]uint32{0x00010a0d, 0x03379263, 0x02f57af6, 0x00ab5869, 0x002bbf3e, 0x01c83391, 0x038312f0, 0x00d2e515, 0x017a7eb9, 0x0001da79}}}, + {X: Field{[10]uint32{0x009051ef, 0x02c566e0, 0x00584168, 0x0011d91f, 0x003ae378, 0x01785bde, 0x00b52754, 0x0217fc66, 0x02a73501, 0x0037e0d8}}, Y: Field{[10]uint32{0x02af6bab, 0x032b82d8, 0x01a263a6, 0x0203b923, 0x03735ece, 0x012c5b0e, 0x026b6048, 0x028ef7a0, 0x0046fbd4, 0x002bf2cd}}}, + {X: Field{[10]uint32{0x018a427e, 0x0057b381, 0x0033c254, 0x020e5b3d, 0x01b9a01e, 0x01b31867, 0x01660379, 0x017f83e5, 0x012309a3, 0x0017d10c}}, Y: Field{[10]uint32{0x00901ac0, 0x01f530ac, 0x03c906fd, 0x01c923eb, 0x0337d81c, 0x01aaa705, 0x0272b605, 0x02af14a4, 0x0012fc0a, 0x000e170a}}}, + {X: Field{[10]uint32{0x01dd2de5, 0x038d1205, 0x0163f4b7, 0x03fd74f7, 0x008c5323, 0x01a4ff13, 0x01b77a31, 0x000df149, 0x021553c6, 0x00306710}}, Y: Field{[10]uint32{0x013900a4, 0x0323b06a, 0x01822159, 0x01564b26, 0x00a19d22, 0x03679ac8, 0x01161896, 0x01df849c, 0x028a8791, 0x0027ddba}}}, + {X: Field{[10]uint32{0x032d45ac, 0x028508eb, 0x013f1d62, 0x024aa084, 0x0214d19d, 0x018e5091, 0x0162fdb3, 0x008ccbab, 0x021dd1e0, 0x0022afce}}, Y: Field{[10]uint32{0x03e36dde, 0x006d6629, 0x007ec7de, 0x0105b754, 0x02defc29, 0x0330b67c, 0x027a984e, 0x03b0fdd7, 0x027fdcf5, 0x000c96a5}}}, + {X: Field{[10]uint32{0x0359ae7a, 0x028f377d, 0x03b9433f, 0x01db0181, 0x0257c1dd, 0x01c7aa12, 0x014a58fa, 0x01879b13, 0x0390b931, 0x00322ff7}}, Y: Field{[10]uint32{0x030b20f9, 0x02513cc9, 0x01ce5b51, 0x033c054d, 0x00fd7990, 0x00f96a8f, 0x007efd3c, 0x03ed8fb5, 0x00a3d172, 0x0008f70e}}}, + {X: Field{[10]uint32{0x02d2c78d, 0x01fa1b80, 0x038b443c, 0x01016dde, 0x02a26ccc, 0x017e435e, 0x019e7ab8, 0x01665e9d, 0x026c35c5, 0x00025d99}}, Y: Field{[10]uint32{0x001ed0ff, 0x0145850e, 0x00f89605, 0x03fad0dc, 0x0392c52c, 0x008333bb, 0x02db2e4e, 0x033c96fc, 0x003e44fa, 0x001b4d0b}}}, + {X: Field{[10]uint32{0x0163252b, 0x00aa337e, 0x0273a1c1, 0x01b3fac8, 0x021fd65b, 0x02f6270e, 0x03b8e8a5, 0x0393871e, 0x03a77737, 0x0039de42}}, Y: Field{[10]uint32{0x03bdba42, 0x0096773f, 0x02e1a810, 0x03caa7a4, 0x01f7138f, 0x02ca2663, 0x02754ead, 0x02d63dc3, 0x02201534, 0x000098d7}}}, + {X: Field{[10]uint32{0x0176fb0d, 0x01df6051, 0x03efe375, 0x03265d7c, 0x03b471ce, 0x02e61ab0, 0x00e3ecd5, 0x03b20fd8, 0x017f6bfc, 0x0010b2e0}}, Y: Field{[10]uint32{0x005cf49a, 0x022937b1, 0x03cce270, 0x025941d7, 0x01144a85, 0x015cde42, 0x0162050a, 0x02f643c8, 0x0128b2f9, 0x003b4d78}}}, + {X: Field{[10]uint32{0x012f3cbb, 0x014383d0, 0x018f0024, 0x00a293f5, 0x01319024, 0x03847c51, 0x0060397a, 0x024ccfff, 0x00701a23, 0x0028221a}}, Y: Field{[10]uint32{0x0083af52, 0x0207e646, 0x00ad6d8a, 0x03267300, 0x03fc6002, 0x01221fae, 0x0251995b, 0x0380d023, 0x03371ad6, 0x0032121b}}}, + {X: Field{[10]uint32{0x032c4bb3, 0x021bc95c, 0x01aab034, 0x00b08998, 0x02e6a964, 0x00d9294b, 0x00fd8e8b, 0x006e2c10, 0x02419f10, 0x00290332}}, Y: Field{[10]uint32{0x0045a910, 0x02c542a5, 0x01285bab, 0x026e5402, 0x03b0655b, 0x001c0730, 0x01e611df, 0x025bc0b4, 0x03693ec0, 0x0003d086}}}, + {X: Field{[10]uint32{0x01beb721, 0x0181290d, 0x0350fefe, 0x003c5068, 0x02c53294, 0x027d5d57, 0x035b70bc, 0x011cb169, 0x0178bbb0, 0x00242bbe}}, Y: Field{[10]uint32{0x014bbf0d, 0x021f8478, 0x01187a5f, 0x004251e7, 0x0193f585, 0x0391e3a9, 0x008cde92, 0x03db932a, 0x0070737c, 0x003e7c17}}}, + {X: Field{[10]uint32{0x003407c3, 0x031a65eb, 0x03f1a07b, 0x00ceee09, 0x02d73ae4, 0x036e6b2d, 0x00292f68, 0x007ce580, 0x0281a0f6, 0x003ff08e}}, Y: Field{[10]uint32{0x034d4b66, 0x017ca115, 0x02803686, 0x00de81d1, 0x004f313b, 0x0351f338, 0x03c74630, 0x0384e49d, 0x0212bce5, 0x002dda81}}}, + {X: Field{[10]uint32{0x00a112a5, 0x003fd408, 0x01ded2ab, 0x00b837e6, 0x02742c85, 0x02610969, 0x022bc162, 0x03e64109, 0x039440bd, 0x0034f29e}}, Y: Field{[10]uint32{0x024d637a, 0x01e03ff7, 0x022cb1f9, 0x02dcd07e, 0x005ef191, 0x0204f38b, 0x004281f9, 0x0209713d, 0x03acca7e, 0x00276bb2}}}, + {X: Field{[10]uint32{0x01bb9f06, 0x02cf3294, 0x02b41b23, 0x02b3557b, 0x03469b21, 0x038386b1, 0x02b7589c, 0x02cc70a9, 0x02bb720a, 0x000a94e8}}, Y: Field{[10]uint32{0x0051f84e, 0x0295f8f5, 0x03256c21, 0x0036e912, 0x0027f781, 0x008341bb, 0x00d0f522, 0x025919e9, 0x0133ffde, 0x00046bfe}}}, + {X: Field{[10]uint32{0x01a1ac96, 0x00211d2b, 0x0087d05a, 0x01c5fedd, 0x0322b2fc, 0x02e3d72f, 0x03d2f77b, 0x000a1e9b, 0x035680c4, 0x00121f94}}, Y: Field{[10]uint32{0x02a849c8, 0x02434356, 0x03a731e9, 0x00954830, 0x01029c96, 0x0144c111, 0x0365326d, 0x00358dde, 0x03d54607, 0x0014ef5f}}}, + {X: Field{[10]uint32{0x027b3e16, 0x0396e659, 0x03a2963d, 0x02d20827, 0x01cf23c0, 0x00bd2d8a, 0x0332cfd6, 0x028307f0, 0x03cf291d, 0x000f9697}}, Y: Field{[10]uint32{0x02b86825, 0x0037b43e, 0x01c97b06, 0x03bdfd57, 0x008b33d7, 0x01ceec4c, 0x03028df7, 0x02687c12, 0x032c4338, 0x0021a61f}}}, + {X: Field{[10]uint32{0x023e256f, 0x01f5de43, 0x02b8ed5f, 0x03ed5c21, 0x00601840, 0x00b755c1, 0x002493d2, 0x011f08b1, 0x03c515a8, 0x0013e42b}}, Y: Field{[10]uint32{0x02b831be, 0x037b43ea, 0x01e33226, 0x0250ad61, 0x024ef939, 0x02b034f0, 0x01f6b089, 0x01a248cd, 0x0158ac2e, 0x0011b8c6}}}, + {X: Field{[10]uint32{0x023601fc, 0x01617078, 0x01a1782c, 0x00e29161, 0x02c2ff4b, 0x0086fa60, 0x02738071, 0x00fa9e9a, 0x012b40be, 0x002f81ce}}, Y: Field{[10]uint32{0x01f258db, 0x02a085bc, 0x0038da57, 0x01c799bb, 0x01431727, 0x036f8842, 0x01775b81, 0x027a39ef, 0x0057657c, 0x000e8561}}}, + {X: Field{[10]uint32{0x021108ed, 0x018d04be, 0x02603e05, 0x010546d6, 0x02ecc2f7, 0x01f09381, 0x02f9e6d4, 0x00dd7c88, 0x00e52140, 0x0021b09d}}, Y: Field{[10]uint32{0x00a96ef8, 0x0025a490, 0x003a2aa0, 0x01dbe4b0, 0x012703f2, 0x0326261f, 0x02b90b64, 0x035640cb, 0x02b94065, 0x001280be}}}, + {X: Field{[10]uint32{0x0173cf97, 0x023813cd, 0x03626267, 0x02a88449, 0x02287277, 0x036b04ff, 0x03b30561, 0x00e26049, 0x026be792, 0x00013f4e}}, Y: Field{[10]uint32{0x011173e4, 0x000d0b7c, 0x000d238c, 0x0288ed0e, 0x02f07ebe, 0x00ef1fa5, 0x00f4b4b4, 0x03b2db1b, 0x01a163cf, 0x00192628}}}, + {X: Field{[10]uint32{0x01117c94, 0x031da577, 0x0118cb68, 0x021aea06, 0x03cd2a5f, 0x03f33f41, 0x02fe78d1, 0x02f75e2a, 0x01ca5423, 0x0033e90d}}, Y: Field{[10]uint32{0x00ce1fe8, 0x01a0d5c4, 0x00cefd7d, 0x00ed2a7d, 0x01c399b5, 0x01a114e2, 0x03778546, 0x03de78d6, 0x011c02df, 0x002fd322}}}, + {X: Field{[10]uint32{0x021d446c, 0x024f8b0f, 0x010c1cdf, 0x03987cf2, 0x01414119, 0x01d1a6bf, 0x029e9277, 0x00f3166c, 0x031b7953, 0x002a96b2}}, Y: Field{[10]uint32{0x02a498ab, 0x01023d08, 0x01bc26bb, 0x004271d7, 0x028b11bf, 0x0060dd9f, 0x02d3854e, 0x030007ed, 0x01b78713, 0x002c37ca}}}, + {X: Field{[10]uint32{0x005c3d15, 0x00f82855, 0x01175635, 0x03d5341b, 0x03435c09, 0x006f294b, 0x03fa1c44, 0x03d56376, 0x02ecc21b, 0x0006e4f0}}, Y: Field{[10]uint32{0x03195ed2, 0x00fed28c, 0x00c4aeb5, 0x02c68837, 0x03f72e67, 0x0171b498, 0x00e8a5fd, 0x0243996b, 0x01ff7181, 0x0015b115}}}, + {X: Field{[10]uint32{0x03b91760, 0x0145260b, 0x010acd85, 0x02489190, 0x01c84800, 0x017dcac3, 0x039438b5, 0x03482fd8, 0x03f02566, 0x0005d132}}, Y: Field{[10]uint32{0x034c66f5, 0x03d48a77, 0x01f6c683, 0x03e12f68, 0x00068dc0, 0x029f495c, 0x01d5da57, 0x02d71674, 0x03a232b0, 0x001f9de9}}}, + {X: Field{[10]uint32{0x0302582b, 0x02a101ff, 0x01bedd24, 0x029e88a4, 0x021b9cb9, 0x0181ecc5, 0x02f8ffc0, 0x02300a30, 0x00a5ed44, 0x00282fa6}}, Y: Field{[10]uint32{0x011da6ea, 0x03065c40, 0x029a2274, 0x0207774d, 0x0376b869, 0x033dab23, 0x01444620, 0x00d496d3, 0x006a0239, 0x0039f30b}}}, + {X: Field{[10]uint32{0x03845882, 0x0244019e, 0x03e71148, 0x00673723, 0x038b2f2b, 0x0235d7a8, 0x02b2591d, 0x03dea558, 0x03f5dab5, 0x00383964}}, Y: Field{[10]uint32{0x02d67334, 0x017d70b2, 0x029c7e78, 0x031927d1, 0x00b5464d, 0x0290b38b, 0x03c26141, 0x0176d6ce, 0x036215e3, 0x00242231}}}, + {X: Field{[10]uint32{0x029290f5, 0x03f21e70, 0x02b408b9, 0x01b17924, 0x01ffe579, 0x039ec359, 0x031b928d, 0x00baaf5b, 0x0095a498, 0x001e0936}}, Y: Field{[10]uint32{0x00c7ee88, 0x02bc06af, 0x02d448a4, 0x005d5f36, 0x00d6bcf1, 0x0308cb18, 0x022d8bbf, 0x0214a0e2, 0x00688e42, 0x002b85d7}}}, + {X: Field{[10]uint32{0x01d96e66, 0x0073c43e, 0x00b5c421, 0x024fa5db, 0x012aa513, 0x00066b8b, 0x00e4a2cd, 0x00477085, 0x017ee0b6, 0x001274b9}}, Y: Field{[10]uint32{0x015b770a, 0x028f2caf, 0x014d25cf, 0x013e9e05, 0x0311c81e, 0x00a6ee7e, 0x01b79198, 0x007dc9de, 0x00ca8801, 0x003fe831}}}, + {X: Field{[10]uint32{0x035ead00, 0x004e73f1, 0x03ee8be2, 0x00cba71e, 0x02eeb3de, 0x00e262ba, 0x0012e8f8, 0x006a1618, 0x036b8f70, 0x00369817}}, Y: Field{[10]uint32{0x0011d246, 0x027973a5, 0x03633d69, 0x01f19d47, 0x025a2430, 0x024fd43e, 0x030ca5ea, 0x00706a27, 0x012ce98a, 0x0016e830}}}, + {X: Field{[10]uint32{0x02c16ff2, 0x03ff672e, 0x02785652, 0x00f070cb, 0x029307be, 0x03670e02, 0x01de2bd1, 0x0139b568, 0x03ebcde9, 0x002bbaaa}}, Y: Field{[10]uint32{0x010bf840, 0x006aebf5, 0x02460664, 0x006b0965, 0x03b62e49, 0x0041c24f, 0x000a52bf, 0x03b37814, 0x03558510, 0x000c0251}}}, + {X: Field{[10]uint32{0x010c40b7, 0x007fac68, 0x0378cb0e, 0x002f972d, 0x0066ca0a, 0x00c17e7a, 0x02d1e1f4, 0x03f992c6, 0x012b35f3, 0x0018bc62}}, Y: Field{[10]uint32{0x03f5780d, 0x0204e9c0, 0x028838e1, 0x0148b452, 0x03f1f890, 0x0316fb6f, 0x0287f090, 0x02fd28b8, 0x005ee600, 0x00069108}}}, + {X: Field{[10]uint32{0x02979382, 0x01356265, 0x01e944ac, 0x00cf6b89, 0x033a567b, 0x0029a020, 0x02be9f55, 0x00b5a4a3, 0x02c54677, 0x00308247}}, Y: Field{[10]uint32{0x02d4b31e, 0x02140b72, 0x002b2382, 0x01a4b56a, 0x02eb610c, 0x007f8651, 0x01fa722a, 0x0274c5cd, 0x025bd2e8, 0x0016669d}}}, + {X: Field{[10]uint32{0x03242367, 0x0003f7c6, 0x01ba597d, 0x01557e0f, 0x02e50a24, 0x027f9f08, 0x00e1b237, 0x0248d5c0, 0x015b1951, 0x002ff5f0}}, Y: Field{[10]uint32{0x0066b17b, 0x00af51af, 0x02694037, 0x031235bf, 0x03f4cdda, 0x03ebf4a1, 0x01272130, 0x031cd7a8, 0x03de545e, 0x002b1b79}}}, + {X: Field{[10]uint32{0x032ddc7f, 0x017d8d44, 0x00fd116b, 0x027dd3cf, 0x01958162, 0x020c76a0, 0x03d85073, 0x03f7de40, 0x03843cab, 0x00353539}}, Y: Field{[10]uint32{0x021758a6, 0x01d0b501, 0x0082d219, 0x0138ae3c, 0x01d1cd6d, 0x011d572c, 0x0265a284, 0x02eb2ff3, 0x011d582c, 0x00079258}}}, + {X: Field{[10]uint32{0x03908fdc, 0x03047223, 0x03d02cdd, 0x03e37d85, 0x014945b4, 0x0177630c, 0x03434a49, 0x02cd37ce, 0x0009c378, 0x000795d4}}, Y: Field{[10]uint32{0x00f6cdb7, 0x02161fc3, 0x005655bd, 0x008cffea, 0x0010bf21, 0x023c8273, 0x017458cb, 0x0256849a, 0x03a2810c, 0x001738df}}}, + {X: Field{[10]uint32{0x01408fd0, 0x03e570ee, 0x00ee1108, 0x01b4dc41, 0x01c9268c, 0x03f7d979, 0x035e690f, 0x01fae287, 0x022eac23, 0x002d699a}}, Y: Field{[10]uint32{0x03f72798, 0x00fbca32, 0x030de3c4, 0x0200c1d8, 0x03f8cc32, 0x0219a31b, 0x0042ba86, 0x03dba982, 0x02c0aaa4, 0x00264016}}}, + {X: Field{[10]uint32{0x0326fe0d, 0x030fb99f, 0x036e60cf, 0x00c0878f, 0x0166bc3a, 0x02ebabe3, 0x0090b063, 0x0164f19b, 0x01352599, 0x000768e7}}, Y: Field{[10]uint32{0x0141311f, 0x0216e172, 0x03e489f2, 0x029e3f1f, 0x00f7e58a, 0x00070c00, 0x030d076c, 0x00546d51, 0x005eb6b0, 0x00249ca8}}}, + {X: Field{[10]uint32{0x01a971b2, 0x01d10d2d, 0x005002b3, 0x016bce11, 0x024e900c, 0x007d0a3f, 0x02862d72, 0x00029d94, 0x00b6b100, 0x001fcec4}}, Y: Field{[10]uint32{0x02ecd385, 0x03481728, 0x03a9e1f5, 0x01d37cf0, 0x008c4a4f, 0x0095be82, 0x03bd4c90, 0x03b8cc44, 0x03e07907, 0x002e528b}}}, + {X: Field{[10]uint32{0x024eb2e0, 0x02132f5e, 0x018cbbaf, 0x0228fd74, 0x02e5dc36, 0x008030b6, 0x03eb61ae, 0x003e6fda, 0x03c66185, 0x00109841}}, Y: Field{[10]uint32{0x03e511af, 0x0231c319, 0x014f540f, 0x033a3a39, 0x000857ce, 0x034ebfa9, 0x0313488b, 0x03b43e35, 0x0078a9e6, 0x00387e9f}}}, + {X: Field{[10]uint32{0x01be9697, 0x01d290d1, 0x013e2fa3, 0x0265a03d, 0x01d6c940, 0x012273ea, 0x02093c21, 0x031310c4, 0x0256708f, 0x00155789}}, Y: Field{[10]uint32{0x004db6e7, 0x00b8af8a, 0x00cb002f, 0x008b1bd1, 0x01a78224, 0x019d2e84, 0x0166e06c, 0x02dda889, 0x03b71e3b, 0x00003d7b}}}, + {X: Field{[10]uint32{0x017dd290, 0x03f6c4a4, 0x028b3af8, 0x0095190a, 0x01033606, 0x0096dc27, 0x02a927e7, 0x0381f098, 0x017b5736, 0x001c5c2c}}, Y: Field{[10]uint32{0x030973b1, 0x02b9cd40, 0x01608627, 0x029adb7d, 0x0398b2c6, 0x029df382, 0x02d86e69, 0x02204ed6, 0x02a3f899, 0x003bd0df}}}, + {X: Field{[10]uint32{0x025c2180, 0x03b0c456, 0x00172aaa, 0x011b224c, 0x01eb4de6, 0x01ca913c, 0x02329d00, 0x03f44d27, 0x033e66fe, 0x00072a2a}}, Y: Field{[10]uint32{0x030a3c49, 0x003be98e, 0x03274fd2, 0x028554c6, 0x02c70103, 0x012613b4, 0x01da2a0f, 0x035dda07, 0x01c92a87, 0x001bf190}}}, + {X: Field{[10]uint32{0x005366b8, 0x0393e370, 0x007977d5, 0x034d21ed, 0x0385f057, 0x007069ca, 0x0150c1e4, 0x00ba0afc, 0x006af6d4, 0x0020d495}}, Y: Field{[10]uint32{0x02c5fdb1, 0x00ea0d61, 0x0084b138, 0x039ba831, 0x01ac92b0, 0x0070ac72, 0x008d7e72, 0x016c4aa2, 0x02b27ca2, 0x001daf96}}}, + {X: Field{[10]uint32{0x00904cd7, 0x02211667, 0x0244c3e9, 0x0285364b, 0x03353123, 0x0197123b, 0x03988ea7, 0x02e7558f, 0x037b1730, 0x000bc44b}}, Y: Field{[10]uint32{0x0234a44f, 0x029a094b, 0x031bb743, 0x02f50680, 0x0027d7a8, 0x00ab45d0, 0x0370b16d, 0x01f568cb, 0x0297f648, 0x003acd23}}}, + {X: Field{[10]uint32{0x02a5648a, 0x009423cf, 0x00f1d519, 0x00245a9c, 0x002eb6fd, 0x01042979, 0x032494ad, 0x031b1c75, 0x023c164d, 0x0003a100}}, Y: Field{[10]uint32{0x02f4462d, 0x01bf2007, 0x01b8a48a, 0x00c6ac51, 0x01225aa0, 0x008a05af, 0x032f5106, 0x000ca226, 0x018529be, 0x0018d3cd}}}, + {X: Field{[10]uint32{0x0228fc6b, 0x010049e3, 0x029afd6e, 0x0108c719, 0x004da403, 0x005355fd, 0x00039291, 0x03d49c2e, 0x011745da, 0x00254713}}, Y: Field{[10]uint32{0x0227f0a7, 0x02b92b56, 0x00921bb2, 0x03c71cbf, 0x03b9592e, 0x02ba0989, 0x0296f608, 0x003eecb1, 0x0311a8b3, 0x003e420e}}}, + {X: Field{[10]uint32{0x00cb19f4, 0x02e24be3, 0x007fd689, 0x010546ba, 0x01788458, 0x007e516e, 0x025548c5, 0x027cfb82, 0x0057f60b, 0x002b6aa5}}, Y: Field{[10]uint32{0x0361caa6, 0x01a16205, 0x018302e4, 0x01450339, 0x03f899b9, 0x0159d265, 0x039b0475, 0x03fbee37, 0x03f92145, 0x0020d195}}}, + {X: Field{[10]uint32{0x019e6ef7, 0x017f7b98, 0x03397749, 0x00d474c0, 0x00597f3e, 0x00b5fee9, 0x02ef3d85, 0x0028ed45, 0x02b30980, 0x001924a5}}, Y: Field{[10]uint32{0x021df105, 0x0214cfb5, 0x038535c7, 0x00776233, 0x005c8b44, 0x00bb7faf, 0x005f078e, 0x01459ff7, 0x00901021, 0x001133a7}}}, + {X: Field{[10]uint32{0x0006266f, 0x02534fd8, 0x012ce4bc, 0x02dac47e, 0x029f1e9d, 0x021d7c75, 0x02fe2ba7, 0x01d6fce2, 0x02979085, 0x000b075f}}, Y: Field{[10]uint32{0x01a2cf7f, 0x008dc983, 0x02ff50ba, 0x0307f469, 0x038c6c8e, 0x030272c0, 0x03b4e4bb, 0x02f422ee, 0x00bc030a, 0x0027ac94}}}, + {X: Field{[10]uint32{0x004647ec, 0x0355be5d, 0x0174f0f6, 0x029f46ef, 0x03b44ada, 0x014be865, 0x0293b100, 0x02f0c9e0, 0x038bed4e, 0x002c4c3f}}, Y: Field{[10]uint32{0x02a5eb33, 0x01643ffb, 0x01806212, 0x002c3730, 0x000136f6, 0x019b908a, 0x03d0a950, 0x031fd9db, 0x01e9b785, 0x00128291}}}, + {X: Field{[10]uint32{0x030e6231, 0x00335432, 0x0011732a, 0x012b5a3c, 0x0029bf68, 0x03335c73, 0x02e9c740, 0x02cb64c6, 0x019762ec, 0x0013ca96}}, Y: Field{[10]uint32{0x00cf17de, 0x0302fd5f, 0x00237377, 0x005b3def, 0x000fc442, 0x00c27b70, 0x0300dde7, 0x01c20fe9, 0x01b45cfc, 0x0037afe3}}}, + {X: Field{[10]uint32{0x03a23c0b, 0x0034b781, 0x030d1cab, 0x002ea678, 0x020a178c, 0x02968936, 0x01419a18, 0x01b89790, 0x01a17fbe, 0x0025fe7a}}, Y: Field{[10]uint32{0x03559128, 0x03688c95, 0x03c0a4dd, 0x02ef9c74, 0x026cb622, 0x003ed4e1, 0x034fdc87, 0x02d2003e, 0x026b0cce, 0x0006ac48}}}, + {X: Field{[10]uint32{0x01d9d8cb, 0x00ed1f42, 0x02f4cbb9, 0x03c42b4f, 0x00bfd486, 0x02dc4250, 0x01820673, 0x0345f900, 0x03e5e9f5, 0x00385fcf}}, Y: Field{[10]uint32{0x01272f58, 0x00a40eed, 0x0196b59c, 0x018b80fb, 0x0344ad7d, 0x0014492b, 0x0360b263, 0x00ea29ac, 0x0252615d, 0x003c449a}}}, + {X: Field{[10]uint32{0x032fa2de, 0x02a2ed9e, 0x026887a5, 0x014eab0d, 0x033ae668, 0x00e283f8, 0x00c3e945, 0x02060a40, 0x00467d63, 0x00068e7e}}, Y: Field{[10]uint32{0x02903aa5, 0x037bd6e0, 0x027bf28d, 0x00feed15, 0x0118492f, 0x035f1d40, 0x034dc019, 0x0169390a, 0x03995a62, 0x002b9f04}}}, + {X: Field{[10]uint32{0x002f5320, 0x021a4bad, 0x03e68cd1, 0x0205450a, 0x00baa605, 0x013ebfee, 0x0293e52f, 0x03e91242, 0x006127f6, 0x00229777}}, Y: Field{[10]uint32{0x016b0d8e, 0x020346a2, 0x0338974c, 0x0297f1e1, 0x00328e69, 0x03577f30, 0x02559ebb, 0x0377c690, 0x0325853d, 0x0017ad88}}}, + {X: Field{[10]uint32{0x0238c299, 0x0387e73f, 0x0190f7af, 0x01bfc234, 0x02b86490, 0x01bd6d76, 0x03dc17d5, 0x035bf351, 0x03b574b7, 0x00045f6f}}, Y: Field{[10]uint32{0x0190196b, 0x036e3757, 0x03b26bd5, 0x00bdae40, 0x00c50471, 0x0009902a, 0x03bc9233, 0x0051390d, 0x015130b7, 0x0012b348}}}, + {X: Field{[10]uint32{0x0270a537, 0x02168e62, 0x019f3f29, 0x031d0606, 0x00eec84e, 0x01428a98, 0x010706d9, 0x01fad5cc, 0x0228431c, 0x002c30c4}}, Y: Field{[10]uint32{0x0064ff78, 0x0122c02c, 0x02419a10, 0x01f10e3f, 0x030085e4, 0x0183608d, 0x00c32372, 0x01dbffa6, 0x03347928, 0x0029f7a6}}}, + {X: Field{[10]uint32{0x0243946f, 0x0347c0fc, 0x017e08d1, 0x02196962, 0x02736cbc, 0x005d81af, 0x03e6d5b5, 0x009d6b85, 0x00b9f493, 0x001f0843}}, Y: Field{[10]uint32{0x0359c63a, 0x038d4a45, 0x02db1c38, 0x02b0c3eb, 0x00920a7f, 0x02bc7c77, 0x00a92d87, 0x006173a9, 0x0123a8bd, 0x0005ec1d}}}, + {X: Field{[10]uint32{0x02d6e650, 0x01c5841b, 0x00aa1387, 0x02cbd15c, 0x03177b14, 0x02c3b285, 0x017b5192, 0x03b5118e, 0x0167578b, 0x0005cb94}}, Y: Field{[10]uint32{0x03830ba7, 0x01f3614c, 0x00cee173, 0x005f07e2, 0x039d3ba8, 0x00f1ceb4, 0x03de8038, 0x02e01758, 0x012e4776, 0x0027055d}}}, + {X: Field{[10]uint32{0x00030686, 0x02738a88, 0x019ca47e, 0x03ceaa70, 0x02c95a6e, 0x036b6011, 0x02373173, 0x03f6840d, 0x0040df25, 0x000586bf}}, Y: Field{[10]uint32{0x026089ce, 0x0035bc04, 0x03759ab9, 0x0182d895, 0x009926f1, 0x0291783a, 0x039c8193, 0x017ddad2, 0x0083c126, 0x00179bf4}}}, + {X: Field{[10]uint32{0x0216a85f, 0x034fb0e2, 0x018d9459, 0x0243b854, 0x002d194e, 0x01b8e451, 0x0369cf8b, 0x03b4cd35, 0x02a8e18a, 0x002e647c}}, Y: Field{[10]uint32{0x03cab7b0, 0x03433586, 0x00e8b1a0, 0x003886ca, 0x017e6e59, 0x0248f4b0, 0x0169d3e0, 0x01c723a8, 0x01a6b89f, 0x00074aea}}}, + {X: Field{[10]uint32{0x00ca8afc, 0x0328c351, 0x035026f1, 0x0121f56a, 0x007d6233, 0x03ecd91f, 0x016f4881, 0x03b9dfde, 0x009f5a6c, 0x0036b81a}}, Y: Field{[10]uint32{0x039c329c, 0x03221cf0, 0x01fa8c6c, 0x02c0c533, 0x0143ccc1, 0x00ef96e5, 0x01e69643, 0x02eb8a85, 0x0270f730, 0x003b99ed}}}, + {X: Field{[10]uint32{0x027e4e41, 0x03f63b22, 0x02e61aea, 0x02905a84, 0x03d72805, 0x018a7ed6, 0x0217ba14, 0x0270551a, 0x00cd75f8, 0x0011e963}}, Y: Field{[10]uint32{0x01fdd889, 0x0153cf0a, 0x007679b9, 0x02e5cf65, 0x02a4bc43, 0x007f07c2, 0x03e60bb6, 0x02043ad2, 0x03ed1bbb, 0x0030579f}}}, + {X: Field{[10]uint32{0x03040e3c, 0x0026d11a, 0x01698cef, 0x01a57142, 0x02d7582f, 0x013bd96d, 0x000697c9, 0x01bb8cc3, 0x03d02e3b, 0x003deb8b}}, Y: Field{[10]uint32{0x0019ca03, 0x03762b75, 0x00ea36a9, 0x0195e64d, 0x015eb495, 0x037506b2, 0x00d8e6dd, 0x004e6f15, 0x00aac527, 0x002b7a7e}}}, + {X: Field{[10]uint32{0x0012989d, 0x0112365f, 0x00dc8b6c, 0x0091757e, 0x00ae61cf, 0x03091296, 0x03e9c214, 0x02b88235, 0x02a89be2, 0x000557e7}}, Y: Field{[10]uint32{0x01b009ff, 0x033a74d9, 0x036808c1, 0x003d3345, 0x00cf5ea6, 0x032fd124, 0x0204abe6, 0x03466bf6, 0x01f3840c, 0x0004813d}}}, + {X: Field{[10]uint32{0x029d74f6, 0x018598c7, 0x01a5189a, 0x02e404f1, 0x01e35057, 0x0034fb8e, 0x01348a0e, 0x017c53e9, 0x01c3933b, 0x002a0f32}}, Y: Field{[10]uint32{0x0072a74a, 0x0352ebfc, 0x021dbe30, 0x00468a0f, 0x0052b91d, 0x007ef91e, 0x02a9c78e, 0x0211d878, 0x02d7fad6, 0x00102a99}}}, + {X: Field{[10]uint32{0x03b5f5df, 0x030fa959, 0x02cce11f, 0x02f6fca9, 0x00d7acef, 0x02912d55, 0x00a20e0f, 0x01708ca6, 0x01cfc07b, 0x00329254}}, Y: Field{[10]uint32{0x01f4afc2, 0x004b13c2, 0x02050b80, 0x0115e161, 0x0235aac5, 0x00a31e66, 0x01791a6b, 0x032beb1e, 0x03d76700, 0x00061aa2}}}, + {X: Field{[10]uint32{0x02b6787c, 0x0339c4a7, 0x011a9ae0, 0x0296e11e, 0x01d6760b, 0x02f090e3, 0x031f2a0d, 0x00407d79, 0x01e61bad, 0x0033e4b7}}, Y: Field{[10]uint32{0x003bcbd8, 0x014f88d7, 0x0159528f, 0x027444df, 0x026c9d8a, 0x00a51638, 0x00c1f053, 0x0079af2f, 0x01b7f3e3, 0x0029f4d4}}}, + {X: Field{[10]uint32{0x029c1179, 0x01466144, 0x0287d08f, 0x02a5b8a9, 0x03b06154, 0x020fa2cd, 0x039df9be, 0x00a0e8ed, 0x033ecfd8, 0x002c6ac2}}, Y: Field{[10]uint32{0x01506bbf, 0x017435ba, 0x0305812d, 0x0254e0df, 0x0099e973, 0x0204a403, 0x034cd97b, 0x014d2907, 0x02f34bab, 0x00336dfc}}}, + {X: Field{[10]uint32{0x021789ce, 0x02549283, 0x0035424e, 0x028a62cc, 0x01197296, 0x00ffaeb6, 0x0399295f, 0x0327a13e, 0x03299cd4, 0x00285d0c}}, Y: Field{[10]uint32{0x037e1afe, 0x00bd75fd, 0x03fc4428, 0x02913cbc, 0x035bee11, 0x0373e9b5, 0x0078088a, 0x00d5ddbc, 0x02f44cf5, 0x00102653}}}, + {X: Field{[10]uint32{0x01c0573b, 0x02868af6, 0x01e0b0d0, 0x011981fc, 0x0338b318, 0x006954c5, 0x03b946a6, 0x02b1f0f1, 0x00864efc, 0x0000906d}}, Y: Field{[10]uint32{0x03a0d574, 0x03d72607, 0x0197c832, 0x0166eb4e, 0x002f9801, 0x02f2900f, 0x01f3ba8f, 0x00734cc9, 0x0048eec6, 0x001733a2}}}, + {X: Field{[10]uint32{0x0291b387, 0x00f8f937, 0x0137ed75, 0x01534960, 0x03e3efd3, 0x01e66ac2, 0x01559adf, 0x01e611a6, 0x02096499, 0x00207e20}}, Y: Field{[10]uint32{0x0226d15c, 0x031c79aa, 0x01967a32, 0x0266be8a, 0x0243bda5, 0x03cf3236, 0x01e5caa5, 0x01c1846e, 0x01b85bfd, 0x0023e7fb}}}, + {X: Field{[10]uint32{0x024e5a5b, 0x03d75251, 0x006fe8fb, 0x01ad955c, 0x00c22da9, 0x028bb095, 0x00793d64, 0x00851480, 0x0231bd2c, 0x00127590}}, Y: Field{[10]uint32{0x0351e825, 0x0350ccf1, 0x0302b548, 0x0100fc69, 0x01bf9864, 0x01c71b76, 0x01f81216, 0x00b2b607, 0x02dab0d7, 0x003ebb23}}}, + {X: Field{[10]uint32{0x026e0ae4, 0x01f6db41, 0x029387e7, 0x013651db, 0x006daea2, 0x02dd0260, 0x03e1f159, 0x00e90471, 0x00324fad, 0x001d3053}}, Y: Field{[10]uint32{0x00641a41, 0x01ce2038, 0x009fd5aa, 0x0176af6e, 0x013ee016, 0x011b9ad9, 0x031a2cb9, 0x03972fc0, 0x02031fbe, 0x002bde54}}}, + {X: Field{[10]uint32{0x02a1e7c3, 0x012db5c4, 0x011b2a98, 0x00674276, 0x00930f9c, 0x004e0f1b, 0x03f42158, 0x036532f8, 0x009c7342, 0x00222f08}}, Y: Field{[10]uint32{0x005b3e08, 0x03265313, 0x02a2346a, 0x03985606, 0x01b817eb, 0x00a1d843, 0x0288866e, 0x021c8e26, 0x034576dd, 0x002b2df5}}}, + {X: Field{[10]uint32{0x026eb3f8, 0x0361738a, 0x02e77c1b, 0x01099daa, 0x0009bee2, 0x0285497d, 0x03b93c85, 0x02a2337d, 0x0068c81c, 0x00121b23}}, Y: Field{[10]uint32{0x03e52d54, 0x03749bd3, 0x0234ec1a, 0x0013eccf, 0x01d62490, 0x03d79a12, 0x02648706, 0x02a5f357, 0x014b035f, 0x00383fb2}}}, + {X: Field{[10]uint32{0x00a681a3, 0x033ae401, 0x02f14e28, 0x00f5b97e, 0x03ba3904, 0x034377cd, 0x01e30fb5, 0x02388ded, 0x02116c58, 0x001287be}}, Y: Field{[10]uint32{0x017b64f4, 0x03efc6a6, 0x00d538fc, 0x030506f6, 0x0365f2ac, 0x02f391db, 0x0137dd31, 0x01c596a2, 0x03373c90, 0x002ec659}}}, + {X: Field{[10]uint32{0x00eb28d2, 0x0110a51e, 0x0392f8da, 0x016dfdfd, 0x002632e8, 0x03bf9eed, 0x0317f308, 0x0027b436, 0x0006c696, 0x0035dd17}}, Y: Field{[10]uint32{0x01b96a73, 0x00fc208e, 0x0297cad1, 0x001fdc0a, 0x025371f0, 0x006b76c6, 0x0046e11b, 0x00af557f, 0x02754d1b, 0x0001d5d6}}}, + {X: Field{[10]uint32{0x03e68def, 0x01ebe90a, 0x015f49ca, 0x0143f666, 0x00dc333d, 0x03dd2a1f, 0x0208cedd, 0x009f1a9a, 0x032ea3db, 0x002f5d4b}}, Y: Field{[10]uint32{0x01e9491a, 0x03b0e2e9, 0x024d791d, 0x01b76a70, 0x02ef5c57, 0x01b54318, 0x00725ed2, 0x023482e9, 0x02af6747, 0x000de3e2}}}, + {X: Field{[10]uint32{0x03224d21, 0x0115ec07, 0x001f94be, 0x0131fccc, 0x0055eb30, 0x03380357, 0x0202bffa, 0x031faf19, 0x033315a3, 0x003bd620}}, Y: Field{[10]uint32{0x03517abd, 0x02830482, 0x0123ff46, 0x01532d69, 0x01eb52e0, 0x0210dd47, 0x01a95f7e, 0x037ef8f6, 0x02ab6253, 0x0015bace}}}, + {X: Field{[10]uint32{0x0253727a, 0x031810d4, 0x01f1fc1d, 0x0339fb7c, 0x0106b495, 0x010b7c90, 0x01beea4f, 0x02097682, 0x03747355, 0x000b0778}}, Y: Field{[10]uint32{0x03a150c2, 0x00ec74e1, 0x0058873a, 0x0340a34b, 0x005ff92c, 0x01dd9caa, 0x01986bdf, 0x03d7623e, 0x02609082, 0x0026164d}}}, + {X: Field{[10]uint32{0x000daf99, 0x03fd43ca, 0x02535324, 0x008aa23c, 0x00b78e2a, 0x03ce6cba, 0x00c90016, 0x000503d4, 0x031b23e6, 0x00127e35}}, Y: Field{[10]uint32{0x018b04ec, 0x024ea1ad, 0x0254622b, 0x03207f90, 0x00308111, 0x03dbf788, 0x00ec3393, 0x039f70cc, 0x02654807, 0x003d9aed}}}, + {X: Field{[10]uint32{0x009f37be, 0x0185eac6, 0x03ceb6df, 0x01e36d64, 0x02d18fdf, 0x0153ce94, 0x02a30f99, 0x018728ac, 0x0385754b, 0x000d9727}}, Y: Field{[10]uint32{0x0132825e, 0x00169054, 0x01a3af14, 0x000488da, 0x007681b6, 0x0028c9e5, 0x026aced6, 0x01af2ffe, 0x03e6aca5, 0x00310ffb}}}, + {X: Field{[10]uint32{0x01f1b5af, 0x013a2fc8, 0x023108e2, 0x00f86612, 0x027e2cb5, 0x028c473c, 0x02446c4d, 0x01a3b706, 0x03e9e896, 0x00073cb3}}, Y: Field{[10]uint32{0x00c966b7, 0x007bd688, 0x03803673, 0x004b8b2b, 0x03aebc7b, 0x029a17c8, 0x038f1041, 0x00c251ed, 0x01ac43c5, 0x001c795b}}}, + {X: Field{[10]uint32{0x008ca3ec, 0x03398dad, 0x03d5225d, 0x03e38072, 0x02219694, 0x01fa1de5, 0x011c26fa, 0x00089bce, 0x00796266, 0x003ccc0d}}, Y: Field{[10]uint32{0x02762827, 0x023e3e98, 0x030026f4, 0x03215aa4, 0x02afa585, 0x013e0e90, 0x0359ab87, 0x03a5176e, 0x03f4c110, 0x001f7a82}}}, + {X: Field{[10]uint32{0x00b27154, 0x030c94f9, 0x02df0587, 0x01a46b9e, 0x008756a9, 0x008a5fa8, 0x00664f90, 0x01b220e6, 0x004c4bc1, 0x002da249}}, Y: Field{[10]uint32{0x0050c856, 0x03466a39, 0x00364c27, 0x02b971c0, 0x00bd7483, 0x02d29d68, 0x03f89a90, 0x00da3325, 0x03481357, 0x0026d221}}}, + {X: Field{[10]uint32{0x038cbe41, 0x02c45018, 0x00517f3e, 0x00089035, 0x01a78b43, 0x0392f808, 0x032f8745, 0x00dc73fb, 0x00d2d6b4, 0x002fcd3f}}, Y: Field{[10]uint32{0x0397ac02, 0x01386557, 0x03546546, 0x00e09fd9, 0x001ef6a2, 0x006d0ef0, 0x0372914e, 0x01baba39, 0x00d27e32, 0x00339a22}}}, + {X: Field{[10]uint32{0x018d74fe, 0x03520844, 0x01cd110e, 0x018f116e, 0x00d51ffe, 0x01300094, 0x005a5944, 0x031e5b3a, 0x026d231b, 0x0030825e}}, Y: Field{[10]uint32{0x03e4ac87, 0x002da82f, 0x0372b135, 0x00f96e67, 0x01d1f92b, 0x0299d221, 0x023a85ac, 0x0305cf87, 0x0013fc4a, 0x00162c19}}}, + {X: Field{[10]uint32{0x017afa81, 0x01a8cc10, 0x026184d4, 0x0261036c, 0x02e3e817, 0x03191eba, 0x011b1de3, 0x0013cc28, 0x02223d88, 0x0021d298}}, Y: Field{[10]uint32{0x0380b429, 0x00e83b6b, 0x00f8f6b1, 0x03803bdc, 0x02b31668, 0x03263cd5, 0x02b181d5, 0x03988a5d, 0x01f67986, 0x00104ca9}}}, + {X: Field{[10]uint32{0x01bc605c, 0x021382bd, 0x03b85b97, 0x00f332a8, 0x021f2846, 0x0030fb51, 0x002227ab, 0x03564a05, 0x028a1a05, 0x002b1f1b}}, Y: Field{[10]uint32{0x018a2186, 0x02c52cc4, 0x00da4a08, 0x036da1e5, 0x01c107a9, 0x018fd71c, 0x0260a0a9, 0x00ce5fae, 0x0195581e, 0x00069668}}}, + {X: Field{[10]uint32{0x0333342c, 0x02c58e8c, 0x00a65575, 0x02e0bc95, 0x0344bc12, 0x005c5697, 0x0075c01a, 0x028fd822, 0x02d8d825, 0x000fc4f8}}, Y: Field{[10]uint32{0x0025e3b7, 0x00fe8716, 0x02724339, 0x033f5ee9, 0x036a2e6e, 0x02d788a4, 0x02f76a68, 0x009847ff, 0x0082fb2c, 0x002ebfda}}}, + {X: Field{[10]uint32{0x03a8fe2d, 0x03e57b2f, 0x03cec4d5, 0x003d327d, 0x01aa7e40, 0x007418c3, 0x03e26315, 0x01fce770, 0x0354515e, 0x0007afac}}, Y: Field{[10]uint32{0x025c85cf, 0x02847deb, 0x02daca6c, 0x02e6131c, 0x00c70724, 0x00617ce9, 0x00a2473c, 0x03373ce1, 0x00ef00c2, 0x0028b8d7}}}, + {X: Field{[10]uint32{0x0202b2ab, 0x00668777, 0x019a0d2d, 0x027388ae, 0x00b47d8f, 0x004ad176, 0x0059218d, 0x039d979b, 0x0365b211, 0x0030b736}}, Y: Field{[10]uint32{0x00f3be50, 0x01bd4389, 0x01237b14, 0x00cb25ad, 0x028722e0, 0x00967e21, 0x009326e9, 0x0045e9ca, 0x039ca960, 0x00382a96}}}, + {X: Field{[10]uint32{0x00bc0d45, 0x03a1e459, 0x01b85841, 0x02e09c32, 0x0207f360, 0x000e3db1, 0x02ed8a9c, 0x03451238, 0x01f7e2a9, 0x0012575a}}, Y: Field{[10]uint32{0x017088d2, 0x03d67825, 0x003e70bd, 0x02f84d0a, 0x03c48584, 0x013eb1bd, 0x034465d7, 0x0339ee0e, 0x022a1dab, 0x0017ecff}}}, + {X: Field{[10]uint32{0x0053bab2, 0x01eb21cd, 0x0169d203, 0x01deeb56, 0x01270a94, 0x0368fd45, 0x01be43d8, 0x0393e5c0, 0x01692139, 0x0033ab11}}, Y: Field{[10]uint32{0x00908070, 0x00b05811, 0x00b3bca3, 0x01035548, 0x02f385ea, 0x01812dac, 0x002f2bd9, 0x03a1cad8, 0x01d815f4, 0x002f47f6}}}, + {X: Field{[10]uint32{0x01407e0d, 0x015625c2, 0x0140682f, 0x006835b3, 0x034e6dba, 0x002881ab, 0x01284cbc, 0x02e30073, 0x00b93196, 0x001fb474}}, Y: Field{[10]uint32{0x012801c5, 0x03286287, 0x00e0af1b, 0x03036103, 0x0111018e, 0x035d6a71, 0x034ee732, 0x002f988b, 0x02c96ba6, 0x003a568e}}}, + {X: Field{[10]uint32{0x01040b04, 0x02dc5e28, 0x010fba24, 0x02c84c49, 0x03ac5fe4, 0x02e9f325, 0x00fd4365, 0x033b2250, 0x03664f42, 0x0001cbec}}, Y: Field{[10]uint32{0x007dce41, 0x028994f1, 0x029bcdbb, 0x0372887b, 0x0063d551, 0x02d4b3a4, 0x01e5c9b4, 0x0047d7d7, 0x031a93a2, 0x0003060a}}}, + {X: Field{[10]uint32{0x0008beea, 0x0183c118, 0x00309021, 0x00b56455, 0x03469019, 0x00f9b615, 0x0320043d, 0x00791759, 0x018c9ca9, 0x003741b3}}, Y: Field{[10]uint32{0x001e7ecd, 0x021771b1, 0x03ce272b, 0x016e402c, 0x01418970, 0x020faf60, 0x03a8a7ee, 0x03a8efe7, 0x03276eeb, 0x0033705c}}}, + {X: Field{[10]uint32{0x0178cd13, 0x02a6a64e, 0x00743da8, 0x010c0b8b, 0x003c708c, 0x02ffb6c4, 0x02504398, 0x01fc3c79, 0x0129e90a, 0x000203d8}}, Y: Field{[10]uint32{0x01deb82a, 0x009b53ce, 0x0000fe72, 0x0208e0a3, 0x02d95a30, 0x016d9129, 0x02f594f8, 0x03bfd28f, 0x0012145f, 0x001d365e}}}, + {X: Field{[10]uint32{0x005995b6, 0x0309f9c4, 0x01b24f5b, 0x00f13014, 0x020b48f8, 0x02bee774, 0x02970afb, 0x01422bbb, 0x00daf56b, 0x0015abcd}}, Y: Field{[10]uint32{0x01ae68bf, 0x02ac37b4, 0x0334d8a3, 0x016b7317, 0x03decca6, 0x00867734, 0x0105a4cc, 0x02386624, 0x02529e78, 0x0035077f}}}, + {X: Field{[10]uint32{0x023f91ee, 0x00f11393, 0x001f6ca3, 0x024e8687, 0x00148cf6, 0x01a27647, 0x005e29c4, 0x0196d031, 0x01ba7955, 0x00208089}}, Y: Field{[10]uint32{0x024b7db4, 0x000a2fae, 0x03334b24, 0x03c52ce1, 0x0011a0f4, 0x01e09a4a, 0x02bf5a31, 0x0270b819, 0x025bc89b, 0x000d88ab}}}, + {X: Field{[10]uint32{0x02ea57d2, 0x008cafa8, 0x037033bf, 0x02c5594a, 0x03ad388d, 0x0231fc27, 0x01a1b7ca, 0x0080aa25, 0x01bfcfcc, 0x001e497f}}, Y: Field{[10]uint32{0x0290525c, 0x00dcc253, 0x00d0a9dc, 0x0072a105, 0x021ebcc2, 0x01b4fd7c, 0x019cf5ec, 0x01f72455, 0x0301c9cb, 0x0011bdfb}}}, + {X: Field{[10]uint32{0x01d81808, 0x01fd8341, 0x039f6102, 0x012a6ffd, 0x02663879, 0x036f4ac7, 0x03316eb8, 0x039cc416, 0x036af38a, 0x0012c892}}, Y: Field{[10]uint32{0x015c3dac, 0x03e72c56, 0x029d423f, 0x02207f19, 0x00b6dc68, 0x007ff96d, 0x032ad2e1, 0x00c00aee, 0x0208b163, 0x000c50fa}}}, + {X: Field{[10]uint32{0x007380ee, 0x02bc831a, 0x013cd28d, 0x0192a904, 0x022c1bdd, 0x01b39223, 0x02a1a36e, 0x03d3ad80, 0x03fa4135, 0x000b01d9}}, Y: Field{[10]uint32{0x03bc16a7, 0x006f8ec3, 0x0389a5f7, 0x00ac4142, 0x0006a65d, 0x004dcf78, 0x002da710, 0x00c185f3, 0x03fce78d, 0x003770fb}}}, + {X: Field{[10]uint32{0x00a7ae7c, 0x0366ee94, 0x01ef1982, 0x03097544, 0x0137b5a2, 0x006a7e0d, 0x02ed2d94, 0x026a13bd, 0x013ee717, 0x0020e0df}}, Y: Field{[10]uint32{0x03b66dbe, 0x00092db8, 0x008d8556, 0x03c9e51b, 0x01fe2294, 0x029809ed, 0x02f1a495, 0x01ed32a1, 0x02166095, 0x00188807}}}, + {X: Field{[10]uint32{0x0095387a, 0x009c4256, 0x01d9bda4, 0x027875c3, 0x0225e50d, 0x00d6fc76, 0x028e0118, 0x03c15d4e, 0x0334e560, 0x0033c1d6}}, Y: Field{[10]uint32{0x02127018, 0x001c6128, 0x02a1404b, 0x03746035, 0x032b11d8, 0x00f7ce35, 0x0219f6f3, 0x03d348e3, 0x01d0330f, 0x0031cc82}}}, + {X: Field{[10]uint32{0x008931a4, 0x006e20df, 0x0329dcb0, 0x00b04020, 0x039d06ba, 0x0038faed, 0x00680300, 0x01d747bd, 0x00ff9b18, 0x003560fe}}, Y: Field{[10]uint32{0x03ae3292, 0x02f94f1b, 0x0258cd55, 0x0270ccee, 0x00aaac7c, 0x0165ad42, 0x03cfcc69, 0x024ae9af, 0x031c03f0, 0x003e33f3}}}, + {X: Field{[10]uint32{0x03eaefaa, 0x006de490, 0x02220343, 0x02cb687f, 0x0327568b, 0x010bb6c6, 0x01853723, 0x00e26ff0, 0x01b621d2, 0x001547fa}}, Y: Field{[10]uint32{0x023c24e0, 0x02b74095, 0x023d8c3b, 0x03fa5c48, 0x03ff48e5, 0x03cc4467, 0x02ff5057, 0x018f331a, 0x004ae485, 0x001b1da4}}}, + {X: Field{[10]uint32{0x016a80b2, 0x018fdbb4, 0x02da9a9d, 0x0252f239, 0x0051f063, 0x0339f264, 0x0162be7b, 0x00bc92c2, 0x00fc7406, 0x0006edde}}, Y: Field{[10]uint32{0x01d88318, 0x0385d018, 0x03bdb14b, 0x00bc775e, 0x0260e935, 0x03fc0dbe, 0x02700b68, 0x03459cf4, 0x013d2f4e, 0x0009d53d}}}, + {X: Field{[10]uint32{0x03e364aa, 0x00ff8439, 0x03be6e4a, 0x0313a5f3, 0x01aa0744, 0x03fe354e, 0x009f1a93, 0x0160be25, 0x02f71261, 0x00028542}}, Y: Field{[10]uint32{0x02ea4773, 0x037dc87a, 0x03ab99e0, 0x03b57e5b, 0x03100737, 0x01b86fd1, 0x02124715, 0x01c70be7, 0x02fea686, 0x00388a86}}}, + {X: Field{[10]uint32{0x032e2a9e, 0x00b856b9, 0x0380b724, 0x02f095e1, 0x00835ed2, 0x023a4f5a, 0x0163a030, 0x037e475e, 0x03df727f, 0x003253b0}}, Y: Field{[10]uint32{0x0152009c, 0x00d3485c, 0x030d50a9, 0x0042cfd5, 0x02011b28, 0x003eb427, 0x0312b35f, 0x014f1518, 0x00e97bda, 0x00291da8}}}, + {X: Field{[10]uint32{0x0146875a, 0x02d97dfc, 0x03f255f8, 0x0285e131, 0x02f186bd, 0x008d69ca, 0x01427394, 0x00c8c5f1, 0x01dbebe1, 0x000cd9ae}}, Y: Field{[10]uint32{0x0345d3cf, 0x00c9c984, 0x01862eea, 0x0064805c, 0x026b6206, 0x010e4657, 0x03213835, 0x00a22508, 0x007895f5, 0x00017a89}}}, + {X: Field{[10]uint32{0x00e8ba25, 0x030e3978, 0x02373974, 0x02f91130, 0x0358bec6, 0x0024acae, 0x005ef365, 0x0197b32e, 0x026ce522, 0x00185b23}}, Y: Field{[10]uint32{0x01aa0970, 0x0126fc73, 0x033caba0, 0x0240bc7b, 0x02724a98, 0x03d04926, 0x03286f45, 0x00963362, 0x01433d6e, 0x00134f55}}}, + {X: Field{[10]uint32{0x02651827, 0x008a47da, 0x00b1d043, 0x0298c825, 0x032617b3, 0x01177129, 0x001d86ef, 0x03a13a2e, 0x01772e38, 0x001d37c8}}, Y: Field{[10]uint32{0x02e01334, 0x011b6308, 0x0360c487, 0x0071a86c, 0x032a9ccf, 0x0326e695, 0x00abc6f9, 0x02549ff1, 0x03af30f0, 0x000130ca}}}, + {X: Field{[10]uint32{0x01accbd1, 0x03f14008, 0x00ce5d68, 0x0366fb83, 0x02532f8d, 0x03bd0bea, 0x01966d15, 0x0114ca5e, 0x01bf76b7, 0x00060528}}, Y: Field{[10]uint32{0x00d46bdc, 0x02feeb6b, 0x02ef3154, 0x01b826cb, 0x037af174, 0x03ea4ee6, 0x0205ad25, 0x0350e6c8, 0x01ff0da9, 0x0017d77d}}}, + {X: Field{[10]uint32{0x018625cc, 0x01db00ae, 0x02975c74, 0x019b108a, 0x035f444d, 0x03a17ef6, 0x01f22878, 0x01d49aeb, 0x029498ff, 0x000a2447}}, Y: Field{[10]uint32{0x02638537, 0x03240f07, 0x01ada5e4, 0x02ef8e02, 0x02eac150, 0x02c886e9, 0x0069542f, 0x01801a76, 0x00f35cf2, 0x00168d07}}}, + {X: Field{[10]uint32{0x01270865, 0x0343bf8a, 0x0279abd6, 0x006f9913, 0x02f441ce, 0x0227a1a1, 0x01ce2926, 0x011570e8, 0x0371e82a, 0x00356b3f}}, Y: Field{[10]uint32{0x0126d5e8, 0x031f6007, 0x0070e00d, 0x025a5636, 0x03ca8cde, 0x0344fc0c, 0x004971aa, 0x03a5c281, 0x008f1b46, 0x002ab1b5}}}, + {X: Field{[10]uint32{0x02711596, 0x002638b8, 0x00b6a91f, 0x015d4401, 0x008f03fc, 0x00842545, 0x0365e173, 0x00361675, 0x001b0221, 0x00173d47}}, Y: Field{[10]uint32{0x02d5c3b3, 0x016f73c9, 0x01838f39, 0x03ba8e65, 0x00017fe9, 0x028a8852, 0x031e58ea, 0x03d164b0, 0x01e0610d, 0x0007bac6}}}, +} + +var preG128 = []XY{ + {X: Field{[10]uint32{0x02c4c0da, 0x02d11327, 0x023351b7, 0x01e1c8fa, 0x02e88c56, 0x0207c58b, 0x039c1ad9, 0x017cce48, 0x01d2f63b, 0x0023da2e}}, Y: Field{[10]uint32{0x001fff82, 0x032fde54, 0x00bfdf23, 0x03fa5544, 0x01bbea2c, 0x01af8857, 0x01d90c2b, 0x00e61b78, 0x032dba06, 0x00198aa7}}}, + {X: Field{[10]uint32{0x023809fa, 0x00ae3b74, 0x014be18e, 0x02cd4765, 0x00fd845c, 0x009147c2, 0x0293363f, 0x027c8a2e, 0x01be2e50, 0x000e0e07}}, Y: Field{[10]uint32{0x031fed52, 0x001d460c, 0x0324dbd7, 0x032ccb63, 0x003681fc, 0x0083ac73, 0x01405a55, 0x005f72c2, 0x010a0fb9, 0x003928cb}}}, + {X: Field{[10]uint32{0x03c2a310, 0x01099225, 0x026303ea, 0x02950048, 0x01f186ae, 0x0291a668, 0x0121b82a, 0x00ab9bda, 0x0324e437, 0x00124989}}, Y: Field{[10]uint32{0x0227ded0, 0x006da057, 0x038ce0c4, 0x004a9d7f, 0x036d1636, 0x01c50c0e, 0x02cfa569, 0x02afe568, 0x0373bca7, 0x0004cdf9}}}, + {X: Field{[10]uint32{0x02bd2d31, 0x012c1e73, 0x01b8d138, 0x015bfc1b, 0x004dcc1a, 0x011df8be, 0x02253b3e, 0x00324357, 0x028c1a24, 0x0038c195}}, Y: Field{[10]uint32{0x02546e44, 0x02d020e4, 0x03826692, 0x010af8dc, 0x02ffbc80, 0x03df436d, 0x00f2b107, 0x01098222, 0x03e37893, 0x0003ab1b}}}, + {X: Field{[10]uint32{0x023136b0, 0x0030e78d, 0x01dd9c53, 0x0366aad0, 0x0374ebf8, 0x00fef58c, 0x01b0e762, 0x033bf09c, 0x000e2428, 0x000ee784}}, Y: Field{[10]uint32{0x00dbbc8a, 0x03b05bdb, 0x01f81953, 0x028ceb4c, 0x02a2ae28, 0x03d1d6c9, 0x01533eb8, 0x02edc77c, 0x00152d16, 0x003ebee6}}}, + {X: Field{[10]uint32{0x03485d3f, 0x023c11cb, 0x03eee960, 0x01a2041e, 0x0317ca07, 0x0177b7bd, 0x036ca80f, 0x0326a4ad, 0x0149712a, 0x002ec2ab}}, Y: Field{[10]uint32{0x00a2f975, 0x00e4940f, 0x00bffe79, 0x03e8c59c, 0x00895a5a, 0x00a5f68d, 0x00d201f7, 0x0151e63b, 0x0053c583, 0x003a9a67}}}, + {X: Field{[10]uint32{0x02718dc9, 0x03b4ce8d, 0x023de4ae, 0x0136c044, 0x03e1e58b, 0x02bf8044, 0x028eb197, 0x03f30353, 0x02c8e4ee, 0x001e4242}}, Y: Field{[10]uint32{0x00fae7c5, 0x00c8ac47, 0x0008b963, 0x02dc2ea4, 0x02dd36af, 0x0366aa95, 0x01816cbc, 0x016e3c4f, 0x022b9190, 0x003aaadc}}}, + {X: Field{[10]uint32{0x0360c7d1, 0x025a531f, 0x01ad2a26, 0x039f35dd, 0x028dd71d, 0x01526e99, 0x003dbbce, 0x01ed5470, 0x01ade9f9, 0x0039df20}}, Y: Field{[10]uint32{0x02d72449, 0x01607ca0, 0x006d34ec, 0x03dc70a6, 0x03631470, 0x03aa0550, 0x03c3b323, 0x004c8717, 0x0078eef8, 0x000eb3c5}}}, + {X: Field{[10]uint32{0x01ccf6b0, 0x03ece915, 0x01341501, 0x02ba8b51, 0x003d633d, 0x037b61f3, 0x018878e3, 0x014473cb, 0x00e9dbce, 0x00378ad7}}, Y: Field{[10]uint32{0x01100666, 0x00a7adc4, 0x018bb348, 0x016b198c, 0x0065b8c4, 0x02c68dd1, 0x03717e98, 0x038386ef, 0x02f3d3c3, 0x003c415d}}}, + {X: Field{[10]uint32{0x03c03c56, 0x005182c4, 0x0258b26b, 0x02977919, 0x0329659c, 0x03048485, 0x0259fbd7, 0x028bf87a, 0x01ffd491, 0x00341ef7}}, Y: Field{[10]uint32{0x03405ce7, 0x00fd830a, 0x02ea76be, 0x03fe330b, 0x0161d963, 0x00778135, 0x01c40e2a, 0x025f743e, 0x0308cd3c, 0x002cab51}}}, + {X: Field{[10]uint32{0x036a4d51, 0x036ad06e, 0x0025710e, 0x01710d2e, 0x010f8da4, 0x025b3a38, 0x025ec4c3, 0x005abcdd, 0x027c5d30, 0x0020900f}}, Y: Field{[10]uint32{0x03463b19, 0x024bab5e, 0x03c1b11e, 0x03313b19, 0x0199ab6c, 0x00fa1014, 0x016baddb, 0x02dd9d11, 0x021be27c, 0x00034259}}}, + {X: Field{[10]uint32{0x010680cf, 0x032d219d, 0x0023f438, 0x00f65507, 0x01930f93, 0x0132bd36, 0x03faa58c, 0x009bd498, 0x0131fbd6, 0x003ab70c}}, Y: Field{[10]uint32{0x0087a914, 0x0253fc4b, 0x01a74360, 0x02770de4, 0x01a388fb, 0x01cb5740, 0x024b36c9, 0x02a25d71, 0x03b1c9b4, 0x0034f25d}}}, + {X: Field{[10]uint32{0x007987d9, 0x03ca427f, 0x038ac609, 0x0172ddf9, 0x0336bdd6, 0x019d23d3, 0x018a4b38, 0x03fc9314, 0x025f6758, 0x000e40fb}}, Y: Field{[10]uint32{0x002be83b, 0x03f8ab86, 0x028dab0c, 0x0061249e, 0x018d222a, 0x0348d1d2, 0x0115934b, 0x01075902, 0x014ea152, 0x0003a486}}}, + {X: Field{[10]uint32{0x03e6a5d9, 0x007e2096, 0x00e9323e, 0x010f6efe, 0x015759c3, 0x026a7c86, 0x035bdccf, 0x01228e11, 0x037839ab, 0x0034200e}}, Y: Field{[10]uint32{0x00582f0b, 0x012a4999, 0x01d24289, 0x01b39474, 0x0004ecf0, 0x00e2ebe9, 0x02ec15fb, 0x0325fa84, 0x0180ff29, 0x000b30ec}}}, + {X: Field{[10]uint32{0x00567ed0, 0x018a3ef0, 0x02c19215, 0x008f6a39, 0x018496dd, 0x033e2f81, 0x013a5aea, 0x01d26685, 0x0096b18a, 0x0007d5bc}}, Y: Field{[10]uint32{0x039dff58, 0x004f2d0d, 0x000d51fc, 0x03d06a4f, 0x01c94189, 0x02d9735a, 0x00044360, 0x03d2420c, 0x038a3b52, 0x003fbc8a}}}, + {X: Field{[10]uint32{0x038e213b, 0x03f016d8, 0x032974e0, 0x033f3c80, 0x0079e947, 0x008d2a8c, 0x006f5250, 0x01d0cb8e, 0x01b1a4a4, 0x000767da}}, Y: Field{[10]uint32{0x00d4ccbb, 0x00575bb9, 0x0372041f, 0x02cf4fdb, 0x005438d5, 0x00ac7689, 0x00500c3a, 0x001d86ce, 0x0017949c, 0x0036263b}}}, + {X: Field{[10]uint32{0x03629efd, 0x016a773e, 0x008b1aeb, 0x01537200, 0x00552133, 0x01719eb4, 0x03c43610, 0x032de04b, 0x01134d9d, 0x00004a32}}, Y: Field{[10]uint32{0x03e67c96, 0x01060602, 0x036e45ff, 0x0393b1bd, 0x02c160c8, 0x00267598, 0x03259360, 0x00984365, 0x014add15, 0x003fb8f9}}}, + {X: Field{[10]uint32{0x011a9685, 0x0038f643, 0x011fc49c, 0x015238b1, 0x00301f28, 0x01d581d7, 0x00b8d519, 0x02e53491, 0x012f5a95, 0x00087b00}}, Y: Field{[10]uint32{0x00de08ae, 0x0237864f, 0x00162d12, 0x029bf57f, 0x027418ed, 0x02527ca3, 0x03fef716, 0x0125fd31, 0x010577af, 0x000b7bc8}}}, + {X: Field{[10]uint32{0x02331cc5, 0x008a0d8f, 0x0311c584, 0x039df6be, 0x00761c3b, 0x031f3f1d, 0x0080e894, 0x022f0279, 0x0202fb9d, 0x001a23d4}}, Y: Field{[10]uint32{0x03302cd3, 0x02708631, 0x03d9462d, 0x02be27ba, 0x001a393e, 0x00900d0d, 0x007cabd9, 0x01069cbb, 0x015963b5, 0x0025ae9f}}}, + {X: Field{[10]uint32{0x03f02baf, 0x034ead3d, 0x03f682e4, 0x03bc3a2e, 0x010744d0, 0x0029434d, 0x0314c300, 0x02a3d6cc, 0x02ea1cb9, 0x003ed727}}, Y: Field{[10]uint32{0x03630418, 0x015fa77e, 0x02af0911, 0x0331f949, 0x006868e0, 0x01717a57, 0x028bd269, 0x031547ec, 0x0044e18f, 0x000a7ee2}}}, + {X: Field{[10]uint32{0x02c03421, 0x00d89732, 0x0380de0b, 0x03b1ed48, 0x01593168, 0x012a7787, 0x01f6a5d8, 0x02b8fcbd, 0x03e22eed, 0x003c51e7}}, Y: Field{[10]uint32{0x02764606, 0x015acb88, 0x02131cb8, 0x003120d4, 0x01c0b463, 0x03ef4d06, 0x0350d1a3, 0x022e084e, 0x015d2fd8, 0x0006990b}}}, + {X: Field{[10]uint32{0x031a7950, 0x0171ecaf, 0x0165a69f, 0x01eca261, 0x0200f60f, 0x03f83bfe, 0x005b0e09, 0x025dd24f, 0x01c5e819, 0x00089cfb}}, Y: Field{[10]uint32{0x027bda12, 0x02b8e7bf, 0x03530906, 0x03f13d42, 0x00b64691, 0x021254d6, 0x031a1df9, 0x01e364a7, 0x02388fd9, 0x002ceba8}}}, + {X: Field{[10]uint32{0x03ef5214, 0x0016b5e6, 0x0285656f, 0x03d2c518, 0x03496d59, 0x02ce768b, 0x03d10b32, 0x010de2d1, 0x000c3050, 0x00267e12}}, Y: Field{[10]uint32{0x0264b2cd, 0x029eb998, 0x0215171d, 0x00df9398, 0x02d930e4, 0x02d6aa67, 0x00bd397c, 0x010a1a36, 0x015d8e22, 0x00380075}}}, + {X: Field{[10]uint32{0x016a6f1f, 0x0195aea6, 0x03635bc9, 0x03561fd5, 0x0209c000, 0x024f2190, 0x00fdfc69, 0x004a035d, 0x017fe475, 0x0000e089}}, Y: Field{[10]uint32{0x0351d474, 0x01caab62, 0x019731c6, 0x00e78d96, 0x0130dbfa, 0x01ad7c7e, 0x01a4f1da, 0x032c1899, 0x033dfe52, 0x0030b71c}}}, + {X: Field{[10]uint32{0x00efb24b, 0x01179ffb, 0x034526e1, 0x03e7db57, 0x0262e5ea, 0x02b3211e, 0x01f4e1b2, 0x00e1af91, 0x02329125, 0x0008e84d}}, Y: Field{[10]uint32{0x016854c0, 0x0057d566, 0x03a6f49f, 0x01c0dcd2, 0x01413cc3, 0x03dc557c, 0x03817a1a, 0x02e888af, 0x037e0643, 0x00244a5d}}}, + {X: Field{[10]uint32{0x01149f0b, 0x002b0d5e, 0x039d48a3, 0x00f71102, 0x008cf559, 0x031737b5, 0x01791a18, 0x01937a8d, 0x026058a6, 0x0019967a}}, Y: Field{[10]uint32{0x02f2199d, 0x0031b5ac, 0x031ffc82, 0x036394d3, 0x035300d1, 0x010bf1b0, 0x007b69e7, 0x020dbecd, 0x0305a85d, 0x000ab731}}}, + {X: Field{[10]uint32{0x03a939fc, 0x0299f746, 0x01033037, 0x021d0508, 0x022899b4, 0x027f4a8f, 0x00e6f6c8, 0x034ed1fb, 0x03c6e1ac, 0x0014b70e}}, Y: Field{[10]uint32{0x03d05746, 0x03a270d0, 0x013e2709, 0x028fb946, 0x031e8f6b, 0x0168f13f, 0x003d9da1, 0x0041fef6, 0x034632ad, 0x00176bac}}}, + {X: Field{[10]uint32{0x01573551, 0x01dac435, 0x034f6173, 0x03add7c1, 0x01693fbc, 0x03251ef0, 0x01189ba9, 0x015d16f6, 0x029793cd, 0x001492ca}}, Y: Field{[10]uint32{0x00c80b71, 0x011b86ef, 0x02ca02d1, 0x0318f7b3, 0x01a6865a, 0x03a28bed, 0x02b92cc3, 0x03ec6a77, 0x01d6cb23, 0x0027a026}}}, + {X: Field{[10]uint32{0x0382756e, 0x01e45585, 0x029976fe, 0x02579641, 0x03525b7b, 0x02583a6d, 0x03e6c3dd, 0x01654e48, 0x01a8e2bc, 0x001cc860}}, Y: Field{[10]uint32{0x022e4823, 0x0318869c, 0x01d84eda, 0x0258523c, 0x03e3c42d, 0x02eba62a, 0x03a193c0, 0x03ac290a, 0x02b35592, 0x000945b1}}}, + {X: Field{[10]uint32{0x0102664b, 0x01c04479, 0x0315d8d5, 0x00f7ddba, 0x0249a7ae, 0x00bbdbf2, 0x038496ac, 0x00e3f7cc, 0x002d926e, 0x002e3a25}}, Y: Field{[10]uint32{0x02faf8eb, 0x00bd7b6f, 0x01d77f79, 0x0105a794, 0x03972486, 0x000c79b1, 0x0270ba22, 0x01623935, 0x016e7dea, 0x001e6435}}}, + {X: Field{[10]uint32{0x0098e4e5, 0x006de5f8, 0x001ae18d, 0x03989e25, 0x0119e744, 0x037733de, 0x00ac11e7, 0x02affdcb, 0x00f63e73, 0x000513a2}}, Y: Field{[10]uint32{0x0021837c, 0x027e0f0c, 0x02b3b4e0, 0x033df70b, 0x01158705, 0x029518cf, 0x018197fe, 0x03195431, 0x03f35df3, 0x00018f36}}}, + {X: Field{[10]uint32{0x003a9081, 0x023bef57, 0x0303975b, 0x024da055, 0x0160e5bc, 0x0271cf8f, 0x016a739c, 0x033638b4, 0x03dc489e, 0x00250db8}}, Y: Field{[10]uint32{0x01a7e59c, 0x002fd80e, 0x02d5e03a, 0x02cace99, 0x038e8d76, 0x02a139fd, 0x02a7806e, 0x01baff46, 0x031f50cb, 0x00051814}}}, + {X: Field{[10]uint32{0x00890db9, 0x01b09d48, 0x01e76193, 0x00177d9a, 0x03e840e0, 0x01c43464, 0x019b01a1, 0x03442d1b, 0x01617a56, 0x00274f09}}, Y: Field{[10]uint32{0x00521ea3, 0x019f38de, 0x02aca044, 0x0337a2bc, 0x001f89ff, 0x00b6a6e5, 0x01fee9b8, 0x03a6f30b, 0x00bc4c4a, 0x001aef70}}}, + {X: Field{[10]uint32{0x03db76c8, 0x02a1418f, 0x01d2d0dd, 0x02a2c398, 0x02d0aca5, 0x0114f13c, 0x00c6ae0b, 0x01fe2f86, 0x0250f51b, 0x000a7e63}}, Y: Field{[10]uint32{0x00e5d28f, 0x0038f1fc, 0x01186df8, 0x00c2b4de, 0x0358a6ec, 0x01016018, 0x02b8b211, 0x000c71cf, 0x00dcae8e, 0x0036bcef}}}, + {X: Field{[10]uint32{0x01c22c94, 0x02bc1d13, 0x02e1a538, 0x014a535d, 0x0217a897, 0x0375811b, 0x0005e311, 0x02a8d806, 0x00c2c71d, 0x00359f4c}}, Y: Field{[10]uint32{0x014f670c, 0x00452ee9, 0x03d969c1, 0x02faabd2, 0x00e87ebb, 0x00b81a33, 0x02e690aa, 0x001ec2e4, 0x00e712c8, 0x00122e6c}}}, + {X: Field{[10]uint32{0x03c81649, 0x019809cb, 0x00334835, 0x02e65e9e, 0x03059aa7, 0x0340e805, 0x032c9b76, 0x030b92dd, 0x03a88ce9, 0x003c8b0a}}, Y: Field{[10]uint32{0x01b7028f, 0x001bf77e, 0x019a3cbc, 0x02a4233e, 0x022d92dc, 0x015c09c2, 0x03a4e0f1, 0x02f85890, 0x0310f190, 0x001aaa79}}}, + {X: Field{[10]uint32{0x02c5f894, 0x00c25a66, 0x034a5eff, 0x03b73f01, 0x0336b722, 0x03bcc8d3, 0x02533c90, 0x01320f94, 0x018d06b9, 0x0003179c}}, Y: Field{[10]uint32{0x02eef436, 0x02cc5983, 0x01d7e642, 0x027b3111, 0x03f7f8ce, 0x02a71412, 0x024e810f, 0x01986775, 0x0051ccfc, 0x00092584}}}, + {X: Field{[10]uint32{0x0144d611, 0x019bdcde, 0x014a2c1f, 0x022cccd5, 0x02c291dc, 0x03e1fb93, 0x0218999e, 0x03adf55d, 0x00aac836, 0x0009aa2f}}, Y: Field{[10]uint32{0x03bcecc9, 0x0331976e, 0x027a6c69, 0x03438667, 0x00e57192, 0x00781d8f, 0x022da29c, 0x01998eb3, 0x01ba0723, 0x00308014}}}, + {X: Field{[10]uint32{0x01fa098c, 0x020cd18b, 0x027aa2c0, 0x03841d93, 0x016bcf65, 0x029925b5, 0x0301ba17, 0x0055166f, 0x0170fb7b, 0x000e238d}}, Y: Field{[10]uint32{0x007be798, 0x0003d7e8, 0x02bdea95, 0x0049176d, 0x0299120d, 0x038d12f9, 0x01561e5a, 0x003fc151, 0x0122a2eb, 0x000b5383}}}, + {X: Field{[10]uint32{0x01250709, 0x03e3dc85, 0x03fca7a7, 0x0070ba95, 0x0200da2d, 0x03aacb1b, 0x0227efa4, 0x01e0f88c, 0x03abb5a0, 0x001a0626}}, Y: Field{[10]uint32{0x007ae856, 0x02e0d34f, 0x00855a0e, 0x005cc34c, 0x003e42d5, 0x0145117e, 0x00954f62, 0x034fea85, 0x01833694, 0x002f4c2f}}}, + {X: Field{[10]uint32{0x012190ab, 0x0364344a, 0x03d42b88, 0x020ff5ec, 0x01ea6ff6, 0x00106289, 0x03b7aa90, 0x01de5659, 0x0023bb34, 0x00190b82}}, Y: Field{[10]uint32{0x03b4000f, 0x018e71fc, 0x00903210, 0x02418eda, 0x01286b46, 0x00e76bce, 0x02748926, 0x0014bf8d, 0x02a786ec, 0x0036dcf7}}}, + {X: Field{[10]uint32{0x00924afa, 0x01a0d719, 0x02027f91, 0x00bf4e61, 0x037f4eff, 0x0225abea, 0x01addea5, 0x015415d4, 0x0281e5bf, 0x0026adba}}, Y: Field{[10]uint32{0x0229bb6c, 0x0001eb1d, 0x02f2b47d, 0x026ca659, 0x03dd951c, 0x03392cf9, 0x0329efcb, 0x02979cbf, 0x02a74870, 0x000e301a}}}, + {X: Field{[10]uint32{0x014a8ee7, 0x020563ba, 0x01a62dd1, 0x0056f780, 0x01e059e0, 0x0227993e, 0x0298248e, 0x03da71c6, 0x01aee567, 0x002c2601}}, Y: Field{[10]uint32{0x0183d221, 0x01eca386, 0x0212c814, 0x02a038f6, 0x03dea885, 0x034882b0, 0x01382eb6, 0x004bbf31, 0x016a7ec9, 0x0018aba8}}}, + {X: Field{[10]uint32{0x0107e6e5, 0x01306f00, 0x03b5a82b, 0x03c25d6f, 0x0291d6b5, 0x020c5a46, 0x018bfbc9, 0x03568d29, 0x025b636e, 0x000f58ca}}, Y: Field{[10]uint32{0x03395a1c, 0x033e8c73, 0x01aef682, 0x0273c581, 0x027a7ee0, 0x032d3525, 0x036ba0f9, 0x005b64ba, 0x009e75bf, 0x0015de91}}}, + {X: Field{[10]uint32{0x00cef707, 0x0069a5d0, 0x0150ab1c, 0x00d4e8db, 0x03b51e36, 0x025ab22e, 0x02db69dd, 0x017fcb3b, 0x03f0f70d, 0x001ae086}}, Y: Field{[10]uint32{0x02d12e5d, 0x00ede271, 0x0347a6d8, 0x02d37e8b, 0x00006371, 0x03377aa5, 0x00286745, 0x03048220, 0x0211993f, 0x001484b3}}}, + {X: Field{[10]uint32{0x01728b23, 0x036e1511, 0x0196c789, 0x00c32476, 0x02dc33b3, 0x03364e53, 0x027740b5, 0x03f82e14, 0x01514496, 0x002fca52}}, Y: Field{[10]uint32{0x0112782c, 0x009cac7a, 0x03baec13, 0x00aaed06, 0x034c53bc, 0x004378e3, 0x03f745c4, 0x0339e8d0, 0x01e5da35, 0x001e42bb}}}, + {X: Field{[10]uint32{0x0175ec80, 0x02d80d47, 0x02f06742, 0x026c453d, 0x024906f6, 0x01126251, 0x0268267c, 0x025a2859, 0x00c382bf, 0x002954d5}}, Y: Field{[10]uint32{0x025962e8, 0x0298c332, 0x00c88179, 0x025b460a, 0x019dd6d2, 0x0337ed6c, 0x03319676, 0x00697ca2, 0x01dc4566, 0x000a026f}}}, + {X: Field{[10]uint32{0x0249a693, 0x03e8d109, 0x019f45a6, 0x02be13d4, 0x03b893f8, 0x03ed2603, 0x03a1574f, 0x020c46ef, 0x0036abcd, 0x003f0054}}, Y: Field{[10]uint32{0x019db819, 0x03d9dafc, 0x00789657, 0x03280f9f, 0x02f5542a, 0x026b34fd, 0x01cd0042, 0x03812ce1, 0x02781946, 0x00343da8}}}, + {X: Field{[10]uint32{0x019a7aae, 0x01e26003, 0x024eab75, 0x01b1447e, 0x0059caea, 0x012bef89, 0x02a799fb, 0x03cd489c, 0x010d9f81, 0x00185910}}, Y: Field{[10]uint32{0x025a7966, 0x031c54fb, 0x01ac0abe, 0x03d7539f, 0x034982ff, 0x016e4e5b, 0x03ee69c9, 0x027f34f2, 0x00800ba1, 0x0024af05}}}, + {X: Field{[10]uint32{0x030b5f2d, 0x003f2145, 0x01fc6faa, 0x01f47b01, 0x016e2591, 0x0060ad3d, 0x00f9a9b3, 0x035cddca, 0x01358de9, 0x003be059}}, Y: Field{[10]uint32{0x007ec595, 0x0320fa9d, 0x03d7e155, 0x03732c71, 0x010f1721, 0x02dbf4cb, 0x0249df88, 0x02a71141, 0x0026403c, 0x00370dc9}}}, + {X: Field{[10]uint32{0x0187a8ed, 0x03029222, 0x032e2642, 0x011a107a, 0x00178c56, 0x01c34b10, 0x0304e681, 0x00db7771, 0x00b989a4, 0x0010a30d}}, Y: Field{[10]uint32{0x02eebe06, 0x00deaf4e, 0x01f4f512, 0x01f9c651, 0x003836f9, 0x010da58d, 0x004dc3e6, 0x01191b28, 0x0158251c, 0x002c7c90}}}, + {X: Field{[10]uint32{0x01417a9e, 0x03f88199, 0x024a55ac, 0x01cdfb69, 0x025f19da, 0x02faef5a, 0x01e62437, 0x0055ed05, 0x0382f909, 0x001bad85}}, Y: Field{[10]uint32{0x00577b72, 0x013bfffa, 0x00c3904c, 0x03b8a43b, 0x02af03ed, 0x026710bd, 0x012f168f, 0x03cac5b2, 0x0146baed, 0x0013f9f1}}}, + {X: Field{[10]uint32{0x0376fa4b, 0x01c718a8, 0x01646e43, 0x01cf4530, 0x03cb6f95, 0x02338c77, 0x03830099, 0x013fb17b, 0x02f1466d, 0x00264b82}}, Y: Field{[10]uint32{0x01f9e825, 0x01a4354a, 0x01ae3871, 0x0398c75e, 0x0150d000, 0x002590d9, 0x001e3a90, 0x025acbac, 0x02691e43, 0x003438f6}}}, + {X: Field{[10]uint32{0x01721d11, 0x0210e0c1, 0x039c3010, 0x000e33d6, 0x00513e99, 0x00925a4d, 0x00f31d11, 0x0001e3c8, 0x024badc7, 0x003fb6d5}}, Y: Field{[10]uint32{0x00157a39, 0x01237bce, 0x00b2fa94, 0x021f5502, 0x02ba26ae, 0x015fc580, 0x015d97d6, 0x010833cb, 0x024957e8, 0x0006a38a}}}, + {X: Field{[10]uint32{0x033b24bd, 0x010c3401, 0x03575e54, 0x009989d2, 0x023e6832, 0x03109245, 0x007088d3, 0x02746049, 0x028a4dd8, 0x003cfc81}}, Y: Field{[10]uint32{0x03a2bfa8, 0x0069fdde, 0x00f0e75c, 0x017f87c7, 0x0312381c, 0x002a9f8c, 0x026ab1ee, 0x03d18850, 0x011900a7, 0x003caaaf}}}, + {X: Field{[10]uint32{0x00a13680, 0x00c1dc8f, 0x02e02b3d, 0x016364f6, 0x015b6aa4, 0x01daa160, 0x024e7c14, 0x028d6637, 0x025e4217, 0x000cae48}}, Y: Field{[10]uint32{0x02133802, 0x00d74396, 0x008a396f, 0x0051cce0, 0x03532462, 0x0341c7a5, 0x0185683d, 0x018d004a, 0x00042685, 0x001d19ba}}}, + {X: Field{[10]uint32{0x02e64a8a, 0x0266e7f6, 0x01c7fc62, 0x024fe893, 0x01ee6c6b, 0x03ad64be, 0x03899792, 0x035ac13f, 0x0287385e, 0x00214022}}, Y: Field{[10]uint32{0x0104a2df, 0x01b8a129, 0x023622ae, 0x023e8943, 0x0284b5b3, 0x0020961d, 0x01569f6c, 0x0015dbee, 0x022b8a5b, 0x0007c9e7}}}, + {X: Field{[10]uint32{0x002effd4, 0x0114bdaa, 0x030e9e44, 0x01883c04, 0x010b8353, 0x03f126ff, 0x00edac7c, 0x02ac2fb2, 0x0033ebbe, 0x00136b1e}}, Y: Field{[10]uint32{0x023c740a, 0x03426a80, 0x001f00cc, 0x02d76e3b, 0x01133dc3, 0x02d08df7, 0x014ada57, 0x02a9a184, 0x0170f230, 0x003f2746}}}, + {X: Field{[10]uint32{0x016dbeeb, 0x03cc40b5, 0x03d71031, 0x010406e4, 0x034b44de, 0x014d77d6, 0x0340226e, 0x01755066, 0x008145a6, 0x0026dd56}}, Y: Field{[10]uint32{0x0089a02d, 0x03674478, 0x00e1fa1e, 0x0185679f, 0x01c15160, 0x036ee8ed, 0x03382907, 0x00dedf26, 0x01710d69, 0x00340c90}}}, + {X: Field{[10]uint32{0x03bc8bdd, 0x00fb66b2, 0x004bdb58, 0x03291877, 0x0198b525, 0x02d9176d, 0x02e6e8b1, 0x029f5e99, 0x02b92592, 0x0006f5b3}}, Y: Field{[10]uint32{0x0229944c, 0x0242b126, 0x01e4e7b7, 0x03955473, 0x015a1c4c, 0x0296dc15, 0x037abb10, 0x022fa922, 0x028784a9, 0x00269677}}}, + {X: Field{[10]uint32{0x015b56ee, 0x03d4d56f, 0x00637268, 0x01f62d11, 0x016b3a3c, 0x03f9e1ba, 0x025b08a7, 0x00250594, 0x02b93b36, 0x00096a2c}}, Y: Field{[10]uint32{0x025f22ec, 0x0393a2e5, 0x0240ac45, 0x02bb7dc6, 0x0045f131, 0x03b1b154, 0x01027e63, 0x01a1ff6f, 0x00f75734, 0x000f1633}}}, + {X: Field{[10]uint32{0x03ed9f5f, 0x02c87945, 0x003c0d88, 0x02aa3695, 0x02bf5a1c, 0x0148975a, 0x01a57671, 0x00fbec88, 0x003327c3, 0x000912ca}}, Y: Field{[10]uint32{0x01f53d7d, 0x027c2ff0, 0x000dbc22, 0x0398110e, 0x0237f83c, 0x00a7d404, 0x02cec92a, 0x02254d6b, 0x02ace48d, 0x0008800d}}}, + {X: Field{[10]uint32{0x025dd1b7, 0x01928d4c, 0x01e64e97, 0x00775ab0, 0x0291f0cc, 0x0159a5e3, 0x0042d13e, 0x01e415ad, 0x000f27b8, 0x001be5eb}}, Y: Field{[10]uint32{0x03433d32, 0x0034ffe7, 0x01c814dd, 0x01697cb6, 0x007e937f, 0x0246ce28, 0x02ce1cc6, 0x031c1c89, 0x030cfac6, 0x0020f1b9}}}, + {X: Field{[10]uint32{0x021dce1f, 0x03120055, 0x02badc94, 0x0352c88d, 0x012d6abc, 0x01153c98, 0x00265cad, 0x0138b6ea, 0x020feb01, 0x001cb175}}, Y: Field{[10]uint32{0x03978fe2, 0x02d03698, 0x00bf0690, 0x02db491b, 0x0397b281, 0x03174eb2, 0x03282163, 0x00658ece, 0x02197ef9, 0x0038c466}}}, + {X: Field{[10]uint32{0x01f33825, 0x0367b435, 0x006ea707, 0x0252aba3, 0x002af32b, 0x0110686c, 0x018659df, 0x000619a6, 0x01a001b1, 0x002a5b4b}}, Y: Field{[10]uint32{0x02513f9f, 0x03a04202, 0x016906c0, 0x01c45aa4, 0x025659ea, 0x0230dc2a, 0x03cfd412, 0x0148d67d, 0x018305da, 0x0019835f}}}, + {X: Field{[10]uint32{0x03e3c4fa, 0x00537156, 0x00875173, 0x009e6431, 0x03d906aa, 0x01d8599d, 0x001d2008, 0x017b3066, 0x03634d81, 0x000b339b}}, Y: Field{[10]uint32{0x02ba4b50, 0x008cc8ef, 0x036e5d3c, 0x01d327b2, 0x01b33cb2, 0x03f4151d, 0x02f997a0, 0x027a446d, 0x00ddbd59, 0x00185484}}}, + {X: Field{[10]uint32{0x0245f0c4, 0x0226f5a9, 0x02f4660e, 0x03f1d628, 0x024558fa, 0x02e354ec, 0x00602d98, 0x034e6766, 0x0084525d, 0x00264ac0}}, Y: Field{[10]uint32{0x00e2f98d, 0x01935869, 0x02a572da, 0x0039657b, 0x02f5a5c7, 0x00508180, 0x005f40b1, 0x0168a631, 0x00d22654, 0x0020f2a6}}}, + {X: Field{[10]uint32{0x03eb7357, 0x03dd9ba6, 0x0388e44e, 0x027ad17a, 0x01c6b0c6, 0x03f52ddf, 0x0361ee43, 0x01867f31, 0x03453089, 0x0010d3be}}, Y: Field{[10]uint32{0x029291ea, 0x027bf08a, 0x01bd001e, 0x03220c2e, 0x0126967a, 0x00db02fa, 0x025586d2, 0x02e4b965, 0x016d01c0, 0x000f6ec3}}}, + {X: Field{[10]uint32{0x03fbc156, 0x037171f8, 0x02b884bd, 0x02271370, 0x00f0dbf5, 0x00fbf8c1, 0x02e47359, 0x00cc1828, 0x01ad2c68, 0x0002885e}}, Y: Field{[10]uint32{0x02033c1f, 0x001ebebd, 0x00b20192, 0x008c21b7, 0x0288a2d2, 0x036d8274, 0x00e6dfab, 0x0005da86, 0x01f8ab98, 0x003b914e}}}, + {X: Field{[10]uint32{0x0305a2e1, 0x00e41ebb, 0x00f146d6, 0x00a999c6, 0x02a445f2, 0x024887bd, 0x012bb400, 0x03851ea9, 0x001ed3e1, 0x000e4d02}}, Y: Field{[10]uint32{0x03b5b3c7, 0x02aca429, 0x0206214f, 0x03f9d4b1, 0x03d3a9fe, 0x03c7a566, 0x01e79d49, 0x006de882, 0x02563139, 0x002f0dc1}}}, + {X: Field{[10]uint32{0x0395d8ef, 0x022381f7, 0x013db396, 0x0388414a, 0x03f1f3f7, 0x03310957, 0x00383546, 0x02e4e401, 0x00e159a2, 0x000d6f09}}, Y: Field{[10]uint32{0x0223ae15, 0x03b42a24, 0x02dfa246, 0x034e2127, 0x00e87e0c, 0x0159c93e, 0x02beb5c0, 0x02636bde, 0x00700a96, 0x0037b87f}}}, + {X: Field{[10]uint32{0x0148127d, 0x0394962e, 0x01b48bc7, 0x0386f2b9, 0x0163aa14, 0x00176399, 0x012a0eef, 0x02d1ce15, 0x035c251f, 0x003d7479}}, Y: Field{[10]uint32{0x037170fe, 0x0084aa1b, 0x036fe92d, 0x03d02fde, 0x03e7d586, 0x00a614a2, 0x0009134d, 0x03c1623d, 0x01bc7044, 0x00389830}}}, + {X: Field{[10]uint32{0x03eb121c, 0x03687301, 0x00f54d12, 0x02cd80d4, 0x03f9617b, 0x02b2ddd0, 0x01170dd6, 0x00a0bc28, 0x02d36fed, 0x003b829d}}, Y: Field{[10]uint32{0x020ba5b1, 0x03debc50, 0x035166db, 0x01612d0a, 0x024e56c4, 0x03e78432, 0x02135eff, 0x02583c39, 0x02dbeba6, 0x003e33f0}}}, + {X: Field{[10]uint32{0x00a689d8, 0x01e43467, 0x01676f94, 0x03d85b69, 0x004d1879, 0x005dd345, 0x00ab377f, 0x01d99057, 0x03cf7892, 0x00278ee1}}, Y: Field{[10]uint32{0x02b3b577, 0x02a39b6e, 0x03482266, 0x025ad151, 0x027a9c2d, 0x006c7c9a, 0x033b0c2b, 0x028ab2c9, 0x0122da3c, 0x003e3cd1}}}, + {X: Field{[10]uint32{0x034868f0, 0x016cc43a, 0x0115286e, 0x031d3d89, 0x0012f409, 0x019ae2d4, 0x005b89ee, 0x010b00f2, 0x016fd089, 0x00389bc9}}, Y: Field{[10]uint32{0x02f210f9, 0x03a2fed5, 0x012f21bb, 0x00fcf13c, 0x033552c2, 0x00f26c49, 0x008c6562, 0x0127e9b4, 0x00d96fea, 0x002eacf1}}}, + {X: Field{[10]uint32{0x011da6c2, 0x01626000, 0x0021cf08, 0x014baa31, 0x01a3f5c8, 0x03c1eaf1, 0x00b67634, 0x020e6345, 0x0046a5d3, 0x0022b1d0}}, Y: Field{[10]uint32{0x0229b3dc, 0x0174c91c, 0x0288e149, 0x02543210, 0x024a71af, 0x00d500b0, 0x00f59160, 0x00c66215, 0x0393f56e, 0x00348329}}}, + {X: Field{[10]uint32{0x01932bd0, 0x01dea495, 0x03a83ac6, 0x02fecb20, 0x02753928, 0x03a074a7, 0x01531a86, 0x0253324f, 0x00956346, 0x0016c038}}, Y: Field{[10]uint32{0x00a99656, 0x00fbf598, 0x032d64bc, 0x00cdd200, 0x0242882b, 0x0003561f, 0x02daf180, 0x03123185, 0x027a8071, 0x00234bc9}}}, + {X: Field{[10]uint32{0x0211f0b1, 0x00d5fe27, 0x02a872c0, 0x026ad3a7, 0x01546ffb, 0x02ca9984, 0x01ae4ba7, 0x0175eeac, 0x00c4080c, 0x00058864}}, Y: Field{[10]uint32{0x02423525, 0x024c0c24, 0x019d8796, 0x00ba6317, 0x01bb8419, 0x00ef731b, 0x006d7a31, 0x022a7396, 0x01041244, 0x0036d788}}}, + {X: Field{[10]uint32{0x01b145b1, 0x0299db21, 0x0236cf26, 0x03726bfd, 0x03476774, 0x001805f6, 0x03f8520e, 0x020fa021, 0x0021b4b3, 0x003daa11}}, Y: Field{[10]uint32{0x0037a3b3, 0x01d2a010, 0x020a80ed, 0x0056fe23, 0x02937172, 0x03a3f87b, 0x03a2da82, 0x01c3b401, 0x01a95967, 0x0014131c}}}, + {X: Field{[10]uint32{0x032dd6e5, 0x01d66a64, 0x0013455a, 0x02795727, 0x0183e591, 0x0127e423, 0x038937da, 0x034f62cf, 0x0142f0b5, 0x0007c0b4}}, Y: Field{[10]uint32{0x01863e65, 0x0220b68e, 0x00348fb3, 0x017d22b8, 0x03fbc903, 0x036df27f, 0x02c2eae5, 0x01b7dd43, 0x03338ed3, 0x0039a972}}}, + {X: Field{[10]uint32{0x0178899f, 0x01889e07, 0x03a0434a, 0x03d44b5d, 0x0268e29b, 0x00d21295, 0x02e38c37, 0x0287fa8a, 0x016bc326, 0x00187d36}}, Y: Field{[10]uint32{0x03b4aab8, 0x00deb4b5, 0x02b38b3a, 0x012cdd79, 0x02217272, 0x00603097, 0x03970216, 0x016b1d93, 0x03386200, 0x001947bd}}}, + {X: Field{[10]uint32{0x01c11616, 0x005f2b8c, 0x019c19c9, 0x00ac6be8, 0x007c7ebe, 0x034a45b8, 0x008a71f8, 0x0179e602, 0x000d623c, 0x002e9f57}}, Y: Field{[10]uint32{0x015f5a51, 0x016c1f6f, 0x00958ce4, 0x039f99b2, 0x01a1ec37, 0x03ecd565, 0x02551530, 0x00fdb1e1, 0x03400d7e, 0x00369027}}}, + {X: Field{[10]uint32{0x025bdb09, 0x01be7464, 0x003c3bb1, 0x029a6af1, 0x01fe5a92, 0x036f0f86, 0x02a68ee6, 0x025df1b9, 0x0190eacb, 0x0022e429}}, Y: Field{[10]uint32{0x035df718, 0x00d4603e, 0x039a92a0, 0x01d760a6, 0x024d01ef, 0x01d1a9d4, 0x02734e1f, 0x0175642b, 0x0342ef65, 0x002973d7}}}, + {X: Field{[10]uint32{0x03f4fe4c, 0x03a6ab37, 0x025b71c9, 0x03ffd56c, 0x01f0d994, 0x02d6b85c, 0x00294a3c, 0x0133f73a, 0x02272191, 0x0021fcd4}}, Y: Field{[10]uint32{0x00babb2f, 0x00930a19, 0x03552dda, 0x00fc88a8, 0x01f26b28, 0x026a44cd, 0x027c1efb, 0x031787ab, 0x01af530b, 0x00331c74}}}, + {X: Field{[10]uint32{0x0377a15d, 0x03bb92b2, 0x0358b6c1, 0x027c61fb, 0x0383d550, 0x014c3c7c, 0x00ffe8a5, 0x014566fc, 0x0136ba40, 0x002bba93}}, Y: Field{[10]uint32{0x00d3ac1a, 0x01581e98, 0x033f78d5, 0x01f738da, 0x0196958f, 0x022aa8a3, 0x03031c24, 0x00f7e1f4, 0x01eae740, 0x0036d58f}}}, + {X: Field{[10]uint32{0x03cc7111, 0x00e2966b, 0x02db62a3, 0x00d95dd3, 0x00d8dda4, 0x02016353, 0x006f1ef0, 0x03ae755f, 0x018d3996, 0x000c03fa}}, Y: Field{[10]uint32{0x00c40e77, 0x01962c8e, 0x025e3a49, 0x009b49c8, 0x01d2e6e2, 0x010eddbf, 0x037913c1, 0x029033e4, 0x00178fdd, 0x00345228}}}, + {X: Field{[10]uint32{0x01c19fdb, 0x0017d0a6, 0x0073aa50, 0x006ddb53, 0x03d01e9c, 0x019d0f93, 0x01095a1f, 0x0051ba0e, 0x035e22cd, 0x0031c02b}}, Y: Field{[10]uint32{0x014b32c0, 0x0151aa86, 0x011d28b5, 0x024b0b54, 0x010d4a30, 0x02dba95a, 0x02b1fc6b, 0x00709c9e, 0x0181b1f0, 0x000ff800}}}, + {X: Field{[10]uint32{0x0350bc60, 0x030dd233, 0x034a5941, 0x01d7e5ae, 0x0194228f, 0x0211214e, 0x02147af3, 0x0104e06a, 0x00e117b9, 0x00340f42}}, Y: Field{[10]uint32{0x0096e31d, 0x001c6cea, 0x000fa10e, 0x01dba451, 0x01f47dd0, 0x015076a3, 0x00bfbfdc, 0x02f314b8, 0x03fd2785, 0x0016c467}}}, + {X: Field{[10]uint32{0x022bd361, 0x017697f0, 0x03832b39, 0x00fb2533, 0x03ea9c98, 0x02be0697, 0x017fadb6, 0x0082e15b, 0x00fa17a5, 0x001b19c4}}, Y: Field{[10]uint32{0x02804941, 0x028e4f3c, 0x00ad64fb, 0x002097b5, 0x01b036a4, 0x00225ec1, 0x01964f3c, 0x0207a906, 0x012636e2, 0x0036d3bf}}}, + {X: Field{[10]uint32{0x03d91bbb, 0x03cfef68, 0x021d9b46, 0x03a653e1, 0x025ea3bf, 0x00229766, 0x02cb900d, 0x01e859ad, 0x02399df4, 0x0035ed70}}, Y: Field{[10]uint32{0x00efe8ba, 0x03565f59, 0x03710cff, 0x0194a702, 0x03a3c8a0, 0x0253ff87, 0x003494d7, 0x03097a72, 0x034e4ab1, 0x003b5e47}}}, + {X: Field{[10]uint32{0x00f66c06, 0x02a7a394, 0x029524ab, 0x008c8d06, 0x0253ff2f, 0x03aaa8fb, 0x01eb8dcc, 0x02054b8b, 0x01ab8f72, 0x00243da6}}, Y: Field{[10]uint32{0x02fce91d, 0x0320b27f, 0x0008e641, 0x0339b98f, 0x00561558, 0x00da487e, 0x006d80ec, 0x004aee75, 0x03a77f53, 0x0022f430}}}, + {X: Field{[10]uint32{0x01fb65cc, 0x02b9c6a3, 0x0344abb9, 0x0338ada1, 0x0137557d, 0x0285bd5a, 0x01eaead6, 0x0370d324, 0x023e3d7a, 0x001343ab}}, Y: Field{[10]uint32{0x03a3de5a, 0x01b8bc87, 0x02a5352c, 0x02641425, 0x026e874c, 0x010aa94b, 0x019a6851, 0x021cc6ea, 0x0006a950, 0x00205ac2}}}, + {X: Field{[10]uint32{0x02f7de62, 0x023df26c, 0x031d0243, 0x0266381a, 0x01689a23, 0x00c54617, 0x034f8153, 0x0212637e, 0x02ddec31, 0x0011b367}}, Y: Field{[10]uint32{0x021f29bc, 0x0211be95, 0x0100810a, 0x01a0491f, 0x03e0d5d1, 0x0204ce22, 0x0164a8bb, 0x01e1d232, 0x01a3d5fd, 0x000ed6f0}}}, + {X: Field{[10]uint32{0x02ff730b, 0x013ae0c0, 0x000aebce, 0x03f88696, 0x00653748, 0x01154b90, 0x0176297b, 0x02aadc71, 0x000e3f6e, 0x00012ab2}}, Y: Field{[10]uint32{0x008c7954, 0x00d4e61b, 0x020509e4, 0x02a53c77, 0x0240d331, 0x02b1a811, 0x03e2dd5b, 0x03d1aa03, 0x000d8014, 0x000f50a8}}}, + {X: Field{[10]uint32{0x002a4114, 0x01a06956, 0x006374bb, 0x03d8bb2f, 0x02e03e96, 0x006664de, 0x01e45730, 0x0270244c, 0x0261b73d, 0x00166fa9}}, Y: Field{[10]uint32{0x01afa47d, 0x038f4b2c, 0x035c130b, 0x026af576, 0x00d9f263, 0x03a24541, 0x01062e78, 0x00b0ba07, 0x03e8ee8a, 0x000c6882}}}, + {X: Field{[10]uint32{0x00ca6037, 0x024d59e4, 0x003385e2, 0x02929387, 0x029ee089, 0x03b1e937, 0x019acd3f, 0x03ba48ac, 0x006588b2, 0x0001ffa4}}, Y: Field{[10]uint32{0x01e5c128, 0x03a4da4d, 0x032a7c69, 0x018f9fb1, 0x002659b7, 0x001d8ffd, 0x01eb3262, 0x00fbac7d, 0x0190c5f4, 0x0037ed17}}}, + {X: Field{[10]uint32{0x01322157, 0x03254625, 0x0262f19d, 0x011fcb20, 0x01f3a5fc, 0x03e3cbf4, 0x00b5e4ac, 0x01e225e1, 0x03913227, 0x0036ce43}}, Y: Field{[10]uint32{0x0290bbad, 0x01872b35, 0x02dc8d5d, 0x0302b7a0, 0x012aaeb5, 0x0298f6c6, 0x00fd7d4d, 0x020c7c25, 0x015b241c, 0x0010d925}}}, + {X: Field{[10]uint32{0x0391ebc8, 0x017501dc, 0x03c29e6e, 0x02980714, 0x00985732, 0x02ba3de3, 0x02a9e615, 0x0066b1f6, 0x0266e5fc, 0x000d3740}}, Y: Field{[10]uint32{0x01dd797b, 0x007a87f1, 0x02ddb661, 0x01ad148c, 0x0077a5db, 0x030ad22f, 0x0013b1d2, 0x03f80398, 0x02d80e73, 0x0030b5ad}}}, + {X: Field{[10]uint32{0x011772ab, 0x038f7c67, 0x004db336, 0x0314ca3e, 0x015e6c7e, 0x01b8bbe5, 0x01fcfbe1, 0x0182374f, 0x032b7e31, 0x003ba9fd}}, Y: Field{[10]uint32{0x014004bb, 0x0034c354, 0x029b88af, 0x015831af, 0x03172195, 0x00e6a9d1, 0x02a6d947, 0x02930d23, 0x00f1ccde, 0x002598b2}}}, + {X: Field{[10]uint32{0x00c391f2, 0x00f9e8e2, 0x007fc10d, 0x0190db64, 0x019376d2, 0x03a1584a, 0x01e412dd, 0x003ace4f, 0x007af1b1, 0x0031abc2}}, Y: Field{[10]uint32{0x00825144, 0x02d2b9d4, 0x00959eee, 0x0090b185, 0x01e5ff98, 0x033faae9, 0x018847a9, 0x01915e2b, 0x022e3185, 0x002ea675}}}, + {X: Field{[10]uint32{0x02ccefc7, 0x0132667f, 0x01518136, 0x02fd434d, 0x02aff37f, 0x032d0fd6, 0x033d034b, 0x015d02ad, 0x03356c71, 0x003ab8d1}}, Y: Field{[10]uint32{0x02fe4703, 0x03998e64, 0x01a9879f, 0x01b6d87f, 0x03968525, 0x02513dd2, 0x02f15d84, 0x03d91735, 0x0075da8b, 0x002e4e1b}}}, + {X: Field{[10]uint32{0x0340438f, 0x0093fdfe, 0x0046165c, 0x038c0764, 0x0241b68a, 0x01392589, 0x039a27e6, 0x023d5013, 0x00250f4d, 0x00129523}}, Y: Field{[10]uint32{0x016f6d10, 0x014bca06, 0x01578382, 0x00570a83, 0x014c2742, 0x038a698f, 0x01e40c67, 0x0233dbbd, 0x0085bd60, 0x002ba7cb}}}, + {X: Field{[10]uint32{0x00f744af, 0x02bcac3b, 0x01a53f43, 0x03678603, 0x03453318, 0x032cf02f, 0x019743d7, 0x0116a3a8, 0x0279dd65, 0x00186495}}, Y: Field{[10]uint32{0x03cb184d, 0x002913ca, 0x011a1726, 0x0075138f, 0x0347fc55, 0x00f92a87, 0x02c062ca, 0x014dcba7, 0x0184d721, 0x00281a0b}}}, + {X: Field{[10]uint32{0x0137ea2a, 0x03c05424, 0x004fe025, 0x02e14bfc, 0x0250267a, 0x01097bd8, 0x03a260d2, 0x02addb53, 0x02869574, 0x003876d7}}, Y: Field{[10]uint32{0x011905a8, 0x010f2054, 0x0277483f, 0x012fed25, 0x00836e20, 0x00318494, 0x01a99a1d, 0x03de8db0, 0x00219fd5, 0x00323abd}}}, + {X: Field{[10]uint32{0x0248c7f1, 0x027498f4, 0x004a7d2f, 0x02473f08, 0x0038e636, 0x007f613c, 0x00ab862a, 0x00e108a8, 0x03ca7392, 0x000c18b2}}, Y: Field{[10]uint32{0x019670cb, 0x03011ff7, 0x02b2cf55, 0x03c7327f, 0x00721a85, 0x038610c4, 0x0289eee1, 0x00a5c373, 0x02570e3f, 0x0023c44b}}}, + {X: Field{[10]uint32{0x01a4f739, 0x00500113, 0x00f4e4e8, 0x03ca5dd9, 0x039da74f, 0x02d4fe54, 0x007a861e, 0x00dbf3bb, 0x03ccaa97, 0x0019f0e4}}, Y: Field{[10]uint32{0x01853203, 0x011f1352, 0x013942d1, 0x03551b1f, 0x0033ac24, 0x03566d49, 0x00009d5a, 0x017f88be, 0x01d09a16, 0x0024f4ca}}}, + {X: Field{[10]uint32{0x0099bf5e, 0x00c213fa, 0x03728f94, 0x02c43a2e, 0x01ac5bc5, 0x0160731f, 0x01a5619d, 0x00861fb9, 0x01f236cf, 0x00319d1c}}, Y: Field{[10]uint32{0x01e2c513, 0x039a1223, 0x00aea62f, 0x00dfeda1, 0x003a533f, 0x0132ef32, 0x03c32477, 0x00c63650, 0x009c787b, 0x001d7243}}}, + {X: Field{[10]uint32{0x00ed1b52, 0x01fa62b9, 0x03070182, 0x03301951, 0x0112143a, 0x0096aab1, 0x033d7a40, 0x02376484, 0x03efd593, 0x00354057}}, Y: Field{[10]uint32{0x00f03d6b, 0x01b0975f, 0x0379f400, 0x0182de63, 0x00e99668, 0x00761177, 0x037c0d65, 0x00dbc570, 0x0216a022, 0x00110c15}}}, + {X: Field{[10]uint32{0x0164f2d2, 0x024a73a0, 0x003b73c1, 0x002473d4, 0x02243ca3, 0x0000bb66, 0x008ed564, 0x0258572d, 0x0365aaa8, 0x002baf2f}}, Y: Field{[10]uint32{0x00b3f019, 0x01f4dff9, 0x01ee535e, 0x015554e6, 0x02a6ee7f, 0x027223a1, 0x020305ba, 0x03b8ad08, 0x025d1a30, 0x0013f07c}}}, + {X: Field{[10]uint32{0x03b30e43, 0x03c03ffa, 0x00d8105e, 0x002ed4dc, 0x01bb8f98, 0x00ca8e74, 0x02d68219, 0x037bbd26, 0x02171727, 0x000572c5}}, Y: Field{[10]uint32{0x000ebd7a, 0x039f4afe, 0x02d93b1f, 0x01ad243a, 0x012dfff8, 0x01cd2cd3, 0x035c1b99, 0x0014ffb8, 0x008287fc, 0x00192b63}}}, + {X: Field{[10]uint32{0x0049c123, 0x000c2013, 0x026986bd, 0x008c18f8, 0x0119fb25, 0x00948468, 0x03b88a55, 0x0359d026, 0x009e8530, 0x00350108}}, Y: Field{[10]uint32{0x00a7a128, 0x03318890, 0x032c562b, 0x02fa28d0, 0x0046ef87, 0x02d68c9f, 0x01062753, 0x017467a1, 0x0168fdb8, 0x000dd8ff}}}, + {X: Field{[10]uint32{0x03ffdd96, 0x03a4e066, 0x02a4ed42, 0x025fd08a, 0x00d40b44, 0x030c9eb1, 0x02330c2f, 0x00a12563, 0x00cf0c23, 0x003ceafe}}, Y: Field{[10]uint32{0x015b0d5d, 0x0083a69f, 0x02061cc7, 0x03b1f33c, 0x01d1dfe9, 0x035e9d88, 0x01076432, 0x00c9f0fa, 0x0305d831, 0x00142187}}}, + {X: Field{[10]uint32{0x00874dea, 0x01ffdbdf, 0x03b4e57b, 0x011b0f92, 0x035cf92b, 0x0146e748, 0x004755a6, 0x036fecfe, 0x00932ee9, 0x001e28ca}}, Y: Field{[10]uint32{0x02c85895, 0x005fdae6, 0x02473b46, 0x02ca4b06, 0x01b3c36e, 0x0257aadf, 0x02ccd874, 0x0087d1ba, 0x003a9667, 0x002496de}}}, + {X: Field{[10]uint32{0x0350cd4a, 0x000c8269, 0x01e8df65, 0x0390fb55, 0x011b7d15, 0x01eed9e3, 0x001ed91a, 0x01be286b, 0x010f5d14, 0x00205948}}, Y: Field{[10]uint32{0x015d260d, 0x02e161e4, 0x0363a384, 0x019a87b6, 0x03859541, 0x00e5b1c4, 0x0145875e, 0x00af732f, 0x013a19e2, 0x003f8e43}}}, + {X: Field{[10]uint32{0x01fe3f09, 0x03295fdf, 0x032f3633, 0x007f3c01, 0x00ba7343, 0x00fbe866, 0x0317dd6f, 0x00f4d337, 0x01e86c2f, 0x001d49a7}}, Y: Field{[10]uint32{0x004805bd, 0x03454f9c, 0x020b1f5e, 0x027c77c6, 0x00f463f3, 0x017ba214, 0x006e3dbd, 0x009fb111, 0x025fd199, 0x002c58a9}}}, + {X: Field{[10]uint32{0x027145b0, 0x01394490, 0x02b38954, 0x02dea405, 0x03c520a7, 0x013ecbfd, 0x01c4e104, 0x0252796e, 0x028fb393, 0x00178db3}}, Y: Field{[10]uint32{0x0011614c, 0x0269381e, 0x03a4e7d3, 0x0170320a, 0x0022074c, 0x0152baa4, 0x01822ced, 0x025a9076, 0x0318292f, 0x001f1039}}}, + {X: Field{[10]uint32{0x02632746, 0x0302dac5, 0x03d25b05, 0x0181db69, 0x01c249d3, 0x02b260f9, 0x0176edc6, 0x02ff1b01, 0x0129fdeb, 0x0032331c}}, Y: Field{[10]uint32{0x00716fb1, 0x01d35e13, 0x01e68e46, 0x02bf53dd, 0x022653fb, 0x014e7fae, 0x011a332c, 0x011261db, 0x00e3a77e, 0x00122a33}}}, + {X: Field{[10]uint32{0x0246973f, 0x0303053a, 0x021dd2d6, 0x022dce0e, 0x03fa8579, 0x038f772b, 0x024d2a9a, 0x00f9b4e4, 0x0336f1ee, 0x0027f876}}, Y: Field{[10]uint32{0x0074f6d2, 0x039db38b, 0x0223e7c2, 0x03b2facc, 0x0343dc55, 0x00084ad8, 0x02d96588, 0x01170257, 0x02a86070, 0x00074d6d}}}, + {X: Field{[10]uint32{0x008ecda2, 0x01c4fd6f, 0x024657c9, 0x036f49b4, 0x01e23648, 0x030d449e, 0x019e02dd, 0x01d239b8, 0x038a3d45, 0x00132a2a}}, Y: Field{[10]uint32{0x023e73da, 0x02a68e53, 0x005cf164, 0x0236ec83, 0x0113b8a6, 0x0021db25, 0x03c9f23c, 0x036e489c, 0x02ad9bb7, 0x00229619}}}, + {X: Field{[10]uint32{0x032060c0, 0x01dbd62d, 0x017b13d3, 0x00607604, 0x03f1f308, 0x006c78a7, 0x01bc7242, 0x0227b173, 0x0150e4a9, 0x00032340}}, Y: Field{[10]uint32{0x0082ebd1, 0x018cd954, 0x0271749e, 0x00cb2c9b, 0x027ac4a7, 0x002c800c, 0x0242a9df, 0x00e9286b, 0x00a4c5a7, 0x00171620}}}, + {X: Field{[10]uint32{0x02f2aa31, 0x03868304, 0x03feafc1, 0x0113c4c2, 0x039e3684, 0x02072620, 0x03e1b7c9, 0x03f79927, 0x017bb4b9, 0x000f5855}}, Y: Field{[10]uint32{0x025b56f9, 0x021e64b7, 0x0228671c, 0x0254c63a, 0x021e2336, 0x01ac70df, 0x0160c90e, 0x02102cea, 0x03ff62cd, 0x0024cc59}}}, + {X: Field{[10]uint32{0x00e69e2a, 0x02bc5a49, 0x00552ccf, 0x03b72d89, 0x03feaada, 0x0170fb47, 0x0078dbb8, 0x0328256d, 0x039ffd44, 0x0019d5a7}}, Y: Field{[10]uint32{0x03eb7fcc, 0x006c9b59, 0x00102feb, 0x037abc3f, 0x03d16619, 0x02b7ec92, 0x01412887, 0x02f4b2aa, 0x0148230f, 0x0018aeca}}}, + {X: Field{[10]uint32{0x0372fbc2, 0x02dd4f9c, 0x01af70f3, 0x0340f3c3, 0x006e3075, 0x0319b6aa, 0x037d2792, 0x0050043a, 0x013edebf, 0x0018c4f4}}, Y: Field{[10]uint32{0x03573ef3, 0x0389ab74, 0x039c2f65, 0x01d2fabf, 0x032839f8, 0x00f81b8b, 0x01754556, 0x0049161a, 0x023050eb, 0x00111884}}}, + {X: Field{[10]uint32{0x01d23968, 0x03f78913, 0x031955e2, 0x03c857c4, 0x03088529, 0x01f1b2ca, 0x023085b4, 0x01ba3343, 0x01e7fbbe, 0x001be3b2}}, Y: Field{[10]uint32{0x0136cd79, 0x0031dbfb, 0x0078dc51, 0x002a0c07, 0x0323e195, 0x0311bbba, 0x003b215d, 0x00febad5, 0x0214523b, 0x0007ed87}}}, + {X: Field{[10]uint32{0x010b7f6c, 0x0301519c, 0x022447be, 0x01638380, 0x0336f0ae, 0x020e6d30, 0x01a0ec2f, 0x0286b2f6, 0x01ac3c5a, 0x0015984f}}, Y: Field{[10]uint32{0x02ca79e8, 0x01ceaa63, 0x0316cf7b, 0x02f775fd, 0x03530908, 0x010d2be2, 0x03233194, 0x0263e40e, 0x03ab86c3, 0x00091c98}}}, + {X: Field{[10]uint32{0x03aee08c, 0x02cf0861, 0x01da041e, 0x02c1a167, 0x0217e91a, 0x0169f775, 0x03e6e57c, 0x01c8644d, 0x01e7b414, 0x00327785}}, Y: Field{[10]uint32{0x038b0009, 0x03eff10f, 0x0370fd8f, 0x02c7d792, 0x0040cc5d, 0x00556473, 0x0111c877, 0x015b437f, 0x02a5cfa0, 0x0031c5e3}}}, + {X: Field{[10]uint32{0x016c0504, 0x01aeff7d, 0x01c48a8b, 0x00b74b77, 0x02f90618, 0x02f9925e, 0x02a4b0f6, 0x017a4390, 0x024a627d, 0x0001d642}}, Y: Field{[10]uint32{0x02c38587, 0x00f38aa9, 0x029f81f9, 0x01d4d4ed, 0x00cc5bd8, 0x02a9192f, 0x017e878b, 0x021d8172, 0x021ab549, 0x00358478}}}, + {X: Field{[10]uint32{0x03e19d6a, 0x025e421f, 0x0173b760, 0x0176fcf2, 0x021fcc55, 0x0076ccd8, 0x00dff728, 0x03815b6c, 0x020fb310, 0x00252c76}}, Y: Field{[10]uint32{0x014fc217, 0x021b78ff, 0x01159852, 0x02723cbf, 0x0045c42e, 0x0392e54f, 0x03a2ab4a, 0x0069580c, 0x013dd5b4, 0x0020c622}}}, + {X: Field{[10]uint32{0x00c9a6cb, 0x039b54a1, 0x011a5f20, 0x0084e385, 0x02d6f8f8, 0x02bb0b3e, 0x007d081d, 0x033bc438, 0x0299bcda, 0x002d6bd0}}, Y: Field{[10]uint32{0x0395448d, 0x0091e6ea, 0x00b2043b, 0x03f42bb7, 0x01c8cf65, 0x004df702, 0x032987eb, 0x02e0b7d5, 0x00078a7d, 0x00302611}}}, + {X: Field{[10]uint32{0x0139c3e3, 0x01da11da, 0x03b0c3c4, 0x01066226, 0x03f8ef61, 0x021460a6, 0x000a153c, 0x01161ce6, 0x01437074, 0x0017d26b}}, Y: Field{[10]uint32{0x007e04eb, 0x0346001d, 0x020f7d01, 0x0251172b, 0x022ae25c, 0x0103f092, 0x0208ae1b, 0x01b0f42e, 0x038520f5, 0x00171034}}}, + {X: Field{[10]uint32{0x007da385, 0x0386e792, 0x01c645cd, 0x02fc9bb2, 0x0216bea3, 0x01a24e50, 0x0230d1ae, 0x03047193, 0x027f88cc, 0x003daec1}}, Y: Field{[10]uint32{0x00288f55, 0x03b5c85e, 0x004fead4, 0x0367cafd, 0x0328dbfd, 0x037792a0, 0x01d4ec8a, 0x025e3362, 0x036d7268, 0x000c5691}}}, + {X: Field{[10]uint32{0x01df6950, 0x03b4affe, 0x03f10bee, 0x0124112c, 0x0152690b, 0x03000115, 0x01aea0ee, 0x00678253, 0x02dec02b, 0x001ed1f3}}, Y: Field{[10]uint32{0x00efe9a6, 0x03b64ef8, 0x01330280, 0x03603084, 0x0353b7cc, 0x015e462b, 0x03ac5a79, 0x037b25ba, 0x01f49bee, 0x0006f369}}}, + {X: Field{[10]uint32{0x0140876d, 0x03f59826, 0x01035a78, 0x0087000a, 0x01182236, 0x035c3d4b, 0x025e1ab2, 0x015b67ad, 0x03f3082d, 0x002e9a75}}, Y: Field{[10]uint32{0x035d393d, 0x01b447e5, 0x02c7684b, 0x00d6b86b, 0x001d1cf9, 0x003b894e, 0x036bdb95, 0x00a2703c, 0x02fd56d5, 0x0017d128}}}, + {X: Field{[10]uint32{0x03d929ff, 0x037f6e5e, 0x0347d1d3, 0x017e5d0c, 0x01fe7ec3, 0x00cc2e8e, 0x03713bf0, 0x03065488, 0x0094d226, 0x0028edc2}}, Y: Field{[10]uint32{0x02ae6135, 0x03013355, 0x00aa593c, 0x00b082ec, 0x01495edf, 0x02ace51e, 0x01ad2e10, 0x016a80d5, 0x03df4275, 0x00017432}}}, + {X: Field{[10]uint32{0x01c804e5, 0x0368df74, 0x0384f0e8, 0x02cd1233, 0x025ae602, 0x003aceff, 0x03e73b52, 0x0207f647, 0x023ebb2d, 0x0031d5b8}}, Y: Field{[10]uint32{0x00df49ff, 0x0044840d, 0x035f8985, 0x02a753ec, 0x025a4fab, 0x02192a60, 0x01f52b29, 0x01ae6f2a, 0x02faedf8, 0x00227d2d}}}, + {X: Field{[10]uint32{0x0271822c, 0x00bba10d, 0x02a00d17, 0x0271b37e, 0x0065410e, 0x030e4127, 0x011c2341, 0x0252afde, 0x00356fab, 0x000d8c9f}}, Y: Field{[10]uint32{0x03ed4c6d, 0x034187f4, 0x0127abe7, 0x00c63096, 0x01eb7456, 0x0253dc0e, 0x0201f04e, 0x0234d7c3, 0x00a4698c, 0x003f8d62}}}, + {X: Field{[10]uint32{0x03dd21bb, 0x0278418d, 0x00c32118, 0x02c61d2c, 0x00b66051, 0x017acabd, 0x02ecf6fc, 0x008c47d1, 0x03be8e37, 0x000edd6f}}, Y: Field{[10]uint32{0x02879908, 0x002a8a56, 0x03c2aea5, 0x02575f46, 0x022e42a0, 0x01e502d3, 0x015e2488, 0x00ce6916, 0x0233e3c3, 0x002e4512}}}, + {X: Field{[10]uint32{0x00d3c5e2, 0x029fdd7c, 0x017b4d92, 0x02f4de6a, 0x035f0272, 0x03e3d11d, 0x015ed721, 0x03a22831, 0x031057b4, 0x00112987}}, Y: Field{[10]uint32{0x02d80141, 0x03785120, 0x00086111, 0x0019b705, 0x02181623, 0x016de4e4, 0x016ec1f0, 0x0011925c, 0x02658034, 0x003a1c3a}}}, + {X: Field{[10]uint32{0x0097fefd, 0x026889c0, 0x00acb74c, 0x039b28a5, 0x011ebed2, 0x03a481bb, 0x00c6fe5c, 0x00f02809, 0x02f70066, 0x00046b80}}, Y: Field{[10]uint32{0x03d6a36f, 0x01f4a337, 0x0024bd69, 0x019a5039, 0x01a4e357, 0x01c108b3, 0x008737ae, 0x03ecc140, 0x0387a262, 0x0018d686}}}, + {X: Field{[10]uint32{0x02142f5c, 0x0021728f, 0x01981069, 0x03c84175, 0x008e987a, 0x02cc6cdf, 0x02ab1b0a, 0x017450b9, 0x010adfb2, 0x0031d44c}}, Y: Field{[10]uint32{0x02821014, 0x0250eebb, 0x018864df, 0x00752f30, 0x02ccca85, 0x039a1716, 0x00485a4b, 0x005ea7c4, 0x01d8ed27, 0x002918c3}}}, + {X: Field{[10]uint32{0x03efe46a, 0x02f76dfb, 0x02f7f790, 0x00ac3856, 0x00a639b7, 0x03ac94db, 0x0357b173, 0x03ce7105, 0x03c64009, 0x003ffd35}}, Y: Field{[10]uint32{0x025080e5, 0x01d91433, 0x02dc6e89, 0x01af6b5f, 0x014c110d, 0x024a92ec, 0x030697a2, 0x008b4440, 0x018e0ffe, 0x001a529e}}}, + {X: Field{[10]uint32{0x03f90534, 0x03233a70, 0x00d18c06, 0x0068c495, 0x0300932b, 0x03350dc1, 0x031e8bc1, 0x027d1ba4, 0x0239c13c, 0x001f5dba}}, Y: Field{[10]uint32{0x03e415bb, 0x00727fa2, 0x026d4d2a, 0x022ce696, 0x024cee43, 0x01163245, 0x007cf7c3, 0x00f63cd3, 0x02ba8f0a, 0x002f052c}}}, + {X: Field{[10]uint32{0x0207ad39, 0x00c3a557, 0x037e8a67, 0x017a097d, 0x01625fda, 0x00c2aaab, 0x00807075, 0x0393cdbc, 0x02d2ca6a, 0x002dbbf2}}, Y: Field{[10]uint32{0x01b1c765, 0x00864e6f, 0x005f00a4, 0x00687d90, 0x02469430, 0x00fa9ab5, 0x036f4a32, 0x034c9c0f, 0x00ef8a56, 0x00121a36}}}, + {X: Field{[10]uint32{0x0233a32e, 0x032a9b8d, 0x02b4ae30, 0x02ab034a, 0x0348e38f, 0x01d501b4, 0x03f9050e, 0x03129b4d, 0x012aa889, 0x0006812c}}, Y: Field{[10]uint32{0x0075911d, 0x01baf237, 0x02966c24, 0x0005ebe1, 0x0221e1c8, 0x039fa827, 0x0017dca3, 0x023641b2, 0x008ffad3, 0x003d0e83}}}, + {X: Field{[10]uint32{0x03209b7e, 0x02ab5460, 0x02a6c531, 0x00016935, 0x03b70e25, 0x0323b777, 0x0078b126, 0x0146413a, 0x00fe9b34, 0x002b6bac}}, Y: Field{[10]uint32{0x037522ad, 0x032c0e74, 0x03173f33, 0x03bf19e4, 0x02b1c59d, 0x02639bb7, 0x00c6b4e1, 0x00a69c23, 0x016ddd4d, 0x000ac9ac}}}, + {X: Field{[10]uint32{0x006e0679, 0x013ae20b, 0x010d19a9, 0x00961183, 0x00d97fa1, 0x0358c9d9, 0x012121d2, 0x03cff2d4, 0x02023931, 0x00013932}}, Y: Field{[10]uint32{0x00537467, 0x0208b461, 0x00348515, 0x005fc965, 0x02cc917b, 0x00a3accc, 0x00c68609, 0x029b2515, 0x02cd3704, 0x003be43b}}}, + {X: Field{[10]uint32{0x011e2971, 0x030821f0, 0x02a220a7, 0x02b2b700, 0x035654ec, 0x00e7d80e, 0x01b5ee41, 0x0304e9c4, 0x0279df69, 0x00287cf0}}, Y: Field{[10]uint32{0x02a16b2d, 0x0148eb6d, 0x023b2252, 0x035ea2a4, 0x02e8aafa, 0x03bf88c9, 0x03699165, 0x01e375fb, 0x039454cb, 0x0015c925}}}, + {X: Field{[10]uint32{0x0398c7a5, 0x004f8339, 0x003c4f4b, 0x0321a9a4, 0x03c19424, 0x03259d7f, 0x030c911b, 0x01a39bd2, 0x03814886, 0x002ab1db}}, Y: Field{[10]uint32{0x00dd2978, 0x029cb461, 0x03189588, 0x00dbac9d, 0x02c37595, 0x00d826f0, 0x011df3f7, 0x01f5b04e, 0x02dfdd6c, 0x00092b85}}}, + {X: Field{[10]uint32{0x00034769, 0x036dc074, 0x030a2a5b, 0x025a8578, 0x010ddce4, 0x012639b2, 0x03601666, 0x008bc378, 0x0171e596, 0x001c3a50}}, Y: Field{[10]uint32{0x0103b757, 0x0113c684, 0x0257d5e2, 0x02ef3d1a, 0x02446111, 0x00803e4a, 0x004d4e80, 0x032fbcae, 0x00a775a9, 0x0035b5f0}}}, + {X: Field{[10]uint32{0x02c78890, 0x023825a3, 0x002b6f28, 0x01ad6e0a, 0x03342670, 0x01aac711, 0x02fa849c, 0x01124925, 0x01e711d4, 0x003285f9}}, Y: Field{[10]uint32{0x03ce2c2e, 0x00bcfa22, 0x034105e3, 0x03b938a0, 0x00e6c58f, 0x005f4cb3, 0x039f501e, 0x01dee376, 0x02322ce5, 0x002cf775}}}, + {X: Field{[10]uint32{0x03aa62e8, 0x018c928b, 0x025717ec, 0x0006357f, 0x00255ec0, 0x0290eae7, 0x000700f3, 0x03f7a1ab, 0x018d8d70, 0x000685a9}}, Y: Field{[10]uint32{0x02710c27, 0x003ac746, 0x017e116c, 0x03cde8e2, 0x00dc2eb6, 0x015f074c, 0x03bc1372, 0x03c28f75, 0x02ba65af, 0x003cb2cb}}}, + {X: Field{[10]uint32{0x00b9d4f2, 0x02438ca5, 0x0301e981, 0x01eb8f97, 0x012dd335, 0x02acab04, 0x01c6bbf5, 0x037c430a, 0x02650b4d, 0x0023cb77}}, Y: Field{[10]uint32{0x034c6afb, 0x024ff937, 0x01f5d804, 0x016f4c9e, 0x0179df33, 0x01647df3, 0x02954bd8, 0x00db5413, 0x00f7e5a7, 0x00381ae3}}}, + {X: Field{[10]uint32{0x00950162, 0x0376a401, 0x018c5a3a, 0x0215b223, 0x00ba1d72, 0x0336cd59, 0x014562e0, 0x00f9f203, 0x0153f821, 0x000cc52d}}, Y: Field{[10]uint32{0x0043532d, 0x02a87e7f, 0x00c24fc4, 0x018804eb, 0x02b4dab4, 0x00f2b547, 0x00a7434e, 0x031543e5, 0x005ee3f7, 0x000cfa0f}}}, + {X: Field{[10]uint32{0x01304000, 0x00f16e89, 0x026062af, 0x0153b8ad, 0x03fa5895, 0x01229f30, 0x01b11a33, 0x0030bff1, 0x02f465ac, 0x001f041f}}, Y: Field{[10]uint32{0x035702c5, 0x0398fba5, 0x0124b508, 0x01e708fc, 0x0289b5a9, 0x015b4d97, 0x027fe78e, 0x001c1741, 0x03122e8a, 0x001ad6f3}}}, + {X: Field{[10]uint32{0x03e4f8b3, 0x01a95296, 0x00cb97b7, 0x0014dac8, 0x0019be46, 0x01565b42, 0x01e257ee, 0x037d9d44, 0x0029325a, 0x003a462a}}, Y: Field{[10]uint32{0x032fa8ae, 0x032481f3, 0x00ebfa9d, 0x03bc0ffc, 0x01b70af0, 0x00846705, 0x03a8f0d1, 0x014b0f86, 0x00a0b461, 0x0006a4bc}}}, + {X: Field{[10]uint32{0x01b9b079, 0x032533d0, 0x015d1e3f, 0x01f4b3a8, 0x01c346c9, 0x038c2720, 0x02dd2e3b, 0x0292e7a4, 0x0203d4f3, 0x0021dc36}}, Y: Field{[10]uint32{0x03123c03, 0x03a10b6a, 0x0005a10c, 0x01847ed4, 0x0053f964, 0x013d5feb, 0x01372fe6, 0x00f55c63, 0x030fdc63, 0x00340950}}}, + {X: Field{[10]uint32{0x00d8b22b, 0x012ab56b, 0x03ea1731, 0x01c318a0, 0x01a6589f, 0x02ef00e7, 0x026a57f6, 0x00955ec4, 0x013fae2b, 0x0031ad2b}}, Y: Field{[10]uint32{0x00d29bfe, 0x006bfeb6, 0x036fb46e, 0x023b3cf1, 0x0385f288, 0x01270e37, 0x01f278de, 0x00d048d7, 0x01cd2c1c, 0x003a148f}}}, + {X: Field{[10]uint32{0x03a86e14, 0x0232dc0d, 0x039689c8, 0x006c786a, 0x01462274, 0x03e1c586, 0x03b1e91f, 0x03e610dc, 0x01486ffb, 0x0026b3b6}}, Y: Field{[10]uint32{0x00b352d9, 0x01fd6482, 0x012cde8e, 0x03b29aa1, 0x0316e1e7, 0x02527074, 0x003cc321, 0x00c77ffd, 0x031f1b4c, 0x0035e9fa}}}, + {X: Field{[10]uint32{0x039007f3, 0x0153d7c6, 0x0322b87c, 0x015780e2, 0x01b08bf0, 0x03a2b29a, 0x034015b1, 0x036ad313, 0x036ffccb, 0x002bd454}}, Y: Field{[10]uint32{0x03130f7b, 0x03e12791, 0x027ef00c, 0x02ddc0e8, 0x00cbe813, 0x02ec74c2, 0x03fa85ba, 0x01fb3d27, 0x034c95c0, 0x002daec2}}}, + {X: Field{[10]uint32{0x01823ce2, 0x00bb94c4, 0x00c3e5bb, 0x03e8608e, 0x0156e02f, 0x01707249, 0x0045a092, 0x02aed5bf, 0x02df3ea0, 0x003b14c1}}, Y: Field{[10]uint32{0x01ee8b99, 0x004a100b, 0x009f6898, 0x02ff6507, 0x009457f4, 0x00f242f6, 0x00653524, 0x0197d060, 0x01b6720f, 0x00325433}}}, + {X: Field{[10]uint32{0x032d90a0, 0x0366ebb9, 0x00d876c5, 0x02320779, 0x03587f46, 0x024590d8, 0x0397ecd5, 0x01ef1868, 0x00a5be12, 0x000a4ec7}}, Y: Field{[10]uint32{0x0235d821, 0x01bdd36e, 0x0261bae2, 0x0090f463, 0x010443a5, 0x01d9218f, 0x03d81d91, 0x027c17a4, 0x030f238e, 0x00120840}}}, + {X: Field{[10]uint32{0x00865488, 0x007d21ad, 0x003c1256, 0x01088bbe, 0x00168771, 0x01a2ff04, 0x0151f0ee, 0x01aadaca, 0x037d9987, 0x003af952}}, Y: Field{[10]uint32{0x01381c07, 0x01bbae1b, 0x03c47924, 0x02835206, 0x0158d84f, 0x02090bd4, 0x0299d91b, 0x0200bfe9, 0x011ccaf8, 0x000a8759}}}, + {X: Field{[10]uint32{0x0064acdc, 0x03671a4d, 0x019dfd38, 0x00951174, 0x0133ac83, 0x00a74366, 0x0220109b, 0x035a6fb4, 0x01233ab0, 0x00223ddd}}, Y: Field{[10]uint32{0x03276702, 0x00a0b2f2, 0x00d5b79a, 0x01651670, 0x038e0590, 0x03b1afaf, 0x02a2cb1a, 0x017bd4c7, 0x0122fbd9, 0x0023e454}}}, + {X: Field{[10]uint32{0x02b3bb01, 0x005cd668, 0x0039fb81, 0x02e5ba51, 0x03c7fa40, 0x03afa5e5, 0x036cfa08, 0x00376276, 0x013de721, 0x0007611d}}, Y: Field{[10]uint32{0x01f41ad6, 0x029e187c, 0x0260dabf, 0x00ce7cd0, 0x012e889c, 0x01503121, 0x000b6d6f, 0x029361d1, 0x035aba53, 0x003dcd82}}}, + {X: Field{[10]uint32{0x011d4b2f, 0x033bed4c, 0x01e1c27f, 0x00f979d0, 0x0336f82a, 0x02ce2338, 0x01ae032c, 0x020b073c, 0x01f5176f, 0x000679a7}}, Y: Field{[10]uint32{0x03d5c143, 0x016ee9b2, 0x016e00b9, 0x02bd6ed2, 0x0309d9f7, 0x030745ec, 0x0175dc8c, 0x014efaf8, 0x00fec9ba, 0x0031007d}}}, + {X: Field{[10]uint32{0x02e3f2c9, 0x00d5332b, 0x0372953d, 0x01790ab7, 0x0119b04f, 0x01fca6a9, 0x01a93995, 0x0097ff7c, 0x0202c1f1, 0x001cc627}}, Y: Field{[10]uint32{0x0137f704, 0x00270069, 0x01424010, 0x00710407, 0x00d901de, 0x0390180e, 0x01d21b01, 0x01f3e188, 0x008f1c6e, 0x0014ae3a}}}, + {X: Field{[10]uint32{0x0087a74f, 0x0095ba4a, 0x0366901c, 0x02c296b9, 0x03278fd2, 0x01d1fc74, 0x038956cb, 0x02a2fd4b, 0x00828ff1, 0x00317af8}}, Y: Field{[10]uint32{0x01259860, 0x03c736f3, 0x033823ef, 0x0075b026, 0x02c506e5, 0x035cdad7, 0x0397dc92, 0x012e606a, 0x00b962e7, 0x00033963}}}, + {X: Field{[10]uint32{0x0182da76, 0x02815892, 0x01166435, 0x019f20ee, 0x011a7808, 0x02f220f5, 0x016feed3, 0x0038050a, 0x0221f799, 0x001e0f05}}, Y: Field{[10]uint32{0x0236da30, 0x0158f862, 0x03bc622f, 0x01d2f57f, 0x01f52245, 0x03ae0067, 0x0165c3e8, 0x02271a71, 0x03e2c9a1, 0x0000dc2c}}}, + {X: Field{[10]uint32{0x022b3305, 0x0267dbfe, 0x015794d7, 0x032cb1c7, 0x01fad66f, 0x0294dc87, 0x024cbd64, 0x01a9185c, 0x02800ccc, 0x0015579f}}, Y: Field{[10]uint32{0x004e9e41, 0x036980fd, 0x030eb63b, 0x00242cc9, 0x02db9b48, 0x023f9b75, 0x035ed312, 0x01c10863, 0x0165d39d, 0x0019eefc}}}, + {X: Field{[10]uint32{0x00243471, 0x0084e950, 0x0150a4b0, 0x02932b37, 0x030faa40, 0x010b1ac6, 0x028467e2, 0x0351b3c7, 0x0226ab1c, 0x00103126}}, Y: Field{[10]uint32{0x03dadf86, 0x0204fd8b, 0x0296bdc2, 0x00c19fd3, 0x03ad55bf, 0x00d08930, 0x039fdb4c, 0x0188bf82, 0x03005002, 0x0005a542}}}, + {X: Field{[10]uint32{0x03935298, 0x02d8bdb5, 0x021627c8, 0x009835df, 0x02473062, 0x0164f1d1, 0x0010b9f5, 0x02346272, 0x03e5db09, 0x003adace}}, Y: Field{[10]uint32{0x015c5bc8, 0x01d3c380, 0x022fb9bd, 0x01c512f8, 0x00c84e96, 0x00073b72, 0x01902317, 0x01bd707e, 0x01843f35, 0x000f4a55}}}, + {X: Field{[10]uint32{0x02b26091, 0x019c3397, 0x03ca903f, 0x00da6813, 0x03a06835, 0x034186d4, 0x020a0734, 0x0305a472, 0x00a42b55, 0x0005dc86}}, Y: Field{[10]uint32{0x03a5fa42, 0x02da432c, 0x00f4eced, 0x01c9d67c, 0x02057e0e, 0x017a2e5e, 0x017f243e, 0x02f1cddc, 0x021aa8a3, 0x00258459}}}, + {X: Field{[10]uint32{0x03d2a680, 0x020e99e3, 0x02be37f8, 0x018a2c1f, 0x02ea0c37, 0x009f099e, 0x0028c001, 0x017e29f4, 0x03a2f3bc, 0x002106a3}}, Y: Field{[10]uint32{0x012cf1b0, 0x00b53cd1, 0x0289d9a4, 0x02313e6e, 0x00052693, 0x0236ef73, 0x00577128, 0x007dde80, 0x037db2fd, 0x0015e6fc}}}, + {X: Field{[10]uint32{0x02dea82d, 0x0142985b, 0x01691322, 0x02735f94, 0x00358578, 0x00e6714f, 0x001421da, 0x01fc7b20, 0x01543a37, 0x002c07bd}}, Y: Field{[10]uint32{0x01a90265, 0x000802c9, 0x009eb962, 0x0347998e, 0x0082e119, 0x01e8dfc5, 0x03626a00, 0x02cbc4eb, 0x00e97e29, 0x000a3cc3}}}, + {X: Field{[10]uint32{0x00f38904, 0x006c2b01, 0x029a6259, 0x01f02ce2, 0x00ba344e, 0x03e32646, 0x02e70d6e, 0x03190c5f, 0x014e8e3c, 0x002e4f80}}, Y: Field{[10]uint32{0x000ac3d3, 0x027f2549, 0x001f72b2, 0x03b702b8, 0x00d0b368, 0x00bfe26d, 0x03152e10, 0x034431af, 0x01855bdf, 0x00004a70}}}, + {X: Field{[10]uint32{0x03acd522, 0x02fd5201, 0x0137305f, 0x031a2b20, 0x01a00601, 0x01b58c62, 0x000a1dd2, 0x00366bfe, 0x02f243c5, 0x00383d09}}, Y: Field{[10]uint32{0x02b749fc, 0x0035c177, 0x02d1e143, 0x00abac92, 0x021c1938, 0x033ce70a, 0x00bd848c, 0x037178c1, 0x03e0951a, 0x0025b620}}}, + {X: Field{[10]uint32{0x0073233c, 0x03aa6de7, 0x03df2147, 0x0052ceee, 0x00d5379f, 0x00ee7b01, 0x030adda6, 0x025eb4a1, 0x007440e8, 0x003847a7}}, Y: Field{[10]uint32{0x01c1f019, 0x03c2881b, 0x016c5cb9, 0x013767cf, 0x01e125e3, 0x0388b8d6, 0x01a9df03, 0x01d4c8fd, 0x014b2919, 0x001275b9}}}, + {X: Field{[10]uint32{0x016b2c2b, 0x03d9e9ea, 0x0191c79c, 0x01c26b11, 0x02ae38ee, 0x00009f30, 0x0396eca2, 0x03c514ed, 0x004b0c5e, 0x00246b56}}, Y: Field{[10]uint32{0x030bac2a, 0x030729d4, 0x001e23e9, 0x025fb3a1, 0x01565dfd, 0x017670f1, 0x0379e5db, 0x0314c447, 0x0213a620, 0x00360568}}}, + {X: Field{[10]uint32{0x0299f8d2, 0x01011850, 0x033dabfe, 0x00708c0f, 0x01103297, 0x02cc8bcd, 0x0013785c, 0x00d3c81d, 0x0392f4fa, 0x000f9c94}}, Y: Field{[10]uint32{0x0308ae85, 0x0088f95d, 0x0039e042, 0x015de256, 0x014e0c1d, 0x0241fbe9, 0x01482176, 0x03bb57cd, 0x02515add, 0x00238c8e}}}, + {X: Field{[10]uint32{0x01a98160, 0x03d5e411, 0x039bced4, 0x026e6808, 0x0191d911, 0x02a18fcd, 0x03c00acf, 0x0226ad20, 0x02c201a5, 0x0017a1ef}}, Y: Field{[10]uint32{0x02e7d47b, 0x009408fc, 0x032633a8, 0x00734335, 0x0233625f, 0x03f0e69b, 0x02f3c159, 0x01707e7a, 0x038433c7, 0x002a228e}}}, + {X: Field{[10]uint32{0x0268a0ed, 0x03e87234, 0x00f32489, 0x003b494b, 0x01da1826, 0x013a6642, 0x01cb6524, 0x00ecd5d2, 0x02132cb9, 0x0030b821}}, Y: Field{[10]uint32{0x008a5761, 0x00360aa3, 0x007644ed, 0x01934169, 0x0328e02e, 0x015381dc, 0x03038d68, 0x00d97751, 0x03ad1f16, 0x0034fcb8}}}, + {X: Field{[10]uint32{0x031978af, 0x005ee9c3, 0x0025c745, 0x034392e4, 0x023b9053, 0x0077650c, 0x02193c23, 0x0261a5ec, 0x005eccf0, 0x00264c13}}, Y: Field{[10]uint32{0x009dc789, 0x00066a88, 0x02111338, 0x03cc7836, 0x00ba1324, 0x00f74128, 0x03e77e34, 0x004e59bd, 0x027b638b, 0x003b9dfe}}}, + {X: Field{[10]uint32{0x00c5c6bc, 0x004c8aad, 0x02b1d1c2, 0x000d9435, 0x0325a79f, 0x027be256, 0x01f04f70, 0x03ecdd94, 0x00c559ad, 0x00103842}}, Y: Field{[10]uint32{0x039db653, 0x039192d9, 0x02b2cfc5, 0x02ae8253, 0x00210eb2, 0x011ffbd1, 0x02ff3f8c, 0x03992212, 0x03385733, 0x0022602a}}}, + {X: Field{[10]uint32{0x00c6a78a, 0x03ab3722, 0x01aca5bb, 0x037725c4, 0x006d6276, 0x03d4237d, 0x00315287, 0x001c8483, 0x02572d19, 0x00263220}}, Y: Field{[10]uint32{0x01a61c92, 0x0399dad0, 0x03256f3e, 0x003b8230, 0x00b57f27, 0x0341443a, 0x02ea7f48, 0x017fef44, 0x01761f5c, 0x001746aa}}}, + {X: Field{[10]uint32{0x00af6fed, 0x036ac818, 0x03740c05, 0x002601bf, 0x02d7b4cf, 0x005b0deb, 0x00eeab7a, 0x008c1ae1, 0x027a25e9, 0x000e26ae}}, Y: Field{[10]uint32{0x0065707e, 0x003b3db4, 0x01c13d6f, 0x00dcd7d8, 0x0049c326, 0x004aca64, 0x032ed608, 0x038ba34d, 0x00c9ec48, 0x0019ceac}}}, + {X: Field{[10]uint32{0x0253df17, 0x014fbab2, 0x03732614, 0x02ab94e6, 0x026619ea, 0x017c46ce, 0x02fda62e, 0x0255ba4f, 0x03ba832c, 0x00277193}}, Y: Field{[10]uint32{0x005990ac, 0x02ebf6bd, 0x0089f956, 0x0326520e, 0x038f60a9, 0x0228d63b, 0x0267ad8d, 0x02ac4290, 0x00a93c56, 0x000602ce}}}, + {X: Field{[10]uint32{0x024921f7, 0x0270557f, 0x008a9675, 0x00334f54, 0x03b3439b, 0x02d9c1ea, 0x003528b8, 0x030b0d88, 0x0218e758, 0x001c4463}}, Y: Field{[10]uint32{0x02104ee0, 0x01e78a2a, 0x0000b5ec, 0x03df8732, 0x0176bf22, 0x0046d4b4, 0x0108719f, 0x013a7192, 0x02f12c1b, 0x0030bd86}}}, + {X: Field{[10]uint32{0x02c3d096, 0x02ecaa0f, 0x0224245c, 0x008d94c6, 0x0146218b, 0x02b717f4, 0x00e09909, 0x03cf1249, 0x01ee11b9, 0x000cef3b}}, Y: Field{[10]uint32{0x00fbad0a, 0x0015f56b, 0x03e9d655, 0x023578c5, 0x03f83b3e, 0x011a53f6, 0x01a71f6f, 0x0319ce50, 0x011a6c22, 0x00057d2f}}}, + {X: Field{[10]uint32{0x0213ccb4, 0x02c83713, 0x031d0e66, 0x0101d661, 0x01fbd977, 0x00bf6e95, 0x021e5cb6, 0x03a7c7c5, 0x033a4ab5, 0x0012d666}}, Y: Field{[10]uint32{0x023fb523, 0x020a6752, 0x034232b1, 0x0268b1b7, 0x006c9601, 0x02cd0851, 0x03064119, 0x009cae2d, 0x01da9035, 0x0018d40e}}}, + {X: Field{[10]uint32{0x01269d10, 0x010d96c8, 0x03627569, 0x0368d7a5, 0x02decb8d, 0x0144d809, 0x038f6429, 0x0132a506, 0x034cdae5, 0x00067daf}}, Y: Field{[10]uint32{0x033c95d7, 0x024b1933, 0x03f3da1c, 0x01ad8274, 0x036cb31a, 0x02c9d40b, 0x00bca48d, 0x001b7099, 0x03dc090b, 0x0028930f}}}, + {X: Field{[10]uint32{0x0301314c, 0x03751bc6, 0x0267a058, 0x01d6c5de, 0x028a2708, 0x02b41ceb, 0x0229adf7, 0x034537d9, 0x01a98027, 0x002f0f7c}}, Y: Field{[10]uint32{0x008d1f76, 0x02cc2ae0, 0x005e7b6b, 0x0195dc1d, 0x01934450, 0x03645462, 0x0233e898, 0x00741cbb, 0x029154f5, 0x0026774e}}}, + {X: Field{[10]uint32{0x01d72c3c, 0x012a795f, 0x0285e1ea, 0x00793768, 0x02c34ef3, 0x0306b97d, 0x025f5b5a, 0x01c3a134, 0x0264521a, 0x0025de90}}, Y: Field{[10]uint32{0x039f5a0c, 0x03a6ca8a, 0x0041b4fc, 0x01a0cb87, 0x01dbf44f, 0x03500ff2, 0x0025b61c, 0x00bf9341, 0x00197aab, 0x003c6ff2}}}, + {X: Field{[10]uint32{0x01c9b339, 0x004b1a43, 0x01b47a1c, 0x0044f89c, 0x00098b26, 0x02b71ec7, 0x014a7f58, 0x01694cfb, 0x024a85fc, 0x0017f7f7}}, Y: Field{[10]uint32{0x02c6555a, 0x0113d245, 0x02b1ce97, 0x0222cbdb, 0x01731c25, 0x01bec92e, 0x011bad52, 0x02539825, 0x03afbd6a, 0x000fb7ca}}}, + {X: Field{[10]uint32{0x01e9c50d, 0x000508fa, 0x007476ce, 0x02fe089a, 0x00afc17a, 0x03edf6e3, 0x02c1ac50, 0x022bf3ba, 0x032cdcd2, 0x002e2f35}}, Y: Field{[10]uint32{0x03c55e9d, 0x01144940, 0x026dbf2c, 0x038da9d5, 0x039cb6d0, 0x01dc694f, 0x03d9f2f3, 0x03015e6e, 0x03c52e6d, 0x0002098c}}}, + {X: Field{[10]uint32{0x01f75c77, 0x02290700, 0x01c728be, 0x03a769cd, 0x01721bc2, 0x03a51959, 0x01d01eb6, 0x030def19, 0x0199133b, 0x001b082e}}, Y: Field{[10]uint32{0x00b71e53, 0x037c4550, 0x03f20cf6, 0x0129e717, 0x015e36f4, 0x0296b91d, 0x0342aa47, 0x000db897, 0x0274d8ad, 0x000832bd}}}, + {X: Field{[10]uint32{0x015adb07, 0x03246b4c, 0x03a7022b, 0x03e858ed, 0x03f877b5, 0x00ba4677, 0x00e4bf2f, 0x017c54e7, 0x01416965, 0x002ef924}}, Y: Field{[10]uint32{0x03f93a1e, 0x01dba732, 0x036ac40f, 0x01fc3b21, 0x01a77b84, 0x02e3f029, 0x02b5ff6d, 0x0348f231, 0x00256618, 0x002334f8}}}, + {X: Field{[10]uint32{0x01e73786, 0x00531a19, 0x00c752fe, 0x02bb4e60, 0x03bf6dfe, 0x015905cd, 0x0339bbbc, 0x01d2fc1f, 0x0078e383, 0x001d22cc}}, Y: Field{[10]uint32{0x02811ac8, 0x032533ca, 0x02eb28f3, 0x02c18a5e, 0x03ea86b6, 0x005ff211, 0x01f2c802, 0x037e891c, 0x020a61a7, 0x001fdf2b}}}, + {X: Field{[10]uint32{0x0364e4b4, 0x03522fb1, 0x000bcd23, 0x024b414b, 0x005d39d5, 0x009cb3da, 0x015728b2, 0x00956518, 0x03c5b89a, 0x003e98f1}}, Y: Field{[10]uint32{0x00a47c8a, 0x01f5a4a3, 0x01d31fbe, 0x035972d3, 0x01804724, 0x0359f410, 0x0238a506, 0x02758387, 0x03a27751, 0x003130ca}}}, + {X: Field{[10]uint32{0x0056c91c, 0x014e1c73, 0x024446c9, 0x02c1c38f, 0x0386978e, 0x02520c52, 0x025ea13d, 0x038e028d, 0x0197d014, 0x0030bb5c}}, Y: Field{[10]uint32{0x026a595e, 0x03700791, 0x0007009b, 0x02ddcdf7, 0x033404bd, 0x022e6c3e, 0x0054a09d, 0x033463de, 0x0293e7c1, 0x00171cf0}}}, + {X: Field{[10]uint32{0x03c266be, 0x03fa1c9b, 0x03ab5f22, 0x00130367, 0x026c2b3a, 0x03cfa001, 0x0334e846, 0x002f5b0b, 0x01efcb1e, 0x00094530}}, Y: Field{[10]uint32{0x024e3eb3, 0x007b2531, 0x01ad069a, 0x0376333e, 0x02507c35, 0x017d9bb1, 0x00443466, 0x02cb67fe, 0x006c07bb, 0x0031682b}}}, + {X: Field{[10]uint32{0x02286350, 0x01bbe513, 0x0081df6b, 0x03ff25a8, 0x00e2318b, 0x028e10f2, 0x01d2e289, 0x011fc963, 0x03050116, 0x0016f01f}}, Y: Field{[10]uint32{0x03bcbea4, 0x03e16afa, 0x02c66a41, 0x01947844, 0x017a91c4, 0x0096136d, 0x007d059f, 0x03bc1236, 0x00931217, 0x00084f38}}}, + {X: Field{[10]uint32{0x023cad8a, 0x0285cc66, 0x03dd8862, 0x00d7da80, 0x03db9c13, 0x01eb9193, 0x0173f706, 0x016c0e29, 0x02429737, 0x003b6d5b}}, Y: Field{[10]uint32{0x01ef5fa7, 0x01111fc5, 0x01f2e531, 0x014c7660, 0x00358620, 0x009bcef9, 0x038414a4, 0x03551986, 0x027016f8, 0x0034f986}}}, + {X: Field{[10]uint32{0x03d5d732, 0x0323675c, 0x03d55817, 0x023b435d, 0x02684908, 0x0380a191, 0x03609982, 0x019204ef, 0x036e7826, 0x000a4949}}, Y: Field{[10]uint32{0x0287296f, 0x004ff926, 0x02d22622, 0x004c8375, 0x0184b332, 0x02ec33b8, 0x032d755d, 0x0262773a, 0x03a6a97c, 0x003d4c55}}}, + {X: Field{[10]uint32{0x03c0a034, 0x039027a6, 0x0337fa69, 0x01e70ebe, 0x01912863, 0x00dc067a, 0x02098829, 0x03d294dc, 0x01d5bda0, 0x000b115e}}, Y: Field{[10]uint32{0x02f7d99c, 0x032a4d17, 0x0315c336, 0x019ec6e6, 0x02a319d4, 0x00c41ef2, 0x01acd23f, 0x030f1195, 0x034dd889, 0x0038542f}}}, + {X: Field{[10]uint32{0x00808904, 0x0221516a, 0x00b3d056, 0x02e109a6, 0x02025f21, 0x02bcc60c, 0x02295870, 0x03e1daef, 0x020011f9, 0x0017c982}}, Y: Field{[10]uint32{0x02e02350, 0x01cea263, 0x03a9b534, 0x013b60e8, 0x01736fe6, 0x001bab0f, 0x00d2ce00, 0x02a87de9, 0x0232164c, 0x001ab4ce}}}, + {X: Field{[10]uint32{0x02ac4b8b, 0x016935ed, 0x011000d6, 0x01a7a221, 0x029d1f2c, 0x00fecf5a, 0x02fd430f, 0x017b2414, 0x00c61209, 0x000eeeef}}, Y: Field{[10]uint32{0x010b0c97, 0x03e7ea95, 0x019487e4, 0x032ea8ed, 0x0240d244, 0x03256076, 0x01b090f8, 0x029b9f6d, 0x00283846, 0x0000ca3a}}}, + {X: Field{[10]uint32{0x016acff0, 0x02e76065, 0x0117daff, 0x032998b6, 0x02343e80, 0x03088bd2, 0x009af44b, 0x0363bffb, 0x027bdd0f, 0x00126140}}, Y: Field{[10]uint32{0x038affda, 0x005b088e, 0x0065468c, 0x0053fa05, 0x03460b10, 0x009c5a88, 0x01561b5f, 0x01b904c1, 0x012e37a3, 0x00162fbf}}}, + {X: Field{[10]uint32{0x03959de7, 0x0098f559, 0x0359b92e, 0x03300386, 0x006e826e, 0x000ecf73, 0x01eb2d88, 0x0022466d, 0x00e8d2e3, 0x0008518e}}, Y: Field{[10]uint32{0x0232342a, 0x0350793d, 0x03dd8ad9, 0x03c72379, 0x02dc22c0, 0x03d7f270, 0x02e0454f, 0x0078a4d6, 0x01216f13, 0x00027762}}}, + {X: Field{[10]uint32{0x02f3cfdd, 0x00013db9, 0x01f35444, 0x0041a455, 0x016876c1, 0x0197828c, 0x023532b9, 0x00b5abcf, 0x03055ced, 0x001b3b61}}, Y: Field{[10]uint32{0x02546ec6, 0x03ad5bdf, 0x00ac0a83, 0x000665ff, 0x0355b17c, 0x0079abb9, 0x03ba4e2a, 0x0155be2d, 0x02abc86f, 0x003d46c6}}}, + {X: Field{[10]uint32{0x01dcfacb, 0x007221b2, 0x0172730a, 0x03901086, 0x017fc3ad, 0x0216746b, 0x02634987, 0x024db38c, 0x0267876c, 0x0025405b}}, Y: Field{[10]uint32{0x02f4f660, 0x02ece49a, 0x03160742, 0x00bcb90f, 0x034df723, 0x004016ea, 0x03d284b8, 0x019bbbfe, 0x00c4e6e2, 0x000a679e}}}, + {X: Field{[10]uint32{0x026f23f2, 0x0054c67b, 0x00763513, 0x003e76cc, 0x00c513d2, 0x030e633c, 0x02a8019f, 0x0070e710, 0x02c83040, 0x0012fb19}}, Y: Field{[10]uint32{0x038514fc, 0x02c9cd64, 0x003d58e8, 0x028550ff, 0x034fcded, 0x0224a718, 0x01aa9162, 0x0118261c, 0x02923b7d, 0x003c77ff}}}, + {X: Field{[10]uint32{0x008a59c7, 0x03b69e21, 0x03bb27f3, 0x03bd6ac9, 0x019088c4, 0x00394eb9, 0x000015a6, 0x00ee5dab, 0x03d14051, 0x002d4144}}, Y: Field{[10]uint32{0x01c36399, 0x016252e6, 0x0084129a, 0x0326999d, 0x01dc9282, 0x02de1b33, 0x03254c51, 0x039b08fe, 0x02e51182, 0x00271072}}}, + {X: Field{[10]uint32{0x0290708d, 0x005564ed, 0x00c003e4, 0x01149bcc, 0x01d1df38, 0x02a482b2, 0x029bda38, 0x0280e5a9, 0x02533989, 0x00165e49}}, Y: Field{[10]uint32{0x02ba648f, 0x03b40bc6, 0x00bab3a3, 0x02ce5eb9, 0x034c750c, 0x027b99cd, 0x02561921, 0x021f6d79, 0x00b72748, 0x001fcb05}}}, + {X: Field{[10]uint32{0x01eacf6f, 0x00dc1581, 0x02dd34db, 0x03e4fb05, 0x01251cc7, 0x0245b599, 0x00fe2b3e, 0x00aa4d1e, 0x0366cf01, 0x001ee8ad}}, Y: Field{[10]uint32{0x016404bb, 0x02cc47e1, 0x02a6903f, 0x0230b212, 0x003dcc7e, 0x03a2f745, 0x01212865, 0x01e630dc, 0x0138f950, 0x00053f62}}}, + {X: Field{[10]uint32{0x02b5d6bb, 0x00f7e6fa, 0x013a71c4, 0x008959af, 0x017f9e9d, 0x027a0e73, 0x0147af8a, 0x024367f2, 0x02fef69c, 0x000c18bc}}, Y: Field{[10]uint32{0x02f5ee58, 0x025caf01, 0x02bbaad9, 0x0350868d, 0x02064047, 0x0364a9c5, 0x01e7b719, 0x01b505ff, 0x00334991, 0x0036e12a}}}, + {X: Field{[10]uint32{0x00b06e74, 0x0230bf55, 0x00ce3db3, 0x021f8c9f, 0x00f6fae6, 0x02d119c0, 0x034d695c, 0x03b229df, 0x009d69db, 0x003b57e5}}, Y: Field{[10]uint32{0x018930e3, 0x00bfafcb, 0x019fdee6, 0x008fc566, 0x032a6907, 0x026542f2, 0x0104ff92, 0x00f54194, 0x0060057b, 0x0011c938}}}, + {X: Field{[10]uint32{0x021b7cdc, 0x01c39181, 0x028d3d71, 0x01427af5, 0x0030e129, 0x01ab3004, 0x01312fea, 0x0209d83a, 0x02033002, 0x00135957}}, Y: Field{[10]uint32{0x00ea99bb, 0x03b948c4, 0x00d0b7bc, 0x02789e33, 0x00439957, 0x027a5fc1, 0x01e046b6, 0x01526cbd, 0x01226c27, 0x00243bf0}}}, + {X: Field{[10]uint32{0x02f1b35d, 0x019beaba, 0x0260dbf1, 0x02030d46, 0x0368e05e, 0x0120fe56, 0x029edf4a, 0x03bfb342, 0x0356b888, 0x003dad81}}, Y: Field{[10]uint32{0x00a5fb8c, 0x008a8f4e, 0x01df6bfd, 0x023c2f39, 0x00cb57e9, 0x02bebe6c, 0x0096b241, 0x005611aa, 0x02bdaa78, 0x0009efb7}}}, + {X: Field{[10]uint32{0x03c55748, 0x00c06228, 0x00b516ca, 0x00e23f1f, 0x008c81c5, 0x0235ba8b, 0x004db945, 0x0288ddcb, 0x00aa942b, 0x0033164b}}, Y: Field{[10]uint32{0x03288158, 0x0144b476, 0x0307c63d, 0x02c75900, 0x01bb6bd2, 0x00d870fc, 0x0277d100, 0x015820db, 0x03cd358e, 0x000db8bd}}}, + {X: Field{[10]uint32{0x02c1a456, 0x0280cbfd, 0x00edf6a7, 0x01865db4, 0x00f93721, 0x03b7d0c1, 0x023acb8c, 0x011a6086, 0x01dca5bb, 0x0012b2ea}}, Y: Field{[10]uint32{0x02262437, 0x0393a154, 0x021669ca, 0x00aa5cbc, 0x01d6fb30, 0x02ef40b3, 0x032287e9, 0x011fccf9, 0x003ab2ab, 0x002cdba6}}}, + {X: Field{[10]uint32{0x03061f91, 0x011b76fa, 0x0072d974, 0x00f612a5, 0x017be363, 0x02e73a58, 0x010e0c61, 0x01e74cad, 0x005e0422, 0x00322946}}, Y: Field{[10]uint32{0x03d4b5cb, 0x02348b66, 0x000ff3c3, 0x0347fd97, 0x01cdb7cb, 0x019a3bac, 0x00c1df74, 0x00626f59, 0x00b7445e, 0x0033ea94}}}, + {X: Field{[10]uint32{0x035f18f9, 0x02c41074, 0x0120e052, 0x002197e3, 0x01535faf, 0x0277842b, 0x01168a88, 0x03d844d9, 0x016707f4, 0x00307255}}, Y: Field{[10]uint32{0x00033749, 0x02ae5052, 0x027eb537, 0x0384dc23, 0x02543919, 0x015bd11c, 0x02fc1eb9, 0x01ad8c26, 0x003b3d95, 0x000d3def}}}, + {X: Field{[10]uint32{0x0236a8f3, 0x006b9474, 0x038fa8df, 0x01a3cf87, 0x028bb68d, 0x00fdf495, 0x02093703, 0x01cdbad2, 0x03b736f6, 0x00237d3e}}, Y: Field{[10]uint32{0x0102122c, 0x01ddd917, 0x00c81229, 0x03ddc1dc, 0x00cef6b0, 0x006ece14, 0x007af267, 0x00b400e6, 0x01fe8e9a, 0x000f5c61}}}, + {X: Field{[10]uint32{0x025af3dd, 0x02a979aa, 0x00297c2b, 0x02db47af, 0x01c2c8bb, 0x011d4047, 0x02a1ec0c, 0x01f2e3ca, 0x01f0e35c, 0x0000358d}}, Y: Field{[10]uint32{0x03a51a2f, 0x01a00f1e, 0x006435e3, 0x0264614f, 0x03441e5a, 0x0241eb97, 0x0190a5b5, 0x03a2cc6a, 0x02bdc588, 0x0000249b}}}, + {X: Field{[10]uint32{0x0346a4bc, 0x0181c802, 0x01923d64, 0x0097a2d4, 0x013678b5, 0x0038e381, 0x014ea383, 0x014dd5d4, 0x012d5f86, 0x0002d634}}, Y: Field{[10]uint32{0x03438d3e, 0x01121041, 0x037f648e, 0x0103a920, 0x00d77c9e, 0x0265702d, 0x01d587ce, 0x02eace4d, 0x01835b0e, 0x003ded64}}}, + {X: Field{[10]uint32{0x029a7f36, 0x029db6f6, 0x0178011b, 0x014d9187, 0x0212cb42, 0x01e3a26b, 0x03ad0755, 0x00d903b3, 0x028cb401, 0x002edf1a}}, Y: Field{[10]uint32{0x0036581c, 0x00836852, 0x00ba7d1c, 0x0100c1b7, 0x023c2f5c, 0x01c20a56, 0x0195b835, 0x035861a2, 0x02583774, 0x001f7680}}}, + {X: Field{[10]uint32{0x0114a9e6, 0x00eca60d, 0x03b91968, 0x0065c8b3, 0x02f116b8, 0x03e96dea, 0x00a990a7, 0x0233be77, 0x00f792cc, 0x00053dbc}}, Y: Field{[10]uint32{0x024d7055, 0x01bc840e, 0x000b97b9, 0x017fc8e0, 0x01226104, 0x02cffb2d, 0x00e5aac4, 0x01663243, 0x03927a07, 0x002230d7}}}, + {X: Field{[10]uint32{0x03448541, 0x02ef39dd, 0x014fa76b, 0x034125ab, 0x02fb60f4, 0x015fd2a8, 0x01ad8964, 0x02846177, 0x01f4eb9f, 0x0012e579}}, Y: Field{[10]uint32{0x01e71d21, 0x01c1b451, 0x038f4d27, 0x0023df8a, 0x01502d1f, 0x0004807b, 0x0087f512, 0x032cc6e8, 0x0387513a, 0x00078401}}}, + {X: Field{[10]uint32{0x024b63ae, 0x032f4a8d, 0x01c16dce, 0x01993617, 0x03a7af53, 0x008cd568, 0x004aa312, 0x016cb18e, 0x03c067f7, 0x003a685f}}, Y: Field{[10]uint32{0x027fb8c7, 0x00302177, 0x01ac1956, 0x01a806d3, 0x030a40e0, 0x00ad806a, 0x038fcf01, 0x01148d8b, 0x0388ad67, 0x00108288}}}, + {X: Field{[10]uint32{0x03ff9169, 0x02b55110, 0x0281cf10, 0x010e0cc6, 0x0096d4ff, 0x0020d04c, 0x023d066c, 0x03b2053b, 0x0136f320, 0x0000e761}}, Y: Field{[10]uint32{0x028ca248, 0x01b8d9f0, 0x023be7a7, 0x00d44e9e, 0x00c74345, 0x00152af4, 0x0166a556, 0x03a26183, 0x01e91478, 0x001c3ba2}}}, + {X: Field{[10]uint32{0x03b636e8, 0x036a8f0b, 0x0320e001, 0x024f127f, 0x029f95b9, 0x00dc7389, 0x031dc72f, 0x0135b2fa, 0x00c80862, 0x0025de68}}, Y: Field{[10]uint32{0x00c2712e, 0x00292ae8, 0x03907d23, 0x03629932, 0x03369684, 0x000de482, 0x01a4b0e6, 0x01b14027, 0x03cc6729, 0x00276789}}}, + {X: Field{[10]uint32{0x02f0b401, 0x022d3ed9, 0x01586bd7, 0x007f4559, 0x034a9747, 0x032bcdbf, 0x01c09de9, 0x02d23da9, 0x004a1dab, 0x00335316}}, Y: Field{[10]uint32{0x033446f1, 0x00cd0449, 0x017f0bc4, 0x03b711d9, 0x026fd60e, 0x02b4b0a3, 0x02104b0c, 0x001b8acf, 0x02b10eff, 0x0025640a}}}, + {X: Field{[10]uint32{0x0161aba4, 0x02afba89, 0x0319688e, 0x01957549, 0x02dbeb3f, 0x01cadddb, 0x03164f7c, 0x018b2d44, 0x01f41423, 0x0011b284}}, Y: Field{[10]uint32{0x0034c9ff, 0x00b13569, 0x022f5e83, 0x01198813, 0x01bcfd09, 0x01898f18, 0x036d3cbd, 0x03510b7e, 0x031a2a2a, 0x00201810}}}, + {X: Field{[10]uint32{0x0294a513, 0x030e7622, 0x003b475a, 0x0395fa3e, 0x01eb712d, 0x0000c688, 0x035c7535, 0x018fd5db, 0x01791ffb, 0x0037faf4}}, Y: Field{[10]uint32{0x03be75de, 0x032c6b71, 0x00f0aa71, 0x00b7b2ca, 0x006576af, 0x03df1843, 0x02aa0e22, 0x02d53081, 0x007e39b2, 0x0033fb5b}}}, + {X: Field{[10]uint32{0x012c2469, 0x00e021d7, 0x03fcfe12, 0x0285e59f, 0x0143daf1, 0x028ee53e, 0x0233d9d7, 0x0018ed11, 0x013282fd, 0x0031c719}}, Y: Field{[10]uint32{0x01d376d0, 0x0346d52a, 0x02ba8620, 0x00d94ab7, 0x00f18a47, 0x00eafa50, 0x01f8aed3, 0x01a840e3, 0x03cd0e00, 0x0018bf35}}}, + {X: Field{[10]uint32{0x00c0ff37, 0x022bbdcd, 0x007b1e9f, 0x0107f059, 0x026864ec, 0x0123edd6, 0x02640fbf, 0x02826938, 0x034ddc8b, 0x0018faee}}, Y: Field{[10]uint32{0x024ae28e, 0x01848176, 0x022df772, 0x013dc671, 0x01dbf1ae, 0x01cd82a1, 0x01090e19, 0x01bd2d07, 0x034b0fe1, 0x00396740}}}, + {X: Field{[10]uint32{0x0112814a, 0x00536e77, 0x000bceea, 0x00709c75, 0x01ce6e5c, 0x006d624b, 0x02eac616, 0x02fc5963, 0x00c8cb51, 0x00194126}}, Y: Field{[10]uint32{0x00a65279, 0x0162be59, 0x01e6ee30, 0x0215c2b5, 0x027a6145, 0x02f57452, 0x0057769b, 0x00064c91, 0x03855d8e, 0x0039f999}}}, + {X: Field{[10]uint32{0x03c43fd5, 0x00896a11, 0x0032ac41, 0x02a10304, 0x00090815, 0x0205b7d1, 0x0199c07b, 0x00218e05, 0x003f14c0, 0x00052878}}, Y: Field{[10]uint32{0x01fe98de, 0x03581bcd, 0x02ddb6d6, 0x00e1414c, 0x024926da, 0x02ee3bd7, 0x0366bac9, 0x02a23d1b, 0x0259bc6b, 0x000d4912}}}, + {X: Field{[10]uint32{0x02903c5c, 0x03d4c56d, 0x00f084d6, 0x0056ef54, 0x03a4f14c, 0x004553ff, 0x00f9a167, 0x0287a03b, 0x02b2f6a8, 0x000727db}}, Y: Field{[10]uint32{0x0203a033, 0x0181974a, 0x0187dd26, 0x00f900be, 0x01538638, 0x0143bba6, 0x026fc511, 0x03fd8e6d, 0x01f52ca4, 0x0039af78}}}, + {X: Field{[10]uint32{0x0170f8bf, 0x03c0863e, 0x029d97cf, 0x006b0381, 0x00b43ea6, 0x02c0355b, 0x00809664, 0x039ec41f, 0x02ed0bad, 0x000779c7}}, Y: Field{[10]uint32{0x00ee1434, 0x01f69986, 0x029bb5c6, 0x0176615d, 0x01ea99d6, 0x02def253, 0x00d42e16, 0x03babb5e, 0x02de77ed, 0x0002352c}}}, + {X: Field{[10]uint32{0x035cb4b1, 0x01baaad7, 0x018c35a9, 0x00e420e3, 0x02479f7a, 0x02eeadc1, 0x022f0628, 0x0134baea, 0x0280ce95, 0x003d10ca}}, Y: Field{[10]uint32{0x02d579bf, 0x0286272f, 0x0302cc67, 0x01dca718, 0x0291f3d0, 0x03f024e0, 0x00abf476, 0x0290300f, 0x02adac34, 0x0025bf9b}}}, + {X: Field{[10]uint32{0x0119fb21, 0x022d7a49, 0x00737482, 0x032b0549, 0x01cb37e1, 0x02109046, 0x023d3f96, 0x012bd158, 0x034d1796, 0x0023dc79}}, Y: Field{[10]uint32{0x004865ab, 0x01e15358, 0x0091cec0, 0x008021a7, 0x025b6b17, 0x02fda51b, 0x03678e4e, 0x03292e9d, 0x00dfd7f0, 0x001a643c}}}, + {X: Field{[10]uint32{0x02a6745e, 0x00671271, 0x001a1200, 0x014b3bdc, 0x005a09d0, 0x025aa0e8, 0x01546e20, 0x03097999, 0x01575e3d, 0x00088a4c}}, Y: Field{[10]uint32{0x01c423b0, 0x01bab639, 0x0285986a, 0x020b7bfa, 0x0283d050, 0x02a5072a, 0x012bfae8, 0x01581f1e, 0x00874258, 0x002ab63e}}}, + {X: Field{[10]uint32{0x0248a096, 0x00ea8abc, 0x017c63b7, 0x01a4eb08, 0x00cc57d0, 0x03989d94, 0x02bf5f29, 0x029a6a05, 0x02632ef3, 0x0019617f}}, Y: Field{[10]uint32{0x00fd9f8b, 0x00dea0db, 0x037cc12f, 0x00ff7847, 0x03dc8a89, 0x01bb3157, 0x019ca577, 0x006bfbb7, 0x03bb2028, 0x002082a8}}}, + {X: Field{[10]uint32{0x03f67bf8, 0x007907e4, 0x01339195, 0x00bf9843, 0x01aaec47, 0x02fc18a0, 0x0163ce5a, 0x01472aca, 0x0079e55c, 0x000888c9}}, Y: Field{[10]uint32{0x03f927d2, 0x016a6efa, 0x0104bb7c, 0x0062a359, 0x02888a8f, 0x0304ca68, 0x03f0514b, 0x00b5ff99, 0x03ab2cf2, 0x0003864b}}}, + {X: Field{[10]uint32{0x01df16fc, 0x01f6c097, 0x00f60826, 0x022dc3a6, 0x00446014, 0x02ce5b25, 0x00aba082, 0x001a7af3, 0x02fde4ba, 0x0036a340}}, Y: Field{[10]uint32{0x023fa2bb, 0x01d80879, 0x034d059a, 0x03422d9b, 0x01579756, 0x01e8b993, 0x0167e7c1, 0x0021291f, 0x013de337, 0x00068c08}}}, + {X: Field{[10]uint32{0x02202ebf, 0x02a7c624, 0x02501708, 0x0249e3b9, 0x01ad49e0, 0x01313a2e, 0x038a0066, 0x020b7bc6, 0x0062854e, 0x0029bdcb}}, Y: Field{[10]uint32{0x01d03ba4, 0x00d54dc0, 0x0037edaa, 0x02246a0e, 0x002e2709, 0x008c63bd, 0x03c56abc, 0x0204102d, 0x032db08c, 0x0020d565}}}, + {X: Field{[10]uint32{0x03c7db68, 0x016b8a8e, 0x028ee8d5, 0x033a67d6, 0x02a15077, 0x00df7315, 0x02f8c359, 0x02168171, 0x013a309e, 0x00081d3f}}, Y: Field{[10]uint32{0x022cff97, 0x0387c20c, 0x0182e53a, 0x03a6baa5, 0x023061a4, 0x001aa605, 0x018fc0e8, 0x00f250b9, 0x02eacb78, 0x00384700}}}, + {X: Field{[10]uint32{0x01a1a5e3, 0x0071431e, 0x0106c861, 0x03cc6098, 0x0229aa59, 0x00a92d8b, 0x00d316f6, 0x02a8adc3, 0x0266fae9, 0x00127b55}}, Y: Field{[10]uint32{0x007643f7, 0x02eb1b20, 0x028b6324, 0x0024aa0d, 0x021477c2, 0x0261a59e, 0x000b19ef, 0x0138af73, 0x009aae14, 0x001729f9}}}, + {X: Field{[10]uint32{0x016c1b1f, 0x004d8897, 0x014683ed, 0x03a63864, 0x01b582c4, 0x00dc88cd, 0x03472a71, 0x0393a617, 0x007ea1f7, 0x0008a27b}}, Y: Field{[10]uint32{0x01cbbeb1, 0x0144b2b6, 0x0090261a, 0x022f5c3a, 0x03b03f89, 0x01ff903d, 0x017bff67, 0x00219c14, 0x0318689a, 0x0000478a}}}, + {X: Field{[10]uint32{0x01859164, 0x0273afe1, 0x00635bc4, 0x014bff1c, 0x03fbed0e, 0x022e8ae8, 0x02c64a55, 0x03befb62, 0x02be23f1, 0x003aa14b}}, Y: Field{[10]uint32{0x01cbb824, 0x02a98d50, 0x00fafc97, 0x01456c97, 0x0125ef13, 0x01e93905, 0x0266583c, 0x0298e5cc, 0x0341fe97, 0x002f78bb}}}, + {X: Field{[10]uint32{0x0302f0ea, 0x026f86f4, 0x018553fe, 0x01f6905e, 0x00290b25, 0x03fbc229, 0x001a9548, 0x01f4fc6b, 0x00e67cc0, 0x0015c63c}}, Y: Field{[10]uint32{0x01acbe90, 0x0103b3da, 0x0094fd4e, 0x02828bae, 0x03a6ffca, 0x019169ab, 0x02d8bd53, 0x0175fb9c, 0x015bfca6, 0x00263b13}}}, + {X: Field{[10]uint32{0x03810a4c, 0x03af6492, 0x01ad550b, 0x00fde033, 0x0310269c, 0x01d51638, 0x00f0650b, 0x03f5f7ba, 0x02abd77a, 0x0037d8a8}}, Y: Field{[10]uint32{0x00e4c034, 0x0120a6c2, 0x028cd54c, 0x023a7f22, 0x008d39fe, 0x022198f8, 0x03ea2e95, 0x0349ee02, 0x02cce384, 0x001a9981}}}, + {X: Field{[10]uint32{0x005e6668, 0x01336ba0, 0x039aa497, 0x003bbf5d, 0x039ea7dc, 0x00254239, 0x039bd198, 0x009a2f0c, 0x00454b0c, 0x0004043f}}, Y: Field{[10]uint32{0x016410e1, 0x0197eafa, 0x0001c3fa, 0x03c674f6, 0x02d51194, 0x01adaf4a, 0x030a323c, 0x02d65cac, 0x02db0681, 0x001a1a8e}}}, + {X: Field{[10]uint32{0x035c5c18, 0x0097b5a7, 0x0087bd54, 0x01101e41, 0x02072ca3, 0x0050524f, 0x03e93c96, 0x00e061a7, 0x00527567, 0x0022b1e6}}, Y: Field{[10]uint32{0x01d1c08e, 0x031cb26f, 0x03cec684, 0x03e67496, 0x00775375, 0x027bc7e4, 0x0172e04b, 0x03219f46, 0x0248fcbf, 0x002ecc50}}}, + {X: Field{[10]uint32{0x03848b9d, 0x0321a48f, 0x021605f9, 0x01340866, 0x036f3f17, 0x017c2b78, 0x01f3bf44, 0x031f3b18, 0x031188cb, 0x001583a5}}, Y: Field{[10]uint32{0x01b9cd2f, 0x003bdb74, 0x02277bc8, 0x022b063b, 0x014d133f, 0x01939ba7, 0x03bf21fc, 0x03319efe, 0x02ce6775, 0x0027a4b6}}}, + {X: Field{[10]uint32{0x01fb943a, 0x0241c03d, 0x009fee6d, 0x00bc1fdc, 0x0028eea5, 0x011a6870, 0x015ca088, 0x03ad9b32, 0x02044b95, 0x00231190}}, Y: Field{[10]uint32{0x009d0223, 0x0049c79a, 0x03aa51a1, 0x009654f0, 0x03a34920, 0x03afa965, 0x01b3a615, 0x014604c0, 0x005d7bc2, 0x002fc43f}}}, + {X: Field{[10]uint32{0x031eb5aa, 0x034730a1, 0x013cb4d8, 0x036be1d1, 0x037f2245, 0x0362c0d9, 0x0377247c, 0x022dc4d4, 0x034cf357, 0x0034a4fd}}, Y: Field{[10]uint32{0x024a6f26, 0x02befb69, 0x03423ba7, 0x0352b8d5, 0x03f080e3, 0x02c24143, 0x0245931e, 0x03a8518f, 0x013a61df, 0x0021b080}}}, + {X: Field{[10]uint32{0x03687d35, 0x02f5d135, 0x02aff4c6, 0x029ccd99, 0x01fefbf7, 0x01dbae4d, 0x027611ec, 0x01ec7f1d, 0x0241ae75, 0x000d665c}}, Y: Field{[10]uint32{0x004b2aa0, 0x013e5bf1, 0x01f9c599, 0x03bf3283, 0x022f36e0, 0x02f4e4f6, 0x007fd357, 0x0335330f, 0x021f246b, 0x002f2fa9}}}, + {X: Field{[10]uint32{0x036464eb, 0x00d8095f, 0x006de15f, 0x0316f678, 0x00285a17, 0x013b8d77, 0x01a0ef84, 0x0065f4f0, 0x00977467, 0x00034258}}, Y: Field{[10]uint32{0x013e8783, 0x012dc2ef, 0x0303cd14, 0x01a67a22, 0x023dd448, 0x01e737a7, 0x02954bfc, 0x036e59a4, 0x02a51e06, 0x000d0abd}}}, + {X: Field{[10]uint32{0x0241a777, 0x03e2632b, 0x01470bfd, 0x025c8e89, 0x01621257, 0x0086c3e1, 0x033a3755, 0x03ab59c0, 0x00992aea, 0x0023a1d7}}, Y: Field{[10]uint32{0x03c0bbd8, 0x01ea625c, 0x010c653f, 0x02187b1b, 0x02a5ee66, 0x00c49eb4, 0x020ba101, 0x0066ec13, 0x033d2d2f, 0x00092a89}}}, + {X: Field{[10]uint32{0x02541855, 0x03786e6b, 0x01aee0d2, 0x0110215a, 0x00d622f4, 0x01cb16ee, 0x02f47d81, 0x00e93347, 0x01f30270, 0x002fd474}}, Y: Field{[10]uint32{0x039aa484, 0x0029c433, 0x0030f3c6, 0x00c510cf, 0x005918d9, 0x024d4f61, 0x01e6e409, 0x002b3eef, 0x0352b6c6, 0x0023e078}}}, + {X: Field{[10]uint32{0x0341c26f, 0x02a35320, 0x03aee696, 0x016db372, 0x022ebb11, 0x0020fbd5, 0x032d1415, 0x01a1588a, 0x00620972, 0x001bedad}}, Y: Field{[10]uint32{0x003c9c73, 0x027c182e, 0x02032a89, 0x00c2eb28, 0x01468f25, 0x015e2e91, 0x02923b3e, 0x03367b32, 0x03bff9cf, 0x0027023d}}}, + {X: Field{[10]uint32{0x03617438, 0x0237d8a4, 0x0389d067, 0x01a1acb3, 0x031db56f, 0x03fc117e, 0x026a21fa, 0x03de35f7, 0x02c18b5c, 0x001d560e}}, Y: Field{[10]uint32{0x0369f900, 0x0240d026, 0x0082df67, 0x00526100, 0x02071fe0, 0x0319a725, 0x0237c7d9, 0x011bfc38, 0x022cb085, 0x00209668}}}, + {X: Field{[10]uint32{0x00c0ef92, 0x023fe72d, 0x00f36cdd, 0x038d8404, 0x014aabc2, 0x006ddba5, 0x0051c893, 0x0166b1fb, 0x0133a5d7, 0x00109846}}, Y: Field{[10]uint32{0x01ed4261, 0x00054748, 0x00bf8783, 0x000c3e67, 0x0158cde4, 0x013ae131, 0x038e2bd5, 0x032f3a8d, 0x00ce6b8a, 0x00222991}}}, + {X: Field{[10]uint32{0x02f520d2, 0x00eb78c2, 0x038458a4, 0x025492eb, 0x016dff9c, 0x01c5af71, 0x02e776ca, 0x03e592f6, 0x01bf6128, 0x00090e9b}}, Y: Field{[10]uint32{0x001b7e50, 0x007c6948, 0x0025d609, 0x01368f64, 0x003dda74, 0x024af7ea, 0x0001850e, 0x036d2341, 0x028a5ce4, 0x00098a8b}}}, + {X: Field{[10]uint32{0x00c2ac76, 0x02c4a476, 0x03d58082, 0x00b169da, 0x0046e57e, 0x01f7c56f, 0x01e9307a, 0x031b4810, 0x01751548, 0x00084af4}}, Y: Field{[10]uint32{0x039391bc, 0x032f5dc1, 0x01aaae33, 0x03d1c66a, 0x0257f04e, 0x022c9020, 0x03cc788a, 0x01c9cc99, 0x03c76cc9, 0x00209186}}}, + {X: Field{[10]uint32{0x0161177b, 0x01f05ad3, 0x021fbc1a, 0x011842f5, 0x008ca8a5, 0x022b83b2, 0x00b3e562, 0x01b4aaa8, 0x030b21f9, 0x00369b40}}, Y: Field{[10]uint32{0x023f9fde, 0x02f6f9cb, 0x03d0a1ce, 0x00787aae, 0x012c2aad, 0x02d27b0a, 0x02b85961, 0x000a1d28, 0x02358fab, 0x0016d6f1}}}, + {X: Field{[10]uint32{0x02c1f01f, 0x027d38fd, 0x0010886a, 0x01fb3fa0, 0x004a4313, 0x03ba923f, 0x001e1012, 0x010ec296, 0x02f055a2, 0x003708c2}}, Y: Field{[10]uint32{0x028180ca, 0x03e80f95, 0x018bb950, 0x02ad805c, 0x012eb5a9, 0x00f5ffbb, 0x030120da, 0x011635c0, 0x021be70a, 0x00343e63}}}, + {X: Field{[10]uint32{0x01089df1, 0x01b412ea, 0x00797dc1, 0x01cbc291, 0x00ee9c59, 0x03c8c9a1, 0x00e73b56, 0x031a1a63, 0x023ac815, 0x0020b0b7}}, Y: Field{[10]uint32{0x03b8573d, 0x018b65e4, 0x02432544, 0x0110b07e, 0x010c8598, 0x007f85e3, 0x0253b8ec, 0x033063e8, 0x0065c6c2, 0x0007211c}}}, + {X: Field{[10]uint32{0x020494a3, 0x01d85278, 0x037f6670, 0x0081a901, 0x02cc439f, 0x0002be26, 0x0165dfa2, 0x0245bb86, 0x028874e4, 0x001b28b7}}, Y: Field{[10]uint32{0x02662043, 0x014466a6, 0x02e0699b, 0x0276ba5a, 0x02cd5111, 0x01f71f39, 0x03cc1aa5, 0x02177690, 0x034497aa, 0x001bbc2c}}}, + {X: Field{[10]uint32{0x0051d97f, 0x00ebd4de, 0x031f88d3, 0x029242f4, 0x03cf1149, 0x021003be, 0x02448f82, 0x03ed9481, 0x03c41728, 0x002e89a1}}, Y: Field{[10]uint32{0x02b4c0c4, 0x03c82c61, 0x01de5d61, 0x000090ec, 0x02033455, 0x0318b34c, 0x03803bb3, 0x039eaba2, 0x01f11f2c, 0x0025ab49}}}, + {X: Field{[10]uint32{0x01553e0d, 0x028bc203, 0x01aa5f1e, 0x00cf91a8, 0x03d311f5, 0x02cc0cc8, 0x0032d5a4, 0x03cc0458, 0x00401947, 0x002b0d88}}, Y: Field{[10]uint32{0x00b30a22, 0x01c70fcb, 0x0137fdf1, 0x006dec82, 0x001d5b98, 0x005f6e47, 0x035881fa, 0x00a21169, 0x0395fef3, 0x0014e0e7}}}, + {X: Field{[10]uint32{0x01049e13, 0x01a51d9e, 0x0246bac7, 0x0308b6ee, 0x024158c7, 0x00ecd727, 0x014241ec, 0x01c815a3, 0x00ee5b1b, 0x0019e03b}}, Y: Field{[10]uint32{0x0057d9a8, 0x02fd004c, 0x02e4ee0f, 0x015fb31e, 0x0246520d, 0x0158b9cc, 0x0090b9f3, 0x022234b7, 0x01f031e0, 0x0026b045}}}, + {X: Field{[10]uint32{0x02a63732, 0x0040e434, 0x00254cbb, 0x00eaaca5, 0x01c0f765, 0x02ef4d0e, 0x0110d622, 0x035754c1, 0x0247e7a2, 0x00254dde}}, Y: Field{[10]uint32{0x00195fc0, 0x02f948fe, 0x01d7b091, 0x01a8d992, 0x03bb01f7, 0x0319155e, 0x01abe4df, 0x02d8b3f8, 0x01109daf, 0x0015eb24}}}, + {X: Field{[10]uint32{0x02dd8921, 0x005e85ca, 0x0015e85f, 0x001ccc9d, 0x01486a85, 0x02f50abd, 0x02e97c59, 0x020efc1f, 0x01bf98fd, 0x00013c65}}, Y: Field{[10]uint32{0x011cf3dc, 0x0171ee1a, 0x03b59a86, 0x02f3c7bc, 0x011a057b, 0x01ac72b7, 0x027cae30, 0x008c8d8c, 0x032501c8, 0x00295ab3}}}, + {X: Field{[10]uint32{0x00bcb53f, 0x00a46c53, 0x036bad9e, 0x034b5edb, 0x02cc0510, 0x036eaaf3, 0x0208240a, 0x00a67f48, 0x03d1efe8, 0x003b3347}}, Y: Field{[10]uint32{0x002c667c, 0x020111e9, 0x02b29135, 0x022fff09, 0x012d9b6f, 0x00663806, 0x03d6f2d3, 0x003e9715, 0x03216da5, 0x003b0bfc}}}, + {X: Field{[10]uint32{0x0058f438, 0x0321386c, 0x01f2b1ee, 0x0004307b, 0x01502e76, 0x01f2dd1d, 0x00ff41cf, 0x010971ca, 0x004af2c3, 0x0031d5d1}}, Y: Field{[10]uint32{0x0362e53a, 0x01c0a0d8, 0x014b8fd0, 0x03f1a140, 0x039cd267, 0x0322d995, 0x0301105b, 0x0050f8a5, 0x01b6169f, 0x00387520}}}, + {X: Field{[10]uint32{0x005250b8, 0x006d5f19, 0x00ac636f, 0x0170711c, 0x03aef325, 0x028468d9, 0x01996627, 0x001dd963, 0x037ebff5, 0x000d58a0}}, Y: Field{[10]uint32{0x019234d8, 0x01cb598a, 0x02b9cf4d, 0x00d729fe, 0x00fa1d0d, 0x02f2bf00, 0x01374bb0, 0x0163f333, 0x020d97aa, 0x003373d2}}}, + {X: Field{[10]uint32{0x02d4a3a1, 0x00cc5f21, 0x00a82b11, 0x01f7ed95, 0x03b1f2f0, 0x03eb062d, 0x01339e97, 0x025eaf4b, 0x0245f62e, 0x0033a770}}, Y: Field{[10]uint32{0x00d184d5, 0x0295857c, 0x00b7927b, 0x00c2f9bb, 0x02fcaf1b, 0x030deaf7, 0x03e8520e, 0x03ee3993, 0x0325342a, 0x003db878}}}, + {X: Field{[10]uint32{0x00858a12, 0x0275b8cb, 0x03dd542d, 0x023394e0, 0x02aab481, 0x02807ea2, 0x0271a8c1, 0x0112ea74, 0x033b48ee, 0x002b008b}}, Y: Field{[10]uint32{0x02ca76fa, 0x02e6ea5c, 0x01aaf45d, 0x01f99815, 0x02191e49, 0x00e58477, 0x009e0917, 0x03447c66, 0x03a891f8, 0x00078158}}}, + {X: Field{[10]uint32{0x0251d9f9, 0x026702e9, 0x024ff3a9, 0x020a2332, 0x0355a837, 0x02dbc89d, 0x02e57e6d, 0x033eab91, 0x0282cb12, 0x0034753d}}, Y: Field{[10]uint32{0x01e71a36, 0x016639e1, 0x02960488, 0x0192b2e3, 0x03016072, 0x0059c88c, 0x023b4b07, 0x0064c530, 0x03e5870e, 0x0006c66f}}}, + {X: Field{[10]uint32{0x031c8a37, 0x014c0ebf, 0x012ee243, 0x012cb401, 0x00892e75, 0x026f746a, 0x03bacd4f, 0x02be5117, 0x0171bbdd, 0x001e6588}}, Y: Field{[10]uint32{0x03b98a7d, 0x0056f8de, 0x0320ab85, 0x02a76bc1, 0x00fe47b6, 0x00d304d5, 0x0072f77b, 0x00afad15, 0x03de2a95, 0x002e2b09}}}, + {X: Field{[10]uint32{0x009d3b90, 0x00cb8f14, 0x038d8cf0, 0x02c60e83, 0x0120ecb3, 0x001868bc, 0x03c3573b, 0x02d812ec, 0x03c42390, 0x00111685}}, Y: Field{[10]uint32{0x013f97b1, 0x02b52c5a, 0x026aae34, 0x01079026, 0x024ea769, 0x03bfd259, 0x00057c87, 0x03f97283, 0x00887c07, 0x002dd7d0}}}, + {X: Field{[10]uint32{0x03402051, 0x020ef0c3, 0x02ccfb0e, 0x01244745, 0x038c39cd, 0x0345d5d8, 0x02c49a78, 0x03d1fd7e, 0x01f963a9, 0x001859ad}}, Y: Field{[10]uint32{0x012430b3, 0x005f77fa, 0x01d7e053, 0x03d56811, 0x02933d6d, 0x03b15d24, 0x03e46204, 0x02bac884, 0x02618302, 0x002e8cdd}}}, + {X: Field{[10]uint32{0x03251531, 0x00574fe2, 0x034a9293, 0x036e8d36, 0x0330b6db, 0x012379f8, 0x027d0e40, 0x006bfa39, 0x02742890, 0x0033599b}}, Y: Field{[10]uint32{0x0002304b, 0x0146040e, 0x024f9e54, 0x0147c46c, 0x01440959, 0x027f227b, 0x02398e74, 0x02950390, 0x00b943cb, 0x002bdcb6}}}, + {X: Field{[10]uint32{0x0123ac72, 0x0272eb41, 0x0014ee83, 0x02f35ee2, 0x015a6285, 0x036640d5, 0x01837a11, 0x01bf811b, 0x028cfd2f, 0x00320cef}}, Y: Field{[10]uint32{0x01a6af03, 0x00926132, 0x00ed603a, 0x02fbfa32, 0x02b6c07d, 0x01430ed3, 0x01751531, 0x008d8ea3, 0x010b4411, 0x001faa3e}}}, + {X: Field{[10]uint32{0x025ea477, 0x0000da7c, 0x03613982, 0x013fa109, 0x02e40e4a, 0x03a56c58, 0x010ac1f5, 0x034e1762, 0x03363036, 0x00330617}}, Y: Field{[10]uint32{0x02338236, 0x03bae7c9, 0x02b42832, 0x01d50157, 0x03f66d07, 0x027384bb, 0x02aabe5a, 0x02726262, 0x0036146d, 0x00381da2}}}, + {X: Field{[10]uint32{0x009c4a5a, 0x010f0a63, 0x01770479, 0x0043a4b2, 0x0177ccd9, 0x0101ee02, 0x03c9be70, 0x030aead9, 0x006324bb, 0x00052382}}, Y: Field{[10]uint32{0x02408797, 0x03f8eeb0, 0x036ee55d, 0x00c7edc5, 0x01b706a3, 0x004e3a5f, 0x02733ae6, 0x03f20277, 0x00859cdd, 0x00227a0f}}}, + {X: Field{[10]uint32{0x02c95c76, 0x038048af, 0x03a7e460, 0x012553d4, 0x010cf8b6, 0x00a8dd87, 0x008d9b19, 0x02d60d72, 0x01c1aba5, 0x0026c54e}}, Y: Field{[10]uint32{0x00efdc18, 0x03c8756b, 0x0395b967, 0x010a88c9, 0x00d8472e, 0x02a87389, 0x00895f13, 0x01676b53, 0x021945be, 0x000e4737}}}, + {X: Field{[10]uint32{0x024495cd, 0x02e29cc3, 0x03dd3e93, 0x01d2a5d2, 0x03a60327, 0x03d09f31, 0x029e575f, 0x00074dda, 0x02c175fb, 0x001a28b9}}, Y: Field{[10]uint32{0x00e00752, 0x00f7139e, 0x014f2557, 0x02df89cf, 0x030666ca, 0x03166591, 0x0269b741, 0x0037797c, 0x0084c8c3, 0x00054f99}}}, + {X: Field{[10]uint32{0x01dfb04e, 0x01b08a18, 0x030b66c3, 0x028b9f0b, 0x007669e9, 0x00cf332b, 0x02334405, 0x029030ed, 0x004935a5, 0x00163fa4}}, Y: Field{[10]uint32{0x0136e1bb, 0x03eed815, 0x01555b39, 0x009c569e, 0x0371ac1e, 0x0356669d, 0x0106e2a2, 0x0038b5c7, 0x01c59245, 0x002cda41}}}, + {X: Field{[10]uint32{0x02ac7080, 0x0169e0d7, 0x00378337, 0x029838a6, 0x0103e9bc, 0x026d809f, 0x01aff2a1, 0x0366c2ff, 0x0396dcbd, 0x00208f03}}, Y: Field{[10]uint32{0x02ad0a7f, 0x0334823c, 0x03db8895, 0x02c36410, 0x028831a2, 0x00efcf0d, 0x03eb6d54, 0x026962ea, 0x02ccf34d, 0x00364551}}}, + {X: Field{[10]uint32{0x02d14537, 0x03378800, 0x02caf533, 0x01493df7, 0x03d68121, 0x00c04fb9, 0x03e7b710, 0x03e42157, 0x02aee908, 0x001295ab}}, Y: Field{[10]uint32{0x0222b7a2, 0x02be42b1, 0x00d8d021, 0x03ecb80c, 0x023129a7, 0x01e43ae6, 0x01995b33, 0x00634846, 0x000133b7, 0x001f9832}}}, + {X: Field{[10]uint32{0x01240334, 0x01b28efe, 0x0168a71f, 0x03d27f82, 0x0382a64b, 0x02204c66, 0x0194e2b8, 0x03d7cb11, 0x0055e6c4, 0x001b03ce}}, Y: Field{[10]uint32{0x03b5203c, 0x03f8d348, 0x02fc83ac, 0x0346d355, 0x03e1478a, 0x0016bab4, 0x01ade853, 0x02eea12d, 0x036da9ef, 0x0017239e}}}, + {X: Field{[10]uint32{0x01ac9632, 0x02e8a8cd, 0x033313ae, 0x002d4923, 0x000496e4, 0x005cb992, 0x01de21cf, 0x01241c57, 0x032cd170, 0x003673e3}}, Y: Field{[10]uint32{0x00934344, 0x00e0570f, 0x028e6b07, 0x0242db0f, 0x0315867e, 0x00d755fd, 0x0198299c, 0x03e4c02f, 0x0251b440, 0x0024a9f0}}}, + {X: Field{[10]uint32{0x0193d898, 0x01d9fdee, 0x039e27c6, 0x00a3f3c6, 0x01775927, 0x026bcc0e, 0x027ed43d, 0x0371eebe, 0x00928b91, 0x0012ff2d}}, Y: Field{[10]uint32{0x005d14f7, 0x032a5269, 0x03dda7bf, 0x03a791c0, 0x001854a4, 0x00ea8cee, 0x00c9a4ae, 0x035042cd, 0x02f1ecd9, 0x0009da81}}}, + {X: Field{[10]uint32{0x03c434e8, 0x00066b08, 0x00792944, 0x01d7964a, 0x027cdcc5, 0x0055965b, 0x0193dee8, 0x00cbd13b, 0x0093ac40, 0x002af796}}, Y: Field{[10]uint32{0x0195c40a, 0x012c0360, 0x0116ed77, 0x02c93066, 0x0346162c, 0x033bc0be, 0x002af7a7, 0x018113a5, 0x00092b9e, 0x001780ea}}}, + {X: Field{[10]uint32{0x026e1cc5, 0x00ec3f54, 0x020a803b, 0x02b8c6f8, 0x004482f1, 0x00a07688, 0x00814b49, 0x02a3845e, 0x03077a98, 0x00081758}}, Y: Field{[10]uint32{0x03e4d780, 0x027fd41b, 0x036147a7, 0x03495595, 0x00b9cab7, 0x01b992ff, 0x015cb19d, 0x00d581ae, 0x015c943e, 0x0012ef8a}}}, + {X: Field{[10]uint32{0x001c43bd, 0x02337491, 0x00b7c3b9, 0x02f116fd, 0x01b59653, 0x01b980c7, 0x0228a423, 0x00e871b0, 0x0083e667, 0x0032d313}}, Y: Field{[10]uint32{0x031a2769, 0x013a3ab8, 0x01149cfe, 0x00307fa9, 0x0062f334, 0x016bf9c5, 0x002ff397, 0x01fa83df, 0x02763926, 0x00050b80}}}, + {X: Field{[10]uint32{0x00ca77a7, 0x02ec894b, 0x004f2b5a, 0x02cb7b1f, 0x0392ccf0, 0x024cd5bb, 0x0354a4b4, 0x02f7eceb, 0x00b27ff5, 0x0009687d}}, Y: Field{[10]uint32{0x035c3c38, 0x03fe5ecc, 0x03fe93e9, 0x022ca229, 0x0136c32e, 0x02647cb6, 0x033b3afc, 0x020d05f7, 0x0193153f, 0x0006c977}}}, + {X: Field{[10]uint32{0x0254237b, 0x029dea8a, 0x026dc89c, 0x015255ed, 0x015a1b71, 0x0195f2e2, 0x011c863a, 0x02835a94, 0x02a77eec, 0x00088bdd}}, Y: Field{[10]uint32{0x00b0b289, 0x01680bcb, 0x03492794, 0x0210bda8, 0x01a205c8, 0x019974a5, 0x03a598a8, 0x03e23421, 0x02e064ef, 0x002a3caf}}}, + {X: Field{[10]uint32{0x034dfa8d, 0x032f63ce, 0x002daec3, 0x009a67c7, 0x02379f5c, 0x024dad01, 0x03f10156, 0x01946d06, 0x028d1ad2, 0x000cb50c}}, Y: Field{[10]uint32{0x0188261d, 0x033a4c1e, 0x0290d204, 0x028741a4, 0x02df5de0, 0x0391e025, 0x00d40623, 0x028ced7d, 0x02e23294, 0x0027db79}}}, + {X: Field{[10]uint32{0x01f1d3f0, 0x0195a460, 0x01b14e82, 0x00c33e64, 0x01187d08, 0x01998adf, 0x01937900, 0x0335c0ec, 0x00be6948, 0x00337a7b}}, Y: Field{[10]uint32{0x03029720, 0x03a06c56, 0x015e24bc, 0x03ffe554, 0x01f5abe8, 0x022b55b1, 0x037794ce, 0x00634a6d, 0x03320e12, 0x0021221e}}}, + {X: Field{[10]uint32{0x0348947d, 0x0354f4e9, 0x00b80011, 0x01f89979, 0x02509f4e, 0x0141a801, 0x03435826, 0x03bd32a0, 0x005c3baa, 0x002f227d}}, Y: Field{[10]uint32{0x03e68475, 0x00a7d79b, 0x03a49511, 0x02bdc89a, 0x0209fa15, 0x00d3de6f, 0x0272fce5, 0x02c519e8, 0x00a2714d, 0x003bfd6f}}}, + {X: Field{[10]uint32{0x01b51d4f, 0x003dd237, 0x03df0994, 0x02e6d5fb, 0x0139b409, 0x010d2a6b, 0x014ba655, 0x02eff8af, 0x00c0eea2, 0x001899e3}}, Y: Field{[10]uint32{0x03a74acf, 0x0141470d, 0x00883673, 0x02e79ef3, 0x02a5cc8a, 0x03db7553, 0x0161245e, 0x034c7470, 0x034fd234, 0x00234e13}}}, + {X: Field{[10]uint32{0x02bc93d0, 0x027e4ce1, 0x02f8af21, 0x030d3fa1, 0x02df7c0a, 0x037e89cd, 0x01c89cf3, 0x0388958f, 0x0139c63a, 0x00057807}}, Y: Field{[10]uint32{0x00cfb13b, 0x01d56204, 0x03ef42bc, 0x0267e8c5, 0x01e7efb9, 0x025da618, 0x03251334, 0x032e0705, 0x0132314f, 0x0007d58d}}}, + {X: Field{[10]uint32{0x03ac10e3, 0x03cd92ca, 0x03eb97b8, 0x000c06f6, 0x0052c601, 0x010a2ba7, 0x018e813e, 0x009637fe, 0x03493493, 0x0013e34a}}, Y: Field{[10]uint32{0x0169b73f, 0x02c99380, 0x021bcd66, 0x039085b2, 0x031e8c58, 0x03e467d5, 0x00580283, 0x0176db00, 0x017b6795, 0x00231f44}}}, + {X: Field{[10]uint32{0x016f1d61, 0x02249dad, 0x0136f1a7, 0x02d3d124, 0x003b0d77, 0x0374d623, 0x03e397cd, 0x01ad8260, 0x031a2bf1, 0x00345338}}, Y: Field{[10]uint32{0x013f0910, 0x03cdcd2b, 0x0335611e, 0x031c9613, 0x01833f24, 0x0375eefd, 0x022ca6e4, 0x0360e8dc, 0x0220b227, 0x0026857d}}}, + {X: Field{[10]uint32{0x02f780f1, 0x03a38ed9, 0x008419c3, 0x028b104c, 0x00024c1a, 0x02ffa800, 0x00d656c9, 0x01d7d704, 0x034eb8c2, 0x000d4886}}, Y: Field{[10]uint32{0x03f8e808, 0x0317764e, 0x03fa0f8e, 0x01186d77, 0x0306888d, 0x009de195, 0x038382bb, 0x02bf2ef5, 0x02025274, 0x000f4716}}}, + {X: Field{[10]uint32{0x00a8ddc8, 0x02b02a8d, 0x0043c49e, 0x005dc9c2, 0x0083f686, 0x03d10ec8, 0x00ff6f29, 0x0306e3d1, 0x003b1c76, 0x0020bb67}}, Y: Field{[10]uint32{0x015f1340, 0x0077177a, 0x02fc48a9, 0x0162bbf5, 0x00e81f5a, 0x000009a4, 0x002081d9, 0x00ae19cd, 0x026bc2ab, 0x00098ba7}}}, + {X: Field{[10]uint32{0x00717b85, 0x0078d244, 0x02118d18, 0x012bfd71, 0x009c49b6, 0x010ba5f1, 0x02342f77, 0x02a8dba1, 0x020eacf2, 0x002467a5}}, Y: Field{[10]uint32{0x0145b861, 0x020bf936, 0x016505a0, 0x010b1e08, 0x03ef530d, 0x030ca7c4, 0x01ce9d5a, 0x0059e736, 0x014ea3ea, 0x0012d46a}}}, + {X: Field{[10]uint32{0x03c3ec7d, 0x03f4d996, 0x02c3065f, 0x0386b3c1, 0x02edca3d, 0x0190f398, 0x02abcafa, 0x01546afb, 0x023e20ce, 0x00336b2b}}, Y: Field{[10]uint32{0x02b95bb6, 0x00881c5b, 0x009b13d3, 0x0292cd07, 0x02235df4, 0x02953d3b, 0x00c326df, 0x001dab8a, 0x0313872b, 0x002aab2e}}}, + {X: Field{[10]uint32{0x02a5f2ab, 0x027389a4, 0x015a8f94, 0x03fed98f, 0x00de3a62, 0x001c9bc2, 0x0180f829, 0x017027cf, 0x00e21bd0, 0x00069142}}, Y: Field{[10]uint32{0x00ca97ba, 0x00c83d4b, 0x013e602b, 0x0315b497, 0x00c6e672, 0x02fc0a65, 0x00459bf4, 0x02c0cdd8, 0x03f0976e, 0x00149e03}}}, + {X: Field{[10]uint32{0x003a0b45, 0x005098a0, 0x018ddd52, 0x01dfcea8, 0x02e9129f, 0x03c9b262, 0x00f73d13, 0x03c972a5, 0x02ed5686, 0x002391bb}}, Y: Field{[10]uint32{0x01edcf4d, 0x0326bd87, 0x00200782, 0x0159843a, 0x027253d5, 0x01fc2bad, 0x03f2ed1e, 0x03ba9f21, 0x038d7041, 0x003b95b4}}}, + {X: Field{[10]uint32{0x017e4031, 0x0396ecda, 0x00532a92, 0x0079e828, 0x0168d617, 0x02d8611a, 0x01797c15, 0x02cc276b, 0x00fa3bd6, 0x001e0a44}}, Y: Field{[10]uint32{0x00e4b3f4, 0x0025d4d1, 0x022ddee4, 0x03fdb4fc, 0x00717914, 0x011ac2a0, 0x00c31b89, 0x00a8a3a1, 0x0365c44c, 0x003fc5e0}}}, + {X: Field{[10]uint32{0x01f64e8a, 0x00f246b9, 0x01041ae9, 0x02a3e41a, 0x0265c50a, 0x013c75f4, 0x002d0a29, 0x004329b3, 0x028cc5a7, 0x0000aae7}}, Y: Field{[10]uint32{0x03f89b9b, 0x00ebf269, 0x001c9db2, 0x000a84f6, 0x03185366, 0x0164d251, 0x03cf23da, 0x012eb419, 0x010fa225, 0x0002aaf3}}}, + {X: Field{[10]uint32{0x0382c9e5, 0x006f4758, 0x037a5fcb, 0x03091843, 0x03a094dd, 0x01494a4d, 0x020cc533, 0x016c8a0c, 0x03c44fb2, 0x00341199}}, Y: Field{[10]uint32{0x02b0f74e, 0x0351e52c, 0x00f5ce31, 0x03600c19, 0x026e5a91, 0x02b13ea1, 0x02f436ec, 0x01239e1a, 0x013f8bf0, 0x001f24d8}}}, + {X: Field{[10]uint32{0x0286b0f7, 0x012be0db, 0x01252def, 0x00a724d8, 0x00f157bd, 0x0160e265, 0x01b0476c, 0x03769294, 0x02f9799c, 0x002e711d}}, Y: Field{[10]uint32{0x0297932e, 0x02aad2b2, 0x029eff13, 0x036aa414, 0x03d1a9b0, 0x01a11549, 0x01cefbc4, 0x0122cfc9, 0x019bc779, 0x000bb1d8}}}, + {X: Field{[10]uint32{0x006eee85, 0x036a104a, 0x02e0d64f, 0x03ff7b8a, 0x004ef765, 0x03591ce7, 0x01d8c565, 0x0265012e, 0x01abf13f, 0x00242f7b}}, Y: Field{[10]uint32{0x00cf21f5, 0x00a04138, 0x037255c6, 0x0376e53d, 0x007f8bb8, 0x0061f49b, 0x02812a48, 0x0122ad2f, 0x0082d9a8, 0x002a7d1e}}}, + {X: Field{[10]uint32{0x00485c84, 0x001cdebf, 0x01e7ba68, 0x03377356, 0x03ff4208, 0x013afc3f, 0x02b83107, 0x01dcd300, 0x00a80217, 0x002830e5}}, Y: Field{[10]uint32{0x0109364b, 0x003975c3, 0x02e3fd64, 0x02d8bcd3, 0x00e835ca, 0x026dec59, 0x002434fe, 0x00bcd3f2, 0x0132b4c6, 0x00313c22}}}, + {X: Field{[10]uint32{0x00294c3e, 0x02ad434c, 0x00273b9a, 0x008fafab, 0x02bd3c29, 0x00b9da53, 0x00f949c7, 0x03a318a1, 0x01bd3896, 0x0006c0c6}}, Y: Field{[10]uint32{0x02ee339d, 0x03b54be8, 0x02080053, 0x01c8768c, 0x021401b6, 0x000edec6, 0x038233d7, 0x02ab9f97, 0x029b17c3, 0x000576ff}}}, + {X: Field{[10]uint32{0x03dc719d, 0x00b8f66f, 0x032ab699, 0x00ecea43, 0x001210eb, 0x01463730, 0x03a93540, 0x005afa89, 0x030fe92f, 0x0026453b}}, Y: Field{[10]uint32{0x03c4086b, 0x0370ac6c, 0x02b8398d, 0x00b218cc, 0x005e671d, 0x02bd968c, 0x01f3629f, 0x002c47a3, 0x00650cea, 0x001e82f4}}}, + {X: Field{[10]uint32{0x01f60d3e, 0x03b744f7, 0x03810daa, 0x01b5eb39, 0x015798ad, 0x02572585, 0x02fa1763, 0x03d8e1f6, 0x02195599, 0x000e9a3e}}, Y: Field{[10]uint32{0x00e71a89, 0x025afdf5, 0x0054f5cd, 0x03ba6a2b, 0x00de158e, 0x00190729, 0x00faef1e, 0x01a76ce5, 0x02e6a3f5, 0x001d15d6}}}, + {X: Field{[10]uint32{0x0288b2e5, 0x01a71817, 0x023859da, 0x03b1fc04, 0x0241193d, 0x006fff23, 0x01872b1b, 0x01f8c43c, 0x0141e2b6, 0x002dcd87}}, Y: Field{[10]uint32{0x00668344, 0x0241f860, 0x029c29b0, 0x02f7c42f, 0x00315347, 0x01b9eb34, 0x00f5890f, 0x026f29cf, 0x039566d4, 0x003ea75a}}}, + {X: Field{[10]uint32{0x01174e81, 0x0216e0c9, 0x01bc637b, 0x034c4ba6, 0x02aa93a4, 0x03edffe7, 0x03d13543, 0x011903db, 0x018742d8, 0x000d07a6}}, Y: Field{[10]uint32{0x03fcfc95, 0x00adae62, 0x007ac861, 0x0269bb5d, 0x01e95b4e, 0x018b97f0, 0x01cbcff7, 0x01861d84, 0x00dc91b4, 0x00312582}}}, + {X: Field{[10]uint32{0x0083e6f6, 0x03dd76b1, 0x0026e2a0, 0x02febe1d, 0x001f6420, 0x000b25c6, 0x00849094, 0x03d55d00, 0x0045de34, 0x0020f5a9}}, Y: Field{[10]uint32{0x01dddfc1, 0x030486e8, 0x030fd787, 0x00249df6, 0x00e9fbed, 0x012a5376, 0x01cf48a1, 0x03ed4d7b, 0x034458c8, 0x001ea1b6}}}, + {X: Field{[10]uint32{0x02ac351b, 0x02e12e49, 0x03bdda40, 0x0218bf3f, 0x0032d176, 0x01a92676, 0x0082bf1c, 0x032ba624, 0x035a014b, 0x0013c448}}, Y: Field{[10]uint32{0x014a2acf, 0x018cce7a, 0x022886e9, 0x03b6f967, 0x0308678d, 0x01dce72d, 0x00021c83, 0x009a745a, 0x00f15f31, 0x002d4189}}}, + {X: Field{[10]uint32{0x03ee2b89, 0x03a6a734, 0x0115b998, 0x024b0208, 0x02eafb38, 0x02db8f5f, 0x0285907a, 0x0384b3a9, 0x032721cf, 0x0023eed5}}, Y: Field{[10]uint32{0x02906680, 0x0248e8d9, 0x03ab791c, 0x0296be2f, 0x00ef1bb1, 0x0296d6a9, 0x018de8e2, 0x02386973, 0x0285c814, 0x00369ff9}}}, + {X: Field{[10]uint32{0x0096c3de, 0x00b167d5, 0x02bd63f5, 0x03cbf19c, 0x01286023, 0x00fd6627, 0x0205b1f5, 0x00fd7dd9, 0x023cb924, 0x00201329}}, Y: Field{[10]uint32{0x035233c6, 0x01c2c175, 0x01fd8431, 0x01b52722, 0x00865fab, 0x02bad13e, 0x038300ee, 0x00455a86, 0x0112eedb, 0x00000dca}}}, + {X: Field{[10]uint32{0x012a5365, 0x005da70b, 0x03bf58cc, 0x035c77a6, 0x0060b48e, 0x01598341, 0x018de870, 0x02a091ac, 0x006ab83c, 0x002c9e57}}, Y: Field{[10]uint32{0x0249d820, 0x0024d6ca, 0x0041f90d, 0x015e6f70, 0x01db6841, 0x021aa280, 0x03510441, 0x002dad34, 0x02b58853, 0x0019ba30}}}, + {X: Field{[10]uint32{0x02d9dad3, 0x0317814d, 0x02588208, 0x00ec640e, 0x00caf390, 0x001193ad, 0x0139d07c, 0x03645302, 0x004db61b, 0x0037ad4c}}, Y: Field{[10]uint32{0x015777ca, 0x0281aa53, 0x03b27762, 0x0360fdec, 0x0040507d, 0x039201cf, 0x00b62491, 0x0179d9a9, 0x0343e7e4, 0x00063553}}}, + {X: Field{[10]uint32{0x037714c4, 0x00f3aee6, 0x035cf774, 0x03a15d27, 0x01eb79d5, 0x00cd9a40, 0x0061d696, 0x03b0d2db, 0x0102d177, 0x000446fd}}, Y: Field{[10]uint32{0x016a4e54, 0x030e35da, 0x000f0bf8, 0x0083f99e, 0x0107d8ba, 0x0391e83c, 0x036bad45, 0x02ef33c0, 0x012abc38, 0x002fa035}}}, + {X: Field{[10]uint32{0x00be92a5, 0x006f4e37, 0x00f8b016, 0x01419d34, 0x01daceeb, 0x02e18e19, 0x014e71fd, 0x014e4fa3, 0x0343c15c, 0x00252c43}}, Y: Field{[10]uint32{0x01be6dc7, 0x02e6ddfd, 0x02e9bd25, 0x035fc682, 0x038d087d, 0x004161b3, 0x03f77291, 0x0230d96c, 0x032ea34e, 0x003b156b}}}, + {X: Field{[10]uint32{0x02895593, 0x007c6203, 0x02248d3b, 0x00b44051, 0x03fb4a42, 0x00b4c0da, 0x03e529d6, 0x01de1314, 0x03f22d44, 0x001189ea}}, Y: Field{[10]uint32{0x037b3e4a, 0x018140fa, 0x01c483a5, 0x03d31fa3, 0x00cbea9e, 0x01947a52, 0x00172d56, 0x02d66dce, 0x018d6110, 0x0022cd07}}}, + {X: Field{[10]uint32{0x017c355f, 0x02e91a0a, 0x02a80757, 0x02fb05ca, 0x03585dca, 0x037714c9, 0x035727b5, 0x03730dcd, 0x01cfdfea, 0x00067385}}, Y: Field{[10]uint32{0x01e60f81, 0x0333f613, 0x03a6625c, 0x01f816ce, 0x0283853e, 0x021b3bc9, 0x02ca9ec8, 0x024505cd, 0x015ece82, 0x00014195}}}, + {X: Field{[10]uint32{0x039a3e55, 0x0373f42a, 0x01ef0fe6, 0x00b85b4f, 0x01295068, 0x0387e45b, 0x03e97d80, 0x03f2ba30, 0x02818293, 0x001d6901}}, Y: Field{[10]uint32{0x008c7930, 0x01f45577, 0x01f22a04, 0x002fce7d, 0x03452678, 0x0254a62d, 0x039f2af4, 0x03893604, 0x01c0e02e, 0x0014a4b5}}}, + {X: Field{[10]uint32{0x033bf578, 0x03de6f07, 0x026f1cbb, 0x033a3cc8, 0x0388cb82, 0x03d29ccc, 0x03a341d4, 0x01da1ad1, 0x038def4b, 0x0029fae2}}, Y: Field{[10]uint32{0x018199a1, 0x03f24fef, 0x01cc880c, 0x028a1a19, 0x0124407c, 0x0129c962, 0x0352bf39, 0x015df2ce, 0x036fe238, 0x00217662}}}, + {X: Field{[10]uint32{0x03da647a, 0x024e37ac, 0x02c00e8a, 0x01114385, 0x016c9f83, 0x03067dae, 0x0352d143, 0x00759c2c, 0x02b5dcc9, 0x00296e68}}, Y: Field{[10]uint32{0x039571c1, 0x01cbca1e, 0x00c29634, 0x004ff45b, 0x0126fc4e, 0x009833fc, 0x0335aba1, 0x0011c590, 0x03a83985, 0x003c4b53}}}, + {X: Field{[10]uint32{0x00015cca, 0x00273211, 0x0217157c, 0x00c5e2b5, 0x01df58d8, 0x026c3f7d, 0x037c20ee, 0x02269977, 0x02ed48d5, 0x001e6671}}, Y: Field{[10]uint32{0x018f5756, 0x02dcc750, 0x010145bc, 0x003489d5, 0x00aaacaf, 0x034fc4b2, 0x00b3fecb, 0x030e8715, 0x01053706, 0x00055bd1}}}, + {X: Field{[10]uint32{0x009829b1, 0x02b4de71, 0x028e20fe, 0x0161b70b, 0x01422020, 0x030171eb, 0x01baade6, 0x03b746e1, 0x01f3b708, 0x00223fa0}}, Y: Field{[10]uint32{0x03727c01, 0x035035f7, 0x01b10d99, 0x03376a87, 0x008972a8, 0x0182814b, 0x00341502, 0x01f4aec5, 0x024fb04b, 0x003358b8}}}, + {X: Field{[10]uint32{0x03e86763, 0x015f57d3, 0x0264e895, 0x00dd421e, 0x01912165, 0x01a529df, 0x03192beb, 0x0187f908, 0x02b0cfcc, 0x00063ec3}}, Y: Field{[10]uint32{0x00169785, 0x00a3174e, 0x01922b1f, 0x038d548a, 0x0380f4a6, 0x03b61c75, 0x0288e230, 0x02d594e3, 0x031fdfe8, 0x000f3dca}}}, + {X: Field{[10]uint32{0x03d38aac, 0x006721bb, 0x00b660d9, 0x03ebad7f, 0x02004719, 0x02bc639d, 0x03171d5b, 0x03cb333f, 0x02312be4, 0x0036b6cc}}, Y: Field{[10]uint32{0x018bc0d7, 0x03d2cc3e, 0x039813d9, 0x00c31a9c, 0x0150e0b3, 0x02855112, 0x0340e423, 0x03a2f2c1, 0x005d752d, 0x002359e5}}}, + {X: Field{[10]uint32{0x039e5c8e, 0x015fc1a8, 0x039c2d80, 0x0271b070, 0x027b17e0, 0x038c416e, 0x03aa0cb0, 0x027d91ac, 0x00867cdd, 0x003c2e68}}, Y: Field{[10]uint32{0x02f4e9de, 0x032782d7, 0x01c81370, 0x000f052f, 0x003ff913, 0x020872ef, 0x01cf4319, 0x03460103, 0x025625e6, 0x000ad4d3}}}, + {X: Field{[10]uint32{0x02fcb7e0, 0x03efa2b0, 0x0132d406, 0x0199922e, 0x031cd601, 0x01cba350, 0x010e2536, 0x030e9f97, 0x03052e49, 0x00370382}}, Y: Field{[10]uint32{0x03b791d9, 0x0151f871, 0x01bea086, 0x03ce087f, 0x02223e7a, 0x02487892, 0x0139cb56, 0x01946933, 0x03868e1c, 0x003fe465}}}, + {X: Field{[10]uint32{0x02eb91ee, 0x02a9688c, 0x01038b74, 0x023c4604, 0x016bea74, 0x00571b29, 0x02c365b5, 0x03751cd7, 0x0298fb6d, 0x0039c72b}}, Y: Field{[10]uint32{0x01600266, 0x020af3c7, 0x0106ce66, 0x029ca007, 0x019ed731, 0x036f47d0, 0x03c5bc75, 0x0083db8b, 0x0018396c, 0x002012ba}}}, + {X: Field{[10]uint32{0x00ddfd8c, 0x01e4ad35, 0x03b9f88d, 0x01a081e6, 0x006b5d53, 0x02f4b29b, 0x0194d486, 0x0393fced, 0x01b2f7b2, 0x0014346d}}, Y: Field{[10]uint32{0x015cc744, 0x012f2213, 0x01f5b6e3, 0x039d0083, 0x015c554f, 0x02ae863f, 0x039b03f0, 0x0019821a, 0x00c518fa, 0x00155b3d}}}, + {X: Field{[10]uint32{0x002701aa, 0x00c8746f, 0x01747325, 0x021ad1c2, 0x00966348, 0x008fdb2d, 0x00c5e86f, 0x0365537e, 0x003e2bd5, 0x003021d0}}, Y: Field{[10]uint32{0x03507712, 0x028894a8, 0x00679003, 0x012f8ac0, 0x02258bc1, 0x03b61f81, 0x023a549e, 0x01cc001b, 0x0187d851, 0x00276d12}}}, + {X: Field{[10]uint32{0x016d6894, 0x003d45ef, 0x002b3798, 0x03d47a49, 0x014d45f8, 0x03da28a6, 0x00988fd3, 0x00d08b7a, 0x03f7f384, 0x0037440d}}, Y: Field{[10]uint32{0x01cccce1, 0x030646c9, 0x025f254f, 0x03395ac1, 0x021a9c08, 0x01cc24e9, 0x01ab8b76, 0x02f3762c, 0x01615cfb, 0x0032a39b}}}, + {X: Field{[10]uint32{0x00b5ceb4, 0x02731f4d, 0x01d1473a, 0x0295b026, 0x00424dfd, 0x0063dd93, 0x02840c3d, 0x01626fd2, 0x021967ca, 0x003788a6}}, Y: Field{[10]uint32{0x00122b22, 0x014456d5, 0x00be702d, 0x03046e3a, 0x00a1d352, 0x0391bfd1, 0x023f4b2a, 0x018ea50c, 0x01ca84ca, 0x002563f2}}}, + {X: Field{[10]uint32{0x00cdfd9c, 0x031fb881, 0x01cb1143, 0x03759ea3, 0x02f8a3a3, 0x0028d690, 0x0225f487, 0x0213e858, 0x03c9cc9d, 0x0000578c}}, Y: Field{[10]uint32{0x0260e920, 0x026e6cc1, 0x022562f8, 0x00571fcd, 0x02a59a1e, 0x01792b5a, 0x02058364, 0x033574d8, 0x0206ed48, 0x00104f00}}}, + {X: Field{[10]uint32{0x03d6bee0, 0x03902328, 0x00fc4394, 0x0266deac, 0x00dc010b, 0x02c86b8e, 0x023e3173, 0x01361cb4, 0x0161ca3c, 0x0014d089}}, Y: Field{[10]uint32{0x0103048e, 0x02ecfed8, 0x038b78de, 0x002e9c6e, 0x0020f2c5, 0x01e73872, 0x007c7ab7, 0x02427d94, 0x02e5e505, 0x001bba41}}}, + {X: Field{[10]uint32{0x0282b2fc, 0x00765ca6, 0x02a74a03, 0x0028245d, 0x020308bf, 0x0172dc72, 0x0000bbff, 0x013cdcca, 0x034f9b2c, 0x0020a773}}, Y: Field{[10]uint32{0x038483c4, 0x017dab97, 0x005d3352, 0x03101857, 0x01abe3f8, 0x03d621cf, 0x0249d3c9, 0x014e2938, 0x0200429e, 0x0011cde0}}}, + {X: Field{[10]uint32{0x02e911e5, 0x039970e2, 0x00ebe450, 0x02e8757d, 0x01c05594, 0x033fe5fc, 0x023b989a, 0x02c6c524, 0x02b73769, 0x003b5bdb}}, Y: Field{[10]uint32{0x02c38eb4, 0x01403868, 0x03fbe18e, 0x02768dcb, 0x01d52e2d, 0x027fd886, 0x018cd0b6, 0x02136e2e, 0x032f3fe5, 0x0037fb9b}}}, + {X: Field{[10]uint32{0x00455503, 0x009c8170, 0x013da303, 0x02fb2d24, 0x0370616e, 0x03cac612, 0x00d1982d, 0x01c83a3f, 0x03981fbe, 0x0011f948}}, Y: Field{[10]uint32{0x02f3e900, 0x038bd2ae, 0x012515ea, 0x02e1b118, 0x00179f4c, 0x0378379c, 0x020cfbd1, 0x030c3da0, 0x00ebf360, 0x002bf4b7}}}, + {X: Field{[10]uint32{0x01037312, 0x037812ea, 0x010df49f, 0x02a304f7, 0x00ba10e2, 0x017a2039, 0x03f1170f, 0x0387e1bc, 0x03d58f48, 0x002c0a4d}}, Y: Field{[10]uint32{0x00c18c4f, 0x034f1e8a, 0x03cf5347, 0x0093da32, 0x038a6c79, 0x00d5785f, 0x02de5805, 0x021158c5, 0x024f3e4c, 0x000372c2}}}, + {X: Field{[10]uint32{0x001989f8, 0x015ff43b, 0x025d44ee, 0x03af7f71, 0x03878486, 0x00f019ba, 0x0010c2dc, 0x03070c97, 0x00f53578, 0x0027e64f}}, Y: Field{[10]uint32{0x01c8bb52, 0x00ece18c, 0x0275d914, 0x01bc34e0, 0x01e83eda, 0x03986ebe, 0x026ea432, 0x02047359, 0x000b16b8, 0x0031ae35}}}, + {X: Field{[10]uint32{0x013240e6, 0x03e6e277, 0x0284e599, 0x0213cdbf, 0x01ce4317, 0x037f4743, 0x02730edb, 0x03b077c4, 0x00c25913, 0x00250edb}}, Y: Field{[10]uint32{0x03ed3fd0, 0x01dd2093, 0x0316d09f, 0x03ffead6, 0x029604d3, 0x0153bd56, 0x02d7ca32, 0x03fcff50, 0x02bacac2, 0x00396040}}}, + {X: Field{[10]uint32{0x01acfe0a, 0x02fcbc06, 0x00a6481f, 0x033d1fd6, 0x0059511d, 0x01ed69f2, 0x0043da4f, 0x03e7b146, 0x027e69b3, 0x00026c39}}, Y: Field{[10]uint32{0x01c54dd8, 0x00274c3b, 0x01c674a0, 0x00dbdf92, 0x022e074c, 0x01cccf29, 0x02defc7d, 0x03b2d338, 0x002817a4, 0x001a9377}}}, + {X: Field{[10]uint32{0x00571651, 0x03a19ce9, 0x03acc72a, 0x02d004da, 0x020c8246, 0x012329b9, 0x03b0fd40, 0x03463e30, 0x02339cd8, 0x0025f73b}}, Y: Field{[10]uint32{0x00e693e4, 0x00b4b49d, 0x03d510d8, 0x01192208, 0x0229b952, 0x0224cf71, 0x02e36cfc, 0x02fce62a, 0x0205cc20, 0x001858e8}}}, + {X: Field{[10]uint32{0x02292ced, 0x027fdeb4, 0x00267299, 0x003cadf7, 0x02798c94, 0x01286e80, 0x02a9c26f, 0x007b69f3, 0x02f92696, 0x00287979}}, Y: Field{[10]uint32{0x00d5f19d, 0x0234c6c2, 0x00fbeca1, 0x03e4ee7a, 0x03cfc07a, 0x01b65d95, 0x01384013, 0x003dd3b4, 0x037a6a71, 0x001409d2}}}, + {X: Field{[10]uint32{0x034884a9, 0x0210a596, 0x021a61a9, 0x02c61020, 0x001c21bd, 0x03f1dc60, 0x03c9bdc6, 0x0377f14b, 0x03cf7cdf, 0x0011cf57}}, Y: Field{[10]uint32{0x03d856af, 0x01f16c63, 0x02250eba, 0x03afa2f9, 0x0389ff95, 0x0320b656, 0x032d7036, 0x03d543fa, 0x02a70ad7, 0x000d220d}}}, + {X: Field{[10]uint32{0x0396f613, 0x0147a851, 0x009d454c, 0x004caec5, 0x00db8c1e, 0x00151326, 0x00c33b27, 0x02cb413f, 0x00427384, 0x0027061d}}, Y: Field{[10]uint32{0x00ae0a19, 0x00fdfd7f, 0x0342b791, 0x00d831c4, 0x02c1825d, 0x02573bee, 0x0212e475, 0x0001e4f6, 0x0043970f, 0x000b5b7b}}}, + {X: Field{[10]uint32{0x0162b154, 0x029aa981, 0x0351e0c7, 0x00a57d6f, 0x02ed63c7, 0x039d0392, 0x002d826b, 0x038afedd, 0x00469150, 0x00047387}}, Y: Field{[10]uint32{0x034fa33d, 0x02da9887, 0x00271aa3, 0x0232bca9, 0x0267f3b2, 0x03a2df64, 0x01f8b93b, 0x00a03eaf, 0x014fea38, 0x001ba194}}}, + {X: Field{[10]uint32{0x01656042, 0x0297159e, 0x031cd4d9, 0x01c52eb3, 0x03dde2fd, 0x0234731b, 0x013c3541, 0x0379bca2, 0x0104e4e2, 0x000780de}}, Y: Field{[10]uint32{0x00960755, 0x03a06963, 0x0221b462, 0x0214f007, 0x023c81ac, 0x002bc0d7, 0x028aa38a, 0x01a084a8, 0x01c934c2, 0x0006edd6}}}, + {X: Field{[10]uint32{0x00071d82, 0x007669f0, 0x02800995, 0x0178c731, 0x003f8d50, 0x03e78d88, 0x0294f240, 0x0266abc6, 0x006723f8, 0x0014bf25}}, Y: Field{[10]uint32{0x00bd6dbb, 0x0065a5f4, 0x039db924, 0x02cd2ce8, 0x0239c909, 0x01c2d1ee, 0x00dfb992, 0x00208083, 0x02e07543, 0x000118ca}}}, + {X: Field{[10]uint32{0x0242b20d, 0x027600c1, 0x02a4ff9e, 0x02d35e37, 0x0235069e, 0x025bd4e1, 0x00f9e394, 0x00672c85, 0x01059975, 0x0032d616}}, Y: Field{[10]uint32{0x0093ac7d, 0x038e44fb, 0x02d45064, 0x03cd6643, 0x007131b2, 0x038b5794, 0x02a0f51c, 0x01d68790, 0x02e7a5b4, 0x0006e7d0}}}, + {X: Field{[10]uint32{0x00a69c46, 0x02b803ed, 0x03a12cec, 0x00368471, 0x03e7ab18, 0x034def34, 0x03275845, 0x011561d5, 0x005729f1, 0x000e0b0a}}, Y: Field{[10]uint32{0x00039440, 0x03079f95, 0x008e4a25, 0x028f82c9, 0x03495907, 0x03c4a1a4, 0x02586843, 0x003ecdb8, 0x011220a7, 0x0032c9fa}}}, + {X: Field{[10]uint32{0x034e5024, 0x03b2e213, 0x0164b6dc, 0x00fecbe5, 0x02a4dd61, 0x02cce9a4, 0x00456dce, 0x0039263e, 0x02c6c285, 0x0005bc21}}, Y: Field{[10]uint32{0x039339a9, 0x03bbfb49, 0x01df312d, 0x033b26b5, 0x0073cb5e, 0x0169940d, 0x008ca682, 0x004620d1, 0x020888eb, 0x000b854a}}}, + {X: Field{[10]uint32{0x01a02492, 0x03585dd9, 0x009506ee, 0x007d99cc, 0x014439a5, 0x011ba89d, 0x030f0ae4, 0x00d5dd54, 0x011b1f0a, 0x001d626f}}, Y: Field{[10]uint32{0x00462d49, 0x0365d966, 0x0389c00a, 0x030d8c30, 0x0004076f, 0x00534d8d, 0x01771bb0, 0x02054c79, 0x0212d375, 0x000b6103}}}, + {X: Field{[10]uint32{0x00930890, 0x00c9bd35, 0x004469a0, 0x03d689ad, 0x01a80cc5, 0x030efbba, 0x02dbd2b0, 0x00e944f7, 0x0240cce6, 0x00062e6b}}, Y: Field{[10]uint32{0x022690e4, 0x0293ae4a, 0x0118acf6, 0x035e382b, 0x039e0032, 0x02c9c342, 0x03571382, 0x00f111c6, 0x024dd5ed, 0x00092e1a}}}, + {X: Field{[10]uint32{0x03ebb48a, 0x03a2a2b4, 0x009a4ccf, 0x01b840b2, 0x0394e9ba, 0x012fa189, 0x030db5d1, 0x007bd900, 0x00a4acc7, 0x002307dd}}, Y: Field{[10]uint32{0x0245677a, 0x02c59ce4, 0x01c9416e, 0x00664b57, 0x021af1c1, 0x022c9b21, 0x03ba735c, 0x0294a478, 0x011998ae, 0x0029e7c0}}}, + {X: Field{[10]uint32{0x02bfb080, 0x00b080f0, 0x010465cd, 0x00223b1f, 0x002c0fca, 0x000e096d, 0x0157ba0d, 0x02aadd6d, 0x012d36bf, 0x00236016}}, Y: Field{[10]uint32{0x0151d3f6, 0x02d19bc0, 0x03a51859, 0x01504335, 0x027671a6, 0x014cff4a, 0x00a1bd4a, 0x01d14d34, 0x008791f2, 0x000f91e5}}}, + {X: Field{[10]uint32{0x030ca248, 0x0095d959, 0x02770f71, 0x03a78114, 0x03f36782, 0x00b159dd, 0x005046cf, 0x038563b2, 0x0319f477, 0x003aac2e}}, Y: Field{[10]uint32{0x00c04640, 0x01d3329f, 0x01ebd700, 0x0190fc62, 0x0337f0bd, 0x00ae81c7, 0x0355e563, 0x00ebd36b, 0x00812309, 0x00289f5c}}}, + {X: Field{[10]uint32{0x020a039c, 0x00cb1a8a, 0x0399bdb5, 0x00776d21, 0x0109647e, 0x0149833a, 0x03b249fd, 0x00be89b4, 0x01c9ebbb, 0x003fc343}}, Y: Field{[10]uint32{0x02b31fa9, 0x00e50bbe, 0x010233c4, 0x03d59884, 0x02fad5b0, 0x0366dd82, 0x01c35055, 0x007e2f38, 0x02ae7f16, 0x0004ac3d}}}, + {X: Field{[10]uint32{0x0037d526, 0x00aaa58e, 0x030ad42a, 0x0080fb9a, 0x02be22b3, 0x02c22def, 0x03403468, 0x02f46e48, 0x023571db, 0x0036268c}}, Y: Field{[10]uint32{0x02e3cf27, 0x02dd084d, 0x03b62146, 0x0241551b, 0x03db4a04, 0x039bdbc7, 0x008124d9, 0x03c59cc4, 0x01b99988, 0x0009768d}}}, + {X: Field{[10]uint32{0x025b43fd, 0x013004a4, 0x00a229ec, 0x0055574d, 0x0313ffb3, 0x019d47df, 0x03cdafa8, 0x02acb10c, 0x023bf01c, 0x003c5400}}, Y: Field{[10]uint32{0x02c7a9cc, 0x030f4cce, 0x03f341a9, 0x01a881ca, 0x038ac37a, 0x01ea7920, 0x00966b71, 0x032259b7, 0x0221026a, 0x000c7dc3}}}, + {X: Field{[10]uint32{0x003af2a8, 0x03b80672, 0x0070d9b3, 0x032382d1, 0x0276f442, 0x030b3436, 0x02e9d5e2, 0x0025e1ca, 0x013b2d58, 0x003663af}}, Y: Field{[10]uint32{0x01dba3f5, 0x005f249d, 0x00823e00, 0x01629453, 0x00930fb3, 0x029b1c89, 0x03f9873d, 0x0065c0d2, 0x02a95a06, 0x0027b56d}}}, + {X: Field{[10]uint32{0x03c3c746, 0x03ec06f2, 0x01827583, 0x00efe9df, 0x02817353, 0x03cf2a05, 0x002e313d, 0x0253bb7f, 0x0185833a, 0x00156d8b}}, Y: Field{[10]uint32{0x024a835c, 0x02b4444d, 0x0189715b, 0x02fd1320, 0x011f4dbb, 0x0269e84e, 0x01eb9211, 0x016bdede, 0x03730cb9, 0x0027e121}}}, + {X: Field{[10]uint32{0x01718de6, 0x003fb3ef, 0x021ca286, 0x01268a9e, 0x00ec759c, 0x01b070ff, 0x0069de8f, 0x00fe4d13, 0x0176fef7, 0x0037ebd3}}, Y: Field{[10]uint32{0x025a0671, 0x034c509c, 0x01971357, 0x0054656f, 0x017fba1f, 0x00db64fb, 0x0009f94c, 0x030a1fd9, 0x029344e2, 0x002b12bd}}}, + {X: Field{[10]uint32{0x01fe29da, 0x01fcf9b1, 0x00bf838b, 0x00f16043, 0x03a7839f, 0x005bb88a, 0x0020f29a, 0x0248b0dd, 0x00a34510, 0x00212911}}, Y: Field{[10]uint32{0x0114f06a, 0x02615404, 0x0175fa18, 0x01c032fe, 0x026e89af, 0x01cc1a7f, 0x03f420a6, 0x0304b850, 0x01802215, 0x003bdccf}}}, + {X: Field{[10]uint32{0x032212af, 0x006a94e9, 0x02548629, 0x01260e24, 0x032c3377, 0x025a0468, 0x01d24d12, 0x01c020f7, 0x021146c8, 0x0035f213}}, Y: Field{[10]uint32{0x00844ac4, 0x03350184, 0x01745f84, 0x0344135e, 0x019579b2, 0x0202bb18, 0x01357e54, 0x0102f70f, 0x0158a3be, 0x002c61f7}}}, + {X: Field{[10]uint32{0x0198051d, 0x03a9e215, 0x02a069ff, 0x02d5c68b, 0x00c7fca4, 0x01d41cb3, 0x029f6165, 0x0022fbce, 0x027fa70b, 0x003f7b70}}, Y: Field{[10]uint32{0x03b9bf9a, 0x0118a901, 0x01fbb3ec, 0x01379c91, 0x0253f6f5, 0x029fd378, 0x014d279b, 0x016a780d, 0x031a1c57, 0x003fa6de}}}, + {X: Field{[10]uint32{0x03122e77, 0x0171e57b, 0x039a5c2d, 0x0141365a, 0x03f950c2, 0x01610dec, 0x0022b350, 0x0331aa48, 0x038ad3f2, 0x0033e9d1}}, Y: Field{[10]uint32{0x021409c4, 0x02516c89, 0x023bb158, 0x0028f6a1, 0x022ad780, 0x03f7530b, 0x00f8eedf, 0x00a0d4d5, 0x01cae959, 0x003cf923}}}, + {X: Field{[10]uint32{0x020eefe2, 0x01f73a3b, 0x023f8033, 0x02f36377, 0x02aa1584, 0x01d9e3f3, 0x03b7493d, 0x00825dc3, 0x03f83fd6, 0x0023a455}}, Y: Field{[10]uint32{0x0205351b, 0x027ce94e, 0x0188ac8d, 0x016913ea, 0x003322fb, 0x02d2c8a7, 0x00f91df4, 0x037edae9, 0x02898c05, 0x00181e6e}}}, + {X: Field{[10]uint32{0x03116f75, 0x022e4a00, 0x01dfdbea, 0x03f1a9fe, 0x029d422f, 0x02f77fc8, 0x00eb80a9, 0x02b0c3b1, 0x03b6103e, 0x001efd7b}}, Y: Field{[10]uint32{0x03a71a3b, 0x00e24c4e, 0x03e67ba1, 0x0130d54f, 0x012cba4b, 0x015e5850, 0x01355542, 0x007b7f96, 0x02596479, 0x003beb6d}}}, + {X: Field{[10]uint32{0x00e8df0b, 0x009e0834, 0x0153e85f, 0x03f22747, 0x01690a13, 0x01da5c1e, 0x007b1b53, 0x030b49a3, 0x02b7b7b2, 0x003d6e80}}, Y: Field{[10]uint32{0x02465485, 0x03c54567, 0x013a3af7, 0x01930f1e, 0x00a9266b, 0x034b510c, 0x00329d19, 0x003906ff, 0x0126b264, 0x00198c5b}}}, + {X: Field{[10]uint32{0x03004475, 0x01262fff, 0x008284a1, 0x0297c494, 0x0387c10d, 0x008a547e, 0x02bc3dbf, 0x029325b4, 0x01f3dcec, 0x0017aab3}}, Y: Field{[10]uint32{0x011f122d, 0x0094652b, 0x02106c8c, 0x00425dfa, 0x00b38f58, 0x020c7341, 0x0185d404, 0x0338245a, 0x03ed9721, 0x0032cf6c}}}, + {X: Field{[10]uint32{0x024a5554, 0x0169da29, 0x01e4177c, 0x02fd3e8b, 0x01d1320a, 0x03544cdc, 0x0152ba6a, 0x0044d14d, 0x0017b8d6, 0x00073f97}}, Y: Field{[10]uint32{0x011dcd5d, 0x03a91aff, 0x008945ed, 0x039801e8, 0x0099bcab, 0x00c67dd0, 0x024a2f7e, 0x02e21c79, 0x00f64846, 0x0014e0df}}}, + {X: Field{[10]uint32{0x025dbc10, 0x007c28de, 0x028805e2, 0x02ed1391, 0x02286f47, 0x004843ef, 0x0091dd2a, 0x03321873, 0x03478a2c, 0x0024aa0f}}, Y: Field{[10]uint32{0x0199de94, 0x03d53d72, 0x01043684, 0x03e43b0d, 0x000cb69f, 0x006604cb, 0x0270b8bc, 0x016c0be0, 0x0065fcd4, 0x003fb8d7}}}, + {X: Field{[10]uint32{0x02d277d3, 0x012ada72, 0x01dd14f7, 0x034c92fd, 0x0173c07a, 0x00d6f6de, 0x0186ea10, 0x00e6c3d3, 0x01bad5d5, 0x0005c8a1}}, Y: Field{[10]uint32{0x02ada654, 0x0308be6a, 0x00897314, 0x0100a22d, 0x02cfc290, 0x03b8f883, 0x03afa15c, 0x018d9382, 0x0140cf35, 0x00116afe}}}, + {X: Field{[10]uint32{0x03164762, 0x01badcf2, 0x0032c764, 0x0204e817, 0x013126ce, 0x03e45637, 0x014ae08b, 0x026eae15, 0x015392e1, 0x002b45ef}}, Y: Field{[10]uint32{0x01065586, 0x0115d323, 0x01b94e16, 0x014625be, 0x038139c6, 0x0275c353, 0x01d4f47d, 0x00e61ddd, 0x00191c83, 0x000284a6}}}, + {X: Field{[10]uint32{0x02bdeb1c, 0x01f2cc4b, 0x00a12526, 0x001f1019, 0x03c23fd3, 0x00f94470, 0x02ce9e91, 0x02a2707d, 0x033e91a4, 0x00041086}}, Y: Field{[10]uint32{0x02a53319, 0x0164a18e, 0x03cc1923, 0x00036b1d, 0x03985697, 0x01cc4632, 0x02b8a510, 0x03c3f461, 0x01d09e49, 0x0014e6ed}}}, + {X: Field{[10]uint32{0x01de5bfd, 0x00d6c188, 0x030ff397, 0x03787838, 0x012e8476, 0x0198caa9, 0x039eba60, 0x00a8f772, 0x00fa7815, 0x00310eb7}}, Y: Field{[10]uint32{0x00abdebf, 0x00469567, 0x018801a9, 0x0389815f, 0x031e81c6, 0x036b2ede, 0x03d04f05, 0x01602e11, 0x01ca2122, 0x001b7742}}}, + {X: Field{[10]uint32{0x00bf9a73, 0x036401a6, 0x0227b5c8, 0x00764aab, 0x0014434f, 0x0279f662, 0x02b9e50d, 0x01634131, 0x00cb603a, 0x003dea67}}, Y: Field{[10]uint32{0x031a7ccb, 0x00e9df69, 0x01b0878a, 0x01332bf2, 0x005e6293, 0x032dd04c, 0x02d68091, 0x00e4eba5, 0x024476f4, 0x003337f0}}}, + {X: Field{[10]uint32{0x0209c826, 0x01d6f9c3, 0x01aacb31, 0x005a7492, 0x02f602d5, 0x028b2a6f, 0x038f44f4, 0x013a8d40, 0x01bf7017, 0x0026af25}}, Y: Field{[10]uint32{0x03adfe0c, 0x00663835, 0x03763617, 0x036d32ad, 0x0222a9fe, 0x0233b6b2, 0x027d2c9f, 0x03e28f50, 0x02ed3e71, 0x001b3ef3}}}, + {X: Field{[10]uint32{0x005d8d82, 0x02ee7b57, 0x035c5546, 0x03f03414, 0x03d7bd08, 0x0124f273, 0x034af06b, 0x0121cfb2, 0x009335c8, 0x00229f2a}}, Y: Field{[10]uint32{0x01e31bc1, 0x000064c8, 0x005ba07b, 0x03fb4bca, 0x01209ae3, 0x010511e6, 0x031ee4e5, 0x00f021cb, 0x0372090d, 0x0009462c}}}, + {X: Field{[10]uint32{0x024d1c3e, 0x032489e9, 0x03b79ff1, 0x0373091b, 0x02b39fdb, 0x018be352, 0x01182fd8, 0x018a365a, 0x03798649, 0x001c3238}}, Y: Field{[10]uint32{0x02ea3cbb, 0x0038c849, 0x0386f7f5, 0x005d3bf6, 0x03936c95, 0x03558823, 0x0297d9ef, 0x00292bb0, 0x02d527ec, 0x0031e4c6}}}, + {X: Field{[10]uint32{0x01002121, 0x00b58a0c, 0x0076b957, 0x039f0616, 0x00934a82, 0x012023f7, 0x01dcf61b, 0x007b81c7, 0x02b40612, 0x0035e0fd}}, Y: Field{[10]uint32{0x029c7fbb, 0x007662d7, 0x0262ca03, 0x0055a52e, 0x0028b3ed, 0x02699226, 0x0107c82b, 0x01a52678, 0x01841422, 0x002aa4af}}}, + {X: Field{[10]uint32{0x03654c18, 0x01f939de, 0x007581a1, 0x025671de, 0x02b75927, 0x03aa3931, 0x01ffbb87, 0x02d0eb2b, 0x021c29ab, 0x00307c1a}}, Y: Field{[10]uint32{0x03ecdbf0, 0x006497be, 0x005476cd, 0x01c2a906, 0x03bc1024, 0x03968263, 0x01b0e7d9, 0x010b3eae, 0x01e2f1db, 0x00076b83}}}, + {X: Field{[10]uint32{0x02cc5105, 0x01f98b94, 0x0072487b, 0x009d21a6, 0x02d1498a, 0x0085c998, 0x02633ea3, 0x02d61e19, 0x02113205, 0x000ab5d3}}, Y: Field{[10]uint32{0x00ff779e, 0x01176834, 0x02e105de, 0x01652e2f, 0x02b5c851, 0x01d5720e, 0x01aa7d30, 0x0287f589, 0x0107de1f, 0x0031c31d}}}, + {X: Field{[10]uint32{0x037408b6, 0x00025e35, 0x01ac03d8, 0x015dd2b2, 0x03a9e32b, 0x01c713d5, 0x0374e233, 0x01a919ba, 0x01ad7224, 0x003d243a}}, Y: Field{[10]uint32{0x01dc3d6a, 0x003c06aa, 0x01fb963a, 0x006a2d12, 0x0377e49a, 0x03096141, 0x02ef15e4, 0x005a1ee9, 0x027f8fdd, 0x00151bcd}}}, + {X: Field{[10]uint32{0x001d6149, 0x008cdce6, 0x030553f1, 0x03143781, 0x0280c431, 0x017e2ecc, 0x01788b05, 0x02da5f81, 0x00918357, 0x0008140a}}, Y: Field{[10]uint32{0x028e3b0d, 0x01aaf411, 0x02777796, 0x016d71de, 0x019489ee, 0x0214bf42, 0x01a67712, 0x00388963, 0x00e54411, 0x000e7410}}}, + {X: Field{[10]uint32{0x006eae95, 0x0007acbe, 0x005d1bb0, 0x026780e3, 0x02e4b782, 0x0137a4a5, 0x0359915d, 0x028e8fbb, 0x038ec169, 0x001ba46e}}, Y: Field{[10]uint32{0x00877dfd, 0x0252e8a0, 0x008872ae, 0x03574823, 0x0045305d, 0x0227eb12, 0x0034063a, 0x0327c459, 0x029788f8, 0x0034b084}}}, + {X: Field{[10]uint32{0x03a34905, 0x01e2ec5a, 0x02a01906, 0x02ea79f7, 0x0339e7d0, 0x00796b54, 0x00d0d2fe, 0x0102c184, 0x03c839fc, 0x0033ca51}}, Y: Field{[10]uint32{0x0337c63d, 0x00502c8f, 0x007baaec, 0x01a84c7b, 0x018db00f, 0x01cba1d7, 0x0358d7b1, 0x0354fc35, 0x030f7f0c, 0x00185169}}}, + {X: Field{[10]uint32{0x022366f1, 0x01861d3e, 0x02864ad1, 0x0306b0f1, 0x001c8db1, 0x02b4ca8a, 0x01c9b010, 0x029b2158, 0x0387ea93, 0x002d23e0}}, Y: Field{[10]uint32{0x022d253c, 0x00c5749e, 0x0276b375, 0x02077e10, 0x009f46bd, 0x018273f2, 0x03d971b3, 0x01f4f89b, 0x0333cbe0, 0x0000b2ac}}}, + {X: Field{[10]uint32{0x02a1f827, 0x007b6850, 0x0315ef39, 0x013a0515, 0x0030f605, 0x025bf50f, 0x00ae58c6, 0x00b4d393, 0x03660c57, 0x001f12d7}}, Y: Field{[10]uint32{0x01843d97, 0x034cab66, 0x033b008e, 0x02b57e53, 0x02d0adc2, 0x01848cb0, 0x007c5fcc, 0x016bc0e4, 0x024fbe12, 0x000f2f89}}}, + {X: Field{[10]uint32{0x010d86e8, 0x02a17821, 0x02567378, 0x0147d756, 0x018fe24e, 0x01e1d636, 0x027f9890, 0x02786588, 0x0368d464, 0x00395e58}}, Y: Field{[10]uint32{0x02c9d4a7, 0x030d53bd, 0x0089646e, 0x02e35982, 0x021fa111, 0x01e9f92f, 0x02880bf6, 0x0244a26b, 0x0343c9a6, 0x0001d2ec}}}, + {X: Field{[10]uint32{0x004d637f, 0x00ae963f, 0x016509f0, 0x00994f1f, 0x0167c1ab, 0x038f2976, 0x01b88416, 0x03a7bf06, 0x025efe83, 0x0037e841}}, Y: Field{[10]uint32{0x00a5042d, 0x020fbb43, 0x00a231ec, 0x00668aa8, 0x02e23fdf, 0x021794d4, 0x0270e046, 0x00dee8bc, 0x0167eb02, 0x00008b49}}}, + {X: Field{[10]uint32{0x028af132, 0x01ecdea4, 0x01f2f234, 0x01133c4c, 0x008f4638, 0x039c42e0, 0x01a3ce98, 0x030cca3f, 0x00aad436, 0x000ba876}}, Y: Field{[10]uint32{0x0298dc4c, 0x0187cc43, 0x004328fc, 0x0081e80d, 0x0213ff96, 0x033ca92c, 0x00a243cc, 0x02b44160, 0x020fb8c2, 0x000cfe9f}}}, + {X: Field{[10]uint32{0x0167253f, 0x01477975, 0x031b4c0a, 0x01b3e2a4, 0x03ab6a97, 0x039677cd, 0x008298b5, 0x02bcfe9e, 0x00518122, 0x0004ab85}}, Y: Field{[10]uint32{0x0124877d, 0x034c6807, 0x015a7926, 0x02bad555, 0x021c3ff9, 0x038fc296, 0x02fa7329, 0x0074bb78, 0x01d2b327, 0x00217fc7}}}, + {X: Field{[10]uint32{0x01bf6619, 0x01164c25, 0x00270856, 0x03bd57be, 0x03125579, 0x03b1d68e, 0x02b84fed, 0x02bc6a9c, 0x01efb588, 0x003f51b8}}, Y: Field{[10]uint32{0x03a51b17, 0x01f2dec9, 0x01ea40f5, 0x01eba071, 0x03342e6b, 0x01ce8abf, 0x007d477c, 0x00a4bd83, 0x006eceb6, 0x00341ab7}}}, + {X: Field{[10]uint32{0x0332b52b, 0x024342df, 0x01e614a2, 0x011ac5cb, 0x01c7a179, 0x02f88ab3, 0x009e1bf0, 0x0347bc71, 0x013eb8c0, 0x0003b5f6}}, Y: Field{[10]uint32{0x02303ada, 0x0233a7ec, 0x02246f36, 0x02129a33, 0x02b55522, 0x010aafac, 0x036668a7, 0x0070ebe3, 0x030a39a8, 0x001343b0}}}, + {X: Field{[10]uint32{0x029619ef, 0x0022db43, 0x034dc9d8, 0x004cd893, 0x01585179, 0x01d701b7, 0x02bda814, 0x01e69a7f, 0x03a5cd0e, 0x003f33f7}}, Y: Field{[10]uint32{0x010adf49, 0x009106b7, 0x015139bd, 0x012b5838, 0x02ec6232, 0x024aa58d, 0x01959c69, 0x026fb7e2, 0x000d11d0, 0x001e6e41}}}, + {X: Field{[10]uint32{0x034ac477, 0x02955912, 0x00010a57, 0x029c8ad1, 0x0316823e, 0x02f1c532, 0x02044b27, 0x026bfb4a, 0x02b86a9b, 0x0020c5d8}}, Y: Field{[10]uint32{0x0156c708, 0x005a7926, 0x02ff69c3, 0x0372989a, 0x032754c1, 0x02137f5d, 0x00b3f77f, 0x02ff72d2, 0x00628ef3, 0x00051eb8}}}, + {X: Field{[10]uint32{0x02f26b01, 0x00ee6753, 0x02fb3490, 0x0187c995, 0x01f92cc4, 0x03f8333e, 0x0370adbb, 0x014c0f23, 0x0001a84d, 0x000cd123}}, Y: Field{[10]uint32{0x03b8f2ff, 0x03a9507f, 0x0095f736, 0x00f1bf5f, 0x02208ad0, 0x03b9fe41, 0x00a82840, 0x02e98723, 0x03490ae8, 0x00395c9c}}}, + {X: Field{[10]uint32{0x03d215a6, 0x01533081, 0x024a2482, 0x036ac66c, 0x0160df85, 0x003aebdb, 0x03ccb8c5, 0x004c1055, 0x02616ddf, 0x00248284}}, Y: Field{[10]uint32{0x028d0f4e, 0x028f283c, 0x02e369f1, 0x00738313, 0x03e2cb67, 0x02a302e5, 0x02f7a11c, 0x03a240f4, 0x00f9cc91, 0x00067935}}}, + {X: Field{[10]uint32{0x036b1ba4, 0x03f98b94, 0x026b7fca, 0x029712e4, 0x01458385, 0x02eb0971, 0x020ac00c, 0x002e70fd, 0x021d3e37, 0x00077e33}}, Y: Field{[10]uint32{0x0099a92b, 0x039f9814, 0x01083533, 0x03d6f1c0, 0x023fcbab, 0x01ca4253, 0x02f61602, 0x0141e54a, 0x006ee363, 0x000d137d}}}, + {X: Field{[10]uint32{0x038b7b72, 0x02ca2074, 0x013b6286, 0x03236036, 0x022e2243, 0x00de8149, 0x0018175c, 0x009ae04f, 0x007dabfe, 0x001c89e1}}, Y: Field{[10]uint32{0x03973d24, 0x02622e29, 0x03364622, 0x0104311a, 0x0128b5aa, 0x0185973e, 0x0289c934, 0x00f37654, 0x01eb33da, 0x002fb79e}}}, + {X: Field{[10]uint32{0x03f7fb8d, 0x027ca4bb, 0x01995972, 0x013c9b63, 0x003caff7, 0x03321041, 0x02571f8c, 0x022feac0, 0x0259e121, 0x001b7bee}}, Y: Field{[10]uint32{0x00340a04, 0x025aa353, 0x001a6956, 0x00156487, 0x002c188c, 0x034d39df, 0x03770d1b, 0x03ef165b, 0x028e21f2, 0x00135eea}}}, + {X: Field{[10]uint32{0x002d6bd3, 0x00581478, 0x020f990b, 0x006ad8c6, 0x0208302e, 0x02b7d4ef, 0x031ae022, 0x01f491ac, 0x00eff512, 0x003199fd}}, Y: Field{[10]uint32{0x02d34cf5, 0x00312936, 0x032373e8, 0x00f549eb, 0x02f8de28, 0x01f5d1a8, 0x00d822c3, 0x02f7dbf5, 0x0276ce11, 0x000f5ef3}}}, + {X: Field{[10]uint32{0x0229d866, 0x00b1cbf3, 0x03d2355c, 0x02e39aec, 0x006fbca1, 0x00e8aac0, 0x00dcc242, 0x0083d664, 0x02744416, 0x003b67a1}}, Y: Field{[10]uint32{0x0006ad30, 0x01f08a96, 0x021a5829, 0x01c47b0d, 0x027c03dd, 0x0024c37b, 0x01a12f33, 0x0268aee0, 0x019bb428, 0x0019357b}}}, + {X: Field{[10]uint32{0x0176fb24, 0x03ae630c, 0x02ea0b0e, 0x03bab114, 0x03219e57, 0x018d13bc, 0x0000b256, 0x033b80cf, 0x0057e6b0, 0x0021a8db}}, Y: Field{[10]uint32{0x02fff739, 0x03a36cfa, 0x02f25135, 0x00f9e686, 0x01b147b4, 0x02564ad7, 0x01038748, 0x01637d38, 0x01da9e9b, 0x002d3d2f}}}, + {X: Field{[10]uint32{0x00cca913, 0x0248a02f, 0x00e04337, 0x0208779c, 0x01fd02bf, 0x0285478f, 0x02105acb, 0x01bfce83, 0x03844539, 0x000b88dd}}, Y: Field{[10]uint32{0x03148551, 0x01c5b0d9, 0x0304fc0b, 0x03728cd8, 0x00f43726, 0x02ef3241, 0x00464c43, 0x020fc184, 0x039ce779, 0x003dcd94}}}, + {X: Field{[10]uint32{0x00a1390f, 0x027e6008, 0x028c1689, 0x021eb0b5, 0x009db88a, 0x00682f00, 0x026dbcf1, 0x0364d948, 0x014c7790, 0x003334f0}}, Y: Field{[10]uint32{0x003af907, 0x037f75c7, 0x00a6781c, 0x02a01f7c, 0x00f8a9cb, 0x006264c8, 0x03bac2af, 0x017767cc, 0x035fbd6d, 0x002c902c}}}, + {X: Field{[10]uint32{0x0237b018, 0x033361cd, 0x021b217b, 0x02b6e09d, 0x01eba4ef, 0x015625e3, 0x006566d0, 0x035ec71b, 0x027f0988, 0x001dc4ef}}, Y: Field{[10]uint32{0x00475781, 0x02cd309d, 0x03d9470d, 0x039993b9, 0x01c75f31, 0x017eacd0, 0x02ef7c51, 0x00aea8bb, 0x026fa9d6, 0x0023ee46}}}, + {X: Field{[10]uint32{0x00982b02, 0x0199eea9, 0x0398b1ab, 0x03fc7165, 0x0134c739, 0x02c21573, 0x020acf56, 0x032cee54, 0x0160035d, 0x0015216b}}, Y: Field{[10]uint32{0x02a90f0f, 0x00e658a5, 0x03f9fcd4, 0x01579f72, 0x0357cbd4, 0x0224c46f, 0x03df62e5, 0x005329d0, 0x007b1e7c, 0x00077b1b}}}, + {X: Field{[10]uint32{0x00ee0f19, 0x0268f72c, 0x01ed189c, 0x0007cac1, 0x00411bd2, 0x013a1503, 0x012d1cfc, 0x01213407, 0x003ad3be, 0x002965d4}}, Y: Field{[10]uint32{0x001113cd, 0x0157b8ec, 0x014dce28, 0x03c1d972, 0x00becbd6, 0x036f3d24, 0x02cee664, 0x00466478, 0x027d3800, 0x000d444f}}}, + {X: Field{[10]uint32{0x0191ce4a, 0x03795f37, 0x0046cb94, 0x00de0320, 0x011ae249, 0x02f4bf64, 0x01d07a3d, 0x00c2c55f, 0x0251abb1, 0x002ea46c}}, Y: Field{[10]uint32{0x013e1f6c, 0x030d64c3, 0x01dcfe1d, 0x003f85e6, 0x03837742, 0x03d90bee, 0x01f33f54, 0x03b7ee9a, 0x0080500a, 0x0033f308}}}, + {X: Field{[10]uint32{0x02d324a4, 0x0116ffe1, 0x032e2fb0, 0x012980fe, 0x005c6d2f, 0x01721905, 0x03d33869, 0x01ef4f1b, 0x025883cc, 0x002b7ed6}}, Y: Field{[10]uint32{0x030cdc5c, 0x01554fde, 0x0172222a, 0x014f325d, 0x013a5257, 0x030c36a4, 0x00415a18, 0x00b7f714, 0x02d745d8, 0x000595d3}}}, + {X: Field{[10]uint32{0x03561ae8, 0x013b73e8, 0x023e29d9, 0x029383ee, 0x01ba1f13, 0x00292f8d, 0x0054b141, 0x002972b2, 0x014ddd71, 0x00042124}}, Y: Field{[10]uint32{0x01c25e99, 0x0373e152, 0x003babe6, 0x028d6423, 0x002f2b74, 0x037e3999, 0x02ac6cda, 0x03bd8104, 0x01353240, 0x00194f28}}}, + {X: Field{[10]uint32{0x026c6f7b, 0x0337345b, 0x0033f133, 0x01abe01e, 0x0281876a, 0x02e207bf, 0x028abe50, 0x022c505e, 0x02719af3, 0x001c12a8}}, Y: Field{[10]uint32{0x03769e54, 0x013d9ba8, 0x03b9263f, 0x03d10ae9, 0x0111395a, 0x038a8690, 0x00726c9b, 0x00602f12, 0x02b348c1, 0x0029bfb8}}}, + {X: Field{[10]uint32{0x00aec289, 0x01ee0daa, 0x0108051d, 0x03a250b2, 0x03fe68b0, 0x024f19a0, 0x01f57348, 0x00aa1970, 0x00c17f5d, 0x00118123}}, Y: Field{[10]uint32{0x03288efd, 0x00681e62, 0x03277a46, 0x00d0e106, 0x032e7668, 0x02d3e28c, 0x01bf9c6b, 0x03ddf41d, 0x003089a8, 0x0036173b}}}, + {X: Field{[10]uint32{0x03fce9e9, 0x011d95dd, 0x03c763d5, 0x033d6e87, 0x0107d04c, 0x016634be, 0x02781ba8, 0x00ec858d, 0x02be315d, 0x00143c79}}, Y: Field{[10]uint32{0x026b0b00, 0x017ec3bb, 0x00db7d09, 0x03851f80, 0x0325dd0c, 0x03725887, 0x00249759, 0x02e7ca33, 0x03d62057, 0x003df72d}}}, + {X: Field{[10]uint32{0x0263501c, 0x03ff3402, 0x006d03b7, 0x03cc16f5, 0x02944df1, 0x01d23527, 0x00efa037, 0x0156b404, 0x02446766, 0x001fb428}}, Y: Field{[10]uint32{0x01c18c21, 0x00343c01, 0x028d8269, 0x0196981d, 0x01e9b3ae, 0x00dab91d, 0x02eb2669, 0x0089ed11, 0x0265593f, 0x002a0dde}}}, + {X: Field{[10]uint32{0x03ebccc7, 0x03d18c93, 0x03342c29, 0x00eec7cd, 0x0219b29d, 0x03fc6f4b, 0x01c431dc, 0x030b3d84, 0x00a1ee66, 0x000340e7}}, Y: Field{[10]uint32{0x016d736f, 0x00c4139a, 0x0076e781, 0x03845699, 0x006e652e, 0x033f7321, 0x01ff5e24, 0x0319858a, 0x018214f4, 0x0036c343}}}, + {X: Field{[10]uint32{0x03b092b7, 0x03b60429, 0x015797be, 0x0272ab58, 0x028e3672, 0x01335283, 0x031768d9, 0x03f8bd14, 0x033acc55, 0x000309e5}}, Y: Field{[10]uint32{0x01f41c99, 0x005e8500, 0x020db439, 0x03c7fdd4, 0x000878e1, 0x02e78cc5, 0x02d54029, 0x02c91b15, 0x00eab36a, 0x003370c4}}}, + {X: Field{[10]uint32{0x0046e945, 0x0030cf19, 0x01d846de, 0x02000e8b, 0x01ac14a1, 0x03880b45, 0x0072e48d, 0x031a0c95, 0x0142cce3, 0x000da10a}}, Y: Field{[10]uint32{0x03b8f2f7, 0x000ee581, 0x02bcb574, 0x03e8376b, 0x03208d95, 0x03b55826, 0x009db9ae, 0x020be8d6, 0x03f819ab, 0x0014002c}}}, + {X: Field{[10]uint32{0x0162d0e9, 0x01552b9b, 0x03d7b0c4, 0x03de1783, 0x0074865e, 0x016aed15, 0x03f3a8c5, 0x0086d467, 0x015c3386, 0x00346a86}}, Y: Field{[10]uint32{0x03b737a8, 0x019c9469, 0x03c88c2e, 0x01cea6a2, 0x00832ce7, 0x0221018c, 0x0234576d, 0x00e166d1, 0x0133dc29, 0x0039f877}}}, + {X: Field{[10]uint32{0x000f00f0, 0x03c99fd7, 0x008b0489, 0x00aa3340, 0x03a59b2c, 0x01d9bb04, 0x02bd6ff5, 0x00e7b0d9, 0x01326074, 0x0013d08f}}, Y: Field{[10]uint32{0x00e7a9f4, 0x0075e1e9, 0x034eef5e, 0x016012d3, 0x00b6c3e0, 0x01cb2223, 0x008e6aa2, 0x01305701, 0x029d7ee9, 0x00178f1f}}}, + {X: Field{[10]uint32{0x03f06c4a, 0x006ee641, 0x018c5910, 0x03eabdce, 0x00ebcb9a, 0x02d7ea6e, 0x000859a9, 0x0247bc5f, 0x0280ff89, 0x001aec71}}, Y: Field{[10]uint32{0x0269a253, 0x03fcf261, 0x0039f189, 0x03f54d6e, 0x03217005, 0x01d85717, 0x03c242c9, 0x00ab9745, 0x03750d91, 0x000c6369}}}, + {X: Field{[10]uint32{0x00096f68, 0x00b426b0, 0x03b8bd0f, 0x008cc0c0, 0x02bc3934, 0x03efb8b9, 0x00b251c9, 0x0291a97f, 0x01d44713, 0x00005025}}, Y: Field{[10]uint32{0x0204a2b1, 0x032caeb9, 0x0159322d, 0x03ec2dfd, 0x001c7aa4, 0x0219f1ff, 0x01e632f6, 0x02cdd256, 0x000b3660, 0x00191f80}}}, + {X: Field{[10]uint32{0x035e5323, 0x0184ec12, 0x03b838b2, 0x0068e3a7, 0x02894319, 0x03021e1d, 0x00f831f6, 0x0271b92a, 0x03f0346e, 0x0004844a}}, Y: Field{[10]uint32{0x0257a3d0, 0x010a61a5, 0x0210e30a, 0x0196273f, 0x01faf640, 0x03b936ae, 0x03abf62a, 0x00cf6530, 0x02c2cb45, 0x00390526}}}, + {X: Field{[10]uint32{0x03ca5738, 0x0170dc22, 0x0329b4f7, 0x029e1165, 0x014f2197, 0x02bad67f, 0x00974ebe, 0x01204360, 0x00ccc2ed, 0x003e64d8}}, Y: Field{[10]uint32{0x026f1cb3, 0x020ea4bb, 0x020dbc0c, 0x00524d40, 0x03a06e44, 0x03865c76, 0x001b9f86, 0x01ea2b0b, 0x035e86d7, 0x002e4a8b}}}, + {X: Field{[10]uint32{0x02809ca4, 0x013a01ba, 0x00567a65, 0x02712522, 0x0264ae77, 0x0394fd47, 0x032112bb, 0x00fb3121, 0x024ec81a, 0x000b7b96}}, Y: Field{[10]uint32{0x033d4954, 0x00786931, 0x033b1bcb, 0x018e4d3f, 0x02bdea4d, 0x03f3c983, 0x02a1bcff, 0x011f0702, 0x00a1df6d, 0x00078baa}}}, + {X: Field{[10]uint32{0x01461229, 0x020b1ec3, 0x006a5f23, 0x0346ef5d, 0x00b73688, 0x00371404, 0x01638f7b, 0x03ade3d2, 0x02a2139e, 0x00016ea9}}, Y: Field{[10]uint32{0x01dca81d, 0x00756549, 0x00693cc0, 0x02a58055, 0x03b08a0c, 0x03909427, 0x02a75cd9, 0x014bc67c, 0x038310a3, 0x001c99dc}}}, + {X: Field{[10]uint32{0x02913d70, 0x015a2ea0, 0x0183c8f8, 0x00b365ba, 0x02f60d10, 0x004c6791, 0x034a6f3b, 0x01135add, 0x02b9321d, 0x0028fddf}}, Y: Field{[10]uint32{0x00613a05, 0x033ae397, 0x00077d3f, 0x0195dd1c, 0x00f6db17, 0x01afb074, 0x02386302, 0x039c3c6a, 0x01df8271, 0x003e4f5d}}}, + {X: Field{[10]uint32{0x03f2cf08, 0x02421371, 0x017db72f, 0x019baefa, 0x008588d7, 0x022ba7ce, 0x00fd62d6, 0x0249d0de, 0x02b5fa1f, 0x0011ae99}}, Y: Field{[10]uint32{0x038897f9, 0x02d77648, 0x0385b72d, 0x038bb3c1, 0x01f44bf7, 0x00ab5415, 0x01f9b555, 0x02e37e4b, 0x02243078, 0x000151cf}}}, + {X: Field{[10]uint32{0x0280dbf2, 0x034873b3, 0x02af4291, 0x01732865, 0x000bccb1, 0x01547eb4, 0x03415b6f, 0x000982ca, 0x0246ddcf, 0x0036da80}}, Y: Field{[10]uint32{0x00591d3c, 0x01645fca, 0x01c7ea98, 0x01bf9d78, 0x025f8885, 0x00f34259, 0x02c6f6f6, 0x00725e95, 0x0046f93e, 0x000e5b35}}}, + {X: Field{[10]uint32{0x026c8fa1, 0x00720d1b, 0x02e8c5cc, 0x02e19a64, 0x0338187e, 0x036e86c2, 0x012c4e58, 0x026368e6, 0x011ca7a2, 0x002e0be3}}, Y: Field{[10]uint32{0x01483461, 0x02d80d80, 0x03ee028e, 0x02254cf8, 0x02b1b805, 0x02dd9f1a, 0x00fdbddd, 0x0104f235, 0x036af9b0, 0x0012c2b9}}}, + {X: Field{[10]uint32{0x0085f000, 0x003c0631, 0x014a182e, 0x035edffe, 0x01d106fd, 0x02984a18, 0x00c6348a, 0x0192bfa7, 0x02a4dc92, 0x00111ba5}}, Y: Field{[10]uint32{0x01568440, 0x00cf7c26, 0x02507c8e, 0x0032984a, 0x012771c4, 0x033d9def, 0x0223b7ec, 0x00e9607f, 0x03d92159, 0x000cb7f8}}}, + {X: Field{[10]uint32{0x003a2eb9, 0x02874e4c, 0x01fb81ad, 0x01b3616f, 0x025c8a3e, 0x01941277, 0x0300ca34, 0x01b732e7, 0x03107bfa, 0x0000321b}}, Y: Field{[10]uint32{0x0034219d, 0x02b92b9f, 0x03ed888b, 0x01f92aa9, 0x019dcb27, 0x00c8d1d3, 0x0218c6a7, 0x0020502b, 0x00667e91, 0x003993dc}}}, + {X: Field{[10]uint32{0x036cd710, 0x017d6eb6, 0x01cdb83e, 0x02acc0a9, 0x009201c2, 0x000af9ee, 0x00d94cc2, 0x010a6793, 0x036ecda1, 0x002fb63a}}, Y: Field{[10]uint32{0x01411aac, 0x01226957, 0x01256708, 0x00f08250, 0x0116a1f0, 0x01a49d1b, 0x0367b9f6, 0x02903174, 0x00fab375, 0x00055cdb}}}, + {X: Field{[10]uint32{0x0364d38f, 0x0249b823, 0x02881da1, 0x014b7a0a, 0x00665e0a, 0x035d6520, 0x03171b5a, 0x02b44107, 0x03f2c5f6, 0x002cfbe9}}, Y: Field{[10]uint32{0x031677e6, 0x017eb23f, 0x013ffc53, 0x01840fed, 0x00b6dbd3, 0x03a6380d, 0x02b0dfaa, 0x00689003, 0x00843276, 0x000f7d8f}}}, + {X: Field{[10]uint32{0x0315cbd2, 0x03149749, 0x02921ebd, 0x0305947b, 0x018fa9af, 0x027850f8, 0x01213a84, 0x026d7c8d, 0x01a0cd86, 0x002c1183}}, Y: Field{[10]uint32{0x006fd7ee, 0x02ec486e, 0x00eee865, 0x017b3d8c, 0x0146b472, 0x02d5eca6, 0x033b4c02, 0x0061df39, 0x02adf354, 0x0030468f}}}, + {X: Field{[10]uint32{0x033bc071, 0x03b0f3b5, 0x0152a49c, 0x014e9f43, 0x00b49692, 0x00b58035, 0x00191871, 0x014afacb, 0x0117a174, 0x000a2c25}}, Y: Field{[10]uint32{0x0120a326, 0x01e90f7a, 0x01ae7fce, 0x0341a437, 0x0040ffd6, 0x0102bd65, 0x01635180, 0x01d64444, 0x0308073c, 0x000d9a59}}}, + {X: Field{[10]uint32{0x03b5f136, 0x02946c3e, 0x037536b1, 0x03f11c55, 0x020ad86a, 0x002fc5fe, 0x02e76b7c, 0x032d601e, 0x00d8192a, 0x001486fb}}, Y: Field{[10]uint32{0x01ac858d, 0x01ffa0dd, 0x026691dc, 0x003bb7cc, 0x02ee0671, 0x015145a0, 0x00f399e1, 0x03c4fb33, 0x00c6d7af, 0x00192295}}}, + {X: Field{[10]uint32{0x01f6cf67, 0x02dd87de, 0x01082368, 0x029ddb4e, 0x02a2a200, 0x0161f613, 0x009bca1b, 0x0275949b, 0x01d0b7fd, 0x002def06}}, Y: Field{[10]uint32{0x0370acae, 0x025ba347, 0x023ad2f7, 0x03fbfeff, 0x024a1e9f, 0x01cc58ed, 0x012c29a7, 0x03233d09, 0x02bee0d0, 0x0016b7be}}}, + {X: Field{[10]uint32{0x017aea8b, 0x00c7c34e, 0x03114dc9, 0x01b704f9, 0x0066db7b, 0x0055633b, 0x030c2412, 0x02a35507, 0x03e51b6c, 0x0039238e}}, Y: Field{[10]uint32{0x020f28ac, 0x01079f83, 0x004314bf, 0x00fbe7dd, 0x01f6cb3a, 0x03c4ad19, 0x03064bff, 0x038bc4c3, 0x03575b16, 0x0036f3d8}}}, + {X: Field{[10]uint32{0x03455751, 0x03d0a427, 0x028909b2, 0x02d65d67, 0x014ec795, 0x038a3ca9, 0x02475968, 0x024a9a8c, 0x02de71c6, 0x0000e571}}, Y: Field{[10]uint32{0x0269a13d, 0x030b2169, 0x003c3fcf, 0x0391266f, 0x03b5b097, 0x02b28557, 0x02ed4e15, 0x03768b07, 0x011803c7, 0x003b9780}}}, + {X: Field{[10]uint32{0x02808d99, 0x01814af2, 0x009a81a6, 0x02aa293a, 0x02663da3, 0x0303fb0d, 0x03412919, 0x010e6489, 0x02c3b118, 0x000a24e2}}, Y: Field{[10]uint32{0x03174603, 0x002e6193, 0x025f8031, 0x0256e87a, 0x00da1682, 0x0032e684, 0x03eadb18, 0x0306fa8a, 0x027ab1eb, 0x0012ba37}}}, + {X: Field{[10]uint32{0x0248f5a4, 0x00fb9ad4, 0x036f5852, 0x013f428d, 0x03be3af6, 0x0389fa14, 0x01472f23, 0x0233d881, 0x021895e8, 0x0001703d}}, Y: Field{[10]uint32{0x004be51b, 0x02c70f79, 0x02624b41, 0x0360d107, 0x038473e3, 0x03f6d43e, 0x03634569, 0x03aecedc, 0x0055cd09, 0x002f970f}}}, + {X: Field{[10]uint32{0x023ca1d7, 0x01536b17, 0x02ec0015, 0x004c7ae8, 0x02ae2e8f, 0x01fb416e, 0x028e125f, 0x03dccfb4, 0x03bf22d0, 0x002af87d}}, Y: Field{[10]uint32{0x02b0ab4e, 0x02a8b106, 0x02ffc918, 0x02d656ba, 0x03e553e6, 0x0265b2cc, 0x008ffe4b, 0x007daa5c, 0x00db3de3, 0x000a9692}}}, + {X: Field{[10]uint32{0x008d8be7, 0x03f4a738, 0x02349bcc, 0x03b110a9, 0x015f1dbe, 0x0298244a, 0x0124907e, 0x01c2cde4, 0x002757d3, 0x0030c109}}, Y: Field{[10]uint32{0x01868934, 0x01d73a6c, 0x031448bb, 0x0304a7a3, 0x01528959, 0x02326047, 0x01b35e2f, 0x0369d54d, 0x02b33e0f, 0x0019e993}}}, + {X: Field{[10]uint32{0x0140f5b8, 0x014cbf8c, 0x01c21c81, 0x0119abd0, 0x03031527, 0x038690fd, 0x02f0b6a9, 0x008675de, 0x0146356f, 0x00196966}}, Y: Field{[10]uint32{0x00f35918, 0x00e9871d, 0x0241f246, 0x0164f611, 0x001692b0, 0x001c3688, 0x00cf27fc, 0x013e8146, 0x028d5d3e, 0x001939c4}}}, + {X: Field{[10]uint32{0x001413e2, 0x03ad4fc5, 0x0219ede2, 0x02df536b, 0x0060311c, 0x02e67684, 0x03066f2b, 0x02321d1a, 0x023b4842, 0x001b1f4b}}, Y: Field{[10]uint32{0x00b7e3a1, 0x0192f2db, 0x007ab2a6, 0x03f8a3df, 0x03286292, 0x03b5ece0, 0x022864d1, 0x0319c137, 0x03bfc2e7, 0x00012e91}}}, + {X: Field{[10]uint32{0x03fdcdd9, 0x033d63a4, 0x019cf44a, 0x01fe914e, 0x03565579, 0x0324ffd5, 0x03798a9b, 0x02270ad1, 0x03bdb99c, 0x00037495}}, Y: Field{[10]uint32{0x01b3e4af, 0x00ab8db0, 0x020cc1af, 0x02058e43, 0x03e8194f, 0x010a2440, 0x027e0d71, 0x01fc954b, 0x00f2a920, 0x003e359c}}}, + {X: Field{[10]uint32{0x00c23d7b, 0x02ad79bb, 0x0263eb2a, 0x01f2c23c, 0x026827b8, 0x03351f18, 0x0152b8fa, 0x0310910a, 0x034eb8dd, 0x00094580}}, Y: Field{[10]uint32{0x0216ac9e, 0x031d6858, 0x02826433, 0x00d12d21, 0x00bd2ab5, 0x01cc774c, 0x03545bca, 0x03a81eb4, 0x0079f5fe, 0x002b63a2}}}, + {X: Field{[10]uint32{0x0134246d, 0x037382b6, 0x0180b907, 0x00559646, 0x017f0752, 0x00847b70, 0x01834b38, 0x02478ec6, 0x005427b5, 0x001f9c8c}}, Y: Field{[10]uint32{0x0263a71f, 0x020051d3, 0x034e33b0, 0x03a38c91, 0x032506be, 0x00261d82, 0x01671df1, 0x02129bc8, 0x00bbd8c1, 0x0017247f}}}, + {X: Field{[10]uint32{0x01d1898b, 0x0174e65b, 0x0333e72b, 0x01ffbe77, 0x038d4fb5, 0x0169bdae, 0x03876914, 0x0034a812, 0x0116ac3c, 0x0006c7e7}}, Y: Field{[10]uint32{0x035b4b1b, 0x034299fc, 0x01bd1024, 0x014e5146, 0x0215e944, 0x01890696, 0x00a399e1, 0x039142c5, 0x031e05ff, 0x001910af}}}, + {X: Field{[10]uint32{0x00872f2b, 0x001b18ff, 0x01a23e90, 0x01364f14, 0x0265b514, 0x02598c71, 0x039f6715, 0x03a90e8e, 0x024e57cd, 0x00383c7e}}, Y: Field{[10]uint32{0x0332e564, 0x02705dab, 0x018640a4, 0x037b349f, 0x0374f9a3, 0x00547751, 0x02056170, 0x003450bd, 0x01fb5489, 0x00320e14}}}, + {X: Field{[10]uint32{0x02728c3a, 0x0284bacc, 0x03d0b3e9, 0x009e675e, 0x0040efa0, 0x00a8281e, 0x01a3667b, 0x02082894, 0x03bb697c, 0x0002ba56}}, Y: Field{[10]uint32{0x03aebb41, 0x016c521a, 0x03f10e68, 0x0371ee00, 0x011140e0, 0x016b9427, 0x02a4da94, 0x0025b61b, 0x02970280, 0x003836ee}}}, + {X: Field{[10]uint32{0x002aed31, 0x00d01d9a, 0x01b3069e, 0x02b9b9fc, 0x030afad1, 0x014ffe30, 0x02529ea8, 0x03d0b07f, 0x0085d52e, 0x003f23fe}}, Y: Field{[10]uint32{0x01e3dd14, 0x0382992c, 0x00850433, 0x01c50cab, 0x0209cced, 0x00d5b406, 0x0104f1b3, 0x023d89ee, 0x02d4b26e, 0x001497b3}}}, + {X: Field{[10]uint32{0x02c8e810, 0x0272accc, 0x02546c62, 0x00f04d94, 0x00ed68d6, 0x02a59683, 0x01b57533, 0x01896835, 0x036a459d, 0x001984c4}}, Y: Field{[10]uint32{0x015b65cb, 0x02614ed9, 0x0069b93a, 0x00050049, 0x0228b4cb, 0x02c5a2f4, 0x01732b43, 0x002a52cf, 0x03f824d3, 0x00043ca7}}}, + {X: Field{[10]uint32{0x01ea56f0, 0x03d68df7, 0x01b91f24, 0x0107daf8, 0x0319dda8, 0x01bbced8, 0x02309b39, 0x00cc9f1d, 0x01157b68, 0x00114216}}, Y: Field{[10]uint32{0x01956821, 0x01d953e4, 0x02a12bbc, 0x02fed2c6, 0x032b6ebb, 0x0023569a, 0x0155e34f, 0x022391a8, 0x0046584a, 0x002e69c5}}}, + {X: Field{[10]uint32{0x008a4325, 0x00bcfddf, 0x0064f0e3, 0x013089d1, 0x01be58af, 0x035785c4, 0x0382576c, 0x02e8377a, 0x03bd8f10, 0x0005a3b8}}, Y: Field{[10]uint32{0x0278b34c, 0x01d08099, 0x0388668b, 0x02116082, 0x00465fb1, 0x020be1c0, 0x016891c9, 0x01027ea4, 0x026343ff, 0x001bbbc7}}}, + {X: Field{[10]uint32{0x03048c04, 0x0009c53b, 0x0131b718, 0x013181de, 0x00fdd86b, 0x02c800f9, 0x034db8de, 0x008d053a, 0x0197763c, 0x002cc647}}, Y: Field{[10]uint32{0x02152edd, 0x016a0f30, 0x00a04f88, 0x0358ddc4, 0x03ce6860, 0x03af7570, 0x03d53d83, 0x01d72af9, 0x008559f9, 0x002d2b0c}}}, + {X: Field{[10]uint32{0x022f8738, 0x0280898e, 0x0096a51e, 0x03f3c804, 0x033ec477, 0x03a4fd2e, 0x032acca1, 0x03724cf1, 0x005b4e73, 0x0036a757}}, Y: Field{[10]uint32{0x0012f8aa, 0x02cc826a, 0x015b50b4, 0x03422c28, 0x01400c05, 0x018d9944, 0x01b93b0d, 0x019b0da2, 0x02da65f9, 0x001feda8}}}, + {X: Field{[10]uint32{0x00b0dd66, 0x0196f339, 0x0215c01e, 0x02825538, 0x008d1cfa, 0x0314991c, 0x011730f0, 0x0159e05e, 0x01d2a7e7, 0x00050395}}, Y: Field{[10]uint32{0x0153d5b3, 0x00165042, 0x0118bce8, 0x0397225e, 0x0087e2d5, 0x03bcd8c6, 0x02470d81, 0x00965e47, 0x00d863ea, 0x0012fee8}}}, + {X: Field{[10]uint32{0x02b173d8, 0x00e67ac5, 0x00a1cf3f, 0x03e198d1, 0x03b438f7, 0x03f8f62f, 0x029bd01b, 0x03321f3b, 0x00f64b95, 0x00056a73}}, Y: Field{[10]uint32{0x03b33f3b, 0x018f2366, 0x03f90e03, 0x0269b946, 0x035d0ba5, 0x002cc6a4, 0x01e51fbf, 0x03b49581, 0x02cdbdeb, 0x0013d51c}}}, + {X: Field{[10]uint32{0x00af6e06, 0x032a8f62, 0x0088f814, 0x0244b42a, 0x00c7ed5e, 0x02b4606f, 0x033d3d8f, 0x01c076de, 0x024b6776, 0x003a1b8d}}, Y: Field{[10]uint32{0x01ea7b92, 0x0130d5d3, 0x00915f83, 0x03452989, 0x0124a466, 0x018a1a62, 0x0195518c, 0x001034fa, 0x00600afc, 0x00008bf5}}}, + {X: Field{[10]uint32{0x02500eb6, 0x020beb96, 0x03ddbfc2, 0x00ea9b56, 0x03b1f81d, 0x008faf39, 0x021134c7, 0x03c36c8c, 0x0298cd25, 0x000f0986}}, Y: Field{[10]uint32{0x03abd9c1, 0x00d7f15d, 0x02cbc455, 0x001b7abb, 0x004027a5, 0x0325a99b, 0x00b6ed7e, 0x02084629, 0x01455e49, 0x000ae348}}}, + {X: Field{[10]uint32{0x00c955c8, 0x0151bb7d, 0x0300bd66, 0x017408e0, 0x00368c3b, 0x01deab3f, 0x03b1f6c1, 0x02d45db2, 0x00114d55, 0x00126daa}}, Y: Field{[10]uint32{0x03815b94, 0x00d60e28, 0x01bca5b5, 0x0044e475, 0x020ab944, 0x03c6c2ca, 0x038e0017, 0x039f041a, 0x00a409f0, 0x00346c49}}}, + {X: Field{[10]uint32{0x0125f6b9, 0x02a36b31, 0x03f71f34, 0x007fde90, 0x016cee80, 0x003312e0, 0x01deab62, 0x039694fe, 0x0061f0d3, 0x001bb23a}}, Y: Field{[10]uint32{0x02dcfd6a, 0x00006ae9, 0x02e27782, 0x01c718fe, 0x011e01a8, 0x02dad7ac, 0x009c4f7e, 0x02bef4cc, 0x005b68cc, 0x0010b815}}}, + {X: Field{[10]uint32{0x0195b9ac, 0x02262a91, 0x03e1ac08, 0x015d1903, 0x004b527e, 0x023c5369, 0x005a2e2a, 0x02973f4c, 0x034159ac, 0x001cd0ac}}, Y: Field{[10]uint32{0x03160124, 0x01748d14, 0x01ac121b, 0x0102b21b, 0x0127f64f, 0x03a984a0, 0x03969a84, 0x00bb88d8, 0x0302d244, 0x002d4984}}}, + {X: Field{[10]uint32{0x02686fa9, 0x034c2e56, 0x0054b687, 0x015e9827, 0x00b27477, 0x03c9a59f, 0x01cfc43d, 0x00d42d97, 0x00bd54ef, 0x00210acc}}, Y: Field{[10]uint32{0x0336ead6, 0x016b20fc, 0x0277b9cc, 0x01f1c79f, 0x037d594f, 0x01723795, 0x0331f63f, 0x00dae7b3, 0x02922caa, 0x0013fea7}}}, + {X: Field{[10]uint32{0x01f94862, 0x02381306, 0x02153999, 0x0028fa46, 0x037c13bb, 0x0255d5fb, 0x03fb60d4, 0x029f1ef0, 0x035dd589, 0x000b6e90}}, Y: Field{[10]uint32{0x028cc0a1, 0x03522257, 0x013ed55c, 0x0171f7e1, 0x00931d3e, 0x01dd7940, 0x038eca16, 0x00f2e748, 0x020ea4b2, 0x0031101c}}}, + {X: Field{[10]uint32{0x033bec02, 0x034f1171, 0x01c07998, 0x02f4f40d, 0x02bb284f, 0x0064e42f, 0x035a4578, 0x03396ca9, 0x01248f84, 0x002747a1}}, Y: Field{[10]uint32{0x00eb9ead, 0x0201d325, 0x03f40129, 0x033e126f, 0x036d62e8, 0x02a018fc, 0x038bbc84, 0x0332b08c, 0x024cc935, 0x0023903b}}}, + {X: Field{[10]uint32{0x00b441af, 0x0158b4b6, 0x01cf4e76, 0x008d8b89, 0x019a7f86, 0x005525d5, 0x03639121, 0x029d6f53, 0x02c5d1fb, 0x00349cd6}}, Y: Field{[10]uint32{0x01afc081, 0x023ecd9f, 0x0331da1d, 0x01b4727e, 0x01b4ade8, 0x02d4bcf9, 0x037cb0e5, 0x03cce5de, 0x003619f9, 0x0002f4ab}}}, + {X: Field{[10]uint32{0x00a3e11a, 0x00eb7fac, 0x017cdca6, 0x025b82a5, 0x01b27c2b, 0x015ca4e5, 0x01a68d31, 0x03fc4eb4, 0x0238f46c, 0x002c04c3}}, Y: Field{[10]uint32{0x006aa3c4, 0x01666803, 0x001b5535, 0x00590d9b, 0x02610f15, 0x02c45dda, 0x02ff8443, 0x0100721f, 0x017f4a61, 0x000f67da}}}, + {X: Field{[10]uint32{0x01ec76a7, 0x00b99a0d, 0x02caaed8, 0x01e0a650, 0x03f59faa, 0x02e277a2, 0x022d8f33, 0x01abe2d9, 0x022f1530, 0x00382a81}}, Y: Field{[10]uint32{0x015e6f2e, 0x01115fb0, 0x0218179a, 0x015097f1, 0x0334305b, 0x02b260e1, 0x01ffb8ac, 0x01cc1297, 0x00b56ea7, 0x00317d7c}}}, + {X: Field{[10]uint32{0x019432d5, 0x012f42c0, 0x004139f4, 0x021665eb, 0x002156d6, 0x03a61d7b, 0x03e15c4a, 0x03472461, 0x02c1a8e6, 0x003b4589}}, Y: Field{[10]uint32{0x01f0c35d, 0x01410a5c, 0x00d7e69d, 0x011b164e, 0x037f0fad, 0x039cdcfd, 0x035e531e, 0x0128fd08, 0x015b9dcb, 0x000f0362}}}, + {X: Field{[10]uint32{0x01c92833, 0x034bb413, 0x00be8431, 0x036e1b81, 0x00664744, 0x01325d3e, 0x0025aa67, 0x03f6be33, 0x00314e18, 0x0028b333}}, Y: Field{[10]uint32{0x0359d71c, 0x00e9d3f1, 0x038a846c, 0x02230190, 0x002e1b9c, 0x019cbd79, 0x00e55368, 0x01c7bb48, 0x0249d6d4, 0x002d9043}}}, + {X: Field{[10]uint32{0x0268bf27, 0x03d9d6fd, 0x0331fa35, 0x0018f552, 0x00b3b24e, 0x00b65aa2, 0x0319119b, 0x03d8b12b, 0x012fdb15, 0x0016ff06}}, Y: Field{[10]uint32{0x03d99051, 0x02786611, 0x0223b609, 0x01890087, 0x02dbe0dc, 0x03d8a8e2, 0x0031bb39, 0x03850241, 0x0374acb4, 0x00119dd0}}}, + {X: Field{[10]uint32{0x01227028, 0x02ad7c02, 0x0090e97d, 0x015621ab, 0x0161eb21, 0x01fbec02, 0x022e5539, 0x031010ca, 0x0289da73, 0x0019a10a}}, Y: Field{[10]uint32{0x01941de9, 0x00602448, 0x02f4e90b, 0x031a2726, 0x01da171b, 0x00405b36, 0x012dc9df, 0x02812223, 0x03c3511e, 0x000ea3a0}}}, + {X: Field{[10]uint32{0x01c516e8, 0x001d9af3, 0x002f7181, 0x0137564d, 0x03e3a4a8, 0x03ba2e4a, 0x01f89913, 0x017e6351, 0x01973ba9, 0x003b208c}}, Y: Field{[10]uint32{0x037206fe, 0x0097866a, 0x032aef1d, 0x01b6b265, 0x0177d547, 0x02a54ed7, 0x033bc882, 0x00fd3865, 0x0079f511, 0x0014cb4f}}}, + {X: Field{[10]uint32{0x02fc140b, 0x009467dc, 0x007ad1ac, 0x01b0caac, 0x03e8e8e2, 0x03cfb4e7, 0x015e5b65, 0x0185dabb, 0x0278bc51, 0x000ed97f}}, Y: Field{[10]uint32{0x00208d98, 0x03deb7e6, 0x02c1b9c9, 0x035cc533, 0x02566a1f, 0x019be577, 0x037f9764, 0x03ae704f, 0x02de5190, 0x00215b4d}}}, + {X: Field{[10]uint32{0x018cc346, 0x01880db4, 0x03945182, 0x02cc9c8a, 0x01f9f31e, 0x00ff7402, 0x02545ce8, 0x00d497a7, 0x02ca51c4, 0x0000eb03}}, Y: Field{[10]uint32{0x0213a7e6, 0x00c092a8, 0x01e509ab, 0x0322c4d3, 0x00325beb, 0x01038251, 0x004ef313, 0x02933cc9, 0x018bc3b2, 0x00371c80}}}, + {X: Field{[10]uint32{0x02e23508, 0x014e810b, 0x0172ffbe, 0x02e6ed42, 0x00bcdac8, 0x005f66f8, 0x012db7c2, 0x03b39bb7, 0x018d6c50, 0x00124a59}}, Y: Field{[10]uint32{0x02cec38a, 0x012f642a, 0x00c3a728, 0x03e35e84, 0x016dfc8d, 0x008ca1d0, 0x0155980a, 0x02ef52e1, 0x002c61aa, 0x00396b29}}}, + {X: Field{[10]uint32{0x013a6291, 0x002ad6c5, 0x022781d6, 0x02ad2469, 0x037830e2, 0x031b48a5, 0x029e7488, 0x01924bc3, 0x036f4bc9, 0x002745b9}}, Y: Field{[10]uint32{0x015ac7ab, 0x0099bb22, 0x01711da7, 0x0228113a, 0x015eaa98, 0x01dc2bbd, 0x00363189, 0x01a48815, 0x0300e4ac, 0x00399643}}}, + {X: Field{[10]uint32{0x035df94d, 0x026cae07, 0x0276d5e0, 0x01a89f01, 0x014e13b3, 0x03fe5eb7, 0x02a9bbe7, 0x039febd4, 0x004a1327, 0x002c1927}}, Y: Field{[10]uint32{0x0091acdd, 0x01570f0e, 0x02d120b3, 0x00206981, 0x02d79fdd, 0x01fdd6a2, 0x032a0807, 0x01a12381, 0x0316a6f3, 0x00264720}}}, + {X: Field{[10]uint32{0x0052235d, 0x0304af6c, 0x013c96b7, 0x03d817f8, 0x03eb39a8, 0x0129285a, 0x01ce51c4, 0x00f7b4b2, 0x0221f630, 0x0023c652}}, Y: Field{[10]uint32{0x0330739e, 0x015749a5, 0x030f1bd7, 0x00b3b7f9, 0x01c63517, 0x0268b721, 0x01afb23e, 0x020b8951, 0x03d0c9af, 0x002f477c}}}, + {X: Field{[10]uint32{0x03e21ff0, 0x021fc77b, 0x0262a60e, 0x00871b08, 0x033872b7, 0x03579996, 0x037f6c3d, 0x0133651d, 0x0297cc7a, 0x000769c6}}, Y: Field{[10]uint32{0x00be6a06, 0x03411a01, 0x026e87f0, 0x03a19a8f, 0x030a4d30, 0x009cebfa, 0x032b9af1, 0x01b869eb, 0x02413903, 0x001e345e}}}, + {X: Field{[10]uint32{0x0386aa45, 0x01ebcf37, 0x0290f7a3, 0x006ec604, 0x03e04e40, 0x0148a471, 0x02fabb1c, 0x03c98b4f, 0x0363e493, 0x00027fb4}}, Y: Field{[10]uint32{0x003de729, 0x03fe0d9c, 0x00d6cb3f, 0x00da437f, 0x0353a54f, 0x02972597, 0x01b18276, 0x02b7fefb, 0x033ee164, 0x0004c330}}}, + {X: Field{[10]uint32{0x03a1e49f, 0x01d6a1e9, 0x0298febb, 0x00eb079e, 0x007a601a, 0x032ed850, 0x01ebc38f, 0x00d5a066, 0x00cd221c, 0x003459bb}}, Y: Field{[10]uint32{0x0072f06e, 0x0257dda8, 0x003c9937, 0x01f33952, 0x00b0628c, 0x0152150d, 0x00ec5628, 0x0002f577, 0x02b7e7c2, 0x00098888}}}, + {X: Field{[10]uint32{0x01dbe0fd, 0x002482a3, 0x035cc293, 0x01b8e4d0, 0x02b998a5, 0x02528ba3, 0x03078392, 0x01c30730, 0x00bd3e37, 0x0039e14f}}, Y: Field{[10]uint32{0x000e5a8e, 0x00503da6, 0x0050b80a, 0x02c63e92, 0x00cff1e7, 0x0008f0ef, 0x01d29181, 0x01f31259, 0x02ca6714, 0x001e5df9}}}, + {X: Field{[10]uint32{0x0227a17f, 0x03d27158, 0x03511480, 0x039c108f, 0x0251036c, 0x02c687c0, 0x02a3cd56, 0x000804af, 0x02b1cb14, 0x002a2c3f}}, Y: Field{[10]uint32{0x01ba8a9f, 0x02773e9d, 0x037b527c, 0x02483225, 0x0367afe7, 0x00e00723, 0x00eedd6d, 0x02db6db3, 0x03db9d3a, 0x003335f0}}}, + {X: Field{[10]uint32{0x02d617d7, 0x0167db15, 0x02b26c90, 0x001aa11a, 0x006d02e4, 0x013d62e6, 0x02905797, 0x015d54c7, 0x01d9e181, 0x0015f397}}, Y: Field{[10]uint32{0x02142d14, 0x006b18ff, 0x01bc4e85, 0x03c97bf2, 0x01829f61, 0x02a3e6bb, 0x01598f8a, 0x03cc589a, 0x00904399, 0x00330d30}}}, + {X: Field{[10]uint32{0x00f9c858, 0x02e61bf4, 0x02f2d6c8, 0x031b2fc0, 0x008077b6, 0x0196acf9, 0x03bbc1d3, 0x03f1b6fb, 0x00b64f60, 0x0011e5e4}}, Y: Field{[10]uint32{0x007f2f9b, 0x022cd582, 0x03f435df, 0x006a57a6, 0x025cff91, 0x00f923e9, 0x025382ae, 0x00649774, 0x0182e358, 0x00055fd2}}}, + {X: Field{[10]uint32{0x03f17c68, 0x019421ff, 0x03b1ccb2, 0x0328f2cd, 0x008ee0a0, 0x004ef9db, 0x001b6228, 0x00290486, 0x007b1ffe, 0x000156af}}, Y: Field{[10]uint32{0x0171d99f, 0x03b7532a, 0x032d669b, 0x02fe0a0f, 0x01606272, 0x02877496, 0x039e6030, 0x01314d33, 0x024923e9, 0x002f44d0}}}, + {X: Field{[10]uint32{0x00d2e659, 0x019ce509, 0x011da1dc, 0x03807514, 0x02bd3156, 0x0397dc27, 0x004d4310, 0x0359eae0, 0x00328bf5, 0x001b29f8}}, Y: Field{[10]uint32{0x02ca2647, 0x008815d7, 0x01a69077, 0x03d1b4ac, 0x00d80aaa, 0x03e1c360, 0x011c2ff2, 0x00e42595, 0x0133f368, 0x00310a2c}}}, + {X: Field{[10]uint32{0x01f530d3, 0x0167a44b, 0x014dd999, 0x03ba706b, 0x02346ae4, 0x02ebea2c, 0x03d20baf, 0x0021b132, 0x01a983e9, 0x001837c6}}, Y: Field{[10]uint32{0x0379cc48, 0x022dec0e, 0x01e31d7a, 0x03e211c0, 0x01a09d60, 0x0393a393, 0x01c2f1e0, 0x005e8108, 0x005429f8, 0x0036b9ee}}}, + {X: Field{[10]uint32{0x03686bce, 0x009b5b74, 0x012c7e1d, 0x00141ae9, 0x035c22ff, 0x01668e11, 0x0180ea1c, 0x03cab6eb, 0x010e5ef5, 0x001bc635}}, Y: Field{[10]uint32{0x00d7d7a9, 0x00cdab7c, 0x038f513a, 0x01756d15, 0x00d3f340, 0x030de1b8, 0x00f5c83b, 0x03bf43eb, 0x020fa166, 0x003475fa}}}, + {X: Field{[10]uint32{0x03d949e0, 0x03a281cb, 0x01233b3b, 0x00399796, 0x01fcdfe0, 0x0377ba76, 0x009569a8, 0x004cd92b, 0x009d5ed5, 0x002d8d37}}, Y: Field{[10]uint32{0x0331db69, 0x01b40dba, 0x021a70e8, 0x01d9958a, 0x02fdf189, 0x0370d15b, 0x01a505cb, 0x0095d7c9, 0x02e2c61b, 0x0035cb91}}}, + {X: Field{[10]uint32{0x03445910, 0x0159bf65, 0x00f0e4fc, 0x020da7d7, 0x0340d919, 0x00f6f16a, 0x02461714, 0x0093cf99, 0x00f02dba, 0x00168dff}}, Y: Field{[10]uint32{0x01c69d1e, 0x010918dd, 0x00b59c33, 0x00f4a5d7, 0x0333e615, 0x00531e11, 0x02a95826, 0x01d1b198, 0x01d813f8, 0x002a5834}}}, + {X: Field{[10]uint32{0x0112661c, 0x00eb86fc, 0x029e11b8, 0x023c6aac, 0x01eeeb8f, 0x0065b63f, 0x00201b6b, 0x0200cb18, 0x02a73731, 0x0022abc5}}, Y: Field{[10]uint32{0x039a8e44, 0x02ead22a, 0x0215d611, 0x025661f1, 0x036d03a7, 0x0117cab9, 0x03cc0c28, 0x02929d58, 0x035666a3, 0x0031187b}}}, + {X: Field{[10]uint32{0x035e3434, 0x012e2bab, 0x0004d9cd, 0x024d0b0a, 0x011d85a6, 0x001ca711, 0x03e7f49e, 0x0057bf64, 0x03a5a05f, 0x00115bc2}}, Y: Field{[10]uint32{0x0311cad5, 0x01fb2c9c, 0x0135bb0f, 0x02f612e4, 0x0213f616, 0x00c10785, 0x006da131, 0x006a2dfd, 0x00a99922, 0x0029a03d}}}, + {X: Field{[10]uint32{0x00f5c741, 0x02cd32ce, 0x0170a9d0, 0x003e85e2, 0x014bfdc9, 0x00784b2e, 0x03146d93, 0x015025d7, 0x02a1f190, 0x003e270d}}, Y: Field{[10]uint32{0x0044099b, 0x0348dd67, 0x01646579, 0x0233ad28, 0x034b1df3, 0x0307fe8e, 0x01866159, 0x006e4a84, 0x008058e3, 0x000ed58b}}}, + {X: Field{[10]uint32{0x01f3f76a, 0x030940d0, 0x004289d2, 0x0398cbcc, 0x00e23876, 0x035a73ed, 0x00c49031, 0x02180036, 0x03112e1d, 0x001fdafa}}, Y: Field{[10]uint32{0x00ff4a9b, 0x03743b29, 0x02fb90cd, 0x035ba33d, 0x0008d98e, 0x00589ee6, 0x0194b9b5, 0x016bf2fa, 0x0007c092, 0x002864dd}}}, + {X: Field{[10]uint32{0x02d73511, 0x03718184, 0x000d3827, 0x010c653d, 0x011010f5, 0x03475400, 0x037130ba, 0x031f0de2, 0x00aab585, 0x002416b4}}, Y: Field{[10]uint32{0x037177a9, 0x02e00942, 0x018aab83, 0x007e8b82, 0x00a44782, 0x024745b5, 0x00130aee, 0x0334e054, 0x0301c3dd, 0x002ff381}}}, + {X: Field{[10]uint32{0x03408b6c, 0x0145487d, 0x032aef1d, 0x03d1d542, 0x01e54187, 0x02d80cf4, 0x001e7a30, 0x00bf29c8, 0x02d16212, 0x003d5670}}, Y: Field{[10]uint32{0x00154481, 0x0059eb4d, 0x017f25dc, 0x0108e33b, 0x037695ea, 0x00c4209c, 0x02f04dc4, 0x03ac51fd, 0x0222dfd0, 0x000fc435}}}, + {X: Field{[10]uint32{0x018ce8b4, 0x0364741c, 0x023456f4, 0x00330d85, 0x037c0d8a, 0x022fb7d4, 0x02e5830a, 0x00527332, 0x00a4fa17, 0x00066cca}}, Y: Field{[10]uint32{0x02582f64, 0x01134127, 0x00855126, 0x0024975a, 0x01fdff7f, 0x039e19de, 0x01258838, 0x01a48da6, 0x000a2a4e, 0x0026873a}}}, + {X: Field{[10]uint32{0x01ad5d4a, 0x024d922b, 0x03e533a3, 0x03d02487, 0x032743d4, 0x0069a82f, 0x00abc24c, 0x0066f3af, 0x00a0e756, 0x002beae6}}, Y: Field{[10]uint32{0x023a32db, 0x034e6fa4, 0x017157df, 0x038c4f5d, 0x007c8e5b, 0x007ca684, 0x0341c092, 0x00e695e5, 0x02877591, 0x002fc6ce}}}, + {X: Field{[10]uint32{0x024181c7, 0x0247f63b, 0x01085cca, 0x03ba05db, 0x01b2dfe0, 0x020ea3b2, 0x01b36d9c, 0x028d36b7, 0x037c1d86, 0x0030b2af}}, Y: Field{[10]uint32{0x0191070f, 0x0349ea93, 0x032acf51, 0x0143a725, 0x01159ab1, 0x03b3ae3d, 0x00465bd6, 0x00cd71c9, 0x032453f1, 0x0016ccad}}}, + {X: Field{[10]uint32{0x0289f593, 0x035b3f0a, 0x02be4f5a, 0x03e8b068, 0x024f6e9c, 0x03050d57, 0x028c5347, 0x01d148a6, 0x00248e84, 0x0024a0e5}}, Y: Field{[10]uint32{0x008c3a07, 0x02285c5f, 0x02996c88, 0x0057594b, 0x0051983b, 0x011bebda, 0x00a7b4a1, 0x03b81a67, 0x005dfd41, 0x002ee716}}}, + {X: Field{[10]uint32{0x033c7dfa, 0x030c3431, 0x03b4aa8d, 0x004b4327, 0x0155e55f, 0x005ef5eb, 0x00cba646, 0x03c61082, 0x013c389e, 0x002f28a1}}, Y: Field{[10]uint32{0x01df63a2, 0x02235e78, 0x01340175, 0x00b80799, 0x02fe9a14, 0x01a98bee, 0x005952b1, 0x03b7b4f5, 0x009ef32a, 0x0027d04a}}}, + {X: Field{[10]uint32{0x01bf56fd, 0x013ca05c, 0x037e4a0e, 0x02f4df29, 0x015745b7, 0x03399cb1, 0x0353aea5, 0x0196a3af, 0x03da94b5, 0x00293a9e}}, Y: Field{[10]uint32{0x013e96bc, 0x03339aa2, 0x00fb0970, 0x00c4deec, 0x02629eef, 0x00b1654f, 0x01e1a284, 0x03aa426e, 0x00851405, 0x0032541d}}}, + {X: Field{[10]uint32{0x00d5e169, 0x0139e318, 0x03b1ff75, 0x022a149e, 0x03da57c1, 0x02268900, 0x0327ced0, 0x004e7b5c, 0x0145af71, 0x001c5c1f}}, Y: Field{[10]uint32{0x00223ef9, 0x037a75c4, 0x0185f1b9, 0x00e7f4f1, 0x013eef0f, 0x01691df7, 0x034e4a85, 0x029bce8f, 0x0084fe4d, 0x00092cd9}}}, + {X: Field{[10]uint32{0x03df9a05, 0x029c1b93, 0x028c07dd, 0x03db5cc8, 0x015b1f5f, 0x01ae3fd4, 0x01cf4d23, 0x03d64675, 0x02030296, 0x0014b077}}, Y: Field{[10]uint32{0x02344d0e, 0x0074d356, 0x03c5135d, 0x00524181, 0x01c95097, 0x0368ede1, 0x00066e4f, 0x0355d0e1, 0x01590d73, 0x0036e563}}}, + {X: Field{[10]uint32{0x0368912f, 0x007a9888, 0x03120d8b, 0x001f7e09, 0x0374dc20, 0x02f32ee1, 0x0291989c, 0x03a114c1, 0x00b07852, 0x001ec270}}, Y: Field{[10]uint32{0x002bd263, 0x0027a13e, 0x01f3be9c, 0x01736a5e, 0x0109545a, 0x01e0ae93, 0x02ebeeb0, 0x00a05f43, 0x0317ffc5, 0x0013b7d5}}}, + {X: Field{[10]uint32{0x03b8300a, 0x031a277f, 0x02540681, 0x01899acc, 0x03f26e70, 0x038ecf00, 0x00088343, 0x0346a0af, 0x00ceb29a, 0x003a661c}}, Y: Field{[10]uint32{0x01597f9f, 0x01e16a33, 0x00fadc6f, 0x00f6448c, 0x008ff75e, 0x005345ea, 0x0012dbc6, 0x01f596f3, 0x01927894, 0x0020202b}}}, + {X: Field{[10]uint32{0x005c38e7, 0x00e90d08, 0x02444adc, 0x02f4ae44, 0x022dd2c2, 0x00f5317b, 0x01b4cb9c, 0x0204e617, 0x026de28b, 0x0031f88c}}, Y: Field{[10]uint32{0x02ad940e, 0x02fd7871, 0x0099d195, 0x023150f6, 0x01d31adf, 0x005df3c1, 0x0387000e, 0x0332547e, 0x03f9cdc0, 0x0017ca18}}}, + {X: Field{[10]uint32{0x023f7965, 0x026d574f, 0x02244119, 0x01ad7a94, 0x014c6bb6, 0x023ee922, 0x0186bfd2, 0x02f5e0f1, 0x02c84ca7, 0x00220d65}}, Y: Field{[10]uint32{0x00e9282e, 0x01af3896, 0x03ac6940, 0x016da3b3, 0x0147a22f, 0x00a516b2, 0x02d6d4a7, 0x017c4325, 0x03e85925, 0x003ec452}}}, + {X: Field{[10]uint32{0x020b42cc, 0x03adf8fc, 0x02dcf7ff, 0x0165794c, 0x035cf616, 0x01f95b9f, 0x03029dd3, 0x0103d6c3, 0x0248a196, 0x001fdce9}}, Y: Field{[10]uint32{0x00ff4feb, 0x013fea20, 0x0107f4a9, 0x006e7565, 0x0108ef19, 0x028ed09b, 0x022df3eb, 0x02bb7ed3, 0x008af931, 0x0013dd89}}}, + {X: Field{[10]uint32{0x0341aa3d, 0x030e0aa5, 0x015bddb9, 0x026a291e, 0x0218c873, 0x00465a99, 0x03b56040, 0x0340eb38, 0x034a3660, 0x003227b8}}, Y: Field{[10]uint32{0x02923884, 0x0346e544, 0x02084684, 0x0192e677, 0x03068387, 0x003bca4b, 0x0379ac9d, 0x02b15fcb, 0x008835fb, 0x002928ee}}}, + {X: Field{[10]uint32{0x0141d5bc, 0x0313b4f6, 0x023fd566, 0x02250c15, 0x01b5c468, 0x007607c6, 0x0050cf43, 0x00313940, 0x0056d7dc, 0x00092f93}}, Y: Field{[10]uint32{0x029e6213, 0x0268217c, 0x001cbac0, 0x031e95bf, 0x010f6a5f, 0x03c6b5da, 0x00714a2a, 0x00c5757c, 0x02e24936, 0x00381c8d}}}, + {X: Field{[10]uint32{0x000b94f5, 0x02e614f9, 0x02852c4e, 0x00749a4d, 0x022866a9, 0x008dea7c, 0x00ee5c53, 0x007001e6, 0x031ecaa9, 0x001b0c79}}, Y: Field{[10]uint32{0x00cf8cd7, 0x00f0e167, 0x03922572, 0x0365203d, 0x0134543c, 0x00c2e53a, 0x0117e0ac, 0x00b34704, 0x03232b5f, 0x00196bfc}}}, + {X: Field{[10]uint32{0x0258b7e7, 0x0007b5e3, 0x02286926, 0x01d34c7e, 0x03e470a5, 0x02d860e7, 0x003c0229, 0x01a4f4f8, 0x033c8479, 0x00141b0d}}, Y: Field{[10]uint32{0x01b7ab65, 0x00feb280, 0x023ca167, 0x01db83ff, 0x03e24f86, 0x001ffba0, 0x00bd4ae7, 0x0140d49a, 0x03d3a57c, 0x0013f42f}}}, + {X: Field{[10]uint32{0x018349a4, 0x0314ccb2, 0x01b45b48, 0x00247700, 0x0057571a, 0x01c7dcc7, 0x027b0978, 0x01b3185b, 0x01f3ea1a, 0x00167669}}, Y: Field{[10]uint32{0x01fc8447, 0x005b8355, 0x0363821c, 0x004c6a9a, 0x0153aadf, 0x029fb94e, 0x03c348f0, 0x025b0c98, 0x033eee64, 0x00252b4d}}}, + {X: Field{[10]uint32{0x02d75c69, 0x00e06cc8, 0x008d64de, 0x0274d991, 0x01c6f892, 0x01b399f5, 0x001912fa, 0x005923d9, 0x03ab6537, 0x00294933}}, Y: Field{[10]uint32{0x01782823, 0x028daa51, 0x0214471a, 0x01630fd1, 0x02ac1b61, 0x02f9f1e6, 0x026ae90b, 0x0356645e, 0x03f987fb, 0x0005309b}}}, + {X: Field{[10]uint32{0x0348c550, 0x03cb195f, 0x0276a92a, 0x03537c9b, 0x038aa3fd, 0x029ac8e4, 0x000d3ac6, 0x018c1e1f, 0x006df83c, 0x00049b26}}, Y: Field{[10]uint32{0x014c5c5c, 0x00595acf, 0x03d39774, 0x00757a6b, 0x003f74ab, 0x006b1cb8, 0x00f04dd3, 0x01be3cef, 0x01d3a56a, 0x0020214e}}}, + {X: Field{[10]uint32{0x00e39722, 0x0211d283, 0x01db7318, 0x035ee6a0, 0x00d8ff25, 0x03341554, 0x01a9d5b4, 0x033ec9f8, 0x03c01aeb, 0x000cb2ae}}, Y: Field{[10]uint32{0x03bccee9, 0x01bfac63, 0x035bb957, 0x0087eaa7, 0x02be1910, 0x03b9ad4a, 0x02c070f6, 0x00c71004, 0x020ae080, 0x001f4c04}}}, + {X: Field{[10]uint32{0x02f42c64, 0x03873e08, 0x025da359, 0x01905b70, 0x028a9f08, 0x0356992a, 0x00975aba, 0x035be2a6, 0x00baf7de, 0x000ff787}}, Y: Field{[10]uint32{0x035ac075, 0x00f2580b, 0x03f919ee, 0x02858373, 0x0044ffed, 0x024484b3, 0x0293cae6, 0x03c5d2c3, 0x00ac61f0, 0x0003943f}}}, + {X: Field{[10]uint32{0x01462e24, 0x024cb1c4, 0x0326b3ce, 0x00dc7b87, 0x0336e9db, 0x02c409c9, 0x013a08d6, 0x037ef007, 0x02cad6c3, 0x00272b48}}, Y: Field{[10]uint32{0x00461c6b, 0x0136e554, 0x015a6882, 0x00653967, 0x03422bb1, 0x02aaeed4, 0x00781cb0, 0x033411fc, 0x031d873d, 0x0016ba13}}}, + {X: Field{[10]uint32{0x015872ef, 0x014b465f, 0x0024e1c6, 0x027e4927, 0x010c20cf, 0x00706beb, 0x00ca18e9, 0x01d898ea, 0x0020aa80, 0x00026164}}, Y: Field{[10]uint32{0x03c73e69, 0x00152e34, 0x02dd6a3d, 0x03aecccb, 0x01a084e7, 0x03617e8e, 0x00976f72, 0x01f5b91c, 0x03fd21ab, 0x001150c8}}}, + {X: Field{[10]uint32{0x024eb2b6, 0x00c6e791, 0x033a9d8c, 0x014f112c, 0x00ac00bc, 0x02094a07, 0x03093b6c, 0x032f568a, 0x01a3e7cb, 0x002085a6}}, Y: Field{[10]uint32{0x02a9726a, 0x001cead9, 0x0384023b, 0x0146f39b, 0x03e62cf4, 0x02ef4fa7, 0x0344cbcb, 0x032e6dca, 0x00172400, 0x003df567}}}, + {X: Field{[10]uint32{0x00d370d9, 0x029fdb63, 0x02dad74e, 0x030ff0a1, 0x00440b3c, 0x031233ae, 0x01fc7a55, 0x00e189e5, 0x00be3642, 0x002f41b5}}, Y: Field{[10]uint32{0x0183b90e, 0x03354218, 0x017140ac, 0x014fef34, 0x0361bb12, 0x032ee023, 0x00a56632, 0x03b22329, 0x013a0fdc, 0x000ec246}}}, + {X: Field{[10]uint32{0x03bdf4d2, 0x010448d2, 0x038225bc, 0x013645df, 0x02bb4b73, 0x0010f1b2, 0x00a4ed0e, 0x031e37c1, 0x02e79c8c, 0x000b1c44}}, Y: Field{[10]uint32{0x00391243, 0x00fb108e, 0x01afd6e0, 0x03bd97fc, 0x02bae242, 0x02403d87, 0x012884ad, 0x008921d8, 0x03add42e, 0x00320733}}}, + {X: Field{[10]uint32{0x0122131e, 0x02deabf8, 0x03905762, 0x01bbc660, 0x03b7f523, 0x0377e73a, 0x03cbb8c9, 0x01dcb20c, 0x010fa65d, 0x00146b8e}}, Y: Field{[10]uint32{0x017ba06e, 0x01b86a3b, 0x02ec8125, 0x0387a13a, 0x000f1e96, 0x01f6edc5, 0x02f2a888, 0x01ac18a0, 0x03808040, 0x000f5f27}}}, + {X: Field{[10]uint32{0x02cc59ea, 0x0209b936, 0x027a177d, 0x01c9ae45, 0x02c74326, 0x00ecc4d5, 0x00b8348e, 0x01e90caf, 0x0112de23, 0x00316778}}, Y: Field{[10]uint32{0x01903b25, 0x0131a275, 0x012b0285, 0x000ea381, 0x00aa33e4, 0x017859db, 0x009c1d9c, 0x02d9b67c, 0x03167c5e, 0x000d8427}}}, + {X: Field{[10]uint32{0x0156d978, 0x000608fd, 0x030f757d, 0x039a4867, 0x02077ca1, 0x015d4c09, 0x01cb89a4, 0x02766c54, 0x023ab750, 0x0022e67c}}, Y: Field{[10]uint32{0x016a4164, 0x0380203d, 0x00e9adc8, 0x00be4132, 0x00d338e1, 0x02f355cf, 0x033cf0e4, 0x03f913d4, 0x02adf53a, 0x0021a8c6}}}, + {X: Field{[10]uint32{0x00369dd5, 0x0382ae5e, 0x0271739f, 0x01f277ba, 0x0261f5fb, 0x03bc620b, 0x024135a1, 0x02a6f67b, 0x03657d6f, 0x001319c3}}, Y: Field{[10]uint32{0x03e65417, 0x002de5fb, 0x01dd3c10, 0x00d46d4e, 0x01b54e04, 0x01fe2474, 0x0075dc10, 0x014d8c4a, 0x02265d4b, 0x0014c6a0}}}, + {X: Field{[10]uint32{0x00f38548, 0x0233b778, 0x0333d938, 0x037277c3, 0x0036aed9, 0x015fc190, 0x03024e6e, 0x003e57f5, 0x02359daa, 0x0023a59f}}, Y: Field{[10]uint32{0x010d218f, 0x0285d946, 0x00d2f1f1, 0x02c7c058, 0x0145fa0a, 0x028440e0, 0x008b833b, 0x03ea9632, 0x015ba59a, 0x000dbe01}}}, + {X: Field{[10]uint32{0x032ac9e1, 0x03a78cce, 0x03c3ec82, 0x01f0231e, 0x015e2e09, 0x03c33256, 0x007bfaac, 0x028df417, 0x01159c45, 0x000fd846}}, Y: Field{[10]uint32{0x0197d7d6, 0x00cb80b5, 0x014faf6c, 0x03b896dd, 0x03b9d2f3, 0x03bab694, 0x02087578, 0x01f7148f, 0x034ab743, 0x00032004}}}, + {X: Field{[10]uint32{0x007641d9, 0x0140033d, 0x007459f8, 0x020e1c1c, 0x0366bba6, 0x01faf7b7, 0x03b203ac, 0x0104ad4f, 0x009d7c61, 0x000fd679}}, Y: Field{[10]uint32{0x003ad5b0, 0x038958e9, 0x010f2ae3, 0x01e261b5, 0x0264cd09, 0x03d77353, 0x038f1010, 0x037f8f48, 0x00884243, 0x002fb75c}}}, + {X: Field{[10]uint32{0x03f6d490, 0x032be1d6, 0x02781bbb, 0x036865e8, 0x01ad46d4, 0x033c5c3a, 0x0044b5bf, 0x00da90ef, 0x00c9b648, 0x0016df61}}, Y: Field{[10]uint32{0x034d984f, 0x00ffb0ac, 0x0156a7c7, 0x016e64a0, 0x03f2164e, 0x001f7c12, 0x00b89755, 0x02c3ffeb, 0x029cc7d6, 0x0027d56c}}}, + {X: Field{[10]uint32{0x01744b1c, 0x030a7a94, 0x02a88962, 0x003681c6, 0x0390decf, 0x02bf0faa, 0x03bf1f9a, 0x03a0f3dc, 0x00ae0ac3, 0x00387b9d}}, Y: Field{[10]uint32{0x01277030, 0x0331423c, 0x0221650a, 0x016e0319, 0x01eefbe1, 0x020e60e7, 0x028d6748, 0x02149415, 0x02f8b34e, 0x0027a1b4}}}, + {X: Field{[10]uint32{0x03eea871, 0x03125ada, 0x0200e5dd, 0x02b2fbb8, 0x01eba721, 0x025b29fb, 0x0196c22e, 0x0251238c, 0x015b8d48, 0x003e8733}}, Y: Field{[10]uint32{0x039bc469, 0x0396154b, 0x01829d25, 0x012ff4aa, 0x02851350, 0x01e95b5f, 0x02479a8a, 0x01995275, 0x019a326a, 0x0038adfd}}}, + {X: Field{[10]uint32{0x03fdc8bf, 0x03c30e9e, 0x027a04c9, 0x01afde97, 0x00b29231, 0x02d298eb, 0x02199d1a, 0x0182587d, 0x00d70f38, 0x003bc787}}, Y: Field{[10]uint32{0x0298ef05, 0x014430ae, 0x00687eeb, 0x01dd5677, 0x025783d3, 0x0104794c, 0x015dadce, 0x0044760e, 0x0001a9de, 0x00133be7}}}, + {X: Field{[10]uint32{0x01326120, 0x0391a2b8, 0x02e8e9b3, 0x02565687, 0x020fe9c3, 0x01204f6c, 0x025cc4ed, 0x034eeb7e, 0x02b93e75, 0x0036dc53}}, Y: Field{[10]uint32{0x0271a206, 0x00a56a9a, 0x0067f618, 0x00059970, 0x00fa3cb7, 0x02205a10, 0x0130311c, 0x01e3d213, 0x0286b812, 0x000f7126}}}, + {X: Field{[10]uint32{0x02ea5d5a, 0x03ccbfb9, 0x0045229a, 0x031e6b47, 0x03d70c79, 0x03a74ffa, 0x00cf936e, 0x00a1610f, 0x038dbd57, 0x001665fc}}, Y: Field{[10]uint32{0x03e4a224, 0x01a695a5, 0x00eec45a, 0x01e37d52, 0x031f44b6, 0x01970777, 0x0349e089, 0x00046ee5, 0x0062b716, 0x002b7df6}}}, + {X: Field{[10]uint32{0x03baeb92, 0x03bb0f4e, 0x00039ea4, 0x02f4ef1b, 0x02956654, 0x03f07f1e, 0x008ae666, 0x0015ddec, 0x02d90a92, 0x0025f5bd}}, Y: Field{[10]uint32{0x020068b9, 0x03c6d730, 0x03c684bd, 0x037d39ff, 0x03ce03fe, 0x00f7eefd, 0x015ab971, 0x0261536b, 0x0047ff21, 0x002d1437}}}, + {X: Field{[10]uint32{0x02d307c4, 0x00034016, 0x010abc4b, 0x032875ac, 0x0040232b, 0x013bbe67, 0x0149ae3c, 0x02dcada5, 0x03cd5ec8, 0x0013d14f}}, Y: Field{[10]uint32{0x01683f7f, 0x01303482, 0x038160b9, 0x017b59a3, 0x00bd61f1, 0x0258367a, 0x02442baf, 0x02f21f1e, 0x0168c4a8, 0x002ab7b5}}}, + {X: Field{[10]uint32{0x009424d6, 0x01c9c165, 0x031e6499, 0x0243036d, 0x00ae4c44, 0x02a9e51b, 0x01c0a6ac, 0x00c0d71c, 0x00a35059, 0x00016981}}, Y: Field{[10]uint32{0x033be9c8, 0x01e9bd04, 0x0186a893, 0x0278bde1, 0x01ae8277, 0x03ea2742, 0x02b92b93, 0x00069e80, 0x00126d87, 0x00395e3f}}}, + {X: Field{[10]uint32{0x03c635b3, 0x0061a581, 0x004985d1, 0x0324d382, 0x022de601, 0x02d7fa3b, 0x024cf0d5, 0x00cbe86d, 0x01a29168, 0x000fcc1c}}, Y: Field{[10]uint32{0x011ad3a3, 0x02147911, 0x0070d053, 0x01706f91, 0x038712f2, 0x0277c390, 0x02adb6f6, 0x02c8cec8, 0x01990bae, 0x003a456c}}}, + {X: Field{[10]uint32{0x001c06e5, 0x01252464, 0x02c45318, 0x01b0bb79, 0x02f7476a, 0x03e67088, 0x0302c5fb, 0x0226b3f3, 0x01cd6431, 0x001d16f0}}, Y: Field{[10]uint32{0x029933f0, 0x024741b4, 0x01d21872, 0x0107409d, 0x00be16cb, 0x0039676d, 0x02519bd1, 0x01dd77a6, 0x034a8703, 0x001668ae}}}, + {X: Field{[10]uint32{0x0237238e, 0x02024449, 0x01942175, 0x00da29b0, 0x01ab3967, 0x018e1e62, 0x03591a60, 0x02567614, 0x028cadb3, 0x002ef41b}}, Y: Field{[10]uint32{0x00b8b690, 0x013b7b4e, 0x00c2a02b, 0x000e9968, 0x00d562b0, 0x0242e1a9, 0x006cb880, 0x0397cf71, 0x0296b484, 0x002b8360}}}, + {X: Field{[10]uint32{0x022cf07c, 0x014ff524, 0x017a385e, 0x01a6debe, 0x029f3eb5, 0x00e8ecd7, 0x00b7e436, 0x02f99a14, 0x01b6128d, 0x003f36a3}}, Y: Field{[10]uint32{0x01551974, 0x03d4d7fe, 0x03f283a0, 0x03a0a817, 0x02cd11f1, 0x03135721, 0x0358ee14, 0x03e6a17d, 0x01fc37a0, 0x0012fcf7}}}, + {X: Field{[10]uint32{0x0073cce2, 0x006b7666, 0x015705ca, 0x025d3b7b, 0x034ed2da, 0x01c84332, 0x025e1132, 0x01f7b4a9, 0x03dffc9c, 0x0018c977}}, Y: Field{[10]uint32{0x00f222e1, 0x0355b4d3, 0x033584d7, 0x003ebc69, 0x027ce193, 0x0185e7fa, 0x00ada7e2, 0x01bf1c5c, 0x0099683e, 0x00227f93}}}, + {X: Field{[10]uint32{0x02ee0d7f, 0x038fca48, 0x02d59245, 0x026d068e, 0x03513df5, 0x009e7429, 0x035797a5, 0x014258ea, 0x00a69349, 0x001dd653}}, Y: Field{[10]uint32{0x01faabb2, 0x023760f9, 0x024a9581, 0x00ef299a, 0x03631df0, 0x03cbbd63, 0x02ddf45e, 0x02ff23f7, 0x01122ccf, 0x000657ac}}}, + {X: Field{[10]uint32{0x02a67867, 0x005514ae, 0x0027bede, 0x01f80c21, 0x02e2defd, 0x019649dc, 0x01348fdc, 0x0090bd3c, 0x0067ea9b, 0x003cd5bb}}, Y: Field{[10]uint32{0x0233ba7a, 0x00bed335, 0x00121e4a, 0x00423c41, 0x03d75a21, 0x03262c0f, 0x02b71459, 0x023a9268, 0x01b9e23f, 0x000f4899}}}, + {X: Field{[10]uint32{0x00a205c9, 0x03f74bbe, 0x012ffcad, 0x002d6428, 0x0186149f, 0x03e2b9be, 0x00e30914, 0x02923b1e, 0x02129b0f, 0x000cd82b}}, Y: Field{[10]uint32{0x01d18a34, 0x014b7dc9, 0x00b83dcb, 0x01478cdf, 0x023d7a20, 0x00ac2989, 0x00098722, 0x016844fb, 0x03f2720d, 0x001e6cde}}}, + {X: Field{[10]uint32{0x01e8727b, 0x0056b4fe, 0x032823fc, 0x02ae7fc3, 0x03b29040, 0x0311d84f, 0x031a4c5f, 0x031436cc, 0x0352c703, 0x00113a43}}, Y: Field{[10]uint32{0x02f55f17, 0x027b0178, 0x02feb400, 0x00789b45, 0x0295c249, 0x00624cbd, 0x02d013a7, 0x00f9bd8d, 0x03419265, 0x0018b7ec}}}, + {X: Field{[10]uint32{0x02c84047, 0x000ad793, 0x0209ee79, 0x0225462a, 0x01c9e042, 0x02ca3f8d, 0x01958764, 0x02b888c4, 0x03a9b5c3, 0x003974d9}}, Y: Field{[10]uint32{0x02f8bcf0, 0x02a62f39, 0x02ace9c9, 0x02d308e0, 0x03fbbc06, 0x001c14b9, 0x0337c069, 0x03c3e9be, 0x017f01ab, 0x003a86c9}}}, + {X: Field{[10]uint32{0x01a63957, 0x01504ed6, 0x038de100, 0x02af820e, 0x010559ba, 0x008a01a9, 0x0061e6d4, 0x0396b4f0, 0x00fd7910, 0x00211e3a}}, Y: Field{[10]uint32{0x022df1d6, 0x0306f0c6, 0x03d5cfd8, 0x02f6d24b, 0x032f3f1e, 0x0052f52f, 0x03e38c45, 0x00d2644f, 0x00180519, 0x0013de4d}}}, + {X: Field{[10]uint32{0x0284b42d, 0x033dd84a, 0x01b6dc2c, 0x03ffda15, 0x0010c97d, 0x01e7249d, 0x035e2240, 0x01cc6fd6, 0x03c80587, 0x0030e0c9}}, Y: Field{[10]uint32{0x01abfcd6, 0x015f5493, 0x01b22bc6, 0x03eae157, 0x00a213fe, 0x0004b39d, 0x007d61f5, 0x0040b9fa, 0x03accb1b, 0x003ac0eb}}}, + {X: Field{[10]uint32{0x0051f10a, 0x00ad486f, 0x0214cd62, 0x02d9813b, 0x024662b4, 0x005fca28, 0x00f48c9d, 0x0299c956, 0x00125348, 0x002e7a2a}}, Y: Field{[10]uint32{0x031ccfee, 0x02b5ccbb, 0x0344ce3d, 0x02ee5e85, 0x033813e7, 0x01dc6d48, 0x02a02241, 0x0341ed47, 0x000d65fc, 0x000d709e}}}, + {X: Field{[10]uint32{0x01cc713e, 0x0229ca69, 0x030fdcc6, 0x00f48506, 0x03d3c3b5, 0x002ea1ab, 0x012e4837, 0x028c94e3, 0x02d595cf, 0x002952a8}}, Y: Field{[10]uint32{0x03b8a159, 0x03ea81a2, 0x02baf4e1, 0x02e68cba, 0x007e9552, 0x02a14692, 0x036b9c86, 0x00acbb99, 0x006e63c0, 0x002fdd37}}}, + {X: Field{[10]uint32{0x029fd956, 0x006787f6, 0x015ea4cc, 0x02b61735, 0x00420ce2, 0x02e2212b, 0x00ad145f, 0x0153ae11, 0x003ce2df, 0x003517fb}}, Y: Field{[10]uint32{0x00b81bd6, 0x03122fe3, 0x0208d205, 0x039fb9d2, 0x00bf6be1, 0x02308235, 0x001dbf9b, 0x032da9a4, 0x030065ae, 0x003b633e}}}, + {X: Field{[10]uint32{0x03192172, 0x03892b54, 0x0310187b, 0x02ae390c, 0x005c0136, 0x013360db, 0x0159829d, 0x02cc632a, 0x0298f728, 0x003d2d13}}, Y: Field{[10]uint32{0x01ea9fa1, 0x030a8262, 0x024e84d3, 0x022fc2a9, 0x012febdd, 0x033dee37, 0x0041fd88, 0x033924b2, 0x01b3960b, 0x003bd548}}}, + {X: Field{[10]uint32{0x013d67e3, 0x00b5090d, 0x039e2841, 0x031b8982, 0x00dcec40, 0x0214cc1e, 0x020cd40e, 0x024443ea, 0x01bf0d34, 0x0037b1b4}}, Y: Field{[10]uint32{0x01095895, 0x028bee99, 0x03b7254c, 0x02cc9041, 0x039451b0, 0x00bff243, 0x02fe44f3, 0x032405c7, 0x03813609, 0x001ce85b}}}, + {X: Field{[10]uint32{0x03ff013e, 0x02d6deac, 0x02039238, 0x0092f069, 0x01265f1c, 0x009cd4d3, 0x010b9c02, 0x01f1064c, 0x015372e1, 0x0007ef37}}, Y: Field{[10]uint32{0x006c27ca, 0x031dfc93, 0x0374f22b, 0x01d628a9, 0x03b2358f, 0x01c9d551, 0x004d14b9, 0x00704483, 0x034a06a6, 0x00273d3f}}}, + {X: Field{[10]uint32{0x02ab593b, 0x0004bef8, 0x03890357, 0x03e6a90e, 0x0250ea1f, 0x00e8c76a, 0x02d53f49, 0x01bb5deb, 0x00cb038c, 0x003673bc}}, Y: Field{[10]uint32{0x0253303f, 0x0030b74d, 0x0148604d, 0x004fb410, 0x01e161cd, 0x03c67769, 0x00e66547, 0x01cb56da, 0x02fe2468, 0x000ca905}}}, + {X: Field{[10]uint32{0x03f03da3, 0x01d29807, 0x03ccede1, 0x01f338cf, 0x024e2f60, 0x022348e1, 0x022135f0, 0x00a86117, 0x014988e2, 0x0005906d}}, Y: Field{[10]uint32{0x0194922f, 0x0237ef5f, 0x006fb5b6, 0x03473eb6, 0x0148e3ff, 0x0103e05b, 0x024e1b95, 0x021d9cd9, 0x00d9ed71, 0x003b74fc}}}, + {X: Field{[10]uint32{0x02243cdd, 0x014d9b0e, 0x0376f96c, 0x020eb13b, 0x0237938f, 0x03bd8059, 0x0238b211, 0x027fec6d, 0x00163c5d, 0x00267bdb}}, Y: Field{[10]uint32{0x02f66b48, 0x005da7b5, 0x02499a31, 0x02f9ae87, 0x027f912b, 0x03c10f80, 0x01d7796d, 0x01607787, 0x0362d819, 0x001adbbb}}}, + {X: Field{[10]uint32{0x035bc97c, 0x0119e7d6, 0x03fe4e2f, 0x02ca3a93, 0x02b9c47f, 0x0314d917, 0x03f79b09, 0x00ba2e03, 0x012dc24c, 0x00124d63}}, Y: Field{[10]uint32{0x001cf5b4, 0x00df2bb7, 0x03865378, 0x0121efb8, 0x03b8c807, 0x023872bd, 0x03c1cbff, 0x0103afbd, 0x00a7f9df, 0x00144a85}}}, + {X: Field{[10]uint32{0x00eb206b, 0x03b2119f, 0x02ee8a4e, 0x029690c2, 0x03c8c122, 0x00533ce0, 0x009c5e1a, 0x037fa495, 0x03cfb1de, 0x0038c74f}}, Y: Field{[10]uint32{0x01b0449b, 0x00eb95a9, 0x03687e6c, 0x02b6d379, 0x01effc4d, 0x020d193e, 0x03ad1dde, 0x01d1ec28, 0x026669db, 0x001ef0f0}}}, + {X: Field{[10]uint32{0x02c64adf, 0x00933861, 0x015d44e3, 0x01fe5e68, 0x03ad1fbb, 0x00a35d20, 0x0332e66a, 0x02f2b7ee, 0x01d6ac86, 0x002a0bb2}}, Y: Field{[10]uint32{0x00f74c89, 0x03b1b4c3, 0x01f816c4, 0x03402c78, 0x023a9efa, 0x031de64d, 0x02b46f1a, 0x006b97d2, 0x012bc28b, 0x002eb21f}}}, + {X: Field{[10]uint32{0x00ea113d, 0x02d4f532, 0x01c081bf, 0x030c631c, 0x020dc370, 0x02334eae, 0x01ab82b1, 0x028b891e, 0x01942bff, 0x00085942}}, Y: Field{[10]uint32{0x001fcae3, 0x029df272, 0x03103fec, 0x02fa697c, 0x00f84511, 0x009067e4, 0x0113b6f6, 0x00d142f9, 0x006a2f65, 0x0025ea09}}}, + {X: Field{[10]uint32{0x02dd4b84, 0x03acd8b1, 0x0057f63c, 0x0318f6d6, 0x01e4e666, 0x01123a41, 0x01f8070e, 0x025a21ff, 0x00d8208d, 0x001cd414}}, Y: Field{[10]uint32{0x02b9e2e9, 0x0007e78a, 0x03918900, 0x032eb4c1, 0x00216887, 0x0320866b, 0x03e23f07, 0x0187279b, 0x00385636, 0x000b8fed}}}, + {X: Field{[10]uint32{0x03afe506, 0x02ced991, 0x008ba197, 0x0001e770, 0x0365f878, 0x02e70fa6, 0x00c3813b, 0x0370228d, 0x0061e679, 0x00074086}}, Y: Field{[10]uint32{0x02fd2f1f, 0x029ae9e9, 0x03c50cea, 0x0133b82d, 0x004a10e8, 0x00a56fc2, 0x0292cd0e, 0x0120f427, 0x00b92303, 0x00052db4}}}, + {X: Field{[10]uint32{0x02d7810b, 0x0313d391, 0x0033c1bd, 0x01dd2615, 0x03f91c55, 0x013bfe5b, 0x018c15d5, 0x0225cea1, 0x027486ca, 0x001e9fbb}}, Y: Field{[10]uint32{0x03b498cf, 0x004b2edd, 0x02297c70, 0x006ef078, 0x03448fed, 0x01f46733, 0x035057d8, 0x01439e9f, 0x007f5d91, 0x0017a0e8}}}, + {X: Field{[10]uint32{0x0302beec, 0x039c9b69, 0x00b51f50, 0x0008cbc9, 0x02485938, 0x00a8cab6, 0x0005cce3, 0x00c1851f, 0x03d4fe0a, 0x00020470}}, Y: Field{[10]uint32{0x033d9f0a, 0x03acaf20, 0x034efc95, 0x0274c7b5, 0x03b28e59, 0x016b615d, 0x004214e3, 0x03d3e4ba, 0x016c6c9c, 0x0029bf30}}}, + {X: Field{[10]uint32{0x01ad606c, 0x01f69248, 0x0150b435, 0x0020c2ba, 0x03ca25ed, 0x0112c9b4, 0x00d5b1ee, 0x027a3c09, 0x003889ea, 0x000b2851}}, Y: Field{[10]uint32{0x0026c551, 0x004398c4, 0x0186f42e, 0x038dd04f, 0x03c5e90b, 0x03e39884, 0x002c6560, 0x028a7c2a, 0x02c692d8, 0x001ed229}}}, + {X: Field{[10]uint32{0x010277bf, 0x02c7c7ce, 0x01c80d57, 0x02977bba, 0x005dd3e0, 0x015f9989, 0x01566d29, 0x006bf0ce, 0x03e16104, 0x002a603f}}, Y: Field{[10]uint32{0x03a1c64c, 0x01051581, 0x007fd10e, 0x0015c739, 0x01457d50, 0x0285d366, 0x03440797, 0x00d0ee1d, 0x03a2a139, 0x000c9dbd}}}, + {X: Field{[10]uint32{0x01cd80bd, 0x0275bab6, 0x026bc957, 0x02639977, 0x01fde41d, 0x026364dc, 0x002954a9, 0x02dd3f16, 0x03d9cbcc, 0x00395c28}}, Y: Field{[10]uint32{0x02973a52, 0x026af905, 0x022df273, 0x01af1f7a, 0x019400bc, 0x00b05a2f, 0x01d30351, 0x00e63826, 0x01776658, 0x00169d24}}}, + {X: Field{[10]uint32{0x03ce1110, 0x025530de, 0x018c972b, 0x03ed988d, 0x0171bd25, 0x024a02eb, 0x013d985d, 0x03d4399b, 0x02b8952c, 0x003d7eea}}, Y: Field{[10]uint32{0x03d77175, 0x03d5fcc7, 0x006cfb02, 0x023400eb, 0x03801081, 0x01229d13, 0x03097c9b, 0x03e08693, 0x01236179, 0x0006b288}}}, + {X: Field{[10]uint32{0x018d89be, 0x0277a85c, 0x03375555, 0x017b136f, 0x016f9e52, 0x012adf1d, 0x0008d258, 0x02a2b055, 0x02fbecbd, 0x000b9650}}, Y: Field{[10]uint32{0x00bc790b, 0x0155bec5, 0x0201640c, 0x006a3032, 0x0230e12a, 0x01ad6498, 0x0123d6cf, 0x02669e3c, 0x0107d141, 0x00254419}}}, + {X: Field{[10]uint32{0x015dd296, 0x00cc006d, 0x0013ea2f, 0x00fe9ce5, 0x010a9fc8, 0x026eadc1, 0x01e7f64a, 0x0267a5b2, 0x00a9891c, 0x0024af41}}, Y: Field{[10]uint32{0x022ba587, 0x0067eb60, 0x01fbf130, 0x00d08859, 0x035cc71c, 0x005eda83, 0x0017ba68, 0x03f67395, 0x0333659b, 0x0033d78d}}}, + {X: Field{[10]uint32{0x03b11083, 0x034c1069, 0x008ffed7, 0x02c219c9, 0x024d0e52, 0x00f77358, 0x00c54269, 0x03ab878f, 0x019fa50f, 0x000c377f}}, Y: Field{[10]uint32{0x02eb42ed, 0x036bd989, 0x0241b14b, 0x003e1eb1, 0x0221bdfa, 0x03d09a72, 0x00389e3d, 0x020fbe86, 0x00fe2bb1, 0x003fc574}}}, + {X: Field{[10]uint32{0x012a9f4f, 0x00e779c9, 0x03f1cbaf, 0x036dcbe9, 0x00067ddd, 0x0115c679, 0x03196882, 0x031a2abc, 0x010bdf8a, 0x00233d45}}, Y: Field{[10]uint32{0x0186cfd5, 0x003f0150, 0x0007a213, 0x02ad0516, 0x002a9963, 0x00232636, 0x0318bc25, 0x02ec660e, 0x017ba299, 0x00130a12}}}, + {X: Field{[10]uint32{0x025e46c7, 0x00ca2149, 0x001b8690, 0x002637b3, 0x014a8e3c, 0x03db765e, 0x02ed9f74, 0x013becf2, 0x02fd5097, 0x0007d2d3}}, Y: Field{[10]uint32{0x039fd399, 0x031bfac5, 0x00a76ee1, 0x00a49940, 0x02685352, 0x011f1f02, 0x00adeb8a, 0x02c0370e, 0x00c7f7c6, 0x001b12c1}}}, + {X: Field{[10]uint32{0x0091af81, 0x00a2c634, 0x029a22a0, 0x02e43cb8, 0x003f915c, 0x004f40e3, 0x01883bad, 0x03e8ce35, 0x0100979a, 0x00275492}}, Y: Field{[10]uint32{0x0002be38, 0x0059e79a, 0x033e1e0f, 0x031c2e69, 0x03db3257, 0x02c5874c, 0x004453d6, 0x01ccb444, 0x013c037c, 0x00102684}}}, + {X: Field{[10]uint32{0x01a2e3a1, 0x01fcd2f7, 0x00734c62, 0x0133cfec, 0x005b0398, 0x0308d00f, 0x01c124c1, 0x036743f5, 0x00e446ee, 0x0014b879}}, Y: Field{[10]uint32{0x008320a7, 0x010c85c2, 0x03e5b262, 0x00c1d69d, 0x02e2dbc6, 0x00b05c4e, 0x004104f1, 0x03fea30f, 0x03317375, 0x0019d295}}}, + {X: Field{[10]uint32{0x02401c8b, 0x00bdea05, 0x03148fd2, 0x024e9df5, 0x020e0a6c, 0x031b8dbe, 0x00a8b6e7, 0x0138c79b, 0x031a8eef, 0x00209ec5}}, Y: Field{[10]uint32{0x03ca7540, 0x017cd93d, 0x01f08827, 0x03e84a7e, 0x001d58c7, 0x01e2e845, 0x026d14cb, 0x00073df7, 0x01fdd9b8, 0x00197361}}}, + {X: Field{[10]uint32{0x00df2f9b, 0x03e45edb, 0x00383c83, 0x01506fa8, 0x023db299, 0x0160b891, 0x01abc32e, 0x025909a8, 0x01e961d8, 0x000493d1}}, Y: Field{[10]uint32{0x038d6c62, 0x02d359e5, 0x00f8358b, 0x01f484e9, 0x03e48e7a, 0x018a23e1, 0x020626fc, 0x0196c4b5, 0x03e4110b, 0x001cd38b}}}, + {X: Field{[10]uint32{0x024d67e2, 0x03d5a666, 0x011695f5, 0x035b0234, 0x00fb4ac9, 0x02648131, 0x024f0028, 0x02cc9043, 0x029818b2, 0x0000edc4}}, Y: Field{[10]uint32{0x02c27c3b, 0x01f07ed0, 0x02218560, 0x01a2862b, 0x0154ba63, 0x03119582, 0x0010c51e, 0x005ad570, 0x038b0cee, 0x000a2dbd}}}, + {X: Field{[10]uint32{0x012d8a00, 0x000ced54, 0x020a4290, 0x02871fdf, 0x02e2b887, 0x029ab9c3, 0x0264485e, 0x014d8c39, 0x007e063b, 0x00349c76}}, Y: Field{[10]uint32{0x016da847, 0x008e3ae7, 0x01c9b510, 0x009cd25c, 0x0060ef59, 0x03619134, 0x03122ba8, 0x038a009c, 0x00047865, 0x0019750e}}}, + {X: Field{[10]uint32{0x00dc03a7, 0x0252c943, 0x01661e84, 0x0326b9ef, 0x000c5ca0, 0x00ae954b, 0x00d2d82e, 0x0145819f, 0x01852db3, 0x0007471b}}, Y: Field{[10]uint32{0x02691f62, 0x02c40153, 0x02ebbae8, 0x0132f75e, 0x01e19f87, 0x02bba80d, 0x01b68407, 0x00095bba, 0x00c5673a, 0x002f0c7d}}}, + {X: Field{[10]uint32{0x02efdd9d, 0x01d5bf51, 0x007fb1d3, 0x0331a559, 0x00bf8d2e, 0x02e81f79, 0x02d274c0, 0x02530376, 0x01b471e3, 0x0023fba2}}, Y: Field{[10]uint32{0x012b8c6c, 0x0298bc6f, 0x034c434c, 0x01c51aa6, 0x034ba5cf, 0x00663e73, 0x03ae1487, 0x015e3f45, 0x00c38479, 0x001757b4}}}, + {X: Field{[10]uint32{0x0010a6ec, 0x03ef4c22, 0x02ce55d7, 0x017e4236, 0x018ef938, 0x038fb91d, 0x026302cc, 0x03cd4580, 0x030955a0, 0x001a07f3}}, Y: Field{[10]uint32{0x02a38faa, 0x00d63280, 0x00885e6d, 0x03d0643c, 0x00aa54e8, 0x013195d7, 0x0187edbc, 0x01d89200, 0x035b9992, 0x0010c1fd}}}, + {X: Field{[10]uint32{0x03a6971b, 0x024a4dec, 0x02918907, 0x0225ff0c, 0x026f6c1a, 0x001334f8, 0x0184a289, 0x029c6da9, 0x02ddfcb5, 0x001c5ff5}}, Y: Field{[10]uint32{0x00b17992, 0x036167d6, 0x02511d7c, 0x0174d075, 0x021b05e2, 0x01fdb6a3, 0x00405532, 0x02b4137f, 0x002971d4, 0x002d00fe}}}, + {X: Field{[10]uint32{0x014f2ff6, 0x0004f8dd, 0x03a34227, 0x01e71cc8, 0x00d29832, 0x02b630d0, 0x01f49986, 0x025e1b70, 0x032394eb, 0x003cae55}}, Y: Field{[10]uint32{0x0366763b, 0x02925f9d, 0x0120ddba, 0x00179e99, 0x03bb69e7, 0x02645edc, 0x009645dd, 0x033505c6, 0x03813efd, 0x002d54f4}}}, + {X: Field{[10]uint32{0x02730b1b, 0x01d21765, 0x017b1423, 0x0340755b, 0x019ab6fe, 0x00504d70, 0x0309b524, 0x01b22594, 0x03e6d7d8, 0x00161c52}}, Y: Field{[10]uint32{0x03e3e533, 0x0293579b, 0x03cf81c9, 0x01717e93, 0x03403984, 0x0038c54d, 0x02b84abf, 0x03396f7a, 0x03343e38, 0x00030047}}}, + {X: Field{[10]uint32{0x026ff3c3, 0x0056f01e, 0x0223b7f9, 0x03eecafa, 0x02b30819, 0x0271ad3e, 0x0300d49e, 0x03e306e5, 0x01abc828, 0x0034cf39}}, Y: Field{[10]uint32{0x01a23395, 0x0293045d, 0x0156fcac, 0x013cdf6e, 0x01ef5939, 0x03ef88bc, 0x0372ba63, 0x01262088, 0x02223913, 0x001ce6d8}}}, + {X: Field{[10]uint32{0x03b55479, 0x01ec9b58, 0x020d5983, 0x00235be4, 0x02249048, 0x00bdf652, 0x03a58ff4, 0x0004a13a, 0x0232fc7d, 0x0020880b}}, Y: Field{[10]uint32{0x0163b4c8, 0x000ced89, 0x0004dedd, 0x000a6800, 0x0063aa32, 0x02b0b220, 0x004fb0a8, 0x015793f3, 0x015450aa, 0x003f798e}}}, + {X: Field{[10]uint32{0x01ea7781, 0x027e9f0b, 0x022b7041, 0x021e8d09, 0x02941e64, 0x00322d92, 0x0300e370, 0x013223e8, 0x02185bfb, 0x0009798c}}, Y: Field{[10]uint32{0x0316e640, 0x03736fbd, 0x02a1142d, 0x00915230, 0x0209caa1, 0x019cc75f, 0x032d84cc, 0x02ae6537, 0x03074802, 0x002b9a5a}}}, + {X: Field{[10]uint32{0x005c114e, 0x006a56d8, 0x0048753c, 0x00e87bf7, 0x039da877, 0x010e837f, 0x0068a363, 0x01386bc9, 0x0205b925, 0x00380cda}}, Y: Field{[10]uint32{0x03b12a18, 0x036762eb, 0x01050d96, 0x0056776b, 0x015ba059, 0x011899b1, 0x03974553, 0x0368e1e6, 0x0160377a, 0x001075d6}}}, + {X: Field{[10]uint32{0x02996662, 0x01cc6aa6, 0x0375262d, 0x016b6d5e, 0x0134ee87, 0x01092270, 0x01a9253e, 0x02c6f472, 0x03af7fd2, 0x00210cd8}}, Y: Field{[10]uint32{0x03cde6ca, 0x034d58bf, 0x004734d2, 0x02c59b92, 0x0012c4b3, 0x0054e8ca, 0x00bda36f, 0x03c04fb5, 0x02d1dbfc, 0x00397028}}}, + {X: Field{[10]uint32{0x011178de, 0x03d8cca5, 0x03c0526d, 0x000a74a0, 0x03abb9f2, 0x029f95d8, 0x03955cff, 0x01fc63e5, 0x00b81cdb, 0x002b6c84}}, Y: Field{[10]uint32{0x00ea0e35, 0x02e4695d, 0x02cf068e, 0x03b0b86f, 0x01364db5, 0x0122be84, 0x03847219, 0x00aa9835, 0x0305d818, 0x000b0847}}}, + {X: Field{[10]uint32{0x024d7491, 0x019450bc, 0x036e088b, 0x0139615e, 0x02203460, 0x02684de4, 0x013854f5, 0x0088d7ba, 0x03a1a2fe, 0x002ac317}}, Y: Field{[10]uint32{0x000124d2, 0x00bde16e, 0x0132b8d9, 0x0337b29a, 0x03b9dc48, 0x01ce0d54, 0x00a73840, 0x01b855c7, 0x01cbe36d, 0x003951c9}}}, + {X: Field{[10]uint32{0x0085deda, 0x02f2235e, 0x01835f9c, 0x002d9eb3, 0x03868a08, 0x03d3d51c, 0x03124b0a, 0x018f90fc, 0x037a1d21, 0x000f9779}}, Y: Field{[10]uint32{0x01746630, 0x03994745, 0x036d2254, 0x03130dfb, 0x02e1927d, 0x01dfd452, 0x03e66b83, 0x000ee2e0, 0x00a42f95, 0x0029bb4d}}}, + {X: Field{[10]uint32{0x0191ec05, 0x03abbd92, 0x01ceb050, 0x0057e0ea, 0x01321848, 0x03ccbd9c, 0x031f0688, 0x034c996d, 0x033d31d1, 0x001831a2}}, Y: Field{[10]uint32{0x0000d498, 0x0183f29f, 0x0132a9d7, 0x00a5403b, 0x01898867, 0x021dcde9, 0x01aecbe9, 0x009322a5, 0x00619f7d, 0x0025deb3}}}, + {X: Field{[10]uint32{0x01c135e2, 0x0316cc5a, 0x0065464f, 0x00a5afa8, 0x014a1267, 0x019ae6c9, 0x0004a76a, 0x039656db, 0x02e9b646, 0x00086c14}}, Y: Field{[10]uint32{0x000779e7, 0x00262715, 0x0128538f, 0x035166aa, 0x0318db6e, 0x02c37f5f, 0x007292c4, 0x035c5dba, 0x00cd2fb3, 0x00040a79}}}, + {X: Field{[10]uint32{0x03523d68, 0x01f6e8de, 0x0379dc02, 0x03bd6c47, 0x02f58bb2, 0x002f9332, 0x0101e666, 0x011457b9, 0x02f37c66, 0x0001c032}}, Y: Field{[10]uint32{0x03a08be1, 0x024d31db, 0x00948e1a, 0x01f95bb7, 0x008eac9b, 0x02655e0c, 0x032487c1, 0x011bccb8, 0x0388f1c3, 0x001f7dda}}}, + {X: Field{[10]uint32{0x01541e8d, 0x01a59912, 0x01696299, 0x02bd5969, 0x015d34ae, 0x019160c5, 0x01f1c9f5, 0x02112b39, 0x03d21293, 0x00316ae6}}, Y: Field{[10]uint32{0x01c422d8, 0x0184c100, 0x02f29c03, 0x00315f6c, 0x029b34d9, 0x03b14e9f, 0x01f44678, 0x01b22a83, 0x01c6c61d, 0x000b4820}}}, + {X: Field{[10]uint32{0x016d75a3, 0x034dda80, 0x023dfa4a, 0x0375751a, 0x005713fb, 0x03085476, 0x00d15af8, 0x01770512, 0x032ed53f, 0x0022bf0f}}, Y: Field{[10]uint32{0x039b6c8f, 0x02c69392, 0x0389764d, 0x004fcd15, 0x036767c5, 0x00864f9a, 0x015a99d4, 0x02fb6780, 0x03932627, 0x000047d8}}}, + {X: Field{[10]uint32{0x025007a7, 0x01cf140e, 0x034d86e1, 0x019fb7a7, 0x02c0d698, 0x01eb8da0, 0x00cf7292, 0x03ab7f3d, 0x01c6bb55, 0x001052b6}}, Y: Field{[10]uint32{0x03603585, 0x0374e823, 0x03fd6181, 0x020bb6f7, 0x01dafb6f, 0x019e951b, 0x002306b6, 0x026c7444, 0x00f8f4de, 0x00312f34}}}, + {X: Field{[10]uint32{0x0304a1e3, 0x005c91f2, 0x008fdb23, 0x034eabc2, 0x01a163a2, 0x037109b4, 0x005ec88f, 0x01cc5ea7, 0x0240b84b, 0x00208478}}, Y: Field{[10]uint32{0x02722bbb, 0x0250ab49, 0x029be4e7, 0x02c5c2a7, 0x03a74f10, 0x016586cc, 0x006c4f6d, 0x02fd453c, 0x019bb268, 0x00329da9}}}, + {X: Field{[10]uint32{0x02ba700e, 0x01676bc8, 0x012f429e, 0x02450fb9, 0x023f7cd2, 0x00252c9e, 0x02c44523, 0x0374f1d7, 0x0132363a, 0x0029537f}}, Y: Field{[10]uint32{0x02d4490b, 0x02364bae, 0x02bbb279, 0x01d1aa4f, 0x013639ac, 0x026d1219, 0x038d1304, 0x000260f8, 0x022c5951, 0x003c5820}}}, + {X: Field{[10]uint32{0x018860f7, 0x029f2e52, 0x015e9a3b, 0x010f3ef6, 0x03e2921a, 0x0387a74f, 0x02ee1a81, 0x026c629e, 0x005552b2, 0x001df593}}, Y: Field{[10]uint32{0x0208ff10, 0x01bcb9e0, 0x025978d0, 0x02a43325, 0x020fed03, 0x01b6681a, 0x00ad9d73, 0x0323d110, 0x00f95ea9, 0x003a5eee}}}, + {X: Field{[10]uint32{0x02309ca9, 0x0251f85b, 0x03d61ba7, 0x000d83c4, 0x011b57c1, 0x00396862, 0x007f0f5f, 0x01afc47d, 0x0014b33e, 0x001216ce}}, Y: Field{[10]uint32{0x00e38bdb, 0x02098c81, 0x01b5f152, 0x01bcb1e0, 0x03f99857, 0x011b2194, 0x0050dd09, 0x01f18a98, 0x0070ce60, 0x0039aede}}}, + {X: Field{[10]uint32{0x0072739c, 0x01c1a3c0, 0x029aab0a, 0x032052bb, 0x017ced2a, 0x02dbb714, 0x03618be1, 0x01e30b7b, 0x01eca90a, 0x003b48e0}}, Y: Field{[10]uint32{0x034954c7, 0x0117fec4, 0x00fbc3de, 0x0058b284, 0x02d68599, 0x018d4e07, 0x00c291ec, 0x019148e0, 0x03e0ba32, 0x0032c21c}}}, + {X: Field{[10]uint32{0x00ed971d, 0x01795f11, 0x03a684a6, 0x019a3cb9, 0x02955b6a, 0x0132e83f, 0x03c7369a, 0x03049f20, 0x0379d36b, 0x0039112b}}, Y: Field{[10]uint32{0x03785fff, 0x031553f4, 0x034e9dd7, 0x03780434, 0x02ec50e5, 0x02922662, 0x0355ca16, 0x0208eaab, 0x030327b6, 0x0029e1db}}}, + {X: Field{[10]uint32{0x01fc1fca, 0x035f941a, 0x0278c07e, 0x022a5b2c, 0x03b8677b, 0x014bfa93, 0x024296c1, 0x0168b57d, 0x00d77de7, 0x002be30d}}, Y: Field{[10]uint32{0x0184d673, 0x0330ec8a, 0x00a8cf9e, 0x032e2e07, 0x02f3c451, 0x0118caf8, 0x015899f2, 0x0306a339, 0x0062ab6e, 0x00123396}}}, + {X: Field{[10]uint32{0x027efe13, 0x0150db3d, 0x000cbe31, 0x0221d812, 0x0108940c, 0x0368128c, 0x02745a81, 0x0113b463, 0x0066243a, 0x003a6675}}, Y: Field{[10]uint32{0x0237fe36, 0x0347ec00, 0x013cb2f7, 0x03adfea0, 0x00ef55d3, 0x0337b6f4, 0x02ac0e75, 0x01198708, 0x027063a8, 0x003d07a3}}}, + {X: Field{[10]uint32{0x004bcc72, 0x026d9118, 0x02d66e20, 0x02a962dc, 0x00072caf, 0x00bf7afb, 0x00c923a0, 0x0193fe8f, 0x00aa7d89, 0x003103be}}, Y: Field{[10]uint32{0x03238ce5, 0x03c189ed, 0x02c2f696, 0x031ecfbe, 0x00ff50eb, 0x01dbccde, 0x012c3b61, 0x02879bc4, 0x01b56549, 0x0012038d}}}, + {X: Field{[10]uint32{0x0252982f, 0x006c3ce6, 0x026151bd, 0x02288a89, 0x01679e4b, 0x00826a97, 0x012b546e, 0x01267226, 0x001de3f9, 0x00120bb9}}, Y: Field{[10]uint32{0x00d3de3d, 0x03fba077, 0x009f832e, 0x03b28395, 0x03563f92, 0x03843b1b, 0x012eff0e, 0x006054b5, 0x0070d213, 0x00144398}}}, + {X: Field{[10]uint32{0x0058fae5, 0x033dc997, 0x01fd465d, 0x00cb180a, 0x036df7ca, 0x034dbe2d, 0x0003c694, 0x0307599c, 0x006825a3, 0x00119829}}, Y: Field{[10]uint32{0x0223f618, 0x02fe842e, 0x017c0700, 0x0380540e, 0x03791de8, 0x00b6b7a5, 0x00acc720, 0x030a5a62, 0x03f546b5, 0x000f660a}}}, + {X: Field{[10]uint32{0x035d8f8d, 0x022fbc3a, 0x00d8703c, 0x0385d8c5, 0x00d8a3ae, 0x01d62665, 0x031dc033, 0x01bc2cfe, 0x024c92ba, 0x002e1798}}, Y: Field{[10]uint32{0x0175679b, 0x01861a2b, 0x0148688c, 0x009a19b3, 0x03e2cdff, 0x02cdbbdd, 0x03ff93ef, 0x016e9092, 0x033320a5, 0x002224da}}}, + {X: Field{[10]uint32{0x002683e3, 0x0261d524, 0x014c6b16, 0x00be53be, 0x03b3be28, 0x018bf56c, 0x0187ebab, 0x009afef4, 0x00b5361a, 0x00290648}}, Y: Field{[10]uint32{0x015ea98a, 0x031e92b8, 0x007d1491, 0x027c9819, 0x02c95a8f, 0x00814f80, 0x027201b3, 0x00ed34f4, 0x019629d9, 0x001de428}}}, + {X: Field{[10]uint32{0x03b7f86e, 0x025e7d3e, 0x03937055, 0x022c5541, 0x01ed1abf, 0x03c40762, 0x012f01bb, 0x00a980c9, 0x01a97926, 0x0024e20b}}, Y: Field{[10]uint32{0x009d7e44, 0x01024406, 0x03e0215a, 0x03c4fb4d, 0x0223e570, 0x0357c08b, 0x037450ba, 0x005bbc04, 0x004df0a7, 0x00024e22}}}, + {X: Field{[10]uint32{0x00952e00, 0x008c8972, 0x03b0679c, 0x016799bb, 0x03ebfa6a, 0x01c26c65, 0x0356b643, 0x036982b3, 0x01f83efe, 0x00284142}}, Y: Field{[10]uint32{0x024d1ddb, 0x03c19df0, 0x015fe830, 0x0291f038, 0x005a06e7, 0x0132b93e, 0x0237df52, 0x03793426, 0x03d5559b, 0x001d6420}}}, + {X: Field{[10]uint32{0x03eb3651, 0x02c7be4a, 0x02d294b3, 0x00122a89, 0x03c55de7, 0x03f9d7ab, 0x017e587d, 0x0109e1cf, 0x02976ea7, 0x000ae516}}, Y: Field{[10]uint32{0x02893c65, 0x003bd941, 0x03752698, 0x0043976b, 0x03cb488d, 0x0002d146, 0x01cbabce, 0x02fdae74, 0x03ed27cc, 0x00108f01}}}, + {X: Field{[10]uint32{0x03cc37f0, 0x01115ec3, 0x01073b59, 0x0244a354, 0x03f69516, 0x00fc5c05, 0x0203da01, 0x02ff9003, 0x01bbc1a0, 0x0021be76}}, Y: Field{[10]uint32{0x024c32bb, 0x031b19d1, 0x007eddf3, 0x00099249, 0x0362388f, 0x02f067a3, 0x039cd4bf, 0x00de5a4c, 0x02242e30, 0x003cdc31}}}, + {X: Field{[10]uint32{0x0161ed91, 0x0343e0f7, 0x0206c016, 0x003e42a4, 0x033aa9cc, 0x02f6d384, 0x038d8958, 0x00113988, 0x02f9555e, 0x003e2656}}, Y: Field{[10]uint32{0x02a8a060, 0x00964853, 0x014bcd08, 0x024d2bc6, 0x031febdb, 0x013e8b98, 0x00bdab83, 0x004b20ee, 0x02e31bee, 0x002cb534}}}, + {X: Field{[10]uint32{0x019394ce, 0x015105e0, 0x01dbe2f5, 0x00858f42, 0x00fdea26, 0x02ef071d, 0x01eee7f0, 0x00d4b515, 0x027f69eb, 0x002ad568}}, Y: Field{[10]uint32{0x031b801a, 0x01988038, 0x013534a1, 0x012a25e2, 0x024d5467, 0x012a4c38, 0x0373bc17, 0x0216d5c8, 0x009360f5, 0x0022b159}}}, + {X: Field{[10]uint32{0x023b9fa6, 0x022645a8, 0x02522e8a, 0x00ffeb6b, 0x03ce8472, 0x017a60d4, 0x02a89069, 0x037e6245, 0x02c9c428, 0x0013f041}}, Y: Field{[10]uint32{0x02b92031, 0x00c5a227, 0x02fd1925, 0x0129f066, 0x01fdebbc, 0x00e49a1f, 0x00c88be3, 0x00d0793d, 0x02e83d54, 0x002435cc}}}, + {X: Field{[10]uint32{0x03149a91, 0x01af2080, 0x036b2462, 0x036c2e81, 0x03874080, 0x00ea2538, 0x0187b257, 0x03332ddf, 0x01808831, 0x00327216}}, Y: Field{[10]uint32{0x02abf0b8, 0x00c0b8ec, 0x026e6a6f, 0x01a1e015, 0x02c5f992, 0x002f7e8d, 0x01a6355f, 0x0127e6fa, 0x00cd8c09, 0x0027eb53}}}, + {X: Field{[10]uint32{0x005209e7, 0x01dc5247, 0x00cb7aee, 0x01737756, 0x01a278eb, 0x028508bf, 0x0378c46a, 0x02aee97f, 0x037e2293, 0x003032d6}}, Y: Field{[10]uint32{0x0210c47b, 0x0035ccd3, 0x027d5133, 0x027bb634, 0x03cc7278, 0x0037d328, 0x036b572d, 0x02161976, 0x002e3664, 0x0020407d}}}, + {X: Field{[10]uint32{0x00ce0b63, 0x03c56436, 0x0215d140, 0x03383ef3, 0x01af2f70, 0x0246f75a, 0x02ab60c3, 0x00fe0d1c, 0x03c516d9, 0x0036ff00}}, Y: Field{[10]uint32{0x02d26564, 0x023054ff, 0x03b46465, 0x00937af1, 0x024811fa, 0x00ddaa93, 0x033ecfec, 0x0328ba68, 0x014d7228, 0x003e0e38}}}, + {X: Field{[10]uint32{0x004f59c8, 0x00fcf4d2, 0x03af37cc, 0x02e58b8e, 0x00435140, 0x00d581ec, 0x031d8910, 0x00ffc455, 0x0285eea1, 0x00378981}}, Y: Field{[10]uint32{0x01cfbbcc, 0x023eb966, 0x00accd7f, 0x0132a97e, 0x02c1f5f5, 0x02d9bc79, 0x0363335b, 0x01619798, 0x02c9a602, 0x001af08f}}}, + {X: Field{[10]uint32{0x02a2e71e, 0x00f162fe, 0x01e5f6f7, 0x027f1e06, 0x031ed812, 0x01b05fae, 0x0362f79f, 0x023f6c06, 0x0160b8cb, 0x001635e3}}, Y: Field{[10]uint32{0x004bccc1, 0x029014ed, 0x0353140a, 0x00f6ec98, 0x03b04d6d, 0x018e444c, 0x0222f5e1, 0x0319c630, 0x00f2fd6b, 0x001f2ef9}}}, + {X: Field{[10]uint32{0x0000a490, 0x03afbf8b, 0x01738211, 0x004bd91b, 0x03fde1af, 0x0000538e, 0x00869aa9, 0x013f96ac, 0x031aeed5, 0x0039cae6}}, Y: Field{[10]uint32{0x00af4fc2, 0x03cc9ce4, 0x01d348cf, 0x01a5df49, 0x00d94659, 0x00b320a8, 0x02af020a, 0x0160ce10, 0x014d8f59, 0x003364b4}}}, + {X: Field{[10]uint32{0x030fd658, 0x03cd2355, 0x0085b3b9, 0x00508885, 0x00b725f6, 0x0277fe2a, 0x03cef97c, 0x016f862d, 0x03aed55a, 0x0001aa1a}}, Y: Field{[10]uint32{0x032c5724, 0x001b59fb, 0x01d4081c, 0x00515c6a, 0x0360a14f, 0x01c27ea1, 0x03121407, 0x00c05440, 0x02914c3b, 0x0004e289}}}, + {X: Field{[10]uint32{0x030a1fc5, 0x0002bbae, 0x0316e0e1, 0x0386d891, 0x03b17c39, 0x0193f0a0, 0x00b00595, 0x03c9135b, 0x00f67240, 0x00072823}}, Y: Field{[10]uint32{0x01ef0a55, 0x011ecff6, 0x0016ab34, 0x010d3a70, 0x03deec27, 0x019ab7c1, 0x0236317c, 0x0027b0d2, 0x03ce655d, 0x0008b893}}}, + {X: Field{[10]uint32{0x024a0b0f, 0x01608060, 0x016070f5, 0x022bf525, 0x02b7cf62, 0x03377ddb, 0x021ee30b, 0x012711cf, 0x0128feba, 0x00365770}}, Y: Field{[10]uint32{0x03c7e8a1, 0x00b135b1, 0x02116161, 0x02eab8bf, 0x03633e98, 0x01a6da38, 0x0061274c, 0x0384df44, 0x02b8fea3, 0x00354d02}}}, + {X: Field{[10]uint32{0x00d83857, 0x001cfe33, 0x03afcf3c, 0x022f6661, 0x03ae7e28, 0x01a6a22e, 0x03a14e47, 0x035405b0, 0x022a7f4f, 0x000b3334}}, Y: Field{[10]uint32{0x033b389e, 0x01593741, 0x01f3b0f2, 0x00513b6d, 0x00c2a7b6, 0x03e393ee, 0x010f849f, 0x027f6d1c, 0x023caea8, 0x002ba099}}}, + {X: Field{[10]uint32{0x01628a43, 0x03afac25, 0x001d1c5e, 0x03207ca0, 0x01ae4a9a, 0x0375ed04, 0x03bc0037, 0x03788e4d, 0x01f6c8e4, 0x003b05ed}}, Y: Field{[10]uint32{0x0258df83, 0x01b9ba59, 0x007348e6, 0x0083c1e6, 0x03743196, 0x01a3f9c3, 0x01fa2989, 0x0056c18c, 0x011dfd58, 0x002cf835}}}, + {X: Field{[10]uint32{0x0096b6f4, 0x0216225b, 0x023ca956, 0x00b22eb3, 0x00cee8e1, 0x033c7326, 0x0213cddc, 0x01fd3869, 0x037e6290, 0x00298eab}}, Y: Field{[10]uint32{0x02e8216e, 0x01500c6b, 0x00deeef7, 0x01f7a003, 0x01f8bc1a, 0x00c95688, 0x0144ab12, 0x0265cfa7, 0x02bcdc5f, 0x000be54f}}}, + {X: Field{[10]uint32{0x03ad32f3, 0x03805a61, 0x00b2c550, 0x02bc6685, 0x0390e345, 0x00a5b44d, 0x005636cb, 0x023435ad, 0x0330318d, 0x0023ad3f}}, Y: Field{[10]uint32{0x00a4a3e3, 0x022bddc3, 0x031718f2, 0x0144209f, 0x020cc01d, 0x017aeddd, 0x0200151c, 0x03f1f9f5, 0x038bae7f, 0x0012e388}}}, + {X: Field{[10]uint32{0x0276b8d2, 0x012b7660, 0x02341437, 0x0232d1c4, 0x002432fa, 0x01298ebb, 0x038a6e57, 0x010e5fd5, 0x00afbb5b, 0x002ac508}}, Y: Field{[10]uint32{0x00b94396, 0x03995fd9, 0x0357490c, 0x0335fdd6, 0x038f264a, 0x029e5562, 0x039df900, 0x03a49d96, 0x028ea197, 0x003ebd8c}}}, + {X: Field{[10]uint32{0x006f680a, 0x002f46a2, 0x03b5e963, 0x01acd23f, 0x015102aa, 0x00756667, 0x0016f1cc, 0x0286ab73, 0x010e6b2b, 0x0036a862}}, Y: Field{[10]uint32{0x012fa209, 0x03db7e8d, 0x0051094b, 0x0170b088, 0x038744f0, 0x03caef48, 0x02f6005c, 0x03ae532d, 0x03695a63, 0x00067eb2}}}, + {X: Field{[10]uint32{0x032a28e3, 0x033d91df, 0x03f2e0b1, 0x010af48b, 0x03cb08a6, 0x03e3aedc, 0x01a1b0ed, 0x0346d226, 0x012e5398, 0x003c667d}}, Y: Field{[10]uint32{0x02c2f454, 0x02d66167, 0x03d9e5c1, 0x02b15526, 0x012d5278, 0x01fbe6dd, 0x00f87476, 0x004c7533, 0x03aba5e2, 0x000d866a}}}, + {X: Field{[10]uint32{0x0046ad6a, 0x014888fc, 0x00046e27, 0x03d6727f, 0x01e75c86, 0x025e928d, 0x0320bc14, 0x03b3cdaf, 0x0293a5f9, 0x00060aa7}}, Y: Field{[10]uint32{0x03b8bcfd, 0x0079223f, 0x007a5c73, 0x0328d2bc, 0x03e0924d, 0x021585f1, 0x0067693d, 0x03b8632a, 0x0288c39d, 0x00318257}}}, + {X: Field{[10]uint32{0x0214abbb, 0x0026552c, 0x0327c3b5, 0x02b82418, 0x025ac21e, 0x0109dfec, 0x020a7016, 0x03f99ad9, 0x03530636, 0x00022932}}, Y: Field{[10]uint32{0x01d0ed1c, 0x035a49a8, 0x00bbf63f, 0x01709540, 0x008efcb8, 0x0349758e, 0x02e707fa, 0x02a5048f, 0x00514cc6, 0x001a4f96}}}, + {X: Field{[10]uint32{0x008c1282, 0x00224597, 0x018d42b2, 0x023204ef, 0x02f49517, 0x00b1565c, 0x01e31058, 0x030cf845, 0x035a3b40, 0x0012404c}}, Y: Field{[10]uint32{0x004214e3, 0x02760072, 0x0016624d, 0x00393778, 0x00f26a9a, 0x0387c3a5, 0x02c70eb9, 0x01d03772, 0x0176429d, 0x0011c01c}}}, + {X: Field{[10]uint32{0x004e01dd, 0x01048ca6, 0x02b8fcdf, 0x01772b60, 0x01df64f5, 0x02e7cb81, 0x01b49e14, 0x00d8ad18, 0x01a77c34, 0x00206039}}, Y: Field{[10]uint32{0x0305040b, 0x01d0ab2b, 0x03e650de, 0x02704c3c, 0x01cb3fb4, 0x0016b247, 0x034b0fd0, 0x03c402a8, 0x0221d4b9, 0x000d33d5}}}, + {X: Field{[10]uint32{0x0251ee9f, 0x0217f84d, 0x032a4b10, 0x01f2df48, 0x01a90e1d, 0x023aa975, 0x00aeee35, 0x03d2a277, 0x027efea9, 0x0023dc48}}, Y: Field{[10]uint32{0x0255ad73, 0x036bd3a5, 0x01aaee90, 0x01aaf011, 0x03e27267, 0x02e4531f, 0x03c344f3, 0x01e68289, 0x01bcbb2b, 0x00293685}}}, + {X: Field{[10]uint32{0x03b58264, 0x023508f3, 0x02a3ccc6, 0x02a96821, 0x02d1ea8e, 0x00f30669, 0x03592a2a, 0x02eb2c20, 0x0374cdc9, 0x0036fae6}}, Y: Field{[10]uint32{0x00576161, 0x000268d0, 0x022d45b1, 0x03e6d967, 0x0018e86d, 0x02785aef, 0x00732eb7, 0x01fed60c, 0x039283f0, 0x002f99a1}}}, + {X: Field{[10]uint32{0x01591933, 0x02985f5c, 0x02958ab0, 0x037e0c5e, 0x017d9ea4, 0x02014a37, 0x03b09b62, 0x00b2b0f1, 0x013fa7f5, 0x003cca3a}}, Y: Field{[10]uint32{0x02405547, 0x0108c47c, 0x00a60fc0, 0x005f5faf, 0x002f780c, 0x036174e5, 0x01c3f3a7, 0x027a4187, 0x0059811f, 0x001073a3}}}, + {X: Field{[10]uint32{0x00fea051, 0x0033c20c, 0x00b7d8fb, 0x020544c7, 0x01d4ca41, 0x00087091, 0x005f44c2, 0x006fb127, 0x0003416b, 0x0015b53d}}, Y: Field{[10]uint32{0x00bd39ce, 0x028eb614, 0x002a8d35, 0x024b8f60, 0x0051ae1a, 0x035773a3, 0x00cb6373, 0x01defa4d, 0x0133948f, 0x003317d8}}}, + {X: Field{[10]uint32{0x039022b8, 0x03d3af00, 0x03c49e9c, 0x03e819f3, 0x01dd90c9, 0x00c9ff50, 0x02becf2a, 0x01dadf33, 0x004b8bb4, 0x002388b8}}, Y: Field{[10]uint32{0x00286b8b, 0x0064ecc2, 0x01d6d3e4, 0x024b0b20, 0x00934e79, 0x0074fbd6, 0x0103c023, 0x01a5b4d3, 0x02603204, 0x00007e3e}}}, + {X: Field{[10]uint32{0x02f064f6, 0x019f5e83, 0x00e1a518, 0x01cafe7f, 0x02b396eb, 0x033fbeb7, 0x03624dc1, 0x01f1a3e4, 0x02e4b9a7, 0x000d06c8}}, Y: Field{[10]uint32{0x02d9441a, 0x023fe2e4, 0x01e27cfc, 0x01c9f4ca, 0x03af11ed, 0x036f2cb6, 0x0162bcf0, 0x01a55d65, 0x03877bc3, 0x002560e7}}}, + {X: Field{[10]uint32{0x03324763, 0x02c8098e, 0x0305045e, 0x02670002, 0x00e6af97, 0x013ee2a3, 0x01e86809, 0x01044a1e, 0x02939f23, 0x000fa90b}}, Y: Field{[10]uint32{0x0201a623, 0x01af544b, 0x02f59186, 0x028ce2c5, 0x0160a5c0, 0x03b3ea3f, 0x024d51ff, 0x029bc13f, 0x01676f5a, 0x00110c90}}}, + {X: Field{[10]uint32{0x035d625b, 0x0249efd4, 0x0317342f, 0x01829c70, 0x0023d8a6, 0x02337a47, 0x00faa1bb, 0x01453be5, 0x004cef10, 0x002bf9ed}}, Y: Field{[10]uint32{0x008b4b65, 0x02b3f21f, 0x0042751c, 0x01dde8e2, 0x026cfcdd, 0x012c18fb, 0x0151f185, 0x021dcaf3, 0x03885121, 0x001d85e9}}}, + {X: Field{[10]uint32{0x02034d2b, 0x00fef9a8, 0x01dda37a, 0x038ffc38, 0x0112f69e, 0x00b00d74, 0x00ac725f, 0x003531b8, 0x0202abb4, 0x0028d832}}, Y: Field{[10]uint32{0x016b646d, 0x020c9a64, 0x03814fab, 0x01e49568, 0x039d8bbe, 0x0298211b, 0x01d0f723, 0x00fa80c1, 0x01783fec, 0x0005879c}}}, + {X: Field{[10]uint32{0x00011b88, 0x012a16de, 0x0361ec91, 0x02304667, 0x035984d1, 0x02cbb37d, 0x025d9899, 0x03f9f66d, 0x025ff7d9, 0x00041213}}, Y: Field{[10]uint32{0x0176cdc9, 0x01135be5, 0x031844f7, 0x00f5e3de, 0x03e7f4e0, 0x00b05127, 0x01e1086c, 0x01cd5e7b, 0x00e21e13, 0x0004b470}}}, + {X: Field{[10]uint32{0x0256b138, 0x030e71b4, 0x01ba67ee, 0x03996c14, 0x02b11245, 0x0369f79a, 0x0276c40e, 0x02777090, 0x00e15dad, 0x001db0b7}}, Y: Field{[10]uint32{0x0064ce82, 0x033bc57f, 0x03605ed4, 0x01f4fac3, 0x0361a896, 0x010dce68, 0x023fca2a, 0x0020e64b, 0x01ce585b, 0x00366980}}}, + {X: Field{[10]uint32{0x01d4d2e1, 0x0266dd44, 0x0335627b, 0x0220e951, 0x03d1d839, 0x00f71831, 0x004fcb18, 0x03b662c1, 0x01d4c3e6, 0x0019c68c}}, Y: Field{[10]uint32{0x02053088, 0x034dc6c3, 0x01b3b08a, 0x017a94b0, 0x01281f18, 0x03d0ea12, 0x033762fb, 0x03bcfdfb, 0x01152005, 0x001bf763}}}, + {X: Field{[10]uint32{0x02898a37, 0x0384ad9b, 0x032431be, 0x016e9bc5, 0x00c2343a, 0x01fdc706, 0x03729985, 0x01a40c4a, 0x0165a2da, 0x0024743d}}, Y: Field{[10]uint32{0x0332f681, 0x02c8275f, 0x0147a41e, 0x0359c924, 0x01e6393a, 0x007df377, 0x02906a10, 0x028a2355, 0x01b91956, 0x00275a95}}}, + {X: Field{[10]uint32{0x028512ba, 0x03ba6ad8, 0x032d4de9, 0x0379c902, 0x006b90d8, 0x03d37dee, 0x014d0cd8, 0x028b0f2f, 0x00581953, 0x001f967c}}, Y: Field{[10]uint32{0x0242a173, 0x02da6ee6, 0x03dbd9d9, 0x03f8ca3e, 0x0035a012, 0x027c0dc5, 0x0019b0af, 0x01f583bd, 0x01eb74cc, 0x000cec34}}}, + {X: Field{[10]uint32{0x03788a26, 0x024abf87, 0x0380dd34, 0x016f8100, 0x03f43a28, 0x02c7ccbf, 0x02652ada, 0x006fb484, 0x025e0b79, 0x003bde2d}}, Y: Field{[10]uint32{0x0108d306, 0x007346d9, 0x03910abb, 0x03be4e55, 0x00f156cd, 0x013feb00, 0x027ab1b2, 0x02bf08fa, 0x013896d5, 0x0027cf89}}}, + {X: Field{[10]uint32{0x016b7cd3, 0x02337e6d, 0x02e1f50a, 0x0133b9d4, 0x01cb0c0e, 0x0304b2c0, 0x03ce2f5f, 0x00cfb905, 0x00d01998, 0x001e2e5e}}, Y: Field{[10]uint32{0x01560dd9, 0x00251e30, 0x00cd0197, 0x0245c518, 0x01dd631f, 0x005647d7, 0x01701413, 0x001aef8c, 0x01d73726, 0x0027e71f}}}, + {X: Field{[10]uint32{0x00bfe64a, 0x00f49b5c, 0x00ceff1b, 0x03e9ee9f, 0x02906ffd, 0x002aeadc, 0x012f5e88, 0x016883a6, 0x0331f994, 0x0017de16}}, Y: Field{[10]uint32{0x03881c1c, 0x034285ca, 0x0046e0a6, 0x004f9742, 0x01575224, 0x0089e447, 0x021988d3, 0x00e1abfe, 0x000eb3cb, 0x0028f312}}}, + {X: Field{[10]uint32{0x0006b3d1, 0x03a7f95e, 0x00887fce, 0x01f58dd7, 0x0102c388, 0x0112135c, 0x03aadfa4, 0x0124bf3c, 0x01997cbb, 0x0027fb9e}}, Y: Field{[10]uint32{0x0224c22e, 0x02752b3f, 0x00437a12, 0x03c31b19, 0x00c0f0b8, 0x0039f512, 0x03ef25a6, 0x031d807e, 0x03277e94, 0x0010c450}}}, + {X: Field{[10]uint32{0x02e3f30b, 0x0362c313, 0x031020ac, 0x004fe694, 0x02c0f462, 0x036f5f1d, 0x03befd7c, 0x022215ed, 0x015db75d, 0x0004bcb7}}, Y: Field{[10]uint32{0x034097d8, 0x02d2a94c, 0x010216dc, 0x01c1d0b7, 0x00f85105, 0x00e1901c, 0x013ecfad, 0x00127a6b, 0x018b0e85, 0x003389d6}}}, + {X: Field{[10]uint32{0x03997bd7, 0x020c9773, 0x004d5317, 0x027c74aa, 0x02fbb86f, 0x0306dc63, 0x00e2befb, 0x02d470fc, 0x02b43ee2, 0x0031a52b}}, Y: Field{[10]uint32{0x01050977, 0x0221ea3b, 0x03226bdc, 0x003ab9c7, 0x036fc519, 0x02169be0, 0x02c3e5cc, 0x024c44b2, 0x033eb6a6, 0x00105207}}}, + {X: Field{[10]uint32{0x01047ae9, 0x035e32a0, 0x03ab149a, 0x00002182, 0x029bd161, 0x02bcefbe, 0x033493f5, 0x030172eb, 0x024614c5, 0x003f899a}}, Y: Field{[10]uint32{0x00471e6b, 0x006e5506, 0x0320b074, 0x021d255f, 0x00f58ca0, 0x01dca971, 0x00614ada, 0x025352df, 0x02bec446, 0x0038b863}}}, + {X: Field{[10]uint32{0x016118dd, 0x0149a64d, 0x03250d21, 0x039fd9e9, 0x01daff04, 0x03060fc8, 0x03abfa58, 0x02c1f121, 0x01dc0926, 0x001e5d78}}, Y: Field{[10]uint32{0x011409e5, 0x03f1c24d, 0x029d821c, 0x02366e5c, 0x01f94346, 0x02a536b9, 0x014b779d, 0x02cc0329, 0x039744e2, 0x00032612}}}, + {X: Field{[10]uint32{0x018a2b06, 0x01f3c5a8, 0x02951a13, 0x023adff5, 0x00702284, 0x0061b5c0, 0x0109e8e6, 0x00d62682, 0x00db5018, 0x0024d5cf}}, Y: Field{[10]uint32{0x00bf47d5, 0x02439886, 0x010f0265, 0x022bf27d, 0x02caae2d, 0x004db2b3, 0x0090039d, 0x03dabb65, 0x00663047, 0x001ea55f}}}, + {X: Field{[10]uint32{0x01d77660, 0x01febe20, 0x00829fa3, 0x003b8a6d, 0x026771d8, 0x0217f13f, 0x00ac7dd4, 0x01bfae38, 0x021ea60f, 0x00302f4b}}, Y: Field{[10]uint32{0x0335bacd, 0x03fc96c0, 0x0306556a, 0x00ff896b, 0x002effc8, 0x027c91fa, 0x0076267d, 0x03871da4, 0x00fd9edd, 0x001a16dd}}}, + {X: Field{[10]uint32{0x0024bf3e, 0x031a6127, 0x032538c4, 0x00af6a90, 0x01b67685, 0x01575646, 0x02e5f45d, 0x00881e41, 0x00e19319, 0x0015aeb0}}, Y: Field{[10]uint32{0x03c18ebf, 0x0081fb0b, 0x01096a5d, 0x03a7e342, 0x010f5c0a, 0x022c4639, 0x02480bbc, 0x02e04b4b, 0x01d39856, 0x0038efd4}}}, + {X: Field{[10]uint32{0x0142c06c, 0x01347964, 0x03c65231, 0x002ae4f7, 0x015225fa, 0x02617f7b, 0x03ec7c4a, 0x03774baf, 0x0313fe7c, 0x0014ed06}}, Y: Field{[10]uint32{0x03b69c4b, 0x00bfa6f0, 0x03a988f6, 0x008123ca, 0x03cb4ecf, 0x0334af7f, 0x02e038dc, 0x03d59574, 0x025744e4, 0x00243f2e}}}, + {X: Field{[10]uint32{0x02e765bb, 0x03f3cab0, 0x025f5d55, 0x00019d33, 0x00b11364, 0x0060b28b, 0x02baa269, 0x03b6e51f, 0x0231ccc0, 0x002f6817}}, Y: Field{[10]uint32{0x02cf75e8, 0x0371ae9e, 0x0307b447, 0x036aba3d, 0x032fff08, 0x00c23aa5, 0x00593567, 0x01a60a9d, 0x01793123, 0x0025c9d6}}}, + {X: Field{[10]uint32{0x030413d8, 0x03b78552, 0x0189b21a, 0x0254715c, 0x0291196e, 0x023d97e0, 0x0209f19a, 0x0020807f, 0x006a8a90, 0x00123747}}, Y: Field{[10]uint32{0x009b98f5, 0x022d8eb0, 0x017af78c, 0x00367143, 0x01c5a615, 0x0039cbe1, 0x017e2878, 0x00f72994, 0x02fb1a94, 0x001e687d}}}, + {X: Field{[10]uint32{0x012f1f2c, 0x0010e00a, 0x0051c13c, 0x01bcd119, 0x002be834, 0x03a68b52, 0x02ff4e2c, 0x010a323b, 0x0269e28c, 0x001d5018}}, Y: Field{[10]uint32{0x033e996a, 0x03371684, 0x0289f9e7, 0x03377796, 0x00202c44, 0x024bbf11, 0x00d13d76, 0x0201f88f, 0x0097211c, 0x0011d0ec}}}, + {X: Field{[10]uint32{0x0192ee5f, 0x02181288, 0x03165401, 0x0009376a, 0x00744200, 0x010c53ff, 0x000ae4d2, 0x0204ce21, 0x0193bf31, 0x0006a957}}, Y: Field{[10]uint32{0x00bc3bfc, 0x038e3c4b, 0x0118f041, 0x02204d84, 0x017a6a8e, 0x02db2cb3, 0x02ac7e99, 0x027a2995, 0x035492d5, 0x002eaeb0}}}, + {X: Field{[10]uint32{0x037dcf03, 0x01c48311, 0x02fbab93, 0x03d26c5d, 0x0234d214, 0x03627dc8, 0x00fa8503, 0x0318a799, 0x0050db7b, 0x001d6f93}}, Y: Field{[10]uint32{0x00b6f819, 0x015320a5, 0x003fb511, 0x00a9069b, 0x03ed2e5e, 0x0321831a, 0x033d9343, 0x01b6c820, 0x03ba8c60, 0x002d5482}}}, + {X: Field{[10]uint32{0x00ef6c8c, 0x00e0950f, 0x01c7d8d6, 0x002871c9, 0x036508e1, 0x01846e56, 0x00b2486b, 0x022cb435, 0x0022e4ed, 0x003cd812}}, Y: Field{[10]uint32{0x022dc0f5, 0x00e51188, 0x00105f98, 0x00b2c8eb, 0x0075d99d, 0x00b2f5a6, 0x021a412f, 0x02f1a896, 0x00797404, 0x003d016b}}}, + {X: Field{[10]uint32{0x037cefe8, 0x01f7fc39, 0x012bf2d8, 0x0247c107, 0x01da54ee, 0x0380c9ac, 0x015f727a, 0x009afbeb, 0x02e66f93, 0x001b2485}}, Y: Field{[10]uint32{0x01d16517, 0x00ddfece, 0x01704557, 0x01c94194, 0x031ec2f3, 0x03d48c37, 0x0146f922, 0x011f237d, 0x01b9bc19, 0x00192808}}}, + {X: Field{[10]uint32{0x0105668a, 0x0351d35a, 0x03b09e74, 0x03896c4a, 0x00988346, 0x01a01d9e, 0x03138617, 0x01ccb77c, 0x03bdce97, 0x002b91e6}}, Y: Field{[10]uint32{0x02612929, 0x01f02b24, 0x028b3f4b, 0x025fa8fc, 0x02b33a6f, 0x01366f74, 0x01363366, 0x01821e26, 0x0355c599, 0x0028f380}}}, + {X: Field{[10]uint32{0x014898be, 0x01c14b5d, 0x034ff480, 0x029eaabd, 0x039ccc05, 0x01b3f4bd, 0x02abcf83, 0x0136c871, 0x017966f7, 0x0033a4b0}}, Y: Field{[10]uint32{0x001bb978, 0x039e7298, 0x0127ce44, 0x0200fc42, 0x038adebf, 0x0238d15a, 0x019cec9c, 0x00e31329, 0x03f3530f, 0x003cf8f4}}}, + {X: Field{[10]uint32{0x026ea68d, 0x033c589b, 0x03b9f477, 0x0388de28, 0x01a96f5a, 0x02623137, 0x0153d875, 0x01d705dd, 0x02b68152, 0x002282ef}}, Y: Field{[10]uint32{0x03e77f4e, 0x005e60d7, 0x036d64e9, 0x02b08a11, 0x00a7c74e, 0x0216938d, 0x02a9f770, 0x01504ab2, 0x015e46f4, 0x002562de}}}, + {X: Field{[10]uint32{0x01d9ccfe, 0x03944da3, 0x028d00c2, 0x029c721b, 0x027f0e97, 0x017b479e, 0x02a033c0, 0x00038a44, 0x02e99754, 0x0030a913}}, Y: Field{[10]uint32{0x0275668f, 0x02a5514d, 0x03c60596, 0x02e3afda, 0x0170cd17, 0x00ed44da, 0x03b69b29, 0x02941f6f, 0x01ef7d24, 0x0025590d}}}, + {X: Field{[10]uint32{0x019ea1e1, 0x022471c6, 0x01c293cc, 0x02472057, 0x013d3bbe, 0x01510ef3, 0x03785208, 0x037d851e, 0x0225534d, 0x002d857d}}, Y: Field{[10]uint32{0x02c3ea25, 0x037079db, 0x01e12267, 0x0071ace6, 0x00fe3afd, 0x03d97189, 0x02908764, 0x0051a18a, 0x00f199e2, 0x00132afd}}}, + {X: Field{[10]uint32{0x00a75a0e, 0x002e4efa, 0x030b55fd, 0x0153e020, 0x03b64a0c, 0x02602fb9, 0x016dde93, 0x009cab3d, 0x038dfdcf, 0x002bf32b}}, Y: Field{[10]uint32{0x0042a63e, 0x00b05044, 0x00e9554f, 0x01801f62, 0x03e7d6a6, 0x00d6186b, 0x036d9ba7, 0x03113e27, 0x005d6f6f, 0x0002363b}}}, + {X: Field{[10]uint32{0x03135f53, 0x00cf22a6, 0x033ac328, 0x00ab2ce1, 0x03559d07, 0x03de0c02, 0x039395d0, 0x006c987c, 0x02a8c531, 0x0014d05d}}, Y: Field{[10]uint32{0x02b2f436, 0x031f9b22, 0x03643b03, 0x0175a0fb, 0x020b1615, 0x03e9d5be, 0x02f66398, 0x029ed21f, 0x004b5eee, 0x002ae13e}}}, + {X: Field{[10]uint32{0x0391f34c, 0x03f34506, 0x0393ea65, 0x02f194c6, 0x028705ab, 0x00883cfc, 0x03651ac6, 0x025737d1, 0x017397ef, 0x0017dea8}}, Y: Field{[10]uint32{0x0081da22, 0x01215866, 0x02ab8b75, 0x02ef8118, 0x0270cffc, 0x01e9df63, 0x011b28f1, 0x02cd3cbb, 0x00983cdd, 0x001cbdf6}}}, + {X: Field{[10]uint32{0x008f3d3b, 0x00a1ff2b, 0x034490aa, 0x0161a40f, 0x02b6a952, 0x00d6bf5e, 0x001db193, 0x03edcacc, 0x024cc1e2, 0x00353ed2}}, Y: Field{[10]uint32{0x014154f9, 0x02062538, 0x00306088, 0x03de6ba4, 0x02f213ad, 0x037b9e1f, 0x01098cd5, 0x02ca1c67, 0x02e84a9d, 0x001dad5c}}}, + {X: Field{[10]uint32{0x037a9ff4, 0x03515327, 0x035694c6, 0x01716aef, 0x00dad097, 0x00f6c374, 0x013116c2, 0x00bcebde, 0x0163843b, 0x000f719d}}, Y: Field{[10]uint32{0x016753ae, 0x01da980d, 0x01fbf780, 0x01dd3ece, 0x004894b2, 0x0126a022, 0x010ccf80, 0x00edfd0f, 0x039e4db8, 0x00377d96}}}, + {X: Field{[10]uint32{0x02f897d6, 0x01720b28, 0x036b13bb, 0x0176cdb8, 0x039c3e41, 0x00334599, 0x006c4495, 0x0005344e, 0x02bd1edd, 0x00195e44}}, Y: Field{[10]uint32{0x02d505cf, 0x00249fbf, 0x02143430, 0x012327d6, 0x0178205e, 0x03341b1a, 0x007fb3aa, 0x0389023f, 0x03db11bb, 0x00138bf7}}}, + {X: Field{[10]uint32{0x03d69f99, 0x0205c5cf, 0x027b8f90, 0x017f12b7, 0x036f412b, 0x03cffa4d, 0x00473e50, 0x016173d9, 0x03b35f82, 0x00016914}}, Y: Field{[10]uint32{0x00097ebe, 0x02d985d6, 0x00c4fa29, 0x02d5fcad, 0x03ec2fb4, 0x012ae868, 0x01dbf06f, 0x02d64138, 0x02113448, 0x003f05a7}}}, + {X: Field{[10]uint32{0x00052679, 0x02cdece9, 0x03689093, 0x02c83d3f, 0x03d01c68, 0x025a8c10, 0x02cfaf1f, 0x012f21a6, 0x005ac24b, 0x0030eb7d}}, Y: Field{[10]uint32{0x00ae19cc, 0x00ab1a04, 0x017d7edc, 0x020f3b72, 0x014f0d4b, 0x01cae342, 0x0285bea9, 0x012d274e, 0x0207cd37, 0x000f648c}}}, + {X: Field{[10]uint32{0x021e1d56, 0x0103fa57, 0x006b6e90, 0x003eb2c1, 0x035bd84f, 0x007c976b, 0x016420be, 0x0372109d, 0x01c8905d, 0x00068cbb}}, Y: Field{[10]uint32{0x00eb4c51, 0x0108591a, 0x0059c0ca, 0x0203e33e, 0x03f1612c, 0x01a98bd3, 0x00b73ad1, 0x01dfe307, 0x019d113a, 0x001fd19f}}}, + {X: Field{[10]uint32{0x034d6c98, 0x00efc829, 0x006b7b4a, 0x010bac69, 0x02f925c1, 0x03944092, 0x028b7da2, 0x025deb0c, 0x019862e5, 0x001c255f}}, Y: Field{[10]uint32{0x02f09381, 0x03f49cef, 0x03ec1441, 0x00c7c8c9, 0x037d7ee2, 0x02074b14, 0x01513488, 0x0330d282, 0x02c62e42, 0x0009a6d5}}}, + {X: Field{[10]uint32{0x037537a7, 0x03b72120, 0x02b44bd7, 0x015b65da, 0x01bf6dd2, 0x02db37c9, 0x03ae4540, 0x02c5b041, 0x00165a02, 0x0001f9a5}}, Y: Field{[10]uint32{0x005185f5, 0x01a09ad1, 0x03b243e6, 0x0075e28d, 0x03a6aac2, 0x00f91cd8, 0x010d2ce0, 0x0030478b, 0x00db3836, 0x003fee1d}}}, + {X: Field{[10]uint32{0x01df9678, 0x0355495b, 0x018b60ee, 0x01d78ded, 0x003b9d8a, 0x03d10176, 0x03e7ac6f, 0x03a6d492, 0x01597b42, 0x0013e068}}, Y: Field{[10]uint32{0x02e0a78c, 0x02e125e1, 0x038b377c, 0x035e6494, 0x003558ee, 0x0349f7d3, 0x00ffbe16, 0x018196b6, 0x02071867, 0x002c94c4}}}, + {X: Field{[10]uint32{0x014fd547, 0x0068d74a, 0x002d9359, 0x03586f74, 0x009be6fd, 0x024e04cd, 0x020be8de, 0x0196bc2d, 0x03685770, 0x003e8940}}, Y: Field{[10]uint32{0x00e81625, 0x01873512, 0x02f06d4d, 0x029deda5, 0x033b0a1f, 0x03d7b842, 0x0242f0dc, 0x01f2fd75, 0x01e396c7, 0x003c2e64}}}, + {X: Field{[10]uint32{0x032ba3d4, 0x03c09689, 0x02c4d440, 0x0312961d, 0x006b61d6, 0x00ffb1b6, 0x03da5172, 0x00aff0f8, 0x02bd6716, 0x003d37d7}}, Y: Field{[10]uint32{0x0052212b, 0x038ca860, 0x00d44674, 0x016e425c, 0x026380dc, 0x0278dd73, 0x010e384c, 0x017ecb56, 0x02798bc7, 0x002c8ee8}}}, + {X: Field{[10]uint32{0x01ac5015, 0x021c1da8, 0x0141c4a5, 0x00681955, 0x0051b897, 0x0111835b, 0x0228e5c4, 0x016d97eb, 0x031db372, 0x002ad6da}}, Y: Field{[10]uint32{0x02ee2ece, 0x03a972c9, 0x02a9e286, 0x02e3422d, 0x00424f72, 0x01e16b7c, 0x01d7876d, 0x005c60ea, 0x0057ecdc, 0x0005b4b1}}}, + {X: Field{[10]uint32{0x00869e55, 0x01df380a, 0x03981ac8, 0x0264f0c3, 0x0002e08d, 0x01c34e29, 0x0280dcc4, 0x014dc101, 0x007e13db, 0x002a293b}}, Y: Field{[10]uint32{0x037f60a4, 0x01205472, 0x007bb2d2, 0x0356eaec, 0x00754025, 0x01961e29, 0x03d08749, 0x03b94e25, 0x019c2cdf, 0x0012a77b}}}, + {X: Field{[10]uint32{0x00245f48, 0x02c5042e, 0x00faa5f1, 0x03678aaf, 0x016f914d, 0x01970404, 0x0183d081, 0x01836c01, 0x00f633bd, 0x000cdfd5}}, Y: Field{[10]uint32{0x0176dbfc, 0x0159dc60, 0x00a94ea4, 0x0395022c, 0x00679b58, 0x00eaeb93, 0x035452bd, 0x03f12902, 0x0328696a, 0x002514fa}}}, + {X: Field{[10]uint32{0x01901b53, 0x0190ad7f, 0x020e433b, 0x00354a74, 0x00f6db48, 0x00694153, 0x004c7674, 0x02abc415, 0x03abdc2b, 0x003bb8cd}}, Y: Field{[10]uint32{0x029c27be, 0x019091e1, 0x01830872, 0x03357db2, 0x00825616, 0x01a55be2, 0x03a1d8ba, 0x00035292, 0x038802cc, 0x00196b56}}}, + {X: Field{[10]uint32{0x012f1548, 0x00ff3bdd, 0x010b8451, 0x01f143c0, 0x00f56e47, 0x010fc49d, 0x01aaf0cb, 0x00002bb0, 0x021857cb, 0x00167d4b}}, Y: Field{[10]uint32{0x021698be, 0x0383d4e7, 0x00e70a1a, 0x018665e3, 0x014f2254, 0x01bb078a, 0x007006ba, 0x00ec6601, 0x036e8db0, 0x003632a3}}}, + {X: Field{[10]uint32{0x006f3e12, 0x0297c150, 0x0115e8f5, 0x0043cad2, 0x038583ab, 0x01f618a1, 0x01618d9d, 0x036caa2a, 0x020c25fa, 0x001b0802}}, Y: Field{[10]uint32{0x038081f8, 0x03b6527b, 0x03a617d6, 0x0276c5e4, 0x00050464, 0x0170343e, 0x01af24da, 0x03cd7051, 0x004e374c, 0x00053526}}}, + {X: Field{[10]uint32{0x02ac07fa, 0x03fef0e2, 0x002a032c, 0x03e2628f, 0x02f8144f, 0x00e6d95e, 0x02ad8782, 0x02dbe1c6, 0x02fd51df, 0x00059528}}, Y: Field{[10]uint32{0x021a839c, 0x02410f45, 0x037148d5, 0x0317e977, 0x00e36d46, 0x031c5c17, 0x00dcc1d4, 0x0215a6db, 0x01c382d9, 0x0022da59}}}, + {X: Field{[10]uint32{0x03556d77, 0x008cbdd9, 0x02fae8de, 0x0301fa63, 0x027b3ed1, 0x014fe5b5, 0x0182f339, 0x00d55b26, 0x03c9ab47, 0x0031200c}}, Y: Field{[10]uint32{0x01968bac, 0x01ead2fb, 0x002b6f89, 0x01520a2c, 0x010abe4a, 0x0373feab, 0x03873828, 0x00c5a041, 0x00a87bc4, 0x002bcfd2}}}, + {X: Field{[10]uint32{0x003c6032, 0x01390a0f, 0x003baf1a, 0x007c084b, 0x001a9577, 0x015fdea6, 0x005aaea5, 0x00a35462, 0x03faa9d2, 0x0017765d}}, Y: Field{[10]uint32{0x032eb656, 0x01ca8de3, 0x02b4549e, 0x03349d2f, 0x02abb06a, 0x036a81bc, 0x00e52043, 0x023db34b, 0x014aba17, 0x000effe7}}}, + {X: Field{[10]uint32{0x0242a564, 0x03f7ca73, 0x032abefe, 0x01a69760, 0x03261e4c, 0x00f26aba, 0x03f1d8af, 0x025b12f3, 0x0025dd9a, 0x000a9db7}}, Y: Field{[10]uint32{0x01244806, 0x02ad31b5, 0x02c5b2fc, 0x02ab7d85, 0x0307ff82, 0x03d70e20, 0x00c972aa, 0x032b9f7a, 0x02f23ad5, 0x00124d14}}}, + {X: Field{[10]uint32{0x029a4b8d, 0x02e3d2f4, 0x02d6ff2d, 0x02a69279, 0x02fd3935, 0x01198aca, 0x02bab4db, 0x01e48e08, 0x01064c0e, 0x00336f4d}}, Y: Field{[10]uint32{0x017a90ce, 0x03828f15, 0x03143a8c, 0x0054550f, 0x0358b845, 0x021bf6d7, 0x008a84c3, 0x009d3e9a, 0x032eb61e, 0x002c849b}}}, + {X: Field{[10]uint32{0x0354d978, 0x03dc974a, 0x02a75bf6, 0x00969051, 0x012bcfd5, 0x01c4ebfe, 0x0182d6ce, 0x0353d8d3, 0x009b2cb9, 0x00260fc9}}, Y: Field{[10]uint32{0x028abca2, 0x03c12122, 0x033ef0cf, 0x01dc8e20, 0x02af302e, 0x0280b6af, 0x004d25f5, 0x0380b69b, 0x0006850b, 0x001e7349}}}, + {X: Field{[10]uint32{0x00afd4f4, 0x0370630e, 0x0138396f, 0x0227eb78, 0x019e1284, 0x03ec8f94, 0x017e21ef, 0x02a7ce89, 0x01b4a5a0, 0x002231d9}}, Y: Field{[10]uint32{0x015f46c2, 0x0226df56, 0x006971cf, 0x038d170a, 0x02e3336a, 0x034511a0, 0x005cc031, 0x02568f94, 0x02647299, 0x003d357f}}}, + {X: Field{[10]uint32{0x03d52c31, 0x01e960ad, 0x036926b6, 0x001d1580, 0x031d147d, 0x02234398, 0x01c7d08b, 0x032c2866, 0x01ecd603, 0x00065d41}}, Y: Field{[10]uint32{0x01057f15, 0x0158793e, 0x0208f49a, 0x037e88d3, 0x002f212a, 0x0169d6bb, 0x035a7461, 0x017f142b, 0x013bf2d7, 0x00251fb0}}}, + {X: Field{[10]uint32{0x032eaaf8, 0x00c82d8e, 0x00fec668, 0x003fad8e, 0x019a1979, 0x035af013, 0x02700c30, 0x01817d62, 0x0232e10f, 0x00260610}}, Y: Field{[10]uint32{0x03f9c85b, 0x01e3873b, 0x03d7f395, 0x024aac62, 0x01dbbdf1, 0x01b0c7d6, 0x02a837e3, 0x03e8e4c3, 0x02edc0e2, 0x003bcc1d}}}, + {X: Field{[10]uint32{0x000bc002, 0x03e388db, 0x02764892, 0x0205a1a6, 0x02f0c7d0, 0x00c899c3, 0x00f47a9e, 0x004d2de4, 0x0335cba0, 0x00143c36}}, Y: Field{[10]uint32{0x00396072, 0x00cff2da, 0x00edd832, 0x0112e181, 0x009e466b, 0x02389976, 0x03260f65, 0x0213ab9d, 0x0013d98a, 0x000706c7}}}, + {X: Field{[10]uint32{0x01665502, 0x00770c75, 0x03a8680c, 0x005b35af, 0x0099ac85, 0x03d08a3d, 0x00bb19f3, 0x02ed42b9, 0x00ea1a44, 0x003678d0}}, Y: Field{[10]uint32{0x034aaad8, 0x03d2cd56, 0x00f75355, 0x02b49412, 0x01341445, 0x020eebba, 0x0005251b, 0x00864ffe, 0x0288335a, 0x0004a285}}}, + {X: Field{[10]uint32{0x007c539c, 0x00f03e3a, 0x034c91e3, 0x02a42a51, 0x01d42cb4, 0x01557706, 0x03067020, 0x01377631, 0x013301b8, 0x00056aa0}}, Y: Field{[10]uint32{0x0142dbc1, 0x031a9b62, 0x03b1de22, 0x011d17d8, 0x032a14bf, 0x01d8b32e, 0x01d2ba17, 0x019003af, 0x03209658, 0x001e54c1}}}, + {X: Field{[10]uint32{0x025d34d2, 0x0060be1e, 0x0024255e, 0x00608d81, 0x03d489dd, 0x01f1ef88, 0x010d169c, 0x026936e4, 0x030453d1, 0x001bdc21}}, Y: Field{[10]uint32{0x01c7dde2, 0x01e2aa66, 0x02101355, 0x03f569b7, 0x01c15246, 0x01f136ee, 0x029beabd, 0x00afd282, 0x01567c1c, 0x003814c6}}}, + {X: Field{[10]uint32{0x03167674, 0x03e370f1, 0x03f1bf33, 0x0163f8b4, 0x03867f9a, 0x01a2153d, 0x02d97e91, 0x028e9226, 0x00dfcddc, 0x000c7a48}}, Y: Field{[10]uint32{0x03706f39, 0x020a4030, 0x038afdbe, 0x017ec4b2, 0x01244a9c, 0x03af89f7, 0x01576600, 0x01b96054, 0x003d0b0c, 0x00149c4b}}}, + {X: Field{[10]uint32{0x008d51d8, 0x007cb693, 0x015ab8d0, 0x030a1a8c, 0x028258de, 0x00622325, 0x0381fbcf, 0x03c0765b, 0x0211708f, 0x0024cc03}}, Y: Field{[10]uint32{0x026c33ff, 0x00f52838, 0x01f464c9, 0x00d8495b, 0x009e0b76, 0x01961393, 0x0049b536, 0x00823021, 0x02473b6a, 0x00054da1}}}, + {X: Field{[10]uint32{0x03acb3db, 0x0153d973, 0x017dcecd, 0x00c9c81e, 0x0230c946, 0x01c4b072, 0x016cfdf3, 0x019c0818, 0x010bf62d, 0x0023deb5}}, Y: Field{[10]uint32{0x0043c637, 0x03e2d121, 0x01d347e4, 0x01c4197e, 0x001eff0d, 0x00686532, 0x0290080a, 0x014af0cc, 0x023207dc, 0x0016b042}}}, + {X: Field{[10]uint32{0x0189f4a9, 0x022921ca, 0x03dd7445, 0x007723be, 0x027f5cf5, 0x01431822, 0x028f5d73, 0x0035c711, 0x03827627, 0x001bb602}}, Y: Field{[10]uint32{0x01826dc0, 0x0248f422, 0x035a2e00, 0x03c8058e, 0x0177fd3c, 0x01a1f1f8, 0x01e47b7c, 0x039ded19, 0x03f738f6, 0x002f2e8a}}}, + {X: Field{[10]uint32{0x00e3714c, 0x00aed2df, 0x01e38eea, 0x02ca1a52, 0x027c2b11, 0x01dfab68, 0x02cb85f7, 0x02278a58, 0x017db949, 0x003b1b07}}, Y: Field{[10]uint32{0x02d08fdd, 0x02c0c3a7, 0x02516df3, 0x01354bf3, 0x018ef266, 0x02f295d5, 0x00089d0e, 0x037f6c75, 0x01af6042, 0x002b767e}}}, + {X: Field{[10]uint32{0x0237f093, 0x00982112, 0x0335c1fe, 0x023a5519, 0x01c59bca, 0x0042166e, 0x03a82d35, 0x03064964, 0x032c24dc, 0x0023ddf2}}, Y: Field{[10]uint32{0x03e07202, 0x0266cf13, 0x02213831, 0x02f561f9, 0x00423fde, 0x0029c32e, 0x0355bd4f, 0x0267e9c2, 0x0186fbf4, 0x001459d2}}}, + {X: Field{[10]uint32{0x024b6aca, 0x01e30741, 0x0049f1fd, 0x035890f4, 0x011122f2, 0x03d28cb7, 0x00c4ed62, 0x00c6bea9, 0x0374dae8, 0x0038ab77}}, Y: Field{[10]uint32{0x028b2297, 0x020463f8, 0x0323ccf5, 0x02808296, 0x00a73a1a, 0x0369984a, 0x02560224, 0x03ec2c22, 0x03941ead, 0x001f6f2c}}}, + {X: Field{[10]uint32{0x02b1e3eb, 0x011768c0, 0x0072d3e8, 0x0144d2ea, 0x033a22b1, 0x0233516c, 0x03b7c6db, 0x00c7266b, 0x01bc614d, 0x002fdebc}}, Y: Field{[10]uint32{0x00125a21, 0x00bb0b14, 0x03239754, 0x0193c49d, 0x012b8504, 0x00c99ef5, 0x029e2552, 0x02288bee, 0x01e78cf8, 0x0004234e}}}, + {X: Field{[10]uint32{0x02fe50e4, 0x03af1663, 0x01987093, 0x01a29d60, 0x0035b4f0, 0x014b60b3, 0x012c5f69, 0x0196016e, 0x007f0cec, 0x000223ff}}, Y: Field{[10]uint32{0x01378a4c, 0x03713693, 0x00cf4a63, 0x03262e7a, 0x00d39193, 0x008e5159, 0x01558c78, 0x00b0fae8, 0x00ca94b4, 0x000e0b6b}}}, + {X: Field{[10]uint32{0x013a152b, 0x00d4f51f, 0x003b7a28, 0x001cd33e, 0x039070e2, 0x00dbaac9, 0x00569ae6, 0x02b982e7, 0x03840ef4, 0x002c4528}}, Y: Field{[10]uint32{0x00a3fa70, 0x02311df3, 0x03001b18, 0x01d9b629, 0x03bb8260, 0x02ef972f, 0x036438c9, 0x03882981, 0x033ce58e, 0x000df1d9}}}, + {X: Field{[10]uint32{0x03e801b0, 0x036cea31, 0x009da627, 0x00ac6453, 0x00cfb0cd, 0x00c4064b, 0x0368fa1e, 0x008edbe9, 0x002fe20d, 0x00390469}}, Y: Field{[10]uint32{0x019b1039, 0x02140225, 0x0080b91c, 0x02ba2bb1, 0x028f6828, 0x00a2bca6, 0x012bbc17, 0x01e601c9, 0x039b43ee, 0x003fac6d}}}, + {X: Field{[10]uint32{0x00ee1999, 0x0053f35d, 0x00fd7cb8, 0x035fc7d2, 0x0031057a, 0x037979f1, 0x005182ae, 0x008c4f02, 0x007e4643, 0x000647da}}, Y: Field{[10]uint32{0x026dbc72, 0x03d2c7a4, 0x001e60e4, 0x0100f542, 0x0043e5c5, 0x00e02336, 0x0239efb8, 0x0338b566, 0x002b3f77, 0x0015192d}}}, + {X: Field{[10]uint32{0x006bcd81, 0x0023ae54, 0x01bf0b22, 0x01321686, 0x03983774, 0x006bbd4d, 0x018c4ff0, 0x02927bd8, 0x017733b0, 0x0018ffd2}}, Y: Field{[10]uint32{0x00593d3b, 0x0126ca4c, 0x020903ae, 0x02321f89, 0x0039535d, 0x02a4fca9, 0x0287b500, 0x0164c7ce, 0x0397ca83, 0x001b32bb}}}, + {X: Field{[10]uint32{0x03fc2c1c, 0x01f96b6d, 0x015564c5, 0x0291a361, 0x00f4ce72, 0x00ba318a, 0x027056c0, 0x0016e9a7, 0x0025c377, 0x003bf8d9}}, Y: Field{[10]uint32{0x01970ad5, 0x02443014, 0x032d08dd, 0x0049485c, 0x028faa7f, 0x00b956ec, 0x01a5f52c, 0x0127160c, 0x035f27ac, 0x000e4ae6}}}, + {X: Field{[10]uint32{0x037e94a5, 0x0001477d, 0x00a99988, 0x00dd3968, 0x02841d47, 0x005c1287, 0x01419102, 0x0302346f, 0x026bdd7c, 0x0001b484}}, Y: Field{[10]uint32{0x00e6e806, 0x01be55a1, 0x015f55da, 0x02c236bd, 0x03efb4d4, 0x02b50849, 0x0372ce6e, 0x02fa5d4b, 0x023acda1, 0x000ba6e0}}}, + {X: Field{[10]uint32{0x00933743, 0x037da941, 0x02f54b20, 0x03261ad3, 0x006d453a, 0x00732a4f, 0x006340dc, 0x02716e47, 0x03f4297d, 0x0033dee7}}, Y: Field{[10]uint32{0x03670c15, 0x02ea8ffa, 0x012ca083, 0x031078d8, 0x00c20613, 0x03dd46d5, 0x01efec2b, 0x0000ac44, 0x008a2c07, 0x002295e0}}}, + {X: Field{[10]uint32{0x01f7e83e, 0x0093f981, 0x023f2c15, 0x02ffdf00, 0x0027f5a5, 0x038b5568, 0x01ba4e80, 0x017b8747, 0x002b4cbe, 0x002c5809}}, Y: Field{[10]uint32{0x000fb5a0, 0x016e318f, 0x01567607, 0x03d19f42, 0x024f1faa, 0x03ece74f, 0x02e9f540, 0x0049801f, 0x03956cf3, 0x0002b0d5}}}, + {X: Field{[10]uint32{0x02bb050e, 0x0336a95a, 0x02733c02, 0x031b7f43, 0x021744d9, 0x0098669c, 0x013dce02, 0x0063661b, 0x012c4f89, 0x001ea191}}, Y: Field{[10]uint32{0x010de179, 0x02daf172, 0x0285a91e, 0x03e90f62, 0x00542370, 0x025b3d15, 0x02a1fb35, 0x02c383ee, 0x031cb558, 0x000c34c2}}}, + {X: Field{[10]uint32{0x002323b9, 0x0014bfd6, 0x01372408, 0x01024e07, 0x00af41ba, 0x025f19dc, 0x0296d3ab, 0x001bbc3a, 0x001a64d2, 0x00289e6f}}, Y: Field{[10]uint32{0x00e42046, 0x0129af1b, 0x0261da1b, 0x034d2d60, 0x02e96199, 0x0380cc60, 0x01a7ab1f, 0x02f1119e, 0x013d701e, 0x002bbf21}}}, + {X: Field{[10]uint32{0x01e5cc76, 0x039bb1aa, 0x0301a0d4, 0x0218987a, 0x00f76918, 0x03167e1a, 0x00c301aa, 0x0005ad82, 0x01705c16, 0x003a38a1}}, Y: Field{[10]uint32{0x030a983d, 0x02cfab27, 0x01eb8f2f, 0x01989da6, 0x02c988ea, 0x02509c9c, 0x0303b7a4, 0x0201442d, 0x0315f8e7, 0x00248d40}}}, + {X: Field{[10]uint32{0x029f2bbd, 0x03833862, 0x03e73459, 0x0216e4e6, 0x0046da15, 0x01cd3e73, 0x015f300a, 0x03f20601, 0x02f814f3, 0x0007f673}}, Y: Field{[10]uint32{0x00abb55e, 0x02230367, 0x025cd264, 0x02a5e528, 0x00c26d79, 0x00117c08, 0x003c71bc, 0x033239bb, 0x033fa50f, 0x0037313d}}}, + {X: Field{[10]uint32{0x027e5f11, 0x006b41a4, 0x0174d39f, 0x02db3d39, 0x03c609d4, 0x03cd93db, 0x0148942d, 0x017f583f, 0x02fc7027, 0x000c86c6}}, Y: Field{[10]uint32{0x00add33d, 0x015118e0, 0x01680c5b, 0x03e3b40a, 0x03725a80, 0x0293207e, 0x01ad36f8, 0x02cc46ba, 0x00ef808b, 0x0004da3b}}}, + {X: Field{[10]uint32{0x02d7bf72, 0x02310bbd, 0x01741810, 0x02731433, 0x03f9ef1e, 0x0037b095, 0x010cad9b, 0x038e4f6b, 0x01fb6518, 0x00137fca}}, Y: Field{[10]uint32{0x00dfb70c, 0x003d308c, 0x00efde4d, 0x022d20c1, 0x02d92f8f, 0x004fb23d, 0x03bfd067, 0x013a0935, 0x006e05aa, 0x0010565e}}}, + {X: Field{[10]uint32{0x00ed1e0b, 0x00dcfdd7, 0x001b9274, 0x01ca56a3, 0x00c839b9, 0x028fcb95, 0x03162e11, 0x00157196, 0x00a5eb63, 0x0024dea1}}, Y: Field{[10]uint32{0x0166afc6, 0x0253cdde, 0x01954532, 0x02c6a73e, 0x0162c122, 0x038f9e8b, 0x03fb3b52, 0x028d4769, 0x00bbbf11, 0x00280c1e}}}, + {X: Field{[10]uint32{0x016cc3d2, 0x03c111fa, 0x03c7a56d, 0x024ecc5d, 0x0156f073, 0x0176dff1, 0x032a87d2, 0x01cee13e, 0x029b7cab, 0x002f8fea}}, Y: Field{[10]uint32{0x02faf77f, 0x02625a02, 0x00ee1029, 0x01a9f8d2, 0x02927644, 0x03a47dfd, 0x01dacc44, 0x0252bd5c, 0x02e01ad7, 0x0039c147}}}, + {X: Field{[10]uint32{0x016c9b41, 0x0037c55d, 0x021f8c68, 0x004ec3ef, 0x0136928d, 0x001635f7, 0x01d24da6, 0x035419d9, 0x006bcc36, 0x00162ce7}}, Y: Field{[10]uint32{0x023d74ff, 0x00b4fc10, 0x0063dad7, 0x0278315e, 0x03b4ecd9, 0x00fdeb9b, 0x0012b777, 0x011b669d, 0x0291aaa8, 0x001127a5}}}, + {X: Field{[10]uint32{0x03765798, 0x00af7270, 0x007b2819, 0x00ac71cb, 0x008c9128, 0x02195d0b, 0x00e21000, 0x002d19c8, 0x0171b166, 0x0026c62a}}, Y: Field{[10]uint32{0x02e0f49f, 0x024b8c4c, 0x03d506c7, 0x00dc1673, 0x022be28d, 0x02819405, 0x0007a934, 0x03e0f4b3, 0x012298ad, 0x000a04b9}}}, + {X: Field{[10]uint32{0x02c0f59e, 0x0286cfb7, 0x002d7f73, 0x031724a5, 0x02c86740, 0x005de209, 0x035e2076, 0x0352f5e8, 0x0003dbac, 0x0029b113}}, Y: Field{[10]uint32{0x0056077f, 0x0124f31c, 0x000e0797, 0x027b1032, 0x022258d2, 0x02abce71, 0x03737278, 0x00d041da, 0x037cd1fa, 0x001ccc5a}}}, + {X: Field{[10]uint32{0x01682ee3, 0x00168e88, 0x03aaa21a, 0x010eefe8, 0x005dde20, 0x012b5e28, 0x037495b9, 0x03e35760, 0x0355628f, 0x0007fec9}}, Y: Field{[10]uint32{0x03b5943b, 0x016bfe36, 0x02fec5f9, 0x02b71a43, 0x03a71243, 0x01c38aa0, 0x019962df, 0x022db3ff, 0x00f7006b, 0x0012811e}}}, + {X: Field{[10]uint32{0x019b8283, 0x03c79e10, 0x0025c3d6, 0x039c23ed, 0x02b67a21, 0x023b97dc, 0x02538a80, 0x00451120, 0x008e3605, 0x002ba931}}, Y: Field{[10]uint32{0x01a80b27, 0x01aeea50, 0x0099b221, 0x00c1ad91, 0x0282c7b5, 0x039c44cc, 0x009d216c, 0x02ce5ef6, 0x02b8c28e, 0x001145f2}}}, + {X: Field{[10]uint32{0x034ed3eb, 0x025e6402, 0x03127f52, 0x0050e0af, 0x030b972f, 0x0000f29b, 0x036fabb5, 0x0009c210, 0x03fa5f8c, 0x00377166}}, Y: Field{[10]uint32{0x03d995c1, 0x0014d17a, 0x02696996, 0x0200ea65, 0x01ad7dbc, 0x0108117a, 0x00370b67, 0x01d6d94f, 0x019fb80e, 0x003db0fc}}}, + {X: Field{[10]uint32{0x014c80a8, 0x00f162c1, 0x0237d0d0, 0x032619a9, 0x0394d204, 0x011d0bdb, 0x03f83ed6, 0x006cb58a, 0x03e7ed30, 0x00088613}}, Y: Field{[10]uint32{0x0179b442, 0x00d85020, 0x00ab4ace, 0x01a8ee03, 0x013bc55d, 0x015a6095, 0x03a389dc, 0x028f5585, 0x01281073, 0x00276c9d}}}, + {X: Field{[10]uint32{0x0201cef3, 0x02a8debc, 0x02eeaf98, 0x00421c4d, 0x036488c5, 0x02ebf0f2, 0x030ed2d6, 0x01bd29d2, 0x03f474e4, 0x00396185}}, Y: Field{[10]uint32{0x02aa2220, 0x013e393c, 0x019d436d, 0x038b93d4, 0x00c6b141, 0x0126906c, 0x03f2047d, 0x038179c6, 0x037552dd, 0x00331a9c}}}, + {X: Field{[10]uint32{0x024f8e41, 0x0280de60, 0x0046c5b2, 0x003c740a, 0x02b7394a, 0x029cecfc, 0x02c2c5ab, 0x0317fb79, 0x00925add, 0x00306a90}}, Y: Field{[10]uint32{0x028c687b, 0x0161b074, 0x0357028b, 0x009815c4, 0x032475bf, 0x0020ead4, 0x016ce735, 0x03d58254, 0x0307e30a, 0x0025c4eb}}}, + {X: Field{[10]uint32{0x01df6168, 0x034a46b0, 0x01b5ac08, 0x0082c2dc, 0x0069e4d3, 0x001931c6, 0x00cd1c23, 0x01916407, 0x008d8957, 0x0012a976}}, Y: Field{[10]uint32{0x0113e6e6, 0x0034cab2, 0x006adf24, 0x020b7396, 0x010c0484, 0x01e01920, 0x0336cc3f, 0x00a23b1a, 0x001b915c, 0x000743a9}}}, + {X: Field{[10]uint32{0x02a8a977, 0x025be4e8, 0x031e7432, 0x01c4e477, 0x02738d41, 0x02a1a680, 0x025e192f, 0x01e0d372, 0x01917313, 0x0024e1db}}, Y: Field{[10]uint32{0x026457a4, 0x01beeb5e, 0x03c3de2d, 0x023e74a9, 0x0173fc6c, 0x015e1a9a, 0x0263d9dd, 0x03514093, 0x023d32ba, 0x001e5211}}}, + {X: Field{[10]uint32{0x011b7b28, 0x012243ea, 0x006ee50e, 0x00295310, 0x035d1808, 0x00bcabcd, 0x033dd13f, 0x020096c8, 0x017d3026, 0x00032033}}, Y: Field{[10]uint32{0x0318bc4b, 0x03f9486d, 0x00292278, 0x03249e1c, 0x019e6260, 0x031eb49d, 0x008f904a, 0x0047e459, 0x018b1f1d, 0x0027dced}}}, + {X: Field{[10]uint32{0x00c8c5cb, 0x010943a8, 0x01bb8fba, 0x0310f39e, 0x00e8e7e7, 0x01ea70c3, 0x004e8579, 0x028d16a3, 0x00d97dd4, 0x0034af49}}, Y: Field{[10]uint32{0x02494b9e, 0x0059ae41, 0x030f7665, 0x0257b868, 0x00055ae8, 0x0027ac0a, 0x03310558, 0x0064c640, 0x00b815cb, 0x000cc3c3}}}, + {X: Field{[10]uint32{0x01d7e9f4, 0x000cc1d7, 0x038b8dc3, 0x02254568, 0x015d7225, 0x00eae605, 0x015457df, 0x03a863ec, 0x03a290de, 0x00353928}}, Y: Field{[10]uint32{0x027d1c21, 0x0308774f, 0x038a56ee, 0x01b2e452, 0x0271c57a, 0x014867a6, 0x02bdc9ba, 0x03b2c5d0, 0x013e77d0, 0x00121512}}}, + {X: Field{[10]uint32{0x03236d19, 0x026f9b51, 0x02bea277, 0x00b85807, 0x03d318f8, 0x0039db8a, 0x011b246f, 0x038e67f3, 0x00f4810d, 0x003c3edb}}, Y: Field{[10]uint32{0x00595daf, 0x03b779eb, 0x00d07ad0, 0x034df3d6, 0x022cc9b4, 0x03aca907, 0x030b1973, 0x0008e622, 0x01606648, 0x0038eb54}}}, + {X: Field{[10]uint32{0x00858939, 0x01cec40d, 0x03ab0ebf, 0x03c66191, 0x039a4f9d, 0x000ac3f1, 0x0191740d, 0x011c30da, 0x018e3f4c, 0x003753b1}}, Y: Field{[10]uint32{0x00a3bfe3, 0x00df6810, 0x0246417e, 0x024253fe, 0x00737a63, 0x0107a4b7, 0x038c8395, 0x01633bc9, 0x0086a3b0, 0x000e9bb3}}}, + {X: Field{[10]uint32{0x03904e51, 0x02baedea, 0x01a8b8fd, 0x00eb771d, 0x012af12f, 0x013dab78, 0x02fe1b6c, 0x03655353, 0x01101d7e, 0x0003b15a}}, Y: Field{[10]uint32{0x0050c54a, 0x02df9435, 0x01d6dbe0, 0x02b6cb30, 0x01be7cba, 0x008bc988, 0x027111ae, 0x013dc50c, 0x027f5d59, 0x000d25f1}}}, + {X: Field{[10]uint32{0x03aa35c5, 0x03668676, 0x03da5a85, 0x02c38a2a, 0x03e25ef6, 0x013b70f2, 0x025e1aa6, 0x015a95f2, 0x02f80518, 0x00329177}}, Y: Field{[10]uint32{0x003521b2, 0x034cf6dc, 0x03df04d1, 0x01a569e8, 0x026eb4ed, 0x0044dcb0, 0x013fcde1, 0x02e7af80, 0x0357268d, 0x0036e2c8}}}, + {X: Field{[10]uint32{0x01b49a47, 0x03702485, 0x022e65f6, 0x00550d73, 0x0040f8ba, 0x03722925, 0x003c8b63, 0x00878920, 0x03889645, 0x002d1314}}, Y: Field{[10]uint32{0x02198d00, 0x018aa0f7, 0x031f5724, 0x02a7076b, 0x01509890, 0x021459ae, 0x0125e04b, 0x012e033c, 0x035df30c, 0x000b8590}}}, + {X: Field{[10]uint32{0x005dea26, 0x033fb2b8, 0x00603666, 0x0386d66d, 0x0333a20c, 0x02d1b65d, 0x01291a54, 0x00bc503a, 0x01e23586, 0x00256dcd}}, Y: Field{[10]uint32{0x024aabb9, 0x01159d49, 0x02553211, 0x02c4a1ba, 0x00f22ab5, 0x01ba0302, 0x03c9977b, 0x02f86426, 0x03055f38, 0x00384a05}}}, + {X: Field{[10]uint32{0x03e5bdfc, 0x024a3b5c, 0x027cee56, 0x02c99b06, 0x00a15c71, 0x03b91c5b, 0x028d2313, 0x00098db3, 0x00678fbb, 0x0020f676}}, Y: Field{[10]uint32{0x03949246, 0x021a1eda, 0x00545991, 0x0308df7e, 0x00c35027, 0x0267d280, 0x03e7d784, 0x03c4cbbf, 0x002fbe92, 0x00381253}}}, + {X: Field{[10]uint32{0x01bbae03, 0x010ddc12, 0x016f02e8, 0x0233cc37, 0x031d3b47, 0x02453891, 0x036bad16, 0x0151b6ef, 0x0085a04c, 0x000262df}}, Y: Field{[10]uint32{0x032ace57, 0x02718f4e, 0x00972e56, 0x03e510d9, 0x01ce4106, 0x0042c299, 0x0027da4a, 0x037f6764, 0x03953733, 0x001da70e}}}, + {X: Field{[10]uint32{0x03b12e45, 0x01018aa8, 0x01dfe086, 0x02c46691, 0x0375019c, 0x03699b54, 0x0358a8f4, 0x00d3b0d0, 0x0277852d, 0x000f39ed}}, Y: Field{[10]uint32{0x027e409a, 0x0158b751, 0x03218e42, 0x03677913, 0x0102cf03, 0x0179062a, 0x0272c4bd, 0x022e1a58, 0x010f0183, 0x001a349e}}}, + {X: Field{[10]uint32{0x02d7836f, 0x011c9fb2, 0x03291e07, 0x0320265e, 0x036b50bd, 0x00550ae0, 0x010dca75, 0x01c40507, 0x00f4d4da, 0x00282f0a}}, Y: Field{[10]uint32{0x03e47c88, 0x02d21665, 0x012242a8, 0x02f329e1, 0x02177eec, 0x027c58f4, 0x005a5819, 0x01e0735a, 0x014940f2, 0x001bb5f8}}}, + {X: Field{[10]uint32{0x02185c0b, 0x03846ac7, 0x00b6818f, 0x03126863, 0x0397750f, 0x00350660, 0x01d290ac, 0x0358ad39, 0x03a352b1, 0x002695c6}}, Y: Field{[10]uint32{0x011b4ad1, 0x0078a56b, 0x00128ff6, 0x01c26f76, 0x030f6c28, 0x00d19245, 0x03c0dfed, 0x03d63e73, 0x00cdb2b1, 0x0006a473}}}, + {X: Field{[10]uint32{0x0221b9bf, 0x03d91f8a, 0x00b93d53, 0x00760d23, 0x004e135c, 0x016a312c, 0x024eca55, 0x0379cc34, 0x004fcdd2, 0x003ee815}}, Y: Field{[10]uint32{0x0374568a, 0x015f8109, 0x023f7aed, 0x0327df6f, 0x02f71a6c, 0x03e0ef9a, 0x02fe631f, 0x01ab3cba, 0x0025a4ec, 0x001e8469}}}, + {X: Field{[10]uint32{0x00920a9b, 0x02af2875, 0x00b485f7, 0x00551585, 0x01ecad11, 0x0070eeb6, 0x002bdd70, 0x03d988e4, 0x013a1edb, 0x00365ac9}}, Y: Field{[10]uint32{0x0318c2e8, 0x0341980e, 0x031f2408, 0x0322c5cb, 0x021499f1, 0x03ccc54d, 0x027d09f2, 0x02e0c4bc, 0x0198f951, 0x000af222}}}, + {X: Field{[10]uint32{0x02267c2b, 0x012e2990, 0x0135613a, 0x00ba51f0, 0x01982338, 0x03e5c8fe, 0x02e14da0, 0x02e09652, 0x03ce1081, 0x000acf05}}, Y: Field{[10]uint32{0x036048ff, 0x037e9a4c, 0x0074fdbb, 0x030b6ef3, 0x02e77205, 0x009e8aad, 0x007f1fa4, 0x00916e23, 0x009f2ebd, 0x00293356}}}, + {X: Field{[10]uint32{0x016439f9, 0x0158da72, 0x021252eb, 0x03253f61, 0x013f6bc5, 0x03891367, 0x0313ea72, 0x0148b1a4, 0x0380fdac, 0x001a5a61}}, Y: Field{[10]uint32{0x01a03154, 0x0007ddc9, 0x0020ec10, 0x0053f880, 0x018d6e43, 0x02ee6653, 0x02b59439, 0x011d7f01, 0x03c6460f, 0x003a3bac}}}, + {X: Field{[10]uint32{0x00848c68, 0x0257be68, 0x03c6d763, 0x03f2b8bf, 0x02d1577e, 0x02ff0bd2, 0x03e172c9, 0x03713258, 0x02114cb4, 0x00078d11}}, Y: Field{[10]uint32{0x004f5b19, 0x00d0db10, 0x01e1da47, 0x00858167, 0x01a2bb46, 0x02ef1b54, 0x016d4643, 0x0268382e, 0x00dfe6f5, 0x0037aeee}}}, + {X: Field{[10]uint32{0x006aa61a, 0x022ba34a, 0x03a1fc55, 0x0213109c, 0x03d5c302, 0x034d78a1, 0x012c191b, 0x00aa6ae8, 0x02024c7f, 0x001b33eb}}, Y: Field{[10]uint32{0x02e7cb11, 0x0120e22d, 0x02de854e, 0x03c7ba0e, 0x0194c4cd, 0x00791623, 0x002ade25, 0x028bf74d, 0x01740c78, 0x00308050}}}, + {X: Field{[10]uint32{0x024c728e, 0x02c5b8b2, 0x0077ec32, 0x00fe525f, 0x02db4315, 0x006884a2, 0x03f0a2e6, 0x0284ccd6, 0x008769b6, 0x0016d7f5}}, Y: Field{[10]uint32{0x00f00c77, 0x039df363, 0x0108850f, 0x03694f10, 0x015a54c9, 0x01a1c46d, 0x01f26321, 0x027513ab, 0x013fb23c, 0x0026550d}}}, + {X: Field{[10]uint32{0x035d069e, 0x01aa6f00, 0x0221565a, 0x0277d504, 0x03e6a41d, 0x00c8ed8f, 0x03bbbd27, 0x01137587, 0x025727af, 0x001add28}}, Y: Field{[10]uint32{0x0032a34c, 0x02674cfd, 0x01756480, 0x01185491, 0x0039b87a, 0x03c01326, 0x03d689c5, 0x0237fed6, 0x0214f17b, 0x00029384}}}, + {X: Field{[10]uint32{0x00e372a2, 0x02fc50ee, 0x004b263c, 0x01b02ab8, 0x03868860, 0x03823cc5, 0x03408b9f, 0x03b4060d, 0x01878ae9, 0x00145c68}}, Y: Field{[10]uint32{0x03172d06, 0x01009d82, 0x037e8681, 0x0057164e, 0x0044da8e, 0x02a3c829, 0x024a4728, 0x014f33f9, 0x026b9641, 0x002d79f7}}}, + {X: Field{[10]uint32{0x03c8e80d, 0x03a5b350, 0x0356c279, 0x024a102d, 0x03dbce8a, 0x014a562a, 0x018568ce, 0x03bcc8d4, 0x006a4337, 0x00037e7a}}, Y: Field{[10]uint32{0x03027da7, 0x0246ed1c, 0x001df5f5, 0x037c1865, 0x0250b2cc, 0x03a4e04c, 0x00e8ff61, 0x01182844, 0x02eec72f, 0x001510ae}}}, + {X: Field{[10]uint32{0x0087c850, 0x0200608e, 0x033072ec, 0x024dedb4, 0x00ac9e46, 0x0240fef4, 0x0076ab73, 0x007dc6be, 0x0279eb6f, 0x003381c0}}, Y: Field{[10]uint32{0x02a155eb, 0x0037b52d, 0x01e84aea, 0x025d4e37, 0x016ea230, 0x0247e2b6, 0x03f2a79e, 0x034d1787, 0x01f988f9, 0x0037a0f7}}}, + {X: Field{[10]uint32{0x002f35fd, 0x01fcd213, 0x00c40766, 0x026c3b4a, 0x0296e578, 0x0274234d, 0x0238936c, 0x03213160, 0x006244af, 0x00280957}}, Y: Field{[10]uint32{0x033c6f7a, 0x0383459d, 0x0269f17e, 0x005f3589, 0x0206cd50, 0x02c83c88, 0x0098293f, 0x02635c32, 0x0007aef8, 0x0024f8b5}}}, + {X: Field{[10]uint32{0x02f0d86b, 0x009b72a1, 0x03ef0d51, 0x010370bd, 0x02138e18, 0x00e0ffd8, 0x00e1197a, 0x01775c50, 0x02adb76d, 0x002ba0b7}}, Y: Field{[10]uint32{0x0320964a, 0x02057295, 0x027c65f5, 0x01606668, 0x0072d36b, 0x038c2d64, 0x036d8ec2, 0x001de6a7, 0x03accaaa, 0x0008e76e}}}, + {X: Field{[10]uint32{0x02332393, 0x00dd7645, 0x0088444c, 0x02b27024, 0x0197c597, 0x02250918, 0x016441ea, 0x0178bb56, 0x01cebee6, 0x0033c266}}, Y: Field{[10]uint32{0x02748ca4, 0x017fecce, 0x01880865, 0x03481a4d, 0x011c664a, 0x016b736f, 0x03f8cd54, 0x03b75407, 0x03d2f074, 0x00198832}}}, + {X: Field{[10]uint32{0x00d3965c, 0x01600ce7, 0x0222a762, 0x00065151, 0x029ec068, 0x02eb2ecd, 0x03ff1b41, 0x02c06d8e, 0x03746404, 0x0017ed2b}}, Y: Field{[10]uint32{0x032abff5, 0x0338e489, 0x03e93d99, 0x02d16553, 0x00916a51, 0x01239d12, 0x009529fa, 0x01a5f350, 0x02e12cce, 0x0011932c}}}, + {X: Field{[10]uint32{0x033216b4, 0x00e83cc6, 0x023a0199, 0x003e0453, 0x002c7a35, 0x00af12b3, 0x01e5687a, 0x008cb815, 0x000a46b5, 0x00056bcf}}, Y: Field{[10]uint32{0x01d45a83, 0x00e95d33, 0x03b37ad8, 0x02795a96, 0x0286c818, 0x028ffdee, 0x035acd93, 0x00e2c11c, 0x039bbdce, 0x002b80dc}}}, + {X: Field{[10]uint32{0x000b4b10, 0x00cf8d95, 0x0046576d, 0x021d9034, 0x0232c887, 0x00b65cf6, 0x00b8b5d3, 0x0333150b, 0x01d1d008, 0x0017400d}}, Y: Field{[10]uint32{0x0254c465, 0x00f9ef9b, 0x02f39617, 0x023356d2, 0x0376db8a, 0x00e9d3c5, 0x009061f7, 0x027ca19a, 0x00e5bffa, 0x001123b6}}}, + {X: Field{[10]uint32{0x03c95527, 0x01eeb520, 0x03915e02, 0x0013f12b, 0x02a40b07, 0x03f1a78e, 0x039d322f, 0x01277fb6, 0x00f39cf7, 0x0025131c}}, Y: Field{[10]uint32{0x006c6f0c, 0x023b2f6e, 0x02fc21a1, 0x03f52388, 0x02df10ac, 0x012699a6, 0x026e95ce, 0x024cc992, 0x003bbf48, 0x002c2b03}}}, + {X: Field{[10]uint32{0x011e4402, 0x02f17585, 0x00acc846, 0x0095b34a, 0x0052e262, 0x02b58bc1, 0x0246754d, 0x00f128fc, 0x01f082ec, 0x003e9486}}, Y: Field{[10]uint32{0x027afae9, 0x0138fcc2, 0x0065a01b, 0x00af7340, 0x01eb730d, 0x000a240c, 0x0364f26a, 0x00c4cb5e, 0x01e9d640, 0x000cb3a0}}}, + {X: Field{[10]uint32{0x00a30ede, 0x010e4a0e, 0x03032704, 0x01ad766f, 0x0085c6a1, 0x0162e146, 0x009455a8, 0x03898c14, 0x0230ddbe, 0x00327d2a}}, Y: Field{[10]uint32{0x00ad7b7c, 0x02dd8c8d, 0x01baea15, 0x00d30be9, 0x03add203, 0x01adcee9, 0x00927994, 0x02bcc66a, 0x03c6b438, 0x0017bdc5}}}, + {X: Field{[10]uint32{0x03770319, 0x0305e39e, 0x02120162, 0x018b7bba, 0x020529b3, 0x01cb53ff, 0x00dd2fdc, 0x0355a56c, 0x03ca7454, 0x000bd33c}}, Y: Field{[10]uint32{0x02f7d487, 0x0033ade8, 0x02042d5a, 0x0317fc51, 0x02fe7c87, 0x02dd9c24, 0x03c1ce0f, 0x03af2fd1, 0x020e3566, 0x003736a4}}}, + {X: Field{[10]uint32{0x01969945, 0x02a5ae1e, 0x02af40a0, 0x01080891, 0x02a1cb0a, 0x007e46cf, 0x03a41a75, 0x035d2bc1, 0x01762e0c, 0x000905fd}}, Y: Field{[10]uint32{0x027807d9, 0x02e9ffc7, 0x02ceefcf, 0x01b65aea, 0x01741ef9, 0x0072d13b, 0x02d0a3f6, 0x01c6f2b6, 0x0355f8dc, 0x001aa5b5}}}, + {X: Field{[10]uint32{0x0088852c, 0x02d86e16, 0x008c66cf, 0x002bba45, 0x00d43d06, 0x02ecf6e9, 0x01ca5bac, 0x00707d9d, 0x0384305a, 0x0026ac8b}}, Y: Field{[10]uint32{0x0028a03e, 0x02d45ea9, 0x01c18e23, 0x01acb32a, 0x03b51d99, 0x02b3768e, 0x02ac12a7, 0x0238e9eb, 0x02faa258, 0x002bc141}}}, + {X: Field{[10]uint32{0x00a72b6c, 0x00074749, 0x02f52875, 0x00996858, 0x0077a917, 0x038551c9, 0x00ed8787, 0x01e4980a, 0x02a22462, 0x003dd087}}, Y: Field{[10]uint32{0x0343fcf6, 0x00224015, 0x004dd8f5, 0x03322160, 0x01fe1c72, 0x03351845, 0x032ca6d8, 0x0104cbcd, 0x0265e448, 0x0036c2b9}}}, + {X: Field{[10]uint32{0x035c6f75, 0x00ef5ff7, 0x01e35496, 0x02edf65c, 0x0110a912, 0x02e61d6c, 0x00bb7918, 0x015fa370, 0x02f3548d, 0x000d5d5a}}, Y: Field{[10]uint32{0x0077a1d2, 0x01c26378, 0x0260fc51, 0x023882c5, 0x0186d94b, 0x03538658, 0x02d69aeb, 0x02d3f753, 0x01ba78a2, 0x0007291b}}}, + {X: Field{[10]uint32{0x03f01837, 0x031136c6, 0x01bc0241, 0x030bf80c, 0x03de4041, 0x0036b9ff, 0x0049d9ab, 0x03ebc859, 0x000c494c, 0x0029fa7c}}, Y: Field{[10]uint32{0x021a0280, 0x02013005, 0x008b7d10, 0x03793bd4, 0x005a7760, 0x02d7eedd, 0x013d0093, 0x0101aa5d, 0x01ae480b, 0x003cabae}}}, + {X: Field{[10]uint32{0x0262adb7, 0x03d79bf2, 0x03c1ac88, 0x028a4213, 0x0064838a, 0x0195739c, 0x037755b7, 0x00a1e5dc, 0x01ba9287, 0x001a5147}}, Y: Field{[10]uint32{0x002b1cd9, 0x00fc69ec, 0x0143c0c7, 0x01ed468c, 0x00107153, 0x01b1ee54, 0x01845d49, 0x03c244c7, 0x03a8d40d, 0x00098863}}}, + {X: Field{[10]uint32{0x02abf06d, 0x01b338f6, 0x00ad35eb, 0x003c3148, 0x0089a92d, 0x0220817f, 0x0186a375, 0x0299bf3a, 0x033015cc, 0x0031270e}}, Y: Field{[10]uint32{0x000e354c, 0x01b59f16, 0x01b5e621, 0x02714f8c, 0x03624291, 0x034ab425, 0x00f9ca99, 0x000ac383, 0x004a665b, 0x001ebf7a}}}, + {X: Field{[10]uint32{0x039dae8f, 0x01ad891a, 0x003871ab, 0x0110215c, 0x0090c0c7, 0x0047053e, 0x036ee1df, 0x01b8e316, 0x01bfb68e, 0x003a7860}}, Y: Field{[10]uint32{0x01ef5e1b, 0x0309a8b5, 0x00018fc6, 0x0297868d, 0x00d1af5c, 0x00d946a9, 0x007e260c, 0x010c5c24, 0x02db3f39, 0x002c2f3f}}}, + {X: Field{[10]uint32{0x02392324, 0x00b8c0b7, 0x028bc406, 0x00e2ae67, 0x012e7d87, 0x0035b87e, 0x01c9e52e, 0x01073d6d, 0x006f0adf, 0x00290a16}}, Y: Field{[10]uint32{0x01b8d142, 0x019fc225, 0x031c83f9, 0x00fd37a0, 0x01a2a741, 0x012737ba, 0x03911e8b, 0x0324dd96, 0x018bfe71, 0x001df0f8}}}, + {X: Field{[10]uint32{0x032712cf, 0x03743641, 0x0194d785, 0x039d7bfb, 0x0038077b, 0x0195a99d, 0x00a4830b, 0x0068952d, 0x02d2de1d, 0x003d724b}}, Y: Field{[10]uint32{0x033958fb, 0x019c2e7a, 0x03f1ed7c, 0x01f80699, 0x01228fdf, 0x01471446, 0x01f6dcbc, 0x0127356d, 0x013a4978, 0x001fba63}}}, + {X: Field{[10]uint32{0x009c3f66, 0x023c062d, 0x034bdf26, 0x031ffc95, 0x01e18c19, 0x019ed55c, 0x01b69307, 0x03d418c4, 0x03ca6c85, 0x002a15c1}}, Y: Field{[10]uint32{0x028aa050, 0x006367d7, 0x0273d775, 0x00d5356e, 0x00536543, 0x00dee3ee, 0x0367d103, 0x038626ab, 0x0271cde2, 0x0005e17f}}}, + {X: Field{[10]uint32{0x00a7468d, 0x0250bfb0, 0x0197c0f9, 0x01819e9f, 0x00d084ab, 0x027b2971, 0x01e0cf81, 0x03470bcb, 0x035fa4c8, 0x0002219b}}, Y: Field{[10]uint32{0x0188336e, 0x024c120d, 0x0009afe6, 0x022e9fb0, 0x02291528, 0x01d8af9b, 0x02c49adc, 0x0241e8bd, 0x026c3f33, 0x000c0508}}}, + {X: Field{[10]uint32{0x020688cc, 0x02f8532b, 0x03d66f40, 0x02d59186, 0x0392af22, 0x036901b3, 0x03d07c8b, 0x00b5a385, 0x017337eb, 0x001097db}}, Y: Field{[10]uint32{0x004d4980, 0x035a63f4, 0x03dbdef8, 0x016561c6, 0x00096436, 0x0202f67f, 0x0373290e, 0x038e446a, 0x026f7c42, 0x003a1954}}}, + {X: Field{[10]uint32{0x00323139, 0x03208f5a, 0x019a2f8a, 0x02bcef27, 0x0236bfe6, 0x00f7ad2f, 0x00184414, 0x02cff555, 0x003e1de3, 0x0003dc3f}}, Y: Field{[10]uint32{0x0224ce03, 0x01012d76, 0x0144adae, 0x002d02aa, 0x008ae575, 0x01ac635e, 0x0374a82d, 0x02cc278d, 0x014b1feb, 0x0022d1e6}}}, + {X: Field{[10]uint32{0x0283116c, 0x002cd8ca, 0x0106758a, 0x03650e7a, 0x00d59c66, 0x02be8487, 0x003b10ce, 0x00a8581c, 0x00f3038d, 0x0006fa58}}, Y: Field{[10]uint32{0x01e29aef, 0x0070378f, 0x0201062f, 0x036c67ba, 0x030647e0, 0x02c0403e, 0x01549cc3, 0x03b810d4, 0x022f8218, 0x001fe932}}}, + {X: Field{[10]uint32{0x020cf385, 0x01cb54cc, 0x02a7e484, 0x022520c7, 0x02e915eb, 0x01a52a03, 0x0351e9f5, 0x02028e2b, 0x02d3bc5c, 0x00007ca8}}, Y: Field{[10]uint32{0x013940e5, 0x0194ef9b, 0x00e9ff55, 0x001d9e0b, 0x0147053f, 0x0399c07e, 0x03cb9455, 0x013127e6, 0x0239174b, 0x0028633a}}}, + {X: Field{[10]uint32{0x00d04766, 0x01dfcf91, 0x0140e884, 0x00dff9dc, 0x019aa67c, 0x01f2beaa, 0x03908611, 0x01ac2edd, 0x03607084, 0x0001875a}}, Y: Field{[10]uint32{0x00f2688f, 0x0230472a, 0x024d2533, 0x03ab2bdc, 0x02b7c4b1, 0x0325b799, 0x02eb59a6, 0x026b858c, 0x02908684, 0x0031fd2f}}}, + {X: Field{[10]uint32{0x02e6cc9c, 0x033c3507, 0x03c4fe6c, 0x00e249db, 0x026d5405, 0x012f9fc9, 0x0108daf0, 0x019145e5, 0x00932d9a, 0x0000acdc}}, Y: Field{[10]uint32{0x015beca7, 0x0002438a, 0x01d9f5ca, 0x0111860e, 0x0391cdfc, 0x005b382d, 0x016a1d86, 0x0262c7b8, 0x03f42c89, 0x003000a8}}}, + {X: Field{[10]uint32{0x02708858, 0x03598a7c, 0x0263a87c, 0x0255a89d, 0x0364af0e, 0x03fa6c07, 0x03fd1360, 0x02de8d35, 0x03efaba8, 0x00123d70}}, Y: Field{[10]uint32{0x0232b5ab, 0x03c0fa3f, 0x015e2b88, 0x02fed4a2, 0x0290aefd, 0x00be5cef, 0x02f09cc5, 0x019c91f0, 0x00b7fce4, 0x002330e3}}}, + {X: Field{[10]uint32{0x0262cfa0, 0x007766cf, 0x00b86e98, 0x03a42798, 0x00adfbe9, 0x01edb54d, 0x01cfc876, 0x03089dbd, 0x01972e5e, 0x0039826d}}, Y: Field{[10]uint32{0x02b43081, 0x00cf997c, 0x0189f0a4, 0x005826b8, 0x02335ca6, 0x02fc6c9e, 0x0385e3db, 0x017f4f8e, 0x01eeff20, 0x001afa70}}}, + {X: Field{[10]uint32{0x016d205a, 0x019a806c, 0x02b0b2ab, 0x01ecb69a, 0x02f19a76, 0x03bc3073, 0x02b8ea81, 0x0273211b, 0x031a5b2c, 0x003af902}}, Y: Field{[10]uint32{0x03c67058, 0x01be4525, 0x032f445d, 0x008035c2, 0x02967d69, 0x02593d76, 0x01899bd1, 0x032f440e, 0x00e8e4fe, 0x000bddc4}}}, + {X: Field{[10]uint32{0x018e3abd, 0x037d964d, 0x01b3ff70, 0x01160f60, 0x03dbc72d, 0x02c18af3, 0x03d32f39, 0x02c7bd94, 0x00399391, 0x0025f353}}, Y: Field{[10]uint32{0x03f37968, 0x036629fe, 0x03fe813d, 0x00ae88ce, 0x02263acf, 0x03a7d72b, 0x03c35c56, 0x02db7be6, 0x0184a175, 0x00281698}}}, + {X: Field{[10]uint32{0x02a7e6d9, 0x0128f06f, 0x0100ebf6, 0x02a80de0, 0x03257343, 0x019566b9, 0x00d99fce, 0x0343a14f, 0x00aa1d3f, 0x00209a4a}}, Y: Field{[10]uint32{0x021efc79, 0x02c1ec8b, 0x0399b020, 0x022a26ec, 0x02faad7f, 0x03dbe112, 0x010fddfc, 0x03a42bfd, 0x01b1a3bd, 0x002f128b}}}, + {X: Field{[10]uint32{0x03a19121, 0x03b4e697, 0x02398967, 0x00c59dcb, 0x0283bd14, 0x0042eb9e, 0x02e91814, 0x0257745d, 0x0097f3ac, 0x000f9d50}}, Y: Field{[10]uint32{0x0118df32, 0x03f99d69, 0x01801135, 0x0251fcfc, 0x0000ca7f, 0x033e50db, 0x0107ea15, 0x033fe282, 0x0299c6a2, 0x001d1b33}}}, + {X: Field{[10]uint32{0x029365db, 0x014c998c, 0x028fa446, 0x0118eee0, 0x0282991f, 0x02809c19, 0x00a236c8, 0x02651e02, 0x0064b49b, 0x003394e5}}, Y: Field{[10]uint32{0x022e5dd9, 0x0353009d, 0x00d41a74, 0x027046cb, 0x03a7bda7, 0x0270b0e2, 0x01f2fda2, 0x011d8c18, 0x02c2b8bc, 0x000d5e3f}}}, + {X: Field{[10]uint32{0x03e349dd, 0x0030ebd4, 0x036692c9, 0x01a4854c, 0x0344a2b6, 0x01929df2, 0x0041d6ae, 0x0056b5eb, 0x01d9cda6, 0x00324cf6}}, Y: Field{[10]uint32{0x0172c610, 0x002c36c1, 0x00c11f9f, 0x012a8713, 0x02a25b05, 0x0262eaf3, 0x02a8ede2, 0x03aeee3c, 0x024f83ba, 0x00129b68}}}, + {X: Field{[10]uint32{0x000b2ac4, 0x0068ef20, 0x03d51d08, 0x03bca009, 0x03a78e2d, 0x0237777b, 0x0116f2e7, 0x02057fa4, 0x003b1aa9, 0x001166a9}}, Y: Field{[10]uint32{0x03e993d5, 0x017f1f18, 0x016454bd, 0x01583f0a, 0x025c6151, 0x0377347c, 0x02900d4c, 0x0178c2c5, 0x03c3de99, 0x0006b3b6}}}, + {X: Field{[10]uint32{0x023b0a5e, 0x01fe44c7, 0x004d43b2, 0x00d268c3, 0x00ff4453, 0x018e6aff, 0x00675640, 0x02b4a7ad, 0x01d99862, 0x0017caa9}}, Y: Field{[10]uint32{0x01ace144, 0x01507258, 0x02cfbce7, 0x02df7538, 0x025acfbb, 0x0116ce6c, 0x01ef9ba4, 0x002fcb67, 0x022be61d, 0x0015c7b2}}}, + {X: Field{[10]uint32{0x00f4fd1d, 0x02079822, 0x000f5756, 0x01fe51ed, 0x01fc2c3d, 0x028ce152, 0x0393e681, 0x01756630, 0x021de6cc, 0x003b19ba}}, Y: Field{[10]uint32{0x01280f52, 0x01f6faaa, 0x025978ab, 0x027e8dc1, 0x02554073, 0x0029525e, 0x014dfa9d, 0x0210d562, 0x03db3b37, 0x0035c47f}}}, + {X: Field{[10]uint32{0x016105fe, 0x0205a0ab, 0x007ab1a4, 0x00e31e15, 0x0169ad06, 0x03472ace, 0x003f018b, 0x01fcb666, 0x01f5aa09, 0x001ab14f}}, Y: Field{[10]uint32{0x0218a598, 0x03238159, 0x00578abf, 0x025aee82, 0x013cd517, 0x010c1e5a, 0x008f2242, 0x02e46652, 0x02815127, 0x00257da6}}}, + {X: Field{[10]uint32{0x0396c0b0, 0x00bc4a67, 0x014fd384, 0x02142cd1, 0x0016fb5c, 0x03700b3d, 0x026dcb8f, 0x0343f711, 0x01e29e4a, 0x002a28fa}}, Y: Field{[10]uint32{0x0316dc2b, 0x00e29559, 0x03685ce1, 0x00242f78, 0x03169b8d, 0x00e535f0, 0x016d152f, 0x037a943b, 0x033e3006, 0x0037e1ba}}}, + {X: Field{[10]uint32{0x02db251c, 0x01030f79, 0x0116632c, 0x01f0c618, 0x001dbe98, 0x03b69b7e, 0x02c84a2f, 0x01d06e57, 0x00d2a0d8, 0x001429d9}}, Y: Field{[10]uint32{0x03e41055, 0x03ed089f, 0x00a4085c, 0x03890c29, 0x0176a8c7, 0x03a6d44b, 0x027632ac, 0x005f052d, 0x03f02339, 0x002ca080}}}, + {X: Field{[10]uint32{0x02b51ef9, 0x01d1b286, 0x013a9423, 0x021160a2, 0x011bd9c5, 0x01b8e73e, 0x0056c9fa, 0x037c749a, 0x00b15ef9, 0x0030b0c5}}, Y: Field{[10]uint32{0x012ab759, 0x0086693a, 0x01d4493e, 0x00c79c5d, 0x03a22f1e, 0x0167c22d, 0x009a9f5d, 0x037eaae5, 0x0286ff7f, 0x00289fe4}}}, + {X: Field{[10]uint32{0x02a9d3df, 0x01aee49d, 0x01b75dbf, 0x01d4dc3f, 0x0364868b, 0x00882930, 0x03ce375e, 0x032344ac, 0x0185da44, 0x002e9955}}, Y: Field{[10]uint32{0x024fda50, 0x0198eef2, 0x0073be51, 0x0139bf22, 0x00bdd9d0, 0x00cb3127, 0x0318f614, 0x00e16f7b, 0x016ba03a, 0x000f5938}}}, + {X: Field{[10]uint32{0x006e600e, 0x0173fbe9, 0x001c2aca, 0x004ee785, 0x0256bd0d, 0x00694403, 0x0276a650, 0x000292d6, 0x0249d4d1, 0x000f517e}}, Y: Field{[10]uint32{0x00059176, 0x02f70ad6, 0x001eced5, 0x0039cc60, 0x00da3039, 0x031d6e92, 0x01a93b13, 0x03b90b87, 0x013c38ee, 0x000024a5}}}, + {X: Field{[10]uint32{0x008c3a8c, 0x011ac12f, 0x005964ca, 0x01fd144e, 0x0083e5ab, 0x03ecb043, 0x025d96e1, 0x030f8903, 0x0346e40d, 0x00391930}}, Y: Field{[10]uint32{0x0204cf4e, 0x03243594, 0x0390fc7a, 0x0293d5f3, 0x030ca364, 0x01d3359e, 0x02205aa3, 0x0142f4a0, 0x03461829, 0x0018fc52}}}, + {X: Field{[10]uint32{0x02a42688, 0x010b756b, 0x001e3fdf, 0x03931ce1, 0x00d56f3f, 0x034f71c8, 0x030d218b, 0x02cc1c16, 0x012fe235, 0x000529f8}}, Y: Field{[10]uint32{0x01e9ff2a, 0x02fce8c5, 0x038099ee, 0x01266b84, 0x00eac312, 0x004de93c, 0x02a22d48, 0x03d20bb5, 0x03cc40ce, 0x0035e5a0}}}, + {X: Field{[10]uint32{0x023828be, 0x03ec1e25, 0x01936a99, 0x00ae1757, 0x0061d2ee, 0x02cbfdbd, 0x0334ffab, 0x01cec896, 0x03b821af, 0x00239ebe}}, Y: Field{[10]uint32{0x026b1853, 0x02739f6b, 0x01ec16cc, 0x01c37b98, 0x02bb5284, 0x00838418, 0x015bea0e, 0x01da33c1, 0x03765aa0, 0x00010391}}}, + {X: Field{[10]uint32{0x03297573, 0x0181a414, 0x002465b1, 0x015629fb, 0x017d8440, 0x03973a0a, 0x00f9f1f9, 0x02f43d2f, 0x01623227, 0x00275904}}, Y: Field{[10]uint32{0x0307fc8d, 0x030d70e6, 0x01b2c126, 0x03576974, 0x021f8630, 0x003fb027, 0x0067ea47, 0x006f95c0, 0x03a06800, 0x003b4360}}}, + {X: Field{[10]uint32{0x03c83eaf, 0x0201625f, 0x00f0b7bd, 0x03c512bc, 0x0352bb40, 0x00f69d39, 0x025b52be, 0x02767d04, 0x02d6d9e4, 0x0019d631}}, Y: Field{[10]uint32{0x004fd292, 0x032d0d06, 0x026e36a1, 0x033351a0, 0x005f7d22, 0x0255df6f, 0x0229b3de, 0x00b0d8e8, 0x008ec2aa, 0x001d26b8}}}, + {X: Field{[10]uint32{0x0061d73a, 0x0045452f, 0x03fb80da, 0x0066d28c, 0x01326327, 0x0293047d, 0x0193df63, 0x00b62c53, 0x01a04570, 0x0002cf84}}, Y: Field{[10]uint32{0x01d562eb, 0x01bef66a, 0x02d189a8, 0x02d8d2c8, 0x009660c6, 0x032e5c11, 0x02238928, 0x01fb0806, 0x02b12b26, 0x0031b854}}}, + {X: Field{[10]uint32{0x026fa5f1, 0x03b56835, 0x00b98994, 0x00f08842, 0x02137bf4, 0x002e789d, 0x0371b0fe, 0x02644404, 0x01ea3b30, 0x001428c9}}, Y: Field{[10]uint32{0x0345b70e, 0x02b8500d, 0x00739dfe, 0x027009d4, 0x028a9939, 0x02ce7bfa, 0x03585279, 0x002a9629, 0x011fd39e, 0x00251b6b}}}, + {X: Field{[10]uint32{0x015e9661, 0x0138c8ba, 0x03e39121, 0x029a91bb, 0x02a97341, 0x02b1423b, 0x02802ce8, 0x03568b3d, 0x02493bef, 0x003df23c}}, Y: Field{[10]uint32{0x0234cb67, 0x00f62347, 0x03f5d4e3, 0x039fe8fc, 0x02573883, 0x02639365, 0x00b7ec05, 0x03cdc051, 0x00c4eec1, 0x000f01cb}}}, + {X: Field{[10]uint32{0x038f85b6, 0x01977200, 0x00cc3c89, 0x02ee1b0a, 0x0038c7e7, 0x03127a9a, 0x030b94e9, 0x00ce1bc2, 0x0350c154, 0x000c0b4e}}, Y: Field{[10]uint32{0x00310744, 0x00b496a2, 0x03720567, 0x00a3539f, 0x013588d1, 0x01b1e324, 0x0366e5a9, 0x02a8bd82, 0x03d0d891, 0x00262011}}}, + {X: Field{[10]uint32{0x019f0eb7, 0x014edf48, 0x0386afbf, 0x03f2c363, 0x021d3810, 0x017b7a26, 0x00e8ecb5, 0x016e9834, 0x03282e7e, 0x0032e3b9}}, Y: Field{[10]uint32{0x038094cd, 0x038058ea, 0x0118e75f, 0x018381a8, 0x02bc10bd, 0x03c12470, 0x009a4e3c, 0x00426423, 0x022befad, 0x0012c13a}}}, + {X: Field{[10]uint32{0x03d5fd42, 0x015cb533, 0x0131b211, 0x00d7e42f, 0x0174f920, 0x031ce927, 0x00f6f04a, 0x0362a883, 0x022b4a0c, 0x0019172a}}, Y: Field{[10]uint32{0x037ef5b9, 0x0320d1be, 0x010a6b6f, 0x008dfd47, 0x03b0aa13, 0x03f945b6, 0x022b64ea, 0x035f0779, 0x019635f9, 0x001e4fca}}}, + {X: Field{[10]uint32{0x015f5a21, 0x031289ce, 0x034f3e69, 0x01ccf617, 0x00f00b1c, 0x0185f593, 0x034b8df6, 0x02d79d50, 0x002f6148, 0x00134dcd}}, Y: Field{[10]uint32{0x03a708bd, 0x01df6294, 0x01cded15, 0x0374e341, 0x034eebd7, 0x006dad99, 0x00a7db2b, 0x031c1519, 0x012bd4c5, 0x00190002}}}, + {X: Field{[10]uint32{0x00c0e0d8, 0x024c5c06, 0x02d3dbd6, 0x00d0db9d, 0x01747a21, 0x034a2f4e, 0x02c6285e, 0x001ecad2, 0x0317024e, 0x00398d2f}}, Y: Field{[10]uint32{0x03e9f021, 0x036e1cc4, 0x00a53020, 0x03efa25f, 0x025e9660, 0x02c44e1d, 0x01d9d8b6, 0x02947b0c, 0x02de4b82, 0x003332f2}}}, + {X: Field{[10]uint32{0x020cef38, 0x0044014d, 0x0192ba51, 0x0018eefe, 0x0264c490, 0x00c74966, 0x03ff5354, 0x03144f56, 0x01e62767, 0x00202803}}, Y: Field{[10]uint32{0x028ef572, 0x033737d8, 0x036b203f, 0x03de54c2, 0x03b2620d, 0x03f71f80, 0x027e23e8, 0x00cd9b11, 0x0189e8d7, 0x001f73ad}}}, + {X: Field{[10]uint32{0x028f8a0f, 0x00b8b767, 0x0225d05b, 0x0197dc65, 0x02baf5b7, 0x0047571d, 0x01b8409f, 0x0143b669, 0x00e6d23d, 0x00181b54}}, Y: Field{[10]uint32{0x03b32788, 0x010d9acf, 0x00cc748c, 0x03a2edf2, 0x004cbb41, 0x0305c480, 0x001d2206, 0x02d30bf3, 0x009245b1, 0x00067d55}}}, + {X: Field{[10]uint32{0x024f0420, 0x03583b83, 0x02a247fd, 0x020ce359, 0x02266c30, 0x0392864c, 0x03ea835a, 0x013edd29, 0x0214f7d4, 0x00272282}}, Y: Field{[10]uint32{0x01d9169a, 0x021d1679, 0x028b4d01, 0x01e8ecaf, 0x018737fc, 0x006bb74a, 0x02da6218, 0x023748c7, 0x02373157, 0x0010b1b0}}}, + {X: Field{[10]uint32{0x0235da1c, 0x030cf6c7, 0x00e59ceb, 0x032810ea, 0x001a32d3, 0x02905e49, 0x01a01548, 0x01bd63fe, 0x00f781a4, 0x0035b33f}}, Y: Field{[10]uint32{0x021d084f, 0x037c88e1, 0x016d568b, 0x02f24409, 0x0287cbcf, 0x015c3e0c, 0x00824e61, 0x01ae362d, 0x021ace84, 0x002872ae}}}, + {X: Field{[10]uint32{0x01f2e3c4, 0x01aeb67d, 0x000da459, 0x03b6903b, 0x006eed5d, 0x0251f234, 0x016f4464, 0x00ffc915, 0x036a3e4c, 0x00233ebc}}, Y: Field{[10]uint32{0x00f3c4d7, 0x0381a4b6, 0x031fcc80, 0x00ee5b28, 0x026b7237, 0x00419fc8, 0x03f81d1c, 0x0337f78c, 0x02ccede6, 0x002646db}}}, + {X: Field{[10]uint32{0x03e664a0, 0x03023aed, 0x03da0541, 0x02c1245f, 0x03189849, 0x031a9b31, 0x02f39738, 0x00e82ef3, 0x01815b0f, 0x00351b0f}}, Y: Field{[10]uint32{0x0167c159, 0x033962b6, 0x026421fe, 0x02650107, 0x0158cffe, 0x02a13b60, 0x02dc9b63, 0x03975f22, 0x03b6d053, 0x000d5492}}}, + {X: Field{[10]uint32{0x037adfff, 0x008ffb0a, 0x02f0490c, 0x01d7280b, 0x03e2ce9b, 0x0118df73, 0x02dce33e, 0x0237dfe0, 0x00a52f1f, 0x0023b5fc}}, Y: Field{[10]uint32{0x028d99ff, 0x003088d8, 0x019a55d9, 0x017509dd, 0x024be1aa, 0x037b8ed9, 0x00272253, 0x0344325b, 0x00c7b418, 0x003c0918}}}, + {X: Field{[10]uint32{0x01aaa2ca, 0x02a17d9b, 0x02c2b0ce, 0x02ca2af4, 0x00825c46, 0x03ba8ffc, 0x03a4d6ca, 0x0146f54a, 0x02dca8a3, 0x0010cfb2}}, Y: Field{[10]uint32{0x022977e5, 0x02850bc5, 0x0038f983, 0x03f20f41, 0x03f6d396, 0x01bce438, 0x00d03c48, 0x0345dd17, 0x01bcc2d7, 0x00134edc}}}, + {X: Field{[10]uint32{0x03a006e6, 0x02cfe72e, 0x014eb249, 0x00ec5701, 0x03ba0449, 0x007d990a, 0x01bbddd8, 0x01fe0dea, 0x02f31037, 0x00301dc7}}, Y: Field{[10]uint32{0x034ccb1e, 0x037c963b, 0x015b0784, 0x00ce98e5, 0x00e1ea2b, 0x01e35312, 0x018c6b47, 0x01a809e2, 0x01ab1d81, 0x000f94f7}}}, + {X: Field{[10]uint32{0x03597ad7, 0x00ea7143, 0x03d238ff, 0x02a29d07, 0x0092072b, 0x00d71b36, 0x0197383e, 0x021ee54e, 0x02264a6a, 0x00370b80}}, Y: Field{[10]uint32{0x0012c74d, 0x00f07c5f, 0x00e01d8a, 0x03272f20, 0x018ddbac, 0x03d65fa1, 0x00ac0ff6, 0x03dc8d10, 0x0346ecd5, 0x002263b9}}}, + {X: Field{[10]uint32{0x02dab771, 0x002dd81a, 0x01f0311f, 0x02cbb60e, 0x01d043d7, 0x0273678c, 0x005f7811, 0x0232fc7f, 0x023459ad, 0x0005aeb3}}, Y: Field{[10]uint32{0x002fb1c4, 0x01b077f0, 0x01243e89, 0x02c4af52, 0x0066e835, 0x00acae0d, 0x02239797, 0x025f8cb2, 0x01326ec6, 0x00003d91}}}, + {X: Field{[10]uint32{0x0169c736, 0x017ce95f, 0x001a4072, 0x036a0e72, 0x029af55e, 0x023c00d1, 0x02539a86, 0x0050e451, 0x018f3a27, 0x002bee53}}, Y: Field{[10]uint32{0x035201d8, 0x03a2f468, 0x009cb386, 0x029d5653, 0x00bdf37f, 0x0158f5d9, 0x00a4eff7, 0x000c769c, 0x014ea455, 0x002bf6ca}}}, + {X: Field{[10]uint32{0x00e89b74, 0x0056aa74, 0x01dc706b, 0x02017de0, 0x02ecc337, 0x0006397a, 0x01b0ae76, 0x03dfd07b, 0x02364a98, 0x002ecc74}}, Y: Field{[10]uint32{0x02031a9a, 0x029307f6, 0x01c27a92, 0x0229ee76, 0x0287cbc2, 0x01373657, 0x009f032f, 0x0331fb35, 0x00031f47, 0x00068193}}}, + {X: Field{[10]uint32{0x004318b8, 0x00f0454f, 0x0270001c, 0x01bb5c9f, 0x03241e48, 0x03bdba0e, 0x0204ee30, 0x0176a059, 0x036c4bbf, 0x003dcec6}}, Y: Field{[10]uint32{0x008c9b17, 0x03e6e29b, 0x01ffb476, 0x03bcedf5, 0x0125ba08, 0x03006c98, 0x00ac2255, 0x0132ead6, 0x016e09d6, 0x00268a2b}}}, + {X: Field{[10]uint32{0x01afa8a4, 0x01ba4864, 0x03313b23, 0x01983c34, 0x03708c87, 0x025816ca, 0x038ea7b6, 0x03168213, 0x0212d0dd, 0x00018ef4}}, Y: Field{[10]uint32{0x016c3e67, 0x001da631, 0x01b0fa33, 0x023b33b3, 0x0102fbca, 0x027f4d0b, 0x03bb0b3a, 0x0100c82b, 0x00f60482, 0x0003b9bd}}}, + {X: Field{[10]uint32{0x02bc6465, 0x001fe186, 0x016299e0, 0x01761d7f, 0x00967b95, 0x031a241e, 0x02416b78, 0x020088c2, 0x022b3606, 0x0018d9f4}}, Y: Field{[10]uint32{0x029417eb, 0x00a225fd, 0x020bbec6, 0x011e4967, 0x03118d16, 0x01657e6c, 0x02444ad5, 0x01e4fc5f, 0x032d14e6, 0x0030fb87}}}, + {X: Field{[10]uint32{0x0085976e, 0x00186a25, 0x02c4f2df, 0x003c2d8c, 0x020c922d, 0x0120e531, 0x0101e3a4, 0x03d4b95e, 0x0143fbb7, 0x001938b9}}, Y: Field{[10]uint32{0x00ab2a4c, 0x024df7ff, 0x0011b48f, 0x01093f38, 0x02895119, 0x0218e939, 0x0047e5a5, 0x01a2d3f1, 0x002e336a, 0x00190698}}}, + {X: Field{[10]uint32{0x03fee1c6, 0x03cc0c78, 0x03f38d6b, 0x01298399, 0x02e16e82, 0x036704c8, 0x0179e869, 0x00d72347, 0x02fd18c8, 0x000b8a42}}, Y: Field{[10]uint32{0x01390f21, 0x0199161e, 0x03874962, 0x02b178dc, 0x02da18cc, 0x00a68d89, 0x0286b0ec, 0x01ad9c1d, 0x028ed2fa, 0x001fe158}}}, + {X: Field{[10]uint32{0x00ee401e, 0x03c421cb, 0x0242b17e, 0x0333602e, 0x00c0ba2d, 0x02231ddd, 0x03229079, 0x0174f7d7, 0x008a0c47, 0x00216688}}, Y: Field{[10]uint32{0x0319f5d8, 0x009ffea2, 0x01e31336, 0x0297c4d2, 0x0384b982, 0x03e84bf3, 0x02ed1e3c, 0x01d0eb58, 0x0245778e, 0x002999f1}}}, + {X: Field{[10]uint32{0x02bcaf21, 0x02b00a80, 0x00939b92, 0x036f64ac, 0x03b608d3, 0x00a7f718, 0x01c0b868, 0x002abbc6, 0x0108ccc5, 0x00324a46}}, Y: Field{[10]uint32{0x02cd2599, 0x023406c1, 0x0231a17d, 0x0115df18, 0x0320cb7d, 0x00bf227e, 0x01352c8b, 0x007d631c, 0x03b74711, 0x0039714a}}}, + {X: Field{[10]uint32{0x01cefb26, 0x03507118, 0x00459b04, 0x031d6369, 0x0364bc42, 0x03c68752, 0x02b01411, 0x02d881e2, 0x009042b5, 0x00140d65}}, Y: Field{[10]uint32{0x034f04e0, 0x01147aaf, 0x02af1e5b, 0x00abdef4, 0x03347c13, 0x009cbe05, 0x00d9bd8f, 0x00193fe0, 0x023db68c, 0x003d87a0}}}, + {X: Field{[10]uint32{0x00a4cbf3, 0x007cb7b1, 0x0343e7b6, 0x00067d17, 0x0039f29a, 0x00ed4d7b, 0x02787c35, 0x03c7ed84, 0x02e7d6a3, 0x003e6f3e}}, Y: Field{[10]uint32{0x032ff883, 0x0301e848, 0x0067b28f, 0x018abb77, 0x02a65658, 0x003f211a, 0x02d5a995, 0x035f9e40, 0x026f273a, 0x003d361b}}}, + {X: Field{[10]uint32{0x014a9152, 0x011c0e7c, 0x01dbad77, 0x03a5fe35, 0x01602ac4, 0x001d91c5, 0x03c0004b, 0x03c143a4, 0x028b901c, 0x0000723f}}, Y: Field{[10]uint32{0x0136769c, 0x01ee031f, 0x00c4c99d, 0x009fdbdd, 0x03b42a0f, 0x02c67e1f, 0x0143b6ec, 0x00a50a48, 0x03347c45, 0x002c9776}}}, + {X: Field{[10]uint32{0x0386f552, 0x010c4c79, 0x004dd2c5, 0x033d04af, 0x008ff676, 0x03ad4d38, 0x023947c6, 0x00ea1f4d, 0x03e14cbe, 0x0000f142}}, Y: Field{[10]uint32{0x0305a74d, 0x03b928e6, 0x032388a0, 0x00f6ed94, 0x00194f55, 0x0119b2b4, 0x02277754, 0x03d80362, 0x031c6e03, 0x00110d11}}}, + {X: Field{[10]uint32{0x030522f5, 0x009c0bb9, 0x01409fe7, 0x02b5b677, 0x005b3e91, 0x03e322c9, 0x0168b4b4, 0x01cbe3ea, 0x01b25554, 0x0019335c}}, Y: Field{[10]uint32{0x01ede304, 0x03c5b622, 0x002af5bf, 0x00f05a1e, 0x0140350a, 0x0066f58a, 0x017fc2a8, 0x0121540b, 0x033ae9fa, 0x003c6c72}}}, + {X: Field{[10]uint32{0x019af7a8, 0x038d0518, 0x00bccc41, 0x039f4bb2, 0x02fd8f69, 0x033102c3, 0x03dded87, 0x030d1b46, 0x0044c584, 0x00307001}}, Y: Field{[10]uint32{0x01879436, 0x0240174f, 0x0238eee0, 0x0332f1b7, 0x01f78dbc, 0x016042d8, 0x03b391ad, 0x03aec21e, 0x00943e3f, 0x00358c6d}}}, + {X: Field{[10]uint32{0x03a2a7ed, 0x03d6558f, 0x01b96cbe, 0x00a2be5c, 0x002fbd0c, 0x02df92e8, 0x0050fd03, 0x02ed871d, 0x0182dad5, 0x003e9425}}, Y: Field{[10]uint32{0x033df4e5, 0x038acd8b, 0x03816165, 0x016cd242, 0x012acdff, 0x01af8865, 0x03890d75, 0x00bde26a, 0x0364617c, 0x00099f09}}}, + {X: Field{[10]uint32{0x01a2386c, 0x008351b0, 0x024d0509, 0x0033df49, 0x0235175e, 0x018130b6, 0x0205f04b, 0x0249aa9b, 0x02e6864e, 0x00195773}}, Y: Field{[10]uint32{0x03ee19c8, 0x03853cb3, 0x02df72bb, 0x00e2d788, 0x025f1dc2, 0x01e596ea, 0x02d36c46, 0x00b2d2e8, 0x02dabf06, 0x00368bab}}}, + {X: Field{[10]uint32{0x033c213e, 0x01bf02b7, 0x01beb760, 0x001b4568, 0x002cc1de, 0x03b17135, 0x03c8fbef, 0x03989025, 0x01ac1b7b, 0x001aad78}}, Y: Field{[10]uint32{0x00a9e466, 0x008c7934, 0x01d3cf36, 0x02353a02, 0x00f83392, 0x03fb37d6, 0x003e0247, 0x00c671d1, 0x03b204eb, 0x0009be60}}}, + {X: Field{[10]uint32{0x00c25f3b, 0x02a75458, 0x01af35f5, 0x02951fbd, 0x036224e2, 0x03dceadc, 0x0373a0d3, 0x02a8b7a7, 0x029e039c, 0x0031f6a1}}, Y: Field{[10]uint32{0x00da579f, 0x010adad0, 0x0175dc79, 0x02267b08, 0x02cfdc0f, 0x01ab9312, 0x02f4cf67, 0x001f604a, 0x010249a6, 0x003a66c4}}}, + {X: Field{[10]uint32{0x0144ef99, 0x03034852, 0x01084a9c, 0x0152fc05, 0x03e20b68, 0x03d34526, 0x028091fa, 0x00f3b7b5, 0x00a15f1c, 0x000a9b53}}, Y: Field{[10]uint32{0x02661ae0, 0x01ad8e03, 0x039b4ced, 0x03cc4fc5, 0x015cb44b, 0x029c0eb1, 0x00d92846, 0x0257a6ae, 0x0288ae92, 0x0037f09d}}}, + {X: Field{[10]uint32{0x01c846c0, 0x018b3684, 0x015752de, 0x009c604a, 0x0292600a, 0x0079dc5a, 0x0259f70b, 0x008932a9, 0x00b3bba7, 0x00111c98}}, Y: Field{[10]uint32{0x008999bf, 0x03687837, 0x00996db8, 0x02990098, 0x038331e2, 0x00184e51, 0x000c9220, 0x00bb7a26, 0x020f33ef, 0x003c5f8f}}}, + {X: Field{[10]uint32{0x03781969, 0x0253dbe9, 0x016fd5b9, 0x0299b94d, 0x015a8788, 0x02cc4abb, 0x00b0f441, 0x01c00e35, 0x00adbaba, 0x002336c7}}, Y: Field{[10]uint32{0x00536977, 0x01dfb75d, 0x00fa17c1, 0x0392e81b, 0x03b88750, 0x0355b080, 0x03be06d8, 0x019ceab9, 0x010e262e, 0x002ce96f}}}, + {X: Field{[10]uint32{0x01caaefe, 0x009aa175, 0x00576851, 0x003c5d76, 0x00bc3e2c, 0x033d1b03, 0x0323e6cd, 0x03e41460, 0x0350fb60, 0x000a2f83}}, Y: Field{[10]uint32{0x022b7320, 0x03e6e8e1, 0x009de21b, 0x030fa590, 0x028d986f, 0x01a30c5d, 0x01404295, 0x02313384, 0x00f7fb18, 0x00173016}}}, + {X: Field{[10]uint32{0x014673a0, 0x012128a6, 0x00eb6f23, 0x0189fe3c, 0x02837e22, 0x0273e0e7, 0x029218ad, 0x03eb522d, 0x00badd2d, 0x0002db73}}, Y: Field{[10]uint32{0x022de992, 0x033f533e, 0x02eafb52, 0x01daba07, 0x02496231, 0x03731cc2, 0x00aa2ab5, 0x005899dd, 0x02d7297f, 0x00387052}}}, + {X: Field{[10]uint32{0x03766a87, 0x01c25578, 0x02e1dbe7, 0x03e4066e, 0x02b9cbb0, 0x0317f369, 0x03ecec9d, 0x03df95e9, 0x02c88813, 0x003917af}}, Y: Field{[10]uint32{0x01fbb07a, 0x004d7ac3, 0x028563ff, 0x01fc4e91, 0x03f915cc, 0x02b2eaa7, 0x03848857, 0x00de0df0, 0x00bb4ccf, 0x000e98a8}}}, + {X: Field{[10]uint32{0x00dccdbb, 0x0087faba, 0x030eb07b, 0x001f7d97, 0x0059bc9d, 0x00adf21d, 0x00b9e552, 0x02752078, 0x037726f3, 0x0037a49b}}, Y: Field{[10]uint32{0x004d8e05, 0x00d9fd8c, 0x02ba0f5f, 0x02c75c86, 0x01115be2, 0x008e7db8, 0x03618ce1, 0x01090092, 0x02a9263d, 0x00274643}}}, + {X: Field{[10]uint32{0x00f2caf0, 0x0280fcbb, 0x03091b54, 0x00b84c17, 0x0091e427, 0x01a5c8ad, 0x03948075, 0x027011b5, 0x03842066, 0x003dd884}}, Y: Field{[10]uint32{0x039e4914, 0x00a4f412, 0x00f6d12d, 0x00aed31f, 0x033088c9, 0x016432a8, 0x01945284, 0x03caa571, 0x00e5a227, 0x003431fa}}}, + {X: Field{[10]uint32{0x025ce751, 0x02effa15, 0x0037d4a8, 0x03458669, 0x01a5cdb1, 0x02e83ae7, 0x00d472e8, 0x03b823d1, 0x028644ff, 0x00139e57}}, Y: Field{[10]uint32{0x0190a4e0, 0x03a0f885, 0x03549749, 0x0156672c, 0x0365038c, 0x01d47961, 0x01b4be3c, 0x01a3e6ee, 0x00e54782, 0x0014a4b6}}}, + {X: Field{[10]uint32{0x01b50b3d, 0x0174b4b7, 0x03559bf4, 0x0237a15d, 0x01cdf75e, 0x02248d4c, 0x0333a97c, 0x02c0fcca, 0x0289a944, 0x001c3991}}, Y: Field{[10]uint32{0x00225586, 0x01349483, 0x0151a536, 0x02eea45a, 0x03925a93, 0x01c79bb7, 0x01ae263c, 0x0226928b, 0x02e5460b, 0x00299d71}}}, + {X: Field{[10]uint32{0x0367056b, 0x02d73c96, 0x020fab08, 0x0240ee76, 0x03477ef3, 0x02d2ffc7, 0x00b8c1c8, 0x0091f803, 0x002e682b, 0x000858df}}, Y: Field{[10]uint32{0x0292d882, 0x0125e793, 0x00e04831, 0x01638934, 0x03c5716b, 0x009f60e1, 0x00c2b6c7, 0x006955f9, 0x025e3e76, 0x0038d5c5}}}, + {X: Field{[10]uint32{0x001d1964, 0x015828e7, 0x02949a40, 0x02c5d19a, 0x03d8ae5b, 0x00062f6e, 0x01a41350, 0x034b85d0, 0x039908da, 0x001da468}}, Y: Field{[10]uint32{0x02422b74, 0x020711c2, 0x00be4d8c, 0x0038a31a, 0x03025728, 0x01db9fc9, 0x03f2296f, 0x016edb36, 0x0004b05b, 0x000897c5}}}, + {X: Field{[10]uint32{0x01af9302, 0x0266be1e, 0x012cb698, 0x0244361d, 0x01b0d11e, 0x009faafe, 0x035a14b0, 0x0021266b, 0x02a4f395, 0x001d20c5}}, Y: Field{[10]uint32{0x03fd7ee2, 0x00c11ed6, 0x0061f179, 0x006e7a11, 0x00f600fc, 0x037628b1, 0x0187c126, 0x0027630f, 0x00d26bd7, 0x00337375}}}, + {X: Field{[10]uint32{0x02ed9b8a, 0x03f83bfd, 0x03390c2f, 0x0146001a, 0x00a97089, 0x007814a5, 0x0084aa6c, 0x03a171b7, 0x01ab3839, 0x002bd623}}, Y: Field{[10]uint32{0x03d9cff0, 0x0055058d, 0x0081d870, 0x00d633c3, 0x01616ca1, 0x03800aab, 0x014131f5, 0x01523c9e, 0x02401b06, 0x0028f4dd}}}, + {X: Field{[10]uint32{0x01b42dc6, 0x011b8436, 0x0253735c, 0x001dbc2d, 0x005f869d, 0x0255ca2c, 0x03617969, 0x01bfec66, 0x00603170, 0x002f6477}}, Y: Field{[10]uint32{0x00f153b2, 0x01c41d91, 0x01a6d161, 0x03df5949, 0x00cdce2c, 0x0381c21c, 0x028db8ed, 0x03d71868, 0x02d15a74, 0x000f258f}}}, + {X: Field{[10]uint32{0x01e98f47, 0x01ccbb7b, 0x0382d985, 0x0209f7ae, 0x030c202c, 0x0132c787, 0x03aa583c, 0x002efd70, 0x00a59146, 0x00398971}}, Y: Field{[10]uint32{0x0170b72e, 0x03733056, 0x0299d7fd, 0x0187244c, 0x000812a4, 0x0392b180, 0x02505348, 0x014e5877, 0x01f9a903, 0x003409b1}}}, + {X: Field{[10]uint32{0x03daac1c, 0x023f971f, 0x000e8ebc, 0x015f6566, 0x00122cd0, 0x0060d5f9, 0x014553c7, 0x024ebe2e, 0x03fed4b1, 0x001af489}}, Y: Field{[10]uint32{0x0221a9f9, 0x03549271, 0x039f022f, 0x012792de, 0x03c66a05, 0x0028ad39, 0x01835d3b, 0x02c1127b, 0x01400a98, 0x0017cff9}}}, + {X: Field{[10]uint32{0x02db2609, 0x03d99907, 0x02f495cf, 0x03e5531b, 0x0068a0f0, 0x016cd39f, 0x03d3872c, 0x01bce148, 0x0225895e, 0x0009dc1e}}, Y: Field{[10]uint32{0x02a777ee, 0x0060088f, 0x0335e03a, 0x02452337, 0x01e5de5c, 0x01fd9dfa, 0x0334b38f, 0x035a5da7, 0x038ec893, 0x003bdbd3}}}, + {X: Field{[10]uint32{0x03f0ebde, 0x005383f3, 0x026db1f3, 0x03039d51, 0x00c01770, 0x010a135f, 0x03770ea0, 0x01053aed, 0x008e3359, 0x00181489}}, Y: Field{[10]uint32{0x03f7b7a2, 0x00638ab8, 0x0312c8b1, 0x034c72e5, 0x031a1ac7, 0x02a955be, 0x0262e020, 0x03551a7e, 0x00585cf0, 0x000f6608}}}, + {X: Field{[10]uint32{0x0370f6bc, 0x0168453c, 0x0150e6c7, 0x019a6d15, 0x034d4fc6, 0x02c8a615, 0x01825068, 0x0049305b, 0x03534fa6, 0x003cb2d6}}, Y: Field{[10]uint32{0x0241112e, 0x029d02dc, 0x008a0ad7, 0x02ef17eb, 0x038ec9dc, 0x00f31de7, 0x0152def4, 0x032b484e, 0x030763a5, 0x00173795}}}, + {X: Field{[10]uint32{0x007a502e, 0x0342c8fa, 0x01b20aa9, 0x01453bdb, 0x0304989b, 0x01d71807, 0x00030c7a, 0x02e7e782, 0x02159fe6, 0x001deb60}}, Y: Field{[10]uint32{0x029b703d, 0x031a037a, 0x0132a87f, 0x01e266be, 0x0300c136, 0x02e87aec, 0x0056add2, 0x0124c9d2, 0x01eeffc2, 0x00249a28}}}, + {X: Field{[10]uint32{0x028fd29d, 0x0132f252, 0x001c8a11, 0x003ee93b, 0x035cc9aa, 0x00b5e246, 0x0380fd7c, 0x03e03e9f, 0x008d171c, 0x0011061d}}, Y: Field{[10]uint32{0x031835c1, 0x02ed063e, 0x02aeebab, 0x01aa99f1, 0x029916c1, 0x009e7f9e, 0x0318322b, 0x006dfdcb, 0x028579f0, 0x000144c0}}}, + {X: Field{[10]uint32{0x027355e0, 0x01f5f98d, 0x008831d3, 0x03ff7df4, 0x01126e59, 0x0046a09b, 0x01901b4d, 0x0321edf9, 0x01606f89, 0x0005abd2}}, Y: Field{[10]uint32{0x00b04c2e, 0x0130b353, 0x009f68ca, 0x03a943b8, 0x0012c8e8, 0x03a8ece3, 0x02131ca8, 0x008f27a3, 0x00405372, 0x000684e1}}}, + {X: Field{[10]uint32{0x02120f9d, 0x00e4be77, 0x03e4aae6, 0x00c0d49d, 0x000730a7, 0x03606123, 0x037ba0ca, 0x00c6e33d, 0x003cab44, 0x0008b481}}, Y: Field{[10]uint32{0x011b8acd, 0x03d3dae6, 0x0145a432, 0x03263b4f, 0x034d71f9, 0x01ff33e7, 0x036520ac, 0x011b4270, 0x01ad5e5b, 0x0035de57}}}, + {X: Field{[10]uint32{0x03676302, 0x02cc9c55, 0x017349fb, 0x022ec906, 0x0241d92c, 0x03d8912d, 0x02033602, 0x0194cdf8, 0x028b3482, 0x00015f9e}}, Y: Field{[10]uint32{0x0199b83a, 0x00a00ed1, 0x022a0975, 0x0374f473, 0x015146af, 0x02ecb951, 0x02bd2eb6, 0x0322cb0e, 0x00e8ba4b, 0x0013648e}}}, + {X: Field{[10]uint32{0x02acc359, 0x01156c09, 0x009da9ab, 0x02093018, 0x007ea19a, 0x01776ac7, 0x02b39ed0, 0x0009f8a0, 0x03602755, 0x0011559f}}, Y: Field{[10]uint32{0x0134f5a7, 0x02e92350, 0x03d4c2fb, 0x03dfdc9b, 0x0182c1cc, 0x0104e4b7, 0x02291611, 0x0153b790, 0x015a77a3, 0x0036d57b}}}, + {X: Field{[10]uint32{0x027fa80f, 0x03e9683d, 0x00c383e8, 0x039c68a1, 0x01798a0b, 0x02114c80, 0x001933ca, 0x024d1e77, 0x01549105, 0x0025a3ed}}, Y: Field{[10]uint32{0x00e8920e, 0x01332849, 0x00bd0b16, 0x0007740f, 0x0201c141, 0x019c60dd, 0x02d83945, 0x03d5430d, 0x02b16853, 0x00018d61}}}, + {X: Field{[10]uint32{0x01873107, 0x0050946b, 0x02d1714c, 0x033446bc, 0x013d640a, 0x01e3dee1, 0x03ef522b, 0x00f35fc7, 0x02490f63, 0x003cd9b1}}, Y: Field{[10]uint32{0x0082c6b9, 0x03ed971d, 0x01546e56, 0x0355c46b, 0x0325b260, 0x0275057b, 0x004cfab5, 0x0262360b, 0x02af38f4, 0x0017f0e5}}}, + {X: Field{[10]uint32{0x00201d06, 0x01a1d0ff, 0x026e9ad0, 0x0224540f, 0x0059b192, 0x00acf0a7, 0x0016effd, 0x01a2cbb7, 0x03d44a2e, 0x002a8313}}, Y: Field{[10]uint32{0x033fee33, 0x037e2dff, 0x01b82b5d, 0x028952a9, 0x002763ac, 0x01d89c34, 0x00b5c4db, 0x01e5dd19, 0x02242fba, 0x0018538c}}}, + {X: Field{[10]uint32{0x032cc876, 0x01125223, 0x00ad2b44, 0x033cdd21, 0x01da4cbd, 0x02a0c391, 0x0057abbd, 0x033b1a47, 0x00ee19b2, 0x001b221b}}, Y: Field{[10]uint32{0x02fc16a1, 0x012e5382, 0x01cf5def, 0x025ef3cb, 0x02a197e8, 0x03b19396, 0x03eb384f, 0x037e1c21, 0x03bd9ab4, 0x000933f2}}}, + {X: Field{[10]uint32{0x02095554, 0x005e16f1, 0x02e439a8, 0x032b7cef, 0x00fbe5e4, 0x0045b538, 0x01d1686f, 0x01dbbb20, 0x0199c33f, 0x00135800}}, Y: Field{[10]uint32{0x03ae614a, 0x0057cc97, 0x028e9dad, 0x03127c58, 0x032bf73d, 0x037fb5d0, 0x01d4321f, 0x03dc3845, 0x00ceb769, 0x0032d053}}}, + {X: Field{[10]uint32{0x010a4fc2, 0x01689697, 0x0230aa67, 0x032b4bc8, 0x0212c3ca, 0x02d96ec5, 0x01e84724, 0x0167839c, 0x00a0196d, 0x000ddf74}}, Y: Field{[10]uint32{0x00feb560, 0x010f1d2b, 0x0338fe03, 0x00d8ad47, 0x021159c7, 0x02cd25d4, 0x03f7c270, 0x009f7297, 0x027d8c8e, 0x000b1c9f}}}, + {X: Field{[10]uint32{0x00820f46, 0x024a2967, 0x025529ca, 0x006633cd, 0x02e8aa50, 0x036402e2, 0x031826f9, 0x037cd46e, 0x038a23af, 0x00273033}}, Y: Field{[10]uint32{0x03e67256, 0x0234d1fd, 0x031f8b06, 0x01197554, 0x00693e54, 0x0290e828, 0x0142c53e, 0x0302a320, 0x015be2aa, 0x002d5cbc}}}, + {X: Field{[10]uint32{0x01fa3050, 0x01363b46, 0x000ead4a, 0x03aa9471, 0x024cfb01, 0x02f81107, 0x01d154a2, 0x00ac7a60, 0x02a64149, 0x0035577e}}, Y: Field{[10]uint32{0x03238ac1, 0x02cb9463, 0x012eb45f, 0x01dc30b7, 0x02da0c4c, 0x008e879c, 0x0098f315, 0x01d30aa6, 0x01cb408c, 0x000b9e57}}}, + {X: Field{[10]uint32{0x01210fd5, 0x001b7b9f, 0x024e8463, 0x021c9e5c, 0x02e3d27e, 0x02b1b01f, 0x035efb3f, 0x00c548c1, 0x03d72d11, 0x0011afd8}}, Y: Field{[10]uint32{0x03b0b199, 0x02cb220c, 0x002fc94c, 0x00dccb8a, 0x02dc4a2e, 0x02417128, 0x03b433a2, 0x00c94df8, 0x01f230fa, 0x001dc6ec}}}, + {X: Field{[10]uint32{0x00ca3aad, 0x000165d4, 0x03a3a13f, 0x02e306a6, 0x03594ef8, 0x01d79f0e, 0x02f1826f, 0x01f05e31, 0x038803e7, 0x0012f3f8}}, Y: Field{[10]uint32{0x021b0129, 0x02abd522, 0x009b62dd, 0x008ed1f4, 0x00ec5ea9, 0x03014e27, 0x0283cf56, 0x0119cbe8, 0x02939dcf, 0x002d558b}}}, + {X: Field{[10]uint32{0x00c241db, 0x01d1ee36, 0x02c57df9, 0x00e477dd, 0x016255ba, 0x012eca92, 0x00ce8023, 0x01a7bb5f, 0x02f4715e, 0x00325a06}}, Y: Field{[10]uint32{0x01e038e6, 0x0087dfb3, 0x02e0828c, 0x0204c420, 0x00da530e, 0x006f72c1, 0x02bb8468, 0x0148197c, 0x01cbb03d, 0x00322c5d}}}, + {X: Field{[10]uint32{0x02fbc33c, 0x02c5af30, 0x00101790, 0x02f531ad, 0x01bd5538, 0x02d3daba, 0x022671a3, 0x01ab1fd2, 0x021b56bd, 0x00027e82}}, Y: Field{[10]uint32{0x03129e63, 0x03f62d8c, 0x01fb5c08, 0x01a1b511, 0x0016056f, 0x0122d219, 0x00599593, 0x01f33b92, 0x02be785c, 0x0009fe7a}}}, + {X: Field{[10]uint32{0x03d0381e, 0x03b1a91c, 0x01feaa56, 0x03caf038, 0x03a87203, 0x019de593, 0x023e7b98, 0x022ab01c, 0x01f0ca17, 0x0005410b}}, Y: Field{[10]uint32{0x010183f2, 0x03b8ef63, 0x033a1677, 0x03f49082, 0x03e271cb, 0x0050f9d7, 0x039eb59a, 0x01ac37e3, 0x0257dac8, 0x0011176d}}}, + {X: Field{[10]uint32{0x0337e9b2, 0x022c0c87, 0x00b65eb0, 0x03403abe, 0x036b7f9d, 0x00876dd9, 0x027da3e9, 0x0061df83, 0x02630d4c, 0x000d53da}}, Y: Field{[10]uint32{0x004ea8fc, 0x026a8ac4, 0x03fea555, 0x0361942f, 0x012eb784, 0x010fbf59, 0x032f480a, 0x0202fbad, 0x003bd65b, 0x00040014}}}, + {X: Field{[10]uint32{0x01de065c, 0x010c3166, 0x03d8ac11, 0x0139e6b8, 0x029e4ba7, 0x009c1f5b, 0x00d8864d, 0x023f0127, 0x01617a44, 0x000670d8}}, Y: Field{[10]uint32{0x009acff5, 0x001bcc26, 0x022fa4dd, 0x00605842, 0x0275742d, 0x02dca67b, 0x02f570c1, 0x03ba0653, 0x03d8fd38, 0x000be7e7}}}, + {X: Field{[10]uint32{0x0083f88e, 0x0130519c, 0x01d395bd, 0x01ed5b39, 0x035a5080, 0x03767ea3, 0x027a2d4a, 0x02299ada, 0x008ad2ab, 0x000dce61}}, Y: Field{[10]uint32{0x01f0cbc9, 0x02058b19, 0x0151e6f5, 0x002440da, 0x01068a54, 0x00b86233, 0x01d20569, 0x000af7d3, 0x00206111, 0x001bf5c6}}}, + {X: Field{[10]uint32{0x0010aa35, 0x018bab07, 0x01ba9500, 0x023e2b1b, 0x012dd7e5, 0x0212e13d, 0x00e66f1f, 0x008cd9f7, 0x0345261c, 0x002708b2}}, Y: Field{[10]uint32{0x012a1116, 0x02fb9901, 0x0146ec8d, 0x005c665b, 0x03605b00, 0x021b72e7, 0x00bead62, 0x02f9ca44, 0x03f58c25, 0x003fe138}}}, + {X: Field{[10]uint32{0x01b4538e, 0x02f7525b, 0x03abbd0f, 0x0215d44f, 0x015a4127, 0x038df155, 0x00c71e45, 0x005cc9fb, 0x01c87f31, 0x0015c851}}, Y: Field{[10]uint32{0x0238871f, 0x031e4422, 0x03550242, 0x02b013a9, 0x015338c6, 0x00485523, 0x02d5166c, 0x002368ab, 0x03ac5e39, 0x00058f98}}}, + {X: Field{[10]uint32{0x01e940ef, 0x0078c84b, 0x0285bd93, 0x036636e1, 0x034c641e, 0x006a59b1, 0x03213b75, 0x00fad63b, 0x0154d841, 0x00327c1e}}, Y: Field{[10]uint32{0x01e17fd0, 0x03061333, 0x0041d792, 0x03cfb7a4, 0x0092cf5a, 0x0026f3b3, 0x025fe7cb, 0x00f4f281, 0x00bc804f, 0x00279a11}}}, + {X: Field{[10]uint32{0x007f25e3, 0x024684de, 0x000c3f92, 0x02a83a20, 0x01f7b0e4, 0x0016a294, 0x024a24df, 0x0228a759, 0x0346b07c, 0x002b0a5f}}, Y: Field{[10]uint32{0x01b66cbb, 0x02637a0a, 0x0185875e, 0x01ddd4f0, 0x02b1556c, 0x01297460, 0x01bbca05, 0x016b5ff4, 0x037f78e4, 0x001a1b8e}}}, + {X: Field{[10]uint32{0x00b3e1b5, 0x025e4d26, 0x0198c218, 0x02f202f0, 0x035ad55d, 0x0087b688, 0x00274df1, 0x029a20e4, 0x013bb383, 0x0001b164}}, Y: Field{[10]uint32{0x00b9ccf1, 0x016ab78b, 0x00dc91c3, 0x02d743de, 0x0153e5b4, 0x00789295, 0x011ebf46, 0x027d28bc, 0x003ae364, 0x00152e6e}}}, + {X: Field{[10]uint32{0x032495df, 0x03aa396b, 0x01b45cf7, 0x03f71e4f, 0x01846e3e, 0x0058f2fe, 0x0259ee92, 0x00d5afb2, 0x03a3f503, 0x002e649b}}, Y: Field{[10]uint32{0x02e2a512, 0x03e41510, 0x03047bb8, 0x0030402f, 0x01054fd0, 0x03f05781, 0x0015c511, 0x039e87b5, 0x03c533d4, 0x00035b75}}}, + {X: Field{[10]uint32{0x00e69556, 0x01ceb61d, 0x03d5a314, 0x03314d5f, 0x03cb36ad, 0x0181cc15, 0x00ac758f, 0x02f9dff8, 0x01d2f2ca, 0x0010c974}}, Y: Field{[10]uint32{0x034904a9, 0x029f53d4, 0x01932ed5, 0x02d7116b, 0x03818c8f, 0x01833123, 0x030562d5, 0x00c57e21, 0x01682ff6, 0x003790de}}}, + {X: Field{[10]uint32{0x00164917, 0x022a3045, 0x03f110d3, 0x037346ff, 0x00eed924, 0x0387103d, 0x03c9059c, 0x02ff292b, 0x015ffd84, 0x002860fa}}, Y: Field{[10]uint32{0x01d64b95, 0x0006ed10, 0x017f0a0d, 0x0176fbc1, 0x00c38d69, 0x0337e57b, 0x005046d4, 0x03290405, 0x0210c7ff, 0x0004715d}}}, + {X: Field{[10]uint32{0x00d07114, 0x017a205b, 0x0009184d, 0x03f4eeaa, 0x02ab7af5, 0x0123f6f0, 0x0251414f, 0x00a3c365, 0x00d9ad65, 0x002cd034}}, Y: Field{[10]uint32{0x020dd4e1, 0x03410384, 0x01384919, 0x02a6db0f, 0x02ae2671, 0x00392da3, 0x024dfbd4, 0x01c3dfe5, 0x026a9ecd, 0x00217b5c}}}, + {X: Field{[10]uint32{0x02719377, 0x03cd3085, 0x0240e8e6, 0x038db035, 0x00b146fa, 0x02781d74, 0x015f0a4c, 0x00be9056, 0x02883599, 0x002d4b6a}}, Y: Field{[10]uint32{0x024ad7ad, 0x0324391e, 0x029df85e, 0x020892c5, 0x004f42f0, 0x011e31e8, 0x00b5cbad, 0x00e2269b, 0x01399fa8, 0x0018222c}}}, + {X: Field{[10]uint32{0x02b9d8ad, 0x015c268a, 0x0218d5dc, 0x00d9148e, 0x01f269ba, 0x030ad7f9, 0x03f82bf7, 0x03e23a7d, 0x011542b0, 0x000242ef}}, Y: Field{[10]uint32{0x028fc4e5, 0x039cd214, 0x00743e06, 0x02432a9a, 0x03c69584, 0x034dd0f7, 0x01461d2b, 0x00d1329c, 0x024a51af, 0x003277e4}}}, + {X: Field{[10]uint32{0x03aa8365, 0x023a9aa8, 0x01fd2278, 0x03ed0e2c, 0x02b31c54, 0x00b24c4b, 0x03d4603f, 0x00653fb4, 0x01a81696, 0x003dcbb9}}, Y: Field{[10]uint32{0x010fde8a, 0x0305c879, 0x0307404f, 0x0331e159, 0x010e66f4, 0x035169cb, 0x03c1078c, 0x003d2e3f, 0x0182b6ca, 0x0038a58f}}}, + {X: Field{[10]uint32{0x02b9fb53, 0x02a0e5f9, 0x01298c35, 0x0137667e, 0x0366a10f, 0x03f4d23c, 0x035d6ddd, 0x0014950b, 0x03715bc7, 0x000422ba}}, Y: Field{[10]uint32{0x0209f1ce, 0x0273c70c, 0x0145b49b, 0x01c2b1af, 0x0297b8d9, 0x00dca261, 0x036df472, 0x02381283, 0x033975a5, 0x0020e22c}}}, + {X: Field{[10]uint32{0x0361d5b0, 0x019fedbf, 0x02e86e26, 0x000524f8, 0x00fe54c9, 0x01fd189a, 0x00a5ff5c, 0x017afe09, 0x02ed8734, 0x00370f6b}}, Y: Field{[10]uint32{0x013411e5, 0x003e2776, 0x01d56da2, 0x01e64ca9, 0x02cf0010, 0x02ad1fd9, 0x02c1683b, 0x00119c65, 0x0241238e, 0x002d69f9}}}, + {X: Field{[10]uint32{0x0265c589, 0x01e70190, 0x03ef9381, 0x00cbe35a, 0x03a82c5f, 0x00e14fbc, 0x01e1d26e, 0x018483a0, 0x003c2be1, 0x000fe5aa}}, Y: Field{[10]uint32{0x035c64b3, 0x00dc4c5a, 0x03a0f2ea, 0x03eaebff, 0x01630ba1, 0x03ef409f, 0x020d7349, 0x03c83f56, 0x030e797c, 0x003ae34d}}}, + {X: Field{[10]uint32{0x03f5c4f3, 0x004ee5bb, 0x038661de, 0x01febc6d, 0x03b35835, 0x00913ef8, 0x00a22780, 0x008f8c73, 0x006ce1f4, 0x0009f2be}}, Y: Field{[10]uint32{0x02b30f61, 0x03e86e28, 0x005a139b, 0x0128bcb5, 0x032187e2, 0x036f7283, 0x03ddbc23, 0x033ed18c, 0x0318647a, 0x003a3ddd}}}, + {X: Field{[10]uint32{0x0374d04f, 0x00931883, 0x0236167a, 0x0071f020, 0x012d301a, 0x01206591, 0x007f9648, 0x021e1862, 0x03b9e241, 0x0019a073}}, Y: Field{[10]uint32{0x0015151d, 0x02d28dee, 0x017608dc, 0x01a66353, 0x03f1ce48, 0x0023447b, 0x01f521cc, 0x03a510bd, 0x033a7849, 0x0027227a}}}, + {X: Field{[10]uint32{0x02ba8da5, 0x02c3996f, 0x0280e67f, 0x03705e57, 0x02fcac45, 0x03eeebe8, 0x02747092, 0x0118e59c, 0x00494866, 0x0019c46e}}, Y: Field{[10]uint32{0x014cfcc6, 0x00ac964a, 0x00118b81, 0x017d834b, 0x016b986a, 0x02f2a947, 0x02d8cecb, 0x017b6488, 0x003f1c8f, 0x003284b2}}}, + {X: Field{[10]uint32{0x031dd94d, 0x0210f8ad, 0x010118b7, 0x019c89da, 0x01fdd734, 0x01a61d71, 0x03d22b05, 0x00b36e83, 0x03d0b110, 0x0017ba73}}, Y: Field{[10]uint32{0x007d7d86, 0x00087782, 0x0063aed9, 0x02522d7d, 0x02060d22, 0x026d80cc, 0x03c518f1, 0x027b9385, 0x00e5bd7f, 0x000775e9}}}, + {X: Field{[10]uint32{0x01f4924c, 0x028fcabb, 0x01785e38, 0x0074b4b6, 0x02d7538f, 0x03408937, 0x0195a466, 0x002f9bcf, 0x017b1339, 0x00161b6b}}, Y: Field{[10]uint32{0x002b64d0, 0x0365e1b3, 0x039867be, 0x00072657, 0x00bc2fb1, 0x00467963, 0x035bd337, 0x00d6085c, 0x01a5a68a, 0x0031ddfb}}}, + {X: Field{[10]uint32{0x025091ec, 0x01c94359, 0x02d9184f, 0x0382b63b, 0x00867f6e, 0x003771fa, 0x024b6e69, 0x004b1c64, 0x02d20fa0, 0x000169d4}}, Y: Field{[10]uint32{0x03b95db6, 0x02ba0651, 0x02d27d53, 0x025d7cb2, 0x03ec1ace, 0x01e2410b, 0x01029fc5, 0x0190a7c5, 0x032b32b3, 0x0015fc88}}}, + {X: Field{[10]uint32{0x013e638e, 0x02a01929, 0x02e60002, 0x0381ef9c, 0x02426372, 0x01e3ac50, 0x00fef223, 0x015dfaa7, 0x02ff22bc, 0x003e4f2f}}, Y: Field{[10]uint32{0x03afe50f, 0x00d08de0, 0x00a5996f, 0x01755c64, 0x03eeadb7, 0x009e793c, 0x03166702, 0x036d0a52, 0x02bb401b, 0x002af1dc}}}, + {X: Field{[10]uint32{0x012608a9, 0x00053a43, 0x038cc3dd, 0x03ee15ba, 0x0076052c, 0x029b98eb, 0x03c34c36, 0x0025c8bb, 0x009e9613, 0x002309cb}}, Y: Field{[10]uint32{0x024607b3, 0x03a49f9b, 0x02dfde85, 0x0058d257, 0x03731e37, 0x022d5000, 0x027d2261, 0x01c588ee, 0x016813c5, 0x002661f4}}}, + {X: Field{[10]uint32{0x01769bc5, 0x021f0453, 0x015e23e1, 0x01327e55, 0x0038dfd8, 0x00e1b770, 0x00226c4d, 0x0150ae95, 0x00d61519, 0x002fde28}}, Y: Field{[10]uint32{0x01910280, 0x01bb262c, 0x00fe55d2, 0x01f4c56f, 0x03e16058, 0x010a567b, 0x0014b59d, 0x03020798, 0x01e4d84e, 0x00182538}}}, + {X: Field{[10]uint32{0x02e65caa, 0x03f6e64c, 0x02b28ee1, 0x016b8c47, 0x01497aaa, 0x0109217f, 0x03ab651f, 0x00a86ffe, 0x0376cd09, 0x0016c992}}, Y: Field{[10]uint32{0x01d70d78, 0x0062381a, 0x00c84c8c, 0x008b5762, 0x021dd847, 0x015a56c1, 0x010fdc88, 0x035f0d98, 0x03594b68, 0x002513e4}}}, + {X: Field{[10]uint32{0x0082b559, 0x03810ab0, 0x027974b7, 0x014409d3, 0x01322f71, 0x03451dc1, 0x03c14598, 0x028344ce, 0x00ea8075, 0x002891cf}}, Y: Field{[10]uint32{0x02575a18, 0x01a2a268, 0x004b5d2c, 0x00a9c212, 0x035168d3, 0x03db2416, 0x0309d794, 0x01ec1b66, 0x030db655, 0x001937a0}}}, + {X: Field{[10]uint32{0x009efa45, 0x022a00d8, 0x02350652, 0x002028a4, 0x01f14b07, 0x01c21ef5, 0x001535da, 0x0314510d, 0x01e63dd0, 0x000f8635}}, Y: Field{[10]uint32{0x00288c5b, 0x027fd9d5, 0x030a6e1d, 0x00589aa7, 0x0026dc2f, 0x0394d1c3, 0x02fd041b, 0x01ce0be0, 0x01b97d00, 0x001ba71c}}}, + {X: Field{[10]uint32{0x0294dfa5, 0x03d855a0, 0x0184b71a, 0x01050a16, 0x026a7674, 0x0308a421, 0x0296eb09, 0x018c56f3, 0x03cdb91e, 0x00346b36}}, Y: Field{[10]uint32{0x013da5a4, 0x03a7e218, 0x014522c9, 0x03a59ae6, 0x00accb67, 0x00f8a74f, 0x00072017, 0x00dd70fe, 0x00d89872, 0x00178ec3}}}, + {X: Field{[10]uint32{0x0050c90d, 0x002badf6, 0x024e1a21, 0x00a3103d, 0x0125ddb0, 0x00d7b3dd, 0x02cc880a, 0x0383cad7, 0x01e29344, 0x000eaa66}}, Y: Field{[10]uint32{0x0143d42b, 0x00eaafe9, 0x01951567, 0x013b1f28, 0x01028c45, 0x027a6a20, 0x02e6fcbe, 0x0286fb74, 0x025cfbe3, 0x00334b38}}}, + {X: Field{[10]uint32{0x01a5017d, 0x0359c258, 0x02398146, 0x0389692d, 0x033e1b31, 0x028e9b28, 0x010aa4c8, 0x00572fb3, 0x021d7c38, 0x0026288d}}, Y: Field{[10]uint32{0x0009f2bc, 0x01c4a28b, 0x00de6d39, 0x01753674, 0x01516df2, 0x035e380e, 0x00213958, 0x00304efa, 0x03780304, 0x0007ccf7}}}, + {X: Field{[10]uint32{0x013d98d0, 0x01459d01, 0x03cc4613, 0x011ef86d, 0x03ff3482, 0x0132da72, 0x03a55628, 0x02e1c1b5, 0x018c907a, 0x0014a2e7}}, Y: Field{[10]uint32{0x01eafabd, 0x01fab4f7, 0x01051aba, 0x014c6531, 0x0129700d, 0x00028450, 0x02d67bb8, 0x015de1f1, 0x0036d666, 0x003e47ae}}}, + {X: Field{[10]uint32{0x025029b6, 0x01b07398, 0x0193a355, 0x0398b236, 0x00f4be50, 0x02e33dcc, 0x01a6a866, 0x0034822f, 0x008d3d1b, 0x003c6b7b}}, Y: Field{[10]uint32{0x03cc7224, 0x01d07506, 0x0178f964, 0x0153822a, 0x0257e4a7, 0x00b51e55, 0x03fb61b3, 0x01860896, 0x00aac3bf, 0x0011e0c9}}}, + {X: Field{[10]uint32{0x0124a099, 0x035429ce, 0x00f10f74, 0x0329d0aa, 0x000e0181, 0x01d752a8, 0x0070cf8d, 0x0056b106, 0x0133b1b1, 0x002acbbc}}, Y: Field{[10]uint32{0x026a91ea, 0x00a6ac15, 0x030a5756, 0x0339c29c, 0x012f2baa, 0x02302bda, 0x0149ef53, 0x03baad5e, 0x0374c584, 0x0028b11e}}}, + {X: Field{[10]uint32{0x00576f85, 0x0326c9f8, 0x00c72348, 0x01f4446e, 0x00539a61, 0x024dc21a, 0x0120e2bf, 0x01be0ec7, 0x001af6da, 0x002753ad}}, Y: Field{[10]uint32{0x01f30eea, 0x035accf1, 0x000d7cc5, 0x031c7096, 0x0373acc3, 0x00d4cc17, 0x02dfe904, 0x03213ea2, 0x000db786, 0x003071ec}}}, + {X: Field{[10]uint32{0x03b916d9, 0x01088a4f, 0x011d018a, 0x023e790c, 0x02a55363, 0x0367a418, 0x006dff05, 0x00b20722, 0x017f7b1b, 0x000c3b75}}, Y: Field{[10]uint32{0x00842ee7, 0x039f1291, 0x00502d44, 0x0192a8a2, 0x00f7449e, 0x02b3f38c, 0x0220b485, 0x015e8607, 0x034b16d2, 0x001af11d}}}, + {X: Field{[10]uint32{0x01306583, 0x00715d0c, 0x0066a41d, 0x029c7a04, 0x00f10969, 0x01248053, 0x0058fc6a, 0x02e15597, 0x039d09a2, 0x000a38fa}}, Y: Field{[10]uint32{0x03bb6c2c, 0x00f23f37, 0x00e7ddc9, 0x00577d2a, 0x0359ad3c, 0x030542b8, 0x025245c8, 0x01019c03, 0x03878073, 0x003f194e}}}, + {X: Field{[10]uint32{0x02ac75a3, 0x015c69a6, 0x00e08c91, 0x02d9d276, 0x035a3a8b, 0x03cfa098, 0x03be578f, 0x010b428b, 0x0335e3c8, 0x0032e611}}, Y: Field{[10]uint32{0x03ea8367, 0x0050a6de, 0x02268b48, 0x01efa64d, 0x004c3e25, 0x035c52bd, 0x013f977a, 0x030fd4c0, 0x00cc7181, 0x003a4d68}}}, + {X: Field{[10]uint32{0x000fe170, 0x00146ae9, 0x037a3ed0, 0x016c82a8, 0x015e4d66, 0x021437f3, 0x0283b106, 0x001fabba, 0x02727e83, 0x000d8619}}, Y: Field{[10]uint32{0x00707a6d, 0x03be3440, 0x0124be32, 0x03cb6976, 0x01ab27cb, 0x038b2cd2, 0x014c710c, 0x037007d7, 0x02d32ae6, 0x003b189b}}}, + {X: Field{[10]uint32{0x006b7d2e, 0x020ec5d3, 0x03136021, 0x02c8ed40, 0x034260ab, 0x032099ef, 0x02ccd54d, 0x03cd970a, 0x015e69e9, 0x002c6903}}, Y: Field{[10]uint32{0x01c186ec, 0x011cc28f, 0x027c3af0, 0x02a02eb8, 0x0331edde, 0x03bd8cba, 0x001ff894, 0x0107d490, 0x01ab2a7b, 0x001d9867}}}, + {X: Field{[10]uint32{0x01660825, 0x02c509c5, 0x02be242e, 0x00d75308, 0x00b32a8f, 0x00988019, 0x03f0ccb2, 0x00288fa0, 0x00b3dff6, 0x002af522}}, Y: Field{[10]uint32{0x000b3a89, 0x03dfc8e1, 0x0105be1b, 0x00124684, 0x03fa9949, 0x006122ea, 0x007a463d, 0x038ebe5b, 0x00f217da, 0x001bbfe0}}}, + {X: Field{[10]uint32{0x01d6aa22, 0x01443293, 0x00598c92, 0x0055cff9, 0x002a5721, 0x0086f6c4, 0x00979743, 0x03ad20bd, 0x0304d91c, 0x002b033e}}, Y: Field{[10]uint32{0x034582d5, 0x03958149, 0x02de81c5, 0x0129198a, 0x02395031, 0x0111d366, 0x018ae4a6, 0x0342a419, 0x01874a90, 0x001ad7db}}}, + {X: Field{[10]uint32{0x03c34432, 0x02ebc46b, 0x008e6087, 0x03cd54a5, 0x02a3a0bf, 0x0374762f, 0x03c75410, 0x012d9da5, 0x020f476c, 0x0007ea2f}}, Y: Field{[10]uint32{0x00788d33, 0x036d6ae0, 0x01e5496d, 0x01ae3d71, 0x03fe79df, 0x02071c61, 0x0161d201, 0x011878ca, 0x00848038, 0x0031ac94}}}, + {X: Field{[10]uint32{0x01f90e56, 0x03ed0970, 0x00ec9b29, 0x0355fa34, 0x03f336a4, 0x015717c3, 0x017d3137, 0x022626a0, 0x03c0d373, 0x000a06d0}}, Y: Field{[10]uint32{0x009f4a9c, 0x02a6ef2f, 0x03689921, 0x0111fe08, 0x03686830, 0x0089e9a9, 0x03e3db31, 0x016726dc, 0x030eba10, 0x0009ad41}}}, + {X: Field{[10]uint32{0x008f4052, 0x02c9a532, 0x02f120f0, 0x0118aa4a, 0x013b83eb, 0x01796a0b, 0x006327f5, 0x007b11d1, 0x01e954e8, 0x0035939a}}, Y: Field{[10]uint32{0x01c8622a, 0x0251e5cf, 0x030d58f3, 0x0036bebf, 0x0227a8f0, 0x019ba952, 0x0275565f, 0x00f28a6f, 0x015f284c, 0x002a9fb5}}}, + {X: Field{[10]uint32{0x00e7b028, 0x02f353f9, 0x03a5417b, 0x02315086, 0x01483fb5, 0x0185e08d, 0x035b0c9d, 0x0076c7c2, 0x02eed4b0, 0x003d336e}}, Y: Field{[10]uint32{0x02c63b47, 0x02eac641, 0x013021dd, 0x011e3aa4, 0x01b2b924, 0x02894022, 0x039f48c5, 0x0264137a, 0x00eb29d6, 0x0019b564}}}, + {X: Field{[10]uint32{0x03c9dca5, 0x00ffc2a4, 0x02f4c724, 0x0334779d, 0x00761fc1, 0x01e74868, 0x02ca8090, 0x038cd03f, 0x004a6c46, 0x0023fe53}}, Y: Field{[10]uint32{0x0149abf7, 0x00236bbc, 0x0377c2ab, 0x00d2a2ed, 0x01772071, 0x021ff731, 0x0342d4f1, 0x01a38ca7, 0x00335f3c, 0x00048f77}}}, + {X: Field{[10]uint32{0x03cf267a, 0x00fb3449, 0x01e705c3, 0x0313cabd, 0x00efed70, 0x00ed93ec, 0x007c0e62, 0x0061adfa, 0x01b46e34, 0x00031e1a}}, Y: Field{[10]uint32{0x0011f48a, 0x01c829d7, 0x01a59629, 0x0291a401, 0x03029aef, 0x0368aef5, 0x017d95d7, 0x002260bc, 0x00393662, 0x00198a55}}}, + {X: Field{[10]uint32{0x02cce1a4, 0x02c90c41, 0x00142351, 0x01c9bbb0, 0x0309836f, 0x016d4106, 0x026ba9e2, 0x03721ef4, 0x02c60ad5, 0x00383a9d}}, Y: Field{[10]uint32{0x00eff928, 0x00f52e35, 0x03dbc5a0, 0x005f22bd, 0x016a3a44, 0x02248ad9, 0x02a620a7, 0x0126ae22, 0x00e66320, 0x0022f5c9}}}, + {X: Field{[10]uint32{0x01e30159, 0x029fac4a, 0x027bfc6a, 0x03492d2a, 0x00e8e357, 0x0220fd4b, 0x0019f1f4, 0x022608d9, 0x02c73e5f, 0x000be98e}}, Y: Field{[10]uint32{0x00d8c3fd, 0x02c0e3ae, 0x01d517d0, 0x00a01bde, 0x007251db, 0x02d79711, 0x025b3146, 0x00fea3d6, 0x001cd632, 0x0015f858}}}, + {X: Field{[10]uint32{0x033026a1, 0x01b4cb71, 0x0012f6aa, 0x01dec808, 0x0149d008, 0x02ede99c, 0x02783fc1, 0x0024c08b, 0x0038d4c5, 0x001d3b50}}, Y: Field{[10]uint32{0x0328476f, 0x01bf509a, 0x0035e80e, 0x0200e3a6, 0x0258234f, 0x03deff69, 0x00618e49, 0x0027a233, 0x030e65d0, 0x0016dd3d}}}, + {X: Field{[10]uint32{0x00025f97, 0x03f4b63c, 0x01148eae, 0x03737101, 0x0216ce75, 0x03f7c83e, 0x02d1f934, 0x004f71b7, 0x00a6e387, 0x001c75ab}}, Y: Field{[10]uint32{0x0067e302, 0x00f9829c, 0x02bae0dd, 0x013688b6, 0x02072ffd, 0x0067da74, 0x00c6c4fb, 0x037f209e, 0x01337d48, 0x002d0c51}}}, + {X: Field{[10]uint32{0x03ed5292, 0x01d2b316, 0x004ac8a1, 0x031a25c1, 0x02ee617e, 0x0100a5eb, 0x02d5720f, 0x02f27e68, 0x03f16e91, 0x000a3ed1}}, Y: Field{[10]uint32{0x00b498f7, 0x02e1293e, 0x0059e0bd, 0x03b4ae9e, 0x00ef8e7a, 0x0250f06d, 0x00db6059, 0x01caf93f, 0x0161d724, 0x003412da}}}, + {X: Field{[10]uint32{0x0347a37a, 0x01c3b887, 0x036f8942, 0x0177898b, 0x03828c5a, 0x0269eccb, 0x02fca795, 0x016d7d74, 0x01f5c865, 0x001a3f35}}, Y: Field{[10]uint32{0x038d74ab, 0x009fcc9d, 0x01fb6d3d, 0x01395183, 0x017aa1ad, 0x029c409d, 0x032bc4e7, 0x01c59b0d, 0x02503362, 0x0015d201}}}, + {X: Field{[10]uint32{0x01aa36da, 0x0041a165, 0x03e97491, 0x01346b1a, 0x0117c974, 0x01e9800b, 0x017f8a8a, 0x02af11fb, 0x02d2f423, 0x0031d85e}}, Y: Field{[10]uint32{0x03121d9d, 0x01fd95ed, 0x022e8d59, 0x03f281b2, 0x0269e330, 0x00cf1852, 0x027a9db8, 0x01b2b72f, 0x0367fba9, 0x00366412}}}, + {X: Field{[10]uint32{0x02487cdd, 0x019864a9, 0x028c8df5, 0x00862c93, 0x01474fdc, 0x00966a74, 0x0278b955, 0x03f85b03, 0x029d2396, 0x0029fbd3}}, Y: Field{[10]uint32{0x02f67f28, 0x01427bd6, 0x015c1f40, 0x03753dd9, 0x0323c1e4, 0x01bc8bcd, 0x003f7e68, 0x02f81263, 0x020491c6, 0x00359e09}}}, + {X: Field{[10]uint32{0x031e2578, 0x01ad0d9d, 0x00890eab, 0x00602789, 0x0271856d, 0x00246ecb, 0x00e420f4, 0x00d9d92b, 0x00467ff0, 0x003cef9e}}, Y: Field{[10]uint32{0x0236dbc5, 0x0198aec1, 0x03309434, 0x00e9a047, 0x010dc58f, 0x02c9fff0, 0x026966f6, 0x03cf959e, 0x025745cb, 0x003cc09d}}}, + {X: Field{[10]uint32{0x02f0259c, 0x00fdd54d, 0x0347094d, 0x00a9385c, 0x016c8d9e, 0x03afd3cd, 0x0214c303, 0x0338a414, 0x03955bd9, 0x0017251f}}, Y: Field{[10]uint32{0x035e76cc, 0x02d729ed, 0x039c468f, 0x0235a3bc, 0x0190a81d, 0x015e2893, 0x01fdf498, 0x014a8f4b, 0x03753e75, 0x002daded}}}, + {X: Field{[10]uint32{0x018b2c68, 0x033d02ef, 0x00c134e4, 0x02274410, 0x002c54c1, 0x0309681d, 0x01b87028, 0x01cd789e, 0x0160c3b1, 0x0008dbf6}}, Y: Field{[10]uint32{0x01bbc279, 0x02b0e416, 0x01181873, 0x02fad097, 0x01b44bac, 0x01e69db3, 0x019360eb, 0x03063743, 0x03f7c0ba, 0x0026ad66}}}, + {X: Field{[10]uint32{0x01947b31, 0x0184ecec, 0x00d99cd7, 0x03ff2a2c, 0x02c1a9e9, 0x02e7624c, 0x01d02438, 0x038bdd96, 0x032617cc, 0x00324b27}}, Y: Field{[10]uint32{0x02357a51, 0x03f826d4, 0x0150b725, 0x037c54e7, 0x02e4804d, 0x006b38ac, 0x02707695, 0x0193ad97, 0x014c1a5e, 0x002af7aa}}}, + {X: Field{[10]uint32{0x01a94fc0, 0x0068509b, 0x03bd28bd, 0x03a02f07, 0x02733c2a, 0x0348b0c5, 0x0383a124, 0x018230cd, 0x03c9142c, 0x00261821}}, Y: Field{[10]uint32{0x0342a1cd, 0x01844fea, 0x0068d3fa, 0x0373ac9b, 0x038f5bad, 0x01158b37, 0x0282c650, 0x02d475af, 0x03f5fd76, 0x00052496}}}, + {X: Field{[10]uint32{0x008a1d43, 0x01e18869, 0x021bf914, 0x024e0ed0, 0x0222424e, 0x00d5942d, 0x0244e21f, 0x02eab5f1, 0x0374f4f6, 0x00119687}}, Y: Field{[10]uint32{0x0388cb48, 0x03fa48f1, 0x031579f2, 0x01ee0c91, 0x03d41c14, 0x036c0554, 0x02698d57, 0x00c2f7b9, 0x01e41794, 0x0009b69c}}}, + {X: Field{[10]uint32{0x009796b4, 0x033b9bd7, 0x00a00785, 0x03645643, 0x03c7aa2e, 0x002d1ab6, 0x033c88bd, 0x005f113f, 0x00cdf281, 0x00375d96}}, Y: Field{[10]uint32{0x03cc43be, 0x01ecd033, 0x00f37c1c, 0x0303ddf7, 0x039a9b8a, 0x0391749f, 0x034935a8, 0x03a65c29, 0x000d1e10, 0x000c8c5f}}}, + {X: Field{[10]uint32{0x03c72033, 0x033ae1d5, 0x02d09715, 0x022f766b, 0x006222af, 0x0097d4bf, 0x0148b177, 0x03127ad1, 0x02bfa803, 0x00156f4a}}, Y: Field{[10]uint32{0x013ebf43, 0x037f214f, 0x00e3553a, 0x02e10559, 0x0096b991, 0x0373ca95, 0x03c603b8, 0x0112ceaf, 0x03b39d73, 0x000d2b4c}}}, + {X: Field{[10]uint32{0x0012fcde, 0x0322297b, 0x03c36db0, 0x01d90627, 0x00440068, 0x0056c787, 0x01616d30, 0x0089b232, 0x0006d10c, 0x001def97}}, Y: Field{[10]uint32{0x029ba01b, 0x03f67810, 0x037f6ec8, 0x017b6597, 0x0020e8b5, 0x000d86e7, 0x0327ae1b, 0x01252623, 0x03ca5c47, 0x00333cb2}}}, + {X: Field{[10]uint32{0x012ab21c, 0x02dabcbd, 0x0161830d, 0x03bb52ed, 0x0180b890, 0x03a9f6f7, 0x0060b19b, 0x03c987c1, 0x00863eb6, 0x003eadc9}}, Y: Field{[10]uint32{0x0076d0b0, 0x00bdd322, 0x025c15d2, 0x03ebea76, 0x00b67f6a, 0x0276039a, 0x01174ed9, 0x00b8baaa, 0x003a408a, 0x0002453c}}}, + {X: Field{[10]uint32{0x020b2f66, 0x02e0208a, 0x005a109d, 0x017573c4, 0x02510db6, 0x039e0c52, 0x02671f8d, 0x022e1942, 0x0039fafe, 0x0008ca88}}, Y: Field{[10]uint32{0x0178576a, 0x03cfb0ab, 0x02218d95, 0x0389934b, 0x033be3a6, 0x0085bb04, 0x03b9f6ee, 0x03078d4c, 0x0082510b, 0x0005329c}}}, + {X: Field{[10]uint32{0x037f58e7, 0x00e41506, 0x00cfc64e, 0x028a252a, 0x01deee9f, 0x023c4f9a, 0x01847526, 0x013fde81, 0x0039612a, 0x002cd20a}}, Y: Field{[10]uint32{0x0126ae44, 0x03edc757, 0x0193a3f2, 0x00919ac4, 0x01653b82, 0x01f16378, 0x034e9faf, 0x00096c3a, 0x02eddf30, 0x001c8b40}}}, + {X: Field{[10]uint32{0x02353210, 0x008e6596, 0x017b2858, 0x012889b7, 0x02cf6fd8, 0x024c89c4, 0x0310871a, 0x01d61f2a, 0x02570b0a, 0x0034e1ce}}, Y: Field{[10]uint32{0x0160f186, 0x01789fd4, 0x011d660e, 0x003327f0, 0x01f1f45d, 0x01578cd4, 0x03f95b1c, 0x039c1b37, 0x018459c7, 0x000edf92}}}, + {X: Field{[10]uint32{0x022c20ad, 0x02cb6e85, 0x03281cc9, 0x030c9b72, 0x0226a049, 0x011f029e, 0x01289a71, 0x02caddc7, 0x008ceeeb, 0x00220a1e}}, Y: Field{[10]uint32{0x007b71a7, 0x0197d230, 0x0364cc8c, 0x00b77928, 0x025da2fa, 0x0125c709, 0x0398922b, 0x017c88f5, 0x01958742, 0x00390a28}}}, + {X: Field{[10]uint32{0x027e537d, 0x002cfd3a, 0x0280a37f, 0x02d3a9d5, 0x0052f8db, 0x024fe85d, 0x0186c189, 0x030035d2, 0x013126d0, 0x001e7fb9}}, Y: Field{[10]uint32{0x002cb5b6, 0x0005ea20, 0x035a4560, 0x02fa4f56, 0x01525ceb, 0x00eaceaf, 0x017b4a14, 0x03e652d3, 0x00713143, 0x003f7940}}}, + {X: Field{[10]uint32{0x02814e91, 0x03962a19, 0x01cbaac1, 0x0272fda6, 0x03367242, 0x000ead42, 0x00f3a8ce, 0x017de57c, 0x01f05a9f, 0x003d13ce}}, Y: Field{[10]uint32{0x019a1dd4, 0x02768c35, 0x030e3fc0, 0x01191ab1, 0x02ff75a2, 0x02aca2ee, 0x00a27afb, 0x004c0254, 0x01d1e4de, 0x002e5791}}}, + {X: Field{[10]uint32{0x00aa9abb, 0x009bb0a0, 0x02148504, 0x02fcf0be, 0x02da45af, 0x00cb3def, 0x01d7d788, 0x0326dee2, 0x0209baf9, 0x00044e38}}, Y: Field{[10]uint32{0x006a0d6e, 0x01f9267c, 0x02f88372, 0x005c259c, 0x03ac7d59, 0x0399fcba, 0x02285207, 0x02cabc3a, 0x016a3965, 0x000570a3}}}, + {X: Field{[10]uint32{0x00912c1e, 0x02e0fe4d, 0x02620472, 0x03c56bf0, 0x00dcd3d3, 0x02940c4c, 0x024685aa, 0x035e3183, 0x01421b98, 0x000a74fa}}, Y: Field{[10]uint32{0x02bf5825, 0x011729f4, 0x02ce1a6d, 0x019f222e, 0x01411c8c, 0x02df14ee, 0x01d46b6d, 0x0025a485, 0x00f84968, 0x00242945}}}, + {X: Field{[10]uint32{0x00ff3eb8, 0x025a7021, 0x020c7e90, 0x022294fe, 0x01d6efeb, 0x034b51c2, 0x00c18d7c, 0x00cf813c, 0x02945fdd, 0x002a28da}}, Y: Field{[10]uint32{0x016ab564, 0x025abd7d, 0x002a9bb5, 0x03351e7c, 0x0223db1f, 0x033b872b, 0x02aedbe1, 0x0335c009, 0x0105edbf, 0x000775fe}}}, + {X: Field{[10]uint32{0x02981eff, 0x0030849a, 0x03fd5367, 0x032a0498, 0x003c35f2, 0x00f9e81b, 0x02ab4f0c, 0x02513e43, 0x02ceb3fa, 0x00168123}}, Y: Field{[10]uint32{0x03c886ff, 0x035b52ed, 0x019b24b3, 0x0015a486, 0x008e330d, 0x03a201df, 0x03caf7b5, 0x03b59754, 0x03aeb70f, 0x000493c6}}}, + {X: Field{[10]uint32{0x0132b8ba, 0x0204a23a, 0x031583dc, 0x03b35ca5, 0x00fd1eb4, 0x01917eb1, 0x01ee579c, 0x02f0bd99, 0x02820c5e, 0x000c81c0}}, Y: Field{[10]uint32{0x01bdaa17, 0x036b7ca1, 0x03d55b86, 0x026a00f2, 0x03c17eda, 0x022109c1, 0x03b11ee0, 0x0101fb6b, 0x022d0d68, 0x0023da59}}}, + {X: Field{[10]uint32{0x03afe787, 0x01e91f95, 0x01786db7, 0x024c9e86, 0x02c78105, 0x0202927f, 0x0188a7b0, 0x034fc6ee, 0x025bfb04, 0x001f08a1}}, Y: Field{[10]uint32{0x0036bd3b, 0x03c1b874, 0x00d53097, 0x01c9839c, 0x03d0830b, 0x00e7c672, 0x01997344, 0x02675f55, 0x026e30f5, 0x00280bac}}}, + {X: Field{[10]uint32{0x039385cc, 0x0384f2c2, 0x033a422d, 0x01682abc, 0x01fd842e, 0x00f730d9, 0x02c8269a, 0x02094b01, 0x001330ad, 0x00282e93}}, Y: Field{[10]uint32{0x02239bc8, 0x00a4397f, 0x00960c13, 0x00511d5a, 0x00940fdb, 0x01dee7a1, 0x036d2ce2, 0x02efdfce, 0x03135cfd, 0x00163b2a}}}, + {X: Field{[10]uint32{0x00f76309, 0x007b08d1, 0x038194e3, 0x0121c399, 0x03007be4, 0x00b8b033, 0x03e47a41, 0x02e97723, 0x0042c8a2, 0x0010ab98}}, Y: Field{[10]uint32{0x02a1542e, 0x03c826f7, 0x02c3ce19, 0x008f2f25, 0x0336ea3a, 0x00f19119, 0x010a6e75, 0x022fc888, 0x01ac7ba3, 0x001cab5a}}}, + {X: Field{[10]uint32{0x007b2a19, 0x000b56c2, 0x01e7c6e8, 0x00323f04, 0x01d8f35f, 0x01c081ce, 0x025d82f4, 0x01e8b8fa, 0x00b64550, 0x0023ceba}}, Y: Field{[10]uint32{0x025b4cfe, 0x034ae03b, 0x036a50d1, 0x009f4fe6, 0x03604259, 0x02e6c51c, 0x003420ef, 0x03b5506e, 0x02353028, 0x00186ee3}}}, + {X: Field{[10]uint32{0x005df32f, 0x006d0dec, 0x004c00d9, 0x00498ab9, 0x00a7ba1e, 0x00254f9b, 0x024fb4f3, 0x00648283, 0x024b1e15, 0x000ea12e}}, Y: Field{[10]uint32{0x013e20c0, 0x02eb679f, 0x02ce7d3c, 0x03af3771, 0x0332c44e, 0x02438743, 0x023abe9c, 0x017c51ec, 0x01794352, 0x002c83d9}}}, + {X: Field{[10]uint32{0x03316210, 0x017f6239, 0x005b62d2, 0x0204af05, 0x017b87d1, 0x03918b9f, 0x00c102bd, 0x02940cfb, 0x026c0b04, 0x0019207f}}, Y: Field{[10]uint32{0x0364560d, 0x039709e3, 0x01075b26, 0x003abbcc, 0x03d4e88b, 0x00232461, 0x036538b8, 0x00ab4245, 0x00abf5f3, 0x002f306d}}}, + {X: Field{[10]uint32{0x0151a094, 0x004c1935, 0x02f4d1ff, 0x032b2b02, 0x038e4bd1, 0x03dceccf, 0x01cd3651, 0x0160febe, 0x0174722c, 0x00014d00}}, Y: Field{[10]uint32{0x01a66a8e, 0x02f88840, 0x00a41a3b, 0x016ebafe, 0x01d9e465, 0x021742a5, 0x0035180f, 0x0185b439, 0x0135448a, 0x00392408}}}, + {X: Field{[10]uint32{0x022867cc, 0x003e1493, 0x0349bb35, 0x029e4372, 0x016c9ee2, 0x015ef0cb, 0x024e08bd, 0x017135b0, 0x02aea582, 0x00301a4f}}, Y: Field{[10]uint32{0x03b9a05e, 0x0217618c, 0x00a0462c, 0x022bbf83, 0x01f4f617, 0x032e3ed5, 0x006c601b, 0x01047817, 0x034b7627, 0x0036883e}}}, + {X: Field{[10]uint32{0x00fa0d9d, 0x02dba4cf, 0x0335ca91, 0x006a0d59, 0x01e63e58, 0x02862608, 0x03f9200c, 0x00140b45, 0x037372fd, 0x00314743}}, Y: Field{[10]uint32{0x02352655, 0x02b5308b, 0x03413b3b, 0x01f4f1be, 0x03a2797a, 0x013ae5e6, 0x03ff1345, 0x01fb74b3, 0x02b207ed, 0x00234439}}}, + {X: Field{[10]uint32{0x02c3290c, 0x005837ef, 0x0059dbe3, 0x023b674b, 0x03366600, 0x022d4ab4, 0x02f79f85, 0x0266b8b6, 0x00564d2d, 0x0005a046}}, Y: Field{[10]uint32{0x012e7460, 0x03ddee8a, 0x0202d1ad, 0x0128f021, 0x033e9cc8, 0x0148b342, 0x01dbac34, 0x01e123a0, 0x01a14561, 0x000afafc}}}, + {X: Field{[10]uint32{0x000afeb5, 0x0125d21f, 0x01a0920a, 0x02695e0d, 0x030b1599, 0x01952a9b, 0x00e16225, 0x021496cb, 0x0133e143, 0x001eba52}}, Y: Field{[10]uint32{0x019b95f5, 0x00bd3d6f, 0x0390195a, 0x02dbd10f, 0x01a13b87, 0x038ccc6f, 0x00282a51, 0x0191684e, 0x0237830a, 0x0024644b}}}, + {X: Field{[10]uint32{0x0019d4ac, 0x0166684c, 0x0036b179, 0x02c156cb, 0x02c27709, 0x00b46fc2, 0x014c5f6c, 0x01daac90, 0x0197d02b, 0x0039de4b}}, Y: Field{[10]uint32{0x013f2b52, 0x02e6383b, 0x02e8d16f, 0x00528a05, 0x01dd2746, 0x01755b30, 0x00c75a0d, 0x02c5e6e6, 0x02895fce, 0x0027d365}}}, + {X: Field{[10]uint32{0x0247bde1, 0x0278d34c, 0x004f769d, 0x001bba9b, 0x003d97d7, 0x02b1e514, 0x00ff64f4, 0x0358fc93, 0x01d4946f, 0x0000bfee}}, Y: Field{[10]uint32{0x0381014f, 0x0095edfa, 0x03a9ff32, 0x00c955db, 0x02cff188, 0x038d823a, 0x016907a6, 0x0054c4af, 0x00743488, 0x00019ac7}}}, + {X: Field{[10]uint32{0x00bb2fbe, 0x01722c7b, 0x00ea3c16, 0x02e84b80, 0x01aeb6f4, 0x012b9cd4, 0x012aafab, 0x03bac450, 0x0232f90c, 0x0011512e}}, Y: Field{[10]uint32{0x038f6736, 0x0221f2e7, 0x017b3948, 0x022e0d1e, 0x002bba53, 0x000b6eff, 0x039ede9b, 0x033ba2fe, 0x03b4c2a5, 0x0018bef5}}}, + {X: Field{[10]uint32{0x0118980f, 0x0278f99e, 0x0137a1b0, 0x039e2093, 0x025d981c, 0x02319ed7, 0x02b156dd, 0x03fe89d7, 0x01b925d9, 0x000942c0}}, Y: Field{[10]uint32{0x0209c481, 0x03ae074f, 0x000ff261, 0x0185010b, 0x03eb1851, 0x01d98967, 0x032bcbe6, 0x036a1b94, 0x024a32f0, 0x002e8764}}}, + {X: Field{[10]uint32{0x02beb4d2, 0x0387fb82, 0x030f5ecb, 0x004e4078, 0x0262e0b8, 0x00ba58bb, 0x00468073, 0x017f71cc, 0x02541f2a, 0x00273cc3}}, Y: Field{[10]uint32{0x01510723, 0x035528ed, 0x00741c6b, 0x03ad959f, 0x02848259, 0x02aa3fd8, 0x0201d14b, 0x02ddec65, 0x02cd1281, 0x001f2c91}}}, + {X: Field{[10]uint32{0x02285a2c, 0x005ec695, 0x01c03cd2, 0x03293c47, 0x01b5a90e, 0x0254213b, 0x013be124, 0x0287823e, 0x00b13c61, 0x003b727a}}, Y: Field{[10]uint32{0x021e1f3d, 0x03e67f98, 0x01fda5e9, 0x02168bf7, 0x01b0e8df, 0x02320198, 0x0143b1b5, 0x03eb1d3f, 0x012107e8, 0x0019b0bf}}}, + {X: Field{[10]uint32{0x01e2c66e, 0x020b1c3c, 0x036b6970, 0x000acf76, 0x02cae9d0, 0x009ee06e, 0x02a41649, 0x029260aa, 0x015f8388, 0x0037650a}}, Y: Field{[10]uint32{0x00d6706b, 0x03af0602, 0x00f4bfd3, 0x02c920b6, 0x033b08c2, 0x007eb20f, 0x00d9e8cb, 0x0307aa6f, 0x020cd409, 0x0020e301}}}, + {X: Field{[10]uint32{0x0285ab7e, 0x01d14d41, 0x0087692f, 0x037742b1, 0x0296e96d, 0x02ff1cd3, 0x000d3b35, 0x02f92397, 0x0204dfc0, 0x001f81a3}}, Y: Field{[10]uint32{0x02c70d0a, 0x02100793, 0x036462c8, 0x0021e620, 0x0369351e, 0x024fc52f, 0x00052e60, 0x00972341, 0x014690d2, 0x0037cb34}}}, + {X: Field{[10]uint32{0x009a5052, 0x010fce65, 0x0217a21f, 0x01cdf7b0, 0x00b7c2a0, 0x01b10e68, 0x02e659f7, 0x02b26c11, 0x03cfd10a, 0x001cea6f}}, Y: Field{[10]uint32{0x03be10dd, 0x01092a6c, 0x00ec24a1, 0x03da46a7, 0x03bf379d, 0x023e1b2f, 0x002062c0, 0x02c1481a, 0x01293ea7, 0x001cee45}}}, + {X: Field{[10]uint32{0x0008c55b, 0x0211fb35, 0x0205adaa, 0x012fda6f, 0x0055cc22, 0x0216026f, 0x0234678d, 0x031d539b, 0x03840c8c, 0x003bf77f}}, Y: Field{[10]uint32{0x02f188d5, 0x01b75b70, 0x013fc173, 0x0228ed9c, 0x008aac21, 0x03116d2b, 0x026ed7e0, 0x02aacbbf, 0x03418264, 0x00197763}}}, + {X: Field{[10]uint32{0x03d73f4b, 0x015a23af, 0x03585756, 0x016c5c69, 0x01dc264f, 0x010e1b76, 0x023d6dfa, 0x00e13634, 0x01857118, 0x0011aa51}}, Y: Field{[10]uint32{0x01aaf35c, 0x03004699, 0x02a6d256, 0x03a3a37c, 0x031e684e, 0x0239fd85, 0x03f16cb3, 0x03063d36, 0x037ea298, 0x000f796b}}}, + {X: Field{[10]uint32{0x0021cd3f, 0x03a91fce, 0x0193b910, 0x02326b5b, 0x0045dd0c, 0x038582a5, 0x02fa17bb, 0x03099752, 0x01b27ce3, 0x001a243b}}, Y: Field{[10]uint32{0x03cbd1ab, 0x008103dd, 0x03852dd2, 0x03abad9e, 0x037c24be, 0x02a200aa, 0x00810a7c, 0x01525336, 0x005b10ef, 0x00183d1f}}}, + {X: Field{[10]uint32{0x0205f5ae, 0x02d12d0a, 0x0288d952, 0x03087d55, 0x01e33e68, 0x01e89470, 0x02c4b328, 0x0221aa07, 0x02b6340b, 0x00023327}}, Y: Field{[10]uint32{0x007fb6eb, 0x022fc08c, 0x01c95507, 0x01c05432, 0x01f03238, 0x02f11d6e, 0x011981a3, 0x020a4224, 0x030d90e3, 0x0026c5da}}}, + {X: Field{[10]uint32{0x015b0475, 0x007f8a92, 0x00e0b0fd, 0x03809b25, 0x01227875, 0x025b3785, 0x0001ccae, 0x03782d60, 0x035ada48, 0x000ac18b}}, Y: Field{[10]uint32{0x031eab0d, 0x00d4e40b, 0x0280548b, 0x02523bfd, 0x02da9de9, 0x02fc5c9d, 0x0097bad4, 0x01c31420, 0x00683d51, 0x0014dfc7}}}, + {X: Field{[10]uint32{0x037240f9, 0x01ea2fae, 0x0008252d, 0x037c9fcc, 0x01cd358b, 0x0093a48c, 0x032ff7f2, 0x0354fd0c, 0x011a84b3, 0x0037556e}}, Y: Field{[10]uint32{0x012a5c94, 0x02064206, 0x0158bff6, 0x01ce8eb0, 0x01774d21, 0x037bbe5a, 0x03376094, 0x0194c3b5, 0x0208a40b, 0x00039bc6}}}, + {X: Field{[10]uint32{0x02c59c70, 0x032592bc, 0x01e7516f, 0x02035c54, 0x008986fd, 0x01e0bb8b, 0x000cdb1c, 0x02a5e51b, 0x03e040b1, 0x002b1449}}, Y: Field{[10]uint32{0x03ae5db9, 0x017a806d, 0x038e2476, 0x025e202b, 0x038afbb0, 0x01d9164f, 0x020a82e1, 0x0014e776, 0x0249323d, 0x00212788}}}, + {X: Field{[10]uint32{0x01311123, 0x0084b06d, 0x034bff72, 0x008c54c5, 0x039d1364, 0x038776b9, 0x004e9ce1, 0x033a68de, 0x02daf0b6, 0x0037cbcb}}, Y: Field{[10]uint32{0x006d46a5, 0x031d7dba, 0x027bedba, 0x01105880, 0x02fde6ab, 0x01991009, 0x02da64f4, 0x02f080c5, 0x038ebd78, 0x002e7663}}}, + {X: Field{[10]uint32{0x0373e5f9, 0x03e4f5e8, 0x0002773f, 0x03d0fec2, 0x0097bdc5, 0x00844d84, 0x0385e216, 0x0305d88e, 0x0387d630, 0x003f60ec}}, Y: Field{[10]uint32{0x036cd2ee, 0x019c2daa, 0x00837d3c, 0x02f0e10e, 0x01115805, 0x0303f772, 0x03503d40, 0x00d69675, 0x027d375f, 0x0026a58a}}}, + {X: Field{[10]uint32{0x02cac4df, 0x03ae384c, 0x00c9505f, 0x0079081b, 0x00d565ca, 0x028ffaaa, 0x02ad443b, 0x0322b22f, 0x03c1155e, 0x00363ef7}}, Y: Field{[10]uint32{0x011f73ac, 0x02697a9d, 0x03abc9cb, 0x03587e58, 0x027fb1fc, 0x03afdd90, 0x01258edf, 0x0272d1ce, 0x000fccb9, 0x003e514f}}}, + {X: Field{[10]uint32{0x03bf86d6, 0x00443037, 0x010ddc89, 0x01cae08d, 0x0285f008, 0x01aabcf5, 0x03093891, 0x03a3006c, 0x009a20a3, 0x0027f25d}}, Y: Field{[10]uint32{0x023e19df, 0x0129e661, 0x02379109, 0x02eb9d69, 0x0075c85c, 0x0023c3c6, 0x033bca70, 0x02b1655d, 0x01a76c92, 0x0028bd9e}}}, + {X: Field{[10]uint32{0x03476a3f, 0x032057cb, 0x00f62b58, 0x024b4dca, 0x0365b810, 0x038865ae, 0x02bcf252, 0x0073a6f6, 0x034671a9, 0x000a7838}}, Y: Field{[10]uint32{0x00d0c0e6, 0x02f5a635, 0x039d4174, 0x002aad0b, 0x011ce5ad, 0x0319ac98, 0x00a35fb9, 0x002b91e6, 0x0061b82e, 0x000bd103}}}, + {X: Field{[10]uint32{0x02e102d7, 0x01ad4642, 0x0278f873, 0x002ea1bb, 0x007fbee7, 0x0330f7ee, 0x03e6f929, 0x015683c9, 0x02153989, 0x003901a2}}, Y: Field{[10]uint32{0x03165086, 0x0279a623, 0x014e77d6, 0x010c1d1f, 0x0016b911, 0x012a68d4, 0x01999438, 0x0272dabb, 0x02ad550f, 0x0028fcbc}}}, + {X: Field{[10]uint32{0x026c9f2c, 0x01080a1c, 0x0109248a, 0x01934f55, 0x0010f163, 0x0132065e, 0x03156c8a, 0x0366262e, 0x0210bb1b, 0x00146d17}}, Y: Field{[10]uint32{0x03e141a2, 0x023256f8, 0x03f6bb47, 0x01452315, 0x008a1f1d, 0x00004330, 0x01ac4797, 0x03798ca0, 0x01d04225, 0x0038c1c6}}}, + {X: Field{[10]uint32{0x02a0b83e, 0x032fe96a, 0x005acf6f, 0x00bf5683, 0x0164dc49, 0x01b18ecf, 0x02ec2e60, 0x02dad7a4, 0x01297b8a, 0x00053357}}, Y: Field{[10]uint32{0x03666805, 0x00af5df8, 0x033279b7, 0x01c0a91a, 0x015be192, 0x02c71f63, 0x01ad1faf, 0x032198d2, 0x03d77cdc, 0x0016fcc1}}}, + {X: Field{[10]uint32{0x022c4da6, 0x03376d74, 0x0168f8c3, 0x037d067b, 0x0045e9f2, 0x027060a2, 0x02254cae, 0x03451b0c, 0x031149d6, 0x00296a29}}, Y: Field{[10]uint32{0x00bf6c2e, 0x002eeb4f, 0x012d549c, 0x0205e0cf, 0x00b003f4, 0x0158e6fc, 0x00ae6933, 0x034d16bd, 0x00877bc3, 0x0027d1f6}}}, + {X: Field{[10]uint32{0x039372cb, 0x01303107, 0x038f999a, 0x0394b31d, 0x01bda494, 0x00519893, 0x01b13ddd, 0x0108cb5d, 0x00d24baa, 0x000d64ca}}, Y: Field{[10]uint32{0x001af6d8, 0x0206b3c9, 0x03050a78, 0x01f5923d, 0x03b6695d, 0x0323da02, 0x0084afe0, 0x00e67a64, 0x02b571df, 0x0034c555}}}, + {X: Field{[10]uint32{0x0273e7fd, 0x03e56f79, 0x005e891a, 0x0304349b, 0x00c8fdac, 0x02407b6c, 0x0268a12d, 0x0168b05c, 0x01ca4f2a, 0x00327ae0}}, Y: Field{[10]uint32{0x008adb66, 0x034a5092, 0x008df76e, 0x0394d558, 0x035acb73, 0x026fef5a, 0x01ae19cd, 0x03fa69c4, 0x012fc974, 0x001b5294}}}, + {X: Field{[10]uint32{0x02ca8e2c, 0x037979b0, 0x01f386cc, 0x00c093d0, 0x0248e557, 0x02d840b8, 0x00c9f90e, 0x02cc22b1, 0x01f816f3, 0x0038998c}}, Y: Field{[10]uint32{0x039306bd, 0x011857fa, 0x0224858a, 0x00502f56, 0x0396cfb8, 0x00146094, 0x01e2f102, 0x03b34059, 0x02a8823a, 0x0005b82c}}}, + {X: Field{[10]uint32{0x019110ba, 0x020d57fe, 0x029658db, 0x03e68ec2, 0x02677e5a, 0x01a711cc, 0x0007b242, 0x039f941e, 0x02f365c0, 0x003ddba6}}, Y: Field{[10]uint32{0x012a9407, 0x032c04ef, 0x021028a0, 0x018a5ab6, 0x019d174c, 0x0217e759, 0x02f25423, 0x00593af6, 0x0039d26f, 0x002032fd}}}, + {X: Field{[10]uint32{0x012c5dd9, 0x03d89c21, 0x03421e65, 0x01521079, 0x00bc333d, 0x02a23f38, 0x01d6ab69, 0x00520ca5, 0x005baf89, 0x00373205}}, Y: Field{[10]uint32{0x031e2a19, 0x031866bc, 0x01480cca, 0x03360362, 0x00296155, 0x000d8eec, 0x00d6cd16, 0x039ea6d0, 0x0370a620, 0x0033b6cd}}}, + {X: Field{[10]uint32{0x0203e4fd, 0x00feb4f1, 0x03847ed3, 0x010107b6, 0x007660bc, 0x02ba4c06, 0x02a199ec, 0x01343e95, 0x013a6a1c, 0x001d9178}}, Y: Field{[10]uint32{0x0291e713, 0x01308b2f, 0x002ee186, 0x014ec8b1, 0x02bcfc53, 0x036a2434, 0x01eccbb5, 0x03975449, 0x011b7990, 0x001f23a9}}}, + {X: Field{[10]uint32{0x022f3f25, 0x00acc627, 0x00fb4422, 0x01751788, 0x01465822, 0x00706daf, 0x027210d5, 0x02f3bebf, 0x006ed74c, 0x002e89a2}}, Y: Field{[10]uint32{0x02b3409d, 0x01436e28, 0x02893bdf, 0x009dcd67, 0x01e0b896, 0x02ee8c9b, 0x025fa64a, 0x02b7ba79, 0x01b223dd, 0x003f6217}}}, + {X: Field{[10]uint32{0x01050fe1, 0x03486946, 0x02c92299, 0x023579e4, 0x000fc657, 0x029497a0, 0x01bda654, 0x016c7640, 0x00e13100, 0x001a2d40}}, Y: Field{[10]uint32{0x0312f96b, 0x001757da, 0x0202207e, 0x009e0f80, 0x008df9b1, 0x01f6951a, 0x01ac8e87, 0x012a53cf, 0x017ab354, 0x001c7bdf}}}, + {X: Field{[10]uint32{0x027996ff, 0x03a9d6b6, 0x01064b84, 0x03265029, 0x035b19f7, 0x00b1be81, 0x03f851f1, 0x02a0f09f, 0x03e2613f, 0x000b3329}}, Y: Field{[10]uint32{0x03d7707f, 0x02b83cc9, 0x005703c6, 0x023c2fb5, 0x03cf37af, 0x03164e42, 0x01b2d2f0, 0x006b4343, 0x022222dd, 0x0016adc2}}}, + {X: Field{[10]uint32{0x03179f14, 0x03d369bd, 0x033c1827, 0x03013573, 0x00383ad9, 0x032db729, 0x01af7183, 0x0291686d, 0x012d6a56, 0x001b5e5f}}, Y: Field{[10]uint32{0x000edf3f, 0x0189547a, 0x02ea67b1, 0x0078568e, 0x03b80e54, 0x035bd6a2, 0x0284bee7, 0x03463667, 0x00e5d203, 0x0002ab8d}}}, + {X: Field{[10]uint32{0x018ee327, 0x001665ba, 0x027b5116, 0x0160157d, 0x009a565a, 0x025a94f9, 0x013751ad, 0x01dac655, 0x03c437be, 0x002a9a65}}, Y: Field{[10]uint32{0x00684835, 0x0030cf03, 0x034cb3cc, 0x01de87d3, 0x036532e2, 0x038bd7c6, 0x018a15b2, 0x0103825a, 0x00219cdb, 0x00180d29}}}, + {X: Field{[10]uint32{0x022a0f48, 0x00316fae, 0x02dead01, 0x02137006, 0x0201e624, 0x02c3e25f, 0x005d53a7, 0x0075c28d, 0x03bffb8e, 0x0015b103}}, Y: Field{[10]uint32{0x02f0bd01, 0x032daa91, 0x01f4c458, 0x01e1f8a6, 0x01676a4a, 0x01cf632a, 0x03a0e091, 0x024a409e, 0x0389078b, 0x003a7419}}}, + {X: Field{[10]uint32{0x03918d89, 0x0240f545, 0x010731d2, 0x00dca94d, 0x01b6e1e2, 0x02d4b0f7, 0x0262be08, 0x03b5ef70, 0x02a83963, 0x0036dbfd}}, Y: Field{[10]uint32{0x01951769, 0x02dc461f, 0x03bdc162, 0x019435d5, 0x030e248d, 0x00513283, 0x02f6b18c, 0x03f512d0, 0x02fa0f30, 0x00290044}}}, + {X: Field{[10]uint32{0x03402c6d, 0x03286018, 0x01de4151, 0x01cdd539, 0x03dcdd11, 0x02950c04, 0x00e730d4, 0x018f88ce, 0x0301a46f, 0x00237d55}}, Y: Field{[10]uint32{0x03a1c3df, 0x0344b755, 0x02a93b9d, 0x0196f227, 0x02b3e696, 0x0122efd8, 0x016ddafb, 0x00ffc04e, 0x009a64b6, 0x001933e7}}}, + {X: Field{[10]uint32{0x030588a1, 0x03d22806, 0x00af37be, 0x033b7896, 0x0166485c, 0x01775791, 0x03ae460e, 0x023d5d01, 0x002c5101, 0x0027442f}}, Y: Field{[10]uint32{0x00922c04, 0x0324e261, 0x02ac2fcb, 0x00baba83, 0x01726b30, 0x000f7fae, 0x01ebe44e, 0x0385c5fb, 0x0008b2a4, 0x000e3a8f}}}, + {X: Field{[10]uint32{0x03640367, 0x02e601cd, 0x03e662e4, 0x01ec3f39, 0x02056025, 0x0080581b, 0x027a7068, 0x029e1cb2, 0x0075cc07, 0x0004eef2}}, Y: Field{[10]uint32{0x00c2c708, 0x011d2c70, 0x007697fe, 0x02bf5bd5, 0x02d2ea3d, 0x02abc6c7, 0x00a19acb, 0x00a99b63, 0x031a47c8, 0x002d3365}}}, + {X: Field{[10]uint32{0x02a9c3e1, 0x03273257, 0x02b1e24e, 0x028c4f24, 0x011857d9, 0x00369b72, 0x0147630d, 0x02c5d372, 0x0037f617, 0x0023c9b7}}, Y: Field{[10]uint32{0x033f15ef, 0x03ddb839, 0x0375bd5c, 0x03f0554c, 0x00f887f2, 0x01646b11, 0x00238776, 0x02fc9d39, 0x03031d96, 0x000e1228}}}, + {X: Field{[10]uint32{0x007b5f21, 0x0295e693, 0x01041ad3, 0x026c4419, 0x03a23e0d, 0x01836f84, 0x015236f6, 0x0245bd79, 0x003df290, 0x000b8795}}, Y: Field{[10]uint32{0x01473846, 0x002b4bed, 0x02d28ff1, 0x020ca3f8, 0x03947bc0, 0x00610d2d, 0x00cd9f32, 0x00176b04, 0x0127626e, 0x00221691}}}, + {X: Field{[10]uint32{0x023f3109, 0x02020b3b, 0x0385a123, 0x0143a31e, 0x018bed8f, 0x00fada6d, 0x0076936e, 0x027aa2ee, 0x00a3e050, 0x00320f0b}}, Y: Field{[10]uint32{0x029cd5ed, 0x01f0cc4c, 0x00c0e3b0, 0x01d54c07, 0x0074b75e, 0x00276955, 0x030da10d, 0x02378ac2, 0x02a9bc80, 0x000ae580}}}, + {X: Field{[10]uint32{0x03d29607, 0x0347eaf4, 0x02700578, 0x00724181, 0x01afee8b, 0x038e14c4, 0x024111ae, 0x005394c9, 0x03b4e2c1, 0x00231e40}}, Y: Field{[10]uint32{0x01025731, 0x011cddbc, 0x01b2528d, 0x000620a6, 0x00b488c4, 0x00a8d0fa, 0x02ebea9a, 0x03e53407, 0x02d1964d, 0x003740b6}}}, + {X: Field{[10]uint32{0x02569cc0, 0x029a0769, 0x009bda38, 0x02199532, 0x01b51857, 0x00707ae1, 0x00adfc6c, 0x01d732cc, 0x0054dd75, 0x0012098f}}, Y: Field{[10]uint32{0x0213167f, 0x037ee204, 0x03955dda, 0x017d572d, 0x02e223ac, 0x00964dba, 0x0198e49a, 0x02d4a03b, 0x03bddacd, 0x0039bc41}}}, + {X: Field{[10]uint32{0x02f0d2d3, 0x02c95185, 0x0227495f, 0x009f153b, 0x00accb71, 0x00f35766, 0x018644c6, 0x007d61e4, 0x010aea7d, 0x001a9f01}}, Y: Field{[10]uint32{0x0021e232, 0x01c95bb6, 0x0154628d, 0x020ed2ec, 0x02f80f73, 0x00226c32, 0x03f733dc, 0x0191b8d2, 0x026127a2, 0x003eb464}}}, + {X: Field{[10]uint32{0x035c3ea8, 0x0168661f, 0x01a3bf10, 0x02683331, 0x030ece87, 0x00c72c27, 0x01147dcc, 0x03080b7e, 0x013f62fb, 0x00387c29}}, Y: Field{[10]uint32{0x01706277, 0x02483c79, 0x01d8dcfe, 0x024bf8b9, 0x003968f6, 0x0100dde0, 0x03148489, 0x03a8c030, 0x010f0b0e, 0x000e4c28}}}, + {X: Field{[10]uint32{0x03182b7b, 0x00999d74, 0x0213b485, 0x0029b539, 0x02da9b6a, 0x02293219, 0x026efcae, 0x03296ff5, 0x0113cb0f, 0x002f03ec}}, Y: Field{[10]uint32{0x03090f31, 0x02871b2f, 0x0060131c, 0x01581d17, 0x0037892c, 0x00fb2c52, 0x0315f691, 0x03baef49, 0x025e6993, 0x0038479c}}}, + {X: Field{[10]uint32{0x0342f908, 0x02c0ca72, 0x034fe266, 0x0285d284, 0x030ee7e6, 0x027ab9ed, 0x03f9ebf8, 0x023d2192, 0x00f49c43, 0x0007f968}}, Y: Field{[10]uint32{0x0275f66c, 0x03584271, 0x0379b35a, 0x012b3a6d, 0x02069451, 0x03e9ed65, 0x033878bc, 0x0190724a, 0x01cef912, 0x0036e025}}}, + {X: Field{[10]uint32{0x02524cd4, 0x010c82aa, 0x00f6de43, 0x020cfcf2, 0x00ade6ea, 0x02afe94f, 0x02e61aae, 0x01c00be9, 0x01b49016, 0x001778ff}}, Y: Field{[10]uint32{0x007e08f0, 0x01615e45, 0x00535dc1, 0x028f57a6, 0x016d7e9c, 0x02346b0a, 0x004a1dd8, 0x035b3acd, 0x0288862a, 0x002d72f7}}}, + {X: Field{[10]uint32{0x023da54f, 0x02ff2f00, 0x020738ad, 0x00b78865, 0x02b2964f, 0x02529916, 0x02b0be62, 0x037f3d7b, 0x0193a913, 0x0024ec1a}}, Y: Field{[10]uint32{0x012ae0b8, 0x01285352, 0x0107c4d1, 0x03607a2d, 0x029c151a, 0x0328f1f8, 0x007330ef, 0x02dd1106, 0x002f856c, 0x001e0d9e}}}, + {X: Field{[10]uint32{0x02762f0c, 0x02de1823, 0x01851886, 0x026f8e05, 0x009c3336, 0x01ac1578, 0x005a044f, 0x001d079a, 0x000d27d9, 0x0001c15d}}, Y: Field{[10]uint32{0x033d956e, 0x01772645, 0x03c55d3f, 0x00c87eec, 0x00b2142b, 0x00a7c4ab, 0x013193b5, 0x011b1a7a, 0x03bb738d, 0x00312963}}}, + {X: Field{[10]uint32{0x0193e296, 0x00687847, 0x0086434a, 0x019d8410, 0x02e5b787, 0x0254c3c2, 0x00a20e19, 0x015499cd, 0x0000fc48, 0x001d8668}}, Y: Field{[10]uint32{0x006ebed6, 0x02fa1b41, 0x032014f8, 0x01d5dc80, 0x01ab26f6, 0x028b3ad6, 0x03a0afe0, 0x011e73db, 0x01e1182f, 0x001fcc03}}}, + {X: Field{[10]uint32{0x019ff2fe, 0x0150a296, 0x0060dbec, 0x02d8e139, 0x01cc0d54, 0x00a0504f, 0x01346fcd, 0x014805b3, 0x01a8ddbb, 0x003f883d}}, Y: Field{[10]uint32{0x002d879c, 0x02a4ae49, 0x02e0bae7, 0x01ead3b2, 0x01338cf4, 0x02655ec3, 0x02be551f, 0x0121c6bf, 0x02e6e260, 0x0016d222}}}, + {X: Field{[10]uint32{0x02ad11e2, 0x03878fd0, 0x00b84422, 0x00862ae2, 0x01707681, 0x00f1d47e, 0x0129e077, 0x014b3cb7, 0x0327ba7e, 0x002656e5}}, Y: Field{[10]uint32{0x037fd26e, 0x03d71b4b, 0x0391f42a, 0x0217e416, 0x0049c8d5, 0x00a6f62e, 0x02c5e5f5, 0x0051a313, 0x01c97ee4, 0x0030f277}}}, + {X: Field{[10]uint32{0x002b3136, 0x01f0909c, 0x02a16e26, 0x02836130, 0x01636d26, 0x01458648, 0x02913445, 0x0135f1e7, 0x024d2ca9, 0x0032d3cb}}, Y: Field{[10]uint32{0x003ddb9b, 0x021e77a0, 0x02e49bbb, 0x01c5e9a3, 0x031b9b2f, 0x03df8ae2, 0x000df480, 0x01039b3c, 0x02ee3949, 0x000857ad}}}, + {X: Field{[10]uint32{0x01fce397, 0x00b095ae, 0x00e6fc72, 0x02757869, 0x034572b6, 0x019a3ad9, 0x00b10707, 0x024512eb, 0x025634b4, 0x0032828a}}, Y: Field{[10]uint32{0x03f4841b, 0x023ae0b4, 0x01ebfe95, 0x029c2f6d, 0x036e2562, 0x01ab69e9, 0x0098c855, 0x00beee94, 0x00c974ab, 0x002481e7}}}, + {X: Field{[10]uint32{0x03af7c7b, 0x01ae48b8, 0x00246acd, 0x02259ed3, 0x02bfadde, 0x013bc58e, 0x02f27a02, 0x0302bf5c, 0x032dc6c0, 0x003ee08c}}, Y: Field{[10]uint32{0x0134c7ee, 0x0315032a, 0x030c660d, 0x02646733, 0x032b90d3, 0x038b12c6, 0x00beaa52, 0x02da40ce, 0x0119f21c, 0x00069a5c}}}, + {X: Field{[10]uint32{0x00513dd2, 0x03b10a97, 0x006736af, 0x02818f6d, 0x02d07550, 0x008062f5, 0x02184a4e, 0x0237bc83, 0x0205d925, 0x003415bb}}, Y: Field{[10]uint32{0x0015bffb, 0x0366632f, 0x0031c276, 0x03135a37, 0x0389ab0f, 0x0006b5c9, 0x027cfb62, 0x038d599f, 0x01d0d222, 0x0002bcb0}}}, + {X: Field{[10]uint32{0x02526f12, 0x028494d0, 0x007267ae, 0x004b360a, 0x01c63257, 0x02dde18d, 0x0046c594, 0x01098b10, 0x0222c658, 0x000feb6c}}, Y: Field{[10]uint32{0x0199ae96, 0x019adfb0, 0x02717586, 0x0387aae1, 0x03d181e0, 0x02875d2d, 0x00a7e8bf, 0x00474e13, 0x0007fa68, 0x00369723}}}, + {X: Field{[10]uint32{0x019c4b61, 0x01098ec7, 0x029248ab, 0x023bed9f, 0x03214b81, 0x0274f914, 0x01915dd3, 0x03943977, 0x0169e222, 0x00349eb2}}, Y: Field{[10]uint32{0x033a1c7f, 0x02529db2, 0x03f6f9b4, 0x016b6079, 0x0209a7c5, 0x02100c8d, 0x02709a32, 0x034c15b9, 0x0294baea, 0x0031215d}}}, + {X: Field{[10]uint32{0x02c565d4, 0x0103c05c, 0x02cbcd93, 0x00064686, 0x0399cd3a, 0x03ff5a7b, 0x03a4324b, 0x006b9a97, 0x01b48b98, 0x001048de}}, Y: Field{[10]uint32{0x00fa280e, 0x034fa1ff, 0x023abac9, 0x00ec9154, 0x03c75505, 0x02f9aad5, 0x02523e7e, 0x0393c0b2, 0x02c9c7db, 0x003c900d}}}, + {X: Field{[10]uint32{0x039336f1, 0x037ea8fd, 0x003eace9, 0x027ec849, 0x01bef790, 0x018f4029, 0x028cc3b6, 0x01304ee6, 0x02aa9937, 0x003608d3}}, Y: Field{[10]uint32{0x02755c27, 0x03e412db, 0x00e5cb1f, 0x03e47720, 0x001845d8, 0x00a4aeaf, 0x03c15930, 0x0197d9a8, 0x028ec4b4, 0x0002e32f}}}, + {X: Field{[10]uint32{0x01189009, 0x02ebca97, 0x03bbe47f, 0x00e8f61d, 0x00427d32, 0x03634f00, 0x000ea349, 0x03fe72eb, 0x033568c5, 0x00109be2}}, Y: Field{[10]uint32{0x0100586d, 0x010e672f, 0x03bfd7dc, 0x01fde214, 0x019931f5, 0x01f2e0ae, 0x03a1ba72, 0x00f1ee71, 0x013dce02, 0x0013808a}}}, + {X: Field{[10]uint32{0x0097dfa5, 0x009d8291, 0x036ccfe7, 0x01bb1e03, 0x01871757, 0x0272971e, 0x012a7fdc, 0x017cb090, 0x02f902ee, 0x003c71c1}}, Y: Field{[10]uint32{0x03b7e740, 0x0173eb0a, 0x004d59f8, 0x02575ae7, 0x009ef758, 0x006826e1, 0x01787005, 0x01570ece, 0x01a1727f, 0x00317868}}}, + {X: Field{[10]uint32{0x02c2c679, 0x03c61a4d, 0x00b67608, 0x00799d66, 0x03598200, 0x0094d5ad, 0x00d66825, 0x01661e5a, 0x007ecc1d, 0x002138b8}}, Y: Field{[10]uint32{0x0028555a, 0x01ce19b3, 0x03bb6281, 0x03dbd6d0, 0x012903f4, 0x01ff3ae9, 0x0275a8ab, 0x03b3732f, 0x03438ab5, 0x00106ac4}}}, + {X: Field{[10]uint32{0x02ad2b54, 0x0226d01d, 0x020689c6, 0x002fbc3d, 0x023d599b, 0x028633da, 0x02bb6993, 0x01608d12, 0x02c2fe53, 0x001e4d7b}}, Y: Field{[10]uint32{0x03371910, 0x033ef554, 0x01b406c4, 0x02b78f5d, 0x01b77480, 0x0393d721, 0x00ed574f, 0x022186db, 0x016aab97, 0x00338bf2}}}, + {X: Field{[10]uint32{0x00dbd9a0, 0x029a8c2c, 0x0383927a, 0x02250878, 0x013e8c26, 0x0368e802, 0x01abbef9, 0x01b55ade, 0x00a8319f, 0x003550a9}}, Y: Field{[10]uint32{0x038173e1, 0x01e6bb1e, 0x037a4f19, 0x00326161, 0x026badb7, 0x00654681, 0x019f3e9c, 0x0217aa3e, 0x016265d2, 0x00144128}}}, + {X: Field{[10]uint32{0x00ece2be, 0x009f6691, 0x0232fd3c, 0x02e49bec, 0x00041011, 0x000e049b, 0x02f0157a, 0x02624012, 0x02194228, 0x002f1a49}}, Y: Field{[10]uint32{0x0252f3bc, 0x00da71ff, 0x034f9847, 0x00bb6c97, 0x0311e202, 0x032e3bdd, 0x032e8543, 0x0298c24d, 0x00c147e2, 0x00238bc4}}}, + {X: Field{[10]uint32{0x018d8d03, 0x0086fd74, 0x03e51f45, 0x024257d0, 0x00ae079a, 0x0122ad94, 0x02cdd80b, 0x0230237a, 0x0336bb17, 0x003af86d}}, Y: Field{[10]uint32{0x01db7514, 0x0028bab3, 0x02bbb0cd, 0x0187f23b, 0x03782f20, 0x00aa049a, 0x0378ef4b, 0x01437917, 0x02590b14, 0x002b6071}}}, + {X: Field{[10]uint32{0x01e2774c, 0x014b7b2e, 0x03e7bde1, 0x012a4e0a, 0x02666d09, 0x03e3c158, 0x01f887ad, 0x0214f93f, 0x010849e1, 0x003989ae}}, Y: Field{[10]uint32{0x034834ea, 0x004ffe43, 0x027c30f5, 0x010b1658, 0x002dca73, 0x033ee1d6, 0x02ab4062, 0x00a89c32, 0x01daa419, 0x002433d5}}}, + {X: Field{[10]uint32{0x00381e67, 0x021ea739, 0x000b61a9, 0x0072f1eb, 0x000d8f57, 0x0291453c, 0x013b8b5b, 0x021e488c, 0x0057ba04, 0x003ee9e8}}, Y: Field{[10]uint32{0x029ec44a, 0x03b9ebb5, 0x000f718c, 0x0243b94c, 0x037cea5b, 0x016295fa, 0x005133f9, 0x014eeafc, 0x03fc1426, 0x001f4abd}}}, + {X: Field{[10]uint32{0x00c35a54, 0x02f9a265, 0x039ea1e3, 0x01691595, 0x03023973, 0x01c0cf99, 0x02e5bdb5, 0x01460568, 0x03955b5d, 0x00051336}}, Y: Field{[10]uint32{0x0253f1e6, 0x021e9dd8, 0x02a83919, 0x023e28ba, 0x03ed0a10, 0x0204d6d2, 0x0150d2b0, 0x03f16600, 0x0389e896, 0x0039805b}}}, + {X: Field{[10]uint32{0x003c0a24, 0x009787c6, 0x01eb681c, 0x023c099e, 0x03ad28cd, 0x02566767, 0x034a2d1a, 0x006d7b35, 0x026ee7ab, 0x00014e37}}, Y: Field{[10]uint32{0x00121004, 0x021012c5, 0x009601de, 0x01cc84f4, 0x012482b9, 0x016ce281, 0x01bac87d, 0x00464d6f, 0x03477961, 0x000db029}}}, + {X: Field{[10]uint32{0x03c03794, 0x001856ba, 0x02f2e9d1, 0x029c152f, 0x007876eb, 0x018edd5f, 0x00a38062, 0x01cfb883, 0x030fd28f, 0x001da453}}, Y: Field{[10]uint32{0x03a12642, 0x00c1a00c, 0x0008ec39, 0x014be7e2, 0x00593307, 0x0189b18b, 0x03557861, 0x0156fc88, 0x01cae168, 0x001b7893}}}, + {X: Field{[10]uint32{0x0234e4a7, 0x00caeaa7, 0x000af27e, 0x02eea960, 0x0186bee7, 0x03244bca, 0x015f7f96, 0x03df6bd6, 0x026cf675, 0x001a6457}}, Y: Field{[10]uint32{0x039513c9, 0x00b3c88a, 0x00d56df7, 0x006ddd9d, 0x03139bc3, 0x0374b68e, 0x0353c918, 0x026155de, 0x03c02f10, 0x0018253e}}}, + {X: Field{[10]uint32{0x00ce3015, 0x02ea11c6, 0x03e5d859, 0x00d790a1, 0x022c37eb, 0x02e4460b, 0x0142dcfd, 0x0353f6fa, 0x020c900b, 0x0013b9b0}}, Y: Field{[10]uint32{0x0062cd64, 0x03543cc8, 0x00f7590e, 0x0319311f, 0x0142e2a9, 0x030a4f4f, 0x0338e668, 0x0186312d, 0x0369863d, 0x00212b25}}}, + {X: Field{[10]uint32{0x00a0fa61, 0x01c5e5a2, 0x02c6ad22, 0x00442be7, 0x01aa5982, 0x01323160, 0x00e11dca, 0x03e28e3b, 0x001af57b, 0x0029a04f}}, Y: Field{[10]uint32{0x038edca4, 0x00ba0256, 0x000e1d18, 0x026f7168, 0x01d415c9, 0x0263ecbc, 0x03e2335e, 0x0258c56d, 0x034df4e2, 0x00190809}}}, + {X: Field{[10]uint32{0x010fce84, 0x03f9aadc, 0x03d6c0fd, 0x01ddbb94, 0x0269d910, 0x01d76d27, 0x01fc7432, 0x00a25c93, 0x03b7107b, 0x00108400}}, Y: Field{[10]uint32{0x02f9427f, 0x023ccf1d, 0x0002ac21, 0x021ceaa0, 0x020a9320, 0x022f3fa9, 0x01cb1498, 0x010e570c, 0x01697b92, 0x0032e555}}}, + {X: Field{[10]uint32{0x00c8c522, 0x002f7192, 0x02df8fc6, 0x02616d51, 0x015e1252, 0x02b3d7c9, 0x009d362e, 0x0313f100, 0x01e10cb8, 0x000272c6}}, Y: Field{[10]uint32{0x03d70d12, 0x03a253b1, 0x036231b7, 0x0382416f, 0x028fd286, 0x035f3fe1, 0x0220e70e, 0x039a2d8f, 0x01d32c6e, 0x00089c05}}}, + {X: Field{[10]uint32{0x03b953c2, 0x00d8d8a2, 0x03704362, 0x012dd78c, 0x03c4a7ac, 0x038b3832, 0x03412d64, 0x01623ce3, 0x01968193, 0x0031d04d}}, Y: Field{[10]uint32{0x0108aa6b, 0x01d7bd2a, 0x008019ae, 0x03c949de, 0x015e1d70, 0x03b05ace, 0x02dd4c90, 0x03135b48, 0x03a01b7c, 0x001efb9f}}}, + {X: Field{[10]uint32{0x01df22cc, 0x00b99d98, 0x02cec9dc, 0x02603a1b, 0x00c2f8e3, 0x02a5f319, 0x03ac1ea8, 0x01249ba3, 0x0205321f, 0x000aa3a2}}, Y: Field{[10]uint32{0x001fae42, 0x007ef6e6, 0x037809c8, 0x001febfd, 0x0364f0c0, 0x0034fe04, 0x0360c21c, 0x0372aab2, 0x01074e4f, 0x0018ee19}}}, + {X: Field{[10]uint32{0x0097a14d, 0x008a4fb5, 0x02127355, 0x031f1bd9, 0x025af1d8, 0x02a38b72, 0x02ab014e, 0x00d65122, 0x02607d40, 0x003cfbcb}}, Y: Field{[10]uint32{0x022cccc9, 0x01f0c758, 0x03ca9c63, 0x012fd0f6, 0x019e9ce4, 0x0275e305, 0x01d1d964, 0x027d12f1, 0x0334214b, 0x0037f354}}}, + {X: Field{[10]uint32{0x0057ead9, 0x0100a012, 0x0365a80e, 0x0092effa, 0x03a93964, 0x02c759c4, 0x0111b361, 0x00ce9744, 0x01c8169c, 0x001b5710}}, Y: Field{[10]uint32{0x005e84c8, 0x031522a9, 0x02a4a6a0, 0x00829486, 0x023d6742, 0x003d66f7, 0x0291d370, 0x02f0a89e, 0x00c49f01, 0x001307dd}}}, + {X: Field{[10]uint32{0x02fff85c, 0x031c7d12, 0x03c73488, 0x00891f81, 0x01608223, 0x013f51e3, 0x01982ce3, 0x021ac0b1, 0x0261c6a9, 0x0017604a}}, Y: Field{[10]uint32{0x03a960b8, 0x036894ff, 0x001fdcc8, 0x005e2fb5, 0x00680b15, 0x03248d21, 0x0349e164, 0x023f1095, 0x037b1601, 0x000dc20f}}}, + {X: Field{[10]uint32{0x0373093e, 0x02aa11df, 0x027d5dc6, 0x029827be, 0x01720177, 0x00a44615, 0x03a97108, 0x03cd1f0e, 0x02ecb82f, 0x00380565}}, Y: Field{[10]uint32{0x005b3bdd, 0x01faceed, 0x0177e554, 0x03061dd9, 0x03a17aca, 0x02963929, 0x00da5d06, 0x0212e74e, 0x00328498, 0x00299d32}}}, + {X: Field{[10]uint32{0x01980f55, 0x01100b02, 0x00d0b834, 0x0183bdac, 0x00ad52b9, 0x0373fdfc, 0x032fcaea, 0x03fcb9ec, 0x01000313, 0x0019e96a}}, Y: Field{[10]uint32{0x000a4a02, 0x01c0f24f, 0x02a03f41, 0x022bae2d, 0x009fdf92, 0x01f10783, 0x00075753, 0x022197ae, 0x01db5e8e, 0x0039dfbf}}}, + {X: Field{[10]uint32{0x0066b277, 0x0035f0d9, 0x01c217df, 0x02cd5ca0, 0x0353d77d, 0x03798960, 0x01c16477, 0x002b60a0, 0x039c2e2d, 0x000ae5a1}}, Y: Field{[10]uint32{0x00b62b25, 0x02f211a0, 0x030743cb, 0x0019e1a9, 0x027e0dae, 0x012a7f9f, 0x032408f6, 0x030caf31, 0x007343ba, 0x0037574d}}}, + {X: Field{[10]uint32{0x010367e9, 0x038b670c, 0x02bad825, 0x012fedc9, 0x03639b05, 0x00f8f848, 0x03137aea, 0x01235cb7, 0x038df087, 0x002ae50d}}, Y: Field{[10]uint32{0x03a10f03, 0x03740610, 0x011c99e3, 0x027fcb7c, 0x017f9d76, 0x01e376bd, 0x0331865c, 0x01f446a0, 0x02244003, 0x0015e173}}}, + {X: Field{[10]uint32{0x03e7439f, 0x02aaec10, 0x00985fa3, 0x036e1ef9, 0x012f3fd4, 0x028edb23, 0x013def6c, 0x03f78e32, 0x01560fd6, 0x001c1e09}}, Y: Field{[10]uint32{0x038ebec7, 0x02cfee05, 0x036af8f9, 0x03603e88, 0x0151894b, 0x03abd4d4, 0x01274b48, 0x01408331, 0x0365ecf1, 0x001e44ef}}}, + {X: Field{[10]uint32{0x03ca3942, 0x028062dd, 0x01eb3e71, 0x0203bf3b, 0x036b4d5e, 0x000928fd, 0x038c72c1, 0x03541ecc, 0x0070138b, 0x000c0974}}, Y: Field{[10]uint32{0x02b470ae, 0x03759a43, 0x03096f83, 0x02558e96, 0x038d5032, 0x00a93b94, 0x00172b5f, 0x03fe56a5, 0x020e175e, 0x000ea29a}}}, + {X: Field{[10]uint32{0x039ab0b6, 0x028f4602, 0x03ac9901, 0x02864e25, 0x02576081, 0x02a34079, 0x0069e7b2, 0x01eaee50, 0x02d065e9, 0x000ff8dc}}, Y: Field{[10]uint32{0x00842e5a, 0x00082895, 0x00c2d4c1, 0x014b3898, 0x00824035, 0x0359ed69, 0x03315e41, 0x037300dd, 0x02923154, 0x000bbf3b}}}, + {X: Field{[10]uint32{0x02f55636, 0x03968c0a, 0x001640bc, 0x03836a04, 0x03c3c373, 0x0301af5f, 0x02be8f9c, 0x00cfba5f, 0x00113a91, 0x000da31c}}, Y: Field{[10]uint32{0x006162a8, 0x03e1ad34, 0x024a135b, 0x03969bea, 0x02eb7d70, 0x0305a5c4, 0x028b942b, 0x02a385bc, 0x00fa4870, 0x00086f50}}}, + {X: Field{[10]uint32{0x00d96810, 0x03ab253b, 0x0100387e, 0x01a3953f, 0x0357682f, 0x02b5b5c4, 0x0040f230, 0x01793879, 0x03d8beb4, 0x001f7e3f}}, Y: Field{[10]uint32{0x002ed0df, 0x01d99f66, 0x013c9ec0, 0x0034281f, 0x03dc5555, 0x0131fff9, 0x0057d789, 0x016a6512, 0x00f9908e, 0x000f6793}}}, + {X: Field{[10]uint32{0x036f23d4, 0x036fdf42, 0x038bbdd2, 0x01c9413e, 0x02882691, 0x026c449d, 0x02162624, 0x031fb9f0, 0x0139eb49, 0x0032dab6}}, Y: Field{[10]uint32{0x0298346d, 0x000063ba, 0x01cb345e, 0x019785e2, 0x005480ca, 0x027e399a, 0x01319c45, 0x01cd9f78, 0x00db18f2, 0x003b2181}}}, + {X: Field{[10]uint32{0x00f4265a, 0x0263ca1c, 0x0053d390, 0x010b9a13, 0x01d8a1e0, 0x02766c81, 0x014e6a75, 0x00679b81, 0x02c80fc3, 0x0016b949}}, Y: Field{[10]uint32{0x010a9a63, 0x022185f5, 0x03850f24, 0x02af678c, 0x00a03f4b, 0x0155df02, 0x033ef80d, 0x016a433f, 0x028114c2, 0x00368784}}}, + {X: Field{[10]uint32{0x01ff7661, 0x021ab9c9, 0x03323a87, 0x019d6e34, 0x02174777, 0x000115b5, 0x03f2b10e, 0x02eb306e, 0x008906dd, 0x0021a35e}}, Y: Field{[10]uint32{0x0322ca1d, 0x030c24eb, 0x00ef296f, 0x0120d0a8, 0x0246e6ce, 0x027051bd, 0x03e57baa, 0x0037e38a, 0x001d189b, 0x00364b5a}}}, + {X: Field{[10]uint32{0x03686b74, 0x00762675, 0x025a4834, 0x02611f0c, 0x0223bd32, 0x01041a8c, 0x01d1f8a7, 0x0206db13, 0x034de7b8, 0x0027cbc2}}, Y: Field{[10]uint32{0x02440088, 0x013f0523, 0x016e3c44, 0x0172d1fc, 0x02deca28, 0x016158bc, 0x0329ca66, 0x012be2d5, 0x0111c297, 0x001beef5}}}, + {X: Field{[10]uint32{0x03fca8a3, 0x0140ddb4, 0x00b4fe69, 0x03afa302, 0x02c522f5, 0x03b8babd, 0x032da983, 0x0037c56f, 0x022b813b, 0x003eabc8}}, Y: Field{[10]uint32{0x000b472e, 0x036d0751, 0x01469b2c, 0x01b175b4, 0x0147f00e, 0x013c4aaf, 0x032ae874, 0x036b1a3e, 0x02692e98, 0x002fb14f}}}, + {X: Field{[10]uint32{0x03161475, 0x01f48a69, 0x00008fd6, 0x020293b1, 0x0313c81c, 0x01b1718b, 0x02a7ab70, 0x02e7e8b0, 0x01b9db4a, 0x001fd482}}, Y: Field{[10]uint32{0x0248d193, 0x033a82d2, 0x00ce4e69, 0x002e6b31, 0x00a58be4, 0x03c64736, 0x017d1c76, 0x01a67fce, 0x00daf9e8, 0x00284f5b}}}, + {X: Field{[10]uint32{0x02c84c2a, 0x012fd3c4, 0x00c04683, 0x02490168, 0x0050c7b4, 0x009c0285, 0x025f395e, 0x00dbc201, 0x016e80b1, 0x003d0d85}}, Y: Field{[10]uint32{0x017e60c4, 0x022546ef, 0x020e5911, 0x002e220a, 0x00e7aa89, 0x026c01fa, 0x020807d3, 0x03806e9d, 0x03b05684, 0x00337655}}}, + {X: Field{[10]uint32{0x00f1d06e, 0x03c70c4f, 0x0169f201, 0x0150ac93, 0x02882167, 0x00d153e9, 0x020c2bb0, 0x00df6081, 0x03495c5b, 0x003be6a9}}, Y: Field{[10]uint32{0x027a4aa9, 0x033d32bc, 0x0366654c, 0x03bf47dd, 0x0050003a, 0x0139b35f, 0x0125750e, 0x012a3eb0, 0x024df1d8, 0x003e1036}}}, + {X: Field{[10]uint32{0x035de05a, 0x00a25bfe, 0x01d40b12, 0x0322965c, 0x016d9e1c, 0x0179e4db, 0x010809c2, 0x02e4eb0a, 0x0043e96e, 0x001f7bb7}}, Y: Field{[10]uint32{0x02a8e0ce, 0x009ad949, 0x03381220, 0x03edaf24, 0x01de6683, 0x033c4bf3, 0x027b349c, 0x03439003, 0x026627b9, 0x00399703}}}, + {X: Field{[10]uint32{0x006d6459, 0x012cf3a6, 0x0215c0e7, 0x03d3ca0f, 0x01878384, 0x020bcd87, 0x03e74955, 0x01e5711e, 0x03156669, 0x001686fb}}, Y: Field{[10]uint32{0x00cf39ff, 0x01e711cb, 0x00d61b11, 0x020777e3, 0x0069b28b, 0x020cf8e0, 0x035b97e1, 0x000aca78, 0x02811fdb, 0x0033a616}}}, + {X: Field{[10]uint32{0x0125fa8e, 0x014d5639, 0x0383bfa4, 0x033e12c8, 0x0173b8fd, 0x020f1beb, 0x00eeb789, 0x004f0ac5, 0x01392334, 0x0036048f}}, Y: Field{[10]uint32{0x0233ef73, 0x009a51e9, 0x00095ea2, 0x028c3256, 0x02835e35, 0x02ecf2d5, 0x03f78a5a, 0x01c8011b, 0x019d905b, 0x003aa74e}}}, + {X: Field{[10]uint32{0x024d4bc8, 0x00c4cd03, 0x035d8939, 0x03469e9a, 0x0310d3df, 0x0026bed7, 0x02a36c39, 0x030c4099, 0x01d4f1f4, 0x0018bd0f}}, Y: Field{[10]uint32{0x0190f3ed, 0x028772ed, 0x028ef89f, 0x00a76a8b, 0x02755258, 0x00e8407c, 0x034fe225, 0x03591cb8, 0x01f1f83b, 0x002edd62}}}, + {X: Field{[10]uint32{0x039d72f7, 0x033cc4bd, 0x01f4fcc1, 0x0111bd8b, 0x00865f6e, 0x033d6535, 0x015aa750, 0x03011450, 0x0371d549, 0x00001b3c}}, Y: Field{[10]uint32{0x01e93af4, 0x006b7172, 0x0216a758, 0x02741a33, 0x002b3dee, 0x020ad168, 0x024ce206, 0x026f4a0a, 0x022b5c97, 0x003e33ad}}}, + {X: Field{[10]uint32{0x03cdd7e7, 0x03bf16d1, 0x01f3c509, 0x01c545af, 0x0249aeb3, 0x03e55021, 0x01638dd8, 0x03a70df0, 0x0380770b, 0x0016f5ed}}, Y: Field{[10]uint32{0x006ba9ff, 0x0242664a, 0x031e3021, 0x000ca8a2, 0x01efc12c, 0x02b74309, 0x006b91c5, 0x02abd3d8, 0x00488a87, 0x00351b1e}}}, + {X: Field{[10]uint32{0x036b6a62, 0x02fcf6f0, 0x001af0e6, 0x01ffc55a, 0x0081eecd, 0x02e566e8, 0x02086653, 0x02f52b96, 0x0154a319, 0x0031dc12}}, Y: Field{[10]uint32{0x016d0fe7, 0x00ecf294, 0x0337836e, 0x0002c571, 0x03e508f6, 0x02273312, 0x013b9c61, 0x012ea0fd, 0x03e82478, 0x000dcd50}}}, + {X: Field{[10]uint32{0x01b19cda, 0x0371b40e, 0x039588fe, 0x02342790, 0x02d6e92c, 0x0040b07b, 0x007da707, 0x00ea7760, 0x03fe4153, 0x000ad3c9}}, Y: Field{[10]uint32{0x001fb424, 0x038ab67e, 0x01d6b089, 0x02009005, 0x0049ba21, 0x024bd30c, 0x01fadd4a, 0x01f2c704, 0x03100ecd, 0x00262ea0}}}, + {X: Field{[10]uint32{0x014c0e5a, 0x001b2297, 0x03db54d3, 0x0204f5f0, 0x032c920c, 0x01a4c7e5, 0x000c581d, 0x030d3498, 0x01710b3d, 0x00039f50}}, Y: Field{[10]uint32{0x029a409a, 0x00513c92, 0x011f75b6, 0x01c74735, 0x0303e75b, 0x0169b128, 0x03a97efb, 0x014e1e67, 0x01ba9a82, 0x002ca560}}}, + {X: Field{[10]uint32{0x01c5d52e, 0x0198357c, 0x0284b2b5, 0x0187a01b, 0x032face7, 0x01a89c5f, 0x02700435, 0x00d5dc14, 0x022c18f4, 0x001880c0}}, Y: Field{[10]uint32{0x036a720d, 0x02021944, 0x024eb06c, 0x035aaa21, 0x020212ef, 0x0150ae5f, 0x035fe973, 0x0135d409, 0x03255d0a, 0x0006294b}}}, + {X: Field{[10]uint32{0x02e43b2b, 0x00700124, 0x026300e8, 0x01e5e479, 0x02489876, 0x02c3f332, 0x02327fe3, 0x02036e83, 0x03a28c1c, 0x002f6071}}, Y: Field{[10]uint32{0x003871c0, 0x0388d1e0, 0x00678db1, 0x02b3a4ea, 0x02416064, 0x03c6154d, 0x00831f07, 0x02f19278, 0x004ea14b, 0x0032942a}}}, + {X: Field{[10]uint32{0x004bc29a, 0x01aa6d3f, 0x0154a062, 0x0139bce9, 0x01b875eb, 0x000e9b83, 0x01385cd6, 0x00e43f34, 0x021ad3c1, 0x0026f10f}}, Y: Field{[10]uint32{0x00cb2cd4, 0x00b9a9b8, 0x0222e6b1, 0x02f763d2, 0x0264ea39, 0x01e5c5ec, 0x00d8b34b, 0x012ed5eb, 0x00bf9aa5, 0x00215e96}}}, + {X: Field{[10]uint32{0x03e40f33, 0x01da7329, 0x039082c8, 0x01c7195b, 0x015e5bfb, 0x0262fea8, 0x030117cb, 0x038f1e7b, 0x028d194d, 0x000c1569}}, Y: Field{[10]uint32{0x000d1d10, 0x008cf90d, 0x0086c1c9, 0x01ca9ff8, 0x00acbd8c, 0x01aae9af, 0x00218cfb, 0x038712fc, 0x01eadfeb, 0x000060fe}}}, + {X: Field{[10]uint32{0x034b08ac, 0x01e7eedc, 0x03e1b710, 0x00c5f62e, 0x002cec12, 0x00d60ee0, 0x02710724, 0x03462324, 0x0184ad1f, 0x0012b6fe}}, Y: Field{[10]uint32{0x03ec04e6, 0x013578f5, 0x01954709, 0x02dbde7d, 0x032192ce, 0x038fcb42, 0x01507668, 0x033bfcf6, 0x01889560, 0x0005149c}}}, + {X: Field{[10]uint32{0x016487cc, 0x01947469, 0x00b0cd00, 0x00daa81d, 0x0283fc6a, 0x033c5b48, 0x03ae3979, 0x0107671e, 0x01cc27e0, 0x000e3dcb}}, Y: Field{[10]uint32{0x033dc0bf, 0x01830ea4, 0x0188df71, 0x0110b946, 0x02496104, 0x002dbff1, 0x030d6f2c, 0x001b904d, 0x017c33a1, 0x00148e32}}}, + {X: Field{[10]uint32{0x015be2d3, 0x00623199, 0x03813322, 0x011d1f09, 0x02045606, 0x03167fca, 0x0013828a, 0x03f78285, 0x018a7bdf, 0x0037956f}}, Y: Field{[10]uint32{0x0042d9da, 0x034eed40, 0x0151ce65, 0x0146e65b, 0x0367bf9d, 0x01ec2bed, 0x039d0979, 0x0097cdd7, 0x01b0df5b, 0x0011de18}}}, + {X: Field{[10]uint32{0x023bcc66, 0x026e2797, 0x03893873, 0x03a9b159, 0x02e19340, 0x019bfa44, 0x00edf986, 0x000ae246, 0x00fdc47e, 0x003185ef}}, Y: Field{[10]uint32{0x01117072, 0x0098d259, 0x00d473b8, 0x01cad6c2, 0x01a6e046, 0x01133f12, 0x020f4e86, 0x01da0cab, 0x0117357e, 0x002e42e8}}}, + {X: Field{[10]uint32{0x01c84758, 0x02aceefc, 0x036724ad, 0x036fb2b6, 0x03c455f4, 0x024acc0c, 0x02402f1e, 0x0223252d, 0x01961b51, 0x00119570}}, Y: Field{[10]uint32{0x02fbc4a0, 0x0071b779, 0x01b5cf2c, 0x0300a0e2, 0x02714600, 0x012f017a, 0x0202df4f, 0x017d37ec, 0x0093a257, 0x000f3bb3}}}, + {X: Field{[10]uint32{0x03726a45, 0x021ba375, 0x004c9e5f, 0x00c67077, 0x00110df4, 0x02ad0f68, 0x013c503f, 0x0396b4da, 0x0340dc05, 0x003f2a43}}, Y: Field{[10]uint32{0x035771ca, 0x0321bf17, 0x021c3e6c, 0x03b1a323, 0x027478ed, 0x0269c29b, 0x0337aeb1, 0x0198106b, 0x039bbe3e, 0x003d608b}}}, + {X: Field{[10]uint32{0x027f61e9, 0x03c546f4, 0x00afb93f, 0x0015e31f, 0x02a31cbe, 0x02434ecf, 0x01e88d7f, 0x020961de, 0x004adcb2, 0x000c5db3}}, Y: Field{[10]uint32{0x02cc0135, 0x00308c50, 0x006aac34, 0x01115b34, 0x036a18ce, 0x03ed6ad6, 0x00fe7bba, 0x00290f25, 0x02cc148a, 0x000e18fc}}}, + {X: Field{[10]uint32{0x03b2ddc4, 0x0079943a, 0x014e0b81, 0x02734c69, 0x0151d9c1, 0x013e0b31, 0x030db151, 0x00842b41, 0x0373d124, 0x0018c9a7}}, Y: Field{[10]uint32{0x005cd0ac, 0x003c36f6, 0x02188e30, 0x02f0fdaa, 0x03038246, 0x002230e1, 0x034114e5, 0x01e90929, 0x03dd8a78, 0x002fe3b1}}}, + {X: Field{[10]uint32{0x032003d0, 0x00f39518, 0x02708dee, 0x0124d374, 0x000f07e7, 0x0104c9aa, 0x027f5445, 0x014ed86b, 0x01328d0f, 0x0019e687}}, Y: Field{[10]uint32{0x025c350f, 0x0240629c, 0x0085c034, 0x0157268d, 0x02c9b3eb, 0x03dbba69, 0x03e341d5, 0x03b28c46, 0x03488f21, 0x0020f284}}}, + {X: Field{[10]uint32{0x00b38b28, 0x033ce678, 0x036fb846, 0x0277a009, 0x03f7172f, 0x0153624c, 0x0148568a, 0x00b2134e, 0x01792998, 0x001a689f}}, Y: Field{[10]uint32{0x03b26168, 0x0058f90e, 0x034f3a02, 0x03d6b0b6, 0x0369c8b7, 0x00bce6f5, 0x00b16a12, 0x002ee15d, 0x0207cb0f, 0x003d0474}}}, + {X: Field{[10]uint32{0x0373ee4d, 0x015b23d9, 0x03c7f9dd, 0x02e72bfa, 0x02abfdab, 0x000a73bc, 0x03f21716, 0x01410b2f, 0x005701af, 0x000a6354}}, Y: Field{[10]uint32{0x0297e9e1, 0x00f0156a, 0x0222075e, 0x029e733e, 0x034271bd, 0x03db70db, 0x02e62c4b, 0x02113904, 0x0271d271, 0x003d0d0f}}}, + {X: Field{[10]uint32{0x000c4653, 0x022e5e48, 0x023b1f8f, 0x0391513d, 0x00e26f66, 0x02f3ce4c, 0x00eb9845, 0x03c4063e, 0x03da46d1, 0x000fca60}}, Y: Field{[10]uint32{0x01d71db0, 0x03166542, 0x01b53b26, 0x02f1e760, 0x009b2c38, 0x00c9b4e0, 0x02d57e6b, 0x00cec40d, 0x0114c4ad, 0x00125cea}}}, + {X: Field{[10]uint32{0x023538dd, 0x02aa2fdf, 0x03b1359f, 0x0287bda8, 0x0154412e, 0x0074a9be, 0x02d64b2a, 0x02e23650, 0x013e30ce, 0x003e0dbf}}, Y: Field{[10]uint32{0x037f9367, 0x0380a0b3, 0x02ba3b28, 0x038c1b9a, 0x00c8161e, 0x0162ddc8, 0x01fd29c1, 0x01ad69c2, 0x00815347, 0x001c828c}}}, + {X: Field{[10]uint32{0x00ef583a, 0x038b7c80, 0x03930b3a, 0x008807bb, 0x01295ed5, 0x03a647fa, 0x03c8ee4f, 0x00e2898e, 0x039b911e, 0x00375cba}}, Y: Field{[10]uint32{0x00c1b2ef, 0x02d03250, 0x00b8683c, 0x02c50fc4, 0x02398e86, 0x0182d4ec, 0x0285d9b3, 0x03dfe5e4, 0x01a5688b, 0x000a8369}}}, + {X: Field{[10]uint32{0x0168a619, 0x00fc0cd2, 0x019be028, 0x02912584, 0x037cef92, 0x00962dfc, 0x027bd818, 0x00957310, 0x025046ab, 0x00154789}}, Y: Field{[10]uint32{0x03bc4f30, 0x01e8dc39, 0x0223b200, 0x02a8f1ba, 0x02e5ca16, 0x00560a9b, 0x006a5ecd, 0x03cd6e6e, 0x03d24cd8, 0x000c5f0c}}}, + {X: Field{[10]uint32{0x0336c650, 0x00eb5e14, 0x02a90fbd, 0x01857214, 0x01ab28cb, 0x01e09564, 0x0319a304, 0x038f43b2, 0x0292131d, 0x0019a0f7}}, Y: Field{[10]uint32{0x002225f8, 0x01b4224a, 0x019e4d63, 0x03082397, 0x00b3c3b2, 0x011be839, 0x029556ec, 0x01548fe2, 0x018e7fd9, 0x00127ba9}}}, + {X: Field{[10]uint32{0x00f97805, 0x0127224f, 0x03ac7bea, 0x00f4c692, 0x01ca99ef, 0x023e257a, 0x029b146e, 0x03a99782, 0x01e284a6, 0x002d6cec}}, Y: Field{[10]uint32{0x01b6fe0d, 0x013ba239, 0x01667ffa, 0x030d51fa, 0x023cf16c, 0x0065402f, 0x0391437e, 0x038a5bca, 0x0294f333, 0x00285c82}}}, + {X: Field{[10]uint32{0x03cbf466, 0x009007e6, 0x00d1011a, 0x00e954d4, 0x03ccdde4, 0x01c63518, 0x009a2329, 0x01da125c, 0x03737c33, 0x00294065}}, Y: Field{[10]uint32{0x01d429e2, 0x03eb61ea, 0x0027e12e, 0x0233efcf, 0x03c51fff, 0x01add47a, 0x03a5e09b, 0x031777a3, 0x029effef, 0x00027301}}}, + {X: Field{[10]uint32{0x001588fb, 0x00dad8fb, 0x03849e12, 0x0092238b, 0x02e5cb72, 0x02c7162c, 0x0041b663, 0x0361850a, 0x018feb2b, 0x0027b0d2}}, Y: Field{[10]uint32{0x001f5f12, 0x00194bc3, 0x0333ba00, 0x0216a01c, 0x01e517e5, 0x005437fb, 0x02719bf2, 0x025fc0d8, 0x01a5e14b, 0x00380324}}}, + {X: Field{[10]uint32{0x03c5b6b2, 0x00c6afbc, 0x004b1f47, 0x02f16abc, 0x03581f97, 0x02e49999, 0x00b446ba, 0x00c615d4, 0x00b4adc1, 0x003842db}}, Y: Field{[10]uint32{0x01e2b9c3, 0x017f720d, 0x00ed3c1f, 0x010bc998, 0x01d5520b, 0x02d97007, 0x0287bba5, 0x0011dfce, 0x02137db2, 0x0014e944}}}, + {X: Field{[10]uint32{0x013ae314, 0x01873877, 0x00d0d3ff, 0x009c4ec6, 0x0360ace9, 0x000ad810, 0x0093691e, 0x029f1e63, 0x0167e36e, 0x002dd52a}}, Y: Field{[10]uint32{0x0073d849, 0x02e0a855, 0x0359be12, 0x00a64cf3, 0x00d83ee0, 0x02ac0794, 0x02f8d5fb, 0x03b96690, 0x01639aa7, 0x0022a68e}}}, + {X: Field{[10]uint32{0x02efa869, 0x0060ffcc, 0x02c8d489, 0x01d58d02, 0x017999a2, 0x02fa95a7, 0x038a51e6, 0x02fcf81b, 0x0361c10c, 0x0017fbf2}}, Y: Field{[10]uint32{0x02881e83, 0x02f86fd3, 0x0120715b, 0x01426cd2, 0x01dfe499, 0x02308150, 0x008c0932, 0x020d7076, 0x0093cbc4, 0x003606cc}}}, + {X: Field{[10]uint32{0x03d2d848, 0x02910bc9, 0x0118470a, 0x002aca6e, 0x01f0ed6f, 0x009f2265, 0x0009400b, 0x025f8658, 0x03bb04ac, 0x003f9468}}, Y: Field{[10]uint32{0x01116a58, 0x03f55a32, 0x00bd6ec5, 0x013c020f, 0x03d30625, 0x027c2c60, 0x02b8aaf5, 0x0279103c, 0x00e0a4c3, 0x00215a3f}}}, + {X: Field{[10]uint32{0x02b7dee3, 0x024519be, 0x0158d7b5, 0x0263911d, 0x00391df7, 0x03aca908, 0x00d5d38a, 0x03fb6f16, 0x02299fcc, 0x001a8f91}}, Y: Field{[10]uint32{0x02a5e548, 0x00fba6c8, 0x01a91aec, 0x02e78c58, 0x0289873e, 0x02ac7679, 0x02e7b5a3, 0x01767750, 0x03ba7bb1, 0x0006fb63}}}, + {X: Field{[10]uint32{0x03450c37, 0x01fff225, 0x012ee745, 0x0134e492, 0x0233db30, 0x0385af4c, 0x0162d970, 0x03537bdf, 0x00b83c40, 0x002b7f6f}}, Y: Field{[10]uint32{0x00138e0e, 0x0216e1fd, 0x001956be, 0x0064b873, 0x038fde78, 0x0055ab08, 0x00b588c4, 0x0127b0aa, 0x03dc1635, 0x001ec20a}}}, + {X: Field{[10]uint32{0x0113bf61, 0x030f7540, 0x02cb9f06, 0x0371bb31, 0x01509ed7, 0x00b45c04, 0x0254c270, 0x00b1520d, 0x03cc9c20, 0x0025a143}}, Y: Field{[10]uint32{0x0281aaf7, 0x022e2c34, 0x03b6c008, 0x01568070, 0x01b9fcc4, 0x01fb062d, 0x00c05dac, 0x01b126bc, 0x00327f96, 0x00041011}}}, + {X: Field{[10]uint32{0x00458bbe, 0x01026d57, 0x03ac4f09, 0x005059bc, 0x031703f5, 0x0010de69, 0x00151ca8, 0x03285362, 0x01978f78, 0x000ab884}}, Y: Field{[10]uint32{0x01ecf7b1, 0x03277106, 0x012c86cb, 0x009fe80c, 0x022328e3, 0x021e5873, 0x01c7dde3, 0x00d7f514, 0x00d95760, 0x001379d3}}}, + {X: Field{[10]uint32{0x02987e57, 0x03ab1846, 0x006cfb79, 0x038f149d, 0x027e5816, 0x0358b109, 0x021a332c, 0x03265899, 0x0342e1b5, 0x003b7061}}, Y: Field{[10]uint32{0x01b4fe5e, 0x00868d01, 0x01bc02c0, 0x00c8c0c4, 0x0129ba90, 0x02eaf95e, 0x01d484fe, 0x0026fcfe, 0x033fc633, 0x0020000e}}}, + {X: Field{[10]uint32{0x0243a244, 0x0299033f, 0x025aa1d6, 0x012610dd, 0x0038b35d, 0x022e50da, 0x0290885c, 0x03c2b8a6, 0x022a5fa0, 0x001e00aa}}, Y: Field{[10]uint32{0x0192a803, 0x03dc59e4, 0x025dd7f5, 0x004616ea, 0x037e3dda, 0x005b126e, 0x03297e04, 0x00e6a101, 0x029fe632, 0x00031fcc}}}, + {X: Field{[10]uint32{0x012335cf, 0x01efdfe6, 0x02386bf6, 0x03a0d79c, 0x02c2173d, 0x038ff16a, 0x02ede712, 0x011d6b0d, 0x0179b124, 0x003eddd1}}, Y: Field{[10]uint32{0x03a82c94, 0x032f3011, 0x02c01cdf, 0x029add8e, 0x01b6f413, 0x006a3590, 0x03ebf0e3, 0x01edeb90, 0x035163c1, 0x0030399a}}}, + {X: Field{[10]uint32{0x00bc2852, 0x03886cff, 0x02982051, 0x00928c6d, 0x00695a9c, 0x03a70480, 0x0394881f, 0x02ba78cb, 0x018a43ab, 0x0036068f}}, Y: Field{[10]uint32{0x0112673f, 0x03dafcb7, 0x00dbf2cc, 0x028f2419, 0x01a693e3, 0x002a636d, 0x0351de7e, 0x032db5ef, 0x0011e8a8, 0x0018c376}}}, + {X: Field{[10]uint32{0x03324cf0, 0x01ddadf1, 0x0249f9bf, 0x02812f94, 0x027cb2ed, 0x0089a336, 0x00da0c7e, 0x001a2e01, 0x03d497cf, 0x001467f3}}, Y: Field{[10]uint32{0x0162fdb9, 0x039bff25, 0x0391dc20, 0x03b0ef28, 0x03a357c8, 0x03912ae7, 0x02916466, 0x02cfaef9, 0x00cd198a, 0x002fb1bd}}}, + {X: Field{[10]uint32{0x028ef592, 0x024a5be1, 0x0044124f, 0x021389dc, 0x023e31b2, 0x003e6c70, 0x0193853e, 0x0181cd78, 0x03e48fd6, 0x003312b4}}, Y: Field{[10]uint32{0x0383c27b, 0x0098eb75, 0x02f68996, 0x007b6c96, 0x019b1215, 0x01ec0f1d, 0x01520ac6, 0x0311d1f5, 0x018d8583, 0x00222bc5}}}, + {X: Field{[10]uint32{0x00d24117, 0x00240d1e, 0x01e338f7, 0x02852e17, 0x02c06a57, 0x0137b5ba, 0x0340cf96, 0x021a9662, 0x00ae6f51, 0x002b7654}}, Y: Field{[10]uint32{0x03affa7d, 0x01effd28, 0x0165bc04, 0x03f1c013, 0x00111f6d, 0x002fb1d1, 0x03d6853a, 0x00a1737a, 0x00bd2d69, 0x00316729}}}, + {X: Field{[10]uint32{0x02b383e4, 0x030fdb6e, 0x027ddd0b, 0x0319f124, 0x03ef0437, 0x032cd62b, 0x03c81730, 0x01f79c4a, 0x03454309, 0x003701c6}}, Y: Field{[10]uint32{0x015ca8ed, 0x0042d03a, 0x0385f9e4, 0x0283ec46, 0x03f28fca, 0x0061f7ef, 0x03b2adfc, 0x00c1305c, 0x02a9899b, 0x001e4e44}}}, + {X: Field{[10]uint32{0x02c167c7, 0x01e6c6ab, 0x03abe94d, 0x01c91fda, 0x02fd97a6, 0x025ade9c, 0x0037da4a, 0x002676a7, 0x037e6db6, 0x0017738c}}, Y: Field{[10]uint32{0x024377f6, 0x0276f593, 0x021d5754, 0x015993ac, 0x00eb35bf, 0x005ae8a8, 0x0082991f, 0x02290ed9, 0x03ba1f09, 0x0006e21f}}}, + {X: Field{[10]uint32{0x01f5cfcb, 0x02133e78, 0x009e5ba2, 0x03d0f984, 0x02900a83, 0x03a02260, 0x022ead80, 0x029989b4, 0x02ad8493, 0x00145bad}}, Y: Field{[10]uint32{0x00e05042, 0x00c3fbfb, 0x03e3c68d, 0x0046ecdb, 0x03ef6a85, 0x0074fe51, 0x018308c6, 0x02d1bd23, 0x02b38085, 0x00328d42}}}, + {X: Field{[10]uint32{0x000e5e75, 0x03c71f3c, 0x020a335a, 0x02e02321, 0x03732b3f, 0x03a45f21, 0x03912114, 0x00b68796, 0x01503b1f, 0x003dd9f0}}, Y: Field{[10]uint32{0x01aaab54, 0x02d1cf68, 0x0165795b, 0x003854f3, 0x0109ec61, 0x015776ad, 0x00f64a26, 0x0119ee22, 0x00c8cdbe, 0x000fb3be}}}, + {X: Field{[10]uint32{0x03c977f0, 0x00eb099c, 0x01e7531f, 0x00b0b319, 0x02418558, 0x005df79e, 0x03bc5d8f, 0x00b2329e, 0x03cf0f79, 0x003e6efa}}, Y: Field{[10]uint32{0x01614a85, 0x026595d2, 0x02f52b8c, 0x02aab3b2, 0x03ac751e, 0x02867957, 0x02f767b8, 0x00e89895, 0x00fefecb, 0x000a42ad}}}, + {X: Field{[10]uint32{0x0147c45f, 0x01dff3d3, 0x00e8eaf4, 0x02f326c2, 0x016ec3ad, 0x0048f7d8, 0x01bff42c, 0x0236c7d5, 0x01febe5c, 0x0031aff8}}, Y: Field{[10]uint32{0x0241792f, 0x02b55b35, 0x02995c79, 0x0004d1fa, 0x0041c271, 0x0159e624, 0x032eddc9, 0x028bff60, 0x0082d6d6, 0x0031657e}}}, + {X: Field{[10]uint32{0x00d3ce1e, 0x020a7978, 0x02425761, 0x00862e1c, 0x03c55595, 0x005c2ed1, 0x01cfe6e5, 0x02d321c7, 0x0371808f, 0x0015b0b5}}, Y: Field{[10]uint32{0x000468ba, 0x003f27d5, 0x0229f5ee, 0x02bdc58d, 0x0112ec15, 0x039c8718, 0x00a91889, 0x03989bf7, 0x02e69e03, 0x001b79ca}}}, + {X: Field{[10]uint32{0x0109d663, 0x028d99d4, 0x00fb5066, 0x03fbf181, 0x02da9ecf, 0x03033df4, 0x0296d8c3, 0x016f961e, 0x0305ec9f, 0x00080862}}, Y: Field{[10]uint32{0x038f6993, 0x00a0eefb, 0x02e12e79, 0x00ea22d0, 0x02b41bfa, 0x029cc86b, 0x02ea0aa7, 0x01f8907c, 0x03c2c535, 0x000bb069}}}, + {X: Field{[10]uint32{0x036be4ee, 0x03f2bfe5, 0x00f09e2a, 0x03d2ece9, 0x03519035, 0x01252bfc, 0x03db4f33, 0x0333656f, 0x02690a04, 0x000e8224}}, Y: Field{[10]uint32{0x0042d1a2, 0x006b615a, 0x02757ed9, 0x00899036, 0x020bbeba, 0x00d012cc, 0x0293757b, 0x0287fa45, 0x0225fb0b, 0x00395a03}}}, + {X: Field{[10]uint32{0x005b3f07, 0x01948ebd, 0x01a2e285, 0x0006ca5d, 0x02dfd3e1, 0x02618125, 0x00fd0f25, 0x022d4f6c, 0x0296a0cd, 0x0023e7c8}}, Y: Field{[10]uint32{0x01c625b5, 0x02d5c8ad, 0x01920a3f, 0x00295de1, 0x038ab3be, 0x018a435d, 0x029015cd, 0x037cc6c8, 0x01072cac, 0x00187056}}}, + {X: Field{[10]uint32{0x0288070e, 0x03d1d33f, 0x0106c836, 0x024347a8, 0x00097e2b, 0x0352d8ca, 0x01599b26, 0x036a5f34, 0x03e8695b, 0x00219602}}, Y: Field{[10]uint32{0x017d7d21, 0x03146aec, 0x00ac6166, 0x02a276e9, 0x022bb220, 0x001f71fb, 0x022fe5fd, 0x02b160e2, 0x00a17e19, 0x002aeb9a}}}, + {X: Field{[10]uint32{0x02b4d762, 0x00b74a5c, 0x03d048c7, 0x0163ec61, 0x01eb1f94, 0x015ea879, 0x005b4f0e, 0x035627b3, 0x038a1e69, 0x003edab0}}, Y: Field{[10]uint32{0x02ac32c1, 0x0004c061, 0x000147fb, 0x01bc2e58, 0x03e5d180, 0x02e0ad72, 0x031d3af2, 0x01c7cc5b, 0x0116bec2, 0x00358077}}}, + {X: Field{[10]uint32{0x02a5f0b0, 0x02e36f9f, 0x027b4242, 0x00c6d9b8, 0x02c5bb7d, 0x00aec273, 0x03aec947, 0x03aa06fc, 0x006bc54f, 0x001f0418}}, Y: Field{[10]uint32{0x01f68f54, 0x035df6ef, 0x010abd14, 0x00a8f809, 0x0202ea52, 0x0102d116, 0x01839872, 0x01590dd9, 0x0180d3d6, 0x00048854}}}, + {X: Field{[10]uint32{0x0152a1a6, 0x00ac05cb, 0x02495204, 0x0398ee11, 0x02740a5b, 0x0367ce12, 0x007822b1, 0x024ef1d3, 0x03948335, 0x002179aa}}, Y: Field{[10]uint32{0x01fae93a, 0x0397af80, 0x030f981f, 0x033371d7, 0x02d6e69f, 0x0334a38f, 0x02512138, 0x03e1aa3d, 0x00d068d6, 0x003d7058}}}, + {X: Field{[10]uint32{0x0351cfe5, 0x0044eb7f, 0x00a27f02, 0x03b2e203, 0x005e626a, 0x0151c7d4, 0x0374ea0e, 0x006e8146, 0x013a99cd, 0x001f878b}}, Y: Field{[10]uint32{0x01ad89bc, 0x012c0267, 0x0299781f, 0x033b0018, 0x02c1eb96, 0x00dbc6b7, 0x02322291, 0x03f8de30, 0x002ee9d4, 0x00104fb2}}}, + {X: Field{[10]uint32{0x007aaacd, 0x03af407a, 0x02bd2928, 0x02b1ca70, 0x016a9490, 0x024c7187, 0x03a08dd6, 0x00d7cbb5, 0x00ad8137, 0x00162590}}, Y: Field{[10]uint32{0x00485429, 0x0009c648, 0x02e15c1a, 0x026f8d0f, 0x017a1e90, 0x025b1335, 0x039fc330, 0x03ed2cd9, 0x010b8a89, 0x002275ac}}}, + {X: Field{[10]uint32{0x026e6608, 0x02b41017, 0x00c5d7b7, 0x03511046, 0x0191fdd7, 0x01d07067, 0x00db0ef3, 0x0173a3f7, 0x034ff346, 0x001c2033}}, Y: Field{[10]uint32{0x022441fe, 0x02b627e3, 0x03d347df, 0x0274d050, 0x00303348, 0x02036c76, 0x006d334f, 0x002e82d7, 0x01a95cbc, 0x001e8fc3}}}, + {X: Field{[10]uint32{0x02917c55, 0x026a1d89, 0x0261c7d5, 0x000d954f, 0x01091deb, 0x01dcdf0c, 0x0196bd4d, 0x0009a4b7, 0x034c2d40, 0x002ed982}}, Y: Field{[10]uint32{0x00983c24, 0x028fd030, 0x002faf5e, 0x00446370, 0x03f150af, 0x017a2e1b, 0x00684031, 0x00125c18, 0x0113a756, 0x002d252b}}}, + {X: Field{[10]uint32{0x03221b27, 0x03141b67, 0x02e0c1e2, 0x02c23376, 0x013f4f4f, 0x03629719, 0x008161c5, 0x0056c910, 0x01ec7ebf, 0x001ce890}}, Y: Field{[10]uint32{0x0063640a, 0x02f05d75, 0x0332b5e1, 0x024a8bdb, 0x0364bbe1, 0x03520363, 0x00865041, 0x0295bde1, 0x03b433a0, 0x002014d2}}}, + {X: Field{[10]uint32{0x00b1fe07, 0x0056aa9e, 0x03a6f89a, 0x000b0f5e, 0x039e45f2, 0x028ad62f, 0x005741e6, 0x03f6f1dc, 0x0351f08b, 0x003f707b}}, Y: Field{[10]uint32{0x016c0586, 0x039683a6, 0x00e36880, 0x0051d57d, 0x001684f7, 0x0160c950, 0x03ac05b5, 0x0121e191, 0x00dcdc1e, 0x001fa740}}}, + {X: Field{[10]uint32{0x033618af, 0x01ccf4e8, 0x007bc6d6, 0x00ea449a, 0x03a15ab1, 0x02838cf7, 0x0344736e, 0x017304ea, 0x02cba0ce, 0x00081210}}, Y: Field{[10]uint32{0x016bd521, 0x03e4ab32, 0x03a35896, 0x03708516, 0x029e1804, 0x0062a53c, 0x01187418, 0x02472feb, 0x0205a6e9, 0x002bf248}}}, + {X: Field{[10]uint32{0x017ed768, 0x02f2d805, 0x0193e0b2, 0x02660eeb, 0x01a47c4a, 0x00121a1a, 0x00095675, 0x00c54604, 0x001ef82c, 0x00280ea7}}, Y: Field{[10]uint32{0x02090a65, 0x033c67fd, 0x0263ca26, 0x028b7361, 0x0302158b, 0x02690ee2, 0x033e5eed, 0x01a603bb, 0x0164fb9c, 0x001e1be4}}}, + {X: Field{[10]uint32{0x03c00ed2, 0x026c56f6, 0x025baee1, 0x010b1515, 0x01fa18bd, 0x036a04f3, 0x015e3ff7, 0x005e118d, 0x025f6cb4, 0x00178edb}}, Y: Field{[10]uint32{0x02ee603f, 0x0000db10, 0x02cfde34, 0x022b1722, 0x019d6f35, 0x0234f936, 0x03b8f9f8, 0x008a13f0, 0x015342bf, 0x002e70e9}}}, + {X: Field{[10]uint32{0x005dbc70, 0x010e1728, 0x0254b015, 0x01d840a6, 0x00abf764, 0x03ec9d1b, 0x03dfbd6e, 0x004a0198, 0x020e082d, 0x00066c25}}, Y: Field{[10]uint32{0x01504773, 0x01993d39, 0x02f312d2, 0x03b64845, 0x0133df5d, 0x00d74107, 0x03356451, 0x004aa517, 0x03bc4401, 0x003e2ca2}}}, + {X: Field{[10]uint32{0x03f3677e, 0x01d98e37, 0x00d05098, 0x0076dafa, 0x006f1c2d, 0x028688b3, 0x039b274b, 0x02ebf9d2, 0x01007597, 0x0004187a}}, Y: Field{[10]uint32{0x01444b21, 0x0171e048, 0x00fa9815, 0x03c533d3, 0x01fe2fff, 0x03894629, 0x017b59eb, 0x024bb113, 0x0122dec5, 0x001c1eb2}}}, + {X: Field{[10]uint32{0x03030b85, 0x01c73c7c, 0x01f5709a, 0x0078ec55, 0x01cc0e22, 0x02683940, 0x039b5676, 0x01f61d50, 0x001160fc, 0x00324613}}, Y: Field{[10]uint32{0x00327805, 0x00fa608a, 0x02e308c4, 0x02527ec7, 0x018e83e5, 0x017c8e26, 0x01d30f87, 0x01a27f5b, 0x01e37c04, 0x002202da}}}, + {X: Field{[10]uint32{0x0374cf04, 0x01567fd0, 0x02f12d37, 0x0190988a, 0x01c8fa23, 0x01b09ae9, 0x005af94e, 0x014b363f, 0x03044dec, 0x0028d7ec}}, Y: Field{[10]uint32{0x012242fd, 0x035d5704, 0x0284042d, 0x01c614c9, 0x038b3604, 0x00d08b73, 0x03adcb9a, 0x00d612b1, 0x0375692a, 0x0005513c}}}, + {X: Field{[10]uint32{0x010929ca, 0x0012f46e, 0x00a8c1b2, 0x0069e000, 0x021b2c50, 0x02c4c3da, 0x00efbe8e, 0x03afa046, 0x03ad60ff, 0x002ea300}}, Y: Field{[10]uint32{0x03aaafbe, 0x00da71b8, 0x03722f11, 0x011eb84d, 0x0365b88d, 0x03de002a, 0x03732112, 0x010783eb, 0x0329a3f3, 0x003a57bd}}}, + {X: Field{[10]uint32{0x0330ddb9, 0x0346d4a3, 0x03ba3361, 0x017d7992, 0x02fe0849, 0x01268042, 0x03ba189f, 0x0229de5f, 0x0355842d, 0x0034ae95}}, Y: Field{[10]uint32{0x03df7957, 0x00c2fe94, 0x03d477c0, 0x00b0e42d, 0x000549e7, 0x00e95758, 0x00bc5f0c, 0x005e7de1, 0x01b10cad, 0x00368d9a}}}, + {X: Field{[10]uint32{0x008703f2, 0x036e6b9b, 0x0194a086, 0x01e552b2, 0x00d3de15, 0x020332c9, 0x031d2b28, 0x0222c9de, 0x03587ec9, 0x000f813a}}, Y: Field{[10]uint32{0x0328dd9c, 0x0336d3f9, 0x0207bb98, 0x02273170, 0x00ff3c60, 0x037e5bef, 0x031d6503, 0x021767ba, 0x0113e6dc, 0x003e9048}}}, + {X: Field{[10]uint32{0x019fe7f6, 0x0368f09a, 0x01ca17a0, 0x008177e4, 0x0260c9f1, 0x007d19b5, 0x019aefa9, 0x029274f8, 0x03424339, 0x003bf96e}}, Y: Field{[10]uint32{0x005156e9, 0x00fa74c9, 0x0008ff9e, 0x0029f2d1, 0x01e3576b, 0x01f3e7f1, 0x0221db29, 0x01903f3a, 0x012ffb39, 0x00263188}}}, + {X: Field{[10]uint32{0x02a0908b, 0x0359a92e, 0x008a302b, 0x00b6605b, 0x03bca2dc, 0x031383a9, 0x03e65915, 0x00cdb7bb, 0x02e5a330, 0x0028a510}}, Y: Field{[10]uint32{0x02a135e6, 0x0109ea77, 0x023112db, 0x02251199, 0x02dc5e77, 0x029bee79, 0x0374c130, 0x0391f0ed, 0x00297320, 0x00286fe2}}}, + {X: Field{[10]uint32{0x008bb792, 0x022aa23c, 0x013714da, 0x03fe0063, 0x0148e877, 0x0324862c, 0x01f632d1, 0x0097daa4, 0x00ba6f72, 0x001152f3}}, Y: Field{[10]uint32{0x01ec713c, 0x02562dd1, 0x00e3e918, 0x00f681f8, 0x01815775, 0x000ba837, 0x021106b2, 0x00ac0582, 0x01312d53, 0x0036837b}}}, + {X: Field{[10]uint32{0x00c2dca9, 0x0160d337, 0x01fced42, 0x020ba503, 0x00565737, 0x00941501, 0x00631afa, 0x02559b2c, 0x014032c3, 0x0000c58e}}, Y: Field{[10]uint32{0x03cc5fc7, 0x016a36f3, 0x004dd844, 0x017e9555, 0x0267f089, 0x03d359a2, 0x037464c6, 0x02c34691, 0x01c41b15, 0x00063158}}}, + {X: Field{[10]uint32{0x01b07703, 0x03f22112, 0x00a92bc4, 0x00e8ef38, 0x01524089, 0x03f1c4cb, 0x015fcedf, 0x01efc83c, 0x035f53f0, 0x00152d4d}}, Y: Field{[10]uint32{0x01abdee7, 0x0058fb98, 0x026a7b3f, 0x031b59c8, 0x00f5df11, 0x028ba886, 0x02922bdf, 0x01094794, 0x033f0a94, 0x000c6f8a}}}, + {X: Field{[10]uint32{0x0058b3bd, 0x02dfb980, 0x003280d2, 0x03118e7a, 0x00de9033, 0x025368f3, 0x03b9b6a6, 0x03419caf, 0x031b0745, 0x000a0f38}}, Y: Field{[10]uint32{0x00c0245a, 0x00801136, 0x0338ff9d, 0x02a99eaa, 0x010dc1c7, 0x03a074b2, 0x01c24e76, 0x02ed5b8f, 0x00a4d452, 0x003daa52}}}, + {X: Field{[10]uint32{0x00e99967, 0x0059fc84, 0x033e3a60, 0x00c5892e, 0x0148d5f8, 0x0012515e, 0x012419cb, 0x029d51ec, 0x0353117b, 0x002d79d3}}, Y: Field{[10]uint32{0x018dd3e6, 0x0120a01c, 0x01b5e10d, 0x007d33f6, 0x003da833, 0x03ce0c02, 0x03c22e89, 0x03e6aaa0, 0x0354d635, 0x0017d8d5}}}, + {X: Field{[10]uint32{0x03f83080, 0x0159c4f2, 0x031340a8, 0x012c7349, 0x03d587c3, 0x0335476b, 0x00dc776f, 0x00c60c5c, 0x0332cfa3, 0x001a0797}}, Y: Field{[10]uint32{0x0279266a, 0x0106951c, 0x010e38f2, 0x03bfef8e, 0x0276f646, 0x01ff3cc2, 0x00361d9b, 0x039375ed, 0x00b8d144, 0x003161f6}}}, + {X: Field{[10]uint32{0x029f1d0c, 0x01697f40, 0x00621b92, 0x00857fe3, 0x012f28b2, 0x00177d5b, 0x021ec17d, 0x00a27c94, 0x02b7722f, 0x0007ee97}}, Y: Field{[10]uint32{0x0311f5ba, 0x0372fa7a, 0x037d1524, 0x018d6cae, 0x0234283b, 0x032b2d9a, 0x03f287ef, 0x03f537e9, 0x00d997ec, 0x0037c450}}}, + {X: Field{[10]uint32{0x020d0a77, 0x004c029a, 0x00f2031e, 0x01933095, 0x0217855b, 0x00cfc6f3, 0x038fc5a7, 0x022cf3b4, 0x00b0df37, 0x000e2ffd}}, Y: Field{[10]uint32{0x0206b1be, 0x03728719, 0x03dc2520, 0x01979cef, 0x01f35a50, 0x0094dd1d, 0x00485ee3, 0x00a5b993, 0x025df634, 0x001b53c1}}}, + {X: Field{[10]uint32{0x017de831, 0x023dd3b9, 0x015ed6e0, 0x0281df32, 0x03779df8, 0x01ed5e63, 0x00050d52, 0x00992ef9, 0x03c359a9, 0x001c1c04}}, Y: Field{[10]uint32{0x014ea422, 0x032455c0, 0x00c3fda9, 0x029d8cb9, 0x02582313, 0x00f3662b, 0x03b8dcc5, 0x021b0195, 0x01a03153, 0x002e7cde}}}, + {X: Field{[10]uint32{0x01642ef5, 0x028fd8d1, 0x0135a73d, 0x02467799, 0x03fc5b8c, 0x0082416a, 0x010abbb3, 0x00921392, 0x012f7028, 0x002b653b}}, Y: Field{[10]uint32{0x02c88457, 0x01c0b0aa, 0x02bd6cb8, 0x01cdb409, 0x020fdf49, 0x01951485, 0x00011fec, 0x0387cfa6, 0x0013a554, 0x00276fa2}}}, + {X: Field{[10]uint32{0x0362612e, 0x0115613f, 0x001f54f5, 0x021d62e2, 0x00fd174f, 0x0110de17, 0x01ad1552, 0x021da926, 0x01e4e991, 0x0011ed5b}}, Y: Field{[10]uint32{0x00efdced, 0x0356695f, 0x012d986b, 0x03483524, 0x03383d92, 0x03dd4ddd, 0x016117a5, 0x02faddf1, 0x01375855, 0x00028501}}}, + {X: Field{[10]uint32{0x01f431e8, 0x03ded205, 0x036af03c, 0x013433cc, 0x03f31f62, 0x0047ca04, 0x024643af, 0x029a4c7c, 0x024e9291, 0x00146f39}}, Y: Field{[10]uint32{0x0107e552, 0x00eaaebb, 0x02e13a06, 0x01a435d6, 0x03f40c4c, 0x00480e53, 0x0235d284, 0x00891c3b, 0x03d9a301, 0x00023dd0}}}, + {X: Field{[10]uint32{0x03f7a43f, 0x02e550b9, 0x03447a0c, 0x03b80ef1, 0x0083b80b, 0x026d3af8, 0x018e56b4, 0x01683f3a, 0x00feb52c, 0x001d8a1f}}, Y: Field{[10]uint32{0x02a7a7bc, 0x00cfadb8, 0x007ff13e, 0x026f7161, 0x03e9e339, 0x003662c1, 0x01d064a5, 0x0112ef4e, 0x0256fa57, 0x001cdadf}}}, + {X: Field{[10]uint32{0x036b8f5e, 0x02b37037, 0x0155b181, 0x0333c713, 0x028dc29b, 0x006dddc6, 0x011aaa2c, 0x000430c6, 0x039ead01, 0x0018535c}}, Y: Field{[10]uint32{0x002f8085, 0x036d9b43, 0x031664f4, 0x036eabc1, 0x025591ef, 0x00001193, 0x0296c2c5, 0x01eddb22, 0x028fe860, 0x00173353}}}, + {X: Field{[10]uint32{0x024e1bc9, 0x00b4ce97, 0x0380803e, 0x02262598, 0x0035cd58, 0x00354fb4, 0x039404d9, 0x00d7cacc, 0x00c8ee8c, 0x0030e111}}, Y: Field{[10]uint32{0x00cd29f2, 0x02febd9b, 0x03f441f4, 0x02685ae4, 0x031d2ffc, 0x021fea6a, 0x02221092, 0x014baf70, 0x00cdde54, 0x0022d102}}}, + {X: Field{[10]uint32{0x01c8f349, 0x0077dea6, 0x02539239, 0x025cb6ed, 0x0256a1c1, 0x014aff79, 0x019bf028, 0x01bcd760, 0x0249c601, 0x0022a725}}, Y: Field{[10]uint32{0x0369a8ed, 0x03a5d2b5, 0x001afdc6, 0x0168ce46, 0x031797aa, 0x0132d402, 0x00a6030a, 0x0067e9b1, 0x0157be2c, 0x002cb736}}}, + {X: Field{[10]uint32{0x02a04b03, 0x02ccc46f, 0x026bced6, 0x02d0745d, 0x0196292a, 0x0334a35d, 0x010ea0a6, 0x025c2497, 0x011be444, 0x00283d73}}, Y: Field{[10]uint32{0x027ff95b, 0x03e56524, 0x034b868a, 0x00681c73, 0x00c8d793, 0x03912738, 0x0045d923, 0x00a6c338, 0x01e9291b, 0x00349c2c}}}, + {X: Field{[10]uint32{0x033a9614, 0x03530447, 0x03a64709, 0x0372a550, 0x0025c64d, 0x00a38964, 0x03bdbaf0, 0x01661deb, 0x03368767, 0x0029e3c8}}, Y: Field{[10]uint32{0x02a6de83, 0x007c108c, 0x01e7ee24, 0x02690e7d, 0x01de34aa, 0x007d4346, 0x0245b3ab, 0x0116fb94, 0x02c9a5d2, 0x0004d97e}}}, + {X: Field{[10]uint32{0x03391769, 0x03f0f902, 0x03b514a9, 0x00c27b8f, 0x03af6cae, 0x0104e91a, 0x03aa6f5a, 0x00b16e4a, 0x03e3ae48, 0x000eff4d}}, Y: Field{[10]uint32{0x016d1c59, 0x01553c0e, 0x03d66bdc, 0x0019371f, 0x03d0219c, 0x01de3273, 0x02424a07, 0x02c3719b, 0x001834bb, 0x000b64c2}}}, + {X: Field{[10]uint32{0x013881a2, 0x00735c74, 0x00e5d1b4, 0x00f580bb, 0x02d426f2, 0x039e5b4a, 0x036ea757, 0x00748f9d, 0x009a0026, 0x0024b2b1}}, Y: Field{[10]uint32{0x031521c1, 0x02124b95, 0x035dac0d, 0x032061e8, 0x00c7a43a, 0x02303176, 0x023e587a, 0x00df2266, 0x00138e0f, 0x00231dbb}}}, + {X: Field{[10]uint32{0x0356842a, 0x01008502, 0x01d6b829, 0x0379ea5b, 0x03718944, 0x0124d59e, 0x03708941, 0x03719f30, 0x01e00ea7, 0x00033dbb}}, Y: Field{[10]uint32{0x00627cb7, 0x03a343d5, 0x0042ca76, 0x0343d646, 0x020fa070, 0x00f72314, 0x016128a5, 0x01822deb, 0x03d4e939, 0x0038adc5}}}, + {X: Field{[10]uint32{0x0291e17a, 0x006fe0be, 0x0035e3dd, 0x00b44781, 0x00968c8c, 0x02c1b886, 0x02cb92bb, 0x00a5149b, 0x0198ba51, 0x00188132}}, Y: Field{[10]uint32{0x00cd0ea4, 0x0362b765, 0x03939d12, 0x031e6981, 0x03d1ed18, 0x002bca8f, 0x03ae21ef, 0x01972723, 0x015fe783, 0x0005a428}}}, + {X: Field{[10]uint32{0x00c0aa5d, 0x006bff79, 0x03f12ef7, 0x001fc88d, 0x02d8ce07, 0x01ab0b85, 0x0268d13a, 0x000384d4, 0x0348cc55, 0x0028b13e}}, Y: Field{[10]uint32{0x000cd839, 0x03cb5c0f, 0x039509e5, 0x01ea3566, 0x03c403f5, 0x016048ea, 0x03e3906c, 0x03225f2d, 0x000ee608, 0x000e0251}}}, + {X: Field{[10]uint32{0x03656f60, 0x01e1cf7a, 0x024f2b66, 0x03135cc8, 0x016acc8e, 0x00ecb8c2, 0x01a36a6d, 0x00f92f17, 0x03a1cc30, 0x00362bdf}}, Y: Field{[10]uint32{0x00c6de0d, 0x0333fffc, 0x02e5ddd4, 0x006e7b7a, 0x015e14d8, 0x00116c4d, 0x03b39f97, 0x00cf1437, 0x02bd5a55, 0x0027f1fc}}}, + {X: Field{[10]uint32{0x02dea0e7, 0x035dd75d, 0x0390a864, 0x00fb476b, 0x01377073, 0x0014c12f, 0x00e6bbdb, 0x00a46981, 0x00adb873, 0x000fa680}}, Y: Field{[10]uint32{0x0101ded0, 0x023bad02, 0x0063051f, 0x026cc86d, 0x0320a5cb, 0x0066a35d, 0x0124e37f, 0x0313bd4d, 0x0057f6d1, 0x0037ad25}}}, + {X: Field{[10]uint32{0x03dc3d7f, 0x03943974, 0x0136809d, 0x0357a862, 0x01760ca8, 0x0306cab2, 0x014346aa, 0x01883261, 0x02e930aa, 0x0002fbd6}}, Y: Field{[10]uint32{0x00dfc48f, 0x037eb592, 0x03034c0f, 0x028ff8dc, 0x0105da98, 0x03501079, 0x0212b9c7, 0x017d66c0, 0x0042f792, 0x00083603}}}, + {X: Field{[10]uint32{0x0155f67f, 0x00ad2424, 0x0035d592, 0x011e2229, 0x0238215e, 0x03ce5916, 0x01743088, 0x03541db0, 0x01fbcd28, 0x0033505a}}, Y: Field{[10]uint32{0x01e74674, 0x030bc98d, 0x025b929d, 0x03192d6a, 0x00a170da, 0x015b06da, 0x025f2743, 0x01937569, 0x00a21a55, 0x003e798b}}}, + {X: Field{[10]uint32{0x015a4c28, 0x02d810bb, 0x0121d538, 0x004533ce, 0x014bd37b, 0x025f5db3, 0x01a25047, 0x009893f7, 0x01ed34cd, 0x00292da4}}, Y: Field{[10]uint32{0x026af55d, 0x01b08174, 0x02d12c33, 0x01ddcb1c, 0x025c045a, 0x00f8ce5f, 0x030ca545, 0x02d30456, 0x00b16781, 0x003194dd}}}, + {X: Field{[10]uint32{0x00aa4818, 0x01576f62, 0x0047dc9e, 0x0056fe7a, 0x03c2b3a6, 0x02a14303, 0x03cf68fa, 0x02de2065, 0x016a4226, 0x001793a4}}, Y: Field{[10]uint32{0x0398951e, 0x02128c6d, 0x032808d9, 0x0014fac9, 0x03f3395d, 0x0193d2cb, 0x01991f44, 0x014b9972, 0x02a25c7c, 0x000fcf0f}}}, + {X: Field{[10]uint32{0x03a74a7c, 0x011d357a, 0x0105ca5f, 0x02e88653, 0x01f743e6, 0x00293180, 0x011b3ad5, 0x027dcb25, 0x02cff4d6, 0x003751e0}}, Y: Field{[10]uint32{0x00977b99, 0x0304b208, 0x0281d6c7, 0x0247536c, 0x0205d3a7, 0x018a3630, 0x03dd6ae8, 0x03bdf178, 0x035e9854, 0x0025e9ee}}}, + {X: Field{[10]uint32{0x01adce36, 0x02026470, 0x02f0bcc0, 0x01044f92, 0x00281aff, 0x019a701f, 0x03945432, 0x0017b376, 0x02d54ab4, 0x002854c2}}, Y: Field{[10]uint32{0x0263e756, 0x01125612, 0x0168a774, 0x02dbf6ee, 0x01b18550, 0x038aa96c, 0x01dda781, 0x0210b977, 0x02212732, 0x003cf494}}}, + {X: Field{[10]uint32{0x0264719e, 0x035db2a7, 0x013234a2, 0x00cab639, 0x03e5ee0d, 0x00cabd92, 0x014523f2, 0x0393c018, 0x02f7b438, 0x00146493}}, Y: Field{[10]uint32{0x028a8095, 0x01631dc4, 0x00176268, 0x01563ab6, 0x03fdfe6e, 0x02d912fe, 0x036e82b8, 0x0136d59c, 0x01a811f9, 0x0021f045}}}, + {X: Field{[10]uint32{0x03fada6e, 0x03555a14, 0x03563a3b, 0x01701ae5, 0x016ac905, 0x03882a75, 0x03625d4b, 0x0361d041, 0x0268e137, 0x0020b3fb}}, Y: Field{[10]uint32{0x00733b7a, 0x019e61cc, 0x01cc06ff, 0x01e140a9, 0x02a363e9, 0x037b9e9c, 0x02804d76, 0x031471ca, 0x0246c4f5, 0x0037526a}}}, + {X: Field{[10]uint32{0x032e623a, 0x03f5f957, 0x03f30a4e, 0x03f4b30e, 0x02e02b70, 0x00db1f69, 0x021346b0, 0x03bd1016, 0x0076f7f1, 0x0028dce2}}, Y: Field{[10]uint32{0x0204a21a, 0x0365847a, 0x02edf368, 0x00d9606c, 0x02b1204d, 0x01200cc6, 0x00de46e5, 0x014acaf8, 0x012be1ea, 0x001965bd}}}, + {X: Field{[10]uint32{0x0180bcbc, 0x000d960a, 0x01d7dd82, 0x02cc62c3, 0x028d8382, 0x00b33c92, 0x0224fd6b, 0x00635cad, 0x02f7aec8, 0x002b9329}}, Y: Field{[10]uint32{0x018f1ae2, 0x02325eb7, 0x015e9237, 0x02586aa6, 0x03348155, 0x015322ee, 0x02a29f25, 0x01f15c78, 0x020335ad, 0x001a9eb6}}}, + {X: Field{[10]uint32{0x01d12732, 0x03df7ea2, 0x006b1400, 0x0250b614, 0x004d6ac8, 0x03732e72, 0x018d1984, 0x01d8be6c, 0x022bfa9d, 0x002f8cd5}}, Y: Field{[10]uint32{0x0075d442, 0x034b9ba5, 0x008fe473, 0x015a40c1, 0x01c4f5c9, 0x013a1d29, 0x0336cc21, 0x019a9cd4, 0x03b877c6, 0x002d99bb}}}, + {X: Field{[10]uint32{0x03c74446, 0x02e4b68d, 0x01ecf37c, 0x007c1711, 0x03f38289, 0x02983fda, 0x003b2888, 0x00f6e14c, 0x02d9815b, 0x00275f69}}, Y: Field{[10]uint32{0x015b12a8, 0x00ada35d, 0x001ac540, 0x003627f3, 0x00df3d2c, 0x02d04f51, 0x01f6d734, 0x016f8398, 0x007372ba, 0x0011b0a4}}}, + {X: Field{[10]uint32{0x030d4d3f, 0x02a77d0e, 0x02366b62, 0x03edf266, 0x020b5981, 0x02edecef, 0x02028498, 0x030af301, 0x0131e513, 0x000e48cf}}, Y: Field{[10]uint32{0x0116dfd8, 0x038e136e, 0x03c81f97, 0x012ea6bf, 0x001ec57d, 0x0187e9dd, 0x00ac3e1c, 0x03a93d36, 0x017c92e0, 0x003f09e1}}}, + {X: Field{[10]uint32{0x037768be, 0x039450f6, 0x004b43f7, 0x00cea0b6, 0x02547e6f, 0x02d63d06, 0x00d02dd7, 0x03a0ec16, 0x0388db90, 0x0016f8b5}}, Y: Field{[10]uint32{0x03de1026, 0x0127cbdb, 0x00875b90, 0x01ae6899, 0x03d585ef, 0x0213edb3, 0x01396f2e, 0x03e8cf9c, 0x03a86b2d, 0x0002e33c}}}, + {X: Field{[10]uint32{0x00f162ac, 0x01e187a2, 0x035d682f, 0x02f8e09f, 0x027c53a0, 0x01c011e7, 0x03600c25, 0x02853044, 0x01e8191f, 0x000ffd67}}, Y: Field{[10]uint32{0x01c77ba2, 0x01730c8b, 0x024dfd81, 0x03ed79e6, 0x0308ae4e, 0x009e6847, 0x03f5f60c, 0x02db9efb, 0x01856ab0, 0x00009756}}}, + {X: Field{[10]uint32{0x019a256f, 0x01d6f05c, 0x01b5875f, 0x029398c1, 0x00b61a18, 0x02803e36, 0x02d9475d, 0x00648262, 0x0030ed22, 0x00207727}}, Y: Field{[10]uint32{0x014682a5, 0x01e34a3d, 0x03fc2ca6, 0x00913503, 0x009cccf0, 0x01a6897e, 0x038f9c98, 0x032c9e9b, 0x005e5c44, 0x000a5c1d}}}, + {X: Field{[10]uint32{0x0370e9da, 0x0168f926, 0x00d24f76, 0x010eedea, 0x02ea3869, 0x00c353d2, 0x036121b2, 0x01026455, 0x0216579c, 0x002e8f87}}, Y: Field{[10]uint32{0x02c72f4e, 0x02088d8c, 0x02abd90f, 0x039956ae, 0x0154eb0d, 0x034c39ec, 0x01d8d9c7, 0x03e99e2a, 0x0008653c, 0x00287bae}}}, + {X: Field{[10]uint32{0x03f854f8, 0x02271220, 0x0304ca05, 0x0250ee5b, 0x01fa66d1, 0x02df479a, 0x01f52a51, 0x02bb8450, 0x028150fa, 0x0000d7ff}}, Y: Field{[10]uint32{0x01366fad, 0x03422a32, 0x00dc9b7d, 0x018c181c, 0x00b4ad31, 0x03c44170, 0x00a09b8d, 0x01b74ff3, 0x0022e83f, 0x00359a86}}}, + {X: Field{[10]uint32{0x00763a06, 0x0142ab58, 0x00f685b9, 0x038f95c9, 0x038b50d7, 0x00e2e605, 0x0214c0ae, 0x03e5c870, 0x00221435, 0x000e63af}}, Y: Field{[10]uint32{0x00811f46, 0x016e0120, 0x03011682, 0x021c5240, 0x0115551b, 0x030b233a, 0x00d4da7f, 0x03baaff3, 0x009d0eb2, 0x0030b7d5}}}, + {X: Field{[10]uint32{0x00a89e96, 0x0284e243, 0x01a0d6cf, 0x00aa913f, 0x029ca89d, 0x01397387, 0x018511a8, 0x029d7474, 0x0333e7d0, 0x000ae89f}}, Y: Field{[10]uint32{0x017cf4a7, 0x02d98ae6, 0x02f19c6b, 0x0153f304, 0x0045c2ac, 0x02472845, 0x039946cc, 0x01d70e3c, 0x004b8323, 0x001408da}}}, + {X: Field{[10]uint32{0x01e829c2, 0x034547be, 0x0014465c, 0x00fbc7fc, 0x032b5497, 0x014c60ba, 0x02cd4856, 0x007e4813, 0x023e7ec5, 0x001095c1}}, Y: Field{[10]uint32{0x01232c1c, 0x01518ad5, 0x015d747c, 0x016a04ab, 0x00919f8b, 0x01a6af59, 0x009ab35b, 0x00145447, 0x034116dd, 0x0011cd47}}}, + {X: Field{[10]uint32{0x034063a8, 0x03c5cb66, 0x006ebe3e, 0x025623b9, 0x0180da81, 0x00b95946, 0x0218582d, 0x03295a50, 0x03c1b5b3, 0x001df9cd}}, Y: Field{[10]uint32{0x01d1587a, 0x038830a2, 0x007b50e0, 0x017135ec, 0x03651ae4, 0x032e44b8, 0x008d4f11, 0x0262b4df, 0x01c5e667, 0x0003df2d}}}, + {X: Field{[10]uint32{0x00cdaa4f, 0x03bb1e8d, 0x028c44a7, 0x010d1ed7, 0x01ef027d, 0x02932dcb, 0x02f98b82, 0x02307ef7, 0x024d7101, 0x0037f2ed}}, Y: Field{[10]uint32{0x03972a23, 0x02c31765, 0x01a92e06, 0x0160b72a, 0x01bc2f4e, 0x014713c2, 0x03379e87, 0x01d6222b, 0x01bcc720, 0x0037f033}}}, + {X: Field{[10]uint32{0x0355ae8a, 0x0258ab74, 0x00e78ce6, 0x0388a94b, 0x01b39855, 0x011b5c62, 0x02c52567, 0x007a38ca, 0x02d0a787, 0x0023ada1}}, Y: Field{[10]uint32{0x00cc30da, 0x038cc71b, 0x02a5ed71, 0x01d5ba29, 0x0389b796, 0x0308b17e, 0x00afe424, 0x00a0dff4, 0x0211fec5, 0x003aa2cd}}}, + {X: Field{[10]uint32{0x02cc3e54, 0x025ac74d, 0x0298785a, 0x00b6fa9e, 0x02ee5652, 0x0313083f, 0x02703ff8, 0x00b754c5, 0x0313ebaf, 0x00345f61}}, Y: Field{[10]uint32{0x01c10b54, 0x007616f7, 0x038b5682, 0x01c9391b, 0x00e9fdb8, 0x03e25074, 0x00a7a19b, 0x018b2a76, 0x03e86d78, 0x003a9c2d}}}, + {X: Field{[10]uint32{0x00b3ba89, 0x000df88c, 0x02cfa3ec, 0x007e0b35, 0x02249c47, 0x0053bbb6, 0x02d28e9c, 0x00287215, 0x03e6ae05, 0x001f531d}}, Y: Field{[10]uint32{0x0265fe60, 0x01cffa58, 0x027bcea7, 0x0230f686, 0x01900ad6, 0x009f440b, 0x0180f393, 0x037e4d2c, 0x0253f5fb, 0x0031681d}}}, + {X: Field{[10]uint32{0x017ebcab, 0x014306d3, 0x01e88f4f, 0x03b4378e, 0x003721dc, 0x02c942f3, 0x021d51b3, 0x0179a1b5, 0x0109451e, 0x00258e04}}, Y: Field{[10]uint32{0x00801b64, 0x01745959, 0x003947f1, 0x00529c8a, 0x0209f065, 0x035bc3f9, 0x017642bd, 0x032951fc, 0x0019b088, 0x0025263d}}}, + {X: Field{[10]uint32{0x038c2ba7, 0x02be42a5, 0x00d208af, 0x020ff68f, 0x0385f44e, 0x023d3a54, 0x02da8f2f, 0x00f5cdec, 0x01505435, 0x001d002d}}, Y: Field{[10]uint32{0x01909771, 0x022ab9ff, 0x008be6b1, 0x00749d41, 0x02e36bed, 0x036c7572, 0x0129a04c, 0x00d9df88, 0x00a3ce50, 0x00264ceb}}}, + {X: Field{[10]uint32{0x026ff59f, 0x00792e81, 0x01be2a01, 0x030e4ed4, 0x00d1de3b, 0x03c4baf6, 0x02f59639, 0x02ff49c7, 0x0011fff7, 0x000f5ec3}}, Y: Field{[10]uint32{0x02404b9d, 0x007133cc, 0x01789b79, 0x00bdd51a, 0x008bddb1, 0x02a21851, 0x01eb57d8, 0x02839738, 0x00317f7c, 0x002d8e5d}}}, + {X: Field{[10]uint32{0x01c46328, 0x01bd33d9, 0x0343c5cd, 0x0377f78d, 0x0245d128, 0x03237665, 0x03125455, 0x01fc5398, 0x01ec7ebf, 0x00125136}}, Y: Field{[10]uint32{0x00589996, 0x009c6fcb, 0x01d1f5bf, 0x036449b2, 0x035c2f49, 0x02747cf4, 0x01cd408c, 0x02bb04ca, 0x019313ba, 0x003c1954}}}, + {X: Field{[10]uint32{0x01bdecf1, 0x0391b49e, 0x00b5189c, 0x00cda6eb, 0x01f37b99, 0x03822cd5, 0x0207d6d8, 0x02c743e1, 0x032b4764, 0x00265810}}, Y: Field{[10]uint32{0x03160ebd, 0x02b15ac1, 0x0386578f, 0x03e37aea, 0x03f7e1a9, 0x030852b7, 0x0200ea9e, 0x034be8a4, 0x034c0921, 0x000c13ae}}}, + {X: Field{[10]uint32{0x033de4d6, 0x0212a8ee, 0x0281d9ca, 0x01658cc5, 0x019196cc, 0x009ad77b, 0x03409cc7, 0x015963f0, 0x035b6358, 0x000c4fd4}}, Y: Field{[10]uint32{0x016c9716, 0x01024bf1, 0x01fb3dd6, 0x03fe3266, 0x0159b049, 0x0007fd3c, 0x0323bcfd, 0x0383af97, 0x008aa55f, 0x00394469}}}, + {X: Field{[10]uint32{0x008ed7b2, 0x03c0d315, 0x01bcb3cc, 0x03597004, 0x00c99478, 0x03d3dd3b, 0x01b9006e, 0x01b7036e, 0x006f8cd3, 0x00217116}}, Y: Field{[10]uint32{0x03434229, 0x02d34416, 0x01f63a75, 0x01699d8e, 0x00144c8c, 0x03e6c01c, 0x02325923, 0x0175b371, 0x03c0045c, 0x00335a54}}}, + {X: Field{[10]uint32{0x00671af8, 0x01c1be65, 0x0251d21d, 0x0036d935, 0x03d489b2, 0x01ce07ba, 0x01b668db, 0x00d6747b, 0x02d2a7fc, 0x0025a2f1}}, Y: Field{[10]uint32{0x00725186, 0x02f6df3c, 0x033ce0d0, 0x03f02d4b, 0x02de88bc, 0x0396545f, 0x032f3304, 0x01c1f306, 0x02a3723d, 0x003ec2b5}}}, + {X: Field{[10]uint32{0x0328985d, 0x023158ef, 0x024200e5, 0x03373fda, 0x0326d343, 0x01bb03a1, 0x00c72215, 0x039dfb9b, 0x00eb3722, 0x0008c96b}}, Y: Field{[10]uint32{0x038d39e1, 0x03323fe1, 0x03a5a21a, 0x03f7a06e, 0x0019b9c8, 0x03cfa7bb, 0x02596836, 0x0165e3ca, 0x0353dd29, 0x0018069f}}}, + {X: Field{[10]uint32{0x03acd2e4, 0x001ff759, 0x01dff054, 0x00d61f0c, 0x024b1c93, 0x02abcca9, 0x00667f99, 0x00efab70, 0x02abb231, 0x00231b9d}}, Y: Field{[10]uint32{0x0250c29f, 0x01444b47, 0x02a46b3f, 0x00b8d036, 0x023d7bb9, 0x00a6ce43, 0x03b19c42, 0x037ceb24, 0x0050d422, 0x0009f8ee}}}, + {X: Field{[10]uint32{0x0236748f, 0x03508c17, 0x037af9d8, 0x02a22e60, 0x000352e7, 0x0354e285, 0x02b2c728, 0x0234f935, 0x02313446, 0x0038c7fb}}, Y: Field{[10]uint32{0x010309be, 0x02686c9b, 0x00139e41, 0x00f8a035, 0x0237f9df, 0x02684078, 0x03974f6b, 0x0123e24d, 0x02e12d19, 0x00226c25}}}, + {X: Field{[10]uint32{0x00d306c6, 0x0305f52c, 0x02981215, 0x02c19eb8, 0x00da748a, 0x03968ce6, 0x0342fdd7, 0x0012d1f1, 0x006e8494, 0x00165ad6}}, Y: Field{[10]uint32{0x02a0a16b, 0x03863e18, 0x02791ff6, 0x0180acb3, 0x012ac277, 0x036b7c86, 0x00e8f05e, 0x031c4579, 0x00c5912c, 0x003a5b17}}}, + {X: Field{[10]uint32{0x01aa1c02, 0x01492185, 0x03317714, 0x028e0c4f, 0x03d453d5, 0x006549c3, 0x019c3b71, 0x00032e86, 0x01675cf5, 0x00080330}}, Y: Field{[10]uint32{0x0320ce61, 0x01e73d54, 0x024b3e7b, 0x013b05f7, 0x011905e2, 0x024900dc, 0x005c1334, 0x010a7191, 0x00c87e34, 0x001e02ab}}}, + {X: Field{[10]uint32{0x02d2025f, 0x017a774a, 0x01767dfb, 0x01be04cc, 0x0370f0e9, 0x01e93c91, 0x01148f87, 0x007f3c1e, 0x0032e10e, 0x001f9355}}, Y: Field{[10]uint32{0x03aa432a, 0x02d49458, 0x0136eec0, 0x03284f8c, 0x01fa58f0, 0x0105e60b, 0x03f5fd7d, 0x00a0dfcd, 0x03b26ee8, 0x000d7d76}}}, + {X: Field{[10]uint32{0x000237b7, 0x02edef67, 0x030e5776, 0x01e4d4a1, 0x00ff21f8, 0x01bac430, 0x038f800b, 0x01f9b9e9, 0x010895c9, 0x00307b5d}}, Y: Field{[10]uint32{0x03418fb9, 0x005063fa, 0x01bb1d8b, 0x02565c82, 0x01a38e80, 0x013ffb0f, 0x031e89f6, 0x02aa2670, 0x02068dc0, 0x00241c8e}}}, + {X: Field{[10]uint32{0x02104770, 0x0339cc2c, 0x018defc7, 0x02b9a55b, 0x029948dd, 0x00576374, 0x01239b2a, 0x02027e0f, 0x02e8a53e, 0x00397f52}}, Y: Field{[10]uint32{0x031c4fa2, 0x00bc37bd, 0x0112ade0, 0x03d77d30, 0x03050c7b, 0x017cb76e, 0x00e8ebd3, 0x00865c82, 0x029c1cbb, 0x001a9376}}}, + {X: Field{[10]uint32{0x0251f30d, 0x01bab076, 0x03f2ca76, 0x0057d9cc, 0x03e3534d, 0x00be7b3b, 0x0372cdb4, 0x02f621ea, 0x01f24b33, 0x0000f39d}}, Y: Field{[10]uint32{0x02838ed7, 0x03c132c6, 0x0136213b, 0x02334f72, 0x01a43eb4, 0x00a2bd56, 0x00e9b5d8, 0x03db898b, 0x015b51dd, 0x0027b68c}}}, + {X: Field{[10]uint32{0x0013391c, 0x033bcee2, 0x01d34ad8, 0x02a23867, 0x00527fb9, 0x01fb7d66, 0x018d8ce7, 0x00735392, 0x004f33a8, 0x00263013}}, Y: Field{[10]uint32{0x038bd3a7, 0x03c185ff, 0x01949483, 0x00ea3fc8, 0x03acb484, 0x00158255, 0x0371c463, 0x03e04bd0, 0x0167f853, 0x003f4af3}}}, + {X: Field{[10]uint32{0x0287bbf3, 0x02281e42, 0x001b10fc, 0x00a1b905, 0x01f3d2dd, 0x004f390f, 0x00e62f84, 0x032c1b2f, 0x00882906, 0x000143a7}}, Y: Field{[10]uint32{0x002fa3fb, 0x01890f36, 0x00a9ce1c, 0x0168bcf2, 0x02479a61, 0x028111d2, 0x01eefb2b, 0x006731a1, 0x013bb05f, 0x00010f1c}}}, + {X: Field{[10]uint32{0x03adf2d1, 0x022a0c50, 0x023a2eeb, 0x0190a9cf, 0x0071bf65, 0x03c86ddb, 0x00faa663, 0x0378ec19, 0x0217458b, 0x0017506e}}, Y: Field{[10]uint32{0x03b6cec5, 0x031117d5, 0x0351087c, 0x029da1d8, 0x0307f64f, 0x01eac163, 0x039e22b0, 0x008564ac, 0x0054b308, 0x0005fbff}}}, + {X: Field{[10]uint32{0x00d5b077, 0x00e3e749, 0x023e789d, 0x018191bf, 0x026b34cc, 0x0364b81d, 0x003cb8e1, 0x0164edba, 0x00bf2a02, 0x00138ccb}}, Y: Field{[10]uint32{0x039e1f95, 0x00aa1679, 0x01955c8b, 0x00f77b34, 0x01744ad0, 0x0278e478, 0x03699859, 0x000c0256, 0x005c3ab9, 0x00143e9d}}}, + {X: Field{[10]uint32{0x01a2dae9, 0x005baecd, 0x013f8347, 0x01f3776d, 0x03c83cd4, 0x00d04141, 0x017455e4, 0x02096f0d, 0x029d27ee, 0x0006efd8}}, Y: Field{[10]uint32{0x01e9bb75, 0x03ea250f, 0x0370971f, 0x01a58074, 0x018fb72f, 0x002f6179, 0x000070ec, 0x014fcd3d, 0x00c1e997, 0x00214242}}}, + {X: Field{[10]uint32{0x01cde650, 0x03d6c06d, 0x01b8aa25, 0x026f71e7, 0x0023aece, 0x03af72cc, 0x00cb3f5d, 0x0358aab4, 0x02eff9db, 0x002a4526}}, Y: Field{[10]uint32{0x00c327bd, 0x03c2fdad, 0x01a79918, 0x02318766, 0x02ae3c14, 0x037da1b5, 0x00a16d09, 0x00447d1a, 0x0346e6db, 0x0029eed2}}}, + {X: Field{[10]uint32{0x01b72a71, 0x0385c87f, 0x0037ffc5, 0x0375d7e0, 0x03b98ffc, 0x02c876b2, 0x01e5b406, 0x03590867, 0x01ee0185, 0x00200402}}, Y: Field{[10]uint32{0x03e26441, 0x00b96bcd, 0x010f2daf, 0x00162619, 0x01382839, 0x01171d7c, 0x0136f706, 0x02b5b077, 0x020957c7, 0x003a0859}}}, + {X: Field{[10]uint32{0x00ba6770, 0x01a2a1b0, 0x0068ab73, 0x00e4e401, 0x0096c6b6, 0x01bc4cbb, 0x02345846, 0x03d9e82c, 0x019ae466, 0x00301c3a}}, Y: Field{[10]uint32{0x00769362, 0x01124154, 0x00171a15, 0x033e703c, 0x03be6f8f, 0x02ca47ff, 0x016f77e3, 0x013d5a29, 0x03df358d, 0x00220fea}}}, + {X: Field{[10]uint32{0x00109f4a, 0x017fc7d5, 0x039da71c, 0x014c77fd, 0x018e028c, 0x0342be68, 0x03549a9e, 0x009d85e3, 0x0239cf61, 0x001afa25}}, Y: Field{[10]uint32{0x0204cf14, 0x017f6ce5, 0x02e0d821, 0x03c5b5d9, 0x00ff2dd6, 0x03e65c31, 0x0292f38f, 0x0244c49a, 0x017ddd37, 0x001ddebb}}}, + {X: Field{[10]uint32{0x0224ce8c, 0x016bf165, 0x01009219, 0x0014ae76, 0x03100945, 0x036ec6a1, 0x0052e796, 0x00792808, 0x01d41ce7, 0x00347f4c}}, Y: Field{[10]uint32{0x013fded1, 0x00425249, 0x01a2e5b5, 0x02aba8af, 0x0136d5f2, 0x02183979, 0x02796d91, 0x000a77aa, 0x03d378a8, 0x003cd5ea}}}, + {X: Field{[10]uint32{0x03169d9e, 0x0351a6e3, 0x010337ae, 0x022bab66, 0x02614c32, 0x02909a65, 0x01e617c0, 0x03c52cf3, 0x002d66fe, 0x0007214e}}, Y: Field{[10]uint32{0x038a71f9, 0x02257bc1, 0x01113a8f, 0x0137f6fe, 0x01e2406a, 0x01c9f669, 0x018702ab, 0x039aa13d, 0x031cb236, 0x0016316b}}}, + {X: Field{[10]uint32{0x0336b5ea, 0x03b7f653, 0x0212e272, 0x02dd0f2e, 0x03eec32c, 0x0304a2b5, 0x025c2d52, 0x019edd0b, 0x01edd5fd, 0x000b63ea}}, Y: Field{[10]uint32{0x032cd37d, 0x026b4763, 0x0331f0aa, 0x0103de01, 0x02231453, 0x0325930c, 0x0133af4b, 0x00a827e5, 0x033937eb, 0x001c6c57}}}, + {X: Field{[10]uint32{0x03dbafb4, 0x00e048b7, 0x00c954c5, 0x031a1c0c, 0x0240ceb1, 0x014376f7, 0x00d0a159, 0x031659c0, 0x0379d9f6, 0x0013d448}}, Y: Field{[10]uint32{0x0248c05b, 0x01f020d0, 0x01674c7f, 0x03ef80e0, 0x034b320a, 0x01f76159, 0x0061980c, 0x037d7aea, 0x0305f864, 0x001537a6}}}, + {X: Field{[10]uint32{0x01e7cd1c, 0x02348b36, 0x02834016, 0x0173b64f, 0x032c6999, 0x0350fb28, 0x02609496, 0x00b08563, 0x01ba4856, 0x002697e4}}, Y: Field{[10]uint32{0x0322b86b, 0x0034aa6d, 0x036382d4, 0x00fb84bd, 0x0129bfa3, 0x02b3e714, 0x01b11266, 0x03b28b80, 0x03ecc668, 0x0027e228}}}, + {X: Field{[10]uint32{0x02f9f610, 0x01df7614, 0x03cf0065, 0x03f83563, 0x01d84d54, 0x020cedd7, 0x00cc6b6e, 0x03eb9313, 0x0102d417, 0x003768c1}}, Y: Field{[10]uint32{0x015469a1, 0x036ff045, 0x02b0c5d4, 0x01e9b1fe, 0x0207f4c5, 0x000b8a90, 0x005468d1, 0x019079b5, 0x01da2e74, 0x003eee23}}}, + {X: Field{[10]uint32{0x0326e117, 0x036978d6, 0x025e8e88, 0x02c58635, 0x000600df, 0x00c7397d, 0x00e50cc6, 0x00507612, 0x027c5586, 0x00234ba7}}, Y: Field{[10]uint32{0x0251aa86, 0x0287b400, 0x009a9e33, 0x02f3dd8f, 0x02bb72fa, 0x0170a955, 0x01ab4fd8, 0x01f15355, 0x01ecffd6, 0x0026270e}}}, + {X: Field{[10]uint32{0x001ee995, 0x029f2a59, 0x01bbfa27, 0x03378f56, 0x0310c911, 0x00f47689, 0x031cee1c, 0x00f5b2c1, 0x0076e6b6, 0x001c9b38}}, Y: Field{[10]uint32{0x010af9c1, 0x02588b98, 0x015951c4, 0x02043522, 0x0206ea5e, 0x022ad74d, 0x02d01acd, 0x03e34d34, 0x02a0c91f, 0x0013906e}}}, + {X: Field{[10]uint32{0x02a43a1a, 0x02eb366f, 0x017aa27d, 0x01c7b4ba, 0x02c0d429, 0x027a5418, 0x02c0dc2c, 0x000f4fee, 0x01fe1835, 0x0037af24}}, Y: Field{[10]uint32{0x022d2f11, 0x01e8ccef, 0x00100d49, 0x0323fda2, 0x026dfdf3, 0x0357c9b9, 0x03b2ab80, 0x033a6bcc, 0x0315a6fe, 0x0004d64d}}}, + {X: Field{[10]uint32{0x00fd4b28, 0x017a443c, 0x00f41c58, 0x013b5ac9, 0x03237c79, 0x01cbfcb5, 0x0039e8c4, 0x012ae39c, 0x03357791, 0x00314e50}}, Y: Field{[10]uint32{0x0126087b, 0x01bf1533, 0x0310d1fc, 0x03da691c, 0x0123c26c, 0x002a8a83, 0x03041128, 0x027139ec, 0x019b628a, 0x000a014d}}}, + {X: Field{[10]uint32{0x005f29b0, 0x022f1e68, 0x00e1cc99, 0x00412fb9, 0x0072b818, 0x022a3ebb, 0x02bf1fbe, 0x0002c600, 0x02fd33c3, 0x00268a24}}, Y: Field{[10]uint32{0x01186e33, 0x03dcbfd1, 0x00bebb37, 0x0177d7ea, 0x00553870, 0x01738df3, 0x02ebc53a, 0x0004d948, 0x023bc2fa, 0x00265fc4}}}, + {X: Field{[10]uint32{0x039a351a, 0x0160412c, 0x0279f4c5, 0x02ff5cf7, 0x001503bb, 0x0382fc60, 0x017fe427, 0x013ef9fb, 0x00ac0f22, 0x0035288b}}, Y: Field{[10]uint32{0x02ce752b, 0x02bdae0e, 0x02860341, 0x00442a0b, 0x02232603, 0x01238d1a, 0x01133495, 0x00b824a9, 0x02973062, 0x00209a3f}}}, + {X: Field{[10]uint32{0x00c11659, 0x01653ee7, 0x0003c077, 0x02ee1df7, 0x0111d4d2, 0x001c27ee, 0x0014963b, 0x02f87635, 0x03ff15ad, 0x0012933c}}, Y: Field{[10]uint32{0x01ced874, 0x03b75834, 0x0336fc2d, 0x002f0e7f, 0x035109a3, 0x03a992b4, 0x00418100, 0x0254a989, 0x018336f1, 0x0015f211}}}, + {X: Field{[10]uint32{0x018e1539, 0x026fc305, 0x02f441f6, 0x009e1c72, 0x00e85e0b, 0x00b28992, 0x00836cf4, 0x0354c263, 0x00edb580, 0x0016303b}}, Y: Field{[10]uint32{0x0042467e, 0x005e0fba, 0x03fd7412, 0x0027e847, 0x0292e54a, 0x000b346a, 0x023d36f7, 0x02f25139, 0x00491e1d, 0x003abde7}}}, + {X: Field{[10]uint32{0x024892bb, 0x03326fdc, 0x0016f634, 0x0009fd39, 0x03261323, 0x03961a8c, 0x02154f3f, 0x01fa24e2, 0x00e8a60c, 0x002c3ef4}}, Y: Field{[10]uint32{0x02a5d3c3, 0x00cc31e0, 0x03d079a0, 0x024c4df0, 0x026dd83f, 0x0012662e, 0x00fcb501, 0x03d036d5, 0x027d6757, 0x0009ee9d}}}, + {X: Field{[10]uint32{0x0192f0d3, 0x01b630b6, 0x000818c1, 0x03de132d, 0x00ee90c2, 0x013bc611, 0x01fecf3e, 0x004d6849, 0x012a26b0, 0x002a52b8}}, Y: Field{[10]uint32{0x018e2050, 0x0229d808, 0x03c95bbc, 0x00d8221d, 0x02e046fe, 0x02ee8f59, 0x0016a6f6, 0x01d6571e, 0x03ba665e, 0x0028dd11}}}, + {X: Field{[10]uint32{0x00dcbeb5, 0x02f8c223, 0x02eeb9ad, 0x0101cc16, 0x00c540e2, 0x03e40137, 0x036c4844, 0x013eb8ca, 0x009b3eb7, 0x00232f6c}}, Y: Field{[10]uint32{0x00c932fe, 0x01cb3d0d, 0x023b810e, 0x01146d27, 0x01912df7, 0x0139685a, 0x007b14c0, 0x03bf4bfc, 0x03a291f6, 0x0000ae18}}}, + {X: Field{[10]uint32{0x00cdbac8, 0x00e721cd, 0x03afcf8f, 0x0071034d, 0x020ab313, 0x01422af5, 0x02fb89ed, 0x03af8731, 0x02c3b70e, 0x000fe33e}}, Y: Field{[10]uint32{0x0158b65e, 0x0124e84b, 0x01321f0c, 0x021ed10f, 0x01a68b52, 0x0122592d, 0x00b303db, 0x03c975e5, 0x0111846e, 0x0036ec08}}}, + {X: Field{[10]uint32{0x0315b25b, 0x01f69837, 0x004b9054, 0x0136ceb2, 0x0331fcaf, 0x020598c2, 0x03e9a4e1, 0x039e704b, 0x00e0cea3, 0x002d8581}}, Y: Field{[10]uint32{0x01b86801, 0x03a7660a, 0x0192cea2, 0x02224063, 0x00317d53, 0x02849929, 0x0265b41b, 0x03e96d59, 0x03ad9ea0, 0x0006abca}}}, + {X: Field{[10]uint32{0x011327d7, 0x021bbc11, 0x00a3f07c, 0x028d9347, 0x02fa51bd, 0x03ef5a2d, 0x026630a7, 0x02ce3870, 0x00103c6a, 0x003ac39d}}, Y: Field{[10]uint32{0x00e82e6d, 0x01a05eb8, 0x037d44c3, 0x0330bb8d, 0x0045cdaa, 0x027edd0e, 0x001c9c7d, 0x034f0655, 0x001757c4, 0x0037e814}}}, + {X: Field{[10]uint32{0x0156b7ae, 0x0342fda5, 0x0144f4bc, 0x01f92c95, 0x031fcfdd, 0x01d8b012, 0x02d28126, 0x03993236, 0x0103be51, 0x0018dbf1}}, Y: Field{[10]uint32{0x013f4cd9, 0x021c0e8c, 0x011e6984, 0x0375414b, 0x02b633c8, 0x022df621, 0x03b6735a, 0x010525fc, 0x030f0510, 0x0015ee0e}}}, + {X: Field{[10]uint32{0x012ab330, 0x031cd639, 0x02288c15, 0x01953a8f, 0x005ba9dc, 0x034b7867, 0x02fc2bd1, 0x008d6f1a, 0x00ec4d42, 0x000bf31c}}, Y: Field{[10]uint32{0x016a30ce, 0x01df9949, 0x01069395, 0x03a09467, 0x0135bde8, 0x03f36da5, 0x024cbbfc, 0x00788b6d, 0x00182bfa, 0x001a8d58}}}, + {X: Field{[10]uint32{0x02a94b54, 0x0043889f, 0x007d01cd, 0x0396f56f, 0x0183be81, 0x01af7ea5, 0x00969ebd, 0x02e2ff6e, 0x02c38d38, 0x00045401}}, Y: Field{[10]uint32{0x0080e08a, 0x01687508, 0x02780250, 0x00e9cc94, 0x023fac02, 0x01ba1e00, 0x0339e83f, 0x00feea6b, 0x010216eb, 0x001810eb}}}, + {X: Field{[10]uint32{0x01b3aaf1, 0x0194fca3, 0x019a515b, 0x021afb70, 0x013756a9, 0x03f95340, 0x00a2da82, 0x0070a583, 0x025a15ba, 0x00005f55}}, Y: Field{[10]uint32{0x03c7399c, 0x012b5ea6, 0x00c35f27, 0x0064cd4d, 0x027a6338, 0x0274c494, 0x00b05aab, 0x002cf92e, 0x01dd4204, 0x00245eee}}}, + {X: Field{[10]uint32{0x03221ef2, 0x01d31b5a, 0x0330e023, 0x022ad20b, 0x01d2af8f, 0x00f96f2a, 0x00598f7a, 0x00710c2e, 0x00898850, 0x00037309}}, Y: Field{[10]uint32{0x03652e72, 0x01919193, 0x02b0a578, 0x02d667c7, 0x01cd14ca, 0x03c037b3, 0x03102a6e, 0x03b14ac7, 0x017dd5c6, 0x002a165d}}}, + {X: Field{[10]uint32{0x011f0b0f, 0x00fea3cd, 0x03a03d83, 0x030f50f2, 0x03ae2cf9, 0x03a0229f, 0x01919db6, 0x00c2df37, 0x039f4e94, 0x0029a2ca}}, Y: Field{[10]uint32{0x00786526, 0x0096f165, 0x00f66d65, 0x0137cbe7, 0x017f45b1, 0x009de008, 0x015614d9, 0x00248e3a, 0x0232d3ad, 0x0038d2e2}}}, + {X: Field{[10]uint32{0x010e9462, 0x0020a7e3, 0x013c2319, 0x005d1c0b, 0x01fe7e2f, 0x02b5654e, 0x02d11e9e, 0x00466174, 0x025a938e, 0x000be553}}, Y: Field{[10]uint32{0x03b16dd5, 0x02ac79c2, 0x02c61e55, 0x02fe7e26, 0x01f6aaa6, 0x01a8e4ec, 0x02fecc84, 0x01f502e8, 0x0379fa8b, 0x002cbc34}}}, + {X: Field{[10]uint32{0x027ffe4f, 0x00e4e330, 0x03556fa9, 0x0234f33f, 0x033cc33c, 0x02ecb77a, 0x03fcae86, 0x0253f66c, 0x01136bca, 0x00088f4f}}, Y: Field{[10]uint32{0x01512915, 0x01329614, 0x00ec09c7, 0x02294eed, 0x0327f6cd, 0x00f58866, 0x016f7dd8, 0x0061f309, 0x0106e317, 0x0021f864}}}, + {X: Field{[10]uint32{0x028f7b2e, 0x020d2b67, 0x02abf517, 0x00ae83ce, 0x00b61443, 0x02d3d257, 0x01f3a3e9, 0x0186d90f, 0x00e82911, 0x00156476}}, Y: Field{[10]uint32{0x026d07c2, 0x03bd6503, 0x01416673, 0x01fb1028, 0x0130b3fe, 0x02e91c67, 0x03d454eb, 0x01f94b66, 0x0235f626, 0x000b235a}}}, + {X: Field{[10]uint32{0x01f29a29, 0x024dd451, 0x02252c8e, 0x0078b939, 0x03414184, 0x027a6bbe, 0x00cbaecb, 0x0068521c, 0x004ad15d, 0x003acb3f}}, Y: Field{[10]uint32{0x0052e5ac, 0x019c855c, 0x00b955bc, 0x0035b4d7, 0x00e62f21, 0x01d94054, 0x0304c79c, 0x03664ade, 0x020810bf, 0x001e2043}}}, + {X: Field{[10]uint32{0x00a3f74b, 0x0178fa7b, 0x0392700d, 0x01f4b867, 0x02bdcdb4, 0x00e7310d, 0x00b1d4c5, 0x02a06179, 0x03f99680, 0x001844b0}}, Y: Field{[10]uint32{0x00da4403, 0x03694ae6, 0x00f353b8, 0x01f1a9a4, 0x02f2579d, 0x007db2a5, 0x008f9d40, 0x022feb6b, 0x03dd723c, 0x001ba182}}}, + {X: Field{[10]uint32{0x03d58b16, 0x02477b69, 0x015797b3, 0x00535f8c, 0x03b9b329, 0x0283c5f0, 0x002c23b9, 0x0362c031, 0x00d8d552, 0x00224848}}, Y: Field{[10]uint32{0x01cf7941, 0x0008c5ad, 0x00edf325, 0x025b33c3, 0x03cc4a94, 0x02f7300d, 0x013d1f64, 0x01e3cbe4, 0x03acb3c7, 0x00398948}}}, + {X: Field{[10]uint32{0x03c4dc0a, 0x0347a447, 0x021c5ecb, 0x01245a11, 0x0160ca4a, 0x018c1129, 0x03155839, 0x034ef808, 0x0056217a, 0x0011d62d}}, Y: Field{[10]uint32{0x01d83679, 0x0121e336, 0x027ca960, 0x01ec0f13, 0x03bb7498, 0x030c2b06, 0x03eec6a1, 0x025cfc15, 0x015a4f30, 0x00267909}}}, + {X: Field{[10]uint32{0x025629da, 0x039d5d5b, 0x02143b99, 0x031f658b, 0x03a3b95d, 0x01e11e6b, 0x03a0c6f9, 0x01ea1e5f, 0x02a69a20, 0x002ac108}}, Y: Field{[10]uint32{0x01823faa, 0x01b8b8e9, 0x02dfa7a0, 0x01c12653, 0x0184af0f, 0x02e37f3b, 0x00280c32, 0x026157af, 0x010f00fc, 0x001cce63}}}, + {X: Field{[10]uint32{0x0145d227, 0x02b50fb5, 0x01b20ee7, 0x02983c28, 0x01852cc7, 0x020a4dd3, 0x010b4c35, 0x002c50c3, 0x032accb9, 0x00066010}}, Y: Field{[10]uint32{0x028b05c5, 0x023696e7, 0x01546766, 0x03e3cb94, 0x0069c919, 0x02e626f4, 0x03d1a0e9, 0x0233acab, 0x0073bfbc, 0x0025ab8e}}}, + {X: Field{[10]uint32{0x00e93f17, 0x01894bb8, 0x010cbb71, 0x0055d0f5, 0x0293b8a0, 0x02aefbcf, 0x0361cd72, 0x03eceb29, 0x037fe2df, 0x0010a204}}, Y: Field{[10]uint32{0x02238825, 0x0021b76a, 0x008de456, 0x0011679e, 0x0271fddb, 0x03681d9c, 0x01855f14, 0x019a9bef, 0x033e36c3, 0x00300b0c}}}, + {X: Field{[10]uint32{0x02b6cde2, 0x024a06b5, 0x03d3d52d, 0x01db836d, 0x0077e432, 0x02a9cfe9, 0x03c4d160, 0x0227682b, 0x003505bc, 0x003597eb}}, Y: Field{[10]uint32{0x0007383f, 0x01e11e30, 0x02b13056, 0x03906221, 0x038e9f07, 0x000e18b4, 0x01005456, 0x03ccded1, 0x0175a6c5, 0x0039bd32}}}, + {X: Field{[10]uint32{0x018f6ca7, 0x00665e2e, 0x014c843e, 0x021346ca, 0x02beb967, 0x0181e4db, 0x028b54e1, 0x0349e93f, 0x0144e62d, 0x001c0a6c}}, Y: Field{[10]uint32{0x0140a25c, 0x023ca99c, 0x0114aa47, 0x011f1cf7, 0x009a1af3, 0x0155113c, 0x02c90c38, 0x01b1b8e8, 0x01665805, 0x0022c43b}}}, + {X: Field{[10]uint32{0x039183b2, 0x0256d0f3, 0x01711502, 0x013911c5, 0x01fa343e, 0x01768306, 0x00ea87da, 0x026f77a0, 0x00ebdf96, 0x0013c9d8}}, Y: Field{[10]uint32{0x03e28167, 0x00a59de0, 0x03425d46, 0x017536bf, 0x0115d862, 0x023da6da, 0x001fd39b, 0x03bc27e8, 0x017bf3f9, 0x0010f8b0}}}, + {X: Field{[10]uint32{0x0374a5fc, 0x01c98570, 0x03e52143, 0x015fcbb9, 0x01b573ce, 0x02e7e94e, 0x015f0d23, 0x025aa3cd, 0x02addb41, 0x0033265a}}, Y: Field{[10]uint32{0x028ef28d, 0x027cb702, 0x019232c0, 0x02b6fffe, 0x0144284b, 0x02fa1744, 0x00a9cb66, 0x00a4d70c, 0x03871878, 0x002c7103}}}, + {X: Field{[10]uint32{0x014ade42, 0x010c0f35, 0x006313cf, 0x0214ef6b, 0x01cd9b32, 0x017adc24, 0x0038e398, 0x036416cb, 0x02d3f3e3, 0x0031e062}}, Y: Field{[10]uint32{0x00339eee, 0x01feebe5, 0x03937800, 0x03f747d7, 0x033403a5, 0x030510f3, 0x0363fb0f, 0x02142c51, 0x004e7bbb, 0x001555d3}}}, + {X: Field{[10]uint32{0x0189c4fd, 0x01d5cdc9, 0x0045e52a, 0x03279de5, 0x009a45db, 0x02b97496, 0x0344d1f3, 0x023affd0, 0x01846fc4, 0x001b340d}}, Y: Field{[10]uint32{0x03416e34, 0x03a33224, 0x00723a44, 0x024a34b5, 0x014d811c, 0x039347ea, 0x0367dda8, 0x038dc6b7, 0x037db165, 0x002bea16}}}, + {X: Field{[10]uint32{0x003b2e0a, 0x03aeeb51, 0x00fd3bfa, 0x02491d37, 0x00f5231b, 0x004548c5, 0x02b72359, 0x02c6b98c, 0x0205f716, 0x003594a8}}, Y: Field{[10]uint32{0x013bedcf, 0x02281bae, 0x02dcba45, 0x008fb059, 0x03c4646a, 0x03780f62, 0x002f0d85, 0x0103df2e, 0x0021b782, 0x00348661}}}, + {X: Field{[10]uint32{0x0052fb54, 0x0014be37, 0x02d73a6a, 0x02bf4d38, 0x0181ff0b, 0x00d00116, 0x01b3e4fe, 0x012877e6, 0x004dcd84, 0x002a01f4}}, Y: Field{[10]uint32{0x02e2cd9a, 0x0067a7e8, 0x03151af0, 0x011e5f3e, 0x00c385c0, 0x03eef1c6, 0x03e5079f, 0x0260d4ee, 0x00bb7393, 0x0006229e}}}, + {X: Field{[10]uint32{0x009eb2d7, 0x03f705f3, 0x02de224e, 0x017a7d33, 0x01b8c3a9, 0x01b2c0ae, 0x03acd07d, 0x02b523a4, 0x03bca5d6, 0x0007bf4a}}, Y: Field{[10]uint32{0x02745b39, 0x00fbbcd9, 0x01a05006, 0x02baa2bc, 0x0202a9d2, 0x02ecd5fd, 0x03e191a1, 0x031f98d5, 0x03881b98, 0x003e547b}}}, + {X: Field{[10]uint32{0x0395888f, 0x002e6b08, 0x01f666ed, 0x004df0ef, 0x030ea0ff, 0x025ff838, 0x02bcd044, 0x00f6d660, 0x0254d27d, 0x00016f17}}, Y: Field{[10]uint32{0x02ec3300, 0x03d97ca0, 0x003754c1, 0x01d409c4, 0x025a22d9, 0x00c86cda, 0x01f8b857, 0x03ac0598, 0x0002d4f4, 0x000d556f}}}, + {X: Field{[10]uint32{0x006a3247, 0x02e023dd, 0x02f221f5, 0x01c456f9, 0x02158cca, 0x022b4bc7, 0x022ea80e, 0x0234379b, 0x028d26b0, 0x0003d802}}, Y: Field{[10]uint32{0x03ca3523, 0x02ceac62, 0x00aa3cd5, 0x0371945b, 0x0276c753, 0x03a3846e, 0x02f75b28, 0x03e96c1f, 0x02134bc3, 0x0008ef96}}}, + {X: Field{[10]uint32{0x00ccaf7b, 0x00af49a4, 0x0381ae49, 0x030db1cf, 0x01f5119b, 0x0396404d, 0x01712a8b, 0x029ea331, 0x020b2ab2, 0x003f1f93}}, Y: Field{[10]uint32{0x001151a6, 0x03242ace, 0x01cddb31, 0x02d6aa0d, 0x01e4a682, 0x01b7624a, 0x02862b8a, 0x011a41ba, 0x02f41f27, 0x0012f584}}}, + {X: Field{[10]uint32{0x01442655, 0x00eced62, 0x01700bcd, 0x0161daaa, 0x0141641d, 0x01e6d8f9, 0x0067eecd, 0x03402feb, 0x033cfe12, 0x00144c97}}, Y: Field{[10]uint32{0x033ef941, 0x00de92c4, 0x03b33a44, 0x03964730, 0x03982a35, 0x01e595ff, 0x01623605, 0x039b8b6e, 0x00ad7b7a, 0x0035aa25}}}, + {X: Field{[10]uint32{0x0198aec8, 0x009b92b1, 0x03a09056, 0x01b6e3fb, 0x02afee9a, 0x005fc00e, 0x01bd2d57, 0x03d823c8, 0x00271a55, 0x000b6ceb}}, Y: Field{[10]uint32{0x03f9533e, 0x03832226, 0x03dd6e0d, 0x01a2d1f3, 0x013c6621, 0x0199827d, 0x00c9fc9d, 0x00718307, 0x0333a0c0, 0x003149af}}}, + {X: Field{[10]uint32{0x01fa7dcc, 0x03481775, 0x01be51e1, 0x00d8fce4, 0x0135fbd4, 0x01f790c8, 0x0305b554, 0x02c06d7a, 0x037293de, 0x00024201}}, Y: Field{[10]uint32{0x02d7442d, 0x01304097, 0x03f23e03, 0x02134f30, 0x0164dfef, 0x01718856, 0x013d318b, 0x00ccdc19, 0x02ac1724, 0x003fa587}}}, + {X: Field{[10]uint32{0x039ed9d6, 0x030def0c, 0x017cce2e, 0x02b4f4d6, 0x03045557, 0x01e43353, 0x02cc03f6, 0x013f20b6, 0x0181e5a6, 0x000ca86b}}, Y: Field{[10]uint32{0x027cb07a, 0x01c41898, 0x02cf3d13, 0x0362a41d, 0x0279cb55, 0x01e573b1, 0x017b63ca, 0x000089c2, 0x03681801, 0x0021eaf3}}}, + {X: Field{[10]uint32{0x019246f9, 0x01c745d3, 0x016e9a37, 0x027556ce, 0x0108c584, 0x01c745ea, 0x031af769, 0x02714683, 0x00fa5868, 0x003df2ea}}, Y: Field{[10]uint32{0x0358ee45, 0x01ee7b2b, 0x0072cac3, 0x030bf20c, 0x025309a0, 0x01757ee8, 0x024d7333, 0x02a72bb6, 0x03a910d5, 0x003d2c2a}}}, + {X: Field{[10]uint32{0x0329ea81, 0x022be098, 0x006d58ee, 0x0156b9c1, 0x03fab75f, 0x0015e690, 0x01b6b7bc, 0x00036759, 0x01042da9, 0x003369ac}}, Y: Field{[10]uint32{0x011771e3, 0x035bc773, 0x000fc068, 0x038a6b1f, 0x01a8ee20, 0x038d8078, 0x01171a01, 0x01d00568, 0x000eacfd, 0x001c321b}}}, + {X: Field{[10]uint32{0x027ee58b, 0x021e3c3d, 0x03f2ac23, 0x032b446d, 0x01a46f3b, 0x0113282f, 0x00f27b05, 0x02c73a6a, 0x024009c5, 0x00289869}}, Y: Field{[10]uint32{0x03fff888, 0x01b9043c, 0x014d420c, 0x030c1496, 0x0185da67, 0x034cf5c9, 0x029cda8f, 0x036ba6d3, 0x031d4c42, 0x000789a9}}}, + {X: Field{[10]uint32{0x01f4db57, 0x0252e9ba, 0x028846b3, 0x00f1a0bd, 0x009435aa, 0x007edb4d, 0x018e885d, 0x0210b300, 0x0167fd7f, 0x002f1c32}}, Y: Field{[10]uint32{0x00bd9468, 0x0213847e, 0x03e5718d, 0x03121f11, 0x013032ef, 0x01e195c0, 0x00a07840, 0x00b78310, 0x013a837e, 0x0028ae67}}}, + {X: Field{[10]uint32{0x0077a9c2, 0x000e269c, 0x020269c6, 0x019c4147, 0x02c7a265, 0x03ebc8d2, 0x03fdba3f, 0x00c52532, 0x02f75dc4, 0x000d9054}}, Y: Field{[10]uint32{0x0146d265, 0x0130ca81, 0x018eae08, 0x000496f3, 0x013c8fa6, 0x03b79c75, 0x038ae4e7, 0x02150cc0, 0x03d9f4ec, 0x002b0eb1}}}, + {X: Field{[10]uint32{0x00f3043d, 0x01b765a5, 0x01326cc3, 0x00be8f62, 0x01d82ca4, 0x01008b7e, 0x02f59d8e, 0x01756364, 0x00bed57d, 0x0014bfa9}}, Y: Field{[10]uint32{0x004feb35, 0x0150a363, 0x0399b249, 0x00216daa, 0x005708c6, 0x0299ece7, 0x038f9a37, 0x0229d7dc, 0x032852f9, 0x002dfa60}}}, + {X: Field{[10]uint32{0x023e1a4d, 0x035a08a1, 0x03ce67b8, 0x030f4af8, 0x039c32ec, 0x026b0ffe, 0x033a096a, 0x032203e5, 0x0110c8ba, 0x000d3fba}}, Y: Field{[10]uint32{0x009c7a17, 0x0155881a, 0x008b2243, 0x02825c74, 0x002231f6, 0x008b8983, 0x00db14b1, 0x03111b1e, 0x00969c9d, 0x00383c04}}}, + {X: Field{[10]uint32{0x0349c65b, 0x026cef76, 0x024bb401, 0x02c3d1da, 0x030f815a, 0x007c1dbd, 0x02424ec3, 0x034ba064, 0x030bf4c9, 0x001abca3}}, Y: Field{[10]uint32{0x02a45248, 0x0143fadb, 0x005d3f13, 0x03742f29, 0x0017d1e1, 0x005fd819, 0x01aa3469, 0x00ecc46a, 0x012fbb66, 0x000b157f}}}, + {X: Field{[10]uint32{0x01320e46, 0x01d3dc93, 0x0003b8bc, 0x0204eebb, 0x03a4f0ad, 0x02b174db, 0x00f1b6b6, 0x02d07991, 0x036639e4, 0x001c2daa}}, Y: Field{[10]uint32{0x02913a14, 0x02030622, 0x02c95237, 0x01777f37, 0x0196f713, 0x025b4f37, 0x01ad5f10, 0x013f3346, 0x01e64f4e, 0x003b1902}}}, + {X: Field{[10]uint32{0x0065724d, 0x00212068, 0x000bc155, 0x01a84e18, 0x03061419, 0x03df6ef8, 0x03eff50f, 0x01d6bab6, 0x03114ab9, 0x003b795b}}, Y: Field{[10]uint32{0x0336ecfc, 0x02b7f254, 0x0173c02d, 0x018dbbf7, 0x0371906b, 0x006c1a12, 0x01839dc6, 0x0087b49b, 0x024c11f4, 0x00279feb}}}, + {X: Field{[10]uint32{0x016df8a4, 0x01f0f915, 0x03efe685, 0x03e7c5a0, 0x025de54a, 0x01992399, 0x0019d746, 0x01cc40f6, 0x003c840a, 0x0020f0d3}}, Y: Field{[10]uint32{0x0086cd10, 0x035c2903, 0x0040fd31, 0x00dfc426, 0x0290aa81, 0x0338bbb4, 0x00d97719, 0x035b03bb, 0x0041562d, 0x002708e0}}}, + {X: Field{[10]uint32{0x00c7e200, 0x00164f68, 0x037c6102, 0x0114934d, 0x0052cbdb, 0x0017a1e9, 0x028cf032, 0x026e6148, 0x00900008, 0x002a8abf}}, Y: Field{[10]uint32{0x02be01f4, 0x017309e5, 0x006af2db, 0x0093fa2a, 0x006d8129, 0x00c58780, 0x013bc4fa, 0x02b0674f, 0x016ab382, 0x000d10c6}}}, + {X: Field{[10]uint32{0x0155c520, 0x01d5cc10, 0x02800e3a, 0x0116207b, 0x03e90eb0, 0x03efdc7e, 0x02956a02, 0x03322e7c, 0x03dc4310, 0x00390bb1}}, Y: Field{[10]uint32{0x0225336c, 0x0099e735, 0x027b693c, 0x011562af, 0x012d0009, 0x02369536, 0x00324bbe, 0x02473f88, 0x02cfa52d, 0x0024e7bc}}}, + {X: Field{[10]uint32{0x02ec2b21, 0x0315818c, 0x01dd34a3, 0x02ac99ff, 0x00181617, 0x005bbe7d, 0x038de47a, 0x014803f5, 0x0124937c, 0x002f02f7}}, Y: Field{[10]uint32{0x02b63035, 0x034a64d4, 0x03ac9df6, 0x00448175, 0x004a0285, 0x024ac21c, 0x02e0e1d1, 0x0087de61, 0x024c10b5, 0x00036c12}}}, + {X: Field{[10]uint32{0x01adc8e7, 0x013aebab, 0x03990626, 0x03559037, 0x0155c005, 0x03dd838a, 0x0310fbb3, 0x029ccd78, 0x01d89b43, 0x00372232}}, Y: Field{[10]uint32{0x002fc512, 0x00f2353f, 0x0163625a, 0x00cb308f, 0x033fe37b, 0x027faded, 0x03fc6777, 0x011e5196, 0x01e46f98, 0x000b59de}}}, + {X: Field{[10]uint32{0x00111c20, 0x0278d260, 0x03210f6f, 0x01422315, 0x035ee3dc, 0x00175dbb, 0x030cb02e, 0x00cb18bf, 0x018ab0c9, 0x0029eb83}}, Y: Field{[10]uint32{0x02e553a2, 0x001f6864, 0x03cdd01d, 0x0115a48c, 0x03ac8dcc, 0x00c87794, 0x039dc94b, 0x018b2262, 0x03c9d631, 0x00358caa}}}, + {X: Field{[10]uint32{0x00be0e97, 0x0296b317, 0x03215592, 0x026e97c0, 0x00d631ac, 0x01f69b99, 0x0203af75, 0x01baaf6c, 0x036ee7bd, 0x00118808}}, Y: Field{[10]uint32{0x00627c6e, 0x025da40a, 0x018c88fa, 0x02f1c0a3, 0x02707851, 0x03eb99a8, 0x0330cdf4, 0x0078a9b3, 0x004f69ea, 0x00177d09}}}, + {X: Field{[10]uint32{0x03d8f671, 0x036647c9, 0x00a38e2b, 0x03fcd276, 0x015cd35f, 0x03e4c8c0, 0x0350acac, 0x0364c147, 0x004a3d8b, 0x0020132e}}, Y: Field{[10]uint32{0x00ae8d3f, 0x026a391c, 0x01267bbc, 0x014aef9b, 0x00cdc395, 0x000d884a, 0x02b2f192, 0x03e0d65a, 0x00129ee0, 0x0012ddee}}}, + {X: Field{[10]uint32{0x011c2ed2, 0x0076ef6e, 0x032378e7, 0x01343881, 0x02b4f6fb, 0x02918e44, 0x001fcbee, 0x02cbcae0, 0x030f5382, 0x001ba94d}}, Y: Field{[10]uint32{0x00b2d88d, 0x02f85064, 0x025b1a8b, 0x038b4de0, 0x008b513e, 0x006567b2, 0x012a002f, 0x03fc203a, 0x0109d8f3, 0x003d6d3e}}}, + {X: Field{[10]uint32{0x02e22ba6, 0x031c1ca8, 0x01f4769f, 0x000ee068, 0x031ee564, 0x03d871ac, 0x03b0852a, 0x01d6984a, 0x021c4ff5, 0x00362e37}}, Y: Field{[10]uint32{0x02468c0e, 0x00e37d38, 0x018928d5, 0x032d1ec1, 0x01f23cbd, 0x017095b9, 0x02ad8275, 0x02fe2625, 0x0190d37a, 0x00078f10}}}, + {X: Field{[10]uint32{0x01f1b147, 0x0320a47b, 0x00a9e475, 0x019c1420, 0x0080d384, 0x00e8035b, 0x033f3ea4, 0x02f5ba71, 0x006404a0, 0x0019ab06}}, Y: Field{[10]uint32{0x03a1260e, 0x02207313, 0x030bca61, 0x0319cf6a, 0x029be98e, 0x0147868d, 0x0103efd5, 0x02ddd805, 0x000f7db6, 0x000b3183}}}, + {X: Field{[10]uint32{0x0360e942, 0x0314d9cf, 0x0185bef3, 0x00d70dd7, 0x02f27844, 0x022d6972, 0x0263cf93, 0x008f9c1d, 0x022c4ed2, 0x0011c652}}, Y: Field{[10]uint32{0x03d9f920, 0x01213034, 0x036045f4, 0x033aaf7d, 0x035808a3, 0x01409f55, 0x032738c7, 0x03704def, 0x011b5a64, 0x002c3f78}}}, + {X: Field{[10]uint32{0x024c6186, 0x034f3d0a, 0x0229010b, 0x00ab17c1, 0x009fdc1b, 0x02375da3, 0x02747428, 0x03660e20, 0x00599af2, 0x00045072}}, Y: Field{[10]uint32{0x02f0226e, 0x014234fb, 0x02c64d6b, 0x034aea63, 0x005392a0, 0x015e343e, 0x017555a0, 0x01184ccc, 0x034761ed, 0x001e90c7}}}, + {X: Field{[10]uint32{0x03496f79, 0x00c030f9, 0x0251d4ba, 0x03585ab1, 0x01487002, 0x03ee3952, 0x01da689b, 0x03fa7b59, 0x01d8e80a, 0x003e416f}}, Y: Field{[10]uint32{0x03bfcf72, 0x0096c65d, 0x000fca7e, 0x0317e7d3, 0x03cd999f, 0x01fc1419, 0x021b03ba, 0x01411751, 0x037f3bfb, 0x0007b1ef}}}, + {X: Field{[10]uint32{0x0315e9e0, 0x03c7eb03, 0x023e5573, 0x00beb51e, 0x00232ea6, 0x0053c2be, 0x004faadb, 0x014bb88f, 0x00e4fba4, 0x002e952e}}, Y: Field{[10]uint32{0x00f5cda8, 0x02f52818, 0x030b8da1, 0x002c044d, 0x039c96ed, 0x00ab203c, 0x018e48a8, 0x02ef36ef, 0x02e9efca, 0x002bd55a}}}, + {X: Field{[10]uint32{0x0226a80a, 0x028a2d02, 0x035e9c08, 0x01080e9d, 0x001494a0, 0x00d868ad, 0x0287f3cf, 0x01b890c3, 0x02d0561f, 0x001674fa}}, Y: Field{[10]uint32{0x000a9bc8, 0x007863c0, 0x015d9ac5, 0x00730b42, 0x02f5f1ba, 0x009f1cc1, 0x00a278d4, 0x0088a70a, 0x007d50a9, 0x0026c9bd}}}, + {X: Field{[10]uint32{0x00865d47, 0x03641c2b, 0x00f5b129, 0x0023bfc0, 0x0315520a, 0x01f83cf3, 0x032924be, 0x0324a363, 0x023fab4c, 0x000a9b96}}, Y: Field{[10]uint32{0x00a625a5, 0x01dc60d7, 0x000cb38b, 0x037ba4e0, 0x00919913, 0x01824d47, 0x01191964, 0x01c08e1b, 0x03505872, 0x00015700}}}, + {X: Field{[10]uint32{0x00907502, 0x022c00aa, 0x03d84682, 0x00716aba, 0x01fff1fb, 0x010b3d96, 0x00afe918, 0x03b90422, 0x00d1c35b, 0x002263d4}}, Y: Field{[10]uint32{0x02f3267b, 0x02e3e3d8, 0x01a79daf, 0x03c528f1, 0x02fc9bd0, 0x01ae1300, 0x0202e490, 0x00ab406b, 0x0280c97c, 0x002c915b}}}, + {X: Field{[10]uint32{0x016af85a, 0x03119c43, 0x03bf9422, 0x028eb013, 0x03bda5d9, 0x027b8f34, 0x01d2304e, 0x03c32c7e, 0x02b8b49b, 0x00346152}}, Y: Field{[10]uint32{0x03155c20, 0x03fafa51, 0x03fabd0a, 0x00085f7d, 0x00d7bdeb, 0x00fb77cd, 0x016a0775, 0x0206016c, 0x000fd881, 0x00013894}}}, + {X: Field{[10]uint32{0x02af4680, 0x037f19bf, 0x01303a3e, 0x03d0a15b, 0x024a417d, 0x025a3bdf, 0x03cc787d, 0x02db87c0, 0x008a394d, 0x002187ee}}, Y: Field{[10]uint32{0x02135da6, 0x0348d882, 0x018dddc6, 0x022f6f00, 0x0268f3c3, 0x018e3380, 0x03ff11b0, 0x002c4c8f, 0x015aab8b, 0x002975fa}}}, + {X: Field{[10]uint32{0x013403d6, 0x033d8b60, 0x0111cb0c, 0x000ce7f0, 0x03ea5269, 0x019db3de, 0x0155d90b, 0x0277f0f0, 0x0368b9fa, 0x0025513d}}, Y: Field{[10]uint32{0x006e047f, 0x02659c20, 0x0290253e, 0x000d78c0, 0x0328d876, 0x02fd4552, 0x011ed21b, 0x01893c21, 0x012fcbde, 0x0033b136}}}, + {X: Field{[10]uint32{0x01db68e9, 0x01732a34, 0x009ba2cb, 0x0034edc5, 0x00311cd4, 0x027ce825, 0x00d7b078, 0x019af88f, 0x0192f80a, 0x003ddc88}}, Y: Field{[10]uint32{0x001b516e, 0x03bf83f2, 0x03462d40, 0x00809dfd, 0x011c11e3, 0x03321479, 0x02266610, 0x035939cf, 0x029f3243, 0x00010743}}}, + {X: Field{[10]uint32{0x018e14ed, 0x0381eb5a, 0x02fc1be9, 0x01f10e7d, 0x01b6bd8e, 0x027aa479, 0x039927a8, 0x01ca6f6f, 0x00651f88, 0x0021dad3}}, Y: Field{[10]uint32{0x016b49da, 0x00c7773e, 0x004e16ad, 0x02121aae, 0x037b5730, 0x018bc94d, 0x0387b88f, 0x03a7773d, 0x03811cfa, 0x003b38b3}}}, + {X: Field{[10]uint32{0x03b70b10, 0x032c0f01, 0x03127b7e, 0x03d8cd4e, 0x00721be8, 0x0245e267, 0x00614278, 0x02649221, 0x00e46224, 0x001c1abd}}, Y: Field{[10]uint32{0x0258a5f3, 0x0141ba5f, 0x03545aa6, 0x0383984b, 0x00cdcf0e, 0x004f7add, 0x015bd298, 0x0348039a, 0x01720c65, 0x00325cb6}}}, + {X: Field{[10]uint32{0x03863c9d, 0x0256df7c, 0x03ddef14, 0x016fe745, 0x024301b7, 0x009f97d2, 0x00dde0ba, 0x01898ad7, 0x0218c9c9, 0x0033a5e8}}, Y: Field{[10]uint32{0x02a1ef10, 0x01c2b280, 0x03f55c57, 0x02c9cac0, 0x01c12900, 0x01ebda3c, 0x0116410d, 0x00509a22, 0x021a20fd, 0x003a4e63}}}, + {X: Field{[10]uint32{0x013be895, 0x03991275, 0x019bca8f, 0x03afa6cf, 0x037dae0f, 0x00b6cf54, 0x02a1f01c, 0x020c7a21, 0x039a92cf, 0x003ed896}}, Y: Field{[10]uint32{0x02599a37, 0x0165f7a0, 0x0344c30d, 0x030a9947, 0x031fe2a8, 0x00b2fc88, 0x029d68f1, 0x02781028, 0x0274ba56, 0x001fde0f}}}, + {X: Field{[10]uint32{0x01f4747d, 0x00b16955, 0x01bc4c6b, 0x03ced0b7, 0x02f126c6, 0x020cc912, 0x039098a8, 0x00ae2d46, 0x03697a7d, 0x00207fef}}, Y: Field{[10]uint32{0x0006f33b, 0x000858bc, 0x00d0a8b0, 0x037b43f5, 0x0190b4d1, 0x0336aa9f, 0x013d5303, 0x03bedcc8, 0x0357982e, 0x0038b19c}}}, + {X: Field{[10]uint32{0x020ed0e4, 0x00c6d55a, 0x01ba8c0f, 0x01def9a5, 0x00679d6b, 0x002728bb, 0x016d4d63, 0x02adf2bc, 0x03668c30, 0x001b7f03}}, Y: Field{[10]uint32{0x015a563c, 0x03fe1f6c, 0x03d905ae, 0x00e2ff77, 0x01367724, 0x003d107a, 0x002d7a62, 0x02a9d0c6, 0x02b2d9a0, 0x002907b4}}}, + {X: Field{[10]uint32{0x03501b44, 0x03e530ce, 0x0023fe77, 0x037e22f3, 0x001d5715, 0x03d8f0ca, 0x01a9b5b0, 0x0395aae8, 0x01d1b953, 0x00071afc}}, Y: Field{[10]uint32{0x00e4b0ef, 0x00d82279, 0x02d3a8e3, 0x037e4688, 0x028f1e74, 0x01f0ae92, 0x01c368bf, 0x005e0806, 0x014db4ca, 0x003199c8}}}, + {X: Field{[10]uint32{0x02def93d, 0x03f491fe, 0x00ba6b2a, 0x03c3479e, 0x035417b9, 0x005134bc, 0x00632319, 0x027d8176, 0x02df5d99, 0x002da444}}, Y: Field{[10]uint32{0x018df4ae, 0x00d318d5, 0x020209a0, 0x01722508, 0x00464f11, 0x02b2b77b, 0x00fafeb8, 0x021b9c1c, 0x037a3028, 0x000858f3}}}, + {X: Field{[10]uint32{0x0176b6e0, 0x0192f792, 0x0287cda4, 0x03363805, 0x019737a2, 0x027be48a, 0x018b8fcf, 0x003e45f1, 0x0332ac23, 0x002f00e1}}, Y: Field{[10]uint32{0x025682d2, 0x007011a8, 0x00ab3719, 0x03677d8e, 0x017a7ae0, 0x01f88ce1, 0x03e1d6fa, 0x018dcd80, 0x02010079, 0x0000ce49}}}, + {X: Field{[10]uint32{0x03e32d81, 0x00faf689, 0x001ae183, 0x0032b7b4, 0x007489c2, 0x0166ec03, 0x024d9aee, 0x02b531aa, 0x02951047, 0x0025b7cc}}, Y: Field{[10]uint32{0x02e2034b, 0x02313bf8, 0x00466181, 0x03c7999d, 0x02cbfaa8, 0x01743c19, 0x01189bbf, 0x018cf060, 0x002d74ce, 0x001063db}}}, + {X: Field{[10]uint32{0x02304979, 0x034be9da, 0x001d263c, 0x03e8bcd4, 0x01cb6a65, 0x02d864f0, 0x02fcefde, 0x0102afb1, 0x0227939e, 0x0028f14c}}, Y: Field{[10]uint32{0x03c967e4, 0x0283b5b6, 0x00de8caf, 0x02637180, 0x0300f467, 0x01e8bd99, 0x0329ade3, 0x029bc64b, 0x02a5498e, 0x00111a32}}}, + {X: Field{[10]uint32{0x0145eb2b, 0x02bc2b49, 0x01a92601, 0x011ae475, 0x017a0c7d, 0x0385ca98, 0x005f1b31, 0x01b5b5ae, 0x02073dfd, 0x0024ff60}}, Y: Field{[10]uint32{0x0163a847, 0x025f51f5, 0x02866883, 0x026c82e2, 0x03961155, 0x02b3faec, 0x03ca8636, 0x01a9046f, 0x02c19a8a, 0x001806fa}}}, + {X: Field{[10]uint32{0x02ca0a9b, 0x01e82ea1, 0x00a2bee8, 0x027ad179, 0x01a5bc0d, 0x011a2b63, 0x039acef2, 0x018fc403, 0x03ef2e2c, 0x002e9f4e}}, Y: Field{[10]uint32{0x015114dc, 0x03bf2ba9, 0x02e097c6, 0x02c5eefc, 0x01376f29, 0x0316daf6, 0x0133ed0b, 0x0278c443, 0x02673312, 0x003fffe6}}}, + {X: Field{[10]uint32{0x036157a8, 0x010a4380, 0x03011190, 0x03ea5fbc, 0x00218898, 0x025935e9, 0x01972582, 0x0270d65d, 0x01c02a4f, 0x00383655}}, Y: Field{[10]uint32{0x01c617f0, 0x02ee6140, 0x0397baa2, 0x01a75699, 0x01b28cbc, 0x021c1de2, 0x0382f0f0, 0x002ee681, 0x039e7d42, 0x0005dbf7}}}, + {X: Field{[10]uint32{0x03f81ac9, 0x0111d42f, 0x02dcd0a4, 0x03f785d4, 0x036cd226, 0x01a435aa, 0x02da689c, 0x032e4c44, 0x01408320, 0x0005acb0}}, Y: Field{[10]uint32{0x018bb281, 0x031de436, 0x01edd2ab, 0x02494f19, 0x025025f7, 0x02a85edb, 0x0217488f, 0x00e4cbc9, 0x00e3dafd, 0x000a8beb}}}, + {X: Field{[10]uint32{0x01f502da, 0x00af043a, 0x020c7fc2, 0x02e3ad36, 0x02220db4, 0x02569053, 0x01d61d97, 0x00f8bd91, 0x00329c82, 0x000beec1}}, Y: Field{[10]uint32{0x00ebc31d, 0x02d89664, 0x00246a0a, 0x0239a7d6, 0x030cbfe5, 0x021c1a2a, 0x03cda69c, 0x0377eeae, 0x02ef15ea, 0x0006b7d9}}}, + {X: Field{[10]uint32{0x03208ebf, 0x00b79399, 0x01ccce13, 0x020e3277, 0x02c178f8, 0x00135915, 0x0122f2f4, 0x0095e6d9, 0x00daf42d, 0x0019244d}}, Y: Field{[10]uint32{0x009355cb, 0x015b0efc, 0x00e8a4a7, 0x0147f991, 0x02e7709b, 0x02a6ba96, 0x00446480, 0x012f09e2, 0x03fc3c55, 0x0010e16a}}}, + {X: Field{[10]uint32{0x013991cd, 0x03b7e2c3, 0x03023dbc, 0x02c2e264, 0x03128d62, 0x0271ff7b, 0x0201c172, 0x007e7381, 0x00b1dcb8, 0x002e5551}}, Y: Field{[10]uint32{0x029dcd2a, 0x0314e0dd, 0x02b0f33c, 0x01824f02, 0x03206fe7, 0x013c1c9b, 0x01f2d450, 0x0378cb54, 0x02dcffba, 0x003e1c7e}}}, + {X: Field{[10]uint32{0x01d668de, 0x00f03297, 0x0389fd06, 0x005c0a23, 0x02ace1ea, 0x012c6c25, 0x03df5b4a, 0x03430288, 0x03fc5034, 0x0033500e}}, Y: Field{[10]uint32{0x02717742, 0x0387f509, 0x0316054e, 0x01529763, 0x023fa92e, 0x00e92fc3, 0x0359760f, 0x03d1bd27, 0x0131aa56, 0x00304a58}}}, + {X: Field{[10]uint32{0x0004c581, 0x03a91e0f, 0x019394b6, 0x01e656d3, 0x021ad784, 0x026a3d5a, 0x0202074c, 0x02f72640, 0x0337d7f8, 0x000292ab}}, Y: Field{[10]uint32{0x0316da34, 0x00d234eb, 0x03431009, 0x032ce22b, 0x031a8cb9, 0x001dcf5c, 0x02594f94, 0x02d873f4, 0x02f2dc02, 0x00132ced}}}, + {X: Field{[10]uint32{0x03f438c4, 0x01f67e2a, 0x039376c3, 0x031f9b9e, 0x0297478f, 0x021915e3, 0x02dd3c52, 0x00123a17, 0x03f8ebdf, 0x0015c40b}}, Y: Field{[10]uint32{0x00161d4f, 0x00763bbe, 0x01128833, 0x005a42ad, 0x01915aef, 0x0146cbcc, 0x01e308c2, 0x00658b9e, 0x019beaec, 0x003213c7}}}, + {X: Field{[10]uint32{0x03c9b6ac, 0x02c188e8, 0x01774832, 0x02171a02, 0x01124246, 0x03ebf1c0, 0x00c08c58, 0x017f8442, 0x00e93c5c, 0x001a3fa6}}, Y: Field{[10]uint32{0x004df273, 0x02033e43, 0x01cd4d64, 0x023fba1c, 0x03cb5ea5, 0x011bc878, 0x00078e2c, 0x01ae1fba, 0x0017fd95, 0x00124ab1}}}, + {X: Field{[10]uint32{0x024a5e77, 0x022f900a, 0x03d43ec0, 0x028ac224, 0x03d97bae, 0x00bba92a, 0x0132cef0, 0x0388ebc2, 0x03b69ef5, 0x0000352e}}, Y: Field{[10]uint32{0x03c7c98c, 0x03e92c11, 0x00166607, 0x0130a8b7, 0x019e7488, 0x00334231, 0x01e223df, 0x02b8c7d9, 0x02609c1d, 0x00016063}}}, + {X: Field{[10]uint32{0x0283192a, 0x01f9a416, 0x03b5d68c, 0x00fdd8fc, 0x0123a5c5, 0x022b314f, 0x00d872f2, 0x022dc9fc, 0x0157a8eb, 0x003a589e}}, Y: Field{[10]uint32{0x010d984f, 0x026ea1f3, 0x008d66e5, 0x015d3d68, 0x020cab10, 0x01329b32, 0x0066d17d, 0x005a5b65, 0x027ddc29, 0x00176a4b}}}, + {X: Field{[10]uint32{0x0311caf5, 0x008e0bc5, 0x032076dd, 0x03cb7e0f, 0x001cd547, 0x003e7fa1, 0x0108ffb7, 0x03cbadf1, 0x00ada83b, 0x00127c87}}, Y: Field{[10]uint32{0x01f31931, 0x022497ce, 0x00114ca1, 0x00693fb6, 0x03244761, 0x00cb9bbf, 0x033afc21, 0x013b62b1, 0x01295f83, 0x00071f60}}}, + {X: Field{[10]uint32{0x02fa792e, 0x034060ab, 0x0364dfd6, 0x03316c3f, 0x006c34a8, 0x0061c4f5, 0x011d110c, 0x00754c53, 0x02a940f6, 0x000160a0}}, Y: Field{[10]uint32{0x005f6ddd, 0x03c28d04, 0x0091e677, 0x0124fab0, 0x012a96ee, 0x0360f5f7, 0x03701457, 0x03cb5948, 0x0155d3e0, 0x001e1578}}}, + {X: Field{[10]uint32{0x03ca118d, 0x01a46648, 0x012e5f55, 0x039d0f52, 0x01dc3a14, 0x01c2fb1f, 0x01db6f1d, 0x0009e9ed, 0x02324b07, 0x0032725e}}, Y: Field{[10]uint32{0x0264b56d, 0x035d31a5, 0x001e8747, 0x03678bb1, 0x0115d600, 0x03080cae, 0x031e99f7, 0x037f870a, 0x000f894d, 0x003d807d}}}, + {X: Field{[10]uint32{0x019e054e, 0x00568845, 0x0062b8d5, 0x0332a9ca, 0x039bbbe0, 0x0047e49c, 0x027bcdda, 0x01d4061a, 0x01758ed6, 0x00279370}}, Y: Field{[10]uint32{0x03c6c0ab, 0x020e04f3, 0x03d3bc94, 0x0321c57a, 0x03fcf4f4, 0x026df8db, 0x00736aa1, 0x019a9af8, 0x031f2bb8, 0x00328470}}}, + {X: Field{[10]uint32{0x02afe2b5, 0x03c31ae2, 0x0152f7a7, 0x03d89a3d, 0x028e5af1, 0x0337ef76, 0x00c1e5e8, 0x000c2f36, 0x03893ae0, 0x003f418d}}, Y: Field{[10]uint32{0x01c8e676, 0x008754c3, 0x00435b2e, 0x02037c68, 0x01f4a354, 0x00c9b700, 0x0068a8e4, 0x01d12881, 0x030b068d, 0x0023027a}}}, + {X: Field{[10]uint32{0x014af04e, 0x00ac9cbf, 0x02c77b3f, 0x02d6d19b, 0x00d85360, 0x004ddd60, 0x0281c3ec, 0x01d9466e, 0x033b6e7a, 0x000df7f7}}, Y: Field{[10]uint32{0x00fb7844, 0x02d3e3b4, 0x01727ea3, 0x0217b250, 0x03043dcd, 0x0004a79d, 0x00f3b078, 0x009d635e, 0x03b27b73, 0x00330c4d}}}, + {X: Field{[10]uint32{0x001dbae0, 0x0291751b, 0x018ffe72, 0x0127785b, 0x010a69cb, 0x034af832, 0x01a2f18b, 0x038971dc, 0x006ac8a5, 0x00117bc4}}, Y: Field{[10]uint32{0x020ab158, 0x022da608, 0x00bf42ad, 0x006cc646, 0x0060e568, 0x00058d24, 0x03bd452e, 0x01f6dcfd, 0x000d742e, 0x0032b5a9}}}, + {X: Field{[10]uint32{0x01fdfca4, 0x0091a704, 0x02d14be0, 0x036f0414, 0x0099648c, 0x011cafd6, 0x03cde710, 0x0328941c, 0x02f988b9, 0x00096314}}, Y: Field{[10]uint32{0x01939dfd, 0x02be7b0a, 0x00ffc359, 0x02e20e53, 0x010d60d0, 0x0296d87f, 0x026c9e21, 0x0171f1a9, 0x008b26ea, 0x00112476}}}, + {X: Field{[10]uint32{0x01e65217, 0x014464ea, 0x01c83afd, 0x019f7a20, 0x01d4f8ff, 0x034dbc76, 0x00cddb90, 0x0138d8f4, 0x00a7727c, 0x002f24a9}}, Y: Field{[10]uint32{0x03aa5120, 0x004c4898, 0x039d79dd, 0x02d2e8dd, 0x00331c22, 0x01193a70, 0x031c024d, 0x011e5587, 0x0208b18b, 0x001dbfda}}}, + {X: Field{[10]uint32{0x01f27ebd, 0x0304b451, 0x03353249, 0x00dfed7f, 0x0223e4e8, 0x03055aef, 0x01ceccb0, 0x0120d3c4, 0x00c258c0, 0x0022867a}}, Y: Field{[10]uint32{0x00e92c1a, 0x017941f9, 0x01f065d6, 0x032e1706, 0x018f50a9, 0x02e5e3f8, 0x016caca2, 0x023a8831, 0x0070bff4, 0x00057f1b}}}, + {X: Field{[10]uint32{0x01d70eea, 0x02447a95, 0x00572d9c, 0x02a30a91, 0x03e6f3b1, 0x00e65a2f, 0x013c1a7a, 0x00d136c4, 0x02d1ab90, 0x003966e0}}, Y: Field{[10]uint32{0x013b91be, 0x00abf20c, 0x00b80cc2, 0x02640205, 0x036634d6, 0x00baa9db, 0x01f0bc01, 0x01a86f93, 0x018cd58c, 0x002478cf}}}, + {X: Field{[10]uint32{0x0371a7d0, 0x000c6c1c, 0x03eb3330, 0x034976b2, 0x020f3456, 0x03e506fa, 0x0017db72, 0x01335af1, 0x025f8824, 0x003e653b}}, Y: Field{[10]uint32{0x019c62e2, 0x0102816b, 0x03d40514, 0x027d09c1, 0x03d9c268, 0x036b923d, 0x02bf9c04, 0x0266ccc0, 0x006aecc2, 0x002409be}}}, + {X: Field{[10]uint32{0x0000410f, 0x00e9a4de, 0x015ffc1e, 0x03355976, 0x018000cc, 0x0200f448, 0x0317bc79, 0x03e9409e, 0x008c32d1, 0x001ddb13}}, Y: Field{[10]uint32{0x00785149, 0x03c2eb72, 0x03803165, 0x0298e104, 0x01988b64, 0x00f4f8c6, 0x00201d50, 0x01dce1be, 0x0234438e, 0x00103b38}}}, + {X: Field{[10]uint32{0x01c9b12e, 0x00feb96d, 0x02620fb8, 0x022b1780, 0x0032c196, 0x02fc95cc, 0x00aea3d8, 0x02c004a7, 0x01a5dd13, 0x000e4d9d}}, Y: Field{[10]uint32{0x035a8b00, 0x0129a7e9, 0x02dc0378, 0x01cd39d0, 0x032e5dc7, 0x02c3af30, 0x016ff4c4, 0x00033bb4, 0x03c47934, 0x000e79b3}}}, + {X: Field{[10]uint32{0x03401b1e, 0x027ea330, 0x00eaa2f0, 0x03c9efce, 0x0094dcfd, 0x0242f87f, 0x01de130e, 0x031ed8b3, 0x029422ed, 0x0035f374}}, Y: Field{[10]uint32{0x014fb184, 0x031c194d, 0x00302db5, 0x03662fc5, 0x020728bd, 0x031e7ad1, 0x00ca141d, 0x03462edd, 0x0328073c, 0x00372e72}}}, + {X: Field{[10]uint32{0x0256bc2c, 0x019f73db, 0x021b99cb, 0x01ea6216, 0x01902613, 0x00925274, 0x02206718, 0x011278fd, 0x01272726, 0x002f38fc}}, Y: Field{[10]uint32{0x02e76217, 0x0355e1b9, 0x0097d296, 0x01f714a9, 0x011c33c3, 0x02b4496b, 0x0168f040, 0x037692fa, 0x0017ee92, 0x00290900}}}, + {X: Field{[10]uint32{0x035d6e52, 0x037ba5ff, 0x01eb9738, 0x00ddd0e6, 0x03700801, 0x0078d7eb, 0x02daf442, 0x010529e6, 0x00cdefe9, 0x00277c26}}, Y: Field{[10]uint32{0x01abf15d, 0x0223ae94, 0x01baf3b7, 0x02d36fbc, 0x03f04bf4, 0x01a45f65, 0x0317bb80, 0x0250f343, 0x035fef36, 0x001afe48}}}, + {X: Field{[10]uint32{0x03d43f1d, 0x0332536c, 0x02522e8d, 0x02d1c888, 0x0005d88a, 0x0249c4e8, 0x00839a82, 0x03712a69, 0x002ee561, 0x00265616}}, Y: Field{[10]uint32{0x028c226a, 0x013a2341, 0x00dc78cb, 0x02cd0ed7, 0x02850008, 0x00966cde, 0x0376cba2, 0x03c8fa1b, 0x0214b63a, 0x00382562}}}, + {X: Field{[10]uint32{0x01fb1f24, 0x024cf11b, 0x02871bad, 0x01e548ce, 0x03dda933, 0x02230122, 0x0292447c, 0x009e79f4, 0x00ce7d7b, 0x000f9fee}}, Y: Field{[10]uint32{0x008806e5, 0x01bb2b59, 0x0309d229, 0x02aa4e17, 0x02e36352, 0x001ae92f, 0x037a5dd9, 0x0208e4b5, 0x01083410, 0x000109e7}}}, + {X: Field{[10]uint32{0x01e8ed62, 0x0029a8dd, 0x001c71ac, 0x01a7f2da, 0x0097611d, 0x0209b3d6, 0x02c93ee7, 0x01684433, 0x0050f740, 0x00073415}}, Y: Field{[10]uint32{0x0334d0f0, 0x02880eeb, 0x0136b039, 0x017264c6, 0x025759d3, 0x002e54db, 0x020a3a02, 0x02c10358, 0x0070bb52, 0x000216ef}}}, + {X: Field{[10]uint32{0x03c9b367, 0x02b6fdf5, 0x005e3c76, 0x03283ed3, 0x0393cf99, 0x02e040cb, 0x0387bd01, 0x0168f7db, 0x03763214, 0x0001411d}}, Y: Field{[10]uint32{0x03d1d2c3, 0x01820115, 0x03f7a1ed, 0x008e2132, 0x00a0e67b, 0x031c7d06, 0x02b97ce6, 0x01ddc627, 0x0359919c, 0x0001eeb7}}}, + {X: Field{[10]uint32{0x0070e6ea, 0x03de8391, 0x030be636, 0x00afdfcb, 0x0079fd30, 0x03452629, 0x01b8d87a, 0x012ea0c2, 0x02c949b6, 0x0007aa44}}, Y: Field{[10]uint32{0x002b7650, 0x0021b401, 0x02b4d029, 0x039b3e0e, 0x014acd50, 0x0140aba3, 0x014896d3, 0x00477a10, 0x03dd0b12, 0x0026c9e7}}}, + {X: Field{[10]uint32{0x01a01628, 0x00c0a3c8, 0x007ac8c0, 0x026f4bd3, 0x03e1ed32, 0x017c0f12, 0x00e0b009, 0x001daf2d, 0x00d34b00, 0x0026cfe8}}, Y: Field{[10]uint32{0x03d420de, 0x02549f09, 0x01f4126e, 0x035543bf, 0x038cef81, 0x033b1987, 0x00d5dcb0, 0x023bd4b8, 0x0248b2a5, 0x0004045e}}}, + {X: Field{[10]uint32{0x024c94eb, 0x01e3f020, 0x03e22ff6, 0x00a34095, 0x036200d1, 0x02eb4530, 0x02c7f7f5, 0x027712ce, 0x03b801d3, 0x00197fbd}}, Y: Field{[10]uint32{0x0308b475, 0x026bc249, 0x032fe325, 0x03b1e80a, 0x02f2dcd6, 0x01bbc9db, 0x0373b9b3, 0x013f09dc, 0x01ee680c, 0x000c0878}}}, + {X: Field{[10]uint32{0x0385f9ac, 0x00a45fdf, 0x01d46c5a, 0x02ee3f7b, 0x036ef5e1, 0x030afbd6, 0x004c0f2b, 0x00e95419, 0x023daf76, 0x000f9dec}}, Y: Field{[10]uint32{0x024f3221, 0x02cf930a, 0x0021b415, 0x021443f4, 0x018d4fc7, 0x00b6cb1e, 0x03f0766a, 0x01e1e671, 0x00e95bb0, 0x00156c9e}}}, + {X: Field{[10]uint32{0x01de2965, 0x023022c8, 0x0378396f, 0x0228c8cb, 0x02f69fbf, 0x0335f4d4, 0x0215fba1, 0x0248af11, 0x02bf2fec, 0x000ab136}}, Y: Field{[10]uint32{0x019f957f, 0x03cfab08, 0x0089fa92, 0x00947bfc, 0x006d6494, 0x03e16946, 0x03e60187, 0x022f3c0a, 0x00177623, 0x000b0cf0}}}, + {X: Field{[10]uint32{0x0162c66e, 0x0150a153, 0x0155868d, 0x03c65f8c, 0x03748be0, 0x00acb3ae, 0x01feac74, 0x00134215, 0x022067da, 0x003faf22}}, Y: Field{[10]uint32{0x01d96083, 0x012a3499, 0x03bd1a55, 0x01b6898a, 0x01e3db34, 0x004169dc, 0x029d583e, 0x0398ffe6, 0x02873d45, 0x002bb8e4}}}, + {X: Field{[10]uint32{0x0206a569, 0x023da261, 0x038d3e1c, 0x000b7138, 0x02026542, 0x01715006, 0x002d10bd, 0x009d4623, 0x00b4a598, 0x0029045d}}, Y: Field{[10]uint32{0x03732a00, 0x0021fa47, 0x0367e3bd, 0x00be3643, 0x016b589f, 0x020ad947, 0x0165337e, 0x03e17b1a, 0x03b99fb5, 0x002f1ad8}}}, + {X: Field{[10]uint32{0x025de220, 0x02919396, 0x02ae93a3, 0x0134f2bc, 0x02907c19, 0x004bdd26, 0x0397fc6d, 0x028ebcee, 0x02cf5d10, 0x00048865}}, Y: Field{[10]uint32{0x0304e533, 0x031ba4a4, 0x032b946f, 0x03175016, 0x01674697, 0x02508ff7, 0x00e2c7c5, 0x03884d51, 0x0342b3c1, 0x00333d19}}}, + {X: Field{[10]uint32{0x021eadb3, 0x02d98f0b, 0x0373e799, 0x0187a38e, 0x019f93ec, 0x03219dd8, 0x03bfaa08, 0x03731f86, 0x01cb0104, 0x001deeb5}}, Y: Field{[10]uint32{0x02faa3cc, 0x03a18271, 0x00fea411, 0x02317bc2, 0x014023fd, 0x03c948bb, 0x021214dd, 0x037afd23, 0x007bad8b, 0x0002225d}}}, + {X: Field{[10]uint32{0x02d4a98b, 0x005faec4, 0x015d2f55, 0x0225a578, 0x024e3f6c, 0x00cc9f9b, 0x01451637, 0x02b505ab, 0x00758c49, 0x0007a350}}, Y: Field{[10]uint32{0x023b09f4, 0x01a05803, 0x01cd1259, 0x02835220, 0x0398d94a, 0x032f13e0, 0x03379a2e, 0x02986726, 0x00b00730, 0x000745b3}}}, + {X: Field{[10]uint32{0x03b6ee42, 0x01a7e97e, 0x028cfb18, 0x02b3d280, 0x01880ff2, 0x03ed6d4d, 0x03f4974a, 0x01077521, 0x016b2402, 0x00321e99}}, Y: Field{[10]uint32{0x02757beb, 0x02bfdc2f, 0x01cb76dd, 0x02a2d326, 0x0134f694, 0x029a9e43, 0x0174412f, 0x0254e17b, 0x033a6fac, 0x0005bc97}}}, + {X: Field{[10]uint32{0x0355a4eb, 0x02f67092, 0x03b8071f, 0x005b9ce4, 0x01669adf, 0x03385a81, 0x0369944c, 0x01ba23a5, 0x0007482c, 0x0025ac05}}, Y: Field{[10]uint32{0x00b50223, 0x02fffee5, 0x00ca4578, 0x03886c5e, 0x0082b786, 0x021a2006, 0x00d68de3, 0x0213c382, 0x02805903, 0x002ccaf8}}}, + {X: Field{[10]uint32{0x01ae4af5, 0x02fe211b, 0x01eff7eb, 0x01888b87, 0x00b2afd1, 0x01b423d5, 0x0272fb74, 0x018b9a07, 0x00b37395, 0x000483da}}, Y: Field{[10]uint32{0x000bcc78, 0x0305a40c, 0x00743ded, 0x02758572, 0x0102f4da, 0x03643853, 0x03c6729b, 0x01dbe51d, 0x034f2b23, 0x001f07ad}}}, + {X: Field{[10]uint32{0x02acd157, 0x03177139, 0x00989b65, 0x0074a170, 0x0049a441, 0x00923fba, 0x008be2cf, 0x02d15618, 0x01ec2789, 0x0039921c}}, Y: Field{[10]uint32{0x00e10a6b, 0x01d8a516, 0x02145843, 0x039740bc, 0x02f3dbfa, 0x017be47f, 0x039ecfd4, 0x02c2d56d, 0x02d14999, 0x000a602c}}}, + {X: Field{[10]uint32{0x026798ad, 0x010e18ea, 0x012660eb, 0x03894ea3, 0x0243daa1, 0x01cf9721, 0x0324adfc, 0x00f8b094, 0x0009b20d, 0x001822c4}}, Y: Field{[10]uint32{0x010e13df, 0x03f8b223, 0x0038b3b4, 0x00f10fbf, 0x03a021e1, 0x033c3998, 0x0181c68c, 0x0258e144, 0x0203ad5c, 0x00209b96}}}, + {X: Field{[10]uint32{0x01bb152a, 0x017e1068, 0x033e57c6, 0x00ada142, 0x00cdc4dc, 0x01bd306a, 0x02614353, 0x03917d82, 0x01558132, 0x002325e0}}, Y: Field{[10]uint32{0x037460fc, 0x03504df6, 0x0344ba6e, 0x00f670c6, 0x001875d6, 0x02193c65, 0x01083c53, 0x0207bc2a, 0x0098394d, 0x00328ecc}}}, + {X: Field{[10]uint32{0x0021bf3e, 0x0323e366, 0x00627f80, 0x015da084, 0x03100727, 0x0380441b, 0x018e731c, 0x00920be3, 0x011ac73b, 0x0000d4d6}}, Y: Field{[10]uint32{0x01eb6412, 0x02131ed0, 0x03df9d4f, 0x02067d12, 0x0370ae89, 0x009823aa, 0x02306db0, 0x02d1a6b1, 0x011a501a, 0x000adf8f}}}, + {X: Field{[10]uint32{0x00d78857, 0x03710c27, 0x02978b05, 0x01f6a7f6, 0x023c387b, 0x01e3f38c, 0x0270a671, 0x01cdcbb3, 0x0188ec35, 0x003acb7f}}, Y: Field{[10]uint32{0x024b88e4, 0x011fbc68, 0x01f6318c, 0x01ff2828, 0x023dd7aa, 0x02148dcb, 0x001a8cf9, 0x01548711, 0x02ed1f5a, 0x001bcaed}}}, + {X: Field{[10]uint32{0x012eb279, 0x03fdcca6, 0x00487b29, 0x03a619cb, 0x00abd72a, 0x03bbd9b7, 0x018f3b07, 0x001439a6, 0x03f65db1, 0x00290703}}, Y: Field{[10]uint32{0x01a99cd4, 0x0147bba6, 0x00244ba9, 0x03acaab3, 0x03bc0786, 0x014841c9, 0x019d7f86, 0x03fe77d8, 0x03205616, 0x0015be9e}}}, + {X: Field{[10]uint32{0x02217e92, 0x009395e8, 0x00ea9415, 0x02b6186f, 0x01615d85, 0x021677c4, 0x005917e0, 0x00540329, 0x0335f5bb, 0x00239d22}}, Y: Field{[10]uint32{0x00a46df8, 0x01d78fbf, 0x0266c9ef, 0x028e5b3f, 0x00825515, 0x025cef14, 0x03f86043, 0x031a9e12, 0x0362e226, 0x0015504c}}}, + {X: Field{[10]uint32{0x02dd17e5, 0x0354d709, 0x03708f35, 0x009f3339, 0x02bc506c, 0x01fb1eff, 0x00de2c7b, 0x001891cf, 0x0007cce7, 0x002a0fd8}}, Y: Field{[10]uint32{0x026af268, 0x00edd318, 0x02cbb26c, 0x005221e8, 0x015a1ac6, 0x03543585, 0x0397a379, 0x01f9718c, 0x012daf21, 0x002b523b}}}, + {X: Field{[10]uint32{0x0282d2fa, 0x022bfb44, 0x033abf11, 0x0376d1d5, 0x025cf208, 0x03f4e5f7, 0x000246eb, 0x0058924e, 0x02927e45, 0x003e7b5e}}, Y: Field{[10]uint32{0x00237b70, 0x02eed772, 0x01324087, 0x001ed2f9, 0x0303c844, 0x01c34e03, 0x015d53c6, 0x00c3de03, 0x02163a6f, 0x003055d1}}}, + {X: Field{[10]uint32{0x002ea08e, 0x00499c9b, 0x0255af01, 0x00491b14, 0x02c7dff0, 0x03c27e04, 0x01177078, 0x031e99fe, 0x038a175e, 0x0028af79}}, Y: Field{[10]uint32{0x01ca12ec, 0x004c8f72, 0x01e20b09, 0x00aa976e, 0x013b5dd6, 0x037140fe, 0x03d27419, 0x01302db5, 0x018fe82d, 0x001c495a}}}, + {X: Field{[10]uint32{0x039899b2, 0x03a88c6f, 0x01a56e62, 0x010b861d, 0x036b37da, 0x02385a42, 0x01cc0e9b, 0x019cda41, 0x01c79dcb, 0x0032a301}}, Y: Field{[10]uint32{0x0087534c, 0x003c67c5, 0x0199641d, 0x0275c4e2, 0x02275125, 0x03eea72a, 0x0160c1e3, 0x02b6e999, 0x01ca1e19, 0x00141314}}}, + {X: Field{[10]uint32{0x00eca02b, 0x01ec0655, 0x0397c061, 0x008725e7, 0x0061fd4b, 0x0140609e, 0x037ecdd1, 0x004eb104, 0x02ee61db, 0x0003f041}}, Y: Field{[10]uint32{0x03bef3ee, 0x0265945e, 0x0308e6bc, 0x035d724b, 0x02971f2c, 0x037168b0, 0x03ce9c2c, 0x0198e0ab, 0x02284fc2, 0x001b6956}}}, + {X: Field{[10]uint32{0x0092a8ab, 0x02da9c59, 0x0390b8b9, 0x012f0be3, 0x03504f67, 0x02b1e11b, 0x019a3217, 0x0041a150, 0x0039f47b, 0x000b2c86}}, Y: Field{[10]uint32{0x000a5757, 0x0204927c, 0x017aff10, 0x00cc116a, 0x00637264, 0x01978bf2, 0x0007feb9, 0x00112bda, 0x0332ae75, 0x00007fac}}}, + {X: Field{[10]uint32{0x0161f3ae, 0x03c84c95, 0x002245d4, 0x01c9e65c, 0x0356ba35, 0x02e957b6, 0x022963ef, 0x001ffff2, 0x00ee759c, 0x0019e314}}, Y: Field{[10]uint32{0x02cba96c, 0x022ffd2b, 0x03107c49, 0x015f6a9d, 0x01780b16, 0x00e2787e, 0x03afce2d, 0x00130724, 0x0387abbf, 0x0006626d}}}, + {X: Field{[10]uint32{0x024aa6fc, 0x00724420, 0x01da41b2, 0x032907cf, 0x0275d407, 0x002cbc99, 0x015097c3, 0x00d36608, 0x01ceaa2e, 0x002ad8f8}}, Y: Field{[10]uint32{0x00e2363c, 0x00955a9b, 0x00d82479, 0x0395f43d, 0x02812eb7, 0x011506b5, 0x01d3da2c, 0x03fdc9c5, 0x02611150, 0x003b196f}}}, + {X: Field{[10]uint32{0x003dd336, 0x02466ba4, 0x03cc9f5c, 0x01e6c14a, 0x03ec5672, 0x00499260, 0x0239a2a3, 0x02565d69, 0x01cafad5, 0x0029a4e6}}, Y: Field{[10]uint32{0x010d97dd, 0x00f84bb1, 0x017551c4, 0x012d8d24, 0x001c8730, 0x024eb8d2, 0x02799dcc, 0x013d369e, 0x0259c30c, 0x002d4971}}}, + {X: Field{[10]uint32{0x00fc5f3e, 0x01d4ef70, 0x001fbe13, 0x02bf4ef9, 0x00bd7a48, 0x00e720b4, 0x01cb5ed4, 0x033d7b49, 0x0282507b, 0x000cafd0}}, Y: Field{[10]uint32{0x0279bff2, 0x02eda543, 0x0033ac20, 0x02607a00, 0x026773c5, 0x038d1fa0, 0x0282f90b, 0x0367f495, 0x017a4336, 0x00336480}}}, + {X: Field{[10]uint32{0x02dfd862, 0x00ba6e3b, 0x032ec5e4, 0x0213da06, 0x02f2fe64, 0x005141c5, 0x003e2cc1, 0x000259c8, 0x01837e72, 0x00287f32}}, Y: Field{[10]uint32{0x01ed4fd7, 0x01b0c58c, 0x03a964ba, 0x03f6f05f, 0x02a419af, 0x008b7927, 0x03fa79a7, 0x03ee277f, 0x02c317e8, 0x000785ad}}}, + {X: Field{[10]uint32{0x030ceae0, 0x02ccae5f, 0x00838472, 0x03cceafa, 0x0360485c, 0x0073dce2, 0x01f1e822, 0x01f94063, 0x014e6961, 0x0036168c}}, Y: Field{[10]uint32{0x000a52f1, 0x02a8d9f8, 0x024e86e1, 0x033ccc22, 0x00fbbcba, 0x02229e6d, 0x034b5daa, 0x0379999a, 0x03eee92d, 0x001c683f}}}, + {X: Field{[10]uint32{0x020c2e7f, 0x000feabc, 0x0224e4ee, 0x017a010f, 0x02f5a53b, 0x00d5bab0, 0x01b20e31, 0x031c3905, 0x02fa0688, 0x00062489}}, Y: Field{[10]uint32{0x01515aa6, 0x0161f7bc, 0x00eaa1a0, 0x01fe54b9, 0x02fc2bba, 0x0261f3d8, 0x00be5759, 0x0354f9ef, 0x00ac40c7, 0x00366ff6}}}, + {X: Field{[10]uint32{0x019e1330, 0x001c2695, 0x01241ff7, 0x009534b6, 0x0132465d, 0x00b3c84d, 0x02674e63, 0x00458b5e, 0x020a6a93, 0x0034d50b}}, Y: Field{[10]uint32{0x0357c369, 0x01e645d2, 0x032bf9a0, 0x021012c7, 0x03dbd427, 0x008aef60, 0x00be5ed6, 0x0108d0d3, 0x0351e266, 0x000097a3}}}, + {X: Field{[10]uint32{0x013a2bc5, 0x01af861d, 0x0245f287, 0x016ab6ff, 0x029a8c0a, 0x0161d615, 0x006e6b82, 0x02d8487b, 0x0286fb2c, 0x00145367}}, Y: Field{[10]uint32{0x03cbf261, 0x02a10615, 0x0179145c, 0x02f1218a, 0x011b8370, 0x0197de76, 0x01918d9f, 0x008f10d0, 0x01c0be54, 0x001c01e1}}}, + {X: Field{[10]uint32{0x023fe495, 0x01a128fa, 0x03f6ad6d, 0x0188b5c8, 0x0343f9aa, 0x02b981aa, 0x031db335, 0x0333f787, 0x036512e9, 0x00327e18}}, Y: Field{[10]uint32{0x0230270b, 0x00efac87, 0x01db3a3b, 0x0163cc7d, 0x01b7b80b, 0x0372f8ee, 0x02f9445d, 0x02807271, 0x02313868, 0x000c34e9}}}, + {X: Field{[10]uint32{0x002deb93, 0x03481bcb, 0x00768357, 0x029cae42, 0x03641200, 0x0039e436, 0x00cd96fa, 0x0227f826, 0x020c8fc0, 0x000089bc}}, Y: Field{[10]uint32{0x025f66bc, 0x00ee56aa, 0x00cff1c0, 0x01bfb860, 0x015e0262, 0x012d0f6a, 0x03c20452, 0x024d880f, 0x03b8b43e, 0x000b88fe}}}, + {X: Field{[10]uint32{0x035350bd, 0x0125adb2, 0x03da0a38, 0x03f62366, 0x019fcc79, 0x02e29f98, 0x019bd9e6, 0x03e531c8, 0x0268d4b6, 0x00286c9d}}, Y: Field{[10]uint32{0x02d68a32, 0x013ccb75, 0x01b94264, 0x01d2dcae, 0x01c96b5f, 0x0003f57b, 0x02a62bc2, 0x0305ab9e, 0x005eb6e1, 0x000e4cff}}}, + {X: Field{[10]uint32{0x03e28887, 0x0037dfab, 0x01ae38c4, 0x01f05643, 0x0357dd4e, 0x02023ac2, 0x03b71810, 0x02f0c47d, 0x02570087, 0x00043c4d}}, Y: Field{[10]uint32{0x03366d84, 0x031ba178, 0x03995db5, 0x02d29e68, 0x02291338, 0x00753b73, 0x02c570d9, 0x030fb139, 0x008709bd, 0x000694b9}}}, + {X: Field{[10]uint32{0x01be3e46, 0x03861073, 0x01884273, 0x03623e62, 0x00f613b3, 0x0003717b, 0x03558615, 0x03d60fe7, 0x00eea984, 0x00022aa8}}, Y: Field{[10]uint32{0x0133260d, 0x025f48a8, 0x017b8f21, 0x016055b6, 0x0124e564, 0x00bc91bb, 0x02c46abc, 0x009df700, 0x01540f85, 0x0014a588}}}, + {X: Field{[10]uint32{0x01c89d2e, 0x019990fc, 0x034aa3bd, 0x03be96e2, 0x00dc9472, 0x01ea4ea6, 0x0397ce5f, 0x02c6de6c, 0x02710024, 0x000ca016}}, Y: Field{[10]uint32{0x003091fd, 0x01439621, 0x002a2f4d, 0x019702e2, 0x029e23c7, 0x00a9d3b5, 0x02d0a858, 0x00e7d734, 0x007cb7c1, 0x002bd497}}}, + {X: Field{[10]uint32{0x01412451, 0x0141d26a, 0x02b12cde, 0x030a1fda, 0x01058db0, 0x03ce9483, 0x030835a4, 0x035125fe, 0x00cc909a, 0x0031cbc4}}, Y: Field{[10]uint32{0x02c7c65a, 0x0044b5bc, 0x03030a7a, 0x00c99d19, 0x03b8e2ca, 0x0192d83c, 0x015ff15b, 0x02ea78df, 0x027d5197, 0x0029599b}}}, + {X: Field{[10]uint32{0x03fc9a22, 0x0082195d, 0x01f97c03, 0x016b5301, 0x0172c0fa, 0x0080ef50, 0x01a74adc, 0x0046c905, 0x00c78702, 0x001bb1da}}, Y: Field{[10]uint32{0x031b09fb, 0x009833ab, 0x014d05da, 0x010b6d9f, 0x03b51cbf, 0x01527230, 0x01e67100, 0x036ec249, 0x02220aa2, 0x00060e52}}}, + {X: Field{[10]uint32{0x00a64737, 0x00e9c70f, 0x01e61dc9, 0x0343bbe4, 0x01a846e7, 0x01c117f2, 0x01061438, 0x03455981, 0x03bbff99, 0x00378dba}}, Y: Field{[10]uint32{0x000f4270, 0x0292d3a4, 0x00c81b39, 0x02e86d34, 0x00488208, 0x011db138, 0x0247dcda, 0x02cded01, 0x02520f3c, 0x0031605d}}}, + {X: Field{[10]uint32{0x00c00218, 0x0082adcf, 0x0297bc0c, 0x008ad1a8, 0x0019bea3, 0x037a9bd3, 0x0001ef86, 0x03f1a16b, 0x015d5538, 0x003d4d05}}, Y: Field{[10]uint32{0x03b9523c, 0x0355c1ac, 0x026030d3, 0x013c5376, 0x03f9d092, 0x028b4494, 0x02b38a49, 0x02632bbb, 0x01f2979d, 0x0013eadf}}}, + {X: Field{[10]uint32{0x0286129d, 0x01ff304c, 0x035210bc, 0x0223436a, 0x0008db20, 0x0156da1f, 0x00ecb981, 0x02409420, 0x0050a1db, 0x0036bf6e}}, Y: Field{[10]uint32{0x011ada22, 0x03cbfbd9, 0x0291aa2e, 0x014183ff, 0x027d0ccc, 0x00dbeef4, 0x02be601f, 0x013050ff, 0x03fcae6c, 0x0010e597}}}, + {X: Field{[10]uint32{0x01d705ce, 0x027e7d26, 0x03721299, 0x01a5a02c, 0x022efe40, 0x00cf31a7, 0x016893ee, 0x02f21460, 0x02211dca, 0x002b2682}}, Y: Field{[10]uint32{0x00c728ef, 0x00e5c6e6, 0x03a8879c, 0x02c4e7d6, 0x02acf64e, 0x034035c4, 0x021e02c2, 0x034af7fe, 0x02408281, 0x0005baff}}}, + {X: Field{[10]uint32{0x00503030, 0x0207afa6, 0x02ceb1db, 0x00bc0ede, 0x0131ae2b, 0x02e2da7f, 0x01eb8b97, 0x03dba578, 0x03d4b48c, 0x002becde}}, Y: Field{[10]uint32{0x024b7929, 0x0336c582, 0x01d84d3f, 0x037b3913, 0x01c47c06, 0x017e8c4f, 0x0231af3e, 0x033765bc, 0x0164f8d9, 0x000733d0}}}, + {X: Field{[10]uint32{0x0088e709, 0x000a494e, 0x007d51a6, 0x00b4ac4a, 0x00f55368, 0x007591c3, 0x0318e7f2, 0x013e0cea, 0x02ef6c29, 0x00006e40}}, Y: Field{[10]uint32{0x00d69ebe, 0x007b3bb7, 0x024aa24b, 0x00091b1c, 0x0066ca01, 0x00359a93, 0x005e9fe4, 0x027f9c8e, 0x01ff34e4, 0x001dcd71}}}, + {X: Field{[10]uint32{0x003133e2, 0x0138a2df, 0x030b255e, 0x031630ef, 0x00c61b41, 0x00cc883f, 0x01b4ec3d, 0x00a561f1, 0x03108a20, 0x001b9396}}, Y: Field{[10]uint32{0x028fcfbe, 0x012a6766, 0x02f660f1, 0x0011b3a8, 0x00b55ae5, 0x01224569, 0x01ea4106, 0x01abd11a, 0x03065c33, 0x002d27e0}}}, + {X: Field{[10]uint32{0x037e9714, 0x00346ac6, 0x0280b5b1, 0x0261f607, 0x0112342d, 0x034e4c6e, 0x00532760, 0x0008416e, 0x037fbb80, 0x0021f38f}}, Y: Field{[10]uint32{0x00f0f635, 0x0065ce93, 0x02e16d1e, 0x0263751b, 0x016b71f8, 0x03078ce1, 0x013c3869, 0x03ce700a, 0x004779db, 0x0015b1aa}}}, + {X: Field{[10]uint32{0x01426b2d, 0x0199eab2, 0x01d0c9f6, 0x00189d1f, 0x02d368a7, 0x01687a51, 0x00193724, 0x01927270, 0x029bb7ba, 0x0021c90c}}, Y: Field{[10]uint32{0x010b944c, 0x0243fe59, 0x030d89d0, 0x03548745, 0x0155b109, 0x003e811e, 0x03a5a5bb, 0x03512d76, 0x00e848d7, 0x00011116}}}, + {X: Field{[10]uint32{0x02a1a4bc, 0x025fd8ad, 0x005cd7d2, 0x03333b21, 0x03c6338d, 0x01935f5f, 0x01b18b6b, 0x030244cb, 0x03a64735, 0x002e46fb}}, Y: Field{[10]uint32{0x00138467, 0x03dc0778, 0x0340b14c, 0x00323e7c, 0x0015e7ca, 0x0391d9a8, 0x03f16cfb, 0x01e71a19, 0x01ef8c9b, 0x002ece58}}}, + {X: Field{[10]uint32{0x00d08fb3, 0x038c8028, 0x0296cd8d, 0x02e19735, 0x009ae3d6, 0x0228d227, 0x00fbb896, 0x025fa8ef, 0x0259332e, 0x0010c87a}}, Y: Field{[10]uint32{0x00cd538e, 0x032d8021, 0x00f7ee31, 0x008d7394, 0x0203f6b0, 0x01ce8d7a, 0x0182e3fc, 0x02754f5d, 0x00d4c514, 0x0025f920}}}, + {X: Field{[10]uint32{0x02f1bc6d, 0x014b29bd, 0x02069057, 0x0357a230, 0x017950a8, 0x02a63508, 0x01051d25, 0x025a990c, 0x03b2836d, 0x00371165}}, Y: Field{[10]uint32{0x03df36ff, 0x01cfc814, 0x02ad7f9b, 0x03f79310, 0x03362bb4, 0x00d5c96a, 0x00e3a83c, 0x00c32ba1, 0x000d16ba, 0x0031c496}}}, + {X: Field{[10]uint32{0x0159a009, 0x00b4e700, 0x00992997, 0x0194b67e, 0x03c5f19b, 0x037801ee, 0x02617508, 0x00c0242c, 0x02f085ff, 0x00339913}}, Y: Field{[10]uint32{0x033cc8f7, 0x02641b35, 0x02c17c08, 0x01a48299, 0x00c9402a, 0x019026ac, 0x0200c92f, 0x02e596ea, 0x01d0058d, 0x00002690}}}, + {X: Field{[10]uint32{0x0136b41a, 0x01138066, 0x002b4a74, 0x0309611a, 0x022ec439, 0x00f2e3bc, 0x01aecf42, 0x02d2eae0, 0x035cb6c7, 0x0002e878}}, Y: Field{[10]uint32{0x01bd6272, 0x0339a50d, 0x0128ad2f, 0x00cc73ab, 0x0001098b, 0x02c5ea39, 0x0178d6f7, 0x037918f8, 0x0252f91d, 0x003cecf1}}}, + {X: Field{[10]uint32{0x02e3920f, 0x0344d821, 0x0114d72e, 0x011c640b, 0x036988c7, 0x011763d0, 0x03c839f8, 0x006efd83, 0x02a02a33, 0x002e7e63}}, Y: Field{[10]uint32{0x020d03d3, 0x03eca4b1, 0x0327d318, 0x013ea52e, 0x0235d9b0, 0x02a85f04, 0x0326f5e8, 0x00e85b31, 0x0101a7f2, 0x00027ec9}}}, + {X: Field{[10]uint32{0x007e886f, 0x028da7a0, 0x02ed09c1, 0x03c45b5e, 0x00dc10db, 0x03f3fe4c, 0x038e702f, 0x003e0711, 0x034655f9, 0x001c1645}}, Y: Field{[10]uint32{0x0205a59f, 0x0255426c, 0x02f8c64b, 0x010747cd, 0x03d09d3f, 0x0182a8fd, 0x031ec925, 0x03c32836, 0x00a4b9d6, 0x002099e8}}}, + {X: Field{[10]uint32{0x025434bf, 0x00886b30, 0x0031eb76, 0x01b938c7, 0x0114cc5a, 0x01004858, 0x036469f8, 0x02818e9e, 0x00bcc43c, 0x003bf69e}}, Y: Field{[10]uint32{0x02fa2864, 0x038de055, 0x032aa92b, 0x0191126b, 0x034cdf80, 0x00c64f44, 0x0121b135, 0x03e1643d, 0x03f6ef45, 0x001ed0db}}}, + {X: Field{[10]uint32{0x010ccc34, 0x01b4251d, 0x02f0e430, 0x01d00068, 0x0335fbd8, 0x02015aba, 0x0230988c, 0x002578e9, 0x030f5d62, 0x0008a692}}, Y: Field{[10]uint32{0x0234de6e, 0x028d6578, 0x034288be, 0x00d771a8, 0x00741acf, 0x01a9466f, 0x01694cef, 0x01d38f4b, 0x03af491c, 0x0005c34c}}}, + {X: Field{[10]uint32{0x02f07100, 0x0238bb1a, 0x03f178ce, 0x02d2069a, 0x03f91860, 0x02b343e4, 0x01d44b83, 0x0084c862, 0x008e20a0, 0x0031dc3d}}, Y: Field{[10]uint32{0x00266eec, 0x03e18870, 0x038c9610, 0x02fdf82f, 0x02a6d8db, 0x00c96fab, 0x0143aca3, 0x00647e7b, 0x00d38b2a, 0x001f8448}}}, + {X: Field{[10]uint32{0x0286aa44, 0x0121a6bc, 0x00af8eb7, 0x0260f509, 0x01e89b89, 0x002c626a, 0x020a48a2, 0x00754a2d, 0x00630390, 0x002976cb}}, Y: Field{[10]uint32{0x00af1e50, 0x03868dc9, 0x03a1446f, 0x021a0146, 0x010384e1, 0x0270dfbb, 0x034e6abd, 0x0356c069, 0x01926a93, 0x002e6587}}}, + {X: Field{[10]uint32{0x0241db1c, 0x01eca636, 0x005ff007, 0x01233a8b, 0x024b447e, 0x005a36e6, 0x03897b7c, 0x000a2298, 0x029e9f33, 0x000fb1c5}}, Y: Field{[10]uint32{0x03053fb2, 0x01de0d7c, 0x00b49e44, 0x01a04b96, 0x024b3be2, 0x034d2935, 0x004aa34e, 0x003b688b, 0x034de8e6, 0x0030ffa5}}}, + {X: Field{[10]uint32{0x035bf3b3, 0x00b0453e, 0x02b777cf, 0x024f3a4b, 0x03810cff, 0x0267923a, 0x0060d4cf, 0x00461356, 0x0217c331, 0x002dccf7}}, Y: Field{[10]uint32{0x000c11b0, 0x038690d2, 0x0290ad28, 0x033a7c9a, 0x0157fc4a, 0x02ed855c, 0x000d537e, 0x002b4c80, 0x00dd72d2, 0x00031d70}}}, + {X: Field{[10]uint32{0x002ed278, 0x0140585b, 0x01df28b4, 0x0279aa08, 0x00027db5, 0x005601d7, 0x0149616a, 0x02f09057, 0x0208d555, 0x0015f5b8}}, Y: Field{[10]uint32{0x0346eba8, 0x00d31b0d, 0x02891fca, 0x00b9b3ca, 0x0274b5d0, 0x014ecd3d, 0x028e3533, 0x036968d4, 0x0279d130, 0x0020e1c2}}}, + {X: Field{[10]uint32{0x02d3673d, 0x0249621a, 0x03aab8d7, 0x0027f6cb, 0x026f0694, 0x00823dbc, 0x032fd3c3, 0x0291e0ef, 0x00f1aa69, 0x0027908d}}, Y: Field{[10]uint32{0x008d0653, 0x00dccf8a, 0x0029bd75, 0x005abffb, 0x019fb42b, 0x01e81610, 0x03ed0414, 0x03af0fa2, 0x03737725, 0x0017e691}}}, + {X: Field{[10]uint32{0x02b68173, 0x00fc7ce6, 0x00a758d4, 0x03c9d81a, 0x0322e4fc, 0x0362ba44, 0x0096202f, 0x00bff6f6, 0x039d9fc1, 0x001bf8ff}}, Y: Field{[10]uint32{0x0109fa1b, 0x00f688ad, 0x02a3c2ab, 0x0058f9fe, 0x010bf94e, 0x02482316, 0x03ef7b50, 0x0118209c, 0x02821d41, 0x003bc355}}}, + {X: Field{[10]uint32{0x005c4631, 0x02ab96ed, 0x0161fff2, 0x015f446c, 0x0154c492, 0x01532d26, 0x02af415e, 0x01b867be, 0x014fd258, 0x000b0c79}}, Y: Field{[10]uint32{0x03311346, 0x003908c4, 0x0308bd8e, 0x015069c1, 0x00039af3, 0x03ee0979, 0x0353c0e9, 0x02c6b39f, 0x00ad364a, 0x002fb7ec}}}, + {X: Field{[10]uint32{0x00203ebc, 0x019839de, 0x037823b8, 0x0225270b, 0x004d745b, 0x02e4ce16, 0x00ea2ee2, 0x01230d1e, 0x02590231, 0x0014565c}}, Y: Field{[10]uint32{0x02aa1817, 0x027cefd9, 0x033628a5, 0x03396984, 0x03b81ff7, 0x015e4140, 0x03dc4702, 0x02dd0f13, 0x0153f688, 0x000ca7d8}}}, + {X: Field{[10]uint32{0x01caf1f4, 0x010791b3, 0x03d6070d, 0x0213378d, 0x020d3946, 0x03d4733e, 0x03fcb3bd, 0x035ee370, 0x032458f7, 0x000622cc}}, Y: Field{[10]uint32{0x03901910, 0x0195a934, 0x03104487, 0x030a22ab, 0x003d1dde, 0x026671aa, 0x026b04c8, 0x02845cc6, 0x01dad112, 0x000137a9}}}, + {X: Field{[10]uint32{0x03a6e471, 0x00dcb573, 0x0090e307, 0x033dfc4f, 0x0085f804, 0x0384f8aa, 0x02b0a494, 0x03856233, 0x0241a503, 0x00248163}}, Y: Field{[10]uint32{0x00ec108a, 0x01c95761, 0x0151068e, 0x01e96334, 0x01bcbe17, 0x0085dfa5, 0x025a230e, 0x01a1785f, 0x02d4449e, 0x000da01c}}}, + {X: Field{[10]uint32{0x00099fcf, 0x011e20cd, 0x0105d5b6, 0x03a27a0c, 0x03726f79, 0x01bab14d, 0x03a7a689, 0x01941bc9, 0x022644e0, 0x001a9bd4}}, Y: Field{[10]uint32{0x01132586, 0x0268cb69, 0x013214c1, 0x0269692d, 0x007104e7, 0x01d261fd, 0x027b6645, 0x0360fac5, 0x014bd8ce, 0x0033cfb7}}}, + {X: Field{[10]uint32{0x0376bb26, 0x03e49bc8, 0x0148d89c, 0x0008d3c0, 0x03c77c34, 0x035523cd, 0x021e0efa, 0x03730f28, 0x02a2340c, 0x001f8df3}}, Y: Field{[10]uint32{0x009a0016, 0x027fa6b3, 0x0369e83b, 0x00af4c72, 0x026b02d4, 0x0172f08a, 0x022938e0, 0x01f1aac1, 0x029b42a2, 0x0031cb60}}}, + {X: Field{[10]uint32{0x00d0b667, 0x023ee0b6, 0x00c5ad84, 0x00314b0f, 0x00800d01, 0x0325ea37, 0x03b4b39b, 0x01b3deeb, 0x0069cf0f, 0x00079b08}}, Y: Field{[10]uint32{0x0260196f, 0x031c8e23, 0x03e81f86, 0x02198c2d, 0x00491469, 0x032c2450, 0x02cfbdc2, 0x03611a1b, 0x0276bca1, 0x00030607}}}, + {X: Field{[10]uint32{0x02f07e16, 0x00fbd6c1, 0x00be3520, 0x00f32901, 0x02f36ba4, 0x0112d1fa, 0x02336c8d, 0x0293dec1, 0x000fe6ee, 0x00155998}}, Y: Field{[10]uint32{0x01057e55, 0x03f87380, 0x0278b5a7, 0x0059da56, 0x0269e5ac, 0x03cdcbb6, 0x00acb4c0, 0x0065e7b5, 0x008f7adc, 0x001aeef4}}}, + {X: Field{[10]uint32{0x01c791b5, 0x0341f64c, 0x03a7619a, 0x005b54a6, 0x00690450, 0x017653e3, 0x01c5adc4, 0x00717008, 0x034ded45, 0x0010d718}}, Y: Field{[10]uint32{0x034d4cc1, 0x02d391f1, 0x02c14024, 0x01d8adbd, 0x02850098, 0x0254f032, 0x006f9591, 0x02943c88, 0x02688252, 0x000c7b78}}}, + {X: Field{[10]uint32{0x0057b9b6, 0x0108d0a7, 0x027e9dd1, 0x00abe157, 0x01f19a0d, 0x014a9053, 0x01c06122, 0x01c71ce5, 0x00e6a660, 0x001bee33}}, Y: Field{[10]uint32{0x0368e052, 0x017627c9, 0x034c5b84, 0x03baaff8, 0x02183dad, 0x0208c989, 0x0399fad6, 0x014c5351, 0x0249e2f0, 0x0005fe50}}}, + {X: Field{[10]uint32{0x0180dc36, 0x037a30ca, 0x01890148, 0x028a6781, 0x0011c711, 0x0153b98d, 0x016a695f, 0x01325252, 0x029920fc, 0x00219bcf}}, Y: Field{[10]uint32{0x018d62f7, 0x0221e1b4, 0x0109bae1, 0x000ba0de, 0x01f5211f, 0x030036cb, 0x00a11e13, 0x030f074e, 0x01af4f8d, 0x003a6715}}}, + {X: Field{[10]uint32{0x00468b2d, 0x01bd8620, 0x03c79461, 0x002df009, 0x0162404f, 0x0372f941, 0x024f7234, 0x0122669c, 0x0010b716, 0x0020304d}}, Y: Field{[10]uint32{0x000b91aa, 0x037e254a, 0x016216d8, 0x03870b10, 0x01bd6e8f, 0x0371a74e, 0x03592819, 0x00793f5e, 0x002e71a0, 0x00218c65}}}, + {X: Field{[10]uint32{0x02a7da99, 0x00577060, 0x004d2c38, 0x030292e9, 0x00bf37ab, 0x005eedbb, 0x03e68bec, 0x02762014, 0x01eeef4e, 0x0023e16f}}, Y: Field{[10]uint32{0x0217897e, 0x027edfbb, 0x02962b4a, 0x017927b9, 0x034e8c29, 0x02a96468, 0x00f8ce78, 0x00d0b2bc, 0x03df8ae9, 0x000db516}}}, + {X: Field{[10]uint32{0x01600749, 0x01280692, 0x022aa440, 0x039209b6, 0x0317a920, 0x03ba286c, 0x00edaf40, 0x03369833, 0x032b3393, 0x00027342}}, Y: Field{[10]uint32{0x02fc5a5a, 0x03977baa, 0x00463414, 0x024a9258, 0x023a00c4, 0x03c313a8, 0x0101e348, 0x01942ec6, 0x035a51d9, 0x000e0c74}}}, + {X: Field{[10]uint32{0x009f33b0, 0x0380ddf5, 0x032d3bdb, 0x032b7fe8, 0x02003ab7, 0x01d31de6, 0x03832f79, 0x01fff5b3, 0x01af15c6, 0x0028317c}}, Y: Field{[10]uint32{0x01cb91ec, 0x00a5a080, 0x03c57800, 0x00aee210, 0x03307939, 0x0188317f, 0x03344123, 0x01898905, 0x00d442de, 0x001abfd0}}}, + {X: Field{[10]uint32{0x00edfacc, 0x0208c4d6, 0x02d7890a, 0x01c0df2c, 0x02c01113, 0x03b100e7, 0x021fbf02, 0x03885f5f, 0x03400013, 0x002bce5b}}, Y: Field{[10]uint32{0x02cfb936, 0x03a53d66, 0x024bc936, 0x0267a161, 0x016754c5, 0x0017c397, 0x0035d167, 0x014d28b7, 0x01e25a57, 0x002aabae}}}, + {X: Field{[10]uint32{0x01ed0eaf, 0x039c7124, 0x01307cf1, 0x01c7cbe2, 0x0187d4c0, 0x02f8d65e, 0x02871b0d, 0x03b3179f, 0x0057e3e0, 0x003f6b0f}}, Y: Field{[10]uint32{0x00a09fc7, 0x03981a0f, 0x00b18cde, 0x03fd7684, 0x02b14d14, 0x033f8db5, 0x00877afc, 0x03c259cf, 0x00cca22e, 0x000c0a28}}}, + {X: Field{[10]uint32{0x02fa88b7, 0x011c767b, 0x0103e14a, 0x035aab14, 0x00ae745f, 0x023bebb7, 0x012b6a96, 0x02eaa6b8, 0x01239587, 0x0038ebac}}, Y: Field{[10]uint32{0x02f769c7, 0x00ce5ef2, 0x036cd2d3, 0x00168b23, 0x017b4603, 0x02c9f469, 0x006833fb, 0x01512f8c, 0x038652c1, 0x001fb471}}}, + {X: Field{[10]uint32{0x038352f5, 0x01694335, 0x00a0e605, 0x01e8f8f8, 0x000eb83d, 0x0246b2e5, 0x00cc663c, 0x00058bed, 0x01e3382a, 0x0025aebb}}, Y: Field{[10]uint32{0x00c50cbc, 0x02b8167c, 0x039972ad, 0x0187a963, 0x0105100d, 0x02e4c022, 0x00c3a80f, 0x00a090e2, 0x0297b3ad, 0x001e1c8b}}}, + {X: Field{[10]uint32{0x03f5f5b5, 0x0013b88e, 0x03e408de, 0x008911a8, 0x02ba93d1, 0x036d51bf, 0x01e1eda4, 0x0158dfcd, 0x01561697, 0x001a1c12}}, Y: Field{[10]uint32{0x014ca494, 0x00d86f18, 0x005ff46e, 0x0099dc90, 0x02934bd2, 0x01310986, 0x006c7a20, 0x011c7ce8, 0x02feb5f7, 0x001891f4}}}, + {X: Field{[10]uint32{0x00bcf749, 0x0257827d, 0x01ad7940, 0x014be0fb, 0x0362eaf6, 0x02c374ac, 0x0202d72e, 0x03e1622b, 0x02342ca1, 0x001c7331}}, Y: Field{[10]uint32{0x012a45fb, 0x027e60f7, 0x02c686cb, 0x02510aa5, 0x01aee177, 0x01c0f968, 0x00e3f222, 0x0039a52a, 0x03d923b1, 0x00121eba}}}, + {X: Field{[10]uint32{0x0235d3f0, 0x002cfb3d, 0x00dff25d, 0x02ebc927, 0x01713844, 0x03a2d842, 0x00cd1831, 0x0268b816, 0x01d06573, 0x001bf687}}, Y: Field{[10]uint32{0x0078108e, 0x02597d48, 0x013df60a, 0x00f554dc, 0x00a232a9, 0x02a22a2c, 0x00a96c32, 0x032dc93e, 0x00f48afc, 0x0028bb91}}}, + {X: Field{[10]uint32{0x01147f45, 0x005b31b5, 0x03b64b10, 0x03d60e39, 0x0165cbfc, 0x02651c45, 0x02395c13, 0x0365ed17, 0x0309ff5a, 0x0034fc9d}}, Y: Field{[10]uint32{0x03265077, 0x024559e4, 0x0161a043, 0x03854767, 0x0329006e, 0x026ef5b1, 0x02026ed2, 0x03870d53, 0x0016cdc8, 0x003e5b2b}}}, + {X: Field{[10]uint32{0x00a011d6, 0x038d9ba9, 0x0278641e, 0x024e38af, 0x0268f827, 0x02e0a4b1, 0x027d064b, 0x01bbfde2, 0x0144a28a, 0x0009ee86}}, Y: Field{[10]uint32{0x027bdcab, 0x03dea613, 0x014d0a77, 0x01755d1a, 0x01fcbe30, 0x0163c15c, 0x0312fc94, 0x0190c39c, 0x00759d21, 0x00092fbe}}}, + {X: Field{[10]uint32{0x004fe190, 0x039f4025, 0x0348ee35, 0x011061c1, 0x01772f4c, 0x021cb83a, 0x03ca9ff7, 0x01f3820b, 0x00125fd8, 0x003f4dee}}, Y: Field{[10]uint32{0x03dcb453, 0x01ee6809, 0x02951184, 0x01118041, 0x028ec68a, 0x02ccdf7c, 0x01b8c43f, 0x0066376e, 0x0125d9ae, 0x00251429}}}, + {X: Field{[10]uint32{0x02071c69, 0x013322a3, 0x00b802c2, 0x02296576, 0x03446751, 0x00caa005, 0x0329b63f, 0x00f83634, 0x00ca9258, 0x0036659f}}, Y: Field{[10]uint32{0x03376c25, 0x0192ba5c, 0x02ab97ed, 0x034c85e7, 0x0328361c, 0x00b96bc9, 0x0086dbb9, 0x0275a4ef, 0x0273c2c3, 0x001ab28d}}}, + {X: Field{[10]uint32{0x014a0a3c, 0x027b502e, 0x0044f3d8, 0x017c38f4, 0x02f53cd4, 0x03f65705, 0x02798efb, 0x0007af48, 0x013c4a8d, 0x0023ba0b}}, Y: Field{[10]uint32{0x011e1b2d, 0x0189b1de, 0x022f036c, 0x02836ceb, 0x0379c8b6, 0x0356e702, 0x0271c3af, 0x03ee742a, 0x037e9167, 0x00382c2a}}}, + {X: Field{[10]uint32{0x00562caa, 0x022876c3, 0x01a4764c, 0x0336fc8b, 0x038d709c, 0x0140a5c1, 0x03ea0291, 0x02d526a7, 0x03d2817c, 0x001187b0}}, Y: Field{[10]uint32{0x036684af, 0x01abd1eb, 0x0259adb1, 0x0036c218, 0x0126cdf8, 0x00594100, 0x00f6e126, 0x025e4144, 0x017dcb5c, 0x001986cb}}}, + {X: Field{[10]uint32{0x01f5793e, 0x00406f50, 0x01890673, 0x0203cf79, 0x0059f517, 0x014ffdae, 0x01bb7ffb, 0x032bb51a, 0x005c0935, 0x000c5562}}, Y: Field{[10]uint32{0x0043dfff, 0x010d3388, 0x0181e28d, 0x0309a71d, 0x0208ca6a, 0x023cd5db, 0x00bbdfe0, 0x00423e34, 0x00e992ac, 0x00180d65}}}, + {X: Field{[10]uint32{0x024ea9eb, 0x0109d60a, 0x02f0dcad, 0x028ae7ed, 0x00c68a60, 0x03621d39, 0x02267a0a, 0x02670641, 0x03b0ad91, 0x00172b24}}, Y: Field{[10]uint32{0x000032ab, 0x008ee662, 0x0234a0e4, 0x0254df99, 0x03c48e72, 0x035d20fa, 0x0161fe7a, 0x036ae5a6, 0x0298a116, 0x0020dbea}}}, + {X: Field{[10]uint32{0x0156cc42, 0x03b15b1a, 0x039047e3, 0x01d09121, 0x0154d052, 0x02a3c05e, 0x02eea1c4, 0x03bd5a2d, 0x03acafd5, 0x0007edb4}}, Y: Field{[10]uint32{0x022a5411, 0x00f6bf4b, 0x00839313, 0x0120460f, 0x027431be, 0x014318d8, 0x036a1ec0, 0x013cc9b7, 0x01f2f89e, 0x002e3be4}}}, + {X: Field{[10]uint32{0x002b28f2, 0x03f1dcf6, 0x02bdcd31, 0x015fdeec, 0x0369fe01, 0x03f7b9ec, 0x00618f03, 0x0001768c, 0x01e152f0, 0x0022702c}}, Y: Field{[10]uint32{0x00b4a507, 0x01deac60, 0x007a9254, 0x0362b27d, 0x01ad8223, 0x009b19ed, 0x0105de5b, 0x01a05ab3, 0x0357bbf4, 0x001875b8}}}, + {X: Field{[10]uint32{0x039a211e, 0x01eac6ed, 0x01751080, 0x02f83cc7, 0x007cb968, 0x01064c90, 0x023875a3, 0x006bf359, 0x018b1f9d, 0x0001f174}}, Y: Field{[10]uint32{0x00779ff3, 0x02e70def, 0x01b3b6dc, 0x02c4a5b2, 0x03d136b5, 0x0353a517, 0x023b4495, 0x03683ef4, 0x03ea985b, 0x00117ef9}}}, + {X: Field{[10]uint32{0x0159f85c, 0x027744fc, 0x03792ddf, 0x034e978b, 0x00b6afda, 0x017adfc0, 0x031ad4db, 0x0042326c, 0x03c19393, 0x003209f3}}, Y: Field{[10]uint32{0x013a1cb1, 0x006aa99d, 0x01a129c3, 0x00f758cd, 0x000330ea, 0x0265478b, 0x03e12fc8, 0x03500553, 0x007a3025, 0x001717f8}}}, + {X: Field{[10]uint32{0x03cc5d9b, 0x005e1d55, 0x001e6571, 0x0201541d, 0x002e0dfa, 0x01ac806d, 0x01e2fa40, 0x03df7081, 0x032bb1f3, 0x0018d1ec}}, Y: Field{[10]uint32{0x028c3ba4, 0x02f868eb, 0x02e52e22, 0x03cec5c3, 0x01a455d3, 0x03e2b09b, 0x00d72553, 0x034d3292, 0x02109508, 0x003e3cc3}}}, + {X: Field{[10]uint32{0x03ae1014, 0x00748999, 0x00130e0a, 0x00ea5266, 0x02bfa21f, 0x036c0cab, 0x02e42837, 0x0040757d, 0x0195e822, 0x0035227d}}, Y: Field{[10]uint32{0x027c66a9, 0x0299b648, 0x000c22b4, 0x037fae54, 0x012bfa98, 0x00987e32, 0x024c33d1, 0x02851a3d, 0x02898dc4, 0x0022c44b}}}, + {X: Field{[10]uint32{0x00a6205b, 0x0016372e, 0x000b276f, 0x01cf50ef, 0x0102200d, 0x039da991, 0x02b8f981, 0x03ef3ab7, 0x0063fb4a, 0x002432e7}}, Y: Field{[10]uint32{0x02e74645, 0x00c93394, 0x0087ba02, 0x01ed6fdb, 0x002611a7, 0x00811c76, 0x02f19c67, 0x01fc6aee, 0x01c0f6ba, 0x002252bf}}}, + {X: Field{[10]uint32{0x02196af4, 0x0269e55a, 0x0018bbc4, 0x01b1a67a, 0x00869bb0, 0x002a6255, 0x026a1bef, 0x0087d395, 0x00bb19f1, 0x001037da}}, Y: Field{[10]uint32{0x020cec90, 0x02f758c8, 0x0269da31, 0x034a90c7, 0x02e1d6b3, 0x01843dad, 0x009f8303, 0x037df0c7, 0x0009d0ce, 0x001c3507}}}, + {X: Field{[10]uint32{0x03da41bf, 0x00450ea0, 0x009d78b4, 0x007acd55, 0x00a888dd, 0x00c7c5ff, 0x00962b64, 0x01411647, 0x0174a0ac, 0x00124dbf}}, Y: Field{[10]uint32{0x03ff4f92, 0x02d7fc86, 0x03392c5a, 0x00ad7743, 0x013fc5b7, 0x02cfc73d, 0x0068af85, 0x0214fb5f, 0x01dd6517, 0x000cea38}}}, + {X: Field{[10]uint32{0x02023557, 0x03a0ac36, 0x03594288, 0x039eca8f, 0x03c1a0c6, 0x025601d2, 0x03aad592, 0x01d6e3d6, 0x01388110, 0x0005c5dd}}, Y: Field{[10]uint32{0x01b10837, 0x02ec1cb0, 0x0077504b, 0x00a08e6a, 0x01b163fe, 0x00d36848, 0x03a0c5f7, 0x01d0b179, 0x0014efd8, 0x00160f52}}}, + {X: Field{[10]uint32{0x038926a2, 0x01dc33d3, 0x02bab586, 0x023c0da4, 0x006abb11, 0x03c87c82, 0x014c82d8, 0x0117aad0, 0x03fbad51, 0x002849ad}}, Y: Field{[10]uint32{0x022ec669, 0x032cb46b, 0x00394452, 0x0251a679, 0x0288d465, 0x007dffb0, 0x02bfdb74, 0x02d34868, 0x0017b601, 0x001e6d2b}}}, + {X: Field{[10]uint32{0x02871163, 0x0039c0eb, 0x004fdba3, 0x02361a61, 0x023485db, 0x03619694, 0x015de512, 0x00012035, 0x0361f884, 0x00147b33}}, Y: Field{[10]uint32{0x02a8d50f, 0x032bb4cb, 0x03dcee87, 0x02a55e94, 0x0012b2c6, 0x0003a824, 0x000c46a2, 0x0327c20b, 0x025397bd, 0x001652b4}}}, + {X: Field{[10]uint32{0x02b3c7a9, 0x016e8ed4, 0x02882510, 0x00e22d45, 0x03d89844, 0x01e7496b, 0x01966cca, 0x01c4c7d5, 0x02336f1b, 0x0025de05}}, Y: Field{[10]uint32{0x03214c60, 0x03a2764e, 0x01516e47, 0x03bbd0d5, 0x02105011, 0x0149d7ad, 0x01a20e0a, 0x023f8337, 0x0141b4b0, 0x003c77cd}}}, + {X: Field{[10]uint32{0x0093f7fe, 0x01e6f80b, 0x03f01cdb, 0x00ea1c2e, 0x0064231d, 0x0068d73a, 0x038cf6db, 0x0236ad71, 0x003a7224, 0x0022f0b1}}, Y: Field{[10]uint32{0x00cbb425, 0x02ef8385, 0x01b2ef49, 0x001e009a, 0x030b428f, 0x03eee75e, 0x028106af, 0x0276fc27, 0x0276173e, 0x00354b8b}}}, + {X: Field{[10]uint32{0x01aef9f2, 0x014f9401, 0x020d9799, 0x01d7a267, 0x036c3271, 0x012e42cd, 0x00abd033, 0x02846729, 0x00816c7c, 0x00167b5e}}, Y: Field{[10]uint32{0x02449910, 0x02981a85, 0x02133152, 0x0094d2f1, 0x02207794, 0x019a7836, 0x01b46a28, 0x003faf93, 0x0027690c, 0x0008e7f0}}}, + {X: Field{[10]uint32{0x03c70fda, 0x0033dacb, 0x025200ca, 0x0268b2ad, 0x01c8ff8e, 0x00a8e716, 0x01923907, 0x01265750, 0x01d17671, 0x002fb0e6}}, Y: Field{[10]uint32{0x010ba8e7, 0x0266ff6b, 0x03fbf709, 0x01f3bf17, 0x02a21a2f, 0x0394bcd1, 0x021ab9ad, 0x0082348e, 0x01ef7831, 0x003ff12f}}}, + {X: Field{[10]uint32{0x020c4d34, 0x00d62167, 0x0307668a, 0x036d6318, 0x019e3b87, 0x0348a9df, 0x01f99517, 0x03c76fe9, 0x01eef4ce, 0x0024ef49}}, Y: Field{[10]uint32{0x0335b4dc, 0x039aa1d9, 0x00860794, 0x018c0d01, 0x01fa008c, 0x03e265c3, 0x003b1f94, 0x006e1269, 0x00129736, 0x00375f45}}}, + {X: Field{[10]uint32{0x02ddcf58, 0x039b2483, 0x00f8e3e8, 0x0316f7a9, 0x0344e553, 0x01d15695, 0x00b2e708, 0x01354456, 0x0257fb4e, 0x002c80e9}}, Y: Field{[10]uint32{0x02d8c99c, 0x0200d657, 0x03a6a0ac, 0x029e866b, 0x03c74ae5, 0x010fee9e, 0x030d4c75, 0x03860987, 0x01480c63, 0x0026091a}}}, + {X: Field{[10]uint32{0x00f6aa69, 0x01a0f760, 0x024e70be, 0x008533fd, 0x023e20ac, 0x0076a2aa, 0x018a28d1, 0x009ed604, 0x013c1dcd, 0x002bce2d}}, Y: Field{[10]uint32{0x009fd919, 0x030cbe70, 0x02c16acd, 0x01e463e2, 0x035ec101, 0x028feb19, 0x02867237, 0x00ad08d1, 0x0136ba8b, 0x002478e2}}}, + {X: Field{[10]uint32{0x03fd8518, 0x0315d3da, 0x02d862f8, 0x01c83d79, 0x02988ed4, 0x002ad33b, 0x00587562, 0x03601788, 0x025b0b99, 0x00157936}}, Y: Field{[10]uint32{0x00eb2d35, 0x005845eb, 0x0130940b, 0x00963c5e, 0x02e7713b, 0x00d30d9b, 0x01b5976c, 0x0274cb85, 0x02347517, 0x001cda2f}}}, + {X: Field{[10]uint32{0x002133f5, 0x00e83279, 0x035d9018, 0x01b74968, 0x01a3608c, 0x03605f64, 0x021a15e1, 0x0389020f, 0x002aa7eb, 0x0034f5fa}}, Y: Field{[10]uint32{0x005d504b, 0x029f53ff, 0x03bfcae6, 0x01a5b06f, 0x024b1c6d, 0x031789dc, 0x01080b06, 0x00df1a25, 0x01cce895, 0x00029491}}}, + {X: Field{[10]uint32{0x02e48799, 0x01b9699b, 0x003f2231, 0x012da31b, 0x03beab75, 0x03732641, 0x021e8031, 0x0110de5d, 0x039fe6b5, 0x0022f453}}, Y: Field{[10]uint32{0x0178fe19, 0x0042bfda, 0x00603891, 0x009f66ba, 0x00ecb2eb, 0x0158ce1a, 0x0263a263, 0x01895d45, 0x0150a387, 0x003e2770}}}, + {X: Field{[10]uint32{0x02212932, 0x0223f488, 0x0370485c, 0x016c1208, 0x023a7dbc, 0x01ca9688, 0x02b08589, 0x003d0b3f, 0x036503f5, 0x002c75c8}}, Y: Field{[10]uint32{0x002143ac, 0x03cdc5b0, 0x0025570b, 0x013801f4, 0x01627986, 0x0216c877, 0x00aa52d3, 0x0387e6dd, 0x01d8594e, 0x0010165f}}}, + {X: Field{[10]uint32{0x039d3023, 0x03d3dc99, 0x013a8593, 0x000c1787, 0x01c22d44, 0x001173bd, 0x03e4763e, 0x0248324e, 0x03e1cb7d, 0x001134c0}}, Y: Field{[10]uint32{0x0189a70c, 0x004b1857, 0x02004769, 0x02a6806c, 0x03e77e41, 0x00f8f3b8, 0x03d6fcc8, 0x0368bcc6, 0x02fc5ed6, 0x001e7ef7}}}, + {X: Field{[10]uint32{0x030cb3ca, 0x03ae848e, 0x00aed3df, 0x026420f5, 0x02925589, 0x0183ae65, 0x03bd4b90, 0x02aba5c9, 0x0054447a, 0x0005957b}}, Y: Field{[10]uint32{0x0226fcdf, 0x03b39419, 0x017443b9, 0x029ac76b, 0x006ea28f, 0x027c1b65, 0x00f7bf8a, 0x038c7a62, 0x0178cf96, 0x0023a439}}}, + {X: Field{[10]uint32{0x005a3f29, 0x01eedf61, 0x02cb1971, 0x00120032, 0x027902b1, 0x0226439b, 0x01a93261, 0x019afd9b, 0x03fb5305, 0x002c0ab8}}, Y: Field{[10]uint32{0x03006876, 0x000c1f5e, 0x0105162a, 0x00ca4a98, 0x03d8c052, 0x02ce5d09, 0x03b76311, 0x00c0c466, 0x0313f448, 0x0031b4c9}}}, + {X: Field{[10]uint32{0x00c5bcd3, 0x03927344, 0x02c6e065, 0x0266854f, 0x018e1236, 0x02c4ae6b, 0x015e1402, 0x0010ae1d, 0x016653a0, 0x0004f119}}, Y: Field{[10]uint32{0x02d41c88, 0x024b1441, 0x002b0044, 0x02a29e2c, 0x007bab13, 0x00eb0f84, 0x0121ea40, 0x0180f8f1, 0x032c498f, 0x001c3cd9}}}, + {X: Field{[10]uint32{0x00f1483f, 0x03b68f01, 0x034c6361, 0x00fc5077, 0x010dee48, 0x017a5ece, 0x01c7bffc, 0x00dee0ba, 0x022b03fc, 0x0039f1d5}}, Y: Field{[10]uint32{0x03454066, 0x00be39b0, 0x028331b1, 0x026076ec, 0x021a9372, 0x01e85b43, 0x03dce515, 0x01256306, 0x00603d2b, 0x001cd2f9}}}, + {X: Field{[10]uint32{0x0159aefc, 0x035fee8a, 0x038d2263, 0x00870c12, 0x03332f39, 0x02f1ec9f, 0x02b2ed1e, 0x03f1d4d0, 0x012dfb6c, 0x00378097}}, Y: Field{[10]uint32{0x02de12f1, 0x01dbc705, 0x005985e6, 0x007601a5, 0x001a88c3, 0x020dce8c, 0x02fc30c3, 0x03cf40b6, 0x01b16ab6, 0x0011b182}}}, + {X: Field{[10]uint32{0x02ca2e01, 0x00b0c8cf, 0x03e4b6a4, 0x03d20e05, 0x0225730a, 0x02ebc14e, 0x01db714a, 0x0070f497, 0x00b4fed2, 0x000879e2}}, Y: Field{[10]uint32{0x01c1c4c6, 0x00a7f6b9, 0x03c58ddd, 0x03e73504, 0x01b249b1, 0x008cd6e7, 0x02af9b83, 0x01d64ad9, 0x02bda7d0, 0x0007f9c5}}}, + {X: Field{[10]uint32{0x0379edce, 0x033fc41e, 0x02012e39, 0x02776a5f, 0x02d1bc1a, 0x01d6ca39, 0x0058242c, 0x03542c69, 0x03ca7481, 0x0029f6c9}}, Y: Field{[10]uint32{0x01ae73f8, 0x00d860dc, 0x02238851, 0x0348ec47, 0x00084239, 0x02569f31, 0x0055fc17, 0x039b074d, 0x006dcabd, 0x00313e1a}}}, + {X: Field{[10]uint32{0x022d477a, 0x03d92d97, 0x01ccf41a, 0x00faf56f, 0x01e80a7d, 0x02b22533, 0x01616275, 0x03c90388, 0x01732790, 0x00314814}}, Y: Field{[10]uint32{0x022ba20b, 0x02fab27d, 0x03cda463, 0x00290150, 0x00af8770, 0x03ab70fe, 0x028e216d, 0x004283c3, 0x015b2094, 0x003a6a8a}}}, + {X: Field{[10]uint32{0x0172846d, 0x00dc7125, 0x01d05ea9, 0x03aa2e15, 0x0138e91e, 0x00dbaf36, 0x0025f86d, 0x036bafc7, 0x00ad99d1, 0x00121efd}}, Y: Field{[10]uint32{0x00febf70, 0x02a55dbf, 0x00ffe791, 0x01c21b78, 0x0032f729, 0x013062b8, 0x004b2a50, 0x03b42fb8, 0x0037ac6d, 0x00204a4e}}}, + {X: Field{[10]uint32{0x0208cb53, 0x005120c3, 0x03cb13cd, 0x01d083b7, 0x01355675, 0x03958097, 0x03e2d550, 0x01a22e13, 0x02a6bfcf, 0x002f5b74}}, Y: Field{[10]uint32{0x01ab0fca, 0x00dcc936, 0x01a1a1b0, 0x00b34714, 0x000c467d, 0x00a14566, 0x02a1501c, 0x00e018e3, 0x01e184c8, 0x00321a91}}}, + {X: Field{[10]uint32{0x035ec737, 0x02931f08, 0x02ce7936, 0x00619caf, 0x0070dbca, 0x0019cc7a, 0x034fbb69, 0x0223904c, 0x03fdfbf1, 0x00252905}}, Y: Field{[10]uint32{0x01be8e34, 0x026910f6, 0x01765029, 0x024d51be, 0x03564e9f, 0x033edf65, 0x02af124b, 0x03052e07, 0x0207343e, 0x00380f19}}}, + {X: Field{[10]uint32{0x02aba51e, 0x02236519, 0x00fa8ebd, 0x034c0e5a, 0x002ac597, 0x005e88f0, 0x02d9b733, 0x00ec9aa5, 0x02c33fa1, 0x000a95f6}}, Y: Field{[10]uint32{0x00c13b61, 0x02ca4dfa, 0x010c442d, 0x0366016d, 0x013b05bf, 0x0117cd3f, 0x027996e5, 0x02cee2c2, 0x02bf1db7, 0x0005d529}}}, + {X: Field{[10]uint32{0x007e7df7, 0x0242dffb, 0x01742eae, 0x0284b0fe, 0x02d1c66d, 0x00c20f0c, 0x00613e99, 0x00a8e59f, 0x02710614, 0x002e8b92}}, Y: Field{[10]uint32{0x034cb07e, 0x01eb3fa0, 0x00c971da, 0x00d6091f, 0x02ccc6de, 0x02b7b197, 0x03fc60c5, 0x03a0efb5, 0x00c1a704, 0x003098be}}}, + {X: Field{[10]uint32{0x00c01ca9, 0x018baa3b, 0x015a80a8, 0x02681cc3, 0x0008bb0b, 0x03eef609, 0x00a12b11, 0x00944b4a, 0x0343b313, 0x0012b865}}, Y: Field{[10]uint32{0x0017eece, 0x01323de8, 0x0019320b, 0x00f0fe75, 0x00cb2788, 0x029aa2e8, 0x001ec7c0, 0x00fa8747, 0x027d48fa, 0x0019edc9}}}, + {X: Field{[10]uint32{0x0306ddcb, 0x0143a9dd, 0x023ad618, 0x02fd046d, 0x000778b9, 0x01dd24fc, 0x00e6ff9d, 0x00d99fc6, 0x026c8182, 0x000133ec}}, Y: Field{[10]uint32{0x00e4028e, 0x00789dc9, 0x020c778e, 0x01e70e5e, 0x01aa6c60, 0x001f0c84, 0x017af164, 0x024f7c13, 0x023e3a8c, 0x000437e2}}}, + {X: Field{[10]uint32{0x01130349, 0x034f6e57, 0x02561934, 0x0009bdf5, 0x0215f061, 0x00f01418, 0x03bc3efb, 0x02d9bc03, 0x0166a014, 0x0027e791}}, Y: Field{[10]uint32{0x0396c592, 0x005f4964, 0x015fb0a4, 0x027333f2, 0x02ab6e5c, 0x01682a9e, 0x03d0c17c, 0x009aee63, 0x03a276d5, 0x00124ae2}}}, + {X: Field{[10]uint32{0x00239301, 0x033c7dab, 0x03bd222e, 0x0252d57c, 0x03ecf2a1, 0x0045678b, 0x039f4c10, 0x02d582c3, 0x01133641, 0x0038db01}}, Y: Field{[10]uint32{0x0343736c, 0x01696f6e, 0x00c7faa0, 0x004eb0ac, 0x0220e9a1, 0x027e0ea0, 0x022aea8e, 0x03f1018c, 0x00ba48e7, 0x0031ff5d}}}, + {X: Field{[10]uint32{0x00480bbf, 0x027e0936, 0x025e033e, 0x02938fb1, 0x02a0bbe0, 0x03c76846, 0x0337580b, 0x0115a1e1, 0x03b3b94d, 0x00246c04}}, Y: Field{[10]uint32{0x00cfc5b4, 0x00bc8afa, 0x03f00647, 0x02b0f4d9, 0x02948790, 0x038cf45c, 0x026f8247, 0x0094a48a, 0x007ec13a, 0x000578dc}}}, + {X: Field{[10]uint32{0x02324f56, 0x00fdc8fa, 0x001077d4, 0x01eb5d74, 0x00041f66, 0x0354e7cb, 0x02782de2, 0x01b5488d, 0x03888c67, 0x00095345}}, Y: Field{[10]uint32{0x0014094a, 0x00944cf2, 0x002755fd, 0x037e5e5d, 0x0309bec3, 0x02cb6fc9, 0x034aa03b, 0x0079744f, 0x012e9351, 0x003dc10b}}}, + {X: Field{[10]uint32{0x02f4079a, 0x00d59e15, 0x03f0b061, 0x018a65a5, 0x0234fce6, 0x0288bc5b, 0x03abe442, 0x003dc4ab, 0x037ece7d, 0x00114b5a}}, Y: Field{[10]uint32{0x03776998, 0x00c5691f, 0x02d23db3, 0x0164504c, 0x029a39ee, 0x0384c812, 0x000d69fc, 0x03f9d8d0, 0x03a128cf, 0x00087aa2}}}, + {X: Field{[10]uint32{0x004c508b, 0x01451e73, 0x001631f1, 0x02157ca3, 0x02817831, 0x02c660b4, 0x0386b855, 0x023d0606, 0x01d00788, 0x0005602e}}, Y: Field{[10]uint32{0x01d689ff, 0x03403d70, 0x02dc3ecd, 0x02abd95d, 0x0365b69f, 0x01e306df, 0x03cbbe87, 0x036775ce, 0x029c78b3, 0x00136747}}}, + {X: Field{[10]uint32{0x02fc2700, 0x00e582a8, 0x02f450c4, 0x01fb4212, 0x0245a5aa, 0x033c9680, 0x011470c2, 0x0253245b, 0x023fc316, 0x001e7768}}, Y: Field{[10]uint32{0x015bc978, 0x03c968ea, 0x03c03c34, 0x0086855b, 0x02d7158c, 0x01dc0c73, 0x0374e0f3, 0x02363312, 0x0169a58b, 0x001f1ef0}}}, + {X: Field{[10]uint32{0x0149dbe6, 0x036bb850, 0x013b5fe2, 0x00141119, 0x02419b49, 0x017d2a83, 0x02500afb, 0x0337084f, 0x03a9bf80, 0x00219b69}}, Y: Field{[10]uint32{0x026bd3d7, 0x02066add, 0x0124b239, 0x00b1af19, 0x02081a28, 0x022af126, 0x027e8adc, 0x015ea9a1, 0x00b3b45d, 0x00189b4e}}}, + {X: Field{[10]uint32{0x0011d374, 0x012e02e5, 0x0122e102, 0x032be641, 0x02cdb502, 0x01818ae5, 0x01624cfc, 0x01c7a4c8, 0x0112bed2, 0x0010caf2}}, Y: Field{[10]uint32{0x0011cf01, 0x0339a8f9, 0x03605bcd, 0x030aebae, 0x034cb341, 0x03175177, 0x020cc5ac, 0x01350507, 0x009edd7c, 0x00399151}}}, + {X: Field{[10]uint32{0x0010518e, 0x00fb27d9, 0x01be477b, 0x02b420e9, 0x030717f5, 0x009764de, 0x02970865, 0x00e16854, 0x032883ec, 0x002b0f4e}}, Y: Field{[10]uint32{0x00b9b8db, 0x031c9a21, 0x01a125fc, 0x03e55061, 0x033dde58, 0x0039e439, 0x00d01b2c, 0x01f9d704, 0x02fcc9ed, 0x003449bb}}}, + {X: Field{[10]uint32{0x03d6aa37, 0x00f690ea, 0x0064a5c1, 0x018a5834, 0x03fa18b2, 0x01ab8999, 0x03696d95, 0x00e175b6, 0x034b2a82, 0x00115c20}}, Y: Field{[10]uint32{0x01236f28, 0x0121ac18, 0x004e121a, 0x0192b590, 0x03d9d15c, 0x02a565f9, 0x022eb590, 0x02fe21ee, 0x0083b249, 0x0007a758}}}, + {X: Field{[10]uint32{0x0183ef15, 0x00d5752e, 0x03fd3341, 0x0144dabb, 0x02b224b0, 0x0058f02a, 0x029bf792, 0x03816df0, 0x02a0ffaa, 0x00223a69}}, Y: Field{[10]uint32{0x018d1e5a, 0x01a4c91c, 0x00413999, 0x01d746ba, 0x00fe4574, 0x01e6aebf, 0x00ef5e25, 0x018fab71, 0x022dfa2f, 0x003b4e0a}}}, + {X: Field{[10]uint32{0x02dff706, 0x0361d20a, 0x0348c04f, 0x00ef5b25, 0x00b39703, 0x02b5fd86, 0x005663dc, 0x009f1a94, 0x02b4de33, 0x0005a043}}, Y: Field{[10]uint32{0x0260c81b, 0x02f0b3fb, 0x0111901f, 0x01f96a7b, 0x0230693b, 0x00370a6b, 0x019e84c4, 0x01b27485, 0x03d89132, 0x0000d4ba}}}, + {X: Field{[10]uint32{0x014adf7b, 0x00cc0726, 0x01cabe2e, 0x03650fea, 0x0088c861, 0x0223455f, 0x01c65035, 0x01260473, 0x02929506, 0x0035f40e}}, Y: Field{[10]uint32{0x002f9627, 0x00578d8e, 0x003ef2a9, 0x023f66aa, 0x02ef419c, 0x0339e079, 0x023042d5, 0x00b01472, 0x03fe933c, 0x00232082}}}, + {X: Field{[10]uint32{0x01cf11b0, 0x03c994b7, 0x018d91c6, 0x01df9154, 0x03f33aed, 0x0220339e, 0x0225c4ae, 0x02b24093, 0x0104f645, 0x0016cb25}}, Y: Field{[10]uint32{0x01296449, 0x02271d8a, 0x00354fc2, 0x02893abb, 0x03440e1d, 0x023ca901, 0x01681e5e, 0x013cc847, 0x03bcc776, 0x001402cd}}}, + {X: Field{[10]uint32{0x00fbd761, 0x012b7523, 0x01c2d628, 0x0137d5e7, 0x03bab1a6, 0x03567bb0, 0x01826759, 0x022ef05a, 0x02edd2c7, 0x00346389}}, Y: Field{[10]uint32{0x010770c3, 0x031fbd5f, 0x021a44a6, 0x03684e4b, 0x00685915, 0x016eda51, 0x018989aa, 0x00f9e23f, 0x0172037a, 0x00068780}}}, + {X: Field{[10]uint32{0x0258222d, 0x00d338a3, 0x0077224f, 0x02fe1759, 0x02dc9e46, 0x03c94951, 0x0221e88d, 0x011e5632, 0x00169bbc, 0x0017dac5}}, Y: Field{[10]uint32{0x037fd6a6, 0x02ab6bd2, 0x00600e02, 0x02378e0f, 0x033a5791, 0x018f992e, 0x03ca0bf1, 0x00140651, 0x02164d5a, 0x000ea39d}}}, + {X: Field{[10]uint32{0x03762bc7, 0x036f2283, 0x0137339b, 0x00289508, 0x01ec2e05, 0x03fa15a4, 0x00020238, 0x02d159a6, 0x01e8dcc8, 0x0035e989}}, Y: Field{[10]uint32{0x02ea3643, 0x0142d34d, 0x0080620d, 0x029c4000, 0x00208683, 0x03b07f63, 0x017bcbcf, 0x00981eaf, 0x0135a8ce, 0x0023c7e6}}}, + {X: Field{[10]uint32{0x015913f9, 0x03198fa3, 0x027716ba, 0x0325780a, 0x027ffb42, 0x0286cd3a, 0x01c891b3, 0x0293dc57, 0x001972ae, 0x00295a95}}, Y: Field{[10]uint32{0x03c3f994, 0x0266a41a, 0x038971e9, 0x008d9038, 0x0059b440, 0x01fd7451, 0x00f7bbfa, 0x0159c460, 0x03cdad78, 0x0011ecf7}}}, + {X: Field{[10]uint32{0x02ade31e, 0x0045beae, 0x03c3ad93, 0x02ccd86d, 0x0030325d, 0x028c1ad1, 0x031a3cd4, 0x032f44de, 0x01d7e574, 0x0007aee2}}, Y: Field{[10]uint32{0x00da4dc7, 0x01401d4e, 0x03e6cb95, 0x00cd24d5, 0x02ee020c, 0x0108a8d0, 0x003d1185, 0x03212d26, 0x012fbd30, 0x00080e71}}}, + {X: Field{[10]uint32{0x009706fe, 0x024ea22d, 0x030c5ad4, 0x03e8fb93, 0x03e189ef, 0x01e63b09, 0x01cd1a4a, 0x0195d52d, 0x0208931a, 0x002d5ca0}}, Y: Field{[10]uint32{0x03ede9ee, 0x037df442, 0x036c214d, 0x0028c5e0, 0x03358f68, 0x01881e2f, 0x029a6125, 0x034c072c, 0x01e72da3, 0x002ae9e1}}}, + {X: Field{[10]uint32{0x01a775c9, 0x015f2161, 0x00a8aa24, 0x025d1ebf, 0x02f5162a, 0x03ff07bd, 0x02a00dee, 0x01f1dc80, 0x0270d67b, 0x00159985}}, Y: Field{[10]uint32{0x018803f6, 0x01128953, 0x019b2ea0, 0x024ce7c6, 0x014de8a8, 0x015274f0, 0x0055122e, 0x01441c13, 0x00e183bc, 0x002b6bc2}}}, + {X: Field{[10]uint32{0x01f2704d, 0x001a3c37, 0x023e93fd, 0x0346c5c2, 0x01c18521, 0x015cded4, 0x01042433, 0x01ada5dc, 0x02e1ecc8, 0x00062ad5}}, Y: Field{[10]uint32{0x0119e94a, 0x020967a0, 0x039ff46b, 0x01fb387f, 0x03df74f0, 0x032cc158, 0x009572ca, 0x02ea6c83, 0x003f43bf, 0x00331a53}}}, + {X: Field{[10]uint32{0x020ac357, 0x0283c6f3, 0x027c3c1a, 0x0214b83c, 0x036e9451, 0x02fd7d43, 0x035b7540, 0x000d8055, 0x00744827, 0x002f04aa}}, Y: Field{[10]uint32{0x01ada1e9, 0x0005f1bc, 0x036f95de, 0x01598bfc, 0x00abe12d, 0x00812b39, 0x027783c7, 0x01738759, 0x036bac17, 0x00271b39}}}, + {X: Field{[10]uint32{0x01054584, 0x01eb119e, 0x024572c2, 0x0259776f, 0x01756667, 0x014fb29d, 0x01bdd6c3, 0x036835bb, 0x002699b2, 0x00291253}}, Y: Field{[10]uint32{0x0082d621, 0x014e1b54, 0x01d03554, 0x01a4ee2b, 0x02e8f0cf, 0x00756c6e, 0x022a9146, 0x02a79f4f, 0x00d58360, 0x00162601}}}, + {X: Field{[10]uint32{0x023aea6e, 0x012b2733, 0x009c7828, 0x038ba8f7, 0x03f1baf9, 0x000da809, 0x034de77d, 0x0139faf8, 0x02f96d0e, 0x0007fe11}}, Y: Field{[10]uint32{0x013f2e6a, 0x00f84b59, 0x009748d0, 0x03be94b7, 0x0327ba3e, 0x01302da3, 0x035d1a8d, 0x00d580c7, 0x036b9f0e, 0x0022828c}}}, + {X: Field{[10]uint32{0x0110b374, 0x023c7ca5, 0x00099ffa, 0x0090d5d1, 0x026862d7, 0x005cfdc5, 0x00839e04, 0x00f771ca, 0x02ae9157, 0x000cc606}}, Y: Field{[10]uint32{0x01c5223e, 0x039f27ef, 0x01fedad0, 0x01acf86a, 0x01f01ee2, 0x030d3129, 0x01aaa0a4, 0x03393077, 0x029a8cc8, 0x00049484}}}, + {X: Field{[10]uint32{0x00012594, 0x0232795e, 0x02ae5702, 0x001bf931, 0x00644264, 0x01c9d2a5, 0x0249b157, 0x0112bbdd, 0x032dfb0e, 0x0039a1e0}}, Y: Field{[10]uint32{0x0113b7c0, 0x030312a9, 0x030028ca, 0x0263bb2a, 0x03c5de4f, 0x01dffedf, 0x01caec8c, 0x00d2ded9, 0x009706b7, 0x001796ce}}}, + {X: Field{[10]uint32{0x00b37def, 0x031cbce5, 0x02aa5755, 0x01477d31, 0x0000c229, 0x028631db, 0x0174b5e2, 0x01c6b160, 0x02c3ed93, 0x000d52ef}}, Y: Field{[10]uint32{0x0214c29a, 0x02a0ff31, 0x0244b5c2, 0x03beeeae, 0x033c2f4d, 0x01d0078f, 0x0213ac73, 0x0105b6cd, 0x00769283, 0x00103432}}}, + {X: Field{[10]uint32{0x0039a485, 0x01bdc99d, 0x00511ae3, 0x02ffe8bd, 0x02a8bc68, 0x02d7afbc, 0x01e8aa68, 0x02e07cf2, 0x006c5205, 0x003e91ab}}, Y: Field{[10]uint32{0x0367d180, 0x01354b8f, 0x03b35c1b, 0x01e9d97e, 0x010f2565, 0x00fe4461, 0x00de37b1, 0x034aa007, 0x01fab016, 0x000e14fe}}}, + {X: Field{[10]uint32{0x0024328c, 0x01fb50cc, 0x02688562, 0x01de517d, 0x0256a53d, 0x008fee1b, 0x005263c9, 0x017e387a, 0x02b73325, 0x00109be1}}, Y: Field{[10]uint32{0x028c4fdf, 0x03bef353, 0x011486a2, 0x0105abfe, 0x01658c63, 0x01ec8885, 0x013c4c45, 0x0322756c, 0x01685301, 0x0024bb00}}}, + {X: Field{[10]uint32{0x00bc64e3, 0x02db9620, 0x01edeb47, 0x03b2d6b8, 0x017685df, 0x01f5233c, 0x01d3f4d1, 0x00b56f85, 0x009bf9a7, 0x00172347}}, Y: Field{[10]uint32{0x01bda7e5, 0x0343df4a, 0x02dc4e18, 0x014d9074, 0x00b6a26b, 0x0083c37b, 0x038a3c7c, 0x02054198, 0x010e286c, 0x00188155}}}, + {X: Field{[10]uint32{0x0283422f, 0x02f95c39, 0x03c80271, 0x01cfe998, 0x01be6733, 0x01aa72c0, 0x00313562, 0x01407f77, 0x01bc7bf7, 0x000e8087}}, Y: Field{[10]uint32{0x001bfa53, 0x01ec3793, 0x00fff54c, 0x0209217f, 0x02a7a71b, 0x0015924a, 0x00e508ad, 0x037e25e1, 0x00540dda, 0x00192a27}}}, + {X: Field{[10]uint32{0x03ba47bb, 0x012bc9c8, 0x0326fa50, 0x030c8a59, 0x027c0062, 0x007590b6, 0x01d2dd91, 0x027c001d, 0x02491d71, 0x002360aa}}, Y: Field{[10]uint32{0x03e4e77a, 0x01718b14, 0x026991ff, 0x03f51d83, 0x007c2ae8, 0x031b4f14, 0x00ed10d6, 0x01e3da62, 0x03506d14, 0x001b985b}}}, + {X: Field{[10]uint32{0x005e536f, 0x03c2394f, 0x02d76f27, 0x0145b9ea, 0x010bbe54, 0x032b06cf, 0x015d60ef, 0x023869bb, 0x0188fe48, 0x001bfbba}}, Y: Field{[10]uint32{0x0044c502, 0x00a6632c, 0x00eeff48, 0x0184d781, 0x0073dcee, 0x0096da28, 0x026d8484, 0x02ea5ae8, 0x0395839f, 0x00003ba7}}}, + {X: Field{[10]uint32{0x0216fa1b, 0x00f9672b, 0x00e5d2df, 0x002ba257, 0x02306388, 0x005024f1, 0x03cadc73, 0x00355dcb, 0x0179bafd, 0x000d8902}}, Y: Field{[10]uint32{0x004afa48, 0x005f1872, 0x036ca65f, 0x003055e0, 0x03eb2082, 0x01f60cb2, 0x02fe3267, 0x00f6169e, 0x037658ef, 0x00186740}}}, + {X: Field{[10]uint32{0x036a18f4, 0x026128f3, 0x03407009, 0x0132461d, 0x000b7849, 0x01ba05c1, 0x0046fc32, 0x01814f08, 0x00474da5, 0x00130ae2}}, Y: Field{[10]uint32{0x0328142c, 0x007f884e, 0x03398dda, 0x038f432a, 0x03734286, 0x01716a08, 0x00a0b438, 0x035c4587, 0x026917a4, 0x001166a7}}}, + {X: Field{[10]uint32{0x01478ac2, 0x004beeac, 0x005ad84e, 0x0142bdee, 0x00d6e54f, 0x0141130d, 0x034eb5b1, 0x0046ea9f, 0x01fdb332, 0x003e4872}}, Y: Field{[10]uint32{0x02016973, 0x005243eb, 0x014f9317, 0x030d7356, 0x01e31fae, 0x03dfd893, 0x006b16a5, 0x0120f923, 0x01b8c850, 0x000e336a}}}, + {X: Field{[10]uint32{0x0319b257, 0x00b1ac86, 0x038b8ca4, 0x01f7d079, 0x02850ae0, 0x028ff6d3, 0x006c8a7d, 0x035a3e3e, 0x01e66181, 0x00295dda}}, Y: Field{[10]uint32{0x027cfc6c, 0x0276bf14, 0x00eb3882, 0x0260a03e, 0x011dcd66, 0x013542e9, 0x017e00d5, 0x0310afdd, 0x007e644b, 0x00084aa6}}}, + {X: Field{[10]uint32{0x03c11d9f, 0x02a526b1, 0x0063901e, 0x0053fb5d, 0x03375a27, 0x00f26c5a, 0x00c91952, 0x03b2b622, 0x010437ab, 0x002569e0}}, Y: Field{[10]uint32{0x02cfdf78, 0x007b2ca8, 0x0274809e, 0x01da4688, 0x00ec6428, 0x03c46925, 0x02723df1, 0x0015ac90, 0x00aa227b, 0x003ab8c8}}}, + {X: Field{[10]uint32{0x01cfa42a, 0x03503d0a, 0x020e5d10, 0x01761612, 0x009f034a, 0x03a61002, 0x01a9a64c, 0x00f850ab, 0x0034f7ef, 0x001da9f8}}, Y: Field{[10]uint32{0x028effa2, 0x0251a2d9, 0x0240479c, 0x025948a8, 0x009f2e49, 0x02f0bbb7, 0x00ec9319, 0x03acf0a9, 0x00e49633, 0x00266770}}}, + {X: Field{[10]uint32{0x035881d6, 0x023347ba, 0x0247df4e, 0x03357a50, 0x01427010, 0x036df60b, 0x00ddf929, 0x01e01407, 0x03964756, 0x003aea24}}, Y: Field{[10]uint32{0x03bca552, 0x029a6d76, 0x026a50d4, 0x022a3692, 0x02aebe0f, 0x005b3175, 0x037d8be6, 0x014850fc, 0x01f1c088, 0x002e4ab8}}}, + {X: Field{[10]uint32{0x0223704f, 0x03cf875b, 0x028addd3, 0x0225c4f3, 0x01dc0b75, 0x02bb51cd, 0x014f872a, 0x038559ac, 0x00d8059f, 0x00294e92}}, Y: Field{[10]uint32{0x01387fb6, 0x022d454e, 0x02a0d252, 0x00619db3, 0x004f4634, 0x03b9f559, 0x009403f3, 0x028ea0f6, 0x01a07e85, 0x00279ce3}}}, + {X: Field{[10]uint32{0x0307d3bc, 0x013f57a9, 0x00fb595b, 0x03e660a2, 0x03c831cd, 0x001418e9, 0x039b1481, 0x03e28e38, 0x010bdba5, 0x0020c996}}, Y: Field{[10]uint32{0x03768982, 0x01986caf, 0x02b06cb4, 0x013ca5f9, 0x03061b7d, 0x03e904c3, 0x000d62ec, 0x037494b4, 0x0388a2a1, 0x000280b3}}}, + {X: Field{[10]uint32{0x03916030, 0x02b1b7c5, 0x014af7f5, 0x00b02571, 0x03b0c35a, 0x01e9d2cb, 0x01714a21, 0x0042ff8c, 0x0194ba8c, 0x001a9248}}, Y: Field{[10]uint32{0x00c77b87, 0x01b148be, 0x0145db6b, 0x0001bfaf, 0x01c531cd, 0x013f0ca2, 0x02e8b4fb, 0x024dea4b, 0x01658e0c, 0x000f3c2f}}}, + {X: Field{[10]uint32{0x03c52a57, 0x030c1a0c, 0x007474b6, 0x004df8f5, 0x013b34bf, 0x01ae8887, 0x0180c494, 0x01fbb587, 0x01c6ff79, 0x002d2b1c}}, Y: Field{[10]uint32{0x012820f7, 0x000d41b5, 0x03683905, 0x01837e04, 0x0214ae3b, 0x01893835, 0x03d23434, 0x03fbf3bc, 0x02e48fb6, 0x0011ab2c}}}, + {X: Field{[10]uint32{0x0286e0bc, 0x0064c5b0, 0x02f9b49a, 0x024e8707, 0x0113b19b, 0x0155ec84, 0x03f05b4e, 0x00a7845a, 0x011e65bc, 0x0022c45c}}, Y: Field{[10]uint32{0x02af0dde, 0x0241e322, 0x004910aa, 0x03d71c8b, 0x00faa6bc, 0x02d3ab96, 0x02d695e5, 0x00d4e086, 0x00cfcf38, 0x001e7128}}}, + {X: Field{[10]uint32{0x0008e098, 0x013d90d1, 0x0192d897, 0x030db5e8, 0x00727362, 0x0203f789, 0x0203f82e, 0x0095e65d, 0x0276e86b, 0x002e2c02}}, Y: Field{[10]uint32{0x013e56c6, 0x006dbe14, 0x03d0a585, 0x03ede121, 0x029e0b9f, 0x03ab5ecb, 0x006fa1cf, 0x002375f3, 0x03188b01, 0x000176d9}}}, + {X: Field{[10]uint32{0x01d89814, 0x038b4b58, 0x03a52c50, 0x01a41917, 0x02bebe8f, 0x026dc4f1, 0x0027a8f6, 0x02e5a14d, 0x021b0fb6, 0x0022130e}}, Y: Field{[10]uint32{0x03a3749b, 0x01963381, 0x00fbf14d, 0x012f56c6, 0x00ff28aa, 0x03d537b0, 0x003f821d, 0x00bbbcdd, 0x00e5094b, 0x000f6b30}}}, + {X: Field{[10]uint32{0x00637596, 0x0291fe5d, 0x037d8496, 0x006abad8, 0x02c004dd, 0x02fdbed3, 0x004100dc, 0x02fd8ff8, 0x01cf51aa, 0x000f4307}}, Y: Field{[10]uint32{0x025df51c, 0x010c8d82, 0x0305d228, 0x004cf8bb, 0x02883fe0, 0x0267eedd, 0x0242a6f5, 0x038b3418, 0x015bbf5d, 0x0015dbaf}}}, + {X: Field{[10]uint32{0x02bca8c7, 0x020478b6, 0x028fa13f, 0x02d8f54c, 0x031ae972, 0x009deddf, 0x0057f79a, 0x026b7097, 0x01af6153, 0x0015acfb}}, Y: Field{[10]uint32{0x012e98eb, 0x02b19b4b, 0x01347dbd, 0x02ade6cf, 0x0096bdfb, 0x0376a574, 0x02b3d2b5, 0x021809c6, 0x0100a2b2, 0x00100e0e}}}, + {X: Field{[10]uint32{0x03cfd3e2, 0x02417eca, 0x01457a74, 0x0360c67e, 0x025fbb11, 0x0115217f, 0x00eacfa8, 0x01327d0d, 0x01bf50f3, 0x00109b8a}}, Y: Field{[10]uint32{0x03cb117a, 0x004c660c, 0x017a35d6, 0x02237c7d, 0x00eeb60b, 0x00ee77d0, 0x0110cd5c, 0x01031883, 0x02e8eeff, 0x003ab11f}}}, + {X: Field{[10]uint32{0x02929308, 0x014329d8, 0x03ea67ed, 0x03ed6ff0, 0x03cf0a91, 0x00bb6b71, 0x01419baa, 0x0135fb1b, 0x03c9f4e2, 0x002555cd}}, Y: Field{[10]uint32{0x001675dd, 0x02b3bb52, 0x0260867b, 0x02d6ee0b, 0x01b69831, 0x0166fd91, 0x02783143, 0x024100be, 0x009d18fd, 0x0025eeee}}}, + {X: Field{[10]uint32{0x00b3e514, 0x021405fa, 0x004a1cbb, 0x02820e9e, 0x00704e74, 0x035f9eb4, 0x03ae639f, 0x009e83cb, 0x0013d464, 0x00175caa}}, Y: Field{[10]uint32{0x00876c2f, 0x00584f2e, 0x005ac9bc, 0x00dbd471, 0x022e8c26, 0x0267ae56, 0x01d6839a, 0x03187956, 0x010e851f, 0x00324bd0}}}, + {X: Field{[10]uint32{0x0369b6ef, 0x0146edf9, 0x02406225, 0x02701e14, 0x02dda784, 0x01c12570, 0x00876d91, 0x02224188, 0x0359e9bc, 0x0031f6a4}}, Y: Field{[10]uint32{0x01c10653, 0x02530fc1, 0x001c6d37, 0x031720bc, 0x01cb41f6, 0x012831f6, 0x01907872, 0x02340257, 0x01687150, 0x000489e0}}}, + {X: Field{[10]uint32{0x029ac683, 0x024193d5, 0x01ace972, 0x035ff86b, 0x02d92697, 0x0082b945, 0x03ee080f, 0x03c3f70b, 0x0226da7a, 0x0019c202}}, Y: Field{[10]uint32{0x0316d94d, 0x008b3f08, 0x03714aa5, 0x0339e7dd, 0x008e08c5, 0x01443ab0, 0x0144107e, 0x01c22cc2, 0x03acfbba, 0x002b6681}}}, + {X: Field{[10]uint32{0x03fc0dbf, 0x00015c16, 0x01a4163a, 0x00117055, 0x023947f4, 0x00b8ebeb, 0x0078ddc8, 0x00a3ddbe, 0x0239d614, 0x00084356}}, Y: Field{[10]uint32{0x028c511c, 0x02c600cb, 0x017ac96e, 0x01324fa6, 0x002efa80, 0x01ea464f, 0x014cc296, 0x00a70bb4, 0x03e6b0a6, 0x00185fbf}}}, + {X: Field{[10]uint32{0x0334ed98, 0x00874138, 0x015fc590, 0x0071bfd9, 0x039b8e46, 0x01e0df44, 0x03242a93, 0x0046e714, 0x0231ca15, 0x001742e4}}, Y: Field{[10]uint32{0x03e924ae, 0x00e99baf, 0x01986bd1, 0x0387dbe3, 0x011a2f58, 0x0279f5b3, 0x03ae1b4a, 0x013b69c4, 0x0121f479, 0x003201c0}}}, + {X: Field{[10]uint32{0x02907392, 0x01e299f8, 0x00ab63ce, 0x00abf344, 0x019013fe, 0x0131c65d, 0x00c8bd54, 0x004587b4, 0x002c4210, 0x001a1eee}}, Y: Field{[10]uint32{0x000d9eeb, 0x017a5984, 0x03e356a2, 0x020440e5, 0x03fafc8e, 0x022c8273, 0x03c721cf, 0x028e9be7, 0x0187758a, 0x003abd8f}}}, + {X: Field{[10]uint32{0x025f5d33, 0x01a9b473, 0x00da40e6, 0x0347d2f3, 0x03c63527, 0x03cb0ffc, 0x02a3931f, 0x023da068, 0x0157b804, 0x00146910}}, Y: Field{[10]uint32{0x0047dd31, 0x009ffa7a, 0x02a1ec51, 0x019cb6e5, 0x001a0c56, 0x00298e24, 0x03dc8f42, 0x00a50053, 0x0116519c, 0x001bff23}}}, + {X: Field{[10]uint32{0x01e86775, 0x01c2f2e3, 0x004f989f, 0x02c8af5f, 0x000a5dd7, 0x01e30eff, 0x024786a4, 0x00568d58, 0x017256f5, 0x002ca189}}, Y: Field{[10]uint32{0x0264f3a3, 0x0364cb51, 0x03692abc, 0x037917c5, 0x02f53b64, 0x024a4bfe, 0x0267e5b2, 0x014e5ade, 0x02a80a5a, 0x0008aba5}}}, + {X: Field{[10]uint32{0x0035bc30, 0x01f1ff82, 0x02e584bb, 0x02f3ee4a, 0x036ee129, 0x028e5884, 0x03d89a5c, 0x01e32bba, 0x021e2010, 0x003ddadc}}, Y: Field{[10]uint32{0x02c0d561, 0x00bd28f9, 0x024b7a06, 0x00e07a5a, 0x03223a0a, 0x0186ebff, 0x02b3d171, 0x026100f5, 0x02b10841, 0x0016671a}}}, + {X: Field{[10]uint32{0x00178e9c, 0x001f0d31, 0x01b9793b, 0x022cdb7b, 0x01d9a3b8, 0x03da5a44, 0x02f20b7f, 0x03b81ba0, 0x028763ad, 0x0004bc92}}, Y: Field{[10]uint32{0x0055b7f1, 0x01e35638, 0x021b7351, 0x037c230b, 0x02b2427f, 0x00a09efb, 0x025d939c, 0x007edec9, 0x039f96f0, 0x00167f5e}}}, + {X: Field{[10]uint32{0x0122260a, 0x008878c6, 0x010cefa0, 0x0117123e, 0x00bcfaf1, 0x01609033, 0x0082d477, 0x01aef8a8, 0x0290de6c, 0x002786e2}}, Y: Field{[10]uint32{0x03390f9f, 0x02966042, 0x000a66cd, 0x001ba923, 0x008a71eb, 0x0025f401, 0x02a54f42, 0x036781f0, 0x02a5b54b, 0x003e97a1}}}, + {X: Field{[10]uint32{0x03baae9c, 0x00240c4b, 0x020a38c1, 0x03e1b134, 0x01ed4117, 0x00a38c7c, 0x01b6a66e, 0x00fadec0, 0x010320b7, 0x0018fc16}}, Y: Field{[10]uint32{0x0101d8eb, 0x02fa2c65, 0x019c501a, 0x032aebd7, 0x0340bd68, 0x0098e1df, 0x0288967a, 0x0207f81b, 0x01d2d34a, 0x00092e32}}}, + {X: Field{[10]uint32{0x03905999, 0x0264ad18, 0x003a8e27, 0x01ba671d, 0x01e5c89b, 0x0367ca15, 0x03569a4a, 0x00a8f687, 0x0009f540, 0x00111f1d}}, Y: Field{[10]uint32{0x0149e154, 0x0240dc2b, 0x0328db77, 0x01ce2e4f, 0x00716baa, 0x03805b02, 0x0337723b, 0x01e8251e, 0x019ab34a, 0x003513a3}}}, + {X: Field{[10]uint32{0x00793254, 0x03c437fe, 0x006df1bb, 0x03d28fe6, 0x0025eed4, 0x003c65f9, 0x037db0c2, 0x0102bead, 0x006a4c53, 0x001d2910}}, Y: Field{[10]uint32{0x03742023, 0x0261fad9, 0x0246dfc7, 0x02f014aa, 0x02dc4c07, 0x00711ac5, 0x0136907d, 0x029c4a33, 0x038a0a4b, 0x00058b59}}}, + {X: Field{[10]uint32{0x03047c07, 0x00c91ba3, 0x005ff3a2, 0x01d814e9, 0x022bf5e0, 0x010731ed, 0x00e63cc8, 0x0098deac, 0x01713187, 0x003dc0d4}}, Y: Field{[10]uint32{0x021097ef, 0x03ba7076, 0x00936cca, 0x032599c6, 0x02b3c7ee, 0x025cad67, 0x01762a95, 0x001e15c8, 0x03914f47, 0x003212c0}}}, + {X: Field{[10]uint32{0x02eaae11, 0x0267dbdc, 0x024f6ac9, 0x01a37285, 0x022194d1, 0x02c29054, 0x013bd706, 0x00d604b1, 0x007b57b2, 0x003b13f8}}, Y: Field{[10]uint32{0x02fff789, 0x00a3d728, 0x004d7b55, 0x01e6f74c, 0x01b2f9df, 0x026dd814, 0x02b1dc4e, 0x02ca7fb0, 0x029145de, 0x002bd254}}}, + {X: Field{[10]uint32{0x01d2ac9d, 0x02ead2b3, 0x0238878d, 0x011c47cd, 0x00c65520, 0x005a3435, 0x00b274ee, 0x005d3de8, 0x01e8fa96, 0x0005c55b}}, Y: Field{[10]uint32{0x0061ac3d, 0x01a00fc5, 0x00ca6abb, 0x0211e78a, 0x03c2de9f, 0x037b2e23, 0x00e37ed6, 0x01183261, 0x02c436c1, 0x0000ab8f}}}, + {X: Field{[10]uint32{0x021b2ede, 0x032990e6, 0x02a6aabf, 0x00302541, 0x01549cb9, 0x00374c33, 0x029be560, 0x011feb3e, 0x022b9c5a, 0x003906d1}}, Y: Field{[10]uint32{0x017507f4, 0x002fc440, 0x01311d38, 0x01308885, 0x03e1b360, 0x0231a563, 0x00fb3533, 0x02982b1a, 0x02b208bd, 0x000423f8}}}, + {X: Field{[10]uint32{0x0344aa38, 0x01bd0ddd, 0x015ad38a, 0x01e314ee, 0x03f357ea, 0x006a00e3, 0x00800515, 0x01e20f5e, 0x015920a6, 0x002e9b00}}, Y: Field{[10]uint32{0x02002cf3, 0x026d6e45, 0x03680457, 0x006d9a1b, 0x00cda144, 0x003a39c4, 0x0366aa5c, 0x02dd1a0c, 0x00e7deb6, 0x00369270}}}, + {X: Field{[10]uint32{0x00cbf1ae, 0x020d5a3e, 0x0329cee2, 0x014e1255, 0x037e8a95, 0x01f94998, 0x0102ab7f, 0x012dae1c, 0x006e883a, 0x0009bc06}}, Y: Field{[10]uint32{0x03d5f47a, 0x009176d2, 0x002d398b, 0x008c1d5c, 0x00aad788, 0x02568628, 0x01519809, 0x025f2b33, 0x01e4bb21, 0x0003bbe3}}}, + {X: Field{[10]uint32{0x000c9d22, 0x0007296d, 0x03cddc45, 0x038f6998, 0x03e00874, 0x00050398, 0x01b5588c, 0x033af0d4, 0x03de80c0, 0x000042e4}}, Y: Field{[10]uint32{0x00903258, 0x016d3407, 0x002842d0, 0x03c850d6, 0x001dfef7, 0x03b1257b, 0x0186b027, 0x03cdaf9e, 0x01ddf79a, 0x003b4c62}}}, + {X: Field{[10]uint32{0x03769dde, 0x0268f9dd, 0x002558bc, 0x0101db25, 0x017a1595, 0x03d6a315, 0x03b32da8, 0x020b0725, 0x0274337a, 0x0039e7b0}}, Y: Field{[10]uint32{0x028a06f6, 0x0145d898, 0x0102c3b6, 0x03660f5d, 0x02e527da, 0x02223cfb, 0x024c175d, 0x03f38d52, 0x039f22da, 0x0027c8c1}}}, + {X: Field{[10]uint32{0x03c101e1, 0x034c685b, 0x01b0c1b7, 0x038e4810, 0x002be265, 0x023832a9, 0x039915e0, 0x02b4ff22, 0x017544f0, 0x0003f680}}, Y: Field{[10]uint32{0x018902e7, 0x00bd7061, 0x0030d0db, 0x01dae128, 0x03e4d49a, 0x029415cc, 0x03e42981, 0x0271baf1, 0x022785d5, 0x001093a6}}}, + {X: Field{[10]uint32{0x0099c6bd, 0x033c46e8, 0x01b31577, 0x028f2f3f, 0x008327d8, 0x022f20c3, 0x03147258, 0x0337f940, 0x01cb5380, 0x001a07c0}}, Y: Field{[10]uint32{0x039002bc, 0x0252463c, 0x018cd007, 0x02b63836, 0x0359c02f, 0x03f279d5, 0x006cef06, 0x02c17e70, 0x0117cdc3, 0x002fe748}}}, + {X: Field{[10]uint32{0x03d12f64, 0x00825736, 0x039611de, 0x0236e7bf, 0x03d6fe9f, 0x02b28942, 0x0251f4d9, 0x00b30b74, 0x026b2a2d, 0x001c3096}}, Y: Field{[10]uint32{0x02966126, 0x02669346, 0x021f46b2, 0x00136647, 0x03134dae, 0x024fa96d, 0x03f4dc47, 0x02cb3f34, 0x0368a386, 0x00327bab}}}, + {X: Field{[10]uint32{0x03ccbb9d, 0x00486e27, 0x0330403b, 0x02143fa2, 0x023b466e, 0x03d02199, 0x03d5ea45, 0x010b53fb, 0x012c404b, 0x0011937b}}, Y: Field{[10]uint32{0x005d910b, 0x009c4884, 0x01260796, 0x01ef9069, 0x03610bb4, 0x0295a0d9, 0x02d2d3e0, 0x03d84c8e, 0x01046ad3, 0x002b044e}}}, + {X: Field{[10]uint32{0x03a103db, 0x00bc4d04, 0x023f02ad, 0x02406d73, 0x01b7ff89, 0x023177f0, 0x0055109a, 0x02466175, 0x037248e7, 0x00028cb7}}, Y: Field{[10]uint32{0x03160e72, 0x0084d292, 0x02173821, 0x034cf997, 0x00cf9ad8, 0x01d8a5b2, 0x02a2d1d8, 0x0241ae6b, 0x00fb9d60, 0x001b6d2d}}}, + {X: Field{[10]uint32{0x0165179a, 0x0254c540, 0x03fe9a76, 0x0370a971, 0x023ccb74, 0x013b13fa, 0x00297746, 0x034e725c, 0x029e7ee5, 0x003f9273}}, Y: Field{[10]uint32{0x03e7dc8c, 0x023c3e8f, 0x026e63f5, 0x020ad310, 0x0390bfc5, 0x018555c8, 0x03b98662, 0x01773bbb, 0x013a3592, 0x00194fd5}}}, + {X: Field{[10]uint32{0x0354ad14, 0x01cc5b8c, 0x01a878aa, 0x0028ab75, 0x01ec0f1a, 0x0049ac43, 0x0224750c, 0x029f0936, 0x0255c895, 0x0021a2cb}}, Y: Field{[10]uint32{0x02c299ef, 0x0187c91e, 0x00324efb, 0x02080201, 0x00776bca, 0x0298a46f, 0x03035941, 0x0067f5c7, 0x0074cdea, 0x00178a22}}}, + {X: Field{[10]uint32{0x00098461, 0x03422d63, 0x011aec63, 0x01fbf4cb, 0x03d267ff, 0x003f121a, 0x013f1c08, 0x00d31a2b, 0x00da90ae, 0x003f81e4}}, Y: Field{[10]uint32{0x00f7177e, 0x00efabdb, 0x03ef416f, 0x036d5a02, 0x02cdbfcc, 0x008b184c, 0x01a02444, 0x02ca0d1c, 0x0393de35, 0x002b4cc4}}}, + {X: Field{[10]uint32{0x03e9a9d9, 0x03609e5b, 0x039557f6, 0x03d59a0d, 0x0242a23b, 0x019f7fbe, 0x016b1961, 0x020373fc, 0x028d0f4f, 0x003f9ff2}}, Y: Field{[10]uint32{0x00d4eb3b, 0x023c72f6, 0x01b1e71c, 0x02738605, 0x02ccc572, 0x02051dab, 0x000cb3d6, 0x03a49776, 0x018a0d7e, 0x002ef137}}}, + {X: Field{[10]uint32{0x0034cfc2, 0x00da1625, 0x03fd23aa, 0x0263a7c0, 0x02ae7975, 0x00473d30, 0x011b11b5, 0x03882fad, 0x0270aa4c, 0x00288db0}}, Y: Field{[10]uint32{0x0088f29b, 0x00e8c7c8, 0x01f4c486, 0x0103eeda, 0x028bc370, 0x00230842, 0x00c3ade6, 0x02f7ad07, 0x01c575a7, 0x00164d66}}}, + {X: Field{[10]uint32{0x02519248, 0x0151bf1d, 0x03644565, 0x03ab6787, 0x02800472, 0x00e0d938, 0x028a3485, 0x0309fcfa, 0x00a56bb8, 0x00035a81}}, Y: Field{[10]uint32{0x0142deb9, 0x01c1a6ad, 0x00e079b7, 0x019889ba, 0x03dbf6e4, 0x015d8490, 0x03099aba, 0x01d8a48a, 0x030d50b9, 0x0012e551}}}, + {X: Field{[10]uint32{0x00a30e7f, 0x000baa7e, 0x02ebd74e, 0x00a0c986, 0x00677732, 0x035c0689, 0x0276f974, 0x00117f86, 0x0377d64a, 0x00342734}}, Y: Field{[10]uint32{0x0188ffea, 0x02a49359, 0x02e57b90, 0x03abb81a, 0x0141a342, 0x032be203, 0x02ed2d01, 0x000acf5d, 0x02b902b7, 0x0027c250}}}, + {X: Field{[10]uint32{0x01d98b8b, 0x0343a979, 0x03440b2e, 0x02fffc29, 0x01b9a469, 0x0071f8ff, 0x02e52456, 0x006a75b0, 0x032c16d0, 0x00340c31}}, Y: Field{[10]uint32{0x031f2c8e, 0x02c3c454, 0x006f473d, 0x019f2850, 0x03fddeee, 0x02baa10e, 0x02b60ffe, 0x03e60405, 0x0308dba4, 0x00031ac4}}}, + {X: Field{[10]uint32{0x0345a691, 0x031aec78, 0x03ba1100, 0x03dd5c1a, 0x0157d0c6, 0x002ce695, 0x01980ab8, 0x0129f510, 0x02c6d2c0, 0x0015b115}}, Y: Field{[10]uint32{0x02084819, 0x00d39909, 0x03189fae, 0x00968184, 0x02825ce5, 0x01d4f0ac, 0x0310ffc2, 0x01743e3b, 0x00dc2c73, 0x00316cbc}}}, + {X: Field{[10]uint32{0x008400c9, 0x0146eb0c, 0x0037d75e, 0x03178396, 0x0129d911, 0x0353f779, 0x01d1b98d, 0x0347d0a3, 0x01f3b505, 0x002ab56b}}, Y: Field{[10]uint32{0x0377acc6, 0x02ae1f89, 0x036e46af, 0x03c877d2, 0x00f55569, 0x01e431a3, 0x03aa411b, 0x02530448, 0x03674f79, 0x003a52b7}}}, + {X: Field{[10]uint32{0x026a0ef0, 0x0219e8d7, 0x0034e6b1, 0x030c67b4, 0x02ca1d43, 0x0062d32c, 0x006b089f, 0x02e3dd22, 0x00b4dd76, 0x002b2336}}, Y: Field{[10]uint32{0x037ba96d, 0x02753dc4, 0x001f3c75, 0x02d26f32, 0x02ffb71d, 0x032b73f1, 0x013f8271, 0x02ac55d0, 0x0094f9da, 0x001c75c2}}}, + {X: Field{[10]uint32{0x0047ca1d, 0x0314d5f7, 0x0394841d, 0x0143d085, 0x0093eb41, 0x01665ad1, 0x01d7a4d0, 0x03e91502, 0x006df110, 0x000e5900}}, Y: Field{[10]uint32{0x03ad7cdb, 0x0291b7c0, 0x017d6395, 0x01d0daff, 0x01c2f244, 0x00fc15f9, 0x022a2bd2, 0x0364ebe4, 0x006d21db, 0x00392847}}}, + {X: Field{[10]uint32{0x03ca56ec, 0x0387efde, 0x01d551a0, 0x03e3ed0f, 0x03723a1f, 0x02fe442d, 0x02a37b19, 0x004aedd3, 0x039227a3, 0x000af842}}, Y: Field{[10]uint32{0x02df59ab, 0x014bb731, 0x000b4590, 0x03a3076f, 0x03755b2d, 0x00a42c92, 0x03ecca94, 0x037034a4, 0x02fbc886, 0x00066aa2}}}, + {X: Field{[10]uint32{0x01ad6ae5, 0x018c96ad, 0x01342a4c, 0x005c70e3, 0x03ccc1e4, 0x03ff22ea, 0x0219a34d, 0x03d46874, 0x01562bd7, 0x000de705}}, Y: Field{[10]uint32{0x03185907, 0x00feb10b, 0x0348db98, 0x00d1fc81, 0x01e7bc67, 0x0036554d, 0x01ce2231, 0x0077d59b, 0x028fa637, 0x0011e87c}}}, + {X: Field{[10]uint32{0x03ce9809, 0x033dea07, 0x014f9914, 0x02426277, 0x0130a362, 0x01e0443a, 0x03584a7d, 0x011674ab, 0x01c2e675, 0x00090153}}, Y: Field{[10]uint32{0x017ae592, 0x016128b9, 0x02a7612b, 0x02069bc0, 0x013553dc, 0x008345a9, 0x00e06d48, 0x03429c71, 0x021d3e05, 0x00195cab}}}, + {X: Field{[10]uint32{0x002420a4, 0x02d323a8, 0x0298fa3b, 0x0322e140, 0x02913199, 0x00408ecc, 0x03cd8790, 0x02a5e6ad, 0x02a6f46c, 0x002604b9}}, Y: Field{[10]uint32{0x00f937f0, 0x004ae722, 0x0315152a, 0x00ed595d, 0x033afd96, 0x021be4dd, 0x03baf369, 0x0364cc06, 0x02eddfec, 0x0011a3db}}}, + {X: Field{[10]uint32{0x0313c700, 0x000e969f, 0x03c6b962, 0x03ee5720, 0x029f6c14, 0x00b2778a, 0x00c928d6, 0x02392b61, 0x02446a34, 0x00118161}}, Y: Field{[10]uint32{0x022d57ab, 0x00079dd8, 0x021ad904, 0x004415ec, 0x034c873f, 0x02c62103, 0x0359c203, 0x01c07f99, 0x02e3ca3d, 0x00277157}}}, + {X: Field{[10]uint32{0x00be006a, 0x002541ef, 0x003228e9, 0x03298e6b, 0x021cb877, 0x012bb43e, 0x00d862fe, 0x0017ca91, 0x03972d5b, 0x002a36eb}}, Y: Field{[10]uint32{0x036fa4bc, 0x0312a5c5, 0x0190251a, 0x00a6e0f2, 0x03253e67, 0x0050742f, 0x018d38c6, 0x024df13e, 0x0003f082, 0x000f6d53}}}, + {X: Field{[10]uint32{0x011149fe, 0x01e0024e, 0x01128741, 0x0064899c, 0x02008b30, 0x013e611a, 0x0324bcd4, 0x004ca44c, 0x01f4f4d9, 0x0026e2ce}}, Y: Field{[10]uint32{0x0052c1d3, 0x025aa647, 0x030976b3, 0x01fcb82a, 0x034e4cae, 0x002c346c, 0x03fc6939, 0x00b96a23, 0x03721c45, 0x00124293}}}, + {X: Field{[10]uint32{0x014615eb, 0x00d62b4c, 0x0059773e, 0x00909e99, 0x017406ce, 0x039407e0, 0x02404ea9, 0x011b6c65, 0x01d5a7ef, 0x000cd1a0}}, Y: Field{[10]uint32{0x03ad6c0d, 0x01951094, 0x02b6d6c1, 0x0304dff9, 0x02e328fd, 0x0081a778, 0x004775a5, 0x0335aa7c, 0x003a1d80, 0x000ac8d8}}}, + {X: Field{[10]uint32{0x01c32529, 0x00fc380a, 0x02a88202, 0x01cadeba, 0x02bd5f83, 0x02933390, 0x00639b40, 0x01baf4a5, 0x0310c63c, 0x003fae38}}, Y: Field{[10]uint32{0x0343b213, 0x02fe1b76, 0x02617fbc, 0x018ef7df, 0x0068a45c, 0x019a0898, 0x017934b8, 0x035e02a9, 0x02ad6a0c, 0x0032db90}}}, + {X: Field{[10]uint32{0x0305cb67, 0x003cb121, 0x013b3fcf, 0x02d8acf6, 0x01a8ca5c, 0x02e44295, 0x01232523, 0x013a4b72, 0x03c2c733, 0x003d285e}}, Y: Field{[10]uint32{0x026e9dfe, 0x011c6c36, 0x02304bb0, 0x038f573e, 0x02e7f4a9, 0x03d14982, 0x03d55a32, 0x011ca52c, 0x039501b2, 0x00204add}}}, + {X: Field{[10]uint32{0x00cf181b, 0x011e6e93, 0x0324c7e0, 0x0257c208, 0x02c330a9, 0x03f2abd3, 0x016d596b, 0x010d2552, 0x007b8551, 0x0023b0ab}}, Y: Field{[10]uint32{0x01250130, 0x03aeea4d, 0x00258ce4, 0x025c9ec7, 0x0070e927, 0x0173c2f1, 0x00b3bcf0, 0x03498def, 0x00b67811, 0x003a8562}}}, + {X: Field{[10]uint32{0x00d4f19a, 0x010f1b01, 0x04001534, 0x02ddf68e, 0x03e4aa9e, 0x039231bd, 0x01c4b6d9, 0x0336f032, 0x021bd9ae, 0x002c79b5}}, Y: Field{[10]uint32{0x028cbf4a, 0x03e62bec, 0x031a35ae, 0x02e83b32, 0x011bc20a, 0x0235bcce, 0x01fdb344, 0x0325da2c, 0x0355b2e2, 0x0010ebde}}}, + {X: Field{[10]uint32{0x0313b2be, 0x03c8124b, 0x022e4b69, 0x018c0b53, 0x031a9519, 0x036cd50c, 0x004a3974, 0x011f70e4, 0x02e8210d, 0x001360f4}}, Y: Field{[10]uint32{0x0137a6b3, 0x015cbd8f, 0x000367c8, 0x02b25500, 0x017a0e3b, 0x039610ae, 0x005f1d88, 0x03f25ef9, 0x00833874, 0x001fb65b}}}, + {X: Field{[10]uint32{0x03b20b84, 0x02dba3ca, 0x01c36b9e, 0x03bac2ca, 0x0325f5c5, 0x01549fd9, 0x035d5143, 0x03f0875b, 0x012efd51, 0x0005123a}}, Y: Field{[10]uint32{0x02e344ad, 0x02efae65, 0x03f4cea8, 0x0298e790, 0x0013336a, 0x021a25cf, 0x011c9a22, 0x020f94be, 0x038fc8be, 0x0009228c}}}, + {X: Field{[10]uint32{0x024e4ead, 0x01c24f24, 0x03e63dcf, 0x02c09617, 0x0239d928, 0x03828863, 0x01cc7d44, 0x0142b0b3, 0x03d69c22, 0x00388ec0}}, Y: Field{[10]uint32{0x01b9aea9, 0x03ee2b9c, 0x024542ef, 0x02e84f7b, 0x0380b91c, 0x02b6c135, 0x017ef44f, 0x012df066, 0x03d04a8a, 0x00231a71}}}, + {X: Field{[10]uint32{0x02b5d7cb, 0x01c8ad0c, 0x02f94e5a, 0x0093699a, 0x00786632, 0x02baff2e, 0x02a929b9, 0x00ff9a51, 0x035e21fb, 0x00133478}}, Y: Field{[10]uint32{0x0167e3bc, 0x012ac1dc, 0x02984cba, 0x035dcc32, 0x03eca892, 0x00a5e185, 0x02887803, 0x016c42e9, 0x02dc5e86, 0x001ac444}}}, + {X: Field{[10]uint32{0x020db647, 0x03ec8102, 0x01bf5f2e, 0x02c363c7, 0x00bf25c6, 0x0165bb38, 0x00b92123, 0x02dec09f, 0x02f8092c, 0x003cf3ae}}, Y: Field{[10]uint32{0x0168d8e0, 0x0160af2a, 0x02ab7e12, 0x01cbbef6, 0x02cf3c71, 0x02ee974f, 0x0123b887, 0x03004e46, 0x01eb8418, 0x00298577}}}, + {X: Field{[10]uint32{0x01655e7d, 0x02168b1b, 0x01736a3a, 0x0379ec75, 0x02dfe341, 0x00c605c1, 0x0337c813, 0x03e235a0, 0x0128500b, 0x0012e2b3}}, Y: Field{[10]uint32{0x01219bb8, 0x0325b83f, 0x018ac624, 0x021e113c, 0x027b7c5d, 0x014bcec1, 0x016f76e0, 0x0159d613, 0x03c3825a, 0x002fa4f5}}}, + {X: Field{[10]uint32{0x00eb9fe1, 0x01c6541f, 0x03c53d47, 0x020616ba, 0x003e567d, 0x0331a37a, 0x03d2de62, 0x0002218f, 0x0081d04e, 0x002371eb}}, Y: Field{[10]uint32{0x01fa9198, 0x02e53104, 0x000e8214, 0x0224bb84, 0x031eb14c, 0x0097200f, 0x03a7755e, 0x0064c711, 0x024abe7b, 0x0018b52d}}}, + {X: Field{[10]uint32{0x01b89a23, 0x01394c30, 0x02033710, 0x015e400f, 0x01a817c2, 0x03d3cb06, 0x002bbbed, 0x03523425, 0x003f3078, 0x002a98cd}}, Y: Field{[10]uint32{0x02a7b524, 0x0256399b, 0x009bbfe7, 0x01b4338e, 0x0013befc, 0x037a51d6, 0x0020f4d9, 0x01cc3da7, 0x003423a6, 0x0009dfbe}}}, + {X: Field{[10]uint32{0x01121d30, 0x0135e841, 0x034955d0, 0x0186f085, 0x02dadeba, 0x028df7ce, 0x01096c01, 0x0079023a, 0x00619f30, 0x000df794}}, Y: Field{[10]uint32{0x0138898a, 0x00cbef39, 0x00c31f57, 0x01c35b6d, 0x00e3f6aa, 0x0001565f, 0x0136516c, 0x002e59a8, 0x009c33e4, 0x0001f9c1}}}, + {X: Field{[10]uint32{0x01eb83b4, 0x03cb0311, 0x0045e011, 0x0208be45, 0x003ebc66, 0x00d1d207, 0x028cd44f, 0x01673a8f, 0x0355506d, 0x001b4633}}, Y: Field{[10]uint32{0x00a30cdb, 0x03cabdee, 0x03854c8f, 0x029f3a01, 0x00220f7b, 0x03536e28, 0x039818e5, 0x01cfd1fe, 0x01c1ca8b, 0x003a4c3a}}}, + {X: Field{[10]uint32{0x02caa7d3, 0x025ece45, 0x01c0a5b7, 0x03f7ac74, 0x00f70243, 0x00054b27, 0x00203c49, 0x036b1775, 0x02606de7, 0x001df615}}, Y: Field{[10]uint32{0x019c659c, 0x01f6123d, 0x0122e8c3, 0x03b3e481, 0x031a2722, 0x02cf038e, 0x01b0fc94, 0x03554327, 0x03e39b37, 0x000fd5f3}}}, + {X: Field{[10]uint32{0x0381bf16, 0x0398d77c, 0x01229670, 0x002f5a76, 0x00ea5645, 0x03e753ee, 0x01dc8b56, 0x016ec715, 0x01a6c44b, 0x00170b9a}}, Y: Field{[10]uint32{0x01a3588d, 0x03c0499d, 0x03049f1a, 0x03c930d2, 0x009ec21a, 0x03f42d1b, 0x0021a8c2, 0x032a6e8a, 0x009d0a69, 0x003c2081}}}, + {X: Field{[10]uint32{0x01a393ee, 0x0339002d, 0x02af1918, 0x023626ca, 0x02aaacb9, 0x00afac1a, 0x01944ed9, 0x02496c94, 0x01f5066d, 0x000ca700}}, Y: Field{[10]uint32{0x02a57abf, 0x02bfb7fe, 0x032a9c3c, 0x0114f531, 0x02e21c2c, 0x0292494b, 0x0150c80a, 0x003ffdab, 0x0038427a, 0x001f8a6c}}}, + {X: Field{[10]uint32{0x029525da, 0x02d26f58, 0x0099df62, 0x03f21519, 0x02b670f4, 0x01c75ec3, 0x02bb4017, 0x037e90df, 0x031f18b2, 0x00130b98}}, Y: Field{[10]uint32{0x029a6f9c, 0x022728ff, 0x013701f7, 0x00b68fe1, 0x00050c6c, 0x02df0813, 0x01314326, 0x00fe9d30, 0x03fb8742, 0x0022a57a}}}, + {X: Field{[10]uint32{0x03d03fdc, 0x03efc6d8, 0x03fd9392, 0x0393184c, 0x01d3808c, 0x0384295d, 0x037cf02c, 0x0111971f, 0x03930d25, 0x003f8486}}, Y: Field{[10]uint32{0x009e0ba6, 0x0032f3a9, 0x036352a8, 0x022bcd82, 0x030e5943, 0x0110e83f, 0x03b997f9, 0x010c4653, 0x03077bda, 0x000cc4a6}}}, + {X: Field{[10]uint32{0x03784c23, 0x00ab984b, 0x0316da53, 0x03510600, 0x032cf8c5, 0x0079d2e2, 0x0220521f, 0x03cfddd3, 0x027b1cdb, 0x000c8eb0}}, Y: Field{[10]uint32{0x03c3dc18, 0x025acb4f, 0x01197bb2, 0x005bcf4c, 0x01c8489e, 0x00d2ea69, 0x00b15fe8, 0x012b1622, 0x0108f6a6, 0x00084558}}}, + {X: Field{[10]uint32{0x03afd533, 0x006a3481, 0x00d3741b, 0x0287964d, 0x01eeccbc, 0x03830840, 0x01f0ed5c, 0x02c780e9, 0x0362fdfc, 0x000451e3}}, Y: Field{[10]uint32{0x005f9153, 0x025a667b, 0x0366c70d, 0x02c82614, 0x02aba8d0, 0x0344549e, 0x00cdb176, 0x03b32191, 0x02732fd3, 0x002a7de5}}}, + {X: Field{[10]uint32{0x00b9d078, 0x010fbf08, 0x016e5e73, 0x02d5d9e2, 0x02bc8d82, 0x03b569a9, 0x008acf3a, 0x0306b7ae, 0x01b6c9d3, 0x0027c242}}, Y: Field{[10]uint32{0x007db181, 0x03ce1139, 0x017a33b0, 0x035ee669, 0x0061a579, 0x023d948d, 0x0263e30b, 0x01759371, 0x00a6c5c9, 0x00294587}}}, + {X: Field{[10]uint32{0x024a6b9f, 0x0255f4e9, 0x01711c55, 0x02c6d4bc, 0x032807ac, 0x006be02e, 0x01d8cd1a, 0x02b508a6, 0x007532a9, 0x0012582a}}, Y: Field{[10]uint32{0x02976625, 0x02e42d37, 0x03dd8cd6, 0x000bbbdd, 0x004bfc62, 0x00fe0bc9, 0x008f54a9, 0x0198a3ad, 0x01f3f1b4, 0x0015e394}}}, + {X: Field{[10]uint32{0x01310354, 0x0160bc17, 0x0066854b, 0x00d92d7b, 0x01d142d5, 0x03f27dcf, 0x010951cb, 0x00997952, 0x01c20bdb, 0x0019d70a}}, Y: Field{[10]uint32{0x008bd6d1, 0x00a411f8, 0x03a49832, 0x017e768c, 0x028cb8ad, 0x021af7e9, 0x02d4f9a1, 0x037a1080, 0x02693d82, 0x0008b47d}}}, + {X: Field{[10]uint32{0x007ce605, 0x02df26c4, 0x01d36f65, 0x037eb612, 0x01a9053a, 0x005aaccb, 0x01221779, 0x034389aa, 0x00bd6c75, 0x0031025b}}, Y: Field{[10]uint32{0x01c2bb46, 0x016f94e5, 0x023c294f, 0x01440092, 0x01b2b97e, 0x018ceb81, 0x0361efb9, 0x0325e4bf, 0x03472ae3, 0x0017c8da}}}, + {X: Field{[10]uint32{0x03905c0b, 0x003b66ce, 0x03789dd8, 0x018007e8, 0x01b1ddd4, 0x031d5055, 0x01205ec2, 0x015007c0, 0x0341ddd0, 0x0027a834}}, Y: Field{[10]uint32{0x01a28e69, 0x00570803, 0x03b717e6, 0x016654fd, 0x00ba7ce0, 0x00e625d9, 0x03692cd5, 0x0342ddbc, 0x010197e7, 0x000efd20}}}, + {X: Field{[10]uint32{0x02fb92e4, 0x035d690c, 0x028c7b4d, 0x03cb78dd, 0x01637367, 0x026056c3, 0x026edd2d, 0x03e8cdca, 0x02d784bf, 0x002f7aef}}, Y: Field{[10]uint32{0x03d0b9c0, 0x01312bb3, 0x00067673, 0x007f28ac, 0x01297a43, 0x02882507, 0x016af105, 0x026d8b70, 0x037eb62a, 0x0017fcd0}}}, + {X: Field{[10]uint32{0x02910932, 0x031f5b27, 0x020c7bcc, 0x01d1ded5, 0x000cbfe6, 0x03d55084, 0x02ea82c8, 0x00d3cb5a, 0x0244b46e, 0x002921be}}, Y: Field{[10]uint32{0x0097317a, 0x007208be, 0x03ca8323, 0x02a9fd1f, 0x01b8ad5b, 0x01532955, 0x023caa0f, 0x038a1022, 0x036d8a15, 0x0006adf8}}}, + {X: Field{[10]uint32{0x01cbba08, 0x0069f44a, 0x03769fbd, 0x02c4631f, 0x0366e7ab, 0x0082bbea, 0x0204376a, 0x02a49aa8, 0x00a557a1, 0x001118e8}}, Y: Field{[10]uint32{0x0034af0d, 0x036ada74, 0x02ce09a9, 0x0148973a, 0x037dc081, 0x002e2b44, 0x00f01de2, 0x0180a9c1, 0x02a5ab7b, 0x0012a08e}}}, + {X: Field{[10]uint32{0x01825ac4, 0x029cf7d3, 0x00b4c593, 0x0318bbad, 0x008cbdc5, 0x03647476, 0x03135840, 0x0237eead, 0x024fc45e, 0x0035b822}}, Y: Field{[10]uint32{0x02b4c55f, 0x020032d7, 0x02506c59, 0x036588bf, 0x0108be98, 0x003f8b6f, 0x031ae8fc, 0x0342e941, 0x03b477c0, 0x000b3616}}}, + {X: Field{[10]uint32{0x016a10f1, 0x00fea1fe, 0x03656a43, 0x034293e2, 0x00546d31, 0x026eff4d, 0x0076dca2, 0x032b5398, 0x02992a69, 0x002d89b8}}, Y: Field{[10]uint32{0x03cb5bc6, 0x015bd0d0, 0x03d343c6, 0x00ee32ef, 0x0162ac5e, 0x01789d95, 0x01686325, 0x0249a3c5, 0x02ceba91, 0x001b7d2c}}}, + {X: Field{[10]uint32{0x007139a5, 0x006959a5, 0x03b057e3, 0x03ad8678, 0x0225a4df, 0x03f93497, 0x01d61965, 0x0141c2cb, 0x02eb7464, 0x000d8679}}, Y: Field{[10]uint32{0x0282093f, 0x0035c944, 0x014311aa, 0x00ed1430, 0x0379940c, 0x02519f1e, 0x036c3bf2, 0x01848674, 0x0189ba15, 0x002592e2}}}, + {X: Field{[10]uint32{0x00bda2e9, 0x03dfd232, 0x02a847cc, 0x01838c9a, 0x0141e5c0, 0x014cc258, 0x00a3a65d, 0x0210ff10, 0x035e6718, 0x002cd4a6}}, Y: Field{[10]uint32{0x01c1b935, 0x03f15496, 0x030579d4, 0x01eca99e, 0x0131111e, 0x0216fb3d, 0x00595ac2, 0x02fd17a7, 0x00d37ce1, 0x001279b8}}}, + {X: Field{[10]uint32{0x03a9e05b, 0x02bf7c4b, 0x01598d42, 0x01e2500d, 0x014a1997, 0x03491fbc, 0x0385527d, 0x00517ff3, 0x00675bd7, 0x003947c0}}, Y: Field{[10]uint32{0x01b32666, 0x00a72ff0, 0x02c8cec7, 0x017cc3ad, 0x017d2e17, 0x026c11f9, 0x023d5fc6, 0x01cbad14, 0x033e8b4d, 0x003566ab}}}, + {X: Field{[10]uint32{0x01e79b28, 0x017e0c73, 0x00720170, 0x03935148, 0x0391c930, 0x0029ed52, 0x025eb6aa, 0x0311a348, 0x0066f64b, 0x0022a1fc}}, Y: Field{[10]uint32{0x02800227, 0x03afa959, 0x0113bb5e, 0x02b18954, 0x03249c34, 0x0343909d, 0x019062f5, 0x01f256c8, 0x0195e005, 0x002a4a97}}}, + {X: Field{[10]uint32{0x01310b06, 0x03661eff, 0x03632cd7, 0x03eee2bb, 0x013a926a, 0x03e236ab, 0x01c771eb, 0x023b969a, 0x0015aa87, 0x00362a04}}, Y: Field{[10]uint32{0x020acbdd, 0x017d4ff8, 0x02ad3d5e, 0x03680667, 0x03ec9f31, 0x03ce50b1, 0x03e3a262, 0x03b53a58, 0x03e8f276, 0x002bddfd}}}, + {X: Field{[10]uint32{0x020cc5c1, 0x01d0f533, 0x034d2c3b, 0x02f5466b, 0x02051c9a, 0x01974a35, 0x025b8a38, 0x01364f6f, 0x02194f3f, 0x002230fe}}, Y: Field{[10]uint32{0x020d8f8d, 0x0192381d, 0x039d9a9d, 0x036a660a, 0x0226b5de, 0x01dd16fb, 0x03671a7e, 0x03e089ec, 0x037a0f9f, 0x0004132b}}}, + {X: Field{[10]uint32{0x01ce648e, 0x00b0f650, 0x02484553, 0x0045b169, 0x02220701, 0x031ca6a2, 0x01e9c763, 0x02c3abc1, 0x03253434, 0x003e1ce1}}, Y: Field{[10]uint32{0x006f7bd7, 0x0327885e, 0x0320146f, 0x0055e059, 0x024c286e, 0x0034f86f, 0x01f66270, 0x01e44eda, 0x02d1d4ee, 0x002a2d7b}}}, + {X: Field{[10]uint32{0x009acc33, 0x021083e4, 0x02f606b1, 0x03e3723f, 0x007b35c8, 0x01a25817, 0x00ca8265, 0x00087e53, 0x01385afb, 0x00017f29}}, Y: Field{[10]uint32{0x01b2b3a8, 0x0246bd75, 0x036392b7, 0x01e35752, 0x03c5b4d0, 0x008facaf, 0x01f9a527, 0x022ff7ac, 0x0251f5c2, 0x000075fe}}}, + {X: Field{[10]uint32{0x035007db, 0x01193eb3, 0x01a51891, 0x013f8558, 0x03f1fddf, 0x03b52f43, 0x02cef9db, 0x02b366ec, 0x0148d4b2, 0x0011d211}}, Y: Field{[10]uint32{0x028f44a8, 0x02a8f20c, 0x02bce3dd, 0x00efb620, 0x01b93e22, 0x03ed113f, 0x03a25397, 0x033f811b, 0x0154f011, 0x003a9878}}}, + {X: Field{[10]uint32{0x02c5b8f1, 0x01ab2179, 0x0234ab46, 0x01b49500, 0x01dd8ef5, 0x0106a008, 0x029a6feb, 0x0350ffb1, 0x03ff0b14, 0x000cc7c5}}, Y: Field{[10]uint32{0x02ec144b, 0x015a6c27, 0x0299b68d, 0x01840b11, 0x0337d8c0, 0x02864c47, 0x0364a0f8, 0x011cc6da, 0x00a18d77, 0x002e882f}}}, + {X: Field{[10]uint32{0x03dc68ce, 0x02c51b76, 0x027f15e9, 0x0073e710, 0x0205b897, 0x0014c395, 0x0388ce98, 0x034b192a, 0x022d200b, 0x0001aae9}}, Y: Field{[10]uint32{0x01f832c8, 0x02ac09ba, 0x00c5b000, 0x035de376, 0x01fcf65f, 0x03c1c7cb, 0x0126ef0c, 0x022466b3, 0x02d7d7d9, 0x0039324d}}}, + {X: Field{[10]uint32{0x03ca19c5, 0x032f1a48, 0x014fcf52, 0x02371cc9, 0x02c0cfee, 0x027b1bb3, 0x01022b4d, 0x02867188, 0x0035e72f, 0x0031dadb}}, Y: Field{[10]uint32{0x0213efc9, 0x02ea0c7e, 0x03fb1ee7, 0x0215ec86, 0x01b49dba, 0x01fe80a2, 0x034d0a1d, 0x0216666d, 0x027a48ee, 0x0016c3fe}}}, + {X: Field{[10]uint32{0x021bb77a, 0x024e1533, 0x014a404a, 0x03b50549, 0x02aaa438, 0x00a70529, 0x01590fa4, 0x00f7e6c0, 0x023d43f3, 0x003015ba}}, Y: Field{[10]uint32{0x033dca7b, 0x01ee31fa, 0x0231cc33, 0x000a2e80, 0x0258355a, 0x01da95c7, 0x0079e7f5, 0x02a7c4b1, 0x00e32337, 0x00356c65}}}, + {X: Field{[10]uint32{0x01ac938a, 0x0222cf6f, 0x003a147e, 0x03124f2b, 0x037df652, 0x01ae3ced, 0x03bb897e, 0x003bc44d, 0x00cc8ddf, 0x000f5a23}}, Y: Field{[10]uint32{0x015879fc, 0x02bc8b53, 0x03b4a691, 0x0269ebce, 0x0338b6bc, 0x0045563d, 0x00daead1, 0x0387ca58, 0x03884d7a, 0x002f2a51}}}, + {X: Field{[10]uint32{0x00d2a179, 0x012ccf42, 0x009cf392, 0x027d7cb9, 0x00c59d7a, 0x03dbf60d, 0x0145f0cd, 0x004602a4, 0x02f669ce, 0x0013ebfe}}, Y: Field{[10]uint32{0x020159d2, 0x03d55841, 0x00485b71, 0x01c9e6f3, 0x03dcbad8, 0x032442ae, 0x000c16d8, 0x00bb0956, 0x00ac2dca, 0x00278057}}}, + {X: Field{[10]uint32{0x024aecad, 0x00c15e68, 0x02f614ac, 0x031d9a67, 0x000e8ba0, 0x037b31f1, 0x01a44eb3, 0x03ade1ad, 0x00e37cd7, 0x00011d5e}}, Y: Field{[10]uint32{0x03171651, 0x03be3259, 0x0056945e, 0x019a7af2, 0x0007fd00, 0x02d8a3b6, 0x00eab83f, 0x03802f1a, 0x0017a6be, 0x002522b2}}}, + {X: Field{[10]uint32{0x00618836, 0x0386a577, 0x01dfe103, 0x029dded6, 0x038c72fd, 0x01d221f6, 0x02d1a35f, 0x0191a892, 0x02753eaa, 0x0026ab78}}, Y: Field{[10]uint32{0x002bca96, 0x000dcf74, 0x0025687e, 0x03b771fd, 0x03ceef2f, 0x0325120f, 0x02e7a050, 0x0097cc79, 0x03848f46, 0x002d9470}}}, + {X: Field{[10]uint32{0x03aed711, 0x004cebd8, 0x02f9a276, 0x027d8a72, 0x03321c9b, 0x011ecaf3, 0x02818524, 0x03b9d556, 0x03e0b1c6, 0x002c6c30}}, Y: Field{[10]uint32{0x000ac827, 0x02eac90c, 0x01571759, 0x019d632f, 0x03c2c741, 0x03fc5c44, 0x001d0dca, 0x01bfcf7f, 0x00fd624e, 0x00124eb3}}}, + {X: Field{[10]uint32{0x032a8ff6, 0x0373cfaf, 0x0201c156, 0x01881eeb, 0x032a0ce4, 0x03ce46a6, 0x02c5762f, 0x028163ab, 0x018fb192, 0x003155dd}}, Y: Field{[10]uint32{0x011bd3b3, 0x011e5a5b, 0x01766399, 0x02129dc6, 0x03989212, 0x006ff6fc, 0x010f671b, 0x0386567c, 0x0353d209, 0x000753a6}}}, + {X: Field{[10]uint32{0x037b5e0e, 0x02b648ca, 0x00d07cc9, 0x0209237d, 0x020edcc0, 0x037d686d, 0x01b5ca60, 0x03b53ed2, 0x01ed5120, 0x001cd48b}}, Y: Field{[10]uint32{0x02e08d74, 0x02233e37, 0x01a96e43, 0x013b25c9, 0x037f87db, 0x016f3f71, 0x01299ced, 0x009c3b47, 0x0194cdf0, 0x0011d5a7}}}, + {X: Field{[10]uint32{0x00323506, 0x02e70bfa, 0x033ad72b, 0x0033c3b1, 0x00fd6fbc, 0x030afb94, 0x03ae46df, 0x02258ca8, 0x000d6632, 0x000595c7}}, Y: Field{[10]uint32{0x03ec68d2, 0x00911212, 0x03143d22, 0x02135d67, 0x00a936d6, 0x01f39854, 0x0157911e, 0x0071833b, 0x01869e00, 0x001977a7}}}, + {X: Field{[10]uint32{0x00e5f090, 0x00be5626, 0x03343dbe, 0x00ba0b72, 0x01b1810d, 0x0327be1b, 0x020cc8d7, 0x00c29721, 0x01642eb6, 0x003d7f95}}, Y: Field{[10]uint32{0x03adfa87, 0x03244fa7, 0x03504e20, 0x02f75fb5, 0x02eec2da, 0x030b025e, 0x0340dcdf, 0x036b2328, 0x021fbea9, 0x00173b9e}}}, + {X: Field{[10]uint32{0x016e3592, 0x0138f28e, 0x00591881, 0x005d635e, 0x037aece0, 0x021f3b6b, 0x01a67a0b, 0x02410d0f, 0x033270d0, 0x003bc276}}, Y: Field{[10]uint32{0x03b675e2, 0x0288e6b1, 0x036ea80c, 0x01c4ab81, 0x037df142, 0x03bf7d38, 0x01c6161c, 0x01ba7e59, 0x0005ba24, 0x00164d3e}}}, + {X: Field{[10]uint32{0x033a54e8, 0x03f948cd, 0x030c13ed, 0x008be5d2, 0x025e1746, 0x03c807b4, 0x012b102b, 0x03c26661, 0x03d727d2, 0x00221b36}}, Y: Field{[10]uint32{0x00a73b2b, 0x029ec277, 0x021426ee, 0x021ce351, 0x015166f6, 0x019393e2, 0x03518255, 0x01b96b94, 0x028a7fca, 0x0036b2cc}}}, + {X: Field{[10]uint32{0x02237cff, 0x03be0ab3, 0x011f96e4, 0x00226ef6, 0x01620713, 0x02367cfa, 0x029ff848, 0x02fcba14, 0x03cd04f7, 0x002df61a}}, Y: Field{[10]uint32{0x03702f0e, 0x03f623ce, 0x0002ee32, 0x0293b434, 0x0303acf2, 0x01d5d210, 0x0146dc41, 0x0151faa1, 0x03f1375a, 0x0031ac2b}}}, + {X: Field{[10]uint32{0x03388c67, 0x03f1eeba, 0x02c4d22b, 0x02659ef1, 0x00c24f5e, 0x0257653b, 0x03910593, 0x02ae14c1, 0x01b28132, 0x0035f45c}}, Y: Field{[10]uint32{0x001a8f8f, 0x01950f77, 0x00744bfe, 0x020a5c22, 0x037be396, 0x02ece6fd, 0x013c1351, 0x038ad957, 0x00e02421, 0x00260ddc}}}, + {X: Field{[10]uint32{0x0394b1be, 0x024202a5, 0x03502a42, 0x025b0524, 0x00f01a18, 0x00cf6b64, 0x01f1cfa8, 0x00c39c8a, 0x02fd881e, 0x003ff9c4}}, Y: Field{[10]uint32{0x00505da8, 0x03063395, 0x01586cda, 0x01e94c59, 0x02f18b03, 0x03cbe8af, 0x0311ae58, 0x00212842, 0x0203075d, 0x003d0a67}}}, + {X: Field{[10]uint32{0x03d13f7c, 0x01919555, 0x03d669f6, 0x03781bc0, 0x03dff3f0, 0x03decd71, 0x03cd10b3, 0x01a54735, 0x02b30322, 0x00158f24}}, Y: Field{[10]uint32{0x03ec10c1, 0x0272cdcc, 0x01f43076, 0x0252153d, 0x009bb210, 0x0105be52, 0x030ccfb2, 0x03bd0602, 0x02f4085b, 0x0037287b}}}, + {X: Field{[10]uint32{0x00f32437, 0x0353591a, 0x013dd9a0, 0x00a19a9f, 0x01dd52c2, 0x03e91f05, 0x00056d7e, 0x03af3985, 0x02f33a2c, 0x002e39db}}, Y: Field{[10]uint32{0x018651c2, 0x01068a24, 0x004a22aa, 0x03084277, 0x003076cc, 0x00986687, 0x02539ba4, 0x039e668e, 0x039d652a, 0x00111539}}}, + {X: Field{[10]uint32{0x02f1c971, 0x01d5182a, 0x002d2c56, 0x03cf8219, 0x0107b4a4, 0x022a6610, 0x02e429fb, 0x000e8b7c, 0x0304f607, 0x000db6c8}}, Y: Field{[10]uint32{0x0284b5cc, 0x010bf269, 0x03ef00f8, 0x02d02323, 0x03ecf7f9, 0x009ac6ae, 0x03859eee, 0x002a8f66, 0x028f5cc3, 0x002814db}}}, + {X: Field{[10]uint32{0x00d9a5ab, 0x01562862, 0x02314f9d, 0x0286df1a, 0x00d537c1, 0x03a6b8a9, 0x0055e529, 0x018df758, 0x011d1521, 0x00317539}}, Y: Field{[10]uint32{0x03eb3f6d, 0x036cce9b, 0x02d0de04, 0x00f12d22, 0x00aaf709, 0x0195c265, 0x0365b08c, 0x01e0b3ef, 0x02ed6a13, 0x0032107b}}}, + {X: Field{[10]uint32{0x01c4bffd, 0x0263e7dc, 0x032207cd, 0x00cd802b, 0x02b05615, 0x018d785e, 0x0379ed3f, 0x0167dbfe, 0x01c29858, 0x0014300f}}, Y: Field{[10]uint32{0x03137720, 0x01929df5, 0x02b0a68b, 0x00a22dfd, 0x025c4255, 0x01471d22, 0x01a2bd74, 0x008a6bd6, 0x0397a7ed, 0x0031a321}}}, + {X: Field{[10]uint32{0x008333ef, 0x014d1b7c, 0x01ff3364, 0x0245c74c, 0x03985606, 0x03d6ec3b, 0x010ae5dc, 0x01be68b8, 0x004b3e7e, 0x000a01b6}}, Y: Field{[10]uint32{0x007b429d, 0x026d40f2, 0x0385e54a, 0x0099090d, 0x02bf8cac, 0x00e9ad63, 0x00b5ddbf, 0x01332d33, 0x004338e3, 0x001cbc8d}}}, + {X: Field{[10]uint32{0x008790a4, 0x02254bce, 0x0353f4c5, 0x006f888a, 0x0282bb9c, 0x026103fb, 0x03e33c62, 0x02374710, 0x01dd1ef5, 0x001035c3}}, Y: Field{[10]uint32{0x030770d5, 0x00a875fd, 0x0130d96b, 0x016ce51a, 0x02e65468, 0x03d35545, 0x00d170ea, 0x0264c8ce, 0x0157b6dd, 0x0026c6a7}}}, + {X: Field{[10]uint32{0x0387c835, 0x01598222, 0x03905d01, 0x00105e60, 0x02ac7338, 0x038876a0, 0x037b193e, 0x00484ef5, 0x003204e7, 0x0022143b}}, Y: Field{[10]uint32{0x01c160e2, 0x00dfddf7, 0x00d3a7d6, 0x02cac32d, 0x02961480, 0x019701c5, 0x01f58eaa, 0x002e464b, 0x03a0a916, 0x002abffd}}}, + {X: Field{[10]uint32{0x00ad6e8b, 0x0033dc54, 0x00bd2c24, 0x02c1a8c2, 0x030de291, 0x02f92175, 0x039d4a62, 0x00a7d1df, 0x0109bd7c, 0x00152545}}, Y: Field{[10]uint32{0x03ef2722, 0x01b1ccb1, 0x02f27f13, 0x027ddf00, 0x01b1d8f7, 0x013307ea, 0x0245c764, 0x00ee7e8e, 0x007cf2a2, 0x000bf6cd}}}, + {X: Field{[10]uint32{0x037e5d44, 0x023da7eb, 0x0221facf, 0x022f990d, 0x031c3d3e, 0x0028f9f3, 0x01af1ab7, 0x03ad3ef9, 0x0355cdf8, 0x0027d7b0}}, Y: Field{[10]uint32{0x01d3c06e, 0x01bcb286, 0x00a58488, 0x017a4afe, 0x0312b8be, 0x0368712e, 0x03da94ba, 0x00d5401b, 0x015fb38b, 0x002c80f7}}}, + {X: Field{[10]uint32{0x02c0b3da, 0x00dc688b, 0x0037bbdf, 0x0388c18a, 0x028b72f0, 0x022cc9bf, 0x035e606c, 0x02794a32, 0x029c1bba, 0x00204b92}}, Y: Field{[10]uint32{0x00e222a1, 0x0347163e, 0x00f24d10, 0x01227be4, 0x015d98d2, 0x03b4004d, 0x02bd36a1, 0x02b8e718, 0x01b714a9, 0x000ae9ed}}}, + {X: Field{[10]uint32{0x023d924a, 0x0072a18a, 0x02c36c5c, 0x03d8a89b, 0x01af52c6, 0x03575ff4, 0x00ff16ec, 0x0185ad50, 0x01dbcf85, 0x003980d7}}, Y: Field{[10]uint32{0x001eec86, 0x03ed77fc, 0x0154ad6c, 0x0011a716, 0x01173d31, 0x007ca7c6, 0x0118718a, 0x03f2b1be, 0x009ef687, 0x002a514e}}}, + {X: Field{[10]uint32{0x02033446, 0x0079d49a, 0x00bc6032, 0x00a69ad4, 0x032643f1, 0x01ac8ce6, 0x01696938, 0x0351c6dc, 0x01e8d771, 0x0035e229}}, Y: Field{[10]uint32{0x017d3990, 0x026259fa, 0x030e0b25, 0x00bde7f8, 0x01c0c9a4, 0x01f646d9, 0x017fe32a, 0x01e0fbe9, 0x02225095, 0x000d2e15}}}, + {X: Field{[10]uint32{0x03c6f41c, 0x0175291d, 0x01802561, 0x00bdc1af, 0x020c8ef4, 0x03e8cad5, 0x01b5f116, 0x013e7c07, 0x03dd2937, 0x00198dcc}}, Y: Field{[10]uint32{0x0078676d, 0x03b09b74, 0x013c1394, 0x0199b895, 0x0185b59f, 0x005002de, 0x014e916a, 0x03f16458, 0x01453ae0, 0x0000d617}}}, + {X: Field{[10]uint32{0x0323ad9c, 0x02c08f6c, 0x006f0a5a, 0x00ccd585, 0x016affda, 0x0278b8f5, 0x03ad4d11, 0x00504cf6, 0x032805ae, 0x0017b1b9}}, Y: Field{[10]uint32{0x00884579, 0x008f5a70, 0x029f645c, 0x03919a37, 0x03d35a56, 0x00683f28, 0x00d609db, 0x00c078a7, 0x01bfcfc6, 0x000f7490}}}, + {X: Field{[10]uint32{0x00f8f3c5, 0x019d28cb, 0x02ceee4a, 0x03975105, 0x0087532b, 0x01165c5f, 0x03366471, 0x019a89f0, 0x00421fbb, 0x003c63f1}}, Y: Field{[10]uint32{0x0359d560, 0x008a7344, 0x00de9b4f, 0x0397dd60, 0x02026847, 0x01a1b03e, 0x03b4e836, 0x00f7c403, 0x00813bb3, 0x0034e282}}}, + {X: Field{[10]uint32{0x01f5345a, 0x0089108e, 0x01719206, 0x03fbba87, 0x017dec0d, 0x004d0919, 0x038d3362, 0x03f87c52, 0x009ed9bc, 0x002063d5}}, Y: Field{[10]uint32{0x006602ee, 0x00b237e1, 0x013688cc, 0x0170ae7d, 0x0048b24c, 0x01fd2cfe, 0x001a8e9d, 0x03d12117, 0x011fcca2, 0x000df398}}}, + {X: Field{[10]uint32{0x02dce942, 0x016c02c7, 0x02a6417a, 0x03ad9086, 0x024f4fa8, 0x00cba1e5, 0x034ee3a5, 0x00ff20a9, 0x0391f98e, 0x001d78b1}}, Y: Field{[10]uint32{0x03e5f6b4, 0x0153354d, 0x00b26f2d, 0x02f888aa, 0x007c4d37, 0x00582157, 0x02a17c71, 0x004d89a2, 0x033ba495, 0x00147c8d}}}, + {X: Field{[10]uint32{0x023954d3, 0x01a0db87, 0x011199ca, 0x01667d2e, 0x009b44de, 0x0264ddcc, 0x03f4ec1f, 0x01b4c76b, 0x01b64c0c, 0x001c47e3}}, Y: Field{[10]uint32{0x00caa4b0, 0x038f9f5c, 0x03eb5b75, 0x02e85c2e, 0x016e4dfb, 0x02cd4673, 0x0170fcf7, 0x0320b7cc, 0x01e3432a, 0x00121655}}}, + {X: Field{[10]uint32{0x033ba6a5, 0x01c6f237, 0x0003a160, 0x003f8878, 0x005216f5, 0x0232a70b, 0x022104ee, 0x0168792f, 0x00266f75, 0x0018d40b}}, Y: Field{[10]uint32{0x01bea942, 0x00a2a852, 0x028dd90f, 0x022bc7ce, 0x033954b8, 0x03f9de5d, 0x01075bda, 0x00fd2bd5, 0x01eac8fc, 0x0029720a}}}, + {X: Field{[10]uint32{0x02850872, 0x00425530, 0x0138c92d, 0x0358e49e, 0x0213f5c3, 0x00bb95f9, 0x01bb82fd, 0x0381c06d, 0x0059ccfe, 0x000a99dd}}, Y: Field{[10]uint32{0x037cbe71, 0x035717bb, 0x02053714, 0x00a3ace7, 0x00401bbf, 0x02c0f831, 0x031cbf5d, 0x02c2ca6e, 0x03985c5d, 0x003fdba5}}}, + {X: Field{[10]uint32{0x02b52cbe, 0x006c020c, 0x00d99f05, 0x03417c8c, 0x015b359b, 0x035febe5, 0x01b4a223, 0x01a69c27, 0x038778fb, 0x001a3e17}}, Y: Field{[10]uint32{0x03c92210, 0x0357cf3f, 0x0389e405, 0x0302cef7, 0x01ef9c65, 0x022d5ae1, 0x037b771f, 0x00c62713, 0x0149f4fc, 0x000370ba}}}, + {X: Field{[10]uint32{0x02b74ade, 0x02413cf4, 0x0390e1c2, 0x0321bd2e, 0x009e9883, 0x039642c9, 0x01fd8b9d, 0x0080d942, 0x01b73b54, 0x001fba75}}, Y: Field{[10]uint32{0x03343e62, 0x030c3b81, 0x03828002, 0x01aa7759, 0x03492063, 0x02497775, 0x01c6977b, 0x03c817e4, 0x0013241c, 0x00260489}}}, + {X: Field{[10]uint32{0x00aa33c8, 0x01d54f89, 0x03391381, 0x0011e7ab, 0x00102b5d, 0x03503948, 0x03680230, 0x0249c76c, 0x0090cdb1, 0x002111ec}}, Y: Field{[10]uint32{0x03c0bdb0, 0x02a3087d, 0x02a78c14, 0x0295e225, 0x03121d02, 0x00096948, 0x02eacd39, 0x01d20700, 0x03e655a2, 0x00096d0f}}}, + {X: Field{[10]uint32{0x0016a645, 0x02a2dbca, 0x03268c89, 0x00b9de8b, 0x03e45e62, 0x00317bce, 0x0151f569, 0x01439ade, 0x03b93f15, 0x000c581c}}, Y: Field{[10]uint32{0x007624be, 0x00b6cc65, 0x02caf6a5, 0x02286191, 0x03a1a6f3, 0x00c7571d, 0x0254a4db, 0x0033a30f, 0x01ac2fc7, 0x00155f29}}}, + {X: Field{[10]uint32{0x0036d6ac, 0x007addd2, 0x004ae5fc, 0x03c7264a, 0x00cdaa8e, 0x030046c6, 0x00fe9495, 0x0086b0d6, 0x012da2ef, 0x003eb88c}}, Y: Field{[10]uint32{0x030b76c7, 0x03ba358f, 0x00b8b54e, 0x0366ca6d, 0x00aa948a, 0x03f32fc2, 0x00ee7cb3, 0x03a196c3, 0x02612d99, 0x001bcefd}}}, + {X: Field{[10]uint32{0x00f839f0, 0x0339e0d5, 0x023e12f8, 0x031addbc, 0x007d4c72, 0x00c58abb, 0x01e1691d, 0x037f7c2c, 0x03ef5588, 0x000a028a}}, Y: Field{[10]uint32{0x03683f72, 0x02d21ce4, 0x01c73ca7, 0x018f3036, 0x01b2b4ba, 0x03910161, 0x03be1bc7, 0x025dd2a1, 0x011bc31a, 0x003c037b}}}, + {X: Field{[10]uint32{0x037ccdcd, 0x03dab02f, 0x01ddb86b, 0x02ca2a99, 0x034d0609, 0x031d5113, 0x037e5d28, 0x024b264a, 0x037a9b7b, 0x000fd0f9}}, Y: Field{[10]uint32{0x0072a2d6, 0x01c2a113, 0x015366cf, 0x0155401d, 0x00ac2678, 0x00ae3617, 0x02bd6b99, 0x002952f1, 0x0103bb3c, 0x002cc45e}}}, + {X: Field{[10]uint32{0x0069f2de, 0x03c58b75, 0x0229646d, 0x0037d941, 0x02953550, 0x00147843, 0x02539290, 0x03e8d21f, 0x01c8387b, 0x000e82bf}}, Y: Field{[10]uint32{0x01bb29c7, 0x0061eb32, 0x0324e8b4, 0x03df23fc, 0x01907d4c, 0x03cb294f, 0x0386dff3, 0x0242db87, 0x00c8f0f6, 0x001d5a5f}}}, + {X: Field{[10]uint32{0x0170809d, 0x03a905de, 0x01660949, 0x02aa288f, 0x002789d0, 0x01c81ca8, 0x026e7c4a, 0x01c8fa66, 0x0364209f, 0x000fe5ca}}, Y: Field{[10]uint32{0x02e47d15, 0x0293e110, 0x02342b32, 0x00fb98fc, 0x039a7c05, 0x0280b17f, 0x0026e769, 0x03f672bf, 0x00287a6b, 0x001e9209}}}, + {X: Field{[10]uint32{0x0089b0b4, 0x036bd2ba, 0x004df0e8, 0x0175c7d0, 0x01c21ff8, 0x02e138f4, 0x01f1ecc4, 0x00d93447, 0x000ffa73, 0x00024e2b}}, Y: Field{[10]uint32{0x01be0312, 0x02e9d291, 0x0204a63f, 0x0255932d, 0x004e9689, 0x03681a84, 0x02e8820e, 0x02ce0437, 0x02d3d526, 0x00287027}}}, + {X: Field{[10]uint32{0x00e28bcc, 0x007b22bd, 0x01071831, 0x016993a6, 0x01631c9b, 0x02f4d15d, 0x01eb9ed3, 0x039d309d, 0x01752993, 0x0014d57b}}, Y: Field{[10]uint32{0x006ad088, 0x01c94f3f, 0x01a40ddf, 0x011c0c24, 0x01c81885, 0x0003c614, 0x010279f6, 0x02aabeb0, 0x007d680a, 0x002eec40}}}, + {X: Field{[10]uint32{0x03f277b7, 0x0224c47e, 0x024574e9, 0x01bead8b, 0x02b03369, 0x010d0191, 0x03bda46a, 0x01db1b60, 0x02ed70ba, 0x0022038c}}, Y: Field{[10]uint32{0x020410bc, 0x0331ea1b, 0x00e7c623, 0x02bccc39, 0x0308dcda, 0x01a59a1a, 0x02763d5f, 0x03578901, 0x02cb8d10, 0x001dbfac}}}, + {X: Field{[10]uint32{0x00f11aa8, 0x03447c42, 0x02beebd6, 0x000f6ab5, 0x00857ac5, 0x012dd3a7, 0x00beec11, 0x016da0ae, 0x00aaa275, 0x0036bdde}}, Y: Field{[10]uint32{0x00a5f428, 0x0260bba6, 0x01c88fd4, 0x03c24a60, 0x02e38325, 0x01bb5a5d, 0x00f3024d, 0x00c05e7c, 0x0062710d, 0x0007b617}}}, + {X: Field{[10]uint32{0x03b474dd, 0x01eaf6a3, 0x004641cf, 0x01690b23, 0x009a60b9, 0x00d4cfe0, 0x01c0a4ff, 0x00f49f46, 0x01dd7563, 0x003970fa}}, Y: Field{[10]uint32{0x01fb0dfc, 0x01ec9063, 0x02afb251, 0x03f858cc, 0x0371b7b7, 0x03c82f27, 0x03036990, 0x0021faac, 0x02f65c5c, 0x003c795a}}}, + {X: Field{[10]uint32{0x00096973, 0x01a0df70, 0x03afdd11, 0x00302335, 0x016859c2, 0x03ec9d32, 0x03f3bf2f, 0x0361c25d, 0x0334ecdf, 0x0017500f}}, Y: Field{[10]uint32{0x00f6aeb1, 0x004a4e76, 0x01e4a5ba, 0x00d110f9, 0x022335c3, 0x005d935c, 0x001ba707, 0x01b3165e, 0x007c7024, 0x001ad6f9}}}, + {X: Field{[10]uint32{0x02246b12, 0x019162d7, 0x01f81389, 0x00d3cf95, 0x03993bf0, 0x02642ac9, 0x01b4caac, 0x007dc6cd, 0x013c2551, 0x00142e81}}, Y: Field{[10]uint32{0x02291f63, 0x03e8aefc, 0x025b88a7, 0x028af32f, 0x009f8a22, 0x0018f6ac, 0x02903993, 0x00c5c19d, 0x02455c7a, 0x0034bc4a}}}, + {X: Field{[10]uint32{0x026629cf, 0x02fc0bc1, 0x03a00b38, 0x0088e670, 0x039f2906, 0x00d961e4, 0x03898f0b, 0x02a7b681, 0x00eaee4a, 0x000e16a0}}, Y: Field{[10]uint32{0x03efcd50, 0x029a5d02, 0x01eb16e6, 0x00091a64, 0x038cfe49, 0x02a42e3e, 0x010806d6, 0x031b975d, 0x020bd72a, 0x002950cc}}}, + {X: Field{[10]uint32{0x03dedbef, 0x03866582, 0x00a9b276, 0x02948d88, 0x02eaa669, 0x03501463, 0x029de6c3, 0x0378e1b9, 0x00b9904e, 0x00026184}}, Y: Field{[10]uint32{0x0206b581, 0x03436522, 0x03315c4a, 0x034d8760, 0x03b88f72, 0x016d7fe3, 0x00d0c892, 0x02840343, 0x01a2eb6a, 0x00241dd5}}}, + {X: Field{[10]uint32{0x011b7fe8, 0x01e66646, 0x0329ed45, 0x016d1d53, 0x0219ae21, 0x032efda8, 0x007b0d3d, 0x0034ef7f, 0x0007d964, 0x0020fc42}}, Y: Field{[10]uint32{0x03293364, 0x029be681, 0x035e2489, 0x012bef0a, 0x02fe719e, 0x002778b1, 0x00e69c65, 0x035b4a18, 0x031b5095, 0x003d8b48}}}, + {X: Field{[10]uint32{0x03b1c246, 0x03285f53, 0x0059e74d, 0x03f19ed8, 0x01e3f287, 0x009d67f4, 0x002b0285, 0x00d718be, 0x02939273, 0x00147488}}, Y: Field{[10]uint32{0x0063745d, 0x008677db, 0x0187be05, 0x0374c4a1, 0x02f7184b, 0x00f22c49, 0x00b909e2, 0x016d3462, 0x03a3b514, 0x002e6e00}}}, + {X: Field{[10]uint32{0x03465006, 0x0277bc53, 0x03c70368, 0x01316827, 0x013e8cc2, 0x009b0df1, 0x02919458, 0x00f50f49, 0x0342e578, 0x002f9a98}}, Y: Field{[10]uint32{0x007ef000, 0x0236e89f, 0x0004c200, 0x012c70d8, 0x0081bc7e, 0x00f773f6, 0x01efc141, 0x0149e76a, 0x00fc3fc1, 0x002071c6}}}, + {X: Field{[10]uint32{0x00790036, 0x023c89af, 0x02e81a4e, 0x03642a0a, 0x00448681, 0x022c9c1c, 0x03b043b5, 0x004a1292, 0x00d9c36f, 0x003c84cd}}, Y: Field{[10]uint32{0x0016eff2, 0x03d1d4e2, 0x0308e428, 0x02e0b3c9, 0x03f5f143, 0x00878a4e, 0x03dcc1eb, 0x03f4c114, 0x00513a87, 0x00000112}}}, + {X: Field{[10]uint32{0x01730508, 0x03abebb2, 0x022cb419, 0x00ca494f, 0x020932a8, 0x01cef49f, 0x00cb1f1b, 0x0118fe04, 0x00e5af34, 0x00055631}}, Y: Field{[10]uint32{0x00c917f8, 0x007f937d, 0x0149e2dd, 0x00dd0a28, 0x006921bb, 0x029d4217, 0x023f3f41, 0x0104c8d9, 0x025025e1, 0x0032e331}}}, + {X: Field{[10]uint32{0x025d71e2, 0x02428699, 0x02e642e0, 0x03b6641c, 0x01b575a4, 0x02238e09, 0x00d3596a, 0x0083606d, 0x032c8f60, 0x000614e8}}, Y: Field{[10]uint32{0x003a8367, 0x03b660a8, 0x005e89e3, 0x0222ca50, 0x03eaf268, 0x006187ff, 0x024aedbb, 0x02ba838d, 0x031cb170, 0x002368a8}}}, + {X: Field{[10]uint32{0x00cd323d, 0x00d4e233, 0x0190b8cc, 0x02d0ef75, 0x002da679, 0x03ebea77, 0x01f60dbc, 0x00efb087, 0x00bcf0f0, 0x003bd617}}, Y: Field{[10]uint32{0x00c2f296, 0x03db601e, 0x03acdd93, 0x02e876a9, 0x01f02ccd, 0x00a04e41, 0x0192e078, 0x007db4e1, 0x0203aff9, 0x000af178}}}, + {X: Field{[10]uint32{0x02fd5c14, 0x01da022c, 0x03471a14, 0x01938344, 0x031fa458, 0x0092cf1e, 0x03d99714, 0x01a3aefb, 0x0237e1ea, 0x000fd30b}}, Y: Field{[10]uint32{0x020eeaa5, 0x038da91f, 0x005e330d, 0x005ed50e, 0x01051b9c, 0x03cca6d4, 0x02665b04, 0x00ecfeaa, 0x00ab3d28, 0x0019e264}}}, + {X: Field{[10]uint32{0x0021693a, 0x02d04679, 0x0133b621, 0x004082d5, 0x0059fc9b, 0x00eafcab, 0x01cb20ab, 0x02b12860, 0x038ad557, 0x000ac006}}, Y: Field{[10]uint32{0x02c6b94a, 0x00a5c8e0, 0x006758fa, 0x0234b283, 0x01310a32, 0x0122c949, 0x026f8c30, 0x0276c5cf, 0x0007f8d1, 0x003f93cc}}}, + {X: Field{[10]uint32{0x012cd229, 0x016f24d1, 0x00bb98d0, 0x009d62e8, 0x0379c90d, 0x007ec328, 0x02b5b108, 0x0023fe37, 0x01dd7d5a, 0x00196274}}, Y: Field{[10]uint32{0x028149a9, 0x01e45966, 0x007faa11, 0x016c64af, 0x01fdc547, 0x038003f5, 0x008dca23, 0x00a64d2f, 0x0080ed84, 0x00209025}}}, + {X: Field{[10]uint32{0x03950a6f, 0x027c3d49, 0x028a83b8, 0x03968e8e, 0x00ab4377, 0x01da9aa4, 0x00553162, 0x020d6e3a, 0x010df5d3, 0x00308cff}}, Y: Field{[10]uint32{0x00f6f3e5, 0x0088e4ad, 0x0384f494, 0x00c61ae2, 0x02314680, 0x016bbf81, 0x00fbac08, 0x02690c4b, 0x00a8775a, 0x0023fa38}}}, + {X: Field{[10]uint32{0x024cc14a, 0x02c4f41d, 0x036e7b65, 0x003e27db, 0x02a38867, 0x01d68afe, 0x02e3f57f, 0x023bbb5b, 0x02852a84, 0x00209cc6}}, Y: Field{[10]uint32{0x01117583, 0x0039334e, 0x004c1208, 0x026e29d4, 0x011ffacc, 0x0238d288, 0x03096883, 0x017a1fc6, 0x009a307c, 0x00300314}}}, + {X: Field{[10]uint32{0x02d2a50d, 0x03a9b401, 0x0097707e, 0x02d54fab, 0x00c9dde3, 0x008a50bb, 0x02b51501, 0x02c6c16a, 0x03a0e5d8, 0x003884e1}}, Y: Field{[10]uint32{0x01b0ff83, 0x02043723, 0x00349bb2, 0x02564cd5, 0x000fc81c, 0x012b177f, 0x003c9207, 0x024f7c0d, 0x0109f90d, 0x0031d379}}}, + {X: Field{[10]uint32{0x039fdc25, 0x03269256, 0x0236a00b, 0x0305b410, 0x0292780f, 0x0358d6e3, 0x035c3414, 0x010f6716, 0x01fd2fa4, 0x0006021c}}, Y: Field{[10]uint32{0x0314d120, 0x021400ea, 0x00146599, 0x00db89de, 0x021f25e6, 0x02f80971, 0x02014a8b, 0x03cde908, 0x01506008, 0x00359b1c}}}, + {X: Field{[10]uint32{0x00cb2c42, 0x034c382f, 0x03ab4b44, 0x024d360f, 0x00d64dff, 0x00455ae4, 0x0329a9a3, 0x00aa307b, 0x027eed11, 0x002d6a77}}, Y: Field{[10]uint32{0x0139db38, 0x029c7d0d, 0x03d91130, 0x033ec3fc, 0x0130315c, 0x03be15c8, 0x00afe660, 0x00febcec, 0x0279a81c, 0x00159d69}}}, + {X: Field{[10]uint32{0x00aee7d6, 0x00047f40, 0x03b4d40d, 0x01ec01b4, 0x018ce569, 0x0016973e, 0x02baf78c, 0x039437d0, 0x007261f1, 0x0026b339}}, Y: Field{[10]uint32{0x0107a05c, 0x0223fae5, 0x01e0a95f, 0x00c6b74a, 0x026cb8c8, 0x00c969e7, 0x03568304, 0x0131a795, 0x013c4046, 0x003edf10}}}, + {X: Field{[10]uint32{0x03574e5c, 0x03303ae2, 0x01100a02, 0x038d9f61, 0x01916796, 0x0064f7bb, 0x007bc4b2, 0x01dc48bf, 0x039b7bef, 0x003e02ad}}, Y: Field{[10]uint32{0x015c8f6d, 0x00067747, 0x022aac77, 0x02142d74, 0x003a1ac5, 0x01b372b3, 0x035834ed, 0x022c9766, 0x003f842d, 0x0031b534}}}, + {X: Field{[10]uint32{0x009366a1, 0x0287e62f, 0x01aeefae, 0x0123b058, 0x0125d814, 0x0182c936, 0x005845ef, 0x008c30c0, 0x0355cdb4, 0x002d0c78}}, Y: Field{[10]uint32{0x0241c1cd, 0x0345db76, 0x0390ef69, 0x0395731c, 0x017aebac, 0x014adb9a, 0x02ddb985, 0x002850e0, 0x01d4ae23, 0x003af36b}}}, + {X: Field{[10]uint32{0x0275f1fb, 0x01aa001b, 0x009c593f, 0x037db082, 0x02efe56e, 0x01b72939, 0x02b686f4, 0x00e98d47, 0x039e08c9, 0x001ea982}}, Y: Field{[10]uint32{0x03a0347e, 0x03c03bd7, 0x00c98328, 0x0002d01a, 0x00cb4248, 0x038cf9a5, 0x013e3892, 0x002fc781, 0x01e21770, 0x00001320}}}, + {X: Field{[10]uint32{0x0286b30b, 0x039d8404, 0x0296ba72, 0x03bc9cbd, 0x01d304fb, 0x028ded37, 0x001d1a4d, 0x0090edd1, 0x010b3aa4, 0x0006a209}}, Y: Field{[10]uint32{0x01b7a473, 0x017d2ada, 0x033fe3fd, 0x0163d166, 0x02b33b76, 0x0015aa6f, 0x02d8cb0f, 0x02056f81, 0x010557d3, 0x001896e7}}}, + {X: Field{[10]uint32{0x022b57c7, 0x03b6f0ea, 0x0196682d, 0x011c7aea, 0x0106c4ca, 0x02d773b8, 0x034db23c, 0x015628b4, 0x02eb49fd, 0x0016d493}}, Y: Field{[10]uint32{0x038ae50c, 0x014a41ae, 0x02d5dbf2, 0x009caf28, 0x0025c8b2, 0x01b80af7, 0x01b163d5, 0x033875cd, 0x009756b7, 0x000b570b}}}, + {X: Field{[10]uint32{0x0276d2c5, 0x0016139d, 0x007d1892, 0x03610cef, 0x00191550, 0x03dd5826, 0x00cb8b10, 0x02f9e749, 0x03776d9f, 0x002b9839}}, Y: Field{[10]uint32{0x018d7784, 0x0249bec5, 0x0311ffff, 0x0350d1a8, 0x00b76c36, 0x03bf219e, 0x011be83e, 0x0091cb28, 0x01867377, 0x0010c3fa}}}, + {X: Field{[10]uint32{0x02efb9d4, 0x03e04a98, 0x03105ab4, 0x00c2710b, 0x0353e8d7, 0x017739be, 0x020b081a, 0x03d9a351, 0x023d9e29, 0x000c8e97}}, Y: Field{[10]uint32{0x004776ba, 0x0295afa0, 0x01830c2f, 0x02911d98, 0x03da6216, 0x02d7aa6b, 0x0256d1d3, 0x00fd0859, 0x03b36948, 0x0000ad15}}}, + {X: Field{[10]uint32{0x027c1c9d, 0x00d9445e, 0x022a2a8b, 0x0125e965, 0x02b3db86, 0x01a50a6c, 0x00e612ed, 0x0154b219, 0x01b6591e, 0x002b346d}}, Y: Field{[10]uint32{0x026e88b8, 0x01886423, 0x00fa3265, 0x00947af1, 0x0067544d, 0x009498d2, 0x02ba7729, 0x01a40249, 0x03ff056f, 0x003984c7}}}, + {X: Field{[10]uint32{0x005b36f4, 0x02fdd3de, 0x02cf114e, 0x018211d0, 0x02f2e61e, 0x01549233, 0x026286b1, 0x014b80a8, 0x00708178, 0x001ad38b}}, Y: Field{[10]uint32{0x01b893df, 0x03a19139, 0x01a1a1e4, 0x03f359b9, 0x037398f7, 0x007354a5, 0x007130d0, 0x026f7080, 0x011c7a52, 0x00210025}}}, + {X: Field{[10]uint32{0x0084ab31, 0x01e5a7e0, 0x017c7151, 0x017e02a0, 0x004e6a37, 0x0230d1d1, 0x004cb914, 0x0029187d, 0x0327d67b, 0x0030acb1}}, Y: Field{[10]uint32{0x036d5f59, 0x0207ebb0, 0x01718824, 0x03522414, 0x03a52c47, 0x030a07f4, 0x00aa2519, 0x01ec3e66, 0x0359ebf3, 0x003fb590}}}, + {X: Field{[10]uint32{0x004f202e, 0x01f286e4, 0x02f71220, 0x008af683, 0x022ec564, 0x01e283e1, 0x014609d9, 0x02f653de, 0x02dab5b2, 0x000ce17b}}, Y: Field{[10]uint32{0x003d7443, 0x01eedc58, 0x0074b490, 0x0219d1a9, 0x01b12a21, 0x006a7d10, 0x01975aa3, 0x02a3b871, 0x02af1db8, 0x000a0234}}}, + {X: Field{[10]uint32{0x00c803f2, 0x006701c5, 0x02a82335, 0x03c35314, 0x02edce15, 0x03ead1e1, 0x030c2923, 0x010dee11, 0x00d7f2cb, 0x002003db}}, Y: Field{[10]uint32{0x00a37056, 0x0054bd35, 0x03734ad0, 0x0233b0e5, 0x0023e0a8, 0x02c980a3, 0x0206ca59, 0x006a8337, 0x023e0ad1, 0x002607cb}}}, + {X: Field{[10]uint32{0x02aa2f3b, 0x0071803b, 0x01f32474, 0x02dd853c, 0x02ebfaf4, 0x01eedb2a, 0x00103c6d, 0x00a1bf4f, 0x03ff3a9f, 0x001cea82}}, Y: Field{[10]uint32{0x00c6f7b1, 0x03c76946, 0x02846701, 0x00f13f79, 0x00a54a2e, 0x0362f39f, 0x009fe73d, 0x02e60f2e, 0x012981a9, 0x0000c2f1}}}, + {X: Field{[10]uint32{0x0178f2c5, 0x005a7ee8, 0x029ca789, 0x02626f3c, 0x03863804, 0x00f9d84b, 0x03fdfa9c, 0x004fda02, 0x00e6ab5c, 0x0024a03f}}, Y: Field{[10]uint32{0x00ae36bb, 0x013df373, 0x03b233e7, 0x02f76c28, 0x03aeb6a7, 0x03dfd6ed, 0x01397b18, 0x00b8ecbf, 0x00dbc5bc, 0x0012e5bb}}}, + {X: Field{[10]uint32{0x026e03ca, 0x02fda769, 0x00b8107d, 0x020397b3, 0x029f4387, 0x01c344ba, 0x009be162, 0x02e7bed6, 0x004bbb50, 0x001c8157}}, Y: Field{[10]uint32{0x036bc7cb, 0x0169b183, 0x023f9891, 0x0016a87f, 0x01985ad7, 0x006a188f, 0x01746935, 0x01df7561, 0x017fc30a, 0x002baa89}}}, + {X: Field{[10]uint32{0x03c1879f, 0x017411f9, 0x008e0308, 0x021c4aaf, 0x000eb8e8, 0x03ea09f3, 0x02687c73, 0x038f6c2e, 0x03d0c771, 0x003c3cf3}}, Y: Field{[10]uint32{0x00936b33, 0x026054e9, 0x02e20eff, 0x01733db8, 0x031bf8aa, 0x013f8428, 0x030c4b32, 0x013153e3, 0x027d8b74, 0x000b184b}}}, + {X: Field{[10]uint32{0x02f5dcfa, 0x01ebe6f9, 0x033ec67a, 0x01df979e, 0x00d8b611, 0x0290ddab, 0x02c8fe8e, 0x03c9c1be, 0x036570b0, 0x0025f1e2}}, Y: Field{[10]uint32{0x03e14c3d, 0x027563ce, 0x00daa127, 0x026cd1f1, 0x01133460, 0x00f2d650, 0x03da765c, 0x016162a5, 0x010cfea9, 0x0006bae5}}}, + {X: Field{[10]uint32{0x02509e69, 0x0327bfa7, 0x03eeb9b5, 0x03d4ce9c, 0x024b7908, 0x022c1dfe, 0x013a9de4, 0x01bf0f52, 0x021e967e, 0x002ce7fe}}, Y: Field{[10]uint32{0x0265dc05, 0x01039d7a, 0x01e16f3b, 0x00bc4486, 0x03f76c30, 0x007205f8, 0x0218c007, 0x01cb3035, 0x015181ac, 0x003d57ce}}}, + {X: Field{[10]uint32{0x00e7baaa, 0x007198fe, 0x03fd1735, 0x01ca2c79, 0x0201b2a9, 0x0246c582, 0x003fcc4d, 0x01f1346f, 0x037a5ff2, 0x000566e7}}, Y: Field{[10]uint32{0x00c4360a, 0x0202df29, 0x02697a83, 0x01f55e30, 0x015e6012, 0x01e27f50, 0x021c7f0d, 0x013febae, 0x036d86c5, 0x002c2abb}}}, + {X: Field{[10]uint32{0x0385e44c, 0x027dfcf2, 0x021aaf72, 0x02acf04d, 0x016dff76, 0x0189bf11, 0x0107a62b, 0x012c5b1f, 0x03d18d4a, 0x00096043}}, Y: Field{[10]uint32{0x036a2d9b, 0x0348864b, 0x00f442fc, 0x017ccd5e, 0x009252dd, 0x02d2e2c0, 0x0295526a, 0x02f5c2b4, 0x03257794, 0x003d0148}}}, + {X: Field{[10]uint32{0x033352b2, 0x024d37d1, 0x0241d6e1, 0x02440b69, 0x01eab362, 0x0241d620, 0x019864c0, 0x028ca312, 0x024d5860, 0x0009f882}}, Y: Field{[10]uint32{0x03b45203, 0x02e52640, 0x02a7b65c, 0x00ac03a1, 0x03d3822a, 0x000f0469, 0x030b4905, 0x02d43f89, 0x00f2888c, 0x00305663}}}, + {X: Field{[10]uint32{0x001448a2, 0x03cef44d, 0x032dd685, 0x01a13651, 0x006d684a, 0x02885ed8, 0x008f465b, 0x0253999c, 0x014e517a, 0x00120fd1}}, Y: Field{[10]uint32{0x039ad11f, 0x01a2985f, 0x02aa82ba, 0x01bfc308, 0x01d338d0, 0x01772dc3, 0x0123346c, 0x0268d917, 0x0144d93b, 0x00304ecc}}}, + {X: Field{[10]uint32{0x0204e6e5, 0x002967af, 0x03266e2e, 0x023e0e93, 0x0267ef06, 0x03054cbc, 0x024c9a30, 0x012a996b, 0x02f63173, 0x0013d1ec}}, Y: Field{[10]uint32{0x00d99d2b, 0x00d35996, 0x03a27c01, 0x00bb7551, 0x01682439, 0x03b6adcb, 0x033ebcf3, 0x0272d174, 0x034cf11b, 0x00163c7c}}}, + {X: Field{[10]uint32{0x0397db07, 0x02d8d05d, 0x0057424f, 0x00ac4711, 0x00d6f42a, 0x03a04330, 0x031774b8, 0x033a12d3, 0x037e0835, 0x002a9e3a}}, Y: Field{[10]uint32{0x005e743b, 0x0124fa86, 0x0311b0cf, 0x018c85c4, 0x03ee9ffc, 0x00fdcb8c, 0x00c7541d, 0x0351f167, 0x0139d957, 0x000e5900}}}, + {X: Field{[10]uint32{0x00033d49, 0x02c33a33, 0x0194417e, 0x03daa97d, 0x0031a3f1, 0x00dd602c, 0x01c0655c, 0x00158047, 0x018583c0, 0x00349662}}, Y: Field{[10]uint32{0x02f24b08, 0x00744696, 0x02d8bc84, 0x00193413, 0x02b6a830, 0x036af85c, 0x014622a2, 0x02062e8a, 0x01739de8, 0x000d9072}}}, + {X: Field{[10]uint32{0x01e26634, 0x004a9215, 0x03faf487, 0x017567df, 0x03f2d2b8, 0x010d641e, 0x0338f877, 0x02dd3d5b, 0x03a0eccc, 0x0013c08e}}, Y: Field{[10]uint32{0x01a6a456, 0x020a57ec, 0x02e95bc4, 0x012e1a9b, 0x03a2ae09, 0x024edb0f, 0x03c35ea3, 0x014496e3, 0x0033b15d, 0x003e03bf}}}, + {X: Field{[10]uint32{0x023a1589, 0x03df8b5d, 0x003c670b, 0x00a3df05, 0x028eda41, 0x0056b22f, 0x03e13cfa, 0x03425def, 0x008b48ab, 0x002721bc}}, Y: Field{[10]uint32{0x01c2df45, 0x014bc570, 0x00a171a1, 0x036b211a, 0x0217d4ee, 0x00a7536c, 0x02ff453d, 0x032e20e7, 0x03870e9e, 0x00045447}}}, + {X: Field{[10]uint32{0x02137576, 0x00362e3b, 0x0120e913, 0x01dda760, 0x01c5e6ac, 0x0355f89a, 0x03affcec, 0x017323ff, 0x018b72e9, 0x000e021c}}, Y: Field{[10]uint32{0x01ea728f, 0x0227f4cc, 0x00ceedb7, 0x0068278f, 0x00c614a6, 0x03b62d63, 0x02e59cf8, 0x02dc8936, 0x01ebcf5e, 0x003d03af}}}, + {X: Field{[10]uint32{0x00dda3df, 0x03e9d4bf, 0x03b4255d, 0x011d71f7, 0x00eb349f, 0x03b68091, 0x01c80a13, 0x024bf01c, 0x015e3994, 0x00237bf4}}, Y: Field{[10]uint32{0x03f7a771, 0x01317d9e, 0x00c7ff9e, 0x033b8ec3, 0x01a01786, 0x03f0e58c, 0x03b0d19f, 0x03430ed3, 0x03784353, 0x0034f7e9}}}, + {X: Field{[10]uint32{0x0024bf8a, 0x02a2a9f7, 0x03d466ea, 0x03430c92, 0x03ed99f9, 0x0263eb79, 0x00052487, 0x0341f8ea, 0x01425ac1, 0x00236b23}}, Y: Field{[10]uint32{0x02ef8009, 0x0042dcaa, 0x00087d64, 0x0098834a, 0x0262e9d9, 0x00d5375b, 0x032f097d, 0x00d3f362, 0x01b79232, 0x003c8cbf}}}, + {X: Field{[10]uint32{0x03a90e1b, 0x032b011f, 0x01d35329, 0x03f1be04, 0x01e45d26, 0x0090f0f4, 0x03178b4f, 0x039b78a1, 0x0043f3bc, 0x0021f399}}, Y: Field{[10]uint32{0x01724138, 0x00cfa54e, 0x02875fac, 0x03523dc3, 0x000f0af0, 0x01fb7cec, 0x002799d7, 0x012ad316, 0x00196241, 0x0002a25c}}}, + {X: Field{[10]uint32{0x00fdf08d, 0x0259b1aa, 0x02f3bd22, 0x03201d06, 0x02124a21, 0x02dddd6e, 0x0360a3f8, 0x02ddfa7a, 0x03fabf2f, 0x002ffb9a}}, Y: Field{[10]uint32{0x03ba76f7, 0x0339757e, 0x03fa69c9, 0x03a102e0, 0x02cd2e8b, 0x00bf20fb, 0x026f2155, 0x012fc5fc, 0x0399541e, 0x000a6870}}}, + {X: Field{[10]uint32{0x00c2bec1, 0x026bcad7, 0x0341daef, 0x02be0e06, 0x00044873, 0x02bfdcae, 0x001a5537, 0x02a0008d, 0x01a5b553, 0x00030c3f}}, Y: Field{[10]uint32{0x039fea6d, 0x01054ed0, 0x0162e7d1, 0x01b99775, 0x028a96f7, 0x0338d011, 0x004aafc0, 0x023593e9, 0x02b587d8, 0x001738fa}}}, + {X: Field{[10]uint32{0x0000ed97, 0x0375360d, 0x030a00f1, 0x001dca35, 0x014d9226, 0x006d067d, 0x01cadbfe, 0x00675c31, 0x01fd5941, 0x00179c54}}, Y: Field{[10]uint32{0x02108917, 0x03654c7a, 0x0020d73b, 0x0259895e, 0x024c64ec, 0x032f75d7, 0x0136816e, 0x0129f58b, 0x02a5a51d, 0x001aa33b}}}, + {X: Field{[10]uint32{0x0086100b, 0x01a436fb, 0x007c04bf, 0x01ead435, 0x03e974af, 0x01494896, 0x03d06208, 0x0357c3cc, 0x030a66cd, 0x002a723a}}, Y: Field{[10]uint32{0x038e0a2f, 0x02786ca2, 0x02bf329c, 0x0223cebb, 0x00a4371e, 0x03ca4335, 0x02a24bcf, 0x00c7cec0, 0x039d8987, 0x003c8272}}}, + {X: Field{[10]uint32{0x03a2e439, 0x021446b8, 0x0253b946, 0x01cd7ebd, 0x01cb8043, 0x00bb9848, 0x01b16595, 0x0245411c, 0x01d79366, 0x0025579e}}, Y: Field{[10]uint32{0x03930d06, 0x001c02f3, 0x028261de, 0x037c4839, 0x002e82cd, 0x0295b1e8, 0x02a3bcc1, 0x019e8043, 0x03e32a9b, 0x001a36ab}}}, + {X: Field{[10]uint32{0x03a34a71, 0x00ad0277, 0x005fac19, 0x0014f21a, 0x02bef248, 0x02edf875, 0x03bc70b3, 0x0331a96c, 0x0293d3c1, 0x0008b49c}}, Y: Field{[10]uint32{0x039b3357, 0x020dfa58, 0x02389e6c, 0x037ece77, 0x014d5d76, 0x01036ed6, 0x004e42e7, 0x0156dd4f, 0x00e34fc8, 0x0031d2d1}}}, + {X: Field{[10]uint32{0x0137abc0, 0x013a3108, 0x03835b2f, 0x022ce80d, 0x0370d46e, 0x0121ebaf, 0x01d91f71, 0x005d9d3a, 0x02cef74b, 0x003467f3}}, Y: Field{[10]uint32{0x02db7580, 0x02b6db12, 0x00a83fe9, 0x0397cd97, 0x0334ca9f, 0x025332e8, 0x02224f74, 0x002604f3, 0x03f63dca, 0x0016e412}}}, + {X: Field{[10]uint32{0x02336899, 0x00df2470, 0x0073f2a4, 0x01b1492a, 0x001723c3, 0x02f1a9aa, 0x02091136, 0x01200359, 0x022aadc7, 0x001aa85c}}, Y: Field{[10]uint32{0x02319d07, 0x03c7b8b5, 0x03c369a4, 0x0367b599, 0x023d9709, 0x00855273, 0x01640583, 0x016d318c, 0x004cdf49, 0x0023a5c0}}}, + {X: Field{[10]uint32{0x00ea6efc, 0x01be146c, 0x01052f73, 0x01ac1c83, 0x02b16e3b, 0x025ab461, 0x0107262e, 0x0348804b, 0x02239ee4, 0x001e6f4d}}, Y: Field{[10]uint32{0x0018729e, 0x03d36fbd, 0x000fe42d, 0x01beb5ae, 0x036a3116, 0x031f24b0, 0x00972c71, 0x03369077, 0x03dbf568, 0x000292d0}}}, + {X: Field{[10]uint32{0x00f16ce9, 0x00460be9, 0x028c9e40, 0x00800500, 0x03a1c7d8, 0x01a43033, 0x0183c5d3, 0x00ded59d, 0x032c1463, 0x002d780a}}, Y: Field{[10]uint32{0x0069e0b2, 0x0389e564, 0x026fb938, 0x0299c634, 0x021a819b, 0x003a2850, 0x013516fa, 0x02a9c39e, 0x02be3fac, 0x0012e591}}}, + {X: Field{[10]uint32{0x03a7403a, 0x02bdd0c1, 0x0057dd05, 0x02152ce2, 0x0114a2b6, 0x021fde43, 0x0044d643, 0x03ad3419, 0x0271de2d, 0x00238cf8}}, Y: Field{[10]uint32{0x01ecc429, 0x00f5b8a2, 0x0171fc91, 0x03fc3fa7, 0x00e08d73, 0x00f833ac, 0x02011bd0, 0x028773aa, 0x03a2c7a4, 0x00360b54}}}, + {X: Field{[10]uint32{0x0019c2f5, 0x0164f293, 0x0036b074, 0x03d8bd7b, 0x020abd6e, 0x03b68df6, 0x0369b73f, 0x029e0395, 0x004277db, 0x0013ffbd}}, Y: Field{[10]uint32{0x0392f854, 0x021a04f4, 0x01d694a1, 0x02f59efe, 0x03796755, 0x02ec27e6, 0x036162cf, 0x0282ae7b, 0x0057378a, 0x002a28c2}}}, + {X: Field{[10]uint32{0x01f57368, 0x00dc49ba, 0x02bdefb7, 0x035bb2e9, 0x03f7e42e, 0x006e491b, 0x00b03341, 0x001722d6, 0x012a6338, 0x0021e2d9}}, Y: Field{[10]uint32{0x02e85836, 0x007bf055, 0x0020ad54, 0x004749d2, 0x02148c97, 0x01290750, 0x02e71f0b, 0x0056334e, 0x033ed691, 0x000b3efa}}}, + {X: Field{[10]uint32{0x01eb415e, 0x002c41a7, 0x02783dd4, 0x00bc6c20, 0x01a0aa0b, 0x01e6b2f0, 0x0399ee6a, 0x02bb451a, 0x0215aee2, 0x003be69a}}, Y: Field{[10]uint32{0x01e97240, 0x02f42392, 0x00d826d9, 0x03686715, 0x02cffd9c, 0x02d271ea, 0x03c44802, 0x00d45286, 0x02ba7fd5, 0x00264278}}}, + {X: Field{[10]uint32{0x0245bf37, 0x02b081c1, 0x008fcdcf, 0x00630b55, 0x02c7814e, 0x036c33a3, 0x00358855, 0x0348c182, 0x00d41551, 0x00357092}}, Y: Field{[10]uint32{0x01a36f05, 0x02013045, 0x029cb3c3, 0x017e0b6a, 0x003cbeb4, 0x0053542a, 0x0378c88c, 0x007e0a32, 0x009e7bf0, 0x003e717a}}}, + {X: Field{[10]uint32{0x03227d1a, 0x016467d5, 0x00289f2c, 0x003c25bb, 0x026dad0c, 0x005155a0, 0x036e6148, 0x0055f659, 0x01cca526, 0x003b6fc9}}, Y: Field{[10]uint32{0x0299554d, 0x036b80bb, 0x034c7409, 0x007bdb95, 0x03d0ca70, 0x0034dc95, 0x0033c137, 0x0191592a, 0x0088be05, 0x0001a115}}}, + {X: Field{[10]uint32{0x00cf09bb, 0x039ba953, 0x0378b26f, 0x02c37f3c, 0x0314be80, 0x033e4a1a, 0x021f5cf0, 0x038dd894, 0x026fb8e2, 0x00170480}}, Y: Field{[10]uint32{0x02daa596, 0x0299d619, 0x010471bf, 0x014102ea, 0x0094b81a, 0x02072691, 0x010154d5, 0x0194a1e5, 0x01ef4e2c, 0x000f6635}}}, + {X: Field{[10]uint32{0x008e2d6d, 0x0134acb9, 0x030a0b43, 0x0352bce5, 0x03ae728b, 0x019cce31, 0x00dcef7f, 0x00157585, 0x02435056, 0x00309f98}}, Y: Field{[10]uint32{0x018525c9, 0x004dea9f, 0x033ced82, 0x025e158c, 0x029e372d, 0x0334a315, 0x00839eeb, 0x03e51bde, 0x02fc703c, 0x001dad61}}}, + {X: Field{[10]uint32{0x01abaf8a, 0x036bb794, 0x027e7b96, 0x00feac52, 0x007f6760, 0x0263b981, 0x0024e8af, 0x0061ad35, 0x03045140, 0x0028a631}}, Y: Field{[10]uint32{0x00108fda, 0x0358e35a, 0x031085d7, 0x027ae9cb, 0x00463b77, 0x01283087, 0x01b430db, 0x0064d529, 0x01582a1b, 0x001371c0}}}, + {X: Field{[10]uint32{0x012013c4, 0x00bccf86, 0x02f073a6, 0x005223ae, 0x02fdf400, 0x0125a8cc, 0x0204fb19, 0x03a2c2b0, 0x015782da, 0x00387f3a}}, Y: Field{[10]uint32{0x01d02f4c, 0x0138d9c7, 0x008a4a26, 0x00e513cc, 0x01e8ca64, 0x01de8435, 0x022b50aa, 0x01bfe5aa, 0x02e5d578, 0x0010145f}}}, + {X: Field{[10]uint32{0x03097d6d, 0x00e6ff02, 0x033a21e1, 0x010bd9cf, 0x001a2b0c, 0x008d8551, 0x00e49bb6, 0x02e00239, 0x03fc5f06, 0x00039c66}}, Y: Field{[10]uint32{0x02fd7822, 0x0118b0ab, 0x025e1a0a, 0x00cd3e45, 0x01d14e2c, 0x00631251, 0x023929ee, 0x037da287, 0x001d83f5, 0x003c320f}}}, + {X: Field{[10]uint32{0x00ad0a4e, 0x0130e2d4, 0x0235a17f, 0x01436723, 0x020dc27c, 0x039a5f6e, 0x00b11277, 0x03358a10, 0x024ba9d8, 0x001ddd9a}}, Y: Field{[10]uint32{0x031b6431, 0x02da7388, 0x00554b26, 0x01b9bdb9, 0x0060b758, 0x01b0642f, 0x02265ac8, 0x009ee808, 0x02d94483, 0x0016ce8a}}}, + {X: Field{[10]uint32{0x008514b4, 0x03ca390d, 0x00292597, 0x035d8983, 0x004f2c9d, 0x00418da4, 0x0260cda4, 0x02a157e1, 0x021f6215, 0x003c8ddc}}, Y: Field{[10]uint32{0x02cfef79, 0x02e4ce06, 0x03651bcc, 0x03a755ec, 0x0046f5ad, 0x00f2e61d, 0x02e8c6d3, 0x027e73b2, 0x021c187b, 0x0004276a}}}, + {X: Field{[10]uint32{0x027b3e08, 0x014fc269, 0x033b9f19, 0x00edb16b, 0x0397517b, 0x01436f20, 0x004e7a8a, 0x006868f3, 0x01d5e889, 0x0025023d}}, Y: Field{[10]uint32{0x01691555, 0x01e7b256, 0x02b90ed8, 0x0150cb67, 0x03ca33e9, 0x0173b4af, 0x01f87b90, 0x006ba725, 0x0212c32f, 0x0006e0bc}}}, + {X: Field{[10]uint32{0x012a7064, 0x027db055, 0x020f4c4f, 0x03223c59, 0x03883649, 0x03a419d7, 0x03214f13, 0x01e49b27, 0x02551170, 0x002ca0dd}}, Y: Field{[10]uint32{0x011abfcf, 0x02c2f5db, 0x00131829, 0x01054671, 0x03be6ee0, 0x02f5545b, 0x0303ca45, 0x02258b9b, 0x033915be, 0x0022554d}}}, + {X: Field{[10]uint32{0x0378f4a9, 0x019eff92, 0x039c1437, 0x00c4fe4b, 0x03986413, 0x01b034a7, 0x012a9dcb, 0x03d5293b, 0x020036b5, 0x003390ae}}, Y: Field{[10]uint32{0x03a048d4, 0x02f4dff8, 0x028024a7, 0x0360914a, 0x0339b757, 0x03dc1afe, 0x00c91792, 0x02ebd1da, 0x0292cf35, 0x001b951c}}}, + {X: Field{[10]uint32{0x00cbcc59, 0x03b738bb, 0x0007d8e9, 0x02f10bc2, 0x00d3942b, 0x0352bd08, 0x009325e8, 0x00ea5efb, 0x02a01a06, 0x002ecf68}}, Y: Field{[10]uint32{0x02d70b32, 0x016749fe, 0x00d9d5c5, 0x00023685, 0x0225d6eb, 0x035b9ecb, 0x018a19ec, 0x0241ffbd, 0x03aabc39, 0x001f0a39}}}, + {X: Field{[10]uint32{0x02c490ee, 0x00b0378d, 0x02acf539, 0x0249b7a3, 0x01dd3e95, 0x01bec9a4, 0x036f620d, 0x0281d3a9, 0x003c97f3, 0x00097613}}, Y: Field{[10]uint32{0x02d5651a, 0x01ce90c5, 0x0154016f, 0x01b279d6, 0x03415309, 0x02b5bf49, 0x0391ffb1, 0x022a6c1e, 0x0345088c, 0x0017839d}}}, + {X: Field{[10]uint32{0x00d5765b, 0x00e511a1, 0x034a7faf, 0x00af9d0e, 0x03764994, 0x01f01d85, 0x015a01de, 0x01bc60b9, 0x03fdca25, 0x0022ea8e}}, Y: Field{[10]uint32{0x030506f1, 0x0022e034, 0x018117f3, 0x01f41f9c, 0x01587bfe, 0x01cc2c84, 0x01c28164, 0x0057345c, 0x00978bbe, 0x001851fa}}}, + {X: Field{[10]uint32{0x021f5170, 0x01a5e5c0, 0x0319274c, 0x026ca1f1, 0x024d3b6b, 0x000931c1, 0x0065dea8, 0x000e1447, 0x020a5b7d, 0x00141f5a}}, Y: Field{[10]uint32{0x037bf5d3, 0x00eb6b5f, 0x03b372dc, 0x034338c3, 0x03c12793, 0x00eb8cae, 0x02a8141c, 0x020eb91f, 0x024770ea, 0x0004e7c5}}}, + {X: Field{[10]uint32{0x02bbd846, 0x003f4e89, 0x030d6d64, 0x03ced3fc, 0x00e45620, 0x003f085f, 0x037354b1, 0x0316fa66, 0x02f7a059, 0x001f1a64}}, Y: Field{[10]uint32{0x01e0bee6, 0x006838ed, 0x02d03274, 0x02814386, 0x001f64e6, 0x004e7efb, 0x027062d7, 0x019070aa, 0x034efa63, 0x00025911}}}, + {X: Field{[10]uint32{0x02698bf2, 0x0319a496, 0x0238fcfc, 0x005efec2, 0x033d5e33, 0x03a9bc55, 0x00507509, 0x016c8c52, 0x02b01bf6, 0x003d8a0c}}, Y: Field{[10]uint32{0x00c1ec95, 0x0230a995, 0x0040d366, 0x00ee31d6, 0x011546cc, 0x013cdd6f, 0x02ce6f88, 0x037f5cfd, 0x00107b8f, 0x0035cc52}}}, + {X: Field{[10]uint32{0x03d1ebad, 0x03e2e71a, 0x02657def, 0x022b3332, 0x00594f62, 0x02f8f1f1, 0x00e20913, 0x03b0d8ad, 0x00abd8e4, 0x002bb487}}, Y: Field{[10]uint32{0x037100f8, 0x03759cae, 0x01dfdf9c, 0x00158094, 0x02b880a2, 0x03d07515, 0x02de1ac2, 0x01ffeaa2, 0x02f3833c, 0x0003e003}}}, + {X: Field{[10]uint32{0x014bf405, 0x0337f6dc, 0x01f66e06, 0x032adb00, 0x029e0ba8, 0x032a5094, 0x011b877a, 0x026905ae, 0x00a9343a, 0x0011b79e}}, Y: Field{[10]uint32{0x014d2bcf, 0x027662fb, 0x00bf66c8, 0x021c237e, 0x0181f30b, 0x00646136, 0x02809c6f, 0x029cfb84, 0x02524f3e, 0x00305104}}}, + {X: Field{[10]uint32{0x00bd41bc, 0x000ed095, 0x02174a63, 0x02469d42, 0x03ba4b65, 0x0010ee66, 0x016ae193, 0x03a4c94d, 0x01b8ab82, 0x000a0cad}}, Y: Field{[10]uint32{0x00aba440, 0x0398fdcd, 0x0049e249, 0x0093d242, 0x01a82752, 0x032e19a5, 0x02ce5340, 0x03c5248f, 0x02033f59, 0x00300d8f}}}, + {X: Field{[10]uint32{0x03e43f9a, 0x017c3132, 0x007ff939, 0x00109cdb, 0x020d85bd, 0x003cdaf6, 0x00abe39b, 0x005885df, 0x01024b5c, 0x0016d5f1}}, Y: Field{[10]uint32{0x0120766c, 0x0032306f, 0x00c06853, 0x0131eb73, 0x01b282ed, 0x00d7613b, 0x03f57b9b, 0x0011cfc6, 0x0007dc0c, 0x00002109}}}, + {X: Field{[10]uint32{0x01c2f103, 0x0132ec70, 0x03af3dac, 0x0362a7b6, 0x00814c45, 0x025ad2a7, 0x01bf8211, 0x01d63a09, 0x02708063, 0x002ce136}}, Y: Field{[10]uint32{0x030fa325, 0x002fbf48, 0x02d13df3, 0x0056bcc3, 0x03aa2375, 0x0241d5fe, 0x03925965, 0x033101d3, 0x01df6400, 0x0039b998}}}, + {X: Field{[10]uint32{0x009a5e1c, 0x00031697, 0x008f8e73, 0x01c8057b, 0x0282a5b6, 0x0069519a, 0x00a5da96, 0x01122a6c, 0x0191563e, 0x000dbff6}}, Y: Field{[10]uint32{0x00bb961c, 0x03b625c0, 0x013b632a, 0x035812d4, 0x01d1a742, 0x0135c8a9, 0x01873208, 0x0351fa50, 0x0035fc17, 0x0025c19e}}}, + {X: Field{[10]uint32{0x0189d81c, 0x02acd2bb, 0x022e7f5a, 0x00b31b0d, 0x035b9d14, 0x00eb7361, 0x0260ecc3, 0x000d9f93, 0x005257c2, 0x0020d9f9}}, Y: Field{[10]uint32{0x008be121, 0x00efc665, 0x0327af1f, 0x0356ef73, 0x02b77ce2, 0x03d0e067, 0x00a9e74d, 0x02c9bb4e, 0x00903ffa, 0x003f1ffc}}}, + {X: Field{[10]uint32{0x00b0564b, 0x0225a6f7, 0x02d179c9, 0x02e752c6, 0x0004719f, 0x0048e196, 0x00539e24, 0x00a5bed0, 0x03e48cc9, 0x003db391}}, Y: Field{[10]uint32{0x03950e1c, 0x003582a1, 0x02a60093, 0x0019e002, 0x02b524a6, 0x033464ab, 0x01590175, 0x03702dbc, 0x036afe5e, 0x000da34a}}}, + {X: Field{[10]uint32{0x01fae013, 0x00769efe, 0x02ac6509, 0x01623fe7, 0x03194ccb, 0x01c95917, 0x03d20c2a, 0x029bc149, 0x03e4beda, 0x0010e308}}, Y: Field{[10]uint32{0x02ff15f8, 0x004c69a4, 0x00b456d6, 0x02ffe392, 0x03e28dc6, 0x01c8a884, 0x01c93b53, 0x02095f6f, 0x0230c721, 0x00151882}}}, + {X: Field{[10]uint32{0x02bee7bd, 0x02124b61, 0x03fbc84e, 0x02acbbb1, 0x03a1fa1d, 0x0176d405, 0x00e87228, 0x00d2fdeb, 0x02f8cc94, 0x00073d9c}}, Y: Field{[10]uint32{0x01cafdcc, 0x00d2f16d, 0x01018167, 0x0047891e, 0x018932b5, 0x01d9f3bf, 0x03cccedb, 0x03769655, 0x01258bb4, 0x0035b48f}}}, + {X: Field{[10]uint32{0x021a2861, 0x01688fcf, 0x00bf4432, 0x018e2bca, 0x01943052, 0x03dc557f, 0x01cd1574, 0x00a6d9ba, 0x0212b0fa, 0x0011d193}}, Y: Field{[10]uint32{0x02b05141, 0x02a19368, 0x01e5681d, 0x02c286c6, 0x03a2468d, 0x0121a6a0, 0x0166e808, 0x03d5997a, 0x01d53bcd, 0x00082690}}}, + {X: Field{[10]uint32{0x02a964a2, 0x0301d69a, 0x02ff8717, 0x008f82c0, 0x020c4ee2, 0x02efdceb, 0x0077a0a9, 0x0324139a, 0x03a1c884, 0x002a6b7e}}, Y: Field{[10]uint32{0x03f79dc8, 0x02b90120, 0x0236c6cf, 0x0282121e, 0x02b2d809, 0x03fad49f, 0x03371d4a, 0x030d71cf, 0x001da7bb, 0x002ac584}}}, + {X: Field{[10]uint32{0x018edcbe, 0x00071bf1, 0x03f97d31, 0x02b97d05, 0x01824421, 0x0167b3e5, 0x00983dd6, 0x000c496b, 0x02de1060, 0x000a4cbf}}, Y: Field{[10]uint32{0x0176d727, 0x01d508f7, 0x02176e10, 0x0385f210, 0x012df54f, 0x03d32c47, 0x0234fe06, 0x0055afcb, 0x0343e666, 0x00218069}}}, + {X: Field{[10]uint32{0x03a50216, 0x0359969c, 0x01df3e31, 0x00e79a62, 0x0064f9ba, 0x03fdd103, 0x02b62c58, 0x02b41080, 0x01282f87, 0x0016afd5}}, Y: Field{[10]uint32{0x01a1fabf, 0x01a4a541, 0x029c5d32, 0x015ca0b5, 0x00610b6f, 0x03b71738, 0x00a1b370, 0x0170080b, 0x0216f270, 0x001c7713}}}, + {X: Field{[10]uint32{0x0001843a, 0x02670f6a, 0x013ec573, 0x02f34902, 0x020f359c, 0x00b0b1f9, 0x0087fc28, 0x0072b506, 0x015d9a12, 0x00010652}}, Y: Field{[10]uint32{0x033e0c31, 0x014daabd, 0x009d2956, 0x01f3638e, 0x02d5e661, 0x00e641cc, 0x02fefc78, 0x01425046, 0x01974029, 0x002454b8}}}, + {X: Field{[10]uint32{0x01fbc3af, 0x016ade8a, 0x03eae416, 0x013889bd, 0x00a902bc, 0x02b2ec56, 0x027979a5, 0x039270f0, 0x0082ea2b, 0x003f28e1}}, Y: Field{[10]uint32{0x0346f5f4, 0x015a9b73, 0x0234f288, 0x01d5ec03, 0x01bad50a, 0x00a5b110, 0x0235f0f7, 0x00999242, 0x035e5fe6, 0x0004981c}}}, + {X: Field{[10]uint32{0x01065d06, 0x02bd1595, 0x02de14b7, 0x01023244, 0x02d499ec, 0x016f0eac, 0x02135305, 0x00da22b2, 0x01233d70, 0x002f3c14}}, Y: Field{[10]uint32{0x01fb8bf9, 0x032d97e9, 0x0271d5f5, 0x0245d9c3, 0x01c16d49, 0x00d15a21, 0x0084e63a, 0x01a42cd5, 0x03f10645, 0x003cc995}}}, + {X: Field{[10]uint32{0x029a92e1, 0x036292e3, 0x018e479d, 0x03128999, 0x0268bf6c, 0x017f25ac, 0x019cf74f, 0x02d092c5, 0x002f6391, 0x00139c2d}}, Y: Field{[10]uint32{0x013b3688, 0x02ccfdf9, 0x03d36591, 0x02c8ff93, 0x0266c595, 0x02db38d5, 0x0324fa44, 0x007019de, 0x00111af3, 0x0022e9e2}}}, + {X: Field{[10]uint32{0x0121742f, 0x0213c37a, 0x00e6e1be, 0x03ce2897, 0x013cdb83, 0x01d8a370, 0x013703ca, 0x0183ab08, 0x03d7331c, 0x000ffa14}}, Y: Field{[10]uint32{0x01dca5d6, 0x00c39517, 0x0076d0b2, 0x00966d81, 0x03f27b51, 0x003c9374, 0x01961540, 0x03704dbd, 0x0377c2c6, 0x003edf6e}}}, + {X: Field{[10]uint32{0x0248b9be, 0x0098d27d, 0x025f5ee7, 0x0208f33d, 0x01ca42f5, 0x013a5d90, 0x02aa8100, 0x03750028, 0x037fc3ca, 0x003600cd}}, Y: Field{[10]uint32{0x03d6fe99, 0x011c67a3, 0x02900d82, 0x00616b44, 0x00aeed21, 0x033044eb, 0x02b7fbfe, 0x02020152, 0x004f281a, 0x0018d5ee}}}, + {X: Field{[10]uint32{0x030bebe1, 0x001b2781, 0x03845941, 0x00535b62, 0x0290a051, 0x01fe97b4, 0x037128e7, 0x01c5880a, 0x007b6f9e, 0x001777f7}}, Y: Field{[10]uint32{0x01cd76ad, 0x0047b915, 0x021e9d59, 0x03644663, 0x02714b6d, 0x00740c19, 0x0274c81a, 0x03edefeb, 0x00edfa1e, 0x00008fab}}}, + {X: Field{[10]uint32{0x036f7dd5, 0x0133528e, 0x004115bc, 0x01bb5c85, 0x037913b4, 0x004b459e, 0x01353e6b, 0x02523fa4, 0x0243c964, 0x0017c540}}, Y: Field{[10]uint32{0x00af903f, 0x0375366e, 0x014e571c, 0x0336555d, 0x03b18147, 0x028d8313, 0x00991e2b, 0x03440805, 0x01497a2f, 0x000daaf2}}}, + {X: Field{[10]uint32{0x00942647, 0x01a6eb14, 0x00e14979, 0x00898551, 0x030539f0, 0x02c49fbf, 0x00cc89c2, 0x0110a5e9, 0x00975b0c, 0x00092d3f}}, Y: Field{[10]uint32{0x02b5c207, 0x00e895e7, 0x038f9a82, 0x00b290f2, 0x0311d96f, 0x000529de, 0x02f88819, 0x001f617e, 0x03df54ad, 0x002f4f8f}}}, + {X: Field{[10]uint32{0x002202e0, 0x03395739, 0x0276e1dc, 0x03aab987, 0x03f11b18, 0x02191061, 0x025ba2b2, 0x02d7f277, 0x03355556, 0x0028083a}}, Y: Field{[10]uint32{0x02639f66, 0x02416755, 0x0188027e, 0x01bafadc, 0x039765ac, 0x02a60b8a, 0x03667c00, 0x03d15c5a, 0x021f1ad2, 0x00269c7a}}}, + {X: Field{[10]uint32{0x01f37a68, 0x01abf6b8, 0x00a0f86f, 0x01e33356, 0x038a224c, 0x018711f8, 0x0131de59, 0x00fab181, 0x0064f717, 0x00182de4}}, Y: Field{[10]uint32{0x010786b7, 0x017ce312, 0x016decfc, 0x038d89c9, 0x013437e4, 0x022d529f, 0x01fcbaed, 0x01f5b5ae, 0x024cf6a4, 0x000eb412}}}, + {X: Field{[10]uint32{0x01f7d60b, 0x01edf8e8, 0x01685177, 0x02d74442, 0x03d2e233, 0x03238ff7, 0x002d9159, 0x0079512b, 0x01f2b57d, 0x0020d73c}}, Y: Field{[10]uint32{0x02a84b31, 0x017281fd, 0x01b16166, 0x0255f24a, 0x01a7112f, 0x03871b80, 0x03f77339, 0x036c4eee, 0x0135136e, 0x001f48f7}}}, + {X: Field{[10]uint32{0x037f77ed, 0x00e549e0, 0x00dcab1d, 0x0378c623, 0x03606cd7, 0x012cc66e, 0x021d8ade, 0x036b540b, 0x03501f1e, 0x003ebdd0}}, Y: Field{[10]uint32{0x0221bcc9, 0x0122f7ff, 0x0147616d, 0x006e15d4, 0x030fbcd1, 0x026deb3f, 0x01a0fa03, 0x0160392e, 0x00bdbffb, 0x0036efac}}}, + {X: Field{[10]uint32{0x012de938, 0x02775dc3, 0x027620a3, 0x02974eca, 0x01044091, 0x004849c7, 0x03f74edf, 0x02eb88f9, 0x03c3e072, 0x000e5b1b}}, Y: Field{[10]uint32{0x026fa667, 0x027458b7, 0x024799e9, 0x01dbd1aa, 0x029fb0e0, 0x01ae3d53, 0x00499409, 0x01513533, 0x02f8a143, 0x00177948}}}, + {X: Field{[10]uint32{0x0144ab88, 0x0051fb83, 0x03684881, 0x0170790e, 0x00ae8e60, 0x0023bc83, 0x02622f80, 0x03cb2870, 0x0140ad8d, 0x0003e2ae}}, Y: Field{[10]uint32{0x01bff796, 0x00f9c377, 0x011e0406, 0x03d4cf91, 0x01630d28, 0x0201310a, 0x0057163f, 0x009f3b26, 0x0281fa74, 0x00267f94}}}, + {X: Field{[10]uint32{0x01772367, 0x0106d1af, 0x01e78758, 0x01325640, 0x008197af, 0x020a70dd, 0x0122219a, 0x03fff078, 0x0068af6d, 0x0029880a}}, Y: Field{[10]uint32{0x01e9af45, 0x03deeac1, 0x00e4d145, 0x031360ec, 0x03fe9c4f, 0x0235a363, 0x0254eb6f, 0x0127053e, 0x020bc82a, 0x000981e8}}}, + {X: Field{[10]uint32{0x0067e41e, 0x0312611c, 0x02bda4d7, 0x017edda8, 0x00cfbced, 0x00e93f6f, 0x03644842, 0x02185a41, 0x019349a9, 0x002c4b46}}, Y: Field{[10]uint32{0x02d75e31, 0x0270cf70, 0x037ec009, 0x0155c006, 0x0173fdd5, 0x01c05112, 0x0045eb3f, 0x022ac4a4, 0x00e0ac6c, 0x00299b75}}}, + {X: Field{[10]uint32{0x01eb3b3c, 0x01ef7085, 0x01c64fd6, 0x00d17372, 0x009ae0a7, 0x0064e0c1, 0x00d3b97b, 0x003d7f1b, 0x0355b499, 0x00023723}}, Y: Field{[10]uint32{0x01435d83, 0x01044679, 0x002f5fa6, 0x00e3211f, 0x02c00ce4, 0x021c8bd2, 0x0354cc38, 0x023f632e, 0x017d62cc, 0x0006f9d1}}}, + {X: Field{[10]uint32{0x018feeec, 0x03586719, 0x0053b1b6, 0x00f6b743, 0x01f12864, 0x018d47d9, 0x0121c4b3, 0x02792df5, 0x0337d1db, 0x000b02dc}}, Y: Field{[10]uint32{0x039bad53, 0x0264016c, 0x02d9ad8b, 0x0254ec20, 0x01ef765b, 0x001f3b85, 0x03dae62c, 0x004867de, 0x039ceb7c, 0x003a289e}}}, + {X: Field{[10]uint32{0x023bab35, 0x001b24f6, 0x00d0e66d, 0x024aed7c, 0x02b17ad6, 0x009052ac, 0x00a0d1d2, 0x001a2692, 0x00a25010, 0x002247ed}}, Y: Field{[10]uint32{0x027260f6, 0x014f8903, 0x00c7c0cb, 0x00399869, 0x0052d06c, 0x00d1fcf2, 0x013c03bc, 0x00f04efa, 0x0166cdf4, 0x00105a14}}}, + {X: Field{[10]uint32{0x01ca1738, 0x027b4eda, 0x03b02ed9, 0x02d87d6e, 0x0039fbcc, 0x0399a3bc, 0x0213729d, 0x01103f9c, 0x01b1511c, 0x00128cde}}, Y: Field{[10]uint32{0x03ac0f6f, 0x00519328, 0x02b0039d, 0x000f505c, 0x0017b3bf, 0x02d133a2, 0x01d75eed, 0x006476a2, 0x01c239e9, 0x002c4a8f}}}, + {X: Field{[10]uint32{0x03815521, 0x01c18697, 0x000d22c5, 0x00f0721e, 0x017dc58e, 0x00efe359, 0x01a360f8, 0x01afe98b, 0x03c85493, 0x002e2ca9}}, Y: Field{[10]uint32{0x02a2d15b, 0x0168f57d, 0x03021c06, 0x00b05f0a, 0x021cd441, 0x014aa26e, 0x02c70012, 0x00d8b096, 0x000b7719, 0x0023e48b}}}, + {X: Field{[10]uint32{0x039624fb, 0x024491f6, 0x03a7ff01, 0x02d88b25, 0x002fb56a, 0x01f3dcea, 0x029341d7, 0x014b941e, 0x0219d1dc, 0x002419bf}}, Y: Field{[10]uint32{0x011baf50, 0x00f9f51c, 0x00896215, 0x02f02aef, 0x00c281f5, 0x02d9e269, 0x01d4929e, 0x0315d760, 0x03436ec3, 0x0008f466}}}, + {X: Field{[10]uint32{0x00ced8ec, 0x00d35d5f, 0x017c2b05, 0x0379b99d, 0x029f32c8, 0x02d6dcfb, 0x01a18df2, 0x03a6c728, 0x014c19c9, 0x002fe6ac}}, Y: Field{[10]uint32{0x029759c0, 0x007c5d03, 0x011dd048, 0x01d756f2, 0x0385e793, 0x00de8ebd, 0x02724188, 0x018f782a, 0x01233c38, 0x003b25a6}}}, + {X: Field{[10]uint32{0x016f9d03, 0x01978d4c, 0x031af102, 0x021ba216, 0x0378c656, 0x023adeab, 0x01b7e69e, 0x01280889, 0x006f9c65, 0x001a2c9a}}, Y: Field{[10]uint32{0x014da9c3, 0x012e06fc, 0x0019af28, 0x035bd3dd, 0x03b6b407, 0x00e49caa, 0x014d4077, 0x009af615, 0x01048468, 0x00074f5d}}}, + {X: Field{[10]uint32{0x010bf2fa, 0x009c00dc, 0x01a7de04, 0x01a6fdef, 0x024d3bf6, 0x00b27cda, 0x00989d39, 0x02886a53, 0x03855251, 0x00083720}}, Y: Field{[10]uint32{0x01aa749f, 0x01d83c25, 0x0224a974, 0x0251588f, 0x03975d67, 0x0182321d, 0x0080c4b3, 0x00ca7fe4, 0x02ff713d, 0x000085f9}}}, + {X: Field{[10]uint32{0x01fd0368, 0x026872ad, 0x01568168, 0x011a6a1d, 0x025c822e, 0x03164612, 0x01859bf8, 0x0266328e, 0x009b555d, 0x003c2fad}}, Y: Field{[10]uint32{0x02664aac, 0x0022d01c, 0x032f53bd, 0x03c05830, 0x002e8ff7, 0x029d74fd, 0x033b3b30, 0x037e52e8, 0x02e7a23d, 0x00383816}}}, + {X: Field{[10]uint32{0x00a0ee57, 0x0168ed71, 0x022cfaab, 0x032b7229, 0x0016ddc1, 0x00b3d311, 0x01ad8abf, 0x03e7ae90, 0x0173270f, 0x0023c6aa}}, Y: Field{[10]uint32{0x015920ec, 0x038c2996, 0x00a87071, 0x02c0ae68, 0x002bd6bb, 0x00bdbae8, 0x02a441f1, 0x026c5ea1, 0x0260e340, 0x00242a8d}}}, + {X: Field{[10]uint32{0x028a9957, 0x0208a0e4, 0x01dfb413, 0x02a02ab2, 0x00fecd43, 0x024d2e20, 0x00ca847a, 0x03051d83, 0x0135278d, 0x0031c7ac}}, Y: Field{[10]uint32{0x02003804, 0x021c57ad, 0x03299a9d, 0x0311f9c6, 0x0351d23a, 0x03b31fdb, 0x0307ad5d, 0x0206e224, 0x03774852, 0x0010599f}}}, + {X: Field{[10]uint32{0x02c41c81, 0x03b5946f, 0x01180b0f, 0x00f6ee87, 0x00fa904d, 0x01259717, 0x0109df5d, 0x01aa7cdf, 0x026e50d6, 0x003a401c}}, Y: Field{[10]uint32{0x01028e39, 0x0317c25c, 0x01d5a921, 0x0095e1ba, 0x03117f77, 0x0371f5ec, 0x00e64f2c, 0x01bd02cd, 0x0230db03, 0x0035482a}}}, + {X: Field{[10]uint32{0x0123fa38, 0x0398ed80, 0x00c3beda, 0x035d3e1f, 0x0258d72d, 0x0083bf79, 0x03a6d6b7, 0x014aa6e8, 0x00afa159, 0x002502ac}}, Y: Field{[10]uint32{0x03bfcbcd, 0x01974a3c, 0x00702f87, 0x03c14f10, 0x016e5061, 0x012445b8, 0x01e443aa, 0x022866e1, 0x03476f78, 0x003fb1b5}}}, + {X: Field{[10]uint32{0x00c76949, 0x00b9c32a, 0x006be8b6, 0x01a81903, 0x02a03ba4, 0x004b1739, 0x033ce9d4, 0x02619937, 0x026d643e, 0x002684f7}}, Y: Field{[10]uint32{0x0126dd5e, 0x000e54da, 0x02499061, 0x00c0bada, 0x01a46016, 0x02f1b2f2, 0x00c914d4, 0x02361e2d, 0x02966c2d, 0x00108e20}}}, + {X: Field{[10]uint32{0x02c577c3, 0x03e0ee9d, 0x01d6f256, 0x0176f782, 0x01b76d6a, 0x035fd8ba, 0x006b1497, 0x00a7652a, 0x01b2b311, 0x0010e10a}}, Y: Field{[10]uint32{0x00bc1c7d, 0x013e4c97, 0x006cd2e4, 0x0261f11b, 0x03b2398e, 0x03a0cef6, 0x03cb600b, 0x026f86cc, 0x0186a722, 0x00390d80}}}, + {X: Field{[10]uint32{0x02d02605, 0x019df1a5, 0x00f018c1, 0x02f9a8ea, 0x03c8bb59, 0x010c03a5, 0x007b524e, 0x01cb97eb, 0x025d66d4, 0x000fd8ec}}, Y: Field{[10]uint32{0x00ca39dd, 0x0257ced4, 0x0249d44c, 0x028bef7d, 0x01d9971a, 0x033fcb1a, 0x0119bbe5, 0x006734af, 0x0042158e, 0x0001161c}}}, + {X: Field{[10]uint32{0x038cc0c5, 0x00d716ae, 0x013d1e17, 0x03b5b3ef, 0x0047afe5, 0x0237b7bc, 0x004f90b9, 0x0294828e, 0x01f717c7, 0x0001987f}}, Y: Field{[10]uint32{0x01a80abd, 0x01c0a4df, 0x02549d99, 0x00cec765, 0x03b83b74, 0x014be083, 0x012f00ea, 0x00386496, 0x003ab43c, 0x002f6689}}}, + {X: Field{[10]uint32{0x02b951ce, 0x0317e256, 0x018cc279, 0x01f1d6f1, 0x000c999d, 0x03a8b532, 0x0027c367, 0x01abdf43, 0x0326daac, 0x002e706e}}, Y: Field{[10]uint32{0x03140f4e, 0x02e1fac6, 0x0138a767, 0x01eed632, 0x01b872d1, 0x03b575fc, 0x026c5b2e, 0x021aedf1, 0x0334a42b, 0x002934ef}}}, + {X: Field{[10]uint32{0x0127e8fa, 0x006fe82c, 0x010999b1, 0x03b2ead7, 0x017d9b23, 0x03bf4aee, 0x02af4733, 0x03676142, 0x00a0fc6c, 0x0033d6b1}}, Y: Field{[10]uint32{0x011070ec, 0x03c5817e, 0x002872ca, 0x01dff521, 0x01ad465d, 0x0298b2bd, 0x03a94fe3, 0x005c601f, 0x0316c37f, 0x00112498}}}, + {X: Field{[10]uint32{0x02b3b422, 0x02191c6f, 0x01b7413c, 0x0286cf0a, 0x03749caa, 0x03c28d3e, 0x0082c57f, 0x028cb8ee, 0x02afab8d, 0x002a94ac}}, Y: Field{[10]uint32{0x000859ce, 0x038fb303, 0x00244ac4, 0x02105b18, 0x03733260, 0x00c8094b, 0x028df35e, 0x0396546d, 0x03284a7b, 0x0012d589}}}, + {X: Field{[10]uint32{0x0068211c, 0x01fc60d2, 0x0217ad34, 0x0159e61c, 0x007926b0, 0x011a25af, 0x032909c5, 0x002342a7, 0x022eb3aa, 0x0001843c}}, Y: Field{[10]uint32{0x0019e6bb, 0x030d5492, 0x006eac1b, 0x01ef09dd, 0x012dbf63, 0x019bb68f, 0x01571e61, 0x0312cc06, 0x010df35f, 0x00294b86}}}, + {X: Field{[10]uint32{0x011a6d80, 0x00f30d31, 0x03b44acc, 0x01690997, 0x02db65f1, 0x025449e5, 0x00543307, 0x02963381, 0x00c3a485, 0x00004fc9}}, Y: Field{[10]uint32{0x03f3bc3b, 0x01261301, 0x02e611a4, 0x01b6c93e, 0x020f0797, 0x03e01cd9, 0x01c4327c, 0x01a7fcf3, 0x03b618e0, 0x003eb32f}}}, + {X: Field{[10]uint32{0x00eb0f24, 0x02176768, 0x02bdf922, 0x03ed0573, 0x01caeb18, 0x008b16a1, 0x00112e69, 0x026ca72c, 0x02a84927, 0x000573af}}, Y: Field{[10]uint32{0x0075d833, 0x03a27e38, 0x00d05821, 0x014a3430, 0x01c36de4, 0x029dec70, 0x01af7ed4, 0x03e6f54e, 0x00fe158f, 0x0008f973}}}, + {X: Field{[10]uint32{0x004d97f6, 0x03721c80, 0x029a55f2, 0x032025bc, 0x02cf92e0, 0x00093586, 0x001b1d60, 0x014d9f71, 0x018efb7d, 0x00098168}}, Y: Field{[10]uint32{0x0266d375, 0x012f5417, 0x022f4f94, 0x0132500b, 0x02fd6d67, 0x002b5bf4, 0x018ae518, 0x02dfb371, 0x0374f111, 0x00235a99}}}, + {X: Field{[10]uint32{0x027f9995, 0x002c172f, 0x0356c33d, 0x004cda52, 0x0225cd05, 0x00d6cd8a, 0x0236d6cd, 0x015bcdfe, 0x0272a787, 0x00396238}}, Y: Field{[10]uint32{0x0072fbb7, 0x015bff55, 0x0191766e, 0x0300341c, 0x02115425, 0x0348f94f, 0x00715c6a, 0x010a5a6e, 0x018320b8, 0x00056fae}}}, + {X: Field{[10]uint32{0x016b46a5, 0x021d436f, 0x00b6ccb9, 0x00e64d16, 0x023a02cc, 0x03de729f, 0x03205cb0, 0x03b716da, 0x0122f264, 0x002000c9}}, Y: Field{[10]uint32{0x011a44a8, 0x01c60ee1, 0x01043bca, 0x03a3530f, 0x02fd2c1d, 0x02aa5c97, 0x038b93b5, 0x007aea63, 0x02f4fb4e, 0x0011e724}}}, + {X: Field{[10]uint32{0x0241bfaa, 0x01a8be85, 0x013f3c16, 0x02dfe45b, 0x0394b525, 0x0084a1f9, 0x0101308a, 0x0206d5c1, 0x000ee1a5, 0x00254301}}, Y: Field{[10]uint32{0x0338ea71, 0x03bc76ed, 0x01a751e4, 0x022370e1, 0x0252441a, 0x01d808de, 0x0171725f, 0x01c29a7c, 0x020e911d, 0x00390f6c}}}, + {X: Field{[10]uint32{0x02c391fa, 0x015402a1, 0x018759db, 0x02f8a0b7, 0x01a634b9, 0x02e2f03d, 0x030aecad, 0x03b95cb9, 0x0336423f, 0x003a267f}}, Y: Field{[10]uint32{0x003a9bd1, 0x01231f2d, 0x02790a02, 0x02432c62, 0x01886117, 0x03e1ea44, 0x03100340, 0x02da3899, 0x03b0dfe6, 0x0001fb65}}}, + {X: Field{[10]uint32{0x00a1a51b, 0x00a972f6, 0x0045e833, 0x034a715e, 0x006a7415, 0x01b867ee, 0x00ce5c76, 0x01adea3e, 0x008f0c20, 0x00348d9a}}, Y: Field{[10]uint32{0x016ec9e9, 0x00170b19, 0x01113adb, 0x021d5486, 0x01d50988, 0x0060ed49, 0x02d65085, 0x012983f9, 0x019fe3d5, 0x001cbc8d}}}, + {X: Field{[10]uint32{0x019dcccf, 0x038be884, 0x0286ae94, 0x017f7709, 0x01430eab, 0x01718a3d, 0x02458c58, 0x00bc920f, 0x0071da4b, 0x00234f5f}}, Y: Field{[10]uint32{0x0361178f, 0x01e3d607, 0x00aad827, 0x000c7d65, 0x021f435c, 0x0191ffc7, 0x039c22ad, 0x03c832f5, 0x00e47948, 0x000cf102}}}, + {X: Field{[10]uint32{0x032651a9, 0x01ff66ed, 0x028a587d, 0x01431585, 0x03fee4b7, 0x034418fe, 0x02542ba5, 0x02066546, 0x037ae891, 0x000c83c4}}, Y: Field{[10]uint32{0x03c402c5, 0x016f3cf4, 0x02232679, 0x0262a317, 0x03086036, 0x014efc00, 0x0275a021, 0x0387bcc8, 0x006ae2a4, 0x002e1015}}}, + {X: Field{[10]uint32{0x0081352c, 0x015df186, 0x020de8ce, 0x01fe691b, 0x027546c8, 0x03519006, 0x01686072, 0x02c967d1, 0x03ce3fe6, 0x0027a2bf}}, Y: Field{[10]uint32{0x029d02f1, 0x01def530, 0x00f9273e, 0x03db14fb, 0x01af8639, 0x01c8d949, 0x00ebaf09, 0x01fdf098, 0x0301d83b, 0x00343a8d}}}, + {X: Field{[10]uint32{0x021eef64, 0x031cacf1, 0x03f539be, 0x03d26b4a, 0x03daf70f, 0x0090487b, 0x03c915ea, 0x00e61ca4, 0x01b81d35, 0x00177d19}}, Y: Field{[10]uint32{0x01e690af, 0x01069eb5, 0x03e54385, 0x01f3ccf0, 0x038b3804, 0x003d1820, 0x00c193d4, 0x03210416, 0x01ff5ae4, 0x000c81b1}}}, + {X: Field{[10]uint32{0x02f28f58, 0x01197523, 0x0064d6e1, 0x00e621a8, 0x011312bb, 0x009ae8f1, 0x0061d488, 0x00d42fd2, 0x0326a18c, 0x00266734}}, Y: Field{[10]uint32{0x00b1ef12, 0x02244772, 0x00b0dd41, 0x02c2fa21, 0x00a9fcea, 0x02554582, 0x018e6629, 0x0337d9e6, 0x032ad6dc, 0x000b362a}}}, + {X: Field{[10]uint32{0x03ce163b, 0x02c09ada, 0x034cdc0a, 0x019d1d86, 0x03479a66, 0x01551832, 0x02ba6f42, 0x02705be8, 0x00ee574d, 0x0020763f}}, Y: Field{[10]uint32{0x00673143, 0x02d2b166, 0x00ca638c, 0x03f3f5f2, 0x003cf771, 0x0169a605, 0x039a996f, 0x01e9a8ed, 0x0334f589, 0x0016539f}}}, + {X: Field{[10]uint32{0x0096d278, 0x01b610f4, 0x020dd4da, 0x027b254e, 0x0385839c, 0x01be1460, 0x032b42d5, 0x01cefbe4, 0x0324b9ac, 0x0027a0f5}}, Y: Field{[10]uint32{0x00c88869, 0x03e9788c, 0x01689a1a, 0x00029287, 0x0100d3a0, 0x03125bb1, 0x02fda95a, 0x016b2e27, 0x00abfed0, 0x003e2c63}}}, + {X: Field{[10]uint32{0x02320c3e, 0x0244510f, 0x0231764f, 0x00ecd6ea, 0x01908ec3, 0x00ecb640, 0x00b1f647, 0x00f022bb, 0x00b13b44, 0x00262e8e}}, Y: Field{[10]uint32{0x0399b84f, 0x0075808f, 0x020a44df, 0x01e8d0d2, 0x010d8ece, 0x01bd0bd2, 0x012f972e, 0x00cbefd7, 0x01d7fc22, 0x000d0fd8}}}, + {X: Field{[10]uint32{0x02a875ec, 0x00120194, 0x01285de7, 0x01ef9b0d, 0x01582244, 0x03a5c19c, 0x03a94886, 0x017bb169, 0x025a9adf, 0x000824ba}}, Y: Field{[10]uint32{0x024e7f35, 0x02b71efa, 0x0228f304, 0x03099650, 0x0195a7e9, 0x00985998, 0x00facc8e, 0x009c8aa5, 0x02eb5238, 0x00377edc}}}, + {X: Field{[10]uint32{0x02eeb75a, 0x00c13080, 0x01e765b9, 0x00e65687, 0x00c044c6, 0x02f25d04, 0x037bce4e, 0x02817ab1, 0x009a8f45, 0x003e7ba4}}, Y: Field{[10]uint32{0x0301705e, 0x03b93b84, 0x01d51a41, 0x034df8ba, 0x023a39c0, 0x02babc4f, 0x03e50fd2, 0x02c3a11c, 0x01ba93f5, 0x0021840c}}}, + {X: Field{[10]uint32{0x01df101c, 0x03394d4d, 0x00603c75, 0x009f18fa, 0x015c676e, 0x03baa6fe, 0x002dfc02, 0x0169f2cd, 0x00e23bc5, 0x00284e1e}}, Y: Field{[10]uint32{0x03108427, 0x03ffe09e, 0x02ed001b, 0x0214d71c, 0x02233f05, 0x034fa069, 0x02a2f833, 0x02c24424, 0x02d03d4b, 0x000d7033}}}, + {X: Field{[10]uint32{0x004ae3e4, 0x01ec6d84, 0x0065d34f, 0x03e0e9c6, 0x03b863a7, 0x02760300, 0x004cfce0, 0x037f61ca, 0x01d2cd32, 0x003a3b20}}, Y: Field{[10]uint32{0x0017648b, 0x009c89c1, 0x01e4ec6e, 0x03a2c219, 0x011d24c4, 0x0145eff2, 0x032b01af, 0x0375ffd4, 0x0377ee12, 0x00182fa6}}}, + {X: Field{[10]uint32{0x00f35b60, 0x00ae2607, 0x0297a664, 0x0261a6e6, 0x00d48e98, 0x013818e4, 0x030b18fe, 0x03710cd1, 0x02551529, 0x003c1f2c}}, Y: Field{[10]uint32{0x0223b550, 0x00a5e9b0, 0x03d2b0a3, 0x00856544, 0x01c6e854, 0x0388d56a, 0x034b9412, 0x018cf566, 0x03776d74, 0x002f51ba}}}, + {X: Field{[10]uint32{0x02af7f51, 0x022136ae, 0x03dd82fe, 0x00fcbcb2, 0x0242becd, 0x02982e0d, 0x03189ae0, 0x02a7c2a5, 0x0023dcfd, 0x000e6f39}}, Y: Field{[10]uint32{0x022c8e4d, 0x01e2ec7a, 0x01a2b2db, 0x03a0525e, 0x01f3430b, 0x00c0fb24, 0x00903127, 0x008679d1, 0x00aa4b71, 0x00305667}}}, + {X: Field{[10]uint32{0x029ad3cf, 0x03f44147, 0x00ec80e0, 0x019f3cb6, 0x0358142f, 0x00f2793f, 0x033de211, 0x02e05062, 0x01cbd51d, 0x001b6984}}, Y: Field{[10]uint32{0x001e4b7f, 0x01e3fcc1, 0x00d704d1, 0x01a0b867, 0x02f7fe55, 0x02c0d203, 0x03d494eb, 0x03d953f6, 0x00483250, 0x001af0bc}}}, + {X: Field{[10]uint32{0x031aed8a, 0x0327eee2, 0x00c709a3, 0x011de51c, 0x01f4e13a, 0x029fa571, 0x00a5e8ef, 0x003ae629, 0x00038d2e, 0x0033b6e7}}, Y: Field{[10]uint32{0x019a0d40, 0x01ab5361, 0x028feeca, 0x0297dfd7, 0x0046804f, 0x034213d0, 0x00d5d56e, 0x0362f208, 0x0131de42, 0x001e68bf}}}, + {X: Field{[10]uint32{0x01ae3d82, 0x01e841c1, 0x02d8a3a0, 0x02134037, 0x0225393f, 0x01b107f9, 0x0340458f, 0x001b40cb, 0x00986d11, 0x001f6255}}, Y: Field{[10]uint32{0x026d0d61, 0x03561a86, 0x01866ee7, 0x030ac842, 0x02edd110, 0x0382b783, 0x02a117c7, 0x01652d86, 0x02cfff1c, 0x001753ed}}}, + {X: Field{[10]uint32{0x03dc3df7, 0x000310f5, 0x01aa175a, 0x01431ba7, 0x00851aaf, 0x00fb3b18, 0x01e26069, 0x010ebfac, 0x01627370, 0x00293ca4}}, Y: Field{[10]uint32{0x039c4439, 0x009a0871, 0x00846b27, 0x01ef118a, 0x0392265d, 0x0116abb4, 0x03abb201, 0x012c54e3, 0x00e8fb76, 0x002fbaff}}}, + {X: Field{[10]uint32{0x011cab70, 0x0058bc3e, 0x000a29cb, 0x01959a03, 0x00e0ba81, 0x01a26ef3, 0x00ce964e, 0x032c23b0, 0x01acde4c, 0x002d8e27}}, Y: Field{[10]uint32{0x00303529, 0x00103294, 0x02cdd679, 0x029fbbf6, 0x039ee836, 0x0238c7f9, 0x032826d2, 0x0091d05e, 0x03dbd2d0, 0x00391031}}}, + {X: Field{[10]uint32{0x02fcc9e1, 0x022bbefd, 0x00b4927b, 0x005a6673, 0x01ae4ee0, 0x03bbcdfd, 0x00ac2d6a, 0x030dbe5e, 0x01acf752, 0x001cb39b}}, Y: Field{[10]uint32{0x039bbca6, 0x017c43b5, 0x03bc67c4, 0x03379e5a, 0x028ad38a, 0x0380409f, 0x00c6d4d5, 0x01100f58, 0x0297bbd8, 0x00339ab0}}}, + {X: Field{[10]uint32{0x00255f06, 0x004e119b, 0x0117531b, 0x02b43e2b, 0x014fb3e5, 0x01af1430, 0x00931faa, 0x01096958, 0x036fcfd7, 0x003beb4c}}, Y: Field{[10]uint32{0x015a82c0, 0x008ba3f8, 0x0203b2b4, 0x00251064, 0x039eab6b, 0x00605c58, 0x03ab5597, 0x026847b1, 0x00f4eeee, 0x000fede1}}}, + {X: Field{[10]uint32{0x034eaae3, 0x0177ac80, 0x0349c289, 0x01b3ce0a, 0x0322002c, 0x00e4f295, 0x034bd1f0, 0x008599f1, 0x022d04bb, 0x003e6352}}, Y: Field{[10]uint32{0x016fd148, 0x01b3116d, 0x0269e9a3, 0x022b59a7, 0x0297a26f, 0x01851f2e, 0x0350763c, 0x01e2a0d1, 0x031f7e37, 0x00261d78}}}, + {X: Field{[10]uint32{0x0134183f, 0x02251832, 0x02eafb0b, 0x0079961d, 0x012b0d16, 0x02b04fb4, 0x01eea342, 0x0108ccb1, 0x034d2bc2, 0x001da33d}}, Y: Field{[10]uint32{0x02fdc34e, 0x0003e9e8, 0x022654ba, 0x00cb9cb9, 0x00af083b, 0x0341a954, 0x02e9f72d, 0x0135ebe1, 0x0207e55b, 0x00108cdd}}}, + {X: Field{[10]uint32{0x01beff7b, 0x0049d369, 0x01c59979, 0x01b88949, 0x03d34cfb, 0x02a45b42, 0x01ec27aa, 0x03189645, 0x03b01d05, 0x002b09bc}}, Y: Field{[10]uint32{0x014f4045, 0x033b37fa, 0x0254a42f, 0x01dae2f7, 0x01a30055, 0x03afac66, 0x0113bcb1, 0x005a0746, 0x00ac89b6, 0x0038d9d8}}}, + {X: Field{[10]uint32{0x0374fbac, 0x0263cd07, 0x01285212, 0x00368234, 0x02fcd905, 0x02c10a8e, 0x025045e1, 0x002f8b99, 0x0181741a, 0x0036b750}}, Y: Field{[10]uint32{0x00a84f60, 0x01b80339, 0x0002b805, 0x02f2a40a, 0x03f6a4df, 0x018d5d39, 0x01e4e2c8, 0x03741098, 0x03e0da78, 0x001b3d1b}}}, + {X: Field{[10]uint32{0x0286a3e8, 0x0342ae46, 0x00f82a6f, 0x03aa46a2, 0x032c4e1e, 0x010fc6dc, 0x03139ed1, 0x01aa18be, 0x0198ce9e, 0x00395945}}, Y: Field{[10]uint32{0x01f1ac98, 0x03bf6cbc, 0x0221a9e9, 0x022b55a6, 0x000770fd, 0x03d357db, 0x01723d8f, 0x01b04042, 0x033669ab, 0x002ed084}}}, + {X: Field{[10]uint32{0x030f5b02, 0x03922b89, 0x03d65de9, 0x02dc3730, 0x032d47a2, 0x0007b8ea, 0x0369b454, 0x03d658e6, 0x011eb4f0, 0x003c9bde}}, Y: Field{[10]uint32{0x030ff699, 0x026f02d1, 0x004fbe1a, 0x02458cea, 0x002693c5, 0x02915d5f, 0x003c799e, 0x02efc946, 0x03251fe5, 0x0008b8d2}}}, + {X: Field{[10]uint32{0x023da9da, 0x0379a398, 0x018ac19f, 0x008a76de, 0x032d2bec, 0x02137628, 0x01da048a, 0x00bd21ea, 0x010b9561, 0x0029433c}}, Y: Field{[10]uint32{0x03dcc576, 0x020554c2, 0x02888e4c, 0x033730f7, 0x00ce345e, 0x03358166, 0x039f9f47, 0x02899076, 0x013c0a76, 0x0014041f}}}, + {X: Field{[10]uint32{0x0245c13c, 0x025fc6c2, 0x00c10a11, 0x02ad7b17, 0x03e917e5, 0x0205f2e6, 0x0386a5c1, 0x01b06f57, 0x03b90273, 0x0031d220}}, Y: Field{[10]uint32{0x008beedc, 0x03d2f44b, 0x0232e847, 0x01570ade, 0x01d1c2bd, 0x003a89d6, 0x013e73b6, 0x00f3fc35, 0x03bce739, 0x00380f10}}}, + {X: Field{[10]uint32{0x01e1c0a9, 0x03fa0002, 0x02e9c98d, 0x02937400, 0x01be7cad, 0x00a78b23, 0x005c00f6, 0x03b622ec, 0x03d01741, 0x00028d0d}}, Y: Field{[10]uint32{0x007bca1c, 0x0181c4e1, 0x01c9ed21, 0x019c2ed0, 0x00fc268e, 0x0134fbbe, 0x01a00afa, 0x032af47f, 0x005a257f, 0x002989f8}}}, + {X: Field{[10]uint32{0x01c8312d, 0x027fe8e6, 0x03093832, 0x01dc128f, 0x0090c00c, 0x00c1a1bf, 0x018ba895, 0x02ead37a, 0x0188f179, 0x0029b312}}, Y: Field{[10]uint32{0x0170b6df, 0x03fd1d67, 0x01643712, 0x03bd3d84, 0x01bbba86, 0x004d191c, 0x03cad7c1, 0x0169e4a6, 0x00737db2, 0x003d3ae9}}}, + {X: Field{[10]uint32{0x00b84dbe, 0x0286b29c, 0x02f2400d, 0x020c4e4d, 0x039e6801, 0x03286af8, 0x03330776, 0x02355ecc, 0x00a8f577, 0x0003becd}}, Y: Field{[10]uint32{0x03428d3f, 0x00a61e1f, 0x025952f0, 0x0328526c, 0x027e5845, 0x019d4dae, 0x00878e71, 0x03ea60c8, 0x016efc53, 0x002a5288}}}, + {X: Field{[10]uint32{0x00dfa07a, 0x017ef5bf, 0x01a94a2c, 0x02e0fe91, 0x03019ec3, 0x021fee6a, 0x03914ef4, 0x039aeec8, 0x02d81385, 0x0004e611}}, Y: Field{[10]uint32{0x00fce099, 0x0132f1ab, 0x02aa09c3, 0x02cba325, 0x0362d837, 0x0237f682, 0x01f6aff2, 0x004336a6, 0x004e599b, 0x0013edf3}}}, + {X: Field{[10]uint32{0x01f2a101, 0x02336aeb, 0x01bb7a53, 0x00284ca6, 0x0249c209, 0x02d4fa98, 0x01f6eeaa, 0x0159ea0f, 0x03af98ba, 0x00198248}}, Y: Field{[10]uint32{0x0094bd29, 0x003c3623, 0x0078d446, 0x021a5c55, 0x00ee2a56, 0x0118bd10, 0x01890ee8, 0x025c89a6, 0x00cab1a2, 0x002ca2d6}}}, + {X: Field{[10]uint32{0x012be3c6, 0x000e243d, 0x01a98d3e, 0x03430772, 0x02d2f86b, 0x00698d16, 0x0389d31f, 0x005f78fc, 0x02b58c75, 0x003c6024}}, Y: Field{[10]uint32{0x00f9c906, 0x02a6bf5a, 0x006d07e8, 0x018ca8db, 0x00440ca7, 0x00ec0c87, 0x00276973, 0x013b5df7, 0x02049148, 0x002a0f9e}}}, + {X: Field{[10]uint32{0x01d0ab75, 0x03844e20, 0x03f74bfe, 0x019d9233, 0x017b7004, 0x02d7eca5, 0x026a6e25, 0x01503ce2, 0x020d1b2c, 0x003a342a}}, Y: Field{[10]uint32{0x0314409a, 0x02ee2af4, 0x016e9f19, 0x032ffaa9, 0x021abfc0, 0x022a0260, 0x00c3f298, 0x01706f43, 0x03be5205, 0x0028c932}}}, + {X: Field{[10]uint32{0x03526c1a, 0x00b7f11b, 0x025f3c7d, 0x00b540c0, 0x021d8ee7, 0x007dd18f, 0x01613df5, 0x001d0c3e, 0x00c0230a, 0x000961a8}}, Y: Field{[10]uint32{0x0016c735, 0x000eb026, 0x02653ede, 0x02891d01, 0x03ce9b1d, 0x02143d70, 0x007b4694, 0x011c350f, 0x01a1eb2b, 0x0028a5cd}}}, + {X: Field{[10]uint32{0x037dffd8, 0x032ad099, 0x00e48a12, 0x015390b0, 0x018be682, 0x0375f23d, 0x01bb2d27, 0x01b51b0c, 0x02888d82, 0x00085f3e}}, Y: Field{[10]uint32{0x001ac4ce, 0x025adab0, 0x031a006d, 0x015fd204, 0x0134179c, 0x02be477b, 0x01f99017, 0x03ec540d, 0x00309ff0, 0x00135767}}}, + {X: Field{[10]uint32{0x02edf4c0, 0x00e8d4c6, 0x03ccb820, 0x02fc4035, 0x03943af3, 0x00df3f59, 0x02791eb0, 0x00ee3e79, 0x013471aa, 0x0013a996}}, Y: Field{[10]uint32{0x00b7b4c5, 0x004a6121, 0x02ca506c, 0x00d3222f, 0x03ded8a5, 0x03257a65, 0x00474035, 0x000b1160, 0x02c419a3, 0x003fbb66}}}, + {X: Field{[10]uint32{0x00c7a1ae, 0x02b09346, 0x01f7d4fa, 0x03cb2591, 0x007d7759, 0x0125fbaf, 0x0122150c, 0x01aa93a9, 0x028b5102, 0x0025d2e0}}, Y: Field{[10]uint32{0x03aa9d26, 0x0063fb53, 0x0109396d, 0x000ff2c1, 0x0165cd3a, 0x02a07c98, 0x026f344c, 0x01ccd895, 0x01a0c308, 0x00300da7}}}, + {X: Field{[10]uint32{0x00978186, 0x031c25a7, 0x01755529, 0x0113b475, 0x0299bb45, 0x033d16cd, 0x01c8ae93, 0x035e9653, 0x0379d572, 0x00366056}}, Y: Field{[10]uint32{0x035241fa, 0x038d62b9, 0x013ecd67, 0x036193b5, 0x035b6c20, 0x0023e99f, 0x00ea24f5, 0x006552b1, 0x02cbf518, 0x0027f3ae}}}, + {X: Field{[10]uint32{0x00368837, 0x00acc3ae, 0x02d38efd, 0x02f7e7da, 0x01478208, 0x03596ab0, 0x01506f1b, 0x03539f2f, 0x01970d9b, 0x00149c49}}, Y: Field{[10]uint32{0x033df18e, 0x008c98a2, 0x01d79aef, 0x03044b5b, 0x0068bbf0, 0x014da004, 0x00911d16, 0x03b2b668, 0x0196ba2c, 0x0014bb2a}}}, + {X: Field{[10]uint32{0x009abf6d, 0x01577a11, 0x018186af, 0x0278ae2b, 0x00ed2fc8, 0x022a3d3a, 0x030e1fee, 0x03d7e7bd, 0x01afd890, 0x0036508c}}, Y: Field{[10]uint32{0x019e2867, 0x01195248, 0x01e27e06, 0x03d23343, 0x0384278f, 0x00b61972, 0x03475fc3, 0x0248609c, 0x036ef078, 0x0009964a}}}, + {X: Field{[10]uint32{0x019a7d90, 0x00a2936a, 0x034bfe53, 0x02c1c534, 0x02b661f7, 0x01d8fae6, 0x03a99d4b, 0x036558ec, 0x02317a69, 0x00192144}}, Y: Field{[10]uint32{0x01d46bc6, 0x024828d4, 0x02fb4af4, 0x02cde048, 0x021e06d3, 0x028fa485, 0x02020885, 0x01038dbe, 0x02335150, 0x003ac82e}}}, + {X: Field{[10]uint32{0x0368a8c2, 0x00e0473b, 0x0021779c, 0x037c3b80, 0x0370df9e, 0x03018959, 0x03413a5f, 0x00bc5e63, 0x011bef66, 0x0034292c}}, Y: Field{[10]uint32{0x0170b9cd, 0x00a7dd37, 0x00dbe8b3, 0x018ffd35, 0x03748b7a, 0x02ace7ba, 0x00ef5c99, 0x01a5170e, 0x012018e1, 0x00352ee6}}}, + {X: Field{[10]uint32{0x005802b6, 0x001fc1a6, 0x0249b3dc, 0x00dcef54, 0x01dcf546, 0x032f5dac, 0x03e103dd, 0x0121a07e, 0x0086c4b2, 0x0007626e}}, Y: Field{[10]uint32{0x0369535d, 0x0024e7d8, 0x01f3030d, 0x01150af3, 0x02a7885a, 0x00e9c31a, 0x036056ba, 0x00415df8, 0x00caaacd, 0x0028ce73}}}, + {X: Field{[10]uint32{0x00dbb256, 0x01d72cb9, 0x036c010a, 0x008efac2, 0x039dbab2, 0x00e2e82d, 0x036682fa, 0x010f93c4, 0x01d59363, 0x002db3b3}}, Y: Field{[10]uint32{0x019f7be8, 0x0236c0cc, 0x01d583ba, 0x00ba090b, 0x025f77d1, 0x03604d99, 0x01a5d1fe, 0x021e896f, 0x005387dd, 0x000a4d70}}}, + {X: Field{[10]uint32{0x032f8e24, 0x02ba942f, 0x002c4028, 0x0244261a, 0x0040f1b4, 0x03d6065a, 0x00a6c5fb, 0x03611cd7, 0x00e0a0ca, 0x00212c91}}, Y: Field{[10]uint32{0x021f7a71, 0x0226b221, 0x021bad82, 0x018b6837, 0x03148c8e, 0x038e9762, 0x0313087e, 0x002c47d5, 0x028c7df8, 0x0018b8a3}}}, + {X: Field{[10]uint32{0x00114d1a, 0x037db073, 0x036d1638, 0x01650ffa, 0x01664331, 0x038ddf10, 0x00366102, 0x0200a0e5, 0x00ff2a90, 0x003e57b3}}, Y: Field{[10]uint32{0x0158eba2, 0x00e34af9, 0x039ca7de, 0x020586d3, 0x0256d16e, 0x022615bb, 0x011b9ea1, 0x001b36e3, 0x003f1a03, 0x002f436a}}}, + {X: Field{[10]uint32{0x010f55e3, 0x03bcc874, 0x0132727f, 0x00d79043, 0x032a1e63, 0x0268b748, 0x02ccd255, 0x00f792bc, 0x01fd3e61, 0x001f133b}}, Y: Field{[10]uint32{0x03d7b1d8, 0x030893b9, 0x026960cd, 0x01f504c1, 0x0111d482, 0x01ca9983, 0x017f73c6, 0x0014db1a, 0x0109d9d0, 0x000cc7c8}}}, + {X: Field{[10]uint32{0x00269713, 0x03dc80e8, 0x021c34b9, 0x019bb4c6, 0x02f88af8, 0x010d789d, 0x03918de0, 0x0360a792, 0x02381bf2, 0x0008d70b}}, Y: Field{[10]uint32{0x00dbf929, 0x00413be8, 0x03d0ff26, 0x00111803, 0x02815a13, 0x013aaa1e, 0x00486144, 0x0024bb9f, 0x030d2671, 0x00143737}}}, + {X: Field{[10]uint32{0x0207cd73, 0x00a1a0fa, 0x02923761, 0x021b1777, 0x000cdf26, 0x007128e2, 0x03ca488d, 0x0025d545, 0x00d09ab5, 0x000aa587}}, Y: Field{[10]uint32{0x0398abe5, 0x024efa48, 0x0152dd7f, 0x00bbb75d, 0x0384f84c, 0x01d951c8, 0x000f7fde, 0x011b48f3, 0x0076b2ee, 0x00217244}}}, + {X: Field{[10]uint32{0x00fd65e3, 0x023d0393, 0x01b51a62, 0x01d424f4, 0x03e00c47, 0x02fc60fd, 0x013f591c, 0x02e32e1c, 0x0091f0af, 0x002562f1}}, Y: Field{[10]uint32{0x009a65b3, 0x01431a82, 0x02eef92d, 0x01eaba3d, 0x01b2a09a, 0x03c1d868, 0x013e026a, 0x037f9244, 0x0339fa21, 0x002fd6f8}}}, + {X: Field{[10]uint32{0x015f78fd, 0x0196f60f, 0x0273ddc8, 0x03319093, 0x030adb5c, 0x01adfa54, 0x035a2e24, 0x01eafe67, 0x00a37b5b, 0x001ba583}}, Y: Field{[10]uint32{0x025e0e15, 0x0166cd5a, 0x01a81bd6, 0x02ca7335, 0x00dcc4b0, 0x0285bf32, 0x02df612e, 0x0190fd7c, 0x03d1d5e9, 0x0014eb52}}}, + {X: Field{[10]uint32{0x00d05871, 0x03b3a3fc, 0x01b5a8b2, 0x029e9237, 0x00e747e4, 0x036475aa, 0x01615257, 0x02eeb776, 0x020e9272, 0x0035eb24}}, Y: Field{[10]uint32{0x00c87ed8, 0x019b893c, 0x02dc4adf, 0x008186d9, 0x039d4c76, 0x00302630, 0x000b96d0, 0x02b178e3, 0x01fcc37b, 0x0018e06e}}}, + {X: Field{[10]uint32{0x01730609, 0x00754c57, 0x00078b6c, 0x00bfcb67, 0x024481c1, 0x02fa506b, 0x0123844e, 0x015c1bb0, 0x003b1de9, 0x00026c20}}, Y: Field{[10]uint32{0x033fb1b0, 0x00258a9a, 0x03ef2f5f, 0x02ec4f30, 0x005a5ff0, 0x0392e007, 0x002ed01f, 0x03f7f3ab, 0x03d6b12a, 0x0005833c}}}, + {X: Field{[10]uint32{0x00c5fd88, 0x0154ef29, 0x033ea689, 0x0027c08b, 0x02991bd5, 0x02e81085, 0x00e0153a, 0x03801a77, 0x006e5b74, 0x0017541d}}, Y: Field{[10]uint32{0x03259ff8, 0x018462da, 0x00e58927, 0x01bedbb4, 0x0299cb33, 0x00a724ad, 0x03a2e484, 0x012c6ef6, 0x005fd2a1, 0x002c3ec8}}}, + {X: Field{[10]uint32{0x00be04ff, 0x0006a17f, 0x02cf0bbd, 0x02af1a1b, 0x01ef4483, 0x0180230b, 0x03087483, 0x018a7249, 0x0269fa27, 0x00386f09}}, Y: Field{[10]uint32{0x00d95ecf, 0x0027e103, 0x00e783d4, 0x0124efb6, 0x0315e8b1, 0x02ce86ca, 0x033fd435, 0x00248585, 0x0371083c, 0x001bedeb}}}, + {X: Field{[10]uint32{0x00bfbf78, 0x003732f6, 0x017a2fe9, 0x00833dc0, 0x02f36ac6, 0x037e873c, 0x00519797, 0x024f6d03, 0x001cb5a8, 0x0033f242}}, Y: Field{[10]uint32{0x02a69ac2, 0x00a6b9a5, 0x01659b5f, 0x00695713, 0x00db321d, 0x026fe05f, 0x0377c15a, 0x00bf0cbc, 0x01235077, 0x0009aa23}}}, + {X: Field{[10]uint32{0x0229bb9b, 0x03677d08, 0x014b05fa, 0x01621163, 0x00cd8ad1, 0x0263b5e3, 0x021246db, 0x01a314e5, 0x009d12bd, 0x00015367}}, Y: Field{[10]uint32{0x021cbff6, 0x01275db7, 0x025eba45, 0x00161248, 0x00f8de70, 0x034cf5f5, 0x00c961fe, 0x0089658c, 0x00311dec, 0x002d7a5f}}}, + {X: Field{[10]uint32{0x03057dff, 0x02d694d0, 0x002e8d64, 0x02a987f9, 0x02bfb11e, 0x01cd71ec, 0x00f19248, 0x01986740, 0x02e67e9d, 0x0022a453}}, Y: Field{[10]uint32{0x03c040c8, 0x0046b0c6, 0x01b05a63, 0x011a8bd6, 0x0199c518, 0x00a9be94, 0x002f018c, 0x0369262f, 0x01da3374, 0x0006e478}}}, + {X: Field{[10]uint32{0x00240522, 0x02c16574, 0x03b030a0, 0x010bef48, 0x00aa2f4c, 0x026ac2ae, 0x0304fbae, 0x0077eaf1, 0x01773e64, 0x00352e04}}, Y: Field{[10]uint32{0x025cc726, 0x03ef8159, 0x007b8ce6, 0x00d405c4, 0x01cf2e68, 0x003d037c, 0x01bd3642, 0x02853d29, 0x023b1ea4, 0x002b0c33}}}, + {X: Field{[10]uint32{0x00780ba9, 0x00999c05, 0x02004362, 0x00b9cb83, 0x006f3c8e, 0x024927d9, 0x002c3517, 0x00d5f2ee, 0x0387c232, 0x002e0429}}, Y: Field{[10]uint32{0x018319e2, 0x036eec05, 0x02ef76a2, 0x00c3c6de, 0x034a422c, 0x02af2119, 0x02bac769, 0x0375fc85, 0x00341078, 0x00150d90}}}, + {X: Field{[10]uint32{0x0134a833, 0x01cb4ffd, 0x00e0d14e, 0x00b63b1f, 0x00d29c76, 0x00e9fbb4, 0x01691eac, 0x023bdc6b, 0x00cedc73, 0x0035c7e2}}, Y: Field{[10]uint32{0x00fbcd99, 0x0139c583, 0x02ad9d2a, 0x0052570e, 0x0197c1b5, 0x02d31449, 0x019d0d97, 0x02b6ba8b, 0x02831aaa, 0x00291f33}}}, + {X: Field{[10]uint32{0x01147ffc, 0x02675c5b, 0x0217496c, 0x00b331b1, 0x011ad709, 0x018b3978, 0x01d9d896, 0x018a384e, 0x031d4cac, 0x0005c33c}}, Y: Field{[10]uint32{0x006d77a5, 0x02977b33, 0x013a46f9, 0x03b9a549, 0x01adf6c4, 0x0377cc46, 0x01e8baaa, 0x03d61405, 0x0094e741, 0x0013ecee}}}, + {X: Field{[10]uint32{0x00c316af, 0x0269913b, 0x034d3172, 0x01250216, 0x03bfd48d, 0x032e6956, 0x00cbf66e, 0x017a00e3, 0x02a3b127, 0x00239da4}}, Y: Field{[10]uint32{0x00c504b1, 0x02ad501a, 0x0241134c, 0x029ae291, 0x024fc0bf, 0x0399aa46, 0x0100665c, 0x01497899, 0x01d3af07, 0x003cce70}}}, + {X: Field{[10]uint32{0x02ca891a, 0x032fbe92, 0x00d40a27, 0x01a79da1, 0x02a07ca8, 0x038addf3, 0x0047002e, 0x017a04cb, 0x03383dda, 0x001747fc}}, Y: Field{[10]uint32{0x035fbb8b, 0x0246006f, 0x039cf5b0, 0x00ce34a5, 0x02fe8438, 0x01d31145, 0x032e62e0, 0x032f6d9d, 0x03acb0de, 0x00286b6c}}}, + {X: Field{[10]uint32{0x002b8af7, 0x03fdbb0f, 0x003ebd75, 0x01717d50, 0x00375e1c, 0x00deb556, 0x032605da, 0x0319af77, 0x03dda9de, 0x003559b3}}, Y: Field{[10]uint32{0x019c78bd, 0x02b78398, 0x01ed8427, 0x035efedd, 0x00b6007b, 0x016a4293, 0x01598bb2, 0x01b6a5d0, 0x032c7858, 0x0004f888}}}, + {X: Field{[10]uint32{0x03d96493, 0x0265f40b, 0x01e33764, 0x03389271, 0x033cb85b, 0x02e7b8f6, 0x01ae74b2, 0x00ebc666, 0x00f9cc71, 0x0032f5c2}}, Y: Field{[10]uint32{0x004cb2cb, 0x03e499da, 0x026d655c, 0x02fdae01, 0x01c264f4, 0x02276376, 0x037a5af8, 0x02c2e24c, 0x016c4ca9, 0x003c0687}}}, + {X: Field{[10]uint32{0x00ed0fe2, 0x02d6e8fc, 0x013f4ad4, 0x02e3e241, 0x03e8d049, 0x014e003c, 0x020bea21, 0x01cf2208, 0x00e4e8ac, 0x003fb87b}}, Y: Field{[10]uint32{0x0226aad6, 0x015a8bba, 0x0154f53d, 0x02c2f6c2, 0x02f9763d, 0x033d0bda, 0x013354a7, 0x0019028d, 0x00ea17c8, 0x0026d482}}}, + {X: Field{[10]uint32{0x02ee843f, 0x0122f251, 0x01dbb79c, 0x00cc5305, 0x01db916f, 0x032cd6a3, 0x03a6c3af, 0x01214e35, 0x0266de44, 0x0031aabe}}, Y: Field{[10]uint32{0x01505b1b, 0x02bceff4, 0x01bfa7cd, 0x016cc2c4, 0x0234c49d, 0x029b893e, 0x001a7617, 0x0243def2, 0x02b67fc5, 0x00229871}}}, + {X: Field{[10]uint32{0x01aac415, 0x0199e076, 0x02f1e0a8, 0x03ffc017, 0x02dcbe21, 0x0199aef3, 0x018551e7, 0x007df922, 0x016083d9, 0x002b0d45}}, Y: Field{[10]uint32{0x0334483d, 0x01f59804, 0x014945ac, 0x002e369b, 0x03557741, 0x03bb2289, 0x00318fbe, 0x026beca3, 0x01977710, 0x0035c276}}}, + {X: Field{[10]uint32{0x01914e18, 0x01a3dc8f, 0x02ef9219, 0x00d25419, 0x017a212e, 0x00eb013d, 0x0055d199, 0x0092d205, 0x021607c0, 0x002a2709}}, Y: Field{[10]uint32{0x03a3c1ab, 0x00867b84, 0x02199ac8, 0x01a10cf7, 0x013569ce, 0x03b636ac, 0x01f092f5, 0x0219b1df, 0x02626127, 0x0015474d}}}, + {X: Field{[10]uint32{0x00a3f06b, 0x02202347, 0x02a3a72e, 0x016bf491, 0x02b045b9, 0x03ee458b, 0x00018d8c, 0x0267aba5, 0x031db584, 0x00265460}}, Y: Field{[10]uint32{0x01e4d773, 0x021ec5b6, 0x01188fd4, 0x02856c34, 0x0081696e, 0x02ce1202, 0x0027146f, 0x03e19f56, 0x02ecb9d5, 0x003f8e6b}}}, + {X: Field{[10]uint32{0x001fba96, 0x009a489a, 0x02e8c78d, 0x03a4df34, 0x028615e2, 0x007b3af1, 0x01be26c6, 0x01111e55, 0x03e01456, 0x002dc785}}, Y: Field{[10]uint32{0x03b9e3bf, 0x007142d8, 0x03dc4301, 0x02a7324a, 0x031a6c5b, 0x03bfa554, 0x023cb224, 0x02e32e57, 0x01f1d21f, 0x003af3f7}}}, + {X: Field{[10]uint32{0x01914074, 0x020fff05, 0x002c22d6, 0x03b5399d, 0x032fe89f, 0x030f52f2, 0x020ef6a1, 0x027fdb51, 0x001edbdd, 0x00385c3e}}, Y: Field{[10]uint32{0x0396e67f, 0x019f9caa, 0x014d2d6f, 0x03af1f7c, 0x03801fa7, 0x03dbe72b, 0x02206e3d, 0x0072b233, 0x00ee0f97, 0x0024fc44}}}, + {X: Field{[10]uint32{0x02c104f2, 0x01757207, 0x00c73acf, 0x02291f73, 0x014ac8dd, 0x007eaeec, 0x00f04eda, 0x0017157b, 0x0147318d, 0x0010c695}}, Y: Field{[10]uint32{0x03a779e7, 0x0022fcaf, 0x00dea6fd, 0x01c1d72a, 0x027a6f1f, 0x01f2a09e, 0x03a1f045, 0x0068d92b, 0x00ad7b14, 0x000f8c62}}}, + {X: Field{[10]uint32{0x02203394, 0x03ffb098, 0x01eec383, 0x0245fc2d, 0x013c1932, 0x007e032c, 0x0226ce4a, 0x01d48caf, 0x026ee158, 0x000a679a}}, Y: Field{[10]uint32{0x01301575, 0x00a9df81, 0x010c93bb, 0x0393b4de, 0x0123c9b3, 0x03002815, 0x008e8bf4, 0x028846ff, 0x00ed3ad4, 0x00176edc}}}, + {X: Field{[10]uint32{0x038934ee, 0x01e32730, 0x0359fb09, 0x026fa80a, 0x01bc99ac, 0x0079fe09, 0x03b5f786, 0x0221a6cb, 0x008ff2b5, 0x0019b6d2}}, Y: Field{[10]uint32{0x00ae6a5f, 0x01adcc3a, 0x0017fc31, 0x03bfac52, 0x006040e7, 0x03da19b1, 0x010e9972, 0x020fe02c, 0x0112b51c, 0x002addb8}}}, + {X: Field{[10]uint32{0x02274932, 0x02091f49, 0x002a1c3c, 0x02d7fb50, 0x0054c812, 0x022b56dc, 0x03912fa7, 0x00354aec, 0x016b6698, 0x00049661}}, Y: Field{[10]uint32{0x02150383, 0x011631fc, 0x03c2245d, 0x02ee1c31, 0x02d70dfc, 0x015a06f0, 0x03e0557d, 0x02571fb7, 0x013fc678, 0x003ab5f3}}}, + {X: Field{[10]uint32{0x01f1cf00, 0x01d177ff, 0x02cf9102, 0x0233bfaf, 0x00426996, 0x03494b1f, 0x025272fd, 0x03cf732a, 0x0214cbb0, 0x00140b21}}, Y: Field{[10]uint32{0x03c53c3c, 0x0242654e, 0x0154c10b, 0x0001921c, 0x001b2f45, 0x01abc28e, 0x01d06951, 0x038d5bf6, 0x028807e4, 0x001c46f1}}}, + {X: Field{[10]uint32{0x02a8d6fd, 0x026f31c2, 0x00c42224, 0x03b05f00, 0x01f43acd, 0x01edadff, 0x01c10734, 0x01900fda, 0x013c323c, 0x00381446}}, Y: Field{[10]uint32{0x02560455, 0x0045f8e2, 0x039f1c85, 0x02c61fe2, 0x00c574d9, 0x0097098c, 0x011d2bcf, 0x023b985b, 0x0271ce42, 0x000840b0}}}, + {X: Field{[10]uint32{0x01f1dc46, 0x0381d06b, 0x02cb800a, 0x0162d4e2, 0x030abe7c, 0x030ecdf9, 0x03d90c15, 0x0234c8a7, 0x03ae0d76, 0x0032461e}}, Y: Field{[10]uint32{0x01c92c0f, 0x011ccd62, 0x000f8d75, 0x0373c9ff, 0x015714f6, 0x0056b0a7, 0x03d02526, 0x02e92865, 0x0043f9eb, 0x00304c35}}}, + {X: Field{[10]uint32{0x010fe897, 0x03b2367a, 0x017a16ea, 0x03513a0a, 0x0123dba4, 0x031ac190, 0x003ae701, 0x02cfb8ac, 0x027eb9f3, 0x0016c215}}, Y: Field{[10]uint32{0x010c27c9, 0x006a61ea, 0x02d92aa8, 0x012dd43f, 0x03914d4b, 0x03a3d32e, 0x02e9c726, 0x03246b37, 0x00159079, 0x002b41c7}}}, + {X: Field{[10]uint32{0x003ba7cc, 0x03d2946d, 0x0286f839, 0x015343aa, 0x038a9cc5, 0x0189a46a, 0x0306a26d, 0x01ea1b3e, 0x008ac581, 0x002b96d9}}, Y: Field{[10]uint32{0x032db311, 0x03a49750, 0x019830d5, 0x004a9bfa, 0x0166e752, 0x0285f18a, 0x00a48c3d, 0x0308aaac, 0x030db665, 0x0007aa2a}}}, + {X: Field{[10]uint32{0x010178d2, 0x00085222, 0x038f0421, 0x034c9f95, 0x0004f2e0, 0x03326aed, 0x02ea5c5c, 0x0215b663, 0x00d0a092, 0x000ee6eb}}, Y: Field{[10]uint32{0x01bd5052, 0x031977c8, 0x024911fd, 0x011fc606, 0x00b79be4, 0x02a4a6b8, 0x03628d7e, 0x02e8715e, 0x008e9603, 0x002da07a}}}, + {X: Field{[10]uint32{0x0259fef4, 0x0016a191, 0x02d7ee8d, 0x01e8707d, 0x03f6dfbf, 0x0179056a, 0x022f8279, 0x019b6b54, 0x0180a740, 0x0014937d}}, Y: Field{[10]uint32{0x0252f35f, 0x02ae9c89, 0x039c1ed2, 0x03e78d62, 0x019c72c5, 0x034c0bbc, 0x03c210ca, 0x0307869b, 0x03285f3b, 0x000feb31}}}, + {X: Field{[10]uint32{0x010e4363, 0x034c2751, 0x00cdff6e, 0x03a9ff1c, 0x01599a34, 0x01202e1d, 0x0109a383, 0x01d7121f, 0x03f2ade7, 0x000b818d}}, Y: Field{[10]uint32{0x0364738e, 0x0228283d, 0x023696da, 0x03bab69c, 0x031aafb7, 0x012b557c, 0x038e903e, 0x01392731, 0x03087e2f, 0x0038f1ba}}}, + {X: Field{[10]uint32{0x020cc483, 0x0184c2ea, 0x0364bbda, 0x00a089bd, 0x033f7857, 0x021ee509, 0x013fb335, 0x02f4ef90, 0x02adbeaf, 0x003dffb1}}, Y: Field{[10]uint32{0x0208c68d, 0x014c7467, 0x00544c66, 0x00eb967f, 0x03dd4209, 0x018ee5da, 0x00fefd8e, 0x015f1ff2, 0x01748eb4, 0x003d91aa}}}, + {X: Field{[10]uint32{0x023608be, 0x0362f122, 0x0229929a, 0x025d3609, 0x00cd6eb4, 0x03624b72, 0x02c95b12, 0x01310cad, 0x00e06af6, 0x001d7e53}}, Y: Field{[10]uint32{0x01958a29, 0x0221deec, 0x026c622e, 0x0248b1ef, 0x026e32c8, 0x007b001d, 0x0316b322, 0x0241a9a4, 0x02d0a2b7, 0x002fe1c5}}}, + {X: Field{[10]uint32{0x03fb4d85, 0x0370733c, 0x0104331b, 0x03a74c04, 0x00f62e07, 0x0321a424, 0x00f039fc, 0x03cf2c31, 0x02de5e0d, 0x001040a5}}, Y: Field{[10]uint32{0x03fecfa0, 0x03dcbb4f, 0x0396c383, 0x01ff2187, 0x02da7426, 0x018996e0, 0x00a82ff8, 0x03765aae, 0x039ca314, 0x003a58d5}}}, + {X: Field{[10]uint32{0x033ffa05, 0x03ff8035, 0x03b23cbd, 0x02605b3e, 0x0369b4e6, 0x025f699e, 0x03c1703d, 0x0385acbd, 0x02ac05f5, 0x00332093}}, Y: Field{[10]uint32{0x013e8abb, 0x03c428cd, 0x02aa8b8c, 0x006a4abe, 0x03d18c6f, 0x01f1e203, 0x00582182, 0x013be577, 0x01a69f41, 0x0005f0c3}}}, + {X: Field{[10]uint32{0x026e5820, 0x03fc44df, 0x00d03a83, 0x0193e976, 0x03d2074b, 0x00c5dc1d, 0x00f0b3fd, 0x03b6335e, 0x00ef4d26, 0x002b306c}}, Y: Field{[10]uint32{0x003ce6c3, 0x01432367, 0x04000111, 0x03405a79, 0x014fcd24, 0x03e3efbb, 0x01d2a804, 0x02ba4406, 0x00c68519, 0x001b3391}}}, + {X: Field{[10]uint32{0x010da922, 0x03f1c6f2, 0x038257c2, 0x0238c61d, 0x01583c2b, 0x00c62e48, 0x034bccf4, 0x00766c1d, 0x036eccce, 0x00072cc1}}, Y: Field{[10]uint32{0x00e373cc, 0x021d2393, 0x03b04c62, 0x03cb3c96, 0x02a6372d, 0x03b37168, 0x0217dfd3, 0x0181760a, 0x036c0058, 0x000a8bc9}}}, + {X: Field{[10]uint32{0x00fe13f2, 0x02096aa1, 0x039783d5, 0x0085e8e2, 0x008cb3a5, 0x02796900, 0x03ea9750, 0x03d26d61, 0x00512a22, 0x001bbf69}}, Y: Field{[10]uint32{0x038e2424, 0x0251d621, 0x0103954a, 0x03f6f2f5, 0x0360673c, 0x03968a96, 0x032a54ad, 0x00becc7f, 0x02d56dfe, 0x00047513}}}, + {X: Field{[10]uint32{0x01bf0858, 0x00c30ee7, 0x01cdd51b, 0x03345f7a, 0x02e2fcf1, 0x02a3f665, 0x00931ecd, 0x00de2d73, 0x0219aef4, 0x0011fda5}}, Y: Field{[10]uint32{0x00b5e274, 0x0242251f, 0x03ee9bf8, 0x022b0cea, 0x020d2fa2, 0x0135c359, 0x0057af2a, 0x038f5b69, 0x02a19776, 0x00052555}}}, + {X: Field{[10]uint32{0x014d28e4, 0x0120cd5e, 0x00d4f8ff, 0x02f0691f, 0x028b2eae, 0x00e86789, 0x01032c51, 0x0375754e, 0x021e97f5, 0x00374f63}}, Y: Field{[10]uint32{0x00467e83, 0x03e7aa93, 0x029c2e0f, 0x02ec0d2f, 0x030c2233, 0x020bafcc, 0x033d7c63, 0x02a0eaa5, 0x000020f6, 0x001e5a2f}}}, + {X: Field{[10]uint32{0x01e16d78, 0x02b4ad99, 0x01f9197a, 0x02dd414d, 0x027de2a2, 0x00f2d2cc, 0x015737cd, 0x00e9b2f9, 0x00eea19d, 0x000af515}}, Y: Field{[10]uint32{0x029f7f99, 0x03c7f5c4, 0x037549c1, 0x01221f8f, 0x039f7c62, 0x02b503fa, 0x0271c667, 0x009e3cd0, 0x00f0d6a1, 0x00029c2c}}}, + {X: Field{[10]uint32{0x035a5ee0, 0x00cc6103, 0x02d91047, 0x037c4eb0, 0x02915462, 0x02899e13, 0x02035b29, 0x01d2d136, 0x01bb2a7e, 0x00233f9d}}, Y: Field{[10]uint32{0x0207cd1e, 0x03cb8919, 0x01ca1eef, 0x0289ff6b, 0x00b65c2d, 0x02491550, 0x02226d1c, 0x01f2193d, 0x0056bdc8, 0x001923ff}}}, + {X: Field{[10]uint32{0x01724d36, 0x02cc9559, 0x02f6e665, 0x01a13c44, 0x005e046a, 0x012d5ef2, 0x03dab832, 0x018b2f0b, 0x00ae19c4, 0x0017bfcd}}, Y: Field{[10]uint32{0x004d68a4, 0x03378568, 0x026b0ccf, 0x020d1f1a, 0x01d551e7, 0x00b80414, 0x0289629d, 0x011fff08, 0x01bb9db3, 0x000663ed}}}, + {X: Field{[10]uint32{0x00f92b91, 0x0198e7de, 0x02a61042, 0x02e07c62, 0x00a2c51b, 0x01d8c5dd, 0x02db6244, 0x00ec238d, 0x0154f367, 0x0026a951}}, Y: Field{[10]uint32{0x01384806, 0x0235e118, 0x006fa75c, 0x01197c97, 0x011d167b, 0x01cad42f, 0x0222faf2, 0x01d0134b, 0x03ad4a6e, 0x0021d128}}}, + {X: Field{[10]uint32{0x03f259e0, 0x032d4e97, 0x0165a955, 0x02a2e75d, 0x03ac88a2, 0x037c1bae, 0x007463c5, 0x0165c37f, 0x01758cfb, 0x0012e0dd}}, Y: Field{[10]uint32{0x028df208, 0x0069793e, 0x02aa9917, 0x01aaadea, 0x02ed7076, 0x0048cf7d, 0x0074396a, 0x0294fdb9, 0x0142bda1, 0x0021d647}}}, + {X: Field{[10]uint32{0x02428bb1, 0x03317bdd, 0x00428226, 0x009615cd, 0x03c49dc7, 0x01671f3b, 0x03f5a579, 0x03e4399c, 0x00b49134, 0x001752dd}}, Y: Field{[10]uint32{0x02d89425, 0x001e83ef, 0x03cfcb1f, 0x02efc670, 0x00cdc2f6, 0x00036368, 0x026bf3f1, 0x03b856af, 0x0110f466, 0x0006caa2}}}, + {X: Field{[10]uint32{0x03cad2d8, 0x00a8c255, 0x002b2570, 0x0105eae7, 0x002d4754, 0x018bb9a0, 0x013bafaf, 0x01133976, 0x02c0c552, 0x003542f8}}, Y: Field{[10]uint32{0x0162f583, 0x00735700, 0x0144ef24, 0x03c82f11, 0x005a4dc0, 0x03aa9779, 0x01854617, 0x026ad300, 0x024c6ee8, 0x003f881f}}}, + {X: Field{[10]uint32{0x0075bff1, 0x0280d384, 0x032e9a1d, 0x03c505b6, 0x02f93bbf, 0x02fe616a, 0x02489155, 0x02ce1193, 0x01ce8e0e, 0x002ec3d8}}, Y: Field{[10]uint32{0x037b7d0e, 0x03dbefed, 0x00412631, 0x0184c51d, 0x034e6b05, 0x02f2c23b, 0x02a1032c, 0x02c37cc3, 0x03152dde, 0x000004e9}}}, + {X: Field{[10]uint32{0x01dcb2f5, 0x00cafe13, 0x03d22886, 0x02785366, 0x0263e22b, 0x00bf17be, 0x00e41fb2, 0x0006c85c, 0x01db473f, 0x000f39af}}, Y: Field{[10]uint32{0x00e0922e, 0x01e896ab, 0x01edf8d4, 0x023c6eb0, 0x029a8426, 0x0043714b, 0x02b73081, 0x034a6109, 0x0057f4b3, 0x0010c218}}}, + {X: Field{[10]uint32{0x038f81aa, 0x01d182ec, 0x03c85bd3, 0x03c695b0, 0x02bbcbbf, 0x01f36dd7, 0x00b5490c, 0x0202ff24, 0x014aef16, 0x003ff7ec}}, Y: Field{[10]uint32{0x02f4af0d, 0x005bb87a, 0x00a547c2, 0x031ceef3, 0x0124f228, 0x02522d69, 0x02880d0e, 0x03c6788c, 0x01ef02f1, 0x003cc117}}}, + {X: Field{[10]uint32{0x0223172c, 0x03e93020, 0x000fed59, 0x000941eb, 0x02c828d1, 0x008cc2bb, 0x026eb60a, 0x00993604, 0x02e19ab4, 0x0006b07c}}, Y: Field{[10]uint32{0x00e18bf8, 0x03c64db6, 0x027f5133, 0x018e06d3, 0x02d8fae0, 0x020363c0, 0x015e3a8f, 0x021abec8, 0x00bc3394, 0x001d8da9}}}, + {X: Field{[10]uint32{0x01ec228e, 0x01987b2b, 0x009a22d6, 0x02d81f9b, 0x01b1a1a6, 0x0083c8ce, 0x002957aa, 0x03a26985, 0x000a0740, 0x001494d3}}, Y: Field{[10]uint32{0x0261b669, 0x02a5f3cc, 0x022f1365, 0x00d6ba00, 0x02e1a318, 0x02213ebe, 0x02c2fa5d, 0x03226707, 0x02bafe41, 0x0033dbf9}}}, + {X: Field{[10]uint32{0x011b09eb, 0x03d91899, 0x0278d5b9, 0x00b25928, 0x0104f36f, 0x00df4cac, 0x00dccd61, 0x00b0b1e3, 0x02857cd2, 0x00102480}}, Y: Field{[10]uint32{0x01031d0d, 0x0384b10b, 0x025fb3bd, 0x023ae2a1, 0x01f6b773, 0x013c5824, 0x01fef1bf, 0x00f8fd9b, 0x0373a5fa, 0x00103253}}}, + {X: Field{[10]uint32{0x03029289, 0x006f1466, 0x019e70c8, 0x030901a7, 0x0225a5b3, 0x021036c5, 0x02ac6e4e, 0x0336c852, 0x00334b9c, 0x0022c74f}}, Y: Field{[10]uint32{0x0223e853, 0x035b6d57, 0x006e5630, 0x027c517e, 0x03802076, 0x01e0889d, 0x01658985, 0x0256647f, 0x00642acf, 0x000453f5}}}, + {X: Field{[10]uint32{0x00a242bd, 0x01ce5e7d, 0x020fd7e4, 0x0398f4d1, 0x008a6055, 0x019058b7, 0x006bbd20, 0x03c4e967, 0x0260b7c7, 0x002b8537}}, Y: Field{[10]uint32{0x0065a412, 0x031a8f93, 0x00ef16ca, 0x039ebe80, 0x03afccfe, 0x01dbc844, 0x00463e23, 0x028cce85, 0x0089cdb5, 0x0022e581}}}, + {X: Field{[10]uint32{0x02d3e3d7, 0x020e1b8b, 0x02420078, 0x01204df7, 0x03b81539, 0x037f76eb, 0x00d4e395, 0x0179b0fa, 0x004099c9, 0x003cdfc7}}, Y: Field{[10]uint32{0x03fb3606, 0x003028ec, 0x01af5031, 0x004413d4, 0x030a5644, 0x033dd95d, 0x0283d769, 0x02b4d2c8, 0x008082f6, 0x0007ca40}}}, + {X: Field{[10]uint32{0x03017a84, 0x00fb2c86, 0x005dfaa5, 0x00cd99b4, 0x00a13f89, 0x030925af, 0x0041c1d3, 0x022270d1, 0x03ae9636, 0x0007ec1f}}, Y: Field{[10]uint32{0x037753c0, 0x03e32718, 0x03cb7b8d, 0x011bea5f, 0x0358e6da, 0x01ffd546, 0x0368934b, 0x015dab12, 0x01c93931, 0x0004a062}}}, + {X: Field{[10]uint32{0x0015f3cc, 0x0365ca12, 0x0371552b, 0x0087435a, 0x032afb07, 0x02e88ae9, 0x00ea2b51, 0x03b3b520, 0x0354e112, 0x0011347a}}, Y: Field{[10]uint32{0x02ed7043, 0x02a6cabc, 0x0288e3c3, 0x02df56db, 0x02ea1855, 0x035e4e3e, 0x0273e02e, 0x0149bc49, 0x0328574c, 0x0029b84e}}}, + {X: Field{[10]uint32{0x0103238e, 0x02559168, 0x03cbfd87, 0x0229d669, 0x00ec9491, 0x01dbdef4, 0x02311cff, 0x02e1d5ff, 0x032e5732, 0x001a6025}}, Y: Field{[10]uint32{0x03d26a5e, 0x03ac18d8, 0x03c262d2, 0x03385f16, 0x02ac4a0f, 0x024be826, 0x0376b24a, 0x02450c85, 0x00324ffb, 0x001ee7fa}}}, + {X: Field{[10]uint32{0x00efcfa3, 0x00c09554, 0x0379bf70, 0x018a7616, 0x01a8566a, 0x03d901a8, 0x019639c4, 0x02c79379, 0x009d405b, 0x001a8ea3}}, Y: Field{[10]uint32{0x02c038ba, 0x023799b2, 0x0124d0ce, 0x03ae7546, 0x002e0f59, 0x025ad1e9, 0x01b408e1, 0x03412a3f, 0x02e87b22, 0x000fa2ae}}}, + {X: Field{[10]uint32{0x0012ed0b, 0x00e42d91, 0x036831da, 0x013251b0, 0x03bfb680, 0x02f3e809, 0x01844c4d, 0x01192afd, 0x00d41598, 0x003fcc42}}, Y: Field{[10]uint32{0x03d0a317, 0x01cb51f2, 0x03515dc0, 0x03408672, 0x0011f5d4, 0x01c15192, 0x02abe857, 0x03422571, 0x01e33ee1, 0x00201559}}}, + {X: Field{[10]uint32{0x01517d73, 0x024c93a5, 0x011bb213, 0x01406012, 0x03499727, 0x00d772d6, 0x0134e533, 0x0126acf8, 0x036a2f85, 0x0003b93d}}, Y: Field{[10]uint32{0x0071a838, 0x0204125c, 0x0075c8fe, 0x01f628a4, 0x03830736, 0x032509d9, 0x0189e899, 0x00ac45a2, 0x01672240, 0x001af640}}}, + {X: Field{[10]uint32{0x0053e0a4, 0x023d4693, 0x01966ac7, 0x00163342, 0x00230c63, 0x032eae83, 0x023b7205, 0x02563cda, 0x01cb01ca, 0x0030845d}}, Y: Field{[10]uint32{0x0072bf51, 0x008da233, 0x02a44ea9, 0x03acbff9, 0x01585a02, 0x03021760, 0x02a0ecd2, 0x0282bc95, 0x03a67a7c, 0x001a8860}}}, + {X: Field{[10]uint32{0x0237d6fc, 0x0272fce6, 0x01292c40, 0x030317cb, 0x03953141, 0x01f2ae46, 0x0246e39e, 0x02ce60d3, 0x0008a9a0, 0x000b5793}}, Y: Field{[10]uint32{0x01c6e15e, 0x0190119d, 0x03054d61, 0x0087713b, 0x004b5127, 0x024017b4, 0x0234f37e, 0x00c7e824, 0x01c531a3, 0x001d5a6e}}}, + {X: Field{[10]uint32{0x0315dbc3, 0x030a932e, 0x01c26ef7, 0x019dade6, 0x015d573b, 0x00c5d97c, 0x00124086, 0x03ac2730, 0x0041bfbb, 0x0018c0b0}}, Y: Field{[10]uint32{0x02491025, 0x02bc209f, 0x0063f915, 0x02201279, 0x01a1e514, 0x0024cba4, 0x00ddfedd, 0x010a82b1, 0x020f67ce, 0x000caa3c}}}, + {X: Field{[10]uint32{0x01934e2d, 0x00d98481, 0x0308ca3b, 0x0330b7aa, 0x005b6c67, 0x027be6e5, 0x01c9cfb8, 0x03823bdf, 0x016c198d, 0x000f9854}}, Y: Field{[10]uint32{0x037520d9, 0x01b818c0, 0x00dbee95, 0x03b41239, 0x005692f3, 0x003d89e1, 0x03849447, 0x01c413dd, 0x03f74d5f, 0x0007bfee}}}, + {X: Field{[10]uint32{0x0142fe30, 0x02ac2bb9, 0x005a7d8a, 0x0064422c, 0x01b89892, 0x03ccc148, 0x0335a378, 0x00d3492a, 0x02b2d7d1, 0x0028022e}}, Y: Field{[10]uint32{0x01b475a1, 0x027f8c54, 0x01de6be0, 0x03aa0ae6, 0x03f5454a, 0x02701790, 0x03ec2fde, 0x001b9518, 0x03ec903c, 0x001de8dd}}}, + {X: Field{[10]uint32{0x0224005f, 0x02645fa9, 0x022f8c38, 0x019c05bc, 0x03287114, 0x00b90c05, 0x00f42b80, 0x0258aa54, 0x0348b928, 0x001de0bf}}, Y: Field{[10]uint32{0x03608c15, 0x0322263e, 0x03c18c78, 0x033d6c8a, 0x008ad2c9, 0x026ebf8c, 0x01b766db, 0x00f832b4, 0x024938a0, 0x001e3c8f}}}, + {X: Field{[10]uint32{0x03ddcfc2, 0x019dbe09, 0x03c20d20, 0x01c633fb, 0x02f6ffbe, 0x03225bba, 0x0019d648, 0x02d13f44, 0x0278c26a, 0x0008ced2}}, Y: Field{[10]uint32{0x033b655c, 0x00fb679d, 0x037b518f, 0x0108b825, 0x01f553d3, 0x020a1337, 0x03ddc1a4, 0x037e4121, 0x0036d976, 0x00379421}}}, + {X: Field{[10]uint32{0x01b8bb0e, 0x0177831c, 0x02a0792c, 0x008ca57c, 0x023f7a46, 0x03630cd0, 0x03d7aed2, 0x03524f60, 0x022906ee, 0x0020052a}}, Y: Field{[10]uint32{0x03583d92, 0x01b75543, 0x02444f3e, 0x02be0687, 0x01695f39, 0x0215aa78, 0x030caba4, 0x02f26c45, 0x029df2a5, 0x0037161c}}}, + {X: Field{[10]uint32{0x03bbdfce, 0x012ad676, 0x012c1b28, 0x03abafab, 0x0060882a, 0x02f18723, 0x03050ce7, 0x02b9c46e, 0x010b233d, 0x0022807a}}, Y: Field{[10]uint32{0x0291fdb0, 0x0376eb5d, 0x01cf4ca4, 0x03bc8294, 0x03b34b72, 0x00b2569d, 0x0006cc41, 0x01a4fa4b, 0x035dc9e3, 0x001603b5}}}, + {X: Field{[10]uint32{0x02e733b4, 0x02e48c86, 0x011a44cb, 0x006825af, 0x03a56988, 0x020ae81f, 0x026372d5, 0x024561c3, 0x034924a2, 0x00014288}}, Y: Field{[10]uint32{0x038cc751, 0x02af3699, 0x03cde3ed, 0x0038bdf3, 0x03aa21d0, 0x0111bf38, 0x01d8e2fa, 0x0007529e, 0x0220a977, 0x001a50f0}}}, + {X: Field{[10]uint32{0x02aa6d83, 0x00821ebb, 0x015cecbd, 0x01b6a299, 0x02b51b8f, 0x0209903b, 0x0307bd61, 0x01d13dea, 0x03578c96, 0x0032fd24}}, Y: Field{[10]uint32{0x028d4bf0, 0x03c1f13b, 0x011d5e75, 0x02961f41, 0x0129e79f, 0x01212813, 0x00bdb1c9, 0x036e6501, 0x02f45711, 0x001346cd}}}, + {X: Field{[10]uint32{0x028efe38, 0x026e9c62, 0x03d89ad5, 0x007fe93a, 0x007c63d1, 0x00a2cc76, 0x0164c2e8, 0x034a5a34, 0x0175e4ed, 0x001cdecf}}, Y: Field{[10]uint32{0x01f31586, 0x0208ad4d, 0x03439e7c, 0x01b74e1d, 0x02ff1ebf, 0x03720c9e, 0x027002ee, 0x03945514, 0x03a18aa8, 0x003b1fde}}}, + {X: Field{[10]uint32{0x0038813a, 0x008bff2b, 0x00b8bb7e, 0x03166aaa, 0x028812e0, 0x035ed105, 0x03f46d69, 0x00e6b9b1, 0x00642519, 0x000a72ca}}, Y: Field{[10]uint32{0x00a2e6e9, 0x02edcebb, 0x038f0528, 0x01477af4, 0x03b5f1eb, 0x01043fc6, 0x02d77c8b, 0x02cb1725, 0x000a7c98, 0x0030fb0a}}}, + {X: Field{[10]uint32{0x0228fe9d, 0x01653f17, 0x01d352c9, 0x015091d0, 0x03f36689, 0x0065e553, 0x00dffa25, 0x00bef791, 0x02592428, 0x0006162a}}, Y: Field{[10]uint32{0x02d4bd46, 0x03b0a074, 0x0248596f, 0x03512f9d, 0x00be50b1, 0x01f92ad3, 0x03d7879a, 0x027eae7e, 0x01d6b0a6, 0x00283a24}}}, + {X: Field{[10]uint32{0x022eb75c, 0x03a45d21, 0x004fc2a9, 0x02374d1b, 0x0126c137, 0x013c24ba, 0x03ae314d, 0x003abd9e, 0x00581a42, 0x001cb39f}}, Y: Field{[10]uint32{0x0025ae1c, 0x012f781d, 0x02ff3628, 0x007fdd18, 0x038bec12, 0x002162ee, 0x02236ae3, 0x00f833db, 0x037a5a9c, 0x0008ca45}}}, + {X: Field{[10]uint32{0x03112903, 0x035bd1ab, 0x0031517b, 0x02f403b3, 0x00a3f9dc, 0x02777e6f, 0x03dcb830, 0x02db492a, 0x025e5dfa, 0x000d3072}}, Y: Field{[10]uint32{0x02a1f803, 0x02a01ec8, 0x021a27ac, 0x0093ad26, 0x0080088a, 0x02962682, 0x03c4aeb6, 0x03325c0d, 0x02adc931, 0x0024fdbf}}}, + {X: Field{[10]uint32{0x00392c36, 0x02e83749, 0x02243284, 0x011e7389, 0x028d348b, 0x03b8f59d, 0x003100cc, 0x01619fe0, 0x004a80af, 0x0001f16b}}, Y: Field{[10]uint32{0x02fc5828, 0x003a9019, 0x01b86337, 0x03faad61, 0x00a3201c, 0x03a9eae1, 0x03db23d1, 0x03991cc7, 0x0164903b, 0x002911a2}}}, + {X: Field{[10]uint32{0x00363caa, 0x012dfb13, 0x00b35e59, 0x00f69d1b, 0x010b57bf, 0x01a0ffdf, 0x018851c8, 0x01dca06a, 0x0113244c, 0x002f8b77}}, Y: Field{[10]uint32{0x02580fa2, 0x0391648f, 0x01f257df, 0x02151e56, 0x018c45ea, 0x02f1ee99, 0x033e5b92, 0x028b3c73, 0x01390af8, 0x002b6dd6}}}, + {X: Field{[10]uint32{0x02c13806, 0x0285d923, 0x039b7901, 0x00ae0665, 0x037f7b22, 0x018b7f67, 0x0244471d, 0x03bf7292, 0x036a3b3b, 0x001b7b87}}, Y: Field{[10]uint32{0x002e5651, 0x02e66657, 0x01ab6af3, 0x00c43d90, 0x021a9a24, 0x02c04c48, 0x000356ce, 0x03dbffe3, 0x01014fa5, 0x001767a1}}}, + {X: Field{[10]uint32{0x01e68c19, 0x039bf9e7, 0x03c3180e, 0x01afdaeb, 0x02c76438, 0x01ec4544, 0x00355b3a, 0x023b5d24, 0x00e68e2c, 0x00057c99}}, Y: Field{[10]uint32{0x00326aba, 0x00fe315c, 0x0374eddf, 0x02ae9daa, 0x03c41291, 0x01c73ca6, 0x01053fd3, 0x03d023be, 0x0126302b, 0x002415d3}}}, + {X: Field{[10]uint32{0x029c91a3, 0x026017af, 0x036660df, 0x01ec60fc, 0x016d4c5e, 0x02a61323, 0x0192b785, 0x022433a9, 0x03e904cc, 0x000f5f3e}}, Y: Field{[10]uint32{0x03f62808, 0x01f7f979, 0x00d12682, 0x01239d8c, 0x0042b30b, 0x01aa12d5, 0x0351694f, 0x00196be3, 0x01d44ea7, 0x00355737}}}, + {X: Field{[10]uint32{0x003a1e10, 0x00773667, 0x02e1445b, 0x02c1ffaf, 0x011ec637, 0x0125c480, 0x035dd3e7, 0x014771ea, 0x03f90d79, 0x00150e22}}, Y: Field{[10]uint32{0x02e5a547, 0x03bfd52a, 0x03dcf6fb, 0x030aa75b, 0x03725f99, 0x03d58348, 0x008738b3, 0x00a97e6f, 0x038825dc, 0x0005ecd9}}}, + {X: Field{[10]uint32{0x02088313, 0x03c065da, 0x03c94be5, 0x03154818, 0x00425327, 0x024a05e5, 0x00a0d2cc, 0x02029652, 0x03dd9a00, 0x000f08a7}}, Y: Field{[10]uint32{0x02926a1c, 0x036ee34a, 0x01d8d3a8, 0x01c7fb48, 0x01192f0a, 0x00dcf141, 0x0083d12c, 0x020ed2be, 0x0395a84f, 0x000d25d5}}}, + {X: Field{[10]uint32{0x03c63210, 0x00149c49, 0x02b26157, 0x0138dbc6, 0x011974e7, 0x03ea35eb, 0x0291f368, 0x01669b85, 0x036ee146, 0x002d84ae}}, Y: Field{[10]uint32{0x00df5bb4, 0x0181cb29, 0x00dc223b, 0x005fa382, 0x02052408, 0x0357a3aa, 0x0077733d, 0x0337c7e5, 0x005dd623, 0x00016523}}}, + {X: Field{[10]uint32{0x0305f613, 0x037bf81e, 0x03d64d2e, 0x0108bbec, 0x03ae381e, 0x024038ce, 0x0341ed3e, 0x003750a0, 0x01855447, 0x003b15b9}}, Y: Field{[10]uint32{0x015e9c45, 0x03d9b3ca, 0x016d9df8, 0x00334ec5, 0x0286effe, 0x01e2f39d, 0x03f2bd65, 0x038c237f, 0x0151acf6, 0x003b35fc}}}, + {X: Field{[10]uint32{0x0011f80d, 0x039d23ff, 0x0308f25e, 0x02bf9353, 0x02a565ee, 0x026c56c9, 0x000c8baf, 0x027e3ef6, 0x03ca85ff, 0x00006fbc}}, Y: Field{[10]uint32{0x012914f9, 0x0315a0fe, 0x03135272, 0x002b7a22, 0x01125f0a, 0x006f2262, 0x014b8927, 0x0125ee86, 0x00bb96be, 0x003f8098}}}, + {X: Field{[10]uint32{0x0107c20a, 0x0020fa64, 0x0325168a, 0x03968bae, 0x010c4b27, 0x034afd2b, 0x00e42653, 0x01a38aa4, 0x004a522b, 0x0006f6eb}}, Y: Field{[10]uint32{0x00d63ea1, 0x00a10e54, 0x03a9e3d2, 0x009c38fe, 0x025b09e1, 0x00ba2c81, 0x00467b9d, 0x01fe8004, 0x03263ede, 0x00135838}}}, + {X: Field{[10]uint32{0x0262fc84, 0x027aab4d, 0x038373bd, 0x01ffa252, 0x026e601b, 0x02cb0b08, 0x01e0f8b1, 0x02e36954, 0x039a567a, 0x003a40cb}}, Y: Field{[10]uint32{0x00eb70e9, 0x00c65b5d, 0x0400064e, 0x0252372c, 0x0121d609, 0x02bf783c, 0x00b0a49d, 0x006bce83, 0x03e647d2, 0x0002b158}}}, + {X: Field{[10]uint32{0x00f79c75, 0x0241f0c2, 0x011a9fda, 0x03af2281, 0x03a9608d, 0x015b8d19, 0x0108044f, 0x03dd2295, 0x02ec044a, 0x001f39d1}}, Y: Field{[10]uint32{0x02aa426a, 0x0103f57c, 0x017d5406, 0x02814beb, 0x012c6b8f, 0x01bcf006, 0x03bbb804, 0x02f48ef9, 0x01c13166, 0x0023c21e}}}, + {X: Field{[10]uint32{0x0359eecd, 0x01b7932e, 0x01fc906c, 0x032fbcda, 0x0068862d, 0x01b34c80, 0x01298564, 0x01b47282, 0x038919de, 0x00383549}}, Y: Field{[10]uint32{0x02886b20, 0x028a51b2, 0x03ce88cd, 0x03c74faf, 0x01f46680, 0x025d02f5, 0x03547912, 0x03764293, 0x039db4eb, 0x00263d19}}}, + {X: Field{[10]uint32{0x025ca397, 0x004eba9f, 0x01f1800a, 0x02159070, 0x02e28c8b, 0x00bc8222, 0x000a4d48, 0x012d6110, 0x01cdcf1f, 0x0031a891}}, Y: Field{[10]uint32{0x021ac628, 0x0399da25, 0x01bf3605, 0x02a0cc08, 0x01cb11ec, 0x02d79b34, 0x00ff944a, 0x032c2656, 0x03b9f8f2, 0x0034c1b6}}}, + {X: Field{[10]uint32{0x0295c910, 0x00a1b9cd, 0x02b06a1b, 0x00652837, 0x024ade09, 0x026661ff, 0x0334acec, 0x03c20a87, 0x008d9710, 0x003fe55b}}, Y: Field{[10]uint32{0x03bcc306, 0x008f4304, 0x0239fb78, 0x03b2c38b, 0x01a8086a, 0x0362a4dd, 0x028c832f, 0x03f5187f, 0x012b866a, 0x003eafb1}}}, + {X: Field{[10]uint32{0x02c23af0, 0x00485489, 0x00cc73ff, 0x0059bd2b, 0x025cef12, 0x0313709d, 0x0344fe45, 0x01813343, 0x024a0d1a, 0x00152776}}, Y: Field{[10]uint32{0x000631ef, 0x03dd9784, 0x00381a33, 0x025d58b1, 0x01166fec, 0x02aec578, 0x02eede71, 0x02a0980d, 0x03c0e05b, 0x001c78eb}}}, + {X: Field{[10]uint32{0x02776416, 0x01f99127, 0x01723207, 0x004bb708, 0x016070dd, 0x037647e7, 0x01896e82, 0x01cf339a, 0x03090215, 0x0019b4f7}}, Y: Field{[10]uint32{0x03b46d5d, 0x03c9e756, 0x01ebc25f, 0x0327aa4c, 0x0009ccf1, 0x02bc162f, 0x0029dd3e, 0x03b8fb65, 0x021359a2, 0x0024e605}}}, + {X: Field{[10]uint32{0x01e4f8d9, 0x01c0bd5e, 0x01be737b, 0x02083eb8, 0x028a4d7a, 0x01713c61, 0x013ede5a, 0x018e1a71, 0x01bc0942, 0x00186f4f}}, Y: Field{[10]uint32{0x0082e780, 0x015cad38, 0x02caac1b, 0x020788cd, 0x00502aee, 0x003be923, 0x01ddf540, 0x013d24b2, 0x0247e27d, 0x0023015a}}}, + {X: Field{[10]uint32{0x00178f4e, 0x01bcee60, 0x0000647d, 0x01dbe99f, 0x004ef20c, 0x005236c7, 0x002f7849, 0x036aa49c, 0x03464a31, 0x00229b62}}, Y: Field{[10]uint32{0x028f7407, 0x019f2eab, 0x00d8ccfe, 0x02864efd, 0x03c31309, 0x02081451, 0x0082f9e3, 0x01d8065b, 0x02eee408, 0x00347d01}}}, + {X: Field{[10]uint32{0x022e573e, 0x03f47924, 0x02b1b809, 0x01096b3d, 0x0137893b, 0x03b76607, 0x00aa90e1, 0x021105c0, 0x029399eb, 0x0038ad83}}, Y: Field{[10]uint32{0x0219f7af, 0x004fba93, 0x029ed635, 0x02b42003, 0x01bd8a38, 0x02cd75e2, 0x0209dc0a, 0x020a6a2b, 0x025fe394, 0x001a2831}}}, + {X: Field{[10]uint32{0x00f55e85, 0x03c9b375, 0x00574ac6, 0x031cad56, 0x01fc23b8, 0x0277e950, 0x0316cad9, 0x03f24993, 0x030fe85c, 0x00131d80}}, Y: Field{[10]uint32{0x012b7bb6, 0x0166fa28, 0x000902d9, 0x02aa62bb, 0x01e98c63, 0x006157df, 0x039a5745, 0x02d3b323, 0x02d89a31, 0x00112cd4}}}, + {X: Field{[10]uint32{0x03baed2e, 0x0151d897, 0x01580fe4, 0x025cd98f, 0x002f0e89, 0x00e304e8, 0x022c9ef5, 0x00f0d42a, 0x02a35910, 0x00372ea5}}, Y: Field{[10]uint32{0x036544b4, 0x00530885, 0x003deb4d, 0x034b6cb6, 0x00b13053, 0x016fedcf, 0x01f91bd7, 0x01a62b7a, 0x005f0727, 0x002be788}}}, + {X: Field{[10]uint32{0x02dc7883, 0x02cacc7c, 0x02a433b5, 0x01ffa6d9, 0x03e68242, 0x0327b71c, 0x03d3e036, 0x03fe6b2f, 0x03d8f75f, 0x003f4125}}, Y: Field{[10]uint32{0x00d62d79, 0x002eb7ff, 0x0213509c, 0x022625b7, 0x01445762, 0x002f792a, 0x03fb2fcc, 0x0041deac, 0x00b69c8d, 0x00348c05}}}, + {X: Field{[10]uint32{0x01f48040, 0x0331bb7b, 0x01077542, 0x026bae28, 0x02e70500, 0x013a0fe7, 0x011b7795, 0x03904d0f, 0x01bb0b38, 0x0016ed00}}, Y: Field{[10]uint32{0x02599c14, 0x020afe20, 0x03a5ee7a, 0x01cc03b3, 0x00ca9445, 0x01e38f2a, 0x00ea6283, 0x004e47da, 0x00b5acec, 0x0010c7f3}}}, + {X: Field{[10]uint32{0x00bb283b, 0x00b6d6d2, 0x01d20a26, 0x00119ef1, 0x023acac7, 0x00d70ddf, 0x0341c38b, 0x01ab62c9, 0x024ff9cc, 0x0007ea5a}}, Y: Field{[10]uint32{0x02b963eb, 0x02a3fafb, 0x02ac8bfc, 0x031c6c88, 0x036404dc, 0x0278527a, 0x02af7f1f, 0x016bf3c7, 0x0092ffc6, 0x0030d123}}}, + {X: Field{[10]uint32{0x002f86ea, 0x00c8a459, 0x00f11614, 0x0080bfb2, 0x03697ea4, 0x01c74298, 0x02384531, 0x014749e9, 0x02ef1ae5, 0x000254d2}}, Y: Field{[10]uint32{0x03729591, 0x00aab03b, 0x03849643, 0x0084b2ff, 0x0346fd7f, 0x0284fa5b, 0x0148a4ec, 0x01f740cf, 0x003c3883, 0x00334325}}}, + {X: Field{[10]uint32{0x001b8ceb, 0x000ca834, 0x038b7b57, 0x02fc06a3, 0x02138440, 0x02a93fd2, 0x018d08f3, 0x000e42f2, 0x03ed4330, 0x003a9cab}}, Y: Field{[10]uint32{0x0058663e, 0x0299b4b6, 0x0280925e, 0x0112145c, 0x00af4fb0, 0x03ab9fa5, 0x02856a44, 0x00b30a72, 0x018c0369, 0x00385d37}}}, + {X: Field{[10]uint32{0x00122327, 0x03e1b517, 0x01fa9a01, 0x0188d75e, 0x03165698, 0x02fce874, 0x03801f2a, 0x0148e980, 0x01343ca2, 0x000e564d}}, Y: Field{[10]uint32{0x0153dd96, 0x00b80026, 0x0175b45d, 0x021eb1b2, 0x0142a5b8, 0x0111d449, 0x01cbf0e9, 0x01b72154, 0x03e92cd7, 0x002b34f8}}}, + {X: Field{[10]uint32{0x002d4721, 0x038f827b, 0x02a3f246, 0x03e1c9d0, 0x034f74ef, 0x037eed46, 0x027d4b53, 0x01683da5, 0x022a375e, 0x00355eca}}, Y: Field{[10]uint32{0x013ed306, 0x03495443, 0x03b036a0, 0x0251c6b9, 0x01c0aeeb, 0x01209e07, 0x02c20913, 0x01fb0c43, 0x00484d10, 0x0004b5be}}}, + {X: Field{[10]uint32{0x002f1082, 0x02eabd91, 0x0119c59b, 0x023f5480, 0x01fc5def, 0x03804d75, 0x02c781af, 0x03bbd839, 0x03c51b99, 0x00027cb7}}, Y: Field{[10]uint32{0x0320dd0d, 0x022d5b96, 0x01a77e0f, 0x01626789, 0x017ad1d7, 0x02a5bf83, 0x03ca6e4e, 0x00c123e8, 0x0162fd27, 0x00023c82}}}, + {X: Field{[10]uint32{0x0229884b, 0x00b06f40, 0x0216a935, 0x01d96316, 0x01afa587, 0x03037b68, 0x0336c1f9, 0x03244d26, 0x03c6f030, 0x002c70c2}}, Y: Field{[10]uint32{0x02ecdfc3, 0x00e43187, 0x019f1939, 0x009fd4ed, 0x035563e7, 0x028b8a32, 0x01c63d18, 0x02223735, 0x01d16e77, 0x003e2916}}}, + {X: Field{[10]uint32{0x01c6e53b, 0x03866369, 0x002eb665, 0x00ce14f8, 0x02305429, 0x02ed7499, 0x01ad6f91, 0x0348dc4b, 0x03e740ca, 0x00022998}}, Y: Field{[10]uint32{0x035c1e99, 0x007bb9ae, 0x03812c0c, 0x03f8081d, 0x000786a8, 0x00ec2463, 0x00cf7116, 0x0174576b, 0x03995117, 0x003881ac}}}, + {X: Field{[10]uint32{0x012941a1, 0x02aa2d2a, 0x03696fe1, 0x03a09f98, 0x005f4a5a, 0x01b302c0, 0x00fac0a7, 0x0247bbd1, 0x02cbe0ca, 0x000ac255}}, Y: Field{[10]uint32{0x006cffd2, 0x00aa588e, 0x03423ddf, 0x03fb68a7, 0x033f84b8, 0x018989f8, 0x02e1e110, 0x013abe43, 0x03a8dd45, 0x0028c79b}}}, + {X: Field{[10]uint32{0x0262c3bd, 0x00a449b9, 0x01330d54, 0x02001a83, 0x006b0099, 0x03847ed3, 0x02381df7, 0x0325c3ad, 0x01517a2a, 0x00380510}}, Y: Field{[10]uint32{0x008dfcee, 0x02e8d810, 0x03a1e7f4, 0x00d12218, 0x03aeb3fd, 0x0234636f, 0x01639341, 0x03203085, 0x029ba691, 0x00208e33}}}, + {X: Field{[10]uint32{0x02c86c37, 0x008568df, 0x02eba08b, 0x035c78a2, 0x02f344e0, 0x01682d99, 0x0316c530, 0x00bccf2b, 0x013e8b06, 0x0002f8c8}}, Y: Field{[10]uint32{0x0151cd1f, 0x02ca725f, 0x00adc3f1, 0x00f7476c, 0x03550fb8, 0x014a8990, 0x03956838, 0x00e29335, 0x03baeaca, 0x00154948}}}, + {X: Field{[10]uint32{0x01e8ff2b, 0x03859faa, 0x030abc4f, 0x01b6d7ac, 0x001c18eb, 0x0396389d, 0x03aa1db9, 0x02f593f1, 0x03b6bfbf, 0x00188ce4}}, Y: Field{[10]uint32{0x00e42cd3, 0x03537f8d, 0x00b500ba, 0x025ed4ac, 0x031339a1, 0x028edee5, 0x025e316f, 0x016fca80, 0x0174f0fd, 0x001f0390}}}, + {X: Field{[10]uint32{0x01cfe97a, 0x00856c43, 0x0326fbc6, 0x02aa2bea, 0x01bffe79, 0x0233d02f, 0x01eb624b, 0x007a1d9a, 0x0302dd0a, 0x0036b7ad}}, Y: Field{[10]uint32{0x03253490, 0x030e37c5, 0x00bb48fb, 0x026686ac, 0x025a5225, 0x0334e6f2, 0x0260acb8, 0x026d04b5, 0x00cae4c2, 0x0024c224}}}, + {X: Field{[10]uint32{0x01362f33, 0x03edde32, 0x03c13627, 0x03563894, 0x010ac98a, 0x00986133, 0x01c9cfec, 0x026e0aec, 0x03b78317, 0x002d4a34}}, Y: Field{[10]uint32{0x038babab, 0x00af54b6, 0x004f047c, 0x00222ed1, 0x01aa902e, 0x028b4628, 0x0140676b, 0x0048a98e, 0x03af1545, 0x00018c80}}}, + {X: Field{[10]uint32{0x01734a6a, 0x0096adc4, 0x036e02d0, 0x018835d0, 0x017a4de5, 0x0013a7a0, 0x0018a5c8, 0x01b88ab9, 0x03e09398, 0x000bfc88}}, Y: Field{[10]uint32{0x0100f678, 0x029e7000, 0x000965ef, 0x01d75280, 0x03819904, 0x01e0e2ad, 0x0276d8a9, 0x036866f6, 0x0188ec9c, 0x00317234}}}, + {X: Field{[10]uint32{0x01eb1742, 0x01b9d2e6, 0x0312ff94, 0x03da67f1, 0x019ec839, 0x0322ac73, 0x03d2c393, 0x014f2733, 0x01d50e1e, 0x0032e1cc}}, Y: Field{[10]uint32{0x02d19fb5, 0x02394f3d, 0x0076d8c1, 0x0123921c, 0x00a9db38, 0x024b3a29, 0x01252480, 0x03141374, 0x01f838fe, 0x00334be7}}}, + {X: Field{[10]uint32{0x00cf4a2e, 0x02c49c78, 0x0379936b, 0x0376fa61, 0x006dac52, 0x03c9c9a4, 0x02c265aa, 0x02972ddb, 0x0045d776, 0x0004ddeb}}, Y: Field{[10]uint32{0x02a04670, 0x02b287b0, 0x010d4f34, 0x0154353b, 0x0025ab21, 0x036524f8, 0x027a8187, 0x0124cb56, 0x030dd595, 0x00292ccc}}}, + {X: Field{[10]uint32{0x001a5ccd, 0x006894d9, 0x00724c51, 0x01cdeb04, 0x0222fbac, 0x020107ea, 0x03489bd8, 0x031d7f80, 0x03f2f140, 0x002612e6}}, Y: Field{[10]uint32{0x00d14ff3, 0x0050c7f2, 0x02bb590b, 0x026a50a8, 0x03d82f4c, 0x03135431, 0x010ea82a, 0x03bb2e9d, 0x02399733, 0x00311d3d}}}, + {X: Field{[10]uint32{0x03bdcb06, 0x025835eb, 0x00c4d857, 0x01e5ca63, 0x01d50504, 0x0000afe6, 0x035d56ac, 0x01f3e6c4, 0x000074f5, 0x0012e3f4}}, Y: Field{[10]uint32{0x00c703bf, 0x038deccd, 0x0097e3a8, 0x03a531b4, 0x0095560e, 0x01833ddb, 0x01937a4c, 0x03dbddc8, 0x01031df0, 0x001f0110}}}, + {X: Field{[10]uint32{0x018b6079, 0x0215a0c8, 0x000b6605, 0x006e2fb3, 0x0334fc75, 0x022f4376, 0x01250b25, 0x0088d986, 0x02536841, 0x0015cc59}}, Y: Field{[10]uint32{0x01652904, 0x010142a4, 0x01c37da6, 0x016f8e8e, 0x0216f833, 0x022bf850, 0x0172898b, 0x00715d22, 0x024f30f0, 0x0034755b}}}, + {X: Field{[10]uint32{0x0369f286, 0x01c883f6, 0x03bd253c, 0x019d3cae, 0x00607373, 0x019f50fd, 0x032cb597, 0x005bcbef, 0x0197a0ff, 0x00326800}}, Y: Field{[10]uint32{0x00142f0b, 0x03314610, 0x034e4009, 0x03b694c7, 0x006b4dfe, 0x018172af, 0x02074b0c, 0x0045f077, 0x0383d739, 0x0005df19}}}, + {X: Field{[10]uint32{0x021881cb, 0x03b1b3a9, 0x03ff645e, 0x03d5fba2, 0x00c87b9e, 0x01e6cc02, 0x01616185, 0x008ea76c, 0x02da91df, 0x00388d05}}, Y: Field{[10]uint32{0x00b8da15, 0x01cb755c, 0x00137937, 0x03d28f78, 0x02e42fbc, 0x005c60a5, 0x02c82e0e, 0x00da479f, 0x017f8404, 0x00395590}}}, + {X: Field{[10]uint32{0x038e9ad8, 0x038a5558, 0x01c1e3b0, 0x03ba29d2, 0x0114293e, 0x01def62a, 0x0214c450, 0x01d4f399, 0x03f2369d, 0x0027e5b8}}, Y: Field{[10]uint32{0x021ddff1, 0x012cae68, 0x00ff6b49, 0x025b94a7, 0x039b01a3, 0x0104f83a, 0x0250d10e, 0x029369c5, 0x02681567, 0x003d7344}}}, + {X: Field{[10]uint32{0x01301fd2, 0x013efdae, 0x03d5f1d9, 0x01e16e90, 0x01ae4880, 0x039a8c91, 0x014317dd, 0x00048f35, 0x03a4b24b, 0x0012195e}}, Y: Field{[10]uint32{0x02f0d890, 0x02319beb, 0x03e36a4a, 0x02824a69, 0x00dd4931, 0x02a4086c, 0x013ca772, 0x00de04a0, 0x02c06eb5, 0x000647b7}}}, + {X: Field{[10]uint32{0x0236f24a, 0x021f9a5a, 0x032d4e01, 0x03201de0, 0x02c6c858, 0x00500b5e, 0x03155111, 0x02193632, 0x02e9d72e, 0x0019ecc8}}, Y: Field{[10]uint32{0x03f6946a, 0x03f7ceb1, 0x02208c3d, 0x019fdfe6, 0x030e15c8, 0x017eaa0c, 0x0387058c, 0x02fc54ef, 0x02c26b58, 0x0033fac4}}}, + {X: Field{[10]uint32{0x004ded15, 0x0381bc29, 0x02d40fbd, 0x004c5820, 0x03c545ba, 0x014800b6, 0x00e89250, 0x037663f3, 0x0068542b, 0x00010ba0}}, Y: Field{[10]uint32{0x03c4aae5, 0x0111146f, 0x02402bf6, 0x0139eab1, 0x01a1ee81, 0x0313c987, 0x03649158, 0x00f3d49c, 0x01b0c1f3, 0x0005916a}}}, + {X: Field{[10]uint32{0x0290d4c7, 0x0230417f, 0x00e30758, 0x03292a32, 0x013e058c, 0x02eeb001, 0x02191079, 0x01437555, 0x00e1339c, 0x0023b9f7}}, Y: Field{[10]uint32{0x02c9d5f9, 0x01a6a05b, 0x011d2b46, 0x03fc79bc, 0x0098e102, 0x036fa7f8, 0x01a61705, 0x0209e4b3, 0x02f48aae, 0x003fef42}}}, + {X: Field{[10]uint32{0x03a368e6, 0x01e2a087, 0x02ece559, 0x03c3319b, 0x0237a935, 0x02c82485, 0x01aaaf27, 0x01a9c5ab, 0x01041292, 0x0002af25}}, Y: Field{[10]uint32{0x01f79203, 0x0317db5c, 0x027c9624, 0x01234e91, 0x02155a4a, 0x036b93f4, 0x0375c484, 0x01879e7e, 0x0135e9b4, 0x001cb952}}}, + {X: Field{[10]uint32{0x02976ba8, 0x037746e9, 0x02f3b433, 0x0235e0fc, 0x00fd72fd, 0x000de3f3, 0x000568d4, 0x03a6d4ec, 0x032081e0, 0x002f4940}}, Y: Field{[10]uint32{0x003ceb39, 0x0318e55b, 0x021ca4c3, 0x01f4a75a, 0x02e8c4c8, 0x005ee39e, 0x00ca8797, 0x01526265, 0x03db8585, 0x0016b6e2}}}, + {X: Field{[10]uint32{0x02e25f71, 0x02297862, 0x00740c01, 0x03812222, 0x01b31609, 0x039ea836, 0x02e91677, 0x03a13926, 0x0262fbee, 0x0002d3ec}}, Y: Field{[10]uint32{0x0176e5fc, 0x0371fe38, 0x0003b24c, 0x00da3a8d, 0x01265d6d, 0x033d85ba, 0x00ecbe41, 0x00754496, 0x0386dc09, 0x000d37cf}}}, + {X: Field{[10]uint32{0x02605c01, 0x03a20cef, 0x021c495d, 0x005c86cd, 0x03e46048, 0x00418ed7, 0x005ad148, 0x013abe85, 0x036766f2, 0x00346ea6}}, Y: Field{[10]uint32{0x01e8400a, 0x011da8f6, 0x03a75068, 0x00f292e2, 0x01f87194, 0x0245f8ea, 0x03ce7f28, 0x00bc7998, 0x00bd17de, 0x003a029b}}}, + {X: Field{[10]uint32{0x022639b3, 0x009d4ba4, 0x01ba8373, 0x0009a771, 0x03a80c67, 0x03ae78aa, 0x006652d5, 0x016a34b5, 0x02b03a3e, 0x0017262d}}, Y: Field{[10]uint32{0x010f4a54, 0x03d944f1, 0x012e06b8, 0x02d98d4a, 0x006a35ef, 0x03e41e81, 0x011bd130, 0x003374b1, 0x039a145d, 0x0002078b}}}, + {X: Field{[10]uint32{0x002618f8, 0x036d7753, 0x02a840c8, 0x00382a1e, 0x02908abf, 0x03ec97cb, 0x00b70714, 0x02e1bd87, 0x0288f75f, 0x00307e91}}, Y: Field{[10]uint32{0x028397ea, 0x00f32e72, 0x01d9b204, 0x0396ae18, 0x039db869, 0x02aa44f2, 0x0355d0b1, 0x03c9b45f, 0x02776d4b, 0x003cbdd2}}}, + {X: Field{[10]uint32{0x03227ec1, 0x00ae9b3d, 0x01f76dc2, 0x022d1017, 0x0396aec7, 0x00269d56, 0x0062ba2f, 0x03acc947, 0x02e9a644, 0x00017a01}}, Y: Field{[10]uint32{0x033e614b, 0x013e1fe9, 0x01bba9d8, 0x03adcbcc, 0x02b871d2, 0x01d08c4e, 0x02caa050, 0x020a75ab, 0x0118d6a1, 0x002e2320}}}, + {X: Field{[10]uint32{0x01c8de9a, 0x018c9bb4, 0x00c1434c, 0x01b7bfd5, 0x01096863, 0x031e406f, 0x023d965b, 0x0069efd8, 0x03fefd2c, 0x003e7451}}, Y: Field{[10]uint32{0x029caffd, 0x01235cb4, 0x00c33cd5, 0x032e1260, 0x0040de44, 0x0045cc18, 0x027d77b4, 0x021b1e4e, 0x0249ab66, 0x0031e21c}}}, + {X: Field{[10]uint32{0x030ccdb1, 0x0283fb29, 0x0023babe, 0x02b8c5c4, 0x009f7020, 0x001e658d, 0x0138a1f5, 0x03447ea3, 0x015685f6, 0x002e6332}}, Y: Field{[10]uint32{0x010ecf7f, 0x00ab6f26, 0x01f49571, 0x0085c25d, 0x013dcbdf, 0x002208d5, 0x024cc0d4, 0x03a28dbb, 0x00953689, 0x003c1d35}}}, + {X: Field{[10]uint32{0x0017b474, 0x0229925a, 0x02b03464, 0x024fceed, 0x02184584, 0x0052f2e9, 0x01091dc7, 0x005f9fbe, 0x02d41008, 0x003c5872}}, Y: Field{[10]uint32{0x03740904, 0x0227db66, 0x01ffd612, 0x03e7e946, 0x01c4410a, 0x01798945, 0x0081eb24, 0x03cc908a, 0x012e396a, 0x002dfbae}}}, + {X: Field{[10]uint32{0x0326914c, 0x02c70214, 0x038fb1b7, 0x03da2899, 0x03fb54af, 0x01bb7022, 0x02abac24, 0x00187915, 0x00892ea4, 0x001f22db}}, Y: Field{[10]uint32{0x027692f8, 0x02722bd7, 0x015b10d6, 0x00f736ae, 0x02296072, 0x00acd1a0, 0x035eacd0, 0x034b0a7f, 0x03026ea1, 0x003c2387}}}, + {X: Field{[10]uint32{0x00f28729, 0x00d7bb49, 0x01e5dd36, 0x023dc937, 0x023ab207, 0x03dc681d, 0x01b93cce, 0x01196065, 0x029f1633, 0x00119a30}}, Y: Field{[10]uint32{0x0074ea4f, 0x039d0013, 0x00fa129e, 0x01f0bd87, 0x008fd22f, 0x02766545, 0x024c7233, 0x03b1480c, 0x00c98391, 0x00176c8a}}}, + {X: Field{[10]uint32{0x0167b65e, 0x0071f94c, 0x00b2f4e2, 0x00a724a4, 0x0296fa67, 0x00d9c994, 0x0239f8cf, 0x03697066, 0x00f39dd6, 0x000d10f4}}, Y: Field{[10]uint32{0x03429234, 0x01f03a25, 0x014b92a8, 0x002edfb6, 0x0114a432, 0x0301e514, 0x0131f637, 0x0237723b, 0x02399a08, 0x0012db6d}}}, + {X: Field{[10]uint32{0x03c227b4, 0x031e0422, 0x020e8ffe, 0x02a6beb0, 0x02458dbc, 0x015d3025, 0x0281e693, 0x013a5560, 0x010117a0, 0x0034f38d}}, Y: Field{[10]uint32{0x02eb9908, 0x01ff2ac1, 0x0384a9b7, 0x01ba4338, 0x007696ee, 0x03555ab4, 0x001e47f8, 0x01bba4d5, 0x03b9628f, 0x002f3f1d}}}, + {X: Field{[10]uint32{0x015127af, 0x0005583e, 0x03080233, 0x030f34b5, 0x00f2bc1a, 0x03782b0a, 0x01f86409, 0x00914888, 0x0363ad77, 0x00313718}}, Y: Field{[10]uint32{0x012d3038, 0x025ae2dd, 0x0271b3e0, 0x03165fda, 0x00038a79, 0x020d1494, 0x01bc9493, 0x0299990e, 0x028fd789, 0x001e326e}}}, + {X: Field{[10]uint32{0x015ac666, 0x034a769b, 0x01075b23, 0x0332ef37, 0x021bf4ed, 0x008f4b83, 0x0178d7a1, 0x011fb3f3, 0x0394221a, 0x00031dc7}}, Y: Field{[10]uint32{0x028d6091, 0x0157dc73, 0x01980d91, 0x01bd6e3d, 0x03f2ec52, 0x01778a4f, 0x00719246, 0x016abbd1, 0x0330829f, 0x00137b8e}}}, + {X: Field{[10]uint32{0x01e6e199, 0x00945f5e, 0x03d50e77, 0x02fc9d6b, 0x0136a1e9, 0x012287c9, 0x02516e64, 0x023dfd6d, 0x00e89633, 0x002ffe23}}, Y: Field{[10]uint32{0x0388c206, 0x01d05629, 0x03f68532, 0x00a6ed56, 0x01c15526, 0x03a5d876, 0x00b62117, 0x004293ac, 0x007ab620, 0x0023cfc3}}}, + {X: Field{[10]uint32{0x01a3b97a, 0x0287ca82, 0x002da576, 0x01dbcb38, 0x006a467e, 0x00f2b089, 0x010e7e3d, 0x02fc93a1, 0x00645d57, 0x0012bf34}}, Y: Field{[10]uint32{0x0110f0a2, 0x02b95393, 0x01f93984, 0x00ec301b, 0x00ef927d, 0x021db5b0, 0x00692f61, 0x02be4db3, 0x035487b2, 0x0014bc8e}}}, + {X: Field{[10]uint32{0x02b1f373, 0x022e884c, 0x03abdf8a, 0x00d26001, 0x0379e23c, 0x0136c04b, 0x03933fd9, 0x0038815f, 0x022cb9bf, 0x00312f04}}, Y: Field{[10]uint32{0x02fbfc6d, 0x01e21859, 0x00ce1a87, 0x02f5ef7e, 0x031daf76, 0x02ad5b5d, 0x005d4273, 0x0206eb71, 0x03b6a31d, 0x00390311}}}, + {X: Field{[10]uint32{0x01f821a8, 0x01a3c614, 0x019ddb4c, 0x0229f4d3, 0x02837a0f, 0x02ac46b2, 0x0223d27b, 0x01de4738, 0x01b1d1be, 0x00121e86}}, Y: Field{[10]uint32{0x01d0ef98, 0x027912a9, 0x00e67f51, 0x000dec97, 0x01055524, 0x0150578d, 0x02335544, 0x013a6821, 0x034316ff, 0x00294f35}}}, + {X: Field{[10]uint32{0x0301a326, 0x00cb2e10, 0x007f8106, 0x0202a162, 0x01f4ac3d, 0x022333ff, 0x02035165, 0x031d201d, 0x00ecbe06, 0x0009d28f}}, Y: Field{[10]uint32{0x01a9f40d, 0x02627121, 0x019b3ff4, 0x01e98efc, 0x035d06b4, 0x00e172db, 0x0272cab5, 0x022d1426, 0x03e3afbe, 0x0005e892}}}, + {X: Field{[10]uint32{0x03afa9e8, 0x01e4418c, 0x022c48a0, 0x01a8002f, 0x03e82fcc, 0x01563e74, 0x03fc34e7, 0x0266b00e, 0x0377b0cb, 0x000cacc7}}, Y: Field{[10]uint32{0x018f5bc2, 0x036a0297, 0x032a8993, 0x03542c5c, 0x0217f422, 0x02e0111c, 0x02b3f71d, 0x036a4383, 0x004cc191, 0x000111ed}}}, + {X: Field{[10]uint32{0x024a2752, 0x022e1680, 0x03c2925d, 0x038419b7, 0x03945285, 0x03f424cd, 0x0339d46f, 0x0051a370, 0x01cf5556, 0x001e30e7}}, Y: Field{[10]uint32{0x03a3ac55, 0x022119de, 0x009ce890, 0x00c57844, 0x02a66809, 0x03008f98, 0x03df63d5, 0x032a17ba, 0x01bb4e41, 0x0035a477}}}, + {X: Field{[10]uint32{0x0134e5ff, 0x035bece7, 0x0325fa04, 0x0258ac79, 0x00d2f21f, 0x03bbf06a, 0x0102116d, 0x001ddf11, 0x0111a492, 0x0017f1d6}}, Y: Field{[10]uint32{0x017512f2, 0x0182ecd2, 0x00d507a4, 0x01892dca, 0x01f3fe16, 0x0284e5d2, 0x03524d96, 0x0221737f, 0x037f18f5, 0x00167cdb}}}, + {X: Field{[10]uint32{0x0108fa8a, 0x00a274eb, 0x0364ae38, 0x039bda4e, 0x01fa62dd, 0x038d1b86, 0x010fc164, 0x00ad269b, 0x00e9152b, 0x00328564}}, Y: Field{[10]uint32{0x0046dc8c, 0x023fcc20, 0x007f524a, 0x01124da5, 0x01535ea7, 0x00499157, 0x029eae17, 0x03b5d527, 0x033c1174, 0x0011a9ee}}}, + {X: Field{[10]uint32{0x0111fa1f, 0x01433767, 0x037f1f3d, 0x02f16ea6, 0x01743d94, 0x03d9b56b, 0x036e660b, 0x02f7ae9f, 0x02665ff0, 0x00171c54}}, Y: Field{[10]uint32{0x0073a03e, 0x03ffa711, 0x00c39b31, 0x02903c82, 0x02e41684, 0x03333293, 0x01ee9ddc, 0x02570e88, 0x031556e9, 0x001f688e}}}, + {X: Field{[10]uint32{0x00177e82, 0x0361a139, 0x017c8c29, 0x03387255, 0x03fa0c09, 0x03cb840c, 0x01c38774, 0x031ce957, 0x01a36361, 0x0031fdc7}}, Y: Field{[10]uint32{0x01b0dedf, 0x03b6e156, 0x01f92078, 0x0030d0a7, 0x0177c6f5, 0x0013c3e5, 0x022dbf9a, 0x033b2dac, 0x007fb5c2, 0x000235b9}}}, + {X: Field{[10]uint32{0x0058afab, 0x00070af7, 0x0316da01, 0x03339be9, 0x024130b4, 0x00cedd4d, 0x01259004, 0x0284f8de, 0x019f5264, 0x001ba46f}}, Y: Field{[10]uint32{0x00fd604f, 0x008e946d, 0x034499ed, 0x00d077d6, 0x01ee0f94, 0x00826a80, 0x0020c20f, 0x01612576, 0x0055506b, 0x0016ea9d}}}, + {X: Field{[10]uint32{0x02ef0d33, 0x015065ae, 0x01072689, 0x0280d416, 0x03244907, 0x00cc8a04, 0x01c789df, 0x01f2ff1d, 0x028e69ac, 0x0007c037}}, Y: Field{[10]uint32{0x02e040f4, 0x020dc0f6, 0x02feab2e, 0x032106e9, 0x020e65fe, 0x0120ad9e, 0x000c30b4, 0x00c3b4a0, 0x0290f323, 0x000a24b3}}}, + {X: Field{[10]uint32{0x01300638, 0x01e4515f, 0x01e1091d, 0x002c8c93, 0x001a2f5b, 0x01c76356, 0x01efa3ad, 0x0311a508, 0x03f507d8, 0x0030004c}}, Y: Field{[10]uint32{0x00f18895, 0x010d3b4d, 0x027a2f86, 0x004bf72d, 0x031aa3dc, 0x027a38c6, 0x005ea455, 0x03a60b74, 0x01820d3e, 0x000f1dac}}}, + {X: Field{[10]uint32{0x020cad49, 0x03a420f1, 0x0248d2f8, 0x03819b37, 0x00cdb172, 0x012efe5c, 0x00ef7560, 0x009a784b, 0x01e795e8, 0x0002bd8e}}, Y: Field{[10]uint32{0x0026abb4, 0x00b11d09, 0x03219808, 0x02bd59ce, 0x030c479d, 0x03477921, 0x0014a74c, 0x0334a439, 0x0179ce92, 0x0006f404}}}, + {X: Field{[10]uint32{0x01f4c9a1, 0x01e5e5cc, 0x00cd54e9, 0x00e22dcf, 0x00ede585, 0x03af2e68, 0x03a0a5d8, 0x03011063, 0x027d5447, 0x0039b6f4}}, Y: Field{[10]uint32{0x01242153, 0x037aaf8f, 0x038ee6b5, 0x00dcd236, 0x01a20710, 0x03433e2f, 0x00c780a0, 0x020c80f5, 0x0124f284, 0x001dfce1}}}, + {X: Field{[10]uint32{0x036360a9, 0x037f54cc, 0x0246e4c2, 0x007b9015, 0x028d1e3e, 0x0304467a, 0x02dd904e, 0x01c2ab40, 0x0123c95b, 0x003d46a3}}, Y: Field{[10]uint32{0x00f46c57, 0x012c6a70, 0x0113873e, 0x02ad4651, 0x02ae5c6a, 0x02566b36, 0x03488714, 0x00f3d831, 0x009a1d70, 0x00109acb}}}, + {X: Field{[10]uint32{0x00f6bcf4, 0x01135428, 0x01863429, 0x02b07b91, 0x00a3e4d1, 0x00eb8e98, 0x038d8fc3, 0x00dedfd5, 0x01e70fe4, 0x00384bc4}}, Y: Field{[10]uint32{0x0019f5d2, 0x01b64011, 0x01253e3c, 0x0359b71f, 0x038bfec8, 0x00453255, 0x03985b14, 0x0226ad58, 0x015835fa, 0x0008b457}}}, + {X: Field{[10]uint32{0x0188e14c, 0x02f1fb7a, 0x00bb9bf6, 0x01467624, 0x03ac6193, 0x02562853, 0x0351e56d, 0x018b418b, 0x020a8ec7, 0x0039d621}}, Y: Field{[10]uint32{0x027ecd78, 0x0070a5d5, 0x03b23ec4, 0x0208ec00, 0x03104386, 0x032d1d43, 0x008d780d, 0x013c87ee, 0x00ef10b8, 0x0010b678}}}, + {X: Field{[10]uint32{0x00a64163, 0x00e8e608, 0x032c6e42, 0x020bbe47, 0x02d47998, 0x022952de, 0x022b90c7, 0x00797360, 0x03e90ba2, 0x000f24cf}}, Y: Field{[10]uint32{0x029080df, 0x00b77cd9, 0x03f96b67, 0x00d447d9, 0x017fc161, 0x01c02d2b, 0x01b23a56, 0x008b8b29, 0x00be5319, 0x00307aa8}}}, + {X: Field{[10]uint32{0x02857872, 0x004d3f7a, 0x00e07939, 0x0138f027, 0x00df828e, 0x02469e70, 0x02b6b08e, 0x0019b2db, 0x036a83c9, 0x0011d5d5}}, Y: Field{[10]uint32{0x0038277a, 0x03b9b183, 0x00d7b058, 0x03a27654, 0x01818248, 0x0249c311, 0x03e8388d, 0x01fc5778, 0x03b262d7, 0x0004fc8b}}}, + {X: Field{[10]uint32{0x031045c7, 0x0275ad00, 0x00aa8012, 0x03361987, 0x0246570f, 0x029fffd0, 0x01df9039, 0x014502c6, 0x01037008, 0x000d798e}}, Y: Field{[10]uint32{0x01b9e8c9, 0x0272b979, 0x011f1b0e, 0x02b6961a, 0x0053cfb3, 0x00f0a3a1, 0x004f022b, 0x018361a9, 0x00bcaa9d, 0x000a157d}}}, + {X: Field{[10]uint32{0x02126fa3, 0x0398cb8c, 0x024fe82b, 0x0371aa2f, 0x02ad5330, 0x0342a17d, 0x025f0316, 0x02081cd5, 0x02011f11, 0x002b511b}}, Y: Field{[10]uint32{0x00e83e39, 0x00653d8a, 0x00d4315c, 0x0150bdcc, 0x021d8acb, 0x02b03aac, 0x012b2f81, 0x038fd47e, 0x02f1dece, 0x000900e0}}}, + {X: Field{[10]uint32{0x02718815, 0x0359001a, 0x021aff82, 0x03d75dd1, 0x0289164e, 0x03108869, 0x00af7529, 0x02b0de08, 0x01f3eb01, 0x003efa79}}, Y: Field{[10]uint32{0x02d088e6, 0x0007fd84, 0x00468478, 0x0210aafe, 0x01ba2073, 0x0137a485, 0x013e0884, 0x00b8338e, 0x00add85a, 0x003cbcc3}}}, + {X: Field{[10]uint32{0x03038135, 0x014bc4ce, 0x029166e9, 0x03d8cb4c, 0x00b9b585, 0x020b326e, 0x0149aa24, 0x03d0c281, 0x0320d81f, 0x000799d4}}, Y: Field{[10]uint32{0x00686aa7, 0x02d326bc, 0x01db1b44, 0x006cd9b4, 0x002e2c7f, 0x02621c03, 0x03aa5de2, 0x03665716, 0x0276c9c7, 0x003283c4}}}, + {X: Field{[10]uint32{0x02267718, 0x00e45f35, 0x0285f359, 0x010cc383, 0x0394c3f6, 0x0349e492, 0x02b8068a, 0x0394ae8b, 0x037023b0, 0x0005db71}}, Y: Field{[10]uint32{0x017ca8d9, 0x003cff8a, 0x02701d51, 0x03da1746, 0x000548d4, 0x03d98254, 0x010686fd, 0x016c1bd1, 0x02885df7, 0x0034b718}}}, + {X: Field{[10]uint32{0x01a9c938, 0x002aded0, 0x008dd99a, 0x01080f3f, 0x017ac839, 0x0331f150, 0x02feadbc, 0x00aceacd, 0x02c232a0, 0x000f214d}}, Y: Field{[10]uint32{0x025186b5, 0x013d6b68, 0x03d9dbdc, 0x014b5a8e, 0x018ebc7f, 0x00c08ab4, 0x00dd8f17, 0x0344ab49, 0x02a5249c, 0x0029a13b}}}, + {X: Field{[10]uint32{0x02f006fd, 0x028c8b5e, 0x014a5605, 0x000f58f1, 0x00ec6ea0, 0x02a20466, 0x00c446fb, 0x01dadb95, 0x03abc61a, 0x00122a9c}}, Y: Field{[10]uint32{0x02403a64, 0x03e64d63, 0x00d4ecdb, 0x02dc1039, 0x035977fa, 0x033cf77c, 0x00185065, 0x002208b4, 0x02eeffb2, 0x0030a317}}}, + {X: Field{[10]uint32{0x03cc1ff1, 0x028e86d4, 0x024cbd83, 0x0034329f, 0x01263d17, 0x022eb292, 0x02d2b363, 0x000a3676, 0x03620abd, 0x001d1cc9}}, Y: Field{[10]uint32{0x0136c2c6, 0x02f5a779, 0x01f3fddf, 0x03f982ea, 0x00927a88, 0x03008edb, 0x02ef7ce5, 0x02827cfc, 0x030ce8df, 0x00328477}}}, + {X: Field{[10]uint32{0x01698522, 0x01cb16e5, 0x0002eb86, 0x0095491f, 0x01a40427, 0x0053fa40, 0x03dc9188, 0x016455d9, 0x0309520e, 0x003adc6a}}, Y: Field{[10]uint32{0x0148e995, 0x027d5b93, 0x031eb874, 0x0007001f, 0x01c81b69, 0x0008ecaa, 0x02563cb2, 0x016ce3b5, 0x02e0a7e9, 0x0017eb5e}}}, + {X: Field{[10]uint32{0x02f5be6b, 0x0110dc5f, 0x021cef84, 0x0256595d, 0x02af5e86, 0x02c5e731, 0x02da74be, 0x00f7d5cb, 0x03f6c776, 0x000ac406}}, Y: Field{[10]uint32{0x03140ce9, 0x03fa188f, 0x02597067, 0x0065fe26, 0x01f66647, 0x03c96108, 0x014629fe, 0x0068f663, 0x02c84e1d, 0x00003745}}}, + {X: Field{[10]uint32{0x020ab337, 0x02910d9b, 0x033ebca2, 0x03fa3cec, 0x0213976a, 0x017a06e8, 0x032b0507, 0x0195494c, 0x03a82c66, 0x0028267b}}, Y: Field{[10]uint32{0x01136c07, 0x02a66f57, 0x013abdc0, 0x02d796dd, 0x02fb1e33, 0x0049ab32, 0x016c7faa, 0x03cacf77, 0x017b5cf1, 0x003e20e5}}}, + {X: Field{[10]uint32{0x0362f95d, 0x02f267e2, 0x00f153d5, 0x03340bd6, 0x018cc107, 0x01c2f7ac, 0x032ab6d4, 0x00f3a56d, 0x0056a61c, 0x003d0e5a}}, Y: Field{[10]uint32{0x029f6133, 0x01db005b, 0x02567cfd, 0x03cf87bc, 0x03df81c2, 0x00c9d398, 0x03240caf, 0x02c2c019, 0x011aa8ed, 0x001b8fab}}}, + {X: Field{[10]uint32{0x014050c0, 0x038e1fda, 0x00008bd5, 0x01f12516, 0x0353215b, 0x0124f600, 0x00aabe5a, 0x02ec6128, 0x019726aa, 0x00369cc8}}, Y: Field{[10]uint32{0x01a0eeb6, 0x0211813a, 0x01b4666d, 0x01339f38, 0x019489af, 0x017a5538, 0x00b987d8, 0x012da1af, 0x03291772, 0x003881d7}}}, + {X: Field{[10]uint32{0x000a6792, 0x01359be6, 0x02f4575f, 0x0345343c, 0x018fea44, 0x025d0080, 0x0259c09b, 0x01860fd0, 0x021e1959, 0x002645c6}}, Y: Field{[10]uint32{0x01219a4f, 0x01d9ec5d, 0x03f5f27a, 0x034b9d81, 0x0066af1b, 0x0381efb0, 0x032cbd80, 0x03bbcf9f, 0x000c83e1, 0x00148ae1}}}, + {X: Field{[10]uint32{0x018cf08f, 0x034d329d, 0x0323f8f0, 0x03da44cc, 0x001db7bc, 0x01122270, 0x008997a9, 0x013cd890, 0x02848a2c, 0x000d4f31}}, Y: Field{[10]uint32{0x0267ebe7, 0x01449373, 0x01fa243d, 0x0051b839, 0x0097effd, 0x000a0d32, 0x02b283f7, 0x000559f8, 0x0062f4ba, 0x0006196f}}}, + {X: Field{[10]uint32{0x02312852, 0x0090b75e, 0x026d5deb, 0x00f755e8, 0x01b9ed7e, 0x02dbf330, 0x027c77f1, 0x034f4e39, 0x003b5053, 0x0022c5a6}}, Y: Field{[10]uint32{0x005d47c6, 0x03217976, 0x00e9fbe6, 0x034b1ca8, 0x000caeb3, 0x03fd26b2, 0x02adeedc, 0x014f4e55, 0x0392fa59, 0x0012764f}}}, + {X: Field{[10]uint32{0x010cabc9, 0x0381191d, 0x002ef505, 0x00c0eeb0, 0x02efb367, 0x020fed88, 0x03b25130, 0x00c9f089, 0x02a4b1da, 0x001a3d77}}, Y: Field{[10]uint32{0x03d31782, 0x01a263f8, 0x0350c435, 0x0115c72d, 0x02146de0, 0x01b271d0, 0x01257744, 0x012e76bb, 0x039c5d62, 0x00099d03}}}, + {X: Field{[10]uint32{0x020c699b, 0x02ec8080, 0x01244e74, 0x001a6156, 0x03cc9367, 0x008229b5, 0x019d8bd7, 0x03c03238, 0x007fc3ac, 0x003ebd48}}, Y: Field{[10]uint32{0x02f1936c, 0x019282f3, 0x03eebb85, 0x009c2181, 0x03d42c15, 0x01c77a39, 0x00186ac9, 0x031b952b, 0x004617a6, 0x003eaded}}}, + {X: Field{[10]uint32{0x00d17630, 0x03d4207a, 0x004a2bca, 0x00828998, 0x02917c04, 0x00bc0685, 0x0204707a, 0x0316f4f6, 0x0291b541, 0x0030f46a}}, Y: Field{[10]uint32{0x00d9ce27, 0x03450d7f, 0x02c64d8c, 0x028d1324, 0x01c9b631, 0x0397ded1, 0x02d7ce54, 0x031017c1, 0x006e5a58, 0x0016d5e0}}}, + {X: Field{[10]uint32{0x02c8db1a, 0x03267ea2, 0x01455623, 0x016bf8b0, 0x0254b5bd, 0x0246cc3c, 0x00db5263, 0x02e48114, 0x02354970, 0x0008c9e2}}, Y: Field{[10]uint32{0x00e1888b, 0x03b91064, 0x0144d55d, 0x01afef48, 0x03357048, 0x018150b7, 0x0093b746, 0x02791c6b, 0x01dae8df, 0x00219360}}}, + {X: Field{[10]uint32{0x038c0146, 0x01d97151, 0x02d25485, 0x00ac3b2b, 0x017c12c3, 0x02773440, 0x00de4ab2, 0x0329341d, 0x018133cb, 0x00180bd8}}, Y: Field{[10]uint32{0x027aa968, 0x02791800, 0x0011f91c, 0x010b39a8, 0x019ffab3, 0x0266e721, 0x03d2da15, 0x030d43dd, 0x03b7279e, 0x001310b3}}}, + {X: Field{[10]uint32{0x01843ee9, 0x03b2ab49, 0x02690fd4, 0x02af1e58, 0x03c545a9, 0x0373233f, 0x002aa463, 0x030ec976, 0x03c70126, 0x00077133}}, Y: Field{[10]uint32{0x03fedeb1, 0x0097986c, 0x003ac182, 0x02e4aa6d, 0x036002b1, 0x0178cabe, 0x0020f172, 0x0155d4d6, 0x01825c53, 0x002a4d5e}}}, + {X: Field{[10]uint32{0x0235af82, 0x0308f3f3, 0x028b33c6, 0x037e2c13, 0x01887a95, 0x032997f1, 0x00d99108, 0x02f1e453, 0x01216e02, 0x000da53c}}, Y: Field{[10]uint32{0x00555d88, 0x00d9090e, 0x006d1d1c, 0x03266e0e, 0x02c61e57, 0x021162e7, 0x016e7428, 0x0065db51, 0x0291b1c4, 0x001fffb8}}}, + {X: Field{[10]uint32{0x01f1bdbf, 0x0248ac87, 0x003b4b65, 0x00eea483, 0x00457be0, 0x03c1b0b1, 0x00725e0a, 0x019081ee, 0x0275a959, 0x001d0eb6}}, Y: Field{[10]uint32{0x000f908f, 0x035c5d6d, 0x026c0b16, 0x03e4e6c4, 0x035629b9, 0x00b706d0, 0x00c23ed9, 0x03176027, 0x01b55ac4, 0x0023cae0}}}, + {X: Field{[10]uint32{0x02420085, 0x02bdf5ac, 0x0394f210, 0x00b89b5b, 0x00f047cf, 0x0011181f, 0x00c42d7f, 0x03129ee7, 0x03977c7c, 0x0002ffa4}}, Y: Field{[10]uint32{0x02373d64, 0x00241beb, 0x01d92126, 0x03fa80b8, 0x01666c3d, 0x037b94f5, 0x02f2b510, 0x03720c07, 0x00598f80, 0x00189758}}}, + {X: Field{[10]uint32{0x03240eb9, 0x01b62e46, 0x01f8373e, 0x03ff21e5, 0x01cb56eb, 0x0219e86b, 0x01447517, 0x011b230a, 0x000e6ee6, 0x0021b00b}}, Y: Field{[10]uint32{0x005be4ed, 0x0299abf2, 0x037b40bf, 0x01224591, 0x0159d39f, 0x03d5be02, 0x02af5290, 0x004262dd, 0x029fda4b, 0x001966d7}}}, + {X: Field{[10]uint32{0x007bfda4, 0x02a48a4e, 0x02ce5dc3, 0x011d2e0a, 0x026c4f8f, 0x02a13719, 0x01d357d3, 0x0007a665, 0x0045857f, 0x000eca04}}, Y: Field{[10]uint32{0x02e9fd4c, 0x02039ff4, 0x00f8a16d, 0x008cfd40, 0x01e318a1, 0x03cc4f6b, 0x007c42f1, 0x0055091f, 0x032ccdeb, 0x00265209}}}, + {X: Field{[10]uint32{0x02fc47c0, 0x0294a13f, 0x007a3da9, 0x02380cc2, 0x02985903, 0x01b5bfca, 0x004d33d4, 0x025e7c14, 0x01d3b54d, 0x00337733}}, Y: Field{[10]uint32{0x016683b8, 0x00ebad01, 0x00321213, 0x02469fac, 0x010196c9, 0x001f7759, 0x0191e5e8, 0x004f0513, 0x03f83693, 0x0027ca84}}}, + {X: Field{[10]uint32{0x030e16d7, 0x014b0d21, 0x00088403, 0x027ccdc2, 0x018f8c2e, 0x0008c9c4, 0x034462bd, 0x00f76fb8, 0x0102a602, 0x00260401}}, Y: Field{[10]uint32{0x0169b9cb, 0x0253a406, 0x01a5747a, 0x019af5c8, 0x004cf8fb, 0x0152a13b, 0x0381c084, 0x00ecec78, 0x02f469af, 0x0006a2ff}}}, + {X: Field{[10]uint32{0x01978179, 0x0088f966, 0x02316c90, 0x03e6cd77, 0x03c26092, 0x02e08492, 0x00168479, 0x005e6c24, 0x017db2fc, 0x0022dd9d}}, Y: Field{[10]uint32{0x02b16f05, 0x03e69cd0, 0x009606ea, 0x01a07a2d, 0x01ee4492, 0x00459cc8, 0x01a71a6a, 0x01972950, 0x0326588e, 0x0011fabc}}}, + {X: Field{[10]uint32{0x02cc3b43, 0x015c759f, 0x02771bf2, 0x02cb557a, 0x0045c83b, 0x01ac3187, 0x004d8a94, 0x02d981bd, 0x03dc897f, 0x00399bb5}}, Y: Field{[10]uint32{0x0214dcbe, 0x03316a7c, 0x01810518, 0x03e64dd3, 0x017f1745, 0x0229016f, 0x00ffd470, 0x03fd3b1b, 0x039b8a9f, 0x00394dbd}}}, + {X: Field{[10]uint32{0x02bc88c8, 0x01aa84fc, 0x020d2262, 0x00241a82, 0x01ead632, 0x03bd7045, 0x02ad0656, 0x002e7e33, 0x0192cc9c, 0x00381801}}, Y: Field{[10]uint32{0x035a584f, 0x035472df, 0x03f7ca42, 0x01775527, 0x02e7f75f, 0x0304e105, 0x02552544, 0x01c1745b, 0x00b78b84, 0x0018a365}}}, + {X: Field{[10]uint32{0x01152767, 0x016b01c6, 0x02cfbffc, 0x0109ace4, 0x0362db2e, 0x018f8bc1, 0x0358fc70, 0x00975331, 0x0242a9cf, 0x0006c2bc}}, Y: Field{[10]uint32{0x0056a2be, 0x010ff0f2, 0x035a0ed0, 0x012c0be5, 0x00592dec, 0x024d5012, 0x0128da0d, 0x0015668f, 0x02a5eec3, 0x000ceba2}}}, + {X: Field{[10]uint32{0x035acb7d, 0x02a935ab, 0x00ed5439, 0x0137396f, 0x009b8092, 0x02c2f2fc, 0x005beeed, 0x01fb68d4, 0x03aa142f, 0x0038813f}}, Y: Field{[10]uint32{0x018911ba, 0x0136d257, 0x0159e692, 0x00c11e69, 0x03a02f70, 0x03bcb08a, 0x02acdd1a, 0x005466b7, 0x019b98e1, 0x0028a013}}}, + {X: Field{[10]uint32{0x01515ed5, 0x03c26683, 0x0196469c, 0x03d24a11, 0x00a35431, 0x00c5cf53, 0x00ea1fc1, 0x00c7d885, 0x02676515, 0x002bf103}}, Y: Field{[10]uint32{0x00b648e0, 0x01b4ccc0, 0x01b45589, 0x001f34ef, 0x035e6297, 0x02c13499, 0x02e85963, 0x0037a4ca, 0x02f41e48, 0x0015fbdb}}}, + {X: Field{[10]uint32{0x03e8d226, 0x037b88aa, 0x001d4690, 0x00197298, 0x01729634, 0x017038f2, 0x00588b04, 0x01907e00, 0x03db747b, 0x001654e2}}, Y: Field{[10]uint32{0x002d4438, 0x000c773b, 0x00e28652, 0x00a174de, 0x0352ca7a, 0x037a5821, 0x026547a3, 0x0270d530, 0x006a3c91, 0x00280c12}}}, + {X: Field{[10]uint32{0x0197ed8f, 0x0391a6aa, 0x026f1efb, 0x01106012, 0x02b964cf, 0x03b6ca9d, 0x03a4baeb, 0x0100a318, 0x034fc38d, 0x001aa474}}, Y: Field{[10]uint32{0x01073260, 0x00075d76, 0x02a00f2b, 0x034729b3, 0x0345f221, 0x034f9cfa, 0x02ead10d, 0x0149d0b4, 0x00836a0b, 0x000c9403}}}, + {X: Field{[10]uint32{0x02c28d61, 0x018330a2, 0x02ee8f77, 0x02772170, 0x00332ae3, 0x038870d1, 0x01c44ab5, 0x025fba5f, 0x0287b11d, 0x00249839}}, Y: Field{[10]uint32{0x0223e778, 0x03a61458, 0x01d1892c, 0x020e8cf9, 0x01c1d13e, 0x03736765, 0x0124f5e2, 0x01953bdc, 0x033de8d8, 0x0003d1f7}}}, + {X: Field{[10]uint32{0x00fe3cba, 0x02410413, 0x03e06a03, 0x030f73e6, 0x00b48820, 0x02d3ca4f, 0x038561f4, 0x03cc07d9, 0x03337a66, 0x000d2439}}, Y: Field{[10]uint32{0x029bbd6c, 0x0281c857, 0x006f1f5e, 0x00d94ca2, 0x02a81695, 0x016eec8a, 0x03876368, 0x01c2b1d3, 0x02797edb, 0x00125646}}}, + {X: Field{[10]uint32{0x0107b4a0, 0x0029a023, 0x03c8a6ec, 0x02049e00, 0x01d71d7a, 0x02a55228, 0x00b1311e, 0x02a68df7, 0x00fe1f47, 0x0025ca7d}}, Y: Field{[10]uint32{0x0317f896, 0x02e2bcba, 0x0386c2dc, 0x01cffa2a, 0x01c8f03d, 0x008bbfa9, 0x03ee569e, 0x03f5ca39, 0x01d4ccc4, 0x0015b869}}}, + {X: Field{[10]uint32{0x029c2caf, 0x036360eb, 0x034b1c37, 0x02d60332, 0x005e694e, 0x0200113c, 0x03d77a66, 0x0108f473, 0x004f06da, 0x002bd8e4}}, Y: Field{[10]uint32{0x03e110b2, 0x006cc1b6, 0x02400f3d, 0x003df1e6, 0x01b8cfaf, 0x029f8bb7, 0x01fa10b4, 0x02e52345, 0x002f5fe2, 0x001b7b37}}}, + {X: Field{[10]uint32{0x00435a3f, 0x00bede8b, 0x031f2f24, 0x03831ede, 0x01403cf0, 0x01f0a53f, 0x0274edf8, 0x007c8688, 0x03721f4a, 0x002589c7}}, Y: Field{[10]uint32{0x025adddf, 0x03d6c872, 0x01e7951c, 0x01deb904, 0x01719400, 0x027dba52, 0x03bbca44, 0x033f54af, 0x00731fc8, 0x0019bfef}}}, + {X: Field{[10]uint32{0x03717c7d, 0x03653292, 0x0296a95b, 0x00f1fb89, 0x00dfa5a1, 0x02ea3658, 0x0027287e, 0x03168056, 0x02151f0c, 0x00290bbc}}, Y: Field{[10]uint32{0x00046fec, 0x0257dad4, 0x03a1ba49, 0x01c82d48, 0x02e32431, 0x0051823b, 0x02969298, 0x029644c8, 0x02d45f08, 0x00179247}}}, + {X: Field{[10]uint32{0x0062e5e4, 0x00b01eee, 0x02c2f7fb, 0x00ac4d6f, 0x00fc4ce9, 0x022f89e0, 0x019c2896, 0x029d5f61, 0x01ede770, 0x00064ecf}}, Y: Field{[10]uint32{0x00716700, 0x0066d7bc, 0x0177522d, 0x01026031, 0x02d1d1d7, 0x02378155, 0x01d5cd13, 0x01cd7828, 0x03baffbb, 0x00064b12}}}, + {X: Field{[10]uint32{0x001e8dc7, 0x0029f3a3, 0x02029e29, 0x02c389d5, 0x02054084, 0x01bfbbcf, 0x03b4fc82, 0x0113933c, 0x0075da6f, 0x00333e68}}, Y: Field{[10]uint32{0x0235a183, 0x02c83266, 0x03a67bf6, 0x0247ffa6, 0x020a5d64, 0x00208671, 0x020f0a23, 0x030c2e40, 0x004dccf2, 0x003413e1}}}, + {X: Field{[10]uint32{0x025b0140, 0x039eb3b4, 0x03831873, 0x02e5b738, 0x00d3ddff, 0x02614c82, 0x00ec69ef, 0x02ed0fd8, 0x025b1d69, 0x001fafa8}}, Y: Field{[10]uint32{0x03ec3d65, 0x00f9f293, 0x01d16fc8, 0x01d62557, 0x002a9483, 0x004e8fce, 0x031a47d0, 0x0358dd53, 0x02f2bf87, 0x00091502}}}, + {X: Field{[10]uint32{0x00a038c7, 0x004718e1, 0x02e45d71, 0x03af5ca6, 0x02674662, 0x00e11e2d, 0x03ff0380, 0x006c066d, 0x034ac2a3, 0x0000327a}}, Y: Field{[10]uint32{0x01f32240, 0x02f77b60, 0x016a6e26, 0x02cca744, 0x0312f6e8, 0x022b90a8, 0x032b90d7, 0x00fd3afb, 0x003dcaed, 0x001f8bb8}}}, + {X: Field{[10]uint32{0x01acd867, 0x03651bf9, 0x007b87fe, 0x00361b15, 0x02cd0b29, 0x03f61ed2, 0x0323bc5c, 0x013a7a9e, 0x020c08c8, 0x00115d5b}}, Y: Field{[10]uint32{0x00acdd1f, 0x0076829c, 0x00413461, 0x00b216c2, 0x0031326e, 0x01f705b4, 0x03984c3d, 0x03005cf6, 0x022ce577, 0x00270fd4}}}, + {X: Field{[10]uint32{0x03e3c0da, 0x0036dfc4, 0x0225ce4a, 0x039c42ae, 0x0359438d, 0x0197891d, 0x009e3416, 0x0358db1e, 0x008121be, 0x0006f561}}, Y: Field{[10]uint32{0x0386a90b, 0x03d0d451, 0x008e7350, 0x035e5627, 0x00ffd4d6, 0x001e1d0c, 0x028a7b75, 0x014e658e, 0x0097bf90, 0x0032c3ae}}}, + {X: Field{[10]uint32{0x01324dc1, 0x01f3b676, 0x00063054, 0x038333e9, 0x0032eda7, 0x01677663, 0x02a80a97, 0x026e9612, 0x022c8e80, 0x003c6655}}, Y: Field{[10]uint32{0x0008d1d0, 0x026b1ead, 0x00f32400, 0x0047374e, 0x022f7ea8, 0x00f28537, 0x01dbcea3, 0x00126252, 0x02ad7643, 0x000cd467}}}, + {X: Field{[10]uint32{0x005ea6f3, 0x00f4f53d, 0x03559674, 0x03a61372, 0x02975319, 0x00162548, 0x02ac3b93, 0x01f707d5, 0x0110e9e3, 0x001fed3a}}, Y: Field{[10]uint32{0x03c960ee, 0x00341399, 0x0062855f, 0x029ef553, 0x005f4d94, 0x038c80f7, 0x02b59bcf, 0x03b273cd, 0x003c0cdb, 0x0002dd28}}}, + {X: Field{[10]uint32{0x006c03e6, 0x03ea7fa2, 0x031364c6, 0x0229ae73, 0x03c1a1d6, 0x0137108c, 0x02270205, 0x0275e2b2, 0x00fd1983, 0x00140f42}}, Y: Field{[10]uint32{0x02448e0a, 0x00def463, 0x02f77589, 0x0355f10d, 0x02698459, 0x01cf48f7, 0x01059144, 0x03ae1ef6, 0x01db9a09, 0x00212b65}}}, + {X: Field{[10]uint32{0x01e1e713, 0x025820d4, 0x02c25091, 0x032390be, 0x0162db42, 0x021c5629, 0x02d0deac, 0x034f8961, 0x0204e6ae, 0x000cd724}}, Y: Field{[10]uint32{0x00c1c2f9, 0x027c2b3d, 0x01ce67ef, 0x01774d06, 0x0049b60c, 0x004bf761, 0x00849d42, 0x02fb8a50, 0x01bb10f8, 0x00056cd6}}}, + {X: Field{[10]uint32{0x0034bc9f, 0x01104d0a, 0x035ef30c, 0x0262738f, 0x00f218c2, 0x01c82ed4, 0x01117df5, 0x00567e08, 0x01cbe0f7, 0x002e9a39}}, Y: Field{[10]uint32{0x00fa5d72, 0x01ef2510, 0x017f3ca5, 0x011dc719, 0x03101ff4, 0x0104a8a1, 0x005a2ede, 0x01393bfd, 0x03dd0ff3, 0x000ab096}}}, + {X: Field{[10]uint32{0x037e6baa, 0x017b0821, 0x03a0a02a, 0x010e8791, 0x03446d79, 0x00e71252, 0x00202677, 0x0210c163, 0x0313311d, 0x0024f5b9}}, Y: Field{[10]uint32{0x001a0856, 0x01a99748, 0x0324fdb5, 0x0055f353, 0x01e10bf6, 0x02d427e7, 0x00710410, 0x03f49b81, 0x019c99a2, 0x001665f0}}}, + {X: Field{[10]uint32{0x03397172, 0x01402917, 0x00c22ac7, 0x009a3b30, 0x00cb8f46, 0x031746da, 0x0284fbe0, 0x01e829ce, 0x001b5cc7, 0x001ea52f}}, Y: Field{[10]uint32{0x0178bee5, 0x03dad341, 0x02cef34a, 0x025405b7, 0x03032d36, 0x02fb7d34, 0x01c9f8c1, 0x0354a9c6, 0x006e82a4, 0x0004a307}}}, + {X: Field{[10]uint32{0x0021b809, 0x00f165b2, 0x01c54c21, 0x00b6eb2b, 0x0375fbe5, 0x01bcf919, 0x02ec848f, 0x020f6517, 0x01a7c193, 0x003c0c7b}}, Y: Field{[10]uint32{0x03cabab8, 0x0031dd88, 0x03ea0517, 0x00dabe5a, 0x01eb505d, 0x0394bc65, 0x001e2e7e, 0x0393d76e, 0x010d1c17, 0x002d29e3}}}, + {X: Field{[10]uint32{0x0039907c, 0x02df5c08, 0x0360857a, 0x01d58329, 0x010ce9f3, 0x01d34065, 0x00cb924c, 0x03820b75, 0x02cd5c17, 0x0021bbc6}}, Y: Field{[10]uint32{0x00f3bb3c, 0x0383b093, 0x03de1ef7, 0x0172731d, 0x0136c310, 0x01b559cf, 0x02d34b10, 0x022b2509, 0x013db907, 0x001a4da8}}}, + {X: Field{[10]uint32{0x03c6d720, 0x005ad832, 0x00bc9409, 0x0324aac4, 0x006d24ee, 0x00a853ee, 0x039beeb6, 0x00e8d526, 0x00c9c78e, 0x003f3adb}}, Y: Field{[10]uint32{0x03f7583d, 0x005e1cdd, 0x0162f08b, 0x024ba9d5, 0x009f8d92, 0x004b2946, 0x03697015, 0x007c7382, 0x00245f56, 0x001f0b98}}}, + {X: Field{[10]uint32{0x03a5c8d9, 0x0084fbb7, 0x00f3ecd2, 0x01b8ec50, 0x00d475e3, 0x02bf90e0, 0x0026d837, 0x03cd207d, 0x011b9a36, 0x0028767b}}, Y: Field{[10]uint32{0x03a558a0, 0x016fc1f7, 0x00c6007d, 0x00ef9aaa, 0x0078bd5e, 0x03a7fb95, 0x002cb779, 0x00fca7b0, 0x017ca127, 0x000da0f2}}}, + {X: Field{[10]uint32{0x01bd48c7, 0x03e43814, 0x03dac844, 0x0269dfac, 0x013e8f62, 0x022bff28, 0x01bbdc75, 0x03b55785, 0x01996311, 0x0036637a}}, Y: Field{[10]uint32{0x00ef2a22, 0x01127ca1, 0x037cc07d, 0x014e5a75, 0x02693943, 0x01de3970, 0x011b8100, 0x023b9da3, 0x014d272a, 0x0022bd86}}}, + {X: Field{[10]uint32{0x019aac60, 0x022e8fea, 0x023edbee, 0x008e625e, 0x0060f4d2, 0x0197e014, 0x031ba80d, 0x03e8a6db, 0x01b7cd6a, 0x001e0ca3}}, Y: Field{[10]uint32{0x02fc5efb, 0x031ea79d, 0x02f01f35, 0x02171265, 0x02629f81, 0x0384d910, 0x023377f4, 0x00eb1204, 0x016f1d14, 0x0038df92}}}, + {X: Field{[10]uint32{0x0336db5e, 0x0347d9b8, 0x02117223, 0x033f36c9, 0x005d9747, 0x02ca7b9b, 0x001e1c09, 0x02bc2cdf, 0x0093031f, 0x000f5c05}}, Y: Field{[10]uint32{0x037600ad, 0x033474f9, 0x008b6648, 0x0316e1fe, 0x03414ea3, 0x02d3a774, 0x01f7ce0a, 0x02c82ad0, 0x01408311, 0x00347a64}}}, + {X: Field{[10]uint32{0x02288628, 0x03dd8ab3, 0x03a96e90, 0x021bf6fd, 0x000e2239, 0x02953b31, 0x015ba2a7, 0x0352ac2f, 0x00c047e0, 0x003d866b}}, Y: Field{[10]uint32{0x001564f2, 0x013b299e, 0x01de68fa, 0x037f3bed, 0x02f9cdcc, 0x039ff07b, 0x016a2d70, 0x017443f2, 0x023de154, 0x003c93ad}}}, + {X: Field{[10]uint32{0x02d0a2d2, 0x02f0032a, 0x03489a1d, 0x00d678be, 0x0291718f, 0x03de5ff3, 0x004a8514, 0x016800cd, 0x01b871f8, 0x00332a02}}, Y: Field{[10]uint32{0x0090b037, 0x0047045a, 0x012f712b, 0x03b4e0a6, 0x03aba642, 0x007d8be5, 0x018f260a, 0x020d6489, 0x02b83565, 0x002df5ca}}}, + {X: Field{[10]uint32{0x01c81958, 0x00fb471f, 0x03eeaa7d, 0x016d4706, 0x01aa26c4, 0x003ee851, 0x034eec03, 0x014076be, 0x0366ee2c, 0x002ef465}}, Y: Field{[10]uint32{0x035250fa, 0x03c6b3f7, 0x03cfeb98, 0x033b0cbb, 0x036c1ca4, 0x01c9110b, 0x030a6e89, 0x0184b9f3, 0x01ff70b3, 0x002f1c27}}}, + {X: Field{[10]uint32{0x001cfadd, 0x01352bfb, 0x025f79c3, 0x03a0e9a2, 0x01ca8f0e, 0x01912a97, 0x03a19381, 0x02065c99, 0x00a0e4a5, 0x001a9bf7}}, Y: Field{[10]uint32{0x02732081, 0x0145fa74, 0x00c36db6, 0x01bf2b6c, 0x006bd7ff, 0x01faf31c, 0x0104298d, 0x01495730, 0x02367658, 0x0030a2c4}}}, + {X: Field{[10]uint32{0x035c8006, 0x014c85b7, 0x00be02c5, 0x00ac05e9, 0x029564af, 0x014bc2b7, 0x03d693de, 0x00688bb9, 0x03e1fd40, 0x000248b8}}, Y: Field{[10]uint32{0x0088f757, 0x03ac7105, 0x004aa3b9, 0x031c82e5, 0x03696841, 0x032a2889, 0x0379e0c5, 0x012902e6, 0x0065aae8, 0x0029ec40}}}, + {X: Field{[10]uint32{0x0276eac8, 0x020be629, 0x01490383, 0x036b5225, 0x03aff8a6, 0x00f2f4ec, 0x02bd9dae, 0x02d54fe4, 0x024e3526, 0x0014ffeb}}, Y: Field{[10]uint32{0x01f8c6f4, 0x0390fb66, 0x03d23cfd, 0x024b115b, 0x009e6652, 0x033a183b, 0x023b2228, 0x0202e0f4, 0x00aeb51f, 0x00207f7f}}}, + {X: Field{[10]uint32{0x0203d119, 0x009e1882, 0x015b9772, 0x031ad574, 0x027c2e70, 0x00a73f92, 0x03e70289, 0x025be274, 0x01d1c945, 0x00052837}}, Y: Field{[10]uint32{0x036dd086, 0x03c7efa5, 0x02e83806, 0x03bed663, 0x007e8c94, 0x00f71956, 0x03e14835, 0x0074777d, 0x0071febe, 0x000ad770}}}, + {X: Field{[10]uint32{0x0168c8f9, 0x0143c78f, 0x03f4dc01, 0x00a9ce7b, 0x00bebe27, 0x032bcee4, 0x01a25428, 0x03cd6ed4, 0x000dfb74, 0x001cda09}}, Y: Field{[10]uint32{0x00a7a27f, 0x02ea17b9, 0x03cd8fd2, 0x01cac572, 0x0321801a, 0x031191a7, 0x00c71687, 0x03a0b9dd, 0x0317b4c5, 0x00254e4a}}}, + {X: Field{[10]uint32{0x00580560, 0x00340408, 0x0079e640, 0x0041ef16, 0x035fbdb6, 0x0105a217, 0x016825e2, 0x02ce748e, 0x0053b9ea, 0x001302a0}}, Y: Field{[10]uint32{0x03db5427, 0x02a5eef5, 0x002f093c, 0x0099820f, 0x02f5a6f8, 0x01022de7, 0x03f67f65, 0x0394c985, 0x02a75b7d, 0x00216888}}}, + {X: Field{[10]uint32{0x01dabbf8, 0x00c814cf, 0x00a1e91e, 0x01abd5e4, 0x026751a2, 0x00cf7f2c, 0x01447a49, 0x03e2b2f6, 0x02a824a6, 0x00328359}}, Y: Field{[10]uint32{0x01395d18, 0x003cca5e, 0x016b2155, 0x0020297c, 0x036f7d7d, 0x03bc0790, 0x01fd49b1, 0x00211447, 0x018d4f8b, 0x00187322}}}, + {X: Field{[10]uint32{0x01e9d6d4, 0x01629b95, 0x03a76453, 0x03dcd572, 0x01a3d7df, 0x031fec20, 0x020763b5, 0x01a8db54, 0x0375e62f, 0x00191a81}}, Y: Field{[10]uint32{0x037dbbb4, 0x006807de, 0x026f7a6b, 0x011b85f1, 0x01b11000, 0x00b24dbe, 0x01b23662, 0x00299083, 0x0044e738, 0x000f94a2}}}, + {X: Field{[10]uint32{0x0055d070, 0x000c00d9, 0x007f2303, 0x00faa044, 0x01bac77f, 0x0014b69c, 0x02d7c477, 0x02f04c50, 0x01ecf3d6, 0x0010d559}}, Y: Field{[10]uint32{0x00c9f6bd, 0x027ad369, 0x02d159fa, 0x01706ba5, 0x03ab6edc, 0x027c31c3, 0x03ca8f6c, 0x023658d0, 0x009689fd, 0x0013b54a}}}, + {X: Field{[10]uint32{0x03aa8f9d, 0x029d82e4, 0x0316fff6, 0x02b000dc, 0x037a014a, 0x018171a4, 0x01f22fee, 0x01512a94, 0x00969328, 0x00362c06}}, Y: Field{[10]uint32{0x0206edf3, 0x03dc964e, 0x020ac989, 0x020b9318, 0x01dd4127, 0x00525ed7, 0x0160719c, 0x01e6b4db, 0x0242a2b8, 0x0018fd47}}}, + {X: Field{[10]uint32{0x023d48d7, 0x039511b5, 0x0399a21e, 0x02ed1fc1, 0x0283a30a, 0x03c60b97, 0x02f6f2b6, 0x00c14a52, 0x01504a9b, 0x002e51d6}}, Y: Field{[10]uint32{0x002fb876, 0x0241a243, 0x01018042, 0x01f0d2b8, 0x02968027, 0x038d62b5, 0x03896769, 0x0266fde6, 0x002837a8, 0x0032f1d0}}}, + {X: Field{[10]uint32{0x038e0ef0, 0x01a89c7f, 0x02f0fc3e, 0x019c6c98, 0x01d521b4, 0x0121084d, 0x0201b5e3, 0x0356fb16, 0x00492972, 0x00050c5f}}, Y: Field{[10]uint32{0x02069381, 0x02419470, 0x006cfc20, 0x027930d2, 0x01d318e7, 0x036d20f6, 0x02a476a7, 0x033f48b9, 0x0235d1ce, 0x00331348}}}, + {X: Field{[10]uint32{0x0144f8c6, 0x03753927, 0x005f8fcd, 0x01cd3a57, 0x0278c4b8, 0x0224a354, 0x0062ab33, 0x019fd13c, 0x03575b68, 0x0022ef6c}}, Y: Field{[10]uint32{0x0173a778, 0x025fccd4, 0x019fa90b, 0x028bb86d, 0x021279ec, 0x01f40398, 0x01a67e6c, 0x01015301, 0x03873242, 0x0034e34c}}}, + {X: Field{[10]uint32{0x006aa685, 0x002c643c, 0x014761ab, 0x03e53b4c, 0x03380b00, 0x0265b035, 0x0279786b, 0x02f9e024, 0x02f636ec, 0x001ddd7f}}, Y: Field{[10]uint32{0x0355407b, 0x025bafcb, 0x018e12a9, 0x014cae0c, 0x00342431, 0x02e21711, 0x0257d7fc, 0x03596773, 0x0273162d, 0x0014c54a}}}, + {X: Field{[10]uint32{0x01693b48, 0x0247030e, 0x0242ba74, 0x02955143, 0x00bc9b0e, 0x0279cbed, 0x02649502, 0x038ddef2, 0x03d139eb, 0x0036d792}}, Y: Field{[10]uint32{0x005a0abb, 0x025399b3, 0x00e62141, 0x003af6f9, 0x00416ca2, 0x00e209f7, 0x037ceb32, 0x025ab68c, 0x0113a5a7, 0x002991a0}}}, + {X: Field{[10]uint32{0x01c619eb, 0x013fc47c, 0x020fc241, 0x00c5c255, 0x016ebf06, 0x03c1a73c, 0x0011be39, 0x014b8bab, 0x03b0578c, 0x003aac15}}, Y: Field{[10]uint32{0x01023f67, 0x036d157f, 0x01f750cd, 0x03386031, 0x006fb041, 0x030b787a, 0x00e5c6c3, 0x02e2a116, 0x023fcf69, 0x00150880}}}, + {X: Field{[10]uint32{0x03f5e44c, 0x00460ff9, 0x02fe6d02, 0x00c90639, 0x02c231ba, 0x01944ccf, 0x02d43cc0, 0x035845f8, 0x00d3c657, 0x003a557f}}, Y: Field{[10]uint32{0x028e6b57, 0x008a3d20, 0x02369cfe, 0x03f2cb8d, 0x02973095, 0x0311b176, 0x014953a4, 0x00bc9c91, 0x02986521, 0x003743aa}}}, + {X: Field{[10]uint32{0x002d8e49, 0x01fe46c1, 0x027a72a0, 0x01cfabec, 0x03ec0f5e, 0x00759817, 0x011f596f, 0x03f0c30c, 0x005758ea, 0x0017d68f}}, Y: Field{[10]uint32{0x01cdf1a2, 0x00fbca97, 0x0090ccf2, 0x017a132a, 0x01c6d9f5, 0x02914dbd, 0x005a04aa, 0x02cbaa76, 0x00b01d1f, 0x0000f378}}}, + {X: Field{[10]uint32{0x00b99bab, 0x00b64902, 0x019c0757, 0x03c9ab48, 0x0049c82c, 0x0012bc46, 0x03fbd7ae, 0x03787bbf, 0x01e4ff0a, 0x003ede8c}}, Y: Field{[10]uint32{0x01df2a01, 0x00ac1fcc, 0x0345a550, 0x00b01cd8, 0x039e6910, 0x03918f75, 0x006bc4eb, 0x0395fbba, 0x020c431d, 0x003aa1ea}}}, + {X: Field{[10]uint32{0x03ae1ffb, 0x005de352, 0x02b44e41, 0x00f79ac8, 0x036ec18d, 0x020fb8e8, 0x01f8dd96, 0x01dde52e, 0x016aa3e8, 0x00355ec7}}, Y: Field{[10]uint32{0x000f62ee, 0x0235eaf7, 0x008ca73f, 0x015c08b6, 0x009fcb9e, 0x00f32ebb, 0x01adb0e4, 0x034bc027, 0x02d6b85b, 0x00095bff}}}, + {X: Field{[10]uint32{0x03b8f1a6, 0x02b15232, 0x00b5bbd6, 0x00cb1c2f, 0x030f7268, 0x020da5ec, 0x00fc90e1, 0x0128e3bc, 0x0052d3a2, 0x0024c9bf}}, Y: Field{[10]uint32{0x02889a2b, 0x01629bc4, 0x0330801a, 0x03095355, 0x00d7d766, 0x0267ebea, 0x01176f5c, 0x00afab48, 0x00a0cc0a, 0x00218ef4}}}, + {X: Field{[10]uint32{0x013caff4, 0x01e6d2ea, 0x036da360, 0x0354c4fb, 0x03d5d310, 0x0082b421, 0x0217e946, 0x02d7995d, 0x00d5abc9, 0x00160d8b}}, Y: Field{[10]uint32{0x022fc52f, 0x012350bd, 0x021c03da, 0x03cf098b, 0x03d6923c, 0x0390c88c, 0x03b673b2, 0x02ef635c, 0x00044e86, 0x00017ca9}}}, + {X: Field{[10]uint32{0x001738ee, 0x03f3a061, 0x03681034, 0x01a5fa68, 0x01b8c4cd, 0x02cc6358, 0x001b3a96, 0x039a3c38, 0x00b9cd06, 0x001f7522}}, Y: Field{[10]uint32{0x019782cf, 0x0267af82, 0x0010f34a, 0x03414998, 0x00d963de, 0x00f4a4a8, 0x0370846a, 0x03225f2d, 0x01ed0130, 0x003f5ea9}}}, + {X: Field{[10]uint32{0x00fe798d, 0x01419003, 0x0061df95, 0x0091aea0, 0x011fa2a3, 0x00ed05c1, 0x030d7d5a, 0x005550cc, 0x0302524c, 0x0026fde2}}, Y: Field{[10]uint32{0x00cf5a83, 0x009d5224, 0x00f48104, 0x0215da59, 0x00c7d063, 0x02d08672, 0x01d5a703, 0x01a0075e, 0x03d66d2e, 0x00167d4d}}}, + {X: Field{[10]uint32{0x02b3fc47, 0x00f70d83, 0x03c39366, 0x02dbbbaf, 0x00e71513, 0x02ef5b47, 0x01b4f879, 0x03572c63, 0x0173743a, 0x0013205a}}, Y: Field{[10]uint32{0x0141105f, 0x010b6243, 0x00254ab1, 0x03af545b, 0x0044c6f8, 0x0003e594, 0x033ef09f, 0x025002a4, 0x02ac37a4, 0x00069b71}}}, + {X: Field{[10]uint32{0x01051be8, 0x00715bec, 0x031a835c, 0x0169fc00, 0x00173f4e, 0x003ce89b, 0x02964084, 0x018d0d64, 0x03c2c748, 0x001818da}}, Y: Field{[10]uint32{0x03e88e8b, 0x03763d76, 0x01b08541, 0x01adf3e0, 0x020efc2e, 0x0346f95b, 0x024190b0, 0x00af25c2, 0x037a3aed, 0x001c69e2}}}, + {X: Field{[10]uint32{0x03f8d00a, 0x01e83cc1, 0x00a2f004, 0x00dd0329, 0x03122115, 0x03579b34, 0x0263fc94, 0x0029c1b1, 0x02dec3e9, 0x0029b9dc}}, Y: Field{[10]uint32{0x00eed520, 0x029f1cf4, 0x032ca76b, 0x00875e30, 0x00f10902, 0x002a87ae, 0x02175a81, 0x01c60529, 0x021f5c72, 0x00096e3f}}}, + {X: Field{[10]uint32{0x00b89262, 0x00c9395f, 0x026c9019, 0x004c598c, 0x031692f6, 0x02a2feeb, 0x03b4b2aa, 0x01c857ea, 0x013c6030, 0x001e7199}}, Y: Field{[10]uint32{0x02197bcb, 0x039fb4b4, 0x028f8db1, 0x00f08138, 0x03c24eaa, 0x0025572f, 0x0379da4c, 0x02525b8a, 0x0112b6b4, 0x000db57b}}}, + {X: Field{[10]uint32{0x0246cb15, 0x02a151b5, 0x0242ed4b, 0x013aaaf6, 0x034a2bdb, 0x03911530, 0x0374af4c, 0x03eb7b51, 0x032e4530, 0x000fd55a}}, Y: Field{[10]uint32{0x00fd25c3, 0x00a4e27b, 0x039e0588, 0x0360e5f3, 0x02c9fd04, 0x01717138, 0x028996bf, 0x010cc4ef, 0x03211ce8, 0x002eac74}}}, + {X: Field{[10]uint32{0x03b3913a, 0x009cedcf, 0x01dd93b7, 0x00abce18, 0x02d645c5, 0x03dcc7f8, 0x011e0fbc, 0x03fa7d78, 0x02238d21, 0x003b6966}}, Y: Field{[10]uint32{0x012bbfee, 0x006e6a1c, 0x02562416, 0x015d032c, 0x03d3cea8, 0x01d6dfad, 0x0029c06d, 0x0082e0b3, 0x03014ba3, 0x0008bc8b}}}, + {X: Field{[10]uint32{0x01e68548, 0x02909e5f, 0x02cb0c42, 0x00aea7d8, 0x033a2bea, 0x01c753c0, 0x0158adf0, 0x03ed3cda, 0x0277323d, 0x0001e87a}}, Y: Field{[10]uint32{0x024825a0, 0x030fc809, 0x01940f6c, 0x0147dbd0, 0x006d2d7f, 0x00984c63, 0x036f9766, 0x00ad7689, 0x0225ee7a, 0x001219b3}}}, + {X: Field{[10]uint32{0x0323de2a, 0x0330f668, 0x00178a0e, 0x023d8b57, 0x0233d102, 0x02421db8, 0x027c51d5, 0x035b42eb, 0x013aad62, 0x0002b43f}}, Y: Field{[10]uint32{0x003b0601, 0x0100e082, 0x02787a6d, 0x01f7b660, 0x01d16315, 0x01e4b5d8, 0x034a64eb, 0x011a7d53, 0x00c59672, 0x00223809}}}, + {X: Field{[10]uint32{0x002729d3, 0x001b3718, 0x00dfd207, 0x01c6358d, 0x03ee7437, 0x02e12972, 0x016e9d67, 0x0129a55b, 0x0032f404, 0x0006fc65}}, Y: Field{[10]uint32{0x00516aa9, 0x00710c1f, 0x0292263d, 0x0270fe93, 0x034f2acd, 0x01b0dfa6, 0x02f8e3e1, 0x028681d7, 0x0200afb6, 0x0010452c}}}, + {X: Field{[10]uint32{0x0121d93b, 0x008130b8, 0x019afc35, 0x017c4b48, 0x012fb1af, 0x0002da53, 0x023b9d5f, 0x036bea2f, 0x02f20bc2, 0x00145185}}, Y: Field{[10]uint32{0x022eaf9c, 0x01cb33e4, 0x0058a740, 0x02dc1140, 0x0257ba8e, 0x0196b6fc, 0x03f4e0a0, 0x00a673d9, 0x0253608a, 0x000f973b}}}, + {X: Field{[10]uint32{0x0121a661, 0x000b685a, 0x01a1c3b0, 0x00c1aa38, 0x00fdc423, 0x033fcd39, 0x0321d181, 0x03b4c64d, 0x00e85338, 0x00238ffb}}, Y: Field{[10]uint32{0x00f686d2, 0x01993e08, 0x03b2e077, 0x010e2ccc, 0x03128945, 0x032b267b, 0x02dfc249, 0x0121ad9d, 0x034b6736, 0x002c255c}}}, + {X: Field{[10]uint32{0x03ad4447, 0x0350e329, 0x03355916, 0x02682b98, 0x016db1eb, 0x0362882e, 0x00421867, 0x007b4a4a, 0x0020df10, 0x0011b01a}}, Y: Field{[10]uint32{0x01f1afa9, 0x031eaf37, 0x0226f9ac, 0x01606f3f, 0x01d7d439, 0x0051ed4d, 0x00d1b601, 0x02dcff12, 0x00f4059b, 0x003f2a84}}}, + {X: Field{[10]uint32{0x03722b31, 0x031f6ff3, 0x02dba0fe, 0x01a470bb, 0x013fff8c, 0x02cdebdc, 0x001e406a, 0x00e42ac0, 0x01f71f9b, 0x00158cd3}}, Y: Field{[10]uint32{0x026707dc, 0x01082f1c, 0x006904af, 0x031011d1, 0x038a3724, 0x01269b24, 0x03c4b0bf, 0x03055a9c, 0x0394340d, 0x0008b410}}}, + {X: Field{[10]uint32{0x00a67c4f, 0x020998c3, 0x03d37cb8, 0x03e86d72, 0x03b2fd55, 0x03294b48, 0x03e3dc97, 0x017e3276, 0x006d8904, 0x00080b89}}, Y: Field{[10]uint32{0x017a62b1, 0x039ec828, 0x033659a2, 0x038d44f2, 0x027a6241, 0x0116201c, 0x01f661ec, 0x03c08c72, 0x03899cbc, 0x003d39b3}}}, + {X: Field{[10]uint32{0x039bd4d5, 0x008e7a66, 0x0009dece, 0x01735979, 0x03c56b63, 0x00d54bbf, 0x03c1ff94, 0x0070b3d6, 0x02e01021, 0x00320153}}, Y: Field{[10]uint32{0x03f31057, 0x008a09c5, 0x0046b46e, 0x034419e3, 0x010bf1eb, 0x02e152c1, 0x02842b43, 0x0072f379, 0x01af5160, 0x003d4145}}}, + {X: Field{[10]uint32{0x00438383, 0x00954e05, 0x004f51c6, 0x02b95be6, 0x01ea3282, 0x02e5c068, 0x01407084, 0x02d86b4a, 0x008c235e, 0x00270a5e}}, Y: Field{[10]uint32{0x0359ead7, 0x01c3b125, 0x0286c2ab, 0x010a6774, 0x00c116cc, 0x02b4c38c, 0x02469db4, 0x03bcb88d, 0x02ecefdb, 0x000c8447}}}, + {X: Field{[10]uint32{0x01a57ef8, 0x005d1706, 0x009e74bc, 0x008cd9d4, 0x02729990, 0x02530f35, 0x028dc86f, 0x030e51c1, 0x00d0b7b5, 0x0016153a}}, Y: Field{[10]uint32{0x023eb98d, 0x02dd72e9, 0x005f2345, 0x001505f5, 0x00edafec, 0x03834b4f, 0x00c41134, 0x02faf7d4, 0x01c50c06, 0x001f9e40}}}, + {X: Field{[10]uint32{0x033fef34, 0x03ea247d, 0x010b74d0, 0x03767239, 0x011104a5, 0x0151e913, 0x0046e1b3, 0x039e2681, 0x03f0f45b, 0x0022ecbf}}, Y: Field{[10]uint32{0x03b182c1, 0x02a45cdc, 0x03a7935d, 0x037dc888, 0x03efb979, 0x00e0fdd9, 0x0171e2bc, 0x00fa99b1, 0x0365a534, 0x0030ccb8}}}, + {X: Field{[10]uint32{0x00cd209e, 0x022d5863, 0x033c45ad, 0x015b71cc, 0x02992f56, 0x02d90f36, 0x0165faac, 0x00ce1e18, 0x02656ee4, 0x0003aa23}}, Y: Field{[10]uint32{0x01f0f909, 0x02a0e897, 0x006f1fd0, 0x012a10e6, 0x02af9f4f, 0x0115c971, 0x03357ab8, 0x00d0f62a, 0x00d64a7a, 0x0030e310}}}, + {X: Field{[10]uint32{0x0046295a, 0x0075aa51, 0x01ff6698, 0x02e33236, 0x02a3b18a, 0x00352e8a, 0x0322c2ee, 0x01fa984c, 0x00df857c, 0x00303075}}, Y: Field{[10]uint32{0x0172b981, 0x00bf8167, 0x02918729, 0x0123aede, 0x029a2846, 0x0326f91a, 0x02ae1dbe, 0x03bdf739, 0x01d10e8e, 0x00091c45}}}, + {X: Field{[10]uint32{0x007fc72a, 0x0380a33b, 0x0265db74, 0x0049e4ae, 0x0267b8e2, 0x02dc8faf, 0x0008d8dd, 0x00d800aa, 0x00f9407d, 0x002479a9}}, Y: Field{[10]uint32{0x005721ba, 0x0394104f, 0x0299547e, 0x02ed1e92, 0x0212e57d, 0x00841b82, 0x00e98f7b, 0x022fa173, 0x016035f5, 0x003bdab9}}}, + {X: Field{[10]uint32{0x03208454, 0x0253823e, 0x03078187, 0x000b8873, 0x0224a7a4, 0x020340d9, 0x015cf613, 0x0074d8a6, 0x02189a8c, 0x00335d25}}, Y: Field{[10]uint32{0x03af0bd9, 0x00b17b72, 0x024f6ba0, 0x00bc748e, 0x022dd6ba, 0x022bf2ae, 0x03debcf8, 0x03e44a80, 0x02be15d1, 0x003cf724}}}, + {X: Field{[10]uint32{0x02943018, 0x01d4bfe0, 0x015e9f71, 0x0196bc28, 0x0285f630, 0x013ac929, 0x004f3fa4, 0x0239c30c, 0x012d02e6, 0x00267d74}}, Y: Field{[10]uint32{0x020b8a9e, 0x01a37076, 0x01dfb611, 0x020091b5, 0x01dff9f9, 0x0028a5ec, 0x03962c9c, 0x02fccda3, 0x021ad97e, 0x00167c64}}}, + {X: Field{[10]uint32{0x01f7608f, 0x03580aee, 0x02dff7b3, 0x036e77ae, 0x01a6ac02, 0x01745c64, 0x0256b1e7, 0x01c25845, 0x0130f9c0, 0x0018f1b3}}, Y: Field{[10]uint32{0x021083f0, 0x00fffbd1, 0x017234b7, 0x03d03b9c, 0x006d8b1e, 0x02add6f9, 0x025f0a13, 0x006e3f83, 0x037370a4, 0x000b90e4}}}, + {X: Field{[10]uint32{0x01184d92, 0x0357a5d7, 0x01e9394c, 0x011c602c, 0x019e04fe, 0x01f9b06c, 0x037fc551, 0x03a84766, 0x032690a5, 0x002dd01f}}, Y: Field{[10]uint32{0x013de6d2, 0x0233df54, 0x0301aaed, 0x0200f835, 0x03828ee8, 0x0299e5b9, 0x020f7277, 0x012611d0, 0x012947dd, 0x0006e54e}}}, + {X: Field{[10]uint32{0x0383fd40, 0x03e69b78, 0x02297150, 0x023761ad, 0x02c29ce4, 0x01e94015, 0x0121e962, 0x02210375, 0x0116161c, 0x000925e4}}, Y: Field{[10]uint32{0x00b9a70b, 0x03826c0a, 0x03649143, 0x010fdee8, 0x0076f999, 0x03ec5992, 0x00d3e325, 0x0273dce1, 0x01ab3dd6, 0x0004f75c}}}, + {X: Field{[10]uint32{0x01d73b7d, 0x037a3dfe, 0x0196b6f2, 0x00651943, 0x030b4199, 0x03210542, 0x016c80d4, 0x02c9e219, 0x02c36122, 0x003c426d}}, Y: Field{[10]uint32{0x011c96ac, 0x03ab575e, 0x01c77142, 0x01ad284f, 0x01bd971f, 0x02525be1, 0x0291d4a3, 0x03553702, 0x0369bef8, 0x0029d15c}}}, + {X: Field{[10]uint32{0x01118df9, 0x038edb5a, 0x015169f0, 0x000289ad, 0x0136be99, 0x03ef42b0, 0x017c9297, 0x030dc13c, 0x03f82031, 0x00166cc0}}, Y: Field{[10]uint32{0x03d678c3, 0x0197af4b, 0x01e02d6c, 0x01b431a5, 0x01983030, 0x00d41a30, 0x008c936b, 0x009c696b, 0x00dd1666, 0x000c31f1}}}, + {X: Field{[10]uint32{0x0062fc52, 0x00e5d3b5, 0x02cd6602, 0x006b4afd, 0x01a67862, 0x01ee2132, 0x0254cd6c, 0x00436d2e, 0x019aeb39, 0x001989cd}}, Y: Field{[10]uint32{0x0110d487, 0x03115f6a, 0x010b2555, 0x0377a93d, 0x00feab83, 0x024de5de, 0x00867347, 0x01e29ff1, 0x01bad2de, 0x002f2f3e}}}, + {X: Field{[10]uint32{0x0151f1d9, 0x009e16b7, 0x0281e921, 0x00104610, 0x00ec7efc, 0x003a062b, 0x01d23059, 0x0141f672, 0x0180c4fb, 0x001dbf6b}}, Y: Field{[10]uint32{0x03a8c346, 0x03b376f8, 0x0119a18c, 0x0035ff27, 0x039b88b7, 0x01566156, 0x00adf7ef, 0x03cc1fcd, 0x03cc349c, 0x00332331}}}, + {X: Field{[10]uint32{0x01313330, 0x00ede478, 0x00700b98, 0x032d30a2, 0x037f2380, 0x02a6ebf6, 0x03ed9cc4, 0x03c2294b, 0x0006e99c, 0x0001e24d}}, Y: Field{[10]uint32{0x0111d149, 0x03e02bc9, 0x0007450e, 0x00ede96e, 0x00d0c2e8, 0x02f56e3b, 0x001acd3f, 0x03f96b42, 0x01af39ea, 0x003b0578}}}, + {X: Field{[10]uint32{0x038c81d5, 0x02c6e820, 0x039ff3bb, 0x033760e8, 0x01018f16, 0x003a0d3d, 0x013c229d, 0x0084cfb6, 0x02a4e8d0, 0x00031152}}, Y: Field{[10]uint32{0x03ac51f0, 0x00ecea1c, 0x01f5c67e, 0x039b7afd, 0x018af57b, 0x00a69b96, 0x00959245, 0x00e023d2, 0x01cf89c4, 0x002a6398}}}, + {X: Field{[10]uint32{0x02402880, 0x002d845c, 0x0327bf99, 0x03b8e55e, 0x0097dac1, 0x0108e404, 0x02ba8f96, 0x03048b74, 0x021ccbe5, 0x003fc2f0}}, Y: Field{[10]uint32{0x03bca50a, 0x0334e59d, 0x020da467, 0x03dc14a5, 0x01ecd634, 0x039117b0, 0x00cd5f89, 0x00860635, 0x009c1f7b, 0x00030d02}}}, + {X: Field{[10]uint32{0x0331c301, 0x00789e4d, 0x0373586f, 0x03a74fad, 0x003a0e61, 0x004ade3c, 0x0132e398, 0x0108ef60, 0x02e349a0, 0x00239121}}, Y: Field{[10]uint32{0x022053a1, 0x01ee6ca6, 0x0083ca8a, 0x02130422, 0x0116bbf0, 0x037088bb, 0x021866f4, 0x0098354b, 0x00d437cc, 0x00225ec9}}}, + {X: Field{[10]uint32{0x01c579e7, 0x03e96d13, 0x03584590, 0x01b04e11, 0x010bf7fb, 0x00d44227, 0x00a30d20, 0x0313a5ab, 0x017f84f5, 0x0013d329}}, Y: Field{[10]uint32{0x01e63a9e, 0x0094396b, 0x010b717d, 0x01d63ca3, 0x01336349, 0x0286e46a, 0x031cb1f8, 0x0155b0db, 0x03dc1691, 0x00354f6d}}}, + {X: Field{[10]uint32{0x03c203bb, 0x002ab633, 0x02423c76, 0x01bce22d, 0x0279b3a9, 0x02bb63ee, 0x00618300, 0x013ea417, 0x00b2d7a2, 0x003fa249}}, Y: Field{[10]uint32{0x00b056be, 0x033a8cb4, 0x0026a7e3, 0x02103ea3, 0x00e92c37, 0x02c5f82b, 0x0279df9c, 0x0038afd3, 0x0229c6be, 0x002f4c0f}}}, + {X: Field{[10]uint32{0x006abb5d, 0x03345371, 0x03fc5dcd, 0x028cc83c, 0x03008ed9, 0x014be66c, 0x005895d1, 0x031cbe1a, 0x035cf6a8, 0x000c267d}}, Y: Field{[10]uint32{0x02fc9f1c, 0x0082cba9, 0x000bc6fc, 0x0313038b, 0x0304a939, 0x02a570a9, 0x038a32c2, 0x014a7289, 0x002aec76, 0x003eed6f}}}, + {X: Field{[10]uint32{0x0072f4eb, 0x0170b727, 0x004b9741, 0x0088ab0e, 0x03432443, 0x00901727, 0x0232de01, 0x009bced9, 0x0383f841, 0x000ee4e7}}, Y: Field{[10]uint32{0x005607fb, 0x030932bc, 0x0255f1d3, 0x031fd22f, 0x01c1e602, 0x00e84e2d, 0x014cc202, 0x010e03a7, 0x0353ec45, 0x00210edc}}}, + {X: Field{[10]uint32{0x01c732d8, 0x03191b65, 0x009327b0, 0x025f5b4c, 0x00b032f1, 0x00e12a4e, 0x023cbc06, 0x038d1772, 0x02a04a50, 0x00371d41}}, Y: Field{[10]uint32{0x03d5772a, 0x0378e766, 0x039eae8d, 0x013ad88f, 0x01c6a39d, 0x0345bd0f, 0x039559a3, 0x02758a67, 0x0311f6d4, 0x003fa508}}}, + {X: Field{[10]uint32{0x03b30dea, 0x03483aa0, 0x01433f84, 0x03ed2af2, 0x003dde68, 0x01c875d7, 0x02fb61a2, 0x01a8d45c, 0x0196c699, 0x003d6931}}, Y: Field{[10]uint32{0x01f26572, 0x01a02ee7, 0x018e35ae, 0x00c3bdf7, 0x02fd783b, 0x034c2e58, 0x02ef9220, 0x03d8eeec, 0x013e77d2, 0x0005d783}}}, + {X: Field{[10]uint32{0x02a4029e, 0x02f87e6b, 0x03133cb9, 0x01a4098b, 0x01373c2f, 0x03de7d2c, 0x01222ae2, 0x00127f97, 0x00e2c499, 0x001fa40e}}, Y: Field{[10]uint32{0x0025c737, 0x01bccae0, 0x03dfe714, 0x012c888e, 0x031d7dc6, 0x015428d8, 0x00162766, 0x00d6f038, 0x026a3433, 0x000d64b9}}}, + {X: Field{[10]uint32{0x022b1f41, 0x01227ffd, 0x0050f0af, 0x00eb6482, 0x02e2cb80, 0x03e643ad, 0x0028e921, 0x03f1bf5b, 0x0373d16b, 0x00203c8b}}, Y: Field{[10]uint32{0x03503b28, 0x02f5df9e, 0x02d682a1, 0x00471c9b, 0x00370e67, 0x0133d360, 0x03e11fd2, 0x01d2f01c, 0x01d3c5ee, 0x0021c529}}}, + {X: Field{[10]uint32{0x020c897d, 0x021efebf, 0x03535fc8, 0x001f6748, 0x03007c31, 0x02e5bf82, 0x0070a58a, 0x014fe10d, 0x02e9e86e, 0x0012628a}}, Y: Field{[10]uint32{0x0001bb53, 0x033b4e99, 0x0209ec3c, 0x02754ee1, 0x037ec380, 0x02acc207, 0x020f6516, 0x01078509, 0x02b373e8, 0x0011eaa7}}}, + {X: Field{[10]uint32{0x033a010e, 0x0377cc0e, 0x03b6d960, 0x026a009d, 0x028e9c06, 0x029e31d1, 0x012c5427, 0x03861329, 0x024cd14c, 0x001806bd}}, Y: Field{[10]uint32{0x02b7fa18, 0x00734833, 0x00d59916, 0x026c00ef, 0x0156dd57, 0x00b21fbd, 0x0346c273, 0x01db4046, 0x023fca15, 0x000a4029}}}, + {X: Field{[10]uint32{0x0174a25b, 0x00d07fcb, 0x019849a1, 0x03c41775, 0x03957f2b, 0x008aa9a0, 0x018b06a8, 0x032f12b5, 0x00f07b2f, 0x0023ecb8}}, Y: Field{[10]uint32{0x01070aa4, 0x01a32d1d, 0x016e6b7c, 0x032427db, 0x0306137d, 0x0357e0ab, 0x03386f75, 0x01f3aac6, 0x03508d79, 0x001f3608}}}, + {X: Field{[10]uint32{0x0269e6d9, 0x03962bda, 0x0282c9bd, 0x02bebbcc, 0x0083468e, 0x01cb18ef, 0x01a14980, 0x0053a2d5, 0x000f0e9d, 0x000cdb5e}}, Y: Field{[10]uint32{0x023d2261, 0x008c8529, 0x00fb00b7, 0x01e7d3f8, 0x02ac3e66, 0x03f4061e, 0x02eba682, 0x02fb9ae3, 0x0004be45, 0x00024b44}}}, + {X: Field{[10]uint32{0x00d5872d, 0x011fbea4, 0x021a5e4e, 0x000f338f, 0x02b06343, 0x02c0eaba, 0x00d2cbdf, 0x021c113e, 0x0321f4d5, 0x00141eb1}}, Y: Field{[10]uint32{0x007174d9, 0x0348b20c, 0x02f0e917, 0x0254e72a, 0x009ba53c, 0x01ee0f58, 0x00550939, 0x00175e84, 0x018de7db, 0x002e268e}}}, + {X: Field{[10]uint32{0x033ba343, 0x01a22a51, 0x009a046e, 0x0132fa86, 0x00992c60, 0x019b004b, 0x0171026f, 0x03ee58a4, 0x02c13bb7, 0x00310b73}}, Y: Field{[10]uint32{0x014f7bb5, 0x007380b9, 0x0064be3c, 0x03b00d4d, 0x018fe010, 0x0104e4a7, 0x021bfe7c, 0x008f2e80, 0x0331a532, 0x0022a8dd}}}, + {X: Field{[10]uint32{0x02866a2c, 0x010651ca, 0x00417d9f, 0x02d9400e, 0x00857eed, 0x03144212, 0x026b5c45, 0x024e8b57, 0x02c3cd60, 0x002c0ba8}}, Y: Field{[10]uint32{0x03a5527c, 0x027049cb, 0x01bf86ac, 0x03a31d69, 0x03ed1d8e, 0x033f3a4e, 0x037c5058, 0x0243186e, 0x0050cea1, 0x003aed17}}}, + {X: Field{[10]uint32{0x0370d84b, 0x005f117b, 0x02db151e, 0x010566df, 0x0185626d, 0x03aad0ed, 0x03dc2c9a, 0x03b4b89c, 0x03d29f20, 0x003d3464}}, Y: Field{[10]uint32{0x02dd0974, 0x03946586, 0x027e7280, 0x01b1847a, 0x0101f84b, 0x0133695e, 0x013f8cf1, 0x00d28b12, 0x023f19b8, 0x002f6866}}}, + {X: Field{[10]uint32{0x025f1bb0, 0x01fed93f, 0x02857eef, 0x02ec7fdb, 0x03cc84f6, 0x0340c0b4, 0x0059b9e4, 0x0318add6, 0x00eb19ea, 0x0021d037}}, Y: Field{[10]uint32{0x03c6ca49, 0x023eda39, 0x01d1b1d9, 0x03780522, 0x00f2f151, 0x03ad4887, 0x01d5b6e7, 0x008168b8, 0x02b04783, 0x00029ca7}}}, + {X: Field{[10]uint32{0x00fcc9cb, 0x017a88e1, 0x03f6c92a, 0x0098da4e, 0x0050aec6, 0x011273a2, 0x010bc940, 0x027c2364, 0x024a85a2, 0x001e7b11}}, Y: Field{[10]uint32{0x02f53b39, 0x039a3a83, 0x03a2cd44, 0x01131896, 0x03a1d7c5, 0x0216aeb8, 0x02d476d0, 0x0342ca6a, 0x00f5b52e, 0x001df45c}}}, + {X: Field{[10]uint32{0x0207fceb, 0x03bf338c, 0x01238847, 0x03011622, 0x006fb3aa, 0x0157abf5, 0x000e29b2, 0x02edc72f, 0x00d5dd54, 0x0013c406}}, Y: Field{[10]uint32{0x03e7dd8c, 0x00bd938e, 0x0222224a, 0x0364b505, 0x03a64531, 0x01c7ef8e, 0x029b2a02, 0x030b9dce, 0x01e5d23c, 0x0030ca06}}}, + {X: Field{[10]uint32{0x03e969a1, 0x00181efe, 0x00eb033a, 0x02ae05e0, 0x00e53768, 0x032a1735, 0x0325de68, 0x03a17f76, 0x01362094, 0x0037efc6}}, Y: Field{[10]uint32{0x0380e563, 0x025f876b, 0x0067193d, 0x02eb82df, 0x00a2ca3a, 0x00cb7af3, 0x005f1e49, 0x00870cab, 0x035933ba, 0x00097a82}}}, + {X: Field{[10]uint32{0x01226649, 0x02ed06a1, 0x034f9b67, 0x01c41505, 0x010940a3, 0x02184912, 0x01805f10, 0x01a20cb0, 0x02c002c3, 0x00061319}}, Y: Field{[10]uint32{0x00662eaf, 0x03fb1f7e, 0x03487ec4, 0x016ea442, 0x00736f81, 0x03814c39, 0x034a24c1, 0x031e453e, 0x0244f1cf, 0x0033d8ff}}}, + {X: Field{[10]uint32{0x03043686, 0x01043d43, 0x022e0a0f, 0x0027d40c, 0x03ede9de, 0x02090b90, 0x01a8a51a, 0x03813b8e, 0x0206d386, 0x0036aacd}}, Y: Field{[10]uint32{0x0011718a, 0x01dc63b5, 0x015e5dbb, 0x0208ea75, 0x00fbb2b6, 0x03a3dba3, 0x010d0ac4, 0x01f441bf, 0x01c40ebe, 0x000302e8}}}, + {X: Field{[10]uint32{0x0204530f, 0x0330ce5f, 0x00dfa89d, 0x0059a408, 0x0026b0e2, 0x021234cd, 0x00219d1f, 0x03c94ae8, 0x034a5311, 0x0002a21f}}, Y: Field{[10]uint32{0x01edeace, 0x023de7e7, 0x03195287, 0x0113bb34, 0x02a5b4fa, 0x03680773, 0x029bff3e, 0x032b1fd0, 0x00bd8c37, 0x00169f01}}}, + {X: Field{[10]uint32{0x002d207a, 0x008fd85f, 0x0158d281, 0x001eca12, 0x024784a9, 0x0216bef3, 0x01dbfd5a, 0x03ae6135, 0x0264409f, 0x0006cc55}}, Y: Field{[10]uint32{0x03a205bb, 0x02715a2a, 0x01c37311, 0x02eaa66f, 0x0384eea5, 0x0165ff55, 0x001d4634, 0x02396961, 0x007cba34, 0x000a5cb3}}}, + {X: Field{[10]uint32{0x01fe4984, 0x037e85ac, 0x00d1f019, 0x027e0bb2, 0x016727e6, 0x035fa119, 0x035de1e0, 0x00355b57, 0x03d427c3, 0x000552b7}}, Y: Field{[10]uint32{0x020372b5, 0x0265dd4f, 0x02079981, 0x0312487c, 0x03882477, 0x01fe94b7, 0x01f61baa, 0x009e7912, 0x028a324b, 0x0016ea1b}}}, + {X: Field{[10]uint32{0x00480994, 0x03b03562, 0x02f9494f, 0x027ed130, 0x02585fe8, 0x02c6bcf0, 0x00df417c, 0x03057eca, 0x01f9fe55, 0x0037af5a}}, Y: Field{[10]uint32{0x03f9708d, 0x038f35d5, 0x03c9ef8d, 0x03fe4d17, 0x03002564, 0x03f3d85a, 0x031b8314, 0x01b493a2, 0x002155c1, 0x00263633}}}, + {X: Field{[10]uint32{0x03baf9e2, 0x01124abb, 0x0066b71d, 0x00f7edcb, 0x01e0316c, 0x01563119, 0x0055fc09, 0x0153e68a, 0x00902a7c, 0x0027f34d}}, Y: Field{[10]uint32{0x03f5d14c, 0x029a47fd, 0x00be51cf, 0x03a09926, 0x03143e1d, 0x0356ae99, 0x029e49c8, 0x02905a27, 0x0160c2b5, 0x0029eb10}}}, + {X: Field{[10]uint32{0x0143a727, 0x02fe9ce2, 0x019bbfda, 0x024bbb83, 0x00586fd7, 0x03cf79f8, 0x00fb1d2d, 0x02ba6566, 0x01f6fe4b, 0x001672b3}}, Y: Field{[10]uint32{0x020df035, 0x0348d045, 0x01acfed8, 0x031034de, 0x03624599, 0x02471213, 0x00d349e1, 0x02b45b1d, 0x01347b3e, 0x001f1cc3}}}, + {X: Field{[10]uint32{0x03fb226c, 0x008bfb01, 0x00821677, 0x01cd01ea, 0x0134e6b3, 0x012b398d, 0x03a4c9ec, 0x00765f6c, 0x03d1fb29, 0x0017386a}}, Y: Field{[10]uint32{0x023b7526, 0x0037a3c0, 0x01d3f763, 0x01bc149d, 0x030a39de, 0x03fdea06, 0x02110255, 0x0025cf62, 0x0234b407, 0x002af091}}}, + {X: Field{[10]uint32{0x0207d73c, 0x02c6a8c0, 0x01baf3af, 0x03433856, 0x01e70897, 0x02cc053d, 0x02680015, 0x002d3dbb, 0x028ebd0a, 0x003de0d8}}, Y: Field{[10]uint32{0x0039af61, 0x027e0273, 0x031df284, 0x03ee0ecb, 0x026c7a6e, 0x03d7efcc, 0x0268b6b1, 0x02e23252, 0x00fd5b96, 0x0034190e}}}, + {X: Field{[10]uint32{0x037ba0b3, 0x01659614, 0x0200c6c1, 0x011dcbaf, 0x029a988d, 0x011074ba, 0x007130db, 0x00a7b8d7, 0x02bccc72, 0x001e0c3e}}, Y: Field{[10]uint32{0x0338fa7f, 0x02aab746, 0x0157e835, 0x02249fcb, 0x0378acc8, 0x0200e8cf, 0x01c901fa, 0x0345e0f5, 0x018e6aea, 0x00127a2d}}}, + {X: Field{[10]uint32{0x03cba9e1, 0x014bead7, 0x03482062, 0x01270a3d, 0x006416d5, 0x03e692a4, 0x024399ee, 0x004a1886, 0x010ea890, 0x00324c0e}}, Y: Field{[10]uint32{0x0161cfce, 0x00443bec, 0x0019704d, 0x01f36aac, 0x023bab13, 0x0052d2f2, 0x014e8fdd, 0x0062883d, 0x03da3d06, 0x003e83a1}}}, + {X: Field{[10]uint32{0x029cd28a, 0x0308f736, 0x018b52d0, 0x02c2979d, 0x03ba0924, 0x017c03b0, 0x0149876e, 0x00645dbe, 0x00672057, 0x000a836a}}, Y: Field{[10]uint32{0x00907647, 0x0342fc3f, 0x01dd1975, 0x007b3413, 0x0390c1fa, 0x01b7c473, 0x01b4870f, 0x00256565, 0x00fc6935, 0x0025b341}}}, + {X: Field{[10]uint32{0x0046fc83, 0x00dd2cc5, 0x01c53256, 0x033b7072, 0x00f2bef6, 0x00e5a389, 0x036e92e0, 0x01606bd5, 0x01e260da, 0x003d9220}}, Y: Field{[10]uint32{0x027c8b94, 0x02dcbd43, 0x01ac3863, 0x0027e28b, 0x022aacec, 0x01247e95, 0x02f833db, 0x019fd10f, 0x005b660b, 0x002022a5}}}, + {X: Field{[10]uint32{0x0381f052, 0x005fe66a, 0x00341330, 0x02205597, 0x00c181e4, 0x00243c78, 0x03cea175, 0x017c34e8, 0x013305ec, 0x0025c2f6}}, Y: Field{[10]uint32{0x02e9fc48, 0x0050c7c6, 0x00a796ca, 0x036ce519, 0x038eb30b, 0x01730066, 0x03b6658d, 0x01dd2bf2, 0x030fe284, 0x00134749}}}, + {X: Field{[10]uint32{0x00c4779a, 0x0056f3b9, 0x03073354, 0x021824a0, 0x032c0588, 0x0172b465, 0x023ecfdf, 0x01507d1c, 0x033124c4, 0x0037fa52}}, Y: Field{[10]uint32{0x0140e23b, 0x0169eae5, 0x00b1c185, 0x03da2c65, 0x01d047af, 0x034d00f1, 0x03afe8c5, 0x0181aa83, 0x0253d547, 0x00330a0f}}}, + {X: Field{[10]uint32{0x018df800, 0x00e8e7a1, 0x007e3bf3, 0x03463dc1, 0x0216c8bd, 0x021cdf43, 0x0230bbad, 0x0396523e, 0x0379673a, 0x003c604c}}, Y: Field{[10]uint32{0x007d294a, 0x011102ea, 0x015d2ed5, 0x03630921, 0x0220bfb9, 0x002d347c, 0x0008d50d, 0x00b6fe6c, 0x01a6139a, 0x002b34b0}}}, + {X: Field{[10]uint32{0x01423740, 0x001810db, 0x00f3ec21, 0x025e70da, 0x008890ec, 0x03036c32, 0x0192bd01, 0x006f7d44, 0x0156fb63, 0x003d3ef0}}, Y: Field{[10]uint32{0x03b7149f, 0x02409b07, 0x03f4b4f6, 0x00eb7d21, 0x039cfccd, 0x0061d2eb, 0x01faf91e, 0x037bfd0c, 0x00f05b07, 0x000f2c23}}}, + {X: Field{[10]uint32{0x0393de6d, 0x00893881, 0x01bbed36, 0x0179d150, 0x00cb9267, 0x033116a0, 0x03a9a725, 0x0275c929, 0x00e83b07, 0x00049369}}, Y: Field{[10]uint32{0x008d00e7, 0x02d26195, 0x01e6ac6f, 0x00c7a819, 0x001cd155, 0x029d6555, 0x02200fb2, 0x0032e935, 0x0066f12e, 0x000f9c00}}}, + {X: Field{[10]uint32{0x038d1138, 0x033a586d, 0x00c16428, 0x00b40ab2, 0x006c2b11, 0x019ae5f4, 0x02045bb2, 0x01e09877, 0x01c4455e, 0x001d25c8}}, Y: Field{[10]uint32{0x015a3032, 0x01567f01, 0x03b87086, 0x0250e7c1, 0x01025bc5, 0x00cc9b1f, 0x015b237d, 0x00c70bfa, 0x02eda3f3, 0x0009d55a}}}, + {X: Field{[10]uint32{0x0227a028, 0x026a46dd, 0x00e979ff, 0x02eff531, 0x00257676, 0x0143efd6, 0x0060dfed, 0x023d5487, 0x02490aa5, 0x0018b372}}, Y: Field{[10]uint32{0x015c37b5, 0x03b58156, 0x00fbbd10, 0x02229c52, 0x0317c4a6, 0x03d0cfa3, 0x021528b4, 0x0043a9fb, 0x039ae16d, 0x0022f526}}}, + {X: Field{[10]uint32{0x006478c6, 0x01692c5a, 0x01344789, 0x03a205d6, 0x011cd3a1, 0x03b4592c, 0x013b2275, 0x00ea985b, 0x00f139b1, 0x00193594}}, Y: Field{[10]uint32{0x01fa5c2f, 0x00f61fcf, 0x03a426b8, 0x0195ee56, 0x02f9e2a0, 0x02590d00, 0x039595b7, 0x00b61fcc, 0x012af757, 0x0037bbb9}}}, + {X: Field{[10]uint32{0x009ab59d, 0x0327d280, 0x0365a1ec, 0x017b6c00, 0x0237cb93, 0x02149b7d, 0x017c17cd, 0x00dbbcd0, 0x025566c6, 0x0034228f}}, Y: Field{[10]uint32{0x000dc103, 0x02b91889, 0x02a549c9, 0x03f49090, 0x00e9ed32, 0x00e15b69, 0x00d35023, 0x0145d8ff, 0x01c75eec, 0x000b6c12}}}, + {X: Field{[10]uint32{0x00f20d89, 0x0237c38c, 0x007c6f4b, 0x020926e9, 0x02971547, 0x006166bf, 0x0220d626, 0x031426be, 0x005a35bc, 0x0021d85c}}, Y: Field{[10]uint32{0x01b726ae, 0x03c37e2b, 0x03f64436, 0x027af8b6, 0x010fd43b, 0x02011a82, 0x029c3db7, 0x02588924, 0x01eebb02, 0x002cd309}}}, + {X: Field{[10]uint32{0x006f5f85, 0x0278468f, 0x03307c4e, 0x03d038de, 0x020e35f6, 0x0139f39f, 0x02cc3175, 0x00990c51, 0x01334ce2, 0x0038d14e}}, Y: Field{[10]uint32{0x0065d97d, 0x03417075, 0x03bf700a, 0x01eccda8, 0x031afdde, 0x00aed144, 0x022a0caf, 0x0206fbfc, 0x038a941e, 0x001cfb85}}}, + {X: Field{[10]uint32{0x00ca917b, 0x00d8208d, 0x01e27fac, 0x02fe5783, 0x02246b36, 0x036ff3a3, 0x00e6f11f, 0x029f9eb2, 0x012f6609, 0x0020e246}}, Y: Field{[10]uint32{0x032b636f, 0x030de303, 0x019bec68, 0x01db94f2, 0x0267c889, 0x033ec6a8, 0x027b681c, 0x023b0a75, 0x03a55044, 0x00255c1c}}}, + {X: Field{[10]uint32{0x03c5d387, 0x0186bd30, 0x02b8de5a, 0x03ede893, 0x03bbf287, 0x025ff618, 0x0278029a, 0x03897f8b, 0x00c067bb, 0x0022ff5c}}, Y: Field{[10]uint32{0x03f952fb, 0x0251d03c, 0x031fd5d8, 0x0069bb6e, 0x008b5900, 0x03c93f3b, 0x01b1d644, 0x01973568, 0x026bee72, 0x0038b9b1}}}, + {X: Field{[10]uint32{0x02ff257d, 0x0164f839, 0x01269fdb, 0x0055a21d, 0x03eaf820, 0x02601482, 0x021582d0, 0x002ec566, 0x019aa05f, 0x00297426}}, Y: Field{[10]uint32{0x0023635a, 0x01970d31, 0x0050bf9c, 0x03469910, 0x00fe6d27, 0x00b392cd, 0x02b62b36, 0x015d999d, 0x03205ef0, 0x0038d365}}}, + {X: Field{[10]uint32{0x015043ce, 0x01eeaa97, 0x02544282, 0x02164b53, 0x01176451, 0x0227ff67, 0x03942e30, 0x03222d41, 0x01a7b949, 0x0011391e}}, Y: Field{[10]uint32{0x013a7087, 0x013b7788, 0x02e23250, 0x01deb84b, 0x01e2b10d, 0x01295c2a, 0x02714162, 0x03118ec2, 0x00298c12, 0x001ee1bb}}}, + {X: Field{[10]uint32{0x012aa558, 0x01b38f4d, 0x013c4317, 0x02355648, 0x023f37bb, 0x002af432, 0x02e0251e, 0x01e045c1, 0x0143d979, 0x001837b2}}, Y: Field{[10]uint32{0x01fcaab8, 0x0042759a, 0x03d508bc, 0x013e331b, 0x0116b076, 0x01a614cd, 0x0181448d, 0x0167db14, 0x01f4a31c, 0x000b71a2}}}, + {X: Field{[10]uint32{0x01f7709b, 0x039eacc0, 0x03b24af7, 0x027f9906, 0x00d4ab82, 0x016506e6, 0x013c5c53, 0x0127983e, 0x01385b54, 0x00172963}}, Y: Field{[10]uint32{0x017cd575, 0x019607b0, 0x03eb74d9, 0x0213574f, 0x00945d9d, 0x03ce7770, 0x00ce0907, 0x01bd2044, 0x02e980eb, 0x0020abee}}}, + {X: Field{[10]uint32{0x018b031c, 0x02641234, 0x01138100, 0x028f34ca, 0x03b9a23e, 0x01afe1b0, 0x009cf3d2, 0x0358326c, 0x027ea1b1, 0x002ddd65}}, Y: Field{[10]uint32{0x0040fef1, 0x001025c2, 0x030b7120, 0x023211bd, 0x0366f12d, 0x0373eb73, 0x01885c4a, 0x004155c3, 0x029becfa, 0x0034adc5}}}, + {X: Field{[10]uint32{0x00220f96, 0x01ade690, 0x0044e92e, 0x03047e8e, 0x03a23bc4, 0x026a8175, 0x003595fb, 0x00bd840f, 0x00f67d60, 0x001cf635}}, Y: Field{[10]uint32{0x0000ce3d, 0x015d6ac9, 0x0285d331, 0x00f55a3f, 0x00bb17fb, 0x03b3453b, 0x02185309, 0x03fb96fa, 0x022cffc9, 0x002fdc8a}}}, + {X: Field{[10]uint32{0x01182b75, 0x02c46026, 0x024d61e7, 0x01151230, 0x008b1e97, 0x0271b7c3, 0x012bcce7, 0x01e08805, 0x01f9f49f, 0x003a0413}}, Y: Field{[10]uint32{0x02137361, 0x00494fe0, 0x0102396b, 0x02087175, 0x03e14fc6, 0x03e57fee, 0x03b0da00, 0x00afac6f, 0x0139ec8f, 0x00370bf5}}}, + {X: Field{[10]uint32{0x006113e6, 0x03a65715, 0x03209e89, 0x00912403, 0x01777e55, 0x00586039, 0x01449b6d, 0x010cb238, 0x02f6fb6c, 0x003b35cb}}, Y: Field{[10]uint32{0x0226e135, 0x03593ade, 0x029e0e00, 0x00f89a04, 0x00425291, 0x00516180, 0x009f518e, 0x02ea6794, 0x015d358f, 0x00059c5c}}}, + {X: Field{[10]uint32{0x00fc36cc, 0x001c1429, 0x02455a99, 0x0041fa75, 0x01464bfe, 0x029b5f0d, 0x01fc6b5f, 0x026f45bc, 0x00cfbe82, 0x00038ed7}}, Y: Field{[10]uint32{0x028044f5, 0x01ea1f68, 0x03fa331e, 0x03c042d7, 0x02296cb5, 0x016d9c7e, 0x017a2c9b, 0x03069b78, 0x039b5471, 0x00339eae}}}, + {X: Field{[10]uint32{0x03107734, 0x0286ae49, 0x01c5ed7c, 0x013c97e2, 0x0041c1ce, 0x013af48b, 0x03e75f7f, 0x024753ad, 0x0202ffab, 0x003cd646}}, Y: Field{[10]uint32{0x00fa4b3d, 0x015f0ae5, 0x01c1018a, 0x01aef8bb, 0x03cf0474, 0x00c52eda, 0x03c7d535, 0x02e49921, 0x0211f2ba, 0x000d168b}}}, + {X: Field{[10]uint32{0x0345c635, 0x006b65f2, 0x021a6550, 0x034c89eb, 0x00c61349, 0x03f16a54, 0x01184f9f, 0x02b654df, 0x005dae54, 0x003292c1}}, Y: Field{[10]uint32{0x03c1d806, 0x01312d35, 0x00d72eaf, 0x015833a7, 0x014660f4, 0x0110747a, 0x02f3c24b, 0x02fb28d4, 0x017e255e, 0x0038c3e0}}}, + {X: Field{[10]uint32{0x0341ea38, 0x00a6ed9b, 0x02a72dfd, 0x00819d6a, 0x02300947, 0x01daa57d, 0x00ebdb7b, 0x03a987ee, 0x034054a9, 0x003df315}}, Y: Field{[10]uint32{0x02556eac, 0x00b207ac, 0x009900f5, 0x02ffd4b5, 0x03b3dd7f, 0x03811af8, 0x0275aeb5, 0x00936460, 0x018cfc54, 0x0027518f}}}, + {X: Field{[10]uint32{0x016ab6c2, 0x007dc37b, 0x029f876b, 0x03ec9eda, 0x01b4fd9b, 0x034d3a2a, 0x024bbef7, 0x038fe3b9, 0x0379fba3, 0x003dd6d7}}, Y: Field{[10]uint32{0x00a43faa, 0x00c3b024, 0x014f9d40, 0x019be168, 0x037e0e82, 0x01d159df, 0x0048e362, 0x02ddedcb, 0x00bc5c3f, 0x000882d0}}}, + {X: Field{[10]uint32{0x019cd450, 0x023e9303, 0x00fde0e8, 0x0191cd69, 0x0189d86a, 0x03428e63, 0x03d89b6a, 0x008da989, 0x03a25060, 0x000aa8d9}}, Y: Field{[10]uint32{0x0041fc32, 0x02512336, 0x038f6e82, 0x03ffa6bb, 0x021e70ec, 0x0135df61, 0x00a802bc, 0x006c69d9, 0x00250249, 0x000affb7}}}, + {X: Field{[10]uint32{0x0141620f, 0x00df0e28, 0x0325765a, 0x039ec7ac, 0x03a1078c, 0x01609ec1, 0x01a1e221, 0x00f3db9f, 0x01c11178, 0x003fdfd2}}, Y: Field{[10]uint32{0x00702733, 0x026b3d95, 0x00bead51, 0x02177d91, 0x03a488c5, 0x0049477e, 0x00a8b542, 0x00163a2f, 0x009e2e48, 0x001a5543}}}, + {X: Field{[10]uint32{0x003aa39f, 0x000a82d7, 0x016016fd, 0x02d1799e, 0x0076d017, 0x034faee4, 0x01f7338f, 0x03d3b291, 0x03581164, 0x000c7414}}, Y: Field{[10]uint32{0x0163f575, 0x03364aa6, 0x011fe6bc, 0x003b46ff, 0x03d4d3ea, 0x0387e348, 0x022fa902, 0x01ffc411, 0x019b7217, 0x003c490c}}}, + {X: Field{[10]uint32{0x026a3bd0, 0x023ed7df, 0x006eabb8, 0x034ead7c, 0x030c8a02, 0x0236a6b5, 0x00bf2f30, 0x000fb28b, 0x02ddfd12, 0x001babc3}}, Y: Field{[10]uint32{0x03e05f08, 0x0242719c, 0x016d4125, 0x01d28c56, 0x02815a0c, 0x0028ee0e, 0x00521a01, 0x0251d127, 0x01012d8e, 0x00364cdb}}}, + {X: Field{[10]uint32{0x02da1347, 0x006ea5df, 0x011b9e9a, 0x0320472e, 0x0168e759, 0x03d7ea23, 0x03943acf, 0x006adff0, 0x01197799, 0x0002e569}}, Y: Field{[10]uint32{0x01e5ef23, 0x0208afdb, 0x0287f533, 0x0054dbba, 0x029758bd, 0x0168bfe9, 0x018fbfe7, 0x0112296a, 0x035f446d, 0x00233cb2}}}, + {X: Field{[10]uint32{0x011427e8, 0x03071608, 0x02eeada6, 0x03d5ae43, 0x021fd386, 0x03a0139f, 0x031dc212, 0x03b6ebce, 0x01d48ce5, 0x001394c0}}, Y: Field{[10]uint32{0x01b9f0d9, 0x00297600, 0x016b76fb, 0x0364ddb6, 0x00dcabaa, 0x02f675a1, 0x012f684c, 0x03f6cb87, 0x003de169, 0x003d40fb}}}, + {X: Field{[10]uint32{0x00f49cd2, 0x0080cf0f, 0x017a3914, 0x0152b587, 0x02fc7c2b, 0x01270b42, 0x01f92cdc, 0x006d0dc5, 0x01e50903, 0x0013f46a}}, Y: Field{[10]uint32{0x024adcb1, 0x02169b23, 0x031602c8, 0x02fa2e1d, 0x022d99c9, 0x033bda52, 0x034b43be, 0x0196f0ea, 0x011cab01, 0x001cfb30}}}, + {X: Field{[10]uint32{0x00257c84, 0x00402648, 0x00b86745, 0x03e8ba29, 0x00384070, 0x02363eb8, 0x03b7fa4a, 0x010fe97a, 0x0065b325, 0x0019d01a}}, Y: Field{[10]uint32{0x03c62008, 0x021625ae, 0x0271f3fd, 0x0173bcf4, 0x03e829a4, 0x00c89f7d, 0x00451f5e, 0x0382e53d, 0x02d593a4, 0x000ff766}}}, + {X: Field{[10]uint32{0x006569e4, 0x024a9969, 0x01cb4e49, 0x02b46723, 0x00de7e8d, 0x036b1028, 0x03dcfa0e, 0x016f9bbc, 0x01aed6ee, 0x00052e55}}, Y: Field{[10]uint32{0x022daf70, 0x0029757e, 0x011ebed6, 0x03097aa7, 0x017d9f31, 0x0184d4f7, 0x001eff67, 0x00fe0612, 0x00b62182, 0x00352e48}}}, + {X: Field{[10]uint32{0x0339ae42, 0x0297c88c, 0x00fb722c, 0x00d318da, 0x004003e4, 0x0390bf48, 0x02a0b3ff, 0x0357eb7e, 0x03bc5608, 0x00053ca0}}, Y: Field{[10]uint32{0x02db7397, 0x015df3e7, 0x008c37c1, 0x00c0aebb, 0x03bf0ba6, 0x002a1ff6, 0x004d4bfb, 0x03f4ff19, 0x023dc3ae, 0x002c9057}}}, + {X: Field{[10]uint32{0x03bd1c1f, 0x00ce8c87, 0x03d098e7, 0x01701637, 0x005416a5, 0x03e032ea, 0x02275be7, 0x038829b9, 0x00677d3c, 0x000ff783}}, Y: Field{[10]uint32{0x02daaac6, 0x01740cc6, 0x0389a115, 0x00962498, 0x009a018b, 0x02fa87c2, 0x01782f90, 0x0064b252, 0x03dc610f, 0x0026e3bd}}}, + {X: Field{[10]uint32{0x02d17267, 0x00cca883, 0x01247df5, 0x01310776, 0x00b993bf, 0x020a4150, 0x01c74dd4, 0x00f417c5, 0x0269df5f, 0x00271579}}, Y: Field{[10]uint32{0x024979f6, 0x02d3829b, 0x00810981, 0x00c8b498, 0x018c6b3c, 0x00dd5ff0, 0x01abd783, 0x01d9945d, 0x00e930c9, 0x0008f6c3}}}, + {X: Field{[10]uint32{0x02968d16, 0x01a2a4a0, 0x02ee7d85, 0x030d2cfe, 0x02506d2d, 0x003d05d1, 0x00da60b3, 0x006835ba, 0x00dfae14, 0x0002f7a1}}, Y: Field{[10]uint32{0x02b3ab04, 0x03ce3112, 0x00dcb468, 0x03cdb0a6, 0x02900374, 0x0269b1a1, 0x024697b9, 0x01877f9c, 0x0214ff13, 0x001168cc}}}, + {X: Field{[10]uint32{0x019546a3, 0x00e76bf2, 0x030c0549, 0x021651ac, 0x01e5d970, 0x03183168, 0x0368f454, 0x030b2917, 0x014ab8f3, 0x0006500a}}, Y: Field{[10]uint32{0x00e3b81e, 0x025aed3b, 0x0386abfd, 0x009b9db8, 0x00848bc9, 0x01f186ec, 0x020ea767, 0x0318a879, 0x03993816, 0x00158fe7}}}, + {X: Field{[10]uint32{0x032ccb0e, 0x027f33ac, 0x00ad6682, 0x0358dcf3, 0x00757a34, 0x0348b60e, 0x00df92ea, 0x00f991f4, 0x01e0d0d1, 0x00375ba8}}, Y: Field{[10]uint32{0x0233c313, 0x00023c3b, 0x003fdd8e, 0x01f2a803, 0x00384b55, 0x012797fe, 0x03ad27fa, 0x03a2ca14, 0x01e36bf4, 0x0030063a}}}, + {X: Field{[10]uint32{0x037fbf19, 0x01a58596, 0x01ffec06, 0x00dd0b13, 0x00dc1047, 0x02f09ee1, 0x02656bfb, 0x01158b89, 0x03e8c784, 0x00195e11}}, Y: Field{[10]uint32{0x015f2df5, 0x03daad82, 0x001725b5, 0x02d39e69, 0x0242c6a4, 0x0292a6a2, 0x01beda90, 0x02b69240, 0x03b658b6, 0x00376437}}}, + {X: Field{[10]uint32{0x023dea6b, 0x0141acff, 0x00d3e352, 0x007ce5ae, 0x0349b8e7, 0x036de072, 0x02d26c2e, 0x0275ba41, 0x00b140be, 0x003edc09}}, Y: Field{[10]uint32{0x0308efdf, 0x03f28cba, 0x0061c5a0, 0x0014501c, 0x02fea360, 0x03746b11, 0x02d961e9, 0x008ca2da, 0x03f4e50b, 0x00379023}}}, + {X: Field{[10]uint32{0x01d8e8e0, 0x004cd434, 0x018dfa31, 0x0031268e, 0x00b3f2be, 0x034fa251, 0x0280179c, 0x02c9e74e, 0x000865a7, 0x000b4a70}}, Y: Field{[10]uint32{0x02efcf8f, 0x027648f6, 0x03ee992e, 0x0017c999, 0x0125c550, 0x02592791, 0x00027485, 0x01292996, 0x027aee70, 0x0032abc4}}}, + {X: Field{[10]uint32{0x03d5662d, 0x01f07314, 0x036326d8, 0x02269f0c, 0x02392685, 0x00f06f8e, 0x028d42ba, 0x00827d37, 0x007479b7, 0x0036da41}}, Y: Field{[10]uint32{0x03aa4e00, 0x01dddc3e, 0x0063c0b7, 0x02fca48b, 0x01c58c1f, 0x020f893a, 0x013ce32c, 0x021eaa64, 0x03e95c35, 0x002437a2}}}, + {X: Field{[10]uint32{0x0141697b, 0x011cd5b2, 0x03f0adf2, 0x021f33c4, 0x01723c70, 0x01635bf0, 0x0154ada2, 0x013c2abf, 0x006f922e, 0x00260194}}, Y: Field{[10]uint32{0x016bc237, 0x011684bc, 0x037c9252, 0x0125dec9, 0x01b97fef, 0x034c72b4, 0x0298eef3, 0x02e104dd, 0x0018a8ca, 0x00301f88}}}, + {X: Field{[10]uint32{0x00e40187, 0x02b9ebd8, 0x025eaae1, 0x03478cf4, 0x01661e0a, 0x023c5188, 0x011c1122, 0x0096b16c, 0x013fe6da, 0x002ae1a3}}, Y: Field{[10]uint32{0x00bf54ad, 0x0357c4cf, 0x001d4d47, 0x0222ef4c, 0x014b12c4, 0x015e9ff6, 0x01195ced, 0x02614068, 0x0298334a, 0x003b892d}}}, + {X: Field{[10]uint32{0x018dcda2, 0x03627bbf, 0x02f4931f, 0x019aafd9, 0x003122f3, 0x01095f8a, 0x0056be17, 0x023b9848, 0x03d19d2a, 0x0039d587}}, Y: Field{[10]uint32{0x02166d5a, 0x02a0004f, 0x0118d5a8, 0x0242281e, 0x0385bcb1, 0x0089edd6, 0x0366ea73, 0x01b63171, 0x034be365, 0x000814b9}}}, + {X: Field{[10]uint32{0x00f21e6c, 0x00b7e6fa, 0x0082083c, 0x0004e654, 0x017b562f, 0x02a1132d, 0x008f2e0f, 0x038c1ef8, 0x023d84bb, 0x0017c654}}, Y: Field{[10]uint32{0x0265d7fa, 0x039f105c, 0x02cb9d9b, 0x0109ba46, 0x00333775, 0x01c93ae2, 0x029ad2d5, 0x007778ab, 0x021628ee, 0x000ea5bf}}}, + {X: Field{[10]uint32{0x01c10cc1, 0x00df4a36, 0x03545698, 0x005c9571, 0x022fdcad, 0x015407bf, 0x022ec1dc, 0x026c4490, 0x02683c94, 0x00327e91}}, Y: Field{[10]uint32{0x03fd1dba, 0x008fb7b1, 0x03ffab5e, 0x00d1db51, 0x00b5b6e7, 0x03a380d2, 0x01dcd8d9, 0x0246b33c, 0x035d18f6, 0x0006aab9}}}, + {X: Field{[10]uint32{0x03eb8d8c, 0x02de4ec2, 0x02401b1a, 0x03505690, 0x011799b2, 0x024ee081, 0x03a084c3, 0x0061e733, 0x022a1e91, 0x00076a43}}, Y: Field{[10]uint32{0x009c0b63, 0x0134a3b2, 0x013322da, 0x03947d3f, 0x0274994e, 0x00ecff0c, 0x02cbae15, 0x0134e011, 0x006911ea, 0x000f4fdf}}}, + {X: Field{[10]uint32{0x031b3186, 0x03e26b7c, 0x029153e6, 0x026363d9, 0x03707e40, 0x02de11fd, 0x01504ac0, 0x0390c9af, 0x010f3851, 0x0031bf3c}}, Y: Field{[10]uint32{0x03a50ced, 0x029494e4, 0x00bff03e, 0x02bea726, 0x004e2705, 0x03e3b972, 0x036ea108, 0x018f61b8, 0x01f4a16a, 0x00342b22}}}, + {X: Field{[10]uint32{0x02378233, 0x035fd185, 0x02588fef, 0x01ac7e6d, 0x0003cf23, 0x00495eb8, 0x02b7d4ef, 0x0319f32d, 0x022eeb56, 0x0005415e}}, Y: Field{[10]uint32{0x004930c2, 0x012ec3f7, 0x010cf505, 0x0188be6a, 0x036f205a, 0x038f42a1, 0x01543ef5, 0x029ea312, 0x0130ccc0, 0x00136ead}}}, + {X: Field{[10]uint32{0x0308b20f, 0x039067c0, 0x01ea36d1, 0x02de300b, 0x0145bf1c, 0x001f77af, 0x027337dd, 0x02b039ba, 0x02e072d5, 0x000dfbab}}, Y: Field{[10]uint32{0x0361d506, 0x02458c3c, 0x0394aebb, 0x036efd68, 0x01a5761a, 0x00ca8e8f, 0x0077249a, 0x02a85067, 0x00965d9d, 0x002c3191}}}, + {X: Field{[10]uint32{0x0157745c, 0x009cd889, 0x03ebe61a, 0x022deb66, 0x01f1d6ce, 0x024a2f71, 0x031cd96d, 0x03438cf1, 0x03f83a8b, 0x0016881e}}, Y: Field{[10]uint32{0x00f54dad, 0x031d9998, 0x0213819e, 0x0004c8f1, 0x03ee8789, 0x015d1044, 0x01494ac1, 0x026da8a9, 0x0357fadc, 0x000eb32d}}}, + {X: Field{[10]uint32{0x03abd139, 0x034e6efe, 0x006d1642, 0x002241c1, 0x02f6b2ee, 0x0206fbed, 0x0391271e, 0x038c9568, 0x016a1a0f, 0x003f8237}}, Y: Field{[10]uint32{0x0181ef40, 0x00319380, 0x030d6c52, 0x00984de6, 0x03665d23, 0x027c8130, 0x02f1b436, 0x0208bb93, 0x02d13535, 0x0010b0d0}}}, + {X: Field{[10]uint32{0x00706111, 0x032e665e, 0x01daca39, 0x03800f47, 0x01d6d859, 0x0201132b, 0x003edcf3, 0x036ee992, 0x02c908df, 0x002df498}}, Y: Field{[10]uint32{0x00d798e8, 0x01ff91ca, 0x01689ee9, 0x0044194f, 0x0230bb4c, 0x00606d6e, 0x0007c8f5, 0x02ce5da8, 0x0350b308, 0x00258218}}}, + {X: Field{[10]uint32{0x00130c86, 0x01be008d, 0x00407683, 0x015f731e, 0x027d354b, 0x006eb7d6, 0x0297d7c0, 0x00ddd4eb, 0x032e23b3, 0x0012c4aa}}, Y: Field{[10]uint32{0x023c450e, 0x03ee3c3c, 0x005c0f52, 0x027926b9, 0x012bc964, 0x007f9605, 0x0211e73a, 0x022fd00b, 0x020d9f70, 0x00106753}}}, + {X: Field{[10]uint32{0x00e88dac, 0x00331276, 0x034f74f3, 0x02addd42, 0x008f362b, 0x02f311f1, 0x009570c8, 0x0333692d, 0x0282a96e, 0x003f1b49}}, Y: Field{[10]uint32{0x00beedbb, 0x0090eb3d, 0x0184808a, 0x03c25800, 0x000694af, 0x024165fe, 0x0322612e, 0x01160347, 0x01273026, 0x0006bd59}}}, + {X: Field{[10]uint32{0x02607e8b, 0x026d9547, 0x00f0632e, 0x0303910b, 0x025e07e6, 0x012bf6e7, 0x0342c40c, 0x03ae8151, 0x03a9a189, 0x0031ee70}}, Y: Field{[10]uint32{0x001822ab, 0x02010bfc, 0x03e30fc5, 0x02e35370, 0x02ef6b38, 0x03069517, 0x0084cd19, 0x01d36d88, 0x02772f22, 0x0016eda0}}}, + {X: Field{[10]uint32{0x00dfd956, 0x001be9d4, 0x01627034, 0x030aedbe, 0x0246c761, 0x03b50c1a, 0x02339ba3, 0x029cbca6, 0x034230de, 0x003ae934}}, Y: Field{[10]uint32{0x01237cee, 0x0172fd77, 0x0106d215, 0x02961e4d, 0x01d31b01, 0x001a1033, 0x01a17477, 0x01e2cb8f, 0x020f23d2, 0x003f385e}}}, + {X: Field{[10]uint32{0x02c04155, 0x0295a7e0, 0x02cc8944, 0x03d1b366, 0x013595dc, 0x02b7b0a1, 0x034358c6, 0x0351c4d6, 0x01c02177, 0x002934db}}, Y: Field{[10]uint32{0x01f00281, 0x00ddfd20, 0x03ad1013, 0x01770beb, 0x0365f3e4, 0x016983f7, 0x038fd0fb, 0x006f838d, 0x037963b2, 0x002168a5}}}, + {X: Field{[10]uint32{0x02109ba2, 0x002b255d, 0x00a16906, 0x02a939b5, 0x020eb165, 0x0379ceaf, 0x035bf56f, 0x03eb878f, 0x0063ae8b, 0x001245b4}}, Y: Field{[10]uint32{0x003f22ee, 0x026d3513, 0x006564ae, 0x013d9d8e, 0x003b2b0b, 0x014dadf2, 0x027a08ca, 0x010357e5, 0x03034a0b, 0x0029e459}}}, + {X: Field{[10]uint32{0x02edd046, 0x02b90483, 0x03f97ecb, 0x01e61605, 0x009de019, 0x0012ad27, 0x038f1a44, 0x0180c217, 0x0310b296, 0x001d8736}}, Y: Field{[10]uint32{0x02193db7, 0x00bce88b, 0x010cf2ee, 0x03aa376a, 0x039789f0, 0x022079fe, 0x038f50ab, 0x015175cb, 0x0320763b, 0x00074455}}}, + {X: Field{[10]uint32{0x01c64ea3, 0x03f28ae3, 0x019d2e05, 0x0053a377, 0x02860ff0, 0x0242f04f, 0x005541b4, 0x023a4b7e, 0x01704d71, 0x00035e89}}, Y: Field{[10]uint32{0x034cb90c, 0x023d0f94, 0x00acec15, 0x0216a8eb, 0x026102db, 0x02f1b7b1, 0x000e035f, 0x019d9dc7, 0x039d2134, 0x00179152}}}, + {X: Field{[10]uint32{0x014d3bbe, 0x00290fcf, 0x025dfeb2, 0x02653716, 0x020a6b9a, 0x00a5d6ef, 0x02bcb063, 0x0314aec3, 0x004f7962, 0x000abd80}}, Y: Field{[10]uint32{0x001a14f3, 0x03825776, 0x01933d91, 0x006d4c8e, 0x02be1deb, 0x01a31965, 0x0108e3eb, 0x0330540c, 0x01e226f8, 0x001a622a}}}, + {X: Field{[10]uint32{0x01504255, 0x0023d72a, 0x00959741, 0x0061d6e9, 0x03ca805d, 0x034cc613, 0x027571e5, 0x00218044, 0x00e53bab, 0x002a49d0}}, Y: Field{[10]uint32{0x02d2379f, 0x01d7adb1, 0x0244e68d, 0x0214436a, 0x0096d49c, 0x00eaa138, 0x02dfd3d0, 0x01adc419, 0x011e2eb7, 0x00177ca1}}}, + {X: Field{[10]uint32{0x00014939, 0x01fb661c, 0x02057bcc, 0x01c0341d, 0x02768567, 0x00e8323a, 0x0287c449, 0x0229ad82, 0x021a510d, 0x00243425}}, Y: Field{[10]uint32{0x00aa545d, 0x01d80eb3, 0x034d3f8d, 0x00be16d2, 0x037c13dc, 0x008e1ab4, 0x036f7a8a, 0x00c2219a, 0x013c1c91, 0x001d351d}}}, + {X: Field{[10]uint32{0x00ecd12b, 0x02f98441, 0x00ded249, 0x029b28ce, 0x038dd5c6, 0x00b8b820, 0x02bfa279, 0x029813d8, 0x03eaf2e3, 0x0003394a}}, Y: Field{[10]uint32{0x015c009e, 0x0220020b, 0x031a1a49, 0x002a3e3f, 0x03dd0867, 0x0097cf66, 0x00244449, 0x0028adf2, 0x0273738a, 0x002a1a77}}}, + {X: Field{[10]uint32{0x03cd05c4, 0x038d43fc, 0x02be7cc3, 0x0105b3c5, 0x01122154, 0x0301ab12, 0x0139a471, 0x03f34bff, 0x01c210e3, 0x002672a3}}, Y: Field{[10]uint32{0x03bc4982, 0x03925ab7, 0x02142c6c, 0x03a00244, 0x024550fb, 0x03c1c82f, 0x0326309e, 0x0370b1af, 0x0280131a, 0x001e021e}}}, + {X: Field{[10]uint32{0x0202d1c6, 0x03b18428, 0x0211ab51, 0x0285f639, 0x00cbfcc6, 0x008b7ae4, 0x03ff1f43, 0x01ef1741, 0x00c29f5a, 0x002f910b}}, Y: Field{[10]uint32{0x03c084a2, 0x01584a1d, 0x03734111, 0x00978c92, 0x02fb3d1f, 0x02b3d6ec, 0x028f2c01, 0x0364d200, 0x02c4680e, 0x0018943c}}}, + {X: Field{[10]uint32{0x00ec8e54, 0x01c2ec39, 0x00e65677, 0x03e6e3e0, 0x03e75d95, 0x006e6c53, 0x030346b5, 0x02c04084, 0x01f4037f, 0x0014fd7d}}, Y: Field{[10]uint32{0x00c62f93, 0x0331774a, 0x020f9cb1, 0x01c4ca14, 0x0224c0d5, 0x00f8b870, 0x00dd2ef2, 0x00cfd6a8, 0x0353c6e7, 0x0023694a}}}, + {X: Field{[10]uint32{0x008c4d6c, 0x039b6a97, 0x0155411d, 0x006461bb, 0x02a897ab, 0x00d295bd, 0x0399e3a1, 0x03affdf5, 0x01650e90, 0x00081b39}}, Y: Field{[10]uint32{0x02a75804, 0x02a6a5a9, 0x006754dc, 0x00f0e2b8, 0x00aaa5d5, 0x01e754c8, 0x03ec5c2e, 0x01b729f7, 0x0122bd2d, 0x0030bfd7}}}, + {X: Field{[10]uint32{0x0073f443, 0x037cab1c, 0x03744faa, 0x0083308f, 0x0002176a, 0x009b4ad5, 0x01f2a727, 0x00beae04, 0x03bb87ee, 0x0034772f}}, Y: Field{[10]uint32{0x01d17db9, 0x003e5a3b, 0x0350c187, 0x024f87d0, 0x00f71da6, 0x03e0cdf6, 0x02fc27e3, 0x002edef2, 0x023b4180, 0x000041b1}}}, + {X: Field{[10]uint32{0x03749328, 0x005ce4b6, 0x002f6db1, 0x0343bc5f, 0x020a516f, 0x01bff26a, 0x039d4322, 0x01dae87a, 0x0173c543, 0x003486a8}}, Y: Field{[10]uint32{0x0074e424, 0x0131a098, 0x00b24772, 0x0293b5d3, 0x002326f9, 0x00e9d52c, 0x00f79de6, 0x02035981, 0x01f4e014, 0x000df3d7}}}, + {X: Field{[10]uint32{0x011fa3d2, 0x03553adf, 0x0203178d, 0x020fe387, 0x0215e563, 0x032edf39, 0x01acfbe2, 0x01a69d5a, 0x0024a22c, 0x00148d2c}}, Y: Field{[10]uint32{0x03c000cb, 0x02258c22, 0x02ddfd91, 0x02569d2b, 0x02b41038, 0x0296cd0e, 0x03c3b042, 0x02d4b58a, 0x0042651d, 0x000afab9}}}, + {X: Field{[10]uint32{0x01412f64, 0x010704cd, 0x00b6a509, 0x033d7b9b, 0x01f5048d, 0x01662253, 0x009dbd4f, 0x0086ae9c, 0x00759f3e, 0x00279ba6}}, Y: Field{[10]uint32{0x01757ea8, 0x009a418c, 0x034a92dc, 0x00ce9f93, 0x01431110, 0x03811c62, 0x00dd1690, 0x00b96909, 0x0199e38f, 0x000ad9c0}}}, + {X: Field{[10]uint32{0x0343ae45, 0x03ca4a21, 0x017fcd28, 0x01ce0c96, 0x0289232c, 0x00b7a6ec, 0x01f8a927, 0x0239dc43, 0x02959a71, 0x002105b8}}, Y: Field{[10]uint32{0x0133d139, 0x01c487c4, 0x004db4c7, 0x01d1d931, 0x0220732a, 0x03347c00, 0x01b79044, 0x01023b60, 0x0202801b, 0x001bbd24}}}, + {X: Field{[10]uint32{0x013561a5, 0x02389eb5, 0x0029bb10, 0x01ca7a8d, 0x0027462f, 0x014ae8b7, 0x02405ebe, 0x00ecbcc9, 0x03a7048a, 0x00214a93}}, Y: Field{[10]uint32{0x0162e520, 0x0332bce9, 0x02ac6a81, 0x03de3418, 0x02770b99, 0x032fad9c, 0x00e441c2, 0x02708dac, 0x0046ee0d, 0x000f81b0}}}, + {X: Field{[10]uint32{0x0277c1bd, 0x00a50b8d, 0x00c5d328, 0x02872c8d, 0x01fa6097, 0x03020f3b, 0x03b876d3, 0x015afae4, 0x01a02dbe, 0x000a2037}}, Y: Field{[10]uint32{0x031bb43a, 0x01991043, 0x019d3bf9, 0x01e103a4, 0x023d371f, 0x00dc37e8, 0x015366c5, 0x01aed3fa, 0x021092d4, 0x0037ec3a}}}, + {X: Field{[10]uint32{0x01819c65, 0x027fe27c, 0x006f0770, 0x01549d72, 0x0037b535, 0x02699da8, 0x03dbf869, 0x0235ff00, 0x00029e82, 0x0032dbef}}, Y: Field{[10]uint32{0x02062266, 0x00589de1, 0x02bdace5, 0x03ef816e, 0x00ce9161, 0x032ddb2e, 0x00d50c21, 0x01ce6457, 0x019a3657, 0x003f138b}}}, + {X: Field{[10]uint32{0x001afebe, 0x00c17bfe, 0x021615f6, 0x02962a1c, 0x030abc76, 0x001b43b0, 0x03241066, 0x00d0e086, 0x035bff1c, 0x002021ee}}, Y: Field{[10]uint32{0x0024ce72, 0x0305f782, 0x00353d9b, 0x01fa513d, 0x0223a443, 0x03a6918c, 0x01c5030a, 0x0300ae3d, 0x007aa602, 0x0015e2ca}}}, + {X: Field{[10]uint32{0x02d3a33a, 0x028a3ed0, 0x01482653, 0x0274493b, 0x00f8ae82, 0x0145f396, 0x030def22, 0x032431eb, 0x00bc30f2, 0x000da7d5}}, Y: Field{[10]uint32{0x01b59d16, 0x009855ee, 0x01b40b45, 0x02f71330, 0x0361f466, 0x01658850, 0x03c97aef, 0x01f8cb18, 0x02af35af, 0x0002e3cb}}}, + {X: Field{[10]uint32{0x03ed8f7d, 0x00f54cc7, 0x01eb6edd, 0x00a1af92, 0x03df2946, 0x03f6dab1, 0x03b2448f, 0x03e1c54e, 0x004c01b2, 0x0021ef93}}, Y: Field{[10]uint32{0x020effb1, 0x01bd3af2, 0x00a2adfe, 0x02a19a4e, 0x0071fdc8, 0x00735474, 0x031ec542, 0x0302855d, 0x00bc6386, 0x001fbd1d}}}, + {X: Field{[10]uint32{0x0214715e, 0x00fe8a47, 0x01cfbc01, 0x006d7bb4, 0x0280393f, 0x00e7b6f8, 0x0310eeb2, 0x016faa30, 0x00f018f7, 0x001ed99e}}, Y: Field{[10]uint32{0x038b1fd7, 0x006a2c7c, 0x02890c18, 0x01f4f754, 0x03d98570, 0x02a86efc, 0x008275d2, 0x039a69ce, 0x00e2666e, 0x001e3a2e}}}, + {X: Field{[10]uint32{0x0160f135, 0x009ce52c, 0x00aed90d, 0x01b5acdf, 0x0377d282, 0x03ee8e22, 0x01608f58, 0x027808aa, 0x02419672, 0x000227b1}}, Y: Field{[10]uint32{0x00786cff, 0x025055e9, 0x021f80ac, 0x02c36466, 0x035e3030, 0x0077ac62, 0x01ee5a74, 0x01ce1c06, 0x0142108d, 0x00177bcc}}}, + {X: Field{[10]uint32{0x02177f8e, 0x01b4698d, 0x0131199e, 0x0275907e, 0x008b8374, 0x01e30feb, 0x022acbab, 0x00242cea, 0x03393769, 0x000b2fb1}}, Y: Field{[10]uint32{0x03de8886, 0x024820fc, 0x03bad2ca, 0x0332240b, 0x0367fea7, 0x013c9aba, 0x034a007f, 0x00b56b2c, 0x03e757ad, 0x000c5039}}}, + {X: Field{[10]uint32{0x01946908, 0x033c3baf, 0x03cf02eb, 0x0061198f, 0x0229d576, 0x000c082b, 0x027b116d, 0x02962d4f, 0x03cda2d6, 0x0019e33b}}, Y: Field{[10]uint32{0x026a3491, 0x02f40a03, 0x01713314, 0x0310cc70, 0x0118834f, 0x00caca90, 0x00d56ee9, 0x023bbcdf, 0x01e01329, 0x003d16fa}}}, + {X: Field{[10]uint32{0x033ec0df, 0x03c608b1, 0x01524b43, 0x01cf2230, 0x015073b0, 0x01337c04, 0x012305a9, 0x013b391a, 0x0278adcc, 0x002376f4}}, Y: Field{[10]uint32{0x00fc5b0c, 0x024ec5e0, 0x0102268b, 0x016e8cec, 0x005d2d67, 0x00a31de1, 0x029ea1ae, 0x031b232a, 0x02dd3c52, 0x00241443}}}, + {X: Field{[10]uint32{0x03e36626, 0x00743035, 0x00739304, 0x01e2abdc, 0x00607d78, 0x008e0983, 0x03149c3d, 0x03fd7c8a, 0x0082b162, 0x0025cafc}}, Y: Field{[10]uint32{0x004087dc, 0x01416f93, 0x01324797, 0x0093408d, 0x026eca9f, 0x03a42910, 0x01b64f43, 0x02f29366, 0x03baf61c, 0x0011a16c}}}, + {X: Field{[10]uint32{0x03c97230, 0x03315f2e, 0x0280f540, 0x0182f218, 0x01d8c1f7, 0x0145348f, 0x02801c54, 0x012ae5f7, 0x01526660, 0x0010abc3}}, Y: Field{[10]uint32{0x0299ce38, 0x024afb05, 0x03b89771, 0x01a26378, 0x01cced06, 0x025edd35, 0x017160bd, 0x00a7b50d, 0x03898c90, 0x00015926}}}, + {X: Field{[10]uint32{0x03bb30ac, 0x0188fcf5, 0x010a9fa5, 0x00853010, 0x021748ee, 0x02686831, 0x02138bca, 0x01b47639, 0x03708729, 0x00014d99}}, Y: Field{[10]uint32{0x015cac1d, 0x02e3f63b, 0x01f31fd8, 0x00b96564, 0x027c297b, 0x01cb642e, 0x0219c2f6, 0x02834d49, 0x0260786b, 0x00381a0e}}}, + {X: Field{[10]uint32{0x0039fc24, 0x0157047f, 0x002559de, 0x02d2b648, 0x017d5d0a, 0x033903a4, 0x00308d6b, 0x02c63fc1, 0x0284e85b, 0x00280ed8}}, Y: Field{[10]uint32{0x00785493, 0x0356a3fa, 0x035644ca, 0x016f8052, 0x02c07300, 0x024e76e2, 0x03e7235a, 0x030d208f, 0x0282c22c, 0x0009ce7b}}}, + {X: Field{[10]uint32{0x02b66e97, 0x00b893c9, 0x03a63733, 0x0326648c, 0x01f5801d, 0x02893df7, 0x01980550, 0x014e9af6, 0x02d7268a, 0x000bce53}}, Y: Field{[10]uint32{0x03918d88, 0x03d3375c, 0x014138d3, 0x027d7415, 0x000e49d0, 0x009af130, 0x03d3714a, 0x02ea1b46, 0x033ee934, 0x002d4ad3}}}, + {X: Field{[10]uint32{0x0133f8ab, 0x01684b1c, 0x016ebbb3, 0x03b7bc2d, 0x027740bc, 0x0047bd7f, 0x020c19a6, 0x014df8ea, 0x0010527e, 0x00245dcc}}, Y: Field{[10]uint32{0x029fb5b6, 0x012053fa, 0x0396500f, 0x017333ee, 0x01b097ae, 0x02ef0dad, 0x021063ab, 0x0120249f, 0x03b328b6, 0x001a3e4d}}}, + {X: Field{[10]uint32{0x004af615, 0x018035a4, 0x00b24763, 0x03154280, 0x0028486b, 0x0354a77e, 0x020c1aeb, 0x022bc5e8, 0x01bfcddc, 0x000a146f}}, Y: Field{[10]uint32{0x00cb1356, 0x016cb5b7, 0x017585d1, 0x0320edcc, 0x02ee2acf, 0x00cc0d75, 0x006c3760, 0x009eb9b5, 0x0085702e, 0x0034c0b0}}}, + {X: Field{[10]uint32{0x014bdfef, 0x0136920c, 0x029c25d3, 0x018d69bc, 0x038be3d3, 0x02d1f965, 0x0210b791, 0x0267c515, 0x03ab0254, 0x003a61b5}}, Y: Field{[10]uint32{0x03de35a6, 0x00f0cc51, 0x01c165f5, 0x00b4c710, 0x01cfdb18, 0x00441156, 0x02c63b96, 0x03054043, 0x00dcb3b3, 0x0003418e}}}, + {X: Field{[10]uint32{0x038bfc03, 0x019238a3, 0x02099b2e, 0x0329fefe, 0x00ab44da, 0x020c7609, 0x001c5e0d, 0x02cb38b7, 0x032c5639, 0x002f1176}}, Y: Field{[10]uint32{0x03213e32, 0x03e6d481, 0x028842c1, 0x02020981, 0x0079a805, 0x02a7d4f8, 0x02327400, 0x0226b527, 0x03b127b2, 0x001764f8}}}, + {X: Field{[10]uint32{0x00a8dfc6, 0x012632d4, 0x022fd667, 0x004b29ec, 0x01849ef5, 0x0278a440, 0x027b4c84, 0x020274b1, 0x027e47d9, 0x00105175}}, Y: Field{[10]uint32{0x0113f096, 0x0085ce91, 0x00ea9492, 0x001f58a4, 0x03daeae0, 0x0036a993, 0x008604d9, 0x01fe0a5c, 0x00fc2a4f, 0x00151c7d}}}, + {X: Field{[10]uint32{0x00686825, 0x035d03d7, 0x02fa3c1a, 0x021f9e96, 0x02427e30, 0x01ce373a, 0x015314aa, 0x02755aec, 0x037f4cd7, 0x000b455f}}, Y: Field{[10]uint32{0x016fc1c0, 0x03c7a88a, 0x034eeeab, 0x0084e9c8, 0x02962a4e, 0x01d9aed1, 0x027a29a2, 0x027d2e53, 0x03187615, 0x0030713c}}}, + {X: Field{[10]uint32{0x033933ba, 0x035e5869, 0x0187b361, 0x025a089a, 0x03d6e896, 0x0304aa06, 0x03e26cb0, 0x002cb977, 0x02847704, 0x000bd098}}, Y: Field{[10]uint32{0x0144075e, 0x0120f460, 0x024bd45e, 0x010a1e7c, 0x00a384f9, 0x01d54cbe, 0x03cf601c, 0x00a1e7bf, 0x020d141b, 0x002f7384}}}, + {X: Field{[10]uint32{0x03bf527f, 0x007fff0e, 0x0220ab8a, 0x0110dfa8, 0x03bf9f8f, 0x03bc8f29, 0x003c9c0e, 0x004c0b9a, 0x03a76cc9, 0x002d0673}}, Y: Field{[10]uint32{0x02929517, 0x009478ea, 0x00dba3c0, 0x015b8f34, 0x00a911e9, 0x012201ad, 0x0091a70b, 0x00906792, 0x014e290f, 0x002ee1a5}}}, + {X: Field{[10]uint32{0x0125236f, 0x035cb552, 0x018dcae2, 0x0026c0da, 0x012b17bd, 0x0037b64e, 0x02f2913f, 0x00593f1e, 0x02f95734, 0x00336d29}}, Y: Field{[10]uint32{0x02c8e7aa, 0x03e39baa, 0x025ffc9e, 0x00f013c4, 0x01d57c96, 0x01265914, 0x0100c47d, 0x03d75c39, 0x0236bd1b, 0x00227b68}}}, + {X: Field{[10]uint32{0x0008c256, 0x02003e3d, 0x00a3e321, 0x013088cf, 0x00a12a8c, 0x000e4bfa, 0x026f2f15, 0x031128cf, 0x0351a45a, 0x003b53a9}}, Y: Field{[10]uint32{0x030ffef2, 0x01018d25, 0x0264acaf, 0x018e62b3, 0x00a296d9, 0x0013644b, 0x01266d4d, 0x00d26aba, 0x01a74a2b, 0x00271fa7}}}, + {X: Field{[10]uint32{0x00fbf5d3, 0x03b3428f, 0x0287c96d, 0x000be9e6, 0x0384a74b, 0x037c229c, 0x00ccfcd1, 0x018f0a0c, 0x0138fdf9, 0x0026c1bf}}, Y: Field{[10]uint32{0x03226416, 0x0277801a, 0x020d4eb2, 0x028ca86c, 0x023ede27, 0x0136b435, 0x004ba3cd, 0x018056bb, 0x021ce7ee, 0x003a1991}}}, + {X: Field{[10]uint32{0x02f6ae75, 0x01b94846, 0x004ef516, 0x012f7869, 0x02c2b789, 0x001c0815, 0x0213f1ee, 0x03346a5f, 0x001eefc1, 0x0037c452}}, Y: Field{[10]uint32{0x022b7e02, 0x0152ae88, 0x03ad4a83, 0x0185c5ea, 0x0180c766, 0x039cf8b3, 0x02e1f24d, 0x027e87af, 0x00563542, 0x00285046}}}, + {X: Field{[10]uint32{0x02a3c9f5, 0x0280cb44, 0x0284523d, 0x00569462, 0x0146e4df, 0x0201f186, 0x03bc65de, 0x00fecf41, 0x01010b1f, 0x003e0ca3}}, Y: Field{[10]uint32{0x01ca6216, 0x003c4033, 0x01df0d5e, 0x0051e9c2, 0x02de1749, 0x0172a7af, 0x029a6d0b, 0x0351e272, 0x00747746, 0x0038a76f}}}, + {X: Field{[10]uint32{0x013fff86, 0x03c024d3, 0x01e461fc, 0x01ea4b82, 0x01ff0d1b, 0x02b313ed, 0x02135900, 0x008c07e6, 0x03bdb7fc, 0x000f8ebe}}, Y: Field{[10]uint32{0x02b6ebd6, 0x0098849b, 0x00742f0f, 0x0070fb0a, 0x01a5c2af, 0x01866bac, 0x004c8d09, 0x007146f5, 0x03e1b982, 0x0007f1fd}}}, + {X: Field{[10]uint32{0x03f86125, 0x007aa6c7, 0x0166074d, 0x02013154, 0x0078ede8, 0x0274cd6d, 0x0019f8b6, 0x02005673, 0x02ea6834, 0x002ab45f}}, Y: Field{[10]uint32{0x01365257, 0x033e77e7, 0x008e8ed6, 0x02749ad2, 0x00dfa174, 0x0187ba44, 0x00f45bf3, 0x02276d9f, 0x038cebab, 0x0003a64e}}}, + {X: Field{[10]uint32{0x010ea35c, 0x03a65ca4, 0x0072d37c, 0x02e3eca4, 0x00286442, 0x0389a85e, 0x00f44b6f, 0x031a1bfa, 0x03195515, 0x00084fee}}, Y: Field{[10]uint32{0x0152a852, 0x0225a77b, 0x0136218e, 0x016189e0, 0x03d68c39, 0x0261d880, 0x00ee5771, 0x03d2ecb4, 0x011b7df7, 0x00125ee5}}}, + {X: Field{[10]uint32{0x030120fa, 0x024de40d, 0x021a2924, 0x011c24a0, 0x03eba91b, 0x022e31e9, 0x013321ec, 0x020678fa, 0x02a578ed, 0x00335fdc}}, Y: Field{[10]uint32{0x01bb1148, 0x03d7f3d1, 0x03ce2d8f, 0x02464fa5, 0x02ca4eac, 0x02441df9, 0x02c537d9, 0x003cb3e8, 0x00709928, 0x0028f547}}}, + {X: Field{[10]uint32{0x027f3b51, 0x0248f82d, 0x01b19068, 0x03061e3e, 0x038240ae, 0x0346a78b, 0x023a28a1, 0x00a4e7e6, 0x00c700a7, 0x001c28d8}}, Y: Field{[10]uint32{0x01710259, 0x001554ab, 0x021b73eb, 0x0261b4bd, 0x00dd175c, 0x01a82ee3, 0x024ae36b, 0x036f08ba, 0x007c53a4, 0x00287670}}}, + {X: Field{[10]uint32{0x01b5e46a, 0x01d98048, 0x02d337a0, 0x03f67369, 0x00eedc35, 0x027a72fa, 0x021dd199, 0x00ad983e, 0x015b4f8e, 0x00151298}}, Y: Field{[10]uint32{0x028451e5, 0x0142cd6e, 0x026bd751, 0x0269cc23, 0x03d7ba7a, 0x0376725f, 0x0286aecb, 0x03235d94, 0x01b9c76f, 0x001d749b}}}, + {X: Field{[10]uint32{0x02c8acef, 0x030d19e3, 0x03c92a01, 0x03dcdb08, 0x00f8b779, 0x01356d72, 0x019b2657, 0x01cf5ebc, 0x039f76a0, 0x00108635}}, Y: Field{[10]uint32{0x02cfb28e, 0x0007ae6f, 0x00bdaf2c, 0x0157881f, 0x0187e603, 0x02ca1308, 0x01c05f4e, 0x00ed7f99, 0x02314907, 0x001a057d}}}, + {X: Field{[10]uint32{0x0269b0a9, 0x00bf06a8, 0x03b3864a, 0x01767936, 0x0203deca, 0x018d7e0e, 0x03337598, 0x02b30628, 0x02381a82, 0x001ab689}}, Y: Field{[10]uint32{0x02da6c08, 0x03388a57, 0x033bae8a, 0x03e2d854, 0x012e77b6, 0x022d7e10, 0x0105f32b, 0x0149bd83, 0x02da65f7, 0x0014f4d5}}}, + {X: Field{[10]uint32{0x0118b09e, 0x019863b8, 0x03579336, 0x0291e04f, 0x018bd46e, 0x030e0b10, 0x0118e987, 0x026965d5, 0x0101d9f2, 0x0017ea67}}, Y: Field{[10]uint32{0x03fc3b39, 0x003a0b4c, 0x034cd6fc, 0x000b6fb0, 0x02f15f66, 0x0260994a, 0x00e381e4, 0x02e06f73, 0x023838de, 0x00351e74}}}, + {X: Field{[10]uint32{0x00d76f6e, 0x000656d1, 0x03e4412d, 0x0002cadf, 0x030bbb4a, 0x03fbe5b4, 0x02676d72, 0x019eadba, 0x017634cc, 0x00331bb5}}, Y: Field{[10]uint32{0x03bf820c, 0x002bd8bd, 0x03e94f52, 0x00343692, 0x03dd801b, 0x020d0a13, 0x009e5f15, 0x0266e2ab, 0x015ad509, 0x0002c570}}}, + {X: Field{[10]uint32{0x00ffceb4, 0x00bb8e90, 0x03ddfec3, 0x01e761d1, 0x01ff4476, 0x00289adb, 0x0310bf89, 0x03a8ff7a, 0x03db5323, 0x00393343}}, Y: Field{[10]uint32{0x0220e1f5, 0x021a8c34, 0x00c48d5d, 0x01ef107e, 0x00e2caa8, 0x02dd8a71, 0x02af718d, 0x010d5d95, 0x00c8ba9c, 0x003ef6d0}}}, + {X: Field{[10]uint32{0x0388a8af, 0x02df3626, 0x025686af, 0x03b1e9d5, 0x030b3c1f, 0x008d1a0c, 0x01e3ca1a, 0x02e4a6b0, 0x022aba51, 0x001dff5c}}, Y: Field{[10]uint32{0x01e98505, 0x0243d6cf, 0x006919cf, 0x016cb1ec, 0x006b5b55, 0x037d2edd, 0x0378ee31, 0x0272d13c, 0x01e10d6e, 0x00340946}}}, + {X: Field{[10]uint32{0x017a41dd, 0x010630a6, 0x033e2665, 0x008e57fd, 0x006291e5, 0x00a67d3e, 0x03ca57bf, 0x00f51e74, 0x03bca9dd, 0x00134e47}}, Y: Field{[10]uint32{0x00ce899e, 0x03afc96d, 0x02fce1a9, 0x0310e7b1, 0x03e5d4a3, 0x024f10fc, 0x03e9fcd5, 0x0181aee4, 0x0033b55e, 0x0017327b}}}, + {X: Field{[10]uint32{0x03084e97, 0x00e9115c, 0x022ba83f, 0x03e20586, 0x012eb232, 0x0324bfa0, 0x019d63c3, 0x01ee1172, 0x004617b1, 0x001d02f1}}, Y: Field{[10]uint32{0x00355464, 0x00952bfe, 0x00c67883, 0x00aa640a, 0x02fb1074, 0x004c061d, 0x0317481c, 0x02559dc5, 0x006e0f4f, 0x0003f63b}}}, + {X: Field{[10]uint32{0x01b46e5c, 0x004396c0, 0x00392b2d, 0x03106f73, 0x00c6aa12, 0x0333b40c, 0x02fd8d60, 0x02114d6e, 0x021cadeb, 0x00309630}}, Y: Field{[10]uint32{0x01171d31, 0x01884e57, 0x022af4cb, 0x029d7b0f, 0x02b73646, 0x0083797c, 0x01d08afa, 0x02f5fdce, 0x037f3e60, 0x001f37c0}}}, + {X: Field{[10]uint32{0x00130d44, 0x03fee0c9, 0x01768dbe, 0x01786fff, 0x01fac22a, 0x00327299, 0x0180261c, 0x0135742f, 0x0069733a, 0x0023f220}}, Y: Field{[10]uint32{0x02fc946e, 0x03d2a804, 0x00a95954, 0x0298e3c3, 0x01ca5bf0, 0x0073b9a4, 0x0137ba74, 0x0010b553, 0x014bf88c, 0x0010846a}}}, + {X: Field{[10]uint32{0x0096ad4c, 0x0186ee43, 0x027c967a, 0x038ccae0, 0x00f5152d, 0x03a674c5, 0x03b0e0bc, 0x007091fe, 0x021a4032, 0x0033d8bb}}, Y: Field{[10]uint32{0x02c4a3fe, 0x00259007, 0x015a19bb, 0x00d99043, 0x02e61373, 0x01f70348, 0x01978c07, 0x01ee352f, 0x03c3e64f, 0x0018a129}}}, + {X: Field{[10]uint32{0x009f8ba7, 0x00103915, 0x019d06c0, 0x032bf5bf, 0x00bb00b3, 0x026da458, 0x00884431, 0x01dd83b3, 0x038a4d44, 0x0014cd47}}, Y: Field{[10]uint32{0x037f6b83, 0x014af34d, 0x02a0a163, 0x02e23027, 0x00c7c1cb, 0x015220e1, 0x01c148fd, 0x039bfdd5, 0x02193816, 0x0020e113}}}, + {X: Field{[10]uint32{0x0106bb0c, 0x00cd2287, 0x000a9e17, 0x01eb4b98, 0x03baa015, 0x02b3a501, 0x010e1f62, 0x02464653, 0x03ceee2c, 0x00280818}}, Y: Field{[10]uint32{0x03146339, 0x03061ba7, 0x01de05f4, 0x02c0401f, 0x03fcdaee, 0x011122a2, 0x01b40eac, 0x00fd4b6a, 0x01b55565, 0x0018c118}}}, + {X: Field{[10]uint32{0x01d35660, 0x02a35bf8, 0x018575a6, 0x027a546e, 0x02c360c0, 0x0259822a, 0x034f3741, 0x005d91c9, 0x01cc25de, 0x001c2f2f}}, Y: Field{[10]uint32{0x03461d74, 0x02c3d3b6, 0x02b64a90, 0x00c252a0, 0x003a1c74, 0x02787503, 0x035e719a, 0x01673a02, 0x019b7163, 0x000ef56f}}}, + {X: Field{[10]uint32{0x02dc8fc7, 0x004b466a, 0x01fff138, 0x0305d055, 0x0054b161, 0x02945778, 0x03b1fe52, 0x030f01be, 0x017783cf, 0x00037e2b}}, Y: Field{[10]uint32{0x00069569, 0x031cd560, 0x0060444e, 0x006c4993, 0x01af3840, 0x002df2e6, 0x034ff20a, 0x036c3274, 0x00f60416, 0x002f1024}}}, + {X: Field{[10]uint32{0x000a30f9, 0x02a76795, 0x009ed777, 0x011f8154, 0x028788df, 0x014b55be, 0x02fff3a4, 0x0260017c, 0x01ccef39, 0x0009413a}}, Y: Field{[10]uint32{0x0390612a, 0x0167de5c, 0x00a51116, 0x013b6da4, 0x036fd651, 0x02d7f60c, 0x03f4d2fa, 0x023bf2bd, 0x02a2c6f4, 0x001cf141}}}, + {X: Field{[10]uint32{0x03c97025, 0x005068d6, 0x03a61571, 0x00320678, 0x0218a9ce, 0x0225e7f3, 0x02a6fa56, 0x000cd0e9, 0x03241c92, 0x00093b81}}, Y: Field{[10]uint32{0x00bd7b8a, 0x00909f2c, 0x00bf6ba2, 0x00580bec, 0x03fa0c68, 0x035fd364, 0x0140a6cc, 0x0213a1a2, 0x02cd605b, 0x003b990b}}}, + {X: Field{[10]uint32{0x023929b3, 0x01b6465e, 0x03093e1c, 0x00ac9700, 0x014961e1, 0x00825fcd, 0x00d8eb11, 0x0301698f, 0x00e09665, 0x0007ab57}}, Y: Field{[10]uint32{0x0156fcc3, 0x012a9b5c, 0x0009dc2f, 0x03d77b9c, 0x007284b5, 0x00775c48, 0x0032fbea, 0x03312ac7, 0x035da1ab, 0x00060037}}}, + {X: Field{[10]uint32{0x0205d507, 0x01e247ba, 0x009c098e, 0x03bcb97a, 0x03160c69, 0x020e21d2, 0x020b0dcd, 0x013e3e40, 0x03f22608, 0x0011f3cb}}, Y: Field{[10]uint32{0x01fb7d48, 0x03e948b5, 0x03516cf8, 0x03723720, 0x00bca2ef, 0x00e19919, 0x004d0d2c, 0x016bfc41, 0x03df129b, 0x0028d034}}}, + {X: Field{[10]uint32{0x02d6cbdd, 0x038e7110, 0x03e75b04, 0x02a0fe69, 0x0151f050, 0x0391d293, 0x018bb8ea, 0x01254a88, 0x039b8e2e, 0x0010193e}}, Y: Field{[10]uint32{0x0035de10, 0x0221b76e, 0x03d2b9c7, 0x030346b7, 0x0118ea66, 0x02b77383, 0x013e02aa, 0x0064c24b, 0x0076a2ef, 0x003fe73b}}}, + {X: Field{[10]uint32{0x0381904e, 0x038cd4fe, 0x000d222d, 0x0101a766, 0x03cdd70a, 0x029b5007, 0x01e0150b, 0x008340c8, 0x00d6e58e, 0x0020e2b2}}, Y: Field{[10]uint32{0x015614bc, 0x015222b6, 0x027105f9, 0x03f03a24, 0x01b1ef24, 0x01054ccc, 0x01a6b251, 0x036efdee, 0x03962909, 0x00264e9b}}}, + {X: Field{[10]uint32{0x0202f266, 0x03a6d7b8, 0x033855fc, 0x01caf133, 0x035aedee, 0x03b3d650, 0x016ea260, 0x010f48d3, 0x0183189d, 0x002978db}}, Y: Field{[10]uint32{0x01822c55, 0x02c7251e, 0x03fe954a, 0x02d79fae, 0x03dfc2d1, 0x01050d68, 0x012933fb, 0x00ee2677, 0x003ce25c, 0x001e300b}}}, + {X: Field{[10]uint32{0x03ba72c9, 0x0323f8c7, 0x035725dd, 0x01ea6d47, 0x015ad79e, 0x0235bdeb, 0x03312095, 0x03134cd3, 0x00bcd357, 0x00278903}}, Y: Field{[10]uint32{0x0111f06b, 0x0245cb2d, 0x030eb672, 0x00433be7, 0x0068cc5e, 0x00c2cf27, 0x01476b7b, 0x02818bb0, 0x025ced60, 0x002ba8d2}}}, + {X: Field{[10]uint32{0x02dc2eba, 0x036bb0ed, 0x020c7ea8, 0x016a182f, 0x02dfc9ed, 0x03b91e89, 0x022b91d1, 0x014e0170, 0x0246bb31, 0x002b46c1}}, Y: Field{[10]uint32{0x02dd2083, 0x02e65564, 0x018bb353, 0x02a5b4c3, 0x03a298da, 0x0285661c, 0x0110c9ee, 0x0314246a, 0x01a22499, 0x003b8b98}}}, + {X: Field{[10]uint32{0x030ec72b, 0x02df34d6, 0x020cc35c, 0x01d288da, 0x02fa12df, 0x0047b2a9, 0x00d8c7f0, 0x03d92954, 0x008911d8, 0x0013dec2}}, Y: Field{[10]uint32{0x01bb21e3, 0x00549713, 0x01d993e3, 0x0143c778, 0x0129b942, 0x035fe1a4, 0x019ffac8, 0x01f862d3, 0x001b0d29, 0x0024c6bd}}}, + {X: Field{[10]uint32{0x03d3a7ee, 0x00d48f24, 0x01870d2d, 0x01d0d5a5, 0x02834d02, 0x002ec4be, 0x03ba8747, 0x023cf24f, 0x0170e410, 0x0036aca8}}, Y: Field{[10]uint32{0x0173ae4d, 0x002cbef1, 0x0251e7bb, 0x01bc5d19, 0x03293a5c, 0x002338d6, 0x02ecb24d, 0x0004377a, 0x02cfc37f, 0x00098bc4}}}, + {X: Field{[10]uint32{0x03cf39be, 0x031d2128, 0x03a317ab, 0x021f12f3, 0x02d499f6, 0x0046d699, 0x01e50823, 0x035cb906, 0x017b0784, 0x000d0dc9}}, Y: Field{[10]uint32{0x01c398d3, 0x02cef6a9, 0x00ec2a49, 0x0281dbc7, 0x00f38bd0, 0x02c1b5f0, 0x013fa143, 0x035a3a11, 0x03076da8, 0x0033a6f3}}}, + {X: Field{[10]uint32{0x0099545b, 0x0179cd82, 0x0155c9ed, 0x0024d2b4, 0x03939fa4, 0x028d2feb, 0x0386024e, 0x006ad6fd, 0x029f8261, 0x0011652b}}, Y: Field{[10]uint32{0x02d450f5, 0x00fe4a3a, 0x00da4c4b, 0x0178fb83, 0x0177d3f1, 0x01ded1e3, 0x0034e72e, 0x02e9cb0e, 0x03f562b0, 0x00089571}}}, + {X: Field{[10]uint32{0x01898819, 0x0084b760, 0x003c2f13, 0x00dac89d, 0x033aebb0, 0x01ad6169, 0x02b21fc2, 0x001bec0d, 0x030512db, 0x0001ccdd}}, Y: Field{[10]uint32{0x00307887, 0x00315fd4, 0x03c51515, 0x03b4a4a0, 0x00848b53, 0x0161fcfe, 0x01cf461c, 0x02c28958, 0x0159725f, 0x001d4f77}}}, + {X: Field{[10]uint32{0x029790ff, 0x02af59b5, 0x0372e3f2, 0x00b41953, 0x00a53f4c, 0x0231d2af, 0x02d81c10, 0x03fbcd54, 0x00144d2a, 0x002f6456}}, Y: Field{[10]uint32{0x0027763e, 0x01fb4b46, 0x005b950e, 0x016e5783, 0x0231ae89, 0x017d1c52, 0x02b3277a, 0x038dced0, 0x01e17f27, 0x0006bd82}}}, + {X: Field{[10]uint32{0x015bb557, 0x0395b6e4, 0x03c73d4c, 0x01007d27, 0x01677827, 0x00f621c3, 0x001ced90, 0x03fb88a3, 0x014ca51d, 0x00228473}}, Y: Field{[10]uint32{0x02f5cf23, 0x003d8655, 0x017196be, 0x03c09cce, 0x02ca46b3, 0x03d1c403, 0x00278229, 0x02725fbb, 0x03eeae9f, 0x0034c2b5}}}, + {X: Field{[10]uint32{0x039bfcfd, 0x011b61db, 0x01ea697d, 0x035f0291, 0x03cfd058, 0x016c09ca, 0x023e6886, 0x02ffadb0, 0x01f02802, 0x001e4a6d}}, Y: Field{[10]uint32{0x00fde5d0, 0x02d538bd, 0x00b36963, 0x033507c2, 0x018c80d1, 0x00aa2430, 0x01e366c3, 0x01e0f534, 0x02218039, 0x003e6eeb}}}, + {X: Field{[10]uint32{0x03d89d01, 0x0131498e, 0x018bcf6e, 0x01566c69, 0x03d55f88, 0x0327c07c, 0x000e79bc, 0x0259be02, 0x02ac1d5b, 0x002037c1}}, Y: Field{[10]uint32{0x01136538, 0x006ab250, 0x03a7ebe4, 0x00dc9983, 0x025ee5c3, 0x030043cd, 0x025614ba, 0x0162a498, 0x02d0a595, 0x000d1a49}}}, + {X: Field{[10]uint32{0x025ccaf7, 0x020cc56f, 0x00ac6efc, 0x036b483d, 0x03ed4b01, 0x020eb44e, 0x0292b4f3, 0x020fca52, 0x00789ff3, 0x001d1515}}, Y: Field{[10]uint32{0x0160fa9a, 0x01ddf2f0, 0x00ceafae, 0x018679d8, 0x03e82173, 0x0133cad7, 0x01ea165c, 0x01dffb78, 0x037781ee, 0x000d9227}}}, + {X: Field{[10]uint32{0x02f8fe85, 0x00af3616, 0x01e67de6, 0x0357e1df, 0x03e562d7, 0x00a0a2df, 0x0011fdb4, 0x02a28257, 0x01bcb213, 0x000b1b4d}}, Y: Field{[10]uint32{0x035d159b, 0x02f9ad31, 0x0163144d, 0x0270af4d, 0x002e6013, 0x00bc8ca6, 0x002206c7, 0x013e7d14, 0x03703409, 0x002a8c38}}}, + {X: Field{[10]uint32{0x02e338db, 0x0369c3ec, 0x027be830, 0x0274c12a, 0x024b4342, 0x00a33458, 0x011846a7, 0x013ac0a0, 0x017a9d93, 0x0020d4d9}}, Y: Field{[10]uint32{0x00e02b71, 0x0275011d, 0x003b166a, 0x02bcebfe, 0x02ed4a4c, 0x039a4f22, 0x0189c5ac, 0x03e974a0, 0x0038020f, 0x003e1001}}}, + {X: Field{[10]uint32{0x02ae494f, 0x02a377ea, 0x027f6fd1, 0x01cd3b61, 0x012177ca, 0x018698a6, 0x02f63365, 0x015b5f1f, 0x013a54ce, 0x003c85ba}}, Y: Field{[10]uint32{0x00d30611, 0x00fa912b, 0x036723f4, 0x02dc0bc6, 0x038da296, 0x004730d1, 0x03e8fadb, 0x020c9818, 0x0313a0fe, 0x0036c28f}}}, + {X: Field{[10]uint32{0x008324fb, 0x0342046a, 0x03112273, 0x032379b9, 0x002e9a3d, 0x018bb1fd, 0x022baa4b, 0x01cfe595, 0x02219b5d, 0x00370dc4}}, Y: Field{[10]uint32{0x0357c004, 0x02c553f7, 0x000fb581, 0x0055f0cc, 0x004f1c90, 0x00a7e6ed, 0x020acaa9, 0x00fa58dc, 0x0092ec56, 0x003bb324}}}, + {X: Field{[10]uint32{0x02649475, 0x02641c8d, 0x0116dd44, 0x01ed0959, 0x02b10f04, 0x03bd4d2b, 0x02f60296, 0x02d3c787, 0x036d48f0, 0x0036cd1c}}, Y: Field{[10]uint32{0x00586bec, 0x02f93fab, 0x00fdfdd1, 0x01985934, 0x001a1169, 0x024f9462, 0x02c34c9b, 0x031e1a54, 0x016cf7a8, 0x00070a73}}}, + {X: Field{[10]uint32{0x03696add, 0x031ca5c0, 0x03d3378f, 0x03b4d63e, 0x01971b09, 0x00bd6f3c, 0x015af536, 0x021093cd, 0x00572046, 0x00028921}}, Y: Field{[10]uint32{0x02547803, 0x028ddd89, 0x006948c9, 0x00c6f214, 0x03baffc9, 0x00b8915c, 0x0367a56c, 0x037ae28d, 0x016137d0, 0x00269c0f}}}, + {X: Field{[10]uint32{0x024436c4, 0x027ea8c4, 0x01ed240c, 0x02e63ec9, 0x023eba38, 0x007da343, 0x02aa4293, 0x01d4eeef, 0x006fa9ac, 0x002edee0}}, Y: Field{[10]uint32{0x02426752, 0x020daa04, 0x02e646e5, 0x0273e6d0, 0x0007c6ff, 0x026c0543, 0x03682e3d, 0x02efa366, 0x0174a1a8, 0x0023e049}}}, + {X: Field{[10]uint32{0x03ecf446, 0x0025bff0, 0x01ad517b, 0x02a9d125, 0x00489344, 0x02783c1a, 0x02194276, 0x02808fd9, 0x0076fc28, 0x0019c0f1}}, Y: Field{[10]uint32{0x00e2a38c, 0x02b10f4a, 0x0215eed3, 0x02ac148b, 0x00f42699, 0x019cc785, 0x00211a30, 0x029c8d61, 0x023f7c9b, 0x0022d200}}}, + {X: Field{[10]uint32{0x02dbf6a2, 0x012e9878, 0x023b71b4, 0x02a8d251, 0x0214cf0d, 0x00584ae0, 0x023f3b7a, 0x02d123f8, 0x00e4bfa4, 0x002f2abe}}, Y: Field{[10]uint32{0x01c7f404, 0x0385c435, 0x01736d6f, 0x03b1a333, 0x03b07498, 0x02fa1e4e, 0x0108835d, 0x0254ffa7, 0x0300e2cc, 0x002f7fc9}}}, + {X: Field{[10]uint32{0x0310cd49, 0x0361e464, 0x00f7bbfe, 0x005cfb1d, 0x02217945, 0x01c9a8b9, 0x015b446d, 0x01c88077, 0x03da1a55, 0x00241ad3}}, Y: Field{[10]uint32{0x012653cf, 0x029d34e2, 0x00f93441, 0x0240b5fd, 0x01cf8384, 0x021a421c, 0x0304bc47, 0x0134a340, 0x02dbcd2c, 0x0035d4fc}}}, + {X: Field{[10]uint32{0x02f93d5f, 0x009ab0e7, 0x029058d7, 0x0337ade1, 0x00fa5369, 0x006ff741, 0x000e326e, 0x01f65546, 0x0383018f, 0x0027b025}}, Y: Field{[10]uint32{0x03acf205, 0x0252b765, 0x02049d17, 0x03e3e252, 0x00ad22ba, 0x034a3edc, 0x02c68424, 0x0059054e, 0x0057994b, 0x002732a0}}}, + {X: Field{[10]uint32{0x02b8209d, 0x038cc504, 0x030f3a2d, 0x02faec00, 0x036f823c, 0x004534bc, 0x0362a96f, 0x0103b0a0, 0x0106b754, 0x0014cd1e}}, Y: Field{[10]uint32{0x020c1fa0, 0x02824332, 0x0034ab06, 0x0200f864, 0x01595816, 0x025543b1, 0x02f1bf02, 0x022af91f, 0x00e0471f, 0x000332ce}}}, + {X: Field{[10]uint32{0x023a4870, 0x023e0374, 0x013373b9, 0x00445485, 0x03a33e54, 0x02cd5e01, 0x0224b18e, 0x0012024f, 0x032961b7, 0x0009f14f}}, Y: Field{[10]uint32{0x02575601, 0x02e222f6, 0x014fe2f3, 0x03ea2016, 0x00703fa5, 0x02b23139, 0x03c70e59, 0x00db11c7, 0x038de186, 0x00168fd2}}}, + {X: Field{[10]uint32{0x0259b68f, 0x03339d77, 0x02a5beac, 0x028f9d72, 0x0322ed51, 0x03d57084, 0x02616bac, 0x017e684a, 0x03e37a11, 0x00248649}}, Y: Field{[10]uint32{0x0327b141, 0x00db1341, 0x00ae2e06, 0x01c45e19, 0x0155884e, 0x0098f5de, 0x02fb5906, 0x0316d662, 0x007bc1e4, 0x002f6edf}}}, + {X: Field{[10]uint32{0x033ea8c2, 0x01b35b8f, 0x01ff8dde, 0x002468f6, 0x01efb3e6, 0x0390c9d4, 0x03c692ca, 0x007ff59d, 0x00876eb8, 0x0025cecf}}, Y: Field{[10]uint32{0x03bbb0ed, 0x03af7655, 0x003b849a, 0x02b8ea5a, 0x018684b0, 0x036f3b36, 0x0112c5da, 0x01442e90, 0x03710129, 0x000d037d}}}, + {X: Field{[10]uint32{0x0301ae71, 0x017a6b06, 0x02ce4020, 0x00c84995, 0x00d5972c, 0x024811c0, 0x038ef036, 0x00dd9e64, 0x03def053, 0x00082e05}}, Y: Field{[10]uint32{0x0395707b, 0x0052aa20, 0x01c1234a, 0x0193faa6, 0x01c6b1ce, 0x01282af1, 0x025c3529, 0x02805871, 0x025be2da, 0x000ab8bf}}}, + {X: Field{[10]uint32{0x03c95876, 0x02226d28, 0x01402aa6, 0x0358f64c, 0x01ca9fc5, 0x01cbad0f, 0x02347b7f, 0x0246041e, 0x004f7a7e, 0x0018f895}}, Y: Field{[10]uint32{0x000d16b1, 0x032b5c4a, 0x02067f91, 0x02c7e1b9, 0x02adf49c, 0x022f57eb, 0x01cdf521, 0x00533801, 0x026d20d7, 0x00398abb}}}, + {X: Field{[10]uint32{0x022aeb80, 0x00e5d4f8, 0x034216ac, 0x01cb9060, 0x01a69dd4, 0x011f5d8b, 0x0183abfc, 0x0233c2cd, 0x02107150, 0x000be437}}, Y: Field{[10]uint32{0x0388d389, 0x024eaf4d, 0x0264b761, 0x0226708f, 0x00880f3a, 0x02846122, 0x01e5e025, 0x0375d189, 0x02bd04a0, 0x0014dc6f}}}, + {X: Field{[10]uint32{0x02ed7209, 0x0373ca74, 0x0048ac9a, 0x03082b47, 0x037c9359, 0x03968d47, 0x0237cf75, 0x01b41517, 0x00e8faa9, 0x0023508f}}, Y: Field{[10]uint32{0x03ab40f2, 0x002c4a42, 0x03d6eea8, 0x03056b02, 0x03bb9d23, 0x0299570f, 0x00df7948, 0x03100686, 0x003dee76, 0x0020f52e}}}, + {X: Field{[10]uint32{0x00181efd, 0x03b04420, 0x03ea3bec, 0x0220156c, 0x02a9c91d, 0x02451090, 0x03111a20, 0x022bfcc0, 0x01425e02, 0x0004be90}}, Y: Field{[10]uint32{0x00c3ff57, 0x00ab103a, 0x03d4dc4d, 0x022ecb8d, 0x03ee5c3b, 0x018bac43, 0x010eddb3, 0x00ad5eb0, 0x03708e79, 0x001ae56c}}}, + {X: Field{[10]uint32{0x02706f73, 0x011e20a2, 0x00bbff83, 0x01bfff43, 0x00ce7019, 0x037cb5cc, 0x0105632c, 0x0375f35d, 0x015f2a3b, 0x00248f2a}}, Y: Field{[10]uint32{0x0346abbc, 0x0106ad49, 0x032ee3e5, 0x036f2b42, 0x031903af, 0x00433ffc, 0x003983b2, 0x0185cece, 0x0066c39b, 0x003e2c32}}}, + {X: Field{[10]uint32{0x00893646, 0x027835a2, 0x01776a86, 0x02859882, 0x0064ce3a, 0x00a3d1c1, 0x023875a7, 0x0103a58f, 0x013e8782, 0x00021135}}, Y: Field{[10]uint32{0x03eeaca1, 0x01579cdb, 0x032b25b8, 0x031c67ec, 0x011c84f9, 0x01c4ef1d, 0x00c47b4a, 0x02307fe6, 0x029192bf, 0x00318334}}}, + {X: Field{[10]uint32{0x01dc98f3, 0x01eb087c, 0x02b2a65e, 0x027d998d, 0x03883829, 0x00016977, 0x0277ff81, 0x007636e8, 0x03d6c547, 0x0010de1b}}, Y: Field{[10]uint32{0x02091b51, 0x00bd4a95, 0x0127e914, 0x0213e630, 0x03745ff8, 0x021c1bf9, 0x039109cb, 0x016ef63d, 0x02c29c8c, 0x0034a4a8}}}, + {X: Field{[10]uint32{0x0236d7ab, 0x01cdb72b, 0x0257ce94, 0x01162c1c, 0x02bb0dec, 0x02e628b3, 0x0383f71f, 0x03b3d8e1, 0x028df5e9, 0x001b46f0}}, Y: Field{[10]uint32{0x00d549e6, 0x020008e2, 0x0238da0e, 0x001c8c85, 0x00e2c00e, 0x00a04237, 0x0214cf7a, 0x00111e18, 0x0192bfd8, 0x0030b150}}}, + {X: Field{[10]uint32{0x02ff86c6, 0x0255aac5, 0x037f67d8, 0x0333fe12, 0x016c742c, 0x00f89975, 0x033f89cc, 0x0338f0bb, 0x03347f74, 0x001af13b}}, Y: Field{[10]uint32{0x01b46408, 0x03f33c5e, 0x0066b8b0, 0x03918317, 0x01be26a6, 0x01af798b, 0x036be35c, 0x02c13c49, 0x02fd2d2a, 0x003ad124}}}, + {X: Field{[10]uint32{0x03678b38, 0x03ea66ef, 0x00ddcb35, 0x00af2ccf, 0x000d67a6, 0x00342357, 0x02a756e0, 0x00256350, 0x0075fa81, 0x001abd14}}, Y: Field{[10]uint32{0x025bff28, 0x01ffe7ee, 0x00bfd528, 0x024e1258, 0x02886c7b, 0x02dce199, 0x00ffc3fa, 0x020b1d9e, 0x024f0e76, 0x002b6edc}}}, + {X: Field{[10]uint32{0x01260600, 0x03a29995, 0x011caa24, 0x003e416b, 0x00939f34, 0x0156dd18, 0x02f49cd3, 0x018d96a5, 0x03763646, 0x003adb62}}, Y: Field{[10]uint32{0x03bea3cd, 0x02eb835f, 0x015c33c2, 0x021c0cfe, 0x0241f7a1, 0x000ee074, 0x03a11ff6, 0x002dfee6, 0x02fdaea3, 0x001eba73}}}, + {X: Field{[10]uint32{0x01795068, 0x0115d7a4, 0x000af11e, 0x026eb594, 0x01b34d5e, 0x02eb533d, 0x038dd694, 0x01f4fd9c, 0x02332fef, 0x002f4308}}, Y: Field{[10]uint32{0x011cf209, 0x02082fa7, 0x0113676f, 0x015ceaa7, 0x01a91c4d, 0x01a08e93, 0x01100b66, 0x02c8702a, 0x004e2ea0, 0x003aae97}}}, + {X: Field{[10]uint32{0x02b7e392, 0x03261e54, 0x034b5054, 0x027e010d, 0x030aa56d, 0x01092455, 0x003e0831, 0x025064d2, 0x03bdc504, 0x0031788e}}, Y: Field{[10]uint32{0x02597751, 0x022b1e9b, 0x00fe2f7f, 0x019a156d, 0x038d59e7, 0x02a92b8f, 0x01cd02e3, 0x0085feff, 0x00cbf684, 0x00132bae}}}, + {X: Field{[10]uint32{0x0092d2a3, 0x019f3e23, 0x00bd8108, 0x02637a8e, 0x0017178e, 0x03487181, 0x003edb03, 0x02ae4955, 0x0231f3aa, 0x002d5c5d}}, Y: Field{[10]uint32{0x0011942a, 0x01027ca3, 0x020e9a02, 0x02b23c74, 0x00d2bdf0, 0x00936ead, 0x03318745, 0x02a7bc22, 0x01cc0324, 0x0039d082}}}, + {X: Field{[10]uint32{0x01305cfc, 0x012d7a57, 0x00cca2fe, 0x01f1ee0e, 0x01b2d17b, 0x00c281f8, 0x00a85d5d, 0x007cbf2b, 0x00994960, 0x00271158}}, Y: Field{[10]uint32{0x0304eeb6, 0x03b81bbf, 0x00674674, 0x030d6172, 0x00329273, 0x0079401e, 0x001b61b3, 0x0371f0a1, 0x0140a109, 0x000b5e85}}}, + {X: Field{[10]uint32{0x02a82f63, 0x01de9462, 0x00d5498c, 0x0175cc8a, 0x03e33dae, 0x00ed9812, 0x02ff1757, 0x00db12a2, 0x0146c0ab, 0x0014ab8a}}, Y: Field{[10]uint32{0x037f87b4, 0x035dc71d, 0x0104d24d, 0x0320190c, 0x027179f5, 0x019524fc, 0x003f899b, 0x006fe934, 0x019b6606, 0x001c388f}}}, + {X: Field{[10]uint32{0x0394adf9, 0x0167c280, 0x03dcef4f, 0x030b0a7b, 0x0189db9a, 0x0210207a, 0x01ba4903, 0x0118b770, 0x03bf55ff, 0x000527b0}}, Y: Field{[10]uint32{0x009dd7af, 0x02a2f05e, 0x01801341, 0x01737e52, 0x0049642b, 0x039a5472, 0x028fbc7c, 0x02e508ab, 0x0188b91d, 0x00016707}}}, + {X: Field{[10]uint32{0x02ea7ea7, 0x018e0410, 0x005768a1, 0x00270534, 0x03dbe14a, 0x0054e368, 0x03835346, 0x0063777f, 0x0294d667, 0x002bfe24}}, Y: Field{[10]uint32{0x0159266b, 0x0139d913, 0x00bb9a92, 0x0244aa23, 0x017b6154, 0x02f095b7, 0x022352ac, 0x021e97b3, 0x03ebcf58, 0x001c619a}}}, + {X: Field{[10]uint32{0x004e76fc, 0x02ed0196, 0x02b78da7, 0x02dce38a, 0x0133887e, 0x000f8ad0, 0x012d49b3, 0x0011cab5, 0x00782cb3, 0x0037913d}}, Y: Field{[10]uint32{0x02482bf5, 0x0348f273, 0x01da7eef, 0x03ea0c3b, 0x01b13d08, 0x02b23bc8, 0x03c630d7, 0x0360b015, 0x018425ba, 0x0019e62b}}}, + {X: Field{[10]uint32{0x01682e61, 0x03b1f1ce, 0x021345a2, 0x03aca253, 0x02b3a380, 0x006e80b1, 0x032c88be, 0x024d9b05, 0x02737616, 0x00382f1e}}, Y: Field{[10]uint32{0x022cb2e0, 0x01827349, 0x024d3c23, 0x030aad50, 0x035ad1f7, 0x01edfa64, 0x027c0ec8, 0x023fa37f, 0x02b933b1, 0x002f451f}}}, + {X: Field{[10]uint32{0x032f0e6d, 0x01e91d80, 0x03b1127c, 0x0269c73e, 0x02ed2613, 0x0294da88, 0x033cfa70, 0x027cce51, 0x03272af6, 0x0017b8d3}}, Y: Field{[10]uint32{0x00e13b8c, 0x018abab1, 0x036cb807, 0x004370d8, 0x011316bf, 0x01737bf1, 0x0257de98, 0x01360bda, 0x0396dc0d, 0x003077e3}}}, + {X: Field{[10]uint32{0x0199a0f2, 0x03397a39, 0x0113a68b, 0x011afb57, 0x03672968, 0x03855f5e, 0x00c274df, 0x01e98e6e, 0x03c177fa, 0x0013728e}}, Y: Field{[10]uint32{0x012fb234, 0x030cb14f, 0x032a1d01, 0x01a14bbf, 0x012fb489, 0x03d6723a, 0x033fd758, 0x026baff6, 0x015836fb, 0x0023f4ad}}}, + {X: Field{[10]uint32{0x00b48136, 0x0211d47e, 0x004f5bc1, 0x00d280d2, 0x00980810, 0x03a64fd5, 0x01ed9373, 0x000a43be, 0x03c18756, 0x001553da}}, Y: Field{[10]uint32{0x0172b26a, 0x0129af28, 0x0183d206, 0x00e8783f, 0x03de8086, 0x0230fd43, 0x03834e0e, 0x004a8d45, 0x03b7dfd5, 0x002d1530}}}, + {X: Field{[10]uint32{0x01592ad4, 0x00a096e1, 0x02ba420b, 0x01f2d4e7, 0x02955af8, 0x018b708b, 0x0160b2e1, 0x021e69aa, 0x0350a6c0, 0x00256a06}}, Y: Field{[10]uint32{0x0045c712, 0x006ac303, 0x011af265, 0x021bd9c0, 0x037c7d50, 0x00e2a930, 0x0072b75f, 0x008b47d6, 0x00c4dfed, 0x002f957a}}}, + {X: Field{[10]uint32{0x037e5c4d, 0x02e2f9d1, 0x01d853ef, 0x029ba8a4, 0x0244a4f8, 0x00c7d560, 0x00d14d34, 0x01a9b8d6, 0x01539e49, 0x00241edb}}, Y: Field{[10]uint32{0x03150eac, 0x021cb91d, 0x0265c21f, 0x0000a489, 0x01ff33e2, 0x0375f475, 0x0017fad1, 0x02ee799e, 0x02943853, 0x002cf4f5}}}, + {X: Field{[10]uint32{0x03f17aa6, 0x03330271, 0x003575bc, 0x0191adea, 0x01c8884c, 0x00fc5d81, 0x0337cb23, 0x015dbd9d, 0x001bb342, 0x002149f2}}, Y: Field{[10]uint32{0x037604fc, 0x013a3d61, 0x02a64504, 0x0274cce1, 0x019cd47b, 0x0115ddfc, 0x031930c1, 0x0149255e, 0x01bcdb8d, 0x002db59d}}}, + {X: Field{[10]uint32{0x03ab00ec, 0x025d38bb, 0x01e9f913, 0x00ea066e, 0x03bc6bf8, 0x03e41ba6, 0x02134360, 0x0036493a, 0x027d5a32, 0x0023878e}}, Y: Field{[10]uint32{0x0018b0b9, 0x002783fd, 0x01c4aff3, 0x01f1e4a0, 0x000792e0, 0x029e4b14, 0x023dad4e, 0x017c970c, 0x03abd81d, 0x003653c0}}}, + {X: Field{[10]uint32{0x019a8d76, 0x03eadd54, 0x0034d72c, 0x0125731d, 0x02dd0d89, 0x031a32da, 0x02cbd86b, 0x012a3426, 0x0393be1f, 0x003f00b2}}, Y: Field{[10]uint32{0x024d4f94, 0x00f1dc9f, 0x004e98b7, 0x027659fa, 0x02ffe4cd, 0x0216895b, 0x026ceb08, 0x01171662, 0x0132729e, 0x001c7de9}}}, + {X: Field{[10]uint32{0x03e6e7b8, 0x00a26c42, 0x016af80a, 0x01fe6cbb, 0x03ff7635, 0x03c21d46, 0x02c44db4, 0x022ceec6, 0x0302a285, 0x0033e604}}, Y: Field{[10]uint32{0x0173b528, 0x006fa223, 0x007bad3a, 0x00a2e221, 0x02f1a8a8, 0x0213c7e8, 0x0205ded9, 0x0199b9c0, 0x0012bf23, 0x0008dfa7}}}, + {X: Field{[10]uint32{0x00231d82, 0x03712faa, 0x01228e97, 0x00782e81, 0x0371718d, 0x03235433, 0x0274cbba, 0x03a480f2, 0x01dc1408, 0x000f9b91}}, Y: Field{[10]uint32{0x031ef848, 0x01d19dce, 0x028a3147, 0x0387c3f7, 0x03961009, 0x01fbe1b7, 0x01f287ca, 0x02a017d8, 0x037a2ad3, 0x000b8ff6}}}, + {X: Field{[10]uint32{0x007d4657, 0x02e7b69c, 0x028b3749, 0x02cb7c99, 0x023ce1b2, 0x00466c3b, 0x00090888, 0x0051c442, 0x03950758, 0x002ec11d}}, Y: Field{[10]uint32{0x01c67587, 0x00e45a1d, 0x01bc1bc4, 0x016ff38a, 0x028d6ee5, 0x036fbbb4, 0x01ad6977, 0x03ce9abd, 0x02fc5f95, 0x002569cb}}}, + {X: Field{[10]uint32{0x00dd6748, 0x01746e5a, 0x0193903f, 0x01b604a4, 0x0100fe35, 0x0338132d, 0x03a31034, 0x00b0412a, 0x0142b8b0, 0x00138057}}, Y: Field{[10]uint32{0x00a870fb, 0x010b001c, 0x00d2dd39, 0x03ea046f, 0x02746419, 0x02499d08, 0x00e96ffc, 0x01b5c765, 0x00e7dfbf, 0x0034d6c8}}}, + {X: Field{[10]uint32{0x00a49daf, 0x00dd1649, 0x0386792a, 0x03c90437, 0x0270850a, 0x01a341e3, 0x037391bd, 0x02c8427a, 0x005790c8, 0x00182693}}, Y: Field{[10]uint32{0x03ad0e98, 0x01540bc2, 0x00e8a0e3, 0x000347cd, 0x0314431d, 0x02290e42, 0x01cb14e7, 0x016ce960, 0x027ebc96, 0x003ce98c}}}, + {X: Field{[10]uint32{0x027fc730, 0x02eac0e8, 0x00aa1780, 0x0184c16d, 0x01b9ea07, 0x005fb3d8, 0x01b7558a, 0x016b0138, 0x03362a95, 0x00332f81}}, Y: Field{[10]uint32{0x0092cd3b, 0x0311fe47, 0x03abb71f, 0x00492c0f, 0x00d981a0, 0x00190ca6, 0x02a4e3ae, 0x02875d97, 0x00166c98, 0x003e5adf}}}, + {X: Field{[10]uint32{0x03ccab14, 0x01471a70, 0x008c3e21, 0x01a6a10e, 0x009143c5, 0x01384738, 0x0310ef90, 0x008c0b9a, 0x028285df, 0x001bb580}}, Y: Field{[10]uint32{0x02d196e7, 0x0247a946, 0x026081d5, 0x00709614, 0x03e91b0d, 0x0199798b, 0x03c75649, 0x00ede3a3, 0x03b0687a, 0x0019d7a8}}}, + {X: Field{[10]uint32{0x0349d8e0, 0x01ffda72, 0x02c7f4c0, 0x01dd10f6, 0x02708061, 0x0214554c, 0x033c5923, 0x02853156, 0x01cba0cc, 0x002f7fc1}}, Y: Field{[10]uint32{0x020c9a50, 0x0041b69b, 0x017981dd, 0x024eaab2, 0x03f09d79, 0x020ce443, 0x00a72390, 0x023b309d, 0x010486cd, 0x0014526b}}}, + {X: Field{[10]uint32{0x022bff2b, 0x01e64453, 0x0386eed5, 0x01570b1c, 0x00af9f6e, 0x01e6bb47, 0x03e53665, 0x00c96c8a, 0x028ccc70, 0x00019339}}, Y: Field{[10]uint32{0x01cb1cae, 0x01abb791, 0x0106bd59, 0x0387aad9, 0x0211bf1b, 0x0084f2ee, 0x021dddf2, 0x02683bbd, 0x01763c8a, 0x003e3226}}}, + {X: Field{[10]uint32{0x00ab2bb4, 0x0051c686, 0x007edaf0, 0x03d58984, 0x02b40de7, 0x007968bd, 0x02f3c06e, 0x0143cf72, 0x006f4891, 0x003350b9}}, Y: Field{[10]uint32{0x01bcfada, 0x03f68280, 0x025c281d, 0x0227d9e7, 0x0017f11f, 0x0094e9e2, 0x00921f4e, 0x01a59ed3, 0x00ddd202, 0x00367094}}}, + {X: Field{[10]uint32{0x01619735, 0x0157c062, 0x02c4359d, 0x0070d713, 0x025e9b12, 0x03b136ba, 0x01a7e8e3, 0x0150838b, 0x0007e714, 0x003df0a4}}, Y: Field{[10]uint32{0x03a493b7, 0x02928cfa, 0x023ddc2b, 0x00e8db3e, 0x005ea293, 0x0281b76c, 0x03735a56, 0x02a4f98d, 0x00064dbd, 0x00199145}}}, + {X: Field{[10]uint32{0x0293b7a8, 0x007d9e57, 0x010f2c5c, 0x034b6445, 0x00377609, 0x01c560d7, 0x033d2214, 0x0121589a, 0x01e1d494, 0x0018ce70}}, Y: Field{[10]uint32{0x02d59b28, 0x00cbf1cf, 0x02d95be5, 0x018261d8, 0x01d10a69, 0x03eb2e30, 0x015a20d8, 0x03a3dffd, 0x01ea47b4, 0x003bef9b}}}, + {X: Field{[10]uint32{0x0089b37b, 0x0160050d, 0x00b4daaf, 0x01e367d0, 0x0207b1ec, 0x027d3ae1, 0x00bbcf1e, 0x03b4197d, 0x03137d22, 0x003f33c7}}, Y: Field{[10]uint32{0x01bf3e10, 0x012d541f, 0x0111c64a, 0x02bc86cd, 0x016646be, 0x025d5ad3, 0x01559d9d, 0x02b30e20, 0x002fef9f, 0x002969df}}}, + {X: Field{[10]uint32{0x004f62d2, 0x03058010, 0x03d4e935, 0x035d63b0, 0x00a13434, 0x01ef23d7, 0x023b5541, 0x0213b3c4, 0x031006f2, 0x0036a5ff}}, Y: Field{[10]uint32{0x0312e168, 0x00c0732b, 0x0093cf8b, 0x008a2069, 0x024f3082, 0x0362ae4a, 0x031e3d1c, 0x00cc37cb, 0x028b4900, 0x00197085}}}, + {X: Field{[10]uint32{0x033e4fd8, 0x00b6260c, 0x039bddce, 0x03c887c2, 0x03343ab6, 0x006d1164, 0x0157556c, 0x009338da, 0x00d5428a, 0x00199da9}}, Y: Field{[10]uint32{0x01af7b41, 0x02c717cf, 0x01593854, 0x01611686, 0x03b7afcf, 0x0119f5e4, 0x034d3d83, 0x0094d7d7, 0x00a4b933, 0x00116f77}}}, + {X: Field{[10]uint32{0x017859ca, 0x004ab7b9, 0x01ccd302, 0x01e8a986, 0x0153396e, 0x00f7ba90, 0x0222c7cd, 0x00508152, 0x02becf46, 0x001e479a}}, Y: Field{[10]uint32{0x02dd37a1, 0x01ec333e, 0x02c9268a, 0x03745f93, 0x03e2ec07, 0x03fd0fb2, 0x0332990a, 0x01724fb1, 0x03fd08c5, 0x003900ce}}}, + {X: Field{[10]uint32{0x030018a1, 0x005fcc6b, 0x005ae207, 0x011d2f5f, 0x02c66dd9, 0x012dcc91, 0x00985aa8, 0x0055429e, 0x03b2d518, 0x000e9f1e}}, Y: Field{[10]uint32{0x029d7459, 0x014b517f, 0x03d1437b, 0x0094612b, 0x02b6c38d, 0x039417e2, 0x01f732a9, 0x03b71488, 0x0317e03c, 0x0008e23a}}}, + {X: Field{[10]uint32{0x013ab999, 0x0082f150, 0x00c3bef7, 0x005cad15, 0x0362b740, 0x0004e075, 0x03ca9361, 0x00725a72, 0x01b18680, 0x0009268b}}, Y: Field{[10]uint32{0x01d5e7a3, 0x0225ed74, 0x030cff71, 0x002cfb24, 0x002f708e, 0x01701d7a, 0x003cf9c8, 0x0247075e, 0x004176aa, 0x00368617}}}, + {X: Field{[10]uint32{0x034f8590, 0x029a215a, 0x0313614d, 0x01fede4a, 0x0032c085, 0x01595794, 0x01f21e0c, 0x03302661, 0x0153b4e0, 0x002c9783}}, Y: Field{[10]uint32{0x0183eda2, 0x021399d7, 0x01055d6b, 0x02010ac8, 0x0300ac5b, 0x034a360d, 0x00fac42f, 0x038eb387, 0x02ff6b02, 0x0006f45e}}}, + {X: Field{[10]uint32{0x03862fcd, 0x0167aaed, 0x02cd6013, 0x03dd45ff, 0x02bd1073, 0x0044090f, 0x029db66f, 0x00ce22a1, 0x036805e8, 0x001cd814}}, Y: Field{[10]uint32{0x015f9d56, 0x00494d9b, 0x02913d69, 0x039569d7, 0x03e767fa, 0x0384b507, 0x02434076, 0x0316983e, 0x002d0842, 0x003a71e8}}}, + {X: Field{[10]uint32{0x03f1b1d9, 0x0172585d, 0x03ff9711, 0x036979c3, 0x022e5b52, 0x03c96750, 0x038a0c9a, 0x00ba5c0b, 0x03567139, 0x003b0bc2}}, Y: Field{[10]uint32{0x008183a8, 0x025263a4, 0x00818204, 0x00ad3f7b, 0x02d49e07, 0x02395b4c, 0x00571fa9, 0x01396432, 0x02bbadb2, 0x0011fdf7}}}, + {X: Field{[10]uint32{0x03e2d378, 0x02981612, 0x038e5cbf, 0x025484dd, 0x01afc255, 0x00838630, 0x022ad2f3, 0x0350ea46, 0x03a8250d, 0x001f5ea3}}, Y: Field{[10]uint32{0x00fea3be, 0x00384458, 0x0352e02a, 0x01e904fd, 0x03fab2b0, 0x026f0835, 0x0300f110, 0x01f5dc09, 0x02168962, 0x001ad22e}}}, + {X: Field{[10]uint32{0x026713d7, 0x01a57fea, 0x0036605c, 0x02433fd3, 0x0206e594, 0x009820b1, 0x03aaa01e, 0x01c8ee99, 0x01ce52b6, 0x000c5a9c}}, Y: Field{[10]uint32{0x02a1cb9e, 0x016bdcf5, 0x020200e9, 0x03f73e0b, 0x0184152f, 0x0172d2e8, 0x0344cf6e, 0x0318484a, 0x01a07820, 0x0035bc70}}}, + {X: Field{[10]uint32{0x03bcca51, 0x01b9caa7, 0x01930ade, 0x015c476e, 0x029ace88, 0x02b65e88, 0x02e5fc6e, 0x0227ff0c, 0x00c30ade, 0x000868aa}}, Y: Field{[10]uint32{0x0082e4d0, 0x01b073e2, 0x001e47c5, 0x00e28ae5, 0x01726fd4, 0x00cbc38d, 0x012aafb4, 0x0145ed5c, 0x010438df, 0x00257f4f}}}, + {X: Field{[10]uint32{0x028f94d5, 0x027b0c9c, 0x01535536, 0x0378107e, 0x021ad2cf, 0x0144ebeb, 0x0146c68f, 0x0205c36b, 0x0067b3ad, 0x000fc606}}, Y: Field{[10]uint32{0x02317527, 0x0277c428, 0x00a915f0, 0x03c0e2c0, 0x0191abb8, 0x0088aac3, 0x01991894, 0x003aab55, 0x00e4e9f2, 0x002946a5}}}, + {X: Field{[10]uint32{0x01f63c1e, 0x0024bc22, 0x02a697d0, 0x01b4c563, 0x0079b7aa, 0x0243b3ed, 0x01ecb9b6, 0x00e6f3c4, 0x013911be, 0x003a59cc}}, Y: Field{[10]uint32{0x0103abc2, 0x02050b52, 0x035461f9, 0x03a184c1, 0x00da9be6, 0x00c808a8, 0x022017c0, 0x020f8e37, 0x00f76f87, 0x00030403}}}, + {X: Field{[10]uint32{0x0008b122, 0x0153eba4, 0x00cd8615, 0x010caf42, 0x02d3096d, 0x03ce61b1, 0x03e94b06, 0x02b1f951, 0x02b01407, 0x00187aa2}}, Y: Field{[10]uint32{0x00a4d182, 0x0172a3fd, 0x02792a10, 0x03d0a0fe, 0x02150167, 0x01a7c73b, 0x0090488e, 0x004ea5d9, 0x03cca6f7, 0x00397156}}}, + {X: Field{[10]uint32{0x02dab9fe, 0x01cfe4ef, 0x02402cab, 0x03dc928e, 0x0149673d, 0x008e68fc, 0x00815540, 0x01ff767d, 0x027a1745, 0x002b63eb}}, Y: Field{[10]uint32{0x00f03e6b, 0x01fbfbd4, 0x035d4d77, 0x0080bb4d, 0x01485172, 0x00958fde, 0x001d0371, 0x0312eeec, 0x03ef7966, 0x0014edf7}}}, + {X: Field{[10]uint32{0x02a829d3, 0x02062f6d, 0x0020c586, 0x01324640, 0x02cdf997, 0x0136750d, 0x0362f274, 0x00b9534f, 0x02dfbf7f, 0x00218173}}, Y: Field{[10]uint32{0x01946b88, 0x01bd52df, 0x01873d78, 0x03c143a1, 0x02e7a33d, 0x01dc23fd, 0x009fe4da, 0x02a86988, 0x015f0ca2, 0x0016be29}}}, + {X: Field{[10]uint32{0x03921d87, 0x034b5b3f, 0x014c8cbc, 0x00f0bc8b, 0x016e8325, 0x029e533e, 0x00ffa5a7, 0x027bd1f7, 0x004b465b, 0x002f7795}}, Y: Field{[10]uint32{0x00aadcd8, 0x02f5b3a3, 0x01a7414e, 0x0237e228, 0x030ec97c, 0x0206f9aa, 0x01e7d230, 0x019fd57b, 0x03677ba8, 0x001b14d8}}}, + {X: Field{[10]uint32{0x02fe1cdb, 0x039cd18c, 0x016bbfe3, 0x034aeb64, 0x0162a47b, 0x0170a3d2, 0x02eafca8, 0x0223724f, 0x0245e8b0, 0x000c620a}}, Y: Field{[10]uint32{0x01f176bc, 0x0075a4d5, 0x021a6fd1, 0x02a780aa, 0x01d03557, 0x00b80a32, 0x02b833c1, 0x01b8784a, 0x00f0c5f8, 0x0002cd62}}}, + {X: Field{[10]uint32{0x01dc1202, 0x0013dda9, 0x00883b0d, 0x02f589e6, 0x03e49fad, 0x000ee398, 0x0110b726, 0x003e7b6d, 0x00524580, 0x0005ef90}}, Y: Field{[10]uint32{0x0132fc54, 0x00ce92e3, 0x01cb9c9e, 0x01568bd6, 0x0181667e, 0x010349df, 0x00f7738e, 0x0156b80a, 0x03dcdf88, 0x0005413a}}}, + {X: Field{[10]uint32{0x03629537, 0x01abeb72, 0x0308c9c5, 0x03d69806, 0x00a303ea, 0x001fcaca, 0x03c4e697, 0x01f4a9af, 0x0133bb69, 0x00318cef}}, Y: Field{[10]uint32{0x0218cef8, 0x03566dee, 0x01eac2b4, 0x01e0cc4e, 0x039f3b7f, 0x0187193c, 0x0006b924, 0x01936fcb, 0x00132d47, 0x0021b8fd}}}, + {X: Field{[10]uint32{0x0260bb52, 0x01863d60, 0x00062570, 0x02d8ed18, 0x03633434, 0x00cf3444, 0x00881f3a, 0x0043dc64, 0x008af4c7, 0x003ce788}}, Y: Field{[10]uint32{0x01e2e62c, 0x014be4ae, 0x014e2bfe, 0x038ee973, 0x03d0171e, 0x03650f0c, 0x02e2b664, 0x00dbd89c, 0x0005807b, 0x0024315a}}}, + {X: Field{[10]uint32{0x00a16c54, 0x01808cbd, 0x033db893, 0x0053d67d, 0x01ee4e54, 0x00b6e2b1, 0x00ddfb37, 0x02581e95, 0x039414f2, 0x0033a610}}, Y: Field{[10]uint32{0x0224e0d7, 0x033eebae, 0x03d7f627, 0x00b6e97a, 0x02bb8054, 0x03502ba5, 0x02f78354, 0x01ec4f1c, 0x01a1d105, 0x00069201}}}, + {X: Field{[10]uint32{0x030a76bb, 0x01fd8cee, 0x0273f625, 0x008a8569, 0x01945041, 0x022175d5, 0x0171af10, 0x01e93ee9, 0x039f8110, 0x001499b9}}, Y: Field{[10]uint32{0x0159b457, 0x003f25a9, 0x01918d3b, 0x0003edce, 0x0018d382, 0x01ed5708, 0x033ca397, 0x017c4a1d, 0x01d09cc8, 0x00179eb4}}}, + {X: Field{[10]uint32{0x027056e4, 0x030563ef, 0x035c11ff, 0x0025449b, 0x03675070, 0x01de2f22, 0x0370113c, 0x01ea8efc, 0x025763f4, 0x0013ee77}}, Y: Field{[10]uint32{0x0086f7ef, 0x021d54c5, 0x0175e52e, 0x01d61e27, 0x0229fe02, 0x00bf8f6c, 0x022fa347, 0x01c65c2a, 0x02368eec, 0x000b365d}}}, + {X: Field{[10]uint32{0x03cc0226, 0x015d01c8, 0x0345bded, 0x02a348cd, 0x024ae7bb, 0x005632e4, 0x03ec8406, 0x0376f6aa, 0x0024a99e, 0x002b45a0}}, Y: Field{[10]uint32{0x014095de, 0x03dc103c, 0x003cba21, 0x01ae47b8, 0x029ee638, 0x014f12f9, 0x01e230bb, 0x0119ce3b, 0x0015968e, 0x002ac414}}}, + {X: Field{[10]uint32{0x03719cb8, 0x0320005c, 0x028d55a7, 0x02e8522e, 0x01277923, 0x03c6cc1f, 0x03aea9b0, 0x01556dcc, 0x01aef7cc, 0x0001560a}}, Y: Field{[10]uint32{0x03267689, 0x03c269d8, 0x03d3d3c4, 0x03db12eb, 0x00382969, 0x031829ef, 0x003b47d6, 0x02561550, 0x02eb9c9b, 0x001a9ecb}}}, + {X: Field{[10]uint32{0x0378b935, 0x03af0e1a, 0x01910960, 0x010d1435, 0x014e1e4c, 0x013a7780, 0x004bbe78, 0x01383888, 0x02338efa, 0x0008467c}}, Y: Field{[10]uint32{0x00e7bb93, 0x00da44ee, 0x0195711c, 0x01a4d29c, 0x0052acb4, 0x027144ea, 0x0337db96, 0x011319e8, 0x01c37785, 0x0027c867}}}, + {X: Field{[10]uint32{0x01295bbf, 0x003f96ec, 0x01b3257f, 0x0260fd70, 0x02c52274, 0x0095634d, 0x01e53caa, 0x006fa75f, 0x021b0949, 0x00047f0f}}, Y: Field{[10]uint32{0x004cf6f5, 0x02314a21, 0x00ed6219, 0x02234427, 0x0191b8d1, 0x00c4416b, 0x026b6c02, 0x0164cdaa, 0x034decb0, 0x00071a71}}}, + {X: Field{[10]uint32{0x03d2a908, 0x02fa8ef7, 0x0182180a, 0x00626421, 0x015e64ac, 0x01f981ab, 0x0091bc86, 0x01450e54, 0x026fea6e, 0x000d2db3}}, Y: Field{[10]uint32{0x03ccad6d, 0x00e5908a, 0x00694403, 0x00953860, 0x0328e9f3, 0x00b1e8c4, 0x01e41a13, 0x02fbcfee, 0x0104f4bd, 0x0016dbb6}}}, + {X: Field{[10]uint32{0x0210a84c, 0x0103254d, 0x02e2e22a, 0x00f4b6da, 0x00b326fb, 0x01fbdd17, 0x01c567d9, 0x01a2acec, 0x01cab457, 0x001b0897}}, Y: Field{[10]uint32{0x002a1084, 0x03f5da10, 0x0229cd72, 0x010b403a, 0x03912fe0, 0x03610ef6, 0x0363cfa2, 0x03f633af, 0x03522180, 0x001fa175}}}, + {X: Field{[10]uint32{0x028ed7d7, 0x001c5116, 0x003e32a7, 0x008039c1, 0x03cbfd20, 0x0052da22, 0x03cc7570, 0x025708cb, 0x02e541dd, 0x00017ddd}}, Y: Field{[10]uint32{0x03273c0e, 0x002cda62, 0x022ff2a2, 0x00fdb435, 0x01c11680, 0x0299354a, 0x009de0b9, 0x020d50e8, 0x0078fc6d, 0x000ee317}}}, + {X: Field{[10]uint32{0x011b0e23, 0x02f64ca2, 0x014e9b8b, 0x01205bf6, 0x01d5371e, 0x00913ea9, 0x037eaa63, 0x010fbd78, 0x00c55315, 0x000f89b6}}, Y: Field{[10]uint32{0x0379bb65, 0x03eaaf82, 0x034b0c70, 0x003db62b, 0x02a5b4c7, 0x01b0fafe, 0x01a53bc0, 0x0280dbb8, 0x011b43a4, 0x000c2827}}}, + {X: Field{[10]uint32{0x018b36af, 0x0036affc, 0x0085e8aa, 0x03efb84b, 0x0106be8a, 0x01954f91, 0x02970ac2, 0x00d5a2aa, 0x0291c17a, 0x00318d36}}, Y: Field{[10]uint32{0x01a925f0, 0x0088067c, 0x0346d6d5, 0x0267181b, 0x0016eb9f, 0x02361fb5, 0x01d34bd9, 0x0029ef41, 0x01bae139, 0x001925a0}}}, + {X: Field{[10]uint32{0x027e9a7e, 0x0258b7cb, 0x0347e806, 0x02ceb235, 0x024e8361, 0x03090b5f, 0x02ab4eef, 0x00d6631b, 0x01d64d64, 0x0003b4cd}}, Y: Field{[10]uint32{0x00aa93e7, 0x01ad803f, 0x015e1eb5, 0x039fd5e3, 0x025a1552, 0x023ca2fb, 0x034b6909, 0x01ea9c8c, 0x03f819c9, 0x003c39f0}}}, + {X: Field{[10]uint32{0x02521581, 0x03656147, 0x0328ed72, 0x0191d54f, 0x02d10be1, 0x021c3fec, 0x023dbf22, 0x0167b0fd, 0x00094113, 0x0034dfe3}}, Y: Field{[10]uint32{0x011f1922, 0x0391ed27, 0x0351a191, 0x03532f8e, 0x02831467, 0x01b4f26f, 0x01f1be75, 0x0380d9cb, 0x03b9ba3a, 0x00369f2f}}}, + {X: Field{[10]uint32{0x0115c360, 0x00cd4b9d, 0x0391943c, 0x0017ba1b, 0x0005b32d, 0x031ad083, 0x02ae0611, 0x017a970e, 0x01d7c747, 0x003b8c48}}, Y: Field{[10]uint32{0x004c1686, 0x03c916ef, 0x00281b76, 0x012ae9a4, 0x01b80916, 0x02b5ec4b, 0x0047411d, 0x028eca6d, 0x023797be, 0x001c0ecb}}}, + {X: Field{[10]uint32{0x0187a12b, 0x02005f46, 0x032b5fe9, 0x024109d5, 0x023f5c72, 0x024a984c, 0x02f1a594, 0x00453a83, 0x01bc5c2b, 0x001ed0b2}}, Y: Field{[10]uint32{0x020d27da, 0x03736549, 0x019c9dc7, 0x0378c377, 0x01dd57ed, 0x024909c9, 0x03cd92a9, 0x01cf5d5b, 0x0382e85b, 0x00173dd8}}}, + {X: Field{[10]uint32{0x00a555cd, 0x01d248be, 0x033c3ad0, 0x02117da4, 0x007c8f9b, 0x003e4975, 0x039b6b9a, 0x014e8a4f, 0x039ab13a, 0x0026bd7f}}, Y: Field{[10]uint32{0x025d4153, 0x01bc7eaf, 0x0042ca33, 0x0065905c, 0x0113a9ec, 0x02423215, 0x02a13fa5, 0x011cd322, 0x009e8995, 0x0032a4fb}}}, + {X: Field{[10]uint32{0x0048dacc, 0x02061dce, 0x017b659c, 0x014215af, 0x00a5b2b8, 0x01c260f7, 0x021d591f, 0x037c6c1b, 0x027401a2, 0x0017afe8}}, Y: Field{[10]uint32{0x00f7ad18, 0x01a7f1e8, 0x020fb5fb, 0x0047d1cb, 0x0046e124, 0x008a647a, 0x004c15e8, 0x00f190a4, 0x00b96ac2, 0x0002c2b7}}}, + {X: Field{[10]uint32{0x00c81e6f, 0x00979b3f, 0x01dd3ac1, 0x0219f699, 0x000daeb4, 0x007dbafb, 0x018382bc, 0x017ab214, 0x0108465e, 0x0024ed63}}, Y: Field{[10]uint32{0x0224a4e7, 0x02cfbd46, 0x01b8cf4f, 0x03618ec7, 0x038a50b8, 0x02f2a722, 0x00646c36, 0x005e135d, 0x0118c315, 0x00152fa2}}}, + {X: Field{[10]uint32{0x036fc858, 0x00c7c772, 0x0211132c, 0x02643b6a, 0x005bc868, 0x00ad0199, 0x00943ee3, 0x0191d3ff, 0x039b4fb4, 0x0028a295}}, Y: Field{[10]uint32{0x02f14670, 0x026c54e6, 0x0239646c, 0x0053ebbd, 0x036e059b, 0x03d942ad, 0x016605f0, 0x01592006, 0x01a3d562, 0x00103ba4}}}, + {X: Field{[10]uint32{0x0206ac9a, 0x0397cab5, 0x01078e8d, 0x011fe432, 0x01add7cb, 0x0143482b, 0x01f60297, 0x015582dc, 0x0109781d, 0x0003a61e}}, Y: Field{[10]uint32{0x029819d2, 0x01d3c63b, 0x00907102, 0x037ab233, 0x01c55318, 0x031786a0, 0x02a346f5, 0x036b3fff, 0x02c34c80, 0x0001c486}}}, + {X: Field{[10]uint32{0x01e1dcef, 0x02cefd18, 0x00a7d1d2, 0x02a5d7a1, 0x025c84bc, 0x00e5515b, 0x00ee62ae, 0x02035ff0, 0x011d1587, 0x000a47fc}}, Y: Field{[10]uint32{0x03ec2616, 0x000d9a94, 0x02ceec23, 0x00de4cd6, 0x0171e79e, 0x00892a51, 0x00298ce8, 0x02152d9c, 0x03e8abb6, 0x00317232}}}, + {X: Field{[10]uint32{0x01e315b4, 0x02600fbf, 0x03d824bd, 0x005ae37f, 0x01efda7d, 0x01cea84c, 0x03d9e573, 0x02d4f90a, 0x03909e28, 0x0012b6c4}}, Y: Field{[10]uint32{0x00b1456a, 0x03b37d75, 0x023eefa2, 0x00093f79, 0x0124eb70, 0x0303266c, 0x00a796e5, 0x02b9f25c, 0x0312b827, 0x0019b5fa}}}, + {X: Field{[10]uint32{0x027591ff, 0x029c0936, 0x033846b3, 0x0237902f, 0x0201707a, 0x00951807, 0x007e47b2, 0x003bf78f, 0x034b9524, 0x00157897}}, Y: Field{[10]uint32{0x00c830c2, 0x038ad6de, 0x022664b1, 0x038c8ba0, 0x03e4491a, 0x00b72e82, 0x03000b37, 0x0181b5d0, 0x017b7e98, 0x003a7c89}}}, + {X: Field{[10]uint32{0x02747eca, 0x00016c7e, 0x03ad8aa3, 0x00063084, 0x01388ddd, 0x0118e0d3, 0x03a6d8d5, 0x03f0caf9, 0x0093e41d, 0x0034939d}}, Y: Field{[10]uint32{0x00c26cac, 0x02de18d2, 0x01e93fc4, 0x028260ae, 0x026d7feb, 0x0053527c, 0x01f5bee4, 0x012c597a, 0x0216a51b, 0x0039cea0}}}, + {X: Field{[10]uint32{0x01fd8b2a, 0x03ba84d8, 0x027d9ed8, 0x01880648, 0x03caa035, 0x03b586bd, 0x03e46003, 0x0176872d, 0x02526d01, 0x0029442c}}, Y: Field{[10]uint32{0x02bea726, 0x0174bce2, 0x01adc356, 0x03ca8004, 0x01eaa2b2, 0x0031b11e, 0x02b15a28, 0x02aee98f, 0x02a09015, 0x000f6630}}}, + {X: Field{[10]uint32{0x03b314d1, 0x030ad221, 0x01f4f6b8, 0x039bf9a0, 0x008404cd, 0x029575db, 0x03ac63cc, 0x00035456, 0x00d81275, 0x00301341}}, Y: Field{[10]uint32{0x034d9d59, 0x01019eb6, 0x02e1b98c, 0x01637dff, 0x00e3cd44, 0x006f0205, 0x00db9373, 0x003aea67, 0x01779fb8, 0x0032cff3}}}, + {X: Field{[10]uint32{0x02bd0649, 0x01c3e43b, 0x0245a0df, 0x03fe9e24, 0x006b5dd2, 0x023fe9dc, 0x0051e691, 0x00cd5eea, 0x0061146c, 0x003b271f}}, Y: Field{[10]uint32{0x01186170, 0x03438f4f, 0x027a4daf, 0x0026c498, 0x03b36b07, 0x02458648, 0x028803ce, 0x01a48f01, 0x03fa10ca, 0x00268274}}}, + {X: Field{[10]uint32{0x020488cc, 0x033b5602, 0x030640ba, 0x0044b294, 0x03b25985, 0x02017952, 0x037e8403, 0x013117d2, 0x013f5d50, 0x002577d7}}, Y: Field{[10]uint32{0x00e8ecc6, 0x01ab5213, 0x00c21c7a, 0x036dd0f7, 0x0235079c, 0x00facc16, 0x03d1ef32, 0x014c16c1, 0x018589b8, 0x00290f73}}}, + {X: Field{[10]uint32{0x033a6d16, 0x00b511d8, 0x016510c7, 0x0135aec6, 0x012fc8ec, 0x0177fe52, 0x02bf50eb, 0x00314b11, 0x020c3a95, 0x002e3bb3}}, Y: Field{[10]uint32{0x01583744, 0x02c23875, 0x0384b8d0, 0x00b338fe, 0x024a4957, 0x025a68b0, 0x02c1460d, 0x02fe0ee9, 0x02a31b75, 0x001d3a50}}}, + {X: Field{[10]uint32{0x02dd09a2, 0x002fc71c, 0x000ba052, 0x01df178b, 0x00c82b2d, 0x014487a8, 0x01eac517, 0x0270894f, 0x0216d1f6, 0x001667b3}}, Y: Field{[10]uint32{0x0111bb14, 0x00f48c6a, 0x038599f7, 0x01c99908, 0x00b2fdb6, 0x035eebd2, 0x00e2e725, 0x00f43b76, 0x00c325af, 0x00012284}}}, + {X: Field{[10]uint32{0x0282ab32, 0x017f37c3, 0x023bc35a, 0x006eee93, 0x007fff71, 0x0186b360, 0x02fdfaa9, 0x0162a5b8, 0x02068d94, 0x002e2e96}}, Y: Field{[10]uint32{0x00f8ca4d, 0x0133b314, 0x007e32d4, 0x005db8ab, 0x03c2d824, 0x0134ca94, 0x00388454, 0x0160b824, 0x03227554, 0x00200d6a}}}, + {X: Field{[10]uint32{0x027e65f4, 0x017b45c8, 0x00c508c3, 0x020285c4, 0x03ae8063, 0x006c7ffc, 0x02d3d7af, 0x01e19795, 0x03e1cccd, 0x002da11a}}, Y: Field{[10]uint32{0x00bc7201, 0x039bed83, 0x0224177f, 0x03527039, 0x03361ee9, 0x0208c1d8, 0x0189f526, 0x017c2b7a, 0x00253294, 0x002ef6dc}}}, + {X: Field{[10]uint32{0x01a9d0fe, 0x0203fe03, 0x032ffc35, 0x02ce8464, 0x0120dd31, 0x0211b668, 0x0009e53f, 0x00aefbb4, 0x025e6987, 0x00287fe9}}, Y: Field{[10]uint32{0x02da215b, 0x00116c73, 0x02adadc0, 0x032c9a11, 0x0331c210, 0x022dae9b, 0x00549996, 0x00efe774, 0x0180d576, 0x002a8cb9}}}, + {X: Field{[10]uint32{0x030d0fa2, 0x03e6885c, 0x02ebeb62, 0x035b7997, 0x022ad73c, 0x0033bc22, 0x008c7078, 0x0071f7d1, 0x036d6709, 0x0026ce05}}, Y: Field{[10]uint32{0x02609207, 0x01813b53, 0x019d26fb, 0x02206412, 0x0264a459, 0x023fd665, 0x02c86bab, 0x026dfbc7, 0x0319c0fb, 0x0008b49a}}}, + {X: Field{[10]uint32{0x01fd0cd2, 0x014a104d, 0x008981fa, 0x0135f7ab, 0x020accfa, 0x036ad0fe, 0x0132553b, 0x03193eec, 0x009e209d, 0x002f0b33}}, Y: Field{[10]uint32{0x015ccfa6, 0x0160c169, 0x0134374d, 0x004dc624, 0x01350d1d, 0x021e47ef, 0x034931ba, 0x03e22c19, 0x02dc176f, 0x0011cd9a}}}, + {X: Field{[10]uint32{0x00730f6a, 0x01f735c9, 0x03aa607a, 0x00d39fe4, 0x00d45187, 0x03ef4a8c, 0x0036f514, 0x00a98974, 0x00a16545, 0x00073800}}, Y: Field{[10]uint32{0x01c6811d, 0x0018abcd, 0x02c19ee3, 0x0336dac3, 0x03fa288a, 0x038f56fc, 0x0334baf3, 0x03c3b552, 0x03fb5b90, 0x00382440}}}, + {X: Field{[10]uint32{0x01e0031f, 0x033742b7, 0x0109d63d, 0x01a13682, 0x034cc63d, 0x02718911, 0x03b26a44, 0x019303a3, 0x029a887d, 0x00211b15}}, Y: Field{[10]uint32{0x0212c07e, 0x010231be, 0x03be47df, 0x0111de61, 0x0207dcbe, 0x013fc105, 0x03acf93d, 0x027e635f, 0x0353132c, 0x0000151d}}}, + {X: Field{[10]uint32{0x00fe59e9, 0x0207a95d, 0x00b82f5c, 0x007d5321, 0x03701f7b, 0x01a1ac62, 0x00585185, 0x01b88f27, 0x00f72865, 0x0018d96a}}, Y: Field{[10]uint32{0x0316c2eb, 0x0273e9fa, 0x0023fc8d, 0x02d5fff3, 0x01be27f2, 0x027302cf, 0x0151d46c, 0x0394f2b4, 0x01fda992, 0x00231f37}}}, + {X: Field{[10]uint32{0x012939fc, 0x019fe01f, 0x0237fbd2, 0x03d66314, 0x0371dc5b, 0x017a3f45, 0x01726195, 0x00f6365e, 0x033c89ae, 0x003b5097}}, Y: Field{[10]uint32{0x01a3590b, 0x03f580a6, 0x01d74daf, 0x0341b8f0, 0x02010c98, 0x0273c53d, 0x03285fd1, 0x0280ef35, 0x03dc14f7, 0x001089aa}}}, + {X: Field{[10]uint32{0x031f00c7, 0x01b728e5, 0x03d5662a, 0x01e8ba40, 0x0285a0bd, 0x02b8c42f, 0x0267f235, 0x01fafa35, 0x006c2e1b, 0x00336949}}, Y: Field{[10]uint32{0x01247f56, 0x020922ca, 0x013f6eae, 0x03cc879b, 0x0296b2c2, 0x006293fa, 0x00534ba3, 0x026cd246, 0x0296f8ea, 0x001e47bc}}}, + {X: Field{[10]uint32{0x00eaf99e, 0x01a968fd, 0x03bc6f90, 0x0260e1be, 0x02f5017d, 0x025a8470, 0x01d3f7e5, 0x030786fb, 0x00e6ce79, 0x002d0aa1}}, Y: Field{[10]uint32{0x0007e6ac, 0x03e903b5, 0x02610823, 0x0005c2c0, 0x03cc3d06, 0x01d427f2, 0x03fad5e4, 0x00dc60db, 0x00c960bb, 0x000b9c8b}}}, + {X: Field{[10]uint32{0x030bcf90, 0x01a807ea, 0x024c16d4, 0x0342ea14, 0x01be23ca, 0x021c021d, 0x03149df5, 0x03a6f2d0, 0x008ce1e2, 0x000d62f8}}, Y: Field{[10]uint32{0x039d1308, 0x00171107, 0x01b0034f, 0x0298d922, 0x03462318, 0x01bd4446, 0x00fe0bfb, 0x02b333d9, 0x02f070ba, 0x003cf13f}}}, + {X: Field{[10]uint32{0x0016a789, 0x02784d58, 0x03ac985c, 0x03de6d0c, 0x01427d16, 0x0115c410, 0x0374bfe1, 0x0188c293, 0x035de5b3, 0x000fb590}}, Y: Field{[10]uint32{0x0041f26f, 0x0249d898, 0x02d9104b, 0x01b56a95, 0x03ee0dc5, 0x014b4f7f, 0x03e677e3, 0x010f4ad6, 0x005e1427, 0x00071cba}}}, + {X: Field{[10]uint32{0x0016c910, 0x00f67989, 0x00610c25, 0x0142e494, 0x000afb7e, 0x01c85dbd, 0x000d7e26, 0x03685965, 0x022c580d, 0x000927df}}, Y: Field{[10]uint32{0x02a9f50c, 0x01c51ece, 0x02e486dc, 0x0021e7a5, 0x021630f5, 0x037378db, 0x030f8423, 0x0245ba3d, 0x031149e9, 0x001bf058}}}, + {X: Field{[10]uint32{0x009cc85f, 0x00379bb2, 0x00d4c69f, 0x01bdbd06, 0x0114d2d7, 0x014b2fe4, 0x00f6f0b7, 0x006e8c6c, 0x0144e838, 0x0025ecec}}, Y: Field{[10]uint32{0x0188724f, 0x00111372, 0x01dc2182, 0x01827904, 0x02f72822, 0x03c77a16, 0x00492570, 0x0082d685, 0x013033b7, 0x0019f26f}}}, + {X: Field{[10]uint32{0x03395a85, 0x03bbc697, 0x01b68cfa, 0x0038e57a, 0x0380610d, 0x00491421, 0x010fcaf4, 0x00a44947, 0x019e868b, 0x000ece11}}, Y: Field{[10]uint32{0x0225ce6f, 0x02392754, 0x023a3c3e, 0x00966c5f, 0x0391ec4c, 0x01dc917a, 0x00cc9a2b, 0x01d1531e, 0x00ddbfde, 0x002f9460}}}, + {X: Field{[10]uint32{0x02163ebf, 0x03f88725, 0x017efc54, 0x03452680, 0x0074fb35, 0x0209c3f4, 0x00974f44, 0x03822a45, 0x03909f33, 0x00139bc5}}, Y: Field{[10]uint32{0x02b9fd15, 0x03341e39, 0x026a3e56, 0x02035dd3, 0x000dcd28, 0x02a69793, 0x02d34913, 0x01c5596d, 0x038f06f4, 0x0003ed95}}}, + {X: Field{[10]uint32{0x015c75de, 0x02ccb68c, 0x01a9218d, 0x02ddd586, 0x0272e301, 0x00289597, 0x025a0a67, 0x024df5d0, 0x0063e408, 0x0024506b}}, Y: Field{[10]uint32{0x006d6045, 0x024713d5, 0x007a05de, 0x037ef5e1, 0x03f10b34, 0x00aa95f6, 0x0055e721, 0x030f84f3, 0x010a56be, 0x0034d78a}}}, + {X: Field{[10]uint32{0x015ba578, 0x00b1844e, 0x01aa2e21, 0x018a23b7, 0x00337c91, 0x013f2480, 0x01c006a0, 0x009d4559, 0x03ca7205, 0x003b26dc}}, Y: Field{[10]uint32{0x00224887, 0x014043cf, 0x039051b1, 0x01d53139, 0x01ba1922, 0x031d38bc, 0x015f3ab4, 0x00b9dce3, 0x02f5c1a2, 0x000df847}}}, + {X: Field{[10]uint32{0x021caca3, 0x016e06b3, 0x00d7ef0f, 0x0022f94c, 0x01aef502, 0x03aab1b9, 0x00430b1f, 0x024a3f38, 0x00e1bb1a, 0x0015bf05}}, Y: Field{[10]uint32{0x00209001, 0x01fcc1e4, 0x01865f6d, 0x01f30e36, 0x03b05e59, 0x0203d14a, 0x03101d7a, 0x00341e7c, 0x0084f868, 0x00139698}}}, + {X: Field{[10]uint32{0x017df731, 0x00ea2699, 0x021e4d80, 0x030fc603, 0x00cf3997, 0x003c6c8b, 0x037c3627, 0x0353320a, 0x001b2ceb, 0x002bb35d}}, Y: Field{[10]uint32{0x010b8e21, 0x0315f9fe, 0x03d4d8cc, 0x005c2bff, 0x02256bd3, 0x037426ce, 0x036356e8, 0x03d27c64, 0x03336c0d, 0x0017c412}}}, + {X: Field{[10]uint32{0x01836cb8, 0x03e2f505, 0x03f0d418, 0x01c8c70f, 0x039b5c10, 0x00c27a7a, 0x0222b9a4, 0x00f54892, 0x03af54f8, 0x00145899}}, Y: Field{[10]uint32{0x03efe4fc, 0x0248261e, 0x0313d865, 0x017628f6, 0x01cc37e8, 0x02dae10e, 0x02f6fd54, 0x00b05fd3, 0x009b9e06, 0x001061ce}}}, + {X: Field{[10]uint32{0x0066fed5, 0x023d50c9, 0x007e7f25, 0x0371b84a, 0x036e7658, 0x00e0ed3f, 0x01a03687, 0x0111cfe4, 0x02bd8d3f, 0x001a2efa}}, Y: Field{[10]uint32{0x017049c4, 0x018d6b42, 0x03c27048, 0x01e9a8e0, 0x008656fc, 0x025e356c, 0x027f7ccd, 0x026d09e9, 0x000f0ac9, 0x0033d8f2}}}, + {X: Field{[10]uint32{0x007b67be, 0x036fad6c, 0x018a2b90, 0x023e4259, 0x0049ba90, 0x02d4b079, 0x01592138, 0x01fa6d47, 0x02ab6946, 0x00083388}}, Y: Field{[10]uint32{0x0297ce2d, 0x008374b7, 0x00c3e68f, 0x03c52a77, 0x0331649f, 0x026e8b05, 0x032d17e4, 0x01cfda48, 0x007d9f41, 0x00158b68}}}, + {X: Field{[10]uint32{0x02798f78, 0x00582b1b, 0x00b07d04, 0x0241ffe0, 0x029c86cd, 0x014855e1, 0x03c1ec6a, 0x027e48eb, 0x02d3a4a5, 0x002d6df5}}, Y: Field{[10]uint32{0x029d4de5, 0x03cf9e7f, 0x02dbcb8e, 0x02e96efd, 0x0045b5ea, 0x034565ed, 0x03c55af4, 0x0097b836, 0x02c97751, 0x0034178c}}}, + {X: Field{[10]uint32{0x03f45df4, 0x0130c28c, 0x03d4acdc, 0x024dac1d, 0x023967e5, 0x01d7db6e, 0x023d848f, 0x0202c577, 0x00897a42, 0x002556f5}}, Y: Field{[10]uint32{0x01453a02, 0x03e5cd0f, 0x016b2749, 0x006d12c5, 0x01644826, 0x03c97700, 0x03b9fe5b, 0x026473bc, 0x03cb5d79, 0x0012efad}}}, + {X: Field{[10]uint32{0x020a5a98, 0x0391fe19, 0x02211201, 0x0126721d, 0x0150fee8, 0x02fd4dcd, 0x0002fe18, 0x00dc3acf, 0x015198e7, 0x0027d83a}}, Y: Field{[10]uint32{0x00d613cc, 0x00b13e93, 0x00a6a3a6, 0x03a98b8a, 0x03c865a7, 0x00c87626, 0x02570f59, 0x01619a80, 0x02a933ed, 0x0018e56a}}}, + {X: Field{[10]uint32{0x00d776ee, 0x03cb5394, 0x01468999, 0x01642895, 0x009c2b64, 0x02269c40, 0x00041c75, 0x00f436f9, 0x00b6f592, 0x001c207c}}, Y: Field{[10]uint32{0x028f9fc9, 0x02a7fdd9, 0x00758403, 0x028ca231, 0x0227f3f0, 0x02fca2d2, 0x02ec9c91, 0x00067a4e, 0x0005e067, 0x00272d80}}}, + {X: Field{[10]uint32{0x0369561f, 0x02adcecc, 0x023fffb0, 0x00161f99, 0x02b607d6, 0x0358fbe6, 0x00e982ab, 0x0169f06c, 0x01800d8d, 0x00038a40}}, Y: Field{[10]uint32{0x00d924f7, 0x022345f5, 0x01f7861b, 0x006850a6, 0x01993f74, 0x002d5394, 0x00ccc7b8, 0x02692894, 0x02fe7728, 0x001189dd}}}, + {X: Field{[10]uint32{0x00598bfb, 0x031590d6, 0x035212f4, 0x037f10b2, 0x00ac254c, 0x017231ad, 0x03d5939c, 0x02f57ad8, 0x0328b285, 0x0022ba9c}}, Y: Field{[10]uint32{0x01568ec2, 0x0064be02, 0x01e228e0, 0x03ba6436, 0x0213819a, 0x03281602, 0x00a559a8, 0x0157ffad, 0x027704fc, 0x002da0b6}}}, + {X: Field{[10]uint32{0x03256e68, 0x005e418b, 0x010feb3a, 0x01e877fa, 0x0127302d, 0x01619702, 0x00fc2874, 0x012d5fa9, 0x00b254b2, 0x003a7442}}, Y: Field{[10]uint32{0x03a128d0, 0x01ee4e6a, 0x032c48f6, 0x026a9169, 0x018d0ba6, 0x02bc50d9, 0x030fc0b1, 0x0367ef9e, 0x02746d29, 0x0003ffdc}}}, + {X: Field{[10]uint32{0x01ba0fee, 0x021ae1ab, 0x009136d8, 0x00505f4a, 0x00b81f29, 0x00a79332, 0x02d49094, 0x01f985e1, 0x013d1f31, 0x0027a87e}}, Y: Field{[10]uint32{0x0180ec0a, 0x031af91a, 0x036e45d9, 0x0002e564, 0x01975a5c, 0x03f7b845, 0x023ba6aa, 0x02cd45b9, 0x0325d3b0, 0x0008c77f}}}, + {X: Field{[10]uint32{0x001e7a0d, 0x006da352, 0x000c5718, 0x00042166, 0x0080701d, 0x00fa354c, 0x00d687c4, 0x02efb81f, 0x0015e5fa, 0x003a2849}}, Y: Field{[10]uint32{0x022f62c6, 0x02886e64, 0x005dd5d6, 0x03c8b80e, 0x030ac53b, 0x021d15c9, 0x0062f185, 0x039d1a65, 0x039ce263, 0x00375a60}}}, + {X: Field{[10]uint32{0x02c3def2, 0x011bfcc1, 0x02cefb44, 0x01009d8d, 0x02ed7968, 0x03db5706, 0x002e04c7, 0x01851687, 0x03baae48, 0x0038a1fc}}, Y: Field{[10]uint32{0x01968c63, 0x02e7efe7, 0x016e0be5, 0x0239f9af, 0x005bcfbe, 0x03c85560, 0x0053baef, 0x02c3a93b, 0x013d401d, 0x0024e550}}}, + {X: Field{[10]uint32{0x02ad1194, 0x02583755, 0x03927641, 0x00c9aadd, 0x01fb23e2, 0x0053239f, 0x01756eba, 0x016ac39e, 0x039cec20, 0x0023e67d}}, Y: Field{[10]uint32{0x0019a2ea, 0x03ffe67a, 0x02de8c5d, 0x013f27c2, 0x0089cbff, 0x0226c92f, 0x021b0da3, 0x01b5b8bd, 0x03e615cc, 0x00201654}}}, + {X: Field{[10]uint32{0x0366f586, 0x00f0d0f1, 0x03e14c6b, 0x0351ebcc, 0x013adb63, 0x01687fdb, 0x00dfb59e, 0x008eb783, 0x036a8cb7, 0x002721ea}}, Y: Field{[10]uint32{0x0165bb19, 0x031ba2aa, 0x002004ed, 0x038dd61d, 0x036a3699, 0x032073fd, 0x01012cbb, 0x035e79f5, 0x01227a3b, 0x001d1e60}}}, + {X: Field{[10]uint32{0x019dc00a, 0x03b1d776, 0x03c3ec75, 0x0141f622, 0x006042bd, 0x02d44bfd, 0x02a10b7f, 0x0177902e, 0x02086f24, 0x00314b21}}, Y: Field{[10]uint32{0x02b3f844, 0x016b80d2, 0x01cc2ca0, 0x01b017ed, 0x0385e540, 0x01f50bf9, 0x00762d83, 0x02e2f672, 0x013abae8, 0x003a30a0}}}, + {X: Field{[10]uint32{0x028dafb2, 0x0138582e, 0x030ded8d, 0x03f419aa, 0x000dd7c3, 0x02f58d2b, 0x039c6b6e, 0x02f89669, 0x02e194d5, 0x0002d8a1}}, Y: Field{[10]uint32{0x019b5910, 0x00e156a2, 0x034aa18b, 0x0090a80c, 0x0027eaaf, 0x01e64549, 0x03cdf7b4, 0x03c9c1dd, 0x02a8ee0b, 0x001cbb0b}}}, + {X: Field{[10]uint32{0x03086b6d, 0x035b4d0b, 0x024ce8c5, 0x02817cee, 0x0245c648, 0x01c32a26, 0x013792e3, 0x00be2dc8, 0x02f2045f, 0x0037ded5}}, Y: Field{[10]uint32{0x0196ab4a, 0x008eb985, 0x02cb43df, 0x0335765f, 0x0139ac18, 0x000e6e5b, 0x009fc90d, 0x02f73d08, 0x01483850, 0x000e1b3b}}}, + {X: Field{[10]uint32{0x0146a3b0, 0x03341a1b, 0x0020f48e, 0x00dd9d79, 0x01459b2b, 0x0192aad6, 0x01110eda, 0x008d5cfa, 0x009f4cd4, 0x000ab3d3}}, Y: Field{[10]uint32{0x022cc579, 0x00a15f56, 0x000cff62, 0x02be5513, 0x0258b37b, 0x009487fe, 0x01ff9bbd, 0x03a60737, 0x0029aea5, 0x0017c696}}}, + {X: Field{[10]uint32{0x00d33f36, 0x02da1367, 0x03877586, 0x02b29082, 0x026a64f2, 0x00d48dcb, 0x010033db, 0x034de1c8, 0x01aaeb55, 0x002febe5}}, Y: Field{[10]uint32{0x00a3d8ee, 0x000f36ac, 0x03b0f608, 0x00b97c50, 0x0378c6ed, 0x02fe7b20, 0x02fce3eb, 0x039db8a8, 0x0313bb61, 0x001f48ae}}}, + {X: Field{[10]uint32{0x00f31421, 0x035f635d, 0x01f6a6ad, 0x02a4528a, 0x01faacb6, 0x01627329, 0x0393c9ef, 0x02a24369, 0x03604eab, 0x001e3374}}, Y: Field{[10]uint32{0x0219a634, 0x028e373a, 0x00bfd327, 0x023bebfd, 0x0376430c, 0x02d788a1, 0x030d60ef, 0x0007445a, 0x001505b8, 0x003b5fa7}}}, + {X: Field{[10]uint32{0x01213d2e, 0x010f08a3, 0x00276d98, 0x0131f2da, 0x01edb894, 0x019aa292, 0x03977135, 0x00e47f1e, 0x03a9050a, 0x003cbaf3}}, Y: Field{[10]uint32{0x00fa4eaa, 0x03d79e2c, 0x01900bb3, 0x00593cf7, 0x0309513d, 0x01a754d3, 0x03a180c5, 0x027c4f14, 0x030d956f, 0x002c71d8}}}, + {X: Field{[10]uint32{0x02af4c2b, 0x0142e746, 0x00adfca8, 0x02aba056, 0x02857593, 0x01154bab, 0x00199433, 0x032ecc33, 0x020d83bf, 0x00010f35}}, Y: Field{[10]uint32{0x007e8f62, 0x02784418, 0x0130247e, 0x00313f33, 0x01099623, 0x00926633, 0x023d6592, 0x0079ae78, 0x02b10f72, 0x003fd92e}}}, + {X: Field{[10]uint32{0x038ea93c, 0x0025c27c, 0x01315f92, 0x03ee97b0, 0x0302168d, 0x009fc4ed, 0x020c3a3b, 0x012775ef, 0x00e0c01a, 0x00106497}}, Y: Field{[10]uint32{0x00f77110, 0x03c362e5, 0x02c26c48, 0x01dbc512, 0x01a725a6, 0x02c0b66a, 0x02f49c19, 0x002b0068, 0x015ecb6a, 0x0014d1ae}}}, + {X: Field{[10]uint32{0x023877e5, 0x03b396cc, 0x03eee3e6, 0x00c9f89b, 0x000fa1c2, 0x0343b836, 0x011bb478, 0x00b60aa1, 0x02106c76, 0x003f48c4}}, Y: Field{[10]uint32{0x016fa162, 0x00bead3e, 0x0266e7eb, 0x018876cf, 0x014bf334, 0x00d3bb70, 0x03748d62, 0x03b3a2eb, 0x0316f5a6, 0x000e5d8c}}}, + {X: Field{[10]uint32{0x00556ef7, 0x01a0f63d, 0x01cb26ea, 0x012c0341, 0x03d5ad68, 0x028f4727, 0x0254a0a0, 0x02f87cda, 0x0298cb7a, 0x003f8fa2}}, Y: Field{[10]uint32{0x031223bf, 0x02503813, 0x0346c3fa, 0x01d6af81, 0x00837b44, 0x02b56992, 0x03f05f9b, 0x00198e87, 0x027734d8, 0x001f4881}}}, + {X: Field{[10]uint32{0x035ec5dd, 0x023adcd3, 0x01ab69ba, 0x02521060, 0x0338232e, 0x01c5c5f6, 0x03f9b1d2, 0x006f7130, 0x0364ae0d, 0x003980a9}}, Y: Field{[10]uint32{0x00916fdb, 0x00f9bd33, 0x03450d51, 0x03d5ed20, 0x028bc9be, 0x02dded20, 0x001f9516, 0x022c400b, 0x00aa2626, 0x002b440e}}}, + {X: Field{[10]uint32{0x0181e086, 0x02f1bfe3, 0x0364eeb0, 0x00b40d91, 0x03321814, 0x01774e46, 0x01cd9620, 0x01cb65c6, 0x01cfadb7, 0x0021c625}}, Y: Field{[10]uint32{0x0337722e, 0x0322658f, 0x029cb555, 0x03293989, 0x00dda2c9, 0x00e184d4, 0x011ef565, 0x01908675, 0x0064f791, 0x00126824}}}, + {X: Field{[10]uint32{0x03a7e4b4, 0x00e83803, 0x0107f4ab, 0x013d3052, 0x028ed4ec, 0x03ef315b, 0x014ec278, 0x01601720, 0x016e7775, 0x00388a75}}, Y: Field{[10]uint32{0x00e48af2, 0x02ae4205, 0x03ce5795, 0x026ab9ba, 0x006d4265, 0x00f3abaa, 0x017a46b6, 0x020156fb, 0x02bd66d6, 0x00336c1f}}}, + {X: Field{[10]uint32{0x00bbf8ed, 0x02a54dda, 0x01dd6ca4, 0x02be9c2b, 0x03471066, 0x034835a3, 0x00a31189, 0x0321a223, 0x03856b0c, 0x000154d7}}, Y: Field{[10]uint32{0x030ac5e8, 0x012096dd, 0x02c296ab, 0x014d3de9, 0x01f6f529, 0x030c81a8, 0x027822fa, 0x00a99e10, 0x0044245e, 0x00219572}}}, + {X: Field{[10]uint32{0x00767ad6, 0x00d7b949, 0x0130c0dd, 0x00843edc, 0x00b8c48d, 0x00f4419b, 0x000d78e0, 0x033a6b89, 0x01054b37, 0x0004195e}}, Y: Field{[10]uint32{0x03e125f5, 0x02077520, 0x02be2e8b, 0x02bf84ce, 0x004393a5, 0x000d57dc, 0x00eb013c, 0x0186400a, 0x037a508a, 0x0014a0da}}}, + {X: Field{[10]uint32{0x00868c1c, 0x02c3fce8, 0x00e4be6c, 0x00321d0a, 0x00e796db, 0x00d11dde, 0x029e311e, 0x03408e67, 0x02072521, 0x000cd9ac}}, Y: Field{[10]uint32{0x0311638c, 0x0168a350, 0x00ae3025, 0x0191d28d, 0x00ac908c, 0x026660e5, 0x032f15d3, 0x0374b29f, 0x02a422a8, 0x003b1808}}}, + {X: Field{[10]uint32{0x035953ca, 0x00c0c582, 0x03332f26, 0x01919905, 0x0291bd01, 0x027f6d07, 0x0208a1f5, 0x0391b1cd, 0x0396339b, 0x00129e24}}, Y: Field{[10]uint32{0x01b4c442, 0x008fbe79, 0x021013a1, 0x011ab86e, 0x016e6e03, 0x03ae1863, 0x01c0af84, 0x02b51602, 0x017f615a, 0x003516d9}}}, + {X: Field{[10]uint32{0x01f1302e, 0x0251f8e2, 0x030fcae9, 0x02d5eae7, 0x00d75d70, 0x037d818a, 0x00c64ad4, 0x0271ff70, 0x0084fa0a, 0x003b93c9}}, Y: Field{[10]uint32{0x01f80170, 0x03afd082, 0x003cbf81, 0x00fd1e95, 0x03409207, 0x036add28, 0x03dbd0d8, 0x037ebb7d, 0x0094d8ec, 0x0014adde}}}, + {X: Field{[10]uint32{0x01f30a1f, 0x02567f89, 0x02c0eaf9, 0x01831421, 0x039aa9b7, 0x000d7da8, 0x037fbb83, 0x0089bde4, 0x035c163f, 0x00010256}}, Y: Field{[10]uint32{0x01dff7ab, 0x011f1601, 0x025aad55, 0x00ca4c11, 0x006a15d0, 0x030167d9, 0x03145955, 0x01353ba6, 0x00ac6555, 0x00073860}}}, + {X: Field{[10]uint32{0x00436a24, 0x03318bec, 0x034943d6, 0x02734bd4, 0x037a36a5, 0x00062fee, 0x02ecd9fd, 0x02750904, 0x013b067d, 0x001a8897}}, Y: Field{[10]uint32{0x027c2701, 0x0213e67a, 0x008da6a3, 0x02f31cf1, 0x03cc698a, 0x00c0164b, 0x023c91ee, 0x038332a8, 0x023d9352, 0x000a6cf5}}}, + {X: Field{[10]uint32{0x01d36e93, 0x0343235c, 0x0057cf46, 0x015253c8, 0x02172492, 0x00fd2e78, 0x0153a89e, 0x02eeff1a, 0x0241e5f9, 0x0008fbea}}, Y: Field{[10]uint32{0x00db789d, 0x023924df, 0x0386ef21, 0x02844c56, 0x0188cea3, 0x0309a486, 0x03d70755, 0x01c68816, 0x03b17f26, 0x00332269}}}, + {X: Field{[10]uint32{0x033ae55f, 0x02b42053, 0x0066a258, 0x01afd8df, 0x02f97217, 0x028e62b8, 0x01591bd6, 0x02655d63, 0x0297f7f9, 0x0038c307}}, Y: Field{[10]uint32{0x026509e1, 0x0192c061, 0x02df311e, 0x0155a096, 0x013e8e47, 0x034a6f62, 0x01edb4d4, 0x03a497f0, 0x036c3e66, 0x00069c32}}}, + {X: Field{[10]uint32{0x0308e278, 0x0328caf7, 0x01265b57, 0x02444f23, 0x03f05aac, 0x018061da, 0x0212f534, 0x005b54ad, 0x0382acd4, 0x002f9935}}, Y: Field{[10]uint32{0x03ad7e4a, 0x01ab3561, 0x0261f946, 0x017d6887, 0x03bff8f1, 0x00f2d413, 0x03b81c87, 0x00df24a4, 0x004a43e8, 0x001e9061}}}, + {X: Field{[10]uint32{0x023822ac, 0x00930e3c, 0x0145076d, 0x02e35291, 0x0073ada0, 0x00bf7cbc, 0x032b4c28, 0x02987019, 0x02bee009, 0x0032ab00}}, Y: Field{[10]uint32{0x0216d06f, 0x03298be4, 0x008ea500, 0x013f1984, 0x0172a9a6, 0x01711579, 0x02cc3047, 0x03d3888e, 0x00bba040, 0x001f64f9}}}, + {X: Field{[10]uint32{0x0284ccb3, 0x03b079c1, 0x02860fc0, 0x030e1b43, 0x03c1ef94, 0x0385c66c, 0x009321e0, 0x03aa5248, 0x01b03a9c, 0x0036894e}}, Y: Field{[10]uint32{0x023cf9f5, 0x0172fc33, 0x01f15779, 0x01bda8cf, 0x00b1b130, 0x0019fa69, 0x03f601f8, 0x033a8bd9, 0x0387bef1, 0x003a1784}}}, + {X: Field{[10]uint32{0x019cc0ed, 0x003a4d9e, 0x00198070, 0x01eefa6d, 0x024ce4fe, 0x03673ee9, 0x03c1bd8a, 0x01492192, 0x01525c96, 0x002fcbb9}}, Y: Field{[10]uint32{0x0058f18e, 0x00c0c3d8, 0x0304f634, 0x02639d80, 0x035df423, 0x000ce408, 0x01529bc3, 0x02289284, 0x021db129, 0x0022277a}}}, + {X: Field{[10]uint32{0x03abde36, 0x0259f051, 0x0226430b, 0x00a9c829, 0x01113060, 0x0290b18d, 0x024c9ff7, 0x00d98a7f, 0x0141cb0c, 0x002cf92c}}, Y: Field{[10]uint32{0x02865657, 0x01f22a94, 0x01f56a7d, 0x02ecb906, 0x03eff979, 0x035abffa, 0x00ff83e5, 0x020a3631, 0x0118c38a, 0x003d9bdc}}}, + {X: Field{[10]uint32{0x009475a0, 0x01ee9622, 0x03e01496, 0x024d8f0c, 0x0124a255, 0x02888d92, 0x01818265, 0x00846844, 0x024ffad7, 0x001147ac}}, Y: Field{[10]uint32{0x00565bb6, 0x01506791, 0x001a21fe, 0x0316fec5, 0x034cb2f8, 0x0307ccf8, 0x01bd3211, 0x030ede69, 0x014049f6, 0x002227fe}}}, + {X: Field{[10]uint32{0x00f5984c, 0x019741ce, 0x03c53b5d, 0x02fd2f03, 0x03ea4c77, 0x012e2bcc, 0x027a0b0c, 0x011de084, 0x018a6a75, 0x000a6ad9}}, Y: Field{[10]uint32{0x03f0f2c1, 0x0380688a, 0x016d215e, 0x02aae02c, 0x02947b8b, 0x01cb69af, 0x0219f9ad, 0x01b0ec29, 0x01a9c77d, 0x002aac6f}}}, + {X: Field{[10]uint32{0x017b24db, 0x026cd04a, 0x038ac287, 0x026b1953, 0x0209d9e7, 0x0076967e, 0x03bb9c0d, 0x03089016, 0x0007d815, 0x0026d671}}, Y: Field{[10]uint32{0x0276d190, 0x006ae369, 0x0376cc76, 0x02d826c6, 0x0117bb35, 0x02eb302a, 0x0027811a, 0x0004530a, 0x018ee630, 0x00293bc1}}}, + {X: Field{[10]uint32{0x026c9fd0, 0x01939d29, 0x0220fc05, 0x01e94ab1, 0x0378e69a, 0x01b0eb1d, 0x01b970e7, 0x02e5d62e, 0x036582ae, 0x0021f49e}}, Y: Field{[10]uint32{0x03511e03, 0x0026384d, 0x00b1acd9, 0x01724c9a, 0x0004d03d, 0x03c1fd07, 0x0083e087, 0x024cdd07, 0x03ccdec2, 0x000ffcec}}}, + {X: Field{[10]uint32{0x009701dc, 0x02e9bda6, 0x00bf4d9b, 0x020edc36, 0x037fe7d3, 0x01af2e4e, 0x005a0ab3, 0x02058ef6, 0x004d3895, 0x003eecda}}, Y: Field{[10]uint32{0x03b94504, 0x02f89921, 0x014c0301, 0x0109a297, 0x01759e73, 0x00981b42, 0x01c2af7b, 0x02cef443, 0x01c6c9c5, 0x001ec1f3}}}, + {X: Field{[10]uint32{0x0314a453, 0x033de7d0, 0x034eacc7, 0x0253e549, 0x01a3ef14, 0x019b9629, 0x03cc1adc, 0x00ae7488, 0x02e4ccc4, 0x0020808a}}, Y: Field{[10]uint32{0x01d2b695, 0x03439245, 0x02a3bb5c, 0x017a6a3a, 0x003a8180, 0x02d36d14, 0x030481a9, 0x00b6841b, 0x02509ddf, 0x00309090}}}, + {X: Field{[10]uint32{0x0220f901, 0x03b2562f, 0x0001a1db, 0x01f15f42, 0x01ab4e65, 0x0247e25d, 0x02475fae, 0x032cdeef, 0x005b3b51, 0x002e9735}}, Y: Field{[10]uint32{0x0341b0a5, 0x00e807b3, 0x0016478e, 0x0062d639, 0x007f9eb7, 0x026394c9, 0x007eddd2, 0x03d638d0, 0x03c0f8b4, 0x000b8353}}}, + {X: Field{[10]uint32{0x026703fc, 0x00197622, 0x02d277cd, 0x00eb7d6d, 0x02cfadaf, 0x00f9cb88, 0x02b44445, 0x0346f9da, 0x0041b316, 0x0004a4f2}}, Y: Field{[10]uint32{0x0133c2fa, 0x01c2ab54, 0x01749286, 0x01122012, 0x002488f1, 0x01081c27, 0x004ab523, 0x012622e1, 0x033740fb, 0x00263d63}}}, + {X: Field{[10]uint32{0x035015c6, 0x02aa6237, 0x037c2c69, 0x03923610, 0x03987d77, 0x022b8db1, 0x03972dea, 0x006f6b6e, 0x03c854bf, 0x003b27ec}}, Y: Field{[10]uint32{0x01486d3f, 0x01047329, 0x00cb2a00, 0x0152ff3b, 0x00fe425d, 0x020c9583, 0x01d6b364, 0x03a5d258, 0x03fdea59, 0x00357cd6}}}, + {X: Field{[10]uint32{0x0144d244, 0x01372dc9, 0x02d62769, 0x03b1ab6b, 0x029950ea, 0x039f563d, 0x03d44662, 0x016da5b2, 0x003f4cd5, 0x000bb338}}, Y: Field{[10]uint32{0x03f68879, 0x01857990, 0x0082f0f6, 0x00ff79e4, 0x00d1bc79, 0x001f3133, 0x01403cae, 0x03dd1fab, 0x00a97f1c, 0x003853cc}}}, + {X: Field{[10]uint32{0x026fb3b2, 0x000973d5, 0x03c3d77c, 0x02beb141, 0x024c6ad5, 0x01bdbbe2, 0x025e7fa5, 0x039481e0, 0x037fa63e, 0x003b63eb}}, Y: Field{[10]uint32{0x03684a9d, 0x0011b620, 0x008f2c9b, 0x03123afe, 0x01cb0636, 0x03e8f953, 0x02f10407, 0x009cf296, 0x00b8ab21, 0x00037c48}}}, + {X: Field{[10]uint32{0x00c32e4f, 0x01e317c5, 0x023a5bc0, 0x027cf0a3, 0x030bf3fd, 0x00c3f645, 0x02b456af, 0x036afb07, 0x037b8780, 0x0011f2e3}}, Y: Field{[10]uint32{0x00aa3203, 0x00c6f4ad, 0x029af669, 0x006625e3, 0x02c5889d, 0x0087b8b7, 0x02fc948f, 0x02a9b1a2, 0x02021f16, 0x003e181e}}}, + {X: Field{[10]uint32{0x01762009, 0x0056890f, 0x025cacf2, 0x011c78e3, 0x02d49620, 0x02bf9c3a, 0x01a3ee38, 0x02acbcee, 0x02c1fdeb, 0x001d8d96}}, Y: Field{[10]uint32{0x0253aa28, 0x03146d53, 0x01c3211f, 0x00d03737, 0x025d7783, 0x01f517e9, 0x037d3a69, 0x02d803fc, 0x03728b4b, 0x000b2b2b}}}, + {X: Field{[10]uint32{0x0027b424, 0x00cc27b3, 0x00ea8a23, 0x0078461a, 0x039f0931, 0x018fb720, 0x03750550, 0x03954b84, 0x01e099b8, 0x00327757}}, Y: Field{[10]uint32{0x00f8c1a5, 0x0088daee, 0x039e4b38, 0x022ec45f, 0x0338163a, 0x02bf9f4a, 0x00f134ae, 0x017adf1a, 0x02384e61, 0x0012f534}}}, + {X: Field{[10]uint32{0x010a8961, 0x0164cb6b, 0x02a3183e, 0x02de08b8, 0x009a1e08, 0x036f2dbe, 0x01c2f96b, 0x01baf1f0, 0x03adcc40, 0x0008ada9}}, Y: Field{[10]uint32{0x020ac794, 0x007b77eb, 0x02d5e22c, 0x0389dd4d, 0x0287b553, 0x00d2bcb5, 0x02be9a95, 0x013d3f4b, 0x0095bab2, 0x0014ae18}}}, + {X: Field{[10]uint32{0x0381a158, 0x006a6da7, 0x00d24a33, 0x0012cb79, 0x0296f06c, 0x02adfdaf, 0x03017fec, 0x01f7c30d, 0x00a749fa, 0x000fba02}}, Y: Field{[10]uint32{0x0039cb4a, 0x008f0709, 0x02d0c01e, 0x015b6107, 0x016c4b13, 0x01933ff9, 0x03dc1740, 0x027b3621, 0x00ef5f1f, 0x000fa553}}}, + {X: Field{[10]uint32{0x00fa4803, 0x027088ae, 0x0048f3e4, 0x0009c10c, 0x00aa97d3, 0x0356d890, 0x0269ae44, 0x01225837, 0x00588a7a, 0x000a4e2f}}, Y: Field{[10]uint32{0x01ada03e, 0x0015340e, 0x0081865b, 0x0071672d, 0x029ea59a, 0x029ba80a, 0x034826cb, 0x00764379, 0x02619fad, 0x003c9aef}}}, + {X: Field{[10]uint32{0x01a15451, 0x025df5f8, 0x030b12c3, 0x01737dca, 0x0094962e, 0x037d0c9d, 0x03ea34f5, 0x03277932, 0x00ecda97, 0x001a0956}}, Y: Field{[10]uint32{0x01fedc6c, 0x02092bee, 0x0220f112, 0x00cd6bad, 0x028b543f, 0x023b1b31, 0x0253c4cc, 0x0004fc64, 0x036522c7, 0x003130b9}}}, + {X: Field{[10]uint32{0x02493620, 0x029a2d01, 0x03d8c08b, 0x00243dfd, 0x010cbfad, 0x007cf411, 0x036811de, 0x003695e7, 0x0068fc52, 0x001c8363}}, Y: Field{[10]uint32{0x004c9cb5, 0x01517899, 0x03a2950d, 0x030ed217, 0x0107ac26, 0x02eecc6a, 0x016fd4b8, 0x01b41813, 0x00a84f7a, 0x002e19fa}}}, + {X: Field{[10]uint32{0x00b84831, 0x01fd7afd, 0x029e02a1, 0x00beceb2, 0x01994d5d, 0x030118ea, 0x02153ec6, 0x019634d5, 0x03e71bdf, 0x00259fec}}, Y: Field{[10]uint32{0x007cc83f, 0x0180bad5, 0x03a094cf, 0x03271e21, 0x03e3cddf, 0x0326a135, 0x01d0926e, 0x0092ccbd, 0x01f88617, 0x002e1299}}}, + {X: Field{[10]uint32{0x03cedc85, 0x029063a2, 0x03d88db2, 0x0353e19c, 0x0273f6eb, 0x03bc4ee6, 0x01fc1131, 0x030f7a39, 0x025c77ec, 0x000767f4}}, Y: Field{[10]uint32{0x028035d7, 0x02b713ab, 0x030e4aa6, 0x032758af, 0x03033012, 0x00fe908c, 0x03ff58e2, 0x003ed2fe, 0x0301d972, 0x00152818}}}, + {X: Field{[10]uint32{0x01311c0a, 0x033aa27c, 0x0144a0b4, 0x027e4143, 0x017d0402, 0x00d1b8ce, 0x00dff5ff, 0x01ebcc45, 0x0158a113, 0x002004e0}}, Y: Field{[10]uint32{0x025a6b31, 0x008d2a9a, 0x01c36bdd, 0x0225f157, 0x00bc5e94, 0x028ebf9c, 0x01cc712d, 0x02b06309, 0x0076e6d6, 0x0005bd26}}}, + {X: Field{[10]uint32{0x03ef632f, 0x00de4cf0, 0x00c55c6c, 0x006088aa, 0x0233aa34, 0x0041f7c8, 0x020906b3, 0x0161138e, 0x002177fa, 0x0002aad0}}, Y: Field{[10]uint32{0x0201b092, 0x0139780c, 0x03d2f703, 0x00e669fe, 0x019a0620, 0x028225c4, 0x02d58767, 0x0373b4e0, 0x008f3ad0, 0x0026e0c8}}}, + {X: Field{[10]uint32{0x03a72f10, 0x004bc4c3, 0x00fe1d36, 0x00dc52ef, 0x003c5232, 0x00052f98, 0x02f1e3b3, 0x03d19367, 0x014c7670, 0x0023cff4}}, Y: Field{[10]uint32{0x0205c68e, 0x01b022d0, 0x030a4b54, 0x03d75c70, 0x02862ef6, 0x032181b9, 0x03a593a5, 0x02e07eef, 0x00947901, 0x002132dc}}}, + {X: Field{[10]uint32{0x021f4933, 0x0254fb52, 0x00d88e49, 0x000cc32e, 0x00df69a9, 0x00e5e7b2, 0x034578a3, 0x0301bfab, 0x011caba3, 0x000eea72}}, Y: Field{[10]uint32{0x026f99cc, 0x03b91ede, 0x0072f582, 0x016ed248, 0x03fdcff6, 0x01646efb, 0x00107990, 0x0188c7a1, 0x034c3eb6, 0x001c1229}}}, + {X: Field{[10]uint32{0x00f36a7c, 0x026a72b7, 0x006455f2, 0x0070a618, 0x017344c2, 0x027db2d8, 0x01524682, 0x02c38354, 0x03d289da, 0x000be30d}}, Y: Field{[10]uint32{0x03508396, 0x01d3503a, 0x00201d2f, 0x024dea0d, 0x014223d0, 0x0271e659, 0x02f145e6, 0x01c43afe, 0x024e9d02, 0x000dfc2d}}}, + {X: Field{[10]uint32{0x02dce846, 0x0310329d, 0x012d300e, 0x00a33b6f, 0x0273fc61, 0x02995bf2, 0x03f60500, 0x02749ee1, 0x03a2c920, 0x001179ba}}, Y: Field{[10]uint32{0x035f16ec, 0x018b24ef, 0x02d908a0, 0x015d399a, 0x02813867, 0x03b88960, 0x0091a635, 0x020aef47, 0x0144ba18, 0x0028f8a3}}}, + {X: Field{[10]uint32{0x01767ee9, 0x03ee2c7f, 0x023cc605, 0x026e62b4, 0x0182ea7d, 0x03a10b67, 0x027143ff, 0x03348d11, 0x03d380a0, 0x00297b34}}, Y: Field{[10]uint32{0x0311353f, 0x029b8a53, 0x03b959be, 0x00cc3459, 0x02c9ab6c, 0x0140573c, 0x0331fe5b, 0x0109a4fe, 0x00238ea8, 0x0008bc4a}}}, + {X: Field{[10]uint32{0x0174be83, 0x00ffe400, 0x034a2c94, 0x02a7fd80, 0x0051eb66, 0x0060dd3a, 0x03698213, 0x00ec3510, 0x0271c466, 0x003dfd16}}, Y: Field{[10]uint32{0x0346fce5, 0x030290d6, 0x021498ac, 0x01b3d4be, 0x017fbdf4, 0x01a8ca07, 0x013d6e3e, 0x025fd503, 0x03cd4ec1, 0x000e858c}}}, + {X: Field{[10]uint32{0x007cb59c, 0x02c9d2d2, 0x00832a94, 0x020a957b, 0x0252bf6c, 0x015c5f50, 0x0303b7de, 0x01385d6b, 0x02866b31, 0x00249608}}, Y: Field{[10]uint32{0x02811f68, 0x03c149d2, 0x004a0369, 0x00b377eb, 0x03d6c2f5, 0x01256ef1, 0x02346700, 0x00277194, 0x01847368, 0x003f23a5}}}, + {X: Field{[10]uint32{0x02556da4, 0x01db3043, 0x027b5a7f, 0x03c53754, 0x011d7849, 0x02b9be9d, 0x017fa966, 0x034028bd, 0x00d32303, 0x003057fa}}, Y: Field{[10]uint32{0x01c10951, 0x03ec4260, 0x00d067b5, 0x01ab8ba7, 0x03e017c0, 0x00334d22, 0x03c445c5, 0x037fc699, 0x03d04685, 0x000d890a}}}, + {X: Field{[10]uint32{0x022b5355, 0x013d8331, 0x03e5ca46, 0x00d9f5ca, 0x0004dd71, 0x01c2fc35, 0x00372df2, 0x029838c4, 0x0026152a, 0x000127be}}, Y: Field{[10]uint32{0x00c4c645, 0x01f4b2c8, 0x02165d9c, 0x00bad597, 0x024e369d, 0x01ea4f85, 0x01c572c7, 0x01202e68, 0x03a20dc4, 0x001f2b52}}}, + {X: Field{[10]uint32{0x0091a18f, 0x02b848a7, 0x006a3be4, 0x0077b59a, 0x03629b2f, 0x018c4cf8, 0x02c876e1, 0x03e53f84, 0x01e7538f, 0x00323782}}, Y: Field{[10]uint32{0x017c2635, 0x02d891da, 0x03e885ea, 0x003c69db, 0x029cecb1, 0x01825958, 0x031e872d, 0x02228417, 0x031fe580, 0x002d69fc}}}, + {X: Field{[10]uint32{0x02abb344, 0x007ffae5, 0x00576946, 0x0067bdd9, 0x016b3d51, 0x026bc92a, 0x03a6cd3d, 0x010ebc75, 0x03a4616f, 0x00361ae7}}, Y: Field{[10]uint32{0x0003bcab, 0x01c3867c, 0x02539fb5, 0x01cb8e4b, 0x0056df6f, 0x01a72e3a, 0x001b6606, 0x006d2652, 0x028e8f93, 0x0008e233}}}, + {X: Field{[10]uint32{0x00cbbf88, 0x00eb9bc0, 0x0055a743, 0x02793cfb, 0x0187c496, 0x003f8c10, 0x027b7193, 0x038ac4fe, 0x0218f351, 0x0028b35d}}, Y: Field{[10]uint32{0x0119d685, 0x034dae17, 0x0324aa8d, 0x034e8258, 0x0229870c, 0x00c430d8, 0x015711ab, 0x00d8ec51, 0x0062436a, 0x000f82d7}}}, + {X: Field{[10]uint32{0x0100b2ca, 0x010b33c8, 0x02b87ab4, 0x00efb4be, 0x02ad6c21, 0x00e6d55d, 0x036e4f6b, 0x0128f5e0, 0x00d4e33e, 0x002dca0f}}, Y: Field{[10]uint32{0x02abc9ea, 0x00c5cfa3, 0x008fc273, 0x019c0109, 0x03090833, 0x0097aacf, 0x021e7e30, 0x008c1c60, 0x02fb111c, 0x00246001}}}, + {X: Field{[10]uint32{0x00b9a769, 0x02903d92, 0x00d9a0cd, 0x0151bbf3, 0x01d12e18, 0x0328c4d9, 0x01b123b9, 0x02ea34d5, 0x012e9707, 0x002c7f4b}}, Y: Field{[10]uint32{0x035e674e, 0x027bd2d1, 0x0294b58c, 0x00f58b6b, 0x021a40cf, 0x00a062ff, 0x004d2226, 0x01577bd8, 0x00168e8f, 0x00230df3}}}, + {X: Field{[10]uint32{0x0339f90f, 0x034ae0b2, 0x0262e7c0, 0x031ce574, 0x02cf6077, 0x0216d69b, 0x034be328, 0x03a17832, 0x03e74242, 0x0006c265}}, Y: Field{[10]uint32{0x037760b3, 0x01a48eda, 0x03183fa3, 0x00493052, 0x02f30fae, 0x00ef3e33, 0x00c2d2ef, 0x00762bb6, 0x00d427cd, 0x00156d36}}}, + {X: Field{[10]uint32{0x018d78d6, 0x01541976, 0x03e698e0, 0x02e06ff5, 0x034f1dc9, 0x03b86eec, 0x02362588, 0x0324977a, 0x03bc094a, 0x0015bfee}}, Y: Field{[10]uint32{0x00edc65f, 0x029c6636, 0x022089f8, 0x02dee00d, 0x02a517fc, 0x02fc716e, 0x02f3d235, 0x00af6c82, 0x008f46d7, 0x002a9cc8}}}, + {X: Field{[10]uint32{0x02d7045e, 0x00f8364e, 0x00685353, 0x02459c8a, 0x00e39081, 0x0049847a, 0x026cd368, 0x01fe70d0, 0x02b07ddb, 0x0030497e}}, Y: Field{[10]uint32{0x0377e5ae, 0x034c3c66, 0x024b68cc, 0x03d137d1, 0x031f235e, 0x00b07763, 0x003f1189, 0x01952bdb, 0x003f622f, 0x000a019c}}}, + {X: Field{[10]uint32{0x027f4a17, 0x014508ff, 0x0130148a, 0x03efc967, 0x02dbab85, 0x0207a02b, 0x01fa6fee, 0x031d0a2c, 0x01dbe4e0, 0x0039fb7a}}, Y: Field{[10]uint32{0x033fc066, 0x01695b34, 0x021d9e63, 0x016f0b6e, 0x02e23692, 0x039fd434, 0x00d32e65, 0x0173eb20, 0x037a9fbc, 0x0024eac9}}}, + {X: Field{[10]uint32{0x03df93f3, 0x02545668, 0x01cc8aa3, 0x00a3122c, 0x03a47c16, 0x0214fe59, 0x00c3da9d, 0x01af311c, 0x0363f1bd, 0x001d1c05}}, Y: Field{[10]uint32{0x018ac8ee, 0x01bb5557, 0x029d8a4b, 0x01eca3b5, 0x02bd2223, 0x001551ee, 0x0393dd5f, 0x0043ccdc, 0x011c7c55, 0x002acb00}}}, + {X: Field{[10]uint32{0x039081b8, 0x02403579, 0x0257689c, 0x00717195, 0x020a6554, 0x00de138c, 0x01ffb8d8, 0x03dc7f9b, 0x039755ba, 0x0002349f}}, Y: Field{[10]uint32{0x02c250ad, 0x02184946, 0x01386e55, 0x0032dfcc, 0x03f308f9, 0x0354889f, 0x021f837b, 0x0258052b, 0x0268f3c8, 0x0029c5db}}}, + {X: Field{[10]uint32{0x00cc7ea9, 0x01e633ab, 0x028c10f5, 0x00063a60, 0x0071b0db, 0x02b0976e, 0x000a0ff1, 0x02d4c7ab, 0x02fe9040, 0x0018f81a}}, Y: Field{[10]uint32{0x00910aa5, 0x003001fd, 0x0213e930, 0x0112ca9a, 0x010c9112, 0x00126bb5, 0x028fcf99, 0x03822dac, 0x0084a9db, 0x002aa846}}}, + {X: Field{[10]uint32{0x004ed50f, 0x0256251d, 0x004b5dde, 0x030a2082, 0x036bf8ba, 0x00f92c6a, 0x01617d02, 0x002acd0b, 0x01ae27d6, 0x00371fa8}}, Y: Field{[10]uint32{0x002f3dfa, 0x000a4705, 0x0140e48a, 0x029b8445, 0x03b63efb, 0x01d52968, 0x03e97fc0, 0x0317feef, 0x036e2b95, 0x0024f1f5}}}, + {X: Field{[10]uint32{0x02e842d7, 0x00ef46fd, 0x02253221, 0x00e6ee5d, 0x0136e402, 0x02d6baa6, 0x03dfb691, 0x03bd28f5, 0x036df69c, 0x003cebbb}}, Y: Field{[10]uint32{0x0208de5d, 0x0343d188, 0x001151fb, 0x023bd24f, 0x0272e562, 0x032c7a2b, 0x03bde031, 0x01c00be1, 0x01da339c, 0x0015f4df}}}, + {X: Field{[10]uint32{0x02bec3ce, 0x0286b29d, 0x01b67816, 0x03eca3da, 0x02ae87da, 0x00f5c9cb, 0x005d0812, 0x0193a837, 0x004c316e, 0x002096f6}}, Y: Field{[10]uint32{0x00a52251, 0x032846d0, 0x00f1dc28, 0x01925d96, 0x00849a25, 0x018be1fc, 0x03e3f69d, 0x01c2a1a8, 0x03fdba83, 0x001878e9}}}, + {X: Field{[10]uint32{0x0056a75d, 0x03bae4ce, 0x03ba7f5a, 0x02e543b0, 0x010edb63, 0x03a509a8, 0x02988cd8, 0x014dc274, 0x00d74dec, 0x000c428b}}, Y: Field{[10]uint32{0x03122c97, 0x00ee07c5, 0x00228ffa, 0x03b8f863, 0x03e3ff1e, 0x02bb0943, 0x02b4ab3a, 0x0395fdfc, 0x02aedfa5, 0x00175b61}}}, + {X: Field{[10]uint32{0x03425217, 0x0160b006, 0x024d85af, 0x02e25dfb, 0x0369f04d, 0x026edb0f, 0x02355aef, 0x004b43e0, 0x007562a5, 0x000d1c75}}, Y: Field{[10]uint32{0x039cba31, 0x00e67af6, 0x00358aed, 0x02a51410, 0x01ccd444, 0x000ded09, 0x006d68c5, 0x02da7afe, 0x02702fe0, 0x0009cb77}}}, + {X: Field{[10]uint32{0x00257a2f, 0x01a01f93, 0x0138d808, 0x03ac3a8d, 0x00aaeee4, 0x020a6bb2, 0x022b3df6, 0x02bc9082, 0x0163bfaf, 0x002fdb49}}, Y: Field{[10]uint32{0x000b496d, 0x003b8ac1, 0x03ff1a92, 0x03113079, 0x003a2738, 0x0155d1ae, 0x03847ef7, 0x0125ad93, 0x02007e7b, 0x003a01de}}}, + {X: Field{[10]uint32{0x039cddc4, 0x03b5094a, 0x023fbbdb, 0x0194c9c8, 0x02d6f4d4, 0x03361db9, 0x03ce42a3, 0x03dc614b, 0x03c4a883, 0x003accf3}}, Y: Field{[10]uint32{0x02e5453f, 0x02b69287, 0x028d2a7d, 0x00df8977, 0x03eaab91, 0x01f7a1be, 0x00f03ad2, 0x022f6641, 0x00f2ef60, 0x0026f500}}}, + {X: Field{[10]uint32{0x00c2279f, 0x002475bb, 0x0108f082, 0x00f68363, 0x016b123d, 0x037a5591, 0x0383edf7, 0x03cc67ec, 0x00d03e5d, 0x0004c5f8}}, Y: Field{[10]uint32{0x03675afd, 0x0348a48c, 0x03b252a9, 0x025fab2e, 0x01dcae42, 0x001a951c, 0x0122b607, 0x02755ac3, 0x024d5c6f, 0x000efd90}}}, + {X: Field{[10]uint32{0x009aeb56, 0x02f38d0c, 0x03456c99, 0x039099ee, 0x007e00f8, 0x01501bcc, 0x022cf5dc, 0x010fafac, 0x032e99dc, 0x00206c27}}, Y: Field{[10]uint32{0x03361932, 0x02006028, 0x03d7c495, 0x01bfafc5, 0x011dbc5f, 0x00b8cc72, 0x035b1df9, 0x03bab10b, 0x02a4b300, 0x00275215}}}, + {X: Field{[10]uint32{0x015a62f2, 0x02199121, 0x01f7e98b, 0x00c8348f, 0x03ed436d, 0x03d3a8cd, 0x02626bae, 0x03fc65c8, 0x01670a32, 0x00037ba9}}, Y: Field{[10]uint32{0x01032414, 0x019b50e7, 0x005a6dfe, 0x03bda79e, 0x014a8310, 0x00305e4b, 0x0157ab34, 0x005ff821, 0x0297c61a, 0x00172449}}}, + {X: Field{[10]uint32{0x003444e5, 0x03713a39, 0x02755ef3, 0x02c73ba1, 0x0296ae44, 0x01ea46e7, 0x00e02ffa, 0x0345cf9a, 0x00835746, 0x003392b4}}, Y: Field{[10]uint32{0x0303aa7d, 0x001bd89f, 0x02a20d34, 0x006bfc70, 0x00df7cc8, 0x01517fa1, 0x013e2891, 0x023532d5, 0x03890523, 0x002fa1b2}}}, + {X: Field{[10]uint32{0x030b077e, 0x0339ffd4, 0x004f6fbb, 0x0131f606, 0x032e3638, 0x02281c57, 0x0119a324, 0x006bdb93, 0x023d407f, 0x0026a64f}}, Y: Field{[10]uint32{0x001a7a7e, 0x03baf04c, 0x034e2481, 0x0077150f, 0x023f8700, 0x01b65bfe, 0x027bd6fe, 0x019fba66, 0x012d80a2, 0x00392869}}}, + {X: Field{[10]uint32{0x039bd0d8, 0x00d844be, 0x03ccc06b, 0x03bd16ab, 0x039247c7, 0x0099ea98, 0x017ae6a1, 0x0017205c, 0x032d7c7f, 0x0007c437}}, Y: Field{[10]uint32{0x00760410, 0x01e0ec16, 0x029affdc, 0x010c9f30, 0x03e45ad6, 0x0259fa6b, 0x0283b0ec, 0x036de4c9, 0x025b71e2, 0x0019c2c9}}}, + {X: Field{[10]uint32{0x02621b53, 0x0355c461, 0x00a5a0ba, 0x03fe7645, 0x02d57d1d, 0x0329dd77, 0x0317633d, 0x008239f6, 0x025729c9, 0x001c33ac}}, Y: Field{[10]uint32{0x01df0c62, 0x0307b0d2, 0x0164ace7, 0x00941fa7, 0x0200ee98, 0x01b475d6, 0x0211c0ec, 0x01157f37, 0x0291b3f3, 0x001b805b}}}, + {X: Field{[10]uint32{0x00694e3e, 0x024fdf9d, 0x032fd466, 0x0312b3a7, 0x00043fb6, 0x02841818, 0x03b79210, 0x020bec37, 0x01e64dc8, 0x002e91b9}}, Y: Field{[10]uint32{0x01789acc, 0x010b221f, 0x009cb0f3, 0x02cf7a81, 0x025868d0, 0x0276310d, 0x0208e060, 0x0207fe28, 0x02b90793, 0x003abad3}}}, + {X: Field{[10]uint32{0x03c30d81, 0x0034e200, 0x037a9e32, 0x01538123, 0x02a631d1, 0x00f5d5e7, 0x0179beaf, 0x02b48390, 0x02dfd233, 0x002ee8ee}}, Y: Field{[10]uint32{0x021b961d, 0x03e400d7, 0x011e8ed3, 0x039a3229, 0x0202bdfc, 0x01d95a4f, 0x03a0af4e, 0x01131cc5, 0x030d69dd, 0x003ca9f1}}}, + {X: Field{[10]uint32{0x02d3f8a5, 0x01d4298d, 0x01283d93, 0x007ce396, 0x02057d49, 0x010782bc, 0x0258f1bf, 0x02e9a05f, 0x0369d300, 0x001b7da9}}, Y: Field{[10]uint32{0x033a4a6f, 0x0268db69, 0x02819dad, 0x024a67c4, 0x01ebf0f4, 0x0337ed36, 0x02d1f31c, 0x031dcbb3, 0x03b3aa51, 0x0018e820}}}, + {X: Field{[10]uint32{0x03174f2c, 0x02970529, 0x022361ad, 0x014c74bf, 0x034fab19, 0x024e945c, 0x00c7ea87, 0x026a60a5, 0x031a4b8c, 0x002bff44}}, Y: Field{[10]uint32{0x0011be6d, 0x00a59c4d, 0x01708734, 0x0072cc81, 0x03342689, 0x022a5e23, 0x02ed3225, 0x00da60ff, 0x00d9ec4a, 0x00130f79}}}, + {X: Field{[10]uint32{0x030abc7e, 0x028914ce, 0x016ee2f0, 0x031af086, 0x01d42cca, 0x031f1c23, 0x01ba5464, 0x02c62867, 0x00499e54, 0x000b68c4}}, Y: Field{[10]uint32{0x032db974, 0x001527c8, 0x03e7c0bb, 0x028fded1, 0x02426981, 0x00713414, 0x0109d445, 0x027e2d5b, 0x009120ad, 0x003cd52b}}}, + {X: Field{[10]uint32{0x02e57b61, 0x01f433e4, 0x03f2b2dc, 0x0007bb24, 0x0323cdd2, 0x036d30c7, 0x01381ace, 0x03e0aba3, 0x0053cbe3, 0x000e20bb}}, Y: Field{[10]uint32{0x037e6e3a, 0x020328bb, 0x03c786cd, 0x014cbec2, 0x0271a43d, 0x009d0191, 0x02b0046b, 0x02ff3124, 0x015de5a7, 0x00074d0c}}}, + {X: Field{[10]uint32{0x0387f9f1, 0x026ed21c, 0x00b28d55, 0x01d4a997, 0x03468259, 0x03a7ad78, 0x03c8e4e8, 0x02ac98e6, 0x02356a08, 0x003f2ae1}}, Y: Field{[10]uint32{0x00fceb94, 0x02c81532, 0x03f540d7, 0x023413bd, 0x02bef2b3, 0x034d5c2b, 0x0166753a, 0x001f395d, 0x00c0d08f, 0x002bd020}}}, + {X: Field{[10]uint32{0x0136bb58, 0x02275d67, 0x00ebe5dd, 0x00468552, 0x02847bf0, 0x01d5032a, 0x01dcd5a5, 0x01f84a8a, 0x00bb8a89, 0x003f4d2e}}, Y: Field{[10]uint32{0x0110b2f3, 0x00d465de, 0x0255b762, 0x00ef4356, 0x00d19b60, 0x008c41b9, 0x0127eaa7, 0x03e5cd5e, 0x02ac6a56, 0x0014699a}}}, + {X: Field{[10]uint32{0x03d4b469, 0x03663961, 0x002fa808, 0x01826776, 0x031d3b46, 0x01f1f605, 0x007a1678, 0x016fc1db, 0x0120c0d8, 0x0007a26f}}, Y: Field{[10]uint32{0x00fe882a, 0x03218a4f, 0x01353eaf, 0x0243ef13, 0x03dcf115, 0x01d3cc48, 0x02dae475, 0x021d80f7, 0x01d0e576, 0x0013d4ea}}}, + {X: Field{[10]uint32{0x03aa05ed, 0x00ea55de, 0x0048f5fb, 0x02795231, 0x01ddca45, 0x03beeaea, 0x017d93ea, 0x026b3b23, 0x03ba6690, 0x002287a9}}, Y: Field{[10]uint32{0x037be091, 0x030133e2, 0x00f99e09, 0x033e2ba5, 0x01ea1f1f, 0x0140600c, 0x037655b2, 0x00de90e7, 0x01e9064f, 0x00356016}}}, + {X: Field{[10]uint32{0x011331a1, 0x03ddb587, 0x032cbd7f, 0x00302d55, 0x00e4451f, 0x03ca586c, 0x0086549a, 0x02649a5a, 0x000d80d5, 0x003830de}}, Y: Field{[10]uint32{0x0145491d, 0x013da392, 0x02551114, 0x02baefb6, 0x03d827dd, 0x008c39ec, 0x03e6f1e5, 0x00ec7f0b, 0x02e6a13c, 0x00267674}}}, + {X: Field{[10]uint32{0x03996035, 0x032303a0, 0x0260ef7c, 0x0373fc83, 0x008e7e1b, 0x036ab786, 0x03ed36c5, 0x02b0485b, 0x00e6ed23, 0x002590d5}}, Y: Field{[10]uint32{0x0028998a, 0x02f4c98d, 0x03529aa8, 0x0234f18c, 0x027e6a40, 0x039bc188, 0x02531984, 0x031ba1c8, 0x009a8563, 0x003dd228}}}, + {X: Field{[10]uint32{0x02fe3f9b, 0x036f0f06, 0x014a1ab1, 0x00556150, 0x038bd094, 0x01a61871, 0x02eab869, 0x03218bf1, 0x03295125, 0x00260279}}, Y: Field{[10]uint32{0x007b9fd7, 0x01afd8e6, 0x0005efd4, 0x02250cbf, 0x00ab0fc0, 0x03f21296, 0x03909f86, 0x0155a20c, 0x0228bbf5, 0x003614d8}}}, + {X: Field{[10]uint32{0x0301ed17, 0x03b31303, 0x03b34abb, 0x01cf6852, 0x011d8d71, 0x00097f1f, 0x0183bf94, 0x013108a3, 0x0102305e, 0x000657d3}}, Y: Field{[10]uint32{0x009d637f, 0x02e1d99f, 0x0221a726, 0x0174ea23, 0x03ce1384, 0x00f2d119, 0x00152e02, 0x02e7341a, 0x00b497ae, 0x00255f6e}}}, + {X: Field{[10]uint32{0x014e0b37, 0x011286a1, 0x036c0f2c, 0x039a06e0, 0x02b0203f, 0x0009243a, 0x023f726d, 0x01f8d3be, 0x02ba3eb1, 0x00158baa}}, Y: Field{[10]uint32{0x0152b1e8, 0x015a9be1, 0x02da59db, 0x02935ecc, 0x0397093b, 0x003bd094, 0x03a35a77, 0x012010b4, 0x00ed9e66, 0x002d3996}}}, + {X: Field{[10]uint32{0x01ec8282, 0x027ca383, 0x01a288d7, 0x00b0292c, 0x03de3a60, 0x00c0bcd3, 0x00579693, 0x02405203, 0x01eb1efa, 0x002128b1}}, Y: Field{[10]uint32{0x02207cf1, 0x018acd91, 0x02023bdf, 0x00fd7c36, 0x00c70331, 0x0372b110, 0x03261dba, 0x03bb6161, 0x01c788cf, 0x001c0354}}}, + {X: Field{[10]uint32{0x0272f913, 0x00025ccd, 0x007fb8ba, 0x02b5df53, 0x00b93e2b, 0x031b52e1, 0x00e73406, 0x0245a2c5, 0x03cf0dbd, 0x0020f44b}}, Y: Field{[10]uint32{0x03279a7b, 0x02d44c79, 0x018ee523, 0x03f61848, 0x013c0dd6, 0x020b3a73, 0x03c78b36, 0x00cb3eeb, 0x0226bf25, 0x0039215b}}}, + {X: Field{[10]uint32{0x015451cf, 0x0001a3b7, 0x03701dfb, 0x008a7b52, 0x00ce64d5, 0x03d190fe, 0x03e73bf9, 0x00c8383e, 0x02f2bbd9, 0x00266229}}, Y: Field{[10]uint32{0x02882d5b, 0x02877462, 0x01910ed5, 0x0070aafa, 0x000d2f43, 0x024be269, 0x0244e4d8, 0x00994342, 0x02fcbd3b, 0x002eecd4}}}, + {X: Field{[10]uint32{0x03ff0724, 0x0202842b, 0x00b5160f, 0x0130aa9c, 0x0183017d, 0x028845ac, 0x0321d1e2, 0x00571ccd, 0x003dcfa6, 0x000fa486}}, Y: Field{[10]uint32{0x002dc945, 0x0202ce45, 0x03d7f226, 0x0029d395, 0x0276a2f3, 0x029cfcf4, 0x01fe5453, 0x02f98bc3, 0x0251f4bc, 0x0031e220}}}, + {X: Field{[10]uint32{0x0239492f, 0x018f5b20, 0x0044de77, 0x02617a96, 0x01e5f85b, 0x02cd89d7, 0x03130faf, 0x03f8e932, 0x0300fa1e, 0x003645d4}}, Y: Field{[10]uint32{0x03678b4b, 0x0199c0a6, 0x03521c55, 0x036217ba, 0x00fbad38, 0x00596aff, 0x0236220d, 0x00a83366, 0x0065e959, 0x001644e3}}}, + {X: Field{[10]uint32{0x02d933dc, 0x01044a4d, 0x01068b47, 0x02e1ea57, 0x03ed74c5, 0x01d9b99d, 0x017f7b47, 0x02fb9974, 0x025f7c12, 0x001bfd60}}, Y: Field{[10]uint32{0x038c0edf, 0x0200920d, 0x0038131f, 0x02a10334, 0x002ea9ac, 0x034ae360, 0x004be0a4, 0x025d2c8c, 0x01de0cb7, 0x001986ba}}}, + {X: Field{[10]uint32{0x00b1c31d, 0x03ac4594, 0x035ab15c, 0x01aeeba1, 0x03956036, 0x030093de, 0x027d580a, 0x004190c1, 0x02b1a876, 0x003b5b2f}}, Y: Field{[10]uint32{0x0217dede, 0x01f59aa1, 0x03f4519a, 0x01dbc675, 0x011269c4, 0x000ba040, 0x024d60f7, 0x02270595, 0x007ed1e8, 0x0024501a}}}, + {X: Field{[10]uint32{0x03d69164, 0x02f812a2, 0x03ca443a, 0x01b8e190, 0x000853bf, 0x02c4c88c, 0x016b56ee, 0x016a8c42, 0x00eb32d7, 0x0017e333}}, Y: Field{[10]uint32{0x0195da3a, 0x0396df9e, 0x02d456bd, 0x03c08734, 0x024f6576, 0x013d60d2, 0x02ac0fac, 0x0077352d, 0x023dd0c8, 0x000d7dca}}}, + {X: Field{[10]uint32{0x002d0b7b, 0x029b88e6, 0x02f7c479, 0x018bc056, 0x0186580d, 0x03b599d4, 0x02896c67, 0x00e5dd48, 0x00859bb2, 0x00207808}}, Y: Field{[10]uint32{0x03fbb669, 0x036f1933, 0x019601eb, 0x00e38abe, 0x02fce84a, 0x017558ac, 0x02ddc088, 0x03c9bed0, 0x029e4159, 0x0021e47e}}}, + {X: Field{[10]uint32{0x01d8f721, 0x0109c4a5, 0x005f141d, 0x03a1eb2a, 0x003eb435, 0x018eeb72, 0x03aba7ad, 0x01709a6d, 0x0316dd1e, 0x0037889a}}, Y: Field{[10]uint32{0x02c8423a, 0x01591c06, 0x0120d841, 0x01a90d37, 0x03342841, 0x038cf644, 0x007dc03d, 0x039cb0fe, 0x0399fa2c, 0x0018b878}}}, + {X: Field{[10]uint32{0x03d140f3, 0x0282f765, 0x012b1d13, 0x02549f2f, 0x00fa7629, 0x03dffc59, 0x0058be59, 0x00ca57f4, 0x03423fcd, 0x0018291b}}, Y: Field{[10]uint32{0x037f1219, 0x034dc3b7, 0x02c8e0f4, 0x015332ff, 0x01912cb8, 0x0280f2ad, 0x02bc31e1, 0x02785f91, 0x02de7b78, 0x00255c74}}}, + {X: Field{[10]uint32{0x032249c0, 0x0227f2f0, 0x027f5ce0, 0x0164fd0a, 0x0080d7e7, 0x028318d9, 0x013a77ab, 0x02f647ef, 0x005ce1b4, 0x001bfbd1}}, Y: Field{[10]uint32{0x00fa347d, 0x00b17a7d, 0x01a919a9, 0x0361f532, 0x03f82e73, 0x01605e5b, 0x020cae2e, 0x036e0e6b, 0x00fbaf46, 0x000457ef}}}, + {X: Field{[10]uint32{0x0293522f, 0x01713f90, 0x02a30914, 0x01705120, 0x03a9892b, 0x03b7af95, 0x025f7c26, 0x03e54e8f, 0x011ca8d2, 0x001b4dfd}}, Y: Field{[10]uint32{0x015309af, 0x019fbba7, 0x03dda0a9, 0x016ea212, 0x00cbefae, 0x00ee4382, 0x026897cd, 0x02b52c37, 0x01f36718, 0x001e3944}}}, + {X: Field{[10]uint32{0x03d46098, 0x02c0d440, 0x02ceaa76, 0x0157f9d2, 0x02738aa1, 0x0376fa65, 0x01cb035e, 0x01c07d72, 0x00275bd0, 0x000302b2}}, Y: Field{[10]uint32{0x00e3cd97, 0x020c807e, 0x026b7c3e, 0x00c5a996, 0x0031d762, 0x003389a9, 0x01684906, 0x029c21aa, 0x022a188f, 0x0039fcca}}}, + {X: Field{[10]uint32{0x00cde108, 0x00481814, 0x02b935d0, 0x02352c95, 0x01822a64, 0x017ebd29, 0x00507df8, 0x01408c7f, 0x03a86f89, 0x00240036}}, Y: Field{[10]uint32{0x014ef3fd, 0x0360f2d9, 0x00ff1779, 0x0008bd63, 0x00323319, 0x03d32c0f, 0x018383c2, 0x03a7a2ef, 0x003694b2, 0x0026deba}}}, + {X: Field{[10]uint32{0x029098a1, 0x02ba35a5, 0x01d9a28a, 0x029d18f8, 0x01ad58de, 0x01b0a8b8, 0x02092532, 0x02f23cd9, 0x03f4b490, 0x003c4426}}, Y: Field{[10]uint32{0x012f24c5, 0x00014257, 0x030224a8, 0x030b0c96, 0x006e3382, 0x032305fb, 0x02305141, 0x00b04200, 0x02279fd7, 0x0021d0c6}}}, + {X: Field{[10]uint32{0x028c0003, 0x0372155b, 0x018b00d1, 0x02353db8, 0x03929adc, 0x01b587e0, 0x00aac8b3, 0x031bc231, 0x01e54e9c, 0x00137a1c}}, Y: Field{[10]uint32{0x00d3bba6, 0x021fc1dc, 0x029c7f01, 0x01c3a68f, 0x00805f4b, 0x027785af, 0x01d7fce1, 0x03a29b1d, 0x03cfca98, 0x00009747}}}, + {X: Field{[10]uint32{0x02766ece, 0x0004f618, 0x01c80b66, 0x019ff633, 0x008f47b4, 0x01384004, 0x02e89ff9, 0x00aefce9, 0x02759297, 0x00288f2d}}, Y: Field{[10]uint32{0x03cf548c, 0x016bae51, 0x01dc7cae, 0x0337f5fa, 0x03cbca18, 0x01f48eab, 0x02811267, 0x0308f685, 0x0384ed05, 0x002371c2}}}, + {X: Field{[10]uint32{0x004244e5, 0x00385256, 0x0032bbb4, 0x00e296df, 0x0179d3c9, 0x039c0f31, 0x03a9dd3b, 0x023e2e46, 0x00cce96d, 0x0000a574}}, Y: Field{[10]uint32{0x0303c926, 0x00fdfb8a, 0x02c95265, 0x02304ace, 0x02745e07, 0x014e2b97, 0x030fe376, 0x0352fdab, 0x0206a16b, 0x0029b516}}}, + {X: Field{[10]uint32{0x02babbce, 0x0009517b, 0x008af9e1, 0x0337bf49, 0x016cb40b, 0x03ef45da, 0x00b13d51, 0x01da9b50, 0x03919d53, 0x001f1a0e}}, Y: Field{[10]uint32{0x01fd3f73, 0x02c6b6ab, 0x02e39332, 0x0169f08e, 0x02197d4e, 0x0367c558, 0x03ed30b8, 0x0215bd6d, 0x01d03608, 0x000f6832}}}, + {X: Field{[10]uint32{0x000c3189, 0x039fbe07, 0x001ecdf5, 0x027b2a7d, 0x038505f3, 0x0388bb08, 0x020e21ff, 0x00926a57, 0x012ed27e, 0x000c3dd4}}, Y: Field{[10]uint32{0x00875169, 0x010790b9, 0x00164fad, 0x01fd5ba2, 0x039e4e7f, 0x02d1cc65, 0x01286514, 0x00e8e856, 0x005e25ea, 0x000bd7f6}}}, + {X: Field{[10]uint32{0x03514961, 0x03d69d8b, 0x00835431, 0x00bed244, 0x031c7f84, 0x02358c52, 0x00a41c77, 0x013c9cc9, 0x038c9658, 0x0024ddef}}, Y: Field{[10]uint32{0x01f3df42, 0x03f5b4da, 0x00ad4335, 0x00b4ea27, 0x003cfa89, 0x03b60c34, 0x017fe92a, 0x036cab9f, 0x0055e2ed, 0x00356673}}}, + {X: Field{[10]uint32{0x0131e9be, 0x0307555b, 0x00ca240a, 0x01e1affd, 0x0328a66e, 0x03e0f153, 0x03530b85, 0x001256e8, 0x03e867f2, 0x000d627f}}, Y: Field{[10]uint32{0x01224c89, 0x02a49d1b, 0x0385b581, 0x019e3f74, 0x00d75b3a, 0x03c4cf71, 0x01c22a89, 0x02278482, 0x02aa9830, 0x0026208b}}}, + {X: Field{[10]uint32{0x023f8935, 0x036e2e3a, 0x03f85999, 0x01e84754, 0x012c79e7, 0x03f31905, 0x00e0f841, 0x03713396, 0x01f4b2da, 0x000e706c}}, Y: Field{[10]uint32{0x00256721, 0x026aa135, 0x0131e628, 0x010985b3, 0x0350bb8a, 0x03fe76a0, 0x036991de, 0x00ce2590, 0x031ad9df, 0x0039e149}}}, + {X: Field{[10]uint32{0x0325be33, 0x03bb7b62, 0x0372cad5, 0x0368914e, 0x00b103f9, 0x02d84639, 0x00799188, 0x00b0b666, 0x0059d3d6, 0x00373c45}}, Y: Field{[10]uint32{0x03a1c074, 0x00f31cbc, 0x017b330a, 0x0323eb9f, 0x02a190f6, 0x031f7771, 0x01a92fe7, 0x01c398d1, 0x001aaf32, 0x003700e3}}}, + {X: Field{[10]uint32{0x02623d1d, 0x018d6cc1, 0x038f0eed, 0x0179bac8, 0x00a32ff0, 0x02f60143, 0x00d82e55, 0x02c304fd, 0x01dd1de9, 0x0018524a}}, Y: Field{[10]uint32{0x00d8a24b, 0x02a9d7b1, 0x02a6ae0e, 0x010c6b2f, 0x02afafdc, 0x020603fd, 0x0118e3be, 0x03c5ee86, 0x0117c9e7, 0x0002bfa1}}}, + {X: Field{[10]uint32{0x00ce743c, 0x006c2ea7, 0x00296a7c, 0x027ed66a, 0x03ef8160, 0x03b22b6f, 0x005da355, 0x036a5029, 0x0228cff6, 0x003d29c8}}, Y: Field{[10]uint32{0x019cdacb, 0x02a069b8, 0x01e50a25, 0x0094f328, 0x032fbcd0, 0x015a71af, 0x01e90f10, 0x016ab827, 0x00fbde09, 0x00151480}}}, + {X: Field{[10]uint32{0x022c93f7, 0x03f94903, 0x01a650b5, 0x0133f23f, 0x0357aa16, 0x00dc6e50, 0x0262fbf5, 0x01565d1b, 0x02736caa, 0x0018f310}}, Y: Field{[10]uint32{0x02ce5665, 0x011f1142, 0x004fe09b, 0x0139143c, 0x01e7d822, 0x012c20a2, 0x02d2bd30, 0x0104eb5a, 0x035bc5a6, 0x0007e93b}}}, + {X: Field{[10]uint32{0x02ab8889, 0x012f8ae3, 0x002016b8, 0x022659e3, 0x00aa7f9d, 0x00d172c1, 0x02cf761f, 0x00e29834, 0x02281184, 0x002b05d4}}, Y: Field{[10]uint32{0x024af2b1, 0x016a60aa, 0x03396343, 0x02266684, 0x00832f29, 0x03ddd97c, 0x02b01b68, 0x00f6b09e, 0x00ae2964, 0x00375f7e}}}, + {X: Field{[10]uint32{0x024a0e48, 0x01e205a7, 0x02c03dd6, 0x008bcde1, 0x03823e86, 0x00bbead6, 0x00a5a2f7, 0x0106d831, 0x02b9637c, 0x00276ed7}}, Y: Field{[10]uint32{0x03d924d7, 0x00e353ad, 0x025cd1ba, 0x001e2718, 0x0205aa01, 0x021466a8, 0x01cde34b, 0x03587d0b, 0x02ba13f4, 0x0001dcb5}}}, + {X: Field{[10]uint32{0x02f7dddc, 0x015cc70f, 0x02fb173d, 0x0266e30c, 0x004e88f5, 0x01683622, 0x015b5866, 0x0304d440, 0x01ddd2fc, 0x001c5c25}}, Y: Field{[10]uint32{0x024fa5af, 0x03f7ed1f, 0x0020e581, 0x01b74638, 0x03472732, 0x031ed902, 0x023da3f3, 0x01c2f3ec, 0x010952b4, 0x0007783c}}}, + {X: Field{[10]uint32{0x025872ca, 0x026a5909, 0x03b2a331, 0x01a0b336, 0x01a32c4a, 0x00535ba7, 0x01e3964c, 0x02c7a900, 0x00d3f829, 0x0016b08c}}, Y: Field{[10]uint32{0x01c026ea, 0x0373ebb2, 0x02e8151b, 0x0360c85e, 0x03423484, 0x00c67290, 0x0206a16e, 0x03d9af17, 0x03a627db, 0x003eb0f0}}}, + {X: Field{[10]uint32{0x038752ef, 0x01f3dd87, 0x00100857, 0x02854446, 0x01382496, 0x00b9d387, 0x0057537b, 0x03d05785, 0x02af0a39, 0x00349fb2}}, Y: Field{[10]uint32{0x01c6c037, 0x037e92dc, 0x03ae35dc, 0x0213eb38, 0x00d5938e, 0x010486da, 0x03d8eb60, 0x02bcc438, 0x036746cb, 0x003f1202}}}, + {X: Field{[10]uint32{0x02ac6cda, 0x007882fc, 0x00d6477f, 0x0064e822, 0x01703af6, 0x03eb6a31, 0x0387d539, 0x0266df13, 0x03ddf92d, 0x003821dd}}, Y: Field{[10]uint32{0x01ccfee9, 0x0169404a, 0x00070db0, 0x039fb6f7, 0x001202c4, 0x03384357, 0x016ecc53, 0x0062c93a, 0x008ac6cb, 0x0009693e}}}, + {X: Field{[10]uint32{0x019ba6ed, 0x0284601a, 0x00776753, 0x039a2015, 0x0363bbe3, 0x0225aae5, 0x02a6a138, 0x01603ef6, 0x02b7afe9, 0x00116b9e}}, Y: Field{[10]uint32{0x0156f322, 0x01b9aa28, 0x00ff16c4, 0x01f83fbf, 0x02502f79, 0x0365bd0f, 0x00d440e3, 0x0381b934, 0x03ed127f, 0x003706bd}}}, + {X: Field{[10]uint32{0x00d00590, 0x0387793d, 0x00045327, 0x00516007, 0x026ae265, 0x01a2d30b, 0x00f509a7, 0x00114ecf, 0x033b71c5, 0x003f4a32}}, Y: Field{[10]uint32{0x00e5a7b6, 0x01994617, 0x02159c26, 0x00ac95fd, 0x013298a2, 0x005d3388, 0x01081f08, 0x033d12a9, 0x03954867, 0x002c1a13}}}, + {X: Field{[10]uint32{0x001d850d, 0x02cc9807, 0x01d7a158, 0x0181d9c7, 0x03956816, 0x00ee7ee9, 0x015e4e22, 0x0127c286, 0x000dac6f, 0x003c89bc}}, Y: Field{[10]uint32{0x0109ef86, 0x01c6d968, 0x0150f10f, 0x0228da45, 0x01d823a0, 0x00661bfa, 0x0230e53a, 0x028e2ad1, 0x004f6925, 0x00341757}}}, + {X: Field{[10]uint32{0x020337a3, 0x0113a41d, 0x0340ff0e, 0x03b23271, 0x00a994e1, 0x02cc0e3e, 0x00e23a72, 0x0212021f, 0x0213a80d, 0x000f3185}}, Y: Field{[10]uint32{0x013c3956, 0x036ef6b3, 0x033f5a11, 0x00794a85, 0x0090377f, 0x0256ac04, 0x0221f09f, 0x00ebda50, 0x016a2409, 0x00211d3e}}}, + {X: Field{[10]uint32{0x0260e736, 0x036b3833, 0x02223e5c, 0x03572579, 0x02633e7e, 0x03d5f5a1, 0x03be2331, 0x025c4af4, 0x01898cd9, 0x001c87b3}}, Y: Field{[10]uint32{0x00ffd69f, 0x02b064a8, 0x028ad532, 0x0284bdd9, 0x0221dc34, 0x03b18cf1, 0x009450bf, 0x01f2b928, 0x00d86fc0, 0x000c74a5}}}, + {X: Field{[10]uint32{0x032eff38, 0x03f3fe8a, 0x03aa2db0, 0x00b03fea, 0x00d5b106, 0x03963ea3, 0x01862715, 0x0366c6c9, 0x02581144, 0x00372eb2}}, Y: Field{[10]uint32{0x01ec7d34, 0x00ec95c8, 0x00689e6d, 0x03986bce, 0x00708b53, 0x038b185d, 0x02fbdca5, 0x01b3fe43, 0x021d339f, 0x00273dd8}}}, + {X: Field{[10]uint32{0x01db8b92, 0x007ccdc5, 0x03878342, 0x02654a39, 0x02b9300b, 0x031e895b, 0x00919382, 0x03b0af39, 0x0293e649, 0x003b4c53}}, Y: Field{[10]uint32{0x00744a11, 0x01f772d8, 0x0318bc83, 0x01238f7e, 0x0153ea03, 0x007c5519, 0x0122355e, 0x03fbcb8a, 0x02af0229, 0x001c2a06}}}, + {X: Field{[10]uint32{0x01c036ee, 0x00dae30a, 0x01c09854, 0x02d8010a, 0x005f5c7e, 0x017d96ba, 0x02977689, 0x02f23466, 0x03cc7a59, 0x001af466}}, Y: Field{[10]uint32{0x00999090, 0x0109cd41, 0x0332c0bc, 0x039de2d5, 0x0131803c, 0x010d5171, 0x03ea28f8, 0x015a06f6, 0x01e3f4f6, 0x00144d1b}}}, + {X: Field{[10]uint32{0x003d9acf, 0x01f1ac75, 0x03e15577, 0x0101eb62, 0x03ebe9d6, 0x02f8222f, 0x00228bb5, 0x037ecd81, 0x02156ac8, 0x00267b47}}, Y: Field{[10]uint32{0x01d2c922, 0x024430c2, 0x03c61e19, 0x02683d11, 0x0169f57e, 0x01c90dab, 0x02a0ac04, 0x01332a03, 0x01a4478b, 0x001d6c56}}}, + {X: Field{[10]uint32{0x02452045, 0x03821dec, 0x0171cc7f, 0x030e30d8, 0x000f00c3, 0x000c0e5c, 0x02dd90fb, 0x0377c212, 0x038c793a, 0x000f859b}}, Y: Field{[10]uint32{0x015bbd59, 0x0086aa07, 0x038da019, 0x0209ee52, 0x019f07e3, 0x0269b31b, 0x0330f6fb, 0x00a997b0, 0x0263b0cd, 0x00245966}}}, + {X: Field{[10]uint32{0x036df936, 0x01567345, 0x03656cf8, 0x00c82107, 0x01a1b1a4, 0x01027427, 0x00d1b168, 0x017ce2fe, 0x02d9a3a9, 0x003f06ea}}, Y: Field{[10]uint32{0x008af43d, 0x0158fc68, 0x0263884a, 0x024486db, 0x02e0b4d7, 0x020ad6d3, 0x005f2489, 0x02e27541, 0x03bdb013, 0x000c7de9}}}, + {X: Field{[10]uint32{0x037ff340, 0x02a0673f, 0x0125a5a5, 0x010d3a72, 0x003bd318, 0x00ce1a21, 0x003c8795, 0x007b2b24, 0x013d4b37, 0x00202ceb}}, Y: Field{[10]uint32{0x012af178, 0x039336dc, 0x02bfdf20, 0x00a1cd1e, 0x010108ae, 0x0197eb1a, 0x03ed7d3b, 0x01b61319, 0x00bdaac9, 0x003ec72a}}}, + {X: Field{[10]uint32{0x00616af2, 0x0330b91a, 0x03422073, 0x012535c9, 0x0002a87d, 0x023bdeab, 0x02c6c364, 0x03dc9f5d, 0x01ab2901, 0x002eb419}}, Y: Field{[10]uint32{0x030a37ed, 0x00ca71d1, 0x01d92236, 0x00d04fc5, 0x02fa925a, 0x02ae8a5c, 0x01d69a2e, 0x03bab536, 0x010216b5, 0x002ba75e}}}, + {X: Field{[10]uint32{0x029b8fe7, 0x010d7e44, 0x03ca9bce, 0x023dfa06, 0x01a2fb75, 0x0321e079, 0x01beb99c, 0x00329a65, 0x02d90d70, 0x00347c11}}, Y: Field{[10]uint32{0x0111a4df, 0x00d16818, 0x01017fca, 0x0029195d, 0x033090fc, 0x0110cc50, 0x03167188, 0x0056bcd1, 0x025d7eb8, 0x0009d3b7}}}, + {X: Field{[10]uint32{0x03f0a22f, 0x02811e8c, 0x03ea1751, 0x01851ce9, 0x0299df17, 0x00a6a83d, 0x01ea798d, 0x02a02963, 0x0355e3dc, 0x0036d4d7}}, Y: Field{[10]uint32{0x0353ff6b, 0x014a2b56, 0x037cced3, 0x03591de8, 0x00e61b86, 0x039ea3c4, 0x013df837, 0x00ef2846, 0x015d931a, 0x0039f600}}}, + {X: Field{[10]uint32{0x00a42a80, 0x039a4703, 0x01d5082a, 0x03945933, 0x008635b7, 0x02693c61, 0x00b1a5db, 0x03c3ebe6, 0x0206a56e, 0x0036876e}}, Y: Field{[10]uint32{0x0210c9ff, 0x0238c4a8, 0x01508d92, 0x0196c85e, 0x008807e2, 0x0172d058, 0x00066210, 0x00c6f2ba, 0x003ca695, 0x0021aa0e}}}, + {X: Field{[10]uint32{0x01aa42e7, 0x03b0a282, 0x008aeff5, 0x01de6cd6, 0x033b176b, 0x01ed509d, 0x014f29ff, 0x0019b1f7, 0x02b4d980, 0x00099f09}}, Y: Field{[10]uint32{0x0027161d, 0x03c82d42, 0x0034142f, 0x0231fe8c, 0x01d58465, 0x0364f6aa, 0x02300531, 0x03ac9574, 0x003ff4e5, 0x000ce430}}}, + {X: Field{[10]uint32{0x01cbea0a, 0x0120fff0, 0x0027d4f3, 0x00a7fb97, 0x025561fd, 0x0021246a, 0x00c79152, 0x03e5541c, 0x03524e6f, 0x0020092b}}, Y: Field{[10]uint32{0x02dd86b0, 0x0075f2ec, 0x00a16dff, 0x01c5cd17, 0x03df7a8a, 0x00279dbf, 0x0078fc06, 0x01c9ac20, 0x00d0498f, 0x0032779e}}}, + {X: Field{[10]uint32{0x0208f661, 0x014d1158, 0x002d2779, 0x025501a2, 0x00dc3dc1, 0x01c73c00, 0x030d7dd3, 0x02d0801f, 0x0268c7be, 0x00047fda}}, Y: Field{[10]uint32{0x03b4092c, 0x0306f029, 0x03dbd658, 0x02ea5e9f, 0x03916b75, 0x007df8ee, 0x03cac25c, 0x0206d479, 0x00252547, 0x002d4f77}}}, + {X: Field{[10]uint32{0x02e3c929, 0x02309fcd, 0x011f6aa8, 0x025ac01d, 0x02b70d65, 0x016a660a, 0x0232d7a6, 0x02080ce6, 0x0083f9a6, 0x00158a84}}, Y: Field{[10]uint32{0x01e05b51, 0x0112b2ec, 0x03364557, 0x01854248, 0x0166ec20, 0x0042b5d0, 0x00e7d255, 0x02022e54, 0x007f0908, 0x0028e03b}}}, + {X: Field{[10]uint32{0x0341c413, 0x0020b8b4, 0x037af68d, 0x029533c1, 0x030e097f, 0x03bd915c, 0x02a75987, 0x0035a4ed, 0x00fd327c, 0x0013bf9c}}, Y: Field{[10]uint32{0x00ce3dc7, 0x02afbcb2, 0x0098a4a1, 0x0118233b, 0x00b110a3, 0x03b476c4, 0x028befc3, 0x02d8b766, 0x039b92e0, 0x0004351e}}}, + {X: Field{[10]uint32{0x03a51f20, 0x03027008, 0x0034ff9a, 0x0260b34c, 0x03354abd, 0x00780709, 0x028576c9, 0x00a2c2f7, 0x030cd7f1, 0x0013592f}}, Y: Field{[10]uint32{0x00a5e28f, 0x030cb97a, 0x00d6eb9d, 0x013cf532, 0x03da3c52, 0x0136f0b9, 0x03bf38e1, 0x037feb79, 0x001af57f, 0x0005679d}}}, + {X: Field{[10]uint32{0x00a187bf, 0x03cc2cc0, 0x0243bc48, 0x02b0dcab, 0x03466de2, 0x03bb3be8, 0x02f0064c, 0x01e35acf, 0x034aff32, 0x00269058}}, Y: Field{[10]uint32{0x02aeae2a, 0x01faa801, 0x03c3cad2, 0x00c3d014, 0x02f409e5, 0x01591262, 0x007a1936, 0x01df3e11, 0x020faebb, 0x0003bbfb}}}, + {X: Field{[10]uint32{0x0102418b, 0x0137b4a4, 0x014cf4fc, 0x03f39e09, 0x002c85cf, 0x039719dd, 0x02fec2d2, 0x03782023, 0x00fb9a6b, 0x00038601}}, Y: Field{[10]uint32{0x02fcdda7, 0x01aacd1f, 0x01e7bfa5, 0x030c60f3, 0x02447e93, 0x00e9996b, 0x03e81c9b, 0x0192e70b, 0x01eb9c16, 0x003a72ac}}}, + {X: Field{[10]uint32{0x00593212, 0x018bc6d9, 0x03b411eb, 0x03c097e7, 0x00717611, 0x03fd134b, 0x021705ad, 0x01ec2be0, 0x0344c024, 0x0002980d}}, Y: Field{[10]uint32{0x02603b61, 0x0066ee32, 0x01d9ce5c, 0x0056a5ae, 0x026dcdb0, 0x021c4ee6, 0x035c0a2f, 0x01d8e10c, 0x032b706a, 0x002083f4}}}, + {X: Field{[10]uint32{0x015f20b0, 0x01882812, 0x036cb66a, 0x02ceab89, 0x01a1108a, 0x03258193, 0x0172a2fe, 0x004a60d2, 0x01b6895b, 0x0029bc76}}, Y: Field{[10]uint32{0x01c8273c, 0x027550db, 0x0288029c, 0x03be0e81, 0x037f55d7, 0x0219e70f, 0x03f5ea81, 0x020e518f, 0x00d0df03, 0x0026a577}}}, + {X: Field{[10]uint32{0x01ac5c48, 0x02bc49b3, 0x0041893b, 0x03cef5d3, 0x02f09f30, 0x01b88850, 0x00f920ab, 0x00ad8f80, 0x00320782, 0x0012b145}}, Y: Field{[10]uint32{0x00f43885, 0x012f0c68, 0x02a6ad7e, 0x031dc83d, 0x027ff037, 0x025156ef, 0x03da161f, 0x01291917, 0x014877e9, 0x002afd74}}}, + {X: Field{[10]uint32{0x03fb7a9b, 0x02efdebd, 0x004752da, 0x00dccd81, 0x0248af6e, 0x02cce508, 0x02c588e1, 0x03ab9633, 0x015ba16e, 0x00168b3d}}, Y: Field{[10]uint32{0x029322e2, 0x00001039, 0x01c4fe0c, 0x007dc58f, 0x01a45f8c, 0x03795688, 0x005aeca5, 0x01cb353f, 0x022d32ff, 0x0023c9ef}}}, + {X: Field{[10]uint32{0x03011c99, 0x00acf636, 0x0388f023, 0x00f8c32c, 0x02a87605, 0x01bff13a, 0x0012b27f, 0x0307d810, 0x03e8ef48, 0x00385bc8}}, Y: Field{[10]uint32{0x00c56000, 0x030e43ee, 0x017990e8, 0x03a84d0a, 0x0247ffe3, 0x02f69853, 0x015bb977, 0x0297036a, 0x0152b0af, 0x000657ff}}}, + {X: Field{[10]uint32{0x0124fb84, 0x02f458e1, 0x0145ac1b, 0x00ebfe5a, 0x0228923a, 0x03761ba4, 0x01e4263c, 0x027dc543, 0x00d7ac10, 0x00194d9f}}, Y: Field{[10]uint32{0x0347d731, 0x020d2945, 0x006b68a7, 0x02541a02, 0x00a7687c, 0x03ad3fa3, 0x009b170b, 0x01f75934, 0x01bafbe6, 0x00033c2e}}}, + {X: Field{[10]uint32{0x03d6eac2, 0x03bcd99a, 0x00d54a5c, 0x02723a55, 0x0389da48, 0x01b75991, 0x004228bd, 0x00ee35e9, 0x000b3944, 0x00042a21}}, Y: Field{[10]uint32{0x0261eff2, 0x01f80d31, 0x00a60798, 0x01571384, 0x03d8cc40, 0x03dfeb44, 0x01163ace, 0x01637861, 0x036ee4aa, 0x001ffdbd}}}, + {X: Field{[10]uint32{0x0245d6a0, 0x02c4c9d4, 0x000e1528, 0x03aa46ba, 0x027b1db5, 0x0315dfc5, 0x039d0380, 0x020809ae, 0x00a6c01b, 0x000ffbfa}}, Y: Field{[10]uint32{0x03637b5e, 0x01630e8e, 0x02350ecd, 0x01e9f27f, 0x03a95975, 0x0275a3bf, 0x00a0b543, 0x00512915, 0x01a937e6, 0x002a5b7d}}}, + {X: Field{[10]uint32{0x00052b61, 0x02b68871, 0x00c626c3, 0x03575861, 0x0058595f, 0x01759534, 0x03fb908f, 0x018ba5af, 0x037c0e41, 0x003be4f5}}, Y: Field{[10]uint32{0x03cd0bf5, 0x03efd03c, 0x0066b953, 0x007db35d, 0x01e53526, 0x011745a7, 0x01a23a86, 0x025f1fd6, 0x0385c18d, 0x00100222}}}, + {X: Field{[10]uint32{0x00ca4872, 0x01ef60ac, 0x01d40d62, 0x0335466f, 0x009224a2, 0x025c6df1, 0x01edbd84, 0x0240f521, 0x035eb0fa, 0x003c5e27}}, Y: Field{[10]uint32{0x031a9da8, 0x000587e9, 0x028d0583, 0x0016b6aa, 0x019e36a9, 0x01ec7d28, 0x03570f47, 0x0115fa8b, 0x00b65456, 0x00132117}}}, + {X: Field{[10]uint32{0x009b3274, 0x03313533, 0x004bfff3, 0x02422a1c, 0x00641938, 0x0353907c, 0x000d15ba, 0x017b4083, 0x0388ebc7, 0x00342ec5}}, Y: Field{[10]uint32{0x022a7641, 0x02aeffc8, 0x022fd8f7, 0x0091137d, 0x0143ac55, 0x00199992, 0x02877963, 0x009fd239, 0x00a895a3, 0x000e8483}}}, + {X: Field{[10]uint32{0x00e8963a, 0x0337df37, 0x0005a3fa, 0x0186bae6, 0x022f05e4, 0x00844350, 0x02aab317, 0x01eb9935, 0x010cf780, 0x000592b0}}, Y: Field{[10]uint32{0x02549b69, 0x037166fa, 0x032093f9, 0x0098c07c, 0x009b6dca, 0x0127e63f, 0x01d6f858, 0x037642ec, 0x03d440f1, 0x002373d0}}}, + {X: Field{[10]uint32{0x001fbe5f, 0x01b1e0a5, 0x02e40987, 0x00a5ce68, 0x00cd3aca, 0x00a527c3, 0x017dcf89, 0x0038eae1, 0x0165a8e4, 0x003c48b6}}, Y: Field{[10]uint32{0x02447371, 0x03409a36, 0x02257f50, 0x01cb4863, 0x00715043, 0x02d9c2fb, 0x02192d0b, 0x02260de2, 0x039dd9e6, 0x00136652}}}, + {X: Field{[10]uint32{0x008870a8, 0x0050e939, 0x03829662, 0x008605b9, 0x01b975fc, 0x015e07c2, 0x02e2cdbf, 0x02a4a86b, 0x014775e5, 0x002b25c5}}, Y: Field{[10]uint32{0x03c9aa71, 0x010f1c50, 0x03edef89, 0x0373e2ef, 0x0253fff7, 0x01e3725e, 0x03679452, 0x005d0a59, 0x0203795b, 0x000927ed}}}, + {X: Field{[10]uint32{0x01330906, 0x0312174b, 0x03fbdd48, 0x01b8512c, 0x02fb0add, 0x03a721c3, 0x013da811, 0x03f73243, 0x011edfd5, 0x002567b2}}, Y: Field{[10]uint32{0x0257ebdc, 0x02428898, 0x024b9aed, 0x01d4a91c, 0x0229f489, 0x014d617f, 0x01b5ebc6, 0x031d86d8, 0x0128b707, 0x000797b0}}}, + {X: Field{[10]uint32{0x02982859, 0x02ea4f87, 0x028b7c59, 0x02348ed7, 0x003c6abd, 0x01b7827c, 0x03b2d157, 0x0208c915, 0x01d8ed7d, 0x001641e5}}, Y: Field{[10]uint32{0x00576708, 0x014a4b4d, 0x003c0683, 0x008ea760, 0x01a09cb1, 0x011ead0b, 0x0216490a, 0x02210583, 0x02861a3c, 0x0017b74a}}}, + {X: Field{[10]uint32{0x03e0ba9e, 0x005373a8, 0x02555897, 0x02d6fc6e, 0x0348fdb4, 0x032b4541, 0x02178535, 0x00916fb6, 0x03987439, 0x00314dca}}, Y: Field{[10]uint32{0x00bca987, 0x02266c58, 0x035a022e, 0x010e2d92, 0x00767afc, 0x01ada713, 0x01536a54, 0x036e300d, 0x03617159, 0x003e0b42}}}, + {X: Field{[10]uint32{0x035bd38a, 0x013e5b38, 0x01ee1653, 0x00a1f72f, 0x00101611, 0x00c3c9b1, 0x00d20166, 0x032f4fb2, 0x01fcae39, 0x003cf656}}, Y: Field{[10]uint32{0x009b3562, 0x00f3c5eb, 0x016ce160, 0x000fb42b, 0x03da586a, 0x03918051, 0x03e2f97f, 0x009e0cbf, 0x001f8760, 0x00387957}}}, + {X: Field{[10]uint32{0x037fad9e, 0x033b0b94, 0x02cf8dd5, 0x010fe2a4, 0x0103a280, 0x0226c193, 0x023d9604, 0x038de0af, 0x036ebe3c, 0x00248af1}}, Y: Field{[10]uint32{0x01122109, 0x0302657d, 0x02b54352, 0x016f440c, 0x00116fbf, 0x006a5486, 0x00b9ea75, 0x03bf688c, 0x03572508, 0x002cc667}}}, + {X: Field{[10]uint32{0x01f0360d, 0x00e1cd36, 0x00a1299a, 0x02236ebf, 0x022c461d, 0x001c2b32, 0x02b1df08, 0x00b255e6, 0x01407a6d, 0x001171f7}}, Y: Field{[10]uint32{0x03e85ac4, 0x01349799, 0x00e73264, 0x029a983a, 0x02d076eb, 0x03765bd2, 0x03c4e044, 0x01a7b5b0, 0x015b5f24, 0x000e85e1}}}, + {X: Field{[10]uint32{0x0159bacb, 0x038b49ae, 0x00d5b33e, 0x02787c24, 0x00f1af5c, 0x01104705, 0x0189a5b7, 0x02c028f7, 0x0198dfd4, 0x001908b6}}, Y: Field{[10]uint32{0x037a3bb7, 0x03df6240, 0x03a09cdb, 0x01f1c0ee, 0x03376f59, 0x01dbd6cf, 0x018cea22, 0x0062864f, 0x03344912, 0x00388d63}}}, + {X: Field{[10]uint32{0x00b0535c, 0x03320b31, 0x01a6f535, 0x033c14d9, 0x0295b1a3, 0x00afdb07, 0x00640f19, 0x01b45469, 0x02143319, 0x00238120}}, Y: Field{[10]uint32{0x017c34ce, 0x023bd43a, 0x00e65b63, 0x02562ea5, 0x00200121, 0x017d56a8, 0x0282ee53, 0x00b1567c, 0x033a1f65, 0x0035b4b5}}}, + {X: Field{[10]uint32{0x024a79bb, 0x001c27f9, 0x002c4a1c, 0x003c0575, 0x02b8a708, 0x0049184f, 0x025a9e17, 0x00bc3e28, 0x01a8b5eb, 0x00168acf}}, Y: Field{[10]uint32{0x0386e6b7, 0x01fc622f, 0x00cd4422, 0x0209ae09, 0x01a6435a, 0x03be7629, 0x0095f8e6, 0x02abf9b7, 0x011deb54, 0x00181f1e}}}, + {X: Field{[10]uint32{0x02cd7ccf, 0x034b573d, 0x0213e1a0, 0x0000f377, 0x01c5296e, 0x0082afd2, 0x00f3d912, 0x005299d4, 0x03a35cf6, 0x00050d61}}, Y: Field{[10]uint32{0x02a653d7, 0x00bcb7e1, 0x0201b662, 0x01f0ba0c, 0x0315f14c, 0x011b0d02, 0x021af490, 0x03162d26, 0x01fade6c, 0x00126f21}}}, + {X: Field{[10]uint32{0x00a93193, 0x006f8677, 0x031a3ac8, 0x01f3fc97, 0x01ba357b, 0x03276141, 0x032c4bc8, 0x031d330e, 0x00428737, 0x003c0203}}, Y: Field{[10]uint32{0x023951f1, 0x00970e52, 0x00f0b5cf, 0x0364b289, 0x001c6a5a, 0x01c09f47, 0x03cfe320, 0x019d29f5, 0x019f57bf, 0x002f7404}}}, + {X: Field{[10]uint32{0x01130034, 0x01235417, 0x009cef77, 0x02bab01d, 0x023e162d, 0x0175f109, 0x00b26b68, 0x03fbd0db, 0x0373e547, 0x0021deb8}}, Y: Field{[10]uint32{0x00dfcf5f, 0x03db7c35, 0x00a8e6f9, 0x0054cb97, 0x03e1275e, 0x03c9a328, 0x0156b798, 0x00d06bb6, 0x0095b750, 0x0007c2bd}}}, + {X: Field{[10]uint32{0x00e619d4, 0x03caae7a, 0x02ca0d1d, 0x00182dce, 0x03e55f07, 0x01a689cb, 0x016a0714, 0x03286232, 0x036f0635, 0x00290637}}, Y: Field{[10]uint32{0x02f754e3, 0x03ff3580, 0x00856525, 0x0061a52e, 0x002e7558, 0x0296d646, 0x0099a6da, 0x009383f9, 0x01bb5bbb, 0x000ac1b3}}}, + {X: Field{[10]uint32{0x02aedeab, 0x001d8de8, 0x029671d9, 0x00253ad4, 0x00114dc2, 0x0131ec2d, 0x02dce4f4, 0x02eb4897, 0x0174bb6f, 0x0013084f}}, Y: Field{[10]uint32{0x03970b51, 0x0037dce7, 0x01be0e48, 0x03ec81b1, 0x01402fb5, 0x022bea73, 0x012c7d54, 0x0170561d, 0x039fccc6, 0x001d06fb}}}, + {X: Field{[10]uint32{0x00deb13a, 0x02dc1588, 0x01bff0ec, 0x030eed33, 0x032cf93b, 0x02240046, 0x014073a4, 0x03946c6a, 0x02fd3f94, 0x0028de41}}, Y: Field{[10]uint32{0x00e6030a, 0x028b59cc, 0x02332f01, 0x0376252a, 0x008a8a16, 0x00cc52dc, 0x00d5e552, 0x026c7461, 0x00b1c14a, 0x001828ec}}}, + {X: Field{[10]uint32{0x01e72301, 0x013b1353, 0x0225c5e8, 0x02396e14, 0x02d6d652, 0x01aed194, 0x038ae3d2, 0x02bd4592, 0x02ed639e, 0x000b19df}}, Y: Field{[10]uint32{0x03ee832a, 0x006e7fc1, 0x0278eaca, 0x00c4ecb4, 0x005fe639, 0x02b01f09, 0x0389240c, 0x01f2e85f, 0x0006d3bb, 0x0037c393}}}, + {X: Field{[10]uint32{0x017e77b4, 0x0077d2df, 0x009395d6, 0x02c33eb2, 0x01684473, 0x02c07000, 0x035fc3c5, 0x01af940c, 0x0014eaf8, 0x002d547e}}, Y: Field{[10]uint32{0x0246664b, 0x026738c1, 0x00bb1bd3, 0x03984693, 0x038818b6, 0x012b879f, 0x033f923b, 0x0057e0c0, 0x03354697, 0x002a5e72}}}, + {X: Field{[10]uint32{0x01f45c39, 0x020851b7, 0x01984fba, 0x02a1d050, 0x012cd47b, 0x0037c31c, 0x0361ad74, 0x0013abc7, 0x03185c8c, 0x00263571}}, Y: Field{[10]uint32{0x00050804, 0x034ae928, 0x01bc5b36, 0x00b10a3d, 0x019d4a8e, 0x007b3aa2, 0x02f88f5f, 0x01fb083a, 0x01915c73, 0x002b2949}}}, + {X: Field{[10]uint32{0x00cefc7c, 0x008f8ae5, 0x03bc9a0b, 0x021bbe3e, 0x02ed1e13, 0x03ef3318, 0x00104854, 0x02d949a3, 0x02f7260f, 0x00145238}}, Y: Field{[10]uint32{0x03ca2500, 0x01c914a9, 0x016e1296, 0x00581f2a, 0x039e9b27, 0x0068236e, 0x024a8ccb, 0x0292616e, 0x012d35de, 0x00196d37}}}, + {X: Field{[10]uint32{0x020e753c, 0x03a44c63, 0x031daf91, 0x01f260b7, 0x00a08a22, 0x02fad145, 0x0240cccb, 0x019042e2, 0x01c18c9d, 0x0004b1a6}}, Y: Field{[10]uint32{0x032fcc99, 0x0008b624, 0x028e120b, 0x01a013b4, 0x004889e9, 0x00145ba2, 0x029a1975, 0x015c90d1, 0x004289b5, 0x001f654f}}}, + {X: Field{[10]uint32{0x020a8d20, 0x01a75204, 0x02c639dc, 0x01e540e6, 0x02134e44, 0x03aec8c4, 0x02ecac37, 0x010046cd, 0x03f8a773, 0x0013434f}}, Y: Field{[10]uint32{0x0144ec64, 0x025816c0, 0x02a57397, 0x00a7c2c3, 0x03960b3d, 0x025fc85c, 0x00f10261, 0x013180f1, 0x03a0e098, 0x003b7fc5}}}, + {X: Field{[10]uint32{0x0136e42d, 0x00941855, 0x03be4481, 0x036606a7, 0x03ccb069, 0x019a0cdb, 0x01b0985a, 0x01e9c6a4, 0x030b3e7b, 0x0033a42d}}, Y: Field{[10]uint32{0x01569000, 0x00e91e01, 0x01e672e6, 0x039915fc, 0x00d3af73, 0x021d581b, 0x00640ca2, 0x03ab5d49, 0x015612e0, 0x002337a7}}}, + {X: Field{[10]uint32{0x0163b2d8, 0x03124c41, 0x0297e360, 0x02c720ef, 0x00d197f5, 0x034bea42, 0x03bf9851, 0x021e7667, 0x03276bb1, 0x000a31e4}}, Y: Field{[10]uint32{0x00643868, 0x02125b3b, 0x010857c1, 0x00f8cf64, 0x03bc0f3e, 0x03873ef8, 0x02b10f6a, 0x02d5196d, 0x0240e2f3, 0x00322513}}}, + {X: Field{[10]uint32{0x03442443, 0x03fa94f9, 0x006659a1, 0x02021f4c, 0x03864d4c, 0x016dc1fc, 0x00c2b6b5, 0x033c0601, 0x01062413, 0x001b8b6b}}, Y: Field{[10]uint32{0x029430e0, 0x000d77c4, 0x01f7dc4c, 0x00a10d10, 0x02497bc0, 0x02703f8d, 0x021fba73, 0x01a450c2, 0x0064e05d, 0x0027699f}}}, + {X: Field{[10]uint32{0x004d20fe, 0x016dc923, 0x0254f871, 0x022248fb, 0x0119f261, 0x037d0dfe, 0x034d03df, 0x00e51b10, 0x02c80376, 0x002fbe52}}, Y: Field{[10]uint32{0x031e25db, 0x033b5500, 0x038aaee7, 0x01cf39f8, 0x02386484, 0x02578501, 0x0383032e, 0x007719be, 0x0134e5fc, 0x00348c91}}}, + {X: Field{[10]uint32{0x018e433d, 0x033b6be0, 0x01125918, 0x0190f517, 0x009b7d86, 0x003c994f, 0x0166a24c, 0x01707728, 0x0057f1b4, 0x0014d523}}, Y: Field{[10]uint32{0x010c3b44, 0x024e013c, 0x0240db6a, 0x0170f2b5, 0x01c36aec, 0x00c2c4ea, 0x01307e21, 0x001fe700, 0x0146f0c2, 0x003304e2}}}, + {X: Field{[10]uint32{0x00b5867e, 0x01bfd001, 0x0188f90f, 0x02aff51e, 0x012aee71, 0x022dc8fb, 0x00b0e09b, 0x0324053a, 0x03847f25, 0x001ff53d}}, Y: Field{[10]uint32{0x00a1bd9d, 0x0174899d, 0x0297641b, 0x0234dd7e, 0x0358eec1, 0x01b900b6, 0x0205805a, 0x004ab659, 0x02bc901f, 0x003ff0f7}}}, + {X: Field{[10]uint32{0x0397dd9d, 0x031e7e94, 0x003ccd3d, 0x03da72e2, 0x03d4251b, 0x036411bb, 0x0062424c, 0x0226d127, 0x027e4997, 0x001112a2}}, Y: Field{[10]uint32{0x03b30282, 0x03117936, 0x03f828f7, 0x0106fce4, 0x02abbe8e, 0x002355b0, 0x028c7757, 0x02c0802b, 0x003b3356, 0x0013317c}}}, + {X: Field{[10]uint32{0x0326bd8b, 0x0033aa15, 0x02bc1acb, 0x019e398a, 0x0204af8c, 0x0108071e, 0x0294bd0a, 0x01897481, 0x007784d8, 0x003fc172}}, Y: Field{[10]uint32{0x0196eeb3, 0x030b79ea, 0x012d906e, 0x028242f4, 0x02a55f6a, 0x02fa613b, 0x025a0b5c, 0x01894f3e, 0x00ce6ac2, 0x001f3c3a}}}, + {X: Field{[10]uint32{0x027e4ab2, 0x020ce6b7, 0x027c679b, 0x001223c2, 0x00e29f47, 0x00ff649d, 0x0094ea08, 0x006daf3a, 0x03ae6aa3, 0x00203f7d}}, Y: Field{[10]uint32{0x0152fb75, 0x01b9828e, 0x018fe3f4, 0x02fc2f79, 0x0249e066, 0x03515d71, 0x004a8b4b, 0x009d158d, 0x017b1696, 0x001df5cc}}}, + {X: Field{[10]uint32{0x01879214, 0x012bab50, 0x01589685, 0x01edfad2, 0x03ef2022, 0x0035dcb5, 0x0020a74f, 0x001f2b54, 0x00c810a3, 0x002b0e29}}, Y: Field{[10]uint32{0x035016ac, 0x034b3a87, 0x01213c7c, 0x02acd057, 0x00d75ecf, 0x00b88a7b, 0x02f77ca9, 0x01616105, 0x00bb3c67, 0x003d2713}}}, + {X: Field{[10]uint32{0x01f75514, 0x02445569, 0x036fea26, 0x00d77a6a, 0x013a90a4, 0x03d40bc6, 0x0162f408, 0x00098bf5, 0x02ddf1e1, 0x002cdcdb}}, Y: Field{[10]uint32{0x015a78c8, 0x020c15eb, 0x027514e4, 0x037995fb, 0x000eafa2, 0x02856b83, 0x01cb0682, 0x00d4f3c0, 0x03aff190, 0x0020633b}}}, + {X: Field{[10]uint32{0x010dc295, 0x00e2cccc, 0x0322f127, 0x03d73ed9, 0x03e698d4, 0x031aa16a, 0x03f6d5ea, 0x03045ad5, 0x0212d100, 0x0019b59f}}, Y: Field{[10]uint32{0x00a05dd3, 0x0097fa85, 0x0318fd4e, 0x0318cb5c, 0x02685fae, 0x026ef5fa, 0x0208ea70, 0x0269534d, 0x021f3a0c, 0x0027353e}}}, + {X: Field{[10]uint32{0x02b59043, 0x011c4d4f, 0x0333eb87, 0x01ae9ee6, 0x029fa10c, 0x01bb37c2, 0x02eb6514, 0x0392136a, 0x035f756a, 0x002e15b5}}, Y: Field{[10]uint32{0x01cb0a38, 0x0069f6e2, 0x004c4b04, 0x0071c9ca, 0x026566da, 0x037c91bc, 0x03a177d8, 0x0259252c, 0x02b12f24, 0x00172150}}}, + {X: Field{[10]uint32{0x01c47d27, 0x014a547e, 0x01548afc, 0x017ee165, 0x03c736b1, 0x01869950, 0x00142cd6, 0x008e4d16, 0x03d70320, 0x0001a0ef}}, Y: Field{[10]uint32{0x022de166, 0x018d045d, 0x01746b41, 0x028a3653, 0x02420387, 0x031a3365, 0x0029f84a, 0x037c9945, 0x0240f5db, 0x00243d4a}}}, + {X: Field{[10]uint32{0x032923c2, 0x003e2a46, 0x018963d0, 0x029fe25d, 0x0141ee1c, 0x00ce8250, 0x00959345, 0x0079944e, 0x01f0811e, 0x000bfaa8}}, Y: Field{[10]uint32{0x00499c1a, 0x00e843fa, 0x0202b07e, 0x0081f41b, 0x03690d18, 0x039bb87b, 0x03701c35, 0x03500575, 0x0176b884, 0x00277602}}}, + {X: Field{[10]uint32{0x0287cda4, 0x001ed608, 0x0009780e, 0x02a86a5a, 0x01847070, 0x01134833, 0x0365e9b1, 0x02ebcea5, 0x0137da9e, 0x0033994a}}, Y: Field{[10]uint32{0x001ba572, 0x00c87cc1, 0x01b6801b, 0x00dbade8, 0x00454e17, 0x0279eba1, 0x01db3782, 0x00b6f96a, 0x03fb5f15, 0x0030711b}}}, + {X: Field{[10]uint32{0x00976211, 0x017f9a1e, 0x008a84fd, 0x02dac137, 0x03556087, 0x01d42f71, 0x03f9738a, 0x018feeac, 0x03d91701, 0x00269a56}}, Y: Field{[10]uint32{0x02aeda70, 0x0273c48f, 0x03c27d0c, 0x00b5935a, 0x010dce26, 0x02521a36, 0x002b1332, 0x03361669, 0x01f375ac, 0x003d02e8}}}, + {X: Field{[10]uint32{0x0134ba44, 0x034c88ef, 0x00ec718c, 0x0285d55e, 0x035908b0, 0x03936930, 0x02bd6d09, 0x020fb2fe, 0x0368bd30, 0x00396eab}}, Y: Field{[10]uint32{0x03a27fb0, 0x03bee642, 0x03dbce4d, 0x011aa6be, 0x005feb7f, 0x028fa1a9, 0x0076d0ed, 0x030f0541, 0x01f0365c, 0x002ae194}}}, + {X: Field{[10]uint32{0x03e59cc7, 0x00ddb63f, 0x0104ce06, 0x0322fd8f, 0x03dd0c4d, 0x01fb87f6, 0x033530bb, 0x03f9df63, 0x02a2b507, 0x000b09b3}}, Y: Field{[10]uint32{0x0230d62e, 0x002da739, 0x0004a500, 0x030abbf0, 0x03c30a1c, 0x016114a5, 0x0367151b, 0x00fae6c2, 0x03af54d0, 0x002cd138}}}, + {X: Field{[10]uint32{0x00bbd0e4, 0x00527d72, 0x027a3c2a, 0x02701ff2, 0x024d5333, 0x0281f8bd, 0x01eadaf0, 0x00b98623, 0x039f52af, 0x001f19d4}}, Y: Field{[10]uint32{0x009067c9, 0x039cfa4c, 0x0303896e, 0x02f986d8, 0x03df7a2c, 0x01990bb1, 0x02cc97ec, 0x0244d813, 0x02fdc21c, 0x000fe61c}}}, + {X: Field{[10]uint32{0x02249574, 0x02b7072a, 0x01aab8f9, 0x013dd080, 0x00334561, 0x00769c72, 0x02e1d17e, 0x002f24ed, 0x012dec8b, 0x0012d777}}, Y: Field{[10]uint32{0x02c5460b, 0x02cdaa2a, 0x03d695df, 0x0155b957, 0x036e16e7, 0x00aa169a, 0x00d18b3d, 0x03bf6d0d, 0x02dcaa3e, 0x0033eb68}}}, + {X: Field{[10]uint32{0x00d80e4b, 0x02f0d6e2, 0x03e59216, 0x0200bac2, 0x00f9bb66, 0x01cea13e, 0x0266edb8, 0x0020d61a, 0x02f2ccfc, 0x0035dd70}}, Y: Field{[10]uint32{0x0053ddbb, 0x02ce933f, 0x01ea765b, 0x015e444d, 0x02ff56ca, 0x025902a1, 0x02aa0b51, 0x0088c73d, 0x01b7988a, 0x00322976}}}, + {X: Field{[10]uint32{0x00d9bb4a, 0x0200ea6f, 0x014dcd3c, 0x01ec0dab, 0x00b005b0, 0x00f70f69, 0x001d9844, 0x003e77ec, 0x03097881, 0x001c68f3}}, Y: Field{[10]uint32{0x03caaa55, 0x00c41002, 0x01f5a1ad, 0x01362627, 0x01bd4a3c, 0x0185eb55, 0x000c5b39, 0x00c06e59, 0x02217db0, 0x0022aae3}}}, + {X: Field{[10]uint32{0x011f53b7, 0x03a2ec66, 0x00d3fdde, 0x00160970, 0x02a82f7d, 0x035de3bd, 0x00596ae3, 0x025b9880, 0x005492b6, 0x002f1c68}}, Y: Field{[10]uint32{0x029a2a15, 0x02abd85c, 0x03b52b07, 0x00db9003, 0x00d11255, 0x018c2a42, 0x03744600, 0x02e362c4, 0x01259785, 0x00055e24}}}, + {X: Field{[10]uint32{0x00847abc, 0x0247193f, 0x01f7e6f8, 0x002f1ade, 0x00e8d94a, 0x003d8396, 0x001ec81a, 0x02ff73ee, 0x0119ee62, 0x00274882}}, Y: Field{[10]uint32{0x02d0c675, 0x002f1f9b, 0x02a16e53, 0x03229efe, 0x0075f3a7, 0x027d3a53, 0x03fe8865, 0x00f0ae37, 0x039b1a07, 0x0020524d}}}, + {X: Field{[10]uint32{0x03f33425, 0x0230cfbb, 0x016e5c6c, 0x006d38da, 0x00d25bff, 0x038eb565, 0x030c6c91, 0x02f4668c, 0x026ad30b, 0x0020da5d}}, Y: Field{[10]uint32{0x02e79e4a, 0x02562e5c, 0x008a4e4b, 0x0236185f, 0x038ed5d2, 0x0087df6b, 0x00970d9c, 0x015d7216, 0x0282b3f4, 0x00289fdd}}}, + {X: Field{[10]uint32{0x00542451, 0x02cba2c8, 0x00ab457d, 0x02b4735a, 0x03e91f51, 0x021fed09, 0x00d36b54, 0x03aaac6a, 0x00750e4a, 0x001389de}}, Y: Field{[10]uint32{0x026566e0, 0x014083a8, 0x0123e763, 0x0036a3e1, 0x02d138fd, 0x0054a951, 0x02bf1d2a, 0x012e07e5, 0x03655bbc, 0x0027ebbf}}}, + {X: Field{[10]uint32{0x01a0d2fa, 0x024408ce, 0x036b108b, 0x0306c84c, 0x01825046, 0x009816a4, 0x028d2027, 0x03ffcc39, 0x03b51b9d, 0x0009fe41}}, Y: Field{[10]uint32{0x012d4a15, 0x035ec301, 0x0068acbf, 0x0167ff10, 0x000105f4, 0x03571276, 0x004bf3dd, 0x00d803ee, 0x01c36cb1, 0x00045489}}}, + {X: Field{[10]uint32{0x02b1fab3, 0x010bbb55, 0x0281864b, 0x02a3cf35, 0x02ef0900, 0x007dc3c5, 0x03ff42d4, 0x01d3110d, 0x03206506, 0x001b67fa}}, Y: Field{[10]uint32{0x03a02065, 0x015d3483, 0x02444f60, 0x0000e6a8, 0x035f7f7b, 0x014ebe8e, 0x015f8576, 0x00f070b9, 0x03ecd82b, 0x0020b365}}}, + {X: Field{[10]uint32{0x0187bfac, 0x03cb3de0, 0x03558857, 0x02f4ef45, 0x01ecb9cd, 0x00a139ca, 0x01c3b363, 0x019a74d8, 0x02b43360, 0x00226074}}, Y: Field{[10]uint32{0x00d48498, 0x01b5e05c, 0x0245a3e8, 0x018db09d, 0x000216b2, 0x0053b357, 0x011bf736, 0x0174761e, 0x0327d5a4, 0x0006e6ba}}}, + {X: Field{[10]uint32{0x02e1d72e, 0x026169dc, 0x010ce9c5, 0x0215b4f0, 0x02816916, 0x01fa4b38, 0x0140d557, 0x0347f895, 0x0118e47a, 0x0021299d}}, Y: Field{[10]uint32{0x01631658, 0x0294d071, 0x03356dc8, 0x0389a67b, 0x0016ca04, 0x0312dcff, 0x0011777d, 0x00ba8b9b, 0x03af8507, 0x0034f2e4}}}, + {X: Field{[10]uint32{0x00a8c683, 0x030a346b, 0x03418d50, 0x0376e77e, 0x007e666c, 0x0196999d, 0x00111e2e, 0x033ddd43, 0x035672a6, 0x0034f999}}, Y: Field{[10]uint32{0x02556dd9, 0x027eb8e9, 0x023f0735, 0x016f7441, 0x034e2e81, 0x008cfe0f, 0x01aca5d8, 0x031b0ead, 0x00aa20e5, 0x001dddbb}}}, + {X: Field{[10]uint32{0x01b87bba, 0x00b6ce19, 0x03c4af7b, 0x02129a3b, 0x02522a76, 0x0394958f, 0x00e76b5e, 0x015a2201, 0x01ef71d4, 0x003b7a5f}}, Y: Field{[10]uint32{0x01ae702f, 0x01eda4bf, 0x03513758, 0x023eddfa, 0x0285bafb, 0x01d62a03, 0x02279f95, 0x0049d982, 0x020f0c9c, 0x0024b9b4}}}, + {X: Field{[10]uint32{0x02e8c871, 0x0282e73a, 0x006ed025, 0x021091eb, 0x036ff84f, 0x00c4b9c0, 0x03db3ae2, 0x01213b3d, 0x0142e000, 0x000cd678}}, Y: Field{[10]uint32{0x021cdf66, 0x019be774, 0x0377f871, 0x0024db90, 0x00d00ada, 0x00e76fca, 0x00c98bf7, 0x017e87ce, 0x01f23c84, 0x0019ec0e}}}, + {X: Field{[10]uint32{0x022b44a1, 0x018b1f84, 0x0158f8fd, 0x02bb3c36, 0x0196f675, 0x00245295, 0x014a3dc4, 0x000bf499, 0x01720c05, 0x0038342a}}, Y: Field{[10]uint32{0x036b0312, 0x01ef51d5, 0x021718db, 0x00b46c47, 0x033ee29e, 0x03684640, 0x03d916ed, 0x0169faef, 0x01bc3457, 0x00032fac}}}, + {X: Field{[10]uint32{0x01a4c987, 0x01f7e108, 0x02605939, 0x00676368, 0x014f3320, 0x007d757b, 0x0031ac7a, 0x01dc1190, 0x03675df7, 0x00142e24}}, Y: Field{[10]uint32{0x0292f293, 0x013ccd74, 0x01204cb0, 0x014cf67b, 0x0045c382, 0x01b5bfc3, 0x009c3f25, 0x0327ae82, 0x0181063e, 0x00311d97}}}, + {X: Field{[10]uint32{0x016d446a, 0x0390cb73, 0x0111391c, 0x02f9073a, 0x037f80cb, 0x03e3a048, 0x01e84e99, 0x017fdbc8, 0x018e6677, 0x0017718b}}, Y: Field{[10]uint32{0x0373a9c2, 0x01bac505, 0x01de99ad, 0x02fc497d, 0x00b020ca, 0x0058ff57, 0x021cdabd, 0x011695db, 0x037de270, 0x0012d15a}}}, + {X: Field{[10]uint32{0x02c10971, 0x0353e588, 0x01b03fdc, 0x01f88bbf, 0x004e56ba, 0x0241c430, 0x0232e187, 0x00611749, 0x038fc792, 0x0022e85d}}, Y: Field{[10]uint32{0x023e3854, 0x031ebd8f, 0x00c53f48, 0x03a23d06, 0x0048ffeb, 0x025c1c9a, 0x01d7d435, 0x025962ce, 0x00ffa835, 0x0007cc7f}}}, + {X: Field{[10]uint32{0x00db9fc7, 0x03681b02, 0x0294be7a, 0x00aeea2d, 0x02999a10, 0x02fe6042, 0x03ad055f, 0x029eef9a, 0x02147d1e, 0x0028e851}}, Y: Field{[10]uint32{0x006ac294, 0x01fab0e2, 0x03d57a69, 0x01ec69c9, 0x00b3bdb8, 0x014c7ff3, 0x00cd6eb3, 0x004a108f, 0x0331d432, 0x0032609d}}}, + {X: Field{[10]uint32{0x00af78f5, 0x03470bf8, 0x0328621a, 0x03d93637, 0x01f6ce1a, 0x00d9a0b1, 0x01671c44, 0x00d2ab20, 0x0047bd20, 0x0025882a}}, Y: Field{[10]uint32{0x01826e1c, 0x03855553, 0x01f0d099, 0x0017a256, 0x016168a2, 0x0055af37, 0x007e32f4, 0x037ffb2d, 0x0108a7e3, 0x0038731b}}}, + {X: Field{[10]uint32{0x0396016b, 0x03663881, 0x016eebc9, 0x01f16126, 0x0395b2c5, 0x012363ff, 0x00b6a52c, 0x01a9e4fc, 0x02a0aa7d, 0x00290361}}, Y: Field{[10]uint32{0x02351ea2, 0x03365402, 0x0087396e, 0x02d117d1, 0x00062911, 0x009585f6, 0x014c15cb, 0x0119b6b6, 0x00e2d453, 0x003b1535}}}, + {X: Field{[10]uint32{0x03484c80, 0x0241de6c, 0x02fbd5ed, 0x03a6e993, 0x037e5f40, 0x01d1661b, 0x0173b979, 0x009a295d, 0x01a6f60f, 0x001c7bcd}}, Y: Field{[10]uint32{0x038a1ba3, 0x0058ded3, 0x01669875, 0x00f2f91d, 0x0302f369, 0x03d69ab5, 0x037df7f6, 0x01642b15, 0x021e9ff3, 0x003aaffe}}}, + {X: Field{[10]uint32{0x00f68de2, 0x031db5e9, 0x0267486f, 0x02fbc40f, 0x005308ab, 0x017dc256, 0x01ffa52c, 0x028ecb92, 0x0008c742, 0x002ef469}}, Y: Field{[10]uint32{0x01246124, 0x002d86d7, 0x0079a2ac, 0x00201428, 0x01ee6e1e, 0x01cca116, 0x00fbe96c, 0x0384f86c, 0x03ec9d07, 0x00125072}}}, + {X: Field{[10]uint32{0x00ba9009, 0x03c7e7a1, 0x012ab433, 0x03fe5613, 0x03805d60, 0x00b226d7, 0x009c92ff, 0x01b7d4f8, 0x03389211, 0x0005a7af}}, Y: Field{[10]uint32{0x03c6228d, 0x000d6641, 0x02a08345, 0x01247a4c, 0x02c997d1, 0x03c77923, 0x01b5adeb, 0x01fb8560, 0x0116e766, 0x002453d5}}}, + {X: Field{[10]uint32{0x00666acc, 0x01d40b3e, 0x020c3977, 0x02781313, 0x01d71c8d, 0x02436391, 0x00115458, 0x031fefab, 0x02bc4c5e, 0x0023c55e}}, Y: Field{[10]uint32{0x03f25908, 0x00604e0f, 0x021bc635, 0x0026260b, 0x02014dc7, 0x000af28f, 0x019883e6, 0x02a7ee62, 0x02ba1e78, 0x0035055d}}}, + {X: Field{[10]uint32{0x00ec9a8d, 0x03632d6d, 0x0010091e, 0x024e53ee, 0x0284f71f, 0x026801b6, 0x00ebcd83, 0x009b7001, 0x00d5694b, 0x002334ce}}, Y: Field{[10]uint32{0x00002578, 0x03b34874, 0x03d952a6, 0x00d30809, 0x0303fd9d, 0x015192ac, 0x000eccf4, 0x0366e702, 0x0010dd88, 0x00100c63}}}, + {X: Field{[10]uint32{0x013272f2, 0x003b8f8a, 0x02e28cbf, 0x030a5224, 0x03a64748, 0x012b5d83, 0x036171af, 0x02e8a834, 0x022f7ba5, 0x0008391f}}, Y: Field{[10]uint32{0x03be00bd, 0x00549519, 0x020a771b, 0x03e1db1c, 0x03162dda, 0x02279099, 0x00520897, 0x02608570, 0x022056b8, 0x002e5ab4}}}, + {X: Field{[10]uint32{0x032bb880, 0x032d7997, 0x015793f3, 0x031bfefc, 0x02f9c31e, 0x03d0477b, 0x02942d11, 0x023e736d, 0x00a5a0d3, 0x00160bb6}}, Y: Field{[10]uint32{0x03ce8486, 0x03d1e580, 0x02352a4c, 0x0248d29b, 0x02948ea8, 0x012ebd2f, 0x00a8db56, 0x0274f7b1, 0x000e4f9d, 0x000524a3}}}, + {X: Field{[10]uint32{0x001896d6, 0x03ac6d18, 0x01e7b877, 0x022db47d, 0x03b0bcab, 0x023011ba, 0x03daf30b, 0x030474fd, 0x019a6e76, 0x003d29bd}}, Y: Field{[10]uint32{0x0070f0c5, 0x0229922c, 0x01abeedc, 0x010792f6, 0x01ccde46, 0x026c5239, 0x01a05d4a, 0x01055956, 0x02e9e5d8, 0x000b4e71}}}, + {X: Field{[10]uint32{0x00957b24, 0x00a6bdcc, 0x0252d2c3, 0x02e31d8e, 0x02fc8564, 0x01588fc1, 0x0266bf01, 0x033d71db, 0x00600f71, 0x000aa083}}, Y: Field{[10]uint32{0x03ff3ca2, 0x0249919d, 0x02d370fd, 0x01f6e655, 0x0236f77f, 0x01401e34, 0x009a1d72, 0x0256679b, 0x0303d742, 0x002ce301}}}, + {X: Field{[10]uint32{0x02e2799e, 0x00612281, 0x03872623, 0x00ef075f, 0x0133634d, 0x001de8ea, 0x01d48026, 0x02fd921c, 0x004e9fcc, 0x00230b67}}, Y: Field{[10]uint32{0x01351a7d, 0x0152162a, 0x02db8d59, 0x01dd8130, 0x03cf032d, 0x02026169, 0x009c534e, 0x02edb631, 0x036cae43, 0x002b5404}}}, + {X: Field{[10]uint32{0x00061ba9, 0x003466dd, 0x004906eb, 0x017eb7f1, 0x03db00d2, 0x00e49d64, 0x00b991e2, 0x02cfb434, 0x00530744, 0x002c63a4}}, Y: Field{[10]uint32{0x033877b6, 0x03faa4ac, 0x002a702f, 0x02e1108c, 0x0343a8aa, 0x02600d34, 0x01edd739, 0x02cb19dc, 0x0244c829, 0x00243d72}}}, + {X: Field{[10]uint32{0x00e835be, 0x01e37347, 0x00109330, 0x01f3d2b1, 0x01d12482, 0x0314efe8, 0x01d2f58c, 0x010d6e41, 0x0157b03d, 0x00033c74}}, Y: Field{[10]uint32{0x0271b459, 0x01b65672, 0x031ab119, 0x037d87ba, 0x003ea656, 0x01147359, 0x0303cf21, 0x031f5a83, 0x01a15547, 0x003b8dea}}}, + {X: Field{[10]uint32{0x014a6007, 0x0358fdf9, 0x004c1562, 0x0347c8be, 0x0192fc13, 0x01bd2f39, 0x021ac36a, 0x02103ecb, 0x018ad91a, 0x002362e7}}, Y: Field{[10]uint32{0x03842dba, 0x006d1ac2, 0x02ee1ce6, 0x03851f39, 0x01ee9227, 0x00e6af7b, 0x020ec3b4, 0x023cb76b, 0x024393ca, 0x00254a2f}}}, + {X: Field{[10]uint32{0x0087fc9d, 0x006d18ff, 0x0106f256, 0x02387569, 0x037ae04a, 0x00366932, 0x02c936fb, 0x02c355c5, 0x0144bbc5, 0x001812d5}}, Y: Field{[10]uint32{0x016ac8eb, 0x00649528, 0x01d8a3e3, 0x01bc41a8, 0x03ee3cde, 0x034f67b6, 0x001e5fe7, 0x029b9d07, 0x039c4fb9, 0x000cff8b}}}, + {X: Field{[10]uint32{0x03aed8f6, 0x030245be, 0x03e5309e, 0x0191e567, 0x02cbd16d, 0x02785328, 0x017aab74, 0x03b91181, 0x00141058, 0x000f9fb5}}, Y: Field{[10]uint32{0x012e79fc, 0x00915a25, 0x006481ba, 0x01860bc6, 0x01f66bd3, 0x00280574, 0x01aa6971, 0x031b8324, 0x024186de, 0x003f056c}}}, + {X: Field{[10]uint32{0x0143f326, 0x034149de, 0x00f26736, 0x01a531a7, 0x0126e46f, 0x01b3d0b0, 0x01242431, 0x01ee2b25, 0x003586c1, 0x00342b9d}}, Y: Field{[10]uint32{0x034e0757, 0x007386fd, 0x0304b197, 0x00fa2ed7, 0x00fbaca0, 0x02fdada7, 0x0398865a, 0x01622b50, 0x01e8b983, 0x002fe80b}}}, + {X: Field{[10]uint32{0x00be1441, 0x0147ae62, 0x0197f5f8, 0x01967781, 0x023627bc, 0x014e02b7, 0x02ce2f94, 0x010f8df9, 0x01ced4f3, 0x003bd701}}, Y: Field{[10]uint32{0x00103281, 0x0031865d, 0x036350d6, 0x030ab527, 0x01b681e7, 0x012ba388, 0x010e40b7, 0x03c678ef, 0x001b0379, 0x0036499f}}}, + {X: Field{[10]uint32{0x008f49ae, 0x01921917, 0x038ca8dc, 0x01971efc, 0x03d7cf42, 0x02c2766b, 0x033015c3, 0x022b65f1, 0x03ebd799, 0x0005dae3}}, Y: Field{[10]uint32{0x0122f1b4, 0x0086fce1, 0x034c5fc8, 0x017a8053, 0x017f989f, 0x019db1e0, 0x00da1905, 0x03268da7, 0x024c8267, 0x002d2f2f}}}, + {X: Field{[10]uint32{0x0116c3dd, 0x00e9d9af, 0x03a0097b, 0x0374d50b, 0x03b20771, 0x02db698b, 0x0358d69f, 0x03053bae, 0x03db0cff, 0x00223da0}}, Y: Field{[10]uint32{0x011cb601, 0x03fdc607, 0x02219f52, 0x025aca5c, 0x020cf800, 0x0094add3, 0x02797ca0, 0x000f1499, 0x03de8121, 0x0002efbc}}}, + {X: Field{[10]uint32{0x0237abaa, 0x03f88e3d, 0x00854dd1, 0x0208c7ee, 0x018488b0, 0x00f59e24, 0x00c4121c, 0x03b113f6, 0x038f1247, 0x00299750}}, Y: Field{[10]uint32{0x023f36a3, 0x012a0be6, 0x00986d4d, 0x0257743f, 0x034bb500, 0x0131dc6b, 0x01cf3c0b, 0x010cff7f, 0x004e551e, 0x0017d972}}}, + {X: Field{[10]uint32{0x0398cc27, 0x0169a818, 0x03d2ff6a, 0x02e40a20, 0x02d5cdda, 0x03c565f1, 0x0208148a, 0x022edfdf, 0x0251c502, 0x002f5a9f}}, Y: Field{[10]uint32{0x0059d885, 0x02dc3d9e, 0x02f662dd, 0x01369dbb, 0x030c1ed1, 0x026a63a4, 0x0397979b, 0x03748ba2, 0x00c4247c, 0x000fc8a0}}}, + {X: Field{[10]uint32{0x009d274b, 0x00468264, 0x02202344, 0x02b1d34d, 0x0158f7a3, 0x01440514, 0x031814ec, 0x02837152, 0x036c2896, 0x00299c90}}, Y: Field{[10]uint32{0x03c2ec3f, 0x03f3b3af, 0x02654a7a, 0x02765590, 0x02c81f3d, 0x02b6b795, 0x02acea6b, 0x01e3656e, 0x02934681, 0x0037ba00}}}, + {X: Field{[10]uint32{0x003a24b0, 0x0380de7c, 0x004bc8d9, 0x02a4c844, 0x0257891b, 0x01f4b6a9, 0x01b0993d, 0x03433c6b, 0x01fed3a1, 0x003283d5}}, Y: Field{[10]uint32{0x023cfa6f, 0x010f9bd6, 0x0399db58, 0x020e59c4, 0x03520166, 0x02f2a363, 0x0188baae, 0x00b73645, 0x00e46346, 0x0037006e}}}, + {X: Field{[10]uint32{0x036429a1, 0x03c2d712, 0x034ccb91, 0x029fa831, 0x02211843, 0x02cbf881, 0x004961cc, 0x00087815, 0x008d9bff, 0x001843fc}}, Y: Field{[10]uint32{0x01d46b28, 0x01d82fb4, 0x020dd9b0, 0x00d8d7c5, 0x02d889bc, 0x03f34f84, 0x03daee68, 0x017e9f6a, 0x018aee96, 0x0012f8ec}}}, + {X: Field{[10]uint32{0x01ff42ae, 0x03318e2a, 0x0162238f, 0x032588b7, 0x026b695d, 0x037e3c28, 0x00f006cd, 0x03b32de3, 0x0215a70a, 0x000b5be0}}, Y: Field{[10]uint32{0x01a3927b, 0x011521e5, 0x010fd3ff, 0x005491b1, 0x037a9887, 0x03543ccd, 0x01e4e5be, 0x0325a798, 0x0164e2a3, 0x0000ff02}}}, + {X: Field{[10]uint32{0x00a1bbbb, 0x00318c22, 0x004ea70b, 0x009a90bf, 0x02998468, 0x0386826b, 0x010b132d, 0x00e716d8, 0x01b4868e, 0x002303a6}}, Y: Field{[10]uint32{0x001cfe52, 0x01314d85, 0x01a95c38, 0x00b821e1, 0x036ead99, 0x0186e305, 0x036a41de, 0x01032ca1, 0x0242f0a2, 0x000cae32}}}, + {X: Field{[10]uint32{0x03c96ed7, 0x0327ac23, 0x007e4dba, 0x007596be, 0x03658c6d, 0x013bdb5d, 0x0062af77, 0x02b9d78c, 0x028f9000, 0x00054a2e}}, Y: Field{[10]uint32{0x013b5651, 0x03b29914, 0x0253a5fa, 0x03571cc6, 0x012d39f0, 0x01d4ea2f, 0x00e64665, 0x01af3475, 0x038d54df, 0x002a3749}}}, + {X: Field{[10]uint32{0x03f1d7a4, 0x027bde9b, 0x037d2fa0, 0x02feb16b, 0x00104394, 0x02545616, 0x03a040e2, 0x01a9ebc4, 0x02a5d925, 0x0030519b}}, Y: Field{[10]uint32{0x01be5128, 0x0115ec9d, 0x00a7bc05, 0x02db8414, 0x00d8bab3, 0x01800f7c, 0x0284b540, 0x0361e7c1, 0x02c6fb36, 0x0032adbf}}}, + {X: Field{[10]uint32{0x03e98cb4, 0x004604b4, 0x02b56c6f, 0x02ea1e9d, 0x022ea946, 0x03e430fc, 0x0297a87c, 0x002274a8, 0x0093e051, 0x0033a2ec}}, Y: Field{[10]uint32{0x003a0470, 0x014ba578, 0x028884c2, 0x02b642c3, 0x00679cbc, 0x0344eeab, 0x03f556fb, 0x0213f9b7, 0x0251b906, 0x002a36ee}}}, + {X: Field{[10]uint32{0x02d6c86d, 0x01960b81, 0x016ea918, 0x018e85ea, 0x027c4267, 0x0024aa53, 0x030ddd9b, 0x02785634, 0x02737c9d, 0x0001dbce}}, Y: Field{[10]uint32{0x01d16c8a, 0x00a808b9, 0x00443b20, 0x00081f90, 0x01b29c53, 0x01b38fc1, 0x00ad27ec, 0x0179b1de, 0x007c4f34, 0x0016c728}}}, + {X: Field{[10]uint32{0x0274017f, 0x015cb542, 0x001adee1, 0x03fabdda, 0x032ed997, 0x0375f50e, 0x03988725, 0x002c84ee, 0x03c32339, 0x003dd5f7}}, Y: Field{[10]uint32{0x01b83cf8, 0x034912e9, 0x016be461, 0x019f2869, 0x0374ec4f, 0x023ace55, 0x00b63d98, 0x025c99c0, 0x00ea6787, 0x00342d39}}}, + {X: Field{[10]uint32{0x02d5f5d0, 0x00aa1ee7, 0x0065c149, 0x01a43647, 0x03f27a57, 0x036f8f19, 0x000ec6d3, 0x02bbf7c2, 0x0198a2de, 0x00166fd8}}, Y: Field{[10]uint32{0x0010f8b2, 0x00f5c3e1, 0x029b3a2f, 0x03b58054, 0x016e02f2, 0x03519e15, 0x010834c4, 0x028a08c4, 0x03399011, 0x002fd7ad}}}, + {X: Field{[10]uint32{0x0149ba16, 0x02020b81, 0x0052d53f, 0x0173c4b3, 0x02a7b0e8, 0x02463056, 0x02857900, 0x021d5d21, 0x030ac86d, 0x002c740b}}, Y: Field{[10]uint32{0x031a19d0, 0x00dff095, 0x0106b854, 0x00965b4f, 0x03972977, 0x00fce14a, 0x000878d6, 0x01adda2a, 0x02039992, 0x0001e497}}}, + {X: Field{[10]uint32{0x001d1905, 0x0393900e, 0x02908882, 0x03bc53ce, 0x027e5267, 0x01f10610, 0x03d2ec12, 0x0381f406, 0x032f41d8, 0x003349cd}}, Y: Field{[10]uint32{0x01c77297, 0x02bc3257, 0x003522ac, 0x005d4826, 0x02c33296, 0x01045a4e, 0x03810f3b, 0x027ccf33, 0x0203661b, 0x003338db}}}, + {X: Field{[10]uint32{0x019d3ace, 0x036d26f7, 0x01695b01, 0x033eef20, 0x03ad2258, 0x032eaad3, 0x028940f5, 0x00d664ed, 0x00fc26ca, 0x00044991}}, Y: Field{[10]uint32{0x01c0bf60, 0x01341245, 0x01b904e7, 0x00acefa7, 0x037ff136, 0x03b7c274, 0x03a49b3b, 0x02e57cbd, 0x03907b5a, 0x0021a17d}}}, + {X: Field{[10]uint32{0x0197d3ce, 0x001b8b03, 0x018bb3a6, 0x03abae12, 0x0192fb51, 0x00d68936, 0x02845759, 0x01285883, 0x032a99ce, 0x0024637d}}, Y: Field{[10]uint32{0x038a8461, 0x0333faee, 0x03065602, 0x00609d26, 0x01bb6b79, 0x0241e533, 0x038b0d3c, 0x03fe63c6, 0x01ec9ebb, 0x00222cce}}}, + {X: Field{[10]uint32{0x00dcb83b, 0x02b3eaff, 0x01af2a7d, 0x0093cd28, 0x00436e64, 0x035229dc, 0x0025b510, 0x03ff2025, 0x00f265c4, 0x0026e3c6}}, Y: Field{[10]uint32{0x0185ba55, 0x0152a6b5, 0x012475e4, 0x03e4fd8f, 0x01476c4a, 0x0318a04e, 0x02e8c78f, 0x0306e4b0, 0x01e86a34, 0x0002fee5}}}, + {X: Field{[10]uint32{0x0024ce30, 0x031e3fef, 0x0340c9b9, 0x002b62cc, 0x00382174, 0x03a87639, 0x02be52a1, 0x0189a90a, 0x032ac396, 0x0002b40b}}, Y: Field{[10]uint32{0x022885fb, 0x030b41c6, 0x01b13255, 0x03978953, 0x03ad8c97, 0x02deede9, 0x0027cfe1, 0x01e1cbfe, 0x00e6cf8a, 0x003f31ce}}}, + {X: Field{[10]uint32{0x026d85a3, 0x03ee6b76, 0x0076c84b, 0x00a23d51, 0x029b5c19, 0x016b3c49, 0x02e34f3f, 0x036b2423, 0x03bd5e60, 0x0000d66b}}, Y: Field{[10]uint32{0x03088955, 0x0055e7ec, 0x030f6b50, 0x00da8608, 0x03443586, 0x024cb385, 0x02721553, 0x03fb59c4, 0x01e79cd3, 0x000b8aa8}}}, + {X: Field{[10]uint32{0x00b279de, 0x0024459a, 0x033ca55e, 0x03008187, 0x030c3c15, 0x0335b1e3, 0x00c34a31, 0x00bc7384, 0x023e230f, 0x00158e6a}}, Y: Field{[10]uint32{0x0111bef1, 0x01b0bb2d, 0x0309c8ed, 0x006c1189, 0x02e3a7d5, 0x02a7a0f8, 0x023bc263, 0x01fc2cfe, 0x015c15de, 0x00382dba}}}, + {X: Field{[10]uint32{0x0269ec44, 0x015d94b5, 0x00e4ad86, 0x01b2b50b, 0x03693d3b, 0x0097bf0a, 0x00ef3d0c, 0x02567617, 0x03cc7b2f, 0x000c273f}}, Y: Field{[10]uint32{0x0150077d, 0x02596dea, 0x0274bcf7, 0x0299e664, 0x0232f949, 0x01487548, 0x00095205, 0x02c6f9e6, 0x022fd917, 0x0000eaed}}}, + {X: Field{[10]uint32{0x033b86b2, 0x006bdb94, 0x033cace9, 0x01a922af, 0x00534a02, 0x01d7244c, 0x018eab63, 0x035f0017, 0x01d2dac1, 0x00147cf5}}, Y: Field{[10]uint32{0x03e99f74, 0x0262a3e8, 0x0235aba9, 0x00aab410, 0x0234f9cf, 0x02816f76, 0x03fbfe0c, 0x0123b67c, 0x027f4bdc, 0x000142c7}}}, + {X: Field{[10]uint32{0x01c2a244, 0x03897b8a, 0x00e1fa3f, 0x03d22cf9, 0x034158b0, 0x014074c9, 0x000e0c6f, 0x01040115, 0x011833aa, 0x0023d58f}}, Y: Field{[10]uint32{0x03432193, 0x01d64a19, 0x03589028, 0x024f0600, 0x033d031d, 0x0004a263, 0x035248da, 0x00cdc55f, 0x01d85ea9, 0x0013531c}}}, + {X: Field{[10]uint32{0x037177a9, 0x031cb229, 0x01108ee7, 0x0303b867, 0x003c4853, 0x02c25ab0, 0x0045b39f, 0x036ae72f, 0x0109d68f, 0x000db28a}}, Y: Field{[10]uint32{0x024301b0, 0x00588234, 0x02ed6905, 0x018cc384, 0x0269cbf3, 0x00519e97, 0x033d0953, 0x00a58217, 0x01dfc825, 0x00193d44}}}, + {X: Field{[10]uint32{0x02a306e0, 0x00d1c0a3, 0x00cf3807, 0x023ad35c, 0x0358dd91, 0x036c9bc3, 0x001ca9c2, 0x03f5f308, 0x00d51f3f, 0x003d8a2e}}, Y: Field{[10]uint32{0x00adc2e8, 0x00d82ef6, 0x01c1ea2d, 0x01f798ca, 0x03b7c2d7, 0x03d55f7b, 0x00d6eb27, 0x00ba6cba, 0x00e30ea8, 0x0002f5af}}}, + {X: Field{[10]uint32{0x00e67c1b, 0x010454b0, 0x02f2586e, 0x035d8400, 0x00b44fa7, 0x0340d435, 0x026922c9, 0x00b02eca, 0x03f500a8, 0x003ede9a}}, Y: Field{[10]uint32{0x02702da1, 0x017af252, 0x02cfb034, 0x00cc8e86, 0x018419fc, 0x03fa3cfa, 0x01f1406e, 0x031c0c00, 0x0037f1c9, 0x00304a87}}}, + {X: Field{[10]uint32{0x0278d092, 0x0247ef3f, 0x03033753, 0x00769696, 0x01bf8ec0, 0x0003231d, 0x014080f4, 0x00abcb7c, 0x01195c3e, 0x00308246}}, Y: Field{[10]uint32{0x031adeb9, 0x01ad8c83, 0x01e6c382, 0x0063a203, 0x037aec38, 0x02d9b0c9, 0x007b1fa3, 0x036acfbe, 0x016fcbeb, 0x002cc1ed}}}, + {X: Field{[10]uint32{0x013192d1, 0x02ff8a2f, 0x0003e8d1, 0x03e3466f, 0x0073c3be, 0x00ddd292, 0x02d7c4c9, 0x009fea81, 0x03893d17, 0x001d89f7}}, Y: Field{[10]uint32{0x028451e1, 0x01c9ac6d, 0x026f4bcf, 0x033fdb4d, 0x021326da, 0x001ddb14, 0x029a865f, 0x0157dea8, 0x036c36f4, 0x000d7499}}}, + {X: Field{[10]uint32{0x002c62b9, 0x012ca580, 0x01639ed5, 0x01cf2c16, 0x01a3df6f, 0x036ff80d, 0x025df658, 0x00cea5b4, 0x01187c9f, 0x00099999}}, Y: Field{[10]uint32{0x0286630d, 0x00096931, 0x037ba468, 0x02bbd2a5, 0x02c4e7fc, 0x00d5aa1d, 0x01fe7578, 0x01789a94, 0x03c7d34a, 0x002ecc2e}}}, + {X: Field{[10]uint32{0x022ac683, 0x02fce931, 0x037bbc7a, 0x017dcd60, 0x01ef8b12, 0x03ca9bdc, 0x006a02e8, 0x000b9df7, 0x0185fa98, 0x000ef6a4}}, Y: Field{[10]uint32{0x00a05b85, 0x00b95300, 0x02118936, 0x0172ec32, 0x0222b347, 0x002b8e1d, 0x0075a76a, 0x005e135e, 0x032bc11d, 0x00080bb7}}}, + {X: Field{[10]uint32{0x003a5c4d, 0x00cf5ae6, 0x00097bc0, 0x022dfd49, 0x023be197, 0x0215c348, 0x0313c714, 0x02d93604, 0x00de4486, 0x000be42f}}, Y: Field{[10]uint32{0x00384f89, 0x03f69c6f, 0x01705270, 0x027b3d5e, 0x01f4aa75, 0x0332a677, 0x01b2e300, 0x0351d4d9, 0x02502028, 0x0018e193}}}, + {X: Field{[10]uint32{0x00becda7, 0x02f3ef32, 0x01cb6562, 0x0309b1c7, 0x017083ed, 0x0327f35c, 0x0192e654, 0x0039bf72, 0x01d4e9b0, 0x002224fd}}, Y: Field{[10]uint32{0x0238ab50, 0x00c4ed2c, 0x003130fe, 0x0275b36e, 0x02a80fa2, 0x03831a65, 0x03566a1f, 0x0041d3ef, 0x00558e63, 0x0007ebcc}}}, + {X: Field{[10]uint32{0x0155abba, 0x030d2561, 0x0237d855, 0x0094c273, 0x00f482fc, 0x0369cd44, 0x024fac54, 0x01778fb6, 0x02e686be, 0x002b3f12}}, Y: Field{[10]uint32{0x02c52d87, 0x01c5a14a, 0x0037cb90, 0x01f3e6f4, 0x0176423f, 0x03b0a47f, 0x03a5b998, 0x0229ab4d, 0x0197d187, 0x000e1fd1}}}, + {X: Field{[10]uint32{0x0017a469, 0x00a95788, 0x020d9542, 0x039f5d19, 0x01d5fe35, 0x00a2948a, 0x03a892dd, 0x03a620bc, 0x0090a4c5, 0x000ab134}}, Y: Field{[10]uint32{0x03086c09, 0x03095c77, 0x01914a3b, 0x00afdd68, 0x01927d17, 0x03639a1a, 0x0279f2d7, 0x03b1151e, 0x01162aa3, 0x0018163d}}}, + {X: Field{[10]uint32{0x02badef6, 0x03d6139f, 0x0024e9c9, 0x03b09430, 0x02c9b1a3, 0x004f1f98, 0x03c235cd, 0x0315cb96, 0x013ffc13, 0x00004dfb}}, Y: Field{[10]uint32{0x02c6fdba, 0x0214daa3, 0x00bf54fb, 0x030bcdeb, 0x010319e7, 0x0321d63c, 0x003ff023, 0x013d442d, 0x01cc3a46, 0x000307a5}}}, + {X: Field{[10]uint32{0x033ecfe4, 0x013615fb, 0x02002cfe, 0x03dd63c2, 0x006cfb16, 0x00454ae5, 0x009f6068, 0x0228f4b2, 0x037a7214, 0x0000a280}}, Y: Field{[10]uint32{0x03973d10, 0x02ce613e, 0x03aa8a1b, 0x0093ea40, 0x02ec5951, 0x031b9e8e, 0x03788cf5, 0x037a6e34, 0x0250135c, 0x002cbd2d}}}, + {X: Field{[10]uint32{0x027a9eeb, 0x02b773c6, 0x000ae3bb, 0x016d7cd3, 0x0378ad6d, 0x01d869db, 0x01d426e8, 0x00cfef3a, 0x01518fd4, 0x000c0fb3}}, Y: Field{[10]uint32{0x01abb602, 0x0158ce66, 0x01385ea9, 0x00fa2761, 0x02cbd8dc, 0x009d72c6, 0x03a5945a, 0x02c67a59, 0x02443b73, 0x001a9ff2}}}, + {X: Field{[10]uint32{0x01533202, 0x008ce054, 0x0140a509, 0x01e7e2cc, 0x02c69cf0, 0x03595a6e, 0x001defd9, 0x03dc7099, 0x002e5680, 0x0033d8c1}}, Y: Field{[10]uint32{0x00eb4ee8, 0x03cd007b, 0x009b6b8f, 0x00ebd437, 0x00017664, 0x0386a90a, 0x01a20525, 0x03f715c6, 0x036dfb17, 0x000e7ccd}}}, + {X: Field{[10]uint32{0x031fe4b7, 0x01216a86, 0x0168c44f, 0x02a38b76, 0x0334a229, 0x0395b124, 0x0123b6f2, 0x027eda5a, 0x03efb4a4, 0x0033ebee}}, Y: Field{[10]uint32{0x029f9007, 0x034971b1, 0x02a160b5, 0x0260063e, 0x01f39506, 0x0075dbdc, 0x03afbc70, 0x005f8777, 0x034d4a9c, 0x003703b4}}}, + {X: Field{[10]uint32{0x010d363e, 0x034bcc4e, 0x0153d785, 0x01da6822, 0x004a7ffd, 0x00f1aa90, 0x0093ff7b, 0x009fa9a9, 0x01e10fd5, 0x003b038f}}, Y: Field{[10]uint32{0x027a35dd, 0x030a17e3, 0x03528fc5, 0x0303fcd4, 0x01723129, 0x005fd4f3, 0x02f3c6a7, 0x00d30420, 0x03ce3002, 0x00252f76}}}, + {X: Field{[10]uint32{0x032bcde0, 0x038a9012, 0x02f7f84b, 0x0213bac0, 0x0113e9cd, 0x000645af, 0x039c0c35, 0x008b3f52, 0x00d19144, 0x003c1f4f}}, Y: Field{[10]uint32{0x01637320, 0x007ddece, 0x018103aa, 0x001a2b8b, 0x01dfe912, 0x01b47dc1, 0x0048de51, 0x00c860df, 0x02facb39, 0x0033c325}}}, + {X: Field{[10]uint32{0x0248db10, 0x01c267cd, 0x003e2821, 0x01f799d9, 0x038a6fab, 0x00031e98, 0x0264ac0a, 0x00813a8c, 0x00b66f2e, 0x00129095}}, Y: Field{[10]uint32{0x02e5023a, 0x02acaf0b, 0x0157ac26, 0x0022eb2c, 0x01b187ab, 0x017df7e5, 0x03ef9891, 0x03f0d7be, 0x0229be93, 0x002d5443}}}, + {X: Field{[10]uint32{0x007774a8, 0x0204fa3a, 0x001d9b5d, 0x02c0e017, 0x01910285, 0x03d9c651, 0x02625829, 0x02bc74d7, 0x03cfb38e, 0x00015bce}}, Y: Field{[10]uint32{0x01ed9dc6, 0x029e9d74, 0x026bac57, 0x01c219df, 0x038a1e82, 0x0051fddc, 0x03f3e5ca, 0x01fe6a6a, 0x00e79e6b, 0x002a6e59}}}, + {X: Field{[10]uint32{0x03081295, 0x01586f9a, 0x03561ace, 0x021947f9, 0x01af6b98, 0x03aa9327, 0x02d95bff, 0x00bbf030, 0x034e07d3, 0x003e2763}}, Y: Field{[10]uint32{0x01bacc69, 0x03b1c663, 0x030d1449, 0x0145235d, 0x0075e48f, 0x01c61a65, 0x02656911, 0x00e19d8e, 0x031156a3, 0x003298cb}}}, + {X: Field{[10]uint32{0x03c5530b, 0x03948149, 0x02af9758, 0x00cf1b66, 0x032890b9, 0x007c3a4a, 0x02e4a075, 0x005bad42, 0x01a0d3e7, 0x00170de4}}, Y: Field{[10]uint32{0x03b34616, 0x03e2eae9, 0x021c3ca1, 0x0070cdab, 0x02c4ed86, 0x0244d24e, 0x01e30dae, 0x00b4445e, 0x03c62de5, 0x00113bc4}}}, + {X: Field{[10]uint32{0x03a38d27, 0x02804caa, 0x0233115f, 0x03c34e8f, 0x038ab94e, 0x01b3bab6, 0x00d71561, 0x0292b98b, 0x025ae6ba, 0x0009d21d}}, Y: Field{[10]uint32{0x03f69e48, 0x013c7c9d, 0x033590cd, 0x00cea4ec, 0x020f36b3, 0x031eba4a, 0x0105bbe6, 0x01dc3582, 0x019dde63, 0x001c7534}}}, + {X: Field{[10]uint32{0x0327e254, 0x00d8efae, 0x0145322e, 0x028116a5, 0x000d2c41, 0x01fb8f9e, 0x00e4ee18, 0x035de00b, 0x03a2f8ec, 0x002593c7}}, Y: Field{[10]uint32{0x00138a2e, 0x01598435, 0x022e6775, 0x0000ee60, 0x015137ae, 0x00b33988, 0x0081a5fa, 0x02a20fa5, 0x03cade64, 0x0031d12e}}}, + {X: Field{[10]uint32{0x01b8ca3b, 0x0217895e, 0x02754589, 0x001d3df4, 0x03ee758a, 0x01b0de7f, 0x003594fe, 0x0327ea14, 0x03758709, 0x0022fd81}}, Y: Field{[10]uint32{0x03dd51a4, 0x03986221, 0x03715a5a, 0x03b9c629, 0x02ccc193, 0x02c46343, 0x011cfb8f, 0x0375cbfd, 0x0192b3fb, 0x000f98e2}}}, + {X: Field{[10]uint32{0x02e06612, 0x008e3740, 0x015f5a10, 0x03603b83, 0x00fbff70, 0x036fb9e6, 0x03c5a95d, 0x008e70af, 0x01239189, 0x003e841c}}, Y: Field{[10]uint32{0x0168e7f1, 0x01311a3e, 0x03936c62, 0x0384b5dc, 0x02315a6b, 0x00757b07, 0x0133ea97, 0x02c29664, 0x015e1a4e, 0x00029833}}}, + {X: Field{[10]uint32{0x00975588, 0x00d39451, 0x0059383c, 0x00f2a251, 0x033fe250, 0x01e5f2e2, 0x03d145ef, 0x025ffb00, 0x02d09f6f, 0x0016d231}}, Y: Field{[10]uint32{0x006e30a0, 0x00428ea4, 0x03d83c64, 0x0114a01d, 0x02173d6c, 0x02597c4d, 0x0291762d, 0x0046f304, 0x02893526, 0x00113619}}}, + {X: Field{[10]uint32{0x02b94fd0, 0x03c6f2bb, 0x025b1ae8, 0x013552f2, 0x005d4e85, 0x0397a232, 0x025d1ea1, 0x01f8fca1, 0x03e823aa, 0x00203854}}, Y: Field{[10]uint32{0x006b9728, 0x01eb2ea8, 0x023f73ed, 0x00b01c60, 0x03c888a1, 0x03d3d904, 0x03a92d8e, 0x03046c04, 0x0229e435, 0x003b74ff}}}, + {X: Field{[10]uint32{0x01ccf2c4, 0x03b5b41e, 0x03e3dae7, 0x027c1ec7, 0x03cd25de, 0x0131b8a6, 0x0190dd15, 0x01d49b09, 0x01d977bf, 0x0005b889}}, Y: Field{[10]uint32{0x01710768, 0x00622b02, 0x0274dd85, 0x014b83e8, 0x0340088c, 0x033708ad, 0x02db82af, 0x01d551b4, 0x0123b9b5, 0x00381c0b}}}, + {X: Field{[10]uint32{0x01456938, 0x0247bf36, 0x013ce7a6, 0x028b78d6, 0x03bb064a, 0x02097af2, 0x021b65e7, 0x01b1d208, 0x020915a1, 0x0028d102}}, Y: Field{[10]uint32{0x00dbf40c, 0x01c24135, 0x0226bbe9, 0x00f79f0f, 0x0326fa5d, 0x03d0de99, 0x001323a7, 0x00aa3d59, 0x02a03a58, 0x003fdf1e}}}, + {X: Field{[10]uint32{0x01aa2b5f, 0x00c3a7b3, 0x037c80a0, 0x000e4fac, 0x018d6072, 0x00b564e1, 0x0320401f, 0x0111a008, 0x034cd116, 0x0020550c}}, Y: Field{[10]uint32{0x033d5142, 0x004e7196, 0x03d54150, 0x0361f55c, 0x0017126a, 0x02824522, 0x030676f4, 0x03939ec3, 0x014e5f97, 0x002ee902}}}, + {X: Field{[10]uint32{0x014d93c7, 0x039a96df, 0x01efa329, 0x0184f86d, 0x02fe7f23, 0x0138265d, 0x0092b257, 0x02eb28e8, 0x00ca27b5, 0x003244d2}}, Y: Field{[10]uint32{0x0176b44a, 0x0079cf16, 0x036399d6, 0x02550257, 0x01e7c372, 0x0006fed6, 0x020e62dc, 0x0268b141, 0x010de9d4, 0x00338907}}}, + {X: Field{[10]uint32{0x026e8a88, 0x0096435f, 0x024363ba, 0x0101cdf9, 0x01cf3629, 0x0272a592, 0x0235e995, 0x02b5319d, 0x01a879fe, 0x0025022d}}, Y: Field{[10]uint32{0x03994fc0, 0x005d915f, 0x00fdfcbf, 0x034a12e0, 0x00e02155, 0x007d1825, 0x02858d52, 0x004306fc, 0x010a26c7, 0x003842d0}}}, + {X: Field{[10]uint32{0x02bdd2ce, 0x00f9f975, 0x01b92e7d, 0x02436408, 0x02f80ddf, 0x02160aab, 0x020a159f, 0x0122e1e7, 0x0158eefe, 0x002e1474}}, Y: Field{[10]uint32{0x02d85469, 0x02f6a8b1, 0x0293f06a, 0x036394dd, 0x0060facf, 0x0271f560, 0x00c53f06, 0x00908707, 0x02e10079, 0x000a42b8}}}, + {X: Field{[10]uint32{0x013d10fc, 0x01c79ab9, 0x005eb1b9, 0x02e15368, 0x0387e7a5, 0x0394d824, 0x00053875, 0x00801d96, 0x034d4a7c, 0x00274c82}}, Y: Field{[10]uint32{0x01d7c456, 0x000fd1c9, 0x0306e796, 0x018729a0, 0x009b44be, 0x039e0ec3, 0x022acd0a, 0x006435a0, 0x037b6a1f, 0x0013dab2}}}, + {X: Field{[10]uint32{0x018ac7b5, 0x002a7a0d, 0x004c22f3, 0x0053401d, 0x01eaa491, 0x004e9362, 0x0386799d, 0x03b1953f, 0x00107b29, 0x001b5de6}}, Y: Field{[10]uint32{0x03823950, 0x028f9e76, 0x038804b0, 0x00d00ee8, 0x0177b2a3, 0x03899731, 0x0060a2ac, 0x013c26e8, 0x03cc105c, 0x0023de64}}}, + {X: Field{[10]uint32{0x017f6489, 0x02476a79, 0x0372d73c, 0x001cb209, 0x00680c96, 0x02015b4a, 0x017d62db, 0x013eda68, 0x02ce77e1, 0x002f6cb4}}, Y: Field{[10]uint32{0x03aa590d, 0x02790b96, 0x030c184c, 0x00000f0a, 0x0008a3bc, 0x029bd592, 0x038ecede, 0x00ec6773, 0x0371d43c, 0x0002707b}}}, + {X: Field{[10]uint32{0x0055b3fa, 0x03ff68fc, 0x02dea741, 0x02a34286, 0x001f7897, 0x01ceec16, 0x01b4787f, 0x002a5293, 0x00ff1ab7, 0x00126a33}}, Y: Field{[10]uint32{0x006ba426, 0x024a0a9b, 0x0243d8bd, 0x0053f5b7, 0x0115b419, 0x03814eb5, 0x02414ed6, 0x03af47b8, 0x02772049, 0x003ca634}}}, + {X: Field{[10]uint32{0x029d2236, 0x0285ce9d, 0x000d77f1, 0x014ad441, 0x013b3d56, 0x00c5e80b, 0x0267992d, 0x02dec158, 0x016eb466, 0x00328fdf}}, Y: Field{[10]uint32{0x02145c37, 0x036ec4a3, 0x021b7126, 0x02b7dbc6, 0x0090e538, 0x025a90b0, 0x00e6f2bf, 0x00e13bde, 0x02259dcf, 0x00289b58}}}, + {X: Field{[10]uint32{0x037176e4, 0x03a98c1c, 0x0065bc00, 0x02b699af, 0x01902e9c, 0x003422e6, 0x038469cb, 0x009f46d1, 0x0214f1c4, 0x002d9cb3}}, Y: Field{[10]uint32{0x00865efa, 0x022fdd9a, 0x03eddb81, 0x0142e312, 0x0083f4f5, 0x00f1695b, 0x020f1aff, 0x0145d89e, 0x01790001, 0x0005db02}}}, + {X: Field{[10]uint32{0x029c199b, 0x03244ebb, 0x0168bda3, 0x01e23cba, 0x022c26dd, 0x010dde2a, 0x01b6866f, 0x01886f5b, 0x0357d4ad, 0x002f72ea}}, Y: Field{[10]uint32{0x00df5603, 0x01548ca2, 0x03c11240, 0x003ba4f1, 0x021cee9f, 0x03585a36, 0x0075a338, 0x004ff5f7, 0x00729bb2, 0x001e61a2}}}, + {X: Field{[10]uint32{0x01fbf9f5, 0x00e12c95, 0x001961cb, 0x03420b60, 0x020d5bee, 0x0317d08f, 0x0064aa96, 0x01f7d5d3, 0x031e382f, 0x003d7c97}}, Y: Field{[10]uint32{0x02210221, 0x0277febc, 0x0324c98a, 0x01a03849, 0x00f54bc0, 0x02942934, 0x0393a829, 0x012ab960, 0x030b5ad8, 0x003a8e23}}}, + {X: Field{[10]uint32{0x02ae09c3, 0x002e2505, 0x0250aa73, 0x01261689, 0x03603720, 0x009d1f10, 0x026e280b, 0x02ae7872, 0x0064f9f8, 0x0034a841}}, Y: Field{[10]uint32{0x029c5962, 0x033da2c8, 0x01b454fd, 0x03aeacf0, 0x032c9ffa, 0x00b240ba, 0x00d8dcaf, 0x0194cc0a, 0x01ed8dc4, 0x003465c6}}}, + {X: Field{[10]uint32{0x00410038, 0x02068008, 0x0291cc5f, 0x00ffcffd, 0x0119058c, 0x03979aa9, 0x01221058, 0x01312f15, 0x02fee672, 0x00224956}}, Y: Field{[10]uint32{0x023fd7bd, 0x01f62bf6, 0x013e6914, 0x02d19c5c, 0x00c833c3, 0x03eead40, 0x0352ffb4, 0x0324d046, 0x02dd9560, 0x00023589}}}, + {X: Field{[10]uint32{0x016e3952, 0x004bef55, 0x03f94beb, 0x03c81b24, 0x015165e3, 0x01e06406, 0x027d73f5, 0x03bbb8a9, 0x0042c5ec, 0x001791a3}}, Y: Field{[10]uint32{0x00f240de, 0x01994163, 0x021edc38, 0x02d0e92b, 0x03ce1fde, 0x00c39003, 0x00b6a8c3, 0x025f8aae, 0x024a467f, 0x002be0f8}}}, + {X: Field{[10]uint32{0x019c4e2c, 0x021401fa, 0x0036d7fc, 0x023a4e14, 0x03552caf, 0x03d52ac0, 0x006850e8, 0x00662fd8, 0x03ac9eca, 0x001c30af}}, Y: Field{[10]uint32{0x02ea37b3, 0x03fadb35, 0x00591544, 0x010034b1, 0x023b45d9, 0x0033dd65, 0x00f99392, 0x02b95e2a, 0x0365f5ff, 0x00180c88}}}, + {X: Field{[10]uint32{0x01c2f318, 0x0107032e, 0x001eeab6, 0x006993a4, 0x03bbb0db, 0x031e58c3, 0x000f86d7, 0x01ad0814, 0x013afe5f, 0x0005850f}}, Y: Field{[10]uint32{0x036a8a94, 0x022c91f5, 0x01e68ecb, 0x009132b4, 0x039fd749, 0x0134734d, 0x0109561d, 0x02075e04, 0x00140bdf, 0x001c1e3a}}}, + {X: Field{[10]uint32{0x02b62bce, 0x01ba5985, 0x03ed029f, 0x02ddce82, 0x03e1326e, 0x003fd82a, 0x025b0346, 0x0059136c, 0x02ada934, 0x0022b0cf}}, Y: Field{[10]uint32{0x00945cc6, 0x0276ff46, 0x0005dc6d, 0x013f6918, 0x00ea9e61, 0x0266f694, 0x0055d0ed, 0x0062d2f4, 0x03566f0d, 0x0001b41d}}}, + {X: Field{[10]uint32{0x0166e22a, 0x02a78189, 0x03ce771e, 0x0096843e, 0x0270cb33, 0x038323ad, 0x01f01166, 0x03abf7bd, 0x00b89e7f, 0x0011dae6}}, Y: Field{[10]uint32{0x02a91050, 0x01743875, 0x03f4730c, 0x0176e03e, 0x00fd98bd, 0x0004bc88, 0x0138483c, 0x00ae19f8, 0x00418325, 0x000e36fc}}}, + {X: Field{[10]uint32{0x01497f11, 0x03114fbb, 0x03058a19, 0x01fc64a5, 0x012e383a, 0x0086b7e8, 0x0302bcb3, 0x0270ef4c, 0x02eff0de, 0x00393498}}, Y: Field{[10]uint32{0x022781d3, 0x01f3def3, 0x0050bfec, 0x0039f008, 0x01953d0c, 0x03a92400, 0x02070c49, 0x0048323c, 0x00fc2fd6, 0x00287e0c}}}, + {X: Field{[10]uint32{0x00b5cbf8, 0x0303f3fc, 0x019871be, 0x01e5065b, 0x03e2e092, 0x027ccf99, 0x00c4f7cb, 0x02f86fc6, 0x010f48f0, 0x0019ef21}}, Y: Field{[10]uint32{0x0352d32f, 0x0373ae17, 0x03355526, 0x02f24b83, 0x01b7e6fa, 0x034bc833, 0x013e9271, 0x0292c91a, 0x0070334a, 0x00389581}}}, + {X: Field{[10]uint32{0x02ef2797, 0x0147849c, 0x02b8d58f, 0x029689c4, 0x02b543a6, 0x00aac9d3, 0x024be020, 0x01250895, 0x02c5c0dd, 0x0014372c}}, Y: Field{[10]uint32{0x02b04ea0, 0x0227e352, 0x03ca890d, 0x01a8bddf, 0x038d2ea1, 0x01c17732, 0x03854b49, 0x01132671, 0x036fb69c, 0x000b2f00}}}, + {X: Field{[10]uint32{0x0358bd6e, 0x029edda1, 0x0287644b, 0x013a2644, 0x01f86080, 0x0377d599, 0x00a57f1b, 0x0123d07a, 0x01777849, 0x001b26f1}}, Y: Field{[10]uint32{0x03b3ff20, 0x003fd13a, 0x00260cd4, 0x005724a0, 0x03a04019, 0x00892406, 0x029ca3d1, 0x02b211cc, 0x01f35998, 0x0021299c}}}, + {X: Field{[10]uint32{0x0382a868, 0x01f12520, 0x010e7a33, 0x011919ce, 0x0128b441, 0x0231bab4, 0x03ceb361, 0x036ee67c, 0x03c6d27c, 0x00176b24}}, Y: Field{[10]uint32{0x002df508, 0x0292fe0d, 0x02d8bac2, 0x02e38c57, 0x008a91c2, 0x025dc13e, 0x034578aa, 0x0020b9d0, 0x00651805, 0x002195c8}}}, + {X: Field{[10]uint32{0x01780c86, 0x00af9f21, 0x0196f2ed, 0x002ad1ae, 0x03f6b2a4, 0x00c1cf03, 0x02e9484d, 0x015f85e9, 0x03c65e1c, 0x00081e40}}, Y: Field{[10]uint32{0x03f6a442, 0x018cf051, 0x02c14854, 0x020c4569, 0x020bbdcb, 0x00f85e8e, 0x00fd3107, 0x01353db1, 0x00202956, 0x0012d5a1}}}, + {X: Field{[10]uint32{0x02dc2f90, 0x0118884b, 0x011dd295, 0x01320a44, 0x036ffbc9, 0x00a0a0c3, 0x03351132, 0x024fa4ea, 0x03639be5, 0x00368097}}, Y: Field{[10]uint32{0x016d2723, 0x0250e0e4, 0x02e68eb6, 0x02997bd2, 0x00714def, 0x006b3d72, 0x02dea9a2, 0x0395dbc3, 0x01eba315, 0x0026d2b3}}}, + {X: Field{[10]uint32{0x02823cb1, 0x002943ec, 0x02ea5603, 0x03d7b91f, 0x012a0f61, 0x021f3c64, 0x026ffa6b, 0x02272084, 0x02cd01b4, 0x000c9fea}}, Y: Field{[10]uint32{0x00c33b9b, 0x03e7b3ee, 0x037e96b7, 0x019d7f85, 0x0314c00c, 0x000f97e2, 0x00c5ac29, 0x00026c51, 0x03426010, 0x00018d2a}}}, + {X: Field{[10]uint32{0x037e8084, 0x0091561e, 0x010cc79a, 0x005fd6fd, 0x006c9cab, 0x02746ff6, 0x013478ba, 0x03d18aa1, 0x03ee1619, 0x001133fe}}, Y: Field{[10]uint32{0x008e7da4, 0x031c535d, 0x01f64563, 0x00703f8d, 0x0176442a, 0x0041e691, 0x02f8c288, 0x0278a1fa, 0x03db6207, 0x002c2260}}}, + {X: Field{[10]uint32{0x02a6fe3a, 0x0085c381, 0x0393a43a, 0x02141203, 0x03beb197, 0x00d3477a, 0x01ad6797, 0x00338b08, 0x01ca1373, 0x00317651}}, Y: Field{[10]uint32{0x023cc3fb, 0x01efc6eb, 0x02f0446e, 0x03ec328f, 0x0374102f, 0x0392a707, 0x03f72878, 0x01c503d9, 0x011b4d8b, 0x0028eab4}}}, + {X: Field{[10]uint32{0x02c0de31, 0x0290b873, 0x019e677f, 0x03d90d4d, 0x01d4bf22, 0x03c76c3b, 0x032694b8, 0x03a4d446, 0x031984df, 0x003d3633}}, Y: Field{[10]uint32{0x01a30845, 0x02e970ba, 0x03f020c0, 0x01753ec3, 0x025b48a5, 0x01f8eff7, 0x02d76bfc, 0x0062035e, 0x01223aae, 0x0020f40b}}}, + {X: Field{[10]uint32{0x0037c4cd, 0x002b9f06, 0x02e707e5, 0x0387854e, 0x03a2dce0, 0x0343c3b9, 0x006380af, 0x002f2243, 0x01dc8e7b, 0x0004f5c8}}, Y: Field{[10]uint32{0x00841116, 0x01844ba2, 0x00d28e97, 0x004b57c5, 0x009309c4, 0x002bdf93, 0x039e8237, 0x015045fa, 0x01e3e157, 0x00318830}}}, + {X: Field{[10]uint32{0x0265ce1a, 0x018b8458, 0x01783928, 0x013389ec, 0x02516482, 0x013076bc, 0x03eb55d9, 0x019ca081, 0x03a666fc, 0x00397e7b}}, Y: Field{[10]uint32{0x000d9975, 0x00bc8f57, 0x0156c771, 0x033d4f82, 0x0201f0f3, 0x018f5e6d, 0x03f9fbe1, 0x00aed48b, 0x03e61830, 0x001402a7}}}, + {X: Field{[10]uint32{0x0319c9ec, 0x0180f0f0, 0x016988da, 0x038290fa, 0x02a48ea0, 0x009ec6cc, 0x027abb98, 0x0284dd96, 0x00bd0a1b, 0x001cfb8f}}, Y: Field{[10]uint32{0x02b38f58, 0x017b1686, 0x00744b0a, 0x03408386, 0x03bbc909, 0x00ba097c, 0x0330bd5a, 0x01a272fa, 0x02b44093, 0x00365a0c}}}, + {X: Field{[10]uint32{0x01990d91, 0x0074b3f1, 0x0255df10, 0x0007c09e, 0x003e0285, 0x0089d429, 0x03285e71, 0x01aeea04, 0x03c59404, 0x00046e4b}}, Y: Field{[10]uint32{0x00315417, 0x0245c5a9, 0x03b639fe, 0x03347655, 0x0023b324, 0x002526cb, 0x01cfcd08, 0x033f8103, 0x00aae20f, 0x003822c9}}}, + {X: Field{[10]uint32{0x0160935b, 0x032873e4, 0x006a0623, 0x0148d8bc, 0x01b1bf49, 0x008a9897, 0x014442a0, 0x003717ec, 0x029c22be, 0x000c10d9}}, Y: Field{[10]uint32{0x00d0eb34, 0x034b2189, 0x00a2206d, 0x02c9724b, 0x0341eead, 0x0349b886, 0x0152c044, 0x01f5afeb, 0x00b04bf4, 0x0037120d}}}, + {X: Field{[10]uint32{0x015f9a0c, 0x02d71f4f, 0x00495132, 0x0185aa72, 0x023f92aa, 0x001f7b12, 0x007622b4, 0x034510ae, 0x01aac290, 0x0012430e}}, Y: Field{[10]uint32{0x0126b986, 0x01a36b8a, 0x021eab3d, 0x03799dcf, 0x03110f87, 0x00f2cc53, 0x001361f7, 0x012a9bfa, 0x00fd5784, 0x00171db0}}}, + {X: Field{[10]uint32{0x0002d03a, 0x02c90ce4, 0x03f2d2bb, 0x02528f82, 0x023a4caf, 0x01cac310, 0x01fb2127, 0x00cd1f28, 0x015867d7, 0x003f7573}}, Y: Field{[10]uint32{0x03411995, 0x033a425d, 0x0117210b, 0x01321762, 0x01bd69f8, 0x02f25369, 0x035bcc06, 0x01af1dbe, 0x0007d1d2, 0x003bf97d}}}, + {X: Field{[10]uint32{0x00435ea9, 0x031405c5, 0x012d80e9, 0x02272b46, 0x00e2d359, 0x01956b10, 0x03db2722, 0x003f3910, 0x008eb083, 0x002f2284}}, Y: Field{[10]uint32{0x03c979f9, 0x01a6e4f8, 0x00d60220, 0x03d8a41f, 0x0076bd3a, 0x024c65b0, 0x008a384b, 0x0369d29c, 0x0258cbc3, 0x00249300}}}, + {X: Field{[10]uint32{0x02924b44, 0x0177e3ab, 0x02e3b339, 0x02904054, 0x012c706e, 0x00626273, 0x02e431a7, 0x02db2e1a, 0x036e41f4, 0x003b6026}}, Y: Field{[10]uint32{0x00315da8, 0x0326ff19, 0x01f8a324, 0x02642c46, 0x00bede66, 0x0251eaa2, 0x0142ffe0, 0x01562723, 0x005c0329, 0x0004d760}}}, + {X: Field{[10]uint32{0x00da52d8, 0x02145edb, 0x03276797, 0x0049e7a7, 0x00043982, 0x0390b5aa, 0x007d2f1e, 0x00781d05, 0x02c75d87, 0x0009ad42}}, Y: Field{[10]uint32{0x005dd7a0, 0x011aeb55, 0x005180e3, 0x02814879, 0x021fe37e, 0x00d253c3, 0x014b4c80, 0x01ba7c2c, 0x00638642, 0x00099667}}}, + {X: Field{[10]uint32{0x03e8efd5, 0x02e53527, 0x01dd725a, 0x00419de1, 0x01679f6b, 0x02241f3c, 0x02746ff9, 0x033351fd, 0x00de27d0, 0x00333b62}}, Y: Field{[10]uint32{0x03f5729a, 0x037d0f5c, 0x00825fe4, 0x019f38af, 0x00e2beba, 0x014ad09a, 0x036adc2c, 0x0212b2d2, 0x022b4dc5, 0x0016c3b7}}}, + {X: Field{[10]uint32{0x003c6249, 0x02a20f76, 0x032bb52d, 0x005863d1, 0x02bf3fe5, 0x01e221b3, 0x00429c11, 0x018cc8c2, 0x03cb3152, 0x00363b7d}}, Y: Field{[10]uint32{0x03984be3, 0x036bc1c5, 0x033437f3, 0x0201ad21, 0x0108c71b, 0x002e9a47, 0x03427e13, 0x03bbdb50, 0x003ec155, 0x00295aaf}}}, + {X: Field{[10]uint32{0x0164b4ef, 0x02dc711d, 0x02515c2f, 0x00414fd9, 0x02526489, 0x035b23f3, 0x0149aa5c, 0x00e9d542, 0x03c9f8db, 0x003b60b0}}, Y: Field{[10]uint32{0x00b2f0b4, 0x03a3f948, 0x00f39b06, 0x032057f3, 0x0141ddcc, 0x0112a291, 0x029a26d4, 0x034f1dbe, 0x014906d9, 0x0017b966}}}, + {X: Field{[10]uint32{0x018ca937, 0x006b910f, 0x0365e777, 0x02b61620, 0x005853b3, 0x01b54212, 0x026249d5, 0x03ad5017, 0x03aee89a, 0x001b89de}}, Y: Field{[10]uint32{0x01f40b8e, 0x01f408ce, 0x025b403f, 0x03713892, 0x008f9623, 0x00e845c3, 0x01a3fe66, 0x02529f0c, 0x03d81e6f, 0x002121c6}}}, + {X: Field{[10]uint32{0x00a03c5c, 0x00abee52, 0x00967f70, 0x0109d9da, 0x00f2f8b6, 0x0386bfe5, 0x01b12293, 0x00484159, 0x02c86727, 0x002bad9e}}, Y: Field{[10]uint32{0x00bde197, 0x0034875e, 0x0289b698, 0x02fcdc1f, 0x02747100, 0x01bfd6b1, 0x027898d6, 0x02700f37, 0x01889425, 0x003f34f1}}}, + {X: Field{[10]uint32{0x0283da79, 0x01f381d4, 0x03af23ba, 0x024e8f44, 0x00457531, 0x00e18cfa, 0x00967d1e, 0x031d5a53, 0x034baa20, 0x0027c1ff}}, Y: Field{[10]uint32{0x03f2136b, 0x017edff7, 0x02e36397, 0x03df656e, 0x0014308c, 0x02b28fc7, 0x03c5f363, 0x0185a3fc, 0x030d49d0, 0x002ba2df}}}, + {X: Field{[10]uint32{0x013e1520, 0x00e5755c, 0x03df7243, 0x0325dab3, 0x03baafc3, 0x02f15406, 0x004b3ef7, 0x036ae859, 0x0114a026, 0x0009011b}}, Y: Field{[10]uint32{0x02029ae6, 0x0219f32a, 0x016cd321, 0x0202eb43, 0x0037fd53, 0x00554d2d, 0x013cd0e9, 0x0028c6ea, 0x01e96dc4, 0x00099521}}}, + {X: Field{[10]uint32{0x033de519, 0x02f08cca, 0x010c913b, 0x02adf67e, 0x011806af, 0x015d39ae, 0x0344f48c, 0x03471a00, 0x0126bf8f, 0x00004dda}}, Y: Field{[10]uint32{0x01a61fa5, 0x02f9e575, 0x01ced56e, 0x014685d5, 0x018aed90, 0x01f4da5b, 0x02b2198e, 0x01309be1, 0x00e7c4b4, 0x0028d040}}}, + {X: Field{[10]uint32{0x035a7d6e, 0x03268fbb, 0x015f11ef, 0x02996073, 0x025e4c38, 0x0045aba0, 0x037c85fb, 0x0319a21f, 0x014e816c, 0x00250f1b}}, Y: Field{[10]uint32{0x029de8dd, 0x00c69825, 0x02b24eca, 0x01c0c5a7, 0x0274112f, 0x0220fb8d, 0x02351657, 0x0369b4a7, 0x0324f618, 0x00364f51}}}, + {X: Field{[10]uint32{0x005432d9, 0x002023a2, 0x03f53d4d, 0x0252bd82, 0x03a0f46e, 0x017d3e19, 0x03c9e61d, 0x0183f72b, 0x001f1592, 0x002b7e01}}, Y: Field{[10]uint32{0x03e57958, 0x01680dc6, 0x02d952b9, 0x01779b0f, 0x02c055ff, 0x03a42cdb, 0x0331bcbb, 0x0145bcf5, 0x021f99d2, 0x00313aae}}}, + {X: Field{[10]uint32{0x022dcc44, 0x014df01b, 0x01bb8d96, 0x01860c97, 0x01dc0d94, 0x001ea7ea, 0x01defb67, 0x02b82047, 0x0313a404, 0x0005705f}}, Y: Field{[10]uint32{0x01b6898e, 0x03ce0eba, 0x01dc679d, 0x01898359, 0x01a799fb, 0x0144b5e7, 0x0042b482, 0x0257a0da, 0x0352021f, 0x0021d034}}}, + {X: Field{[10]uint32{0x02cb8ca0, 0x012df372, 0x0143580e, 0x03b46b0c, 0x00966ec9, 0x01ae04f7, 0x01bd5758, 0x01665271, 0x03356236, 0x0021eeee}}, Y: Field{[10]uint32{0x022a48c4, 0x01892a34, 0x00a36f83, 0x03a472b5, 0x036a28f4, 0x00928fa6, 0x0214ccbe, 0x00f09257, 0x012c1bfc, 0x00005666}}}, + {X: Field{[10]uint32{0x031fa105, 0x01705da7, 0x00daf95b, 0x00f35751, 0x03564da7, 0x02ba710c, 0x0082b5fe, 0x01530678, 0x004a0964, 0x000e6f45}}, Y: Field{[10]uint32{0x016fb207, 0x01dec4c9, 0x019bcfa2, 0x009ccc0c, 0x01dadf15, 0x030f2a3e, 0x02be12eb, 0x03535be2, 0x011c30b5, 0x003ffa28}}}, + {X: Field{[10]uint32{0x003bca7a, 0x02ef592a, 0x00a9ab78, 0x01dbba5c, 0x00a1c696, 0x0196cbd3, 0x0399bfe2, 0x030319ae, 0x034f9bce, 0x0031393a}}, Y: Field{[10]uint32{0x02bfc286, 0x012283a5, 0x03cb7c22, 0x00ed13f0, 0x012ecb49, 0x001798e0, 0x024be2bd, 0x02e712f3, 0x003d316c, 0x0006ee6a}}}, + {X: Field{[10]uint32{0x03244e69, 0x0392bb33, 0x01801488, 0x00d3d4f0, 0x028b53f0, 0x023280d7, 0x01dd2f44, 0x034cd3c3, 0x03831c80, 0x003060f9}}, Y: Field{[10]uint32{0x01a8b820, 0x00c362f6, 0x020b1593, 0x02552539, 0x0008ff2f, 0x03770203, 0x03389268, 0x007520f6, 0x02aac771, 0x003e663f}}}, + {X: Field{[10]uint32{0x02d47d92, 0x0309007f, 0x03b6be39, 0x03655d4e, 0x027ac812, 0x00dd3674, 0x013b630f, 0x038423c2, 0x03ac22a2, 0x00267475}}, Y: Field{[10]uint32{0x02d0e1f0, 0x031378d4, 0x008b039c, 0x00f70d9b, 0x0352080a, 0x00daa25e, 0x01ca3d9b, 0x038d07a3, 0x033488df, 0x000299f4}}}, + {X: Field{[10]uint32{0x0161cea5, 0x033324ab, 0x012bc5c3, 0x00e79fd7, 0x02985a33, 0x01a42420, 0x03d6f187, 0x0226ef7c, 0x025d16cd, 0x00381c02}}, Y: Field{[10]uint32{0x00a0b0f0, 0x025381dc, 0x007e3bd9, 0x00a529eb, 0x001fd08b, 0x02756708, 0x03ec97bc, 0x00fea102, 0x03e03895, 0x0009bdaa}}}, + {X: Field{[10]uint32{0x01a7e721, 0x021e8f98, 0x0268b554, 0x01734fe9, 0x025415e9, 0x01ea98bb, 0x03813b56, 0x0360e546, 0x02e8cf36, 0x002c66fd}}, Y: Field{[10]uint32{0x0170153d, 0x00fe2e46, 0x01041fc0, 0x016e9dc2, 0x0246c105, 0x030439c4, 0x019f59e4, 0x036cbb35, 0x00a5ca2c, 0x0018c39e}}}, + {X: Field{[10]uint32{0x0371fd44, 0x039b867f, 0x03943c6f, 0x01c870cc, 0x0039abaf, 0x025c051d, 0x0027adfa, 0x0343b220, 0x0156e90d, 0x00094024}}, Y: Field{[10]uint32{0x033afc11, 0x019b87d5, 0x01dec9c4, 0x0000b467, 0x01b78255, 0x02e4ce16, 0x014ed74c, 0x01d8c808, 0x03dc8647, 0x000c9011}}}, + {X: Field{[10]uint32{0x01a3e4ae, 0x02e14e18, 0x00681771, 0x007e588e, 0x02aca501, 0x03531402, 0x030c98d9, 0x0174726e, 0x03e8bbe4, 0x0011739f}}, Y: Field{[10]uint32{0x0392f8b1, 0x0018b908, 0x008327ca, 0x01d804d6, 0x019e41b1, 0x02db1fd9, 0x00725702, 0x02e3c297, 0x02afd1ad, 0x00232f08}}}, + {X: Field{[10]uint32{0x019ec059, 0x020522d8, 0x026834e3, 0x014d0ec4, 0x02b939e9, 0x028a1bbd, 0x03392120, 0x01ff19f7, 0x0107d3a2, 0x001cc955}}, Y: Field{[10]uint32{0x01c35b63, 0x013a4fc9, 0x00e28a35, 0x03b44d13, 0x00eeba10, 0x03b5b233, 0x00f3deda, 0x0008376c, 0x02e6e941, 0x000c5d35}}}, + {X: Field{[10]uint32{0x0011df58, 0x0002b072, 0x03885978, 0x00b68481, 0x03602596, 0x0322eb4f, 0x009a9458, 0x030e787b, 0x02f401c6, 0x0025acb3}}, Y: Field{[10]uint32{0x027fa8cd, 0x009271a2, 0x01a997d1, 0x00b660f7, 0x002fbf9e, 0x003000d7, 0x01ab5b7c, 0x02b498eb, 0x012141b4, 0x003b617b}}}, + {X: Field{[10]uint32{0x02b9c772, 0x00fbbd90, 0x01cdbb98, 0x0324dc09, 0x0357f23c, 0x0244aba1, 0x007bebb0, 0x02ca2a8c, 0x001cd941, 0x0015d906}}, Y: Field{[10]uint32{0x00ac7089, 0x0234afb8, 0x01b8ef2c, 0x0133cf38, 0x01249576, 0x0115e90f, 0x01f64375, 0x0023f76d, 0x034fc239, 0x003a05ce}}}, + {X: Field{[10]uint32{0x03ec1b61, 0x00a7b724, 0x02c60efd, 0x028e0aed, 0x02ea16d2, 0x0356c9e0, 0x031e3145, 0x0141580a, 0x00397e96, 0x000e3b1e}}, Y: Field{[10]uint32{0x018ec96e, 0x0353258c, 0x01089744, 0x00c47354, 0x02f522e6, 0x012fc995, 0x02caa3ba, 0x0378b362, 0x02a4c7b6, 0x002b3c13}}}, + {X: Field{[10]uint32{0x02c0b572, 0x03b55e5d, 0x01eb8b7a, 0x03752ca1, 0x0179c9f7, 0x0023dce2, 0x00439fa1, 0x0071e5d6, 0x038013d0, 0x001bb13b}}, Y: Field{[10]uint32{0x0098be7e, 0x006e8bf2, 0x004df13c, 0x01abd7cf, 0x017a6d26, 0x03adabc5, 0x026560e3, 0x03b37c0e, 0x0242e618, 0x0008ca39}}}, + {X: Field{[10]uint32{0x0377141b, 0x0249127b, 0x027ba884, 0x020713b5, 0x034c40a5, 0x029da1a0, 0x000fc149, 0x01ec6940, 0x036b30c2, 0x00363687}}, Y: Field{[10]uint32{0x01519758, 0x00ecd20b, 0x007dc49a, 0x0385c9ca, 0x03d92464, 0x00e4e1f5, 0x038c3108, 0x024b3c0a, 0x02d6876d, 0x00332d4c}}}, + {X: Field{[10]uint32{0x037ccb90, 0x03b458a3, 0x022b4e5f, 0x01b0ce1c, 0x026894d3, 0x032a1287, 0x02aa9f0e, 0x01c3b259, 0x00027349, 0x00213c95}}, Y: Field{[10]uint32{0x035cd8b1, 0x0308648c, 0x02944983, 0x00df4e51, 0x0109bee1, 0x027c18c6, 0x017d283d, 0x018c0b32, 0x0109f07e, 0x003cb5ff}}}, + {X: Field{[10]uint32{0x029503e3, 0x02cb7733, 0x00038136, 0x03533c02, 0x033adabf, 0x00761bfd, 0x01190e39, 0x010dca16, 0x02b55887, 0x003bd9d4}}, Y: Field{[10]uint32{0x03131c56, 0x00567e0f, 0x010f91e6, 0x0391850e, 0x0273f949, 0x02373e63, 0x03aa6759, 0x02d1e5f2, 0x0250013c, 0x0008f672}}}, + {X: Field{[10]uint32{0x0085ba6d, 0x02f0b004, 0x02a46602, 0x01d3f845, 0x00fe198f, 0x01df1ddb, 0x001cb52c, 0x0399f3d9, 0x01903b3f, 0x003e2361}}, Y: Field{[10]uint32{0x0208742d, 0x001fedee, 0x03a32405, 0x028a39b3, 0x0021da61, 0x0377c539, 0x0295714c, 0x02b5a28d, 0x02bd2178, 0x00162bca}}}, + {X: Field{[10]uint32{0x01b9c01c, 0x037805cb, 0x01354645, 0x03543457, 0x0218cde6, 0x0177b5f4, 0x01daaa8c, 0x02e5719d, 0x01bdd366, 0x0024edce}}, Y: Field{[10]uint32{0x01cf3627, 0x02e21b89, 0x03fb4748, 0x03c71f22, 0x017afea5, 0x02b83f2b, 0x03af5b96, 0x023aa98c, 0x01356c2f, 0x000093b1}}}, + {X: Field{[10]uint32{0x00443394, 0x00fc88c0, 0x00f95d41, 0x02496260, 0x006d313b, 0x02030455, 0x0382f801, 0x03968b6f, 0x0004da7a, 0x001ccb3d}}, Y: Field{[10]uint32{0x01596953, 0x035e2693, 0x01e431b7, 0x021054f2, 0x02e88200, 0x029dded5, 0x02eae580, 0x02e42a40, 0x03261758, 0x002163a0}}}, + {X: Field{[10]uint32{0x01d36e32, 0x0296652a, 0x02f7528e, 0x00ad6f92, 0x0365fc25, 0x006e0e2d, 0x002e024a, 0x0000b4fe, 0x03192c40, 0x003bf781}}, Y: Field{[10]uint32{0x01d9107b, 0x00be034f, 0x01483f0c, 0x02d5a751, 0x03b8dd69, 0x020ea71b, 0x02635851, 0x00d5da46, 0x035c3a15, 0x00227074}}}, + {X: Field{[10]uint32{0x02c90a15, 0x03764307, 0x034a6b42, 0x016e6c69, 0x02f114e6, 0x02a542f6, 0x0020c1cd, 0x00ce49d9, 0x02f28069, 0x0027bb6a}}, Y: Field{[10]uint32{0x03164de2, 0x022e81f4, 0x035337de, 0x03842b0e, 0x0226f427, 0x0134a314, 0x009728da, 0x010334c9, 0x00247fa5, 0x0004e677}}}, + {X: Field{[10]uint32{0x01433195, 0x034f5086, 0x017dd877, 0x031f52e8, 0x03775805, 0x03f6d21f, 0x01eaafeb, 0x028851a7, 0x028d342a, 0x0008fc3a}}, Y: Field{[10]uint32{0x03699b03, 0x02ff5182, 0x0306e4fc, 0x030e79f0, 0x0163444d, 0x0353a4f0, 0x032ca8d1, 0x02071574, 0x0231d2a4, 0x0037071b}}}, + {X: Field{[10]uint32{0x03e060b8, 0x032ddbaa, 0x0052c074, 0x003538cc, 0x02edd47c, 0x01a8c174, 0x0116e827, 0x02798162, 0x027058c2, 0x00003614}}, Y: Field{[10]uint32{0x010cfac8, 0x03f69baf, 0x012583a2, 0x02da2a68, 0x0384d497, 0x027a9264, 0x009e5105, 0x016ee57b, 0x0104e4db, 0x00268392}}}, + {X: Field{[10]uint32{0x009f28b8, 0x02411acc, 0x0363ad4d, 0x00ddeacd, 0x00f7d36b, 0x0033ce18, 0x022d2d19, 0x00481164, 0x015cccf9, 0x0006cd32}}, Y: Field{[10]uint32{0x0151e948, 0x0128478a, 0x0008f6f1, 0x03a246ed, 0x01f7080d, 0x0181f2d3, 0x0078c3d2, 0x0198ead9, 0x020c3f5f, 0x001c308c}}}, + {X: Field{[10]uint32{0x0384b228, 0x02851cd2, 0x028c28fc, 0x00d85263, 0x0289569d, 0x03c41c1e, 0x016d4e20, 0x0165aedd, 0x03dcae5e, 0x000c9563}}, Y: Field{[10]uint32{0x02038d86, 0x0241be45, 0x03cfb501, 0x0381d2db, 0x01fe63f6, 0x0356ab36, 0x03978c43, 0x01d56ec8, 0x00b75ed5, 0x001dd66a}}}, + {X: Field{[10]uint32{0x01984acd, 0x032c7a37, 0x02bf8577, 0x03b3e8f5, 0x016028d7, 0x00102bef, 0x01a38202, 0x02f15ce4, 0x037737d2, 0x00192062}}, Y: Field{[10]uint32{0x01ca2300, 0x001d225c, 0x03e1f057, 0x03b29c99, 0x012cf895, 0x0298c12f, 0x027b8914, 0x01553648, 0x01346ae9, 0x001080ae}}}, + {X: Field{[10]uint32{0x0177b333, 0x00b61f63, 0x031aae57, 0x0015cb86, 0x01bcd337, 0x010a2154, 0x02a23732, 0x01f2d50a, 0x02c6ec2d, 0x0031abda}}, Y: Field{[10]uint32{0x02c78cbf, 0x031f36b7, 0x023529fc, 0x022e17c8, 0x015d5af1, 0x034101fb, 0x02393bcd, 0x028b7c63, 0x01594ae5, 0x003fff95}}}, + {X: Field{[10]uint32{0x00f1cef0, 0x00378fa9, 0x02f13a8b, 0x00d0a3ba, 0x002e7a9e, 0x03ccbf51, 0x022a0317, 0x004be03e, 0x004494ea, 0x00247e3f}}, Y: Field{[10]uint32{0x0154dbcf, 0x03fdb669, 0x02a42481, 0x0097aba8, 0x03e76c22, 0x003309ab, 0x02765f42, 0x007742b1, 0x007ad81b, 0x0001a829}}}, + {X: Field{[10]uint32{0x01c1c017, 0x00ff1084, 0x016c8e35, 0x01848cd7, 0x02dc610a, 0x030056d1, 0x01b081fd, 0x03d5f21e, 0x01fa6a26, 0x0038566a}}, Y: Field{[10]uint32{0x013e8851, 0x0126beaa, 0x010b6bd7, 0x031f2a07, 0x00f1c181, 0x013077cb, 0x01656f9b, 0x0380269d, 0x0243445a, 0x00308271}}}, + {X: Field{[10]uint32{0x00f9330b, 0x02fae969, 0x01813556, 0x01a6e279, 0x031a7051, 0x001b4a0f, 0x011eda9c, 0x00ea5c48, 0x005e135f, 0x003a3a7f}}, Y: Field{[10]uint32{0x01af0abb, 0x02c4353a, 0x01553fe0, 0x02e7cff1, 0x01c88423, 0x03c7912d, 0x03b55fa6, 0x03a3db69, 0x00993b73, 0x003a2e5a}}}, + {X: Field{[10]uint32{0x000edead, 0x010d4daf, 0x035b1642, 0x0062bbbe, 0x0011aa98, 0x004ce12d, 0x0027ec6e, 0x013030db, 0x0129d5ae, 0x003cfd75}}, Y: Field{[10]uint32{0x033d34b9, 0x016f9876, 0x02ae533f, 0x00190f94, 0x021dd1e3, 0x03f1782a, 0x01abbc4f, 0x0304ccd1, 0x02431e40, 0x000fdd01}}}, + {X: Field{[10]uint32{0x00c81159, 0x013db5db, 0x0206a02e, 0x01727285, 0x0209eae6, 0x00505d80, 0x039acffe, 0x02ee6b86, 0x0030f5d8, 0x00316dd9}}, Y: Field{[10]uint32{0x032429c1, 0x03a1b633, 0x00fad0d2, 0x00ce6800, 0x0229b139, 0x02454e02, 0x00875916, 0x02426090, 0x03097008, 0x00201a27}}}, + {X: Field{[10]uint32{0x00fc09b0, 0x01442703, 0x00261e93, 0x0191ca25, 0x00ff2755, 0x03edb6d4, 0x02d30c9f, 0x0241d117, 0x00b434f5, 0x002552a9}}, Y: Field{[10]uint32{0x0072e4ad, 0x01974f43, 0x00ec5832, 0x01ba029c, 0x03a808b7, 0x00ec3f3c, 0x0176be8b, 0x00b095b3, 0x02861bad, 0x002008f2}}}, + {X: Field{[10]uint32{0x023d528b, 0x03c4cd5b, 0x00249d6d, 0x01512eed, 0x021b96ee, 0x002960cd, 0x020c9b93, 0x03cce4c0, 0x00bb4803, 0x0001576a}}, Y: Field{[10]uint32{0x02e5b64c, 0x03bdf38c, 0x02575799, 0x0134d568, 0x002387b1, 0x02805e17, 0x00bb209d, 0x03a7d61b, 0x0388ca06, 0x00373112}}}, + {X: Field{[10]uint32{0x03a1de03, 0x01fe2ee8, 0x0236877a, 0x02f285db, 0x01db59ea, 0x0098ad38, 0x02d48d3d, 0x02ca1ac2, 0x0000d810, 0x0020213a}}, Y: Field{[10]uint32{0x03dc1480, 0x0223f118, 0x00f85e08, 0x02b3acd2, 0x00070d60, 0x02f17e60, 0x0309c129, 0x0197f027, 0x029c59f8, 0x00362fba}}}, + {X: Field{[10]uint32{0x0318b39b, 0x03be9055, 0x00bd7f85, 0x005ec030, 0x03d15e02, 0x00252526, 0x00f49a15, 0x01fe21d2, 0x02c236c8, 0x0006caed}}, Y: Field{[10]uint32{0x01029c74, 0x006b4514, 0x001dc810, 0x00b02c3a, 0x00c3c3f4, 0x01afaa69, 0x03dd0180, 0x03cdbbc6, 0x01956aad, 0x0008592c}}}, + {X: Field{[10]uint32{0x00377872, 0x0368e295, 0x02d84830, 0x03667e46, 0x01de9139, 0x034bfafb, 0x01c65ce3, 0x030dcb97, 0x03e80125, 0x003ee9a1}}, Y: Field{[10]uint32{0x03e001c9, 0x00fb049c, 0x03f83092, 0x03c95fd2, 0x0355aabb, 0x0016a584, 0x00a7a821, 0x02540729, 0x02df03b8, 0x0022513a}}}, + {X: Field{[10]uint32{0x01560cbd, 0x038b7fbf, 0x03a948aa, 0x017bc246, 0x03d21e15, 0x0168b5e5, 0x00699c97, 0x0305bfe7, 0x0380a5f1, 0x002d6392}}, Y: Field{[10]uint32{0x02cec3ec, 0x02944a14, 0x02fec937, 0x01f64097, 0x0304606f, 0x00b5aaa5, 0x031b7f41, 0x02fe9b95, 0x02ba1429, 0x003ffe72}}}, + {X: Field{[10]uint32{0x0026edec, 0x03c5f38d, 0x02900fce, 0x01f2750e, 0x00114fdb, 0x00171af9, 0x0222551e, 0x01b08554, 0x0126da5d, 0x0023af35}}, Y: Field{[10]uint32{0x013aa97e, 0x01f7e194, 0x0021eae9, 0x00d2bbb7, 0x03de11f0, 0x014bd519, 0x02aafb1a, 0x0006d8fa, 0x03986b33, 0x001ce83e}}}, + {X: Field{[10]uint32{0x03ee325e, 0x0159a446, 0x00d2dbb9, 0x00c99010, 0x037354e0, 0x025c5526, 0x01c68f0e, 0x00a7a257, 0x000b924b, 0x003ee915}}, Y: Field{[10]uint32{0x0105ebd4, 0x039bd464, 0x0321b6c9, 0x009c5bd4, 0x02290f3c, 0x0394a10e, 0x02ba0d07, 0x015eb8d0, 0x00c33b98, 0x0014a422}}}, + {X: Field{[10]uint32{0x039c44de, 0x01bd3a2f, 0x025b0ab4, 0x025d946c, 0x02ce014c, 0x01bcfcdb, 0x006301a6, 0x034c91b6, 0x0097a1a7, 0x0022de8b}}, Y: Field{[10]uint32{0x00b247c7, 0x00ca3f69, 0x017b94cb, 0x02110ff0, 0x027c88a6, 0x007a9d4d, 0x006c1f47, 0x00d6cd9e, 0x00ab699c, 0x002e0a15}}}, + {X: Field{[10]uint32{0x02d2279c, 0x00e6963a, 0x0096f40c, 0x01dd2f52, 0x03931796, 0x006ea426, 0x0003bbba, 0x01c5539c, 0x03435adb, 0x00277c45}}, Y: Field{[10]uint32{0x01b884eb, 0x03c866d0, 0x02f8377e, 0x019775e8, 0x01d45668, 0x01eae190, 0x02913d6e, 0x0330db0d, 0x034ea216, 0x0029e48b}}}, + {X: Field{[10]uint32{0x02931cd8, 0x02b6b915, 0x03e9e414, 0x005707e6, 0x02c54b62, 0x01cc5224, 0x02fd9e73, 0x0111320b, 0x0384749b, 0x0016fade}}, Y: Field{[10]uint32{0x03abb95c, 0x0183a6cb, 0x01f7b64f, 0x03f3ad47, 0x03d32b7c, 0x03cc23bf, 0x02753fbf, 0x0029f0a3, 0x025f32cd, 0x00026790}}}, + {X: Field{[10]uint32{0x00788879, 0x004abd93, 0x02f43cd5, 0x01745c19, 0x01c9f8ed, 0x028edec2, 0x005114f4, 0x0012e9e3, 0x00430ff2, 0x000aa0c3}}, Y: Field{[10]uint32{0x02666c84, 0x02588c18, 0x0286561e, 0x00267b90, 0x009ba148, 0x0081fac0, 0x02827fed, 0x00994bae, 0x03a4e888, 0x00004948}}}, + {X: Field{[10]uint32{0x0057486a, 0x02488787, 0x014191b6, 0x00500670, 0x00985a77, 0x0334cb65, 0x00ab408b, 0x00a8639a, 0x02a14c1f, 0x003dc691}}, Y: Field{[10]uint32{0x00534875, 0x01d6db48, 0x00f0aef6, 0x00feca07, 0x034fac44, 0x03303683, 0x00ce36a4, 0x02694d3f, 0x033e0ea7, 0x002b7c66}}}, + {X: Field{[10]uint32{0x029d193b, 0x010da9f1, 0x012fdcb6, 0x02acdb10, 0x00bbad2b, 0x01f58f03, 0x00ae2d9f, 0x00acc59e, 0x01dcaa9c, 0x000ae039}}, Y: Field{[10]uint32{0x022119c3, 0x00875880, 0x00ffa276, 0x00670821, 0x038f3c90, 0x0141891e, 0x001ce04c, 0x00018ada, 0x004d71d6, 0x002f20f8}}}, + {X: Field{[10]uint32{0x023beece, 0x0148d739, 0x01d5bb97, 0x00300f11, 0x0175424a, 0x011124d0, 0x0375b58d, 0x031a71a0, 0x033be521, 0x001272f7}}, Y: Field{[10]uint32{0x0062de7f, 0x01b12697, 0x017a8ae4, 0x03c558e6, 0x0291d260, 0x00e84dab, 0x0356abad, 0x039f3b0d, 0x02eaf0f0, 0x00315857}}}, + {X: Field{[10]uint32{0x029ee1b2, 0x016e8c73, 0x0373979c, 0x00ee72a1, 0x03f7aa66, 0x03741c3d, 0x015e2f31, 0x02c45648, 0x0314b643, 0x00339351}}, Y: Field{[10]uint32{0x02feac38, 0x023f76c7, 0x010aad6f, 0x02d08030, 0x00479745, 0x0188406c, 0x0359ef5e, 0x00ea8d36, 0x0212a2fc, 0x002c7cd7}}}, + {X: Field{[10]uint32{0x01e10054, 0x00b53758, 0x01656299, 0x01e7b5f1, 0x01a8bef4, 0x03562071, 0x013bb1b5, 0x016b0e36, 0x02bbaa90, 0x001a09ed}}, Y: Field{[10]uint32{0x016bb869, 0x03e3b3ca, 0x0064d1af, 0x009dfbc8, 0x0030fc37, 0x016007d5, 0x00484279, 0x00083646, 0x007baf65, 0x0021492a}}}, + {X: Field{[10]uint32{0x0056535f, 0x03d2b460, 0x0112519a, 0x0062c5b7, 0x00ab9472, 0x000e9268, 0x037879aa, 0x035fc71e, 0x00d548f4, 0x00039c79}}, Y: Field{[10]uint32{0x0232f574, 0x006ece03, 0x01c09f0d, 0x01a0f7b4, 0x0383aeed, 0x02d72604, 0x03e3beda, 0x02cf55bd, 0x00617098, 0x00125741}}}, + {X: Field{[10]uint32{0x0200e032, 0x00199f1b, 0x02542632, 0x005a1cf3, 0x00656528, 0x00ffb69a, 0x036aa32a, 0x03ecc350, 0x01797429, 0x003bda0e}}, Y: Field{[10]uint32{0x0134613f, 0x028d8d41, 0x01404fbb, 0x001bc053, 0x0002f175, 0x006229ab, 0x01ed846f, 0x025fa03f, 0x024ade11, 0x002d2c63}}}, + {X: Field{[10]uint32{0x012deaf4, 0x0162c0f9, 0x0245b0a2, 0x00db07b1, 0x01dd557e, 0x038bbb61, 0x008007d0, 0x01fbffa4, 0x01c1ac8f, 0x000031ca}}, Y: Field{[10]uint32{0x021305fe, 0x01fafd15, 0x00f27bde, 0x02242b0e, 0x0312365b, 0x00cd6821, 0x02bade6a, 0x013dab17, 0x01c21858, 0x000ba0fb}}}, + {X: Field{[10]uint32{0x015735ab, 0x031fec44, 0x0288cc1c, 0x03088492, 0x01290d54, 0x02b8b7b4, 0x03c4f2c3, 0x01b54eca, 0x01199a71, 0x0033c74e}}, Y: Field{[10]uint32{0x0100e6e6, 0x02dc35b7, 0x029089b7, 0x03bab550, 0x03c276c8, 0x02ae14e2, 0x0180970d, 0x0100b3a2, 0x01a57ec3, 0x001ad13d}}}, + {X: Field{[10]uint32{0x03ecdeae, 0x03582696, 0x00f55cf9, 0x01ffe0b6, 0x01a9c28a, 0x03a4369d, 0x031f772e, 0x03b8a3cf, 0x03a0266d, 0x001b3cf5}}, Y: Field{[10]uint32{0x01bc58d4, 0x037ebad2, 0x01e14034, 0x02d3113b, 0x00ede5c9, 0x0366a66f, 0x01b9cf94, 0x03338a25, 0x03b31e11, 0x000ef463}}}, + {X: Field{[10]uint32{0x01395542, 0x01d2701f, 0x00be7f28, 0x02bb3e0c, 0x0256393c, 0x0002ba4c, 0x02e4274f, 0x03bb2b37, 0x0032ae63, 0x003692d6}}, Y: Field{[10]uint32{0x01b2210b, 0x03220633, 0x00ec4dfe, 0x038c6da5, 0x02106374, 0x005a12e4, 0x01610c9d, 0x0103c605, 0x023bd2d9, 0x0026aaec}}}, + {X: Field{[10]uint32{0x0330bbfa, 0x0357de90, 0x002d4b8a, 0x0043a561, 0x03407d1a, 0x03a8b1af, 0x0063270c, 0x00385be7, 0x03502321, 0x003e46b8}}, Y: Field{[10]uint32{0x013aa1c2, 0x00421ae4, 0x01e161b5, 0x010ccd94, 0x0153c915, 0x034f46bc, 0x029290ef, 0x0095cd65, 0x01acd196, 0x00007c58}}}, + {X: Field{[10]uint32{0x02f1ac02, 0x021d2cbc, 0x0025556c, 0x01cfe872, 0x02c72e3f, 0x01cca149, 0x0047c862, 0x00a8b916, 0x0352cc3e, 0x001f86fb}}, Y: Field{[10]uint32{0x02f6e6fe, 0x0305e1f9, 0x017f44c4, 0x008fba36, 0x0008ff05, 0x003f13d4, 0x03048fee, 0x03934f6d, 0x037ea706, 0x002f92c3}}}, + {X: Field{[10]uint32{0x03d5998f, 0x03f20534, 0x020ecb27, 0x03c52f9c, 0x03706567, 0x03724bad, 0x00e256cc, 0x00bb8dd2, 0x015d30dc, 0x0003749a}}, Y: Field{[10]uint32{0x032dc74f, 0x000a8668, 0x0396ed1a, 0x0103c3c2, 0x01bba677, 0x01151cad, 0x027cf998, 0x02004e7b, 0x0044f102, 0x0026bccb}}}, + {X: Field{[10]uint32{0x009dbb9d, 0x002ccdd9, 0x037c94d2, 0x02550fec, 0x02125fe3, 0x00ceddb6, 0x02602ba0, 0x018f2344, 0x02507147, 0x001e3eb9}}, Y: Field{[10]uint32{0x03ce3aa6, 0x0388d46f, 0x00ce121d, 0x00c81989, 0x00c3b925, 0x02bc7fa9, 0x01826e5e, 0x03339bd9, 0x000f0726, 0x001e3713}}}, + {X: Field{[10]uint32{0x01c98bd5, 0x02498da3, 0x018dfee6, 0x02e16476, 0x021b6fb6, 0x0005ad16, 0x01d3e00d, 0x01774aa8, 0x021e510e, 0x0007b7d4}}, Y: Field{[10]uint32{0x01311f86, 0x02369055, 0x00a59751, 0x034d8efb, 0x00aeafd8, 0x006ac3c8, 0x034d8177, 0x026e3743, 0x016d9b2e, 0x00268340}}}, + {X: Field{[10]uint32{0x00101d39, 0x01aa8634, 0x02b4d416, 0x0250dd58, 0x007ce286, 0x00f31a79, 0x013272cd, 0x02d82e45, 0x030c5e53, 0x002181ee}}, Y: Field{[10]uint32{0x02eb519a, 0x0159b565, 0x00e988ef, 0x015c9e49, 0x02388707, 0x01922be3, 0x01a294aa, 0x0195070d, 0x031ec83c, 0x00005728}}}, + {X: Field{[10]uint32{0x02d02eab, 0x02d97de5, 0x02df7166, 0x001e44bc, 0x03037f96, 0x010ae6ed, 0x020dbb7c, 0x000fde02, 0x000d9a05, 0x00197f4c}}, Y: Field{[10]uint32{0x02a3b5d9, 0x02e4a2d3, 0x00aa5335, 0x00f3513b, 0x02904caf, 0x03dad0fc, 0x03945401, 0x02a14847, 0x035084fb, 0x003f3454}}}, + {X: Field{[10]uint32{0x0002d148, 0x03c51633, 0x03f99f47, 0x02a4cc24, 0x0336d031, 0x01332fac, 0x01845f03, 0x01f38700, 0x03a76c84, 0x0032462c}}, Y: Field{[10]uint32{0x03728568, 0x00eb7f5f, 0x00eb53ed, 0x02772a17, 0x02059632, 0x03ea9b98, 0x00632700, 0x00b880c8, 0x0003dbbb, 0x003c95bd}}}, + {X: Field{[10]uint32{0x01661817, 0x014ab381, 0x03bb5c13, 0x03536f82, 0x01532e54, 0x0102b783, 0x02cb4291, 0x02e1e42f, 0x00fd02f0, 0x001ab0b7}}, Y: Field{[10]uint32{0x029e2af3, 0x02ab8592, 0x026dccca, 0x038c1811, 0x03784c3d, 0x01c89470, 0x0323074e, 0x00e5b16b, 0x0310abf9, 0x003cb098}}}, + {X: Field{[10]uint32{0x033f3d19, 0x02ffcbf2, 0x0295f5b0, 0x02a517da, 0x02cf8e95, 0x017facac, 0x0239b94b, 0x03ce273b, 0x00ee54ac, 0x00235c71}}, Y: Field{[10]uint32{0x031ce52d, 0x01d611c3, 0x00cb6548, 0x015e26d1, 0x03f0bc88, 0x00cc1840, 0x03a3881e, 0x030711f6, 0x03d95a02, 0x0026110a}}}, + {X: Field{[10]uint32{0x00f583c3, 0x03b84911, 0x03072b3d, 0x01a2a426, 0x002e5d73, 0x01447a1d, 0x000abbb0, 0x01c463cb, 0x00d3fd55, 0x003a2f49}}, Y: Field{[10]uint32{0x03ce6538, 0x02c6fc22, 0x0343a4d4, 0x016b3583, 0x02238028, 0x01c59167, 0x037992a6, 0x008b6d96, 0x03a6e286, 0x003874b0}}}, + {X: Field{[10]uint32{0x00075217, 0x01c9568f, 0x011d032d, 0x0092acab, 0x00483fd0, 0x00c478ed, 0x02c8c516, 0x033e2794, 0x01755cf8, 0x0018b70a}}, Y: Field{[10]uint32{0x000e2a97, 0x0247e3d7, 0x00d1e093, 0x02a523cf, 0x018b3fc8, 0x00255094, 0x0301e9cd, 0x008b6383, 0x0132d80d, 0x0001e678}}}, + {X: Field{[10]uint32{0x004c0e13, 0x014125b5, 0x01451a60, 0x013d9aa5, 0x034d4323, 0x031f4f01, 0x01027099, 0x01f9832c, 0x03aacf72, 0x000df6c4}}, Y: Field{[10]uint32{0x01b1066b, 0x0090cd22, 0x02fb0629, 0x01b7427a, 0x02d3402a, 0x0004e87d, 0x02e9d07e, 0x03bfd065, 0x03be8f8c, 0x00030e0e}}}, + {X: Field{[10]uint32{0x032aa1ab, 0x01d6cc3e, 0x02c39378, 0x00e49a67, 0x01be9dc4, 0x01cbc77c, 0x018e17c4, 0x01c67b21, 0x0365eab7, 0x000defed}}, Y: Field{[10]uint32{0x01721364, 0x014d58f4, 0x00eea23b, 0x017419bc, 0x025cf44b, 0x022be329, 0x0135f4a9, 0x031308be, 0x03fd865d, 0x001c9c62}}}, + {X: Field{[10]uint32{0x005d1b94, 0x02e914aa, 0x0145606d, 0x03f84803, 0x03b5d5c3, 0x01885229, 0x01ba6e1f, 0x02fcd57f, 0x021287fc, 0x0010cfb7}}, Y: Field{[10]uint32{0x0357c20e, 0x01765251, 0x02e60571, 0x01f1ebb9, 0x01137a4c, 0x00f8c1e0, 0x030c9591, 0x0144eca3, 0x0213ad6e, 0x002c9f15}}}, + {X: Field{[10]uint32{0x02671861, 0x02695f4f, 0x03b323af, 0x0342e2c9, 0x02d23295, 0x02adf7d1, 0x021917f6, 0x00379a4a, 0x019fc5ed, 0x0003960b}}, Y: Field{[10]uint32{0x00073154, 0x0077bff5, 0x01fd6557, 0x01cc6de3, 0x01d1c9e0, 0x021b2c74, 0x039faa53, 0x0036f5f9, 0x0385e277, 0x000cfba1}}}, + {X: Field{[10]uint32{0x009442c2, 0x00a18013, 0x0189e4e4, 0x000529a8, 0x02ad8fae, 0x003c1ab7, 0x02d4e5da, 0x03c56bb8, 0x0340634b, 0x00182c1e}}, Y: Field{[10]uint32{0x004b283d, 0x00466c6f, 0x00f37ff2, 0x027295ec, 0x011557f2, 0x02362ab1, 0x034a2cd6, 0x010ee98a, 0x03cd00d2, 0x003fb821}}}, + {X: Field{[10]uint32{0x01e03100, 0x0196b4cb, 0x009b2102, 0x029f38df, 0x02643e6d, 0x01ba23ee, 0x0245e35b, 0x03df2828, 0x027601e5, 0x0012c59c}}, Y: Field{[10]uint32{0x02d8dde7, 0x024324e3, 0x00a6473b, 0x00aed8c5, 0x00cacda0, 0x03547c57, 0x0126c1dc, 0x021f8243, 0x03024768, 0x000a2ab3}}}, + {X: Field{[10]uint32{0x022a3170, 0x034be6ff, 0x027b2a17, 0x03853b53, 0x02fab97d, 0x026a22b8, 0x0003e638, 0x01f9d312, 0x013d6d79, 0x00175584}}, Y: Field{[10]uint32{0x01cd524f, 0x00ac79f6, 0x033abee4, 0x024b8b65, 0x02c65459, 0x03acacd3, 0x02462a27, 0x02cbfe98, 0x02a8534e, 0x000253bc}}}, + {X: Field{[10]uint32{0x0234f828, 0x02cf418e, 0x03a7ee38, 0x0363ca37, 0x03f4a06c, 0x03a3111c, 0x01572878, 0x006b6344, 0x03ae7511, 0x002a740f}}, Y: Field{[10]uint32{0x03517881, 0x0347e54c, 0x0262e4d9, 0x02d31f78, 0x03480c94, 0x01a3daea, 0x02665bf9, 0x0261e4b2, 0x000cc731, 0x00281ccf}}}, + {X: Field{[10]uint32{0x020e1ad5, 0x0157c959, 0x00522508, 0x0058599b, 0x0058fd37, 0x02cfdf9c, 0x00db3b77, 0x02f3a7b5, 0x01712b1a, 0x001d0665}}, Y: Field{[10]uint32{0x00da44db, 0x019ef640, 0x0385f22b, 0x03062ab0, 0x00ea3ef2, 0x009c9800, 0x013b8a32, 0x01d6273f, 0x02a8097f, 0x001c432b}}}, + {X: Field{[10]uint32{0x01918dc8, 0x02ae5bc9, 0x00be7cab, 0x03cab31a, 0x02ba0106, 0x0119cf85, 0x03a1e5f8, 0x0296c7ba, 0x010dbf81, 0x0027c5a6}}, Y: Field{[10]uint32{0x00ebc4f5, 0x01962314, 0x007b0f0b, 0x03c7a996, 0x03135d46, 0x000e01aa, 0x0049d39c, 0x004108d3, 0x007b6232, 0x00035835}}}, + {X: Field{[10]uint32{0x0301d57d, 0x01c302c8, 0x00619b6a, 0x03d322c9, 0x03c99143, 0x02af4569, 0x011c888f, 0x02e69eb6, 0x01bc4f12, 0x000ed41a}}, Y: Field{[10]uint32{0x01dd1a79, 0x020a31ff, 0x035a8979, 0x013aa1ad, 0x02da1854, 0x02cc4759, 0x034ddfd4, 0x02a5127e, 0x00d1ae59, 0x0036ee1f}}}, + {X: Field{[10]uint32{0x02baee90, 0x026e51b6, 0x01c68115, 0x035c26dd, 0x01f90cdc, 0x02feaecc, 0x03bf9afb, 0x028db82e, 0x03a967b5, 0x00277a98}}, Y: Field{[10]uint32{0x02bc4464, 0x019989f1, 0x01e57b8a, 0x03ae5353, 0x0305c7d2, 0x02460348, 0x01a605ce, 0x02e5638c, 0x019b11ba, 0x002c52ee}}}, + {X: Field{[10]uint32{0x01e31e79, 0x0377d215, 0x03a188e0, 0x00b30cf0, 0x0309fe6b, 0x0104798e, 0x025cb534, 0x01aa1095, 0x03921da3, 0x00342c8c}}, Y: Field{[10]uint32{0x0374f8e9, 0x010d7943, 0x02a7515c, 0x01d90fed, 0x02991172, 0x00d42cec, 0x02f1cfcc, 0x01524b72, 0x03ea1a6e, 0x00203b64}}}, + {X: Field{[10]uint32{0x00b03d20, 0x0205ece4, 0x01da552c, 0x0323dc44, 0x03acfe85, 0x03d1078f, 0x00ca7a49, 0x03912fe6, 0x0255966a, 0x0022b725}}, Y: Field{[10]uint32{0x03c0021e, 0x0069b95c, 0x013b4eed, 0x019b6c6e, 0x005dd1d5, 0x024cdd0c, 0x00c80eac, 0x01cc4860, 0x014c6a71, 0x00339c81}}}, + {X: Field{[10]uint32{0x020c1670, 0x0059c987, 0x03fe3ec9, 0x00438b84, 0x02141ac6, 0x00062929, 0x00800b6d, 0x00f7a9c0, 0x03f8cf6d, 0x003dbdda}}, Y: Field{[10]uint32{0x039a302c, 0x0070e54f, 0x01a54e24, 0x03dd9913, 0x0263e4fe, 0x01ace93b, 0x025e2a10, 0x0261da63, 0x00afe1ea, 0x002cb11e}}}, + {X: Field{[10]uint32{0x00b898e5, 0x00f61bc5, 0x039fef87, 0x0235b697, 0x03217638, 0x01cece44, 0x00fcaa18, 0x0368c05d, 0x007d38b7, 0x0003560a}}, Y: Field{[10]uint32{0x02fc8402, 0x00ba7b1a, 0x005ee350, 0x03d58795, 0x03da2b8f, 0x0052b433, 0x018f91d1, 0x00217a0c, 0x013469ed, 0x001e17f2}}}, + {X: Field{[10]uint32{0x01a3661c, 0x02fd9d0e, 0x0354a02f, 0x0047d2e0, 0x01538e3d, 0x0361c0b0, 0x03e810c6, 0x03b9567f, 0x022350c5, 0x001ddcb2}}, Y: Field{[10]uint32{0x006edddb, 0x036690da, 0x00d6c931, 0x02a2b87f, 0x03fe3dd3, 0x00fa6393, 0x008aefb2, 0x0368516d, 0x02de853f, 0x001688c4}}}, + {X: Field{[10]uint32{0x02433ad5, 0x01c177dc, 0x02308069, 0x00f9dab7, 0x0046ce90, 0x03f0fecb, 0x010ac95e, 0x00da1deb, 0x0176c50f, 0x0028be7e}}, Y: Field{[10]uint32{0x00c285f3, 0x03c15bf2, 0x0238a22a, 0x012da2be, 0x01f201dd, 0x03e35d11, 0x0211b22b, 0x0227ccd7, 0x031124c2, 0x003b1594}}}, + {X: Field{[10]uint32{0x038b15f7, 0x0086a013, 0x0211bcb2, 0x019ad4b3, 0x0026fce1, 0x02b49c44, 0x010ec165, 0x03159c93, 0x036585f8, 0x00388365}}, Y: Field{[10]uint32{0x018f33fb, 0x01753766, 0x0031bfc8, 0x008059ab, 0x0321d082, 0x01aaed52, 0x0348b6bc, 0x00e18a62, 0x0133c7f6, 0x0018ed86}}}, + {X: Field{[10]uint32{0x00ecc18f, 0x033b00eb, 0x0093e42d, 0x0222cafc, 0x03659ba6, 0x001b6c77, 0x0298d945, 0x00778b2f, 0x019d00ca, 0x00221a2d}}, Y: Field{[10]uint32{0x00f2fd0e, 0x005760ff, 0x03076e22, 0x0146bed4, 0x02dea562, 0x01493afd, 0x01dbfe84, 0x023ec014, 0x030796b9, 0x003c0ba6}}}, + {X: Field{[10]uint32{0x01fb677c, 0x01606e22, 0x016a43f8, 0x0099e09b, 0x0099c832, 0x029afc3a, 0x005f86b9, 0x004d869e, 0x002fe32a, 0x0004267e}}, Y: Field{[10]uint32{0x0044445b, 0x03cdf627, 0x01aac7fc, 0x01866bfa, 0x02cd2d3e, 0x024bab11, 0x0320cd35, 0x03c9c4b3, 0x03f29aa7, 0x0004fee0}}}, + {X: Field{[10]uint32{0x01cbeea3, 0x00147d0d, 0x01d31ef2, 0x032bb8b5, 0x03deae65, 0x032986c9, 0x03329698, 0x039ecd7d, 0x029677ec, 0x0012be71}}, Y: Field{[10]uint32{0x024e5ef0, 0x00420999, 0x006985b2, 0x025a04c3, 0x00ebfe51, 0x00910229, 0x02e3f80a, 0x02a5dbe5, 0x0196429d, 0x001cc011}}}, + {X: Field{[10]uint32{0x03dab473, 0x00ed50d5, 0x02045edb, 0x022f45bb, 0x01300d1f, 0x01c4f2ae, 0x02d4bbe8, 0x02e2c0c8, 0x03ca5ace, 0x0025a032}}, Y: Field{[10]uint32{0x010df58a, 0x004c766f, 0x02aec0e9, 0x00f09e62, 0x006904ee, 0x0026ccf8, 0x014697c2, 0x02874bb3, 0x0140e36b, 0x000bca4e}}}, + {X: Field{[10]uint32{0x03fae7c2, 0x036e6b89, 0x000ee4e2, 0x03eb5ba7, 0x023eb7fd, 0x00520324, 0x01c37203, 0x011fc17e, 0x003afd63, 0x001fbbf3}}, Y: Field{[10]uint32{0x035cac06, 0x023c42fe, 0x0357e973, 0x0276b3ac, 0x007bb93d, 0x01eec78a, 0x0353e421, 0x017051f1, 0x02754f74, 0x002e3a7e}}}, + {X: Field{[10]uint32{0x039fddb4, 0x0351becb, 0x002fe98f, 0x0016c097, 0x01065e78, 0x02252557, 0x021fbf36, 0x004ae4d1, 0x0156d636, 0x0002e08c}}, Y: Field{[10]uint32{0x00bd465a, 0x02771604, 0x0360cdab, 0x031a8aa3, 0x00d0b537, 0x03a7ab75, 0x03453ebf, 0x03a47917, 0x017a826f, 0x003c8f14}}}, + {X: Field{[10]uint32{0x01bdadd9, 0x005134e1, 0x002b44d5, 0x008ba246, 0x01bfb9de, 0x00b9d96a, 0x0178706e, 0x03f55248, 0x035e2035, 0x003a0074}}, Y: Field{[10]uint32{0x02956a26, 0x0186025d, 0x03478481, 0x0000fea9, 0x011c2162, 0x00678dea, 0x00868e04, 0x039bc206, 0x023427de, 0x00079920}}}, + {X: Field{[10]uint32{0x01c67f3a, 0x0123d4b3, 0x01a1c2f3, 0x01402122, 0x0029fd77, 0x01fa243f, 0x00369e50, 0x0025a4a1, 0x010e56b7, 0x003a7518}}, Y: Field{[10]uint32{0x008e4a0e, 0x02a13fad, 0x02c1f7d9, 0x008895f0, 0x031df0e6, 0x03b9145a, 0x01bfca22, 0x020b868a, 0x02ac357d, 0x002397da}}}, + {X: Field{[10]uint32{0x03b7609b, 0x0206bdb4, 0x028ff4a4, 0x022838d4, 0x00b94bae, 0x011a0021, 0x00d7aa09, 0x0377b8d0, 0x030f51d6, 0x001c70fb}}, Y: Field{[10]uint32{0x015f6b96, 0x03d5f8cc, 0x03ca4544, 0x0351264b, 0x03db6886, 0x02985690, 0x00adc4da, 0x021e8c4e, 0x00dc2f80, 0x0013459d}}}, + {X: Field{[10]uint32{0x027d6f20, 0x02670392, 0x03947ce9, 0x020f055e, 0x0121aadb, 0x00e2aeb1, 0x038b44d9, 0x03107ef7, 0x0243b6f5, 0x002559f3}}, Y: Field{[10]uint32{0x03a35538, 0x0280084c, 0x00fe35e2, 0x0366cb79, 0x011fd0fd, 0x011730d7, 0x0247ca89, 0x028c6029, 0x0317031e, 0x00327618}}}, + {X: Field{[10]uint32{0x02dcc141, 0x02c8ade3, 0x0163eb9d, 0x014c3f62, 0x014f8fc7, 0x00468648, 0x033de850, 0x019ce442, 0x014f8116, 0x000d148f}}, Y: Field{[10]uint32{0x0022ac90, 0x03a43121, 0x01ce77d6, 0x0213c9df, 0x02877bca, 0x009df62e, 0x000a0660, 0x0223ae6e, 0x01fe268b, 0x002403ee}}}, + {X: Field{[10]uint32{0x03c1bd98, 0x002b5e78, 0x01278159, 0x03f2d873, 0x01f2993d, 0x0083973c, 0x034350bf, 0x010f7e8b, 0x037e5f1c, 0x001a7f47}}, Y: Field{[10]uint32{0x0051d7f3, 0x0327ce9b, 0x01615043, 0x008caf37, 0x0302d1c9, 0x0249de5c, 0x0315665a, 0x02502bb6, 0x02cf8b74, 0x0018cdc9}}}, + {X: Field{[10]uint32{0x014a3de7, 0x021e2bfa, 0x03aa2a9f, 0x01d78c5f, 0x02411b2a, 0x02d3f1ae, 0x006dd39b, 0x02e3dcc5, 0x0024c28c, 0x003930b1}}, Y: Field{[10]uint32{0x0321ae89, 0x022a527a, 0x01158fcc, 0x023a6cef, 0x01c86137, 0x00814573, 0x02607398, 0x017bd236, 0x03e8468e, 0x003ee345}}}, + {X: Field{[10]uint32{0x00e32773, 0x035ec78d, 0x019ea5de, 0x004c8984, 0x0398e445, 0x03125218, 0x01feb590, 0x005b4270, 0x019aada9, 0x0015c411}}, Y: Field{[10]uint32{0x023871bc, 0x00fb2939, 0x009f0738, 0x00abccfd, 0x02905bf1, 0x002a0d57, 0x016b4093, 0x00e96139, 0x01bdd2d8, 0x002277bb}}}, + {X: Field{[10]uint32{0x03d48e64, 0x0085e81b, 0x01bc189b, 0x02a642e1, 0x0359a3a8, 0x01c406c9, 0x0017f913, 0x001b856b, 0x02d41718, 0x00355beb}}, Y: Field{[10]uint32{0x00a6652c, 0x00c511cd, 0x038c76d7, 0x01de9221, 0x01ebe439, 0x00da3d52, 0x02f513f5, 0x02cb5ad8, 0x02c33408, 0x003ea1c7}}}, + {X: Field{[10]uint32{0x02599bcb, 0x014976ea, 0x003f7604, 0x004a0134, 0x00cb5cf0, 0x03b7e1f7, 0x0347be8e, 0x02016da2, 0x02ebda0b, 0x0039d05b}}, Y: Field{[10]uint32{0x01a56c19, 0x03d510ae, 0x01185bbc, 0x00dc4ec4, 0x03533d4f, 0x01f90c52, 0x03eb4c77, 0x0159f8c4, 0x0316f11c, 0x00218431}}}, + {X: Field{[10]uint32{0x01fa997d, 0x03c581f5, 0x0175f2d5, 0x0291b980, 0x02a4fbfc, 0x00f38cb1, 0x00606081, 0x00d50647, 0x0062ebdd, 0x00232966}}, Y: Field{[10]uint32{0x037698f4, 0x0355a478, 0x031c6980, 0x03bbeab5, 0x01113dd6, 0x00ac5343, 0x01fa1950, 0x03fab1ab, 0x000fb132, 0x002abcd2}}}, + {X: Field{[10]uint32{0x03243413, 0x02e9bc54, 0x0218172f, 0x0314a30a, 0x036eb8e4, 0x011b1480, 0x015867a8, 0x00ed1464, 0x00451fd4, 0x001925b7}}, Y: Field{[10]uint32{0x004da1f2, 0x01358939, 0x03e87cb1, 0x02f1722c, 0x03153fe2, 0x00a4b3c6, 0x00a281b9, 0x03267b80, 0x00410f85, 0x000113f7}}}, + {X: Field{[10]uint32{0x01925a5d, 0x02cbf064, 0x035d6c9c, 0x008753a3, 0x0067d207, 0x032b3348, 0x00bc248d, 0x0105aa8e, 0x0063aa82, 0x000e9091}}, Y: Field{[10]uint32{0x02fa9fb2, 0x01e11922, 0x03ca9c31, 0x02fea949, 0x00d4857a, 0x01f206fc, 0x00775cb3, 0x0096450d, 0x0063fd24, 0x001c6959}}}, + {X: Field{[10]uint32{0x0178c2e6, 0x01344274, 0x03418157, 0x0079ade1, 0x03881178, 0x02a17f98, 0x03f7985a, 0x014652b6, 0x030551d5, 0x001aa516}}, Y: Field{[10]uint32{0x0357ac44, 0x03a67fe6, 0x01d31924, 0x03c4c989, 0x0380df9a, 0x0099f289, 0x0021fc0d, 0x02a0d8c9, 0x003a1ca3, 0x00061b4d}}}, + {X: Field{[10]uint32{0x02add47f, 0x03f5df4e, 0x008aac9f, 0x003adfe3, 0x0132baac, 0x031704ec, 0x027381b8, 0x0012dedf, 0x0292682d, 0x0004fc7d}}, Y: Field{[10]uint32{0x02e99f0e, 0x02a92b89, 0x03ce2282, 0x00cce311, 0x03433725, 0x01745003, 0x03368528, 0x03fe227a, 0x01e49622, 0x0015ca81}}}, + {X: Field{[10]uint32{0x02804330, 0x0198d2f4, 0x02522a51, 0x001f9533, 0x01a27007, 0x03b6ddfd, 0x018e7b33, 0x03a3c7b6, 0x03c14f0d, 0x001e7e84}}, Y: Field{[10]uint32{0x01987c65, 0x02247bb5, 0x03aa096e, 0x02ad68bb, 0x00cf2484, 0x0183dc66, 0x001e40e0, 0x027b9cfd, 0x0188e196, 0x0028252f}}}, + {X: Field{[10]uint32{0x0133130a, 0x0280f6f9, 0x011019dd, 0x01f6ecf7, 0x01fb0837, 0x029b6acf, 0x033f7350, 0x006fdf09, 0x02dbd2c6, 0x0037c7fd}}, Y: Field{[10]uint32{0x023f886e, 0x02584764, 0x02824fd1, 0x02dd6ac3, 0x00cd0061, 0x023452a5, 0x025c969d, 0x021a264b, 0x03ad68c5, 0x0000bf71}}}, + {X: Field{[10]uint32{0x02cbdb34, 0x021b4a86, 0x032ec51d, 0x006f7de5, 0x032bff65, 0x00204331, 0x00f87760, 0x00e6b460, 0x02805f59, 0x002a088c}}, Y: Field{[10]uint32{0x03c2dfba, 0x013fed45, 0x025b5278, 0x00ab52c4, 0x01e7f2ef, 0x00010dd4, 0x02ea9b44, 0x00d8caca, 0x010f982e, 0x0025a056}}}, + {X: Field{[10]uint32{0x004c7c44, 0x01a9a212, 0x018c479e, 0x02b6e8ff, 0x02b3780f, 0x00f1ce4c, 0x010ada16, 0x02fd61a6, 0x00c049f3, 0x00101ac3}}, Y: Field{[10]uint32{0x036503dd, 0x008205f7, 0x012d31bb, 0x00ca1646, 0x028b2179, 0x0062bb9f, 0x0074fe02, 0x023951e4, 0x00eff250, 0x002aac39}}}, + {X: Field{[10]uint32{0x0116bcc8, 0x00cc033d, 0x014604b7, 0x03ab6eb2, 0x00523c81, 0x031366f2, 0x00f103db, 0x011e70f7, 0x03fd5783, 0x00139c10}}, Y: Field{[10]uint32{0x002d1133, 0x014f5a7a, 0x007fa98f, 0x02d9ce93, 0x0177c859, 0x01b24989, 0x0033ead6, 0x006f47a0, 0x03b73ed0, 0x000658a1}}}, + {X: Field{[10]uint32{0x033e9997, 0x03d003c3, 0x0344e43c, 0x0003a74b, 0x00a7d55b, 0x03c9301c, 0x0175c0ef, 0x0297d641, 0x0271b945, 0x002a68a9}}, Y: Field{[10]uint32{0x020c6285, 0x029636db, 0x014ca5b2, 0x0390ed1b, 0x039ae22c, 0x03dfcbcf, 0x03f957ca, 0x009c5459, 0x0220cb97, 0x001b3517}}}, + {X: Field{[10]uint32{0x003d3c01, 0x028ffca2, 0x0208b22b, 0x031da01d, 0x0312b2de, 0x00c569bb, 0x0247ae49, 0x02ba23ee, 0x039475ff, 0x001a4a84}}, Y: Field{[10]uint32{0x02e46131, 0x0197059b, 0x0340685a, 0x00fc2018, 0x00c83477, 0x029df458, 0x02867321, 0x01295302, 0x034a03c1, 0x001d3756}}}, + {X: Field{[10]uint32{0x022cfad8, 0x02aa3235, 0x016e77dd, 0x02b3d740, 0x01063b44, 0x0003f352, 0x0128e75d, 0x00e2ee22, 0x01fd1566, 0x000dbe45}}, Y: Field{[10]uint32{0x0042e8b9, 0x01fd76fa, 0x00e3c0cf, 0x02c38dff, 0x02991dc8, 0x008b3db7, 0x0217d027, 0x03460d7b, 0x02b616ed, 0x0000fc47}}}, + {X: Field{[10]uint32{0x02a53b31, 0x028e3592, 0x02c8f99a, 0x01f82ece, 0x00a5202a, 0x00d90c51, 0x002fd6ca, 0x00302d51, 0x035a7e01, 0x000fc3db}}, Y: Field{[10]uint32{0x0035c649, 0x027f41c3, 0x01f9ab86, 0x035fc4f3, 0x03ab1f9e, 0x02c3fecf, 0x00099acd, 0x038a6a54, 0x03cf5b33, 0x00095d35}}}, + {X: Field{[10]uint32{0x00b7b067, 0x02559ccd, 0x00cfd26b, 0x03eaff00, 0x03508a9d, 0x024aab3c, 0x01d4258a, 0x019876c8, 0x02ff071f, 0x0023163e}}, Y: Field{[10]uint32{0x03944893, 0x0285359c, 0x0273f694, 0x01c56778, 0x01e9a8a1, 0x002c44c9, 0x03d08a88, 0x013b8a10, 0x0094ea1d, 0x000e347a}}}, + {X: Field{[10]uint32{0x01da78de, 0x021fedf1, 0x03a9c0f2, 0x020219ad, 0x02dbc6f5, 0x036502c4, 0x03918642, 0x0068f192, 0x031a205c, 0x0036019c}}, Y: Field{[10]uint32{0x01d0e05e, 0x030bafb3, 0x02ba8d43, 0x001b4907, 0x03704020, 0x018d497e, 0x01da8318, 0x01eaedcd, 0x00302ff5, 0x0021c2a1}}}, + {X: Field{[10]uint32{0x03848648, 0x0108138a, 0x02741335, 0x00244ae6, 0x03416bde, 0x029f3765, 0x01de1515, 0x02c10693, 0x037e195d, 0x001f6f68}}, Y: Field{[10]uint32{0x00715e71, 0x03ec00c4, 0x00cf3885, 0x006a1ea3, 0x03e1c026, 0x00bd82a7, 0x0284ff13, 0x0001c3f7, 0x007a649d, 0x0020f227}}}, + {X: Field{[10]uint32{0x03ec54a1, 0x0233ba00, 0x0245e58d, 0x0149f52f, 0x03410a1b, 0x02dddb3e, 0x038ee093, 0x02c38b7d, 0x03c0c803, 0x0022bf08}}, Y: Field{[10]uint32{0x012ed76b, 0x03ba270d, 0x035b401b, 0x028ae5fa, 0x02bf7b11, 0x0218e52f, 0x02529573, 0x039282ce, 0x02ce4f4a, 0x002c107b}}}, + {X: Field{[10]uint32{0x0252207b, 0x02e4084d, 0x0211236f, 0x033795e1, 0x031b2531, 0x01588452, 0x0003b4b2, 0x03eac12e, 0x00c22c50, 0x00139109}}, Y: Field{[10]uint32{0x01796e6f, 0x02e74376, 0x02ab57e7, 0x0297052d, 0x03889d5c, 0x02c33c90, 0x03421e4f, 0x01c4603e, 0x01815118, 0x0008afd8}}}, + {X: Field{[10]uint32{0x02e97453, 0x024a5079, 0x023828fd, 0x03bb24ee, 0x02f394b1, 0x038e6cd2, 0x0016e396, 0x002be282, 0x03885a23, 0x00181c5d}}, Y: Field{[10]uint32{0x00dc4b26, 0x03d005c0, 0x016f49f8, 0x03ea278d, 0x03fc0a18, 0x037db6e1, 0x03247620, 0x02906c53, 0x029f2b9d, 0x002a137c}}}, + {X: Field{[10]uint32{0x00af3213, 0x00b28923, 0x022ac602, 0x01a40b70, 0x00a271f1, 0x02b3dc39, 0x03bbf8df, 0x015bb0de, 0x0120384e, 0x00327dcf}}, Y: Field{[10]uint32{0x01fb5437, 0x02897e23, 0x02cb069e, 0x022e5d85, 0x0089070e, 0x02fd6d5e, 0x03c9bfa8, 0x025606dc, 0x03f4c77f, 0x001d88b9}}}, + {X: Field{[10]uint32{0x0245282a, 0x0297b6bb, 0x03c4a81e, 0x02718c2f, 0x01a8b995, 0x023643db, 0x002bfea4, 0x0287630f, 0x01fbdab5, 0x00067a97}}, Y: Field{[10]uint32{0x01f1d56c, 0x03876e3f, 0x00c653b8, 0x0275f5b9, 0x00870a95, 0x03cc1ec7, 0x03a4d62a, 0x02f605f0, 0x015d0014, 0x0003084a}}}, + {X: Field{[10]uint32{0x01617b58, 0x032f9b70, 0x025cb290, 0x01a5c5f7, 0x02047806, 0x02febe14, 0x030e1491, 0x030a4b37, 0x031e30b2, 0x001592f6}}, Y: Field{[10]uint32{0x022b1c0d, 0x013dd39f, 0x01984700, 0x00703aee, 0x0332508c, 0x01dfd777, 0x02841988, 0x02e57e67, 0x00e86fc0, 0x0026a368}}}, + {X: Field{[10]uint32{0x010bf06b, 0x011a54df, 0x023b54bf, 0x00778376, 0x0150b39d, 0x02fb81ce, 0x02e21237, 0x039b3249, 0x00424f3e, 0x0016f24e}}, Y: Field{[10]uint32{0x00fd5d16, 0x0277a908, 0x01e00c11, 0x00eda52d, 0x0032bb00, 0x035d4e94, 0x03f4bd4c, 0x01e2f82d, 0x03a96627, 0x00353a70}}}, + {X: Field{[10]uint32{0x00b7f99e, 0x036e6f17, 0x003a5980, 0x00b68ba3, 0x035b2a5f, 0x02071f5f, 0x02f4fc31, 0x022d5cfb, 0x0294829e, 0x000650cb}}, Y: Field{[10]uint32{0x02bcbcf6, 0x039caee6, 0x003f7a4b, 0x0205715c, 0x032e8607, 0x01b806b3, 0x029316e3, 0x02159eed, 0x019e5c5b, 0x003dd726}}}, + {X: Field{[10]uint32{0x00080b8d, 0x00c33688, 0x01672ea2, 0x0346fbbc, 0x018d0235, 0x002c6d56, 0x02c28bfa, 0x0338668b, 0x001e6196, 0x0034e64a}}, Y: Field{[10]uint32{0x0168aa19, 0x013468d4, 0x03ea9638, 0x03c357b6, 0x03d5483c, 0x017ae90c, 0x02949319, 0x0338e8cf, 0x029520ff, 0x0000729f}}}, + {X: Field{[10]uint32{0x00e73c88, 0x032a3a84, 0x026bae21, 0x025dd2b8, 0x0239372e, 0x000bd995, 0x01f55563, 0x03ea7f95, 0x035ab220, 0x001b2138}}, Y: Field{[10]uint32{0x0101b2b3, 0x02d30084, 0x029b89a7, 0x0195c7bf, 0x0001d154, 0x003a2c8d, 0x01711e7b, 0x00b02b52, 0x032abd44, 0x00262846}}}, + {X: Field{[10]uint32{0x00f8f64b, 0x002a0328, 0x00858118, 0x02dba77d, 0x03ec4205, 0x020ef601, 0x0397f14c, 0x0117b685, 0x018ab1b0, 0x001e0533}}, Y: Field{[10]uint32{0x0115f33b, 0x038e34ed, 0x022841b0, 0x00c106bc, 0x036bf177, 0x03798eb7, 0x03e8b704, 0x02e3ffd4, 0x0240edc8, 0x003be45f}}}, + {X: Field{[10]uint32{0x0196235f, 0x0381b1c2, 0x03993fb6, 0x0035c4e2, 0x02444e71, 0x034a014c, 0x01accfcc, 0x008aa2ff, 0x02831c8e, 0x001e807b}}, Y: Field{[10]uint32{0x001a5519, 0x009f9f0a, 0x00b41045, 0x02606058, 0x00dcb061, 0x024370ef, 0x02f2e080, 0x0170aad8, 0x01091989, 0x003f944b}}}, + {X: Field{[10]uint32{0x039bd908, 0x02085f07, 0x000ce72e, 0x01bcfcf9, 0x01512e85, 0x0352979e, 0x00b56605, 0x0327be46, 0x02bcdf86, 0x001957b9}}, Y: Field{[10]uint32{0x02f87721, 0x0253d8c4, 0x035c3cae, 0x02e848f7, 0x037dfdef, 0x002079a6, 0x0196ea9d, 0x02c217ce, 0x01a691fc, 0x0032fae9}}}, + {X: Field{[10]uint32{0x025219bb, 0x021fb877, 0x01d9e1cf, 0x0051103c, 0x003d4d48, 0x01e045ef, 0x00be25fe, 0x01cba3ac, 0x0009fb03, 0x003af5a0}}, Y: Field{[10]uint32{0x0258814b, 0x039e6d2e, 0x0068bd8c, 0x02dbfd96, 0x036da8cd, 0x02f6dd7c, 0x00aed2d6, 0x037d56fc, 0x02386f96, 0x0023bedf}}}, + {X: Field{[10]uint32{0x01a3865b, 0x0358ed86, 0x039149f1, 0x033c45a3, 0x028b7834, 0x01f56af5, 0x015cf051, 0x016eed3a, 0x00189ac0, 0x0021cd02}}, Y: Field{[10]uint32{0x00480838, 0x00fe4f05, 0x0330cdf6, 0x03eb78af, 0x027d24c0, 0x03eb828f, 0x01d4deed, 0x003c5724, 0x012772ce, 0x0027c7ef}}}, + {X: Field{[10]uint32{0x00513df3, 0x03cb18cc, 0x0368ba12, 0x0136aa5b, 0x035dda3a, 0x0055a432, 0x0262e925, 0x01eed937, 0x0213b02a, 0x00186dac}}, Y: Field{[10]uint32{0x02b6144e, 0x01894230, 0x03d56e01, 0x03994e65, 0x03c42c6c, 0x03000e86, 0x02d29628, 0x020650da, 0x00f24eff, 0x00331c6e}}}, + {X: Field{[10]uint32{0x0125fe37, 0x0028190e, 0x0187298f, 0x0388060b, 0x02ed5e02, 0x02126106, 0x01c9e663, 0x006b8b8e, 0x024d7717, 0x0012e9fb}}, Y: Field{[10]uint32{0x0296dbd6, 0x0371cd23, 0x004f1f1f, 0x03ddd46f, 0x035a9da4, 0x02029c9b, 0x032158eb, 0x013c5b2d, 0x01b4fe34, 0x001736f5}}}, + {X: Field{[10]uint32{0x008badb7, 0x011f9bc8, 0x01de2ee2, 0x01c7fa78, 0x026f9a39, 0x01a24ba6, 0x025bd7a4, 0x037350cb, 0x027fc4d5, 0x0035609e}}, Y: Field{[10]uint32{0x0098e1fa, 0x03c28698, 0x00f18ca0, 0x0298ed4b, 0x002fb667, 0x02c8f183, 0x02fb5349, 0x00303d87, 0x02dc9d0e, 0x003de43e}}}, + {X: Field{[10]uint32{0x03237633, 0x032e6ca4, 0x0098d411, 0x03f72894, 0x01e9086d, 0x027bf9a4, 0x0144d4a8, 0x0033df03, 0x01597f95, 0x00207b14}}, Y: Field{[10]uint32{0x039a1e7f, 0x0182dcfa, 0x000655fa, 0x028aaa0a, 0x000741d3, 0x03e4bed8, 0x0253f28e, 0x03e03251, 0x03ddc9ef, 0x002216c9}}}, + {X: Field{[10]uint32{0x02b6dec7, 0x02e8bf5a, 0x01e684cd, 0x01e762b2, 0x026e7237, 0x03c2bfc7, 0x023e06da, 0x03da01da, 0x01f4a0d4, 0x000a3f10}}, Y: Field{[10]uint32{0x01657225, 0x0328aa92, 0x01f54d80, 0x0236c421, 0x01482c6a, 0x0056c8d7, 0x02b9415c, 0x02af1cfa, 0x031e7aff, 0x002c792b}}}, + {X: Field{[10]uint32{0x03ae4f47, 0x02c62a3d, 0x035d1328, 0x02333d66, 0x036341a8, 0x01fe8be7, 0x00f5b857, 0x01d71f2c, 0x03d6c5bf, 0x003579d4}}, Y: Field{[10]uint32{0x00a1bff9, 0x00315031, 0x013cffaf, 0x003765e5, 0x02fc2f38, 0x03b359ba, 0x018a10c8, 0x0068c894, 0x00b98eb0, 0x00346a95}}}, + {X: Field{[10]uint32{0x0076e836, 0x03521cc5, 0x0286d8ba, 0x00f5d624, 0x01257d41, 0x0130696a, 0x0008fac4, 0x010a5f98, 0x015d8909, 0x0005a08d}}, Y: Field{[10]uint32{0x0309cf4a, 0x001151ba, 0x02a0278d, 0x03677b53, 0x002ec9c2, 0x014fb613, 0x0059b11d, 0x024327a1, 0x0362e29f, 0x0013da71}}}, + {X: Field{[10]uint32{0x03e781db, 0x000902c8, 0x032e7903, 0x006b4089, 0x0273425d, 0x03311b88, 0x03511a78, 0x02b9ccba, 0x005fb64c, 0x0027bdea}}, Y: Field{[10]uint32{0x009ce73c, 0x02ce61f4, 0x0204b03e, 0x027ce9dd, 0x0278a50c, 0x03d7a4b8, 0x035e2f20, 0x01691cfc, 0x016f6f6a, 0x0031c80d}}}, + {X: Field{[10]uint32{0x02e915ec, 0x03b1c280, 0x03612dd7, 0x01a304f3, 0x02021744, 0x03383aaa, 0x031be48a, 0x02694932, 0x03b36f42, 0x0013daba}}, Y: Field{[10]uint32{0x038e761f, 0x0082c473, 0x036c6396, 0x01ba1e03, 0x010b28f9, 0x014adb5f, 0x02d36092, 0x035e400a, 0x014da8b6, 0x00101ab6}}}, + {X: Field{[10]uint32{0x023f8232, 0x01586ec8, 0x01f8e088, 0x03c690ac, 0x037a3cc7, 0x03035fa2, 0x0310dae5, 0x00b99999, 0x020e5ac0, 0x00132b0f}}, Y: Field{[10]uint32{0x03263142, 0x00168232, 0x019318ba, 0x015b0bf9, 0x03dca655, 0x0230a749, 0x03fcb9cd, 0x03cf2013, 0x008eaa96, 0x0024e5bb}}}, + {X: Field{[10]uint32{0x039367b8, 0x0282983d, 0x0193738e, 0x01e18186, 0x02f61fbd, 0x01931d81, 0x00a9dd10, 0x02b15cb1, 0x00633aa2, 0x00021bcd}}, Y: Field{[10]uint32{0x01824f05, 0x008f9609, 0x0312a03f, 0x0186d6b9, 0x03cfb2aa, 0x02d30e2b, 0x0376c9fd, 0x01e76d7d, 0x012b5561, 0x003200bf}}}, + {X: Field{[10]uint32{0x007103a9, 0x0371ffcd, 0x034da318, 0x008ee8f5, 0x000bcd6f, 0x0074e7ea, 0x025ab4cd, 0x03848f9e, 0x01457685, 0x0014c8fc}}, Y: Field{[10]uint32{0x00691cb1, 0x0000de22, 0x028e3461, 0x03c7fb87, 0x0394cab4, 0x02efce3e, 0x01ec977c, 0x02ca784b, 0x0379eccc, 0x000c24be}}}, + {X: Field{[10]uint32{0x03ea74fd, 0x03c45e0c, 0x030e71a7, 0x001a60ff, 0x03f85cf1, 0x02838717, 0x000c45f3, 0x00471f9a, 0x01464027, 0x0034f5c3}}, Y: Field{[10]uint32{0x00d07bad, 0x01bd896a, 0x03c90fdf, 0x03cf855d, 0x01e4f722, 0x03ba9fee, 0x0093b9e0, 0x003cc45a, 0x0373d9b9, 0x00246609}}}, + {X: Field{[10]uint32{0x036d4359, 0x02192ef6, 0x02fdd6fd, 0x03e86ac7, 0x01f8cb89, 0x00d953c7, 0x01b5d714, 0x01d84c0b, 0x013728a8, 0x0037d8ee}}, Y: Field{[10]uint32{0x02ce5510, 0x02b2ded8, 0x012a791b, 0x035212de, 0x02a2c7be, 0x00cbe96c, 0x03930348, 0x00fb2db1, 0x01ca191a, 0x001f0ede}}}, + {X: Field{[10]uint32{0x01b70c74, 0x01afa15c, 0x00ec3974, 0x02531f7b, 0x0328a994, 0x0138898a, 0x0303169a, 0x00d3657c, 0x02228cc3, 0x003c7fa4}}, Y: Field{[10]uint32{0x0351a10e, 0x03944db9, 0x02b6469d, 0x00d630a3, 0x03b67a24, 0x0266bc78, 0x0335f60f, 0x03e9ca8a, 0x03b84e65, 0x0015623c}}}, + {X: Field{[10]uint32{0x0274fd95, 0x0324216e, 0x03c7dcb3, 0x02d7e8a7, 0x00fb0adb, 0x01f2ca34, 0x03ec14cb, 0x028cc3b7, 0x035d918c, 0x00240c39}}, Y: Field{[10]uint32{0x00b427f7, 0x0366768e, 0x004cd71a, 0x0304eef7, 0x035a452d, 0x00e2b7b5, 0x0128821c, 0x02261302, 0x01286169, 0x001f7c80}}}, + {X: Field{[10]uint32{0x03ad641a, 0x01f3d71d, 0x007d5ddd, 0x0218b0f3, 0x03dfa0b5, 0x01d9047a, 0x00f628c5, 0x036e1c4d, 0x013935be, 0x000734f0}}, Y: Field{[10]uint32{0x039a324d, 0x012f7852, 0x02bcf592, 0x03c40c3e, 0x0288264c, 0x03211ec9, 0x013a25e0, 0x02ec22fa, 0x01f25488, 0x0008553b}}}, + {X: Field{[10]uint32{0x0046ad96, 0x03c49f49, 0x01f42202, 0x03feb265, 0x03bd6e91, 0x03b0356e, 0x039f4621, 0x03b1f1e2, 0x0337a19f, 0x00395b81}}, Y: Field{[10]uint32{0x02ad70d7, 0x02226a8f, 0x0177698f, 0x00bd2cbb, 0x011e69b4, 0x01a4fa5d, 0x028d9bbb, 0x01d83902, 0x0027368c, 0x00220c36}}}, + {X: Field{[10]uint32{0x03b6b101, 0x0398fc57, 0x02657587, 0x0219e021, 0x0156fd08, 0x012b6299, 0x026dfeb2, 0x03978d8f, 0x02c458ab, 0x0006c29a}}, Y: Field{[10]uint32{0x035178dc, 0x00b3124c, 0x01926521, 0x01acb87d, 0x029a35e8, 0x03777b97, 0x033e5aab, 0x018e8ac4, 0x03dae642, 0x0034b7db}}}, + {X: Field{[10]uint32{0x03ea22b2, 0x03302048, 0x00679d80, 0x01d9173f, 0x0250bb16, 0x011b58a8, 0x01390a62, 0x0186393b, 0x01468fd4, 0x00042850}}, Y: Field{[10]uint32{0x0140185f, 0x00ce003f, 0x015620b0, 0x0096f0c3, 0x01f9a09b, 0x013aec54, 0x0113dbaf, 0x03746bb3, 0x0068dd7f, 0x000ce0ee}}}, + {X: Field{[10]uint32{0x003f5e35, 0x00f90669, 0x006ac8a7, 0x035e5755, 0x02e357f7, 0x01a2be9c, 0x038837e5, 0x028d45b6, 0x03515378, 0x0027712a}}, Y: Field{[10]uint32{0x0305903f, 0x02359a98, 0x01a06cc6, 0x0386410e, 0x02bfe05c, 0x03a9647b, 0x02422be1, 0x033eff8a, 0x022d9bce, 0x0002376a}}}, + {X: Field{[10]uint32{0x00ed7196, 0x02b1db8f, 0x035de1aa, 0x0264d880, 0x0213539e, 0x0226c82b, 0x038eb19e, 0x0387ef14, 0x035de7a4, 0x002aa4c5}}, Y: Field{[10]uint32{0x02afb9ad, 0x02e192b0, 0x01a05eff, 0x01afb38f, 0x00c18d14, 0x022d2001, 0x03e133ad, 0x0115a27c, 0x0304c134, 0x003b73b6}}}, + {X: Field{[10]uint32{0x022edf7b, 0x03bdbec8, 0x00e27536, 0x03e8d753, 0x0294f3ce, 0x0341b31a, 0x036fcbc6, 0x0366822e, 0x03e4da02, 0x00205c7c}}, Y: Field{[10]uint32{0x01e6dd6b, 0x0272967a, 0x03189749, 0x02de9963, 0x03c32038, 0x00f06993, 0x002b55f7, 0x00aae870, 0x01fcaae6, 0x003a46f9}}}, + {X: Field{[10]uint32{0x02a19ab6, 0x00201606, 0x024b111b, 0x009d0dd1, 0x01893fe6, 0x031e73de, 0x01888c93, 0x00a3998d, 0x0183c891, 0x00147db2}}, Y: Field{[10]uint32{0x0081a067, 0x003c164e, 0x03252a3d, 0x0003578d, 0x00b8cee4, 0x02a37194, 0x001dbf41, 0x0193d483, 0x01494bb1, 0x00174bbc}}}, + {X: Field{[10]uint32{0x03d7d38a, 0x002ae3db, 0x02580950, 0x02b1d36b, 0x03ec34df, 0x036c3769, 0x01016b19, 0x00c371a9, 0x0184766b, 0x0030287c}}, Y: Field{[10]uint32{0x02c6f01e, 0x024d65fa, 0x01490528, 0x007b1a57, 0x01b27f36, 0x009349aa, 0x01410516, 0x036bc4a7, 0x03e2c7b6, 0x002f72b4}}}, + {X: Field{[10]uint32{0x03a0eb02, 0x00e51c8c, 0x00a222bd, 0x026c7ade, 0x02fde927, 0x00d07bee, 0x02b6fe07, 0x0145a412, 0x02cc9543, 0x002c6ec7}}, Y: Field{[10]uint32{0x001689a8, 0x02fead32, 0x021d55a7, 0x02137931, 0x014b1490, 0x01c78325, 0x00dbf0a6, 0x010b8b03, 0x035b5253, 0x0037d48f}}}, + {X: Field{[10]uint32{0x000b5dce, 0x00f79f59, 0x00470180, 0x039da063, 0x023b0891, 0x010dce47, 0x0139ea7e, 0x013b5621, 0x00dc86d0, 0x002d730c}}, Y: Field{[10]uint32{0x02d4ec14, 0x00798bd0, 0x00b65ca4, 0x0077fff9, 0x009f5556, 0x00b80fca, 0x031acc86, 0x00c4b43e, 0x019e45c7, 0x003c7303}}}, + {X: Field{[10]uint32{0x0263ccb6, 0x03a503e4, 0x016b0da8, 0x008d47f8, 0x008cacee, 0x01f56507, 0x0155b3ea, 0x03fd4ca0, 0x01e705f0, 0x00378ad2}}, Y: Field{[10]uint32{0x018de99f, 0x01364fdb, 0x032ab74b, 0x02d5c0d5, 0x024690d5, 0x01e0552b, 0x017c6801, 0x02fd9ec3, 0x002bb12d, 0x000d35e9}}}, + {X: Field{[10]uint32{0x03cc8f51, 0x017cf395, 0x0311ad51, 0x02c3bcbb, 0x00ea5c0d, 0x0161c33f, 0x00984046, 0x03845c3a, 0x00e7c129, 0x0022c63d}}, Y: Field{[10]uint32{0x01111f37, 0x00b80226, 0x00aff884, 0x009f9acb, 0x0372281c, 0x0323b72c, 0x01e9d6cd, 0x012964f1, 0x0086c867, 0x001ac784}}}, + {X: Field{[10]uint32{0x03c86889, 0x0160aa45, 0x03442f9e, 0x0092da97, 0x01822ce4, 0x018aa0c3, 0x00e46f17, 0x03222246, 0x02c027ce, 0x001c9c58}}, Y: Field{[10]uint32{0x03223cca, 0x01bce28b, 0x02e7e841, 0x008f3145, 0x03248656, 0x024f9491, 0x03de5af6, 0x028da79b, 0x02961452, 0x00378d20}}}, + {X: Field{[10]uint32{0x0105058c, 0x0215adcd, 0x016056d0, 0x03f28fd8, 0x02946a75, 0x0309252f, 0x00eb9b81, 0x01d20fc6, 0x001f4dd1, 0x0012b93f}}, Y: Field{[10]uint32{0x032563e7, 0x011a4843, 0x017a39ae, 0x00db8b18, 0x0059999b, 0x0361e11c, 0x0034a05b, 0x03f05f68, 0x0012e901, 0x00361f9e}}}, + {X: Field{[10]uint32{0x03f43cd1, 0x00548197, 0x010bf58b, 0x02e93bda, 0x0272007b, 0x01abff40, 0x0026f016, 0x01cffa46, 0x01ace9e8, 0x003a42f2}}, Y: Field{[10]uint32{0x0164fa87, 0x0398d811, 0x02d58905, 0x00b34b95, 0x0147f076, 0x0196e6ff, 0x009b0c00, 0x03f5a147, 0x00e89acd, 0x0012f208}}}, + {X: Field{[10]uint32{0x011450ba, 0x0101db7d, 0x010209af, 0x0295fc14, 0x0208340b, 0x03a7bdd1, 0x021af7db, 0x00bedbde, 0x02a1db43, 0x002e82b9}}, Y: Field{[10]uint32{0x012be720, 0x021dabe4, 0x02908c58, 0x00630cba, 0x0351019a, 0x0068b0c2, 0x029894c5, 0x0250805c, 0x01b70409, 0x001f4e0e}}}, + {X: Field{[10]uint32{0x03accfeb, 0x020808b4, 0x03a5def8, 0x02fca607, 0x034f9682, 0x035ee5f5, 0x018b403e, 0x0194c476, 0x0381f77c, 0x001c1986}}, Y: Field{[10]uint32{0x02d06387, 0x02f13929, 0x0277e4e5, 0x02497d19, 0x027b4eeb, 0x02c1bf99, 0x024bd7cf, 0x027d366b, 0x01731895, 0x002408ae}}}, + {X: Field{[10]uint32{0x00471a47, 0x038248bf, 0x011d80e5, 0x0056347c, 0x0029451c, 0x0367be8e, 0x0381b817, 0x00e81c47, 0x03472815, 0x003f86de}}, Y: Field{[10]uint32{0x02b0f847, 0x02280d34, 0x01fae19c, 0x037c8d13, 0x0285725b, 0x03930c6a, 0x0115dc05, 0x02df1bec, 0x01cc68cf, 0x0025681d}}}, + {X: Field{[10]uint32{0x02cc3fc0, 0x01c3dfa6, 0x01e867ab, 0x00dfb171, 0x004325bc, 0x009f8e97, 0x0013d04f, 0x02a41ca0, 0x03d2bbae, 0x0022b3ce}}, Y: Field{[10]uint32{0x0216174e, 0x012195cf, 0x00785ee1, 0x03bf6f8b, 0x01b3e2e0, 0x02547e03, 0x01c06a25, 0x009f53ca, 0x03fb36da, 0x003d9e78}}}, + {X: Field{[10]uint32{0x02f395e3, 0x03aa3612, 0x0314f1d6, 0x03443283, 0x00d2db01, 0x03d8ae9f, 0x03fc6a47, 0x01f56ae1, 0x013725fc, 0x00076157}}, Y: Field{[10]uint32{0x020b1b90, 0x037234c0, 0x012a5815, 0x03436a24, 0x019b0a9a, 0x0189a317, 0x0255183f, 0x01953b51, 0x03ac2d41, 0x0033ac98}}}, + {X: Field{[10]uint32{0x012a8cba, 0x009b5c16, 0x0302e039, 0x02601147, 0x03099344, 0x01c3466d, 0x00ec6f6d, 0x01338f21, 0x016630c2, 0x0006aed1}}, Y: Field{[10]uint32{0x00525885, 0x0065521d, 0x01863f4b, 0x024d048a, 0x021778d2, 0x00c91514, 0x01886ef7, 0x01ff5cab, 0x006f6be8, 0x001189dc}}}, + {X: Field{[10]uint32{0x03eac036, 0x03cafaa4, 0x00a5fb86, 0x01992c26, 0x03620e5c, 0x0128fcc2, 0x01d07e24, 0x004bfe59, 0x00fa672c, 0x0006d1e4}}, Y: Field{[10]uint32{0x03edd60e, 0x00634939, 0x012831b0, 0x01c27278, 0x017c19fd, 0x02e0e47f, 0x022a9a06, 0x038b47ca, 0x00fca758, 0x003bb414}}}, + {X: Field{[10]uint32{0x00de3dd3, 0x00dcca9a, 0x01c98a43, 0x0280878f, 0x0344c106, 0x01584d9e, 0x01dcfc12, 0x032238c3, 0x032cfc9c, 0x001861e2}}, Y: Field{[10]uint32{0x02aed78e, 0x000037c7, 0x0229d436, 0x002dac4f, 0x03afc6f5, 0x0262a7be, 0x014cb774, 0x009e746d, 0x00a0037c, 0x003e8915}}}, + {X: Field{[10]uint32{0x0144308a, 0x010042a1, 0x030b5335, 0x006a4c5c, 0x00abc727, 0x0114088e, 0x00c21ecf, 0x03fac5ef, 0x01f02767, 0x00210123}}, Y: Field{[10]uint32{0x0193c32f, 0x03223b3a, 0x00b7c838, 0x02a90e33, 0x02605acc, 0x01dd8f1b, 0x03f9814f, 0x00239751, 0x024a39d6, 0x00351c4b}}}, + {X: Field{[10]uint32{0x02683a94, 0x02eb0cf2, 0x015cf889, 0x0032a201, 0x018ba37d, 0x01fa27e5, 0x031e1e03, 0x005d7b0f, 0x00e56c96, 0x003adeb1}}, Y: Field{[10]uint32{0x0285da8a, 0x00e053d7, 0x030112bc, 0x00ccbd45, 0x03cc07de, 0x004f7f1b, 0x00bfe075, 0x009d2db6, 0x02672ccc, 0x00125078}}}, + {X: Field{[10]uint32{0x02142e91, 0x00656bc8, 0x03eaf1a4, 0x0154e027, 0x014cbce4, 0x000a2370, 0x02b452ba, 0x012f6ad8, 0x02c9877d, 0x001228da}}, Y: Field{[10]uint32{0x0369659c, 0x0143aeaa, 0x02e2530b, 0x027087fd, 0x0027eec3, 0x013a5436, 0x02d88480, 0x018a21b1, 0x018a0125, 0x0038935b}}}, + {X: Field{[10]uint32{0x00cca1b5, 0x00b385af, 0x02a91252, 0x019320b4, 0x02e817b6, 0x02c8e803, 0x029af3b1, 0x028975e1, 0x01d05a62, 0x00270c49}}, Y: Field{[10]uint32{0x01e5afe3, 0x026daf4e, 0x03450a18, 0x0185541a, 0x01385663, 0x03863d7d, 0x00172774, 0x01c5a061, 0x0210f670, 0x0031bb36}}}, + {X: Field{[10]uint32{0x00f80d68, 0x02a479a4, 0x0116bc2c, 0x03b526bc, 0x0310160b, 0x013722f8, 0x033843e0, 0x019c371f, 0x0221dcc7, 0x000cfa07}}, Y: Field{[10]uint32{0x01757b6f, 0x024a4195, 0x01bb8fa5, 0x03a27b01, 0x029ce417, 0x03bf8e2b, 0x01f11678, 0x021b4b9b, 0x01d3a0a3, 0x0039a530}}}, + {X: Field{[10]uint32{0x036a1ad2, 0x00700cc6, 0x03056d8e, 0x012e29a3, 0x035c1d0d, 0x00256609, 0x02b10715, 0x0383f2ff, 0x029e6899, 0x002550dd}}, Y: Field{[10]uint32{0x009b0d7e, 0x01e54d3b, 0x00b163f5, 0x0219fd9a, 0x0301c4be, 0x00bb473a, 0x035f1487, 0x021041d8, 0x03fdafc5, 0x0001c033}}}, + {X: Field{[10]uint32{0x0039efdd, 0x0142099d, 0x00203a0d, 0x018f8877, 0x026ca9b1, 0x02d4201f, 0x0081e6e5, 0x00b0e5f5, 0x00d173e6, 0x0013d073}}, Y: Field{[10]uint32{0x0069f79d, 0x0339df43, 0x011eed95, 0x02ff8563, 0x008fea56, 0x02dd2c95, 0x00b309ba, 0x0065cb62, 0x02d6aa8c, 0x003efe63}}}, + {X: Field{[10]uint32{0x005f12e5, 0x03b3c819, 0x03bd9064, 0x01a91946, 0x00a667fe, 0x023baf0a, 0x03fd9c33, 0x00037ef8, 0x0245584b, 0x00133eda}}, Y: Field{[10]uint32{0x0214652b, 0x006486bd, 0x0312f550, 0x028979ca, 0x00219638, 0x00495640, 0x00fac21d, 0x003a1d1c, 0x02dafe08, 0x000b77f5}}}, + {X: Field{[10]uint32{0x01eca626, 0x005dd5dd, 0x039821f2, 0x0324605f, 0x038e536b, 0x03eb94ce, 0x02217fd8, 0x028cf297, 0x03ecd9bb, 0x0027bee2}}, Y: Field{[10]uint32{0x00658fb4, 0x003e32ac, 0x02f8e944, 0x02e21d78, 0x018e3573, 0x029f70f8, 0x00bcf9c1, 0x03057a46, 0x00ed0529, 0x001984c0}}}, + {X: Field{[10]uint32{0x0030e441, 0x039876b9, 0x02470da9, 0x03e7a143, 0x00f5d3c0, 0x02f9b717, 0x01ab953e, 0x039302e1, 0x01525be7, 0x0030aa02}}, Y: Field{[10]uint32{0x009d9d2d, 0x02713be0, 0x0277b483, 0x018f5434, 0x036be063, 0x03027ef0, 0x026fa221, 0x01a5f1f6, 0x0136bf72, 0x00074b7b}}}, + {X: Field{[10]uint32{0x03baa707, 0x010b808e, 0x0030c0a2, 0x02d006fe, 0x032501a1, 0x031882c4, 0x02162764, 0x0208afd6, 0x036b49ae, 0x0010adff}}, Y: Field{[10]uint32{0x02b71d6d, 0x00288da0, 0x028b0eb9, 0x0254317a, 0x00fb2c75, 0x032ed68e, 0x02de994d, 0x039001c4, 0x005883f0, 0x003907f8}}}, + {X: Field{[10]uint32{0x03b0c28c, 0x007c38aa, 0x0386df78, 0x02d1fb8e, 0x01e00cc3, 0x017de3ce, 0x03e15185, 0x02d904ab, 0x0129d420, 0x003b82ec}}, Y: Field{[10]uint32{0x000aec61, 0x00d0fad7, 0x01099258, 0x015552ba, 0x0154b174, 0x003b6eb7, 0x006204b6, 0x02891d9f, 0x027a5a4f, 0x003dc743}}}, + {X: Field{[10]uint32{0x00ef5b9a, 0x0121f01e, 0x02e789ca, 0x0390a894, 0x0077546c, 0x009b140f, 0x031a7160, 0x00efd499, 0x02079cdb, 0x0007c762}}, Y: Field{[10]uint32{0x03571c20, 0x027a6365, 0x01cfc5c3, 0x02a98f47, 0x00180ee4, 0x03ef0c19, 0x00e8e6f9, 0x0144b7aa, 0x030dae55, 0x00318444}}}, + {X: Field{[10]uint32{0x02a31310, 0x004bfb34, 0x017b8b29, 0x01b97e4c, 0x027cf313, 0x01063c05, 0x026ebe55, 0x027ec564, 0x0006ecdc, 0x0016f6a7}}, Y: Field{[10]uint32{0x005ecad7, 0x02370a01, 0x023feb72, 0x01a285ed, 0x03890761, 0x01cbab6c, 0x03e59d5b, 0x00983203, 0x0370dce1, 0x000d63fe}}}, + {X: Field{[10]uint32{0x03866ea6, 0x011d5137, 0x01be91f8, 0x01cd2018, 0x01edc789, 0x0383bf5c, 0x0252dec8, 0x031c9d99, 0x0103fa50, 0x0030cbd9}}, Y: Field{[10]uint32{0x01fca304, 0x02e71c40, 0x008566de, 0x00a882e0, 0x006a34af, 0x02c4fc2c, 0x0309443c, 0x03b3101e, 0x02267a13, 0x0019c8d2}}}, + {X: Field{[10]uint32{0x0089caed, 0x0337aa25, 0x03069941, 0x01ce25ae, 0x00849bb6, 0x02584990, 0x026c83f2, 0x03ac19c3, 0x0111b71f, 0x001520f5}}, Y: Field{[10]uint32{0x008c1148, 0x034e49f6, 0x03ecfbfe, 0x0141e512, 0x03494d53, 0x03639377, 0x02df0f38, 0x00d0dd02, 0x0262d323, 0x0028269a}}}, + {X: Field{[10]uint32{0x02a322ef, 0x00625603, 0x010472d5, 0x03f6710f, 0x02d5e3c6, 0x029b3091, 0x00b93425, 0x01aae47b, 0x035ff0b8, 0x000f4b63}}, Y: Field{[10]uint32{0x0155b830, 0x027cd936, 0x00509c73, 0x03b28613, 0x00fb45d7, 0x01c75d82, 0x039cf4ab, 0x03381461, 0x008b4c23, 0x0010620d}}}, + {X: Field{[10]uint32{0x01af1dc0, 0x011d5d08, 0x01e9e40b, 0x000eaae2, 0x00735ddf, 0x024daf04, 0x01ffa9df, 0x019e017f, 0x013929ed, 0x000e970e}}, Y: Field{[10]uint32{0x00a7011d, 0x020893a4, 0x0081e0dd, 0x00aea517, 0x0344dcd5, 0x00a5d720, 0x002a7de2, 0x00a458ab, 0x01197675, 0x001d82c6}}}, + {X: Field{[10]uint32{0x00590a83, 0x03752135, 0x01f900e5, 0x0120cdcf, 0x00648869, 0x03892831, 0x039272ef, 0x0301b8fb, 0x02ac7c1c, 0x0028f548}}, Y: Field{[10]uint32{0x021b6be2, 0x007cb13b, 0x00795566, 0x031a4c15, 0x0328c377, 0x000005a5, 0x01684a95, 0x03758486, 0x022cb739, 0x001bd4ee}}}, + {X: Field{[10]uint32{0x00e8180f, 0x01451176, 0x01d42367, 0x021f76e5, 0x02c1437d, 0x00b80aa8, 0x00785836, 0x00806110, 0x01311399, 0x003bc2c2}}, Y: Field{[10]uint32{0x0086c634, 0x03210ae5, 0x019801b9, 0x0029065c, 0x00217352, 0x024be31d, 0x00408cdf, 0x011dc9f4, 0x00078d18, 0x001cefd1}}}, + {X: Field{[10]uint32{0x0115da20, 0x01bd031b, 0x03e070f2, 0x01734728, 0x02a770c1, 0x01846169, 0x02118991, 0x033ae708, 0x03fd1498, 0x0020503b}}, Y: Field{[10]uint32{0x0022a474, 0x03127f40, 0x01c3e45f, 0x0008280b, 0x03051c11, 0x0058bc0e, 0x028b7eb2, 0x02dfc6f9, 0x03df6d2d, 0x00131d3c}}}, + {X: Field{[10]uint32{0x03e122f0, 0x02966f3a, 0x00b74215, 0x03c000de, 0x017603c7, 0x03f5bf59, 0x0132f4d3, 0x027c7e4f, 0x03208e08, 0x000d1175}}, Y: Field{[10]uint32{0x010b6d5b, 0x0388e922, 0x013d4b63, 0x00dfa0a5, 0x0238da06, 0x000db868, 0x03c8626f, 0x013bcce8, 0x035dfdb5, 0x001b5040}}}, + {X: Field{[10]uint32{0x03a58cd7, 0x008f50fd, 0x02b9c72c, 0x01b57f9a, 0x01789a36, 0x00493378, 0x01933f97, 0x00da6874, 0x025a6235, 0x003852ca}}, Y: Field{[10]uint32{0x01fc8f8f, 0x011342fe, 0x013be447, 0x00658954, 0x01d67a9f, 0x022a7962, 0x02fe6ce5, 0x030409b2, 0x02c52f63, 0x00085bc1}}}, + {X: Field{[10]uint32{0x01891e0b, 0x00fa4b8b, 0x00deaf8f, 0x00199cd2, 0x00eec931, 0x0302205c, 0x010b2b33, 0x02f113f3, 0x00bc8389, 0x001b6590}}, Y: Field{[10]uint32{0x0104227d, 0x00af105f, 0x0331a185, 0x02c20586, 0x0068b5d4, 0x010a21ff, 0x0204759a, 0x036d927f, 0x00856e42, 0x0012d305}}}, + {X: Field{[10]uint32{0x019b2916, 0x002bf3bf, 0x0232462a, 0x0016e781, 0x02fd028a, 0x01f00ec6, 0x027cc60d, 0x007c84fd, 0x00045c46, 0x0009cbc5}}, Y: Field{[10]uint32{0x03348416, 0x03350cea, 0x00b1e825, 0x020cc551, 0x03fd6b75, 0x0003ac37, 0x023f78d8, 0x00d4e029, 0x02c0c0b2, 0x002618d7}}}, + {X: Field{[10]uint32{0x033a07e3, 0x00ca7b87, 0x02257681, 0x013b7a45, 0x02415233, 0x0378738e, 0x01250bec, 0x01d1698c, 0x0128eaae, 0x002a3266}}, Y: Field{[10]uint32{0x03351621, 0x03358479, 0x006209f5, 0x02df9879, 0x0124ae51, 0x0058bfb4, 0x01149aa5, 0x00fdfa38, 0x0286abdf, 0x00133309}}}, + {X: Field{[10]uint32{0x00975409, 0x00e18036, 0x01ceffac, 0x01403f4c, 0x011c660d, 0x02c79320, 0x01be6869, 0x03559626, 0x03337f93, 0x003ec092}}, Y: Field{[10]uint32{0x00c7fdb0, 0x01cbd1f1, 0x01e127b0, 0x028a2765, 0x03ee562c, 0x0115e59b, 0x00730c39, 0x00f255fa, 0x02b78bff, 0x000ce5a1}}}, + {X: Field{[10]uint32{0x00562f9c, 0x021c15ca, 0x014f2351, 0x03e73912, 0x00a6cb14, 0x0246e136, 0x03ecfe36, 0x00d525dc, 0x0147aa61, 0x00383921}}, Y: Field{[10]uint32{0x00a7b307, 0x01dbbbf7, 0x03676a6d, 0x03e1a7d1, 0x03778609, 0x00e58012, 0x03488389, 0x01d60149, 0x018b5640, 0x00182db7}}}, + {X: Field{[10]uint32{0x025d16e4, 0x01bbd644, 0x02169807, 0x00f77fb0, 0x03ed9e38, 0x001786c2, 0x0374d296, 0x022d4c27, 0x002d378b, 0x002f5b10}}, Y: Field{[10]uint32{0x01ef2c24, 0x0086c8a7, 0x00f10755, 0x012de544, 0x02a27692, 0x0231b4b0, 0x036a8f8c, 0x0071ecdd, 0x009cbb76, 0x00330eab}}}, + {X: Field{[10]uint32{0x01e451c0, 0x0085eb01, 0x02ef552c, 0x02f78542, 0x01d5886c, 0x03da548d, 0x00e2c554, 0x013d1051, 0x0231eefa, 0x0039a464}}, Y: Field{[10]uint32{0x03b1cfa7, 0x02ea6b18, 0x0346bc2a, 0x03f1a49f, 0x0173a888, 0x00a8473f, 0x0156133c, 0x00984ad3, 0x01d4d34d, 0x0039d3b8}}}, + {X: Field{[10]uint32{0x003d03a9, 0x02e92868, 0x01463f9c, 0x007a3051, 0x02037c48, 0x00a2f6ce, 0x012ac5a3, 0x01e1d136, 0x006a2a48, 0x0006a6b3}}, Y: Field{[10]uint32{0x01f0fb10, 0x01f1623f, 0x01ca126a, 0x0206d26d, 0x02df71fc, 0x01ff87d7, 0x02224224, 0x00d8a3eb, 0x029a960e, 0x0002e981}}}, + {X: Field{[10]uint32{0x02070910, 0x033bd33d, 0x028d536c, 0x0108f5b6, 0x00abfde6, 0x00b6e66e, 0x004e9395, 0x038c07cb, 0x03a92e5f, 0x0016d4ae}}, Y: Field{[10]uint32{0x0347ae29, 0x01bb796d, 0x00341f54, 0x02c0bf9d, 0x02cc1ab1, 0x01c6bb42, 0x00c68f0a, 0x0089f446, 0x03dd901e, 0x00042376}}}, + {X: Field{[10]uint32{0x01e05242, 0x00ce29ac, 0x022860f1, 0x02935fe6, 0x000652b0, 0x00ef8a0a, 0x01a096a7, 0x020aa6c4, 0x03601ebe, 0x0024b04d}}, Y: Field{[10]uint32{0x02449d7c, 0x02b01b02, 0x0027559f, 0x02f74538, 0x0251a588, 0x017db1e6, 0x003dd578, 0x0343e975, 0x03fc2dc6, 0x000b8fa4}}}, + {X: Field{[10]uint32{0x014318b8, 0x03ff97c7, 0x01d69a12, 0x01e7d818, 0x0194b4f2, 0x022550af, 0x021c749e, 0x01305dce, 0x00da7996, 0x000f2dbe}}, Y: Field{[10]uint32{0x03b11956, 0x02e904da, 0x01d54d05, 0x01c5b9ac, 0x0272a777, 0x02bb8a55, 0x023bd02f, 0x016b6370, 0x01a8b4f4, 0x0010b930}}}, + {X: Field{[10]uint32{0x03dbf5db, 0x00545142, 0x0183f664, 0x01366a00, 0x013c60a1, 0x01437839, 0x01a51100, 0x00637444, 0x0351d345, 0x0017fb58}}, Y: Field{[10]uint32{0x0346c3f6, 0x0299621d, 0x036cd056, 0x0078a579, 0x01da77e0, 0x026f60dd, 0x00140b64, 0x029342dd, 0x0190de07, 0x001ade69}}}, + {X: Field{[10]uint32{0x015d3840, 0x0064f8f6, 0x0356e7d3, 0x02c7f43e, 0x00a14132, 0x0301844a, 0x00245d37, 0x0213cadf, 0x00a781c3, 0x000ae23c}}, Y: Field{[10]uint32{0x01a0e10e, 0x021cfe22, 0x02981bd4, 0x02e520e2, 0x00c1632b, 0x0089125d, 0x01b6453c, 0x01b95d95, 0x03a21144, 0x003de1f9}}}, + {X: Field{[10]uint32{0x03293443, 0x02ec0b60, 0x02fd2047, 0x0253a623, 0x0118507f, 0x0368d9c6, 0x030ac3e1, 0x0157ecd6, 0x03b15a3f, 0x0031ec91}}, Y: Field{[10]uint32{0x01b85f4f, 0x01ee341b, 0x00b6799e, 0x03d993cf, 0x00c3c8e5, 0x0309f152, 0x02b6ac8b, 0x017c448d, 0x003734c6, 0x0012ad01}}}, + {X: Field{[10]uint32{0x003647dd, 0x02a8dd78, 0x005344c6, 0x03484875, 0x0045df69, 0x00b04df8, 0x0008a201, 0x02520417, 0x01338dcb, 0x00377f6a}}, Y: Field{[10]uint32{0x03795c1b, 0x02ff96d5, 0x02091bbc, 0x015691be, 0x0095f912, 0x0161c4b4, 0x032e93ac, 0x005af565, 0x01fd02a1, 0x003a57de}}}, + {X: Field{[10]uint32{0x031da7db, 0x013fbe8d, 0x00c29da0, 0x02d99dfe, 0x029d15a6, 0x0091fa1f, 0x03e3233b, 0x02c415b1, 0x02455084, 0x00372369}}, Y: Field{[10]uint32{0x001449c3, 0x00c81211, 0x00c80931, 0x00a198df, 0x018fc66d, 0x022f5da1, 0x0207fea0, 0x03b00fda, 0x01a3fde3, 0x0030a8d1}}}, + {X: Field{[10]uint32{0x01ff5333, 0x015520b4, 0x0395b8e3, 0x0334ea31, 0x02a31547, 0x0190e415, 0x0263bc7a, 0x02fea3c4, 0x0326c5fc, 0x003d4fce}}, Y: Field{[10]uint32{0x02716ac1, 0x022f8eb9, 0x031d1bb6, 0x03b1e662, 0x035249e8, 0x005f13ec, 0x0188f1da, 0x02e72a63, 0x0145e664, 0x000044fb}}}, + {X: Field{[10]uint32{0x0246cae9, 0x0277242d, 0x03a391d8, 0x021a4c4e, 0x027d7546, 0x0365a77d, 0x021d6477, 0x012d793b, 0x03fd0c6d, 0x00192348}}, Y: Field{[10]uint32{0x03e18962, 0x036f8a00, 0x0120615e, 0x01500c98, 0x009b3364, 0x02b81a5f, 0x02ffbd4b, 0x01d74d39, 0x00452393, 0x00340d78}}}, + {X: Field{[10]uint32{0x002839b1, 0x020ff84f, 0x011cb1c4, 0x038ac72a, 0x03bd51bd, 0x035c2cd0, 0x0073f3ed, 0x01603e09, 0x010e5dbe, 0x0024b9b7}}, Y: Field{[10]uint32{0x039577a5, 0x03d1852c, 0x012015dd, 0x007a8432, 0x01a61ab0, 0x02826ce4, 0x02d1a465, 0x01ef4964, 0x03fea544, 0x00336437}}}, + {X: Field{[10]uint32{0x009f687b, 0x013b983d, 0x03b782ef, 0x020daf9b, 0x00eaec05, 0x02505695, 0x0223ec54, 0x03be33e8, 0x018a7616, 0x0004c579}}, Y: Field{[10]uint32{0x03e1431c, 0x016109b5, 0x0280f1ac, 0x0285cdf6, 0x022fe189, 0x036b1caa, 0x00e1fa45, 0x01832f15, 0x0100802d, 0x001ca780}}}, + {X: Field{[10]uint32{0x033e2a3b, 0x0008522a, 0x035e6c94, 0x03579b41, 0x0186b001, 0x00d55394, 0x026b284a, 0x03f61438, 0x03999857, 0x000f22a5}}, Y: Field{[10]uint32{0x00b25977, 0x01a76f4a, 0x012f6d6c, 0x00568410, 0x03a722e9, 0x00140819, 0x0087b3d6, 0x00829565, 0x0092acc7, 0x001193c1}}}, + {X: Field{[10]uint32{0x027591c8, 0x00ba9d84, 0x00879f86, 0x03e3fc0f, 0x010bf3c7, 0x01be6b38, 0x02b37cae, 0x0317d10d, 0x0230cc94, 0x003a905c}}, Y: Field{[10]uint32{0x01a4faa6, 0x01819f61, 0x033ace91, 0x01d5c09a, 0x006f4ec4, 0x02735010, 0x00cff1eb, 0x03542eeb, 0x00cb8d95, 0x0025848e}}}, + {X: Field{[10]uint32{0x021a6ceb, 0x0066854d, 0x0040bceb, 0x0282c316, 0x0348496c, 0x00b262bd, 0x01a8c816, 0x001e78ca, 0x01c2f271, 0x0023b33e}}, Y: Field{[10]uint32{0x017e56af, 0x00f5a1ec, 0x03a5b0b5, 0x00e684cb, 0x01c8ac52, 0x00bcdeca, 0x00c6a7c5, 0x03c6a98c, 0x0219165b, 0x000f8966}}}, + {X: Field{[10]uint32{0x030f296d, 0x00e62d53, 0x0155677f, 0x004e10b3, 0x027bf3d9, 0x0153adaa, 0x033c34ab, 0x00e965a1, 0x0083b350, 0x000cbc3f}}, Y: Field{[10]uint32{0x0381a811, 0x036328be, 0x01e26655, 0x02b73268, 0x00311e50, 0x032d7dec, 0x02da3459, 0x01e2dd8b, 0x016d906f, 0x00351cdb}}}, + {X: Field{[10]uint32{0x00d7accb, 0x00c60db8, 0x00a9f638, 0x0302c985, 0x03e4fa4c, 0x017fdf2f, 0x03c171da, 0x00ea3e90, 0x011077c8, 0x002df58c}}, Y: Field{[10]uint32{0x016be9de, 0x0217af5e, 0x037e35e2, 0x02d30648, 0x008b84a5, 0x0307ae99, 0x02c27ef9, 0x00554aa2, 0x02405644, 0x0018257d}}}, + {X: Field{[10]uint32{0x02536954, 0x009a52ef, 0x02cf06c3, 0x03e35a49, 0x010588b4, 0x0158f95b, 0x00cd74e6, 0x013ec295, 0x004a22df, 0x003bdb24}}, Y: Field{[10]uint32{0x025dbaa4, 0x02568881, 0x00c9fb10, 0x024b83a7, 0x02aa7a04, 0x00dc5788, 0x03c3d3c4, 0x00de9396, 0x00b144cd, 0x000c2244}}}, + {X: Field{[10]uint32{0x02941a6a, 0x00b5eac8, 0x02e27067, 0x0079baaa, 0x02b37524, 0x012385fe, 0x00eebf0b, 0x0096f2b3, 0x03d1e628, 0x0006784e}}, Y: Field{[10]uint32{0x00b613f7, 0x00f2430a, 0x03bbad3e, 0x019b92bc, 0x02855ea6, 0x02fe3330, 0x01308bbd, 0x016f0455, 0x03290700, 0x001bc8b0}}}, + {X: Field{[10]uint32{0x008e9420, 0x02dec447, 0x025df967, 0x02af5e4a, 0x009a98a7, 0x03ca602c, 0x0349ae45, 0x03de41e4, 0x00df10f2, 0x0015f66f}}, Y: Field{[10]uint32{0x0265db68, 0x01a29ca6, 0x0265eb50, 0x03d6ff93, 0x0142ebfd, 0x033009ec, 0x00f8fcb1, 0x0215378d, 0x01e1d9b7, 0x002fd997}}}, + {X: Field{[10]uint32{0x03df06b2, 0x03e1eb80, 0x0057e4e3, 0x0087c4f4, 0x00bb530a, 0x0347b4c9, 0x038874e3, 0x017a2c21, 0x02857c3d, 0x000def19}}, Y: Field{[10]uint32{0x00998539, 0x00711493, 0x02ec83a8, 0x02f5cbd7, 0x0377764a, 0x00729eef, 0x02abbeac, 0x02c4bbc4, 0x03dc764d, 0x00055066}}}, + {X: Field{[10]uint32{0x01c2cec2, 0x01962a7e, 0x021387f3, 0x00729d04, 0x00b572e1, 0x01944b0b, 0x00012a59, 0x024544cf, 0x01d99ca5, 0x0006cc31}}, Y: Field{[10]uint32{0x02f39697, 0x02c16417, 0x0169101d, 0x01445a97, 0x002344f7, 0x01ebe327, 0x004d8421, 0x03343150, 0x020b2a0d, 0x0037108c}}}, + {X: Field{[10]uint32{0x01efd0bf, 0x02d387f0, 0x03e65b8d, 0x008616e4, 0x01e6e89f, 0x016b5297, 0x0329f4f8, 0x0156b374, 0x01b3050c, 0x0025a0c7}}, Y: Field{[10]uint32{0x03d47837, 0x0127b673, 0x00ef455e, 0x035687e3, 0x0082bd8b, 0x01c1cbcb, 0x0275ef61, 0x01ce6b43, 0x0020fd03, 0x0021bd0e}}}, + {X: Field{[10]uint32{0x00e3d8ad, 0x024f3551, 0x0379266b, 0x027a85f2, 0x02bce799, 0x01eb3550, 0x0309f28f, 0x00129560, 0x000faa1f, 0x00334bd4}}, Y: Field{[10]uint32{0x00dd8c29, 0x025011b2, 0x0009e929, 0x00158fbc, 0x0127dd1b, 0x02057de5, 0x00743c24, 0x03abba5f, 0x0080ddfc, 0x0007e5dc}}}, + {X: Field{[10]uint32{0x02d01c08, 0x00af85d2, 0x003e8ff3, 0x0279829e, 0x00802f51, 0x00d54a4a, 0x0318ff9d, 0x02789e8c, 0x027d237c, 0x00180e4a}}, Y: Field{[10]uint32{0x02893fdc, 0x03615bc8, 0x02065663, 0x00714e7f, 0x0088ae9e, 0x03ca5f11, 0x0194afbd, 0x0347e362, 0x0147df91, 0x003adfcc}}}, + {X: Field{[10]uint32{0x0237ee9a, 0x015d3e7e, 0x03c90d22, 0x01e45e6c, 0x03d8abb6, 0x03cf075f, 0x00d68fb9, 0x02adcc08, 0x03ad0df6, 0x003db3dd}}, Y: Field{[10]uint32{0x0042ebd1, 0x031de389, 0x03523280, 0x02e873e6, 0x0177e81e, 0x037dd8c4, 0x01d513b7, 0x03dc59ad, 0x01c33587, 0x0023fe8a}}}, + {X: Field{[10]uint32{0x027cdf7a, 0x001c50b6, 0x00abd018, 0x028b49a9, 0x00944a0e, 0x0046f8bf, 0x01b6f4ff, 0x03145165, 0x015af542, 0x0015f200}}, Y: Field{[10]uint32{0x00b05da9, 0x0319cfaa, 0x03e3d2c9, 0x02ff45b8, 0x00ffb692, 0x028dd537, 0x02b32d33, 0x00f319ed, 0x039e8015, 0x002d9f1d}}}, + {X: Field{[10]uint32{0x034fe462, 0x0390679a, 0x03b4bfa1, 0x01feed90, 0x012f58a1, 0x02ba664c, 0x03d5c51c, 0x01248bfe, 0x0158ac18, 0x001ff821}}, Y: Field{[10]uint32{0x01ec7a11, 0x023ef9de, 0x0079e5a8, 0x01745664, 0x007268cb, 0x03565616, 0x027e9e4c, 0x0162d4db, 0x037d8bbf, 0x001d8011}}}, + {X: Field{[10]uint32{0x01517b75, 0x0367cfb7, 0x0177d87b, 0x017d62f8, 0x023d8109, 0x03639f13, 0x029b87a0, 0x026fbf5c, 0x016e73b3, 0x000b85bd}}, Y: Field{[10]uint32{0x035fcb7a, 0x013905cd, 0x011aa69b, 0x03c1e808, 0x0177aa59, 0x01a3c260, 0x02c950e6, 0x00e836ea, 0x01ef5732, 0x0013389c}}}, + {X: Field{[10]uint32{0x00ffdedb, 0x03ae9886, 0x017ad9c2, 0x039b4b76, 0x0049200d, 0x0328929a, 0x0381f666, 0x01e00af9, 0x000d456d, 0x0029351c}}, Y: Field{[10]uint32{0x026e4532, 0x0350d3f1, 0x036d5efe, 0x0396bc4b, 0x009124aa, 0x02192936, 0x030e7628, 0x0283c3a3, 0x006d0e7b, 0x0030267e}}}, + {X: Field{[10]uint32{0x033fc059, 0x02306676, 0x0145dc04, 0x01d061fc, 0x01a2327e, 0x00795eb9, 0x016c9219, 0x0278fa8c, 0x01505011, 0x002d1d93}}, Y: Field{[10]uint32{0x0398653c, 0x00f55a91, 0x03092c2f, 0x01c13e93, 0x004f1270, 0x0005a862, 0x00831ea9, 0x0084a4fb, 0x00facc27, 0x0038e6fa}}}, + {X: Field{[10]uint32{0x027e2d0e, 0x0064c6c3, 0x02235503, 0x008ebae0, 0x02c29fe1, 0x0213f1a5, 0x015b352e, 0x02afc33b, 0x03a7d291, 0x000f9a1a}}, Y: Field{[10]uint32{0x0185d266, 0x0371306a, 0x02ed88c7, 0x001e6327, 0x005a889b, 0x00c86e6e, 0x00caf9a9, 0x00f207e1, 0x00ab07cc, 0x001ecd70}}}, + {X: Field{[10]uint32{0x024a46c5, 0x02501f34, 0x03346db4, 0x0014a234, 0x03584001, 0x00c488c5, 0x0161e563, 0x01c3bf16, 0x032d1d4c, 0x0035e21b}}, Y: Field{[10]uint32{0x00b9efc8, 0x02501015, 0x023e868d, 0x00fe053c, 0x03c5ef50, 0x0135f6ea, 0x0225903d, 0x018092cb, 0x02e617c4, 0x00369917}}}, + {X: Field{[10]uint32{0x03a17a40, 0x01e643c2, 0x03475d3a, 0x03c8c976, 0x02cea867, 0x038dd519, 0x0257ba71, 0x0135016a, 0x03cc1465, 0x001f2f48}}, Y: Field{[10]uint32{0x02dcbc51, 0x03968774, 0x0303954c, 0x01ffb74d, 0x02088d32, 0x018e3b3a, 0x005541ee, 0x01b6d2e6, 0x01af96e6, 0x003b7739}}}, + {X: Field{[10]uint32{0x03eb9795, 0x02e62505, 0x00a5c5d2, 0x02ed6185, 0x0018f877, 0x00cf0864, 0x00ea0a92, 0x03876bbb, 0x0185c279, 0x00151898}}, Y: Field{[10]uint32{0x00e9b6f8, 0x0342e1b8, 0x0309d928, 0x03c37192, 0x018cfb07, 0x033f1e46, 0x03967305, 0x0211502f, 0x0185dc8f, 0x001941fb}}}, + {X: Field{[10]uint32{0x0163c32e, 0x02170201, 0x00681892, 0x03e78880, 0x0259e68c, 0x0376afbe, 0x02db20aa, 0x030b38af, 0x01551cbe, 0x003b73bc}}, Y: Field{[10]uint32{0x02753179, 0x035e8f6f, 0x00b33b03, 0x03f677da, 0x00bed59e, 0x032e936d, 0x016ab45b, 0x00a14f0a, 0x01437559, 0x002b799c}}}, + {X: Field{[10]uint32{0x023380cd, 0x02342180, 0x02dd99cf, 0x017320d2, 0x036a30bc, 0x032476df, 0x03db47fb, 0x03e74fc9, 0x0153ff6e, 0x003809ea}}, Y: Field{[10]uint32{0x03a2bbf5, 0x00d8b6b2, 0x032e4c7e, 0x02025d61, 0x0162eafc, 0x03114aa0, 0x012d174a, 0x03408239, 0x004de18a, 0x00079ac9}}}, + {X: Field{[10]uint32{0x02e2b2d6, 0x02b1bd9c, 0x00960e17, 0x00b2aa88, 0x0366dbf9, 0x01e1f549, 0x02a251f3, 0x00090953, 0x0168db98, 0x0029401b}}, Y: Field{[10]uint32{0x020b2b9c, 0x00fea95a, 0x01babfa6, 0x037d735b, 0x0372d1e6, 0x003dd1c8, 0x0198766c, 0x03756e53, 0x017ee854, 0x002864e3}}}, + {X: Field{[10]uint32{0x0027be11, 0x039419a1, 0x004e03d5, 0x00943b94, 0x01dbb020, 0x00a65646, 0x029adf73, 0x03f67b69, 0x01f201a1, 0x000c9c1d}}, Y: Field{[10]uint32{0x03c4debb, 0x02ace05a, 0x02df32de, 0x03091466, 0x02611a4e, 0x036157e8, 0x00ee3356, 0x0252fa52, 0x02b1c32e, 0x0010695f}}}, + {X: Field{[10]uint32{0x023363bd, 0x01e567c6, 0x0399ac1c, 0x0013188d, 0x039c87ac, 0x03a57dd2, 0x010cdcd7, 0x012f29ac, 0x01c66669, 0x0025f869}}, Y: Field{[10]uint32{0x00ab5e88, 0x026e49f2, 0x006a948c, 0x02601095, 0x01566894, 0x0359c709, 0x032bb6c4, 0x01587ded, 0x008d1ec7, 0x000f3269}}}, + {X: Field{[10]uint32{0x00c07a21, 0x0243b4ec, 0x01a047f7, 0x01a27dbf, 0x03d0a2d8, 0x013bad2a, 0x01bce28f, 0x01373f44, 0x0240a737, 0x001143e9}}, Y: Field{[10]uint32{0x03a77f4c, 0x00f285bb, 0x0231fc4c, 0x01b1fae8, 0x02aa35a5, 0x0034774d, 0x002a1f17, 0x033e8752, 0x0298dc17, 0x003aba20}}}, + {X: Field{[10]uint32{0x020a6559, 0x007bd2e7, 0x004a8a7a, 0x02461fa5, 0x00d81fad, 0x01025090, 0x0209ce1f, 0x019a84b6, 0x0340fc0a, 0x003d6a9c}}, Y: Field{[10]uint32{0x02eb5017, 0x0367f1ca, 0x022e349a, 0x004276d4, 0x00899d98, 0x02136e9d, 0x02e7738f, 0x024bc718, 0x03da9ef9, 0x0004956c}}}, + {X: Field{[10]uint32{0x0242f1b4, 0x032529e2, 0x02c8c90c, 0x022a2c53, 0x028857ac, 0x01fef5d6, 0x03238419, 0x01e0da9e, 0x01655519, 0x0001a402}}, Y: Field{[10]uint32{0x031b027b, 0x02eb6305, 0x007100f1, 0x02d3a7bd, 0x02952b5b, 0x02f817cc, 0x02271072, 0x025db6d1, 0x01d2038c, 0x00077060}}}, + {X: Field{[10]uint32{0x03f290aa, 0x00b484b0, 0x01e878ff, 0x03e4cd55, 0x03bc3bc0, 0x030dd830, 0x019f377b, 0x0104d9fa, 0x005a8ed8, 0x000ac6a8}}, Y: Field{[10]uint32{0x0013e280, 0x019f9633, 0x00a417b2, 0x002b2f74, 0x0035e900, 0x01fcda2f, 0x01f58965, 0x02f0c645, 0x02f41eb8, 0x0011ec96}}}, + {X: Field{[10]uint32{0x0052d81d, 0x00574974, 0x01a7ab53, 0x00e75320, 0x03454b1e, 0x00017976, 0x013540d3, 0x02bfc366, 0x029ca18c, 0x002939ad}}, Y: Field{[10]uint32{0x015d70c5, 0x02b70068, 0x0182236f, 0x00845f22, 0x00df4fcb, 0x00b9e9bb, 0x02d78edc, 0x01e41290, 0x01039c58, 0x001f3fc8}}}, + {X: Field{[10]uint32{0x039d2582, 0x01a45bec, 0x00fa17a3, 0x02ca029f, 0x01f728e1, 0x02775de5, 0x039cb0fd, 0x03292cf8, 0x0396c74f, 0x002ad12e}}, Y: Field{[10]uint32{0x0026f5c1, 0x01a8b264, 0x00ab7cb7, 0x036079e5, 0x037edc0d, 0x00645659, 0x0373febb, 0x03633279, 0x03a4519f, 0x00167646}}}, + {X: Field{[10]uint32{0x01e332a2, 0x036f08e7, 0x03cc7715, 0x01d5750b, 0x00934729, 0x015108a2, 0x016a31ae, 0x030f9232, 0x005b3fb9, 0x0020ec32}}, Y: Field{[10]uint32{0x01a6da6e, 0x034c07cd, 0x014b1e36, 0x00e4b592, 0x009652d7, 0x03c21a00, 0x0033b342, 0x00160bf6, 0x0240fb62, 0x003a67d5}}}, + {X: Field{[10]uint32{0x03954537, 0x02c856bb, 0x0078841e, 0x03d10381, 0x03e5bd10, 0x01402f03, 0x02911ee0, 0x033e059d, 0x013e624e, 0x003a914c}}, Y: Field{[10]uint32{0x000c7445, 0x0344c4db, 0x0244e81a, 0x0005342d, 0x00d5afb1, 0x027a2915, 0x03bde53b, 0x02733880, 0x000ce235, 0x0012ae2c}}}, + {X: Field{[10]uint32{0x01a3cd4e, 0x033a87d4, 0x03412ac4, 0x0278df3d, 0x03ae6d60, 0x023249f2, 0x03f7a269, 0x00f65a7d, 0x00e4af82, 0x0024db04}}, Y: Field{[10]uint32{0x017b7213, 0x023a37ec, 0x02b60bf6, 0x01ec04f4, 0x00bdb906, 0x000d67db, 0x03e5bdcf, 0x02142e38, 0x03bb10dd, 0x0011bdca}}}, + {X: Field{[10]uint32{0x02e9bfd6, 0x0243583c, 0x0296b36c, 0x00597478, 0x01847bb1, 0x01aa26cc, 0x02cf8e13, 0x030f6ce4, 0x015b61aa, 0x0010da97}}, Y: Field{[10]uint32{0x0336d68d, 0x0155a18b, 0x0247e336, 0x036839cd, 0x025e342b, 0x012a43e7, 0x038559c8, 0x032b3065, 0x008dae67, 0x003e079a}}}, + {X: Field{[10]uint32{0x00b315d7, 0x02136001, 0x0067aabd, 0x0108b986, 0x02d931a4, 0x0153d898, 0x024b929e, 0x022684e8, 0x00273fe7, 0x0027ae55}}, Y: Field{[10]uint32{0x012ef59c, 0x03e568d3, 0x01c60768, 0x012bfb04, 0x02d29f20, 0x03bfea0a, 0x0020fba8, 0x03990002, 0x01927dc0, 0x000e2ff0}}}, + {X: Field{[10]uint32{0x02280d8a, 0x0392e97e, 0x0277a0e6, 0x00342f68, 0x02ecb77a, 0x0003d8f9, 0x02b4328a, 0x02f02b2d, 0x02f587ec, 0x000e09ad}}, Y: Field{[10]uint32{0x024ef271, 0x00cbc10e, 0x016e6572, 0x024e2e8f, 0x01db35e2, 0x03698fe2, 0x03e6eb9e, 0x039a6c84, 0x01fedcef, 0x0003650d}}}, + {X: Field{[10]uint32{0x00a1dde2, 0x03e32881, 0x00a21cd0, 0x02e36cf3, 0x034dbdce, 0x010d92e7, 0x0193bcf8, 0x0286f8fe, 0x0111ae0e, 0x0028d233}}, Y: Field{[10]uint32{0x0083ac75, 0x03522107, 0x001e91d1, 0x02f5b591, 0x0007078e, 0x004ada28, 0x01c202f2, 0x03ebc9a8, 0x01d3db7c, 0x0007f214}}}, + {X: Field{[10]uint32{0x03df7329, 0x03a6818a, 0x002053c4, 0x039cf2dc, 0x025d70d1, 0x01c90993, 0x027646d0, 0x037cf139, 0x0239237f, 0x002ff855}}, Y: Field{[10]uint32{0x035f88e4, 0x03413e4a, 0x023adf12, 0x0373924b, 0x03345488, 0x01dd9d20, 0x03c09d1d, 0x03967670, 0x03e61ec5, 0x00240acd}}}, + {X: Field{[10]uint32{0x003dfa5e, 0x004f3270, 0x02944144, 0x00409c1f, 0x012642ae, 0x02081608, 0x00dc346c, 0x02dbd350, 0x014d81a1, 0x0038bf6c}}, Y: Field{[10]uint32{0x0088fceb, 0x0028f88d, 0x004086c6, 0x02ca6c03, 0x02131e37, 0x01d9d818, 0x026925ae, 0x021545b1, 0x00ed846e, 0x000c046d}}}, + {X: Field{[10]uint32{0x013c7416, 0x0377b1a4, 0x0038a535, 0x03aab09f, 0x02cf1119, 0x02d2b088, 0x0263659d, 0x019d205d, 0x01c68f47, 0x002ef196}}, Y: Field{[10]uint32{0x0154b954, 0x026099de, 0x00c7a477, 0x00825d6e, 0x03482501, 0x034ff84e, 0x01d13a40, 0x0144abeb, 0x02e19fdb, 0x0007e2db}}}, + {X: Field{[10]uint32{0x02505521, 0x0137a368, 0x02056cef, 0x02dbf67b, 0x01ce9141, 0x03e169e2, 0x016f743a, 0x01e26f6f, 0x02029866, 0x00196f4a}}, Y: Field{[10]uint32{0x0378f5a5, 0x017ce74c, 0x0370c6b6, 0x0135c429, 0x02990b18, 0x030f9b15, 0x01644a46, 0x02def175, 0x00301ced, 0x000cb6f8}}}, + {X: Field{[10]uint32{0x0278e981, 0x01645ac8, 0x01406a3a, 0x02427817, 0x00e9318d, 0x0303cdc9, 0x0175a49f, 0x033df093, 0x02eb8382, 0x0007b039}}, Y: Field{[10]uint32{0x0015715a, 0x033f0acd, 0x019fc240, 0x0018cdf3, 0x02fa56ac, 0x01a5f7af, 0x008ade3c, 0x02f2bfab, 0x029cf486, 0x00394384}}}, + {X: Field{[10]uint32{0x03a9eb8c, 0x032c43d8, 0x00d9e10d, 0x0248cd96, 0x00c0399c, 0x0284058a, 0x01aceb1e, 0x02896678, 0x031c203d, 0x001ce42b}}, Y: Field{[10]uint32{0x037c3126, 0x03837c25, 0x02418320, 0x028ce6f3, 0x002c3ada, 0x037af9f6, 0x03cad451, 0x01ec275e, 0x00966064, 0x001f4855}}}, + {X: Field{[10]uint32{0x021a533b, 0x01c7a05a, 0x01eb2b4b, 0x007b624c, 0x01127baf, 0x00267311, 0x03ff7f37, 0x00dd91e0, 0x00697b91, 0x00266945}}, Y: Field{[10]uint32{0x03e2e8e4, 0x022018e9, 0x00d4c8a2, 0x03c23a8e, 0x00809d21, 0x02b9d23f, 0x00bd57db, 0x01dc2c3f, 0x000f7503, 0x00127034}}}, + {X: Field{[10]uint32{0x020394d9, 0x03eb5962, 0x018cbf12, 0x038313f2, 0x02320ba2, 0x03c6dc09, 0x03b7dbfe, 0x00133033, 0x00b13b48, 0x003935b8}}, Y: Field{[10]uint32{0x03761a41, 0x01d74d8e, 0x01b6c750, 0x03760619, 0x03af5fc3, 0x038338be, 0x035ad203, 0x001bf9a9, 0x02ac73a0, 0x002bac3a}}}, + {X: Field{[10]uint32{0x01fe1a04, 0x01445b86, 0x03459d88, 0x0160ad54, 0x031a9aa0, 0x02b48fec, 0x03e1c460, 0x0397ab2c, 0x0141507c, 0x00122290}}, Y: Field{[10]uint32{0x0312bd12, 0x008d7d33, 0x0104f0d7, 0x01ce97f6, 0x00e82f80, 0x02b58ec1, 0x01eaf25e, 0x03e31d33, 0x0066043e, 0x001af5a8}}}, + {X: Field{[10]uint32{0x03babaa1, 0x03057659, 0x028c55d2, 0x011f290b, 0x032cb65b, 0x00b7eeb0, 0x011c2ffd, 0x0295346b, 0x024ded0c, 0x00303ff8}}, Y: Field{[10]uint32{0x027e9289, 0x01f1af5f, 0x0167dbbd, 0x03859d59, 0x03a0a330, 0x037dc047, 0x01bbba88, 0x0137c867, 0x023e29c5, 0x00345731}}}, + {X: Field{[10]uint32{0x027780b1, 0x016e48dd, 0x03fb2830, 0x003fc82f, 0x0131b05d, 0x023f17bc, 0x02dd36dd, 0x01389677, 0x030206c7, 0x000cdb66}}, Y: Field{[10]uint32{0x014e647b, 0x0179fd50, 0x01fd1b05, 0x0184051c, 0x032b1b64, 0x006f6e27, 0x03e6510e, 0x029c1eba, 0x00fc9886, 0x0012bb6b}}}, + {X: Field{[10]uint32{0x02dcf04f, 0x03b38b40, 0x024a706a, 0x016b3a11, 0x019a2a17, 0x031ee1b9, 0x03d3711d, 0x029ef8ee, 0x02b98973, 0x00260d4f}}, Y: Field{[10]uint32{0x02ee767e, 0x01d187ea, 0x0196d980, 0x0290f5b1, 0x028e45b4, 0x00178704, 0x02108873, 0x01290e3d, 0x02c22789, 0x002a1dfe}}}, + {X: Field{[10]uint32{0x02da1e61, 0x01f0d84d, 0x039053f3, 0x01df0e3a, 0x0271c9fb, 0x0153f2c2, 0x0239cecb, 0x03e77d8d, 0x021c17ff, 0x003370d7}}, Y: Field{[10]uint32{0x0094eace, 0x026d9a25, 0x017782bb, 0x0275f58a, 0x0087ae55, 0x030528c7, 0x024f0ccd, 0x01c9837d, 0x02bafe91, 0x002a332d}}}, + {X: Field{[10]uint32{0x00111941, 0x026a4d20, 0x00b5b515, 0x03b149b3, 0x015d7407, 0x02701bc5, 0x00584093, 0x0282c9c5, 0x01c15e62, 0x00244b2c}}, Y: Field{[10]uint32{0x03049bf6, 0x02f561cd, 0x035adbf4, 0x02e60d23, 0x026fa710, 0x031c3769, 0x00cecc86, 0x03111f34, 0x00d51723, 0x00161305}}}, + {X: Field{[10]uint32{0x03bff3bc, 0x0339a4f0, 0x0102b5dd, 0x01a26003, 0x01ffd195, 0x03fd00d0, 0x02ec6e2c, 0x022b3667, 0x017c7c1e, 0x00085178}}, Y: Field{[10]uint32{0x0236356f, 0x02ffd3dd, 0x02b68957, 0x0222bebf, 0x00a5c430, 0x02769eeb, 0x030e9b89, 0x02cdce56, 0x01a240c0, 0x000ee29c}}}, + {X: Field{[10]uint32{0x010b1692, 0x00baa523, 0x004ab3aa, 0x002882ff, 0x0143e091, 0x000f3721, 0x024f7e1d, 0x01c9c888, 0x03367e87, 0x00392824}}, Y: Field{[10]uint32{0x02cf846e, 0x00557df0, 0x00f80328, 0x0372bdf4, 0x02898f48, 0x03e9b8d3, 0x02b8315a, 0x01bc0e3b, 0x00313314, 0x00092c7b}}}, + {X: Field{[10]uint32{0x0328db40, 0x026cdb34, 0x02bb0f57, 0x0361001b, 0x012b1390, 0x01900a1d, 0x03387ed4, 0x01166edf, 0x02dd464d, 0x003f7d49}}, Y: Field{[10]uint32{0x013a3987, 0x011f0379, 0x00963141, 0x026a9d17, 0x01937326, 0x004993b1, 0x02cf7766, 0x005b4774, 0x02c56792, 0x0010e5b9}}}, + {X: Field{[10]uint32{0x00729f86, 0x016fed3b, 0x01da4fab, 0x012539d4, 0x0252ca4c, 0x02b77cfd, 0x01933ebc, 0x01c9cd42, 0x0016b3e3, 0x0001b217}}, Y: Field{[10]uint32{0x03648d6f, 0x019bc5ba, 0x01cf1217, 0x02646e7e, 0x01e592ce, 0x0177a64a, 0x0249040c, 0x0201f979, 0x03c8520b, 0x0026d4c3}}}, + {X: Field{[10]uint32{0x00e28e58, 0x0031e44b, 0x03203feb, 0x02889560, 0x03004e7d, 0x0378033e, 0x0098ce4b, 0x038b0043, 0x023c596e, 0x0013efeb}}, Y: Field{[10]uint32{0x026ff099, 0x00d55fb6, 0x017993e7, 0x01960ef0, 0x02396b8a, 0x03d43f58, 0x02dcfdcf, 0x00d92e57, 0x0104ed0e, 0x003fb3c1}}}, + {X: Field{[10]uint32{0x0378bab8, 0x00d44f81, 0x001fa150, 0x02ef4f0a, 0x0197c1d7, 0x003a7204, 0x0283c2b9, 0x0045e4ed, 0x037b8017, 0x0026f30e}}, Y: Field{[10]uint32{0x01bc0b43, 0x002e45d0, 0x03e9f3b7, 0x00275f62, 0x03a887f0, 0x02166ea8, 0x03825ab9, 0x0227469d, 0x00928782, 0x00368bab}}}, + {X: Field{[10]uint32{0x03635150, 0x0380be5a, 0x03c8a024, 0x0098ed78, 0x00855b0a, 0x01cb44c5, 0x02956956, 0x028ecfd6, 0x00400e70, 0x00110568}}, Y: Field{[10]uint32{0x023986be, 0x02961a76, 0x0223ec58, 0x0158e7cc, 0x016843ac, 0x026bf571, 0x02921603, 0x02a7e207, 0x038fcf55, 0x0036294e}}}, + {X: Field{[10]uint32{0x005b2341, 0x00212dc1, 0x030924d2, 0x00d8b54d, 0x01b617b5, 0x03880e0e, 0x00988fcb, 0x02f3da8e, 0x01c9cdaf, 0x001579d6}}, Y: Field{[10]uint32{0x0131bb95, 0x03e0abfe, 0x015d6cf7, 0x02dd0bae, 0x013c1191, 0x0288c561, 0x01524834, 0x00d01626, 0x03eaca8a, 0x00129a4c}}}, + {X: Field{[10]uint32{0x0140e9c8, 0x018d2215, 0x024b95ed, 0x0162b6f7, 0x018d1153, 0x03720f82, 0x017e072b, 0x00f0bc29, 0x0325bee2, 0x00084087}}, Y: Field{[10]uint32{0x01a8c9f0, 0x02ff8f3e, 0x008d4ba5, 0x0071fe19, 0x034ed8dc, 0x037208a8, 0x002c98f8, 0x003bfdf1, 0x0291a770, 0x0026bbd5}}}, + {X: Field{[10]uint32{0x01b376d1, 0x031e60b3, 0x024a7a28, 0x03bda413, 0x02c70771, 0x003502e2, 0x03f3c641, 0x006bffb7, 0x011ddded, 0x000ad38c}}, Y: Field{[10]uint32{0x0309b05c, 0x02b1cc35, 0x02575d20, 0x034db1e4, 0x0248b25d, 0x015fd6e5, 0x0243d02b, 0x016c1c3f, 0x00f56b25, 0x0005170c}}}, + {X: Field{[10]uint32{0x015378b3, 0x022d7d17, 0x0091e8b9, 0x02be412c, 0x025ed91c, 0x0017496d, 0x00dbf5be, 0x01840324, 0x021c7e16, 0x0014642c}}, Y: Field{[10]uint32{0x02650073, 0x0102d299, 0x01166040, 0x01b085b0, 0x001826d2, 0x02f83550, 0x00e3f268, 0x0317e2d4, 0x02471fbd, 0x002e0f33}}}, + {X: Field{[10]uint32{0x005b56f7, 0x03d00c15, 0x016ae1f2, 0x0025df40, 0x0188b1b0, 0x01d82062, 0x007c7b28, 0x01702cd9, 0x02e454c6, 0x000ac847}}, Y: Field{[10]uint32{0x02854f5c, 0x01c3775d, 0x03506f9b, 0x01a6e18f, 0x00fff746, 0x01e984a2, 0x01a25634, 0x03f0755c, 0x015917d8, 0x001d5d0e}}}, + {X: Field{[10]uint32{0x024134d4, 0x03e52bb9, 0x021b6d4a, 0x013e5063, 0x03a3caad, 0x03dae99b, 0x038ec37f, 0x002bb8d1, 0x0392b41e, 0x0032cc2d}}, Y: Field{[10]uint32{0x028358c5, 0x006aad88, 0x008e771b, 0x00376bac, 0x00914230, 0x003471ca, 0x02b8b4ec, 0x027d2e48, 0x02decb3a, 0x001155c6}}}, + {X: Field{[10]uint32{0x00e4bc6c, 0x00f34c81, 0x012e065c, 0x0149fba8, 0x03e46879, 0x0226f99e, 0x0349d070, 0x02a85ba5, 0x03a8d2fc, 0x003d390d}}, Y: Field{[10]uint32{0x03ba97c4, 0x02798a9d, 0x009c4344, 0x03f0e489, 0x008e7647, 0x03743b8a, 0x01e51f8b, 0x02ba28c3, 0x028b7e81, 0x003ed4b4}}}, + {X: Field{[10]uint32{0x0350d518, 0x0314f377, 0x00080545, 0x012f2d9e, 0x00ce85a9, 0x024f677e, 0x02a726c1, 0x0066cef1, 0x02a76a2a, 0x0028299d}}, Y: Field{[10]uint32{0x03190a71, 0x01ff2223, 0x03fe8e43, 0x01a28f26, 0x0041198d, 0x02b901c0, 0x01816e5a, 0x02f4842e, 0x00c6b1b7, 0x00191ffa}}}, + {X: Field{[10]uint32{0x03ff7b7e, 0x00296eed, 0x0171c786, 0x01745762, 0x0275a2ba, 0x03abbbb9, 0x00544ab1, 0x0250a2c4, 0x03ead7f3, 0x00057753}}, Y: Field{[10]uint32{0x0038445c, 0x00b11c67, 0x02961844, 0x007c6c7e, 0x0253924d, 0x02dcc8b4, 0x02313427, 0x008551f4, 0x01dd5fab, 0x00226557}}}, + {X: Field{[10]uint32{0x030ca522, 0x03d8c864, 0x012b8850, 0x00ffdcb3, 0x0301bdea, 0x035d3767, 0x037a188e, 0x012d1d8d, 0x00004029, 0x002a01ae}}, Y: Field{[10]uint32{0x02b97213, 0x02fb7237, 0x010db9c6, 0x02b18624, 0x0253e49a, 0x02aceee1, 0x03f1fa88, 0x02c6bda5, 0x036547d8, 0x0012db5c}}}, + {X: Field{[10]uint32{0x039f148b, 0x02e8fd56, 0x0006df31, 0x02b3cf01, 0x0058a983, 0x0390c7ba, 0x036ff9f6, 0x01921de8, 0x023dca08, 0x001078dc}}, Y: Field{[10]uint32{0x038392e4, 0x0252074e, 0x02007913, 0x00b37ff2, 0x022753c5, 0x0336a7f4, 0x000b136d, 0x0163406a, 0x02caf27c, 0x0022ac59}}}, + {X: Field{[10]uint32{0x01bba3c4, 0x002f2a19, 0x00953ea0, 0x011fe353, 0x01690e04, 0x00251985, 0x03a3e587, 0x02322766, 0x00f27855, 0x0018ee28}}, Y: Field{[10]uint32{0x03cf787f, 0x0002cc90, 0x03a0c2d3, 0x025dca2c, 0x008c09b2, 0x03c01320, 0x0295da00, 0x022d254e, 0x014185eb, 0x000c87eb}}}, + {X: Field{[10]uint32{0x014c5963, 0x00aa6a6c, 0x0056c894, 0x036b4bfe, 0x01c1ca21, 0x0088a698, 0x01cae5f8, 0x0034e941, 0x037faa8b, 0x00018afa}}, Y: Field{[10]uint32{0x02bffd4b, 0x0275efd5, 0x030451ac, 0x0008bd6d, 0x03a36f4c, 0x00fbf710, 0x01886550, 0x0309fd73, 0x00bd7120, 0x0038f673}}}, + {X: Field{[10]uint32{0x03d20427, 0x03cb1206, 0x0199ac65, 0x033cf2cb, 0x03bc133f, 0x024bc0c4, 0x01d79a90, 0x02e27af9, 0x000af524, 0x002dd686}}, Y: Field{[10]uint32{0x021d2747, 0x02e08952, 0x02d48c39, 0x01918cfb, 0x036a6369, 0x0398b7ec, 0x03094b41, 0x0301534d, 0x0056b11c, 0x0039e154}}}, + {X: Field{[10]uint32{0x024949e9, 0x03bb413f, 0x032f2f03, 0x00f3bbc0, 0x026b51f9, 0x013418e8, 0x01df9cbe, 0x03f1da5f, 0x036d5298, 0x001396ef}}, Y: Field{[10]uint32{0x02a12188, 0x039138c5, 0x00119476, 0x02fa6495, 0x001871fb, 0x0336024c, 0x0114a19e, 0x02771951, 0x028640cd, 0x00199c09}}}, + {X: Field{[10]uint32{0x00173237, 0x02fdb7c3, 0x01200074, 0x039b72d8, 0x02b78e86, 0x0357f06a, 0x02edb836, 0x03c1a4ee, 0x003df509, 0x002a5de3}}, Y: Field{[10]uint32{0x01d0cab7, 0x03804fca, 0x025d690e, 0x0072302f, 0x019230a4, 0x002a1759, 0x03a0e50d, 0x03e44e57, 0x019186a0, 0x000cea72}}}, + {X: Field{[10]uint32{0x03570449, 0x01eed8f3, 0x03c95cdb, 0x039c9b32, 0x00757fb3, 0x02924dab, 0x01790bc1, 0x012f9f12, 0x02ad1666, 0x003c6cea}}, Y: Field{[10]uint32{0x0060cc06, 0x003ed29d, 0x02a3a52b, 0x0098934e, 0x02006434, 0x011899e0, 0x02183981, 0x037040fc, 0x01cbea3f, 0x003477f8}}}, + {X: Field{[10]uint32{0x0349f598, 0x02293164, 0x022d0698, 0x0172bd33, 0x019563a0, 0x0133c067, 0x0036ad6a, 0x035615a9, 0x013ab015, 0x00359b3f}}, Y: Field{[10]uint32{0x011efc4d, 0x033dbe84, 0x01756d07, 0x02fbee54, 0x00d8e91b, 0x036e503e, 0x03b73056, 0x03679598, 0x01b6d097, 0x0017a85e}}}, + {X: Field{[10]uint32{0x020ac7aa, 0x03f8ef36, 0x00470ea8, 0x01bcb036, 0x015d87a1, 0x0260bb7f, 0x030f30aa, 0x01744efb, 0x00f0924b, 0x00294ca9}}, Y: Field{[10]uint32{0x038d5c1c, 0x00aa49c7, 0x017ad553, 0x03eab188, 0x0374fd1e, 0x03d40e1b, 0x003de70d, 0x00d204f3, 0x0019ca4e, 0x0030b98b}}}, + {X: Field{[10]uint32{0x00439b70, 0x0397fd8a, 0x03b3e1a3, 0x03bcff8b, 0x0281ebb3, 0x0381ed8c, 0x03d08c09, 0x0220d7fe, 0x01125df7, 0x002a6ac9}}, Y: Field{[10]uint32{0x01877514, 0x00696d61, 0x00c7e350, 0x02d53a54, 0x01f2eaad, 0x0330d77c, 0x0243698a, 0x0056aa6a, 0x01db56e0, 0x00163fd5}}}, + {X: Field{[10]uint32{0x020466eb, 0x03fd1b11, 0x02521f2c, 0x012907b5, 0x0153df17, 0x024571b5, 0x004dc830, 0x00f7b306, 0x03849081, 0x00338163}}, Y: Field{[10]uint32{0x02f3e745, 0x011acbe2, 0x03d47c76, 0x01065ecd, 0x02282377, 0x013d3dc6, 0x02815a78, 0x01d05016, 0x00c45881, 0x0010534e}}}, + {X: Field{[10]uint32{0x02406299, 0x02faaa5b, 0x003d4737, 0x014e76d8, 0x010afe92, 0x0059137a, 0x0385c7f3, 0x02cdaaac, 0x036530a2, 0x002647ea}}, Y: Field{[10]uint32{0x008eed57, 0x00abe7f9, 0x014df4f8, 0x03edeb6a, 0x005d373c, 0x0136807d, 0x016dc9d4, 0x0112f7c5, 0x017677c5, 0x000a8a6d}}}, + {X: Field{[10]uint32{0x03715d8e, 0x0070fcab, 0x01e140e9, 0x03fa84fc, 0x03ddfdd2, 0x016ad205, 0x00419210, 0x013bbf32, 0x001fbd03, 0x003b9b32}}, Y: Field{[10]uint32{0x0386d8be, 0x00ebcef8, 0x00a3f689, 0x011ea5ef, 0x00df8fd8, 0x02972f01, 0x007358de, 0x03a59487, 0x03fe48c3, 0x002e3de7}}}, + {X: Field{[10]uint32{0x019c5ef2, 0x02b33685, 0x017a3c5d, 0x03fa04cd, 0x0316ff2d, 0x00507800, 0x004d5cc5, 0x01995d55, 0x0372d642, 0x0019a8b4}}, Y: Field{[10]uint32{0x01bc8929, 0x0368fdd3, 0x029a05ba, 0x03416608, 0x00780000, 0x03c99781, 0x01423b9a, 0x03d234e2, 0x016b91c6, 0x002d5f4b}}}, + {X: Field{[10]uint32{0x02421da9, 0x0171a48e, 0x00ac6adf, 0x0396b2d3, 0x037a5798, 0x031fcda8, 0x0043e73f, 0x0378e854, 0x01d9f697, 0x0008280b}}, Y: Field{[10]uint32{0x01cf34f7, 0x00db0c33, 0x02b97338, 0x00e0bf31, 0x02ab4ab5, 0x00478f72, 0x02ab61e7, 0x00d87aa9, 0x0100d162, 0x00079b3c}}}, + {X: Field{[10]uint32{0x037bf552, 0x00e8c0f2, 0x0211092e, 0x026873b6, 0x019f92b7, 0x036894cc, 0x0298b154, 0x03a07daf, 0x02437818, 0x00282e32}}, Y: Field{[10]uint32{0x01543be6, 0x02ff968f, 0x030baa1a, 0x039922d8, 0x02218508, 0x003f38b6, 0x0263ca11, 0x03664141, 0x00ebf447, 0x0011506f}}}, + {X: Field{[10]uint32{0x00c52c63, 0x005d3ac7, 0x00ffb9e4, 0x02376d6e, 0x01e0d501, 0x0172ea73, 0x015c25fb, 0x039221f8, 0x02ad73dc, 0x00145c53}}, Y: Field{[10]uint32{0x03dafebf, 0x024507e6, 0x0309773b, 0x00c6665d, 0x01a5c248, 0x019b7480, 0x02272c7d, 0x01587afb, 0x00a082ef, 0x0011ede5}}}, + {X: Field{[10]uint32{0x02451c59, 0x012b0b35, 0x03a2fba7, 0x02904d05, 0x017da195, 0x026487a4, 0x03c41f6a, 0x03781cf9, 0x03631fe4, 0x00063a89}}, Y: Field{[10]uint32{0x024df316, 0x02bb5435, 0x01e6b106, 0x020cba55, 0x00d31b3b, 0x0235f24f, 0x03e0428e, 0x02eea6cc, 0x0337fff6, 0x000e6282}}}, + {X: Field{[10]uint32{0x03c5a87e, 0x02e415c5, 0x030cd0e8, 0x029675d6, 0x03c3d1f0, 0x033ea617, 0x01ec341a, 0x0060d298, 0x034fc39e, 0x00387562}}, Y: Field{[10]uint32{0x006b3c47, 0x02648967, 0x007f2cf2, 0x00e83767, 0x01af8215, 0x02dfe679, 0x03e2ab3b, 0x03f7b023, 0x020215fd, 0x0006d8bb}}}, + {X: Field{[10]uint32{0x016c5a84, 0x03b0f9dc, 0x039a3bbd, 0x0104472b, 0x032c19c5, 0x02c94f70, 0x03f5ba8e, 0x030495f7, 0x011730d3, 0x000e5e4e}}, Y: Field{[10]uint32{0x01f18015, 0x02a929fd, 0x021e3f78, 0x02f5070a, 0x00be7b4e, 0x021476a3, 0x02cded5c, 0x00db6644, 0x0350189f, 0x0035a87e}}}, + {X: Field{[10]uint32{0x039ede88, 0x003c5e96, 0x02ef1552, 0x002c93ca, 0x021d5736, 0x02c09467, 0x01dbf888, 0x0101b4e0, 0x024b601b, 0x00126d27}}, Y: Field{[10]uint32{0x0169a38d, 0x01f9dcbe, 0x02fadbff, 0x02734390, 0x03a0a76e, 0x00279168, 0x03e7be10, 0x035ecd66, 0x00ca02f2, 0x003f3cf3}}}, + {X: Field{[10]uint32{0x00bdc871, 0x036a914a, 0x024c32bf, 0x02848907, 0x01d64e38, 0x003fc5e8, 0x0188548f, 0x03cdb483, 0x010d0b42, 0x000b3606}}, Y: Field{[10]uint32{0x00259187, 0x03bd66da, 0x02a67077, 0x0034ac5a, 0x022fff78, 0x016affab, 0x0284f45e, 0x0052416a, 0x03692214, 0x003dca70}}}, + {X: Field{[10]uint32{0x0241025a, 0x00218997, 0x006f2308, 0x03a91747, 0x02b5b642, 0x007e7466, 0x020cb2cf, 0x015198b6, 0x03111738, 0x0007f43e}}, Y: Field{[10]uint32{0x029ce0e9, 0x02460791, 0x0008f557, 0x035b6edb, 0x0294e928, 0x031c04b6, 0x007825d1, 0x002082af, 0x0288fec6, 0x000c4da9}}}, + {X: Field{[10]uint32{0x02f3a141, 0x0391101e, 0x0387107d, 0x02ec4834, 0x013f93d5, 0x02f61139, 0x0248a0f5, 0x02d6f861, 0x033bd7f8, 0x003c2397}}, Y: Field{[10]uint32{0x01902fac, 0x01b857f6, 0x0289fa52, 0x02f37c74, 0x01bf7ea1, 0x03253a83, 0x0361bdfc, 0x03ab872a, 0x03259067, 0x0000f761}}}, + {X: Field{[10]uint32{0x005ee207, 0x0172ac47, 0x005a5d3f, 0x03c07fbb, 0x03a0584c, 0x0171af75, 0x03a046bb, 0x03ea58dc, 0x0006b997, 0x002800cf}}, Y: Field{[10]uint32{0x03e268b4, 0x002a36f0, 0x03a17d14, 0x02d8f53f, 0x0039a577, 0x00823503, 0x00c2cda2, 0x039235c2, 0x0131aacb, 0x003bb586}}}, + {X: Field{[10]uint32{0x02c16f70, 0x0246db98, 0x03b1e1ea, 0x01c1109a, 0x0383ff8f, 0x005de469, 0x001e29b1, 0x0299c77c, 0x000868be, 0x001df7bb}}, Y: Field{[10]uint32{0x0264861d, 0x009ac015, 0x024b5dc4, 0x009f0288, 0x00fcc1fe, 0x0067d7a7, 0x031ae7ef, 0x01cfd8c9, 0x0228ba8f, 0x002e4228}}}, + {X: Field{[10]uint32{0x01aa72b1, 0x016a86ea, 0x019605fd, 0x03070623, 0x01994a03, 0x00d41acf, 0x01bd1fc6, 0x0043b468, 0x015ffe2f, 0x000bf37b}}, Y: Field{[10]uint32{0x02bbefc6, 0x02df5d81, 0x0145d3fa, 0x00a13fe7, 0x02b4df66, 0x004a8319, 0x00d7c12e, 0x021bc748, 0x03f6f09a, 0x000556fa}}}, + {X: Field{[10]uint32{0x015db3ad, 0x00438826, 0x02904c83, 0x03fddf0a, 0x018667f8, 0x02e91f02, 0x00add0c9, 0x039cceaf, 0x032dfdf5, 0x0007c302}}, Y: Field{[10]uint32{0x037bc566, 0x035d5995, 0x03e448ef, 0x020a1732, 0x0170f631, 0x00c9a122, 0x039b7613, 0x03d57d44, 0x03cb84ce, 0x002f5c46}}}, + {X: Field{[10]uint32{0x0237dcf8, 0x03aa3e42, 0x005ef465, 0x03b52aa2, 0x03d603fd, 0x03b7d953, 0x01bdf3c5, 0x00b11183, 0x0144e716, 0x0002d2a1}}, Y: Field{[10]uint32{0x003c62b2, 0x00e28f48, 0x0134c139, 0x01bb6f86, 0x0099f8ee, 0x00a4b2ce, 0x032e27b2, 0x03a2c800, 0x0391b3f2, 0x0014f010}}}, + {X: Field{[10]uint32{0x005bd68c, 0x016c2dcb, 0x0221a9d8, 0x0031b650, 0x03d00a90, 0x034c1ce5, 0x0331cdfa, 0x02dcd4e3, 0x0282dcde, 0x0037c3af}}, Y: Field{[10]uint32{0x00decfb2, 0x03d1cce2, 0x001c68a2, 0x038b5c1c, 0x034a1d07, 0x0292b3e2, 0x03b869e3, 0x00b95511, 0x0239e7fe, 0x0030ca65}}}, + {X: Field{[10]uint32{0x03c101c0, 0x032499c0, 0x01576ec7, 0x00396cde, 0x02f9fd46, 0x034a3e27, 0x02ed101f, 0x0230cf87, 0x01b6d1c3, 0x003ac12e}}, Y: Field{[10]uint32{0x01e0ee9e, 0x0363ca3d, 0x024eb008, 0x0120e5d2, 0x00f5ee75, 0x020b5ba7, 0x013cab57, 0x03e02cac, 0x00497f47, 0x0013c9b6}}}, + {X: Field{[10]uint32{0x03294334, 0x03dc7434, 0x01cface9, 0x003ba9ee, 0x017db4ee, 0x032ae619, 0x014b37a0, 0x031b3ab2, 0x03e2197c, 0x001ef27b}}, Y: Field{[10]uint32{0x01a72013, 0x01e0b697, 0x009a37ff, 0x024c7057, 0x01ad8fb4, 0x02d6ce94, 0x001d9404, 0x01e41aa5, 0x00ad5234, 0x00364c6f}}}, + {X: Field{[10]uint32{0x033e0b9b, 0x0106b4ed, 0x00844e0a, 0x01433259, 0x011321dc, 0x01a8fa2d, 0x010c10c6, 0x014b192f, 0x01e8f4bd, 0x002248b4}}, Y: Field{[10]uint32{0x0241c431, 0x00a9e8d2, 0x003182a0, 0x031b57b7, 0x0261c9ee, 0x00cdf714, 0x00e6abd3, 0x03887a24, 0x00f17d23, 0x000ad90f}}}, + {X: Field{[10]uint32{0x02ddcc72, 0x006746bc, 0x00e9acdc, 0x0369df28, 0x030139a7, 0x0311a007, 0x036a842a, 0x004bb48b, 0x01e33a93, 0x0010bcbb}}, Y: Field{[10]uint32{0x0326f99b, 0x038d25e3, 0x0376ac70, 0x0029afd1, 0x02ab9536, 0x037238d0, 0x0260edff, 0x026172e4, 0x03cc715c, 0x00143516}}}, + {X: Field{[10]uint32{0x016761c6, 0x009c1453, 0x02ea2f3b, 0x03ca4a4d, 0x00627549, 0x01c9ad79, 0x00792550, 0x03fac962, 0x03201862, 0x001ef725}}, Y: Field{[10]uint32{0x01a4fa8c, 0x02a1504b, 0x02269f1c, 0x039032b5, 0x0065372e, 0x02101998, 0x026f0bff, 0x02b7d5db, 0x032b7f77, 0x001c03ad}}}, + {X: Field{[10]uint32{0x006314cf, 0x0366385d, 0x023066b6, 0x011f4840, 0x01f79d16, 0x008a3868, 0x002e0d85, 0x0126fd79, 0x03a64bf5, 0x002e6d49}}, Y: Field{[10]uint32{0x020cd93f, 0x00a66aaa, 0x00eb7499, 0x00e71b61, 0x02e35b15, 0x000bcc3a, 0x022a2b68, 0x007d6e4e, 0x00642a72, 0x002386cd}}}, + {X: Field{[10]uint32{0x01e3dda9, 0x02b0961d, 0x02d74978, 0x00c56434, 0x03d187c4, 0x00f3845d, 0x00291929, 0x01dd9407, 0x012934d4, 0x002d9779}}, Y: Field{[10]uint32{0x039fa529, 0x038db58e, 0x014ef324, 0x0027b2f6, 0x03f07555, 0x00c0d915, 0x01c55351, 0x02d73acf, 0x03e74ab9, 0x000f5bf2}}}, + {X: Field{[10]uint32{0x027c6b9b, 0x0198d9b3, 0x02ca5c2e, 0x03a8d016, 0x01a036ed, 0x00fc1584, 0x03604f6a, 0x01d47abc, 0x02320608, 0x00063aad}}, Y: Field{[10]uint32{0x015074c5, 0x00acd942, 0x03dd99d1, 0x001492f5, 0x02ccd426, 0x027e479b, 0x0211f057, 0x004464db, 0x03bc9467, 0x00227ac1}}}, + {X: Field{[10]uint32{0x02d360d5, 0x007183ba, 0x000a14eb, 0x03928c6d, 0x03c7502e, 0x025b4e76, 0x01a16065, 0x02590e42, 0x00664a47, 0x00289844}}, Y: Field{[10]uint32{0x01814901, 0x01fcdc9d, 0x00ac03e8, 0x0207cc8f, 0x0085721a, 0x02066086, 0x022d9fe3, 0x0155d8c9, 0x034d8802, 0x0012d175}}}, + {X: Field{[10]uint32{0x0008a8a7, 0x0250d74f, 0x019595da, 0x03ebd800, 0x01c77ac0, 0x0173c972, 0x019dc583, 0x0214de80, 0x00b12c10, 0x001e2515}}, Y: Field{[10]uint32{0x01829041, 0x02b82fe9, 0x007a2591, 0x000c949a, 0x008841da, 0x0282f5d8, 0x02f43378, 0x0167eb2f, 0x030fed28, 0x001afba1}}}, + {X: Field{[10]uint32{0x02791569, 0x03897518, 0x025ed7cf, 0x03e67d98, 0x01f81570, 0x00b837e5, 0x03683b9c, 0x0197c046, 0x0206fb4f, 0x00065df0}}, Y: Field{[10]uint32{0x03698479, 0x0390d7af, 0x01de467d, 0x02c9d764, 0x019dcc79, 0x02a7af81, 0x03f435e5, 0x0112aa57, 0x01a3c222, 0x00379db7}}}, + {X: Field{[10]uint32{0x01f4222f, 0x02b26199, 0x02585189, 0x03530fd5, 0x01ec3b5a, 0x02b0d35f, 0x03e60861, 0x0354d903, 0x01f7d259, 0x002247c3}}, Y: Field{[10]uint32{0x032de219, 0x002b3a46, 0x0257dba9, 0x02ac1010, 0x025c3293, 0x02a35ac3, 0x027a6011, 0x0228a87b, 0x03f70f53, 0x00331782}}}, + {X: Field{[10]uint32{0x0299530b, 0x02a4dfff, 0x01e55c80, 0x0380f171, 0x0350169d, 0x0104ad34, 0x026c282f, 0x03e07964, 0x03f69262, 0x00214d2e}}, Y: Field{[10]uint32{0x017423b5, 0x0239fad5, 0x01cf9fb0, 0x008d3505, 0x00f70cfc, 0x0395147a, 0x00764c0b, 0x001cdd33, 0x0181e0bb, 0x003efbb9}}}, + {X: Field{[10]uint32{0x006f63fb, 0x012c1faa, 0x001989e4, 0x01f03c04, 0x0158fc89, 0x01516635, 0x034eafa3, 0x037f4dd1, 0x016404e7, 0x00396dbd}}, Y: Field{[10]uint32{0x0118da79, 0x01b38998, 0x00ad0b2c, 0x03242ce0, 0x008e153c, 0x022201e0, 0x01e7d983, 0x00ea2ddb, 0x03fa68a8, 0x0010da2e}}}, + {X: Field{[10]uint32{0x02c2b850, 0x02435381, 0x00e29f7c, 0x03ced38e, 0x0046e184, 0x001c91ea, 0x03dc5e55, 0x03945260, 0x028b11c3, 0x003e5646}}, Y: Field{[10]uint32{0x010ff6b5, 0x025e82b6, 0x032a51fe, 0x024fca7f, 0x02957de3, 0x00d9a87e, 0x024e288a, 0x03d61f32, 0x00362361, 0x00108ed9}}}, + {X: Field{[10]uint32{0x0372384c, 0x02482c7f, 0x038212f2, 0x01655ef1, 0x017c9950, 0x025918de, 0x01eb617c, 0x017a7bbe, 0x01d3252f, 0x000f4c8e}}, Y: Field{[10]uint32{0x02a2e57a, 0x00f2a7c8, 0x03df78f7, 0x0386a6d9, 0x03ef860e, 0x0257ad37, 0x02798bf6, 0x02beb394, 0x03b6fc9b, 0x00070f8d}}}, + {X: Field{[10]uint32{0x00c5dfb8, 0x035719ef, 0x00055201, 0x018707c5, 0x02a0a6ce, 0x002184a8, 0x028e8554, 0x0135da1a, 0x03234b57, 0x003d0225}}, Y: Field{[10]uint32{0x000a56a4, 0x014c8243, 0x03af3c74, 0x029d80bf, 0x03c3a62f, 0x015969e7, 0x02aac242, 0x03f24552, 0x03b73e72, 0x001ae0a0}}}, + {X: Field{[10]uint32{0x02267ccf, 0x02d18a8b, 0x03c64bc4, 0x034ac104, 0x0395058e, 0x0262e2d1, 0x03e65f84, 0x031d17da, 0x02e7aea9, 0x002b381d}}, Y: Field{[10]uint32{0x028b97aa, 0x0076b045, 0x0120a31f, 0x018aa651, 0x02dc58f3, 0x02bcd4f8, 0x032ed6dc, 0x02a797ad, 0x0217377f, 0x0002d8b1}}}, + {X: Field{[10]uint32{0x006ec161, 0x01bf0b42, 0x036af29d, 0x00ced3f7, 0x01b4e63f, 0x02b6c747, 0x030b848e, 0x0181a4c8, 0x03a7408c, 0x001c332e}}, Y: Field{[10]uint32{0x014d6959, 0x020b1ee8, 0x02ec4d77, 0x00e1c7ef, 0x025a4ff3, 0x0152a032, 0x01286776, 0x00398390, 0x01a046d3, 0x003f0736}}}, + {X: Field{[10]uint32{0x0358d372, 0x03798a79, 0x02ede7a8, 0x02ce65c2, 0x019e33fc, 0x02bd6af1, 0x0258d3a4, 0x016c317a, 0x00b27c0c, 0x0039b9ea}}, Y: Field{[10]uint32{0x018d4a66, 0x036cf972, 0x017049a8, 0x0297262f, 0x00b40df3, 0x024f8b20, 0x011fee27, 0x02d69754, 0x01c4c8c8, 0x00350344}}}, + {X: Field{[10]uint32{0x03216346, 0x02c74c88, 0x02739117, 0x029433fd, 0x007910e9, 0x0278b109, 0x01495b71, 0x00b9a0ca, 0x01c7e0a0, 0x00337125}}, Y: Field{[10]uint32{0x001583d4, 0x00816c5a, 0x022f0559, 0x0231b390, 0x00d51fc6, 0x03c77dbb, 0x01ddcd87, 0x0302b3ca, 0x036e9306, 0x0018d993}}}, + {X: Field{[10]uint32{0x022fc5cc, 0x025d741e, 0x02e4f825, 0x0065bcd6, 0x01d0142f, 0x02e09370, 0x022ba333, 0x00878000, 0x009c2fd7, 0x0009e13a}}, Y: Field{[10]uint32{0x003b8cf4, 0x00d7bd77, 0x001db4a3, 0x0113c021, 0x005a391e, 0x00958a3d, 0x00232b9b, 0x019874d5, 0x0266bdfa, 0x0002e962}}}, + {X: Field{[10]uint32{0x001a2390, 0x023b37ac, 0x00d0b9b9, 0x02ffdabd, 0x030c9118, 0x0212e8f3, 0x001dd831, 0x01ce0085, 0x0362ebcb, 0x002ada66}}, Y: Field{[10]uint32{0x00766905, 0x0241128d, 0x03e71a60, 0x01ede611, 0x012be011, 0x02829f33, 0x0142547d, 0x0083db17, 0x0210b714, 0x00179520}}}, + {X: Field{[10]uint32{0x035756ec, 0x00f53c2d, 0x02e08dda, 0x00aa60d6, 0x02220955, 0x01b747aa, 0x03ad6d39, 0x038dfee7, 0x03a567ff, 0x001e07a9}}, Y: Field{[10]uint32{0x02637256, 0x0141683c, 0x034b2af9, 0x001f6b37, 0x000403a5, 0x02e99933, 0x01481744, 0x00ee5f93, 0x007b46f6, 0x000f1db6}}}, + {X: Field{[10]uint32{0x0374029c, 0x002f4fb8, 0x033fd39d, 0x00ef882c, 0x03a0e1ce, 0x023fb968, 0x0004fe7b, 0x002a0a97, 0x0130dd5c, 0x001d6acb}}, Y: Field{[10]uint32{0x01914b9f, 0x0057f358, 0x0121a722, 0x03ead7be, 0x0330536e, 0x0253073d, 0x01f6f8e6, 0x00e4eb2e, 0x0147fdb1, 0x002abd18}}}, + {X: Field{[10]uint32{0x00ddaff0, 0x00433e02, 0x03ced85a, 0x00cf4471, 0x01087124, 0x0212b55b, 0x023caea6, 0x00f6a5b4, 0x02983730, 0x000a52d9}}, Y: Field{[10]uint32{0x0346f7c1, 0x02993de6, 0x00b4222f, 0x03f20be7, 0x01e5861b, 0x00e2fc7c, 0x0007fa8b, 0x00fa7aa5, 0x02f7feb7, 0x002bd35f}}}, + {X: Field{[10]uint32{0x0024c8d6, 0x031b8d2e, 0x02e55ea3, 0x03a4495f, 0x00f290f6, 0x0365c047, 0x0283b06b, 0x018e7f25, 0x02ea7433, 0x003619da}}, Y: Field{[10]uint32{0x03a7456d, 0x0296dc65, 0x0230fd71, 0x00ab79c7, 0x0309017b, 0x01aab04c, 0x00f3e5cd, 0x01551424, 0x007635d4, 0x001c4322}}}, + {X: Field{[10]uint32{0x021270d0, 0x02fb9d05, 0x03544fd8, 0x009ea4ed, 0x00cee714, 0x0361a916, 0x004771c6, 0x03d6b0ab, 0x02030d90, 0x001793b2}}, Y: Field{[10]uint32{0x00c97351, 0x02bc2dd0, 0x03b9ff0c, 0x0293d232, 0x00a93bb4, 0x00d8a225, 0x03a6d603, 0x03e2febf, 0x0143b970, 0x00113f80}}}, + {X: Field{[10]uint32{0x0180097e, 0x03c496e1, 0x021dc157, 0x00f76f1d, 0x01265c3a, 0x026d5521, 0x0308f212, 0x02ea17f9, 0x01aa244f, 0x0024054b}}, Y: Field{[10]uint32{0x03ef2cf7, 0x00d5ce60, 0x03939b94, 0x00b120d5, 0x038a6d39, 0x03f0bd84, 0x01fa3b28, 0x021a42d6, 0x02c9200b, 0x0005a534}}}, + {X: Field{[10]uint32{0x005637b5, 0x02cf2423, 0x020f191f, 0x0265ccbb, 0x00daf3a1, 0x032fcae7, 0x03a953fa, 0x01c7114f, 0x00f096f1, 0x0019f755}}, Y: Field{[10]uint32{0x02de74b1, 0x009e6f13, 0x005dfb36, 0x02914d99, 0x025fd6c4, 0x028ce318, 0x01022365, 0x019db6d9, 0x03432d33, 0x0014c9f6}}}, + {X: Field{[10]uint32{0x036c51ef, 0x037e57ee, 0x00790142, 0x015d57bf, 0x032e7704, 0x01d33d50, 0x020f1447, 0x03fd5d96, 0x02838f95, 0x0031925a}}, Y: Field{[10]uint32{0x00d752a2, 0x0099ff2f, 0x038caca8, 0x0078e8e2, 0x031177b5, 0x022c16d4, 0x0186f01d, 0x0075ce4b, 0x01d6604d, 0x00330010}}}, + {X: Field{[10]uint32{0x00c11c74, 0x03f6dbda, 0x029ad933, 0x02da5187, 0x02425bf4, 0x02043674, 0x01e5e728, 0x00eff51d, 0x030a0b16, 0x0039e675}}, Y: Field{[10]uint32{0x00ba8600, 0x027f0605, 0x02b215ef, 0x0274689c, 0x03e50444, 0x00631b44, 0x00adcf76, 0x03b8fe6c, 0x005fe29b, 0x003f0d1d}}}, + {X: Field{[10]uint32{0x01489d3b, 0x03d16b17, 0x0175acb6, 0x01d30f73, 0x02820c87, 0x0060f60b, 0x032aa221, 0x02404540, 0x03b0151a, 0x001b4f25}}, Y: Field{[10]uint32{0x02d4749f, 0x03356c52, 0x023231c2, 0x03e7b99c, 0x0264b57d, 0x033b767b, 0x0295d438, 0x035dee3d, 0x01013d15, 0x0016aa2f}}}, + {X: Field{[10]uint32{0x02517539, 0x0163bfc2, 0x00165456, 0x030ea0be, 0x03b96d8e, 0x0131a8e6, 0x01cf2d9a, 0x01f79d06, 0x02001c1e, 0x0021b94f}}, Y: Field{[10]uint32{0x0344ad86, 0x01d7c06a, 0x03520ce4, 0x02b099b7, 0x00c24491, 0x00198c45, 0x01da5254, 0x03b3033b, 0x0370f2ef, 0x0003e2c6}}}, + {X: Field{[10]uint32{0x02a9880a, 0x014210d4, 0x0074347c, 0x02407cf2, 0x03075feb, 0x023b6ccf, 0x023267a7, 0x01f33aa6, 0x0339ac87, 0x00299070}}, Y: Field{[10]uint32{0x03982163, 0x029c9583, 0x01009c34, 0x031abf72, 0x01407559, 0x01f5a729, 0x03dc101b, 0x016b14f1, 0x014f2b27, 0x0036229b}}}, + {X: Field{[10]uint32{0x0182511a, 0x004d5a27, 0x00ceb9e0, 0x03550243, 0x00b925aa, 0x0378c5d5, 0x001de436, 0x02099916, 0x03a94d77, 0x000e8054}}, Y: Field{[10]uint32{0x00802035, 0x00cf5e96, 0x0055e35a, 0x00367c2b, 0x0111154b, 0x03fc1b3e, 0x0252df38, 0x017169e8, 0x02489493, 0x00003db2}}}, + {X: Field{[10]uint32{0x032b170f, 0x030a9851, 0x0058c5be, 0x035f18fd, 0x002c2e51, 0x009ba5bd, 0x0126b31d, 0x0326b501, 0x00e8a131, 0x0039e009}}, Y: Field{[10]uint32{0x034e0c53, 0x01fd9627, 0x008eaf19, 0x00125d90, 0x013a3092, 0x036ad977, 0x0093d9ce, 0x02c63c8d, 0x014b1ad7, 0x00315028}}}, + {X: Field{[10]uint32{0x006a5162, 0x004cce2a, 0x007cc7df, 0x01878b76, 0x007f05a1, 0x0064919a, 0x00380fab, 0x03c3b1d0, 0x005e8351, 0x001e1632}}, Y: Field{[10]uint32{0x02a6de1c, 0x035f96cd, 0x03a60928, 0x001969db, 0x037e658e, 0x03111354, 0x002897e7, 0x0281bf0e, 0x03445313, 0x0032b650}}}, + {X: Field{[10]uint32{0x030263e6, 0x01c51eb2, 0x024b82f3, 0x022b5666, 0x00ddb9da, 0x02597ccd, 0x0268c170, 0x037750d6, 0x02281c5b, 0x0001990f}}, Y: Field{[10]uint32{0x032cf79b, 0x022d6229, 0x03f36d72, 0x03e9a513, 0x016f2dc8, 0x02125a35, 0x008f9282, 0x02a82e6f, 0x02368ee1, 0x0027e7e7}}}, + {X: Field{[10]uint32{0x01b2254b, 0x0164b5ae, 0x035e7106, 0x008fa684, 0x02b31325, 0x03a81755, 0x03e8f9e3, 0x03c5325b, 0x0137a286, 0x0017cdb6}}, Y: Field{[10]uint32{0x0056310a, 0x011922e4, 0x02cfc2e5, 0x0070f21a, 0x029adb0e, 0x03cbf4e7, 0x02bf753e, 0x017fcb73, 0x037cc826, 0x0002758d}}}, + {X: Field{[10]uint32{0x023e2224, 0x019dfaf1, 0x0212fb17, 0x01c9187a, 0x02310f91, 0x00a140f0, 0x0226f266, 0x0282a97d, 0x01ae93d3, 0x00084bac}}, Y: Field{[10]uint32{0x036d1b67, 0x033f51d2, 0x02fa51df, 0x03fbd7f5, 0x010bbc5a, 0x03d4a09a, 0x038d9fdc, 0x00805b1c, 0x0233347f, 0x0014795f}}}, + {X: Field{[10]uint32{0x01e9eab4, 0x02175dcd, 0x0277e9a0, 0x024e39bc, 0x01dedb3b, 0x000f3898, 0x00481452, 0x027e4cca, 0x02c8940b, 0x00149a54}}, Y: Field{[10]uint32{0x01a42918, 0x013d3361, 0x0210952e, 0x023c50fe, 0x001d9aa5, 0x006013fe, 0x01fe2fd8, 0x00aabe69, 0x03a356df, 0x002195f3}}}, + {X: Field{[10]uint32{0x001c099f, 0x022f81d3, 0x036ef8f9, 0x00f2e5ea, 0x010419e0, 0x0254e8b4, 0x03a8778c, 0x00a04b92, 0x010def76, 0x00083c5d}}, Y: Field{[10]uint32{0x02cd485e, 0x03a2cc6e, 0x0060ebd8, 0x01396af0, 0x01d9d97b, 0x01a87b0b, 0x020bf881, 0x034a9fec, 0x01f53e7a, 0x0034bfba}}}, + {X: Field{[10]uint32{0x027ee910, 0x024db735, 0x02496da2, 0x0397bed9, 0x01dbc7f5, 0x03c4f1a4, 0x023cfb27, 0x00599708, 0x03b7ea01, 0x00388c68}}, Y: Field{[10]uint32{0x0365d53f, 0x02d7f02f, 0x0011e96e, 0x000bec5c, 0x0345e4f6, 0x0337c4f0, 0x027316c7, 0x0004c7cf, 0x002e18e8, 0x002a9917}}}, + {X: Field{[10]uint32{0x01c702ad, 0x005d2d89, 0x002cbed7, 0x0189a1e8, 0x01d01aa9, 0x014b9ca6, 0x02eac355, 0x009b74f6, 0x01523fd0, 0x001e9393}}, Y: Field{[10]uint32{0x01b965d2, 0x02ccc13f, 0x01b8471e, 0x03047e50, 0x007d2bdf, 0x0335f269, 0x00612044, 0x02396ab9, 0x02b6a739, 0x000d4704}}}, + {X: Field{[10]uint32{0x03f137b3, 0x013471b2, 0x03eaa557, 0x019c6688, 0x039a8589, 0x0000431b, 0x00a5a5ca, 0x0159c19f, 0x007e7696, 0x003f4bdc}}, Y: Field{[10]uint32{0x00315408, 0x01d4c1be, 0x038aa1ae, 0x021e78ef, 0x01df00e2, 0x033957d0, 0x039b1613, 0x0391ccc7, 0x030c1d5a, 0x00311690}}}, + {X: Field{[10]uint32{0x002bb89d, 0x024634fc, 0x01373f3f, 0x0293e099, 0x036c2ac2, 0x034c121d, 0x0011d676, 0x03d3f384, 0x001e8cf2, 0x003141b3}}, Y: Field{[10]uint32{0x01d3118a, 0x019078a9, 0x02f0c058, 0x01b8bd63, 0x01bea33d, 0x03dee982, 0x0247f6d1, 0x026cccbe, 0x03b37402, 0x002379b7}}}, + {X: Field{[10]uint32{0x035c0369, 0x0012dd6a, 0x02eebb82, 0x035f63e1, 0x00ad1bb4, 0x0327378f, 0x02b901c3, 0x03e6661a, 0x0102d9cc, 0x000ba9eb}}, Y: Field{[10]uint32{0x02b0ed43, 0x000c6543, 0x03d9ce40, 0x0189253a, 0x032b2135, 0x02bdda51, 0x03648ddd, 0x000c09d8, 0x03d86d75, 0x0004488a}}}, + {X: Field{[10]uint32{0x02159c5c, 0x00e33467, 0x0279c4c3, 0x00eb77f4, 0x00f8a602, 0x028ab04d, 0x004b421b, 0x039394be, 0x01923555, 0x002ae330}}, Y: Field{[10]uint32{0x0351ee1a, 0x007c8fe1, 0x00ff514d, 0x03ad532a, 0x015a5b54, 0x0311241e, 0x029fbda6, 0x0236f08f, 0x03bdcc26, 0x000b1238}}}, + {X: Field{[10]uint32{0x01dad430, 0x02bd01fd, 0x00e04c54, 0x009fcb3f, 0x02c37784, 0x029c4226, 0x0348e1c2, 0x0107ea46, 0x02e1cc7c, 0x00223fb0}}, Y: Field{[10]uint32{0x033ed80b, 0x02277ae2, 0x02cf3c4b, 0x019bec7f, 0x02dce306, 0x02c0d709, 0x02c7a049, 0x01994d7e, 0x02884f69, 0x00332d17}}}, + {X: Field{[10]uint32{0x034b0d41, 0x034dda1d, 0x0357c011, 0x02871931, 0x02940522, 0x03a83373, 0x02c31272, 0x03d746d0, 0x03ae1acc, 0x00101161}}, Y: Field{[10]uint32{0x030e787b, 0x028e4ffb, 0x01325f96, 0x03ad7395, 0x0163401d, 0x02cd46cd, 0x0368c369, 0x0187d3dc, 0x025b25ae, 0x003a373c}}}, + {X: Field{[10]uint32{0x02b9ab8a, 0x0093469f, 0x01097514, 0x033ef136, 0x0128a377, 0x009d4245, 0x00cf20ab, 0x02a30234, 0x02b9cade, 0x00229c07}}, Y: Field{[10]uint32{0x02ba5a45, 0x02737ab2, 0x0143a454, 0x0099bc0b, 0x01265e8b, 0x02a62d68, 0x0076154c, 0x02b1c30f, 0x018282a9, 0x0013c116}}}, + {X: Field{[10]uint32{0x01ad3d56, 0x00aa9e22, 0x0038929b, 0x001b1b59, 0x0366e15e, 0x00422930, 0x02141fdb, 0x00270a76, 0x01781940, 0x0030a04a}}, Y: Field{[10]uint32{0x035db5c1, 0x024db22d, 0x01afa974, 0x039db952, 0x029c9db5, 0x032c7951, 0x0034255d, 0x03a5a68a, 0x02fb6670, 0x00215027}}}, + {X: Field{[10]uint32{0x031d72fe, 0x03ee0401, 0x021298ad, 0x02d0aea9, 0x000f8ea4, 0x002e0af8, 0x03b04d19, 0x03210e4a, 0x02b1c810, 0x0027ff4d}}, Y: Field{[10]uint32{0x01b38404, 0x028f5a80, 0x03d871ca, 0x0291a997, 0x026f25fd, 0x03ea7f86, 0x002955eb, 0x0037e069, 0x024ba11f, 0x0004789e}}}, + {X: Field{[10]uint32{0x01a48b96, 0x01be1e69, 0x02b25f1c, 0x011d78ff, 0x0239e431, 0x0143bb18, 0x01072107, 0x02c05f2b, 0x0044bc92, 0x002b1280}}, Y: Field{[10]uint32{0x02b8dfe1, 0x02233907, 0x00de2d5f, 0x02fd15ed, 0x03f526bb, 0x011307d4, 0x03498533, 0x000bfc79, 0x03ba7310, 0x001071f0}}}, + {X: Field{[10]uint32{0x0306eb5a, 0x0393a19e, 0x0214224a, 0x01b35d93, 0x0357d808, 0x03467f17, 0x03c83bf9, 0x02a482cf, 0x001c157c, 0x0031e2c4}}, Y: Field{[10]uint32{0x038126c8, 0x00dfc674, 0x001d2deb, 0x033570a7, 0x02b7a9d7, 0x013cee3d, 0x035f533b, 0x0183ffeb, 0x006eb9d6, 0x0006a34b}}}, + {X: Field{[10]uint32{0x03147cd2, 0x0396ba1d, 0x03d13578, 0x02e39b45, 0x01c24b0d, 0x02bb7648, 0x03c1c2db, 0x0122e57c, 0x03055723, 0x003423ce}}, Y: Field{[10]uint32{0x022713cb, 0x0187899d, 0x00696914, 0x02bd77f8, 0x034987df, 0x0028e148, 0x02e3e5c9, 0x01f2eda6, 0x00de0a06, 0x0009ed7f}}}, + {X: Field{[10]uint32{0x01e312f5, 0x02312ca9, 0x004893d0, 0x01471602, 0x001091cf, 0x01f1707f, 0x01db0f1c, 0x03d87ae0, 0x003d5060, 0x00103a81}}, Y: Field{[10]uint32{0x0166b27c, 0x005a8007, 0x01f30848, 0x00fbed96, 0x02043de0, 0x0167c54d, 0x02719be2, 0x00c0bf80, 0x02c42836, 0x000bbc47}}}, + {X: Field{[10]uint32{0x018362e7, 0x0212b40d, 0x02ec39f1, 0x03e76ec7, 0x0117db73, 0x0090bae9, 0x00827b28, 0x02d2cb7a, 0x00bdfb53, 0x003e7441}}, Y: Field{[10]uint32{0x01771877, 0x0333f3d3, 0x03167296, 0x03052bdb, 0x0268f4e3, 0x01f50fc2, 0x02707b6d, 0x006520ae, 0x020b6c37, 0x0035d912}}}, + {X: Field{[10]uint32{0x03f9ddc9, 0x00dde37b, 0x02b6e570, 0x028905c4, 0x00fea5f8, 0x0268176b, 0x02132b40, 0x0120a539, 0x02ee14c3, 0x003749da}}, Y: Field{[10]uint32{0x01ceb7ef, 0x0260d4e9, 0x0066b7bc, 0x0180add0, 0x034803f7, 0x025a4343, 0x02de6553, 0x03bb25ff, 0x017d5d92, 0x00026f98}}}, + {X: Field{[10]uint32{0x01155d49, 0x03a13c18, 0x012f4c8b, 0x035de149, 0x032104c7, 0x03c36e36, 0x03d11f67, 0x01ef4319, 0x0039d5f1, 0x002148be}}, Y: Field{[10]uint32{0x023ea117, 0x00ea5656, 0x00777316, 0x0375667e, 0x02e01f3e, 0x03729256, 0x039b59cd, 0x007e3db2, 0x01518031, 0x002dde46}}}, + {X: Field{[10]uint32{0x02b5b225, 0x000c362d, 0x0264eeb2, 0x01992ff3, 0x02510491, 0x018519ca, 0x0002a624, 0x02fa383f, 0x02bdb4f3, 0x001cca00}}, Y: Field{[10]uint32{0x02a3c6f3, 0x01aadc91, 0x01f8e35a, 0x018b4455, 0x02d9022d, 0x0302c973, 0x0105f92c, 0x03b875a9, 0x01ec590e, 0x001ef533}}}, + {X: Field{[10]uint32{0x0167af62, 0x036d5cd6, 0x02fc68fb, 0x02bf1125, 0x01f5ffcb, 0x022f7a85, 0x0273276b, 0x020d4887, 0x01a12c4f, 0x0006cd90}}, Y: Field{[10]uint32{0x01664048, 0x03619b66, 0x021cef0f, 0x00c81ea3, 0x000b824c, 0x02d33407, 0x01e2e153, 0x00adecbb, 0x02f5e5d1, 0x0000f543}}}, + {X: Field{[10]uint32{0x0301a7ce, 0x0254974f, 0x00c852c7, 0x01576efa, 0x010c8972, 0x02d9b4e4, 0x02cbe60c, 0x0213ffb5, 0x02184e92, 0x0034c0d3}}, Y: Field{[10]uint32{0x01d09e25, 0x03e3e67e, 0x013b48c4, 0x0313bacd, 0x0211172a, 0x017c6e87, 0x0094b058, 0x01439ca8, 0x030416ce, 0x002cd998}}}, + {X: Field{[10]uint32{0x01e9db17, 0x00c9c29a, 0x0176d65c, 0x00aa8eb4, 0x0261c6db, 0x023d3e16, 0x03a44610, 0x03d7bc63, 0x0200bd22, 0x00239ea0}}, Y: Field{[10]uint32{0x03530568, 0x012cec7c, 0x01ceadee, 0x01d466cd, 0x004a4824, 0x01c7d335, 0x03536edc, 0x025e6fe1, 0x03b51cce, 0x002107f8}}}, + {X: Field{[10]uint32{0x00a4027e, 0x02c2d958, 0x009e85da, 0x00f60e40, 0x01c4af5f, 0x005086b8, 0x02aee276, 0x0219c746, 0x00de29ab, 0x003f332d}}, Y: Field{[10]uint32{0x037f993b, 0x02f48b83, 0x01c47fa6, 0x0352fa8a, 0x01a6e269, 0x03a5df9c, 0x036ac069, 0x0226bf56, 0x0396203b, 0x002808a7}}}, + {X: Field{[10]uint32{0x004c8a26, 0x00b001f9, 0x02576925, 0x01d87e67, 0x039e74a4, 0x03ab5c16, 0x00681f0a, 0x02060213, 0x017f4435, 0x0039a33f}}, Y: Field{[10]uint32{0x0028f82e, 0x004874b1, 0x013c1672, 0x01863a7c, 0x01712291, 0x03c343ad, 0x0378d50c, 0x038ab908, 0x00a7b027, 0x002b7670}}}, + {X: Field{[10]uint32{0x006891d8, 0x0381184b, 0x029a8072, 0x0022dc9b, 0x0263bfe0, 0x022ecc94, 0x026de7ac, 0x02b05921, 0x03ad4b81, 0x0022dbc3}}, Y: Field{[10]uint32{0x024bc9ca, 0x03b2bb6e, 0x01288092, 0x023e98a4, 0x0391493e, 0x0289ff84, 0x008d328c, 0x0012de02, 0x0108a8d6, 0x0026eb59}}}, + {X: Field{[10]uint32{0x024b78b1, 0x035266f5, 0x021ba8cf, 0x010d5ea4, 0x02470f89, 0x0019d185, 0x03178cf2, 0x00652498, 0x00aa37ac, 0x00042283}}, Y: Field{[10]uint32{0x0265bf55, 0x0067d928, 0x032a75a8, 0x0149844a, 0x039b7c04, 0x03fd45f1, 0x03e302e1, 0x0255bd7f, 0x0122be05, 0x001a0543}}}, + {X: Field{[10]uint32{0x0357edb6, 0x0100a131, 0x0208b429, 0x02949952, 0x02ab8e13, 0x00dc2971, 0x032daa83, 0x0315e474, 0x03330844, 0x003fb460}}, Y: Field{[10]uint32{0x02457fe5, 0x02707fcd, 0x01e56f83, 0x00bb4fe2, 0x00b1b52c, 0x0254ba8d, 0x0229a976, 0x02ae13ae, 0x03378395, 0x0019ef77}}}, + {X: Field{[10]uint32{0x00170a2f, 0x02cbb824, 0x00da501f, 0x02108d46, 0x00848b2d, 0x02933789, 0x03ed6f10, 0x01b3cd42, 0x039decd5, 0x002fafec}}, Y: Field{[10]uint32{0x03a11573, 0x0350328a, 0x0275197d, 0x036c2987, 0x0005acb2, 0x0051b652, 0x0125fbde, 0x03e21c8a, 0x00b3bb86, 0x0004c0ad}}}, + {X: Field{[10]uint32{0x001e716c, 0x01efca06, 0x0286c9c6, 0x015e74a2, 0x02af8d50, 0x01369ed5, 0x0070d3cb, 0x034edb11, 0x02ed2a58, 0x0019c4d6}}, Y: Field{[10]uint32{0x02fd6664, 0x01202723, 0x03040019, 0x00fc14fa, 0x0230fa2f, 0x03cdd111, 0x00f3e778, 0x038fbf72, 0x02ab2786, 0x0025f102}}}, + {X: Field{[10]uint32{0x0354f90e, 0x024a3950, 0x038b9c37, 0x01782436, 0x03c3dea7, 0x0135b7c0, 0x0309dd41, 0x01b96b36, 0x01bb0956, 0x002c03ad}}, Y: Field{[10]uint32{0x029b1258, 0x03e4fbb9, 0x0164d8ae, 0x01c044b2, 0x02ccc3a6, 0x02666bce, 0x0173aa63, 0x0399d3a6, 0x02411cb6, 0x001b4483}}}, + {X: Field{[10]uint32{0x03bb73a2, 0x03cce13c, 0x03bb8ecd, 0x024b7a7b, 0x01233375, 0x028e6cb6, 0x01db6d3b, 0x00808bc2, 0x026cbe8d, 0x001c86c6}}, Y: Field{[10]uint32{0x0205310f, 0x01632392, 0x020885b4, 0x039e542f, 0x014acbb2, 0x0253e01d, 0x01ae1f2e, 0x003d1c1d, 0x0362631a, 0x00336d06}}}, + {X: Field{[10]uint32{0x038a0837, 0x028f9137, 0x03f71d10, 0x020e5226, 0x0242f60b, 0x02431083, 0x0147cde1, 0x004b2a37, 0x00ac015b, 0x0032e35e}}, Y: Field{[10]uint32{0x0296dbc2, 0x01f33ffa, 0x022d5d17, 0x022c4206, 0x03abdc44, 0x03ecb849, 0x00d3846c, 0x00d9d7a3, 0x01a6a307, 0x00202f8c}}}, + {X: Field{[10]uint32{0x00781920, 0x03b1e15b, 0x0017a0af, 0x00af8bb8, 0x0137e5c5, 0x03450f95, 0x03f3ae66, 0x03621348, 0x03cc4919, 0x0012473e}}, Y: Field{[10]uint32{0x02874189, 0x01fb3115, 0x03ee62b1, 0x0353b706, 0x003ba714, 0x01367cbb, 0x004d29cc, 0x00c2234d, 0x03502628, 0x001d8c86}}}, + {X: Field{[10]uint32{0x02b507b4, 0x01c02cda, 0x0027cfb3, 0x011b17af, 0x038145d1, 0x02088c0e, 0x02ed33ff, 0x00898c8e, 0x03ee4899, 0x0001b28c}}, Y: Field{[10]uint32{0x00b11f4e, 0x00fa34b0, 0x03ec644e, 0x002a7276, 0x038c376a, 0x002548af, 0x00a20cfd, 0x03419078, 0x02b3f189, 0x0025adce}}}, + {X: Field{[10]uint32{0x01d842c7, 0x032aea06, 0x00f8997c, 0x03be6058, 0x001bf602, 0x008b3e9a, 0x03b33d38, 0x025c6db2, 0x03cb3c48, 0x001b47f7}}, Y: Field{[10]uint32{0x03b1713f, 0x01b4a733, 0x0376909c, 0x0311565a, 0x00fa555a, 0x01bc1180, 0x017c0629, 0x02098979, 0x03c46608, 0x00020af1}}}, + {X: Field{[10]uint32{0x02a43554, 0x038fea7f, 0x01b55c88, 0x00f0f87a, 0x02daeb53, 0x01ac8de5, 0x01ac3ca3, 0x00bd069a, 0x02991cf9, 0x0028fa05}}, Y: Field{[10]uint32{0x012855f1, 0x02520c8c, 0x020fa25e, 0x03d5e1b4, 0x0165887d, 0x015014c2, 0x0206b0b4, 0x0119ebe8, 0x029be802, 0x0021e9be}}}, + {X: Field{[10]uint32{0x01d49c70, 0x0230fa1f, 0x03ab571f, 0x013cfcbf, 0x007f570e, 0x0142cab1, 0x02c7438d, 0x030ca53a, 0x03d7cbfb, 0x003f212a}}, Y: Field{[10]uint32{0x03f73dd9, 0x014ddf69, 0x0075b691, 0x00ee959b, 0x02589f6c, 0x0266d905, 0x01b3f1cd, 0x015ac396, 0x02690713, 0x001d11ec}}}, + {X: Field{[10]uint32{0x0355d1b1, 0x02090200, 0x01769539, 0x02a1ce9a, 0x01af4e02, 0x03b28568, 0x00d31252, 0x0056e860, 0x02408fc5, 0x002fac8c}}, Y: Field{[10]uint32{0x019c1459, 0x030d0fd4, 0x01e95b3b, 0x028417ae, 0x00e2bbe6, 0x006dd96c, 0x02deba93, 0x02a6ab97, 0x000d6fa8, 0x0004be92}}}, + {X: Field{[10]uint32{0x0299eb8e, 0x0180d906, 0x00f13df7, 0x00ed810d, 0x010a50e6, 0x02f0094a, 0x02373d71, 0x035fcc66, 0x0279cffa, 0x001a2245}}, Y: Field{[10]uint32{0x00772fb8, 0x01ed6dda, 0x00524da0, 0x0258b9bb, 0x037736ce, 0x01b40540, 0x02a7c1e8, 0x022a8b4b, 0x01b76db2, 0x00102de3}}}, + {X: Field{[10]uint32{0x03068817, 0x0007b8ae, 0x01d96ed4, 0x03350a3a, 0x03b42e2f, 0x023ed754, 0x022f736e, 0x02c103f7, 0x01ad1ae7, 0x0003b10d}}, Y: Field{[10]uint32{0x0096f9f2, 0x02fb23bf, 0x03ac244b, 0x01175943, 0x0126860c, 0x01b13de5, 0x0028a856, 0x010dbd2a, 0x02aa1283, 0x0004efdb}}}, + {X: Field{[10]uint32{0x03de3033, 0x0165341a, 0x0249f374, 0x01d9885a, 0x0060a755, 0x01df9241, 0x03b7ce7f, 0x01a22df7, 0x02fa661f, 0x0019e7d6}}, Y: Field{[10]uint32{0x03617ca1, 0x03ecd71b, 0x017094e0, 0x00ca921f, 0x02c8fddd, 0x023c172d, 0x00f14bfc, 0x013f6956, 0x03d96c25, 0x003fcfff}}}, + {X: Field{[10]uint32{0x0233be60, 0x026994bd, 0x02d68ba8, 0x000bb3ad, 0x011aa2fc, 0x010c1ec8, 0x0348aeb6, 0x009b97ef, 0x00ea05dc, 0x0027faf6}}, Y: Field{[10]uint32{0x02630bee, 0x0390d923, 0x0099272b, 0x0258b1de, 0x033fc5dc, 0x02ef1783, 0x036e785c, 0x00e292b4, 0x03c8ea62, 0x0030219e}}}, + {X: Field{[10]uint32{0x000b1601, 0x00df24d8, 0x03acfe21, 0x02046d64, 0x010347b3, 0x03763e7c, 0x02bed696, 0x02d23b6d, 0x0154c534, 0x003621ac}}, Y: Field{[10]uint32{0x0375d077, 0x02ad7583, 0x03964f10, 0x03064edd, 0x03d74028, 0x03faa8fd, 0x02246c8e, 0x036aa713, 0x0118aa07, 0x002932f0}}}, + {X: Field{[10]uint32{0x006e9d47, 0x03929d11, 0x0349ab7e, 0x009f73b0, 0x01096a8e, 0x03fc85e8, 0x03f6ab68, 0x028e9820, 0x03efc187, 0x002be332}}, Y: Field{[10]uint32{0x03e941f0, 0x01c5b3da, 0x03dc4990, 0x00cc96a3, 0x031662a7, 0x0395539b, 0x025b625b, 0x000e49f6, 0x027c9988, 0x0000fb8c}}}, + {X: Field{[10]uint32{0x01d3d26a, 0x00662f1f, 0x033654a6, 0x0162a65e, 0x0042d334, 0x012952a1, 0x0051d224, 0x0098728d, 0x00e7891c, 0x0007a600}}, Y: Field{[10]uint32{0x01a215d4, 0x0269dcd9, 0x013bd566, 0x03259bdd, 0x03978120, 0x020b9acd, 0x031a321e, 0x03f03757, 0x0186bd6f, 0x000c8be2}}}, + {X: Field{[10]uint32{0x03150044, 0x0193159d, 0x015e415d, 0x029a8b49, 0x00aae4ff, 0x00ea43cc, 0x000dc97f, 0x02002561, 0x02f29f00, 0x00045718}}, Y: Field{[10]uint32{0x02d8af95, 0x035f8cba, 0x01a14a8f, 0x017a2f0b, 0x02cceef9, 0x0393f7c2, 0x03660e01, 0x03397bf5, 0x00127e37, 0x00136513}}}, + {X: Field{[10]uint32{0x02e0178c, 0x01565a0a, 0x02ba2598, 0x017fd0a0, 0x033f5313, 0x0144896f, 0x00d78e8e, 0x01e776cd, 0x039dacbf, 0x000072e7}}, Y: Field{[10]uint32{0x011a4bf5, 0x01a32d2f, 0x0284a50c, 0x03421577, 0x02d7b602, 0x02f3c8d3, 0x01595e20, 0x026f2508, 0x00e37a18, 0x0023f4e9}}}, + {X: Field{[10]uint32{0x03bfe357, 0x01e7b94b, 0x0370b66a, 0x0163e779, 0x01af86d2, 0x0326478e, 0x02b2a5bd, 0x03059d2e, 0x03c463e4, 0x0018a856}}, Y: Field{[10]uint32{0x02f52749, 0x02f792e3, 0x01e9f9f7, 0x0107a3af, 0x02d376fe, 0x01bd1548, 0x02da69fe, 0x01f93495, 0x029fd946, 0x002de3f2}}}, + {X: Field{[10]uint32{0x02df505e, 0x0047a4d7, 0x01ec454b, 0x00a96867, 0x026bd2c8, 0x01cefb53, 0x0170914a, 0x006520c5, 0x00e05bf3, 0x0015d29b}}, Y: Field{[10]uint32{0x00001318, 0x0206a5d7, 0x00b789b2, 0x02ea2ed7, 0x02d02dba, 0x006a6943, 0x02a60b8c, 0x03cce3c3, 0x02cccbd6, 0x0039ecb8}}}, + {X: Field{[10]uint32{0x024084e6, 0x02b47549, 0x023194ad, 0x02ad5839, 0x01c5ae50, 0x027b493f, 0x039cedad, 0x018692eb, 0x037ca3a3, 0x001931b8}}, Y: Field{[10]uint32{0x00116067, 0x025bb59a, 0x008d3f79, 0x003a09c7, 0x004b7a48, 0x00d6b801, 0x0054a07f, 0x02d01027, 0x035656b6, 0x0039b90b}}}, + {X: Field{[10]uint32{0x0100fd84, 0x002041d2, 0x03b11553, 0x011ab79f, 0x0371b277, 0x01d581e9, 0x0246af84, 0x02379555, 0x0297fe4a, 0x00124196}}, Y: Field{[10]uint32{0x030ae7f9, 0x0217c6b5, 0x03342834, 0x01efeed0, 0x0094e721, 0x01ec9d9f, 0x038eb43c, 0x00c2426a, 0x009f67a0, 0x0026175a}}}, + {X: Field{[10]uint32{0x030999cb, 0x02532a8c, 0x009aa443, 0x0079f962, 0x028500c9, 0x03a227cc, 0x02a683b7, 0x0242f61d, 0x03f91857, 0x001bf4cb}}, Y: Field{[10]uint32{0x01d2de3b, 0x025ea321, 0x0278c644, 0x024e3c69, 0x03efbd64, 0x031afc07, 0x013784e9, 0x03c975ea, 0x00841be1, 0x0004bfa0}}}, + {X: Field{[10]uint32{0x02d3b185, 0x02e4ad98, 0x0098b4eb, 0x03109bf7, 0x012d6d12, 0x01c25214, 0x0334812f, 0x027239bf, 0x00da4818, 0x001299f5}}, Y: Field{[10]uint32{0x038150f5, 0x033a945f, 0x01540684, 0x0174e269, 0x033e5009, 0x03e9c6e3, 0x03c668ee, 0x02ddddcd, 0x03f2f6e5, 0x00163aa0}}}, + {X: Field{[10]uint32{0x039f4db2, 0x0386fae9, 0x00c85987, 0x03165708, 0x00edecf4, 0x026b6d19, 0x020752db, 0x009dc174, 0x0131d3a9, 0x003a86b2}}, Y: Field{[10]uint32{0x0322b83e, 0x03dbcd19, 0x008309c3, 0x014da292, 0x03426b57, 0x001bf646, 0x0316597b, 0x02580560, 0x030e25aa, 0x0033da26}}}, + {X: Field{[10]uint32{0x01545c5a, 0x0136fd37, 0x006c12de, 0x03cfc65b, 0x0161414a, 0x02af2672, 0x032663f7, 0x00149f55, 0x026e248a, 0x00232cd6}}, Y: Field{[10]uint32{0x000cfcfa, 0x0254b99a, 0x02a7c4a3, 0x02afcdaf, 0x01c43292, 0x00235403, 0x02dfc3fa, 0x0336d99b, 0x00e047da, 0x0012ccb9}}}, + {X: Field{[10]uint32{0x027f21c8, 0x02673374, 0x008e3c8d, 0x02110c1e, 0x00843186, 0x01160558, 0x02f8dfbf, 0x030bab3f, 0x000cf150, 0x00091f20}}, Y: Field{[10]uint32{0x031d0db6, 0x010ba147, 0x030a7579, 0x01776cf9, 0x02a70839, 0x020a7adf, 0x026462f5, 0x03468398, 0x00dc914f, 0x003320b6}}}, + {X: Field{[10]uint32{0x03426673, 0x012191cc, 0x02482c9f, 0x0133b480, 0x025e0c4a, 0x0040dc23, 0x00f35666, 0x0249f3ec, 0x03c407fb, 0x001950f5}}, Y: Field{[10]uint32{0x0107ebab, 0x023cf51e, 0x0019c88d, 0x00c0ff72, 0x0020bbc7, 0x00c7a9d4, 0x00ae0d16, 0x02b5d605, 0x029a69b4, 0x003894ac}}}, + {X: Field{[10]uint32{0x0388e6d0, 0x0155ad30, 0x026c29b3, 0x036cb840, 0x02d5e759, 0x03d72705, 0x01da4aca, 0x00ce8e82, 0x0255d81c, 0x00313c44}}, Y: Field{[10]uint32{0x00a8fd49, 0x03554747, 0x014f24fc, 0x02ac61ba, 0x0195379e, 0x0123d463, 0x00e5530e, 0x022ad605, 0x02a81af4, 0x0038b98d}}}, + {X: Field{[10]uint32{0x02019eec, 0x0363be57, 0x005981ba, 0x023f2798, 0x01b08284, 0x012bd681, 0x003d92a1, 0x00e6ddce, 0x029d85da, 0x0033c61a}}, Y: Field{[10]uint32{0x0079e3fc, 0x01156f2c, 0x0064248f, 0x01f81873, 0x006b49f3, 0x0100425a, 0x03672a16, 0x03f8214f, 0x021bc860, 0x0032af78}}}, + {X: Field{[10]uint32{0x02ea8f32, 0x02ba40e1, 0x037f6be9, 0x011cf517, 0x00fe9d1d, 0x0222e3f6, 0x015c2c7a, 0x03704f96, 0x0353ad69, 0x0039b0f8}}, Y: Field{[10]uint32{0x00690be1, 0x001f0a2b, 0x02b57021, 0x008357b4, 0x0396b5a9, 0x012617cc, 0x0210800a, 0x01707485, 0x00c94f45, 0x001f4efb}}}, + {X: Field{[10]uint32{0x01060988, 0x029ecbb0, 0x01c118d6, 0x03ddcc34, 0x01d1ba01, 0x033c8a44, 0x0295dc6b, 0x01553551, 0x03a39bcb, 0x000e09ec}}, Y: Field{[10]uint32{0x0225a211, 0x0142bff2, 0x027bfd9f, 0x01890648, 0x00c800a3, 0x02e3d304, 0x0018c5ec, 0x03ba0c6e, 0x0047b7c9, 0x000c904c}}}, + {X: Field{[10]uint32{0x006d24fa, 0x01582373, 0x0013e48f, 0x021446d5, 0x004b55ed, 0x0102c3bd, 0x01ae898c, 0x01268aa3, 0x0138a4b1, 0x003fcdf3}}, Y: Field{[10]uint32{0x01c49048, 0x00cb2b2e, 0x03ceca68, 0x0354810c, 0x01f3ffde, 0x01a14ea5, 0x03a489b8, 0x019995f0, 0x01198f4c, 0x00179856}}}, + {X: Field{[10]uint32{0x020ce509, 0x034fa28c, 0x001def68, 0x01f11545, 0x01d9e53c, 0x03a0edd4, 0x03343229, 0x00beb87b, 0x03c85b49, 0x002f7fd3}}, Y: Field{[10]uint32{0x03de3d20, 0x013f7822, 0x00b8a43b, 0x0139135c, 0x02531f8a, 0x02656784, 0x015088a2, 0x01759985, 0x00649dcc, 0x003a3f66}}}, + {X: Field{[10]uint32{0x03bcd0af, 0x02a6cf0e, 0x02aef625, 0x001c9051, 0x02e59d10, 0x00063c47, 0x032719d9, 0x03cb55fe, 0x029c313f, 0x003f5ae8}}, Y: Field{[10]uint32{0x01c1079d, 0x00fa5f7d, 0x02bf6de7, 0x03a078e2, 0x035018db, 0x0065ae1d, 0x01f584b3, 0x00430c0e, 0x035e9133, 0x00061f6b}}}, + {X: Field{[10]uint32{0x0329ff28, 0x02dc42c6, 0x03b621d0, 0x01e05017, 0x004f4b5f, 0x02b0c05e, 0x032ae1c3, 0x01a4a7bd, 0x022d4860, 0x003a8f10}}, Y: Field{[10]uint32{0x03bf208c, 0x03fbe48c, 0x02af2564, 0x01f3be66, 0x01d10b37, 0x028c5b89, 0x03637eef, 0x0381bf0d, 0x001ec6c3, 0x0039162d}}}, + {X: Field{[10]uint32{0x007b3978, 0x01c14fd2, 0x03c390f8, 0x03b6bc6c, 0x0002ba8a, 0x002d166e, 0x0228924f, 0x03580234, 0x01334982, 0x001194dc}}, Y: Field{[10]uint32{0x01adf3f0, 0x03fd9693, 0x017006bb, 0x0368ee25, 0x023b2444, 0x00850f72, 0x003bb29e, 0x0277bfc9, 0x014c1318, 0x003f6599}}}, + {X: Field{[10]uint32{0x0178d8f5, 0x00dc5da1, 0x039dd996, 0x012a8b43, 0x01b5b29b, 0x03e78414, 0x036227f9, 0x001a6ab1, 0x03f11226, 0x003f6924}}, Y: Field{[10]uint32{0x01d46fa3, 0x02e1b1f8, 0x03a06d8e, 0x02d4958c, 0x02e04e55, 0x02600e98, 0x03a69d7f, 0x004db7d0, 0x013df63d, 0x00168cd6}}}, + {X: Field{[10]uint32{0x01f3e4c1, 0x0185d3ce, 0x000cd096, 0x015f15c8, 0x027ab5e7, 0x03a8dbfb, 0x028e2835, 0x00062951, 0x02e95f09, 0x001d3f10}}, Y: Field{[10]uint32{0x018751f0, 0x02c94848, 0x010b32a8, 0x01d52ff4, 0x033760e0, 0x017e3d75, 0x006204d4, 0x0324536a, 0x03403802, 0x00332a82}}}, + {X: Field{[10]uint32{0x00483d53, 0x022ec6bb, 0x03bafe11, 0x030a0503, 0x030d98f8, 0x0239051d, 0x03818da5, 0x01e68032, 0x004a997b, 0x0002633b}}, Y: Field{[10]uint32{0x02aaec08, 0x01a26b1f, 0x02ae4d81, 0x02782103, 0x01ac422d, 0x020b0675, 0x03b82fa1, 0x017354d9, 0x00581494, 0x000bf398}}}, + {X: Field{[10]uint32{0x03cba60f, 0x00dd2c44, 0x01fc13c2, 0x01025b31, 0x01e4fa15, 0x025ff55d, 0x015119f6, 0x032f7081, 0x01b789a5, 0x0031d0b7}}, Y: Field{[10]uint32{0x02f3532d, 0x02837a91, 0x0168013f, 0x03d3cac7, 0x01b32248, 0x039b6ea8, 0x002474b0, 0x02438750, 0x012834a9, 0x0026c2bc}}}, + {X: Field{[10]uint32{0x0391eb89, 0x0027f479, 0x0019b774, 0x0360ec4e, 0x005b5973, 0x03131c89, 0x00979136, 0x0019aad6, 0x004f9a78, 0x0036e8b8}}, Y: Field{[10]uint32{0x033baf43, 0x03f29798, 0x016a889d, 0x03821c11, 0x03aa0e90, 0x005e3c1d, 0x00240e7a, 0x017dd05a, 0x01223adb, 0x000d1d1e}}}, + {X: Field{[10]uint32{0x02f6538d, 0x0271a710, 0x01fbf106, 0x02183ada, 0x036cc47f, 0x03091cac, 0x0184dcb6, 0x021619ee, 0x02436e59, 0x001b532b}}, Y: Field{[10]uint32{0x01e0a84f, 0x02ec7cf5, 0x01cedb98, 0x019f59fc, 0x02125c2b, 0x00fbfbd4, 0x03c53c92, 0x03df3b75, 0x00c9f0c4, 0x0031fed6}}}, + {X: Field{[10]uint32{0x00523982, 0x005a80ee, 0x0010f9cc, 0x00e5bf65, 0x029ec5b5, 0x02eb8a46, 0x0264ed43, 0x01ec156d, 0x036ed5b6, 0x0013115f}}, Y: Field{[10]uint32{0x00f344eb, 0x007fb548, 0x00e988e9, 0x01ffb086, 0x02a435f4, 0x029ca09e, 0x022ed682, 0x03867d51, 0x03cf20aa, 0x00124b96}}}, + {X: Field{[10]uint32{0x0346eb3f, 0x035107f2, 0x018179cd, 0x030c1933, 0x0151fd8a, 0x01d2b8a5, 0x00033bfd, 0x022907d6, 0x01223477, 0x00135f9a}}, Y: Field{[10]uint32{0x022750c4, 0x024bd1b1, 0x012ad0c0, 0x001ef443, 0x036d7bbd, 0x01eb692e, 0x00538791, 0x0274f0e9, 0x00b2ff5c, 0x001d5bb0}}}, + {X: Field{[10]uint32{0x03d464b2, 0x0311f8c1, 0x0115cfef, 0x027292be, 0x004a4839, 0x02dd3be5, 0x03c565ea, 0x0351e6f6, 0x025069ba, 0x0002b16f}}, Y: Field{[10]uint32{0x02874345, 0x02df3eb7, 0x00381928, 0x02a94a6d, 0x008bad5d, 0x02739176, 0x0322c546, 0x0042d8dd, 0x03febc58, 0x000c91b8}}}, + {X: Field{[10]uint32{0x023995b2, 0x027a1036, 0x002d15d6, 0x002d8362, 0x0224f91e, 0x014d2c96, 0x026a4812, 0x0004e6ff, 0x01412135, 0x001f6a23}}, Y: Field{[10]uint32{0x00b9c587, 0x0080d23c, 0x03eb5cbc, 0x00b262b6, 0x026a2d09, 0x025dc90c, 0x00bb03cf, 0x0293e1c0, 0x018d62a7, 0x0026222b}}}, + {X: Field{[10]uint32{0x01abf149, 0x014af8ec, 0x037d4e8b, 0x00ac1744, 0x015d3b92, 0x034f3ad2, 0x01aa3eb4, 0x02734832, 0x031a6323, 0x000e27fc}}, Y: Field{[10]uint32{0x00fe7c93, 0x03000dce, 0x02d49dc3, 0x03b55456, 0x01042f54, 0x01db0521, 0x022ab22b, 0x002fca28, 0x022fbc84, 0x002c3b0a}}}, + {X: Field{[10]uint32{0x016c4370, 0x009e9756, 0x036f8f3c, 0x012637f3, 0x02a94b2e, 0x00f55cdb, 0x025afaad, 0x00a2cba9, 0x02cf5fb1, 0x00307306}}, Y: Field{[10]uint32{0x034fd38e, 0x010279a4, 0x0153b27c, 0x02a706ec, 0x00ecfec6, 0x028aa233, 0x006bf2da, 0x02b4c5b3, 0x004d1986, 0x002240d6}}}, + {X: Field{[10]uint32{0x03c9aa3a, 0x01462d21, 0x03cf98b3, 0x015fa46c, 0x0002a349, 0x00725b01, 0x0340be83, 0x01a28a91, 0x0252b927, 0x000e66b3}}, Y: Field{[10]uint32{0x00800005, 0x03ac4d12, 0x02869786, 0x030f2812, 0x03fd9af1, 0x035827e8, 0x017ae095, 0x00e91e84, 0x00b3abdb, 0x002420c5}}}, + {X: Field{[10]uint32{0x0206d0a2, 0x020eea6e, 0x03c76d82, 0x001832b6, 0x01470cc6, 0x001694ae, 0x02d98593, 0x000695c0, 0x03fd8c9d, 0x0001a550}}, Y: Field{[10]uint32{0x031057df, 0x03a2865c, 0x01d1b6f4, 0x030e2a40, 0x00404eb1, 0x00ca6022, 0x0348f17b, 0x01cbb4b8, 0x03d9a0c3, 0x003a6639}}}, + {X: Field{[10]uint32{0x00200100, 0x02dabdfa, 0x02d6d400, 0x00f3dc0e, 0x00911e55, 0x01cac70a, 0x01289a58, 0x011bbd68, 0x014fdf9b, 0x00085cb5}}, Y: Field{[10]uint32{0x03687a8c, 0x00625c46, 0x035d9edc, 0x03afd90a, 0x0334a8fb, 0x01cac89b, 0x0020df57, 0x00397832, 0x007d3b79, 0x0008486d}}}, + {X: Field{[10]uint32{0x015e8b56, 0x017df3a7, 0x03f286d4, 0x00e84390, 0x01cc2713, 0x01248e59, 0x026847d2, 0x00939743, 0x03e937a3, 0x003d81bd}}, Y: Field{[10]uint32{0x0286e007, 0x039d5c4f, 0x008d1a30, 0x02024728, 0x03f5b805, 0x024c9284, 0x03379448, 0x00878b44, 0x03b8622a, 0x001c004f}}}, + {X: Field{[10]uint32{0x0040fc99, 0x03639c5f, 0x0214edfc, 0x00b7526a, 0x012f95bb, 0x00d0abcd, 0x0032013b, 0x02d93c7d, 0x00c2dfce, 0x0027c548}}, Y: Field{[10]uint32{0x018e863d, 0x035534e2, 0x001996ca, 0x029040c2, 0x02d53dc0, 0x0192a41f, 0x024fe3b7, 0x03c0123e, 0x0226feb1, 0x003fa3f2}}}, + {X: Field{[10]uint32{0x031eaa08, 0x024dc288, 0x0260518a, 0x00632ca1, 0x0053afe4, 0x01724f4e, 0x00674eb7, 0x019dbbac, 0x036e7587, 0x00199c2b}}, Y: Field{[10]uint32{0x03eb09f3, 0x02933b92, 0x0053734b, 0x03314936, 0x00fb59fc, 0x02ec4bf6, 0x03fcee90, 0x01c7b825, 0x035edfc0, 0x000a64ff}}}, + {X: Field{[10]uint32{0x03898350, 0x0166a52c, 0x0152465f, 0x013ab5b2, 0x0140650a, 0x03a5530b, 0x00a4e2fe, 0x0312f393, 0x018b345c, 0x000571b5}}, Y: Field{[10]uint32{0x0363cf7f, 0x0039de28, 0x02cf3a6b, 0x02a9cf7c, 0x00221b12, 0x014a34b0, 0x020f3adf, 0x01865996, 0x013b4727, 0x00022531}}}, + {X: Field{[10]uint32{0x01389621, 0x00665ddd, 0x024548a9, 0x0082583a, 0x00adfffd, 0x017e1692, 0x0293ef17, 0x03790b24, 0x02bf60db, 0x002f12ad}}, Y: Field{[10]uint32{0x01040e42, 0x00d1d846, 0x01a4437a, 0x01d18552, 0x0100791a, 0x0335c64c, 0x016bb68e, 0x038a9d17, 0x00ba24a4, 0x003f8a28}}}, + {X: Field{[10]uint32{0x013e6ee1, 0x03cb8443, 0x01c8054e, 0x0141001f, 0x0064f20e, 0x031c0eea, 0x015e87f1, 0x03cbdb92, 0x006323fb, 0x00176ac7}}, Y: Field{[10]uint32{0x02695d93, 0x00d2a194, 0x023059c1, 0x0305acc3, 0x03e7f01a, 0x039a2ffe, 0x02db4153, 0x0182f6b9, 0x0200cf44, 0x0007f430}}}, + {X: Field{[10]uint32{0x028acaf2, 0x01f0625a, 0x03bb2dd6, 0x03639c0b, 0x035cea0b, 0x030ce73a, 0x0228dbb0, 0x01f111ef, 0x0157d735, 0x000b7c73}}, Y: Field{[10]uint32{0x02f1b9e8, 0x03d096b8, 0x01741492, 0x019e6577, 0x0186eefa, 0x0136ddbd, 0x039c0319, 0x0323770e, 0x001120cb, 0x000cc648}}}, + {X: Field{[10]uint32{0x00d9ab8d, 0x01377bd8, 0x02fea058, 0x019054d5, 0x023d9f97, 0x034aeb1d, 0x0100585e, 0x036bc20c, 0x00175a02, 0x000b606b}}, Y: Field{[10]uint32{0x01f9a0b7, 0x02060f0b, 0x011c9cd5, 0x00b33a7d, 0x0021052e, 0x039b09b9, 0x0297fd49, 0x0217d5e0, 0x00d13b17, 0x003e6423}}}, + {X: Field{[10]uint32{0x037dc097, 0x0241c090, 0x00db59ef, 0x03d3c47a, 0x0367b1e7, 0x00d5bac5, 0x000d40a5, 0x00b9cc91, 0x0362fb73, 0x0007eb05}}, Y: Field{[10]uint32{0x039b8729, 0x0176569e, 0x031584df, 0x009c04a7, 0x015ae7ce, 0x01d72cc3, 0x01a08ace, 0x01444cad, 0x004ca58d, 0x003b755e}}}, + {X: Field{[10]uint32{0x00c8c98e, 0x00659e0e, 0x01a9cc2b, 0x03c266c5, 0x0245caba, 0x02aa421b, 0x0093e884, 0x02e42e03, 0x035b4694, 0x00341a82}}, Y: Field{[10]uint32{0x0347def3, 0x00833ec1, 0x02da4986, 0x00517de2, 0x0114fcc8, 0x008bfcec, 0x01b391b2, 0x02c93f34, 0x02ba2777, 0x00132b51}}}, + {X: Field{[10]uint32{0x01e53445, 0x0054ac5f, 0x01d6929b, 0x02e33e6c, 0x01870059, 0x02dbc1a5, 0x007928ac, 0x0103e664, 0x03275902, 0x00124a37}}, Y: Field{[10]uint32{0x0300d505, 0x029d468c, 0x00ac53db, 0x0330a1aa, 0x03240b83, 0x01f70cda, 0x00c400f3, 0x00ec39ec, 0x020b655b, 0x002ddcf9}}}, + {X: Field{[10]uint32{0x03a28390, 0x018e7fe1, 0x01dda1b8, 0x01430cc7, 0x03f945d4, 0x00c8a09f, 0x02992617, 0x0060452e, 0x01f9cd54, 0x002986f3}}, Y: Field{[10]uint32{0x00d93a68, 0x03fa01ee, 0x004eeb40, 0x01c3af99, 0x018e61b3, 0x0007f893, 0x0201b2b3, 0x02eca151, 0x016ed6fd, 0x000f9dc7}}}, + {X: Field{[10]uint32{0x01db93c3, 0x0106c544, 0x0093f9f6, 0x013041fc, 0x030fb8e3, 0x00029e5d, 0x031228c0, 0x02deaece, 0x01b93e2f, 0x0014d68d}}, Y: Field{[10]uint32{0x02ff786f, 0x027fb26c, 0x02e96f0c, 0x02d7a354, 0x0292475f, 0x01f0b8f0, 0x0283fba2, 0x033230e0, 0x03355657, 0x00091c7f}}}, + {X: Field{[10]uint32{0x0065d4d0, 0x01e42d31, 0x00acfa5f, 0x00ab442e, 0x00f23ad4, 0x01af9c2c, 0x02888bbc, 0x003ca4dd, 0x012ce014, 0x0039a299}}, Y: Field{[10]uint32{0x001a7385, 0x03e7074f, 0x0094c06c, 0x01f82e03, 0x00ea6e0c, 0x02b54848, 0x034ecb6d, 0x00182cc4, 0x010cc368, 0x001275ce}}}, + {X: Field{[10]uint32{0x03e25fde, 0x03c3a64d, 0x007576b4, 0x01bc22f1, 0x01f5f05f, 0x03a883a6, 0x017855c3, 0x03334fbc, 0x027a74df, 0x003a24e7}}, Y: Field{[10]uint32{0x0261b173, 0x020a7fb5, 0x0388b3e0, 0x015368b0, 0x033773f4, 0x0127930a, 0x00c0fdf4, 0x0156df24, 0x033eff0a, 0x001ad229}}}, + {X: Field{[10]uint32{0x00751543, 0x0003ebd2, 0x01dafbfd, 0x020d9f0c, 0x007fe164, 0x029b9c2b, 0x00fa2930, 0x0061d200, 0x03ea3145, 0x00125804}}, Y: Field{[10]uint32{0x038c4332, 0x00b8bc6a, 0x03f65614, 0x0022e14d, 0x02581e15, 0x020accc4, 0x00001cb2, 0x0155be29, 0x01118790, 0x002d5c54}}}, + {X: Field{[10]uint32{0x004b1e1f, 0x0370f060, 0x0120189d, 0x00a79f31, 0x01bb0f6c, 0x00981342, 0x0157a072, 0x030ea55a, 0x01b0b1ef, 0x001111cd}}, Y: Field{[10]uint32{0x0259d6e4, 0x02f9001f, 0x0321f9ae, 0x027cca96, 0x023e9a43, 0x00143956, 0x0332a857, 0x02eacea5, 0x00a3461a, 0x002c6b58}}}, + {X: Field{[10]uint32{0x02d9511c, 0x02d0450f, 0x02475da3, 0x02279dea, 0x03e88821, 0x02e72630, 0x01a40e74, 0x01f573e1, 0x02c84acd, 0x00016016}}, Y: Field{[10]uint32{0x023c07c0, 0x0204d35a, 0x02363bb4, 0x00882bab, 0x0301ad00, 0x03635a6d, 0x0170dcf0, 0x014cfdef, 0x023bfbba, 0x003254a4}}}, + {X: Field{[10]uint32{0x039a9501, 0x02ddfbc9, 0x00898dca, 0x02f711b2, 0x02c12619, 0x02da4080, 0x01c53a12, 0x031e1578, 0x011830fd, 0x0022b045}}, Y: Field{[10]uint32{0x01ca4fa4, 0x035af52a, 0x0053ad59, 0x02e376cc, 0x00d5deb3, 0x02fec800, 0x0015493a, 0x03e83874, 0x00c77867, 0x000a7edf}}}, + {X: Field{[10]uint32{0x02ab542d, 0x01ed1102, 0x01ec67bd, 0x01bc8bd0, 0x014d7022, 0x031efbfd, 0x03c8a7cc, 0x02632da3, 0x01d3e429, 0x002a91eb}}, Y: Field{[10]uint32{0x003683e9, 0x0079d731, 0x01816f77, 0x013f0656, 0x024f8e8c, 0x03d9d166, 0x034f9e39, 0x036630eb, 0x0081ebef, 0x0033e96b}}}, + {X: Field{[10]uint32{0x0199889a, 0x02236e79, 0x013e419e, 0x026390cf, 0x03d39848, 0x019248ad, 0x0133f753, 0x0053ba48, 0x0127a27a, 0x003cd410}}, Y: Field{[10]uint32{0x001b45df, 0x0337c218, 0x03313c09, 0x008e819a, 0x0256c6d4, 0x01ef2e21, 0x02cdae54, 0x01a2a213, 0x037e9f98, 0x003c6be7}}}, + {X: Field{[10]uint32{0x024bf08d, 0x03bbbb5f, 0x0398c7c6, 0x03964986, 0x02272d3c, 0x026a6269, 0x00870766, 0x039a20d6, 0x0344edcb, 0x000cdcc3}}, Y: Field{[10]uint32{0x01775a6b, 0x0172f9b8, 0x02794860, 0x01fb31c2, 0x01b6fd05, 0x02f4b5e2, 0x02a32d81, 0x005b412c, 0x0128d877, 0x000fe0ce}}}, + {X: Field{[10]uint32{0x02dfb0d6, 0x02d2850f, 0x034786e5, 0x01fef84d, 0x00a33d41, 0x02492730, 0x00bdf072, 0x03d61220, 0x02dc8c06, 0x000c5a75}}, Y: Field{[10]uint32{0x0274ce5f, 0x018fa1aa, 0x037fcea1, 0x0030bf79, 0x00a31160, 0x023d0a32, 0x0382f596, 0x00e0e6e9, 0x022dec56, 0x000aa450}}}, + {X: Field{[10]uint32{0x002a4429, 0x03f331bc, 0x038e980c, 0x0114355f, 0x03c8c43a, 0x02a370fa, 0x007a64d5, 0x02ba073c, 0x0182013a, 0x00363191}}, Y: Field{[10]uint32{0x03822aea, 0x012312a4, 0x02a7be7f, 0x011e1278, 0x02c4773d, 0x027fb8ec, 0x012f195c, 0x018eba32, 0x00519688, 0x003121cc}}}, + {X: Field{[10]uint32{0x002b6f11, 0x007da7d0, 0x03fe1789, 0x03605368, 0x007e59c8, 0x018c6e21, 0x03cb0395, 0x0091bde9, 0x001f307e, 0x002b99c4}}, Y: Field{[10]uint32{0x01ed44cb, 0x007871c4, 0x022aee41, 0x03e5f608, 0x031d3900, 0x027e68d5, 0x02767afa, 0x0027a2e5, 0x03b4a90b, 0x003d7cb6}}}, + {X: Field{[10]uint32{0x01dbd8ee, 0x035fc520, 0x00f0c1a9, 0x010e095d, 0x02b4e2ff, 0x02068b17, 0x00a7dc9c, 0x020ce070, 0x023183ba, 0x002a7a1c}}, Y: Field{[10]uint32{0x02468901, 0x03775be5, 0x023354b7, 0x02b0f5ce, 0x03333153, 0x039a0d13, 0x01fb59be, 0x0038cf5a, 0x019990d9, 0x0025a041}}}, + {X: Field{[10]uint32{0x003376f2, 0x01078d39, 0x0048dad1, 0x01e7ed6f, 0x00694ef8, 0x00cf9a12, 0x014f43aa, 0x03502c9a, 0x021c0ae7, 0x00185afc}}, Y: Field{[10]uint32{0x0080fc77, 0x01772526, 0x02799bf0, 0x016a8f67, 0x024a2772, 0x02d693ea, 0x02451153, 0x0282ea0c, 0x03832aa8, 0x002fb063}}}, + {X: Field{[10]uint32{0x033f5c2d, 0x0144262b, 0x0295f8d3, 0x033dc069, 0x0339be47, 0x03a6f96e, 0x02882b11, 0x00cf51e2, 0x0335601f, 0x000487a0}}, Y: Field{[10]uint32{0x0103b3e8, 0x00a8a613, 0x03659f68, 0x01c11216, 0x03010dd0, 0x02ffe077, 0x005fdfdc, 0x02812df6, 0x013318fa, 0x000ba64a}}}, + {X: Field{[10]uint32{0x009f1141, 0x02325eee, 0x0193325c, 0x00a12a42, 0x003a83cc, 0x03bc6f12, 0x0013948f, 0x032a7025, 0x03973025, 0x002fe211}}, Y: Field{[10]uint32{0x02ad5386, 0x01c4fd9b, 0x0363f0e2, 0x0181aaee, 0x016de247, 0x020e3449, 0x015ae3a7, 0x03475e1b, 0x03263d26, 0x000654e8}}}, + {X: Field{[10]uint32{0x02f811f0, 0x0180295a, 0x02124e86, 0x0383ebb6, 0x00dd1b06, 0x0371d734, 0x0094d4bd, 0x0003e617, 0x01a65a38, 0x001f0a3a}}, Y: Field{[10]uint32{0x02b5c277, 0x005218e2, 0x03863134, 0x035bcb90, 0x002d396f, 0x001d09ed, 0x014cedb7, 0x027c0e24, 0x01b70e33, 0x0028dd5b}}}, + {X: Field{[10]uint32{0x00a66077, 0x024c5ca4, 0x02b9cb8b, 0x0244c6f0, 0x0346be07, 0x02e48e1e, 0x00b5bf6b, 0x00b3d073, 0x01ad45e6, 0x00397b1b}}, Y: Field{[10]uint32{0x004f0e19, 0x00ceaeb9, 0x00eda67c, 0x0249e884, 0x012bacd0, 0x038f1348, 0x014bea4b, 0x000f2be1, 0x02cc7757, 0x00340117}}}, + {X: Field{[10]uint32{0x018c2fed, 0x00d85a44, 0x02043583, 0x00f8d363, 0x00703626, 0x0112965d, 0x031c3525, 0x025517ec, 0x021f9203, 0x001bf25b}}, Y: Field{[10]uint32{0x038a9a51, 0x02eaeb62, 0x0089d9aa, 0x00376434, 0x026ca7c2, 0x010e5f8d, 0x030457f8, 0x037a365a, 0x02871571, 0x00340cb7}}}, + {X: Field{[10]uint32{0x006e4133, 0x0244569d, 0x0149acf4, 0x03738684, 0x021db684, 0x01f04c51, 0x02790914, 0x02711d0b, 0x03511c21, 0x002278f4}}, Y: Field{[10]uint32{0x030c5c90, 0x00be4618, 0x00b03689, 0x02eeec89, 0x0352fde5, 0x000f55fa, 0x00b53d23, 0x0211a361, 0x030b672e, 0x002aaf65}}}, + {X: Field{[10]uint32{0x010d5890, 0x0238628e, 0x01de84ff, 0x011c3fa8, 0x00c043e9, 0x02b6e36a, 0x00eb44ea, 0x01914e1e, 0x00f0b213, 0x000ade98}}, Y: Field{[10]uint32{0x004a5244, 0x02eeadf4, 0x02f41ae8, 0x01b46409, 0x01b80668, 0x02ce2cd9, 0x03407091, 0x00ca8164, 0x03161ba0, 0x000320a6}}}, + {X: Field{[10]uint32{0x009627e7, 0x01c8141b, 0x029d42f8, 0x01e6498e, 0x01bfeb98, 0x021e0bc9, 0x037c3dfa, 0x02badf9b, 0x031ac2c2, 0x001192e7}}, Y: Field{[10]uint32{0x02f7502c, 0x016d6d6d, 0x028aadac, 0x001db2d3, 0x029a23a1, 0x0140e1d7, 0x03761dbe, 0x02f30b7d, 0x03f459e1, 0x001f0982}}}, + {X: Field{[10]uint32{0x019b616f, 0x02d8e89d, 0x035ab268, 0x006a61ba, 0x000b2514, 0x01dd2d9c, 0x0331519e, 0x008a5438, 0x02304357, 0x001e494f}}, Y: Field{[10]uint32{0x027f88e1, 0x000d61b8, 0x03f69100, 0x0363c95d, 0x02ed6467, 0x01a59972, 0x00f5bae9, 0x008d4ec8, 0x017a55b6, 0x00369827}}}, + {X: Field{[10]uint32{0x01399556, 0x010b45b7, 0x02773876, 0x00250d65, 0x01019acb, 0x0154643e, 0x02b1967f, 0x03032d70, 0x007ce900, 0x00018d0a}}, Y: Field{[10]uint32{0x03debead, 0x02d186b0, 0x037581fc, 0x00f8c4af, 0x00223c47, 0x014ccd2b, 0x00042db2, 0x005804c3, 0x01098cf0, 0x00288d42}}}, + {X: Field{[10]uint32{0x021bee98, 0x01fc60d0, 0x00223358, 0x012e4588, 0x02d7ef2f, 0x01a9d6d0, 0x0018557f, 0x03f56e8d, 0x01c38bd8, 0x001d8448}}, Y: Field{[10]uint32{0x02dd530f, 0x025ef6d4, 0x010405c8, 0x00d2bebb, 0x0276070e, 0x02eca489, 0x026eeb01, 0x01d0d443, 0x015ff9c1, 0x0010051c}}}, + {X: Field{[10]uint32{0x01453413, 0x0375819b, 0x034b3e63, 0x03870bc1, 0x0077990f, 0x039428ac, 0x01a30784, 0x037c6967, 0x00c1bfbb, 0x00098632}}, Y: Field{[10]uint32{0x02a48da0, 0x01a7774c, 0x01ab0581, 0x016cc9bf, 0x024bdaf3, 0x03a8f2d1, 0x00e584b4, 0x02daac63, 0x023720f5, 0x002b94e6}}}, + {X: Field{[10]uint32{0x00f685be, 0x007c76e4, 0x0020dab3, 0x02d70266, 0x00d91699, 0x0124c22d, 0x03a57e19, 0x03c097f1, 0x00cc10c6, 0x00350a7f}}, Y: Field{[10]uint32{0x02648edf, 0x026f5396, 0x00964068, 0x00f5bedb, 0x00a8df04, 0x02f945a2, 0x0014ae91, 0x01646379, 0x01c1ee15, 0x00368ac5}}}, + {X: Field{[10]uint32{0x00e8b705, 0x036a3639, 0x00b6d56d, 0x03d8d994, 0x01bf1e0c, 0x028b6bbd, 0x0207625b, 0x0232acdb, 0x03c7c04b, 0x001a8638}}, Y: Field{[10]uint32{0x00e94eec, 0x005762f0, 0x0049ed62, 0x010097f3, 0x0120e754, 0x03149507, 0x039c9dab, 0x025b6faf, 0x0330f56c, 0x00198a44}}}, + {X: Field{[10]uint32{0x00f97756, 0x01e848be, 0x032201a3, 0x03fe906c, 0x01d7ca3e, 0x01a88719, 0x002fa4ad, 0x03cff952, 0x0046d1c9, 0x002616da}}, Y: Field{[10]uint32{0x02a3a92e, 0x03d5102a, 0x01592d56, 0x030234e4, 0x03bb9dc6, 0x03150fe2, 0x022f2c32, 0x023dadda, 0x03dd98e1, 0x000f8ac8}}}, + {X: Field{[10]uint32{0x026e8c64, 0x024a5b27, 0x03f3355c, 0x038e5953, 0x0296fba8, 0x031ef328, 0x02ee3395, 0x00e2918f, 0x01db4ba8, 0x00252283}}, Y: Field{[10]uint32{0x00f5c1d8, 0x010c970f, 0x00d2e12c, 0x03b4bde5, 0x01c7b705, 0x03949f58, 0x03b69b52, 0x0360fad9, 0x0025da19, 0x00316cd3}}}, + {X: Field{[10]uint32{0x00a3de2e, 0x02a903ea, 0x028c4256, 0x0331a521, 0x020a437f, 0x020985ec, 0x0246b47e, 0x02c0fede, 0x002c1332, 0x0010ccb4}}, Y: Field{[10]uint32{0x02aa5289, 0x02f83762, 0x01de1e1b, 0x02adcdd9, 0x00393985, 0x025045e0, 0x00327c03, 0x015576a5, 0x016f5f9c, 0x0039b946}}}, + {X: Field{[10]uint32{0x022a5aa3, 0x0330fedc, 0x01d96a67, 0x0315ac84, 0x02f7e12d, 0x0235a7d6, 0x0150b68a, 0x032257cc, 0x03b92ac1, 0x0017725d}}, Y: Field{[10]uint32{0x0107844d, 0x0342e567, 0x0217d10f, 0x00d0d040, 0x0283260c, 0x0331a5b4, 0x03d29123, 0x03b27872, 0x00a74bf1, 0x00116223}}}, + {X: Field{[10]uint32{0x03d15764, 0x006a078f, 0x022b0c6e, 0x035f418e, 0x00605e3b, 0x00000e49, 0x030cb6df, 0x03c492a6, 0x0134ca94, 0x0016e73d}}, Y: Field{[10]uint32{0x00897458, 0x006f2f00, 0x03d1d0d8, 0x01233a22, 0x03f9ba4b, 0x0282cb59, 0x0248790f, 0x01bffaf6, 0x01c3b051, 0x00113a63}}}, + {X: Field{[10]uint32{0x01372f59, 0x035ffdb5, 0x00a6697f, 0x02c25d1b, 0x02e2feb4, 0x022578b7, 0x026baf9c, 0x01c531f4, 0x00073a63, 0x00210d4c}}, Y: Field{[10]uint32{0x00c7a175, 0x00fcda2c, 0x022d23ca, 0x01f209b1, 0x023f9fea, 0x03cbcd14, 0x037361c0, 0x02751132, 0x029e3768, 0x0035cdce}}}, + {X: Field{[10]uint32{0x021e6a61, 0x000c3eb0, 0x02619804, 0x037fe1d1, 0x008f1a28, 0x00e09b9e, 0x008485fc, 0x026d7227, 0x000e3eef, 0x00273c00}}, Y: Field{[10]uint32{0x0291543c, 0x0184bdff, 0x020a1ac2, 0x01daaa47, 0x002764cd, 0x00801708, 0x021fcb9d, 0x012cb653, 0x033ad868, 0x000acf6a}}}, + {X: Field{[10]uint32{0x00e1235c, 0x01c68913, 0x035e9996, 0x014e0ebf, 0x038ee028, 0x012469d5, 0x0088b25b, 0x00623882, 0x03dc5897, 0x002eca4b}}, Y: Field{[10]uint32{0x012507e5, 0x00bd6690, 0x023a09e0, 0x03dc9f86, 0x00d5e9b8, 0x01624cd2, 0x03839909, 0x01e18ef2, 0x01c350ba, 0x0034edb6}}}, + {X: Field{[10]uint32{0x03b7d680, 0x01c32403, 0x01ced2d7, 0x01afc9f1, 0x03efd2bc, 0x008e6d88, 0x008a21a9, 0x03b55daa, 0x01d89835, 0x002575b4}}, Y: Field{[10]uint32{0x00baf048, 0x02ff819b, 0x02468e40, 0x00e31cb3, 0x02b39e7d, 0x03cf39a4, 0x034ac720, 0x01973bea, 0x01ad39db, 0x0032454d}}}, + {X: Field{[10]uint32{0x01d09a46, 0x01428ea1, 0x00fd89ee, 0x021f7cb2, 0x0115ea37, 0x00328325, 0x02c3fb90, 0x03b08270, 0x020fa164, 0x0032f8fc}}, Y: Field{[10]uint32{0x02fb9a28, 0x00bbfe42, 0x00e8b825, 0x01469962, 0x01734a22, 0x0061b9bb, 0x02222804, 0x00596d23, 0x0354faea, 0x00335625}}}, + {X: Field{[10]uint32{0x039f604a, 0x0278a4ec, 0x020949f3, 0x03d121f5, 0x01002942, 0x0299e0d7, 0x031c215b, 0x02788166, 0x02b99bab, 0x000f8076}}, Y: Field{[10]uint32{0x0123d481, 0x0172d7a1, 0x022670bd, 0x03e7a2da, 0x00d0a556, 0x019e7cfa, 0x03509798, 0x014113b8, 0x00323336, 0x002d0777}}}, + {X: Field{[10]uint32{0x02afef7a, 0x004e991d, 0x03350972, 0x0238578f, 0x01c79891, 0x012d8cc7, 0x031cfd2e, 0x03725857, 0x00c05543, 0x000a625d}}, Y: Field{[10]uint32{0x0299da2f, 0x0360181e, 0x0257de5c, 0x028d8b2d, 0x0222354e, 0x011fd82c, 0x00e02e87, 0x0362fa9d, 0x035555f2, 0x001a0060}}}, + {X: Field{[10]uint32{0x011fdc61, 0x019e4fd4, 0x003dfd93, 0x0322824f, 0x022aabde, 0x0107453d, 0x03764b46, 0x00f25ba8, 0x034d5476, 0x00075c19}}, Y: Field{[10]uint32{0x00dfe632, 0x03ad2f8e, 0x0010e8a4, 0x000588f7, 0x02807741, 0x025d4fd0, 0x024378e5, 0x0112f18c, 0x01ac697e, 0x00259d2b}}}, + {X: Field{[10]uint32{0x000fece1, 0x02c713c1, 0x00fbacc0, 0x02be46ae, 0x0073c47a, 0x023e2d8d, 0x021875ec, 0x02e5c189, 0x0107b43a, 0x001d4880}}, Y: Field{[10]uint32{0x03aeaffb, 0x01580ba8, 0x00b7b088, 0x035670d4, 0x0041bc9a, 0x02d5bbee, 0x02ebf2bf, 0x001f404a, 0x027cc3bf, 0x000a4253}}}, + {X: Field{[10]uint32{0x03779720, 0x039e4883, 0x03df92e7, 0x0232743b, 0x03fc7f4c, 0x002eb20e, 0x01b31aab, 0x013b0c9f, 0x01ffb347, 0x0033eb6e}}, Y: Field{[10]uint32{0x019a09b2, 0x002e64c3, 0x00b06ab0, 0x001b34ae, 0x0297d418, 0x02a67ea0, 0x0322ee02, 0x023315e3, 0x017f6f7b, 0x003fedd9}}}, + {X: Field{[10]uint32{0x01cb828f, 0x03a2daf0, 0x026f464c, 0x03d35ee0, 0x0334a7b4, 0x027612a9, 0x02e46e13, 0x01580eb7, 0x019dbe3c, 0x00093ba4}}, Y: Field{[10]uint32{0x03ff1506, 0x0297a985, 0x03e29364, 0x01dbb55f, 0x01ca6514, 0x00e6e3c4, 0x020b63c5, 0x0151ee4d, 0x0356794b, 0x001100e5}}}, + {X: Field{[10]uint32{0x00b100f4, 0x00c3bfdf, 0x011dd1b5, 0x014ff90e, 0x00c50ddb, 0x02972fbb, 0x016b8f10, 0x01495bd3, 0x02462f75, 0x00166578}}, Y: Field{[10]uint32{0x001dc64a, 0x005875b6, 0x0018ce08, 0x01ac4f74, 0x03fe78ac, 0x010049ff, 0x02d7ba20, 0x01459711, 0x027c7da0, 0x001df776}}}, + {X: Field{[10]uint32{0x034d54dd, 0x035470c8, 0x019c29db, 0x00dc073c, 0x00364f8c, 0x02464f02, 0x029fa205, 0x011e3384, 0x007197dd, 0x0029c8cd}}, Y: Field{[10]uint32{0x01796e68, 0x00bbbc4c, 0x019ad92f, 0x00446874, 0x009cfdd7, 0x006a5999, 0x00a5fa00, 0x00b32ce1, 0x015eec2b, 0x000b139a}}}, + {X: Field{[10]uint32{0x032251a5, 0x015b3404, 0x01c234ed, 0x0358eb50, 0x01a57cfe, 0x037a7f32, 0x0275fcc5, 0x00872f5f, 0x0369d5bc, 0x001919aa}}, Y: Field{[10]uint32{0x01294dc9, 0x0037e909, 0x005d2099, 0x033f12bc, 0x022e0c1e, 0x03da2536, 0x0222f5e5, 0x005b89d9, 0x03896dbb, 0x001db9fb}}}, + {X: Field{[10]uint32{0x01c28e60, 0x02b3683d, 0x014f11e0, 0x02d478cf, 0x017fab8b, 0x03c85851, 0x02fca2ab, 0x0222af79, 0x0390a293, 0x00297b33}}, Y: Field{[10]uint32{0x020e3ac3, 0x0016c998, 0x023f7948, 0x038b2044, 0x03110e74, 0x019a42b7, 0x02886435, 0x0047cdcf, 0x0116468a, 0x002bf5d6}}}, + {X: Field{[10]uint32{0x029c2779, 0x03561c7b, 0x01cdf89e, 0x01813472, 0x006a15d0, 0x00fb6796, 0x02e52a1e, 0x01e367c9, 0x02c74936, 0x0010946e}}, Y: Field{[10]uint32{0x02987aa5, 0x016b62dc, 0x0138d3a1, 0x032437fe, 0x004bb023, 0x01980ef3, 0x0190c60e, 0x01c5b5da, 0x027d92e6, 0x003e877c}}}, + {X: Field{[10]uint32{0x027db30e, 0x00b0a93e, 0x01903f04, 0x03409aa0, 0x030f40c9, 0x006078a0, 0x00f6b973, 0x03308763, 0x02a204c3, 0x001dea79}}, Y: Field{[10]uint32{0x00155aa0, 0x00f79746, 0x03180b6e, 0x0041cacb, 0x03e78d93, 0x02a84333, 0x01b757fa, 0x017336f7, 0x03ef23f2, 0x00287bd3}}}, + {X: Field{[10]uint32{0x03dbea6b, 0x007fdf9b, 0x0239de75, 0x003a667d, 0x02e9c0d2, 0x015dfe8a, 0x02de73c4, 0x01386f5a, 0x0161c40d, 0x000cff9e}}, Y: Field{[10]uint32{0x01f54849, 0x0102e335, 0x03037058, 0x0251c8ca, 0x039a5919, 0x01930c33, 0x016e7c14, 0x00c1b38c, 0x01cd4eeb, 0x00246df5}}}, + {X: Field{[10]uint32{0x01179564, 0x02085c3e, 0x003115b6, 0x00054927, 0x03395357, 0x01216f8b, 0x00a9d8cb, 0x00884692, 0x032e5ee5, 0x0010fd9a}}, Y: Field{[10]uint32{0x01a46a45, 0x03de1d0b, 0x028921db, 0x0265ca39, 0x003555e6, 0x018fd7e2, 0x030cf7fe, 0x03aefc30, 0x015ffec0, 0x0014dc2d}}}, + {X: Field{[10]uint32{0x00b19bfc, 0x0116db0e, 0x0170e1a7, 0x010dcfd6, 0x03ad2f0b, 0x011baa1e, 0x00c7f6b4, 0x0041d35d, 0x021497ef, 0x0012b4d9}}, Y: Field{[10]uint32{0x035cfd39, 0x0133583b, 0x03cfc0cd, 0x0208ca7a, 0x036f9eea, 0x00dbe143, 0x02da00d4, 0x016ff57a, 0x01aa769a, 0x0023d770}}}, + {X: Field{[10]uint32{0x0012754d, 0x035654f0, 0x012f9155, 0x019a6cbc, 0x02593368, 0x016de5ea, 0x0334dc97, 0x013553cd, 0x02ef9520, 0x0025e66a}}, Y: Field{[10]uint32{0x003e6353, 0x016a1d7a, 0x02f3a984, 0x03b3a88d, 0x0044c256, 0x03124b55, 0x025b476b, 0x0385cd0e, 0x00a3d31f, 0x0012dacd}}}, + {X: Field{[10]uint32{0x01d828a1, 0x03275045, 0x00dca0fb, 0x0145be6a, 0x03c1c22f, 0x0038d759, 0x003f2525, 0x018d70b4, 0x01f0c6e4, 0x00321892}}, Y: Field{[10]uint32{0x0295ec73, 0x026519fb, 0x0102586d, 0x024d1a7c, 0x02465238, 0x012f1dac, 0x01260b39, 0x013437d3, 0x030b37dc, 0x0003885d}}}, + {X: Field{[10]uint32{0x0256038d, 0x03370b99, 0x0308e3ac, 0x039824be, 0x0061a08f, 0x033f5018, 0x0282c840, 0x021fbf1c, 0x00c5de56, 0x002d237f}}, Y: Field{[10]uint32{0x00e8927c, 0x02db467f, 0x01566277, 0x0254deb4, 0x01c0b52a, 0x01c51d99, 0x0369c7bc, 0x01c1d1c7, 0x021fec73, 0x00021f8f}}}, + {X: Field{[10]uint32{0x02357fca, 0x000ff353, 0x02da8585, 0x0134d9cc, 0x030146fa, 0x034e0da8, 0x025c828f, 0x0154d718, 0x036c62d6, 0x001df73a}}, Y: Field{[10]uint32{0x00228bd4, 0x00747a86, 0x0367e909, 0x02321fee, 0x024304d0, 0x034dc3b4, 0x01b85213, 0x025c4d49, 0x02005a13, 0x003642c9}}}, + {X: Field{[10]uint32{0x0175e49a, 0x0191d40c, 0x01c17473, 0x00f8ccbd, 0x0069cfb4, 0x0331c2b2, 0x031cd633, 0x00061137, 0x00bf4cda, 0x0016d623}}, Y: Field{[10]uint32{0x02d55cda, 0x022432be, 0x017c0d47, 0x01e11d1a, 0x01a52e19, 0x03e57f39, 0x02b823b2, 0x02792a13, 0x031df9e6, 0x0005093b}}}, + {X: Field{[10]uint32{0x0320b20c, 0x001da164, 0x003b7da1, 0x02944711, 0x032c50ce, 0x03277764, 0x00702518, 0x01082023, 0x03ba8393, 0x003021ee}}, Y: Field{[10]uint32{0x0209d996, 0x00881ee4, 0x02b5f6ec, 0x00f1faf0, 0x00f637c2, 0x032f92cc, 0x030e3455, 0x0157cec0, 0x02697175, 0x001dfc9a}}}, + {X: Field{[10]uint32{0x0031ed94, 0x011d304c, 0x02a3835e, 0x0183c45f, 0x00247d7d, 0x030b1563, 0x00b3e7cf, 0x0020bc82, 0x017b68f8, 0x00234581}}, Y: Field{[10]uint32{0x02ba3eca, 0x01442475, 0x0314fed5, 0x029fbb1a, 0x016ffb8c, 0x02710e78, 0x00f6e0d1, 0x0344f440, 0x01b662ff, 0x000f4c17}}}, + {X: Field{[10]uint32{0x01c184b7, 0x03f7307b, 0x019d9242, 0x02597878, 0x03d17daa, 0x03dcdc7f, 0x03b8cd2a, 0x00af21b6, 0x00a603d3, 0x001d7fb8}}, Y: Field{[10]uint32{0x03efa2f8, 0x03f71924, 0x0040910b, 0x027a6810, 0x01061ee8, 0x020245e5, 0x03c992ff, 0x0025d7f9, 0x00ffabc3, 0x0030ac79}}}, + {X: Field{[10]uint32{0x03368abb, 0x0170789b, 0x007a110d, 0x01d51839, 0x02dda7fb, 0x02a1dc42, 0x00925990, 0x0024f5f4, 0x0159b147, 0x0019768e}}, Y: Field{[10]uint32{0x01862844, 0x01171708, 0x03ce95e3, 0x00a32eb8, 0x00a6f530, 0x0268c08c, 0x032b463d, 0x0307870f, 0x01f52f92, 0x000d6678}}}, + {X: Field{[10]uint32{0x027933d3, 0x0102dbe5, 0x03f4df81, 0x016fd101, 0x005dda1a, 0x01d4e61c, 0x02b787ca, 0x0084975d, 0x00109463, 0x0019587f}}, Y: Field{[10]uint32{0x020e6337, 0x02a6d564, 0x01ad629f, 0x00ddb4e8, 0x02cd083f, 0x02dba200, 0x02e8aeca, 0x00a0a0fa, 0x03cea88e, 0x001301b1}}}, + {X: Field{[10]uint32{0x00c4410e, 0x0179e920, 0x016a35ca, 0x00c19993, 0x03c8a3fc, 0x02748cd0, 0x03041a6a, 0x00dc0548, 0x03807049, 0x0032694f}}, Y: Field{[10]uint32{0x036e4bf9, 0x01128882, 0x02d42183, 0x02b7c8d9, 0x02369d4d, 0x038ec9cd, 0x02f0dd06, 0x003517af, 0x00a9b2e3, 0x0026bd1c}}}, + {X: Field{[10]uint32{0x03b89158, 0x00d165cc, 0x03bf03c7, 0x00517d5d, 0x00c203f8, 0x02e68550, 0x009f45a1, 0x015b76c0, 0x01f3443e, 0x00170549}}, Y: Field{[10]uint32{0x034f4f18, 0x00d24efa, 0x03c02f5b, 0x03eb2e67, 0x0358574a, 0x01895c1e, 0x00f4c803, 0x03646b5d, 0x02f7cb3e, 0x00259e24}}}, + {X: Field{[10]uint32{0x001648ed, 0x024e72d5, 0x01454d69, 0x02a5d7d8, 0x0269bb6e, 0x01cbfb83, 0x00add6d4, 0x005c75c5, 0x00dad87c, 0x000d5973}}, Y: Field{[10]uint32{0x0062aef8, 0x01a8b64d, 0x014edd48, 0x029daa35, 0x034f02d3, 0x00022c65, 0x03d09bbd, 0x018d6176, 0x03bfec2b, 0x0027df61}}}, + {X: Field{[10]uint32{0x010e3614, 0x03799847, 0x01edabd8, 0x03744e2d, 0x004527d3, 0x00a85297, 0x00f29df4, 0x0386a2bf, 0x0334c0f5, 0x001000fb}}, Y: Field{[10]uint32{0x003048c4, 0x0131a093, 0x00e2cd3c, 0x003cd85d, 0x033d3ead, 0x0160e70b, 0x03d0a763, 0x0133bf30, 0x01524489, 0x0019c80c}}}, + {X: Field{[10]uint32{0x012ea57f, 0x01574764, 0x013931cf, 0x0088024a, 0x02138864, 0x02d25689, 0x03b7de39, 0x0141e4fa, 0x035b3796, 0x003d7137}}, Y: Field{[10]uint32{0x01eb3482, 0x0011f80c, 0x02968f30, 0x0295f4c6, 0x03aca34d, 0x028d8434, 0x03672c74, 0x02331168, 0x003e12a9, 0x002c2e4f}}}, + {X: Field{[10]uint32{0x029e213a, 0x0259e4d5, 0x010b397a, 0x0239a73b, 0x01cbe869, 0x019600a2, 0x023533e5, 0x021b36e9, 0x0280e211, 0x0002f27d}}, Y: Field{[10]uint32{0x032e06a3, 0x004fea6c, 0x01d72007, 0x03d6e478, 0x017bf54e, 0x01f48137, 0x03b94ff8, 0x01463543, 0x03788105, 0x001ab7fe}}}, + {X: Field{[10]uint32{0x01a16516, 0x02674ab2, 0x006b055f, 0x011d39c1, 0x01549e83, 0x028f8988, 0x03e15d37, 0x02204514, 0x0397f1fe, 0x001373a1}}, Y: Field{[10]uint32{0x03e668ea, 0x0381d52a, 0x01d4337c, 0x02a1d26a, 0x02fc8a8a, 0x035c35ec, 0x00fd9f37, 0x02096a57, 0x0377cca7, 0x003a979a}}}, + {X: Field{[10]uint32{0x0359b16b, 0x01a74fa5, 0x01eee818, 0x02149944, 0x02af2a4f, 0x000024e0, 0x032a0c04, 0x0255c2f5, 0x02ba1ef2, 0x003d26d6}}, Y: Field{[10]uint32{0x017c7f7d, 0x02391675, 0x01202865, 0x010ed060, 0x021d2fb3, 0x0182af19, 0x02125d0f, 0x03a349a5, 0x0020b996, 0x000b925b}}}, + {X: Field{[10]uint32{0x012125ec, 0x006fb902, 0x03fa054a, 0x001df5f5, 0x00a2d02f, 0x00afca52, 0x00ff7657, 0x038749ed, 0x014a7573, 0x0009a45f}}, Y: Field{[10]uint32{0x03cd8f97, 0x0173a0c1, 0x006780ad, 0x00c02986, 0x017eb125, 0x03e32232, 0x02fd2d5c, 0x019a80a9, 0x037eae9b, 0x002e391f}}}, + {X: Field{[10]uint32{0x0329d290, 0x03eab53e, 0x03cb1cd7, 0x01bb3e2e, 0x007ead77, 0x0084f9b6, 0x00b71daf, 0x00bf9263, 0x00d6285a, 0x0006d252}}, Y: Field{[10]uint32{0x00d3bfd8, 0x00306d09, 0x0227bdd3, 0x0266cbd7, 0x00d56984, 0x00b4a186, 0x0336c7a9, 0x0364966d, 0x001fef87, 0x0006ad02}}}, + {X: Field{[10]uint32{0x01ae64ca, 0x022f55e6, 0x036c7725, 0x03d29a58, 0x00f8b20f, 0x02a6594f, 0x019676fe, 0x02ebde77, 0x02ec8179, 0x000535c4}}, Y: Field{[10]uint32{0x000c6ef0, 0x01b8138e, 0x03ad6d36, 0x00e14eeb, 0x0006f385, 0x01cb38fc, 0x030df37d, 0x0143b0ca, 0x00a64246, 0x000b876e}}}, + {X: Field{[10]uint32{0x01952453, 0x01a53dc7, 0x038134d9, 0x02222d6f, 0x03a11119, 0x01111644, 0x01967e15, 0x01da1278, 0x02204174, 0x0001d9d4}}, Y: Field{[10]uint32{0x0182fd31, 0x01da10fb, 0x01c27377, 0x00f58253, 0x00de1a5c, 0x029c8b79, 0x0155a906, 0x02d80ce8, 0x00636457, 0x000fc7ec}}}, + {X: Field{[10]uint32{0x0149fc63, 0x012e8d37, 0x00937fc8, 0x01be5ac9, 0x020a53b1, 0x002ec789, 0x0016d028, 0x022d9d00, 0x0134a882, 0x0016b239}}, Y: Field{[10]uint32{0x00a1fc73, 0x03881bae, 0x0187a8e5, 0x021c457a, 0x0018568f, 0x0242739c, 0x005a4296, 0x03edec0b, 0x020f68f5, 0x00064f40}}}, + {X: Field{[10]uint32{0x034a14b8, 0x00880b6a, 0x02c43337, 0x0375ab3d, 0x02d618d0, 0x0064d127, 0x01135b60, 0x0158a94c, 0x02b28d16, 0x0021f377}}, Y: Field{[10]uint32{0x03846e2e, 0x01a32ea7, 0x0084be5b, 0x009404d7, 0x01cd7094, 0x038ba44a, 0x011cecbd, 0x022b6650, 0x00e67c95, 0x00170779}}}, + {X: Field{[10]uint32{0x024c84cb, 0x01de2810, 0x02d52f8c, 0x01fbac35, 0x004d4f8b, 0x03ea198c, 0x021dfe7a, 0x03427d23, 0x0225a39e, 0x00310c72}}, Y: Field{[10]uint32{0x0100d825, 0x02b8299c, 0x034292ae, 0x035b8d7f, 0x00489ede, 0x00c4a4cc, 0x00f2d11d, 0x02f9b4d7, 0x03d65b2d, 0x00114181}}}, + {X: Field{[10]uint32{0x00a3dd5a, 0x03cda0e2, 0x02c1d9bf, 0x000970bc, 0x03aaa930, 0x003b7128, 0x03af3d44, 0x0068452f, 0x01e8985c, 0x00231408}}, Y: Field{[10]uint32{0x012fb108, 0x02d82aa8, 0x01db13c2, 0x02bb50c5, 0x02b6d31f, 0x0025bf52, 0x01d74ba6, 0x0360701c, 0x00aa8077, 0x00132e58}}}, + {X: Field{[10]uint32{0x02513d4f, 0x0275c5db, 0x01bb770b, 0x012c99e0, 0x0306e7a1, 0x005df6ef, 0x017c07a0, 0x01d21630, 0x00bb38a4, 0x000ce395}}, Y: Field{[10]uint32{0x00420548, 0x02033e31, 0x026fb92f, 0x03554bb9, 0x02c44a6a, 0x019dd8ee, 0x02951def, 0x033e9308, 0x024e84ca, 0x001e1dab}}}, + {X: Field{[10]uint32{0x031f3c5a, 0x01bba34b, 0x0061bcb0, 0x0385fbfd, 0x013c7b0f, 0x03349a2b, 0x03683abc, 0x00e88645, 0x00a9efbb, 0x0021fcef}}, Y: Field{[10]uint32{0x01229b61, 0x028cfb55, 0x007f8361, 0x03c6845f, 0x00e5cc11, 0x03d7eef2, 0x001f258b, 0x03f15122, 0x02a1eccc, 0x0029e874}}}, + {X: Field{[10]uint32{0x013a3e40, 0x001eeed0, 0x01aad524, 0x037119f2, 0x00de27d6, 0x029a9e36, 0x016a0375, 0x01615a39, 0x03df8ed8, 0x0003d008}}, Y: Field{[10]uint32{0x03e178cc, 0x03e7da87, 0x001615cf, 0x0114f89d, 0x03d5e2c5, 0x03567cdc, 0x0230e566, 0x00e845aa, 0x0142fc4e, 0x002c9264}}}, + {X: Field{[10]uint32{0x006f2d3a, 0x00215927, 0x001a8927, 0x00bcdd38, 0x03453b51, 0x0398ecbe, 0x013d282f, 0x02288a27, 0x03c6d55a, 0x0033ed47}}, Y: Field{[10]uint32{0x0070635d, 0x01ffa724, 0x0125eb56, 0x004872c9, 0x03e4ea53, 0x01879874, 0x02c120e7, 0x0047b4a3, 0x02232838, 0x0023528c}}}, + {X: Field{[10]uint32{0x0243c539, 0x01f3a5ab, 0x00486893, 0x02c45c87, 0x01c45f77, 0x0089258d, 0x03219db2, 0x00051c2f, 0x020b9705, 0x00166912}}, Y: Field{[10]uint32{0x03039afa, 0x0364c781, 0x00efd158, 0x01644ddd, 0x02400ff9, 0x017ae29d, 0x021d0cd5, 0x003cfc77, 0x00a66a91, 0x0000c787}}}, + {X: Field{[10]uint32{0x00a8ee7e, 0x015c3a0a, 0x0386f8ab, 0x01cc67f5, 0x02d8e26d, 0x012ecea3, 0x03446281, 0x01e8ddaa, 0x0256ec27, 0x002e673b}}, Y: Field{[10]uint32{0x023494ad, 0x02c44d70, 0x0223062a, 0x00c74773, 0x00b6be5d, 0x01360305, 0x013b16ab, 0x017535c9, 0x0398dda0, 0x0011b83c}}}, + {X: Field{[10]uint32{0x01172bd2, 0x001eb403, 0x03cb0252, 0x00ad4a51, 0x001c6b92, 0x0369d6ce, 0x00398725, 0x006889b4, 0x036ad96b, 0x0028e784}}, Y: Field{[10]uint32{0x02abb532, 0x00286e6d, 0x023a2d91, 0x01de2bc6, 0x007dbfc9, 0x0258e7ea, 0x010fa717, 0x038238f4, 0x0358074d, 0x001e9701}}}, + {X: Field{[10]uint32{0x03001976, 0x02365d15, 0x039c45b4, 0x0154d7d1, 0x032c23c8, 0x02dd44ad, 0x02dd59ae, 0x02dd3989, 0x01253b2e, 0x001ba2d0}}, Y: Field{[10]uint32{0x012bc88e, 0x02667a33, 0x02b47873, 0x020bb086, 0x020715bc, 0x032e16a8, 0x0004068a, 0x0301157a, 0x00e1e4e8, 0x003302e2}}}, + {X: Field{[10]uint32{0x01abb019, 0x0111e294, 0x024189c4, 0x01bc7263, 0x03cd1fb6, 0x03bf44d0, 0x03b6ec98, 0x010627df, 0x02f5681e, 0x002650ad}}, Y: Field{[10]uint32{0x010e7a9a, 0x01459e63, 0x02430569, 0x01afb499, 0x02d2fe98, 0x01f26278, 0x0211e6ff, 0x00b54a42, 0x02bbb0cc, 0x00080343}}}, + {X: Field{[10]uint32{0x0078506d, 0x0383df94, 0x01744642, 0x03dcbabf, 0x02759636, 0x0122bcd4, 0x0166918b, 0x02e52510, 0x01ec3c57, 0x001ff738}}, Y: Field{[10]uint32{0x03baabd2, 0x004e8ab5, 0x0146b2e3, 0x01e5974f, 0x0353cfb9, 0x038b4b39, 0x03786ed1, 0x01db8dce, 0x02efc19a, 0x0035de16}}}, + {X: Field{[10]uint32{0x03989c57, 0x035381a4, 0x01b04a70, 0x01362065, 0x035f5165, 0x01df1e6a, 0x030906bd, 0x020fc3c5, 0x005c958c, 0x001bc4c8}}, Y: Field{[10]uint32{0x03b55ee0, 0x023c4fdc, 0x02c99e84, 0x02655445, 0x01033deb, 0x0254368d, 0x028d4f1c, 0x03920ec9, 0x015bb386, 0x0022b268}}}, + {X: Field{[10]uint32{0x0297654e, 0x03352d8d, 0x007e6e50, 0x013d6d09, 0x03cd405f, 0x0137fefe, 0x00a0665f, 0x01a6f810, 0x035d833c, 0x003e5568}}, Y: Field{[10]uint32{0x03c9ee44, 0x03e93d62, 0x0183e4e2, 0x02c9f686, 0x00f56e80, 0x0103acdf, 0x02f2407f, 0x020e2692, 0x03ce2246, 0x00227d3e}}}, + {X: Field{[10]uint32{0x02248007, 0x03edaa09, 0x00132e65, 0x0346248e, 0x010b58b8, 0x037e5e63, 0x02257431, 0x011a8d0a, 0x012d6196, 0x0036f345}}, Y: Field{[10]uint32{0x02d8ba13, 0x02d34d8c, 0x01dcec02, 0x038f4086, 0x03e57d23, 0x039a0c3d, 0x0025e9e2, 0x023f4f91, 0x017ec194, 0x0019be9c}}}, + {X: Field{[10]uint32{0x026e8ebe, 0x03a854d7, 0x035cc71e, 0x02ca2cd6, 0x0399f713, 0x00b9e54f, 0x03cfb1da, 0x02427eb1, 0x00e8e57b, 0x003c6baf}}, Y: Field{[10]uint32{0x01d9d516, 0x03d842f9, 0x0157e1b7, 0x0365617f, 0x0288b0bf, 0x00b93d65, 0x01c24d09, 0x0396a983, 0x02143e77, 0x0021d57e}}}, + {X: Field{[10]uint32{0x00b55187, 0x01b92281, 0x005f5fef, 0x016a4754, 0x01c002bc, 0x0010c241, 0x01ceab65, 0x0212ffe2, 0x024d941f, 0x00288085}}, Y: Field{[10]uint32{0x02f057ff, 0x00ecfbf0, 0x004c1bee, 0x0256b7a2, 0x01b6d4b0, 0x02e6f393, 0x0172e978, 0x01a2d479, 0x002b2bc2, 0x00038335}}}, + {X: Field{[10]uint32{0x028ad68a, 0x01011f72, 0x02861e78, 0x02942009, 0x02b1344d, 0x021fe2e6, 0x000eccb2, 0x039f7a52, 0x025746fd, 0x0015cb85}}, Y: Field{[10]uint32{0x01eb5d9f, 0x01a585cc, 0x01170475, 0x01ac283f, 0x0239eda8, 0x00176b5d, 0x02461eb4, 0x02aed234, 0x01e7c066, 0x00305d2b}}}, + {X: Field{[10]uint32{0x03eba31d, 0x0333a696, 0x00dac58a, 0x03296799, 0x00b67047, 0x01db927a, 0x00b1052b, 0x035d4f02, 0x0107fee4, 0x003d38b2}}, Y: Field{[10]uint32{0x0011c42c, 0x02fe1c4b, 0x030f8f41, 0x00d09201, 0x032b76d1, 0x02a3fa25, 0x00b8317c, 0x034b6392, 0x022d3a92, 0x002c90ea}}}, + {X: Field{[10]uint32{0x01f06dd5, 0x0258e97f, 0x00463e06, 0x0207c934, 0x02266987, 0x01a2026c, 0x029e436d, 0x015c5bd7, 0x02ec8445, 0x0029bf1a}}, Y: Field{[10]uint32{0x0018ca8d, 0x02402a86, 0x013d5073, 0x013a4614, 0x00a96b7f, 0x01d2367c, 0x02135fdf, 0x03f461ab, 0x0215548e, 0x003705a9}}}, + {X: Field{[10]uint32{0x0205f026, 0x03378b56, 0x009bcc00, 0x033ac133, 0x00c4ffb3, 0x00dfcb2f, 0x00d8eec9, 0x02594a73, 0x00175fde, 0x002f601a}}, Y: Field{[10]uint32{0x00a26216, 0x008a2cd9, 0x03f76bce, 0x01d1454a, 0x02db0482, 0x02daf771, 0x03e6a0d8, 0x010ca383, 0x02e78e01, 0x002c9e46}}}, + {X: Field{[10]uint32{0x000165ef, 0x021b74d7, 0x0251e163, 0x02c8e976, 0x032d8614, 0x032b9ae3, 0x015e810e, 0x00f482e7, 0x02676f8c, 0x003e2229}}, Y: Field{[10]uint32{0x009a0dea, 0x00f6b724, 0x0223942a, 0x014f7890, 0x03579788, 0x031ec7ae, 0x034bfe39, 0x03cfbfdb, 0x020fe429, 0x003ed3b8}}}, + {X: Field{[10]uint32{0x009ae200, 0x0221df10, 0x02fd23ba, 0x039af69d, 0x01c3182e, 0x034583f3, 0x01023a48, 0x02a9c7b2, 0x02055adb, 0x001f2347}}, Y: Field{[10]uint32{0x03907ceb, 0x0385d90b, 0x00524f16, 0x0293cb23, 0x01c489b9, 0x033a0dde, 0x02936f4f, 0x01548f65, 0x020bec59, 0x00228ee0}}}, + {X: Field{[10]uint32{0x02fabf43, 0x00539d89, 0x0159e75c, 0x02dd48a6, 0x026dfd9b, 0x024eebdc, 0x00ccd715, 0x01c48184, 0x02a4ee25, 0x0006221b}}, Y: Field{[10]uint32{0x0091531d, 0x026361b8, 0x01d31ffa, 0x0210e622, 0x02898a31, 0x01f40ade, 0x033ad3f0, 0x01a2c034, 0x0295f570, 0x00099b19}}}, + {X: Field{[10]uint32{0x03e52cba, 0x03f73e9a, 0x009a3184, 0x0265419e, 0x011242a0, 0x02b00dae, 0x039a44ec, 0x02b6f4cc, 0x031e38c8, 0x003fa9c3}}, Y: Field{[10]uint32{0x039e7915, 0x009bb38e, 0x0046883e, 0x00bf5d17, 0x02076c0e, 0x00d99c2d, 0x0058093a, 0x0306e777, 0x01f50ba8, 0x00277fdb}}}, + {X: Field{[10]uint32{0x03d1365a, 0x0312d28d, 0x00c8fb1d, 0x01eff908, 0x0096dcbf, 0x01e5146e, 0x0199142e, 0x00f241db, 0x038945aa, 0x001378c0}}, Y: Field{[10]uint32{0x0287cba4, 0x0193b634, 0x0316d356, 0x02884ec2, 0x03992ac0, 0x0006ccdd, 0x001eb2e2, 0x03799090, 0x029e9093, 0x0033b9d3}}}, + {X: Field{[10]uint32{0x02104fb2, 0x02220c06, 0x03da3739, 0x01adad6f, 0x028c2d8e, 0x03040a60, 0x03b8c401, 0x02f9e718, 0x01d1eafe, 0x0019f427}}, Y: Field{[10]uint32{0x01360a5f, 0x03ea96ef, 0x0098461f, 0x016367cb, 0x00d4f035, 0x0063e26f, 0x019049e8, 0x00365a3a, 0x01089266, 0x00043ad5}}}, + {X: Field{[10]uint32{0x00e6010f, 0x03f75dd0, 0x01b5af5f, 0x03d3fe8c, 0x01325e55, 0x01c0c735, 0x0396d4d8, 0x00d3e34e, 0x00fe1868, 0x000ad75c}}, Y: Field{[10]uint32{0x0095ed02, 0x029351ea, 0x03b1f7bd, 0x024327d4, 0x00384398, 0x02c8206d, 0x031f54af, 0x028dcde2, 0x025324d2, 0x00191b9f}}}, + {X: Field{[10]uint32{0x017be248, 0x03d8b7f8, 0x00752527, 0x008f2893, 0x005d600b, 0x02bb42b4, 0x03f7b446, 0x029db064, 0x02998700, 0x0032d098}}, Y: Field{[10]uint32{0x0019a8b6, 0x03a4e796, 0x006e65ac, 0x01413086, 0x03bcfd02, 0x03339dc8, 0x01f74eb8, 0x01832439, 0x0213f3eb, 0x0024a10f}}}, + {X: Field{[10]uint32{0x018e4e41, 0x00137b50, 0x00d25f9b, 0x014ff638, 0x0322d0b8, 0x039b7a22, 0x01ce4d01, 0x02f15c4d, 0x037e75b3, 0x000fb9aa}}, Y: Field{[10]uint32{0x034bcc87, 0x0154da06, 0x027689ad, 0x013da03b, 0x006ee1ab, 0x00cfd480, 0x01b6afc9, 0x01466e4c, 0x03984e52, 0x001a720f}}}, + {X: Field{[10]uint32{0x0087e7be, 0x010217f2, 0x01724e90, 0x031ca8e1, 0x016918ac, 0x005f5e0a, 0x0232df6f, 0x01450c5c, 0x00b0a95a, 0x00160ddd}}, Y: Field{[10]uint32{0x007c3e7b, 0x01cdaaa0, 0x0042418c, 0x03f8542d, 0x03f8f047, 0x019970d4, 0x00160730, 0x033c5cc3, 0x02660ee8, 0x000ceec7}}}, + {X: Field{[10]uint32{0x0079dc1a, 0x020e381c, 0x03fcb0a8, 0x000269e8, 0x03eb3341, 0x02990fa8, 0x0082b772, 0x009e1de4, 0x01ef3982, 0x002bccb8}}, Y: Field{[10]uint32{0x0295fd4c, 0x027b2dd3, 0x037f8b3a, 0x00c792d2, 0x03169383, 0x0068d9a5, 0x02ee7e8b, 0x0048f9ce, 0x028dc660, 0x001a6178}}}, + {X: Field{[10]uint32{0x0034d0c4, 0x02b705b8, 0x03f9c948, 0x02737aae, 0x0150f724, 0x03eff0fd, 0x020c740e, 0x01d5466d, 0x03dd3266, 0x001bb7df}}, Y: Field{[10]uint32{0x02f46026, 0x01144f43, 0x016d40bb, 0x0052edf6, 0x0164534f, 0x02c249a4, 0x030de819, 0x01f69d7e, 0x03185def, 0x003c2317}}}, + {X: Field{[10]uint32{0x01f16b42, 0x00293c00, 0x01f0072a, 0x0182cff6, 0x0086257a, 0x02060878, 0x0104120a, 0x023e51b1, 0x02455d26, 0x000ee699}}, Y: Field{[10]uint32{0x00fe7c7b, 0x006f774b, 0x00117e2e, 0x0121916c, 0x023dfa48, 0x01864041, 0x03601090, 0x01b02257, 0x0215aedf, 0x003b560e}}}, + {X: Field{[10]uint32{0x007a1039, 0x00eb429d, 0x03ae2d68, 0x010e0ba2, 0x0327b529, 0x02804ac3, 0x03cbdf07, 0x03f6c345, 0x03082b5c, 0x002f40d6}}, Y: Field{[10]uint32{0x03b2ef54, 0x003e68e6, 0x03f61ac9, 0x030e2d8a, 0x00e94a23, 0x01cafa2b, 0x0135ccd5, 0x035fa2a8, 0x03aded4a, 0x00192532}}}, + {X: Field{[10]uint32{0x015338c3, 0x0116d13c, 0x02ff7a8c, 0x02c50408, 0x024dda59, 0x022780e0, 0x03316ef0, 0x00602eb8, 0x0319fe9b, 0x003897ef}}, Y: Field{[10]uint32{0x034c7cf2, 0x0220d8c5, 0x03be6f63, 0x00467d3e, 0x007c2c8f, 0x0214b9a5, 0x02412581, 0x037548d0, 0x03f658a3, 0x00117b11}}}, + {X: Field{[10]uint32{0x00ffc9b8, 0x01cb993b, 0x02e6c7c0, 0x0170e1c7, 0x01f30f59, 0x00059501, 0x02ebea75, 0x01cd5814, 0x01cd8ffd, 0x000b88c7}}, Y: Field{[10]uint32{0x0359317a, 0x03cc591b, 0x0127d29c, 0x032fb946, 0x027610d4, 0x02892b78, 0x018f3d3e, 0x02586a11, 0x0052db15, 0x00031991}}}, + {X: Field{[10]uint32{0x01338fc8, 0x0161983d, 0x020483b4, 0x01d299a9, 0x01fd2a41, 0x00c5b819, 0x01ae1260, 0x0189bc6c, 0x01c93932, 0x001f03ca}}, Y: Field{[10]uint32{0x01cd037f, 0x008cee9d, 0x00162350, 0x013e6326, 0x01b76e2c, 0x021fd5aa, 0x0255d7a5, 0x0049cb00, 0x033ddf6f, 0x0009fbd4}}}, + {X: Field{[10]uint32{0x00d5bb48, 0x02da881f, 0x019ba31b, 0x0385c2ca, 0x027bd857, 0x01e53ecc, 0x003e0144, 0x027fbfed, 0x021cea6f, 0x0039c0b5}}, Y: Field{[10]uint32{0x023f79c9, 0x0303acc6, 0x02f2112e, 0x02bf298e, 0x00ee5e28, 0x03781de5, 0x0228a712, 0x03b8f9fc, 0x0081c924, 0x00311de6}}}, + {X: Field{[10]uint32{0x02c852a8, 0x02b917d9, 0x026d8cc2, 0x02900d69, 0x01c362c5, 0x030591fb, 0x0275c117, 0x0306d6fb, 0x0044eade, 0x003c5e00}}, Y: Field{[10]uint32{0x029e1c18, 0x01dd5c8c, 0x030f89a6, 0x00121727, 0x01e8b7a3, 0x00e00c43, 0x00f63ac1, 0x00e5dfc2, 0x01f0f31b, 0x0017e37a}}}, + {X: Field{[10]uint32{0x0312dd9e, 0x001c07c7, 0x0369f8d0, 0x02dc5982, 0x011582cc, 0x00999969, 0x0152c533, 0x016c6352, 0x037f22ec, 0x001e906c}}, Y: Field{[10]uint32{0x007fc443, 0x01425458, 0x002b9db7, 0x017890a7, 0x01344886, 0x028bc780, 0x00cd74d2, 0x00967020, 0x02132c57, 0x0021102f}}}, + {X: Field{[10]uint32{0x002db6d3, 0x033342ca, 0x02779ca4, 0x005b5482, 0x02a5ce63, 0x01f0d546, 0x00f4e165, 0x035a7866, 0x037d8111, 0x000253ff}}, Y: Field{[10]uint32{0x005c6fc0, 0x00926f14, 0x03b909c3, 0x00c0ea4c, 0x0342541d, 0x02c763b5, 0x00a75d38, 0x0030155e, 0x0270026c, 0x00120b24}}}, + {X: Field{[10]uint32{0x03f4e9d1, 0x03251005, 0x02560a54, 0x0224bdc3, 0x01d37759, 0x02c1692a, 0x00ac76b1, 0x03eaa55b, 0x004e8a3f, 0x0035a9b5}}, Y: Field{[10]uint32{0x00863e1a, 0x01ee95e4, 0x00b6cdc5, 0x021f78e2, 0x03c7b93e, 0x00ea2815, 0x023bbe78, 0x0277a645, 0x0322cd83, 0x001230ee}}}, + {X: Field{[10]uint32{0x00cdf80c, 0x00813e54, 0x03d53699, 0x024e56e4, 0x02c47c09, 0x00550ee4, 0x01dbc477, 0x03b6ac79, 0x01c08e24, 0x00330389}}, Y: Field{[10]uint32{0x011fb70b, 0x00a0af41, 0x038c8220, 0x015490c6, 0x031a977c, 0x02d29b4e, 0x0376ab2c, 0x033ced0e, 0x00b37170, 0x0008314b}}}, + {X: Field{[10]uint32{0x02f8d827, 0x0095ced8, 0x01be3db7, 0x0291041e, 0x01efddb6, 0x03ee0f2d, 0x025d0eac, 0x0346be84, 0x03684cb7, 0x0033e54f}}, Y: Field{[10]uint32{0x00909c0c, 0x027b76cc, 0x009ac0b8, 0x01406bf2, 0x03b302fa, 0x038f9428, 0x0047a7b8, 0x0046c42a, 0x0366a45d, 0x001c33f8}}}, + {X: Field{[10]uint32{0x0015d5dc, 0x02675ada, 0x0319fbff, 0x01d450ea, 0x02f8ce69, 0x03f57f87, 0x016b7112, 0x02ac1bfc, 0x02942b34, 0x0006b089}}, Y: Field{[10]uint32{0x036539fc, 0x038fe96a, 0x026154d9, 0x0348911d, 0x011bd823, 0x027859a0, 0x01b7fddd, 0x0025d53a, 0x017e02bd, 0x00290f51}}}, + {X: Field{[10]uint32{0x024d65c2, 0x03dc8c9e, 0x029e9bb9, 0x03f6904b, 0x00496349, 0x0256501b, 0x03800bcf, 0x02012bc3, 0x03ff1153, 0x00340aee}}, Y: Field{[10]uint32{0x0002a384, 0x03fff06e, 0x032f2876, 0x02087083, 0x020d41e6, 0x03bc22d5, 0x0344f9b9, 0x00cbdc75, 0x00de3c78, 0x000177a0}}}, + {X: Field{[10]uint32{0x031831a7, 0x021496d3, 0x0204025a, 0x009920de, 0x02d8a603, 0x0312ca67, 0x021cc2b2, 0x013b8d0b, 0x03478d46, 0x000f32b4}}, Y: Field{[10]uint32{0x002691c0, 0x00dac9b4, 0x0035af30, 0x00f926d4, 0x0147492f, 0x033acd00, 0x0079fdd6, 0x0156d82b, 0x024ca59b, 0x000d7a8a}}}, + {X: Field{[10]uint32{0x02033688, 0x01ee90cd, 0x0106b80f, 0x02cc1067, 0x01b3a758, 0x03fe12cf, 0x0362e90f, 0x030f3835, 0x01543e69, 0x003ab135}}, Y: Field{[10]uint32{0x01deacbe, 0x01a84bf4, 0x01dbf17f, 0x01b7250d, 0x02ee00fb, 0x036a8611, 0x00449aad, 0x01d2effa, 0x02dac543, 0x002a993e}}}, + {X: Field{[10]uint32{0x03fca753, 0x02383318, 0x037a9a02, 0x01974f6e, 0x015df624, 0x00cef8a0, 0x026d0c61, 0x00dc4ccc, 0x01b173d9, 0x000f4a1e}}, Y: Field{[10]uint32{0x00d6e0f0, 0x029ca59a, 0x00c9d8f0, 0x0230a9aa, 0x01fd38a0, 0x01336e34, 0x023eecb3, 0x02d7a2a7, 0x024d9b95, 0x0015db39}}}, + {X: Field{[10]uint32{0x0176ca14, 0x0138c11a, 0x03ce4cf7, 0x015a67ae, 0x0272358a, 0x02a31d9a, 0x0137087c, 0x01a0b894, 0x038d56a9, 0x000fd62a}}, Y: Field{[10]uint32{0x0321f29d, 0x010169ec, 0x02315447, 0x00280579, 0x01f6bce2, 0x02d2036b, 0x030f45f1, 0x02a2a07c, 0x03d101a2, 0x000f2414}}}, + {X: Field{[10]uint32{0x03fd12d7, 0x01776c44, 0x01b97314, 0x004d6211, 0x022a4ed9, 0x022bab90, 0x029df0fa, 0x03346506, 0x0289b48d, 0x0013d7c4}}, Y: Field{[10]uint32{0x00dc1428, 0x03e095b8, 0x03e86077, 0x01a968f0, 0x0342ac0d, 0x0288cf77, 0x02286ed0, 0x0195dc0f, 0x032cc40c, 0x002d70f8}}}, + {X: Field{[10]uint32{0x03376a76, 0x00e4b724, 0x03bc5ad0, 0x037fe682, 0x03e4a9dc, 0x028aeb35, 0x00e70ddd, 0x031beb9d, 0x01e2a52d, 0x0029928a}}, Y: Field{[10]uint32{0x018a9590, 0x02c05990, 0x0330b4eb, 0x0332c395, 0x01c776f2, 0x00f770d9, 0x02efe873, 0x02c6ddee, 0x00a6faa9, 0x002b78be}}}, + {X: Field{[10]uint32{0x00480e70, 0x0331f6f2, 0x02f04994, 0x017788d2, 0x00b8694b, 0x0071b4f8, 0x0186f94e, 0x03e22b47, 0x0212c4d6, 0x0037b82a}}, Y: Field{[10]uint32{0x02f93389, 0x01947e18, 0x002193d4, 0x0320034d, 0x02413ae1, 0x00cb4c35, 0x01368df3, 0x00df3ea7, 0x00d4cbda, 0x0032f66b}}}, + {X: Field{[10]uint32{0x01796936, 0x003c6235, 0x01f74f9c, 0x023220bf, 0x01772b95, 0x003ad9bf, 0x013e2948, 0x01ab86d9, 0x019dc8af, 0x00219dea}}, Y: Field{[10]uint32{0x0397232e, 0x03abe07f, 0x029ed783, 0x0075370f, 0x00662115, 0x002187d1, 0x03a24f3a, 0x0012392d, 0x00c8348c, 0x000c719a}}}, + {X: Field{[10]uint32{0x02997fee, 0x005e307d, 0x01d80ed6, 0x0306633b, 0x02f44aed, 0x02f5b59d, 0x0229bc79, 0x029f30ac, 0x013acb73, 0x0014445f}}, Y: Field{[10]uint32{0x01110cd6, 0x0395a30e, 0x01a4d174, 0x01c0c870, 0x0278f207, 0x00258d0f, 0x00651d30, 0x0217045c, 0x0004123f, 0x001718e3}}}, + {X: Field{[10]uint32{0x03141b12, 0x0328e0e7, 0x024689c3, 0x03e0d08f, 0x020a83c9, 0x00ba8490, 0x03585d45, 0x0020a3a1, 0x03646967, 0x0012362b}}, Y: Field{[10]uint32{0x0265e9de, 0x035938d4, 0x0040fdc4, 0x00d6501b, 0x011998dd, 0x00157b41, 0x029843b9, 0x01269f1a, 0x0342f07f, 0x001562a3}}}, + {X: Field{[10]uint32{0x02966d2c, 0x03a03d7d, 0x0317aecb, 0x01f7d6ee, 0x01d4060c, 0x0070593a, 0x003d4574, 0x03bb9685, 0x02c1b0fd, 0x0018aea6}}, Y: Field{[10]uint32{0x01d9450e, 0x01b04629, 0x00aedb58, 0x019cec0d, 0x019329fe, 0x01c2cee6, 0x0096494b, 0x0105b17f, 0x013f2290, 0x00196819}}}, + {X: Field{[10]uint32{0x01febf0d, 0x00a5f492, 0x0004a486, 0x00150fcc, 0x00508d8d, 0x00f1e4c4, 0x02f20580, 0x0295ad43, 0x03cb679d, 0x002f937d}}, Y: Field{[10]uint32{0x01f3ba9b, 0x01b10f35, 0x03a0995f, 0x00183e8f, 0x00ca6973, 0x032a21a5, 0x018cb8ba, 0x00f9fea2, 0x0150dd5f, 0x00306d59}}}, + {X: Field{[10]uint32{0x00c9979d, 0x010d6c0a, 0x010c3a0c, 0x00b33855, 0x02424eac, 0x0211ccc5, 0x02cdf340, 0x0381a016, 0x036ccca2, 0x00392700}}, Y: Field{[10]uint32{0x01609a1b, 0x02264b98, 0x03bcab16, 0x0078ed0a, 0x0121186b, 0x009ebf5f, 0x010d273d, 0x03f7956f, 0x025f0457, 0x00115af0}}}, + {X: Field{[10]uint32{0x03fd58e3, 0x01e9be25, 0x01302705, 0x006ab570, 0x02976e70, 0x02ddd30a, 0x03ddfc9c, 0x017642cf, 0x01eda81d, 0x002b9a11}}, Y: Field{[10]uint32{0x02d755bc, 0x01299d5f, 0x03e11e5b, 0x01b39a6c, 0x00450112, 0x014e694d, 0x026194e7, 0x038d8264, 0x0055322a, 0x0014a6f7}}}, + {X: Field{[10]uint32{0x02a25e1b, 0x03ab8c6f, 0x02d183fb, 0x02652867, 0x004c2744, 0x035c4e19, 0x00717e02, 0x02ddcb32, 0x00f8bcc2, 0x0014a876}}, Y: Field{[10]uint32{0x0189011b, 0x01a79810, 0x001dc9f8, 0x01cf1c0d, 0x03dbb806, 0x00edd4a2, 0x00e77f95, 0x01e25212, 0x032ce7f1, 0x00368a82}}}, + {X: Field{[10]uint32{0x02a2250a, 0x03ce0165, 0x02918425, 0x02724349, 0x010cc552, 0x035692af, 0x0119f50d, 0x01e01357, 0x0301d89a, 0x003feeeb}}, Y: Field{[10]uint32{0x029880e2, 0x00dfb666, 0x0214538c, 0x0043dac6, 0x022d5144, 0x00bf84c8, 0x02a47a6c, 0x018af416, 0x03b7eba6, 0x00222d7d}}}, + {X: Field{[10]uint32{0x038c942e, 0x0296783f, 0x011f9fe5, 0x0323fd81, 0x014473fb, 0x013e15c9, 0x03840eed, 0x006adebe, 0x0038aab5, 0x0001bfe9}}, Y: Field{[10]uint32{0x0202d775, 0x02131fb9, 0x01f8e668, 0x0168ab1f, 0x0350a0e9, 0x02584ef2, 0x0060dc66, 0x028100ce, 0x02dd3b88, 0x0016c089}}}, + {X: Field{[10]uint32{0x00a2fc79, 0x03b250c2, 0x00cb5a45, 0x01eb22f2, 0x00c2c1b7, 0x00749a84, 0x00f5ee59, 0x0311f8c6, 0x0258f92a, 0x00272255}}, Y: Field{[10]uint32{0x001045f9, 0x02b3ea70, 0x0338e516, 0x0057fdd3, 0x00ef4b01, 0x0378963b, 0x0255e286, 0x02f563c5, 0x01e2665e, 0x001c201c}}}, + {X: Field{[10]uint32{0x01861ba9, 0x037dbc30, 0x03bb5df1, 0x0338153e, 0x00a59bb3, 0x03afb38f, 0x01bffd18, 0x00d6c4ff, 0x020defba, 0x0014cb9b}}, Y: Field{[10]uint32{0x02bc5b8a, 0x02d1d52b, 0x027fff61, 0x003e942e, 0x0336f04b, 0x0192d164, 0x0332ed24, 0x02ef0fad, 0x01dad326, 0x0006bd19}}}, + {X: Field{[10]uint32{0x01fff425, 0x01238039, 0x02ea138d, 0x02020f69, 0x038a8a9f, 0x01432d28, 0x01add8eb, 0x01c24833, 0x0321e3f2, 0x0026410c}}, Y: Field{[10]uint32{0x0377ea6f, 0x0347c123, 0x03786ef9, 0x00937ca6, 0x02404ecb, 0x0394b0cd, 0x025b1be8, 0x00943f67, 0x0197325c, 0x00046fa1}}}, + {X: Field{[10]uint32{0x004084f9, 0x02bd1b9f, 0x0217287d, 0x01730cc7, 0x017d7908, 0x008308af, 0x00a6e941, 0x00d2a668, 0x00803a09, 0x00259e64}}, Y: Field{[10]uint32{0x00005e03, 0x011b08e6, 0x02d047dc, 0x02ab5d72, 0x02574903, 0x02ca04bb, 0x0120b5c9, 0x002ff9a9, 0x012d1845, 0x003aa400}}}, + {X: Field{[10]uint32{0x02a0afb9, 0x036b0dce, 0x006ab729, 0x006d3f0e, 0x021f36f7, 0x03bfdd85, 0x02d99819, 0x03f8433d, 0x0157915f, 0x001d3d74}}, Y: Field{[10]uint32{0x01b29eb5, 0x02750846, 0x0009a2c4, 0x02925069, 0x034e4ce4, 0x03323111, 0x02e225cd, 0x02f1d04a, 0x011e4922, 0x00152800}}}, + {X: Field{[10]uint32{0x01927855, 0x0335aa30, 0x0231e3e7, 0x035caa81, 0x0176e5f3, 0x0235e9d4, 0x000ddebe, 0x00e5555c, 0x035381c6, 0x00049a49}}, Y: Field{[10]uint32{0x039ae553, 0x03833070, 0x017b72c5, 0x03f544cd, 0x013eefef, 0x0387442d, 0x00554fa1, 0x000b5513, 0x00768110, 0x002e4b94}}}, + {X: Field{[10]uint32{0x00230d9f, 0x03801ee0, 0x028e11aa, 0x02f37471, 0x00d7cdcf, 0x03c63604, 0x036ae35a, 0x00f5cc16, 0x001b1d14, 0x000213be}}, Y: Field{[10]uint32{0x0175d42a, 0x028bb72d, 0x001bb33c, 0x0116a9b8, 0x02b0dda6, 0x00e28b96, 0x02bcf2c6, 0x033a3087, 0x022ba5b4, 0x0032b8e6}}}, + {X: Field{[10]uint32{0x009037ad, 0x00544b7b, 0x02a62dd7, 0x034a9ccf, 0x01c8d89d, 0x03b58aa1, 0x007af5e0, 0x01ab1d99, 0x01a3326e, 0x000708ab}}, Y: Field{[10]uint32{0x02aab458, 0x00126045, 0x00b64493, 0x03726580, 0x00bc4142, 0x02e79bf5, 0x0246283c, 0x029abe67, 0x00c61562, 0x003d6966}}}, + {X: Field{[10]uint32{0x024aff1b, 0x01c7307e, 0x03f4e736, 0x012142ef, 0x03c00f1f, 0x02781054, 0x00dd35fe, 0x02af56aa, 0x024ff08e, 0x001ae472}}, Y: Field{[10]uint32{0x01b31852, 0x00943f84, 0x039778cb, 0x0069f761, 0x01b3c955, 0x00413d61, 0x0368c8b6, 0x03e6753e, 0x02da85ad, 0x0031b36a}}}, + {X: Field{[10]uint32{0x01f85bc2, 0x01e2573b, 0x0188e23f, 0x02d7a3dc, 0x00b99063, 0x020dcdb9, 0x03f03219, 0x00855d84, 0x01996d2e, 0x0015eed2}}, Y: Field{[10]uint32{0x0347cc3a, 0x036dd96a, 0x0150e94f, 0x0050156d, 0x02d0a1ad, 0x01cea0b6, 0x034b9b20, 0x02a43a49, 0x01c672ee, 0x0024ed1b}}}, + {X: Field{[10]uint32{0x0233ba6e, 0x03d49812, 0x001ccb40, 0x0289e2be, 0x00067c38, 0x018f7e3c, 0x016d9f24, 0x0159b841, 0x0327ebf7, 0x001d5e42}}, Y: Field{[10]uint32{0x009d2045, 0x0267172e, 0x02dac6be, 0x01c66b81, 0x003af8dc, 0x011bab75, 0x025decf3, 0x002976c1, 0x00a3d99b, 0x00328323}}}, + {X: Field{[10]uint32{0x0074ebe9, 0x02f2ed41, 0x00a08f32, 0x03d36e31, 0x028dd7b4, 0x00c01287, 0x032b6fde, 0x01642fdf, 0x01ada90b, 0x00329e9d}}, Y: Field{[10]uint32{0x03fc69e3, 0x037b5a60, 0x03a1efd3, 0x0166b372, 0x00512732, 0x003c7700, 0x00e8a08e, 0x01479efd, 0x019c5c93, 0x002cc9e3}}}, + {X: Field{[10]uint32{0x0390b2d1, 0x013d754b, 0x0365c07a, 0x016bcc61, 0x0147b65a, 0x014aecd9, 0x02a8d6ce, 0x018a50e4, 0x00b93bf4, 0x0029b71a}}, Y: Field{[10]uint32{0x010ad45b, 0x00970cf2, 0x024de8f9, 0x01220648, 0x0237f533, 0x024c7718, 0x033c76a0, 0x01558683, 0x0167fc57, 0x00106e9b}}}, + {X: Field{[10]uint32{0x03b6bba5, 0x036b87da, 0x01b56fe0, 0x0130fd49, 0x002fafed, 0x0030d844, 0x035a0252, 0x03242b1f, 0x01f3f8af, 0x0036884e}}, Y: Field{[10]uint32{0x036349db, 0x001819c6, 0x02c369ad, 0x00743d6e, 0x0271e92c, 0x03968e53, 0x0097522d, 0x03605b70, 0x0388fa9e, 0x00256b72}}}, + {X: Field{[10]uint32{0x013da4de, 0x023893d0, 0x002cdf5a, 0x01ec8fc4, 0x03215935, 0x02aea732, 0x034194bf, 0x00018eb2, 0x00752f0e, 0x0028cac9}}, Y: Field{[10]uint32{0x03e576cc, 0x034c587a, 0x013dbddf, 0x02e0d3c1, 0x03e09f8a, 0x030d40db, 0x0316ffd8, 0x009ff31d, 0x0143bd8b, 0x0015f7d0}}}, + {X: Field{[10]uint32{0x01e9bedc, 0x00e2532b, 0x01392b89, 0x03c8b248, 0x02741718, 0x008cf1ce, 0x0319d8ba, 0x013fcf1c, 0x011d3382, 0x002aba92}}, Y: Field{[10]uint32{0x001a63a7, 0x02d85513, 0x02f4eb24, 0x00cb57e3, 0x01a7ad0d, 0x016bb61b, 0x026a3a1a, 0x0371964e, 0x029184d8, 0x000323ec}}}, + {X: Field{[10]uint32{0x007f2c75, 0x0222b362, 0x015e7ed3, 0x0170ac0c, 0x01ccf75d, 0x01a3ed8e, 0x00f3eb3d, 0x0026f489, 0x00e27a84, 0x000a4d78}}, Y: Field{[10]uint32{0x0168aad4, 0x026a4e31, 0x001640c8, 0x00343f7f, 0x03977e90, 0x00603530, 0x03d00680, 0x02b90260, 0x002462c9, 0x000313fc}}}, + {X: Field{[10]uint32{0x030fe577, 0x0091339d, 0x0218163d, 0x02581419, 0x03fdebbd, 0x02fabfb2, 0x034259aa, 0x01c94d60, 0x00769e2e, 0x001ff2a0}}, Y: Field{[10]uint32{0x01bc3542, 0x0384f355, 0x02ed99a5, 0x02e9f6eb, 0x0369cfec, 0x03f453fe, 0x003b8f6f, 0x03b48b2b, 0x03abf04d, 0x0028f770}}}, + {X: Field{[10]uint32{0x028b483e, 0x02d06457, 0x002a96a7, 0x031c4c59, 0x00bc129e, 0x01ed144d, 0x01e665f5, 0x02929fe9, 0x01c601ca, 0x00316d7c}}, Y: Field{[10]uint32{0x00b538e4, 0x01efeee7, 0x012576d3, 0x019b6332, 0x0173dabb, 0x0098047a, 0x0358fd0c, 0x0263368f, 0x0016da50, 0x0009b2ce}}}, + {X: Field{[10]uint32{0x01a50d88, 0x03eda81e, 0x034f456b, 0x01d33ff6, 0x03d7d5b1, 0x01e400d6, 0x01ecf4bf, 0x019dc993, 0x0274df43, 0x00104368}}, Y: Field{[10]uint32{0x039a6abf, 0x034aefbb, 0x000f88e1, 0x00e56efc, 0x02254a19, 0x01065e7e, 0x002ef1e8, 0x02cd25b7, 0x0168188e, 0x001c7206}}}, + {X: Field{[10]uint32{0x0367769a, 0x01634173, 0x03387540, 0x02b142af, 0x036f7976, 0x00e89a06, 0x036c5a24, 0x032002ae, 0x00ca334d, 0x000f664a}}, Y: Field{[10]uint32{0x01d2beb7, 0x03d3a7e5, 0x0115b2e4, 0x02af137c, 0x0062bf01, 0x00282879, 0x0183cdd8, 0x009ed4f8, 0x01dc7661, 0x0033f300}}}, + {X: Field{[10]uint32{0x00040cec, 0x03d0db32, 0x009192e4, 0x0387ce7f, 0x02d858ea, 0x000028c8, 0x037ce312, 0x0392991d, 0x017bc523, 0x00196a3d}}, Y: Field{[10]uint32{0x01192432, 0x01ff7018, 0x01b323f0, 0x03f30815, 0x03c9df69, 0x008affd8, 0x03f7b0ea, 0x00dd16c7, 0x00b99e95, 0x002081a6}}}, + {X: Field{[10]uint32{0x0192fb79, 0x00f99a97, 0x021531ac, 0x00e4929c, 0x0055f4e5, 0x0189c969, 0x013ef5ca, 0x001b0bff, 0x03ccbaa6, 0x00213954}}, Y: Field{[10]uint32{0x00c5f8d2, 0x03f43ce7, 0x01d674dc, 0x01d4640b, 0x014c0b5f, 0x03004887, 0x01f77311, 0x025197f6, 0x03324aaa, 0x000d35ab}}}, + {X: Field{[10]uint32{0x00773783, 0x03059a80, 0x036ac5f8, 0x02d3de68, 0x00dda3d4, 0x03451b6a, 0x011578d5, 0x00489bce, 0x01582885, 0x000ed29d}}, Y: Field{[10]uint32{0x01a59e53, 0x0021306c, 0x007877d0, 0x02f1335f, 0x021a4249, 0x013534d6, 0x00b3cc14, 0x00f30bad, 0x02fc4de8, 0x0038df25}}}, + {X: Field{[10]uint32{0x00cee6b0, 0x01b67bd4, 0x01db8922, 0x01e1920b, 0x02743395, 0x01ff344b, 0x00898193, 0x013a37a9, 0x012c0616, 0x001b6ef4}}, Y: Field{[10]uint32{0x01e02b90, 0x005845ab, 0x02a70333, 0x03182000, 0x020eed3b, 0x0069a2b3, 0x0247c17e, 0x0345514b, 0x0349b3f5, 0x00227923}}}, + {X: Field{[10]uint32{0x03c441f6, 0x03edcaa5, 0x03e02f0b, 0x0275b307, 0x02f1118e, 0x03e12bdc, 0x020b7431, 0x019205d2, 0x00db3b92, 0x002d9060}}, Y: Field{[10]uint32{0x03b25fd2, 0x03c30b13, 0x004d99e1, 0x036fab1c, 0x0033cc19, 0x03256817, 0x03a4f0f8, 0x00205899, 0x019783d0, 0x002ce53e}}}, + {X: Field{[10]uint32{0x016b5c56, 0x003c0e88, 0x02115b26, 0x02fb91ac, 0x0137e96f, 0x02ed9fca, 0x037fc08e, 0x01df1b65, 0x038cf473, 0x00085cfc}}, Y: Field{[10]uint32{0x012e2abf, 0x008becc8, 0x0136f27e, 0x006939e7, 0x023bd1c6, 0x01afb3d5, 0x008c6df0, 0x029a13f6, 0x027803c4, 0x002f680a}}}, + {X: Field{[10]uint32{0x005c5214, 0x03899b7f, 0x0356a222, 0x029aa289, 0x02ea2b89, 0x033cd781, 0x00df0b48, 0x00bc3619, 0x00d3f373, 0x0027767b}}, Y: Field{[10]uint32{0x03e921fe, 0x035c4b85, 0x0106fa70, 0x0069437b, 0x01dcf00b, 0x01f6e52b, 0x019256a5, 0x0209083b, 0x03202ba6, 0x00390ba9}}}, + {X: Field{[10]uint32{0x03af71a9, 0x004873f9, 0x0136b02a, 0x00c98134, 0x029d3982, 0x03dca424, 0x0149526a, 0x02d8bb75, 0x03ed5ceb, 0x001c17e7}}, Y: Field{[10]uint32{0x010d30a8, 0x00b30a5d, 0x01d2c44d, 0x00028580, 0x002b32c1, 0x01e9e18f, 0x0269a4a5, 0x01cbac4b, 0x017daa44, 0x002ecb2c}}}, + {X: Field{[10]uint32{0x00ef4410, 0x02130acb, 0x031a217b, 0x028a3637, 0x033fbcda, 0x03f04978, 0x037fcd8c, 0x01a6f5fe, 0x00d18071, 0x003c6a42}}, Y: Field{[10]uint32{0x00911512, 0x02a91a2e, 0x02cc14e7, 0x03921e04, 0x02d792bb, 0x0214799e, 0x01cfa759, 0x01b15be0, 0x0008804c, 0x0003a1b3}}}, + {X: Field{[10]uint32{0x01355f57, 0x03370938, 0x00d5fd40, 0x00d1491f, 0x005625e4, 0x02148983, 0x012a4756, 0x00f2071d, 0x01793569, 0x0036c317}}, Y: Field{[10]uint32{0x0283daea, 0x030ba371, 0x02629fe8, 0x0354d533, 0x01d0de9b, 0x014e7af9, 0x0321f1e2, 0x034a54dd, 0x02a9fb00, 0x00048317}}}, + {X: Field{[10]uint32{0x02423ec6, 0x03b652f2, 0x00af59a2, 0x01c1ed4f, 0x02e979d4, 0x010476a1, 0x0158f683, 0x01fa486c, 0x01355600, 0x00179356}}, Y: Field{[10]uint32{0x0272d935, 0x01ddcf98, 0x026dcb94, 0x02824a1d, 0x01c309b5, 0x0339abbf, 0x0062fb37, 0x027b4c9e, 0x03001a0e, 0x001c5622}}}, + {X: Field{[10]uint32{0x03ec7f28, 0x00abd013, 0x02bcd487, 0x0019fb3e, 0x00a264d1, 0x00904059, 0x017fd112, 0x0397e23a, 0x02083c46, 0x00069e7b}}, Y: Field{[10]uint32{0x02349111, 0x03de8c8c, 0x02aacc4d, 0x03536501, 0x0254f94b, 0x0229723f, 0x016289f1, 0x01d54c0d, 0x03fc49bf, 0x003e4a36}}}, + {X: Field{[10]uint32{0x00ac5468, 0x028ebcdb, 0x0346e86c, 0x00492af7, 0x011c3a18, 0x00e8290d, 0x000a2d7f, 0x00311b2d, 0x008be3be, 0x0039a4fe}}, Y: Field{[10]uint32{0x01649cc4, 0x002529b7, 0x00efb78f, 0x0135994e, 0x03fb4f35, 0x022bb16b, 0x032db89d, 0x00a8aebb, 0x03bd24ab, 0x00157c2d}}}, + {X: Field{[10]uint32{0x029ca25e, 0x0315468c, 0x03e581bc, 0x015d7435, 0x0043bb61, 0x017a5b8a, 0x03b12d4f, 0x00f1dbdc, 0x00b1f3c7, 0x001b457a}}, Y: Field{[10]uint32{0x017f069d, 0x030d620b, 0x0365db74, 0x02f9b8ed, 0x01173f8c, 0x0067e296, 0x020d05e4, 0x01909cca, 0x02e18438, 0x003c87cf}}}, + {X: Field{[10]uint32{0x03ddb682, 0x02aab78e, 0x02dc48a5, 0x0393fd4d, 0x0220dd98, 0x01964f45, 0x0303f2cf, 0x012bd254, 0x0127b261, 0x00122e3c}}, Y: Field{[10]uint32{0x03546e3f, 0x0395fb0b, 0x02e99c7c, 0x0075a00e, 0x02a50d19, 0x0175e1b5, 0x027e23b5, 0x01f18944, 0x01baec13, 0x0023b46e}}}, + {X: Field{[10]uint32{0x02eb3028, 0x029f03d6, 0x023d4170, 0x02923fdf, 0x008c29fc, 0x028cb828, 0x0319f291, 0x01144251, 0x0231ee1e, 0x000bb0c9}}, Y: Field{[10]uint32{0x017aa945, 0x015e171a, 0x02c91610, 0x03e04faa, 0x02491572, 0x0341f426, 0x010ee359, 0x014db963, 0x019fe21b, 0x003ae187}}}, + {X: Field{[10]uint32{0x03afce3a, 0x02e3282b, 0x017b6776, 0x019ba861, 0x007ab72f, 0x01573251, 0x012c13fb, 0x0353517b, 0x02cb3b35, 0x003de583}}, Y: Field{[10]uint32{0x0010f08a, 0x0366b9e1, 0x00510cd6, 0x01fe3e1f, 0x03d8f7cf, 0x0280bba9, 0x0140334d, 0x01ad029c, 0x00f8d40f, 0x00240917}}}, + {X: Field{[10]uint32{0x02613ef2, 0x011c496e, 0x035af7a2, 0x02e31f72, 0x01139b29, 0x0163cea8, 0x0385780d, 0x03df9bbc, 0x003e4b22, 0x002a5333}}, Y: Field{[10]uint32{0x02845409, 0x03511768, 0x00c45e94, 0x032e33e9, 0x02782471, 0x02f1a99b, 0x01ba357c, 0x03e836a2, 0x00fadd6a, 0x003bdc14}}}, + {X: Field{[10]uint32{0x01485c38, 0x018bd53d, 0x0239956d, 0x03b45c21, 0x028c42b3, 0x0315bc09, 0x03d6f576, 0x03d0c034, 0x03f86d80, 0x0039229f}}, Y: Field{[10]uint32{0x029a6255, 0x03671697, 0x00231a7b, 0x00091ee6, 0x03e429b7, 0x01ffed0a, 0x01e3c65c, 0x01ec2c8a, 0x0229b499, 0x002c5a54}}}, + {X: Field{[10]uint32{0x0322d2ae, 0x027a6edf, 0x00d9eac7, 0x02efd922, 0x02cccb09, 0x00a98cf5, 0x025b422b, 0x0320eb36, 0x008c7d46, 0x0037e652}}, Y: Field{[10]uint32{0x0345fd4b, 0x01dd58bc, 0x038c3e04, 0x01176468, 0x03aaf83a, 0x02f4f1ca, 0x001a8785, 0x03d17114, 0x0280a958, 0x00225240}}}, + {X: Field{[10]uint32{0x0322fd84, 0x03bd06bb, 0x03770553, 0x00f8a6c9, 0x032bb4e4, 0x02e8d23b, 0x024368eb, 0x03e7d1bd, 0x02c04db9, 0x00285431}}, Y: Field{[10]uint32{0x01c5c201, 0x0193ca46, 0x01ccae1f, 0x01fad121, 0x00e7b539, 0x0038fb47, 0x0122ab02, 0x01683b0e, 0x0274e152, 0x001877ea}}}, + {X: Field{[10]uint32{0x03aa0edd, 0x02a9507c, 0x024e1204, 0x03ff615a, 0x00937392, 0x0326128a, 0x03aa167b, 0x031be475, 0x01fa452e, 0x0026df7b}}, Y: Field{[10]uint32{0x03d2c74a, 0x012a113f, 0x03e7910a, 0x002732b6, 0x03b4262c, 0x0326cc6a, 0x020ef6e7, 0x01a37af2, 0x01122f51, 0x0028dfd2}}}, + {X: Field{[10]uint32{0x00e51904, 0x03b4d60a, 0x01a23d38, 0x00f3e482, 0x02ad1aa8, 0x01e69641, 0x00f75c55, 0x03a9c6c8, 0x02516d0c, 0x0031f5de}}, Y: Field{[10]uint32{0x00a44bd6, 0x0393635d, 0x00e7f56d, 0x02232d7b, 0x0108e5a2, 0x026c36ba, 0x030a7a14, 0x00d980de, 0x007d9e1a, 0x000e669f}}}, + {X: Field{[10]uint32{0x02fe73fd, 0x009e52d0, 0x02e8d806, 0x03b2cee1, 0x02fc1d1d, 0x01cf6604, 0x026c2b0f, 0x0396e685, 0x00298e4d, 0x0034c4ea}}, Y: Field{[10]uint32{0x03708fe4, 0x02a20c07, 0x02a16fc9, 0x027182bd, 0x03b8514c, 0x02ef6d36, 0x03062c5d, 0x01b8bcd3, 0x023a7eb2, 0x00194911}}}, + {X: Field{[10]uint32{0x03211e5f, 0x0181ffa5, 0x038b9787, 0x00f1263c, 0x022e6c2a, 0x00f13c63, 0x0069b8e8, 0x031a4c19, 0x023b4d66, 0x0012efcd}}, Y: Field{[10]uint32{0x011c60c3, 0x01ba301f, 0x025629f2, 0x01670378, 0x0382bb0d, 0x00605dd0, 0x03b64061, 0x01cb1631, 0x024b2438, 0x002790b2}}}, + {X: Field{[10]uint32{0x021e9cf2, 0x0114d7e1, 0x0003e3f8, 0x00ddd19d, 0x01d471bd, 0x0199f3c6, 0x027ef1da, 0x033a1b52, 0x00ed23a0, 0x0000ef84}}, Y: Field{[10]uint32{0x0066d885, 0x02c10cd0, 0x00ead0a7, 0x02432e57, 0x00edfd20, 0x026ee7ea, 0x034748a4, 0x005f0194, 0x03780cb3, 0x002ee564}}}, + {X: Field{[10]uint32{0x01ca2076, 0x02736cd7, 0x01d96b16, 0x026032e9, 0x00946da1, 0x034a7bb1, 0x01074ec8, 0x0258f20a, 0x0080d723, 0x003f347e}}, Y: Field{[10]uint32{0x02a87b01, 0x024674ec, 0x013467c0, 0x02b896fb, 0x02d3b105, 0x03e97f21, 0x00ec2755, 0x018b8713, 0x00e3a313, 0x0025226f}}}, + {X: Field{[10]uint32{0x02b317c4, 0x03009c7e, 0x0217cf0e, 0x02a14b34, 0x01f39f42, 0x023a81a0, 0x027114cd, 0x00d98acb, 0x0358993d, 0x0002d7ec}}, Y: Field{[10]uint32{0x03a71b43, 0x02ceeefc, 0x0334a791, 0x0314537d, 0x0380a653, 0x02c12b09, 0x01bfa828, 0x00b2f3c3, 0x02b8ee62, 0x00227623}}}, + {X: Field{[10]uint32{0x03e274e7, 0x00920563, 0x037c9556, 0x01fd8139, 0x0330fc13, 0x00b32acf, 0x000f39bd, 0x0118291d, 0x02d17fca, 0x002a1aee}}, Y: Field{[10]uint32{0x030753fb, 0x02de8a40, 0x01a0bd03, 0x038498fd, 0x031394ed, 0x01258b01, 0x0294742e, 0x026b1e34, 0x0259ba96, 0x00309b70}}}, + {X: Field{[10]uint32{0x0330d29a, 0x02486004, 0x01467887, 0x025309f4, 0x019dd3fc, 0x024d744a, 0x034bc7ba, 0x02f259f8, 0x01f6348c, 0x0003b4c8}}, Y: Field{[10]uint32{0x03f7c3b5, 0x00349468, 0x021351be, 0x00085400, 0x00fc5ac4, 0x03c1ef72, 0x03b44d6c, 0x0177871d, 0x0360832b, 0x002d01e0}}}, + {X: Field{[10]uint32{0x02d17dea, 0x035c6506, 0x0097996e, 0x023dc07f, 0x022c425b, 0x03825312, 0x01e827ed, 0x02e4dbd5, 0x0275e4dd, 0x003205e4}}, Y: Field{[10]uint32{0x002553a7, 0x03fa6776, 0x02622e16, 0x018f14ac, 0x038ce5e9, 0x019921ab, 0x009b0b92, 0x034597ad, 0x005be241, 0x003667c7}}}, + {X: Field{[10]uint32{0x0284985b, 0x03435f77, 0x02512df1, 0x00b87647, 0x010eeaf8, 0x03e37f3f, 0x02743283, 0x02ce0d24, 0x013f23b9, 0x001bc23c}}, Y: Field{[10]uint32{0x00bd602e, 0x00ff8236, 0x03a76a4a, 0x00788b31, 0x010665d6, 0x000dc2b1, 0x0258ed05, 0x010ce9bb, 0x0029f99f, 0x0025adaa}}}, + {X: Field{[10]uint32{0x038f9d5a, 0x031f99e7, 0x015e4b35, 0x01b28461, 0x03e6ab5d, 0x03ab0f97, 0x01f8b609, 0x02753fbe, 0x03e3410f, 0x002510e9}}, Y: Field{[10]uint32{0x03eded57, 0x003e4d8e, 0x01b538fa, 0x03756847, 0x02ac9b2a, 0x001eaf08, 0x03c93e6d, 0x0230fcc6, 0x03b57818, 0x00363141}}}, + {X: Field{[10]uint32{0x033c502b, 0x01c0fd44, 0x013d2e37, 0x0120378a, 0x01d38c88, 0x01c015bb, 0x03afcfa5, 0x00da06b4, 0x00ca3ed5, 0x0010cbaa}}, Y: Field{[10]uint32{0x03edff71, 0x00ce26da, 0x00118faa, 0x0371909c, 0x010965dd, 0x009b1a98, 0x0266a498, 0x00aec023, 0x028b70b5, 0x00278648}}}, + {X: Field{[10]uint32{0x0182403b, 0x0240ff86, 0x032c130f, 0x03ab8adc, 0x005e22ff, 0x00f1ffb6, 0x02584a3d, 0x00bf6316, 0x009a42f8, 0x000745d6}}, Y: Field{[10]uint32{0x00c39ceb, 0x003d549e, 0x00e9454e, 0x017ef978, 0x03511e96, 0x0117c31a, 0x0164ed02, 0x03482099, 0x03b48f18, 0x0027def3}}}, + {X: Field{[10]uint32{0x018e6b2d, 0x00da87f8, 0x0098b554, 0x03fffdf0, 0x021ab8c6, 0x024104b3, 0x02778ea7, 0x0211bd97, 0x01b5cd84, 0x001d0ce6}}, Y: Field{[10]uint32{0x00b784bc, 0x03d26cb6, 0x03145fb1, 0x02739733, 0x01e84ff4, 0x0006dbf4, 0x0166d3fc, 0x006f9399, 0x001a8280, 0x00371b32}}}, + {X: Field{[10]uint32{0x0110b2a7, 0x0268369e, 0x0071fa27, 0x00cb817e, 0x025330d2, 0x02d7e490, 0x023e80e3, 0x0123058b, 0x01583b28, 0x00390de1}}, Y: Field{[10]uint32{0x01624b68, 0x036b3c15, 0x011f080c, 0x006f41db, 0x01d5e242, 0x005e6862, 0x013f99f8, 0x01e3901f, 0x0171aa49, 0x0030e6d0}}}, + {X: Field{[10]uint32{0x0318d63e, 0x0009acd9, 0x02a10664, 0x033bd7d0, 0x038f8a99, 0x00029918, 0x0355ac7d, 0x00e6a3c5, 0x00a31b16, 0x003bbdda}}, Y: Field{[10]uint32{0x0224a991, 0x01211cc7, 0x01ef5ee6, 0x02e22f8a, 0x01878efc, 0x03a5ec19, 0x030043af, 0x039a186b, 0x01f4cbf4, 0x000aa401}}}, + {X: Field{[10]uint32{0x03c91fe9, 0x0032a86f, 0x0129a180, 0x027ecb7a, 0x00fc2afa, 0x01807612, 0x00dce1bd, 0x0184b3d0, 0x02872504, 0x000576d1}}, Y: Field{[10]uint32{0x027eded8, 0x01c43313, 0x03515f17, 0x002e568b, 0x021e7236, 0x0242e0b2, 0x00678a9d, 0x02366941, 0x024e7d50, 0x002a2db9}}}, + {X: Field{[10]uint32{0x014a4191, 0x015eeb43, 0x022a0c77, 0x00fbf1e3, 0x01d2b330, 0x015a87f6, 0x028d2a04, 0x02a12e74, 0x02cf2529, 0x002b517e}}, Y: Field{[10]uint32{0x0254f069, 0x012a234d, 0x0125aa6b, 0x002583e6, 0x01bf8d81, 0x03ddf56b, 0x02f58678, 0x00c0d45b, 0x0171473f, 0x00069e39}}}, + {X: Field{[10]uint32{0x01151824, 0x02526d6e, 0x03d8958c, 0x01b57e92, 0x021c19b6, 0x0224aeb0, 0x0375050a, 0x01ed33ad, 0x03446e02, 0x0010680d}}, Y: Field{[10]uint32{0x01140317, 0x0150df65, 0x00e74bb4, 0x033590d7, 0x0027c53a, 0x00381ea1, 0x021cb2e6, 0x034e3e9c, 0x00ddfa96, 0x003b5f11}}}, + {X: Field{[10]uint32{0x03217ae0, 0x0047c749, 0x00740560, 0x035836b0, 0x015a70d5, 0x003c410f, 0x03645890, 0x031ffcb3, 0x006958f4, 0x0008082e}}, Y: Field{[10]uint32{0x01c4e9e0, 0x02e53df8, 0x02aa0490, 0x0184a754, 0x02b37f59, 0x0093ac71, 0x01946171, 0x03d0c686, 0x01e22757, 0x00044656}}}, + {X: Field{[10]uint32{0x02bd4ba1, 0x00e0ea7a, 0x00180283, 0x0155c400, 0x0299c5f7, 0x021685a7, 0x033bf27d, 0x01d2a543, 0x0146859f, 0x000be66a}}, Y: Field{[10]uint32{0x0389fc53, 0x0153dd37, 0x039fa128, 0x02753a35, 0x0236ecba, 0x03982164, 0x024ed246, 0x03aa891e, 0x0182d3ca, 0x000f9888}}}, + {X: Field{[10]uint32{0x02369baa, 0x03af7467, 0x03a3c177, 0x01d752a0, 0x010e7c56, 0x03889fca, 0x027688c2, 0x014e4005, 0x018957f6, 0x003773ce}}, Y: Field{[10]uint32{0x034b2431, 0x0077004b, 0x01b873da, 0x0233cac4, 0x01c3c342, 0x02437408, 0x01a3ceea, 0x020ce88e, 0x023f3fa6, 0x0029c031}}}, + {X: Field{[10]uint32{0x011ace4f, 0x03441086, 0x0117b73b, 0x02ab02de, 0x0392df1e, 0x024c6716, 0x022fa9e0, 0x008d8067, 0x03b80425, 0x002618e9}}, Y: Field{[10]uint32{0x003b69e6, 0x018d58b8, 0x02b6a3bf, 0x02b93c6c, 0x023a1fa7, 0x00928c3a, 0x0309f8c7, 0x02ac852f, 0x01a9281d, 0x00126926}}}, + {X: Field{[10]uint32{0x01733886, 0x02a3d637, 0x01d2e467, 0x03bcf1b5, 0x0219cb4d, 0x012e3a4b, 0x033734a6, 0x01645cd3, 0x01f9ea2c, 0x001b1519}}, Y: Field{[10]uint32{0x020e733c, 0x03f110c7, 0x03c8d3da, 0x017e8701, 0x03768f65, 0x00c66acf, 0x02a2616a, 0x03cd7456, 0x02bb179d, 0x00015f88}}}, + {X: Field{[10]uint32{0x00f3fcdd, 0x01e7c514, 0x03a530d9, 0x0153f9c0, 0x0025acb6, 0x02c281a4, 0x00ca387f, 0x00efac34, 0x0113360b, 0x002acdd5}}, Y: Field{[10]uint32{0x0041be4a, 0x01170bdb, 0x027c5464, 0x01d940fb, 0x0157f0f7, 0x030de9bb, 0x03842f43, 0x00b7966d, 0x0149309a, 0x000fa704}}}, + {X: Field{[10]uint32{0x002603d2, 0x00481e93, 0x03111482, 0x02a7a450, 0x00ff0878, 0x0016c8b4, 0x03aee379, 0x03bac2c8, 0x03ea4a72, 0x001ab2f8}}, Y: Field{[10]uint32{0x030d32b9, 0x032c6777, 0x025330ae, 0x00f39256, 0x02ac2ca2, 0x03279a01, 0x023dad76, 0x01365a85, 0x00be9f93, 0x0007b3bf}}}, + {X: Field{[10]uint32{0x02955d89, 0x03e573ce, 0x008c3653, 0x00141fc7, 0x03b4ddd1, 0x01d9b894, 0x00ac9f9c, 0x00310979, 0x014458fd, 0x001e5574}}, Y: Field{[10]uint32{0x0250aaca, 0x00d40925, 0x01245847, 0x00ec0349, 0x0340c672, 0x00e880a1, 0x02892255, 0x021fc252, 0x01f73043, 0x0023ea71}}}, + {X: Field{[10]uint32{0x01ace377, 0x0083360d, 0x0213228c, 0x02ff95e0, 0x02d488eb, 0x01ef4f68, 0x02b25a22, 0x010cfdc0, 0x010c0090, 0x002d65cb}}, Y: Field{[10]uint32{0x02b008fa, 0x035932d0, 0x03212cf3, 0x0211702f, 0x00e3e78f, 0x005d2cbf, 0x01ef70ed, 0x00f7949e, 0x00bf7fbc, 0x0008d51c}}}, + {X: Field{[10]uint32{0x00bcf886, 0x02d22f41, 0x038e4d9c, 0x01f91257, 0x02cc500d, 0x00f31e7c, 0x004f3bc5, 0x03e9a288, 0x001033a5, 0x002899aa}}, Y: Field{[10]uint32{0x015949f8, 0x022def7d, 0x011ecb56, 0x00916c2e, 0x03d52b78, 0x011bcf8d, 0x00390e6a, 0x0056dd99, 0x01a1958d, 0x000c6a2c}}}, + {X: Field{[10]uint32{0x00b9cc15, 0x03908751, 0x03123451, 0x00fdf783, 0x01ae7f4f, 0x03a7df08, 0x03bf47e1, 0x006d8d6e, 0x02ec2119, 0x00071904}}, Y: Field{[10]uint32{0x002c685a, 0x0188a131, 0x0169d82a, 0x006c8bfe, 0x016e7fec, 0x000958c2, 0x0173851d, 0x0313cfd6, 0x022c1111, 0x0020cfe2}}}, + {X: Field{[10]uint32{0x020b7fda, 0x018841cf, 0x01f68a74, 0x01f17989, 0x03817267, 0x03b813fc, 0x019ccbef, 0x016d5e70, 0x02ab1757, 0x003b8d4c}}, Y: Field{[10]uint32{0x027e8718, 0x03d1441b, 0x00f53a9a, 0x02d24acb, 0x0304b704, 0x03123b9a, 0x01ff04dc, 0x0261ee0f, 0x00c8b2fd, 0x003c4b84}}}, + {X: Field{[10]uint32{0x021a3838, 0x011367fb, 0x0115e379, 0x012c0259, 0x0152ef9a, 0x01fd6d2f, 0x012765af, 0x01e4dcbb, 0x03be0486, 0x0017b443}}, Y: Field{[10]uint32{0x00080573, 0x03218ced, 0x028af2a8, 0x01ed7ef1, 0x02a4bffd, 0x00977399, 0x00ac6410, 0x00e493b6, 0x01b49fbe, 0x002313ae}}}, + {X: Field{[10]uint32{0x001378d2, 0x00754d74, 0x0152a15a, 0x0165c208, 0x01b8f6b8, 0x01cd0838, 0x03e7345f, 0x0217b5a7, 0x0221f04c, 0x003f8d22}}, Y: Field{[10]uint32{0x001f2b7b, 0x0273f482, 0x019117fa, 0x00f5f67e, 0x03506947, 0x038e3908, 0x02abd103, 0x02afd173, 0x0046c9f5, 0x00356575}}}, + {X: Field{[10]uint32{0x032436e9, 0x0221d17e, 0x0223dbda, 0x02730245, 0x03b57367, 0x016e8e5c, 0x021e1c0b, 0x012e8021, 0x0369b7b6, 0x0001c500}}, Y: Field{[10]uint32{0x03a12b2d, 0x01da9520, 0x010ad1f3, 0x01881cb1, 0x0240dfa3, 0x003199cb, 0x003bc213, 0x02581ca3, 0x0350f979, 0x003c1dc0}}}, + {X: Field{[10]uint32{0x01dad15d, 0x020855e6, 0x01bd40aa, 0x036ea0e0, 0x020a7465, 0x0048c025, 0x02c6b88b, 0x0078eb9f, 0x00e48e98, 0x001b4531}}, Y: Field{[10]uint32{0x03e0f841, 0x016c1439, 0x0299a50e, 0x023ed6fa, 0x01f9c6de, 0x02d62cb5, 0x02635f6d, 0x0344aa93, 0x02aaa5f2, 0x00097934}}}, + {X: Field{[10]uint32{0x024383da, 0x036c2bc6, 0x0228daea, 0x01c416ed, 0x004dffe0, 0x015413a2, 0x020558e5, 0x01f5f8d8, 0x01c6a683, 0x001e4c6e}}, Y: Field{[10]uint32{0x03e80c0b, 0x033fb7be, 0x002ff9d5, 0x0012108b, 0x0196b7a9, 0x03cef4e3, 0x0112128b, 0x00971b77, 0x02733209, 0x00161b2a}}}, + {X: Field{[10]uint32{0x01cec834, 0x03342f79, 0x03d95b0e, 0x01149eaa, 0x0088dca1, 0x005462e2, 0x00e1f32a, 0x00f50d74, 0x016a35b8, 0x000527a7}}, Y: Field{[10]uint32{0x025606f5, 0x01d316b3, 0x02e1fcbc, 0x03300641, 0x00f87b11, 0x03404bed, 0x01d49b38, 0x033197a4, 0x02a0fd84, 0x0011601e}}}, + {X: Field{[10]uint32{0x01297394, 0x026f49c3, 0x03ff7b80, 0x025b0a12, 0x001bf6e6, 0x01e52404, 0x02f2b59d, 0x0146a088, 0x036eb4b3, 0x00195ac9}}, Y: Field{[10]uint32{0x03763291, 0x01cca05e, 0x025d9b64, 0x034feaa3, 0x03905eb6, 0x0038d624, 0x00ebfa9a, 0x010e8a4a, 0x03095f86, 0x0021d1bc}}}, + {X: Field{[10]uint32{0x031eb02e, 0x012d8283, 0x000a6988, 0x00814e62, 0x033656a7, 0x01e14b87, 0x022370ff, 0x01a627b9, 0x01e36808, 0x00183ce6}}, Y: Field{[10]uint32{0x0044ad59, 0x02cadbf5, 0x0267d4f1, 0x03f937bc, 0x039e5976, 0x0082dde7, 0x0251676d, 0x02f85214, 0x005a8347, 0x00157728}}}, + {X: Field{[10]uint32{0x006eaa13, 0x036f9062, 0x00e0d4ca, 0x016a4063, 0x01034a30, 0x013e6f70, 0x006f4175, 0x02907029, 0x03030a67, 0x00136f68}}, Y: Field{[10]uint32{0x03a48fc4, 0x01616e0f, 0x03970c22, 0x025748f5, 0x01909a3b, 0x010cedd1, 0x01f9fe64, 0x00d16359, 0x0086fec3, 0x003818b3}}}, + {X: Field{[10]uint32{0x010363d1, 0x03ca8037, 0x03111d07, 0x0313d256, 0x03f8c8b1, 0x0360671a, 0x03c10c8f, 0x01336569, 0x01ca04d6, 0x00205ab8}}, Y: Field{[10]uint32{0x02526009, 0x03470619, 0x0366b2df, 0x03c83524, 0x03b12187, 0x03a744ee, 0x02a55208, 0x035bf55b, 0x03ffc331, 0x003027da}}}, + {X: Field{[10]uint32{0x0081b52b, 0x00636be0, 0x020a000f, 0x011305b5, 0x01872029, 0x0178a22b, 0x032b8fae, 0x03829f0e, 0x039c983f, 0x001160e7}}, Y: Field{[10]uint32{0x01dd8649, 0x02169a99, 0x004db2a7, 0x01af3684, 0x01aff40c, 0x0020d6be, 0x01f7beb3, 0x013ad020, 0x02074de7, 0x003e4da3}}}, + {X: Field{[10]uint32{0x00223465, 0x016dba35, 0x00d5063c, 0x01f6c8ef, 0x0244b715, 0x0309153c, 0x004c482e, 0x0080ec78, 0x02483a49, 0x00142b92}}, Y: Field{[10]uint32{0x015f3008, 0x02e8df9f, 0x0065836d, 0x00a170d9, 0x010a6190, 0x0160ef69, 0x032031ec, 0x00b87d97, 0x03d7e7bd, 0x00386e33}}}, + {X: Field{[10]uint32{0x016b72d6, 0x010657d8, 0x039dba69, 0x012fb49b, 0x03c5d8bb, 0x0086b39d, 0x02dde15b, 0x01422467, 0x02316039, 0x0037ddec}}, Y: Field{[10]uint32{0x034344a4, 0x03254022, 0x0303717d, 0x0032ccfc, 0x00c99e27, 0x019cd997, 0x00cff822, 0x02fef2e2, 0x01b89ece, 0x002292dd}}}, + {X: Field{[10]uint32{0x0233277d, 0x02c2e3bc, 0x01345437, 0x02358ecb, 0x016d2d23, 0x0009d01d, 0x00419d67, 0x00bc62dd, 0x0219978e, 0x003b1b03}}, Y: Field{[10]uint32{0x0236e553, 0x018fc2c9, 0x02d8a4a3, 0x01a05cf3, 0x0296bd39, 0x016ff931, 0x0171dc13, 0x03133189, 0x039a02df, 0x003e436a}}}, + {X: Field{[10]uint32{0x017b3329, 0x00640458, 0x03e4ba46, 0x0215214a, 0x005af2a8, 0x029c8886, 0x014eacb1, 0x03f39a9b, 0x016f90e7, 0x000a1d10}}, Y: Field{[10]uint32{0x02eb4466, 0x0374997a, 0x0282d448, 0x01256d36, 0x03b8628e, 0x0244ab5f, 0x024c9af7, 0x0359222e, 0x0275f6ce, 0x0007cc8d}}}, + {X: Field{[10]uint32{0x00ff4247, 0x02b3cfdc, 0x01d2be7d, 0x032e25f2, 0x02529de5, 0x00edb74f, 0x0087f3e8, 0x00ea03e3, 0x03ec586d, 0x0021c8d9}}, Y: Field{[10]uint32{0x02a3ac05, 0x01a144a9, 0x02eeceef, 0x032792d8, 0x017dc571, 0x0109f802, 0x00768b5e, 0x0210ede2, 0x00e0fae0, 0x00396ed8}}}, + {X: Field{[10]uint32{0x024713cc, 0x02368f90, 0x01f4891b, 0x02c84efc, 0x004339a0, 0x00312bcd, 0x0030ce94, 0x03f4c2b9, 0x00040baf, 0x003043c8}}, Y: Field{[10]uint32{0x0231c7ee, 0x00dfef61, 0x02e59c35, 0x01e58d0f, 0x03bf6dbf, 0x00fe0bb7, 0x006d456b, 0x026cdb15, 0x0055f0c3, 0x000defa4}}}, + {X: Field{[10]uint32{0x00d847c5, 0x01b7651c, 0x0059da35, 0x02cee4ef, 0x00733b8b, 0x00cd4fa0, 0x01f0f150, 0x00c015af, 0x02e191c8, 0x0005384b}}, Y: Field{[10]uint32{0x03efcfb2, 0x01438ea6, 0x020dab15, 0x00c80634, 0x01d487f0, 0x019b5c91, 0x0332ba7c, 0x005e044a, 0x038ee00c, 0x003a5c1e}}}, + {X: Field{[10]uint32{0x009fdf36, 0x01e08f12, 0x003057b5, 0x02d2ba01, 0x003687ea, 0x02b414f9, 0x00dd89f6, 0x00de774b, 0x021e2583, 0x0036b0ee}}, Y: Field{[10]uint32{0x03e2c041, 0x011d171b, 0x03fa4761, 0x010bf4de, 0x02d13a69, 0x00b47b13, 0x0020ab1c, 0x00546557, 0x024d8821, 0x001178f6}}}, + {X: Field{[10]uint32{0x03800bf4, 0x01373faf, 0x00b09264, 0x02eff74b, 0x00a2507d, 0x000e968b, 0x039fad0b, 0x021abba1, 0x027a05c0, 0x00366ff1}}, Y: Field{[10]uint32{0x02be6730, 0x00518d00, 0x02ca42fc, 0x023ac8f9, 0x02e5bb4e, 0x024d243d, 0x036c8b1e, 0x03d6f454, 0x014b5a39, 0x00380577}}}, + {X: Field{[10]uint32{0x0196c61e, 0x01861cde, 0x00b34007, 0x00704bdb, 0x028a9a98, 0x03659660, 0x00d7e581, 0x03283c5c, 0x00522f04, 0x00379bcd}}, Y: Field{[10]uint32{0x032a0cc7, 0x00153bbd, 0x00e3b826, 0x0053fc09, 0x012fc6d8, 0x00d3857c, 0x039c251f, 0x013ea50e, 0x033b28d7, 0x0007b05b}}}, + {X: Field{[10]uint32{0x00e30eaf, 0x02fe0a28, 0x00d93f54, 0x00e93ea3, 0x02b35c87, 0x00d94a0f, 0x00a15ef2, 0x005eba21, 0x0355338e, 0x0010caac}}, Y: Field{[10]uint32{0x01447807, 0x00f73fe5, 0x02b9e870, 0x0029f61a, 0x01caa9af, 0x00830429, 0x023e0767, 0x0036fc22, 0x02a10a13, 0x003d5819}}}, + {X: Field{[10]uint32{0x037c4d99, 0x0102359f, 0x02afa35a, 0x0036d6fa, 0x008d9699, 0x02550c75, 0x010f546d, 0x009f0e8d, 0x0107cfa1, 0x000f4b8d}}, Y: Field{[10]uint32{0x035f74f2, 0x015564e8, 0x02ac51b2, 0x0020aef4, 0x017f4a05, 0x003e288d, 0x01655cab, 0x030dcc51, 0x005f4711, 0x00369822}}}, + {X: Field{[10]uint32{0x00ba87ef, 0x01b94609, 0x0183f457, 0x03180646, 0x03f781c7, 0x017cedc6, 0x0029d0a5, 0x0352f8df, 0x031cb96d, 0x001fcfd0}}, Y: Field{[10]uint32{0x00b8bfec, 0x032009d8, 0x021c1695, 0x03093a45, 0x02cfdb08, 0x01c5dee5, 0x00259f6f, 0x034930ae, 0x03457649, 0x003d37d0}}}, + {X: Field{[10]uint32{0x03687143, 0x00129fcb, 0x017163d6, 0x0357c4a3, 0x026f7b67, 0x015639ab, 0x036cdd8b, 0x01c00112, 0x0359f2c8, 0x00109c2f}}, Y: Field{[10]uint32{0x01a99315, 0x023aaf53, 0x0174e0d0, 0x0037b494, 0x006c4a18, 0x01689549, 0x025da0a1, 0x03e465a1, 0x00ef2e8f, 0x00000d63}}}, + {X: Field{[10]uint32{0x03603852, 0x0256e31f, 0x02ebd46f, 0x02ac3af8, 0x01b7931c, 0x0147194e, 0x013af50d, 0x03f27104, 0x022b9930, 0x003198dc}}, Y: Field{[10]uint32{0x025ecfab, 0x01c237a4, 0x0313f719, 0x0231e3e3, 0x020b9476, 0x00f292cc, 0x0132a310, 0x008f63ad, 0x03b32cdf, 0x000d10f9}}}, + {X: Field{[10]uint32{0x006c4e14, 0x023c58b2, 0x0214f21f, 0x03ce56b9, 0x010168e8, 0x019b95fe, 0x03d7b65c, 0x03fc0b3a, 0x0064e396, 0x002c0052}}, Y: Field{[10]uint32{0x002eb876, 0x02f92e86, 0x0272cb7d, 0x027a8381, 0x004a80b6, 0x02d4048c, 0x025007da, 0x02537bb9, 0x01d7e2ec, 0x000fdb26}}}, + {X: Field{[10]uint32{0x0284f41a, 0x00310436, 0x03b2e125, 0x03d34919, 0x03c2d735, 0x032e0b90, 0x03329f0c, 0x02768d74, 0x019398fe, 0x00193273}}, Y: Field{[10]uint32{0x024372e9, 0x02544555, 0x0105ec8d, 0x01e3fd42, 0x01c223ef, 0x033b7c12, 0x0206fc6d, 0x0180cf44, 0x00ab71bf, 0x003492d4}}}, + {X: Field{[10]uint32{0x0129b766, 0x03f676f3, 0x02736ab4, 0x03533cc9, 0x00ecccfa, 0x009f6e58, 0x0359706b, 0x0161893d, 0x001d51e0, 0x003ff821}}, Y: Field{[10]uint32{0x01cf2562, 0x001d245e, 0x00a0177c, 0x0244c2cd, 0x03eb5d83, 0x01360193, 0x02c15952, 0x01b0413f, 0x01c9f695, 0x001af47c}}}, + {X: Field{[10]uint32{0x03ca7432, 0x034fe6dd, 0x020fa47f, 0x01873c3c, 0x034b4518, 0x03103479, 0x0138d630, 0x03165eeb, 0x00c0c053, 0x00034774}}, Y: Field{[10]uint32{0x0055976f, 0x0288ef5b, 0x0103280b, 0x02b77a4a, 0x035c9dc5, 0x02aabd9a, 0x03b5628d, 0x0257c0f9, 0x03fdb594, 0x000d2aa5}}}, + {X: Field{[10]uint32{0x028e5779, 0x03b2916b, 0x01d8df99, 0x00106c61, 0x019153f7, 0x03e65bc7, 0x0249cd3a, 0x035fde8f, 0x02e8c76b, 0x0021e90d}}, Y: Field{[10]uint32{0x011006f3, 0x02f9e5fc, 0x02027b6d, 0x03fdaa26, 0x00369ea4, 0x0287f0db, 0x0105d5b2, 0x00e113fe, 0x03f91255, 0x00234b3c}}}, + {X: Field{[10]uint32{0x0327c379, 0x03a7b2f7, 0x016e4b59, 0x0037354e, 0x00180107, 0x023f58bb, 0x00f707da, 0x031100e1, 0x00a74899, 0x00295140}}, Y: Field{[10]uint32{0x03cb2668, 0x00d15c8c, 0x02cae2f3, 0x00fc4768, 0x005315df, 0x00b249fe, 0x035b5e57, 0x02ec1817, 0x004a6d26, 0x00388591}}}, + {X: Field{[10]uint32{0x03d8187b, 0x02f54695, 0x00a9c88f, 0x01c821a4, 0x0328417b, 0x012358c8, 0x01aea85b, 0x0067d3e9, 0x00f799a3, 0x0024dfa9}}, Y: Field{[10]uint32{0x03dc9d9d, 0x03215533, 0x027bbb24, 0x036a9f4f, 0x00fce77b, 0x00510e2b, 0x01ce4afd, 0x02bb22df, 0x03fc9eb4, 0x000a4c69}}}, + {X: Field{[10]uint32{0x03fa6f36, 0x02c1766d, 0x03f07a1e, 0x018e3525, 0x02c70608, 0x02c13fc9, 0x00dbc96c, 0x012a8c81, 0x0076bb91, 0x00141e4f}}, Y: Field{[10]uint32{0x00bdab21, 0x00ff59c1, 0x03fbdeb1, 0x000daec7, 0x03d963b6, 0x0077a7bc, 0x00940df4, 0x001d8ada, 0x0078b5e3, 0x002beabf}}}, + {X: Field{[10]uint32{0x02d8bb5a, 0x025d9bc1, 0x01bf13a2, 0x02098755, 0x01f8da52, 0x02ff86b5, 0x011c5709, 0x03959373, 0x0230fada, 0x0022d801}}, Y: Field{[10]uint32{0x032916c0, 0x0108481a, 0x01f4dc11, 0x026e7080, 0x01788538, 0x0164dd30, 0x005a7c38, 0x010e6bb1, 0x024a3bd0, 0x003efc6d}}}, + {X: Field{[10]uint32{0x038c8458, 0x03cf40b9, 0x027bd635, 0x010c8ac5, 0x021fc616, 0x03ff062e, 0x03c96500, 0x0057b68d, 0x03dde32a, 0x00053a22}}, Y: Field{[10]uint32{0x036f02c9, 0x007bfa65, 0x009d735b, 0x004dd809, 0x035cc2cd, 0x01d6bf82, 0x02355be4, 0x003ea97e, 0x02c3dc24, 0x00020b07}}}, + {X: Field{[10]uint32{0x011c6c06, 0x00bf3d26, 0x00a30a91, 0x024bbf1c, 0x01975a3d, 0x031e2c72, 0x013dc028, 0x0211cb51, 0x00a324b6, 0x00308079}}, Y: Field{[10]uint32{0x00e2dc08, 0x01a7a73c, 0x00cee624, 0x02334e37, 0x02a82f5f, 0x031e1a84, 0x03f3e503, 0x039b423a, 0x015441d6, 0x000098ea}}}, + {X: Field{[10]uint32{0x019db4fb, 0x03443b82, 0x035a70c5, 0x00b9846c, 0x01409418, 0x0060a337, 0x0061b1e1, 0x022cfdc6, 0x025d319a, 0x001025d9}}, Y: Field{[10]uint32{0x027a506a, 0x02dc3540, 0x027a85dc, 0x0255415c, 0x03322a6b, 0x01bffb80, 0x02cd1ef5, 0x00ac7d5d, 0x00ebb1aa, 0x0032835f}}}, + {X: Field{[10]uint32{0x0027fa92, 0x03aad26d, 0x037a445d, 0x007cde94, 0x01371334, 0x02f814b6, 0x02021a04, 0x00a4fb74, 0x007aeff9, 0x0005cf4a}}, Y: Field{[10]uint32{0x02432548, 0x02691b05, 0x00e541fb, 0x00b34fe7, 0x0172e530, 0x015c9519, 0x03c37b58, 0x00621b09, 0x0204f03a, 0x002589b8}}}, + {X: Field{[10]uint32{0x014d4256, 0x0086911a, 0x039e78f1, 0x031a3c7c, 0x01227fb8, 0x0098a6fb, 0x014b03c9, 0x00453cc3, 0x034d001b, 0x003248f1}}, Y: Field{[10]uint32{0x035b3d29, 0x004d1016, 0x002731f4, 0x000f62b5, 0x00c9f918, 0x03c089e2, 0x00d1e08e, 0x004e0842, 0x026bdd5e, 0x00163b6f}}}, + {X: Field{[10]uint32{0x00b92d46, 0x0312adc3, 0x01a57c88, 0x02f9b2e4, 0x0393e5a8, 0x025b3cc7, 0x03104c51, 0x0170b4f7, 0x0106b1f2, 0x0024be9e}}, Y: Field{[10]uint32{0x0087f307, 0x0185d472, 0x0024079a, 0x017b3962, 0x00ae99a7, 0x02f34367, 0x0374db62, 0x007f07a3, 0x02bd7934, 0x00284858}}}, + {X: Field{[10]uint32{0x00639140, 0x02a8f102, 0x0294c691, 0x024412ba, 0x00976a9c, 0x034c3577, 0x008e17ee, 0x01e30aa7, 0x01f6f51f, 0x000dd1df}}, Y: Field{[10]uint32{0x00089872, 0x0357f0aa, 0x037305c2, 0x019bd419, 0x0325c3da, 0x0142c114, 0x006e15de, 0x0195b193, 0x02ed1955, 0x001a9a89}}}, + {X: Field{[10]uint32{0x010521bf, 0x03682637, 0x0359667a, 0x0090db17, 0x00be9bc7, 0x02fc03ec, 0x034e78ca, 0x03ce37e0, 0x02591195, 0x002d6cbb}}, Y: Field{[10]uint32{0x01ddd5e4, 0x01c1b885, 0x03e44314, 0x02c03f63, 0x00cc8bae, 0x0146afa4, 0x01d276d9, 0x00c0211b, 0x03859523, 0x00043cdb}}}, + {X: Field{[10]uint32{0x02a137bb, 0x0116c0f4, 0x03630948, 0x00d5dbb2, 0x02560393, 0x034c1fbc, 0x02415e90, 0x006ff8da, 0x01b8443f, 0x0002c174}}, Y: Field{[10]uint32{0x01066cbc, 0x01fc189f, 0x02f6465f, 0x01200f87, 0x0054098f, 0x03c358fe, 0x002a4156, 0x002cb0c4, 0x024bddc9, 0x00267fb3}}}, + {X: Field{[10]uint32{0x01d918fd, 0x01aba281, 0x03179de7, 0x0219b342, 0x03d69dcd, 0x025496d6, 0x03d703ae, 0x02cef73b, 0x01bd4778, 0x003975c4}}, Y: Field{[10]uint32{0x01b64248, 0x0070d71b, 0x01327542, 0x0092bce2, 0x009685d5, 0x03fbd5a4, 0x0088e218, 0x016ca683, 0x00ae5aa0, 0x0022bc05}}}, + {X: Field{[10]uint32{0x02fa4f30, 0x007de1a1, 0x03eb9f4f, 0x00471092, 0x001e217d, 0x0344de66, 0x031c6fc4, 0x0120beff, 0x02b8377a, 0x001dc0f2}}, Y: Field{[10]uint32{0x0084e8b3, 0x000d5c7a, 0x03f0a8e9, 0x03b5082b, 0x008dd329, 0x015a324b, 0x02247fd5, 0x02e36f1f, 0x01d13c80, 0x000cc8fb}}}, + {X: Field{[10]uint32{0x014f3cc8, 0x017d8985, 0x03085540, 0x00b3052c, 0x032c87da, 0x00a910d5, 0x02cf7225, 0x02d220d9, 0x0329c18b, 0x003e0d2b}}, Y: Field{[10]uint32{0x015ab248, 0x0007fb6f, 0x015c2820, 0x0311c5d8, 0x026bd8f7, 0x03f56f31, 0x027dc094, 0x01068a78, 0x02c0ca54, 0x000ba282}}}, + {X: Field{[10]uint32{0x03bbaee0, 0x01d0cd92, 0x03a794c7, 0x01f40740, 0x0213bbcd, 0x007614ab, 0x038ee845, 0x00f18076, 0x013d13f3, 0x001e0ec2}}, Y: Field{[10]uint32{0x00ae5b4b, 0x0326e09d, 0x001ab66e, 0x031c105c, 0x036b5fb1, 0x03b0b3be, 0x00dbfb20, 0x01aaffe8, 0x0301cfde, 0x000eaa42}}}, + {X: Field{[10]uint32{0x001c3391, 0x00b69678, 0x022666f9, 0x02087062, 0x033ae42e, 0x023bcb1d, 0x00a243b4, 0x002e6405, 0x0035a777, 0x002f8f31}}, Y: Field{[10]uint32{0x00e4a701, 0x02a49d97, 0x01c51e6a, 0x00149775, 0x00a560f7, 0x0187af16, 0x01fc64de, 0x02316056, 0x01360911, 0x003c34ef}}}, + {X: Field{[10]uint32{0x003b606d, 0x0024a15e, 0x02a08fc9, 0x001a115d, 0x0197f89e, 0x03fb86b8, 0x03624545, 0x0003bbf8, 0x03d7adac, 0x000fa602}}, Y: Field{[10]uint32{0x01c5c228, 0x00ccffba, 0x0088a34d, 0x00c14ff5, 0x0367455e, 0x03824451, 0x00734347, 0x0251b1d1, 0x0241204c, 0x003193c3}}}, + {X: Field{[10]uint32{0x0182b442, 0x02f3ecb5, 0x027c335b, 0x01517757, 0x0291d7b1, 0x025e435c, 0x0159bf12, 0x0079a8d2, 0x0140aa62, 0x0029ac10}}, Y: Field{[10]uint32{0x03cce830, 0x00705a6a, 0x0137f804, 0x0363b90b, 0x03a997f8, 0x010abdb9, 0x021d1515, 0x01765d79, 0x01e29cc0, 0x00272cb2}}}, + {X: Field{[10]uint32{0x03fa721b, 0x02038a91, 0x002e51f2, 0x00b4888e, 0x0229ba43, 0x00a6cb0e, 0x009a6a1b, 0x032e3e84, 0x003fc133, 0x001fa9ea}}, Y: Field{[10]uint32{0x0299d7e8, 0x01f763a9, 0x031b45bb, 0x01d78e15, 0x026aabab, 0x03450c29, 0x01c5562a, 0x01dcc60c, 0x00e88a1f, 0x0032f8e1}}}, + {X: Field{[10]uint32{0x010fa042, 0x00ab2982, 0x026c8d84, 0x03b851aa, 0x008189f9, 0x0052e9b5, 0x002b5fca, 0x027af8be, 0x007ef0fc, 0x0021497a}}, Y: Field{[10]uint32{0x0332c86f, 0x01c39d5a, 0x022a686c, 0x0391f7f8, 0x00192873, 0x028d295c, 0x02a393f2, 0x028f3c60, 0x0278f311, 0x00373c1a}}}, + {X: Field{[10]uint32{0x03d56dce, 0x029ed06e, 0x00fc0952, 0x03cdb341, 0x0316daff, 0x0197fa59, 0x0129c337, 0x0034327b, 0x037dfa05, 0x001d5569}}, Y: Field{[10]uint32{0x03152177, 0x035bc7c5, 0x019cfd0b, 0x024a0c1a, 0x0118dc03, 0x002bcc44, 0x03d0a3cd, 0x03707f62, 0x00a7bdc3, 0x00261530}}}, + {X: Field{[10]uint32{0x02ac296b, 0x03b85f66, 0x02f710be, 0x02eefb98, 0x00972bb3, 0x00cf8031, 0x026f0261, 0x036b0453, 0x02a07a0a, 0x0027b450}}, Y: Field{[10]uint32{0x037a9d08, 0x0142880a, 0x03f6a391, 0x02144709, 0x009f4dca, 0x01a66bd4, 0x00d4006f, 0x038ee349, 0x02416c80, 0x00307aba}}}, + {X: Field{[10]uint32{0x03c56b79, 0x00ec6a37, 0x029d5fb1, 0x0310b805, 0x00c9d761, 0x00463f60, 0x02aa67c8, 0x02333424, 0x00b3784d, 0x0028ff4b}}, Y: Field{[10]uint32{0x007ea755, 0x02ff56fe, 0x01f6d659, 0x03c9e827, 0x02b0d13d, 0x03243562, 0x00fcdd48, 0x0157cb54, 0x034155db, 0x001d7366}}}, + {X: Field{[10]uint32{0x005ad251, 0x014880d8, 0x0142fc99, 0x038a2edb, 0x01554338, 0x02703884, 0x01ad598b, 0x01fba1e6, 0x0205217e, 0x000aad2f}}, Y: Field{[10]uint32{0x0076d853, 0x03d78c55, 0x01dc7bd8, 0x0320f231, 0x03b788af, 0x00f8791e, 0x008c8eb8, 0x01b529ff, 0x0258da06, 0x000b0a86}}}, + {X: Field{[10]uint32{0x0248c383, 0x02959ee1, 0x033592ce, 0x002767e3, 0x0308c95d, 0x019bb33a, 0x02268af5, 0x006ababd, 0x0088af8c, 0x0012bf0a}}, Y: Field{[10]uint32{0x004f5eed, 0x0164cdaa, 0x0005458b, 0x012f8778, 0x03cf3f28, 0x03a671fa, 0x01025797, 0x03a4ba62, 0x03825e69, 0x002c789a}}}, + {X: Field{[10]uint32{0x018e3d4a, 0x00086d4b, 0x0188b548, 0x03236bf6, 0x02f63f5f, 0x02b070ac, 0x0038600a, 0x0274b920, 0x03aa9231, 0x00376003}}, Y: Field{[10]uint32{0x0039ed7d, 0x006a5dc4, 0x0260ce8e, 0x024853fb, 0x028fdbc1, 0x006206f1, 0x02522ac9, 0x01a35d83, 0x00926e04, 0x00167fa0}}}, + {X: Field{[10]uint32{0x02378c91, 0x029d3cf1, 0x017e2af5, 0x0209b7e7, 0x0007bb51, 0x02bec1fe, 0x039bc886, 0x0297e226, 0x03d1daa3, 0x00212abc}}, Y: Field{[10]uint32{0x0035afbb, 0x030a920e, 0x030e8011, 0x021add13, 0x03a04fd5, 0x0333825a, 0x0331218e, 0x0375be98, 0x02b845ea, 0x003d0592}}}, + {X: Field{[10]uint32{0x03c40b2b, 0x02b4ea09, 0x02fcc8ad, 0x0202e233, 0x00d2ffc1, 0x037feda4, 0x02823a3a, 0x0276e2a4, 0x02c39e2e, 0x002ddc3c}}, Y: Field{[10]uint32{0x000d53e6, 0x01667a37, 0x0122e79f, 0x025f29b3, 0x037e319c, 0x01ba9593, 0x01b90a91, 0x01260974, 0x02370989, 0x0003df1b}}}, + {X: Field{[10]uint32{0x02bb2b29, 0x00879fae, 0x0336236a, 0x021c924f, 0x017cb1db, 0x02c41f32, 0x0145c5fb, 0x039559c0, 0x00a8a0d7, 0x00298182}}, Y: Field{[10]uint32{0x0354de5f, 0x009715de, 0x00e1906f, 0x007ed603, 0x01a289c9, 0x03528e06, 0x0006f906, 0x01152259, 0x027c4e41, 0x000d08d4}}}, + {X: Field{[10]uint32{0x03414597, 0x02d926d4, 0x032d921e, 0x03dff2af, 0x0320f6b0, 0x0324469c, 0x02b4e5fc, 0x00e4e979, 0x00f97b7f, 0x00203d1c}}, Y: Field{[10]uint32{0x03d9adc3, 0x033a7c4a, 0x03e4afa1, 0x01392d6d, 0x03770fa1, 0x004f0fce, 0x028faea0, 0x02f8304c, 0x02f96e1b, 0x0015f63c}}}, + {X: Field{[10]uint32{0x015abb6f, 0x032ccea6, 0x017fe261, 0x036c7c0e, 0x0072e4a3, 0x01929ed6, 0x03f0096c, 0x012330ff, 0x03f21f52, 0x00138446}}, Y: Field{[10]uint32{0x02eb2b9f, 0x02b2eda5, 0x02b0f6d5, 0x0050c7ea, 0x00c03af6, 0x0182f64c, 0x01829c1d, 0x00cefd7f, 0x01721027, 0x0009273c}}}, + {X: Field{[10]uint32{0x022844c9, 0x005b1a31, 0x034f0184, 0x0037ce05, 0x00960cb7, 0x0083a17b, 0x0254660a, 0x00763040, 0x00b547fa, 0x001f6303}}, Y: Field{[10]uint32{0x0335a271, 0x00015c57, 0x00743404, 0x02b87daf, 0x0372b0f1, 0x00d633f4, 0x017335bf, 0x0135e685, 0x023c17ec, 0x000b5e6e}}}, + {X: Field{[10]uint32{0x030a0034, 0x00aabe59, 0x013aaf61, 0x02e26d65, 0x0014b132, 0x016a7cbc, 0x023d48fa, 0x01be95fc, 0x00bd9589, 0x002f0353}}, Y: Field{[10]uint32{0x03a0639d, 0x0283d20b, 0x01412480, 0x00fca3a9, 0x0383d756, 0x015dcef2, 0x02410915, 0x019605e9, 0x02707b31, 0x003d7419}}}, + {X: Field{[10]uint32{0x02d37a40, 0x039c3ead, 0x006a42df, 0x029a9f99, 0x015cceb0, 0x024c8785, 0x02ddbe1c, 0x03445657, 0x02aead08, 0x002c5528}}, Y: Field{[10]uint32{0x0216592a, 0x01794fcc, 0x00756c8b, 0x0234278f, 0x0217120d, 0x0257225b, 0x01e586f6, 0x0344af40, 0x0221674d, 0x0026aeb7}}}, + {X: Field{[10]uint32{0x0372e1e4, 0x01729615, 0x03325531, 0x0159f91d, 0x02314be7, 0x0107f8b9, 0x013bc318, 0x001bc9c1, 0x0034a6ce, 0x003bd80f}}, Y: Field{[10]uint32{0x009ad65d, 0x02b965f1, 0x00f5164a, 0x023cef42, 0x0115fced, 0x0206688c, 0x03a7e57d, 0x02c2e648, 0x022896f3, 0x003e7aef}}}, + {X: Field{[10]uint32{0x02aa9376, 0x0388ffa0, 0x016e2c04, 0x03686b12, 0x01014f7b, 0x02b70010, 0x01a05d91, 0x007aeeb5, 0x036c2d90, 0x00298045}}, Y: Field{[10]uint32{0x02e88ab8, 0x0228c0c6, 0x01e68f8c, 0x03e74fab, 0x03d59abc, 0x03a450dd, 0x032fb849, 0x00d924dd, 0x01b7ce0c, 0x003de077}}}, + {X: Field{[10]uint32{0x0031e6a7, 0x00c54e57, 0x007eb273, 0x03bcea40, 0x03b1c7f0, 0x0326a409, 0x03968b9b, 0x00413bea, 0x0147b6b3, 0x002af105}}, Y: Field{[10]uint32{0x017e0ec9, 0x02e28df6, 0x00dce879, 0x034d498a, 0x03594c5b, 0x035e0e66, 0x00a1821d, 0x0075bef6, 0x00a228f2, 0x00334a16}}}, + {X: Field{[10]uint32{0x007f5a81, 0x038e85f6, 0x008a92f2, 0x029b4c6d, 0x02941d1d, 0x009b904e, 0x024c4300, 0x031c86cb, 0x010500c9, 0x0024a240}}, Y: Field{[10]uint32{0x0260a5da, 0x025fca36, 0x03e2bb30, 0x02669f2f, 0x0015c223, 0x004ed1f1, 0x0032e17c, 0x03185c79, 0x007b1bdc, 0x003072b6}}}, + {X: Field{[10]uint32{0x037ca563, 0x01129f70, 0x00228ad1, 0x0201af59, 0x00500a7a, 0x0251da43, 0x02468319, 0x00d7291a, 0x02a69f4b, 0x00394837}}, Y: Field{[10]uint32{0x022a82de, 0x02c34f22, 0x03356638, 0x002b6d9c, 0x01e2330b, 0x02b538b6, 0x0355dda6, 0x023efa40, 0x0366ac3f, 0x001b0035}}}, + {X: Field{[10]uint32{0x017fadc4, 0x00b5c071, 0x03fb3750, 0x005463c3, 0x02ac2e93, 0x035bbc97, 0x03d18a79, 0x03c70695, 0x0223e2b3, 0x00300cde}}, Y: Field{[10]uint32{0x00808b65, 0x00851bd4, 0x021eccdd, 0x00e3db81, 0x017ac7e9, 0x001e95c3, 0x029c3d5b, 0x037cd51c, 0x0073be22, 0x003f3a96}}}, + {X: Field{[10]uint32{0x0181ac04, 0x0049e6ca, 0x0193cfa5, 0x02583d4d, 0x001b796a, 0x00b47589, 0x01fb6a76, 0x00b01dad, 0x02bb6a8e, 0x0009db18}}, Y: Field{[10]uint32{0x021afc1a, 0x00ba85db, 0x0292b73e, 0x01e0223d, 0x00773c45, 0x01a588db, 0x01284d7d, 0x000748fe, 0x025abb6b, 0x001714e9}}}, + {X: Field{[10]uint32{0x01663a5f, 0x00776fa3, 0x01ed4fad, 0x01bd9ea7, 0x00c4a2de, 0x00f23b79, 0x037ccdd4, 0x00770ae0, 0x0287e505, 0x00181387}}, Y: Field{[10]uint32{0x03429bee, 0x001ac9e2, 0x0034902d, 0x01ce670d, 0x02ace4c4, 0x01113618, 0x014d6759, 0x0065ce4f, 0x023ce351, 0x003dc3f8}}}, + {X: Field{[10]uint32{0x0041f6fa, 0x038e21d7, 0x00eec3b6, 0x02bbdf93, 0x024aba16, 0x03a40e6e, 0x00b05be5, 0x02441b56, 0x011f470d, 0x003cbf05}}, Y: Field{[10]uint32{0x01e98de0, 0x02a485b8, 0x037b85d2, 0x01ce705a, 0x00d41887, 0x001da418, 0x027f2d6e, 0x01718f63, 0x02c7f1aa, 0x003d26f4}}}, + {X: Field{[10]uint32{0x000ac560, 0x0240b84d, 0x00315eb0, 0x025359ac, 0x007ee0b2, 0x0391babe, 0x001d9cd7, 0x00d3bcee, 0x03460e9f, 0x002380c4}}, Y: Field{[10]uint32{0x00394296, 0x00517e4b, 0x00dca450, 0x023003b0, 0x02006b02, 0x03b81413, 0x027441c0, 0x00787944, 0x00bda5e2, 0x003fc032}}}, + {X: Field{[10]uint32{0x01a9970b, 0x027d03f9, 0x01a0a96b, 0x02cea174, 0x03d4e26e, 0x02ca553a, 0x021cbe16, 0x01ea3c9e, 0x031ad75b, 0x002a1a03}}, Y: Field{[10]uint32{0x02070c01, 0x0065cef9, 0x024c6950, 0x02fb10a5, 0x02757401, 0x00fd4a25, 0x03281f2a, 0x036b18e5, 0x0341a55b, 0x001831af}}}, + {X: Field{[10]uint32{0x004f4658, 0x039b1bd4, 0x03066128, 0x00035372, 0x0009ca8c, 0x002171e5, 0x03407c05, 0x00ba8780, 0x01e7f4d8, 0x00135a28}}, Y: Field{[10]uint32{0x03d1ce76, 0x009979e8, 0x02af4d36, 0x0028e99c, 0x0126a955, 0x030db75b, 0x0295d2d2, 0x00da44aa, 0x0211e5dd, 0x00217177}}}, + {X: Field{[10]uint32{0x02c2a7a9, 0x02882bb9, 0x024835c6, 0x0306b9e2, 0x01758c0b, 0x0340bace, 0x003cdc1b, 0x021925a6, 0x001c2a6d, 0x000dc23d}}, Y: Field{[10]uint32{0x03ec4152, 0x014febea, 0x039e7f45, 0x01171c2b, 0x023c2b71, 0x02aac64f, 0x01ae0f87, 0x03d77572, 0x019e79b7, 0x000c42de}}}, + {X: Field{[10]uint32{0x0115f059, 0x038de028, 0x01a92f6c, 0x0334eaec, 0x022d1a18, 0x00fd6dcc, 0x03961814, 0x02317fc6, 0x01674502, 0x0023220e}}, Y: Field{[10]uint32{0x020725d8, 0x0229f9d8, 0x00e10b00, 0x01097237, 0x0040128e, 0x019b761f, 0x03441800, 0x01212830, 0x02d4e4ae, 0x0009158e}}}, + {X: Field{[10]uint32{0x018f8fb0, 0x0387fd35, 0x0305d0a0, 0x03098d08, 0x03652e83, 0x0129c98e, 0x010fd1a9, 0x01eb4ef7, 0x036a7b37, 0x00311179}}, Y: Field{[10]uint32{0x03acc89d, 0x033a9872, 0x01b8cc94, 0x039c8c19, 0x02f60ae2, 0x02ab9f71, 0x03bd3c13, 0x036d84eb, 0x001adc8d, 0x0012fd69}}}, + {X: Field{[10]uint32{0x02419f16, 0x03d976a3, 0x02e8deb2, 0x017bb6ab, 0x0236949d, 0x0292e7f5, 0x019f1d4d, 0x00d7f983, 0x013ac8a6, 0x0012b658}}, Y: Field{[10]uint32{0x00b0d7c4, 0x02d2545a, 0x0331642a, 0x01ded2c1, 0x01387458, 0x03c6a06e, 0x0131c83e, 0x0283eceb, 0x03068f67, 0x0016a6d6}}}, + {X: Field{[10]uint32{0x0360c943, 0x0074a7f5, 0x00b0c20d, 0x02f163a4, 0x022e397f, 0x0122a998, 0x0349d776, 0x03f9b26a, 0x02e1958b, 0x002facfa}}, Y: Field{[10]uint32{0x0382c9b8, 0x03bfe200, 0x02678dba, 0x01edaa08, 0x03ec76f2, 0x02a9a36b, 0x01dc6fb5, 0x019eac89, 0x02bef43a, 0x00035691}}}, + {X: Field{[10]uint32{0x0134f397, 0x026867f4, 0x018ab9df, 0x0050f900, 0x034623fc, 0x035281da, 0x03f1daea, 0x0086cef8, 0x02b0bc0e, 0x002aaa6a}}, Y: Field{[10]uint32{0x0342e40b, 0x01c0ee89, 0x0390ed3c, 0x03e2ead9, 0x02d3f094, 0x03e8b6b4, 0x000347e8, 0x00b1969b, 0x03fe1964, 0x000271f5}}}, + {X: Field{[10]uint32{0x0199dc52, 0x035a956b, 0x01356604, 0x01867f57, 0x00d40116, 0x0073e749, 0x017ae86f, 0x03d118bf, 0x028999d6, 0x00154f07}}, Y: Field{[10]uint32{0x0150cebc, 0x002f5bfd, 0x004ed646, 0x0250de4d, 0x013f6fe4, 0x01f17c37, 0x02ba776f, 0x02b169b4, 0x013b8410, 0x0009ad03}}}, + {X: Field{[10]uint32{0x02a1abc8, 0x03afe096, 0x0128ab47, 0x0025567b, 0x00c3d565, 0x01c97581, 0x00dae9c4, 0x023f10e6, 0x01ea3637, 0x00216621}}, Y: Field{[10]uint32{0x000687f5, 0x00c7f3fc, 0x030669e5, 0x02a8f102, 0x020e6e84, 0x02cb458d, 0x02fd9305, 0x02e58eec, 0x02f9fc74, 0x003eb96b}}}, + {X: Field{[10]uint32{0x00368f93, 0x01ef7bbc, 0x0254b0bb, 0x00ca9c31, 0x0189e510, 0x00ee08d1, 0x00bf7c16, 0x01752155, 0x0118679c, 0x0017ec28}}, Y: Field{[10]uint32{0x03c2a2d0, 0x03c6099a, 0x00c70a4c, 0x02b4e765, 0x005b9966, 0x02e5761a, 0x0302111e, 0x005b4efe, 0x01f04a68, 0x0003a355}}}, + {X: Field{[10]uint32{0x00f91dfa, 0x02fa0be5, 0x00302194, 0x0175df39, 0x02bbed44, 0x039c376b, 0x03d737c1, 0x03854f26, 0x034786f3, 0x00029090}}, Y: Field{[10]uint32{0x03beed46, 0x00595239, 0x02496971, 0x02963b04, 0x01a54239, 0x0096da7f, 0x0012f4df, 0x03f6a704, 0x02d6abd9, 0x0009f472}}}, + {X: Field{[10]uint32{0x00c821e7, 0x006e4868, 0x003eef57, 0x0115cac2, 0x00394659, 0x01ca4c43, 0x028213cc, 0x0307ce82, 0x0108063f, 0x0017401d}}, Y: Field{[10]uint32{0x02b2df3a, 0x00744aff, 0x007f939f, 0x0205ac10, 0x02d99bfa, 0x0048e121, 0x00c26056, 0x01681ecb, 0x03c45d05, 0x00394e3e}}}, + {X: Field{[10]uint32{0x002e3db9, 0x00bd7a0a, 0x02a525f8, 0x02a9c737, 0x01e80393, 0x012aadfe, 0x00605a0e, 0x000a1a4d, 0x01b897b1, 0x0028fac9}}, Y: Field{[10]uint32{0x01e7f77d, 0x00f60fdc, 0x00c6f030, 0x022f9a24, 0x036beec5, 0x00a259f1, 0x036baaf1, 0x03117908, 0x00c21430, 0x0038acd5}}}, + {X: Field{[10]uint32{0x0097981b, 0x00b8273a, 0x01f0fff7, 0x01453a8d, 0x021e309e, 0x0043f205, 0x033f51cd, 0x00c80a5b, 0x02208a13, 0x001cfd8c}}, Y: Field{[10]uint32{0x02420179, 0x03b41cc2, 0x01dc4015, 0x01ea286d, 0x02309525, 0x00d26a4b, 0x01f7ded0, 0x03ccbb5b, 0x0159cc78, 0x0010d04a}}}, + {X: Field{[10]uint32{0x00da41af, 0x03b139d2, 0x01bb4ccf, 0x00b7c6ee, 0x00776051, 0x01811992, 0x00d9628f, 0x02d7ce3c, 0x01d1c21b, 0x0017c209}}, Y: Field{[10]uint32{0x025c0cab, 0x0108e7ff, 0x02323b37, 0x02e30925, 0x005becd4, 0x01964a09, 0x031abd5b, 0x03784a13, 0x020e1d95, 0x0037aeb1}}}, + {X: Field{[10]uint32{0x03d84294, 0x00967fbd, 0x0276da10, 0x03ff19a9, 0x02efc26d, 0x03448a53, 0x023f624c, 0x03a7cbeb, 0x02f2b4a8, 0x003310a9}}, Y: Field{[10]uint32{0x03230519, 0x0383850e, 0x016901ba, 0x0385a804, 0x03118a7a, 0x02d7ec5f, 0x03f2adb2, 0x02f417c4, 0x0200f92c, 0x00246c99}}}, + {X: Field{[10]uint32{0x03635a17, 0x0000bb1b, 0x022618f0, 0x035af44d, 0x034de0c5, 0x03bef347, 0x01aad7a8, 0x0384fea0, 0x00e76eeb, 0x001f55b8}}, Y: Field{[10]uint32{0x03fa1ad8, 0x004eb090, 0x01754f7d, 0x03b156a4, 0x00051122, 0x03a9779f, 0x01ca813e, 0x038fb91b, 0x0307fe55, 0x00255189}}}, + {X: Field{[10]uint32{0x03a5be61, 0x015301bd, 0x00dc6add, 0x03f0f1d9, 0x02fba8ca, 0x02b6d5ad, 0x03605b3a, 0x017b12b2, 0x021b4fe8, 0x001e5cad}}, Y: Field{[10]uint32{0x02b8c7d8, 0x0249b24c, 0x037dd9f4, 0x03397516, 0x024764c4, 0x011aa3a4, 0x00f5141c, 0x03e9ba9f, 0x02702642, 0x002e8619}}}, + {X: Field{[10]uint32{0x01025626, 0x00208d75, 0x02e0bbbe, 0x01fcd87e, 0x034344c8, 0x019d3e43, 0x01f63609, 0x00540226, 0x0040347b, 0x003b7229}}, Y: Field{[10]uint32{0x032cd77b, 0x007b3106, 0x024864d0, 0x008a6947, 0x027bf841, 0x034502cb, 0x00c7cefa, 0x02fd666f, 0x03409a14, 0x000be049}}}, + {X: Field{[10]uint32{0x01b16899, 0x021df34f, 0x00d18d54, 0x02fc9558, 0x02d4ea1b, 0x027e6661, 0x0327b571, 0x03d354bd, 0x01c97a8c, 0x002f66d9}}, Y: Field{[10]uint32{0x02fe432d, 0x02638af0, 0x019af7db, 0x00fd77fa, 0x01ee9c8e, 0x02f93e18, 0x00d9e02d, 0x023972fc, 0x01274e87, 0x001673dc}}}, + {X: Field{[10]uint32{0x00f35782, 0x038ab313, 0x02106f3b, 0x00096542, 0x0072d918, 0x01317636, 0x03565714, 0x03a3334d, 0x02381191, 0x0009d8d7}}, Y: Field{[10]uint32{0x00d1ab7d, 0x0264bdc3, 0x00ce9db1, 0x03cdf9ae, 0x00eb5251, 0x03d46eb5, 0x03fa3ab8, 0x021c3401, 0x0247a019, 0x0030d67f}}}, + {X: Field{[10]uint32{0x0321d85c, 0x0377c84e, 0x03261839, 0x03d2577e, 0x00359950, 0x01e803a6, 0x02abad14, 0x014c02a5, 0x00c316c0, 0x001124b7}}, Y: Field{[10]uint32{0x009ad35b, 0x00d3b5f7, 0x02433189, 0x02fe9630, 0x02fafed4, 0x008a7716, 0x03b8c6d2, 0x00790b6f, 0x0371a4e8, 0x0003b7c4}}}, + {X: Field{[10]uint32{0x01f9c67b, 0x02a981bb, 0x03c01279, 0x031b3b8d, 0x0325887f, 0x02f623e3, 0x028a3869, 0x00079637, 0x0040409e, 0x003e0493}}, Y: Field{[10]uint32{0x026fa6bc, 0x01830868, 0x009d3655, 0x0231879d, 0x022b0f00, 0x035fcd98, 0x026269c3, 0x03b82a28, 0x01d1d31f, 0x0003801c}}}, + {X: Field{[10]uint32{0x0205a2b5, 0x0212f0e6, 0x030b1b57, 0x00ce3d57, 0x02ce3aed, 0x03579470, 0x000716ad, 0x03337e8b, 0x0367066e, 0x0033165e}}, Y: Field{[10]uint32{0x00682865, 0x00e9061d, 0x022da74e, 0x039fcfbc, 0x03df52da, 0x00a3a356, 0x0212ec40, 0x010f6747, 0x01fc394a, 0x0004b80c}}}, + {X: Field{[10]uint32{0x005aeda2, 0x034c78a0, 0x022ee6fd, 0x01c698c8, 0x03d4a45f, 0x03549774, 0x01642707, 0x020fef48, 0x02c6bc12, 0x00050b2c}}, Y: Field{[10]uint32{0x02d66ec0, 0x017b7197, 0x02f2e181, 0x03edf1a1, 0x00ed082b, 0x02fb1916, 0x015b7180, 0x0108ab93, 0x0112c72c, 0x002f7a4f}}}, + {X: Field{[10]uint32{0x001d2d3c, 0x03645230, 0x0147968f, 0x01d78fc3, 0x01c33273, 0x02a25dea, 0x016704a1, 0x0165079a, 0x0202dd76, 0x003efd35}}, Y: Field{[10]uint32{0x006afa8d, 0x03c4e5b0, 0x0118d08e, 0x02ca6bdf, 0x00c7b96f, 0x01a3d858, 0x014cae8e, 0x02572e9b, 0x01f799e8, 0x00196d1b}}}, + {X: Field{[10]uint32{0x01bfffb8, 0x0048f863, 0x02bc7c6d, 0x036f3163, 0x01f09436, 0x03053143, 0x0300ea5e, 0x03a3338c, 0x0157bb5f, 0x003bf6d7}}, Y: Field{[10]uint32{0x0203fe01, 0x01ee2900, 0x00deb813, 0x01fb7758, 0x01d444e4, 0x019ef627, 0x019ce931, 0x00318988, 0x0003d9a9, 0x000e420e}}}, + {X: Field{[10]uint32{0x003f35ad, 0x0241d08b, 0x03d74976, 0x03c7ab7a, 0x02921f59, 0x01afcb53, 0x00b36c7b, 0x00155c2d, 0x0334faa3, 0x0016f290}}, Y: Field{[10]uint32{0x021206e3, 0x03489ef0, 0x0345b520, 0x00a8d4fe, 0x0179d27f, 0x03591b6d, 0x03f2fe1c, 0x018fdc8a, 0x02f5e2a6, 0x000f25ee}}}, + {X: Field{[10]uint32{0x01156632, 0x03c7cfd4, 0x00d4c49f, 0x025c69cf, 0x01ff921e, 0x012a9990, 0x018a0f05, 0x03c1956b, 0x03bce90c, 0x0026a876}}, Y: Field{[10]uint32{0x031a4200, 0x00efd00a, 0x012dc651, 0x01eae404, 0x016e0b33, 0x02730449, 0x002f0f0b, 0x03a176e0, 0x001d8bf1, 0x0032fdba}}}, + {X: Field{[10]uint32{0x03c2d408, 0x02a5589c, 0x01b86aba, 0x01bfbfc2, 0x035386e5, 0x037b0a09, 0x01d4d23d, 0x01d9d935, 0x005586ed, 0x000bf1ff}}, Y: Field{[10]uint32{0x01d6285f, 0x0272041a, 0x03f3f54f, 0x01617531, 0x016019a5, 0x000c42d7, 0x037b0c3e, 0x00d2bb91, 0x01e4773c, 0x0016ffda}}}, + {X: Field{[10]uint32{0x034190b2, 0x03332ef4, 0x03f34764, 0x00403cbf, 0x026ef3b2, 0x0037e445, 0x01954878, 0x01bcb10c, 0x0141c3ac, 0x002397ee}}, Y: Field{[10]uint32{0x0110d2ce, 0x026ebaff, 0x02c4b1df, 0x027b73c6, 0x038d29b5, 0x039eccbe, 0x03ae154c, 0x01a38b18, 0x01b15f66, 0x0036f8b0}}}, + {X: Field{[10]uint32{0x033d49c6, 0x006f5842, 0x03690480, 0x001c99a4, 0x02dcfbaa, 0x02a56e36, 0x013389ea, 0x035b7417, 0x03594748, 0x001e96ee}}, Y: Field{[10]uint32{0x034187c0, 0x03b7ab18, 0x03fa7fd4, 0x0073bff8, 0x00ca1386, 0x0048d71a, 0x00b755c6, 0x00cffa36, 0x0043a42d, 0x0030b4a0}}}, + {X: Field{[10]uint32{0x03b76753, 0x03ebc86f, 0x00745f87, 0x0388894d, 0x00917c2f, 0x02d8c738, 0x033ee1b1, 0x00d4c6b9, 0x00bdf0d3, 0x00256fae}}, Y: Field{[10]uint32{0x0064f45b, 0x030bc2c3, 0x00adaa43, 0x020df88c, 0x03b9bd77, 0x01283932, 0x03e269fb, 0x0165d549, 0x0200d9c5, 0x0031b3e1}}}, + {X: Field{[10]uint32{0x02968d25, 0x003488f8, 0x03a32054, 0x0365dae3, 0x03576dbb, 0x002ae5e4, 0x00fa4809, 0x01b700c1, 0x030c6d89, 0x003d13b2}}, Y: Field{[10]uint32{0x0321086a, 0x027cd4f0, 0x038106d1, 0x003d79db, 0x01e20e47, 0x03a91a82, 0x0203c629, 0x010ca5da, 0x00f62964, 0x00151419}}}, + {X: Field{[10]uint32{0x038109de, 0x01274994, 0x01e074fb, 0x0309dc18, 0x01d56d68, 0x03deb899, 0x033ef501, 0x024db985, 0x00d33dbd, 0x002374cb}}, Y: Field{[10]uint32{0x003f1e76, 0x0217dc1f, 0x00851ae9, 0x00968430, 0x00ad158c, 0x011f5b64, 0x012bca8a, 0x02b0814e, 0x025c80da, 0x001ac443}}}, + {X: Field{[10]uint32{0x0237997b, 0x01d77698, 0x01a8c770, 0x00fe2473, 0x010fea5e, 0x01c74113, 0x03bc77eb, 0x03d5e353, 0x0130b0f0, 0x000f52bf}}, Y: Field{[10]uint32{0x018bb9ce, 0x02c7bf01, 0x0093ed83, 0x02af9d21, 0x020ae286, 0x02708eb6, 0x013d4424, 0x03d5fb1e, 0x00e8664d, 0x000a05b8}}}, + {X: Field{[10]uint32{0x01d95ff1, 0x03ff45e1, 0x020200a5, 0x0204b4af, 0x02b83913, 0x01a81ee8, 0x015ccac8, 0x00ec8aca, 0x01fbbeaa, 0x002a6dce}}, Y: Field{[10]uint32{0x03b84f1b, 0x016cabaf, 0x02d401a5, 0x00ae3b5e, 0x00d3c5d4, 0x0310ff7b, 0x016d7323, 0x029abbda, 0x023021d6, 0x00287420}}}, + {X: Field{[10]uint32{0x0203715a, 0x01fd1ae4, 0x03632bb7, 0x019eb3e6, 0x02a37e5d, 0x022d5659, 0x02cc754c, 0x0147aff0, 0x0347e512, 0x003a4025}}, Y: Field{[10]uint32{0x02f9df72, 0x036ad3f3, 0x03907d9c, 0x01e85f38, 0x00756f27, 0x015c6962, 0x03476f25, 0x03e65dc6, 0x01679ea8, 0x000d0962}}}, + {X: Field{[10]uint32{0x021a3f2e, 0x01d90e7c, 0x006c1a83, 0x0104eb13, 0x002108fe, 0x02ccc821, 0x00d09b96, 0x035d3309, 0x00ed55aa, 0x001f8d23}}, Y: Field{[10]uint32{0x00389e5f, 0x033e0fad, 0x020f91ed, 0x00bcd964, 0x01c884c2, 0x010e793d, 0x0065706e, 0x009e5761, 0x038e3b72, 0x000e61d3}}}, + {X: Field{[10]uint32{0x03b1f55a, 0x029d29be, 0x01220aaa, 0x02da2834, 0x038e340f, 0x003f3034, 0x032cdabf, 0x035c055b, 0x02765ec2, 0x0029f759}}, Y: Field{[10]uint32{0x0341d447, 0x029439cb, 0x00e73760, 0x02b5117a, 0x0163710d, 0x02c02efa, 0x02ded9b0, 0x0298f4a4, 0x03f2ab00, 0x002dc246}}}, + {X: Field{[10]uint32{0x03f57025, 0x02354780, 0x03a96a30, 0x00a91a4f, 0x0051c085, 0x01b624d3, 0x0033a481, 0x032fdb70, 0x01e9a8cc, 0x0002e15e}}, Y: Field{[10]uint32{0x0158268b, 0x0337315c, 0x00feca8b, 0x00cdbda5, 0x0242c888, 0x02f046f6, 0x0164a3e0, 0x00546cbc, 0x00df4d79, 0x0039a5bb}}}, + {X: Field{[10]uint32{0x03f57af8, 0x00b0b0af, 0x03cdabb4, 0x007519e1, 0x03184f1c, 0x01ed669f, 0x00c8c72e, 0x002032fe, 0x00459de0, 0x0001eca7}}, Y: Field{[10]uint32{0x03801799, 0x011b7a57, 0x026145dc, 0x02dc97d3, 0x02817578, 0x000ddbb7, 0x0101ca56, 0x0344f506, 0x0367a6d8, 0x001037a0}}}, + {X: Field{[10]uint32{0x02f00f9f, 0x026bf765, 0x0214e017, 0x0276cc7f, 0x030d1c4e, 0x002df940, 0x020e34ef, 0x016f9eb0, 0x026f89b6, 0x00073bfe}}, Y: Field{[10]uint32{0x0276f179, 0x01d12d46, 0x02da979a, 0x03d6f2a9, 0x008e293b, 0x005e4384, 0x018feb78, 0x00c2f7b6, 0x00b1f059, 0x001bf7ba}}}, + {X: Field{[10]uint32{0x01e58d74, 0x0365f645, 0x01e47ca2, 0x03fa8013, 0x0280ba4e, 0x00078bb1, 0x01d01e9a, 0x000715b5, 0x016d11d3, 0x00155b8b}}, Y: Field{[10]uint32{0x0249d711, 0x00b175d4, 0x0096108a, 0x031cbd36, 0x013d66e6, 0x03bb2f26, 0x01ba7eef, 0x035edad5, 0x009bb633, 0x0025620d}}}, + {X: Field{[10]uint32{0x01e51586, 0x02ae45e8, 0x026ba6a7, 0x03d3a7b9, 0x02b97f7b, 0x00ad8ba8, 0x004518a4, 0x00f723b4, 0x028873b9, 0x002cd41b}}, Y: Field{[10]uint32{0x030b3b38, 0x00eb9306, 0x023fd582, 0x027c7e3f, 0x025917a3, 0x02b2ea7f, 0x0293eaa7, 0x03edeff9, 0x01001230, 0x0011d3e0}}}, + {X: Field{[10]uint32{0x012628f3, 0x01d2e5af, 0x00504e97, 0x00e86665, 0x001ba7ff, 0x0243b99f, 0x001a886f, 0x0124236c, 0x02f389cb, 0x0003461a}}, Y: Field{[10]uint32{0x02a2db7d, 0x023dfbbc, 0x0021d5d0, 0x01bfd046, 0x02d01d74, 0x0218bbcd, 0x0378c75a, 0x01f372d1, 0x002bc656, 0x000ece5e}}}, + {X: Field{[10]uint32{0x03987bb7, 0x02215cbb, 0x00d55d67, 0x0200aa04, 0x0119e8c9, 0x018b18e7, 0x02459000, 0x016b08fe, 0x0121e106, 0x003e5476}}, Y: Field{[10]uint32{0x01d7d950, 0x002631fe, 0x0207055d, 0x019aedda, 0x01051abc, 0x03d54ed7, 0x03db2397, 0x03a5d409, 0x01c187f8, 0x00373df7}}}, + {X: Field{[10]uint32{0x00d915ec, 0x00f83eb1, 0x0242ebb5, 0x01d3f20a, 0x038bcbf8, 0x03cd0382, 0x021b75e8, 0x01bf1845, 0x02167bac, 0x002373a3}}, Y: Field{[10]uint32{0x00ae940c, 0x004985f8, 0x03674e32, 0x03d240cb, 0x039c0287, 0x01349bb5, 0x00b410b3, 0x02e7ae6d, 0x03a14a9e, 0x00047394}}}, + {X: Field{[10]uint32{0x01e26e2b, 0x00e7baa6, 0x005dc4f4, 0x016bb56a, 0x02755dfc, 0x0304a9ea, 0x012ed15e, 0x0290f35f, 0x00dda0a7, 0x00338b4f}}, Y: Field{[10]uint32{0x03a5a145, 0x025f1801, 0x0009a36b, 0x0191f886, 0x036a8eed, 0x03160881, 0x035c2853, 0x009d03a9, 0x02bbe7ca, 0x001aa5ab}}}, + {X: Field{[10]uint32{0x00d92092, 0x00e42a37, 0x000f05ea, 0x00295632, 0x00f712c4, 0x020ce492, 0x03367b5c, 0x0353173b, 0x02fcdcc2, 0x0008e519}}, Y: Field{[10]uint32{0x03ac28cd, 0x02157849, 0x0318ed0e, 0x02acedf5, 0x0265d176, 0x023805cd, 0x023ee8e9, 0x03c22f29, 0x023c9b49, 0x003cb388}}}, + {X: Field{[10]uint32{0x0163e033, 0x0297fb8d, 0x0395e0f6, 0x01911d98, 0x034a2f3c, 0x00c7825c, 0x005bcd83, 0x00f02367, 0x0364341d, 0x000882ad}}, Y: Field{[10]uint32{0x02df5011, 0x03360dd5, 0x03f4cf9d, 0x028d5e05, 0x03aa51a9, 0x02d48300, 0x03dc7a42, 0x004fbd19, 0x0060d030, 0x003b0791}}}, + {X: Field{[10]uint32{0x004b469f, 0x03ffa024, 0x03db4ee2, 0x004993e8, 0x02845f0b, 0x00f13443, 0x03ffd81f, 0x01a9b1c3, 0x01fe1640, 0x00355157}}, Y: Field{[10]uint32{0x020aaf9a, 0x00428401, 0x019b8088, 0x03c0abe5, 0x0028a20a, 0x0056125f, 0x01d99e49, 0x00798899, 0x038d257e, 0x00283e4e}}}, + {X: Field{[10]uint32{0x00e60c72, 0x03627ca2, 0x0137e1a9, 0x03e73f07, 0x02f5039c, 0x007bb034, 0x0054665f, 0x03c1777c, 0x0377a1f6, 0x00148d9c}}, Y: Field{[10]uint32{0x02c7bb41, 0x027f1767, 0x01ce6a03, 0x005b663e, 0x00d05e70, 0x038925e8, 0x018d0477, 0x030d4b35, 0x0355430f, 0x001e3627}}}, + {X: Field{[10]uint32{0x03a56395, 0x0377a957, 0x02c9f4c1, 0x03c644b9, 0x01a8e569, 0x01cd9049, 0x023dc886, 0x0250889a, 0x01133ecc, 0x0016e658}}, Y: Field{[10]uint32{0x02436d0a, 0x010abd93, 0x00f19101, 0x02a84226, 0x03f7a0bc, 0x0178bf57, 0x00ac902c, 0x01b2bd76, 0x03641207, 0x002ee75d}}}, + {X: Field{[10]uint32{0x004c13fb, 0x0093ccae, 0x00f0c07c, 0x010f6e5b, 0x03eecd1a, 0x02c299dc, 0x007fa4a5, 0x03479963, 0x035cbfbe, 0x003cdb36}}, Y: Field{[10]uint32{0x018c394c, 0x01b24640, 0x039b9315, 0x039d1e4d, 0x01993744, 0x006d8996, 0x016aee18, 0x03b68a45, 0x02f05ee9, 0x0033f1b4}}}, + {X: Field{[10]uint32{0x0079a6f9, 0x017ee45c, 0x03e44059, 0x00cc43b1, 0x030842ce, 0x014c499b, 0x00bf7545, 0x01ebcace, 0x018e2510, 0x000c8231}}, Y: Field{[10]uint32{0x02c785d7, 0x011d628c, 0x001c645a, 0x028b2220, 0x03653599, 0x0257b0b2, 0x01d9ab58, 0x02db2581, 0x01cb5346, 0x0020c71b}}}, + {X: Field{[10]uint32{0x009927a7, 0x014e4623, 0x025a8c52, 0x020d9406, 0x02472535, 0x01135cd5, 0x0021b80b, 0x00438aa8, 0x02071f85, 0x002981ce}}, Y: Field{[10]uint32{0x0364fec9, 0x03c64698, 0x032462a9, 0x00361600, 0x026fefa3, 0x033f26ee, 0x0318baad, 0x01d84859, 0x03c54c8a, 0x003a4ea7}}}, + {X: Field{[10]uint32{0x01f0d913, 0x00d5d62e, 0x007139e3, 0x01f8d589, 0x00f7ec1a, 0x02a9fffa, 0x00f21476, 0x02bdfc98, 0x0062f79e, 0x000cd42d}}, Y: Field{[10]uint32{0x01152959, 0x01c5c448, 0x00d4e805, 0x02f120a9, 0x03020f33, 0x02a34ba4, 0x03d2341b, 0x0048883e, 0x01b30fce, 0x0007c327}}}, + {X: Field{[10]uint32{0x03073caa, 0x03893380, 0x0344c11d, 0x00f99bd9, 0x00177391, 0x02859433, 0x007c89b5, 0x00a9d248, 0x03170bc8, 0x00295356}}, Y: Field{[10]uint32{0x02cd3ab8, 0x01edec4c, 0x033afcdb, 0x009be4ad, 0x02fe62dc, 0x02488b27, 0x007fe5d4, 0x0374460f, 0x035f5309, 0x000f090e}}}, + {X: Field{[10]uint32{0x00a04cf8, 0x0095ca41, 0x005cae5b, 0x01b558e4, 0x028a7d34, 0x0071e18f, 0x0024f7b0, 0x01e8d285, 0x02bf676a, 0x00196428}}, Y: Field{[10]uint32{0x03e781e7, 0x01419168, 0x02f09396, 0x03b10919, 0x004f8d0c, 0x03a8bdcd, 0x002d972e, 0x0106684e, 0x00030490, 0x00047356}}}, + {X: Field{[10]uint32{0x03cba9a5, 0x025bb271, 0x0159289e, 0x00f7ed6e, 0x01884039, 0x028d9c04, 0x03461a20, 0x03d22f4b, 0x00029fc7, 0x002cf027}}, Y: Field{[10]uint32{0x00f5cfa9, 0x03324ac2, 0x0360ab97, 0x035abcb6, 0x03c6a3e6, 0x0300c38a, 0x03bb1bda, 0x012b4065, 0x026cbce5, 0x0039ed6a}}}, + {X: Field{[10]uint32{0x00fa8bc0, 0x024a4e46, 0x0064426a, 0x03be3f75, 0x02cdc693, 0x022ca65c, 0x03361439, 0x004de9f6, 0x02a8044a, 0x0035e5a3}}, Y: Field{[10]uint32{0x0157a75c, 0x009bb22b, 0x022e5283, 0x01d35d36, 0x0156dd31, 0x004338b9, 0x015dd294, 0x010d3b2f, 0x01892901, 0x00209009}}}, + {X: Field{[10]uint32{0x038e8304, 0x0167c020, 0x0365c6d9, 0x03212d40, 0x033bf6ed, 0x009406b6, 0x02ca172b, 0x03e73347, 0x006c2f98, 0x002295ef}}, Y: Field{[10]uint32{0x03e7d14e, 0x02ff8361, 0x038b992c, 0x00404691, 0x01bf6434, 0x02fe9a30, 0x00b5d67c, 0x0166150e, 0x0062a0f8, 0x000bafd5}}}, + {X: Field{[10]uint32{0x0073fd22, 0x03435418, 0x03b4e551, 0x034dfc3b, 0x011a555d, 0x023218f3, 0x00b8d18f, 0x0142a30f, 0x00416847, 0x0014621a}}, Y: Field{[10]uint32{0x02f3f192, 0x0145f68d, 0x03691f30, 0x0141b14b, 0x006a28ce, 0x00bd660f, 0x00e0f15c, 0x00eb429b, 0x009b9e98, 0x003ac17c}}}, + {X: Field{[10]uint32{0x027c85f3, 0x0124f8bd, 0x037b0ab7, 0x005a6e7a, 0x02d3a026, 0x00575574, 0x02ab8566, 0x01e53ea7, 0x035f27e4, 0x003faa30}}, Y: Field{[10]uint32{0x00148864, 0x012940a3, 0x03c889b5, 0x03d52aa5, 0x03b24158, 0x038ae8b9, 0x01123378, 0x01b8ea61, 0x0297cf0a, 0x0030c977}}}, + {X: Field{[10]uint32{0x01f94b63, 0x01409fb4, 0x0051077b, 0x01a5fbd3, 0x01d79d5f, 0x01707273, 0x01ab955d, 0x009793e3, 0x00ccd7bc, 0x001984b3}}, Y: Field{[10]uint32{0x0057860b, 0x0012668d, 0x0320073d, 0x0200570e, 0x03e9bd6a, 0x0094f7e6, 0x02abab50, 0x02342b9e, 0x02c17a37, 0x00185544}}}, + {X: Field{[10]uint32{0x006f8746, 0x02f5f92a, 0x03533cbd, 0x019e7db4, 0x02f8a7ae, 0x00c66655, 0x009d6983, 0x01676c13, 0x007a4998, 0x0032662c}}, Y: Field{[10]uint32{0x01d17138, 0x0046fc23, 0x038a66af, 0x03a444e0, 0x0137d6b5, 0x03a881ba, 0x019d81b0, 0x01dd7a89, 0x0371919e, 0x00367804}}}, + {X: Field{[10]uint32{0x024cc1e1, 0x003ec30e, 0x004bb052, 0x00551835, 0x00c32e39, 0x00f77242, 0x00fcd0d2, 0x02597e15, 0x0269c5cf, 0x00170391}}, Y: Field{[10]uint32{0x035adea1, 0x02e42719, 0x0055464f, 0x03b722cf, 0x0189f5ed, 0x0343df2e, 0x0335ffac, 0x0269374b, 0x03af7e0f, 0x0033faee}}}, + {X: Field{[10]uint32{0x0158c0fd, 0x036fee1c, 0x0350bcb2, 0x016d93e5, 0x037ab319, 0x01aa74fe, 0x02f6433c, 0x01459fc1, 0x02483038, 0x00343f76}}, Y: Field{[10]uint32{0x031283db, 0x000838fb, 0x03c358f0, 0x0057442a, 0x03f5c6e3, 0x01860cda, 0x02e13598, 0x03d87f20, 0x01776a34, 0x00133795}}}, + {X: Field{[10]uint32{0x024a3e81, 0x01c0617e, 0x00fd37bc, 0x014c66df, 0x0007cab1, 0x0088b39d, 0x01482656, 0x03d96817, 0x030fd78b, 0x00364955}}, Y: Field{[10]uint32{0x03c1924c, 0x0360dc21, 0x00ed1673, 0x03833740, 0x00ff52be, 0x027195d7, 0x021a5c7b, 0x02ea4068, 0x019ac448, 0x00000f0e}}}, + {X: Field{[10]uint32{0x018374c8, 0x030861c2, 0x00f9a1d0, 0x013f5e06, 0x02a023cc, 0x0212c200, 0x037d6074, 0x012eb081, 0x016d81f8, 0x001174ad}}, Y: Field{[10]uint32{0x0019d7f4, 0x01901067, 0x03f05030, 0x007e122e, 0x00982941, 0x009598f3, 0x010506ea, 0x032cdeb5, 0x00d192a9, 0x00053286}}}, + {X: Field{[10]uint32{0x02157400, 0x005c2de7, 0x03fba5b7, 0x01e196a4, 0x00ea8c19, 0x03e6843e, 0x013404dd, 0x0316efde, 0x00118588, 0x001ab4eb}}, Y: Field{[10]uint32{0x011686d7, 0x018bfa60, 0x02c97a87, 0x02b45cc7, 0x02382eb5, 0x035d8a4b, 0x0320e80f, 0x00b0ffb7, 0x001f1e24, 0x003e895d}}}, + {X: Field{[10]uint32{0x02595f52, 0x0387afd2, 0x00bf5028, 0x00a00b77, 0x0026d540, 0x004ac876, 0x03ea9e39, 0x02582de4, 0x0045b6dc, 0x00176891}}, Y: Field{[10]uint32{0x01f16026, 0x01007cd9, 0x005fd01b, 0x03663222, 0x02fabfa0, 0x03e28bf4, 0x015063bf, 0x0329a626, 0x038cad1d, 0x002f063f}}}, + {X: Field{[10]uint32{0x0132b346, 0x0057bf2b, 0x00f445ed, 0x0227549f, 0x03d7b5f1, 0x01975c4c, 0x039b89f8, 0x021b4a4e, 0x006811ce, 0x00377fd9}}, Y: Field{[10]uint32{0x027f5737, 0x03b68d95, 0x0110db1a, 0x019c4fa9, 0x034d236b, 0x004ac070, 0x021ae080, 0x0005af84, 0x0194cb22, 0x001c983a}}}, + {X: Field{[10]uint32{0x0097f029, 0x0279a6fe, 0x012436ad, 0x02637275, 0x02c1030d, 0x02142611, 0x032f50bc, 0x03ea4f43, 0x033b9120, 0x002a2e7f}}, Y: Field{[10]uint32{0x0066c591, 0x01f8cca1, 0x017b2359, 0x03da8ac7, 0x00c866aa, 0x00ec1fbf, 0x01a4c2ca, 0x01a1cbaa, 0x029a4e51, 0x00172fe8}}}, + {X: Field{[10]uint32{0x01dbcafd, 0x03068054, 0x00eb7a2f, 0x01921a3b, 0x02628752, 0x03237bac, 0x03c18eda, 0x0275a9c8, 0x03fb177b, 0x00250c1d}}, Y: Field{[10]uint32{0x00e7eb4e, 0x03d2a546, 0x01442e48, 0x004be97f, 0x03ccb6e3, 0x031f7e4f, 0x038248da, 0x0007274f, 0x01fc41ad, 0x0000866a}}}, + {X: Field{[10]uint32{0x0058b8e3, 0x0043cd99, 0x0174e9e8, 0x027e9593, 0x0382b33f, 0x00917aef, 0x0360f524, 0x0205ebf7, 0x01ac09c9, 0x001d72d8}}, Y: Field{[10]uint32{0x0003c367, 0x02b7f7bb, 0x00fb85b3, 0x01df3563, 0x02664414, 0x0277dae7, 0x00986f5f, 0x00210d18, 0x01bdf66f, 0x002aa04d}}}, + {X: Field{[10]uint32{0x031fccc8, 0x0039f238, 0x010c5075, 0x03cee6eb, 0x02c34fdc, 0x0239fc2b, 0x00922b22, 0x023a152f, 0x017727cb, 0x0006edf8}}, Y: Field{[10]uint32{0x00221ca3, 0x00368e30, 0x023d5238, 0x0030f989, 0x02855ea0, 0x0109737a, 0x01e322c2, 0x0179c2f6, 0x00861e85, 0x002efdca}}}, + {X: Field{[10]uint32{0x03ee8dbb, 0x02a536a2, 0x02a2eafd, 0x01c72638, 0x0087f024, 0x001743cc, 0x034b41cf, 0x036fcd16, 0x004b39e9, 0x002510ce}}, Y: Field{[10]uint32{0x024544ee, 0x0380723e, 0x02504aba, 0x015fdbde, 0x03e7b5da, 0x01f8e4e7, 0x00ac6e22, 0x0047d8e3, 0x0173ccb2, 0x0038d984}}}, + {X: Field{[10]uint32{0x03740d25, 0x033a9dbb, 0x0183961c, 0x015359a4, 0x00b4c27d, 0x0306a59a, 0x011638ae, 0x02aaca35, 0x01d5a68c, 0x00126f45}}, Y: Field{[10]uint32{0x0318c6e4, 0x01d0e7cf, 0x03e579db, 0x0183ab3c, 0x0377563b, 0x02657303, 0x03b9f0bd, 0x0391f7ef, 0x00688760, 0x001923f2}}}, + {X: Field{[10]uint32{0x02cfed85, 0x02517f5e, 0x02f9073f, 0x01e2960c, 0x02c151aa, 0x001e241f, 0x013684fd, 0x027a1613, 0x038e9280, 0x003431ed}}, Y: Field{[10]uint32{0x02970c89, 0x02e56ce3, 0x01d5707a, 0x01d48ab6, 0x03be91e4, 0x030c1480, 0x0129046b, 0x012902d5, 0x01abbe49, 0x002a0365}}}, + {X: Field{[10]uint32{0x02eb9275, 0x01af5f64, 0x00bf0cd9, 0x0361e5d2, 0x027c4c28, 0x033721d6, 0x018f9c75, 0x0088c97a, 0x01463ab2, 0x0037af77}}, Y: Field{[10]uint32{0x02b9799c, 0x02531c42, 0x00754ab5, 0x0192c4af, 0x0150d020, 0x01cebc96, 0x03b3dd7a, 0x03f2c17f, 0x008dc3ff, 0x0003440f}}}, + {X: Field{[10]uint32{0x03f33998, 0x01004bc6, 0x02dc33f6, 0x032152c0, 0x029f9ebc, 0x03681cc4, 0x022d6bf9, 0x01a8563a, 0x017c192a, 0x00075e6c}}, Y: Field{[10]uint32{0x00f60a5e, 0x039aef53, 0x00a12b78, 0x020af102, 0x020c7876, 0x033d91c0, 0x00d986fb, 0x0322a014, 0x00b3dbc1, 0x001bb206}}}, + {X: Field{[10]uint32{0x0281ca1b, 0x03f4db9b, 0x018449ed, 0x015c9931, 0x0374bd3b, 0x03454d7f, 0x009c38d7, 0x011fa5ca, 0x02ebff5d, 0x000bfadd}}, Y: Field{[10]uint32{0x01f93b74, 0x030ceee2, 0x00899378, 0x01d1e267, 0x03bb462e, 0x03e72af1, 0x02e18cd1, 0x02a08f7e, 0x024a7ba3, 0x00116f53}}}, + {X: Field{[10]uint32{0x00682573, 0x00bf82ec, 0x013c0637, 0x00e52619, 0x013eef1b, 0x0393d7bf, 0x0372ab62, 0x0169dfd4, 0x0190faef, 0x00005343}}, Y: Field{[10]uint32{0x02081453, 0x02a4bd8d, 0x0131236b, 0x025dcae8, 0x01601a4f, 0x01c65a0c, 0x0130f51d, 0x02e4c13d, 0x029a80c2, 0x00145fc5}}}, + {X: Field{[10]uint32{0x03313321, 0x008aafff, 0x02476fd5, 0x00dd1b4b, 0x02ad0941, 0x0042ce6c, 0x00bd9adb, 0x02470ce1, 0x03a5728f, 0x001cc1a9}}, Y: Field{[10]uint32{0x03a915a2, 0x005ee06d, 0x02a85a8e, 0x03b496e1, 0x01574c85, 0x0124bc6c, 0x03bd4e4f, 0x03a1ecd6, 0x02aba5b9, 0x00085788}}}, + {X: Field{[10]uint32{0x0255aaba, 0x0134d89a, 0x0171976d, 0x01e9cdfa, 0x00fd2406, 0x0263eb48, 0x02873a06, 0x036e32cc, 0x014f870c, 0x00217611}}, Y: Field{[10]uint32{0x0117e4a2, 0x010d2c4c, 0x033bb951, 0x03b8446b, 0x01539fe7, 0x02e720cf, 0x02a0715c, 0x027a3948, 0x000a36eb, 0x000db58f}}}, + {X: Field{[10]uint32{0x034384c3, 0x0028392c, 0x00dffc1f, 0x00a25b63, 0x0202f7da, 0x0386448a, 0x01b21cb9, 0x019ea896, 0x03829930, 0x0031a3d9}}, Y: Field{[10]uint32{0x0079e94a, 0x030da04c, 0x014ffb7d, 0x024daca6, 0x0308dcd4, 0x026575a8, 0x02484fb0, 0x00ce1dfa, 0x016a331c, 0x001d39ba}}}, + {X: Field{[10]uint32{0x00214dd3, 0x038c6101, 0x0217fe18, 0x0141a1c2, 0x00e29cd8, 0x00d47227, 0x02d5c9c3, 0x01554211, 0x01115dbe, 0x00205120}}, Y: Field{[10]uint32{0x030d19a8, 0x02af2c59, 0x02785210, 0x00f97b75, 0x01540ea3, 0x011e1a27, 0x03740e92, 0x030a71a5, 0x00b3d4cd, 0x001d775e}}}, + {X: Field{[10]uint32{0x00c945f5, 0x00120558, 0x00ebe3e2, 0x006f3d85, 0x0324214e, 0x01c1bc87, 0x0325993a, 0x0351e3d7, 0x0319de24, 0x000c42d6}}, Y: Field{[10]uint32{0x004318c3, 0x00ccc9c4, 0x021a147e, 0x014fc0a8, 0x01bf04cc, 0x03a1035a, 0x01d017e2, 0x03481782, 0x02ca0f01, 0x0022d0b1}}}, + {X: Field{[10]uint32{0x03c4bc3e, 0x0165d302, 0x03420a02, 0x00471a13, 0x01b0a90f, 0x00b9b514, 0x01e4bcab, 0x038ae77f, 0x03c74baf, 0x0033e291}}, Y: Field{[10]uint32{0x034c97d1, 0x00806ef8, 0x01c3d1cc, 0x01a70299, 0x02614d8a, 0x0321d8af, 0x02331e62, 0x021a65e1, 0x0264a9a7, 0x003c2dec}}}, + {X: Field{[10]uint32{0x038650fc, 0x011ebe62, 0x002d33d7, 0x0221a6e6, 0x03ab5533, 0x00f4ed82, 0x00100ec6, 0x02a4139c, 0x02267352, 0x00283f18}}, Y: Field{[10]uint32{0x0385865f, 0x025bcace, 0x02497e2b, 0x02cfe659, 0x03cd162e, 0x00870e67, 0x0388c395, 0x013ad192, 0x014c16b2, 0x002e8eb9}}}, + {X: Field{[10]uint32{0x00ff8bdb, 0x038f08db, 0x03fb07dc, 0x01c29386, 0x032e1eaf, 0x000114cc, 0x00d03391, 0x03751d61, 0x03e2535e, 0x002ab976}}, Y: Field{[10]uint32{0x03a7449b, 0x02554ced, 0x00321911, 0x03168d56, 0x02a51d85, 0x011cdccb, 0x02784392, 0x001adeec, 0x01f6e558, 0x001f3ea9}}}, + {X: Field{[10]uint32{0x0103ae39, 0x0285eec1, 0x01bd50b0, 0x009a1b69, 0x005c3172, 0x009c1686, 0x000792fb, 0x01d5432f, 0x03115b89, 0x002293a4}}, Y: Field{[10]uint32{0x017cef2c, 0x03a48ff4, 0x016922dd, 0x0362a770, 0x022442ae, 0x02a85d5c, 0x011b976d, 0x00231c5d, 0x01c8d85f, 0x000588eb}}}, + {X: Field{[10]uint32{0x03066463, 0x0336b1a1, 0x03f26a51, 0x028332eb, 0x018627e1, 0x02404096, 0x015cd612, 0x002c254a, 0x0135eca9, 0x0032f3bd}}, Y: Field{[10]uint32{0x03212653, 0x01fee35a, 0x03c259d8, 0x005cd18b, 0x02498fee, 0x03143855, 0x00afb9d8, 0x032670ff, 0x03fac2a2, 0x0019470b}}}, + {X: Field{[10]uint32{0x010f8c99, 0x00bab07b, 0x02609990, 0x0134bab5, 0x010bf12c, 0x00ae7210, 0x0290e336, 0x00af42ea, 0x01594d6a, 0x000965c5}}, Y: Field{[10]uint32{0x0075245e, 0x02b4afca, 0x02a8294b, 0x008b4289, 0x01d974dd, 0x00cfa2ec, 0x004002bc, 0x00132e05, 0x036cc974, 0x00127806}}}, + {X: Field{[10]uint32{0x02f1445f, 0x00b34a6d, 0x02a89167, 0x0178fa6c, 0x00a707da, 0x0203c0d9, 0x0389044c, 0x027daeb0, 0x028b2b04, 0x002dd535}}, Y: Field{[10]uint32{0x01e37740, 0x02bb1793, 0x01da1af2, 0x01097d37, 0x02bea555, 0x037f0bd3, 0x0092e3ed, 0x008f459c, 0x03c1625e, 0x0006ca6d}}}, + {X: Field{[10]uint32{0x03084037, 0x02263fd3, 0x0040aafa, 0x022f4a53, 0x02ab0bde, 0x03ce2d68, 0x03ca2fe2, 0x023ce731, 0x01a850e6, 0x00082ba9}}, Y: Field{[10]uint32{0x03f59444, 0x03877c00, 0x00fc20b4, 0x00f0c48c, 0x02ab1e88, 0x03f9f86c, 0x02fd6a56, 0x019bb1aa, 0x02b3f176, 0x001bb55d}}}, + {X: Field{[10]uint32{0x031979a6, 0x017876f8, 0x01e7bf0d, 0x0341f340, 0x02c6939f, 0x025fae16, 0x008cba9a, 0x03a48cca, 0x0202919d, 0x0009a113}}, Y: Field{[10]uint32{0x009ebfb7, 0x03154817, 0x005a16c7, 0x030a0cb1, 0x00cc08a6, 0x0063ed83, 0x026f11e5, 0x03eb4409, 0x028e06a5, 0x0000f7e6}}}, + {X: Field{[10]uint32{0x0028414c, 0x0372a577, 0x033fd485, 0x01ac68e2, 0x00efbe0a, 0x03b37e6d, 0x00fd413b, 0x026abc9f, 0x026133a6, 0x00046bf2}}, Y: Field{[10]uint32{0x03737b1c, 0x007d6b36, 0x0377b212, 0x03eee724, 0x009e4678, 0x0391ed00, 0x0047bbf8, 0x01ff988a, 0x0390c067, 0x002352e1}}}, + {X: Field{[10]uint32{0x00d2a63d, 0x01e37bba, 0x0160df3d, 0x01ec8f9c, 0x00498633, 0x039fa578, 0x03be09fc, 0x017594de, 0x00d52fe2, 0x00311b85}}, Y: Field{[10]uint32{0x01d2b723, 0x01d7563d, 0x017589b1, 0x03bd0fe8, 0x011f04b9, 0x0377d9e9, 0x0008dd77, 0x03a7fcb4, 0x01ab4211, 0x0028803f}}}, + {X: Field{[10]uint32{0x0055e4d7, 0x03673635, 0x02142d31, 0x00f23d63, 0x01241228, 0x00429d81, 0x01f598a2, 0x03f82491, 0x0212578a, 0x00015c2a}}, Y: Field{[10]uint32{0x00c50ac8, 0x00b03c4b, 0x01601b93, 0x02a57429, 0x019a2bed, 0x0144a81c, 0x03439e08, 0x00378750, 0x0361f8e9, 0x0030a3f6}}}, + {X: Field{[10]uint32{0x03c3fa64, 0x00c4237e, 0x00d1f3a3, 0x02b33ec5, 0x02224236, 0x00e15385, 0x0170b84e, 0x033a80a1, 0x035e88a1, 0x0034c4b6}}, Y: Field{[10]uint32{0x0397e1de, 0x0185fdb3, 0x026cf36b, 0x012ba9cb, 0x0064b8aa, 0x000c724c, 0x01fa0aae, 0x00e0f211, 0x00891843, 0x00329794}}}, + {X: Field{[10]uint32{0x02398087, 0x013b022a, 0x00a6d1fe, 0x02e1d889, 0x01c9be5e, 0x009e7c00, 0x01a9ad99, 0x019c3853, 0x00769981, 0x0007b88a}}, Y: Field{[10]uint32{0x02176dcc, 0x00c727c0, 0x034526ff, 0x02896031, 0x00b68603, 0x01511835, 0x0242c650, 0x038deb7f, 0x0114e303, 0x00188404}}}, + {X: Field{[10]uint32{0x03bb81a0, 0x02a6a955, 0x004a94af, 0x035cb530, 0x011700b9, 0x03259300, 0x005511d1, 0x013fd2ba, 0x02cde2b8, 0x0007ee72}}, Y: Field{[10]uint32{0x03737fcb, 0x0159d497, 0x0038ee04, 0x01acb3e8, 0x0115b130, 0x0108050d, 0x019f59f7, 0x017cab5b, 0x03c1295c, 0x0010c2dc}}}, + {X: Field{[10]uint32{0x011c085b, 0x00685d98, 0x01145f19, 0x02e7e913, 0x034a998b, 0x0201f9d0, 0x032934a9, 0x002d1da7, 0x002dd3cf, 0x00341332}}, Y: Field{[10]uint32{0x01be5fa9, 0x00805a40, 0x0392d155, 0x02b32196, 0x018f4c13, 0x03848f75, 0x02cf1cac, 0x03454710, 0x01afb551, 0x001e9286}}}, + {X: Field{[10]uint32{0x03e7e9aa, 0x03a1c133, 0x01e15712, 0x02295237, 0x038a544f, 0x009f7d77, 0x00b97f1f, 0x0345faea, 0x02088bd4, 0x0007932c}}, Y: Field{[10]uint32{0x019b828d, 0x0119b369, 0x03e515e8, 0x025971c6, 0x03db0663, 0x00ff68fc, 0x019930a5, 0x00cfb39e, 0x021eb729, 0x00360171}}}, + {X: Field{[10]uint32{0x0251590d, 0x01b71237, 0x028c717d, 0x01a77cf7, 0x008f769f, 0x02f3f6ae, 0x032bbadc, 0x02168359, 0x0398707a, 0x001482a8}}, Y: Field{[10]uint32{0x02e9ada8, 0x01495513, 0x0052a39a, 0x01366638, 0x013b5472, 0x0045daab, 0x01095e2f, 0x01e88b02, 0x00e4a904, 0x002634d1}}}, + {X: Field{[10]uint32{0x03614ef2, 0x032b1b9e, 0x005d7a79, 0x0325e0c9, 0x00e7080a, 0x001a4ff2, 0x00d45a06, 0x03bdf0b8, 0x03de165b, 0x000ea7f8}}, Y: Field{[10]uint32{0x03038d4a, 0x00187bdc, 0x0398e151, 0x0126a9b5, 0x007607ff, 0x024d3222, 0x02895f52, 0x037bbf1e, 0x0046fd3f, 0x00014625}}}, + {X: Field{[10]uint32{0x02149938, 0x03639cf6, 0x0005665f, 0x00190dcc, 0x018e3c68, 0x02db5a32, 0x0289a3a2, 0x00201790, 0x01ccc26c, 0x002724a7}}, Y: Field{[10]uint32{0x016ba2fa, 0x0285034e, 0x02dd956a, 0x00b6aaf9, 0x02c81edf, 0x00409d8a, 0x039f6bab, 0x024824fc, 0x0140b4c2, 0x001b7efe}}}, + {X: Field{[10]uint32{0x01be419e, 0x005dd222, 0x00a660d1, 0x02af1a6b, 0x03ee22ab, 0x0179e822, 0x02f1e42e, 0x0019462e, 0x00cef4e0, 0x000d56d8}}, Y: Field{[10]uint32{0x002604e2, 0x011bd0ff, 0x031b1ed1, 0x02baed13, 0x034fc01d, 0x02d4fedc, 0x020eaaac, 0x03ec417f, 0x023bb277, 0x001fd1e2}}}, + {X: Field{[10]uint32{0x03f7f37f, 0x039efcf5, 0x01705dfc, 0x02465d0e, 0x01ea9660, 0x00478406, 0x0389bb1c, 0x01110b84, 0x014f21ad, 0x001daffc}}, Y: Field{[10]uint32{0x0289d763, 0x01a95260, 0x0307b93f, 0x03e2488f, 0x02a29a34, 0x0308b80b, 0x034da79b, 0x02ac4ad7, 0x0291376a, 0x000e1568}}}, + {X: Field{[10]uint32{0x0156b454, 0x023e2d98, 0x021dbfa0, 0x02ffe88b, 0x02becbb4, 0x01620ce5, 0x023aadd3, 0x01e8edf8, 0x00df1057, 0x00246ee7}}, Y: Field{[10]uint32{0x00edbb91, 0x0333c965, 0x01a1ef2c, 0x010b0b2a, 0x00a3edea, 0x005846d7, 0x0053e93d, 0x026c0bb7, 0x039e4f14, 0x003b1b2e}}}, + {X: Field{[10]uint32{0x00865562, 0x00c4296a, 0x02537f8c, 0x01f53acc, 0x010a7dde, 0x003116c2, 0x0081204f, 0x01b184d9, 0x010f1ba8, 0x002795ac}}, Y: Field{[10]uint32{0x028aa67c, 0x010d8756, 0x022d516f, 0x02bc3461, 0x028b523e, 0x027ba31a, 0x03ca1a37, 0x0305b122, 0x013d8552, 0x00337cd1}}}, + {X: Field{[10]uint32{0x008e09f9, 0x0125cb66, 0x00af500f, 0x01d53a69, 0x01a11dcb, 0x00e4c15c, 0x02e28a42, 0x01af7939, 0x014daf28, 0x00139cd6}}, Y: Field{[10]uint32{0x018a36e7, 0x02d47c51, 0x02418cd1, 0x014c20a2, 0x01af0d8e, 0x0289d00d, 0x03d812ce, 0x010b3b80, 0x03d070c0, 0x002967c8}}}, + {X: Field{[10]uint32{0x0123d860, 0x02b254ce, 0x01bb1d9f, 0x01cc12c4, 0x00393d59, 0x032cb185, 0x01d3c557, 0x0227e9a4, 0x03f7e92d, 0x00055bf7}}, Y: Field{[10]uint32{0x013b360b, 0x03ac04e8, 0x032ee620, 0x033408c4, 0x00bff653, 0x0199408f, 0x02d68f64, 0x01d833bd, 0x0237c448, 0x0013a4a5}}}, + {X: Field{[10]uint32{0x028ea03b, 0x0029f9eb, 0x0356998b, 0x01487e24, 0x0170d23d, 0x00f4d36e, 0x017a9052, 0x008cd975, 0x0250eb37, 0x003cb22d}}, Y: Field{[10]uint32{0x001a7881, 0x010aa1c6, 0x0183d72f, 0x031d9ce5, 0x00204488, 0x002f7a7b, 0x03422a56, 0x026fda5c, 0x031484a9, 0x002f66b0}}}, + {X: Field{[10]uint32{0x0351e3e3, 0x01399eb1, 0x0316cd4a, 0x028806b8, 0x0288d526, 0x01ee05ae, 0x01bb92ba, 0x01d0c17d, 0x0257a4a3, 0x0009f74d}}, Y: Field{[10]uint32{0x03be3304, 0x019092e0, 0x00e8c022, 0x0007df61, 0x008a756b, 0x03fa5d79, 0x03af3d51, 0x029005ab, 0x01d3c0fa, 0x0022033f}}}, + {X: Field{[10]uint32{0x03b3d1bc, 0x013c58fa, 0x037081c6, 0x020b099c, 0x037a3901, 0x03312dfc, 0x00c5d981, 0x00d5f00f, 0x020c19f7, 0x003db097}}, Y: Field{[10]uint32{0x0289e43d, 0x039f08a3, 0x03c2f183, 0x014ab7cd, 0x01295341, 0x010ecd62, 0x0144d666, 0x0283e8e6, 0x03ea7c05, 0x0023202c}}}, + {X: Field{[10]uint32{0x03fad4f2, 0x02b1fd29, 0x01f45087, 0x0015c5bf, 0x02ae2803, 0x0274dd84, 0x02847d3d, 0x017a87a8, 0x000c7130, 0x00319e20}}, Y: Field{[10]uint32{0x000b63c6, 0x0127a21b, 0x022d92d5, 0x00e7c41b, 0x0055d41d, 0x02fabd76, 0x0349a42e, 0x00ae3376, 0x03f4d2fb, 0x002f97fe}}}, + {X: Field{[10]uint32{0x03f6d560, 0x0244ba04, 0x03d30931, 0x037e816f, 0x02f98177, 0x023c347b, 0x01e2d3a6, 0x01de1bf2, 0x0221e66b, 0x003cd76c}}, Y: Field{[10]uint32{0x003f29fa, 0x01f30039, 0x007c7bb6, 0x0054da9f, 0x0209eccb, 0x03f96c7b, 0x0174ca5a, 0x00810226, 0x00080e6b, 0x0012266a}}}, + {X: Field{[10]uint32{0x03e69de9, 0x00718e64, 0x00debd02, 0x0013101d, 0x035d944f, 0x00ce2230, 0x01843d6c, 0x018cfb6e, 0x037da915, 0x000ae4f8}}, Y: Field{[10]uint32{0x030522f0, 0x034f2212, 0x001676f2, 0x017f1c94, 0x00366a4a, 0x004c83bf, 0x0372a58f, 0x0287324f, 0x0095c6ff, 0x003acf44}}}, + {X: Field{[10]uint32{0x02091b69, 0x02407459, 0x02331060, 0x02522c52, 0x03e4875b, 0x03f6d01b, 0x01913ab0, 0x011c5bd4, 0x03b39045, 0x00206008}}, Y: Field{[10]uint32{0x0227e7b1, 0x039130a8, 0x00990f98, 0x0227e9f6, 0x026fe573, 0x00e393cb, 0x01af3e1f, 0x03911c31, 0x018a6224, 0x002cfd5c}}}, + {X: Field{[10]uint32{0x00662bb6, 0x00fc180f, 0x001fbdb3, 0x01ec84f7, 0x006645ce, 0x016c5061, 0x02e565b6, 0x029a76ca, 0x026a244c, 0x000059db}}, Y: Field{[10]uint32{0x022e0298, 0x028c7ee0, 0x001fdcf4, 0x026c5bb3, 0x01aeb968, 0x034b1f03, 0x03208300, 0x0177049a, 0x03a5deef, 0x00223872}}}, + {X: Field{[10]uint32{0x00298d54, 0x00b2c877, 0x02e4c391, 0x0150c38c, 0x01d96574, 0x008f8bc8, 0x0229d733, 0x00df78e1, 0x01a1a925, 0x0000be4c}}, Y: Field{[10]uint32{0x030ef904, 0x0077eba8, 0x03ccc52e, 0x03442f6e, 0x0195a5b2, 0x015899c4, 0x036fe43f, 0x003ebbbb, 0x01086fbc, 0x0024ca4b}}}, + {X: Field{[10]uint32{0x01fd0279, 0x01cc3228, 0x001af2d1, 0x03044898, 0x02be8a32, 0x013d1521, 0x03f20d9b, 0x0232462f, 0x0212f0dd, 0x001ee935}}, Y: Field{[10]uint32{0x02401179, 0x00d39e34, 0x00310d02, 0x0316f131, 0x013018e3, 0x0334126a, 0x0220af14, 0x0190c6cb, 0x02a1f5b0, 0x0022ab5e}}}, + {X: Field{[10]uint32{0x001d5e78, 0x01aa9872, 0x023d8528, 0x00233323, 0x03d6974d, 0x008de67a, 0x039b2be7, 0x01ea45a9, 0x02b085fe, 0x0003a37e}}, Y: Field{[10]uint32{0x023f926c, 0x02ead01b, 0x0181c37d, 0x00eec637, 0x00fbaec5, 0x01521eee, 0x0195d47a, 0x02d55b99, 0x006e519d, 0x0008485a}}}, + {X: Field{[10]uint32{0x0184ab5e, 0x02432683, 0x0264c94c, 0x028554d6, 0x02ea751d, 0x01facb9a, 0x01071061, 0x01fbd1be, 0x03bcb159, 0x001f5588}}, Y: Field{[10]uint32{0x00ce7575, 0x0372f0a8, 0x037e4204, 0x0351759a, 0x00701b3c, 0x02f8ba2e, 0x0114b70e, 0x031378c5, 0x03318004, 0x003718e7}}}, + {X: Field{[10]uint32{0x00a7ffa3, 0x03213ee2, 0x02ad57b9, 0x005a0778, 0x001e4ac9, 0x00ee0880, 0x0186194b, 0x02fb1d22, 0x022d8074, 0x00023a07}}, Y: Field{[10]uint32{0x019fa890, 0x02052641, 0x03e6cdc7, 0x026a37e4, 0x03fa94e9, 0x018b40fd, 0x016f6cf7, 0x01120329, 0x001df4a3, 0x0010217b}}}, + {X: Field{[10]uint32{0x028da71e, 0x034ea169, 0x0052b53e, 0x0324ad73, 0x0173e68a, 0x01a71a0a, 0x018affd1, 0x03b98978, 0x03e78290, 0x002a7568}}, Y: Field{[10]uint32{0x00805fd6, 0x026f92ad, 0x02536ee8, 0x0083391e, 0x028d6e8b, 0x01e4ce22, 0x009ed298, 0x01622546, 0x016bf9eb, 0x000736ab}}}, + {X: Field{[10]uint32{0x03dba2cd, 0x02c48f15, 0x00497d64, 0x03c391ab, 0x00984985, 0x00c4be12, 0x037b3134, 0x01f0380e, 0x03cabcda, 0x0013df05}}, Y: Field{[10]uint32{0x034a25d7, 0x02d72a28, 0x00f5e888, 0x002a6eaa, 0x00c87701, 0x0141c334, 0x00be7c1d, 0x0030efcf, 0x01d95f47, 0x002182fb}}}, + {X: Field{[10]uint32{0x03a64921, 0x02ec2ae7, 0x025b5b4f, 0x00f14d5c, 0x01034b8c, 0x0155cd3a, 0x01bd016f, 0x029ee6a4, 0x017a9234, 0x0011e3cf}}, Y: Field{[10]uint32{0x00051a1f, 0x02d364ee, 0x021018ff, 0x015360fc, 0x003f2530, 0x0087a69f, 0x02bca05c, 0x00fc63ae, 0x0394f025, 0x0036e5e8}}}, + {X: Field{[10]uint32{0x027963d5, 0x014bac7f, 0x02329f25, 0x02ad87ee, 0x033ea09a, 0x007685e7, 0x037cc01b, 0x01b9f5a7, 0x017b73d9, 0x002b39f9}}, Y: Field{[10]uint32{0x02908918, 0x03bee249, 0x0211b796, 0x013040c1, 0x017e213e, 0x03809659, 0x010f824b, 0x02f413b2, 0x01f22b8d, 0x003e8094}}}, + {X: Field{[10]uint32{0x0108d1fd, 0x001039ea, 0x01f24374, 0x03e28742, 0x034401f2, 0x0337da7b, 0x013757cd, 0x001dc609, 0x0067f517, 0x003355ba}}, Y: Field{[10]uint32{0x03338fe1, 0x012ee89f, 0x03b90a45, 0x02109ded, 0x0183e4bd, 0x03d8831f, 0x02b29a22, 0x002e9228, 0x021652cf, 0x0021e3dc}}}, + {X: Field{[10]uint32{0x024d5329, 0x00f944fb, 0x03e33e92, 0x01cae819, 0x0167a2c6, 0x01ec9769, 0x031dd249, 0x03e26992, 0x025cd9d2, 0x000c10ba}}, Y: Field{[10]uint32{0x0268b1fb, 0x03906cd6, 0x0261281c, 0x021a3817, 0x02d3fa1d, 0x01b489e8, 0x028568cd, 0x01a85282, 0x0144d551, 0x0002e130}}}, + {X: Field{[10]uint32{0x02712ec0, 0x0147b267, 0x03f1bce3, 0x02455ebc, 0x0130a2e2, 0x02be80d1, 0x002b042b, 0x03b49802, 0x008da094, 0x00015782}}, Y: Field{[10]uint32{0x026b33e9, 0x03274bb1, 0x01db2082, 0x037e0b54, 0x0100caca, 0x00531512, 0x00919335, 0x020c9258, 0x017f6439, 0x0031be0a}}}, + {X: Field{[10]uint32{0x03408966, 0x02d1a44e, 0x01875e63, 0x020fbb5c, 0x01e0e0da, 0x0295e83a, 0x03f91817, 0x024ef28d, 0x013a69dd, 0x002f4b6c}}, Y: Field{[10]uint32{0x01b0da2d, 0x029d0a82, 0x00cf8078, 0x0391016e, 0x00187ee6, 0x03d96cfe, 0x03c25d50, 0x026cbc48, 0x0260f948, 0x0011b849}}}, + {X: Field{[10]uint32{0x03d3d210, 0x0158939f, 0x03ecb609, 0x006661a9, 0x00ef7c52, 0x013b4685, 0x02678e62, 0x0211557f, 0x0110cdbb, 0x001f5e94}}, Y: Field{[10]uint32{0x02c6c37c, 0x01d2965a, 0x00867727, 0x03680570, 0x00626a46, 0x02ea9281, 0x019d640a, 0x011493e0, 0x01c3c0a5, 0x003255e3}}}, + {X: Field{[10]uint32{0x037a3fa7, 0x02cc3d24, 0x037825bd, 0x00a406f5, 0x02fd4e6d, 0x013b6af1, 0x01669813, 0x004d50aa, 0x0317513b, 0x0007bc48}}, Y: Field{[10]uint32{0x010e1ade, 0x012276d6, 0x00039909, 0x02651a13, 0x01123198, 0x01aa327e, 0x011cee33, 0x02f3bcd1, 0x0288a391, 0x0038392d}}}, + {X: Field{[10]uint32{0x0206baaf, 0x00c33a85, 0x01d1949d, 0x021a2e68, 0x029f463b, 0x00cb4bc4, 0x02c6b2e3, 0x02e5db6f, 0x0003766f, 0x003bfe81}}, Y: Field{[10]uint32{0x001cb082, 0x00877bef, 0x003c2382, 0x03116d28, 0x03b0cbfd, 0x0280f785, 0x00de1b7d, 0x03e993ce, 0x0083bf3e, 0x002316c7}}}, + {X: Field{[10]uint32{0x0087d65c, 0x03699868, 0x02069df5, 0x0036743a, 0x0320bf78, 0x01cebd6f, 0x025f0222, 0x02810955, 0x01e976a9, 0x0037249c}}, Y: Field{[10]uint32{0x023d6063, 0x033629ad, 0x010c1944, 0x01f18852, 0x0055ce7c, 0x031ceddb, 0x02f11bb1, 0x034c3261, 0x01e7b27b, 0x0037219e}}}, + {X: Field{[10]uint32{0x00264619, 0x02ad052e, 0x031b2384, 0x024c0376, 0x02a1336b, 0x01d54075, 0x00f69462, 0x0280b086, 0x01c21e1c, 0x0002b877}}, Y: Field{[10]uint32{0x01b26b48, 0x03d0881f, 0x0076a01f, 0x0326a21f, 0x0332466b, 0x026a9db5, 0x00e5c8e1, 0x018497b2, 0x039d300b, 0x000871ac}}}, + {X: Field{[10]uint32{0x0282cf5b, 0x0338ead3, 0x00a1285c, 0x0226fcaf, 0x01033dd9, 0x00c5918d, 0x00924808, 0x00d724ae, 0x000ffe58, 0x002ba8b0}}, Y: Field{[10]uint32{0x03dfa97f, 0x0064eca4, 0x029673e8, 0x035014ee, 0x039aad65, 0x019c2c64, 0x0220e84e, 0x0184490a, 0x00cf935a, 0x00185566}}}, + {X: Field{[10]uint32{0x02ebf696, 0x02322fa2, 0x0066b634, 0x00f98db2, 0x01b45e72, 0x02451d9f, 0x01b30b65, 0x00ea1bd5, 0x021634b4, 0x00244f43}}, Y: Field{[10]uint32{0x01971a9f, 0x01e9710e, 0x00305148, 0x00385235, 0x0039c0c1, 0x00c5c809, 0x02574af4, 0x03f69340, 0x020751af, 0x00385319}}}, + {X: Field{[10]uint32{0x03c26fc0, 0x0094b48e, 0x0005a301, 0x00f621e3, 0x0040fc16, 0x02ec3e72, 0x00d61916, 0x02b20178, 0x0354775c, 0x0013c2cc}}, Y: Field{[10]uint32{0x018da1e3, 0x03f0fcef, 0x01ac3fa8, 0x01ddba15, 0x016c0e10, 0x03cf897c, 0x02eb2eb5, 0x03f7e0e9, 0x00863aed, 0x002c2dd5}}}, + {X: Field{[10]uint32{0x0316129d, 0x028f693c, 0x0083b181, 0x02583e02, 0x02f469df, 0x03197ab4, 0x033b2f75, 0x025e3dd9, 0x014073cc, 0x00176886}}, Y: Field{[10]uint32{0x02f311d1, 0x03051663, 0x031eaf3b, 0x036d8a16, 0x030237b1, 0x0067ad50, 0x00d5e63e, 0x0099c15c, 0x0080743d, 0x002145b4}}}, + {X: Field{[10]uint32{0x03e74a23, 0x03bbb45a, 0x0163dd4b, 0x00c89a74, 0x02a8fbc1, 0x00d0134d, 0x0392fb46, 0x03e46b32, 0x0330ca7a, 0x001db86c}}, Y: Field{[10]uint32{0x027f5326, 0x02b83787, 0x02791bca, 0x000000c6, 0x0002ce28, 0x03fe837b, 0x016f2e52, 0x023bcfb2, 0x0253c590, 0x00042ce4}}}, + {X: Field{[10]uint32{0x02393e64, 0x025d743b, 0x01be1d76, 0x015d9c77, 0x018fe8ef, 0x022c8cd6, 0x03912637, 0x003b860b, 0x008b2f21, 0x00312f92}}, Y: Field{[10]uint32{0x0379f449, 0x01389c2e, 0x02aee10d, 0x01c3e01f, 0x00b910cd, 0x02632809, 0x00beadcb, 0x02695120, 0x012fa1a0, 0x002fb04e}}}, + {X: Field{[10]uint32{0x0333ff37, 0x00329724, 0x0254256d, 0x000134da, 0x0025f5be, 0x00f58230, 0x0313848d, 0x03f5dec7, 0x018da141, 0x000151a4}}, Y: Field{[10]uint32{0x01914ac7, 0x008fa3ce, 0x004dcc2d, 0x02920cdc, 0x03b0b82b, 0x033e686f, 0x0300d716, 0x02f86973, 0x00c79684, 0x0000f475}}}, + {X: Field{[10]uint32{0x026078de, 0x03065809, 0x0210a320, 0x02c6719f, 0x002e6df8, 0x023fc3d0, 0x03368b09, 0x03af44b7, 0x03c42c51, 0x00337f1b}}, Y: Field{[10]uint32{0x0189cb0d, 0x02f81a3f, 0x0063c0fe, 0x0046dbdd, 0x03c26894, 0x02cddd3c, 0x03bef456, 0x01499151, 0x0130023e, 0x0016617a}}}, + {X: Field{[10]uint32{0x00f03034, 0x02ef351f, 0x00e99c99, 0x012d1c63, 0x02036f0e, 0x01023851, 0x021eec62, 0x005281bc, 0x00cc593b, 0x001dcc3f}}, Y: Field{[10]uint32{0x02016b72, 0x023e644f, 0x0001ccc2, 0x02ddbe5c, 0x0152beac, 0x024aa9f7, 0x030151b4, 0x03904a70, 0x03e20736, 0x003c5f43}}}, + {X: Field{[10]uint32{0x0141b3ea, 0x01acd51e, 0x03090572, 0x02a57eb7, 0x01d855a7, 0x03e256f1, 0x00c7b559, 0x0023d19d, 0x03de4743, 0x0022a930}}, Y: Field{[10]uint32{0x00b8594d, 0x0357dc57, 0x018be7db, 0x01085432, 0x0278d9da, 0x03d00fb4, 0x034ae9ad, 0x00988c6f, 0x004a0eac, 0x003c9d71}}}, + {X: Field{[10]uint32{0x0325bb79, 0x01534434, 0x0313c5cb, 0x0375e156, 0x01f32d33, 0x02250124, 0x036f87ff, 0x03a49625, 0x01a497a4, 0x0005649b}}, Y: Field{[10]uint32{0x03ce8e51, 0x03c5b619, 0x00d40d35, 0x01e20a20, 0x001aa03c, 0x0327dc6e, 0x031bf67e, 0x02fea3a1, 0x00b65b1e, 0x00056b18}}}, + {X: Field{[10]uint32{0x01b1710d, 0x02bbaf7d, 0x02dbb35f, 0x01175159, 0x02fc99f5, 0x00005a23, 0x0062b48f, 0x0055d1e5, 0x00feaa74, 0x00157d3d}}, Y: Field{[10]uint32{0x0302d15f, 0x01486d2e, 0x03e0f662, 0x02b6db8f, 0x03d015a4, 0x01f7fb0f, 0x027b8945, 0x0132139d, 0x020563f2, 0x00203b3a}}}, + {X: Field{[10]uint32{0x00e93cee, 0x00dfda38, 0x03e0d0b1, 0x035d335c, 0x02f04a60, 0x0136ccdf, 0x0357c4ae, 0x01fccfe8, 0x02cf402f, 0x0025695a}}, Y: Field{[10]uint32{0x036501fd, 0x0086d3bb, 0x021a4bd5, 0x038f396d, 0x01d21c89, 0x00c326b9, 0x034e72ca, 0x02ea105b, 0x01bfb7c9, 0x0039c901}}}, + {X: Field{[10]uint32{0x027a2aac, 0x02206ae3, 0x03cd64b0, 0x03fc1266, 0x03c2a697, 0x00daa5e0, 0x0034b7bc, 0x01eed44c, 0x0190b50d, 0x000a2a7f}}, Y: Field{[10]uint32{0x0394a788, 0x00fea8e5, 0x01720b58, 0x03d453e8, 0x01a37cfa, 0x005421e0, 0x02635968, 0x01fa9268, 0x01b05c7e, 0x001dac54}}}, + {X: Field{[10]uint32{0x0334b672, 0x03e97bf9, 0x0393cb36, 0x034e6736, 0x00b571e2, 0x02b0e3ac, 0x0116b93e, 0x018b1290, 0x01136d64, 0x001901b7}}, Y: Field{[10]uint32{0x01d7fd1e, 0x03a8d617, 0x0274fdef, 0x006a5df6, 0x01b4c5eb, 0x00aa447e, 0x019c9d06, 0x0398514b, 0x037b92b8, 0x000e5d31}}}, + {X: Field{[10]uint32{0x01066529, 0x022d99bc, 0x003c2e3c, 0x01f8dd9c, 0x029d40c3, 0x024cdd1f, 0x03ef9039, 0x03870253, 0x023fcb62, 0x0023f63c}}, Y: Field{[10]uint32{0x014ab5c8, 0x003815c3, 0x02baf310, 0x004c8244, 0x025ba190, 0x016498a5, 0x029099d7, 0x005d6c92, 0x039bde10, 0x0022c2cb}}}, + {X: Field{[10]uint32{0x03a1a24b, 0x03bb0558, 0x023cc3e0, 0x02acb49c, 0x03cc525b, 0x02325390, 0x00679bdc, 0x01cda270, 0x022bd445, 0x00145e02}}, Y: Field{[10]uint32{0x00e01109, 0x000fe8bc, 0x03dfc646, 0x028cd4c3, 0x014b6b08, 0x024e4713, 0x006e5db2, 0x02347b1d, 0x019b0e17, 0x001409b3}}}, + {X: Field{[10]uint32{0x00283561, 0x02d0aa63, 0x01065bee, 0x00d1a123, 0x025b8c85, 0x0364e772, 0x02fe0e5c, 0x03e6fcf4, 0x013ae7c7, 0x002a8052}}, Y: Field{[10]uint32{0x00da82d9, 0x0220440b, 0x030f0e9e, 0x0022cf84, 0x021783e9, 0x006678f4, 0x023af145, 0x02d78d91, 0x03454a42, 0x002823c2}}}, + {X: Field{[10]uint32{0x00ceab70, 0x029814c6, 0x01afb97f, 0x035065b3, 0x010e4456, 0x01a89fa0, 0x001c4fad, 0x039b52b2, 0x0349d4bb, 0x003362ad}}, Y: Field{[10]uint32{0x01f59beb, 0x00bc6e17, 0x01231da3, 0x020ec14a, 0x01ca8621, 0x0335eb4f, 0x01c92493, 0x02883780, 0x0339bd68, 0x003f1b1d}}}, + {X: Field{[10]uint32{0x01fe3e32, 0x02fb1715, 0x027eae00, 0x03871668, 0x02379f56, 0x002ed221, 0x017bc54e, 0x014079e8, 0x02f2e824, 0x0039a737}}, Y: Field{[10]uint32{0x02c41cd4, 0x03616362, 0x03c80f41, 0x0399b12e, 0x013fe735, 0x018a45e4, 0x0125338f, 0x014e6040, 0x01104037, 0x0003a03b}}}, + {X: Field{[10]uint32{0x03ff8a8d, 0x00623836, 0x004a2f30, 0x01a5e406, 0x00f6b6ec, 0x038c6073, 0x0308af19, 0x007dfbbe, 0x02d9182b, 0x0016939c}}, Y: Field{[10]uint32{0x01f9da19, 0x0049408b, 0x00bee2d9, 0x0189ed6c, 0x017b62ea, 0x02b0ce97, 0x031c5885, 0x015f60ec, 0x03f2d5a8, 0x000b473d}}}, + {X: Field{[10]uint32{0x00984a2b, 0x00f46d7e, 0x0330a8f2, 0x01517740, 0x020d78f1, 0x024829e7, 0x00416b03, 0x01884504, 0x005948bd, 0x00278002}}, Y: Field{[10]uint32{0x008e3f62, 0x00459d32, 0x03338db6, 0x01683634, 0x00151ab8, 0x036c37f2, 0x030680ce, 0x03f4f308, 0x00920412, 0x000dab81}}}, + {X: Field{[10]uint32{0x018bc6ff, 0x00bc84c9, 0x00d18ac8, 0x0217c2f2, 0x0399f884, 0x03a90971, 0x02d35d4a, 0x021cd3b2, 0x03aeb12f, 0x001f82e5}}, Y: Field{[10]uint32{0x01f3946e, 0x01902d5a, 0x037bccc7, 0x01011a4b, 0x00ab95fb, 0x02c2db97, 0x003b0b8a, 0x006da8ff, 0x0224a4be, 0x0039dbd3}}}, + {X: Field{[10]uint32{0x01038ee2, 0x00cdb198, 0x00c860b9, 0x039606f8, 0x02b3064b, 0x019e1e3e, 0x0281ff28, 0x03125772, 0x00fb1bdf, 0x00188a17}}, Y: Field{[10]uint32{0x009b5161, 0x013705e1, 0x024f771f, 0x0360869b, 0x00a65ca8, 0x03c56775, 0x0285ea08, 0x03a7cd03, 0x03e45f60, 0x003cb246}}}, + {X: Field{[10]uint32{0x02c82623, 0x03c49aa9, 0x00ac8006, 0x02ebbbcf, 0x00cd3765, 0x01b57067, 0x01870ef3, 0x02d735a6, 0x02812de1, 0x001c08d3}}, Y: Field{[10]uint32{0x01330736, 0x00e6ee10, 0x036ec071, 0x01a43f56, 0x023140f7, 0x0011ce2e, 0x03f3c920, 0x029ddc98, 0x018a0f92, 0x0038b6fe}}}, + {X: Field{[10]uint32{0x015db07d, 0x025e29f3, 0x025e6136, 0x0399fd2f, 0x037dc1b4, 0x010d2c29, 0x0240ef57, 0x035737b7, 0x00618f31, 0x002b9dc1}}, Y: Field{[10]uint32{0x013d16e6, 0x034fa4f6, 0x03b01d46, 0x004a5459, 0x005cc43e, 0x001d00df, 0x0120e420, 0x01121cfd, 0x01646558, 0x00293894}}}, + {X: Field{[10]uint32{0x006f2b53, 0x0126dbc9, 0x026049e3, 0x039f590f, 0x005b7f4c, 0x01a39825, 0x02b78fb7, 0x01a62d22, 0x008fe4db, 0x0033b1eb}}, Y: Field{[10]uint32{0x025fadfb, 0x01b4006d, 0x03c325ca, 0x03d2035a, 0x017f5d3c, 0x0293f20c, 0x03bfd2a7, 0x001a150c, 0x01459933, 0x001246ed}}}, + {X: Field{[10]uint32{0x005eee36, 0x013571df, 0x006658db, 0x033f0bfe, 0x010852e4, 0x01588a5e, 0x02f62e83, 0x03927c9d, 0x0296b051, 0x002009db}}, Y: Field{[10]uint32{0x002f6d9d, 0x035f713d, 0x0330cf06, 0x0394dccf, 0x002c4d4c, 0x03dd44e9, 0x00d526e5, 0x0227c21c, 0x02968825, 0x003d4435}}}, + {X: Field{[10]uint32{0x0285b27d, 0x0110c5f6, 0x02741b89, 0x03260af6, 0x00e9e351, 0x03e3e142, 0x0163934e, 0x03eabb98, 0x03d49d85, 0x002c6409}}, Y: Field{[10]uint32{0x0247a824, 0x02ecdcba, 0x002d6dba, 0x0048815d, 0x028439f8, 0x00bac10b, 0x038443af, 0x039a72cd, 0x01cbdec0, 0x00304918}}}, + {X: Field{[10]uint32{0x030c792c, 0x0016cb95, 0x0308129e, 0x01bfef10, 0x01989c65, 0x02b851fc, 0x013fc78a, 0x0300074f, 0x014acf07, 0x0015d667}}, Y: Field{[10]uint32{0x018514b0, 0x02ef7100, 0x03a23f13, 0x03ce4042, 0x0238b57a, 0x02d2d3c0, 0x00e181b1, 0x02e85b86, 0x020fd215, 0x00173e3a}}}, + {X: Field{[10]uint32{0x02e6e4b7, 0x01b9063a, 0x01490bad, 0x0230ac1f, 0x00306e6f, 0x014f9d8f, 0x03cda2b6, 0x002e0b14, 0x0283fa11, 0x0016add8}}, Y: Field{[10]uint32{0x015e8ea0, 0x00deaead, 0x02884f74, 0x01c9058a, 0x03aebe82, 0x00decfe0, 0x027de95b, 0x01e38c5e, 0x0243cc2a, 0x003fcd95}}}, + {X: Field{[10]uint32{0x019d4a85, 0x000f9fe5, 0x00898649, 0x03910943, 0x0266ea88, 0x02800c77, 0x012dd45f, 0x035edfa9, 0x01e48602, 0x001ee4f6}}, Y: Field{[10]uint32{0x022b52f0, 0x01474cc5, 0x01099a48, 0x01807cab, 0x030f6dd0, 0x03beb5b0, 0x00f50a0f, 0x007fa428, 0x02015ab9, 0x0026732c}}}, + {X: Field{[10]uint32{0x0396ebb6, 0x038b38be, 0x00a9307e, 0x0086e584, 0x011de26a, 0x02cded2e, 0x0101be72, 0x009dd904, 0x00b6af64, 0x000b561e}}, Y: Field{[10]uint32{0x00fc585a, 0x012f5f0b, 0x018f547d, 0x01aedf48, 0x00a88706, 0x019c5bcb, 0x00815d94, 0x00013a08, 0x005ddf4b, 0x0004e3b8}}}, + {X: Field{[10]uint32{0x0160af3b, 0x00c9a739, 0x03ee7ac1, 0x03d4e33e, 0x03cf1ccf, 0x039072d5, 0x00a0fce2, 0x00cb6809, 0x0068eebc, 0x000758dc}}, Y: Field{[10]uint32{0x0276eadb, 0x0333f4b0, 0x009ed1b4, 0x0252dfba, 0x02d589a4, 0x0377282b, 0x005ce542, 0x0191159a, 0x01f1a289, 0x001aa4cb}}}, + {X: Field{[10]uint32{0x027de64c, 0x0273c111, 0x029a3947, 0x03bc3fa4, 0x0326a478, 0x0244ac15, 0x0187a680, 0x0048d7cc, 0x036b460e, 0x0020aeae}}, Y: Field{[10]uint32{0x0345647f, 0x00227844, 0x00faff51, 0x0068c9f4, 0x015de43a, 0x013560da, 0x033c11c9, 0x000e5807, 0x0233603d, 0x000ea7d3}}}, + {X: Field{[10]uint32{0x0348090a, 0x01b72a82, 0x01262c27, 0x00d0306e, 0x00a01c51, 0x036ab984, 0x03d899a9, 0x016ff6d8, 0x031d4e71, 0x002ba1b9}}, Y: Field{[10]uint32{0x00fd7b5e, 0x00778a53, 0x02126a30, 0x020e7271, 0x006f2f9e, 0x02d1619e, 0x02c4df93, 0x023deffa, 0x008bfcae, 0x000d592d}}}, + {X: Field{[10]uint32{0x02a413e8, 0x01d0d90a, 0x0000ef57, 0x02f247d0, 0x02664c50, 0x007accad, 0x02d6ad7f, 0x00730fd2, 0x02fbfc66, 0x000d6970}}, Y: Field{[10]uint32{0x02d6cde5, 0x006f33b2, 0x02752711, 0x0249332b, 0x01b901d6, 0x022a0721, 0x00727826, 0x019920f8, 0x01a2887f, 0x0012940a}}}, + {X: Field{[10]uint32{0x0058e2dc, 0x01ac1a56, 0x0360ecbc, 0x0259b1b5, 0x02763244, 0x03494766, 0x027c29ad, 0x00229d87, 0x007f4dd5, 0x000e1afc}}, Y: Field{[10]uint32{0x02407696, 0x006b61f7, 0x01f41e81, 0x008456a0, 0x020f07c6, 0x023ec52c, 0x0103e196, 0x0280e076, 0x00049c1f, 0x00353c52}}}, + {X: Field{[10]uint32{0x02346f96, 0x0379aa84, 0x00909fab, 0x01f32f5c, 0x03f9c46c, 0x02441361, 0x02c445ec, 0x03d33142, 0x001c9bd6, 0x0037fb0e}}, Y: Field{[10]uint32{0x017553f1, 0x033fc09e, 0x03f2e56c, 0x01da922d, 0x03d1ce0f, 0x0365a516, 0x017ef3ca, 0x01926f7e, 0x00f825b6, 0x00179cd1}}}, + {X: Field{[10]uint32{0x002abbb2, 0x0307aa21, 0x00aaa007, 0x000b48d6, 0x02f8a243, 0x03a82ff0, 0x013e0b70, 0x00133152, 0x00c604db, 0x000d81b7}}, Y: Field{[10]uint32{0x0287301d, 0x011f9e15, 0x025edbb5, 0x02c6f880, 0x0387eea8, 0x03b28d99, 0x03569a1f, 0x026dd2e2, 0x003bbc4d, 0x0029721d}}}, + {X: Field{[10]uint32{0x012b0016, 0x014a0979, 0x012b6660, 0x00e239db, 0x00db0860, 0x007464a8, 0x03025a47, 0x025b8a68, 0x0337e190, 0x000d1079}}, Y: Field{[10]uint32{0x01eef0da, 0x02d83de0, 0x01b9e7db, 0x0128de18, 0x015eb9bd, 0x02c8ce8e, 0x003ad47b, 0x032639cf, 0x037ed5ca, 0x0001b443}}}, + {X: Field{[10]uint32{0x02636e99, 0x01504289, 0x03030002, 0x02fd737f, 0x01b1d902, 0x015aa73d, 0x02a7a5c4, 0x0230d2d7, 0x002e460d, 0x002cb25f}}, Y: Field{[10]uint32{0x02057b7c, 0x0227a8f8, 0x02bfa232, 0x007c9c85, 0x021f151e, 0x03da5cf8, 0x03417b3c, 0x03bcc1d4, 0x0081a8c8, 0x0019c4cc}}}, + {X: Field{[10]uint32{0x03e045fd, 0x03054055, 0x01a973b6, 0x02dcf6d1, 0x019b7932, 0x016409ed, 0x03fdabed, 0x00f773e3, 0x018b59a4, 0x0009d02f}}, Y: Field{[10]uint32{0x03b02a85, 0x01e01fa4, 0x0182e1ea, 0x0392c3af, 0x03987aab, 0x0304ddd4, 0x00787a63, 0x006b50b0, 0x02b1f69f, 0x002041bc}}}, + {X: Field{[10]uint32{0x01b6c21b, 0x01597862, 0x009a69ee, 0x01a76331, 0x00aaa8e2, 0x00fe5003, 0x00b4f400, 0x02530336, 0x03d9bdbd, 0x00286b3f}}, Y: Field{[10]uint32{0x02f0235b, 0x0305afc3, 0x00a66df7, 0x03033065, 0x00bcc4fd, 0x03d393d1, 0x00acfbd4, 0x03d4625d, 0x017e0733, 0x0018bb1f}}}, + {X: Field{[10]uint32{0x03349847, 0x007d05d5, 0x00cff630, 0x02f4ccb6, 0x019a5357, 0x00e34eab, 0x038c0f15, 0x012b30c9, 0x02d68d52, 0x00142eca}}, Y: Field{[10]uint32{0x03acfb32, 0x00d4a1fe, 0x03139b85, 0x039659df, 0x02ba4b33, 0x03bc062e, 0x03d4c6e1, 0x009af6e5, 0x03d5d035, 0x00363f0c}}}, + {X: Field{[10]uint32{0x034fdbd9, 0x03420e17, 0x0132ec9f, 0x02823f43, 0x01948e2c, 0x008a2040, 0x035e8601, 0x02d3eb59, 0x02626031, 0x003af7ec}}, Y: Field{[10]uint32{0x000dbf2e, 0x018a69e9, 0x02a0a9c4, 0x010a2546, 0x034f853a, 0x019b8c66, 0x03964e44, 0x0044f76c, 0x026cc470, 0x002c1e01}}}, + {X: Field{[10]uint32{0x018bd48f, 0x022dd0ba, 0x001f63a4, 0x03e05c55, 0x01d57b35, 0x0023f56b, 0x02f73e82, 0x00a8bef7, 0x00236548, 0x00176bd3}}, Y: Field{[10]uint32{0x0287f967, 0x031d728b, 0x0327db2c, 0x03cb08c0, 0x009cbd11, 0x03e8f7fb, 0x03fc83c4, 0x02181fd7, 0x03cb5a24, 0x0024056f}}}, + {X: Field{[10]uint32{0x028533c7, 0x0147327b, 0x0277d085, 0x017cac4a, 0x01238c90, 0x00d4fe09, 0x0219517f, 0x0020519e, 0x00205d84, 0x0008b6e7}}, Y: Field{[10]uint32{0x006dcdf8, 0x01c0e2ce, 0x0231c85f, 0x00a6d811, 0x027ad19e, 0x02e6b3c3, 0x02192642, 0x00a8a28c, 0x03c82343, 0x001a0286}}}, + {X: Field{[10]uint32{0x00c100ae, 0x01ca1875, 0x00d4f4db, 0x016111a5, 0x019fb446, 0x021b9b95, 0x0225213f, 0x02f94649, 0x01d102e8, 0x0010110d}}, Y: Field{[10]uint32{0x011586d1, 0x0213de1b, 0x00f4cb62, 0x016a5078, 0x02dd734e, 0x03e09246, 0x02047768, 0x03bbeba3, 0x0282b321, 0x0027af39}}}, + {X: Field{[10]uint32{0x0037530f, 0x00994cba, 0x009f260c, 0x027331a7, 0x00fe59df, 0x0354b687, 0x0200d1a3, 0x029b7be1, 0x02ff6831, 0x003730db}}, Y: Field{[10]uint32{0x0377a893, 0x0256b307, 0x014d65b7, 0x03fda643, 0x03b6b385, 0x01e159b2, 0x0298c135, 0x02dfa17a, 0x01e67360, 0x0021826d}}}, + {X: Field{[10]uint32{0x001a1514, 0x014f9e67, 0x019a8b43, 0x0101178b, 0x00e991d1, 0x018cf2d2, 0x004cd04c, 0x00e0f929, 0x03941a1c, 0x003bc37e}}, Y: Field{[10]uint32{0x036f6f42, 0x01721abd, 0x006d461e, 0x02f0f8cd, 0x019c3599, 0x01a4fb41, 0x033afabf, 0x017e6adc, 0x0160f2a7, 0x00009a17}}}, + {X: Field{[10]uint32{0x01766b8a, 0x02f14dc7, 0x01b3086a, 0x02eb6758, 0x02410b0f, 0x03299ac1, 0x012e18f2, 0x03bf5ad3, 0x00fdc6c3, 0x00092213}}, Y: Field{[10]uint32{0x00e2267d, 0x01ec5f6b, 0x0119e465, 0x0066a9a1, 0x0086a786, 0x0288f04c, 0x015c6bf8, 0x036a9f4e, 0x008566f3, 0x001f0737}}}, + {X: Field{[10]uint32{0x02cd8b20, 0x01d18c92, 0x01a450de, 0x00219e36, 0x01485b07, 0x0206dbc1, 0x0207756f, 0x012a04b1, 0x0291c700, 0x001506d9}}, Y: Field{[10]uint32{0x01c609d7, 0x0179d931, 0x0117fc7f, 0x037eba61, 0x00cefff3, 0x008e0de1, 0x009f0d50, 0x010a6b1d, 0x03018a3c, 0x0037733c}}}, + {X: Field{[10]uint32{0x01fa822d, 0x0090b068, 0x03b9a138, 0x0322ee76, 0x02f792cf, 0x03c7e0a5, 0x005eea4f, 0x00b8fea4, 0x01696726, 0x0001518a}}, Y: Field{[10]uint32{0x01e6880e, 0x02b6ff88, 0x0218570d, 0x01c043db, 0x03da2d73, 0x02195967, 0x02d8e7f9, 0x02549d3e, 0x02898e42, 0x0018c048}}}, + {X: Field{[10]uint32{0x00848e83, 0x0200833b, 0x01f6d6e1, 0x01241b3a, 0x003ddfd9, 0x001185bf, 0x0122bb97, 0x004a7734, 0x0112ad2c, 0x002501c2}}, Y: Field{[10]uint32{0x0314017b, 0x02e9b66d, 0x01536d1f, 0x03e0ad5c, 0x00b5d261, 0x0169cca9, 0x0101080b, 0x0327c532, 0x00e56bfa, 0x00270ece}}}, + {X: Field{[10]uint32{0x023ca6c9, 0x02e4a95b, 0x020173ed, 0x0180d94e, 0x02ea73b0, 0x00505ee4, 0x028071cc, 0x01987abe, 0x00e48ddc, 0x000a98cc}}, Y: Field{[10]uint32{0x03fc7d79, 0x01d878f0, 0x016f3d8b, 0x00e1ad54, 0x035802bc, 0x02fd3eea, 0x02d56a3f, 0x030d42e8, 0x01cd4754, 0x002ce314}}}, + {X: Field{[10]uint32{0x03f7424d, 0x02c11eb4, 0x00c39dac, 0x0071fbf1, 0x008c418c, 0x03fd69f5, 0x024078c5, 0x03685d6b, 0x00935f95, 0x002450b9}}, Y: Field{[10]uint32{0x0085cd05, 0x022b732e, 0x02ac0e69, 0x01fd629f, 0x0137d0ab, 0x0293e6c1, 0x0284ea55, 0x00cea7a1, 0x0274c471, 0x00054596}}}, + {X: Field{[10]uint32{0x0285804d, 0x03a995b2, 0x0169ad1e, 0x01c9ff2f, 0x000bb8d3, 0x022351fa, 0x0263ef38, 0x0137bb6e, 0x03295cac, 0x000b8662}}, Y: Field{[10]uint32{0x0380fd52, 0x01ae7b19, 0x02e63067, 0x01a07148, 0x00eb3824, 0x02c720c3, 0x02b0c2b1, 0x03fef854, 0x01b3e700, 0x000c7757}}}, + {X: Field{[10]uint32{0x0272f72d, 0x03d4db2c, 0x0264e5a3, 0x038befc0, 0x0032a671, 0x02f66f16, 0x023e52a7, 0x032bebc4, 0x01e9b2ef, 0x002d138d}}, Y: Field{[10]uint32{0x02a43423, 0x005a9696, 0x02b0871c, 0x0304e4d2, 0x03f80c81, 0x0090f992, 0x032b80a1, 0x027f5098, 0x03e3beb3, 0x00235227}}}, + {X: Field{[10]uint32{0x003a3cd7, 0x037d906e, 0x013beefd, 0x02d6439b, 0x00f609f0, 0x008918f7, 0x02cf365c, 0x012db6d7, 0x0101e132, 0x0037266b}}, Y: Field{[10]uint32{0x0111b682, 0x03f921bb, 0x003decf0, 0x02511e81, 0x03a4c1e7, 0x00e4f021, 0x000ad6a4, 0x02fabccb, 0x02ca2fea, 0x002d2d08}}}, + {X: Field{[10]uint32{0x0162a359, 0x03146ebe, 0x0237648f, 0x03f3a8a1, 0x013029eb, 0x021a3d34, 0x02af89bb, 0x0070b73e, 0x038eeb99, 0x00385d20}}, Y: Field{[10]uint32{0x00e7570b, 0x016b4aa8, 0x01ec70c0, 0x018a086a, 0x000238dc, 0x0369731d, 0x031b60a4, 0x0377252e, 0x008727cb, 0x003e0373}}}, + {X: Field{[10]uint32{0x02583d33, 0x00437ea8, 0x0349765d, 0x0062d5a2, 0x014ca21d, 0x02dce7ad, 0x00d79a48, 0x005b510b, 0x018b15bd, 0x0018900d}}, Y: Field{[10]uint32{0x00ec2d00, 0x00f0375b, 0x0013fa61, 0x005b7ccd, 0x01fc5461, 0x0290db54, 0x02d8caa8, 0x01d543b5, 0x014d724e, 0x001ab2c1}}}, + {X: Field{[10]uint32{0x023f8d70, 0x01a0d0b9, 0x007b2e62, 0x01dcb070, 0x02aa61c0, 0x03f4ebde, 0x03a29b4b, 0x02b03d50, 0x00eb560a, 0x0029d5ff}}, Y: Field{[10]uint32{0x000352da, 0x0031033d, 0x0057b39d, 0x01419d25, 0x02b4c074, 0x02f1a880, 0x00713e27, 0x015743ed, 0x02eff808, 0x00161933}}}, + {X: Field{[10]uint32{0x03777bba, 0x02f5044b, 0x008143a1, 0x02602f1d, 0x01d4b1f4, 0x03942746, 0x02e94162, 0x00527640, 0x007357c3, 0x003cdb84}}, Y: Field{[10]uint32{0x03d1993e, 0x02a5a60e, 0x0025a14a, 0x010de3c3, 0x0045f74b, 0x01b0ff92, 0x00d93967, 0x009a4f90, 0x022d139a, 0x003535f6}}}, + {X: Field{[10]uint32{0x024af99a, 0x01a75648, 0x0020b172, 0x013f3125, 0x004a8e0e, 0x0189dfbc, 0x0134949b, 0x003fdc4e, 0x014b55a4, 0x00213bcb}}, Y: Field{[10]uint32{0x01ea73a6, 0x020c2161, 0x03e3e80a, 0x01d9d53b, 0x0260465e, 0x02c759d4, 0x03f2b7a0, 0x01423d97, 0x00b701d3, 0x0015ebff}}}, + {X: Field{[10]uint32{0x03ce7576, 0x01e1e10f, 0x03f4784f, 0x037d022c, 0x0296b046, 0x03fca2eb, 0x02fdca34, 0x03d9b5f7, 0x024b274f, 0x0004e3bd}}, Y: Field{[10]uint32{0x02e1ecf1, 0x021546ff, 0x03d4ced9, 0x004bb929, 0x01dfe979, 0x000c94bb, 0x02010cbd, 0x01f10d04, 0x00e51d51, 0x003af741}}}, + {X: Field{[10]uint32{0x011f318c, 0x032d820f, 0x0189b435, 0x00a38b66, 0x032d4547, 0x01434c15, 0x02a11455, 0x015a4884, 0x03fe2ba0, 0x003a0bc0}}, Y: Field{[10]uint32{0x0012dcda, 0x017d8fd6, 0x010f2eb2, 0x00dd8099, 0x03613b29, 0x028d3848, 0x02aaf1fe, 0x0162064a, 0x03b9cf29, 0x0006469b}}}, + {X: Field{[10]uint32{0x02afb317, 0x02f4b216, 0x0296be44, 0x02630346, 0x00111170, 0x03cd17b0, 0x035fb3e7, 0x01beb1fa, 0x0000676b, 0x0015a9a1}}, Y: Field{[10]uint32{0x031dfb4e, 0x016c33a7, 0x0194903f, 0x03f33874, 0x02f49ff2, 0x03106067, 0x01dcb5f4, 0x02df316e, 0x027a5ae1, 0x000e9060}}}, + {X: Field{[10]uint32{0x001309f5, 0x028f0cb7, 0x010084ef, 0x006b9029, 0x028f735b, 0x007c9982, 0x02fe255e, 0x00f6d3ce, 0x007f1b35, 0x0020bd5d}}, Y: Field{[10]uint32{0x024a0144, 0x02a64189, 0x03bd7dd5, 0x028a933d, 0x03d05f9e, 0x0055caef, 0x007e4c67, 0x03007dfa, 0x0103f4cc, 0x0010ba2e}}}, + {X: Field{[10]uint32{0x02e0cf13, 0x02b5651d, 0x002bb0bf, 0x03040678, 0x0280ef76, 0x01dacc4d, 0x0389e0c3, 0x00659292, 0x0141c47b, 0x002244da}}, Y: Field{[10]uint32{0x002d3f3b, 0x01d4de8b, 0x0221af6f, 0x01641dfd, 0x01d722e6, 0x005df18d, 0x0071bc50, 0x01593fd2, 0x0385fb6a, 0x002ce8a9}}}, + {X: Field{[10]uint32{0x02238909, 0x018297d0, 0x01df1c73, 0x02ee5d9c, 0x010b9954, 0x03bd7628, 0x030cb51e, 0x03d60003, 0x01690c98, 0x00318942}}, Y: Field{[10]uint32{0x018ec724, 0x01cc68c1, 0x01240219, 0x0365ac7b, 0x01552d5b, 0x0065f83a, 0x013f935e, 0x02ac8937, 0x024c915e, 0x0020f40c}}}, + {X: Field{[10]uint32{0x03c7e3b4, 0x0047f523, 0x00184274, 0x02377439, 0x01ad1293, 0x03aa6761, 0x024a481d, 0x00c80119, 0x02d96391, 0x00388e66}}, Y: Field{[10]uint32{0x03c69d47, 0x01537e24, 0x03298f9b, 0x0287ec43, 0x005d8b1f, 0x02270de0, 0x02836ed3, 0x00a388ba, 0x0162beae, 0x00183fff}}}, + {X: Field{[10]uint32{0x0003d959, 0x03e0870c, 0x007b85a1, 0x035f09f3, 0x020a59c5, 0x032345e5, 0x02383d6c, 0x00a64a69, 0x031c186d, 0x00013402}}, Y: Field{[10]uint32{0x02487640, 0x00c9fa33, 0x01cb4687, 0x0375be35, 0x02dd4aa3, 0x002df1f9, 0x01c8ce7a, 0x0067f527, 0x02d127eb, 0x0021d4ba}}}, + {X: Field{[10]uint32{0x0264121e, 0x025ceba4, 0x003185ea, 0x028d6591, 0x00933cbf, 0x02df8712, 0x02548e98, 0x014b246a, 0x03ef8b8b, 0x000d1198}}, Y: Field{[10]uint32{0x014d9efd, 0x02b9d814, 0x02b06dfe, 0x01738bdc, 0x036fe388, 0x02fa959c, 0x017e6240, 0x023bb2e5, 0x01c89dfe, 0x001cf426}}}, + {X: Field{[10]uint32{0x00de6648, 0x0222ef68, 0x019e35c7, 0x0355f28c, 0x03f411d3, 0x02526d3c, 0x03038d47, 0x00aa60cc, 0x004ddbd2, 0x000dffd2}}, Y: Field{[10]uint32{0x00547c67, 0x02b9aa48, 0x00bfba9a, 0x021a0e60, 0x03a45cf0, 0x03b07d70, 0x03b14554, 0x0236074b, 0x014b5161, 0x0015694e}}}, + {X: Field{[10]uint32{0x03556ca5, 0x0256c185, 0x012e14d7, 0x01c035bc, 0x00d2881f, 0x0331b4f6, 0x01339d14, 0x0019ae42, 0x01db0ad5, 0x0033cef3}}, Y: Field{[10]uint32{0x01678a6f, 0x025e91c4, 0x000b13c1, 0x03dc22df, 0x00b61b90, 0x009d8089, 0x020e4023, 0x003c8188, 0x02bc99e2, 0x003849a1}}}, + {X: Field{[10]uint32{0x01a73402, 0x000bb7d7, 0x00d4149f, 0x02852606, 0x03d35e47, 0x00f5d296, 0x00f91101, 0x0346b28e, 0x02e7db8f, 0x00258740}}, Y: Field{[10]uint32{0x01fed240, 0x0014561c, 0x0282a1db, 0x02b7f8be, 0x01765dc8, 0x03fc85fa, 0x0115ca3b, 0x019df059, 0x02acd698, 0x002518ba}}}, + {X: Field{[10]uint32{0x006ec3ba, 0x02be5fad, 0x0135c5e1, 0x00901169, 0x003648b7, 0x01d2052b, 0x0122ca60, 0x02399497, 0x0390574a, 0x0010f98b}}, Y: Field{[10]uint32{0x01939734, 0x01a8d6cf, 0x033a318f, 0x02167b71, 0x03e141dc, 0x00634140, 0x029e20ed, 0x033c5e4d, 0x025617c1, 0x001b7bc2}}}, + {X: Field{[10]uint32{0x03dfdbb7, 0x02001495, 0x0116033b, 0x02d2a58b, 0x020457e4, 0x0237a4ec, 0x02113cf9, 0x000630d4, 0x03799d79, 0x00279a0a}}, Y: Field{[10]uint32{0x0049041b, 0x00fb1754, 0x001e93f2, 0x0153ba6a, 0x01b29833, 0x010174b2, 0x00468a06, 0x018d0e27, 0x0316bfe9, 0x00276e72}}}, + {X: Field{[10]uint32{0x01a1a8b4, 0x021db935, 0x008f9436, 0x0390800b, 0x025f9682, 0x02148064, 0x0222d130, 0x02d676ca, 0x03a78079, 0x001e4061}}, Y: Field{[10]uint32{0x03fa456e, 0x02564b2b, 0x004de17e, 0x0075a981, 0x02ade0ad, 0x01aa39aa, 0x014381e5, 0x00c600d9, 0x0346f6b4, 0x00009722}}}, + {X: Field{[10]uint32{0x00169583, 0x0339557c, 0x02b1d683, 0x030c356e, 0x01662a0d, 0x016887ff, 0x0222d653, 0x012cce67, 0x038a6c74, 0x0024a292}}, Y: Field{[10]uint32{0x026fcf84, 0x01373266, 0x01eaa75d, 0x03d9a1ff, 0x01323d55, 0x03fb21ea, 0x01af7e45, 0x02552f87, 0x0284c064, 0x000947fb}}}, + {X: Field{[10]uint32{0x02084c88, 0x01b0fd2f, 0x03fde6c1, 0x00fa6efe, 0x03a6ffb7, 0x03262e1b, 0x01872de8, 0x00bcb2b1, 0x00da8118, 0x001a13a2}}, Y: Field{[10]uint32{0x036383fe, 0x03c19173, 0x00bb60bf, 0x02c1abee, 0x03ad179e, 0x01d55eac, 0x01ae45ff, 0x018b5648, 0x019dfc9d, 0x0031146d}}}, + {X: Field{[10]uint32{0x01174343, 0x02defe93, 0x02f6cad7, 0x033aa165, 0x038e8166, 0x02526f3a, 0x00ebfa86, 0x02c335ea, 0x0283a403, 0x0022f74b}}, Y: Field{[10]uint32{0x00177172, 0x032f23ea, 0x03bad08c, 0x0167a7bf, 0x03643bb3, 0x03b24df0, 0x0307b2fe, 0x020be1f5, 0x014797f6, 0x001c8830}}}, + {X: Field{[10]uint32{0x02399543, 0x03a02c2f, 0x008b4b69, 0x01a791a5, 0x03b71958, 0x03e487da, 0x0258ef50, 0x01254a14, 0x03216e3c, 0x0030fe8e}}, Y: Field{[10]uint32{0x02ec1796, 0x03b654c2, 0x0310fc8e, 0x0285d22e, 0x015a519c, 0x0009b0b1, 0x00880503, 0x01986ddc, 0x00ed21f6, 0x003ac811}}}, + {X: Field{[10]uint32{0x037e63a2, 0x028e29eb, 0x02b483d6, 0x034b990a, 0x00195a8b, 0x0034d578, 0x01fb0df5, 0x00a564de, 0x0013eb2d, 0x0007018f}}, Y: Field{[10]uint32{0x030f2abb, 0x03d5cde1, 0x02ed7cfc, 0x01d1fd11, 0x02b00428, 0x0310389a, 0x005005c8, 0x027fd9d7, 0x0392d14c, 0x000814e3}}}, + {X: Field{[10]uint32{0x0331d452, 0x006d7803, 0x0399981f, 0x037841f8, 0x016c6086, 0x009f2d4e, 0x002dc6c2, 0x03063d2e, 0x03977b54, 0x00183019}}, Y: Field{[10]uint32{0x0098429a, 0x0157c637, 0x0013b737, 0x03dc2ab3, 0x02ce0e8b, 0x015ebebf, 0x03d2617b, 0x0046cb9b, 0x02c4e3eb, 0x000fd151}}}, + {X: Field{[10]uint32{0x02a36856, 0x03c022ff, 0x01722c0a, 0x00aebc61, 0x03421cdc, 0x008c7b62, 0x0263e90a, 0x01aaef3c, 0x03999225, 0x003f0573}}, Y: Field{[10]uint32{0x0235d798, 0x00d375f1, 0x0197e276, 0x025fd726, 0x00c01dbd, 0x0268efc9, 0x01d46e46, 0x00214dc3, 0x02a4d9c4, 0x002af8d1}}}, + {X: Field{[10]uint32{0x03249454, 0x023f9109, 0x02ee5c6f, 0x01a99649, 0x001a92b0, 0x0322c1ee, 0x00da262b, 0x00eedd0a, 0x01851817, 0x003d850e}}, Y: Field{[10]uint32{0x0301cf84, 0x00f38635, 0x004aab9f, 0x03a6731e, 0x0011fced, 0x02fa397a, 0x001f06d4, 0x01630835, 0x02ef3a25, 0x002c760c}}}, + {X: Field{[10]uint32{0x0261b5f5, 0x0085b73b, 0x00bc7ad5, 0x010c4275, 0x0301f1fd, 0x01a845aa, 0x02685427, 0x02110907, 0x00a96221, 0x0015e516}}, Y: Field{[10]uint32{0x0053e2d8, 0x0352d84b, 0x03e237bd, 0x01365eba, 0x0021274a, 0x00d6fb5c, 0x00c8d461, 0x015f1857, 0x007468c1, 0x000cf959}}}, + {X: Field{[10]uint32{0x01fe62e7, 0x01479e90, 0x023bd8c0, 0x0007f85f, 0x03abab20, 0x038d57a3, 0x0162678f, 0x0104cad5, 0x03dcb080, 0x0018dd54}}, Y: Field{[10]uint32{0x03572dce, 0x005e4826, 0x00d3c319, 0x025a1d38, 0x036989b2, 0x019ee853, 0x026a9511, 0x01b87fc6, 0x01c2ad58, 0x000a2f5b}}}, + {X: Field{[10]uint32{0x0180e2a3, 0x00dc8bad, 0x028ea66c, 0x036d5dfe, 0x0389e99d, 0x03953d60, 0x01ddb923, 0x02156f88, 0x030f6f64, 0x003baef5}}, Y: Field{[10]uint32{0x02fd4d68, 0x021a09cc, 0x00e1dedc, 0x0260f7d8, 0x007c9866, 0x034eb13b, 0x015606ea, 0x000d1529, 0x017915b5, 0x000f46da}}}, + {X: Field{[10]uint32{0x006c56fb, 0x0143909a, 0x01ddb2e3, 0x022db971, 0x023a6e88, 0x01de448d, 0x011135f3, 0x02c769a2, 0x031f2bf4, 0x0013b224}}, Y: Field{[10]uint32{0x02a09bc7, 0x0277c8d5, 0x019f535d, 0x004155a4, 0x003cbab9, 0x02370f8a, 0x03197704, 0x00c1aaf5, 0x02794c2b, 0x00357db1}}}, + {X: Field{[10]uint32{0x02e9730e, 0x03094eaf, 0x001a735b, 0x01733137, 0x018f4937, 0x03f571dc, 0x004deabf, 0x01f9e9f6, 0x0376fc5b, 0x001ad69f}}, Y: Field{[10]uint32{0x03b58af8, 0x0277d910, 0x00b7af8f, 0x02afdab6, 0x039eafb8, 0x006155d5, 0x02562df1, 0x017daac4, 0x01c48fbf, 0x0007a4d7}}}, + {X: Field{[10]uint32{0x02013af7, 0x0391e227, 0x00f27683, 0x03cc8753, 0x035f5b73, 0x01f8a601, 0x024c7591, 0x02562909, 0x01ebf620, 0x000a8c4a}}, Y: Field{[10]uint32{0x01020da4, 0x006487f4, 0x036c689a, 0x00be9b09, 0x01406673, 0x036e2b1f, 0x0346edef, 0x00a2cfe8, 0x01e4c1fc, 0x003a503d}}}, + {X: Field{[10]uint32{0x0328b5ab, 0x03d458ee, 0x02d124c6, 0x00ef120d, 0x0294a872, 0x02fcb209, 0x0307f345, 0x010fcde0, 0x001ce994, 0x00022ffa}}, Y: Field{[10]uint32{0x00433c71, 0x0192b0fc, 0x01348364, 0x01214b99, 0x0087de98, 0x02345de9, 0x028edc26, 0x017ebe5d, 0x0227857e, 0x00162c5b}}}, + {X: Field{[10]uint32{0x02d61be3, 0x00cdef62, 0x00f831c1, 0x024a8143, 0x01054236, 0x03934d5b, 0x039daf3e, 0x0159b4b4, 0x00d9449c, 0x0011e083}}, Y: Field{[10]uint32{0x0152c2e4, 0x03ca3326, 0x026655e5, 0x0232a6ba, 0x011200d3, 0x00bc9d11, 0x02d069d2, 0x02a04001, 0x02032988, 0x001237eb}}}, + {X: Field{[10]uint32{0x01a934e2, 0x03a64855, 0x01131cd6, 0x0149075f, 0x00f9e8dc, 0x0130fbca, 0x01221d88, 0x00d81627, 0x03ce8e45, 0x000b5fc0}}, Y: Field{[10]uint32{0x03ee9c72, 0x00ae3a2d, 0x0043a57a, 0x01c9b5b2, 0x0116a7b2, 0x00a1813e, 0x014d55fe, 0x03ce387c, 0x03c05a39, 0x0021052c}}}, + {X: Field{[10]uint32{0x01d8e37b, 0x008017a6, 0x0267f1dc, 0x01b2cec7, 0x03f5a5b0, 0x02109416, 0x0150d4ee, 0x02321b08, 0x00ec919d, 0x0020e21f}}, Y: Field{[10]uint32{0x02b4c009, 0x03ba5064, 0x03e327a2, 0x039fe620, 0x03fcea9d, 0x03962117, 0x0134fe12, 0x03ab89e3, 0x03cdf5c9, 0x003fb839}}}, + {X: Field{[10]uint32{0x01ca1e24, 0x037c6474, 0x010f3f37, 0x002469ed, 0x00a9d0b7, 0x01970ff8, 0x028c03f5, 0x02eac836, 0x01e1138b, 0x0001467e}}, Y: Field{[10]uint32{0x0261ba9e, 0x0300da86, 0x039eb367, 0x02a6b79a, 0x01ef6cd6, 0x0207a5bd, 0x0231ec07, 0x033908fd, 0x02fe2bff, 0x001935ae}}}, + {X: Field{[10]uint32{0x028fba61, 0x004eb652, 0x02e6c3cd, 0x03998fb7, 0x023946ff, 0x00a4d854, 0x02de2087, 0x01d3a9a6, 0x038f84bc, 0x0020247d}}, Y: Field{[10]uint32{0x030bda1a, 0x00ea7302, 0x02212fe1, 0x03b0e79e, 0x006765fa, 0x01c02aab, 0x03a5d90d, 0x01a23072, 0x018baf84, 0x0006aaa9}}}, + {X: Field{[10]uint32{0x02db3afc, 0x023a5f9e, 0x01bb49ed, 0x00815b35, 0x018388cf, 0x028dbc43, 0x02a53434, 0x015d21f0, 0x000dd3fe, 0x00142af0}}, Y: Field{[10]uint32{0x01ed25ea, 0x00390763, 0x015d68a8, 0x03640eb7, 0x01670fe0, 0x026e76c0, 0x0064f01d, 0x00103ec7, 0x019514b6, 0x002ae2eb}}}, + {X: Field{[10]uint32{0x02a2f110, 0x001dcacd, 0x0131faa2, 0x00b9b44a, 0x0120e572, 0x010dab9d, 0x024f2533, 0x007d12a7, 0x00bb4da0, 0x002a690a}}, Y: Field{[10]uint32{0x034c0c5f, 0x0321141d, 0x037a0557, 0x02da16d0, 0x00f8c226, 0x03e94f88, 0x00f05822, 0x0289b110, 0x021a1830, 0x002e8144}}}, + {X: Field{[10]uint32{0x007a83ce, 0x026c742b, 0x03ecf64e, 0x0396ddd4, 0x01d6948b, 0x0047a668, 0x03fa11b2, 0x0359ddc9, 0x03d46314, 0x0035ebf6}}, Y: Field{[10]uint32{0x00e21d04, 0x02e8734d, 0x008f480a, 0x03e945ca, 0x03ee9b2a, 0x0272d0aa, 0x010ed9d7, 0x012aee8e, 0x017d748a, 0x002d7e2e}}}, + {X: Field{[10]uint32{0x036de265, 0x00aaff66, 0x03a99d62, 0x006b5462, 0x0113f19b, 0x019cab15, 0x0141694b, 0x01119a8f, 0x034cd2b5, 0x000adae0}}, Y: Field{[10]uint32{0x02b9b0d6, 0x033b141e, 0x01df187c, 0x026e24b6, 0x0174ec84, 0x032facb9, 0x01d52dd3, 0x02cf4ab4, 0x0193ddc0, 0x00306489}}}, + {X: Field{[10]uint32{0x016ac8ea, 0x018326ea, 0x025a2513, 0x012c68fb, 0x03f29c34, 0x0270471a, 0x016ef7ea, 0x00fe8c56, 0x034ad7f9, 0x003ce4f3}}, Y: Field{[10]uint32{0x028133e1, 0x03b6ea9e, 0x027ec41b, 0x02ccd78e, 0x01fbfa56, 0x00341849, 0x02480163, 0x033bae43, 0x00a9de67, 0x0013a047}}}, + {X: Field{[10]uint32{0x008f418a, 0x0235d7a7, 0x03c0e084, 0x02f414be, 0x00bbc546, 0x028922a5, 0x03050120, 0x02c95204, 0x02504e14, 0x002f0ee4}}, Y: Field{[10]uint32{0x02a58223, 0x03bcab69, 0x022d9af0, 0x00e31d86, 0x018f5eca, 0x00475e31, 0x013a911f, 0x021f05d9, 0x03c6f8b4, 0x002694ab}}}, + {X: Field{[10]uint32{0x036055c0, 0x019fbbd7, 0x01cec014, 0x00eefdbe, 0x03e71edc, 0x02af6c7d, 0x021e1704, 0x03ee29cc, 0x0273c601, 0x000bd683}}, Y: Field{[10]uint32{0x0153e393, 0x00fd1099, 0x002ebc5a, 0x033c4f65, 0x02b79a5e, 0x03e01c84, 0x01d97f80, 0x00b2c4ee, 0x010d142d, 0x00362ec7}}}, + {X: Field{[10]uint32{0x03a54ae8, 0x00fb4d1c, 0x0215bfa1, 0x01efd72f, 0x018d8d8d, 0x0245b047, 0x01099b96, 0x01a6b213, 0x01e3b4fc, 0x002e0f94}}, Y: Field{[10]uint32{0x023dda5b, 0x00d970b2, 0x02a78f3f, 0x0211b876, 0x01daeb7a, 0x01f3f094, 0x0018084a, 0x00e48c88, 0x038869c5, 0x0008cb83}}}, + {X: Field{[10]uint32{0x03516377, 0x026902f9, 0x00c0ea24, 0x00c16423, 0x00e90e9b, 0x03ba2416, 0x032b3722, 0x01e8c854, 0x019350b0, 0x000425c6}}, Y: Field{[10]uint32{0x020a1055, 0x025adb96, 0x03f672c7, 0x03e7395b, 0x010dc735, 0x00c21e67, 0x023a3a5e, 0x0168126f, 0x027c7bd5, 0x001a682d}}}, + {X: Field{[10]uint32{0x005c4477, 0x009e88fa, 0x01647dcb, 0x0053051a, 0x02622508, 0x000a6774, 0x0171711a, 0x014063cf, 0x035cc95d, 0x0036fbbd}}, Y: Field{[10]uint32{0x00d66413, 0x01daa422, 0x0175335e, 0x038c72fe, 0x00676311, 0x03148dfe, 0x02a68556, 0x013e38ae, 0x02cd1633, 0x003751c4}}}, + {X: Field{[10]uint32{0x03af114f, 0x0201b55a, 0x00d29d96, 0x02239328, 0x03027238, 0x00ded043, 0x0005f185, 0x03a4e3cd, 0x01992bde, 0x000a32c4}}, Y: Field{[10]uint32{0x001e5aa3, 0x03afd2fa, 0x03fea695, 0x01b30a95, 0x01c3e2ef, 0x00e973a2, 0x029fc1e8, 0x0376078e, 0x03febbe5, 0x00039b18}}}, + {X: Field{[10]uint32{0x029f60ba, 0x02e8b893, 0x02da3790, 0x016b919d, 0x00caef38, 0x0273b175, 0x039f1768, 0x03a67997, 0x030b64ef, 0x003c28b7}}, Y: Field{[10]uint32{0x007a4519, 0x02db4520, 0x01a85713, 0x0081ef3c, 0x02006a25, 0x02a9df69, 0x0098c12a, 0x03d99051, 0x0208b900, 0x0029f29f}}}, + {X: Field{[10]uint32{0x002b0f00, 0x037ff952, 0x01410799, 0x001a6aec, 0x0254fe9b, 0x03d54c41, 0x007ad4f0, 0x010e5837, 0x02eb38e5, 0x00346ed1}}, Y: Field{[10]uint32{0x02ce4214, 0x007e48ba, 0x00b14a03, 0x00b2be4c, 0x00d03bbd, 0x01a09adb, 0x00a54639, 0x00c2d834, 0x019fe088, 0x00052c18}}}, + {X: Field{[10]uint32{0x0369517a, 0x00333807, 0x00a8415c, 0x00083152, 0x0185d740, 0x03074268, 0x01adb31a, 0x0049a97d, 0x02567705, 0x0009ef4b}}, Y: Field{[10]uint32{0x01468d32, 0x01e064a9, 0x0008f655, 0x02b61cd3, 0x03202690, 0x0238c0b5, 0x01ce428a, 0x00734a7e, 0x01d7cba2, 0x0004880f}}}, + {X: Field{[10]uint32{0x03d21d9c, 0x010c806f, 0x003bd61d, 0x0376e36f, 0x0355441a, 0x02cad9db, 0x03835efa, 0x038805a4, 0x03901c72, 0x001acb31}}, Y: Field{[10]uint32{0x02dd7456, 0x016ce8d2, 0x015601bd, 0x0014639d, 0x006690bb, 0x018bfce3, 0x03f90d4b, 0x00124f6b, 0x0006deea, 0x001665cd}}}, + {X: Field{[10]uint32{0x00840f27, 0x0027ed65, 0x012675df, 0x024f981f, 0x01c63c3b, 0x02ff35af, 0x02a8bcc6, 0x014f158c, 0x003f32f9, 0x001d7a17}}, Y: Field{[10]uint32{0x00b6bb30, 0x03c07b5b, 0x01c47723, 0x02832fdb, 0x00bc59ac, 0x0109b99a, 0x0324f89d, 0x031cf65a, 0x03768714, 0x0008bd68}}}, + {X: Field{[10]uint32{0x006d56a7, 0x00802e7e, 0x0268315e, 0x0149a314, 0x02f26e17, 0x038a3c79, 0x000eed57, 0x0054bd07, 0x0071969e, 0x0034de8c}}, Y: Field{[10]uint32{0x02ff6181, 0x0080d59d, 0x036d3abe, 0x030ed1d0, 0x0370e296, 0x025885c8, 0x004b1fbd, 0x00747437, 0x03269875, 0x0014f549}}}, + {X: Field{[10]uint32{0x03414976, 0x014407a9, 0x001d237d, 0x0262538d, 0x02676931, 0x03860eec, 0x01466408, 0x01a5ccd9, 0x03047f5e, 0x001c56ec}}, Y: Field{[10]uint32{0x01a968d4, 0x01827ba8, 0x01acadb7, 0x03ec0f60, 0x02a89dd1, 0x03a570f5, 0x01ea6722, 0x0357a1e9, 0x035f9e82, 0x000a1103}}}, + {X: Field{[10]uint32{0x02c642e8, 0x022b7df6, 0x0013968d, 0x0292c21f, 0x028e4924, 0x01a04bb0, 0x034a52cc, 0x0056569e, 0x002a4f5b, 0x003dcb45}}, Y: Field{[10]uint32{0x021087dd, 0x023e5e9d, 0x007a6537, 0x0333eebd, 0x00585486, 0x03165305, 0x02ab9bbb, 0x0010b3c5, 0x004bb5d8, 0x001406d9}}}, + {X: Field{[10]uint32{0x01284c26, 0x00ee58b0, 0x03f28024, 0x01b363ef, 0x00384084, 0x0291a7cd, 0x003cf020, 0x0228e97f, 0x038fb4ca, 0x001ecfbf}}, Y: Field{[10]uint32{0x01748579, 0x0240ad6c, 0x00522811, 0x01bbf544, 0x023bbf63, 0x03858408, 0x00bc5555, 0x01849294, 0x00fd1539, 0x002f8962}}}, + {X: Field{[10]uint32{0x02113dd8, 0x017f0de2, 0x018a59cc, 0x00d7fcad, 0x03ec2a70, 0x025d3933, 0x03652257, 0x03b29334, 0x00d771fb, 0x0009106a}}, Y: Field{[10]uint32{0x02447981, 0x00a624e0, 0x00fccae1, 0x00b64c5b, 0x00fe035d, 0x02b08cd8, 0x03f4c6a7, 0x019c4d2e, 0x03760531, 0x000152c1}}}, + {X: Field{[10]uint32{0x00cf7591, 0x03a68a85, 0x0024de78, 0x01f2d92e, 0x02512d09, 0x03d2ace1, 0x03916b12, 0x019f2916, 0x024ed054, 0x003083f2}}, Y: Field{[10]uint32{0x00eecc02, 0x008d56b9, 0x0346d02b, 0x022c8e33, 0x03931fc4, 0x036b4439, 0x007e69c9, 0x0101cb2a, 0x00c796ee, 0x0022146b}}}, + {X: Field{[10]uint32{0x009ec8e7, 0x024bac81, 0x01d67634, 0x01b5a437, 0x00a34c6c, 0x035d604c, 0x00e415aa, 0x01498edd, 0x028d0137, 0x000bdac3}}, Y: Field{[10]uint32{0x02f25dbe, 0x01354e36, 0x02868e38, 0x01d7d88d, 0x03adc722, 0x02d327d9, 0x02cb614e, 0x03da9e5d, 0x01f8438c, 0x003431e4}}}, + {X: Field{[10]uint32{0x02b665dd, 0x02e47aac, 0x00762c5a, 0x00f0f763, 0x01fc0037, 0x00dd36c8, 0x00b3ed11, 0x0015b5be, 0x01be426f, 0x002febf0}}, Y: Field{[10]uint32{0x010e2a2e, 0x00d84545, 0x02781684, 0x01429d64, 0x006dc400, 0x02841b69, 0x027b0710, 0x0000e9fe, 0x0297a4cf, 0x0027107c}}}, + {X: Field{[10]uint32{0x01cb4e8c, 0x024c1db3, 0x01be91df, 0x03dc5ca3, 0x03895980, 0x01d675d3, 0x0376f860, 0x0009cdb5, 0x01ca9056, 0x0033dc47}}, Y: Field{[10]uint32{0x034f1cd5, 0x0102a9dc, 0x020124e1, 0x02991fb3, 0x022f91f6, 0x02226c8f, 0x0156defe, 0x0085bf8d, 0x01bfcf25, 0x0014a8de}}}, + {X: Field{[10]uint32{0x03d1384b, 0x0145b26a, 0x0394e1c3, 0x01d46191, 0x03f516fd, 0x00da43cb, 0x0001ec36, 0x03c6630c, 0x01de27aa, 0x002e6fa5}}, Y: Field{[10]uint32{0x02cb6df9, 0x030489c7, 0x013cd27f, 0x0160aea1, 0x001ff85d, 0x02232e3e, 0x029b6144, 0x03710c0f, 0x0397dca1, 0x001a21d7}}}, + {X: Field{[10]uint32{0x00e9638e, 0x014ddcca, 0x03331fff, 0x02cf095f, 0x037bec31, 0x01466b80, 0x0042b377, 0x01aa314d, 0x03e6c4d0, 0x003d7c95}}, Y: Field{[10]uint32{0x03e986dd, 0x03c85950, 0x0169e35f, 0x03b2ed00, 0x02c80bea, 0x03483432, 0x012e3ed0, 0x00c84eed, 0x020a48d0, 0x002da879}}}, + {X: Field{[10]uint32{0x00099ce7, 0x02455799, 0x02bf9df0, 0x00ff2db3, 0x02a5281b, 0x002bdf64, 0x00036033, 0x022a8456, 0x034c17e3, 0x003f0d71}}, Y: Field{[10]uint32{0x0379dae9, 0x00e489f6, 0x0245ac62, 0x02ecbb23, 0x018421fb, 0x0205344c, 0x00c1c589, 0x01a4ed69, 0x004d41e8, 0x001b8be6}}}, + {X: Field{[10]uint32{0x014384dd, 0x00bf33b5, 0x00aa7473, 0x0287338d, 0x02c1bc18, 0x027feb29, 0x005e5a98, 0x01cd8dd0, 0x020149d9, 0x002b04d7}}, Y: Field{[10]uint32{0x02f021d0, 0x00685882, 0x01cb1c47, 0x014d844f, 0x01d8e545, 0x027e35c2, 0x00cbf630, 0x0129adaf, 0x02cdff95, 0x000f8e2e}}}, + {X: Field{[10]uint32{0x035f345d, 0x01d3e4a7, 0x01055f36, 0x015f3d30, 0x01bfd8f6, 0x01e46806, 0x02400c4e, 0x03175e00, 0x03fbefb3, 0x00182804}}, Y: Field{[10]uint32{0x00a1bd97, 0x00817cce, 0x035b2711, 0x019151a2, 0x039907e3, 0x028c8004, 0x00a5138c, 0x03f8f8a8, 0x00483582, 0x001f9d8f}}}, + {X: Field{[10]uint32{0x01a7acb7, 0x03413a86, 0x013a906e, 0x01642fbe, 0x02ceb3a6, 0x029e2664, 0x023d0273, 0x01ea290e, 0x01065d90, 0x00282668}}, Y: Field{[10]uint32{0x03c5a50d, 0x038f5ed6, 0x007db06f, 0x02836c50, 0x02d5cca4, 0x03c326d1, 0x034bb579, 0x008bff00, 0x03fbfe3c, 0x0004dfe7}}}, + {X: Field{[10]uint32{0x00a792ab, 0x03d3f0e5, 0x0107b09e, 0x005c127c, 0x00c6ed70, 0x00472769, 0x03ea5a8c, 0x018f5861, 0x0286d027, 0x0026e876}}, Y: Field{[10]uint32{0x0263f741, 0x00866759, 0x01650c47, 0x029970b6, 0x008716ae, 0x0005d461, 0x03879089, 0x0167156f, 0x02d8ab54, 0x003c6788}}}, + {X: Field{[10]uint32{0x0277ada0, 0x01453269, 0x0134f63a, 0x00e24d42, 0x01b5e022, 0x03ca3643, 0x03e93633, 0x0050c05e, 0x001ad30d, 0x000d909c}}, Y: Field{[10]uint32{0x01aba970, 0x00378efc, 0x02c22344, 0x02613d4a, 0x026432fa, 0x02a2ef61, 0x0279f487, 0x02ef1b13, 0x02b9c76b, 0x000bf7e6}}}, + {X: Field{[10]uint32{0x02941a5b, 0x028e94b5, 0x02c31c2e, 0x003551c4, 0x0106188c, 0x00b261c6, 0x0153012e, 0x01c26363, 0x0058100b, 0x000a7de7}}, Y: Field{[10]uint32{0x022d524b, 0x01a242e6, 0x01bf3721, 0x02dc0b56, 0x02919d5b, 0x021a8a01, 0x00ec42f5, 0x0306ec34, 0x0199eaa6, 0x002fa7b7}}}, + {X: Field{[10]uint32{0x01ba1bbc, 0x034b11e2, 0x03061e5e, 0x0342b17f, 0x0004b470, 0x00ffacd4, 0x02d5030c, 0x00a13e05, 0x02dfbc35, 0x0038046a}}, Y: Field{[10]uint32{0x00c979e3, 0x0030068f, 0x0270055a, 0x02a4fd2c, 0x03021ec1, 0x00a4ef9d, 0x026ee97f, 0x016468db, 0x03934f2b, 0x00382a63}}}, + {X: Field{[10]uint32{0x03d78585, 0x025bb813, 0x02dfb3ed, 0x0145dfff, 0x020ee06a, 0x022e4887, 0x02b54b68, 0x014d58df, 0x016b00fe, 0x00297220}}, Y: Field{[10]uint32{0x01ff8e5f, 0x02f96a32, 0x0076fe03, 0x0076bb59, 0x037d6595, 0x029abb54, 0x00977929, 0x02c46912, 0x037b9d63, 0x000fe198}}}, + {X: Field{[10]uint32{0x03194707, 0x03c5b271, 0x02509abe, 0x038244a8, 0x022e6d49, 0x01c23f39, 0x0207798e, 0x00d42e54, 0x00237e44, 0x000ee54b}}, Y: Field{[10]uint32{0x01d68936, 0x026d676f, 0x02edaff4, 0x00c5af37, 0x02e6ebb6, 0x01e44b99, 0x0141a385, 0x01b22b27, 0x032a419e, 0x003de125}}}, + {X: Field{[10]uint32{0x0157af04, 0x000bc937, 0x02632725, 0x004667e1, 0x02b75dd6, 0x021e92aa, 0x007982a1, 0x0054be03, 0x02bcd9d8, 0x002365e5}}, Y: Field{[10]uint32{0x03e611bd, 0x026080ad, 0x0092c89c, 0x034a63a6, 0x010317c2, 0x035a2654, 0x015695f2, 0x0078e8a3, 0x007994a3, 0x003ee6c5}}}, + {X: Field{[10]uint32{0x0202de40, 0x005dc11a, 0x03f51845, 0x01edbbd9, 0x014fde4d, 0x01e2259a, 0x036f689d, 0x01911454, 0x005b2f4e, 0x0025acaf}}, Y: Field{[10]uint32{0x008e89cc, 0x01712842, 0x0178b214, 0x026cd4b0, 0x01914eee, 0x03eff394, 0x039bbf5a, 0x020b6d40, 0x0126f919, 0x00382ddb}}}, + {X: Field{[10]uint32{0x032e2d79, 0x03bd7490, 0x0103625b, 0x02e68743, 0x034e3ab2, 0x01963be5, 0x028f54d8, 0x0254038a, 0x03109f12, 0x0026fdf3}}, Y: Field{[10]uint32{0x016e8582, 0x0343c652, 0x0020be32, 0x029c66f3, 0x01dd6373, 0x0223af49, 0x038bb521, 0x0071a146, 0x03adf77e, 0x000844f5}}}, + {X: Field{[10]uint32{0x03d4f1b7, 0x0013cabc, 0x00dab11a, 0x00f58756, 0x00c91f85, 0x0366a861, 0x008c7414, 0x016d7abf, 0x03a72037, 0x000434ff}}, Y: Field{[10]uint32{0x03298c90, 0x0043a8c3, 0x0321beeb, 0x002b505b, 0x02c98d75, 0x03e30fc0, 0x015c7046, 0x03d0f2c8, 0x032a8a96, 0x00307e12}}}, + {X: Field{[10]uint32{0x003a5eb6, 0x019e7a03, 0x00e92c0e, 0x01fa210c, 0x030e9257, 0x006da1cc, 0x01636920, 0x007342e3, 0x022b6adf, 0x0015b593}}, Y: Field{[10]uint32{0x02f71cc0, 0x0069badf, 0x0382451b, 0x01f89792, 0x025d4b68, 0x01f579a5, 0x00427c25, 0x02108d22, 0x030efbe9, 0x0000004d}}}, + {X: Field{[10]uint32{0x031528bf, 0x02b70d1c, 0x021c1420, 0x014a95a0, 0x026dbfa3, 0x003091e4, 0x01eddbd2, 0x033c81d7, 0x003e1c83, 0x003fb128}}, Y: Field{[10]uint32{0x01a95509, 0x01f9aa2f, 0x00b2aa78, 0x023bf5ef, 0x031bab78, 0x00e1fa6f, 0x03a0d98f, 0x0390b4ee, 0x02af8670, 0x002854ac}}}, + {X: Field{[10]uint32{0x03ee92eb, 0x030983cb, 0x03001779, 0x036ca6a1, 0x02a45d11, 0x02256796, 0x02e6d53e, 0x02a6b18e, 0x01177cce, 0x0016029d}}, Y: Field{[10]uint32{0x029e8edd, 0x03d3e719, 0x02a06862, 0x02436304, 0x0086733a, 0x0054dd69, 0x008c4111, 0x03193081, 0x029c3263, 0x001e4ef9}}}, + {X: Field{[10]uint32{0x02f636f6, 0x036e5d9a, 0x002f535e, 0x034b437b, 0x02991b46, 0x004de866, 0x017431b1, 0x0073af3e, 0x03e57893, 0x0024a1af}}, Y: Field{[10]uint32{0x0329f516, 0x006d6974, 0x015f28cb, 0x020147b7, 0x00c55fce, 0x0014ede0, 0x00b38fb2, 0x036d0a0f, 0x0130e962, 0x001f9dd3}}}, + {X: Field{[10]uint32{0x00f4890d, 0x008b070a, 0x02041e54, 0x01476982, 0x02803e38, 0x03fbb196, 0x002cf2ee, 0x0099494e, 0x01a99b70, 0x00181b55}}, Y: Field{[10]uint32{0x00eda1a7, 0x02295314, 0x02e5407f, 0x00147d3b, 0x0379ae2c, 0x006e2a85, 0x004a1e03, 0x01904528, 0x026e3c2a, 0x00372256}}}, + {X: Field{[10]uint32{0x01f917f5, 0x001fda5d, 0x00df66e8, 0x03180139, 0x0011387d, 0x033f23b6, 0x03ef2f1b, 0x03073773, 0x0140833e, 0x00285a83}}, Y: Field{[10]uint32{0x022d6527, 0x0246f620, 0x01388ba9, 0x03658c04, 0x037fd281, 0x02203421, 0x01f32a82, 0x01294c54, 0x013713de, 0x0015235f}}}, + {X: Field{[10]uint32{0x039f0329, 0x027430d3, 0x0262d9b7, 0x0057b7d6, 0x004a687a, 0x03881c9b, 0x03e3e7aa, 0x01388e68, 0x01d2be57, 0x00001652}}, Y: Field{[10]uint32{0x005288a9, 0x02a44851, 0x0255f337, 0x01de5c8f, 0x02f7f4e7, 0x01203de3, 0x01d94275, 0x02c970c4, 0x025a167a, 0x001c772c}}}, + {X: Field{[10]uint32{0x0168b240, 0x01f1395e, 0x01536cef, 0x00ce0840, 0x03cd1e23, 0x02707fd3, 0x017b295e, 0x00362927, 0x024ae67b, 0x002107d3}}, Y: Field{[10]uint32{0x031f4161, 0x019c7415, 0x03d5cb56, 0x00de335c, 0x01ccae80, 0x0236f99e, 0x03979f4a, 0x0293b43a, 0x009c265f, 0x0007d587}}}, + {X: Field{[10]uint32{0x02cb7442, 0x00fb0791, 0x0240ddd4, 0x02b80289, 0x03faf680, 0x0109e23f, 0x03d4b831, 0x03a7ca22, 0x01f8c748, 0x0008988f}}, Y: Field{[10]uint32{0x03a55da3, 0x003804e1, 0x03aaad5e, 0x01ed2530, 0x0317d582, 0x033a7de1, 0x024381d0, 0x02d64be5, 0x000adfcd, 0x000e03bc}}}, + {X: Field{[10]uint32{0x005185e4, 0x0319523d, 0x02e2dc88, 0x037aced9, 0x02670083, 0x0298285f, 0x007a21e5, 0x00c07ba8, 0x03c36438, 0x00205819}}, Y: Field{[10]uint32{0x01c4cbf7, 0x020abb93, 0x02647f59, 0x03b11409, 0x022eeedc, 0x00dbf0e7, 0x00f4e8e2, 0x03a7c7c1, 0x011b9a95, 0x0016be8e}}}, + {X: Field{[10]uint32{0x02085c1f, 0x01a49373, 0x02485354, 0x0270b065, 0x017d28af, 0x02a38109, 0x00f6431b, 0x0314c493, 0x01614745, 0x003e3c8d}}, Y: Field{[10]uint32{0x0334750f, 0x0199d4d9, 0x01e7507f, 0x01d6b34a, 0x02bd1012, 0x03f9dad7, 0x008c1b93, 0x006d5695, 0x0067e3b4, 0x00028594}}}, + {X: Field{[10]uint32{0x03f2f57a, 0x00ee4cd5, 0x03e23775, 0x00f77812, 0x0228bb93, 0x01c214ec, 0x01537d4c, 0x02285709, 0x0184e25b, 0x00084c95}}, Y: Field{[10]uint32{0x02e873e2, 0x02dc9fa1, 0x01f53d20, 0x03c566e8, 0x03f627b5, 0x01fc869b, 0x00b00d51, 0x03d5e83c, 0x00f2078e, 0x000dc232}}}, + {X: Field{[10]uint32{0x03dfbda3, 0x0335a98f, 0x01c77845, 0x02b2f245, 0x0188b0ba, 0x03feb050, 0x00c24b37, 0x0066cb00, 0x03fcf485, 0x002cbd3d}}, Y: Field{[10]uint32{0x0157702c, 0x0138a31f, 0x03e171c9, 0x00eb356c, 0x03de4972, 0x03d33cf1, 0x03196bb5, 0x03b90cf9, 0x019e6f52, 0x002c81ad}}}, + {X: Field{[10]uint32{0x027f7265, 0x004bfb3b, 0x02064622, 0x014f6b2b, 0x03fd9c5c, 0x01593e70, 0x0070fd39, 0x00001adf, 0x014f5f42, 0x002d3997}}, Y: Field{[10]uint32{0x016bee0e, 0x01cd41a0, 0x025bffc0, 0x0235a119, 0x0003c75b, 0x020fb0b1, 0x021723ea, 0x00efd3cc, 0x02f2e399, 0x000c1edb}}}, + {X: Field{[10]uint32{0x023a7240, 0x00d4ac77, 0x00bab8f2, 0x007410fd, 0x03aa58b6, 0x01e63ba4, 0x033968e9, 0x0026b497, 0x01939ac6, 0x0013c411}}, Y: Field{[10]uint32{0x038179ae, 0x00887b9f, 0x024bd186, 0x0224fd2a, 0x03ed9d0a, 0x01569424, 0x01698f5c, 0x0257e960, 0x03bb9883, 0x003b6361}}}, + {X: Field{[10]uint32{0x014672fa, 0x01f00592, 0x00738d09, 0x02148e22, 0x0390018e, 0x02b5d4a7, 0x026b2157, 0x0304967e, 0x00ffe515, 0x0026d79d}}, Y: Field{[10]uint32{0x01fece15, 0x00f8ebc8, 0x00bc43db, 0x03610786, 0x01fe2df3, 0x00fecee7, 0x01bf70c4, 0x00c3c5ef, 0x026d4c4e, 0x00075561}}}, + {X: Field{[10]uint32{0x0217e302, 0x0205f21f, 0x02cf510d, 0x030b1da8, 0x0330f8a2, 0x024e1ec6, 0x02968f94, 0x03dc6040, 0x0042ac8c, 0x0001defd}}, Y: Field{[10]uint32{0x032af0e9, 0x039d5bf4, 0x021f26a6, 0x0217dbbb, 0x01e4daaa, 0x01b16fbb, 0x03b1103e, 0x0011ac74, 0x02611d90, 0x002ec3e7}}}, + {X: Field{[10]uint32{0x00c266a9, 0x034e22de, 0x00fe64bc, 0x01a4c20d, 0x00d2f5d4, 0x005aa662, 0x0028f34b, 0x008125ac, 0x025cd49f, 0x0009f784}}, Y: Field{[10]uint32{0x00b54bfe, 0x00f78957, 0x039b81a4, 0x00b4c8e5, 0x0384cdfc, 0x000e6b4a, 0x019dac24, 0x0364a8ab, 0x02a8483d, 0x003d0f61}}}, + {X: Field{[10]uint32{0x03e9c116, 0x00262712, 0x01b13225, 0x03c1fe11, 0x017f026c, 0x03bed6a3, 0x03b60ae4, 0x01d78652, 0x0178ae1d, 0x00086fdc}}, Y: Field{[10]uint32{0x01b8d967, 0x03da26bb, 0x0081d434, 0x02455a59, 0x0076b522, 0x034ed63e, 0x03444664, 0x037c5745, 0x02adbc21, 0x001b2aa0}}}, + {X: Field{[10]uint32{0x0232e234, 0x00916c15, 0x0156a66d, 0x03e6702e, 0x02dc9100, 0x020a2768, 0x0365b7f0, 0x0005a906, 0x025493ee, 0x00000924}}, Y: Field{[10]uint32{0x03c45b3d, 0x01738c41, 0x016f82ed, 0x0119ebb2, 0x00d883ff, 0x013dbe41, 0x004c5367, 0x007e6054, 0x01941cb5, 0x002f28c0}}}, + {X: Field{[10]uint32{0x01867f76, 0x039d4e1f, 0x016fe230, 0x00966e4c, 0x00ea8e94, 0x02e4dc42, 0x02d89b96, 0x00ad3351, 0x00c1e347, 0x0034fd91}}, Y: Field{[10]uint32{0x018cade5, 0x02cb6943, 0x03b7c597, 0x02b8c5af, 0x0202e536, 0x01489e50, 0x0337ed9d, 0x025cca8e, 0x0203fd62, 0x00246089}}}, + {X: Field{[10]uint32{0x0325b261, 0x00dfdeb8, 0x02e89d03, 0x01d51894, 0x01915c26, 0x011fd95b, 0x00e52c81, 0x034532a2, 0x034b0e2b, 0x00321187}}, Y: Field{[10]uint32{0x00dcae06, 0x033bb6a7, 0x02b07e38, 0x016aa2a4, 0x01fa3b61, 0x011bbf7d, 0x0232868e, 0x01e66cfd, 0x018197ac, 0x000625c4}}}, + {X: Field{[10]uint32{0x0395a380, 0x00cd0ab0, 0x0060d913, 0x01aaaa96, 0x01a8c240, 0x01ef5b28, 0x0357e1da, 0x02a4e306, 0x0190be20, 0x002db97d}}, Y: Field{[10]uint32{0x018a04b6, 0x011b579f, 0x02026ff1, 0x0325a9b7, 0x01cf01ee, 0x02d698c1, 0x0186569a, 0x03ab79cb, 0x00f1a2f2, 0x00299ca3}}}, + {X: Field{[10]uint32{0x01eb5d6c, 0x013b2556, 0x008c0312, 0x0237c524, 0x018b7013, 0x017bf043, 0x014eee4b, 0x0007415b, 0x039d4657, 0x000f4945}}, Y: Field{[10]uint32{0x0395980f, 0x00ca9c62, 0x03c8c3e0, 0x028ab155, 0x023b56f7, 0x00f1625e, 0x03e88e2b, 0x035fb18c, 0x03fe1d61, 0x000562de}}}, + {X: Field{[10]uint32{0x02f94d99, 0x026965d1, 0x02927984, 0x004646bd, 0x00d85155, 0x03689fc4, 0x0093425b, 0x00526656, 0x0154c717, 0x0002aed7}}, Y: Field{[10]uint32{0x00b9a161, 0x015108b1, 0x03ad04e4, 0x002b64f5, 0x037012ff, 0x03d08270, 0x0106e89f, 0x0237a8db, 0x03cc3be2, 0x001337fa}}}, + {X: Field{[10]uint32{0x0325c73e, 0x014a41ec, 0x0224c523, 0x0219cfb1, 0x02f12433, 0x038c72ec, 0x00dedaa4, 0x03e70a40, 0x0125115e, 0x00262740}}, Y: Field{[10]uint32{0x00c6c8df, 0x01a081a5, 0x000c8d16, 0x018ca547, 0x00d553df, 0x0109e5d4, 0x01f28ee1, 0x0381c3f0, 0x02e9945d, 0x0034da67}}}, + {X: Field{[10]uint32{0x02013884, 0x03908c97, 0x02af82d0, 0x004f20a8, 0x015e05db, 0x003b7dc3, 0x028bbe4e, 0x0347fc18, 0x01d429c3, 0x00313171}}, Y: Field{[10]uint32{0x03a97eea, 0x02e9f9fb, 0x023ee0f2, 0x003744cc, 0x03ccee86, 0x002b7a5f, 0x029da677, 0x0222a7f0, 0x00b88251, 0x0030b1db}}}, + {X: Field{[10]uint32{0x02c0807b, 0x00552789, 0x01edc360, 0x0047b02e, 0x03be9471, 0x000283a0, 0x035080a9, 0x02d97236, 0x0050c623, 0x002198b6}}, Y: Field{[10]uint32{0x01da840b, 0x03c3db8d, 0x01526b3d, 0x01333e32, 0x03f91e72, 0x0246020e, 0x02a72b32, 0x039e93d9, 0x0277b0c9, 0x00029c75}}}, + {X: Field{[10]uint32{0x01083898, 0x03b6c5c7, 0x02626cbd, 0x031f03aa, 0x00543b73, 0x00eaef51, 0x0309b389, 0x0166fccc, 0x03497e73, 0x00349bfb}}, Y: Field{[10]uint32{0x01851395, 0x00e07e1e, 0x03ad956d, 0x00835236, 0x0004d60c, 0x0141c3e4, 0x0101ea9a, 0x002ce5ad, 0x0209bb09, 0x002b62ec}}}, + {X: Field{[10]uint32{0x029d8d0f, 0x01e17488, 0x009838f8, 0x03d7c5cf, 0x025b4560, 0x02d00844, 0x0342ff85, 0x02da09f5, 0x00e8c584, 0x0015a6fa}}, Y: Field{[10]uint32{0x001b8559, 0x036bf1f5, 0x0235422e, 0x00cd789b, 0x0247c74a, 0x02692754, 0x015581bf, 0x01f626a3, 0x01a4a826, 0x002c24e0}}}, + {X: Field{[10]uint32{0x030116d4, 0x0279e534, 0x02255d4a, 0x02ef256a, 0x03842f82, 0x01658363, 0x0167bc6c, 0x021eceb6, 0x00c34d17, 0x00378d2b}}, Y: Field{[10]uint32{0x021816d3, 0x02cf5de8, 0x00505b6c, 0x002fbc26, 0x00e322c4, 0x0220f4fc, 0x00f4d3e0, 0x02d4a95f, 0x001cb2b6, 0x000bf76d}}}, + {X: Field{[10]uint32{0x01c50b1a, 0x01bea671, 0x003d5544, 0x0101c376, 0x03ece852, 0x01d0a96c, 0x0149b861, 0x02dd89b5, 0x034876db, 0x0011d0c2}}, Y: Field{[10]uint32{0x03200df1, 0x00d5e92b, 0x033e85af, 0x01223771, 0x02b53dd0, 0x0323b1dc, 0x006a0ead, 0x0115cd63, 0x02ba0700, 0x0035d564}}}, + {X: Field{[10]uint32{0x02e9fe13, 0x002c25f5, 0x00fd7914, 0x03fbdb1a, 0x018c2d8f, 0x01aeeadb, 0x017339b7, 0x01c99ae8, 0x00b5e668, 0x003c7478}}, Y: Field{[10]uint32{0x0324e580, 0x0150f56f, 0x0350bb96, 0x013699f6, 0x03a1d849, 0x008c03e5, 0x01c54837, 0x00ce14d2, 0x0226fc23, 0x00002958}}}, + {X: Field{[10]uint32{0x00cdbcd0, 0x0056e17e, 0x004c3c05, 0x03fce0fd, 0x006e8132, 0x025a30dd, 0x03d0426e, 0x003784f6, 0x03357614, 0x0008a9bd}}, Y: Field{[10]uint32{0x03d18d1b, 0x038d157e, 0x01e48e69, 0x0276a101, 0x03430a39, 0x003e5690, 0x00dc0044, 0x0038f8d6, 0x01a89027, 0x00277362}}}, + {X: Field{[10]uint32{0x01a9ada2, 0x019538f8, 0x02867b46, 0x00c30a78, 0x02fc307b, 0x01d10ba3, 0x030c6ea5, 0x0232826e, 0x03280afd, 0x000b7714}}, Y: Field{[10]uint32{0x0087dee4, 0x03b6dcf0, 0x03393b5f, 0x024c665d, 0x0107d077, 0x007fe438, 0x02daa6e3, 0x039ba1ef, 0x010edb84, 0x001ee6ae}}}, + {X: Field{[10]uint32{0x01da0fca, 0x0078b065, 0x03a9e1a0, 0x015151b7, 0x011fb1c8, 0x0162e719, 0x00a116c0, 0x03d4bf4c, 0x0039a60a, 0x00182dbe}}, Y: Field{[10]uint32{0x00d26c40, 0x01360f88, 0x02bcdca5, 0x00187615, 0x03b0e743, 0x011a763a, 0x039b07b2, 0x02d052f8, 0x029f28cf, 0x00179dfd}}}, + {X: Field{[10]uint32{0x01dee53c, 0x009a9f43, 0x02776dcd, 0x00a15f25, 0x022a1f1f, 0x0257a90e, 0x0306bfdf, 0x024b9432, 0x019b9b90, 0x0009e430}}, Y: Field{[10]uint32{0x014e7f64, 0x01767cdc, 0x005b6271, 0x01662caf, 0x00de0677, 0x00085c26, 0x0387afaa, 0x01b9e2c8, 0x0120d04e, 0x003f7ba8}}}, + {X: Field{[10]uint32{0x01113803, 0x03e411bd, 0x037c00d7, 0x028d1453, 0x02db181e, 0x03eb65e0, 0x03576b16, 0x02f22c49, 0x020f9ee8, 0x0039510c}}, Y: Field{[10]uint32{0x00510741, 0x00465cb0, 0x01e0f952, 0x002b89ad, 0x023c7368, 0x03739f0c, 0x01b63dd9, 0x01d1139a, 0x02fb0239, 0x002e4dd8}}}, + {X: Field{[10]uint32{0x0355313d, 0x026abeb6, 0x00cee39f, 0x0335a6ed, 0x038e2706, 0x02f535d3, 0x00a236cb, 0x00a35618, 0x01ae73e4, 0x001b1fc9}}, Y: Field{[10]uint32{0x00dc9121, 0x012d6072, 0x030916a4, 0x012f577f, 0x018db30c, 0x0163aa48, 0x020864be, 0x026c63a6, 0x03c9e33f, 0x003632e3}}}, + {X: Field{[10]uint32{0x0393d4e8, 0x03a94ee6, 0x03499121, 0x00e80c3b, 0x03dd9eaa, 0x00e54bc9, 0x01e9c3ef, 0x00351d34, 0x0328ff71, 0x000a2746}}, Y: Field{[10]uint32{0x02880667, 0x02ce52bb, 0x03e38cf2, 0x00c9dfd2, 0x02642859, 0x0116cf2e, 0x00d5cb72, 0x00b75613, 0x000aaebc, 0x003cdabe}}}, + {X: Field{[10]uint32{0x0110b5aa, 0x028769d6, 0x03476b9f, 0x022b53bd, 0x002a6f4a, 0x0244c306, 0x0287b5d2, 0x0359cc97, 0x0197ac01, 0x003c0aad}}, Y: Field{[10]uint32{0x00e38adb, 0x025902b3, 0x02aaffe8, 0x007d97b2, 0x01d3262d, 0x030d18cf, 0x02c53795, 0x022c4fb3, 0x002aecf2, 0x002ba230}}}, + {X: Field{[10]uint32{0x00a0413a, 0x03e10637, 0x01a8d2d8, 0x01c13b0a, 0x03c625bb, 0x01b531b4, 0x0332c82d, 0x00c4195d, 0x034f71a7, 0x0002a6a5}}, Y: Field{[10]uint32{0x01b372cd, 0x022496e4, 0x01c2126e, 0x02b33f47, 0x01af1497, 0x0183b479, 0x02f222d8, 0x03a5bf57, 0x0033eed4, 0x0030837d}}}, + {X: Field{[10]uint32{0x0177496a, 0x0073d023, 0x0071f4a2, 0x03f05941, 0x024cc392, 0x018d2d57, 0x020e9c78, 0x00226466, 0x010d728e, 0x001e1986}}, Y: Field{[10]uint32{0x000cfd22, 0x004a44eb, 0x01b23035, 0x038ea4da, 0x0029d79d, 0x00d68799, 0x028e265c, 0x008bbf2a, 0x00d95404, 0x0006ed7f}}}, + {X: Field{[10]uint32{0x0333b9ac, 0x004c2920, 0x00773ce0, 0x016a4443, 0x0025cc11, 0x018f6550, 0x00e4e2de, 0x02e3afc0, 0x03e344b3, 0x003229ff}}, Y: Field{[10]uint32{0x02e67b6e, 0x0148ff97, 0x02806dbb, 0x003f6a5f, 0x02ca9128, 0x032a1c91, 0x00141aa5, 0x018ed59d, 0x03e5010c, 0x003287fe}}}, + {X: Field{[10]uint32{0x039208ba, 0x0259b993, 0x033472f9, 0x00cf533c, 0x019cc1e6, 0x01369a1c, 0x0019e84e, 0x01ab4e0d, 0x026a13ff, 0x0001b2ee}}, Y: Field{[10]uint32{0x02214a88, 0x0228a987, 0x011fcfac, 0x02258a9f, 0x03058598, 0x02711986, 0x0392c34e, 0x024fd13e, 0x01820c78, 0x000d4489}}}, + {X: Field{[10]uint32{0x019de719, 0x008ff6bf, 0x03e1287b, 0x020526e8, 0x00ffe9aa, 0x031d976b, 0x01450c82, 0x021847ad, 0x01bd691a, 0x00381fe3}}, Y: Field{[10]uint32{0x00fbc509, 0x02c18763, 0x02bc6894, 0x01b96d49, 0x030acb0c, 0x0384631f, 0x01937994, 0x033fba89, 0x01f08e39, 0x0024cb8d}}}, + {X: Field{[10]uint32{0x02d2c5d4, 0x00ce8b21, 0x029b84b6, 0x00e3f331, 0x0151f3e2, 0x034fcca9, 0x02720d71, 0x02505b37, 0x009832fd, 0x001884da}}, Y: Field{[10]uint32{0x02784e9c, 0x03dc576f, 0x00f68206, 0x01b5a72f, 0x03791f3b, 0x03c79665, 0x016d9684, 0x01f90616, 0x024d6224, 0x0004dfa6}}}, + {X: Field{[10]uint32{0x03a7b9eb, 0x013a3036, 0x004f2325, 0x02e87a9a, 0x0240a318, 0x01c43021, 0x03eb2faf, 0x019c1894, 0x018862de, 0x0022c041}}, Y: Field{[10]uint32{0x01bfd264, 0x008dc686, 0x0348e2ce, 0x00655bc3, 0x03dbd7e4, 0x01e8cfe7, 0x00bf43cf, 0x01b18333, 0x0062dcc5, 0x00152922}}}, + {X: Field{[10]uint32{0x00f213d8, 0x01203aa1, 0x031cfeaf, 0x021f70c2, 0x023fb2ed, 0x015af2eb, 0x03bbbace, 0x020d1bfb, 0x008c14af, 0x0004b4e4}}, Y: Field{[10]uint32{0x0267fdfc, 0x0206a626, 0x0024ecb1, 0x01766396, 0x01fef41e, 0x000b1366, 0x02764210, 0x036b2611, 0x01fbdf7d, 0x003f1185}}}, + {X: Field{[10]uint32{0x01784cd2, 0x018b4580, 0x013dc8da, 0x01bb7df0, 0x02b47428, 0x00a48a64, 0x00e368f6, 0x0331a6ef, 0x01e2a7b8, 0x00086741}}, Y: Field{[10]uint32{0x034c7f5c, 0x00785e28, 0x02de2076, 0x00ec8587, 0x03dd2820, 0x023eeafb, 0x029407de, 0x02c79e3b, 0x03739a7e, 0x0022bb93}}}, + {X: Field{[10]uint32{0x005de204, 0x00016db6, 0x03074852, 0x004f0e32, 0x0049bbe2, 0x034997ce, 0x011fa23a, 0x03ea47da, 0x01599a76, 0x0035f433}}, Y: Field{[10]uint32{0x011ce2fa, 0x023cdf24, 0x019d1e93, 0x018302c7, 0x03ed1a2d, 0x01c9683b, 0x021330ea, 0x0036b97a, 0x032c6075, 0x003cd255}}}, + {X: Field{[10]uint32{0x02bb6c6d, 0x03d25e3a, 0x0042d635, 0x02ecb1dc, 0x009f65cf, 0x03ea3f0f, 0x018b73f6, 0x02408e0f, 0x01f5a04c, 0x0028fe9a}}, Y: Field{[10]uint32{0x03cbdea2, 0x007296b0, 0x03e8372c, 0x035d6665, 0x010accb2, 0x00e268bc, 0x0395b18f, 0x02aac52b, 0x01a89994, 0x0031e628}}}, + {X: Field{[10]uint32{0x03b2d1cd, 0x0322bec4, 0x00e92cc5, 0x01307414, 0x00854073, 0x0176505c, 0x0072e71e, 0x0115f5e6, 0x001a825c, 0x00240ba2}}, Y: Field{[10]uint32{0x01a62d43, 0x020b0c2f, 0x01e338ac, 0x001f33f2, 0x02de099f, 0x018be091, 0x0163cccf, 0x01bee444, 0x013263bf, 0x003fc1d4}}}, + {X: Field{[10]uint32{0x0329c144, 0x03318381, 0x03505d34, 0x01693e32, 0x036923ea, 0x03c64cae, 0x021aa2b3, 0x00155b4d, 0x01f24c47, 0x000c97c6}}, Y: Field{[10]uint32{0x0294bec4, 0x01f11ae7, 0x021782a5, 0x03058665, 0x0173e3e9, 0x006fe3e7, 0x001bf358, 0x028337e6, 0x02b829a6, 0x003d2a6b}}}, + {X: Field{[10]uint32{0x021edd4b, 0x02c1f1be, 0x0024763b, 0x0117ac1e, 0x00bcdf72, 0x033ffeb3, 0x025f8602, 0x033d854f, 0x03b441a6, 0x001a653c}}, Y: Field{[10]uint32{0x0074c174, 0x02c45806, 0x03bd927d, 0x02ae1fdc, 0x02198ee4, 0x00fc1454, 0x00479d8d, 0x02a25ca7, 0x01ea892d, 0x003b0bf1}}}, + {X: Field{[10]uint32{0x02cb2d8c, 0x0284149a, 0x0137f3b7, 0x028ad6eb, 0x005663c5, 0x02307daa, 0x011bd2f0, 0x01e5bff5, 0x00324e8f, 0x00086156}}, Y: Field{[10]uint32{0x01897c2d, 0x03475da8, 0x00cf4b15, 0x0255759f, 0x033b93c4, 0x000d0efd, 0x0290d44b, 0x0300f265, 0x02cb33ce, 0x0039df3b}}}, + {X: Field{[10]uint32{0x0191b099, 0x01d33be7, 0x021b0a56, 0x00fd21ea, 0x01319693, 0x0391dcad, 0x027c312a, 0x02a00695, 0x023b32f2, 0x0024176a}}, Y: Field{[10]uint32{0x01cf369f, 0x0161c710, 0x021d6b69, 0x010d6cb2, 0x0382b648, 0x019ff705, 0x0291d5d7, 0x005c644d, 0x01c36d27, 0x002fd8a1}}}, + {X: Field{[10]uint32{0x025339f1, 0x02547bad, 0x017f5b39, 0x01d8c54e, 0x031b6853, 0x036f839f, 0x03e51613, 0x001491d7, 0x038434b6, 0x0037df3e}}, Y: Field{[10]uint32{0x03558243, 0x00333d37, 0x00d2ee58, 0x00f1be91, 0x010d1beb, 0x03659475, 0x0153393d, 0x039154b6, 0x017e1419, 0x0039c973}}}, + {X: Field{[10]uint32{0x01732491, 0x016f2d39, 0x024a5d8c, 0x01d8a33d, 0x00385cb2, 0x03297ae0, 0x0096b821, 0x00ae7a8f, 0x02fc8884, 0x0039fee7}}, Y: Field{[10]uint32{0x00f22331, 0x00a054de, 0x03d5f5e9, 0x00a3b76a, 0x011353c1, 0x019d6a5f, 0x03b83900, 0x0380dc98, 0x02bca6f9, 0x0032399d}}}, + {X: Field{[10]uint32{0x0124285b, 0x008da773, 0x012fecc1, 0x00575c78, 0x01bad797, 0x029103d6, 0x02ac0a3f, 0x02885879, 0x030c272b, 0x003468d7}}, Y: Field{[10]uint32{0x019edb3c, 0x02e526b2, 0x02ec1806, 0x02a25840, 0x0049dc41, 0x02c55900, 0x02f2f21b, 0x01c5b6e7, 0x00f7d475, 0x0007d6dc}}}, + {X: Field{[10]uint32{0x027b079f, 0x0043694a, 0x032e5551, 0x00a41164, 0x024f4204, 0x01eb98a7, 0x03da74ac, 0x03753385, 0x02e85f2d, 0x00019ae9}}, Y: Field{[10]uint32{0x03a80402, 0x002279c1, 0x03733263, 0x0010d921, 0x02219679, 0x026f7fef, 0x01a4f357, 0x03bef3d3, 0x005beb8e, 0x00363aeb}}}, + {X: Field{[10]uint32{0x00f3a749, 0x03ce682d, 0x01e487b1, 0x008875ee, 0x00c36e7c, 0x01d7e714, 0x03cf8065, 0x00414ad2, 0x029a2688, 0x0001bdfd}}, Y: Field{[10]uint32{0x0331a4c4, 0x00d6a99c, 0x0202b892, 0x016096ed, 0x00bc1835, 0x03058394, 0x00352b9c, 0x02e22ead, 0x03840d89, 0x0004741a}}}, + {X: Field{[10]uint32{0x026c0abd, 0x00308724, 0x01b90eda, 0x03fa132b, 0x0141c23a, 0x017006b1, 0x01699067, 0x0140ec98, 0x016f571d, 0x0012f85b}}, Y: Field{[10]uint32{0x02c1d06d, 0x013f8ca7, 0x011bd9a0, 0x023f2c8c, 0x01d9ede7, 0x034cffb5, 0x02116c5d, 0x03cb7586, 0x02deffa1, 0x00004107}}}, + {X: Field{[10]uint32{0x01e75886, 0x03c142c0, 0x029bd33b, 0x00d43b95, 0x03191603, 0x005a6315, 0x00abbc79, 0x02b2d9d8, 0x005db55e, 0x0022be23}}, Y: Field{[10]uint32{0x01d9a12c, 0x02fd65af, 0x02beaf61, 0x02d74af9, 0x00ca203e, 0x025801f0, 0x02eeb245, 0x02d2c4a6, 0x010b6bf2, 0x0013d6e1}}}, + {X: Field{[10]uint32{0x00ef8672, 0x02d82213, 0x035072e2, 0x00602339, 0x01edb695, 0x00e457a0, 0x03648491, 0x03ae3869, 0x037a3316, 0x002b4cf9}}, Y: Field{[10]uint32{0x037ccd90, 0x0297932b, 0x0313f16c, 0x0227c563, 0x016c4f4f, 0x025431d7, 0x01157fd7, 0x022f6769, 0x01e24bc8, 0x003e8058}}}, + {X: Field{[10]uint32{0x01d8c2bc, 0x037b6cf6, 0x01ba069e, 0x007d808b, 0x01cdb51e, 0x0070d121, 0x0196ee9b, 0x02bf9e47, 0x01ef7620, 0x001112a0}}, Y: Field{[10]uint32{0x0351e2fd, 0x006bc465, 0x03b52e64, 0x00a47beb, 0x02bd2683, 0x02ff366e, 0x02811c7f, 0x013af0bb, 0x03d9a49d, 0x002a2005}}}, + {X: Field{[10]uint32{0x02aa5c51, 0x002d98f3, 0x00aa51d1, 0x034492b2, 0x0377af3a, 0x01940e8b, 0x0387e9d2, 0x03e2d981, 0x03a39530, 0x0016c781}}, Y: Field{[10]uint32{0x037810b9, 0x00311c3d, 0x0013b450, 0x0041eef4, 0x02e87cb5, 0x021aa01a, 0x031e59b6, 0x0383ec9c, 0x00d38d55, 0x003f3d30}}}, + {X: Field{[10]uint32{0x03174309, 0x00cfb45c, 0x02844ba5, 0x01f65897, 0x01b1d42e, 0x00c5f99f, 0x034c4033, 0x01aa195e, 0x00170e98, 0x00000fa3}}, Y: Field{[10]uint32{0x00cd6caa, 0x03d54865, 0x03e5e696, 0x03d70a5b, 0x029db702, 0x00f1fb83, 0x020f3966, 0x028d743a, 0x009ff4f5, 0x0037baf9}}}, + {X: Field{[10]uint32{0x00d112c1, 0x03a0f601, 0x017e5746, 0x0241fc75, 0x036432af, 0x011ad4a2, 0x024c078b, 0x032c6674, 0x02ee5e9b, 0x0028425b}}, Y: Field{[10]uint32{0x02e7c6d4, 0x0229db74, 0x02fc13f0, 0x003f87a4, 0x0097eace, 0x033553cf, 0x02b3019a, 0x00db3595, 0x00fe6994, 0x002f44f9}}}, + {X: Field{[10]uint32{0x0265f2f0, 0x001c6dd9, 0x0093898c, 0x024d37b4, 0x00368610, 0x0269d7ba, 0x000a6d89, 0x0379d76d, 0x01794218, 0x00151d61}}, Y: Field{[10]uint32{0x01174548, 0x0184fd86, 0x021b5c6f, 0x02fca71d, 0x026bcde4, 0x0376a995, 0x00dcd94f, 0x031a25c3, 0x024213e1, 0x000ef555}}}, + {X: Field{[10]uint32{0x01456057, 0x02f1a511, 0x02df7f7b, 0x02417ba6, 0x02a44002, 0x013dd161, 0x0356604f, 0x02f112ff, 0x0192fcb4, 0x0013acca}}, Y: Field{[10]uint32{0x0245c3d4, 0x0185502e, 0x03609216, 0x02319b6d, 0x00e0cc9d, 0x0014400c, 0x0277c673, 0x027c06b6, 0x00f26834, 0x00215daa}}}, + {X: Field{[10]uint32{0x0261a22d, 0x016d322d, 0x01ea269c, 0x008fe4b9, 0x000f2917, 0x026429f0, 0x01428e75, 0x0124cf1b, 0x01efd2eb, 0x000d42cb}}, Y: Field{[10]uint32{0x00de6943, 0x003ec964, 0x0159e354, 0x02a04c83, 0x0370f807, 0x0203bd6f, 0x02126d83, 0x03cd2fcd, 0x0300add9, 0x00186b36}}}, + {X: Field{[10]uint32{0x01f360ff, 0x03f6611d, 0x03017d7a, 0x01ac0c1a, 0x032da3c9, 0x02b284a6, 0x037341ee, 0x0220654c, 0x00bece7f, 0x002453aa}}, Y: Field{[10]uint32{0x01ac7b53, 0x01ca98e1, 0x01213d32, 0x02927f22, 0x03582948, 0x022c90b6, 0x03b563ce, 0x02029d20, 0x0148ebef, 0x003caa95}}}, + {X: Field{[10]uint32{0x03dc0fef, 0x01891ae0, 0x01a33459, 0x03e714f8, 0x03ad6d44, 0x01c38fd7, 0x02baa6bd, 0x0097d2ea, 0x021738da, 0x0003d95b}}, Y: Field{[10]uint32{0x01fd83e5, 0x0076b256, 0x03ef54c3, 0x012c8103, 0x00c742ce, 0x00dcf0b1, 0x025f53cf, 0x024a1c29, 0x00fc3463, 0x00102a2d}}}, + {X: Field{[10]uint32{0x033b618f, 0x0399dc64, 0x00182ce3, 0x008e8849, 0x02d77e10, 0x0036a99b, 0x00310bbc, 0x00f39519, 0x02f0334e, 0x00291f22}}, Y: Field{[10]uint32{0x000c7f08, 0x0254a503, 0x02c4b522, 0x00ba1c57, 0x0341ec5b, 0x0285c4fa, 0x031694ff, 0x01f1d579, 0x0354056d, 0x001b6f32}}}, + {X: Field{[10]uint32{0x00753ca9, 0x01bba74c, 0x02688676, 0x00c47ab3, 0x003b5fde, 0x0085e357, 0x007947f8, 0x0012997a, 0x00625e1d, 0x0002a28a}}, Y: Field{[10]uint32{0x02fc2169, 0x03cbc78b, 0x023ba94d, 0x01d75ce4, 0x021feb3f, 0x03e8426f, 0x039e672e, 0x02813429, 0x02f7483a, 0x003e0ab5}}}, + {X: Field{[10]uint32{0x01c017d0, 0x00fde88c, 0x008371e8, 0x002283d1, 0x034fe062, 0x03f501fb, 0x02903cb3, 0x02e15789, 0x014e5f8e, 0x002807fd}}, Y: Field{[10]uint32{0x032edf92, 0x016cbb83, 0x03ee2f0e, 0x00009d98, 0x009fd59b, 0x01f64945, 0x0018ec07, 0x0069a213, 0x02f9c52f, 0x000891f1}}}, + {X: Field{[10]uint32{0x0142aed1, 0x01f21d63, 0x0072ff2d, 0x038c47d8, 0x0061ef4f, 0x02668c83, 0x02adbd60, 0x03226db2, 0x003a626a, 0x0039ec27}}, Y: Field{[10]uint32{0x00609fdc, 0x02bbf34e, 0x005e2c0f, 0x0285b667, 0x0337c3c5, 0x000f3d68, 0x01c64ace, 0x0143a639, 0x02d36a7b, 0x0023b665}}}, + {X: Field{[10]uint32{0x023ff2fd, 0x016916e1, 0x037173f3, 0x025cdcf2, 0x0196307c, 0x01816410, 0x009fb522, 0x00a81b2a, 0x0253336c, 0x000eeea7}}, Y: Field{[10]uint32{0x03d24799, 0x03a0d049, 0x0160d52a, 0x008dba32, 0x00419d51, 0x0153a6e3, 0x00ccaeae, 0x03f05bd6, 0x01093faf, 0x003cbfa4}}}, + {X: Field{[10]uint32{0x000630a3, 0x0017e70b, 0x00acdaf9, 0x0086d890, 0x0311950c, 0x010cbd4c, 0x01224000, 0x0005d088, 0x02b6dc66, 0x003d8748}}, Y: Field{[10]uint32{0x009ffb05, 0x006915c1, 0x02796142, 0x01405778, 0x00692bb2, 0x0337eac6, 0x02b7e865, 0x00b3ce4f, 0x035a1a66, 0x000181a3}}}, + {X: Field{[10]uint32{0x00a80962, 0x026f9c3a, 0x02d13718, 0x037009c0, 0x01891c45, 0x03cf91c8, 0x0038dcb8, 0x0288b62f, 0x00556b1a, 0x00296d82}}, Y: Field{[10]uint32{0x00b1ddb6, 0x02640cbf, 0x0234a071, 0x01a5f357, 0x023a9b3a, 0x01b060ab, 0x0220b99e, 0x0017287f, 0x03d2d5e3, 0x003ddfe5}}}, + {X: Field{[10]uint32{0x01e1a259, 0x02a97321, 0x02ac1be3, 0x006ca008, 0x02f03030, 0x039bd64b, 0x00ae950b, 0x00958b87, 0x02f900eb, 0x001c30ea}}, Y: Field{[10]uint32{0x00587583, 0x0085ee53, 0x01deb61f, 0x02fa85eb, 0x033f91f2, 0x004eabbd, 0x00626f72, 0x034c6739, 0x03cd31a8, 0x000fcb2d}}}, + {X: Field{[10]uint32{0x0106e530, 0x01744da3, 0x03d93b97, 0x02bf0cf9, 0x01a67952, 0x010f9e44, 0x01fcc4d4, 0x0178dca3, 0x01d1a875, 0x000775c3}}, Y: Field{[10]uint32{0x0190d084, 0x0077f35c, 0x020c4014, 0x01f6dafb, 0x01240e67, 0x03b31cf7, 0x00400742, 0x0253bd1c, 0x01741f58, 0x0011a13e}}}, + {X: Field{[10]uint32{0x0083fcf9, 0x020331a4, 0x035462b1, 0x00f5195c, 0x02f5d37c, 0x034372a0, 0x016bb7f2, 0x03f52f63, 0x018d7aac, 0x0035135a}}, Y: Field{[10]uint32{0x007dc407, 0x026fafc2, 0x03e47281, 0x0104dd02, 0x03c0c940, 0x031056f5, 0x0067b0f4, 0x00a59643, 0x003d0423, 0x00286360}}}, + {X: Field{[10]uint32{0x01b34ca5, 0x02700414, 0x019f9410, 0x00418553, 0x0362730a, 0x02c6f0ee, 0x0122ae74, 0x015d0a15, 0x02e13045, 0x00211626}}, Y: Field{[10]uint32{0x03b3606c, 0x03d88d4d, 0x0390349b, 0x02e8f78e, 0x03de14fc, 0x00be9c1f, 0x02ffce9b, 0x02bd26fd, 0x0208f2a9, 0x002e5e7e}}}, + {X: Field{[10]uint32{0x03724627, 0x034bc122, 0x006f5469, 0x00fff413, 0x01bc84e7, 0x03fc5707, 0x0131c1ef, 0x02265afb, 0x03df8911, 0x000f7b23}}, Y: Field{[10]uint32{0x03eb2c8c, 0x0389c406, 0x0310c16a, 0x028aff50, 0x03daccca, 0x013fe237, 0x011a555f, 0x016f3f6f, 0x03c1e20b, 0x002c50fc}}}, + {X: Field{[10]uint32{0x00cac160, 0x03d0dd02, 0x0012a2f0, 0x037905ed, 0x02023a8d, 0x00339197, 0x01bfcc47, 0x0367180e, 0x03c5519d, 0x000d9e97}}, Y: Field{[10]uint32{0x03f021a6, 0x03eb1729, 0x03cc2dba, 0x00825ea1, 0x03faa648, 0x00f83e3c, 0x011b136a, 0x03f2438a, 0x01df2c6b, 0x0016e3ef}}}, + {X: Field{[10]uint32{0x0063efc1, 0x00c95b25, 0x02cce5fa, 0x03f521ee, 0x031e7c2e, 0x003623a4, 0x03ab6b32, 0x0181bd82, 0x007e7777, 0x0022a956}}, Y: Field{[10]uint32{0x03f091dc, 0x00e7f474, 0x00c1888a, 0x00d11278, 0x0150beeb, 0x02b548a2, 0x02921eca, 0x0284cb05, 0x036c98bf, 0x002b16e9}}}, + {X: Field{[10]uint32{0x0084cae0, 0x01afcf03, 0x038c6a5d, 0x0107b299, 0x02af3aa4, 0x02c34471, 0x00fd9e60, 0x00cba80c, 0x01910ea6, 0x001e7000}}, Y: Field{[10]uint32{0x01dfb899, 0x034b608e, 0x01e85472, 0x037caf46, 0x01ae9c8b, 0x03d0070b, 0x000b659b, 0x02a504eb, 0x00703b19, 0x000fe550}}}, + {X: Field{[10]uint32{0x03a04fc8, 0x03e2fe00, 0x018b3d4e, 0x0292b692, 0x01e858aa, 0x01920c95, 0x01951a06, 0x027a5737, 0x032221a5, 0x00321379}}, Y: Field{[10]uint32{0x02f0a0b9, 0x02f11452, 0x01102158, 0x03483d8e, 0x010548fc, 0x01888112, 0x0011109a, 0x02fca37e, 0x0158915a, 0x001cf37a}}}, + {X: Field{[10]uint32{0x01a9d6d5, 0x01ae24ad, 0x00c218cb, 0x0373f9a5, 0x01fedf74, 0x028f164d, 0x023822b2, 0x01f58781, 0x0050c632, 0x0022c6e3}}, Y: Field{[10]uint32{0x00fe168b, 0x01832c00, 0x037f841f, 0x01ad6d90, 0x00c03676, 0x03fd0c53, 0x03dfc479, 0x0190d7d1, 0x01529f15, 0x0015ef62}}}, + {X: Field{[10]uint32{0x00702c52, 0x00ff5492, 0x03650e78, 0x039dc675, 0x0033a31c, 0x0107e061, 0x0117c4a3, 0x00be6148, 0x008a3ae8, 0x002d17bb}}, Y: Field{[10]uint32{0x020a1c90, 0x0231b867, 0x0046dc98, 0x02167ba4, 0x03254117, 0x0280525e, 0x005d0fce, 0x01ad3c24, 0x035cc708, 0x0033555a}}}, + {X: Field{[10]uint32{0x00757319, 0x001de020, 0x01cd2c57, 0x004e196a, 0x0031ab70, 0x031632f7, 0x034871ea, 0x025b1d9e, 0x00ddd930, 0x0028b577}}, Y: Field{[10]uint32{0x03064547, 0x0351ab92, 0x001a60a6, 0x02a2bd8b, 0x03227ae8, 0x00782d4d, 0x02b5978b, 0x02c8fa79, 0x02b4b130, 0x001ea901}}}, + {X: Field{[10]uint32{0x01ed2b2d, 0x0053066e, 0x025db3d3, 0x0064486b, 0x01e97f6e, 0x01426fb0, 0x0164ea83, 0x0165429d, 0x02b4e5d3, 0x001c480d}}, Y: Field{[10]uint32{0x00a93616, 0x01d0539a, 0x0172a21d, 0x00cbe725, 0x00e3a322, 0x0094d0b2, 0x0298d2f4, 0x0183a811, 0x03f38d05, 0x0009618b}}}, + {X: Field{[10]uint32{0x00bfb392, 0x00ad54bc, 0x02df0756, 0x038c1e56, 0x03dca402, 0x026bf25c, 0x02e58c87, 0x0322ea50, 0x00f7d70f, 0x0016f3bc}}, Y: Field{[10]uint32{0x03af1919, 0x032c2242, 0x0247454c, 0x0391cc95, 0x011a444c, 0x00ff15be, 0x03b0e12c, 0x016ff4fb, 0x024cecb4, 0x001f3216}}}, + {X: Field{[10]uint32{0x01741ada, 0x0076164e, 0x02b0eb5c, 0x00519d9e, 0x03b9e5f2, 0x03d713a6, 0x03ab9f0a, 0x02286c2b, 0x002f9d50, 0x0037355c}}, Y: Field{[10]uint32{0x01cc1fa1, 0x009463b7, 0x0335f9eb, 0x0161bc31, 0x013369d5, 0x00949940, 0x00d40a4a, 0x038e9f73, 0x02d7ea13, 0x003dfaba}}}, + {X: Field{[10]uint32{0x02cb3d9f, 0x02e46ef9, 0x02ec9784, 0x02e4974f, 0x02363bfc, 0x02e2dc5d, 0x01c3ade1, 0x018a7424, 0x00d0004f, 0x000b3a8c}}, Y: Field{[10]uint32{0x01c42624, 0x011825a8, 0x036e3444, 0x0152ce6c, 0x03c48ba4, 0x00f778d2, 0x009a76aa, 0x02c5c73f, 0x03ada42a, 0x002a0fd2}}}, + {X: Field{[10]uint32{0x01c32f8d, 0x01b7f1e8, 0x035d009c, 0x035ba540, 0x01150e54, 0x029064d3, 0x015fcb13, 0x00647b7c, 0x01f2767b, 0x002162d0}}, Y: Field{[10]uint32{0x03de8dd7, 0x03b3e0a7, 0x01358e5c, 0x0277d975, 0x00b34d6e, 0x01200a8a, 0x00a21720, 0x0257d51e, 0x017d76dc, 0x0020602e}}}, + {X: Field{[10]uint32{0x030e81e6, 0x03f40830, 0x01294245, 0x01a034bc, 0x033eb9a6, 0x03d06004, 0x01234e5f, 0x0166e1b4, 0x0002bee3, 0x00357260}}, Y: Field{[10]uint32{0x033781de, 0x02bad256, 0x0376d921, 0x03a47640, 0x03a0b6bc, 0x00bf21ed, 0x01a2e4ee, 0x031e5419, 0x01a4cd2b, 0x0013948b}}}, + {X: Field{[10]uint32{0x0120c1ed, 0x01b0e865, 0x00fb7d4d, 0x01db6a2b, 0x0134002d, 0x00b792df, 0x024ddf58, 0x03aa7dc6, 0x01622f9c, 0x0003afe4}}, Y: Field{[10]uint32{0x02d4e251, 0x02074616, 0x0136ecd4, 0x0126394d, 0x027e43d0, 0x00631d6a, 0x03fb4833, 0x02073638, 0x03223e18, 0x003bb9d4}}}, + {X: Field{[10]uint32{0x0261db4d, 0x01bdb202, 0x01ff6b40, 0x0013cd9a, 0x000acc45, 0x03dd2f9a, 0x002e111a, 0x015bcc23, 0x02a9d087, 0x0000e1fd}}, Y: Field{[10]uint32{0x03cdd28a, 0x02d54ba1, 0x00c4a59d, 0x0288dc89, 0x01ed0bbb, 0x033d73d3, 0x01f96d5d, 0x017e449b, 0x01e3ea1d, 0x000a2165}}}, + {X: Field{[10]uint32{0x03e46714, 0x01d255b7, 0x020df255, 0x03ba7fbc, 0x009aa409, 0x01648051, 0x03a2d70e, 0x0354b8e0, 0x01c0989b, 0x00225ffc}}, Y: Field{[10]uint32{0x01adc9d1, 0x03b3e942, 0x016c6bca, 0x01a4db7f, 0x02de0940, 0x0112a1ce, 0x0295a006, 0x0194a7d3, 0x00c9308c, 0x000f3ef0}}}, + {X: Field{[10]uint32{0x01a395af, 0x01fbc6ad, 0x03eefb57, 0x00ddbe13, 0x03bbcbb3, 0x00b62c93, 0x02bbf21e, 0x02131e2d, 0x00a68e04, 0x000c956a}}, Y: Field{[10]uint32{0x0112aeb3, 0x0089664a, 0x0081fd81, 0x0355107a, 0x0379ef3f, 0x00b5d224, 0x014a426d, 0x012e139b, 0x0002f920, 0x0005ecf0}}}, + {X: Field{[10]uint32{0x01c55599, 0x023be7f7, 0x01b7e277, 0x00079c1c, 0x011fbca1, 0x007b6889, 0x003eeafb, 0x038ec0e5, 0x0152d4d9, 0x000b292a}}, Y: Field{[10]uint32{0x03891e00, 0x00b858c8, 0x016a0989, 0x032d8f28, 0x03e98631, 0x01d231fa, 0x01a2c044, 0x030637e0, 0x02ccdf02, 0x002feb2e}}}, + {X: Field{[10]uint32{0x024383b2, 0x0017dab7, 0x03d73105, 0x03e22936, 0x02046ee5, 0x006dbb2d, 0x03b0410e, 0x00cd2b51, 0x009c478c, 0x0030fa0a}}, Y: Field{[10]uint32{0x02f0f55f, 0x00012cf5, 0x0391fde4, 0x03b89c9e, 0x0000229b, 0x02d3b488, 0x03f4309c, 0x0048e191, 0x02ceb043, 0x0015e4b0}}}, + {X: Field{[10]uint32{0x01119049, 0x02f49f05, 0x019d5f87, 0x02376e4b, 0x0086fb96, 0x01fe6108, 0x03ad63c6, 0x024be619, 0x0360a862, 0x000aef7b}}, Y: Field{[10]uint32{0x00a85362, 0x0219d598, 0x03538802, 0x018953c0, 0x00e75dac, 0x03503534, 0x0099d193, 0x0311e4a4, 0x03623536, 0x003d292d}}}, + {X: Field{[10]uint32{0x032496a9, 0x00cf2e7f, 0x03d2ce03, 0x01ef88ab, 0x01fe3ee4, 0x005292f8, 0x0014ef07, 0x02b2cc60, 0x00909e7d, 0x001de9b8}}, Y: Field{[10]uint32{0x0251065f, 0x01746214, 0x00384381, 0x009f858f, 0x0234461e, 0x00658524, 0x01915d18, 0x0241b347, 0x0075b1a9, 0x00153c39}}}, + {X: Field{[10]uint32{0x00f40ff0, 0x00e79141, 0x00b1145c, 0x0391e4d4, 0x02ea94d5, 0x01e7d935, 0x034f4139, 0x0249537a, 0x016b7871, 0x0034656e}}, Y: Field{[10]uint32{0x00e0636c, 0x01fdca70, 0x0069bd99, 0x02b696bd, 0x00b8245c, 0x002936e2, 0x032d4b2b, 0x0211ba51, 0x0040613c, 0x0008e291}}}, + {X: Field{[10]uint32{0x00815b1f, 0x029866c1, 0x01bd8113, 0x00552369, 0x00ad024d, 0x00213d05, 0x03b0f3c6, 0x029975d6, 0x0336208a, 0x0030e6a8}}, Y: Field{[10]uint32{0x0126fe5a, 0x00cc54c4, 0x012004b2, 0x014db612, 0x02455a00, 0x0395cfb9, 0x0083b226, 0x00775052, 0x02d63274, 0x001eaac7}}}, + {X: Field{[10]uint32{0x01e31f30, 0x01dd933f, 0x028d2296, 0x01c11362, 0x01d6661c, 0x00932ecc, 0x020bd270, 0x020b6f2f, 0x023d0baf, 0x003a0328}}, Y: Field{[10]uint32{0x0197451b, 0x0211d129, 0x017138c4, 0x01091a18, 0x01f67e81, 0x03ae0f97, 0x03c583a5, 0x01e1e2f2, 0x01d47318, 0x002854f4}}}, + {X: Field{[10]uint32{0x0272ef80, 0x032dec0b, 0x00120711, 0x017f82bb, 0x01f3e850, 0x0356569f, 0x016723a4, 0x0308e83e, 0x0265a5a9, 0x000e56de}}, Y: Field{[10]uint32{0x009bf990, 0x026979f9, 0x034b6222, 0x000ca64b, 0x034f88cf, 0x02895950, 0x02d37b19, 0x01b8e4da, 0x01d54747, 0x00164083}}}, + {X: Field{[10]uint32{0x010b495c, 0x03f688a4, 0x02577644, 0x0117ffbc, 0x02e8b495, 0x0144a976, 0x017e2cd9, 0x008f49ed, 0x00dbb83e, 0x0019e9fa}}, Y: Field{[10]uint32{0x00965735, 0x014c0cba, 0x01f15a87, 0x03b9a338, 0x0041fd34, 0x03a02d04, 0x00a89f78, 0x02e7d040, 0x019d3791, 0x001f0052}}}, + {X: Field{[10]uint32{0x01c0c7e7, 0x02cecfdb, 0x03892ac9, 0x00218508, 0x03ecfb4b, 0x032f8b38, 0x01863952, 0x039ec21a, 0x027d76d2, 0x003100e3}}, Y: Field{[10]uint32{0x01e92f3b, 0x0080d459, 0x0229e72f, 0x002d9909, 0x00012946, 0x030d3f23, 0x02a27bab, 0x026df4c9, 0x030d9efc, 0x00186ece}}}, + {X: Field{[10]uint32{0x03a25e5a, 0x0095a630, 0x019a88a5, 0x00201c28, 0x01b9bdda, 0x03f0fd5d, 0x029c52f5, 0x034ebbb9, 0x01e226a4, 0x001dc169}}, Y: Field{[10]uint32{0x03c7a1b7, 0x020f92d4, 0x022073a8, 0x00088901, 0x0244be9e, 0x0071aa60, 0x0026973d, 0x001be309, 0x016cf019, 0x00116382}}}, + {X: Field{[10]uint32{0x00ff48d0, 0x028d1d4d, 0x028759e4, 0x03c6d192, 0x0268a5f1, 0x007f80e5, 0x02994fa0, 0x02d7985a, 0x03c35958, 0x003cf3a2}}, Y: Field{[10]uint32{0x010058fe, 0x02891cf8, 0x00d6b222, 0x02821d40, 0x038dc92a, 0x01ebb18f, 0x008c441f, 0x035e2d9f, 0x0197be3a, 0x00270687}}}, + {X: Field{[10]uint32{0x00a4e0d0, 0x0279fccf, 0x005d7664, 0x02b6bd5a, 0x003ebb94, 0x00075be2, 0x029d764e, 0x033af6e6, 0x0120de69, 0x002417b0}}, Y: Field{[10]uint32{0x00a9d554, 0x039127a7, 0x030e93a8, 0x004b5e6a, 0x024d42ce, 0x01470032, 0x00a75d0e, 0x02a8e9dd, 0x02993974, 0x0024985f}}}, + {X: Field{[10]uint32{0x0321eeed, 0x02b69a26, 0x006b4f15, 0x011ff6c9, 0x0127d484, 0x01993078, 0x02d0edc3, 0x02164a2e, 0x024da357, 0x002c6dd2}}, Y: Field{[10]uint32{0x013206d9, 0x02c9baa7, 0x021328f5, 0x0240cf13, 0x00c14e4d, 0x00c8b134, 0x00e38231, 0x027a3ef3, 0x01c7b84e, 0x00310d4e}}}, + {X: Field{[10]uint32{0x03d8bcf1, 0x03ee58c0, 0x02025bd5, 0x01344b4f, 0x038dcf81, 0x0310b6ad, 0x03a2a471, 0x00b51acb, 0x0165c72f, 0x00035100}}, Y: Field{[10]uint32{0x0343ae3e, 0x001c87d4, 0x0022aca3, 0x01247601, 0x03fabab7, 0x031da0f7, 0x03ad9cff, 0x017eb3a5, 0x0150261f, 0x00382192}}}, + {X: Field{[10]uint32{0x0053b303, 0x00fe4e54, 0x02ed1de0, 0x02bd9602, 0x03fe08d5, 0x0355ce95, 0x03910be6, 0x00669fde, 0x004f722c, 0x003fd493}}, Y: Field{[10]uint32{0x0353bf0d, 0x02ea986d, 0x0391398f, 0x01a18bd7, 0x035b9f13, 0x00c80cd6, 0x0262deab, 0x02aa2ece, 0x014e5b25, 0x0003f52b}}}, + {X: Field{[10]uint32{0x018d091e, 0x017fbc63, 0x01a4463a, 0x02c128eb, 0x038fafa2, 0x02706e90, 0x0376a53c, 0x00420f92, 0x00bd331c, 0x003bff78}}, Y: Field{[10]uint32{0x01947dde, 0x038530c7, 0x02b9aee0, 0x037cad06, 0x02c563bd, 0x01b33bc3, 0x02e54208, 0x0084179a, 0x029ca75c, 0x003f5ea1}}}, + {X: Field{[10]uint32{0x033875e8, 0x03115c4b, 0x01278f40, 0x01939027, 0x021115ba, 0x0160eb6c, 0x034a304b, 0x03667a22, 0x02c099c8, 0x002979d1}}, Y: Field{[10]uint32{0x02934a68, 0x0307bbcb, 0x00c07fd2, 0x00e7767a, 0x02841709, 0x001cfdff, 0x00baba4f, 0x00e0c0b1, 0x0112c2af, 0x001fe0c8}}}, + {X: Field{[10]uint32{0x02ccb431, 0x006424cc, 0x0246a1ba, 0x01d121be, 0x037df5e2, 0x03f91544, 0x00daa722, 0x03a50e76, 0x01e3af5e, 0x001ab32e}}, Y: Field{[10]uint32{0x0328dcae, 0x03277267, 0x01dc443e, 0x00207f3d, 0x01a3faf1, 0x01a3e4b9, 0x03c26a9b, 0x01960141, 0x0258842d, 0x003c3785}}}, + {X: Field{[10]uint32{0x032b6d4e, 0x0225e2bd, 0x023ba1ec, 0x00c7b404, 0x00b86f3d, 0x03be15a6, 0x00e782b3, 0x00cafdba, 0x0055e40d, 0x003204f4}}, Y: Field{[10]uint32{0x01068ca6, 0x01e40463, 0x0128d288, 0x03d0aee5, 0x0047d37e, 0x021318a0, 0x01a41916, 0x0118c713, 0x03572f92, 0x002ebdb5}}}, + {X: Field{[10]uint32{0x03c7aaf9, 0x02a11365, 0x01177038, 0x0398bf7c, 0x03599dfa, 0x02f93561, 0x03baeb58, 0x03f18913, 0x00122cad, 0x0022e208}}, Y: Field{[10]uint32{0x02f7a6a3, 0x00f1e081, 0x00b2d409, 0x0291da02, 0x007867c8, 0x029690aa, 0x016e131f, 0x003693dc, 0x0293ac90, 0x003d79b0}}}, + {X: Field{[10]uint32{0x017310ce, 0x006760cb, 0x017ee096, 0x00d1341c, 0x03bc02ff, 0x03fea910, 0x00a5acc4, 0x03960ad5, 0x0050f49e, 0x0023c1d4}}, Y: Field{[10]uint32{0x01f7fd3f, 0x0284c56d, 0x021c9b99, 0x02a1adc0, 0x01f1f9f9, 0x011e668f, 0x00555c4a, 0x034c95f3, 0x01bb7ab3, 0x0004ee40}}}, + {X: Field{[10]uint32{0x00374c58, 0x035047ec, 0x01f66921, 0x036c8720, 0x0389a456, 0x00bdcb25, 0x025fb1df, 0x00f950f1, 0x02f8cf64, 0x002ef214}}, Y: Field{[10]uint32{0x030a590b, 0x012ee8ac, 0x032cd4c1, 0x00be13c0, 0x03a27e1c, 0x02c922cf, 0x03f604cf, 0x007892ca, 0x02bbe797, 0x002b423a}}}, + {X: Field{[10]uint32{0x0280bc1f, 0x000940c6, 0x009fcffa, 0x0332c795, 0x03009278, 0x03730b72, 0x00edddc9, 0x0156ee1e, 0x004b662b, 0x000b5df7}}, Y: Field{[10]uint32{0x00d058eb, 0x01821c3b, 0x03fffa8e, 0x0282272b, 0x02c07707, 0x01dbbdbb, 0x01a62f4e, 0x03ca86b4, 0x00d84fa7, 0x000a22ec}}}, + {X: Field{[10]uint32{0x03ccbdf9, 0x01e452b5, 0x00b4ffea, 0x02ae7216, 0x00c90945, 0x012ee9b2, 0x03df7d99, 0x02a1bae6, 0x031ff3b4, 0x002f20fd}}, Y: Field{[10]uint32{0x03232292, 0x034f9252, 0x00b30020, 0x018e8ea2, 0x01fa3c25, 0x03446550, 0x01ed4553, 0x01f48e02, 0x03a3e506, 0x00063a47}}}, + {X: Field{[10]uint32{0x00200919, 0x036d0d4b, 0x037b3205, 0x03038aee, 0x0045f83d, 0x011f4149, 0x0211b7e8, 0x02239ac3, 0x02578d9b, 0x001f56e5}}, Y: Field{[10]uint32{0x00515ba9, 0x03d55c24, 0x00d352fa, 0x01caabf5, 0x00b1c9e6, 0x015a6bd3, 0x00e7230c, 0x0304370a, 0x037b8830, 0x00079a27}}}, + {X: Field{[10]uint32{0x000cdc80, 0x03e4a288, 0x03cdc1ba, 0x021f2b30, 0x01516148, 0x01183128, 0x01bab4c7, 0x021a20c7, 0x03648d75, 0x00217a7c}}, Y: Field{[10]uint32{0x01369e27, 0x0239684c, 0x03a9dd5f, 0x03d300ff, 0x035ba5e4, 0x001fdff0, 0x025224cc, 0x01170161, 0x01180d50, 0x001fd339}}}, + {X: Field{[10]uint32{0x02cd0810, 0x00765d12, 0x0065da10, 0x01dd16c7, 0x029c1d10, 0x02ef6dc6, 0x0055816d, 0x0252f4d2, 0x00dfc1c0, 0x001094e4}}, Y: Field{[10]uint32{0x0349bc00, 0x01df53c7, 0x0327d1e2, 0x030c2303, 0x02707547, 0x0027785d, 0x0026d94f, 0x0135c1a4, 0x00dd20ef, 0x00207c53}}}, + {X: Field{[10]uint32{0x013549d7, 0x036bfd90, 0x004194ce, 0x0026fe39, 0x02dbb594, 0x00283dd6, 0x00d00bb6, 0x024eb094, 0x030b66dc, 0x000f31f3}}, Y: Field{[10]uint32{0x00204a58, 0x01307587, 0x0323a066, 0x00668afa, 0x02ae17b7, 0x037dc399, 0x008bcf99, 0x036267da, 0x032fc3db, 0x000cc698}}}, + {X: Field{[10]uint32{0x0270853d, 0x00acfaf3, 0x035f017e, 0x00a8af8e, 0x009d6a0b, 0x03fde276, 0x03c923bc, 0x02f3a023, 0x008db8a1, 0x003f5c82}}, Y: Field{[10]uint32{0x01eaf599, 0x0037b242, 0x03494b71, 0x02a37d91, 0x0193db4a, 0x0282fb76, 0x03296383, 0x0066ebac, 0x0323a388, 0x0034e44a}}}, + {X: Field{[10]uint32{0x03e65060, 0x02cd6b3b, 0x037a6b72, 0x01071f74, 0x01c73185, 0x0282ea89, 0x00940af9, 0x025b6936, 0x038d5e00, 0x000f9563}}, Y: Field{[10]uint32{0x0260e90a, 0x01414f79, 0x00dde769, 0x00c5ffb0, 0x03f78f64, 0x02ea56e1, 0x03bdb3ef, 0x020170fa, 0x017f069d, 0x000a900f}}}, + {X: Field{[10]uint32{0x00694a7e, 0x03c81276, 0x00b01e82, 0x00aa43f4, 0x03721ec3, 0x0386dd17, 0x0000149f, 0x03c8885b, 0x0223f525, 0x001c1c20}}, Y: Field{[10]uint32{0x03d12569, 0x036afafb, 0x0354b410, 0x02218d98, 0x01fce17d, 0x01f650ed, 0x0186ac90, 0x0354fc67, 0x0387f0b4, 0x003bd2b5}}}, + {X: Field{[10]uint32{0x02414f72, 0x03a4452a, 0x012fc6e5, 0x02537be7, 0x02440b4a, 0x007933dd, 0x01eddb71, 0x03ebd92e, 0x0225eabf, 0x003b28a5}}, Y: Field{[10]uint32{0x037618cf, 0x00e2e388, 0x009dcd35, 0x00a0a0e6, 0x03f798b6, 0x03162433, 0x03bb2274, 0x028ff2c8, 0x007575af, 0x003c7e0e}}}, + {X: Field{[10]uint32{0x03297695, 0x00e3d957, 0x00108778, 0x02959b5b, 0x02da7423, 0x02186496, 0x0206db46, 0x03c31311, 0x0350542d, 0x0016df11}}, Y: Field{[10]uint32{0x011f784d, 0x008ae79e, 0x010795f9, 0x00b57a01, 0x01de04db, 0x033669a9, 0x00cb1a24, 0x02227f5b, 0x03661ae1, 0x0010a044}}}, + {X: Field{[10]uint32{0x00012042, 0x026e61af, 0x0038cb37, 0x01a20016, 0x02bd5da1, 0x039e20bf, 0x02982dd1, 0x02cbbb4d, 0x03e6040c, 0x002bc697}}, Y: Field{[10]uint32{0x013e6224, 0x0104856b, 0x00778b7e, 0x023a18f5, 0x02576877, 0x03f3f228, 0x03d12ed1, 0x0298d298, 0x0149305f, 0x001c55c1}}}, + {X: Field{[10]uint32{0x0366b1d2, 0x00659da4, 0x0346a9a3, 0x022c755d, 0x03e1e8b1, 0x00627132, 0x03cd1be1, 0x01f9c3e0, 0x03a24678, 0x001c9d10}}, Y: Field{[10]uint32{0x0116d540, 0x024a341b, 0x03dead68, 0x0303480b, 0x004df56a, 0x01dc396d, 0x02565cc1, 0x00fa2684, 0x00269bba, 0x00218d5e}}}, + {X: Field{[10]uint32{0x02640b8d, 0x03866284, 0x012556c5, 0x00aeafcf, 0x03ae2c9a, 0x004e647d, 0x01e68352, 0x0398a852, 0x0179db34, 0x0000259e}}, Y: Field{[10]uint32{0x019edcc4, 0x0301f07f, 0x03b014d4, 0x009c946c, 0x018547b8, 0x02fcf47b, 0x02e44ac3, 0x015944f3, 0x014f5244, 0x00267707}}}, + {X: Field{[10]uint32{0x03203601, 0x03ee20eb, 0x038b159d, 0x01f6f95e, 0x02be5693, 0x0016c1ac, 0x02f9d739, 0x0124789f, 0x01db08f3, 0x001e5002}}, Y: Field{[10]uint32{0x02da40b6, 0x0329878a, 0x017e750e, 0x009090e4, 0x005db60d, 0x022761ad, 0x026a0872, 0x03873456, 0x024d7ee5, 0x00169ab5}}}, + {X: Field{[10]uint32{0x01851d10, 0x018a5faa, 0x015110cf, 0x00bd41e4, 0x03d2f421, 0x03ec3747, 0x029470b1, 0x02c2436e, 0x02396f90, 0x0021f2f6}}, Y: Field{[10]uint32{0x001b63f0, 0x02480169, 0x013e773a, 0x014b8473, 0x03fb8f79, 0x01561771, 0x01fb4c9c, 0x03e65d40, 0x01f3a2a4, 0x00272825}}}, + {X: Field{[10]uint32{0x0110acb0, 0x0116c06e, 0x01fa84b2, 0x036816e5, 0x02cd1f3a, 0x006f9f84, 0x00207720, 0x005d4963, 0x0303475d, 0x0027b55e}}, Y: Field{[10]uint32{0x03bbd5eb, 0x03ba8da8, 0x0350d324, 0x0112387b, 0x03253106, 0x0032cfa2, 0x0058a7bd, 0x0206be17, 0x005443bd, 0x00356324}}}, + {X: Field{[10]uint32{0x028b0402, 0x00d53980, 0x02be7d5d, 0x0087f499, 0x0335fd95, 0x01844cd8, 0x02c77e38, 0x011260b6, 0x022292ca, 0x003be342}}, Y: Field{[10]uint32{0x00b58b6b, 0x01629d0f, 0x0037ff97, 0x034b8ad0, 0x02f2f547, 0x01df06a6, 0x0223e5b6, 0x02076a92, 0x034a5568, 0x00395712}}}, + {X: Field{[10]uint32{0x0127e3d9, 0x000565f4, 0x01c75abd, 0x0386c4bd, 0x002299f6, 0x03e93b42, 0x02d369f4, 0x03ca7540, 0x01f5a274, 0x001b6e88}}, Y: Field{[10]uint32{0x01a39d94, 0x0369de94, 0x00f3c930, 0x02774b7c, 0x01c951f6, 0x039ba720, 0x00302de3, 0x03907a31, 0x032f0a0c, 0x001da17d}}}, + {X: Field{[10]uint32{0x00399a3d, 0x0111a4f2, 0x032aa6ba, 0x026dfecc, 0x02784196, 0x01bb4a94, 0x001b0f42, 0x0308d5f7, 0x02bf857a, 0x0023370f}}, Y: Field{[10]uint32{0x03f910ca, 0x01dbe92d, 0x02beca58, 0x02ac9d22, 0x03df250d, 0x02da2866, 0x00d87249, 0x031c501b, 0x03c1915a, 0x0008d374}}}, + {X: Field{[10]uint32{0x01eca2da, 0x03f620ad, 0x00de1e88, 0x03e8a4d1, 0x00a9c790, 0x011c1a26, 0x03391b6f, 0x0196d1f8, 0x01c8caa6, 0x0028020a}}, Y: Field{[10]uint32{0x01424110, 0x02d4c5bf, 0x02aa8184, 0x025d81a3, 0x00234862, 0x020c6095, 0x004b1299, 0x01333962, 0x00c71e83, 0x002df23f}}}, + {X: Field{[10]uint32{0x0149ce6a, 0x02007748, 0x005f5640, 0x00bbbfdf, 0x02a4ed5b, 0x0353c8b5, 0x012e54a1, 0x02fac528, 0x0362446c, 0x00161cbd}}, Y: Field{[10]uint32{0x00ee198f, 0x0283070a, 0x01e2ac75, 0x0362eeb3, 0x004c37d5, 0x010d93bd, 0x030c29e2, 0x015fe869, 0x03e88627, 0x0022ab34}}}, + {X: Field{[10]uint32{0x02fd34f2, 0x0331ae40, 0x03b2fec4, 0x02b24674, 0x0353e7ce, 0x016d4cb3, 0x02677d2e, 0x01c543c8, 0x01c05dba, 0x002dc3b5}}, Y: Field{[10]uint32{0x00d28cf8, 0x035120a9, 0x0083126b, 0x026c2158, 0x0376c3d6, 0x006363f2, 0x03cee0b0, 0x005c728b, 0x0128cc74, 0x001f90fd}}}, + {X: Field{[10]uint32{0x0053bb52, 0x00305ae0, 0x027d309d, 0x00169e42, 0x022e8ca5, 0x03ac272e, 0x01a6d7c8, 0x0187431f, 0x02133c61, 0x0012faa8}}, Y: Field{[10]uint32{0x01d4f6d5, 0x02b372a6, 0x03ffadb1, 0x01b30a62, 0x03070349, 0x012cbb84, 0x0226d8fe, 0x0368bb19, 0x003c9cbd, 0x00369302}}}, + {X: Field{[10]uint32{0x01804831, 0x003a07c1, 0x035fc8a1, 0x00d134d3, 0x0108594b, 0x017e6af4, 0x00de363c, 0x0060d29e, 0x02c653ce, 0x002a34c7}}, Y: Field{[10]uint32{0x02c5cff9, 0x0130a1b6, 0x00bce64f, 0x00616529, 0x008c462c, 0x02df22e9, 0x01b5601c, 0x038dc27b, 0x01cd7cbb, 0x002d35aa}}}, +} + +var prec = [64][16]XY{ + { + {X: Field{[10]uint32{0x02f81798, 0x00a056c5, 0x028d959f, 0x036cb738, 0x03029bfc, 0x03a1c2c1, 0x0206295c, 0x02eeb156, 0x027ef9dc, 0x001e6f99}}, Y: Field{[10]uint32{0x0310d4b8, 0x01f423fe, 0x014199c4, 0x01229a15, 0x00fd17b4, 0x0384422a, 0x024fbfc0, 0x03119576, 0x027726a3, 0x00120eb6}}}, + {X: Field{[10]uint32{0x00709ee5, 0x03026e57, 0x03ca7aba, 0x012e33bc, 0x005c778e, 0x01701f36, 0x005406e9, 0x01f5b4c1, 0x039441ed, 0x0031811f}}, Y: Field{[10]uint32{0x00cfe52a, 0x010c6a54, 0x010e1236, 0x0194c99b, 0x02f7f632, 0x019b3abb, 0x00584194, 0x030ce68f, 0x00fea63d, 0x0006b85a}}}, + {X: Field{[10]uint32{0x00e036f9, 0x007c44ef, 0x019b0860, 0x01160dbe, 0x01b531c8, 0x0227548a, 0x0344f85f, 0x030c4124, 0x02019258, 0x003e4c22}}, Y: Field{[10]uint32{0x00b8e672, 0x027f5d61, 0x0231b6cb, 0x0264d308, 0x026500a9, 0x028dfcd5, 0x02337e62, 0x03a0503f, 0x030f632d, 0x000e23de}}}, + {X: Field{[10]uint32{0x00c4cd13, 0x02a52afa, 0x0358474f, 0x02403b81, 0x00cc6c13, 0x00c2c501, 0x01e49049, 0x0203cd60, 0x03f1c10d, 0x003924f6}}, Y: Field{[10]uint32{0x03739922, 0x025ef711, 0x03e40cfe, 0x00cefef7, 0x00d967ae, 0x03a94512, 0x002e2098, 0x0156dd59, 0x013ea0d4, 0x00147b66}}}, + {X: Field{[10]uint32{0x0240efe4, 0x02355a6c, 0x01ab7cba, 0x02f77186, 0x00e88b84, 0x0297144a, 0x034a7250, 0x00824d56, 0x024d1a07, 0x000be2f7}}, Y: Field{[10]uint32{0x02ac62d6, 0x021f4ea9, 0x02840dca, 0x006eac35, 0x02f78827, 0x01b27109, 0x01ba9dda, 0x038f5b53, 0x022636e5, 0x00362b08}}}, + {X: Field{[10]uint32{0x00297556, 0x015e8518, 0x0218b2f0, 0x00be15a2, 0x0382f647, 0x01548d74, 0x0053a143, 0x03ba9081, 0x03d5755e, 0x003ffe5e}}, Y: Field{[10]uint32{0x0075f297, 0x01c30dac, 0x024a03c8, 0x03d9463f, 0x00de80f0, 0x03d17158, 0x03e96017, 0x02d883ce, 0x037aacfb, 0x002b849d}}}, + {X: Field{[10]uint32{0x02c4f9bc, 0x02f77b72, 0x0239ce92, 0x01f80cc3, 0x023d419b, 0x00ba9e83, 0x018f365f, 0x02d3aa8e, 0x00646e5d, 0x00172f7c}}, Y: Field{[10]uint32{0x007264da, 0x02098a02, 0x027b5a50, 0x02e04ff7, 0x03a813d0, 0x01869536, 0x0178d6d8, 0x0165828c, 0x0240ba25, 0x001abaf2}}}, + {X: Field{[10]uint32{0x010a2a01, 0x0213bcf8, 0x0088a677, 0x001796be, 0x030a1bdd, 0x01c3cf0b, 0x033843fb, 0x00d476bf, 0x01e15cca, 0x000bc079}}, Y: Field{[10]uint32{0x00bde904, 0x028b2ddb, 0x03617b5d, 0x035ae96d, 0x00c2e213, 0x00cb44ed, 0x03d082a1, 0x026524a4, 0x00a74153, 0x0017136a}}}, + {X: Field{[10]uint32{0x0027ccbe, 0x03c4437f, 0x02714c35, 0x025d315f, 0x01e09796, 0x03d566af, 0x02d178a9, 0x03d94c26, 0x00e2f0c7, 0x002b3521}}, Y: Field{[10]uint32{0x024f9c37, 0x03098ab1, 0x00e0f05c, 0x0290dd7e, 0x01add888, 0x018ed87a, 0x03809717, 0x0367f590, 0x0121b0a7, 0x00330ce2}}}, + {X: Field{[10]uint32{0x03e247c7, 0x01a38a91, 0x002b752a, 0x026c650f, 0x013442d4, 0x02b9ab97, 0x0077c7b1, 0x032188d5, 0x019e47f3, 0x002810d3}}, Y: Field{[10]uint32{0x037368d7, 0x03b94ec0, 0x021593cb, 0x00bb61de, 0x016f794c, 0x00e8931a, 0x036c7e69, 0x02f09e8e, 0x02425419, 0x00224eae}}}, + {X: Field{[10]uint32{0x01a008cb, 0x0305e257, 0x03891bbe, 0x002f9705, 0x00564998, 0x003196ab, 0x034246b7, 0x0104797b, 0x03f858a9, 0x001dd2b9}}, Y: Field{[10]uint32{0x0153c61b, 0x035d3272, 0x016a8301, 0x038b7fe7, 0x01372db1, 0x01edecd9, 0x003dd56d, 0x01786409, 0x0032eb6b, 0x00366128}}}, + {X: Field{[10]uint32{0x00afe85a, 0x003d1c1c, 0x0095bc5b, 0x01065880, 0x03687cf4, 0x035cd18c, 0x0038f004, 0x01586c57, 0x01d548e7, 0x00340445}}, Y: Field{[10]uint32{0x00062327, 0x0146c4fd, 0x02d526b0, 0x017766a1, 0x0179238c, 0x005ef605, 0x0364537e, 0x03835ea2, 0x03fdc815, 0x002a7cd3}}}, + {X: Field{[10]uint32{0x01405aa8, 0x0377e3c6, 0x018cddee, 0x03198439, 0x01b075fb, 0x00dd2194, 0x011d205c, 0x00a22f1f, 0x03c2d975, 0x003ca1dc}}, Y: Field{[10]uint32{0x0303ed81, 0x0172d4b6, 0x0291f29b, 0x0369487e, 0x033a1a06, 0x01736bd1, 0x00212eb6, 0x002a25d6, 0x002e8d88, 0x0002ac24}}}, + {X: Field{[10]uint32{0x00e823e4, 0x02c90698, 0x009e6e49, 0x018d9e25, 0x0226aa7b, 0x01f4e38c, 0x024e67f0, 0x01c673f5, 0x039e895e, 0x001267f7}}, Y: Field{[10]uint32{0x03a13f5b, 0x03d03500, 0x015bcc65, 0x0309e8fe, 0x00464279, 0x01ecf519, 0x03044e4a, 0x02154643, 0x02c4b54e, 0x0032b0bd}}}, + {X: Field{[10]uint32{0x027e080e, 0x036f3e38, 0x0379e44a, 0x01bcf217, 0x0131e594, 0x0257fd04, 0x0065ae30, 0x03aa5969, 0x014f7d43, 0x0035e493}}, Y: Field{[10]uint32{0x02a26b58, 0x013727fd, 0x013a5c50, 0x00af625b, 0x03ea40af, 0x02331b7b, 0x0042ec22, 0x01ca9a0e, 0x0072a86c, 0x0016078a}}}, + {X: Field{[10]uint32{0x026dec0a, 0x03ba278a, 0x01ae9c44, 0x01a6e1e9, 0x03b2a313, 0x00708fa5, 0x011aabc2, 0x027b14c0, 0x0293b59e, 0x003983f3}}, Y: Field{[10]uint32{0x01616821, 0x00cb339a, 0x03f0be1f, 0x00791348, 0x00129689, 0x015e4dc4, 0x0399f34f, 0x02564a76, 0x007399e5, 0x003df8d4}}}, + }, + { + {X: Field{[10]uint32{0x026dec0a, 0x03ba278a, 0x01ae9c44, 0x01a6e1e9, 0x03b2a313, 0x00708fa5, 0x011aabc2, 0x027b14c0, 0x0293b59e, 0x003983f3}}, Y: Field{[10]uint32{0x01616821, 0x00cb339a, 0x03f0be1f, 0x00791348, 0x00129689, 0x015e4dc4, 0x0399f34f, 0x02564a76, 0x007399e5, 0x003df8d4}}}, + {X: Field{[10]uint32{0x03143e65, 0x0036f501, 0x0261d75d, 0x02e26412, 0x02dacffc, 0x00bcde33, 0x036e054e, 0x0288b51e, 0x01d74fb5, 0x0034c066}}, Y: Field{[10]uint32{0x00106ab9, 0x00ffc7c9, 0x0019605b, 0x030d93b6, 0x011f760c, 0x0260e019, 0x016dec9e, 0x03570ecf, 0x019d0ae3, 0x002540e3}}}, + {X: Field{[10]uint32{0x0118e5c3, 0x021c2a84, 0x02bc19bd, 0x009d14af, 0x03fc579b, 0x013996d2, 0x001656ef, 0x00c1f6d1, 0x035d9645, 0x001bb28c}}, Y: Field{[10]uint32{0x01a08668, 0x028bde01, 0x02c34498, 0x00e8efe3, 0x003a496a, 0x012e1d68, 0x02f57907, 0x001c4164, 0x03b57a7a, 0x00354048}}}, + {X: Field{[10]uint32{0x0074ef8b, 0x024639be, 0x03d81e37, 0x007736eb, 0x00fc4c6f, 0x020ca08f, 0x01051eaf, 0x03aadc2c, 0x01542d16, 0x002fc8f0}}, Y: Field{[10]uint32{0x02831d9f, 0x00dfbf99, 0x02f784dc, 0x01520478, 0x00c522fc, 0x0294e4b9, 0x01928a0b, 0x000dcdeb, 0x026fc330, 0x00172ce1}}}, + {X: Field{[10]uint32{0x0387f62e, 0x034c7853, 0x021270ec, 0x00e18dc5, 0x0010e6e6, 0x00d1967c, 0x03c744ed, 0x0243b035, 0x03bef1bf, 0x003a588e}}, Y: Field{[10]uint32{0x004ee737, 0x004fabe9, 0x0044e530, 0x032775a2, 0x01fe6043, 0x03b6aa4a, 0x03e953a8, 0x0267a783, 0x003b4bc2, 0x000e2a5d}}}, + {X: Field{[10]uint32{0x038cb0e3, 0x00ceb29f, 0x023a4439, 0x00ff87bf, 0x02a22eb5, 0x02cbadcb, 0x0264e044, 0x01b63e3e, 0x00e57445, 0x000fc3a0}}, Y: Field{[10]uint32{0x025f404f, 0x00a278ba, 0x013a4cb0, 0x00ea996d, 0x03950125, 0x0217406c, 0x00b9c084, 0x02f247a4, 0x03d7296c, 0x0032d9b5}}}, + {X: Field{[10]uint32{0x028d733c, 0x02ab7e0a, 0x028f9eb0, 0x02fd8bf2, 0x02ffc274, 0x002035a0, 0x004a36f2, 0x0076e822, 0x0173e516, 0x002f20b7}}, Y: Field{[10]uint32{0x007797f0, 0x0218413d, 0x017301e7, 0x02eb9ce2, 0x03ae93a0, 0x0067c0b7, 0x029b4bf7, 0x0072b152, 0x003a044b, 0x00397ca3}}}, + {X: Field{[10]uint32{0x0369a24e, 0x001dd159, 0x01655647, 0x035c014d, 0x00bcf55c, 0x01f459c7, 0x02c3d09f, 0x01e819a5, 0x03e4033f, 0x000d3fce}}, Y: Field{[10]uint32{0x03cc2f1a, 0x00419e9c, 0x03681849, 0x030fa3e2, 0x0055df16, 0x020c8263, 0x02619d89, 0x01b154fd, 0x01623a23, 0x00176744}}}, + {X: Field{[10]uint32{0x03bc7671, 0x03f88c57, 0x00e32d7e, 0x03214a16, 0x00743f1b, 0x01e63d24, 0x00291ce1, 0x01c84748, 0x0248c765, 0x00238f44}}, Y: Field{[10]uint32{0x00717dec, 0x00771906, 0x0144a7ef, 0x02aa98f8, 0x02b9352b, 0x00e4fa43, 0x00480e19, 0x032e07d9, 0x00e10ecf, 0x00026692}}}, + {X: Field{[10]uint32{0x01b03f6c, 0x030cab54, 0x0184b05e, 0x0048aa6c, 0x02a4d047, 0x03dcfd5d, 0x00776838, 0x036488af, 0x03a27a52, 0x000c2244}}, Y: Field{[10]uint32{0x00fe4c67, 0x02d7bf3a, 0x01f1260a, 0x03aa0af4, 0x01a8333f, 0x01b00dd7, 0x023531f6, 0x02f97e47, 0x009543fe, 0x003d296c}}}, + {X: Field{[10]uint32{0x02b31db2, 0x021d0caf, 0x006a0f32, 0x009e23d4, 0x028fcae8, 0x002228ad, 0x02a193ed, 0x02926225, 0x01aa2234, 0x001e2a24}}, Y: Field{[10]uint32{0x01fa4343, 0x027588ee, 0x0382d306, 0x03376002, 0x0254379b, 0x01cc0b7d, 0x035f2552, 0x00d72ff3, 0x035beb50, 0x001a44a8}}}, + {X: Field{[10]uint32{0x03ce1752, 0x01d43dcc, 0x0204ec7b, 0x025f5f34, 0x02e783c7, 0x026726ba, 0x02ddf64d, 0x0318d604, 0x0258d01d, 0x0035e836}}, Y: Field{[10]uint32{0x0362cef4, 0x0009ce01, 0x03742bbc, 0x02a3018a, 0x010be040, 0x0038a119, 0x03292834, 0x0200cbdb, 0x00e06800, 0x002449dc}}}, + {X: Field{[10]uint32{0x01b0e595, 0x0123dde3, 0x002bb653, 0x02e7ee82, 0x03a7163c, 0x00581dba, 0x00e37658, 0x006c5f5f, 0x001855db, 0x001f619e}}, Y: Field{[10]uint32{0x00733de8, 0x01478eaf, 0x01532999, 0x01383897, 0x00293784, 0x0353e20e, 0x0162e2be, 0x03e1dcb9, 0x02dfec86, 0x0038ae66}}}, + {X: Field{[10]uint32{0x00e6b514, 0x03115c1b, 0x03322609, 0x031e6cd5, 0x01890905, 0x00211352, 0x005c3560, 0x03b45622, 0x01c2f919, 0x00022f22}}, Y: Field{[10]uint32{0x00c95157, 0x00fd33aa, 0x036f06f6, 0x0158449d, 0x01172d30, 0x02d624b0, 0x0376fec3, 0x03305b79, 0x03cdd7cd, 0x0034c4fc}}}, + {X: Field{[10]uint32{0x02060dfc, 0x03fbe145, 0x02a2a008, 0x02108179, 0x0276545f, 0x0106ac21, 0x0094b9dc, 0x00ab2121, 0x010f0058, 0x0037714c}}, Y: Field{[10]uint32{0x03820ca8, 0x03e2adb9, 0x00730fb5, 0x031aaf41, 0x0041dbaf, 0x0323c3a4, 0x011ab6dc, 0x025a4806, 0x033af20d, 0x002e834b}}}, + {X: Field{[10]uint32{0x01f51508, 0x01b88ff5, 0x01ca1064, 0x02af56b0, 0x00d8c39c, 0x01cb788e, 0x02a6e3e1, 0x002767a8, 0x023212c6, 0x0020a089}}, Y: Field{[10]uint32{0x02e26caf, 0x02dbabfd, 0x017bed31, 0x02b0bdec, 0x0262d613, 0x002d82b3, 0x00256e83, 0x037f917a, 0x00098557, 0x00047e2a}}}, + }, + { + {X: Field{[10]uint32{0x01f51508, 0x01b88ff5, 0x01ca1064, 0x02af56b0, 0x00d8c39c, 0x01cb788e, 0x02a6e3e1, 0x002767a8, 0x023212c6, 0x0020a089}}, Y: Field{[10]uint32{0x02e26caf, 0x02dbabfd, 0x017bed31, 0x02b0bdec, 0x0262d613, 0x002d82b3, 0x00256e83, 0x037f917a, 0x00098557, 0x00047e2a}}}, + {X: Field{[10]uint32{0x0334a24d, 0x038b003b, 0x019d0926, 0x01a36785, 0x010adbc9, 0x033e4635, 0x01a857a9, 0x027fce41, 0x00b287a7, 0x001194dc}}, Y: Field{[10]uint32{0x033887f4, 0x023ec82c, 0x03a10a2f, 0x02c8574d, 0x01588e09, 0x037bb0b0, 0x02f8bdaf, 0x03020a92, 0x01b38368, 0x000d794c}}}, + {X: Field{[10]uint32{0x017e8dfa, 0x03032e79, 0x02184fcf, 0x02468f1f, 0x00098091, 0x032a6328, 0x01a30f8a, 0x02713036, 0x032ff079, 0x002098b3}}, Y: Field{[10]uint32{0x03ac376a, 0x03fe363e, 0x0047835c, 0x00ccac53, 0x0057b6ed, 0x016cd3cd, 0x03ee22ec, 0x0279399b, 0x01e20910, 0x0020ff65}}}, + {X: Field{[10]uint32{0x0285131f, 0x02406cb8, 0x03088d5b, 0x0337204e, 0x00aaec6e, 0x01ab5890, 0x024a18f6, 0x02f5df59, 0x03b8e23c, 0x000907fa}}, Y: Field{[10]uint32{0x0350026d, 0x00f99bc9, 0x035afabb, 0x003ef432, 0x00cd50fd, 0x00e6077e, 0x00420bd1, 0x03e34f5b, 0x00d9ff94, 0x00144cde}}}, + {X: Field{[10]uint32{0x026bdb6f, 0x00b922c0, 0x00b94905, 0x0351edcd, 0x037ca41b, 0x033a6721, 0x00105b24, 0x0377545a, 0x008b1da0, 0x00066097}}, Y: Field{[10]uint32{0x009cfc9b, 0x03dc2131, 0x013a6b5d, 0x033233db, 0x00ebe9ee, 0x013d67db, 0x00261cc9, 0x021e3cc8, 0x010f0d4c, 0x0018a50c}}}, + {X: Field{[10]uint32{0x0070620c, 0x03307c9f, 0x008d9d17, 0x02faaf0a, 0x004998c4, 0x02d9c5e0, 0x00dd31a2, 0x008db718, 0x00a48d2c, 0x000594ea}}, Y: Field{[10]uint32{0x015b32cd, 0x00ba074c, 0x01c526ca, 0x01237f4f, 0x00012af7, 0x03be9c07, 0x03a99474, 0x01fdebab, 0x010935af, 0x0000ce0a}}}, + {X: Field{[10]uint32{0x0182824c, 0x0342548f, 0x034e650e, 0x00d17854, 0x02dfa58e, 0x01b0a667, 0x005f56ec, 0x0064510f, 0x006c1160, 0x001bc4b6}}, Y: Field{[10]uint32{0x02eb34d0, 0x0270d201, 0x03c5b857, 0x01042152, 0x01391c92, 0x03588dda, 0x01994f3f, 0x02fe821d, 0x03f44ab3, 0x001713fd}}}, + {X: Field{[10]uint32{0x03920471, 0x02d8c1a6, 0x01e0dedc, 0x0217d08f, 0x01fc318b, 0x00f63e36, 0x024cc298, 0x03e9e7f3, 0x034ea172, 0x001746f6}}, Y: Field{[10]uint32{0x03b83103, 0x00c199bd, 0x02e7b703, 0x02665b15, 0x0279eb1e, 0x02288995, 0x00bb9943, 0x0278b9e5, 0x02677937, 0x000a10e0}}}, + {X: Field{[10]uint32{0x03453629, 0x037700b6, 0x02603076, 0x03703d67, 0x0245cfdc, 0x008eafbd, 0x0262716a, 0x02a97450, 0x006f9a0a, 0x00080ea3}}, Y: Field{[10]uint32{0x03f89f84, 0x0071e14f, 0x01ed4597, 0x009714a1, 0x02686deb, 0x03d04184, 0x00c76d15, 0x0366e4db, 0x0353de5d, 0x000ec3c2}}}, + {X: Field{[10]uint32{0x0147f3d6, 0x011955ec, 0x00b45b94, 0x0085eae3, 0x03553199, 0x01195440, 0x026a3632, 0x02c78467, 0x0332c294, 0x0011d291}}, Y: Field{[10]uint32{0x00628ba4, 0x03a14a0a, 0x01300dce, 0x005c0438, 0x0311fa7f, 0x00e922a8, 0x02cc30cc, 0x03c13bb4, 0x02231206, 0x00251897}}}, + {X: Field{[10]uint32{0x006c7ecb, 0x004c3779, 0x00ce9783, 0x00ff96ed, 0x009d3aed, 0x0219b87b, 0x01ef7334, 0x01060720, 0x02eb3d03, 0x001b8ab2}}, Y: Field{[10]uint32{0x02bc8720, 0x024807bb, 0x0112c844, 0x02e46d9d, 0x02fac706, 0x003ed90e, 0x000c4daf, 0x03b85276, 0x006797ef, 0x00279869}}}, + {X: Field{[10]uint32{0x031dabcd, 0x010ae9b9, 0x00b4f47d, 0x01262797, 0x0354d3fe, 0x002d4dcf, 0x018ae326, 0x03d0f182, 0x00fb6b63, 0x003527b9}}, Y: Field{[10]uint32{0x016603c2, 0x02a433c0, 0x03031e66, 0x024c4bfd, 0x02129c50, 0x0186fcd5, 0x0087ea7a, 0x0124375f, 0x039209a5, 0x00014c78}}}, + {X: Field{[10]uint32{0x00a4147e, 0x00063cfc, 0x03201eb7, 0x022fddd7, 0x002747dd, 0x02924296, 0x021717e8, 0x0055aebd, 0x0092e9e9, 0x003569c1}}, Y: Field{[10]uint32{0x03fb65ff, 0x02cf2e0c, 0x0357f8e4, 0x0211e59f, 0x02f4c4d9, 0x0197814c, 0x00909907, 0x02271bf1, 0x02f5dbab, 0x00276d49}}}, + {X: Field{[10]uint32{0x003841c6, 0x02a3da2d, 0x02fbd63d, 0x03034d0f, 0x0212aa3c, 0x033afd30, 0x03b6b52d, 0x00226526, 0x009e03df, 0x001b3044}}, Y: Field{[10]uint32{0x0154e94d, 0x00ce91ae, 0x02cf5b97, 0x00f8b641, 0x00d79b43, 0x028a7ffb, 0x03d3d6b0, 0x012dd83f, 0x02fe9c09, 0x002bd586}}}, + {X: Field{[10]uint32{0x00edcec6, 0x036d1af6, 0x00f454ed, 0x030b4d8d, 0x02a1061c, 0x000b36b1, 0x023efc63, 0x022ea014, 0x019aabe1, 0x000e3144}}, Y: Field{[10]uint32{0x0133db08, 0x0382fec6, 0x030a6456, 0x0208ad54, 0x0328a16c, 0x01d7ca0b, 0x00cb2da2, 0x01cca99a, 0x012285d9, 0x00399277}}}, + {X: Field{[10]uint32{0x01e5b739, 0x03396d54, 0x022ed73f, 0x00cff488, 0x01e0b938, 0x01bf211b, 0x0399cc6c, 0x021969cb, 0x019f728b, 0x0005d785}}, Y: Field{[10]uint32{0x01fed695, 0x029bffba, 0x0345c6ef, 0x016b7490, 0x02acb595, 0x03fdc7d7, 0x02f97a51, 0x01e7ae93, 0x020d9e3c, 0x0034d41b}}}, + }, + { + {X: Field{[10]uint32{0x01e5b739, 0x03396d54, 0x022ed73f, 0x00cff488, 0x01e0b938, 0x01bf211b, 0x0399cc6c, 0x021969cb, 0x019f728b, 0x0005d785}}, Y: Field{[10]uint32{0x01fed695, 0x029bffba, 0x0345c6ef, 0x016b7490, 0x02acb595, 0x03fdc7d7, 0x02f97a51, 0x01e7ae93, 0x020d9e3c, 0x0034d41b}}}, + {X: Field{[10]uint32{0x02bc47d6, 0x02012791, 0x0121bce7, 0x02d71b68, 0x0130fdfe, 0x004e7188, 0x03fbcc8e, 0x00cb5e97, 0x013f03ff, 0x00108e80}}, Y: Field{[10]uint32{0x03548a34, 0x00db9b62, 0x0009ed12, 0x030d493c, 0x03720d8e, 0x02bdacf1, 0x0179f7bb, 0x0365c284, 0x000fe1e1, 0x002e46b8}}}, + {X: Field{[10]uint32{0x01041216, 0x01fe3c71, 0x0036a65b, 0x03da10ae, 0x023f7335, 0x030bfb54, 0x00b59efd, 0x02b3d04a, 0x017b21f7, 0x00369d4c}}, Y: Field{[10]uint32{0x02708572, 0x034ca61b, 0x00edadae, 0x01eb9deb, 0x02e9aac0, 0x010b5ff1, 0x019e21b3, 0x0357c37c, 0x0046bf72, 0x001cfe28}}}, + {X: Field{[10]uint32{0x0016824a, 0x037dbde1, 0x02741302, 0x00bcecf8, 0x0249df66, 0x0335a1dd, 0x0107a7ab, 0x02e41422, 0x0245ac1f, 0x0004475a}}, Y: Field{[10]uint32{0x0108e9d0, 0x00447508, 0x00a4ca9a, 0x02265b6b, 0x02f07000, 0x03c19654, 0x00d48dbf, 0x02bfeee4, 0x011c478e, 0x0001a5a4}}}, + {X: Field{[10]uint32{0x0065a930, 0x010f9c79, 0x012fdb01, 0x0305ac4d, 0x022587f1, 0x02a0bac7, 0x033c58c4, 0x01275c15, 0x01b48e97, 0x00071c71}}, Y: Field{[10]uint32{0x034638b5, 0x01cfdb30, 0x00d471d8, 0x00fedc5d, 0x0079345e, 0x0092eda3, 0x013f1f28, 0x03e8309c, 0x0334e8f5, 0x0012a470}}}, + {X: Field{[10]uint32{0x0062bac0, 0x014c93cf, 0x02b06950, 0x037d47c2, 0x0219150d, 0x00fa2dc3, 0x024b7d2c, 0x011a704d, 0x00f9023f, 0x00254c3c}}, Y: Field{[10]uint32{0x0218e309, 0x02af6a5d, 0x01c68478, 0x0214bc7f, 0x00e25b32, 0x026cccf8, 0x01d2f7f5, 0x008788d3, 0x005a8f9f, 0x0023cf0c}}}, + {X: Field{[10]uint32{0x02db6ee7, 0x0236b96e, 0x02077e31, 0x010c9d12, 0x007850dd, 0x0026d327, 0x02e837a9, 0x02959a4d, 0x02fc1f31, 0x00361392}}, Y: Field{[10]uint32{0x002ebed2, 0x0155b9b5, 0x0264982d, 0x025d2a8f, 0x01fdd8ac, 0x01597793, 0x0238d58f, 0x01e7384a, 0x009a7c7b, 0x00394960}}}, + {X: Field{[10]uint32{0x03ced775, 0x03b77806, 0x00e56ab5, 0x02297bdd, 0x037290b6, 0x032e773f, 0x0395dbeb, 0x0322e2b5, 0x01c97ac7, 0x0012929b}}, Y: Field{[10]uint32{0x038dd66d, 0x03e3da29, 0x002acb2b, 0x036d091d, 0x031de90c, 0x02703d15, 0x03ef9f73, 0x0079ca50, 0x01b01663, 0x0014a644}}}, + {X: Field{[10]uint32{0x009e6d10, 0x03a7b3e9, 0x019d2394, 0x03cebab2, 0x03f60adf, 0x017fdbb4, 0x0322b928, 0x02053506, 0x004bde66, 0x003cf511}}, Y: Field{[10]uint32{0x0347da3f, 0x00e33014, 0x02c630a0, 0x01433a75, 0x03fc1ada, 0x026292d6, 0x02b95ac1, 0x0058f52e, 0x00dfa6f0, 0x000290c9}}}, + {X: Field{[10]uint32{0x0147b4b3, 0x0246dde9, 0x01411f5e, 0x0347f599, 0x00356929, 0x0026548b, 0x0382efee, 0x013dd477, 0x002f1d8e, 0x003c01b1}}, Y: Field{[10]uint32{0x006aa74b, 0x03d127ea, 0x03ae1b5e, 0x03bb5af9, 0x0275c933, 0x0393df45, 0x007848a4, 0x01482971, 0x00d4a666, 0x003da055}}}, + {X: Field{[10]uint32{0x01d33a07, 0x02cd01ba, 0x03cab48c, 0x0022a8e6, 0x004e72ee, 0x036f7d01, 0x0085520c, 0x007627e4, 0x012c9d9c, 0x002b8c19}}, Y: Field{[10]uint32{0x00a0b2a6, 0x01c303d8, 0x0295c748, 0x03d77f5f, 0x031c9c37, 0x036e3573, 0x00ce7d33, 0x03f95fbf, 0x01c38d63, 0x001b2e76}}}, + {X: Field{[10]uint32{0x003c9c8f, 0x0010e177, 0x027b2067, 0x03b8f90d, 0x00f2816f, 0x02a8ccac, 0x009ff43a, 0x0263f5bc, 0x02dcbe42, 0x0019ef80}}, Y: Field{[10]uint32{0x013652d9, 0x02126616, 0x002be553, 0x03d82e23, 0x03cd993b, 0x020a45a4, 0x00945b60, 0x03be128b, 0x01a73e4d, 0x001ea6d5}}}, + {X: Field{[10]uint32{0x0028caca, 0x01952e43, 0x001da759, 0x02ef320a, 0x021869c7, 0x00ce2326, 0x0217e758, 0x03872057, 0x032a5bd5, 0x00363706}}, Y: Field{[10]uint32{0x03b3ec7a, 0x019dba88, 0x028f6cdb, 0x00b3b204, 0x007d315d, 0x00091f65, 0x02d8da42, 0x031f5631, 0x02d927ce, 0x00233b02}}}, + {X: Field{[10]uint32{0x018b01b5, 0x00be5d14, 0x03adac5c, 0x022e1c42, 0x01ddccc8, 0x0149016c, 0x0250c453, 0x03a21706, 0x0346403d, 0x00039a6c}}, Y: Field{[10]uint32{0x00d965c5, 0x03b8da1e, 0x0283e418, 0x017cf401, 0x03cedf59, 0x01f5f74d, 0x01ed70ab, 0x03914987, 0x02c5fcd7, 0x0002d3be}}}, + {X: Field{[10]uint32{0x03c4416f, 0x007ed98e, 0x00402892, 0x008fcc2c, 0x01a7aefd, 0x000cbcc7, 0x01425a8d, 0x013b3356, 0x0292c5f8, 0x0009d278}}, Y: Field{[10]uint32{0x006bbd8e, 0x022f78bf, 0x021057e9, 0x02d97ba5, 0x02f59e9f, 0x03f2b6cf, 0x03d94990, 0x00af1100, 0x014e3767, 0x0014330b}}}, + {X: Field{[10]uint32{0x03ff4640, 0x02eb63e0, 0x02ffe526, 0x01f95554, 0x0053441c, 0x01898bb8, 0x00eac05b, 0x00327267, 0x00d447b0, 0x000d8f64}}, Y: Field{[10]uint32{0x03ee9de9, 0x000f1fce, 0x01ecb620, 0x02402066, 0x0145b9a8, 0x01fccd8c, 0x03b44539, 0x00888654, 0x03adfc73, 0x0001389c}}}, + }, + { + {X: Field{[10]uint32{0x03ff4640, 0x02eb63e0, 0x02ffe526, 0x01f95554, 0x0053441c, 0x01898bb8, 0x00eac05b, 0x00327267, 0x00d447b0, 0x000d8f64}}, Y: Field{[10]uint32{0x03ee9de9, 0x000f1fce, 0x01ecb620, 0x02402066, 0x0145b9a8, 0x01fccd8c, 0x03b44539, 0x00888654, 0x03adfc73, 0x0001389c}}}, + {X: Field{[10]uint32{0x0392c541, 0x004a972b, 0x0359dd27, 0x0004bb7e, 0x030b62fb, 0x024ec0af, 0x03973c6c, 0x01fa6d54, 0x0066ed9a, 0x001306e6}}, Y: Field{[10]uint32{0x028fe020, 0x013cff71, 0x031ad72c, 0x035f90fa, 0x00c652ea, 0x0395b9a7, 0x03cb753c, 0x02283dfe, 0x02d320be, 0x00307de4}}}, + {X: Field{[10]uint32{0x02e55dc8, 0x024485bd, 0x004394b8, 0x02dbab28, 0x026ff95a, 0x00142510, 0x004a440c, 0x03fecaea, 0x004790c5, 0x00110c50}}, Y: Field{[10]uint32{0x03e323b3, 0x02512bb6, 0x02e5031d, 0x02de7aa8, 0x03a66a29, 0x0190bfb5, 0x019837f5, 0x019be3fa, 0x0142e653, 0x0025ac30}}}, + {X: Field{[10]uint32{0x02aaf3d1, 0x023ca32f, 0x03135e0c, 0x02f068a3, 0x023233ed, 0x01e02d53, 0x01a2f3c0, 0x02c4ad4a, 0x0077ba83, 0x0029020e}}, Y: Field{[10]uint32{0x00b254b9, 0x02d4d37c, 0x02f90b12, 0x015dbb47, 0x022001e7, 0x00d86cf8, 0x03f83d69, 0x02f1e6e2, 0x0212feef, 0x00103a7d}}}, + {X: Field{[10]uint32{0x001b23a8, 0x0252175c, 0x02e0adfe, 0x011c2a1f, 0x01ab7b7d, 0x02484227, 0x02243d5b, 0x02a1f049, 0x028d866c, 0x002788bf}}, Y: Field{[10]uint32{0x0084edae, 0x0104f142, 0x01cecf7a, 0x0127ed44, 0x03c0f7c9, 0x0267054c, 0x03f3f020, 0x00b4405d, 0x00e9ca12, 0x003f4bfc}}}, + {X: Field{[10]uint32{0x03f0e9aa, 0x0178658c, 0x0134b3eb, 0x01dac46f, 0x02681127, 0x01604e34, 0x0124ae0d, 0x009ab6de, 0x03e8575f, 0x00394e03}}, Y: Field{[10]uint32{0x0082720f, 0x02904d90, 0x0318ec4b, 0x0177d1a0, 0x016fb94e, 0x00932380, 0x02913639, 0x02d0756d, 0x00739087, 0x002e5ff6}}}, + {X: Field{[10]uint32{0x031a70e4, 0x01022fc1, 0x03475dd7, 0x007d7d73, 0x01cd5ee5, 0x01c14c1b, 0x01d69e64, 0x00aa34bb, 0x02d503ce, 0x0014237d}}, Y: Field{[10]uint32{0x01950984, 0x0396fdca, 0x02dfedf2, 0x00a3ba2a, 0x014ec032, 0x00cf9271, 0x03304aa7, 0x0310b5dd, 0x039b933b, 0x00055310}}}, + {X: Field{[10]uint32{0x0140d33a, 0x00f6d69e, 0x003b98cd, 0x00291508, 0x036e0d88, 0x03d5b21b, 0x00e3e1a2, 0x0302d4e9, 0x0241d28c, 0x002a0131}}, Y: Field{[10]uint32{0x0146967a, 0x03a57e9b, 0x036a943c, 0x02a273dc, 0x001af18c, 0x005811fa, 0x02c2842c, 0x029b40f7, 0x03252b2f, 0x00256fa0}}}, + {X: Field{[10]uint32{0x021abe11, 0x03f69db3, 0x0220f6ea, 0x0309672c, 0x02dab921, 0x00c0496c, 0x00df5819, 0x025d8cce, 0x03845510, 0x0038f6ff}}, Y: Field{[10]uint32{0x03a8de63, 0x026b5527, 0x01c414b4, 0x0240f1ad, 0x03d3c97d, 0x02e2a3bc, 0x038fa75d, 0x00508590, 0x01099a34, 0x0001bcbe}}}, + {X: Field{[10]uint32{0x023968b6, 0x00a4de2d, 0x03ab2e69, 0x0197b678, 0x02f40261, 0x0224224e, 0x005a9600, 0x01e7ed0f, 0x023dfc65, 0x003de92f}}, Y: Field{[10]uint32{0x00c34882, 0x03768cb4, 0x0105e494, 0x02e34440, 0x0299702f, 0x023294b4, 0x01290303, 0x03185487, 0x036ce823, 0x0035b77b}}}, + {X: Field{[10]uint32{0x03593449, 0x006c8d80, 0x006ffdcf, 0x004b90a9, 0x02f61b7c, 0x001f4052, 0x00d9c13a, 0x0250361e, 0x0064c7de, 0x00066b38}}, Y: Field{[10]uint32{0x01f83631, 0x0052e4eb, 0x0068a3a4, 0x027d0210, 0x02ac710b, 0x02500b11, 0x02bd739d, 0x028cceff, 0x02035268, 0x0038de64}}}, + {X: Field{[10]uint32{0x02bc61d6, 0x034d86fb, 0x002de1ae, 0x029f67fd, 0x018a8fd3, 0x035ac7d4, 0x015f0d15, 0x026bc30e, 0x03e4a3ed, 0x0024e7fc}}, Y: Field{[10]uint32{0x03f5cb70, 0x03a919a8, 0x03f82e75, 0x01bade31, 0x00980bf2, 0x03c05b01, 0x006fc4ee, 0x02a43a75, 0x03cf08b7, 0x0037aace}}}, + {X: Field{[10]uint32{0x00ba6b63, 0x03a624b3, 0x03bb5ee3, 0x01d3f42c, 0x010a0fe6, 0x03aa238c, 0x00c33228, 0x01f6a842, 0x00ec20f8, 0x00361d03}}, Y: Field{[10]uint32{0x0134c5f3, 0x028db01a, 0x0294abee, 0x01730e05, 0x0140104f, 0x000eb0df, 0x00a6ee99, 0x00cafcde, 0x0133c6b9, 0x00191cb0}}}, + {X: Field{[10]uint32{0x028ff2cf, 0x03b5ba22, 0x02094a34, 0x0171ec18, 0x0038ea75, 0x00901469, 0x03a98dba, 0x02b8c1e5, 0x025f1c4c, 0x000066a7}}, Y: Field{[10]uint32{0x030e4352, 0x01f9d9b6, 0x02d353a7, 0x03ba2121, 0x000ce7eb, 0x0004adcc, 0x01062925, 0x02bd7bea, 0x0067ea85, 0x00079987}}}, + {X: Field{[10]uint32{0x033ec038, 0x013fcb06, 0x02b27619, 0x01ab9831, 0x00d9fd51, 0x03ca4294, 0x0083e762, 0x01820d92, 0x03391b50, 0x00162b0c}}, Y: Field{[10]uint32{0x00246279, 0x02a8fc44, 0x03bca16e, 0x00f02d3e, 0x03021904, 0x02647fa5, 0x0379249e, 0x024b65e1, 0x0306d55c, 0x002458f5}}}, + {X: Field{[10]uint32{0x03fdf80c, 0x01e69577, 0x00d1b69f, 0x0206856f, 0x0043e4a7, 0x01d158e2, 0x02244b5b, 0x030afa31, 0x03165df3, 0x0022d2d7}}, Y: Field{[10]uint32{0x03d4fd36, 0x03fc3197, 0x02e56b3e, 0x0151858b, 0x00f9e336, 0x02ac3681, 0x03bd7813, 0x0022d2cf, 0x026f68d3, 0x0012ab42}}}, + }, + { + {X: Field{[10]uint32{0x03fdf80c, 0x01e69577, 0x00d1b69f, 0x0206856f, 0x0043e4a7, 0x01d158e2, 0x02244b5b, 0x030afa31, 0x03165df3, 0x0022d2d7}}, Y: Field{[10]uint32{0x03d4fd36, 0x03fc3197, 0x02e56b3e, 0x0151858b, 0x00f9e336, 0x02ac3681, 0x03bd7813, 0x0022d2cf, 0x026f68d3, 0x0012ab42}}}, + {X: Field{[10]uint32{0x0355e4be, 0x03c99c51, 0x0197abb3, 0x03b905f2, 0x0071af64, 0x020f1844, 0x0217c7ec, 0x0245c633, 0x00e4e132, 0x003b4317}}, Y: Field{[10]uint32{0x007bf42f, 0x027e9ba8, 0x01ab163f, 0x0095d8f7, 0x0049d939, 0x029fa9a0, 0x03dad7f5, 0x0116f6fc, 0x03c7bc23, 0x000886a7}}}, + {X: Field{[10]uint32{0x015812dd, 0x00a960bd, 0x030e2a0a, 0x008d54b4, 0x023d4467, 0x00163de3, 0x02abed6c, 0x00d4bc2d, 0x017a92ff, 0x001c0a6f}}, Y: Field{[10]uint32{0x022d2927, 0x03319ac6, 0x0073c721, 0x01090ecb, 0x0047dae8, 0x00c1a0eb, 0x016544ae, 0x02cf49f7, 0x02dafde8, 0x002c3bbe}}}, + {X: Field{[10]uint32{0x03cec8ab, 0x01b9b201, 0x012ced4b, 0x0159b815, 0x00e53254, 0x00fc7eba, 0x0315c3f8, 0x039a52ce, 0x0013c44c, 0x003ebb2c}}, Y: Field{[10]uint32{0x03155070, 0x0077f66a, 0x02e2e898, 0x021ae178, 0x019c32b2, 0x030bec4f, 0x02e02c6e, 0x032d5ff0, 0x01e90e9e, 0x0033026d}}}, + {X: Field{[10]uint32{0x01486ed1, 0x0395a0ef, 0x01b6a49c, 0x02e92559, 0x005745be, 0x0233dd58, 0x01d4109d, 0x01726402, 0x01caeae6, 0x002733fb}}, Y: Field{[10]uint32{0x01e95d8d, 0x03567b5d, 0x02aa24f6, 0x0165a564, 0x01242167, 0x0002cd04, 0x01224812, 0x00cb3ed8, 0x01713d6a, 0x001f0bd3}}}, + {X: Field{[10]uint32{0x0181fdc2, 0x02affe6c, 0x02364dcd, 0x02ed7318, 0x02dd2f62, 0x0228d39f, 0x02264b81, 0x01b91d2a, 0x002af47e, 0x003d0b04}}, Y: Field{[10]uint32{0x0085d7fd, 0x000024e9, 0x00f2681f, 0x00b668ab, 0x024c1550, 0x021bf88a, 0x03ad05cb, 0x0201b1e3, 0x02b46cfe, 0x0015d40e}}}, + {X: Field{[10]uint32{0x03d0eaca, 0x01ac69d6, 0x00ab7a20, 0x01dae8b5, 0x01d0c745, 0x032937c6, 0x028fde33, 0x01050cd6, 0x03876341, 0x00336692}}, Y: Field{[10]uint32{0x03ff4acc, 0x03ebed6a, 0x0234f6e6, 0x023bb5bd, 0x030127b3, 0x00cfa822, 0x01488ae9, 0x03c8fa05, 0x0079a1e8, 0x003c1156}}}, + {X: Field{[10]uint32{0x02d1b1f7, 0x0193aba6, 0x00d3e07f, 0x02093c8f, 0x01b3b2dd, 0x01f2f2bf, 0x0331a0b3, 0x034bcb21, 0x02132dca, 0x00026ee2}}, Y: Field{[10]uint32{0x03811c80, 0x00c189f0, 0x02d53641, 0x0103d1d4, 0x010f54a8, 0x03e18fa1, 0x039dd284, 0x038ee6db, 0x02b2afee, 0x002516ec}}}, + {X: Field{[10]uint32{0x03bc57c6, 0x0254e8f1, 0x036cbf20, 0x0288fac9, 0x004903d7, 0x00f58c25, 0x00f2d2e9, 0x026faa21, 0x002f88ed, 0x002b4262}}, Y: Field{[10]uint32{0x024a0ab8, 0x00b03b6b, 0x022d3ca3, 0x00dcd643, 0x037b311d, 0x0276af97, 0x00186c72, 0x0294ae8a, 0x008c42fb, 0x001c90f0}}}, + {X: Field{[10]uint32{0x03927dc7, 0x036ad913, 0x018a49e2, 0x00358f50, 0x0337a7a4, 0x019a8508, 0x029ed953, 0x029aef99, 0x00cc082b, 0x00389828}}, Y: Field{[10]uint32{0x02aef35d, 0x03cdbd11, 0x0382da45, 0x02d118b2, 0x00edbcc0, 0x0096fd10, 0x033cb3d7, 0x02759fc1, 0x0344b0da, 0x000dfb99}}}, + {X: Field{[10]uint32{0x03a56302, 0x00c31caa, 0x01862ea8, 0x00debc3c, 0x00f506a9, 0x027eb4b8, 0x02da2d2a, 0x02907c7a, 0x010aeb3c, 0x0036744a}}, Y: Field{[10]uint32{0x00291c29, 0x0376bea2, 0x00f2aeaa, 0x03367e9d, 0x001739ae, 0x0098e1b9, 0x01715c67, 0x00fbb40a, 0x0113ec2d, 0x001fad4c}}}, + {X: Field{[10]uint32{0x02dd7dd6, 0x01b51f7b, 0x0168c386, 0x03899786, 0x0049376f, 0x039f3f7b, 0x01a7840e, 0x01492f29, 0x036a24c7, 0x000cb3f3}}, Y: Field{[10]uint32{0x0208e330, 0x03512bbf, 0x0208b25f, 0x03480d26, 0x027a0d8c, 0x0027d587, 0x008096a4, 0x01dd2188, 0x0234976a, 0x0008611a}}}, + {X: Field{[10]uint32{0x00d1243a, 0x034dc13d, 0x025fdbac, 0x0008fd52, 0x0002b126, 0x018fd561, 0x00d21ac0, 0x01b3be47, 0x01de539d, 0x002f141e}}, Y: Field{[10]uint32{0x015db68a, 0x02545a21, 0x03169f5c, 0x03d6c7d1, 0x035f7ee4, 0x037ff235, 0x02c72b94, 0x0172ee3b, 0x023b3a70, 0x0019418a}}}, + {X: Field{[10]uint32{0x02abf83d, 0x0340ff7d, 0x00596696, 0x0163ecb4, 0x02b8f940, 0x00348b00, 0x00be68f1, 0x03127cfb, 0x02dde85a, 0x0008d72a}}, Y: Field{[10]uint32{0x0133e191, 0x03b27a43, 0x010ae7f4, 0x0358c8d8, 0x013f0518, 0x0324eb62, 0x00232a5b, 0x011fafb9, 0x01c745fd, 0x003704be}}}, + {X: Field{[10]uint32{0x034a3f9f, 0x009139ad, 0x0016908d, 0x01977026, 0x02c287a6, 0x036c9896, 0x03deaae7, 0x031fa244, 0x037e505f, 0x00134c69}}, Y: Field{[10]uint32{0x001e0ba7, 0x02c0904c, 0x00a754fc, 0x0146db80, 0x03cbf6fb, 0x01e009d4, 0x0318f38c, 0x015d6c1a, 0x02c96098, 0x00088907}}}, + {X: Field{[10]uint32{0x0232fcda, 0x00456494, 0x0277bcb6, 0x03fe9b03, 0x03b700db, 0x02f55231, 0x03771c00, 0x0265b5af, 0x02a6e5db, 0x001c8f2e}}, Y: Field{[10]uint32{0x02b39f5f, 0x0301a767, 0x0094801d, 0x0194dde5, 0x022660a0, 0x0220935b, 0x02113748, 0x031262a4, 0x03b5595c, 0x0025ba19}}}, + }, + { + {X: Field{[10]uint32{0x0232fcda, 0x00456494, 0x0277bcb6, 0x03fe9b03, 0x03b700db, 0x02f55231, 0x03771c00, 0x0265b5af, 0x02a6e5db, 0x001c8f2e}}, Y: Field{[10]uint32{0x02b39f5f, 0x0301a767, 0x0094801d, 0x0194dde5, 0x022660a0, 0x0220935b, 0x02113748, 0x031262a4, 0x03b5595c, 0x0025ba19}}}, + {X: Field{[10]uint32{0x00a030d5, 0x00e0f583, 0x009071fd, 0x010c1e61, 0x022d240a, 0x01dce8f1, 0x03d7dc45, 0x01d134d0, 0x0386437b, 0x0015fbe9}}, Y: Field{[10]uint32{0x00b02f9e, 0x02ad109d, 0x0174ab07, 0x00ab97a6, 0x00689b6d, 0x023780fb, 0x03627c92, 0x02146224, 0x030bd1b4, 0x0035c4b6}}}, + {X: Field{[10]uint32{0x00633cb1, 0x01f827a0, 0x02113256, 0x012da740, 0x03575a22, 0x008607f2, 0x00627321, 0x032b5003, 0x00f317aa, 0x001b77a7}}, Y: Field{[10]uint32{0x03ce6b34, 0x03526a99, 0x01ef357d, 0x036b3e16, 0x0080b27f, 0x006e99aa, 0x019ef86a, 0x03907572, 0x03e7a707, 0x0024623e}}}, + {X: Field{[10]uint32{0x00584dd5, 0x03f1ddc3, 0x0012a7fa, 0x01f8c9ec, 0x01108057, 0x01489b2e, 0x01f7e9cd, 0x02f10a8b, 0x01436a28, 0x000992ef}}, Y: Field{[10]uint32{0x0304ab11, 0x0089e4dd, 0x00d8de61, 0x010dc5ee, 0x026a1182, 0x030cef88, 0x0375ce24, 0x024ed353, 0x03a94ee0, 0x00361f1b}}}, + {X: Field{[10]uint32{0x0133f3c5, 0x0294634a, 0x02522419, 0x01c457c4, 0x00085a0f, 0x0391ee14, 0x004bb7f8, 0x0337a04f, 0x032cd5b5, 0x00121be9}}, Y: Field{[10]uint32{0x02fb0f53, 0x0129c6b2, 0x023b79ad, 0x020f3c3c, 0x0362d9b7, 0x03323c67, 0x00c48bae, 0x03750f92, 0x0319f56b, 0x0018b848}}}, + {X: Field{[10]uint32{0x00e5467d, 0x02f5da91, 0x03ace4d0, 0x02e066ef, 0x0140908a, 0x03b25c3a, 0x021f62e0, 0x028488b0, 0x00f0fc69, 0x0025f419}}, Y: Field{[10]uint32{0x029cb3fa, 0x00c03f47, 0x03ccd797, 0x02e153c5, 0x03da5fb3, 0x02142187, 0x037c66fa, 0x000b300f, 0x032ed334, 0x002265d3}}}, + {X: Field{[10]uint32{0x0299f728, 0x01650897, 0x02204ebd, 0x03ef9bc4, 0x03677375, 0x01da94c0, 0x024ff27b, 0x02bd3ed9, 0x0174a894, 0x00091e5a}}, Y: Field{[10]uint32{0x03aaebff, 0x000145ba, 0x022d837a, 0x030255d6, 0x025adbf3, 0x03635992, 0x012e87e7, 0x00c007b1, 0x0144688f, 0x0038f5e3}}}, + {X: Field{[10]uint32{0x032438e8, 0x009af612, 0x02c9d2bf, 0x007f56f7, 0x01a78bc6, 0x008da9e7, 0x0085c056, 0x034aef6b, 0x0124bd40, 0x002a5319}}, Y: Field{[10]uint32{0x018661f4, 0x00b236fc, 0x01b2bc2e, 0x0182838e, 0x027e5d3c, 0x0140678e, 0x03921950, 0x018a03f5, 0x03d992f9, 0x002d4807}}}, + {X: Field{[10]uint32{0x03b0079a, 0x0031b50b, 0x02049c9e, 0x03dc8e49, 0x00916f9e, 0x01ace0c9, 0x01a59ee7, 0x017fc18c, 0x03daa3d5, 0x000bce72}}, Y: Field{[10]uint32{0x005690ba, 0x00a5cc0b, 0x00230fe2, 0x02f220a8, 0x039bfb3f, 0x01e36962, 0x02936d02, 0x00e60d36, 0x03de1386, 0x002afab6}}}, + {X: Field{[10]uint32{0x018086c8, 0x01bca26e, 0x023ff5f4, 0x00d2d899, 0x0040c10e, 0x02aa39bf, 0x01263b70, 0x00af74a2, 0x025baa80, 0x000fa10b}}, Y: Field{[10]uint32{0x02e939a9, 0x012d44e3, 0x03d4ef99, 0x01dadd79, 0x0037b8e5, 0x006c1df0, 0x01370463, 0x039cb86e, 0x03f5fc92, 0x00227c93}}}, + {X: Field{[10]uint32{0x00f7ab73, 0x00c02cb9, 0x003a7793, 0x03aa7511, 0x0262e3d4, 0x014d2bb4, 0x0239e86c, 0x0186e95a, 0x016c327d, 0x003968c7}}, Y: Field{[10]uint32{0x00561f42, 0x00e8ff1c, 0x03a21391, 0x0126a032, 0x01bf8c44, 0x0293b397, 0x0118a977, 0x0275e830, 0x003d8d1e, 0x000dde23}}}, + {X: Field{[10]uint32{0x03613bec, 0x02072e44, 0x03e67cca, 0x02744073, 0x028bb5fc, 0x01d3e5ca, 0x031b33dc, 0x00def7b7, 0x02b8c939, 0x000b73f2}}, Y: Field{[10]uint32{0x02039215, 0x00c24926, 0x01f383e7, 0x02eb4cfd, 0x003732cf, 0x01bdb1bd, 0x03088b7d, 0x02904997, 0x00dd9474, 0x0011b6f1}}}, + {X: Field{[10]uint32{0x014dcd86, 0x024a68f0, 0x031b588f, 0x00825afd, 0x011fc5d4, 0x0014773c, 0x010dd982, 0x00d11f7d, 0x014a0d15, 0x00330e27}}, Y: Field{[10]uint32{0x00f0a873, 0x02db7672, 0x0387468e, 0x0063f9f9, 0x0205c57e, 0x03aa4432, 0x0168bdbb, 0x02efb66d, 0x03d660f6, 0x0024eb93}}}, + {X: Field{[10]uint32{0x03b4f6be, 0x00f5d937, 0x02b64844, 0x03fd3e8f, 0x02b567d5, 0x023c3a2d, 0x004bb042, 0x0208a23b, 0x03d1ae75, 0x0028ab94}}, Y: Field{[10]uint32{0x02eeb9a2, 0x008959d2, 0x00436c04, 0x019f0f50, 0x004c0efa, 0x0306d51f, 0x015679c7, 0x028261f2, 0x014d44b3, 0x001a4cd6}}}, + {X: Field{[10]uint32{0x00819311, 0x0271bade, 0x0314724f, 0x0388421d, 0x030b3e1e, 0x033d7b47, 0x010a17e0, 0x03a408dd, 0x01c89d71, 0x001fe4a4}}, Y: Field{[10]uint32{0x002eb125, 0x03e6d5eb, 0x02174aa9, 0x0102721a, 0x02120aaa, 0x0149056d, 0x010de8c4, 0x00fbc3d7, 0x011063ec, 0x00276803}}}, + {X: Field{[10]uint32{0x027dd7fa, 0x00cfb283, 0x019839a5, 0x0048dea4, 0x01094796, 0x00b0b4ed, 0x01feec81, 0x02fe62e9, 0x00d493be, 0x003bafe9}}, Y: Field{[10]uint32{0x01de8999, 0x0353f6b8, 0x03712ddf, 0x030e9c47, 0x019ae4cd, 0x005e0227, 0x02e7edaf, 0x03c3c9a7, 0x00a3970e, 0x001766a3}}}, + }, + { + {X: Field{[10]uint32{0x027dd7fa, 0x00cfb283, 0x019839a5, 0x0048dea4, 0x01094796, 0x00b0b4ed, 0x01feec81, 0x02fe62e9, 0x00d493be, 0x003bafe9}}, Y: Field{[10]uint32{0x01de8999, 0x0353f6b8, 0x03712ddf, 0x030e9c47, 0x019ae4cd, 0x005e0227, 0x02e7edaf, 0x03c3c9a7, 0x00a3970e, 0x001766a3}}}, + {X: Field{[10]uint32{0x03d297fd, 0x03ba4211, 0x026d676b, 0x03023d9d, 0x03c4ea4b, 0x00461257, 0x01c6031c, 0x01eff698, 0x02d7a7a9, 0x000e0712}}, Y: Field{[10]uint32{0x01493fc5, 0x0338c61f, 0x01c0093a, 0x00cb6e4e, 0x00f04510, 0x026457b3, 0x03e5fa70, 0x03bb923c, 0x013b238e, 0x0024dabd}}}, + {X: Field{[10]uint32{0x037ceceb, 0x019e3fee, 0x03af0f3f, 0x024e225f, 0x0073a59f, 0x03db9a05, 0x03fb8126, 0x035140db, 0x02204276, 0x0010dea1}}, Y: Field{[10]uint32{0x02c181e1, 0x00ef30d5, 0x01782736, 0x033f723e, 0x0387220f, 0x0274a5ff, 0x038feb69, 0x030cbda6, 0x03a13eea, 0x0002e45a}}}, + {X: Field{[10]uint32{0x02de454c, 0x035c108b, 0x008b2448, 0x017fbf74, 0x039cf1d0, 0x0254e311, 0x0210831d, 0x0318ef33, 0x01cd05ad, 0x00387bee}}, Y: Field{[10]uint32{0x00913797, 0x03f48cea, 0x014c6ad9, 0x01129e8b, 0x03464e32, 0x0391dc48, 0x0154c1ff, 0x026f9ec0, 0x0130d8af, 0x0003b2d1}}}, + {X: Field{[10]uint32{0x017f96f2, 0x035ca782, 0x0335cd58, 0x00a74b21, 0x03358235, 0x028f309c, 0x00b7e3b9, 0x0226f20f, 0x0313e2a4, 0x002a7be7}}, Y: Field{[10]uint32{0x02c04be4, 0x03556c15, 0x00702c03, 0x02bd6a6d, 0x01b74f89, 0x03aed84f, 0x016ee160, 0x0275f365, 0x00e59455, 0x003a0533}}}, + {X: Field{[10]uint32{0x00bf00eb, 0x036761f7, 0x002274c9, 0x022f0634, 0x0241b4e9, 0x0068c2f0, 0x03e16f6a, 0x03537126, 0x00ae96ea, 0x002e241c}}, Y: Field{[10]uint32{0x030e664e, 0x03c6f346, 0x02a671b7, 0x001adae5, 0x02cb0d8b, 0x007129d9, 0x02294e4c, 0x03623d1c, 0x00c2c8a2, 0x001bc932}}}, + {X: Field{[10]uint32{0x010cf77e, 0x02ad684d, 0x02b0dbc0, 0x01d152a2, 0x0207dbf5, 0x03ea8190, 0x03827d69, 0x00d6f954, 0x0141ee1d, 0x0019b601}}, Y: Field{[10]uint32{0x00eaa3a6, 0x03e5ebe8, 0x0376d2a5, 0x00eadec6, 0x029444b4, 0x00d584fd, 0x031d4205, 0x03ed0b0f, 0x03e732ff, 0x001473f7}}}, + {X: Field{[10]uint32{0x01eb99a4, 0x03fbacca, 0x03b18d33, 0x027ccf51, 0x00c7e541, 0x02bd1d6a, 0x02c235e9, 0x01c04316, 0x01b1a269, 0x0014c63e}}, Y: Field{[10]uint32{0x0291f92d, 0x009bbbbf, 0x02c652c7, 0x0103478f, 0x00a41f2b, 0x02ed017a, 0x032d93ae, 0x0290655d, 0x03eb4bed, 0x003d1333}}}, + {X: Field{[10]uint32{0x03213a5a, 0x01218a21, 0x0262b935, 0x0129e17e, 0x000b7320, 0x019330f2, 0x03508a1c, 0x00fe8afc, 0x01e13650, 0x0018ab01}}, Y: Field{[10]uint32{0x006a9e45, 0x0348703d, 0x014efc10, 0x000605e6, 0x01e55909, 0x01ea495e, 0x015e79e0, 0x029b934e, 0x01f3a0d1, 0x0008dbef}}}, + {X: Field{[10]uint32{0x03c76ac1, 0x0086cf3b, 0x02c05d6b, 0x02572908, 0x016124c3, 0x0354fa26, 0x021859a7, 0x00de10df, 0x03bfab10, 0x000623bc}}, Y: Field{[10]uint32{0x028f00bc, 0x0180ca94, 0x03875351, 0x03a0f1d8, 0x00e4d66d, 0x03ce638e, 0x005fb18c, 0x02ea6740, 0x017a052f, 0x0039bf26}}}, + {X: Field{[10]uint32{0x03bad12b, 0x03f52619, 0x02e1ec30, 0x0003abd9, 0x0385d5ea, 0x031bcb6c, 0x03613af5, 0x023d6d6f, 0x00497244, 0x003284f1}}, Y: Field{[10]uint32{0x0323b0f2, 0x0267d1a5, 0x03566896, 0x01c44695, 0x026370ab, 0x02ab68f5, 0x015fa64e, 0x021f22b0, 0x018361c2, 0x0020ea82}}}, + {X: Field{[10]uint32{0x02fbe7b2, 0x01bfe6ad, 0x025a3b9d, 0x03051635, 0x005eaded, 0x00aa2118, 0x036bbb1b, 0x0107e3cc, 0x03669cb4, 0x00099221}}, Y: Field{[10]uint32{0x01bc2a34, 0x029e2f08, 0x03603932, 0x0205a83a, 0x005638d9, 0x000b77c6, 0x02f2dcad, 0x0112623c, 0x02b4b201, 0x00278576}}}, + {X: Field{[10]uint32{0x0080414e, 0x03b97e57, 0x00f7fdda, 0x0218b59b, 0x0114ef8a, 0x01182792, 0x0011c4f4, 0x00aba16b, 0x0101a705, 0x00073b2c}}, Y: Field{[10]uint32{0x02169a3b, 0x03a524b4, 0x031d0dca, 0x039511c8, 0x02907557, 0x017b6b45, 0x01aa3283, 0x01f3ed39, 0x00669609, 0x003cd0d8}}}, + {X: Field{[10]uint32{0x0320907d, 0x00793462, 0x0051c50d, 0x0358581e, 0x003b15b2, 0x012143fd, 0x002f4589, 0x03089ec0, 0x01bc3e54, 0x003e62d7}}, Y: Field{[10]uint32{0x00c926af, 0x004c66d7, 0x00e35835, 0x038096a4, 0x0241fcd9, 0x02ea7327, 0x0139b706, 0x004fe90a, 0x00bd4f4a, 0x0038b542}}}, + {X: Field{[10]uint32{0x02d810a9, 0x016f2313, 0x00155c4f, 0x00fcf1c0, 0x024f889d, 0x0077c8e4, 0x010daf5f, 0x023e7325, 0x007504d7, 0x000a9a64}}, Y: Field{[10]uint32{0x029b4728, 0x01ace23e, 0x005c7cf8, 0x03a5fb05, 0x00667d47, 0x013ec13f, 0x02c58695, 0x03ff6b0f, 0x039b6c3d, 0x00153e40}}}, + {X: Field{[10]uint32{0x01a48db0, 0x01e0d6ce, 0x003bfefd, 0x028a6cf0, 0x019f1215, 0x02def791, 0x011d0a09, 0x01c59c9e, 0x00da696e, 0x000403d1}}, Y: Field{[10]uint32{0x03c65a09, 0x0357358a, 0x015ac0fb, 0x0063fd46, 0x02b7ff4a, 0x03024199, 0x008f3300, 0x002ddcbb, 0x013192a0, 0x00337678}}}, + }, + { + {X: Field{[10]uint32{0x01a48db0, 0x01e0d6ce, 0x003bfefd, 0x028a6cf0, 0x019f1215, 0x02def791, 0x011d0a09, 0x01c59c9e, 0x00da696e, 0x000403d1}}, Y: Field{[10]uint32{0x03c65a09, 0x0357358a, 0x015ac0fb, 0x0063fd46, 0x02b7ff4a, 0x03024199, 0x008f3300, 0x002ddcbb, 0x013192a0, 0x00337678}}}, + {X: Field{[10]uint32{0x024df706, 0x014a13c7, 0x008084b0, 0x03e48df4, 0x01d8d9c8, 0x02d31066, 0x0015dff2, 0x031dc6a1, 0x01f2ceb5, 0x00230262}}, Y: Field{[10]uint32{0x0172fa98, 0x02b168d7, 0x011aa736, 0x03d45594, 0x0060de6b, 0x0277259b, 0x012172cb, 0x0080d3ff, 0x01044f43, 0x003ed36f}}}, + {X: Field{[10]uint32{0x01bc15b4, 0x02684d25, 0x02ee69cb, 0x02391968, 0x01927502, 0x03b5f2a3, 0x0058ee9c, 0x02b727b6, 0x022e51ee, 0x00043a43}}, Y: Field{[10]uint32{0x00aa258d, 0x02f98256, 0x02a8834e, 0x018c0aed, 0x014ca589, 0x01ab47dd, 0x017a8c61, 0x03810935, 0x030380d5, 0x0031a28d}}}, + {X: Field{[10]uint32{0x0047bffd, 0x018f0cf7, 0x03c1bb1e, 0x00e6f256, 0x019c5285, 0x0098b009, 0x02481743, 0x019c1312, 0x013c5e26, 0x003ee3c5}}, Y: Field{[10]uint32{0x0149b095, 0x02917776, 0x02613090, 0x0226b150, 0x031dde13, 0x012f3354, 0x03a11d9b, 0x0188605b, 0x029dc5e0, 0x001b289e}}}, + {X: Field{[10]uint32{0x03e75269, 0x00ff0c0f, 0x033182dd, 0x033014f4, 0x01a377a3, 0x0052df73, 0x035b90b7, 0x0058e115, 0x0342da54, 0x003dd08b}}, Y: Field{[10]uint32{0x03e49bd5, 0x0203a1c5, 0x018e0189, 0x00dfd28e, 0x037fb3a2, 0x027d8d65, 0x00ce7dcb, 0x0024ff46, 0x031a3313, 0x00101b0b}}}, + {X: Field{[10]uint32{0x021c0a80, 0x00aaf21e, 0x01c740f6, 0x0163196a, 0x034d6251, 0x000bfe70, 0x03c9be70, 0x033296c5, 0x0268a614, 0x002dac56}}, Y: Field{[10]uint32{0x01ce0a03, 0x03404410, 0x016eeb6c, 0x02cc20b8, 0x009c9a12, 0x03d94db5, 0x00e223ee, 0x02d87a95, 0x0214d6cd, 0x003eb98b}}}, + {X: Field{[10]uint32{0x01a7175f, 0x02d9a5bd, 0x0342a653, 0x01c74c73, 0x03edb8e7, 0x00b577ae, 0x0079a558, 0x00f3fdca, 0x010417d4, 0x000b632b}}, Y: Field{[10]uint32{0x039d592a, 0x01eee46e, 0x025e0cf3, 0x03f672d7, 0x037a846b, 0x004b274d, 0x03232fa6, 0x02a529ee, 0x0383318c, 0x0031cfce}}}, + {X: Field{[10]uint32{0x03b2629a, 0x0286e2d2, 0x027b8b8f, 0x0161dcde, 0x0065a02c, 0x01ca1c21, 0x00cc9f0a, 0x0145d568, 0x033fd75d, 0x0039d1cc}}, Y: Field{[10]uint32{0x0146f6d6, 0x0365869a, 0x0169a9f8, 0x02a9b86a, 0x01c88376, 0x00130960, 0x00436038, 0x00304533, 0x02014507, 0x003cabff}}}, + {X: Field{[10]uint32{0x00b51045, 0x0326f0e5, 0x025b3e34, 0x025bcc70, 0x03bbc6c8, 0x007a33dc, 0x0273d4eb, 0x01ba962b, 0x011db98a, 0x0007b2ff}}, Y: Field{[10]uint32{0x02c70026, 0x019c4040, 0x0022d53a, 0x011ad0d9, 0x00b19006, 0x0126a6ce, 0x03d0bb18, 0x030e9911, 0x02308b99, 0x00073db8}}}, + {X: Field{[10]uint32{0x0013e439, 0x016d5b19, 0x02f674a3, 0x03bf7757, 0x02f92f69, 0x01fb6d92, 0x00b1bfeb, 0x038a5abe, 0x03b8b477, 0x00265d06}}, Y: Field{[10]uint32{0x0032cd5b, 0x015f609a, 0x026e43e6, 0x0325a5d1, 0x02b17c15, 0x01638f9e, 0x035aa562, 0x0326979c, 0x01b07bd9, 0x003791fa}}}, + {X: Field{[10]uint32{0x01358533, 0x0335d9ba, 0x00b9df7a, 0x03e753ed, 0x0010a933, 0x0074caa3, 0x02955a29, 0x01d4a20f, 0x00c5fe57, 0x00268225}}, Y: Field{[10]uint32{0x0360ba08, 0x03871770, 0x01dadfb3, 0x02f6ee03, 0x0165a6e5, 0x0153f0c8, 0x0117d5f9, 0x023f0c7e, 0x03c4201b, 0x0029e620}}}, + {X: Field{[10]uint32{0x02b062d4, 0x02a942a4, 0x02141a7c, 0x03966eda, 0x027a5ce7, 0x00fa889e, 0x03b17128, 0x03ab281b, 0x02a43256, 0x000d658f}}, Y: Field{[10]uint32{0x03b25302, 0x02a9346e, 0x019b1a10, 0x02e59379, 0x02d04082, 0x027022a5, 0x00ce196f, 0x039726ff, 0x01454951, 0x003d96f8}}}, + {X: Field{[10]uint32{0x018ef7f6, 0x01017586, 0x00f9f694, 0x03dde81e, 0x025923f3, 0x00ee2ba9, 0x019c8527, 0x034b8d6f, 0x0049db4f, 0x00199376}}, Y: Field{[10]uint32{0x011eac94, 0x025bfcd7, 0x02ecee74, 0x02cc6e39, 0x03fc3d3a, 0x03411633, 0x0048ce5d, 0x01e4ca85, 0x001717f2, 0x002b5448}}}, + {X: Field{[10]uint32{0x019334f0, 0x02d9bcc4, 0x011b60d0, 0x03ece82b, 0x0174728e, 0x0170a790, 0x020e8248, 0x030c871a, 0x037b02cf, 0x0033aede}}, Y: Field{[10]uint32{0x01e45191, 0x0142f494, 0x036cb167, 0x0276e780, 0x004765a2, 0x0374b8dc, 0x01ec0f74, 0x0128cae8, 0x0243633b, 0x003f8f7c}}}, + {X: Field{[10]uint32{0x03c934b3, 0x0029adf0, 0x022c4e0c, 0x02016c2b, 0x022b31f5, 0x020469c0, 0x031d9669, 0x02e18e08, 0x029377d0, 0x0020844e}}, Y: Field{[10]uint32{0x002c6a0f, 0x01798ab1, 0x0280377e, 0x009a6911, 0x00aa1f7c, 0x0168318a, 0x0066cf2b, 0x00d99821, 0x00dac9ae, 0x0023686e}}}, + {X: Field{[10]uint32{0x0134fd2d, 0x02b379b9, 0x033852c8, 0x011193ce, 0x03a77f8d, 0x02813005, 0x009227a4, 0x03b46c77, 0x03e262c7, 0x003840c6}}, Y: Field{[10]uint32{0x0056a00d, 0x03c63ca5, 0x02d79a44, 0x01067873, 0x02f292dd, 0x0165d4d6, 0x036a4176, 0x010179ae, 0x01928940, 0x00275c18}}}, + }, + { + {X: Field{[10]uint32{0x0134fd2d, 0x02b379b9, 0x033852c8, 0x011193ce, 0x03a77f8d, 0x02813005, 0x009227a4, 0x03b46c77, 0x03e262c7, 0x003840c6}}, Y: Field{[10]uint32{0x0056a00d, 0x03c63ca5, 0x02d79a44, 0x01067873, 0x02f292dd, 0x0165d4d6, 0x036a4176, 0x010179ae, 0x01928940, 0x00275c18}}}, + {X: Field{[10]uint32{0x015c8356, 0x009f8daa, 0x0185784e, 0x03177a53, 0x01028a6a, 0x03ca6cb2, 0x0395dcd0, 0x0227aae7, 0x03224c80, 0x003d2e4f}}, Y: Field{[10]uint32{0x02001fd3, 0x02186e6f, 0x0209abd5, 0x00d12455, 0x00c37ef1, 0x0103bba4, 0x025f6a7a, 0x018b7ec3, 0x02ec0629, 0x00299ea4}}}, + {X: Field{[10]uint32{0x03028d83, 0x0188ebbb, 0x03961579, 0x01b6e9d0, 0x03619592, 0x01779a76, 0x01abe5a1, 0x0217b1a9, 0x03c4e3c7, 0x0029fafd}}, Y: Field{[10]uint32{0x01d0bed1, 0x000e4ae6, 0x03919964, 0x009d2c14, 0x0347a389, 0x00112012, 0x019c7377, 0x018b573f, 0x012fbfe3, 0x00188145}}}, + {X: Field{[10]uint32{0x03160e8a, 0x018bf85e, 0x0296c20d, 0x004be5f9, 0x00d51e85, 0x0096c22c, 0x01622ea0, 0x0148dac6, 0x00a1fce5, 0x0002746b}}, Y: Field{[10]uint32{0x00a04c44, 0x0014315f, 0x035e534e, 0x03ba484a, 0x026fe9e0, 0x0036309f, 0x016692ce, 0x03c318f9, 0x008f5101, 0x000454c6}}}, + {X: Field{[10]uint32{0x03dd5cfa, 0x00390089, 0x014b5bae, 0x004dfc27, 0x036a89c5, 0x0098d18c, 0x01c6a534, 0x013d3073, 0x008dcb02, 0x0016d728}}, Y: Field{[10]uint32{0x0248e98c, 0x0129be67, 0x029d3e66, 0x0332bcc9, 0x00bfd067, 0x0221a425, 0x011f0cea, 0x016097a6, 0x02f70aa1, 0x000fb32d}}}, + {X: Field{[10]uint32{0x03b61ee5, 0x021104de, 0x00c13f28, 0x038bec7c, 0x02da4f04, 0x025d2b9b, 0x02638cd8, 0x0086e198, 0x0230cc87, 0x003524cc}}, Y: Field{[10]uint32{0x01d694a8, 0x03693439, 0x00ddc662, 0x0231690e, 0x021ad12c, 0x03b2bed7, 0x00c5e9d1, 0x02748fb7, 0x01abf51a, 0x00008702}}}, + {X: Field{[10]uint32{0x03531f82, 0x014a38c8, 0x02c9f2b9, 0x01aec430, 0x01ff5132, 0x02708b0a, 0x02f3e748, 0x012ed733, 0x02acc111, 0x00011bc9}}, Y: Field{[10]uint32{0x03ceda07, 0x017f22c2, 0x01c7fa50, 0x01736ad5, 0x01d02594, 0x03f0c95e, 0x02370ac2, 0x020bab38, 0x0331635b, 0x001ae012}}}, + {X: Field{[10]uint32{0x01ba7fc2, 0x035f411d, 0x01562e97, 0x024eff0e, 0x03518b3a, 0x02087379, 0x022ad793, 0x00ae7862, 0x01cc454c, 0x00319b16}}, Y: Field{[10]uint32{0x035f5956, 0x00f1a73d, 0x015977ec, 0x0376c565, 0x02f00a60, 0x02b0432c, 0x024f3cea, 0x003f3efa, 0x03e2bfb3, 0x0036564b}}}, + {X: Field{[10]uint32{0x00432711, 0x00550dc4, 0x02b9060b, 0x00bf7645, 0x02cf140b, 0x02265916, 0x0396f0f0, 0x03bed4d7, 0x02d931e0, 0x00304649}}, Y: Field{[10]uint32{0x03e2610c, 0x009878bb, 0x00055e49, 0x00b283cd, 0x0383ab92, 0x01b331b3, 0x0094bf18, 0x02da2461, 0x00cc7d25, 0x0022f87e}}}, + {X: Field{[10]uint32{0x02be316c, 0x01b1b348, 0x03ad0f83, 0x00fc9e39, 0x016bf404, 0x0097bd7c, 0x017cef5b, 0x00deccac, 0x01aa4a0b, 0x00156735}}, Y: Field{[10]uint32{0x03e04013, 0x02ae7267, 0x000e71a6, 0x0074d81e, 0x038a389a, 0x01d31a4b, 0x01ba9298, 0x0101dbcb, 0x009c08d4, 0x002ab551}}}, + {X: Field{[10]uint32{0x01257963, 0x0261d3e8, 0x02861c17, 0x014b0d2a, 0x005b018d, 0x00e25e71, 0x01bb54b5, 0x023cb9b3, 0x02e9eb68, 0x001a4211}}, Y: Field{[10]uint32{0x026f9835, 0x01d96651, 0x02b253a5, 0x02a08724, 0x036cbc3c, 0x024beedf, 0x0017024f, 0x03af16d0, 0x03cb7f3f, 0x00389217}}}, + {X: Field{[10]uint32{0x0004554a, 0x03772f3b, 0x00ffe530, 0x02ed1a23, 0x00aadcff, 0x028428bb, 0x00652c27, 0x0346811d, 0x03c89873, 0x00225bcd}}, Y: Field{[10]uint32{0x029138df, 0x03e7f864, 0x017dcd68, 0x0186b310, 0x01e6085b, 0x03a046fc, 0x0222bb04, 0x0312b369, 0x03e7224a, 0x000e0108}}}, + {X: Field{[10]uint32{0x02e23ace, 0x004e52f7, 0x012fd2d1, 0x0196d537, 0x01dec87c, 0x0128ca45, 0x027552df, 0x0082eaee, 0x03fb8c92, 0x003ecf7d}}, Y: Field{[10]uint32{0x0322e8de, 0x037bd325, 0x03f5ee09, 0x010bfb49, 0x029e7271, 0x036ead62, 0x02251540, 0x00f1594a, 0x01bc11c7, 0x0014438a}}}, + {X: Field{[10]uint32{0x00d36f89, 0x003c4c17, 0x00b925f9, 0x031b9c03, 0x031e4754, 0x00a403b8, 0x01d68b87, 0x0148e594, 0x03176915, 0x00120adb}}, Y: Field{[10]uint32{0x00a4f423, 0x0328dc9c, 0x01a68467, 0x00d10b52, 0x0219ee07, 0x035ffa4b, 0x018c23e6, 0x03316b2c, 0x011df9a5, 0x003a30f0}}}, + {X: Field{[10]uint32{0x00272351, 0x01f3fbd4, 0x03109860, 0x00f7e67f, 0x0170734b, 0x02ac7350, 0x038a3eb3, 0x01462cfa, 0x02c24f5c, 0x001b7617}}, Y: Field{[10]uint32{0x03c7664b, 0x01fe8adf, 0x0017c9b0, 0x03df0f82, 0x03877c6f, 0x03d7106d, 0x01407f9a, 0x0109f827, 0x03f4121f, 0x0005ba99}}}, + {X: Field{[10]uint32{0x0094696d, 0x039a2364, 0x02af52d5, 0x019a9075, 0x005cf8b2, 0x010ef5fb, 0x002839f1, 0x016d4c2b, 0x00ae46d5, 0x003fba9b}}, Y: Field{[10]uint32{0x00090088, 0x0177afc6, 0x0042d315, 0x015f3105, 0x00981c89, 0x03cfb357, 0x02e4e12b, 0x0386eac1, 0x036c97dc, 0x00395f1a}}}, + }, + { + {X: Field{[10]uint32{0x0094696d, 0x039a2364, 0x02af52d5, 0x019a9075, 0x005cf8b2, 0x010ef5fb, 0x002839f1, 0x016d4c2b, 0x00ae46d5, 0x003fba9b}}, Y: Field{[10]uint32{0x00090088, 0x0177afc6, 0x0042d315, 0x015f3105, 0x00981c89, 0x03cfb357, 0x02e4e12b, 0x0386eac1, 0x036c97dc, 0x00395f1a}}}, + {X: Field{[10]uint32{0x02752b08, 0x010102bb, 0x021870aa, 0x0382ccc6, 0x01141eca, 0x036cb85e, 0x03261af9, 0x021f8714, 0x03621adb, 0x00134002}}, Y: Field{[10]uint32{0x00302cea, 0x00a147d2, 0x0293a3e7, 0x03c4671c, 0x00cb7df5, 0x00b65cb3, 0x02d82558, 0x0349572d, 0x038f18e0, 0x001a8356}}}, + {X: Field{[10]uint32{0x00dfd587, 0x00d86ed2, 0x02656079, 0x00e326c0, 0x015ec4ba, 0x033d684b, 0x0067aaa2, 0x01422cd2, 0x001bacf4, 0x0014212d}}, Y: Field{[10]uint32{0x01470e89, 0x027a5fe4, 0x035606e7, 0x0181a247, 0x035db6f5, 0x014a49d1, 0x01aa6c85, 0x0034c586, 0x031a1d98, 0x000d2a58}}}, + {X: Field{[10]uint32{0x035c58ef, 0x0258bf51, 0x01b77f89, 0x0100f87c, 0x00d657a0, 0x011c5c4a, 0x02a26211, 0x0281775a, 0x00ca203d, 0x001c7d5c}}, Y: Field{[10]uint32{0x035d420e, 0x01269cb4, 0x03e7df86, 0x00030cd8, 0x01f2445d, 0x02f256e3, 0x01557345, 0x02203749, 0x015b95dc, 0x003ad090}}}, + {X: Field{[10]uint32{0x02b34cc6, 0x008c985e, 0x00a12d08, 0x01d9f3cc, 0x00c80c29, 0x00635c4a, 0x03b3f1fd, 0x0357a94f, 0x003e0642, 0x0013c530}}, Y: Field{[10]uint32{0x007e681f, 0x03094be6, 0x01d0225e, 0x033a3a07, 0x00b9de3c, 0x00e98950, 0x013a70f4, 0x03a25319, 0x00a8caa4, 0x001ed4f4}}}, + {X: Field{[10]uint32{0x00953fa9, 0x01655b5b, 0x003db4d0, 0x00a7c2e3, 0x0228ab26, 0x02f46301, 0x01f485d4, 0x024c8ce9, 0x010eaaab, 0x002927b4}}, Y: Field{[10]uint32{0x02fb4c72, 0x00af4891, 0x0181b67b, 0x00d25a38, 0x035ae875, 0x0037f77e, 0x03476c0a, 0x014e6380, 0x0094660f, 0x00331cae}}}, + {X: Field{[10]uint32{0x0241d90d, 0x01dc4044, 0x004f8342, 0x01076c91, 0x03e81cf1, 0x03b774d8, 0x01436095, 0x027b4750, 0x007e49c7, 0x0029d36e}}, Y: Field{[10]uint32{0x037adad4, 0x01462e0f, 0x02313f32, 0x024d1282, 0x00a9ee50, 0x02205c72, 0x03dd08a5, 0x03bbcc9f, 0x01cdaf23, 0x003de1a4}}}, + {X: Field{[10]uint32{0x03ff8359, 0x022c1810, 0x03651604, 0x00771979, 0x0046b482, 0x00876805, 0x01282b5c, 0x03494edf, 0x03629f7b, 0x0028adec}}, Y: Field{[10]uint32{0x0286fec2, 0x025ffb3f, 0x03835a23, 0x00d411bc, 0x0110d108, 0x01c78a72, 0x02937a3f, 0x0048b55e, 0x00941695, 0x001a4c0e}}}, + {X: Field{[10]uint32{0x01c1ae1f, 0x0332888c, 0x000b2a5e, 0x031a2b35, 0x00456e58, 0x02e8d596, 0x00dcd44e, 0x028b3e6b, 0x025744ba, 0x001a407e}}, Y: Field{[10]uint32{0x022838b0, 0x00cc1974, 0x03a930f8, 0x0297971d, 0x01d79f3b, 0x00a72403, 0x01b5380c, 0x03084918, 0x00882273, 0x000d7797}}}, + {X: Field{[10]uint32{0x01f1f366, 0x002404e6, 0x036be34f, 0x01e8f401, 0x004a7905, 0x01265364, 0x015f216b, 0x01fdee92, 0x025c5da4, 0x001744d3}}, Y: Field{[10]uint32{0x00990f2c, 0x0034fa71, 0x00b39e2b, 0x005882a2, 0x03cf02d6, 0x00ea0adc, 0x03e2a4ae, 0x011410b6, 0x034d3e08, 0x0000ec7b}}}, + {X: Field{[10]uint32{0x027a4bdb, 0x00c4206c, 0x00cac4b0, 0x0010d525, 0x01046a6d, 0x006ee8d7, 0x004b643f, 0x02049e89, 0x002d1d43, 0x00234f36}}, Y: Field{[10]uint32{0x029a8a2c, 0x00d31f39, 0x01296c3d, 0x01f4dc2b, 0x02d4e380, 0x001d88db, 0x00fbf9d0, 0x0107d1c3, 0x016180ee, 0x0026f509}}}, + {X: Field{[10]uint32{0x03a1d916, 0x025b4ff9, 0x01f3a3c0, 0x00e5747c, 0x00315b0a, 0x0176ec1c, 0x006158a6, 0x027432eb, 0x01acb6d5, 0x001943be}}, Y: Field{[10]uint32{0x0068387b, 0x0127299c, 0x026ba858, 0x00229db0, 0x0158bb46, 0x01e6e0b1, 0x029c0b92, 0x02c461c3, 0x01f21162, 0x00021744}}}, + {X: Field{[10]uint32{0x00ec1d2d, 0x0334f1ad, 0x00f45440, 0x0171b9f6, 0x03d9099f, 0x019eda47, 0x029d6729, 0x011ce6bf, 0x0363d606, 0x003abe60}}, Y: Field{[10]uint32{0x00838452, 0x039d5813, 0x00b53fcf, 0x01515fa1, 0x02a9f52d, 0x01ac666a, 0x01228a0e, 0x023489dd, 0x003a7fe7, 0x00394606}}}, + {X: Field{[10]uint32{0x03d98ee1, 0x0323a022, 0x012bed42, 0x01ea4226, 0x03579df3, 0x023ee865, 0x027c924a, 0x00860ffa, 0x02ce0ceb, 0x00075dc2}}, Y: Field{[10]uint32{0x0138ffca, 0x02e05e47, 0x017ecf9f, 0x029038f5, 0x0237f61c, 0x01954aa1, 0x0163038b, 0x03d779e2, 0x0005f46e, 0x0009e3e2}}}, + {X: Field{[10]uint32{0x005ae767, 0x00d6fdc1, 0x0371cbcb, 0x032e7a25, 0x00c273a9, 0x0301b976, 0x0340e052, 0x02d8d19b, 0x01163aed, 0x003ee56f}}, Y: Field{[10]uint32{0x03bf0e11, 0x00fa82be, 0x03134185, 0x01c62967, 0x03b816f4, 0x01a089d6, 0x0004d9d3, 0x0376f148, 0x00d811a8, 0x00199305}}}, + {X: Field{[10]uint32{0x01ec6cb1, 0x02a5e2f0, 0x003de33f, 0x01f60216, 0x00feed65, 0x01bff28f, 0x027be4be, 0x027372cd, 0x011d9104, 0x003699ea}}, Y: Field{[10]uint32{0x0268be1d, 0x03aa389e, 0x000a17e9, 0x031423dd, 0x01dec7ad, 0x0325e039, 0x03463f7e, 0x010af107, 0x02354816, 0x0026eb2a}}}, + }, + { + {X: Field{[10]uint32{0x01ec6cb1, 0x02a5e2f0, 0x003de33f, 0x01f60216, 0x00feed65, 0x01bff28f, 0x027be4be, 0x027372cd, 0x011d9104, 0x003699ea}}, Y: Field{[10]uint32{0x0268be1d, 0x03aa389e, 0x000a17e9, 0x031423dd, 0x01dec7ad, 0x0325e039, 0x03463f7e, 0x010af107, 0x02354816, 0x0026eb2a}}}, + {X: Field{[10]uint32{0x03e741c9, 0x00f32087, 0x01a835ee, 0x00d733a9, 0x018bbd9f, 0x03c0361c, 0x00c0cfaa, 0x03bd61f0, 0x01365fa1, 0x00136eb3}}, Y: Field{[10]uint32{0x038eb623, 0x03843e0c, 0x0135f60b, 0x02827f01, 0x010cc384, 0x020e0a67, 0x01cfd59e, 0x0224b9ff, 0x000e8a51, 0x0005b0d5}}}, + {X: Field{[10]uint32{0x01bc8a44, 0x03741945, 0x011a19ef, 0x01df2f85, 0x03684101, 0x029697f1, 0x00565a4b, 0x03b68f4e, 0x00583cfc, 0x00134060}}, Y: Field{[10]uint32{0x02dbc09e, 0x03e53246, 0x01a362f1, 0x011a160b, 0x03969420, 0x01f58e04, 0x029ba800, 0x03d74d9f, 0x02c18cb4, 0x000e8cf1}}}, + {X: Field{[10]uint32{0x00e218da, 0x036a2ead, 0x0205087e, 0x03c549a1, 0x010f4c85, 0x03d07096, 0x00f17d8f, 0x026fbb9a, 0x03c48150, 0x0004f47f}}, Y: Field{[10]uint32{0x03191c19, 0x02d06776, 0x01127e0d, 0x0081b56f, 0x01a4ad01, 0x006dd62f, 0x00b9337b, 0x0258773b, 0x011fa991, 0x0018020e}}}, + {X: Field{[10]uint32{0x01daeb00, 0x02ad4a19, 0x01f76bc1, 0x00933991, 0x015923eb, 0x00edba74, 0x02cb6a27, 0x03e55c20, 0x0107df5c, 0x000bd985}}, Y: Field{[10]uint32{0x033992c0, 0x01d9e260, 0x0308c122, 0x009c6574, 0x006ecdee, 0x00802b74, 0x039537a8, 0x02ccfdbb, 0x02136f52, 0x003f5704}}}, + {X: Field{[10]uint32{0x035b4eb8, 0x0084f924, 0x01a3cf52, 0x03c6ae2d, 0x0207f557, 0x032bcb73, 0x03f54a3c, 0x00895bc3, 0x00e43adf, 0x0030465a}}, Y: Field{[10]uint32{0x03911add, 0x01265b5b, 0x0149b704, 0x02504a9c, 0x0242f8b4, 0x019d9be0, 0x039d81fe, 0x01163e0d, 0x02937786, 0x002ffd79}}}, + {X: Field{[10]uint32{0x016aa6d9, 0x02a42824, 0x02dcf182, 0x02d91dc0, 0x003662c8, 0x0060d68e, 0x00f174da, 0x011f4895, 0x017d05fe, 0x003d6504}}, Y: Field{[10]uint32{0x032e50cf, 0x001a5baf, 0x01b86c7d, 0x0220f9ad, 0x037a9277, 0x00252f3a, 0x025dbdab, 0x006c4b3d, 0x01a56e97, 0x0032a9d8}}}, + {X: Field{[10]uint32{0x02e96db8, 0x02d032a8, 0x01bff133, 0x005b38a7, 0x033cc9d9, 0x016c14ce, 0x019c79c4, 0x018001d9, 0x039cef6c, 0x000866d3}}, Y: Field{[10]uint32{0x013b6bc7, 0x03c069e3, 0x0176527d, 0x0314fa41, 0x02394f8a, 0x000dca9b, 0x0244180c, 0x03bfabd6, 0x0205d959, 0x00093671}}}, + {X: Field{[10]uint32{0x02c6f4c0, 0x0380e55e, 0x01c4ccaa, 0x03a3312f, 0x01da4e8d, 0x01a59c47, 0x021c38be, 0x02737b13, 0x017f1f4d, 0x0003cb53}}, Y: Field{[10]uint32{0x02339b58, 0x01eeeb5c, 0x02656e7e, 0x029e4090, 0x028f6a10, 0x00e079c7, 0x03b27fdf, 0x0379345f, 0x03857e93, 0x000fb227}}}, + {X: Field{[10]uint32{0x00284327, 0x0347e6bd, 0x02facc56, 0x02c0e0e9, 0x03ac4020, 0x001a8d05, 0x003ebdd8, 0x02d17375, 0x00bdcd64, 0x0003da10}}, Y: Field{[10]uint32{0x01e2ab72, 0x0349d691, 0x01eb7400, 0x029dc4ae, 0x03b68dab, 0x02d8452b, 0x01e8bff4, 0x0069dd25, 0x037f100f, 0x003cc134}}}, + {X: Field{[10]uint32{0x03428cb2, 0x01414ff7, 0x02b55d85, 0x03f59a88, 0x01233822, 0x0256343c, 0x037a1815, 0x012ef47a, 0x02c2e2a1, 0x00075773}}, Y: Field{[10]uint32{0x015b189b, 0x03b44022, 0x004a51e5, 0x00be1d81, 0x00bd3e91, 0x021bc2e2, 0x00787824, 0x03231434, 0x0083b142, 0x001b9710}}}, + {X: Field{[10]uint32{0x01dffc96, 0x02e84256, 0x01857295, 0x0296beb1, 0x019228cd, 0x0205fac0, 0x039b395c, 0x00f7abdb, 0x00bee148, 0x0005871b}}, Y: Field{[10]uint32{0x03492de4, 0x02f3d846, 0x00621c93, 0x0324babe, 0x019b9634, 0x032c60c1, 0x01259391, 0x03fe616f, 0x0292a6b9, 0x002289b2}}}, + {X: Field{[10]uint32{0x00381273, 0x03aa23ea, 0x01ae5fb0, 0x02581a4f, 0x02d84376, 0x031049b3, 0x01ea9b2c, 0x019d0e7f, 0x02fd3009, 0x00227668}}, Y: Field{[10]uint32{0x0309773d, 0x03acfbb4, 0x03324a03, 0x0202b449, 0x018f61d6, 0x01b3d8bd, 0x03aaf207, 0x01bd40dd, 0x01b451d6, 0x0037f289}}}, + {X: Field{[10]uint32{0x010a683f, 0x018557e0, 0x031be4cf, 0x00c6fdba, 0x005248bd, 0x00626aa3, 0x02c7285f, 0x035283f9, 0x02cc3f64, 0x001e0f43}}, Y: Field{[10]uint32{0x00f54c4c, 0x019b38b8, 0x01ee9dfd, 0x0221c8e5, 0x02b5de92, 0x01fcb547, 0x02b74572, 0x03d28c05, 0x01029073, 0x0008029b}}}, + {X: Field{[10]uint32{0x01c71d91, 0x00cacb2d, 0x00fd21cc, 0x00b8aa25, 0x0223945e, 0x0056bfb3, 0x02a1c131, 0x002b8714, 0x038783a5, 0x0020c646}}, Y: Field{[10]uint32{0x02148a61, 0x027b0238, 0x005ee70b, 0x0145d411, 0x0217a11f, 0x005f2ba2, 0x006de13d, 0x006dc278, 0x03157380, 0x00382b1f}}}, + {X: Field{[10]uint32{0x0237b7c0, 0x01173306, 0x0069f575, 0x03deec44, 0x01ec08d0, 0x03bc8854, 0x02000935, 0x0133769b, 0x03aa0b33, 0x0014e413}}, Y: Field{[10]uint32{0x022771c8, 0x02c25ac0, 0x034699dc, 0x02078510, 0x00139999, 0x00834f07, 0x009eccac, 0x0041b623, 0x03d0bc80, 0x0016f021}}}, + }, + { + {X: Field{[10]uint32{0x0237b7c0, 0x01173306, 0x0069f575, 0x03deec44, 0x01ec08d0, 0x03bc8854, 0x02000935, 0x0133769b, 0x03aa0b33, 0x0014e413}}, Y: Field{[10]uint32{0x022771c8, 0x02c25ac0, 0x034699dc, 0x02078510, 0x00139999, 0x00834f07, 0x009eccac, 0x0041b623, 0x03d0bc80, 0x0016f021}}}, + {X: Field{[10]uint32{0x00a47ca9, 0x0343c7ce, 0x005ad57c, 0x02aab43e, 0x012a6ee7, 0x00c5a657, 0x03991196, 0x0119d4f3, 0x01af9d41, 0x0000695d}}, Y: Field{[10]uint32{0x03ebcdb7, 0x0177cb9d, 0x03ea667c, 0x01767d35, 0x00bdb93c, 0x006ee1a6, 0x015fc52e, 0x00370f31, 0x01cb8ab2, 0x000c0e3c}}}, + {X: Field{[10]uint32{0x00a2050e, 0x0310bf92, 0x00a6771a, 0x015d857e, 0x01742ef5, 0x0391e6e2, 0x03769cc6, 0x01cc625a, 0x00fd24bc, 0x0019cdc9}}, Y: Field{[10]uint32{0x021d3d70, 0x03269241, 0x01cc2b90, 0x03f50cd2, 0x01be6bac, 0x02a21adb, 0x03482c09, 0x01288080, 0x0257896a, 0x003933e0}}}, + {X: Field{[10]uint32{0x0315565b, 0x0275d578, 0x00c6ee30, 0x020f4f08, 0x02d3a61a, 0x01d85575, 0x031f5c1b, 0x0350e729, 0x00437621, 0x003d7c38}}, Y: Field{[10]uint32{0x012ecc82, 0x010c2bf7, 0x0240a678, 0x02fcfb5f, 0x02a5bf61, 0x037dc406, 0x02189160, 0x0014afd8, 0x0262be5a, 0x001ae7d3}}}, + {X: Field{[10]uint32{0x02de63bf, 0x01b920e0, 0x01c66cbf, 0x00ca1c98, 0x00e03af5, 0x03d859aa, 0x0198a631, 0x0130c279, 0x03a472df, 0x0010d9bb}}, Y: Field{[10]uint32{0x017924cd, 0x01a90238, 0x02d6b02c, 0x01496aa9, 0x02f33b0c, 0x00c09a3a, 0x022537e1, 0x035f38bb, 0x0109bee2, 0x000b9f76}}}, + {X: Field{[10]uint32{0x01a78179, 0x03d807ea, 0x02afe34c, 0x00149835, 0x036b50e9, 0x00827b67, 0x01a47336, 0x02e37241, 0x03f37081, 0x00265729}}, Y: Field{[10]uint32{0x03ec1f47, 0x03eed32b, 0x00e52931, 0x015a6ad9, 0x02bbcc85, 0x0124a18e, 0x0234d880, 0x015cead7, 0x01e95553, 0x00366816}}}, + {X: Field{[10]uint32{0x02f96190, 0x0149ffc1, 0x0125ef10, 0x03a41f25, 0x03d1f02d, 0x019ea9d7, 0x03e55696, 0x02ac7e5e, 0x03627991, 0x001ef5d4}}, Y: Field{[10]uint32{0x03da00f6, 0x005c812a, 0x02695a3d, 0x0170783a, 0x02ce0fcc, 0x010e09f5, 0x02d64749, 0x018c2757, 0x02b3dbba, 0x0020cdbc}}}, + {X: Field{[10]uint32{0x01362d33, 0x01e0767d, 0x03642cbe, 0x00851889, 0x0347cbc9, 0x01c32938, 0x027f36d9, 0x01ba695e, 0x030b6c0b, 0x0023d41b}}, Y: Field{[10]uint32{0x03fa243f, 0x021f4321, 0x00eaf304, 0x01750eee, 0x0048cf92, 0x03c70cda, 0x030c5424, 0x0185c654, 0x015d2afa, 0x0011a7e5}}}, + {X: Field{[10]uint32{0x02ad41ed, 0x0054c555, 0x0352433b, 0x00d7d3c0, 0x020308ac, 0x02463724, 0x023419e8, 0x035706be, 0x027bddaa, 0x0013dfa4}}, Y: Field{[10]uint32{0x02642d57, 0x00d5e19f, 0x0375bdf4, 0x01c53abd, 0x022e7314, 0x00ea3da9, 0x02980df5, 0x022c4154, 0x005156a8, 0x0037f9dd}}}, + {X: Field{[10]uint32{0x025e6618, 0x010e868f, 0x03cb4c18, 0x03d6763f, 0x03166d65, 0x03904918, 0x02017141, 0x01f6fe1f, 0x007338b9, 0x003ef084}}, Y: Field{[10]uint32{0x0230c860, 0x01536808, 0x00cf20ed, 0x00fc772f, 0x017f3c4f, 0x03ce6c47, 0x0160c1a6, 0x025052d2, 0x0059185c, 0x0027e6c2}}}, + {X: Field{[10]uint32{0x03748690, 0x01814499, 0x00b01cfa, 0x0137618c, 0x007d5790, 0x0374cf40, 0x03452b1e, 0x00733252, 0x03867d29, 0x0008d572}}, Y: Field{[10]uint32{0x0089582b, 0x011d4c53, 0x0139147c, 0x01633472, 0x00582868, 0x016a9f16, 0x01b85ec1, 0x0387e3d5, 0x018a5a71, 0x000870bc}}}, + {X: Field{[10]uint32{0x009135d3, 0x02361761, 0x031fc13d, 0x03404b90, 0x0274203c, 0x004c2c5a, 0x00134294, 0x02a16997, 0x03c7ef82, 0x00016502}}, Y: Field{[10]uint32{0x022255d2, 0x035d1465, 0x02391d02, 0x00a32640, 0x02f12863, 0x02ad9a1e, 0x035b0c7a, 0x02ad84bd, 0x0185eb4f, 0x002414de}}}, + {X: Field{[10]uint32{0x02de7f16, 0x03a88582, 0x0028c6da, 0x03a4f2f8, 0x00ae9cba, 0x0309d749, 0x03592ab6, 0x0295b004, 0x025b9b3d, 0x0002d9a0}}, Y: Field{[10]uint32{0x00c56217, 0x01109a12, 0x00d2bd94, 0x0037cf9f, 0x03b7243c, 0x02d5ea5f, 0x03a76ba8, 0x026cffbc, 0x00b818e0, 0x00287ee8}}}, + {X: Field{[10]uint32{0x00d2374d, 0x00c1c059, 0x02b2bc63, 0x025a133f, 0x00dcf38a, 0x02cffda9, 0x025a9f71, 0x03274976, 0x02d8b5e5, 0x0005bba3}}, Y: Field{[10]uint32{0x00865998, 0x016f2d3f, 0x01dd980e, 0x003b9b53, 0x02075513, 0x016dbfd8, 0x026b843e, 0x03c44228, 0x03f0546f, 0x003d4039}}}, + {X: Field{[10]uint32{0x01060d5b, 0x01ac08a6, 0x03a7c290, 0x02c470e8, 0x03904613, 0x027e5472, 0x0109b2fd, 0x0008b2d8, 0x003cf0bd, 0x003d8081}}, Y: Field{[10]uint32{0x02f88f13, 0x01bd42c6, 0x01a3f76f, 0x034adf74, 0x0237aa56, 0x0313defa, 0x01a8f64a, 0x033c6620, 0x0306c1f0, 0x003c0dad}}}, + {X: Field{[10]uint32{0x02d86047, 0x02567d0e, 0x00bcaeff, 0x0010ea6e, 0x0379b53a, 0x0132a419, 0x01cca776, 0x020e9dc6, 0x010bd359, 0x00239ef3}}, Y: Field{[10]uint32{0x0060372a, 0x00011fa1, 0x028b3ea1, 0x00b91ff5, 0x0179e88e, 0x032a5451, 0x00310420, 0x0292ce50, 0x030b2a3d, 0x00042ddd}}}, + }, + { + {X: Field{[10]uint32{0x02d86047, 0x02567d0e, 0x00bcaeff, 0x0010ea6e, 0x0379b53a, 0x0132a419, 0x01cca776, 0x020e9dc6, 0x010bd359, 0x00239ef3}}, Y: Field{[10]uint32{0x0060372a, 0x00011fa1, 0x028b3ea1, 0x00b91ff5, 0x0179e88e, 0x032a5451, 0x00310420, 0x0292ce50, 0x030b2a3d, 0x00042ddd}}}, + {X: Field{[10]uint32{0x013f0351, 0x00a022fc, 0x009e777d, 0x0234f40e, 0x033bc15b, 0x025a5437, 0x010f3199, 0x01ca770d, 0x03aa195e, 0x000cecd6}}, Y: Field{[10]uint32{0x038d7418, 0x0140f332, 0x01b702bc, 0x03bef222, 0x00aa6560, 0x012354af, 0x00640362, 0x02fe1fe5, 0x0185640a, 0x00296280}}}, + {X: Field{[10]uint32{0x001ead4b, 0x0221e681, 0x003c1ffe, 0x03eda46c, 0x023a75ed, 0x02bf9daf, 0x014734ef, 0x00cdfb1c, 0x000c8c8f, 0x002ff243}}, Y: Field{[10]uint32{0x02fedaed, 0x00b1bc21, 0x02e3e745, 0x03fccb82, 0x02fb468e, 0x01410b4d, 0x03a718dd, 0x037b4936, 0x01b1e09c, 0x001ea520}}}, + {X: Field{[10]uint32{0x0014bb36, 0x0371ec91, 0x03ca6d71, 0x00272b5e, 0x0256f6e1, 0x01c7df88, 0x0383ad20, 0x00fe5572, 0x02ae22c9, 0x000dd37b}}, Y: Field{[10]uint32{0x01af734a, 0x016faa63, 0x00321787, 0x018c0395, 0x013828d6, 0x0201bdca, 0x0032c06f, 0x013e6458, 0x01b64fcd, 0x0005c459}}}, + {X: Field{[10]uint32{0x01bb3b3e, 0x01ef41dd, 0x033cb26e, 0x005fbe7d, 0x03507536, 0x030b4fd6, 0x025993e8, 0x02aa9372, 0x011cbe3f, 0x001ccb7c}}, Y: Field{[10]uint32{0x03366693, 0x01df87b5, 0x00436cc5, 0x01b59316, 0x02e69dad, 0x00094e45, 0x03e25584, 0x0265df2d, 0x003ede8f, 0x001fd064}}}, + {X: Field{[10]uint32{0x01b7ad0d, 0x03215bb9, 0x011d3694, 0x01f2a743, 0x0076ee76, 0x01b45b11, 0x010d8a49, 0x0380370b, 0x010dabb5, 0x000e955a}}, Y: Field{[10]uint32{0x02e8c407, 0x0261e42c, 0x01218d6c, 0x022b2b0c, 0x0301cacb, 0x01fbe67c, 0x021fbac9, 0x0195efec, 0x021975a0, 0x0030f8a3}}}, + {X: Field{[10]uint32{0x008dc3b9, 0x016cf062, 0x00c99c5f, 0x0093a5dd, 0x0019a669, 0x0325fbd8, 0x01a8840c, 0x011ed0a3, 0x00b96039, 0x00133825}}, Y: Field{[10]uint32{0x01c0de52, 0x013dedb9, 0x006502c1, 0x008327a8, 0x0216205b, 0x029dab28, 0x03b4d80c, 0x026cfb55, 0x03babf1a, 0x00014e43}}}, + {X: Field{[10]uint32{0x02e7d616, 0x02992b5a, 0x01f0c5e8, 0x03cad8aa, 0x00944dba, 0x016bac37, 0x006e0739, 0x03ab95f1, 0x009c7f3a, 0x0008e030}}, Y: Field{[10]uint32{0x021bbc1a, 0x026f9205, 0x02756009, 0x00523e11, 0x0293af92, 0x01426c26, 0x0198aefd, 0x0255abc5, 0x02193464, 0x001be3a1}}}, + {X: Field{[10]uint32{0x02aafe5a, 0x01d782c2, 0x02edd4c3, 0x02ce9426, 0x00e25470, 0x02c08ff4, 0x018a6a95, 0x019f7a5b, 0x02b76fc6, 0x0026a5a3}}, Y: Field{[10]uint32{0x02d975c0, 0x02ff5093, 0x00cc0ce6, 0x0029979c, 0x02e7b588, 0x03618743, 0x03c66d03, 0x02e8a553, 0x0307a6d3, 0x002afdbe}}}, + {X: Field{[10]uint32{0x03a32402, 0x018b453b, 0x025348d9, 0x0184f19a, 0x025e659c, 0x000e00d3, 0x037db3bb, 0x03aaaf83, 0x02ced74c, 0x00060293}}, Y: Field{[10]uint32{0x00894b4e, 0x00de0371, 0x0118b320, 0x024dff73, 0x01a602c5, 0x013fafa1, 0x03bfc2f2, 0x035f8ab6, 0x015747ba, 0x00126293}}}, + {X: Field{[10]uint32{0x034c6397, 0x0072fe7c, 0x00d09375, 0x02d401d3, 0x0107dd3d, 0x014dac88, 0x00aef802, 0x0186553c, 0x03ed0171, 0x0034f1be}}, Y: Field{[10]uint32{0x00cb3f9c, 0x0323415a, 0x00e00b1f, 0x00224178, 0x028a0c77, 0x00baad91, 0x018394d9, 0x00abc651, 0x02c55e5e, 0x00128374}}}, + {X: Field{[10]uint32{0x01b2df82, 0x0291ec26, 0x00fb1927, 0x00591c41, 0x00ec5e7a, 0x0338cb01, 0x012d18ec, 0x02e4b332, 0x005c62bf, 0x00101699}}, Y: Field{[10]uint32{0x01307dbf, 0x00a0d282, 0x0062b5da, 0x02cb3b71, 0x022ffa9d, 0x008df9c4, 0x00aca61e, 0x025b83d7, 0x0014f44d, 0x002f0f2d}}}, + {X: Field{[10]uint32{0x02c3137e, 0x020964c2, 0x0244619b, 0x018a96bd, 0x03fe925b, 0x02aace54, 0x02f06a76, 0x010ee380, 0x03981292, 0x00132f78}}, Y: Field{[10]uint32{0x02c02fe6, 0x023c573b, 0x02d60c00, 0x02b9623a, 0x00d193a7, 0x02e530dc, 0x0092a134, 0x01856540, 0x00608f13, 0x001b3955}}}, + {X: Field{[10]uint32{0x010ce56e, 0x006788f9, 0x014a3c71, 0x03c35de4, 0x02c8293a, 0x032f9e05, 0x00590fca, 0x006bcf9a, 0x00d3ce53, 0x002a9b71}}, Y: Field{[10]uint32{0x01edd739, 0x03ce8d1f, 0x010a8b9d, 0x036be3dc, 0x03c11984, 0x03997998, 0x01f6edc5, 0x0394a5b8, 0x018fa241, 0x003af1e6}}}, + {X: Field{[10]uint32{0x00fbf84b, 0x008c1b38, 0x00b8a47a, 0x032ef0fc, 0x0303c48f, 0x030533ae, 0x03d9c730, 0x01891ee2, 0x033c82b1, 0x0012e74c}}, Y: Field{[10]uint32{0x036c3c48, 0x03b92d28, 0x035e6239, 0x010f8bd6, 0x036766d5, 0x019e6dfa, 0x0313d982, 0x03054954, 0x03fbe24c, 0x003f5ff1}}}, + {X: Field{[10]uint32{0x01c43862, 0x01078566, 0x026690a8, 0x03c60e5f, 0x0271a7f4, 0x026e06f7, 0x01081868, 0x03fc879b, 0x0134c1cd, 0x000e17bb}}, Y: Field{[10]uint32{0x002e5453, 0x0163f955, 0x01c8cc04, 0x03b0821b, 0x036b304e, 0x027afd15, 0x001de19e, 0x008fd59c, 0x03c3e8ea, 0x000a0efa}}}, + }, + { + {X: Field{[10]uint32{0x01c43862, 0x01078566, 0x026690a8, 0x03c60e5f, 0x0271a7f4, 0x026e06f7, 0x01081868, 0x03fc879b, 0x0134c1cd, 0x000e17bb}}, Y: Field{[10]uint32{0x002e5453, 0x0163f955, 0x01c8cc04, 0x03b0821b, 0x036b304e, 0x027afd15, 0x001de19e, 0x008fd59c, 0x03c3e8ea, 0x000a0efa}}}, + {X: Field{[10]uint32{0x00f2827c, 0x00e89c1e, 0x01ce2dc8, 0x010afbf0, 0x0147c826, 0x0357d9f4, 0x016be134, 0x01520011, 0x02083daf, 0x003dbd88}}, Y: Field{[10]uint32{0x00aaa102, 0x02c82d48, 0x01bf6d15, 0x01d120c8, 0x03e657ca, 0x00d9f3b9, 0x02c5715b, 0x00e83ebc, 0x02817de7, 0x0006f353}}}, + {X: Field{[10]uint32{0x02e2d9b3, 0x034c1aad, 0x0163514b, 0x020c6ce3, 0x0241db92, 0x0273e115, 0x012ea613, 0x00179d78, 0x00f397c7, 0x000668c5}}, Y: Field{[10]uint32{0x03aaaf33, 0x00bb8972, 0x03e56d55, 0x00749012, 0x03a5021d, 0x01fd4a2c, 0x00965f88, 0x00a3748d, 0x00f5dac7, 0x001b2b36}}}, + {X: Field{[10]uint32{0x015adcb6, 0x024c825c, 0x02f369d8, 0x0339f631, 0x01cd91c3, 0x0347f095, 0x030cb3c3, 0x00f78af5, 0x01188f95, 0x003ec9b9}}, Y: Field{[10]uint32{0x00ba68f3, 0x02f28ed6, 0x02b5449d, 0x00c6e2de, 0x0116d2cb, 0x027405da, 0x02846a71, 0x028d3563, 0x00811012, 0x003cf84a}}}, + {X: Field{[10]uint32{0x02f00480, 0x0161fac4, 0x01cee7d8, 0x00128403, 0x01203588, 0x013d9c86, 0x01c98636, 0x036a8d57, 0x014b95a8, 0x0016103b}}, Y: Field{[10]uint32{0x0222cf9e, 0x00b578af, 0x03872159, 0x01514ab8, 0x02ba7522, 0x00577636, 0x0168deaa, 0x03c5041e, 0x026b220b, 0x0019c336}}}, + {X: Field{[10]uint32{0x03a52264, 0x01cdf658, 0x00b3752e, 0x000c5500, 0x03d0adfc, 0x02b9473f, 0x006e2a9a, 0x01ffa6a0, 0x000de818, 0x00217ff7}}, Y: Field{[10]uint32{0x02da2082, 0x01f4a6a0, 0x01d0498c, 0x0324ac5e, 0x00678182, 0x01551c1b, 0x02568f50, 0x0252342f, 0x00187ae2, 0x000ffb8c}}}, + {X: Field{[10]uint32{0x03f54c42, 0x0137ba08, 0x03dc8e48, 0x00f09a68, 0x0145dc1a, 0x03b394c9, 0x0058c1f4, 0x0063ec77, 0x01a53469, 0x0027d5c0}}, Y: Field{[10]uint32{0x03eb6a21, 0x0387124b, 0x02527860, 0x012ac867, 0x0189ee78, 0x01ca6ff7, 0x0395b6b5, 0x02795efe, 0x03b8801d, 0x00339ee3}}}, + {X: Field{[10]uint32{0x00788c1e, 0x0136dd58, 0x011d7ed4, 0x00183a2f, 0x03d18c37, 0x018f3aad, 0x035c6bc7, 0x004cb4a3, 0x025911b9, 0x00226448}}, Y: Field{[10]uint32{0x028f0ef1, 0x031088a3, 0x01e11635, 0x0213f7be, 0x0236969c, 0x026c4dbe, 0x03876355, 0x02b26c9e, 0x01987cc9, 0x0036a2d3}}}, + {X: Field{[10]uint32{0x0122461a, 0x0104cca5, 0x018327e9, 0x00996f1c, 0x00bcb30a, 0x019fbe68, 0x03b87010, 0x0233f006, 0x0169235a, 0x0009fd84}}, Y: Field{[10]uint32{0x03301a2d, 0x0132be71, 0x039446aa, 0x00836a18, 0x00e4981b, 0x01d0a3ba, 0x008c5612, 0x01ab4ba9, 0x01a9900a, 0x003944bc}}}, + {X: Field{[10]uint32{0x02ddd3ac, 0x03662579, 0x006516db, 0x00ce8bc0, 0x037bf8f6, 0x0338b568, 0x012d90d6, 0x00b82561, 0x03e6732a, 0x0025bb94}}, Y: Field{[10]uint32{0x029b6fde, 0x0096cd9c, 0x01c06fbf, 0x025db19b, 0x02ef0d07, 0x03afc783, 0x004c9711, 0x00a7cb63, 0x02eae4b6, 0x000e6e72}}}, + {X: Field{[10]uint32{0x014f36b9, 0x00b26cb4, 0x03390cce, 0x02ed8ee7, 0x012598ca, 0x017d2a60, 0x01bf2f43, 0x03e50498, 0x01856cee, 0x001901de}}, Y: Field{[10]uint32{0x00b4b50a, 0x02c7ba79, 0x02eb2894, 0x01c12673, 0x008cda08, 0x02169edb, 0x010d75fd, 0x01bbebbe, 0x028f44e5, 0x00369864}}}, + {X: Field{[10]uint32{0x02a88c9c, 0x03fd692d, 0x01f069c1, 0x0198c527, 0x02a37b68, 0x01cb2a8a, 0x021d9ac9, 0x0244e62c, 0x0081e547, 0x001e1964}}, Y: Field{[10]uint32{0x01a7d19b, 0x0164d15d, 0x02a155e0, 0x026c0ead, 0x0112cf91, 0x017a0658, 0x028fa722, 0x0034ada7, 0x007792a3, 0x0016688c}}}, + {X: Field{[10]uint32{0x00d6b76f, 0x018f7e65, 0x015dbcef, 0x03eed320, 0x027fe5a9, 0x00277fab, 0x02f708bc, 0x019a7d14, 0x00e31c85, 0x00288dd4}}, Y: Field{[10]uint32{0x01cca8da, 0x024b3323, 0x008d141d, 0x0047f6e1, 0x03e7707c, 0x03504444, 0x032fa3e4, 0x0379b6b0, 0x0314a6e7, 0x003dcce6}}}, + {X: Field{[10]uint32{0x00c13079, 0x0336c4f4, 0x01688d4f, 0x00055374, 0x026f3e5a, 0x036bcc05, 0x01fea76e, 0x003aee02, 0x010b6e1f, 0x001794ad}}, Y: Field{[10]uint32{0x00e1296f, 0x00f1239c, 0x00e1cc10, 0x0344f58f, 0x004a3829, 0x01280fab, 0x02987853, 0x012c326d, 0x02e73a35, 0x000667b7}}}, + {X: Field{[10]uint32{0x00eee475, 0x03a7193f, 0x0382b12e, 0x00a103b5, 0x01ab6ac8, 0x00f2bfd0, 0x013c021f, 0x00de357b, 0x0007a3f2, 0x002efc6b}}, Y: Field{[10]uint32{0x03fe5067, 0x008a8021, 0x001d6846, 0x02250e2d, 0x0324eb9d, 0x01ac57f8, 0x0083cc83, 0x01839842, 0x00deead4, 0x002d2fee}}}, + {X: Field{[10]uint32{0x03fac3a7, 0x01bb61b0, 0x03bc9c60, 0x0129651f, 0x000fddf8, 0x004f7e86, 0x03c73a44, 0x03c6458d, 0x01b803ec, 0x0001be76}}, Y: Field{[10]uint32{0x02842160, 0x0224180e, 0x01002d86, 0x00bd70a0, 0x007ea4dd, 0x03917135, 0x038e2a30, 0x0166e9a6, 0x028e6030, 0x001f2031}}}, + }, + { + {X: Field{[10]uint32{0x03fac3a7, 0x01bb61b0, 0x03bc9c60, 0x0129651f, 0x000fddf8, 0x004f7e86, 0x03c73a44, 0x03c6458d, 0x01b803ec, 0x0001be76}}, Y: Field{[10]uint32{0x02842160, 0x0224180e, 0x01002d86, 0x00bd70a0, 0x007ea4dd, 0x03917135, 0x038e2a30, 0x0166e9a6, 0x028e6030, 0x001f2031}}}, + {X: Field{[10]uint32{0x037fd72d, 0x03489d12, 0x01a175c9, 0x03969f93, 0x01da1745, 0x01120a4e, 0x01c36c28, 0x01047073, 0x02ea252b, 0x002ba1bb}}, Y: Field{[10]uint32{0x02ee38bc, 0x0132de93, 0x03728233, 0x015451cb, 0x018d9211, 0x0227fc3a, 0x02b0ace5, 0x000be58a, 0x03c97073, 0x00067a64}}}, + {X: Field{[10]uint32{0x021ce204, 0x035d7a34, 0x023d524e, 0x0239099d, 0x03b2a725, 0x0329bdcb, 0x0374d859, 0x03193ee0, 0x01d162b3, 0x0010f290}}, Y: Field{[10]uint32{0x034a8f6b, 0x014113a4, 0x02468e52, 0x02ccfa92, 0x039ab6c7, 0x0236e8c7, 0x0250f921, 0x008fe871, 0x0282e370, 0x00373a96}}}, + {X: Field{[10]uint32{0x00169290, 0x011d099f, 0x032ee7a1, 0x01d73cdb, 0x008718be, 0x01b70b12, 0x01d2f8c5, 0x03fd5798, 0x01f90bbf, 0x00089232}}, Y: Field{[10]uint32{0x003ea257, 0x036284a2, 0x02be2369, 0x0008d768, 0x00e16375, 0x010d6e86, 0x006bb55b, 0x03bb5e94, 0x00692d21, 0x003e8165}}}, + {X: Field{[10]uint32{0x03e6efda, 0x033a4b3a, 0x0005964f, 0x03cfe1ca, 0x01922d4f, 0x0216941b, 0x026f7237, 0x00afd6d9, 0x02ef2289, 0x00270f81}}, Y: Field{[10]uint32{0x03aefc7d, 0x0103cca9, 0x03df7df1, 0x01a1ecdb, 0x01d43bc8, 0x03389bf5, 0x030b2d44, 0x0248f62b, 0x01e5e762, 0x0029edc2}}}, + {X: Field{[10]uint32{0x00978583, 0x0290c805, 0x0213f5b3, 0x02bbc185, 0x00cdd6e9, 0x003e4885, 0x03841999, 0x00c4dd25, 0x009b9cf2, 0x000c2afe}}, Y: Field{[10]uint32{0x01c75777, 0x00600d47, 0x004ac446, 0x0288eed6, 0x0063120e, 0x00386ae0, 0x037b4f2d, 0x01d26337, 0x0115477f, 0x0012c0d4}}}, + {X: Field{[10]uint32{0x02c88be2, 0x009ead71, 0x025e2791, 0x008341bb, 0x03ea2c78, 0x020c1dd6, 0x0372759d, 0x003c0cee, 0x02a313e2, 0x00175be2}}, Y: Field{[10]uint32{0x017ad75d, 0x03954fc3, 0x012c2892, 0x023a9afe, 0x00edab6f, 0x02c22f08, 0x01aaf33a, 0x0353a31c, 0x018d8d56, 0x002b712c}}}, + {X: Field{[10]uint32{0x010964e3, 0x036b12ed, 0x02f76fd0, 0x01df7471, 0x00a99f08, 0x02502174, 0x0011b48d, 0x01101d2b, 0x0216e05c, 0x0038469b}}, Y: Field{[10]uint32{0x0282bfc8, 0x03efe2c1, 0x00c6f767, 0x0384e0c6, 0x0017adc6, 0x01bc2bc9, 0x02d5e259, 0x0350c386, 0x025b87a2, 0x0021f581}}}, + {X: Field{[10]uint32{0x02d1b844, 0x024d46e4, 0x02484f28, 0x020b05cf, 0x01c69c03, 0x004e22f1, 0x02b15c3c, 0x00357f21, 0x01c304a6, 0x003d5f4d}}, Y: Field{[10]uint32{0x01266837, 0x02eaef58, 0x01c6a464, 0x0080c245, 0x00700697, 0x027918d3, 0x004d3f5a, 0x03d365e4, 0x019ea98e, 0x001c1fcf}}}, + {X: Field{[10]uint32{0x021f51d3, 0x01c591ec, 0x03df8739, 0x0118b0e7, 0x0011f80d, 0x036842ea, 0x00d419b9, 0x02a5573a, 0x03216726, 0x001a9cfe}}, Y: Field{[10]uint32{0x01224b17, 0x00937669, 0x03774018, 0x011a2d82, 0x022db482, 0x025c844c, 0x02a7d294, 0x03cf09ff, 0x02fca1ed, 0x0013cf3b}}}, + {X: Field{[10]uint32{0x00c7cb09, 0x03401fcf, 0x03435234, 0x01a28746, 0x023bc7eb, 0x00f61c51, 0x016e1fee, 0x025297d6, 0x007a3a65, 0x0004f9d8}}, Y: Field{[10]uint32{0x00079160, 0x01d6a282, 0x036411be, 0x02ed9ad5, 0x0165eae2, 0x02cd0a67, 0x025fdd85, 0x02e2c78c, 0x008de8fb, 0x000a1372}}}, + {X: Field{[10]uint32{0x00288015, 0x00df98fb, 0x019cc39a, 0x014fbb72, 0x024673f8, 0x0016daa9, 0x01fac61a, 0x0379bda0, 0x02aad936, 0x002a8053}}, Y: Field{[10]uint32{0x02c1006f, 0x00539991, 0x00ad9df8, 0x001d0f3b, 0x03ef4b9b, 0x03dec3d8, 0x032a7e43, 0x02fa6b0f, 0x03c04636, 0x000f7a44}}}, + {X: Field{[10]uint32{0x00cdee05, 0x00338496, 0x003b9006, 0x02c85cbb, 0x01a8761f, 0x02c1a407, 0x000250b1, 0x020b9890, 0x03225681, 0x000a6fa8}}, Y: Field{[10]uint32{0x022651c8, 0x0280d669, 0x018e39e4, 0x02db231a, 0x03f9fc31, 0x021c17b1, 0x0009b3fb, 0x02683aa4, 0x01a2690e, 0x001f1036}}}, + {X: Field{[10]uint32{0x011d45f9, 0x02155e3c, 0x026144cf, 0x0379b1e5, 0x02ba4c1c, 0x01f6de5b, 0x022ef2c7, 0x0144ad3a, 0x03d35337, 0x000dabb8}}, Y: Field{[10]uint32{0x00febad4, 0x02eacfdf, 0x036069d3, 0x0342b11c, 0x00004b35, 0x01f263d5, 0x00b95470, 0x018271e7, 0x0235cd69, 0x0032ab76}}}, + {X: Field{[10]uint32{0x02f18ada, 0x01b1d584, 0x01bcc11b, 0x024eef6f, 0x01d460bd, 0x00cf5296, 0x0036faff, 0x02239f67, 0x006d2382, 0x003d485e}}, Y: Field{[10]uint32{0x03953516, 0x01a2bf48, 0x030981dd, 0x028db16f, 0x02aa5ef4, 0x03347475, 0x0026102b, 0x036d5fb3, 0x03bf6038, 0x00381a1b}}}, + {X: Field{[10]uint32{0x02d0e6bd, 0x01f839d0, 0x01e5313b, 0x018f6c3d, 0x03f774d1, 0x00135bb2, 0x022147c1, 0x0138960a, 0x0001243c, 0x000cc8b5}}, Y: Field{[10]uint32{0x0028b2a0, 0x00e8ba5b, 0x03af624f, 0x00fa8a1c, 0x032805f6, 0x0376be6d, 0x03019bc4, 0x013bd6fe, 0x0397e966, 0x0015b9c1}}}, + }, + { + {X: Field{[10]uint32{0x02d0e6bd, 0x01f839d0, 0x01e5313b, 0x018f6c3d, 0x03f774d1, 0x00135bb2, 0x022147c1, 0x0138960a, 0x0001243c, 0x000cc8b5}}, Y: Field{[10]uint32{0x0028b2a0, 0x00e8ba5b, 0x03af624f, 0x00fa8a1c, 0x032805f6, 0x0376be6d, 0x03019bc4, 0x013bd6fe, 0x0397e966, 0x0015b9c1}}}, + {X: Field{[10]uint32{0x00ade462, 0x025b4cb0, 0x00f29fc6, 0x0323ab6f, 0x010d4cdd, 0x01320335, 0x00ef31b0, 0x02f6b848, 0x000250ce, 0x00234988}}, Y: Field{[10]uint32{0x0326470c, 0x002a2e43, 0x00b3ad8e, 0x0139c99e, 0x021d4afb, 0x00fb8dae, 0x01f6f2dc, 0x03d0df4c, 0x03b4715b, 0x003afb4e}}}, + {X: Field{[10]uint32{0x019ab499, 0x0274fc81, 0x00330abd, 0x0271b9cf, 0x000b1329, 0x019fc06f, 0x02196b3c, 0x0016e974, 0x03f3015c, 0x001e2eab}}, Y: Field{[10]uint32{0x02e097fd, 0x0348c63f, 0x01199681, 0x03ba3449, 0x0291632e, 0x0360820b, 0x00a84e0e, 0x0302bebf, 0x00dbdb06, 0x002b52f7}}}, + {X: Field{[10]uint32{0x0116e633, 0x01190f85, 0x01c8b916, 0x00341cb6, 0x038ed493, 0x0165340e, 0x00068a1f, 0x02faa739, 0x00766eae, 0x00048e30}}, Y: Field{[10]uint32{0x037b7805, 0x036dca31, 0x0022805c, 0x00b731d0, 0x03094625, 0x0070f705, 0x00979e2d, 0x004d675b, 0x002dbb27, 0x0022a76c}}}, + {X: Field{[10]uint32{0x0106ace6, 0x00f85b3f, 0x020ca449, 0x00dbe0e8, 0x0223709b, 0x024a6ac6, 0x00b84984, 0x038f5308, 0x0211a14a, 0x001bdc3c}}, Y: Field{[10]uint32{0x0202d5de, 0x02fb4d2d, 0x005ee048, 0x019af96b, 0x00753295, 0x01ee67d4, 0x015d8f34, 0x01edcdbe, 0x02309402, 0x001e47a2}}}, + {X: Field{[10]uint32{0x01cd5379, 0x018ccc29, 0x03cadc30, 0x00e161c2, 0x032db794, 0x02a93488, 0x002481b8, 0x004e0a9e, 0x02d56bdd, 0x0005f01c}}, Y: Field{[10]uint32{0x0108cd25, 0x02b8146c, 0x02d0df7c, 0x01d8996e, 0x038959ac, 0x03c740d3, 0x03c1247a, 0x0281939d, 0x01f4283d, 0x0036406f}}}, + {X: Field{[10]uint32{0x00ee1b40, 0x03b8fb98, 0x02247dc8, 0x016dc7a5, 0x008ced48, 0x0040f335, 0x00949f19, 0x029057e0, 0x01b29d6a, 0x00385667}}, Y: Field{[10]uint32{0x038f93a6, 0x018997b5, 0x0199de1d, 0x01d2f0ca, 0x03a6363a, 0x028bf1f3, 0x02f894aa, 0x035283be, 0x02232a81, 0x001e4cd8}}}, + {X: Field{[10]uint32{0x008e7a66, 0x0005549e, 0x0021619b, 0x00a0ac3b, 0x01cddcd7, 0x029a846e, 0x032ea758, 0x0270579e, 0x030770cb, 0x0009c756}}, Y: Field{[10]uint32{0x003c9727, 0x035c9638, 0x0024e7a8, 0x038d422a, 0x03e2a065, 0x026b21df, 0x017d0994, 0x03d24791, 0x005834e7, 0x00174ea9}}}, + {X: Field{[10]uint32{0x01c00c3e, 0x037e8a12, 0x008e2f81, 0x000f2448, 0x01f00e8f, 0x03514616, 0x02562d33, 0x01a5590d, 0x00970440, 0x002ec2c1}}, Y: Field{[10]uint32{0x01955a35, 0x02a60b44, 0x0090a799, 0x013a4177, 0x02fe6704, 0x02ac6c14, 0x01d2fa17, 0x027d8d95, 0x005853af, 0x001019f9}}}, + {X: Field{[10]uint32{0x00a923b7, 0x03a1f62a, 0x01b30da1, 0x03bb6071, 0x02aef650, 0x020ce099, 0x00708ab6, 0x0269c150, 0x039b2199, 0x002b0ab2}}, Y: Field{[10]uint32{0x03cd20a6, 0x030492b5, 0x03a4fa2d, 0x02fc4b49, 0x0360b0d0, 0x004f67ac, 0x01afa0df, 0x01c93472, 0x028511c1, 0x001da110}}}, + {X: Field{[10]uint32{0x01dd32e6, 0x01d6e701, 0x01ee7e0e, 0x0146d4f9, 0x03c663b5, 0x01d697ef, 0x0249dbe0, 0x01e27a6d, 0x01554195, 0x00371690}}, Y: Field{[10]uint32{0x014a99b9, 0x01f6de9d, 0x01bcf80e, 0x0241db92, 0x002ff2ee, 0x006fd651, 0x00ea5e20, 0x019e9db7, 0x00a63f9f, 0x0012bcea}}}, + {X: Field{[10]uint32{0x022d8dae, 0x00f00632, 0x01ea9579, 0x03e47f49, 0x02ac32a5, 0x032c895b, 0x02b25ef9, 0x024be6e9, 0x00026211, 0x002209c7}}, Y: Field{[10]uint32{0x021e77d9, 0x009b03cf, 0x01099fb4, 0x01b71c5f, 0x00c30087, 0x016afd6b, 0x01c8b3ae, 0x01daa900, 0x01535071, 0x0035c677}}}, + {X: Field{[10]uint32{0x0144e7cb, 0x0116eb11, 0x020359ed, 0x0096d4a5, 0x01a10642, 0x004053a6, 0x03354a57, 0x00ee76f8, 0x01703987, 0x00055b86}}, Y: Field{[10]uint32{0x01250a37, 0x00e4b02b, 0x039cd6d5, 0x02357ad0, 0x009496d5, 0x00e0d2fa, 0x039572a6, 0x0241f6a4, 0x019f8f31, 0x001af023}}}, + {X: Field{[10]uint32{0x0089240f, 0x02eb7267, 0x03b858f5, 0x02ebe8b9, 0x0274f8c4, 0x01f8385d, 0x00ee0919, 0x01cce386, 0x010d652d, 0x00056e0e}}, Y: Field{[10]uint32{0x0326f04a, 0x03e7be38, 0x033352e2, 0x02ad7068, 0x01b30367, 0x01e967e6, 0x03dd7ccc, 0x023420ea, 0x020c8efe, 0x001e1b3c}}}, + {X: Field{[10]uint32{0x019853ca, 0x02f0a731, 0x03f54dbf, 0x01ae7c66, 0x0348e962, 0x0239c584, 0x00a76a22, 0x010e09af, 0x00cecb68, 0x00109a6f}}, Y: Field{[10]uint32{0x01b8d367, 0x0163bd4d, 0x028a3da9, 0x0297e796, 0x01fd3940, 0x010c6902, 0x0084ca9c, 0x005adc8f, 0x001a82c0, 0x003b4ac7}}}, + {X: Field{[10]uint32{0x0134ab83, 0x035d34a0, 0x03397721, 0x026bdd90, 0x00741b3f, 0x0259961a, 0x011770d8, 0x02df68af, 0x007d2de0, 0x002159cb}}, Y: Field{[10]uint32{0x010313a6, 0x00c253de, 0x00f44c8e, 0x03f314a6, 0x01e77f17, 0x0298b0b9, 0x034049bf, 0x02cbad8d, 0x039b5b43, 0x001f1206}}}, + }, + { + {X: Field{[10]uint32{0x0134ab83, 0x035d34a0, 0x03397721, 0x026bdd90, 0x00741b3f, 0x0259961a, 0x011770d8, 0x02df68af, 0x007d2de0, 0x002159cb}}, Y: Field{[10]uint32{0x010313a6, 0x00c253de, 0x00f44c8e, 0x03f314a6, 0x01e77f17, 0x0298b0b9, 0x034049bf, 0x02cbad8d, 0x039b5b43, 0x001f1206}}}, + {X: Field{[10]uint32{0x0317fc25, 0x02e42f07, 0x02d96998, 0x011b7cb9, 0x033b89ea, 0x01722987, 0x00186121, 0x027b00db, 0x036b740f, 0x0014d333}}, Y: Field{[10]uint32{0x03e86e76, 0x031fdbb3, 0x028ddd71, 0x01deff74, 0x010ae3d2, 0x00b550d5, 0x02ae3dd3, 0x00b76d18, 0x00b09c8b, 0x00355c57}}}, + {X: Field{[10]uint32{0x03ba9000, 0x001c8ea0, 0x028b6fdf, 0x0271a097, 0x01c4872f, 0x0210050f, 0x00876075, 0x036305a1, 0x00f9fff1, 0x002b0e1d}}, Y: Field{[10]uint32{0x0310cf0a, 0x00f1f65b, 0x029fa4da, 0x0035fd9b, 0x03085e35, 0x01045fe4, 0x022dde89, 0x0301a6e1, 0x012308a1, 0x002a997a}}}, + {X: Field{[10]uint32{0x00bee8b6, 0x01c248fa, 0x008d2c71, 0x011fb3ef, 0x0179020d, 0x023e2abb, 0x01e14201, 0x02dfcc20, 0x035cee87, 0x002a4747}}, Y: Field{[10]uint32{0x010644c1, 0x0345aa90, 0x03225003, 0x027d8a32, 0x02f80056, 0x0376b4ec, 0x03189c8d, 0x023b8569, 0x024ee2df, 0x001d228c}}}, + {X: Field{[10]uint32{0x0106dbd4, 0x001bd9bb, 0x00d081a6, 0x0215e288, 0x01ec0e3f, 0x0268f9ca, 0x0114075e, 0x01c04e6b, 0x00e7aa68, 0x0015c357}}, Y: Field{[10]uint32{0x011ed495, 0x016fb3af, 0x00bed5a6, 0x01b71918, 0x03b683a3, 0x007406ee, 0x0366e671, 0x000bd816, 0x0349420e, 0x0029ab94}}}, + {X: Field{[10]uint32{0x03ba402e, 0x0358c2c5, 0x02989ae5, 0x0170b410, 0x03c3b81a, 0x021238f0, 0x03ead0c4, 0x0280a962, 0x035cd18f, 0x0023a246}}, Y: Field{[10]uint32{0x00fad9e0, 0x02d89e71, 0x027ee8e1, 0x0090855e, 0x02af650c, 0x013ca8c1, 0x038d0e40, 0x0319a02c, 0x020e6a9e, 0x003974c3}}}, + {X: Field{[10]uint32{0x012d230e, 0x0307e482, 0x03928434, 0x02834a4c, 0x01daee32, 0x000d9bbd, 0x03c229ee, 0x022edbe1, 0x00702826, 0x001d6d7e}}, Y: Field{[10]uint32{0x011570b8, 0x032f7ef5, 0x038fb037, 0x02c01447, 0x020267a4, 0x01377ea3, 0x01787455, 0x02148d8f, 0x0221e3a7, 0x00149f33}}}, + {X: Field{[10]uint32{0x0184cf74, 0x02870956, 0x01f10aa1, 0x0116fbd8, 0x000735ae, 0x00b50e0f, 0x02214dde, 0x0238d706, 0x0023d90c, 0x00305723}}, Y: Field{[10]uint32{0x01ccb000, 0x0123360e, 0x015a2c4a, 0x00b542c0, 0x0247bf77, 0x0097f5ee, 0x01c6f45e, 0x0088d723, 0x00d82852, 0x000aea55}}}, + {X: Field{[10]uint32{0x034fcc0e, 0x01afdab0, 0x0084c47b, 0x0290af8e, 0x00927f10, 0x01f49672, 0x025b80e2, 0x037b0ac2, 0x02fae1ed, 0x00113f23}}, Y: Field{[10]uint32{0x019c420a, 0x03c0c79c, 0x0089d9cf, 0x0292f341, 0x03720e94, 0x020cf4f5, 0x01267e78, 0x004d9f92, 0x0294ba9b, 0x0034b1f7}}}, + {X: Field{[10]uint32{0x0142dea9, 0x004fc3a2, 0x03130584, 0x0232e2df, 0x02ab35a9, 0x0182a1ff, 0x006ad8ba, 0x0176d9e5, 0x02133428, 0x000559a1}}, Y: Field{[10]uint32{0x027be3df, 0x0151bc0d, 0x02dcbf92, 0x01a22c8f, 0x02de4828, 0x02c83f48, 0x02894eff, 0x03c14413, 0x03aa0e82, 0x0013cd65}}}, + {X: Field{[10]uint32{0x03b69991, 0x01207f22, 0x03175d5a, 0x028b0cc1, 0x01fffb3f, 0x0380bd4d, 0x02a16620, 0x01ef1a19, 0x0247bace, 0x0037a8ae}}, Y: Field{[10]uint32{0x016fe2df, 0x01d0aa7c, 0x019bc706, 0x02cd887b, 0x03229dcd, 0x013dee79, 0x01cbfec8, 0x00a392b1, 0x03d6d90c, 0x002b8a2f}}}, + {X: Field{[10]uint32{0x036bcfe8, 0x03b58794, 0x03bb3e61, 0x027b5a6d, 0x020e0c17, 0x001acc66, 0x02ca8f23, 0x02666d1c, 0x00bc1cc6, 0x0004ccbe}}, Y: Field{[10]uint32{0x02e78402, 0x00374b36, 0x0021451b, 0x009356a3, 0x01ba93b4, 0x017701a0, 0x0367c453, 0x00bb5c4f, 0x03ee2960, 0x0030e771}}}, + {X: Field{[10]uint32{0x014fc9cc, 0x01034094, 0x021658c2, 0x02f0a691, 0x0226d00a, 0x012e2a0d, 0x001cf6cc, 0x01a35bbf, 0x0098a6e1, 0x000e5a3f}}, Y: Field{[10]uint32{0x03ad37dd, 0x00e52257, 0x03334019, 0x01dbfe23, 0x011a1465, 0x02ab4cb2, 0x037982d1, 0x0164a048, 0x03d0db4b, 0x001e272e}}}, + {X: Field{[10]uint32{0x00cc84bf, 0x00ebcf85, 0x01f27c02, 0x01b7bae8, 0x0380bf1d, 0x030a9254, 0x00e37159, 0x00205a0c, 0x01364e54, 0x002d775a}}, Y: Field{[10]uint32{0x0374750c, 0x01485f38, 0x01a90c78, 0x037b75ac, 0x01353110, 0x01635051, 0x0118733c, 0x032dadaf, 0x005853c7, 0x0012cdbb}}}, + {X: Field{[10]uint32{0x020c85f1, 0x0308646b, 0x03a250ae, 0x014d80e8, 0x01a6a52e, 0x015e5175, 0x0325df09, 0x01a8a49a, 0x010698e0, 0x001a25a4}}, Y: Field{[10]uint32{0x01c1de21, 0x01208ccb, 0x003922c7, 0x02768354, 0x011f40c1, 0x021175cb, 0x03305c1d, 0x025e495b, 0x03b4b38c, 0x002bbf4f}}}, + {X: Field{[10]uint32{0x00c82a0a, 0x02566bd8, 0x00832ffd, 0x03183d9a, 0x010f9226, 0x006504ec, 0x006c9f19, 0x022291ac, 0x03809b19, 0x0002522f}}, Y: Field{[10]uint32{0x00c8e589, 0x02dfe236, 0x012bed4c, 0x002325f3, 0x006d4dff, 0x0070d063, 0x02b74c5d, 0x01991b71, 0x02856dcb, 0x0014e958}}}, + }, + { + {X: Field{[10]uint32{0x00c82a0a, 0x02566bd8, 0x00832ffd, 0x03183d9a, 0x010f9226, 0x006504ec, 0x006c9f19, 0x022291ac, 0x03809b19, 0x0002522f}}, Y: Field{[10]uint32{0x00c8e589, 0x02dfe236, 0x012bed4c, 0x002325f3, 0x006d4dff, 0x0070d063, 0x02b74c5d, 0x01991b71, 0x02856dcb, 0x0014e958}}}, + {X: Field{[10]uint32{0x028b000a, 0x03ac115f, 0x01e51396, 0x00cc7a09, 0x02ef16c1, 0x00a47c2d, 0x01ce4c66, 0x0164d835, 0x007f372e, 0x0009a54b}}, Y: Field{[10]uint32{0x01ef705a, 0x035007c1, 0x027318c3, 0x023d94f5, 0x02debe39, 0x035a2108, 0x03c893d2, 0x029a218a, 0x024c5800, 0x003d44fa}}}, + {X: Field{[10]uint32{0x00c8ac7f, 0x00bf97ee, 0x02a52728, 0x03b9978a, 0x01641242, 0x0015be12, 0x003396d2, 0x00aef2d7, 0x02fbe382, 0x0026516c}}, Y: Field{[10]uint32{0x01aea3b0, 0x0250e85a, 0x00dfa96d, 0x008fbb6b, 0x01282f7a, 0x02ca3bfd, 0x03db44ff, 0x00a0b581, 0x01824b0f, 0x000fbbfb}}}, + {X: Field{[10]uint32{0x02134f96, 0x0096225d, 0x030e9f10, 0x0195cb5a, 0x03f52119, 0x00c7fc90, 0x032be8b1, 0x0316f6fb, 0x00e6fc23, 0x00318b96}}, Y: Field{[10]uint32{0x014cf97e, 0x01dfb534, 0x01c3e822, 0x00d58dcc, 0x01bcfb85, 0x00c507f1, 0x03d67675, 0x02859e30, 0x027d45b1, 0x0010e5e0}}}, + {X: Field{[10]uint32{0x029e353a, 0x035e78e5, 0x021f6ed1, 0x00214aef, 0x0210a044, 0x0041f57f, 0x01f82227, 0x01c3988d, 0x006b2058, 0x000a8c53}}, Y: Field{[10]uint32{0x01746067, 0x0249b879, 0x018bfc25, 0x02ab6c99, 0x00138a54, 0x02ea86e8, 0x0063e476, 0x009eb069, 0x000bf35a, 0x0005692b}}}, + {X: Field{[10]uint32{0x02fccf64, 0x02926624, 0x0318e3ba, 0x03789604, 0x033bd278, 0x01f2576f, 0x028772c7, 0x018df6c1, 0x015c0eb4, 0x00031f44}}, Y: Field{[10]uint32{0x0078fee0, 0x01b4ecca, 0x0268d53f, 0x020e566b, 0x0148785d, 0x01e2bc51, 0x02424b84, 0x02c111ea, 0x007b1925, 0x0012aa1d}}}, + {X: Field{[10]uint32{0x01b84966, 0x00bd27ba, 0x03ff989e, 0x001b75fc, 0x011b4f41, 0x029adb24, 0x00b6faf3, 0x03f0b526, 0x0100b703, 0x00165669}}, Y: Field{[10]uint32{0x03473a6a, 0x0198c861, 0x0242640a, 0x030233f8, 0x009100dc, 0x03720a9c, 0x00312820, 0x02a25fe5, 0x02741f5c, 0x0000dc39}}}, + {X: Field{[10]uint32{0x03188cbb, 0x01be2002, 0x01e97368, 0x0080201f, 0x00b81c03, 0x005988ac, 0x003329a7, 0x0171d05a, 0x00520eec, 0x00041d18}}, Y: Field{[10]uint32{0x03272124, 0x01ed8d87, 0x03da601d, 0x01d23738, 0x01242e0d, 0x033d5284, 0x0326b9b9, 0x016630d4, 0x00c09a21, 0x002af975}}}, + {X: Field{[10]uint32{0x03c6b173, 0x0326e48a, 0x03feb3b0, 0x00f1fbb4, 0x017dd862, 0x0016d7e7, 0x0160c463, 0x00bfa384, 0x01393722, 0x0027bacc}}, Y: Field{[10]uint32{0x0323a71d, 0x02588365, 0x00c4b953, 0x02fb439c, 0x030ea71a, 0x02ee86b8, 0x02aabfdb, 0x03563654, 0x01e0110e, 0x0038487c}}}, + {X: Field{[10]uint32{0x02d2cf25, 0x03a6f24a, 0x03a94457, 0x0136f249, 0x037ba49b, 0x009ecf0b, 0x011e80ba, 0x02a72c63, 0x029bf3da, 0x00148366}}, Y: Field{[10]uint32{0x0285181f, 0x02db20e8, 0x030c7610, 0x019446fd, 0x022bab0b, 0x012ea5c1, 0x030ae71b, 0x007ab923, 0x009b1027, 0x003949bd}}}, + {X: Field{[10]uint32{0x02c805f3, 0x00910fdf, 0x01591577, 0x01d42766, 0x007de40f, 0x001ba5e2, 0x02bb2388, 0x0063d45b, 0x03e4c7f7, 0x000e7313}}, Y: Field{[10]uint32{0x023c48d3, 0x0068304e, 0x012e4d19, 0x00dcff24, 0x01bbb957, 0x03d0b79f, 0x01e6693c, 0x03e3cc54, 0x032c5a46, 0x003b2c51}}}, + {X: Field{[10]uint32{0x008d5622, 0x02baeb15, 0x03d2e8b5, 0x03bde946, 0x03e1db07, 0x02fcce06, 0x01586a81, 0x0254d68e, 0x011e6168, 0x0017f1b0}}, Y: Field{[10]uint32{0x01ac1683, 0x03610040, 0x03f300d0, 0x00239b1e, 0x030e05ad, 0x000d9eb2, 0x019ba2db, 0x03676e70, 0x02549aa1, 0x00043a03}}}, + {X: Field{[10]uint32{0x0222580e, 0x018bed73, 0x0388793d, 0x025b4b5b, 0x02c71328, 0x0136f534, 0x012ffde6, 0x0371a5a2, 0x007466ec, 0x003e5320}}, Y: Field{[10]uint32{0x0127db82, 0x0148fd9c, 0x01d4e81e, 0x0114c8dc, 0x029887ec, 0x02d6a07d, 0x014bff6a, 0x00896a46, 0x03dc6785, 0x0017a71f}}}, + {X: Field{[10]uint32{0x00a3d8a5, 0x02ad81f0, 0x02f99123, 0x01a115cf, 0x0126d77d, 0x00fb426b, 0x031274a3, 0x035ba4d0, 0x03e5d872, 0x0016a90c}}, Y: Field{[10]uint32{0x013c2ba7, 0x03dfbddb, 0x02ef4fb5, 0x03d4b675, 0x0116475c, 0x01ca2958, 0x02394aec, 0x039e6866, 0x01fc682a, 0x003773a8}}}, + {X: Field{[10]uint32{0x00c4f21f, 0x0102eb44, 0x01a7a6be, 0x0165340f, 0x025024a9, 0x02c66674, 0x0002068d, 0x03458bf3, 0x006c6ad5, 0x0023332e}}, Y: Field{[10]uint32{0x029dfea0, 0x0049ba9c, 0x03e28f7f, 0x02b20992, 0x014b92dc, 0x0321d629, 0x01bef549, 0x00710da6, 0x02586275, 0x0015fe25}}}, + {X: Field{[10]uint32{0x038fd8e8, 0x0336067c, 0x0352acce, 0x0137f1a5, 0x00f1b0e4, 0x000a1cea, 0x0067ce0f, 0x00070d3c, 0x027f4618, 0x00189833}}, Y: Field{[10]uint32{0x02b4ae17, 0x0213a56c, 0x00198c1a, 0x008e0147, 0x03ecd292, 0x01da87bd, 0x03090497, 0x02d5c69f, 0x002b6fa5, 0x002f0b6a}}}, + }, + { + {X: Field{[10]uint32{0x038fd8e8, 0x0336067c, 0x0352acce, 0x0137f1a5, 0x00f1b0e4, 0x000a1cea, 0x0067ce0f, 0x00070d3c, 0x027f4618, 0x00189833}}, Y: Field{[10]uint32{0x02b4ae17, 0x0213a56c, 0x00198c1a, 0x008e0147, 0x03ecd292, 0x01da87bd, 0x03090497, 0x02d5c69f, 0x002b6fa5, 0x002f0b6a}}}, + {X: Field{[10]uint32{0x01477c2d, 0x019d1bcf, 0x0127e076, 0x01465aab, 0x0316e65c, 0x0213c684, 0x008409be, 0x0069cf7b, 0x024748ad, 0x00217636}}, Y: Field{[10]uint32{0x03d1dd70, 0x02605bf1, 0x015a6207, 0x0080cf13, 0x0094b0a0, 0x007bf1ef, 0x02b53653, 0x019a4161, 0x0353665c, 0x00162522}}}, + {X: Field{[10]uint32{0x01136602, 0x02e91950, 0x03a5bbb0, 0x01203678, 0x0138c46f, 0x008ccecf, 0x0058937f, 0x037f0cf4, 0x03280482, 0x0021f449}}, Y: Field{[10]uint32{0x00af6aac, 0x020f1076, 0x03f7c4f6, 0x01d1bf4e, 0x0387a884, 0x03d9dd14, 0x02a276cf, 0x000f7a49, 0x00870a5a, 0x001c7389}}}, + {X: Field{[10]uint32{0x000b80d9, 0x000c4b5b, 0x007f0485, 0x00403f71, 0x024d1e7e, 0x030fb8fb, 0x00892e9c, 0x012e5a30, 0x0166e7ec, 0x00238a9c}}, Y: Field{[10]uint32{0x02b29f50, 0x0187cab5, 0x0349a49c, 0x02235c18, 0x005297b6, 0x005aa752, 0x02dd29b7, 0x02f964b3, 0x03a9ae2c, 0x003ab6c2}}}, + {X: Field{[10]uint32{0x00c5a916, 0x00175cd2, 0x010f25b2, 0x00354d58, 0x013f5c44, 0x02ad52a8, 0x00acc63d, 0x03a5d1ac, 0x013fe261, 0x003f575f}}, Y: Field{[10]uint32{0x02db8bda, 0x02cdec1e, 0x02faab14, 0x0052f73d, 0x03e5d738, 0x0271ed4b, 0x0343ca67, 0x016c1f4a, 0x02d0eeb5, 0x0003760f}}}, + {X: Field{[10]uint32{0x00e74459, 0x028d722c, 0x036dd674, 0x018e1f76, 0x01fef237, 0x004f22a4, 0x00f46587, 0x015a0164, 0x001d4ec0, 0x000a37de}}, Y: Field{[10]uint32{0x035e656f, 0x001f303b, 0x02f0a8de, 0x029406b9, 0x00a3795b, 0x003c89e5, 0x00db1789, 0x003c5f2c, 0x02a66a13, 0x003c5267}}}, + {X: Field{[10]uint32{0x01f7529c, 0x0264258d, 0x011dd45d, 0x0262d6f5, 0x0138765b, 0x034d10e0, 0x02453c32, 0x009848ae, 0x0010981c, 0x00378375}}, Y: Field{[10]uint32{0x00cd88fe, 0x008300b9, 0x0374063c, 0x031a226d, 0x00178924, 0x035e8d5c, 0x02109822, 0x00517e6c, 0x029d10a2, 0x0035c29b}}}, + {X: Field{[10]uint32{0x004561be, 0x007e8f4b, 0x0190f992, 0x03a04d67, 0x00ee4ab2, 0x01e3e254, 0x00366ecd, 0x03d63b72, 0x035842bf, 0x001da6f1}}, Y: Field{[10]uint32{0x00d9685f, 0x0082ffec, 0x033add59, 0x01d9ede1, 0x0341a177, 0x01cfd751, 0x01ce4cef, 0x020eeb23, 0x03362fe7, 0x0012fe05}}}, + {X: Field{[10]uint32{0x00f76d11, 0x00bd234e, 0x015573c8, 0x003efe14, 0x02151100, 0x0270a4a8, 0x005befc3, 0x03d139a7, 0x008ada4c, 0x002c9b08}}, Y: Field{[10]uint32{0x03b7356b, 0x03002c78, 0x0224bdc1, 0x01967609, 0x03050030, 0x0033590c, 0x004e87d9, 0x034cf3c3, 0x00820949, 0x0007c73e}}}, + {X: Field{[10]uint32{0x008e129e, 0x00e76825, 0x01b10312, 0x02cb00a2, 0x032bd1df, 0x0394f0b7, 0x00f8de28, 0x0133debc, 0x00efb7b2, 0x0019b8ff}}, Y: Field{[10]uint32{0x02e7bbea, 0x02f0d80b, 0x03b5172b, 0x027b4694, 0x035fd7d9, 0x0337e032, 0x00b5bf34, 0x0303d966, 0x034fb770, 0x00082fe2}}}, + {X: Field{[10]uint32{0x029e22db, 0x038ec199, 0x00933f94, 0x03d67e72, 0x02ac993f, 0x00630a53, 0x023bd290, 0x03d48e9f, 0x00b8fc7f, 0x003f3ac5}}, Y: Field{[10]uint32{0x002260a1, 0x01cb6c97, 0x03e4cbf5, 0x01e4e93a, 0x00ad550e, 0x0097c249, 0x018a5a75, 0x02e347f3, 0x033a40d6, 0x00192a9a}}}, + {X: Field{[10]uint32{0x01c71143, 0x0367714a, 0x017ea346, 0x02b113c1, 0x012e7ead, 0x0008fe8d, 0x027ccf90, 0x03a840f2, 0x039622bb, 0x0003ad17}}, Y: Field{[10]uint32{0x0370b136, 0x02336882, 0x01bf4c8a, 0x03a9a8ac, 0x03d65969, 0x00078a15, 0x03601f59, 0x02f43d5c, 0x03585838, 0x0014b10b}}}, + {X: Field{[10]uint32{0x038a2755, 0x02105e68, 0x005506f0, 0x01c59527, 0x0253721a, 0x02d41fea, 0x00175774, 0x0172b157, 0x02623ccd, 0x0013a426}}, Y: Field{[10]uint32{0x03cca3de, 0x02927d88, 0x0000caf7, 0x025348a6, 0x03b6cd53, 0x001d5676, 0x03246dd5, 0x00d6bb3b, 0x02878cce, 0x002b95b6}}}, + {X: Field{[10]uint32{0x0007d7c8, 0x0345234f, 0x0232f00c, 0x01d7e0a7, 0x01e0f196, 0x03cf5226, 0x0070411b, 0x02dcf5a1, 0x008ab230, 0x000f3e48}}, Y: Field{[10]uint32{0x024cee08, 0x02a476b6, 0x0059c0c4, 0x032356e3, 0x009d4684, 0x017059c8, 0x02ce6ca6, 0x02197547, 0x024c15af, 0x003780f1}}}, + {X: Field{[10]uint32{0x003ba64d, 0x01625666, 0x015a3a82, 0x01de2316, 0x02bde60f, 0x02e39038, 0x030a145e, 0x01300efe, 0x015c22e0, 0x0030d9d1}}, Y: Field{[10]uint32{0x022181fd, 0x03323e5a, 0x00f14614, 0x02b285de, 0x0342626a, 0x01365931, 0x00e0e6e8, 0x0180cc20, 0x02d069cb, 0x000e9482}}}, + {X: Field{[10]uint32{0x0037fa2d, 0x00f32348, 0x01c43295, 0x03d5d6ff, 0x03043ec8, 0x02efd040, 0x00348414, 0x036350f6, 0x01e0afc1, 0x003940df}}, Y: Field{[10]uint32{0x01755bda, 0x01772107, 0x01f10e0e, 0x000fb120, 0x01bd5f5b, 0x02e642f7, 0x0398d09f, 0x034ed7e7, 0x034baa94, 0x00115c54}}}, + }, + { + {X: Field{[10]uint32{0x0037fa2d, 0x00f32348, 0x01c43295, 0x03d5d6ff, 0x03043ec8, 0x02efd040, 0x00348414, 0x036350f6, 0x01e0afc1, 0x003940df}}, Y: Field{[10]uint32{0x01755bda, 0x01772107, 0x01f10e0e, 0x000fb120, 0x01bd5f5b, 0x02e642f7, 0x0398d09f, 0x034ed7e7, 0x034baa94, 0x00115c54}}}, + {X: Field{[10]uint32{0x023d34ef, 0x00f231e7, 0x02ddb8c6, 0x01f1e4a8, 0x02c3ab21, 0x00b586cf, 0x00b6cf7d, 0x015253d0, 0x01a467fd, 0x00297803}}, Y: Field{[10]uint32{0x037adb4c, 0x0171738b, 0x000acb85, 0x03f9e424, 0x025b60dc, 0x026fd0f4, 0x01726fe9, 0x02155508, 0x01f5e560, 0x000263f9}}}, + {X: Field{[10]uint32{0x037e7775, 0x02a29b85, 0x015f6388, 0x024e23b6, 0x02b5e155, 0x03d4a46b, 0x00543bac, 0x00cf3b96, 0x023aff96, 0x0027625a}}, Y: Field{[10]uint32{0x02056691, 0x03db4eae, 0x0253befc, 0x01fb8a64, 0x01e899cd, 0x0094249f, 0x02964ed7, 0x02fc2e53, 0x01e43f49, 0x0037646a}}}, + {X: Field{[10]uint32{0x03b91252, 0x00dc5835, 0x0172ae67, 0x00b911dd, 0x006d4afd, 0x0326fef1, 0x019f4bb1, 0x00ad00d4, 0x01f5ef3a, 0x002a6505}}, Y: Field{[10]uint32{0x03edc264, 0x00ddeb12, 0x00ddd73a, 0x02b5643d, 0x02899a16, 0x013dbdad, 0x022f10f2, 0x03e12ee7, 0x024cae81, 0x0020b439}}}, + {X: Field{[10]uint32{0x002a3293, 0x0381378f, 0x0076c5fd, 0x01bba40d, 0x015688b8, 0x00a0bd33, 0x02b0a573, 0x00de4b43, 0x00ee7116, 0x0020c9ee}}, Y: Field{[10]uint32{0x020df9bd, 0x02153863, 0x02a416bc, 0x02d3b8c9, 0x0096afda, 0x009e5c21, 0x03b3ea66, 0x02a63862, 0x02266ee0, 0x0001265f}}}, + {X: Field{[10]uint32{0x00904ed3, 0x015fc7a3, 0x01784159, 0x01624161, 0x00df2a74, 0x0049c8e1, 0x03f8e643, 0x00637fe5, 0x002d2db8, 0x000033e3}}, Y: Field{[10]uint32{0x016f77c1, 0x02658ede, 0x02827b00, 0x01e74cbd, 0x0122991d, 0x0146f604, 0x01d5c1bd, 0x03510467, 0x000ea781, 0x002aab40}}}, + {X: Field{[10]uint32{0x0162c042, 0x006c9b11, 0x03b1a242, 0x008d2e37, 0x02092d23, 0x03e6a3b5, 0x016661d8, 0x02c5a25f, 0x02aa2a6d, 0x0016b90a}}, Y: Field{[10]uint32{0x0379269c, 0x017337e3, 0x018dbf90, 0x025441f3, 0x0294e0db, 0x000e2752, 0x01c1ddc6, 0x00147aad, 0x027c05ff, 0x0026764e}}}, + {X: Field{[10]uint32{0x02540f17, 0x01196d9a, 0x0132bd8c, 0x01c17c30, 0x004c750d, 0x023e4d7e, 0x00edde09, 0x0347f1f6, 0x029f9e4f, 0x002d5bd3}}, Y: Field{[10]uint32{0x0200102d, 0x00bf2b80, 0x0285446a, 0x018f2f32, 0x0121d429, 0x00160b47, 0x01c11adf, 0x02a15b4f, 0x013429cc, 0x000cba39}}}, + {X: Field{[10]uint32{0x0285af61, 0x02204a17, 0x02766b34, 0x008b752b, 0x034e8ed7, 0x01b086c3, 0x02eb68ff, 0x0323ad66, 0x02e426a1, 0x0024b08e}}, Y: Field{[10]uint32{0x036a2b09, 0x008d9a70, 0x02fed4e7, 0x020ad8a1, 0x012d23ad, 0x01ce355e, 0x03217d5c, 0x006ed027, 0x008f0155, 0x0010533e}}}, + {X: Field{[10]uint32{0x01e5d1b3, 0x02a92096, 0x02a3e280, 0x0227f5b2, 0x0048c9b7, 0x003f36cc, 0x027e4c6f, 0x0120ef47, 0x0151caf6, 0x000eae94}}, Y: Field{[10]uint32{0x02f30087, 0x02d9e350, 0x02ee6a85, 0x01674b79, 0x01e18463, 0x01f5cb32, 0x024ec804, 0x01474241, 0x0223bff2, 0x0023079c}}}, + {X: Field{[10]uint32{0x03b5eba8, 0x02bc6cb1, 0x02a36ce2, 0x031fe463, 0x022dabed, 0x02be37d0, 0x010f4176, 0x037c4223, 0x008c76af, 0x003fb958}}, Y: Field{[10]uint32{0x010b9b5c, 0x00574da3, 0x014793f5, 0x010afe41, 0x02e380ff, 0x00a1f053, 0x01402f99, 0x0162bec4, 0x019134fe, 0x000e01d6}}}, + {X: Field{[10]uint32{0x00f8cffd, 0x02d66223, 0x01ae61b2, 0x0056de91, 0x01432e6b, 0x01e6f762, 0x01afb88f, 0x02306f51, 0x037f1fe7, 0x00002026}}, Y: Field{[10]uint32{0x01b5f32f, 0x03516863, 0x01f93d91, 0x03eb64ae, 0x0112a340, 0x0394bf72, 0x008c836d, 0x02a18c0a, 0x0022bf41, 0x003e05f8}}}, + {X: Field{[10]uint32{0x0063caf4, 0x00ee92cf, 0x03d5281e, 0x02aca3d4, 0x00a28ff3, 0x018a9abf, 0x02113b4c, 0x019f9882, 0x00eb92e6, 0x0010b951}}, Y: Field{[10]uint32{0x029c29c8, 0x02bb0265, 0x005f1187, 0x01edafbf, 0x0073a50e, 0x01d0579e, 0x01f220c1, 0x0319c7dc, 0x00e0f91c, 0x0027fe15}}}, + {X: Field{[10]uint32{0x03ed9ef9, 0x006417bd, 0x0063d6c6, 0x02803bc3, 0x02ad2ba5, 0x01ff064a, 0x01f78494, 0x03529d07, 0x02ddd352, 0x000cb779}}, Y: Field{[10]uint32{0x031fb871, 0x02e11a00, 0x034b21ab, 0x00de7263, 0x0059ec1b, 0x0356307d, 0x036a4f94, 0x019ef388, 0x03dc3420, 0x0010745e}}}, + {X: Field{[10]uint32{0x020f09a1, 0x00af6617, 0x0328380a, 0x03c6e500, 0x02f0a109, 0x011c03bf, 0x0196ed2a, 0x00b38e0e, 0x03b66553, 0x001ebb60}}, Y: Field{[10]uint32{0x01857d73, 0x036337a1, 0x00a54045, 0x00c03cfd, 0x02d88b2f, 0x0040cb63, 0x01afd0ab, 0x03bdf1f7, 0x005f9a31, 0x003d6e15}}}, + {X: Field{[10]uint32{0x00fce725, 0x019a82b9, 0x005b7258, 0x03471a9b, 0x00e7e8db, 0x03c5dc6d, 0x02a905e8, 0x001eb7d7, 0x02b0f4a2, 0x003818dc}}, Y: Field{[10]uint32{0x02ee31dd, 0x000d3e53, 0x00870b27, 0x01de1c41, 0x00d7484a, 0x03569223, 0x0227bb2a, 0x0233f84a, 0x0174bce1, 0x001ea422}}}, + }, + { + {X: Field{[10]uint32{0x00fce725, 0x019a82b9, 0x005b7258, 0x03471a9b, 0x00e7e8db, 0x03c5dc6d, 0x02a905e8, 0x001eb7d7, 0x02b0f4a2, 0x003818dc}}, Y: Field{[10]uint32{0x02ee31dd, 0x000d3e53, 0x00870b27, 0x01de1c41, 0x00d7484a, 0x03569223, 0x0227bb2a, 0x0233f84a, 0x0174bce1, 0x001ea422}}}, + {X: Field{[10]uint32{0x02d2ff3e, 0x026bb90f, 0x02d3cfe0, 0x036d3b1b, 0x00045ebf, 0x03eb4fcf, 0x00dbd304, 0x01ae3e72, 0x034ca204, 0x0003ab04}}, Y: Field{[10]uint32{0x01210988, 0x0081881f, 0x01376e17, 0x025adfc8, 0x01ac19f6, 0x00ac45e6, 0x03f103bf, 0x026d0916, 0x01be7935, 0x001258c3}}}, + {X: Field{[10]uint32{0x02328d6a, 0x02a06236, 0x0018bdba, 0x00ea56b7, 0x03b24d77, 0x016c23e9, 0x00689918, 0x0138028d, 0x005ba623, 0x003198f0}}, Y: Field{[10]uint32{0x02c9b8c0, 0x002edaaf, 0x039cc23b, 0x03a944af, 0x03dd8551, 0x01d5c4c5, 0x01afdcf2, 0x0070e34e, 0x018d5f72, 0x000ccc7a}}}, + {X: Field{[10]uint32{0x03bfa4dc, 0x01c1b937, 0x01b17476, 0x01e01321, 0x03f5948a, 0x02b6ed07, 0x012119d7, 0x03a8660e, 0x0190731f, 0x00359e21}}, Y: Field{[10]uint32{0x013b5406, 0x02f35aef, 0x0207cca7, 0x03137726, 0x026206f1, 0x008704ea, 0x00ef5c6d, 0x018f1250, 0x00c89d50, 0x000a3aaa}}}, + {X: Field{[10]uint32{0x0196de2f, 0x0072120e, 0x01114bc9, 0x00bb82c9, 0x0177cedf, 0x0283f93a, 0x02b30dee, 0x01a91673, 0x0282dfb8, 0x0034ff09}}, Y: Field{[10]uint32{0x00526f8c, 0x02489075, 0x03f168c4, 0x02637dea, 0x024e59b4, 0x013de076, 0x00b4754d, 0x002863da, 0x0399a45f, 0x00313c37}}}, + {X: Field{[10]uint32{0x02143fb0, 0x00d69958, 0x005dd6dc, 0x020c2f08, 0x03a9fb92, 0x011e6565, 0x03aff339, 0x020de433, 0x001c33af, 0x000a4ab7}}, Y: Field{[10]uint32{0x036ad01c, 0x036d8f38, 0x01d4d8a9, 0x00b5cd7a, 0x02d83e66, 0x03313b3d, 0x031968a0, 0x02d91fcf, 0x021bcee0, 0x00281c99}}}, + {X: Field{[10]uint32{0x03e697ea, 0x03123440, 0x003e85c6, 0x03ee617e, 0x019ce678, 0x028feaf4, 0x00a1fec9, 0x03008df7, 0x0343feb2, 0x00305e92}}, Y: Field{[10]uint32{0x02dc6c87, 0x00ee1f77, 0x002ab0ee, 0x02d5fe7c, 0x0296e1a1, 0x025807eb, 0x02178f71, 0x0165532b, 0x002d55ab, 0x000e4d57}}}, + {X: Field{[10]uint32{0x008ff9b3, 0x017ed039, 0x0301a727, 0x00815666, 0x03c7b1a6, 0x00adc752, 0x03f210f1, 0x01025d2a, 0x00cbd9a0, 0x001a4c3f}}, Y: Field{[10]uint32{0x02e96a4e, 0x036ad7e3, 0x0051acfd, 0x004f92b3, 0x00090f9b, 0x01d7db5e, 0x030fcdb8, 0x0007ab68, 0x0294b947, 0x001fc0ab}}}, + {X: Field{[10]uint32{0x0163da1b, 0x00b0c08c, 0x0231182d, 0x03983e4e, 0x029a0ede, 0x03f047f7, 0x009349d7, 0x0242d1a3, 0x037ca267, 0x0023d862}}, Y: Field{[10]uint32{0x03bdd76e, 0x00c48440, 0x036e7c7f, 0x01a8c926, 0x026450c6, 0x01eb1690, 0x03bda74d, 0x03adbad7, 0x0325f08b, 0x001e08cf}}}, + {X: Field{[10]uint32{0x010cec10, 0x02c26d53, 0x016b084f, 0x03f2ab7b, 0x02ba25f0, 0x00b4f39c, 0x02b0e61b, 0x0079a6ba, 0x029ca332, 0x0013654a}}, Y: Field{[10]uint32{0x03d06932, 0x00dac4ee, 0x014da8ee, 0x037f213d, 0x02ba4aa2, 0x01ed72d3, 0x002aec78, 0x009e7915, 0x004a66dd, 0x002c5e06}}}, + {X: Field{[10]uint32{0x02c8ae90, 0x01643f83, 0x005deee8, 0x024ba2ef, 0x00cfb26b, 0x0320fc6e, 0x02d5b8da, 0x0079bae1, 0x00f15b7a, 0x0025e630}}, Y: Field{[10]uint32{0x012844d3, 0x02b0bab9, 0x008e27a9, 0x016f40c6, 0x02e2e496, 0x03e71cef, 0x02ec9494, 0x00bb4f74, 0x02aa75a4, 0x002e9038}}}, + {X: Field{[10]uint32{0x00b90e0b, 0x03079b0c, 0x00a4589e, 0x00e7ec25, 0x03d6ff1d, 0x02719d6c, 0x01c804a5, 0x019f4ffb, 0x03f9ad54, 0x00290d41}}, Y: Field{[10]uint32{0x021fdc20, 0x0002e64e, 0x01b5a3f0, 0x00d94d66, 0x00dc2a20, 0x0102fa30, 0x02d07ccb, 0x035c6850, 0x01c94c3f, 0x001f23cb}}}, + {X: Field{[10]uint32{0x01d66b7f, 0x0065e3c4, 0x01c8105a, 0x0141461f, 0x017aa692, 0x0224a11d, 0x00f1b90b, 0x00b59d1f, 0x02e3fb5a, 0x003f7e9b}}, Y: Field{[10]uint32{0x00e5178b, 0x023e019e, 0x00de9daa, 0x03744f5e, 0x00d846f9, 0x00f68631, 0x000c1c9a, 0x02636e4f, 0x031e2249, 0x0013673c}}}, + {X: Field{[10]uint32{0x01c0d7ad, 0x01ad6196, 0x0093ab83, 0x036de8ad, 0x011ddb64, 0x01d2799c, 0x0211ca1a, 0x03eeebbf, 0x02cd4b7b, 0x001cac13}}, Y: Field{[10]uint32{0x0323cd97, 0x039bfd19, 0x034fb2ef, 0x01a0771b, 0x0196265d, 0x0364d340, 0x01d452d6, 0x028d633b, 0x03ea0e64, 0x001a196c}}}, + {X: Field{[10]uint32{0x0265bcf0, 0x01d5e124, 0x03d30b80, 0x01e10471, 0x0269ce2b, 0x0073c883, 0x01ea9a46, 0x02790eb7, 0x0238de22, 0x003f5633}}, Y: Field{[10]uint32{0x03996292, 0x039ea73a, 0x00d1df33, 0x03f8a3c7, 0x0387261b, 0x0121793e, 0x0382ab9a, 0x00856f54, 0x01e53763, 0x003ff829}}}, + {X: Field{[10]uint32{0x00559754, 0x035a4234, 0x0358540a, 0x03778a8f, 0x0204b10b, 0x03033808, 0x010bbf9d, 0x03514d63, 0x02715cd5, 0x00084f1e}}, Y: Field{[10]uint32{0x00b458f2, 0x00b09d4d, 0x03eeddff, 0x03d7cda9, 0x00bb4850, 0x0116e864, 0x013ad062, 0x018941c0, 0x010b5ae4, 0x0012db6b}}}, + }, + { + {X: Field{[10]uint32{0x00559754, 0x035a4234, 0x0358540a, 0x03778a8f, 0x0204b10b, 0x03033808, 0x010bbf9d, 0x03514d63, 0x02715cd5, 0x00084f1e}}, Y: Field{[10]uint32{0x00b458f2, 0x00b09d4d, 0x03eeddff, 0x03d7cda9, 0x00bb4850, 0x0116e864, 0x013ad062, 0x018941c0, 0x010b5ae4, 0x0012db6b}}}, + {X: Field{[10]uint32{0x02c87fac, 0x00e25783, 0x03cf0899, 0x01d188b9, 0x020d1ab9, 0x00c8d203, 0x02e9fed8, 0x0269fd9a, 0x008132b4, 0x00071795}}, Y: Field{[10]uint32{0x03c2d4ef, 0x035ecf57, 0x0324c555, 0x03ac9bf8, 0x03a3deac, 0x03530ab4, 0x03959fa1, 0x011a3cae, 0x020f837f, 0x0013ff3d}}}, + {X: Field{[10]uint32{0x0205dccc, 0x03600467, 0x0293e532, 0x03b53066, 0x02ae3fa3, 0x0254f45c, 0x006e096b, 0x0280c255, 0x02e1753d, 0x002e33bd}}, Y: Field{[10]uint32{0x006d5750, 0x012833f3, 0x02813301, 0x030da9ad, 0x01df757f, 0x0134af66, 0x00d4a74e, 0x026efda9, 0x0260a6cc, 0x000c0ae2}}}, + {X: Field{[10]uint32{0x00531dbc, 0x03f2e875, 0x00970e20, 0x0067fb57, 0x021f901c, 0x002ef1f3, 0x036e9421, 0x019a377b, 0x010602c5, 0x001189db}}, Y: Field{[10]uint32{0x0286b8e2, 0x01cc0265, 0x03c99af8, 0x03efff86, 0x01498bad, 0x01c37b66, 0x02922875, 0x01d6e128, 0x0324d44c, 0x000383df}}}, + {X: Field{[10]uint32{0x033bb31a, 0x037fb84d, 0x017b485b, 0x01ad7f6e, 0x01701f7b, 0x03aed7d2, 0x02a0bde2, 0x01ce1780, 0x03e779b4, 0x0000fecc}}, Y: Field{[10]uint32{0x01215c9e, 0x032f9a5f, 0x000d4e34, 0x01db11d9, 0x03c65a7c, 0x02eed5ca, 0x00c161aa, 0x03f8a078, 0x0152548e, 0x003cdab6}}}, + {X: Field{[10]uint32{0x006df50d, 0x03bb405a, 0x012bd0c4, 0x00a871be, 0x00cd5e79, 0x03020818, 0x03d87442, 0x007c0b5b, 0x0230935c, 0x000e95c5}}, Y: Field{[10]uint32{0x0059679b, 0x0162ca3a, 0x01a11d21, 0x007aede0, 0x01e0aaf8, 0x015c2837, 0x02f3ff2e, 0x03ccbd45, 0x0073b599, 0x0021784e}}}, + {X: Field{[10]uint32{0x019a4ab4, 0x01457af7, 0x037c0a5b, 0x0306156e, 0x02717c36, 0x0343de8d, 0x0316f7b4, 0x00f84587, 0x00d109ec, 0x0012c5df}}, Y: Field{[10]uint32{0x035ab6f7, 0x0377f918, 0x01f558aa, 0x0157c5d0, 0x006e37e2, 0x00d89ad2, 0x028f6729, 0x03e997f6, 0x02e9a5e2, 0x000fb259}}}, + {X: Field{[10]uint32{0x022f001d, 0x013bc4d4, 0x01899611, 0x02b371e3, 0x036850e0, 0x030c6458, 0x025eb211, 0x03093d39, 0x00eca7a6, 0x003bfa9a}}, Y: Field{[10]uint32{0x03bc4415, 0x021067dc, 0x00771c12, 0x027ece12, 0x03e41395, 0x00dc6685, 0x0150307a, 0x00f05368, 0x03869d58, 0x002aae11}}}, + {X: Field{[10]uint32{0x001c23a4, 0x01beca6c, 0x01cf56f4, 0x01611e92, 0x01c22a41, 0x026e735d, 0x0203829b, 0x01e81b0a, 0x035206a2, 0x0017a1c0}}, Y: Field{[10]uint32{0x00d986f9, 0x01e65ac4, 0x00fda121, 0x021d2933, 0x01a2171d, 0x038b1b8b, 0x01755d1a, 0x0248879c, 0x004efb9c, 0x0016e599}}}, + {X: Field{[10]uint32{0x0291dc6e, 0x007bc8b0, 0x01fbd8b4, 0x02a537ca, 0x02661fa8, 0x028f8e3c, 0x03136c23, 0x016c9171, 0x0347a3f1, 0x0033c2f7}}, Y: Field{[10]uint32{0x037a8196, 0x00f05136, 0x032a99c7, 0x03f4aed7, 0x02b4fc6c, 0x015e463d, 0x00523b4e, 0x03d44693, 0x001c6e61, 0x000e30b8}}}, + {X: Field{[10]uint32{0x007b0c66, 0x03cd7480, 0x006fb1f3, 0x039195b2, 0x0034a7fe, 0x002b3add, 0x032244f6, 0x01a02911, 0x0301930d, 0x00395170}}, Y: Field{[10]uint32{0x01f2d470, 0x03d5f49c, 0x0239dd87, 0x02386d68, 0x0397e582, 0x02566f2f, 0x01c6fda3, 0x025579f9, 0x000e8c62, 0x00381a8d}}}, + {X: Field{[10]uint32{0x008f7e09, 0x028ad9fe, 0x012cde2a, 0x01e6e9f6, 0x02b3a037, 0x0117702f, 0x00e12e5a, 0x017f2ef6, 0x023d4f20, 0x00179aa1}}, Y: Field{[10]uint32{0x00dfca97, 0x018a19d2, 0x00fe3bbd, 0x00dc8ed3, 0x00a68e50, 0x01a5008d, 0x004a8d1f, 0x023b7f11, 0x02078a38, 0x003095c6}}}, + {X: Field{[10]uint32{0x03648bba, 0x020642e0, 0x007444a5, 0x02c1a70f, 0x0082a0f0, 0x03c06ce6, 0x033ee225, 0x03d60284, 0x02157a54, 0x002ca910}}, Y: Field{[10]uint32{0x00fb6452, 0x03ead280, 0x017bb246, 0x00547270, 0x01c0d855, 0x03ef5f8c, 0x01fbc978, 0x0199867a, 0x03c2b693, 0x003f93d7}}}, + {X: Field{[10]uint32{0x0304ab91, 0x039d78ac, 0x01557679, 0x00650914, 0x0325a40c, 0x02de0470, 0x02383063, 0x00452e29, 0x03ea8fe5, 0x0001e87f}}, Y: Field{[10]uint32{0x0397e554, 0x03d18ed9, 0x01d9d35a, 0x03a86402, 0x01287e5d, 0x00d12965, 0x010437c4, 0x01f151a4, 0x0021b0fd, 0x00384301}}}, + {X: Field{[10]uint32{0x03ab27d0, 0x03748bba, 0x0103fcf6, 0x03e8b114, 0x03f70b41, 0x02365c01, 0x02970191, 0x00e1946e, 0x020f3d45, 0x0006e423}}, Y: Field{[10]uint32{0x00d3d110, 0x0219d790, 0x011b571e, 0x024d61f9, 0x02b5bbca, 0x005f12e6, 0x0357c918, 0x01ad79bc, 0x025eec46, 0x0026db58}}}, + {X: Field{[10]uint32{0x00fbd53c, 0x030e8ec2, 0x02cddf0c, 0x01c2b718, 0x03e2838c, 0x015066a1, 0x03b9352a, 0x02cd3a36, 0x032a7af4, 0x00139f09}}, Y: Field{[10]uint32{0x03dcaae6, 0x00e50605, 0x01d33e0b, 0x0052ffdf, 0x03530b96, 0x037bda06, 0x02fd09f6, 0x002c6385, 0x00766c9d, 0x0005dd27}}}, + }, + { + {X: Field{[10]uint32{0x00fbd53c, 0x030e8ec2, 0x02cddf0c, 0x01c2b718, 0x03e2838c, 0x015066a1, 0x03b9352a, 0x02cd3a36, 0x032a7af4, 0x00139f09}}, Y: Field{[10]uint32{0x03dcaae6, 0x00e50605, 0x01d33e0b, 0x0052ffdf, 0x03530b96, 0x037bda06, 0x02fd09f6, 0x002c6385, 0x00766c9d, 0x0005dd27}}}, + {X: Field{[10]uint32{0x006e1b4d, 0x00879b9f, 0x00790e28, 0x01686fbe, 0x009b11f2, 0x038e1767, 0x00a269f4, 0x02223c9a, 0x03b02696, 0x00226405}}, Y: Field{[10]uint32{0x0014ab2b, 0x02baf6b6, 0x03212009, 0x0303e4ca, 0x02e4e51b, 0x018d62fe, 0x00579833, 0x00d3c2ed, 0x00dab5b3, 0x0010eb8b}}}, + {X: Field{[10]uint32{0x0121b3ff, 0x02611939, 0x0350cee2, 0x005fa6a9, 0x01233c07, 0x026b8929, 0x0244d2be, 0x011571d7, 0x023010c9, 0x00009213}}, Y: Field{[10]uint32{0x0269da7e, 0x02b92e40, 0x008bbcc1, 0x037a48eb, 0x03ad7006, 0x02cb43ba, 0x02c2b3c2, 0x038c341f, 0x00a0aa23, 0x00258674}}}, + {X: Field{[10]uint32{0x025f712f, 0x018d685f, 0x003a8af2, 0x02fe46d6, 0x022831f5, 0x00c89fc3, 0x034728e6, 0x017f52a3, 0x00f76e90, 0x0019fd91}}, Y: Field{[10]uint32{0x007160e5, 0x02b2d79c, 0x02198d68, 0x0223df4d, 0x005e0e14, 0x0161b3de, 0x01adeb7b, 0x017413c1, 0x028f6644, 0x002e0cf5}}}, + {X: Field{[10]uint32{0x004ba7b9, 0x02de7ea0, 0x01751f96, 0x01c0c1d0, 0x0220d6a4, 0x01cb2553, 0x039b70d6, 0x03395fbd, 0x0126cfb6, 0x0005b071}}, Y: Field{[10]uint32{0x005bd741, 0x02f8e947, 0x029cc475, 0x0006f726, 0x02ec755c, 0x0322a537, 0x02627459, 0x0050e418, 0x037c3403, 0x0036c55f}}}, + {X: Field{[10]uint32{0x00692fd1, 0x01825850, 0x00dfe2b2, 0x01b32f64, 0x02dcf43c, 0x02c7c643, 0x00aadef4, 0x03fe0038, 0x00b49901, 0x001394f2}}, Y: Field{[10]uint32{0x028625e0, 0x024c39cc, 0x01753934, 0x03695ff2, 0x01a87a50, 0x01c86768, 0x02cd709a, 0x02807861, 0x024f4d41, 0x00375b8f}}}, + {X: Field{[10]uint32{0x036683fa, 0x01921ea8, 0x00825e83, 0x014e03b0, 0x0295821b, 0x01149ed9, 0x0289ce77, 0x00c6be1e, 0x00d753f9, 0x0000e5cf}}, Y: Field{[10]uint32{0x034a577f, 0x03ecaddf, 0x001dedf5, 0x03863fa6, 0x00d77884, 0x00ad689b, 0x03e12b63, 0x028e8d90, 0x022cc30c, 0x000e33d6}}}, + {X: Field{[10]uint32{0x0389a762, 0x0098fb4e, 0x02b8dc10, 0x00c04bb9, 0x02930dc9, 0x01a2d1c4, 0x000a0549, 0x009557ea, 0x036c9365, 0x000c9fe1}}, Y: Field{[10]uint32{0x01203301, 0x03f6566e, 0x03dfe9c9, 0x01c3faf5, 0x01755350, 0x038665ee, 0x01969255, 0x01009ac2, 0x00eab352, 0x002cb501}}}, + {X: Field{[10]uint32{0x00bf6f06, 0x02ce6670, 0x03b57180, 0x00c89410, 0x01713c13, 0x000815d9, 0x02c04f4b, 0x03c54470, 0x03ba72ec, 0x002e9aa6}}, Y: Field{[10]uint32{0x001db551, 0x02fbdc1e, 0x03aafe32, 0x03deb1a5, 0x029e5d14, 0x01562f63, 0x0020bf2e, 0x0046c0c8, 0x0238b34a, 0x0004ddc7}}}, + {X: Field{[10]uint32{0x01637b39, 0x03c46655, 0x01fa2799, 0x02617b1d, 0x026c52b9, 0x0300c05a, 0x015b9286, 0x02b1730f, 0x01da6b99, 0x00033cf1}}, Y: Field{[10]uint32{0x02852a40, 0x01e8f5e8, 0x01c3cd24, 0x00148f09, 0x0137acd3, 0x00600929, 0x00671adc, 0x026d904d, 0x012fd9f3, 0x0000b3ed}}}, + {X: Field{[10]uint32{0x01231a43, 0x03be7c1c, 0x003b9fd1, 0x035996b5, 0x0344d514, 0x0137910b, 0x02ed9506, 0x01374b62, 0x00cc27cc, 0x000d716f}}, Y: Field{[10]uint32{0x0220c8f6, 0x01cb9145, 0x030ae7db, 0x033018f3, 0x014cf7a4, 0x01be9627, 0x00e5820b, 0x011b39cd, 0x01723b97, 0x00038d9d}}}, + {X: Field{[10]uint32{0x0149827b, 0x038d5f6d, 0x03d6148c, 0x03cf8486, 0x01fcc4f7, 0x038b38c4, 0x0212e06d, 0x01d7cea0, 0x00f5e0d3, 0x003391f4}}, Y: Field{[10]uint32{0x03aed097, 0x032697fb, 0x029df43c, 0x00bfc15d, 0x0329e659, 0x016e6b43, 0x009139fe, 0x00352756, 0x00fb9963, 0x000571a6}}}, + {X: Field{[10]uint32{0x01d40609, 0x002f15bf, 0x00d76bf4, 0x02603607, 0x02c74190, 0x01620d5a, 0x022f12fc, 0x021af284, 0x00245c55, 0x003f51e7}}, Y: Field{[10]uint32{0x0264ca53, 0x00bc4d9a, 0x024739de, 0x035c9872, 0x019113ae, 0x0326107f, 0x00ad7a43, 0x02bfbfcb, 0x03b52694, 0x000c1a73}}}, + {X: Field{[10]uint32{0x0148be00, 0x03f9c55f, 0x03e13b38, 0x03a85a63, 0x03f60682, 0x03e550f1, 0x030e2207, 0x010bcd3a, 0x00bd4a8e, 0x0024c6fe}}, Y: Field{[10]uint32{0x0344f452, 0x01aa44c7, 0x01df5158, 0x01aacccf, 0x026a43ee, 0x00503afb, 0x03388e61, 0x00820f46, 0x03f0489c, 0x003c454e}}}, + {X: Field{[10]uint32{0x03799a7f, 0x01c0bd4a, 0x028424db, 0x03354ee3, 0x004f18b6, 0x03cb1f55, 0x02d8eb9a, 0x036192f7, 0x002a3acc, 0x001b1000}}, Y: Field{[10]uint32{0x03c81e32, 0x03320b34, 0x003f68b5, 0x01320812, 0x01c07abd, 0x0387772f, 0x00b836a0, 0x00d6f9a4, 0x001530b6, 0x002570b7}}}, + {X: Field{[10]uint32{0x00fb27b6, 0x009f8a10, 0x00576324, 0x02caf90c, 0x01c76e3d, 0x005a1aa9, 0x03238ad6, 0x022c6c43, 0x023dbe77, 0x003fa9d3}}, Y: Field{[10]uint32{0x023cb96f, 0x034f6dfc, 0x03b77701, 0x01ae5cfd, 0x03126b59, 0x032dabe4, 0x03674dec, 0x004ca5f3, 0x00db9b0b, 0x001b815a}}}, + }, + { + {X: Field{[10]uint32{0x00fb27b6, 0x009f8a10, 0x00576324, 0x02caf90c, 0x01c76e3d, 0x005a1aa9, 0x03238ad6, 0x022c6c43, 0x023dbe77, 0x003fa9d3}}, Y: Field{[10]uint32{0x023cb96f, 0x034f6dfc, 0x03b77701, 0x01ae5cfd, 0x03126b59, 0x032dabe4, 0x03674dec, 0x004ca5f3, 0x00db9b0b, 0x001b815a}}}, + {X: Field{[10]uint32{0x039756e4, 0x025f2587, 0x030488fd, 0x039778dc, 0x02bb570e, 0x003a3343, 0x00e03d85, 0x0203fc60, 0x01c83042, 0x003b6510}}, Y: Field{[10]uint32{0x033abfae, 0x03827e4f, 0x0298bff0, 0x01d3f937, 0x0209f237, 0x02c4e447, 0x02176128, 0x03e866be, 0x029efe8b, 0x000f6fa7}}}, + {X: Field{[10]uint32{0x02889756, 0x0206ba6f, 0x00bb25dd, 0x0265ec01, 0x03f27b64, 0x01c6267c, 0x02cd97b2, 0x03faa089, 0x03c33211, 0x001d8ba2}}, Y: Field{[10]uint32{0x00a6b774, 0x0096781f, 0x03a5e25e, 0x00c52213, 0x031972db, 0x0260b8d1, 0x03cc4f14, 0x03a5f0f1, 0x00260af3, 0x00300a25}}}, + {X: Field{[10]uint32{0x011cf119, 0x02b40cf5, 0x00d3015b, 0x03613ead, 0x015b10bd, 0x012d21d4, 0x03ed3f62, 0x01f0ff27, 0x018ee67a, 0x000a765a}}, Y: Field{[10]uint32{0x01056339, 0x021d015d, 0x002963c8, 0x003a4e9f, 0x03b89c94, 0x013c725b, 0x03a12540, 0x00ad149d, 0x00517dc8, 0x001ff40b}}}, + {X: Field{[10]uint32{0x0175d2ea, 0x01d7a5c2, 0x028ea26f, 0x03e84053, 0x011e52ac, 0x00c23d2a, 0x019bdbb2, 0x0254d238, 0x0147df60, 0x0037c1df}}, Y: Field{[10]uint32{0x01936f95, 0x030b678c, 0x01277aa3, 0x02e13ef7, 0x008a1ec5, 0x0228949f, 0x008425c9, 0x01fd1093, 0x028800ef, 0x003e185e}}}, + {X: Field{[10]uint32{0x02714560, 0x01602969, 0x006c2875, 0x0009f95b, 0x00247f21, 0x00696a17, 0x007ef64f, 0x034dae75, 0x0275579a, 0x000e2e0a}}, Y: Field{[10]uint32{0x0374299e, 0x021ccd29, 0x02284ada, 0x00efbdc5, 0x017d94f2, 0x00590d16, 0x03f56346, 0x007bd0a2, 0x02976f26, 0x003e7629}}}, + {X: Field{[10]uint32{0x004c92d7, 0x01247eef, 0x011b45b8, 0x01bb950e, 0x0135db4d, 0x00d2c50a, 0x017dea83, 0x03680cb8, 0x01758bd3, 0x0027cf9f}}, Y: Field{[10]uint32{0x014906dd, 0x02eff3ec, 0x021186cb, 0x000f5a53, 0x02452a23, 0x02eac540, 0x0062b21c, 0x0119ad62, 0x001ea77d, 0x003b34a1}}}, + {X: Field{[10]uint32{0x03422491, 0x031114df, 0x00cff467, 0x012a1818, 0x01fd453e, 0x00d6028c, 0x03fb7bd3, 0x024db5bc, 0x03d05013, 0x00049ad5}}, Y: Field{[10]uint32{0x01a3ef84, 0x00c7c667, 0x01347afa, 0x030c2fce, 0x00e148ba, 0x00afcfec, 0x004a3eba, 0x018b0b8f, 0x00130616, 0x003069f7}}}, + {X: Field{[10]uint32{0x02a8c483, 0x0035ccac, 0x00ac35ae, 0x02231410, 0x01174b0c, 0x03be54a0, 0x038c3d22, 0x033e7b70, 0x015d7b5c, 0x0028331e}}, Y: Field{[10]uint32{0x02cc6ba9, 0x019d1564, 0x03605509, 0x006f7da4, 0x006b348f, 0x008c77de, 0x0374fc97, 0x021cfb88, 0x0122f8b3, 0x002af0c0}}}, + {X: Field{[10]uint32{0x02faf403, 0x01588e8e, 0x03576051, 0x03ee5eb5, 0x0338a0ae, 0x02282d6f, 0x00faffac, 0x007d59c3, 0x0179b9e8, 0x00068904}}, Y: Field{[10]uint32{0x00d79a16, 0x02db9039, 0x0360d590, 0x03d05e37, 0x002c8177, 0x02416ddb, 0x03f27493, 0x01030b12, 0x00c0a867, 0x00238728}}}, + {X: Field{[10]uint32{0x01dd3aee, 0x03c6daf1, 0x012f2170, 0x022a3e5b, 0x0213153a, 0x01aa5db2, 0x0222a9ac, 0x031f3383, 0x00a51553, 0x001b4714}}, Y: Field{[10]uint32{0x01f597f7, 0x00d5393f, 0x013adfee, 0x002aa3b5, 0x00851e31, 0x00a1f51d, 0x03272002, 0x037f725d, 0x008e06ab, 0x002bffc5}}}, + {X: Field{[10]uint32{0x03720b26, 0x00bac126, 0x03cd0762, 0x017e6333, 0x0026f283, 0x004e4188, 0x006bbed4, 0x01a3b87d, 0x01ae9ac9, 0x000f8431}}, Y: Field{[10]uint32{0x01d92db5, 0x03a631eb, 0x01e43346, 0x02936f82, 0x00e2ff79, 0x01c8578a, 0x00665b28, 0x0222456a, 0x02cffe42, 0x0031cd71}}}, + {X: Field{[10]uint32{0x00a6d0bb, 0x032a6df9, 0x02fdc678, 0x008bd686, 0x03659d31, 0x02299063, 0x011a6d8a, 0x03e7cfcc, 0x01618b97, 0x001797c7}}, Y: Field{[10]uint32{0x0033eaf9, 0x00e11e44, 0x0253a168, 0x00b941bd, 0x0272555f, 0x0139c876, 0x00f6bcd0, 0x039bdcd6, 0x002b06a7, 0x0035ec54}}}, + {X: Field{[10]uint32{0x01543cb4, 0x020e9f59, 0x00299e00, 0x02db08b4, 0x003c4529, 0x0203aa28, 0x03684d05, 0x02152a2a, 0x03ae9734, 0x001cfe1e}}, Y: Field{[10]uint32{0x00856cdd, 0x03761cb1, 0x02d7a3d2, 0x03d4d5fc, 0x019d5c42, 0x028500a2, 0x03fbfc11, 0x03e1bfba, 0x00f03a87, 0x000df19b}}}, + {X: Field{[10]uint32{0x03005e3f, 0x026d7913, 0x01bd2dda, 0x00c6fb0e, 0x015af68e, 0x03806852, 0x013cb9ac, 0x0109ffff, 0x026b3c16, 0x003e04e2}}, Y: Field{[10]uint32{0x03357eb7, 0x01f8080b, 0x0221342d, 0x02f5552f, 0x01f4ec41, 0x02a972d4, 0x01015e57, 0x03af67e7, 0x033befb4, 0x00329d63}}}, + {X: Field{[10]uint32{0x03bdde39, 0x000a9105, 0x0032952c, 0x01e6dd81, 0x031544e1, 0x02665a34, 0x022570d5, 0x033c3842, 0x0113f677, 0x001db990}}, Y: Field{[10]uint32{0x0101ac01, 0x005d4b46, 0x02032b4b, 0x034ad5b4, 0x035e2a33, 0x01a07c34, 0x03066d70, 0x02573d5d, 0x038dee4e, 0x00324377}}}, + }, + { + {X: Field{[10]uint32{0x03bdde39, 0x000a9105, 0x0032952c, 0x01e6dd81, 0x031544e1, 0x02665a34, 0x022570d5, 0x033c3842, 0x0113f677, 0x001db990}}, Y: Field{[10]uint32{0x0101ac01, 0x005d4b46, 0x02032b4b, 0x034ad5b4, 0x035e2a33, 0x01a07c34, 0x03066d70, 0x02573d5d, 0x038dee4e, 0x00324377}}}, + {X: Field{[10]uint32{0x021187a5, 0x02666a0e, 0x02e691cf, 0x0188b0a6, 0x00005d57, 0x00587204, 0x007c9d88, 0x031cefba, 0x030e9e52, 0x001c2294}}, Y: Field{[10]uint32{0x033db9c0, 0x013c66d1, 0x03e8a58a, 0x00f1b4d4, 0x003ecda7, 0x02db4e0a, 0x01656dcb, 0x02a25fea, 0x0011e1f9, 0x0026e212}}}, + {X: Field{[10]uint32{0x0078ee8d, 0x01424730, 0x019442f0, 0x033941a4, 0x024ebf20, 0x02a6d3fd, 0x03f7263a, 0x02a6f897, 0x03ad859d, 0x00342395}}, Y: Field{[10]uint32{0x01a63e86, 0x01fd370b, 0x02d9de99, 0x033e508b, 0x00123ef7, 0x015f9b7d, 0x02172ee7, 0x02235cb5, 0x03984ab4, 0x00214ba5}}}, + {X: Field{[10]uint32{0x01e4f5be, 0x02c5b1b3, 0x0359e2e1, 0x01b61aca, 0x039f374b, 0x017918b3, 0x03d64839, 0x00ef8866, 0x034fc48b, 0x000673c0}}, Y: Field{[10]uint32{0x03321af2, 0x0054cadb, 0x01c0c0a9, 0x0324fc3c, 0x03ef91d1, 0x02c60651, 0x034be68a, 0x02d19b0e, 0x0306a15a, 0x000a38ca}}}, + {X: Field{[10]uint32{0x029129ec, 0x00519c10, 0x02548159, 0x033c7920, 0x000cae3a, 0x0334c742, 0x018be80e, 0x01349d7d, 0x0085e4d4, 0x001f69b0}}, Y: Field{[10]uint32{0x00d9ff0e, 0x002bb8ab, 0x0186aeb5, 0x02195329, 0x030448c0, 0x024589ef, 0x01d02074, 0x00615d44, 0x006bb9f4, 0x003d2605}}}, + {X: Field{[10]uint32{0x029c22bc, 0x02b950c3, 0x0042fd43, 0x035a46f3, 0x0201da67, 0x026f1ef9, 0x01b3444d, 0x03ac8dd9, 0x02a5e99e, 0x0014cd73}}, Y: Field{[10]uint32{0x03dacb60, 0x03099cb2, 0x0319b3c2, 0x008db287, 0x02c8c30c, 0x0033ae1a, 0x027f080f, 0x01489281, 0x0020769c, 0x000efe34}}}, + {X: Field{[10]uint32{0x01654f22, 0x00f52554, 0x02ee94f8, 0x02508c6a, 0x03b2f7f3, 0x039a7653, 0x03e9001b, 0x02f9b886, 0x00cff5c1, 0x00243424}}, Y: Field{[10]uint32{0x001a43e1, 0x037815d8, 0x038740f5, 0x0194f68f, 0x036dd635, 0x01afdc0c, 0x03f021e0, 0x03d86a54, 0x021d2bac, 0x003355a6}}}, + {X: Field{[10]uint32{0x017cf3e8, 0x02f08274, 0x02219e3a, 0x000d2fa8, 0x02ee93bd, 0x00e5fd5d, 0x0319c2f8, 0x017c35f1, 0x00a078cb, 0x002bdb11}}, Y: Field{[10]uint32{0x0351baea, 0x03741805, 0x01435b8a, 0x03a9f283, 0x03ec362a, 0x032c91b7, 0x01e73153, 0x012cc2be, 0x016fe85d, 0x0001e102}}}, + {X: Field{[10]uint32{0x036b19fa, 0x03bd9471, 0x019d71b6, 0x01b41a20, 0x02d9d6e0, 0x02084a4b, 0x0322c310, 0x0347b31c, 0x00587cf1, 0x003691e6}}, Y: Field{[10]uint32{0x026f5af7, 0x009bbacc, 0x03c206aa, 0x00fa554f, 0x02a67bd1, 0x038595a7, 0x03369077, 0x02bc0745, 0x03789bcc, 0x003aec75}}}, + {X: Field{[10]uint32{0x02569044, 0x03e47b75, 0x02ef96d2, 0x01b3e833, 0x0033c039, 0x017163cc, 0x002bafe9, 0x01894e75, 0x020d6f7d, 0x002a8871}}, Y: Field{[10]uint32{0x02f37766, 0x00931070, 0x00334c19, 0x03044e4a, 0x02ee5aba, 0x0106b7d3, 0x01d26add, 0x01aba9b4, 0x0086fc4e, 0x002cab9a}}}, + {X: Field{[10]uint32{0x01135dbd, 0x00bed96e, 0x0231ecd9, 0x02bce761, 0x00f0c087, 0x00ba625f, 0x017aaf58, 0x03b9ab60, 0x0104a8dd, 0x0038f91d}}, Y: Field{[10]uint32{0x0348045d, 0x01abcf91, 0x01da9690, 0x03fd7b25, 0x02a5a202, 0x00ae0fff, 0x018c8195, 0x031b102e, 0x03f809cb, 0x0024c296}}}, + {X: Field{[10]uint32{0x03f4de54, 0x00798853, 0x002be5bc, 0x0247a74f, 0x00a5cabd, 0x00528a16, 0x034031cf, 0x000a8b0e, 0x00355df2, 0x0015c5b7}}, Y: Field{[10]uint32{0x00100fa5, 0x0293f554, 0x02417d3e, 0x0333411f, 0x01ebf3fe, 0x0264c931, 0x02aa661a, 0x020fce47, 0x00400a5b, 0x002617db}}}, + {X: Field{[10]uint32{0x01ee455f, 0x002e7973, 0x00075cbf, 0x039ba339, 0x02ff67ff, 0x0202f6d2, 0x0345338f, 0x02a6c291, 0x016fe870, 0x001fa319}}, Y: Field{[10]uint32{0x031b9cba, 0x037a6605, 0x02627173, 0x019d1bd1, 0x034aa2d1, 0x0200e94e, 0x03f760f4, 0x01d03ca8, 0x0232ca30, 0x002f7771}}}, + {X: Field{[10]uint32{0x0369b57c, 0x00540365, 0x03c7b1e6, 0x02f0e78b, 0x01da5033, 0x02f8fc13, 0x008f1925, 0x00a0ad4d, 0x01cb592d, 0x0000c194}}, Y: Field{[10]uint32{0x033236e3, 0x00e9417c, 0x038057ff, 0x0061ce7d, 0x03192a4d, 0x0215a0b0, 0x00e2423e, 0x030262b1, 0x0033bb7a, 0x00094822}}}, + {X: Field{[10]uint32{0x0298b59e, 0x025ae6d9, 0x007a4377, 0x009624d1, 0x020a3359, 0x00f8f1c9, 0x02b035ab, 0x017ac56f, 0x01f891a9, 0x000f7e10}}, Y: Field{[10]uint32{0x0392baf5, 0x02399e5a, 0x009f8bcf, 0x01ec8525, 0x027bfc86, 0x00473ce1, 0x002bae8f, 0x02430768, 0x02df98b0, 0x002ce3f9}}}, + {X: Field{[10]uint32{0x03cbb891, 0x0054090a, 0x00bee3ab, 0x010f7c9b, 0x028f7cc6, 0x010fe3e6, 0x0281baa7, 0x02af87a0, 0x016b03b2, 0x0031ce31}}, Y: Field{[10]uint32{0x019a84c3, 0x01cd765a, 0x00fe917e, 0x03bde203, 0x0382314e, 0x032feeee, 0x0318f2ea, 0x03494dfd, 0x0178951a, 0x00224fed}}}, + }, + { + {X: Field{[10]uint32{0x03cbb891, 0x0054090a, 0x00bee3ab, 0x010f7c9b, 0x028f7cc6, 0x010fe3e6, 0x0281baa7, 0x02af87a0, 0x016b03b2, 0x0031ce31}}, Y: Field{[10]uint32{0x019a84c3, 0x01cd765a, 0x00fe917e, 0x03bde203, 0x0382314e, 0x032feeee, 0x0318f2ea, 0x03494dfd, 0x0178951a, 0x00224fed}}}, + {X: Field{[10]uint32{0x0262ab1b, 0x02ac1e11, 0x009e4dda, 0x03a926e3, 0x00647197, 0x00b9eaa5, 0x0332a699, 0x000dd0d6, 0x005ecd7c, 0x00155e21}}, Y: Field{[10]uint32{0x016f3511, 0x03463cc1, 0x024de316, 0x01d1a975, 0x03f653a7, 0x034a9014, 0x026d0a51, 0x038b0f3a, 0x03978b6d, 0x00398741}}}, + {X: Field{[10]uint32{0x0361d58d, 0x02abcce1, 0x00e2f34b, 0x03902358, 0x02ca4c9b, 0x01c837de, 0x02240a35, 0x01851842, 0x0127823f, 0x002e3118}}, Y: Field{[10]uint32{0x011051a4, 0x03a82ea7, 0x03c5b638, 0x01e17841, 0x013f7504, 0x01fcf141, 0x02458f69, 0x038df452, 0x016c5170, 0x0023e7b6}}}, + {X: Field{[10]uint32{0x008b6c29, 0x021a6e25, 0x0196094f, 0x0153f38e, 0x0122f123, 0x03433b33, 0x03fa3bc1, 0x0193312a, 0x003888a3, 0x0011fcce}}, Y: Field{[10]uint32{0x02537ef9, 0x03b84483, 0x014a81ed, 0x025623e6, 0x0118bb49, 0x02d05b1c, 0x00e48675, 0x00a4dc64, 0x028d0f03, 0x001232a6}}}, + {X: Field{[10]uint32{0x010b0040, 0x002cc101, 0x00adc2db, 0x02e7c04d, 0x01f3f47d, 0x03a68d9c, 0x010c993f, 0x01c7de8d, 0x029f7102, 0x0002355b}}, Y: Field{[10]uint32{0x033fd0a1, 0x03899e96, 0x002beb58, 0x01c8385e, 0x01f6d7c4, 0x035e6ca1, 0x03d150a8, 0x026a887f, 0x01aebd0a, 0x00284861}}}, + {X: Field{[10]uint32{0x0166ff40, 0x037a8684, 0x0336da14, 0x012907ff, 0x02caeebf, 0x0392028b, 0x038125d8, 0x0234adf1, 0x00331881, 0x001ac010}}, Y: Field{[10]uint32{0x0171b847, 0x0104c3a7, 0x02de9eb7, 0x03db9fcf, 0x00076883, 0x0242fcbc, 0x00943a05, 0x03eb265a, 0x033ae8aa, 0x00107346}}}, + {X: Field{[10]uint32{0x03573b7f, 0x0158f7c4, 0x02270f56, 0x017b4c2d, 0x03889a1c, 0x02f9968d, 0x0220f977, 0x03398d07, 0x0232d42f, 0x003704fc}}, Y: Field{[10]uint32{0x001f2ba6, 0x03348a13, 0x00b1c42a, 0x01c05d01, 0x02704554, 0x012a429d, 0x03410da8, 0x00d030f1, 0x0280429e, 0x0032426e}}}, + {X: Field{[10]uint32{0x01ff4adb, 0x029b23c1, 0x03768a81, 0x035bf2fb, 0x0214f570, 0x01a9757d, 0x026b4c9c, 0x02e33f91, 0x0334ae41, 0x00303007}}, Y: Field{[10]uint32{0x00351065, 0x03bfdceb, 0x01b85fc4, 0x0345c345, 0x02cdbc43, 0x001d6e33, 0x0137a0b4, 0x01fd71f2, 0x01bee435, 0x0002e13d}}}, + {X: Field{[10]uint32{0x03ae9ceb, 0x03d642e1, 0x02d14b02, 0x03a9c3bc, 0x00226c21, 0x02c8466a, 0x0319565d, 0x01fc1ceb, 0x01e601df, 0x0009700b}}, Y: Field{[10]uint32{0x03c6e275, 0x024344d2, 0x00726470, 0x037c2996, 0x0137c641, 0x03eb4475, 0x0084e0dc, 0x00e0f032, 0x02d2c812, 0x0022a7fa}}}, + {X: Field{[10]uint32{0x032c1a1c, 0x000675e4, 0x01d6e365, 0x006808af, 0x03a2f32b, 0x002d8ee4, 0x0229ea40, 0x032f6cf4, 0x03bc468e, 0x000ea4cb}}, Y: Field{[10]uint32{0x01343540, 0x02a49a5f, 0x028b684a, 0x0055d268, 0x02c0417e, 0x03720742, 0x009547d4, 0x015ea007, 0x00540f34, 0x002b4f60}}}, + {X: Field{[10]uint32{0x005a3c34, 0x00263dbb, 0x009fe1f8, 0x0300a565, 0x00aece82, 0x01eb8f96, 0x02b9f4ca, 0x039273a2, 0x011b2cf8, 0x003fb767}}, Y: Field{[10]uint32{0x013d7714, 0x0152fd38, 0x0029762b, 0x011a66fe, 0x00adaeb5, 0x0323d2c0, 0x03e85312, 0x02e382c2, 0x00c31853, 0x00294b89}}}, + {X: Field{[10]uint32{0x00d6bf1f, 0x00841ae0, 0x03cbb045, 0x00fa6093, 0x0146bd03, 0x01acd1ae, 0x0121e927, 0x02e0f28d, 0x0343451c, 0x0030ccdc}}, Y: Field{[10]uint32{0x00b01f48, 0x0396108f, 0x02162f95, 0x01083899, 0x0198ba36, 0x01cb0c55, 0x01ff31af, 0x00b3684f, 0x01391b81, 0x000bbbfa}}}, + {X: Field{[10]uint32{0x02b6a396, 0x0395346a, 0x020769b4, 0x0246844d, 0x0373021b, 0x03a1222c, 0x02e2d7f5, 0x029230b7, 0x0286bc6e, 0x000f838c}}, Y: Field{[10]uint32{0x0180e27e, 0x00c79236, 0x00f6a2eb, 0x0107cd1a, 0x026ab010, 0x02d14ff1, 0x031fe1de, 0x00de593c, 0x0172fa3b, 0x00329120}}}, + {X: Field{[10]uint32{0x02f027e9, 0x03d31236, 0x0277e27b, 0x036fb951, 0x03d7ca75, 0x01fb5b45, 0x03c7cd53, 0x00f894f0, 0x033d3ea8, 0x001698a1}}, Y: Field{[10]uint32{0x004c68b4, 0x02764161, 0x035fb319, 0x00c27299, 0x03988af4, 0x03b15e90, 0x02409cfe, 0x01abf69d, 0x0079a5bf, 0x003db651}}}, + {X: Field{[10]uint32{0x001023ec, 0x00d6188d, 0x03570aaf, 0x03ddbfb3, 0x035645d8, 0x0260ae6b, 0x002e0200, 0x00b4a126, 0x013080c3, 0x000d12ae}}, Y: Field{[10]uint32{0x021eeb87, 0x02260a47, 0x015d704f, 0x01abf0e6, 0x03fc4e97, 0x02945317, 0x038f2d1e, 0x0118a9cf, 0x03042b24, 0x001b870a}}}, + {X: Field{[10]uint32{0x00f6c14b, 0x03a7d962, 0x01014372, 0x017cea49, 0x03d1d72e, 0x0325ca1d, 0x024c7637, 0x016e0789, 0x026548b6, 0x00362558}}, Y: Field{[10]uint32{0x017d991f, 0x018fb5d7, 0x027e1793, 0x018caec1, 0x0303428d, 0x0230d03a, 0x00ec6081, 0x01fab9ca, 0x0238f2bc, 0x003fafea}}}, + }, + { + {X: Field{[10]uint32{0x00f6c14b, 0x03a7d962, 0x01014372, 0x017cea49, 0x03d1d72e, 0x0325ca1d, 0x024c7637, 0x016e0789, 0x026548b6, 0x00362558}}, Y: Field{[10]uint32{0x017d991f, 0x018fb5d7, 0x027e1793, 0x018caec1, 0x0303428d, 0x0230d03a, 0x00ec6081, 0x01fab9ca, 0x0238f2bc, 0x003fafea}}}, + {X: Field{[10]uint32{0x03078424, 0x02d652dd, 0x00c3fba5, 0x01e83b10, 0x0303ecaf, 0x0000e899, 0x03a43622, 0x00113a28, 0x02ef8971, 0x003f44db}}, Y: Field{[10]uint32{0x0271ddf1, 0x007bbbf1, 0x01fa8cd6, 0x03de28ab, 0x017cf2b1, 0x01717be9, 0x021d191b, 0x014b319e, 0x0034f3c6, 0x0008636a}}}, + {X: Field{[10]uint32{0x0127b756, 0x02a1ffd8, 0x0170480b, 0x0392ae82, 0x0203428b, 0x00182d05, 0x01362da5, 0x03c499cb, 0x002f716d, 0x001b631e}}, Y: Field{[10]uint32{0x03172571, 0x007dd2af, 0x01cca655, 0x0368b5f3, 0x034e3aa6, 0x01b4d36b, 0x019a82d3, 0x02e44451, 0x030896fd, 0x00266bb7}}}, + {X: Field{[10]uint32{0x01b1cb3c, 0x03613b23, 0x0024a5f1, 0x028350fc, 0x021b7003, 0x01d467e1, 0x01cca536, 0x0234503a, 0x029dd963, 0x003667a3}}, Y: Field{[10]uint32{0x038637a7, 0x028a78da, 0x0365cd88, 0x03e3ff21, 0x026286fe, 0x02f3ae9b, 0x005bb321, 0x028e9ea5, 0x01ad1cc0, 0x000db706}}}, + {X: Field{[10]uint32{0x018cf17a, 0x03869cdd, 0x023524de, 0x032e9620, 0x00f1f85d, 0x02d025fe, 0x0059aef1, 0x01eb2a34, 0x02dd95bf, 0x003af2af}}, Y: Field{[10]uint32{0x00aa0ccd, 0x033717d7, 0x0295c446, 0x004b42b3, 0x0310fad2, 0x01f0cb9a, 0x0000a1b6, 0x02e72c0b, 0x020f8f22, 0x0011f4f3}}}, + {X: Field{[10]uint32{0x01a3c43c, 0x012cb154, 0x02258e4c, 0x032a3b3b, 0x000df701, 0x02ab99c5, 0x00c1f2b4, 0x03356d23, 0x029467ca, 0x0015b276}}, Y: Field{[10]uint32{0x00d7c9ed, 0x0362df48, 0x00aa1824, 0x03e4cbb7, 0x0241d40f, 0x0372da14, 0x03c7964d, 0x027b0bcc, 0x02cb42c7, 0x000e351a}}}, + {X: Field{[10]uint32{0x00855c5b, 0x03b9456b, 0x00afbbce, 0x006805f2, 0x00118562, 0x0385ff0a, 0x0331a369, 0x03389114, 0x012e4bd4, 0x003a37d3}}, Y: Field{[10]uint32{0x02465650, 0x0179cb0b, 0x00d7d59d, 0x017c7879, 0x019663b5, 0x027bccb1, 0x004db4f5, 0x026c9911, 0x0170c47f, 0x001b15ff}}}, + {X: Field{[10]uint32{0x00385172, 0x01bda34f, 0x02636fd4, 0x00781103, 0x01d20335, 0x016c2464, 0x03d8a54e, 0x020c5e86, 0x01619a19, 0x0000ff7c}}, Y: Field{[10]uint32{0x00cb9794, 0x0319fc3f, 0x0232b79a, 0x027a439c, 0x015b9b92, 0x03215cdd, 0x0070c7d3, 0x004b0ff9, 0x02c06e5c, 0x00102340}}}, + {X: Field{[10]uint32{0x02e7e454, 0x03d6f694, 0x02150d08, 0x03bc3c39, 0x02fe32ef, 0x02a60598, 0x02486023, 0x02a0ca44, 0x03d718ec, 0x00101a34}}, Y: Field{[10]uint32{0x00ef191e, 0x02b37976, 0x03332779, 0x03b44f0d, 0x01988d21, 0x03674e34, 0x02c14597, 0x011eaae7, 0x03b7254a, 0x00233614}}}, + {X: Field{[10]uint32{0x01d8247e, 0x0307fd4d, 0x011eb400, 0x0309445a, 0x00cd4780, 0x03e82de8, 0x02101f9a, 0x0157395b, 0x01bba2c3, 0x000cfab2}}, Y: Field{[10]uint32{0x033da9bf, 0x005aac2b, 0x0007f372, 0x00dedfa9, 0x0184f8cf, 0x03457bcb, 0x0061f2af, 0x01f10751, 0x0173e4e1, 0x000d65cc}}}, + {X: Field{[10]uint32{0x02c5d939, 0x01eb7e11, 0x033de085, 0x021deea4, 0x02a475a2, 0x0032809f, 0x01bf32e6, 0x009782d5, 0x02cdb1d8, 0x00049543}}, Y: Field{[10]uint32{0x01e757c9, 0x01d3f156, 0x0143192a, 0x007fb363, 0x02838b74, 0x01dc929c, 0x008e43c1, 0x035e9d51, 0x0334f872, 0x001ee3e0}}}, + {X: Field{[10]uint32{0x01f771c8, 0x0092740b, 0x00c87b9e, 0x0047b825, 0x00335a52, 0x0007e1d4, 0x032c2b3c, 0x03240a74, 0x006d922d, 0x002dc795}}, Y: Field{[10]uint32{0x03f48c51, 0x00e89be4, 0x02286245, 0x00ad56ee, 0x0026bd52, 0x0338a23d, 0x0112a4cc, 0x03e401e2, 0x03a8cec9, 0x0039f33b}}}, + {X: Field{[10]uint32{0x02c8a56f, 0x002ab195, 0x0342138d, 0x0150d3cd, 0x0385093c, 0x02beb423, 0x01bb7b53, 0x0217531a, 0x031ac3b5, 0x00251359}}, Y: Field{[10]uint32{0x027be289, 0x01371976, 0x0117eb9f, 0x01d37419, 0x0167d4c1, 0x00ceb186, 0x01439361, 0x007ffd30, 0x01977b50, 0x0029c419}}}, + {X: Field{[10]uint32{0x03194444, 0x01cc24b4, 0x03ea268f, 0x0252ea9f, 0x02850fea, 0x0361e867, 0x02239666, 0x009ae184, 0x0196ba15, 0x003eb3d7}}, Y: Field{[10]uint32{0x00bad676, 0x02fd2211, 0x0100b552, 0x0116e51f, 0x02be72b2, 0x024b76b1, 0x01b77563, 0x0113da4d, 0x007bb8ad, 0x001f3ae4}}}, + {X: Field{[10]uint32{0x0208f15a, 0x02e2862b, 0x0100baee, 0x01b7204a, 0x01fd69e5, 0x02b4f0c1, 0x02b03655, 0x026833f9, 0x0291cd09, 0x0021a953}}, Y: Field{[10]uint32{0x01388308, 0x013479f0, 0x0254d352, 0x00496cd4, 0x0377129d, 0x035d5a19, 0x032a8d06, 0x021180e9, 0x014837a7, 0x0033fb98}}}, + {X: Field{[10]uint32{0x03676e03, 0x01429593, 0x00edd491, 0x00da4fa1, 0x01ceffc7, 0x01c7a1d8, 0x00f64335, 0x01d463ac, 0x00032a95, 0x002e36a5}}, Y: Field{[10]uint32{0x02fdf6e7, 0x023939d3, 0x03b51148, 0x013657fc, 0x0092cc58, 0x018a022c, 0x0099cc97, 0x0287935f, 0x03a44805, 0x000a0137}}}, + }, + { + {X: Field{[10]uint32{0x03676e03, 0x01429593, 0x00edd491, 0x00da4fa1, 0x01ceffc7, 0x01c7a1d8, 0x00f64335, 0x01d463ac, 0x00032a95, 0x002e36a5}}, Y: Field{[10]uint32{0x02fdf6e7, 0x023939d3, 0x03b51148, 0x013657fc, 0x0092cc58, 0x018a022c, 0x0099cc97, 0x0287935f, 0x03a44805, 0x000a0137}}}, + {X: Field{[10]uint32{0x01af726a, 0x00fd0531, 0x036e6d41, 0x0172c96f, 0x01469a3e, 0x02ad883e, 0x032cb698, 0x0317394f, 0x0105ed8c, 0x001b4db4}}, Y: Field{[10]uint32{0x03f9fc7d, 0x00124684, 0x00a35c57, 0x00dad042, 0x01dcc599, 0x0171400a, 0x018c66c9, 0x019a79cb, 0x0034e377, 0x00392e97}}}, + {X: Field{[10]uint32{0x02e1346b, 0x02612771, 0x031c5ea1, 0x0040e16b, 0x005abe7b, 0x013454b0, 0x00c761f1, 0x03442f95, 0x00ff0982, 0x0001a41a}}, Y: Field{[10]uint32{0x03226c13, 0x01629535, 0x0026e7bb, 0x00e65318, 0x02a4f689, 0x0021910a, 0x005db2bd, 0x03789b6a, 0x03e090bf, 0x002e18f8}}}, + {X: Field{[10]uint32{0x0140db99, 0x00a8c329, 0x0012286e, 0x03014d2e, 0x03eb1309, 0x01bc2c38, 0x02883fa6, 0x02b03341, 0x01e10cd3, 0x000eadaf}}, Y: Field{[10]uint32{0x03da78a3, 0x01cff8c6, 0x00043e68, 0x02c38da7, 0x0038d137, 0x0284fa67, 0x03117a96, 0x01c75ff0, 0x02079be8, 0x002eb298}}}, + {X: Field{[10]uint32{0x00a1f6a1, 0x01a47f37, 0x03f1a30e, 0x0050d233, 0x01068cbd, 0x007a1b38, 0x006dc5cb, 0x025d854a, 0x0093cb25, 0x0022630d}}, Y: Field{[10]uint32{0x024f647c, 0x037083c5, 0x0179ca4a, 0x025e7caf, 0x03b2a7cf, 0x00ab1ba4, 0x00454245, 0x02955276, 0x0186ab56, 0x001d7dd6}}}, + {X: Field{[10]uint32{0x0235c795, 0x038aef1c, 0x001d7584, 0x0163af55, 0x030b0d89, 0x03472275, 0x03b05b37, 0x025d2ce4, 0x022435ef, 0x00018f11}}, Y: Field{[10]uint32{0x03110258, 0x00b70256, 0x029bd3f3, 0x02b3e926, 0x029e4acb, 0x00c7216d, 0x01f660d9, 0x0210110c, 0x03b91303, 0x00389fe6}}}, + {X: Field{[10]uint32{0x011e3998, 0x02780f0f, 0x00328aa6, 0x02e45e81, 0x025e56c8, 0x008a89d3, 0x01299d70, 0x022fc069, 0x02fed291, 0x002c84f8}}, Y: Field{[10]uint32{0x025fb81e, 0x032f718c, 0x01175ec2, 0x016faf7b, 0x03d53416, 0x00e90ef0, 0x0161ebf8, 0x00f04b0f, 0x02c20f2d, 0x0008a7e3}}}, + {X: Field{[10]uint32{0x031048da, 0x01efc9e7, 0x013ba777, 0x03cdcf77, 0x02ba2fd4, 0x0341ef38, 0x03a069d9, 0x015bc3f6, 0x00e3f1ad, 0x001e598d}}, Y: Field{[10]uint32{0x0106cf01, 0x026f8928, 0x00862e8f, 0x03633f5d, 0x02532576, 0x029e49fc, 0x01e74735, 0x002e255b, 0x02b6cfb2, 0x001363b8}}}, + {X: Field{[10]uint32{0x025be234, 0x0387fb28, 0x0350700b, 0x039c377c, 0x020e83e3, 0x00581b81, 0x01d0ba69, 0x03e4f974, 0x02d816c7, 0x0012cece}}, Y: Field{[10]uint32{0x020e8362, 0x02df80e4, 0x01b84063, 0x024b3c84, 0x0041e7fd, 0x03633013, 0x035e96df, 0x02f271e1, 0x023b85da, 0x0017bb00}}}, + {X: Field{[10]uint32{0x005201e1, 0x0026b270, 0x0377dab2, 0x016ba0da, 0x01d264cb, 0x03a8d7e6, 0x02bd55cd, 0x01e2ba14, 0x02b06e6c, 0x0030a671}}, Y: Field{[10]uint32{0x00f51ba3, 0x00cc4e94, 0x02ae9add, 0x03d60eb0, 0x03bd74dc, 0x035dd335, 0x0084f24f, 0x02016ce2, 0x01923611, 0x0016a9ce}}}, + {X: Field{[10]uint32{0x0289f55e, 0x018d29f8, 0x02707b96, 0x03c38b1d, 0x022976b0, 0x01e2596f, 0x00251b02, 0x013e5808, 0x00b6ddb0, 0x0027dee2}}, Y: Field{[10]uint32{0x021e4bde, 0x034ed97f, 0x022b1b3c, 0x0383ac42, 0x03c0e536, 0x0263f1c7, 0x03146b42, 0x0043def8, 0x0384c704, 0x000cbe7d}}}, + {X: Field{[10]uint32{0x001cbaab, 0x01e9fc5b, 0x0164cfd3, 0x01e40cf5, 0x001acab8, 0x029c18d7, 0x00ab6c18, 0x0181c566, 0x0298fb35, 0x00340c6b}}, Y: Field{[10]uint32{0x01116b26, 0x02411fe1, 0x01fdc4c3, 0x013f6f59, 0x036dfb4a, 0x0372d373, 0x02e4c06a, 0x01613a39, 0x02b4e954, 0x00105465}}}, + {X: Field{[10]uint32{0x01fe1d2b, 0x01272307, 0x038e5165, 0x002795a1, 0x00c493f5, 0x00fedce9, 0x02ccadfd, 0x01238f9d, 0x03e9cb74, 0x00356290}}, Y: Field{[10]uint32{0x00d50922, 0x009e56e3, 0x02fbffcf, 0x008572f5, 0x0354d9ba, 0x020a09da, 0x02729132, 0x020f3c42, 0x026ba058, 0x003f05e1}}}, + {X: Field{[10]uint32{0x007996c0, 0x03ef5611, 0x0269a626, 0x01c9dae8, 0x016e2eed, 0x02fb743a, 0x03979577, 0x00d590e6, 0x02d86a95, 0x0005ba16}}, Y: Field{[10]uint32{0x00151d48, 0x022f192e, 0x01d54488, 0x02b6715a, 0x0221b642, 0x0003b556, 0x0217e5ce, 0x0124fbec, 0x00aeb424, 0x001d022c}}}, + {X: Field{[10]uint32{0x009c795e, 0x00546f89, 0x0005e124, 0x02aa673a, 0x02ed4406, 0x0309fa93, 0x02d969c3, 0x020c4335, 0x01397111, 0x0008749c}}, Y: Field{[10]uint32{0x01208ece, 0x004bb0e6, 0x03761b00, 0x01292b7e, 0x03d67194, 0x008aed30, 0x0335b855, 0x02b3a85d, 0x01b4b075, 0x0025317e}}}, + {X: Field{[10]uint32{0x03c0df5d, 0x0045de38, 0x02792f1a, 0x03ed455a, 0x032019ef, 0x01d75fea, 0x00adab94, 0x02cce9f6, 0x0214441f, 0x003a03fa}}, Y: Field{[10]uint32{0x02c9ec78, 0x010a46da, 0x02ea9fcb, 0x0202bcc8, 0x032d155e, 0x00f2a511, 0x009768ca, 0x0001dc7a, 0x027f638e, 0x003bb477}}}, + }, + { + {X: Field{[10]uint32{0x03c0df5d, 0x0045de38, 0x02792f1a, 0x03ed455a, 0x032019ef, 0x01d75fea, 0x00adab94, 0x02cce9f6, 0x0214441f, 0x003a03fa}}, Y: Field{[10]uint32{0x02c9ec78, 0x010a46da, 0x02ea9fcb, 0x0202bcc8, 0x032d155e, 0x00f2a511, 0x009768ca, 0x0001dc7a, 0x027f638e, 0x003bb477}}}, + {X: Field{[10]uint32{0x0383cd58, 0x0039e2c3, 0x039162db, 0x00e1df4b, 0x03122dcc, 0x03bf9e8d, 0x01ac4ed1, 0x00499660, 0x01f08ea4, 0x00110328}}, Y: Field{[10]uint32{0x008a3f4b, 0x02f01a6e, 0x02260b07, 0x0109a702, 0x02a21e4d, 0x03538bc0, 0x00954dc9, 0x03848abe, 0x00d2cd5e, 0x0029b22c}}}, + {X: Field{[10]uint32{0x03592d55, 0x00d67b35, 0x010192c0, 0x011d038d, 0x0106d5b9, 0x00cf38ec, 0x02fef696, 0x00149822, 0x02dbc4a1, 0x00174bb1}}, Y: Field{[10]uint32{0x035183a7, 0x039743ab, 0x01174266, 0x0336b445, 0x010e2a7b, 0x01a335a5, 0x03710fa2, 0x0117ad63, 0x01f89c6e, 0x0002a4b3}}}, + {X: Field{[10]uint32{0x02998b10, 0x02f689c4, 0x029d9e81, 0x02f306c8, 0x019bc70e, 0x00ea41e0, 0x037f829d, 0x01b07317, 0x03af2b96, 0x003da532}}, Y: Field{[10]uint32{0x00f05e51, 0x0222c5c0, 0x02a47f67, 0x030c60f0, 0x02eb6c64, 0x0311b60a, 0x03c5ffac, 0x03c0f58c, 0x02ba61be, 0x0010298f}}}, + {X: Field{[10]uint32{0x028f9f5c, 0x03d2d27f, 0x00a51991, 0x03856620, 0x017361f1, 0x0057d013, 0x02cae342, 0x03dd0bf8, 0x01c3b11b, 0x002b0dc7}}, Y: Field{[10]uint32{0x025a503c, 0x020ffccc, 0x01e1d17a, 0x0163b9d4, 0x01229534, 0x009539cd, 0x02101e73, 0x0291dffc, 0x02c18709, 0x00314585}}}, + {X: Field{[10]uint32{0x015bf84c, 0x012e3e39, 0x01027a74, 0x03b55c36, 0x03d964c6, 0x008f2b93, 0x01d3c252, 0x01b32397, 0x0099ceb9, 0x00189e0a}}, Y: Field{[10]uint32{0x0315fa2a, 0x0073ead7, 0x036ed6f5, 0x039f7745, 0x039a020d, 0x025c99e0, 0x00549722, 0x028a2407, 0x00a40911, 0x00359c2b}}}, + {X: Field{[10]uint32{0x01e33446, 0x00723546, 0x0385df4a, 0x03114abc, 0x0240893b, 0x0088a85e, 0x008c0bd0, 0x0210324d, 0x003a14f1, 0x00225080}}, Y: Field{[10]uint32{0x02387689, 0x00e28039, 0x00f9840d, 0x00d9e79d, 0x006bfd77, 0x03bf7938, 0x00b2d6d0, 0x001de936, 0x039595a5, 0x002a7f40}}}, + {X: Field{[10]uint32{0x01d553fd, 0x0284cd63, 0x02414f95, 0x0257022d, 0x0047abf6, 0x02689654, 0x036d4f43, 0x01a12142, 0x022a3556, 0x0022dba1}}, Y: Field{[10]uint32{0x029be5ed, 0x00f6b4cf, 0x003d0d80, 0x016860ce, 0x0124ac3c, 0x013ae7e8, 0x010bc2df, 0x0072d034, 0x00910ed1, 0x003a9782}}}, + {X: Field{[10]uint32{0x0113cb26, 0x00a3256e, 0x016d03d7, 0x027004ef, 0x0099eb41, 0x01541726, 0x00da44ff, 0x010aa28b, 0x026b30a3, 0x0009dc09}}, Y: Field{[10]uint32{0x0348a7a2, 0x01c5ccfc, 0x01bebbfe, 0x006f3205, 0x00e940c9, 0x01fcacc9, 0x012d24d0, 0x036c6955, 0x005e79b0, 0x003d926f}}}, + {X: Field{[10]uint32{0x030c58bd, 0x010912b3, 0x024ce23f, 0x0137d911, 0x0228d49f, 0x01aabb3d, 0x019e1005, 0x013024cb, 0x006e2484, 0x0034eb7c}}, Y: Field{[10]uint32{0x03c89387, 0x0392ae4d, 0x00c9ce52, 0x027e92e6, 0x02aee386, 0x03fd8e2e, 0x03b2febc, 0x0181def7, 0x01b4fc2a, 0x0015fa67}}}, + {X: Field{[10]uint32{0x015e8247, 0x02a80856, 0x00d1af0a, 0x01155a1b, 0x0097bfdc, 0x033e2ea4, 0x025e6e01, 0x03b485e3, 0x00d383cb, 0x001d7934}}, Y: Field{[10]uint32{0x01982d22, 0x00ff6756, 0x01893ca2, 0x02dbaa6b, 0x007ddab5, 0x01edc9b5, 0x01f970ec, 0x002641d0, 0x02a17541, 0x0007f390}}}, + {X: Field{[10]uint32{0x039715c2, 0x011c743c, 0x0129a399, 0x0087e629, 0x01690065, 0x028cffb7, 0x011f78ce, 0x00f616d0, 0x0288f19a, 0x000bc627}}, Y: Field{[10]uint32{0x0171dfea, 0x018d6110, 0x014f066a, 0x038b0da1, 0x03eb3333, 0x03443e7d, 0x0308475e, 0x035f3f7d, 0x01f8f3c5, 0x0032468e}}}, + {X: Field{[10]uint32{0x02333323, 0x027d1369, 0x02bf4747, 0x0071a3d2, 0x009cbbbc, 0x026136a1, 0x0020d605, 0x02efc0fc, 0x02383361, 0x000fb46d}}, Y: Field{[10]uint32{0x01d61ba3, 0x00ff122d, 0x037294b1, 0x02842de3, 0x02a9b728, 0x0223e4a7, 0x017c9896, 0x013b9d76, 0x01a48b5b, 0x003613cb}}}, + {X: Field{[10]uint32{0x023eb3fc, 0x018bb73e, 0x02398875, 0x02513643, 0x0277ee68, 0x02229bdf, 0x0246b408, 0x01aedddf, 0x00bb0a1b, 0x0034b372}}, Y: Field{[10]uint32{0x02d37564, 0x021f6cf7, 0x00927442, 0x02e4c42d, 0x02c1f217, 0x033e49bb, 0x01e95362, 0x018411b7, 0x02f9e5c5, 0x003154e2}}}, + {X: Field{[10]uint32{0x033980bf, 0x0015f52c, 0x000baf25, 0x00b94374, 0x0368a370, 0x00d23750, 0x006fd772, 0x020606e1, 0x02f06a75, 0x001c3f74}}, Y: Field{[10]uint32{0x00b75785, 0x03aa33a8, 0x00a5612e, 0x020e175d, 0x030a1035, 0x007b965a, 0x03a410d1, 0x021a5a55, 0x02c0d0d5, 0x0017b7f2}}}, + {X: Field{[10]uint32{0x00e16070, 0x001eef31, 0x02915ddc, 0x000c7bf5, 0x03f2a182, 0x03559d50, 0x03a48e51, 0x01c10c4e, 0x017bdfcd, 0x0028c05a}}, Y: Field{[10]uint32{0x02177ea1, 0x03468107, 0x01a130c0, 0x03df0284, 0x031735db, 0x017503e6, 0x01809fa2, 0x0393d420, 0x011cfb67, 0x001cdc3e}}}, + }, + { + {X: Field{[10]uint32{0x00e16070, 0x001eef31, 0x02915ddc, 0x000c7bf5, 0x03f2a182, 0x03559d50, 0x03a48e51, 0x01c10c4e, 0x017bdfcd, 0x0028c05a}}, Y: Field{[10]uint32{0x02177ea1, 0x03468107, 0x01a130c0, 0x03df0284, 0x031735db, 0x017503e6, 0x01809fa2, 0x0393d420, 0x011cfb67, 0x001cdc3e}}}, + {X: Field{[10]uint32{0x024ba5ae, 0x0080c5bc, 0x035d8114, 0x000130d2, 0x00b43965, 0x0382ffdd, 0x028d2419, 0x03c127cf, 0x019cff79, 0x0009f879}}, Y: Field{[10]uint32{0x003a45b3, 0x016ffba2, 0x023f784a, 0x029a6be9, 0x01df48a1, 0x031e77c1, 0x01b5e3cf, 0x038827b8, 0x02a6c804, 0x000c42c9}}}, + {X: Field{[10]uint32{0x038011fc, 0x0049c004, 0x00562670, 0x019eb5ca, 0x0183596a, 0x00880293, 0x02b13308, 0x03ac4455, 0x03a30815, 0x001ba0c4}}, Y: Field{[10]uint32{0x0315ab7d, 0x02da7e8f, 0x01f9a6ac, 0x016ba714, 0x0026af91, 0x0076b0c1, 0x0212db20, 0x03c81306, 0x018bdc24, 0x003051e0}}}, + {X: Field{[10]uint32{0x00aed7ae, 0x0245d727, 0x03b4f996, 0x037a13ef, 0x035a39ad, 0x024b5f93, 0x0188ec38, 0x012bb859, 0x03a5f686, 0x0031c4b9}}, Y: Field{[10]uint32{0x02156294, 0x00522a91, 0x0263784d, 0x01512c33, 0x01380d8e, 0x00477679, 0x02d4b823, 0x018ecd97, 0x01075163, 0x00125910}}}, + {X: Field{[10]uint32{0x000e6ba7, 0x01d26e34, 0x02f7f53a, 0x016d1245, 0x003d36ec, 0x0136786d, 0x011e038a, 0x02147caf, 0x01099784, 0x003e54aa}}, Y: Field{[10]uint32{0x0175e4c1, 0x02bbb940, 0x022b98db, 0x01ed318a, 0x02555716, 0x009fe83d, 0x01376a2e, 0x033afe18, 0x025b08ab, 0x00362a4e}}}, + {X: Field{[10]uint32{0x015b6f7e, 0x0127d716, 0x02021f95, 0x014f4e2c, 0x01beb32b, 0x00261db3, 0x02053aad, 0x028c320e, 0x011d04cd, 0x00296b1f}}, Y: Field{[10]uint32{0x02b19c84, 0x02edcc22, 0x00a4848d, 0x0183d606, 0x0399e391, 0x01f67b86, 0x00c3c924, 0x03d56cdb, 0x020ab540, 0x0037c2e2}}}, + {X: Field{[10]uint32{0x03aa0e93, 0x001968a0, 0x01f62690, 0x010ebbec, 0x028f2e39, 0x0367a24e, 0x00031a19, 0x03fb9d41, 0x015e31d3, 0x0025005b}}, Y: Field{[10]uint32{0x03addac2, 0x03b49a21, 0x0307a38e, 0x00eea95e, 0x03f48437, 0x03bb9bf5, 0x0355d354, 0x01365900, 0x02ee5c45, 0x0019d40c}}}, + {X: Field{[10]uint32{0x00a6db03, 0x00f87f91, 0x01d791b4, 0x01bd609d, 0x00b2c85d, 0x02e19d7f, 0x01c0d426, 0x008d7419, 0x0104a4b3, 0x0002ff01}}, Y: Field{[10]uint32{0x024b8542, 0x03234691, 0x00f0558a, 0x025cd175, 0x02374271, 0x0129b264, 0x038ec7f9, 0x03cd14fe, 0x027a6c34, 0x00065551}}}, + {X: Field{[10]uint32{0x0266b17b, 0x01218b80, 0x03b32b0f, 0x0288098a, 0x02023568, 0x02a7c270, 0x03978846, 0x02ca246e, 0x0174d59f, 0x003bc8b4}}, Y: Field{[10]uint32{0x01dac83e, 0x01b810de, 0x001b732a, 0x01bdc70d, 0x033ee727, 0x038d2841, 0x039ccc3a, 0x0131d5a3, 0x00c97ab2, 0x002f15e1}}}, + {X: Field{[10]uint32{0x034318b5, 0x00b150ba, 0x0045657f, 0x0204bd6e, 0x0272ed5c, 0x03c815fb, 0x0388a38d, 0x02343d55, 0x01fbe194, 0x0026217d}}, Y: Field{[10]uint32{0x0199175c, 0x01509505, 0x004af2fe, 0x03b59da4, 0x027c82ad, 0x01a33ae3, 0x012c4677, 0x0263e65b, 0x02f69ef1, 0x0004d7f5}}}, + {X: Field{[10]uint32{0x02d382a0, 0x00c056a4, 0x019ae231, 0x02f38bb3, 0x03f28dcb, 0x02cb7e49, 0x00acc780, 0x0224b4e7, 0x03ce4ceb, 0x002d7dfb}}, Y: Field{[10]uint32{0x01b4b532, 0x03c2aee9, 0x038c5ba2, 0x01b4a6b3, 0x0371fb09, 0x0032f774, 0x00957c6e, 0x03c8d4f0, 0x005b51c3, 0x001a10d5}}}, + {X: Field{[10]uint32{0x0281c1bc, 0x0292b933, 0x01b33b93, 0x03962aed, 0x03d25365, 0x01a339d9, 0x01815b8d, 0x00118d6b, 0x0305465c, 0x0000cd83}}, Y: Field{[10]uint32{0x026cbedd, 0x034a2595, 0x0150176d, 0x03ad7204, 0x03231728, 0x004c19d4, 0x0369c425, 0x0140053f, 0x01f90c57, 0x001f922d}}}, + {X: Field{[10]uint32{0x012cffa5, 0x02491910, 0x005c47e6, 0x00219a33, 0x0389ed42, 0x02f51890, 0x00754d8f, 0x0041d902, 0x03d2b2e7, 0x00073770}}, Y: Field{[10]uint32{0x0121954e, 0x01b62735, 0x03528ade, 0x0109acda, 0x02c41c98, 0x0250ac22, 0x01b126bf, 0x03e298ff, 0x020cb2f1, 0x000791da}}}, + {X: Field{[10]uint32{0x008993f7, 0x027dcd01, 0x03ce1150, 0x008fe09c, 0x02962552, 0x0322eb90, 0x034fbe1b, 0x0214458c, 0x006a56a3, 0x00021d4d}}, Y: Field{[10]uint32{0x02b9dcc2, 0x030b205c, 0x0018e601, 0x03c6c498, 0x03c9f4d4, 0x01d7e8a1, 0x02994e6e, 0x022c0c43, 0x00a8a2ef, 0x0001939b}}}, + {X: Field{[10]uint32{0x00a9f22f, 0x03f90e4d, 0x00e2ad35, 0x031485ea, 0x00cc0819, 0x01220d6c, 0x01f8b8b9, 0x03a4e7c8, 0x0359f25c, 0x000ab32c}}, Y: Field{[10]uint32{0x035c4927, 0x01772ced, 0x0150b7b7, 0x02fb16e9, 0x01154bd7, 0x037c3b7c, 0x0213a37e, 0x034b9464, 0x00e9588a, 0x00354629}}}, + {X: Field{[10]uint32{0x03b04ed4, 0x02b18f8f, 0x03fffab7, 0x002c44c1, 0x0208cc33, 0x0099e378, 0x03f9d051, 0x02e4d918, 0x01b389d6, 0x00242b61}}, Y: Field{[10]uint32{0x036ef150, 0x03535232, 0x0094d991, 0x02f8560a, 0x0039aefa, 0x009c88ae, 0x03dcbd94, 0x020986bf, 0x023620a3, 0x0003941e}}}, + }, + { + {X: Field{[10]uint32{0x03b04ed4, 0x02b18f8f, 0x03fffab7, 0x002c44c1, 0x0208cc33, 0x0099e378, 0x03f9d051, 0x02e4d918, 0x01b389d6, 0x00242b61}}, Y: Field{[10]uint32{0x036ef150, 0x03535232, 0x0094d991, 0x02f8560a, 0x0039aefa, 0x009c88ae, 0x03dcbd94, 0x020986bf, 0x023620a3, 0x0003941e}}}, + {X: Field{[10]uint32{0x03dc0151, 0x022c3b69, 0x03bad281, 0x039919c1, 0x017e125b, 0x0210978f, 0x00b1d154, 0x0101dfd1, 0x000ef8c9, 0x001f8b35}}, Y: Field{[10]uint32{0x00721ec7, 0x02f14e48, 0x0082c9a3, 0x0102bbb8, 0x01889bee, 0x0087be57, 0x0261a8b3, 0x03eace0a, 0x01082adc, 0x002416dd}}}, + {X: Field{[10]uint32{0x00b7b678, 0x0176ccec, 0x03816627, 0x0046f3d8, 0x02f13c43, 0x009adb1d, 0x0186bca4, 0x008c6e86, 0x017334e4, 0x00061b92}}, Y: Field{[10]uint32{0x00d91fc1, 0x001dbcbe, 0x035dca7a, 0x00951254, 0x02110772, 0x002df99f, 0x03fc825c, 0x02f612a9, 0x00e49807, 0x00303518}}}, + {X: Field{[10]uint32{0x0345e597, 0x000eb904, 0x03cf90e1, 0x03e76e14, 0x039c636b, 0x007bd4a9, 0x00975bbd, 0x036b3887, 0x012195be, 0x002851bd}}, Y: Field{[10]uint32{0x005a770a, 0x0159dabd, 0x014b0767, 0x02c887c2, 0x00ea67a5, 0x02ecc6d0, 0x0295dd2d, 0x03fac26b, 0x030ab053, 0x00296a66}}}, + {X: Field{[10]uint32{0x03421fb8, 0x01b972ec, 0x015d0cf0, 0x03cbbd69, 0x02984971, 0x00edc904, 0x0206b34c, 0x02fd8b9f, 0x01834f6d, 0x00018723}}, Y: Field{[10]uint32{0x023ccd80, 0x03bd9a13, 0x00dd2995, 0x012ce9bf, 0x00806713, 0x03817ad7, 0x01392590, 0x02d2deea, 0x02d99003, 0x001b7f1a}}}, + {X: Field{[10]uint32{0x03b9dc8f, 0x03226e12, 0x01333d08, 0x00fbd7b7, 0x01aba9e9, 0x0149e1f4, 0x00f70353, 0x01a19092, 0x01cee1c2, 0x003f6650}}, Y: Field{[10]uint32{0x019780d5, 0x03ab94f9, 0x0138d743, 0x03f7bbfa, 0x027872b2, 0x02221679, 0x0297e057, 0x039bd1b7, 0x0075bd40, 0x001e907b}}}, + {X: Field{[10]uint32{0x036b35a4, 0x012f862b, 0x03b48712, 0x029aac9f, 0x01889f37, 0x00ce9a2b, 0x03632407, 0x03944edc, 0x023a208e, 0x003da9ad}}, Y: Field{[10]uint32{0x01f422a6, 0x02dbfb20, 0x01862cae, 0x01b9d7b8, 0x0319d575, 0x0158061b, 0x02d3704f, 0x004e2c72, 0x00a8002d, 0x000f7df2}}}, + {X: Field{[10]uint32{0x00e45444, 0x02d4ff13, 0x004e20cb, 0x007bfb33, 0x00dbde42, 0x0096a045, 0x03bf9dab, 0x024ee6f3, 0x01a1cf19, 0x0034931d}}, Y: Field{[10]uint32{0x03dd4a57, 0x00c91a61, 0x02524cb9, 0x03d267c7, 0x02bf7593, 0x003969e2, 0x00b7d181, 0x0307473f, 0x012de84d, 0x00163f87}}}, + {X: Field{[10]uint32{0x02954c11, 0x0208fa29, 0x01018b96, 0x00f05583, 0x037fa8a4, 0x0141de3f, 0x00d1b0f1, 0x030dd888, 0x0028c286, 0x0021e8bf}}, Y: Field{[10]uint32{0x032a8b45, 0x038ccb89, 0x0124b756, 0x00fca9e0, 0x02cc4893, 0x00349d4c, 0x031948da, 0x03b3be5e, 0x018b45aa, 0x000ceb54}}}, + {X: Field{[10]uint32{0x03a43ddc, 0x006bfa61, 0x02e4aeeb, 0x0286a655, 0x0124282c, 0x039ef7d5, 0x001eb85e, 0x02b1b684, 0x03864946, 0x002a2c22}}, Y: Field{[10]uint32{0x03a2a6b8, 0x000720b7, 0x036c3870, 0x0114ac41, 0x00a325b4, 0x03c3a3b7, 0x01591ffd, 0x01a807cc, 0x028bc8a3, 0x001fc03f}}}, + {X: Field{[10]uint32{0x02706ab6, 0x01d1cab8, 0x03c0dae4, 0x00774b94, 0x023c0b34, 0x030e133f, 0x0156efcb, 0x02069a11, 0x02046e78, 0x003851cb}}, Y: Field{[10]uint32{0x0158de05, 0x021a85a7, 0x0127536e, 0x015514f3, 0x00aa589d, 0x0321887e, 0x03691978, 0x023f1a0f, 0x02aa47c5, 0x0020b364}}}, + {X: Field{[10]uint32{0x03963645, 0x0250cb0e, 0x031f8e3e, 0x0201f9c7, 0x032dcdb2, 0x038c4cbe, 0x034781a2, 0x0298f9b9, 0x014fb1b8, 0x00317c25}}, Y: Field{[10]uint32{0x008be2dd, 0x0221d3c0, 0x03e4edbf, 0x00ac011e, 0x02a33050, 0x009835f9, 0x023cb440, 0x02dbec62, 0x031021b0, 0x003554b4}}}, + {X: Field{[10]uint32{0x03a84fb6, 0x02b95081, 0x01021ebf, 0x01d43e85, 0x03c42368, 0x03922e7a, 0x00b4d601, 0x02bbd77a, 0x02c804f8, 0x00072be4}}, Y: Field{[10]uint32{0x03149109, 0x00606409, 0x0267616b, 0x01a5a8b3, 0x02ec1cc1, 0x03c40588, 0x01a64f8f, 0x0394e920, 0x005ac976, 0x002f092e}}}, + {X: Field{[10]uint32{0x01c8381f, 0x024c48fa, 0x011a753a, 0x0358e0f0, 0x000ed3d6, 0x013f8404, 0x02beb463, 0x025f38d3, 0x0355bc6d, 0x0037ceb3}}, Y: Field{[10]uint32{0x0347de3a, 0x03f5a588, 0x009e61af, 0x01f99f8e, 0x03b10195, 0x036b347a, 0x0099c1de, 0x01e9d698, 0x00ca5190, 0x001acf76}}}, + {X: Field{[10]uint32{0x02955911, 0x0233f852, 0x0152db76, 0x0289837b, 0x03107e16, 0x00f5e0e5, 0x009efe9b, 0x01943496, 0x0169af09, 0x001c16ff}}, Y: Field{[10]uint32{0x03d200e4, 0x01f1a4ff, 0x0272d8bb, 0x0148a90b, 0x02297f3b, 0x0150147e, 0x0263d81f, 0x03e6429f, 0x00130b73, 0x003852a9}}}, + {X: Field{[10]uint32{0x02c4c0da, 0x02d11327, 0x023351b7, 0x01e1c8fa, 0x02e88c56, 0x0207c58b, 0x039c1ad9, 0x017cce48, 0x01d2f63b, 0x0023da2e}}, Y: Field{[10]uint32{0x001fff82, 0x032fde54, 0x00bfdf23, 0x03fa5544, 0x01bbea2c, 0x01af8857, 0x01d90c2b, 0x00e61b78, 0x032dba06, 0x00198aa7}}}, + }, + { + {X: Field{[10]uint32{0x02c4c0da, 0x02d11327, 0x023351b7, 0x01e1c8fa, 0x02e88c56, 0x0207c58b, 0x039c1ad9, 0x017cce48, 0x01d2f63b, 0x0023da2e}}, Y: Field{[10]uint32{0x001fff82, 0x032fde54, 0x00bfdf23, 0x03fa5544, 0x01bbea2c, 0x01af8857, 0x01d90c2b, 0x00e61b78, 0x032dba06, 0x00198aa7}}}, + {X: Field{[10]uint32{0x00f27076, 0x011f7e13, 0x03eaee68, 0x02b79d89, 0x01d89858, 0x03f66bd6, 0x02febe77, 0x020563f2, 0x02fd784e, 0x0013526b}}, Y: Field{[10]uint32{0x03aa781e, 0x002d9880, 0x018466b9, 0x0069f7d3, 0x006e0f2d, 0x016729bc, 0x023f2103, 0x0344d79c, 0x0059a10d, 0x00334cbf}}}, + {X: Field{[10]uint32{0x023809fa, 0x00ae3b74, 0x014be18e, 0x02cd4765, 0x00fd845c, 0x009147c2, 0x0293363f, 0x027c8a2e, 0x01be2e50, 0x000e0e07}}, Y: Field{[10]uint32{0x031fed52, 0x001d460c, 0x0324dbd7, 0x032ccb63, 0x003681fc, 0x0083ac73, 0x01405a55, 0x005f72c2, 0x010a0fb9, 0x003928cb}}}, + {X: Field{[10]uint32{0x01b62026, 0x02f2d5ca, 0x01d4ee8d, 0x03822274, 0x038d2a3d, 0x03d716a9, 0x016619e1, 0x01be14df, 0x039e85d5, 0x001d5914}}, Y: Field{[10]uint32{0x02ce0cf3, 0x00b23eb6, 0x01f33417, 0x036552de, 0x01684aac, 0x029c8a49, 0x031df524, 0x02cf1948, 0x01413749, 0x003075a1}}}, + {X: Field{[10]uint32{0x03c2a310, 0x01099225, 0x026303ea, 0x02950048, 0x01f186ae, 0x0291a668, 0x0121b82a, 0x00ab9bda, 0x0324e437, 0x00124989}}, Y: Field{[10]uint32{0x0227ded0, 0x006da057, 0x038ce0c4, 0x004a9d7f, 0x036d1636, 0x01c50c0e, 0x02cfa569, 0x02afe568, 0x0373bca7, 0x0004cdf9}}}, + {X: Field{[10]uint32{0x03663da4, 0x019b0640, 0x00b81f81, 0x02467d74, 0x03a5a362, 0x03112a8a, 0x008a6ed7, 0x01c179a0, 0x02356aa5, 0x001a9992}}, Y: Field{[10]uint32{0x03fc22c4, 0x00c4fecc, 0x004c9c28, 0x0049f9b0, 0x01089916, 0x01afc335, 0x0386ec19, 0x03a62ca7, 0x025954fd, 0x00112684}}}, + {X: Field{[10]uint32{0x02bd2d31, 0x012c1e73, 0x01b8d138, 0x015bfc1b, 0x004dcc1a, 0x011df8be, 0x02253b3e, 0x00324357, 0x028c1a24, 0x0038c195}}, Y: Field{[10]uint32{0x02546e44, 0x02d020e4, 0x03826692, 0x010af8dc, 0x02ffbc80, 0x03df436d, 0x00f2b107, 0x01098222, 0x03e37893, 0x0003ab1b}}}, + {X: Field{[10]uint32{0x03b4a278, 0x0136b355, 0x0082b536, 0x017c7fd0, 0x0078f61a, 0x02b67332, 0x006ff301, 0x009de59d, 0x017ad9df, 0x000842a4}}, Y: Field{[10]uint32{0x007b2231, 0x01c4ff43, 0x00bfc7f2, 0x006abfc8, 0x013789e6, 0x02359cdf, 0x039be81f, 0x0395ede8, 0x035450b5, 0x0019c386}}}, + {X: Field{[10]uint32{0x023136b0, 0x0030e78d, 0x01dd9c53, 0x0366aad0, 0x0374ebf8, 0x00fef58c, 0x01b0e762, 0x033bf09c, 0x000e2428, 0x000ee784}}, Y: Field{[10]uint32{0x00dbbc8a, 0x03b05bdb, 0x01f81953, 0x028ceb4c, 0x02a2ae28, 0x03d1d6c9, 0x01533eb8, 0x02edc77c, 0x00152d16, 0x003ebee6}}}, + {X: Field{[10]uint32{0x0190124e, 0x023ad4f7, 0x0085dea9, 0x01a14a07, 0x02c1e802, 0x036ce055, 0x029a1946, 0x015505df, 0x0293c06c, 0x001ebab2}}, Y: Field{[10]uint32{0x02021e31, 0x001e0408, 0x0104b3f5, 0x03e6e42a, 0x0159bc1b, 0x01b07654, 0x02caff04, 0x0243c13e, 0x03190c13, 0x0037eca6}}}, + {X: Field{[10]uint32{0x03485d3f, 0x023c11cb, 0x03eee960, 0x01a2041e, 0x0317ca07, 0x0177b7bd, 0x036ca80f, 0x0326a4ad, 0x0149712a, 0x002ec2ab}}, Y: Field{[10]uint32{0x00a2f975, 0x00e4940f, 0x00bffe79, 0x03e8c59c, 0x00895a5a, 0x00a5f68d, 0x00d201f7, 0x0151e63b, 0x0053c583, 0x003a9a67}}}, + {X: Field{[10]uint32{0x01ed815e, 0x01c0b541, 0x017b470f, 0x02af0700, 0x0166f440, 0x02551eb4, 0x035fad21, 0x0128cbae, 0x02c679f7, 0x00155a36}}, Y: Field{[10]uint32{0x00602df0, 0x02fd9300, 0x02151d9b, 0x03bb8960, 0x03eb05f7, 0x0341cfca, 0x00d6fe01, 0x02e99160, 0x00742788, 0x001ea17e}}}, + {X: Field{[10]uint32{0x02718dc9, 0x03b4ce8d, 0x023de4ae, 0x0136c044, 0x03e1e58b, 0x02bf8044, 0x028eb197, 0x03f30353, 0x02c8e4ee, 0x001e4242}}, Y: Field{[10]uint32{0x00fae7c5, 0x00c8ac47, 0x0008b963, 0x02dc2ea4, 0x02dd36af, 0x0366aa95, 0x01816cbc, 0x016e3c4f, 0x022b9190, 0x003aaadc}}}, + {X: Field{[10]uint32{0x0244a0c8, 0x0306f70b, 0x01932abe, 0x0100bb8a, 0x032c9be7, 0x031d0db0, 0x01bae600, 0x0250f2f2, 0x02884807, 0x001807a7}}, Y: Field{[10]uint32{0x0200e557, 0x024d04ae, 0x02659547, 0x0169ad1b, 0x01424e0c, 0x03feaeec, 0x00b8cfa9, 0x023b31c5, 0x02aa6fdc, 0x00169e88}}}, + {X: Field{[10]uint32{0x0360c7d1, 0x025a531f, 0x01ad2a26, 0x039f35dd, 0x028dd71d, 0x01526e99, 0x003dbbce, 0x01ed5470, 0x01ade9f9, 0x0039df20}}, Y: Field{[10]uint32{0x02d72449, 0x01607ca0, 0x006d34ec, 0x03dc70a6, 0x03631470, 0x03aa0550, 0x03c3b323, 0x004c8717, 0x0078eef8, 0x000eb3c5}}}, + {X: Field{[10]uint32{0x03231e11, 0x01bf5414, 0x01e3e668, 0x01940da0, 0x011f48e8, 0x02630d82, 0x0399ff91, 0x0217597f, 0x030176af, 0x00393cfe}}, Y: Field{[10]uint32{0x03eb73bc, 0x030e15db, 0x011c9822, 0x013b2547, 0x006cc7e7, 0x0280adca, 0x021a6d0e, 0x013c7059, 0x033ad0ef, 0x000798d8}}}, + }, + { + {X: Field{[10]uint32{0x03231e11, 0x01bf5414, 0x01e3e668, 0x01940da0, 0x011f48e8, 0x02630d82, 0x0399ff91, 0x0217597f, 0x030176af, 0x00393cfe}}, Y: Field{[10]uint32{0x03eb73bc, 0x030e15db, 0x011c9822, 0x013b2547, 0x006cc7e7, 0x0280adca, 0x021a6d0e, 0x013c7059, 0x033ad0ef, 0x000798d8}}}, + {X: Field{[10]uint32{0x03cdaf2f, 0x03b888ce, 0x032953bf, 0x02096e85, 0x0388531a, 0x02f6cd8b, 0x0064110a, 0x01cf807b, 0x03b76867, 0x0012cc32}}, Y: Field{[10]uint32{0x0126b5b7, 0x00cf518f, 0x00575680, 0x020790d2, 0x011fdf3c, 0x01f0f12a, 0x01e2c577, 0x018a6dbe, 0x010265bb, 0x001d318d}}}, + {X: Field{[10]uint32{0x03f05bd6, 0x027c139a, 0x01946539, 0x000c84aa, 0x00a2f56e, 0x02d1c37b, 0x032f51fe, 0x013fa420, 0x0241bee4, 0x0024030c}}, Y: Field{[10]uint32{0x000d358b, 0x00ab4efc, 0x03b15de5, 0x0160f13b, 0x01d69853, 0x01c2c90e, 0x01c72045, 0x03c3d7e5, 0x01e8e8b1, 0x001b0c7e}}}, + {X: Field{[10]uint32{0x0273059f, 0x03a70a69, 0x03a192ff, 0x01414383, 0x03ec1171, 0x01d19205, 0x015b20b1, 0x01c03734, 0x00aa7ae1, 0x0032ed0d}}, Y: Field{[10]uint32{0x027c070c, 0x02a59088, 0x03845b7d, 0x013c2b57, 0x0141d45e, 0x022d77eb, 0x02d49233, 0x02f45d58, 0x000ab4da, 0x00128688}}}, + {X: Field{[10]uint32{0x03105c50, 0x030a3327, 0x005257a7, 0x03bdec4e, 0x0182e0de, 0x00f08cf3, 0x028cc340, 0x0242ab58, 0x0362ab05, 0x0016a340}}, Y: Field{[10]uint32{0x00a4cde9, 0x02c8060e, 0x013c35c9, 0x02299b40, 0x00a605f6, 0x0050ffdd, 0x02a6b724, 0x0394da4d, 0x02b113d4, 0x0030167a}}}, + {X: Field{[10]uint32{0x032e294d, 0x03ecbde9, 0x00dd5be6, 0x028fc034, 0x02f158eb, 0x037dfb71, 0x02289eae, 0x00d2e469, 0x00805cd5, 0x000a77f9}}, Y: Field{[10]uint32{0x00469b52, 0x00dc983b, 0x02e69441, 0x0070e4a7, 0x01d1f196, 0x02281793, 0x0034e758, 0x01cb866d, 0x0026d006, 0x002fd9b6}}}, + {X: Field{[10]uint32{0x02d64feb, 0x03862e6c, 0x0292c647, 0x02964a48, 0x003772f8, 0x01b2e93a, 0x02f3a577, 0x03d82923, 0x01031232, 0x00364fd3}}, Y: Field{[10]uint32{0x00698359, 0x03ef564d, 0x00da37b0, 0x002fbb24, 0x0193e043, 0x01372313, 0x037311c5, 0x009cce88, 0x015d45cb, 0x001e4955}}}, + {X: Field{[10]uint32{0x02de12c0, 0x01e1b841, 0x010e94d4, 0x03161d18, 0x006d9cda, 0x0155c913, 0x02d7b1e7, 0x00b07341, 0x016d9c10, 0x003d1e01}}, Y: Field{[10]uint32{0x025361fe, 0x01db39b2, 0x012d769a, 0x03d826ae, 0x0026c17e, 0x001a1a53, 0x00095e01, 0x00e51b9a, 0x0210f33e, 0x001fc279}}}, + {X: Field{[10]uint32{0x039fbc84, 0x00813350, 0x02016722, 0x0245815e, 0x037e7062, 0x018ab196, 0x014e2bc6, 0x00a1106c, 0x01c6e36f, 0x000bc1da}}, Y: Field{[10]uint32{0x00201bec, 0x0240b787, 0x015d73fb, 0x01a93137, 0x01cca79b, 0x02438852, 0x01df0079, 0x02f777e9, 0x03724d73, 0x002d0d3c}}}, + {X: Field{[10]uint32{0x0026dea2, 0x02cbf4b4, 0x005d8928, 0x0114b167, 0x0187c84c, 0x0269b758, 0x01a1e26d, 0x02efef5c, 0x0248d561, 0x0007773e}}, Y: Field{[10]uint32{0x003de522, 0x0121cf46, 0x0273406f, 0x02314701, 0x00666fd6, 0x0100b008, 0x03ea34d6, 0x00e9f507, 0x001fa992, 0x0031be90}}}, + {X: Field{[10]uint32{0x02a758ea, 0x01fab321, 0x019c4d53, 0x006249fc, 0x01911883, 0x01505b8e, 0x006895a1, 0x000c2656, 0x0380559e, 0x003f9f99}}, Y: Field{[10]uint32{0x037ab649, 0x008b6576, 0x020d1e4f, 0x001d10c4, 0x033b8017, 0x02124947, 0x0008e169, 0x0372e623, 0x0167a281, 0x000e2a9a}}}, + {X: Field{[10]uint32{0x033773f7, 0x03c011b0, 0x019953c7, 0x034d16d6, 0x0150d44f, 0x0278dca8, 0x01410c00, 0x008db4f8, 0x0226f5dd, 0x000d56cc}}, Y: Field{[10]uint32{0x0087c182, 0x00f0ffc6, 0x01109005, 0x01e33389, 0x001e25df, 0x03487f2e, 0x0310eedd, 0x000eb527, 0x00807047, 0x00023b29}}}, + {X: Field{[10]uint32{0x00fffefa, 0x005589a3, 0x01afade7, 0x013dc194, 0x01101804, 0x0030ebe1, 0x01f6f915, 0x00c49f5b, 0x01ca7538, 0x00246ebd}}, Y: Field{[10]uint32{0x037f6faf, 0x00dbcd37, 0x0303dc7d, 0x00439bf4, 0x02f4bef3, 0x01f74f64, 0x01969f12, 0x02f3af97, 0x03119347, 0x00013973}}}, + {X: Field{[10]uint32{0x00785491, 0x037d01a4, 0x025d1dd3, 0x01792baa, 0x035291de, 0x00be19ad, 0x019f43cb, 0x002eb958, 0x00f17f26, 0x0024ac78}}, Y: Field{[10]uint32{0x00be555b, 0x0234d816, 0x00d7b9c9, 0x01df88a2, 0x003985fb, 0x00d396b4, 0x027c1d10, 0x02798f85, 0x00028d8d, 0x00207b11}}}, + {X: Field{[10]uint32{0x0133c546, 0x00245fa3, 0x01af32fc, 0x02cca17b, 0x0382575f, 0x003d7775, 0x02c5373e, 0x01e29f2c, 0x0121cb3f, 0x00111610}}, Y: Field{[10]uint32{0x000b4fd4, 0x01b461c0, 0x0273660a, 0x00f3ecb2, 0x00852f0a, 0x0246b688, 0x0225eae3, 0x01d4e9dc, 0x0377f3f8, 0x000c2364}}}, + {X: Field{[10]uint32{0x00eae29e, 0x02dbab88, 0x01d0716f, 0x00bc3538, 0x02c7034f, 0x01169099, 0x0161537a, 0x03ccc7ae, 0x029b18eb, 0x0023003e}}, Y: Field{[10]uint32{0x0302414b, 0x00a93199, 0x02c54e7d, 0x03ea078d, 0x00c2fada, 0x01cdb25d, 0x01c343a3, 0x008686a7, 0x0267fea5, 0x003be91c}}}, + }, + { + {X: Field{[10]uint32{0x00eae29e, 0x02dbab88, 0x01d0716f, 0x00bc3538, 0x02c7034f, 0x01169099, 0x0161537a, 0x03ccc7ae, 0x029b18eb, 0x0023003e}}, Y: Field{[10]uint32{0x0302414b, 0x00a93199, 0x02c54e7d, 0x03ea078d, 0x00c2fada, 0x01cdb25d, 0x01c343a3, 0x008686a7, 0x0267fea5, 0x003be91c}}}, + {X: Field{[10]uint32{0x018ada5f, 0x0326ac30, 0x02fb3e84, 0x01fca448, 0x03fd7e29, 0x00daf87b, 0x03b5bf96, 0x02d1bea2, 0x00176da2, 0x000933f0}}, Y: Field{[10]uint32{0x038a586b, 0x02984e65, 0x014f268f, 0x028693e0, 0x03ed959c, 0x037b6a49, 0x028714d5, 0x01869a61, 0x03bb079c, 0x003affe3}}}, + {X: Field{[10]uint32{0x03fd913d, 0x025580fa, 0x009eac3f, 0x039bb953, 0x0050a680, 0x030aa348, 0x0107a084, 0x0377e1d3, 0x02a7e907, 0x000d8d8a}}, Y: Field{[10]uint32{0x012e243d, 0x03e6bab1, 0x03aafc44, 0x00435acb, 0x02d830bb, 0x00368aa0, 0x01624437, 0x02bf54d0, 0x00676cb8, 0x00123c9e}}}, + {X: Field{[10]uint32{0x00679da2, 0x00c62565, 0x017edf10, 0x01ff1fc1, 0x0216ddd6, 0x004a4bb1, 0x02ded72a, 0x02f20ba8, 0x0158d4b9, 0x0000129f}}, Y: Field{[10]uint32{0x039ffe26, 0x01fd211d, 0x0228a487, 0x025258fe, 0x0371c3b4, 0x03b1c6ce, 0x031d8147, 0x032dd79a, 0x01b76702, 0x002e62b1}}}, + {X: Field{[10]uint32{0x01132896, 0x02eafe6b, 0x02c967ca, 0x02eadef1, 0x01fcb1e3, 0x03764803, 0x015ad962, 0x00780bca, 0x036df32a, 0x001121e5}}, Y: Field{[10]uint32{0x03685248, 0x0006c4ab, 0x02a7a48c, 0x016989da, 0x0306b40d, 0x0115868c, 0x009a9077, 0x02bf87bf, 0x0060d115, 0x0009ef56}}}, + {X: Field{[10]uint32{0x035732c0, 0x021934dd, 0x037aa859, 0x039c8cdd, 0x02202fe5, 0x032c425b, 0x00a5d1b7, 0x012e6d89, 0x0331f8b7, 0x0023cf33}}, Y: Field{[10]uint32{0x01b9415b, 0x02f79799, 0x00825e73, 0x01dd5216, 0x00a90e68, 0x01f394f6, 0x02f46d99, 0x0394c627, 0x013e2d39, 0x0019fc73}}}, + {X: Field{[10]uint32{0x03a2670c, 0x0055bdaf, 0x033e6e08, 0x00ae8189, 0x007400f8, 0x00cd40c9, 0x02a9caa8, 0x020de22d, 0x02c28bcb, 0x0012934e}}, Y: Field{[10]uint32{0x02c1764d, 0x02e7ff75, 0x03eed808, 0x0132fca6, 0x01493059, 0x03bc0ae7, 0x027711dd, 0x01693c5f, 0x011c0184, 0x001c2aee}}}, + {X: Field{[10]uint32{0x007c4b65, 0x00d3ab72, 0x032a9ccf, 0x0228781e, 0x0196f880, 0x0019b392, 0x036c5e2c, 0x00071ff1, 0x01c4cbd0, 0x003b9f5a}}, Y: Field{[10]uint32{0x0136a95a, 0x023d13b4, 0x002e523e, 0x0266eba5, 0x02c33e89, 0x00c3cbb8, 0x0192abf0, 0x004e0868, 0x026ec1a4, 0x003b3218}}}, + {X: Field{[10]uint32{0x00b24aa7, 0x01abf893, 0x01c530d9, 0x0318e4d1, 0x00903108, 0x03fe3f86, 0x02e6fd89, 0x00600b0e, 0x01190ae9, 0x0017decb}}, Y: Field{[10]uint32{0x02693d7d, 0x0201d0d2, 0x01d0c6d7, 0x01c24f20, 0x03ce8deb, 0x03399f11, 0x023f80a3, 0x03caccc2, 0x0200c4fd, 0x0001dc0d}}}, + {X: Field{[10]uint32{0x03004130, 0x018cb5ff, 0x02b09842, 0x00ce070d, 0x0249fd86, 0x01532d6a, 0x02a14e52, 0x0061ac99, 0x01b5f72d, 0x001435dd}}, Y: Field{[10]uint32{0x036e406d, 0x02e31937, 0x024c3456, 0x0117bbda, 0x032975d9, 0x0004018f, 0x01724346, 0x02955f14, 0x023b0f4e, 0x000d007b}}}, + {X: Field{[10]uint32{0x037fb8bd, 0x006f17cb, 0x0090a419, 0x02857f90, 0x007bc464, 0x025221b6, 0x02c24e6d, 0x024340ab, 0x0051339d, 0x00144e5d}}, Y: Field{[10]uint32{0x03908c0f, 0x012b0b60, 0x00d5a809, 0x034f8fe6, 0x03fafc32, 0x03a05711, 0x008fefda, 0x00efcd2e, 0x003e4764, 0x003f35c5}}}, + {X: Field{[10]uint32{0x00889f3f, 0x007e0e4d, 0x01da7f2a, 0x022d1425, 0x03c4feb2, 0x005a6c3a, 0x02a3469b, 0x00465887, 0x0026f1b2, 0x0021e644}}, Y: Field{[10]uint32{0x03bb792b, 0x00b7e6f0, 0x0037b49e, 0x006fca18, 0x01e932f6, 0x005fc9e7, 0x032f2cb7, 0x00765884, 0x014ca5a9, 0x00377aae}}}, + {X: Field{[10]uint32{0x0236ca73, 0x01d2457b, 0x033ede2b, 0x034daeef, 0x03eac864, 0x03c05221, 0x0029112b, 0x037ee2a9, 0x02d62bfb, 0x0033e0c5}}, Y: Field{[10]uint32{0x02c25534, 0x0248650b, 0x0310f5b4, 0x02636235, 0x001c9615, 0x0037329a, 0x00445089, 0x0275cf8e, 0x018deb5d, 0x00027fad}}}, + {X: Field{[10]uint32{0x019c8f0a, 0x036611af, 0x00e64afc, 0x00b22f61, 0x00af3e9f, 0x0300ea1f, 0x0126603b, 0x02913f0e, 0x00ed297b, 0x001b8845}}, Y: Field{[10]uint32{0x016a2c9b, 0x02452374, 0x0195ebd7, 0x01d743e5, 0x01090bec, 0x00317647, 0x026d50f8, 0x001b89f6, 0x020cc26f, 0x00015646}}}, + {X: Field{[10]uint32{0x0352f97d, 0x024df5ad, 0x036613c8, 0x031d7cd1, 0x025a2efb, 0x0233e985, 0x039d2866, 0x02d27794, 0x029a4c4b, 0x00218437}}, Y: Field{[10]uint32{0x031b1af2, 0x01f73507, 0x003e0805, 0x027d5155, 0x0257ab4d, 0x014cfe67, 0x03cd99b2, 0x002ef24d, 0x03a02b63, 0x0034c665}}}, + {X: Field{[10]uint32{0x00cb3e41, 0x03f77f18, 0x012c0997, 0x013cc22e, 0x03143d08, 0x027a63b4, 0x010cec0a, 0x020a7cf8, 0x00e69dd4, 0x0039e89b}}, Y: Field{[10]uint32{0x032cfd51, 0x02a50873, 0x003e20e8, 0x0301083a, 0x00d0a6b2, 0x02abeec6, 0x01b006a1, 0x02612d1c, 0x02300fa7, 0x000a9d63}}}, + }, + { + {X: Field{[10]uint32{0x00cb3e41, 0x03f77f18, 0x012c0997, 0x013cc22e, 0x03143d08, 0x027a63b4, 0x010cec0a, 0x020a7cf8, 0x00e69dd4, 0x0039e89b}}, Y: Field{[10]uint32{0x032cfd51, 0x02a50873, 0x003e20e8, 0x0301083a, 0x00d0a6b2, 0x02abeec6, 0x01b006a1, 0x02612d1c, 0x02300fa7, 0x000a9d63}}}, + {X: Field{[10]uint32{0x034ae861, 0x0396e45e, 0x02fa9d97, 0x03935b8c, 0x01203c35, 0x01c8227d, 0x038bfb67, 0x03e34034, 0x02ba036b, 0x003d72be}}, Y: Field{[10]uint32{0x0182239c, 0x0308e703, 0x005f3cc9, 0x027154bc, 0x019b3b2a, 0x01020e45, 0x03f99046, 0x01b605ef, 0x038a022a, 0x00067a0e}}}, + {X: Field{[10]uint32{0x02ee42db, 0x027f4afe, 0x0314a70f, 0x016d1cc1, 0x01d9bbbc, 0x007b2ff0, 0x03b6edb9, 0x024543f1, 0x03e7d9b5, 0x00330d09}}, Y: Field{[10]uint32{0x01d87bdb, 0x00a70045, 0x0022dc62, 0x02b639c9, 0x0010e5cb, 0x02c85480, 0x01e3fd3f, 0x031a8621, 0x0041a521, 0x003a8926}}}, + {X: Field{[10]uint32{0x012a9651, 0x035335ef, 0x0182084f, 0x02712532, 0x028f9e50, 0x01fa0150, 0x01f5156d, 0x00fc7c4b, 0x0024ceb6, 0x003a4e24}}, Y: Field{[10]uint32{0x02786824, 0x0378add7, 0x00bfefef, 0x033b19dc, 0x018d7110, 0x019c6abc, 0x0287abaf, 0x019657e4, 0x00872372, 0x0021921a}}}, + {X: Field{[10]uint32{0x02d4a086, 0x00d9b19f, 0x0010eff4, 0x00563a71, 0x00b1d75c, 0x02f2d73d, 0x003c585f, 0x011177b2, 0x01bacd98, 0x002523c1}}, Y: Field{[10]uint32{0x022bca4b, 0x006003e7, 0x022d1a2a, 0x029c70fe, 0x011c2328, 0x00044e50, 0x03450a66, 0x00a8ce0b, 0x009ffb5a, 0x0021932a}}}, + {X: Field{[10]uint32{0x0296e4f1, 0x029c594b, 0x00030cb0, 0x01802ba0, 0x02ff5f01, 0x00d7bf32, 0x01777083, 0x0065f880, 0x008f0198, 0x0015aec5}}, Y: Field{[10]uint32{0x02b0582e, 0x027c067b, 0x030eb588, 0x0348012b, 0x037313d1, 0x038c3aa7, 0x0303ed8b, 0x0028cefa, 0x00a56130, 0x00282561}}}, + {X: Field{[10]uint32{0x03542c21, 0x02fa9b2d, 0x00c15c0c, 0x034a3a99, 0x03ae19f4, 0x01475b50, 0x016fc454, 0x026b2419, 0x01629291, 0x00096106}}, Y: Field{[10]uint32{0x032bfabf, 0x02f8c659, 0x02d7b3be, 0x021b930a, 0x01f3e3a1, 0x031d44f5, 0x025daa4c, 0x00912007, 0x031f1cdb, 0x003f2cd6}}}, + {X: Field{[10]uint32{0x00ddab8b, 0x03506b9f, 0x00e6fcf2, 0x00494f1a, 0x039f0e4d, 0x020b430d, 0x0116900d, 0x0095afb4, 0x01d87829, 0x00099156}}, Y: Field{[10]uint32{0x001de473, 0x0192d140, 0x031e6c9f, 0x02bce72b, 0x037a8631, 0x00d01cb5, 0x03bc6370, 0x0144b3bd, 0x011926d3, 0x001e796f}}}, + {X: Field{[10]uint32{0x001ecbf8, 0x01187d03, 0x017ca43c, 0x037a6bbb, 0x036489f0, 0x007a1087, 0x029754cc, 0x0314948a, 0x01c41373, 0x001f84b3}}, Y: Field{[10]uint32{0x00bed615, 0x016e336c, 0x019f59d4, 0x00763f87, 0x01c969f6, 0x03934496, 0x03f94dab, 0x0320dc50, 0x0388888d, 0x001c4a13}}}, + {X: Field{[10]uint32{0x018a26c1, 0x028a3ee2, 0x0304ae2d, 0x0285ce4e, 0x019a954f, 0x0309b871, 0x02351579, 0x014aedba, 0x00fd373b, 0x002da832}}, Y: Field{[10]uint32{0x0278217c, 0x0143b6a2, 0x01a06f55, 0x03a162ad, 0x00fc94a5, 0x02f69feb, 0x0101e3fe, 0x01d2526a, 0x03bfda03, 0x0017bc64}}}, + {X: Field{[10]uint32{0x00557d86, 0x01994705, 0x03ff417e, 0x011e3999, 0x031cfeec, 0x028169b3, 0x02b91ca7, 0x010a99dc, 0x02ff2a37, 0x0012e3b0}}, Y: Field{[10]uint32{0x01167eb9, 0x026c646d, 0x03692bdd, 0x03bc3f0f, 0x0328d5f2, 0x0149eb17, 0x024072de, 0x015eac52, 0x03ff04c1, 0x003f79b0}}}, + {X: Field{[10]uint32{0x01f23d1f, 0x015fd660, 0x036d8a4c, 0x035c8300, 0x02b6b25f, 0x03f62829, 0x03d489e1, 0x002eeef4, 0x00153d67, 0x002ce63a}}, Y: Field{[10]uint32{0x032ff3fc, 0x00faffe0, 0x016cd158, 0x022b4985, 0x02ea791d, 0x02c02e94, 0x037feb2f, 0x03d1fc1f, 0x0022572d, 0x001a7d67}}}, + {X: Field{[10]uint32{0x0380763c, 0x020b4ed1, 0x0291d52b, 0x017a4995, 0x025f8a6d, 0x025eb01f, 0x02436dc6, 0x00e9094c, 0x01073396, 0x003f3570}}, Y: Field{[10]uint32{0x00e851cb, 0x039d080e, 0x023a4b54, 0x00b9c591, 0x00b119b2, 0x03dcb8e3, 0x0320db35, 0x00b118ed, 0x03e2e552, 0x0006376a}}}, + {X: Field{[10]uint32{0x03e9fc8d, 0x0311e98c, 0x028ad2b1, 0x0026093c, 0x0348b848, 0x0118c69c, 0x00d0b205, 0x0177fe9b, 0x01c1bb42, 0x0018d283}}, Y: Field{[10]uint32{0x033f87b6, 0x01fcc2c9, 0x00616958, 0x02863b57, 0x03519ad5, 0x03792a73, 0x0205a657, 0x012db2bf, 0x021fe75a, 0x0035d6f8}}}, + {X: Field{[10]uint32{0x018ef686, 0x00ef8c17, 0x02e66bce, 0x03d0089c, 0x03f68e48, 0x02099b94, 0x038a5daf, 0x032f9488, 0x00ee5843, 0x002403cb}}, Y: Field{[10]uint32{0x0121a8cf, 0x029259f8, 0x016d5073, 0x03d0f245, 0x00596cdf, 0x00d27444, 0x01c551b1, 0x01096b58, 0x0155ec60, 0x001ccab0}}}, + {X: Field{[10]uint32{0x026b80ef, 0x00a7acf7, 0x0024f3cf, 0x0259f5e5, 0x0171cbcb, 0x00ef2f71, 0x03540c22, 0x00bb2348, 0x020ee366, 0x002d9167}}, Y: Field{[10]uint32{0x0271ba45, 0x02fc2d86, 0x01b2ff30, 0x01b5238d, 0x03c4b3ae, 0x0159876c, 0x01adf16e, 0x0381b787, 0x036d06f3, 0x00019f21}}}, + }, + { + {X: Field{[10]uint32{0x026b80ef, 0x00a7acf7, 0x0024f3cf, 0x0259f5e5, 0x0171cbcb, 0x00ef2f71, 0x03540c22, 0x00bb2348, 0x020ee366, 0x002d9167}}, Y: Field{[10]uint32{0x0271ba45, 0x02fc2d86, 0x01b2ff30, 0x01b5238d, 0x03c4b3ae, 0x0159876c, 0x01adf16e, 0x0381b787, 0x036d06f3, 0x00019f21}}}, + {X: Field{[10]uint32{0x033eb51f, 0x03bcdd40, 0x00211253, 0x01daf9e7, 0x03b68905, 0x007d0564, 0x0136f730, 0x00f22393, 0x00f0d982, 0x0039763a}}, Y: Field{[10]uint32{0x0262a2d9, 0x016f6596, 0x0354979d, 0x011b67c3, 0x00e509dc, 0x023fbbbc, 0x0316a57d, 0x00f812ae, 0x01b7861e, 0x0013707a}}}, + {X: Field{[10]uint32{0x019888e9, 0x033c9e4c, 0x00a8b439, 0x01afc912, 0x033d12ba, 0x0259a059, 0x0260d302, 0x029b8b77, 0x02773ac3, 0x0007e43a}}, Y: Field{[10]uint32{0x03113b79, 0x037f25fb, 0x022e656f, 0x03fb9654, 0x00213751, 0x007ae5aa, 0x00153d27, 0x02843a56, 0x027c15da, 0x00226f8d}}}, + {X: Field{[10]uint32{0x03155e64, 0x019d9203, 0x0011737a, 0x013ea28c, 0x01ab66be, 0x006eb837, 0x02b0f732, 0x0230f715, 0x03f77dbc, 0x002a7289}}, Y: Field{[10]uint32{0x021b3297, 0x03cccf15, 0x030ae1f3, 0x02086f2b, 0x00875d41, 0x0300b401, 0x017d2246, 0x00535346, 0x035678fb, 0x003d2ecc}}}, + {X: Field{[10]uint32{0x0162222c, 0x03bedbcd, 0x032c6085, 0x01e6479b, 0x02de0344, 0x00d2d4ae, 0x0302bad3, 0x0382b5b9, 0x014dedff, 0x0004e939}}, Y: Field{[10]uint32{0x00200145, 0x0059a32a, 0x004c08cb, 0x01deb724, 0x02d4f9c5, 0x03582694, 0x00ac2f81, 0x03a04ecb, 0x014e5816, 0x0032759f}}}, + {X: Field{[10]uint32{0x01bf6c42, 0x02acf770, 0x0075393e, 0x026c4662, 0x02f7793d, 0x01b3b9d3, 0x03465481, 0x00171fb9, 0x033cd6c1, 0x00340b86}}, Y: Field{[10]uint32{0x03bc54cc, 0x018ca3e1, 0x02aac133, 0x026e4c6d, 0x02bca587, 0x00349149, 0x0332270d, 0x00896049, 0x00f3ca8e, 0x002682dd}}}, + {X: Field{[10]uint32{0x003b46bb, 0x0393703d, 0x02525437, 0x018feb24, 0x0112ed3a, 0x0211576f, 0x0007c05d, 0x02ab7475, 0x02bf233c, 0x00186647}}, Y: Field{[10]uint32{0x0020a848, 0x03d64073, 0x00d8ef48, 0x027294bb, 0x011ca872, 0x01beeb7c, 0x02f38716, 0x03924a54, 0x0308f3fd, 0x00007178}}}, + {X: Field{[10]uint32{0x02ee247c, 0x02f18a75, 0x00ee06d4, 0x0211fd47, 0x011f478e, 0x0073f9d6, 0x03a10561, 0x035fc97a, 0x01800686, 0x001a3edc}}, Y: Field{[10]uint32{0x0201865d, 0x03e08b46, 0x03c9dae1, 0x002c131c, 0x039a8d58, 0x0006c301, 0x03354275, 0x0258d9cd, 0x023462dd, 0x003344b4}}}, + {X: Field{[10]uint32{0x021add3b, 0x02f8f774, 0x03d8f7e5, 0x013d15c9, 0x018b9a94, 0x03458984, 0x0039cdb0, 0x034e1d24, 0x02a4b787, 0x003a89eb}}, Y: Field{[10]uint32{0x028ce7dd, 0x038a476d, 0x01be71b5, 0x035a3938, 0x0278b212, 0x00970bd8, 0x023ceb23, 0x005f795c, 0x01e6e42a, 0x0031c3fc}}}, + {X: Field{[10]uint32{0x02da1f54, 0x016af6f8, 0x025df934, 0x03088c50, 0x021b2b52, 0x024d1445, 0x03550ab1, 0x0183ae61, 0x03b23df2, 0x001c4dfd}}, Y: Field{[10]uint32{0x01c3edbc, 0x02350db3, 0x01bb84af, 0x03551b3f, 0x03ebf081, 0x03c98029, 0x00dacb17, 0x0201d397, 0x02d80435, 0x0017f9e2}}}, + {X: Field{[10]uint32{0x011ff757, 0x02be2ed8, 0x0226e6e8, 0x01d07130, 0x029b4ce9, 0x01b8adb6, 0x01010f8b, 0x03f552ea, 0x01356b7f, 0x00165194}}, Y: Field{[10]uint32{0x014d031a, 0x019bb2a2, 0x03e3b28a, 0x01edfeff, 0x01961bbc, 0x017101be, 0x02038d01, 0x009d4010, 0x020ce5df, 0x000d844d}}}, + {X: Field{[10]uint32{0x036c15c2, 0x03d1fc63, 0x00f1ca1e, 0x005323ce, 0x003de764, 0x027450d2, 0x01739813, 0x01d5ffa8, 0x0052bca1, 0x002115aa}}, Y: Field{[10]uint32{0x03174134, 0x03bf0ca2, 0x03671ff1, 0x002615be, 0x034cc90f, 0x0041e79f, 0x0349ec37, 0x00b37bf4, 0x0246d484, 0x00386e76}}}, + {X: Field{[10]uint32{0x036160b5, 0x009628d8, 0x02bc0676, 0x0091c39f, 0x00ccc53f, 0x000247b0, 0x003af797, 0x00ca43a1, 0x023915f7, 0x0005ac9b}}, Y: Field{[10]uint32{0x00a1dc0e, 0x0097efd6, 0x03ef8146, 0x02b1c2e8, 0x00e1363a, 0x018d9535, 0x03643524, 0x03be2ed8, 0x025a6302, 0x000183d5}}}, + {X: Field{[10]uint32{0x021b793e, 0x0077a4e3, 0x025183d6, 0x028ac34b, 0x01d36aee, 0x033eab93, 0x002eccf2, 0x00739970, 0x017c9835, 0x0013c545}}, Y: Field{[10]uint32{0x03ba9889, 0x03307f70, 0x007aab4f, 0x012cd529, 0x02c0daff, 0x03352833, 0x01da9db9, 0x02e4e7f2, 0x0366079d, 0x00302538}}}, + {X: Field{[10]uint32{0x03b32db8, 0x0134a24d, 0x0391f396, 0x0127d91d, 0x01c91ed7, 0x010b3aa1, 0x02a143c8, 0x027e4c6f, 0x0295c455, 0x000092d4}}, Y: Field{[10]uint32{0x0264f760, 0x0153eaaa, 0x001a9594, 0x0044816e, 0x0062ab68, 0x031796fa, 0x02e2821c, 0x00c271ed, 0x038f5bff, 0x001827fb}}}, + {X: Field{[10]uint32{0x016943e8, 0x0283d6d2, 0x005a5ded, 0x0319f9cf, 0x031d6f1f, 0x0063c188, 0x03234aa1, 0x02e101e4, 0x00c8280b, 0x0035a2a0}}, Y: Field{[10]uint32{0x03133120, 0x0321099a, 0x0295a294, 0x023de114, 0x035b0e7b, 0x01ec38a2, 0x00b1f917, 0x021b4031, 0x01fff4b5, 0x0036e2ea}}}, + }, + { + {X: Field{[10]uint32{0x016943e8, 0x0283d6d2, 0x005a5ded, 0x0319f9cf, 0x031d6f1f, 0x0063c188, 0x03234aa1, 0x02e101e4, 0x00c8280b, 0x0035a2a0}}, Y: Field{[10]uint32{0x03133120, 0x0321099a, 0x0295a294, 0x023de114, 0x035b0e7b, 0x01ec38a2, 0x00b1f917, 0x021b4031, 0x01fff4b5, 0x0036e2ea}}}, + {X: Field{[10]uint32{0x0012b6fd, 0x02888b29, 0x02b828bd, 0x00f1bdc0, 0x00aced05, 0x01d48dcf, 0x02f8efb3, 0x0102f900, 0x009c677a, 0x003c5a90}}, Y: Field{[10]uint32{0x00a052da, 0x036b9dfb, 0x03ca4268, 0x0164927a, 0x02165406, 0x0138c393, 0x026a75a7, 0x009e675e, 0x01171453, 0x000a904c}}}, + {X: Field{[10]uint32{0x00a1c4f9, 0x010aa863, 0x0228235b, 0x00d32adf, 0x004f4efe, 0x0187c5bd, 0x000b83da, 0x01ca3131, 0x038f22bd, 0x001e057d}}, Y: Field{[10]uint32{0x0378bc15, 0x007a8dad, 0x011e19ab, 0x039855df, 0x015cb42d, 0x011630d7, 0x0193cf31, 0x02bda9f7, 0x01e8cd39, 0x00307180}}}, + {X: Field{[10]uint32{0x026dd4e4, 0x0282db8c, 0x018325c1, 0x00bdafb6, 0x01b89f4f, 0x025dbe13, 0x0237f699, 0x01bd0bef, 0x0106ab76, 0x0010552d}}, Y: Field{[10]uint32{0x035ded1c, 0x0164a541, 0x02dd46c8, 0x03674788, 0x02414ea9, 0x004097fd, 0x006e44d6, 0x02622253, 0x035043c5, 0x0008eb41}}}, + {X: Field{[10]uint32{0x028c8530, 0x01b870fb, 0x00d8e6d2, 0x0207be3d, 0x01512df6, 0x005a9b1b, 0x0377c640, 0x01005db8, 0x03cda0ec, 0x0030e49c}}, Y: Field{[10]uint32{0x018446c7, 0x00c3c3de, 0x01715c40, 0x02f68bbb, 0x0050edfc, 0x0070c666, 0x001d3944, 0x00f23a74, 0x02425743, 0x0023106f}}}, + {X: Field{[10]uint32{0x03ed5996, 0x0133a2d0, 0x02f53bde, 0x01664d82, 0x006831fe, 0x00a06e49, 0x02fbc903, 0x0293a924, 0x03e9fe99, 0x000691ad}}, Y: Field{[10]uint32{0x00c85cae, 0x013b447a, 0x0345c2ee, 0x02a7bd49, 0x01508794, 0x0018fafd, 0x03ee084a, 0x03715c38, 0x001ea3f1, 0x001a0f3a}}}, + {X: Field{[10]uint32{0x037a26c1, 0x00902ec8, 0x036a531f, 0x0163036f, 0x01166c6e, 0x00740ec9, 0x0122431c, 0x0046c09d, 0x0047f584, 0x00368c5d}}, Y: Field{[10]uint32{0x00f74d6f, 0x020dbb3b, 0x01525f51, 0x03175ea0, 0x03d36836, 0x0096762d, 0x0384167c, 0x0231a748, 0x03b87f5d, 0x001d4ee5}}}, + {X: Field{[10]uint32{0x037f0246, 0x0069e98f, 0x03ddf4c5, 0x0127f1c9, 0x0293e86e, 0x02d655ba, 0x00a8d4d0, 0x02570420, 0x012769cc, 0x002dcf19}}, Y: Field{[10]uint32{0x022a407b, 0x0394593a, 0x014e5597, 0x03931b95, 0x021a0d72, 0x016db07a, 0x0135893c, 0x032a752d, 0x03107174, 0x002699f6}}}, + {X: Field{[10]uint32{0x0339dc49, 0x018a2a4d, 0x01603d2b, 0x03699bd5, 0x02239392, 0x02ffc8c6, 0x024ac508, 0x0039b041, 0x02cb02af, 0x001a92f9}}, Y: Field{[10]uint32{0x02edd5cf, 0x028ae77c, 0x00a4d3e6, 0x0132c529, 0x00ab7e2b, 0x003ea016, 0x00166e36, 0x001d65f7, 0x03aa2a89, 0x003c5763}}}, + {X: Field{[10]uint32{0x00f8fb8c, 0x026fe776, 0x01e148ad, 0x026ea96f, 0x014cdc2b, 0x031cc044, 0x012facb5, 0x00803254, 0x027060d8, 0x000d966e}}, Y: Field{[10]uint32{0x00c8a3d1, 0x011ae31f, 0x0313575e, 0x0353912e, 0x031e142e, 0x031d261f, 0x01725f8e, 0x00685c4e, 0x01e806e0, 0x0013b9ea}}}, + {X: Field{[10]uint32{0x02987fac, 0x03a28311, 0x02f6798b, 0x021902a1, 0x008bc90f, 0x03b2628f, 0x02982603, 0x01fc4d13, 0x029f13ae, 0x00007df1}}, Y: Field{[10]uint32{0x01174c68, 0x0079ce06, 0x03c263f9, 0x038867da, 0x01cb7f5d, 0x00a6adbe, 0x031036e3, 0x0288b796, 0x003f36fd, 0x002753b3}}}, + {X: Field{[10]uint32{0x022e607b, 0x034d673b, 0x036aa1f4, 0x03b1b03c, 0x0388aa1e, 0x015ff74a, 0x01111f56, 0x01dcb083, 0x0367fd31, 0x0001dccf}}, Y: Field{[10]uint32{0x00614763, 0x03cc4773, 0x017d26a2, 0x03816f80, 0x0089e3bd, 0x02ec55bd, 0x0263a8c5, 0x020a17ab, 0x00fbac17, 0x003f67fa}}}, + {X: Field{[10]uint32{0x02daba4d, 0x00e86f5d, 0x016261d3, 0x003880c6, 0x039c65fb, 0x023e8af2, 0x03062edd, 0x034e072d, 0x0001761f, 0x00155fa5}}, Y: Field{[10]uint32{0x03a52316, 0x01d286ed, 0x0190a513, 0x03d7e90d, 0x02c5e9b8, 0x01732f21, 0x0135cfa1, 0x029f811b, 0x033a601f, 0x001e9fa3}}}, + {X: Field{[10]uint32{0x0005fbdd, 0x00b6734f, 0x001396e2, 0x0149d392, 0x0279589d, 0x01abe80c, 0x0120654b, 0x003120e2, 0x010a0031, 0x0038f91d}}, Y: Field{[10]uint32{0x0135b883, 0x0088c745, 0x02ffbcba, 0x02ff173e, 0x00b46587, 0x01868481, 0x02350499, 0x00964014, 0x0301abad, 0x0003e9e5}}}, + {X: Field{[10]uint32{0x01f5341a, 0x03d4bfca, 0x036b8038, 0x00b19a58, 0x019cc7a3, 0x01ec4050, 0x029d40ea, 0x0216a4ec, 0x02821998, 0x000eb6b6}}, Y: Field{[10]uint32{0x0186c6cc, 0x016024d9, 0x00fbcb51, 0x0396d17a, 0x03e9d6d2, 0x01aac405, 0x02e35bf3, 0x00da7d54, 0x02228999, 0x002ffa87}}}, + {X: Field{[10]uint32{0x028d3d5d, 0x016603f0, 0x01cea409, 0x02e5cd12, 0x009612ae, 0x001e8c2c, 0x01c02709, 0x0201094b, 0x017df65c, 0x000c92bb}}, Y: Field{[10]uint32{0x02ab7c84, 0x00892be5, 0x02843967, 0x0031f8cc, 0x0319213b, 0x02bb07d3, 0x030c0c35, 0x007cbfc4, 0x025774b6, 0x0019228d}}}, + }, + { + {X: Field{[10]uint32{0x028d3d5d, 0x016603f0, 0x01cea409, 0x02e5cd12, 0x009612ae, 0x001e8c2c, 0x01c02709, 0x0201094b, 0x017df65c, 0x000c92bb}}, Y: Field{[10]uint32{0x02ab7c84, 0x00892be5, 0x02843967, 0x0031f8cc, 0x0319213b, 0x02bb07d3, 0x030c0c35, 0x007cbfc4, 0x025774b6, 0x0019228d}}}, + {X: Field{[10]uint32{0x02919749, 0x00e0e06c, 0x01b1fa8f, 0x012a3783, 0x03f72b3e, 0x02035c80, 0x01326818, 0x012408a3, 0x031ea26f, 0x000cb24c}}, Y: Field{[10]uint32{0x0290b5e3, 0x03a5ec3c, 0x02b09631, 0x02f6b8e6, 0x00268a4a, 0x01bcf6ee, 0x01a2f02b, 0x0272d5a5, 0x032b3420, 0x0035f349}}}, + {X: Field{[10]uint32{0x03d53ed3, 0x0245d60b, 0x02ccef5c, 0x03ee7695, 0x01163f74, 0x0077df12, 0x00f60b93, 0x01cab56e, 0x03d59967, 0x00082102}}, Y: Field{[10]uint32{0x027a7132, 0x010ff946, 0x00899871, 0x01ce539c, 0x025487c4, 0x01aebeb0, 0x03bd476a, 0x02090d21, 0x0097cec1, 0x003ca64d}}}, + {X: Field{[10]uint32{0x039795e4, 0x0308949e, 0x02b8e1e1, 0x02db8611, 0x0069c161, 0x03fb1ac7, 0x002f6a70, 0x00de1528, 0x033b3b98, 0x003aca4b}}, Y: Field{[10]uint32{0x0253a0fe, 0x03a74beb, 0x01c6f5b7, 0x01d42444, 0x0357131d, 0x005160d6, 0x016634af, 0x02fa005a, 0x025a96ee, 0x002310f0}}}, + {X: Field{[10]uint32{0x00a35b35, 0x00b2ed62, 0x0121edbd, 0x02297028, 0x011ab5d8, 0x01623aff, 0x013d029e, 0x00e6eef4, 0x03f60eb3, 0x0039adaf}}, Y: Field{[10]uint32{0x001007bd, 0x00a4f6e7, 0x019c7c57, 0x0274efa6, 0x01fe3b6c, 0x00d65877, 0x02f43e38, 0x034bcc99, 0x02bd3300, 0x000697fc}}}, + {X: Field{[10]uint32{0x0032f9a2, 0x02e38a48, 0x006ccc48, 0x0143e87f, 0x03ce566f, 0x007fe3d8, 0x02374cb3, 0x009903b4, 0x02bd9a6b, 0x00096ab1}}, Y: Field{[10]uint32{0x0351d4f0, 0x008c284a, 0x033d9e76, 0x02ef1067, 0x02559883, 0x013c643d, 0x0332f54f, 0x0151b05b, 0x023ba644, 0x003d69b1}}}, + {X: Field{[10]uint32{0x00360dd3, 0x03be34b0, 0x022090d4, 0x00db6143, 0x0347a8a8, 0x038338ee, 0x030b8086, 0x0266ca22, 0x03745be4, 0x003814c5}}, Y: Field{[10]uint32{0x0024f87b, 0x03b3644f, 0x03dc2b2a, 0x037a6040, 0x0061b987, 0x016da805, 0x0009582b, 0x00bce736, 0x0371a5d9, 0x0037070e}}}, + {X: Field{[10]uint32{0x01303fdd, 0x00e755e2, 0x02d35aea, 0x01fc6747, 0x014d7145, 0x00127ef8, 0x020d4310, 0x017bcb98, 0x0201df3b, 0x0029968e}}, Y: Field{[10]uint32{0x02e68703, 0x0112a340, 0x013cadad, 0x00093ebb, 0x0286861d, 0x003b4b1d, 0x0343d8d9, 0x0171bee3, 0x00940cff, 0x001e63a8}}}, + {X: Field{[10]uint32{0x0098dfea, 0x011998b4, 0x038797c1, 0x0324ba99, 0x03fadcb3, 0x020e9795, 0x018e5d2a, 0x01b16780, 0x033a7788, 0x002a054e}}, Y: Field{[10]uint32{0x026d892f, 0x026a77db, 0x034158a4, 0x03dd0b6b, 0x03b1b5e0, 0x01e14f80, 0x018db9c5, 0x0183f14f, 0x016461d0, 0x000a91ce}}}, + {X: Field{[10]uint32{0x024c9489, 0x00c354b4, 0x00a98616, 0x039b8539, 0x00c0aef4, 0x01ba754a, 0x027887ff, 0x019f0a68, 0x0315d9d5, 0x0018a06e}}, Y: Field{[10]uint32{0x01f42bc6, 0x01fc9ae7, 0x033ad918, 0x01374c86, 0x0145fd96, 0x01ba6efd, 0x02738f45, 0x02a19648, 0x01a0908d, 0x000bf4f1}}}, + {X: Field{[10]uint32{0x03cecfa5, 0x039de922, 0x03b020a7, 0x03686c5a, 0x032a0d62, 0x00e3b68e, 0x034695c6, 0x02b76b7a, 0x03b30fec, 0x0013c170}}, Y: Field{[10]uint32{0x01d37b53, 0x034092a5, 0x008cd2ec, 0x00c7c06d, 0x01447ee4, 0x01654d2e, 0x01632361, 0x0109beb7, 0x01ea603d, 0x0014e926}}}, + {X: Field{[10]uint32{0x00445a7a, 0x00c72ea5, 0x01ec5901, 0x03c2073c, 0x01df9535, 0x01807235, 0x02f11b6c, 0x031afec4, 0x03bc9f06, 0x003e0bfb}}, Y: Field{[10]uint32{0x002a7a98, 0x02b38619, 0x011e5963, 0x02d91903, 0x00b51c83, 0x02502d29, 0x003942c1, 0x01ad9d54, 0x03bdc6fb, 0x00252ecd}}}, + {X: Field{[10]uint32{0x004b96aa, 0x039d9642, 0x03cce461, 0x00d548aa, 0x02d02986, 0x028ee603, 0x02405e1a, 0x02a46f89, 0x02b99f67, 0x00364c26}}, Y: Field{[10]uint32{0x02b28a86, 0x0313cdf0, 0x02978f26, 0x03eebf3f, 0x03d3b6c9, 0x009d32d7, 0x0210f066, 0x03155f5f, 0x032a9b4e, 0x001bbe66}}}, + {X: Field{[10]uint32{0x02b7d2d5, 0x03750ac5, 0x02a66f6f, 0x0134755b, 0x022637b8, 0x00bbd40b, 0x030f3d32, 0x01080f20, 0x03aa9783, 0x0028a16a}}, Y: Field{[10]uint32{0x0001f99c, 0x01754be4, 0x013e9c40, 0x0086dadd, 0x02d86573, 0x0042cb8a, 0x03952dfe, 0x01eb1a4a, 0x0292cd1b, 0x00395ba5}}}, + {X: Field{[10]uint32{0x038fcf0e, 0x02e34167, 0x026facf7, 0x03f79f12, 0x01d65b6f, 0x03aa8d04, 0x01c3446d, 0x00b4d6ea, 0x00a13856, 0x001f561f}}, Y: Field{[10]uint32{0x00bc9459, 0x03068276, 0x0380a501, 0x002b4c8d, 0x00c46390, 0x033f5ab4, 0x023400b6, 0x0131849c, 0x00038830, 0x0029ca57}}}, + {X: Field{[10]uint32{0x01054c96, 0x02f4dcff, 0x00a888e8, 0x00eea347, 0x00eec414, 0x017fb977, 0x011dfdbe, 0x03987db5, 0x014919cd, 0x00137e70}}, Y: Field{[10]uint32{0x02d10d5d, 0x02eb01b2, 0x0090192e, 0x03370a21, 0x00b5d506, 0x02876175, 0x00974c23, 0x021ca014, 0x0051092d, 0x00000d7b}}}, + }, + { + {X: Field{[10]uint32{0x01054c96, 0x02f4dcff, 0x00a888e8, 0x00eea347, 0x00eec414, 0x017fb977, 0x011dfdbe, 0x03987db5, 0x014919cd, 0x00137e70}}, Y: Field{[10]uint32{0x02d10d5d, 0x02eb01b2, 0x0090192e, 0x03370a21, 0x00b5d506, 0x02876175, 0x00974c23, 0x021ca014, 0x0051092d, 0x00000d7b}}}, + {X: Field{[10]uint32{0x01a49e04, 0x01ac3f07, 0x00d70c0c, 0x015395ea, 0x00e9de45, 0x012e1c22, 0x01317d4e, 0x02663349, 0x02d8d2cc, 0x003b4cb2}}, Y: Field{[10]uint32{0x001db9e0, 0x0048345f, 0x02b7db63, 0x02b2d27e, 0x0352da9f, 0x02167482, 0x001ca375, 0x00081295, 0x035f1d03, 0x0004a7fb}}}, + {X: Field{[10]uint32{0x01ef001d, 0x00897697, 0x0227ef4f, 0x035a626e, 0x0321f9bb, 0x0278ed92, 0x020bd1c0, 0x00b2bc83, 0x032db27e, 0x00295268}}, Y: Field{[10]uint32{0x00624783, 0x036c69fc, 0x0305add5, 0x00a98b25, 0x02eb141e, 0x02296515, 0x00cc30ed, 0x019b2f7d, 0x027906d9, 0x001e66de}}}, + {X: Field{[10]uint32{0x0083f855, 0x0106353a, 0x00016cb7, 0x032d8f0d, 0x0228c36d, 0x031c0d9b, 0x009e4111, 0x0183c601, 0x03724d63, 0x003a086a}}, Y: Field{[10]uint32{0x01852ddf, 0x03831a96, 0x023efed4, 0x031853b0, 0x018b3b19, 0x0105b3d6, 0x010d4115, 0x00f38d9f, 0x03f863f5, 0x002b7bf2}}}, + {X: Field{[10]uint32{0x012ed4cb, 0x03bc7971, 0x02c5a05a, 0x03ecf027, 0x02c954de, 0x00d4cb9b, 0x0308bd98, 0x03b3448f, 0x0330da07, 0x001f9e63}}, Y: Field{[10]uint32{0x00bb9462, 0x005981e5, 0x037a1257, 0x006ffe7c, 0x03b17357, 0x03bcbc15, 0x01a9549d, 0x02b20c10, 0x00c4a24d, 0x00348f73}}}, + {X: Field{[10]uint32{0x0206e37a, 0x01de2b10, 0x00731a24, 0x02523141, 0x034d8c18, 0x02d689d3, 0x00e83f46, 0x02000b3d, 0x0387f286, 0x002d49aa}}, Y: Field{[10]uint32{0x00c5ccab, 0x019e3ffc, 0x0392abf3, 0x026c03e8, 0x0128ce53, 0x0029bc63, 0x00aaced6, 0x00363b57, 0x01d77810, 0x001907cd}}}, + {X: Field{[10]uint32{0x03630834, 0x00e83ef4, 0x00067fdf, 0x00a18f6b, 0x008463f1, 0x02a32042, 0x01b9e96b, 0x011e0eb5, 0x02003151, 0x000893e8}}, Y: Field{[10]uint32{0x007a2272, 0x0311cdf1, 0x00f75cd3, 0x013b0294, 0x013d6292, 0x0247427d, 0x00b70fa3, 0x036970f1, 0x0232bb3e, 0x002ef953}}}, + {X: Field{[10]uint32{0x0041742e, 0x03d67bad, 0x006e9fbf, 0x011ebce0, 0x032f14a5, 0x0325a4e9, 0x015452fb, 0x03484bd1, 0x0194e51a, 0x000fc362}}, Y: Field{[10]uint32{0x03ecadbe, 0x014d8ef3, 0x03d958c6, 0x00b0eb44, 0x031e205e, 0x011e9b82, 0x025cb0e8, 0x00f71117, 0x0023f28c, 0x003ef5db}}}, + {X: Field{[10]uint32{0x003c19d7, 0x01927456, 0x0357bb67, 0x0116b0b3, 0x02bbbb5e, 0x0108a3bc, 0x01a25cce, 0x00e7904a, 0x00cc600a, 0x0030b528}}, Y: Field{[10]uint32{0x0107928d, 0x00a2e0b1, 0x01c9772f, 0x020c5cd1, 0x0126804a, 0x03d04983, 0x0183b5f7, 0x018a5350, 0x00f9c080, 0x00196b68}}}, + {X: Field{[10]uint32{0x01848116, 0x01507957, 0x027bba04, 0x0003f278, 0x001cc9b1, 0x03a52115, 0x0072ce10, 0x034ef814, 0x019abb39, 0x0005a4de}}, Y: Field{[10]uint32{0x027198b3, 0x03d9b080, 0x012e483d, 0x03971366, 0x02c03193, 0x01b1837b, 0x02af60f1, 0x03631539, 0x033b9cb2, 0x00312710}}}, + {X: Field{[10]uint32{0x00940c9a, 0x0202b52f, 0x0233084c, 0x0384ebd0, 0x0113cf3c, 0x01137708, 0x01585e27, 0x03cc6439, 0x027ec305, 0x000bb08a}}, Y: Field{[10]uint32{0x011e7a4d, 0x0253f661, 0x01bdacd1, 0x020f668d, 0x03124051, 0x00a71ffa, 0x02e24f50, 0x01e5a130, 0x0068de33, 0x0022c769}}}, + {X: Field{[10]uint32{0x01d9123f, 0x00e0c7ae, 0x03a7d7e9, 0x006c7e22, 0x0129fc79, 0x03ef47a4, 0x015f8eca, 0x01a9bcbe, 0x038f72aa, 0x000d06d4}}, Y: Field{[10]uint32{0x00bb9a40, 0x0282abc6, 0x026ed19e, 0x029c14a8, 0x0072dee6, 0x0049366b, 0x02f2f041, 0x03167ae9, 0x024719c1, 0x00161604}}}, + {X: Field{[10]uint32{0x01683eeb, 0x003b97f7, 0x03133aa7, 0x00e28234, 0x033e36eb, 0x00212e3c, 0x01af6525, 0x0233b2ac, 0x01738f9a, 0x002bf19a}}, Y: Field{[10]uint32{0x00cd4509, 0x00a72acc, 0x01fdc91e, 0x015497b7, 0x02570bab, 0x0288e705, 0x0359c7fc, 0x009d4af0, 0x01976dd2, 0x00000b08}}}, + {X: Field{[10]uint32{0x03aad77f, 0x001ec731, 0x03b7fa7d, 0x037c3d69, 0x006d4ebb, 0x01da659c, 0x004afc3a, 0x02e378ca, 0x033ec68e, 0x0013c3aa}}, Y: Field{[10]uint32{0x00e6eea8, 0x00fc4773, 0x0092ce6c, 0x0234096b, 0x00adaa07, 0x00ab0bca, 0x008de306, 0x02dd5d68, 0x027176eb, 0x002ca3a8}}}, + {X: Field{[10]uint32{0x036f4293, 0x0007e1ed, 0x01139ea2, 0x02d594f1, 0x0210e978, 0x01c2ca0b, 0x01bc8cf3, 0x00cc2448, 0x035a9f34, 0x0034955e}}, Y: Field{[10]uint32{0x0282740a, 0x0061e894, 0x01a5f1db, 0x00e37901, 0x03e34b68, 0x02d2b487, 0x0282f06e, 0x009fc049, 0x034355e4, 0x0029e1ec}}}, + {X: Field{[10]uint32{0x001f98cd, 0x0326722b, 0x00308cbf, 0x001535fc, 0x01523489, 0x03319808, 0x02d8a9c1, 0x0121c3eb, 0x01a84a47, 0x00270e46}}, Y: Field{[10]uint32{0x00fc599d, 0x039780f5, 0x008e6be7, 0x03ddb193, 0x01905326, 0x00983990, 0x00f044bf, 0x03755d61, 0x030f4a4d, 0x00376e13}}}, + }, + { + {X: Field{[10]uint32{0x001f98cd, 0x0326722b, 0x00308cbf, 0x001535fc, 0x01523489, 0x03319808, 0x02d8a9c1, 0x0121c3eb, 0x01a84a47, 0x00270e46}}, Y: Field{[10]uint32{0x00fc599d, 0x039780f5, 0x008e6be7, 0x03ddb193, 0x01905326, 0x00983990, 0x00f044bf, 0x03755d61, 0x030f4a4d, 0x00376e13}}}, + {X: Field{[10]uint32{0x014a09ec, 0x03bededa, 0x035f0435, 0x0294fa14, 0x000cd326, 0x01724aa9, 0x002fc69d, 0x03603c29, 0x01326255, 0x000b8f01}}, Y: Field{[10]uint32{0x00c7327e, 0x0121a062, 0x02651253, 0x00f1c1ed, 0x03e048a5, 0x020bf06a, 0x01ae240b, 0x01bed6f7, 0x0091656c, 0x000007fe}}}, + {X: Field{[10]uint32{0x03b64db3, 0x026354e3, 0x0138417b, 0x0328e775, 0x02a7ede4, 0x0394ee35, 0x03bb83fb, 0x0332dd02, 0x039229bd, 0x00304508}}, Y: Field{[10]uint32{0x000259be, 0x0033a7ff, 0x027d1e23, 0x02413515, 0x01a87580, 0x03a5e2f4, 0x00ecde4f, 0x01bf0a97, 0x02dc5b48, 0x00048dfd}}}, + {X: Field{[10]uint32{0x039c7ce6, 0x03c668aa, 0x00934205, 0x005a8642, 0x00337103, 0x03893769, 0x015fb7e3, 0x00561eb8, 0x024ccfa4, 0x003a38a8}}, Y: Field{[10]uint32{0x0036267c, 0x0007ada2, 0x03a73b2c, 0x000ed709, 0x016e09e6, 0x02fb8816, 0x02f2b2b3, 0x01746d32, 0x03ce0c6f, 0x0011b260}}}, + {X: Field{[10]uint32{0x03081e46, 0x03b60d00, 0x019ea1ed, 0x02315515, 0x013a5221, 0x02498d1c, 0x02d9c2c1, 0x01c89020, 0x03f831a7, 0x001b16d2}}, Y: Field{[10]uint32{0x03fbcd70, 0x03e72e02, 0x02a62ed1, 0x0209ab08, 0x0041d0cf, 0x038af91e, 0x0347863c, 0x0350bec8, 0x03714926, 0x0032c144}}}, + {X: Field{[10]uint32{0x011349e2, 0x00cab77c, 0x00c05808, 0x03d05d49, 0x0160e3ec, 0x0106b5e3, 0x02147e9a, 0x030b9f98, 0x0324c6b9, 0x003e0160}}, Y: Field{[10]uint32{0x032025fc, 0x0311a796, 0x0288d5fa, 0x02d589b7, 0x03509498, 0x03a84488, 0x0281aa60, 0x015b3737, 0x025a0a88, 0x00257183}}}, + {X: Field{[10]uint32{0x024dcd4b, 0x0396bb11, 0x00124dca, 0x03566447, 0x010c30c7, 0x02ac4291, 0x0270665c, 0x02b792d5, 0x0056670c, 0x00387a6a}}, Y: Field{[10]uint32{0x03041f2c, 0x02d897ae, 0x02b292d0, 0x026ab285, 0x027f44d1, 0x02c95de4, 0x02c43599, 0x0314c6de, 0x02954455, 0x00158ac2}}}, + {X: Field{[10]uint32{0x02c7b3c2, 0x034e59a2, 0x01b5f5b0, 0x0248e0f5, 0x0212acaf, 0x01c00ca8, 0x030a38b1, 0x01cf0acb, 0x02ac5d85, 0x0029d526}}, Y: Field{[10]uint32{0x0287eaef, 0x03245c64, 0x016dffa0, 0x00554dc4, 0x035d6b51, 0x00651f4a, 0x01a1d70c, 0x009054cd, 0x01b90d1c, 0x002f45f4}}}, + {X: Field{[10]uint32{0x03add73c, 0x021dbf8a, 0x00b7d005, 0x03640a99, 0x008fd9cd, 0x03b70508, 0x00a74e42, 0x02c265de, 0x0257ad11, 0x00146c86}}, Y: Field{[10]uint32{0x0336d8d1, 0x0352b87a, 0x034ba6f7, 0x003ca31c, 0x026c2013, 0x034b073e, 0x00a07f01, 0x034f9755, 0x0010001f, 0x00001e4c}}}, + {X: Field{[10]uint32{0x017e2c95, 0x037265af, 0x00d82ab7, 0x02852e1e, 0x036f3f2b, 0x02b15055, 0x019a12a8, 0x034697b7, 0x03fbb24a, 0x003281f2}}, Y: Field{[10]uint32{0x0150dfa2, 0x0266eb23, 0x00cbf05e, 0x03ccedf8, 0x013ac306, 0x030419b2, 0x00a2267b, 0x003b7d2a, 0x011032df, 0x002bb70c}}}, + {X: Field{[10]uint32{0x0309f34b, 0x01742dce, 0x026ce6d7, 0x03982331, 0x01e58873, 0x00fce758, 0x02b6296f, 0x02de6186, 0x03a63b1c, 0x0025c07c}}, Y: Field{[10]uint32{0x00df5793, 0x03214330, 0x00794acd, 0x00e5ff73, 0x037104bc, 0x0055a0cd, 0x03031b53, 0x003b4575, 0x03bb8caf, 0x000f7512}}}, + {X: Field{[10]uint32{0x02548418, 0x01c7446b, 0x03923173, 0x01f62260, 0x02dce488, 0x00de8d06, 0x03072b05, 0x01f8a4be, 0x00c9e481, 0x000b9b6c}}, Y: Field{[10]uint32{0x00a2b918, 0x01e4b004, 0x035f1e69, 0x01cf870f, 0x004b8e1d, 0x022a4459, 0x01314897, 0x01befe88, 0x02411d77, 0x001d3ada}}}, + {X: Field{[10]uint32{0x031e2f46, 0x039888ef, 0x0383015c, 0x007a1c9d, 0x035270f7, 0x00358f15, 0x01592e04, 0x019b3111, 0x001d2c9e, 0x00280dad}}, Y: Field{[10]uint32{0x02ffb349, 0x00789a57, 0x031f4f73, 0x020b3fc2, 0x010680e2, 0x01e7ac23, 0x031f6aa4, 0x01acf5f7, 0x01a003e9, 0x0030efe4}}}, + {X: Field{[10]uint32{0x03db2a09, 0x00154580, 0x01bbf096, 0x021f7080, 0x01f63142, 0x029d9b68, 0x01638800, 0x0030d4af, 0x0004d9c3, 0x002c2773}}, Y: Field{[10]uint32{0x00b1a093, 0x01f6cea0, 0x014e7aed, 0x035305ab, 0x026a951b, 0x02bab403, 0x008d1635, 0x009037dc, 0x006481cf, 0x00229fcc}}}, + {X: Field{[10]uint32{0x004cea08, 0x022e40e3, 0x0221dbcd, 0x02e8383a, 0x02654b58, 0x01001194, 0x00a61153, 0x023141bd, 0x02dbaa4e, 0x001aa17e}}, Y: Field{[10]uint32{0x0062f4f3, 0x037b3966, 0x021b6a19, 0x012d0f5c, 0x00b4271a, 0x023f988c, 0x01933c14, 0x0196754c, 0x0204bae4, 0x00002d91}}}, + {X: Field{[10]uint32{0x00a959e5, 0x004e0848, 0x014cc5a2, 0x00ea2e47, 0x0391e149, 0x036381ae, 0x0205f281, 0x00bf7e37, 0x030b1dd1, 0x001815c5}}, Y: Field{[10]uint32{0x0385a2a8, 0x026fa4c8, 0x00c65e89, 0x02f0fb89, 0x02465152, 0x01c77c98, 0x019a2daf, 0x01201eb7, 0x00b26a6a, 0x002686bc}}}, + }, + { + {X: Field{[10]uint32{0x00a959e5, 0x004e0848, 0x014cc5a2, 0x00ea2e47, 0x0391e149, 0x036381ae, 0x0205f281, 0x00bf7e37, 0x030b1dd1, 0x001815c5}}, Y: Field{[10]uint32{0x0385a2a8, 0x026fa4c8, 0x00c65e89, 0x02f0fb89, 0x02465152, 0x01c77c98, 0x019a2daf, 0x01201eb7, 0x00b26a6a, 0x002686bc}}}, + {X: Field{[10]uint32{0x02fd545c, 0x02729760, 0x00e66189, 0x0237528a, 0x037c133f, 0x01b72177, 0x014110a4, 0x0381900e, 0x01677c52, 0x0019dcff}}, Y: Field{[10]uint32{0x007eb1ae, 0x01fc0d25, 0x00f98e8c, 0x03d6871b, 0x03ead780, 0x034ac91a, 0x00f25c9d, 0x0194bc3c, 0x02d8cd97, 0x001113ad}}}, + {X: Field{[10]uint32{0x031c032b, 0x036858a5, 0x01c980d4, 0x02285ebf, 0x01ff6b66, 0x03f1d9b1, 0x0111b5fd, 0x000980f7, 0x00fcd6e0, 0x001c7aea}}, Y: Field{[10]uint32{0x0268359f, 0x02d6a385, 0x00755e7a, 0x0345dd2d, 0x0371931a, 0x01532edf, 0x0260516f, 0x034e77bd, 0x02624b61, 0x0034bfc4}}}, + {X: Field{[10]uint32{0x0386f021, 0x03185ac2, 0x00050373, 0x00e0411a, 0x020374e4, 0x038321f0, 0x03c79aac, 0x0395948d, 0x0194d17c, 0x00383e1b}}, Y: Field{[10]uint32{0x01bf325a, 0x02de732d, 0x0045b3b6, 0x0300457f, 0x009a80bc, 0x0072268b, 0x011e832f, 0x02f3d1ea, 0x0073730a, 0x000315c7}}}, + {X: Field{[10]uint32{0x0203a61c, 0x0391d14a, 0x00574d06, 0x03d1a41c, 0x00507868, 0x02aaa774, 0x0217442b, 0x02748cb2, 0x0305b324, 0x002157b0}}, Y: Field{[10]uint32{0x025dfc07, 0x031baab1, 0x004965df, 0x013a85f9, 0x02d332f7, 0x02d0bed3, 0x003cbff9, 0x00705fd5, 0x012ec5f0, 0x00037617}}}, + {X: Field{[10]uint32{0x02aa138b, 0x00367dce, 0x02cd66df, 0x002fbde1, 0x0363efba, 0x03119c7f, 0x003ebc18, 0x02b8a1e5, 0x0249d3c3, 0x00105ff8}}, Y: Field{[10]uint32{0x021ae869, 0x0246ccd2, 0x026afd1c, 0x037b0155, 0x03c19daf, 0x003ea795, 0x00a5d29f, 0x00f8e308, 0x01d7bcd2, 0x00008d62}}}, + {X: Field{[10]uint32{0x0332d706, 0x03029207, 0x00678b00, 0x0291d1a8, 0x020618cc, 0x00256fe8, 0x010d29a3, 0x03efc7c5, 0x006abab3, 0x000f3912}}, Y: Field{[10]uint32{0x007fd9e4, 0x01cd8dff, 0x0289f40b, 0x010f3587, 0x02edd156, 0x00425241, 0x02fd046b, 0x01e14a23, 0x008daae3, 0x0039dd50}}}, + {X: Field{[10]uint32{0x02da6e03, 0x001dcb00, 0x016038ad, 0x03e4232b, 0x034c277d, 0x035a5bd3, 0x0191e193, 0x0141073a, 0x01ab9f24, 0x0010b285}}, Y: Field{[10]uint32{0x00347793, 0x02227ea3, 0x03ea7836, 0x029a041a, 0x02d66e85, 0x032e003b, 0x03ce4d1f, 0x015f2591, 0x0326c81c, 0x001a34bb}}}, + {X: Field{[10]uint32{0x011cd3fb, 0x01032ede, 0x03e686db, 0x03f65ca6, 0x034a2a33, 0x03e2113a, 0x02e03218, 0x00dfebc0, 0x01143f4e, 0x00047331}}, Y: Field{[10]uint32{0x01160d86, 0x01c5ae95, 0x03472a93, 0x03f4b374, 0x01fa0b1e, 0x00e3308e, 0x028e2449, 0x00477ad4, 0x032a902b, 0x0012a95a}}}, + {X: Field{[10]uint32{0x01583a3e, 0x02ebc10a, 0x02808108, 0x02662c55, 0x00b15205, 0x036521c7, 0x0275dbbe, 0x03df955c, 0x033f16d0, 0x00162255}}, Y: Field{[10]uint32{0x025b124f, 0x016632df, 0x029cf8f1, 0x01335331, 0x0096fe29, 0x0269ad39, 0x00f5df8a, 0x015bf811, 0x0062c558, 0x0006be8a}}}, + {X: Field{[10]uint32{0x018f7552, 0x02e44658, 0x00fac387, 0x022e6015, 0x01bd4113, 0x0208e0b7, 0x0397774f, 0x0271bd0e, 0x0317e514, 0x0000942e}}, Y: Field{[10]uint32{0x0110b14d, 0x0212588d, 0x02f1e3f0, 0x00f0ccf5, 0x03da006f, 0x03fa7605, 0x02d7df75, 0x020208d0, 0x00fc9bbe, 0x001cc64c}}}, + {X: Field{[10]uint32{0x0307e636, 0x0162d040, 0x011d97e1, 0x039cc858, 0x00b4a77d, 0x028844b2, 0x01bc29bd, 0x01d910f7, 0x01601638, 0x0008867c}}, Y: Field{[10]uint32{0x01f15109, 0x0286cb5c, 0x02f55e07, 0x0034fdce, 0x016dd723, 0x02e08c2f, 0x0006d4f1, 0x028bd86e, 0x00ac5cb6, 0x00012a61}}}, + {X: Field{[10]uint32{0x03725d12, 0x004fa4e7, 0x0347505d, 0x02ef72d7, 0x03d94642, 0x02808bef, 0x00a39ce0, 0x01ff4ead, 0x0088b346, 0x00069d27}}, Y: Field{[10]uint32{0x03ac56e4, 0x01945348, 0x01aa7013, 0x01a62643, 0x03607208, 0x00abcf63, 0x018be75c, 0x0038b3d1, 0x019573ec, 0x001fa474}}}, + {X: Field{[10]uint32{0x02c704c0, 0x00b59c2d, 0x0394f5d2, 0x0183b378, 0x00560446, 0x00d41e09, 0x027f8a6e, 0x0099d285, 0x0107c92f, 0x0029deaa}}, Y: Field{[10]uint32{0x02dfea48, 0x02f1c11f, 0x01462af8, 0x0311d056, 0x014c921f, 0x030af56a, 0x01e188e5, 0x033f93c8, 0x02e5bf35, 0x002e2206}}}, + {X: Field{[10]uint32{0x01fae458, 0x0012394a, 0x0097fd61, 0x0109d9bb, 0x028b0a5c, 0x037edecc, 0x01d156a5, 0x00863042, 0x005be0f8, 0x0031d41a}}, Y: Field{[10]uint32{0x0357b598, 0x01a10655, 0x011a2b01, 0x0140cd65, 0x000a5dca, 0x019cb1ed, 0x012f414c, 0x007817ed, 0x01f8cf92, 0x003ab5e5}}}, + {X: Field{[10]uint32{0x00b94266, 0x01a5cfbb, 0x01f12b1a, 0x03ee9f53, 0x0080cef0, 0x006368c6, 0x01439a45, 0x02104508, 0x038e23a0, 0x00295db7}}, Y: Field{[10]uint32{0x01b28ec8, 0x02f846b8, 0x019f3ee8, 0x029fd453, 0x00432e10, 0x0163360b, 0x02b97afe, 0x0102cb24, 0x0320e766, 0x001029af}}}, + }, + { + {X: Field{[10]uint32{0x00b94266, 0x01a5cfbb, 0x01f12b1a, 0x03ee9f53, 0x0080cef0, 0x006368c6, 0x01439a45, 0x02104508, 0x038e23a0, 0x00295db7}}, Y: Field{[10]uint32{0x01b28ec8, 0x02f846b8, 0x019f3ee8, 0x029fd453, 0x00432e10, 0x0163360b, 0x02b97afe, 0x0102cb24, 0x0320e766, 0x001029af}}}, + {X: Field{[10]uint32{0x02704896, 0x015c96f6, 0x03b8dcec, 0x018f26b3, 0x026f3ba0, 0x02f9c6eb, 0x02520867, 0x0168ed51, 0x0062ef3b, 0x00279773}}, Y: Field{[10]uint32{0x0282c835, 0x009da772, 0x0351248f, 0x006180c3, 0x0279605d, 0x0131d848, 0x03d3a215, 0x017cfa97, 0x012ddb92, 0x001bfb74}}}, + {X: Field{[10]uint32{0x019ed6c1, 0x02bad633, 0x013d6b68, 0x016f0f56, 0x02c24e74, 0x0017b743, 0x03fc1877, 0x03d4fa02, 0x036dcb74, 0x0000ca0c}}, Y: Field{[10]uint32{0x00fafeee, 0x01baf9be, 0x0094adec, 0x037c972d, 0x00265bf4, 0x00835f23, 0x02d5943a, 0x027ca311, 0x003812fd, 0x001c6a26}}}, + {X: Field{[10]uint32{0x00bf7ea0, 0x03b561d1, 0x01833953, 0x028173bd, 0x00e33625, 0x01bc0ec8, 0x016e9f97, 0x0116b7e3, 0x00375b87, 0x0029f782}}, Y: Field{[10]uint32{0x03bcabaa, 0x030154e6, 0x01aa2e04, 0x0303faf1, 0x02645a47, 0x012223a6, 0x004a0b33, 0x02979484, 0x02b057ad, 0x00298f65}}}, + {X: Field{[10]uint32{0x0235983a, 0x02a6a34c, 0x00eb2919, 0x00dc04ef, 0x01e38a10, 0x003f854c, 0x023926d7, 0x00715371, 0x02ae8b91, 0x003393d3}}, Y: Field{[10]uint32{0x013cdecf, 0x035ac643, 0x0340aecf, 0x008a3afd, 0x03526c65, 0x039c1d50, 0x02de0249, 0x03eeecfa, 0x0173c390, 0x003cf27e}}}, + {X: Field{[10]uint32{0x02da57e4, 0x01592299, 0x019f86b7, 0x01bbf737, 0x0298c499, 0x018c6f07, 0x01ea2a74, 0x0062e76f, 0x02e39839, 0x001a4336}}, Y: Field{[10]uint32{0x033f33bb, 0x00656d24, 0x023d42b6, 0x03ef3a56, 0x01f863d8, 0x01656253, 0x01fd91bf, 0x01e691ea, 0x0079677b, 0x002102b7}}}, + {X: Field{[10]uint32{0x01b0e6c9, 0x02aad995, 0x00c89a6d, 0x033de1b9, 0x01db5ff9, 0x037e2f2f, 0x0228fb36, 0x018889e3, 0x03a54b98, 0x00136faf}}, Y: Field{[10]uint32{0x02b2cc25, 0x029e1557, 0x00efae94, 0x02caf141, 0x03589311, 0x03888a7c, 0x01a626e6, 0x00ebb7d1, 0x03b03c91, 0x00043fb9}}}, + {X: Field{[10]uint32{0x02d916fb, 0x023e8412, 0x024a3a9f, 0x03f7a527, 0x03e68065, 0x0073fd32, 0x03c35ac0, 0x02032704, 0x018e6890, 0x00309999}}, Y: Field{[10]uint32{0x00887814, 0x03bd4ae8, 0x0138856a, 0x037fad84, 0x036b8fec, 0x009189ea, 0x0398170b, 0x036aac3d, 0x013854e7, 0x0039fa16}}}, + {X: Field{[10]uint32{0x01857295, 0x00068469, 0x03f0164e, 0x01fc0d0c, 0x0069c8e4, 0x02872848, 0x02e118fc, 0x0170862c, 0x000bfef4, 0x00290a89}}, Y: Field{[10]uint32{0x027eb9c1, 0x00ddffb2, 0x0139556b, 0x00b34546, 0x0027a1c2, 0x01376931, 0x026b22b2, 0x0175159e, 0x03f26100, 0x000ea82c}}}, + {X: Field{[10]uint32{0x005c5b40, 0x02f3f580, 0x03d1e269, 0x021e6ee7, 0x03150b96, 0x023330f7, 0x01ed382e, 0x0334536b, 0x00c8bf53, 0x00292d4f}}, Y: Field{[10]uint32{0x01c61bfd, 0x017b45b4, 0x019e3d1f, 0x026fdd49, 0x03199cca, 0x037f6961, 0x015ca003, 0x016e0112, 0x00ce8300, 0x0033bbc2}}}, + {X: Field{[10]uint32{0x03cdc098, 0x003fd55b, 0x02803222, 0x003dab91, 0x01550ae0, 0x00312670, 0x03f1f86c, 0x008899e9, 0x032f96fb, 0x000d384a}}, Y: Field{[10]uint32{0x027474e2, 0x02c6b79a, 0x003f664c, 0x00c3c662, 0x0304df51, 0x005e5cb6, 0x034cbc84, 0x034c8b65, 0x02ddd7b5, 0x002992b0}}}, + {X: Field{[10]uint32{0x00fb8036, 0x02262a97, 0x035085f9, 0x024b0368, 0x033ad09a, 0x03f59fa0, 0x02117dd1, 0x011ed22b, 0x0351fb16, 0x0033fd89}}, Y: Field{[10]uint32{0x00f59de0, 0x03ced689, 0x02825843, 0x0363d80c, 0x0278a589, 0x021850f1, 0x03e34b58, 0x00b46b17, 0x0126bd54, 0x00337d3b}}}, + {X: Field{[10]uint32{0x03173b92, 0x01bad7a3, 0x037611cd, 0x03d05a7e, 0x003b7e72, 0x03d3595a, 0x0231a218, 0x0247ca6f, 0x0240d9bb, 0x00043d34}}, Y: Field{[10]uint32{0x033146c2, 0x00801b58, 0x02db7c90, 0x0274521a, 0x0290bb76, 0x00ce422e, 0x01b25a5a, 0x014eb484, 0x01950917, 0x0021438b}}}, + {X: Field{[10]uint32{0x004393d7, 0x01983b74, 0x01de1ee6, 0x00959dd2, 0x03869dff, 0x008d5cf8, 0x017f8936, 0x03cee10c, 0x00018a78, 0x0037a87f}}, Y: Field{[10]uint32{0x01710ccd, 0x01f53be5, 0x00cbdbf9, 0x0268ade7, 0x03af6def, 0x01b59b80, 0x03f134ff, 0x0171434e, 0x01cc942e, 0x0013d952}}}, + {X: Field{[10]uint32{0x00d84958, 0x03f4766a, 0x005caee6, 0x02c5b2b3, 0x026a11de, 0x03503321, 0x0319b976, 0x01df9d27, 0x000b69b6, 0x003a11ba}}, Y: Field{[10]uint32{0x0082cf9f, 0x01191ede, 0x001a640c, 0x00d9c783, 0x03ad51a3, 0x01e62ddb, 0x01bd9104, 0x01f89507, 0x00fc894c, 0x0028a72e}}}, + {X: Field{[10]uint32{0x0258ad71, 0x018e226f, 0x03a208f7, 0x03d73e68, 0x00bb30d1, 0x0277a30e, 0x005fe962, 0x030f8c28, 0x038c28de, 0x001dde29}}, Y: Field{[10]uint32{0x019f43ac, 0x004ff07f, 0x02c563b5, 0x0047fc92, 0x0087b384, 0x00bfd600, 0x0098e12f, 0x02c8bfdc, 0x019ab5a5, 0x000d189b}}}, + }, + { + {X: Field{[10]uint32{0x0258ad71, 0x018e226f, 0x03a208f7, 0x03d73e68, 0x00bb30d1, 0x0277a30e, 0x005fe962, 0x030f8c28, 0x038c28de, 0x001dde29}}, Y: Field{[10]uint32{0x019f43ac, 0x004ff07f, 0x02c563b5, 0x0047fc92, 0x0087b384, 0x00bfd600, 0x0098e12f, 0x02c8bfdc, 0x019ab5a5, 0x000d189b}}}, + {X: Field{[10]uint32{0x0073e879, 0x02870944, 0x02ea7a7e, 0x016b8413, 0x032cf16a, 0x03c3f8e4, 0x02f482d7, 0x001b458c, 0x016b5ca0, 0x0039ee5e}}, Y: Field{[10]uint32{0x02a89d98, 0x01c4226e, 0x00af338e, 0x0097b6a6, 0x029cb5bf, 0x00df3072, 0x002102a7, 0x0278bf7d, 0x008c1916, 0x0004ae26}}}, + {X: Field{[10]uint32{0x0319c869, 0x031bab8c, 0x032702f7, 0x0175d87a, 0x0018a9f9, 0x03f32b37, 0x01839022, 0x00ff2340, 0x005d9817, 0x000c0601}}, Y: Field{[10]uint32{0x02b856f0, 0x031db274, 0x01a7bfc0, 0x032928f6, 0x03ca2a84, 0x03588b8e, 0x02624320, 0x02dedbe1, 0x01782503, 0x002b17f1}}}, + {X: Field{[10]uint32{0x02628f0f, 0x035c8afc, 0x02919865, 0x02abcabb, 0x0365423d, 0x02f8269c, 0x00915a24, 0x01880f0b, 0x00185087, 0x0001c6fc}}, Y: Field{[10]uint32{0x01a1c334, 0x03172f51, 0x000bbb57, 0x01a88c72, 0x02098f9c, 0x03021338, 0x03600bc1, 0x033d2b8c, 0x015d504d, 0x00149ea8}}}, + {X: Field{[10]uint32{0x01ed29b5, 0x01a61be9, 0x01d1b4c6, 0x0181c4ab, 0x01f5830b, 0x0298f221, 0x02b67db9, 0x01fbcd0e, 0x01b61ee5, 0x000c8a20}}, Y: Field{[10]uint32{0x00d15ad2, 0x03c49b9f, 0x03604ef4, 0x02ae53b9, 0x01ca83ae, 0x01054c78, 0x010b19df, 0x00d13ac4, 0x028417a0, 0x00059dc0}}}, + {X: Field{[10]uint32{0x00953133, 0x01f726c6, 0x021ae647, 0x00a9d21c, 0x017fb3b4, 0x03f337ea, 0x012806c0, 0x03748e20, 0x034fed0d, 0x000282ca}}, Y: Field{[10]uint32{0x00af0fc9, 0x00928dcd, 0x00ba94bc, 0x03a2c3b5, 0x016fa384, 0x01916323, 0x001c6ca8, 0x02fcbc0f, 0x002cfb5a, 0x00336846}}}, + {X: Field{[10]uint32{0x02c96100, 0x02a101e1, 0x008e63bf, 0x006a9ba7, 0x00a16301, 0x037cf6f3, 0x003dd9b2, 0x006e7fed, 0x033ac0fb, 0x000fce11}}, Y: Field{[10]uint32{0x02624707, 0x00ab06fc, 0x031bcf1e, 0x01f02dd7, 0x0166571c, 0x03c1e739, 0x034c4462, 0x000e5494, 0x0055f5d4, 0x001c31a7}}}, + {X: Field{[10]uint32{0x039620e1, 0x00ddb7e8, 0x013786f6, 0x03214048, 0x025b1911, 0x0300f0e7, 0x0232e594, 0x0395a0ce, 0x003acb9b, 0x0000860d}}, Y: Field{[10]uint32{0x006998b5, 0x00667d94, 0x009ec5e0, 0x0290bd0f, 0x00443299, 0x000beff0, 0x03f24fd6, 0x0142fabc, 0x0148970a, 0x002faa07}}}, + {X: Field{[10]uint32{0x0122d2ac, 0x031bb1bf, 0x02ce0234, 0x0049b72a, 0x0310ddfe, 0x01e177cb, 0x003c0e09, 0x029db72d, 0x03c5fd27, 0x000a2044}}, Y: Field{[10]uint32{0x0342a268, 0x03ad57e3, 0x008fd081, 0x01285523, 0x03ddc3d4, 0x0325d84d, 0x00777260, 0x031723c8, 0x030158fb, 0x002869fa}}}, + {X: Field{[10]uint32{0x02e515dd, 0x0284ebbf, 0x024228c1, 0x008cd0ea, 0x029d0453, 0x012f7f8b, 0x035866ab, 0x0306083b, 0x02fee6ee, 0x0028afe6}}, Y: Field{[10]uint32{0x02c30212, 0x02a5ac01, 0x018745c3, 0x02aa6a3a, 0x0000f2e3, 0x03017a8a, 0x00a5e2ab, 0x02adece8, 0x0071c55c, 0x0016846f}}}, + {X: Field{[10]uint32{0x005f8ea8, 0x02a03749, 0x02900d4b, 0x038e5934, 0x01d17248, 0x01c467f9, 0x03f4d95d, 0x00e8a954, 0x0200c846, 0x003e58e8}}, Y: Field{[10]uint32{0x01bc99eb, 0x0157ec16, 0x020824bc, 0x00d6762d, 0x008bb8f2, 0x03fd09c8, 0x03722301, 0x020f028e, 0x00268c7f, 0x00272165}}}, + {X: Field{[10]uint32{0x030a2a53, 0x03c3b037, 0x0211e7ea, 0x02cfe059, 0x02d51dca, 0x00ea6e24, 0x00394574, 0x0265f0ea, 0x018d07c3, 0x001be194}}, Y: Field{[10]uint32{0x033bfeb2, 0x02695d1c, 0x01f35113, 0x01cbaa81, 0x00bf54f7, 0x029c265a, 0x0376ea95, 0x020bca6d, 0x0216fd45, 0x003542bd}}}, + {X: Field{[10]uint32{0x0206a315, 0x02a20c49, 0x023ad9e1, 0x01cbc9a5, 0x02407260, 0x0243825f, 0x00d8b2a5, 0x03669fe6, 0x024cff70, 0x00297648}}, Y: Field{[10]uint32{0x023b68d1, 0x0184cd67, 0x027c9d35, 0x00d1f446, 0x01ed4d0d, 0x01e6037a, 0x03306abd, 0x03696cd0, 0x03003b20, 0x0021cca2}}}, + {X: Field{[10]uint32{0x00d52891, 0x027abd36, 0x01f52af1, 0x03620fae, 0x0339a0f7, 0x02c5ffe9, 0x0244de90, 0x02378d19, 0x03c9cbc5, 0x000ef092}}, Y: Field{[10]uint32{0x0105b79c, 0x03478a13, 0x032d1386, 0x00a02921, 0x004da845, 0x02fed23d, 0x02bed840, 0x00f629ff, 0x00a48a78, 0x003c238c}}}, + {X: Field{[10]uint32{0x02231493, 0x02ded501, 0x00d469cd, 0x020c3331, 0x0096411a, 0x003979a9, 0x034e41d0, 0x030d813a, 0x002e1b73, 0x003c7fa6}}, Y: Field{[10]uint32{0x018848c1, 0x02a6699d, 0x030d0196, 0x00d1b97f, 0x03f173fb, 0x03df6674, 0x02d3c205, 0x01377085, 0x01eaed9a, 0x000b8806}}}, + {X: Field{[10]uint32{0x02d903ac, 0x03b6a701, 0x03e5cb09, 0x01d396b5, 0x02d5f962, 0x039ebf4b, 0x0329fd30, 0x02a1118d, 0x015ee637, 0x00024a25}}, Y: Field{[10]uint32{0x03cd091f, 0x0203a4d6, 0x0183fc51, 0x03bea2a3, 0x02ac3d26, 0x024ea57b, 0x0378a130, 0x010aa09e, 0x01003d3f, 0x00309588}}}, + }, + { + {X: Field{[10]uint32{0x02d903ac, 0x03b6a701, 0x03e5cb09, 0x01d396b5, 0x02d5f962, 0x039ebf4b, 0x0329fd30, 0x02a1118d, 0x015ee637, 0x00024a25}}, Y: Field{[10]uint32{0x03cd091f, 0x0203a4d6, 0x0183fc51, 0x03bea2a3, 0x02ac3d26, 0x024ea57b, 0x0378a130, 0x010aa09e, 0x01003d3f, 0x00309588}}}, + {X: Field{[10]uint32{0x0359dd9e, 0x0011e983, 0x030e7231, 0x03156d63, 0x027ce5e9, 0x032c62b5, 0x01163b04, 0x034d436b, 0x01ee3771, 0x0013e26f}}, Y: Field{[10]uint32{0x0156b049, 0x01ab8c80, 0x01f5c101, 0x014198e3, 0x031e4882, 0x010eec91, 0x00baf4c0, 0x007da571, 0x02d5227a, 0x00329e54}}}, + {X: Field{[10]uint32{0x0074b839, 0x004a1d5e, 0x02b41811, 0x02ce54f4, 0x02be4115, 0x008c2dab, 0x03df0dfb, 0x0396a014, 0x001fc0e1, 0x000f80ee}}, Y: Field{[10]uint32{0x000594ba, 0x0073959f, 0x01b8da0c, 0x03c3f6ad, 0x027de5c5, 0x01c663d9, 0x00f66075, 0x01fd0b11, 0x0163dff0, 0x00344eb8}}}, + {X: Field{[10]uint32{0x03f01197, 0x030c533f, 0x005bf529, 0x03c1e689, 0x0194b668, 0x00b0f132, 0x0396baca, 0x0316a030, 0x0304cae3, 0x0032e7a0}}, Y: Field{[10]uint32{0x03989c1d, 0x01381d8e, 0x00a24c33, 0x02300578, 0x0341b2d1, 0x03c22245, 0x03258cdf, 0x0039a849, 0x02801eb8, 0x0018b1f4}}}, + {X: Field{[10]uint32{0x0357a513, 0x03de39a0, 0x0023f3a3, 0x004d16cc, 0x01f151bd, 0x028a48b1, 0x02fa283a, 0x0124b358, 0x00b7a2f4, 0x003998b0}}, Y: Field{[10]uint32{0x0017d07e, 0x02880728, 0x00d89192, 0x0358954e, 0x01d8035c, 0x00486906, 0x01ae208a, 0x01148c17, 0x013ce612, 0x002ac2c6}}}, + {X: Field{[10]uint32{0x01a7d197, 0x03a434ee, 0x019459ba, 0x030623a9, 0x035e83a8, 0x008b08d2, 0x038ffe0a, 0x03d8e51d, 0x0254280d, 0x0030b162}}, Y: Field{[10]uint32{0x01eeb5e9, 0x00732fe2, 0x002484e4, 0x011516b6, 0x020a47ec, 0x00bb4e69, 0x03041ab6, 0x00249d5c, 0x0288366e, 0x001cba8c}}}, + {X: Field{[10]uint32{0x0337d242, 0x017dfbf7, 0x014b0499, 0x02981e70, 0x01c29fec, 0x02f8d61f, 0x03862c7c, 0x03db2e10, 0x00b1c94c, 0x00102fe0}}, Y: Field{[10]uint32{0x02405088, 0x03609e69, 0x035583d1, 0x02e90af4, 0x0274321e, 0x02c9bf84, 0x013fe9b1, 0x02abc13d, 0x0135d856, 0x002d5e77}}}, + {X: Field{[10]uint32{0x008d2cc2, 0x027ff094, 0x0058c15f, 0x0351c123, 0x018e0bee, 0x001cc371, 0x00cf2a41, 0x01a6f4f2, 0x01b0f89c, 0x0038bcd2}}, Y: Field{[10]uint32{0x00d4c04f, 0x011ef638, 0x03db37e3, 0x03a38272, 0x0242344b, 0x0180856e, 0x0060aec7, 0x01c8de06, 0x03280f82, 0x0007facb}}}, + {X: Field{[10]uint32{0x015a3558, 0x00acd916, 0x027f2baf, 0x021788d2, 0x02ac071f, 0x0236d67d, 0x02f97813, 0x0329c201, 0x0297601d, 0x000f453f}}, Y: Field{[10]uint32{0x0043df4c, 0x036ceb19, 0x01727c6a, 0x03851f07, 0x0082e0a2, 0x02fd5b85, 0x029a931d, 0x0207be3c, 0x01d6e846, 0x0005b1af}}}, + {X: Field{[10]uint32{0x00ea4178, 0x031c0905, 0x03cd510f, 0x0153931d, 0x03782e03, 0x01dd2532, 0x00453c6a, 0x018da1a0, 0x0072d175, 0x00011c2a}}, Y: Field{[10]uint32{0x00098bd6, 0x01127c6e, 0x01aea079, 0x01c1a613, 0x0319b568, 0x034e7032, 0x02145e9f, 0x026b359d, 0x03a9c110, 0x00022669}}}, + {X: Field{[10]uint32{0x02b1fc24, 0x027d6b60, 0x03570ede, 0x0071f8fd, 0x012528d8, 0x03249219, 0x001ac4d2, 0x01949473, 0x0140e82e, 0x00375be9}}, Y: Field{[10]uint32{0x029b74ca, 0x00c71183, 0x022304a4, 0x01afb5cc, 0x03ec10de, 0x00595f9d, 0x026f1ebf, 0x0061bf8d, 0x037eb1d3, 0x0019f98a}}}, + {X: Field{[10]uint32{0x03369217, 0x0379b658, 0x011ead74, 0x01a40198, 0x01ca1c39, 0x01013ab3, 0x01a278f5, 0x03589288, 0x00ffcba4, 0x0010b714}}, Y: Field{[10]uint32{0x022dbc57, 0x0025f88f, 0x01e841c3, 0x03b2a380, 0x03a7a139, 0x0182ea14, 0x0178f5f1, 0x016c75fb, 0x021f6638, 0x00296ea6}}}, + {X: Field{[10]uint32{0x01d08e02, 0x02a4564f, 0x0302881e, 0x02dff6b7, 0x00108547, 0x028f47a0, 0x0069499a, 0x0175e03e, 0x01a82de5, 0x0004fe8b}}, Y: Field{[10]uint32{0x00b03410, 0x0150770f, 0x02b97da5, 0x02ec6690, 0x03e644af, 0x02ed0cb1, 0x03356206, 0x0369c8c4, 0x00b04555, 0x0004d8ce}}}, + {X: Field{[10]uint32{0x0246a9e9, 0x006b3a45, 0x03b0423f, 0x029f62b9, 0x015dcbb7, 0x03329d77, 0x01f82bb9, 0x03bdd5f4, 0x039c4b0a, 0x002560ad}}, Y: Field{[10]uint32{0x0256a698, 0x035d24ea, 0x002ffbc4, 0x0317c4ee, 0x0001cbb5, 0x02be39a9, 0x02c6acee, 0x009bbb53, 0x01800ed4, 0x0008819f}}}, + {X: Field{[10]uint32{0x004ee41a, 0x00ceae65, 0x029a6ac2, 0x0374edf5, 0x02879b56, 0x00b1a0a0, 0x03c10b67, 0x002910fd, 0x0051d3c7, 0x00341b12}}, Y: Field{[10]uint32{0x03295e6f, 0x03e13a62, 0x02e252f1, 0x00d1858b, 0x019b7b84, 0x013d8c24, 0x030acd4f, 0x0342b6ee, 0x014c0584, 0x0016057f}}}, + {X: Field{[10]uint32{0x03d82751, 0x02b9d458, 0x0354527a, 0x02a41eb4, 0x015645b4, 0x0038eca1, 0x01064f3a, 0x02c424e6, 0x02f3ec6d, 0x0021743f}}, Y: Field{[10]uint32{0x02b1f962, 0x008de893, 0x0331582c, 0x03a5a1dc, 0x023e8751, 0x020b3d59, 0x01d496e5, 0x02302f8a, 0x008413a3, 0x0007c0d9}}}, + }, + { + {X: Field{[10]uint32{0x03d82751, 0x02b9d458, 0x0354527a, 0x02a41eb4, 0x015645b4, 0x0038eca1, 0x01064f3a, 0x02c424e6, 0x02f3ec6d, 0x0021743f}}, Y: Field{[10]uint32{0x02b1f962, 0x008de893, 0x0331582c, 0x03a5a1dc, 0x023e8751, 0x020b3d59, 0x01d496e5, 0x02302f8a, 0x008413a3, 0x0007c0d9}}}, + {X: Field{[10]uint32{0x015fcade, 0x015b4507, 0x01ff7563, 0x038025c4, 0x0068b482, 0x034477c1, 0x007a6cfc, 0x0313d3d8, 0x034b19a4, 0x001ade43}}, Y: Field{[10]uint32{0x0338d3ff, 0x03fe1bf0, 0x02b0ab6f, 0x02d1ef89, 0x03a83fa5, 0x032b8272, 0x016661f9, 0x03acfbca, 0x001b2ff9, 0x00340ea6}}}, + {X: Field{[10]uint32{0x00de4cf3, 0x0154187b, 0x0066ab99, 0x00d51e28, 0x039340e5, 0x005766b9, 0x03c2d26d, 0x008b0ef9, 0x034ac114, 0x000e136a}}, Y: Field{[10]uint32{0x012d0566, 0x01e5ac89, 0x03a73b7c, 0x00ce5d46, 0x001f430a, 0x00ad31bc, 0x034ed6da, 0x03290efe, 0x01bcd1b9, 0x0035b8f1}}}, + {X: Field{[10]uint32{0x03a3e0cb, 0x03336af8, 0x00be0bb0, 0x037a165e, 0x023d2479, 0x03313e3f, 0x022c367a, 0x02fb4f05, 0x032c2d7e, 0x00104526}}, Y: Field{[10]uint32{0x039033a8, 0x024ba60c, 0x00f2470e, 0x0017bd24, 0x00b3ec78, 0x0240b3ca, 0x0015c9b9, 0x00c150ad, 0x0392db7c, 0x00324356}}}, + {X: Field{[10]uint32{0x025238c2, 0x03cfa487, 0x00b8b98a, 0x0170e03b, 0x0040355f, 0x03a0bb52, 0x031610b4, 0x0056a906, 0x000eb7d4, 0x00053c3b}}, Y: Field{[10]uint32{0x02f07922, 0x01a8d1e4, 0x0139d6e8, 0x03600c12, 0x03d25c00, 0x02109d1f, 0x01fc73e3, 0x01760248, 0x013dd483, 0x002ac4b5}}}, + {X: Field{[10]uint32{0x02972627, 0x00d9a822, 0x01e1f8a4, 0x00100948, 0x00e19216, 0x02f11068, 0x018c1efc, 0x03857206, 0x030949bf, 0x00228c61}}, Y: Field{[10]uint32{0x02bb8af9, 0x011ed591, 0x00bcce7b, 0x016b0fbf, 0x00174436, 0x0161eea9, 0x0177ed28, 0x02993425, 0x008768f7, 0x00192edf}}}, + {X: Field{[10]uint32{0x0143e94d, 0x00d4bbf5, 0x00e188f6, 0x029d5be6, 0x02dd1302, 0x02968376, 0x01c34678, 0x00a1fb10, 0x03bb782c, 0x003ad0bc}}, Y: Field{[10]uint32{0x01924d89, 0x01677911, 0x02d42405, 0x02379835, 0x034cd846, 0x03f37edd, 0x020dd572, 0x0364b726, 0x01074f25, 0x0008d29b}}}, + {X: Field{[10]uint32{0x03f3d3fc, 0x03774a38, 0x01cebf8d, 0x0208170a, 0x02664a9b, 0x021ca9ee, 0x02c3dfe2, 0x021277eb, 0x00fa4e7c, 0x00347eb5}}, Y: Field{[10]uint32{0x00f3704d, 0x008d0f14, 0x03326ed2, 0x00c7bfcd, 0x00bad371, 0x0162de06, 0x033f70e8, 0x03f7f951, 0x0314a348, 0x0023f865}}}, + {X: Field{[10]uint32{0x0219aaed, 0x01396d5f, 0x03327032, 0x037a3199, 0x00459bac, 0x0381aa48, 0x02ec02f6, 0x008366a7, 0x00ca5168, 0x00073c4e}}, Y: Field{[10]uint32{0x012f400e, 0x01ba975a, 0x03ffbc13, 0x023fbf1d, 0x03479eef, 0x02db7785, 0x00372a66, 0x018e197d, 0x02f3171c, 0x0035bff6}}}, + {X: Field{[10]uint32{0x00ba68dd, 0x01cee8b8, 0x02d65374, 0x010e31fa, 0x02bca7c9, 0x0076b4c4, 0x0266838c, 0x01d049fc, 0x02abfe2b, 0x000172fa}}, Y: Field{[10]uint32{0x01d03959, 0x00a7cc9f, 0x033b5942, 0x01c17794, 0x007f3d96, 0x0141bbe8, 0x01386665, 0x0055baba, 0x03b6fa90, 0x0004f288}}}, + {X: Field{[10]uint32{0x02a8aa39, 0x0303a7ed, 0x03ac55f6, 0x01ed29e3, 0x0137a663, 0x01266436, 0x035a0968, 0x03504b21, 0x02be5f40, 0x002d61a1}}, Y: Field{[10]uint32{0x03493c1f, 0x01e4d74a, 0x0347b8fc, 0x02639b6c, 0x01abbdaf, 0x01302a47, 0x01478d45, 0x0230b052, 0x014324c7, 0x00158cb5}}}, + {X: Field{[10]uint32{0x023a1550, 0x011319f2, 0x01f279a5, 0x027e3bff, 0x01801da9, 0x007e2dd4, 0x0130976e, 0x015d04b7, 0x01ab3405, 0x003aff1a}}, Y: Field{[10]uint32{0x01362f6e, 0x010afd90, 0x00b1951f, 0x00639a30, 0x037983c8, 0x01fd3f41, 0x01f199db, 0x02d5028f, 0x00cdb99c, 0x0038bffa}}}, + {X: Field{[10]uint32{0x003b4cc5, 0x007af8ec, 0x037c2ee9, 0x02e96871, 0x02572831, 0x01fcea00, 0x035bc4fe, 0x0330ad9e, 0x01b06b8b, 0x0017f067}}, Y: Field{[10]uint32{0x01b57c28, 0x00e7ee19, 0x03ec4a3b, 0x000f3021, 0x009276f5, 0x028e97bd, 0x022138f9, 0x031f19bb, 0x00c0ec98, 0x003b23a1}}}, + {X: Field{[10]uint32{0x028d319f, 0x02fce397, 0x018e948b, 0x0185b510, 0x00e66aa5, 0x01eab260, 0x010b6533, 0x02a19841, 0x0350ce93, 0x001b3970}}, Y: Field{[10]uint32{0x01cf513f, 0x031af5e5, 0x0378308a, 0x03803b14, 0x012da8f2, 0x02ef88fc, 0x013e3e8c, 0x00f216fb, 0x0026e250, 0x00254340}}}, + {X: Field{[10]uint32{0x00b38cb5, 0x02e15f53, 0x00948bb4, 0x037d34e2, 0x03e10b7f, 0x034fba86, 0x03a8a40f, 0x038a277a, 0x030d42ed, 0x002e23ed}}, Y: Field{[10]uint32{0x0165f3d7, 0x03e9d596, 0x00c7197b, 0x00489ebe, 0x024d4f3e, 0x02cd6a38, 0x034bb994, 0x00ca0180, 0x02ad46ea, 0x0035b1cd}}}, + {X: Field{[10]uint32{0x0126087e, 0x01012091, 0x020308f5, 0x02220b68, 0x01fdfb6d, 0x01e62e17, 0x009b6041, 0x033a5f07, 0x01ce97ee, 0x003fcac3}}, Y: Field{[10]uint32{0x00c29907, 0x0147807c, 0x02ceb2c9, 0x01bee438, 0x02c7b7ed, 0x01341e4d, 0x034c4dc5, 0x02e8622b, 0x03fef524, 0x00124f44}}}, + }, + { + {X: Field{[10]uint32{0x0126087e, 0x01012091, 0x020308f5, 0x02220b68, 0x01fdfb6d, 0x01e62e17, 0x009b6041, 0x033a5f07, 0x01ce97ee, 0x003fcac3}}, Y: Field{[10]uint32{0x00c29907, 0x0147807c, 0x02ceb2c9, 0x01bee438, 0x02c7b7ed, 0x01341e4d, 0x034c4dc5, 0x02e8622b, 0x03fef524, 0x00124f44}}}, + {X: Field{[10]uint32{0x0149f8ef, 0x00ea6bcc, 0x034583bd, 0x013b98e2, 0x023deb5c, 0x032c6ec8, 0x0229ebbe, 0x01b27de3, 0x03bc5f36, 0x000a60b6}}, Y: Field{[10]uint32{0x02c7a248, 0x01c9ac05, 0x02d8456e, 0x02504b8f, 0x01095db9, 0x01ed6f27, 0x03a5339c, 0x00882ae7, 0x03e9af66, 0x002986d6}}}, + {X: Field{[10]uint32{0x01d681f9, 0x00153f9e, 0x02b9fc59, 0x03beb23f, 0x0066ce0e, 0x000b252c, 0x037ff25e, 0x008c2222, 0x01f2775f, 0x0031d17f}}, Y: Field{[10]uint32{0x03bb1247, 0x005cd0de, 0x005c7603, 0x00d719f5, 0x038cdbd3, 0x003a0619, 0x031394c7, 0x03979e29, 0x02f2f6b9, 0x00164088}}}, + {X: Field{[10]uint32{0x0380441b, 0x0227d848, 0x03658852, 0x01160385, 0x0060011f, 0x0125f6d6, 0x036eb590, 0x0303dad0, 0x01042af0, 0x00068a39}}, Y: Field{[10]uint32{0x0052af25, 0x03d81aa1, 0x027aeb05, 0x016d1bb9, 0x0104b3e7, 0x025dbc3b, 0x038329a8, 0x0276adf1, 0x027996c5, 0x00155de6}}}, + {X: Field{[10]uint32{0x01cd0ea3, 0x0133bb4d, 0x004815e0, 0x03a0832b, 0x02b34478, 0x019cb9fc, 0x0259e5eb, 0x00142c9e, 0x01f3a975, 0x002aec9e}}, Y: Field{[10]uint32{0x00307bce, 0x024c4cdf, 0x033b6470, 0x0016780b, 0x007c9769, 0x00c1e3b5, 0x034be0c0, 0x025c367e, 0x003bbf17, 0x00177b84}}}, + {X: Field{[10]uint32{0x009a2115, 0x03f54d19, 0x025ebe77, 0x00245e95, 0x02ec7960, 0x01902606, 0x006aca9d, 0x031b1b75, 0x0052b194, 0x003f5cf0}}, Y: Field{[10]uint32{0x02ba6cda, 0x032adee9, 0x0021f049, 0x0158ba75, 0x0104f601, 0x01bdf5b6, 0x00abab02, 0x02211008, 0x00c1c817, 0x001881da}}}, + {X: Field{[10]uint32{0x03c9ee3e, 0x038bcfc6, 0x0382c5c2, 0x02a58f9c, 0x01ea9fa1, 0x0099fb44, 0x03aeaa74, 0x01a0a09f, 0x010b59fc, 0x000fe045}}, Y: Field{[10]uint32{0x019aae06, 0x02b6c316, 0x001603ce, 0x0373f36a, 0x027623b2, 0x011e5598, 0x031beb3c, 0x02a0b519, 0x0268fdbf, 0x00067222}}}, + {X: Field{[10]uint32{0x021e30a7, 0x03c38e58, 0x003242ee, 0x02de6176, 0x002edd5e, 0x034fc805, 0x0250cc0b, 0x00c18074, 0x03e9535f, 0x000322e0}}, Y: Field{[10]uint32{0x03f688de, 0x03defae7, 0x0134dbeb, 0x00dee61c, 0x00aacad2, 0x03bf7215, 0x010e3f17, 0x036b1ee1, 0x0077065f, 0x0003731c}}}, + {X: Field{[10]uint32{0x00e4a007, 0x006fbebe, 0x0358b617, 0x033c22ec, 0x0015ecee, 0x0295b1fb, 0x014ba33a, 0x00b79a56, 0x032dd008, 0x00173e04}}, Y: Field{[10]uint32{0x0068b883, 0x00fc2424, 0x03fe8ce6, 0x025b1e71, 0x02c8946f, 0x01230f7d, 0x02d41588, 0x03e837d2, 0x025c0d61, 0x002d16bb}}}, + {X: Field{[10]uint32{0x003c18e1, 0x00fbf313, 0x03230300, 0x03eeeab5, 0x00ba4ae5, 0x012eb1fd, 0x02267110, 0x0035ae44, 0x01458351, 0x002cfe81}}, Y: Field{[10]uint32{0x02aa2b4f, 0x007efb84, 0x02542cb1, 0x0267c433, 0x01aa55a4, 0x0193f9bf, 0x02182980, 0x03d5adee, 0x00759340, 0x002a1709}}}, + {X: Field{[10]uint32{0x02c2d4a7, 0x01bf9ec9, 0x03fb1095, 0x024cef3f, 0x021bc36f, 0x031013b4, 0x03e33973, 0x02925194, 0x024d0d4b, 0x002db57f}}, Y: Field{[10]uint32{0x02e86371, 0x03739f8e, 0x03cc8118, 0x0139bd78, 0x02745b7e, 0x037fff63, 0x03cf9209, 0x035b0537, 0x03a13abb, 0x0011fcdc}}}, + {X: Field{[10]uint32{0x03816b2f, 0x021b0d46, 0x02e11fdb, 0x021048a3, 0x01ee0cb7, 0x009b1757, 0x00165fe1, 0x00699dba, 0x02dd6595, 0x00169351}}, Y: Field{[10]uint32{0x03e86c60, 0x01ebae1c, 0x00cebaf9, 0x0317ecfb, 0x02b50e6c, 0x03cf7f35, 0x003e27f8, 0x0182ac0a, 0x0396ca0e, 0x001df248}}}, + {X: Field{[10]uint32{0x0066dd33, 0x00cd88bf, 0x036dc509, 0x023fc771, 0x02ea8fbc, 0x000a6c08, 0x03b1b150, 0x01621c1a, 0x03c066cf, 0x0018722e}}, Y: Field{[10]uint32{0x02f10bfa, 0x02ea7ced, 0x00c8ca3b, 0x03ab0a08, 0x036a5106, 0x026174fe, 0x0269994b, 0x03dc0d11, 0x02239e54, 0x0024d667}}}, + {X: Field{[10]uint32{0x035cacbb, 0x019233cc, 0x01b26fce, 0x00a2f58d, 0x0118ac30, 0x0318899c, 0x0177e5bd, 0x003335ee, 0x01b12c72, 0x0013f5a6}}, Y: Field{[10]uint32{0x021ad839, 0x00bbea23, 0x03e6133b, 0x02cba088, 0x00aa998e, 0x036d878b, 0x0079dbfc, 0x0282bb65, 0x02f3f511, 0x0031b243}}}, + {X: Field{[10]uint32{0x016b2ff8, 0x016df337, 0x008fa980, 0x0305ca1b, 0x01876336, 0x03b0ef7c, 0x009f5373, 0x01e1461f, 0x03a57426, 0x002538ca}}, Y: Field{[10]uint32{0x00e1af3e, 0x0121554b, 0x03e13add, 0x010949af, 0x00b33af0, 0x018b67a3, 0x031e4886, 0x0013864b, 0x008b43da, 0x000346d1}}}, + {X: Field{[10]uint32{0x0056e241, 0x03978b3e, 0x01d28780, 0x0052335b, 0x0357f1ee, 0x0006c84a, 0x012b2e63, 0x0203aa7b, 0x03e4b1e8, 0x00209fee}}, Y: Field{[10]uint32{0x02c293ec, 0x016da2eb, 0x03166d60, 0x00c61a40, 0x007ff7a6, 0x0347449a, 0x03ef2c67, 0x01ec2dc6, 0x00923c72, 0x003183e7}}}, + }, + { + {X: Field{[10]uint32{0x0056e241, 0x03978b3e, 0x01d28780, 0x0052335b, 0x0357f1ee, 0x0006c84a, 0x012b2e63, 0x0203aa7b, 0x03e4b1e8, 0x00209fee}}, Y: Field{[10]uint32{0x02c293ec, 0x016da2eb, 0x03166d60, 0x00c61a40, 0x007ff7a6, 0x0347449a, 0x03ef2c67, 0x01ec2dc6, 0x00923c72, 0x003183e7}}}, + {X: Field{[10]uint32{0x00b1815d, 0x03912dc3, 0x03461ef6, 0x024862e1, 0x0260470a, 0x01db9acd, 0x02d7c8d5, 0x01ae5cf8, 0x02a7dce5, 0x002ddfc4}}, Y: Field{[10]uint32{0x0257dbc5, 0x00f4af23, 0x0016d6ba, 0x03e46912, 0x014c42f0, 0x00f30b99, 0x00cefb37, 0x02b310fc, 0x01b14f86, 0x0012dbe1}}}, + {X: Field{[10]uint32{0x03b80fa7, 0x012172ce, 0x01388634, 0x01aedc10, 0x033aa7da, 0x00c82067, 0x011a06bd, 0x030bef03, 0x031f6308, 0x000215f8}}, Y: Field{[10]uint32{0x01366b2d, 0x020847c2, 0x0016abd9, 0x0010f35c, 0x03172e37, 0x0372dc51, 0x017cc9d1, 0x005c824b, 0x03423ae0, 0x003d90e4}}}, + {X: Field{[10]uint32{0x005565ec, 0x0176b4b1, 0x005970fe, 0x037d25df, 0x02d858d8, 0x02de7e55, 0x03308b2c, 0x02fc491e, 0x03943018, 0x001225ce}}, Y: Field{[10]uint32{0x02ed07e9, 0x01e41d7e, 0x037b83b8, 0x02596011, 0x01511b35, 0x005116bc, 0x037bb3a0, 0x03706d90, 0x01684f3c, 0x001d87dd}}}, + {X: Field{[10]uint32{0x01c70e63, 0x000b0e82, 0x01496f5d, 0x01e39d4f, 0x029cbb8b, 0x019299cb, 0x005c6557, 0x018010d5, 0x00ea56bd, 0x000a2ab3}}, Y: Field{[10]uint32{0x0057da4e, 0x000e20bc, 0x021e8b9f, 0x03391136, 0x03f5fc59, 0x01da3aed, 0x0289667c, 0x0038559e, 0x022ef81a, 0x000ada4c}}}, + {X: Field{[10]uint32{0x036d6cd3, 0x0002af9e, 0x0378833a, 0x00740e24, 0x03341661, 0x015948e5, 0x0269b870, 0x02061206, 0x02167f2b, 0x003a8499}}, Y: Field{[10]uint32{0x00f450be, 0x018a497d, 0x01a88aae, 0x00b7aef8, 0x01b1c975, 0x00451789, 0x00e112bf, 0x038ff6ab, 0x02e5078e, 0x00086938}}}, + {X: Field{[10]uint32{0x03e674b5, 0x03714bdc, 0x00aac601, 0x02739c18, 0x0392d8f6, 0x033ae293, 0x01db2c9b, 0x02998517, 0x0225a055, 0x0028bced}}, Y: Field{[10]uint32{0x02937941, 0x00e32383, 0x03a53b09, 0x00c5f0cf, 0x039222fa, 0x00ca9f12, 0x0044a90f, 0x01a2ba00, 0x0159614c, 0x001883a8}}}, + {X: Field{[10]uint32{0x03fd71fa, 0x0135d0ae, 0x027d4a4d, 0x00996d14, 0x030b775a, 0x029c1305, 0x02972728, 0x015671b5, 0x018e8eb5, 0x003a4c49}}, Y: Field{[10]uint32{0x034d3307, 0x02f434c5, 0x035f33d9, 0x0386ed78, 0x00b3946c, 0x032552d0, 0x01eb4169, 0x037b83a1, 0x03364c3f, 0x003ec78c}}}, + {X: Field{[10]uint32{0x011eb056, 0x00058c76, 0x01386c76, 0x036e3b3f, 0x01a002ef, 0x00fd457d, 0x018b5c6a, 0x01648c76, 0x03c9eaae, 0x000f13e0}}, Y: Field{[10]uint32{0x005cecab, 0x01624f68, 0x02b87742, 0x0112073d, 0x001982b5, 0x00ec9e20, 0x02d6573c, 0x022da8ce, 0x0007514a, 0x002511e4}}}, + {X: Field{[10]uint32{0x008fadf1, 0x00f632d5, 0x01f9de64, 0x021e9c4b, 0x0300359b, 0x0224605e, 0x0365f8de, 0x01091270, 0x00387f7f, 0x003b7ce1}}, Y: Field{[10]uint32{0x00415fb6, 0x010db3db, 0x03d2879c, 0x004f7a8d, 0x030f4e88, 0x0082a9ad, 0x01802351, 0x0214037b, 0x01b0a189, 0x001cb4ed}}}, + {X: Field{[10]uint32{0x0186dfa9, 0x0187f6ef, 0x013a7190, 0x029026e6, 0x02dc38b4, 0x02040eea, 0x01c1e03e, 0x019f538a, 0x01288a99, 0x002bfe38}}, Y: Field{[10]uint32{0x01d12681, 0x000f0db0, 0x039c7071, 0x02a51067, 0x00f9116d, 0x03f3d4fd, 0x013ebaa1, 0x01f0ff4f, 0x03b32137, 0x002362d2}}}, + {X: Field{[10]uint32{0x00ff55c5, 0x008f5097, 0x01ec9771, 0x00a0689d, 0x035f4efd, 0x020ad2d8, 0x0012c1e7, 0x0110b29b, 0x01fdfb25, 0x0033cdab}}, Y: Field{[10]uint32{0x01a0228e, 0x009e2148, 0x02706aca, 0x03097034, 0x03a7547e, 0x02f67c81, 0x002f58b3, 0x01da1927, 0x02166ae0, 0x00345a84}}}, + {X: Field{[10]uint32{0x009ba9c1, 0x009cdae6, 0x0338e28f, 0x02968274, 0x01e40f7c, 0x03b3b95e, 0x0058262a, 0x0002cfa1, 0x004528dc, 0x0034fede}}, Y: Field{[10]uint32{0x0351b267, 0x02e237fa, 0x02de0061, 0x03570046, 0x02341ced, 0x022dc3f9, 0x03ca0575, 0x02d39f29, 0x0034efa6, 0x003e2535}}}, + {X: Field{[10]uint32{0x0181f79b, 0x015032f0, 0x02db4fe8, 0x01943392, 0x02e045d8, 0x01a97289, 0x01f82e7c, 0x037ebb8b, 0x00a26c63, 0x000c7203}}, Y: Field{[10]uint32{0x01225400, 0x027949b5, 0x025f1f0b, 0x03abd444, 0x01622ff9, 0x023cc364, 0x014e4d36, 0x009b7cc2, 0x02c12029, 0x0024ad67}}}, + {X: Field{[10]uint32{0x032bb909, 0x025b0743, 0x00d999da, 0x01f14d66, 0x03639102, 0x02461f5f, 0x00729883, 0x02aa23fd, 0x000e0ac9, 0x0013b24c}}, Y: Field{[10]uint32{0x00cf4071, 0x028e0fe9, 0x03827b88, 0x020836b0, 0x02d52e16, 0x0213126e, 0x000dc451, 0x00137172, 0x0106be1b, 0x001e0ae8}}}, + {X: Field{[10]uint32{0x0120e2b3, 0x02d63e88, 0x039aa7f3, 0x0339fd1f, 0x017a58fd, 0x0339b948, 0x03e4ae34, 0x02f6eb9e, 0x01f21f51, 0x003aa992}}, Y: Field{[10]uint32{0x025ad93d, 0x0294c16e, 0x03e59d47, 0x0197c4fd, 0x0201a6b9, 0x021e6a96, 0x01a80f89, 0x02c0eb1a, 0x01ed5bbb, 0x002f8c9e}}}, + }, + { + {X: Field{[10]uint32{0x0120e2b3, 0x02d63e88, 0x039aa7f3, 0x0339fd1f, 0x017a58fd, 0x0339b948, 0x03e4ae34, 0x02f6eb9e, 0x01f21f51, 0x003aa992}}, Y: Field{[10]uint32{0x025ad93d, 0x0294c16e, 0x03e59d47, 0x0197c4fd, 0x0201a6b9, 0x021e6a96, 0x01a80f89, 0x02c0eb1a, 0x01ed5bbb, 0x002f8c9e}}}, + {X: Field{[10]uint32{0x03c9b0a8, 0x02f07307, 0x03db453d, 0x0171c17c, 0x029e337b, 0x00089e7a, 0x0223ea50, 0x025fbb09, 0x01b3beb9, 0x000eb6e7}}, Y: Field{[10]uint32{0x005bbdda, 0x039e5d7c, 0x026cc61a, 0x03e61c09, 0x02aad9c8, 0x030257fd, 0x0374de07, 0x0139c4f1, 0x016daee7, 0x000dd38b}}}, + {X: Field{[10]uint32{0x032e070d, 0x00ff4e8f, 0x02a98f58, 0x007314a9, 0x0229aab7, 0x021411f8, 0x00731c3b, 0x012affd2, 0x01e9042f, 0x0012dca9}}, Y: Field{[10]uint32{0x016dd780, 0x02ea0bba, 0x00c3de44, 0x03774a52, 0x00b0b465, 0x0343cf04, 0x0277bb36, 0x03873d80, 0x014e1d6a, 0x00166787}}}, + {X: Field{[10]uint32{0x00ae86f9, 0x03a78324, 0x03caf054, 0x015a58f9, 0x01fefdff, 0x01b17f1a, 0x010955e5, 0x0272edf8, 0x03ac428e, 0x0004a794}}, Y: Field{[10]uint32{0x0289c85d, 0x03bf7347, 0x0201b822, 0x03f45acf, 0x03b2a232, 0x01c4860f, 0x01a2115b, 0x0268a6cb, 0x03958aee, 0x001057b2}}}, + {X: Field{[10]uint32{0x0202591c, 0x039ff612, 0x025a1e9c, 0x02596144, 0x013ef549, 0x01787f58, 0x026bfbeb, 0x03238a16, 0x03fc6539, 0x002a7f24}}, Y: Field{[10]uint32{0x01bec2dc, 0x02b77bda, 0x03253790, 0x01057f3d, 0x01ca888c, 0x02a45979, 0x004c17a1, 0x021c5cfa, 0x0339dc53, 0x00270b39}}}, + {X: Field{[10]uint32{0x005912ec, 0x01c0283e, 0x01113428, 0x00139182, 0x0327f9ca, 0x02abc150, 0x03499694, 0x016de1aa, 0x01d4e3fb, 0x002a9c48}}, Y: Field{[10]uint32{0x02e35978, 0x0132c992, 0x02cbdb11, 0x02a33815, 0x03fee134, 0x01a8bb7a, 0x005266b9, 0x02542714, 0x0077dad0, 0x0031a43c}}}, + {X: Field{[10]uint32{0x01968b59, 0x001b838b, 0x03c2e110, 0x02b84f2e, 0x0309a28b, 0x0026c09d, 0x03d7ac12, 0x027c29a9, 0x017c1a6f, 0x00325000}}, Y: Field{[10]uint32{0x01e572fb, 0x035d9023, 0x009c8fef, 0x02d90e43, 0x00e2842c, 0x016d5d0b, 0x038a1bfa, 0x0218804e, 0x02500c9b, 0x000e7648}}}, + {X: Field{[10]uint32{0x0055b8da, 0x0090f57a, 0x00711922, 0x01f44a25, 0x02c75626, 0x03b84255, 0x005ecb6a, 0x0251216e, 0x0094c8f6, 0x00180511}}, Y: Field{[10]uint32{0x034e4bbd, 0x0001643c, 0x02a4bad5, 0x0309f8fc, 0x03543955, 0x004cb996, 0x00be1fd9, 0x03991a7a, 0x0269f681, 0x0022ed75}}}, + {X: Field{[10]uint32{0x026b3332, 0x01cccd5c, 0x01de6a28, 0x0341cfb9, 0x00310388, 0x01c2fe38, 0x02793a5f, 0x000093b1, 0x039d7eed, 0x0007e12e}}, Y: Field{[10]uint32{0x00e8d52e, 0x010a28c5, 0x003a2554, 0x00b50db7, 0x00c2bcce, 0x016e7b7c, 0x007c27f7, 0x027b3095, 0x01072bca, 0x003b9c9b}}}, + {X: Field{[10]uint32{0x01972bcb, 0x02565e6c, 0x00ceb9dd, 0x00f8907b, 0x02c2f22e, 0x03b685dd, 0x028e0213, 0x027c0a3d, 0x0057c8bb, 0x000f7cb4}}, Y: Field{[10]uint32{0x025d09df, 0x008b34f5, 0x00771b28, 0x025a0065, 0x031b9144, 0x011a9a12, 0x026b23b0, 0x01bbab5b, 0x01c640c8, 0x00371fac}}}, + {X: Field{[10]uint32{0x01efa98e, 0x02a952b3, 0x027995cd, 0x01a046b0, 0x03724844, 0x02647a71, 0x028157b3, 0x03f341b2, 0x00890945, 0x0003c4f8}}, Y: Field{[10]uint32{0x02286767, 0x029dda6f, 0x02ccdc08, 0x01785b3a, 0x03287e70, 0x01ecd8b6, 0x023f8b0a, 0x01f140d7, 0x01f1764e, 0x002b7548}}}, + {X: Field{[10]uint32{0x03d292dc, 0x001a893f, 0x014ce1b8, 0x0202c5dc, 0x01775e26, 0x01ef5e76, 0x008070d3, 0x03e4d2e9, 0x01533720, 0x0012e645}}, Y: Field{[10]uint32{0x03095ca6, 0x0297ff95, 0x02afd433, 0x03116cdd, 0x03938323, 0x017c07d5, 0x03c0a74b, 0x00e889b7, 0x01496110, 0x0038c9dd}}}, + {X: Field{[10]uint32{0x01f59b6b, 0x00700efa, 0x00e2fa5e, 0x018f0622, 0x03e9b38c, 0x035609b4, 0x0328a1d2, 0x03b1f6cd, 0x01a551dd, 0x00377864}}, Y: Field{[10]uint32{0x02cb1410, 0x03658a49, 0x00fecf6a, 0x02ef9c55, 0x028b5738, 0x0314b853, 0x02757d61, 0x01d72f82, 0x03780282, 0x0016cafe}}}, + {X: Field{[10]uint32{0x03b43eeb, 0x0346cd08, 0x0184feee, 0x0006fe04, 0x00181c94, 0x03cd6717, 0x024825ff, 0x017a4dfa, 0x03979eb9, 0x0020f100}}, Y: Field{[10]uint32{0x0084fb51, 0x00d021b5, 0x03b40aff, 0x032ad54f, 0x0295b6bf, 0x0003586c, 0x03c1e46d, 0x03b8f42f, 0x03f2437c, 0x000a55d7}}}, + {X: Field{[10]uint32{0x01c6b699, 0x03157f72, 0x02871b68, 0x00d5af91, 0x02a86f57, 0x01ed05a0, 0x016d7bf9, 0x01bde968, 0x012eed83, 0x0017eac0}}, Y: Field{[10]uint32{0x01c6c3aa, 0x00c854b0, 0x03519b17, 0x01ffaa20, 0x0390ab11, 0x00358bde, 0x02bb4113, 0x034513a7, 0x0270a3c3, 0x000b66fe}}}, + {X: Field{[10]uint32{0x0234d24f, 0x00d8cb76, 0x037401e2, 0x03c32684, 0x0141b6d8, 0x033d0bb9, 0x011df6de, 0x005a764e, 0x0143c5cf, 0x0039290b}}, Y: Field{[10]uint32{0x02ba9414, 0x03dc4c77, 0x024f13a7, 0x037ea363, 0x00e886ee, 0x02e2b4d3, 0x03c99ccf, 0x031cd49b, 0x02e716d1, 0x001367e4}}}, + }, + { + {X: Field{[10]uint32{0x0234d24f, 0x00d8cb76, 0x037401e2, 0x03c32684, 0x0141b6d8, 0x033d0bb9, 0x011df6de, 0x005a764e, 0x0143c5cf, 0x0039290b}}, Y: Field{[10]uint32{0x02ba9414, 0x03dc4c77, 0x024f13a7, 0x037ea363, 0x00e886ee, 0x02e2b4d3, 0x03c99ccf, 0x031cd49b, 0x02e716d1, 0x001367e4}}}, + {X: Field{[10]uint32{0x028f62bb, 0x03cba8cf, 0x00d2a303, 0x018bdeb9, 0x010553c5, 0x01b13bd3, 0x030acf85, 0x02c634fb, 0x01fb84cf, 0x003f5914}}, Y: Field{[10]uint32{0x032c0911, 0x03642184, 0x0283fd0a, 0x024b4803, 0x00fa2ab4, 0x02f0d133, 0x03e7a5c1, 0x0055e2db, 0x02b2b187, 0x0039d173}}}, + {X: Field{[10]uint32{0x03ea0c68, 0x01042bce, 0x0392b5c8, 0x008d9dec, 0x03094301, 0x034e5beb, 0x009bc8e8, 0x028e8925, 0x0234e156, 0x000f9065}}, Y: Field{[10]uint32{0x0245edb6, 0x02dbfdc6, 0x01a1abcb, 0x0118c0f3, 0x022fa119, 0x01c1a4c1, 0x033cbfe3, 0x0087dfcd, 0x019d924b, 0x000048f1}}}, + {X: Field{[10]uint32{0x01fe696b, 0x0347ee75, 0x007a1fa1, 0x035773cf, 0x030042e2, 0x03e7b6ee, 0x02e81a06, 0x021af1c5, 0x007cb240, 0x0007bb88}}, Y: Field{[10]uint32{0x0029337b, 0x0159c39d, 0x0294ebb4, 0x00b82bf5, 0x037a0206, 0x01187257, 0x03196d12, 0x009a734a, 0x0119aef6, 0x00194b2f}}}, + {X: Field{[10]uint32{0x039824d7, 0x01748f24, 0x01897af7, 0x0130d472, 0x036eb7b6, 0x03dfc2d5, 0x014a3e62, 0x01d423bb, 0x00f5455d, 0x0023650e}}, Y: Field{[10]uint32{0x0366489f, 0x0013d224, 0x0063d8a0, 0x02e0c9ac, 0x038fb9e2, 0x02adbbdb, 0x0260bd31, 0x01b0a8b2, 0x00734fee, 0x000c9878}}}, + {X: Field{[10]uint32{0x03d4b84a, 0x02053105, 0x033e69a9, 0x0123c7d0, 0x00621ddf, 0x00a141c1, 0x022a492d, 0x00bf2c31, 0x01e58dc7, 0x003c4ea6}}, Y: Field{[10]uint32{0x03fd1c81, 0x0243f154, 0x01962859, 0x011c43cb, 0x02b6e37d, 0x038ff81b, 0x02b91cd1, 0x03a656a9, 0x00cd0f0b, 0x000cf0b2}}}, + {X: Field{[10]uint32{0x00d713de, 0x0201c6a6, 0x026208e4, 0x03edd0a3, 0x039360c2, 0x03f95150, 0x00a912a2, 0x01510835, 0x00c558ee, 0x002dc949}}, Y: Field{[10]uint32{0x038350e9, 0x03f94966, 0x01fcb76f, 0x01bf9129, 0x010482d2, 0x0275a505, 0x002d182e, 0x00f91441, 0x039a8a28, 0x0013146c}}}, + {X: Field{[10]uint32{0x0394c0d5, 0x0103c67b, 0x0257908d, 0x0005f15c, 0x01e1c0fc, 0x011b8844, 0x025ab2c3, 0x03ac5351, 0x033ea8a9, 0x003303a8}}, Y: Field{[10]uint32{0x03452fe6, 0x02f965eb, 0x03543dea, 0x0099844f, 0x03f6074f, 0x017ef998, 0x03dd203b, 0x0228bec8, 0x023b711c, 0x003e641e}}}, + {X: Field{[10]uint32{0x023b2cb4, 0x01b0a4ff, 0x010402cc, 0x016fcdc8, 0x023049f3, 0x00484527, 0x01c76e38, 0x0049466b, 0x035a216d, 0x000f7917}}, Y: Field{[10]uint32{0x007eb02f, 0x038ceb0c, 0x0044cf61, 0x03996a1c, 0x02823e28, 0x025f2441, 0x0208aa4a, 0x02b77143, 0x0198405e, 0x002e8aa1}}}, + {X: Field{[10]uint32{0x020c0222, 0x02f5d44a, 0x00b559cc, 0x03e720ba, 0x0016937e, 0x005c03cb, 0x00a18bfc, 0x0228111b, 0x024d9ca5, 0x002792b1}}, Y: Field{[10]uint32{0x00fdc9bb, 0x03dd9ce9, 0x0104e16c, 0x003cf6ae, 0x001c6203, 0x00ecc034, 0x000e8df6, 0x039d34c2, 0x011d9fe4, 0x0033a917}}}, + {X: Field{[10]uint32{0x00e4e5bf, 0x011d9bdb, 0x005b1723, 0x021a8240, 0x029b67ca, 0x012241ab, 0x023fce37, 0x02fa1f07, 0x01c68959, 0x0021447c}}, Y: Field{[10]uint32{0x01789c08, 0x024a5130, 0x025262fc, 0x0226f14d, 0x032da878, 0x01aa8008, 0x01ddf7ec, 0x03521d30, 0x01cf91bc, 0x003b37fd}}}, + {X: Field{[10]uint32{0x02735a1e, 0x030ec513, 0x01fa05f0, 0x0259af98, 0x004003e0, 0x018480bf, 0x038cddad, 0x015b2d1a, 0x03c0799b, 0x0019e2b1}}, Y: Field{[10]uint32{0x02f7c055, 0x00e97dc4, 0x01457a36, 0x02ccf4dc, 0x02597fff, 0x01c417a3, 0x030ff3d5, 0x00a16de9, 0x0233d9a5, 0x00021453}}}, + {X: Field{[10]uint32{0x013258ab, 0x0159a28f, 0x014dc31b, 0x02062af0, 0x0157d242, 0x03852ad6, 0x03a1c72e, 0x018088b3, 0x012e81cf, 0x00231681}}, Y: Field{[10]uint32{0x022d0f8f, 0x038214c0, 0x004ade57, 0x03e70365, 0x0246dae8, 0x00130230, 0x01a80c79, 0x02f6841e, 0x034bb443, 0x001a0476}}}, + {X: Field{[10]uint32{0x022aa9b8, 0x03a5dc20, 0x02f8ed7b, 0x00a4cd41, 0x0300006e, 0x0316b517, 0x026895d9, 0x003db375, 0x0114d868, 0x00192ea5}}, Y: Field{[10]uint32{0x02163565, 0x0347ee6d, 0x03b35e93, 0x01bda0c1, 0x025fef1b, 0x0066f927, 0x0207728c, 0x006f6edf, 0x0322a643, 0x002049cf}}}, + {X: Field{[10]uint32{0x0391bcee, 0x030a82af, 0x00d84158, 0x023c7830, 0x03f5cf1d, 0x015afc4d, 0x0063cec5, 0x00d582f7, 0x0016debd, 0x0033bdfe}}, Y: Field{[10]uint32{0x01966b33, 0x0136a7e0, 0x036ac6bb, 0x000a85cb, 0x03a63e4b, 0x00074917, 0x023b339c, 0x021c0491, 0x00836374, 0x0019f9d3}}}, + {X: Field{[10]uint32{0x0300bf19, 0x01cee750, 0x02a49471, 0x01daa23f, 0x0392b535, 0x02cd4ada, 0x0160fada, 0x02f76550, 0x03ef360c, 0x0007b203}}, Y: Field{[10]uint32{0x0107cefd, 0x03370730, 0x0207b671, 0x01fd8a56, 0x020146e7, 0x01eaefd7, 0x03a4958a, 0x00d034bc, 0x013756b5, 0x002bbbfa}}}, + }, + { + {X: Field{[10]uint32{0x0300bf19, 0x01cee750, 0x02a49471, 0x01daa23f, 0x0392b535, 0x02cd4ada, 0x0160fada, 0x02f76550, 0x03ef360c, 0x0007b203}}, Y: Field{[10]uint32{0x0107cefd, 0x03370730, 0x0207b671, 0x01fd8a56, 0x020146e7, 0x01eaefd7, 0x03a4958a, 0x00d034bc, 0x013756b5, 0x002bbbfa}}}, + {X: Field{[10]uint32{0x014ff9e4, 0x03a01750, 0x010560da, 0x03dbaf62, 0x038e8462, 0x013f242e, 0x02eaa034, 0x012f1b2f, 0x023519f0, 0x0016f9fa}}, Y: Field{[10]uint32{0x03e0bdbb, 0x002c1e11, 0x02309403, 0x00c08466, 0x020e99c6, 0x0156adff, 0x03f890f6, 0x0398151d, 0x02c3f638, 0x000cbccb}}}, + {X: Field{[10]uint32{0x02fea1f9, 0x01f2ef14, 0x012b94b1, 0x01423011, 0x01c4ff0b, 0x01c4194c, 0x00fddab6, 0x03cba0ef, 0x000a55d1, 0x0029b722}}, Y: Field{[10]uint32{0x03c345e9, 0x0305391e, 0x037e63b1, 0x036df9a3, 0x00057b89, 0x01ab2f14, 0x00683a11, 0x019f0c0e, 0x00547dc3, 0x001fbc6a}}}, + {X: Field{[10]uint32{0x01db7bb8, 0x02d517d3, 0x03991e3f, 0x01927e14, 0x00d50028, 0x0237dfd7, 0x013fc869, 0x01399420, 0x01116eae, 0x00163c26}}, Y: Field{[10]uint32{0x025b2d6e, 0x031cd60b, 0x00302bde, 0x0018b45d, 0x02507ee4, 0x0118e019, 0x022ff761, 0x00446835, 0x002aaffe, 0x001f81c0}}}, + {X: Field{[10]uint32{0x02d6c9b3, 0x01030fc1, 0x01637c8d, 0x03a1d219, 0x028c6c4c, 0x0229206e, 0x01c229c7, 0x011664af, 0x013fea42, 0x003f9aea}}, Y: Field{[10]uint32{0x0148bdfb, 0x031e23ea, 0x029b00c2, 0x02fc170b, 0x02d980f1, 0x01504ed5, 0x03b41b34, 0x0261cada, 0x00d74053, 0x001fba46}}}, + {X: Field{[10]uint32{0x007985c4, 0x004f9dc7, 0x02b108b6, 0x01256e78, 0x00134bfc, 0x00bdd30d, 0x00284280, 0x026df395, 0x01caf7b5, 0x0008c82d}}, Y: Field{[10]uint32{0x002c6d44, 0x013c77d3, 0x02b8d4ff, 0x00847367, 0x03d96f10, 0x03e6f2a4, 0x00721b81, 0x03a50c63, 0x003dc88b, 0x0031e7e5}}}, + {X: Field{[10]uint32{0x00f95151, 0x03c41cc3, 0x00b64422, 0x01b910b1, 0x01b96480, 0x030237b4, 0x020c8c2d, 0x0262fec0, 0x02f146fc, 0x00057578}}, Y: Field{[10]uint32{0x03f8ecf2, 0x0281f30b, 0x000f9482, 0x02e5f763, 0x01bb204f, 0x022408fe, 0x010e1097, 0x0353b1fe, 0x0231915f, 0x00296dcb}}}, + {X: Field{[10]uint32{0x009a8e2c, 0x030581b3, 0x021c1413, 0x00693306, 0x03823d8d, 0x021832c3, 0x03cc04fd, 0x0242d8ce, 0x00b9b297, 0x002c3e79}}, Y: Field{[10]uint32{0x033d0db4, 0x0019b137, 0x00ee76c2, 0x000b05c7, 0x003350cc, 0x01bf78fc, 0x00bb0b90, 0x0379b507, 0x03f1843a, 0x00127a0a}}}, + {X: Field{[10]uint32{0x016a5658, 0x02042e4a, 0x025643d7, 0x014907bd, 0x023814b2, 0x01eb8a6f, 0x007e0092, 0x0111eb63, 0x00725688, 0x0021303a}}, Y: Field{[10]uint32{0x001b80d1, 0x019ca6f6, 0x01fd22d9, 0x02607d3c, 0x02d3a61a, 0x0194dc97, 0x007e3190, 0x008b1282, 0x0380c160, 0x00099660}}}, + {X: Field{[10]uint32{0x01d6fad4, 0x000bca76, 0x0124c5aa, 0x033c7268, 0x0094b357, 0x004f567d, 0x02d04ce2, 0x0247b23e, 0x0280670a, 0x0015b6d8}}, Y: Field{[10]uint32{0x019e0836, 0x02703f4d, 0x01cc867a, 0x02868c79, 0x03f5b8b2, 0x035a0c31, 0x03591016, 0x009c9143, 0x0394db57, 0x0036834e}}}, + {X: Field{[10]uint32{0x00dc6a0f, 0x02ed7225, 0x01575375, 0x02450bf8, 0x02744341, 0x00b01df0, 0x01264e7a, 0x01cc7559, 0x01c71a93, 0x003fb5ac}}, Y: Field{[10]uint32{0x036fc7e0, 0x0235cb65, 0x00409ccb, 0x024c28ff, 0x031374d5, 0x0134eb88, 0x039181ae, 0x03fc2a11, 0x03e6b0ff, 0x002378aa}}}, + {X: Field{[10]uint32{0x023a809c, 0x0382c2f2, 0x0346d79f, 0x03d75e60, 0x02dab662, 0x00952a27, 0x03cf97e4, 0x037d5afe, 0x02c83933, 0x0004979f}}, Y: Field{[10]uint32{0x009e70d9, 0x032402a5, 0x00a3dda8, 0x00bbc1ff, 0x031e4e3b, 0x015c868d, 0x03747caf, 0x032ce221, 0x02ede254, 0x003834fd}}}, + {X: Field{[10]uint32{0x00e29355, 0x02217c46, 0x00d86db3, 0x024ce5c8, 0x002f1c8e, 0x0008ee76, 0x00ef8604, 0x032f1c3f, 0x01d992d3, 0x000a9a93}}, Y: Field{[10]uint32{0x01cc2872, 0x00f803ed, 0x0076c005, 0x00e99313, 0x01fe905a, 0x009a3e43, 0x00fdc81e, 0x01f831d8, 0x03ba7c4a, 0x00219df7}}}, + {X: Field{[10]uint32{0x03681028, 0x00a54479, 0x01bb47f5, 0x017abf2e, 0x03196e23, 0x036bcf63, 0x033ce97d, 0x008386fc, 0x03f1185d, 0x00286b2c}}, Y: Field{[10]uint32{0x00a11c9d, 0x02918f85, 0x017881f1, 0x009c7e83, 0x0266eecb, 0x0223c316, 0x00475882, 0x02ca6da8, 0x03a61abb, 0x00156a20}}}, + {X: Field{[10]uint32{0x0148dabf, 0x03ea23f8, 0x038eb1f9, 0x02e4d275, 0x01c1add2, 0x017eb9cd, 0x0364ec23, 0x01d51b65, 0x03026c92, 0x00390b64}}, Y: Field{[10]uint32{0x011e1361, 0x00b1d5a0, 0x03eb9d77, 0x01c0679d, 0x00327275, 0x037ce14c, 0x0338cebf, 0x0212c362, 0x022c6e2d, 0x001904e1}}}, + {X: Field{[10]uint32{0x026642be, 0x02d64a0d, 0x03a889dd, 0x01c5f562, 0x03ce3490, 0x02037ea2, 0x0300af46, 0x0030be46, 0x038c0467, 0x00051a9d}}, Y: Field{[10]uint32{0x0183efd0, 0x00a5d20f, 0x01ed1d0b, 0x0074bdf9, 0x030aaa97, 0x02752ca1, 0x0269827f, 0x000a2b75, 0x00ec3354, 0x002cc638}}}, + }, + { + {X: Field{[10]uint32{0x026642be, 0x02d64a0d, 0x03a889dd, 0x01c5f562, 0x03ce3490, 0x02037ea2, 0x0300af46, 0x0030be46, 0x038c0467, 0x00051a9d}}, Y: Field{[10]uint32{0x0183efd0, 0x00a5d20f, 0x01ed1d0b, 0x0074bdf9, 0x030aaa97, 0x02752ca1, 0x0269827f, 0x000a2b75, 0x00ec3354, 0x002cc638}}}, + {X: Field{[10]uint32{0x01de5cac, 0x008d955e, 0x0261911b, 0x00f1fb2c, 0x03eefc98, 0x02f34533, 0x0270b5c0, 0x01f89395, 0x00ce8a59, 0x0015d3bc}}, Y: Field{[10]uint32{0x035a4805, 0x026ba9b1, 0x0008cae5, 0x01efbc40, 0x011a260a, 0x01a6de11, 0x016ada05, 0x00671cef, 0x0130281f, 0x00026e66}}}, + {X: Field{[10]uint32{0x03315443, 0x00e1ce09, 0x027299d9, 0x03552ba1, 0x013d79bb, 0x002850a8, 0x02c89982, 0x024d7fd0, 0x00040660, 0x003f1a5b}}, Y: Field{[10]uint32{0x03d28960, 0x003582d5, 0x011b1749, 0x0218426f, 0x01487ff4, 0x01a59ded, 0x030e1cdd, 0x01624aef, 0x03ebf83b, 0x00383389}}}, + {X: Field{[10]uint32{0x020966d3, 0x030b5d09, 0x00645808, 0x0306bbfe, 0x0110a770, 0x026320d7, 0x0109397b, 0x03e7e176, 0x02799d8b, 0x0034f65f}}, Y: Field{[10]uint32{0x033c2e52, 0x03ae1420, 0x004eebdd, 0x0046fa37, 0x03b5e487, 0x03500eb4, 0x02a89275, 0x032579aa, 0x006376ba, 0x002376ed}}}, + {X: Field{[10]uint32{0x02fdb4eb, 0x02cbd705, 0x02a79d1b, 0x01e718b9, 0x028fa3dd, 0x00afac24, 0x0256a356, 0x03cab46b, 0x0221ff4f, 0x0025d2bc}}, Y: Field{[10]uint32{0x01f6f484, 0x0270f7ea, 0x00234840, 0x00a8efff, 0x01111c57, 0x00b0243b, 0x011e43d0, 0x000f2993, 0x007d5350, 0x0015548e}}}, + {X: Field{[10]uint32{0x006b5b56, 0x01857f5f, 0x00b607f3, 0x02abb622, 0x014185c8, 0x02fc8039, 0x03587ed3, 0x010ce337, 0x025700ef, 0x00283a21}}, Y: Field{[10]uint32{0x021d7518, 0x02f7944e, 0x00a51a16, 0x0075c216, 0x01526b87, 0x0214f7ab, 0x01a6b89b, 0x02b542e6, 0x02839fa9, 0x003d6e91}}}, + {X: Field{[10]uint32{0x015aeee3, 0x0012b6d7, 0x00813739, 0x030d9963, 0x01e8284b, 0x01a49c31, 0x0121b3a6, 0x00e62c24, 0x019b49de, 0x0016eaad}}, Y: Field{[10]uint32{0x00f69717, 0x00a6bedc, 0x01eed82d, 0x0276af4c, 0x03215ddc, 0x007ff6bd, 0x01a00866, 0x01fa15b9, 0x03617c0f, 0x002295df}}}, + {X: Field{[10]uint32{0x028c6d4b, 0x003ee4e5, 0x00c12004, 0x033e3d25, 0x02b2be78, 0x032efb82, 0x0174e782, 0x006261ee, 0x013288b3, 0x002c6a99}}, Y: Field{[10]uint32{0x0091ac51, 0x02798aba, 0x03cc383d, 0x02427588, 0x03100a1d, 0x0358ea0e, 0x004aa8e2, 0x0035c49a, 0x031c6081, 0x001fb581}}}, + {X: Field{[10]uint32{0x01726890, 0x02c7913d, 0x03d15851, 0x03fab20d, 0x02e59025, 0x03e44283, 0x0032fceb, 0x0310f404, 0x03a7eb49, 0x003eda17}}, Y: Field{[10]uint32{0x0035783a, 0x03aa3cee, 0x039b2606, 0x004ba439, 0x014fa6cb, 0x02192e82, 0x01ca16d9, 0x0178ba1a, 0x0322c98e, 0x0035d437}}}, + {X: Field{[10]uint32{0x02c6e5bb, 0x03b6bb18, 0x03e6ab7e, 0x03b8d5b3, 0x0324fdff, 0x024a965f, 0x00ab0b83, 0x00417cd6, 0x004108c7, 0x0009445b}}, Y: Field{[10]uint32{0x037e1321, 0x011cca83, 0x0272d4dc, 0x037d4730, 0x0377c508, 0x02057763, 0x037406dc, 0x01df807a, 0x0113e771, 0x0018361a}}}, + {X: Field{[10]uint32{0x00bca48a, 0x012fc4ea, 0x0362f546, 0x03d3a0f7, 0x0178b4d5, 0x00a1fdc7, 0x0327b91c, 0x0265682a, 0x03f659e2, 0x00177963}}, Y: Field{[10]uint32{0x02fd41cd, 0x0253a034, 0x00aa9587, 0x0271383e, 0x003fe5bd, 0x014b4f21, 0x01a623c2, 0x026d54c2, 0x033d8035, 0x001a168e}}}, + {X: Field{[10]uint32{0x00cedd26, 0x01977dd4, 0x015541d7, 0x0277a95c, 0x023cc8b9, 0x0258e78a, 0x01d8100f, 0x03aec984, 0x00372961, 0x002be212}}, Y: Field{[10]uint32{0x00e43f7f, 0x039eb4ec, 0x001708b6, 0x01219ea9, 0x0254549e, 0x02fb4be5, 0x00cbb88e, 0x01c0c34a, 0x03f97b16, 0x003715fe}}}, + {X: Field{[10]uint32{0x01ef63b6, 0x00e0d139, 0x0182ebde, 0x0059cc6c, 0x005ab4d0, 0x02d3f072, 0x01b7fda3, 0x0062febc, 0x01cdead6, 0x001bc609}}, Y: Field{[10]uint32{0x01c655f3, 0x0211b3d1, 0x0145412c, 0x019009fe, 0x013c895a, 0x020ccd15, 0x034204d7, 0x02446e63, 0x027dd591, 0x003fc25f}}}, + {X: Field{[10]uint32{0x02a50e2d, 0x02796c7e, 0x00bdc39f, 0x03b3dab9, 0x00b5a275, 0x00206b74, 0x0256e3ea, 0x0200d96c, 0x02605b88, 0x00148435}}, Y: Field{[10]uint32{0x02fda8ee, 0x026a24d6, 0x0286eb02, 0x03371909, 0x035a273d, 0x03fd9622, 0x0013c0e7, 0x034c04e7, 0x034a5dec, 0x000d7d99}}}, + {X: Field{[10]uint32{0x00a63f3b, 0x0011fb7d, 0x039727b5, 0x000665e3, 0x0183203b, 0x039db1d9, 0x007115f5, 0x028ddad6, 0x0095f762, 0x00317b2e}}, Y: Field{[10]uint32{0x01005024, 0x03cdd1a1, 0x03ee5b53, 0x03b978c2, 0x008beb65, 0x03e48cfb, 0x02a4058f, 0x0207cdd3, 0x01181978, 0x00088949}}}, + {X: Field{[10]uint32{0x0180eef9, 0x01aa1e4c, 0x039776d7, 0x008268a2, 0x028d0012, 0x02a81ec4, 0x03acebb1, 0x0397c1f8, 0x00f61d22, 0x003e9430}}, Y: Field{[10]uint32{0x034f2811, 0x03635f4f, 0x0213b38c, 0x024e95e8, 0x025e6832, 0x00a069a2, 0x02cd2872, 0x03aea6dc, 0x02922397, 0x001ae131}}}, + }, + { + {X: Field{[10]uint32{0x0180eef9, 0x01aa1e4c, 0x039776d7, 0x008268a2, 0x028d0012, 0x02a81ec4, 0x03acebb1, 0x0397c1f8, 0x00f61d22, 0x003e9430}}, Y: Field{[10]uint32{0x034f2811, 0x03635f4f, 0x0213b38c, 0x024e95e8, 0x025e6832, 0x00a069a2, 0x02cd2872, 0x03aea6dc, 0x02922397, 0x001ae131}}}, + {X: Field{[10]uint32{0x007f5048, 0x016f88c6, 0x006d459c, 0x0349120e, 0x02e72328, 0x00ba420d, 0x00140fe0, 0x01d381e0, 0x02ee6190, 0x0018e593}}, Y: Field{[10]uint32{0x01309df8, 0x028a1362, 0x02c84383, 0x024d3779, 0x013d580b, 0x00d2fef2, 0x01ff9b1c, 0x033d068e, 0x033a6b89, 0x000edb3e}}}, + {X: Field{[10]uint32{0x01da5e12, 0x03838ce4, 0x00b2971e, 0x0100572b, 0x02a9c60a, 0x028728ad, 0x02329f93, 0x038c6f36, 0x023c4379, 0x003dd40b}}, Y: Field{[10]uint32{0x0385f4eb, 0x02e717a0, 0x00ebc7a4, 0x00bbdc97, 0x007b86d3, 0x00f59c81, 0x0170945c, 0x03ebf566, 0x01edd67c, 0x000f15fd}}}, + {X: Field{[10]uint32{0x02db2a65, 0x012e87ae, 0x01a31f81, 0x00ab4f2f, 0x01afd7f1, 0x003f27dd, 0x01469ddf, 0x02df88b4, 0x025b4d15, 0x00168f38}}, Y: Field{[10]uint32{0x01327f1d, 0x005c33c7, 0x03e8ed8b, 0x030f6097, 0x033ee28b, 0x03cfe66b, 0x03a6dbfb, 0x017d8e1c, 0x025b92e0, 0x0022cd04}}}, + {X: Field{[10]uint32{0x00b7d105, 0x0124cc44, 0x03c9f207, 0x012e5395, 0x03f4ca5c, 0x038d156c, 0x024f6624, 0x01618a8e, 0x00f983ae, 0x0004bf9e}}, Y: Field{[10]uint32{0x03794a60, 0x02b1bee7, 0x010b8458, 0x01975bba, 0x031dece2, 0x0269f2dd, 0x02b5aa19, 0x02f3dde1, 0x01a338d6, 0x000818bc}}}, + {X: Field{[10]uint32{0x0232478e, 0x00c481cf, 0x027ed237, 0x023caa6e, 0x0024ab31, 0x03cccac8, 0x02c6b7f3, 0x004e203f, 0x01d60106, 0x00350804}}, Y: Field{[10]uint32{0x004e88d4, 0x0015a074, 0x00cc31ce, 0x00bcd542, 0x036fb24b, 0x012fe11e, 0x02d5f5f4, 0x0138306c, 0x00e9a37d, 0x002eb975}}}, + {X: Field{[10]uint32{0x020c5d05, 0x00760ce7, 0x02daff62, 0x0142a95c, 0x02480e6c, 0x020212c6, 0x004bb102, 0x011cf563, 0x031347df, 0x001daab0}}, Y: Field{[10]uint32{0x01ece63e, 0x01866dd4, 0x02ee3556, 0x033c0579, 0x034b1225, 0x00809897, 0x02f32c83, 0x01c3beaf, 0x02ef0d5c, 0x003bd55d}}}, + {X: Field{[10]uint32{0x029f44d0, 0x01ccdd52, 0x03a0016a, 0x01b9a6a3, 0x0385dbcb, 0x0037907f, 0x010be34f, 0x00fb69a4, 0x01af98f9, 0x00173981}}, Y: Field{[10]uint32{0x01d30105, 0x0017cd22, 0x00cc6c0d, 0x02fe8cbb, 0x00ab3cb1, 0x0071db16, 0x0256bd03, 0x01aff9ee, 0x039bec22, 0x00133773}}}, + {X: Field{[10]uint32{0x0053c086, 0x01bd217f, 0x01aec9e2, 0x00d27268, 0x00c6b55c, 0x017a2041, 0x0260c314, 0x0173321f, 0x025bbe5c, 0x002998ff}}, Y: Field{[10]uint32{0x01016201, 0x03140ca9, 0x00fc0e69, 0x0295ce65, 0x03991ecc, 0x02608f70, 0x01b102c8, 0x007efd74, 0x017f6b21, 0x002d5066}}}, + {X: Field{[10]uint32{0x01f40840, 0x0035a472, 0x0359eaa2, 0x010a7954, 0x03a71df4, 0x00e290d1, 0x00eaa239, 0x03dd07f9, 0x0121121f, 0x00380d1b}}, Y: Field{[10]uint32{0x03d7ce72, 0x0286abfc, 0x033edc39, 0x0269baf4, 0x02269cd3, 0x03b9ee8a, 0x016d4a97, 0x02255b5d, 0x03713c99, 0x000fb9a0}}}, + {X: Field{[10]uint32{0x03758574, 0x02007b52, 0x01c6e9ad, 0x02250d3e, 0x03d83266, 0x02b8af7c, 0x03ca1027, 0x0336096d, 0x027a0206, 0x0037a554}}, Y: Field{[10]uint32{0x0367232a, 0x037c7f3e, 0x02deb4b7, 0x00145568, 0x03bae6a1, 0x03c5a7b5, 0x021dc847, 0x03453938, 0x0056ac93, 0x001334f8}}}, + {X: Field{[10]uint32{0x016ddcd3, 0x01c8dee8, 0x0003556a, 0x000087a8, 0x03044b11, 0x02e1d86b, 0x035beb6c, 0x0267b7de, 0x0136f64e, 0x0006b86b}}, Y: Field{[10]uint32{0x027eb2b7, 0x0118674b, 0x0213c7cc, 0x0377f2ed, 0x0159616a, 0x00841122, 0x0074f775, 0x02488167, 0x014987a0, 0x001c0581}}}, + {X: Field{[10]uint32{0x0185474f, 0x026e2aff, 0x00668d77, 0x00ae258d, 0x02894c4a, 0x011e16ba, 0x02dccbe4, 0x00ab76ff, 0x00e066d3, 0x002369af}}, Y: Field{[10]uint32{0x017b4ef7, 0x03e71f4f, 0x01d7a5fd, 0x024c176f, 0x010b1cc5, 0x01c77ffc, 0x03ddf5d0, 0x0353fe13, 0x006af31e, 0x0004ff1b}}}, + {X: Field{[10]uint32{0x029de533, 0x03ffe242, 0x02e3c80f, 0x019c08d5, 0x002a9bb5, 0x0191c49d, 0x02979f6a, 0x0243e483, 0x01123337, 0x00044e2b}}, Y: Field{[10]uint32{0x01332573, 0x02dc253f, 0x040006a8, 0x002d1528, 0x03f679bd, 0x03e569f7, 0x030dc3e9, 0x0076521b, 0x01b75875, 0x002cd549}}}, + {X: Field{[10]uint32{0x01d042ea, 0x0350959f, 0x02fd06b5, 0x0299163a, 0x02ebfa26, 0x00cf24ef, 0x03d6649e, 0x02e8e6c6, 0x00c7cfb3, 0x001cca6b}}, Y: Field{[10]uint32{0x035c94a1, 0x0233fb0b, 0x034f0ada, 0x01cc77ea, 0x02184897, 0x03eada3b, 0x0284e794, 0x01bc5224, 0x013541b7, 0x00249c92}}}, + {X: Field{[10]uint32{0x03067ec2, 0x00f4cad7, 0x025220e5, 0x02d756ee, 0x021a288a, 0x03623a10, 0x025bf6b7, 0x006846c6, 0x01d0ca72, 0x00368758}}, Y: Field{[10]uint32{0x02d836f1, 0x03ee83c6, 0x0348a655, 0x026749e6, 0x0166a738, 0x0072478a, 0x00076616, 0x00c1b1e7, 0x015a7c99, 0x002055fd}}}, + }, + { + {X: Field{[10]uint32{0x03067ec2, 0x00f4cad7, 0x025220e5, 0x02d756ee, 0x021a288a, 0x03623a10, 0x025bf6b7, 0x006846c6, 0x01d0ca72, 0x00368758}}, Y: Field{[10]uint32{0x02d836f1, 0x03ee83c6, 0x0348a655, 0x026749e6, 0x0166a738, 0x0072478a, 0x00076616, 0x00c1b1e7, 0x015a7c99, 0x002055fd}}}, + {X: Field{[10]uint32{0x00d3c369, 0x0084348b, 0x02934b3c, 0x020f87e3, 0x02236054, 0x03704a0e, 0x005d5f61, 0x0311137e, 0x000b4ef4, 0x00271ef8}}, Y: Field{[10]uint32{0x02329515, 0x038ffae8, 0x01cbd29e, 0x00e859da, 0x003e3115, 0x03390052, 0x0226d455, 0x0034814a, 0x00de74b2, 0x00248830}}}, + {X: Field{[10]uint32{0x0295a8db, 0x021dccbe, 0x036f615d, 0x03111e74, 0x03b83ec0, 0x0246c5c8, 0x02966469, 0x03741067, 0x01a46303, 0x0038fa43}}, Y: Field{[10]uint32{0x030d1cf9, 0x01b3dfc6, 0x00d3d101, 0x025f3261, 0x02fbb1ef, 0x01c0b9da, 0x00faa90c, 0x005e2ec0, 0x03c0056c, 0x003ef94e}}}, + {X: Field{[10]uint32{0x03b8c9e3, 0x03364b5e, 0x0178e76b, 0x029c1504, 0x0174dd06, 0x02333124, 0x01664b23, 0x0098eed5, 0x03f42825, 0x0003f360}}, Y: Field{[10]uint32{0x034aa9ad, 0x03557ef7, 0x03bf4e86, 0x0337c589, 0x03adbeae, 0x017f6da0, 0x018232de, 0x03ef3b47, 0x01cfeac5, 0x001b02f0}}}, + {X: Field{[10]uint32{0x012ee214, 0x02bf5904, 0x0154017a, 0x025e564c, 0x00782a4e, 0x01703007, 0x03650dfd, 0x035dd6a2, 0x02c732e3, 0x0027d3ff}}, Y: Field{[10]uint32{0x0085f37a, 0x01108894, 0x000283ef, 0x024c2f22, 0x019719b6, 0x035d71a7, 0x0296682f, 0x00bcb983, 0x02e1318e, 0x0018e738}}}, + {X: Field{[10]uint32{0x001d0ce6, 0x030f72d5, 0x00d41f4f, 0x028b3d66, 0x02748992, 0x00e817ec, 0x0214cce3, 0x02a504bb, 0x022937f1, 0x00050a56}}, Y: Field{[10]uint32{0x0338bb86, 0x0206a2b5, 0x0241a52a, 0x01806d74, 0x01310895, 0x011020ec, 0x0031c448, 0x0141c46c, 0x0363df11, 0x003fa9d4}}}, + {X: Field{[10]uint32{0x0361a0a5, 0x01a05147, 0x00e3ef8b, 0x0386cf05, 0x004b1253, 0x03d102cb, 0x031a0a41, 0x012b06c5, 0x022d4113, 0x0010c7d8}}, Y: Field{[10]uint32{0x00cef899, 0x01edff9e, 0x0177246b, 0x0010d559, 0x0241baaa, 0x01c8ea9c, 0x02de6519, 0x010e3db5, 0x027fe7aa, 0x0028a60c}}}, + {X: Field{[10]uint32{0x026b64f1, 0x00e6512c, 0x02d995cf, 0x00a3d51d, 0x01b7edcf, 0x01447967, 0x00da4c62, 0x03c04353, 0x007f1b58, 0x001c5d50}}, Y: Field{[10]uint32{0x024234d5, 0x039fbeac, 0x01d2a426, 0x02ddd11c, 0x02b01fe8, 0x00d3321b, 0x02d34011, 0x035543cd, 0x014344e3, 0x0010ed15}}}, + {X: Field{[10]uint32{0x03748503, 0x0099f559, 0x028e7cac, 0x011dcc4c, 0x000e6e0e, 0x03e284ab, 0x0362ef39, 0x023ee1b2, 0x02ddece7, 0x00264f6e}}, Y: Field{[10]uint32{0x02b0cee2, 0x01cd84df, 0x01aa49ba, 0x03da6e2b, 0x0217f87b, 0x01e87d46, 0x01f78478, 0x03bbade1, 0x01ee8569, 0x0029486a}}}, + {X: Field{[10]uint32{0x03421e21, 0x0136ea65, 0x022f4e46, 0x0288f3bf, 0x003aca86, 0x010633eb, 0x00289212, 0x005dcaea, 0x006b84e5, 0x0003083a}}, Y: Field{[10]uint32{0x01aa6a45, 0x020f5928, 0x01349dfc, 0x03d96f42, 0x0386ee76, 0x0386696d, 0x01237a11, 0x02b6b068, 0x01bf76d0, 0x003d587a}}}, + {X: Field{[10]uint32{0x02d23d80, 0x02889d69, 0x00d478de, 0x007c991d, 0x00e10bd1, 0x024258b0, 0x039431cb, 0x017a968c, 0x02ba06ad, 0x001d7c5e}}, Y: Field{[10]uint32{0x000dd57e, 0x02a16c0a, 0x02590986, 0x03b6ed3a, 0x02372ffb, 0x0066d8a4, 0x03c7d0bf, 0x026a031f, 0x02fe1563, 0x00281e98}}}, + {X: Field{[10]uint32{0x03344f7f, 0x0233e712, 0x020c4c71, 0x03f52339, 0x00ee8b89, 0x0349b504, 0x017e32cb, 0x0382b83a, 0x004bd972, 0x000d5332}}, Y: Field{[10]uint32{0x01db82d6, 0x02c46ba9, 0x020ec7e4, 0x0006180b, 0x018e36c6, 0x026ea215, 0x010b493f, 0x01ad759d, 0x0329291c, 0x0027012f}}}, + {X: Field{[10]uint32{0x01ad3413, 0x02e6db58, 0x01684ae2, 0x00100c9f, 0x028db9c0, 0x032e1ede, 0x0295f485, 0x03d2829b, 0x015e11d9, 0x00199e15}}, Y: Field{[10]uint32{0x02bca672, 0x0204081f, 0x02660124, 0x0054eb71, 0x02a6ce2d, 0x01f2f7e7, 0x01266d92, 0x03d91a49, 0x023de278, 0x00144376}}}, + {X: Field{[10]uint32{0x0102b4b1, 0x01ed7e0d, 0x00a44748, 0x01535b02, 0x01c4af25, 0x018884ea, 0x0086c0f2, 0x0250a101, 0x0018da0f, 0x002b3bc5}}, Y: Field{[10]uint32{0x02e85bfc, 0x007e9e59, 0x0078c6f8, 0x0242b7c6, 0x012a3f62, 0x03625c73, 0x00017b53, 0x01e93781, 0x019fd7e8, 0x003134d5}}}, + {X: Field{[10]uint32{0x02cc8563, 0x002bd6c1, 0x001eaac0, 0x016fff84, 0x009224df, 0x00658da2, 0x02c82bd8, 0x01dd22b6, 0x02362cda, 0x003af712}}, Y: Field{[10]uint32{0x0394ccfa, 0x005ef3a8, 0x00f9249b, 0x02492481, 0x03bec407, 0x033753c1, 0x01ee35e6, 0x034d7e6c, 0x0144e856, 0x0019668c}}}, + {X: Field{[10]uint32{0x01064e13, 0x00ec1843, 0x01e062a7, 0x038111bc, 0x0215311d, 0x023f5059, 0x015ff98e, 0x001a41c8, 0x02ff0c97, 0x002a38a0}}, Y: Field{[10]uint32{0x01f4cc0c, 0x01f1cc44, 0x02bd6cef, 0x00f94375, 0x008b679a, 0x02c94562, 0x03b7f3c5, 0x007026af, 0x015b8db8, 0x001fe5cd}}}, + }, + { + {X: Field{[10]uint32{0x01064e13, 0x00ec1843, 0x01e062a7, 0x038111bc, 0x0215311d, 0x023f5059, 0x015ff98e, 0x001a41c8, 0x02ff0c97, 0x002a38a0}}, Y: Field{[10]uint32{0x01f4cc0c, 0x01f1cc44, 0x02bd6cef, 0x00f94375, 0x008b679a, 0x02c94562, 0x03b7f3c5, 0x007026af, 0x015b8db8, 0x001fe5cd}}}, + {X: Field{[10]uint32{0x037653a1, 0x03ae7a9f, 0x027c1c15, 0x02a9d4f5, 0x03efbe9e, 0x03a99b98, 0x0076f805, 0x02bb2f2e, 0x02e7e27f, 0x0032b1bc}}, Y: Field{[10]uint32{0x02c5e556, 0x0042b43f, 0x003a068c, 0x0395a204, 0x0081e83a, 0x010a8d14, 0x01b65d9a, 0x01bc6533, 0x02e5e2aa, 0x003df505}}}, + {X: Field{[10]uint32{0x023979b5, 0x00666c2e, 0x0029e22a, 0x023799fa, 0x00ba288f, 0x03b90394, 0x0337f0b1, 0x03898c9f, 0x03c5cdad, 0x002b8881}}, Y: Field{[10]uint32{0x0050fa6f, 0x00f359a1, 0x0388968f, 0x01f4df53, 0x00fca87b, 0x00eb5c18, 0x00c92452, 0x027dc6b5, 0x02510c07, 0x003aa47f}}}, + {X: Field{[10]uint32{0x0224003d, 0x03d2ac21, 0x00b11cc9, 0x00a508e3, 0x014ab767, 0x016390c9, 0x03c5932e, 0x03481bbe, 0x0246ee37, 0x0039b7f7}}, Y: Field{[10]uint32{0x0216b93b, 0x02194388, 0x017dd754, 0x03a949ff, 0x003b1ce5, 0x0223e488, 0x02f48f7b, 0x00e5263c, 0x03b7be91, 0x0021c9ec}}}, + {X: Field{[10]uint32{0x02fca824, 0x00064403, 0x024fae41, 0x013fa885, 0x01e0be0c, 0x01961518, 0x02c54100, 0x02b39673, 0x010cad72, 0x0032e37b}}, Y: Field{[10]uint32{0x03227361, 0x002f4163, 0x01742f14, 0x037f1e4c, 0x0096ad1f, 0x028b32f1, 0x0316c487, 0x0223216c, 0x008f740d, 0x000ce940}}}, + {X: Field{[10]uint32{0x00e4dd6a, 0x0384787b, 0x01cef559, 0x02728c88, 0x020a00e4, 0x02359311, 0x01eca37e, 0x00ad92f2, 0x00f7b279, 0x001276f9}}, Y: Field{[10]uint32{0x029e3eae, 0x02dca90a, 0x03b69b13, 0x00bf2816, 0x021c3855, 0x01a48956, 0x01fe33db, 0x02071cb1, 0x02984704, 0x002e2d5c}}}, + {X: Field{[10]uint32{0x03cbd327, 0x006d368e, 0x02aee941, 0x01488792, 0x02b04e08, 0x01f9dbb5, 0x0294900d, 0x020d9c23, 0x03298af1, 0x002c314e}}, Y: Field{[10]uint32{0x017be436, 0x01af128b, 0x02a0f161, 0x0031d18d, 0x03d82a22, 0x02d9acab, 0x00f6a601, 0x01fa858e, 0x03401fbd, 0x003b8aa5}}}, + {X: Field{[10]uint32{0x00dce109, 0x00440d52, 0x011d3b0e, 0x005273c8, 0x02e250e3, 0x02b25820, 0x0240cfc7, 0x0208f59a, 0x009cd9a6, 0x000f1382}}, Y: Field{[10]uint32{0x0219aeea, 0x03d9648e, 0x02697e2b, 0x010b65ff, 0x039579e1, 0x015d934d, 0x0357bca1, 0x0246d201, 0x02669fe1, 0x0010feef}}}, + {X: Field{[10]uint32{0x03b836a1, 0x03bed8e5, 0x01ef7de6, 0x017fdd9e, 0x02c80640, 0x039dfd49, 0x018862ec, 0x02e48353, 0x033f329d, 0x001bdae9}}, Y: Field{[10]uint32{0x02832b84, 0x037cbec1, 0x03f934db, 0x014a2387, 0x00d8990c, 0x016fba70, 0x030b8a40, 0x030638f6, 0x0217ff5f, 0x00371de2}}}, + {X: Field{[10]uint32{0x025d5241, 0x015adfe0, 0x012f6680, 0x032a482f, 0x02563ed7, 0x002cfaa2, 0x00277d34, 0x019d394d, 0x01ada779, 0x003e3307}}, Y: Field{[10]uint32{0x0070e10a, 0x02bc0e3c, 0x00bd4960, 0x01b187ac, 0x0052c2d7, 0x01459bc1, 0x03e892fa, 0x01c3facc, 0x024410b1, 0x0004f793}}}, + {X: Field{[10]uint32{0x02b39ede, 0x038d0827, 0x012d42ae, 0x00cb5c18, 0x00310880, 0x004090d8, 0x00ff467e, 0x00abd2ef, 0x027dc742, 0x001f51c6}}, Y: Field{[10]uint32{0x03f6607e, 0x02f3652a, 0x028fd0c9, 0x01f4708a, 0x027795cf, 0x03ff21be, 0x0382231e, 0x0215941e, 0x0319f3a6, 0x0000129e}}}, + {X: Field{[10]uint32{0x00e5f03a, 0x022d6f7d, 0x006d54fe, 0x03ac7858, 0x0196565f, 0x035f7f8d, 0x03dcfb33, 0x02f8cdcd, 0x03dd0289, 0x002030d3}}, Y: Field{[10]uint32{0x023ca504, 0x03d151bf, 0x005cb117, 0x03bc7cc9, 0x03d30b2a, 0x01f72680, 0x02db5700, 0x007b3557, 0x0056a78c, 0x00091f82}}}, + {X: Field{[10]uint32{0x025eb1c1, 0x03527895, 0x01c5aa56, 0x019f36b9, 0x027fcd75, 0x0260bc25, 0x030fcc31, 0x00feb1c1, 0x0163f9b7, 0x003c0094}}, Y: Field{[10]uint32{0x01de2ae0, 0x01f5c11b, 0x011e57da, 0x01735b34, 0x018576ff, 0x0289abfb, 0x026b4a5d, 0x00837d31, 0x01e8883d, 0x000153aa}}}, + {X: Field{[10]uint32{0x0214f422, 0x00281872, 0x00deca61, 0x03b67931, 0x00b383e4, 0x0136f1ef, 0x03e80221, 0x037cf52b, 0x02e897a9, 0x001b3b46}}, Y: Field{[10]uint32{0x004fc091, 0x00f690f6, 0x00932ae7, 0x0321e6a7, 0x008ca102, 0x02f9ae6e, 0x0095a728, 0x0239eaed, 0x02eb1b0f, 0x00096222}}}, + {X: Field{[10]uint32{0x02c32c64, 0x00d424f6, 0x00bf84cf, 0x000fb2b9, 0x020e36fe, 0x03d1dc57, 0x0304e950, 0x008ea83d, 0x000001ed, 0x002b0485}}, Y: Field{[10]uint32{0x02b1a867, 0x00ab6eb7, 0x03089881, 0x00e9694f, 0x03ed5a5d, 0x00c12668, 0x030b6957, 0x022ebc61, 0x00cbac33, 0x0033a3af}}}, + {X: Field{[10]uint32{0x0319497c, 0x00e0b7a0, 0x008c022f, 0x03e94494, 0x015d59b1, 0x0244f2ac, 0x039e56e6, 0x02161cb4, 0x03b9c9a2, 0x0005d294}}, Y: Field{[10]uint32{0x039afa73, 0x0284eb01, 0x0054383d, 0x007632e6, 0x02646b3a, 0x0311fe79, 0x034155f2, 0x0270595e, 0x0037abfc, 0x00333277}}}, + }, + { + {X: Field{[10]uint32{0x0319497c, 0x00e0b7a0, 0x008c022f, 0x03e94494, 0x015d59b1, 0x0244f2ac, 0x039e56e6, 0x02161cb4, 0x03b9c9a2, 0x0005d294}}, Y: Field{[10]uint32{0x039afa73, 0x0284eb01, 0x0054383d, 0x007632e6, 0x02646b3a, 0x0311fe79, 0x034155f2, 0x0270595e, 0x0037abfc, 0x00333277}}}, + {X: Field{[10]uint32{0x000dd273, 0x0368dbe1, 0x001115f5, 0x00383914, 0x03d53d28, 0x006e4ba8, 0x007071ef, 0x01aed8c3, 0x02e79694, 0x000839b8}}, Y: Field{[10]uint32{0x0346b593, 0x033f456e, 0x0293cc07, 0x01e4f6a1, 0x01811ec9, 0x01e1d195, 0x00ba1ad9, 0x01679128, 0x02fe4f15, 0x0034eb5e}}}, + {X: Field{[10]uint32{0x014b8367, 0x0201cf5d, 0x006bfe94, 0x01f59f54, 0x01b775b7, 0x0210da97, 0x00aa5d45, 0x0149b903, 0x014ae446, 0x00179682}}, Y: Field{[10]uint32{0x01ce85ca, 0x00a6a764, 0x03fa4453, 0x03bcf797, 0x02796aa9, 0x01ca92de, 0x00901f15, 0x0178170b, 0x00c9a479, 0x002ba2be}}}, + {X: Field{[10]uint32{0x02077674, 0x0153cc06, 0x00ca3e7b, 0x004db309, 0x0035ae68, 0x039c76dc, 0x00280a07, 0x01476ea0, 0x0024d7a3, 0x0023832a}}, Y: Field{[10]uint32{0x02b7ed98, 0x0132fb04, 0x010290b8, 0x00674be4, 0x03cff604, 0x0298b3d5, 0x0169d24d, 0x00b50771, 0x02075919, 0x00013b15}}}, + {X: Field{[10]uint32{0x03b10d9d, 0x0215e4e5, 0x00fcaf19, 0x0062747e, 0x01e6a52f, 0x00432e0b, 0x02ccb833, 0x00ba1677, 0x00adb970, 0x00003538}}, Y: Field{[10]uint32{0x0140dced, 0x0040121c, 0x01923e82, 0x0325e38b, 0x030b5898, 0x00c8a1fd, 0x012f8464, 0x0190251f, 0x01981837, 0x0021ee00}}}, + {X: Field{[10]uint32{0x00bcad59, 0x017a0d83, 0x02aa07b0, 0x00169382, 0x017c845a, 0x017e40bc, 0x0217c85a, 0x00d801ea, 0x001152ac, 0x000bb5db}}, Y: Field{[10]uint32{0x00ea66fe, 0x031ea271, 0x0394114a, 0x0004c29f, 0x015f72c6, 0x0205d9fb, 0x01a6eaec, 0x017c88b3, 0x014043b8, 0x0018e7d3}}}, + {X: Field{[10]uint32{0x009caee8, 0x00469827, 0x030bb208, 0x0116c689, 0x03632e20, 0x03b12999, 0x037a19ae, 0x01d303db, 0x021368ef, 0x0000d994}}, Y: Field{[10]uint32{0x0372b711, 0x03b1a8ed, 0x03a7f0a9, 0x0224ca56, 0x0101cba9, 0x02e9a511, 0x009fc681, 0x037b6665, 0x032b2a93, 0x0007c630}}}, + {X: Field{[10]uint32{0x00192441, 0x02bf17aa, 0x034afe96, 0x00868c86, 0x01afdb58, 0x038f59b0, 0x03a63553, 0x020b4717, 0x00da51c9, 0x003deed4}}, Y: Field{[10]uint32{0x005165ae, 0x0103a875, 0x0074bbc6, 0x007eef13, 0x01b1cfdc, 0x03799217, 0x01bc63bd, 0x029498c4, 0x03e30334, 0x0024f30e}}}, + {X: Field{[10]uint32{0x0046c85c, 0x03e5d465, 0x0006353f, 0x00239807, 0x02de37de, 0x00fdb1ba, 0x00676c45, 0x023c7ea8, 0x01056fdb, 0x00039624}}, Y: Field{[10]uint32{0x0148972e, 0x031df9c8, 0x01add5f6, 0x013a0337, 0x00f49023, 0x03d20626, 0x007418ba, 0x01ef683b, 0x005f11fa, 0x0038e692}}}, + {X: Field{[10]uint32{0x015ae087, 0x01240401, 0x00a57e03, 0x01be8d25, 0x00c671b9, 0x010e8544, 0x03945fb7, 0x029660b4, 0x03155b6e, 0x0028d199}}, Y: Field{[10]uint32{0x02887627, 0x03cd98c8, 0x030bccb3, 0x01bc8e53, 0x01c53eab, 0x028a8c14, 0x02fe9a1a, 0x0316f637, 0x03a5e56b, 0x00087297}}}, + {X: Field{[10]uint32{0x022e1259, 0x022b7cf0, 0x0362aff1, 0x02901a04, 0x01931739, 0x0001dddc, 0x02cf5faa, 0x0118fcad, 0x026d26f1, 0x0029d004}}, Y: Field{[10]uint32{0x034a5f43, 0x01c5c90c, 0x02dad5f7, 0x01d4ec75, 0x0117865e, 0x019f1fb9, 0x005f174a, 0x03c7fc6c, 0x03baf194, 0x00016a7f}}}, + {X: Field{[10]uint32{0x00b84b48, 0x03d15c79, 0x017ea830, 0x031e67a0, 0x0091adf4, 0x03505fdc, 0x0110f577, 0x0293d506, 0x030e7d45, 0x0017ec77}}, Y: Field{[10]uint32{0x03be8eb8, 0x037a9a8d, 0x021ad77e, 0x02421cfc, 0x020629c3, 0x039b4960, 0x00f4646f, 0x013527ef, 0x03bcbc3c, 0x000854be}}}, + {X: Field{[10]uint32{0x0308f1fe, 0x0285e8f2, 0x007bfd88, 0x039c2e82, 0x03d7ce7e, 0x0360b45d, 0x01405765, 0x01d39299, 0x00216d94, 0x0021f92e}}, Y: Field{[10]uint32{0x02d5e2ec, 0x01d2b26b, 0x02d9d75f, 0x036f59e1, 0x006e2f23, 0x00be30b3, 0x03d7f8ea, 0x01233b35, 0x02c07663, 0x003dd38e}}}, + {X: Field{[10]uint32{0x01b8f255, 0x01b661fe, 0x00d21114, 0x039d24a8, 0x01e77d43, 0x02aa0bfa, 0x022e4608, 0x02e29058, 0x017478e1, 0x00256ef6}}, Y: Field{[10]uint32{0x00361439, 0x038ffa0a, 0x03fc1010, 0x02bbf1dd, 0x00f2ba72, 0x003cb436, 0x032c208f, 0x031dff7b, 0x02d129e3, 0x002fb50e}}}, + {X: Field{[10]uint32{0x01c4d15c, 0x01c039a8, 0x0274b9a8, 0x02fc1f03, 0x00105ea7, 0x00495291, 0x02c22c0c, 0x01e696a4, 0x03463fea, 0x000d7a86}}, Y: Field{[10]uint32{0x033fe1ea, 0x00e6ebdf, 0x0095edc9, 0x0280c194, 0x005d633a, 0x01d34ec6, 0x008fa5fd, 0x034b35e2, 0x01651b9e, 0x002b4864}}}, + {X: Field{[10]uint32{0x0075b7ba, 0x03f7fc25, 0x00b3d884, 0x00c39246, 0x03e039e7, 0x01406336, 0x03e57edf, 0x01e170f4, 0x02981943, 0x002564e5}}, Y: Field{[10]uint32{0x0124f2fd, 0x022afe1d, 0x01385e9b, 0x019321c2, 0x009c653f, 0x02e735a1, 0x020386a4, 0x00c7762e, 0x012888c3, 0x000b9f95}}}, + }, + { + {X: Field{[10]uint32{0x0075b7ba, 0x03f7fc25, 0x00b3d884, 0x00c39246, 0x03e039e7, 0x01406336, 0x03e57edf, 0x01e170f4, 0x02981943, 0x002564e5}}, Y: Field{[10]uint32{0x0124f2fd, 0x022afe1d, 0x01385e9b, 0x019321c2, 0x009c653f, 0x02e735a1, 0x020386a4, 0x00c7762e, 0x012888c3, 0x000b9f95}}}, + {X: Field{[10]uint32{0x03c8f53b, 0x01d6a502, 0x007c7072, 0x01ace45d, 0x02d70222, 0x035cf657, 0x0232ca7d, 0x029f7abf, 0x0005ff0d, 0x0032fb85}}, Y: Field{[10]uint32{0x00c87f45, 0x00b9ac9e, 0x03728292, 0x03da049b, 0x030d9ff4, 0x02e0a533, 0x01f3e689, 0x03e40ad4, 0x034f4e75, 0x003d8847}}}, + {X: Field{[10]uint32{0x03d69985, 0x03177643, 0x032aea09, 0x032db77d, 0x009f309c, 0x02f333c5, 0x00f690df, 0x00bdf9e2, 0x0275ceb7, 0x0002ba5d}}, Y: Field{[10]uint32{0x0009a003, 0x023ad045, 0x01aff89c, 0x0105ebb8, 0x01d0b99d, 0x01469531, 0x038dfee0, 0x023453a6, 0x0173f6e4, 0x00244866}}}, + {X: Field{[10]uint32{0x00b311dd, 0x01f222c5, 0x01b9cf37, 0x02bbef5c, 0x003de3be, 0x02e894b8, 0x0180bfa0, 0x03d6b375, 0x02d28faa, 0x002b756e}}, Y: Field{[10]uint32{0x01d6c38d, 0x0260bcd2, 0x01b8902f, 0x039d9a6e, 0x0352d4e1, 0x00d66053, 0x00e434f8, 0x030e965d, 0x00f4da3d, 0x003a710f}}}, + {X: Field{[10]uint32{0x01262b90, 0x0064f7f6, 0x0029a9dc, 0x0307f8f3, 0x03b723c4, 0x02009747, 0x0365f177, 0x0184bb26, 0x022a5ac1, 0x000ac561}}, Y: Field{[10]uint32{0x003d7557, 0x0265b992, 0x009a4991, 0x01c3e652, 0x026f5349, 0x02a1d241, 0x0230d52d, 0x00cfea9e, 0x013daa0a, 0x000bac01}}}, + {X: Field{[10]uint32{0x0078afb0, 0x016b9e58, 0x021974e7, 0x031b1049, 0x0314ff12, 0x019b45c1, 0x00d4468c, 0x018ed492, 0x03cd7661, 0x0008275a}}, Y: Field{[10]uint32{0x0340b310, 0x006ddd69, 0x023e385d, 0x024ce7d3, 0x0301edb7, 0x02626296, 0x0165baba, 0x00ca0282, 0x03429e7b, 0x00068bc4}}}, + {X: Field{[10]uint32{0x00e7be40, 0x025c532a, 0x00ee593f, 0x02524410, 0x02f2d2c8, 0x01b91da6, 0x0295c161, 0x03b99dfb, 0x02ed1a96, 0x001abe7a}}, Y: Field{[10]uint32{0x02387e1c, 0x005b809b, 0x01569fa4, 0x019a83d6, 0x0145e3f6, 0x00d1f720, 0x009ea428, 0x0199259c, 0x02116900, 0x002ce04a}}}, + {X: Field{[10]uint32{0x017c0979, 0x01900283, 0x00c96f5f, 0x0052f16a, 0x024a29b3, 0x03d073b4, 0x029df3df, 0x005c50fe, 0x032ba817, 0x0014fc90}}, Y: Field{[10]uint32{0x037b36a2, 0x01fa4314, 0x03845f9f, 0x03d727a2, 0x024bd5a4, 0x0046c1f7, 0x014e3e09, 0x01e6df33, 0x03fbc1f0, 0x002f54bb}}}, + {X: Field{[10]uint32{0x0082801e, 0x02dbe83d, 0x00155d26, 0x022f16f5, 0x0140794f, 0x032e35be, 0x03aab424, 0x00513bac, 0x00ee0444, 0x0016599a}}, Y: Field{[10]uint32{0x00870c37, 0x01c523c1, 0x0135ad47, 0x032d8f4d, 0x028db6c1, 0x01dc4c13, 0x008f9608, 0x03bd7c7b, 0x00a85bba, 0x002526a8}}}, + {X: Field{[10]uint32{0x00977063, 0x00102962, 0x00c4fef4, 0x022fec4c, 0x0365bf6f, 0x019f83f6, 0x0150f838, 0x0269bd87, 0x029e047f, 0x0029d8b9}}, Y: Field{[10]uint32{0x014f6ef1, 0x00da7e0a, 0x00e62a06, 0x028e5b7f, 0x01958b48, 0x00cdcaa2, 0x021732d9, 0x00455e06, 0x0157cbed, 0x001ae637}}}, + {X: Field{[10]uint32{0x032c19fd, 0x026cb9f0, 0x028c3e4c, 0x03a41600, 0x034acab8, 0x02d5c2d6, 0x01f4d17a, 0x0141d8bf, 0x01881b50, 0x002fa134}}, Y: Field{[10]uint32{0x02f1281f, 0x025294dc, 0x01c37676, 0x03d57943, 0x007955a7, 0x00c20e65, 0x01e65f48, 0x01425134, 0x00cb32dc, 0x003bfe58}}}, + {X: Field{[10]uint32{0x0355a9bf, 0x02c0a637, 0x01bf8ebc, 0x03bca7a9, 0x00f6b015, 0x0075f15e, 0x00307f60, 0x00c60604, 0x00eb9c6e, 0x001c98a6}}, Y: Field{[10]uint32{0x003accae, 0x01be2c2f, 0x033b4e11, 0x032f0019, 0x00be797b, 0x00f42678, 0x0035a2ef, 0x026ff6a6, 0x0001a9de, 0x000e3522}}}, + {X: Field{[10]uint32{0x02c69482, 0x02dd7f55, 0x02167bd1, 0x01004cbe, 0x00cbeab5, 0x02bcaf22, 0x0357274c, 0x01fb9507, 0x00314c0d, 0x002619e8}}, Y: Field{[10]uint32{0x03792cd7, 0x0018451b, 0x028a916f, 0x033d4558, 0x039e6245, 0x006ea658, 0x0392d55b, 0x020d3e71, 0x015a3b10, 0x00340b98}}}, + {X: Field{[10]uint32{0x01a7e7d2, 0x01fcb610, 0x03d85995, 0x0230fbea, 0x03a4c90e, 0x0251b791, 0x03af7555, 0x039229a4, 0x030f1339, 0x002e4d04}}, Y: Field{[10]uint32{0x00653d39, 0x02646a26, 0x00c41a4a, 0x036f9c37, 0x03ffd381, 0x02fde347, 0x00929a5f, 0x0015daa8, 0x036b9b2d, 0x002548cf}}}, + {X: Field{[10]uint32{0x01557aa1, 0x008e7647, 0x03c2978a, 0x03fb3407, 0x03df1d92, 0x002675aa, 0x027f2ea0, 0x02056964, 0x024540d8, 0x002a19bc}}, Y: Field{[10]uint32{0x01430634, 0x006eed30, 0x01a4b798, 0x0319f184, 0x0161eb69, 0x036c384e, 0x013d8fa5, 0x00ad135e, 0x01f6a802, 0x002d61ce}}}, + {X: Field{[10]uint32{0x0182b151, 0x004d0327, 0x03a2dbb5, 0x00f5587e, 0x03cca0a4, 0x02c426a3, 0x005a1153, 0x00795b59, 0x0250ae40, 0x0034a98e}}, Y: Field{[10]uint32{0x00f89405, 0x01085d37, 0x00a52d41, 0x002bd213, 0x00a70f75, 0x00a52088, 0x01aee58b, 0x03f2dd59, 0x02fb6443, 0x003a0b61}}}, + }, + { + {X: Field{[10]uint32{0x0182b151, 0x004d0327, 0x03a2dbb5, 0x00f5587e, 0x03cca0a4, 0x02c426a3, 0x005a1153, 0x00795b59, 0x0250ae40, 0x0034a98e}}, Y: Field{[10]uint32{0x00f89405, 0x01085d37, 0x00a52d41, 0x002bd213, 0x00a70f75, 0x00a52088, 0x01aee58b, 0x03f2dd59, 0x02fb6443, 0x003a0b61}}}, + {X: Field{[10]uint32{0x0272da5f, 0x0312eb32, 0x013497c6, 0x01acdb10, 0x0122b9cd, 0x00cdc97e, 0x03c72020, 0x0149788e, 0x03a76100, 0x002ebc60}}, Y: Field{[10]uint32{0x00f2a0cf, 0x03398a2a, 0x01361377, 0x031729ce, 0x018e2336, 0x035a6c74, 0x008bd58d, 0x0134cd5a, 0x03be9ccb, 0x0037ab27}}}, + {X: Field{[10]uint32{0x024b3ba0, 0x027d8d7b, 0x031f1785, 0x03d7c62f, 0x035c2abe, 0x006fc917, 0x03e170f3, 0x03edcefb, 0x0105221f, 0x00104204}}, Y: Field{[10]uint32{0x03525595, 0x02587705, 0x02455486, 0x02159681, 0x00133649, 0x035ae126, 0x00a65ae1, 0x0159a3cb, 0x036976ff, 0x00370dfc}}}, + {X: Field{[10]uint32{0x016c3943, 0x02b29631, 0x02a5ffa5, 0x00b55add, 0x015adbd0, 0x03923dbf, 0x01332906, 0x01008e3e, 0x00a7e384, 0x003debbe}}, Y: Field{[10]uint32{0x00f442f1, 0x03d89feb, 0x01003431, 0x0212a373, 0x03eec301, 0x00eacff3, 0x0042bbdc, 0x0369e5f1, 0x0344d5ff, 0x00138ec2}}}, + {X: Field{[10]uint32{0x03d98ded, 0x02726e24, 0x00218462, 0x020cee28, 0x02dbdf22, 0x014c7597, 0x00f22990, 0x03032323, 0x0210a16c, 0x0018e8a8}}, Y: Field{[10]uint32{0x00d1cfc2, 0x0065f538, 0x0073a519, 0x0280271e, 0x021fabf6, 0x013b6511, 0x02503325, 0x031dbf41, 0x02e2e7fe, 0x00220ad0}}}, + {X: Field{[10]uint32{0x000e5485, 0x02799a80, 0x01df0208, 0x022fd769, 0x02451306, 0x01cc83c4, 0x02c70862, 0x02f7fe38, 0x02d793a2, 0x0007349d}}, Y: Field{[10]uint32{0x005fbd7f, 0x033c1462, 0x024ecca5, 0x01c2c826, 0x0399d0e2, 0x014ba5df, 0x00b34d45, 0x02bdce35, 0x01d18b2e, 0x0019856f}}}, + {X: Field{[10]uint32{0x00045445, 0x0186942e, 0x00d7eea8, 0x01c6407a, 0x0080ff73, 0x0355efbc, 0x0312e2e5, 0x019f28f7, 0x015d449d, 0x00030560}}, Y: Field{[10]uint32{0x0054a206, 0x03e1f550, 0x00ea3214, 0x0390d963, 0x00ba3054, 0x0198f34a, 0x0293c3b6, 0x01045742, 0x020a3ae9, 0x000bcc35}}}, + {X: Field{[10]uint32{0x01924459, 0x032515c4, 0x0278c1fa, 0x00968f1e, 0x037af2fa, 0x03776ec7, 0x022e29f0, 0x0240db16, 0x03cb1001, 0x0037ed51}}, Y: Field{[10]uint32{0x0065fd9e, 0x00178373, 0x031dcfa2, 0x00c39700, 0x0022af09, 0x03721933, 0x00389ce9, 0x011c222e, 0x02a9ba0f, 0x0026b334}}}, + {X: Field{[10]uint32{0x03857faf, 0x0048e730, 0x019701e9, 0x03787a58, 0x03882fca, 0x020a3bdf, 0x017ba8f4, 0x022a7035, 0x036b89ae, 0x0031d5fa}}, Y: Field{[10]uint32{0x00584ca4, 0x0276c328, 0x014c101d, 0x00344062, 0x03627d31, 0x022fb186, 0x03369f20, 0x03fcd895, 0x01cfcd23, 0x003c0e96}}}, + {X: Field{[10]uint32{0x02f8b517, 0x02ecd463, 0x01bac9a8, 0x00691c5c, 0x0177c277, 0x02845789, 0x01bc8064, 0x036c9257, 0x02f7ccc4, 0x001c4808}}, Y: Field{[10]uint32{0x009da1ac, 0x01f7ca09, 0x01d7748b, 0x037cef5e, 0x01a3603e, 0x00251d50, 0x03101f9b, 0x03a4a2b9, 0x0338de4d, 0x002f55e0}}}, + {X: Field{[10]uint32{0x0059225d, 0x034613d5, 0x018d10e4, 0x01f8b621, 0x0244faf7, 0x006700a8, 0x015d4099, 0x028343e0, 0x03aeadaf, 0x003ea018}}, Y: Field{[10]uint32{0x02ce1507, 0x02df8edf, 0x0059c3a2, 0x00db401f, 0x000a2b6c, 0x00931097, 0x00de2208, 0x0301a458, 0x039057c0, 0x0002e9c7}}}, + {X: Field{[10]uint32{0x010bc03e, 0x014f566a, 0x015e33c7, 0x024d4780, 0x0084b0f3, 0x011143e0, 0x01a925f7, 0x001cba79, 0x00ed2c82, 0x000b3bb6}}, Y: Field{[10]uint32{0x02b82adc, 0x01cae2de, 0x03cd01cb, 0x033c8354, 0x034a1df9, 0x03f1f6ba, 0x0050eb7a, 0x0378fb36, 0x0380e9b9, 0x002909da}}}, + {X: Field{[10]uint32{0x02f0d044, 0x027fa505, 0x021a7967, 0x03524279, 0x01aaba9f, 0x018bb829, 0x02f69cf8, 0x015ea278, 0x03c59d02, 0x00196328}}, Y: Field{[10]uint32{0x03cb872d, 0x007ccbbd, 0x00e89add, 0x018f1063, 0x0255a167, 0x004ef4dd, 0x0165d627, 0x0095183c, 0x01377aea, 0x002b9730}}}, + {X: Field{[10]uint32{0x02aa2494, 0x03538c50, 0x00c9a50c, 0x03f9f744, 0x027bdcdd, 0x013aef20, 0x01136e7c, 0x03a3b374, 0x009a4539, 0x000de71d}}, Y: Field{[10]uint32{0x02c86c63, 0x03ea7a33, 0x016435be, 0x029edfa1, 0x011364f6, 0x019e0fc4, 0x01c0ef1d, 0x0300c4f2, 0x03848bf9, 0x00289518}}}, + {X: Field{[10]uint32{0x0296756d, 0x02b255cd, 0x01417ab5, 0x01815958, 0x00676af1, 0x034fcc17, 0x00c19835, 0x03caeb39, 0x034aaf91, 0x000c7252}}, Y: Field{[10]uint32{0x0208ae78, 0x0117a377, 0x01070abc, 0x032b9ab4, 0x0283aedf, 0x02bd0581, 0x00b8b59a, 0x020ea6fd, 0x004b556e, 0x003e03e2}}}, + {X: Field{[10]uint32{0x0217e073, 0x01be6d15, 0x0317b343, 0x02f4e0e4, 0x026bacbd, 0x01f3f721, 0x02e7896d, 0x007ae243, 0x02233547, 0x0019161f}}, Y: Field{[10]uint32{0x03af6589, 0x026797a7, 0x02ab3582, 0x00e44ceb, 0x0185b90a, 0x01f0a668, 0x016dd644, 0x000b8aba, 0x01d5bf69, 0x003667f3}}}, + }, + { + {X: Field{[10]uint32{0x0217e073, 0x01be6d15, 0x0317b343, 0x02f4e0e4, 0x026bacbd, 0x01f3f721, 0x02e7896d, 0x007ae243, 0x02233547, 0x0019161f}}, Y: Field{[10]uint32{0x03af6589, 0x026797a7, 0x02ab3582, 0x00e44ceb, 0x0185b90a, 0x01f0a668, 0x016dd644, 0x000b8aba, 0x01d5bf69, 0x003667f3}}}, + {X: Field{[10]uint32{0x0384480d, 0x03362310, 0x032ef44b, 0x0288aa47, 0x0294e0b6, 0x024bc304, 0x0328b54c, 0x02503cb3, 0x02b142df, 0x002e19b5}}, Y: Field{[10]uint32{0x004cafa8, 0x0166d1c3, 0x006d60e6, 0x02012c76, 0x0024e522, 0x02a6b5eb, 0x02278d7e, 0x03adc226, 0x00b3426a, 0x0006452c}}}, + {X: Field{[10]uint32{0x02103dd6, 0x01c51c83, 0x00859adf, 0x0301f001, 0x02c34604, 0x0164a85e, 0x02213cfc, 0x000fe0da, 0x03d55a42, 0x002f11de}}, Y: Field{[10]uint32{0x02f7c343, 0x0020b635, 0x004ac639, 0x01cb18ed, 0x015d2935, 0x01b7a98e, 0x03ac552c, 0x037549b2, 0x022429a8, 0x0038c787}}}, + {X: Field{[10]uint32{0x01b20d6c, 0x02736a07, 0x02455d22, 0x0393b53f, 0x03e2d52a, 0x0040aea1, 0x019d1646, 0x02067b13, 0x009085de, 0x003b0aee}}, Y: Field{[10]uint32{0x029cf4a0, 0x02671358, 0x03a98a0e, 0x012fa1fb, 0x0233a236, 0x01425031, 0x02f66f06, 0x004e84cc, 0x017661e0, 0x00333b30}}}, + {X: Field{[10]uint32{0x004eab31, 0x0370ec35, 0x034907d0, 0x00501398, 0x000ac5af, 0x019efe3a, 0x003b4232, 0x02e0e00c, 0x00fe5a6b, 0x0016276d}}, Y: Field{[10]uint32{0x01361f6a, 0x02baf9d4, 0x038db941, 0x01548523, 0x031f610e, 0x012f643c, 0x00706202, 0x028a93d8, 0x005c108a, 0x00189551}}}, + {X: Field{[10]uint32{0x02695f94, 0x0202c60d, 0x03fa592d, 0x031a4589, 0x0362a169, 0x02be6a73, 0x00cb8683, 0x023d7f43, 0x0151b455, 0x002c7497}}, Y: Field{[10]uint32{0x02e32736, 0x01fae697, 0x03edca5b, 0x0236ae18, 0x0360f6f1, 0x026aea05, 0x03ea0ac1, 0x0242c7de, 0x0272030e, 0x001c1b76}}}, + {X: Field{[10]uint32{0x020c2c41, 0x02585ca6, 0x036c67bf, 0x0071580c, 0x0042831c, 0x035bb6df, 0x00a1860a, 0x00be8baa, 0x0337d16e, 0x0004ce6c}}, Y: Field{[10]uint32{0x01f1bc2b, 0x03c152ea, 0x023a4185, 0x03e1f7a4, 0x006b1227, 0x0044e8d0, 0x023240fd, 0x02b96e9e, 0x016362c7, 0x0027e6ca}}}, + {X: Field{[10]uint32{0x03b09d0f, 0x0183b2c8, 0x03ecf38a, 0x01903d42, 0x01e50050, 0x03951641, 0x01d75ef5, 0x025b3b4e, 0x03e389e2, 0x001c7129}}, Y: Field{[10]uint32{0x020ddb62, 0x02c7c05c, 0x03fc7637, 0x0021298b, 0x02786f2b, 0x00be042a, 0x033e0a29, 0x03cee82b, 0x02db737a, 0x0004c4fe}}}, + {X: Field{[10]uint32{0x00fc47af, 0x012c7e16, 0x00dec370, 0x0320cb03, 0x00a8ddfe, 0x00006d5a, 0x010329b5, 0x033c5f31, 0x03a11363, 0x001ffcee}}, Y: Field{[10]uint32{0x01ba43a7, 0x0185933e, 0x02c297f8, 0x006b462e, 0x0317a53b, 0x011cd11a, 0x03c891b7, 0x0298a682, 0x03ae8018, 0x0007dae9}}}, + {X: Field{[10]uint32{0x0241e20e, 0x03132ea7, 0x03864d1d, 0x00f5e34c, 0x0138a87a, 0x00e934fa, 0x030f7f00, 0x013722f2, 0x01c4a511, 0x003f0e57}}, Y: Field{[10]uint32{0x03cf42ee, 0x036330b9, 0x00e2b77a, 0x0169a179, 0x02022147, 0x02f76db5, 0x02b81a98, 0x01f42533, 0x009108d0, 0x000e19b8}}}, + {X: Field{[10]uint32{0x01213775, 0x01358025, 0x02a99018, 0x00ec8f50, 0x0100b429, 0x03fb1fd8, 0x001e9395, 0x0182ed85, 0x00463ceb, 0x0023b19c}}, Y: Field{[10]uint32{0x0041ffff, 0x0043cf9e, 0x011e90e0, 0x0282f33d, 0x0271da98, 0x033b7b83, 0x02643415, 0x016f8c1b, 0x026fa0da, 0x0023d629}}}, + {X: Field{[10]uint32{0x02f83231, 0x01c4062d, 0x025e3499, 0x0239d810, 0x00b7c30d, 0x016cff74, 0x01158276, 0x02e89aa3, 0x00c53502, 0x002143e3}}, Y: Field{[10]uint32{0x032e8373, 0x00c6a757, 0x0177f4a0, 0x0285dc8b, 0x010a85bf, 0x020b31e2, 0x03f7086b, 0x02414f42, 0x01be02a7, 0x002f12a7}}}, + {X: Field{[10]uint32{0x0052abbb, 0x00ffe34d, 0x01c2e3cb, 0x00bf8ae5, 0x01ae6aa7, 0x03657525, 0x01bac3fe, 0x0006ee27, 0x01b441e7, 0x0020f798}}, Y: Field{[10]uint32{0x014eb66e, 0x0145dac1, 0x002918a0, 0x00daef39, 0x03d79c5f, 0x03138558, 0x03fb6af8, 0x01827e9a, 0x0334a34c, 0x000cbc38}}}, + {X: Field{[10]uint32{0x032e6ffa, 0x00441937, 0x0176388b, 0x00dedc55, 0x0246be9f, 0x011d4351, 0x005bb6a9, 0x0067ec51, 0x02f98f94, 0x0014ffa2}}, Y: Field{[10]uint32{0x00e92eb5, 0x03acdc99, 0x030c22a1, 0x03980ef5, 0x005fb5f8, 0x01193797, 0x000cf6c4, 0x01518859, 0x017e7b51, 0x0024ca20}}}, + {X: Field{[10]uint32{0x019276f1, 0x022309bd, 0x03b15e96, 0x02ca4a85, 0x0033ae25, 0x03df361a, 0x00bb5c00, 0x03076c6a, 0x03898f50, 0x000f5d98}}, Y: Field{[10]uint32{0x019cbcb3, 0x012996e1, 0x0178601e, 0x008066c6, 0x02f32198, 0x02b60ccf, 0x0176e34d, 0x01f76d82, 0x01737a18, 0x0034dd9a}}}, + {X: Field{[10]uint32{0x0145e458, 0x035b21b7, 0x027fd358, 0x033a8943, 0x002f0aa6, 0x01527781, 0x02546d3e, 0x036216ce, 0x01e0e4e4, 0x0021206f}}, Y: Field{[10]uint32{0x0379057e, 0x012c6d65, 0x02e556d6, 0x0310ac98, 0x02900a79, 0x033b2cb2, 0x0225bf39, 0x00137612, 0x038cba54, 0x000e3b9e}}}, + }, + { + {X: Field{[10]uint32{0x0145e458, 0x035b21b7, 0x027fd358, 0x033a8943, 0x002f0aa6, 0x01527781, 0x02546d3e, 0x036216ce, 0x01e0e4e4, 0x0021206f}}, Y: Field{[10]uint32{0x0379057e, 0x012c6d65, 0x02e556d6, 0x0310ac98, 0x02900a79, 0x033b2cb2, 0x0225bf39, 0x00137612, 0x038cba54, 0x000e3b9e}}}, + {X: Field{[10]uint32{0x00e9f114, 0x010cd49b, 0x021dde54, 0x0014a655, 0x03392ed6, 0x007524af, 0x0143c6cd, 0x00ea2e7f, 0x0050bd38, 0x00258a69}}, Y: Field{[10]uint32{0x024aa391, 0x025cb128, 0x02f8dca3, 0x00f9715a, 0x01b92559, 0x0033bd93, 0x02befd22, 0x02db5d5d, 0x03280c5f, 0x002fd0e6}}}, + {X: Field{[10]uint32{0x012da17d, 0x0283e905, 0x0246b160, 0x036c2341, 0x0011dc13, 0x03f802f2, 0x014e6b05, 0x02317c22, 0x011e0f51, 0x000efabb}}, Y: Field{[10]uint32{0x00c768d2, 0x0012617b, 0x00416ce7, 0x01ee37fb, 0x0154cde7, 0x03a0386d, 0x034a8beb, 0x01eb37fb, 0x03f55aff, 0x0030ec35}}}, + {X: Field{[10]uint32{0x02ca6cc3, 0x00e36589, 0x0218383d, 0x011f861f, 0x031477d7, 0x033224f7, 0x01730da7, 0x011a23ac, 0x0047ef1e, 0x002dcec7}}, Y: Field{[10]uint32{0x014fdba3, 0x00d75da9, 0x03f5afac, 0x014825d5, 0x017322a2, 0x03320142, 0x017d64bb, 0x008aa429, 0x01cb2949, 0x001610c5}}}, + {X: Field{[10]uint32{0x024edcc5, 0x03e85f6e, 0x011b7234, 0x0085080c, 0x03e74e32, 0x0249d665, 0x012dfc03, 0x0275861d, 0x03a0cbdc, 0x001b9cf6}}, Y: Field{[10]uint32{0x019da0e4, 0x007df375, 0x039037b3, 0x0369c019, 0x03278a77, 0x0220a1a4, 0x02455088, 0x033122fa, 0x01fc49ee, 0x003b82b0}}}, + {X: Field{[10]uint32{0x0063e1be, 0x026b4134, 0x01a75c1b, 0x028bdf8e, 0x03a92429, 0x036f3c09, 0x02615253, 0x00ac51c8, 0x01d11d60, 0x0004c590}}, Y: Field{[10]uint32{0x01fec890, 0x007fcf88, 0x01b77fdd, 0x0303e5d1, 0x03bd0fae, 0x036f4afa, 0x002e30fc, 0x00e7c1a9, 0x02617960, 0x00130ef6}}}, + {X: Field{[10]uint32{0x0280b979, 0x03131092, 0x03b31409, 0x03e8ca6a, 0x000490f5, 0x0291f0c4, 0x027d97ea, 0x02d649d8, 0x018937e5, 0x001dc1b7}}, Y: Field{[10]uint32{0x0126cfde, 0x03d20410, 0x03e3214c, 0x00d3f5fb, 0x0117fa0a, 0x007aa71c, 0x038dd799, 0x02dc51dd, 0x01827d5b, 0x002280aa}}}, + {X: Field{[10]uint32{0x038f93e0, 0x038864b4, 0x0099f9c6, 0x00eed9da, 0x03d05b2a, 0x01e8bfbd, 0x03989200, 0x00600c47, 0x02b2db40, 0x003b7f85}}, Y: Field{[10]uint32{0x029405ad, 0x005e4f78, 0x0227e3d0, 0x000311b8, 0x025b3d51, 0x02c17434, 0x0174faa4, 0x036cda53, 0x02f1fca5, 0x003b9a40}}}, + {X: Field{[10]uint32{0x026fe285, 0x02e712dc, 0x03127dcd, 0x00a504fb, 0x02a45bac, 0x007e781a, 0x02f3c7a4, 0x0303e034, 0x02c5929b, 0x0005b508}}, Y: Field{[10]uint32{0x0155b441, 0x003ff9b0, 0x00d4233e, 0x0044dcd9, 0x01e93f0c, 0x018d4c6c, 0x02b7e69a, 0x009906a2, 0x00fa51e2, 0x00037e22}}}, + {X: Field{[10]uint32{0x01e306a5, 0x004cae1a, 0x007f15d3, 0x00931309, 0x02b8b5f6, 0x017cb971, 0x027129b3, 0x0030cd24, 0x0363f9f3, 0x0025cb2c}}, Y: Field{[10]uint32{0x02e86295, 0x007f502d, 0x00f35d06, 0x03b732b5, 0x01b85702, 0x02f1941e, 0x01e77fe5, 0x024aa97e, 0x0304e2df, 0x002b98d1}}}, + {X: Field{[10]uint32{0x02cfa513, 0x0042f2ae, 0x023aeae3, 0x027e6983, 0x004e2407, 0x003d5aa7, 0x01a34475, 0x01b58ea9, 0x0247eec7, 0x0007f303}}, Y: Field{[10]uint32{0x007afc9c, 0x01d6e904, 0x03918750, 0x03459260, 0x004beded, 0x00ce7e6d, 0x00e38754, 0x0151e2d2, 0x01a041e3, 0x00059770}}}, + {X: Field{[10]uint32{0x0046e079, 0x0280d49f, 0x0078dd12, 0x002e17a7, 0x00ab6693, 0x000ae8dd, 0x02f75adb, 0x02b14c3f, 0x02ad2acf, 0x002ae1b0}}, Y: Field{[10]uint32{0x0236ffe1, 0x00a2f05d, 0x017c0ec4, 0x03a12143, 0x01ce7728, 0x01cc8032, 0x01c46d4d, 0x00a6af3d, 0x0286019f, 0x00048270}}}, + {X: Field{[10]uint32{0x02dc69b2, 0x009c1f3f, 0x0371721a, 0x0226c9ad, 0x02a50a60, 0x0172a8e1, 0x00643043, 0x02e285cc, 0x0073ad6c, 0x00304ae4}}, Y: Field{[10]uint32{0x00dd41dd, 0x02ba6c08, 0x032a0032, 0x02f8f49e, 0x02b8ee1d, 0x03e2525d, 0x0372dc89, 0x0337c765, 0x003fe534, 0x000c5cf1}}}, + {X: Field{[10]uint32{0x02341142, 0x031ef3a7, 0x02760d3e, 0x03add91c, 0x007ae684, 0x0268459a, 0x021bd217, 0x028ec06e, 0x00110c2d, 0x00319c07}}, Y: Field{[10]uint32{0x020f4dad, 0x01318567, 0x03e57892, 0x02e96f26, 0x015d07fc, 0x03867d68, 0x03869bbd, 0x0376654b, 0x02b38d6c, 0x000a8083}}}, + {X: Field{[10]uint32{0x0161fe4d, 0x03d6177e, 0x03197ab6, 0x01be2c41, 0x028a1488, 0x004b29cf, 0x033e9313, 0x01ea3e8f, 0x0385dc32, 0x0034166f}}, Y: Field{[10]uint32{0x02e823c2, 0x00d6c19a, 0x0364cb99, 0x0287d36a, 0x00fd388b, 0x0212556d, 0x020765dc, 0x014978ff, 0x0260c08b, 0x0011441e}}}, + {X: Field{[10]uint32{0x00af666b, 0x018c0fdb, 0x00e30bcd, 0x034f12c7, 0x037ffcfe, 0x0205fd18, 0x036979ae, 0x000aa98a, 0x0257a781, 0x0004d192}}, Y: Field{[10]uint32{0x036ecc27, 0x0256a41f, 0x002e13f4, 0x02a07425, 0x0248f300, 0x00f32c32, 0x03e43345, 0x011603bd, 0x01900461, 0x001a6f85}}}, + }, + { + {X: Field{[10]uint32{0x00af666b, 0x018c0fdb, 0x00e30bcd, 0x034f12c7, 0x037ffcfe, 0x0205fd18, 0x036979ae, 0x000aa98a, 0x0257a781, 0x0004d192}}, Y: Field{[10]uint32{0x036ecc27, 0x0256a41f, 0x002e13f4, 0x02a07425, 0x0248f300, 0x00f32c32, 0x03e43345, 0x011603bd, 0x01900461, 0x001a6f85}}}, + {X: Field{[10]uint32{0x025084ae, 0x02127181, 0x02577c75, 0x01f73aaf, 0x019182be, 0x017f84b4, 0x005c88c8, 0x014d8bb0, 0x00f53224, 0x003acf3e}}, Y: Field{[10]uint32{0x016b9480, 0x01f07ffe, 0x012a66f6, 0x03179f6f, 0x01f52b45, 0x03f72928, 0x03e63dce, 0x035c010f, 0x038222d9, 0x00320cf1}}}, + {X: Field{[10]uint32{0x02ca5f51, 0x01ac8263, 0x01aebf21, 0x006e53f2, 0x03ddea17, 0x03c16d73, 0x02ed6b2b, 0x039a58b1, 0x0114dd9e, 0x00377a75}}, Y: Field{[10]uint32{0x00c638f7, 0x01a69cf4, 0x0171f9ad, 0x03a37a25, 0x0150feeb, 0x029fe3c2, 0x011f34b0, 0x02044762, 0x01133ce2, 0x002e139a}}}, + {X: Field{[10]uint32{0x02e9a5d0, 0x016f2f30, 0x001d9f8e, 0x03e61288, 0x02a576fc, 0x0211466c, 0x03a60f21, 0x02665d3d, 0x027d092d, 0x002f7c69}}, Y: Field{[10]uint32{0x0162ff7b, 0x013dc061, 0x02461cdb, 0x01879589, 0x02a6280b, 0x01afdeea, 0x00be54a8, 0x0286aaa0, 0x002bab65, 0x00102564}}}, + {X: Field{[10]uint32{0x019c88e4, 0x001ac166, 0x006ec2f9, 0x00f882b5, 0x039aed51, 0x004812c5, 0x01f406eb, 0x024dcdba, 0x02102369, 0x003f4698}}, Y: Field{[10]uint32{0x015bc8df, 0x02324596, 0x000f299c, 0x03525730, 0x02dc6b71, 0x0125dde0, 0x013c0695, 0x03082fec, 0x0354b9c8, 0x0006b25e}}}, + {X: Field{[10]uint32{0x009b0cca, 0x031a9568, 0x016f01cc, 0x02249293, 0x01a34575, 0x028a3696, 0x00454f68, 0x03d32357, 0x00b1dbb0, 0x000354e3}}, Y: Field{[10]uint32{0x00929e05, 0x02c51f83, 0x034c9731, 0x02676244, 0x038534cd, 0x003bb5f3, 0x00a8d5c4, 0x0304432c, 0x03ac7a3e, 0x0032065a}}}, + {X: Field{[10]uint32{0x038018ce, 0x0056d6d7, 0x02d68bd5, 0x01ce3624, 0x03cf2da5, 0x00b21b71, 0x03ffce4f, 0x025ae7c4, 0x0131d8c2, 0x0013b921}}, Y: Field{[10]uint32{0x0248381f, 0x016986c7, 0x006013c3, 0x01c6d3a0, 0x02710749, 0x0031f179, 0x03b4408d, 0x03e2d7f1, 0x02d4810b, 0x002da3e7}}}, + {X: Field{[10]uint32{0x0327e771, 0x017f05ce, 0x0262abde, 0x02591df6, 0x008c3b41, 0x019120ed, 0x01be267b, 0x03b0a735, 0x026eddc4, 0x001a215a}}, Y: Field{[10]uint32{0x03bbdab6, 0x02358a81, 0x0333a611, 0x03ca4ec1, 0x02331d22, 0x0067ded2, 0x036fd49c, 0x0287ec4e, 0x01f14f79, 0x001de8cf}}}, + {X: Field{[10]uint32{0x01473678, 0x014ba47c, 0x012f7028, 0x0254250e, 0x00cba057, 0x016e301c, 0x01e314c5, 0x00036ffd, 0x009c34c4, 0x003f5db3}}, Y: Field{[10]uint32{0x01144f4f, 0x0193baa3, 0x008437e1, 0x03b85007, 0x0260628e, 0x0340cb35, 0x03ee0a73, 0x010f6b83, 0x01437871, 0x003c8119}}}, + {X: Field{[10]uint32{0x02e66b24, 0x00014cb3, 0x00366b5f, 0x003fb5ee, 0x02e8b9c6, 0x03c6b7b4, 0x0244d99b, 0x031ee203, 0x00cfb9e9, 0x00133576}}, Y: Field{[10]uint32{0x000932fd, 0x03bf6ebd, 0x03aed221, 0x01784b4b, 0x03ca61e4, 0x0335b440, 0x024e8c39, 0x012d567f, 0x0282deb9, 0x0015dbab}}}, + {X: Field{[10]uint32{0x017a2193, 0x002dc523, 0x0146edf0, 0x0113c65d, 0x012c691e, 0x012d3a88, 0x026ce827, 0x02d00867, 0x03a33123, 0x002168aa}}, Y: Field{[10]uint32{0x00cdcf3a, 0x0320f52c, 0x012427f0, 0x037e70ec, 0x03e1c6da, 0x007300a7, 0x02c6082d, 0x00145b60, 0x0057eb2b, 0x002704a6}}}, + {X: Field{[10]uint32{0x01d7e577, 0x00c0f3bb, 0x004d56ae, 0x015a14db, 0x03d3a0f2, 0x003a8841, 0x00604727, 0x03dec96b, 0x010f8828, 0x0030d4b5}}, Y: Field{[10]uint32{0x00d9b570, 0x013fe23e, 0x017063ca, 0x02cad848, 0x0300a8ab, 0x02f39e7e, 0x03d53145, 0x02e6e5aa, 0x0038ba76, 0x002f9dca}}}, + {X: Field{[10]uint32{0x037568b0, 0x000c16cd, 0x03b0535b, 0x03406780, 0x0335ae8d, 0x01e0d943, 0x00b6d6c5, 0x03f9d110, 0x03fc73cf, 0x00349776}}, Y: Field{[10]uint32{0x0339929c, 0x004e49b7, 0x03f0060a, 0x022078f0, 0x03832273, 0x0379f64a, 0x02aef74c, 0x01224e2f, 0x037593f8, 0x001e8ebf}}}, + {X: Field{[10]uint32{0x02712536, 0x0158fa07, 0x03e71a33, 0x03d5bfd7, 0x02a85051, 0x02d8d7a7, 0x006de71a, 0x00ea7f82, 0x0286b0a4, 0x0001a453}}, Y: Field{[10]uint32{0x001128f1, 0x011dc4e0, 0x029da2a2, 0x01ac2bde, 0x00896c22, 0x016b0a30, 0x018aceae, 0x02f4149f, 0x012852d9, 0x000adf9e}}}, + {X: Field{[10]uint32{0x031d7c13, 0x03944629, 0x03a3855f, 0x03dfe83f, 0x01641ab5, 0x01eab201, 0x0307e9a9, 0x0129c957, 0x013143e9, 0x0011604d}}, Y: Field{[10]uint32{0x02ff63cf, 0x022f154e, 0x016b9963, 0x01550af6, 0x01702006, 0x01f75a72, 0x03f50f17, 0x026b62d5, 0x00ec1497, 0x0027d616}}}, + {X: Field{[10]uint32{0x0183f366, 0x028e834b, 0x00588cad, 0x03b78bca, 0x020cd9cc, 0x0307725e, 0x02f430bc, 0x03f8ba6b, 0x01f5b713, 0x002f12a7}}, Y: Field{[10]uint32{0x001f33c1, 0x02359996, 0x03b16d75, 0x03efe951, 0x02a6e8a9, 0x012de632, 0x03937adf, 0x017018e0, 0x01ca6e78, 0x00034ea0}}}, + }, + { + {X: Field{[10]uint32{0x0183f366, 0x028e834b, 0x00588cad, 0x03b78bca, 0x020cd9cc, 0x0307725e, 0x02f430bc, 0x03f8ba6b, 0x01f5b713, 0x002f12a7}}, Y: Field{[10]uint32{0x001f33c1, 0x02359996, 0x03b16d75, 0x03efe951, 0x02a6e8a9, 0x012de632, 0x03937adf, 0x017018e0, 0x01ca6e78, 0x00034ea0}}}, + {X: Field{[10]uint32{0x03fceb19, 0x0379517c, 0x00409282, 0x0087de17, 0x002e89b2, 0x0339eead, 0x005c7626, 0x033302af, 0x015e11ce, 0x003690cf}}, Y: Field{[10]uint32{0x02f5cc64, 0x039c4829, 0x03277684, 0x00b6489e, 0x018e77fc, 0x03e57948, 0x02bbdc4a, 0x0040c077, 0x03d321a8, 0x00392636}}}, + {X: Field{[10]uint32{0x0312be3c, 0x028b8cbd, 0x02a66b06, 0x023b6851, 0x007295f1, 0x02c0054d, 0x00725dba, 0x02cde34f, 0x009d9331, 0x000e75cd}}, Y: Field{[10]uint32{0x006ff65c, 0x00067d07, 0x01644cc3, 0x0297b290, 0x00ef5ef7, 0x019a04ba, 0x0127554c, 0x00efdfec, 0x034f56ef, 0x0023e4a6}}}, + {X: Field{[10]uint32{0x02cf692a, 0x0389d716, 0x03e0654d, 0x0229c881, 0x01bcc483, 0x00705bbf, 0x01c11698, 0x031fb070, 0x021ee9e8, 0x0000c7a3}}, Y: Field{[10]uint32{0x016f667a, 0x00aa13ac, 0x033b09cc, 0x009f16fd, 0x03706498, 0x00359d0e, 0x01097029, 0x00d4f767, 0x035b465b, 0x002b5f9f}}}, + {X: Field{[10]uint32{0x0377f22b, 0x0393ef37, 0x02e035aa, 0x00e653e0, 0x02c69972, 0x02656bc9, 0x011cd6c2, 0x00774279, 0x0217f7dc, 0x003c32e9}}, Y: Field{[10]uint32{0x0109a03c, 0x0238b1d6, 0x015661fc, 0x01fa4282, 0x0004f18c, 0x0145b410, 0x03326c36, 0x037e627b, 0x034313f9, 0x0006896a}}}, + {X: Field{[10]uint32{0x03829372, 0x002a929d, 0x00553dec, 0x003222e9, 0x03c49b30, 0x00e15e5a, 0x03626ae5, 0x0034ecc4, 0x00c90f3e, 0x002d0c67}}, Y: Field{[10]uint32{0x02dd5427, 0x02733002, 0x011bb772, 0x005728f8, 0x02707b12, 0x03087168, 0x037afe09, 0x0140affe, 0x00499a6f, 0x0011c1f5}}}, + {X: Field{[10]uint32{0x02509c12, 0x03373531, 0x0347658a, 0x008d6f47, 0x018d6bfe, 0x021c9a3b, 0x01170e8d, 0x01534c87, 0x02b9db21, 0x000e075e}}, Y: Field{[10]uint32{0x02b46102, 0x010aa38b, 0x02af7546, 0x0161b39b, 0x03205828, 0x02996079, 0x01d24573, 0x00f6a7ad, 0x035b7fda, 0x00291eaa}}}, + {X: Field{[10]uint32{0x01f488b6, 0x02f5ffe0, 0x0291592b, 0x00d8ff1e, 0x03e9c9bf, 0x00995fdc, 0x03e00d86, 0x01845574, 0x0207a88d, 0x002a61e1}}, Y: Field{[10]uint32{0x031dab1d, 0x029eeec0, 0x01c6d495, 0x006592b5, 0x0239d0f0, 0x00855f08, 0x0063e7c8, 0x02575870, 0x01abd588, 0x00346068}}}, + {X: Field{[10]uint32{0x004fe955, 0x00ed358e, 0x03ce48db, 0x0296818e, 0x03f69956, 0x02532294, 0x013b73e6, 0x021f991e, 0x005467ab, 0x0029c0fc}}, Y: Field{[10]uint32{0x021344bd, 0x02cbbef5, 0x0277fa26, 0x00a7165c, 0x03539e16, 0x02c64666, 0x02a792d6, 0x011eb703, 0x0135a2b0, 0x0035403e}}}, + {X: Field{[10]uint32{0x038a8cc6, 0x0024edb0, 0x038fbe64, 0x007a7da7, 0x00ba2e12, 0x03b5fcf7, 0x02279ff6, 0x0105f923, 0x00c750b3, 0x000cc649}}, Y: Field{[10]uint32{0x02587810, 0x02383ed1, 0x01b54c4e, 0x026b3a7a, 0x017fb99e, 0x038bfecc, 0x025b601b, 0x03c060ae, 0x01411b33, 0x0032a3de}}}, + {X: Field{[10]uint32{0x02eace58, 0x02595b01, 0x0211d349, 0x018e8bcc, 0x031b7e45, 0x0014e80f, 0x006ad0d7, 0x01435d1b, 0x03c5aad5, 0x001cf1ac}}, Y: Field{[10]uint32{0x02f8654e, 0x002a45ca, 0x01291717, 0x0236eee3, 0x02aa6a87, 0x019b6471, 0x02909913, 0x013dd06e, 0x00a4733a, 0x000e8bed}}}, + {X: Field{[10]uint32{0x01cbcb9e, 0x03c449b3, 0x03c3df4b, 0x02277360, 0x01d6fa56, 0x03f50dd8, 0x00c32447, 0x00cdea7b, 0x02d7119d, 0x003372c4}}, Y: Field{[10]uint32{0x0161cfd1, 0x029616b2, 0x03340a08, 0x0090d637, 0x01a199af, 0x01b7a652, 0x02fbea09, 0x03c47eff, 0x02e17bb9, 0x0039a678}}}, + {X: Field{[10]uint32{0x00181d5e, 0x00e22fc0, 0x02f2054b, 0x02a6e56a, 0x00de71b3, 0x0303b76e, 0x0100d3a1, 0x011ff687, 0x03e7506d, 0x003189fc}}, Y: Field{[10]uint32{0x029f886d, 0x0240298d, 0x022c3927, 0x0015272f, 0x028ef6b0, 0x02287df5, 0x01696013, 0x00a98ecb, 0x01d71e44, 0x0035e3e7}}}, + {X: Field{[10]uint32{0x025fe9cc, 0x011f3dcc, 0x008db1d7, 0x02ecd276, 0x03fbb883, 0x00b52b08, 0x00411084, 0x00c6c4dc, 0x026328ec, 0x0031bb57}}, Y: Field{[10]uint32{0x028fd94b, 0x02f38712, 0x02cf10c0, 0x00ad83c8, 0x02844f97, 0x031fdeca, 0x032ee125, 0x03e0c0a4, 0x005b49d7, 0x003791d0}}}, + {X: Field{[10]uint32{0x03828b16, 0x00a367ed, 0x0047f34e, 0x023ca292, 0x03a04795, 0x03c1b794, 0x025f40a6, 0x0348cfe8, 0x02be0edf, 0x002ee23e}}, Y: Field{[10]uint32{0x02ea5df7, 0x011ce882, 0x02969c51, 0x01d38e87, 0x03ec4a81, 0x00456458, 0x01dc5960, 0x03a374d1, 0x02b304f5, 0x002dcd9d}}}, + {X: Field{[10]uint32{0x01324caa, 0x02acc3f9, 0x032a3954, 0x038c2a51, 0x02694b65, 0x0114a8cb, 0x03d8c749, 0x022f0348, 0x017bf829, 0x00230a2a}}, Y: Field{[10]uint32{0x03ef9482, 0x00771cf2, 0x039459e7, 0x03c11472, 0x037ae784, 0x03df303a, 0x00fedf31, 0x01464cde, 0x0063a330, 0x001028c1}}}, + }, + { + {X: Field{[10]uint32{0x01324caa, 0x02acc3f9, 0x032a3954, 0x038c2a51, 0x02694b65, 0x0114a8cb, 0x03d8c749, 0x022f0348, 0x017bf829, 0x00230a2a}}, Y: Field{[10]uint32{0x03ef9482, 0x00771cf2, 0x039459e7, 0x03c11472, 0x037ae784, 0x03df303a, 0x00fedf31, 0x01464cde, 0x0063a330, 0x001028c1}}}, + {X: Field{[10]uint32{0x0211d8e2, 0x02c807dd, 0x03c4d5df, 0x03a37927, 0x02c8130f, 0x011fc368, 0x03ed5a60, 0x028bc65a, 0x01872a38, 0x002ac6b0}}, Y: Field{[10]uint32{0x0029d15b, 0x01607cf1, 0x0145f01a, 0x034cf879, 0x02f7ef93, 0x02da90ad, 0x02a5f39d, 0x005e87a6, 0x037a324d, 0x0004fd28}}}, + {X: Field{[10]uint32{0x0354dd40, 0x03a1c551, 0x026cf863, 0x00c7f0d1, 0x01a24226, 0x035cbdba, 0x034841fc, 0x037f3d16, 0x007032c0, 0x0025ca49}}, Y: Field{[10]uint32{0x02a36143, 0x02d24bca, 0x02f49384, 0x014956b2, 0x0290dae8, 0x02f537cd, 0x015c75dc, 0x03a87734, 0x0244265f, 0x00247468}}}, + {X: Field{[10]uint32{0x0251b3fa, 0x02bb9909, 0x03434226, 0x0195dcb7, 0x038ea1b3, 0x014fcc7b, 0x003a6072, 0x03e0b4dc, 0x029b5bee, 0x0009593f}}, Y: Field{[10]uint32{0x01e5122d, 0x00b9a8c0, 0x0016edb8, 0x02adade6, 0x0314f37d, 0x0080e497, 0x03a14ae1, 0x00e24257, 0x03a60678, 0x0022b67d}}}, + {X: Field{[10]uint32{0x002ca7ff, 0x0360bae3, 0x0021a3c2, 0x0176577c, 0x03180364, 0x028bc9eb, 0x00791ad5, 0x01e5b814, 0x0397580a, 0x002258df}}, Y: Field{[10]uint32{0x00493e68, 0x0105785c, 0x02ab7bed, 0x028e390b, 0x01f87bc6, 0x010d5d22, 0x03b9cf15, 0x02109355, 0x01248c88, 0x000b47f8}}}, + {X: Field{[10]uint32{0x007a89ee, 0x030d4cc3, 0x014f8057, 0x0271eadb, 0x024bdbc5, 0x03261962, 0x0060b88f, 0x01e7844a, 0x00e26a41, 0x001c7be9}}, Y: Field{[10]uint32{0x01366a2e, 0x0224ca70, 0x01a0b4f4, 0x02e2397a, 0x022aaafa, 0x005ca528, 0x03b2c32b, 0x0092ba7b, 0x001f8bb6, 0x000517ea}}}, + {X: Field{[10]uint32{0x00a8dd7f, 0x01b58e83, 0x0381a618, 0x000d5a84, 0x021bc728, 0x0354d5d0, 0x01c9da03, 0x017824bf, 0x00e71be2, 0x000c204e}}, Y: Field{[10]uint32{0x0292c7f2, 0x017c91e2, 0x01915e41, 0x01190d2b, 0x00c81656, 0x00502386, 0x039ec45d, 0x03f24978, 0x02d28828, 0x000a3478}}}, + {X: Field{[10]uint32{0x02180068, 0x0238f4eb, 0x03103b17, 0x01b082f4, 0x027ea3d5, 0x00c37006, 0x006c5c0c, 0x016c32ff, 0x0136ffac, 0x003fcf58}}, Y: Field{[10]uint32{0x008c6077, 0x01aedb86, 0x035e670a, 0x03c90007, 0x01547676, 0x0365ab70, 0x010372cd, 0x00003903, 0x01be84e4, 0x0004cc8e}}}, + {X: Field{[10]uint32{0x026a3fb1, 0x03315a21, 0x02206c0d, 0x00a0664b, 0x036ec009, 0x016da18b, 0x025750c8, 0x03ad9747, 0x00e82a6d, 0x0015d7f1}}, Y: Field{[10]uint32{0x002655ad, 0x023a42a4, 0x02f2f09b, 0x01cf1a8e, 0x02ed33b5, 0x01e3a1f6, 0x031dbc29, 0x03f28b59, 0x039042a6, 0x001bdbb6}}}, + {X: Field{[10]uint32{0x0121250a, 0x039ff72f, 0x00ad4954, 0x01d60e66, 0x03df45e1, 0x010d5579, 0x01e342ba, 0x022b494c, 0x01480bab, 0x000fea45}}, Y: Field{[10]uint32{0x02a76731, 0x021b00be, 0x01fb791c, 0x01680cad, 0x002e45e5, 0x00eec49f, 0x01bdf960, 0x02c0c33d, 0x02905499, 0x002fe6d9}}}, + {X: Field{[10]uint32{0x010117df, 0x01aa291e, 0x0102921b, 0x02ef3880, 0x03da253b, 0x03ba8aa3, 0x03f26f81, 0x02ade889, 0x0036b64e, 0x00297b24}}, Y: Field{[10]uint32{0x006462fe, 0x00a04cfe, 0x02363d81, 0x03c15852, 0x031c8461, 0x0347e83d, 0x0197983a, 0x01010031, 0x02625ec1, 0x002de771}}}, + {X: Field{[10]uint32{0x01e0545f, 0x0008d263, 0x0074f5cb, 0x0368841b, 0x0080e625, 0x02cd422b, 0x035ea004, 0x01c4928d, 0x03cc58e0, 0x00148116}}, Y: Field{[10]uint32{0x006c3d91, 0x028d3014, 0x01af236e, 0x003caa3f, 0x03793b9d, 0x00338c4a, 0x030ed9c2, 0x0048eb50, 0x01fcebe3, 0x0006cfcc}}}, + {X: Field{[10]uint32{0x032ad712, 0x03e5d705, 0x007290b0, 0x02c37841, 0x015a398c, 0x0118d26e, 0x01e79761, 0x002c2527, 0x03e91331, 0x002854f7}}, Y: Field{[10]uint32{0x0148fdd2, 0x017d94e3, 0x03329c8a, 0x00a16bc2, 0x02bd053f, 0x007c6e26, 0x00318d5f, 0x016cbf12, 0x00413fb0, 0x003f6536}}}, + {X: Field{[10]uint32{0x0220479f, 0x004f430c, 0x0338a89f, 0x02579796, 0x035de47b, 0x00dd80d8, 0x0162c8d2, 0x00bf6e00, 0x036ebe47, 0x00162d50}}, Y: Field{[10]uint32{0x027db17a, 0x01cdd795, 0x0334144a, 0x03120a6e, 0x0396af27, 0x00bdb7a0, 0x02913a25, 0x019cb138, 0x02b055cd, 0x002175ed}}}, + {X: Field{[10]uint32{0x01cf5b3a, 0x030dc044, 0x02781030, 0x020ef6d6, 0x00c4433a, 0x023b7209, 0x01c34d08, 0x0118564d, 0x02c6af79, 0x00269506}}, Y: Field{[10]uint32{0x02a44ae4, 0x0155d7cd, 0x0252d63f, 0x0389487a, 0x035548fe, 0x0223d1d7, 0x03e1af36, 0x01aadf2b, 0x00c1cb10, 0x002d9852}}}, + {X: Field{[10]uint32{0x03accae0, 0x012e8447, 0x0333748c, 0x0031692e, 0x023c8b35, 0x03c1c7f4, 0x01d94ce4, 0x009ea307, 0x02661395, 0x00023aa5}}, Y: Field{[10]uint32{0x0262b945, 0x03cd28c3, 0x038e955a, 0x02fa73c3, 0x0335b783, 0x02e57175, 0x00e7c0cf, 0x009e0b89, 0x02bbc8ee, 0x001883be}}}, + }, + { + {X: Field{[10]uint32{0x03accae0, 0x012e8447, 0x0333748c, 0x0031692e, 0x023c8b35, 0x03c1c7f4, 0x01d94ce4, 0x009ea307, 0x02661395, 0x00023aa5}}, Y: Field{[10]uint32{0x0262b945, 0x03cd28c3, 0x038e955a, 0x02fa73c3, 0x0335b783, 0x02e57175, 0x00e7c0cf, 0x009e0b89, 0x02bbc8ee, 0x001883be}}}, + {X: Field{[10]uint32{0x0190b632, 0x00c4c768, 0x01ab9a29, 0x008e92ad, 0x0263cf2a, 0x01556760, 0x0266df31, 0x003367ce, 0x03717622, 0x003097d8}}, Y: Field{[10]uint32{0x009590cf, 0x02fcf5bf, 0x03a1d6ee, 0x03fe7809, 0x000a9f04, 0x020275e6, 0x01049903, 0x00a1ce62, 0x03ede94d, 0x0014c553}}}, + {X: Field{[10]uint32{0x02a06f5e, 0x0102d659, 0x0037021a, 0x0145ba82, 0x02a34192, 0x0098edc5, 0x03b0d421, 0x0094eb0d, 0x00fbea14, 0x000e0ec9}}, Y: Field{[10]uint32{0x03c6e772, 0x03d1e1b4, 0x02b04089, 0x01d2ee30, 0x01e8f6ae, 0x013a9686, 0x00f566d5, 0x02e88113, 0x006ac4ed, 0x001533dc}}}, + {X: Field{[10]uint32{0x0066d561, 0x032cedf5, 0x00b4de2c, 0x0370c65e, 0x000c7b55, 0x01a21513, 0x002d82a5, 0x01aeacfa, 0x01fe3cce, 0x000aa7a3}}, Y: Field{[10]uint32{0x02e76373, 0x0333d494, 0x02182f96, 0x03b05e80, 0x035e01ea, 0x0022e5b3, 0x007b5ad6, 0x01947eeb, 0x01a5c16e, 0x000077fb}}}, + {X: Field{[10]uint32{0x0238a136, 0x01d70751, 0x00195c79, 0x038cda0e, 0x002b0d1c, 0x01835e43, 0x01e59c6b, 0x03b5b5e2, 0x02d03e02, 0x0039a10c}}, Y: Field{[10]uint32{0x006c2584, 0x03460423, 0x03336aaf, 0x03af6cd5, 0x032e09e3, 0x02807991, 0x012a7303, 0x01699893, 0x001398e3, 0x003296f9}}}, + {X: Field{[10]uint32{0x03cf2dce, 0x026d0236, 0x006c0213, 0x00417077, 0x0068114a, 0x00bfe660, 0x009e4c99, 0x018862f5, 0x014292e4, 0x0025798b}}, Y: Field{[10]uint32{0x00c86594, 0x0377f7d6, 0x0120e62b, 0x0180dc13, 0x025e7b30, 0x010a354b, 0x03a26e2b, 0x00a1d460, 0x0184296c, 0x0001ada0}}}, + {X: Field{[10]uint32{0x02e8c10c, 0x021f1105, 0x016807ce, 0x017ce46f, 0x03b47298, 0x01cc1b9f, 0x02fbdece, 0x0170a83b, 0x0159e2fe, 0x000e5775}}, Y: Field{[10]uint32{0x01fe638e, 0x035b64c1, 0x0122cbc3, 0x0013719a, 0x034c909c, 0x03fe9389, 0x0013e87a, 0x00ab1741, 0x00d4b459, 0x003f58b7}}}, + {X: Field{[10]uint32{0x038be384, 0x034c810f, 0x036c3e8b, 0x02b68c76, 0x0271ec0a, 0x03f7bc1c, 0x01ad6c94, 0x00f86c94, 0x00a42be6, 0x002c8de4}}, Y: Field{[10]uint32{0x0319880e, 0x0291cf7a, 0x00b58d10, 0x03d0527b, 0x0117f004, 0x02a07e51, 0x0150f88a, 0x017b6fa3, 0x014919d5, 0x003f1ada}}}, + {X: Field{[10]uint32{0x016c14ef, 0x01936c83, 0x03c8f516, 0x01d41be4, 0x000858fc, 0x03b89920, 0x02eed5be, 0x01772e7d, 0x02dc3552, 0x001e9452}}, Y: Field{[10]uint32{0x033fbd13, 0x00f861c2, 0x0224f7ad, 0x03dcaa9b, 0x0329beae, 0x0323d70d, 0x017f0b94, 0x039363a2, 0x01fed152, 0x0015bb74}}}, + {X: Field{[10]uint32{0x017ec94b, 0x03c14f42, 0x01c2dff9, 0x02472356, 0x0127ed70, 0x02b9a060, 0x02215aa8, 0x03bfb47b, 0x03cb7b4a, 0x002c844e}}, Y: Field{[10]uint32{0x007831ad, 0x03efff1a, 0x010fdbd5, 0x002c8d5f, 0x03094322, 0x01532d3a, 0x01a0b534, 0x03b9cc41, 0x027399e8, 0x0024efa7}}}, + {X: Field{[10]uint32{0x036d65eb, 0x0118f413, 0x021524a9, 0x01dd5100, 0x035a9910, 0x012423c8, 0x028ef3bf, 0x0364363a, 0x01584325, 0x0007b87f}}, Y: Field{[10]uint32{0x0122941c, 0x00dae497, 0x002b11e0, 0x03a618d6, 0x02ca32f4, 0x03d0bf3e, 0x03ab9fc4, 0x031cf073, 0x0091bdd6, 0x002eda4a}}}, + {X: Field{[10]uint32{0x03a6257f, 0x01499165, 0x02c40b80, 0x02c689e9, 0x011873c3, 0x02c1f9e2, 0x0024274a, 0x013c9699, 0x01c8e1f5, 0x001c7a4d}}, Y: Field{[10]uint32{0x01b1e582, 0x005d1874, 0x00f7a5b2, 0x015033dc, 0x02ef2523, 0x01eb8a94, 0x02d86ba4, 0x008944f7, 0x0259f47c, 0x001e364f}}}, + {X: Field{[10]uint32{0x0236cb44, 0x02543bc3, 0x020191f1, 0x01b23728, 0x01617e8b, 0x0220cd5f, 0x0058fd0d, 0x02aaa2f0, 0x0234d38f, 0x00055455}}, Y: Field{[10]uint32{0x03495a68, 0x02bd1947, 0x001e5329, 0x01d7c083, 0x01a8c371, 0x0118c817, 0x030e3f0b, 0x0148578d, 0x03c75557, 0x002ad3ff}}}, + {X: Field{[10]uint32{0x01ca950e, 0x0211c91e, 0x03bacbf0, 0x01d8aec4, 0x0139e015, 0x03b8b118, 0x02f8be79, 0x02572b14, 0x01ca4ee7, 0x002af114}}, Y: Field{[10]uint32{0x029490d2, 0x039f6326, 0x013ec07c, 0x00033a95, 0x02526840, 0x00b24515, 0x01dfb80c, 0x0029676c, 0x00befe82, 0x002b89c6}}}, + {X: Field{[10]uint32{0x0027bacc, 0x0251841d, 0x022e151f, 0x019374b5, 0x029e7331, 0x0163712a, 0x0358eb09, 0x014804d8, 0x006446bf, 0x000ef1af}}, Y: Field{[10]uint32{0x02d6fda6, 0x00cff57a, 0x02b4714c, 0x02948a2f, 0x03d71b75, 0x01b5b00a, 0x0362ee22, 0x030c1736, 0x00c07176, 0x00238c17}}}, + {X: Field{[10]uint32{0x039a9787, 0x01db313a, 0x0168092f, 0x02056566, 0x0189bdde, 0x02f4de23, 0x0269716b, 0x028181d1, 0x01faef5b, 0x00374d89}}, Y: Field{[10]uint32{0x0244a573, 0x01a34031, 0x0395937f, 0x0260a20c, 0x02941461, 0x0115cc72, 0x01a25010, 0x00c35187, 0x03a3520e, 0x001e8623}}}, + }, +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go new file mode 100644 index 00000000..051b8d1b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go @@ -0,0 +1,113 @@ +package secp256k1go + +/* +import ( + "os" + "fmt" + "time" +) + + +var ( + pre_g, pre_g_128 []XY + prec [64][16]XY + fin XY +) + + +func ecmult_start() { + return + sta := time.Now() + + g := TheCurve.G + + // calculate 2^128*generator + var g_128j XYZ + g_128j.SetXY(&g) + + for i := 0; i < 128; i++ { + g_128j.Double(&g_128j) + } + + var g_128 XY + g_128.SetXYZ(&g_128j) + + // precompute the tables with odd multiples + pre_g = g.precomp(WINDOW_G) + pre_g_128 = g_128.precomp(WINDOW_G) + + // compute prec and fin + var gg XYZ + gg.SetXY(&g) + ad := g + var fn XYZ + fn.Infinity = true + for j:=0; j<64; j++ { + prec[j][0].SetXYZ(&gg) + fn.Add(&fn, &gg) + for i:=1; i<16; i++ { + gg.AddXY(&gg, &ad) + prec[j][i].SetXYZ(&gg) + } + ad = prec[j][15] + } + fin.SetXYZ(&fn) + fin.Neg(&fin) + + if false { + f, _ := os.Create("z_prec.go") + fmt.Fprintln(f, "package secp256k1\n\nvar prec = [64][16]XY {") + for j:=0; j<64; j++ { + fmt.Fprintln(f, " {") + for i:=0; i<16; i++ { + fmt.Fprintln(f, "{X:" + fe2str(&prec[j][i].X) + ", Y:" + fe2str(&prec[j][i].Y) + "},") + } + fmt.Fprintln(f, "},") + } + fmt.Fprintln(f, "}") + f.Close() + } + + if false { + f, _ := os.Create("z_pre_g.go") + fmt.Fprintln(f, "package secp256k1\n\nvar pre_g = []XY {") + for i := range pre_g { + fmt.Fprintln(f, "{X:" + fe2str(&pre_g[i].X) + ", Y:" + fe2str(&pre_g[i].Y) + "},") + } + fmt.Fprintln(f, "}") + f.Close() + } + + if false { + f, _ := os.Create("z_pre_g_128.go") + fmt.Fprintln(f, "package secp256k1\n\nvar pre_g_128 = []XY {") + for i := range pre_g_128 { + fmt.Fprintln(f, "{X:" + fe2str(&pre_g_128[i].X) + ", Y:" + fe2str(&pre_g_128[i].Y) + "},") + } + fmt.Fprintln(f, "}") + f.Close() + } + + if false { + f, _ := os.Create("z_fin.go") + fmt.Fprintln(f, "package secp256k1\n\nvar fim = XY {") + fmt.Fprintln(f, "X:" + fe2str(&fin.X) + ", Y:" + fe2str(&fin.Y) + ",") + fmt.Fprintln(f, "}") + f.Close() + } + + println("start done in", time.Now().Sub(sta).String()) +} + + +func fe2str(f *Field) (s string) { + s = fmt.Sprintf("Field{[10]uint32{0x%08x", f.n[0]) + for i:=1; i= 0 { + nonce = newRandomNonceNumber() + } + return nonce +} + +// Sign sign hash, returns a compact recoverable signature +func Sign(msg []byte, seckey []byte) []byte { + if len(seckey) != 32 { + log.Panic("Sign, Invalid seckey length") + } + if secp.SeckeyIsValid(seckey) != 1 { + log.Panic("Attempting to sign with invalid seckey") + } + if len(msg) == 0 { + log.Panic("Sign, message nil") + } + if len(msg) != 32 { + log.Panic("Sign, message must be 32 bytes") + } + + nonce := newSigningNonce() + sig := make([]byte, 65) + var recid int // recovery byte, used to recover pubkey from sig + + var cSig secp.Signature + + var seckey1 secp.Number + var msg1 secp.Number + + seckey1.SetBytes(seckey) + msg1.SetBytes(msg) + + if msg1.Sign() == 0 { + log.Panic("Sign: message is 0") + } + + ret := cSig.Sign(&seckey1, &msg1, &nonce, &recid) + + if ret != 1 { + log.Panic("Secp25k1-go, Sign, signature operation failed") + } + + sigBytes := cSig.Bytes() + for i := 0; i < 64; i++ { + sig[i] = sigBytes[i] + } + if len(sigBytes) != 64 { + log.Panicf("Invalid signature byte count: %d", len(sigBytes)) + } + sig[64] = byte(recid) + + if recid > 4 { + log.Panic("invalid recovery id") + } + + return sig +} + +// VerifySeckey verifies a secret key +// Returns 1 on success +func VerifySeckey(seckey []byte) int { + if len(seckey) != 32 { + return -1 + } + + //does conversion internally if less than order of curve + if secp.SeckeyIsValid(seckey) != 1 { + return -2 + } + + //seckey is just 32 bit integer + //assume all seckey are valid + //no. must be less than order of curve + //note: converts internally + return 1 +} + +// VerifyPubkey verifies a public key +// Returns 1 on success +func VerifyPubkey(pubkey []byte) int { + if len(pubkey) != 33 { + return -2 + } + + if secp.PubkeyIsValid(pubkey) != 1 { + return -1 // tests parse and validity + } + + return 1 //valid +} + +// VerifySignatureValidity verifies a signature is well formed and not malleable +// Returns 1 on success +func VerifySignatureValidity(sig []byte) int { + //64+1 + if len(sig) != 65 { + log.Panic("VerifySignatureValidity: sig len is not 65 bytes") + return 0 + } + //malleability check: + //highest bit of 32nd byte must be 1 + //0x7f is 126 or 0b01111111 + if (sig[32] >> 7) == 1 { + return 0 // signature is malleable + } + //recovery id check + if sig[64] >= 4 { + return 0 // recovery id invalid + } + return 1 +} + +// VerifySignature for compressed signatures, does not need pubkey +// Returns 1 on success +func VerifySignature(msg []byte, sig []byte, pubkey1 []byte) int { + if msg == nil || len(sig) == 0 || len(pubkey1) == 0 { + log.Panic("VerifySignature, ERROR: invalid input, empty slices") + } + if len(sig) != 65 { + log.Panic("VerifySignature, invalid signature length") + } + if len(pubkey1) != 33 { + log.Panic("VerifySignature, invalid pubkey length") + } + + if len(msg) == 0 { + return 0 // empty message + } + + // malleability check: + // to enforce malleability, highest bit of S must be 1 + // S starts at 32nd byte + // 0x80 is 0b10000000 or 128 and masks highest bit + if (sig[32] >> 7) == 1 { + return 0 // valid signature, but fails malleability + } + + if sig[64] >= 4 { + return 0 // recovery byte invalid + } + + pubkey2 := RecoverPubkey(msg, sig) + if pubkey2 == nil { + return 0 // pubkey could not be recovered, signature is invalid + } + + if len(pubkey2) != 33 { + log.Panic("recovered pubkey length invalid") // sanity check + } + + if !bytes.Equal(pubkey1, pubkey2) { + return 0 // pubkeys do not match + } + + return 1 // valid signature +} + +// RecoverPubkey recovers the public key from the signature +func RecoverPubkey(msg []byte, sig []byte) []byte { + if len(sig) != 65 { + log.Panic("sig length must be 65 bytes") + } + + var recid = int(sig[64]) + + pubkey, ret := secp.RecoverPublicKey(sig[0:64], msg, recid) + + if ret != 1 { + if DebugPrint { + log.Printf("RecoverPubkey: code %d", ret) + } + return nil + } + + if pubkey == nil { + log.Panic("ERROR: impossible, pubkey nil and ret == 1") + } + if secp.PubkeyIsValid(pubkey) != 1 { + log.Panicf("secp.RecoverPublicKey returned invalid pubkey %s", hex.EncodeToString(pubkey)) + } + + return pubkey +} + +// ECDH raise a pubkey to the power of a seckey +func ECDH(pub, sec []byte) []byte { + if len(sec) != 32 { + log.Panic("secret key must be 32 bytes") + } + + if len(pub) != 33 { + log.Panic("public key must be 33 bytes") + } + + if VerifySeckey(sec) != 1 { + if DebugPrint { + log.Printf("Invalid Seckey") + } + return nil + } + + if ret := VerifyPubkey(pub); ret != 1 { + if DebugPrint { + log.Printf("Invalid Pubkey, %d", ret) + } + return nil + } + + pubkeyOut := secp.Multiply(pub, sec) + if pubkeyOut == nil { + return nil + } + if len(pubkeyOut) != 33 { + log.Panic("ERROR: impossible, invalid pubkey length") + } + return pubkeyOut +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/add_private_key.go b/vendor/github.com/skycoin/skycoin/src/cli/add_private_key.go new file mode 100644 index 00000000..95ae6e98 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/add_private_key.go @@ -0,0 +1,133 @@ +package cli + +import ( + "fmt" + "path/filepath" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/wallet" +) + +func addPrivateKeyCmd() *cobra.Command { + // TODO -- allow private key to be entered privately, same as the password can be + addPrivateKeyCmd := &cobra.Command{ + Short: "Add a private key to wallet", + Use: "addPrivateKey [wallet] [private key]", + Long: `Add a private key to wallet. + + This method only works on "collection" type wallets. + Use "skycoin-cli walletCreate -t collection" to create a "collection" type wallet. + + Use caution when using this from your shell. The private key will be recorded + if your shell's history file, unless you disable the shell history. + + Use caution when using the "-p" command. If you have command + history enabled your wallet encryption password can be recovered from the + history log. If you do not include the "-p" option you will be prompted to + enter your password after you enter your command.`, + SilenceUsage: true, + Args: cobra.ExactArgs(2), + DisableFlagsInUseLine: true, + RunE: func(c *cobra.Command, args []string) error { + walletFile := args[0] + skStr := args[1] + + password, err := c.Flags().GetString("password") + if err != nil { + return err + } + pr := NewPasswordReader([]byte(password)) + + err = AddPrivateKeyToFile(walletFile, skStr, pr) + + switch err.(type) { + case nil: + fmt.Println("success") + return nil + case WalletLoadError: + printHelp(c) + return err + default: + return err + } + }, + } + + addPrivateKeyCmd.Flags().StringP("password", "p", "", "wallet password") + + return addPrivateKeyCmd +} + +// AddPrivateKey adds a private key to a wallet.Wallet. Caller should save the wallet afterwards +func AddPrivateKey(wlt *wallet.CollectionWallet, key string) error { + sk, err := cipher.SecKeyFromHex(key) + if err != nil { + return fmt.Errorf("invalid private key: %s, must be a hex string of length 64", key) + } + + pk, err := cipher.PubKeyFromSecKey(sk) + if err != nil { + return err + } + + addr := wlt.AddressConstructor()(pk) + + entry := wallet.Entry{ + Address: addr, + Public: pk, + Secret: sk, + } + + return wlt.AddEntry(entry) +} + +// AddPrivateKeyToFile adds a private key to a wallet based on filename. +// Will save the wallet after modifying. +func AddPrivateKeyToFile(walletFile, key string, pr PasswordReader) error { + wlt, err := wallet.Load(walletFile) + if err != nil { + return WalletLoadError{err} + } + + if wlt.Type() != wallet.WalletTypeCollection { + return fmt.Errorf("only %q type wallets can have keypairs added manually", wallet.WalletTypeCollection) + } + + if pr == nil && wlt.IsEncrypted() { + return wallet.ErrMissingPassword + } + + addKey := func(w *wallet.CollectionWallet, key string) error { + return AddPrivateKey(w, key) + } + + if wlt.IsEncrypted() { + addKey = func(w *wallet.CollectionWallet, key string) error { + password, err := pr.Password() + if err != nil { + return err + } + + return wallet.GuardUpdate(w, password, func(wlt wallet.Wallet) error { + return AddPrivateKey(wlt.(*wallet.CollectionWallet), key) + }) + } + } + + if err := addKey(wlt.(*wallet.CollectionWallet), key); err != nil { + return err + } + + dir, err := filepath.Abs(filepath.Dir(walletFile)) + if err != nil { + return err + } + + if err := wallet.Save(wlt, dir); err != nil { + return WalletSaveError{err} + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/address_gen.go b/vendor/github.com/skycoin/skycoin/src/cli/address_gen.go new file mode 100644 index 00000000..fa48c747 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/address_gen.go @@ -0,0 +1,329 @@ +package cli + +import ( + "encoding/json" + "errors" + "fmt" + "os" + "strings" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip39" + "github.com/skycoin/skycoin/src/wallet" +) + +func addressGenCmd() *cobra.Command { + addressGenCmd := &cobra.Command{ + Short: "Generate skycoin or bitcoin addresses", + Use: "addressGen", + Long: `Use caution when using the "-p" command. If you have command history enabled + your wallet encryption password can be recovered from the history log. If you + do not include the "-p" option you will be prompted to enter your password + after you enter your command.`, + SilenceUsage: true, + RunE: func(c *cobra.Command, _ []string) error { + numAddresses, err := c.Flags().GetInt("num") + if err != nil { + return err + } + if numAddresses <= 0 { + return errors.New("num must be > 0") + } + + coinName, err := c.Flags().GetString("coin") + if err != nil { + return err + } + + coinType, err := wallet.ResolveCoinType(coinName) + if err != nil { + return err + } + + encrypt, err := c.Flags().GetBool("encrypt") + if err != nil { + return err + } + + mode, err := c.Flags().GetString("mode") + if err != nil { + return nil + } + + label, err := c.Flags().GetString("label") + if err != nil { + return nil + } + + hideSecrets, err := c.Flags().GetBool("hide-secrets") + if err != nil { + return nil + } + + seed, err := resolveSeed(c) + if err != nil { + return err + } + + var password []byte + if encrypt { + switch strings.ToLower(mode) { + case "json", "wallet": + default: + return errors.New("Encrypt flag requires -mode to be json") + } + + var err error + password, err = PasswordFromTerm{}.Password() + if err != nil { + return err + } + } + + w, err := wallet.NewWallet(wallet.NewWalletFilename(), wallet.Options{ + Coin: coinType, + Label: label, + Seed: seed, + Encrypt: encrypt, + Password: password, + CryptoType: wallet.DefaultCryptoType, + GenerateN: uint64(numAddresses), + Type: wallet.WalletTypeDeterministic, + }) + if err != nil { + return err + } + + if hideSecrets { + w.Erase() + } + + rw := w.ToReadable() + + switch strings.ToLower(mode) { + case "json", "wallet": + output, err := json.MarshalIndent(rw, "", " ") + if err != nil { + return err + } + + fmt.Println(string(output)) + case "addrs", "addresses": + for _, e := range rw.GetEntries() { + fmt.Println(e.Address) + } + case "secrets": + if hideSecrets { + return errors.New("secrets mode selected but hideSecrets enabled") + } + for _, e := range rw.GetEntries() { + fmt.Println(e.Secret) + } + default: + return errors.New("invalid mode") + } + + return nil + }, + } + + addressGenCmd.Flags().IntP("num", "n", 1, "Number of addresses to generate") + addressGenCmd.Flags().StringP("coin", "c", "skycoin", "Coin type. Must be skycoin or bitcoin. If bitcoin, secret keys are in Wallet Import Format instead of hex.") + addressGenCmd.Flags().StringP("label", "l", "", "Wallet label to use when printing or writing a wallet file") + addressGenCmd.Flags().Bool("hex", false, "Use hex(sha256sum(rand(1024))) (CSPRNG-generated) as the seed if not seed is not provided") + addressGenCmd.Flags().StringP("seed", "s", "", "Seed for deterministic key generation. Will use bip39 as the seed if not provided.") + addressGenCmd.Flags().BoolP("strict-seed", `t`, false, "Seed should be a valid bip39 mnemonic seed.") + addressGenCmd.Flags().IntP("entropy", "e", 128, "Entropy of the autogenerated bip39 seed, when the seed is not provided. Can be 128 or 256") + addressGenCmd.Flags().BoolP("hide-secrets", "i", false, "Hide the secret key and seed from the output when printing a JSON wallet file") + addressGenCmd.Flags().StringP("mode", "m", "wallet", "Output mode. Options are wallet (prints a full JSON wallet), addresses (prints addresses in plain text), secrets (prints secret keys in plain text)") + addressGenCmd.Flags().BoolP("encrypt", "x", false, "Encrypt the wallet when printing a JSON wallet") + + return addressGenCmd +} + +func resolveSeed(c *cobra.Command) (string, error) { + entropy, err := c.Flags().GetInt("entropy") + if err != nil { + return "", nil + } + + switch entropy { + case 128, 256: + default: + return "", errors.New("entropy must be 128 or 256") + } + + seed, err := c.Flags().GetString("seed") + if err != nil { + return "", nil + } + + strictSeed, err := c.Flags().GetBool("strict-seed") + if err != nil { + return "", nil + } + + if seed != "" { + if strictSeed { + if err := bip39.ValidateMnemonic(seed); err != nil { + return "", fmt.Errorf("seed is not a valid bip39 seed: %v", err) + } + } + + return seed, nil + } + + useHex, err := c.Flags().GetBool("hex") + if err != nil { + return "", nil + } + + if useHex { + seed = cipher.SumSHA256(cipher.RandByte(1024)).Hex() + } else { + e, err := bip39.NewEntropy(entropy) + if err != nil { + return "", err + } + + seed, err = bip39.NewMnemonic(e) + if err != nil { + return "", err + } + } + + return seed, nil +} + +func fiberAddressGenCmd() *cobra.Command { + fiberAddressGenCmd := &cobra.Command{ + Use: "fiberAddressGen", + Short: "Generate addresses and seeds for a new fiber coin", + Long: `Addresses are written in a format that can be copied into fiber.toml + for configuring distribution addresses. Addresses along with their seeds are written to a csv file, + these seeds can be imported into the wallet to access distribution coins.`, + SilenceUsage: true, + RunE: func(c *cobra.Command, args []string) (err error) { + if len(args) > 0 { + return errors.New("this command does not take any positional arguments") + } + + fiberNumAddresses, err := c.Flags().GetInt("num") + if err != nil { + return nil + } + + entropy, err := c.Flags().GetInt("entropy") + if err != nil { + return nil + } + + addrsFilename, err := c.Flags().GetString("addrs-file") + if err != nil { + return nil + } + + seedsFilename, err := c.Flags().GetString("seeds-file") + if err != nil { + return nil + } + + overwrite, err := c.Flags().GetBool("overwrite") + if err != nil { + return nil + } + + if fiberNumAddresses < 1 { + return errors.New("num must be > 0") + } + + switch entropy { + case 128, 256: + default: + return errors.New("entropy must be 128 or 256") + } + + addrs := make([]cipher.Address, fiberNumAddresses) + seeds := make([]string, fiberNumAddresses) + + for i := 0; i < fiberNumAddresses; i++ { + e, err := bip39.NewEntropy(entropy) + if err != nil { + return err + } + + seed, err := bip39.NewMnemonic(e) + if err != nil { + return err + } + + _, seckey, err := cipher.GenerateDeterministicKeyPair([]byte(seed)) + if err != nil { + return err + } + addr := cipher.MustAddressFromSecKey(seckey) + + seeds[i] = seed + addrs[i] = addr + } + + _, err = os.Stat(addrsFilename) + if err != nil { + if !os.IsNotExist(err) { + return err + } + } else if !overwrite { + return fmt.Errorf("-addrs-file %q already exists. Use -overwrite to force writing", addrsFilename) + } + + _, err = os.Stat(seedsFilename) + if err != nil { + if !os.IsNotExist(err) { + return err + } + } else if !overwrite { + return fmt.Errorf("-seeds-file %q already exists. Use -overwrite to force writing", seedsFilename) + } + + addrsF, err := os.Create(addrsFilename) + if err != nil { + return err + } + defer func() { + cErr := addrsF.Close() + if cErr != nil { + err = cErr + } + }() + + seedsF, err := os.Create(seedsFilename) + defer func() { + cErr := seedsF.Close() + if cErr != nil { + err = cErr + } + }() + + for i, a := range addrs { + if _, err := fmt.Fprintf(addrsF, "\"%s\",\n", a); err != nil { + return err + } + if _, err := fmt.Fprintf(seedsF, "\"%s\",\"%s\"\n", a, seeds[i]); err != nil { + return err + } + } + + return nil + }, + } + + fiberAddressGenCmd.Flags().IntP("num", "n", 100, "Number of addresses to generate") + fiberAddressGenCmd.Flags().IntP("entropy", "e", 128, "Entropy of the autogenerated bip39 seeds. Can be 128 or 256") + fiberAddressGenCmd.Flags().StringP("addrs-file", "a", "addresses.txt", "Output file for the generated addresses in fiber.toml format") + fiberAddressGenCmd.Flags().StringP("seeds-file", "s", "seeds.csv", "Output file for the generated addresses and seeds in a csv") + fiberAddressGenCmd.Flags().BoolP("overwrite", "o", false, "Allow overwriting any existing addrs-file or seeds-file") + + return fiberAddressGenCmd +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/addresscount.go b/vendor/github.com/skycoin/skycoin/src/cli/addresscount.go new file mode 100644 index 00000000..92769127 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/addresscount.go @@ -0,0 +1,26 @@ +package cli + +import ( + "github.com/spf13/cobra" +) + +func addresscountCmd() *cobra.Command { + return &cobra.Command{ + Short: "Get the count of addresses with unspent outputs (coins)", + Long: "Returns the count of all addresses that currently have unspent outputs (coins) associated with them.", + Use: "addresscount", + Args: cobra.NoArgs, + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: getAddresscount, + } +} + +func getAddresscount(_ *cobra.Command, _ []string) error { + addresscount, err := apiClient.AddressCount() + if err != nil { + return err + } + + return printJSON(addresscount) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/blocks.go b/vendor/github.com/skycoin/skycoin/src/cli/blocks.go new file mode 100644 index 00000000..8015304d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/blocks.go @@ -0,0 +1,49 @@ +package cli + +import ( + "fmt" + "strconv" + + "github.com/spf13/cobra" +) + +func blocksCmd() *cobra.Command { + blocksCmd := &cobra.Command{ + Short: "Lists the content of a single block or a range of blocks", + Use: "blocks [starting block or single block seq] [ending block seq]", + Args: cobra.RangeArgs(1, 2), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: getBlocks, + } + + return blocksCmd +} + +func getBlocks(_ *cobra.Command, args []string) error { + var start, end string + start = args[0] + + if len(args) == 1 { + end = start + } else { + end = args[1] + } + + s, err := strconv.ParseUint(start, 10, 64) + if err != nil { + return fmt.Errorf("invalid block seq: %v, must be unsigned integer", start) + } + + e, err := strconv.ParseUint(end, 10, 64) + if err != nil { + return fmt.Errorf("invalid block seq: %v, must be unsigned integer", end) + } + + rlt, err := apiClient.BlocksInRange(s, e) + if err != nil { + return err + } + + return printJSON(rlt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/broadcast_rawtx.go b/vendor/github.com/skycoin/skycoin/src/cli/broadcast_rawtx.go new file mode 100644 index 00000000..8ad1a6be --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/broadcast_rawtx.go @@ -0,0 +1,29 @@ +package cli + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func broadcastTxCmd() *cobra.Command { + return &cobra.Command{ + Short: "Broadcast a raw transaction to the network", + Use: "broadcastTransaction [raw transaction]", + Args: cobra.ExactArgs(1), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: func(_ *cobra.Command, args []string) error { + rawtx := args[0] + + txid, err := apiClient.InjectEncodedTransaction(rawtx) + if err != nil { + return err + } + + fmt.Println(txid) + return nil + }, + } + +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/check_balance.go b/vendor/github.com/skycoin/skycoin/src/cli/check_balance.go new file mode 100644 index 00000000..67b7c043 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/check_balance.go @@ -0,0 +1,259 @@ +package cli + +import ( + "fmt" + "strconv" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/readable" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/wallet" +) + +// Balance represents an coin and hours balance +type Balance struct { + Coins string `json:"coins"` + Hours string `json:"hours"` +} + +// AddressBalances represents an address's balance +type AddressBalances struct { + Confirmed Balance `json:"confirmed"` + Spendable Balance `json:"spendable"` + Expected Balance `json:"expected"` + Address string `json:"address"` +} + +// BalanceResult represents an set of addresses' balances +type BalanceResult struct { + Confirmed Balance `json:"confirmed"` + Spendable Balance `json:"spendable"` + Expected Balance `json:"expected"` + Addresses []AddressBalances `json:"addresses"` +} + +func walletBalanceCmd() *cobra.Command { + return &cobra.Command{ + Short: "Check the balance of a wallet", + Use: "walletBalance [wallet]", + Args: cobra.ExactArgs(1), + DisableFlagsInUseLine: true, + RunE: checkWltBalance, + } +} + +func addressBalanceCmd() *cobra.Command { + return &cobra.Command{ + Short: "Check the balance of specific addresses", + Use: "addressBalance [addresses]", + Long: `Check balance of specific addresses, join multiple addresses with space. + example: addressBalance "$addr1 $addr2 $addr3"`, + Args: cobra.MinimumNArgs(1), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: addrBalance, + } +} + +func checkWltBalance(c *cobra.Command, args []string) error { + w := args[0] + balRlt, err := CheckWalletBalance(apiClient, w) + switch err.(type) { + case nil: + case WalletLoadError: + printHelp(c) + return err + default: + return err + } + + return printJSON(balRlt) +} + +func addrBalance(_ *cobra.Command, args []string) error { + numArgs := len(args) + + addrs := make([]string, numArgs) + + var err error + for i := 0; i < numArgs; i++ { + addrs[i] = args[i] + if _, err = cipher.DecodeBase58Address(addrs[i]); err != nil { + return fmt.Errorf("invalid address: %v, err: %v", addrs[i], err) + } + } + + balRlt, err := GetBalanceOfAddresses(apiClient, addrs) + if err != nil { + return err + } + + return printJSON(balRlt) +} + +// PUBLIC + +// CheckWalletBalance returns the total and individual balances of addresses in a wallet file +func CheckWalletBalance(c GetOutputser, walletFile string) (*BalanceResult, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, WalletLoadError{err} + } + + var addrs []string + addresses := wlt.GetAddresses() + for _, a := range addresses { + addrs = append(addrs, a.String()) + } + + return GetBalanceOfAddresses(c, addrs) +} + +// GetBalanceOfAddresses returns the total and individual balances of a set of addresses +func GetBalanceOfAddresses(c GetOutputser, addrs []string) (*BalanceResult, error) { + outs, err := c.OutputsForAddresses(addrs) + if err != nil { + return nil, err + } + + return getBalanceOfAddresses(outs, addrs) +} + +func getBalanceOfAddresses(outs *readable.UnspentOutputsSummary, addrs []string) (*BalanceResult, error) { + addrsMap := make(map[string]struct{}, len(addrs)) + for _, a := range addrs { + addrsMap[a] = struct{}{} + } + + addrBalances := make(map[string]struct { + confirmed, spendable, expected wallet.Balance + }, len(addrs)) + + // Count confirmed balances + for _, o := range outs.HeadOutputs { + if _, ok := addrsMap[o.Address]; !ok { + return nil, fmt.Errorf("Found address %s in GetUnspentOutputs result, but this address wasn't requested", o.Address) + } + + amt, err := droplet.FromString(o.Coins) + if err != nil { + return nil, fmt.Errorf("droplet.FromString failed: %v", err) + } + + b := addrBalances[o.Address] + b.confirmed.Coins += amt + b.confirmed.Hours += o.CalculatedHours + + addrBalances[o.Address] = b + } + + // Count spendable balances + for _, o := range outs.SpendableOutputs() { + if _, ok := addrsMap[o.Address]; !ok { + return nil, fmt.Errorf("Found address %s in GetUnspentOutputs result, but this address wasn't requested", o.Address) + } + + amt, err := droplet.FromString(o.Coins) + if err != nil { + return nil, fmt.Errorf("droplet.FromString failed: %v", err) + } + + b := addrBalances[o.Address] + b.spendable.Coins += amt + b.spendable.Hours += o.CalculatedHours + + addrBalances[o.Address] = b + } + + // Count predicted balances + for _, o := range outs.ExpectedOutputs() { + if _, ok := addrsMap[o.Address]; !ok { + return nil, fmt.Errorf("Found address %s in GetUnspentOutputs result, but this address wasn't requested", o.Address) + } + + amt, err := droplet.FromString(o.Coins) + if err != nil { + return nil, fmt.Errorf("droplet.FromString failed: %v", err) + } + + b := addrBalances[o.Address] + b.expected.Coins += amt + b.expected.Hours += o.CalculatedHours + + addrBalances[o.Address] = b + } + + toBalance := func(b wallet.Balance) (Balance, error) { + coins, err := droplet.ToString(b.Coins) + if err != nil { + return Balance{}, err + } + + return Balance{ + Coins: coins, + Hours: strconv.FormatUint(b.Hours, 10), + }, nil + } + + var totalConfirmed, totalSpendable, totalExpected wallet.Balance + balRlt := &BalanceResult{ + Addresses: make([]AddressBalances, len(addrs)), + } + + for i, a := range addrs { + b := addrBalances[a] + var err error + + balRlt.Addresses[i].Address = a + + totalConfirmed, err = totalConfirmed.Add(b.confirmed) + if err != nil { + return nil, err + } + + totalSpendable, err = totalSpendable.Add(b.spendable) + if err != nil { + return nil, err + } + + totalExpected, err = totalExpected.Add(b.expected) + if err != nil { + return nil, err + } + + balRlt.Addresses[i].Confirmed, err = toBalance(b.confirmed) + if err != nil { + return nil, err + } + + balRlt.Addresses[i].Spendable, err = toBalance(b.spendable) + if err != nil { + return nil, err + } + + balRlt.Addresses[i].Expected, err = toBalance(b.expected) + if err != nil { + return nil, err + } + } + + var err error + balRlt.Confirmed, err = toBalance(totalConfirmed) + if err != nil { + return nil, err + } + + balRlt.Spendable, err = toBalance(totalSpendable) + if err != nil { + return nil, err + } + + balRlt.Expected, err = toBalance(totalExpected) + if err != nil { + return nil, err + } + + return balRlt, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/checkdb.go b/vendor/github.com/skycoin/skycoin/src/cli/checkdb.go new file mode 100644 index 00000000..070f7b50 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/checkdb.go @@ -0,0 +1,141 @@ +package cli + +import ( + "fmt" + "os" + "time" + + "github.com/boltdb/bolt" + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/apputil" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +const ( + blockchainPubkey = "0328c576d3f420e7682058a981173a4b374c7cc5ff55bf394d3cf57059bbe6456a" +) + +// wrapDB calls dbutil.WrapDB and disables all logging +func wrapDB(db *bolt.DB) *dbutil.DB { + wdb := dbutil.WrapDB(db) + wdb.ViewLog = false + wdb.ViewTrace = false + wdb.UpdateLog = false + wdb.UpdateTrace = false + wdb.DurationLog = false + return wdb +} + +func checkDBCmd() *cobra.Command { + return &cobra.Command{ + Short: "Verify the database", + Use: "checkdb [db path]", + Long: `Checks if the given database file contains valid skycoin blockchain data. + If no argument is specificed, the default data.db in $HOME/.$COIN/ will be checked.`, + Args: cobra.MaximumNArgs(1), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: checkDB, + } +} + +func checkDB(_ *cobra.Command, args []string) error { + // get db path + dbPath := "" + if len(args) > 0 { + dbPath = args[0] + } + dbPath, err := resolveDBPath(cliConfig, dbPath) + if err != nil { + return err + } + + // check if this file exists + if _, err := os.Stat(dbPath); os.IsNotExist(err) { + return fmt.Errorf("db file: %v does not exist", dbPath) + } + + db, err := bolt.Open(dbPath, 0600, &bolt.Options{ + Timeout: 5 * time.Second, + ReadOnly: true, + }) + + if err != nil { + return fmt.Errorf("open db failed: %v", err) + } + pubkey, err := cipher.PubKeyFromHex(blockchainPubkey) + if err != nil { + return fmt.Errorf("decode blockchain pubkey failed: %v", err) + } + + go func() { + apputil.CatchInterrupt(quitChan) + }() + + if err := visor.CheckDatabase(wrapDB(db), pubkey, quitChan); err != nil { + if err == visor.ErrVerifyStopped { + return nil + } + return fmt.Errorf("checkdb failed: %v", err) + } + + fmt.Println("check db success") + return nil +} + +func checkDBEncodingCmd() *cobra.Command { + return &cobra.Command{ + Short: "Verify the database data encoding", + Use: "checkDBDecoding [db path]", + Long: `Verify the generated binary encoders match the dynamic encoders for database data. + If no argument is specificed, the default data.db in $HOME/.$COIN/ will be checked.`, + Args: cobra.MaximumNArgs(1), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: checkDBDecoding, + } +} + +func checkDBDecoding(_ *cobra.Command, args []string) error { + // get db path + dbPath := "" + if len(args) > 0 { + dbPath = args[0] + } + dbPath, err := resolveDBPath(cliConfig, dbPath) + if err != nil { + return err + } + + // check if this file exists + if _, err := os.Stat(dbPath); os.IsNotExist(err) { + return fmt.Errorf("db file: %v does not exist", dbPath) + } + + db, err := bolt.Open(dbPath, 0600, &bolt.Options{ + Timeout: 5 * time.Second, + ReadOnly: true, + }) + + if err != nil { + return fmt.Errorf("open db failed: %v", err) + } + + go func() { + apputil.CatchInterrupt(quitChan) + }() + + if err := visor.VerifyDBSkyencoderSafe(wrapDB(db), quitChan); err != nil { + if err == visor.ErrVerifyStopped { + return nil + } + return fmt.Errorf("checkDBDecoding failed: %v", err) + } + + fmt.Println("check db decoding success") + return nil + +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/cli.go b/vendor/github.com/skycoin/skycoin/src/cli/cli.go new file mode 100644 index 00000000..9060e30a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/cli.go @@ -0,0 +1,318 @@ +/* +Package cli implements the CLI cmd's methods. + +Includes methods for manipulating wallets files and interacting with the +REST API to query a skycoin node's status. +*/ +package cli + +import ( + "encoding/json" + "errors" + "flag" + "fmt" + "net/url" + "path/filepath" + "syscall" + + "os" + + "github.com/spf13/cobra" + "github.com/spf13/pflag" + "golang.org/x/crypto/ssh/terminal" + + "github.com/skycoin/skycoin/src/api" + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/wallet" +) + +var ( + // Version is the CLI Version + Version = "0.26.0" +) + +const ( + walletExt = "." + wallet.WalletExt + defaultCoin = "skycoin" + defaultRPCAddress = "http://127.0.0.1:6420" + defaultDataDir = "$HOME/.$COIN/" +) + +var ( + envVarsHelp = fmt.Sprintf(`ENVIRONMENT VARIABLES: + RPC_ADDR: Address of RPC node. Must be in scheme://host format. Default "%s" + RPC_USER: Username for RPC API, if enabled in the RPC. + RPC_PASS: Password for RPC API, if enabled in the RPC. + COIN: Name of the coin. Default "%s" + DATA_DIR: Directory where everything is stored. Default "%s"`, defaultRPCAddress, defaultCoin, defaultDataDir) + + helpTemplate = fmt.Sprintf(`USAGE:{{if .Runnable}} + {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}} + {{.CommandPath}} [command] [flags] [arguments...]{{end}}{{with (or .Long .Short)}} + +DESCRIPTION: + {{. | trimTrailingWhitespaces}}{{end}}{{if .HasExample}} + +EXAMPLES: +{{.Example}}{{end}}{{if .HasAvailableSubCommands}} + +COMMANDS:{{range .Commands}}{{if (or .IsAvailableCommand (eq .Name "help"))}} + {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableLocalFlags}} + +FLAGS: +{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableInheritedFlags}} + +GLOBAL FLAGS: +{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasHelpSubCommands}} + +Additional help topics:{{range .Commands}}{{if .IsAdditionalHelpTopicCommand}} + {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableSubCommands}} + +Use "{{.CommandPath}} [command] --help" for more information about a command.{{end}} + +%s +`, envVarsHelp) + + // ErrWalletName is returned if the wallet file name is invalid + ErrWalletName = fmt.Errorf("error wallet file name, must have %s extension", walletExt) + // ErrAddress is returned if an address is invalid + ErrAddress = errors.New("invalid address") + // ErrJSONMarshal is returned if JSON marshaling failed + ErrJSONMarshal = errors.New("json marshal failed") +) + +var ( + cliConfig Config + apiClient *api.Client + quitChan = make(chan struct{}) +) + +// Config cli's configuration struct +type Config struct { + DataDir string `json:"data_directory"` + Coin string `json:"coin"` + RPCAddress string `json:"rpc_address"` + RPCUsername string `json:"-"` + RPCPassword string `json:"-"` +} + +// LoadConfig loads config from environment, prior to parsing CLI flags +func LoadConfig() (Config, error) { + // get coin name from env + coin := os.Getenv("COIN") + if coin == "" { + coin = defaultCoin + } + + // get rpc address from env + rpcAddr := os.Getenv("RPC_ADDR") + if rpcAddr == "" { + rpcAddr = defaultRPCAddress + } + + if _, err := url.Parse(rpcAddr); err != nil { + return Config{}, errors.New("RPC_ADDR must be in scheme://host format") + } + + rpcUser := os.Getenv("RPC_USER") + rpcPass := os.Getenv("RPC_PASS") + + home := file.UserHome() + + // get data dir dir from env + dataDir := os.Getenv("DATA_DIR") + if dataDir == "" { + dataDir = filepath.Join(home, fmt.Sprintf(".%s", coin)) + } + + if os.Getenv("WALLET_DIR") != "" { + return Config{}, errors.New("the envvar WALLET_DIR is no longer recognized by the CLI tool. Please review the updated CLI docs to learn how to specify the wallet file for your desired action") + } + if os.Getenv("WALLET_NAME") != "" { + return Config{}, errors.New("the envvar WALLET_NAME is no longer recognized by the CLI tool. Please review the updated CLI docs to learn how to specify the wallet file for your desired action") + } + + return Config{ + DataDir: dataDir, + Coin: coin, + RPCAddress: rpcAddr, + RPCUsername: rpcUser, + RPCPassword: rpcPass, + }, nil +} + +// FullDBPath returns the joined data directory and db file name path +func (c Config) FullDBPath() string { + return filepath.Join(c.DataDir, "data.db") +} + +func resolveDBPath(cfg Config, db string) (string, error) { + if db == "" { + db = cfg.FullDBPath() + } + + // If db is only the basename, use the default data dir + if filepath.Base(db) == db { + db = filepath.Join(cfg.DataDir, db) + } + + absDB, err := filepath.Abs(db) + if err != nil { + return "", fmt.Errorf("Invalid data path %s: %v", db, err) + } + return absDB, nil +} + +// NewCLI creates a cli instance +func NewCLI(cfg Config) (*cobra.Command, error) { + apiClient = api.NewClient(cfg.RPCAddress) + apiClient.SetAuth(cfg.RPCUsername, cfg.RPCPassword) + + cliConfig = cfg + + skyCLI := &cobra.Command{ + Short: fmt.Sprintf("The %s command line interface", cfg.Coin), + Use: fmt.Sprintf("%s-cli", cfg.Coin), + } + + commands := []*cobra.Command{ + addPrivateKeyCmd(), + addressBalanceCmd(), + addressGenCmd(), + fiberAddressGenCmd(), + addressOutputsCmd(), + blocksCmd(), + broadcastTxCmd(), + checkDBCmd(), + checkDBEncodingCmd(), + createRawTxnCmd(), + decodeRawTxnCmd(), + encodeJSONTxnCmd(), + decryptWalletCmd(), + encryptWalletCmd(), + lastBlocksCmd(), + listAddressesCmd(), + listWalletsCmd(), + sendCmd(), + showConfigCmd(), + showSeedCmd(), + statusCmd(), + transactionCmd(), + verifyTransactionCmd(), + verifyAddressCmd(), + versionCmd(), + walletCreateCmd(), + walletAddAddressesCmd(), + walletKeyExportCmd(), + walletBalanceCmd(), + walletHisCmd(), + walletOutputsCmd(), + richlistCmd(), + addressTransactionsCmd(), + pendingTransactionsCmd(), + addresscountCmd(), + distributeGenesisCmd(), + } + + skyCLI.Version = Version + skyCLI.SuggestionsMinimumDistance = 1 + skyCLI.AddCommand(commands...) + + skyCLI.SetHelpTemplate(helpTemplate) + skyCLI.SetUsageTemplate(helpTemplate) + pflag.CommandLine.AddGoFlagSet(flag.CommandLine) + + return skyCLI, nil +} + +func printHelp(c *cobra.Command) { + c.Printf("See '%s %s --help'\n", c.Parent().Name(), c.Name()) +} + +func formatJSON(obj interface{}) ([]byte, error) { + d, err := json.MarshalIndent(obj, "", " ") + if err != nil { + return nil, ErrJSONMarshal + } + return d, nil +} + +func printJSON(obj interface{}) error { + d, err := formatJSON(obj) + if err != nil { + return err + } + + fmt.Println(string(d)) + + return nil +} + +// readPasswordFromTerminal promotes user to enter password and read it. +func readPasswordFromTerminal() ([]byte, error) { + // Promotes to enter the wallet password + fmt.Fprint(os.Stdout, "enter password:") + bp, err := terminal.ReadPassword(int(syscall.Stdin)) //nolint:unconvert + if err != nil { + return nil, err + } + fmt.Fprintln(os.Stdout, "") + return bp, nil +} + +// PUBLIC + +// WalletLoadError is returned if a wallet could not be loaded +type WalletLoadError struct { + error +} + +func (e WalletLoadError) Error() string { + return fmt.Sprintf("Load wallet failed: %v", e.error) +} + +// WalletSaveError is returned if a wallet could not be saved +type WalletSaveError struct { + error +} + +func (e WalletSaveError) Error() string { + return fmt.Sprintf("Save wallet failed: %v", e.error) +} + +// PasswordReader is an interface for getting password +type PasswordReader interface { + Password() ([]byte, error) +} + +// PasswordFromBytes represents an implementation of PasswordReader, +// which reads password from the bytes itself. +type PasswordFromBytes []byte + +// Password implements the PasswordReader's Password method +func (p PasswordFromBytes) Password() ([]byte, error) { + return []byte(p), nil +} + +// PasswordFromTerm reads password from terminal +type PasswordFromTerm struct{} + +// Password implements the PasswordReader's Password method +func (p PasswordFromTerm) Password() ([]byte, error) { + v, err := readPasswordFromTerminal() + if err != nil { + return nil, err + } + + return v, nil +} + +// NewPasswordReader creats a PasswordReader instance, +// reads password from the input bytes first, if it's empty, then read from terminal. +func NewPasswordReader(p []byte) PasswordReader { + if len(p) != 0 { + return PasswordFromBytes(p) + } + + return PasswordFromTerm{} +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/create_rawtx.go b/vendor/github.com/skycoin/skycoin/src/cli/create_rawtx.go new file mode 100644 index 00000000..96a5c3ca --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/create_rawtx.go @@ -0,0 +1,744 @@ +package cli + +import ( + "encoding/csv" + "encoding/json" + "errors" + "fmt" + "os" + "strings" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/readable" + "github.com/skycoin/skycoin/src/transaction" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/util/mathutil" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/wallet" +) + +var ( + // ErrTemporaryInsufficientBalance is returned if a wallet does not have enough balance for a spend, but will have enough after unconfirmed transactions confirm + ErrTemporaryInsufficientBalance = errors.New("balance is not sufficient. Balance will be sufficient after unconfirmed transactions confirm") +) + +// SendAmount represents an amount to send to an address +type SendAmount struct { + Addr string + Coins uint64 +} + +type sendAmountJSON struct { + Addr string `json:"addr"` + Coins string `json:"coins"` +} + +func createRawTxnCmd() *cobra.Command { + createRawTxnCmd := &cobra.Command{ + Short: "Create a raw transaction that can be broadcast to the network later", + Use: "createRawTransaction [wallet] [to address] [amount]", + Long: `Create a raw transaction that can be broadcast to the network later. + + Note: The [amount] argument is the coins you will spend, with decimal formatting, e.g. 1, 1.001 or 1.000000. + + The [to address] and [amount] arguments can be replaced with the --many/-m or the --csv option. + + Use caution when using the "-p" command. If you have command history enabled + your wallet encryption password can be recovered from the history log. If you + do not include the "-p" option you will be prompted to enter your password + after you enter your command.`, + SilenceUsage: true, + Args: cobra.MinimumNArgs(1), + RunE: func(c *cobra.Command, args []string) error { + jsonOutput, err := c.Flags().GetBool("json") + if err != nil { + return err + } + + txn, err := createRawTxnCmdHandler(c, args) + switch err.(type) { + case nil: + case WalletLoadError: + printHelp(c) + return err + default: + return err + } + + rawTxn, err := txn.SerializeHex() + if err != nil { + return err + } + + if jsonOutput { + return printJSON(struct { + RawTx string `json:"rawtx"` + }{ + RawTx: rawTxn, + }) + } + + fmt.Println(rawTxn) + + return nil + }, + } + + createRawTxnCmd.Flags().StringP("from-address", "a", "", "From address in wallet") + createRawTxnCmd.Flags().StringP("change-address", "c", "", `Specify the change address. +Defaults to one of the spending addresses (deterministic wallets) or to a new change address (bip44 wallets).`) + createRawTxnCmd.Flags().StringP("many", "m", "", `use JSON string to set multiple receive addresses and coins, +example: -m '[{"addr":"$addr1", "coins": "10.2"}, {"addr":"$addr2", "coins": "20"}]'`) + createRawTxnCmd.Flags().StringP("password", "p", "", "Wallet password") + createRawTxnCmd.Flags().BoolP("json", "j", false, "Returns the results in JSON format.") + createRawTxnCmd.Flags().String("csv", "", "CSV file containing addresses and amounts to send") + + return createRawTxnCmd +} + +type walletAddress struct { + Wallet string + Address string +} + +func fromWalletOrAddress(c *cobra.Command, walletFile string) (walletAddress, error) { + address, err := c.Flags().GetString("from-address") + if err != nil { + return walletAddress{}, err + } + + wltAddr := walletAddress{ + Wallet: walletFile, + } + + wltAddr.Address = address + if wltAddr.Address == "" { + return wltAddr, nil + } + + if _, err := cipher.DecodeBase58Address(wltAddr.Address); err != nil { + return walletAddress{}, fmt.Errorf("invalid address: %s", wltAddr.Address) + } + + return wltAddr, nil +} + +func getChangeAddress(wltAddr walletAddress, chgAddr string) (string, error) { + if chgAddr == "" { + switch { + case wltAddr.Address != "": + // use the from address as change address + chgAddr = wltAddr.Address + case wltAddr.Wallet != "": + // get the default wallet's coin base address + wlt, err := wallet.Load(wltAddr.Wallet) + if err != nil { + return "", WalletLoadError{err} + } + + if wlt.EntriesLen() > 0 { + chgAddr = wlt.GetEntryAt(0).Address.String() + } else { + return "", errors.New("no change address was found") + } + default: + return "", errors.New("wallet file, from address and change address are empty") + } + } + + // validate the address + _, err := cipher.DecodeBase58Address(chgAddr) + if err != nil { + return "", fmt.Errorf("invalid change address: %s", chgAddr) + } + + return chgAddr, nil +} + +func getToAddresses(c *cobra.Command, args []string) ([]SendAmount, error) { + csvFile, err := c.Flags().GetString("csv") + if err != nil { + return nil, err + } + many, err := c.Flags().GetString("many") + if err != nil { + return nil, err + } + + if csvFile != "" && many != "" { + return nil, errors.New("-csv and -m cannot be combined") + } + + if many != "" { + return parseSendAmountsFromJSON(many) + } else if csvFile != "" { + fields, err := openCSV(csvFile) + if err != nil { + return nil, err + } + return parseSendAmountsFromCSV(fields) + } + + if len(args) < 2 { + return nil, fmt.Errorf("requires at least 2 arg(s), only received %d", len(args)) + } + + toAddr := args[0] + + if _, err := cipher.DecodeBase58Address(toAddr); err != nil { + return nil, err + } + + amt, err := getAmount(args) + if err != nil { + return nil, err + } + + return []SendAmount{{ + Addr: toAddr, + Coins: amt, + }}, nil +} + +func openCSV(csvFile string) ([][]string, error) { + f, err := os.Open(csvFile) + if err != nil { + return nil, err + } + defer f.Close() + + r := csv.NewReader(f) + return r.ReadAll() +} + +func parseSendAmountsFromCSV(fields [][]string) ([]SendAmount, error) { + var sends []SendAmount + var errs []error + for i, f := range fields { + addr := f[0] + + addr = strings.TrimSpace(addr) + + if _, err := cipher.DecodeBase58Address(addr); err != nil { + err = fmt.Errorf("[row %d] Invalid address %s: %v", i, addr, err) + errs = append(errs, err) + continue + } + + coins, err := droplet.FromString(f[1]) + if err != nil { + err = fmt.Errorf("[row %d] Invalid amount %s: %v", i, f[1], err) + errs = append(errs, err) + continue + } + + sends = append(sends, SendAmount{ + Addr: addr, + Coins: coins, + }) + } + + if len(errs) > 0 { + errMsgs := make([]string, len(errs)) + for i, err := range errs { + errMsgs[i] = err.Error() + } + + errMsg := strings.Join(errMsgs, "\n") + + return nil, errors.New(errMsg) + } + + return sends, nil +} + +func parseSendAmountsFromJSON(m string) ([]SendAmount, error) { + sas := []sendAmountJSON{} + + if err := json.NewDecoder(strings.NewReader(m)).Decode(&sas); err != nil { + return nil, fmt.Errorf("invalid -m flag string, err: %v", err) + } + + sendAmts := make([]SendAmount, 0, len(sas)) + + for _, sa := range sas { + amt, err := droplet.FromString(sa.Coins) + if err != nil { + return nil, fmt.Errorf("invalid coins value in -m flag string: %v", err) + } + + sendAmts = append(sendAmts, SendAmount{ + Addr: sa.Addr, + Coins: amt, + }) + } + + return sendAmts, nil +} + +func getAmount(args []string) (uint64, error) { + amount := args[1] + amt, err := droplet.FromString(amount) + if err != nil { + return 0, fmt.Errorf("invalid amount: %v", err) + } + + return amt, nil +} + +// createRawTxnArgs are encapsulated arguments for creating a transaction +type createRawTxnArgs struct { + WalletID string + Address string + ChangeAddress string + SendAmounts []SendAmount + Password PasswordReader +} + +func parseCreateRawTxnArgs(c *cobra.Command, args []string) (*createRawTxnArgs, error) { + wltAddr, err := fromWalletOrAddress(c, args[0]) + if err != nil { + return nil, err + } + + changeAddress, err := c.Flags().GetString("change-address") + if err != nil { + return nil, err + } + chgAddr, err := getChangeAddress(wltAddr, changeAddress) + if err != nil { + return nil, err + } + + toAddrs, err := getToAddresses(c, args[1:]) + if err != nil { + return nil, err + } + if err := validateSendAmounts(toAddrs); err != nil { + return nil, err + } + + password, err := c.Flags().GetString("password") + if err != nil { + return nil, err + } + pr := NewPasswordReader([]byte(password)) + + return &createRawTxnArgs{ + WalletID: wltAddr.Wallet, + Address: wltAddr.Address, + ChangeAddress: chgAddr, + SendAmounts: toAddrs, + Password: pr, + }, nil +} + +func createRawTxnCmdHandler(c *cobra.Command, args []string) (*coin.Transaction, error) { + parsedArgs, err := parseCreateRawTxnArgs(c, args) + if err != nil { + return nil, err + } + + // TODO -- load distribution params from config? Need to allow fiber chains to be used easily + // There's too many distribution parameters to put them in command line, but we could read them from a file. + // We could also have multiple hardcoded known distribution parameters for fiber coins, in the source, + // but this wouldn't work for new fiber coins that hadn't been hardcoded yet. + if parsedArgs.Address == "" { + return CreateRawTxnFromWallet(apiClient, parsedArgs.WalletID, + parsedArgs.ChangeAddress, parsedArgs.SendAmounts, + parsedArgs.Password, params.MainNetDistribution) + } + + return CreateRawTxnFromAddress(apiClient, parsedArgs.Address, + parsedArgs.WalletID, parsedArgs.ChangeAddress, parsedArgs.SendAmounts, + parsedArgs.Password, params.MainNetDistribution) +} + +func validateSendAmounts(toAddrs []SendAmount) error { + for _, arg := range toAddrs { + // validate to address + _, err := cipher.DecodeBase58Address(arg.Addr) + if err != nil { + return ErrAddress + } + + if arg.Coins == 0 { + return errors.New("Cannot send 0 coins") + } + } + + if len(toAddrs) == 0 { + return errors.New("No destination addresses") + } + + return nil +} + +// PUBLIC + +// CreateRawTxnFromWallet creates a transaction from any address or combination of addresses in a wallet +func CreateRawTxnFromWallet(c GetOutputser, walletFile, chgAddr string, toAddrs []SendAmount, pr PasswordReader, distParams params.Distribution) (*coin.Transaction, error) { + // check change address + cAddr, err := cipher.DecodeBase58Address(chgAddr) + if err != nil { + return nil, ErrAddress + } + + // check if the change address is in wallet. + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, err + } + + _, ok := wlt.GetEntry(cAddr) + if !ok { + return nil, fmt.Errorf("change address %v is not in wallet", chgAddr) + } + + switch pr.(type) { + case nil: + if wlt.IsEncrypted() { + return nil, wallet.ErrWalletEncrypted + } + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return nil, err + } + + if !wlt.IsEncrypted() && len(p) != 0 { + return nil, wallet.ErrWalletNotEncrypted + } + } + + var password []byte + if wlt.IsEncrypted() { + var err error + password, err = pr.Password() + if err != nil { + return nil, err + } + } + + // get all address in the wallet + totalAddrs := wlt.GetAddresses() + addrStrArray := make([]string, len(totalAddrs)) + for i, a := range totalAddrs { + addrStrArray[i] = a.String() + } + + return CreateRawTxn(c, wlt, addrStrArray, chgAddr, toAddrs, password, distParams) +} + +// CreateRawTxnFromAddress creates a transaction from a specific address in a wallet +func CreateRawTxnFromAddress(c GetOutputser, addr, walletFile, chgAddr string, toAddrs []SendAmount, pr PasswordReader, distParams params.Distribution) (*coin.Transaction, error) { + // check if the address is in the default wallet. + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, err + } + + srcAddr, err := cipher.DecodeBase58Address(addr) + if err != nil { + return nil, ErrAddress + } + + _, ok := wlt.GetEntry(srcAddr) + if !ok { + return nil, fmt.Errorf("%v address is not in wallet", addr) + } + + // validate change address + cAddr, err := cipher.DecodeBase58Address(chgAddr) + if err != nil { + return nil, ErrAddress + } + + _, ok = wlt.GetEntry(cAddr) + if !ok { + return nil, fmt.Errorf("change address %v is not in wallet", chgAddr) + } + + switch pr.(type) { + case nil: + if wlt.IsEncrypted() { + return nil, wallet.ErrWalletEncrypted + } + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return nil, err + } + + if !wlt.IsEncrypted() && len(p) != 0 { + return nil, wallet.ErrWalletNotEncrypted + } + } + + var password []byte + if wlt.IsEncrypted() { + var err error + password, err = pr.Password() + if err != nil { + return nil, err + } + } + + return CreateRawTxn(c, wlt, []string{addr}, chgAddr, toAddrs, password, distParams) +} + +// GetOutputser implements unspent output querying +type GetOutputser interface { + OutputsForAddresses([]string) (*readable.UnspentOutputsSummary, error) +} + +// CreateRawTxn creates a transaction from a set of addresses contained in a loaded wallet.Wallet +func CreateRawTxn(c GetOutputser, wlt wallet.Wallet, inAddrs []string, chgAddr string, toAddrs []SendAmount, password []byte, distParams params.Distribution) (*coin.Transaction, error) { + if err := validateSendAmounts(toAddrs); err != nil { + return nil, err + } + + // Get unspent outputs of those addresses + outputs, err := c.OutputsForAddresses(inAddrs) + if err != nil { + return nil, err + } + + inUxs, err := outputs.SpendableOutputs().ToUxArray() + if err != nil { + return nil, err + } + + txn, err := createRawTxn(outputs, wlt, chgAddr, toAddrs, password) + if err != nil { + return nil, err + } + + // filter out unspents which are not used in transaction + var inUxsFiltered coin.UxArray + for _, h := range txn.In { + for _, u := range inUxs { + if h == u.Hash() { + inUxsFiltered = append(inUxsFiltered, u) + } + } + } + + head, err := outputs.Head.ToCoinBlockHeader() + if err != nil { + return nil, err + } + + if err := visor.VerifySingleTxnSoftConstraints(*txn, head.Time, inUxsFiltered, distParams, params.UserVerifyTxn); err != nil { + return nil, err + } + if err := visor.VerifySingleTxnHardConstraints(*txn, head, inUxsFiltered, visor.TxnSigned); err != nil { + return nil, err + } + if err := visor.VerifySingleTxnUserConstraints(*txn); err != nil { + return nil, err + } + + return txn, nil +} + +func createRawTxn(uxouts *readable.UnspentOutputsSummary, wlt wallet.Wallet, chgAddr string, toAddrs []SendAmount, password []byte) (*coin.Transaction, error) { + // Calculate total required coins + var totalCoins uint64 + for _, arg := range toAddrs { + var err error + totalCoins, err = mathutil.AddUint64(totalCoins, arg.Coins) + if err != nil { + return nil, err + } + } + + spendOutputs, err := chooseSpends(uxouts, totalCoins) + if err != nil { + return nil, err + } + + txOuts, err := makeChangeOut(spendOutputs, chgAddr, toAddrs) + if err != nil { + return nil, err + } + + f := func(w wallet.Wallet) (*coin.Transaction, error) { + keys, err := getKeys(w, spendOutputs) + if err != nil { + return nil, err + } + + return NewTransaction(spendOutputs, keys, txOuts) + } + + makeTxn := func() (*coin.Transaction, error) { + return f(wlt) + } + + if wlt.IsEncrypted() { + makeTxn = func() (*coin.Transaction, error) { + var tx *coin.Transaction + if err := wallet.GuardView(wlt, password, func(w wallet.Wallet) error { + var err error + tx, err = f(w) + return err + }); err != nil { + return nil, err + } + + return tx, nil + } + } + + return makeTxn() +} + +func chooseSpends(uxouts *readable.UnspentOutputsSummary, coins uint64) ([]transaction.UxBalance, error) { + // Convert spendable unspent outputs to []transaction.UxBalance + spendableOutputs, err := readable.OutputsToUxBalances(uxouts.SpendableOutputs()) + if err != nil { + return nil, err + } + + // Choose which unspent outputs to spend + // Use the MinimizeUxOuts strategy, since this is most likely used by + // application that may need to send frequently. + // Using fewer UxOuts will leave more available for other transactions, + // instead of waiting for confirmation. + outs, err := transaction.ChooseSpendsMinimizeUxOuts(spendableOutputs, coins, 0) + if err != nil { + // If there is not enough balance in the spendable outputs, + // see if there is enough balance when including incoming outputs + if err == transaction.ErrInsufficientBalance { + expectedOutputs, otherErr := readable.OutputsToUxBalances(uxouts.ExpectedOutputs()) + if otherErr != nil { + return nil, otherErr + } + + if _, otherErr := transaction.ChooseSpendsMinimizeUxOuts(expectedOutputs, coins, 0); otherErr != nil { + return nil, err + } + + return nil, ErrTemporaryInsufficientBalance + } + + return nil, err + } + + return outs, nil +} + +func makeChangeOut(outs []transaction.UxBalance, chgAddr string, toAddrs []SendAmount) ([]coin.TransactionOutput, error) { + var totalInCoins, totalInHours, totalOutCoins uint64 + + for _, o := range outs { + totalInCoins += o.Coins + totalInHours += o.Hours + } + + if totalInHours == 0 { + return nil, fee.ErrTxnNoFee + } + + for _, to := range toAddrs { + totalOutCoins += to.Coins + } + + if totalInCoins < totalOutCoins { + return nil, transaction.ErrInsufficientBalance + } + + outAddrs := []coin.TransactionOutput{} + changeAmount := totalInCoins - totalOutCoins + + haveChange := changeAmount > 0 + nAddrs := uint64(len(toAddrs)) + changeHours, addrHours, totalOutHours := transaction.DistributeSpendHours(totalInHours, nAddrs, haveChange) + + if err := fee.VerifyTransactionFeeForHours(totalOutHours, totalInHours-totalOutHours, params.UserVerifyTxn.BurnFactor); err != nil { + return nil, err + } + + for i, to := range toAddrs { + // check if changeHours > 0, we do not need to cap addrHours when changeHours is zero + // changeHours is zero when there is no change left or all the coinhours were used in fees + // 1) if there is no change then the remaining coinhours are evenly distributed among the destination addresses + // 2) if all the coinhours are burned in fees then all addrHours are zero by default + if changeHours > 0 { + // the coinhours are capped to a maximum of incoming coins for the address + // if incoming coins < 1 then the cap is set to 1 coinhour + + spendCoinsAmt := to.Coins / 1e6 + if spendCoinsAmt == 0 { + spendCoinsAmt = 1 + } + + // allow addrHours to be less than the incoming coins of the address but not more + if addrHours[i] > spendCoinsAmt { + // cap the addrHours, move the difference to changeHours + changeHours += addrHours[i] - spendCoinsAmt + addrHours[i] = spendCoinsAmt + } + } + + outAddrs = append(outAddrs, mustMakeUtxoOutput(to.Addr, to.Coins, addrHours[i])) + } + + if haveChange { + outAddrs = append(outAddrs, mustMakeUtxoOutput(chgAddr, changeAmount, changeHours)) + } + + return outAddrs, nil +} + +func mustMakeUtxoOutput(addr string, coins, hours uint64) coin.TransactionOutput { + uo := coin.TransactionOutput{} + uo.Address = cipher.MustDecodeBase58Address(addr) + uo.Coins = coins + uo.Hours = hours + return uo +} + +func getKeys(wlt wallet.Wallet, outs []transaction.UxBalance) ([]cipher.SecKey, error) { + keys := make([]cipher.SecKey, len(outs)) + for i, o := range outs { + entry, ok := wlt.GetEntry(o.Address) + if !ok { + return nil, fmt.Errorf("%v is not in wallet", o.Address.String()) + } + + keys[i] = entry.Secret + } + return keys, nil +} + +// NewTransaction creates a transaction. The transaction should be validated against hard and soft constraints before transmission. +func NewTransaction(utxos []transaction.UxBalance, keys []cipher.SecKey, outs []coin.TransactionOutput) (*coin.Transaction, error) { + txn := coin.Transaction{} + for _, u := range utxos { + if err := txn.PushInput(u.Hash); err != nil { + return nil, err + } + } + + for _, o := range outs { + if err := txn.PushOutput(o.Address, o.Coins, o.Hours); err != nil { + return nil, err + } + } + + txn.SignInputs(keys) + + err := txn.UpdateHeader() + if err != nil { + return nil, err + } + + return &txn, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/decrypt_wallet.go b/vendor/github.com/skycoin/skycoin/src/cli/decrypt_wallet.go new file mode 100644 index 00000000..9fdaefaf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/decrypt_wallet.go @@ -0,0 +1,82 @@ +package cli + +import ( + "path/filepath" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/wallet" +) + +func decryptWalletCmd() *cobra.Command { + decryptWalletCmd := &cobra.Command{ + Args: cobra.ExactArgs(1), + Use: "decryptWallet [wallet]", + Short: "Decrypt a wallet", + Long: `Decrypt an encrypted wallet. The decrypted wallet will be written + on the filesystem in place of the encrypted wallet. + + Use caution when using the "-p" command. If you have command history enabled + your wallet encryption password can be recovered from the history log. If you + do not include the "-p" option you will be prompted to enter your password + after you enter your command.`, + SilenceUsage: true, + RunE: func(c *cobra.Command, args []string) error { + w := args[0] + pr := NewPasswordReader([]byte(c.Flag("password").Value.String())) + + _, err := decryptWallet(w, pr) + switch err.(type) { + case nil: + case WalletLoadError: + printHelp(c) + return err + default: + return err + } + + return nil + }, + } + + decryptWalletCmd.Flags().StringP("password", "p", "", "wallet password") + + return decryptWalletCmd +} + +func decryptWallet(walletFile string, pr PasswordReader) (wallet.Wallet, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, WalletLoadError{err} + } + + if !wlt.IsEncrypted() { + return nil, wallet.ErrWalletNotEncrypted + } + + if pr == nil { + return nil, wallet.ErrMissingPassword + } + + wltPassword, err := pr.Password() + if err != nil { + return nil, err + } + + unlockedWlt, err := wallet.Unlock(wlt, wltPassword) + if err != nil { + return nil, err + } + + dir, err := filepath.Abs(filepath.Dir(walletFile)) + if err != nil { + return nil, err + } + + // save the wallet + if err := wallet.Save(unlockedWlt, dir); err != nil { + return nil, WalletLoadError{err} + } + + return unlockedWlt, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/distribute_genesis.go b/vendor/github.com/skycoin/skycoin/src/cli/distribute_genesis.go new file mode 100644 index 00000000..dcf6b5fa --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/distribute_genesis.go @@ -0,0 +1,147 @@ +package cli + +import ( + "errors" + "fmt" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/droplet" +) + +func distributeGenesisCmd() *cobra.Command { + cmd := &cobra.Command{ + Args: cobra.ExactArgs(1), + Use: "distributeGenesis [genesis address secret key]", + Short: "Distributes the genesis block coins into the configured distribution addresses", + Long: `Distributes the genesis block coins into the configured distribution addresses. + + The genesis block contains a single transaction with a single output that creates all coins + in existence. Skycoin expects the second block to be a "distribution" transaction, where + the genesis coins are split into N distribution addresses, each holding an equal amount. + + RPC_ADDR must be set, to communicate with a running Skycoin node.`, + RunE: distributeGenesisHandler, + } + + cmd.Flags().StringP("genesis-seckey", "s", "", "Genesis address secret key") + + return cmd +} + +func distributeGenesisHandler(c *cobra.Command, args []string) error { + sk, err := cipher.SecKeyFromHex(args[0]) + if err != nil { + return errors.New("invalid genesis secret key") + } + + // Obtain the genesis uxid from the node + uxID, err := getGenesisUxID() + if err != nil { + return err + } + + txn, err := createDistributionTransaction(uxID, sk, params.MainNetDistribution) + if err != nil { + return err + } + + health, err := apiClient.Health() + if err != nil { + return err + } + + // If the node is a block publisher node, we can skip the broadcast and + // avoid any broadcast related errors. Otherwise, InjectTransaction would + // require that the block publisher node be connected to another peer. + // Otherwise, inject the transaction normally, which requires the node + // to be connected to peers, or else an error is returned. + // This allows the user to use this command against a block publisher node + // during setup, or against a local node, after setting up a block publisher + // node elsewhere. + if health.BlockPublisher { + if _, err := apiClient.InjectTransactionNoBroadcast(txn); err != nil { + return err + } + } else { + if _, err := apiClient.InjectTransaction(txn); err != nil { + return err + } + } + + return nil +} + +func getGenesisUxID() (string, error) { + // Check that the only block is the genesis block + bm, err := apiClient.BlockchainMetadata() + if err != nil { + return "", err + } + if bm.Head.BkSeq != 0 { + return "", errors.New("genesis output has already been distributed") + } + + b, err := apiClient.BlockBySeq(0) + if err != nil { + return "", err + } + + // Sanity checks + if len(b.Body.Transactions) != 1 { + return "", errors.New("genesis block has multiple transactions") + } + if len(b.Body.Transactions[0].Out) != 1 { + return "", errors.New("genesis block has multiple outputs") + } + + return b.Body.Transactions[0].Out[0].Hash, nil +} + +func createDistributionTransaction(uxID string, genesisSecKey cipher.SecKey, p params.Distribution) (*coin.Transaction, error) { + // Sanity check + addrs := p.AddressesDecoded() + if p.MaxCoinSupply%uint64(len(addrs)) != 0 { + return nil, errors.New("the number of distribution addresses must divide MaxCoinSupply exactly") + } + + var txn coin.Transaction + + output, err := cipher.SHA256FromHex(uxID) + if err != nil { + return nil, fmt.Errorf("invalid uxid") + } + + if err := txn.PushInput(output); err != nil { + return nil, err + } + + coins := (p.MaxCoinSupply / uint64(len(addrs))) * droplet.Multiplier + hours := uint64(1000) + + for _, addr := range addrs { + if err := txn.PushOutput(addr, coins, hours); err != nil { + return nil, err + } + } + + seckeys := make([]cipher.SecKey, 1) + seckey := genesisSecKey.Hex() + seckeys[0] = cipher.MustSecKeyFromHex(seckey) + txn.SignInputs([]cipher.SecKey{ + genesisSecKey, + }) + + if err := txn.UpdateHeader(); err != nil { + return nil, err + } + + if err := txn.Verify(); err != nil { + return nil, err + } + + return &txn, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/encrypt_wallet.go b/vendor/github.com/skycoin/skycoin/src/cli/encrypt_wallet.go new file mode 100644 index 00000000..3b85e332 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/encrypt_wallet.go @@ -0,0 +1,87 @@ +package cli + +import ( + "path/filepath" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/wallet" +) + +func encryptWalletCmd() *cobra.Command { + encryptWalletCmd := &cobra.Command{ + Args: cobra.ExactArgs(1), + Short: "Encrypt wallet", + Use: "encryptWallet [wallet]", + Long: `Encrypt a decrypted wallet. The encrypted wallet file + will be written on the filesystem in place of the decrypted wallet. + + Use caution when using the "-p" command. If you have command history enabled + your wallet encryption password can be recovered from the history log. If you + do not include the "-p" option you will be prompted to enter your password + after you enter your command.`, + SilenceUsage: true, + RunE: func(c *cobra.Command, args []string) error { + w := args[0] + cryptoType, err := wallet.CryptoTypeFromString(c.Flag("crypto-type").Value.String()) + if err != nil { + printHelp(c) + return err + } + + pr := NewPasswordReader([]byte(c.Flag("password").Value.String())) + + _, err = encryptWallet(w, pr, cryptoType) + switch err.(type) { + case nil: + case WalletLoadError: + printHelp(c) + return err + default: + return err + } + + return nil + }, + } + + encryptWalletCmd.Flags().StringP("password", "p", "", "wallet password") + encryptWalletCmd.Flags().StringP("crypto-type", "x", "scrypt-chacha20poly1305", "The crypto type for wallet encryption, can be scrypt-chacha20poly1305 or sha256-xor") + return encryptWalletCmd +} + +func encryptWallet(walletFile string, pr PasswordReader, cryptoType wallet.CryptoType) (wallet.Wallet, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, WalletLoadError{err} + } + + if wlt.IsEncrypted() { + return nil, wallet.ErrWalletEncrypted + } + + if pr == nil { + return nil, wallet.ErrMissingPassword + } + + password, err := pr.Password() + if err != nil { + return nil, err + } + + if err := wallet.Lock(wlt, password, cryptoType); err != nil { + return nil, err + } + + dir, err := filepath.Abs(filepath.Dir(walletFile)) + if err != nil { + return nil, err + } + + // save the wallet + if err := wallet.Save(wlt, dir); err != nil { + return nil, WalletLoadError{err} + } + + return wlt, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/generate_addrs.go b/vendor/github.com/skycoin/skycoin/src/cli/generate_addrs.go new file mode 100644 index 00000000..1ec7921b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/generate_addrs.go @@ -0,0 +1,183 @@ +package cli + +import ( + "errors" + "fmt" + "path/filepath" + "strings" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/wallet" +) + +func walletAddAddressesCmd() *cobra.Command { + walletAddAddressesCmd := &cobra.Command{ + Args: cobra.ExactArgs(1), + Use: "walletAddAddresses [wallet]", + Short: "Generate additional addresses for a deterministic, bip44 or xpub wallet", + Long: `Generate additional addresses for a deterministic, bip44 or xpub wallet. + Addresses are generated according to the wallet type's generation mechanism. + + Warning: if you generate long (over 20) sequences of empty addresses and use + a later address this can cause the wallet history scanner to miss your addresses, + if you load the wallet from seed elsewhere. In that case, you'll have to manually + generate addresses to cover the gap of unused addresses in the sequence. + + BIP44 wallets generate their addresses on the external (0'/0) chain. + + Use caution when using the "-p" command. If you have command + history enabled your wallet encryption password can be recovered from the + history log. If you do not include the "-p" option you will be prompted to + enter your password after you enter your command.`, + RunE: generateAddrs, + } + + walletAddAddressesCmd.Flags().Uint64P("num", "n", 1, "Number of addresses to generate") + walletAddAddressesCmd.Flags().StringP("password", "p", "", "wallet password") + walletAddAddressesCmd.Flags().BoolP("json", "j", false, "Returns the results in JSON format") + + return walletAddAddressesCmd +} + +func generateAddrs(c *cobra.Command, args []string) error { + // get number of address that are need to be generated. + num, err := c.Flags().GetUint64("num") + if err != nil { + return err + } + + if num == 0 { + return errors.New("-n must > 0") + } + + jsonFmt, err := c.Flags().GetBool("json") + if err != nil { + return err + } + + w := args[0] + + pr := NewPasswordReader([]byte(c.Flag("password").Value.String())) + addrs, err := GenerateAddressesInFile(w, num, pr) + + switch err.(type) { + case nil: + case WalletLoadError: + printHelp(c) + return err + default: + return err + } + + if jsonFmt { + s, err := FormatAddressesAsJSON(addrs) + if err != nil { + return err + } + fmt.Println(s) + } else { + fmt.Println(FormatAddressesAsJoinedArray(addrs)) + } + + return nil +} + +// GenerateAddressesInFile generates addresses in given wallet file +func GenerateAddressesInFile(walletFile string, num uint64, pr PasswordReader) ([]cipher.Addresser, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, WalletLoadError{err} + } + + switch pr.(type) { + case nil: + if wlt.IsEncrypted() { + return nil, wallet.ErrWalletEncrypted + } + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return nil, err + } + + if !wlt.IsEncrypted() && len(p) != 0 { + return nil, wallet.ErrWalletNotEncrypted + } + } + + genAddrsInWallet := func(w wallet.Wallet, n uint64) ([]cipher.Addresser, error) { + return w.GenerateAddresses(n) + } + + if wlt.IsEncrypted() { + genAddrsInWallet = func(w wallet.Wallet, n uint64) ([]cipher.Addresser, error) { + password, err := pr.Password() + if err != nil { + return nil, err + } + + var addrs []cipher.Addresser + if err := wallet.GuardUpdate(w, password, func(wlt wallet.Wallet) error { + var err error + addrs, err = wlt.GenerateAddresses(n) + return err + }); err != nil { + return nil, err + } + + return addrs, nil + } + } + + addrs, err := genAddrsInWallet(wlt, num) + if err != nil { + return nil, err + } + + dir, err := filepath.Abs(filepath.Dir(walletFile)) + if err != nil { + return nil, err + } + + if err := wallet.Save(wlt, dir); err != nil { + return nil, WalletSaveError{err} + } + + return addrs, nil +} + +// FormatAddressesAsJSON converts []cipher.Address to strings and formats the array into a standard JSON object wrapper +func FormatAddressesAsJSON(addrs []cipher.Addresser) (string, error) { + d, err := formatJSON(struct { + Addresses []string `json:"addresses"` + }{ + Addresses: AddressesToStrings(addrs), + }) + + if err != nil { + return "", err + } + + return string(d), nil +} + +// FormatAddressesAsJoinedArray converts []cipher.Address to strings and concatenates them with a comma +func FormatAddressesAsJoinedArray(addrs []cipher.Addresser) string { + return strings.Join(AddressesToStrings(addrs), ",") +} + +// AddressesToStrings converts []cipher.Address to []string +func AddressesToStrings(addrs []cipher.Addresser) []string { + if addrs == nil { + return nil + } + + addrsStr := make([]string, len(addrs)) + for i, a := range addrs { + addrsStr[i] = a.String() + } + + return addrsStr +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/generate_wallet.go b/vendor/github.com/skycoin/skycoin/src/cli/generate_wallet.go new file mode 100644 index 00000000..74d72796 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/generate_wallet.go @@ -0,0 +1,316 @@ +package cli + +import ( + "encoding/hex" + "errors" + "fmt" + "os" + "path/filepath" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip39" + "github.com/skycoin/skycoin/src/cipher/bip44" + secp256k1 "github.com/skycoin/skycoin/src/cipher/secp256k1-go" + "github.com/skycoin/skycoin/src/wallet" +) + +const ( + // AlphaNumericSeedLength is the size of generated alphanumeric seeds, in bytes + AlphaNumericSeedLength = 64 +) + +func walletCreateCmd() *cobra.Command { + walletCreateCmd := &cobra.Command{ + Args: cobra.ExactArgs(1), + Use: "walletCreate [wallet]", + Short: "Create a new wallet", + Long: `Create a new wallet. + + Use caution when using the "-p" command. If you have command + history enabled your wallet encryption password can be recovered + from the history log. If you do not include the "-p" option you will + be prompted to enter your password after you enter your command. + + All results are returned in JSON format in addition to being written to the specified filename.`, + SilenceUsage: true, + RunE: generateWalletHandler, + } + + walletCreateCmd.Flags().BoolP("random", "r", false, "A random alpha numeric seed will be generated.") + walletCreateCmd.Flags().BoolP("mnemonic", "m", false, "A mnemonic seed consisting of 12 dictionary words will be generated") + walletCreateCmd.Flags().Uint64P("wordcount", "w", 12, "Number of seed words to use for mnemonic. Must be 12, 15, 18, 21 or 24") + walletCreateCmd.Flags().StringP("seed", "s", "", "Your seed") + walletCreateCmd.Flags().StringP("seed-passphrase", "", "", "Seed passphrase (bip44 wallets only)") + walletCreateCmd.Flags().Uint32P("bip44-coin", "", uint32(bip44.CoinTypeSkycoin), "BIP44 coin type") + walletCreateCmd.Flags().StringP("coin", "c", string(wallet.CoinTypeSkycoin), "Wallet address coin type (options: skycoin, bitcoin)") + walletCreateCmd.Flags().Uint64P("num", "n", 1, `Number of addresses to generate.`) + walletCreateCmd.Flags().StringP("label", "l", "", "Label used to identify your wallet.") + walletCreateCmd.Flags().StringP("type", "t", wallet.WalletTypeDeterministic, "Wallet type. Types are \"collection\", \"deterministic\", \"bip44\" or \"xpub\"") + walletCreateCmd.Flags().BoolP("encrypt", "e", false, "Create encrypted wallet.") + walletCreateCmd.Flags().StringP("crypto-type", "x", string(wallet.DefaultCryptoType), "The crypto type for wallet encryption, can be scrypt-chacha20poly1305 or sha256-xor") + walletCreateCmd.Flags().StringP("password", "p", "", "Wallet password") + walletCreateCmd.Flags().StringP("xpub", "", "", "xpub key for \"xpub\" type wallets") + + return walletCreateCmd +} + +func generateWalletHandler(c *cobra.Command, args []string) error { + wltName := args[0] + // wallet filename must have the correct extension + if filepath.Ext(wltName) != walletExt { + return ErrWalletName + } + + // check if the wallet file does exist + if _, err := os.Stat(wltName); err == nil { + return fmt.Errorf("%v already exists", wltName) + } + + // get number of address that are need to be generated + num, err := c.Flags().GetUint64("num") + if err != nil { + return err + } + if num == 0 { + return errors.New("-n must > 0") + } + + label := c.Flag("label").Value.String() + + s := c.Flag("seed").Value.String() + random, err := c.Flags().GetBool("random") + if err != nil { + return err + } + + mnemonic, err := c.Flags().GetBool("mnemonic") + if err != nil { + return err + } + + wordCount, err := c.Flags().GetUint64("wordcount") + if err != nil { + return err + } + + if !mnemonic && c.Flags().Changed("wordcount") { + return errors.New("-m must also be set when using -wordcount") + } + + encrypt, err := c.Flags().GetBool("encrypt") + if err != nil { + return err + } + + walletType, err := c.Flags().GetString("type") + if err != nil { + return err + } + if !wallet.IsValidWalletType(walletType) { + return wallet.ErrInvalidWalletType + } + + coinStr, err := c.Flags().GetString("coin") + if err != nil { + return err + } + coin, err := wallet.ResolveCoinType(coinStr) + if err != nil { + return err + } + + var bip44Coin *bip44.CoinType + if c.Flags().Changed("bip44-coin") { + bip44CoinInt, err := c.Flags().GetUint32("bip44-coin") + if err != nil { + return err + } + + c := bip44.CoinType(bip44CoinInt) + bip44Coin = &c + } + + xpub, err := c.Flags().GetString("xpub") + if err != nil { + return err + } + + var sd string + switch walletType { + case wallet.WalletTypeBip44: + var err error + sd, err = parseBip44WalletSeedOptions(s, random, mnemonic, wordCount) + if err != nil { + return err + } + + case wallet.WalletTypeDeterministic: + var err error + sd, err = parseDeterministicWalletSeedOptions(s, random, mnemonic, wordCount) + if err != nil { + return err + } + + case wallet.WalletTypeCollection: + if s != "" || random || mnemonic { + return fmt.Errorf("%q type wallets do not use seeds", walletType) + } + if c.Flags().Changed("num") { + return fmt.Errorf("%q type wallets do not support address generation", walletType) + } + num = 0 + + case wallet.WalletTypeXPub: + if s != "" || random || mnemonic { + return fmt.Errorf("%q type wallets do not use seeds", walletType) + } + + default: + return fmt.Errorf("unhandled wallet type %q", walletType) + } + + seedPassphrase, err := c.Flags().GetString("seed-passphrase") + if err != nil { + return err + } + + cryptoType, err := wallet.CryptoTypeFromString(c.Flag("crypto-type").Value.String()) + if err != nil { + return err + } + + pr := NewPasswordReader([]byte(c.Flag("password").Value.String())) + switch pr.(type) { + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return err + } + + if !encrypt && len(p) != 0 { + return errors.New("password should not be set as we're not going to create a wallet with encryption") + } + } + + var password []byte + if encrypt { + var err error + password, err = pr.Password() + if err != nil { + return err + } + } + + opts := wallet.Options{ + Label: label, + Seed: sd, + SeedPassphrase: seedPassphrase, + Encrypt: encrypt, + CryptoType: cryptoType, + Password: password, + Type: walletType, + GenerateN: num, + Coin: coin, + Bip44Coin: bip44Coin, + XPub: xpub, + } + + wlt, err := wallet.NewWallet(filepath.Base(wltName), opts) + if err != nil { + return err + } + + if err := wallet.Save(wlt, filepath.Dir(wltName)); err != nil { + return err + } + + return printJSON(wlt.ToReadable()) +} + +// wordCountToEntropy maps a mnemonic word count to its entropy size in bits +func wordCountToEntropy(wc uint64) (int, error) { + switch wc { + case 12: + return 128, nil + case 15: + return 160, nil + case 18: + return 192, nil + case 21: + return 224, nil + case 24: + return 256, nil + default: + return 0, errors.New("word count must be 12, 15, 18, 21 or 24") + } +} + +func newMnemomic(wc uint64) (string, error) { + entropySize, err := wordCountToEntropy(wc) + if err != nil { + return "", err + } + e, err := bip39.NewEntropy(entropySize) + if err != nil { + return "", err + } + return bip39.NewMnemonic(e) +} + +func parseBip44WalletSeedOptions(s string, r, m bool, wc uint64) (string, error) { + if s != "" && (r || m) { + return "", errors.New("-r and -m can't be used with -s") + } + + if r { + return "", errors.New("-r can't be used for bip44 wallets") + } + + if m || s == "" { + var err error + s, err = newMnemomic(wc) + if err != nil { + return "", err + } + } + + if err := bip39.ValidateMnemonic(s); err != nil { + return "", fmt.Errorf("seed must be a valid bip39 mnemonic: %v", err) + } + + return s, nil +} + +func parseDeterministicWalletSeedOptions(s string, r, m bool, wc uint64) (string, error) { + if s != "" { + // 111, 101, 110 + if r || m { + return "", errors.New("seed already specified, must not use -r or -m again") + } + // 100 + return s, nil + } + + // 011 + if r && m { + return "", errors.New("for -r and -m, only one option can be used") + } + + // 010 + if r { + return MakeAlphanumericSeed(), nil + } + + // 001, 000 + return newMnemomic(wc) +} + +// PUBLIC + +// MakeAlphanumericSeed creates a random seed with AlphaNumericSeedLength bytes and hex encodes it +func MakeAlphanumericSeed() string { + seedRaw := cipher.SumSHA256(secp256k1.RandByte(AlphaNumericSeedLength)) + return hex.EncodeToString(seedRaw[:]) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/last_blocks.go b/vendor/github.com/skycoin/skycoin/src/cli/last_blocks.go new file mode 100644 index 00000000..e5395496 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/last_blocks.go @@ -0,0 +1,38 @@ +package cli + +import ( + "fmt" + "strconv" + + "github.com/spf13/cobra" +) + +func lastBlocksCmd() *cobra.Command { + return &cobra.Command{ + Short: "Displays the content of the most recently N generated blocks", + Use: "lastBlocks [numberOfBlocks]", + Args: cobra.ExactArgs(1), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: getLastBlocks, + } +} + +func getLastBlocks(_ *cobra.Command, args []string) error { + num := args[0] + if num == "" { + num = "1" + } + + n, err := strconv.ParseUint(num, 10, 64) + if err != nil { + return fmt.Errorf("invalid block number, %s", err) + } + + blocks, err := apiClient.LastBlocks(n) + if err != nil { + return err + } + + return printJSON(blocks) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/list_addrs.go b/vendor/github.com/skycoin/skycoin/src/cli/list_addrs.go new file mode 100644 index 00000000..3406bcdb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/list_addrs.go @@ -0,0 +1,38 @@ +package cli + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/wallet" +) + +func listAddressesCmd() *cobra.Command { + return &cobra.Command{ + Short: "Lists all addresses in a given wallet", + Use: "listAddresses [wallet]", + Args: cobra.ExactArgs(1), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: listAddresses, + } +} + +func listAddresses(_ *cobra.Command, args []string) error { + wlt, err := wallet.Load(args[0]) + if err != nil { + return WalletLoadError{err} + } + + addrs := wlt.GetAddresses() + + s, err := FormatAddressesAsJSON(addrs) + if err != nil { + return err + } + + fmt.Println(s) + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/list_wallets.go b/vendor/github.com/skycoin/skycoin/src/cli/list_wallets.go new file mode 100644 index 00000000..3336d453 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/list_wallets.go @@ -0,0 +1,81 @@ +package cli + +import ( + "io/ioutil" + "path/filepath" + "strings" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/wallet" +) + +// WalletEntry represents an enty in a wallet file +type WalletEntry struct { + Name string `json:"name"` + Label string `json:"label"` + AddressNum int `json:"address_num"` +} + +func listWalletsCmd() *cobra.Command { + return &cobra.Command{ + Short: "Lists all wallets stored in the wallet directory", + Use: "listWallets [directory]", + Long: `Lists all wallets stored in the wallet directory. + + The [wallet dir] argument is optional. If not provided, defaults to $DATA_DIR/wallets`, + DisableFlagsInUseLine: true, + SilenceUsage: true, + Args: cobra.MaximumNArgs(1), + RunE: listWallets, + } +} + +func listWallets(_ *cobra.Command, args []string) error { + var wlts struct { + Directory string `json:"directory"` + Wallets []WalletEntry `json:"wallets"` + } + + wlts.Wallets = []WalletEntry{} + + dir := filepath.Join(cliConfig.DataDir, "wallets") + if len(args) > 0 { + dir = args[0] + } + + var err error + dir, err = filepath.Abs(dir) + if err != nil { + return err + } + + wlts.Directory = dir + + entries, err := ioutil.ReadDir(dir) + if err != nil { + return err + } + + for _, e := range entries { + if e.Mode().IsRegular() { + name := e.Name() + if !strings.HasSuffix(name, walletExt) { + continue + } + + path := filepath.Join(dir, name) + w, err := wallet.Load(path) + if err != nil { + return WalletLoadError{err} + } + wlts.Wallets = append(wlts.Wallets, WalletEntry{ + Name: name, + Label: w.Label(), + AddressNum: w.EntriesLen(), + }) + } + } + + return printJSON(wlts) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/outputs.go b/vendor/github.com/skycoin/skycoin/src/cli/outputs.go new file mode 100644 index 00000000..8826f26c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/outputs.go @@ -0,0 +1,95 @@ +package cli + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/readable" + "github.com/skycoin/skycoin/src/wallet" +) + +func walletOutputsCmd() *cobra.Command { + return &cobra.Command{ + Short: "Display outputs of specific wallet", + Use: "walletOutputs [wallet]", + DisableFlagsInUseLine: true, + SilenceUsage: true, + Args: cobra.ExactArgs(1), + RunE: getWalletOutputsCmd, + } +} + +func addressOutputsCmd() *cobra.Command { + return &cobra.Command{ + Short: "Display outputs of specific addresses", + Use: "addressOutputs [address list]", + Long: `Display outputs of specific addresses, join multiple addresses with space, + example: addressOutputs $addr1 $addr2 $addr3`, + Args: cobra.MinimumNArgs(1), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: getAddressOutputsCmd, + } +} + +// OutputsResult the output json format +type OutputsResult struct { + Outputs readable.UnspentOutputsSummary `json:"outputs"` +} + +func getWalletOutputsCmd(_ *cobra.Command, args []string) error { + outputs, err := GetWalletOutputsFromFile(apiClient, args[0]) + if err != nil { + return err + } + + return printJSON(OutputsResult{ + Outputs: *outputs, + }) +} + +func getAddressOutputsCmd(_ *cobra.Command, args []string) error { + addrs := make([]string, len(args)) + + var err error + for i := 0; i < len(args); i++ { + addrs[i] = args[i] + if _, err = cipher.DecodeBase58Address(addrs[i]); err != nil { + return fmt.Errorf("invalid address: %v, err: %v", addrs[i], err) + } + } + + outputs, err := apiClient.OutputsForAddresses(addrs) + if err != nil { + return err + } + + return printJSON(OutputsResult{ + Outputs: *outputs, + }) +} + +// PUBLIC + +// GetWalletOutputsFromFile returns unspent outputs associated with all addresses in a wallet file +func GetWalletOutputsFromFile(c GetOutputser, walletFile string) (*readable.UnspentOutputsSummary, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return nil, err + } + + return GetWalletOutputs(c, wlt) +} + +// GetWalletOutputs returns unspent outputs associated with all addresses in a wallet.Wallet +func GetWalletOutputs(c GetOutputser, wlt wallet.Wallet) (*readable.UnspentOutputsSummary, error) { + cipherAddrs := wlt.GetAddresses() + addrs := make([]string, len(cipherAddrs)) + for i := range cipherAddrs { + addrs[i] = cipherAddrs[i].String() + } + + return c.OutputsForAddresses(addrs) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/richlist.go b/vendor/github.com/skycoin/skycoin/src/cli/richlist.go new file mode 100644 index 00000000..71ffeb73 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/richlist.go @@ -0,0 +1,58 @@ +package cli + +import ( + "fmt" + "strconv" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/api" +) + +func richlistCmd() *cobra.Command { + return &cobra.Command{ + Short: "Get skycoin richlist", + Long: "Returns top N address (default 20) balances (based on unspent outputs). Optionally include distribution addresses (exluded by default).", + Use: "richlist [top N addresses (20 default)] [include distribution addresses (false default)]", + Args: cobra.MaximumNArgs(2), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: getRichlist, + } +} + +func getRichlist(_ *cobra.Command, args []string) error { + // default values + num := "20" + dist := "false" + + switch len(args) { + case 1: + num = args[0] + case 2: + num = args[0] + dist = args[1] + } + + n, err := strconv.Atoi(num) + if err != nil { + return fmt.Errorf("invalid number of addresses, %s", err) + } + + d, err := strconv.ParseBool(dist) + if err != nil { + return fmt.Errorf("invalid (bool) flag for include distribution addresses, %s", err) + } + + params := &api.RichlistParams{ + N: n, + IncludeDistribution: d, + } + + richlist, err := apiClient.Richlist(params) + if err != nil { + return err + } + + return printJSON(richlist) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/send.go b/vendor/github.com/skycoin/skycoin/src/cli/send.go new file mode 100644 index 00000000..a4a90578 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/send.go @@ -0,0 +1,67 @@ +package cli + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func sendCmd() *cobra.Command { + sendCmd := &cobra.Command{ + Args: cobra.MinimumNArgs(1), + Short: "Send skycoin from a wallet or an address to a recipient address", + Use: "send [wallet] [to address] [amount]", + Long: `Send skycoin from a wallet or an address to a recipient address. + + Note: the [amount] argument is the coins you will spend, 1 coins = 1e6 droplets. + + The [to address] and [amount] arguments can be replaced with the --many/-m option. + + If you are sending from a wallet without specifying an address, + the transaction will use one or more of the addresses within the wallet. + + Use caution when using the “-p” command. If you have command history enabled + your wallet encryption password can be recovered from the history log. + If you do not include the “-p” option you will be prompted to enter your password + after you enter your command.`, + SilenceUsage: true, + RunE: func(c *cobra.Command, args []string) error { + rawTxn, err := createRawTxnCmdHandler(c, args) + if err != nil { + printHelp(c) + return err + } + + txid, err := apiClient.InjectTransaction(rawTxn) + if err != nil { + return err + } + + jsonOutput, err := c.Flags().GetBool("json") + if err != nil { + return err + } + if jsonOutput { + return printJSON(struct { + Txid string `json:"txid"` + }{ + Txid: txid, + }) + } + + fmt.Printf("txid:%s\n", txid) + return nil + }, + } + + sendCmd.Flags().StringP("from-address", "a", "", "From address in wallet") + sendCmd.Flags().StringP("change-address", "c", "", `Specify the change address. +Defaults to one of the spending addresses (deterministic wallets) or to a new change address (bip44 wallets).`) + sendCmd.Flags().StringP("many", "m", "", `use JSON string to set multiple receive addresses and coins, +example: -m '[{"addr":"$addr1", "coins": "10.2"}, {"addr":"$addr2", "coins": "20"}]'`) + sendCmd.Flags().StringP("password", "p", "", "Wallet password") + sendCmd.Flags().BoolP("json", "j", false, "Returns the results in JSON format.") + sendCmd.Flags().String("csv", "", "CSV file containing addresses and amounts to send") + + return sendCmd +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/show_seed.go b/vendor/github.com/skycoin/skycoin/src/cli/show_seed.go new file mode 100644 index 00000000..889f1130 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/show_seed.go @@ -0,0 +1,115 @@ +package cli + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/wallet" +) + +func showSeedCmd() *cobra.Command { + showSeedCmd := &cobra.Command{ + Args: cobra.ExactArgs(1), + Use: "showSeed [wallet]", + Short: "Show wallet seed and seed passphrase", + Long: `Print the seed and seed passphrase from a wallet. + + Use caution when using the "-p" command. If you have command history enabled + your wallet encryption password can be recovered from the history log. If you + do not include the "-p" option you will be prompted to enter your password + after you enter your command.`, + SilenceUsage: true, + RunE: func(c *cobra.Command, args []string) error { + w := args[0] + + password, err := c.Flags().GetString("password") + if err != nil { + return err + } + + jsonOutput, err := c.Flags().GetBool("json") + if err != nil { + return err + } + + pr := NewPasswordReader([]byte(password)) + seed, seedPassphrase, err := getSeed(w, pr) + switch err.(type) { + case nil: + case WalletLoadError: + printHelp(c) + return err + default: + return err + } + + if jsonOutput { + v := struct { + Seed string `json:"seed"` + SeedPassphrase string `json:"seed_passphrase,omitempty"` + }{ + Seed: seed, + SeedPassphrase: seedPassphrase, + } + + return printJSON(v) + } + + fmt.Println(seed) + if seedPassphrase != "" { + fmt.Println(seedPassphrase) + } + return nil + }, + } + + showSeedCmd.Flags().StringP("password", "p", "", "Wallet password") + showSeedCmd.Flags().BoolP("json", "j", false, "Returns the results in JSON format.") + + return showSeedCmd +} + +func getSeed(walletFile string, pr PasswordReader) (string, string, error) { + wlt, err := wallet.Load(walletFile) + if err != nil { + return "", "", WalletLoadError{err} + } + + switch pr.(type) { + case nil: + if wlt.IsEncrypted() { + return "", "", wallet.ErrWalletEncrypted + } + case PasswordFromBytes: + p, err := pr.Password() + if err != nil { + return "", "", err + } + + if !wlt.IsEncrypted() && len(p) != 0 { + return "", "", wallet.ErrWalletNotEncrypted + } + } + + if !wlt.IsEncrypted() { + return wlt.Seed(), wlt.SeedPassphrase(), nil + } + + password, err := pr.Password() + if err != nil { + return "", "", err + } + + var seed string + var seedPassphrase string + if err := wallet.GuardView(wlt, password, func(w wallet.Wallet) error { + seed = w.Seed() + seedPassphrase = w.SeedPassphrase() + return nil + }); err != nil { + return "", "", err + } + + return seed, seedPassphrase, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/status.go b/vendor/github.com/skycoin/skycoin/src/cli/status.go new file mode 100644 index 00000000..fd93d202 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/status.go @@ -0,0 +1,52 @@ +package cli + +import ( + cobra "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/api" +) + +// StatusResult is printed by cli status command +type StatusResult struct { + Status api.HealthResponse `json:"status"` + Config ConfigStatus `json:"cli_config"` +} + +// ConfigStatus contains the configuration parameters loaded by the cli +type ConfigStatus struct { + RPCAddress string `json:"webrpc_address"` +} + +func statusCmd() *cobra.Command { + return &cobra.Command{ + Use: "status", + Short: "Check the status of current Skycoin node", + DisableFlagsInUseLine: true, + SilenceUsage: true, + Args: cobra.NoArgs, + RunE: func(_ *cobra.Command, _ []string) error { + status, err := apiClient.Health() + if err != nil { + return err + } + + return printJSON(StatusResult{ + Status: *status, + Config: ConfigStatus{ + RPCAddress: cliConfig.RPCAddress, + }, + }) + }, + } +} + +func showConfigCmd() *cobra.Command { + return &cobra.Command{ + Use: "showConfig", + Short: "Show cli configuration", + DisableFlagsInUseLine: true, + RunE: func(_ *cobra.Command, _ []string) error { + return printJSON(cliConfig) + }, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/transaction.go b/vendor/github.com/skycoin/skycoin/src/cli/transaction.go new file mode 100644 index 00000000..d8adb160 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/transaction.go @@ -0,0 +1,343 @@ +package cli + +import ( + "encoding/json" + "errors" + "fmt" + "os" + "strconv" + + "github.com/skycoin/skycoin/src/util/droplet" + + "github.com/skycoin/skycoin/src/api" + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/readable" + + "github.com/spf13/cobra" +) + +// TxnResult wraps readable.TransactionWithStatus +type TxnResult struct { + Transaction *readable.TransactionWithStatus `json:"transaction"` +} + +func transactionCmd() *cobra.Command { + return &cobra.Command{ + Short: "Show detail info of specific transaction", + Use: "transaction [transaction id]", + DisableFlagsInUseLine: true, + SilenceUsage: true, + Args: cobra.ExactArgs(1), + RunE: func(_ *cobra.Command, args []string) error { + txid := args[0] + if txid == "" { + return errors.New("txid is empty") + } + + // validate the txid + _, err := cipher.SHA256FromHex(txid) + if err != nil { + return errors.New("invalid txid") + } + + txn, err := apiClient.Transaction(txid) + if err != nil { + return err + } + + return printJSON(TxnResult{ + Transaction: txn, + }) + }, + } +} + +func decodeRawTxnCmd() *cobra.Command { + return &cobra.Command{ + Short: "Decode raw transaction", + Use: "decodeRawTransaction [raw transaction]", + DisableFlagsInUseLine: true, + SilenceUsage: true, + Args: cobra.ExactArgs(1), + RunE: func(_ *cobra.Command, args []string) error { + txn, err := coin.DeserializeTransactionHex(args[0]) + if err != nil { + return fmt.Errorf("invalid raw transaction: %v", err) + } + + // Assume the transaction is not malformed and if it has no inputs + // that it is the genesis block's transaction + isGenesis := len(txn.In) == 0 + rTxn, err := readable.NewTransaction(txn, isGenesis) + if err != nil { + return err + } + + return printJSON(rTxn) + }, + } +} + +func encodeJSONTxnCmd() *cobra.Command { + cmd := &cobra.Command{ + Short: "Encode JSON transaction", + Use: "encodeJsonTransaction [file path or -]", + DisableFlagsInUseLine: true, + SilenceUsage: true, + Args: cobra.ExactArgs(1), + RunE: func(c *cobra.Command, args []string) error { + jsonOutput, err := c.Flags().GetBool("json") + if err != nil { + return err + } + + jsonFilePath := args[0] + var jsonFile *os.File + if jsonFilePath == "-" { + jsonFile = os.Stdin + err = nil + jsonFilePath = "" + } else { + jsonFile, err = os.Open(jsonFilePath) + } + if err != nil { + return fmt.Errorf("open file failed %s: %v", jsonFilePath, err) + } + var rTxn readable.Transaction + err = json.NewDecoder(jsonFile).Decode(&rTxn) + if err != nil { + return fmt.Errorf("invalid JSON transaction: %v", err) + } + + // fixHashes recomputes the txn hashes + // the recomputation of hash is needed when txn info for e.g. the sig is changed + fixHashes, err := c.Flags().GetBool("fix") + if err != nil { + return err + } + + if fixHashes { + err = recomputeHashes(&rTxn) + if err != nil { + return err + } + } + + txn, err := readableToCreatedTransaction(&rTxn).ToTransaction() + if err != nil { + return err + } + rawTxn, err := txn.SerializeHex() + if err != nil { + return err + } + if jsonOutput { + return printJSON(struct { + RawTx string `json:"rawtx"` + }{ + RawTx: rawTxn, + }) + } + fmt.Println(rawTxn) + return nil + }, + } + cmd.Flags().BoolP("json", "j", false, "Returns the results in JSON format.") + cmd.Flags().BoolP("fix", "f", false, "Recompute transaction inner and outer hashes") + return cmd +} + +func readableToCreatedTransaction(rTxn *readable.Transaction) *api.CreatedTransaction { + inputs := make([]api.CreatedTransactionInput, len(rTxn.In)) + outputs := make([]api.CreatedTransactionOutput, len(rTxn.Out)) + for i, rIn := range rTxn.In { + inputs[i] = api.CreatedTransactionInput{ + UxID: rIn, + } + } + for i, rOut := range rTxn.Out { + outputs[i] = api.CreatedTransactionOutput{ + UxID: rOut.Hash, + Address: rOut.Address, + Coins: rOut.Coins, + Hours: strconv.FormatUint(rOut.Hours, 10), + } + } + cTxn := api.CreatedTransaction{ + Length: rTxn.Length, + Type: rTxn.Type, + TxID: rTxn.Hash, + InnerHash: rTxn.InnerHash, + Fee: "", + Sigs: rTxn.Sigs[:], + In: inputs, + Out: outputs, + } + return &cTxn +} + +func recomputeHashes(rTxn *readable.Transaction) error { + t := coin.Transaction{} + + t.Length = rTxn.Length + t.Type = rTxn.Type + + var err error + + sigs := make([]cipher.Sig, len(rTxn.Sigs)) + for i, s := range rTxn.Sigs { + sigs[i], err = cipher.SigFromHex(s) + if err != nil { + return err + } + } + + t.Sigs = sigs + + in := make([]cipher.SHA256, len(rTxn.In)) + for i, UxID := range rTxn.In { + in[i], err = cipher.SHA256FromHex(UxID) + if err != nil { + return err + } + } + + t.In = in + + out := make([]coin.TransactionOutput, len(rTxn.Out)) + for i, o := range rTxn.Out { + addr, err := cipher.DecodeBase58Address(o.Address) + if err != nil { + return err + } + + coins, err := droplet.FromString(o.Coins) + if err != nil { + return err + } + + out[i] = coin.TransactionOutput{ + Address: addr, + Coins: coins, + Hours: o.Hours, + } + } + + t.Out = out + + // recompute inner hash + rTxn.InnerHash = t.HashInner().Hex() + t.InnerHash, err = cipher.SHA256FromHex(rTxn.InnerHash) + if err != nil { + return err + } + + // recompute txid + rTxn.Hash = t.Hash().Hex() + + return nil +} + +func addressTransactionsCmd() *cobra.Command { + return &cobra.Command{ + Short: "Show detail for transaction associated with one or more specified addresses", + Use: "addressTransactions [address list]", + Long: `Display transactions for specific addresses, separate multiple addresses with a space, + example: addressTransactions addr1 addr2 addr3`, + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: getAddressTransactionsCmd, + } +} + +func getAddressTransactionsCmd(c *cobra.Command, args []string) error { + // Build the list of addresses from the command line arguments + addrs := make([]string, len(args)) + var err error + for i := 0; i < len(args); i++ { + addrs[i] = args[i] + if _, err = cipher.DecodeBase58Address(addrs[i]); err != nil { + return fmt.Errorf("invalid address: %v, err: %v", addrs[i], err) + } + } + + // If one or more addresses have been provided, request their transactions - otherwise report an error + if len(addrs) > 0 { + outputs, err := apiClient.TransactionsVerbose(addrs) + if err != nil { + return err + } + + return printJSON(outputs) + } + + return fmt.Errorf("at least one address must be specified. Example: %s addr1 addr2 addr3", c.Name()) +} + +func verifyTransactionCmd() *cobra.Command { + return &cobra.Command{ + Short: "Verify if the specific transaction is spendable", + Use: "verifyTransaction [encoded transaction]", + DisableFlagsInUseLine: true, + SilenceUsage: true, + Args: cobra.MaximumNArgs(1), + RunE: func(_ *cobra.Command, args []string) error { + encodedTxn := args[0] + if encodedTxn == "" { + return errors.New("transaction is empty") + } + + _, err := apiClient.VerifyTransaction(api.VerifyTransactionRequest{ + EncodedTransaction: encodedTxn, + }) + if err != nil { + return err + } + + fmt.Println("transaction is spendable") + + return nil + }, + } +} + +func pendingTransactionsCmd() *cobra.Command { + pendingTxnsCmd := &cobra.Command{ + Short: "Get all unconfirmed transactions", + Use: "pendingTransactions", + DisableFlagsInUseLine: true, + SilenceUsage: true, + Args: cobra.NoArgs, + RunE: func(c *cobra.Command, _ []string) error { + isVerbose, err := c.Flags().GetBool("verbose") + if err != nil { + return err + } + + if isVerbose { + pendingTxns, err := apiClient.PendingTransactionsVerbose() + if err != nil { + return err + } + + return printJSON(pendingTxns) + } + + pendingTxns, err := apiClient.PendingTransactions() + if err != nil { + return err + } + + return printJSON(pendingTxns) + }, + } + + pendingTxnsCmd.Flags().BoolP("verbose", "v", false, + `Require the transaction inputs to include the owner address, coins, hours and calculated hours. + The hours are the original hours the output was created with. + The calculated hours are calculated based upon the current system time, and provide an approximate + coin hour value of the output if it were to be confirmed at that instant.`) + + return pendingTxnsCmd +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/verify_address.go b/vendor/github.com/skycoin/skycoin/src/cli/verify_address.go new file mode 100644 index 00000000..72cba32d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/verify_address.go @@ -0,0 +1,21 @@ +package cli + +import ( + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" +) + +func verifyAddressCmd() *cobra.Command { + return &cobra.Command{ + Short: "Verify a skycoin address", + Use: "verifyAddress [skycoin address]", + Args: cobra.ExactArgs(1), + DisableFlagsInUseLine: true, + SilenceUsage: true, + RunE: func(_ *cobra.Command, args []string) error { + _, err := cipher.DecodeBase58Address(args[0]) + return err + }, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/version.go b/vendor/github.com/skycoin/skycoin/src/cli/version.go new file mode 100644 index 00000000..7cb5af17 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/version.go @@ -0,0 +1,50 @@ +package cli + +import ( + "fmt" + "reflect" + + "github.com/spf13/cobra" +) + +func versionCmd() *cobra.Command { + versionCmd := &cobra.Command{ + Use: "version", + Short: "List the current version of Skycoin components", + Args: cobra.NoArgs, + SilenceUsage: true, + RunE: func(c *cobra.Command, _ []string) error { + var ver = struct { + Skycoin string `json:"skycoin"` + Cli string `json:"cli"` + RPC string `json:"rpc"` + Wallet string `json:"wallet"` + }{ + Version, + Version, + Version, + Version, + } + + jsonOutput, err := c.Flags().GetBool("json") + if err != nil { + return err + } + if jsonOutput { + return printJSON(ver) + } + + v := reflect.ValueOf(ver) + t := reflect.TypeOf(ver) + for i := 0; i < v.NumField(); i++ { + fmt.Printf("%s:%v\n", t.Field(i).Tag.Get("json"), v.Field(i).Interface()) + } + + return nil + }, + } + + versionCmd.Flags().BoolP("json", "j", false, "Returns the results in JSON format") + + return versionCmd +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/wallet_history.go b/vendor/github.com/skycoin/skycoin/src/cli/wallet_history.go new file mode 100644 index 00000000..1d421380 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/wallet_history.go @@ -0,0 +1,249 @@ +package cli + +import ( + "errors" + "fmt" + + "time" + + "sort" + + cobra "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/api" + "github.com/skycoin/skycoin/src/readable" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/wallet" +) + +// AddrHistory represents a transactional event for an address +type AddrHistory struct { + BlockSeq uint64 `json:"-"` + Txid string `json:"txid"` + Address string `json:"address"` + Amount string `json:"amount"` + Timestamp time.Time `json:"timestamp"` + Status int `json:"status"` + + coins uint64 +} + +type byTime []AddrHistory + +func (obt byTime) Less(i, j int) bool { + return obt[i].Timestamp.Unix() < obt[j].Timestamp.Unix() +} + +func (obt byTime) Swap(i, j int) { + obt[i], obt[j] = obt[j], obt[i] +} + +func (obt byTime) Len() int { + return len(obt) +} + +func walletHisCmd() *cobra.Command { + walletHisCmd := &cobra.Command{ + Short: "Display the transaction history of specific wallet. Requires skycoin node rpc.", + Use: "walletHistory [wallet]", + SilenceUsage: true, + Args: cobra.ExactArgs(1), + RunE: walletHistoryAction, + } + + return walletHisCmd +} + +func walletHistoryAction(c *cobra.Command, args []string) error { + w := args[0] + + // Get all addresses in the wallet + addrs, err := getAddresses(w) + if err != nil { + return err + } + + if len(addrs) == 0 { + return errors.New("Wallet is empty") + } + + // Get all the addresses' historical uxouts + totalAddrHis := []AddrHistory{} + for _, addr := range addrs { + uxouts, err := apiClient.AddressUxOuts(addr) + if err != nil { + return err + } + + addrHis, err := makeAddrHisArray(apiClient, addr, uxouts) + if err != nil { + return err + } + totalAddrHis = append(totalAddrHis, addrHis...) + } + + // Sort the uxouts by time ascending + sort.Sort(byTime(totalAddrHis)) + + return printJSON(totalAddrHis) +} + +func makeAddrHisArray(c *api.Client, addr string, uxOuts []readable.SpentOutput) ([]AddrHistory, error) { + if len(uxOuts) == 0 { + return nil, nil + } + + var addrHis, spentHis, realHis []AddrHistory + var spentBlkSeqMap = map[uint64]bool{} + + for _, u := range uxOuts { + amount, err := droplet.ToString(u.Coins) + if err != nil { + return nil, err + } + + addrHis = append(addrHis, AddrHistory{ + BlockSeq: u.SrcBkSeq, + Txid: u.SrcTx, + Address: addr, + Amount: amount, + Timestamp: time.Unix(int64(u.Time), 0).UTC(), + Status: 1, + coins: u.Coins, + }) + + // the SpentBlockSeq will be 0 if the uxout has not been spent yet. + if u.SpentBlockSeq != 0 { + spentBlkSeqMap[u.SpentBlockSeq] = true + spentHis = append(spentHis, AddrHistory{ + BlockSeq: u.SpentBlockSeq, + Address: addr, + Txid: u.SpentTxnID, + Amount: "-" + amount, + Status: 1, + coins: u.Coins, + }) + } + } + + if len(spentBlkSeqMap) > 0 { + spentBlkSeq := make([]uint64, 0, len(spentBlkSeqMap)) + for seq := range spentBlkSeqMap { + spentBlkSeq = append(spentBlkSeq, seq) + } + + getBlkTime, err := createBlkTimeFinder(c, spentBlkSeq) + if err != nil { + return nil, err + } + + for i, his := range spentHis { + spentHis[i].Timestamp = time.Unix(getBlkTime(his.BlockSeq), 0).UTC() + } + } + + type historyRecord struct { + received []AddrHistory + spent []AddrHistory + } + + // merge history in the same transaction. + hisMap := map[string]historyRecord{} + for _, his := range addrHis { + hr := hisMap[his.Txid] + hr.received = append(hr.received, his) + hisMap[his.Txid] = hr + } + for _, his := range spentHis { + hr := hisMap[his.Txid] + hr.spent = append(hr.spent, his) + hisMap[his.Txid] = hr + } + + for txid, hs := range hisMap { + var receivedCoins, spentCoins, coins uint64 + for _, h := range hs.received { + receivedCoins += h.coins + } + for _, h := range hs.spent { + spentCoins += h.coins + } + + isNegative := spentCoins > receivedCoins + + if spentCoins > receivedCoins { + coins = spentCoins - receivedCoins + } else { + coins = receivedCoins - spentCoins + } + + amount, err := droplet.ToString(coins) + if err != nil { + return nil, err + } + + if isNegative { + amount = "-" + amount + } + + var his AddrHistory + if len(hs.received) > 0 { + his = hs.received[0] + } else { + his = hs.spent[0] + } + + realHis = append(realHis, AddrHistory{ + BlockSeq: his.BlockSeq, + Txid: txid, + Address: addr, + Amount: amount, + Timestamp: his.Timestamp, + Status: 1, + }) + } + + return realHis, nil +} + +func createBlkTimeFinder(c *api.Client, ss []uint64) (func(uint64) int64, error) { + // get spent blocks + blocks := make([]*readable.Block, 0, len(ss)) + for _, s := range ss { + block, err := c.BlockBySeq(s) + if err != nil { + return nil, err + } + + blocks = append(blocks, block) + } + + if len(blocks) == 0 { + return nil, fmt.Errorf("found no block") + } + + return func(seq uint64) int64 { + for _, b := range blocks { + if seq == b.Head.BkSeq { + return int64(b.Head.Time) + } + } + panic("block not found") + }, nil +} + +func getAddresses(f string) ([]string, error) { + wlt, err := wallet.Load(f) + if err != nil { + return nil, err + } + + addrs := wlt.GetAddresses() + + strAddrs := make([]string, len(addrs)) + for i, a := range addrs { + strAddrs[i] = a.String() + } + + return strAddrs, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cli/wallet_key_export.go b/vendor/github.com/skycoin/skycoin/src/cli/wallet_key_export.go new file mode 100644 index 00000000..9b66c036 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cli/wallet_key_export.go @@ -0,0 +1,159 @@ +package cli + +import ( + "errors" + "fmt" + "strconv" + "strings" + + "github.com/spf13/cobra" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip32" + "github.com/skycoin/skycoin/src/wallet" +) + +func walletKeyExportCmd() *cobra.Command { + walletKeyExportCmd := &cobra.Command{ + Args: cobra.ExactArgs(1), + RunE: walletKeyExportHandler, + Use: "walletKeyExport [wallet]", + Short: "Export a specific key from an HD wallet", + Long: `This command prints the xpub or xprv key for a given + HDNode in a bip44 wallet. The HDNode path is specified with --path. + This path is the portion of the bip44 path. + + Example: -k xpub --path=0 prints the account 0 xpub + Example: -k xpub --path=0/0 prints the account 0, external chain xpub + Example: -k xprv --path=0/1 prints the account 0, change chain xprv + Example: -k pub --path=0/1/9 prints the account 0, external chain child 9 public key + Example: -k prv --path=0/1/8 prints the account 0, change chain child 8 private key + + The bip32 path node apostrophe is implicit for the first element of the path. + + Use caution when using the "-p" command. If you have command + history enabled your wallet encryption password can be recovered + from the history log. If you do not include the "-p" option you will + be prompted to enter your password after you enter your command.`, + } + + walletKeyExportCmd.Flags().StringP("key", "k", "xpub", "key type (\"xpub\", \"xprv\", \"pub\", \"prv\")") + walletKeyExportCmd.Flags().StringP("path", "p", "0/0", "bip44 account'/change subpath") + + return walletKeyExportCmd +} + +func walletKeyExportHandler(c *cobra.Command, args []string) error { + keyType, err := c.Flags().GetString("key") + if err != nil { + return err + } + if err := validateKeyType(keyType); err != nil { + return err + } + + w, err := wallet.Load(args[0]) + if err != nil { + return err + } + + switch w.Type() { + case wallet.WalletTypeBip44: + default: + return fmt.Errorf("support wallet types: %q", wallet.WalletTypeBip44) + } + + wb := w.(*wallet.Bip44Wallet) + + coin, err := wb.CoinHDNode() + if err != nil { + return err + } + + path, err := c.Flags().GetString("path") + if err != nil { + return err + } + + nodes, err := parsePath(path) + if err != nil { + return err + } + if len(nodes) > 3 { + return errors.New("path can have at most 3 elements") + } + + acct, err := coin.Account(nodes[0]) + if err != nil { + return err + } + + if len(nodes) == 1 { + return printKey(keyType, acct.PrivateKey) + } + + change, err := acct.NewPrivateChildKey(nodes[1]) + if err != nil { + return err + } + + if len(nodes) == 2 { + return printKey(keyType, change) + } + + child, err := change.NewPrivateChildKey(nodes[2]) + if err != nil { + return err + } + + if len(nodes) == 3 { + return printKey(keyType, child) + } + + return nil +} + +func validateKeyType(kt string) error { + switch kt { + case "xpub", "xprv", "pub", "prv": + default: + return errors.New("key must be \"xpub\", \"xprv\", \"pub\" or \"prv\"") + } + + return nil +} + +func printKey(kt string, k *bip32.PrivateKey) error { + if err := validateKeyType(kt); err != nil { + return err + } + + switch kt { + case "xpub": + fmt.Println(k.PublicKey().String()) + case "xprv": + fmt.Println(k.String()) + case "pub": + fmt.Println(cipher.MustNewPubKey(k.PublicKey().Key).Hex()) + case "prv": + fmt.Println(cipher.MustNewSecKey(k.Key).Hex()) + default: + panic("unhandled key type") + } + + return nil +} + +func parsePath(p string) ([]uint32, error) { + pts := strings.Split(p, "/") + idx := make([]uint32, len(pts)) + for i, c := range pts { + x, err := strconv.ParseUint(c, 10, 32) + if err != nil { + return nil, fmt.Errorf("invalid path node number %q at position %d", c, i) + } + idx[i] = uint32(x) + } + + return idx, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/block.go b/vendor/github.com/skycoin/skycoin/src/coin/block.go new file mode 100644 index 00000000..006dd123 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/block.go @@ -0,0 +1,236 @@ +/* +Package coin defines the core blockchain datastructures. + +This package should not have any dependencies except for go stdlib and cipher. +*/ +package coin + +import ( + "fmt" + "log" + + "github.com/skycoin/skycoin/src/cipher" +) + +//go:generate skyencoder -struct BlockHeader -unexported +//go:generate skyencoder -struct BlockBody -unexported + +// MaxBlockTransactions is the maximum number of transactions in a block (see the maxlen struct tag value applied to BlockBody.Transactions) +const MaxBlockTransactions = 65535 + +// Block represents the block struct +type Block struct { + Head BlockHeader + Body BlockBody +} + +// HashPair including current block hash and previous block hash. +type HashPair struct { + Hash cipher.SHA256 + PrevHash cipher.SHA256 +} + +// BlockHeader records the block header +type BlockHeader struct { + Version uint32 + + Time uint64 + BkSeq uint64 // Increment every block + Fee uint64 // Fee in block + + PrevHash cipher.SHA256 // Hash of header of previous block + BodyHash cipher.SHA256 // Hash of transaction block + + UxHash cipher.SHA256 // XOR of sha256 of elements in unspent output set +} + +// BlockBody represents the block body +type BlockBody struct { + Transactions Transactions `enc:",maxlen=65535"` +} + +// SignedBlock signed block +type SignedBlock struct { + Block + Sig cipher.Sig +} + +// VerifySignature verifies that the block is signed by pubkey +func (b SignedBlock) VerifySignature(pubkey cipher.PubKey) error { + return cipher.VerifyPubKeySignedHash(pubkey, b.Sig, b.HashHeader()) +} + +// NewBlock creates new block. +func NewBlock(prev Block, currentTime uint64, uxHash cipher.SHA256, txns Transactions, calc FeeCalculator) (*Block, error) { + if len(txns) == 0 { + return nil, fmt.Errorf("Refusing to create block with no transactions") + } + + fee, err := txns.Fees(calc) + if err != nil { + // This should have been caught earlier + return nil, fmt.Errorf("Invalid transaction fees: %v", err) + } + + body := BlockBody{txns} + head := NewBlockHeader(prev.Head, uxHash, currentTime, fee, body) + return &Block{ + Head: head, + Body: body, + }, nil +} + +// NewGenesisBlock creates genesis block +func NewGenesisBlock(genesisAddr cipher.Address, genesisCoins, timestamp uint64) (*Block, error) { + txn := Transaction{} + if err := txn.PushOutput(genesisAddr, genesisCoins, genesisCoins); err != nil { + return nil, err + } + body := BlockBody{Transactions: Transactions{txn}} + prevHash := cipher.SHA256{} + bodyHash := body.Hash() + head := BlockHeader{ + Time: timestamp, + BodyHash: bodyHash, + PrevHash: prevHash, + BkSeq: 0, + Version: 0, + Fee: 0, + UxHash: cipher.SHA256{}, + } + b := &Block{ + Head: head, + Body: body, + } + + return b, nil +} + +// HashHeader return hash of block head. +func (b Block) HashHeader() cipher.SHA256 { + return b.Head.Hash() +} + +// Time return the head time of the block. +func (b Block) Time() uint64 { + return b.Head.Time +} + +// Seq return the head seq of the block. +func (b Block) Seq() uint64 { + return b.Head.BkSeq +} + +// Size returns the size of the Block's Transactions, in bytes +func (b Block) Size() (uint32, error) { + return b.Body.Size() +} + +// NewBlockHeader creates block header +func NewBlockHeader(prev BlockHeader, uxHash cipher.SHA256, currentTime, fee uint64, body BlockBody) BlockHeader { + if currentTime <= prev.Time { + log.Panic("Time can only move forward") + } + bodyHash := body.Hash() + prevHash := prev.Hash() + return BlockHeader{ + BodyHash: bodyHash, + Version: prev.Version, + PrevHash: prevHash, + Time: currentTime, + BkSeq: prev.BkSeq + 1, + Fee: fee, + UxHash: uxHash, + } +} + +// Hash return hash of block header +func (bh *BlockHeader) Hash() cipher.SHA256 { + return cipher.SumSHA256(bh.Bytes()) +} + +// Bytes serialize the blockheader and return the byte value. +func (bh *BlockHeader) Bytes() []byte { + buf, err := encodeBlockHeader(bh) + if err != nil { + log.Panicf("encodeBlockHeader failed: %v", err) + } + return buf +} + +// Hash returns the merkle hash of contained transactions +func (bb BlockBody) Hash() cipher.SHA256 { + hashes := make([]cipher.SHA256, len(bb.Transactions)) + for i := range bb.Transactions { + hashes[i] = bb.Transactions[i].Hash() + } + // Merkle hash of transactions + return cipher.Merkle(hashes) +} + +// Size returns the size of Transactions, in bytes +func (bb BlockBody) Size() (uint32, error) { + // We can't use length of self.Bytes() because it has a length prefix + // Need only the sum of transaction sizes + return bb.Transactions.Size() +} + +// Bytes serialize block body, and return the byte value. +func (bb *BlockBody) Bytes() []byte { + buf, err := encodeBlockBody(bb) + if err != nil { + log.Panicf("encodeBlockBody failed: %v", err) + } + return buf +} + +// CreateUnspents creates the expected outputs for a transaction. +func CreateUnspents(bh BlockHeader, txn Transaction) UxArray { + var h cipher.SHA256 + // The genesis block uses the null hash as the SrcTransaction [FIXME hardfork] + if bh.BkSeq != 0 { + h = txn.Hash() + } + uxo := make(UxArray, len(txn.Out)) + for i := range txn.Out { + uxo[i] = UxOut{ + Head: UxHead{ + Time: bh.Time, + BkSeq: bh.BkSeq, + }, + Body: UxBody{ + SrcTransaction: h, + Address: txn.Out[i].Address, + Coins: txn.Out[i].Coins, + Hours: txn.Out[i].Hours, + }, + } + } + return uxo +} + +// CreateUnspent creates single unspent output +func CreateUnspent(bh BlockHeader, txn Transaction, outIndex int) (UxOut, error) { + if outIndex < 0 || outIndex >= len(txn.Out) { + return UxOut{}, fmt.Errorf("Transaction out index overflows transaction outputs") + } + + var h cipher.SHA256 + // The genesis block uses the null hash as the SrcTransaction [FIXME hardfork] + if bh.BkSeq != 0 { + h = txn.Hash() + } + + return UxOut{ + Head: UxHead{ + Time: bh.Time, + BkSeq: bh.BkSeq, + }, + Body: UxBody{ + SrcTransaction: h, + Address: txn.Out[outIndex].Address, + Coins: txn.Out[outIndex].Coins, + Hours: txn.Out[outIndex].Hours, + }, + }, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/block_body_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/coin/block_body_skyencoder.go new file mode 100644 index 00000000..7a98caa9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/block_body_skyencoder.go @@ -0,0 +1,407 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package coin + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeBlockBody computes the size of an encoded object of type BlockBody +func encodeSizeBlockBody(obj *BlockBody) uint64 { + i0 := uint64(0) + + // obj.Transactions + i0 += 4 + for _, x1 := range obj.Transactions { + i1 := uint64(0) + + // x1.Length + i1 += 4 + + // x1.Type + i1++ + + // x1.InnerHash + i1 += 32 + + // x1.Sigs + i1 += 4 + { + i2 := uint64(0) + + // x2 + i2 += 65 + + i1 += uint64(len(x1.Sigs)) * i2 + } + + // x1.In + i1 += 4 + { + i2 := uint64(0) + + // x2 + i2 += 32 + + i1 += uint64(len(x1.In)) * i2 + } + + // x1.Out + i1 += 4 + { + i2 := uint64(0) + + // x2.Address.Version + i2++ + + // x2.Address.Key + i2 += 20 + + // x2.Coins + i2 += 8 + + // x2.Hours + i2 += 8 + + i1 += uint64(len(x1.Out)) * i2 + } + + i0 += i1 + } + + return i0 +} + +// encodeBlockBody encodes an object of type BlockBody to a buffer allocated to the exact size +// required to encode the object. +func encodeBlockBody(obj *BlockBody) ([]byte, error) { + n := encodeSizeBlockBody(obj) + buf := make([]byte, n) + + if err := encodeBlockBodyToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeBlockBodyToBuffer encodes an object of type BlockBody to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeBlockBodyToBuffer(buf []byte, obj *BlockBody) error { + if uint64(len(buf)) < encodeSizeBlockBody(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Transactions maxlen check + if len(obj.Transactions) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Transactions length check + if uint64(len(obj.Transactions)) > math.MaxUint32 { + return errors.New("obj.Transactions length exceeds math.MaxUint32") + } + + // obj.Transactions length + e.Uint32(uint32(len(obj.Transactions))) + + // obj.Transactions + for _, x := range obj.Transactions { + + // x.Length + e.Uint32(x.Length) + + // x.Type + e.Uint8(x.Type) + + // x.InnerHash + e.CopyBytes(x.InnerHash[:]) + + // x.Sigs maxlen check + if len(x.Sigs) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Sigs length check + if uint64(len(x.Sigs)) > math.MaxUint32 { + return errors.New("x.Sigs length exceeds math.MaxUint32") + } + + // x.Sigs length + e.Uint32(uint32(len(x.Sigs))) + + // x.Sigs + for _, x := range x.Sigs { + + // x + e.CopyBytes(x[:]) + + } + + // x.In maxlen check + if len(x.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.In length check + if uint64(len(x.In)) > math.MaxUint32 { + return errors.New("x.In length exceeds math.MaxUint32") + } + + // x.In length + e.Uint32(uint32(len(x.In))) + + // x.In + for _, x := range x.In { + + // x + e.CopyBytes(x[:]) + + } + + // x.Out maxlen check + if len(x.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Out length check + if uint64(len(x.Out)) > math.MaxUint32 { + return errors.New("x.Out length exceeds math.MaxUint32") + } + + // x.Out length + e.Uint32(uint32(len(x.Out))) + + // x.Out + for _, x := range x.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + } + + return nil +} + +// decodeBlockBody decodes an object of type BlockBody from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeBlockBody(buf []byte, obj *BlockBody) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Transactions + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions = make([]Transaction, length) + + for z1 := range obj.Transactions { + { + // obj.Transactions[z1].Length + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Transactions[z1].Length = i + } + + { + // obj.Transactions[z1].Type + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Transactions[z1].Type = i + } + + { + // obj.Transactions[z1].InnerHash + if len(d.Buffer) < len(obj.Transactions[z1].InnerHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1].InnerHash[:], d.Buffer[:len(obj.Transactions[z1].InnerHash)]) + d.Buffer = d.Buffer[len(obj.Transactions[z1].InnerHash):] + } + + { + // obj.Transactions[z1].Sigs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions[z1].Sigs = make([]cipher.Sig, length) + + for z3 := range obj.Transactions[z1].Sigs { + { + // obj.Transactions[z1].Sigs[z3] + if len(d.Buffer) < len(obj.Transactions[z1].Sigs[z3]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1].Sigs[z3][:], d.Buffer[:len(obj.Transactions[z1].Sigs[z3])]) + d.Buffer = d.Buffer[len(obj.Transactions[z1].Sigs[z3]):] + } + + } + } + } + + { + // obj.Transactions[z1].In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions[z1].In = make([]cipher.SHA256, length) + + for z3 := range obj.Transactions[z1].In { + { + // obj.Transactions[z1].In[z3] + if len(d.Buffer) < len(obj.Transactions[z1].In[z3]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1].In[z3][:], d.Buffer[:len(obj.Transactions[z1].In[z3])]) + d.Buffer = d.Buffer[len(obj.Transactions[z1].In[z3]):] + } + + } + } + } + + { + // obj.Transactions[z1].Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions[z1].Out = make([]TransactionOutput, length) + + for z3 := range obj.Transactions[z1].Out { + { + // obj.Transactions[z1].Out[z3].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Transactions[z1].Out[z3].Address.Version = i + } + + { + // obj.Transactions[z1].Out[z3].Address.Key + if len(d.Buffer) < len(obj.Transactions[z1].Out[z3].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1].Out[z3].Address.Key[:], d.Buffer[:len(obj.Transactions[z1].Out[z3].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Transactions[z1].Out[z3].Address.Key):] + } + + { + // obj.Transactions[z1].Out[z3].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Transactions[z1].Out[z3].Coins = i + } + + { + // obj.Transactions[z1].Out[z3].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Transactions[z1].Out[z3].Hours = i + } + + } + } + } + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeBlockBodyExact decodes an object of type BlockBody from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeBlockBodyExact(buf []byte, obj *BlockBody) error { + if n, err := decodeBlockBody(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/block_header_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/coin/block_header_skyencoder.go new file mode 100644 index 00000000..1fb3df5c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/block_header_skyencoder.go @@ -0,0 +1,168 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package coin + +import "github.com/skycoin/skycoin/src/cipher/encoder" + +// encodeSizeBlockHeader computes the size of an encoded object of type BlockHeader +func encodeSizeBlockHeader(obj *BlockHeader) uint64 { + i0 := uint64(0) + + // obj.Version + i0 += 4 + + // obj.Time + i0 += 8 + + // obj.BkSeq + i0 += 8 + + // obj.Fee + i0 += 8 + + // obj.PrevHash + i0 += 32 + + // obj.BodyHash + i0 += 32 + + // obj.UxHash + i0 += 32 + + return i0 +} + +// encodeBlockHeader encodes an object of type BlockHeader to a buffer allocated to the exact size +// required to encode the object. +func encodeBlockHeader(obj *BlockHeader) ([]byte, error) { + n := encodeSizeBlockHeader(obj) + buf := make([]byte, n) + + if err := encodeBlockHeaderToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeBlockHeaderToBuffer encodes an object of type BlockHeader to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeBlockHeaderToBuffer(buf []byte, obj *BlockHeader) error { + if uint64(len(buf)) < encodeSizeBlockHeader(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Version + e.Uint32(obj.Version) + + // obj.Time + e.Uint64(obj.Time) + + // obj.BkSeq + e.Uint64(obj.BkSeq) + + // obj.Fee + e.Uint64(obj.Fee) + + // obj.PrevHash + e.CopyBytes(obj.PrevHash[:]) + + // obj.BodyHash + e.CopyBytes(obj.BodyHash[:]) + + // obj.UxHash + e.CopyBytes(obj.UxHash[:]) + + return nil +} + +// decodeBlockHeader decodes an object of type BlockHeader from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeBlockHeader(buf []byte, obj *BlockHeader) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Version + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Version = i + } + + { + // obj.Time + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Time = i + } + + { + // obj.BkSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.BkSeq = i + } + + { + // obj.Fee + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Fee = i + } + + { + // obj.PrevHash + if len(d.Buffer) < len(obj.PrevHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.PrevHash[:], d.Buffer[:len(obj.PrevHash)]) + d.Buffer = d.Buffer[len(obj.PrevHash):] + } + + { + // obj.BodyHash + if len(d.Buffer) < len(obj.BodyHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.BodyHash[:], d.Buffer[:len(obj.BodyHash)]) + d.Buffer = d.Buffer[len(obj.BodyHash):] + } + + { + // obj.UxHash + if len(d.Buffer) < len(obj.UxHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.UxHash[:], d.Buffer[:len(obj.UxHash)]) + d.Buffer = d.Buffer[len(obj.UxHash):] + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeBlockHeaderExact decodes an object of type BlockHeader from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeBlockHeaderExact(buf []byte, obj *BlockHeader) error { + if n, err := decodeBlockHeader(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/outputs.go b/vendor/github.com/skycoin/skycoin/src/coin/outputs.go new file mode 100644 index 00000000..db2c26b9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/outputs.go @@ -0,0 +1,327 @@ +package coin + +import ( + "bytes" + "errors" + "fmt" + "log" + "sort" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +/* + Unspent Outputs +*/ + +/* +- hash must only depend on factors known to sender +-- hash cannot depend on block executed +-- hash cannot depend on sequence number +-- hash may depend on nonce + +- hash must depend only on factors known to sender +-- needed to minimize divergence during block chain forks +- it should be difficult to create outputs with duplicate ids + +- Uxhash cannot depend on time or block it was created +- time is still needed for +*/ + +/* + For each transaction, keep track of + - order created + - order spent (for rollbacks) +*/ + +//go:generate skyencoder -struct UxHead -unexported +//go:generate skyencoder -struct UxBody -unexported + +// UxOut represents uxout +type UxOut struct { + Head UxHead + Body UxBody //hashed part + //Meta UxMeta +} + +// UxHead metadata (not hashed) +type UxHead struct { + Time uint64 //time of block it was created in + BkSeq uint64 //block it was created in, used to calculate depth + // SpSeq uint64 //block it was spent in +} + +// UxBody uxbody +type UxBody struct { + SrcTransaction cipher.SHA256 // Inner Hash of Transaction + Address cipher.Address // Address of receiver + Coins uint64 // Number of coins + Hours uint64 // Coin hours +} + +// Hash returns the hash of UxBody +func (uo *UxOut) Hash() cipher.SHA256 { + return uo.Body.Hash() +} + +// SnapshotHash returns hash of UxBody + UxHead +func (uo *UxOut) SnapshotHash() cipher.SHA256 { + n1 := encodeSizeUxBody(&uo.Body) + n2 := encodeSizeUxHead(&uo.Head) + buf := make([]byte, n1+n2) + + if err := encodeUxBodyToBuffer(buf[:n1], &uo.Body); err != nil { + log.Panicf("encodeUxBodyToBuffer failed: %v", err) + } + if err := encodeUxHeadToBuffer(buf[n1:], &uo.Head); err != nil { + log.Panicf("encodeUxHeadToBuffer failed: %v", err) + } + + return cipher.SumSHA256(buf) +} + +// Hash returns hash of uxbody +func (ub *UxBody) Hash() cipher.SHA256 { + buf, err := encodeUxBody(ub) + if err != nil { + log.Panicf("encodeUxBody failed: %v", err) + } + return cipher.SumSHA256(buf) +} + +/* + Make independent of block rate? + Then need creation time of output + Creation time of transaction cant be hashed +*/ + +// ErrAddEarnedCoinHoursAdditionOverflow is returned by UxOut.CoinHours() if during the addition of base coin +// hours to additional earned coin hours, the value would overflow a uint64. +// Callers may choose to ignore this errors and use 0 as the coinhours value instead. +// This affects one existing spent output, spent in block 13277. +var ErrAddEarnedCoinHoursAdditionOverflow = errors.New("UxOut.CoinHours addition of earned coin hours overflow") + +// CoinHours Calculate coinhour balance of output. t is the current unix utc time. +func (uo *UxOut) CoinHours(t uint64) (uint64, error) { + if t < uo.Head.Time { + log.Printf("Calculating coin hours with t < head time") + return uo.Body.Hours, nil + } + + seconds := t - uo.Head.Time // number of seconds + + // Calculate whole coin seconds + wholeCoins := uo.Body.Coins / 1e6 + wholeCoinSeconds, err := mathutil.MultUint64(seconds, wholeCoins) + if err != nil { + err := fmt.Errorf("UxOut.CoinHours: Calculating whole coin seconds overflows uint64 seconds=%d coins=%d uxid=%s", seconds, wholeCoins, uo.Hash().Hex()) + log.Printf("%v", err) + return 0, err + } + + // Calculate remainder droplet seconds + remainderDroplets := uo.Body.Coins % 1e6 + dropletSeconds, err := mathutil.MultUint64(seconds, remainderDroplets) + if err != nil { + err := fmt.Errorf("UxOut.CoinHours: Calculating droplet seconds overflows uint64 seconds=%d droplets=%d uxid=%s", seconds, remainderDroplets, uo.Hash().Hex()) + log.Printf("%v", err) + return 0, err + } + + // Add coinSeconds and seconds earned by droplets, rounded off + coinSeconds := wholeCoinSeconds + dropletSeconds/1e6 + + coinHours := coinSeconds / 3600 // coin hours + totalHours, err := mathutil.AddUint64(uo.Body.Hours, coinHours) // starting+earned + if err != nil { + log.Printf("%v uxid=%s", ErrAddEarnedCoinHoursAdditionOverflow, uo.Hash().Hex()) + return 0, ErrAddEarnedCoinHoursAdditionOverflow + } + return totalHours, nil +} + +// UxHashSet set mapping from UxHash to a placeholder value +type UxHashSet map[cipher.SHA256]struct{} + +// UxArray Array of Outputs +// Used by unspent output pool, spent tests +type UxArray []UxOut + +// Hashes returns Array of hashes for the Ux in the UxArray +func (ua UxArray) Hashes() []cipher.SHA256 { + hashes := make([]cipher.SHA256, len(ua)) + for i, ux := range ua { + hashes[i] = ux.Hash() + } + return hashes +} + +// HasDupes checks the UxArray for outputs which have the same hash +func (ua UxArray) HasDupes() bool { + m := make(UxHashSet, len(ua)) + for i := range ua { + h := ua[i].Hash() + if _, ok := m[h]; ok { + return true + } + m[h] = struct{}{} + } + return false +} + +// Set returns the UxArray as a hash to struct{} map to be used as a set. +// Should only be used for membership detection +func (ua UxArray) Set() UxHashSet { + m := make(UxHashSet, len(ua)) + for i := range ua { + m[ua[i].Hash()] = struct{}{} + } + return m +} + +// Sort sorts UxArray +func (ua UxArray) Sort() { + sort.Sort(ua) +} + +// Len returns length of UxArray +func (ua UxArray) Len() int { + return len(ua) +} + +// Less checks if UxArray[i] < UxArray[j] +func (ua UxArray) Less(i, j int) bool { + hash1 := ua[i].Hash() + hash2 := ua[j].Hash() + return bytes.Compare(hash1[:], hash2[:]) < 0 +} + +// Swap swaps value of UxArray[i] and UxArray[j] +func (ua UxArray) Swap(i, j int) { + ua[i], ua[j] = ua[j], ua[i] +} + +// Coins returns the total coins +func (ua UxArray) Coins() (uint64, error) { + var coins uint64 + for _, ux := range ua { + var err error + coins, err = mathutil.AddUint64(coins, ux.Body.Coins) + if err != nil { + return 0, errors.New("UxArray.Coins addition overflow") + } + } + + return coins, nil +} + +// CoinHours returns the total coin hours +func (ua UxArray) CoinHours(headTime uint64) (uint64, error) { + var hours uint64 + for _, ux := range ua { + uxHours, err := ux.CoinHours(headTime) + if err != nil { + return 0, err + } + + hours, err = mathutil.AddUint64(hours, uxHours) + if err != nil { + return 0, errors.New("UxArray.CoinHours addition overflow") + } + } + return hours, nil +} + +// AddressUxOuts maps address with uxarray +type AddressUxOuts map[cipher.Address]UxArray + +// NewAddressUxOuts creates address uxouts map +func NewAddressUxOuts(uxs UxArray) AddressUxOuts { + uxo := make(AddressUxOuts) + for _, ux := range uxs { + uxo[ux.Body.Address] = append(uxo[ux.Body.Address], ux) + } + return uxo +} + +// Keys returns the Address keys +func (auo AddressUxOuts) Keys() []cipher.Address { + addrs := make([]cipher.Address, len(auo)) + i := 0 + for k := range auo { + addrs[i] = k + i++ + } + return addrs +} + +// Flatten converts an AddressUxOuts map to a UxArray +func (auo AddressUxOuts) Flatten() UxArray { + oxs := make(UxArray, 0, len(auo)) + for _, uxs := range auo { + for i := range uxs { + oxs = append(oxs, uxs[i]) + } + } + return oxs +} + +// Sub returns a new set of unspents, with unspents found in other removed. +// No address's unspent set will be empty +// Depreciate this: only visor uses it +func (auo AddressUxOuts) Sub(other AddressUxOuts) AddressUxOuts { + ox := make(AddressUxOuts, len(auo)) + for a, uxs := range auo { + if suxs, ok := other[a]; ok { + ouxs := uxs.Sub(suxs) + if len(ouxs) > 0 { + ox[a] = ouxs + } + } else { + ox[a] = uxs + } + } + return ox +} + +// Add returns a new unspents, with merged unspents +func (auo AddressUxOuts) Add(other AddressUxOuts) AddressUxOuts { + ox := make(AddressUxOuts, len(auo)) + for a, o := range auo { + ox[a] = o + } + + for a, uxs := range other { + if suxs, ok := ox[a]; ok { + ox[a] = suxs.Add(uxs) + } else { + ox[a] = uxs + } + } + return ox +} + +// Sub returns a new UxArray with elements in other removed from self +// Deprecate +func (ua UxArray) Sub(other UxArray) UxArray { + uxa := make(UxArray, 0) + m := other.Set() + for i := range ua { + if _, ok := m[ua[i].Hash()]; !ok { + uxa = append(uxa, ua[i]) + } + } + return uxa +} + +// Add returns a new UxArray with merged elements +func (ua UxArray) Add(other UxArray) UxArray { + m := ua.Set() + for i := range other { + if _, ok := m[other[i].Hash()]; !ok { + ua = append(ua, other[i]) + } + } + return ua +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/transaction_inputs_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/coin/transaction_inputs_skyencoder.go new file mode 100644 index 00000000..ae7daca9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/transaction_inputs_skyencoder.go @@ -0,0 +1,135 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package coin + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeTransactionInputs computes the size of an encoded object of type transactionInputs +func encodeSizeTransactionInputs(obj *transactionInputs) uint64 { + i0 := uint64(0) + + // obj.In + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 32 + + i0 += uint64(len(obj.In)) * i1 + } + + return i0 +} + +// encodeTransactionInputs encodes an object of type transactionInputs to a buffer allocated to the exact size +// required to encode the object. +func encodeTransactionInputs(obj *transactionInputs) ([]byte, error) { + n := encodeSizeTransactionInputs(obj) + buf := make([]byte, n) + + if err := encodeTransactionInputsToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeTransactionInputsToBuffer encodes an object of type transactionInputs to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeTransactionInputsToBuffer(buf []byte, obj *transactionInputs) error { + if uint64(len(buf)) < encodeSizeTransactionInputs(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.In maxlen check + if len(obj.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.In length check + if uint64(len(obj.In)) > math.MaxUint32 { + return errors.New("obj.In length exceeds math.MaxUint32") + } + + // obj.In length + e.Uint32(uint32(len(obj.In))) + + // obj.In + for _, x := range obj.In { + + // x + e.CopyBytes(x[:]) + + } + + return nil +} + +// decodeTransactionInputs decodes an object of type transactionInputs from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeTransactionInputs(buf []byte, obj *transactionInputs) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.In = make([]cipher.SHA256, length) + + for z1 := range obj.In { + { + // obj.In[z1] + if len(d.Buffer) < len(obj.In[z1]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.In[z1][:], d.Buffer[:len(obj.In[z1])]) + d.Buffer = d.Buffer[len(obj.In[z1]):] + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeTransactionInputsExact decodes an object of type transactionInputs from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeTransactionInputsExact(buf []byte, obj *transactionInputs) error { + if n, err := decodeTransactionInputs(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/transaction_outputs_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/coin/transaction_outputs_skyencoder.go new file mode 100644 index 00000000..8ddacd4a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/transaction_outputs_skyencoder.go @@ -0,0 +1,179 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package coin + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeTransactionOutputs computes the size of an encoded object of type transactionOutputs +func encodeSizeTransactionOutputs(obj *transactionOutputs) uint64 { + i0 := uint64(0) + + // obj.Out + i0 += 4 + { + i1 := uint64(0) + + // x1.Address.Version + i1++ + + // x1.Address.Key + i1 += 20 + + // x1.Coins + i1 += 8 + + // x1.Hours + i1 += 8 + + i0 += uint64(len(obj.Out)) * i1 + } + + return i0 +} + +// encodeTransactionOutputs encodes an object of type transactionOutputs to a buffer allocated to the exact size +// required to encode the object. +func encodeTransactionOutputs(obj *transactionOutputs) ([]byte, error) { + n := encodeSizeTransactionOutputs(obj) + buf := make([]byte, n) + + if err := encodeTransactionOutputsToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeTransactionOutputsToBuffer encodes an object of type transactionOutputs to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeTransactionOutputsToBuffer(buf []byte, obj *transactionOutputs) error { + if uint64(len(buf)) < encodeSizeTransactionOutputs(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Out maxlen check + if len(obj.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Out length check + if uint64(len(obj.Out)) > math.MaxUint32 { + return errors.New("obj.Out length exceeds math.MaxUint32") + } + + // obj.Out length + e.Uint32(uint32(len(obj.Out))) + + // obj.Out + for _, x := range obj.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + return nil +} + +// decodeTransactionOutputs decodes an object of type transactionOutputs from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeTransactionOutputs(buf []byte, obj *transactionOutputs) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Out = make([]TransactionOutput, length) + + for z1 := range obj.Out { + { + // obj.Out[z1].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Out[z1].Address.Version = i + } + + { + // obj.Out[z1].Address.Key + if len(d.Buffer) < len(obj.Out[z1].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Out[z1].Address.Key[:], d.Buffer[:len(obj.Out[z1].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Out[z1].Address.Key):] + } + + { + // obj.Out[z1].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out[z1].Coins = i + } + + { + // obj.Out[z1].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out[z1].Hours = i + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeTransactionOutputsExact decodes an object of type transactionOutputs from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeTransactionOutputsExact(buf []byte, obj *transactionOutputs) error { + if n, err := decodeTransactionOutputs(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/transaction_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/coin/transaction_skyencoder.go new file mode 100644 index 00000000..33d4d53d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/transaction_skyencoder.go @@ -0,0 +1,357 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package coin + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeTransaction computes the size of an encoded object of type Transaction +func encodeSizeTransaction(obj *Transaction) uint64 { + i0 := uint64(0) + + // obj.Length + i0 += 4 + + // obj.Type + i0++ + + // obj.InnerHash + i0 += 32 + + // obj.Sigs + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 65 + + i0 += uint64(len(obj.Sigs)) * i1 + } + + // obj.In + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 32 + + i0 += uint64(len(obj.In)) * i1 + } + + // obj.Out + i0 += 4 + { + i1 := uint64(0) + + // x1.Address.Version + i1++ + + // x1.Address.Key + i1 += 20 + + // x1.Coins + i1 += 8 + + // x1.Hours + i1 += 8 + + i0 += uint64(len(obj.Out)) * i1 + } + + return i0 +} + +// encodeTransaction encodes an object of type Transaction to a buffer allocated to the exact size +// required to encode the object. +func encodeTransaction(obj *Transaction) ([]byte, error) { + n := encodeSizeTransaction(obj) + buf := make([]byte, n) + + if err := encodeTransactionToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeTransactionToBuffer encodes an object of type Transaction to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeTransactionToBuffer(buf []byte, obj *Transaction) error { + if uint64(len(buf)) < encodeSizeTransaction(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Length + e.Uint32(obj.Length) + + // obj.Type + e.Uint8(obj.Type) + + // obj.InnerHash + e.CopyBytes(obj.InnerHash[:]) + + // obj.Sigs maxlen check + if len(obj.Sigs) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Sigs length check + if uint64(len(obj.Sigs)) > math.MaxUint32 { + return errors.New("obj.Sigs length exceeds math.MaxUint32") + } + + // obj.Sigs length + e.Uint32(uint32(len(obj.Sigs))) + + // obj.Sigs + for _, x := range obj.Sigs { + + // x + e.CopyBytes(x[:]) + + } + + // obj.In maxlen check + if len(obj.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.In length check + if uint64(len(obj.In)) > math.MaxUint32 { + return errors.New("obj.In length exceeds math.MaxUint32") + } + + // obj.In length + e.Uint32(uint32(len(obj.In))) + + // obj.In + for _, x := range obj.In { + + // x + e.CopyBytes(x[:]) + + } + + // obj.Out maxlen check + if len(obj.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Out length check + if uint64(len(obj.Out)) > math.MaxUint32 { + return errors.New("obj.Out length exceeds math.MaxUint32") + } + + // obj.Out length + e.Uint32(uint32(len(obj.Out))) + + // obj.Out + for _, x := range obj.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + return nil +} + +// decodeTransaction decodes an object of type Transaction from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeTransaction(buf []byte, obj *Transaction) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Length + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Length = i + } + + { + // obj.Type + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Type = i + } + + { + // obj.InnerHash + if len(d.Buffer) < len(obj.InnerHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.InnerHash[:], d.Buffer[:len(obj.InnerHash)]) + d.Buffer = d.Buffer[len(obj.InnerHash):] + } + + { + // obj.Sigs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Sigs = make([]cipher.Sig, length) + + for z1 := range obj.Sigs { + { + // obj.Sigs[z1] + if len(d.Buffer) < len(obj.Sigs[z1]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Sigs[z1][:], d.Buffer[:len(obj.Sigs[z1])]) + d.Buffer = d.Buffer[len(obj.Sigs[z1]):] + } + + } + } + } + + { + // obj.In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.In = make([]cipher.SHA256, length) + + for z1 := range obj.In { + { + // obj.In[z1] + if len(d.Buffer) < len(obj.In[z1]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.In[z1][:], d.Buffer[:len(obj.In[z1])]) + d.Buffer = d.Buffer[len(obj.In[z1]):] + } + + } + } + } + + { + // obj.Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Out = make([]TransactionOutput, length) + + for z1 := range obj.Out { + { + // obj.Out[z1].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Out[z1].Address.Version = i + } + + { + // obj.Out[z1].Address.Key + if len(d.Buffer) < len(obj.Out[z1].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Out[z1].Address.Key[:], d.Buffer[:len(obj.Out[z1].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Out[z1].Address.Key):] + } + + { + // obj.Out[z1].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out[z1].Coins = i + } + + { + // obj.Out[z1].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out[z1].Hours = i + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeTransactionExact decodes an object of type Transaction from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeTransactionExact(buf []byte, obj *Transaction) error { + if n, err := decodeTransaction(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/transactions.go b/vendor/github.com/skycoin/skycoin/src/coin/transactions.go new file mode 100644 index 00000000..49f1f663 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/transactions.go @@ -0,0 +1,788 @@ +package coin + +import ( + "bytes" + "encoding/hex" + "errors" + "fmt" + "log" + "math" + "sort" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +var ( + // DebugLevel1 checks for extremely unlikely conditions (10e-40) + DebugLevel1 = true + // DebugLevel2 enable checks for impossible conditions + DebugLevel2 = true +) + +//go:generate skyencoder -struct Transaction -unexported +//go:generate skyencoder -struct transactionInputs +//go:generate skyencoder -struct transactionOutputs + +type transactionInputs struct { + In []cipher.SHA256 `enc:",maxlen=65535"` +} + +type transactionOutputs struct { + Out []TransactionOutput `enc:",maxlen=65535"` +} + +/* +Transaction with N inputs, M ouputs is +- 32 bytes constant +- 32+65 bytes per input +- 21+8+8 bytes per output + +Skycoin Transactions are +- 97 bytes per input + 37 bytes per output + 37 bytes +Bitcoin Transactions are +- 180 bytes per input + 34 bytes per output + 10 bytes + +Sigs is the array of signatures +- the Nth signature is the authorization to spend the Nth output consumed in transaction +- the hash signed is SHA256sum of transaction inner hash and the hash of output being spent + +The inner hash is SHA256 hash of the serialization of Input and Output array +The outer hash is the hash of the whole transaction serialization +*/ + +// Transaction transaction struct +type Transaction struct { + Length uint32 // length prefix + Type uint8 // transaction type + InnerHash cipher.SHA256 // inner hash SHA256 of In[],Out[] + + Sigs []cipher.Sig `enc:",maxlen=65535"` // list of signatures, 64+1 bytes each + In []cipher.SHA256 `enc:",maxlen=65535"` // ouputs being spent + Out []TransactionOutput `enc:",maxlen=65535"` // ouputs being created +} + +// TransactionOutput hash output/name is function of Hash +type TransactionOutput struct { + Address cipher.Address // address to send to + Coins uint64 // amount to be sent in coins + Hours uint64 // amount to be sent in coin hours +} + +// Verify attempts to determine if the transaction is well formed. +// Verify cannot check transaction signatures, it needs the address from unspents +// Verify cannot check if outputs being spent exist +// Verify cannot check if the transaction would create or destroy coins +// or if the inputs have the required coin base +func (txn *Transaction) Verify() error { + return txn.verify(true) +} + +// VerifyUnsigned attempts to determine if the transaction is well formed, +// but requires the transaction to have at least one null signature. +// Verify cannot check transaction signatures, it needs the address from unspents +// Verify cannot check if outputs being spent exist +// Verify cannot check if the transaction would create or destroy coins +// or if the inputs have the required coin base +func (txn *Transaction) VerifyUnsigned() error { + return txn.verify(false) +} + +func (txn *Transaction) verify(signed bool) error { + if len(txn.In) == 0 { + return errors.New("No inputs") + } + if len(txn.Out) == 0 { + return errors.New("No outputs") + } + + // Check signature index fields + if len(txn.Sigs) != len(txn.In) { + return errors.New("Invalid number of signatures") + } + if len(txn.Sigs) > math.MaxUint16 { + return errors.New("Too many signatures and inputs") + } + + if len(txn.Out) > math.MaxUint16 { + return errors.New("Too many ouptuts") + } + + // Check duplicate inputs + uxOuts := make(map[cipher.SHA256]struct{}, len(txn.In)) + for i := range txn.In { + uxOuts[txn.In[i]] = struct{}{} + } + if len(uxOuts) != len(txn.In) { + return errors.New("Duplicate spend") + } + + if txn.Type != 0 { + return errors.New("transaction type invalid") + } + + // Prevent zero coin outputs + // Artificial restriction to prevent spam + for _, txo := range txn.Out { + if txo.Coins == 0 { + return errors.New("Zero coin output") + } + } + + // Check output coin integer overflow + coins := uint64(0) + for _, to := range txn.Out { + var err error + coins, err = mathutil.AddUint64(coins, to.Coins) + if err != nil { + return errors.New("Output coins overflow") + } + } + + // Check that Size and Hash can be computed + txnSize, txnHash, err := txn.SizeHash() + if err != nil { + return err + } + + // Check txn Size set correctly + if txn.Length != txnSize { + return errors.New("Incorrect transaction length") + } + + // Check for duplicate potential outputs + outputs := make(map[cipher.SHA256]struct{}, len(txn.Out)) + uxb := UxBody{ + SrcTransaction: txnHash, + } + for _, to := range txn.Out { + uxb.Coins = to.Coins + uxb.Hours = to.Hours + uxb.Address = to.Address + outputs[uxb.Hash()] = struct{}{} + } + if len(outputs) != len(txn.Out) { + return errors.New("Duplicate output in transaction") + } + + // Check inner hash + innerHash, err := txn.hashInner() + if err != nil { + return fmt.Errorf("HashInner failed: %v", err) + } + + if innerHash != txn.InnerHash { + return errors.New("InnerHash does not match computed hash") + } + + // Validate signatures + for i, sig := range txn.Sigs { + if sig.Null() { + // Check that signed transactions do not have any null signatures + if signed { + return errors.New("Unsigned input in transaction") + } + // Ignore null signatures if the transaction is unsigned + continue + } + + hash := cipher.AddSHA256(txn.InnerHash, txn.In[i]) + if err := cipher.VerifySignatureRecoverPubKey(sig, hash); err != nil { + return err + } + } + + // Check that unsigned transactions have at least one non-null signature + if !signed { + if !txn.hasNullSignature() { + return errors.New("Unsigned transaction must contain a null signature") + } + } + + return nil +} + +func (txn Transaction) verifyInputSignaturesPrelude(uxIn UxArray) error { + if len(txn.In) != len(uxIn) { + return errors.New("txn.In != uxIn") + } + if len(txn.In) != len(txn.Sigs) { + return errors.New("txn.In != txn.Sigs") + } + if txn.InnerHash != txn.HashInner() { + return errors.New("Invalid Tx Inner Hash") + } + for i := range txn.In { + if txn.In[i] != uxIn[i].Hash() { + return errors.New("Ux hash mismatch") + } + } + return nil +} + +// VerifyInputSignatures verifies the inputs and signatures +func (txn Transaction) VerifyInputSignatures(uxIn UxArray) error { + if err := txn.verifyInputSignaturesPrelude(uxIn); err != nil { + if DebugLevel2 { + log.Panic(err) + } + return err + } + + // Check signatures against unspent address + for i := range txn.In { + if txn.Sigs[i].Null() { + return errors.New("Unsigned input in transaction") + } + + hash := cipher.AddSHA256(txn.InnerHash, txn.In[i]) // use inner hash, not outer hash + err := cipher.VerifyAddressSignedHash(uxIn[i].Body.Address, txn.Sigs[i], hash) + if err != nil { + return errors.New("Signature not valid for output being spent") + } + } + + return nil +} + +// VerifyPartialInputSignatures verifies the inputs and signatures for signatures that are not null +func (txn Transaction) VerifyPartialInputSignatures(uxIn UxArray) error { + if err := txn.verifyInputSignaturesPrelude(uxIn); err != nil { + if DebugLevel2 { + log.Panic(err) + } + return err + } + + // Check signatures against unspent address for signatures that are not null + for i := range txn.In { + if txn.Sigs[i].Null() { + continue + } + hash := cipher.AddSHA256(txn.InnerHash, txn.In[i]) // use inner hash, not outer hash + err := cipher.VerifyAddressSignedHash(uxIn[i].Body.Address, txn.Sigs[i], hash) + if err != nil { + return errors.New("Signature not valid for output being spent") + } + } + + return nil +} + +// PushInput adds a unspent output hash to the inputs of a Transaction. +func (txn *Transaction) PushInput(uxOut cipher.SHA256) error { + if len(txn.In) >= math.MaxUint16 { + return errors.New("Max transaction inputs reached") + } + txn.In = append(txn.In, uxOut) + return nil +} + +// UxID compute transaction output id +func (txOut TransactionOutput) UxID(txID cipher.SHA256) cipher.SHA256 { + var x UxBody + x.Coins = txOut.Coins + x.Hours = txOut.Hours + x.Address = txOut.Address + x.SrcTransaction = txID + return x.Hash() +} + +// PushOutput Adds a TransactionOutput, sending coins & hours to an Address +func (txn *Transaction) PushOutput(dst cipher.Address, coins, hours uint64) error { + if len(txn.Out) >= math.MaxUint16 { + return errors.New("Max transaction outputs reached") + } + txn.Out = append(txn.Out, TransactionOutput{ + Address: dst, + Coins: coins, + Hours: hours, + }) + return nil +} + +// SignInput signs a specific input in the transaction. +// InnerHash should already be set to a valid value. +// Returns an error if the input is already signed +func (txn *Transaction) SignInput(key cipher.SecKey, index int) error { + if index < 0 || index >= len(txn.In) { + return errors.New("Signature index out of range") + } + + if len(txn.Sigs) == 0 { + txn.Sigs = make([]cipher.Sig, len(txn.In)) + } + if len(txn.In) != len(txn.Sigs) { + return errors.New("Number of signatures does not match number of inputs") + } + + if !txn.Sigs[index].Null() { + return errors.New("Input already signed") + } + + h := cipher.AddSHA256(txn.InnerHash, txn.In[index]) + txn.Sigs[index] = cipher.MustSignHash(h, key) + + return nil +} + +// SignInputs signs all inputs in the transaction +func (txn *Transaction) SignInputs(keys []cipher.SecKey) { + if len(keys) != len(txn.In) { + log.Panic("Invalid number of keys") + } + if len(keys) > math.MaxUint16 { + log.Panic("Too many keys") + } + if len(keys) == 0 { + log.Panic("No keys") + } + if len(txn.Sigs) > 0 && txn.hasNonNullSignature() { + log.Panic("Transaction has been signed") + } + + txn.InnerHash = txn.HashInner() // update hash + + sigs := make([]cipher.Sig, len(txn.In)) + for i, k := range keys { + h := cipher.AddSHA256(txn.InnerHash, txn.In[i]) // hash to sign + sigs[i] = cipher.MustSignHash(h, k) + } + txn.Sigs = sigs +} + +// Size returns the encoded byte size of the transaction +func (txn *Transaction) Size() (uint32, error) { + buf, err := txn.Serialize() + if err != nil { + return 0, err + } + return mathutil.IntToUint32(len(buf)) +} + +// IsFullyUnsigned returns true if the transaction is not signed for any input. +// Unsigned transactions have a full signature array, but the signatures are null. +// Returns true if the signatures array is empty. +func (txn *Transaction) IsFullyUnsigned() bool { + for _, s := range txn.Sigs { + if !s.Null() { + return false + } + } + + return true +} + +// IsFullySigned returns true if the transaction is fully signed. +// Returns true if the signatures array is empty. +func (txn *Transaction) IsFullySigned() bool { + if len(txn.Sigs) == 0 { + return false + } + + for _, s := range txn.Sigs { + if s.Null() { + return false + } + } + + return true +} + +// hasNonNullSignature returns true if the transaction has at least one non-null signature +func (txn *Transaction) hasNonNullSignature() bool { + for _, s := range txn.Sigs { + if !s.Null() { + return true + } + } + + return false +} + +// hasNullSignature returns true if the transaction has at least one null signature +func (txn *Transaction) hasNullSignature() bool { + for _, s := range txn.Sigs { + if s.Null() { + return true + } + } + + return false +} + +// Hash an entire Transaction struct, including the TransactionHeader +func (txn *Transaction) Hash() cipher.SHA256 { + b, err := txn.Serialize() + if err != nil { + log.Panicf("Hash: txn.Serialize failed: %v", err) + } + return cipher.SumSHA256(b) +} + +// SizeHash returns the encoded size and the hash of it (avoids duplicate encoding) +func (txn *Transaction) SizeHash() (uint32, cipher.SHA256, error) { + b, err := txn.Serialize() + if err != nil { + return 0, cipher.SHA256{}, err + } + s, err := mathutil.IntToUint32(len(b)) + if err != nil { + return 0, cipher.SHA256{}, err + } + return s, cipher.SumSHA256(b), nil +} + +// UpdateHeader saves the txn body hash to TransactionHeader.Hash +func (txn *Transaction) UpdateHeader() error { + s, err := txn.Size() + if err != nil { + return err + } + txn.Length = s + txn.Type = byte(0x00) + txn.InnerHash = txn.HashInner() + return nil +} + +// HashInner hashes only the Transaction Inputs & Outputs +// This is what is signed +// Client hashes the inner hash with hash of output being spent and signs it with private key +func (txn *Transaction) HashInner() cipher.SHA256 { + h, err := txn.hashInner() + if err != nil { + log.Panicf("hashInner failed: %v", err) + } + return h +} + +func (txn *Transaction) hashInner() (cipher.SHA256, error) { + txnInputs := &transactionInputs{ + In: txn.In, + } + txnOutputs := &transactionOutputs{ + Out: txn.Out, + } + n1 := encodeSizeTransactionInputs(txnInputs) + n2 := encodeSizeTransactionOutputs(txnOutputs) + buf := make([]byte, n1+n2) + + if err := encodeTransactionInputsToBuffer(buf[:n1], txnInputs); err != nil { + return cipher.SHA256{}, fmt.Errorf("encodeTransactionInputsToBuffer failed: %v", err) + } + + if err := encodeTransactionOutputsToBuffer(buf[n1:], txnOutputs); err != nil { + return cipher.SHA256{}, fmt.Errorf("encodeTransactionOutputsToBuffer failed: %v", err) + } + + return cipher.SumSHA256(buf), nil +} + +// MustSerialize serializes the transaction to bytes, panics on error. +// Serialization can fail if the transaction has too many elements in its arrays +func (txn *Transaction) MustSerialize() []byte { + b, err := encodeTransaction(txn) + if err != nil { + log.Panicf("encodeTransaction failed: %v", err) + } + return b +} + +// Serialize serializes the transaction to bytes. +// Serialization can fail if the transaction has too many elements in its arrays +func (txn *Transaction) Serialize() ([]byte, error) { + return encodeTransaction(txn) +} + +// MustSerializeHex serializes the transaction to a hex string, panics on error. +// Serialization can fail if the transaction has too many elements in its arrays +func (txn *Transaction) MustSerializeHex() string { + return hex.EncodeToString(txn.MustSerialize()) +} + +// SerializeHex serializes the transaction to a hex string. +// Serialization can fail if the transaction has too many elements in its arrays +func (txn *Transaction) SerializeHex() (string, error) { + b, err := txn.Serialize() + if err != nil { + return "", err + } + return hex.EncodeToString(b), nil +} + +// MustDeserializeTransaction deserializes a transaction, panics on error +func MustDeserializeTransaction(b []byte) Transaction { + txn, err := DeserializeTransaction(b) + if err != nil { + log.Panicf("Failed to deserialize transaction: %v", err) + } + return txn +} + +// DeserializeTransaction deserializes a transaction +func DeserializeTransaction(b []byte) (Transaction, error) { + txn := Transaction{} + if err := decodeTransactionExact(b, &txn); err != nil { + return Transaction{}, fmt.Errorf("Invalid transaction: %v", err) + } + return txn, nil +} + +// MustDeserializeTransactionHex deserializes a transaction hex string, panics on error +func MustDeserializeTransactionHex(s string) Transaction { + txn, err := DeserializeTransactionHex(s) + if err != nil { + log.Panicf("Failed to deserialize transaction: %v", err) + } + return txn +} + +// DeserializeTransactionHex deserializes a transaction hex string +func DeserializeTransactionHex(s string) (Transaction, error) { + b, err := hex.DecodeString(s) + if err != nil { + return Transaction{}, err + } + return DeserializeTransaction(b) +} + +// OutputHours returns the coin hours sent as outputs. This does not include the fee. +func (txn *Transaction) OutputHours() (uint64, error) { + hours := uint64(0) + for i := range txn.Out { + var err error + hours, err = mathutil.AddUint64(hours, txn.Out[i].Hours) + if err != nil { + return 0, errors.New("Transaction output hours overflow") + } + } + return hours, nil +} + +// Transactions transaction slice +type Transactions []Transaction + +// Fees calculates all the fees in Transactions +func (txns Transactions) Fees(calc FeeCalculator) (uint64, error) { + total := uint64(0) + for i := range txns { + fee, err := calc(&txns[i]) + if err != nil { + return 0, err + } + + total, err = mathutil.AddUint64(total, fee) + if err != nil { + return 0, errors.New("Transactions fee totals overflow") + } + } + return total, nil +} + +// Hashes caculate transactions hashes +func (txns Transactions) Hashes() []cipher.SHA256 { + hashes := make([]cipher.SHA256, len(txns)) + for i := range txns { + hashes[i] = txns[i].Hash() + } + return hashes +} + +// Size returns the sum of contained Transactions' sizes. It is not the size if +// serialized, since that would have a length prefix. +func (txns Transactions) Size() (uint32, error) { + var size uint32 + for i := range txns { + s, err := txns[i].Size() + if err != nil { + return 0, err + } + + size, err = mathutil.AddUint32(size, s) + if err != nil { + return 0, err + } + } + + return size, nil +} + +// TruncateBytesTo returns the first n transactions whose total size is less than or equal to size +func (txns Transactions) TruncateBytesTo(size uint32) (Transactions, error) { + var total uint32 + for i := range txns { + pending, err := txns[i].Size() + if err != nil { + return nil, err + } + + pendingTotal, err := mathutil.AddUint32(total, pending) + if err != nil { + return txns[:i], nil + } + + if pendingTotal > size { + return txns[:i], nil + } + + total = pendingTotal + } + + return txns, nil +} + +// SortableTransactions allows sorting transactions by fee & hash +type SortableTransactions struct { + Transactions Transactions + Fees []uint64 + Hashes []cipher.SHA256 +} + +// FeeCalculator given a transaction, return its fee or an error if the fee cannot be calculated +type FeeCalculator func(*Transaction) (uint64, error) + +// SortTransactions returns transactions sorted by fee per kB, and sorted by lowest hash if tied. +// Transactions that fail in fee computation are excluded +func SortTransactions(txns Transactions, feeCalc FeeCalculator) (Transactions, error) { + sorted, err := NewSortableTransactions(txns, feeCalc) + if err != nil { + return nil, err + } + sorted.Sort() + return sorted.Transactions, nil +} + +// NewSortableTransactions returns an array of txns that can be sorted by fee. +// On creation, fees are calculated, and if any txns have invalid fee, there are removed from consideration +func NewSortableTransactions(txns Transactions, feeCalc FeeCalculator) (*SortableTransactions, error) { + newTxns := make(Transactions, len(txns)) + fees := make([]uint64, len(txns)) + hashes := make([]cipher.SHA256, len(txns)) + j := 0 + for i := range txns { + fee, err := feeCalc(&txns[i]) + if err != nil { + continue + } + + size, hash, err := txns[i].SizeHash() + if err != nil { + return nil, err + } + + // Calculate fee priority based on fee per kb + feeKB, err := mathutil.MultUint64(fee, 1024) + + // If the fee * 1024 would exceed math.MaxUint64, set it to math.MaxUint64 so that + // this transaction can still be processed + if err != nil { + feeKB = math.MaxUint64 + } + + newTxns[j] = txns[i] + hashes[j] = hash + fees[j] = feeKB / uint64(size) + j++ + } + + return &SortableTransactions{ + Transactions: newTxns[:j], + Fees: fees[:j], + Hashes: hashes[:j], + }, nil +} + +// Sort sorts by tx fee, and then by hash if fee equal +func (txns SortableTransactions) Sort() { + sort.Sort(txns) +} + +// Len returns length of transactions +func (txns SortableTransactions) Len() int { + return len(txns.Transactions) +} + +// Less default sorting is fees descending, hash ascending if fees equal +func (txns SortableTransactions) Less(i, j int) bool { + if txns.Fees[i] == txns.Fees[j] { + // If fees match, hashes are sorted ascending + return bytes.Compare(txns.Hashes[i][:], txns.Hashes[j][:]) < 0 + } + // Fees are sorted descending + return txns.Fees[i] > txns.Fees[j] +} + +// Swap swaps txns +func (txns SortableTransactions) Swap(i, j int) { + txns.Transactions[i], txns.Transactions[j] = txns.Transactions[j], txns.Transactions[i] + txns.Fees[i], txns.Fees[j] = txns.Fees[j], txns.Fees[i] + txns.Hashes[i], txns.Hashes[j] = txns.Hashes[j], txns.Hashes[i] +} + +// VerifyTransactionCoinsSpending checks that coins are not destroyed or created by the transaction +func VerifyTransactionCoinsSpending(uxIn UxArray, uxOut UxArray) error { + coinsIn := uint64(0) + for i := range uxIn { + var err error + coinsIn, err = mathutil.AddUint64(coinsIn, uxIn[i].Body.Coins) + if err != nil { + return errors.New("Transaction input coins overflow") + } + } + + coinsOut := uint64(0) + for i := range uxOut { + var err error + coinsOut, err = mathutil.AddUint64(coinsOut, uxOut[i].Body.Coins) + if err != nil { + return errors.New("Transaction output coins overflow") + } + } + + if coinsIn < coinsOut { + return errors.New("Insufficient coins") + } + if coinsIn > coinsOut { + return errors.New("Transactions may not destroy coins") + } + + return nil +} + +// VerifyTransactionHoursSpending checks that hours are not created by the transaction +func VerifyTransactionHoursSpending(headTime uint64, uxIn UxArray, uxOut UxArray) error { + hoursIn := uint64(0) + for i := range uxIn { + uxHours, err := uxIn[i].CoinHours(headTime) + if err != nil { + // If the error was specifically an overflow when adding the + // earned coin hours to the base coin hours, treat the uxHours as 0. + // Block 13277 spends an input which overflows in this way, + // so the block will not sync if an error is returned. + if err == ErrAddEarnedCoinHoursAdditionOverflow { + uxHours = 0 + } else { + return err + } + } + + hoursIn, err = mathutil.AddUint64(hoursIn, uxHours) + if err != nil { + return errors.New("Transaction input hours overflow") + } + } + + hoursOut := uint64(0) + for i := range uxOut { + // NOTE: addition of hours is not checked for overflow here because + // this would invalidate existing blocks which had overflowed hours. + // Hours overflow checks are handled as a "soft" constraint in the network + // until those blocks are repaired. + hoursOut += uxOut[i].Body.Hours + } + + if hoursIn < hoursOut { + return errors.New("Insufficient coin hours") + } + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/ux_body_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/coin/ux_body_skyencoder.go new file mode 100644 index 00000000..af5fba4c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/ux_body_skyencoder.go @@ -0,0 +1,138 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package coin + +import "github.com/skycoin/skycoin/src/cipher/encoder" + +// encodeSizeUxBody computes the size of an encoded object of type UxBody +func encodeSizeUxBody(obj *UxBody) uint64 { + i0 := uint64(0) + + // obj.SrcTransaction + i0 += 32 + + // obj.Address.Version + i0++ + + // obj.Address.Key + i0 += 20 + + // obj.Coins + i0 += 8 + + // obj.Hours + i0 += 8 + + return i0 +} + +// encodeUxBody encodes an object of type UxBody to a buffer allocated to the exact size +// required to encode the object. +func encodeUxBody(obj *UxBody) ([]byte, error) { + n := encodeSizeUxBody(obj) + buf := make([]byte, n) + + if err := encodeUxBodyToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeUxBodyToBuffer encodes an object of type UxBody to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeUxBodyToBuffer(buf []byte, obj *UxBody) error { + if uint64(len(buf)) < encodeSizeUxBody(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.SrcTransaction + e.CopyBytes(obj.SrcTransaction[:]) + + // obj.Address.Version + e.Uint8(obj.Address.Version) + + // obj.Address.Key + e.CopyBytes(obj.Address.Key[:]) + + // obj.Coins + e.Uint64(obj.Coins) + + // obj.Hours + e.Uint64(obj.Hours) + + return nil +} + +// decodeUxBody decodes an object of type UxBody from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeUxBody(buf []byte, obj *UxBody) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.SrcTransaction + if len(d.Buffer) < len(obj.SrcTransaction) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.SrcTransaction[:], d.Buffer[:len(obj.SrcTransaction)]) + d.Buffer = d.Buffer[len(obj.SrcTransaction):] + } + + { + // obj.Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Address.Version = i + } + + { + // obj.Address.Key + if len(d.Buffer) < len(obj.Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Address.Key[:], d.Buffer[:len(obj.Address.Key)]) + d.Buffer = d.Buffer[len(obj.Address.Key):] + } + + { + // obj.Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Coins = i + } + + { + // obj.Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Hours = i + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeUxBodyExact decodes an object of type UxBody from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeUxBodyExact(buf []byte, obj *UxBody) error { + if n, err := decodeUxBody(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/coin/ux_head_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/coin/ux_head_skyencoder.go new file mode 100644 index 00000000..97547af3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/coin/ux_head_skyencoder.go @@ -0,0 +1,93 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package coin + +import "github.com/skycoin/skycoin/src/cipher/encoder" + +// encodeSizeUxHead computes the size of an encoded object of type UxHead +func encodeSizeUxHead(obj *UxHead) uint64 { + i0 := uint64(0) + + // obj.Time + i0 += 8 + + // obj.BkSeq + i0 += 8 + + return i0 +} + +// encodeUxHead encodes an object of type UxHead to a buffer allocated to the exact size +// required to encode the object. +func encodeUxHead(obj *UxHead) ([]byte, error) { + n := encodeSizeUxHead(obj) + buf := make([]byte, n) + + if err := encodeUxHeadToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeUxHeadToBuffer encodes an object of type UxHead to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeUxHeadToBuffer(buf []byte, obj *UxHead) error { + if uint64(len(buf)) < encodeSizeUxHead(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Time + e.Uint64(obj.Time) + + // obj.BkSeq + e.Uint64(obj.BkSeq) + + return nil +} + +// decodeUxHead decodes an object of type UxHead from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeUxHead(buf []byte, obj *UxHead) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Time + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Time = i + } + + { + // obj.BkSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.BkSeq = i + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeUxHeadExact decodes an object of type UxHead from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeUxHeadExact(buf []byte, obj *UxHead) error { + if n, err := decodeUxHead(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/announce_blocks_message_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/announce_blocks_message_skyencoder.go new file mode 100644 index 00000000..1a24adfe --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/announce_blocks_message_skyencoder.go @@ -0,0 +1,78 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import "github.com/skycoin/skycoin/src/cipher/encoder" + +// encodeSizeAnnounceBlocksMessage computes the size of an encoded object of type AnnounceBlocksMessage +func encodeSizeAnnounceBlocksMessage(obj *AnnounceBlocksMessage) uint64 { + i0 := uint64(0) + + // obj.MaxBkSeq + i0 += 8 + + return i0 +} + +// encodeAnnounceBlocksMessage encodes an object of type AnnounceBlocksMessage to a buffer allocated to the exact size +// required to encode the object. +func encodeAnnounceBlocksMessage(obj *AnnounceBlocksMessage) ([]byte, error) { + n := encodeSizeAnnounceBlocksMessage(obj) + buf := make([]byte, n) + + if err := encodeAnnounceBlocksMessageToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeAnnounceBlocksMessageToBuffer encodes an object of type AnnounceBlocksMessage to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeAnnounceBlocksMessageToBuffer(buf []byte, obj *AnnounceBlocksMessage) error { + if uint64(len(buf)) < encodeSizeAnnounceBlocksMessage(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.MaxBkSeq + e.Uint64(obj.MaxBkSeq) + + return nil +} + +// decodeAnnounceBlocksMessage decodes an object of type AnnounceBlocksMessage from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeAnnounceBlocksMessage(buf []byte, obj *AnnounceBlocksMessage) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.MaxBkSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.MaxBkSeq = i + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeAnnounceBlocksMessageExact decodes an object of type AnnounceBlocksMessage from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeAnnounceBlocksMessageExact(buf []byte, obj *AnnounceBlocksMessage) error { + if n, err := decodeAnnounceBlocksMessage(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/announce_txns_message_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/announce_txns_message_skyencoder.go new file mode 100644 index 00000000..826b5a81 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/announce_txns_message_skyencoder.go @@ -0,0 +1,135 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeAnnounceTxnsMessage computes the size of an encoded object of type AnnounceTxnsMessage +func encodeSizeAnnounceTxnsMessage(obj *AnnounceTxnsMessage) uint64 { + i0 := uint64(0) + + // obj.Transactions + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 32 + + i0 += uint64(len(obj.Transactions)) * i1 + } + + return i0 +} + +// encodeAnnounceTxnsMessage encodes an object of type AnnounceTxnsMessage to a buffer allocated to the exact size +// required to encode the object. +func encodeAnnounceTxnsMessage(obj *AnnounceTxnsMessage) ([]byte, error) { + n := encodeSizeAnnounceTxnsMessage(obj) + buf := make([]byte, n) + + if err := encodeAnnounceTxnsMessageToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeAnnounceTxnsMessageToBuffer encodes an object of type AnnounceTxnsMessage to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeAnnounceTxnsMessageToBuffer(buf []byte, obj *AnnounceTxnsMessage) error { + if uint64(len(buf)) < encodeSizeAnnounceTxnsMessage(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Transactions maxlen check + if len(obj.Transactions) > 256 { + return encoder.ErrMaxLenExceeded + } + + // obj.Transactions length check + if uint64(len(obj.Transactions)) > math.MaxUint32 { + return errors.New("obj.Transactions length exceeds math.MaxUint32") + } + + // obj.Transactions length + e.Uint32(uint32(len(obj.Transactions))) + + // obj.Transactions + for _, x := range obj.Transactions { + + // x + e.CopyBytes(x[:]) + + } + + return nil +} + +// decodeAnnounceTxnsMessage decodes an object of type AnnounceTxnsMessage from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeAnnounceTxnsMessage(buf []byte, obj *AnnounceTxnsMessage) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Transactions + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 256 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions = make([]cipher.SHA256, length) + + for z1 := range obj.Transactions { + { + // obj.Transactions[z1] + if len(d.Buffer) < len(obj.Transactions[z1]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1][:], d.Buffer[:len(obj.Transactions[z1])]) + d.Buffer = d.Buffer[len(obj.Transactions[z1]):] + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeAnnounceTxnsMessageExact decodes an object of type AnnounceTxnsMessage from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeAnnounceTxnsMessageExact(buf []byte, obj *AnnounceTxnsMessage) error { + if n, err := decodeAnnounceTxnsMessage(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/announced_txns.go b/vendor/github.com/skycoin/skycoin/src/daemon/announced_txns.go new file mode 100644 index 00000000..b6ca110f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/announced_txns.go @@ -0,0 +1,44 @@ +package daemon + +import ( + "sync" + "time" + + "github.com/skycoin/skycoin/src/cipher" +) + +type announcedTxnsCache struct { + sync.Mutex + cache map[cipher.SHA256]int64 +} + +func newAnnouncedTxnsCache() *announcedTxnsCache { + return &announcedTxnsCache{ + cache: make(map[cipher.SHA256]int64), + } +} + +func (c *announcedTxnsCache) add(txns []cipher.SHA256) { + c.Lock() + defer c.Unlock() + + t := time.Now().UTC().UnixNano() + for _, txn := range txns { + c.cache[txn] = t + } +} + +func (c *announcedTxnsCache) flush() map[cipher.SHA256]int64 { + c.Lock() + defer c.Unlock() + + if len(c.cache) == 0 { + return nil + } + + cache := c.cache + + c.cache = make(map[cipher.SHA256]int64) + + return cache +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/connections.go b/vendor/github.com/skycoin/skycoin/src/daemon/connections.go new file mode 100644 index 00000000..cdb5735e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/connections.go @@ -0,0 +1,554 @@ +package daemon + +import ( + "errors" + "fmt" + "sync" + "time" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/iputil" + "github.com/skycoin/skycoin/src/util/useragent" +) + +// ConnectionState connection state in the state machine +// Connections have three states: "pending", "connected" and "introduced" +// A connection in the "pending" state has been selected to establish a TCP connection, +// but the connection has not been established yet. +// Only outgoing connections will ever be in the "pending" state; +// incoming connections begin at the "connected" state. +// A connection in the "connected" state has established a TCP connection, +// but has not completed the introduction handshake. +// A connection in the "introduced" state has completed the introduction handshake. +type ConnectionState string + +const ( + // ConnectionStatePending prior to establishing a connection + ConnectionStatePending ConnectionState = "pending" + // ConnectionStateConnected connected, but not introduced + ConnectionStateConnected ConnectionState = "connected" + // ConnectionStateIntroduced connection has introduced itself + ConnectionStateIntroduced ConnectionState = "introduced" +) + +var ( + // ErrConnectionNotExist connection does not exist when performing an operation that requires it to exist + ErrConnectionNotExist = errors.New("Connection does not exist") + // ErrConnectionExists connection exists in Connections + ErrConnectionExists = errors.New("Connection exists") + // ErrConnectionIPMirrorExists connection exists for a given base IP and mirror + ErrConnectionIPMirrorExists = errors.New("Connection exists with this base IP and mirror") + // ErrConnectionStateNotConnected connect state is not "connected" + ErrConnectionStateNotConnected = errors.New("Connection state is not \"connected\"") + // ErrConnectionGnetIDMismatch gnet ID in argument does not match gnet ID on record + ErrConnectionGnetIDMismatch = errors.New("Connection gnet ID does not match") + // ErrConnectionAlreadyIntroduced attempted to make invalid state transition from introduced state + ErrConnectionAlreadyIntroduced = errors.New("Connection is already in introduced state") + // ErrConnectionAlreadyConnected attempted to make invalid state transition from connected state + ErrConnectionAlreadyConnected = errors.New("Connection is already in connected state") + // ErrInvalidGnetID invalid gnet ID value used as argument + ErrInvalidGnetID = errors.New("Invalid gnet ID") +) + +// ConnectionDetails connection data managed by daemon +type ConnectionDetails struct { + State ConnectionState + Outgoing bool + ConnectedAt time.Time + Mirror uint32 + ListenPort uint16 + ProtocolVersion int32 + Height uint64 + UserAgent useragent.Data + UnconfirmedVerifyTxn params.VerifyTxn + GenesisHash cipher.SHA256 +} + +// HasIntroduced returns true if the connection has introduced +func (c ConnectionDetails) HasIntroduced() bool { + switch c.State { + case ConnectionStateIntroduced: + return true + default: + return false + } +} + +type connection struct { + Addr string + ConnectionDetails + gnetID uint64 +} + +// ListenAddr returns the addr that connection listens on, if available +func (c *connection) ListenAddr() string { + if c.ListenPort == 0 { + return "" + } + + ip, _, err := iputil.SplitAddr(c.Addr) + if err != nil { + logger.Critical().WithError(err).WithField("addr", c.Addr).Error("connection.ListenAddr addr could not be split") + return "" + } + + return fmt.Sprintf("%s:%d", ip, c.ListenPort) +} + +// Connections manages a collection of Connection +type Connections struct { + conns map[string]*connection + mirrors map[uint32]map[string]uint16 + ipCounts map[string]int + gnetIDs map[uint64]string + listenAddrs map[string][]string + sync.Mutex +} + +// NewConnections creates Connections +func NewConnections() *Connections { + return &Connections{ + conns: make(map[string]*connection, 32), + mirrors: make(map[uint32]map[string]uint16, 32), + ipCounts: make(map[string]int, 32), + gnetIDs: make(map[uint64]string, 32), + listenAddrs: make(map[string][]string, 32), + } +} + +// pending adds a new pending outgoing connection +func (c *Connections) pending(addr string) (*connection, error) { + c.Lock() + defer c.Unlock() + + ip, port, err := iputil.SplitAddr(addr) + if err != nil { + logger.Critical().WithField("addr", addr).WithError(err).Error("Connections.pending called with invalid addr") + return nil, err + } + + if _, ok := c.conns[addr]; ok { + return nil, ErrConnectionExists + } + + c.ipCounts[ip]++ + + conn := &connection{ + Addr: addr, + ConnectionDetails: ConnectionDetails{ + State: ConnectionStatePending, + Outgoing: true, + ListenPort: port, + }, + } + + c.conns[addr] = conn + c.listenAddrs[addr] = append(c.listenAddrs[addr], addr) + + logger.WithField("addr", addr).Debug("Connections.pending") + + return c.conns[addr], nil +} + +// connected the connection has connected +func (c *Connections) connected(addr string, gnetID uint64) (*connection, error) { + c.Lock() + defer c.Unlock() + + fields := logrus.Fields{ + "addr": addr, + "gnetID": gnetID, + } + + if gnetID == 0 { + logger.Critical().WithFields(fields).WithError(ErrInvalidGnetID).Error("Connections.connected called with invalid gnetID") + return nil, ErrInvalidGnetID + } + + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Critical().WithFields(fields).WithError(err).Error("Connections.connected called with invalid addr") + return nil, err + } + + conn := c.conns[addr] + + if conn == nil { + c.ipCounts[ip]++ + + conn = &connection{ + Addr: addr, + } + + c.conns[addr] = conn + } else { + fields := logrus.Fields{ + "addr": addr, + "gnetID": gnetID, + "state": conn.State, + "outgoing": conn.Outgoing, + "connGnetID": conn.gnetID, + } + + switch conn.State { + case ConnectionStatePending: + case ConnectionStateConnected: + logger.Critical().WithFields(fields).Error("Connections.connected called on already connected connection") + return nil, ErrConnectionAlreadyConnected + case ConnectionStateIntroduced: + logger.Critical().WithFields(fields).Error("Connections.connected called on already introduced connection") + return nil, ErrConnectionAlreadyIntroduced + default: + logger.WithFields(fields).Panic("Connection state invalid") + } + } + + c.gnetIDs[gnetID] = addr + conn.gnetID = gnetID + conn.ConnectedAt = time.Now().UTC() + conn.State = ConnectionStateConnected + + fields["outgoing"] = conn.Outgoing + + logger.WithFields(fields).Debug("Connections.connected") + + return conn, nil +} + +// introduced the connection has introduced itself +func (c *Connections) introduced(addr string, gnetID uint64, m *IntroductionMessage) (*connection, error) { + c.Lock() + defer c.Unlock() + + fields := logrus.Fields{ + "addr": addr, + "gnetID": gnetID, + } + + if gnetID == 0 { + logger.Critical().WithFields(fields).WithError(ErrInvalidGnetID).Error("Connections.introduced called with invalid gnetID") + return nil, ErrInvalidGnetID + } + + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Critical().WithFields(fields).WithError(err).Error("Connections.introduced called with invalid addr") + return nil, err + } + + conn := c.conns[addr] + if conn == nil { + return nil, ErrConnectionNotExist + } + + fields["outgoing"] = conn.Outgoing + + errorFields := logrus.Fields{ + "state": conn.State, + "connGnetID": conn.gnetID, + } + + switch conn.State { + case ConnectionStatePending: + logger.Critical().WithFields(fields).WithFields(errorFields).Error("Connections.introduced called on pending connection") + return nil, ErrConnectionStateNotConnected + case ConnectionStateConnected: + if gnetID != conn.gnetID { + logger.Critical().WithFields(fields).WithFields(errorFields).Error("Connections.introduced called with different gnet ID") + return nil, ErrConnectionGnetIDMismatch + } + case ConnectionStateIntroduced: + logger.Critical().WithFields(fields).WithFields(errorFields).Error("Connections.introduced called on already introduced connection") + return nil, ErrConnectionAlreadyIntroduced + default: + logger.WithFields(fields).WithFields(errorFields).Panic("invalid connection state") + } + + if err := c.canUpdateMirror(ip, m.Mirror); err != nil { + logger.WithFields(fields).WithFields(errorFields).WithField("mirror", m.Mirror).WithError(err).Debug("canUpdateMirror failed") + return nil, err + } + + // For outgoing connections, which are created by pending, + // the listen port is set from the addr's port number. + // Since we are connecting to it, it is presumed to be that peer's open listening port. + // A misbehaving peer could report a different ListenPort in their IntroductionMessage, + // but it shouldn't affect our records. + if conn.Outgoing && conn.ListenPort != m.ListenPort { + logger.Critical().WithFields(fields).WithFields(logrus.Fields{ + "connListenPort": conn.ListenPort, + "introListenPort": m.ListenPort, + }).Warning("Outgoing connection's ListenPort does not match reported IntroductionMessage ListenPort") + } + + listenPort := conn.ListenPort + if !conn.Outgoing { + listenPort = m.ListenPort + } + + if err := c.updateMirror(ip, m.Mirror, listenPort); err != nil { + logger.WithFields(fields).WithField("mirror", m.Mirror).WithError(err).Panic("updateMirror failed, but shouldn't") + } + + conn.State = ConnectionStateIntroduced + conn.Mirror = m.Mirror + conn.ProtocolVersion = m.ProtocolVersion + conn.ListenPort = listenPort + conn.UserAgent = m.UserAgent + conn.UnconfirmedVerifyTxn = m.UnconfirmedVerifyTxn + conn.GenesisHash = m.GenesisHash + + if !conn.Outgoing { + listenAddr := conn.ListenAddr() + c.listenAddrs[listenAddr] = append(c.listenAddrs[listenAddr], addr) + } + + logger.WithFields(fields).Debug("Connections.introduced") + + return conn, nil +} + +// get returns a connection by address +func (c *Connections) get(addr string) *connection { + c.Lock() + defer c.Unlock() + + return c.conns[addr] +} + +func (c *Connections) getByListenAddr(listenAddr string) []*connection { + c.Lock() + defer c.Unlock() + + addrs := c.listenAddrs[listenAddr] + if len(addrs) == 0 { + return nil + } + + conns := make([]*connection, len(addrs)) + for i, a := range addrs { + conns[i] = c.conns[a] + } + + return conns +} + +func (c *Connections) getByGnetID(gnetID uint64) *connection { + c.Lock() + defer c.Unlock() + + if gnetID == 0 { + return nil + } + + addr := c.gnetIDs[gnetID] + if addr == "" { + return nil + } + + return c.conns[addr] +} + +// modify modifies a connection. +// It is unsafe to modify the Mirror value with this method +func (c *Connections) modify(addr string, gnetID uint64, f func(c *ConnectionDetails)) error { + conn := c.conns[addr] + if conn == nil { + return ErrConnectionNotExist + } + + if conn.gnetID != gnetID { + return ErrConnectionGnetIDMismatch + } + + // copy and modify + cd := conn.ConnectionDetails + + f(&cd) + + // compare to original + if cd.Mirror != conn.ConnectionDetails.Mirror { + logger.WithFields(logrus.Fields{ + "addr": addr, + "gnetID": gnetID, + }).Panic("Connections.modify connection Mirror was changed") + } + + if cd.ListenPort != conn.ConnectionDetails.ListenPort { + logger.WithFields(logrus.Fields{ + "addr": addr, + "gnetID": gnetID, + }).Panic("Connections.modify connection ListenPort was changed") + } + + conn.ConnectionDetails = cd + + return nil +} + +// SetHeight sets the height for a connection +func (c *Connections) SetHeight(addr string, gnetID uint64, height uint64) error { + c.Lock() + defer c.Unlock() + + return c.modify(addr, gnetID, func(c *ConnectionDetails) { + c.Height = height + }) +} + +func (c *Connections) updateMirror(ip string, mirror uint32, port uint16) error { + x := c.mirrors[mirror] + if x == nil { + x = make(map[string]uint16, 2) + } + + if _, ok := x[ip]; ok { + return ErrConnectionIPMirrorExists + } + + x[ip] = port + c.mirrors[mirror] = x + + return nil +} + +// canUpdateMirror returns false if a connection already exists with the same base IP and mirror value. +// This prevents duplicate connections to/from a single client. +func (c *Connections) canUpdateMirror(ip string, mirror uint32) error { + x := c.mirrors[mirror] + if x == nil { + return nil + } + + if _, ok := x[ip]; ok { + return ErrConnectionIPMirrorExists + } + + return nil +} + +// IPCount returns the number of connections for a given base IP (without port) +func (c *Connections) IPCount(ip string) int { + c.Lock() + defer c.Unlock() + return c.ipCounts[ip] +} + +// Len returns number of connections +func (c *Connections) Len() int { + c.Lock() + defer c.Unlock() + return len(c.conns) +} + +// OutgoingLen returns number of outgoing connections +func (c *Connections) OutgoingLen() int { + c.Lock() + defer c.Unlock() + n := 0 + for _, conn := range c.conns { + if conn.Outgoing { + n++ + } + } + return n +} + +// PendingLen returns the number of status pending connections +func (c *Connections) PendingLen() int { + c.Lock() + defer c.Unlock() + n := 0 + for _, conn := range c.conns { + if conn.State == ConnectionStatePending { + n++ + } + } + return n +} + +// remove removes connection. Returns an error if the addr is invalid. +// If a connection with this address does not exist, nothing happens. +func (c *Connections) remove(addr string, gnetID uint64) error { + c.Lock() + defer c.Unlock() + + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Critical().WithError(err).Error("Connections.remove called with invalid addr") + return err + } + + conn := c.conns[addr] + if conn == nil { + return ErrConnectionNotExist + } + + fields := logrus.Fields{ + "addr": addr, + "connGnetID": conn.gnetID, + "gnetID": gnetID, + "listenPort": conn.ListenPort, + } + + if conn.gnetID != gnetID { + logger.Critical().WithFields(fields).Warning("Connections.remove gnetID does not match") + return ErrConnectionGnetIDMismatch + } + + x, ok := c.mirrors[conn.Mirror] + if ok { + if x[ip] != conn.ListenPort { + logger.Critical().WithFields(fields).Warning("Indexed IP+Mirror value found but the ListenPort doesn't match") + } + + delete(x, ip) + } + + if len(x) == 0 { + delete(c.mirrors, conn.Mirror) + } + + if c.ipCounts[ip] > 0 { + c.ipCounts[ip]-- + } else { + logger.Critical().WithFields(fields).Warning("ipCount was already 0 when removing existing address") + } + + listenAddr := conn.ListenAddr() + if listenAddr != "" { + addrs := c.listenAddrs[listenAddr] + for i, a := range addrs { + if a == conn.Addr { + addrs = append(addrs[:i], addrs[i+1:]...) + break + } + } + if len(addrs) == 0 { + delete(c.listenAddrs, listenAddr) + } else { + c.listenAddrs[listenAddr] = addrs + } + } + + delete(c.gnetIDs, conn.gnetID) + delete(c.conns, addr) + + return nil +} + +// all returns a copy of all connections +func (c *Connections) all() []connection { + c.Lock() + defer c.Unlock() + + conns := make([]connection, 0, len(c.conns)) + for _, c := range c.conns { + conns = append(conns, *c) + } + + return conns +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/daemon.go b/vendor/github.com/skycoin/skycoin/src/daemon/daemon.go new file mode 100644 index 00000000..9a5c9abc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/daemon.go @@ -0,0 +1,1798 @@ +/* +Package daemon controls the networking layer of the skycoin daemon +*/ +package daemon + +import ( + "errors" + "fmt" + "math/rand" + "reflect" + "sort" + "strings" + "sync" + "time" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon/gnet" + "github.com/skycoin/skycoin/src/daemon/pex" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/elapse" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/util/iputil" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/useragent" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // ErrNetworkingDisabled is returned if networking is disabled + ErrNetworkingDisabled = errors.New("Networking is disabled") + // ErrNoPeerAcceptsTxn is returned if no peer will propagate a transaction broadcasted with BroadcastUserTransaction + ErrNoPeerAcceptsTxn = errors.New("No peer will propagate this transaction") + + logger = logging.MustGetLogger("daemon") +) + +// IsBroadcastFailure returns true if an error indicates that a broadcast operation failed +func IsBroadcastFailure(err error) bool { + switch err { + case ErrNetworkingDisabled, + gnet.ErrPoolEmpty, + gnet.ErrNoMatchingConnections, + gnet.ErrNoReachableConnections, + gnet.ErrNoAddresses: + return true + default: + return false + } +} + +const ( + daemonRunDurationThreshold = time.Millisecond * 200 +) + +// Config subsystem configurations +type Config struct { + Daemon DaemonConfig + Messages MessagesConfig + Pool PoolConfig + Pex pex.Config +} + +// NewConfig returns a Config with defaults set +func NewConfig() Config { + return Config{ + Daemon: NewDaemonConfig(), + Pool: NewPoolConfig(), + Pex: pex.NewConfig(), + Messages: NewMessagesConfig(), + } +} + +// preprocess preprocess for config +func (cfg *Config) preprocess() (Config, error) { + config := *cfg + if config.Daemon.LocalhostOnly { + if config.Daemon.Address == "" { + local, err := iputil.LocalhostIP() + if err != nil { + logger.WithError(err).Panic("Failed to obtain localhost IP") + } + config.Daemon.Address = local + } else { + if !iputil.IsLocalhost(config.Daemon.Address) { + logger.WithField("addr", config.Daemon.Address).Panic("Invalid address for localhost-only") + } + } + config.Pex.AllowLocalhost = true + } + config.Pool.port = config.Daemon.Port + config.Pool.address = config.Daemon.Address + + if config.Daemon.DisableNetworking { + logger.Info("Networking is disabled") + config.Pex.Disabled = true + config.Daemon.DisableIncomingConnections = true + config.Daemon.DisableOutgoingConnections = true + } else { + if config.Daemon.DisableIncomingConnections { + logger.Info("Incoming connections are disabled.") + } + if config.Daemon.DisableOutgoingConnections { + logger.Info("Outgoing connections are disabled.") + } + } + + if config.Daemon.MaxConnections < config.Daemon.MaxOutgoingConnections { + return Config{}, errors.New("MaxOutgoingConnections cannot be more than MaxConnections") + } + + if config.Daemon.MaxPendingConnections > config.Daemon.MaxOutgoingConnections { + config.Daemon.MaxPendingConnections = config.Daemon.MaxOutgoingConnections + } + + config.Pool.MaxConnections = config.Daemon.MaxConnections + config.Pool.MaxOutgoingConnections = config.Daemon.MaxOutgoingConnections + config.Pool.MaxIncomingMessageLength = int(config.Daemon.MaxIncomingMessageLength) + config.Pool.MaxOutgoingMessageLength = int(config.Daemon.MaxOutgoingMessageLength) + + // MaxOutgoingMessageLength must be able to fit a GiveBlocksMessage with at least one maximum-sized block, + // otherwise it cannot send certain blocks. + // Blocks are the largest object sent over the network, so MaxBlockTransactionsSize is used as an upper limit + maxSizeGBM := maxSizeGiveBlocksMessage(config.Daemon.MaxBlockTransactionsSize) + if config.Daemon.MaxOutgoingMessageLength < maxSizeGBM { + return Config{}, fmt.Errorf("MaxOutgoingMessageLength must be >= %d", maxSizeGBM) + } + + userAgent, err := config.Daemon.UserAgent.Build() + if err != nil { + return Config{}, err + } + if userAgent == "" { + return Config{}, errors.New("user agent is required") + } + config.Daemon.userAgent = userAgent + + return config, nil +} + +// maxSizeGiveBlocksMessage return the encoded size of a GiveBlocksMessage +// with a single signed block of the largest possible size +func maxSizeGiveBlocksMessage(maxBlockSize uint32) uint64 { + size := uint64(4) // message type prefix + size += encodeSizeGiveBlocksMessage(&GiveBlocksMessage{}) // size of an empty GiveBlocksMessage + size += encodeSizeSignedBlock(&coin.SignedBlock{}) // size of an empty SignedBlock + size += uint64(maxBlockSize) // maximum size of all transactions in a block + return size +} + +// DaemonConfig configuration for the Daemon +type DaemonConfig struct { //nolint:golint + // Protocol version. TODO -- manage version better + ProtocolVersion int32 + // Minimum accepted protocol version + MinProtocolVersion int32 + // IP Address to serve on. Leave empty for automatic assignment + Address string + // BlockchainPubkey blockchain pubkey string + BlockchainPubkey cipher.PubKey + // GenesisHash genesis block hash + GenesisHash cipher.SHA256 + // TCP/UDP port for connections + Port int + // Directory where application data is stored + DataDirectory string + // How often to check and initiate an outgoing connection to a trusted connection if needed + OutgoingTrustedRate time.Duration + // How often to check and initiate an outgoing connection if needed + OutgoingRate time.Duration + // How often to re-attempt to fill any missing private (aka required) connections + PrivateRate time.Duration + // Maximum number of connections + MaxConnections int + // Number of outgoing connections to maintain + MaxOutgoingConnections int + // Maximum number of connections to try at once + MaxPendingConnections int + // How long to wait for a version packet + IntroductionWait time.Duration + // How often to check for peers that have decided to stop communicating + CullInvalidRate time.Duration + // How often to update the database with transaction announcement timestamps + FlushAnnouncedTxnsRate time.Duration + // How many connections are allowed from the same base IP + IPCountsMax int + // Disable all networking activity + DisableNetworking bool + // Don't make outgoing connections + DisableOutgoingConnections bool + // Don't allow incoming connections + DisableIncomingConnections bool + // Run on localhost and only connect to localhost peers + LocalhostOnly bool + // Log ping and pong messages + LogPings bool + // How often to request blocks from peers + BlocksRequestRate time.Duration + // How often to announce our blocks to peers + BlocksAnnounceRate time.Duration + // How many blocks to request in a GetBlocksMessage + GetBlocksRequestCount uint64 + // Maximum number of blocks to respond with to a GetBlocksMessage + MaxGetBlocksResponseCount uint64 + // Max announce txns hash number + MaxTxnAnnounceNum int + // How often new blocks are created by the signing node, in seconds + BlockCreationInterval uint64 + // How often to check the unconfirmed pool for transactions that become valid + UnconfirmedRefreshRate time.Duration + // How often to remove transactions that become permanently invalid from the unconfirmed pool + UnconfirmedRemoveInvalidRate time.Duration + // Default "trusted" peers + DefaultConnections []string + // User agent (sent in introduction messages) + UserAgent useragent.Data + userAgent string // parsed from UserAgent in preprocess() + // Transaction verification parameters for unconfirmed transactions + UnconfirmedVerifyTxn params.VerifyTxn + // Random nonce value for detecting self-connection in introduction messages + Mirror uint32 + // Maximum size of incoming messages + MaxIncomingMessageLength uint64 + // Maximum size of incoming messages + MaxOutgoingMessageLength uint64 + // Maximum total size of transactions in a block + MaxBlockTransactionsSize uint32 +} + +// NewDaemonConfig creates daemon config +func NewDaemonConfig() DaemonConfig { + return DaemonConfig{ + ProtocolVersion: 2, + MinProtocolVersion: 2, + Address: "", + Port: 6677, + OutgoingRate: time.Second * 5, + OutgoingTrustedRate: time.Millisecond * 100, + PrivateRate: time.Second * 5, + MaxConnections: 128, + MaxOutgoingConnections: 8, + MaxPendingConnections: 8, + IntroductionWait: time.Second * 30, + CullInvalidRate: time.Second * 3, + FlushAnnouncedTxnsRate: time.Second * 3, + IPCountsMax: 3, + DisableNetworking: false, + DisableOutgoingConnections: false, + DisableIncomingConnections: false, + LocalhostOnly: false, + LogPings: true, + BlocksRequestRate: time.Second * 60, + BlocksAnnounceRate: time.Second * 60, + GetBlocksRequestCount: 20, + MaxGetBlocksResponseCount: 20, + MaxTxnAnnounceNum: 16, + BlockCreationInterval: 10, + UnconfirmedRefreshRate: time.Minute, + UnconfirmedRemoveInvalidRate: time.Minute, + Mirror: rand.New(rand.NewSource(time.Now().UTC().UnixNano())).Uint32(), + UnconfirmedVerifyTxn: params.UserVerifyTxn, + MaxOutgoingMessageLength: 256 * 1024, + MaxIncomingMessageLength: 1024 * 1024, + MaxBlockTransactionsSize: 32768, + } +} + +//go:generate mockery -name daemoner -case underscore -inpkg -testonly + +// daemoner Daemon interface +type daemoner interface { + Disconnect(addr string, r gnet.DisconnectReason) error + DaemonConfig() DaemonConfig + sendMessage(addr string, msg gnet.Message) error + broadcastMessage(msg gnet.Message) ([]uint64, error) + disconnectNow(addr string, r gnet.DisconnectReason) error + addPeers(addrs []string) int + recordPeerHeight(addr string, gnetID, height uint64) + getSignedBlocksSince(seq, count uint64) ([]coin.SignedBlock, error) + headBkSeq() (uint64, bool, error) + executeSignedBlock(b coin.SignedBlock) error + filterKnownUnconfirmed(txns []cipher.SHA256) ([]cipher.SHA256, error) + getKnownUnconfirmed(txns []cipher.SHA256) (coin.Transactions, error) + requestBlocksFromAddr(addr string) error + announceAllValidTxns() error + pexConfig() pex.Config + injectTransaction(txn coin.Transaction) (bool, *visor.ErrTxnViolatesSoftConstraint, error) + recordMessageEvent(m asyncMessage, c *gnet.MessageContext) error + connectionIntroduced(addr string, gnetID uint64, m *IntroductionMessage) (*connection, error) + sendRandomPeers(addr string) error +} + +// Daemon stateful properties of the daemon +type Daemon struct { + // Daemon configuration + config DaemonConfig + + // Components + Messages *Messages + pool *Pool + pex *pex.Pex + visor *visor.Visor + + // Cache of announced transactions that are flushed to the database periodically + announcedTxns *announcedTxnsCache + // Cache of connection metadata + connections *Connections + // connect, disconnect, message, error events channel + events chan interface{} + // quit channel + quit chan struct{} + // done channel + done chan struct{} +} + +// New returns a Daemon with primitives allocated +func New(config Config, v *visor.Visor) (*Daemon, error) { + config, err := config.preprocess() + if err != nil { + return nil, err + } + + pex, err := pex.New(config.Pex) + if err != nil { + return nil, err + } + + d := &Daemon{ + config: config.Daemon, + Messages: NewMessages(config.Messages), + pex: pex, + visor: v, + + announcedTxns: newAnnouncedTxnsCache(), + connections: NewConnections(), + events: make(chan interface{}, config.Pool.EventChannelSize), + quit: make(chan struct{}), + done: make(chan struct{}), + } + + d.pool, err = NewPool(config.Pool, d) + if err != nil { + return nil, err + } + + d.Messages.Config.Register() + + return d, nil +} + +// ConnectEvent generated when a client connects +type ConnectEvent struct { + GnetID uint64 + Addr string + Solicited bool +} + +// DisconnectEvent generated when a connection terminated +type DisconnectEvent struct { + GnetID uint64 + Addr string + Reason gnet.DisconnectReason +} + +// ConnectFailureEvent represent a failure to connect/dial a connection, with context +type ConnectFailureEvent struct { + Addr string + Solicited bool + Error error +} + +// messageEvent encapsulates a deserialized message from the network +type messageEvent struct { + Message asyncMessage + Context *gnet.MessageContext +} + +// Shutdown terminates all subsystems safely +func (dm *Daemon) Shutdown() { + defer logger.Info("Daemon shutdown complete") + + // close daemon run loop first to avoid creating new connection after + // the connection pool is shutdown. + logger.Info("Stopping the daemon run loop") + close(dm.quit) + + logger.Info("Shutting down Pool") + dm.pool.Shutdown() + + logger.Info("Shutting down Pex") + dm.pex.Shutdown() + + <-dm.done +} + +// Run main loop for peer/connection management +func (dm *Daemon) Run() error { + defer logger.Info("Daemon closed") + defer close(dm.done) + + logger.Infof("Daemon UserAgent is %s", dm.config.userAgent) + logger.Infof("Daemon unconfirmed BurnFactor is %d", dm.config.UnconfirmedVerifyTxn.BurnFactor) + logger.Infof("Daemon unconfirmed MaxTransactionSize is %d", dm.config.UnconfirmedVerifyTxn.MaxTransactionSize) + logger.Infof("Daemon unconfirmed MaxDropletPrecision is %d", dm.config.UnconfirmedVerifyTxn.MaxDropletPrecision) + + errC := make(chan error, 5) + var wg sync.WaitGroup + + wg.Add(1) + go func() { + defer wg.Done() + if err := dm.pex.Run(); err != nil { + logger.WithError(err).Error("daemon.Pex.Run failed") + errC <- err + } + }() + + wg.Add(1) + go func() { + defer wg.Done() + if dm.config.DisableIncomingConnections { + if err := dm.pool.RunOffline(); err != nil { + logger.WithError(err).Error("daemon.Pool.RunOffline failed") + errC <- err + } + } else { + if err := dm.pool.Run(); err != nil { + logger.WithError(err).Error("daemon.Pool.Run failed") + errC <- err + } + } + }() + + blockInterval := time.Duration(dm.config.BlockCreationInterval) + blockCreationTicker := time.NewTicker(time.Second * blockInterval) + if !dm.visor.Config.IsBlockPublisher { + blockCreationTicker.Stop() + } + + unconfirmedRefreshTicker := time.NewTicker(dm.config.UnconfirmedRefreshRate) + defer unconfirmedRefreshTicker.Stop() + unconfirmedRemoveInvalidTicker := time.NewTicker(dm.config.UnconfirmedRemoveInvalidRate) + defer unconfirmedRemoveInvalidTicker.Stop() + blocksRequestTicker := time.NewTicker(dm.config.BlocksRequestRate) + defer blocksRequestTicker.Stop() + blocksAnnounceTicker := time.NewTicker(dm.config.BlocksAnnounceRate) + defer blocksAnnounceTicker.Stop() + + // outgoingTrustedConnectionsTicker is used to maintain at least one connection to a trusted peer. + // This may be configured at a very frequent rate, so if no trusted connections could be reached, + // there could be a lot of churn. + // The additional outgoingTrustedConnectionsTicker parameters are used to + // skip ticks of the outgoingTrustedConnectionsTicker in the event of total failure. + // outgoingTrustedConnectionsTickerSkipDuration is the minimum time to wait between + // ticks in the event of total failure. + outgoingTrustedConnectionsTicker := time.NewTicker(dm.config.OutgoingTrustedRate) + defer outgoingTrustedConnectionsTicker.Stop() + outgoingTrustedConnectionsTickerSkipDuration := time.Second * 5 + outgoingTrustedConnectionsTickerSkip := false + var outgoingTrustedConnectionsTickerSkipStart time.Time + + privateConnectionsTicker := time.NewTicker(dm.config.PrivateRate) + defer privateConnectionsTicker.Stop() + cullInvalidTicker := time.NewTicker(dm.config.CullInvalidRate) + defer cullInvalidTicker.Stop() + outgoingConnectionsTicker := time.NewTicker(dm.config.OutgoingRate) + defer outgoingConnectionsTicker.Stop() + requestPeersTicker := time.NewTicker(dm.pex.Config.RequestRate) + defer requestPeersTicker.Stop() + clearStaleConnectionsTicker := time.NewTicker(dm.pool.Config.ClearStaleRate) + defer clearStaleConnectionsTicker.Stop() + idleCheckTicker := time.NewTicker(dm.pool.Config.IdleCheckRate) + defer idleCheckTicker.Stop() + + flushAnnouncedTxnsTicker := time.NewTicker(dm.config.FlushAnnouncedTxnsRate) + defer flushAnnouncedTxnsTicker.Stop() + + // Connect to all trusted peers on startup to try to ensure a connection establishes quickly. + // The number of connections to default peers is restricted; + // if multiple connections succeed, extra connections beyond the limit will be disconnected. + if !dm.config.DisableOutgoingConnections { + wg.Add(1) + go func() { + defer wg.Done() + dm.connectToTrustedPeers() + }() + } + + var setupErr error + elapser := elapse.NewElapser(daemonRunDurationThreshold, logger) + + // Process SendResults in a separate goroutine, otherwise SendResults + // will fill up much faster than can be processed by the daemon run loop + // dm.handleMessageSendResult must take care not to perform any operation + // that would violate thread safety, since it is not serialized by the daemon run loop + wg.Add(1) + go func() { + defer wg.Done() + elapser := elapse.NewElapser(daemonRunDurationThreshold, logger) + loop: + for { + elapser.CheckForDone() + select { + case <-dm.quit: + break loop + + case r := <-dm.pool.Pool.SendResults: + // Process message sending results + elapser.Register("dm.Pool.Pool.SendResults") + if dm.config.DisableNetworking { + logger.Error("There should be nothing in SendResults") + return + } + dm.handleMessageSendResult(r) + } + } + }() + +loop: + for { + elapser.CheckForDone() + select { + case <-dm.quit: + break loop + + case <-cullInvalidTicker.C: + // Remove connections that failed to complete the handshake + elapser.Register("cullInvalidTicker") + if !dm.config.DisableNetworking { + dm.cullInvalidConnections() + } + + case <-requestPeersTicker.C: + // Request peers via PEX + elapser.Register("requestPeersTicker") + if dm.pex.Config.Disabled { + continue + } + + if dm.pex.IsFull() { + continue + } + + m := NewGetPeersMessage() + if _, err := dm.broadcastMessage(m); err != nil { + logger.WithError(err).Error("Broadcast GetPeersMessage failed") + continue + } + + case <-clearStaleConnectionsTicker.C: + // Remove connections that haven't said anything in a while + elapser.Register("clearStaleConnectionsTicker") + if !dm.config.DisableNetworking { + conns, err := dm.pool.getStaleConnections() + if err != nil { + logger.WithError(err).Error("getStaleConnections failed") + continue + } + + for _, addr := range conns { + if err := dm.Disconnect(addr, ErrDisconnectIdle); err != nil { + logger.WithError(err).WithField("addr", addr).Error("Disconnect") + } + } + } + + case <-idleCheckTicker.C: + // Sends pings as needed + elapser.Register("idleCheckTicker") + if !dm.config.DisableNetworking { + dm.pool.sendPings() + } + + case <-outgoingConnectionsTicker.C: + // Fill up our outgoing connections + elapser.Register("outgoingConnectionsTicker") + dm.connectToRandomPeer() + + case <-outgoingTrustedConnectionsTicker.C: + // Try to maintain at least one trusted connection + elapser.Register("outgoingTrustedConnectionsTicker") + // If connecting to a trusted peer totally fails, make sure to wait longer between further attempts + if outgoingTrustedConnectionsTickerSkip { + if time.Since(outgoingTrustedConnectionsTickerSkipStart) < outgoingTrustedConnectionsTickerSkipDuration { + continue + } + } + + if err := dm.maybeConnectToTrustedPeer(); err != nil && err != ErrNetworkingDisabled { + logger.Critical().WithError(err).Error("maybeConnectToTrustedPeer") + outgoingTrustedConnectionsTickerSkip = true + outgoingTrustedConnectionsTickerSkipStart = time.Now() + } else { + outgoingTrustedConnectionsTickerSkip = false + } + + case <-privateConnectionsTicker.C: + // Always try to stay connected to our private peers + // TODO (also, connect to all of them on start) + elapser.Register("privateConnectionsTicker") + if !dm.config.DisableOutgoingConnections { + dm.makePrivateConnections() + } + + case r := <-dm.events: + elapser.Register("dm.event") + if dm.config.DisableNetworking { + logger.Critical().Error("Networking is disabled, there should be no events") + } else { + dm.handleEvent(r) + } + + case <-flushAnnouncedTxnsTicker.C: + elapser.Register("flushAnnouncedTxnsTicker") + txns := dm.announcedTxns.flush() + + if err := dm.visor.SetTransactionsAnnounced(txns); err != nil { + logger.WithError(err).Error("Failed to set unconfirmed txn announce time") + } + + case <-blockCreationTicker.C: + // Create blocks, if block publisher + elapser.Register("blockCreationTicker.C") + if dm.visor.Config.IsBlockPublisher { + sb, err := dm.createAndPublishBlock() + if err != nil { + logger.WithError(err).Error("Failed to create and publish block") + continue + } + + // Not a critical error, but we want it visible in logs + head := sb.Block.Head + logger.Critical().WithFields(logrus.Fields{ + "version": head.Version, + "seq": head.BkSeq, + "time": head.Time, + }).Info("Created and published a new block") + } + + case <-unconfirmedRefreshTicker.C: + elapser.Register("unconfirmedRefreshTicker") + // Get the transactions that turn to valid + validTxns, err := dm.visor.RefreshUnconfirmed() + if err != nil { + logger.WithError(err).Error("dm.Visor.RefreshUnconfirmed failed") + continue + } + // Announce these transactions + if err := dm.announceTxnHashes(validTxns); err != nil { + logger.WithError(err).Warning("announceTxnHashes failed") + } + + case <-unconfirmedRemoveInvalidTicker.C: + elapser.Register("unconfirmedRemoveInvalidTicker") + // Remove transactions that become invalid (violating hard constraints) + removedTxns, err := dm.visor.RemoveInvalidUnconfirmed() + if err != nil { + logger.WithError(err).Error("dm.Visor.RemoveInvalidUnconfirmed failed") + continue + } + if len(removedTxns) > 0 { + logger.Infof("Remove %d txns from pool that began violating hard constraints", len(removedTxns)) + } + + case <-blocksRequestTicker.C: + elapser.Register("blocksRequestTicker") + if err := dm.requestBlocks(); err != nil { + logger.WithError(err).Warning("requestBlocks failed") + } + + case <-blocksAnnounceTicker.C: + elapser.Register("blocksAnnounceTicker") + if err := dm.announceBlocks(); err != nil { + logger.WithError(err).Warning("announceBlocks failed") + } + + case setupErr = <-errC: + logger.WithError(setupErr).Error("read from errc") + break loop + } + } + + if setupErr != nil { + return setupErr + } + + wg.Wait() + + return nil +} + +// Connects to a given peer. Returns an error if no connection attempt was +// made. If the connection attempt itself fails, the error is sent to +// the connectionErrors channel. +func (dm *Daemon) connectToPeer(p pex.Peer) error { + if dm.config.DisableOutgoingConnections { + return errors.New("Outgoing connections disabled") + } + + a, _, err := iputil.SplitAddr(p.Addr) + if err != nil { + logger.Critical().WithField("addr", p.Addr).WithError(err).Warning("PEX gave us an invalid peer") + return errors.New("Invalid peer") + } + + if dm.config.LocalhostOnly && !iputil.IsLocalhost(a) { + return errors.New("Not localhost") + } + + if c := dm.connections.get(p.Addr); c != nil { + return errors.New("Already connected to this peer") + } + + cnt := dm.connections.IPCount(a) + if !dm.config.LocalhostOnly && cnt != 0 { + return errors.New("Already connected to a peer with this base IP") + } + + logger.WithField("addr", p.Addr).Debug("Establishing outgoing connection") + + if _, err := dm.connections.pending(p.Addr); err != nil { + logger.Critical().WithError(err).WithField("addr", p.Addr).Error("dm.connections.pending failed") + return err + } + + go func() { + if err := dm.pool.Pool.Connect(p.Addr); err != nil { + dm.events <- ConnectFailureEvent{ + Addr: p.Addr, + Solicited: true, + Error: err, + } + } + }() + return nil +} + +// Connects to all private peers +func (dm *Daemon) makePrivateConnections() { + if dm.config.DisableOutgoingConnections { + return + } + + peers := dm.pex.Private() + for _, p := range peers { + logger.WithField("addr", p.Addr).Info("Private peer attempt") + if err := dm.connectToPeer(p); err != nil { + logger.WithField("addr", p.Addr).WithError(err).Debug("Did not connect to private peer") + } + } +} + +// connectToTrustedPeers tries to connect to all trusted peers +func (dm *Daemon) connectToTrustedPeers() { + if dm.config.DisableOutgoingConnections { + return + } + + logger.Info("Connect to trusted peers") + // Make connections to all trusted peers to try to ensure a connection + // MaxDefaultPeerOutgoingConnections limits will be enforced in gnet + // after connections have been established, so not all trusted peers will be connected to. + peers := dm.pex.TrustedPublic() + for _, p := range peers { + if err := dm.connectToPeer(p); err != nil { + logger.WithError(err).WithField("addr", p.Addr).Warning("connect to trusted peer failed") + } + } +} + +// maybeConnectToTrustedPeer tries to connect to one trusted peer if there are no trusted connections +func (dm *Daemon) maybeConnectToTrustedPeer() error { + if dm.config.DisableOutgoingConnections { + return ErrNetworkingDisabled + } + + peers := dm.pex.TrustedPublic() + for _, p := range peers { + // Don't make a connection if we have a trusted peer connection + if len(dm.connections.getByListenAddr(p.Addr)) != 0 { + return nil + } + } + + connected := false + for _, p := range peers { + if err := dm.connectToPeer(p); err != nil { + logger.WithError(err).WithField("addr", p.Addr).Warning("maybeConnectToTrustedPeer: connectToPeer failed") + continue + } + connected = true + break + } + + if !connected { + return errors.New("Could not connect to any trusted peer") + } + + return nil +} + +// connectToRandomPeer attempts to connect to a random peer. If it fails, the peer is removed. +func (dm *Daemon) connectToRandomPeer() { + if dm.config.DisableOutgoingConnections { + return + } + if dm.connections.OutgoingLen() >= dm.config.MaxOutgoingConnections { + return + } + if dm.connections.PendingLen() >= dm.config.MaxPendingConnections { + return + } + if dm.connections.Len() >= dm.config.MaxConnections { + return + } + + // Make a connection to a random (public) peer + peers := dm.pex.RandomPublic(dm.config.MaxOutgoingConnections - dm.connections.OutgoingLen()) + for _, p := range peers { + if err := dm.connectToPeer(p); err != nil { + logger.WithError(err).WithField("addr", p.Addr).Warning("connectToPeer failed") + } + } + + // TODO -- don't reset if not needed? + if len(peers) == 0 { + dm.pex.ResetAllRetryTimes() + } +} + +// Removes connections who haven't sent a version after connecting +func (dm *Daemon) cullInvalidConnections() { + now := time.Now().UTC() + for _, c := range dm.connections.all() { + if c.State != ConnectionStateConnected { + continue + } + + if c.ConnectedAt.Add(dm.config.IntroductionWait).Before(now) { + logger.WithField("addr", c.Addr).Info("Disconnecting peer for not sending a version") + if err := dm.Disconnect(c.Addr, ErrDisconnectIntroductionTimeout); err != nil { + logger.WithError(err).WithField("addr", c.Addr).Error("Disconnect") + } + } + } +} + +func (dm *Daemon) isTrustedPeer(addr string) bool { + peer, ok := dm.pex.GetPeer(addr) + if !ok { + return false + } + + return peer.Trusted +} + +// recordMessageEvent records an asyncMessage to the messageEvent chan. Do not access +// messageEvent directly. +func (dm *Daemon) recordMessageEvent(m asyncMessage, c *gnet.MessageContext) error { + dm.events <- messageEvent{ + Message: m, + Context: c, + } + return nil +} + +func (dm *Daemon) handleEvent(e interface{}) { + switch x := e.(type) { + case messageEvent: + dm.onMessageEvent(x) + case ConnectEvent: + dm.onConnectEvent(x) + case DisconnectEvent: + dm.onDisconnectEvent(x) + case ConnectFailureEvent: + dm.onConnectFailure(x) + default: + logger.WithFields(logrus.Fields{ + "type": fmt.Sprintf("%T", e), + "value": fmt.Sprintf("%+v", e), + }).Panic("Invalid object in events queue") + } +} + +func (dm *Daemon) onMessageEvent(e messageEvent) { + // If the connection does not exist or the gnet ID is different, abort message processing + // This can occur because messageEvents for a given connection may occur + // after that connection has disconnected. + c := dm.connections.get(e.Context.Addr) + if c == nil { + logger.WithFields(logrus.Fields{ + "addr": e.Context.Addr, + "messageType": fmt.Sprintf("%T", e.Message), + }).Info("onMessageEvent no connection found") + return + } + + if c.gnetID != e.Context.ConnID { + logger.WithFields(logrus.Fields{ + "addr": e.Context.Addr, + "connGnetID": c.gnetID, + "contextGnetID": e.Context.ConnID, + "messageType": fmt.Sprintf("%T", e.Message), + }).Info("onMessageEvent connection gnetID does not match") + return + } + + // The first message received must be INTR, DISC or GIVP + if !c.HasIntroduced() { + switch e.Message.(type) { + case *IntroductionMessage, *DisconnectMessage, *GivePeersMessage: + default: + logger.WithFields(logrus.Fields{ + "addr": e.Context.Addr, + "messageType": fmt.Sprintf("%T", e.Message), + }).Info("needsIntro but first message is not INTR, DISC or GIVP") + if err := dm.Disconnect(e.Context.Addr, ErrDisconnectNoIntroduction); err != nil { + logger.WithError(err).WithField("addr", e.Context.Addr).Error("Disconnect") + } + return + } + } + + e.Message.process(dm) +} + +func (dm *Daemon) onConnectEvent(e ConnectEvent) { + fields := logrus.Fields{ + "addr": e.Addr, + "outgoing": e.Solicited, + "gnetID": e.GnetID, + } + logger.WithFields(fields).Info("onConnectEvent") + + // Update the connections state machine first + c, err := dm.connections.connected(e.Addr, e.GnetID) + if err != nil { + logger.Critical().WithError(err).WithFields(fields).Error("connections.Connected failed") + if err := dm.Disconnect(e.Addr, ErrDisconnectUnexpectedError); err != nil { + logger.WithError(err).WithFields(fields).Error("Disconnect") + } + return + } + + // The connection should already be known as outgoing/solicited due to an earlier connections.pending call. + // If they do not match, there is e.Addr flaw in the concept or implementation of the state machine. + if c.Outgoing != e.Solicited { + logger.Critical().WithFields(fields).Warning("Connection.Outgoing does not match ConnectEvent.Solicited state") + } + + if dm.ipCountMaxed(e.Addr) { + logger.WithFields(fields).Info("Max connections for this IP address reached, disconnecting") + if err := dm.Disconnect(e.Addr, ErrDisconnectIPLimitReached); err != nil { + logger.WithError(err).WithFields(fields).Error("Disconnect") + } + return + } + + logger.WithFields(fields).Debug("Sending introduction message") + + if err := dm.sendMessage(e.Addr, NewIntroductionMessage( + dm.config.Mirror, + dm.config.ProtocolVersion, + dm.pool.Pool.Config.Port, + dm.config.BlockchainPubkey, + dm.config.userAgent, + dm.config.UnconfirmedVerifyTxn, + dm.config.GenesisHash, + )); err != nil { + logger.WithFields(fields).WithError(err).Error("Send IntroductionMessage failed") + return + } +} + +func (dm *Daemon) onDisconnectEvent(e DisconnectEvent) { + fields := logrus.Fields{ + "addr": e.Addr, + "reason": e.Reason, + "gnetID": e.GnetID, + } + logger.WithFields(fields).Info("onDisconnectEvent") + + if err := dm.connections.remove(e.Addr, e.GnetID); err != nil { + logger.WithError(err).WithFields(fields).Error("connections.Remove failed") + return + } + + // TODO -- blacklist peer for certain reasons, not just remove + switch e.Reason { + case ErrDisconnectIntroductionTimeout, + ErrDisconnectBlockchainPubkeyNotMatched, + ErrDisconnectInvalidExtraData, + ErrDisconnectInvalidUserAgent: + if !dm.isTrustedPeer(e.Addr) { + dm.pex.RemovePeer(e.Addr) + } + case ErrDisconnectNoIntroduction, + ErrDisconnectVersionNotSupported, + ErrDisconnectSelf: + dm.pex.IncreaseRetryTimes(e.Addr) + default: + switch e.Reason.Error() { + case "read failed: EOF": + dm.pex.IncreaseRetryTimes(e.Addr) + } + } +} + +func (dm *Daemon) onConnectFailure(c ConnectFailureEvent) { + // Remove the pending connection from connections and update the retry times in pex + logger.WithField("addr", c.Addr).WithError(c.Error).Debug("onConnectFailure") + + // onConnectFailure should only trigger for "pending" connections which have gnet ID 0; + // connections in any other state will have a nonzero gnet ID. + // if the connection is in a different state, the gnet ID will not match, the connection + // won't be removed and we'll receive an error. + // If this happens, it is a bug, and the connections state may be corrupted. + if err := dm.connections.remove(c.Addr, 0); err != nil { + logger.Critical().WithField("addr", c.Addr).WithError(err).Error("connections.remove") + } + + if strings.HasSuffix(c.Error.Error(), "connect: connection refused") { + dm.pex.IncreaseRetryTimes(c.Addr) + } +} + +// onGnetDisconnect triggered when a gnet.Connection terminates +func (dm *Daemon) onGnetDisconnect(addr string, gnetID uint64, reason gnet.DisconnectReason) { + dm.events <- DisconnectEvent{ + GnetID: gnetID, + Addr: addr, + Reason: reason, + } +} + +// onGnetConnect Triggered when a gnet.Connection connects +func (dm *Daemon) onGnetConnect(addr string, gnetID uint64, solicited bool) { + dm.events <- ConnectEvent{ + GnetID: gnetID, + Addr: addr, + Solicited: solicited, + } +} + +// onGnetConnectFailure triggered when a gnet.Connection fails to connect +func (dm *Daemon) onGnetConnectFailure(addr string, solicited bool, err error) { + dm.events <- ConnectFailureEvent{ + Addr: addr, + Solicited: solicited, + Error: err, + } +} + +// Returns whether the ipCount maximum has been reached. +// Always false when using LocalhostOnly config. +func (dm *Daemon) ipCountMaxed(addr string) bool { + ip, _, err := iputil.SplitAddr(addr) + if err != nil { + logger.Critical().WithField("addr", addr).Error("ipCountMaxed called with invalid addr") + return true + } + + return !dm.config.LocalhostOnly && dm.connections.IPCount(ip) >= dm.config.IPCountsMax +} + +// When an async message send finishes, its result is handled by this. +// This method must take care to perform only thread-safe actions, since it is called +// outside of the daemon run loop +func (dm *Daemon) handleMessageSendResult(r gnet.SendResult) { + if r.Error != nil { + var lg logrus.FieldLogger + if r.Error == gnet.ErrMsgExceedsMaxLen { + lg = logger.Critical() + } else { + lg = logger + } + + lg.WithError(r.Error).WithFields(logrus.Fields{ + "addr": r.Addr, + "msgType": reflect.TypeOf(r.Message), + }).Warning("Failed to send message") + return + } + + if m, ok := r.Message.(SendingTxnsMessage); ok { + dm.announcedTxns.add(m.GetFiltered()) + } + + if m, ok := r.Message.(*DisconnectMessage); ok { + if err := dm.disconnectNow(r.Addr, m.reason); err != nil { + logger.WithError(err).WithField("addr", r.Addr).Warning("disconnectNow") + } + } +} + +// requestBlocks sends a GetBlocksMessage to all connections +func (dm *Daemon) requestBlocks() error { + if dm.config.DisableNetworking { + return ErrNetworkingDisabled + } + + headSeq, ok, err := dm.visor.HeadBkSeq() + if err != nil { + return err + } + if !ok { + return errors.New("Cannot request blocks, there is no head block") + } + + m := NewGetBlocksMessage(headSeq, dm.config.GetBlocksRequestCount) + + if _, err := dm.broadcastMessage(m); err != nil { + logger.WithError(err).Debug("Broadcast GetBlocksMessage failed") + return err + } + + return nil +} + +// announceBlocks sends an AnnounceBlocksMessage to all connections +func (dm *Daemon) announceBlocks() error { + if dm.config.DisableNetworking { + return ErrNetworkingDisabled + } + + headSeq, ok, err := dm.visor.HeadBkSeq() + if err != nil { + return err + } + if !ok { + return errors.New("Cannot announce blocks, there is no head block") + } + + m := NewAnnounceBlocksMessage(headSeq) + + if _, err := dm.broadcastMessage(m); err != nil { + logger.WithError(err).Debug("Broadcast AnnounceBlocksMessage failed") + return err + } + + return nil +} + +// createAndPublishBlock creates a block from unconfirmed transactions and sends it to the network. +// Will panic if not running as a block publisher. +// Will not create a block if outgoing connections are disabled. +// If the block was created but the broadcast failed, the error will be non-nil but the +// SignedBlock value will not be empty. +// TODO -- refactor this method -- it should either always create a block and maybe broadcast it, +// or use a database transaction to rollback block publishing if broadcast failed (however, this will cause a slow DB write) +func (dm *Daemon) createAndPublishBlock() (*coin.SignedBlock, error) { + if dm.config.DisableNetworking { + return nil, ErrNetworkingDisabled + } + + sb, err := dm.visor.CreateAndExecuteBlock() + if err != nil { + return nil, err + } + + err = dm.broadcastBlock(sb) + + return &sb, err +} + +// ResendUnconfirmedTxns resends all unconfirmed transactions and returns the hashes that were successfully rebroadcast. +// It does not return an error if broadcasting fails. +func (dm *Daemon) ResendUnconfirmedTxns() ([]cipher.SHA256, error) { + if dm.config.DisableNetworking { + return nil, ErrNetworkingDisabled + } + + txns, err := dm.visor.GetAllUnconfirmedTransactions() + if err != nil { + return nil, err + } + + var txids []cipher.SHA256 + for i := range txns { + txnHash := txns[i].Transaction.Hash() + logger.WithField("txid", txnHash.Hex()).Debug("Rebroadcast transaction") + if _, err := dm.BroadcastTransaction(txns[i].Transaction); err == nil { + txids = append(txids, txnHash) + } + } + + return txids, nil +} + +// BroadcastTransaction broadcasts a single transaction to all peers. +func (dm *Daemon) BroadcastTransaction(txn coin.Transaction) ([]uint64, error) { + if dm.config.DisableNetworking { + return nil, ErrNetworkingDisabled + } + + m := NewGiveTxnsMessage(coin.Transactions{txn}, dm.config.MaxOutgoingMessageLength) + if len(m.Transactions) != 1 { + logger.Critical().Error("NewGiveTxnsMessage truncated its only transaction") + } + + ids, err := dm.broadcastMessage(m) + if err != nil { + logger.WithError(err).Error("Broadcast GiveTxnsMessage failed") + return nil, err + } + + logger.Debugf("BroadcastTransaction to %d conns", len(ids)) + + return ids, nil +} + +// BroadcastUserTransaction broadcasts a single transaction to all peers. +// Returns an error if no peers that would propagate the transaction could be reached. +func (dm *Daemon) BroadcastUserTransaction(txn coin.Transaction, head *coin.SignedBlock, inputs coin.UxArray) error { + ids, err := dm.BroadcastTransaction(txn) + if err != nil { + return err + } + + accepts, err := checkBroadcastTxnRecipients(dm.connections, ids, txn, head, inputs) + if err != nil { + logger.WithError(err).Error("BroadcastUserTransaction") + return err + } + + logger.Debugf("BroadcastUserTransaction transaction propagated by %d/%d conns", accepts, len(ids)) + + return nil +} + +// checkBroadcastTxnRecipients checks whether or not the recipients of a txn broadcast would accept the transaction as valid, +// based upon their reported txn verification parameters. +// If no recipient would accept the txn, an error is returned. +// The number of recipients that claim to accept the transaction is returned. +func checkBroadcastTxnRecipients(connections *Connections, ids []uint64, txn coin.Transaction, head *coin.SignedBlock, inputs coin.UxArray) (int, error) { + // Check if the connections will accept our transaction as valid. + // Clients v24 and earlier do not propagate soft-invalid transactions. + // Clients v24 and earlier do not advertise a user agent. + // Clients v24 and earlier do not advertise their transaction verification parameters, + // but will use defaults of BurnFactor=2, MaxTransactionSize=32768, MaxDropletPrecision=3. + // If none of the connections will propagate our transaction, return an error. + accepts := 0 + + for _, id := range ids { + c := connections.getByGnetID(id) + if c == nil { + continue + } + + if !c.HasIntroduced() { + continue + } + + // If the peer has not set their user agent, they are v24 or earlier. + // v24 and earlier will not propagate a transaction that does not pass soft-validation. + // Check if our transaction would pass their soft-validation, using the hardcoded defaults + // that are used by v24 and earlier. + if c.UserAgent.Empty() { + if err := verifyUserTxnAgainstPeer(txn, head, inputs, params.VerifyTxn{ + BurnFactor: 2, + MaxTransactionSize: 32 * 1024, + MaxDropletPrecision: 3, + }); err != nil { + logger.WithFields(logrus.Fields{ + "addr": c.Addr, + "gnetID": c.gnetID, + }).Debug("Peer will not propagate this transaction") + continue + } + } + + accepts++ + } + + if accepts == 0 { + return 0, ErrNoPeerAcceptsTxn + } + + return accepts, nil +} + +// verifyUserTxnAgainstPeer returns an error if a user-created transaction would not pass soft-validation +// according to a peer's reported verification parameters +func verifyUserTxnAgainstPeer(txn coin.Transaction, head *coin.SignedBlock, inputs coin.UxArray, verifyParams params.VerifyTxn) error { + // Check the droplet precision + for _, o := range txn.Out { + if err := params.DropletPrecisionCheck(verifyParams.MaxDropletPrecision, o.Coins); err != nil { + return err + } + } + + // Check the txn size + txnSize, err := txn.Size() + if err != nil { + logger.Critical().WithError(err).Error("txn.Size failed unexpectedly") + return err + } + + if txnSize > verifyParams.MaxTransactionSize { + return visor.ErrTxnExceedsMaxBlockSize + } + + // Check the coinhour burn fee + f, err := fee.TransactionFee(&txn, head.Time(), inputs) + if err != nil { + return err + } + + if err := fee.VerifyTransactionFee(&txn, f, verifyParams.BurnFactor); err != nil { + return err + } + + return nil +} + +// Disconnect sends a DisconnectMessage to a peer. After the DisconnectMessage is sent, the peer is disconnected. +// This allows all pending messages to be sent. Any message queued after a DisconnectMessage is unlikely to be sent +// to the peer (but possible). +func (dm *Daemon) Disconnect(addr string, r gnet.DisconnectReason) error { + logger.WithFields(logrus.Fields{ + "addr": addr, + "reason": r, + }).Debug("Sending DisconnectMessage") + return dm.sendMessage(addr, NewDisconnectMessage(r)) +} + +// Implements private daemoner interface methods: + +// requestBlocksFromAddr sends a GetBlocksMessage to one connected address +func (dm *Daemon) requestBlocksFromAddr(addr string) error { + if dm.config.DisableNetworking { + return ErrNetworkingDisabled + } + + headSeq, ok, err := dm.visor.HeadBkSeq() + if err != nil { + return err + } + if !ok { + return errors.New("Cannot request blocks from addr, there is no head block") + } + + m := NewGetBlocksMessage(headSeq, dm.config.GetBlocksRequestCount) + return dm.sendMessage(addr, m) +} + +// broadcastBlock sends a signed block to all connections +func (dm *Daemon) broadcastBlock(sb coin.SignedBlock) error { + if dm.config.DisableNetworking { + return ErrNetworkingDisabled + } + + m := NewGiveBlocksMessage([]coin.SignedBlock{sb}, dm.config.MaxOutgoingMessageLength) + if len(m.Blocks) != 1 { + logger.Critical().Error("NewGiveBlocksMessage truncated its only block") + } + + _, err := dm.broadcastMessage(m) + return err +} + +// DaemonConfig returns the daemon config +func (dm *Daemon) DaemonConfig() DaemonConfig { + return dm.config +} + +// connectionIntroduced transfers a connection to the "introduced" state in the connections state machine +// and updates other state +func (dm *Daemon) connectionIntroduced(addr string, gnetID uint64, m *IntroductionMessage) (*connection, error) { + c, err := dm.connections.introduced(addr, gnetID, m) + if err != nil { + return nil, err + } + + listenAddr := c.ListenAddr() + + fields := logrus.Fields{ + "addr": addr, + "gnetID": m.c.ConnID, + "connGnetID": c.gnetID, + "listenPort": m.ListenPort, + "listenAddr": listenAddr, + } + + if c.Outgoing { + // For successful outgoing connections, mark the peer as having an incoming port in the pex peerlist + // The peer should already be in the peerlist, since we use the peerlist to choose an outgoing connection to make + if err := dm.pex.SetHasIncomingPort(listenAddr, true); err != nil { + logger.Critical().WithError(err).WithFields(fields).Error("pex.SetHasIncomingPort failed") + return nil, err + } + } else { + // For successful incoming connections, add the peer to the peer list, with their self-reported listen port + if err := dm.pex.AddPeer(listenAddr); err != nil { + logger.Critical().WithError(err).WithFields(fields).Error("pex.AddPeer failed") + return nil, err + } + } + + if err := dm.pex.SetUserAgent(listenAddr, c.UserAgent); err != nil { + logger.Critical().WithError(err).WithFields(fields).Error("pex.SetUserAgent failed") + return nil, err + } + + dm.pex.ResetRetryTimes(listenAddr) + + return c, nil +} + +// sendRandomPeers sends a random sample of peers to another peer +func (dm *Daemon) sendRandomPeers(addr string) error { + peers := dm.pex.RandomExchangeable(dm.pex.Config.ReplyCount) + if len(peers) == 0 { + logger.Debug("sendRandomPeers: no peers to send in reply") + return errors.New("No peers available") + } + + m := NewGivePeersMessage(peers, dm.config.MaxOutgoingMessageLength) + + return dm.sendMessage(addr, m) +} + +// announceAllValidTxns broadcasts valid unconfirmed transactions +func (dm *Daemon) announceAllValidTxns() error { + if dm.config.DisableNetworking { + return ErrNetworkingDisabled + } + + // Get valid unconfirmed transaction hashes + hashes, err := dm.visor.GetAllValidUnconfirmedTxHashes() + if err != nil { + return err + } + + return dm.announceTxnHashes(hashes) +} + +// announceTxnHashes announces transaction hashes, splitting them into chunks if they exceed MaxTxnAnnounceNum +func (dm *Daemon) announceTxnHashes(hashes []cipher.SHA256) error { + if dm.config.DisableNetworking { + return ErrNetworkingDisabled + } + + // Divide hashes into multiple sets of max size + hashesSet := divideHashes(hashes, dm.config.MaxTxnAnnounceNum) + + for _, hs := range hashesSet { + m := NewAnnounceTxnsMessage(hs, dm.config.MaxOutgoingMessageLength) + if len(m.Transactions) != len(hs) { + logger.Critical().Error("NewAnnounceTxnsMessage truncated hashes that were already split up") + } + if _, err := dm.broadcastMessage(m); err != nil { + logger.WithError(err).Debug("Broadcast AnnounceTxnsMessage failed") + return err + } + } + + return nil +} + +func divideHashes(hashes []cipher.SHA256, n int) [][]cipher.SHA256 { + if len(hashes) == 0 { + return [][]cipher.SHA256{} + } + + var j int + var hashesArray [][]cipher.SHA256 + + if len(hashes) > n { + for i := range hashes { + if len(hashes[j:i]) == n { + hs := make([]cipher.SHA256, n) + copy(hs, hashes[j:i]) + hashesArray = append(hashesArray, hs) + j = i + } + } + } + + hs := make([]cipher.SHA256, len(hashes)-j) + copy(hs, hashes[j:]) + hashesArray = append(hashesArray, hs) + return hashesArray +} + +// sendMessage sends a Message to a Connection and pushes the result onto the SendResults channel. +func (dm *Daemon) sendMessage(addr string, msg gnet.Message) error { + return dm.pool.Pool.SendMessage(addr, msg) +} + +// broadcastMessage sends a Message to all introduced connections in the Pool. +// Returns the gnet IDs of connections that broadcast succeeded for. +// Note that a connection could still fail to receive the message under certain network conditions, +// there is no guarantee that a message was broadcast. +func (dm *Daemon) broadcastMessage(msg gnet.Message) ([]uint64, error) { + if dm.config.DisableNetworking { + return nil, ErrNetworkingDisabled + } + + conns := dm.connections.all() + var addrs []string + for _, c := range conns { + if c.HasIntroduced() { + addrs = append(addrs, c.Addr) + } + } + + return dm.pool.Pool.BroadcastMessage(msg, addrs) +} + +// disconnectNow disconnects from a peer immediately without sending a DisconnectMessage. Any pending messages +// will not be sent to the peer. +func (dm *Daemon) disconnectNow(addr string, r gnet.DisconnectReason) error { + return dm.pool.Pool.Disconnect(addr, r) +} + +// pexConfig returns the pex config +func (dm *Daemon) pexConfig() pex.Config { + return dm.pex.Config +} + +// addPeers adds peers to the pex +func (dm *Daemon) addPeers(addrs []string) int { + return dm.pex.AddPeers(addrs) +} + +// recordPeerHeight records the height of specific peer +func (dm *Daemon) recordPeerHeight(addr string, gnetID, height uint64) { + if err := dm.connections.SetHeight(addr, gnetID, height); err != nil { + logger.Critical().WithError(err).WithField("addr", addr).Error("connections.SetHeight failed") + } +} + +// getSignedBlocksSince returns N signed blocks since given seq +func (dm *Daemon) getSignedBlocksSince(seq, count uint64) ([]coin.SignedBlock, error) { + return dm.visor.GetSignedBlocksSince(seq, count) +} + +// headBkSeq returns the head block sequence +func (dm *Daemon) headBkSeq() (uint64, bool, error) { + return dm.visor.HeadBkSeq() +} + +// executeSignedBlock executes the signed block +func (dm *Daemon) executeSignedBlock(b coin.SignedBlock) error { + return dm.visor.ExecuteSignedBlock(b) +} + +// filterKnownUnconfirmed returns unconfirmed txn hashes with known ones removed +func (dm *Daemon) filterKnownUnconfirmed(txns []cipher.SHA256) ([]cipher.SHA256, error) { + return dm.visor.FilterKnownUnconfirmed(txns) +} + +// getKnownUnconfirmed returns unconfirmed txn hashes with known ones removed +func (dm *Daemon) getKnownUnconfirmed(txns []cipher.SHA256) (coin.Transactions, error) { + return dm.visor.GetKnownUnconfirmed(txns) +} + +// injectTransaction records a coin.Transaction to the UnconfirmedTxnPool if the txn is not +// already in the blockchain. +// The bool return value is whether or not the transaction was already in the pool. +// If the transaction violates hard constraints, it is rejected, and error will not be nil. +// If the transaction only violates soft constraints, it is still injected, and the soft constraint violation is returned. +func (dm *Daemon) injectTransaction(txn coin.Transaction) (bool, *visor.ErrTxnViolatesSoftConstraint, error) { + return dm.visor.InjectForeignTransaction(txn) +} + +/* Connection management API */ + +// Connection a connection's state within the daemon +type Connection struct { + Addr string + Pex pex.Peer + Gnet GnetConnectionDetails + ConnectionDetails +} + +// GnetConnectionDetails connection data from gnet +type GnetConnectionDetails struct { + ID uint64 + LastSent time.Time + LastReceived time.Time +} + +func newConnection(dc *connection, gc *gnet.Connection, pp *pex.Peer) Connection { + c := Connection{} + + if dc != nil { + c.Addr = dc.Addr + c.ConnectionDetails = dc.ConnectionDetails + } + + if gc != nil { + c.Gnet = GnetConnectionDetails{ + ID: gc.ID, + LastSent: gc.LastSent, + LastReceived: gc.LastReceived, + } + } + + if pp != nil { + c.Pex = *pp + } + + return c +} + +// newConnection creates a Connection from daemon.connection, gnet.Connection and pex.Peer +func (dm *Daemon) newConnection(c *connection) (*Connection, error) { + if c == nil { + return nil, nil + } + + gc, err := dm.pool.Pool.GetConnection(c.Addr) + if err != nil { + return nil, err + } + + var pp *pex.Peer + listenAddr := c.ListenAddr() + if listenAddr != "" { + p, ok := dm.pex.GetPeer(listenAddr) + if ok { + pp = &p + } + } + + cc := newConnection(c, gc, pp) + return &cc, nil +} + +// GetConnections returns solicited (outgoing) connections +func (dm *Daemon) GetConnections(f func(c Connection) bool) ([]Connection, error) { + if dm.pool.Pool == nil { + return nil, nil + } + + cs := dm.connections.all() + + conns := make([]Connection, 0) + + for _, c := range cs { + cc, err := dm.newConnection(&c) + if err != nil { + return nil, err + } + + ccc := *cc + + if !f(ccc) { + continue + } + + conns = append(conns, ccc) + } + + // Sort connnections by IP address + sort.Slice(conns, func(i, j int) bool { + return strings.Compare(conns[i].Addr, conns[j].Addr) < 0 + }) + + return conns, nil +} + +// GetDefaultConnections returns the default hardcoded connection addresses +func (dm *Daemon) GetDefaultConnections() []string { + conns := make([]string, len(dm.config.DefaultConnections)) + copy(conns[:], dm.config.DefaultConnections[:]) + return conns +} + +// GetConnection returns a *Connection of specific address +func (dm *Daemon) GetConnection(addr string) (*Connection, error) { + c := dm.connections.get(addr) + if c == nil { + return nil, nil + } + + return dm.newConnection(c) +} + +// DisconnectByGnetID disconnects a connection by gnet ID +func (dm *Daemon) DisconnectByGnetID(gnetID uint64) error { + c := dm.connections.getByGnetID(gnetID) + if c == nil { + return ErrConnectionNotExist + } + + return dm.Disconnect(c.Addr, ErrDisconnectRequestedByOperator) +} + +// GetTrustConnections returns all trusted connections +func (dm *Daemon) GetTrustConnections() []string { + return dm.pex.Trusted().ToAddrs() +} + +// GetExchgConnection returns all connections to peers found through peer exchange +func (dm *Daemon) GetExchgConnection() []string { + return dm.pex.RandomExchangeable(0).ToAddrs() +} + +/* Peer Blockchain Status API */ + +// BlockchainProgress is the current blockchain syncing status +type BlockchainProgress struct { + // Our current blockchain length + Current uint64 + // Our best guess at true blockchain length + Highest uint64 + // Individual blockchain length reports from peers + Peers []PeerBlockchainHeight +} + +// newBlockchainProgress creates BlockchainProgress from the local head blockchain sequence number +// and a list of remote peers +func newBlockchainProgress(headSeq uint64, conns []connection) *BlockchainProgress { + peers := newPeerBlockchainHeights(conns) + + return &BlockchainProgress{ + Current: headSeq, + Highest: EstimateBlockchainHeight(headSeq, peers), + Peers: peers, + } +} + +// PeerBlockchainHeight records blockchain height for an address +type PeerBlockchainHeight struct { + Address string + Height uint64 +} + +func newPeerBlockchainHeights(conns []connection) []PeerBlockchainHeight { + peers := make([]PeerBlockchainHeight, 0, len(conns)) + for _, c := range conns { + if c.State != ConnectionStatePending { + peers = append(peers, PeerBlockchainHeight{ + Address: c.Addr, + Height: c.Height, + }) + } + } + return peers +} + +// EstimateBlockchainHeight estimates the blockchain sync height. +// The highest height reported amongst all peers, and including the node itself, is returned. +func EstimateBlockchainHeight(headSeq uint64, peers []PeerBlockchainHeight) uint64 { + for _, c := range peers { + if c.Height > headSeq { + headSeq = c.Height + } + } + return headSeq +} + +// GetBlockchainProgress returns a *BlockchainProgress +func (dm *Daemon) GetBlockchainProgress(headSeq uint64) *BlockchainProgress { + conns := dm.connections.all() + return newBlockchainProgress(headSeq, conns) +} + +// InjectBroadcastTransaction injects transaction to the unconfirmed pool and broadcasts it. +// If the transaction violates either hard or soft constraints, it is neither injected nor broadcast. +// If the broadcast fails (due to no connections), the transaction is not injected. +// However, the broadcast may fail in practice, without returning an error, +// so this is not foolproof. +// This method is to be used by user-initiated transaction injections. +// For transactions received over the network, use daemon.injectTransaction and check the result to +// decide on repropagation. +func (dm *Daemon) InjectBroadcastTransaction(txn coin.Transaction) error { + return dm.visor.WithUpdateTx("daemon.InjectBroadcastTransaction", func(tx *dbutil.Tx) error { + _, head, inputs, err := dm.visor.InjectUserTransactionTx(tx, txn) + if err != nil { + logger.WithError(err).Error("InjectUserTransactionTx failed") + return err + } + + if err := dm.BroadcastUserTransaction(txn, head, inputs); err != nil { + logger.WithError(err).Error("BroadcastUserTransaction failed") + return err + } + + return nil + }) +} + +// InjectTransaction injects transaction to the unconfirmed pool but does not broadcast it. +// If the transaction violates either hard or soft constraints, it is not injected. +// This method is to be used by user-initiated transaction injections. +// For transactions received over the network, use daemon.injectTransaction and check the result to +// decide on repropagation. +func (dm *Daemon) InjectTransaction(txn coin.Transaction) error { + _, _, _, err := dm.visor.InjectUserTransaction(txn) + return err +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/disconnect_message_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/disconnect_message_skyencoder.go new file mode 100644 index 00000000..53d79bf9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/disconnect_message_skyencoder.go @@ -0,0 +1,118 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeDisconnectMessage computes the size of an encoded object of type DisconnectMessage +func encodeSizeDisconnectMessage(obj *DisconnectMessage) uint64 { + i0 := uint64(0) + + // obj.ReasonCode + i0 += 2 + + // obj.Reserved + i0 += 4 + uint64(len(obj.Reserved)) + + return i0 +} + +// encodeDisconnectMessage encodes an object of type DisconnectMessage to a buffer allocated to the exact size +// required to encode the object. +func encodeDisconnectMessage(obj *DisconnectMessage) ([]byte, error) { + n := encodeSizeDisconnectMessage(obj) + buf := make([]byte, n) + + if err := encodeDisconnectMessageToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeDisconnectMessageToBuffer encodes an object of type DisconnectMessage to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeDisconnectMessageToBuffer(buf []byte, obj *DisconnectMessage) error { + if uint64(len(buf)) < encodeSizeDisconnectMessage(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.ReasonCode + e.Uint16(obj.ReasonCode) + + // obj.Reserved length check + if uint64(len(obj.Reserved)) > math.MaxUint32 { + return errors.New("obj.Reserved length exceeds math.MaxUint32") + } + + // obj.Reserved length + e.Uint32(uint32(len(obj.Reserved))) + + // obj.Reserved copy + e.CopyBytes(obj.Reserved) + + return nil +} + +// decodeDisconnectMessage decodes an object of type DisconnectMessage from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeDisconnectMessage(buf []byte, obj *DisconnectMessage) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.ReasonCode + i, err := d.Uint16() + if err != nil { + return 0, err + } + obj.ReasonCode = i + } + + { + // obj.Reserved + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length != 0 { + obj.Reserved = make([]byte, length) + + copy(obj.Reserved[:], d.Buffer[:length]) + d.Buffer = d.Buffer[length:] + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeDisconnectMessageExact decodes an object of type DisconnectMessage from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeDisconnectMessageExact(buf []byte, obj *DisconnectMessage) error { + if n, err := decodeDisconnectMessage(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/errors.go b/vendor/github.com/skycoin/skycoin/src/daemon/errors.go new file mode 100644 index 00000000..8e228d48 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/errors.go @@ -0,0 +1,112 @@ +package daemon + +import ( + "errors" + + "github.com/skycoin/skycoin/src/daemon/gnet" +) + +var ( + // ErrDisconnectVersionNotSupported version is below minimum supported version + ErrDisconnectVersionNotSupported gnet.DisconnectReason = errors.New("Version is below minimum supported version") + // ErrDisconnectIntroductionTimeout timeout + ErrDisconnectIntroductionTimeout gnet.DisconnectReason = errors.New("Introduction timeout") + // ErrDisconnectIsBlacklisted is blacklisted + ErrDisconnectIsBlacklisted gnet.DisconnectReason = errors.New("Blacklisted") + // ErrDisconnectSelf self connnect + ErrDisconnectSelf gnet.DisconnectReason = errors.New("Self connect") + // ErrDisconnectConnectedTwice connect twice + ErrDisconnectConnectedTwice gnet.DisconnectReason = errors.New("Already connected") + // ErrDisconnectIdle idle + ErrDisconnectIdle gnet.DisconnectReason = errors.New("Idle") + // ErrDisconnectNoIntroduction no introduction + ErrDisconnectNoIntroduction gnet.DisconnectReason = errors.New("First message was not an Introduction") + // ErrDisconnectIPLimitReached ip limit reached + ErrDisconnectIPLimitReached gnet.DisconnectReason = errors.New("Maximum number of connections for this IP was reached") + // ErrDisconnectUnexpectedError this is returned when a seemingly impossible error is encountered, e.g. net.Conn.Addr() returns an invalid ip:port + ErrDisconnectUnexpectedError gnet.DisconnectReason = errors.New("Unexpected error") + // ErrDisconnectMaxOutgoingConnectionsReached is returned when connection pool size is greater than the maximum allowed + ErrDisconnectMaxOutgoingConnectionsReached gnet.DisconnectReason = errors.New("Maximum outgoing connections was reached") + // ErrDisconnectBlockchainPubkeyNotMatched is returned when the blockchain pubkey in introduction does not match + ErrDisconnectBlockchainPubkeyNotMatched gnet.DisconnectReason = errors.New("Blockchain pubkey does not match") + // ErrDisconnectBlockchainPubkeyNotProvided is returned when the blockchain pubkey in introduction is not provided + ErrDisconnectBlockchainPubkeyNotProvided gnet.DisconnectReason = errors.New("Blockchain pubkey is not provided") + // ErrDisconnectInvalidExtraData is returned when extra field can't be parsed + ErrDisconnectInvalidExtraData gnet.DisconnectReason = errors.New("Invalid extra data in message") + // ErrDisconnectReceivedDisconnect received a DisconnectMessage + ErrDisconnectReceivedDisconnect gnet.DisconnectReason = errors.New("Received DisconnectMessage") + // ErrDisconnectInvalidUserAgent is returned if the peer provides an invalid user agent + ErrDisconnectInvalidUserAgent gnet.DisconnectReason = errors.New("Invalid user agent") + // ErrDisconnectRequestedByOperator the operator of the node requested a disconnect + ErrDisconnectRequestedByOperator gnet.DisconnectReason = errors.New("Disconnect requested by the node operator") + // ErrDisconnectPeerlistFull the peerlist is full + ErrDisconnectPeerlistFull gnet.DisconnectReason = errors.New("Peerlist is full") + // ErrDisconnectInvalidBurnFactor invalid burn factor in introduction message + ErrDisconnectInvalidBurnFactor gnet.DisconnectReason = errors.New("Invalid burn factor in introduction message") + // ErrDisconnectInvalidMaxTransactionSize invalid max transaction size in introduction message + ErrDisconnectInvalidMaxTransactionSize gnet.DisconnectReason = errors.New("Invalid max transaction size in introduction message") + // ErrDisconnectInvalidMaxDropletPrecision invalid max droplet precision in introduction message + ErrDisconnectInvalidMaxDropletPrecision gnet.DisconnectReason = errors.New("Invalid max droplet precision in introduction message") + + // ErrDisconnectUnknownReason used when mapping an unknown reason code to an error. Is not sent over the network. + ErrDisconnectUnknownReason gnet.DisconnectReason = errors.New("Unknown DisconnectReason") + + disconnectReasonCodes = map[gnet.DisconnectReason]uint16{ + ErrDisconnectUnknownReason: 0, + + ErrDisconnectVersionNotSupported: 1, + ErrDisconnectIntroductionTimeout: 2, + ErrDisconnectIsBlacklisted: 3, + ErrDisconnectSelf: 4, + ErrDisconnectConnectedTwice: 5, + ErrDisconnectIdle: 6, + ErrDisconnectNoIntroduction: 7, + ErrDisconnectIPLimitReached: 8, + ErrDisconnectUnexpectedError: 9, + ErrDisconnectMaxOutgoingConnectionsReached: 10, + ErrDisconnectBlockchainPubkeyNotMatched: 11, + ErrDisconnectInvalidExtraData: 12, + ErrDisconnectReceivedDisconnect: 13, + ErrDisconnectInvalidUserAgent: 14, + ErrDisconnectRequestedByOperator: 15, + ErrDisconnectPeerlistFull: 16, + ErrDisconnectInvalidBurnFactor: 17, + ErrDisconnectInvalidMaxTransactionSize: 18, + ErrDisconnectInvalidMaxDropletPrecision: 19, + + // gnet codes are registered here, but they are not sent in a DISC + // message by gnet. Only daemon sends a DISC packet. + // If gnet chooses to disconnect it will not send a DISC packet. + gnet.ErrDisconnectSetReadDeadlineFailed: 1001, + gnet.ErrDisconnectInvalidMessageLength: 1002, + gnet.ErrDisconnectMalformedMessage: 1003, + gnet.ErrDisconnectUnknownMessage: 1004, + gnet.ErrDisconnectShutdown: 1005, + gnet.ErrDisconnectMessageDecodeUnderflow: 1006, + gnet.ErrDisconnectTruncatedMessageID: 1007, + } + + disconnectCodeReasons map[uint16]gnet.DisconnectReason +) + +func init() { + disconnectCodeReasons = make(map[uint16]gnet.DisconnectReason, len(disconnectReasonCodes)) + + for r, c := range disconnectReasonCodes { + disconnectCodeReasons[c] = r + } +} + +// DisconnectReasonToCode maps a gnet.DisconnectReason to a 16-byte code +func DisconnectReasonToCode(r gnet.DisconnectReason) uint16 { + return disconnectReasonCodes[r] +} + +// DisconnectCodeToReason maps a disconnect code to a gnet.DisconnectReason +func DisconnectCodeToReason(c uint16) gnet.DisconnectReason { + r, ok := disconnectCodeReasons[c] + if !ok { + return ErrDisconnectUnknownReason + } + return r +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/get_blocks_message_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/get_blocks_message_skyencoder.go new file mode 100644 index 00000000..b07c856b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/get_blocks_message_skyencoder.go @@ -0,0 +1,93 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import "github.com/skycoin/skycoin/src/cipher/encoder" + +// encodeSizeGetBlocksMessage computes the size of an encoded object of type GetBlocksMessage +func encodeSizeGetBlocksMessage(obj *GetBlocksMessage) uint64 { + i0 := uint64(0) + + // obj.LastBlock + i0 += 8 + + // obj.RequestedBlocks + i0 += 8 + + return i0 +} + +// encodeGetBlocksMessage encodes an object of type GetBlocksMessage to a buffer allocated to the exact size +// required to encode the object. +func encodeGetBlocksMessage(obj *GetBlocksMessage) ([]byte, error) { + n := encodeSizeGetBlocksMessage(obj) + buf := make([]byte, n) + + if err := encodeGetBlocksMessageToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeGetBlocksMessageToBuffer encodes an object of type GetBlocksMessage to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeGetBlocksMessageToBuffer(buf []byte, obj *GetBlocksMessage) error { + if uint64(len(buf)) < encodeSizeGetBlocksMessage(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.LastBlock + e.Uint64(obj.LastBlock) + + // obj.RequestedBlocks + e.Uint64(obj.RequestedBlocks) + + return nil +} + +// decodeGetBlocksMessage decodes an object of type GetBlocksMessage from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeGetBlocksMessage(buf []byte, obj *GetBlocksMessage) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.LastBlock + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.LastBlock = i + } + + { + // obj.RequestedBlocks + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.RequestedBlocks = i + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeGetBlocksMessageExact decodes an object of type GetBlocksMessage from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeGetBlocksMessageExact(buf []byte, obj *GetBlocksMessage) error { + if n, err := decodeGetBlocksMessage(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/get_txns_message_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/get_txns_message_skyencoder.go new file mode 100644 index 00000000..1d023a63 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/get_txns_message_skyencoder.go @@ -0,0 +1,135 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeGetTxnsMessage computes the size of an encoded object of type GetTxnsMessage +func encodeSizeGetTxnsMessage(obj *GetTxnsMessage) uint64 { + i0 := uint64(0) + + // obj.Transactions + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 32 + + i0 += uint64(len(obj.Transactions)) * i1 + } + + return i0 +} + +// encodeGetTxnsMessage encodes an object of type GetTxnsMessage to a buffer allocated to the exact size +// required to encode the object. +func encodeGetTxnsMessage(obj *GetTxnsMessage) ([]byte, error) { + n := encodeSizeGetTxnsMessage(obj) + buf := make([]byte, n) + + if err := encodeGetTxnsMessageToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeGetTxnsMessageToBuffer encodes an object of type GetTxnsMessage to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeGetTxnsMessageToBuffer(buf []byte, obj *GetTxnsMessage) error { + if uint64(len(buf)) < encodeSizeGetTxnsMessage(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Transactions maxlen check + if len(obj.Transactions) > 256 { + return encoder.ErrMaxLenExceeded + } + + // obj.Transactions length check + if uint64(len(obj.Transactions)) > math.MaxUint32 { + return errors.New("obj.Transactions length exceeds math.MaxUint32") + } + + // obj.Transactions length + e.Uint32(uint32(len(obj.Transactions))) + + // obj.Transactions + for _, x := range obj.Transactions { + + // x + e.CopyBytes(x[:]) + + } + + return nil +} + +// decodeGetTxnsMessage decodes an object of type GetTxnsMessage from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeGetTxnsMessage(buf []byte, obj *GetTxnsMessage) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Transactions + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 256 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions = make([]cipher.SHA256, length) + + for z1 := range obj.Transactions { + { + // obj.Transactions[z1] + if len(d.Buffer) < len(obj.Transactions[z1]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1][:], d.Buffer[:len(obj.Transactions[z1])]) + d.Buffer = d.Buffer[len(obj.Transactions[z1]):] + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeGetTxnsMessageExact decodes an object of type GetTxnsMessage from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeGetTxnsMessageExact(buf []byte, obj *GetTxnsMessage) error { + if n, err := decodeGetTxnsMessage(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/give_blocks_message_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/give_blocks_message_skyencoder.go new file mode 100644 index 00000000..62054225 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/give_blocks_message_skyencoder.go @@ -0,0 +1,579 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeGiveBlocksMessage computes the size of an encoded object of type GiveBlocksMessage +func encodeSizeGiveBlocksMessage(obj *GiveBlocksMessage) uint64 { + i0 := uint64(0) + + // obj.Blocks + i0 += 4 + for _, x1 := range obj.Blocks { + i1 := uint64(0) + + // x1.Block.Head.Version + i1 += 4 + + // x1.Block.Head.Time + i1 += 8 + + // x1.Block.Head.BkSeq + i1 += 8 + + // x1.Block.Head.Fee + i1 += 8 + + // x1.Block.Head.PrevHash + i1 += 32 + + // x1.Block.Head.BodyHash + i1 += 32 + + // x1.Block.Head.UxHash + i1 += 32 + + // x1.Block.Body.Transactions + i1 += 4 + for _, x2 := range x1.Block.Body.Transactions { + i2 := uint64(0) + + // x2.Length + i2 += 4 + + // x2.Type + i2++ + + // x2.InnerHash + i2 += 32 + + // x2.Sigs + i2 += 4 + { + i3 := uint64(0) + + // x3 + i3 += 65 + + i2 += uint64(len(x2.Sigs)) * i3 + } + + // x2.In + i2 += 4 + { + i3 := uint64(0) + + // x3 + i3 += 32 + + i2 += uint64(len(x2.In)) * i3 + } + + // x2.Out + i2 += 4 + { + i3 := uint64(0) + + // x3.Address.Version + i3++ + + // x3.Address.Key + i3 += 20 + + // x3.Coins + i3 += 8 + + // x3.Hours + i3 += 8 + + i2 += uint64(len(x2.Out)) * i3 + } + + i1 += i2 + } + + // x1.Sig + i1 += 65 + + i0 += i1 + } + + return i0 +} + +// encodeGiveBlocksMessage encodes an object of type GiveBlocksMessage to a buffer allocated to the exact size +// required to encode the object. +func encodeGiveBlocksMessage(obj *GiveBlocksMessage) ([]byte, error) { + n := encodeSizeGiveBlocksMessage(obj) + buf := make([]byte, n) + + if err := encodeGiveBlocksMessageToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeGiveBlocksMessageToBuffer encodes an object of type GiveBlocksMessage to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeGiveBlocksMessageToBuffer(buf []byte, obj *GiveBlocksMessage) error { + if uint64(len(buf)) < encodeSizeGiveBlocksMessage(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Blocks maxlen check + if len(obj.Blocks) > 128 { + return encoder.ErrMaxLenExceeded + } + + // obj.Blocks length check + if uint64(len(obj.Blocks)) > math.MaxUint32 { + return errors.New("obj.Blocks length exceeds math.MaxUint32") + } + + // obj.Blocks length + e.Uint32(uint32(len(obj.Blocks))) + + // obj.Blocks + for _, x := range obj.Blocks { + + // x.Block.Head.Version + e.Uint32(x.Block.Head.Version) + + // x.Block.Head.Time + e.Uint64(x.Block.Head.Time) + + // x.Block.Head.BkSeq + e.Uint64(x.Block.Head.BkSeq) + + // x.Block.Head.Fee + e.Uint64(x.Block.Head.Fee) + + // x.Block.Head.PrevHash + e.CopyBytes(x.Block.Head.PrevHash[:]) + + // x.Block.Head.BodyHash + e.CopyBytes(x.Block.Head.BodyHash[:]) + + // x.Block.Head.UxHash + e.CopyBytes(x.Block.Head.UxHash[:]) + + // x.Block.Body.Transactions maxlen check + if len(x.Block.Body.Transactions) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Block.Body.Transactions length check + if uint64(len(x.Block.Body.Transactions)) > math.MaxUint32 { + return errors.New("x.Block.Body.Transactions length exceeds math.MaxUint32") + } + + // x.Block.Body.Transactions length + e.Uint32(uint32(len(x.Block.Body.Transactions))) + + // x.Block.Body.Transactions + for _, x := range x.Block.Body.Transactions { + + // x.Length + e.Uint32(x.Length) + + // x.Type + e.Uint8(x.Type) + + // x.InnerHash + e.CopyBytes(x.InnerHash[:]) + + // x.Sigs maxlen check + if len(x.Sigs) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Sigs length check + if uint64(len(x.Sigs)) > math.MaxUint32 { + return errors.New("x.Sigs length exceeds math.MaxUint32") + } + + // x.Sigs length + e.Uint32(uint32(len(x.Sigs))) + + // x.Sigs + for _, x := range x.Sigs { + + // x + e.CopyBytes(x[:]) + + } + + // x.In maxlen check + if len(x.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.In length check + if uint64(len(x.In)) > math.MaxUint32 { + return errors.New("x.In length exceeds math.MaxUint32") + } + + // x.In length + e.Uint32(uint32(len(x.In))) + + // x.In + for _, x := range x.In { + + // x + e.CopyBytes(x[:]) + + } + + // x.Out maxlen check + if len(x.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Out length check + if uint64(len(x.Out)) > math.MaxUint32 { + return errors.New("x.Out length exceeds math.MaxUint32") + } + + // x.Out length + e.Uint32(uint32(len(x.Out))) + + // x.Out + for _, x := range x.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + } + + // x.Sig + e.CopyBytes(x.Sig[:]) + + } + + return nil +} + +// decodeGiveBlocksMessage decodes an object of type GiveBlocksMessage from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeGiveBlocksMessage(buf []byte, obj *GiveBlocksMessage) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Blocks + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 128 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Blocks = make([]coin.SignedBlock, length) + + for z1 := range obj.Blocks { + { + // obj.Blocks[z1].Block.Head.Version + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Blocks[z1].Block.Head.Version = i + } + + { + // obj.Blocks[z1].Block.Head.Time + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Blocks[z1].Block.Head.Time = i + } + + { + // obj.Blocks[z1].Block.Head.BkSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Blocks[z1].Block.Head.BkSeq = i + } + + { + // obj.Blocks[z1].Block.Head.Fee + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Blocks[z1].Block.Head.Fee = i + } + + { + // obj.Blocks[z1].Block.Head.PrevHash + if len(d.Buffer) < len(obj.Blocks[z1].Block.Head.PrevHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Blocks[z1].Block.Head.PrevHash[:], d.Buffer[:len(obj.Blocks[z1].Block.Head.PrevHash)]) + d.Buffer = d.Buffer[len(obj.Blocks[z1].Block.Head.PrevHash):] + } + + { + // obj.Blocks[z1].Block.Head.BodyHash + if len(d.Buffer) < len(obj.Blocks[z1].Block.Head.BodyHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Blocks[z1].Block.Head.BodyHash[:], d.Buffer[:len(obj.Blocks[z1].Block.Head.BodyHash)]) + d.Buffer = d.Buffer[len(obj.Blocks[z1].Block.Head.BodyHash):] + } + + { + // obj.Blocks[z1].Block.Head.UxHash + if len(d.Buffer) < len(obj.Blocks[z1].Block.Head.UxHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Blocks[z1].Block.Head.UxHash[:], d.Buffer[:len(obj.Blocks[z1].Block.Head.UxHash)]) + d.Buffer = d.Buffer[len(obj.Blocks[z1].Block.Head.UxHash):] + } + + { + // obj.Blocks[z1].Block.Body.Transactions + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Blocks[z1].Block.Body.Transactions = make([]coin.Transaction, length) + + for z5 := range obj.Blocks[z1].Block.Body.Transactions { + { + // obj.Blocks[z1].Block.Body.Transactions[z5].Length + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Blocks[z1].Block.Body.Transactions[z5].Length = i + } + + { + // obj.Blocks[z1].Block.Body.Transactions[z5].Type + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Blocks[z1].Block.Body.Transactions[z5].Type = i + } + + { + // obj.Blocks[z1].Block.Body.Transactions[z5].InnerHash + if len(d.Buffer) < len(obj.Blocks[z1].Block.Body.Transactions[z5].InnerHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Blocks[z1].Block.Body.Transactions[z5].InnerHash[:], d.Buffer[:len(obj.Blocks[z1].Block.Body.Transactions[z5].InnerHash)]) + d.Buffer = d.Buffer[len(obj.Blocks[z1].Block.Body.Transactions[z5].InnerHash):] + } + + { + // obj.Blocks[z1].Block.Body.Transactions[z5].Sigs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Blocks[z1].Block.Body.Transactions[z5].Sigs = make([]cipher.Sig, length) + + for z7 := range obj.Blocks[z1].Block.Body.Transactions[z5].Sigs { + { + // obj.Blocks[z1].Block.Body.Transactions[z5].Sigs[z7] + if len(d.Buffer) < len(obj.Blocks[z1].Block.Body.Transactions[z5].Sigs[z7]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Blocks[z1].Block.Body.Transactions[z5].Sigs[z7][:], d.Buffer[:len(obj.Blocks[z1].Block.Body.Transactions[z5].Sigs[z7])]) + d.Buffer = d.Buffer[len(obj.Blocks[z1].Block.Body.Transactions[z5].Sigs[z7]):] + } + + } + } + } + + { + // obj.Blocks[z1].Block.Body.Transactions[z5].In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Blocks[z1].Block.Body.Transactions[z5].In = make([]cipher.SHA256, length) + + for z7 := range obj.Blocks[z1].Block.Body.Transactions[z5].In { + { + // obj.Blocks[z1].Block.Body.Transactions[z5].In[z7] + if len(d.Buffer) < len(obj.Blocks[z1].Block.Body.Transactions[z5].In[z7]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Blocks[z1].Block.Body.Transactions[z5].In[z7][:], d.Buffer[:len(obj.Blocks[z1].Block.Body.Transactions[z5].In[z7])]) + d.Buffer = d.Buffer[len(obj.Blocks[z1].Block.Body.Transactions[z5].In[z7]):] + } + + } + } + } + + { + // obj.Blocks[z1].Block.Body.Transactions[z5].Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Blocks[z1].Block.Body.Transactions[z5].Out = make([]coin.TransactionOutput, length) + + for z7 := range obj.Blocks[z1].Block.Body.Transactions[z5].Out { + { + // obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Address.Version = i + } + + { + // obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Address.Key + if len(d.Buffer) < len(obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Address.Key[:], d.Buffer[:len(obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Address.Key):] + } + + { + // obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Coins = i + } + + { + // obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Blocks[z1].Block.Body.Transactions[z5].Out[z7].Hours = i + } + + } + } + } + } + } + } + + { + // obj.Blocks[z1].Sig + if len(d.Buffer) < len(obj.Blocks[z1].Sig) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Blocks[z1].Sig[:], d.Buffer[:len(obj.Blocks[z1].Sig)]) + d.Buffer = d.Buffer[len(obj.Blocks[z1].Sig):] + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeGiveBlocksMessageExact decodes an object of type GiveBlocksMessage from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeGiveBlocksMessageExact(buf []byte, obj *GiveBlocksMessage) error { + if n, err := decodeGiveBlocksMessage(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/give_peers_message_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/give_peers_message_skyencoder.go new file mode 100644 index 00000000..f27a3142 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/give_peers_message_skyencoder.go @@ -0,0 +1,149 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeGivePeersMessage computes the size of an encoded object of type GivePeersMessage +func encodeSizeGivePeersMessage(obj *GivePeersMessage) uint64 { + i0 := uint64(0) + + // obj.Peers + i0 += 4 + { + i1 := uint64(0) + + // x1.IP + i1 += 4 + + // x1.Port + i1 += 2 + + i0 += uint64(len(obj.Peers)) * i1 + } + + return i0 +} + +// encodeGivePeersMessage encodes an object of type GivePeersMessage to a buffer allocated to the exact size +// required to encode the object. +func encodeGivePeersMessage(obj *GivePeersMessage) ([]byte, error) { + n := encodeSizeGivePeersMessage(obj) + buf := make([]byte, n) + + if err := encodeGivePeersMessageToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeGivePeersMessageToBuffer encodes an object of type GivePeersMessage to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeGivePeersMessageToBuffer(buf []byte, obj *GivePeersMessage) error { + if uint64(len(buf)) < encodeSizeGivePeersMessage(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Peers maxlen check + if len(obj.Peers) > 512 { + return encoder.ErrMaxLenExceeded + } + + // obj.Peers length check + if uint64(len(obj.Peers)) > math.MaxUint32 { + return errors.New("obj.Peers length exceeds math.MaxUint32") + } + + // obj.Peers length + e.Uint32(uint32(len(obj.Peers))) + + // obj.Peers + for _, x := range obj.Peers { + + // x.IP + e.Uint32(x.IP) + + // x.Port + e.Uint16(x.Port) + + } + + return nil +} + +// decodeGivePeersMessage decodes an object of type GivePeersMessage from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeGivePeersMessage(buf []byte, obj *GivePeersMessage) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Peers + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 512 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Peers = make([]IPAddr, length) + + for z1 := range obj.Peers { + { + // obj.Peers[z1].IP + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Peers[z1].IP = i + } + + { + // obj.Peers[z1].Port + i, err := d.Uint16() + if err != nil { + return 0, err + } + obj.Peers[z1].Port = i + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeGivePeersMessageExact decodes an object of type GivePeersMessage from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeGivePeersMessageExact(buf []byte, obj *GivePeersMessage) error { + if n, err := decodeGivePeersMessage(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/give_txns_message_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/give_txns_message_skyencoder.go new file mode 100644 index 00000000..21f6a012 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/give_txns_message_skyencoder.go @@ -0,0 +1,408 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeGiveTxnsMessage computes the size of an encoded object of type GiveTxnsMessage +func encodeSizeGiveTxnsMessage(obj *GiveTxnsMessage) uint64 { + i0 := uint64(0) + + // obj.Transactions + i0 += 4 + for _, x1 := range obj.Transactions { + i1 := uint64(0) + + // x1.Length + i1 += 4 + + // x1.Type + i1++ + + // x1.InnerHash + i1 += 32 + + // x1.Sigs + i1 += 4 + { + i2 := uint64(0) + + // x2 + i2 += 65 + + i1 += uint64(len(x1.Sigs)) * i2 + } + + // x1.In + i1 += 4 + { + i2 := uint64(0) + + // x2 + i2 += 32 + + i1 += uint64(len(x1.In)) * i2 + } + + // x1.Out + i1 += 4 + { + i2 := uint64(0) + + // x2.Address.Version + i2++ + + // x2.Address.Key + i2 += 20 + + // x2.Coins + i2 += 8 + + // x2.Hours + i2 += 8 + + i1 += uint64(len(x1.Out)) * i2 + } + + i0 += i1 + } + + return i0 +} + +// encodeGiveTxnsMessage encodes an object of type GiveTxnsMessage to a buffer allocated to the exact size +// required to encode the object. +func encodeGiveTxnsMessage(obj *GiveTxnsMessage) ([]byte, error) { + n := encodeSizeGiveTxnsMessage(obj) + buf := make([]byte, n) + + if err := encodeGiveTxnsMessageToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeGiveTxnsMessageToBuffer encodes an object of type GiveTxnsMessage to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeGiveTxnsMessageToBuffer(buf []byte, obj *GiveTxnsMessage) error { + if uint64(len(buf)) < encodeSizeGiveTxnsMessage(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Transactions maxlen check + if len(obj.Transactions) > 256 { + return encoder.ErrMaxLenExceeded + } + + // obj.Transactions length check + if uint64(len(obj.Transactions)) > math.MaxUint32 { + return errors.New("obj.Transactions length exceeds math.MaxUint32") + } + + // obj.Transactions length + e.Uint32(uint32(len(obj.Transactions))) + + // obj.Transactions + for _, x := range obj.Transactions { + + // x.Length + e.Uint32(x.Length) + + // x.Type + e.Uint8(x.Type) + + // x.InnerHash + e.CopyBytes(x.InnerHash[:]) + + // x.Sigs maxlen check + if len(x.Sigs) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Sigs length check + if uint64(len(x.Sigs)) > math.MaxUint32 { + return errors.New("x.Sigs length exceeds math.MaxUint32") + } + + // x.Sigs length + e.Uint32(uint32(len(x.Sigs))) + + // x.Sigs + for _, x := range x.Sigs { + + // x + e.CopyBytes(x[:]) + + } + + // x.In maxlen check + if len(x.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.In length check + if uint64(len(x.In)) > math.MaxUint32 { + return errors.New("x.In length exceeds math.MaxUint32") + } + + // x.In length + e.Uint32(uint32(len(x.In))) + + // x.In + for _, x := range x.In { + + // x + e.CopyBytes(x[:]) + + } + + // x.Out maxlen check + if len(x.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Out length check + if uint64(len(x.Out)) > math.MaxUint32 { + return errors.New("x.Out length exceeds math.MaxUint32") + } + + // x.Out length + e.Uint32(uint32(len(x.Out))) + + // x.Out + for _, x := range x.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + } + + return nil +} + +// decodeGiveTxnsMessage decodes an object of type GiveTxnsMessage from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeGiveTxnsMessage(buf []byte, obj *GiveTxnsMessage) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Transactions + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 256 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions = make([]coin.Transaction, length) + + for z1 := range obj.Transactions { + { + // obj.Transactions[z1].Length + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Transactions[z1].Length = i + } + + { + // obj.Transactions[z1].Type + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Transactions[z1].Type = i + } + + { + // obj.Transactions[z1].InnerHash + if len(d.Buffer) < len(obj.Transactions[z1].InnerHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1].InnerHash[:], d.Buffer[:len(obj.Transactions[z1].InnerHash)]) + d.Buffer = d.Buffer[len(obj.Transactions[z1].InnerHash):] + } + + { + // obj.Transactions[z1].Sigs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions[z1].Sigs = make([]cipher.Sig, length) + + for z3 := range obj.Transactions[z1].Sigs { + { + // obj.Transactions[z1].Sigs[z3] + if len(d.Buffer) < len(obj.Transactions[z1].Sigs[z3]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1].Sigs[z3][:], d.Buffer[:len(obj.Transactions[z1].Sigs[z3])]) + d.Buffer = d.Buffer[len(obj.Transactions[z1].Sigs[z3]):] + } + + } + } + } + + { + // obj.Transactions[z1].In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions[z1].In = make([]cipher.SHA256, length) + + for z3 := range obj.Transactions[z1].In { + { + // obj.Transactions[z1].In[z3] + if len(d.Buffer) < len(obj.Transactions[z1].In[z3]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1].In[z3][:], d.Buffer[:len(obj.Transactions[z1].In[z3])]) + d.Buffer = d.Buffer[len(obj.Transactions[z1].In[z3]):] + } + + } + } + } + + { + // obj.Transactions[z1].Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transactions[z1].Out = make([]coin.TransactionOutput, length) + + for z3 := range obj.Transactions[z1].Out { + { + // obj.Transactions[z1].Out[z3].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Transactions[z1].Out[z3].Address.Version = i + } + + { + // obj.Transactions[z1].Out[z3].Address.Key + if len(d.Buffer) < len(obj.Transactions[z1].Out[z3].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transactions[z1].Out[z3].Address.Key[:], d.Buffer[:len(obj.Transactions[z1].Out[z3].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Transactions[z1].Out[z3].Address.Key):] + } + + { + // obj.Transactions[z1].Out[z3].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Transactions[z1].Out[z3].Coins = i + } + + { + // obj.Transactions[z1].Out[z3].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Transactions[z1].Out[z3].Hours = i + } + + } + } + } + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeGiveTxnsMessageExact decodes an object of type GiveTxnsMessage from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeGiveTxnsMessageExact(buf []byte, obj *GiveTxnsMessage) error { + if n, err := decodeGiveTxnsMessage(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/README.md b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/README.md new file mode 100644 index 00000000..df437742 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/README.md @@ -0,0 +1,7 @@ +gnet +==== + +[![GoDoc](http://godoc.org/github.com//skycoin/gnet?status.png)](http://godoc.org/github.com/skycoin/gnet) + +[Godoc generated documentation](https://godoc.org/github.com/skycoin/gnet) + diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher.go b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher.go new file mode 100644 index 00000000..c11c0a32 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/dispatcher.go @@ -0,0 +1,209 @@ +package gnet + +import ( + "errors" + "fmt" + "math" + "net" + "reflect" + "time" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +var ( + // ErrMsgExceedsMaxLen is returned if trying to send a message that exceeds the configured max length + ErrMsgExceedsMaxLen = errors.New("Message exceeds max message length") +) + +// SendResult result of a single message send +type SendResult struct { + Addr string + Message Message + Error error +} + +func newSendResult(addr string, m Message, err error) SendResult { + return SendResult{ + Addr: addr, + Message: m, + Error: err, + } +} + +// Serializes a Message over a net.Conn +func sendMessage(conn net.Conn, msg Message, timeout time.Duration, maxMsgLength int) error { + m, err := EncodeMessage(msg) + if err != nil { + return err + } + if len(m) > maxMsgLength { + return ErrMsgExceedsMaxLen + } + return sendByteMessage(conn, m, timeout) +} + +// msgIDStringSafe formats msgID bytes to a string that is safe for logging (e.g. not impacted by ascii control chars) +func msgIDStringSafe(msgID [4]byte) string { + x := fmt.Sprintf("%q", msgID) + return x[1 : len(x)-1] // trim quotes that are added by %q formatting +} + +// Event handler that is called after a Connection sends a complete message +func convertToMessage(id uint64, msg []byte, debugPrint bool) (Message, error) { + msgID := [4]byte{} + if len(msg) < len(msgID) { + logger.WithError(ErrDisconnectTruncatedMessageID).WithField("connID", id).Warning() + return nil, ErrDisconnectTruncatedMessageID + } + + copy(msgID[:], msg[:len(msgID)]) + + if debugPrint { + logger.WithField("msgID", msgIDStringSafe(msgID)).Debug("Received message") + } + + msg = msg[len(msgID):] + t, ok := MessageIDReverseMap[msgID] + if !ok { + logger.WithError(ErrDisconnectUnknownMessage).WithFields(logrus.Fields{ + "msgID": msgIDStringSafe(msgID), + "connID": id, + }).Warning() + return nil, ErrDisconnectUnknownMessage + } + + if debugPrint { + logger.WithFields(logrus.Fields{ + "connID": id, + "messageType": fmt.Sprintf("%v", t), + }).Debugf("convertToMessage") + } + + v := reflect.New(t) + m, ok := (v.Interface()).(Message) + if !ok { + // This occurs only when the user registers an interface that does not + // match the Message interface. They should have known about this + // earlier via a call to VerifyMessages + logger.Panic("Message obtained from map does not match Message interface") + return nil, errors.New("MessageIdMaps contain non-Message") + } + + used, err := deserializeMessage(msg, v) + if err != nil { + logger.Critical().WithError(err).WithFields(logrus.Fields{ + "connID": id, + "messageType": fmt.Sprintf("%v", t), + }).Warning("deserializeMessage failed") + return nil, ErrDisconnectMalformedMessage + } + + if used != uint64(len(msg)) { + logger.WithError(ErrDisconnectMessageDecodeUnderflow).WithFields(logrus.Fields{ + "connID": id, + "messageType": fmt.Sprintf("%v", t), + }).Warning() + return nil, ErrDisconnectMessageDecodeUnderflow + } + + return m, nil +} + +// Wraps Serializer.Decode and traps panics as an error +func deserializeMessage(msg []byte, v reflect.Value) (n uint64, err error) { + defer func() { + if r := recover(); r != nil { + logger.Critical().Warningf("Recovering from deserializer panic: %v", r) + switch x := r.(type) { + case string: + err = errors.New(x) + case error: + err = x + default: + err = errors.New("Message deserialization failed") + } + } + }() + + iface := v.Interface() + x, ok := iface.(Serializer) + if !ok { + return 0, errors.New("deserializeMessage object does not have Serializer interface") + } + + return x.Decode(msg) +} + +// EncodeMessage packs a Message into []byte containing length, id and data +func EncodeMessage(msg Serializer) ([]byte, error) { + t := reflect.ValueOf(msg).Elem().Type() + + // Lookup message ID + msgID, succ := MessageIDMap[t] + if !succ { + logger.Panicf("Attempted to serialize message struct not in MessageIDMap: %v", msg) + } + if uint64(len(msgID)) > math.MaxUint32 { + return nil, errors.New("Message ID length exceeds math.MaxUint32") + } + + // Compute size of encoded Message object + bMsgLen := msg.EncodeSize() + if bMsgLen > math.MaxUint32 { + return nil, errors.New("Message length exceeds math.MaxUint32") + } + + // Compute message + message ID length + bLen, err := mathutil.AddUint32(uint32(bMsgLen), uint32(len(msgID))) + if err != nil { + return nil, err + } + + // Serialize total message length + bLenPrefix := encoder.SerializeUint32(bLen) + if uint64(len(bLenPrefix)) > math.MaxUint32 { + return nil, errors.New("Message length prefix length exceeds math.MaxUint32") + } + + mLen, err := mathutil.AddUint32(bLen, uint32(len(bLenPrefix))) + if err != nil { + return nil, err + } + + // Allocate message bytes + m := make([]byte, mLen) + + // Write the total message length to the buffer + copy(m[:], bLenPrefix[:]) + + // Write the message ID to the buffer + copy(m[len(bLenPrefix):], msgID[:]) + + // Encode the message into the message buffer + if err := msg.Encode(m[len(bLenPrefix)+len(msgID):]); err != nil { + return nil, err + } + + return m, nil +} + +// Sends []byte over a net.Conn +var sendByteMessage = func(conn net.Conn, msg []byte, timeout time.Duration) error { + deadline := time.Time{} + if timeout != 0 { + deadline = time.Now().Add(timeout) + } + if err := conn.SetWriteDeadline(deadline); err != nil { + return err + } + if _, err := conn.Write(msg); err != nil { + return &WriteError{ + Err: err, + } + } + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/message.go b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/message.go new file mode 100644 index 00000000..a67aa39d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/message.go @@ -0,0 +1,140 @@ +package gnet + +import ( + "reflect" +) + +const messagePrefixLength = 4 + +// MessagePrefix message prefix identifies a message +type MessagePrefix [messagePrefixLength]byte + +// MessagePrefixFromString creates MessagePrefix from string +func MessagePrefixFromString(prefix string) MessagePrefix { + if len(prefix) == 0 || len(prefix) > 4 { + logger.Panicf("Invalid prefix %s", prefix) + } + p := MessagePrefix{} + for i, c := range prefix { + p[i] = byte(c) + } + for i := len(prefix); i < 4; i++ { + p[i] = 0x00 + } + return p +} + +// Serializer serialization interface +type Serializer interface { + EncodeSize() uint64 + Encode([]byte) error + Decode([]byte) (uint64, error) +} + +// Handler message handler interface +type Handler interface { + // State is user-defined application state that is attached to the Dispatcher. + // If a non-nil error is returned, the connection will be disconnected. + Handle(context *MessageContext, state interface{}) error +} + +// Message message interface +type Message interface { + Handler + Serializer +} + +// MessageContext message context +type MessageContext struct { + ConnID uint64 // connection message was received from + Addr string +} + +// NewMessageContext creates MessageContext +func NewMessageContext(conn *Connection) *MessageContext { + if conn.Conn != nil { + return &MessageContext{ConnID: conn.ID, Addr: conn.Addr()} + } + return &MessageContext{ConnID: conn.ID} +} + +// MessageIDMap maps message types to their ids +var MessageIDMap = make(map[reflect.Type]MessagePrefix) + +// MessageIDReverseMap maps message ids to their types +var MessageIDReverseMap = make(map[MessagePrefix]reflect.Type) + +var registeredMsgsCount = 0 + +// RegisterMessage registers a message struct for recognition by the message handlers. +func RegisterMessage(prefix MessagePrefix, msg interface{}) { + t := reflect.TypeOf(msg) + id := MessagePrefix{} + copy(id[:], prefix[:]) + _, exists := MessageIDReverseMap[id] + if exists { + logger.Panicf("Attempted to register message prefix %s twice", string(id[:])) + } + _, exists = MessageIDMap[t] + if exists { + logger.Panicf("Attempts to register message type %v twice", t) + } + MessageIDMap[t] = id + MessageIDReverseMap[id] = t + + registeredMsgsCount++ +} + +// VerifyMessages calls logger.Panic if message registration violates sanity checks +func VerifyMessages() { + if registeredMsgsCount != len(MessageIDMap) { + logger.Panic("MessageIDMap was altered without using RegisterMessage") + } + if registeredMsgsCount != len(MessageIDReverseMap) { + logger.Panic("MessageIDReverseMap was altered without using RegisterMessage") + } + + for t, k := range MessageIDMap { + // No empty prefixes allowed + if k[0] == 0x00 { + logger.Panic("No empty message prefixes allowed") + } + // No non-null bytes allowed after a nul byte + hasEmpty := false + for _, b := range k { + if b == 0x00 { + hasEmpty = true + } else if hasEmpty { + logger.Panic("No non-null bytes allowed after a nul byte") + } + } + // All characters must be non-whitespace printable ascii chars/digits + // No punctation + for _, b := range k { + if !((b >= '0' && b <= '9') || (b >= 'A' && b <= 'Z') || + (b >= 'a' && b <= 'z') || b == 0x00) { + logger.Panicf("Invalid prefix byte %v", b) + } + } + + // Confirm that all registered messages support the Message interface + // This should only be untrue if the user modified the message map + // directly + mptr := reflect.PtrTo(t) + if !mptr.Implements(reflect.TypeOf((*Message)(nil)).Elem()) { + logger.Panicf("Invalid message at ID %s: Message must implement the gnet.Message interface", string(k[:])) + } + } + if len(MessageIDMap) != len(MessageIDReverseMap) { + logger.Panic("MessageIdMap mismatch") + } + // No empty prefixes + // All prefixes must be 0 padded +} + +// EraseMessages wipes all recorded message types +func EraseMessages() { + MessageIDMap = make(map[reflect.Type]MessagePrefix) + MessageIDReverseMap = make(map[MessagePrefix]reflect.Type) + registeredMsgsCount = 0 +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool.go b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool.go new file mode 100644 index 00000000..4b6b3fa5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/gnet/pool.go @@ -0,0 +1,1066 @@ +/* +Package gnet is the core networking library +*/ +package gnet + +import ( + "bufio" + "bytes" + "errors" + "fmt" + "net" + "reflect" + "sync" + "time" + + "io" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/daemon/strand" + "github.com/skycoin/skycoin/src/util/elapse" + "github.com/skycoin/skycoin/src/util/logging" +) + +// DisconnectReason is passed to ConnectionPool's DisconnectCallback +type DisconnectReason error + +const ( + receiveMessageDurationThreshold = 500 * time.Millisecond + readLoopDurationThreshold = 10 * time.Second + sendInMsgChanDurationThreshold = 5 * time.Second + sendLoopDurationThreshold = 500 * time.Millisecond +) + +var ( + // ErrDisconnectSetReadDeadlineFailed set read deadline failed + ErrDisconnectSetReadDeadlineFailed DisconnectReason = errors.New("SetReadDeadline failed") + // ErrDisconnectInvalidMessageLength invalid message length + ErrDisconnectInvalidMessageLength DisconnectReason = errors.New("Invalid message length") + // ErrDisconnectMalformedMessage malformed message + ErrDisconnectMalformedMessage DisconnectReason = errors.New("Malformed message body") + // ErrDisconnectUnknownMessage unknown message + ErrDisconnectUnknownMessage DisconnectReason = errors.New("Unknown message ID") + // ErrDisconnectShutdown shutting down the client + ErrDisconnectShutdown DisconnectReason = errors.New("Shutdown") + // ErrDisconnectMessageDecodeUnderflow message data did not fully decode to a message object + ErrDisconnectMessageDecodeUnderflow DisconnectReason = errors.New("Message data did not fully decode to a message object") + // ErrDisconnectTruncatedMessageID message data was too short to contain a message ID + ErrDisconnectTruncatedMessageID DisconnectReason = errors.New("Message data was too short to contain a message ID") + + // ErrConnectionPoolClosed error message indicates the connection pool is closed + ErrConnectionPoolClosed = errors.New("Connection pool is closed") + // ErrWriteQueueFull write queue is full + ErrWriteQueueFull = errors.New("Write queue full") + // ErrNoReachableConnections when broadcasting a message, no connections were available to send a message to + ErrNoReachableConnections = errors.New("All pool connections are unreachable at this time") + // ErrNoMatchingConnections when broadcasting a message, no connections were found for the provided addresses + ErrNoMatchingConnections = errors.New("No connections found for broadcast addresses") + // ErrPoolEmpty when broadcasting a message, the connection pool was empty + ErrPoolEmpty = errors.New("Connection pool is empty after filtering connections") + // ErrConnectionExists connection exists + ErrConnectionExists = errors.New("Connection exists") + // ErrMaxIncomingConnectionsReached max incoming connections reached + ErrMaxIncomingConnectionsReached = errors.New("Max incoming connections reached") + // ErrMaxOutgoingConnectionsReached max outgoing connections reached + ErrMaxOutgoingConnectionsReached = errors.New("Max outgoing connections reached") + // ErrMaxOutgoingDefaultConnectionsReached max outgoing default connections reached + ErrMaxOutgoingDefaultConnectionsReached = errors.New("Max outgoing default connections reached") + // ErrNoAddresses no addresses were provided to BroadcastMessage + ErrNoAddresses = errors.New("No addresses provided") + + // Logger + logger = logging.MustGetLogger("gnet") +) + +// ReadError connection read error +type ReadError struct { + Err error +} + +func (e ReadError) Error() string { + return fmt.Sprintf("read failed: %v", e.Err) +} + +// WriteError connection read error +type WriteError struct { + Err error +} + +func (e WriteError) Error() string { + return fmt.Sprintf("write failed: %v", e.Err) +} + +// Config gnet config +type Config struct { + // Address to listen on. Leave empty for arbitrary assignment + Address string + // Port to listen on. Set to 0 for arbitrary assignment + Port uint16 + // Maximum total connections. Must be >= MaxOutgoingConnections + MaxDefaultPeerOutgoingConnections. + MaxConnections int + // Maximum outgoing connections + MaxOutgoingConnections int + // Maximum allowed default outgoing connection number + MaxDefaultPeerOutgoingConnections int + // Messages greater than length are rejected and the sender disconnected + MaxIncomingMessageLength int + // Messages greater than length are not sent and an error is reported in a SendResult + MaxOutgoingMessageLength int + // Timeout is the timeout for dialing new connections. Use a + // timeout of 0 to ignore timeout. + DialTimeout time.Duration + // Timeout for reading from a connection. Set to 0 to default to the + // system's timeout + ReadTimeout time.Duration + // Timeout for writing to a connection. Set to 0 to default to the + // system's timeout + WriteTimeout time.Duration + // Message sent event buffers + SendResultsSize int + // Individual connections' send queue size. This should be increased + // if send volume per connection is high, so as not to block + ConnectionWriteQueueSize int + // Triggered on client disconnect + DisconnectCallback DisconnectCallback + // Triggered on client connect + ConnectCallback ConnectCallback + // Triggered on client connect failure + ConnectFailureCallback ConnectFailureCallback + // Print debug logs + DebugPrint bool + // Default "trusted" peers + DefaultConnections []string + // Default connections map + defaultConnections map[string]struct{} +} + +// NewConfig returns a Config with defaults set +func NewConfig() Config { + return Config{ + Address: "", + Port: 0, + MaxConnections: 128, + MaxOutgoingMessageLength: 256 * 1024, + MaxIncomingMessageLength: 1024 * 1024, + MaxDefaultPeerOutgoingConnections: 1, + DialTimeout: time.Second * 30, + ReadTimeout: time.Second * 30, + WriteTimeout: time.Second * 30, + SendResultsSize: 2048, + ConnectionWriteQueueSize: 128, + DisconnectCallback: nil, + ConnectCallback: nil, + DebugPrint: false, + defaultConnections: make(map[string]struct{}), + } +} + +const ( + // Byte size of the length prefix in message, sizeof(int32) + messageLengthPrefixSize = 4 +) + +// Connection is stored by the ConnectionPool +type Connection struct { + // Key in ConnectionPool.Pool + ID uint64 + // TCP connection + Conn net.Conn + // Message buffer + Buffer *bytes.Buffer + // Reference back to ConnectionPool container + ConnectionPool *ConnectionPool + // Last time a message was fully parsed and handled + LastReceived time.Time + // Last time a message was sent to the connection + LastSent time.Time + // Message send queue. + WriteQueue chan Message + Solicited bool +} + +// NewConnection creates a new Connection tied to a ConnectionPool +func NewConnection(pool *ConnectionPool, id uint64, conn net.Conn, writeQueueSize int, solicited bool) *Connection { + return &Connection{ + ID: id, + Conn: conn, + Buffer: &bytes.Buffer{}, + ConnectionPool: pool, + LastReceived: Now(), + LastSent: Now(), + WriteQueue: make(chan Message, writeQueueSize), + Solicited: solicited, + } +} + +// Addr returns remote address +func (conn *Connection) Addr() string { + return conn.Conn.RemoteAddr().String() +} + +// String returns connection address +func (conn *Connection) String() string { + return conn.Addr() +} + +// Close close the connection and write queue +func (conn *Connection) Close() error { + err := conn.Conn.Close() + close(conn.WriteQueue) + conn.Buffer = &bytes.Buffer{} + return err +} + +// DisconnectCallback triggered on client disconnect +type DisconnectCallback func(addr string, id uint64, reason DisconnectReason) + +// ConnectCallback triggered on client connect +type ConnectCallback func(addr string, id uint64, solicited bool) + +// ConnectFailureCallback trigger on client connect failure +type ConnectFailureCallback func(addr string, solicited bool, err error) + +// ConnectionPool connection pool +type ConnectionPool struct { + // Configuration parameters + Config Config + // Channel for async message sending + SendResults chan SendResult + // All connections, indexed by ConnId + pool map[uint64]*Connection + // All connections, indexed by address + addresses map[string]*Connection + // connected default peer connections + defaultOutgoingConnections map[string]struct{} + // connected outgoing connections + outgoingConnections map[string]struct{} + // User-defined state to be passed into message handlers + messageState interface{} + // Connection ID counter + connID uint64 + // Listening connection + listener net.Listener + listenerLock sync.Mutex + // operations channel + reqC chan strand.Request + // quit channel + quit chan struct{} + done chan struct{} + strandDone chan struct{} + wg sync.WaitGroup +} + +// NewConnectionPool creates a new ConnectionPool that will listen on +// Config.Port upon StartListen. State is an application defined object that +// will be passed to a Message's Handle(). +func NewConnectionPool(c Config, state interface{}) (*ConnectionPool, error) { + for _, p := range c.DefaultConnections { + c.defaultConnections[p] = struct{}{} + } + + if c.MaxConnections < c.MaxOutgoingConnections+c.MaxDefaultPeerOutgoingConnections { + return nil, errors.New("MaxConnections must be >= MaxOutgoingConnections + MaxDefaultPeerOutgoingConnections") + } + + return &ConnectionPool{ + Config: c, + pool: make(map[uint64]*Connection), + addresses: make(map[string]*Connection), + defaultOutgoingConnections: make(map[string]struct{}), + outgoingConnections: make(map[string]struct{}), + SendResults: make(chan SendResult, c.SendResultsSize), + messageState: state, + quit: make(chan struct{}), + done: make(chan struct{}), + strandDone: make(chan struct{}), + reqC: make(chan strand.Request), + }, nil +} + +// Run starts the connection pool +func (pool *ConnectionPool) Run() error { + defer close(pool.done) + defer logger.Info("Connection pool closed") + + // The strand processing goroutine must be started before any error can be + // returned from Run(), otherwise the Shutdown() call will block if an error occurred + pool.wg.Add(1) + go func() { + defer pool.wg.Done() + pool.processStrand() + }() + + // start the connection accept loop + addr := fmt.Sprintf("%s:%v", pool.Config.Address, pool.Config.Port) + logger.Infof("Listening for connections on %s...", addr) + + ln, err := net.Listen("tcp", addr) + if err != nil { + return err + } + + pool.listenerLock.Lock() + pool.listener = ln + pool.listenerLock.Unlock() + +loop: + for { + conn, err := ln.Accept() + if err != nil { + // When Accept() returns with a non-nil error, we check the quit + // channel to see if we should continue or quit + select { + case <-pool.quit: + break loop + default: + // without the default case the select will block. + logger.Error(err.Error()) + continue + } + } + + pool.wg.Add(1) + go func() { + defer pool.wg.Done() + if err := pool.handleConnection(conn, false); err != nil { + logger.WithFields(logrus.Fields{ + "addr": conn.RemoteAddr(), + "outgoing": false, + }).WithError(err).Error("pool.handleConnection") + } + }() + } + pool.wg.Wait() + return nil +} + +// RunOffline runs the pool in offline mode. No connections will be accepted, +// but strand requests are processed. +func (pool *ConnectionPool) RunOffline() error { + defer close(pool.done) + pool.processStrand() + return nil +} + +func (pool *ConnectionPool) processStrand() { + defer close(pool.strandDone) + for { + select { + case <-pool.quit: + return + case req := <-pool.reqC: + if err := req.Func(); err != nil { + logger.WithField("operation", req.Name).WithError(err).Error("strand req.Func failed") + } + } + } +} + +// Shutdown gracefully shutdown the connection pool +func (pool *ConnectionPool) Shutdown() { + logger.Info("ConnectionPool.Shutdown called") + close(pool.quit) + logger.Info("ConnectionPool.Shutdown closed pool.quit") + + // Wait for all strand() calls to finish + logger.Info("ConnectionPool.Shutdown waiting for strandDone") + <-pool.strandDone + + logger.Info("ConnectionPool.Shutdown closing the listener") + + // Close to listener to prevent new connections + pool.listenerLock.Lock() + if pool.listener != nil { + if err := pool.listener.Close(); err != nil { + logger.WithError(err).Warning("pool.listener.Close error") + } + } + pool.listener = nil + pool.listenerLock.Unlock() + + logger.Info("ConnectionPool.Shutdown disconnecting all connections") + + // In readData, reader.Read() sometimes blocks instead of returning an error when the + // listener is closed. + // Directly close all connections before closing the listener. + // TODO -- could conn.Close() block too? + pool.disconnectAll() + + if len(pool.pool) != 0 { + logger.Critical().Warning("pool.pool is not empty after calling pool.disconnectAll()") + } + if len(pool.addresses) != 0 { + logger.Critical().Warning("pool.addresses is not empty after calling pool.disconnectAll()") + } + + logger.Info("ConnectionPool.Shutdown waiting for done") + + <-pool.done +} + +// strand ensures all read and write action of pool's member variable are in one thread +func (pool *ConnectionPool) strand(name string, f func() error) error { + name = fmt.Sprintf("daemon.gnet.ConnectionPool.%s", name) + return strand.Strand(logger, pool.reqC, name, f, pool.quit, ErrConnectionPoolClosed) +} + +// ListeningAddress returns the address on which the ConnectionPool listens on +func (pool *ConnectionPool) ListeningAddress() (net.Addr, error) { + if pool.listener == nil { + return nil, errors.New("Not listening, call StartListen first") + } + return pool.listener.Addr(), nil +} + +func (pool *ConnectionPool) canConnect(a string, solicited bool) error { + if pool.isConnExist(a) { + return ErrConnectionExists + } + + if solicited { + if _, ok := pool.Config.defaultConnections[a]; ok && pool.isMaxOutgoingDefaultConnectionsReached() { + return ErrMaxOutgoingDefaultConnectionsReached + } else if pool.isMaxOutgoingConnectionsReached() { + return ErrMaxOutgoingConnectionsReached + } + } else if pool.isMaxIncomingConnectionsReached() { + return ErrMaxIncomingConnectionsReached + } + + return nil +} + +// newConnection creates a new Connection around a net.Conn. Trying to make a connection +// to an address that is already connected will failed. +func (pool *ConnectionPool) newConnection(conn net.Conn, solicited bool) (*Connection, error) { + a := conn.RemoteAddr().String() + + if err := pool.canConnect(a, solicited); err != nil { + return nil, err + } + + if solicited { + pool.outgoingConnections[a] = struct{}{} + + if _, ok := pool.Config.defaultConnections[a]; ok { + pool.defaultOutgoingConnections[a] = struct{}{} + l := len(pool.defaultOutgoingConnections) + logger.WithField("addr", a).Debugf("%d/%d outgoing default connections in use", l, pool.Config.MaxDefaultPeerOutgoingConnections) + } + } + + // ID must start at 1; in case connID overflows back to 0, force it to 1 + pool.connID++ + if pool.connID == 0 { + pool.connID = 1 + } + + nc := NewConnection(pool, pool.connID, conn, pool.Config.ConnectionWriteQueueSize, solicited) + + pool.pool[nc.ID] = nc + pool.addresses[a] = nc + + return nc, nil +} + +// Creates a Connection and begins its read and write loop +func (pool *ConnectionPool) handleConnection(conn net.Conn, solicited bool) error { + defer logger.WithField("addr", conn.RemoteAddr()).Debug("Connection closed") + addr := conn.RemoteAddr().String() + + c, err := func() (c *Connection, err error) { + // TODO -- when limits in newConnection() are reached, should we allow the peer + // to be added anyway, so that we can disconnect it normally and send a disconnect packet? + // It would have to allowed to complete the handshake, otherwise the DISC packet will be ignored + // Or we would have to permit a DISC packet before an INTR + // But the read/write loop would still need to be started + // A ConnectEvent would need to be triggered, or else the DisconnectEvent gnet ID will not match the + // pending connection's zero gnet ID. + defer func() { + if err != nil { + if closeErr := conn.Close(); closeErr != nil { + logger.WithError(closeErr).WithField("addr", addr).Error("handleConnection conn.Close") + } + } + }() + + err = pool.strand("handleConnection", func() error { + var err error + c, err = pool.newConnection(conn, solicited) + if err != nil { + return err + } + + if pool.Config.ConnectCallback != nil { + pool.Config.ConnectCallback(c.Addr(), c.ID, solicited) + } + + return nil + }) + + return + }() + + // TODO -- this error is not fully propagated back to a caller of Connect() so the daemon state + // can get stuck in pending + if err != nil { + logger.WithError(err).WithField("addr", conn.RemoteAddr()).Debug("handleConnection: newConnection failed") + if pool.Config.ConnectFailureCallback != nil { + pool.Config.ConnectFailureCallback(addr, solicited, err) + } + return err + } + + msgC := make(chan []byte, 32) + + type methodErr struct { + method string + err error + } + errC := make(chan methodErr, 3) + + var wg sync.WaitGroup + wg.Add(1) + qc := make(chan struct{}) + go func() { + defer wg.Done() + if err := pool.readLoop(c, msgC, qc); err != nil { + errC <- methodErr{ + method: "readLoop", + err: err, + } + } + }() + + wg.Add(1) + go func() { + defer wg.Done() + if err := pool.sendLoop(c, pool.Config.WriteTimeout, pool.Config.MaxOutgoingMessageLength, qc); err != nil { + errC <- methodErr{ + method: "sendLoop", + err: err, + } + } + }() + + wg.Add(1) + go func() { + defer wg.Done() + elapser := elapse.NewElapser(receiveMessageDurationThreshold, logger) + defer elapser.CheckForDone() + + for msg := range msgC { + elapser.Register(fmt.Sprintf("pool.receiveMessage address=%s", addr)) + if err := pool.receiveMessage(c, msg); err != nil { + errC <- methodErr{ + method: "receiveMessage", + err: err, + } + return + } + elapser.CheckForDone() + } + }() + + select { + case <-pool.quit: + if err := conn.Close(); err != nil { + logger.WithError(err).WithField("addr", addr).Error("conn.Close") + } + case mErr := <-errC: + err = mErr.err + logger.WithError(mErr.err).WithFields(logrus.Fields{ + "addr": addr, + "method": mErr.method, + }).Error("handleConnection failure") + + // This Disconnect does not send a DISC packet because it is inside gnet. + // A DISC packet is not useful at this point, because the error is most likely + // that the connection is unreachable. + // However, it may also be that the connection sent data that could not be deserialized + // to a message. + if err := pool.Disconnect(c.Addr(), mErr.err); err != nil { + logger.WithError(err).WithField("addr", addr).Error("Disconnect") + } + } + close(qc) + + wg.Wait() + + return err +} + +func (pool *ConnectionPool) readLoop(conn *Connection, msgChan chan []byte, qc chan struct{}) error { + defer close(msgChan) + // read data from connection + reader := bufio.NewReader(conn.Conn) + buf := make([]byte, 1024) + + elapser := elapse.NewElapser(readLoopDurationThreshold, logger) + sendInMsgChanElapser := elapse.NewElapser(sendInMsgChanDurationThreshold, logger) + + defer elapser.CheckForDone() + defer sendInMsgChanElapser.CheckForDone() + + for { + elapser.Register(fmt.Sprintf("readLoop addr=%s", conn.Addr())) + deadline := time.Time{} + if pool.Config.ReadTimeout != 0 { + deadline = time.Now().Add(pool.Config.ReadTimeout) + } + if err := conn.Conn.SetReadDeadline(deadline); err != nil { + return ErrDisconnectSetReadDeadlineFailed + } + data, err := readData(reader, buf) + if err != nil { + return err + } + + if data == nil { + continue + } + + // write data to buffer + if _, err := conn.Buffer.Write(data); err != nil { + return err + } + // decode data + datas, err := decodeData(conn.Buffer, pool.Config.MaxIncomingMessageLength) + if err != nil { + return err + } + for _, d := range datas { + // use select to avoid the goroutine leak, + // because if msgChan has no receiver this goroutine will leak + select { + case <-qc: + return nil + case <-pool.quit: + return nil + case msgChan <- d: + default: + return errors.New("readLoop msgChan is closed or full") + } + } + sendInMsgChanElapser.CheckForDone() + } +} + +func (pool *ConnectionPool) sendLoop(conn *Connection, timeout time.Duration, maxMsgLength int, qc chan struct{}) error { + elapser := elapse.NewElapser(sendLoopDurationThreshold, logger) + defer elapser.CheckForDone() + + for { + elapser.CheckForDone() + select { + case <-pool.quit: + return nil + case <-qc: + return nil + case m := <-conn.WriteQueue: + elapser.Register(fmt.Sprintf("conn.WriteQueue address=%s", conn.Addr())) + if m == nil { + continue + } + + err := sendMessage(conn.Conn, m, timeout, maxMsgLength) + + // Update last sent before writing to SendResult, + // this allows a write to SendResult to be used as a sync marker, + // since no further action in this block will happen after the write. + if err == nil { + if err := pool.updateLastSent(conn.Addr(), Now()); err != nil { + logger.WithField("addr", conn.Addr()).WithError(err).Warning("updateLastSent failed") + } + } + + sr := newSendResult(conn.Addr(), m, err) + select { + case <-qc: + return nil + case pool.SendResults <- sr: + default: + logger.WithField("addr", conn.Addr()).Warning("SendResults queue full") + } + + if err != nil { + return err + } + } + } +} + +func readData(reader io.Reader, buf []byte) ([]byte, error) { + c, err := reader.Read(buf) + if err != nil { + return nil, &ReadError{ + Err: err, + } + } + if c == 0 { + return nil, nil + } + data := make([]byte, c) + copy(data, buf) + return data, nil +} + +// decode data from buffer. +func decodeData(buf *bytes.Buffer, maxMsgLength int) ([][]byte, error) { + dataArray := [][]byte{} + for buf.Len() > messageLengthPrefixSize { + prefix := buf.Bytes()[:messageLengthPrefixSize] + // decode message length + tmpLength, _, err := encoder.DeserializeUint32(prefix) + if err != nil { + // encoder.DeserializeAtomic should only return an error if there wasn't + // enough data in buf to read the integer, but the prefix buf length + // is already ensured to be long enough + logger.Panicf("encoder.DeserializeUint32 failed unexpectedly: %v", err) + } + + length := int(tmpLength) + + // Disconnect if we received an invalid length + if length < messagePrefixLength { + logger.WithFields(logrus.Fields{ + "length": length, + "messagePrefixLength": messagePrefixLength, + }).Warningf("decodeData: length < messagePrefixLength") + return [][]byte{}, ErrDisconnectInvalidMessageLength + } + + if length > maxMsgLength { + logger.WithFields(logrus.Fields{ + "length": length, + "maxMsgLength": maxMsgLength, + }).Warning("decodeData: length > maxMsgLength") + return [][]byte{}, ErrDisconnectInvalidMessageLength + } + + if buf.Len()-messageLengthPrefixSize < length { + return [][]byte{}, nil + } + + buf.Next(messageLengthPrefixSize) // strip the length prefix + data := make([]byte, length) + _, err = buf.Read(data) + if err != nil { + return [][]byte{}, err + } + + dataArray = append(dataArray, data) + } + return dataArray, nil +} + +// isConnExist check if the connection of address does exist +func (pool *ConnectionPool) isConnExist(addr string) bool { + _, ok := pool.addresses[addr] + return ok +} + +func (pool *ConnectionPool) isMaxIncomingConnectionsReached() bool { + return len(pool.pool) >= (pool.Config.MaxConnections - pool.Config.MaxOutgoingConnections - pool.Config.MaxDefaultPeerOutgoingConnections) +} + +func (pool *ConnectionPool) isMaxOutgoingConnectionsReached() bool { + return len(pool.outgoingConnections) >= pool.Config.MaxOutgoingConnections +} + +func (pool *ConnectionPool) isMaxOutgoingDefaultConnectionsReached() bool { + return len(pool.defaultOutgoingConnections) >= pool.Config.MaxDefaultPeerOutgoingConnections +} + +func (pool *ConnectionPool) updateLastSent(addr string, t time.Time) error { + return pool.strand("updateLastSent", func() error { + if conn, ok := pool.addresses[addr]; ok { + conn.LastSent = t + } + return nil + }) +} + +func (pool *ConnectionPool) updateLastRecv(addr string, t time.Time) error { + return pool.strand("updateLastRecv", func() error { + if conn, ok := pool.addresses[addr]; ok { + conn.LastReceived = t + } + return nil + }) +} + +// GetConnection returns a connection copy if exist +func (pool *ConnectionPool) GetConnection(addr string) (*Connection, error) { + var conn *Connection + if err := pool.strand("GetConnection", func() error { + if c, ok := pool.addresses[addr]; ok { + // copy connection + cc := *c + conn = &cc + } + return nil + }); err != nil { + return nil, err + } + + return conn, nil +} + +// Connect to an address +func (pool *ConnectionPool) Connect(address string) error { + if err := pool.strand("canConnect", func() error { + return pool.canConnect(address, true) + }); err != nil { + return err + } + + logger.WithField("addr", address).Debugf("Making TCP connection") + conn, err := net.DialTimeout("tcp", address, pool.Config.DialTimeout) + if err != nil { + return err + } + + pool.wg.Add(1) + go func() { + defer pool.wg.Done() + if err := pool.handleConnection(conn, true); err != nil { + logger.WithFields(logrus.Fields{ + "addr": conn.RemoteAddr(), + "outgoing": true, + }).WithError(err).Error("pool.handleConnection") + } + }() + return nil +} + +// Disconnect removes a connection from the pool by address and invokes DisconnectCallback +func (pool *ConnectionPool) Disconnect(addr string, r DisconnectReason) error { + return pool.strand("Disconnect", func() error { + logger.WithFields(logrus.Fields{ + "addr": addr, + "reason": r, + }).Debug("Disconnecting") + + // checks if the address is default node address + isDefaultOutgoingConn := false + if _, ok := pool.Config.defaultConnections[addr]; ok { + if _, ok := pool.outgoingConnections[addr]; ok { + isDefaultOutgoingConn = true + } + } + + conn := pool.disconnect(addr, r) + + if conn == nil { + return errors.New("Disconnect: connection does not exist") + } + + if isDefaultOutgoingConn { + l := len(pool.defaultOutgoingConnections) + logger.Debugf("%d/%d default connections in use", l, pool.Config.MaxDefaultPeerOutgoingConnections) + } + + if pool.Config.DisconnectCallback != nil { + pool.Config.DisconnectCallback(addr, conn.ID, r) + } + + return nil + }) +} + +func (pool *ConnectionPool) disconnect(addr string, r DisconnectReason) *Connection { + conn, ok := pool.addresses[addr] + if !ok { + return nil + } + + fields := logrus.Fields{ + "addr": addr, + "id": conn.ID, + } + + delete(pool.pool, conn.ID) + delete(pool.addresses, addr) + delete(pool.defaultOutgoingConnections, addr) + delete(pool.outgoingConnections, addr) + if err := conn.Close(); err != nil { + logger.WithError(err).WithFields(fields).Error("conn.Close") + } + + logger.WithFields(fields).WithField("reason", r).Debug("Closed connection and removed from pool") + + return conn +} + +// disconnectAll disconnects all connections. Only safe to call in Shutdown() +func (pool *ConnectionPool) disconnectAll() { + for _, conn := range pool.pool { + addr := conn.Addr() + pool.disconnect(addr, ErrDisconnectShutdown) + } +} + +// GetConnections returns an copy of pool connections +func (pool *ConnectionPool) GetConnections() ([]Connection, error) { + conns := []Connection{} + if err := pool.strand("GetConnections", func() error { + for _, conn := range pool.pool { + conns = append(conns, *conn) + } + return nil + }); err != nil { + return nil, err + } + return conns, nil +} + +// Size returns the pool size +func (pool *ConnectionPool) Size() (l int, err error) { + err = pool.strand("Size", func() error { + l = len(pool.pool) + return nil + }) + return +} + +// SendMessage sends a Message to a Connection +func (pool *ConnectionPool) SendMessage(addr string, msg Message) error { + if pool.Config.DebugPrint { + logger.WithField("msgType", reflect.TypeOf(msg)).Debug("SendMessage") + } + + return pool.strand("SendMessage", func() error { + if conn, ok := pool.addresses[addr]; ok { + select { + case conn.WriteQueue <- msg: + default: + logger.Critical().WithField("addr", addr).Info("Write queue full") + return ErrWriteQueueFull + } + } else { + return fmt.Errorf("Tried to send %T to %s, but we are not connected", msg, addr) + } + return nil + }) +} + +// BroadcastMessage sends a Message to all connections specified in addrs. +// If a connection does not exist for a given address, it is skipped. +// If no messages were written to any connection, an error is returned. +// Returns the gnet IDs of connections that the message was queued for sending to. +// Note that actual sending can still fail later, if the connection drops before the message is sent. +func (pool *ConnectionPool) BroadcastMessage(msg Message, addrs []string) ([]uint64, error) { + if pool.Config.DebugPrint { + logger.WithField("msgType", reflect.TypeOf(msg)).Debug("BroadcastMessage") + } + + if len(addrs) == 0 { + return nil, ErrNoAddresses + } + + queuedConns := make([]uint64, 0, len(addrs)) + + if err := pool.strand("BroadcastMessage", func() error { + if len(pool.pool) == 0 { + return ErrPoolEmpty + } + + fullWriteQueue := 0 + foundConns := 0 + + for _, addr := range addrs { + if conn, ok := pool.addresses[addr]; ok { + foundConns++ + select { + case conn.WriteQueue <- msg: + queuedConns = append(queuedConns, conn.ID) + default: + logger.Critical().WithFields(logrus.Fields{ + "addr": conn.Addr(), + "id": conn.ID, + }).Info("Write queue full") + fullWriteQueue++ + } + } + } + + if foundConns == 0 { + return ErrNoMatchingConnections + } + + if fullWriteQueue == foundConns { + return ErrNoReachableConnections + } + + return nil + }); err != nil { + return nil, err + } + + return queuedConns, nil +} + +// Unpacks incoming bytes to a Message and calls the message handler. If +// the bytes cannot be converted to a Message, the error is returned as the +// first return value. Otherwise, error will be nil and DisconnectReason will +// be the value returned from the message handler. +func (pool *ConnectionPool) receiveMessage(c *Connection, msg []byte) error { + m, err := convertToMessage(c.ID, msg, pool.Config.DebugPrint) + if err != nil { + return err + } + if err := pool.updateLastRecv(c.Addr(), Now()); err != nil { + return err + } + return m.Handle(NewMessageContext(c), pool.messageState) +} + +// SendPings sends a ping if our last message sent was over pingRate ago +func (pool *ConnectionPool) SendPings(rate time.Duration, msg Message) error { + now := time.Now().UTC() + var addrs []string + if err := pool.strand("SendPings", func() error { + for _, conn := range pool.pool { + if conn.LastSent.Add(rate).Before(now) { + addrs = append(addrs, conn.Addr()) + } + } + return nil + }); err != nil { + return err + } + + for _, a := range addrs { + if err := pool.SendMessage(a, msg); err != nil { + return err + } + } + + return nil +} + +// GetStaleConnections returns connections that have been idle for longer than idleLimit +func (pool *ConnectionPool) GetStaleConnections(idleLimit time.Duration) ([]string, error) { + now := Now() + var idleConns []string + if err := pool.strand("GetStaleConnections", func() error { + for _, conn := range pool.pool { + if conn.LastReceived.Add(idleLimit).Before(now) { + idleConns = append(idleConns, conn.Addr()) + } + } + return nil + }); err != nil { + return nil, err + } + + return idleConns, nil +} + +// Now returns the current UTC time +func Now() time.Time { + return time.Now().UTC() +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/introduction_message_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/introduction_message_skyencoder.go new file mode 100644 index 00000000..61d0ce66 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/introduction_message_skyencoder.go @@ -0,0 +1,162 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeIntroductionMessage computes the size of an encoded object of type IntroductionMessage +func encodeSizeIntroductionMessage(obj *IntroductionMessage) uint64 { + i0 := uint64(0) + + // obj.Mirror + i0 += 4 + + // obj.ListenPort + i0 += 2 + + // obj.ProtocolVersion + i0 += 4 + + // omitempty + if len(obj.Extra) != 0 { + + // obj.Extra + i0 += 4 + uint64(len(obj.Extra)) + + } + + return i0 +} + +// encodeIntroductionMessage encodes an object of type IntroductionMessage to a buffer allocated to the exact size +// required to encode the object. +func encodeIntroductionMessage(obj *IntroductionMessage) ([]byte, error) { + n := encodeSizeIntroductionMessage(obj) + buf := make([]byte, n) + + if err := encodeIntroductionMessageToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeIntroductionMessageToBuffer encodes an object of type IntroductionMessage to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeIntroductionMessageToBuffer(buf []byte, obj *IntroductionMessage) error { + if uint64(len(buf)) < encodeSizeIntroductionMessage(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Mirror + e.Uint32(obj.Mirror) + + // obj.ListenPort + e.Uint16(obj.ListenPort) + + // obj.ProtocolVersion + e.Int32(obj.ProtocolVersion) + + // omitempty + if len(obj.Extra) != 0 { + + // obj.Extra length check + if uint64(len(obj.Extra)) > math.MaxUint32 { + return errors.New("obj.Extra length exceeds math.MaxUint32") + } + + // obj.Extra length + e.Uint32(uint32(len(obj.Extra))) + + // obj.Extra copy + e.CopyBytes(obj.Extra) + + } + + return nil +} + +// decodeIntroductionMessage decodes an object of type IntroductionMessage from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeIntroductionMessage(buf []byte, obj *IntroductionMessage) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Mirror + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Mirror = i + } + + { + // obj.ListenPort + i, err := d.Uint16() + if err != nil { + return 0, err + } + obj.ListenPort = i + } + + { + // obj.ProtocolVersion + i, err := d.Int32() + if err != nil { + return 0, err + } + obj.ProtocolVersion = i + } + + { + // obj.Extra + + if len(d.Buffer) == 0 { + return uint64(len(buf) - len(d.Buffer)), nil + } + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length != 0 { + obj.Extra = make([]byte, length) + + copy(obj.Extra[:], d.Buffer[:length]) + d.Buffer = d.Buffer[length:] + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeIntroductionMessageExact decodes an object of type IntroductionMessage from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeIntroductionMessageExact(buf []byte, obj *IntroductionMessage) error { + if n, err := decodeIntroductionMessage(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/ip_addr_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/ip_addr_skyencoder.go new file mode 100644 index 00000000..73f6dbaf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/ip_addr_skyencoder.go @@ -0,0 +1,93 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import "github.com/skycoin/skycoin/src/cipher/encoder" + +// encodeSizeIPAddr computes the size of an encoded object of type IPAddr +func encodeSizeIPAddr(obj *IPAddr) uint64 { + i0 := uint64(0) + + // obj.IP + i0 += 4 + + // obj.Port + i0 += 2 + + return i0 +} + +// encodeIPAddr encodes an object of type IPAddr to a buffer allocated to the exact size +// required to encode the object. +func encodeIPAddr(obj *IPAddr) ([]byte, error) { + n := encodeSizeIPAddr(obj) + buf := make([]byte, n) + + if err := encodeIPAddrToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeIPAddrToBuffer encodes an object of type IPAddr to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeIPAddrToBuffer(buf []byte, obj *IPAddr) error { + if uint64(len(buf)) < encodeSizeIPAddr(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.IP + e.Uint32(obj.IP) + + // obj.Port + e.Uint16(obj.Port) + + return nil +} + +// decodeIPAddr decodes an object of type IPAddr from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeIPAddr(buf []byte, obj *IPAddr) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.IP + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.IP = i + } + + { + // obj.Port + i, err := d.Uint16() + if err != nil { + return 0, err + } + obj.Port = i + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeIPAddrExact decodes an object of type IPAddr from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeIPAddrExact(buf []byte, obj *IPAddr) error { + if n, err := decodeIPAddr(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/messages.go b/vendor/github.com/skycoin/skycoin/src/daemon/messages.go new file mode 100644 index 00000000..1a146566 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/messages.go @@ -0,0 +1,1390 @@ +package daemon + +import ( + "encoding/binary" + "errors" + "fmt" + "net" + "strings" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/daemon/gnet" + "github.com/skycoin/skycoin/src/daemon/pex" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/iputil" + "github.com/skycoin/skycoin/src/util/useragent" +) + +// Message represent a packet to be serialized over the network by +// the gnet encoder. +// They must implement the gnet.Message interface +// All concurrent daemon write operations are synchronized by the daemon's +// DaemonLoop(). +// Message do this by caching the gnet.MessageContext received in Handle() +// and placing itself on the messageEvent channel. +// When the message is retrieved from the messageEvent channel, its process() +// method is called. + +// MessageConfig config contains a gnet.Message's 4byte prefix and a +// reference interface +type MessageConfig struct { + Prefix gnet.MessagePrefix + Message interface{} +} + +// NewMessageConfig creates message config +func NewMessageConfig(prefix string, m interface{}) MessageConfig { + return MessageConfig{ + Message: m, + Prefix: gnet.MessagePrefixFromString(prefix), + } +} + +//go:generate skyencoder -unexported -struct IntroductionMessage +//go:generate skyencoder -unexported -struct GivePeersMessage +//go:generate skyencoder -unexported -struct GetBlocksMessage +//go:generate skyencoder -unexported -struct GiveBlocksMessage +//go:generate skyencoder -unexported -struct AnnounceBlocksMessage +//go:generate skyencoder -unexported -struct GetTxnsMessage +//go:generate skyencoder -unexported -struct GiveTxnsMessage +//go:generate skyencoder -unexported -struct AnnounceTxnsMessage +//go:generate skyencoder -unexported -struct DisconnectMessage +//go:generate skyencoder -unexported -struct IPAddr +//go:generate skyencoder -unexported -output-path . -package daemon -struct SignedBlock github.com/skycoin/skycoin/src/coin +//go:generate skyencoder -unexported -output-path . -package daemon -struct Transaction github.com/skycoin/skycoin/src/coin + +// Creates and populates the message configs +func getMessageConfigs() []MessageConfig { + return []MessageConfig{ + NewMessageConfig("INTR", IntroductionMessage{}), + NewMessageConfig("GETP", GetPeersMessage{}), + NewMessageConfig("GIVP", GivePeersMessage{}), + NewMessageConfig("PING", PingMessage{}), + NewMessageConfig("PONG", PongMessage{}), + NewMessageConfig("GETB", GetBlocksMessage{}), + NewMessageConfig("GIVB", GiveBlocksMessage{}), + NewMessageConfig("ANNB", AnnounceBlocksMessage{}), + NewMessageConfig("GETT", GetTxnsMessage{}), + NewMessageConfig("GIVT", GiveTxnsMessage{}), + NewMessageConfig("ANNT", AnnounceTxnsMessage{}), + NewMessageConfig("DISC", DisconnectMessage{}), + } +} + +// MessagesConfig slice of MessageConfig +type MessagesConfig struct { + // Message ID prefices + Messages []MessageConfig +} + +// NewMessagesConfig creates messages config +func NewMessagesConfig() MessagesConfig { + return MessagesConfig{ + Messages: getMessageConfigs(), + } +} + +// Register registers our Messages with gnet +func (msc *MessagesConfig) Register() { + for _, mc := range msc.Messages { + gnet.RegisterMessage(mc.Prefix, mc.Message) + } + gnet.VerifyMessages() +} + +// Messages messages struct +type Messages struct { + Config MessagesConfig +} + +// NewMessages creates Messages +func NewMessages(c MessagesConfig) *Messages { + return &Messages{ + Config: c, + } +} + +// IPAddr compact representation of IP:Port +type IPAddr struct { + IP uint32 + Port uint16 +} + +// NewIPAddr returns an IPAddr from an ip:port string. +func NewIPAddr(addr string) (ipaddr IPAddr, err error) { + ips, port, err := iputil.SplitAddr(addr) + if err != nil { + return + } + + // TODO -- support ipv6 + ipb := net.ParseIP(ips).To4() + if ipb == nil { + err = errors.New("Ignoring IPv6 address") + return + } + + ip := binary.BigEndian.Uint32(ipb) + ipaddr.IP = ip + ipaddr.Port = port + return +} + +// String returns IPAddr as "ip:port" +func (ipa IPAddr) String() string { + ipb := make([]byte, 4) + binary.BigEndian.PutUint32(ipb, ipa.IP) + return fmt.Sprintf("%s:%d", net.IP(ipb).String(), ipa.Port) +} + +// asyncMessage messages that perform an action when received must implement this interface. +// process() is called after the message is pulled off of messageEvent channel. +// Messages should place themselves on the messageEvent channel in their +// Handle() method required by gnet. +type asyncMessage interface { + process(d daemoner) +} + +// GetPeersMessage sent to request peers +type GetPeersMessage struct { + addr string `enc:"-"` +} + +// NewGetPeersMessage creates GetPeersMessage +func NewGetPeersMessage() *GetPeersMessage { + return &GetPeersMessage{} +} + +// EncodeSize implements gnet.Serializer +func (gpm *GetPeersMessage) EncodeSize() uint64 { + return 0 +} + +// Encode implements gnet.Serializer +func (gpm *GetPeersMessage) Encode(buf []byte) error { + return nil +} + +// Decode implements gnet.Serializer +func (gpm *GetPeersMessage) Decode(buf []byte) (uint64, error) { + return 0, nil +} + +// Handle handles message +func (gpm *GetPeersMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gpm.addr = mc.Addr + return daemon.(daemoner).recordMessageEvent(gpm, mc) +} + +// process Notifies the Pex instance that peers were requested +func (gpm *GetPeersMessage) process(d daemoner) { + if d.pexConfig().Disabled { + return + } + + if err := d.sendRandomPeers(gpm.addr); err != nil { + logger.WithField("addr", gpm.addr).WithError(err).Error("SendRandomPeers failed") + } +} + +// GivePeersMessage sent in response to GetPeersMessage +type GivePeersMessage struct { + Peers []IPAddr `enc:",maxlen=512"` + c *gnet.MessageContext `enc:"-"` +} + +// NewGivePeersMessage []*pex.Peer is converted to []IPAddr for binary transmission +// If the size of the message would exceed maxMsgLength, the IPAddr slice is truncated. +func NewGivePeersMessage(peers []pex.Peer, maxMsgLength uint64) *GivePeersMessage { + if len(peers) > 512 { + peers = peers[:512] + } + + ipaddrs := make([]IPAddr, 0, len(peers)) + for _, ps := range peers { + ipaddr, err := NewIPAddr(ps.Addr) + if err != nil { + logger.WithError(err).WithField("addr", ps.Addr).Warning("GivePeersMessage skipping invalid address") + continue + } + ipaddrs = append(ipaddrs, ipaddr) + } + + m := &GivePeersMessage{ + Peers: ipaddrs, + } + truncateGivePeersMessage(m, maxMsgLength) + return m +} + +// truncateGivePeersMessage truncates the blocks in GivePeersMessage to fit inside of MaxOutgoingMessageLength +func truncateGivePeersMessage(m *GivePeersMessage, maxMsgLength uint64) { + // The message length will include a 4 byte message type prefix. + // Panic if the prefix can't fit, otherwise we can't adjust the uint64 safely + if maxMsgLength < 4 { + logger.Panic("maxMsgLength must be >= 4") + } + + maxMsgLength -= 4 + + // Measure the current message size, if it fits, return + n := m.EncodeSize() + if n <= maxMsgLength { + return + } + + // Measure the size of an empty message + var mm GivePeersMessage + size := mm.EncodeSize() + + // Measure the size of the peers, advancing the slice index until it reaches capacity + index := -1 + for i, ip := range m.Peers { + x := encodeSizeIPAddr(&ip) + if size+x > maxMsgLength { + break + } + size += x + index = i + } + + m.Peers = m.Peers[:index+1] + + if len(m.Peers) == 0 { + logger.Critical().Error("truncateGivePeersMessage truncated peers to an empty slice") + } +} + +// EncodeSize implements gnet.Serializer +func (gpm *GivePeersMessage) EncodeSize() uint64 { + return encodeSizeGivePeersMessage(gpm) +} + +// Encode implements gnet.Serializer +func (gpm *GivePeersMessage) Encode(buf []byte) error { + return encodeGivePeersMessageToBuffer(buf, gpm) +} + +// Decode implements gnet.Serializer +func (gpm *GivePeersMessage) Decode(buf []byte) (uint64, error) { + return decodeGivePeersMessage(buf, gpm) +} + +// GetPeers is required by the pex.GivePeersMessage interface. +// It returns the peers contained in the message as an array of "ip:port" +// strings. +func (gpm *GivePeersMessage) GetPeers() []string { + peers := make([]string, len(gpm.Peers)) + for i, ipaddr := range gpm.Peers { + peers[i] = ipaddr.String() + } + return peers +} + +// Handle handle message +func (gpm *GivePeersMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gpm.c = mc + return daemon.(daemoner).recordMessageEvent(gpm, mc) +} + +// process Notifies the Pex instance that peers were received +func (gpm *GivePeersMessage) process(d daemoner) { + if d.pexConfig().Disabled { + return + } + + peers := gpm.GetPeers() + + if len(peers) == 0 { + return + } + + // Cap the number of peers printed in the log to prevent log spam abuse + peersToFmt := peers + if len(peersToFmt) > 30 { + peersToFmt = peersToFmt[:30] + } + peersStr := strings.Join(peersToFmt, ", ") + if len(peers) != len(peersToFmt) { + peersStr += fmt.Sprintf(" and %d more", len(peers)-len(peersToFmt)) + } + + logger.WithFields(logrus.Fields{ + "addr": gpm.c.Addr, + "gnetID": gpm.c.ConnID, + "peers": peersStr, + "count": len(peers), + }).Debug("Received peers via PEX") + + d.addPeers(peers) +} + +// IntroductionMessage is sent on first connect by both parties +type IntroductionMessage struct { + c *gnet.MessageContext `enc:"-"` + UserAgent useragent.Data `enc:"-"` + UnconfirmedVerifyTxn params.VerifyTxn `enc:"-"` + GenesisHash cipher.SHA256 `enc:"-"` + + // Mirror is a random value generated on client startup that is used to identify self-connections + Mirror uint32 + // ListenPort is the port that this client is listening on + ListenPort uint16 + // Protocol version + ProtocolVersion int32 + + // Extra is extra bytes added to the struct to accommodate multiple versions of this packet. + // Currently it contains the blockchain pubkey and user agent but will accept a client that does not provide it. + // If any of this data is provided, it must include a valid blockchain pubkey and a valid user agent string (maxlen=256). + // Contents of extra: + // ExtraByte uint32 // length prefix of []byte + // Pubkey cipher.Pubkey // blockchain pubkey + // BurnFactor uint32 // burn factor for announced txns + // MaxTxnSize uint32 // max txn size for announced txns + // MaxDropletPrecision uint8 // maximum number of decimal places for announced txns + // UserAgent string `enc:",maxlen=256"` + // GenesisHash cipher.SHA256 // genesis block hash + Extra []byte `enc:",omitempty"` +} + +// NewIntroductionMessage creates introduction message +func NewIntroductionMessage(mirror uint32, version int32, port uint16, pubkey cipher.PubKey, userAgent string, verifyParams params.VerifyTxn, genesisHash cipher.SHA256) *IntroductionMessage { + return &IntroductionMessage{ + Mirror: mirror, + ProtocolVersion: version, + ListenPort: port, + Extra: newIntroductionMessageExtra(pubkey, userAgent, verifyParams, genesisHash), + } +} + +func newIntroductionMessageExtra(pubkey cipher.PubKey, userAgent string, verifyParams params.VerifyTxn, genesisHash cipher.SHA256) []byte { + if len(userAgent) > useragent.MaxLen { + logger.WithFields(logrus.Fields{ + "userAgent": userAgent, + "maxLen": useragent.MaxLen, + }).Panic("user agent exceeds max len") + } + if userAgent == "" { + logger.Panic("user agent is required") + } + useragent.MustParse(userAgent) + + if err := verifyParams.Validate(); err != nil { + logger.Panic(err) + } + + userAgentSerialized := encoder.SerializeString(userAgent) + verifyParamsSerialized := encoder.Serialize(verifyParams) + + extra := make([]byte, len(pubkey)+len(userAgentSerialized)+len(verifyParamsSerialized)+len(genesisHash)) + + copy(extra[:len(pubkey)], pubkey[:]) + i := len(pubkey) + copy(extra[i:], verifyParamsSerialized) + i += len(verifyParamsSerialized) + copy(extra[i:], userAgentSerialized) + i += len(userAgentSerialized) + copy(extra[i:i+len(genesisHash)], genesisHash[:]) + + return extra +} + +// EncodeSize implements gnet.Serializer +func (intro *IntroductionMessage) EncodeSize() uint64 { + return encodeSizeIntroductionMessage(intro) +} + +// Encode implements gnet.Serializer +func (intro *IntroductionMessage) Encode(buf []byte) error { + return encodeIntroductionMessageToBuffer(buf, intro) +} + +// Decode implements gnet.Serializer +func (intro *IntroductionMessage) Decode(buf []byte) (uint64, error) { + return decodeIntroductionMessage(buf, intro) +} + +// Handle records message event in daemon +func (intro *IntroductionMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + intro.c = mc + return daemon.(daemoner).recordMessageEvent(intro, mc) +} + +// process an event queued by Handle() +func (intro *IntroductionMessage) process(d daemoner) { + addr := intro.c.Addr + + fields := logrus.Fields{ + "addr": addr, + "gnetID": intro.c.ConnID, + "listenPort": intro.ListenPort, + } + + logger.WithFields(fields).Debug("IntroductionMessage.process") + + if err := intro.Verify(d.DaemonConfig(), logrus.Fields{ + "addr": addr, + "gnetID": intro.c.ConnID, + }); err != nil { + if err := d.Disconnect(addr, err); err != nil { + logger.WithError(err).WithFields(fields).Warning("Disconnect") + } + return + } + + if _, err := d.connectionIntroduced(addr, intro.c.ConnID, intro); err != nil { + logger.WithError(err).WithFields(fields).Warning("connectionIntroduced failed") + var reason gnet.DisconnectReason + switch err { + // It is hypothetically possible that a message would get processed after + // a disconnect event for a given connection. + // In this case, drop the packet. + // Do not perform a disconnect, since this would operate on the new connection. + // This should be prevented by an earlier check in daemon.onMessageEvent() + case ErrConnectionGnetIDMismatch, ErrConnectionStateNotConnected, ErrConnectionAlreadyIntroduced: + logger.Critical().WithError(err).WithFields(fields).Warning("IntroductionMessage.process connection state out of order") + return + case ErrConnectionNotExist: + return + case ErrConnectionIPMirrorExists: + reason = ErrDisconnectConnectedTwice + case pex.ErrPeerlistFull: + reason = ErrDisconnectPeerlistFull + // Send more peers before disconnecting + logger.WithFields(fields).Debug("Sending peers before disconnecting due to peer list full") + if err := d.sendRandomPeers(addr); err != nil { + logger.WithError(err).WithFields(fields).Warning("sendRandomPeers failed") + } + default: + reason = ErrDisconnectUnexpectedError + } + + if err := d.Disconnect(addr, reason); err != nil { + logger.WithError(err).WithFields(fields).Warning("Disconnect") + } + + return + } + + // Request blocks immediately after they're confirmed + if err := d.requestBlocksFromAddr(addr); err != nil { + logger.WithError(err).WithFields(fields).Warning("requestBlocksFromAddr") + } else { + logger.WithFields(fields).Debug("Requested blocks") + } + + // Announce unconfirmed txns + if err := d.announceAllValidTxns(); err != nil { + logger.WithError(err).Warning("announceAllValidTxns failed") + } +} + +// Verify checks if the introduction message is valid returning the appropriate error +func (intro *IntroductionMessage) Verify(dc DaemonConfig, logFields logrus.Fields) error { + // Disconnect if this is a self connection (we have the same mirror value) + if intro.Mirror == dc.Mirror { + logger.WithFields(logFields).WithField("mirror", intro.Mirror).Info("Remote mirror value matches ours") + return ErrDisconnectSelf + } + + // Disconnect if peer version is not within the supported range + if intro.ProtocolVersion < dc.MinProtocolVersion { + logger.WithFields(logFields).WithFields(logrus.Fields{ + "protocolVersion": intro.ProtocolVersion, + "minProtocolVersion": dc.MinProtocolVersion, + }).Info("protocol version below minimum supported protocol version") + return ErrDisconnectVersionNotSupported + } + + logger.WithFields(logFields).WithField("protocolVersion", intro.ProtocolVersion).Debug("Peer protocol version accepted") + + // v24 does not send blockchain pubkey or user agent + // v25 sends blockchain pubkey and user agent + // v24 and v25 check the blockchain pubkey and user agent, would accept message with no Pubkey and user agent + // v26 would check the blockchain pubkey and reject if not matched or not provided, and parses a user agent + // v26 adds genesis hash + // v27 would require and check the genesis hash + extraLen := len(intro.Extra) + if extraLen == 0 { + logger.WithFields(logFields).Warning("Blockchain pubkey is not provided") + return ErrDisconnectBlockchainPubkeyNotProvided + } + + var bcPubKey cipher.PubKey + if extraLen < len(bcPubKey) { + logger.WithFields(logFields).Warning("Extra data length does not meet the minimum requirement") + return ErrDisconnectInvalidExtraData + } + copy(bcPubKey[:], intro.Extra[:len(bcPubKey)]) + + if dc.BlockchainPubkey != bcPubKey { + logger.WithFields(logFields).WithFields(logrus.Fields{ + "pubkey": bcPubKey.Hex(), + "daemonPubkey": dc.BlockchainPubkey.Hex(), + }).Warning("Blockchain pubkey does not match") + return ErrDisconnectBlockchainPubkeyNotMatched + } + + i := len(bcPubKey) + if extraLen < i+9 { + logger.WithFields(logFields).Warning("IntroductionMessage transaction verification parameters could not be deserialized: not enough data") + return ErrDisconnectInvalidExtraData + } + if err := encoder.DeserializeRawExact(intro.Extra[i:i+9], &intro.UnconfirmedVerifyTxn); err != nil { + // This should not occur due to the previous length check + logger.Critical().WithError(err).WithFields(logFields).Warning("unconfirmedVerifyTxn params could not be deserialized") + return ErrDisconnectInvalidExtraData + } + i += 9 + + if err := intro.UnconfirmedVerifyTxn.Validate(); err != nil { + logger.WithError(err).WithFields(logFields).WithFields(logrus.Fields{ + "burnFactor": intro.UnconfirmedVerifyTxn.BurnFactor, + "maxTransactionSize": intro.UnconfirmedVerifyTxn.MaxTransactionSize, + "maxDropletPrecision": intro.UnconfirmedVerifyTxn.MaxDropletPrecision, + }).Warning("Invalid unconfirmedVerifyTxn params") + switch err { + case params.ErrInvalidBurnFactor: + return ErrDisconnectInvalidBurnFactor + case params.ErrInvalidMaxTransactionSize: + return ErrDisconnectInvalidMaxTransactionSize + case params.ErrInvalidMaxDropletPrecision: + return ErrDisconnectInvalidMaxDropletPrecision + default: + return ErrDisconnectUnexpectedError + } + } + + userAgentSerialized := intro.Extra[i:] + userAgent, userAgentLen, err := encoder.DeserializeString(userAgentSerialized, useragent.MaxLen) + if err != nil { + logger.WithError(err).WithFields(logFields).Warning("Extra data user agent string could not be deserialized") + return ErrDisconnectInvalidExtraData + } + + intro.UserAgent, err = useragent.Parse(useragent.Sanitize(userAgent)) + if err != nil { + logger.WithError(err).WithFields(logFields).WithField("userAgent", userAgent).Warning("User agent is invalid") + return ErrDisconnectInvalidUserAgent + } + i += int(userAgentLen) + + remainingLen := extraLen - i + if remainingLen > 0 && remainingLen < len(intro.GenesisHash) { + logger.WithFields(logFields).Warning("Extra data genesis hash could not be deserialized: not enough data") + return ErrDisconnectInvalidExtraData + } + copy(intro.GenesisHash[:], intro.Extra[i:]) + + return nil +} + +// PingMessage Sent to keep a connection alive. A PongMessage is sent in reply. +type PingMessage struct { + c *gnet.MessageContext `enc:"-"` +} + +// EncodeSize implements gnet.Serializer +func (ping *PingMessage) EncodeSize() uint64 { + return 0 +} + +// Encode implements gnet.Serializer +func (ping *PingMessage) Encode(buf []byte) error { + return nil +} + +// Decode implements gnet.Serializer +func (ping *PingMessage) Decode(buf []byte) (uint64, error) { + return 0, nil +} + +// Handle implements the Messager interface +func (ping *PingMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + ping.c = mc + return daemon.(daemoner).recordMessageEvent(ping, mc) +} + +// process Sends a PongMessage to the sender of PingMessage +func (ping *PingMessage) process(d daemoner) { + fields := logrus.Fields{ + "addr": ping.c.Addr, + "gnetID": ping.c.ConnID, + } + + if d.DaemonConfig().LogPings { + logger.WithFields(fields).Debug("Replying to ping") + } + if err := d.sendMessage(ping.c.Addr, &PongMessage{}); err != nil { + logger.WithFields(fields).WithError(err).Error("Send PongMessage failed") + } +} + +// PongMessage Sent in reply to a PingMessage. No action is taken when this is received. +type PongMessage struct { +} + +// EncodeSize implements gnet.Serializer +func (pong *PongMessage) EncodeSize() uint64 { + return 0 +} + +// Encode implements gnet.Serializer +func (pong *PongMessage) Encode(buf []byte) error { + return nil +} + +// Decode implements gnet.Serializer +func (pong *PongMessage) Decode(buf []byte) (uint64, error) { + return 0, nil +} + +// Handle handles message +func (pong *PongMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + // There is nothing to do; gnet updates Connection.LastMessage internally + // when this is received + if daemon.(daemoner).DaemonConfig().LogPings { + logger.WithFields(logrus.Fields{ + "addr": mc.Addr, + "gnetID": mc.ConnID, + }).Debug("Received pong") + } + return nil +} + +// DisconnectMessage sent to a peer before disconnecting, indicating the reason for disconnect +type DisconnectMessage struct { + c *gnet.MessageContext `enc:"-"` + reason gnet.DisconnectReason `enc:"-"` + + // Error code + ReasonCode uint16 + + // Reserved for future use + Reserved []byte +} + +// NewDisconnectMessage creates message sent to reject previously received message +func NewDisconnectMessage(reason gnet.DisconnectReason) *DisconnectMessage { + return &DisconnectMessage{ + reason: reason, + ReasonCode: DisconnectReasonToCode(reason), + Reserved: nil, + } +} + +// EncodeSize implements gnet.Serializer +func (dm *DisconnectMessage) EncodeSize() uint64 { + return encodeSizeDisconnectMessage(dm) +} + +// Encode implements gnet.Serializer +func (dm *DisconnectMessage) Encode(buf []byte) error { + return encodeDisconnectMessageToBuffer(buf, dm) +} + +// Decode implements gnet.Serializer +func (dm *DisconnectMessage) Decode(buf []byte) (uint64, error) { + return decodeDisconnectMessage(buf, dm) +} + +// Handle an event queued by Handle() +func (dm *DisconnectMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + dm.c = mc + return daemon.(daemoner).recordMessageEvent(dm, mc) +} + +// process disconnect message by reflexively disconnecting +func (dm *DisconnectMessage) process(d daemoner) { + logger.WithFields(logrus.Fields{ + "addr": dm.c.Addr, + "gnetID": dm.c.ConnID, + "code": dm.ReasonCode, + "reason": DisconnectCodeToReason(dm.ReasonCode), + }).Infof("DisconnectMessage received") + + if err := d.disconnectNow(dm.c.Addr, ErrDisconnectReceivedDisconnect); err != nil { + logger.WithError(err).WithField("addr", dm.c.Addr).Warning("disconnectNow") + } +} + +// GetBlocksMessage sent to request blocks since LastBlock +type GetBlocksMessage struct { + LastBlock uint64 + RequestedBlocks uint64 + c *gnet.MessageContext `enc:"-"` +} + +// NewGetBlocksMessage creates GetBlocksMessage +func NewGetBlocksMessage(lastBlock, requestedBlocks uint64) *GetBlocksMessage { + return &GetBlocksMessage{ + LastBlock: lastBlock, + RequestedBlocks: requestedBlocks, + } +} + +// EncodeSize implements gnet.Serializer +func (gbm *GetBlocksMessage) EncodeSize() uint64 { + return encodeSizeGetBlocksMessage(gbm) +} + +// Encode implements gnet.Serializer +func (gbm *GetBlocksMessage) Encode(buf []byte) error { + return encodeGetBlocksMessageToBuffer(buf, gbm) +} + +// Decode implements gnet.Serializer +func (gbm *GetBlocksMessage) Decode(buf []byte) (uint64, error) { + return decodeGetBlocksMessage(buf, gbm) +} + +// Handle handles message +func (gbm *GetBlocksMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gbm.c = mc + return daemon.(daemoner).recordMessageEvent(gbm, mc) +} + +// process should send number to be requested, with request +func (gbm *GetBlocksMessage) process(d daemoner) { + dc := d.DaemonConfig() + if dc.DisableNetworking { + return + } + + fields := logrus.Fields{ + "addr": gbm.c.Addr, + "gnetID": gbm.c.ConnID, + } + + // Record this as this peer's highest block + d.recordPeerHeight(gbm.c.Addr, gbm.c.ConnID, gbm.LastBlock) + + // Cap the number of requested blocks (TODO - necessary since we have size limits enforced later?) + requestedBlocks := gbm.RequestedBlocks + if requestedBlocks > dc.MaxGetBlocksResponseCount { + logger.WithFields(logrus.Fields{ + "requestedBlocks": requestedBlocks, + "maxRequestedBlocks": dc.MaxGetBlocksResponseCount, + }).WithFields(fields).Debug("GetBlocksMessage.RequestedBlocks value exceeds configured limit, reducing") + requestedBlocks = dc.MaxGetBlocksResponseCount + } + + // Fetch and return signed blocks since LastBlock + blocks, err := d.getSignedBlocksSince(gbm.LastBlock, requestedBlocks) + if err != nil { + logger.WithFields(fields).WithError(err).Error("getSignedBlocksSince failed") + return + } + + if len(blocks) == 0 { + return + } + + logger.WithFields(fields).Debugf("GetBlocksMessage: replying with %d blocks after block %d", len(blocks), gbm.LastBlock) + + m := NewGiveBlocksMessage(blocks, dc.MaxOutgoingMessageLength) + if len(m.Blocks) != len(blocks) { + logger.WithField("startBlockSeq", blocks[0].Head.BkSeq).WithFields(fields).Warningf("NewGiveBlocksMessage truncated %d blocks to %d blocks", len(blocks), len(m.Blocks)) + } + + if err := d.sendMessage(gbm.c.Addr, m); err != nil { + logger.WithFields(fields).WithError(err).Error("Send GiveBlocksMessage failed") + } +} + +// GiveBlocksMessage sent in response to GetBlocksMessage, or unsolicited +type GiveBlocksMessage struct { + Blocks []coin.SignedBlock `enc:",maxlen=128"` + c *gnet.MessageContext `enc:"-"` +} + +// NewGiveBlocksMessage creates GiveBlocksMessage. +// If the size of message would exceed maxMsgLength, the block slice is truncated. +func NewGiveBlocksMessage(blocks []coin.SignedBlock, maxMsgLength uint64) *GiveBlocksMessage { + if len(blocks) > 128 { + blocks = blocks[:128] + } + m := &GiveBlocksMessage{ + Blocks: blocks, + } + truncateGiveBlocksMessage(m, maxMsgLength) + return m +} + +// truncateGiveBlocksMessage truncates the blocks in GiveBlocksMessage to fit inside of MaxOutgoingMessageLength +func truncateGiveBlocksMessage(m *GiveBlocksMessage, maxMsgLength uint64) { + // The message length will include a 4 byte message type prefix. + // Panic if the prefix can't fit, otherwise we can't adjust the uint64 safely + if maxMsgLength < 4 { + logger.Panic("maxMsgLength must be >= 4") + } + + maxMsgLength -= 4 + + // Measure the current message size, if it fits, return + n := m.EncodeSize() + if n <= maxMsgLength { + return + } + + // Measure the size of an empty message + var mm GiveBlocksMessage + size := mm.EncodeSize() + + // Measure the size of the blocks, advancing the slice index until it reaches capacity + index := -1 + for i, b := range m.Blocks { + x := encodeSizeSignedBlock(&b) + if size+x > maxMsgLength { + break + } + size += x + index = i + } + + m.Blocks = m.Blocks[:index+1] + + if len(m.Blocks) == 0 { + logger.Critical().Error("truncateGiveBlocksMessage truncated blocks to an empty slice") + } +} + +// EncodeSize implements gnet.Serializer +func (m *GiveBlocksMessage) EncodeSize() uint64 { + return encodeSizeGiveBlocksMessage(m) +} + +// Encode implements gnet.Serializer +func (m *GiveBlocksMessage) Encode(buf []byte) error { + return encodeGiveBlocksMessageToBuffer(buf, m) +} + +// Decode implements gnet.Serializer +func (m *GiveBlocksMessage) Decode(buf []byte) (uint64, error) { + return decodeGiveBlocksMessage(buf, m) +} + +// Handle handle message +func (m *GiveBlocksMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + m.c = mc + return daemon.(daemoner).recordMessageEvent(m, mc) +} + +// process process message +func (m *GiveBlocksMessage) process(d daemoner) { + if d.DaemonConfig().DisableNetworking { + logger.Critical().Info("Visor disabled, ignoring GiveBlocksMessage") + return + } + + // These DB queries are not performed in a transaction for performance reasons. + // It is not necessary that the blocks be executed together in a single transaction. + + processed := 0 + maxSeq, ok, err := d.headBkSeq() + if err != nil { + logger.WithError(err).Error("d.headBkSeq failed") + return + } + if !ok { + logger.Error("No HeadBkSeq found, cannot execute blocks") + return + } + + for _, b := range m.Blocks { + // To minimize waste when receiving multiple responses from peers + // we only break out of the loop if the block itself is invalid. + // E.g. if we request 20 blocks since 0 from 2 peers, and one peer + // replies with 15 and the other 20, if we did not do this check and + // the reply with 15 was received first, we would toss the one with 20 + // even though we could process it at the time. + if b.Seq() <= maxSeq { + continue + } + + err := d.executeSignedBlock(b) + if err == nil { + logger.Critical().WithField("seq", b.Block.Head.BkSeq).Info("Added new block") + processed++ + } else { + logger.Critical().WithError(err).WithField("seq", b.Block.Head.BkSeq).Error("Failed to execute received block") + // Blocks must be received in order, so if one fails its assumed + // the rest are failing + break + } + } + if processed == 0 { + return + } + + headBkSeq, ok, err := d.headBkSeq() + if err != nil { + logger.WithError(err).Error("d.headBkSeq failed") + return + } + if !ok { + logger.Error("No HeadBkSeq found after executing blocks, will not announce blocks") + return + } + + if headBkSeq < maxSeq { + logger.Critical().Warning("HeadBkSeq decreased after executing blocks") + } else if headBkSeq-maxSeq != uint64(processed) { + logger.Critical().Warning("HeadBkSeq increased by %d but we processed %s blocks", headBkSeq-maxSeq, processed) + } + + // Announce our new blocks to peers + abm := NewAnnounceBlocksMessage(headBkSeq) + if _, err := d.broadcastMessage(abm); err != nil { + logger.WithError(err).Warning("Broadcast AnnounceBlocksMessage failed") + } + + // Request more blocks + gbm := NewGetBlocksMessage(headBkSeq, d.DaemonConfig().GetBlocksRequestCount) + if _, err := d.broadcastMessage(gbm); err != nil { + logger.WithError(err).Warning("Broadcast GetBlocksMessage failed") + } +} + +// AnnounceBlocksMessage tells a peer our highest known BkSeq. The receiving peer can choose +// to send GetBlocksMessage in response +type AnnounceBlocksMessage struct { + MaxBkSeq uint64 + c *gnet.MessageContext `enc:"-"` +} + +// NewAnnounceBlocksMessage creates message +func NewAnnounceBlocksMessage(seq uint64) *AnnounceBlocksMessage { + return &AnnounceBlocksMessage{ + MaxBkSeq: seq, + } +} + +// EncodeSize implements gnet.Serializer +func (abm *AnnounceBlocksMessage) EncodeSize() uint64 { + return encodeSizeAnnounceBlocksMessage(abm) +} + +// Encode implements gnet.Serializer +func (abm *AnnounceBlocksMessage) Encode(buf []byte) error { + return encodeAnnounceBlocksMessageToBuffer(buf, abm) +} + +// Decode implements gnet.Serializer +func (abm *AnnounceBlocksMessage) Decode(buf []byte) (uint64, error) { + return decodeAnnounceBlocksMessage(buf, abm) +} + +// Handle handles message +func (abm *AnnounceBlocksMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + abm.c = mc + return daemon.(daemoner).recordMessageEvent(abm, mc) +} + +// process process message +func (abm *AnnounceBlocksMessage) process(d daemoner) { + if d.DaemonConfig().DisableNetworking { + return + } + + fields := logrus.Fields{ + "addr": abm.c.Addr, + "gnetID": abm.c.ConnID, + } + + headBkSeq, ok, err := d.headBkSeq() + if err != nil { + logger.WithError(err).Error("AnnounceBlocksMessage d.headBkSeq failed") + return + } + if !ok { + logger.Error("AnnounceBlocksMessage no head block, cannot process AnnounceBlocksMessage") + return + } + + if headBkSeq >= abm.MaxBkSeq { + return + } + + // TODO: Should this be block get request for current sequence? + // If client is not caught up, won't attempt to get block + m := NewGetBlocksMessage(headBkSeq, d.DaemonConfig().GetBlocksRequestCount) + if err := d.sendMessage(abm.c.Addr, m); err != nil { + logger.WithError(err).WithFields(fields).Error("Send GetBlocksMessage") + } +} + +// SendingTxnsMessage send transaction message interface +type SendingTxnsMessage interface { + GetFiltered() []cipher.SHA256 +} + +// AnnounceTxnsMessage tells a peer that we have these transactions +type AnnounceTxnsMessage struct { + Transactions []cipher.SHA256 `enc:",maxlen=256"` + c *gnet.MessageContext `enc:"-"` +} + +// NewAnnounceTxnsMessage creates announce txns message. +// If the size of the message would exceed maxMsgLength, the hashes slice is truncated. +func NewAnnounceTxnsMessage(txns []cipher.SHA256, maxMsgLength uint64) *AnnounceTxnsMessage { + if len(txns) > 256 { + txns = txns[:256] + } + m := &AnnounceTxnsMessage{ + Transactions: txns, + } + hashes := truncateAnnounceTxnsHashes(m, maxMsgLength) + m.Transactions = hashes + return m +} + +// truncateAnnounceTxnsHashes truncates the hashes in AnnounceTxnsMessage to fit inside of MaxOutgoingMessageLength +func truncateAnnounceTxnsHashes(m *AnnounceTxnsMessage, maxMsgLength uint64) []cipher.SHA256 { + // The message length will include a 4 byte message type prefix. + // Panic if the prefix can't fit, otherwise we can't adjust the uint64 safely + if maxMsgLength < 4 { + logger.Panic("maxMsgLength must be >= 4") + } + + maxMsgLength -= 4 + + // Measure the current message size, if it fits, return + n := m.EncodeSize() + if n <= maxMsgLength { + return m.Transactions + } + + // Measure the size of an empty message + var mm AnnounceTxnsMessage + size := mm.EncodeSize() + + if maxMsgLength < size { + logger.Panic("maxMsgLength must be <= 4 + sizeof(empty AnnounceTxnsMessage)") + } + + maxMsgLength -= size + + hashes := truncateSHA256Slice(m.Transactions, maxMsgLength) + + if len(hashes) == 0 { + logger.Critical().Error("truncateAnnounceTxnsHashes truncated hashes to an empty slice") + } + + return hashes +} + +func truncateSHA256Slice(hashes []cipher.SHA256, maxLength uint64) []cipher.SHA256 { + if len(hashes) == 0 { + return hashes + } + + size := len(hashes[0]) + + n := maxLength / uint64(size) + + if n > uint64(len(hashes)) { + return hashes + } + + return hashes[:n] +} + +// EncodeSize implements gnet.Serializer +func (atm *AnnounceTxnsMessage) EncodeSize() uint64 { + return encodeSizeAnnounceTxnsMessage(atm) +} + +// Encode implements gnet.Serializer +func (atm *AnnounceTxnsMessage) Encode(buf []byte) error { + return encodeAnnounceTxnsMessageToBuffer(buf, atm) +} + +// Decode implements gnet.Serializer +func (atm *AnnounceTxnsMessage) Decode(buf []byte) (uint64, error) { + return decodeAnnounceTxnsMessage(buf, atm) +} + +// GetFiltered returns txns +func (atm *AnnounceTxnsMessage) GetFiltered() []cipher.SHA256 { + return atm.Transactions +} + +// Handle handle message +func (atm *AnnounceTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + atm.c = mc + return daemon.(daemoner).recordMessageEvent(atm, mc) +} + +// process process message +func (atm *AnnounceTxnsMessage) process(d daemoner) { + dc := d.DaemonConfig() + if dc.DisableNetworking { + return + } + + fields := logrus.Fields{ + "addr": atm.c.Addr, + "gnetID": atm.c.ConnID, + } + + unknown, err := d.filterKnownUnconfirmed(atm.Transactions) + if err != nil { + logger.WithError(err).Error("AnnounceTxnsMessage d.filterKnownUnconfirmed failed") + return + } + + if len(unknown) == 0 { + return + } + + m := NewGetTxnsMessage(unknown, dc.MaxOutgoingMessageLength) + if len(m.Transactions) != len(unknown) { + logger.Warningf("NewGetTxnsMessage truncated %d hashes to %d hashes", len(unknown), len(m.Transactions)) + } + + if err := d.sendMessage(atm.c.Addr, m); err != nil { + logger.WithFields(fields).WithError(err).Error("Send GetTxnsMessage failed") + } +} + +// GetTxnsMessage request transactions of given hash +type GetTxnsMessage struct { + Transactions []cipher.SHA256 `enc:",maxlen=256"` + c *gnet.MessageContext `enc:"-"` +} + +// NewGetTxnsMessage creates GetTxnsMessage. +// If the size of the message would exceed maxMsgLength, the hashes slice is truncated. +func NewGetTxnsMessage(txns []cipher.SHA256, maxMsgLength uint64) *GetTxnsMessage { + if len(txns) > 256 { + txns = txns[:256] + } + m := &GetTxnsMessage{ + Transactions: txns, + } + hashes := truncateGetTxnsHashes(m, maxMsgLength) + m.Transactions = hashes + return m +} + +// truncateGetTxnsHashes truncates the hashes in GetTxnsMessage to fit inside of MaxOutgoingMessageLength +func truncateGetTxnsHashes(m *GetTxnsMessage, maxMsgLength uint64) []cipher.SHA256 { + // The message length will include a 4 byte message type prefix. + // Panic if the prefix can't fit, otherwise we can't adjust the uint64 safely + if maxMsgLength < 4 { + logger.Panic("maxMsgLength must be >= 4") + } + + maxMsgLength -= 4 + + // Measure the current message size, if it fits, return + n := m.EncodeSize() + if n <= maxMsgLength { + return m.Transactions + } + + // Measure the size of an empty message + var mm GetTxnsMessage + size := mm.EncodeSize() + + if maxMsgLength < size { + logger.Panic("maxMsgLength must be <= 4 + sizeof(empty GetTxnsMessage)") + } + + maxMsgLength -= size + + hashes := truncateSHA256Slice(m.Transactions, maxMsgLength) + + if len(hashes) == 0 { + logger.Critical().Error("truncateGetTxnsHashes truncated hashes to an empty slice") + } + + return hashes +} + +// EncodeSize implements gnet.Serializer +func (gtm *GetTxnsMessage) EncodeSize() uint64 { + return encodeSizeGetTxnsMessage(gtm) +} + +// Encode implements gnet.Serializer +func (gtm *GetTxnsMessage) Encode(buf []byte) error { + return encodeGetTxnsMessageToBuffer(buf, gtm) +} + +// Decode implements gnet.Serializer +func (gtm *GetTxnsMessage) Decode(buf []byte) (uint64, error) { + return decodeGetTxnsMessage(buf, gtm) +} + +// Handle handle message +func (gtm *GetTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gtm.c = mc + return daemon.(daemoner).recordMessageEvent(gtm, mc) +} + +// process process message +func (gtm *GetTxnsMessage) process(d daemoner) { + dc := d.DaemonConfig() + if dc.DisableNetworking { + return + } + + fields := logrus.Fields{ + "addr": gtm.c.Addr, + "gnetID": gtm.c.ConnID, + } + + // Locate all txns from the unconfirmed pool + known, err := d.getKnownUnconfirmed(gtm.Transactions) + if err != nil { + logger.WithError(err).Error("GetTxnsMessage d.getKnownUnconfirmed failed") + return + } + if len(known) == 0 { + return + } + + // Reply to sender with GiveTxnsMessage + m := NewGiveTxnsMessage(known, dc.MaxOutgoingMessageLength) + if len(m.Transactions) != len(known) { + logger.Warningf("NewGiveTxnsMessage truncated %d hashes to %d hashes", len(known), len(m.Transactions)) + } + + if err := d.sendMessage(gtm.c.Addr, m); err != nil { + logger.WithError(err).WithFields(fields).Error("Send GiveTxnsMessage") + } +} + +// GiveTxnsMessage tells the transaction of given hashes +type GiveTxnsMessage struct { + Transactions []coin.Transaction `enc:",maxlen=256"` + c *gnet.MessageContext `enc:"-"` +} + +// NewGiveTxnsMessage creates GiveTxnsMessage. +// If the size of the message would exceed maxMsgLength, the transactions slice is truncated. +func NewGiveTxnsMessage(txns []coin.Transaction, maxMsgLength uint64) *GiveTxnsMessage { + if len(txns) > 256 { + txns = txns[:256] + } + m := &GiveTxnsMessage{ + Transactions: txns, + } + truncateGiveTxnsMessage(m, maxMsgLength) + return m +} + +// truncateGiveTxnsMessage truncates the transactions in GiveTxnsMessage to fit inside of MaxOutgoingMessageLength +func truncateGiveTxnsMessage(m *GiveTxnsMessage, maxMsgLength uint64) { + // The message length will include a 4 byte message type prefix. + // Panic if the prefix can't fit, otherwise we can't adjust the uint64 safely + if maxMsgLength < 4 { + logger.Panic("maxMsgLength must be >= 4") + } + + maxMsgLength -= 4 + + // Measure the current message size, if it fits, return + n := m.EncodeSize() + if n <= maxMsgLength { + return + } + + // Measure the size of an empty message + var mm GiveTxnsMessage + size := mm.EncodeSize() + + // Measure the size of the txns, advancing the slice index until it reaches capacity + index := -1 + for i, txn := range m.Transactions { + x := encodeSizeTransaction(&txn) + if size+x > maxMsgLength { + break + } + size += x + index = i + } + + m.Transactions = m.Transactions[:index+1] + + if len(m.Transactions) == 0 { + logger.Critical().Error("truncateGiveTxnsMessage truncated txns to an empty slice") + } +} + +// EncodeSize implements gnet.Serializer +func (gtm *GiveTxnsMessage) EncodeSize() uint64 { + return encodeSizeGiveTxnsMessage(gtm) +} + +// Encode implements gnet.Serializer +func (gtm *GiveTxnsMessage) Encode(buf []byte) error { + return encodeGiveTxnsMessageToBuffer(buf, gtm) +} + +// Decode implements gnet.Serializer +func (gtm *GiveTxnsMessage) Decode(buf []byte) (uint64, error) { + return decodeGiveTxnsMessage(buf, gtm) +} + +// GetFiltered returns transactions hashes +func (gtm *GiveTxnsMessage) GetFiltered() []cipher.SHA256 { + return coin.Transactions(gtm.Transactions).Hashes() +} + +// Handle handle message +func (gtm *GiveTxnsMessage) Handle(mc *gnet.MessageContext, daemon interface{}) error { + gtm.c = mc + return daemon.(daemoner).recordMessageEvent(gtm, mc) +} + +// process process message +func (gtm *GiveTxnsMessage) process(d daemoner) { + dc := d.DaemonConfig() + if dc.DisableNetworking { + return + } + + hashes := make([]cipher.SHA256, 0, len(gtm.Transactions)) + // Update unconfirmed pool with these transactions + for _, txn := range gtm.Transactions { + // Only announce transactions that are new to us, so that peers can't spam relays + // It is not necessary to inject all of the transactions inside a database transaction, + // since each is independent + known, softErr, err := d.injectTransaction(txn) + if err != nil { + logger.WithError(err).WithField("txid", txn.Hash().Hex()).Warning("Failed to record transaction") + continue + } else if softErr != nil { + logger.WithError(softErr).WithField("txid", txn.Hash().Hex()).Warning("Transaction soft violation") + // Allow soft txn violations to rebroadcast + } else if known { + logger.WithField("txid", txn.Hash().Hex()).Debug("Duplicate transaction") + continue + } + + hashes = append(hashes, txn.Hash()) + } + + if len(hashes) == 0 { + return + } + + // Announce these transactions to peers + m := NewAnnounceTxnsMessage(hashes, dc.MaxOutgoingMessageLength) + if len(m.Transactions) != len(hashes) { + logger.Warningf("NewAnnounceTxnsMessage truncated %d hashes to %d hashes", len(hashes), len(m.Transactions)) + } + + if ids, err := d.broadcastMessage(m); err != nil { + logger.WithError(err).Warning("Broadcast AnnounceTxnsMessage failed") + } else { + logger.Debugf("Announced %d transactions to %d peers", len(hashes), len(ids)) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pex/README.md b/vendor/github.com/skycoin/skycoin/src/daemon/pex/README.md new file mode 100644 index 00000000..ffaf675a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pex/README.md @@ -0,0 +1,8 @@ +pex +=== + +Tools for implementing peer exchange (PEX) with Go + +[![GoDoc](http://godoc.org/github.com//skycoin/pex?status.png)](http://godoc.org/github.com/skycoin/skycoin/src/daemon/pex) + +[Godoc generated documentation](http://godoc.org/github.com/skycoin/skycoin/src/daemon/pex) diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist.go b/vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist.go new file mode 100644 index 00000000..f48b1ebe --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pex/peerlist.go @@ -0,0 +1,417 @@ +package pex + +import ( + "encoding/json" + "fmt" + "io" + "math/rand" + "os" + "time" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/util/useragent" +) + +// Peers peer list +type Peers []Peer + +// ToAddrs returns the address list +func (ps Peers) ToAddrs() []string { + addrs := make([]string, 0, len(ps)) + for _, p := range ps { + addrs = append(addrs, p.Addr) + } + return addrs +} + +// peerlist is a map of addresses to *PeerStates +type peerlist struct { + peers map[string]*Peer +} + +func newPeerlist() peerlist { + return peerlist{ + peers: make(map[string]*Peer), + } +} + +// Filter peers filter +type Filter func(peer Peer) bool + +// loadCachedPeersFile loads peers from the cached peers.json file +func loadCachedPeersFile(path string) (map[string]*Peer, error) { + peersJSON := make(map[string]PeerJSON) + err := file.LoadJSON(path, &peersJSON) + + if os.IsNotExist(err) { + logger.WithField("path", path).Info("File does not exist") + return nil, nil + } else if err == io.EOF { + logger.WithField("path", path).Error("Corrupt or empty file") + return nil, nil + } + + if err != nil { + logger.WithField("path", path).WithError(err).Error("Failed to load peers file") + return nil, err + } + + peers := make(map[string]*Peer, len(peersJSON)) + for addr, peerJSON := range peersJSON { + fields := logrus.Fields{ + "addr": addr, + "path": path, + } + + a, err := validateAddress(addr, true) + + if err != nil { + logger.WithError(err).WithFields(fields).Error("Invalid address in peers JSON file") + continue + } + + peer, err := newPeerFromJSON(peerJSON) + if err != nil { + logger.WithError(err).WithFields(fields).Error("newPeerFromJSON failed") + continue + } + + if a != peer.Addr { + fields["peerAddr"] = peer.Addr + logger.WithFields(fields).Error("Address key does not match Peer.Addr") + continue + } + + peers[a] = peer + } + + return peers, nil +} + +func (pl *peerlist) setPeers(peers []Peer) { + for _, p := range peers { + np := p + pl.peers[p.Addr] = &np + } +} + +func (pl *peerlist) hasPeer(addr string) bool { + p, ok := pl.peers[addr] + return ok && p != nil +} + +func (pl *peerlist) addPeer(addr string) { + if p, ok := pl.peers[addr]; ok && p != nil { + p.Seen() + return + } + + peer := NewPeer(addr) + pl.peers[addr] = peer +} + +func (pl *peerlist) addPeers(addrs []string) { + for _, addr := range addrs { + pl.addPeer(addr) + } +} + +func (pl *peerlist) seen(addr string) { + if p, ok := pl.peers[addr]; ok && p != nil { + p.Seen() + } +} + +// getCanTryPeers returns all peers that are triable(retried times blew exponential backoff times) +// and are able to pass the filters. +func (pl *peerlist) getCanTryPeers(flts []Filter) Peers { + ps := make(Peers, 0) + flts = append([]Filter{canTry}, flts...) +loop: + for _, p := range pl.peers { + for i := range flts { + if !flts[i](*p) { + continue loop + } + } + + ps = append(ps, *p) + } + + return ps +} + +// getPeers returns all peers that can pass the filters. +func (pl *peerlist) getPeers(flts []Filter) Peers { + ps := make(Peers, 0) +loop: + for _, p := range pl.peers { + for i := range flts { + if !flts[i](*p) { + continue loop + } + } + + ps = append(ps, *p) + } + + return ps +} + +// filters +func isPrivate(p Peer) bool { + return p.Private +} + +func isPublic(p Peer) bool { + return !p.Private +} + +func isTrusted(p Peer) bool { + return p.Trusted +} + +func hasIncomingPort(p Peer) bool { + return p.HasIncomingPort +} + +func canTry(p Peer) bool { + return p.CanTry() +} + +// isExchangeable filters exchangeable peers +var isExchangeable = []Filter{hasIncomingPort, isPublic} + +// removePeer removes peer +func (pl *peerlist) removePeer(addr string) { + delete(pl.peers, addr) +} + +// SetPrivate sets specific peer as private +func (pl *peerlist) setPrivate(addr string, private bool) error { + if p, ok := pl.peers[addr]; ok { + p.Private = private + return nil + } + + return fmt.Errorf("set peer.Private failed: %v does not exist in peer list", addr) +} + +// setTrusted sets peer as trusted peer +func (pl *peerlist) setTrusted(addr string, trusted bool) error { + if p, ok := pl.peers[addr]; ok { + p.Trusted = trusted + return nil + } + + return fmt.Errorf("set peer.Trusted failed: %v does not exist in peer list", addr) +} + +// setAllUntrusted unsets the trusted field on all peers +func (pl *peerlist) setAllUntrusted() { + for _, p := range pl.peers { + p.Trusted = false + } +} + +// setHasIncomingPort marks the peer's port as being publicly accessible +func (pl *peerlist) setHasIncomingPort(addr string, hasIncomingPort bool) error { + if p, ok := pl.peers[addr]; ok { + p.HasIncomingPort = hasIncomingPort + p.Seen() + return nil + } + + return fmt.Errorf("set peer.HasIncomingPort failed: %v does not exist in peer list", addr) +} + +// setUserAgent sets a peer's user agent +func (pl *peerlist) setUserAgent(addr string, userAgent useragent.Data) error { + if p, ok := pl.peers[addr]; ok { + p.UserAgent = userAgent + p.Seen() + return nil + } + + return fmt.Errorf("set peer.UserAgent failed: %v does not exist in peer list", addr) +} + +// len returns number of peers +func (pl *peerlist) len() int { + return len(pl.peers) +} + +// getPeer returns peer for a given address +func (pl *peerlist) getPeer(addr string) (Peer, bool) { + p, ok := pl.peers[addr] + if ok { + return *p, true + } + return Peer{}, false +} + +// clearOld removes public, untrusted peers that haven't been seen in timeAgo seconds +func (pl *peerlist) clearOld(timeAgo time.Duration) { + t := time.Now().UTC() + for addr, peer := range pl.peers { + lastSeen := time.Unix(peer.LastSeen, 0) + if !peer.Private && !peer.Trusted && t.Sub(lastSeen) > timeAgo { + delete(pl.peers, addr) + } + } +} + +// Returns n random peers, or all of the peers, whichever is lower. +// If count is 0, all of the peers are returned, shuffled. +func (pl *peerlist) random(count int, flts []Filter) Peers { + keys := pl.getCanTryPeers(flts).ToAddrs() + if len(keys) == 0 { + return Peers{} + } + + max := count + if max == 0 || max > len(keys) { + max = len(keys) + } + + ps := make(Peers, max) + perm := rand.Perm(len(keys)) + for i, j := range perm[:max] { + ps[i] = *pl.peers[keys[j]] + } + return ps +} + +// save saves known peers to disk as a newline delimited list of addresses to +// +func (pl *peerlist) save(fn string) error { + // filter the peers that has retrytime > MaxPeerRetryTimes + peers := make(map[string]PeerJSON) + for k, p := range pl.peers { + if p.RetryTimes <= MaxPeerRetryTimes { + peers[k] = newPeerJSON(*p) + } + } + + if err := file.SaveJSON(fn, peers, 0600); err != nil { + return fmt.Errorf("save peer list failed: %s", err) + } + return nil +} + +// increaseRetryTimes increases retry times +func (pl *peerlist) increaseRetryTimes(addr string) { + if p, ok := pl.peers[addr]; ok { + p.IncreaseRetryTimes() + p.Seen() + } +} + +// resetRetryTimes reset retry times +func (pl *peerlist) resetRetryTimes(addr string) { + if p, ok := pl.peers[addr]; ok { + p.ResetRetryTimes() + p.Seen() + } +} + +// resetAllRetryTimes reset all peers' retry times +func (pl *peerlist) resetAllRetryTimes() { + logger.Info("Reset all peer's retry times") + for _, p := range pl.peers { + p.ResetRetryTimes() + } +} + +func (pl *peerlist) findOldestUntrustedPeer() *Peer { + var oldest *Peer + + for _, p := range pl.peers { + if p.Trusted || p.Private { + continue + } + + if oldest == nil || p.LastSeen < oldest.LastSeen { + oldest = p + } + } + + if oldest != nil { + p := *oldest + return &p + } + + return nil +} + +// PeerJSON is for saving and loading peers to disk. Some fields are strange, +// to be backwards compatible due to variable name changes +type PeerJSON struct { + Addr string // An address of the form ip:port + // Unix timestamp when this peer was last seen. + // This could be a time.Time string or an int64 timestamp + LastSeen interface{} + Private bool // Whether it should omitted from public requests + Trusted bool // Whether this peer is trusted + HasIncomePort *bool `json:"HasIncomePort,omitempty"` // Whether this peer has incoming port [DEPRECATED] + HasIncomingPort *bool // Whether this peer has incoming port + UserAgent useragent.Data +} + +// newPeerJSON returns a PeerJSON from a Peer +func newPeerJSON(p Peer) PeerJSON { + return PeerJSON{ + Addr: p.Addr, + LastSeen: p.LastSeen, + Private: p.Private, + Trusted: p.Trusted, + HasIncomingPort: &p.HasIncomingPort, + UserAgent: p.UserAgent, + } +} + +// newPeerFromJSON converts a PeerJSON to a Peer +func newPeerFromJSON(p PeerJSON) (*Peer, error) { + hasIncomingPort := false + if p.HasIncomingPort != nil { + hasIncomingPort = *p.HasIncomingPort + } else if p.HasIncomePort != nil { + hasIncomingPort = *p.HasIncomePort + } + + // LastSeen could be a RFC3339Nano timestamp or an int64 unix timestamp + var lastSeen int64 + switch p.LastSeen.(type) { + case string: + lastSeenTime, err := time.Parse(time.RFC3339Nano, p.LastSeen.(string)) + if err != nil { + return nil, err + } + lastSeen = lastSeenTime.Unix() + case json.Number: + lastSeenNum := p.LastSeen.(json.Number) + var err error + lastSeen, err = lastSeenNum.Int64() + if err != nil { + return nil, err + } + default: + return nil, fmt.Errorf("Invalid type %T for LastSeen field", p.LastSeen) + } + + addr, err := validateAddress(p.Addr, true) + if err != nil { + return nil, err + } + + return &Peer{ + Addr: addr, + LastSeen: lastSeen, + Private: p.Private, + Trusted: p.Trusted, + HasIncomingPort: hasIncomingPort, + UserAgent: p.UserAgent, + }, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pex/pex.go b/vendor/github.com/skycoin/skycoin/src/daemon/pex/pex.go new file mode 100644 index 00000000..2fa917ad --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pex/pex.go @@ -0,0 +1,761 @@ +// Package pex is a toolkit for implementing a peer exchange system +package pex + +import ( + "errors" + "fmt" + "io/ioutil" + "math" + "math/rand" + "net" + "net/http" + "os" + "path/filepath" + "regexp" + "strconv" + "strings" + "sync" + "time" + + "github.com/cenkalti/backoff" + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/useragent" +) + +//TODO: +// - keep track of last time the peer was connected to +// - last time peer was connected to is more important than "seen" +// - peer "seen" means something else than use here +// - save last time connected to, use 0 for never +// - only transmit peers that have active or recent connections + +const ( + // DefaultPeerListURL is the default URL to download remote peers list from, if enabled + DefaultPeerListURL = "https://downloads.skycoin.net/blockchain/peers.txt" + // PeerCacheFilename filename for disk-cached peers + PeerCacheFilename = "peers.json" + // oldPeerCacheFilename previous filename for disk-cached peers. The cache loader will fall back onto this filename if it can't load peers.json + oldPeerCacheFilename = "peers.txt" + // MaxPeerRetryTimes is the maximum number of times to retry a peer + MaxPeerRetryTimes = 10 +) + +var ( + // ErrPeerlistFull is returned when the Pex is at a maximum + ErrPeerlistFull = errors.New("Peer list full") + // ErrInvalidAddress is returned when an address appears malformed + ErrInvalidAddress = errors.New("Invalid address") + // ErrNoLocalhost is returned if a localhost addresses are not allowed + ErrNoLocalhost = errors.New("Localhost address is not allowed") + // ErrNotExternalIP is returned if an IP address is not a global unicast address + ErrNotExternalIP = errors.New("IP is not a valid external IP") + // ErrPortTooLow is returned if a port is less than 1024 + ErrPortTooLow = errors.New("Port must be >= 1024") + // ErrBlacklistedAddress returned when attempting to add a blacklisted peer + ErrBlacklistedAddress = errors.New("Blacklisted address") + + // Logging. See http://godoc.org/github.com/op/go-logging for + // instructions on how to include this log's output + logger = logging.MustGetLogger("pex") + // Default rng + rnum = rand.New(rand.NewSource(time.Now().Unix())) + // For removing inadvertent whitespace from addresses + whitespaceFilter = regexp.MustCompile(`\s`) +) + +// validateAddress returns a sanitized address if valid, otherwise an error +func validateAddress(ipPort string, allowLocalhost bool) (string, error) { + ipPort = whitespaceFilter.ReplaceAllString(ipPort, "") + pts := strings.Split(ipPort, ":") + if len(pts) != 2 { + return "", ErrInvalidAddress + } + + ip := net.ParseIP(pts[0]) + if ip == nil { + return "", ErrInvalidAddress + } else if ip.IsLoopback() { + if !allowLocalhost { + return "", ErrNoLocalhost + } + } else if !ip.IsGlobalUnicast() { + return "", ErrNotExternalIP + } + + port, err := strconv.ParseUint(pts[1], 10, 16) + if err != nil { + return "", ErrInvalidAddress + } + + if port < 1024 { + return "", ErrPortTooLow + } + + return ipPort, nil +} + +// Peer represents a known peer +type Peer struct { + Addr string // An address of the form ip:port + LastSeen int64 // Unix timestamp when this peer was last seen + Private bool // Whether it should omitted from public requests + Trusted bool // Whether this peer is trusted + HasIncomingPort bool // Whether this peer has accessible public port + UserAgent useragent.Data // Peer's last reported user agent + RetryTimes int `json:"-"` // records the retry times +} + +// NewPeer returns a *Peer initialized by an address string of the form ip:port +func NewPeer(address string) *Peer { + p := &Peer{ + Addr: address, + Private: false, + Trusted: false, + } + p.Seen() + return p +} + +// Seen marks the peer as seen +func (peer *Peer) Seen() { + peer.LastSeen = time.Now().UTC().Unix() +} + +// IncreaseRetryTimes adds the retry times +func (peer *Peer) IncreaseRetryTimes() { + peer.RetryTimes++ + logger.WithFields(logrus.Fields{ + "addr": peer.Addr, + "retryTimes": peer.RetryTimes, + }).Debug("Increase retry times") +} + +// ResetRetryTimes resets the retry time +func (peer *Peer) ResetRetryTimes() { + peer.RetryTimes = 0 +} + +// CanTry returns whether this peer is tryable base on the exponential backoff algorithm +func (peer *Peer) CanTry() bool { + // Exponential backoff + mod := (math.Exp2(float64(peer.RetryTimes)) - 1) * 5 + if mod == 0 { + return true + } + + // Random time elapsed + now := time.Now().UTC().Unix() + t := rnum.Int63n(int64(mod)) + return now-peer.LastSeen > t +} + +// String returns the peer address +func (peer *Peer) String() string { + return peer.Addr +} + +// Config pex config +type Config struct { + // Folder where peers database should be saved + DataDirectory string + // Maximum number of peers to keep account of in the PeerList + Max int + // Cull peers after they havent been seen in this much time + Expiration time.Duration + // Cull expired peers on this interval + CullRate time.Duration + // clear old peers on this interval + ClearOldRate time.Duration + // How often to clear expired blacklist entries + UpdateBlacklistRate time.Duration + // How often to request peers via PEX + RequestRate time.Duration + // How many peers to send back in response to a peers request + ReplyCount int + // Localhost peers are allowed in the peerlist + AllowLocalhost bool + // Disable exchanging of peers. Peers are still loaded from disk + Disabled bool + // Whether the network is disabled + NetworkDisabled bool + // Download peers list from remote host + DownloadPeerList bool + // Download peers list from this URL + PeerListURL string + // Set all peers as untrusted (even if loaded from DefaultConnections) + DisableTrustedPeers bool + // Load peers from this file on disk. NOTE: this is different from the peers file cache in the data directory + CustomPeersFile string + // Default "trusted" connections + DefaultConnections []string +} + +// NewConfig creates default pex config. +func NewConfig() Config { + return Config{ + DataDirectory: "./", + Max: 65535, + Expiration: time.Hour * 24 * 7, + CullRate: time.Minute * 10, + ClearOldRate: time.Minute * 10, + UpdateBlacklistRate: time.Minute, + RequestRate: time.Minute, + ReplyCount: 30, + AllowLocalhost: false, + Disabled: false, + NetworkDisabled: false, + DownloadPeerList: false, + PeerListURL: DefaultPeerListURL, + DisableTrustedPeers: false, + CustomPeersFile: "", + } +} + +// Pex manages a set of known peers and controls peer acquisition +type Pex struct { + sync.RWMutex + // All known peers + peerlist peerlist + Config Config + quit chan struct{} + done chan struct{} +} + +// New creates pex +func New(cfg Config) (*Pex, error) { + pex := &Pex{ + Config: cfg, + peerlist: newPeerlist(), + quit: make(chan struct{}), + done: make(chan struct{}), + } + + // Load peers from disk + if err := pex.loadCache(); err != nil { + logger.Critical().WithError(err).Error("pex.loadCache failed") + return nil, err + } + + // Unset trusted status from any existing peers, regenerate + // them from the DefaultConnections + pex.setAllUntrusted() + + // Load default hardcoded peers, mark them as trusted + for _, addr := range cfg.DefaultConnections { + // Default peers will mark as trusted peers. + if err := pex.AddPeer(addr); err != nil { + logger.Critical().WithError(err).Error("Add default peer failed") + return nil, err + } + if err := pex.setTrusted(addr); err != nil { + logger.Critical().WithError(err).Error("pex.setTrusted for default peer failed") + return nil, err + } + } + + if cfg.DisableTrustedPeers { + // Unset trusted status from any existing peers + pex.setAllUntrusted() + } + + // Add custom peers + if cfg.CustomPeersFile != "" { + if err := pex.loadCustom(cfg.CustomPeersFile); err != nil { + logger.Critical().WithError(err).WithField("file", cfg.CustomPeersFile).Error("Failed to load custom peers file") + return nil, err + } + } + + // Save peers to disk + if err := pex.save(); err != nil { + return nil, err + } + + // Download peers from remote peers list if networking is enabled + if pex.Config.DownloadPeerList && !pex.Config.NetworkDisabled { + go func() { + if err := pex.downloadPeers(); err != nil { + logger.WithError(err).Error("Failed to download peers list") + } + }() + } + + return pex, nil +} + +// Run starts the pex service +func (px *Pex) Run() error { + logger.Info("Pex.Run started") + defer logger.Info("Pex.Run stopped") + defer close(px.done) + + defer func() { + // Save the peerlist + logger.Info("Save peerlist") + if err := px.save(); err != nil { + logger.WithError(err).Error("Save peerlist failed") + } + }() + + clearOldTicker := time.NewTicker(px.Config.ClearOldRate) + + for { + select { + case <-clearOldTicker.C: + // Remove peers we haven't seen in a while + if !px.Config.Disabled && !px.Config.NetworkDisabled { + func() { + px.Lock() + defer px.Unlock() + px.peerlist.clearOld(px.Config.Expiration) + }() + } + case <-px.quit: + return nil + } + } +} + +// Shutdown notifies the pex service to exist +func (px *Pex) Shutdown() { + logger.Info("Shutting down pex") + defer logger.Info("Pex shutdown") + close(px.quit) + <-px.done +} + +func (px *Pex) downloadPeers() error { + body, err := backoffDownloadText(px.Config.PeerListURL) + if err != nil { + logger.WithError(err).WithField("url", px.Config.PeerListURL).Error("Failed to download peers") + return err + } + + peers := parseRemotePeerList(body) + logger.WithField("url", px.Config.PeerListURL).Infof("Downloaded peers list, got %d peers", len(peers)) + + n := px.AddPeers(peers) + logger.WithField("url", px.Config.PeerListURL).Infof("Added %d/%d peers from downloaded peers list", n, len(peers)) + + return nil +} + +func (px *Pex) loadCache() error { + px.Lock() + defer px.Unlock() + + fp := filepath.Join(px.Config.DataDirectory, PeerCacheFilename) + peers, err := loadCachedPeersFile(fp) + + if err != nil { + return err + } + + // If the PeerCacheFilename peers.json file does not exist, try to load the old peers.txt file + if peers == nil { + logger.Infof("Peer cache %s not found, falling back on %s", PeerCacheFilename, oldPeerCacheFilename) + + fp := filepath.Join(px.Config.DataDirectory, oldPeerCacheFilename) + peers, err = loadCachedPeersFile(fp) + if err != nil { + return err + } + + if peers == nil { + logger.Infof("Fallback peer cache %s not found", oldPeerCacheFilename) + return nil + } + } + + // remove invalid peers and limit the max number of peers to pex.Config.Max + var validPeers []Peer + for addr, p := range peers { + if _, err := validateAddress(addr, px.Config.AllowLocalhost); err != nil { + logger.WithError(err).Error("Invalid peer address") + continue + } + + validPeers = append(validPeers, *p) + if px.Config.Max > 0 && len(validPeers) >= px.Config.Max { + break + } + } + + px.peerlist.setPeers(validPeers) + return nil +} + +func (px *Pex) loadCustom(fn string) error { + px.Lock() + defer px.Unlock() + + f, err := os.Open(fn) + if err != nil { + return err + } + + defer f.Close() + + data, err := ioutil.ReadAll(f) + if err != nil { + return err + } + + peers, err := parseLocalPeerList(string(data), px.Config.AllowLocalhost) + if err != nil { + return err + } + + logger.Infof("Loaded %d peers from %s", len(peers), fn) + + px.peerlist.addPeers(peers) + return nil +} + +// SavePeers persists the peerlist +func (px *Pex) save() error { + px.Lock() + defer px.Unlock() + + fn := filepath.Join(px.Config.DataDirectory, PeerCacheFilename) + return px.peerlist.save(fn) +} + +// AddPeer adds a peer to the peer list, given an address. If the peer list is +// full, it will try to remove an old peer to make room. +// If no room can be made, ErrPeerlistFull is returned +func (px *Pex) AddPeer(addr string) error { + px.Lock() + defer px.Unlock() + + cleanAddr, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.WithError(err).WithField("addr", addr).Error("Invalid address") + return ErrInvalidAddress + } + + if px.peerlist.hasPeer(cleanAddr) { + px.peerlist.seen(cleanAddr) + return nil + } + + if px.isFull() { + oldestPeer := px.peerlist.findOldestUntrustedPeer() + if oldestPeer == nil || time.Now().UTC().Unix()-oldestPeer.LastSeen < 60*60*24 { + return ErrPeerlistFull + } + + px.peerlist.removePeer(oldestPeer.Addr) + + if px.isFull() { + // This can happen if the node is run with a peers.json file that has more peers + // than the max peerlist size, then the peers.json file isn't truncated to the max peerlist size. + // It is not an error. + // The max is a soft limit; exceeding the max will not crash the program. + logger.Critical().Error("AddPeer: after removing the worst peer, the peerlist was still full") + } + } + + px.peerlist.addPeer(cleanAddr) + return nil +} + +// AddPeers add multiple peers at once. Any errors will be logged, but not returned +// Returns the number of peers that were added without error. Note that +// adding a duplicate peer will not cause an error. +func (px *Pex) AddPeers(addrs []string) int { + px.Lock() + defer px.Unlock() + + if px.Config.Max > 0 && px.peerlist.len() >= px.Config.Max { + logger.Warning("Add peers failed, peer list is full") + return 0 + } + + // validate the addresses + var validAddrs []string + for _, addr := range addrs { + a, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.WithField("addr", addr).WithError(err).Info("Add peers sees an invalid address") + continue + } + validAddrs = append(validAddrs, a) + } + addrs = validAddrs + + // Shuffle the addresses before capping them + rand.Shuffle(len(addrs), func(i, j int) { + addrs[i], addrs[j] = addrs[j], addrs[i] + }) + + if px.Config.Max > 0 { + rcap := px.Config.Max - px.peerlist.len() + if len(addrs) > rcap { + addrs = addrs[:rcap] + } + } + + px.peerlist.addPeers(addrs) + return len(addrs) +} + +// SetPrivate updates peer's private value +func (px *Pex) SetPrivate(addr string, private bool) error { + px.Lock() + defer px.Unlock() + + cleanAddr, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.WithError(err).WithField("addr", addr).Error("Invalid address") + return ErrInvalidAddress + } + + return px.peerlist.setPrivate(cleanAddr, private) +} + +// setTrusted marks a peer as a default peer by setting its trusted flag to true +func (px *Pex) setTrusted(addr string) error { + px.Lock() + defer px.Unlock() + + cleanAddr, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.WithError(err).WithField("addr", addr).Error("Invalid address") + return ErrInvalidAddress + } + + return px.peerlist.setTrusted(cleanAddr, true) +} + +// setAllUntrusted unsets the trusted field on all peers +func (px *Pex) setAllUntrusted() { + px.Lock() + defer px.Unlock() + + px.peerlist.setAllUntrusted() +} + +// SetHasIncomingPort sets if the peer has public port +func (px *Pex) SetHasIncomingPort(addr string, hasPublicPort bool) error { + px.Lock() + defer px.Unlock() + + cleanAddr, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.WithError(err).WithField("addr", addr).Error("Invalid address") + return ErrInvalidAddress + } + + return px.peerlist.setHasIncomingPort(cleanAddr, hasPublicPort) +} + +// SetUserAgent sets the peer's user agent +func (px *Pex) SetUserAgent(addr string, userAgent useragent.Data) error { + px.Lock() + defer px.Unlock() + + if !userAgent.Empty() { + if _, err := userAgent.Build(); err != nil { + return err + } + } + + cleanAddr, err := validateAddress(addr, px.Config.AllowLocalhost) + if err != nil { + logger.WithError(err).WithField("addr", addr).Error("Invalid address") + return ErrInvalidAddress + } + + return px.peerlist.setUserAgent(cleanAddr, userAgent) +} + +// RemovePeer removes peer +func (px *Pex) RemovePeer(addr string) { + px.Lock() + defer px.Unlock() + px.peerlist.removePeer(addr) +} + +// GetPeer returns peer of given address +func (px *Pex) GetPeer(addr string) (Peer, bool) { + px.RLock() + defer px.RUnlock() + return px.peerlist.getPeer(addr) +} + +// Trusted returns trusted peers +func (px *Pex) Trusted() Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.getPeers([]Filter{isTrusted}) +} + +// Private returns private peers +func (px *Pex) Private() Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.getCanTryPeers([]Filter{isPrivate}) +} + +// TrustedPublic returns trusted public peers +func (px *Pex) TrustedPublic() Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.getCanTryPeers([]Filter{isPublic, isTrusted}) +} + +// RandomPublic returns N random public untrusted peers +func (px *Pex) RandomPublic(n int) Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.random(n, []Filter{func(p Peer) bool { + return !p.Private + }}) +} + +// RandomExchangeable returns N random exchangeable peers +func (px *Pex) RandomExchangeable(n int) Peers { + px.RLock() + defer px.RUnlock() + return px.peerlist.random(n, isExchangeable) +} + +// IncreaseRetryTimes increases retry times +func (px *Pex) IncreaseRetryTimes(addr string) { + px.Lock() + defer px.Unlock() + px.peerlist.increaseRetryTimes(addr) +} + +// ResetRetryTimes reset retry times +func (px *Pex) ResetRetryTimes(addr string) { + px.Lock() + defer px.Unlock() + px.peerlist.resetRetryTimes(addr) +} + +// ResetAllRetryTimes reset all peers' retry times +func (px *Pex) ResetAllRetryTimes() { + px.Lock() + defer px.Unlock() + px.peerlist.resetAllRetryTimes() +} + +// IsFull returns whether the peer list is full +func (px *Pex) IsFull() bool { + px.RLock() + defer px.RUnlock() + return px.isFull() +} + +func (px *Pex) isFull() bool { + return px.Config.Max > 0 && px.peerlist.len() >= px.Config.Max +} + +// downloadText downloads a text format file from url. +// Returns the raw response body as a string. +// TODO -- move to util, add backoff options +func downloadText(url string) (string, error) { + resp, err := http.Get(url) //nolint:gosec + if err != nil { + return "", err + } + defer resp.Body.Close() + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return "", err + } + + return string(body), nil +} + +func backoffDownloadText(url string) (string, error) { + var body string + + b := backoff.NewExponentialBackOff() + + notify := func(err error, wait time.Duration) { + logger.WithError(err).WithField("waitTime", wait).Error("waiting to retry downloadText") + } + + operation := func() error { + logger.WithField("url", url).Info("Trying to download peers list") + var err error + body, err = downloadText(url) + return err + } + + if err := backoff.RetryNotify(operation, b, notify); err != nil { + logger.WithField("url", url).WithError(err).Info("Gave up dowloading peers list") + return "", err + } + + logger.WithField("url", url).Info("Peers list downloaded") + + return body, nil +} + +// parseRemotePeerList parses a remote peers.txt file +// The peers list format is newline separated list of ip:port strings +// Any lines that don't parse to an ip:port are skipped, otherwise they return an error +// Localhost ip:port addresses are ignored +// NOTE: this does not parse the cached peers.json file in the data directory, which is a JSON file +// and is loaded by loadCachedPeersFile +func parseRemotePeerList(body string) []string { + var peers []string + for _, addr := range strings.Split(body, "\n") { + addr = whitespaceFilter.ReplaceAllString(addr, "") + if addr == "" { + continue + } + + // Never allow localhost addresses from the remote peers list + a, err := validateAddress(addr, false) + if err != nil { + err = fmt.Errorf("Peers list has invalid address %s: %v", addr, err) + logger.WithError(err).Error() + continue + } + + peers = append(peers, a) + } + + return peers +} + +// parseLocalPeerList parses a local peers.txt file +// The peers list format is newline separated list of ip:port strings +// Empty lines and lines that begin with # are treated as comment lines +// Otherwise, the line is parsed as an ip:port +// If the line fails to parse, an error is returned +// Localhost addresses are allowed if allowLocalhost is true +// NOTE: this does not parse the cached peers.json file in the data directory, which is a JSON file +// and is loaded by loadCachedPeersFile +func parseLocalPeerList(body string, allowLocalhost bool) ([]string, error) { + var peers []string + for _, addr := range strings.Split(body, "\n") { + addr = whitespaceFilter.ReplaceAllString(addr, "") + if addr == "" { + continue + } + + if strings.HasPrefix(addr, "#") { + continue + } + + a, err := validateAddress(addr, allowLocalhost) + if err != nil { + err = fmt.Errorf("Peers list has invalid address %s: %v", addr, err) + logger.WithError(err).Error() + return nil, err + } + + peers = append(peers, a) + } + + return peers, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/pool.go b/vendor/github.com/skycoin/skycoin/src/daemon/pool.go new file mode 100644 index 00000000..7fe1147f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/pool.go @@ -0,0 +1,124 @@ +package daemon + +import ( + "time" + + "github.com/skycoin/skycoin/src/daemon/gnet" +) + +// PoolConfig pool config +type PoolConfig struct { + // Timeout when trying to connect to new peers through the pool + DialTimeout time.Duration + // How often to process message buffers and generate events + MessageHandlingRate time.Duration + // How long to wait before sending another ping + PingRate time.Duration + // How long a connection can idle before considered stale + IdleLimit time.Duration + // How often to check for needed pings + IdleCheckRate time.Duration + // How often to check for stale connections + ClearStaleRate time.Duration + // Buffer size for gnet.ConnectionPool's network Read events + EventChannelSize int + // Maximum number of connections + MaxConnections int + // Maximum number of outgoing connections + MaxOutgoingConnections int + // Maximum number of outgoing connections to peers in the DefaultConnections list to maintain + MaxDefaultPeerOutgoingConnections int + // Default "trusted" peers + DefaultConnections []string + // Maximum length of incoming messages in bytes + MaxIncomingMessageLength int + // Maximum length of outgoing messages in bytes + MaxOutgoingMessageLength int + // These should be assigned by the controlling daemon + address string + port int +} + +// NewPoolConfig creates pool config +func NewPoolConfig() PoolConfig { + return PoolConfig{ + port: 6677, + address: "", + DialTimeout: time.Second * 30, + MessageHandlingRate: time.Millisecond * 50, + PingRate: 5 * time.Second, + IdleLimit: 60 * time.Second, + IdleCheckRate: 1 * time.Second, + ClearStaleRate: 1 * time.Second, + EventChannelSize: 4096, + MaxConnections: 128, + MaxOutgoingConnections: 8, + MaxDefaultPeerOutgoingConnections: 1, + MaxOutgoingMessageLength: 256 * 1024, + MaxIncomingMessageLength: 1024 * 1024, + } +} + +// Pool maintains config and pool +type Pool struct { + Config PoolConfig + Pool *gnet.ConnectionPool +} + +// NewPool creates pool +func NewPool(cfg PoolConfig, d *Daemon) (*Pool, error) { + gnetCfg := gnet.NewConfig() + gnetCfg.DialTimeout = cfg.DialTimeout + gnetCfg.Port = uint16(cfg.port) + gnetCfg.Address = cfg.address + gnetCfg.ConnectCallback = d.onGnetConnect + gnetCfg.DisconnectCallback = d.onGnetDisconnect + gnetCfg.ConnectFailureCallback = d.onGnetConnectFailure + gnetCfg.MaxConnections = cfg.MaxConnections + gnetCfg.MaxOutgoingConnections = cfg.MaxOutgoingConnections + gnetCfg.MaxDefaultPeerOutgoingConnections = cfg.MaxDefaultPeerOutgoingConnections + gnetCfg.DefaultConnections = cfg.DefaultConnections + gnetCfg.MaxIncomingMessageLength = cfg.MaxIncomingMessageLength + gnetCfg.MaxOutgoingMessageLength = cfg.MaxOutgoingMessageLength + + pool, err := gnet.NewConnectionPool(gnetCfg, d) + if err != nil { + return nil, err + } + + return &Pool{ + Config: cfg, + Pool: pool, + }, nil +} + +// Shutdown closes all connections and stops listening +func (pool *Pool) Shutdown() { + if pool == nil { + return + } + pool.Pool.Shutdown() +} + +// Run starts listening on the configured Port +func (pool *Pool) Run() error { + logger.Infof("daemon.Pool listening on port %d", pool.Config.port) + return pool.Pool.Run() +} + +// RunOffline runs the pool without a listener. This is necessary to process strand requests. +func (pool *Pool) RunOffline() error { + return pool.Pool.RunOffline() +} + +// sendPings send a ping if our last message sent was over pingRate ago +func (pool *Pool) sendPings() { + if err := pool.Pool.SendPings(pool.Config.PingRate, &PingMessage{}); err != nil { + logger.WithError(err).Error("sendPings failed") + } +} + +// getStaleConnections returns connections that have been idle for longer than idleLimit +func (pool *Pool) getStaleConnections() ([]string, error) { + return pool.Pool.GetStaleConnections(pool.Config.IdleLimit) +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/signed_block_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/signed_block_skyencoder.go new file mode 100644 index 00000000..3cc4c522 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/signed_block_skyencoder.go @@ -0,0 +1,528 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeSignedBlock computes the size of an encoded object of type SignedBlock +func encodeSizeSignedBlock(obj *coin.SignedBlock) uint64 { + i0 := uint64(0) + + // obj.Block.Head.Version + i0 += 4 + + // obj.Block.Head.Time + i0 += 8 + + // obj.Block.Head.BkSeq + i0 += 8 + + // obj.Block.Head.Fee + i0 += 8 + + // obj.Block.Head.PrevHash + i0 += 32 + + // obj.Block.Head.BodyHash + i0 += 32 + + // obj.Block.Head.UxHash + i0 += 32 + + // obj.Block.Body.Transactions + i0 += 4 + for _, x1 := range obj.Block.Body.Transactions { + i1 := uint64(0) + + // x1.Length + i1 += 4 + + // x1.Type + i1++ + + // x1.InnerHash + i1 += 32 + + // x1.Sigs + i1 += 4 + { + i2 := uint64(0) + + // x2 + i2 += 65 + + i1 += uint64(len(x1.Sigs)) * i2 + } + + // x1.In + i1 += 4 + { + i2 := uint64(0) + + // x2 + i2 += 32 + + i1 += uint64(len(x1.In)) * i2 + } + + // x1.Out + i1 += 4 + { + i2 := uint64(0) + + // x2.Address.Version + i2++ + + // x2.Address.Key + i2 += 20 + + // x2.Coins + i2 += 8 + + // x2.Hours + i2 += 8 + + i1 += uint64(len(x1.Out)) * i2 + } + + i0 += i1 + } + + // obj.Sig + i0 += 65 + + return i0 +} + +// encodeSignedBlock encodes an object of type SignedBlock to a buffer allocated to the exact size +// required to encode the object. +func encodeSignedBlock(obj *coin.SignedBlock) ([]byte, error) { + n := encodeSizeSignedBlock(obj) + buf := make([]byte, n) + + if err := encodeSignedBlockToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeSignedBlockToBuffer encodes an object of type SignedBlock to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeSignedBlockToBuffer(buf []byte, obj *coin.SignedBlock) error { + if uint64(len(buf)) < encodeSizeSignedBlock(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Block.Head.Version + e.Uint32(obj.Block.Head.Version) + + // obj.Block.Head.Time + e.Uint64(obj.Block.Head.Time) + + // obj.Block.Head.BkSeq + e.Uint64(obj.Block.Head.BkSeq) + + // obj.Block.Head.Fee + e.Uint64(obj.Block.Head.Fee) + + // obj.Block.Head.PrevHash + e.CopyBytes(obj.Block.Head.PrevHash[:]) + + // obj.Block.Head.BodyHash + e.CopyBytes(obj.Block.Head.BodyHash[:]) + + // obj.Block.Head.UxHash + e.CopyBytes(obj.Block.Head.UxHash[:]) + + // obj.Block.Body.Transactions maxlen check + if len(obj.Block.Body.Transactions) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Block.Body.Transactions length check + if uint64(len(obj.Block.Body.Transactions)) > math.MaxUint32 { + return errors.New("obj.Block.Body.Transactions length exceeds math.MaxUint32") + } + + // obj.Block.Body.Transactions length + e.Uint32(uint32(len(obj.Block.Body.Transactions))) + + // obj.Block.Body.Transactions + for _, x := range obj.Block.Body.Transactions { + + // x.Length + e.Uint32(x.Length) + + // x.Type + e.Uint8(x.Type) + + // x.InnerHash + e.CopyBytes(x.InnerHash[:]) + + // x.Sigs maxlen check + if len(x.Sigs) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Sigs length check + if uint64(len(x.Sigs)) > math.MaxUint32 { + return errors.New("x.Sigs length exceeds math.MaxUint32") + } + + // x.Sigs length + e.Uint32(uint32(len(x.Sigs))) + + // x.Sigs + for _, x := range x.Sigs { + + // x + e.CopyBytes(x[:]) + + } + + // x.In maxlen check + if len(x.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.In length check + if uint64(len(x.In)) > math.MaxUint32 { + return errors.New("x.In length exceeds math.MaxUint32") + } + + // x.In length + e.Uint32(uint32(len(x.In))) + + // x.In + for _, x := range x.In { + + // x + e.CopyBytes(x[:]) + + } + + // x.Out maxlen check + if len(x.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Out length check + if uint64(len(x.Out)) > math.MaxUint32 { + return errors.New("x.Out length exceeds math.MaxUint32") + } + + // x.Out length + e.Uint32(uint32(len(x.Out))) + + // x.Out + for _, x := range x.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + } + + // obj.Sig + e.CopyBytes(obj.Sig[:]) + + return nil +} + +// decodeSignedBlock decodes an object of type SignedBlock from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeSignedBlock(buf []byte, obj *coin.SignedBlock) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Block.Head.Version + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Block.Head.Version = i + } + + { + // obj.Block.Head.Time + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Block.Head.Time = i + } + + { + // obj.Block.Head.BkSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Block.Head.BkSeq = i + } + + { + // obj.Block.Head.Fee + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Block.Head.Fee = i + } + + { + // obj.Block.Head.PrevHash + if len(d.Buffer) < len(obj.Block.Head.PrevHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Block.Head.PrevHash[:], d.Buffer[:len(obj.Block.Head.PrevHash)]) + d.Buffer = d.Buffer[len(obj.Block.Head.PrevHash):] + } + + { + // obj.Block.Head.BodyHash + if len(d.Buffer) < len(obj.Block.Head.BodyHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Block.Head.BodyHash[:], d.Buffer[:len(obj.Block.Head.BodyHash)]) + d.Buffer = d.Buffer[len(obj.Block.Head.BodyHash):] + } + + { + // obj.Block.Head.UxHash + if len(d.Buffer) < len(obj.Block.Head.UxHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Block.Head.UxHash[:], d.Buffer[:len(obj.Block.Head.UxHash)]) + d.Buffer = d.Buffer[len(obj.Block.Head.UxHash):] + } + + { + // obj.Block.Body.Transactions + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Block.Body.Transactions = make([]coin.Transaction, length) + + for z3 := range obj.Block.Body.Transactions { + { + // obj.Block.Body.Transactions[z3].Length + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Block.Body.Transactions[z3].Length = i + } + + { + // obj.Block.Body.Transactions[z3].Type + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Block.Body.Transactions[z3].Type = i + } + + { + // obj.Block.Body.Transactions[z3].InnerHash + if len(d.Buffer) < len(obj.Block.Body.Transactions[z3].InnerHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Block.Body.Transactions[z3].InnerHash[:], d.Buffer[:len(obj.Block.Body.Transactions[z3].InnerHash)]) + d.Buffer = d.Buffer[len(obj.Block.Body.Transactions[z3].InnerHash):] + } + + { + // obj.Block.Body.Transactions[z3].Sigs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Block.Body.Transactions[z3].Sigs = make([]cipher.Sig, length) + + for z5 := range obj.Block.Body.Transactions[z3].Sigs { + { + // obj.Block.Body.Transactions[z3].Sigs[z5] + if len(d.Buffer) < len(obj.Block.Body.Transactions[z3].Sigs[z5]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Block.Body.Transactions[z3].Sigs[z5][:], d.Buffer[:len(obj.Block.Body.Transactions[z3].Sigs[z5])]) + d.Buffer = d.Buffer[len(obj.Block.Body.Transactions[z3].Sigs[z5]):] + } + + } + } + } + + { + // obj.Block.Body.Transactions[z3].In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Block.Body.Transactions[z3].In = make([]cipher.SHA256, length) + + for z5 := range obj.Block.Body.Transactions[z3].In { + { + // obj.Block.Body.Transactions[z3].In[z5] + if len(d.Buffer) < len(obj.Block.Body.Transactions[z3].In[z5]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Block.Body.Transactions[z3].In[z5][:], d.Buffer[:len(obj.Block.Body.Transactions[z3].In[z5])]) + d.Buffer = d.Buffer[len(obj.Block.Body.Transactions[z3].In[z5]):] + } + + } + } + } + + { + // obj.Block.Body.Transactions[z3].Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Block.Body.Transactions[z3].Out = make([]coin.TransactionOutput, length) + + for z5 := range obj.Block.Body.Transactions[z3].Out { + { + // obj.Block.Body.Transactions[z3].Out[z5].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Block.Body.Transactions[z3].Out[z5].Address.Version = i + } + + { + // obj.Block.Body.Transactions[z3].Out[z5].Address.Key + if len(d.Buffer) < len(obj.Block.Body.Transactions[z3].Out[z5].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Block.Body.Transactions[z3].Out[z5].Address.Key[:], d.Buffer[:len(obj.Block.Body.Transactions[z3].Out[z5].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Block.Body.Transactions[z3].Out[z5].Address.Key):] + } + + { + // obj.Block.Body.Transactions[z3].Out[z5].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Block.Body.Transactions[z3].Out[z5].Coins = i + } + + { + // obj.Block.Body.Transactions[z3].Out[z5].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Block.Body.Transactions[z3].Out[z5].Hours = i + } + + } + } + } + } + } + } + + { + // obj.Sig + if len(d.Buffer) < len(obj.Sig) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Sig[:], d.Buffer[:len(obj.Sig)]) + d.Buffer = d.Buffer[len(obj.Sig):] + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeSignedBlockExact decodes an object of type SignedBlock from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeSignedBlockExact(buf []byte, obj *coin.SignedBlock) error { + if n, err := decodeSignedBlock(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/strand/strand.go b/vendor/github.com/skycoin/skycoin/src/daemon/strand/strand.go new file mode 100644 index 00000000..629960f2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/strand/strand.go @@ -0,0 +1,135 @@ +/* +Package strand is a utility for linearizing method calls, similar to locking. + +The strand method is functionally similar to a lock, but operates on a queue +of method calls. +*/ +package strand + +import ( + "time" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/util/logging" +) + +const ( + // logDurationThreshold is how long to wait before reporting a function call's time + logDurationThreshold = time.Millisecond * 100 + // writeWait is how long to wait to write to a request channel before logging the delay + logQueueRequestWaitThreshold = time.Second * 1 +) + +var ( + // Debug enables debug logging + Debug = false +) + +// Request is sent to the channel provided to Strand +type Request struct { + Name string + Func func() error +} + +// Strand linearizes concurrent method calls through a single channel, +// to avoid concurrency issues when conflicting methods are called from +// multiple goroutines. +// Methods passed to Strand() will block until completed. +// Strand accepts a quit channel and will return quitErr if the quit +// channel closes. +func Strand(logger *logging.Logger, c chan Request, name string, f func() error, quit chan struct{}, quitErr error) error { + if Debug { + logger.WithField("operation", name).Debug("Strand precall") + } + + done := make(chan struct{}) + var err error + + req := Request{ + Name: name, + Func: func() error { + defer close(done) + + // TODO: record time statistics in a data structure and expose stats via an API + // logger.Debugf("%s begin", name) + + t := time.Now() + + // Log function duration at an exponential time interval, + // this will notify us of any long running functions to look at. + go func() { + threshold := logDurationThreshold + t := time.NewTimer(threshold) + defer t.Stop() + + for { + t0 := time.Now() + select { + case <-quit: + return + case <-done: + return + case <-t.C: + logger.WithFields(logrus.Fields{ + "operation": name, + "threshold": threshold, + }).Warning("Strand operation exceeded threshold") + threshold *= 10 + t.Reset(threshold) + } + t1 := time.Now() + logger.WithField("elapsed", t1.Sub(t0)).Info() + } + }() + + if Debug { + logger.WithField("operation", name).Debug("Stranding") + } + + err = f() + + // Notify us if the function call took too long + elapsed := time.Since(t) + if elapsed > logDurationThreshold { + logger.WithFields(logrus.Fields{ + "operation": name, + "elapsed": elapsed, + }).Warning() + } else if Debug { + logger.WithFields(logrus.Fields{ + "operation": name, + "elapsed": elapsed, + }).Debug() + } + + return err + }, + } + + // Log a message if waiting too long to write due to a full queue + t := time.Now() +loop: + for { + select { + case <-quit: + return quitErr + case c <- req: + break loop + case <-time.After(logQueueRequestWaitThreshold): + logger.Warningf("Waited %s while trying to write %s to the strand request channel", time.Since(t), req.Name) + } + } + + t = time.Now() + for { + select { + case <-quit: + return quitErr + case <-done: + return err + case <-time.After(logQueueRequestWaitThreshold): + logger.Warningf("Waited %s while waiting for %s to be done or quit", time.Since(t), req.Name) + } + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/daemon/transaction_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/daemon/transaction_skyencoder.go new file mode 100644 index 00000000..53281f8a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/daemon/transaction_skyencoder.go @@ -0,0 +1,358 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package daemon + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeTransaction computes the size of an encoded object of type Transaction +func encodeSizeTransaction(obj *coin.Transaction) uint64 { + i0 := uint64(0) + + // obj.Length + i0 += 4 + + // obj.Type + i0++ + + // obj.InnerHash + i0 += 32 + + // obj.Sigs + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 65 + + i0 += uint64(len(obj.Sigs)) * i1 + } + + // obj.In + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 32 + + i0 += uint64(len(obj.In)) * i1 + } + + // obj.Out + i0 += 4 + { + i1 := uint64(0) + + // x1.Address.Version + i1++ + + // x1.Address.Key + i1 += 20 + + // x1.Coins + i1 += 8 + + // x1.Hours + i1 += 8 + + i0 += uint64(len(obj.Out)) * i1 + } + + return i0 +} + +// encodeTransaction encodes an object of type Transaction to a buffer allocated to the exact size +// required to encode the object. +func encodeTransaction(obj *coin.Transaction) ([]byte, error) { + n := encodeSizeTransaction(obj) + buf := make([]byte, n) + + if err := encodeTransactionToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeTransactionToBuffer encodes an object of type Transaction to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeTransactionToBuffer(buf []byte, obj *coin.Transaction) error { + if uint64(len(buf)) < encodeSizeTransaction(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Length + e.Uint32(obj.Length) + + // obj.Type + e.Uint8(obj.Type) + + // obj.InnerHash + e.CopyBytes(obj.InnerHash[:]) + + // obj.Sigs maxlen check + if len(obj.Sigs) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Sigs length check + if uint64(len(obj.Sigs)) > math.MaxUint32 { + return errors.New("obj.Sigs length exceeds math.MaxUint32") + } + + // obj.Sigs length + e.Uint32(uint32(len(obj.Sigs))) + + // obj.Sigs + for _, x := range obj.Sigs { + + // x + e.CopyBytes(x[:]) + + } + + // obj.In maxlen check + if len(obj.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.In length check + if uint64(len(obj.In)) > math.MaxUint32 { + return errors.New("obj.In length exceeds math.MaxUint32") + } + + // obj.In length + e.Uint32(uint32(len(obj.In))) + + // obj.In + for _, x := range obj.In { + + // x + e.CopyBytes(x[:]) + + } + + // obj.Out maxlen check + if len(obj.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Out length check + if uint64(len(obj.Out)) > math.MaxUint32 { + return errors.New("obj.Out length exceeds math.MaxUint32") + } + + // obj.Out length + e.Uint32(uint32(len(obj.Out))) + + // obj.Out + for _, x := range obj.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + return nil +} + +// decodeTransaction decodes an object of type Transaction from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeTransaction(buf []byte, obj *coin.Transaction) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Length + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Length = i + } + + { + // obj.Type + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Type = i + } + + { + // obj.InnerHash + if len(d.Buffer) < len(obj.InnerHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.InnerHash[:], d.Buffer[:len(obj.InnerHash)]) + d.Buffer = d.Buffer[len(obj.InnerHash):] + } + + { + // obj.Sigs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Sigs = make([]cipher.Sig, length) + + for z1 := range obj.Sigs { + { + // obj.Sigs[z1] + if len(d.Buffer) < len(obj.Sigs[z1]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Sigs[z1][:], d.Buffer[:len(obj.Sigs[z1])]) + d.Buffer = d.Buffer[len(obj.Sigs[z1]):] + } + + } + } + } + + { + // obj.In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.In = make([]cipher.SHA256, length) + + for z1 := range obj.In { + { + // obj.In[z1] + if len(d.Buffer) < len(obj.In[z1]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.In[z1][:], d.Buffer[:len(obj.In[z1])]) + d.Buffer = d.Buffer[len(obj.In[z1]):] + } + + } + } + } + + { + // obj.Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Out = make([]coin.TransactionOutput, length) + + for z1 := range obj.Out { + { + // obj.Out[z1].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Out[z1].Address.Version = i + } + + { + // obj.Out[z1].Address.Key + if len(d.Buffer) < len(obj.Out[z1].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Out[z1].Address.Key[:], d.Buffer[:len(obj.Out[z1].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Out[z1].Address.Key):] + } + + { + // obj.Out[z1].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out[z1].Coins = i + } + + { + // obj.Out[z1].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out[z1].Hours = i + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeTransactionExact decodes an object of type Transaction from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeTransactionExact(buf []byte, obj *coin.Transaction) error { + if n, err := decodeTransaction(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/kvstorage/empty.go b/vendor/github.com/skycoin/skycoin/src/kvstorage/empty.go new file mode 100644 index 00000000..d93f2e3f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/kvstorage/empty.go @@ -0,0 +1,5 @@ +// Package kvstorage contains the implementation for a +// key-value storage of arbitrary data. `Manager` is used to +// access the storage contents. Each storage is presented by its own `KVStorageType` +// and each type has its own associated file to persist data +package kvstorage diff --git a/vendor/github.com/skycoin/skycoin/src/kvstorage/error.go b/vendor/github.com/skycoin/skycoin/src/kvstorage/error.go new file mode 100644 index 00000000..ef634dba --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/kvstorage/error.go @@ -0,0 +1,16 @@ +package kvstorage + +// Error wraps key-value storage related errors. +// It wraps errors caused by user input, but not errors caused by +// programmer input or internal issues. +type Error struct { + error +} + +// NewError creates an Error +func NewError(err error) error { + if err == nil { + return nil + } + return Error{err} +} diff --git a/vendor/github.com/skycoin/skycoin/src/kvstorage/kvstorage.go b/vendor/github.com/skycoin/skycoin/src/kvstorage/kvstorage.go new file mode 100644 index 00000000..03aba8c3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/kvstorage/kvstorage.go @@ -0,0 +1,111 @@ +package kvstorage + +import ( + "errors" + "fmt" + "sync" + + "github.com/skycoin/skycoin/src/util/file" +) + +var ( + // ErrNoSuchKey is returned when the specified key does not exist + // in the storage instance + ErrNoSuchKey = NewError(errors.New("no such key exists in the storage")) +) + +// kvStorage is a key-value storage for storing arbitrary data +type kvStorage struct { + fn string + data map[string]string + sync.RWMutex +} + +// newKVStorage constructs new storage instance using the file with the filename +// to persist data +func newKVStorage(fn string) (*kvStorage, error) { + storage := kvStorage{ + fn: fn, + } + + if err := file.LoadJSON(fn, &storage.data); err != nil { + return nil, fmt.Errorf("newKVStorage LoadJSON(%s) failed: %v", fn, err) + } + + return &storage, nil +} + +// get gets the value associated with the `key`. Returns `ErrNoSuchKey` +func (s *kvStorage) get(key string) (string, error) { + s.RLock() + defer s.RUnlock() + + val, ok := s.data[key] + if !ok { + return "", ErrNoSuchKey + } + + return val, nil +} + +// getAll gets the snapshot of the current storage contents +func (s *kvStorage) getAll() map[string]string { + s.RLock() + defer s.RUnlock() + + return copyMap(s.data) +} + +// add adds the `val` value to the storage with the specified `key`. Replaces the +// original value if `key` already exists +func (s *kvStorage) add(key, val string) error { + s.Lock() + defer s.Unlock() + + // save original data + oldVal, oldOk := s.data[key] + + s.data[key] = val + + // try to persist data, fall back to original data on error + if err := s.flush(); err != nil { + if !oldOk { + delete(s.data, key) + } else { + s.data[key] = oldVal + } + + return err + } + + return nil +} + +// remove removes the value associated with the `key`. Returns `ErrNoSuchKey` +func (s *kvStorage) remove(key string) error { + s.Lock() + defer s.Unlock() + + if _, ok := s.data[key]; !ok { + return ErrNoSuchKey + } + + // save original data + oldVal := s.data[key] + + delete(s.data, key) + + // try to persist data, fall back to original data on error + if err := s.flush(); err != nil { + s.data[key] = oldVal + + return err + } + + return nil +} + +// flush persists data to file +func (s *kvStorage) flush() error { + return file.SaveJSON(s.fn, s.data, 0600) +} diff --git a/vendor/github.com/skycoin/skycoin/src/kvstorage/manager.go b/vendor/github.com/skycoin/skycoin/src/kvstorage/manager.go new file mode 100644 index 00000000..5508fc98 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/kvstorage/manager.go @@ -0,0 +1,252 @@ +package kvstorage + +import ( + "errors" + "fmt" + "os" + "path/filepath" + "strings" + "sync" + + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/util/logging" +) + +// Type is a type of a key-value storage +type Type string + +const ( + // TypeTxIDNotes is a type of storage containing transaction notes + TypeTxIDNotes Type = "txid" + // TypeGeneral is a type of storage for general user data + TypeGeneral Type = "client" +) + +const storageFileExtension = ".json" + +var ( + // ErrStorageAPIDisabled is returned while trying to do storage actions while + // the EnableStorageAPI option is false + ErrStorageAPIDisabled = NewError(errors.New("Storage API is disabled")) + // ErrNoSuchStorage is returned if no storage with the specified storage type loaded + ErrNoSuchStorage = NewError(errors.New("Storage with such type is not loaded")) + // ErrStorageAlreadyLoaded is returned while trying to load already loaded storage + ErrStorageAlreadyLoaded = NewError(errors.New("Storage with such type is already loaded")) + // ErrUnknownKVStorageType is returned while trying to access the storage of the unknown type + ErrUnknownKVStorageType = NewError(errors.New("Unknown storage type")) + + logger = logging.MustGetLogger("kvstorage") +) + +// Manager is a manager for key-value storage instances +type Manager struct { + config Config + storages map[Type]*kvStorage + sync.Mutex +} + +// NewManager constructs new manager according to the config +func NewManager(c Config) (*Manager, error) { + logger.Info("Creating new KVStorage manager") + + m := &Manager{ + config: c, + storages: make(map[Type]*kvStorage), + } + + if !strings.HasSuffix(m.config.StorageDir, "/") { + m.config.StorageDir += "/" + } + + if !m.config.EnableStorageAPI { + logger.Info("KVStorage is disabled") + return m, nil + } + + if err := os.MkdirAll(m.config.StorageDir, os.FileMode(0700)); err != nil { + return nil, fmt.Errorf("failed to create kvstorage directory %s: %v", m.config.StorageDir, err) + } + + for _, t := range m.config.EnabledStorages { + if err := m.LoadStorage(t); err != nil { + return nil, err + } + } + + return m, nil +} + +// LoadStorage loads a new storage instance for the `storageType` +// into the manager. Returns `ErrStorageAlreadyLoaded`, `ErrStorageAPIDisabled`, +// `ErrUnknownKVStorageType` +func (m *Manager) LoadStorage(storageType Type) error { + if !isStorageTypeValid(storageType) { + return ErrUnknownKVStorageType + } + + m.Lock() + defer m.Unlock() + + if !m.config.EnableStorageAPI { + return ErrStorageAPIDisabled + } + + if m.storageExists(storageType) { + return ErrStorageAlreadyLoaded + } + + fn := m.getStorageFilePath(storageType) + + exists, err := file.Exists(fn) + if err != nil { + return fmt.Errorf("Manager.LoadStorage file.Exists failed: %v", err) + } + if !exists { + if err := initEmptyStorage(fn); err != nil { + return fmt.Errorf("Manager.LoadStorage initEmptyStorage failed: %v", err) + } + } + + storage, err := newKVStorage(fn) + if err != nil { + return err + } + + m.storages[storageType] = storage + + return nil +} + +// UnloadStorage unloads the storage instance for the given `storageType` from the manager. +// Returns `ErrNoSuchStorage`, `ErrStorageAPIDisabled`, `ErrUnknownKVStorageType` +func (m *Manager) UnloadStorage(storageType Type) error { + if !isStorageTypeValid(storageType) { + return ErrUnknownKVStorageType + } + + m.Lock() + defer m.Unlock() + + if !m.config.EnableStorageAPI { + return ErrStorageAPIDisabled + } + + if !m.storageExists(storageType) { + return ErrNoSuchStorage + } + + delete(m.storages, storageType) + + return nil +} + +// GetStorageValue gets the value associated with the `key` from the storage of `storageType. +// Returns `ErrNoSuchStorage`, `ErrStorageAPIDisabled`, `ErrUnknownKVStorageType` +func (m *Manager) GetStorageValue(storageType Type, key string) (string, error) { + if !isStorageTypeValid(storageType) { + return "", ErrUnknownKVStorageType + } + + m.Lock() + defer m.Unlock() + + if !m.config.EnableStorageAPI { + return "", ErrStorageAPIDisabled + } + + if !m.storageExists(storageType) { + return "", ErrNoSuchStorage + } + + return m.storages[storageType].get(key) +} + +// GetAllStorageValues gets the snapshot of the current contents from storage of `storageType`. +// Returns `ErrNoSuchStorage`, `ErrStorageAPIDisabled`, `ErrUnknownKVStorageType` +func (m *Manager) GetAllStorageValues(storageType Type) (map[string]string, error) { + if !isStorageTypeValid(storageType) { + return nil, ErrUnknownKVStorageType + } + + m.Lock() + defer m.Unlock() + + if !m.config.EnableStorageAPI { + return nil, ErrStorageAPIDisabled + } + + if !m.storageExists(storageType) { + return nil, ErrNoSuchStorage + } + + return m.storages[storageType].getAll(), nil +} + +// AddStorageValue adds the `val` with the associated `key` to the storage of `storageType`. +// Returns `ErrNoSuchStorage`, `ErrStorageAPIDisabled`, `ErrUnknownKVStorageType` +func (m *Manager) AddStorageValue(storageType Type, key, val string) error { + if !isStorageTypeValid(storageType) { + return ErrUnknownKVStorageType + } + + m.Lock() + defer m.Unlock() + + if !m.config.EnableStorageAPI { + return ErrStorageAPIDisabled + } + + if !m.storageExists(storageType) { + return ErrNoSuchStorage + } + + return m.storages[storageType].add(key, val) +} + +// RemoveStorageValue removes the value with the associated `key` from the storage of `storageType`. +// Returns `ErrNoSuchStorage`, `ErrStorageAPIDisabled`, `ErrUnknownKVStorageType` +func (m *Manager) RemoveStorageValue(storageType Type, key string) error { + if !isStorageTypeValid(storageType) { + return ErrUnknownKVStorageType + } + + m.Lock() + defer m.Unlock() + + if !m.config.EnableStorageAPI { + return ErrStorageAPIDisabled + } + + if !m.storageExists(storageType) { + return ErrNoSuchStorage + } + + return m.storages[storageType].remove(key) +} + +// storageExists checks whether the storage of `storageType` exists in the manager +func (m *Manager) storageExists(storageType Type) bool { + _, ok := m.storages[storageType] + + return ok +} + +// getStorageFilePath creates the path to the storage of `storageType` in file system +func (m *Manager) getStorageFilePath(storageType Type) string { + return filepath.Join(m.config.StorageDir, fmt.Sprintf("%s%s", storageType, storageFileExtension)) +} + +// isStorageTypeValid validates the given `storageType` against the predefined available types +func isStorageTypeValid(storageType Type) bool { + switch storageType { + case TypeTxIDNotes, TypeGeneral: + return true + } + + return false +} + +// initEmptyStorage creates a file to persist data +func initEmptyStorage(fn string) error { + return file.SaveJSON(fn, map[string]string{}, 0600) +} diff --git a/vendor/github.com/skycoin/skycoin/src/kvstorage/manager_config.go b/vendor/github.com/skycoin/skycoin/src/kvstorage/manager_config.go new file mode 100644 index 00000000..82c68a9f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/kvstorage/manager_config.go @@ -0,0 +1,15 @@ +package kvstorage + +// Config is a configuration for storage manager +type Config struct { + StorageDir string + EnabledStorages []Type + EnableStorageAPI bool +} + +// NewConfig creates a default config. +func NewConfig() Config { + return Config{ + StorageDir: "./data/", + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/kvstorage/map.go b/vendor/github.com/skycoin/skycoin/src/kvstorage/map.go new file mode 100644 index 00000000..3df52771 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/kvstorage/map.go @@ -0,0 +1,12 @@ +package kvstorage + +// Copy copies the map contents to the new map +func copyMap(data map[string]string) map[string]string { + copied := make(map[string]string, len(data)) + + for k, v := range data { + copied[k] = v + } + + return copied +} diff --git a/vendor/github.com/skycoin/skycoin/src/params/distribution.go b/vendor/github.com/skycoin/skycoin/src/params/distribution.go new file mode 100644 index 00000000..b0cf5898 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/params/distribution.go @@ -0,0 +1,153 @@ +package params + +import ( + "errors" + + "github.com/skycoin/skycoin/src/cipher" +) + +// Distribution parameters define the initial coin distribution and unlocking schedule +type Distribution struct { + // MaxCoinSupply is the maximum supply of coins + MaxCoinSupply uint64 + // InitialUnlockedCount is the initial number of unlocked addresses + InitialUnlockedCount uint64 + // UnlockAddressRate is the number of addresses to unlock per unlock time interval + UnlockAddressRate uint64 + // UnlockTimeInterval is the distribution address unlock time interval, measured in seconds + // Once the InitialUnlockedCount is exhausted, + // UnlockAddressRate addresses will be unlocked per UnlockTimeInterval + UnlockTimeInterval uint64 + + // Addresses are the distribution addresses that received coins in the + // first block after the genesis block + Addresses []string + addressesDecoded []cipher.Address +} + +// MustValidate validates Distribution parameters, panics on error +func (d *Distribution) MustValidate() { + if err := d.Validate(); err != nil { + panic(err) + } +} + +// Validate validates Distribution parameters +func (d *Distribution) Validate() error { + if d.InitialUnlockedCount > uint64(len(d.Addresses)) { + return errors.New("unlocked addresses > total distribution addresses") + } + + if d.MaxCoinSupply%uint64(len(d.Addresses)) != 0 { + return errors.New("MaxCoinSupply should be perfectly divisible by len(addresses)") + } + + if err := d.decodeAddresses(); err != nil { + return err + } + + return nil +} + +// AddressInitialBalance is the initial balance of each distribution address +func (d *Distribution) AddressInitialBalance() uint64 { + return d.MaxCoinSupply / uint64(len(d.Addresses)) +} + +// UnlockedAddresses returns distribution addresses that are unlocked, i.e. they have spendable outputs +func (d *Distribution) UnlockedAddresses() []string { + // The first InitialUnlockedCount (25) addresses are unlocked by default. + // Subsequent addresses will be unlocked at a rate of UnlockAddressRate (5) per year, + // after the InitialUnlockedCount (25) addresses have no remaining balance. + // The unlock timer will be enabled manually once the + // InitialUnlockedCount (25) addresses are distributed. + + // NOTE: To have automatic unlocking, transaction verification would have + // to be handled in visor rather than in coin.Transactions.Visor(), because + // the coin package is agnostic to the state of the blockchain and cannot reference it. + // Instead of automatic unlocking, we can hardcode the timestamp at which the first 30% + // is distributed, then compute the unlocked addresses easily here. + + addrs := make([]string, d.InitialUnlockedCount) + copy(addrs[:], d.Addresses[:d.InitialUnlockedCount]) + return addrs +} + +// LockedAddresses returns distribution addresses that are locked, i.e. they have unspendable outputs +func (d *Distribution) LockedAddresses() []string { + // TODO -- once we reach 30% distribution, we can hardcode the + // initial timestamp for releasing more coins + addrs := make([]string, d.numLocked()) + copy(addrs, d.Addresses[d.InitialUnlockedCount:]) + return addrs +} + +// AddressesDecoded returns a copy of the hardcoded distribution addresses array. +// Each address has 1,000,000 coins. There are 100 addresses. +func (d *Distribution) AddressesDecoded() []cipher.Address { + d.mustDecodeAddresses() + addrs := make([]cipher.Address, len(d.addressesDecoded)) + copy(addrs, d.addressesDecoded) + return addrs +} + +// UnlockedAddressesDecoded returns distribution addresses that are unlocked, i.e. they have spendable outputs +func (d *Distribution) UnlockedAddressesDecoded() []cipher.Address { + // The first d.InitialUnlockedCount (25) addresses are unlocked by default. + // Subsequent addresses will be unlocked at a rate of UnlockAddressRate (5) per year, + // after the d.InitialUnlockedCount (25) addresses have no remaining balance. + // The unlock timer will be enabled manually once the + // d.InitialUnlockedCount (25) addresses are distributed. + + // NOTE: To have automatic unlocking, transaction verification would have + // to be handled in visor rather than in coin.Transactions.Visor(), because + // the coin package is agnostic to the state of the blockchain and cannot reference it. + // Instead of automatic unlocking, we can hardcode the timestamp at which the first 30% + // is distributed, then compute the unlocked addresses easily here. + d.mustDecodeAddresses() + addrs := make([]cipher.Address, d.InitialUnlockedCount) + copy(addrs[:], d.addressesDecoded[:d.InitialUnlockedCount]) + return addrs +} + +// LockedAddressesDecoded returns distribution addresses that are locked, i.e. they have unspendable outputs +func (d *Distribution) LockedAddressesDecoded() []cipher.Address { + // TODO -- once we reach 30% distribution, we can hardcode the + // initial timestamp for releasing more coins + d.mustDecodeAddresses() + addrs := make([]cipher.Address, d.numLocked()) + copy(addrs, d.addressesDecoded[d.InitialUnlockedCount:]) + return addrs +} + +func (d *Distribution) numLocked() uint64 { + n := uint64(len(d.Addresses)) + if n < d.InitialUnlockedCount { + panic("number of distribution addresses is less than InitialUnlockedCount") + } + return n - d.InitialUnlockedCount +} + +func (d *Distribution) decodeAddresses() error { + if len(d.addressesDecoded) == len(d.Addresses) { + return nil + } + + decodedAddrs := make([]cipher.Address, len(d.Addresses)) + for i, a := range d.Addresses { + var err error + decodedAddrs[i], err = cipher.DecodeBase58Address(a) + if err != nil { + return err + } + } + + d.addressesDecoded = decodedAddrs + return nil +} + +func (d *Distribution) mustDecodeAddresses() { + if err := d.decodeAddresses(); err != nil { + panic(err) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/params/droplet.go b/vendor/github.com/skycoin/skycoin/src/params/droplet.go new file mode 100644 index 00000000..577a9ed6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/params/droplet.go @@ -0,0 +1,34 @@ +package params + +import ( + "errors" + + "github.com/skycoin/skycoin/src/util/droplet" +) + +var ( + // ErrInvalidDecimals is returned by DropletPrecisionCheck if a coin amount has an invalid number of decimal places + ErrInvalidDecimals = errors.New("invalid amount, too many decimal places") +) + +// DropletPrecisionToDivisor converts number of allowed decimal places to the modulus divisor used when checking droplet precision rules +func DropletPrecisionToDivisor(precision uint8) uint64 { + if precision > droplet.Exponent { + panic("precision must be <= droplet.Exponent") + } + + n := droplet.Exponent - precision + var i uint64 = 1 + for k := uint8(0); k < n; k++ { + i = i * 10 + } + return i +} + +// DropletPrecisionCheck checks if an amount of coins is valid given decimal place restrictions +func DropletPrecisionCheck(precision uint8, amount uint64) error { + if amount%DropletPrecisionToDivisor(precision) != 0 { + return ErrInvalidDecimals + } + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/params/init.go b/vendor/github.com/skycoin/skycoin/src/params/init.go new file mode 100644 index 00000000..7ff9b2ae --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/params/init.go @@ -0,0 +1,78 @@ +package params + +import ( + "fmt" + "os" + "strconv" + + "github.com/skycoin/skycoin/src/util/droplet" +) + +func init() { + loadUserBurnFactor() + loadUserMaxTransactionSize() + loadUserMaxDecimals() + sanityCheck() +} + +func sanityCheck() { + if err := UserVerifyTxn.Validate(); err != nil { + panic(err) + } + + MainNetDistribution.MustValidate() +} + +func loadUserBurnFactor() { + xs := os.Getenv("USER_BURN_FACTOR") + if xs == "" { + return + } + + x, err := strconv.ParseUint(xs, 10, 32) + if err != nil { + panic(fmt.Sprintf("Invalid USER_BURN_FACTOR %q: %v", xs, err)) + } + + if x < uint64(MinBurnFactor) { + panic(fmt.Sprintf("USER_BURN_FACTOR must be >= %d", MinBurnFactor)) + } + + UserVerifyTxn.BurnFactor = uint32(x) +} + +func loadUserMaxTransactionSize() { + xs := os.Getenv("USER_MAX_TXN_SIZE") + if xs == "" { + return + } + + x, err := strconv.ParseUint(xs, 10, 32) + if err != nil { + panic(fmt.Sprintf("Invalid USER_MAX_TXN_SIZE %q: %v", xs, err)) + } + + if x < uint64(MinTransactionSize) { + panic(fmt.Sprintf("USER_MAX_TXN_SIZE must be >= %d", MinTransactionSize)) + } + + UserVerifyTxn.MaxTransactionSize = uint32(x) +} + +func loadUserMaxDecimals() { + xs := os.Getenv("USER_MAX_DECIMALS") + if xs == "" { + return + } + + x, err := strconv.ParseUint(xs, 10, 8) + if err != nil { + panic(fmt.Sprintf("Invalid USER_MAX_DECIMALS %q: %v", xs, err)) + } + + if x > uint64(droplet.Exponent) { + panic(fmt.Sprintf("USER_MAX_DECIMALS must be <= %d", droplet.Exponent)) + } + + UserVerifyTxn.MaxDropletPrecision = uint8(x) +} diff --git a/vendor/github.com/skycoin/skycoin/src/params/params.go b/vendor/github.com/skycoin/skycoin/src/params/params.go new file mode 100644 index 00000000..7ae26c12 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/params/params.go @@ -0,0 +1,128 @@ +package params + +/* +CODE GENERATED AUTOMATICALLY WITH FIBER COIN CREATOR +AVOID EDITING THIS MANUALLY +*/ + +var ( + // MainNetDistribution Skycoin mainnet coin distribution parameters + MainNetDistribution = Distribution{ + MaxCoinSupply: 100000000, + InitialUnlockedCount: 25, + UnlockAddressRate: 5, + UnlockTimeInterval: 31536000, + Addresses: []string{ + "R6aHqKWSQfvpdo2fGSrq4F1RYXkBWR9HHJ", + "2EYM4WFHe4Dgz6kjAdUkM6Etep7ruz2ia6h", + "25aGyzypSA3T9K6rgPUv1ouR13efNPtWP5m", + "ix44h3cojvN6nqGcdpy62X7Rw6Ahnr3Thk", + "AYV8KEBEAPCg8a59cHgqHMqYHP9nVgQDyW", + "2Nu5Jv5Wp3RYGJU1EkjWFFHnebxMx1GjfkF", + "2THDupTBEo7UqB6dsVizkYUvkKq82Qn4gjf", + "tWZ11Nvor9parjg4FkwxNVcby59WVTw2iL", + "m2joQiJRZnj3jN6NsoKNxaxzUTijkdRoSR", + "8yf8PAQqU2cDj8Yzgz3LgBEyDqjvCh2xR7", + "sgB3n11ZPUYHToju6TWMpUZTUcKvQnoFMJ", + "2UYPbDBnHUEc67e7qD4eXtQQ6zfU2cyvAvk", + "wybwGC9rhm8ZssBuzpy5goXrAdE31MPdsj", + "JbM25o7kY7hqJZt3WGYu9pHZFCpA9TCR6t", + "2efrft5Lnwjtk7F1p9d7BnPd72zko2hQWNi", + "Syzmb3MiMoiNVpqFdQ38hWgffHg86D2J4e", + "2g3GUmTQooLrNHaRDhKtLU8rWLz36Beow7F", + "D3phtGr9iv6238b3zYXq6VgwrzwvfRzWZQ", + "gpqsFSuMCZmsjPc6Rtgy1FmLx424tH86My", + "2EUF3GPEUmfocnUc1w6YPtqXVCy3UZA4rAq", + "TtAaxB3qGz5zEAhhiGkBY9VPV7cekhvRYS", + "2fM5gVpi7XaiMPm4i29zddTNkmrKe6TzhVZ", + "ix3NDKgxfYYANKAb5kbmwBYXPrkAsha7uG", + "2RkPshpFFrkuaP98GprLtgHFTGvPY5e6wCK", + "Ak1qCDNudRxZVvcW6YDAdD9jpYNNStAVqm", + "2eZYSbzBKJ7QCL4kd5LSqV478rJQGb4UNkf", + "KPfqM6S96WtRLMuSy4XLfVwymVqivdcDoM", + "5B98bU1nsedGJBdRD5wLtq7Z8t8ZXio8u5", + "2iZWk5tmBynWxj2PpAFyiZzEws9qSnG3a6n", + "XUGdPaVnMh7jtzPe3zkrf9FKh5nztFnQU5", + "hSNgHgewJme8uaHrEuKubHYtYSDckD6hpf", + "2DeK765jLgnMweYrMp1NaYHfzxumfR1PaQN", + "orrAssY5V2HuQAbW9K6WktFrGieq2m23pr", + "4Ebf4PkG9QEnQTm4MVvaZvJV6Y9av3jhgb", + "7Uf5xJ3GkiEKaLxC2WmJ1t6SeekJeBdJfu", + "oz4ytDKbCqpgjW3LPc52pW2CaK2gxCcWmL", + "2ex5Z7TufQ5Z8xv5mXe53fSQRfUr35SSo7Q", + "WV2ap7ZubTxeDdmEZ1Xo7ufGMkekLWikJu", + "ckCTV4r1pNuz6j2VBRHhaJN9HsCLY7muLV", + "MXJx96ZJVSjktgeYZpVK8vn1H3xWP8ooq5", + "wyQVmno9aBJZmQ99nDSLoYWwp7YDJCWsrH", + "2cc9wKxCsFNRkoAQDAoHke3ZoyL1mSV14cj", + "29k9g3F5AYfVaa1joE1PpZjBED6hQXes8Mm", + "2XPLzz4ZLf1A9ykyTCjW5gEmVjnWa8CuatH", + "iH7DqqojTgUn2JxmY9hgFp165Nk7wKfan9", + "RJzzwUs3c9C8Y7NFYzNfFoqiUKeBhBfPki", + "2W2cGyiCRM4nwmmiGPgMuGaPGeBzEm7VZPn", + "ALJVNKYL7WGxFBSriiZuwZKWD4b7fbV1od", + "tBaeg9zE2sgmw5ZQENaPPYd6jfwpVpGTzS", + "2hdTw5Hk3rsgpZjvk8TyKcCZoRVXU5QVrUt", + "A1QU6jKq8YgTP79M8fwZNHUZc7hConFKmy", + "q9RkXoty3X1fuaypDDRUi78rWgJWYJMmpJ", + "2Xvm6is5cAPA85xnSYXDuAqiRyoXiky5RaD", + "4CW2CPJEzxhn2PS4JoSLoWGL5QQ7dL2eji", + "24EG6uTzL7DHNzcwsygYGRR1nfu5kco7AZ1", + "KghGnWw5fppTrqHSERXZf61yf7GkuQdCnV", + "2WojewRA3LbpyXTP9ANy8CZqJMgmyNm3MDr", + "2BsMfywmGV3M2CoDA112Rs7ZBkiMHfy9X11", + "kK1Q4gPyYfVVMzQtAPRzL8qXMqJ67Y7tKs", + "28J4mx8xfUtM92DbQ6i2Jmqw5J7dNivfroN", + "gQvgyG1djgtftoCVrSZmsRxr7okD4LheKw", + "3iFGBKapAWWzbiGFSr5ScbhrEPm6Esyvia", + "NFW2akQH2vu7AqkQXxFz2P5vkXTWkSqrSm", + "2MQJjLnWRp9eHh6MpCwpiUeshhtmri12mci", + "2QjRQUMyL6iodtHP9zKmxCNYZ7k3jxtk49C", + "USdfKy7B6oFNoauHWMmoCA7ND9rHqYw2Mf", + "cA49et9WtptYHf6wA1F8qqVgH3kS5jJ9vK", + "qaJT9TjcMi46sTKcgwRQU8o5Lw2Ea1gC4N", + "22pyn5RyhqtTQu4obYjuWYRNNw4i54L8xVr", + "22dkmukC6iH4FFLBmHne6modJZZQ3MC9BAT", + "z6CJZfYLvmd41GRVE8HASjRcy5hqbpHZvE", + "GEBWJ2KpRQDBTCCtvnaAJV2cYurgXS8pta", + "oS8fbEm82cprmAeineBeDkaKd7QownDZQh", + "rQpAs1LVQdphyj9ipEAuukAoj9kNpSP8cM", + "6NSJKsPxmqipGAfFFhUKbkopjrvEESTX3j", + "cuC68ycVXmD2EBzYFNYQ6akhKGrh3FGjSf", + "bw4wtYU8toepomrhWP2p8UFYfHBbvEV425", + "HvgNmDz5jD39Gwmi9VfDY1iYMhZUpZ8GKz", + "SbApuZAYquWP3Q6iD51BcMBQjuApYEkRVf", + "2Ugii5yxJgLzC59jV1vF8GK7UBZdvxwobeJ", + "21N2iJ1qnQRiJWcEqNRxXwfNp8QcmiyhtPy", + "9TC4RGs6AtFUsbcVWnSoCdoCpSfM66ALAc", + "oQzn55UWG4iMcY9bTNb27aTnRdfiGHAwbD", + "2GCdwsRpQhcf8SQcynFrMVDM26Bbj6sgv9M", + "2NRFe7REtSmaM2qAgZeG45hC8EtVGV2QjeB", + "25RGnhN7VojHUTvQBJA9nBT5y1qTQGULMzR", + "26uCBDfF8E2PJU2Dzz2ysgKwv9m4BhodTz9", + "Wkvima5cF7DDFdmJQqcdq8Syaq9DuAJJRD", + "286hSoJYxvENFSHwG51ZbmKaochLJyq4ERQ", + "FEGxF3HPoM2HCWHn82tyeh9o7vEQq5ySGE", + "h38DxNxGhWGTq9p5tJnN5r4Fwnn85Krrb6", + "2c1UU8J6Y3kL4cmQh21Tj8wkzidCiZxwdwd", + "2bJ32KuGmjmwKyAtzWdLFpXNM6t83CCPLq5", + "2fi8oLC9zfVVGnzzQtu3Y3rffS65Hiz6QHo", + "TKD93RxFr2Am44TntLiJQus4qcEwTtvEEQ", + "zMDywYdGEDtTSvWnCyc3qsYHWwj9ogws74", + "25NbotTka7TwtbXUpSCQD8RMgHKspyDubXJ", + "2ayCELBERubQWH5QxUr3cTxrYpidvUAzsSw", + "RMTCwLiYDKEAiJu5ekHL1NQ8UKHi5ozCPg", + "ejJjiCwp86ykmFr5iTJ8LxQXJ2wJPTYmkm", + }, + } + + // UserVerifyTxn transaction verification parameters for user-created transactions + UserVerifyTxn = VerifyTxn{ + // BurnFactor can be overriden with `USER_BURN_FACTOR` env var + BurnFactor: 10, + // MaxTransactionSize can be overriden with `USER_MAX_TXN_SIZE` env var + MaxTransactionSize: 32768, // in bytes + // MaxDropletPrecision can be overriden with `USER_MAX_DECIMALS` env var + MaxDropletPrecision: 3, + } +) diff --git a/vendor/github.com/skycoin/skycoin/src/params/verify_txn.go b/vendor/github.com/skycoin/skycoin/src/params/verify_txn.go new file mode 100644 index 00000000..4d5030f3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/params/verify_txn.go @@ -0,0 +1,55 @@ +package params + +import ( + "errors" + + "github.com/skycoin/skycoin/src/util/droplet" +) + +const ( + // MinBurnFactor minimum value for BurnFactor + MinBurnFactor uint32 = 2 + // MinTransactionSize minimum value for MaxTransactionSize + MinTransactionSize uint32 = 1024 +) + +var ( + // ErrInvalidBurnFactor BurnFactor value is out of range + ErrInvalidBurnFactor = errors.New("BurnFactor value is out of range") + // ErrInvalidMaxTransactionSize MaxTransactionSize value is out of range + ErrInvalidMaxTransactionSize = errors.New("MaxTransactionSize value is out of range") + // ErrInvalidMaxDropletPrecision MaxDropletPrecision value is out of range + ErrInvalidMaxDropletPrecision = errors.New("MaxDropletPrecision value is out of range") +) + +// VerifyTxn are parameters for verifying a transaction +type VerifyTxn struct { + // BurnFactor inverse fraction of coinhours that must be burned + BurnFactor uint32 + // MaxTransactionSize maximum size of a transaction in bytes + MaxTransactionSize uint32 + // MaxDropletPrecision maximum decimal precision of droplets + MaxDropletPrecision uint8 +} + +// MaxDropletDivisor return the modulus divisor used when checking droplet precision rules +func (v VerifyTxn) MaxDropletDivisor() uint64 { + return DropletPrecisionToDivisor(v.MaxDropletPrecision) +} + +// Validate validates the configured parameters +func (v VerifyTxn) Validate() error { + if v.BurnFactor < MinBurnFactor { + return ErrInvalidBurnFactor + } + + if v.MaxTransactionSize < MinTransactionSize { + return ErrInvalidMaxTransactionSize + } + + if v.MaxDropletPrecision > droplet.Exponent { + return ErrInvalidMaxDropletPrecision + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/block.go b/vendor/github.com/skycoin/skycoin/src/readable/block.go new file mode 100644 index 00000000..560b7ac5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/block.go @@ -0,0 +1,145 @@ +/* +Package readable defines JSON-tagged struct representations of internal binary data structures, +for use by the API and CLI. +*/ +package readable + +import ( + "errors" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" +) + +// BlockHeader represents the readable block header +type BlockHeader struct { + BkSeq uint64 `json:"seq"` + Hash string `json:"block_hash"` + PreviousHash string `json:"previous_block_hash"` + Time uint64 `json:"timestamp"` + Fee uint64 `json:"fee"` + Version uint32 `json:"version"` + BodyHash string `json:"tx_body_hash"` + UxHash string `json:"ux_hash"` +} + +// NewBlockHeader creates a readable block header +func NewBlockHeader(b coin.BlockHeader) BlockHeader { + return BlockHeader{ + BkSeq: b.BkSeq, + Hash: b.Hash().Hex(), + PreviousHash: b.PrevHash.Hex(), + Time: b.Time, + Fee: b.Fee, + Version: b.Version, + BodyHash: b.BodyHash.Hex(), + UxHash: b.UxHash.Hex(), + } +} + +// ToCoinBlockHeader converts BlockHeader back to coin.BlockHeader +func (bh BlockHeader) ToCoinBlockHeader() (coin.BlockHeader, error) { + prevHash, err := cipher.SHA256FromHex(bh.PreviousHash) + if err != nil { + return coin.BlockHeader{}, err + } + + bodyHash, err := cipher.SHA256FromHex(bh.BodyHash) + if err != nil { + return coin.BlockHeader{}, err + } + + uxHash, err := cipher.SHA256FromHex(bh.UxHash) + if err != nil { + return coin.BlockHeader{}, err + } + + headHash, err := cipher.SHA256FromHex(bh.Hash) + if err != nil { + return coin.BlockHeader{}, err + } + + cbh := coin.BlockHeader{ + Version: bh.Version, + Time: bh.Time, + BkSeq: bh.BkSeq, + Fee: bh.Fee, + PrevHash: prevHash, + BodyHash: bodyHash, + UxHash: uxHash, + } + + if cbh.Hash() != headHash { + return coin.BlockHeader{}, errors.New("readable.BlockHeader.Hash != recovered coin.BlockHeader.Hash()") + } + + return cbh, nil +} + +// BlockBody represents a readable block body +type BlockBody struct { + Transactions []Transaction `json:"txns"` +} + +// NewBlockBody creates a readable block body +func NewBlockBody(b coin.Block) (*BlockBody, error) { + txns := make([]Transaction, len(b.Body.Transactions)) + isGenesis := b.Head.BkSeq == 0 + for i := range b.Body.Transactions { + txn, err := NewTransaction(b.Body.Transactions[i], isGenesis) + if err != nil { + return nil, err + } + txns[i] = *txn + } + + return &BlockBody{ + Transactions: txns, + }, nil +} + +// Block represents a readable block +type Block struct { + Head BlockHeader `json:"header"` + Body BlockBody `json:"body"` + Size uint32 `json:"size"` +} + +// NewBlock creates a readable block +func NewBlock(b coin.Block) (*Block, error) { + body, err := NewBlockBody(b) + if err != nil { + return nil, err + } + + size, err := b.Size() + if err != nil { + return nil, err + } + + return &Block{ + Head: NewBlockHeader(b.Head), + Body: *body, + Size: size, + }, nil +} + +// Blocks an array of readable blocks. +type Blocks struct { + Blocks []Block `json:"blocks"` +} + +// NewBlocks converts []coin.SignedBlock to Blocks +func NewBlocks(blocks []coin.SignedBlock) (*Blocks, error) { + rbs := make([]Block, 0, len(blocks)) + for _, b := range blocks { + rb, err := NewBlock(b.Block) + if err != nil { + return nil, err + } + rbs = append(rbs, *rb) + } + return &Blocks{ + Blocks: rbs, + }, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/blockchain.go b/vendor/github.com/skycoin/skycoin/src/readable/blockchain.go new file mode 100644 index 00000000..baca02f9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/blockchain.go @@ -0,0 +1,58 @@ +package readable + +import ( + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/visor" +) + +// BlockchainMetadata encapsulates useful information from the coin.Blockchain +type BlockchainMetadata struct { + // Most recent block's header + Head BlockHeader `json:"head"` + // Number of unspent outputs in the coin.Blockchain + Unspents uint64 `json:"unspents"` + // Number of known unconfirmed txns + Unconfirmed uint64 `json:"unconfirmed"` +} + +// NewBlockchainMetadata creates blockchain metadata +func NewBlockchainMetadata(bm visor.BlockchainMetadata) BlockchainMetadata { + return BlockchainMetadata{ + Head: NewBlockHeader(bm.HeadBlock.Head), + Unspents: bm.Unspents, + Unconfirmed: bm.Unconfirmed, + } +} + +// BlockchainProgress is the current blockchain syncing status +type BlockchainProgress struct { + // Our current blockchain length + Current uint64 `json:"current"` + // Our best guess at true blockchain length + Highest uint64 `json:"highest"` + // Individual blockchain length reports from peers + Peers []PeerBlockchainHeight `json:"peers"` +} + +// PeerBlockchainHeight is a peer's IP address with their reported blockchain height +type PeerBlockchainHeight struct { + Address string `json:"address"` + Height uint64 `json:"height"` +} + +// NewBlockchainProgress copies daemon.BlockchainProgress to a struct with json tags +func NewBlockchainProgress(bp *daemon.BlockchainProgress) BlockchainProgress { + peers := make([]PeerBlockchainHeight, len(bp.Peers)) + for i, p := range bp.Peers { + peers[i] = PeerBlockchainHeight{ + Address: p.Address, + Height: p.Height, + } + } + + return BlockchainProgress{ + Current: bp.Current, + Highest: bp.Highest, + Peers: peers, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/fiber.go b/vendor/github.com/skycoin/skycoin/src/readable/fiber.go new file mode 100644 index 00000000..49b891b4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/fiber.go @@ -0,0 +1,15 @@ +package readable + +import "github.com/skycoin/skycoin/src/cipher/bip44" + +// FiberConfig is fiber configuration parameters +type FiberConfig struct { + Name string `json:"name"` + DisplayName string `json:"display_name"` + Ticker string `json:"ticker"` + CoinHoursName string `json:"coin_hours_display_name"` + CoinHoursNameSingular string `json:"coin_hours_display_name_singular"` + CoinHoursTicker string `json:"coin_hours_ticker"` + ExplorerURL string `json:"explorer_url"` + Bip44Coin bip44.CoinType `json:"bip44_coin"` +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/network.go b/vendor/github.com/skycoin/skycoin/src/readable/network.go new file mode 100644 index 00000000..117632b5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/network.go @@ -0,0 +1,73 @@ +package readable + +import ( + "github.com/skycoin/skycoin/src/daemon" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/useragent" +) + +// Connection a connection's state within the daemon +type Connection struct { + GnetID uint64 `json:"id"` + Addr string `json:"address"` + LastSent int64 `json:"last_sent"` + LastReceived int64 `json:"last_received"` + ConnectedAt int64 `json:"connected_at"` + Outgoing bool `json:"outgoing"` + State daemon.ConnectionState `json:"state"` + Mirror uint32 `json:"mirror"` + ListenPort uint16 `json:"listen_port"` + Height uint64 `json:"height"` + UserAgent useragent.Data `json:"user_agent"` + IsTrustedPeer bool `json:"is_trusted_peer"` + UnconfirmedVerifyTxn VerifyTxn `json:"unconfirmed_verify_transaction"` +} + +// NewConnection copies daemon.Connection to a struct with json tags +func NewConnection(c *daemon.Connection) Connection { + var lastSent int64 + var lastReceived int64 + var connectedAt int64 + + if !c.Gnet.LastSent.IsZero() { + lastSent = c.Gnet.LastSent.Unix() + } + if !c.Gnet.LastReceived.IsZero() { + lastReceived = c.Gnet.LastReceived.Unix() + } + if !c.ConnectedAt.IsZero() { + connectedAt = c.ConnectedAt.Unix() + } + + return Connection{ + GnetID: c.Gnet.ID, + Addr: c.Addr, + LastSent: lastSent, + LastReceived: lastReceived, + ConnectedAt: connectedAt, + Outgoing: c.Outgoing, + State: c.State, + Mirror: c.Mirror, + ListenPort: c.ListenPort, + Height: c.Height, + UserAgent: c.UserAgent, + IsTrustedPeer: c.Pex.Trusted, + UnconfirmedVerifyTxn: NewVerifyTxn(c.UnconfirmedVerifyTxn), + } +} + +// VerifyTxn transaction verification parameters +type VerifyTxn struct { + BurnFactor uint32 `json:"burn_factor"` + MaxTransactionSize uint32 `json:"max_transaction_size"` + MaxDropletPrecision uint8 `json:"max_decimals"` +} + +// NewVerifyTxn converts params.VerifyTxn to VerifyTxn +func NewVerifyTxn(p params.VerifyTxn) VerifyTxn { + return VerifyTxn{ + BurnFactor: p.BurnFactor, + MaxTransactionSize: p.MaxTransactionSize, + MaxDropletPrecision: p.MaxDropletPrecision, + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/output.go b/vendor/github.com/skycoin/skycoin/src/readable/output.go new file mode 100644 index 00000000..e8bc8dd9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/output.go @@ -0,0 +1,276 @@ +package readable + +import ( + "errors" + "fmt" + "sort" + "strings" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/transaction" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/util/mathutil" + "github.com/skycoin/skycoin/src/visor" + "github.com/skycoin/skycoin/src/visor/historydb" + "github.com/skycoin/skycoin/src/wallet" +) + +// UnspentOutput represents a readable output +type UnspentOutput struct { + Hash string `json:"hash"` + Time uint64 `json:"time"` + BkSeq uint64 `json:"block_seq"` + SourceTransaction string `json:"src_tx"` + Address string `json:"address"` + Coins string `json:"coins"` + Hours uint64 `json:"hours"` + CalculatedHours uint64 `json:"calculated_hours"` +} + +// NewUnspentOutput creates a readable output +func NewUnspentOutput(uxOut visor.UnspentOutput) (UnspentOutput, error) { + coinStr, err := droplet.ToString(uxOut.Body.Coins) + if err != nil { + return UnspentOutput{}, err + } + + return UnspentOutput{ + Hash: uxOut.Hash().Hex(), + Time: uxOut.Head.Time, + BkSeq: uxOut.Head.BkSeq, + SourceTransaction: uxOut.Body.SrcTransaction.Hex(), + Address: uxOut.Body.Address.String(), + Coins: coinStr, + Hours: uxOut.Body.Hours, + CalculatedHours: uxOut.CalculatedHours, + }, nil +} + +// UnspentOutputs slice of UnspentOutput +type UnspentOutputs []UnspentOutput + +// NewUnspentOutputs converts unspent outputs to a readable output +func NewUnspentOutputs(uxs []visor.UnspentOutput) (UnspentOutputs, error) { + rxReadables := make(UnspentOutputs, len(uxs)) + for i, ux := range uxs { + out, err := NewUnspentOutput(ux) + if err != nil { + return UnspentOutputs{}, err + } + + rxReadables[i] = out + } + + // Sort UnspentOutputs newest to oldest, using hash to break ties + sort.Slice(rxReadables, func(i, j int) bool { + if rxReadables[i].Time == rxReadables[j].Time { + return strings.Compare(rxReadables[i].Hash, rxReadables[j].Hash) < 0 + } + return rxReadables[i].Time > rxReadables[j].Time + }) + + return rxReadables, nil +} + +// Balance returns the balance in droplets +func (ros UnspentOutputs) Balance() (wallet.Balance, error) { + var bal wallet.Balance + for _, out := range ros { + coins, err := droplet.FromString(out.Coins) + if err != nil { + return wallet.Balance{}, err + } + + bal.Coins, err = mathutil.AddUint64(bal.Coins, coins) + if err != nil { + return wallet.Balance{}, err + } + + bal.Hours, err = mathutil.AddUint64(bal.Hours, out.CalculatedHours) + if err != nil { + return wallet.Balance{}, err + } + } + + return bal, nil +} + +// ToUxArray converts UnspentOutputs to coin.UxArray +func (ros UnspentOutputs) ToUxArray() (coin.UxArray, error) { + var uxs coin.UxArray + for _, o := range ros { + coins, err := droplet.FromString(o.Coins) + if err != nil { + return nil, err + } + + addr, err := cipher.DecodeBase58Address(o.Address) + if err != nil { + return nil, err + } + + srcTx, err := cipher.SHA256FromHex(o.SourceTransaction) + if err != nil { + return nil, err + } + + uxs = append(uxs, coin.UxOut{ + Head: coin.UxHead{ + Time: o.Time, + BkSeq: o.BkSeq, + }, + Body: coin.UxBody{ + SrcTransaction: srcTx, + Address: addr, + Coins: coins, + Hours: o.Hours, + }, + }) + } + + return uxs, nil +} + +// OutputsToUxBalances converts UnspentOutputs to []transaction.UxBalance +func OutputsToUxBalances(ros UnspentOutputs) ([]transaction.UxBalance, error) { + uxb := make([]transaction.UxBalance, len(ros)) + for i, ro := range ros { + if ro.Hash == "" { + return nil, errors.New("UnspentOutput missing hash") + } + + hash, err := cipher.SHA256FromHex(ro.Hash) + if err != nil { + return nil, fmt.Errorf("UnspentOutput hash is invalid: %v", err) + } + + coins, err := droplet.FromString(ro.Coins) + if err != nil { + return nil, fmt.Errorf("UnspentOutput coins is invalid: %v", err) + } + + addr, err := cipher.DecodeBase58Address(ro.Address) + if err != nil { + return nil, fmt.Errorf("UnspentOutput address is invalid: %v", err) + } + + srcTx, err := cipher.SHA256FromHex(ro.SourceTransaction) + if err != nil { + return nil, fmt.Errorf("UnspentOutput src_tx is invalid: %v", err) + } + + b := transaction.UxBalance{ + Hash: hash, + Time: ro.Time, + BkSeq: ro.BkSeq, + SrcTransaction: srcTx, + Address: addr, + Coins: coins, + Hours: ro.CalculatedHours, + InitialHours: ro.Hours, + } + + uxb[i] = b + } + + return uxb, nil +} + +// UnspentOutputsSummary records unspent outputs in different status. +type UnspentOutputsSummary struct { + Head BlockHeader `json:"head"` + // HeadOutputs are unspent outputs confirmed in the blockchain + HeadOutputs UnspentOutputs `json:"head_outputs"` + // OutgoingOutputs are unspent outputs being spent in unconfirmed transactions + OutgoingOutputs UnspentOutputs `json:"outgoing_outputs"` + // IncomingOutputs are unspent outputs being created by unconfirmed transactions + IncomingOutputs UnspentOutputs `json:"incoming_outputs"` +} + +// NewUnspentOutputsSummary creates an UnspentOutputsSummary from visor.UnspentOutputsSummary +func NewUnspentOutputsSummary(summary *visor.UnspentOutputsSummary) (*UnspentOutputsSummary, error) { + headOutputs, err := NewUnspentOutputs(summary.Confirmed) + if err != nil { + return nil, err + } + + outgoingOutputs, err := NewUnspentOutputs(summary.Outgoing) + if err != nil { + return nil, err + } + + incomingOutputs, err := NewUnspentOutputs(summary.Incoming) + if err != nil { + return nil, err + } + + return &UnspentOutputsSummary{ + Head: NewBlockHeader(summary.HeadBlock.Head), + HeadOutputs: headOutputs, + OutgoingOutputs: outgoingOutputs, + IncomingOutputs: incomingOutputs, + }, nil +} + +// SpendableOutputs subtracts OutgoingOutputs from HeadOutputs +func (os UnspentOutputsSummary) SpendableOutputs() UnspentOutputs { + if len(os.OutgoingOutputs) == 0 { + return os.HeadOutputs + } + + spending := make(map[string]struct{}, len(os.OutgoingOutputs)) + for _, u := range os.OutgoingOutputs { + spending[u.Hash] = struct{}{} + } + + var outs UnspentOutputs + for i := range os.HeadOutputs { + if _, ok := spending[os.HeadOutputs[i].Hash]; !ok { + outs = append(outs, os.HeadOutputs[i]) + } + } + return outs +} + +// ExpectedOutputs adds IncomingOutputs to SpendableOutputs +func (os UnspentOutputsSummary) ExpectedOutputs() UnspentOutputs { + return append(os.SpendableOutputs(), os.IncomingOutputs...) +} + +// SpentOutput is an unspent output that was spent +type SpentOutput struct { + Uxid string `json:"uxid"` + Time uint64 `json:"time"` + SrcBkSeq uint64 `json:"src_block_seq"` + SrcTx string `json:"src_tx"` + OwnerAddress string `json:"owner_address"` + Coins uint64 `json:"coins"` + Hours uint64 `json:"hours"` + SpentBlockSeq uint64 `json:"spent_block_seq"` // block seq that spent the output. + SpentTxnID string `json:"spent_tx"` // id of tx which spent this output. +} + +// NewSpentOutput creates a SpentOutput from historydb.UxOut +func NewSpentOutput(out *historydb.UxOut) SpentOutput { + return SpentOutput{ + Uxid: out.Hash().Hex(), + Time: out.Out.Head.Time, + SrcBkSeq: out.Out.Head.BkSeq, + SrcTx: out.Out.Body.SrcTransaction.Hex(), + OwnerAddress: out.Out.Body.Address.String(), + Coins: out.Out.Body.Coins, + Hours: out.Out.Body.Hours, + SpentBlockSeq: out.SpentBlockSeq, + SpentTxnID: out.SpentTxnID.Hex(), + } +} + +// NewSpentOutputs creates []SpentOutput from []historydb.UxOut +func NewSpentOutputs(outs []historydb.UxOut) []SpentOutput { + spents := make([]SpentOutput, len(outs)) + for i, o := range outs { + spents[i] = NewSpentOutput(&o) + } + return spents +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/richlist.go b/vendor/github.com/skycoin/skycoin/src/readable/richlist.go new file mode 100644 index 00000000..4f87547d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/richlist.go @@ -0,0 +1,32 @@ +package readable + +import ( + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/visor" +) + +// RichlistBalance holds info an address balance holder +type RichlistBalance struct { + Address string `json:"address"` + Coins string `json:"coins"` + Locked bool `json:"locked"` +} + +// NewRichlistBalances copies from visor.Richlist +func NewRichlistBalances(visorRichlist visor.Richlist) ([]RichlistBalance, error) { + richlist := make([]RichlistBalance, len(visorRichlist)) + for i, v := range visorRichlist { + coins, err := droplet.ToString(v.Coins) + if err != nil { + return nil, err + } + + richlist[i] = RichlistBalance{ + Address: v.Address.String(), + Coins: coins, + Locked: v.Locked, + } + } + + return richlist, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/transaction.go b/vendor/github.com/skycoin/skycoin/src/readable/transaction.go new file mode 100644 index 00000000..219b4d7b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/transaction.go @@ -0,0 +1,252 @@ +package readable + +import ( + "errors" + "fmt" + "time" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/timeutil" + "github.com/skycoin/skycoin/src/visor" +) + +var logger = logging.MustGetLogger("readable") + +// TransactionStatus represents the transaction status +type TransactionStatus struct { + Confirmed bool `json:"confirmed"` + Unconfirmed bool `json:"unconfirmed"` + // If confirmed, how many blocks deep in the chain it is. Will be at least 1 if confirmed + Height uint64 `json:"height"` + // If confirmed, the sequence of the block in which the transaction was executed + BlockSeq uint64 `json:"block_seq"` +} + +// NewTransactionStatus creates TransactionStatus from visor.TransactionStatus +func NewTransactionStatus(status visor.TransactionStatus) TransactionStatus { + return TransactionStatus{ + Unconfirmed: !status.Confirmed, + Confirmed: status.Confirmed, + Height: status.Height, + BlockSeq: status.BlockSeq, + } +} + +// TransactionOutput readable transaction output +type TransactionOutput struct { + Hash string `json:"uxid"` + Address string `json:"dst"` + Coins string `json:"coins"` + Hours uint64 `json:"hours"` +} + +// TransactionInput readable transaction input +type TransactionInput struct { + Hash string `json:"uxid"` + Address string `json:"owner"` + Coins string `json:"coins"` + Hours uint64 `json:"hours"` + CalculatedHours uint64 `json:"calculated_hours"` +} + +// NewTransactionOutput creates a TransactionOutput +func NewTransactionOutput(txn *coin.TransactionOutput, txid cipher.SHA256) (*TransactionOutput, error) { + coinStr, err := droplet.ToString(txn.Coins) + if err != nil { + return nil, err + } + + return &TransactionOutput{ + Hash: txn.UxID(txid).Hex(), + Address: txn.Address.String(), + Coins: coinStr, + Hours: txn.Hours, + }, nil +} + +// NewTransactionInput creates a TransactionInput from a visor.TransactionInput +func NewTransactionInput(input visor.TransactionInput) (TransactionInput, error) { + coinStr, err := droplet.ToString(input.UxOut.Body.Coins) + if err != nil { + logger.Errorf("Failed to convert coins to string: %v", err) + return TransactionInput{}, err + } + + return TransactionInput{ + Hash: input.UxOut.Hash().Hex(), + Address: input.UxOut.Body.Address.String(), + Coins: coinStr, + Hours: input.UxOut.Body.Hours, + CalculatedHours: input.CalculatedHours, + }, nil +} + +// Transaction represents a readable transaction +type Transaction struct { + Timestamp uint64 `json:"timestamp,omitempty"` + Length uint32 `json:"length"` + Type uint8 `json:"type"` + Hash string `json:"txid"` + InnerHash string `json:"inner_hash"` + + Sigs []string `json:"sigs"` + In []string `json:"inputs"` + Out []TransactionOutput `json:"outputs"` +} + +// NewTransaction creates a readable transaction +func NewTransaction(txn coin.Transaction, isGenesis bool) (*Transaction, error) { + if isGenesis && len(txn.In) != 0 { + return nil, errors.New("NewTransaction: isGenesis=true but Transaction.In is not empty") + } + if !isGenesis && len(txn.In) == 0 { + return nil, errors.New("NewTransaction: isGenesis=false but Transaction.In is empty") + } + + // Genesis transaction uses empty SHA256 as the txid for its outputs [FIXME: requires hardfork] + txID := txn.Hash() + txnOutputTxID := cipher.SHA256{} + if !isGenesis { + txnOutputTxID = txID + } + + sigs := make([]string, len(txn.Sigs)) + for i := range txn.Sigs { + sigs[i] = txn.Sigs[i].Hex() + } + + in := make([]string, len(txn.In)) + for i := range txn.In { + in[i] = txn.In[i].Hex() + } + + out := make([]TransactionOutput, len(txn.Out)) + for i := range txn.Out { + o, err := NewTransactionOutput(&txn.Out[i], txnOutputTxID) + if err != nil { + return nil, err + } + + out[i] = *o + } + + return &Transaction{ + Length: txn.Length, + Type: txn.Type, + Hash: txID.Hex(), + InnerHash: txn.InnerHash.Hex(), + + Sigs: sigs, + In: in, + Out: out, + }, nil +} + +// NewTransactionWithTimestamp creates a readable transaction with its timestamp set +func NewTransactionWithTimestamp(txn coin.Transaction, isGenesis bool, timestamp uint64) (*Transaction, error) { + newTxn, err := NewTransaction(txn, isGenesis) + if err != nil { + return nil, err + } + newTxn.Timestamp = timestamp + return newTxn, nil +} + +// UnconfirmedTransactions represents a readable unconfirmed transaction +type UnconfirmedTransactions struct { + Transaction Transaction `json:"transaction"` + Received time.Time `json:"received"` + Checked time.Time `json:"checked"` + Announced time.Time `json:"announced"` + IsValid bool `json:"is_valid"` +} + +// NewUnconfirmedTransaction creates a readable unconfirmed transaction +func NewUnconfirmedTransaction(unconfirmed *visor.UnconfirmedTransaction) (*UnconfirmedTransactions, error) { + isGenesis := false // unconfirmed transactions are never the genesis transaction + txn, err := NewTransaction(unconfirmed.Transaction, isGenesis) + if err != nil { + return nil, err + } + return &UnconfirmedTransactions{ + Transaction: *txn, + Received: timeutil.NanoToTime(unconfirmed.Received), + Checked: timeutil.NanoToTime(unconfirmed.Checked), + Announced: timeutil.NanoToTime(unconfirmed.Announced), + IsValid: unconfirmed.IsValid == 1, + }, nil +} + +// NewUnconfirmedTransactions converts []visor.UnconfirmedTransaction to []UnconfirmedTransactions +func NewUnconfirmedTransactions(txns []visor.UnconfirmedTransaction) ([]UnconfirmedTransactions, error) { + rut := make([]UnconfirmedTransactions, len(txns)) + for i := range txns { + txn, err := NewUnconfirmedTransaction(&txns[i]) + if err != nil { + return []UnconfirmedTransactions{}, err + } + rut[i] = *txn + } + return rut, nil +} + +// TransactionWithStatus represents transaction result +type TransactionWithStatus struct { + Status TransactionStatus `json:"status"` + Time uint64 `json:"time"` + Transaction Transaction `json:"txn"` +} + +// NewTransactionWithStatus converts visor.Transaction to TransactionWithStatus +func NewTransactionWithStatus(txn *visor.Transaction) (*TransactionWithStatus, error) { + if txn == nil { + return nil, nil + } + + isGenesis := txn.Status.BlockSeq == 0 && txn.Status.Confirmed + rbTxn, err := NewTransactionWithTimestamp(txn.Transaction, isGenesis, txn.Time) + if err != nil { + return nil, err + } + + return &TransactionWithStatus{ + Transaction: *rbTxn, + Status: NewTransactionStatus(txn.Status), + Time: txn.Time, + }, nil +} + +// TransactionWithStatusVerbose represents verbose transaction result +type TransactionWithStatusVerbose struct { + Status TransactionStatus `json:"status"` + Time uint64 `json:"time"` + Transaction TransactionVerbose `json:"txn"` +} + +// NewTransactionWithStatusVerbose converts visor.Transaction to TransactionWithStatusVerbose +func NewTransactionWithStatusVerbose(txn *visor.Transaction, inputs []visor.TransactionInput) (*TransactionWithStatusVerbose, error) { + if txn == nil { + return nil, nil + } + + if len(txn.Transaction.In) != len(inputs) { + return nil, fmt.Errorf("NewTransactionWithStatusVerbose: len(txn.In) != len(inputs) [%d != %d]", len(txn.Transaction.In), len(inputs)) + } + + rbTxn, err := NewTransactionVerbose(*txn, inputs) + if err != nil { + return nil, err + } + + // Force the Status field to be hidden on the inner transaction, to maintain API compatibility + rbTxn.Status = nil + + return &TransactionWithStatusVerbose{ + Transaction: rbTxn, + Status: NewTransactionStatus(txn.Status), + Time: txn.Time, + }, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/verbose.go b/vendor/github.com/skycoin/skycoin/src/readable/verbose.go new file mode 100644 index 00000000..073e8e2c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/verbose.go @@ -0,0 +1,258 @@ +package readable + +import ( + "errors" + "fmt" + "time" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/mathutil" + "github.com/skycoin/skycoin/src/util/timeutil" + "github.com/skycoin/skycoin/src/visor" +) + +// BlockBodyVerbose represents a verbose readable block body +type BlockBodyVerbose struct { + Transactions []BlockTransactionVerbose `json:"txns"` +} + +// BlockVerbose represents a readable block with verbose data +type BlockVerbose struct { + Head BlockHeader `json:"header"` + Body BlockBodyVerbose `json:"body"` + Size uint32 `json:"size"` +} + +// NewBlockBodyVerbose creates a verbose readable block body +func NewBlockBodyVerbose(b coin.Block, inputs [][]visor.TransactionInput) (*BlockBodyVerbose, error) { + if len(inputs) != len(b.Body.Transactions) { + return nil, fmt.Errorf("NewBlockBodyVerbose: len(inputs) != len(b.Body.Transactions) (seq=%d)", b.Head.BkSeq) + } + + txns := make([]BlockTransactionVerbose, len(b.Body.Transactions)) + for i := range b.Body.Transactions { + t := b.Body.Transactions[i] + + txn, err := NewBlockTransactionVerbose(t, inputs[i], b.Head.BkSeq == 0) + if err != nil { + return nil, err + } + txns[i] = txn + } + + return &BlockBodyVerbose{ + Transactions: txns, + }, nil +} + +// NewBlockVerbose creates a verbose readable block +func NewBlockVerbose(b coin.Block, inputs [][]visor.TransactionInput) (*BlockVerbose, error) { + body, err := NewBlockBodyVerbose(b, inputs) + if err != nil { + return nil, err + } + + size, err := b.Size() + if err != nil { + return nil, err + } + + return &BlockVerbose{ + Head: NewBlockHeader(b.Head), + Body: *body, + Size: size, + }, nil +} + +// BlocksVerbose an array of verbose readable blocks. +type BlocksVerbose struct { + Blocks []BlockVerbose `json:"blocks"` +} + +// NewBlocksVerbose creates BlocksVerbose from []BlockVerbose +func NewBlocksVerbose(blocks []coin.SignedBlock, inputs [][][]visor.TransactionInput) (*BlocksVerbose, error) { + bs := make([]BlockVerbose, len(blocks)) + for i := range blocks { + if i >= len(inputs) { + return nil, errors.New("NewBlocksVerbose: not enough inputs for blocks") + } + + b, err := NewBlockVerbose(blocks[i].Block, inputs[i]) + if err != nil { + return nil, err + } + + bs[i] = *b + } + + return &BlocksVerbose{ + Blocks: bs, + }, nil +} + +// BlockTransactionVerbose has readable transaction data for transactions inside a block. It differs from Transaction +// in that it includes metadata for transaction inputs and the calculated coinhour fee spent by the block +type BlockTransactionVerbose struct { + Length uint32 `json:"length"` + Type uint8 `json:"type"` + Hash string `json:"txid"` + InnerHash string `json:"inner_hash"` + Fee uint64 `json:"fee"` + + Sigs []string `json:"sigs"` + In []TransactionInput `json:"inputs"` + Out []TransactionOutput `json:"outputs"` +} + +// NewBlockTransactionVerbose creates BlockTransactionVerbose +func NewBlockTransactionVerbose(txn coin.Transaction, inputs []visor.TransactionInput, isGenesis bool) (BlockTransactionVerbose, error) { + if len(inputs) != len(txn.In) { + return BlockTransactionVerbose{}, errors.New("NewBlockTransactionVerbose: len(inputs) != len(txn.In)") + } + + // Genesis transaction uses empty SHA256 as txid + // FIXME: If/when the blockchain is regenerated, use a real hash as the txID for the genesis block. The bkSeq argument can be removed then. + txID := cipher.SHA256{} + if !isGenesis { + txID = txn.Hash() + } + + sigs := make([]string, len(txn.Sigs)) + for i, s := range txn.Sigs { + sigs[i] = s.Hex() + } + + out := make([]TransactionOutput, len(txn.Out)) + for i := range txn.Out { + o, err := NewTransactionOutput(&txn.Out[i], txID) + if err != nil { + return BlockTransactionVerbose{}, err + } + + out[i] = *o + } + + var hoursIn uint64 + for _, i := range inputs { + if _, err := mathutil.AddUint64(hoursIn, i.CalculatedHours); err != nil { + logger.Critical().Warningf("Ignoring NewBlockTransactionVerbose summing txn %s input hours error: %v", txID.Hex(), err) + } + hoursIn += i.CalculatedHours + } + + var hoursOut uint64 + for _, o := range txn.Out { + if _, err := mathutil.AddUint64(hoursOut, o.Hours); err != nil { + logger.Critical().Warningf("Ignoring NewBlockTransactionVerbose summing txn %s outputs hours error: %v", txID.Hex(), err) + } + + hoursOut += o.Hours + } + + var fee uint64 + if isGenesis { + if hoursIn != 0 { + err := errors.New("NewBlockTransactionVerbose genesis block should have 0 input hours") + return BlockTransactionVerbose{}, err + } + + fee = 0 + } else { + if hoursIn < hoursOut { + err := fmt.Errorf("NewBlockTransactionVerbose input hours is less than output hours, txid=%s", txID.Hex()) + return BlockTransactionVerbose{}, err + } + + fee = hoursIn - hoursOut + } + + txnInputs := make([]TransactionInput, len(inputs)) + for i, input := range inputs { + var err error + txnInputs[i], err = NewTransactionInput(input) + if err != nil { + return BlockTransactionVerbose{}, err + } + } + + return BlockTransactionVerbose{ + Length: txn.Length, + Type: txn.Type, + Hash: txn.Hash().Hex(), + InnerHash: txn.InnerHash.Hex(), + Fee: fee, + + Sigs: sigs, + In: txnInputs, + Out: out, + }, nil +} + +// TransactionVerbose has readable transaction data. It adds TransactionStatus to a BlockTransactionVerbose +type TransactionVerbose struct { + Status *TransactionStatus `json:"status,omitempty"` + Timestamp uint64 `json:"timestamp,omitempty"` + BlockTransactionVerbose +} + +// NewTransactionVerbose creates TransactionVerbose +func NewTransactionVerbose(txn visor.Transaction, inputs []visor.TransactionInput) (TransactionVerbose, error) { + rb, err := NewBlockTransactionVerbose(txn.Transaction, inputs, txn.Status.BlockSeq == 0 && txn.Status.Confirmed) + if err != nil { + return TransactionVerbose{}, err + } + + status := NewTransactionStatus(txn.Status) + + return TransactionVerbose{ + Status: &status, + Timestamp: txn.Time, + BlockTransactionVerbose: rb, + }, nil +} + +// UnconfirmedTransactionVerbose represents a verbose readable unconfirmed transaction +type UnconfirmedTransactionVerbose struct { + Transaction BlockTransactionVerbose `json:"transaction"` + Received time.Time `json:"received"` + Checked time.Time `json:"checked"` + Announced time.Time `json:"announced"` + IsValid bool `json:"is_valid"` +} + +// NewUnconfirmedTransactionVerbose creates a verbose readable unconfirmed transaction +func NewUnconfirmedTransactionVerbose(unconfirmed *visor.UnconfirmedTransaction, inputs []visor.TransactionInput) (*UnconfirmedTransactionVerbose, error) { + isGenesis := false // The genesis transaction is never unconfirmed + txn, err := NewBlockTransactionVerbose(unconfirmed.Transaction, inputs, isGenesis) + if err != nil { + return nil, err + } + + return &UnconfirmedTransactionVerbose{ + Transaction: txn, + Received: timeutil.NanoToTime(unconfirmed.Received), + Checked: timeutil.NanoToTime(unconfirmed.Checked), + Announced: timeutil.NanoToTime(unconfirmed.Announced), + IsValid: unconfirmed.IsValid == 1, + }, nil +} + +// NewUnconfirmedTransactionsVerbose creates []UnconfirmedTransactions from []UnconfirmedTransaction and their readable transaction inputs +func NewUnconfirmedTransactionsVerbose(txns []visor.UnconfirmedTransaction, inputs [][]visor.TransactionInput) ([]UnconfirmedTransactionVerbose, error) { + if len(inputs) != len(txns) { + return nil, fmt.Errorf("NewUnconfirmedTransactionsVerbose: len(inputs) != len(txns)") + } + + rTxns := make([]UnconfirmedTransactionVerbose, len(txns)) + for i, txn := range txns { + rTxn, err := NewUnconfirmedTransactionVerbose(&txn, inputs[i]) + if err != nil { + return nil, err + } + + rTxns[i] = *rTxn + } + + return rTxns, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/version.go b/vendor/github.com/skycoin/skycoin/src/readable/version.go new file mode 100644 index 00000000..d85b1976 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/version.go @@ -0,0 +1,20 @@ +package readable + +import "github.com/blang/semver" + +// BuildInfo represents the build info +type BuildInfo struct { + Version string `json:"version"` // version number + Commit string `json:"commit"` // git commit id + Branch string `json:"branch"` // git branch name +} + +// Semver returns the parsed semver.Version of the configured Version string +func (b BuildInfo) Semver() (*semver.Version, error) { + sv, err := semver.Make(b.Version) + if err != nil { + return nil, err + } + + return &sv, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/readable/wallet.go b/vendor/github.com/skycoin/skycoin/src/readable/wallet.go new file mode 100644 index 00000000..a9e94c1f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/readable/wallet.go @@ -0,0 +1,68 @@ +package readable + +import ( + "github.com/skycoin/skycoin/src/cipher/bip44" + "github.com/skycoin/skycoin/src/wallet" +) + +// Balance has coins and hours +type Balance struct { + Coins uint64 `json:"coins"` + Hours uint64 `json:"hours"` +} + +// NewBalance copies from wallet.Balance +func NewBalance(b wallet.Balance) Balance { + return Balance{ + Coins: b.Coins, + Hours: b.Hours, + } +} + +// BalancePair records the confirmed and predicted balance of an address +type BalancePair struct { + Confirmed Balance `json:"confirmed"` + Predicted Balance `json:"predicted"` // TODO rename "pending" +} + +// NewBalancePair copies from wallet.BalancePair +func NewBalancePair(bp wallet.BalancePair) BalancePair { + return BalancePair{ + Confirmed: NewBalance(bp.Confirmed), + Predicted: NewBalance(bp.Predicted), + } +} + +// AddressBalances represents a map of address balances +type AddressBalances map[string]BalancePair + +// NewAddressBalances copies from wallet.AddressBalances +func NewAddressBalances(wab wallet.AddressBalances) AddressBalances { + ab := make(AddressBalances, len(wab)) + for k, v := range wab { + ab[k] = NewBalancePair(v) + } + return ab +} + +// WalletEntry the wallet entry struct +type WalletEntry struct { + Address string `json:"address"` + Public string `json:"public_key"` + ChildNumber *uint32 `json:"child_number,omitempty"` // For bip32/44 + Change *uint32 `json:"change,omitempty"` // For bip44 +} + +// WalletMeta the wallet meta struct +type WalletMeta struct { + Coin wallet.CoinType `json:"coin"` + Filename string `json:"filename"` + Label string `json:"label"` + Type string `json:"type"` + Version string `json:"version"` + CryptoType wallet.CryptoType `json:"crypto_type"` + Timestamp int64 `json:"timestamp"` + Encrypted bool `json:"encrypted"` + Bip44Coin *bip44.CoinType `json:"bip44_coin,omitempty"` // For bip44 + XPub string `json:"xpub,omitempty"` // For xpub +} diff --git a/vendor/github.com/skycoin/skycoin/src/transaction/choose.go b/vendor/github.com/skycoin/skycoin/src/transaction/choose.go new file mode 100644 index 00000000..22a1b3a9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/transaction/choose.go @@ -0,0 +1,278 @@ +package transaction + +import ( + "bytes" + "errors" + "sort" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/fee" +) + +var ( + // ErrInsufficientBalance is returned if a wallet does not have enough balance for a spend + ErrInsufficientBalance = NewError(errors.New("balance is not sufficient")) + // ErrInsufficientHours is returned if a wallet does not have enough hours for a spend with requested hours + ErrInsufficientHours = NewError(errors.New("hours are not sufficient")) + // ErrZeroSpend is returned if a transaction is trying to spend 0 coins + ErrZeroSpend = NewError(errors.New("zero spend amount")) + // ErrNoUnspents is returned if a Create is called with no unspent outputs + ErrNoUnspents = NewError(errors.New("no unspents to spend")) +) + +// UxBalance is an intermediate representation of a UxOut for sorting and spend choosing +type UxBalance struct { + Hash cipher.SHA256 + BkSeq uint64 + Time uint64 + Address cipher.Address + Coins uint64 + InitialHours uint64 + Hours uint64 + SrcTransaction cipher.SHA256 +} + +// NewUxBalances converts coin.UxArray to []UxBalance. headTime is required to calculate coin hours. +func NewUxBalances(uxa coin.UxArray, headTime uint64) ([]UxBalance, error) { + uxb := make([]UxBalance, len(uxa)) + for i, ux := range uxa { + b, err := NewUxBalance(headTime, ux) + if err != nil { + return nil, err + } + uxb[i] = b + } + + return uxb, nil +} + +// NewUxBalance converts coin.UxOut to UxBalance. headTime is required to calculate coin hours. +func NewUxBalance(headTime uint64, ux coin.UxOut) (UxBalance, error) { + hours, err := ux.CoinHours(headTime) + if err != nil { + return UxBalance{}, err + } + + return UxBalance{ + Hash: ux.Hash(), + BkSeq: ux.Head.BkSeq, + Time: ux.Head.Time, + Address: ux.Body.Address, + Coins: ux.Body.Coins, + InitialHours: ux.Body.Hours, + Hours: hours, + SrcTransaction: ux.Body.SrcTransaction, + }, nil +} + +func uxBalancesSub(a, b []UxBalance) []UxBalance { + var x []UxBalance + + bMap := make(map[cipher.SHA256]struct{}, len(b)) + for _, i := range b { + bMap[i.Hash] = struct{}{} + } + + for _, i := range a { + if _, ok := bMap[i.Hash]; !ok { + x = append(x, i) + } + } + + return x +} + +// ChooseSpendsMinimizeUxOuts chooses uxout spends to satisfy an amount, using the least number of uxouts +// -- PRO: Allows more frequent spending, less waiting for confirmations, useful for exchanges. +// -- PRO: When transaction is volume is higher, transactions are prioritized by fee/size. Minimizing uxouts minimizes size. +// -- CON: Would make the unconfirmed pool grow larger. +// Users with high transaction frequency will want to use this so that they will not need to wait as frequently +// for unconfirmed spends to complete before sending more. +// Alternatively, or in addition to this, they should batch sends into single transactions. +func ChooseSpendsMinimizeUxOuts(uxa []UxBalance, coins, hours uint64) ([]UxBalance, error) { + return ChooseSpends(uxa, coins, hours, sortSpendsCoinsHighToLow) +} + +// sortSpendsCoinsHighToLow sorts uxout spends with highest balance to lowest +func sortSpendsCoinsHighToLow(uxa []UxBalance) { + sort.Slice(uxa, makeCmpUxOutByCoins(uxa, func(a, b uint64) bool { + return a > b + })) +} + +// ChooseSpendsMaximizeUxOuts chooses uxout spends to satisfy an amount, using the most number of uxouts +// See the pros and cons of ChooseSpendsMinimizeUxOuts. +// This should be the default mode, because this keeps the unconfirmed pool smaller which will allow +// the network to scale better. +func ChooseSpendsMaximizeUxOuts(uxa []UxBalance, coins, hours uint64) ([]UxBalance, error) { + return ChooseSpends(uxa, coins, hours, sortSpendsCoinsLowToHigh) +} + +// sortSpendsCoinsLowToHigh sorts uxout spends with lowest balance to highest +func sortSpendsCoinsLowToHigh(uxa []UxBalance) { + sort.Slice(uxa, makeCmpUxOutByCoins(uxa, func(a, b uint64) bool { + return a < b + })) +} + +// sortSpendsHoursLowToHigh sorts uxout spends with lowest hours to highest +func sortSpendsHoursLowToHigh(uxa []UxBalance) { + sort.Slice(uxa, makeCmpUxOutByHours(uxa, func(a, b uint64) bool { + return a < b + })) +} + +func makeCmpUxOutByCoins(uxa []UxBalance, coinsCmp func(a, b uint64) bool) func(i, j int) bool { + // Sort by: + // coins highest or lowest depending on coinsCmp + // hours lowest + // oldest first + // tie break with hash comparison + return func(i, j int) bool { + a := uxa[i] + b := uxa[j] + + if a.Coins == b.Coins { + if a.Hours == b.Hours { + if a.BkSeq == b.BkSeq { + return cmpUxBalanceByUxID(a, b) + } + return a.BkSeq < b.BkSeq + } + return a.Hours < b.Hours + } + return coinsCmp(a.Coins, b.Coins) + } +} + +func makeCmpUxOutByHours(uxa []UxBalance, hoursCmp func(a, b uint64) bool) func(i, j int) bool { + // Sort by: + // hours highest or lowest depending on hoursCmp + // coins lowest + // oldest first + // tie break with hash comparison + return func(i, j int) bool { + a := uxa[i] + b := uxa[j] + + if a.Hours == b.Hours { + if a.Coins == b.Coins { + if a.BkSeq == b.BkSeq { + return cmpUxBalanceByUxID(a, b) + } + return a.BkSeq < b.BkSeq + } + return a.Coins < b.Coins + } + return hoursCmp(a.Hours, b.Hours) + } +} + +func cmpUxBalanceByUxID(a, b UxBalance) bool { + cmp := bytes.Compare(a.Hash[:], b.Hash[:]) + if cmp == 0 { + logger.Panic("Duplicate UxOut when sorting") + } + return cmp < 0 +} + +// ChooseSpends chooses uxouts from a list of uxouts. +// It first chooses the uxout with the most number of coins that has nonzero coinhours. +// It then chooses uxouts with zero coinhours, ordered by sortStrategy +// It then chooses remaining uxouts with nonzero coinhours, ordered by sortStrategy +func ChooseSpends(uxa []UxBalance, coins, hours uint64, sortStrategy func([]UxBalance)) ([]UxBalance, error) { + if coins == 0 { + return nil, ErrZeroSpend + } + + if len(uxa) == 0 { + return nil, ErrNoUnspents + } + + for _, ux := range uxa { + if ux.Coins == 0 { + logger.Panic("UxOut coins are 0, can't spend") + return nil, errors.New("UxOut coins are 0, can't spend") + } + } + + // Split UxBalances into those with and without hours + var nonzero, zero []UxBalance + for _, ux := range uxa { + if ux.Hours == 0 { + zero = append(zero, ux) + } else { + nonzero = append(nonzero, ux) + } + } + + // Abort if there are no uxouts with non-zero coinhours, they can't be spent yet + if len(nonzero) == 0 { + return nil, fee.ErrTxnNoFee + } + + // Sort uxouts with hours lowest to highest and coins highest to lowest + sortSpendsCoinsHighToLow(nonzero) + + var haveCoins uint64 + var haveHours uint64 + var spending []UxBalance + + // Use the first nonzero output. This output will have the least hours possible + firstNonzero := nonzero[0] + if firstNonzero.Hours == 0 { + logger.Panic("balance has zero hours unexpectedly") + return nil, errors.New("balance has zero hours unexpectedly") + } + + nonzero = nonzero[1:] + + spending = append(spending, firstNonzero) + + haveCoins += firstNonzero.Coins + haveHours += firstNonzero.Hours + + if haveCoins >= coins && fee.RemainingHours(haveHours, params.UserVerifyTxn.BurnFactor) >= hours { + return spending, nil + } + + // Sort uxouts without hours according to the sorting strategy + sortStrategy(zero) + + for _, ux := range zero { + spending = append(spending, ux) + + haveCoins += ux.Coins + haveHours += ux.Hours + + if haveCoins >= coins { + break + } + } + + if haveCoins >= coins && fee.RemainingHours(haveHours, params.UserVerifyTxn.BurnFactor) >= hours { + return spending, nil + } + + // Sort remaining uxouts with hours according to the sorting strategy + sortStrategy(nonzero) + + for _, ux := range nonzero { + spending = append(spending, ux) + + haveCoins += ux.Coins + haveHours += ux.Hours + + if haveCoins >= coins && fee.RemainingHours(haveHours, params.UserVerifyTxn.BurnFactor) >= hours { + return spending, nil + } + } + + if haveCoins < coins { + return nil, ErrInsufficientBalance + } + + return nil, ErrInsufficientHours +} diff --git a/vendor/github.com/skycoin/skycoin/src/transaction/create.go b/vendor/github.com/skycoin/skycoin/src/transaction/create.go new file mode 100644 index 00000000..f4b7290c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/transaction/create.go @@ -0,0 +1,504 @@ +/* +Package transaction provides methods for creating transactions + +See package coin for the Transaction object itself +*/ +package transaction + +import ( + "bytes" + "errors" + "fmt" + "sort" + + "github.com/shopspring/decimal" + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +var ( + logger = logging.MustGetLogger("txn") +) + +// Create creates an unsigned transaction based upon Params. +// NOTE: Caller must ensure that auxs correspond to params.UxOuts options +// Outputs to spend are chosen from the pool of outputs provided. +// The outputs are chosen by the following procedure: +// - All outputs are merged into one list and are sorted coins highest, hours lowest, with the hash as a tiebreaker +// - Outputs are chosen from the beginning of this list, until the requested amount of coins is met. +// If hours are also specified, selection continues until the requested amount of hours are met. +// - If the total amount of coins in the chosen outputs is exactly equal to the requested amount of coins, +// such that there would be no change output but hours remain as change, another output will be chosen to create change, +// if the coinhour cost of adding that output is less than the coinhours that would be lost as change +// If receiving hours are not explicitly specified, hours are allocated amongst the receiving outputs proportional to the number of coins being sent to them. +// If the change address is not specified, the address whose bytes are lexically sorted first is chosen from the owners of the outputs being spent. +func Create(p Params, auxs coin.AddressUxOuts, headTime uint64) (*coin.Transaction, []UxBalance, error) { + return create(p, auxs, headTime, 0) +} + +func create(p Params, auxs coin.AddressUxOuts, headTime uint64, callCount int) (*coin.Transaction, []UxBalance, error) { + logger.WithFields(logrus.Fields{ + "params": p, + "nAuxs": len(auxs), + "headTime": headTime, + "callCount": callCount, + }).Info("create requested") + + if err := p.Validate(); err != nil { + return nil, nil, err + } + + txn := &coin.Transaction{} + + // Determine which unspents to spend + uxa := auxs.Flatten() + + uxb, err := NewUxBalances(uxa, headTime) + if err != nil { + return nil, nil, err + } + + // Reverse lookup set to recover the inputs + uxbMap := make(map[cipher.SHA256]UxBalance, len(uxb)) + for _, u := range uxb { + if _, ok := uxbMap[u.Hash]; ok { + return nil, nil, errors.New("Duplicate UxBalance in array") + } + uxbMap[u.Hash] = u + } + + // Calculate total coins and minimum hours to send + var totalOutCoins uint64 + var requestedHours uint64 + for _, to := range p.To { + totalOutCoins, err = mathutil.AddUint64(totalOutCoins, to.Coins) + if err != nil { + return nil, nil, NewError(fmt.Errorf("total output coins error: %v", err)) + } + + requestedHours, err = mathutil.AddUint64(requestedHours, to.Hours) + if err != nil { + return nil, nil, NewError(fmt.Errorf("total output hours error: %v", err)) + } + } + + // Use the MinimizeUxOuts strategy, to use least possible uxouts + // this will allow more frequent spending + // we don't need to check whether we have sufficient balance beforehand as ChooseSpends already checks that + spends, err := ChooseSpendsMinimizeUxOuts(uxb, totalOutCoins, requestedHours) + if err != nil { + return nil, nil, err + } + + // Calculate total coins and hours in spends + var totalInputCoins uint64 + var totalInputHours uint64 + for _, spend := range spends { + totalInputCoins, err = mathutil.AddUint64(totalInputCoins, spend.Coins) + if err != nil { + return nil, nil, err + } + + totalInputHours, err = mathutil.AddUint64(totalInputHours, spend.Hours) + if err != nil { + return nil, nil, err + } + + if err := txn.PushInput(spend.Hash); err != nil { + logger.Critical().WithError(err).Error("PushInput failed") + return nil, nil, err + } + } + + feeHours := fee.RequiredFee(totalInputHours, params.UserVerifyTxn.BurnFactor) + if feeHours == 0 { + // feeHours can only be 0 if totalInputHours is 0, and if totalInputHours was 0 + // then ChooseSpendsMinimizeUxOuts should have already returned an error + err := errors.New("Chosen spends have no coin hours, unexpectedly") + logger.Critical().WithError(err).WithField("totalInputHours", totalInputHours).Error() + return nil, nil, err + } + remainingHours := totalInputHours - feeHours + + switch p.HoursSelection.Type { + case HoursSelectionTypeManual: + for _, o := range p.To { + if err := txn.PushOutput(o.Address, o.Coins, o.Hours); err != nil { + logger.Critical().WithError(err).WithField("selectionType", HoursSelectionTypeManual).Error("PushOutput failed") + return nil, nil, err + } + } + + case HoursSelectionTypeAuto: + var addrHours []uint64 + + switch p.HoursSelection.Mode { + case HoursSelectionModeShare: + // multiply remaining hours after fee burn with share factor + hours, err := mathutil.Uint64ToInt64(remainingHours) + if err != nil { + return nil, nil, err + } + + allocatedHoursInt := p.HoursSelection.ShareFactor.Mul(decimal.New(hours, 0)).IntPart() + allocatedHours, err := mathutil.Int64ToUint64(allocatedHoursInt) + if err != nil { + return nil, nil, err + } + + toCoins := make([]uint64, len(p.To)) + for i, to := range p.To { + toCoins[i] = to.Coins + } + + addrHours, err = DistributeCoinHoursProportional(toCoins, allocatedHours) + if err != nil { + return nil, nil, err + } + default: + // This should have been caught by params.Validate() + logger.Panic("Invalid HoursSelection.Mode") + return nil, nil, errors.New("Invalid HoursSelection.Type") + } + + for i, out := range p.To { + out.Hours = addrHours[i] + if err := txn.PushOutput(out.Address, out.Coins, addrHours[i]); err != nil { + logger.Critical().WithError(err).WithField("selectionType", HoursSelectionTypeAuto).Error("PushOutput failed") + return nil, nil, err + } + } + + default: + // This should have been caught by params.Validate() + logger.Panic("Invalid HoursSelection.Type") + return nil, nil, errors.New("Invalid HoursSelection.Type") + } + + totalOutHours, err := txn.OutputHours() + if err != nil { + return nil, nil, err + } + + // Make sure we have enough coins and coin hours + // If we don't, and we called ChooseSpends, then ChooseSpends has a bug, as it should have returned this error already + if totalOutCoins > totalInputCoins { + logger.Critical().WithError(ErrInsufficientBalance).Error("Insufficient coins after choosing spends, this should not occur") + return nil, nil, ErrInsufficientBalance + } + + if totalOutHours > remainingHours { + logger.Critical().WithError(fee.ErrTxnInsufficientCoinHours).Error("Insufficient hours after choosing spends or distributing hours, this should not occur") + return nil, nil, fee.ErrTxnInsufficientCoinHours + } + + // Create change output + changeCoins := totalInputCoins - totalOutCoins + changeHours := remainingHours - totalOutHours + + logger.WithFields(logrus.Fields{ + "totalOutCoins": totalOutCoins, + "totalOutHours": totalOutHours, + "requestedHours": requestedHours, + "nUnspents": len(uxb), + "totalInputCoins": totalInputCoins, + "totalInputHours": totalInputHours, + "feeHours": feeHours, + "remainingHours": remainingHours, + "changeCoins": changeCoins, + "changeHours": changeHours, + "nSpends": len(spends), + "nInputs": len(txn.In), + }).Info("Calculated spend parameters") + + // If there are no change coins but there are change hours, try to add another + // input to save the change hours. + // This chooses an available input with the least number of coin hours; + // if the extra coin hour fee incurred by this additional input is less than + // the remaining coin hours, the input is added. + if changeCoins == 0 && changeHours > 0 { + logger.Info("Trying to recover change hours by forcing an extra input") + // Find the output with the least coin hours + // If size of the fee for this output is less than the changeHours, add it + // Update changeCoins and changeHours + z := uxBalancesSub(uxb, spends) + sortSpendsHoursLowToHigh(z) + if len(z) > 0 { + logger.Info("Extra input found, evaluating if it can recover change hours") + extra := z[0] + + // Calculate the new hours being spent + newTotalHours, err := mathutil.AddUint64(totalInputHours, extra.Hours) + if err != nil { + return nil, nil, err + } + + // Calculate the new fee for this new amount of hours + newFee := fee.RequiredFee(newTotalHours, params.UserVerifyTxn.BurnFactor) + if newFee < feeHours { + err := errors.New("updated fee after adding extra input for change is unexpectedly less than it was initially") + logger.WithError(err).Error() + return nil, nil, err + } + + // If the cost of adding this extra input is less than the amount of change hours we + // can save, use the input + additionalFee := newFee - feeHours + if additionalFee < changeHours { + logger.Info("Change hours can be recovered by forcing an extra input") + changeCoins = extra.Coins + + if extra.Hours < additionalFee { + err := errors.New("calculated additional fee is unexpectedly higher than the extra input's hours") + logger.WithError(err).Error() + return nil, nil, err + } + + additionalHours := extra.Hours - additionalFee + changeHours, err = mathutil.AddUint64(changeHours, additionalHours) + if err != nil { + return nil, nil, err + } + + spends = append(spends, extra) + + if err := txn.PushInput(extra.Hash); err != nil { + logger.Critical().WithError(err).Error("PushInput failed") + return nil, nil, err + } + + logger.WithFields(logrus.Fields{ + "changeCoins": changeCoins, + "changeHours": changeHours, + "nSpends": len(spends), + "nInputs": len(txn.In), + "newTotalHours": newTotalHours, + "newFee": "newFee", + "additionalFee": additionalFee, + "additionalHours": additionalHours, + }).Info("Recalculated spend parameters after forcing a change output") + } else { + logger.Info("Unable to recover change hours by forcing an extra input") + } + } else { + logger.Info("No more inputs left to use to recover change hours") + } + } + + // With auto share mode, if there are leftover hours and change couldn't be force-added, + // recalculate that share ratio at 100% + if changeCoins == 0 && changeHours > 0 && p.HoursSelection.Type == HoursSelectionTypeAuto && p.HoursSelection.Mode == HoursSelectionModeShare { + logger.Info("Recalculating share factor at 1.0 to avoid burning change hours") + oneDecimal := decimal.New(1, 0) + + if p.HoursSelection.ShareFactor.Equal(oneDecimal) { + err := errors.New("share factor is 1.0 but changeHours > 0 unexpectedly") + logger.Critical().WithError(err).Error() + return nil, nil, err + } + + // Double-check that we haven't already called create() once already - + // if for some reason the previous check fails, we'll end up in an infinite loop + if callCount > 0 { + err := errors.New("transaction.Create already fell back to share ratio 1.0") + logger.Critical().WithError(err).Error() + return nil, nil, err + } + + p.HoursSelection.ShareFactor = &oneDecimal + return create(p, auxs, headTime, 1) + } + + if changeCoins > 0 { + var changeAddress cipher.Address + if p.ChangeAddress != nil { + changeAddress = *p.ChangeAddress + } else { + // Choose a change address from the unspent outputs + // Sort spends by address, comparing bytes, and use the first + // This provides deterministic change address selection from a set of unspent outputs + if len(spends) == 0 { + return nil, nil, errors.New("spends is unexpectedly empty when choosing an automatic change address") + } + + addressBytes := make([][]byte, len(spends)) + for i, s := range spends { + addressBytes[i] = s.Address.Bytes() + } + + sort.Slice(addressBytes, func(i, j int) bool { + return bytes.Compare(addressBytes[i], addressBytes[j]) < 0 + }) + + var err error + changeAddress, err = cipher.AddressFromBytes(addressBytes[0]) + if err != nil { + logger.Critical().WithError(err).Error("cipher.AddressFromBytes failed for change address converted to bytes") + return nil, nil, err + } + + logger.WithField("addr", changeAddress).Info("Automatically selected a change address") + } + + logger.WithFields(logrus.Fields{ + "changeAddress": changeAddress, + "changeCoins": changeCoins, + "changeHours": changeHours, + }).Info("Adding a change output") + + if err := txn.PushOutput(changeAddress, changeCoins, changeHours); err != nil { + logger.Critical().WithError(err).Error("PushOutput failed") + return nil, nil, err + } + } + + // Initialize unsigned transaction + txn.Sigs = make([]cipher.Sig, len(txn.In)) + + if err := txn.UpdateHeader(); err != nil { + logger.Critical().WithError(err).Error("txn.UpdateHeader failed") + return nil, nil, err + } + + inputs := make([]UxBalance, len(txn.In)) + for i, h := range txn.In { + uxBalance, ok := uxbMap[h] + if !ok { + err := errors.New("Created transaction's input is not in the UxBalanceSet, this should not occur") + logger.Critical().WithError(err).Error() + return nil, nil, err + } + inputs[i] = uxBalance + } + + if err := verifyCreatedUnignedInvariants(p, txn, inputs); err != nil { + logger.Critical().WithError(err).Error("CreateTransaction created transaction that violates invariants, aborting") + return nil, nil, fmt.Errorf("Created transaction that violates invariants, this is a bug: %v", err) + } + + return txn, inputs, nil +} + +func verifyCreatedUnignedInvariants(p Params, txn *coin.Transaction, inputs []UxBalance) error { + if !txn.IsFullyUnsigned() { + return errors.New("Transaction is not fully unsigned") + } + + if err := VerifyCreatedInvariants(p, txn, inputs); err != nil { + return err + } + + return nil +} + +// VerifyCreatedInvariants checks that the transaction that was created matches expectations. +// Does not call visor verification methods because that causes import cycle due to the wallet package. +// daemon.Gateway checks that the transaction passes additional visor verification methods. +// TODO -- could fix the import cycle by having visor create the transaction, passing it to the wallet for verifying params and signing +// This method still compares some values of Params against the created txn and doesn't only verify that the txn is well formed +func VerifyCreatedInvariants(p Params, txn *coin.Transaction, inputs []UxBalance) error { + for _, o := range txn.Out { + // No outputs should be sent to the null address + if o.Address.Null() { + return errors.New("Output address is null") + } + + if o.Coins == 0 { + return errors.New("Output coins is 0") + } + } + + if len(txn.Out) != len(p.To) && len(txn.Out) != len(p.To)+1 { + return errors.New("Transaction has unexpected number of outputs") + } + + for i, o := range txn.Out[:len(p.To)] { + if o.Address != p.To[i].Address { + return errors.New("Output address does not match requested address") + } + + if o.Coins != p.To[i].Coins { + return errors.New("Output coins does not match requested coins") + } + + if p.To[i].Hours != 0 && o.Hours != p.To[i].Hours { + return errors.New("Output hours does not match requested hours") + } + } + + if len(txn.Sigs) != len(txn.In) { + return errors.New("Number of signatures does not match number of inputs") + } + + if len(txn.In) != len(inputs) { + return errors.New("Number of UxOut inputs does not match number of transaction inputs") + } + + for i, h := range txn.In { + if inputs[i].Hash != h { + return errors.New("Transaction input hash does not match UxOut inputs hash") + } + } + + inputsMap := make(map[cipher.SHA256]struct{}, len(inputs)) + + for _, i := range inputs { + if i.Hours < i.InitialHours { + return errors.New("Calculated input hours are unexpectedly less than the initial hours") + } + + if i.BkSeq == 0 { + if !i.SrcTransaction.Null() { + return errors.New("Input is the genesis UTXO but its source transaction hash is not null") + } + } else { + if i.SrcTransaction.Null() { + return errors.New("Input's source transaction hash is null") + } + } + + if i.Hash.Null() { + return errors.New("Input's hash is null") + } + + if _, ok := inputsMap[i.Hash]; ok { + return errors.New("Duplicate input in array") + } + + inputsMap[i.Hash] = struct{}{} + } + + var inputHours uint64 + for _, i := range inputs { + var err error + inputHours, err = mathutil.AddUint64(inputHours, i.Hours) + if err != nil { + return err + } + } + + var outputHours uint64 + for _, i := range txn.Out { + var err error + outputHours, err = mathutil.AddUint64(outputHours, i.Hours) + if err != nil { + return err + } + } + + if inputHours < outputHours { + return errors.New("Total input hours is less than the output hours") + } + + if inputHours-outputHours < fee.RequiredFee(inputHours, params.UserVerifyTxn.BurnFactor) { + return errors.New("Transaction will not satisfy required fee") + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/transaction/hours.go b/vendor/github.com/skycoin/skycoin/src/transaction/hours.go new file mode 100644 index 00000000..585b323e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/transaction/hours.go @@ -0,0 +1,165 @@ +package transaction + +import ( + "errors" + "math/big" + + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +// DistributeSpendHours calculates how many coin hours to transfer to the change address and how +// many to transfer to each of the other destination addresses. +// Input hours are split by BurnFactor (rounded down) to meet the fee requirement. +// The remaining hours are split in half, one half goes to the change address +// and the other half goes to the destination addresses. +// If the remaining hours are an odd number, the change address gets the extra hour. +// If the amount assigned to the destination addresses is not perfectly divisible by the +// number of destination addresses, the extra hours are distributed to some of these addresses. +// Returns the number of hours to send to the change address, +// an array of length nAddrs with the hours to give to each destination address, +// and a sum of these values. +func DistributeSpendHours(inputHours, nAddrs uint64, haveChange bool) (uint64, []uint64, uint64) { + feeHours := fee.RequiredFee(inputHours, params.UserVerifyTxn.BurnFactor) + remainingHours := inputHours - feeHours + + var changeHours uint64 + if haveChange { + // Split the remaining hours between the change output and the other outputs + changeHours = remainingHours / 2 + + // If remainingHours is an odd number, give the extra hour to the change output + if remainingHours%2 == 1 { + changeHours++ + } + } + + // Distribute the remaining hours equally amongst the destination outputs + remainingAddrHours := remainingHours - changeHours + addrHoursShare := remainingAddrHours / nAddrs + + // Due to integer division, extra coin hours might remain after dividing by len(toAddrs) + // Allocate these extra hours to the toAddrs + addrHours := make([]uint64, nAddrs) + for i := range addrHours { + addrHours[i] = addrHoursShare + } + + extraHours := remainingAddrHours - (addrHoursShare * nAddrs) + i := 0 + for extraHours > 0 { + addrHours[i] = addrHours[i] + 1 + i++ + extraHours-- + } + + // Assert that the hour calculation is correct + var spendHours uint64 + for _, h := range addrHours { + spendHours += h + } + spendHours += changeHours + if spendHours != remainingHours { + logger.Panicf("spendHours != remainingHours (%d != %d), calculation error", spendHours, remainingHours) + } + + return changeHours, addrHours, spendHours +} + +// DistributeCoinHoursProportional distributes hours amongst coins proportional to the coins amount +func DistributeCoinHoursProportional(coins []uint64, hours uint64) ([]uint64, error) { + if len(coins) == 0 { + return nil, errors.New("DistributeCoinHoursProportional coins array must not be empty") + } + + coinsInt := make([]*big.Int, len(coins)) + + var total uint64 + for i, c := range coins { + if c == 0 { + return nil, errors.New("DistributeCoinHoursProportional coins array has a zero value") + } + + var err error + total, err = mathutil.AddUint64(total, c) + if err != nil { + return nil, err + } + + cInt64, err := mathutil.Uint64ToInt64(c) + if err != nil { + return nil, err + } + + coinsInt[i] = big.NewInt(cInt64) + } + + totalInt64, err := mathutil.Uint64ToInt64(total) + if err != nil { + return nil, err + } + totalInt := big.NewInt(totalInt64) + + hoursInt64, err := mathutil.Uint64ToInt64(hours) + if err != nil { + return nil, err + } + hoursInt := big.NewInt(hoursInt64) + + var assignedHours uint64 + addrHours := make([]uint64, len(coins)) + for i, c := range coinsInt { + // Scale the ratio of coins to total coins proportionally by calculating + // (coins * totalHours) / totalCoins + // The remainder is truncated, remaining hours are appended after this + num := &big.Int{} + num.Mul(c, hoursInt) + + fracInt := big.Int{} + fracInt.Div(num, totalInt) + + if !fracInt.IsUint64() { + return nil, errors.New("DistributeCoinHoursProportional calculated fractional hours is not representable as a uint64") + } + + fracHours := fracInt.Uint64() + + addrHours[i] = fracHours + assignedHours, err = mathutil.AddUint64(assignedHours, fracHours) + if err != nil { + return nil, err + } + } + + if hours < assignedHours { + return nil, errors.New("DistributeCoinHoursProportional assigned hours exceeding input hours, this is a bug") + } + + remainingHours := hours - assignedHours + + if remainingHours > uint64(len(coins)) { + return nil, errors.New("DistributeCoinHoursProportional remaining hours exceed len(coins), this is a bug") + } + + // For remaining hours lost due to fractional cutoff when scaling, + // first provide at least 1 coin hour to coins that were assigned 0. + i := 0 + for remainingHours > 0 && i < len(coins) { + if addrHours[i] == 0 { + addrHours[i] = 1 + remainingHours-- + } + i++ + } + + // Then, assign the extra coin hours + i = 0 + for remainingHours > 0 { + addrHours[i] = addrHours[i] + 1 + remainingHours-- + i++ + } + + return addrHours, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/transaction/params.go b/vendor/github.com/skycoin/skycoin/src/transaction/params.go new file mode 100644 index 00000000..139f2e6f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/transaction/params.go @@ -0,0 +1,155 @@ +package transaction + +import ( + "errors" + + "github.com/shopspring/decimal" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" +) + +// Error wraps transaction creation-related errors. +// It wraps errors caused by user input, but not errors caused by programmer input or internal issues. +type Error struct { + error +} + +// NewError creates an Error +func NewError(err error) error { + if err == nil { + return nil + } + return Error{err} +} + +const ( + // HoursSelectionTypeManual is used to specify manual hours selection in advanced spend + HoursSelectionTypeManual = "manual" + // HoursSelectionTypeAuto is used to specify automatic hours selection in advanced spend + HoursSelectionTypeAuto = "auto" + + // HoursSelectionModeShare will distribute coin hours equally amongst destinations + HoursSelectionModeShare = "share" +) + +var ( + // ErrNullChangeAddress ChangeAddress must not be the null address + ErrNullChangeAddress = NewError(errors.New("ChangeAddress must not be the null address")) + // ErrMissingReceivers To is required + ErrMissingReceivers = NewError(errors.New("To is required")) + // ErrZeroCoinsReceiver To.Coins must not be zero + ErrZeroCoinsReceiver = NewError(errors.New("To.Coins must not be zero")) + // ErrNullAddressReceiver To.Address must not be the null address + ErrNullAddressReceiver = NewError(errors.New("To.Address must not be the null address")) + // ErrDuplicateReceiver To contains duplicate values + ErrDuplicateReceiver = NewError(errors.New("To contains duplicate values")) + // ErrReceiverZeroHoursAuto To.Hours must be zero for auto type hours selection + ErrReceiverZeroHoursAuto = NewError(errors.New("To.Hours must be zero for auto type hours selection")) + // ErrMissingHoursSelectionModeAuto HoursSelection.Mode is required for auto type hours selection + ErrMissingHoursSelectionModeAuto = NewError(errors.New("HoursSelection.Mode is required for auto type hours selection")) + // ErrInvalidHoursSelelectionMode Invalid HoursSelection.Mode + ErrInvalidHoursSelelectionMode = NewError(errors.New("Invalid HoursSelection.Mode")) + // ErrInvalidHoursSelectionModeManual HoursSelection.Mode cannot be used for manual type hours selection + ErrInvalidHoursSelectionModeManual = NewError(errors.New("HoursSelection.Mode cannot be used for manual type hours selection")) + // ErrInvalidHoursSelectionType Invalid HoursSelection.Type + ErrInvalidHoursSelectionType = NewError(errors.New("Invalid HoursSelection.Type")) + // ErrMissingShareFactor HoursSelection.ShareFactor must be set for share mode + ErrMissingShareFactor = NewError(errors.New("HoursSelection.ShareFactor must be set for share mode")) + // ErrInvalidShareFactor HoursSelection.ShareFactor can only be used for share mode + ErrInvalidShareFactor = NewError(errors.New("HoursSelection.ShareFactor can only be used for share mode")) + // ErrShareFactorOutOfRange HoursSelection.ShareFactor must be >= 0 and <= 1 + ErrShareFactorOutOfRange = NewError(errors.New("HoursSelection.ShareFactor must be >= 0 and <= 1")) +) + +// HoursSelection defines options for hours distribution +type HoursSelection struct { + Type string + Mode string + ShareFactor *decimal.Decimal +} + +// Params defines control parameters for transaction construction +type Params struct { + HoursSelection HoursSelection + To []coin.TransactionOutput + ChangeAddress *cipher.Address +} + +// Validate validates Params +func (c Params) Validate() error { + if c.ChangeAddress != nil && c.ChangeAddress.Null() { + return ErrNullChangeAddress + } + + if len(c.To) == 0 { + return ErrMissingReceivers + } + + for _, to := range c.To { + if to.Coins == 0 { + return ErrZeroCoinsReceiver + } + + if to.Address.Null() { + return ErrNullAddressReceiver + } + } + + // Check for duplicate outputs, a transaction can't have outputs with + // the same (address, coins, hours) + // Auto mode would distribute hours to the outputs and could hypothetically + // avoid assigning duplicate hours in many cases, but the complexity for doing + // so is very high, so also reject duplicate (address, coins) for auto mode. + outputs := make(map[coin.TransactionOutput]struct{}, len(c.To)) + for _, to := range c.To { + outputs[to] = struct{}{} + } + + if len(outputs) != len(c.To) { + return ErrDuplicateReceiver + } + + switch c.HoursSelection.Type { + case HoursSelectionTypeAuto: + for _, to := range c.To { + if to.Hours != 0 { + return ErrReceiverZeroHoursAuto + } + } + + switch c.HoursSelection.Mode { + case HoursSelectionModeShare: + case "": + return ErrMissingHoursSelectionModeAuto + default: + return ErrInvalidHoursSelelectionMode + } + + case HoursSelectionTypeManual: + if c.HoursSelection.Mode != "" { + return ErrInvalidHoursSelectionModeManual + } + + default: + return ErrInvalidHoursSelectionType + } + + if c.HoursSelection.ShareFactor == nil { + if c.HoursSelection.Mode == HoursSelectionModeShare { + return ErrMissingShareFactor + } + } else { + if c.HoursSelection.Mode != HoursSelectionModeShare { + return ErrInvalidShareFactor + } + + zero := decimal.New(0, 0) + one := decimal.New(1, 0) + if c.HoursSelection.ShareFactor.LessThan(zero) || c.HoursSelection.ShareFactor.GreaterThan(one) { + return ErrShareFactorOutOfRange + } + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/apputil/apputil.go b/vendor/github.com/skycoin/skycoin/src/util/apputil/apputil.go new file mode 100644 index 00000000..caf088dd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/apputil/apputil.go @@ -0,0 +1,56 @@ +/* +Package apputil provides utility methods for cmd applications +*/ +package apputil + +import ( + "fmt" + "os" + "os/signal" + "runtime/pprof" + "syscall" +) + +// CatchInterrupt catches CTRL-C and closes the quit channel if it occurs. +// If CTRL-C is called again, the program stack is dumped and the process panics, +// so that shutdown hangs can be diagnosed. +func CatchInterrupt(quit chan<- struct{}) { + sigchan := make(chan os.Signal, 1) + signal.Notify(sigchan, os.Interrupt) + <-sigchan + signal.Stop(sigchan) + close(quit) + + // If ctrl-c is called again, panic so that the program state can be examined. + // Ctrl-c would be called again if program shutdown was stuck. + go CatchInterruptPanic() +} + +// CatchInterruptPanic catches os.Interrupt and panics +func CatchInterruptPanic() { + sigchan := make(chan os.Signal, 1) + signal.Notify(sigchan, os.Interrupt) + <-sigchan + signal.Stop(sigchan) + PrintProgramStatus() + panic("SIGINT") +} + +// CatchDebug catches SIGUSR1 and prints internal program state +func CatchDebug() { + sigchan := make(chan os.Signal, 1) + //signal.Notify(sigchan, syscall.SIGUSR1) + signal.Notify(sigchan, syscall.Signal(0xa)) // SIGUSR1 = Signal(0xa) + for range sigchan { + PrintProgramStatus() + } +} + +// PrintProgramStatus prints all goroutine data to stdout +func PrintProgramStatus() { + p := pprof.Lookup("goroutine") + if err := p.WriteTo(os.Stdout, 2); err != nil { + fmt.Println("ERROR:", err) + return + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/certutil/LICENSE b/vendor/github.com/skycoin/skycoin/src/util/certutil/LICENSE new file mode 100644 index 00000000..a7b7560c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/certutil/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2013-2015 The btcsuite developers + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/vendor/github.com/skycoin/skycoin/src/util/droplet/droplet.go b/vendor/github.com/skycoin/skycoin/src/util/droplet/droplet.go new file mode 100644 index 00000000..44b45440 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/droplet/droplet.go @@ -0,0 +1,95 @@ +/* +Package droplet provides methods for handling droplet integers and string. + +A droplet is the smallest possible coin amount in Skycoin, equal to 1/1000000 of a whole skycoin. +*/ +package droplet + +import ( + "errors" + "math" + + "github.com/shopspring/decimal" + + logging "github.com/skycoin/skycoin/src/util/logging" +) + +const ( + // Exponent is the number of decimal places held by droplets + Exponent = 6 + // Multiplier is how much to multiply coins by to get droplets + Multiplier = 1e6 +) + +var ( + // ErrNegativeValue is returned if a balance string is a negative number + ErrNegativeValue = errors.New("Droplet string conversion failed: Negative balance") + // ErrTooManyDecimals is returned if a balance string has more than 6 decimal places + ErrTooManyDecimals = errors.New("Droplet string conversion failed: Too many decimal places") + // ErrTooLarge is returned if a balance string is greater than math.MaxInt64 + ErrTooLarge = errors.New("Droplet string conversion failed: Value is too large") + + logger = logging.MustGetLogger("convert") + maxDecimal decimal.Decimal +) + +func init() { + maxInt64 := "9223372036854775807" + max, err := decimal.NewFromString(maxInt64) + if err != nil { + panic(err) + } + + maxDecimal = max +} + +// FromString converts a skycoin balance string with decimal places to uint64 droplets. +// For example, "123.000456" becomes 123000456 +func FromString(b string) (uint64, error) { + d, err := decimal.NewFromString(b) + if err != nil { + return 0, err + } + + // Values must be zero or positive + if d.Sign() == -1 { + return 0, ErrNegativeValue + } + + // Skycoins have a maximum of 6 decimal places + if d.Exponent() < -Exponent { + return 0, ErrTooManyDecimals + } + + // Multiply the coin balance by 1e6 to obtain droplets amount + e := d.Shift(Exponent) + + // Check that there are no decimal places remaining. This error should not + // occur, because of the earlier check of Exponent() + if e.Exponent() < 0 { + logger.Critical().Errorf("Balance still has decimals after converting to droplets: %s", b) + return 0, ErrTooManyDecimals + } + + // Values greater than math.MaxInt64 will overflow after conversion to int64 + // using decimal.IntPart() + if e.GreaterThan(maxDecimal) { + return 0, ErrTooLarge + } + + return uint64(e.IntPart()), nil +} + +// ToString converts droplets to a skycoin balance fixed-point decimal string. +// String will always have a decimal precision of droplet.Exponent (6). +// For example, 123000456 becomes "123.000456" and +// 123000000 becomes "123.000000". +func ToString(n uint64) (string, error) { + if n > math.MaxInt64 { + return "", ErrTooLarge + } + + d := decimal.New(int64(n), -Exponent) + + return d.StringFixed(Exponent), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/elapse/elapser.go b/vendor/github.com/skycoin/skycoin/src/util/elapse/elapser.go new file mode 100644 index 00000000..27fd0a45 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/elapse/elapser.go @@ -0,0 +1,72 @@ +/* +Package elapse provides time measuring instruments +*/ +package elapse + +import ( + "time" + + "github.com/skycoin/skycoin/src/util/logging" +) + +// Elapser measures time elapsed for an operation. It is not thread-safe, use a different elapser per thread. +type Elapser struct { + name *string + startTime time.Time + elapsedThreshold time.Duration + Done chan bool + logger *logging.Logger +} + +// NewElapser creates an Elapser +func NewElapser(elapsedThreshold time.Duration, logger *logging.Logger) *Elapser { + elapser := &Elapser{ + elapsedThreshold: elapsedThreshold, + Done: make(chan bool, 100), + logger: logger, + } + return elapser +} + +// CheckForDone checks if the elapser has triggered and records the elapsed time +func (e *Elapser) CheckForDone() { + select { + case <-e.Done: + e.Elapsed() + default: + } +} + +// Register begins an operation to measure +func (e *Elapser) Register(name string) { + e.CheckForDone() + e.name = &name + e.startTime = time.Now() + e.Done <- true +} + +// ShowCurrentTime logs the elapsed time so far +func (e *Elapser) ShowCurrentTime(step string) { + stopTime := time.Now() + if e.name == nil { + e.logger.Warning("no registered events for elapsing, but found Elapser.ShowCurrentTime calling") + return + } + elapsed := stopTime.Sub(e.startTime) + e.logger.Infof("%s[%s] elapsed %s", *e.name, step, elapsed) + +} + +// Elapsed stops measuring an operation and logs the elapsed time if it exceeds the configured threshold +func (e *Elapser) Elapsed() { + stopTime := time.Now() + if e.name == nil { + e.logger.Warning("no registered events for elapsing, but found Elapser.Elapsed calling") + return + } + elapsed := stopTime.Sub(e.startTime) + if elapsed >= e.elapsedThreshold { + e.logger.Warningf("%s elapsed %s", *e.name, elapsed) + } + e.name = nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/fee/fee.go b/vendor/github.com/skycoin/skycoin/src/util/fee/fee.go new file mode 100644 index 00000000..ec5e80bb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/fee/fee.go @@ -0,0 +1,99 @@ +/* +Package fee provides methods to calculate and verify transaction fees +*/ +package fee + +import ( + "errors" + + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +var ( + // ErrTxnNoFee is returned if a transaction has no coinhour fee + ErrTxnNoFee = errors.New("Transaction has zero coinhour fee") + + // ErrTxnInsufficientFee is returned if a transaction's coinhour burn fee is not enough + ErrTxnInsufficientFee = errors.New("Transaction coinhour fee minimum not met") + + // ErrTxnInsufficientCoinHours is returned if a transaction has more coinhours in its outputs than its inputs + ErrTxnInsufficientCoinHours = errors.New("Insufficient coinhours for transaction outputs") +) + +// VerifyTransactionFee performs additional transaction verification at the unconfirmed pool level. +// This checks tunable params that should prevent the transaction from +// entering the blockchain, but cannot be done at the blockchain level because +// they may be changed. +func VerifyTransactionFee(t *coin.Transaction, fee uint64, burnFactor uint32) error { + hours, err := t.OutputHours() + if err != nil { + return err + } + return VerifyTransactionFeeForHours(hours, fee, burnFactor) +} + +// VerifyTransactionFeeForHours verifies the fee given fee and hours, +// where hours is the number of hours in a transaction's outputs, +// and hours+fee is the number of hours in a transaction's inputs +func VerifyTransactionFeeForHours(hours, fee uint64, burnFactor uint32) error { + // Require non-zero coinhour fee + if fee == 0 { + return ErrTxnNoFee + } + + // Calculate total number of coinhours + total, err := mathutil.AddUint64(hours, fee) + if err != nil { + return errors.New("Hours and fee overflow") + } + + // Calculate the required fee + requiredFee := RequiredFee(total, burnFactor) + + // Ensure that the required fee is met + if fee < requiredFee { + return ErrTxnInsufficientFee + } + + return nil +} + +// RequiredFee returns the coinhours fee required for an amount of hours +// The required fee is calculated as hours/burnFactor, rounded up. +func RequiredFee(hours uint64, burnFactor uint32) uint64 { + feeHours := hours / uint64(burnFactor) + if hours%uint64(burnFactor) != 0 { + feeHours++ + } + + return feeHours +} + +// RemainingHours returns the amount of coinhours leftover after paying the fee for the input. +func RemainingHours(hours uint64, burnFactor uint32) uint64 { + fee := RequiredFee(hours, burnFactor) + return hours - fee +} + +// TransactionFee calculates the current transaction fee in coinhours of a Transaction. +// Returns ErrTxnInsufficientCoinHours if input hours is less than output hours. +func TransactionFee(tx *coin.Transaction, headTime uint64, inUxs coin.UxArray) (uint64, error) { + // Compute input hours + inHours, err := inUxs.CoinHours(headTime) + if err != nil { + return 0, err + } + + // Compute output hours + outHours, err := tx.OutputHours() + if err != nil { + return 0, err + } + + if inHours < outHours { + return 0, ErrTxnInsufficientCoinHours + } + + return inHours - outHours, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/file/file.go b/vendor/github.com/skycoin/skycoin/src/util/file/file.go new file mode 100644 index 00000000..70457134 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/file/file.go @@ -0,0 +1,309 @@ +// Package file provides filesystem related utilities +package file + +import ( + "encoding/json" + "errors" + "fmt" + "io" + "io/ioutil" + "os" + "path/filepath" + "runtime" + "strings" + + "github.com/skycoin/skycoin/src/util/logging" +) + +var ( + // ErrEmptyDirectoryName is returned by constructing the full path + // of data directory if the passed argument is empty + ErrEmptyDirectoryName = errors.New("data directory must not be empty") + // ErrDotDirectoryName is returned by constructing the full path of + // data directory if the passed argument is "." + ErrDotDirectoryName = errors.New("data directory must not be equal to \".\"") + + logger = logging.MustGetLogger("file") +) + +// InitDataDir Joins dir with the user's $HOME directory. +// If $HOME cannot be determined, uses the current working directory. +// dir must not be the empty string +func InitDataDir(dir string) (string, error) { + dir, err := buildDataDir(dir) + if err != nil { + return "", err + } + + // check if dir already exists + st, err := os.Stat(dir) + if !os.IsNotExist(err) { + if !st.IsDir() { + return "", fmt.Errorf("%s is not a directory", dir) + } + // dir already exists + return dir, nil + } + + if err := os.MkdirAll(dir, os.FileMode(0700)); err != nil { + logger.Errorf("Failed to create directory %s: %v", dir, err) + return "", err + } + + logger.Infof("Created data directory %s", dir) + return dir, nil +} + +// Construct the full data directory by adding to $HOME or ./ +func buildDataDir(dir string) (string, error) { + if dir == "" { + logger.Error("data directory is empty") + return "", ErrEmptyDirectoryName + } + + home := filepath.Clean(UserHome()) + wd, err := os.Getwd() + if err != nil { + return "", err + } + wd = filepath.Clean(wd) + + fullDir, err := filepath.Abs(dir) + + if err != nil { + return "", err + } + + // The joined directory must not be equal to $HOME or a parent path of $HOME + // The joined directory must not be equal to `pwd` or a parent path of `pwd` + if strings.HasPrefix(home, fullDir) || strings.HasPrefix(wd, fullDir) { + logger.Errorf("join(%[1]s, %[2]s) == %[1]s", home, dir) + return "", ErrDotDirectoryName + } + + return fullDir, nil +} + +// UserHome returns the current user home path +func UserHome() string { + // os/user relies on cgo which is disabled when cross compiling + // use fallbacks for various OSes instead + // usr, err := user.Current() + // if err == nil { + // return usr.HomeDir + // } + if runtime.GOOS == "windows" { + home := os.Getenv("HOMEDRIVE") + os.Getenv("HOMEPATH") + if home == "" { + home = os.Getenv("USERPROFILE") + } + return home + } + + return os.Getenv("HOME") +} + +// LoadJSON load json file +func LoadJSON(filename string, thing interface{}) error { + file, err := os.Open(filename) + if err != nil { + return err + } + defer file.Close() + + dec := json.NewDecoder(file) + dec.UseNumber() + return dec.Decode(thing) +} + +// SaveJSON write value into json file +func SaveJSON(filename string, thing interface{}, mode os.FileMode) error { + data, err := json.MarshalIndent(thing, "", " ") + if err != nil { + return err + } + return SaveBinary(filename, data, mode) +} + +// SaveJSONSafe saves json to disk, but refuses if file already exists +func SaveJSONSafe(filename string, thing interface{}, mode os.FileMode) error { + b, err := json.MarshalIndent(thing, "", " ") + if err != nil { + return err + } + flags := os.O_WRONLY | os.O_CREATE | os.O_EXCL + f, err := os.OpenFile(filename, flags, mode) + if err != nil { + return err + } + defer f.Close() + n, err := f.Write(b) + if n != len(b) && err != nil { + err = errors.New("Failed to save complete file") + } + if err != nil { + if removeErr := os.Remove(filename); removeErr != nil { + logger.WithError(removeErr).Warningf("os.Remove(%s) failed", filename) + } + } + return err +} + +// SaveBinary persists data into given file in binary, +// backup the previous file, if there was one +func SaveBinary(filename string, data []byte, mode os.FileMode) error { + // Write the new file to a temporary + tmpname := filename + ".tmp" + if err := ioutil.WriteFile(tmpname, data, mode); err != nil { + return err + } + + // Write the new file to the target wallet file + if err := ioutil.WriteFile(filename, data, mode); err != nil { + return err + } + + // Remove the tmp file + return os.Remove(tmpname) +} + +//TODO: require file named after application and then hashcode, in static directory + +// ResolveResourceDirectory searches locations for a research directory and returns absolute path +func ResolveResourceDirectory(path string) string { + workDir, err := filepath.Abs(filepath.Dir(os.Args[0])) + if err != nil { + logger.Panic(err) + } + + _, rtFilename, _, _ := runtime.Caller(1) + rtDirectory := filepath.Dir(rtFilename) + + pathAbs, err := filepath.Abs(path) + if err != nil { + logger.Panic(err) + } + fmt.Println("abs path:", pathAbs) + + fmt.Printf("runtime.Caller= %s \n", rtFilename) + //fmt.Printf("Filepath Raw= %s \n") + fmt.Printf("Filepath Directory= %s \n", filepath.Dir(path)) + fmt.Printf("Filepath Absolute Directory= %s \n", pathAbs) + + fmt.Printf("Working Directory= %s \n", workDir) + fmt.Printf("Runtime Filename= %s \n", rtFilename) + fmt.Printf("Runtime Directory= %s \n", rtDirectory) + + //dir1 := filepath.Join(workDir, filepath.Dir(path)) + //fmt.Printf("Dir1= %s \n", dir1) + + dirs := []string{ + pathAbs, //try direct path first + filepath.Join(workDir, filepath.Dir(path)), //default + //filepath.Join(rt_directory, "./", filepath.Dir(path)), + filepath.Join(rtDirectory, "./", filepath.Dir(path)), + filepath.Join(rtDirectory, "../", filepath.Dir(path)), + filepath.Join(rtDirectory, "../../", filepath.Dir(path)), + filepath.Join(rtDirectory, "../../../", filepath.Dir(path)), + } + + //for i, dir := range dirs { + // fmt.Printf("Dir[%d]= %s \n", i, dir) + //} + + //must be an absolute path + //error and problem and crash if not absolute path + for i := range dirs { + absPath, err := filepath.Abs(dirs[i]) + if err != nil { + logger.WithError(err).Errorf("filepath.Abs(%s) failed", dirs[i]) + continue + } + dirs[i] = absPath + } + + for _, dir := range dirs { + if _, err := os.Stat(dir); !os.IsNotExist(err) { + fmt.Printf("ResolveResourceDirectory: static resource dir= %s \n", dir) + return dir + } + } + logger.Panic("GUI directory not found") + return "" +} + +// DetermineResourcePath DEPRECATE +func DetermineResourcePath(staticDir string, resourceDir string, devDir string) (string, error) { + //check "dev" directory first + appLoc := filepath.Join(staticDir, devDir) + // if !strings.HasPrefix(appLoc, "/") { + // // Prepend the binary's directory path if appLoc is relative + // dir, err := filepath.Abs(filepath.Dir(os.Args[0])) + // if err != nil { + // return "", err + // } + + // appLoc = filepath.Join(dir, appLoc) + // } + if _, err := os.Stat(appLoc); os.IsNotExist(err) { + //check dist directory + appLoc = filepath.Join(staticDir, resourceDir) + // if !strings.HasPrefix(appLoc, "/") { + // // Prepend the binary's directory path if appLoc is relative + // dir, err := filepath.Abs(filepath.Dir(os.Args[0])) + // if err != nil { + // return "", err + // } + + // appLoc = filepath.Join(dir, appLoc) + // } + + if _, err := os.Stat(appLoc); os.IsNotExist(err) { + return "", err + } + } + + return appLoc, nil +} + +// Copy copies file. Will overwrite dst if dst exists. +func Copy(dst, src string) (err error) { + f, err := os.Open(src) + if err != nil { + return err + } + + defer func() { + cerr := f.Close() + if err == nil { + err = cerr + } + }() + + out, err := os.Create(dst) + if err != nil { + return err + } + + defer func() { + cerr := out.Close() + if err == nil { + err = cerr + } + }() + + _, err = io.Copy(out, f) + return +} + +// Exists checks whether the file exists in the file system +func Exists(fn string) (bool, error) { + _, err := os.Stat(fn) + if os.IsNotExist(err) { + return false, nil + } + if err != nil { + return false, err + } + return true, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/http/error.go b/vendor/github.com/skycoin/skycoin/src/util/http/error.go new file mode 100644 index 00000000..f9e15762 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/http/error.go @@ -0,0 +1,68 @@ +// Package httphelper provides HTTP related utility methods +package httphelper + +import ( + "fmt" + "net/http" +) + +// ErrorXXX writes an error message with status code +func ErrorXXX(w http.ResponseWriter, status int, msg string) { + httpMsg := fmt.Sprintf("%d %s", status, http.StatusText(status)) + if msg != "" { + httpMsg = fmt.Sprintf("%s - %s", httpMsg, msg) + } + + http.Error(w, httpMsg, status) +} + +// Error400 respond with a 400 error and include a message +func Error400(w http.ResponseWriter, msg string) { + ErrorXXX(w, http.StatusBadRequest, msg) +} + +// Error401 respond with a 401 error +func Error401(w http.ResponseWriter, auth, msg string) { + w.Header().Set("WWW-Authenticate", auth) + ErrorXXX(w, http.StatusUnauthorized, msg) +} + +// Error403 respond with a 403 error and include a message +func Error403(w http.ResponseWriter, msg string) { + ErrorXXX(w, http.StatusForbidden, msg) +} + +// Error404 respond with a 404 error and include a message +func Error404(w http.ResponseWriter, msg string) { + ErrorXXX(w, http.StatusNotFound, msg) +} + +// Error405 respond with a 405 error +func Error405(w http.ResponseWriter) { + ErrorXXX(w, http.StatusMethodNotAllowed, "") +} + +// Error415 respond with a 415 error +func Error415(w http.ResponseWriter) { + ErrorXXX(w, http.StatusUnsupportedMediaType, "") +} + +// Error422 response with a 422 error and include a message +func Error422(w http.ResponseWriter, msg string) { + ErrorXXX(w, http.StatusUnprocessableEntity, msg) +} + +// Error500 respond with a 500 error and include a message +func Error500(w http.ResponseWriter, msg string) { + ErrorXXX(w, http.StatusInternalServerError, msg) +} + +// Error501 respond with a 501 error +func Error501(w http.ResponseWriter) { + ErrorXXX(w, http.StatusNotImplemented, "") +} + +// Error503 respond with a 503 error and include a message +func Error503(w http.ResponseWriter, msg string) { + ErrorXXX(w, http.StatusServiceUnavailable, msg) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/http/json.go b/vendor/github.com/skycoin/skycoin/src/util/http/json.go new file mode 100644 index 00000000..6ddedfdd --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/http/json.go @@ -0,0 +1,190 @@ +package httphelper + +// Utilities for sending JSON + +import ( + "encoding/json" + "fmt" + "net/http" + "strconv" + "time" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/droplet" + "github.com/skycoin/skycoin/src/util/logging" +) + +// SendJSONOr500 writes an object as JSON, writing a 500 error if it fails +func SendJSONOr500(log *logging.Logger, w http.ResponseWriter, m interface{}) { + out, err := json.MarshalIndent(m, "", " ") + if err != nil { + Error500(w, "json.MarshalIndent failed") + return + } + + w.Header().Add("Content-Type", "application/json") + + if _, err := w.Write(out); err != nil { + log.WithError(err).Error("http Write failed") + } +} + +// Duration JSON type copied from https://github.com/vrischmann/jsonutil, MIT License + +// Duration is a wrapper around time.Duration which implements json.Unmarshaler and json.Marshaler. +// It marshals and unmarshals the duration as a string in the format accepted by time.ParseDuration and returned by time.Duration.String. +type Duration struct { + time.Duration +} + +// FromDuration is a convenience factory to create a Duration instance from the +// given time.Duration value. +func FromDuration(d time.Duration) Duration { + return Duration{d} +} + +// MarshalJSON implements the json.Marshaler interface. The duration is a quoted-string in the format accepted by time.ParseDuration and returned by time.Duration.String. +func (d Duration) MarshalJSON() ([]byte, error) { + return []byte(`"` + d.String() + `"`), nil +} + +// UnmarshalJSON implements the json.Unmarshaler interface. The duration is expected to be a quoted-string of a duration in the format accepted by time.ParseDuration. +func (d *Duration) UnmarshalJSON(data []byte) error { + var s string + if err := json.Unmarshal(data, &s); err != nil { + return err + } + + tmp, err := time.ParseDuration(s) + if err != nil { + return err + } + + d.Duration = tmp + + return nil +} + +// Address is a wrapper around cipher.Address which implements json.Unmarshaler and json.Marshaler. +// It marshals and unmarshals the address as a string +type Address struct { + cipher.Address +} + +// UnmarshalJSON unmarshals a string address to a cipher.Address +func (a *Address) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + + tmp, err := cipher.DecodeBase58Address(s) + if err != nil { + return fmt.Errorf("invalid address: %v", err) + } + + a.Address = tmp + + return nil +} + +// MarshalJSON marshals a cipher.Address in its string representation +func (a Address) MarshalJSON() ([]byte, error) { + return []byte(`"` + a.Address.String() + `"`), nil +} + +// SHA256 is a wrapper around cipher.SHA256 which implements json.Unmarshaler and json.Marshaler. +// It marshals and unmarshals the address as a string +type SHA256 struct { + cipher.SHA256 +} + +// UnmarshalJSON unmarshals a string address to a cipher.SHA256 +func (a *SHA256) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + + tmp, err := cipher.SHA256FromHex(s) + if err != nil { + return fmt.Errorf("invalid SHA256 hash: %v", err) + } + + a.SHA256 = tmp + + return nil +} + +// MarshalJSON marshals a cipher.SHA256 in its string representation +func (a SHA256) MarshalJSON() ([]byte, error) { + return []byte(`"` + a.SHA256.Hex() + `"`), nil +} + +// Coins is a wrapper around uint64 which implements json.Unmarshaler and json.Marshaler. +// It unmarshals a fixed-point decimal string to droplets and vice versa +type Coins uint64 + +// UnmarshalJSON unmarshals a fixed-point decimal string to droplets +func (c *Coins) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + + tmp, err := droplet.FromString(s) + if err != nil { + return err + } + + *c = Coins(tmp) + + return nil +} + +// MarshalJSON marshals droplets to a fixed-point decimal string +func (c Coins) MarshalJSON() ([]byte, error) { + s, err := droplet.ToString(uint64(c)) + if err != nil { + return nil, err + } + + return []byte(`"` + s + `"`), nil +} + +// Value returns the underlying uint64 value +func (c Coins) Value() uint64 { + return uint64(c) +} + +// Hours is a wrapper around uint64 which implements json.Unmarshaler and json.Marshaler. +// It unmarshals a fixed-point decimal string to droplets and vice versa +type Hours uint64 + +// UnmarshalJSON unmarshals a fixed-point decimal string to droplets +func (h *Hours) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + + tmp, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return fmt.Errorf("invalid hours value: %v", err) + } + + *h = Hours(tmp) + + return nil +} + +// MarshalJSON marshals droplets to a fixed-point decimal string +func (h Hours) MarshalJSON() ([]byte, error) { + s := fmt.Sprint(h) + return []byte(`"` + s + `"`), nil +} + +// Value returns the underlying uint64 value +func (h Hours) Value() uint64 { + return uint64(h) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/http/log.go b/vendor/github.com/skycoin/skycoin/src/util/http/log.go new file mode 100644 index 00000000..84f4bee7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/http/log.go @@ -0,0 +1,53 @@ +package httphelper + +import ( + "bytes" + "net/http" + "strings" + "time" + + "github.com/sirupsen/logrus" +) + +// ElapsedHandler records and logs an HTTP request with the elapsed time and status code +func ElapsedHandler(logger logrus.FieldLogger, handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + lrw := newWrappedResponseWriter(w) + start := time.Now() + handler.ServeHTTP(lrw, r) + logMethod := logger.Infof + if lrw.statusCode >= 400 { + logMethod = logger.WithFields(logrus.Fields{ + "body": strings.TrimSpace(lrw.response.String()), + }).Errorf + } + logMethod("%d %s %s %s", lrw.statusCode, r.Method, r.URL.Path, time.Since(start)) + }) +} + +type wrappedResponseWriter struct { + http.ResponseWriter + statusCode int + response bytes.Buffer +} + +func newWrappedResponseWriter(w http.ResponseWriter) *wrappedResponseWriter { + return &wrappedResponseWriter{ + ResponseWriter: w, + statusCode: http.StatusOK, + response: bytes.Buffer{}, + } +} + +func (lrw *wrappedResponseWriter) WriteHeader(code int) { + lrw.statusCode = code + lrw.ResponseWriter.WriteHeader(code) +} + +func (lrw *wrappedResponseWriter) Write(buff []byte) (int, error) { + retVal, err := lrw.ResponseWriter.Write(buff) + if lrw.statusCode >= 400 { + lrw.response.Write(buff) + } + return retVal, err +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/iputil/iputil.go b/vendor/github.com/skycoin/skycoin/src/util/iputil/iputil.go new file mode 100644 index 00000000..1dccbd9c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/iputil/iputil.go @@ -0,0 +1,66 @@ +/* +Package iputil provides IP address related utility methods +*/ +package iputil + +import ( + "errors" + "net" + "strconv" +) + +var ( + // ErrMissingIP IP missing from ip:port string + ErrMissingIP = errors.New("IP missing from ip:port address") + // ErrInvalidPort port invalid in ip:port string + ErrInvalidPort = errors.New("Port invalid in ip:port address") + // ErrNoLocalIP no localhost IP found in system net interfaces + ErrNoLocalIP = errors.New("No local IP found") +) + +// LocalhostIP returns the address for localhost on the machine +func LocalhostIP() (string, error) { + tt, err := net.Interfaces() + if err != nil { + return "", err + } + for _, t := range tt { + aa, err := t.Addrs() + if err != nil { + return "", err + } + for _, a := range aa { + if ipnet, ok := a.(*net.IPNet); ok && ipnet.IP.IsLoopback() { + return ipnet.IP.String(), nil + } + } + } + return "", ErrNoLocalIP +} + +// IsLocalhost returns true if addr is a localhost address +// Works for both ipv4 and ipv6 addresses. +func IsLocalhost(addr string) bool { + return net.ParseIP(addr).IsLoopback() || addr == "localhost" +} + +// SplitAddr splits an ip:port string to ip, port. +// Works for both ipv4 and ipv6 addresses. +// If the IP is not specified, returns an error. +func SplitAddr(addr string) (string, uint16, error) { + ip, port, err := net.SplitHostPort(addr) + if err != nil { + return "", 0, err + } + + if ip == "" { + return "", 0, ErrMissingIP + } + + port64, err := strconv.ParseUint(port, 10, 16) + if err != nil { + return "", 0, ErrInvalidPort + } + + return ip, uint16(port64), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go b/vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go new file mode 100644 index 00000000..e9066f4c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go @@ -0,0 +1,441 @@ +package logging + +import ( + "bytes" + "fmt" + "io" + "os" + "sort" + "strings" + "sync" + "time" + + "github.com/mgutz/ansi" + "github.com/sirupsen/logrus" + "golang.org/x/crypto/ssh/terminal" +) + +const defaultTimestampFormat = time.RFC3339 + +var ( + baseTimestamp = time.Now() + defaultColorScheme = &ColorScheme{ + InfoLevelStyle: "green", + WarnLevelStyle: "yellow", + ErrorLevelStyle: "red", + FatalLevelStyle: "red", + PanicLevelStyle: "red", + DebugLevelStyle: "blue", + PrefixStyle: "cyan", + TimestampStyle: "black+h", + CallContextStyle: "black+h", + CriticalStyle: "magenta+h", + } + noColorsColorScheme = &compiledColorScheme{ + InfoLevelColor: ansi.ColorFunc(""), + WarnLevelColor: ansi.ColorFunc(""), + ErrorLevelColor: ansi.ColorFunc(""), + FatalLevelColor: ansi.ColorFunc(""), + PanicLevelColor: ansi.ColorFunc(""), + DebugLevelColor: ansi.ColorFunc(""), + PrefixColor: ansi.ColorFunc(""), + TimestampColor: ansi.ColorFunc(""), + CallContextColor: ansi.ColorFunc(""), + CriticalColor: ansi.ColorFunc(""), + } + defaultCompiledColorScheme = compileColorScheme(defaultColorScheme) +) + +func miniTS() int { + return int(time.Since(baseTimestamp) / time.Second) +} + +// ColorScheme configures the logging output colors +type ColorScheme struct { + InfoLevelStyle string + WarnLevelStyle string + ErrorLevelStyle string + FatalLevelStyle string + PanicLevelStyle string + DebugLevelStyle string + PrefixStyle string + TimestampStyle string + CallContextStyle string + CriticalStyle string +} + +type compiledColorScheme struct { + InfoLevelColor func(string) string + WarnLevelColor func(string) string + ErrorLevelColor func(string) string + FatalLevelColor func(string) string + PanicLevelColor func(string) string + DebugLevelColor func(string) string + PrefixColor func(string) string + TimestampColor func(string) string + CallContextColor func(string) string + CriticalColor func(string) string +} + +// TextFormatter formats log output +type TextFormatter struct { + // Set to true to bypass checking for a TTY before outputting colors. + ForceColors bool + + // Force disabling colors. For a TTY colors are enabled by default. + DisableColors bool + + // Force formatted layout, even for non-TTY output. + ForceFormatting bool + + // Disable timestamp logging. useful when output is redirected to logging + // system that already adds timestamps. + DisableTimestamp bool + + // Disable the conversion of the log levels to uppercase + DisableUppercase bool + + // Enable logging the full timestamp when a TTY is attached instead of just + // the time passed since beginning of execution. + FullTimestamp bool + + // Timestamp format to use for display when a full timestamp is printed. + TimestampFormat string + + // The fields are sorted by default for a consistent output. For applications + // that log extremely frequently and don't use the JSON formatter this may not + // be desired. + DisableSorting bool + + // Wrap empty fields in quotes if true. + QuoteEmptyFields bool + + // Can be set to the override the default quoting character " + // with something else. For example: ', or `. + QuoteCharacter string + + // Pad msg field with spaces on the right for display. + // The value for this parameter will be the size of padding. + // Its default value is zero, which means no padding will be applied for msg. + SpacePadding int + + // Always use quotes for string values (except for empty fields) + AlwaysQuoteStrings bool + + // Color scheme to use. + colorScheme *compiledColorScheme + + // Whether the logger's out is to a terminal. + isTerminal bool + + sync.Once +} + +func getCompiledColor(main string, fallback string) func(string) string { + var style string + if main != "" { + style = main + } else { + style = fallback + } + return ansi.ColorFunc(style) +} + +func compileColorScheme(s *ColorScheme) *compiledColorScheme { + return &compiledColorScheme{ + InfoLevelColor: getCompiledColor(s.InfoLevelStyle, defaultColorScheme.InfoLevelStyle), + WarnLevelColor: getCompiledColor(s.WarnLevelStyle, defaultColorScheme.WarnLevelStyle), + ErrorLevelColor: getCompiledColor(s.ErrorLevelStyle, defaultColorScheme.ErrorLevelStyle), + FatalLevelColor: getCompiledColor(s.FatalLevelStyle, defaultColorScheme.FatalLevelStyle), + PanicLevelColor: getCompiledColor(s.PanicLevelStyle, defaultColorScheme.PanicLevelStyle), + DebugLevelColor: getCompiledColor(s.DebugLevelStyle, defaultColorScheme.DebugLevelStyle), + PrefixColor: getCompiledColor(s.PrefixStyle, defaultColorScheme.PrefixStyle), + TimestampColor: getCompiledColor(s.TimestampStyle, defaultColorScheme.TimestampStyle), + CallContextColor: getCompiledColor(s.CallContextStyle, defaultColorScheme.CallContextStyle), + CriticalColor: getCompiledColor(s.CriticalStyle, defaultColorScheme.CriticalStyle), + } +} + +func (f *TextFormatter) init(entry *logrus.Entry) { + if len(f.QuoteCharacter) == 0 { + f.QuoteCharacter = "\"" + } + if entry.Logger != nil { + f.isTerminal = f.checkIfTerminal(entry.Logger.Out) + } +} + +func (f *TextFormatter) checkIfTerminal(w io.Writer) bool { + switch v := w.(type) { + case *os.File: + return terminal.IsTerminal(int(v.Fd())) + default: + return false + } +} + +// SetColorScheme sets the TextFormatter's color scheme configuration +func (f *TextFormatter) SetColorScheme(colorScheme *ColorScheme) { + f.colorScheme = compileColorScheme(colorScheme) +} + +// Format formats a logrus.Entry +func (f *TextFormatter) Format(entry *logrus.Entry) ([]byte, error) { + var b *bytes.Buffer + keys := make([]string, 0, len(entry.Data)) + for k := range entry.Data { + keys = append(keys, k) + } + lastKeyIdx := len(keys) - 1 + + if !f.DisableSorting { + sort.Strings(keys) + } + if entry.Buffer != nil { + b = entry.Buffer + } else { + b = &bytes.Buffer{} + } + + f.Do(func() { f.init(entry) }) + + isFormatted := f.ForceFormatting || f.isTerminal + + timestampFormat := f.TimestampFormat + if timestampFormat == "" { + timestampFormat = defaultTimestampFormat + } + if isFormatted { + isColored := (f.ForceColors || f.isTerminal) && !f.DisableColors + var colorScheme *compiledColorScheme + if isColored { + if f.colorScheme == nil { + colorScheme = defaultCompiledColorScheme + } else { + colorScheme = f.colorScheme + } + } else { + colorScheme = noColorsColorScheme + } + f.printColored(b, entry, keys, timestampFormat, colorScheme) + } else { + if !f.DisableTimestamp { + f.appendKeyValue(b, "time", entry.Time.Format(timestampFormat), true) + } + f.appendKeyValue(b, "level", entry.Level.String(), true) + if entry.Message != "" { + f.appendKeyValue(b, "msg", entry.Message, lastKeyIdx >= 0) + } + for i, key := range keys { + f.appendKeyValue(b, key, entry.Data[key], lastKeyIdx != i) + } + } + + b.WriteByte('\n') //nolint:gosec + return b.Bytes(), nil +} + +func (f *TextFormatter) printColored(b *bytes.Buffer, entry *logrus.Entry, keys []string, timestampFormat string, colorScheme *compiledColorScheme) { + var levelColor func(string) string + var levelText string + switch entry.Level { + case logrus.InfoLevel: + levelColor = colorScheme.InfoLevelColor + case logrus.WarnLevel: + levelColor = colorScheme.WarnLevelColor + case logrus.ErrorLevel: + levelColor = colorScheme.ErrorLevelColor + case logrus.FatalLevel: + levelColor = colorScheme.FatalLevelColor + case logrus.PanicLevel: + levelColor = colorScheme.PanicLevelColor + default: + levelColor = colorScheme.DebugLevelColor + } + + priority, ok := entry.Data[logPriorityKey] + hasPriority := ok && priority == logPriorityCritical + + if entry.Level != logrus.WarnLevel { + levelText = entry.Level.String() + } else { + levelText = "warn" + } + + if !f.DisableUppercase { + levelText = strings.ToUpper(levelText) + } + + level := levelColor(levelText) + message := entry.Message + prefix := "" + + prefixText := extractPrefix(entry) + if prefixText != "" { + prefixText = " " + prefixText + ":" + prefix = colorScheme.PrefixColor(prefixText) + } + + messageFormat := "%s" + if f.SpacePadding != 0 { + messageFormat = fmt.Sprintf("%%-%ds", f.SpacePadding) + } + if message != "" { + messageFormat = " " + messageFormat + } + + callContextParts := []string{} + if ifile, ok := entry.Data["file"]; ok { + if sfile, ok := ifile.(string); ok && sfile != "" { + callContextParts = append(callContextParts, sfile) + } + } + if ifunc, ok := entry.Data["func"]; ok { + if sfunc, ok := ifunc.(string); ok && sfunc != "" { + callContextParts = append(callContextParts, sfunc) + } + } + if iline, ok := entry.Data["line"]; ok { + sline := "" + switch iline := iline.(type) { + case string: + sline = iline + case int, uint, int32, int64, uint32, uint64: + sline = fmt.Sprint(iline) + } + if sline != "" { + callContextParts = append(callContextParts, fmt.Sprint(sline)) + } + } + callContextText := strings.Join(callContextParts, ":") + callContext := colorScheme.CallContextColor(callContextText) + if callContext != "" { + callContext = " " + callContext + } + + if f.DisableTimestamp { + if hasPriority { + str := fmt.Sprintf("%s%s%s"+messageFormat, levelText, callContextText, prefixText, message) + fmt.Fprint(b, colorScheme.CriticalColor(str)) + } else { + fmt.Fprintf(b, "%s%s%s"+messageFormat, level, callContext, prefix, message) + } + } else { + var timestamp string + if !f.FullTimestamp { + timestamp = fmt.Sprintf("[%04d]", miniTS()) + } else { + timestamp = fmt.Sprintf("[%s]", entry.Time.Format(timestampFormat)) + } + + coloredTimestamp := colorScheme.TimestampColor(timestamp) + + if hasPriority { + str := fmt.Sprintf("%s %s%s%s"+messageFormat, timestamp, levelText, callContextText, prefixText, message) + fmt.Fprint(b, colorScheme.CriticalColor(str)) + } else { + fmt.Fprintf(b, "%s %s%s%s"+messageFormat, coloredTimestamp, level, callContext, prefix, message) + } + } + + for _, k := range keys { + if k != "prefix" && k != "file" && k != "func" && k != "line" && k != logPriorityKey && k != logModuleKey { + v := entry.Data[k] + fmt.Fprintf(b, " %s", f.formatKeyValue(levelColor(k), v)) + } + } +} + +func (f *TextFormatter) needsQuoting(text string) bool { + if len(text) == 0 { + return f.QuoteEmptyFields + } + + if f.AlwaysQuoteStrings { + return true + } + + for _, ch := range text { + if !((ch >= 'a' && ch <= 'z') || + (ch >= 'A' && ch <= 'Z') || + (ch >= '0' && ch <= '9') || + ch == '-' || ch == '.') { + return true + } + } + + return false +} + +func extractPrefix(e *logrus.Entry) string { + var module string + if iModule, ok := e.Data[logModuleKey]; ok { + module, _ = iModule.(string) + } + + var priority string + if iPriority, ok := e.Data[logPriorityKey]; ok { + priority, _ = iPriority.(string) + } + + switch { + case priority == "": + return fmt.Sprintf("[%s]", module) + case module == "": + return fmt.Sprintf("[%s]", priority) + default: + return fmt.Sprintf("[%s:%s]", module, priority) + } +} + +func (f *TextFormatter) formatKeyValue(key string, value interface{}) string { + return fmt.Sprintf("%s=%s", key, f.formatValue(value)) +} + +func (f *TextFormatter) formatValue(value interface{}) string { + switch value := value.(type) { + case string: + if f.needsQuoting(value) { + return fmt.Sprintf("%s%+v%s", f.QuoteCharacter, value, f.QuoteCharacter) + } + return value + case error: + errmsg := value.Error() + if f.needsQuoting(errmsg) { + return fmt.Sprintf("%s%+v%s", f.QuoteCharacter, errmsg, f.QuoteCharacter) + } + return errmsg + default: + return fmt.Sprintf("%+v", value) + } +} + +func (f *TextFormatter) appendKeyValue(b *bytes.Buffer, key string, value interface{}, appendSpace bool) { + b.WriteString(key) //nolint:gosec + b.WriteByte('=') //nolint:gosec + f.appendValue(b, value) //nolint:gosec + + if appendSpace { + b.WriteByte(' ') //nolint:gosec + } +} + +func (f *TextFormatter) appendValue(b *bytes.Buffer, value interface{}) { + switch value := value.(type) { + case string: + if f.needsQuoting(value) { + fmt.Fprintf(b, "%s%+v%s", f.QuoteCharacter, value, f.QuoteCharacter) + } else { + b.WriteString(value) //nolint:gosec + } + case error: + errmsg := value.Error() + if f.needsQuoting(errmsg) { + fmt.Fprintf(b, "%s%+v%s", f.QuoteCharacter, errmsg, f.QuoteCharacter) + } else { + b.WriteString(errmsg) //nolint:gosec + } + default: + fmt.Fprint(b, value) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go b/vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go new file mode 100644 index 00000000..d8d0cc61 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go @@ -0,0 +1,44 @@ +package logging + +import ( + "io" + + "github.com/sirupsen/logrus" +) + +// WriteHook is a logrus.Hook that logs to an io.Writer +type WriteHook struct { + w io.Writer + formatter logrus.Formatter +} + +// NewWriteHook returns a new WriteHook +func NewWriteHook(w io.Writer) *WriteHook { + return &WriteHook{ + w: w, + formatter: &TextFormatter{ + DisableColors: true, + FullTimestamp: true, + AlwaysQuoteStrings: true, + QuoteEmptyFields: true, + ForceFormatting: true, + }, + } +} + +// Levels returns Levels accepted by the WriteHook. +// All logrus.Levels are returned. +func (f *WriteHook) Levels() []logrus.Level { + return logrus.AllLevels +} + +// Fire writes a logrus.Entry to the file +func (f *WriteHook) Fire(e *logrus.Entry) error { + b, err := f.formatter.Format(e) + if err != nil { + return err + } + + _, err = f.w.Write(b) + return err +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/logger.go b/vendor/github.com/skycoin/skycoin/src/util/logging/logger.go new file mode 100644 index 00000000..7b7e3359 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/logger.go @@ -0,0 +1,77 @@ +package logging + +import ( + "os" + "time" + + "github.com/sirupsen/logrus" +) + +// Logger wraps logrus.FieldLogger +type Logger struct { + logrus.FieldLogger +} + +// Critical adds special critical-level fields for specially highlighted logging, +// since logrus lacks a distinct critical field and does not have configurable log levels +func (logger *Logger) Critical() logrus.FieldLogger { + return logger.WithField(logPriorityKey, logPriorityCritical) +} + +// WithTime overrides time, used by logger. +func (logger *Logger) WithTime(t time.Time) *logrus.Entry { + return logger.WithFields(logrus.Fields{}).WithTime(t) +} + +// MasterLogger wraps logrus.Logger and is able to create new package-aware loggers +type MasterLogger struct { + *logrus.Logger +} + +// NewMasterLogger creates a new package-aware logger with formatting string +func NewMasterLogger() *MasterLogger { + hooks := make(logrus.LevelHooks) + + return &MasterLogger{ + Logger: &logrus.Logger{ + Out: os.Stdout, + Formatter: &TextFormatter{ + FullTimestamp: true, + AlwaysQuoteStrings: true, + QuoteEmptyFields: true, + ForceFormatting: true, + DisableColors: false, + ForceColors: false, + }, + Hooks: hooks, + Level: logrus.DebugLevel, + }, + } +} + +// PackageLogger instantiates a package-aware logger +func (logger *MasterLogger) PackageLogger(moduleName string) *Logger { + return &Logger{ + FieldLogger: logger.WithField(logModuleKey, moduleName), + } +} + +// AddHook adds a logrus.Hook to the logger and its module loggers +func (logger *MasterLogger) AddHook(hook logrus.Hook) { + logger.Hooks.Add(hook) +} + +// SetLevel sets the log level for the logger and its module loggers +func (logger *MasterLogger) SetLevel(level logrus.Level) { + logger.Level = level +} + +// EnableColors enables colored logging +func (logger *MasterLogger) EnableColors() { + logger.Formatter.(*TextFormatter).DisableColors = false +} + +// DisableColors disables colored logging +func (logger *MasterLogger) DisableColors() { + logger.Formatter.(*TextFormatter).DisableColors = true +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/logging.go b/vendor/github.com/skycoin/skycoin/src/util/logging/logging.go new file mode 100644 index 00000000..f7b86ffc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/logging.go @@ -0,0 +1,79 @@ +/* +Package logging provides application logging utilities +*/ +package logging + +import ( + "errors" + "io" + "io/ioutil" + "strings" + + "github.com/sirupsen/logrus" +) + +var log = NewMasterLogger() + +const ( + // logModuleKey is the key used for the module name data entry + logModuleKey = "_module" + // logPriorityKey is the log entry key for priority log statements + logPriorityKey = "_priority" + // logPriorityCritical is the log entry value for priority log statements + logPriorityCritical = "CRITICAL" +) + +// LevelFromString returns a logrus.Level from a string identifier +func LevelFromString(s string) (logrus.Level, error) { + switch strings.ToLower(s) { + case "debug": + return logrus.DebugLevel, nil + case "info", "notice": + return logrus.InfoLevel, nil + case "warn", "warning": + return logrus.WarnLevel, nil + case "error": + return logrus.ErrorLevel, nil + case "fatal", "critical": + return logrus.FatalLevel, nil + case "panic": + return logrus.PanicLevel, nil + default: + return logrus.DebugLevel, errors.New("could not convert string to log level") + } +} + +// MustGetLogger returns a package-aware logger from the master logger +func MustGetLogger(module string) *Logger { + return log.PackageLogger(module) +} + +// AddHook adds a hook to the global logger +func AddHook(hook logrus.Hook) { + log.AddHook(hook) +} + +// EnableColors enables colored logging +func EnableColors() { + log.EnableColors() +} + +// DisableColors disables colored logging +func DisableColors() { + log.DisableColors() +} + +// SetLevel sets the logger's minimum log level +func SetLevel(level logrus.Level) { + log.SetLevel(level) +} + +// SetOutputTo sets the logger's output to an io.Writer +func SetOutputTo(w io.Writer) { + log.Out = w +} + +// Disable disables the logger completely +func Disable() { + log.Out = ioutil.Discard +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/mathutil/mathutil.go b/vendor/github.com/skycoin/skycoin/src/util/mathutil/mathutil.go new file mode 100644 index 00000000..d1b7a191 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/mathutil/mathutil.go @@ -0,0 +1,81 @@ +// Package mathutil provides math utilities +package mathutil + +import ( + "errors" + "math" +) + +var ( + // ErrUint64MultOverflow is returned if when multiplying uint64 values would overflow uint64 + ErrUint64MultOverflow = errors.New("uint64 multiplication overflow") + // ErrUint64AddOverflow is returned if when adding uint64 values would overflow uint64 + ErrUint64AddOverflow = errors.New("uint64 addition overflow") + // ErrUint32AddOverflow is returned if when adding uint32 values would overflow uint32 + ErrUint32AddOverflow = errors.New("uint32 addition overflow") + // ErrUint64OverflowsInt64 is returned if when converting a uint64 to an int64 would overflow int64 + ErrUint64OverflowsInt64 = errors.New("uint64 overflows int64") + // ErrInt64UnderflowsUint64 is returned if when converting an int64 to a uint64 would underflow uint64 + ErrInt64UnderflowsUint64 = errors.New("int64 underflows uint64") + // ErrIntUnderflowsUint32 is returned if when converting an int to a uint32 would underflow uint32 + ErrIntUnderflowsUint32 = errors.New("int underflows uint32") + // ErrIntOverflowsUint32 is returned if when converting an int to a uint32 would overflow uint32 + ErrIntOverflowsUint32 = errors.New("int overflows uint32") +) + +// MultUint64 multiplies a by b, returning an error if the values would overflow +func MultUint64(a, b uint64) (uint64, error) { + c := a * b + if a != 0 && c/a != b { + return 0, ErrUint64MultOverflow + } + return c, nil +} + +// AddUint64 adds a and b, returning an error if the values would overflow +func AddUint64(a, b uint64) (uint64, error) { + c := a + b + if c < a || c < b { + return 0, ErrUint64AddOverflow + } + return c, nil +} + +// AddUint32 adds a and b, returning an error if the values would overflow +func AddUint32(a, b uint32) (uint32, error) { + c := a + b + if c < a || c < b { + return 0, ErrUint32AddOverflow + } + return c, nil +} + +// Uint64ToInt64 converts a uint64 to an int64, returning an error if the uint64 value overflows int64 +func Uint64ToInt64(a uint64) (int64, error) { + b := int64(a) + if b < 0 { + return 0, ErrUint64OverflowsInt64 + } + return b, nil +} + +// Int64ToUint64 converts an int64 to a uint64, returning an error if the int64 value underflows uint64 +func Int64ToUint64(a int64) (uint64, error) { + if a < 0 { + return 0, ErrInt64UnderflowsUint64 + } + return uint64(a), nil +} + +// IntToUint32 converts int to uint32, returning an error if the int value is negative or overflows uint32 +func IntToUint32(a int) (uint32, error) { + if a < 0 { + return 0, ErrIntUnderflowsUint32 + } + + if uint64(a) > math.MaxUint32 { + return 0, ErrIntOverflowsUint32 + } + + return uint32(a), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/timeutil/timeutil.go b/vendor/github.com/skycoin/skycoin/src/util/timeutil/timeutil.go new file mode 100644 index 00000000..75486840 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/timeutil/timeutil.go @@ -0,0 +1,15 @@ +/* +Package timeutil provides time related utility methods +*/ +package timeutil + +import "time" + +// NanoToTime converts nanoseconds to time.Time +func NanoToTime(n int64) time.Time { + zeroTime := time.Time{} + if n == zeroTime.UnixNano() { + return zeroTime + } + return time.Unix(n/int64(time.Second), n%int64(time.Second)) +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/useragent/useragent.go b/vendor/github.com/skycoin/skycoin/src/util/useragent/useragent.go new file mode 100644 index 00000000..b338aed3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/useragent/useragent.go @@ -0,0 +1,222 @@ +// Package useragent implements methods for managing Skycoin user agents. +// +// A skycoin user agent has the following format: +// +// `$NAME:$VERSION[$GIT_HASH]($REMARK)` +// +// `$NAME` and `$VERSION` are required. +// +// * `$NAME` is the coin or application's name, e.g. `Skycoin`. It can contain the following characters: `A-Za-z0-9\-_+`. +// * `$VERSION` must be a valid [semver](http://semver.org/) version, e.g. `1.2.3` or `1.2.3-rc1`. +// Semver has the option of including build metadata such as the git commit hash, but this is not included by the default client. +// * `$REMARK` is optional. If not present, the enclosing brackets `()` should be omitted. +// It can contain the following characters: `A-Za-z0-9\-_+;:!$%,.=?~ ` (includes the space character). +package useragent + +import ( + "encoding/json" + "errors" + "fmt" + "regexp" + "strings" + + "github.com/blang/semver" +) + +const ( + // IllegalChars are printable ascii characters forbidden from a user agent string. All other ascii or bytes are also forbidden. + IllegalChars = `<>&"'#@|{}` + "`" + // MaxLen the maximum length of a user agent + MaxLen = 256 + + // NamePattern is the regex pattern for the name portion of the user agent + NamePattern = `[A-Za-z0-9\-_+]+` + // VersionPattern is the regex pattern for the version portion of the user agent + VersionPattern = `[0-9]+\.[0-9]+\.[0-9][A-Za-z0-9\-.+]*` + // RemarkPattern is the regex pattern for the remark portion of the user agent + RemarkPattern = `[A-Za-z0-9\-_+;:!$%,.=?~ ]+` + + // Pattern is the regex pattern for the user agent in entirety + Pattern = `^(` + NamePattern + `):(` + VersionPattern + `)(\(` + RemarkPattern + `\))?$` +) + +var ( + illegalCharsSanitizeRe *regexp.Regexp + illegalCharsCheckRe *regexp.Regexp + re *regexp.Regexp + + // ErrIllegalChars user agent contains illegal characters + ErrIllegalChars = errors.New("User agent has invalid character(s)") + // ErrTooLong user agent exceeds a certain max length + ErrTooLong = errors.New("User agent is too long") + // ErrMalformed user agent does not match the user agent pattern + ErrMalformed = errors.New("User agent is malformed") + // ErrEmpty user agent is an empty string + ErrEmpty = errors.New("User agent is an empty string") +) + +func init() { + illegalCharsSanitizeRe = regexp.MustCompile(fmt.Sprintf("([^[:print:]]|[%s])+", IllegalChars)) + illegalCharsCheckRe = regexp.MustCompile(fmt.Sprintf("[^[:print:]]|[%s]", IllegalChars)) + re = regexp.MustCompile(Pattern) +} + +// Data holds parsed user agent data +type Data struct { + Coin string + Version string + Remark string +} + +// Empty returns true if the Data is empty +func (d Data) Empty() bool { + return d == (Data{}) +} + +// Build builds a user agent string. Returns an error if the user agent would be invalid. +func (d Data) Build() (string, error) { + if d.Coin == "" { + return "", errors.New("missing coin name") + } + if d.Version == "" { + return "", errors.New("missing version") + } + + _, err := semver.Parse(d.Version) + if err != nil { + return "", err + } + + s := d.build() + + if err := validate(s); err != nil { + return "", err + } + + d2, err := Parse(s) + if err != nil { + return "", fmt.Errorf("Built a user agent that fails to parse: %q %v", s, err) + } + + if d2 != d { + return "", errors.New("Built a user agent that does not parse to the original format") + } + + return s, nil +} + +// MustBuild calls Build and panics on error +func (d Data) MustBuild() string { + s, err := d.Build() + if err != nil { + panic(err) + } + return s +} + +func (d Data) build() string { + if d.Coin == "" || d.Version == "" { + return "" + } + + remark := d.Remark + if remark != "" { + remark = fmt.Sprintf("(%s)", remark) + } + + return fmt.Sprintf("%s:%s%s", d.Coin, d.Version, remark) +} + +// MarshalJSON marshals Data as JSON +func (d Data) MarshalJSON() ([]byte, error) { + return []byte(fmt.Sprintf(`"%s"`, d.build())), nil +} + +// UnmarshalJSON unmarshals []byte to Data +func (d *Data) UnmarshalJSON(v []byte) error { + var s string + if err := json.Unmarshal(v, &s); err != nil { + return err + } + + if s == "" { + return nil + } + + parsed, err := Parse(s) + if err != nil { + return err + } + + *d = parsed + return nil +} + +// Parse parses a user agent string to Data +func Parse(userAgent string) (Data, error) { + if len(userAgent) == 0 { + return Data{}, ErrEmpty + } + + if err := validate(userAgent); err != nil { + return Data{}, err + } + + subs := re.FindAllStringSubmatch(userAgent, -1) + + if len(subs) == 0 { + return Data{}, ErrMalformed + } + + m := subs[0] + + if m[0] != userAgent { + // This should not occur since the pattern has ^$ boundaries applied, but just in case + return Data{}, errors.New("User agent did not match pattern completely") + } + + coin := m[1] + version := m[2] + remark := m[3] + + if _, err := semver.Parse(version); err != nil { + return Data{}, fmt.Errorf("User agent version is not a valid semver: %v", err) + } + + remark = strings.TrimPrefix(remark, "(") + remark = strings.TrimSuffix(remark, ")") + + return Data{ + Coin: coin, + Version: version, + Remark: remark, + }, nil +} + +// MustParse parses and panics on error +func MustParse(userAgent string) Data { + d, err := Parse(userAgent) + if err != nil { + panic(err) + } + + return d +} + +// validate validates a user agent string. The user agent must not contain illegal characters. +func validate(userAgent string) error { + if len(userAgent) > MaxLen { + return ErrTooLong + } + + if illegalCharsCheckRe.MatchString(userAgent) { + return ErrIllegalChars + } + + return nil +} + +// Sanitize removes illegal characters from a user agent string +func Sanitize(userAgent string) string { + return illegalCharsSanitizeRe.ReplaceAllLiteralString(userAgent, "") +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockchain.go b/vendor/github.com/skycoin/skycoin/src/visor/blockchain.go new file mode 100644 index 00000000..ddf14a46 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockchain.go @@ -0,0 +1,852 @@ +package visor + +import ( + "bytes" + "errors" + "fmt" + "sync" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/fee" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +const ( + // DebugLevel1 checks for extremely unlikely conditions (10e-40) + DebugLevel1 = true + // DebugLevel2 enable checks for impossible conditions + DebugLevel2 = true +) + +var ( + // ErrVerifyStopped is returned when database verification is interrupted + ErrVerifyStopped = errors.New("database verification stopped") +) + +// ErrBlockNotExist may be returned if a block is not found +type ErrBlockNotExist struct { + Seq uint64 +} + +// NewErrBlockNotExist creates an ErrBlockNotExist based on an unknown block sequence +func NewErrBlockNotExist(seq uint64) ErrBlockNotExist { + return ErrBlockNotExist{ + Seq: seq, + } +} + +func (e ErrBlockNotExist) Error() string { + return fmt.Sprintf("block does not exist seq=%d", e.Seq) +} + +//Warning: 10e6 is 10 million, 1e6 is 1 million + +// Note: DebugLevel1 adds additional checks for hash collisions that +// are unlikely to occur. DebugLevel2 adds checks for conditions that +// can only occur through programmer error and malice. + +// Note: a droplet is the base coin unit. Each Skycoin is one million droplets + +//Termonology: +// UXTO - unspent transaction outputs +// UX - outputs10 +// TX - transactions + +//Notes: +// transactions (TX) consume outputs (UX) and produce new outputs (UX) +// Tx.Uxi() - set of outputs consumed by transaction +// Tx.Uxo() - set of outputs created by transaction + +// chainStore +type chainStore interface { + Head(*dbutil.Tx) (*coin.SignedBlock, error) + HeadSeq(*dbutil.Tx) (uint64, bool, error) + Len(*dbutil.Tx) (uint64, error) + AddBlock(*dbutil.Tx, *coin.SignedBlock) error + GetBlockByHash(*dbutil.Tx, cipher.SHA256) (*coin.Block, error) + GetSignedBlockByHash(*dbutil.Tx, cipher.SHA256) (*coin.SignedBlock, error) + GetSignedBlockBySeq(*dbutil.Tx, uint64) (*coin.SignedBlock, error) + UnspentPool() blockdb.UnspentPooler + GetGenesisBlock(*dbutil.Tx) (*coin.SignedBlock, error) + GetBlockSignature(*dbutil.Tx, *coin.Block) (cipher.Sig, bool, error) + ForEachBlock(*dbutil.Tx, func(*coin.Block) error) error +} + +// DefaultWalker default blockchain walker +func DefaultWalker(tx *dbutil.Tx, hps []coin.HashPair) (cipher.SHA256, bool) { + if len(hps) == 0 { + return cipher.SHA256{}, false + } + return hps[0].Hash, true +} + +// CreateBuckets creates the buckets used by the blockdb +func CreateBuckets(db *dbutil.DB) error { + return db.Update("CreateBuckets", func(tx *dbutil.Tx) error { + if err := historydb.CreateBuckets(tx); err != nil { + return err + } + + if err := blockdb.CreateBuckets(tx); err != nil { + return err + } + + return dbutil.CreateBuckets(tx, [][]byte{ + UnconfirmedTxnsBkt, + UnconfirmedUnspentsBkt, + }) + }) +} + +// BlockchainConfig configures Blockchain options +type BlockchainConfig struct { + // Arbitrating mode: if in arbitrating mode, when block publishing node execute blocks, + // the invalid transaction will be skipped and continue the next; otherwise, + // node will throw the error and return. + Arbitrating bool + Pubkey cipher.PubKey +} + +// Blockchain maintains blockchain and provides apis for accessing the chain. +type Blockchain struct { + db *dbutil.DB + cfg BlockchainConfig + store chainStore +} + +// NewBlockchain creates a Blockchain +func NewBlockchain(db *dbutil.DB, cfg BlockchainConfig) (*Blockchain, error) { + chainstore, err := blockdb.NewBlockchain(db, DefaultWalker) + if err != nil { + return nil, err + } + + return &Blockchain{ + cfg: cfg, + db: db, + store: chainstore, + }, nil +} + +// GetGenesisBlock returns genesis block +func (bc *Blockchain) GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return bc.store.GetGenesisBlock(tx) +} + +// GetSignedBlockByHash returns block of given hash +func (bc *Blockchain) GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) { + return bc.store.GetSignedBlockByHash(tx, hash) +} + +// GetSignedBlockBySeq returns block of given seq +func (bc *Blockchain) GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) { + return bc.store.GetSignedBlockBySeq(tx, seq) +} + +// Head returns the most recent confirmed block +func (bc Blockchain) Head(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return bc.store.Head(tx) +} + +// Unspent returns the unspent outputs pool +func (bc *Blockchain) Unspent() blockdb.UnspentPooler { + return bc.store.UnspentPool() +} + +// Len returns the length of current blockchain. +func (bc Blockchain) Len(tx *dbutil.Tx) (uint64, error) { + return bc.store.Len(tx) +} + +// HeadSeq returns the sequence of head block +func (bc *Blockchain) HeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + return bc.store.HeadSeq(tx) +} + +// Time returns time of last block +// used as system clock indepedent clock for coin hour calculations +// TODO: Deprecate +func (bc *Blockchain) Time(tx *dbutil.Tx) (uint64, error) { + b, err := bc.Head(tx) + if err != nil { + if err == blockdb.ErrNoHeadBlock { + return 0, nil + } + return 0, err + } + + return b.Time(), nil +} + +// NewBlock creates a Block given an array of Transactions. +// Only hard constraints are applied to transactions in the block. +// The caller of this function should apply any additional soft constraints, +// and choose which transactions to place into the block. +func (bc Blockchain) NewBlock(tx *dbutil.Tx, txns coin.Transactions, currentTime uint64) (*coin.Block, error) { + if len(txns) == 0 { + return nil, errors.New("No transactions") + } + + head, err := bc.store.Head(tx) + if err != nil { + return nil, err + } + + if currentTime <= head.Time() { + return nil, errors.New("Time can only move forward") + } + + txns, err = bc.processTransactions(tx, txns) + if err != nil { + return nil, err + } + + uxHash, err := bc.Unspent().GetUxHash(tx) + if err != nil { + return nil, err + } + + feeCalc := bc.TransactionFee(tx, head.Time()) + + b, err := coin.NewBlock(head.Block, currentTime, uxHash, txns, feeCalc) + if err != nil { + return nil, err + } + + // make sure block is valid + if DebugLevel2 { + if err := bc.verifyBlockHeader(tx, *b); err != nil { + return nil, err + } + txns, err := bc.processTransactions(tx, b.Body.Transactions) + if err != nil { + logger.Panicf("bc.processTransactions second verification call failed: %v", err) + } + b.Body.Transactions = txns + } + return b, nil +} + +func (bc *Blockchain) processBlock(tx *dbutil.Tx, b coin.SignedBlock) (coin.SignedBlock, error) { + length, err := bc.Len(tx) + if err != nil { + return coin.SignedBlock{}, err + } + + if length > 0 { + if isGenesis, err := bc.isGenesisBlock(tx, b.Block); err != nil { + return coin.SignedBlock{}, err + } else if isGenesis { + err := errors.New("Attempted to process genesis block after blockchain has genesis block") + logger.Warning(err.Error()) + return coin.SignedBlock{}, err + } else { + if err := bc.verifyBlockHeader(tx, b.Block); err != nil { + return coin.SignedBlock{}, err + } + + txns, err := bc.processTransactions(tx, b.Body.Transactions) + if err != nil { + return coin.SignedBlock{}, err + } + b.Body.Transactions = txns + + if err := bc.verifyUxHash(tx, b.Block); err != nil { + return coin.SignedBlock{}, err + } + + } + } + + return b, nil +} + +// ExecuteBlock attempts to append block to blockchain with *dbutil.Tx +func (bc *Blockchain) ExecuteBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error { + length, err := bc.Len(tx) + if err != nil { + return err + } + + if length > 0 { + head, err := bc.Head(tx) + if err != nil { + return err + } + + // TODO -- why do we modify the block here? + sb.Head.PrevHash = head.HashHeader() + } + + nb, err := bc.processBlock(tx, *sb) + if err != nil { + return err + } + + if err := bc.store.AddBlock(tx, &nb); err != nil { + return err + } + + return nil +} + +// VerifyBlock verifies specified block against current state of blockchain. +func (bc *Blockchain) VerifyBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error { + _, err := bc.processBlock(tx, *sb) + + return err +} + +// isGenesisBlock checks if the block is genesis block +func (bc Blockchain) isGenesisBlock(tx *dbutil.Tx, b coin.Block) (bool, error) { + gb, err := bc.store.GetGenesisBlock(tx) + if err != nil { + return false, err + } + if gb == nil { + return false, nil + } + + return gb.HashHeader() == b.HashHeader(), nil +} + +// Compares the state of the current UxHash hash to state of unspent +// output pool. +func (bc Blockchain) verifyUxHash(tx *dbutil.Tx, b coin.Block) error { + uxHash, err := bc.Unspent().GetUxHash(tx) + if err != nil { + return err + } + + if !bytes.Equal(b.Head.UxHash[:], uxHash[:]) { + return errors.New("UxHash does not match") + } + + return nil +} + +// VerifyBlockTxnConstraints checks that the transaction does not violate hard constraints, +// for transactions that are already included in a block. +func (bc Blockchain) VerifyBlockTxnConstraints(tx *dbutil.Tx, txn coin.Transaction) error { + // NOTE: Unspent().GetArray() returns an error if not all txn.In can be found + // This prevents double spends + uxIn, err := bc.Unspent().GetArray(tx, txn.In) + if err != nil { + switch err.(type) { + case blockdb.ErrUnspentNotExist: + return NewErrTxnViolatesHardConstraint(err) + default: + return err + } + } + + head, err := bc.Head(tx) + if err != nil { + return err + } + + return bc.verifyBlockTxnHardConstraints(tx, txn, head, uxIn) +} + +func (bc Blockchain) verifyBlockTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction, head *coin.SignedBlock, uxIn coin.UxArray) error { + if err := VerifyBlockTxnConstraints(txn, head.Head, uxIn); err != nil { + return err + } + + if DebugLevel1 { + // Check that new unspents don't collide with existing. + // This should not occur but is a sanity check. + // NOTE: this is not in the top-level VerifyBlockTxnConstraints + // because it relies on the unspent pool to check for existence. + // For remote callers such as the CLI, they'd need to download the whole + // unspent pool or make a separate API call to check for duplicate unspents. + uxOuts := coin.CreateUnspents(head.Head, txn) + for i := range uxOuts { + if contains, err := bc.Unspent().Contains(tx, uxOuts[i].Hash()); err != nil { + return err + } else if contains { + err := errors.New("New unspent collides with existing unspent") + return NewErrTxnViolatesHardConstraint(err) + } + } + } + + return nil +} + +// VerifySingleTxnHardConstraints checks that the transaction does not violate hard constraints. +// for transactions that are not included in a block. +func (bc Blockchain) VerifySingleTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction, signed TxnSignedFlag) error { + // NOTE: Unspent().GetArray() returns an error if not all txn.In can be found + // This prevents double spends + uxIn, err := bc.Unspent().GetArray(tx, txn.In) + if err != nil { + switch err.(type) { + case blockdb.ErrUnspentNotExist: + return NewErrTxnViolatesHardConstraint(err) + default: + return err + } + } + + head, err := bc.Head(tx) + if err != nil { + return err + } + + return bc.verifySingleTxnHardConstraints(tx, txn, head, uxIn, signed) +} + +// VerifySingleTxnSoftHardConstraints checks that the transaction does not violate hard or soft constraints, +// for transactions that are not included in a block. +// Hard constraints are checked before soft constraints. +func (bc Blockchain) VerifySingleTxnSoftHardConstraints(tx *dbutil.Tx, txn coin.Transaction, distParams params.Distribution, verifyParams params.VerifyTxn, signed TxnSignedFlag) (*coin.SignedBlock, coin.UxArray, error) { + // NOTE: Unspent().GetArray() returns an error if not all txn.In can be found + // This prevents double spends + uxIn, err := bc.Unspent().GetArray(tx, txn.In) + if err != nil { + return nil, nil, NewErrTxnViolatesHardConstraint(err) + } + + head, err := bc.Head(tx) + if err != nil { + return nil, nil, err + } + + // Hard constraints must be checked before soft constraints + if err := bc.verifySingleTxnHardConstraints(tx, txn, head, uxIn, signed); err != nil { + return nil, nil, err + } + + if err := VerifySingleTxnSoftConstraints(txn, head.Time(), uxIn, distParams, verifyParams); err != nil { + return nil, nil, err + } + + return head, uxIn, nil +} + +func (bc Blockchain) verifySingleTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction, head *coin.SignedBlock, uxIn coin.UxArray, signed TxnSignedFlag) error { + if err := VerifySingleTxnHardConstraints(txn, head.Head, uxIn, signed); err != nil { + return err + } + + if DebugLevel1 { + // Check that new unspents don't collide with existing. + // This should not occur but is a sanity check. + // NOTE: this is not in the top-level VerifySingleTxnHardConstraints + // because it relies on the unspent pool to check for existence. + // For remote callers such as the CLI, they'd need to download the whole + // unspent pool or make a separate API call to check for duplicate unspents. + uxOuts := coin.CreateUnspents(head.Head, txn) + for i := range uxOuts { + if contains, err := bc.Unspent().Contains(tx, uxOuts[i].Hash()); err != nil { + return err + } else if contains { + err := errors.New("New unspent collides with existing unspent") + return NewErrTxnViolatesHardConstraint(err) + } + } + } + + return nil +} + +// GetBlocks returns blocks matching seqs. If any block is not found, returns an error. +func (bc Blockchain) GetBlocks(tx *dbutil.Tx, seqs []uint64) ([]coin.SignedBlock, error) { + blocks := make([]coin.SignedBlock, len(seqs)) + + for i, s := range seqs { + b, err := bc.store.GetSignedBlockBySeq(tx, s) + if err != nil { + return nil, err + } + + if b == nil { + return nil, NewErrBlockNotExist(s) + } + + blocks[i] = *b + } + + return blocks, nil +} + +// GetBlocksInRange return blocks whose seq are in the range of start and end. +func (bc Blockchain) GetBlocksInRange(tx *dbutil.Tx, start, end uint64) ([]coin.SignedBlock, error) { + if start > end { + return nil, nil + } + + var blocks []coin.SignedBlock + for i := start; i <= end; i++ { + b, err := bc.store.GetSignedBlockBySeq(tx, i) + if err != nil { + logger.WithError(err).Error("bc.store.GetSignedBlockBySeq failed") + return nil, err + } + + if b == nil { + break + } + + blocks = append(blocks, *b) + } + + return blocks, nil +} + +// GetLastBlocks return the latest N blocks. +func (bc Blockchain) GetLastBlocks(tx *dbutil.Tx, num uint64) ([]coin.SignedBlock, error) { + if num == 0 { + return nil, nil + } + + end, ok, err := bc.HeadSeq(tx) + if err != nil { + return nil, err + } + if !ok { + return nil, nil + } + + start := int(end-num) + 1 + if start < 0 { + start = 0 + } + + return bc.GetBlocksInRange(tx, uint64(start), end) +} + +/* Private */ + +// Validates a set of Transactions, individually, against each other and +// against the Blockchain. If firstFail is true, it will return an error +// as soon as it encounters one. Else, it will return an array of +// Transactions that are valid as a whole. It may return an error if +// firstFalse is false, if there is no way to filter the txns into a valid +// array, i.e. processTransactions(processTransactions(txn, false), true) +// should not result in an error, unless all txns are invalid. +// TODO: +// - move arbitration to visor +// - blockchain should have strict checking +func (bc Blockchain) processTransactions(tx *dbutil.Tx, txs coin.Transactions) (coin.Transactions, error) { + // copy txs so that the following code won't modify the original txns + txns := make(coin.Transactions, len(txs)) + copy(txns, txs) + + head, err := bc.store.Head(tx) + if err != nil { + return nil, err + } + + // Transactions need to be sorted by fee and hash before arbitrating + if bc.cfg.Arbitrating { + txns, err = coin.SortTransactions(txns, bc.TransactionFee(tx, head.Time())) + if err != nil { + logger.Critical().WithError(err).Error("processTransactions: coin.SortTransactions failed") + return nil, err + } + } + + //TODO: audit + if len(txns) == 0 { + if bc.cfg.Arbitrating { + return txns, nil + } + + // If there are no transactions, a block should not be made + return nil, errors.New("No transactions") + } + + skip := make(map[int]struct{}) + uxHashes := make(coin.UxHashSet, len(txns)) + for i, txn := range txns { + // Check the transaction against itself. This covers the hash, + // signature indices and duplicate spends within itself + if err := bc.VerifyBlockTxnConstraints(tx, txn); err != nil { + switch err.(type) { + case ErrTxnViolatesSoftConstraint: + logger.Critical().WithError(err).Panic("bc.VerifyBlockTxnConstraints should not return a ErrTxnViolatesSoftConstraint error") + case ErrTxnViolatesHardConstraint: + if bc.cfg.Arbitrating { + skip[i] = struct{}{} + continue + } + } + + return nil, err + } + + // Check that each pending unspent will be unique + uxb := coin.UxBody{ + SrcTransaction: txn.Hash(), + } + + for _, to := range txn.Out { + uxb.Coins = to.Coins + uxb.Hours = to.Hours + uxb.Address = to.Address + + h := uxb.Hash() + _, exists := uxHashes[h] + if exists { + if bc.cfg.Arbitrating { + skip[i] = struct{}{} + continue + } else { + return nil, errors.New("Duplicate unspent output across transactions") + } + } + + if DebugLevel1 { + // Check that the expected unspent is not already in the pool. + // This should never happen because its a hash collision + if contains, err := bc.Unspent().Contains(tx, h); err != nil { + return nil, err + } else if contains { + if bc.cfg.Arbitrating { + skip[i] = struct{}{} + continue + } else { + return nil, errors.New("Output hash is in the UnspentPool") + } + } + } + + uxHashes[h] = struct{}{} + } + } + + // Filter invalid transactions before arbitrating between colliding ones + if len(skip) > 0 { + newtxns := make(coin.Transactions, len(txns)-len(skip)) + j := 0 + for i := range txns { + if _, shouldSkip := skip[i]; !shouldSkip { + newtxns[j] = txns[i] + j++ + } + } + txns = newtxns + skip = make(map[int]struct{}) + } + + // Check to ensure that there are no duplicate spends in the entire block, + // and that we aren't creating duplicate outputs. Duplicate outputs + // within a single Transaction are already checked by VerifyBlockTxnConstraints + hashes := txns.Hashes() + for i := 0; i < len(txns)-1; i++ { + s := txns[i] + for j := i + 1; j < len(txns); j++ { + t := txns[j] + if DebugLevel1 { + if hashes[i] == hashes[j] { + // This is a non-recoverable error for filtering, and + // should never occur. It indicates a hash collision + // amongst different txns. Duplicate transactions are + // caught earlier, when duplicate expected outputs are + // checked for, and will not trigger this. + return nil, errors.New("Unexpected duplicate transaction") + } + } + for a := range s.In { + for b := range t.In { + if s.In[a] == t.In[b] { + if bc.cfg.Arbitrating { + // The txn with the highest fee and lowest hash + // is chosen when attempting a double spend. + // Since the txns are sorted, we skip the 2nd + // iterable + skip[j] = struct{}{} + } else { + return nil, errors.New("Cannot spend output twice in the same block") + } + } + } + } + } + } + + // Filter the final results, if necessary + if len(skip) > 0 { + newtxns := make(coin.Transactions, 0, len(txns)-len(skip)) + for i := range txns { + if _, shouldSkip := skip[i]; !shouldSkip { + newtxns = append(newtxns, txns[i]) + } + } + return newtxns, nil + } + + return txns, nil +} + +// TransactionFee calculates the current transaction fee in coinhours of a Transaction +func (bc Blockchain) TransactionFee(tx *dbutil.Tx, headTime uint64) coin.FeeCalculator { + return func(txn *coin.Transaction) (uint64, error) { + inUxs, err := bc.Unspent().GetArray(tx, txn.In) + if err != nil { + return 0, err + } + + return fee.TransactionFee(txn, headTime, inUxs) + } +} + +// VerifySignature checks that BlockSigs state correspond with coin.Blockchain state +// and that all signatures are valid. +func (bc *Blockchain) VerifySignature(block *coin.SignedBlock) error { + err := block.VerifySignature(bc.cfg.Pubkey) + if err != nil { + logger.Errorf("Blockchain signature verification failed for block %d: %v", block.Head.BkSeq, err) + } + return err +} + +// WalkChain walk through the blockchain concurrently +// The quit channel is optional and if closed, this method still stop. +func (bc *Blockchain) WalkChain(workers int, f func(*dbutil.Tx, *coin.SignedBlock) error, quit chan struct{}) error { + if quit == nil { + quit = make(chan struct{}) + } + + signedBlockC := make(chan *coin.SignedBlock, 100) + errC := make(chan error, 100) + interrupt := make(chan struct{}) + verifyDone := make(chan struct{}) + + // Verify block signatures in a worker pool + var workerWg sync.WaitGroup + workerWg.Add(workers) + for i := 0; i < workers; i++ { + go func() { + defer workerWg.Done() + if err := bc.db.View("WalkChain verify blocks", func(tx *dbutil.Tx) error { + for b := range signedBlockC { + if err := f(tx, b); err != nil { + // if err := cipher.VerifyPubKeySignedHash(bc.cfg.Pubkey, sh.sig, sh.hash); err != nil { + // logger.Errorf("Signature verification failed: %v", err) + select { + case errC <- err: + default: + } + } + } + return nil + }); err != nil { + logger.WithError(err).Error("WalkChain verify blocks db transaction failed") + } + }() + } + + // Wait for verification worker goroutines to finish + var wg sync.WaitGroup + wg.Add(1) + go func() { + defer wg.Done() + workerWg.Wait() + close(verifyDone) + }() + + // Iterate all blocks stored in the "blocks" bucket + // * Detect if a corresponding signature is missing from the signatures bucket + // * Verify the signature for the block + wg.Add(1) + go func() { + if err := bc.db.View("WalkChain get blocks", func(tx *dbutil.Tx) error { + if length, err := bc.Len(tx); err != nil { + return err + } else if length == 0 { + return nil + } + defer wg.Done() + defer close(signedBlockC) + + errInterrupted := errors.New("goroutine was stopped") + + if err := bc.store.ForEachBlock(tx, func(block *coin.Block) error { + sig, ok, err := bc.store.GetBlockSignature(tx, block) + if err != nil { + return err + } + if !ok { + return blockdb.NewErrMissingSignature(block) + } + + signedBlock := &coin.SignedBlock{ + Sig: sig, + Block: *block, + } + + select { + case signedBlockC <- signedBlock: + return nil + case <-quit: + return errInterrupted + case <-interrupt: + return errInterrupted + } + }); err != nil && err != errInterrupted { + switch err.(type) { + case blockdb.ErrMissingSignature: + default: + logger.Errorf("bc.store.ForEachBlock failed: %v", err) + } + select { + case errC <- err: + default: + } + } + return nil + }); err != nil { + logger.WithError(err).Error("WalkChain get blocks db transaction failed") + } + }() + + var err error + select { + case err = <-errC: + if err != nil { + break + } + case <-quit: + err = ErrVerifyStopped + break + case <-verifyDone: + break + } + + close(interrupt) + wg.Wait() + return err +} + +// VerifyBlockHeader Returns error if the BlockHeader is not valid +func (bc Blockchain) verifyBlockHeader(tx *dbutil.Tx, b coin.Block) error { + head, err := bc.Head(tx) + if err != nil { + return err + } + + //check BkSeq + if b.Head.BkSeq != head.Head.BkSeq+1 { + return errors.New("BkSeq invalid") + } + //check Time, only requirement is that its monotonely increasing + if b.Head.Time <= head.Head.Time { + return errors.New("Block time must be > head time") + } + // Check block hash against previous head + if b.Head.PrevHash != head.HashHeader() { + return errors.New("PrevHash does not match current head") + } + + if b.Body.Hash() != b.Head.BodyHash { + return errors.New("Computed body hash does not match") + } + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_skyencoder.go new file mode 100644 index 00000000..b1a77bca --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_skyencoder.go @@ -0,0 +1,513 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package blockdb + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeBlock computes the size of an encoded object of type Block +func encodeSizeBlock(obj *coin.Block) uint64 { + i0 := uint64(0) + + // obj.Head.Version + i0 += 4 + + // obj.Head.Time + i0 += 8 + + // obj.Head.BkSeq + i0 += 8 + + // obj.Head.Fee + i0 += 8 + + // obj.Head.PrevHash + i0 += 32 + + // obj.Head.BodyHash + i0 += 32 + + // obj.Head.UxHash + i0 += 32 + + // obj.Body.Transactions + i0 += 4 + for _, x1 := range obj.Body.Transactions { + i1 := uint64(0) + + // x1.Length + i1 += 4 + + // x1.Type + i1++ + + // x1.InnerHash + i1 += 32 + + // x1.Sigs + i1 += 4 + { + i2 := uint64(0) + + // x2 + i2 += 65 + + i1 += uint64(len(x1.Sigs)) * i2 + } + + // x1.In + i1 += 4 + { + i2 := uint64(0) + + // x2 + i2 += 32 + + i1 += uint64(len(x1.In)) * i2 + } + + // x1.Out + i1 += 4 + { + i2 := uint64(0) + + // x2.Address.Version + i2++ + + // x2.Address.Key + i2 += 20 + + // x2.Coins + i2 += 8 + + // x2.Hours + i2 += 8 + + i1 += uint64(len(x1.Out)) * i2 + } + + i0 += i1 + } + + return i0 +} + +// encodeBlock encodes an object of type Block to a buffer allocated to the exact size +// required to encode the object. +func encodeBlock(obj *coin.Block) ([]byte, error) { + n := encodeSizeBlock(obj) + buf := make([]byte, n) + + if err := encodeBlockToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeBlockToBuffer encodes an object of type Block to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeBlockToBuffer(buf []byte, obj *coin.Block) error { + if uint64(len(buf)) < encodeSizeBlock(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Head.Version + e.Uint32(obj.Head.Version) + + // obj.Head.Time + e.Uint64(obj.Head.Time) + + // obj.Head.BkSeq + e.Uint64(obj.Head.BkSeq) + + // obj.Head.Fee + e.Uint64(obj.Head.Fee) + + // obj.Head.PrevHash + e.CopyBytes(obj.Head.PrevHash[:]) + + // obj.Head.BodyHash + e.CopyBytes(obj.Head.BodyHash[:]) + + // obj.Head.UxHash + e.CopyBytes(obj.Head.UxHash[:]) + + // obj.Body.Transactions maxlen check + if len(obj.Body.Transactions) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Body.Transactions length check + if uint64(len(obj.Body.Transactions)) > math.MaxUint32 { + return errors.New("obj.Body.Transactions length exceeds math.MaxUint32") + } + + // obj.Body.Transactions length + e.Uint32(uint32(len(obj.Body.Transactions))) + + // obj.Body.Transactions + for _, x := range obj.Body.Transactions { + + // x.Length + e.Uint32(x.Length) + + // x.Type + e.Uint8(x.Type) + + // x.InnerHash + e.CopyBytes(x.InnerHash[:]) + + // x.Sigs maxlen check + if len(x.Sigs) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Sigs length check + if uint64(len(x.Sigs)) > math.MaxUint32 { + return errors.New("x.Sigs length exceeds math.MaxUint32") + } + + // x.Sigs length + e.Uint32(uint32(len(x.Sigs))) + + // x.Sigs + for _, x := range x.Sigs { + + // x + e.CopyBytes(x[:]) + + } + + // x.In maxlen check + if len(x.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.In length check + if uint64(len(x.In)) > math.MaxUint32 { + return errors.New("x.In length exceeds math.MaxUint32") + } + + // x.In length + e.Uint32(uint32(len(x.In))) + + // x.In + for _, x := range x.In { + + // x + e.CopyBytes(x[:]) + + } + + // x.Out maxlen check + if len(x.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // x.Out length check + if uint64(len(x.Out)) > math.MaxUint32 { + return errors.New("x.Out length exceeds math.MaxUint32") + } + + // x.Out length + e.Uint32(uint32(len(x.Out))) + + // x.Out + for _, x := range x.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + } + + return nil +} + +// decodeBlock decodes an object of type Block from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeBlock(buf []byte, obj *coin.Block) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Head.Version + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Head.Version = i + } + + { + // obj.Head.Time + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Head.Time = i + } + + { + // obj.Head.BkSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Head.BkSeq = i + } + + { + // obj.Head.Fee + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Head.Fee = i + } + + { + // obj.Head.PrevHash + if len(d.Buffer) < len(obj.Head.PrevHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Head.PrevHash[:], d.Buffer[:len(obj.Head.PrevHash)]) + d.Buffer = d.Buffer[len(obj.Head.PrevHash):] + } + + { + // obj.Head.BodyHash + if len(d.Buffer) < len(obj.Head.BodyHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Head.BodyHash[:], d.Buffer[:len(obj.Head.BodyHash)]) + d.Buffer = d.Buffer[len(obj.Head.BodyHash):] + } + + { + // obj.Head.UxHash + if len(d.Buffer) < len(obj.Head.UxHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Head.UxHash[:], d.Buffer[:len(obj.Head.UxHash)]) + d.Buffer = d.Buffer[len(obj.Head.UxHash):] + } + + { + // obj.Body.Transactions + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Body.Transactions = make([]coin.Transaction, length) + + for z2 := range obj.Body.Transactions { + { + // obj.Body.Transactions[z2].Length + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Body.Transactions[z2].Length = i + } + + { + // obj.Body.Transactions[z2].Type + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Body.Transactions[z2].Type = i + } + + { + // obj.Body.Transactions[z2].InnerHash + if len(d.Buffer) < len(obj.Body.Transactions[z2].InnerHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Body.Transactions[z2].InnerHash[:], d.Buffer[:len(obj.Body.Transactions[z2].InnerHash)]) + d.Buffer = d.Buffer[len(obj.Body.Transactions[z2].InnerHash):] + } + + { + // obj.Body.Transactions[z2].Sigs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Body.Transactions[z2].Sigs = make([]cipher.Sig, length) + + for z4 := range obj.Body.Transactions[z2].Sigs { + { + // obj.Body.Transactions[z2].Sigs[z4] + if len(d.Buffer) < len(obj.Body.Transactions[z2].Sigs[z4]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Body.Transactions[z2].Sigs[z4][:], d.Buffer[:len(obj.Body.Transactions[z2].Sigs[z4])]) + d.Buffer = d.Buffer[len(obj.Body.Transactions[z2].Sigs[z4]):] + } + + } + } + } + + { + // obj.Body.Transactions[z2].In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Body.Transactions[z2].In = make([]cipher.SHA256, length) + + for z4 := range obj.Body.Transactions[z2].In { + { + // obj.Body.Transactions[z2].In[z4] + if len(d.Buffer) < len(obj.Body.Transactions[z2].In[z4]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Body.Transactions[z2].In[z4][:], d.Buffer[:len(obj.Body.Transactions[z2].In[z4])]) + d.Buffer = d.Buffer[len(obj.Body.Transactions[z2].In[z4]):] + } + + } + } + } + + { + // obj.Body.Transactions[z2].Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Body.Transactions[z2].Out = make([]coin.TransactionOutput, length) + + for z4 := range obj.Body.Transactions[z2].Out { + { + // obj.Body.Transactions[z2].Out[z4].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Body.Transactions[z2].Out[z4].Address.Version = i + } + + { + // obj.Body.Transactions[z2].Out[z4].Address.Key + if len(d.Buffer) < len(obj.Body.Transactions[z2].Out[z4].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Body.Transactions[z2].Out[z4].Address.Key[:], d.Buffer[:len(obj.Body.Transactions[z2].Out[z4].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Body.Transactions[z2].Out[z4].Address.Key):] + } + + { + // obj.Body.Transactions[z2].Out[z4].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Body.Transactions[z2].Out[z4].Coins = i + } + + { + // obj.Body.Transactions[z2].Out[z4].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Body.Transactions[z2].Out[z4].Hours = i + } + + } + } + } + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeBlockExact decodes an object of type Block from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeBlockExact(buf []byte, obj *coin.Block) error { + if n, err := decodeBlock(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree.go new file mode 100644 index 00000000..a7b315e0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/block_tree.go @@ -0,0 +1,269 @@ +package blockdb + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + errBlockExist = errors.New("block already exists") + errNoParent = errors.New("block is not genesis and has no parent") + errWrongParent = errors.New("wrong parent") + errHasChild = errors.New("remove block failed, it has children") + + // BlocksBkt holds coin.Blocks + BlocksBkt = []byte("blocks") + // TreeBkt maps block height to a (prev, hash) pair for a block + TreeBkt = []byte("block_tree") +) + +// Walker function for go through blockchain +type Walker func(*dbutil.Tx, []coin.HashPair) (cipher.SHA256, bool) + +// blockTree use the blockdb store all blocks and maintains the block tree struct. +type blockTree struct{} + +// AddBlock adds block with *dbutil.Tx +func (bt *blockTree) AddBlock(tx *dbutil.Tx, b *coin.Block) error { + // can't store block if it's not genesis block and has no parent. + if b.Seq() > 0 && b.Head.PrevHash.Null() { + return errNoParent + } + + // check if the block already exists. + hash := b.HashHeader() + if ok, err := dbutil.BucketHasKey(tx, BlocksBkt, hash[:]); err != nil { + return err + } else if ok { + return errBlockExist + } + + // write block into blocks bucket. + buf, err := encodeBlock(b) + if err != nil { + return err + } + + if err := dbutil.PutBucketValue(tx, BlocksBkt, hash[:], buf); err != nil { + return err + } + + // the pre hash must be in depth - 1. + if b.Seq() > 0 { + parentHashPair, err := getHashPairInDepth(tx, b.Seq()-1, func(hp coin.HashPair) bool { + return hp.Hash == b.Head.PrevHash + }) + if err != nil { + return err + } + if len(parentHashPair) == 0 { + return errWrongParent + } + } + + hp := coin.HashPair{ + Hash: hash, + PrevHash: b.Head.PrevHash, + } + + // get block pairs in the depth + hashPairs, err := getHashPairInDepth(tx, b.Seq(), allPairs) + if err != nil { + return err + } + + if len(hashPairs) == 0 { + // no hash pair exist in the depth. + // write the hash pair into tree. + return setHashPairInDepth(tx, b.Seq(), []coin.HashPair{hp}) + } + + // check dup block + if containHash(hashPairs, hp) { + return errBlockExist + } + + hashPairs = append(hashPairs, hp) + return setHashPairInDepth(tx, b.Seq(), hashPairs) +} + +// RemoveBlock remove block from blocks bucket and tree bucket. +// can't remove block if it has children. +func (bt *blockTree) RemoveBlock(tx *dbutil.Tx, b *coin.Block) error { + // delete block in blocks bucket. + hash := b.HashHeader() + if err := dbutil.Delete(tx, BlocksBkt, hash[:]); err != nil { + return err + } + + // check if this block has children + if has, err := hasChild(tx, *b); err != nil { + return err + } else if has { + return errHasChild + } + + // get block hash pairs in depth + hashPairs, err := getHashPairInDepth(tx, b.Seq(), allPairs) + if err != nil { + return err + } + + // remove block hash pair in tree. + ps := removePairs(hashPairs, coin.HashPair{ + Hash: hash, + PrevHash: b.Head.PrevHash, + }) + + if len(ps) == 0 { + return dbutil.Delete(tx, TreeBkt, dbutil.Itob(b.Seq())) + } + + // update the hash pairs in tree. + return setHashPairInDepth(tx, b.Seq(), ps) +} + +// GetBlock get block by hash, return nil on not found +func (bt *blockTree) GetBlock(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + var b coin.Block + + v, err := dbutil.GetBucketValueNoCopy(tx, BlocksBkt, hash[:]) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + if err := decodeBlockExact(v, &b); err != nil { + return nil, err + } + + if hash != b.HashHeader() { + return nil, fmt.Errorf("DB key %s does not match block hash header %s", hash, b.HashHeader()) + } + + return &b, nil +} + +// GetBlockInDepth get block in depth, return nil on not found, +// the filter is used to choose the appropriate block. +func (bt *blockTree) GetBlockInDepth(tx *dbutil.Tx, depth uint64, filter Walker) (*coin.Block, error) { + hash, ok, err := bt.getHashInDepth(tx, depth, filter) + if err != nil { + return nil, fmt.Errorf("BlockTree.getHashInDepth failed: %v", err) + } else if !ok { + return nil, nil + } + + return bt.GetBlock(tx, hash) +} + +// ForEachBlock iterates all blocks and calls f on them +func (bt *blockTree) ForEachBlock(tx *dbutil.Tx, f func(b *coin.Block) error) error { + return dbutil.ForEach(tx, BlocksBkt, func(_, v []byte) error { + var b coin.Block + if err := decodeBlockExact(v, &b); err != nil { + return err + } + + return f(&b) + }) +} + +func (bt *blockTree) getHashInDepth(tx *dbutil.Tx, depth uint64, filter Walker) (cipher.SHA256, bool, error) { + var pairs hashPairsWrapper + + v, err := dbutil.GetBucketValueNoCopy(tx, TreeBkt, dbutil.Itob(depth)) + if err != nil { + return cipher.SHA256{}, false, err + } else if v == nil { + return cipher.SHA256{}, false, nil + } + + if err := decodeHashPairsWrapperExact(v, &pairs); err != nil { + return cipher.SHA256{}, false, err + } + + hash, ok := filter(tx, pairs.HashPairs) + if !ok { + return cipher.SHA256{}, false, errors.New("No hash found in depth") + } + + return hash, true, nil +} + +func containHash(hashPairs []coin.HashPair, pair coin.HashPair) bool { + for _, p := range hashPairs { + if p.Hash == pair.Hash { + return true + } + } + return false +} + +func removePairs(hps []coin.HashPair, pair coin.HashPair) []coin.HashPair { + pairs := []coin.HashPair{} + for _, p := range hps { + if p.Hash == pair.Hash && p.PrevHash == pair.PrevHash { + continue + } + pairs = append(pairs, p) + } + return pairs +} + +func getHashPairInDepth(tx *dbutil.Tx, depth uint64, fn func(hp coin.HashPair) bool) ([]coin.HashPair, error) { + var hps hashPairsWrapper + + v, err := dbutil.GetBucketValueNoCopy(tx, TreeBkt, dbutil.Itob(depth)) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + if err := decodeHashPairsWrapperExact(v, &hps); err != nil { + return nil, err + } + + var pairs []coin.HashPair + for _, ps := range hps.HashPairs { + if fn(ps) { + pairs = append(pairs, ps) + } + } + return pairs, nil +} + +// check if this block has children +func hasChild(tx *dbutil.Tx, b coin.Block) (bool, error) { + // get the child block hash pair, whose pre hash point to current block. + childHashPair, err := getHashPairInDepth(tx, b.Head.BkSeq+1, func(hp coin.HashPair) bool { + return hp.PrevHash == b.HashHeader() + }) + + if err != nil { + return false, err + } + + return len(childHashPair) > 0, nil +} + +func setHashPairInDepth(tx *dbutil.Tx, depth uint64, hps []coin.HashPair) error { + buf, err := encodeHashPairsWrapper(&hashPairsWrapper{ + HashPairs: hps, + }) + if err != nil { + return err + } + + return dbutil.PutBucketValue(tx, TreeBkt, dbutil.Itob(depth), buf) +} + +func allPairs(hp coin.HashPair) bool { + return true +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain.go new file mode 100644 index 00000000..f5e5e524 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blockchain.go @@ -0,0 +1,285 @@ +/* +Package blockdb is the core blockchain database wrapper +*/ +package blockdb + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + logger = logging.MustGetLogger("blockdb") + + // ErrNoHeadBlock is returned when calling Blockchain.Head() when no head block exists + ErrNoHeadBlock = fmt.Errorf("found no head block") +) + +//go:generate skyencoder -unexported -struct Block -output-path . -package blockdb github.com/skycoin/skycoin/src/coin +//go:generate skyencoder -unexported -struct UxOut -output-path . -package blockdb github.com/skycoin/skycoin/src/coin +//go:generate skyencoder -unexported -struct hashPairsWrapper +//go:generate skyencoder -unexported -struct hashesWrapper +//go:generate skyencoder -unexported -struct sigWrapper + +// hashesWrapper wraps []cipher.SHA256 so it can be used by skyencoder +type hashesWrapper struct { + Hashes []cipher.SHA256 +} + +// sigWrapper wraps cipher.Sig in struct so it can be used by skyencoder +type sigWrapper struct { + Sig cipher.Sig +} + +// hashPairsWrapper wraps []coin.HashPair so it can be used by skyencoder +type hashPairsWrapper struct { + HashPairs []coin.HashPair +} + +// ErrMissingSignature is returned if a block in the db does not have a corresponding signature in the db +type ErrMissingSignature struct { + b *coin.Block +} + +// NewErrMissingSignature creates ErrMissingSignature from *coin.Block +func NewErrMissingSignature(b *coin.Block) error { + return ErrMissingSignature{ + b: b, + } +} + +func (e ErrMissingSignature) Error() string { + return fmt.Sprintf("Signature not found for block seq=%d hash=%s", e.b.Head.BkSeq, e.b.HashHeader().Hex()) +} + +// CreateBuckets creates bolt.DB buckets used by the blockdb +func CreateBuckets(tx *dbutil.Tx) error { + return dbutil.CreateBuckets(tx, [][]byte{ + BlockSigsBkt, + BlocksBkt, + TreeBkt, + BlockchainMetaBkt, + UnspentPoolBkt, + UnspentPoolAddrIndexBkt, + UnspentMetaBkt, + }) +} + +// BlockTree block storage +type BlockTree interface { + AddBlock(*dbutil.Tx, *coin.Block) error + GetBlock(*dbutil.Tx, cipher.SHA256) (*coin.Block, error) + GetBlockInDepth(*dbutil.Tx, uint64, Walker) (*coin.Block, error) + ForEachBlock(*dbutil.Tx, func(*coin.Block) error) error +} + +// BlockSigs block signature storage +type BlockSigs interface { + Add(*dbutil.Tx, cipher.SHA256, cipher.Sig) error + Get(*dbutil.Tx, cipher.SHA256) (cipher.Sig, bool, error) + ForEach(*dbutil.Tx, func(cipher.SHA256, cipher.Sig) error) error +} + +//go:generate mockery -name UnspentPooler -case underscore -testonly -inpkg + +// UnspentPooler unspent outputs pool +type UnspentPooler interface { + MaybeBuildIndexes(*dbutil.Tx, uint64) error + Len(*dbutil.Tx) (uint64, error) + Contains(*dbutil.Tx, cipher.SHA256) (bool, error) + Get(*dbutil.Tx, cipher.SHA256) (*coin.UxOut, error) + GetAll(*dbutil.Tx) (coin.UxArray, error) + GetArray(*dbutil.Tx, []cipher.SHA256) (coin.UxArray, error) + GetUxHash(*dbutil.Tx) (cipher.SHA256, error) + GetUnspentsOfAddrs(*dbutil.Tx, []cipher.Address) (coin.AddressUxOuts, error) + GetUnspentHashesOfAddrs(*dbutil.Tx, []cipher.Address) (AddressHashes, error) + ProcessBlock(*dbutil.Tx, *coin.SignedBlock) error + AddressCount(*dbutil.Tx) (uint64, error) +} + +// ChainMeta blockchain metadata +type ChainMeta interface { + GetHeadSeq(*dbutil.Tx) (uint64, bool, error) + SetHeadSeq(*dbutil.Tx, uint64) error +} + +// Blockchain maintain the buckets for blockchain +type Blockchain struct { + db *dbutil.DB + meta ChainMeta + unspent UnspentPooler + tree BlockTree + sigs BlockSigs + walker Walker +} + +// NewBlockchain creates a new blockchain instance +func NewBlockchain(db *dbutil.DB, walker Walker) (*Blockchain, error) { + if db == nil { + return nil, errors.New("db is nil") + } + + if walker == nil { + return nil, errors.New("blockchain walker is nil") + } + + return &Blockchain{ + db: db, + unspent: NewUnspentPool(), + meta: &chainMeta{}, + tree: &blockTree{}, + sigs: &blockSigs{}, + walker: walker, + }, nil +} + +// UnspentPool returns the unspent pool +func (bc *Blockchain) UnspentPool() UnspentPooler { + return bc.unspent +} + +// AddBlock adds signed block +func (bc *Blockchain) AddBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error { + if err := bc.sigs.Add(tx, sb.HashHeader(), sb.Sig); err != nil { + return fmt.Errorf("save signature failed: %v", err) + } + + if err := bc.tree.AddBlock(tx, &sb.Block); err != nil { + return fmt.Errorf("save block failed: %v", err) + } + + // update block head seq and unspent pool + if err := bc.processBlock(tx, sb); err != nil { + return err + } + + return nil +} + +// processBlock processes a block and updates the db +func (bc *Blockchain) processBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { + if err := bc.unspent.ProcessBlock(tx, b); err != nil { + return err + } + + return bc.meta.SetHeadSeq(tx, b.Seq()) +} + +// Head returns head block, returns error if no head block exists +func (bc *Blockchain) Head(tx *dbutil.Tx) (*coin.SignedBlock, error) { + seq, ok, err := bc.HeadSeq(tx) + if err != nil { + return nil, err + } else if !ok { + return nil, ErrNoHeadBlock + } + + b, err := bc.GetSignedBlockBySeq(tx, seq) + if err != nil { + return nil, err + } + + if b == nil { + return nil, ErrNoHeadBlock + } + + return b, nil +} + +// HeadSeq returns the head block sequence +func (bc *Blockchain) HeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + return bc.meta.GetHeadSeq(tx) +} + +// Len returns blockchain length +func (bc *Blockchain) Len(tx *dbutil.Tx) (uint64, error) { + seq, ok, err := bc.meta.GetHeadSeq(tx) + if err != nil { + return 0, err + } else if !ok { + return 0, nil + } + + return seq + 1, nil +} + +// GetBlockSignature returns the signature of a block +func (bc *Blockchain) GetBlockSignature(tx *dbutil.Tx, b *coin.Block) (cipher.Sig, bool, error) { + return bc.sigs.Get(tx, b.HashHeader()) +} + +// GetBlockByHash returns block of given hash +func (bc *Blockchain) GetBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.Block, error) { + b, err := bc.tree.GetBlock(tx, hash) + if err != nil { + return nil, err + } + + return b, nil +} + +// GetSignedBlockByHash returns signed block of given hash +func (bc *Blockchain) GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) { + b, err := bc.tree.GetBlock(tx, hash) + if err != nil { + return nil, err + } + if b == nil { + return nil, nil + } + + // get signature + sig, ok, err := bc.sigs.Get(tx, hash) + if err != nil { + return nil, fmt.Errorf("find signature of block: %v failed: %v", hash.Hex(), err) + } + + if !ok { + return nil, NewErrMissingSignature(b) + } + + return &coin.SignedBlock{ + Block: *b, + Sig: sig, + }, nil +} + +// GetSignedBlockBySeq returns signed block of given seq +func (bc *Blockchain) GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) { + b, err := bc.tree.GetBlockInDepth(tx, seq, bc.walker) + if err != nil { + return nil, fmt.Errorf("bc.tree.GetBlockInDepth failed: %v", err) + } + if b == nil { + return nil, nil + } + + sig, ok, err := bc.sigs.Get(tx, b.HashHeader()) + if err != nil { + return nil, fmt.Errorf("find signature of block: %v failed: %v", seq, err) + } + + if !ok { + return nil, NewErrMissingSignature(b) + } + + return &coin.SignedBlock{ + Block: *b, + Sig: sig, + }, nil +} + +// GetGenesisBlock returns genesis block +func (bc *Blockchain) GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return bc.GetSignedBlockBySeq(tx, 0) +} + +// ForEachBlock iterates all blocks and calls f on them +func (bc *Blockchain) ForEachBlock(tx *dbutil.Tx, f func(b *coin.Block) error) error { + return bc.tree.ForEachBlock(tx, f) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs.go new file mode 100644 index 00000000..132792c3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/blocksigs.go @@ -0,0 +1,69 @@ +package blockdb + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // BlockSigsBkt holds block signatures + BlockSigsBkt = []byte("block_sigs") +) + +// blockSigs manages known blockSigs as received. +// TODO -- support out of order blocks. This requires a change to the +// message protocol to support ranges similar to bitcoin's locator hashes. +// We also need to keep track of whether a block has been executed so that +// as continuity is established we can execute chains of blocks. +// TODO -- Since we will need to hold blocks that cannot be verified +// immediately against the blockchain, we need to be able to hold multiple +// blockSigs per BkSeq, or use hashes as keys. For now, this is not a +// problem assuming the signed blocks created by a block publisher are valid blocks, +// because we can check the signature independently of the blockchain. +type blockSigs struct{} + +// Get returns the signature of a specific block +func (bs *blockSigs) Get(tx *dbutil.Tx, hash cipher.SHA256) (cipher.Sig, bool, error) { + var sig sigWrapper + + v, err := dbutil.GetBucketValueNoCopy(tx, BlockSigsBkt, hash[:]) + if err != nil { + return cipher.Sig{}, false, err + } else if v == nil { + return cipher.Sig{}, false, nil + } + + if err := decodeSigWrapperExact(v, &sig); err != nil { + return cipher.Sig{}, false, err + } + + return sig.Sig, true, nil +} + +// Add adds a signed block to the db +func (bs *blockSigs) Add(tx *dbutil.Tx, hash cipher.SHA256, sig cipher.Sig) error { + buf, err := encodeSigWrapper(&sigWrapper{ + Sig: sig, + }) + if err != nil { + return err + } + return dbutil.PutBucketValue(tx, BlockSigsBkt, hash[:], buf) +} + +// ForEach iterates all signatures and calls f on them +func (bs *blockSigs) ForEach(tx *dbutil.Tx, f func(cipher.SHA256, cipher.Sig) error) error { + return dbutil.ForEach(tx, BlockSigsBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromBytes(k) + if err != nil { + return err + } + + var sig sigWrapper + if err := decodeSigWrapperExact(v, &sig); err != nil { + return err + } + + return f(hash, sig.Sig) + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/chain_meta.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/chain_meta.go new file mode 100644 index 00000000..fdfaf338 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/chain_meta.go @@ -0,0 +1,29 @@ +package blockdb + +import ( + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // BlockchainMetaBkt holds blockchain metadata + BlockchainMetaBkt = []byte("blockchain_meta") + // blockchain head sequence number + headSeqKey = []byte("head_seq") +) + +type chainMeta struct{} + +func (m chainMeta) SetHeadSeq(tx *dbutil.Tx, seq uint64) error { + return dbutil.PutBucketValue(tx, BlockchainMetaBkt, headSeqKey, dbutil.Itob(seq)) +} + +func (m chainMeta) GetHeadSeq(tx *dbutil.Tx) (uint64, bool, error) { + v, err := dbutil.GetBucketValue(tx, BlockchainMetaBkt, headSeqKey) + if err != nil { + return 0, false, err + } else if v == nil { + return 0, false, nil + } + + return dbutil.Btoi(v), true, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/hash_pairs_wrapper_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/hash_pairs_wrapper_skyencoder.go new file mode 100644 index 00000000..69c7a892 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/hash_pairs_wrapper_skyencoder.go @@ -0,0 +1,141 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package blockdb + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeHashPairsWrapper computes the size of an encoded object of type hashPairsWrapper +func encodeSizeHashPairsWrapper(obj *hashPairsWrapper) uint64 { + i0 := uint64(0) + + // obj.HashPairs + i0 += 4 + { + i1 := uint64(0) + + // x1.Hash + i1 += 32 + + // x1.PrevHash + i1 += 32 + + i0 += uint64(len(obj.HashPairs)) * i1 + } + + return i0 +} + +// encodeHashPairsWrapper encodes an object of type hashPairsWrapper to a buffer allocated to the exact size +// required to encode the object. +func encodeHashPairsWrapper(obj *hashPairsWrapper) ([]byte, error) { + n := encodeSizeHashPairsWrapper(obj) + buf := make([]byte, n) + + if err := encodeHashPairsWrapperToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeHashPairsWrapperToBuffer encodes an object of type hashPairsWrapper to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeHashPairsWrapperToBuffer(buf []byte, obj *hashPairsWrapper) error { + if uint64(len(buf)) < encodeSizeHashPairsWrapper(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.HashPairs length check + if uint64(len(obj.HashPairs)) > math.MaxUint32 { + return errors.New("obj.HashPairs length exceeds math.MaxUint32") + } + + // obj.HashPairs length + e.Uint32(uint32(len(obj.HashPairs))) + + // obj.HashPairs + for _, x := range obj.HashPairs { + + // x.Hash + e.CopyBytes(x.Hash[:]) + + // x.PrevHash + e.CopyBytes(x.PrevHash[:]) + + } + + return nil +} + +// decodeHashPairsWrapper decodes an object of type hashPairsWrapper from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeHashPairsWrapper(buf []byte, obj *hashPairsWrapper) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.HashPairs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length != 0 { + obj.HashPairs = make([]coin.HashPair, length) + + for z1 := range obj.HashPairs { + { + // obj.HashPairs[z1].Hash + if len(d.Buffer) < len(obj.HashPairs[z1].Hash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.HashPairs[z1].Hash[:], d.Buffer[:len(obj.HashPairs[z1].Hash)]) + d.Buffer = d.Buffer[len(obj.HashPairs[z1].Hash):] + } + + { + // obj.HashPairs[z1].PrevHash + if len(d.Buffer) < len(obj.HashPairs[z1].PrevHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.HashPairs[z1].PrevHash[:], d.Buffer[:len(obj.HashPairs[z1].PrevHash)]) + d.Buffer = d.Buffer[len(obj.HashPairs[z1].PrevHash):] + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeHashPairsWrapperExact decodes an object of type hashPairsWrapper from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeHashPairsWrapperExact(buf []byte, obj *hashPairsWrapper) error { + if n, err := decodeHashPairsWrapper(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/hashes_wrapper_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/hashes_wrapper_skyencoder.go new file mode 100644 index 00000000..08464d0c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/hashes_wrapper_skyencoder.go @@ -0,0 +1,126 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package blockdb + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeHashesWrapper computes the size of an encoded object of type hashesWrapper +func encodeSizeHashesWrapper(obj *hashesWrapper) uint64 { + i0 := uint64(0) + + // obj.Hashes + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 32 + + i0 += uint64(len(obj.Hashes)) * i1 + } + + return i0 +} + +// encodeHashesWrapper encodes an object of type hashesWrapper to a buffer allocated to the exact size +// required to encode the object. +func encodeHashesWrapper(obj *hashesWrapper) ([]byte, error) { + n := encodeSizeHashesWrapper(obj) + buf := make([]byte, n) + + if err := encodeHashesWrapperToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeHashesWrapperToBuffer encodes an object of type hashesWrapper to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeHashesWrapperToBuffer(buf []byte, obj *hashesWrapper) error { + if uint64(len(buf)) < encodeSizeHashesWrapper(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Hashes length check + if uint64(len(obj.Hashes)) > math.MaxUint32 { + return errors.New("obj.Hashes length exceeds math.MaxUint32") + } + + // obj.Hashes length + e.Uint32(uint32(len(obj.Hashes))) + + // obj.Hashes + for _, x := range obj.Hashes { + + // x + e.CopyBytes(x[:]) + + } + + return nil +} + +// decodeHashesWrapper decodes an object of type hashesWrapper from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeHashesWrapper(buf []byte, obj *hashesWrapper) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Hashes + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length != 0 { + obj.Hashes = make([]cipher.SHA256, length) + + for z1 := range obj.Hashes { + { + // obj.Hashes[z1] + if len(d.Buffer) < len(obj.Hashes[z1]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Hashes[z1][:], d.Buffer[:len(obj.Hashes[z1])]) + d.Buffer = d.Buffer[len(obj.Hashes[z1]):] + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeHashesWrapperExact decodes an object of type hashesWrapper from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeHashesWrapperExact(buf []byte, obj *hashesWrapper) error { + if n, err := decodeHashesWrapper(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/sig_wrapper_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/sig_wrapper_skyencoder.go new file mode 100644 index 00000000..398d886e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/sig_wrapper_skyencoder.go @@ -0,0 +1,78 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package blockdb + +import "github.com/skycoin/skycoin/src/cipher/encoder" + +// encodeSizeSigWrapper computes the size of an encoded object of type sigWrapper +func encodeSizeSigWrapper(obj *sigWrapper) uint64 { + i0 := uint64(0) + + // obj.Sig + i0 += 65 + + return i0 +} + +// encodeSigWrapper encodes an object of type sigWrapper to a buffer allocated to the exact size +// required to encode the object. +func encodeSigWrapper(obj *sigWrapper) ([]byte, error) { + n := encodeSizeSigWrapper(obj) + buf := make([]byte, n) + + if err := encodeSigWrapperToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeSigWrapperToBuffer encodes an object of type sigWrapper to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeSigWrapperToBuffer(buf []byte, obj *sigWrapper) error { + if uint64(len(buf)) < encodeSizeSigWrapper(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Sig + e.CopyBytes(obj.Sig[:]) + + return nil +} + +// decodeSigWrapper decodes an object of type sigWrapper from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeSigWrapper(buf []byte, obj *sigWrapper) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Sig + if len(d.Buffer) < len(obj.Sig) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Sig[:], d.Buffer[:len(obj.Sig)]) + d.Buffer = d.Buffer[len(obj.Sig):] + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeSigWrapperExact decodes an object of type sigWrapper from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeSigWrapperExact(buf []byte, obj *sigWrapper) error { + if n, err := decodeSigWrapper(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/unspent.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/unspent.go new file mode 100644 index 00000000..344a992d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/unspent.go @@ -0,0 +1,541 @@ +package blockdb + +import ( + "bytes" + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + xorhashKey = []byte("xorhash") + addrIndexHeightKey = []byte("addr_index_height") + + // UnspentPoolBkt holds unspent outputs, indexed by unspent output hash + UnspentPoolBkt = []byte("unspent_pool") + // UnspentPoolAddrIndexBkt maps addresses to their unspent outputs + UnspentPoolAddrIndexBkt = []byte("unspent_pool_addr_index") + // UnspentMetaBkt holds unspent output metadata + UnspentMetaBkt = []byte("unspent_meta") +) + +// ErrUnspentNotExist is returned if an unspent is not found in the pool +type ErrUnspentNotExist struct { + UxID string +} + +// NewErrUnspentNotExist creates ErrUnspentNotExist from a UxID +func NewErrUnspentNotExist(uxID string) error { + return ErrUnspentNotExist{ + UxID: uxID, + } +} + +func (e ErrUnspentNotExist) Error() string { + return fmt.Sprintf("unspent output of %s does not exist", e.UxID) +} + +// AddressHashes maps addresses to a set of hashes +type AddressHashes map[cipher.Address][]cipher.SHA256 + +// Flatten flattens all hash sets from AddressHashes to one slice +func (a AddressHashes) Flatten() []cipher.SHA256 { + total := 0 + for _, h := range a { + total += len(h) + } + + hashes := make([]cipher.SHA256, total) + + i := 0 + for _, h := range a { + copy(hashes[i:], h) + i += len(h) + } + + return hashes +} + +type unspentMeta struct{} + +func (m unspentMeta) getXorHash(tx *dbutil.Tx) (cipher.SHA256, error) { + v, err := dbutil.GetBucketValue(tx, UnspentMetaBkt, xorhashKey) + if err != nil { + return cipher.SHA256{}, err + } else if v == nil { + return cipher.SHA256{}, nil + } + + return cipher.SHA256FromBytes(v) +} + +func (m *unspentMeta) setXorHash(tx *dbutil.Tx, hash cipher.SHA256) error { + return dbutil.PutBucketValue(tx, UnspentMetaBkt, xorhashKey, hash[:]) +} + +func (m *unspentMeta) getAddrIndexHeight(tx *dbutil.Tx) (uint64, bool, error) { + v, err := dbutil.GetBucketValue(tx, UnspentMetaBkt, addrIndexHeightKey) + if err != nil { + return 0, false, err + } else if v == nil { + return 0, false, nil + } + + return dbutil.Btoi(v), true, nil +} + +func (m *unspentMeta) setAddrIndexHeight(tx *dbutil.Tx, height uint64) error { + return dbutil.PutBucketValue(tx, UnspentMetaBkt, addrIndexHeightKey, dbutil.Itob(height)) +} + +type pool struct{} + +func (pl pool) get(tx *dbutil.Tx, hash cipher.SHA256) (*coin.UxOut, error) { + var out coin.UxOut + + v, err := dbutil.GetBucketValueNoCopy(tx, UnspentPoolBkt, hash[:]) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + if err := decodeUxOutExact(v, &out); err != nil { + return nil, err + } + + return &out, nil +} + +func (pl pool) getAll(tx *dbutil.Tx) (coin.UxArray, error) { + var uxa coin.UxArray + + if err := dbutil.ForEach(tx, UnspentPoolBkt, func(_, v []byte) error { + var ux coin.UxOut + if err := decodeUxOutExact(v, &ux); err != nil { + return err + } + + uxa = append(uxa, ux) + return nil + }); err != nil { + return nil, err + } + + return uxa, nil +} + +func (pl pool) put(tx *dbutil.Tx, hash cipher.SHA256, ux coin.UxOut) error { + buf, err := encodeUxOut(&ux) + if err != nil { + return err + } + + return dbutil.PutBucketValue(tx, UnspentPoolBkt, hash[:], buf) +} + +func (pl *pool) delete(tx *dbutil.Tx, hash cipher.SHA256) error { + return dbutil.Delete(tx, UnspentPoolBkt, hash[:]) +} + +type poolAddrIndex struct{} + +func (p poolAddrIndex) get(tx *dbutil.Tx, addr cipher.Address) ([]cipher.SHA256, error) { + var hashes hashesWrapper + + v, err := dbutil.GetBucketValueNoCopy(tx, UnspentPoolAddrIndexBkt, addr.Bytes()) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + if err := decodeHashesWrapperExact(v, &hashes); err != nil { + return nil, err + } + + return hashes.Hashes, nil +} + +func (p poolAddrIndex) put(tx *dbutil.Tx, addr cipher.Address, hashes []cipher.SHA256) error { + if len(hashes) == 0 { + return errors.New("poolAddrIndex.put cannot put empty hash array") + } + + hashesMap := make(map[cipher.SHA256]struct{}, len(hashes)) + for _, h := range hashes { + if _, ok := hashesMap[h]; ok { + return errors.New("poolAddrIndex.put: hashes array contains duplicate") + } + + hashesMap[h] = struct{}{} + } + + buf, err := encodeHashesWrapper(&hashesWrapper{ + Hashes: hashes, + }) + if err != nil { + return err + } + + return dbutil.PutBucketValue(tx, UnspentPoolAddrIndexBkt, addr.Bytes(), buf) +} + +// adjust adds and removes hashes from an address -> hashes index +// TODO -- if necessary, this can be optimized further to accept multiple addresses at once, +// so that all get queries can be performed before the set +func (p poolAddrIndex) adjust(tx *dbutil.Tx, addr cipher.Address, addHashes, rmHashes []cipher.SHA256) error { + if len(addHashes) == 0 && len(rmHashes) == 0 { + return nil + } + + existingHashes, err := p.get(tx, addr) + if err != nil { + return err + } + + rmHashesMap := make(map[cipher.SHA256]struct{}, len(rmHashes)) + for _, h := range rmHashes { + rmHashesMap[h] = struct{}{} + } + + if len(rmHashesMap) != len(rmHashes) { + return errors.New("poolAddrIndex.adjust: rmHashes contains duplicates") + } + + newHashesSize := len(existingHashes) - len(rmHashes) + if newHashesSize < 0 { + return errors.New("poolAddrIndex.adjust: rmHashes is longer than existingHashes") + } + + newHashes := make([]cipher.SHA256, 0, newHashesSize) + newHashesMap := make(map[cipher.SHA256]struct{}, newHashesSize) + + rmHashesCount := 0 + for _, h := range existingHashes { + if _, ok := rmHashesMap[h]; ok { + rmHashesCount++ + } else { + newHashes = append(newHashes, h) + newHashesMap[h] = struct{}{} + } + } + + if rmHashesCount != len(rmHashes) { + return fmt.Errorf("poolAddrIndex.adjust: rmHashes contains %d hashes not indexed for address %s", len(rmHashes)-rmHashesCount, addr.String()) + } + + for _, h := range addHashes { + if _, ok := rmHashesMap[h]; ok { + return errors.New("poolAddrIndex.adjust: hash appears in both addHashes and rmHashes") + } + + if _, ok := newHashesMap[h]; !ok { + newHashes = append(newHashes, h) + newHashesMap[h] = struct{}{} + } else { + return fmt.Errorf("poolAddrIndex.adjust: uxout hash %s is already indexed for address %s", h.Hex(), addr.String()) + } + } + + // Delete the row if hashes is empty, so that the length of the bucket can + // be used to determine the number of addresses with unspents + if len(newHashes) == 0 { + return dbutil.Delete(tx, UnspentPoolAddrIndexBkt, addr.Bytes()) + } + + return p.put(tx, addr, newHashes) +} + +// Unspents unspent outputs pool +type Unspents struct { + pool *pool + poolAddrIndex *poolAddrIndex + meta *unspentMeta +} + +// NewUnspentPool creates new unspent pool instance +func NewUnspentPool() *Unspents { + return &Unspents{ + pool: &pool{}, + poolAddrIndex: &poolAddrIndex{}, + meta: &unspentMeta{}, + } +} + +// MaybeBuildIndexes builds indexes if necessary +func (up *Unspents) MaybeBuildIndexes(tx *dbutil.Tx, headSeq uint64) error { + logger.Info("Unspents.MaybeBuildIndexes") + + // Compare the addrIndexHeight to the head block, + // if not equal, rebuild the address index + addrIndexHeight, ok, err := up.meta.getAddrIndexHeight(tx) + if err != nil { + return err + } + + if ok && addrIndexHeight == headSeq { + return nil + } + + if addrIndexHeight > headSeq { + logger.Critical().Warningf("addrIndexHeight > headSeq (%d > %d)", addrIndexHeight, headSeq) + } + + logger.Infof("Rebuilding unspent_pool_addr_index (addrHeightIndexExists=%v, addrIndexHeight=%d, headSeq=%d)", ok, addrIndexHeight, headSeq) + + return up.buildAddrIndex(tx) +} + +func (up *Unspents) buildAddrIndex(tx *dbutil.Tx) error { + logger.Info("Building unspent address index") + + if err := dbutil.Reset(tx, UnspentPoolAddrIndexBkt); err != nil { + return err + } + + addrHashes := make(map[cipher.Address][]cipher.SHA256) + + var maxBlockSeq uint64 + if err := dbutil.ForEach(tx, UnspentPoolBkt, func(k, v []byte) error { + var ux coin.UxOut + if err := decodeUxOutExact(v, &ux); err != nil { + return err + } + + if ux.Head.BkSeq > maxBlockSeq { + maxBlockSeq = ux.Head.BkSeq + } + + h := ux.Hash() + + if !bytes.Equal(k[:], h[:]) { + return errors.New("Unspent pool uxout.Hash() does not match its key") + } + + addrHashes[ux.Body.Address] = append(addrHashes[ux.Body.Address], h) + + return nil + }); err != nil { + return err + } + + if len(addrHashes) == 0 { + logger.Infof("No unspents to index") + return nil + } + + for addr, hashes := range addrHashes { + if err := up.poolAddrIndex.put(tx, addr, hashes); err != nil { + return err + } + } + + if err := up.meta.setAddrIndexHeight(tx, maxBlockSeq); err != nil { + return err + } + + logger.Infof("Indexed unspents for %d addresses", len(addrHashes)) + + return nil +} + +// ProcessBlock adds unspents from a block to the unspent pool +func (up *Unspents) ProcessBlock(tx *dbutil.Tx, b *coin.SignedBlock) error { + // Gather all transaction inputs + var inputs []cipher.SHA256 + var txnUxs coin.UxArray + for _, txn := range b.Body.Transactions { + inputs = append(inputs, txn.In...) + txnUxs = append(txnUxs, coin.CreateUnspents(b.Head, txn)...) + } + + uxs, err := up.GetArray(tx, inputs) + if err != nil { + return err + } + + xorHash, err := up.meta.getXorHash(tx) + if err != nil { + return err + } + + // Remove spent outputs + rmAddrHashes := make(map[cipher.Address][]cipher.SHA256) + for _, ux := range uxs { + xorHash = xorHash.Xor(ux.SnapshotHash()) + + h := ux.Hash() + + if err := up.pool.delete(tx, h); err != nil { + return err + } + + rmAddrHashes[ux.Body.Address] = append(rmAddrHashes[ux.Body.Address], h) + } + + // Create new outputs + txnUxHashes := make([]cipher.SHA256, len(txnUxs)) + addAddrHashes := make(map[cipher.Address][]cipher.SHA256) + for i, ux := range txnUxs { + h := ux.Hash() + txnUxHashes[i] = h + addAddrHashes[ux.Body.Address] = append(addAddrHashes[ux.Body.Address], h) + } + + // Check that the uxout exists in the pool already, otherwise xorHash will be calculated wrong + for _, h := range txnUxHashes { + if hasKey, err := up.Contains(tx, h); err != nil { + return err + } else if hasKey { + return fmt.Errorf("attempted to insert uxout:%v twice into the unspent pool", h.Hex()) + } + } + + for i, ux := range txnUxs { + // Add new outputs + if err := up.pool.put(tx, txnUxHashes[i], ux); err != nil { + return err + } + + // Recalculate xorHash + xorHash = xorHash.Xor(ux.SnapshotHash()) + } + + // Set xorHash + if err := up.meta.setXorHash(tx, xorHash); err != nil { + return err + } + + // Update indexes + for addr, rmHashes := range rmAddrHashes { + addHashes := addAddrHashes[addr] + + if err := up.poolAddrIndex.adjust(tx, addr, addHashes, rmHashes); err != nil { + return err + } + + delete(addAddrHashes, addr) + } + + for addr, addHashes := range addAddrHashes { + if err := up.poolAddrIndex.adjust(tx, addr, addHashes, nil); err != nil { + return err + } + } + + // Check that the addrIndexHeight is incremental + addrIndexHeight, ok, err := up.meta.getAddrIndexHeight(tx) + if err != nil { + return err + } + + if b.Block.Head.BkSeq == 0 { + if ok { + err := errors.New("addrIndexHeight is set but no block has been indexed yet") + logger.Critical().Error(err.Error()) + return err + } + } else if b.Block.Head.BkSeq != addrIndexHeight+1 { + err := errors.New("unspent pool processing blocks out of order") + logger.Critical().Error(err.Error()) + return err + } + + // Update the addrIndexHeight + return up.meta.setAddrIndexHeight(tx, b.Block.Head.BkSeq) +} + +// GetArray returns UxOut for a set of hashes, will return error if any of the hashes do not exist in the pool. +func (up *Unspents) GetArray(tx *dbutil.Tx, hashes []cipher.SHA256) (coin.UxArray, error) { + var uxa coin.UxArray + + for _, h := range hashes { + ux, err := up.pool.get(tx, h) + if err != nil { + return nil, err + } else if ux == nil { + return nil, NewErrUnspentNotExist(h.Hex()) + } + + uxa = append(uxa, *ux) + } + + return uxa, nil +} + +// Get returns the uxout value of given hash +func (up *Unspents) Get(tx *dbutil.Tx, h cipher.SHA256) (*coin.UxOut, error) { + return up.pool.get(tx, h) +} + +// GetAll returns Pool as an array. Note: they are not in any particular order. +func (up *Unspents) GetAll(tx *dbutil.Tx) (coin.UxArray, error) { + return up.pool.getAll(tx) +} + +// Len returns the unspent outputs num +func (up *Unspents) Len(tx *dbutil.Tx) (uint64, error) { + return dbutil.Len(tx, UnspentPoolBkt) +} + +// Contains check if the hash of uxout does exist in the pool +func (up *Unspents) Contains(tx *dbutil.Tx, h cipher.SHA256) (bool, error) { + return dbutil.BucketHasKey(tx, UnspentPoolBkt, h[:]) +} + +// GetUnspentHashesOfAddrs returns a map of addresses to their unspent output hashes +func (up *Unspents) GetUnspentHashesOfAddrs(tx *dbutil.Tx, addrs []cipher.Address) (AddressHashes, error) { + addrHashes := make(AddressHashes, len(addrs)) + + for _, addr := range addrs { + hashes, err := up.poolAddrIndex.get(tx, addr) + if err != nil { + return nil, err + } + + addrHashes[addr] = hashes + } + + return addrHashes, nil +} + +// GetUnspentsOfAddrs returns a map of addresses to their unspent outputs +func (up *Unspents) GetUnspentsOfAddrs(tx *dbutil.Tx, addrs []cipher.Address) (coin.AddressUxOuts, error) { + addrUxs := make(coin.AddressUxOuts, len(addrs)) + + for _, addr := range addrs { + hashes, err := up.poolAddrIndex.get(tx, addr) + if err != nil { + return nil, err + } + + uxa, err := up.GetArray(tx, hashes) + if err != nil { + switch e := err.(type) { + case ErrUnspentNotExist: + logger.Critical().Errorf("Unspent hash %s indexed under address %s does not exist in unspent pool", e.UxID, addr.String()) + } + return nil, err + } + + addrUxs[addr] = uxa + } + + return addrUxs, nil +} + +// GetUxHash returns unspent output checksum for the Block. +// Must be called after Block is fully initialized, +// and before its outputs are added to the unspent pool +func (up *Unspents) GetUxHash(tx *dbutil.Tx) (cipher.SHA256, error) { + return up.meta.getXorHash(tx) +} + +// AddressCount returns the total number of addresses with unspents +func (up *Unspents) AddressCount(tx *dbutil.Tx) (uint64, error) { + return dbutil.Len(tx, UnspentPoolAddrIndexBkt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/ux_out_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/ux_out_skyencoder.go new file mode 100644 index 00000000..e428e392 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/ux_out_skyencoder.go @@ -0,0 +1,171 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package blockdb + +import ( + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeUxOut computes the size of an encoded object of type UxOut +func encodeSizeUxOut(obj *coin.UxOut) uint64 { + i0 := uint64(0) + + // obj.Head.Time + i0 += 8 + + // obj.Head.BkSeq + i0 += 8 + + // obj.Body.SrcTransaction + i0 += 32 + + // obj.Body.Address.Version + i0++ + + // obj.Body.Address.Key + i0 += 20 + + // obj.Body.Coins + i0 += 8 + + // obj.Body.Hours + i0 += 8 + + return i0 +} + +// encodeUxOut encodes an object of type UxOut to a buffer allocated to the exact size +// required to encode the object. +func encodeUxOut(obj *coin.UxOut) ([]byte, error) { + n := encodeSizeUxOut(obj) + buf := make([]byte, n) + + if err := encodeUxOutToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeUxOutToBuffer encodes an object of type UxOut to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeUxOutToBuffer(buf []byte, obj *coin.UxOut) error { + if uint64(len(buf)) < encodeSizeUxOut(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Head.Time + e.Uint64(obj.Head.Time) + + // obj.Head.BkSeq + e.Uint64(obj.Head.BkSeq) + + // obj.Body.SrcTransaction + e.CopyBytes(obj.Body.SrcTransaction[:]) + + // obj.Body.Address.Version + e.Uint8(obj.Body.Address.Version) + + // obj.Body.Address.Key + e.CopyBytes(obj.Body.Address.Key[:]) + + // obj.Body.Coins + e.Uint64(obj.Body.Coins) + + // obj.Body.Hours + e.Uint64(obj.Body.Hours) + + return nil +} + +// decodeUxOut decodes an object of type UxOut from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeUxOut(buf []byte, obj *coin.UxOut) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Head.Time + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Head.Time = i + } + + { + // obj.Head.BkSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Head.BkSeq = i + } + + { + // obj.Body.SrcTransaction + if len(d.Buffer) < len(obj.Body.SrcTransaction) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Body.SrcTransaction[:], d.Buffer[:len(obj.Body.SrcTransaction)]) + d.Buffer = d.Buffer[len(obj.Body.SrcTransaction):] + } + + { + // obj.Body.Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Body.Address.Version = i + } + + { + // obj.Body.Address.Key + if len(d.Buffer) < len(obj.Body.Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Body.Address.Key[:], d.Buffer[:len(obj.Body.Address.Key)]) + d.Buffer = d.Buffer[len(obj.Body.Address.Key):] + } + + { + // obj.Body.Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Body.Coins = i + } + + { + // obj.Body.Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Body.Hours = i + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeUxOutExact decodes an object of type UxOut from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeUxOutExact(buf []byte, obj *coin.UxOut) error { + if n, err := decodeUxOut(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/blockdb/verify.go b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/verify.go new file mode 100644 index 00000000..3ede1c92 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/blockdb/verify.go @@ -0,0 +1,156 @@ +package blockdb + +import ( + "errors" + "reflect" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // ErrVerifyStopped is returned when database verification is interrupted + ErrVerifyStopped = errors.New("database verification stopped") +) + +// VerifyDBSkyencoderSafe verifies that the skyencoder generated code has the same result as the encoder +// for all data in the blockchain +func VerifyDBSkyencoderSafe(tx *dbutil.Tx, quit <-chan struct{}) error { + if quit == nil { + quit = make(chan struct{}) + } + + if err := dbutil.ForEach(tx, BlockSigsBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var sig1 sigWrapper + if err := decodeSigWrapperExact(v, &sig1); err != nil { + return err + } + + var sig2 cipher.Sig + if err := encoder.DeserializeRawExact(v, &sig2); err != nil { + return err + } + + if sig1.Sig != sig2 { + return errors.New("BlockSigsBkt sig decode mismatch") + } + + return nil + }); err != nil { + return err + } + + if err := dbutil.ForEach(tx, BlocksBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 coin.Block + if err := decodeBlockExact(v, &b1); err != nil { + return err + } + + var b2 coin.Block + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1, b2) { + return errors.New("BlocksBkt block mismatch") + } + + return nil + }); err != nil { + return err + } + + if err := dbutil.ForEach(tx, TreeBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 hashPairsWrapper + if err := decodeHashPairsWrapperExact(v, &b1); err != nil { + return err + } + + var b2 []coin.HashPair + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1.HashPairs, b2) { + return errors.New("TreeBkt hash pairs mismatch") + } + + return nil + }); err != nil { + return err + } + + if err := dbutil.ForEach(tx, UnspentPoolBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 coin.UxOut + if err := decodeUxOutExact(v, &b1); err != nil { + return err + } + + var b2 coin.UxOut + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1, b2) { + return errors.New("UnspentPoolBkt ux out mismatch") + } + + return nil + }); err != nil { + return err + } + + if err := dbutil.ForEach(tx, UnspentPoolAddrIndexBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 hashesWrapper + if err := decodeHashesWrapperExact(v, &b1); err != nil { + return err + } + + var b2 []cipher.SHA256 + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1.Hashes, b2) { + return errors.New("UnspentPoolAddrIndexBkt sha256 hashes mismatch") + } + + return nil + }); err != nil { + return err + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/config.go b/vendor/github.com/skycoin/skycoin/src/visor/config.go new file mode 100644 index 00000000..f29bae3f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/config.go @@ -0,0 +1,119 @@ +package visor + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/params" +) + +// Config configuration parameters for the Visor +type Config struct { + // Is this a block publishing node + IsBlockPublisher bool + + // Public key of the blockchain + BlockchainPubkey cipher.PubKey + + // Secret key of the blockchain (required if block publisher) + BlockchainSeckey cipher.SecKey + + // Transaction verification parameters used for unconfirmed transactions + UnconfirmedVerifyTxn params.VerifyTxn + // Transaction verification parameters used when creating a block + CreateBlockVerifyTxn params.VerifyTxn + // Maximum size of a block, in bytes for creating blocks + MaxBlockTransactionsSize uint32 + + // Coin distribution parameters (necessary for txn verification) + Distribution params.Distribution + + // Where the blockchain is saved + BlockchainFile string + // Where the block signatures are saved + BlockSigsFile string + + //address for genesis + GenesisAddress cipher.Address + // Genesis block sig + GenesisSignature cipher.Sig + // Genesis block timestamp + GenesisTimestamp uint64 + // Number of coins in genesis block + GenesisCoinVolume uint64 + // enable arbitrating mode + Arbitrating bool +} + +// NewConfig creates Config +func NewConfig() Config { + c := Config{ + IsBlockPublisher: false, + + BlockchainPubkey: cipher.PubKey{}, + BlockchainSeckey: cipher.SecKey{}, + + UnconfirmedVerifyTxn: params.UserVerifyTxn, + CreateBlockVerifyTxn: params.UserVerifyTxn, + MaxBlockTransactionsSize: params.UserVerifyTxn.MaxTransactionSize, + + GenesisAddress: cipher.Address{}, + GenesisSignature: cipher.Sig{}, + GenesisTimestamp: 0, + GenesisCoinVolume: 0, //100e12, 100e6 * 10e6 + } + + return c +} + +// Verify verifies the configuration +func (c Config) Verify() error { + if c.IsBlockPublisher { + if c.BlockchainPubkey != cipher.MustPubKeyFromSecKey(c.BlockchainSeckey) { + return errors.New("Cannot run as block publisher: invalid seckey for pubkey") + } + } + + if err := c.UnconfirmedVerifyTxn.Validate(); err != nil { + return err + } + + if err := c.CreateBlockVerifyTxn.Validate(); err != nil { + return err + } + + if c.UnconfirmedVerifyTxn.BurnFactor < params.UserVerifyTxn.BurnFactor { + return fmt.Errorf("UnconfirmedVerifyTxn.BurnFactor must be >= params.UserVerifyTxn.BurnFactor (%d)", params.UserVerifyTxn.BurnFactor) + } + + if c.CreateBlockVerifyTxn.BurnFactor < params.UserVerifyTxn.BurnFactor { + return fmt.Errorf("CreateBlockVerifyTxn.BurnFactor must be >= params.UserVerifyTxn.BurnFactor (%d)", params.UserVerifyTxn.BurnFactor) + } + + if c.UnconfirmedVerifyTxn.MaxTransactionSize < params.UserVerifyTxn.MaxTransactionSize { + return fmt.Errorf("UnconfirmedVerifyTxn.MaxTransactionSize must be >= params.UserVerifyTxn.MaxTransactionSize (%d)", params.UserVerifyTxn.MaxTransactionSize) + } + + if c.CreateBlockVerifyTxn.MaxTransactionSize < params.UserVerifyTxn.MaxTransactionSize { + return fmt.Errorf("CreateBlockVerifyTxn.MaxTransactionSize must be >= params.UserVerifyTxn.MaxTransactionSize (%d)", params.UserVerifyTxn.MaxTransactionSize) + } + + if c.UnconfirmedVerifyTxn.MaxDropletPrecision < params.UserVerifyTxn.MaxDropletPrecision { + return fmt.Errorf("UnconfirmedVerifyTxn.MaxDropletPrecision must be >= params.UserVerifyTxn.MaxDropletPrecision (%d)", params.UserVerifyTxn.MaxDropletPrecision) + } + + if c.CreateBlockVerifyTxn.MaxDropletPrecision < params.UserVerifyTxn.MaxDropletPrecision { + return fmt.Errorf("CreateBlockVerifyTxn.MaxDropletPrecision must be >= params.UserVerifyTxn.MaxDropletPrecision (%d)", params.UserVerifyTxn.MaxDropletPrecision) + } + + if c.MaxBlockTransactionsSize < c.CreateBlockVerifyTxn.MaxTransactionSize { + return errors.New("MaxBlockTransactionsSize must be >= CreateBlockVerifyTxn.MaxTransactionSize") + } + + if err := c.Distribution.Validate(); err != nil { + return err + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/db.go b/vendor/github.com/skycoin/skycoin/src/visor/db.go new file mode 100644 index 00000000..9f5550e7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/db.go @@ -0,0 +1,388 @@ +package visor + +import ( + "crypto/sha256" + "encoding/base64" + "errors" + "fmt" + "io" + "os" + "path/filepath" + "reflect" + "sync" + "time" + + "github.com/boltdb/bolt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/elapse" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +var ( + // BlockchainVerifyTheadNum number of goroutines to use for signature and historydb verification + BlockchainVerifyTheadNum = 4 +) + +// ErrCorruptDB is returned if the database is corrupted +// The original corruption error is embedded +type ErrCorruptDB struct { + error +} + +// CheckDatabase checks the database for corruption, rebuild history if corrupted +func CheckDatabase(db *dbutil.DB, pubkey cipher.PubKey, quit chan struct{}) error { + elapser := elapse.NewElapser(time.Second*30, logger) + elapser.Register("CheckDatabase") + defer elapser.CheckForDone() + + var blocksBktExist bool + if err := db.View("CheckDatabase", func(tx *dbutil.Tx) error { + blocksBktExist = dbutil.Exists(tx, blockdb.BlocksBkt) + return nil + }); err != nil { + return err + } + + // Don't verify the db if the blocks bucket does not exist + if !blocksBktExist { + return nil + } + + bc, err := NewBlockchain(db, BlockchainConfig{Pubkey: pubkey}) + if err != nil { + return err + } + + history := historydb.New() + indexesMap := historydb.NewIndexesMap() + + var historyVerifyErr error + var lock sync.Mutex + verifyFunc := func(tx *dbutil.Tx, b *coin.SignedBlock) error { + // Verify signature + if err := bc.VerifySignature(b); err != nil { + return err + } + + // Verify historydb, we don't return the error of history.Verify here, + // as we have to check all signature, if we return error early here, the + // potential bad signature won't be detected. + lock.Lock() + defer lock.Unlock() + if historyVerifyErr == nil { + historyVerifyErr = history.Verify(tx, b, indexesMap) + } + return nil + } + + err = bc.WalkChain(BlockchainVerifyTheadNum, verifyFunc, quit) + switch err.(type) { + case nil: + lock.Lock() + err = historyVerifyErr + lock.Unlock() + return err + default: + return err + } +} + +// backup the corrypted db first, then rebuild the history DB. +func rebuildHistoryDB(db *dbutil.DB, history *historydb.HistoryDB, bc *Blockchain, quit chan struct{}) (*dbutil.DB, error) { //nolint:unused,megacheck + db, err := backupDB(db) + if err != nil { + return nil, err + } + + if err := db.Update("Rebuild history db", func(tx *dbutil.Tx) error { + if err := history.Erase(tx); err != nil { + return err + } + + headSeq, ok, err := bc.HeadSeq(tx) + if err != nil { + return err + } + + if !ok { + return errors.New("head block does not exist") + } + + for i := uint64(0); i <= headSeq; i++ { + select { + case <-quit: + return nil + default: + b, err := bc.GetSignedBlockBySeq(tx, i) + if err != nil { + return err + } + + if err := history.ParseBlock(tx, b.Block); err != nil { + return err + } + + if i%1000 == 0 { + logger.Critical().Infof("Parse block: %d", i) + } + } + } + return nil + }); err != nil { + return nil, err + } + return db, nil +} + +// backupDB makes a backup copy of the DB +func backupDB(db *dbutil.DB) (*dbutil.DB, error) { //nolint:unused,megacheck + // backup the corrupted database + dbReadOnly := db.IsReadOnly() + + dbPath := db.Path() + + if err := db.Close(); err != nil { + return nil, fmt.Errorf("Failed to close db: %v", err) + } + + corruptDBPath, err := copyCorruptDB(dbPath) + if err != nil { + return nil, fmt.Errorf("Failed to copy corrupted db: %v", err) + } + + logger.Critical().Infof("Copy corrupted db to %s", corruptDBPath) + + // Open the database again + return OpenDB(dbPath, dbReadOnly) +} + +// ResetCorruptDB checks the database for corruption and if corrupted and +// is ErrMissingSignature, then then it erases the db and starts over. +// If it's ErrHistoryDBCorrupted, then rebuild historydb from scratch. +// A copy of the corrupted database is saved. +func ResetCorruptDB(db *dbutil.DB, pubkey cipher.PubKey, quit chan struct{}) (*dbutil.DB, error) { + err := CheckDatabase(db, pubkey, quit) + switch err.(type) { + case nil: + return db, nil + case blockdb.ErrMissingSignature, + historydb.ErrHistoryDBCorrupted: + logger.Critical().Errorf("Database is corrupted, recreating db: %v", err) + return resetCorruptDB(db) + default: + return nil, err + } +} + +func rebuildCorruptDB(db *dbutil.DB, pubkey cipher.PubKey, quit chan struct{}) (*dbutil.DB, error) { //nolint:deadcode,unused,megacheck + history := historydb.New() + bc, err := NewBlockchain(db, BlockchainConfig{Pubkey: pubkey}) + if err != nil { + return nil, err + } + + return rebuildHistoryDB(db, history, bc, quit) +} + +// resetCorruptDB recreates the DB, making a backup copy marked as corrupted +func resetCorruptDB(db *dbutil.DB) (*dbutil.DB, error) { + dbReadOnly := db.IsReadOnly() + dbPath := db.Path() + + if err := db.Close(); err != nil { + return nil, fmt.Errorf("Failed to close db: %v", err) + } + + corruptDBPath, err := moveCorruptDB(dbPath) + if err != nil { + return nil, fmt.Errorf("Failed to copy corrupted db: %v", err) + } + + logger.Critical().Infof("Moved corrupted db to %s", corruptDBPath) + + return OpenDB(dbPath, dbReadOnly) +} + +// OpenDB opens the blockdb +func OpenDB(dbFile string, readOnly bool) (*dbutil.DB, error) { + db, err := bolt.Open(dbFile, 0600, &bolt.Options{ + Timeout: 5000 * time.Millisecond, + ReadOnly: readOnly, + }) + if err != nil { + return nil, fmt.Errorf("Open boltdb failed, %v", err) + } + + return dbutil.WrapDB(db), nil +} + +// moveCorruptDB moves a file to makeCorruptDBPath(dbPath) +func moveCorruptDB(dbPath string) (string, error) { + newDBPath, err := makeCorruptDBPath(dbPath) + if err != nil { + return "", err + } + + if err := os.Rename(dbPath, newDBPath); err != nil { + logger.Errorf("os.Rename(%s, %s) failed: %v", dbPath, newDBPath, err) + return "", err + } + + return newDBPath, nil +} + +// copyCorruptDB copy a file to makeCorruptDBPath(dbPath) +func copyCorruptDB(dbPath string) (string, error) { //nolint:unused,megacheck + newDBPath, err := makeCorruptDBPath(dbPath) + if err != nil { + return "", err + } + + in, err := os.Open(dbPath) + if err != nil { + return "", err + } + defer in.Close() + + out, err := os.Create(newDBPath) + if err != nil { + return "", err + } + defer out.Close() + logger.Critical().Info(out.Name()) + + _, err = io.Copy(in, out) + if err != nil { + return "", err + } + + if err := out.Close(); err != nil { + return "", err + } + + return newDBPath, nil +} + +// makeCorruptDBPath creates a $FILE.corrupt.$HASH string based on dbPath, +// where $HASH is truncated SHA1 of $FILE. +func makeCorruptDBPath(dbPath string) (string, error) { + dbFileHash, err := shaFileID(dbPath) + if err != nil { + return "", err + } + + dbDir, dbFile := filepath.Split(dbPath) + newDBFile := fmt.Sprintf("%s.corrupt.%s", dbFile, dbFileHash) + newDBPath := filepath.Join(dbDir, newDBFile) + + return newDBPath, nil +} + +// shaFileID return the first 8 bytes of the SHA1 hash of the file, +// hex-encoded +func shaFileID(dbPath string) (string, error) { + fi, err := os.Open(dbPath) + if err != nil { + return "", err + } + defer fi.Close() + + h := sha256.New() + if _, err := io.Copy(h, fi); err != nil { + return "", err + } + + sum := h.Sum(nil) + encodedSum := base64.RawURLEncoding.EncodeToString(sum[:8]) + return encodedSum, nil +} + +// VerifyDBSkyencoderSafe verifies that the skyencoder generated code has the same result as the encoder +// for all data in the blockchain +func VerifyDBSkyencoderSafe(db *dbutil.DB, quit <-chan struct{}) error { + return db.View("VerifyDBSkyencoderSafe", func(tx *dbutil.Tx) error { + return verifyDBSkyencoderSafe(tx, quit) + }) +} + +func verifyDBSkyencoderSafe(tx *dbutil.Tx, quit <-chan struct{}) error { + if quit == nil { + quit = make(chan struct{}) + } + + // blockdb + if err := blockdb.VerifyDBSkyencoderSafe(tx, quit); err != nil { + if err == blockdb.ErrVerifyStopped { + return ErrVerifyStopped + } + return err + } + + // historydb + if err := historydb.VerifyDBSkyencoderSafe(tx, quit); err != nil { + if err == historydb.ErrVerifyStopped { + return ErrVerifyStopped + } + return err + } + + // visor + if err := dbutil.ForEach(tx, UnconfirmedTxnsBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 UnconfirmedTransaction + if err := decodeUnconfirmedTransactionExact(v, &b1); err != nil { + return err + } + + var b2 UnconfirmedTransaction + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1, b2) { + return errors.New("UnconfirmedTxnsBkt unconfirmed transaction mismatch") + } + + return nil + }); err != nil { + return err + } + + if err := dbutil.ForEach(tx, UnconfirmedUnspentsBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 UxArray + if err := decodeUxArrayExact(v, &b1); err != nil { + return err + } + + var b2 coin.UxArray + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1.UxArray, b2) { + return errors.New("UnconfirmedUnspentsBkt ux out slice mismatch") + } + + return nil + }); err != nil { + return err + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/dbutil/dbutil.go b/vendor/github.com/skycoin/skycoin/src/visor/dbutil/dbutil.go new file mode 100644 index 00000000..a262a138 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/dbutil/dbutil.go @@ -0,0 +1,360 @@ +/* +Package dbutil provides boltdb utility methods +*/ +package dbutil + +import ( + "encoding/binary" + "encoding/json" + "errors" + "fmt" + "runtime/debug" + "sync" + "time" + + "github.com/boltdb/bolt" + + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/util/logging" +) + +var ( + logger = logging.MustGetLogger("dbutil") + txViewLog = false + txViewTrace = false + txUpdateLog = false + txUpdateTrace = false + txDurationLog = true + txDurationReportingThreshold = time.Millisecond * 100 +) + +// Tx wraps a Tx +type Tx struct { + *bolt.Tx +} + +// String is implemented to prevent a panic when mocking methods with *Tx arguments. +// The mock library forces arguments to be printed with %s which causes Tx to panic. +// See https://github.com/stretchr/testify/pull/596 +func (tx *Tx) String() string { + return fmt.Sprintf("%v", tx.Tx) +} + +// DB wraps a bolt.DB to add logging +type DB struct { + ViewLog bool + ViewTrace bool + UpdateLog bool + UpdateTrace bool + DurationLog bool + DurationReportingThreshold time.Duration + + *bolt.DB + + // shutdownLock is added to prevent closing the database while a View transaction is in progress + // bolt.DB will block for Update transactions but not for View transactions, and if + // the database is closed while in a View transaction, it will panic + // This will be fixed in coreos's bbolt after this PR is merged: + // https://github.com/coreos/bbolt/pull/91 + // When coreos has this feature, we can switch to coreos's bbolt and remove this lock + shutdownLock sync.RWMutex +} + +// WrapDB returns WrapDB +func WrapDB(db *bolt.DB) *DB { + return &DB{ + ViewLog: txViewLog, + UpdateLog: txUpdateLog, + ViewTrace: txViewTrace, + UpdateTrace: txUpdateTrace, + DurationLog: txDurationLog, + DurationReportingThreshold: txDurationReportingThreshold, + DB: db, + } +} + +// View wraps *bolt.DB.View to add logging +func (db *DB) View(name string, f func(*Tx) error) error { + db.shutdownLock.RLock() + defer db.shutdownLock.RUnlock() + + if db.ViewLog { + logger.Debug("db.View [%s] starting", name) + defer logger.Debug("db.View [%s] done", name) + } + if db.ViewTrace { + debug.PrintStack() + } + + t0 := time.Now() + + err := db.DB.View(func(tx *bolt.Tx) error { + return f(&Tx{tx}) + }) + + t1 := time.Now() + delta := t1.Sub(t0) + if db.DurationLog && delta > db.DurationReportingThreshold { + logger.Debugf("db.View [%s] elapsed %s", name, delta) + } + + return err +} + +// Update wraps *bolt.DB.Update to add logging +func (db *DB) Update(name string, f func(*Tx) error) error { + db.shutdownLock.RLock() + defer db.shutdownLock.RUnlock() + + if db.UpdateLog { + logger.Debug("db.Update [%s] starting", name) + defer logger.Debug("db.Update [%s] done", name) + } + if db.UpdateTrace { + debug.PrintStack() + } + + t0 := time.Now() + + err := db.DB.Update(func(tx *bolt.Tx) error { + return f(&Tx{tx}) + }) + + t1 := time.Now() + delta := t1.Sub(t0) + if db.DurationLog && delta > db.DurationReportingThreshold { + logger.Debugf("db.Update [%s] elapsed %s", name, delta) + } + + return err +} + +// Close closes the underlying *bolt.DB +func (db *DB) Close() error { + db.shutdownLock.Lock() + defer db.shutdownLock.Unlock() + + return db.DB.Close() +} + +// ErrCreateBucketFailed is returned if creating a bolt.DB bucket fails +type ErrCreateBucketFailed struct { + Bucket string + Err error +} + +func (e ErrCreateBucketFailed) Error() string { + return fmt.Sprintf("Create bucket \"%s\" failed: %v", e.Bucket, e.Err) +} + +// NewErrCreateBucketFailed returns an ErrCreateBucketFailed +func NewErrCreateBucketFailed(bucket []byte, err error) error { + return ErrCreateBucketFailed{ + Bucket: string(bucket), + Err: err, + } +} + +// ErrBucketNotExist is returned if a bolt.DB bucket does not exist +type ErrBucketNotExist struct { + Bucket string +} + +func (e ErrBucketNotExist) Error() string { + return fmt.Sprintf("Bucket \"%s\" doesn't exist", e.Bucket) +} + +// NewErrBucketNotExist returns an ErrBucketNotExist +func NewErrBucketNotExist(bucket []byte) error { + return ErrBucketNotExist{ + Bucket: string(bucket), + } +} + +// CreateBuckets creates multiple buckets +func CreateBuckets(tx *Tx, buckets [][]byte) error { + for _, b := range buckets { + if _, err := tx.CreateBucketIfNotExists(b); err != nil { + return NewErrCreateBucketFailed(b, err) + } + } + + return nil +} + +// GetBucketObjectDecoded returns an encoder-serialized value from a bucket, decoded to an object +func GetBucketObjectDecoded(tx *Tx, bktName, key []byte, obj interface{}) (bool, error) { + v, err := GetBucketValueNoCopy(tx, bktName, key) + if err != nil { + return false, err + } else if v == nil { + return false, nil + } + + if err := encoder.DeserializeRawExact(v, obj); err != nil { + return false, fmt.Errorf("encoder.DeserializeRawExact failed: %v", err) + } + + return true, nil +} + +// GetBucketObjectJSON returns a JSON value from a bucket, unmarshaled to an object +func GetBucketObjectJSON(tx *Tx, bktName, key []byte, obj interface{}) (bool, error) { + v, err := GetBucketValueNoCopy(tx, bktName, key) + if err != nil { + return false, err + } else if v == nil { + return false, nil + } + + if err := json.Unmarshal(v, obj); err != nil { + return false, fmt.Errorf("json.Unmarshal failed: %v", err) + } + + return true, nil +} + +// GetBucketString returns a string value from a bucket +func GetBucketString(tx *Tx, bktName, key []byte) (string, bool, error) { + v, err := GetBucketValueNoCopy(tx, bktName, key) + if err != nil { + return "", false, err + } else if v == nil { + return "", false, nil + } + + return string(v), true, nil +} + +// GetBucketValue returns a []byte value from a bucket. If the bucket does not exist, +// it returns an error of type ErrBucketNotExist +func GetBucketValue(tx *Tx, bktName, key []byte) ([]byte, error) { + v, err := GetBucketValueNoCopy(tx, bktName, key) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + // Bytes returned from boltdb are not valid outside of the transaction + // they are called in, make a copy + w := make([]byte, len(v)) + copy(w[:], v[:]) + + return w, nil +} + +// GetBucketValueNoCopy returns a value from a bucket. If the bucket does not exist, +// it returns an error of type ErrBucketNotExist. The byte value is not copied so is not valid +// outside of the database transaction +func GetBucketValueNoCopy(tx *Tx, bktName, key []byte) ([]byte, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return nil, NewErrBucketNotExist(bktName) + } + + return bkt.Get(key), nil +} + +// PutBucketValue puts a value into a bucket under key. +func PutBucketValue(tx *Tx, bktName, key, val []byte) error { + bkt := tx.Bucket(bktName) + if bkt == nil { + return NewErrBucketNotExist(bktName) + } + + return bkt.Put(key, val) +} + +// BucketHasKey returns true if a bucket has a non-nil value for a key +func BucketHasKey(tx *Tx, bktName, key []byte) (bool, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return false, NewErrBucketNotExist(bktName) + } + + v := bkt.Get(key) + return v != nil, nil +} + +// NextSequence returns the NextSequence() from the bucket +func NextSequence(tx *Tx, bktName []byte) (uint64, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return 0, NewErrBucketNotExist(bktName) + } + + return bkt.NextSequence() +} + +// ForEach calls ForEach on the bucket +func ForEach(tx *Tx, bktName []byte, f func(k, v []byte) error) error { + bkt := tx.Bucket(bktName) + if bkt == nil { + return NewErrBucketNotExist(bktName) + } + + return bkt.ForEach(f) +} + +// Delete deletes from a bucket +func Delete(tx *Tx, bktName, key []byte) error { + bkt := tx.Bucket(bktName) + if bkt == nil { + return NewErrBucketNotExist(bktName) + } + + return bkt.Delete(key) +} + +// Len returns the number of keys in a bucket +func Len(tx *Tx, bktName []byte) (uint64, error) { + bkt := tx.Bucket(bktName) + if bkt == nil { + return 0, NewErrBucketNotExist(bktName) + } + + bstats := bkt.Stats() + + if bstats.KeyN < 0 { + return 0, errors.New("Negative length queried from db stats") + } + + return uint64(bstats.KeyN), nil +} + +// IsEmpty returns true if the bucket is empty +func IsEmpty(tx *Tx, bktName []byte) (bool, error) { + length, err := Len(tx, bktName) + if err != nil { + return false, err + } + return length == 0, nil +} + +// Exists returns true if the bucket exists +func Exists(tx *Tx, bktName []byte) bool { + return tx.Bucket(bktName) != nil +} + +// Reset resets the bucket +func Reset(tx *Tx, bktName []byte) error { + if err := tx.DeleteBucket(bktName); err != nil { + return err + } + + _, err := tx.CreateBucket(bktName) + return err +} + +// Itob converts uint64 to bytes +func Itob(v uint64) []byte { + b := make([]byte, 8) + binary.BigEndian.PutUint64(b, v) + return b +} + +// Btoi converts bytes to uint64 +func Btoi(v []byte) uint64 { + return binary.BigEndian.Uint64(v) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/distribution.go b/vendor/github.com/skycoin/skycoin/src/visor/distribution.go new file mode 100644 index 00000000..7f480739 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/distribution.go @@ -0,0 +1,24 @@ +package visor + +import ( + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" +) + +// TransactionIsLocked returns true if the transaction spends locked outputs +func TransactionIsLocked(d params.Distribution, inUxs coin.UxArray) bool { + lockedAddrs := d.LockedAddresses() + lockedAddrsMap := make(map[string]struct{}) + for _, a := range lockedAddrs { + lockedAddrsMap[a] = struct{}{} + } + + for _, o := range inUxs { + uxAddr := o.Body.Address.String() + if _, ok := lockedAddrsMap[uxAddr]; ok { + return true + } + } + + return false +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn.go new file mode 100644 index 00000000..b8b06e0a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_txn.go @@ -0,0 +1,79 @@ +package historydb + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +//go:generate skyencoder -unexported -struct hashesWrapper + +// hashesWrapper wraps []cipher.SHA256 +type hashesWrapper struct { + Hashes []cipher.SHA256 +} + +// AddressTxnsBkt maps addresses to transaction hashes +var AddressTxnsBkt = []byte("address_txns") + +// addressTxn buckets for storing address related transactions +// address as key, transaction id slice as value +type addressTxns struct{} + +// get returns the transaction hashes of given address +func (atx *addressTxns) get(tx *dbutil.Tx, addr cipher.Address) ([]cipher.SHA256, error) { + var txnHashes hashesWrapper + + v, err := dbutil.GetBucketValueNoCopy(tx, AddressTxnsBkt, addr.Bytes()) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + if err := decodeHashesWrapperExact(v, &txnHashes); err != nil { + return nil, err + } + + return txnHashes.Hashes, nil +} + +// add adds a hash to an address's hash list +func (atx *addressTxns) add(tx *dbutil.Tx, addr cipher.Address, hash cipher.SHA256) error { + hashes, err := atx.get(tx, addr) + if err != nil { + return err + } + + // check for duplicates + for _, u := range hashes { + if u == hash { + return nil + } + } + + hashes = append(hashes, hash) + + buf, err := encodeHashesWrapper(&hashesWrapper{ + Hashes: hashes, + }) + if err != nil { + return err + } + + return dbutil.PutBucketValue(tx, AddressTxnsBkt, addr.Bytes(), buf) +} + +// contains returns true if an address has transactions +func (atx *addressTxns) contains(tx *dbutil.Tx, addr cipher.Address) (bool, error) { + return dbutil.BucketHasKey(tx, AddressTxnsBkt, addr.Bytes()) +} + +// isEmpty checks if address transactions bucket is empty +func (atx *addressTxns) isEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, AddressTxnsBkt) +} + +// reset resets the bucket +func (atx *addressTxns) reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, AddressTxnsBkt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_uxout.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_uxout.go new file mode 100644 index 00000000..93782f21 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/address_uxout.go @@ -0,0 +1,66 @@ +package historydb + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +// AddressUxBkt maps addresses to unspent outputs +var AddressUxBkt = []byte("address_in") + +// bucket for storing address with UxOut, key as address, value as UxOut. +type addressUx struct{} + +// get return nil on not found. +func (au *addressUx) get(tx *dbutil.Tx, addr cipher.Address) ([]cipher.SHA256, error) { + var uxHashes hashesWrapper + + v, err := dbutil.GetBucketValueNoCopy(tx, AddressUxBkt, addr.Bytes()) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + if err := decodeHashesWrapperExact(v, &uxHashes); err != nil { + return nil, err + } + + return uxHashes.Hashes, nil +} + +// add adds a hash to an address's hash list +func (au *addressUx) add(tx *dbutil.Tx, address cipher.Address, uxHash cipher.SHA256) error { + hashes, err := au.get(tx, address) + if err != nil { + return err + } + + // check for duplicate hashes + for _, u := range hashes { + if u == uxHash { + return nil + } + } + + hashes = append(hashes, uxHash) + + buf, err := encodeHashesWrapper(&hashesWrapper{ + Hashes: hashes, + }) + if err != nil { + return err + } + + return dbutil.PutBucketValue(tx, AddressUxBkt, address.Bytes(), buf) +} + +// isEmpty checks if the addressUx bucket is empty +func (au *addressUx) isEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, AddressUxBkt) +} + +// reset resets the bucket +func (au *addressUx) reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, AddressUxBkt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/hashes_wrapper_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/hashes_wrapper_skyencoder.go new file mode 100644 index 00000000..fc97fca4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/hashes_wrapper_skyencoder.go @@ -0,0 +1,126 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package historydb + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" +) + +// encodeSizeHashesWrapper computes the size of an encoded object of type hashesWrapper +func encodeSizeHashesWrapper(obj *hashesWrapper) uint64 { + i0 := uint64(0) + + // obj.Hashes + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 32 + + i0 += uint64(len(obj.Hashes)) * i1 + } + + return i0 +} + +// encodeHashesWrapper encodes an object of type hashesWrapper to a buffer allocated to the exact size +// required to encode the object. +func encodeHashesWrapper(obj *hashesWrapper) ([]byte, error) { + n := encodeSizeHashesWrapper(obj) + buf := make([]byte, n) + + if err := encodeHashesWrapperToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeHashesWrapperToBuffer encodes an object of type hashesWrapper to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeHashesWrapperToBuffer(buf []byte, obj *hashesWrapper) error { + if uint64(len(buf)) < encodeSizeHashesWrapper(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Hashes length check + if uint64(len(obj.Hashes)) > math.MaxUint32 { + return errors.New("obj.Hashes length exceeds math.MaxUint32") + } + + // obj.Hashes length + e.Uint32(uint32(len(obj.Hashes))) + + // obj.Hashes + for _, x := range obj.Hashes { + + // x + e.CopyBytes(x[:]) + + } + + return nil +} + +// decodeHashesWrapper decodes an object of type hashesWrapper from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeHashesWrapper(buf []byte, obj *hashesWrapper) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Hashes + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length != 0 { + obj.Hashes = make([]cipher.SHA256, length) + + for z1 := range obj.Hashes { + { + // obj.Hashes[z1] + if len(d.Buffer) < len(obj.Hashes[z1]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Hashes[z1][:], d.Buffer[:len(obj.Hashes[z1])]) + d.Buffer = d.Buffer[len(obj.Hashes[z1]):] + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeHashesWrapperExact decodes an object of type hashesWrapper from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeHashesWrapperExact(buf []byte, obj *hashesWrapper) error { + if n, err := decodeHashesWrapper(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta.go new file mode 100644 index 00000000..33a49e16 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/history_meta.go @@ -0,0 +1,36 @@ +package historydb + +import ( + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // HistoryMetaBkt holds history metadata + HistoryMetaBkt = []byte("history_meta") + parsedHeightKey = []byte("parsed_height") +) + +// historyMeta bucket for storing block history meta info +type historyMeta struct{} + +// parsedBlockSeq returns history parsed block seq +func (hm *historyMeta) parsedBlockSeq(tx *dbutil.Tx) (uint64, bool, error) { + v, err := dbutil.GetBucketValue(tx, HistoryMetaBkt, parsedHeightKey) + if err != nil { + return 0, false, err + } else if v == nil { + return 0, false, nil + } + + return dbutil.Btoi(v), true, nil +} + +// setParsedBlockSeq updates history parsed block seq +func (hm *historyMeta) setParsedBlockSeq(tx *dbutil.Tx, h uint64) error { + return dbutil.PutBucketValue(tx, HistoryMetaBkt, parsedHeightKey, dbutil.Itob(h)) +} + +// reset resets the bucket +func (hm *historyMeta) reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, HistoryMetaBkt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb.go new file mode 100644 index 00000000..28479f4e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/historydb.go @@ -0,0 +1,395 @@ +/* +Package historydb stores historical blockchain data. +*/ +package historydb + +import ( + "errors" + "fmt" + "sync" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var logger = logging.MustGetLogger("historydb") + +// CreateBuckets creates bolt.DB buckets used by the historydb +func CreateBuckets(tx *dbutil.Tx) error { + return dbutil.CreateBuckets(tx, [][]byte{ + AddressTxnsBkt, + AddressUxBkt, + HistoryMetaBkt, + UxOutsBkt, + TransactionsBkt, + }) +} + +// HistoryDB provides APIs for blockchain explorer +type HistoryDB struct { + outputs *uxOuts // outputs bucket + txns *transactions // transactions bucket + addrUx *addressUx // bucket which stores all UxOuts that address received + addrTxns *addressTxns // address related transaction bucket + meta *historyMeta // stores history meta info +} + +// New create HistoryDB instance +func New() *HistoryDB { + return &HistoryDB{ + outputs: &uxOuts{}, + txns: &transactions{}, + addrUx: &addressUx{}, + addrTxns: &addressTxns{}, + meta: &historyMeta{}, + } +} + +// NeedsReset checks if need to reset the parsed block history, +// If we have a new added bucket, we need to reset to parse +// blockchain again to get the new bucket filled. +func (hd *HistoryDB) NeedsReset(tx *dbutil.Tx) (bool, error) { + _, ok, err := hd.meta.parsedBlockSeq(tx) + if err != nil { + return false, err + } else if !ok { + return true, nil + } + + // if any of the following buckets are empty, need to reset + addrTxnsEmpty, err := hd.addrTxns.isEmpty(tx) + if err != nil { + return false, err + } + + addrUxEmpty, err := hd.addrUx.isEmpty(tx) + if err != nil { + return false, err + } + + txnsEmpty, err := hd.txns.isEmpty(tx) + if err != nil { + return false, err + } + + outputsEmpty, err := hd.outputs.isEmpty(tx) + if err != nil { + return false, err + } + + if addrTxnsEmpty || addrUxEmpty || txnsEmpty || outputsEmpty { + return true, nil + } + + return false, nil +} + +// Erase erases the entire HistoryDB +func (hd *HistoryDB) Erase(tx *dbutil.Tx) error { + logger.Debug("HistoryDB.reset") + if err := hd.addrTxns.reset(tx); err != nil { + return err + } + + if err := hd.addrUx.reset(tx); err != nil { + return err + } + + if err := hd.outputs.reset(tx); err != nil { + return err + } + + if err := hd.meta.reset(tx); err != nil { + return err + } + + return hd.txns.reset(tx) +} + +// ParsedBlockSeq returns the block seq up to which the HistoryDB is parsed +func (hd *HistoryDB) ParsedBlockSeq(tx *dbutil.Tx) (uint64, bool, error) { + return hd.meta.parsedBlockSeq(tx) +} + +// SetParsedBlockSeq sets the block seq up to which the HistoryDB is parsed +func (hd *HistoryDB) SetParsedBlockSeq(tx *dbutil.Tx, seq uint64) error { + return hd.meta.setParsedBlockSeq(tx, seq) +} + +// GetUxOuts get UxOut of specific uxIDs. +func (hd *HistoryDB) GetUxOuts(tx *dbutil.Tx, uxIDs []cipher.SHA256) ([]UxOut, error) { + return hd.outputs.getArray(tx, uxIDs) +} + +// ParseBlock builds indexes out of the block data +func (hd *HistoryDB) ParseBlock(tx *dbutil.Tx, b coin.Block) error { + for _, t := range b.Body.Transactions { + txn := Transaction{ + Txn: t, + BlockSeq: b.Seq(), + } + + spentTxnID := t.Hash() + + if err := hd.txns.put(tx, &txn); err != nil { + return err + } + + for _, in := range t.In { + o, err := hd.outputs.get(tx, in) + if err != nil { + return err + } + + if o == nil { + return errors.New("HistoryDB.ParseBlock: transaction input not found in outputs bucket") + } + + // update the output's spent block seq and txid + o.SpentBlockSeq = b.Seq() + o.SpentTxnID = spentTxnID + if err := hd.outputs.put(tx, *o); err != nil { + return err + } + + // store the IN address with txid + if err := hd.addrTxns.add(tx, o.Out.Body.Address, spentTxnID); err != nil { + return err + } + } + + // handle the tx out + uxArray := coin.CreateUnspents(b.Head, t) + for _, ux := range uxArray { + if err := hd.outputs.put(tx, UxOut{ + Out: ux, + }); err != nil { + return err + } + + if err := hd.addrUx.add(tx, ux.Body.Address, ux.Hash()); err != nil { + return err + } + + if err := hd.addrTxns.add(tx, ux.Body.Address, spentTxnID); err != nil { + return err + } + } + } + + return hd.SetParsedBlockSeq(tx, b.Seq()) +} + +// GetTransaction get transaction by hash. +func (hd HistoryDB) GetTransaction(tx *dbutil.Tx, hash cipher.SHA256) (*Transaction, error) { + return hd.txns.get(tx, hash) +} + +// GetOutputsForAddress get all uxout that the address affected. +func (hd HistoryDB) GetOutputsForAddress(tx *dbutil.Tx, addr cipher.Address) ([]UxOut, error) { + hashes, err := hd.addrUx.get(tx, addr) + if err != nil { + return nil, err + } + + return hd.outputs.getArray(tx, hashes) +} + +// GetTransactionsForAddress returns all the address related transactions +func (hd HistoryDB) GetTransactionsForAddress(tx *dbutil.Tx, addr cipher.Address) ([]Transaction, error) { + hashes, err := hd.addrTxns.get(tx, addr) + if err != nil { + return nil, err + } + + return hd.txns.getArray(tx, hashes) +} + +// AddressSeen returns true if the address appears in the blockchain +func (hd HistoryDB) AddressSeen(tx *dbutil.Tx, addr cipher.Address) (bool, error) { + return hd.addrTxns.contains(tx, addr) +} + +// ForEachTxn traverses the transactions bucket +func (hd HistoryDB) ForEachTxn(tx *dbutil.Tx, f func(cipher.SHA256, *Transaction) error) error { + return hd.txns.forEach(tx, f) +} + +// IndexesMap is a goroutine safe address indexes map +type IndexesMap struct { + value map[cipher.Address]AddressIndexes + lock sync.RWMutex +} + +// NewIndexesMap creates a IndexesMap instance +func NewIndexesMap() *IndexesMap { + return &IndexesMap{ + value: make(map[cipher.Address]AddressIndexes), + } +} + +// Load returns value of given key +func (im *IndexesMap) Load(addr cipher.Address) (AddressIndexes, bool) { + im.lock.RLock() + defer im.lock.RUnlock() + v, ok := im.value[addr] + return v, ok +} + +// Store saves address with indexes +func (im *IndexesMap) Store(addr cipher.Address, indexes AddressIndexes) { + im.lock.Lock() + defer im.lock.Unlock() + im.value[addr] = indexes +} + +// AddressIndexes represents the address indexes struct +type AddressIndexes struct { + TxnHashes map[cipher.SHA256]struct{} + UxHashes map[cipher.SHA256]struct{} +} + +// Verify checks if the historydb is corrupted +func (hd HistoryDB) Verify(tx *dbutil.Tx, b *coin.SignedBlock, indexesMap *IndexesMap) error { + for _, t := range b.Body.Transactions { + txnHash := t.Hash() + txn, err := hd.txns.get(tx, txnHash) + if err != nil { + return err + } + + if txn == nil { + err := fmt.Errorf("HistoryDB.Verify: transaction %v does not exist in historydb", txnHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + + for _, in := range t.In { + // Checks the existence of transaction input + o, err := hd.outputs.get(tx, in) + if err != nil { + return err + } + + if o == nil { + err := fmt.Errorf("HistoryDB.Verify: transaction input %v does not exist in historydb", in.Hex()) + return ErrHistoryDBCorrupted{err} + } + + // Checks the output's spend block seq + if o.SpentBlockSeq != b.Seq() { + err := fmt.Errorf("HistoryDB.Verify: spend block seq of transaction input %v is wrong, should be: %v, but is %v", + in.Hex(), b.Seq(), o.SpentBlockSeq) + return ErrHistoryDBCorrupted{err} + } + + addr := o.Out.Body.Address + txnHashesMap := map[cipher.SHA256]struct{}{} + uxHashesMap := map[cipher.SHA256]struct{}{} + + // Checks if the address indexes already loaded into memory + indexes, ok := indexesMap.Load(addr) + if ok { + txnHashesMap = indexes.TxnHashes + uxHashesMap = indexes.UxHashes + } else { + txnHashes, err := hd.addrTxns.get(tx, addr) + if err != nil { + return err + } + for _, hash := range txnHashes { + txnHashesMap[hash] = struct{}{} + } + + uxHashes, err := hd.addrUx.get(tx, addr) + if err != nil { + return err + } + for _, hash := range uxHashes { + uxHashesMap[hash] = struct{}{} + } + + indexesMap.Store(addr, AddressIndexes{ + TxnHashes: txnHashesMap, + UxHashes: uxHashesMap, + }) + } + + if _, ok := txnHashesMap[txnHash]; !ok { + err := fmt.Errorf("HistoryDB.Verify: index of address transaction [%s:%s] does not exist in historydb", + addr, txnHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + + if _, ok := uxHashesMap[in]; !ok { + err := fmt.Errorf("HistoryDB.Verify: index of address uxout [%s:%s] does not exist in historydb", + addr, in.Hex()) + return ErrHistoryDBCorrupted{err} + } + } + + // Checks the transaction outs + uxArray := coin.CreateUnspents(b.Head, t) + for _, ux := range uxArray { + uxHash := ux.Hash() + out, err := hd.outputs.get(tx, uxHash) + if err != nil { + return err + } + + if out == nil { + err := fmt.Errorf("HistoryDB.Verify: transaction output %s does not exist in historydb", uxHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + + addr := ux.Body.Address + txnHashesMap := map[cipher.SHA256]struct{}{} + indexes, ok := indexesMap.Load(addr) + if ok { + txnHashesMap = indexes.TxnHashes + } else { + txnHashes, err := hd.addrTxns.get(tx, addr) + if err != nil { + return err + } + for _, hash := range txnHashes { + txnHashesMap[hash] = struct{}{} + } + + uxHashes, err := hd.addrUx.get(tx, addr) + if err != nil { + return err + } + + uxHashesMap := make(map[cipher.SHA256]struct{}, len(uxHashes)) + for _, hash := range uxHashes { + uxHashesMap[hash] = struct{}{} + } + + indexesMap.Store(addr, AddressIndexes{ + TxnHashes: txnHashesMap, + UxHashes: uxHashesMap, + }) + } + + if _, ok := txnHashesMap[txnHash]; !ok { + err := fmt.Errorf("HistoryDB.Verify: index of address transaction [%s:%s] does not exist in historydb", + addr, txnHash.Hex()) + return ErrHistoryDBCorrupted{err} + } + } + } + return nil +} + +// ErrHistoryDBCorrupted is returned when found the historydb is corrupted +type ErrHistoryDBCorrupted struct { + error +} + +// NewErrHistoryDBCorrupted is for user to be able to create ErrHistoryDBCorrupted instance +// outside of the package +func NewErrHistoryDBCorrupted(err error) ErrHistoryDBCorrupted { + return ErrHistoryDBCorrupted{err} +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/output.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/output.go new file mode 100644 index 00000000..d639a918 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/output.go @@ -0,0 +1,102 @@ +package historydb + +import ( + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +//go:generate skyencoder -unexported -struct UxOut + +// UxOutsBkt holds unspent outputs +var UxOutsBkt = []byte("uxouts") + +// UxOut expend coin.UxOut struct +type UxOut struct { + Out coin.UxOut + SpentTxnID cipher.SHA256 // id of tx which spent this output. + SpentBlockSeq uint64 // block seq that spent the output. +} + +// Hash returns outhash +func (o UxOut) Hash() cipher.SHA256 { + return o.Out.Hash() +} + +// ErrUxOutNotExist is returned if an uxout is not found in historydb +type ErrUxOutNotExist struct { + UxID string +} + +// NewErrUxOutNotExist creates ErrUxOutNotExist from a UxID +func NewErrUxOutNotExist(uxID string) error { + return ErrUxOutNotExist{ + UxID: uxID, + } +} + +func (e ErrUxOutNotExist) Error() string { + return fmt.Sprintf("uxout of %s does not exist", e.UxID) +} + +// uxOuts bucket stores outputs, UxOut hash as key and Output as value. +type uxOuts struct{} + +// put sets out value +func (ux *uxOuts) put(tx *dbutil.Tx, out UxOut) error { + hash := out.Hash() + + buf, err := encodeUxOut(&out) + if err != nil { + return err + } + + return dbutil.PutBucketValue(tx, UxOutsBkt, hash[:], buf) +} + +// get gets UxOut of given id +func (ux *uxOuts) get(tx *dbutil.Tx, uxID cipher.SHA256) (*UxOut, error) { + var out UxOut + + v, err := dbutil.GetBucketValueNoCopy(tx, UxOutsBkt, uxID[:]) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + if err := decodeUxOutExact(v, &out); err != nil { + return nil, err + } + + return &out, nil +} + +// getArray returns uxOuts for a set of uxids, will return error if any of the uxids do not exist +func (ux *uxOuts) getArray(tx *dbutil.Tx, uxIDs []cipher.SHA256) ([]UxOut, error) { + var outs []UxOut + for _, uxID := range uxIDs { + out, err := ux.get(tx, uxID) + if err != nil { + return nil, err + } else if out == nil { + return nil, NewErrUxOutNotExist(uxID.Hex()) + } + + outs = append(outs, *out) + } + + return outs, nil +} + +// isEmpty checks if the uxout bucekt is empty +func (ux *uxOuts) isEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, UxOutsBkt) +} + +// reset resets the bucket +func (ux *uxOuts) reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, UxOutsBkt) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction.go new file mode 100644 index 00000000..1b267142 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction.go @@ -0,0 +1,107 @@ +package historydb + +// transaction.go mainly provides transaction corresponding buckets and apis, +// The transactions bucket, tx hash as key, and tx as value, it's the main bucket that stores the +// transaction value. All other buckets that index different field of transaction will only records the +// transaction hash, and get the tx value from transactions bucket. + +import ( + "errors" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +//go:generate skyencoder -unexported -struct Transaction + +// Transaction contains transaction info and the seq of block which executed this block. +type Transaction struct { + Txn coin.Transaction + BlockSeq uint64 +} + +// Hash return the Txn hash. +func (txn *Transaction) Hash() cipher.SHA256 { + return txn.Txn.Hash() +} + +// TransactionsBkt holds Transactions +var TransactionsBkt = []byte("transactions") + +// Transactions transaction bucket instance. +type transactions struct{} + +// put transaction in the db +func (txs *transactions) put(tx *dbutil.Tx, txn *Transaction) error { + hash := txn.Hash() + buf, err := encodeTransaction(txn) + if err != nil { + return err + } + + return dbutil.PutBucketValue(tx, TransactionsBkt, hash[:], buf) +} + +// get gets transaction by transaction hash, return nil on not found +func (txs *transactions) get(tx *dbutil.Tx, hash cipher.SHA256) (*Transaction, error) { + var txn Transaction + + v, err := dbutil.GetBucketValueNoCopy(tx, TransactionsBkt, hash[:]) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + if err := decodeTransactionExact(v, &txn); err != nil { + return nil, err + } + + return &txn, nil +} + +// getArray returns transactions slice of given hashes +func (txs *transactions) getArray(tx *dbutil.Tx, hashes []cipher.SHA256) ([]Transaction, error) { + txns := make([]Transaction, 0, len(hashes)) + for _, h := range hashes { + txn, err := txs.get(tx, h) + if err != nil { + return nil, err + } + if txn == nil { + return nil, errors.New("Transaction not found") + } + + txns = append(txns, *txn) + } + + return txns, nil +} + +// isEmpty checks if transaction bucket is empty +func (txs *transactions) isEmpty(tx *dbutil.Tx) (bool, error) { + return dbutil.IsEmpty(tx, TransactionsBkt) +} + +// reset resets the bucket +func (txs *transactions) reset(tx *dbutil.Tx) error { + return dbutil.Reset(tx, TransactionsBkt) +} + +// forEach traverses the transactions in db +func (txs *transactions) forEach(tx *dbutil.Tx, f func(cipher.SHA256, *Transaction) error) error { + return dbutil.ForEach(tx, TransactionsBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromBytes(k) + if err != nil { + return err + } + + var txn Transaction + if err := decodeTransactionExact(v, &txn); err != nil { + return err + } + + return f(hash, &txn) + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction_skyencoder.go new file mode 100644 index 00000000..a102d8c3 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/transaction_skyencoder.go @@ -0,0 +1,373 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package historydb + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeTransaction computes the size of an encoded object of type Transaction +func encodeSizeTransaction(obj *Transaction) uint64 { + i0 := uint64(0) + + // obj.Txn.Length + i0 += 4 + + // obj.Txn.Type + i0++ + + // obj.Txn.InnerHash + i0 += 32 + + // obj.Txn.Sigs + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 65 + + i0 += uint64(len(obj.Txn.Sigs)) * i1 + } + + // obj.Txn.In + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 32 + + i0 += uint64(len(obj.Txn.In)) * i1 + } + + // obj.Txn.Out + i0 += 4 + { + i1 := uint64(0) + + // x1.Address.Version + i1++ + + // x1.Address.Key + i1 += 20 + + // x1.Coins + i1 += 8 + + // x1.Hours + i1 += 8 + + i0 += uint64(len(obj.Txn.Out)) * i1 + } + + // obj.BlockSeq + i0 += 8 + + return i0 +} + +// encodeTransaction encodes an object of type Transaction to a buffer allocated to the exact size +// required to encode the object. +func encodeTransaction(obj *Transaction) ([]byte, error) { + n := encodeSizeTransaction(obj) + buf := make([]byte, n) + + if err := encodeTransactionToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeTransactionToBuffer encodes an object of type Transaction to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeTransactionToBuffer(buf []byte, obj *Transaction) error { + if uint64(len(buf)) < encodeSizeTransaction(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Txn.Length + e.Uint32(obj.Txn.Length) + + // obj.Txn.Type + e.Uint8(obj.Txn.Type) + + // obj.Txn.InnerHash + e.CopyBytes(obj.Txn.InnerHash[:]) + + // obj.Txn.Sigs maxlen check + if len(obj.Txn.Sigs) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Txn.Sigs length check + if uint64(len(obj.Txn.Sigs)) > math.MaxUint32 { + return errors.New("obj.Txn.Sigs length exceeds math.MaxUint32") + } + + // obj.Txn.Sigs length + e.Uint32(uint32(len(obj.Txn.Sigs))) + + // obj.Txn.Sigs + for _, x := range obj.Txn.Sigs { + + // x + e.CopyBytes(x[:]) + + } + + // obj.Txn.In maxlen check + if len(obj.Txn.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Txn.In length check + if uint64(len(obj.Txn.In)) > math.MaxUint32 { + return errors.New("obj.Txn.In length exceeds math.MaxUint32") + } + + // obj.Txn.In length + e.Uint32(uint32(len(obj.Txn.In))) + + // obj.Txn.In + for _, x := range obj.Txn.In { + + // x + e.CopyBytes(x[:]) + + } + + // obj.Txn.Out maxlen check + if len(obj.Txn.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Txn.Out length check + if uint64(len(obj.Txn.Out)) > math.MaxUint32 { + return errors.New("obj.Txn.Out length exceeds math.MaxUint32") + } + + // obj.Txn.Out length + e.Uint32(uint32(len(obj.Txn.Out))) + + // obj.Txn.Out + for _, x := range obj.Txn.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + // obj.BlockSeq + e.Uint64(obj.BlockSeq) + + return nil +} + +// decodeTransaction decodes an object of type Transaction from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeTransaction(buf []byte, obj *Transaction) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Txn.Length + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Txn.Length = i + } + + { + // obj.Txn.Type + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Txn.Type = i + } + + { + // obj.Txn.InnerHash + if len(d.Buffer) < len(obj.Txn.InnerHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Txn.InnerHash[:], d.Buffer[:len(obj.Txn.InnerHash)]) + d.Buffer = d.Buffer[len(obj.Txn.InnerHash):] + } + + { + // obj.Txn.Sigs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Txn.Sigs = make([]cipher.Sig, length) + + for z2 := range obj.Txn.Sigs { + { + // obj.Txn.Sigs[z2] + if len(d.Buffer) < len(obj.Txn.Sigs[z2]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Txn.Sigs[z2][:], d.Buffer[:len(obj.Txn.Sigs[z2])]) + d.Buffer = d.Buffer[len(obj.Txn.Sigs[z2]):] + } + + } + } + } + + { + // obj.Txn.In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Txn.In = make([]cipher.SHA256, length) + + for z2 := range obj.Txn.In { + { + // obj.Txn.In[z2] + if len(d.Buffer) < len(obj.Txn.In[z2]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Txn.In[z2][:], d.Buffer[:len(obj.Txn.In[z2])]) + d.Buffer = d.Buffer[len(obj.Txn.In[z2]):] + } + + } + } + } + + { + // obj.Txn.Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Txn.Out = make([]coin.TransactionOutput, length) + + for z2 := range obj.Txn.Out { + { + // obj.Txn.Out[z2].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Txn.Out[z2].Address.Version = i + } + + { + // obj.Txn.Out[z2].Address.Key + if len(d.Buffer) < len(obj.Txn.Out[z2].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Txn.Out[z2].Address.Key[:], d.Buffer[:len(obj.Txn.Out[z2].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Txn.Out[z2].Address.Key):] + } + + { + // obj.Txn.Out[z2].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Txn.Out[z2].Coins = i + } + + { + // obj.Txn.Out[z2].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Txn.Out[z2].Hours = i + } + + } + } + } + + { + // obj.BlockSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.BlockSeq = i + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeTransactionExact decodes an object of type Transaction from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeTransactionExact(buf []byte, obj *Transaction) error { + if n, err := decodeTransaction(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/ux_out_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/ux_out_skyencoder.go new file mode 100644 index 00000000..4ecbef4f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/ux_out_skyencoder.go @@ -0,0 +1,198 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package historydb + +import "github.com/skycoin/skycoin/src/cipher/encoder" + +// encodeSizeUxOut computes the size of an encoded object of type UxOut +func encodeSizeUxOut(obj *UxOut) uint64 { + i0 := uint64(0) + + // obj.Out.Head.Time + i0 += 8 + + // obj.Out.Head.BkSeq + i0 += 8 + + // obj.Out.Body.SrcTransaction + i0 += 32 + + // obj.Out.Body.Address.Version + i0++ + + // obj.Out.Body.Address.Key + i0 += 20 + + // obj.Out.Body.Coins + i0 += 8 + + // obj.Out.Body.Hours + i0 += 8 + + // obj.SpentTxnID + i0 += 32 + + // obj.SpentBlockSeq + i0 += 8 + + return i0 +} + +// encodeUxOut encodes an object of type UxOut to a buffer allocated to the exact size +// required to encode the object. +func encodeUxOut(obj *UxOut) ([]byte, error) { + n := encodeSizeUxOut(obj) + buf := make([]byte, n) + + if err := encodeUxOutToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeUxOutToBuffer encodes an object of type UxOut to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeUxOutToBuffer(buf []byte, obj *UxOut) error { + if uint64(len(buf)) < encodeSizeUxOut(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Out.Head.Time + e.Uint64(obj.Out.Head.Time) + + // obj.Out.Head.BkSeq + e.Uint64(obj.Out.Head.BkSeq) + + // obj.Out.Body.SrcTransaction + e.CopyBytes(obj.Out.Body.SrcTransaction[:]) + + // obj.Out.Body.Address.Version + e.Uint8(obj.Out.Body.Address.Version) + + // obj.Out.Body.Address.Key + e.CopyBytes(obj.Out.Body.Address.Key[:]) + + // obj.Out.Body.Coins + e.Uint64(obj.Out.Body.Coins) + + // obj.Out.Body.Hours + e.Uint64(obj.Out.Body.Hours) + + // obj.SpentTxnID + e.CopyBytes(obj.SpentTxnID[:]) + + // obj.SpentBlockSeq + e.Uint64(obj.SpentBlockSeq) + + return nil +} + +// decodeUxOut decodes an object of type UxOut from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeUxOut(buf []byte, obj *UxOut) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Out.Head.Time + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out.Head.Time = i + } + + { + // obj.Out.Head.BkSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out.Head.BkSeq = i + } + + { + // obj.Out.Body.SrcTransaction + if len(d.Buffer) < len(obj.Out.Body.SrcTransaction) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Out.Body.SrcTransaction[:], d.Buffer[:len(obj.Out.Body.SrcTransaction)]) + d.Buffer = d.Buffer[len(obj.Out.Body.SrcTransaction):] + } + + { + // obj.Out.Body.Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Out.Body.Address.Version = i + } + + { + // obj.Out.Body.Address.Key + if len(d.Buffer) < len(obj.Out.Body.Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Out.Body.Address.Key[:], d.Buffer[:len(obj.Out.Body.Address.Key)]) + d.Buffer = d.Buffer[len(obj.Out.Body.Address.Key):] + } + + { + // obj.Out.Body.Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out.Body.Coins = i + } + + { + // obj.Out.Body.Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Out.Body.Hours = i + } + + { + // obj.SpentTxnID + if len(d.Buffer) < len(obj.SpentTxnID) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.SpentTxnID[:], d.Buffer[:len(obj.SpentTxnID)]) + d.Buffer = d.Buffer[len(obj.SpentTxnID):] + } + + { + // obj.SpentBlockSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.SpentBlockSeq = i + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeUxOutExact decodes an object of type UxOut from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeUxOutExact(buf []byte, obj *UxOut) error { + if n, err := decodeUxOut(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/historydb/verify.go b/vendor/github.com/skycoin/skycoin/src/visor/historydb/verify.go new file mode 100644 index 00000000..27a53c23 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/historydb/verify.go @@ -0,0 +1,129 @@ +package historydb + +import ( + "errors" + "reflect" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // ErrVerifyStopped is returned when database verification is interrupted + ErrVerifyStopped = errors.New("database verification stopped") +) + +// VerifyDBSkyencoderSafe verifies that the skyencoder generated code has the same result as the encoder +// for all data in the blockchain +func VerifyDBSkyencoderSafe(tx *dbutil.Tx, quit <-chan struct{}) error { + if quit == nil { + quit = make(chan struct{}) + } + + if err := dbutil.ForEach(tx, AddressTxnsBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 hashesWrapper + if err := decodeHashesWrapperExact(v, &b1); err != nil { + return err + } + + var b2 []cipher.SHA256 + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1.Hashes, b2) { + return errors.New("AddressTxnsBkt sha256 hashes mismatch") + } + + return nil + }); err != nil { + return err + } + + if err := dbutil.ForEach(tx, AddressUxBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 hashesWrapper + if err := decodeHashesWrapperExact(v, &b1); err != nil { + return err + } + + var b2 []cipher.SHA256 + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1.Hashes, b2) { + return errors.New("AddressUxBkt sha256 hashes mismatch") + } + + return nil + }); err != nil { + return err + } + + if err := dbutil.ForEach(tx, UxOutsBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 UxOut + if err := decodeUxOutExact(v, &b1); err != nil { + return err + } + + var b2 UxOut + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1, b2) { + return errors.New("UxOutsBkt ux out mismatch") + } + + return nil + }); err != nil { + return err + } + + if err := dbutil.ForEach(tx, TransactionsBkt, func(_, v []byte) error { + select { + case <-quit: + return ErrVerifyStopped + default: + } + + var b1 Transaction + if err := decodeTransactionExact(v, &b1); err != nil { + return err + } + + var b2 Transaction + if err := encoder.DeserializeRawExact(v, &b2); err != nil { + return err + } + + if !reflect.DeepEqual(b1, b2) { + return errors.New("TransactionsBkt ux out mismatch") + } + + return nil + }); err != nil { + return err + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/interfaces.go b/vendor/github.com/skycoin/skycoin/src/visor/interfaces.go new file mode 100644 index 00000000..33c99b25 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/interfaces.go @@ -0,0 +1,71 @@ +package visor + +import ( + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/visor/historydb" +) + +//go:generate mockery -name Historyer -case underscore -inpkg -testonly +//go:generate mockery -name Blockchainer -case underscore -inpkg -testonly +//go:generate mockery -name UnconfirmedTransactionPooler -case underscore -inpkg -testonly + +// Historyer is the interface that provides methods for accessing history data that are parsed from blockchain. +type Historyer interface { + GetUxOuts(tx *dbutil.Tx, uxids []cipher.SHA256) ([]historydb.UxOut, error) + ParseBlock(tx *dbutil.Tx, b coin.Block) error + GetTransaction(tx *dbutil.Tx, hash cipher.SHA256) (*historydb.Transaction, error) + GetOutputsForAddress(tx *dbutil.Tx, address cipher.Address) ([]historydb.UxOut, error) + GetTransactionsForAddress(tx *dbutil.Tx, address cipher.Address) ([]historydb.Transaction, error) + AddressSeen(tx *dbutil.Tx, address cipher.Address) (bool, error) + NeedsReset(tx *dbutil.Tx) (bool, error) + Erase(tx *dbutil.Tx) error + ParsedBlockSeq(tx *dbutil.Tx) (uint64, bool, error) + ForEachTxn(tx *dbutil.Tx, f func(cipher.SHA256, *historydb.Transaction) error) error +} + +// Blockchainer is the interface that provides methods for accessing the blockchain data +type Blockchainer interface { + GetGenesisBlock(tx *dbutil.Tx) (*coin.SignedBlock, error) + GetBlocks(tx *dbutil.Tx, seqs []uint64) ([]coin.SignedBlock, error) + GetBlocksInRange(tx *dbutil.Tx, start, end uint64) ([]coin.SignedBlock, error) + GetLastBlocks(tx *dbutil.Tx, n uint64) ([]coin.SignedBlock, error) + GetSignedBlockByHash(tx *dbutil.Tx, hash cipher.SHA256) (*coin.SignedBlock, error) + GetSignedBlockBySeq(tx *dbutil.Tx, seq uint64) (*coin.SignedBlock, error) + Unspent() blockdb.UnspentPooler + Len(tx *dbutil.Tx) (uint64, error) + Head(tx *dbutil.Tx) (*coin.SignedBlock, error) + HeadSeq(tx *dbutil.Tx) (uint64, bool, error) + Time(tx *dbutil.Tx) (uint64, error) + NewBlock(tx *dbutil.Tx, txns coin.Transactions, currentTime uint64) (*coin.Block, error) + ExecuteBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error + VerifyBlock(tx *dbutil.Tx, sb *coin.SignedBlock) error + VerifyBlockTxnConstraints(tx *dbutil.Tx, txn coin.Transaction) error + VerifySingleTxnHardConstraints(tx *dbutil.Tx, txn coin.Transaction, signed TxnSignedFlag) error + VerifySingleTxnSoftHardConstraints(tx *dbutil.Tx, txn coin.Transaction, distParams params.Distribution, verifyParams params.VerifyTxn, signed TxnSignedFlag) (*coin.SignedBlock, coin.UxArray, error) + TransactionFee(tx *dbutil.Tx, hours uint64) coin.FeeCalculator +} + +// UnconfirmedTransactionPooler is the interface that provides methods for +// accessing the unconfirmed transaction pool +type UnconfirmedTransactionPooler interface { + SetTransactionsAnnounced(tx *dbutil.Tx, hashes map[cipher.SHA256]int64) error + InjectTransaction(tx *dbutil.Tx, bc Blockchainer, t coin.Transaction, distParams params.Distribution, verifyParams params.VerifyTxn) (bool, *ErrTxnViolatesSoftConstraint, error) + AllRawTransactions(tx *dbutil.Tx) (coin.Transactions, error) + RemoveTransactions(tx *dbutil.Tx, txns []cipher.SHA256) error + Refresh(tx *dbutil.Tx, bc Blockchainer, distParams params.Distribution, verifyParams params.VerifyTxn) ([]cipher.SHA256, error) + RemoveInvalid(tx *dbutil.Tx, bc Blockchainer) ([]cipher.SHA256, error) + FilterKnown(tx *dbutil.Tx, txns []cipher.SHA256) ([]cipher.SHA256, error) + GetKnown(tx *dbutil.Tx, txns []cipher.SHA256) (coin.Transactions, error) + RecvOfAddresses(tx *dbutil.Tx, bh coin.BlockHeader, addrs []cipher.Address) (coin.AddressUxOuts, error) + GetIncomingOutputs(tx *dbutil.Tx, bh coin.BlockHeader) (coin.UxArray, error) + Get(tx *dbutil.Tx, hash cipher.SHA256) (*UnconfirmedTransaction, error) + GetFiltered(tx *dbutil.Tx, filter func(tx UnconfirmedTransaction) bool) ([]UnconfirmedTransaction, error) + GetHashes(tx *dbutil.Tx, filter func(tx UnconfirmedTransaction) bool) ([]cipher.SHA256, error) + ForEach(tx *dbutil.Tx, f func(cipher.SHA256, UnconfirmedTransaction) error) error + GetUnspentsOfAddr(tx *dbutil.Tx, addr cipher.Address) (coin.UxArray, error) + Len(tx *dbutil.Tx) (uint64, error) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/meta.go b/vendor/github.com/skycoin/skycoin/src/visor/meta.go new file mode 100644 index 00000000..54166f51 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/meta.go @@ -0,0 +1,71 @@ +package visor + +import ( + "fmt" + + "github.com/blang/semver" + + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // MetaBkt stores data about the application DB + MetaBkt = []byte("db_meta") + + versionKey = []byte("version") +) + +// GetDBVersion returns the saved DB version +func GetDBVersion(db *dbutil.DB) (*semver.Version, error) { + var v *semver.Version + if err := db.View("GetDBVersion", func(tx *dbutil.Tx) error { + var err error + v, err = getDBVersion(tx) + return err + }); err != nil { + return nil, err + } + + return v, nil +} + +func getDBVersion(tx *dbutil.Tx) (*semver.Version, error) { + v, err := dbutil.GetBucketValue(tx, MetaBkt, versionKey) + if err != nil { + switch err.(type) { + case dbutil.ErrBucketNotExist: + return nil, nil + default: + return nil, err + } + } else if v == nil { + return nil, nil + } + + sv, err := semver.Make(string(v)) + if err != nil { + return nil, err + } + + return &sv, nil +} + +// SetDBVersion sets the DB version +func SetDBVersion(db *dbutil.DB, version semver.Version) error { + return db.Update("SetDBVersion", func(tx *dbutil.Tx) error { + if _, err := tx.CreateBucketIfNotExists(MetaBkt); err != nil { + return err + } + + oldVersion, err := getDBVersion(tx) + if err != nil { + return err + } + + if oldVersion != nil && oldVersion.GT(version) { + return fmt.Errorf("SetDBVersion cannot regress version from %v to %v", oldVersion, version) + } + + return dbutil.PutBucketValue(tx, MetaBkt, versionKey, []byte(version.String())) + }) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/objects.go b/vendor/github.com/skycoin/skycoin/src/visor/objects.go new file mode 100644 index 00000000..d407a08c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/objects.go @@ -0,0 +1,213 @@ +package visor + +import ( + "time" + + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/transaction" +) + +// Transaction wraps around coin.Transaction, tagged with its status. This allows us +// to include unconfirmed txns +type Transaction struct { + Transaction coin.Transaction + Status TransactionStatus + Time uint64 +} + +// TransactionStatus represents the transaction status +type TransactionStatus struct { + Confirmed bool + // If confirmed, how many blocks deep in the chain it is. Will be at least 1 if confirmed. + Height uint64 + // If confirmed, the sequence of the block in which the transaction was executed + BlockSeq uint64 +} + +// NewUnconfirmedTransactionStatus creates unconfirmed transaction status +func NewUnconfirmedTransactionStatus() TransactionStatus { + return TransactionStatus{ + Confirmed: false, + Height: 0, + BlockSeq: 0, + } +} + +// NewConfirmedTransactionStatus creates confirmed transaction status +func NewConfirmedTransactionStatus(height, blockSeq uint64) TransactionStatus { + // Height starts at 1 + // TODO -- height should start at 0? + if height == 0 { + logger.Panic("Invalid confirmed transaction height") + } + return TransactionStatus{ + Confirmed: true, + Height: height, + BlockSeq: blockSeq, + } +} + +// TransactionInput includes the UxOut spent in a transaction and the calculated hours of the output at spending time +type TransactionInput struct { + UxOut coin.UxOut + CalculatedHours uint64 +} + +// NewTransactionInput creates a TransactionInput. +// calculateHoursTime is the time against which the CalculatedHours should be computed +func NewTransactionInput(ux coin.UxOut, calculateHoursTime uint64) (TransactionInput, error) { + // The overflow bug causes this to fail for some transactions, allow it to pass + calculatedHours, err := ux.CoinHours(calculateHoursTime) + if err != nil { + logger.Critical().Warningf("Ignoring NewTransactionInput ux.CoinHours failed: %v", err) + calculatedHours = 0 + } + + return TransactionInput{ + UxOut: ux, + CalculatedHours: calculatedHours, + }, nil +} + +// NewTransactionInputs creates []TransactionInput from []coin.UxOut. +// Assumes all coin.UxOuts have their coin hours calculated from the same reference time. +func NewTransactionInputs(uxa []coin.UxOut, calculateHoursTime uint64) ([]TransactionInput, error) { + if len(uxa) == 0 { + return nil, nil + } + + inputs := make([]TransactionInput, len(uxa)) + for i, x := range uxa { + var err error + inputs[i], err = NewTransactionInput(x, calculateHoursTime) + if err != nil { + return nil, err + } + } + + return inputs, nil +} + +// TransactionInputFromUxBalance converts transaction.UxBalance to TransactionInput +func TransactionInputFromUxBalance(x transaction.UxBalance) TransactionInput { + var t TransactionInput + t.CalculatedHours = x.Hours + t.UxOut.Head.BkSeq = x.BkSeq + t.UxOut.Head.Time = x.Time + t.UxOut.Body.Address = x.Address + t.UxOut.Body.Coins = x.Coins + t.UxOut.Body.Hours = x.InitialHours + t.UxOut.Body.SrcTransaction = x.SrcTransaction + + if t.UxOut.Hash() != x.Hash { + logger.Panic("Reconstructed coin.UxOut from transaction.UxBalance hash does not match") + } + + return t +} + +// NewTransactionInputsFromUxBalance converts []transaction.UxBalance to []TransactionInput +func NewTransactionInputsFromUxBalance(uxb []transaction.UxBalance) []TransactionInput { + if len(uxb) == 0 { + return nil + } + + inputs := make([]TransactionInput, len(uxb)) + for i, x := range uxb { + inputs[i] = TransactionInputFromUxBalance(x) + } + + return inputs +} + +// BlockchainMetadata encapsulates useful information from the coin.Blockchain +type BlockchainMetadata struct { + // Most recent block + HeadBlock coin.SignedBlock + // Number of unspent outputs in the coin.Blockchain + Unspents uint64 + // Number of known unconfirmed txns + Unconfirmed uint64 +} + +// NewBlockchainMetadata creates blockchain meta data +func NewBlockchainMetadata(head coin.SignedBlock, unconfirmedLen, unspentsLen uint64) (*BlockchainMetadata, error) { + return &BlockchainMetadata{ + HeadBlock: head, + Unspents: unspentsLen, + Unconfirmed: unconfirmedLen, + }, nil +} + +// UnconfirmedTransaction unconfirmed transaction +type UnconfirmedTransaction struct { + Transaction coin.Transaction + // Time the txn was last received + Received int64 + // Time the txn was last checked against the blockchain + Checked int64 + // Last time we announced this txn + Announced int64 + // If this txn is valid + IsValid int8 +} + +// NewUnconfirmedTransaction creates an UnconfirmedTransaction +func NewUnconfirmedTransaction(txn coin.Transaction) UnconfirmedTransaction { + now := time.Now().UTC() + return UnconfirmedTransaction{ + Transaction: txn, + Received: now.UnixNano(), + Checked: now.UnixNano(), + Announced: time.Time{}.UnixNano(), + IsValid: 0, + } +} + +// UnspentOutput includes coin.UxOut and adds CalculatedHours +type UnspentOutput struct { + coin.UxOut + CalculatedHours uint64 +} + +// NewUnspentOutput creates an UnspentOutput +func NewUnspentOutput(uxOut coin.UxOut, calculateHoursTime uint64) (UnspentOutput, error) { + calculatedHours, err := uxOut.CoinHours(calculateHoursTime) + + // Treat overflowing coin hours calculations as a non-error and force hours to 0 + // This affects one bad spent output which had overflowed hours, spent in block 13277. + switch err { + case nil: + case coin.ErrAddEarnedCoinHoursAdditionOverflow: + calculatedHours = 0 + default: + return UnspentOutput{}, err + } + + return UnspentOutput{ + UxOut: uxOut, + CalculatedHours: calculatedHours, + }, nil +} + +// NewUnspentOutputs creates []UnspentOutput +func NewUnspentOutputs(uxOuts []coin.UxOut, calculateHoursTime uint64) ([]UnspentOutput, error) { + outs := make([]UnspentOutput, len(uxOuts)) + for i, ux := range uxOuts { + u, err := NewUnspentOutput(ux, calculateHoursTime) + if err != nil { + return nil, err + } + outs[i] = u + } + + return outs, nil +} + +// UnspentOutputsSummary includes current unspent outputs and incoming and outgoing unspent outputs +type UnspentOutputsSummary struct { + HeadBlock *coin.SignedBlock + Confirmed []UnspentOutput + Outgoing []UnspentOutput + Incoming []UnspentOutput +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/richlist.go b/vendor/github.com/skycoin/skycoin/src/visor/richlist.go new file mode 100644 index 00000000..a7a3520e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/richlist.go @@ -0,0 +1,64 @@ +package visor + +import ( + "bytes" + "sort" + + "github.com/skycoin/skycoin/src/cipher" +) + +// RichlistBalance holds info an address balance holder +type RichlistBalance struct { + Address cipher.Address + Coins uint64 + Locked bool +} + +// Richlist contains RichlistBalances +type Richlist []RichlistBalance + +// NewRichlist create Richlist via unspent outputs map +func NewRichlist(allAccounts map[cipher.Address]uint64, lockedAddrs map[cipher.Address]struct{}) (Richlist, error) { + richlist := make(Richlist, 0, len(allAccounts)) + + for addr, coins := range allAccounts { + var islocked bool + if _, ok := lockedAddrs[addr]; ok { + islocked = true + } + + richlist = append(richlist, RichlistBalance{ + Address: addr, + Coins: coins, + Locked: islocked, + }) + } + + // Sort order: + // Higher coins + // Locked > unlocked + // Address bytes + sort.Slice(richlist, func(i, j int) bool { + if richlist[i].Coins == richlist[j].Coins { + if richlist[i].Locked == richlist[j].Locked { + return bytes.Compare(richlist[i].Address.Bytes(), richlist[j].Address.Bytes()) < 0 + } + return richlist[i].Locked + } + + return richlist[i].Coins > richlist[j].Coins + }) + + return richlist, nil +} + +// FilterAddresses returns the richlist without addresses from the map +func (r Richlist) FilterAddresses(addrs map[cipher.Address]struct{}) Richlist { + var s Richlist + for _, b := range r { + if _, ok := addrs[b.Address]; !ok { + s = append(s, b) + } + } + return s +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/unconfirmed.go b/vendor/github.com/skycoin/skycoin/src/visor/unconfirmed.go new file mode 100644 index 00000000..6dd486cf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/unconfirmed.go @@ -0,0 +1,561 @@ +package visor + +import ( + "errors" + "fmt" + "time" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/visor/dbutil" +) + +var ( + // UnconfirmedTxnsBkt holds unconfirmed transactions + UnconfirmedTxnsBkt = []byte("unconfirmed_txns") + // UnconfirmedUnspentsBkt holds unconfirmed unspent outputs + UnconfirmedUnspentsBkt = []byte("unconfirmed_unspents") + + errUpdateObjectDoesNotExist = errors.New("object does not exist in bucket") +) + +//go:generate skyencoder -unexported -struct UnconfirmedTransaction +//go:generate skyencoder -unexported -struct UxArray + +// UxArray wraps coin.UxArray +type UxArray struct { + UxArray coin.UxArray +} + +// unconfirmed transactions bucket +type unconfirmedTxns struct{} + +func (utb *unconfirmedTxns) get(tx *dbutil.Tx, hash cipher.SHA256) (*UnconfirmedTransaction, error) { + var txn UnconfirmedTransaction + + v, err := dbutil.GetBucketValueNoCopy(tx, UnconfirmedTxnsBkt, []byte(hash.Hex())) + if err != nil { + return nil, err + } else if v == nil { + return nil, nil + } + + if err := decodeUnconfirmedTransactionExact(v, &txn); err != nil { + return nil, err + } + + txnHash := txn.Transaction.Hash() + if hash != txnHash { + return nil, fmt.Errorf("DB key %s does not match block hash header %s", hash, txnHash) + } + + return &txn, nil +} + +func (utb *unconfirmedTxns) put(tx *dbutil.Tx, v *UnconfirmedTransaction) error { + h := v.Transaction.Hash() + buf, err := encodeUnconfirmedTransaction(v) + if err != nil { + return err + } + + return dbutil.PutBucketValue(tx, UnconfirmedTxnsBkt, []byte(h.Hex()), buf) +} + +func (utb *unconfirmedTxns) update(tx *dbutil.Tx, hash cipher.SHA256, f func(v *UnconfirmedTransaction) error) error { + txn, err := utb.get(tx, hash) + if err != nil { + return err + } + + if txn == nil { + return errUpdateObjectDoesNotExist + } + + if err := f(txn); err != nil { + return err + } + + return utb.put(tx, txn) +} + +func (utb *unconfirmedTxns) delete(tx *dbutil.Tx, hash cipher.SHA256) error { + return dbutil.Delete(tx, UnconfirmedTxnsBkt, []byte(hash.Hex())) +} + +func (utb *unconfirmedTxns) getAll(tx *dbutil.Tx) ([]UnconfirmedTransaction, error) { + var txns []UnconfirmedTransaction + + if err := dbutil.ForEach(tx, UnconfirmedTxnsBkt, func(_, v []byte) error { + var txn UnconfirmedTransaction + if err := decodeUnconfirmedTransactionExact(v, &txn); err != nil { + return err + } + + txns = append(txns, txn) + return nil + }); err != nil { + return nil, err + } + + return txns, nil +} + +func (utb *unconfirmedTxns) hasKey(tx *dbutil.Tx, hash cipher.SHA256) (bool, error) { + return dbutil.BucketHasKey(tx, UnconfirmedTxnsBkt, []byte(hash.Hex())) +} + +func (utb *unconfirmedTxns) forEach(tx *dbutil.Tx, f func(hash cipher.SHA256, tx UnconfirmedTransaction) error) error { + return dbutil.ForEach(tx, UnconfirmedTxnsBkt, func(k, v []byte) error { + hash, err := cipher.SHA256FromHex(string(k)) + if err != nil { + return err + } + + var txn UnconfirmedTransaction + if err := decodeUnconfirmedTransactionExact(v, &txn); err != nil { + return err + } + + return f(hash, txn) + }) +} + +func (utb *unconfirmedTxns) len(tx *dbutil.Tx) (uint64, error) { + return dbutil.Len(tx, UnconfirmedTxnsBkt) +} + +type txnUnspents struct{} + +func (txus *txnUnspents) put(tx *dbutil.Tx, hash cipher.SHA256, uxs coin.UxArray) error { + buf, err := encodeUxArray(&UxArray{ + UxArray: uxs, + }) + if err != nil { + return err + } + + return dbutil.PutBucketValue(tx, UnconfirmedUnspentsBkt, []byte(hash.Hex()), buf) +} + +func (txus *txnUnspents) delete(tx *dbutil.Tx, hash cipher.SHA256) error { + return dbutil.Delete(tx, UnconfirmedUnspentsBkt, []byte(hash.Hex())) +} + +func (txus *txnUnspents) getByAddr(tx *dbutil.Tx, a cipher.Address) (coin.UxArray, error) { + var uxo coin.UxArray + + if err := dbutil.ForEach(tx, UnconfirmedUnspentsBkt, func(_, v []byte) error { + var uxa UxArray + if err := decodeUxArrayExact(v, &uxa); err != nil { + return err + } + + for i := range uxa.UxArray { + if uxa.UxArray[i].Body.Address == a { + uxo = append(uxo, uxa.UxArray[i]) + } + } + + return nil + }); err != nil { + return nil, err + } + + return uxo, nil +} + +// UnconfirmedTransactionPool manages unconfirmed transactions +type UnconfirmedTransactionPool struct { + db *dbutil.DB + txns *unconfirmedTxns + // Predicted unspents, assuming txns are valid. Needed to predict + // our future balance and avoid double spending our own coins + // Maps from Transaction.Hash() to UxArray. + unspent *txnUnspents +} + +// NewUnconfirmedTransactionPool creates an UnconfirmedTransactionPool instance +func NewUnconfirmedTransactionPool(db *dbutil.DB) (*UnconfirmedTransactionPool, error) { + if err := db.View("Check unconfirmed txn pool size", func(tx *dbutil.Tx) error { + n, err := dbutil.Len(tx, UnconfirmedTxnsBkt) + if err != nil { + return err + } + + logger.Infof("Unconfirmed transaction pool size: %d", n) + return nil + }); err != nil { + return nil, err + } + + return &UnconfirmedTransactionPool{ + db: db, + txns: &unconfirmedTxns{}, + unspent: &txnUnspents{}, + }, nil +} + +// SetTransactionsAnnounced updates announced time of specific tx +func (utp *UnconfirmedTransactionPool) SetTransactionsAnnounced(tx *dbutil.Tx, hashes map[cipher.SHA256]int64) error { + var txns []*UnconfirmedTransaction + for h, t := range hashes { + txn, err := utp.txns.get(tx, h) + if err != nil { + return err + } + + if txn == nil { + logger.Warningf("UnconfirmedTransactionPool.SetTransactionsAnnounced: UnconfirmedTransaction %s not found in DB", h.Hex()) + continue + } + + if t > txn.Announced { + txn.Announced = t + txns = append(txns, txn) + } + } + + for _, txn := range txns { + if err := utp.txns.put(tx, txn); err != nil { + return err + } + } + + return nil +} + +// InjectTransaction adds a coin.Transaction to the pool, or updates an existing one's timestamps +// Returns an error if txn is invalid, and whether the transaction already +// existed in the pool. +// If the transaction violates hard constraints, it is rejected. +// Soft constraints violations mark a txn as invalid, but the txn is inserted. The soft violation is returned. +func (utp *UnconfirmedTransactionPool) InjectTransaction(tx *dbutil.Tx, bc Blockchainer, txn coin.Transaction, distParams params.Distribution, verifyParams params.VerifyTxn) (bool, *ErrTxnViolatesSoftConstraint, error) { + var isValid int8 = 1 + var softErr *ErrTxnViolatesSoftConstraint + if _, _, err := bc.VerifySingleTxnSoftHardConstraints(tx, txn, distParams, verifyParams, TxnSigned); err != nil { + logger.Warningf("bc.VerifySingleTxnSoftHardConstraints failed for txn %s: %v", txn.Hash().Hex(), err) + switch e := err.(type) { + case ErrTxnViolatesSoftConstraint: + softErr = &e + isValid = 0 + case ErrTxnViolatesHardConstraint: + return false, nil, err + default: + return false, nil, err + } + } + + hash := txn.Hash() + known, err := utp.txns.hasKey(tx, hash) + if err != nil { + logger.Errorf("InjectTransaction check txn exists failed: %v", err) + return false, nil, err + } + + // Update if we already have this txn + if known { + if err := utp.txns.update(tx, hash, func(utxn *UnconfirmedTransaction) error { + now := time.Now().UTC().UnixNano() + utxn.Received = now + utxn.Checked = now + utxn.IsValid = isValid + return nil + }); err != nil { + logger.Errorf("InjectTransaction update known txn failed: %v", err) + return false, nil, err + } + + return true, softErr, nil + } + + utx := NewUnconfirmedTransaction(txn) + utx.IsValid = isValid + + // add txn to index + if err := utp.txns.put(tx, &utx); err != nil { + logger.Errorf("InjectTransaction put new unconfirmed txn failed: %v", err) + return false, nil, err + } + + head, err := bc.Head(tx) + if err != nil { + logger.Errorf("InjectTransaction bc.Head() failed: %v", err) + return false, nil, err + } + + // update unconfirmed unspent + createdUnspents := coin.CreateUnspents(head.Head, txn) + if err := utp.unspent.put(tx, hash, createdUnspents); err != nil { + logger.Errorf("InjectTransaction put new unspent outputs: %v", err) + return false, nil, err + } + + return false, softErr, nil +} + +// AllRawTransactions returns underlying coin.Transactions +func (utp *UnconfirmedTransactionPool) AllRawTransactions(tx *dbutil.Tx) (coin.Transactions, error) { + utxns, err := utp.txns.getAll(tx) + if err != nil { + return nil, err + } + + txns := make(coin.Transactions, len(utxns)) + for i := range utxns { + txns[i] = utxns[i].Transaction + } + return txns, nil +} + +// Remove a single txn by hash +func (utp *UnconfirmedTransactionPool) removeTransaction(tx *dbutil.Tx, txHash cipher.SHA256) error { + if err := utp.txns.delete(tx, txHash); err != nil { + return err + } + + return utp.unspent.delete(tx, txHash) +} + +// RemoveTransactions remove transactions with dbutil.Tx +func (utp *UnconfirmedTransactionPool) RemoveTransactions(tx *dbutil.Tx, txHashes []cipher.SHA256) error { + for i := range txHashes { + if err := utp.removeTransaction(tx, txHashes[i]); err != nil { + return err + } + } + + return nil +} + +// Refresh checks all unconfirmed txns against the blockchain. +// If the transaction becomes invalid it is marked invalid. +// If the transaction becomes valid it is marked valid and is returned to the caller. +func (utp *UnconfirmedTransactionPool) Refresh(tx *dbutil.Tx, bc Blockchainer, distParams params.Distribution, verifyParams params.VerifyTxn) ([]cipher.SHA256, error) { + utxns, err := utp.txns.getAll(tx) + if err != nil { + return nil, err + } + + now := time.Now().UTC() + var nowValid []cipher.SHA256 + + for _, utxn := range utxns { + utxn.Checked = now.UnixNano() + + _, _, err := bc.VerifySingleTxnSoftHardConstraints(tx, utxn.Transaction, distParams, verifyParams, TxnSigned) + + switch err.(type) { + case ErrTxnViolatesSoftConstraint, ErrTxnViolatesHardConstraint: + utxn.IsValid = 0 + case nil: + if utxn.IsValid == 0 { + nowValid = append(nowValid, utxn.Transaction.Hash()) + } + utxn.IsValid = 1 + default: + return nil, err + } + + if err := utp.txns.put(tx, &utxn); err != nil { + return nil, err + } + } + + return nowValid, nil +} + +// RemoveInvalid checks all unconfirmed txns against the blockchain. +// If a transaction violates hard constraints it is removed from the pool. +// The transactions that were removed are returned. +func (utp *UnconfirmedTransactionPool) RemoveInvalid(tx *dbutil.Tx, bc Blockchainer) ([]cipher.SHA256, error) { + var removeUtxns []cipher.SHA256 + + utxns, err := utp.txns.getAll(tx) + if err != nil { + return nil, err + } + + for _, utxn := range utxns { + err := bc.VerifySingleTxnHardConstraints(tx, utxn.Transaction, TxnSigned) + if err != nil { + switch err.(type) { + case ErrTxnViolatesHardConstraint: + removeUtxns = append(removeUtxns, utxn.Transaction.Hash()) + default: + return nil, err + } + } + } + + if err := utp.RemoveTransactions(tx, removeUtxns); err != nil { + return nil, err + } + + return removeUtxns, nil +} + +// FilterKnown returns txn hashes with known ones removed +func (utp *UnconfirmedTransactionPool) FilterKnown(tx *dbutil.Tx, txns []cipher.SHA256) ([]cipher.SHA256, error) { + var unknown []cipher.SHA256 + + for _, h := range txns { + if hasKey, err := utp.txns.hasKey(tx, h); err != nil { + return nil, err + } else if !hasKey { + unknown = append(unknown, h) + } + } + + return unknown, nil +} + +// GetKnown returns all known transactions from the pool, given hashes to select +func (utp *UnconfirmedTransactionPool) GetKnown(tx *dbutil.Tx, txns []cipher.SHA256) (coin.Transactions, error) { + var known coin.Transactions + + for _, h := range txns { + if tx, err := utp.txns.get(tx, h); err != nil { + return nil, err + } else if tx != nil { + known = append(known, tx.Transaction) + } + } + + return known, nil +} + +// RecvOfAddresses returns unconfirmed receiving uxouts of addresses +func (utp *UnconfirmedTransactionPool) RecvOfAddresses(tx *dbutil.Tx, bh coin.BlockHeader, addrs []cipher.Address) (coin.AddressUxOuts, error) { + addrm := make(map[cipher.Address]struct{}, len(addrs)) + for _, addr := range addrs { + addrm[addr] = struct{}{} + } + + auxs := make(coin.AddressUxOuts, len(addrs)) + if err := utp.txns.forEach(tx, func(_ cipher.SHA256, txn UnconfirmedTransaction) error { + for i, o := range txn.Transaction.Out { + if _, ok := addrm[o.Address]; ok { + uxout, err := coin.CreateUnspent(bh, txn.Transaction, i) + if err != nil { + return err + } + + auxs[o.Address] = append(auxs[o.Address], uxout) + } + } + return nil + }); err != nil { + return nil, err + } + + return auxs, nil +} + +// txnOutputsForAddrs returns unspent outputs assigned to addresses in addrs, created by a set of transactions +func txnOutputsForAddrs(bh coin.BlockHeader, addrs []cipher.Address, txns []coin.Transaction) (coin.AddressUxOuts, error) { + if len(txns) == 0 || len(addrs) == 0 { + return nil, nil + } + + addrm := make(map[cipher.Address]struct{}, len(addrs)) + for _, addr := range addrs { + addrm[addr] = struct{}{} + } + + auxs := make(coin.AddressUxOuts, len(addrs)) + + for _, txn := range txns { + for i, o := range txn.Out { + if _, ok := addrm[o.Address]; ok { + uxout, err := coin.CreateUnspent(bh, txn, i) + if err != nil { + return nil, err + } + + auxs[o.Address] = append(auxs[o.Address], uxout) + } + } + } + + return auxs, nil +} + +// GetIncomingOutputs returns all predicted incoming outputs. +func (utp *UnconfirmedTransactionPool) GetIncomingOutputs(tx *dbutil.Tx, bh coin.BlockHeader) (coin.UxArray, error) { + var outs coin.UxArray + + if err := utp.txns.forEach(tx, func(_ cipher.SHA256, txn UnconfirmedTransaction) error { + outs = append(outs, coin.CreateUnspents(bh, txn.Transaction)...) + return nil + }); err != nil { + return nil, err + } + + return outs, nil +} + +// Get returns the unconfirmed transaction of given tx hash. +func (utp *UnconfirmedTransactionPool) Get(tx *dbutil.Tx, hash cipher.SHA256) (*UnconfirmedTransaction, error) { + return utp.txns.get(tx, hash) +} + +// GetFiltered returns all transactions that can pass the filter +func (utp *UnconfirmedTransactionPool) GetFiltered(tx *dbutil.Tx, filter func(UnconfirmedTransaction) bool) ([]UnconfirmedTransaction, error) { + var txns []UnconfirmedTransaction + + if err := utp.txns.forEach(tx, func(_ cipher.SHA256, txn UnconfirmedTransaction) error { + if filter(txn) { + txns = append(txns, txn) + } + return nil + }); err != nil { + logger.Errorf("GetFiltered error: %v", err) + return nil, err + } + + return txns, nil +} + +// GetHashes returns transaction hashes that can pass the filter +func (utp *UnconfirmedTransactionPool) GetHashes(tx *dbutil.Tx, filter func(UnconfirmedTransaction) bool) ([]cipher.SHA256, error) { + var hashes []cipher.SHA256 + + if err := utp.txns.forEach(tx, func(hash cipher.SHA256, txn UnconfirmedTransaction) error { + if filter(txn) { + hashes = append(hashes, hash) + } + return nil + }); err != nil { + logger.Errorf("GetHashes error: %v", err) + return nil, err + } + + return hashes, nil +} + +// ForEach iterate the pool with given callback function +func (utp *UnconfirmedTransactionPool) ForEach(tx *dbutil.Tx, f func(cipher.SHA256, UnconfirmedTransaction) error) error { + return utp.txns.forEach(tx, f) +} + +// GetUnspentsOfAddr returns unspent outputs of given address in unspent tx pool +func (utp *UnconfirmedTransactionPool) GetUnspentsOfAddr(tx *dbutil.Tx, addr cipher.Address) (coin.UxArray, error) { + return utp.unspent.getByAddr(tx, addr) +} + +// IsValid can be used as filter function +func IsValid(tx UnconfirmedTransaction) bool { + return tx.IsValid == 1 +} + +// All use as return all filter +func All(tx UnconfirmedTransaction) bool { + return true +} + +// Len returns the number of unconfirmed transactions +func (utp *UnconfirmedTransactionPool) Len(tx *dbutil.Tx) (uint64, error) { + return utp.txns.len(tx) +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/unconfirmed_transaction_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/unconfirmed_transaction_skyencoder.go new file mode 100644 index 00000000..5880870d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/unconfirmed_transaction_skyencoder.go @@ -0,0 +1,418 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package visor + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeUnconfirmedTransaction computes the size of an encoded object of type UnconfirmedTransaction +func encodeSizeUnconfirmedTransaction(obj *UnconfirmedTransaction) uint64 { + i0 := uint64(0) + + // obj.Transaction.Length + i0 += 4 + + // obj.Transaction.Type + i0++ + + // obj.Transaction.InnerHash + i0 += 32 + + // obj.Transaction.Sigs + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 65 + + i0 += uint64(len(obj.Transaction.Sigs)) * i1 + } + + // obj.Transaction.In + i0 += 4 + { + i1 := uint64(0) + + // x1 + i1 += 32 + + i0 += uint64(len(obj.Transaction.In)) * i1 + } + + // obj.Transaction.Out + i0 += 4 + { + i1 := uint64(0) + + // x1.Address.Version + i1++ + + // x1.Address.Key + i1 += 20 + + // x1.Coins + i1 += 8 + + // x1.Hours + i1 += 8 + + i0 += uint64(len(obj.Transaction.Out)) * i1 + } + + // obj.Received + i0 += 8 + + // obj.Checked + i0 += 8 + + // obj.Announced + i0 += 8 + + // obj.IsValid + i0++ + + return i0 +} + +// encodeUnconfirmedTransaction encodes an object of type UnconfirmedTransaction to a buffer allocated to the exact size +// required to encode the object. +func encodeUnconfirmedTransaction(obj *UnconfirmedTransaction) ([]byte, error) { + n := encodeSizeUnconfirmedTransaction(obj) + buf := make([]byte, n) + + if err := encodeUnconfirmedTransactionToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeUnconfirmedTransactionToBuffer encodes an object of type UnconfirmedTransaction to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeUnconfirmedTransactionToBuffer(buf []byte, obj *UnconfirmedTransaction) error { + if uint64(len(buf)) < encodeSizeUnconfirmedTransaction(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.Transaction.Length + e.Uint32(obj.Transaction.Length) + + // obj.Transaction.Type + e.Uint8(obj.Transaction.Type) + + // obj.Transaction.InnerHash + e.CopyBytes(obj.Transaction.InnerHash[:]) + + // obj.Transaction.Sigs maxlen check + if len(obj.Transaction.Sigs) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Transaction.Sigs length check + if uint64(len(obj.Transaction.Sigs)) > math.MaxUint32 { + return errors.New("obj.Transaction.Sigs length exceeds math.MaxUint32") + } + + // obj.Transaction.Sigs length + e.Uint32(uint32(len(obj.Transaction.Sigs))) + + // obj.Transaction.Sigs + for _, x := range obj.Transaction.Sigs { + + // x + e.CopyBytes(x[:]) + + } + + // obj.Transaction.In maxlen check + if len(obj.Transaction.In) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Transaction.In length check + if uint64(len(obj.Transaction.In)) > math.MaxUint32 { + return errors.New("obj.Transaction.In length exceeds math.MaxUint32") + } + + // obj.Transaction.In length + e.Uint32(uint32(len(obj.Transaction.In))) + + // obj.Transaction.In + for _, x := range obj.Transaction.In { + + // x + e.CopyBytes(x[:]) + + } + + // obj.Transaction.Out maxlen check + if len(obj.Transaction.Out) > 65535 { + return encoder.ErrMaxLenExceeded + } + + // obj.Transaction.Out length check + if uint64(len(obj.Transaction.Out)) > math.MaxUint32 { + return errors.New("obj.Transaction.Out length exceeds math.MaxUint32") + } + + // obj.Transaction.Out length + e.Uint32(uint32(len(obj.Transaction.Out))) + + // obj.Transaction.Out + for _, x := range obj.Transaction.Out { + + // x.Address.Version + e.Uint8(x.Address.Version) + + // x.Address.Key + e.CopyBytes(x.Address.Key[:]) + + // x.Coins + e.Uint64(x.Coins) + + // x.Hours + e.Uint64(x.Hours) + + } + + // obj.Received + e.Int64(obj.Received) + + // obj.Checked + e.Int64(obj.Checked) + + // obj.Announced + e.Int64(obj.Announced) + + // obj.IsValid + e.Int8(obj.IsValid) + + return nil +} + +// decodeUnconfirmedTransaction decodes an object of type UnconfirmedTransaction from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeUnconfirmedTransaction(buf []byte, obj *UnconfirmedTransaction) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.Transaction.Length + i, err := d.Uint32() + if err != nil { + return 0, err + } + obj.Transaction.Length = i + } + + { + // obj.Transaction.Type + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Transaction.Type = i + } + + { + // obj.Transaction.InnerHash + if len(d.Buffer) < len(obj.Transaction.InnerHash) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transaction.InnerHash[:], d.Buffer[:len(obj.Transaction.InnerHash)]) + d.Buffer = d.Buffer[len(obj.Transaction.InnerHash):] + } + + { + // obj.Transaction.Sigs + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transaction.Sigs = make([]cipher.Sig, length) + + for z2 := range obj.Transaction.Sigs { + { + // obj.Transaction.Sigs[z2] + if len(d.Buffer) < len(obj.Transaction.Sigs[z2]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transaction.Sigs[z2][:], d.Buffer[:len(obj.Transaction.Sigs[z2])]) + d.Buffer = d.Buffer[len(obj.Transaction.Sigs[z2]):] + } + + } + } + } + + { + // obj.Transaction.In + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transaction.In = make([]cipher.SHA256, length) + + for z2 := range obj.Transaction.In { + { + // obj.Transaction.In[z2] + if len(d.Buffer) < len(obj.Transaction.In[z2]) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transaction.In[z2][:], d.Buffer[:len(obj.Transaction.In[z2])]) + d.Buffer = d.Buffer[len(obj.Transaction.In[z2]):] + } + + } + } + } + + { + // obj.Transaction.Out + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length > 65535 { + return 0, encoder.ErrMaxLenExceeded + } + + if length != 0 { + obj.Transaction.Out = make([]coin.TransactionOutput, length) + + for z2 := range obj.Transaction.Out { + { + // obj.Transaction.Out[z2].Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.Transaction.Out[z2].Address.Version = i + } + + { + // obj.Transaction.Out[z2].Address.Key + if len(d.Buffer) < len(obj.Transaction.Out[z2].Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.Transaction.Out[z2].Address.Key[:], d.Buffer[:len(obj.Transaction.Out[z2].Address.Key)]) + d.Buffer = d.Buffer[len(obj.Transaction.Out[z2].Address.Key):] + } + + { + // obj.Transaction.Out[z2].Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Transaction.Out[z2].Coins = i + } + + { + // obj.Transaction.Out[z2].Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.Transaction.Out[z2].Hours = i + } + + } + } + } + + { + // obj.Received + i, err := d.Int64() + if err != nil { + return 0, err + } + obj.Received = i + } + + { + // obj.Checked + i, err := d.Int64() + if err != nil { + return 0, err + } + obj.Checked = i + } + + { + // obj.Announced + i, err := d.Int64() + if err != nil { + return 0, err + } + obj.Announced = i + } + + { + // obj.IsValid + i, err := d.Int8() + if err != nil { + return 0, err + } + obj.IsValid = i + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeUnconfirmedTransactionExact decodes an object of type UnconfirmedTransaction from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeUnconfirmedTransactionExact(buf []byte, obj *UnconfirmedTransaction) error { + if n, err := decodeUnconfirmedTransaction(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/ux_array_skyencoder.go b/vendor/github.com/skycoin/skycoin/src/visor/ux_array_skyencoder.go new file mode 100644 index 00000000..8eb40cae --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/ux_array_skyencoder.go @@ -0,0 +1,216 @@ +// Code generated by github.com/skycoin/skyencoder. DO NOT EDIT. + +package visor + +import ( + "errors" + "math" + + "github.com/skycoin/skycoin/src/cipher/encoder" + "github.com/skycoin/skycoin/src/coin" +) + +// encodeSizeUxArray computes the size of an encoded object of type UxArray +func encodeSizeUxArray(obj *UxArray) uint64 { + i0 := uint64(0) + + // obj.UxArray + i0 += 4 + { + i1 := uint64(0) + + // x1.Head.Time + i1 += 8 + + // x1.Head.BkSeq + i1 += 8 + + // x1.Body.SrcTransaction + i1 += 32 + + // x1.Body.Address.Version + i1++ + + // x1.Body.Address.Key + i1 += 20 + + // x1.Body.Coins + i1 += 8 + + // x1.Body.Hours + i1 += 8 + + i0 += uint64(len(obj.UxArray)) * i1 + } + + return i0 +} + +// encodeUxArray encodes an object of type UxArray to a buffer allocated to the exact size +// required to encode the object. +func encodeUxArray(obj *UxArray) ([]byte, error) { + n := encodeSizeUxArray(obj) + buf := make([]byte, n) + + if err := encodeUxArrayToBuffer(buf, obj); err != nil { + return nil, err + } + + return buf, nil +} + +// encodeUxArrayToBuffer encodes an object of type UxArray to a []byte buffer. +// The buffer must be large enough to encode the object, otherwise an error is returned. +func encodeUxArrayToBuffer(buf []byte, obj *UxArray) error { + if uint64(len(buf)) < encodeSizeUxArray(obj) { + return encoder.ErrBufferUnderflow + } + + e := &encoder.Encoder{ + Buffer: buf[:], + } + + // obj.UxArray length check + if uint64(len(obj.UxArray)) > math.MaxUint32 { + return errors.New("obj.UxArray length exceeds math.MaxUint32") + } + + // obj.UxArray length + e.Uint32(uint32(len(obj.UxArray))) + + // obj.UxArray + for _, x := range obj.UxArray { + + // x.Head.Time + e.Uint64(x.Head.Time) + + // x.Head.BkSeq + e.Uint64(x.Head.BkSeq) + + // x.Body.SrcTransaction + e.CopyBytes(x.Body.SrcTransaction[:]) + + // x.Body.Address.Version + e.Uint8(x.Body.Address.Version) + + // x.Body.Address.Key + e.CopyBytes(x.Body.Address.Key[:]) + + // x.Body.Coins + e.Uint64(x.Body.Coins) + + // x.Body.Hours + e.Uint64(x.Body.Hours) + + } + + return nil +} + +// decodeUxArray decodes an object of type UxArray from a buffer. +// Returns the number of bytes used from the buffer to decode the object. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +func decodeUxArray(buf []byte, obj *UxArray) (uint64, error) { + d := &encoder.Decoder{ + Buffer: buf[:], + } + + { + // obj.UxArray + + ul, err := d.Uint32() + if err != nil { + return 0, err + } + + length := int(ul) + if length < 0 || length > len(d.Buffer) { + return 0, encoder.ErrBufferUnderflow + } + + if length != 0 { + obj.UxArray = make([]coin.UxOut, length) + + for z1 := range obj.UxArray { + { + // obj.UxArray[z1].Head.Time + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.UxArray[z1].Head.Time = i + } + + { + // obj.UxArray[z1].Head.BkSeq + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.UxArray[z1].Head.BkSeq = i + } + + { + // obj.UxArray[z1].Body.SrcTransaction + if len(d.Buffer) < len(obj.UxArray[z1].Body.SrcTransaction) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.UxArray[z1].Body.SrcTransaction[:], d.Buffer[:len(obj.UxArray[z1].Body.SrcTransaction)]) + d.Buffer = d.Buffer[len(obj.UxArray[z1].Body.SrcTransaction):] + } + + { + // obj.UxArray[z1].Body.Address.Version + i, err := d.Uint8() + if err != nil { + return 0, err + } + obj.UxArray[z1].Body.Address.Version = i + } + + { + // obj.UxArray[z1].Body.Address.Key + if len(d.Buffer) < len(obj.UxArray[z1].Body.Address.Key) { + return 0, encoder.ErrBufferUnderflow + } + copy(obj.UxArray[z1].Body.Address.Key[:], d.Buffer[:len(obj.UxArray[z1].Body.Address.Key)]) + d.Buffer = d.Buffer[len(obj.UxArray[z1].Body.Address.Key):] + } + + { + // obj.UxArray[z1].Body.Coins + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.UxArray[z1].Body.Coins = i + } + + { + // obj.UxArray[z1].Body.Hours + i, err := d.Uint64() + if err != nil { + return 0, err + } + obj.UxArray[z1].Body.Hours = i + } + + } + } + } + + return uint64(len(buf) - len(d.Buffer)), nil +} + +// decodeUxArrayExact decodes an object of type UxArray from a buffer. +// If the buffer not long enough to decode the object, returns encoder.ErrBufferUnderflow. +// If the buffer is longer than required to decode the object, returns encoder.ErrRemainingBytes. +func decodeUxArrayExact(buf []byte, obj *UxArray) error { + if n, err := decodeUxArray(buf, obj); err != nil { + return err + } else if n != uint64(len(buf)) { + return encoder.ErrRemainingBytes + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/verify.go b/vendor/github.com/skycoin/skycoin/src/visor/verify.go new file mode 100644 index 00000000..2037733f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/verify.go @@ -0,0 +1,336 @@ +package visor + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/fee" +) + +/* + +verify.go: Methods for handling transaction verification + +There are two levels of transaction constraint: HARD and SOFT +There are two situations in which transactions are verified: + * When included in a block + * When not in a block + +For transactions in a block, use VerifyBlockTxnConstraints. +For transactions outside of a block, use VerifySingleTxnHardConstraints and VerifySingleTxnSoftConstraints. + +VerifyBlockTxnConstraints only checks hard constraints. Soft constraints do not apply for transactions inside of a block. + +Soft and hard constraints have special handling for single transactions. + +When the transaction is received over the network, a transaction is not injected to the pool if it violates the HARD constraints. +If it violates soft constraints, it is still injected to the pool (TODO: with expiration) but is not rebroadcast to peers. +If it does not violate any constraints it is injected and rebroadcast to peers. + +When the transaction is created by the user (with create_rawtx or /spend), SOFT and HARD constraints apply, to prevent +the user from injecting a transaction to their local pool that cannot be confirmed. + +When creating a new block from transactions, SOFT and HARD constraints apply. + +Transactions in the unconfirmed pool are periodically checked for validity. (TODO: audit/implement this feature) +The transaction pool state transfer phases are as follows: + valid -> hard_invalid: remove + valid -> soft_invalid: mark as invalid + soft_invalid -> valid: mark as valid, broadcast + soft_invalid -> hard_invalid: remove + soft_invalid -> expired: remove + +HARD constraints can NEVER be violated. These include: + - Malformed transaction + - Double spends + - NOTE: Double spend verification must be done against the unspent output set, + the methods here do not operate on the unspent output set. + They accept a `uxIn coin.UxArray` argument, which are the unspents associated + with the transaction's inputs. The unspents must be queried from the unspent + output set first, thus if any unspent is not found for the input, it cannot be spent. + +SOFT constraints are based upon mutable parameters. These include: + - Max block size (transaction must not be larger than this value) + - Insufficient coin hour burn fee + - Timelocked distribution addresses + - Decimal place restrictions + +NOTE: Due to a bug which allowed overflowing output coin hours to be included in a block, + overflowing output coin hours are not checked when adding a signed block, so that the existing blocks can be processed. + When creating or receiving a single transaction from the network, it is treated as a HARD constraint. + +These methods should be called via the Blockchain object when possible, +using Blockchain.VerifyBlockTxnConstraints, Blockchain.VerifySingleTxnHardConstraints and Blockchain.VerifySingleTxnSoftHardConstraints +since data from the blockchain and unspent output set are required to fully validate a transaction. + +*/ + +var ( + // ErrTxnExceedsMaxBlockSize transaction size exceeds the max block size + ErrTxnExceedsMaxBlockSize = errors.New("Transaction size bigger than max block size") + // ErrTxnIsLocked transaction has locked address inputs + ErrTxnIsLocked = errors.New("Transaction has locked address inputs") +) + +// TxnSignedFlag indicates if the transaction is unsigned or not +type TxnSignedFlag int + +const ( + // TxnSigned is used for signed transactions + TxnSigned TxnSignedFlag = 1 + // TxnUnsigned is used for unsigned transactions + TxnUnsigned TxnSignedFlag = 2 +) + +// ErrTxnViolatesHardConstraint is returned when a transaction violates hard constraints +type ErrTxnViolatesHardConstraint struct { + Err error +} + +// NewErrTxnViolatesHardConstraint creates ErrTxnViolatesHardConstraint +func NewErrTxnViolatesHardConstraint(err error) error { + if err == nil { + return nil + } + return ErrTxnViolatesHardConstraint{ + Err: err, + } +} + +func (e ErrTxnViolatesHardConstraint) Error() string { + return fmt.Sprintf("Transaction violates hard constraint: %v", e.Err) +} + +// ErrTxnViolatesSoftConstraint is returned when a transaction violates soft constraints +type ErrTxnViolatesSoftConstraint struct { + Err error +} + +// NewErrTxnViolatesSoftConstraint creates ErrTxnViolatesSoftConstraint +func NewErrTxnViolatesSoftConstraint(err error) error { + if err == nil { + return nil + } + return ErrTxnViolatesSoftConstraint{ + Err: err, + } +} + +func (e ErrTxnViolatesSoftConstraint) Error() string { + return fmt.Sprintf("Transaction violates soft constraint: %v", e.Err) +} + +// ErrTxnViolatesUserConstraint is returned when a transaction violates user constraints +type ErrTxnViolatesUserConstraint struct { + Err error +} + +// NewErrTxnViolatesUserConstraint creates ErrTxnViolatesUserConstraint +func NewErrTxnViolatesUserConstraint(err error) error { + if err == nil { + return nil + } + return ErrTxnViolatesUserConstraint{ + Err: err, + } +} + +func (e ErrTxnViolatesUserConstraint) Error() string { + return fmt.Sprintf("Transaction violates user constraint: %v", e.Err) +} + +// VerifySingleTxnSoftConstraints returns an error if any "soft" constraint are violated. +// "soft" constraints are enforced at the network and block publication level, +// but are not enforced at the blockchain level. +// Clients will not accept blocks that violate hard constraints, but will +// accept blocks that violate soft constraints. +// Checks: +// * That the transaction size is not greater than the max block total transaction size +// * That the transaction burn enough coin hours (the fee) +// * That if that transaction does not spend from a locked distribution address +// * That the transaction does not create outputs with a higher decimal precision than is allowed +func VerifySingleTxnSoftConstraints(txn coin.Transaction, headTime uint64, uxIn coin.UxArray, distParams params.Distribution, verifyParams params.VerifyTxn) error { + if err := verifyTxnSoftConstraints(txn, headTime, uxIn, distParams, verifyParams); err != nil { + return NewErrTxnViolatesSoftConstraint(err) + } + + return nil +} + +func verifyTxnSoftConstraints(txn coin.Transaction, headTime uint64, uxIn coin.UxArray, distParams params.Distribution, verifyParams params.VerifyTxn) error { + txnSize, err := txn.Size() + if err != nil { + return ErrTxnExceedsMaxBlockSize + } + + if txnSize > verifyParams.MaxTransactionSize { + return ErrTxnExceedsMaxBlockSize + } + + f, err := fee.TransactionFee(&txn, headTime, uxIn) + if err != nil { + return err + } + + if err := fee.VerifyTransactionFee(&txn, f, verifyParams.BurnFactor); err != nil { + return err + } + + if TransactionIsLocked(distParams, uxIn) { + return ErrTxnIsLocked + } + + // Reject transactions that do not conform to decimal restrictions + for _, o := range txn.Out { + if err := params.DropletPrecisionCheck(verifyParams.MaxDropletPrecision, o.Coins); err != nil { + return err + } + } + + return nil +} + +// VerifySingleTxnHardConstraints returns an error if any "hard" constraints are violated. +// "hard" constraints are always enforced and if violated the transaction +// should not be included in any block and any block that includes such a transaction +// should be rejected. +// Checks: +// * That the inputs to the transaction exist +// * That the transaction does not create or destroy coins +// * That the signatures on the transaction are valid +// * That there are no duplicate ux inputs +// * That there are no duplicate outputs +// * That the transaction input and output coins do not overflow uint64 +// * That the transaction input and output hours do not overflow uint64 +// NOTE: Double spends are checked against the unspent output pool when querying for uxIn +func VerifySingleTxnHardConstraints(txn coin.Transaction, head coin.BlockHeader, uxIn coin.UxArray, signed TxnSignedFlag) error { + // Check for output hours overflow + // When verifying a single transaction, this is considered a hard constraint. + // For transactions inside of a block, it is a soft constraint. + // This is due to a bug which allowed some blocks to be published with overflowing hours, + // otherwise this would always be a hard constraint. + if _, err := txn.OutputHours(); err != nil { + return NewErrTxnViolatesHardConstraint(err) + } + + // Check for input CoinHours calculation overflow, since it is ignored by + // VerifyTransactionHoursSpending + for _, ux := range uxIn { + if _, err := ux.CoinHours(head.Time); err != nil { + return NewErrTxnViolatesHardConstraint(err) + } + } + + if err := verifyTxnHardConstraints(txn, head, uxIn, signed); err != nil { + return NewErrTxnViolatesHardConstraint(err) + } + + return nil +} + +// VerifyBlockTxnConstraints returns an error if any "hard" constraints are violated. +// "hard" constraints are always enforced and if violated the transaction +// should not be included in any block and any block that includes such a transaction +// should be rejected. +// Checks: +// * That the inputs to the transaction exist +// * That the transaction does not create or destroy coins +// * That the signatures on the transaction are valid +// * That there are no duplicate ux inputs +// * That there are no duplicate outputs +// * That the transaction input and output coins do not overflow uint64 +// * That the transaction input hours do not overflow uint64 +// NOTE: Double spends are checked against the unspent output pool when querying for uxIn +// NOTE: output hours overflow is treated as a soft constraint for transactions inside of a block, due to a bug +// which allowed some blocks to be published with overflowing output hours. +func VerifyBlockTxnConstraints(txn coin.Transaction, head coin.BlockHeader, uxIn coin.UxArray) error { + if err := verifyTxnHardConstraints(txn, head, uxIn, TxnSigned); err != nil { + return NewErrTxnViolatesHardConstraint(err) + } + + return nil +} + +func verifyTxnHardConstraints(txn coin.Transaction, head coin.BlockHeader, uxIn coin.UxArray, signed TxnSignedFlag) error { + //CHECKLIST: DONE: check for duplicate ux inputs/double spending + // NOTE: Double spends are checked against the unspent output pool when querying for uxIn + + //CHECKLIST: DONE: check that inputs of transaction have not been spent + //CHECKLIST: DONE: check there are no duplicate outputs + + // Q: why are coin hours based on last block time and not + // current time? + // A: no two computers will agree on system time. Need system clock + // indepedent timing that everyone agrees on. fee values would depend on + // local clock + + // Check transaction type and length + // Check for duplicate outputs + // Check for duplicate inputs + // Check for invalid hash + // Check for no inputs + // Check for no outputs + // Check for zero coin outputs + // Check valid looking signatures + + switch signed { + case TxnSigned: + if err := txn.Verify(); err != nil { + return err + } + + // Check that signatures are allowed to spend inputs + if err := txn.VerifyInputSignatures(uxIn); err != nil { + return err + } + case TxnUnsigned: + if err := txn.VerifyUnsigned(); err != nil { + return err + } + + // Check that signatures are allowed to spend inputs for signatures that are not null + if err := txn.VerifyPartialInputSignatures(uxIn); err != nil { + return err + } + default: + logger.Panic("Invalid TxnSignedFlag") + } + + uxOut := coin.CreateUnspents(head, txn) + + // Check that there are any duplicates within this set + // NOTE: This should already be checked by txn.Verify() + if uxOut.HasDupes() { + return errors.New("Duplicate output in transaction") + } + + // Check that no coins are created or destroyed + if err := coin.VerifyTransactionCoinsSpending(uxIn, uxOut); err != nil { + return err + } + + // Check that no hours are created + // NOTE: this check doesn't catch overflow errors in the addition of hours + // Some blocks had their hours overflow, and if this rule was checked here, + // existing blocks would invalidate. + // The hours overflow check is handled as an extra step in the SingleTxnHard constraints, + // to allow existing blocks which violate the overflow rules to pass. + return coin.VerifyTransactionHoursSpending(head.Time, uxIn, uxOut) +} + +// VerifySingleTxnUserConstraints applies additional verification for a +// transaction created by the user. +// This is distinct from transactions created by other users (i.e. received over the network), +// and from transactions included in blocks. +func VerifySingleTxnUserConstraints(txn coin.Transaction) error { + for _, o := range txn.Out { + if o.Address.Null() { + err := errors.New("Transaction output is sent to the null address") + return NewErrTxnViolatesUserConstraint(err) + } + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/visor.go b/vendor/github.com/skycoin/skycoin/src/visor/visor.go new file mode 100644 index 00000000..21b78ac6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/visor.go @@ -0,0 +1,2469 @@ +/* +Package visor manages the blockchain database and wallets + +All conceptual database operations must use a database transaction. +Callers of visor methods must ensure they do not make multiple calls without a transaction, +unless it is determined safe to do so. + +Wallet access is also gatewayed by visor, since the wallet data relates to the blockchain database. +Wallets are conceptually a second database. +*/ +package visor + +import ( + "errors" + "fmt" + "sort" + + "time" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/skycoin/skycoin/src/util/mathutil" + "github.com/skycoin/skycoin/src/util/timeutil" + "github.com/skycoin/skycoin/src/visor/blockdb" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/visor/historydb" + "github.com/skycoin/skycoin/src/wallet" +) + +var logger = logging.MustGetLogger("visor") + +// Visor manages the blockchain +type Visor struct { + Config Config + + startedAt time.Time + db *dbutil.DB + unconfirmed UnconfirmedTransactionPooler + blockchain Blockchainer + history Historyer + wallets *wallet.Service +} + +// New creates a Visor for managing the blockchain database +func New(c Config, db *dbutil.DB, wltServ *wallet.Service) (*Visor, error) { + logger.Info("Creating new visor") + if c.IsBlockPublisher { + logger.Info("Visor running in block publisher mode") + } + + if err := c.Verify(); err != nil { + return nil, err + } + + logger.Infof("Coinhour burn factor for unconfirmed transactions is %d", c.UnconfirmedVerifyTxn.BurnFactor) + logger.Infof("Max transaction size for unconfirmed transactions is %d", c.UnconfirmedVerifyTxn.MaxTransactionSize) + logger.Infof("Max decimals for unconfirmed transactions is %d", c.UnconfirmedVerifyTxn.MaxDropletPrecision) + logger.Infof("Coinhour burn factor for transactions when creating blocks is %d", c.CreateBlockVerifyTxn.BurnFactor) + logger.Infof("Max transaction size for transactions when creating blocks is %d", c.CreateBlockVerifyTxn.MaxTransactionSize) + logger.Infof("Max decimals for transactions when creating blocks is %d", c.CreateBlockVerifyTxn.MaxDropletPrecision) + logger.Infof("Max block size is %d", c.MaxBlockTransactionsSize) + + if !db.IsReadOnly() { + if err := CreateBuckets(db); err != nil { + logger.WithError(err).Error("CreateBuckets failed") + return nil, err + } + } + + bc, err := NewBlockchain(db, BlockchainConfig{ + Pubkey: c.BlockchainPubkey, + Arbitrating: c.Arbitrating, + }) + if err != nil { + return nil, err + } + + history := historydb.New() + + if !db.IsReadOnly() { + if err := db.Update("build unspent indexes and init history", func(tx *dbutil.Tx) error { + headSeq, _, err := bc.HeadSeq(tx) + if err != nil { + return err + } + + if err := bc.Unspent().MaybeBuildIndexes(tx, headSeq); err != nil { + return err + } + + return initHistory(tx, bc, history) + }); err != nil { + return nil, err + } + } + + utp, err := NewUnconfirmedTransactionPool(db) + if err != nil { + return nil, err + } + + v := &Visor{ + Config: c, + startedAt: time.Now(), + db: db, + blockchain: bc, + unconfirmed: utp, + history: history, + wallets: wltServ, + } + + return v, nil +} + +// VisorConfig returns Config +func (vs *Visor) VisorConfig() Config { + return vs.Config +} + +// Init initializes starts the visor +func (vs *Visor) Init() error { + logger.Info("Visor init") + + if vs.db.IsReadOnly() { + return nil + } + + return vs.db.Update("visor init", func(tx *dbutil.Tx) error { + if err := vs.maybeCreateGenesisBlock(tx); err != nil { + return err + } + + removed, err := vs.unconfirmed.RemoveInvalid(tx, vs.blockchain) + if err != nil { + return err + } + logger.Infof("Removed %d invalid txns from pool", len(removed)) + + return nil + }) +} + +func initHistory(tx *dbutil.Tx, bc *Blockchain, history *historydb.HistoryDB) error { + logger.Info("Visor initHistory") + + shouldReset, err := history.NeedsReset(tx) + if err != nil { + return err + } + + if !shouldReset { + return nil + } + + logger.Info("Resetting historyDB") + + if err := history.Erase(tx); err != nil { + return err + } + + // Reparse the history up to the blockchain head + headSeq, _, err := bc.HeadSeq(tx) + if err != nil { + return err + } + + if err := parseHistoryTo(tx, history, bc, headSeq); err != nil { + logger.WithError(err).Error("parseHistoryTo failed") + return err + } + + return nil +} + +func parseHistoryTo(tx *dbutil.Tx, history *historydb.HistoryDB, bc *Blockchain, height uint64) error { + logger.Info("Visor parseHistoryTo") + + parsedBlockSeq, _, err := history.ParsedBlockSeq(tx) + if err != nil { + return err + } + + for i := uint64(0); i < height-parsedBlockSeq; i++ { + b, err := bc.GetSignedBlockBySeq(tx, parsedBlockSeq+i+1) + if err != nil { + return err + } + + if b == nil { + return fmt.Errorf("no block exists in depth: %d", parsedBlockSeq+i+1) + } + + if err := history.ParseBlock(tx, b.Block); err != nil { + return err + } + } + + return nil +} + +// maybeCreateGenesisBlock creates a genesis block if necessary +func (vs *Visor) maybeCreateGenesisBlock(tx *dbutil.Tx) error { + logger.Info("Visor maybeCreateGenesisBlock") + gb, err := vs.blockchain.GetGenesisBlock(tx) + if err != nil { + return err + } + if gb != nil { + return nil + } + + logger.Info("Create genesis block") + vs.GenesisPreconditions() + b, err := coin.NewGenesisBlock(vs.Config.GenesisAddress, vs.Config.GenesisCoinVolume, vs.Config.GenesisTimestamp) + if err != nil { + return err + } + + var sb coin.SignedBlock + // record the signature of genesis block + if vs.Config.IsBlockPublisher { + sb = vs.signBlock(*b) + logger.Infof("Genesis block signature=%s", sb.Sig.Hex()) + } else { + sb = coin.SignedBlock{ + Block: *b, + Sig: vs.Config.GenesisSignature, + } + } + + return vs.executeSignedBlock(tx, sb) +} + +// GenesisPreconditions panics if conditions for genesis block are not met +func (vs *Visor) GenesisPreconditions() { + if vs.Config.BlockchainSeckey != (cipher.SecKey{}) { + if vs.Config.BlockchainPubkey != cipher.MustPubKeyFromSecKey(vs.Config.BlockchainSeckey) { + logger.Panic("Cannot create genesis block. Invalid secret key for pubkey") + } + } +} + +// StartedAt returns the time that the visor was created +func (vs *Visor) StartedAt() time.Time { + return vs.startedAt +} + +// RefreshUnconfirmed checks unconfirmed txns against the blockchain and returns +// all transaction that turn to valid. +func (vs *Visor) RefreshUnconfirmed() ([]cipher.SHA256, error) { + var hashes []cipher.SHA256 + if err := vs.db.Update("RefreshUnconfirmed", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.unconfirmed.Refresh(tx, vs.blockchain, vs.Config.Distribution, vs.Config.UnconfirmedVerifyTxn) + return err + }); err != nil { + return nil, err + } + + return hashes, nil +} + +// RemoveInvalidUnconfirmed removes transactions that become permanently invalid +// (by violating hard constraints) from the pool. +// Returns the transaction hashes that were removed. +func (vs *Visor) RemoveInvalidUnconfirmed() ([]cipher.SHA256, error) { + var hashes []cipher.SHA256 + if err := vs.db.Update("RemoveInvalidUnconfirmed", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.unconfirmed.RemoveInvalid(tx, vs.blockchain) + return err + }); err != nil { + return nil, err + } + + return hashes, nil +} + +// createBlock creates a SignedBlock from pending transactions +func (vs *Visor) createBlock(tx *dbutil.Tx, when uint64) (coin.SignedBlock, error) { + if !vs.Config.IsBlockPublisher { + logger.Panic("Only a block publisher node can create blocks") + } + + // Gather all unconfirmed transactions + txns, err := vs.unconfirmed.AllRawTransactions(tx) + if err != nil { + return coin.SignedBlock{}, err + } + + b, err := vs.createBlockFromTxns(tx, txns, when) + if err != nil { + return coin.SignedBlock{}, err + } + + return vs.signBlock(b), nil +} + +// createBlockFromTxns creates a Block from specified set of transactions according to set of determinstic rules. +func (vs *Visor) createBlockFromTxns(tx *dbutil.Tx, txns coin.Transactions, when uint64) (coin.Block, error) { + if len(txns) == 0 { + return coin.Block{}, errors.New("No transactions") + } + + logger.Infof("unconfirmed pool has %d transactions pending", len(txns)) + + // Filter transactions that violate all constraints + var filteredTxns coin.Transactions + for _, txn := range txns { + if _, _, err := vs.blockchain.VerifySingleTxnSoftHardConstraints(tx, txn, vs.Config.Distribution, vs.Config.CreateBlockVerifyTxn, TxnSigned); err != nil { + switch err.(type) { + case ErrTxnViolatesHardConstraint, ErrTxnViolatesSoftConstraint: + logger.Warningf("Transaction %s violates constraints: %v", txn.Hash().Hex(), err) + default: + return coin.Block{}, err + } + } else { + filteredTxns = append(filteredTxns, txn) + } + } + + nRemoved := len(txns) - len(filteredTxns) + if nRemoved > 0 { + logger.Infof("CreateBlock ignored %d transactions violating constraints", nRemoved) + } + + txns = filteredTxns + + if len(txns) == 0 { + logger.Info("No transactions after filtering for constraint violations") + return coin.Block{}, errors.New("No transactions after filtering for constraint violations") + } + + head, err := vs.blockchain.Head(tx) + if err != nil { + return coin.Block{}, err + } + + // Sort them by highest fee per kilobyte + txns, err = coin.SortTransactions(txns, vs.blockchain.TransactionFee(tx, head.Time())) + if err != nil { + logger.Critical().WithError(err).Error("SortTransactions failed, no block can be made until the offending transaction is removed") + return coin.Block{}, err + } + + // Apply block size transaction limit + txns, err = txns.TruncateBytesTo(vs.Config.MaxBlockTransactionsSize) + if err != nil { + logger.Critical().WithError(err).Error("TruncateBytesTo failed, no block can be made until the offending transaction is removed") + return coin.Block{}, err + } + + if len(txns) > coin.MaxBlockTransactions { + txns = txns[:coin.MaxBlockTransactions] + } + + if len(txns) == 0 { + logger.Panic("TruncateBytesTo removed all transactions") + } + + logger.Infof("Creating new block with %d transactions, head time %d", len(txns), when) + + b, err := vs.blockchain.NewBlock(tx, txns, when) + if err != nil { + logger.Warningf("blockchain.NewBlock failed: %v", err) + return coin.Block{}, err + } + + return *b, nil +} + +// CreateAndExecuteBlock creates a SignedBlock from pending transactions and executes it +func (vs *Visor) CreateAndExecuteBlock() (coin.SignedBlock, error) { + var sb coin.SignedBlock + + err := vs.db.Update("CreateAndExecuteBlock", func(tx *dbutil.Tx) error { + var err error + sb, err = vs.createBlock(tx, uint64(time.Now().UTC().Unix())) + if err != nil { + return err + } + + return vs.executeSignedBlock(tx, sb) + }) + + return sb, err +} + +// CreateBlockFromTxns creates a Block from specified set of transactions according to set of determinstic rules. +func (vs *Visor) CreateBlockFromTxns(txns coin.Transactions, when uint64) (coin.Block, error) { + var sb coin.Block + + err := vs.db.Update("CreateBlockFromTxns", func(tx *dbutil.Tx) error { + var err error + if sb, err = vs.createBlockFromTxns(tx, txns, when); err != nil { + return err + } + + return nil + }) + + return sb, err +} + +// VerifyBlock verifies specified block against local copy of blockchain. +// Signature is not verified. +func (vs *Visor) VerifyBlock(b coin.SignedBlock) error { + return vs.db.View("VerifyBlock", func(tx *dbutil.Tx) error { + return vs.blockchain.VerifyBlock(tx, &b) + }) +} + +// ExecuteSignedBlock adds a block to the blockchain, or returns error. +// Blocks must be executed in sequence, and be signed by a block publisher node. +func (vs *Visor) ExecuteSignedBlock(b coin.SignedBlock) error { + return vs.db.Update("ExecuteSignedBlock", func(tx *dbutil.Tx) error { + return vs.executeSignedBlock(tx, b) + }) +} + +// ExecuteSignedBlockUnsafe adds block to the blockchain, or returns error. +// Blocks must be executed in sequence. Block signature is not verified. +func (vs *Visor) ExecuteSignedBlockUnsafe(b coin.SignedBlock) error { + return vs.db.Update("ExecuteSignedBlockUnsafe", func(tx *dbutil.Tx) error { + return vs.executeSignedBlockUnsafe(tx, b) + }) +} + +// executeSignedBlock adds a block to the blockchain, or returns error. +// Blocks must be executed in sequence, and be signed by a block publisher node. +func (vs *Visor) executeSignedBlock(tx *dbutil.Tx, b coin.SignedBlock) error { + if err := b.VerifySignature(vs.Config.BlockchainPubkey); err != nil { + return err + } + + return vs.executeSignedBlockUnsafe(tx, b) +} + +// executeSignedBlockUnsafe add a block to the blockchain, or returns error. +// Blocks must be executed in sequence. Block signature is not verified. +func (vs *Visor) executeSignedBlockUnsafe(tx *dbutil.Tx, b coin.SignedBlock) error { + if err := vs.blockchain.ExecuteBlock(tx, &b); err != nil { + return err + } + + // Remove the transactions in the Block from the unconfirmed pool + txnHashes := make([]cipher.SHA256, 0, len(b.Block.Body.Transactions)) + for _, txn := range b.Block.Body.Transactions { + txnHashes = append(txnHashes, txn.Hash()) + } + + if err := vs.unconfirmed.RemoveTransactions(tx, txnHashes); err != nil { + return err + } + + // Update the HistoryDB + return vs.history.ParseBlock(tx, b.Block) +} + +// signBlock signs a block for a block publisher node. Will panic if anything is invalid +func (vs *Visor) signBlock(b coin.Block) coin.SignedBlock { + if !vs.Config.IsBlockPublisher { + logger.Panic("Only a block publisher node can sign blocks") + } + + sig := cipher.MustSignHash(b.HashHeader(), vs.Config.BlockchainSeckey) + + return coin.SignedBlock{ + Block: b, + Sig: sig, + } +} + +/* + Return Data +*/ + +// GetAllUnspentOutputs returns all unspent outputs +func (vs *Visor) GetAllUnspentOutputs() (coin.UxArray, error) { + var ux []coin.UxOut + if err := vs.db.View("GetAllUnspentOutputs", func(tx *dbutil.Tx) error { + var err error + ux, err = vs.blockchain.Unspent().GetAll(tx) + return err + }); err != nil { + return nil, err + } + + return ux, nil +} + +// GetUnspentOutputs returns unspent outputs from the pool, queried by hashes. +// If any do not exist, ErrUnspentNotExist is returned +func (vs *Visor) GetUnspentOutputs(hashes []cipher.SHA256) (coin.UxArray, error) { + var outputs coin.UxArray + if err := vs.db.View("GetUnspentOutputs", func(tx *dbutil.Tx) error { + var err error + outputs, err = vs.blockchain.Unspent().GetArray(tx, hashes) + return err + }); err != nil { + return nil, err + } + + return outputs, nil +} + +// UnconfirmedOutgoingOutputs returns all outputs that would be spent by unconfirmed transactions +func (vs *Visor) UnconfirmedOutgoingOutputs() (coin.UxArray, error) { + var uxa coin.UxArray + + if err := vs.db.View("UnconfirmedOutgoingOutputs", func(tx *dbutil.Tx) error { + var err error + uxa, err = vs.unconfirmedOutgoingOutputs(tx) + return err + }); err != nil { + return nil, err + } + + return uxa, nil +} + +func (vs *Visor) unconfirmedOutgoingOutputs(tx *dbutil.Tx) (coin.UxArray, error) { + txns, err := vs.unconfirmed.AllRawTransactions(tx) + if err != nil { + return nil, err + } + + var inputs []cipher.SHA256 + for _, txn := range txns { + inputs = append(inputs, txn.In...) + } + + return vs.blockchain.Unspent().GetArray(tx, inputs) +} + +// UnconfirmedIncomingOutputs returns all outputs that would be created by unconfirmed transactions +func (vs *Visor) UnconfirmedIncomingOutputs() (coin.UxArray, error) { + var uxa coin.UxArray + + if err := vs.db.View("UnconfirmedIncomingOutputs", func(tx *dbutil.Tx) error { + var err error + uxa, err = vs.unconfirmedIncomingOutputs(tx) + return err + }); err != nil { + return nil, err + } + + return uxa, nil +} + +func (vs *Visor) unconfirmedIncomingOutputs(tx *dbutil.Tx) (coin.UxArray, error) { + head, err := vs.blockchain.Head(tx) + if err != nil { + return nil, err + } + + return vs.unconfirmed.GetIncomingOutputs(tx, head.Head) +} + +// GetSignedBlocksSince returns N signed blocks more recent than Seq. Does not return nil. +func (vs *Visor) GetSignedBlocksSince(seq, ct uint64) ([]coin.SignedBlock, error) { + var blocks []coin.SignedBlock + + if err := vs.db.View("GetSignedBlocksSince", func(tx *dbutil.Tx) error { + avail := uint64(0) + head, err := vs.blockchain.Head(tx) + if err != nil { + return err + } + + headSeq := head.Seq() + if headSeq > seq { + avail = headSeq - seq + } + if avail < ct { + ct = avail + } + if ct == 0 { + return nil + } + + blocks = make([]coin.SignedBlock, 0, ct) + for j := uint64(0); j < ct; j++ { + i := seq + 1 + j + b, err := vs.blockchain.GetSignedBlockBySeq(tx, i) + if err != nil { + return err + } + + blocks = append(blocks, *b) + } + + return nil + }); err != nil { + return nil, err + } + + return blocks, nil +} + +// HeadBkSeq returns the highest BkSeq we know, returns false in the 2nd return value +// if the blockchain is empty +func (vs *Visor) HeadBkSeq() (uint64, bool, error) { + var headSeq uint64 + var ok bool + + if err := vs.db.View("HeadBkSeq", func(tx *dbutil.Tx) error { + var err error + headSeq, ok, err = vs.blockchain.HeadSeq(tx) + return err + }); err != nil { + return 0, false, err + } + + return headSeq, ok, nil +} + +// GetBlockchainMetadata returns descriptive blockchain information +func (vs *Visor) GetBlockchainMetadata() (*BlockchainMetadata, error) { + var head *coin.SignedBlock + var unconfirmedLen, unspentsLen uint64 + + if err := vs.db.View("GetBlockchainMetadata", func(tx *dbutil.Tx) error { + var err error + head, err = vs.blockchain.Head(tx) + if err != nil { + return err + } + + unconfirmedLen, err = vs.unconfirmed.Len(tx) + if err != nil { + return err + } + + unspentsLen, err = vs.blockchain.Unspent().Len(tx) + return err + }); err != nil { + return nil, err + } + + return NewBlockchainMetadata(*head, unconfirmedLen, unspentsLen) +} + +// GetBlock returns a copy of the block at seq. Returns error if seq out of range +func (vs *Visor) GetBlock(seq uint64) (*coin.SignedBlock, error) { + var b *coin.SignedBlock + + if err := vs.db.View("GetBlock", func(tx *dbutil.Tx) error { + headSeq, ok, err := vs.blockchain.HeadSeq(tx) + if err != nil { + return err + } + + if !ok || seq > headSeq { + return errors.New("Block seq out of range") + } + + b, err = vs.blockchain.GetSignedBlockBySeq(tx, seq) + return err + }); err != nil { + return nil, err + } + + return b, nil +} + +// GetBlocks returns blocks matches seqs +func (vs *Visor) GetBlocks(seqs []uint64) ([]coin.SignedBlock, error) { + var blocks []coin.SignedBlock + + if err := vs.db.View("GetBlocks", func(tx *dbutil.Tx) error { + var err error + blocks, err = vs.blockchain.GetBlocks(tx, seqs) + return err + }); err != nil { + return nil, err + } + + return blocks, nil +} + +// GetBlocksVerbose returns blocks matches seqs along with verbose transaction input data +func (vs *Visor) GetBlocksVerbose(seqs []uint64) ([]coin.SignedBlock, [][][]TransactionInput, error) { + var blocks []coin.SignedBlock + var inputs [][][]TransactionInput + + if err := vs.db.View("GetBlocksVerbose", func(tx *dbutil.Tx) error { + var err error + blocks, inputs, err = vs.getBlocksVerbose(tx, func(tx *dbutil.Tx) ([]coin.SignedBlock, error) { + return vs.blockchain.GetBlocks(tx, seqs) + }) + return err + }); err != nil { + return nil, nil, err + } + + return blocks, inputs, nil +} + +// GetBlocksInRange returns multiple blocks between start and end, including both start and end. +// Returns the empty slice if unable to fulfill request. +func (vs *Visor) GetBlocksInRange(start, end uint64) ([]coin.SignedBlock, error) { + var blocks []coin.SignedBlock + + if err := vs.db.View("GetBlocksInRange", func(tx *dbutil.Tx) error { + var err error + blocks, err = vs.blockchain.GetBlocksInRange(tx, start, end) + return err + }); err != nil { + return nil, err + } + + return blocks, nil +} + +// GetBlocksInRangeVerbose returns multiple blocks between start and end, including both start and end. +// Also returns the verbose transaction input data for transactions in these blocks. +// Returns the empty slice if unable to fulfill request. +func (vs *Visor) GetBlocksInRangeVerbose(start, end uint64) ([]coin.SignedBlock, [][][]TransactionInput, error) { + var blocks []coin.SignedBlock + var inputs [][][]TransactionInput + + if err := vs.db.View("GetBlocksInRangeVerbose", func(tx *dbutil.Tx) error { + var err error + blocks, inputs, err = vs.getBlocksVerbose(tx, func(tx *dbutil.Tx) ([]coin.SignedBlock, error) { + return vs.blockchain.GetBlocksInRange(tx, start, end) + }) + return err + }); err != nil { + return nil, nil, err + } + + return blocks, inputs, nil +} + +// GetLastBlocks returns last N blocks +func (vs *Visor) GetLastBlocks(num uint64) ([]coin.SignedBlock, error) { + var blocks []coin.SignedBlock + + if err := vs.db.View("GetLastBlocks", func(tx *dbutil.Tx) error { + var err error + blocks, err = vs.blockchain.GetLastBlocks(tx, num) + return err + }); err != nil { + return nil, err + } + + return blocks, nil +} + +// GetLastBlocksVerbose returns last N blocks with verbose transaction input data +func (vs *Visor) GetLastBlocksVerbose(num uint64) ([]coin.SignedBlock, [][][]TransactionInput, error) { + var blocks []coin.SignedBlock + var inputs [][][]TransactionInput + + if err := vs.db.View("GetLastBlocksVerbose", func(tx *dbutil.Tx) error { + var err error + blocks, inputs, err = vs.getBlocksVerbose(tx, func(tx *dbutil.Tx) ([]coin.SignedBlock, error) { + return vs.blockchain.GetLastBlocks(tx, num) + }) + return err + }); err != nil { + return nil, nil, err + } + + return blocks, inputs, nil +} + +func (vs *Visor) getBlocksVerbose(tx *dbutil.Tx, getBlocks func(*dbutil.Tx) ([]coin.SignedBlock, error)) ([]coin.SignedBlock, [][][]TransactionInput, error) { + blocks, err := getBlocks(tx) + if err != nil { + return nil, nil, err + } + + if len(blocks) == 0 { + return nil, nil, nil + } + + inputs := make([][][]TransactionInput, len(blocks)) + for i, b := range blocks { + blockInputs, err := vs.getBlockInputs(tx, &b) + if err != nil { + return nil, nil, err + } + inputs[i] = blockInputs + } + + return blocks, inputs, nil +} + +// InjectForeignTransaction records a coin.Transaction to the UnconfirmedTransactionPool if the txn is not +// already in the blockchain. +// The bool return value is whether or not the transaction was already in the pool. +// If the transaction violates hard constraints, it is rejected, and error will not be nil. +// If the transaction only violates soft constraints, it is still injected, and the soft constraint violation is returned. +// This method is intended for transactions received over the network. +func (vs *Visor) InjectForeignTransaction(txn coin.Transaction) (bool, *ErrTxnViolatesSoftConstraint, error) { + var known bool + var softErr *ErrTxnViolatesSoftConstraint + + if err := vs.db.Update("InjectForeignTransaction", func(tx *dbutil.Tx) error { + var err error + known, softErr, err = vs.unconfirmed.InjectTransaction(tx, vs.blockchain, txn, vs.Config.Distribution, vs.Config.UnconfirmedVerifyTxn) + return err + }); err != nil { + return false, nil, err + } + + return known, softErr, nil +} + +// InjectUserTransaction records a coin.Transaction to the UnconfirmedTransactionPool if the txn is not +// already in the blockchain. +// The bool return value is whether or not the transaction was already in the pool. +// If the transaction violates hard or soft constraints, it is rejected, and error will not be nil. +func (vs *Visor) InjectUserTransaction(txn coin.Transaction) (bool, *coin.SignedBlock, coin.UxArray, error) { + var known bool + var head *coin.SignedBlock + var inputs coin.UxArray + + if err := vs.db.Update("InjectUserTransaction", func(tx *dbutil.Tx) error { + var err error + known, head, inputs, err = vs.InjectUserTransactionTx(tx, txn) + return err + }); err != nil { + return false, nil, nil, err + } + + return known, head, inputs, nil +} + +// InjectUserTransactionTx records a coin.Transaction to the UnconfirmedTransactionPool if the txn is not +// already in the blockchain. +// The bool return value is whether or not the transaction was already in the pool. +// If the transaction violates hard or soft constraints, it is rejected, and error will not be nil. +// This method is only exported for use by the daemon gateway's InjectBroadcastTransaction method. +func (vs *Visor) InjectUserTransactionTx(tx *dbutil.Tx, txn coin.Transaction) (bool, *coin.SignedBlock, coin.UxArray, error) { + if err := VerifySingleTxnUserConstraints(txn); err != nil { + return false, nil, nil, err + } + + head, inputs, err := vs.blockchain.VerifySingleTxnSoftHardConstraints(tx, txn, vs.Config.Distribution, params.UserVerifyTxn, TxnSigned) + if err != nil { + return false, nil, nil, err + } + + known, softErr, err := vs.unconfirmed.InjectTransaction(tx, vs.blockchain, txn, vs.Config.Distribution, params.UserVerifyTxn) + if softErr != nil { + logger.WithError(softErr).Warning("InjectUserTransaction vs.unconfirmed.InjectTransaction returned a softErr unexpectedly") + } + + return known, head, inputs, err +} + +// GetTransactionsForAddress returns the Transactions whose unspents give coins to a cipher.Address. +// This includes both confirmed and unconfirmed transactions. +func (vs *Visor) GetTransactionsForAddress(a cipher.Address) ([]Transaction, error) { + var txns map[cipher.Address][]Transaction + + if err := vs.db.View("GetTransactionsForAddress", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.getTransactionsForAddresses(tx, []cipher.Address{a}) + return err + }); err != nil { + return nil, err + } + + return txns[a], nil +} + +// GetTransaction returns a Transaction by hash. +func (vs *Visor) GetTransaction(txnHash cipher.SHA256) (*Transaction, error) { + var txn *Transaction + + if err := vs.db.View("GetTransaction", func(tx *dbutil.Tx) error { + var err error + txn, err = vs.getTransaction(tx, txnHash) + return err + }); err != nil { + return nil, err + } + + return txn, nil +} + +// GetTransactionWithInputs returns a Transaction by hash, along with the unspent outputs of its inputs +func (vs *Visor) GetTransactionWithInputs(txnHash cipher.SHA256) (*Transaction, []TransactionInput, error) { + var txn *Transaction + var inputs []TransactionInput + + if err := vs.db.View("GetTransactionWithInputs", func(tx *dbutil.Tx) error { + var err error + txn, err = vs.getTransaction(tx, txnHash) + if err != nil { + return err + } + + if txn == nil { + return nil + } + + feeCalcTime, err := vs.getFeeCalcTimeForTransaction(tx, *txn) + if err != nil { + return err + } + if feeCalcTime == nil { + return nil + } + + inputs, err = vs.getTransactionInputs(tx, *feeCalcTime, txn.Transaction.In) + return err + }); err != nil { + return nil, nil, err + } + + return txn, inputs, nil +} + +func (vs *Visor) getTransaction(tx *dbutil.Tx, txnHash cipher.SHA256) (*Transaction, error) { + // Look in the unconfirmed pool + utxn, err := vs.unconfirmed.Get(tx, txnHash) + if err != nil { + return nil, err + } + + if utxn != nil { + return &Transaction{ + Transaction: utxn.Transaction, + Status: NewUnconfirmedTransactionStatus(), + Time: uint64(timeutil.NanoToTime(utxn.Received).Unix()), + }, nil + } + + htxn, err := vs.history.GetTransaction(tx, txnHash) + if err != nil { + return nil, err + } + + if htxn == nil { + return nil, nil + } + + headSeq, ok, err := vs.blockchain.HeadSeq(tx) + if err != nil { + return nil, err + } else if !ok { + return nil, errors.New("blockchain is empty but history has transactions") + } + + b, err := vs.blockchain.GetSignedBlockBySeq(tx, htxn.BlockSeq) + if err != nil { + return nil, err + } + + if b == nil { + return nil, fmt.Errorf("found no block in seq %v", htxn.BlockSeq) + } + + if headSeq < htxn.BlockSeq { + return nil, fmt.Errorf("blockchain head seq %d is earlier than history txn seq %d", headSeq, htxn.BlockSeq) + } + + confirms := headSeq - htxn.BlockSeq + 1 + return &Transaction{ + Transaction: htxn.Txn, + Status: NewConfirmedTransactionStatus(confirms, htxn.BlockSeq), + Time: b.Time(), + }, nil +} + +// TxFilter transaction filter type +type TxFilter interface { + // Returns whether the transaction is matched + Match(*Transaction) bool +} + +// BaseFilter is a helper struct for generating TxFilter. +type BaseFilter struct { + F func(tx *Transaction) bool +} + +// Match matches the filter based upon F +func (f BaseFilter) Match(tx *Transaction) bool { + return f.F(tx) +} + +// NewAddrsFilter collects all addresses related transactions. +func NewAddrsFilter(addrs []cipher.Address) TxFilter { + return AddrsFilter{Addrs: addrs} +} + +// AddrsFilter filters by addresses +type AddrsFilter struct { + Addrs []cipher.Address +} + +// Match implements the TxFilter interface, this actually won't be used, only the 'Addrs' member is used. +func (af AddrsFilter) Match(tx *Transaction) bool { return true } + +// NewConfirmedTxFilter collects the transaction whose 'Confirmed' status matchs the parameter passed in. +func NewConfirmedTxFilter(isConfirmed bool) TxFilter { + return BaseFilter{F: func(tx *Transaction) bool { + return tx.Status.Confirmed == isConfirmed + }} +} + +// GetTransactions returns transactions that can pass the filters. +// If no filters is provided, returns all transactions. +func (vs *Visor) GetTransactions(flts []TxFilter) ([]Transaction, error) { + var txns []Transaction + + if err := vs.db.View("GetTransactions", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.getTransactions(tx, flts) + return err + }); err != nil { + return nil, err + } + + return txns, nil +} + +// GetTransactionsWithInputs is the same as GetTransactions but also returns verbose transaction input data +func (vs *Visor) GetTransactionsWithInputs(flts []TxFilter) ([]Transaction, [][]TransactionInput, error) { + var txns []Transaction + var inputs [][]TransactionInput + + if err := vs.db.View("GetTransactionsWithInputs", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.getTransactions(tx, flts) + if err != nil { + return err + } + + inputs = make([][]TransactionInput, len(txns)) + for i, txn := range txns { + feeCalcTime, err := vs.getFeeCalcTimeForTransaction(tx, txn) + if err != nil { + return err + } + if feeCalcTime == nil { + continue + } + + txnInputs, err := vs.getTransactionInputs(tx, *feeCalcTime, txn.Transaction.In) + if err != nil { + return err + } + + inputs[i] = txnInputs + } + + return nil + }); err != nil { + return nil, nil, err + } + + return txns, inputs, nil +} + +func (vs *Visor) getTransactions(tx *dbutil.Tx, flts []TxFilter) ([]Transaction, error) { + var addrFlts []AddrsFilter + var otherFlts []TxFilter + // Splits the filters into AddrsFilter and other filters + for _, f := range flts { + switch v := f.(type) { + case AddrsFilter: + addrFlts = append(addrFlts, v) + default: + otherFlts = append(otherFlts, f) + } + } + + // Accumulates all addresses in address filters + addrs := accumulateAddressInFilter(addrFlts) + + // Traverses all transactions to do collection if there's no address filter. + if len(addrs) == 0 { + return vs.traverseTxns(tx, otherFlts) + } + + // Gets addresses related transactions + addrTxns, err := vs.getTransactionsForAddresses(tx, addrs) + if err != nil { + return nil, err + } + + // Converts address transactions map into []Transaction, + // and remove duplicate txns + txnMap := make(map[cipher.SHA256]struct{}) + var txns []Transaction + for _, aTxns := range addrTxns { + for _, txn := range aTxns { + txnHash := txn.Transaction.Hash() + if _, exist := txnMap[txnHash]; exist { + continue + } + txnMap[txnHash] = struct{}{} + txns = append(txns, txn) + } + } + + // Checks other filters + f := func(txn *Transaction, flts []TxFilter) bool { + for _, flt := range flts { + if !flt.Match(txn) { + return false + } + } + + return true + } + + var retTxns []Transaction + for _, txn := range txns { + if f(&txn, otherFlts) { + retTxns = append(retTxns, txn) + } + } + + return retTxns, nil +} + +func accumulateAddressInFilter(afs []AddrsFilter) []cipher.Address { + // Accumulate all addresses in address filters + addrMap := make(map[cipher.Address]struct{}) + var addrs []cipher.Address + for _, af := range afs { + for _, a := range af.Addrs { + if _, exist := addrMap[a]; exist { + continue + } + addrMap[a] = struct{}{} + addrs = append(addrs, a) + } + } + return addrs +} + +// getTransactionsForAddresses returns all addresses related transactions. +// Including both confirmed and unconfirmed transactions. +func (vs *Visor) getTransactionsForAddresses(tx *dbutil.Tx, addrs []cipher.Address) (map[cipher.Address][]Transaction, error) { + // Get the head block seq, for calculating the txn status + headBkSeq, ok, err := vs.blockchain.HeadSeq(tx) + + if err != nil { + return nil, err + } + if !ok { + return nil, errors.New("No head block seq") + } + + ret := make(map[cipher.Address][]Transaction, len(addrs)) + for _, a := range addrs { + addrTxns, err := vs.history.GetTransactionsForAddress(tx, a) + if err != nil { + return nil, err + } + + txns := make([]Transaction, len(addrTxns), len(addrTxns)+4) + for i, txn := range addrTxns { + if headBkSeq < txn.BlockSeq { + err := errors.New("Transaction block sequence is greater than the head block sequence") + logger.Critical().WithError(err).WithFields(logrus.Fields{ + "headBkSeq": headBkSeq, + "txnBlockSeq": txn.BlockSeq, + }).Error() + return nil, err + } + h := headBkSeq - txn.BlockSeq + 1 + + bk, err := vs.blockchain.GetSignedBlockBySeq(tx, txn.BlockSeq) + if err != nil { + return nil, err + } + + if bk == nil { + return nil, fmt.Errorf("block seq=%d doesn't exist", txn.BlockSeq) + } + + txns[i] = Transaction{ + Transaction: txn.Txn, + Status: NewConfirmedTransactionStatus(h, txn.BlockSeq), + Time: bk.Time(), + } + } + + // Look in the unconfirmed pool + uxs, err := vs.unconfirmed.GetUnspentsOfAddr(tx, a) + if err != nil { + return nil, err + } + + for _, ux := range uxs { + txn, err := vs.unconfirmed.Get(tx, ux.Body.SrcTransaction) + if err != nil { + return nil, err + } + + if txn == nil { + logger.Critical().Error("unconfirmed unspent missing unconfirmed txn") + continue + } + + txns = append(txns, Transaction{ + Transaction: txn.Transaction, + Status: NewUnconfirmedTransactionStatus(), + Time: uint64(timeutil.NanoToTime(txn.Received).Unix()), + }) + } + + ret[a] = txns + } + + return ret, nil +} + +// traverseTxns traverses transactions in historydb and unconfirmed tx pool in db, +// returns transactions that can pass the filters. +func (vs *Visor) traverseTxns(tx *dbutil.Tx, flts []TxFilter) ([]Transaction, error) { + // Get the head block seq, for calculating the tx status + headBkSeq, ok, err := vs.blockchain.HeadSeq(tx) + if err != nil { + return nil, err + } + if !ok { + return nil, errors.New("No head block seq") + } + + var txns []Transaction + + if err := vs.history.ForEachTxn(tx, func(_ cipher.SHA256, hTxn *historydb.Transaction) error { + if headBkSeq < hTxn.BlockSeq { + err := errors.New("Transaction block sequence is less than the head block sequence") + logger.Critical().WithError(err).WithFields(logrus.Fields{ + "headBkSeq": headBkSeq, + "txBlockSeq": hTxn.BlockSeq, + }).Error() + return err + } + + h := headBkSeq - hTxn.BlockSeq + 1 + + bk, err := vs.blockchain.GetSignedBlockBySeq(tx, hTxn.BlockSeq) + if err != nil { + return fmt.Errorf("get block of seq: %v failed: %v", hTxn.BlockSeq, err) + } + + if bk == nil { + return fmt.Errorf("block of seq: %d doesn't exist", hTxn.BlockSeq) + } + + txn := Transaction{ + Transaction: hTxn.Txn, + Status: NewConfirmedTransactionStatus(h, hTxn.BlockSeq), + Time: bk.Time(), + } + + // Checks filters + for _, f := range flts { + if !f.Match(&txn) { + return nil + } + } + + txns = append(txns, txn) + return nil + }); err != nil { + return nil, err + } + + txns = sortTxns(txns) + + // Gets all unconfirmed transactions + unconfirmedTxns, err := vs.unconfirmed.GetFiltered(tx, func(txn UnconfirmedTransaction) bool { + return true + }) + if err != nil { + return nil, err + } + + for _, ux := range unconfirmedTxns { + txn := Transaction{ + Transaction: ux.Transaction, + Status: NewUnconfirmedTransactionStatus(), + Time: uint64(timeutil.NanoToTime(ux.Received).Unix()), + } + + // Checks filters + for _, f := range flts { + if !f.Match(&txn) { + continue + } + txns = append(txns, txn) + } + } + return txns, nil +} + +// Sort transactions by block seq, if equal then compare hash +func sortTxns(txns []Transaction) []Transaction { + sort.Slice(txns, func(i, j int) bool { + if txns[i].Status.BlockSeq < txns[j].Status.BlockSeq { + return true + } + + if txns[i].Status.BlockSeq > txns[j].Status.BlockSeq { + return false + } + + // If transactions in the same block, compare the hash string + return txns[i].Transaction.Hash().Hex() < txns[j].Transaction.Hash().Hex() + }) + return txns +} + +// AddressBalances computes the total balance for cipher.Addresses and their coin.UxOuts +func (vs *Visor) AddressBalances(head *coin.SignedBlock, auxs coin.AddressUxOuts) (uint64, uint64, error) { + prevTime := head.Time() + var coins uint64 + var hours uint64 + for _, uxs := range auxs { + for _, ux := range uxs { + uxHours, err := ux.CoinHours(prevTime) + if err != nil { + return 0, 0, err + } + + coins, err = mathutil.AddUint64(coins, ux.Body.Coins) + if err != nil { + return 0, 0, err + } + + hours, err = mathutil.AddUint64(hours, uxHours) + if err != nil { + return 0, 0, err + } + } + } + return coins, hours, nil +} + +// GetUnconfirmedTransactions gets all confirmed transactions of specific addresses +func (vs *Visor) GetUnconfirmedTransactions(filter func(UnconfirmedTransaction) bool) ([]UnconfirmedTransaction, error) { + var txns []UnconfirmedTransaction + + if err := vs.db.View("GetUnconfirmedTransactions", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.unconfirmed.GetFiltered(tx, filter) + return err + }); err != nil { + return nil, err + } + + return txns, nil +} + +// GetUnconfirmedTransactionsVerbose gets all confirmed transactions of specific addresses +func (vs *Visor) GetUnconfirmedTransactionsVerbose(filter func(UnconfirmedTransaction) bool) ([]UnconfirmedTransaction, [][]TransactionInput, error) { + var txns []UnconfirmedTransaction + var inputs [][]TransactionInput + + if err := vs.db.View("GetUnconfirmedTransactionsVerbose", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.unconfirmed.GetFiltered(tx, filter) + if err != nil { + return err + } + + inputs, err = vs.getTransactionInputsForUnconfirmedTxns(tx, txns) + + return err + }); err != nil { + return nil, nil, err + } + + if len(txns) == 0 { + return nil, nil, nil + } + + return txns, inputs, nil +} + +// SendsToAddresses represents a filter that check if tx has output to the given addresses +func SendsToAddresses(addresses []cipher.Address) func(UnconfirmedTransaction) bool { + return func(tx UnconfirmedTransaction) (isRelated bool) { + for _, out := range tx.Transaction.Out { + for _, address := range addresses { + if out.Address == address { + isRelated = true + return + } + } + } + return + } +} + +// GetAllUnconfirmedTransactions returns all unconfirmed transactions +func (vs *Visor) GetAllUnconfirmedTransactions() ([]UnconfirmedTransaction, error) { + var txns []UnconfirmedTransaction + + if err := vs.db.View("GetAllUnconfirmedTransactions", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.unconfirmed.GetFiltered(tx, All) + return err + }); err != nil { + return nil, err + } + + return txns, nil +} + +// GetAllUnconfirmedTransactionsVerbose returns all unconfirmed transactions with verbose transaction input data +func (vs *Visor) GetAllUnconfirmedTransactionsVerbose() ([]UnconfirmedTransaction, [][]TransactionInput, error) { + var txns []UnconfirmedTransaction + var inputs [][]TransactionInput + + if err := vs.db.View("GetAllUnconfirmedTransactionsVerbose", func(tx *dbutil.Tx) error { + var err error + txns, err = vs.unconfirmed.GetFiltered(tx, All) + if err != nil { + return err + } + + inputs, err = vs.getTransactionInputsForUnconfirmedTxns(tx, txns) + + return err + }); err != nil { + return nil, nil, err + } + + if len(txns) == 0 { + return nil, nil, nil + } + + return txns, inputs, nil +} + +// getTransactionInputsForUnconfirmedTxns returns ReadableTransactionInputs for a set of UnconfirmedTransactions +func (vs *Visor) getTransactionInputsForUnconfirmedTxns(tx *dbutil.Tx, txns []UnconfirmedTransaction) ([][]TransactionInput, error) { + if len(txns) == 0 { + return nil, nil + } + + // Use the current head time to calculate estimated coin hours of unconfirmed transactions + headTime, err := vs.blockchain.Time(tx) + if err != nil { + return nil, err + } + + inputs := make([][]TransactionInput, len(txns)) + for i, txn := range txns { + if len(txn.Transaction.In) == 0 { + logger.Critical().WithField("txid", txn.Transaction.Hash().Hex()).Warning("unconfirmed transaction has no inputs") + continue + } + + txnInputs, err := vs.getTransactionInputs(tx, headTime, txn.Transaction.In) + if err != nil { + return nil, err + } + + inputs[i] = txnInputs + } + + return inputs, nil +} + +// getFeeCalcTimeForTransaction returns the time against which a transaction's fee should be calculated. +// The genesis block has no inputs and thus no fee to calculate, so it returns nil. +// A confirmed transaction's fee was calculated from the previous block's head time, when it was executed. +// An unconfirmed transaction's fee will be calculated from the current block head time, once executed. +func (vs *Visor) getFeeCalcTimeForTransaction(tx *dbutil.Tx, txn Transaction) (*uint64, error) { + // The genesis block has no inputs to calculate, otherwise calculate the inputs + if txn.Status.BlockSeq == 0 && txn.Status.Confirmed { + return nil, nil + } + + feeCalcTime := uint64(0) + if txn.Status.Confirmed { + // Use the previous block head to calculate the coin hours + prevBlock, err := vs.blockchain.GetSignedBlockBySeq(tx, txn.Status.BlockSeq-1) + if err != nil { + return nil, err + } + + if prevBlock == nil { + err := fmt.Errorf("getFeeCalcTimeForTransaction: prevBlock seq=%d not found", txn.Status.BlockSeq-1) + logger.Critical().WithError(err).Error("getFeeCalcTimeForTransaction") + return nil, err + } + + feeCalcTime = prevBlock.Block.Head.Time + } else { + // Use the current block head to calculate the coin hours + var err error + feeCalcTime, err = vs.blockchain.Time(tx) + if err != nil { + return nil, err + } + } + + return &feeCalcTime, nil +} + +// GetAllValidUnconfirmedTxHashes returns all valid unconfirmed transaction hashes +func (vs *Visor) GetAllValidUnconfirmedTxHashes() ([]cipher.SHA256, error) { + var hashes []cipher.SHA256 + + if err := vs.db.View("GetAllValidUnconfirmedTxHashes", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.unconfirmed.GetHashes(tx, IsValid) + return err + }); err != nil { + return nil, err + } + + return hashes, nil +} + +// GetConfirmedTransaction returns transaction, which has been already included in some block. +func (vs *Visor) GetConfirmedTransaction(txnHash cipher.SHA256) (*coin.Transaction, error) { + var histTxn *historydb.Transaction + + if err := vs.db.View("GetConfirmedTransaction", func(tx *dbutil.Tx) error { + var err error + histTxn, err = vs.history.GetTransaction(tx, txnHash) + return err + }); err != nil { + return nil, err + } + + // Transaction not found. + if histTxn == nil { + return nil, nil + } + + return &histTxn.Txn, nil +} + +// GetSignedBlockByHash get block of specific hash header, return nil on not found. +func (vs *Visor) GetSignedBlockByHash(hash cipher.SHA256) (*coin.SignedBlock, error) { + var sb *coin.SignedBlock + + if err := vs.db.View("GetSignedBlockByHash", func(tx *dbutil.Tx) error { + var err error + sb, err = vs.blockchain.GetSignedBlockByHash(tx, hash) + return err + }); err != nil { + return nil, err + } + + return sb, nil +} + +// GetSignedBlockBySeq get block of specific seq, return nil on not found. +func (vs *Visor) GetSignedBlockBySeq(seq uint64) (*coin.SignedBlock, error) { + var b *coin.SignedBlock + + if err := vs.db.View("GetSignedBlockBySeq", func(tx *dbutil.Tx) error { + var err error + b, err = vs.blockchain.GetSignedBlockBySeq(tx, seq) + return err + }); err != nil { + return nil, err + } + + return b, nil +} + +// GetSignedBlockByHashVerbose returns a coin.SignedBlock and its transactions' input data for a given block hash +func (vs *Visor) GetSignedBlockByHashVerbose(hash cipher.SHA256) (*coin.SignedBlock, [][]TransactionInput, error) { + var b *coin.SignedBlock + var inputs [][]TransactionInput + + if err := vs.db.View("GetSignedBlockByHashVerbose", func(tx *dbutil.Tx) error { + var err error + b, inputs, err = vs.getBlockVerbose(tx, func(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return vs.blockchain.GetSignedBlockByHash(tx, hash) + }) + return err + }); err != nil { + return nil, nil, err + } + + return b, inputs, nil +} + +// GetSignedBlockBySeqVerbose returns a coin.SignedBlock and its transactions' input data for a given block hash +func (vs *Visor) GetSignedBlockBySeqVerbose(seq uint64) (*coin.SignedBlock, [][]TransactionInput, error) { + var b *coin.SignedBlock + var inputs [][]TransactionInput + + if err := vs.db.View("GetSignedBlockBySeqVerbose", func(tx *dbutil.Tx) error { + var err error + b, inputs, err = vs.getBlockVerbose(tx, func(tx *dbutil.Tx) (*coin.SignedBlock, error) { + return vs.blockchain.GetSignedBlockBySeq(tx, seq) + }) + return err + }); err != nil { + return nil, nil, err + } + + return b, inputs, nil +} + +func (vs *Visor) getBlockVerbose(tx *dbutil.Tx, getBlock func(*dbutil.Tx) (*coin.SignedBlock, error)) (*coin.SignedBlock, [][]TransactionInput, error) { + b, err := getBlock(tx) + if err != nil { + return nil, nil, err + } + + if b == nil { + return nil, nil, nil + } + + inputs, err := vs.getBlockInputs(tx, b) + if err != nil { + return nil, nil, err + } + + return b, inputs, nil +} + +func (vs *Visor) getBlockInputs(tx *dbutil.Tx, b *coin.SignedBlock) ([][]TransactionInput, error) { + if b == nil { + return nil, nil + } + + // The genesis block has no inputs to query or to calculate fees from + if b.Block.Head.BkSeq == 0 { + if len(b.Block.Body.Transactions) != 1 { + logger.Panicf("Genesis block should have only 1 transaction (has %d)", len(b.Block.Body.Transactions)) + } + + if len(b.Block.Body.Transactions[0].In) != 0 { + logger.Panic("Genesis block transaction should not have inputs") + } + + inputs := make([][]TransactionInput, 1) + + return inputs, nil + } + + // When a transaction was added to a block, its coinhour fee was + // calculated based upon the time of the head block. + // So we need to look at the previous block + prevBlock, err := vs.blockchain.GetSignedBlockBySeq(tx, b.Head.BkSeq-1) + if err != nil { + return nil, err + } + + if prevBlock == nil { + err := fmt.Errorf("getBlockInputs: prevBlock seq %d not found", b.Head.BkSeq-1) + logger.Critical().WithError(err).Error() + return nil, err + } + + var inputs [][]TransactionInput + for _, txn := range b.Block.Body.Transactions { + i, err := vs.getTransactionInputs(tx, prevBlock.Block.Head.Time, txn.In) + if err != nil { + return nil, err + } + + inputs = append(inputs, i) + } + + return inputs, nil +} + +// getTransactionInputs returns []TransactionInput for a given set of spent output hashes. +// feeCalcTime is the time against which to calculate the coinhours of the output +func (vs *Visor) getTransactionInputs(tx *dbutil.Tx, feeCalcTime uint64, inputs []cipher.SHA256) ([]TransactionInput, error) { + if len(inputs) == 0 { + err := errors.New("getTransactionInputs: inputs is empty only the genesis block transaction has no inputs, which shouldn't call this method") + logger.WithError(err).Error() + return nil, err + } + + uxOuts, err := vs.history.GetUxOuts(tx, inputs) + if err != nil { + logger.WithError(err).Error("getTransactionInputs GetUxOuts failed") + return nil, err + } + + ret := make([]TransactionInput, len(inputs)) + for i, o := range uxOuts { + r, err := NewTransactionInput(o.Out, feeCalcTime) + if err != nil { + logger.WithError(err).Error("getTransactionInputs NewTransactionInput failed") + return nil, err + } + ret[i] = r + } + + return ret, nil +} + +// GetHeadBlock gets head block. +func (vs Visor) GetHeadBlock() (*coin.SignedBlock, error) { + var b *coin.SignedBlock + + if err := vs.db.View("GetHeadBlock", func(tx *dbutil.Tx) error { + var err error + b, err = vs.blockchain.Head(tx) + return err + }); err != nil { + return nil, err + } + + return b, nil +} + +// GetHeadBlockTime returns the time of the head block. +func (vs Visor) GetHeadBlockTime() (uint64, error) { + var t uint64 + + if err := vs.db.View("GetHeadBlockTime", func(tx *dbutil.Tx) error { + var err error + t, err = vs.blockchain.Time(tx) + return err + }); err != nil { + return 0, err + } + + return t, nil +} + +// GetUxOutByID gets UxOut by hash id. +func (vs Visor) GetUxOutByID(id cipher.SHA256) (*historydb.UxOut, error) { + var outs []historydb.UxOut + + if err := vs.db.View("GetUxOutByID", func(tx *dbutil.Tx) error { + var err error + outs, err = vs.history.GetUxOuts(tx, []cipher.SHA256{id}) + return err + }); err != nil { + return nil, err + } + + if len(outs) == 0 { + return nil, nil + } + + return &outs[0], nil +} + +// GetSpentOutputsForAddresses gets all the spent outputs of a set of addresses +func (vs Visor) GetSpentOutputsForAddresses(addresses []cipher.Address) ([][]historydb.UxOut, error) { + out := make([][]historydb.UxOut, len(addresses)) + + if err := vs.db.View("GetSpentOutputsForAddresses", func(tx *dbutil.Tx) error { + for i, addr := range addresses { + addrUxOuts, err := vs.history.GetOutputsForAddress(tx, addr) + if err != nil { + return err + } + + out[i] = addrUxOuts + } + + return nil + }); err != nil { + return nil, err + } + + return out, nil +} + +// RecvOfAddresses returns unconfirmed receiving uxouts of addresses +func (vs *Visor) RecvOfAddresses(addrs []cipher.Address) (coin.AddressUxOuts, error) { + var uxouts coin.AddressUxOuts + + if err := vs.db.View("RecvOfAddresses", func(tx *dbutil.Tx) error { + head, err := vs.blockchain.Head(tx) + if err != nil { + return err + } + + uxouts, err = vs.unconfirmed.RecvOfAddresses(tx, head.Head, addrs) + return err + }); err != nil { + return nil, err + } + + return uxouts, nil +} + +// GetIncomingOutputs returns all predicted outputs that are in pending tx pool +func (vs *Visor) GetIncomingOutputs() (coin.UxArray, error) { + var uxa coin.UxArray + + if err := vs.db.View("GetIncomingOutputs", func(tx *dbutil.Tx) error { + head, err := vs.blockchain.Head(tx) + if err != nil { + return err + } + + uxa, err = vs.unconfirmed.GetIncomingOutputs(tx, head.Head) + return err + }); err != nil { + return nil, err + } + + return uxa, nil +} + +// GetUnconfirmedTxn gets an unconfirmed transaction from the DB +func (vs *Visor) GetUnconfirmedTxn(hash cipher.SHA256) (*UnconfirmedTransaction, error) { + var txn *UnconfirmedTransaction + + if err := vs.db.View("GetUnconfirmedTxn", func(tx *dbutil.Tx) error { + var err error + txn, err = vs.unconfirmed.Get(tx, hash) + return err + }); err != nil { + return nil, err + } + + return txn, nil +} + +// FilterKnownUnconfirmed returns unconfirmed txn hashes with known ones removed +func (vs *Visor) FilterKnownUnconfirmed(txns []cipher.SHA256) ([]cipher.SHA256, error) { + var hashes []cipher.SHA256 + + if err := vs.db.View("FilterKnownUnconfirmed", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.unconfirmed.FilterKnown(tx, txns) + return err + }); err != nil { + return nil, err + } + + return hashes, nil +} + +// GetKnownUnconfirmed returns unconfirmed txn hashes with known ones removed +func (vs *Visor) GetKnownUnconfirmed(txns []cipher.SHA256) (coin.Transactions, error) { + var hashes coin.Transactions + + if err := vs.db.View("GetKnownUnconfirmed", func(tx *dbutil.Tx) error { + var err error + hashes, err = vs.unconfirmed.GetKnown(tx, txns) + return err + }); err != nil { + return nil, err + } + + return hashes, nil +} + +// UnconfirmedSpendsOfAddresses returns all unconfirmed coin.UxOut spends of addresses +func (vs *Visor) UnconfirmedSpendsOfAddresses(addrs []cipher.Address) (coin.AddressUxOuts, error) { + var outs coin.AddressUxOuts + + if err := vs.db.View("UnconfirmedSpendsOfAddresses", func(tx *dbutil.Tx) error { + var err error + outs, err = vs.unconfirmedSpendsOfAddresses(tx, addrs) + return err + }); err != nil { + return nil, err + } + + return outs, nil +} + +// unconfirmedSpendsOfAddresses returns all unconfirmed coin.UxOut spends of addresses +func (vs *Visor) unconfirmedSpendsOfAddresses(tx *dbutil.Tx, addrs []cipher.Address) (coin.AddressUxOuts, error) { + txns, err := vs.unconfirmed.AllRawTransactions(tx) + if err != nil { + return nil, err + } + + var inputs []cipher.SHA256 + for _, txn := range txns { + inputs = append(inputs, txn.In...) + } + + uxa, err := vs.blockchain.Unspent().GetArray(tx, inputs) + if err != nil { + return nil, err + } + + outs := make(coin.AddressUxOuts, len(addrs)) + + addrm := make(map[cipher.Address]struct{}, len(addrs)) + for _, addr := range addrs { + addrm[addr] = struct{}{} + } + + for _, ux := range uxa { + if _, ok := addrm[ux.Body.Address]; ok { + outs[ux.Body.Address] = append(outs[ux.Body.Address], ux) + } + } + + return outs, nil +} + +// SetTransactionsAnnounced updates announced time of specific tx +func (vs *Visor) SetTransactionsAnnounced(hashes map[cipher.SHA256]int64) error { + if len(hashes) == 0 { + return nil + } + + return vs.db.Update("SetTransactionsAnnounced", func(tx *dbutil.Tx) error { + return vs.unconfirmed.SetTransactionsAnnounced(tx, hashes) + }) +} + +// GetBalanceOfAddresses returns balance pairs of given addreses +func (vs Visor) GetBalanceOfAddresses(addrs []cipher.Address) ([]wallet.BalancePair, error) { + if len(addrs) == 0 { + return nil, nil + } + + auxs := make(coin.AddressUxOuts, len(addrs)) + recvUxs := make(coin.AddressUxOuts, len(addrs)) + var uxa coin.UxArray + var head *coin.SignedBlock + + if err := vs.db.View("GetBalanceOfAddresses", func(tx *dbutil.Tx) error { + var err error + head, err = vs.blockchain.Head(tx) + if err != nil { + return err + } + + // Get all transactions from the unconfirmed pool + txns, err := vs.unconfirmed.AllRawTransactions(tx) + if err != nil { + return err + } + + // Create predicted unspent outputs from the unconfirmed transactions + recvUxs, err = txnOutputsForAddrs(head.Head, addrs, txns) + if err != nil { + return err + } + + var inputs []cipher.SHA256 + for _, txn := range txns { + inputs = append(inputs, txn.In...) + } + + // Get unspents for the inputs being spent + uxa, err = vs.blockchain.Unspent().GetArray(tx, inputs) + if err != nil { + return fmt.Errorf("GetArray failed when checking addresses balance: %v", err) + } + + // Get unspents owned by the addresses + auxs, err = vs.blockchain.Unspent().GetUnspentsOfAddrs(tx, addrs) + if err != nil { + return fmt.Errorf("GetUnspentsOfAddrs failed when checking addresses balance: %v", err) + } + + return nil + }); err != nil { + return nil, err + } + + // Build all unconfirmed transaction inputs that are associated with the addresses + spendUxs := make(coin.AddressUxOuts, len(addrs)) + + addrm := make(map[cipher.Address]struct{}, len(addrs)) + for _, addr := range addrs { + addrm[addr] = struct{}{} + } + + for _, ux := range uxa { + if _, ok := addrm[ux.Body.Address]; ok { + spendUxs[ux.Body.Address] = append(spendUxs[ux.Body.Address], ux) + } + } + + var bps []wallet.BalancePair + + headTime := head.Time() + for _, addr := range addrs { + uxs, ok := auxs[addr] + if !ok { + bps = append(bps, wallet.BalancePair{}) + continue + } + + outUxs := spendUxs[addr] + inUxs := recvUxs[addr] + predictedUxs := uxs.Sub(outUxs).Add(inUxs) + + coins, err := uxs.Coins() + if err != nil { + return nil, fmt.Errorf("uxs.Coins failed: %v", err) + } + + coinHours, err := uxs.CoinHours(headTime) + if err != nil { + switch err { + case coin.ErrAddEarnedCoinHoursAdditionOverflow: + coinHours = 0 + default: + return nil, fmt.Errorf("uxs.CoinHours failed: %v", err) + } + } + + pcoins, err := predictedUxs.Coins() + if err != nil { + return nil, fmt.Errorf("predictedUxs.Coins failed: %v", err) + } + + pcoinHours, err := predictedUxs.CoinHours(headTime) + if err != nil { + switch err { + case coin.ErrAddEarnedCoinHoursAdditionOverflow: + coinHours = 0 + default: + return nil, fmt.Errorf("predictedUxs.CoinHours failed: %v", err) + } + } + + bp := wallet.BalancePair{ + Confirmed: wallet.Balance{ + Coins: coins, + Hours: coinHours, + }, + Predicted: wallet.Balance{ + Coins: pcoins, + Hours: pcoinHours, + }, + } + + bps = append(bps, bp) + } + + return bps, nil +} + +// GetUnspentsOfAddrs returns unspent outputs of multiple addresses +func (vs *Visor) GetUnspentsOfAddrs(addrs []cipher.Address) (coin.AddressUxOuts, error) { + var uxa coin.AddressUxOuts + + if err := vs.db.View("GetUnspentsOfAddrs", func(tx *dbutil.Tx) error { + var err error + uxa, err = vs.blockchain.Unspent().GetUnspentsOfAddrs(tx, addrs) + return err + }); err != nil { + return nil, err + } + + return uxa, nil +} + +// VerifyTxnVerbose verifies a transaction, it returns transaction's input uxouts, whether the +// transaction is confirmed, and error if any +func (vs *Visor) VerifyTxnVerbose(txn *coin.Transaction, signed TxnSignedFlag) ([]TransactionInput, bool, error) { + var uxa coin.UxArray + var isTxnConfirmed bool + var feeCalcTime uint64 + + verifyErr := vs.db.View("VerifyTxnVerbose", func(tx *dbutil.Tx) error { + head, err := vs.blockchain.Head(tx) + if err != nil { + return err + } + + uxa, err = vs.blockchain.Unspent().GetArray(tx, txn.In) + switch e := err.(type) { + case nil: + // For unconfirmed transactions, use the blockchain head time to calculate hours + feeCalcTime = head.Time() + + case blockdb.ErrUnspentNotExist: + // Gets uxouts of txn.In from historydb + outs, err := vs.history.GetUxOuts(tx, txn.In) + if err != nil { + return err + } + + if len(outs) == 0 { + err = fmt.Errorf("transaction input of %s does not exist in either unspent pool or historydb", e.UxID) + return NewErrTxnViolatesHardConstraint(err) + } + + uxa = coin.UxArray{} + for _, out := range outs { + uxa = append(uxa, out.Out) + } + + // Checks if the transaction is confirmed + txnHash := txn.Hash() + historyTxn, err := vs.history.GetTransaction(tx, txnHash) + if err != nil { + return fmt.Errorf("get transaction of %v from historydb failed: %v", txnHash, err) + } + + if historyTxn != nil { + // Transaction is confirmed + isTxnConfirmed = true + } + + // For confirmed transactions, use the previous block time to calculate hours and fees, + // except for the genesis block which has no previous block and has no inputs nor fees. + feeCalcTime = 0 + if historyTxn.BlockSeq > 0 { + if isTxnConfirmed { + prevBlock, err := vs.blockchain.GetSignedBlockBySeq(tx, historyTxn.BlockSeq-1) + if err != nil { + return err + } + if prevBlock == nil { + return fmt.Errorf("VerifyTxnVerbose: previous block seq=%d not found", historyTxn.BlockSeq-1) + } + + feeCalcTime = prevBlock.Block.Head.Time + } + } + + return nil + default: + return err + } + + if err := VerifySingleTxnUserConstraints(*txn); err != nil { + return err + } + + if err := VerifySingleTxnSoftConstraints(*txn, feeCalcTime, uxa, vs.Config.Distribution, params.UserVerifyTxn); err != nil { + return err + } + + return VerifySingleTxnHardConstraints(*txn, head.Head, uxa, signed) + }) + + // If we were able to query the inputs, return the verbose inputs to the caller + // even if the transaction failed validation + var inputs []TransactionInput + if len(uxa) != 0 && feeCalcTime != 0 { + var err error + inputs, err = NewTransactionInputs(uxa, feeCalcTime) + if err != nil { + return nil, isTxnConfirmed, err + } + } + + return inputs, isTxnConfirmed, verifyErr +} + +// AddressCount returns the total number of addresses with unspents +func (vs *Visor) AddressCount() (uint64, error) { + var count uint64 + if err := vs.db.View("AddressCount", func(tx *dbutil.Tx) error { + var err error + count, err = vs.blockchain.Unspent().AddressCount(tx) + return err + }); err != nil { + return 0, err + } + + return count, nil +} + +// GetVerboseTransactionsForAddress returns verbose transaction data for a given address +func (vs *Visor) GetVerboseTransactionsForAddress(a cipher.Address) ([]Transaction, [][]TransactionInput, error) { + var txns []Transaction + var inputs [][]TransactionInput + + if err := vs.db.View("GetVerboseTransactionsForAddress", func(tx *dbutil.Tx) error { + addrTxns, err := vs.getTransactionsForAddresses(tx, []cipher.Address{a}) + if err != nil { + logger.Errorf("GetVerboseTransactionsForAddress: vs.GetTransactionsForAddress failed: %v", err) + return err + } + + txns = addrTxns[a] + if len(txns) == 0 { + return nil + } + + head, err := vs.blockchain.Head(tx) + if err != nil { + logger.Errorf("GetVerboseTransactionsForAddress: vs.blockchain.Head failed: %v", err) + return err + } + + inputs = make([][]TransactionInput, len(txns)) + + for i, txn := range txns { + // If the txn is confirmed, use the time of the block previous + // to the block in which the transaction was executed, + // else use the head time for unconfirmed blocks. + t := head.Time() + if txn.Status.Confirmed && txn.Status.BlockSeq > 0 { + prevBlock, err := vs.blockchain.GetSignedBlockBySeq(tx, txn.Status.BlockSeq-1) + if err != nil { + return err + } + + if prevBlock == nil { + return fmt.Errorf("GetVerboseTransactionsForAddress prevBlock seq=%d missing", txn.Status.BlockSeq-1) + } + + t = prevBlock.Block.Head.Time + } + + txnInputs := make([]TransactionInput, len(txn.Transaction.In)) + for j, inputID := range txn.Transaction.In { + uxOuts, err := vs.history.GetUxOuts(tx, []cipher.SHA256{inputID}) + if err != nil { + logger.Errorf("GetVerboseTransactionsForAddress: vs.history.GetUxOuts failed: %v", err) + return err + } + if len(uxOuts) == 0 { + err := fmt.Errorf("uxout of %v does not exist in history db", inputID.Hex()) + logger.Critical().Error(err) + return err + } + + input, err := NewTransactionInput(uxOuts[0].Out, t) + if err != nil { + logger.Errorf("GetVerboseTransactionsForAddress: NewTransactionInput failed: %v", err) + return err + } + + txnInputs[j] = input + } + + inputs[i] = txnInputs + } + + return nil + }); err != nil { + return nil, nil, err + } + + return txns, inputs, nil +} + +// OutputsFilter used as optional arguments in GetUnspentOutputs method +type OutputsFilter func(outputs coin.UxArray) coin.UxArray + +// FbyAddressesNotIncluded filters the unspent outputs that are not owned by the addresses +func FbyAddressesNotIncluded(addrs []cipher.Address) OutputsFilter { + return func(outputs coin.UxArray) coin.UxArray { + addrMatch := coin.UxArray{} + addrMap := newAddrSet(addrs) + + for _, u := range outputs { + if _, ok := addrMap[u.Body.Address]; !ok { + addrMatch = append(addrMatch, u) + } + } + return addrMatch + } +} + +// FbyAddresses filters the unspent outputs that owned by the addresses +func FbyAddresses(addrs []cipher.Address) OutputsFilter { + return func(outputs coin.UxArray) coin.UxArray { + addrMatch := coin.UxArray{} + addrMap := newAddrSet(addrs) + + for _, u := range outputs { + if _, ok := addrMap[u.Body.Address]; ok { + addrMatch = append(addrMatch, u) + } + } + return addrMatch + } +} + +// FbyHashes filters the unspent outputs that have hashes matched. +func FbyHashes(hashes []cipher.SHA256) OutputsFilter { + return func(outputs coin.UxArray) coin.UxArray { + hsMatch := coin.UxArray{} + hsMap := newSHA256Set(hashes) + + for _, u := range outputs { + if _, ok := hsMap[u.Hash()]; ok { + hsMatch = append(hsMatch, u) + } + } + return hsMatch + } +} + +func newAddrSet(keys []cipher.Address) map[cipher.Address]struct{} { + s := make(map[cipher.Address]struct{}, len(keys)) + for _, k := range keys { + s[k] = struct{}{} + } + return s +} + +// newSHA256Set returns a map-based set for string lookup +func newSHA256Set(keys []cipher.SHA256) map[cipher.SHA256]struct{} { + s := make(map[cipher.SHA256]struct{}, len(keys)) + for _, k := range keys { + s[k] = struct{}{} + } + return s +} + +// GetUnspentOutputsSummary gets unspent outputs and returns the filtered results, +// Note: all filters will be executed as the pending sequence in 'AND' mode. +func (vs *Visor) GetUnspentOutputsSummary(filters []OutputsFilter) (*UnspentOutputsSummary, error) { + var confirmedOutputs []coin.UxOut + var outgoingOutputs coin.UxArray + var incomingOutputs coin.UxArray + var head *coin.SignedBlock + + if err := vs.db.View("GetUnspentOutputsSummary", func(tx *dbutil.Tx) error { + var err error + head, err = vs.blockchain.Head(tx) + if err != nil { + return fmt.Errorf("vs.blockchain.Head failed: %v", err) + } + + confirmedOutputs, err = vs.blockchain.Unspent().GetAll(tx) + if err != nil { + return fmt.Errorf("vs.blockchain.Unspent().GetAll failed: %v", err) + } + + outgoingOutputs, err = vs.unconfirmedOutgoingOutputs(tx) + if err != nil { + return fmt.Errorf("vs.unconfirmedOutgoingOutputs failed: %v", err) + } + + incomingOutputs, err = vs.unconfirmedIncomingOutputs(tx) + if err != nil { + return fmt.Errorf("vs.unconfirmedIncomingOutputs failed: %v", err) + } + + return nil + }); err != nil { + return nil, err + } + + for _, flt := range filters { + confirmedOutputs = flt(confirmedOutputs) + outgoingOutputs = flt(outgoingOutputs) + incomingOutputs = flt(incomingOutputs) + } + + confirmed, err := NewUnspentOutputs(confirmedOutputs, head.Time()) + if err != nil { + return nil, err + } + + outgoing, err := NewUnspentOutputs(outgoingOutputs, head.Time()) + if err != nil { + return nil, err + } + + incoming, err := NewUnspentOutputs(incomingOutputs, head.Time()) + if err != nil { + return nil, err + } + + return &UnspentOutputsSummary{ + HeadBlock: head, + Confirmed: confirmed, + Outgoing: outgoing, + Incoming: incoming, + }, nil +} + +// GetRichlist returns a Richlist +func (vs *Visor) GetRichlist(includeDistribution bool) (Richlist, error) { + rbOuts, err := vs.GetUnspentOutputsSummary(nil) + if err != nil { + return nil, err + } + + // Build a map from addresses to total coins held + allAccounts := map[cipher.Address]uint64{} + for _, out := range rbOuts.Confirmed { + if _, ok := allAccounts[out.Body.Address]; ok { + var err error + allAccounts[out.Body.Address], err = mathutil.AddUint64(allAccounts[out.Body.Address], out.Body.Coins) + if err != nil { + return nil, err + } + } else { + allAccounts[out.Body.Address] = out.Body.Coins + } + } + + lockedAddrs := vs.Config.Distribution.LockedAddressesDecoded() + addrsMap := make(map[cipher.Address]struct{}, len(lockedAddrs)) + for _, a := range lockedAddrs { + addrsMap[a] = struct{}{} + } + + richlist, err := NewRichlist(allAccounts, addrsMap) + if err != nil { + return nil, err + } + + if !includeDistribution { + unlockedAddrs := vs.Config.Distribution.UnlockedAddressesDecoded() + for _, a := range unlockedAddrs { + addrsMap[a] = struct{}{} + } + richlist = richlist.FilterAddresses(addrsMap) + } + + return richlist, nil +} + +// WithUpdateTx executes a function inside of a db.Update transaction. +// This is exported for use by the daemon gateway's InjectBroadcastTransaction method. +// Do not use it for other purposes. +func (vs *Visor) WithUpdateTx(name string, f func(tx *dbutil.Tx) error) error { + return vs.db.Update(name, func(tx *dbutil.Tx) error { + return f(tx) + }) +} + +// AddressesActivity returns whether or not each address has any activity on blockchain +// or in the unconfirmed pool +func (vs *Visor) AddressesActivity(addrs []cipher.Address) ([]bool, error) { + active := make([]bool, len(addrs)) + addrsMap := make(map[cipher.Address]int, len(addrs)) + for i, a := range addrs { + addrsMap[a] = i + } + + if len(addrsMap) != len(addrs) { + return nil, errors.New("duplicates addresses not allowed") + } + + if err := vs.db.View("AddressActivity", func(tx *dbutil.Tx) error { + // Check if the addresses appear in the blockchain + for i, a := range addrs { + ok, err := vs.history.AddressSeen(tx, a) + if err != nil { + return err + } + + if ok { + active[i] = true + } + } + + // Check if the addresses appears in the unconfirmed pool + // NOTE: if this needs to be optimized, add an index to the unconfirmed pool + return vs.unconfirmed.ForEach(tx, func(h cipher.SHA256, ut UnconfirmedTransaction) error { + // Only transaction outputs need to be checked; if the address is associated + // with an input, it must have appeared in a transaction in the blockchain history + for _, o := range ut.Transaction.Out { + if i, ok := addrsMap[o.Address]; ok { + active[i] = true + } + } + return nil + }) + }); err != nil { + return nil, err + } + + return active, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/visor/visor_wallet.go b/vendor/github.com/skycoin/skycoin/src/visor/visor_wallet.go new file mode 100644 index 00000000..b9b2aec2 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/visor/visor_wallet.go @@ -0,0 +1,559 @@ +package visor + +// This file contains Visor method that require wallet access + +import ( + "errors" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/params" + "github.com/skycoin/skycoin/src/transaction" + "github.com/skycoin/skycoin/src/util/mathutil" + "github.com/skycoin/skycoin/src/visor/dbutil" + "github.com/skycoin/skycoin/src/wallet" +) + +// UserError wraps user input-related errors. +// Errors caused by programmer input or internal issues should not use this wrapper. +// Some knowledge of the HTTP API layer may be necessary to decide when to use UserError or not. +type UserError struct { + error +} + +// NewUserError creates an Error +func NewUserError(err error) error { + if err == nil { + return nil + } + return UserError{err} +} + +var ( + // ErrSpendingUnconfirmed is returned if caller attempts to spend unconfirmed outputs + ErrSpendingUnconfirmed = NewUserError(errors.New("Please spend after your pending transaction is confirmed")) + // ErrDuplicateUxOuts UxOuts contains duplicate values + ErrDuplicateUxOuts = NewUserError(errors.New("UxOuts contains duplicate values")) + // ErrIncludesNullAddress Addresses must not contain the null address + ErrIncludesNullAddress = NewUserError(errors.New("Addresses must not contain the null address")) + // ErrDuplicateAddresses Addresses contains duplicate values + ErrDuplicateAddresses = NewUserError(errors.New("Addresses contains duplicate values")) + // ErrCreateTransactionParamsConflict UxOuts and Addresses cannot be combined + ErrCreateTransactionParamsConflict = NewUserError(errors.New("UxOuts and Addresses cannot be combined")) + // ErrTransactionAlreadySigned attempted to sign a transaction that is already fully signed + ErrTransactionAlreadySigned = NewUserError(errors.New("Transaction is already fully signed")) + // ErrUxOutsOrAddressesRequired Both Addresses and UxOuts are empty + ErrUxOutsOrAddressesRequired = NewUserError(errors.New("UxOuts or Addresses must not be empty")) + // ErrNoSpendableOutputs after filtering unconfirmed spend outputs, there are no remaining outputs available for transaction creation + ErrNoSpendableOutputs = NewUserError(errors.New("All selected outputs are unavailable for spending")) +) + +// GetWalletBalance returns balance pairs of specific wallet +func (vs *Visor) GetWalletBalance(wltID string) (wallet.BalancePair, wallet.AddressBalances, error) { + var addressBalances wallet.AddressBalances + var walletBalance wallet.BalancePair + var addrsBalanceList []wallet.BalancePair + var addrs []cipher.Address + + if err := vs.wallets.View(wltID, func(w wallet.Wallet) error { + var err error + addrs, err = w.GetSkycoinAddresses() + if err != nil { + return err + } + + addrsBalanceList, err = vs.GetBalanceOfAddresses(addrs) + return err + }); err != nil { + return walletBalance, addressBalances, err + } + + // create map of address to balance + addressBalances = make(wallet.AddressBalances, len(addrs)) + for i, addr := range addrs { + addressBalances[addr.String()] = addrsBalanceList[i] + } + + // compute the sum of all addresses + for _, addrBalance := range addressBalances { + var err error + // compute confirmed balance + walletBalance.Confirmed.Coins, err = mathutil.AddUint64(walletBalance.Confirmed.Coins, addrBalance.Confirmed.Coins) + if err != nil { + return walletBalance, addressBalances, err + } + walletBalance.Confirmed.Hours, err = mathutil.AddUint64(walletBalance.Confirmed.Hours, addrBalance.Confirmed.Hours) + if err != nil { + return walletBalance, addressBalances, err + } + + // compute predicted balance + walletBalance.Predicted.Coins, err = mathutil.AddUint64(walletBalance.Predicted.Coins, addrBalance.Predicted.Coins) + if err != nil { + return walletBalance, addressBalances, err + } + walletBalance.Predicted.Hours, err = mathutil.AddUint64(walletBalance.Predicted.Hours, addrBalance.Predicted.Hours) + if err != nil { + return walletBalance, addressBalances, err + } + } + + return walletBalance, addressBalances, nil +} + +// GetWalletUnconfirmedTransactions returns all unconfirmed transactions in given wallet +func (vs *Visor) GetWalletUnconfirmedTransactions(wltID string) ([]UnconfirmedTransaction, error) { + var txns []UnconfirmedTransaction + + if err := vs.wallets.View(wltID, func(w wallet.Wallet) error { + addrs, err := w.GetSkycoinAddresses() + if err != nil { + return err + } + + txns, err = vs.GetUnconfirmedTransactions(SendsToAddresses(addrs)) + return err + }); err != nil { + return nil, err + } + + return txns, nil +} + +// GetWalletUnconfirmedTransactionsVerbose returns all unconfirmed transactions in given wallet +func (vs *Visor) GetWalletUnconfirmedTransactionsVerbose(wltID string) ([]UnconfirmedTransaction, [][]TransactionInput, error) { + var txns []UnconfirmedTransaction + var inputs [][]TransactionInput + + if err := vs.wallets.View(wltID, func(w wallet.Wallet) error { + addrs, err := w.GetSkycoinAddresses() + if err != nil { + return err + } + + txns, inputs, err = vs.GetUnconfirmedTransactionsVerbose(SendsToAddresses(addrs)) + return err + }); err != nil { + return nil, nil, err + } + + return txns, inputs, nil +} + +// WalletSignTransaction signs a transaction. Specific inputs may be signed by specifying signIndexes. +// If signIndexes is empty, all inputs will be signed. The transaction must be fully valid and spendable. +func (vs *Visor) WalletSignTransaction(wltID string, password []byte, txn *coin.Transaction, signIndexes []int) (*coin.Transaction, []TransactionInput, error) { + var inputs []TransactionInput + var signedTxn *coin.Transaction + + if txn.IsFullySigned() { + return nil, nil, ErrTransactionAlreadySigned + } + + if err := vs.wallets.ViewSecrets(wltID, password, func(w wallet.Wallet) error { + return vs.db.View("WalletSignTransaction", func(tx *dbutil.Tx) error { + // Verify the transaction before signing + if err := VerifySingleTxnUserConstraints(*txn); err != nil { + return err + } + if _, _, err := vs.blockchain.VerifySingleTxnSoftHardConstraints(tx, *txn, vs.Config.Distribution, params.UserVerifyTxn, TxnUnsigned); err != nil { + return err + } + + headTime, err := vs.blockchain.Time(tx) + if err != nil { + logger.WithError(err).Error("blockchain.Time failed") + return err + } + + inputs, err = vs.getTransactionInputs(tx, headTime, txn.In) + if err != nil { + return err + } + + uxOuts := make([]coin.UxOut, len(inputs)) + for i, in := range inputs { + uxOuts[i] = in.UxOut + } + + signedTxn, err = wallet.SignTransaction(w, txn, signIndexes, uxOuts) + if err != nil { + logger.WithError(err).Error("wallet.SignTransaction failed") + return err + } + + signed := TxnSigned + if !signedTxn.IsFullySigned() { + signed = TxnUnsigned + } + + if err := VerifySingleTxnUserConstraints(*signedTxn); err != nil { + // This shouldn't happen since we verified in the beginning; if it does, then wallet.SignTransaction has a bug + logger.Critical().WithError(err).Error("Signed transaction violates transaction user constraints") + return err + } + + if _, _, err := vs.blockchain.VerifySingleTxnSoftHardConstraints(tx, *signedTxn, vs.Config.Distribution, params.UserVerifyTxn, signed); err != nil { + // This shouldn't happen since we verified in the beginning; if it does, then wallet.SignTransaction has a bug + logger.Critical().WithError(err).Error("Signed transaction violates transaction constraints") + return err + } + + return nil + }) + }); err != nil { + return nil, nil, err + } + + return signedTxn, inputs, nil +} + +// CreateTransactionParams parameters for transaction creation +type CreateTransactionParams struct { + UxOuts []cipher.SHA256 + Addresses []cipher.Address + // IgnoreUnconfirmed if true, outputs matching Addresses or UxOuts spent by + // an unconfirmed transactions will be ignored, otherwise an error will be returned + IgnoreUnconfirmed bool +} + +// Validate validates params +func (p CreateTransactionParams) Validate() error { + if len(p.UxOuts) != 0 && len(p.Addresses) != 0 { + return ErrCreateTransactionParamsConflict + } + + // Check for duplicate addresses + addressMap := make(map[cipher.Address]struct{}, len(p.Addresses)) + for _, a := range p.Addresses { + if a.Null() { + return ErrIncludesNullAddress + } + + if _, ok := addressMap[a]; ok { + return ErrDuplicateAddresses + } + + addressMap[a] = struct{}{} + } + + // Check for duplicate spending uxouts + uxOuts := make(map[cipher.SHA256]struct{}, len(p.UxOuts)) + for _, o := range p.UxOuts { + if _, ok := uxOuts[o]; ok { + return ErrDuplicateUxOuts + } + uxOuts[o] = struct{}{} + } + + return nil +} + +// WalletCreateTransactionSigned creates a signed transaction based upon the parameters in CreateTransactionParams +func (vs *Visor) WalletCreateTransactionSigned(wltID string, password []byte, p transaction.Params, wp CreateTransactionParams) (*coin.Transaction, []TransactionInput, error) { + // Validate params before unlocking wallet + if err := p.Validate(); err != nil { + return nil, nil, err + } + if err := wp.Validate(); err != nil { + return nil, nil, err + } + + var txn *coin.Transaction + var inputs []TransactionInput + + if err := vs.wallets.UpdateSecrets(wltID, password, func(w wallet.Wallet) error { + var err error + txn, inputs, err = vs.walletCreateTransaction("WalletCreateTransactionSigned", w, p, wp, TxnSigned) + return err + }); err != nil { + return nil, nil, err + } + + return txn, inputs, nil +} + +// WalletCreateTransaction creates a transaction based upon the parameters in CreateTransactionParams +func (vs *Visor) WalletCreateTransaction(wltID string, p transaction.Params, wp CreateTransactionParams) (*coin.Transaction, []TransactionInput, error) { + // Validate params before opening wallet + if err := p.Validate(); err != nil { + return nil, nil, err + } + if err := wp.Validate(); err != nil { + return nil, nil, err + } + + var txn *coin.Transaction + var inputs []TransactionInput + + if err := vs.wallets.Update(wltID, func(w wallet.Wallet) error { + var err error + txn, inputs, err = vs.walletCreateTransaction("WalletCreateTransaction", w, p, wp, TxnUnsigned) + return err + }); err != nil { + return nil, nil, err + } + + return txn, inputs, nil +} + +func (vs *Visor) walletCreateTransaction(methodName string, w wallet.Wallet, p transaction.Params, wp CreateTransactionParams, signed TxnSignedFlag) (*coin.Transaction, []TransactionInput, error) { + if err := p.Validate(); err != nil { + return nil, nil, err + } + if err := wp.Validate(); err != nil { + return nil, nil, err + } + + // Get all addresses from the wallet for checking params against + walletAddresses, err := w.GetSkycoinAddresses() + if err != nil { + return nil, nil, err + } + + walletAddressesMap := make(map[cipher.Address]struct{}, len(walletAddresses)) + for _, a := range walletAddresses { + walletAddressesMap[a] = struct{}{} + } + + addrs := wp.Addresses + if len(addrs) == 0 { + // Use all wallet addresses if no addresses or uxouts specified + addrs = walletAddresses + } else { + // Check that requested addresses are in the wallet + for _, a := range addrs { + if _, ok := walletAddressesMap[a]; !ok { + return nil, nil, wallet.ErrUnknownAddress + } + } + } + + var txn *coin.Transaction + var uxb []transaction.UxBalance + + if err := vs.db.View(methodName, func(tx *dbutil.Tx) error { + var err error + txn, uxb, err = vs.walletCreateTransactionTx(tx, methodName, w, p, wp, signed, addrs, walletAddressesMap) + return err + }); err != nil { + return nil, nil, err + } + + inputs := NewTransactionInputsFromUxBalance(uxb) + + return txn, inputs, nil +} + +func (vs *Visor) walletCreateTransactionTx(tx *dbutil.Tx, methodName string, + w wallet.Wallet, p transaction.Params, wp CreateTransactionParams, signed TxnSignedFlag, + addrs []cipher.Address, walletAddressesMap map[cipher.Address]struct{}) (*coin.Transaction, []transaction.UxBalance, error) { + // Note: assumes inputs have already been validated by walletCreateTransaction + + head, err := vs.blockchain.Head(tx) + if err != nil { + logger.WithError(err).Error("blockchain.Head failed") + return nil, nil, err + } + + // Get mapping of addresses to uxOuts based upon CreateTransactionParams + var auxs coin.AddressUxOuts + if len(wp.UxOuts) != 0 { + var err error + auxs, err = vs.getCreateTransactionAuxsUxOut(tx, wp.UxOuts, wp.IgnoreUnconfirmed) + if err != nil { + return nil, nil, err + } + + // Check that UxOut addresses are in the wallet, + for a := range auxs { + if _, ok := walletAddressesMap[a]; !ok { + return nil, nil, wallet.ErrUnknownUxOut + } + } + } else { + var err error + auxs, err = vs.getCreateTransactionAuxsAddress(tx, addrs, wp.IgnoreUnconfirmed) + if err != nil { + return nil, nil, err + } + } + + // Create and sign transaction + var txn *coin.Transaction + var uxb []transaction.UxBalance + + switch signed { + case TxnSigned: + txn, uxb, err = wallet.CreateTransactionSigned(w, p, auxs, head.Time()) + case TxnUnsigned: + txn, uxb, err = wallet.CreateTransaction(w, p, auxs, head.Time()) + default: + logger.Panic("Invalid TxnSignedFlag") + } + if err != nil { + logger.Critical().WithError(err).Errorf("%s failed", methodName) + return nil, nil, err + } + + if err := VerifySingleTxnUserConstraints(*txn); err != nil { + logger.WithError(err).Error("Created transaction violates transaction user constraints") + return nil, nil, err + } + + // The wallet can create transactions that would not pass all validation, such as the decimal restriction, + // because the wallet is not aware of visor-level constraints. + // Check that the transaction is valid before returning it to the caller. + // TODO -- decimal restriction was moved to params/ package so the wallet can verify now. Move visor/verify to new package? + if _, _, err := vs.blockchain.VerifySingleTxnSoftHardConstraints(tx, *txn, vs.Config.Distribution, params.UserVerifyTxn, signed); err != nil { + logger.WithError(err).Error("Created transaction violates transaction soft/hard constraints") + return nil, nil, err + } + + return txn, uxb, nil +} + +// CreateTransaction creates an unsigned transaction from requested coin.UxOut hashes +func (vs *Visor) CreateTransaction(p transaction.Params, wp CreateTransactionParams) (*coin.Transaction, []TransactionInput, error) { + // Validate parameters before starting database transaction + if err := p.Validate(); err != nil { + return nil, nil, err + } + if err := wp.Validate(); err != nil { + return nil, nil, err + } + if len(wp.Addresses) == 0 && len(wp.UxOuts) == 0 { + return nil, nil, ErrUxOutsOrAddressesRequired + } + + var txn *coin.Transaction + var uxb []transaction.UxBalance + + if err := vs.db.View("CreateTransaction", func(tx *dbutil.Tx) error { + var err error + txn, uxb, err = vs.createTransactionTx(tx, p, wp) + return err + }); err != nil { + return nil, nil, err + } + + inputs := NewTransactionInputsFromUxBalance(uxb) + + return txn, inputs, nil +} + +func (vs *Visor) createTransactionTx(tx *dbutil.Tx, p transaction.Params, wp CreateTransactionParams) (*coin.Transaction, []transaction.UxBalance, error) { + // Note: assumes inputs have already been validated by walletCreateTransaction + head, err := vs.blockchain.Head(tx) + if err != nil { + logger.WithError(err).Error("blockchain.Head failed") + return nil, nil, err + } + + // Get mapping of addresses to uxOuts based upon CreateTransactionParams + var auxs coin.AddressUxOuts + if len(wp.UxOuts) != 0 { + auxs, err = vs.getCreateTransactionAuxsUxOut(tx, wp.UxOuts, wp.IgnoreUnconfirmed) + } else { + auxs, err = vs.getCreateTransactionAuxsAddress(tx, wp.Addresses, wp.IgnoreUnconfirmed) + } + if err != nil { + return nil, nil, err + } + + txn, uxb, err := transaction.Create(p, auxs, head.Time()) + if err != nil { + return nil, nil, err + } + + if err := VerifySingleTxnUserConstraints(*txn); err != nil { + logger.WithError(err).Error("Created transaction violates transaction user constraints") + return nil, nil, err + } + + // The wallet can create transactions that would not pass all validation, such as the decimal restriction, + // because the wallet is not aware of visor-level constraints. + // Check that the transaction is valid before returning it to the caller. + // TODO -- decimal restriction was moved to params/ package so the wallet can verify now. Move visor/verify to new package? + if _, _, err := vs.blockchain.VerifySingleTxnSoftHardConstraints(tx, *txn, vs.Config.Distribution, params.UserVerifyTxn, TxnUnsigned); err != nil { + logger.WithError(err).Error("Created transaction violates transaction soft/hard constraints") + return nil, nil, err + } + + return txn, uxb, nil +} + +// getCreateTransactionAuxsUxOut returns a map of addresses to their unspent outputs, +// given a list of unspent output hashes. +// If ignoreUnconfirmed is true, outputs being spent by unconfirmed transactions are ignored and excluded from the return value. +// If ignoreUnconfirmed is false, an error is return if any of the specified unspent outputs are spent by an unconfirmed transaction. +func (vs *Visor) getCreateTransactionAuxsUxOut(tx *dbutil.Tx, uxOutHashes []cipher.SHA256, ignoreUnconfirmed bool) (coin.AddressUxOuts, error) { + hashesMap := make(map[cipher.SHA256]struct{}, len(uxOutHashes)) + for _, h := range uxOutHashes { + hashesMap[h] = struct{}{} + } + + // Check if any of the outputs are spent by an unconfirmed transaction + unconfirmedHashesMap := make(map[cipher.SHA256]struct{}) + if err := vs.unconfirmed.ForEach(tx, func(_ cipher.SHA256, txn UnconfirmedTransaction) error { + for _, h := range txn.Transaction.In { + if _, ok := hashesMap[h]; ok { + if !ignoreUnconfirmed { + return ErrSpendingUnconfirmed + } + unconfirmedHashesMap[h] = struct{}{} + } + } + return nil + }); err != nil { + return nil, err + } + + if !ignoreUnconfirmed && len(unconfirmedHashesMap) != 0 { + logger.Panic("ignoreUnconfirmed is false but unconfirmedHashesMap is not empty") + } + + // Filter unconfirmed spends + if len(unconfirmedHashesMap) != 0 { + filteredUxOutHashes := uxOutHashes[:0] + for _, h := range uxOutHashes { + if _, ok := unconfirmedHashesMap[h]; ok { + delete(hashesMap, h) + } else { + filteredUxOutHashes = append(filteredUxOutHashes, h) + } + } + uxOutHashes = filteredUxOutHashes + } + + if len(uxOutHashes) == 0 { + return nil, ErrNoSpendableOutputs + } + + // Retrieve the uxouts from the pool. + // An error is returned if any do not exist + uxOuts, err := vs.blockchain.Unspent().GetArray(tx, uxOutHashes) + if err != nil { + return nil, err + } + + // Build coin.AddressUxOuts map + return coin.NewAddressUxOuts(coin.UxArray(uxOuts)), nil +} + +// getCreateTransactionAuxsAddress returns a map of the addresses to their unspent outputs, +// filtering or erroring on unconfirmed outputs depending on the value of ignoreUnconfirmed +func (vs *Visor) getCreateTransactionAuxsAddress(tx *dbutil.Tx, addrs []cipher.Address, ignoreUnconfirmed bool) (coin.AddressUxOuts, error) { + // Get all address unspent hashes + addrHashes, err := vs.blockchain.Unspent().GetUnspentHashesOfAddrs(tx, addrs) + if err != nil { + return nil, err + } + + hashes := addrHashes.Flatten() + if len(hashes) == 0 { + return nil, transaction.ErrNoUnspents + } + + return vs.getCreateTransactionAuxsUxOut(tx, hashes, ignoreUnconfirmed) +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/balance.go b/vendor/github.com/skycoin/skycoin/src/wallet/balance.go new file mode 100644 index 00000000..6066f983 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/balance.go @@ -0,0 +1,87 @@ +package wallet + +import ( + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +/* +Do not show balances or outputs that have not cleared yet +- should only allow spends against outputs that are on head +*/ + +// BalancePair records the confirmed and predicted balance of an address +type BalancePair struct { + Confirmed Balance + Predicted Balance +} + +// AddressBalances represents a map of address balances +type AddressBalances map[string]BalancePair + +// Balance has coins and hours +type Balance struct { + Coins uint64 + Hours uint64 +} + +// NewBalance creates balance +func NewBalance(coins, hours uint64) Balance { + return Balance{ + Coins: coins, + Hours: hours, + } +} + +// NewBalanceFromUxOut creates Balance from UxOut +func NewBalanceFromUxOut(headTime uint64, ux *coin.UxOut) (Balance, error) { + hours, err := ux.CoinHours(headTime) + if err != nil { + return Balance{}, err + } + + return Balance{ + Coins: ux.Body.Coins, + Hours: hours, + }, nil +} + +// Add adds two Balances +func (bal Balance) Add(other Balance) (Balance, error) { + coins, err := mathutil.AddUint64(bal.Coins, other.Coins) + if err != nil { + return Balance{}, err + } + + hours, err := mathutil.AddUint64(bal.Hours, other.Hours) + if err != nil { + return Balance{}, err + } + + return Balance{ + Coins: coins, + Hours: hours, + }, nil +} + +// Sub subtracts other from self and returns the new Balance. Will panic if +// other is greater than balance, because Coins and Hours are unsigned. +func (bal Balance) Sub(other Balance) Balance { + if other.Coins > bal.Coins || other.Hours > bal.Hours { + logger.Panic("Cannot subtract balances, second balance is too large") + } + return Balance{ + Coins: bal.Coins - other.Coins, + Hours: bal.Hours - other.Hours, + } +} + +// Equals compares two Balances +func (bal Balance) Equals(other Balance) bool { + return bal.Coins == other.Coins && bal.Hours == other.Hours +} + +// IsZero returns true if the Balance is empty (both coins and hours) +func (bal Balance) IsZero() bool { + return bal.Coins == 0 && bal.Hours == 0 +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/bip44_wallet.go b/vendor/github.com/skycoin/skycoin/src/wallet/bip44_wallet.go new file mode 100644 index 00000000..24c086f0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/bip44_wallet.go @@ -0,0 +1,535 @@ +package wallet + +import ( + "errors" + "fmt" + "math" + "sort" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip32" + "github.com/skycoin/skycoin/src/cipher/bip39" + "github.com/skycoin/skycoin/src/cipher/bip44" + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +// Bip44Wallet manages keys using the original Skycoin deterministic +// keypair generator method. +// With this generator, a single chain of addresses is created, each one dependent +// on the previous. +type Bip44Wallet struct { + Meta + ExternalEntries Entries + ChangeEntries Entries +} + +// newBip44Wallet creates a Bip44Wallet +func newBip44Wallet(meta Meta) (*Bip44Wallet, error) { //nolint:unparam + return &Bip44Wallet{ + Meta: meta, + }, nil +} + +// PackSecrets copies data from decrypted wallets into the secrets container +func (w *Bip44Wallet) PackSecrets(ss Secrets) { + ss.set(secretSeed, w.Meta.Seed()) + ss.set(secretSeedPassphrase, w.Meta.SeedPassphrase()) + + // Saves entry secret keys in secrets + for _, e := range w.ExternalEntries { + ss.set(e.Address.String(), e.Secret.Hex()) + } + for _, e := range w.ChangeEntries { + ss.set(e.Address.String(), e.Secret.Hex()) + } +} + +// UnpackSecrets copies data from decrypted secrets into the wallet +func (w *Bip44Wallet) UnpackSecrets(ss Secrets) error { + seed, ok := ss.get(secretSeed) + if !ok { + return errors.New("seed doesn't exist in secrets") + } + w.Meta.setSeed(seed) + + passphrase, _ := ss.get(secretSeedPassphrase) + w.Meta.setSeedPassphrase(passphrase) + + if err := w.ExternalEntries.unpackSecretKeys(ss); err != nil { + return err + } + return w.ChangeEntries.unpackSecretKeys(ss) +} + +// Clone clones the wallet a new wallet object +func (w *Bip44Wallet) Clone() Wallet { + return &Bip44Wallet{ + Meta: w.Meta.clone(), + ExternalEntries: w.ExternalEntries.clone(), + ChangeEntries: w.ChangeEntries.clone(), + } +} + +// CopyFrom copies the src wallet to w +func (w *Bip44Wallet) CopyFrom(src Wallet) { + w.Meta = src.(*Bip44Wallet).Meta.clone() + w.ExternalEntries = src.(*Bip44Wallet).ExternalEntries.clone() + w.ChangeEntries = src.(*Bip44Wallet).ChangeEntries.clone() +} + +// CopyFromRef copies the src wallet with a pointer dereference +func (w *Bip44Wallet) CopyFromRef(src Wallet) { + *w = *(src.(*Bip44Wallet)) +} + +// Erase wipes secret fields in wallet +func (w *Bip44Wallet) Erase() { + w.Meta.eraseSeeds() + w.ExternalEntries.erase() + w.ChangeEntries.erase() +} + +// ToReadable converts the wallet to its readable (serializable) format +func (w *Bip44Wallet) ToReadable() Readable { + return NewReadableBip44Wallet(w) +} + +// Validate validates the wallet +func (w *Bip44Wallet) Validate() error { + return w.Meta.validate() +} + +// GetAddresses returns all addresses in wallet +func (w *Bip44Wallet) GetAddresses() []cipher.Addresser { + return append(w.ExternalEntries.getAddresses(), w.ChangeEntries.getAddresses()...) +} + +// GetSkycoinAddresses returns all Skycoin addresses in wallet. The wallet's coin type must be Skycoin. +func (w *Bip44Wallet) GetSkycoinAddresses() ([]cipher.Address, error) { + if w.Meta.Coin() != CoinTypeSkycoin { + return nil, errors.New("Bip44Wallet coin type is not skycoin") + } + + return append(w.ExternalEntries.getSkycoinAddresses(), w.ChangeEntries.getSkycoinAddresses()...), nil +} + +// GetEntries returns a copy of all entries held by the wallet +func (w *Bip44Wallet) GetEntries() Entries { + if w.EntriesLen() == 0 { + return nil + } + return append(w.ExternalEntries.clone(), w.ChangeEntries.clone()...) +} + +// EntriesLen returns the number of entries in the wallet +func (w *Bip44Wallet) EntriesLen() int { + return len(w.ExternalEntries) + len(w.ChangeEntries) +} + +// GetEntryAt returns entry at a given index in the entries array +func (w *Bip44Wallet) GetEntryAt(i int) Entry { + if i >= len(w.ExternalEntries) { + return w.ChangeEntries[i-len(w.ExternalEntries)] + } + return w.ExternalEntries[i] +} + +// GetEntry returns entry of given address +func (w *Bip44Wallet) GetEntry(a cipher.Address) (Entry, bool) { + if e, ok := w.ExternalEntries.get(a); ok { + return e, true + } + + return w.ChangeEntries.get(a) +} + +// HasEntry returns true if the wallet has an Entry with a given cipher.Address. +func (w *Bip44Wallet) HasEntry(a cipher.Address) bool { + return w.ExternalEntries.has(a) || w.ChangeEntries.has(a) +} + +// CoinHDNode return the "coin" level bip44 HDNode +func (w *Bip44Wallet) CoinHDNode() (*bip44.Coin, error) { + // w.Meta.Seed() must return a valid bip39 mnemonic + seed, err := bip39.NewSeed(w.Meta.Seed(), w.Meta.SeedPassphrase()) + if err != nil { + return nil, err + } + + c, err := bip44.NewCoin(seed, w.Meta.Bip44Coin()) + if err != nil { + logger.Critical().WithError(err).Error("Failed to derive the bip44 purpose node") + if bip32.IsImpossibleChildError(err) { + logger.Critical().Error("ImpossibleChild: this seed cannot be used for bip44") + } + return nil, err + } + + return c, nil +} + +// nextChildIdx returns the next child index from a sequence of entries. +// This assumes that entries are sorted by child number ascending. +func nextChildIdx(e Entries) uint32 { + if len(e) == 0 { + return 0 + } + return e[len(e)-1].ChildNumber + 1 +} + +// generateEntries generates addresses for a change chain (should be 0 or 1) starting from an initial child number. +func (w *Bip44Wallet) generateEntries(num uint64, changeIdx, initialChildIdx uint32) (Entries, error) { + if w.Meta.IsEncrypted() { + return nil, ErrWalletEncrypted + } + + if num > math.MaxUint32 { + return nil, NewError(errors.New("Bip44Wallet.generateEntries num too large")) + } + + // Cap `num` in case it would exceed the maximum child index number + if math.MaxUint32-initialChildIdx < uint32(num) { + num = uint64(math.MaxUint32 - initialChildIdx) + } + + if num == 0 { + return nil, nil + } + + c, err := w.CoinHDNode() + if err != nil { + return nil, err + } + + // Generate the "account" HDNode. Multiple accounts are not supported; use 0. + account, err := c.Account(0) + if err != nil { + logger.Critical().WithError(err).Error("Failed to derive the bip44 account node") + if bip32.IsImpossibleChildError(err) { + logger.Critical().Error("ImpossibleChild: this seed cannot be used for bip44") + } + return nil, err + } + + // Generate the external chain parent node + chain, err := account.NewPrivateChildKey(changeIdx) + if err != nil { + logger.Critical().WithError(err).Error("Failed to derive the final bip44 chain node") + if bip32.IsImpossibleChildError(err) { + logger.Critical().Error("ImpossibleChild: this seed cannot be used for bip44") + } + return nil, err + } + + // Generate `num` secret keys from the external chain HDNode, skipping any children that + // are invalid (note that this has probability ~2^-128) + var seckeys []*bip32.PrivateKey + var addressIndices []uint32 + j := initialChildIdx + for i := uint32(0); i < uint32(num); i++ { + k, err := chain.NewPrivateChildKey(j) + + var addErr error + j, addErr = mathutil.AddUint32(j, 1) + if addErr != nil { + logger.Critical().WithError(addErr).WithFields(logrus.Fields{ + "num": num, + "initialChildIdx": initialChildIdx, + "accountIdx": 0, + "changeIdx": changeIdx, + "childIdx": j, + "i": i, + }).Error("childIdx can't be incremented any further") + return nil, errors.New("childIdx can't be incremented any further") + } + + if err != nil { + if bip32.IsImpossibleChildError(err) { + logger.Critical().WithError(err).WithFields(logrus.Fields{ + "accountIdx": 0, + "changeIdx": changeIdx, + "childIdx": j, + }).Error("ImpossibleChild for chain node child element") + continue + } else { + logger.Critical().WithError(err).WithFields(logrus.Fields{ + "accountIdx": 0, + "changeIdx": changeIdx, + "childIdx": j, + }).Error("NewPrivateChildKey failed unexpectedly") + return nil, err + } + } + + seckeys = append(seckeys, k) + addressIndices = append(addressIndices, j-1) + } + + entries := make(Entries, len(seckeys)) + makeAddress := w.Meta.AddressConstructor() + for i, xprv := range seckeys { + sk := cipher.MustNewSecKey(xprv.Key) + pk := cipher.MustPubKeyFromSecKey(sk) + entries[i] = Entry{ + Address: makeAddress(pk), + Secret: sk, + Public: pk, + ChildNumber: addressIndices[i], + Change: changeIdx, + } + } + + return entries, nil +} + +// PeekChangeEntry creates and returns an entry for the change chain. +// If used, the caller the append it with GenerateChangeEntry +func (w *Bip44Wallet) PeekChangeEntry() (Entry, error) { + entries, err := w.generateEntries(1, bip44.ChangeChainIndex, nextChildIdx(w.ChangeEntries)) + if err != nil { + return Entry{}, err + } + + if len(entries) == 0 { + return Entry{}, NewError(errors.New("PeekChangeEntry: no more change addresses")) + } + + return entries[0], nil +} + +// GenerateChangeEntry creates, appends and returns an entry for the change chain +func (w *Bip44Wallet) GenerateChangeEntry() (Entry, error) { + e, err := w.PeekChangeEntry() + if err != nil { + return Entry{}, err + } + + w.ChangeEntries = append(w.ChangeEntries, Entries{e}...) + + return w.ChangeEntries[len(w.ChangeEntries)-1], nil +} + +// GenerateAddresses generates addresses for the external chain, and appends them to the wallet's entries array +func (w *Bip44Wallet) GenerateAddresses(num uint64) ([]cipher.Addresser, error) { + entries, err := w.generateEntries(num, bip44.ExternalChainIndex, nextChildIdx(w.ExternalEntries)) + if err != nil { + return nil, err + } + + w.ExternalEntries = append(w.ExternalEntries, entries...) + + return entries.getAddresses(), nil +} + +// GenerateSkycoinAddresses generates Skycoin addresses for the external chain, and appends them to the wallet's entries array. +// If the wallet's coin type is not Skycoin, returns an error +func (w *Bip44Wallet) GenerateSkycoinAddresses(num uint64) ([]cipher.Address, error) { + if w.Meta.Coin() != CoinTypeSkycoin { + return nil, errors.New("GenerateSkycoinAddresses called for non-skycoin wallet") + } + + entries, err := w.generateEntries(num, bip44.ExternalChainIndex, nextChildIdx(w.ExternalEntries)) + if err != nil { + return nil, err + } + + w.ExternalEntries = append(w.ExternalEntries, entries...) + + return entries.getSkycoinAddresses(), nil +} + +// ScanAddresses scans ahead N addresses, truncating up to the highest address with any transaction history. +func (w *Bip44Wallet) ScanAddresses(scanN uint64, tf TransactionsFinder) error { + if w.Meta.IsEncrypted() { + return ErrWalletEncrypted + } + + if scanN == 0 { + return nil + } + + w2 := w.Clone().(*Bip44Wallet) + + externalEntries, err := scanAddressesBip32(func(num uint64, childIdx uint32) (Entries, error) { + return w.generateEntries(num, bip44.ExternalChainIndex, childIdx) + }, scanN, tf, nextChildIdx(w2.ExternalEntries)) + if err != nil { + return err + } + + changeEntries, err := scanAddressesBip32(func(num uint64, childIdx uint32) (Entries, error) { + return w.generateEntries(num, bip44.ChangeChainIndex, childIdx) + }, scanN, tf, nextChildIdx(w2.ChangeEntries)) + if err != nil { + return err + } + + // Add scanned entries + w2.ExternalEntries = append(w2.ExternalEntries, externalEntries...) + w2.ChangeEntries = append(w2.ChangeEntries, changeEntries...) + + *w = *w2 + + return nil +} + +// scanAddressesBip32 implements the address scanning algorithm for bip32 +// based (e.g. bip44, xpub) wallets +func scanAddressesBip32(generateEntries func(num uint64, childIdx uint32) (Entries, error), scanN uint64, tf TransactionsFinder, initialChildIdx uint32) (Entries, error) { + if scanN == 0 { + return nil, nil + } + + nAddAddrs := uint64(0) + n := scanN + extraScan := uint64(0) + childIdx := initialChildIdx + var newEntries Entries + + for { + // Generate the addresses to scan + entries, err := generateEntries(n, childIdx) + if err != nil { + return nil, err + } + + if len(entries) == 0 { + break + } + + // The bip32 child key sequence is finite and may be truncated at its limit + n = uint64(len(entries)) + if n == 0 { + break + } + + childIdx = nextChildIdx(entries) + + newEntries = append(newEntries, entries...) + + addrs := entries.getSkycoinAddresses() + + // Find if these addresses had any activity + active, err := tf.AddressesActivity(addrs) + if err != nil { + return nil, err + } + + // Check activity from the last one until we find the address that has activity + var keepNum uint64 + for i := len(active) - 1; i >= 0; i-- { + if active[i] { + keepNum = uint64(i + 1) + break + } + } + + if keepNum == 0 { + break + } + + nAddAddrs += keepNum + extraScan + + if n < keepNum { + logger.Panic("n should never be less than keepNum") + } + + // extraScan is the number of addresses with no activity beyond the + // last address with activity + extraScan = n - keepNum + + // n is the number of addresses to scan the next iteration + n = scanN - extraScan + } + + return newEntries[:nAddAddrs], nil +} + +// Fingerprint returns a unique ID fingerprint for this wallet, composed of its initial address +// and wallet type +func (w *Bip44Wallet) Fingerprint() string { + addr := "" + if len(w.ExternalEntries) == 0 { + if !w.IsEncrypted() { + entries, err := w.generateEntries(1, bip44.ExternalChainIndex, 0) + if err != nil { + logger.WithError(err).Panic("Fingerprint failed to generate initial entry for empty wallet") + } + addr = entries[0].Address.String() + } + } else { + addr = w.ExternalEntries[0].Address.String() + } + return fmt.Sprintf("%s-%s", w.Type(), addr) +} + +// ReadableBip44Wallet used for [de]serialization of a deterministic wallet +type ReadableBip44Wallet struct { + Meta `json:"meta"` + ReadableEntries `json:"entries"` +} + +// LoadReadableBip44Wallet loads a deterministic wallet from disk +func LoadReadableBip44Wallet(wltFile string) (*ReadableBip44Wallet, error) { + var rw ReadableBip44Wallet + if err := file.LoadJSON(wltFile, &rw); err != nil { + return nil, err + } + if rw.Type() != WalletTypeBip44 { + return nil, ErrInvalidWalletType + } + return &rw, nil +} + +// NewReadableBip44Wallet creates readable wallet +func NewReadableBip44Wallet(w *Bip44Wallet) *ReadableBip44Wallet { + return &ReadableBip44Wallet{ + Meta: w.Meta.clone(), + ReadableEntries: newReadableEntries(w.GetEntries(), w.Meta.Coin(), w.Meta.Type()), + } +} + +// ToWallet convert readable wallet to Wallet +func (rw *ReadableBip44Wallet) ToWallet() (Wallet, error) { + w := &Bip44Wallet{ + Meta: rw.Meta.clone(), + } + + if err := w.Validate(); err != nil { + err := fmt.Errorf("invalid wallet %q: %v", w.Filename(), err) + logger.WithError(err).Error("ReadableBip44Wallet.ToWallet Validate failed") + return nil, err + } + + ets, err := rw.ReadableEntries.toWalletEntries(w.Meta.Coin(), w.Meta.Type(), w.Meta.IsEncrypted()) + if err != nil { + logger.WithError(err).Error("ReadableBip44Wallet.ToWallet ReadableEntries.toWalletEntries failed") + return nil, err + } + + // Split the single array of entries into separate external and change chains, + // for easier internal management + for _, e := range ets { + switch e.Change { + case bip44.ExternalChainIndex: + w.ExternalEntries = append(w.ExternalEntries, e) + case bip44.ChangeChainIndex: + w.ChangeEntries = append(w.ChangeEntries, e) + default: + logger.Panicf("invalid change value %d", e.Change) + } + } + + // Sort childNumber low to high + sort.Slice(w.ExternalEntries, func(i, j int) bool { + return w.ExternalEntries[i].ChildNumber < w.ExternalEntries[j].ChildNumber + }) + sort.Slice(w.ChangeEntries, func(i, j int) bool { + return w.ChangeEntries[i].ChildNumber < w.ChangeEntries[j].ChildNumber + }) + + return w, err +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/collection_wallet.go b/vendor/github.com/skycoin/skycoin/src/wallet/collection_wallet.go new file mode 100644 index 00000000..303a3cd9 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/collection_wallet.go @@ -0,0 +1,207 @@ +package wallet + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/file" +) + +// CollectionWallet manages keys as an arbitrary collection. +// It has no defined keypair generator. The only way to add keys to the +// wallet is to explicitly add them. +// This wallet does not support address scanning or generation. +// This wallet does not use seeds. +type CollectionWallet struct { + Meta + Entries Entries +} + +// newCollectionWallet creates a CollectionWallet +func newCollectionWallet(meta Meta) (*CollectionWallet, error) { //nolint:unparam + return &CollectionWallet{ + Meta: meta, + }, nil +} + +// PackSecrets copies data from decrypted wallets into the secrets container +func (w *CollectionWallet) PackSecrets(ss Secrets) { + ss.set(secretSeed, w.Meta.Seed()) + ss.set(secretLastSeed, w.Meta.LastSeed()) + + // Saves entry secret keys in secrets + for _, e := range w.Entries { + ss.set(e.Address.String(), e.Secret.Hex()) + } +} + +// UnpackSecrets copies data from decrypted secrets into the wallet +func (w *CollectionWallet) UnpackSecrets(ss Secrets) error { + return w.Entries.unpackSecretKeys(ss) +} + +// Clone clones the wallet a new wallet object +func (w *CollectionWallet) Clone() Wallet { + return &CollectionWallet{ + Meta: w.Meta.clone(), + Entries: w.Entries.clone(), + } +} + +// CopyFrom copies the src wallet by reallocating +func (w *CollectionWallet) CopyFrom(src Wallet) { + w.Meta = src.(*CollectionWallet).Meta.clone() + w.Entries = src.(*CollectionWallet).Entries.clone() +} + +// CopyFromRef copies the src wallet with a pointer dereference +func (w *CollectionWallet) CopyFromRef(src Wallet) { + *w = *(src.(*CollectionWallet)) +} + +// Erase wipes secret fields in wallet +func (w *CollectionWallet) Erase() { + w.Meta.eraseSeeds() + w.Entries.erase() +} + +// ToReadable converts the wallet to its readable (serializable) format +func (w *CollectionWallet) ToReadable() Readable { + return NewReadableCollectionWallet(w) +} + +// Validate validates the wallet +func (w *CollectionWallet) Validate() error { + return w.Meta.validate() +} + +// GetEntries returns a copy of all entries held by the wallet +func (w *CollectionWallet) GetEntries() Entries { + return w.Entries.clone() +} + +// EntriesLen returns the number of entries in the wallet +func (w *CollectionWallet) EntriesLen() int { + return len(w.Entries) +} + +// GetEntryAt returns entry at a given index in the entries array +func (w *CollectionWallet) GetEntryAt(i int) Entry { + return w.Entries[i] +} + +// GetEntry returns entry of given address +func (w *CollectionWallet) GetEntry(a cipher.Address) (Entry, bool) { + return w.Entries.get(a) +} + +// HasEntry returns true if the wallet has an Entry with a given cipher.Address. +func (w *CollectionWallet) HasEntry(a cipher.Address) bool { + return w.Entries.has(a) +} + +// GenerateAddresses is a no-op for "collection" wallets +func (w *CollectionWallet) GenerateAddresses(num uint64) ([]cipher.Addresser, error) { + return nil, NewError(errors.New("A collection wallet does not implement GenerateAddresses")) +} + +// GenerateSkycoinAddresses is a no-op for "collection" wallets +func (w *CollectionWallet) GenerateSkycoinAddresses(num uint64) ([]cipher.Address, error) { + return nil, NewError(errors.New("A collection wallet does not implement GenerateSkycoinAddresses")) +} + +// ScanAddresses is a no-op for "collection" wallets +func (w *CollectionWallet) ScanAddresses(scanN uint64, tf TransactionsFinder) error { + return NewError(errors.New("A collection wallet does not implement ScanAddresses")) +} + +// GetAddresses returns all addresses in wallet +func (w *CollectionWallet) GetAddresses() []cipher.Addresser { + return w.Entries.getAddresses() +} + +// GetSkycoinAddresses returns all Skycoin addresses in wallet. The wallet's coin type must be Skycoin. +func (w *CollectionWallet) GetSkycoinAddresses() ([]cipher.Address, error) { + if w.Meta.Coin() != CoinTypeSkycoin { + return nil, errors.New("CollectionWallet coin type is not skycoin") + } + + return w.Entries.getSkycoinAddresses(), nil +} + +// Fingerprint returns an empty string; fingerprints are only defined for +// wallets with a seed +func (w *CollectionWallet) Fingerprint() string { + return "" +} + +// AddEntry adds a new entry to the wallet. +func (w *CollectionWallet) AddEntry(e Entry) error { + if w.IsEncrypted() { + return ErrWalletEncrypted + } + + if err := e.Verify(); err != nil { + return err + } + + for _, entry := range w.Entries { + if e.SkycoinAddress() == entry.SkycoinAddress() { + return errors.New("wallet already contains entry with this address") + } + } + + w.Entries = append(w.Entries, e) + return nil +} + +// ReadableCollectionWallet used for [de]serialization of a collection wallet +type ReadableCollectionWallet struct { + Meta `json:"meta"` + ReadableEntries `json:"entries"` +} + +// NewReadableCollectionWallet creates readable wallet +func NewReadableCollectionWallet(w *CollectionWallet) *ReadableCollectionWallet { + return &ReadableCollectionWallet{ + Meta: w.Meta.clone(), + ReadableEntries: newReadableEntries(w.Entries, w.Meta.Coin(), w.Meta.Type()), + } +} + +// LoadReadableCollectionWallet loads a collection wallet from disk +func LoadReadableCollectionWallet(wltFile string) (*ReadableCollectionWallet, error) { + logger.WithField("filename", wltFile).Info("LoadReadableCollectionWallet") + var rw ReadableCollectionWallet + if err := file.LoadJSON(wltFile, &rw); err != nil { + return nil, err + } + if rw.Type() != WalletTypeCollection { + return nil, ErrInvalidWalletType + } + return &rw, nil +} + +// ToWallet convert readable wallet to Wallet +func (rw *ReadableCollectionWallet) ToWallet() (Wallet, error) { + w := &CollectionWallet{ + Meta: rw.Meta.clone(), + } + + if err := w.Validate(); err != nil { + err := fmt.Errorf("invalid wallet %q: %v", w.Filename(), err) + logger.WithError(err).Error("ReadableCollectionWallet.ToWallet Validate failed") + return nil, err + } + + ets, err := rw.ReadableEntries.toWalletEntries(w.Meta.Coin(), w.Meta.Type(), w.Meta.IsEncrypted()) + if err != nil { + logger.WithError(err).Error("ReadableCollectionWallet.ToWallet toWalletEntries failed") + return nil, err + } + + w.Entries = ets + + return w, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/crypto.go b/vendor/github.com/skycoin/skycoin/src/wallet/crypto.go new file mode 100644 index 00000000..ac2a77c4 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/crypto.go @@ -0,0 +1,66 @@ +package wallet + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher/encrypt" +) + +type cryptor interface { + Encrypt(data, password []byte) ([]byte, error) + Decrypt(data, password []byte) ([]byte, error) +} + +// CryptoType represents the type of crypto name +type CryptoType string + +// CryptoTypeFromString converts string to CryptoType +func CryptoTypeFromString(s string) (CryptoType, error) { + switch CryptoType(s) { + case CryptoTypeSha256Xor: + return CryptoTypeSha256Xor, nil + case CryptoTypeScryptChacha20poly1305: + return CryptoTypeScryptChacha20poly1305, nil + case CryptoTypeScryptChacha20poly1305Insecure: + return CryptoTypeScryptChacha20poly1305Insecure, nil + default: + return "", errors.New("unknown crypto type") + } +} + +// Crypto types +const ( + // CryptoTypeSha256Xor uses the SHA256-XOR encryption method (unsafe - no key derivation) + CryptoTypeSha256Xor = CryptoType("sha256-xor") + // CryptoTypeScryptChacha20poly1305 uses chacha20poly1305 + scrypt key derivation (use this) + CryptoTypeScryptChacha20poly1305 = CryptoType("scrypt-chacha20poly1305") + // CryptoTypeScryptChacha20poly1305Insecure uses chacha20poly1305 + scrypt key derivation with a weak work factor (unsafe) + CryptoTypeScryptChacha20poly1305Insecure = CryptoType("scrypt-chacha20poly1305-insecure") + + // DefaultCryptoType is the default CryptoType used + DefaultCryptoType = CryptoTypeScryptChacha20poly1305 +) + +// cryptoTable records all supported wallet crypto methods +// If want to support new crypto methods, register here. +var cryptoTable = map[CryptoType]cryptor{ + CryptoTypeSha256Xor: encrypt.DefaultSha256Xor, + CryptoTypeScryptChacha20poly1305: encrypt.DefaultScryptChacha20poly1305, + CryptoTypeScryptChacha20poly1305Insecure: encrypt.ScryptChacha20poly1305{ + N: 1 << 15, + R: encrypt.ScryptR, + P: encrypt.ScryptP, + KeyLen: encrypt.ScryptKeyLen, + }, +} + +// getCrypto gets crypto of given type +func getCrypto(cryptoType CryptoType) (cryptor, error) { + c, ok := cryptoTable[cryptoType] + if !ok { + return nil, fmt.Errorf("can not find crypto %v in crypto table", cryptoType) + } + + return c, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/deterministic_wallet.go b/vendor/github.com/skycoin/skycoin/src/wallet/deterministic_wallet.go new file mode 100644 index 00000000..99953c4a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/deterministic_wallet.go @@ -0,0 +1,321 @@ +package wallet + +import ( + "encoding/hex" + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/util/file" +) + +// DeterministicWallet manages keys using the original Skycoin deterministic +// keypair generator method. +// With this generator, a single chain of addresses is created, each one dependent +// on the previous. +type DeterministicWallet struct { + Meta + Entries Entries +} + +// newDeterministicWallet creates a DeterministicWallet +func newDeterministicWallet(meta Meta) (*DeterministicWallet, error) { //nolint:unparam + return &DeterministicWallet{ + Meta: meta, + }, nil +} + +// PackSecrets copies data from decrypted wallets into the secrets container +func (w *DeterministicWallet) PackSecrets(ss Secrets) { + ss.set(secretSeed, w.Meta.Seed()) + ss.set(secretLastSeed, w.Meta.LastSeed()) + + // Saves entry secret keys in secrets + for _, e := range w.Entries { + ss.set(e.Address.String(), e.Secret.Hex()) + } +} + +// UnpackSecrets copies data from decrypted secrets into the wallet +func (w *DeterministicWallet) UnpackSecrets(ss Secrets) error { + seed, ok := ss.get(secretSeed) + if !ok { + return errors.New("seed doesn't exist in secrets") + } + w.Meta.setSeed(seed) + + lastSeed, ok := ss.get(secretLastSeed) + if !ok { + return errors.New("lastSeed doesn't exist in secrets") + } + w.Meta.setLastSeed(lastSeed) + + return w.Entries.unpackSecretKeys(ss) +} + +// Clone clones the wallet a new wallet object +func (w *DeterministicWallet) Clone() Wallet { + return &DeterministicWallet{ + Meta: w.Meta.clone(), + Entries: w.Entries.clone(), + } +} + +// CopyFrom copies the src wallet to w +func (w *DeterministicWallet) CopyFrom(src Wallet) { + w.Meta = src.(*DeterministicWallet).Meta.clone() + w.Entries = src.(*DeterministicWallet).Entries.clone() +} + +// CopyFromRef copies the src wallet with a pointer dereference +func (w *DeterministicWallet) CopyFromRef(src Wallet) { + *w = *(src.(*DeterministicWallet)) +} + +// Erase wipes secret fields in wallet +func (w *DeterministicWallet) Erase() { + w.Meta.eraseSeeds() + w.Entries.erase() +} + +// ToReadable converts the wallet to its readable (serializable) format +func (w *DeterministicWallet) ToReadable() Readable { + return NewReadableDeterministicWallet(w) +} + +// Validate validates the wallet +func (w *DeterministicWallet) Validate() error { + return w.Meta.validate() +} + +// GetAddresses returns all addresses in wallet +func (w *DeterministicWallet) GetAddresses() []cipher.Addresser { + return w.Entries.getAddresses() +} + +// GetSkycoinAddresses returns all Skycoin addresses in wallet. The wallet's coin type must be Skycoin. +func (w *DeterministicWallet) GetSkycoinAddresses() ([]cipher.Address, error) { + if w.Meta.Coin() != CoinTypeSkycoin { + return nil, errors.New("DeterministicWallet coin type is not skycoin") + } + + return w.Entries.getSkycoinAddresses(), nil +} + +// GetEntries returns a copy of all entries held by the wallet +func (w *DeterministicWallet) GetEntries() Entries { + return w.Entries.clone() +} + +// EntriesLen returns the number of entries in the wallet +func (w *DeterministicWallet) EntriesLen() int { + return len(w.Entries) +} + +// GetEntryAt returns entry at a given index in the entries array +func (w *DeterministicWallet) GetEntryAt(i int) Entry { + return w.Entries[i] +} + +// GetEntry returns entry of given address +func (w *DeterministicWallet) GetEntry(a cipher.Address) (Entry, bool) { + return w.Entries.get(a) +} + +// HasEntry returns true if the wallet has an Entry with a given cipher.Address. +func (w *DeterministicWallet) HasEntry(a cipher.Address) bool { + return w.Entries.has(a) +} + +// GenerateAddresses generates addresses +func (w *DeterministicWallet) GenerateAddresses(num uint64) ([]cipher.Addresser, error) { + if w.Meta.IsEncrypted() { + return nil, ErrWalletEncrypted + } + + if num == 0 { + return nil, nil + } + + var seckeys []cipher.SecKey + var seed []byte + if len(w.Entries) == 0 { + seed, seckeys = cipher.MustGenerateDeterministicKeyPairsSeed([]byte(w.Meta.Seed()), int(num)) + } else { + sd, err := hex.DecodeString(w.Meta.LastSeed()) + if err != nil { + return nil, fmt.Errorf("decode hex seed failed: %v", err) + } + seed, seckeys = cipher.MustGenerateDeterministicKeyPairsSeed(sd, int(num)) + } + + w.Meta.setLastSeed(hex.EncodeToString(seed)) + + addrs := make([]cipher.Addresser, len(seckeys)) + makeAddress := w.Meta.AddressConstructor() + for i, s := range seckeys { + p := cipher.MustPubKeyFromSecKey(s) + a := makeAddress(p) + addrs[i] = a + w.Entries = append(w.Entries, Entry{ + Address: a, + Secret: s, + Public: p, + }) + } + return addrs, nil +} + +// GenerateSkycoinAddresses generates Skycoin addresses. If the wallet's coin type is not Skycoin, returns an error +func (w *DeterministicWallet) GenerateSkycoinAddresses(num uint64) ([]cipher.Address, error) { + if w.Meta.Coin() != CoinTypeSkycoin { + return nil, errors.New("GenerateSkycoinAddresses called for non-skycoin wallet") + } + + addrs, err := w.GenerateAddresses(num) + if err != nil { + return nil, err + } + + skyAddrs := make([]cipher.Address, len(addrs)) + for i, a := range addrs { + skyAddrs[i] = a.(cipher.Address) + } + + return skyAddrs, nil +} + +// reset resets the wallet entries and move the lastSeed to origin +func (w *DeterministicWallet) reset() { + w.Entries = Entries{} + w.Meta.setLastSeed(w.Meta.Seed()) +} + +// ScanAddresses scans ahead N addresses, truncating up to the highest address with any transaction history. +func (w *DeterministicWallet) ScanAddresses(scanN uint64, tf TransactionsFinder) error { + if w.Meta.IsEncrypted() { + return ErrWalletEncrypted + } + + if scanN == 0 { + return nil + } + + w2 := w.Clone().(*DeterministicWallet) + + nExistingAddrs := uint64(len(w2.Entries)) + nAddAddrs := uint64(0) + n := scanN + extraScan := uint64(0) + + for { + // Generate the addresses to scan + addrs, err := w2.GenerateSkycoinAddresses(n) + if err != nil { + return err + } + + // Find if these addresses had any activity + active, err := tf.AddressesActivity(addrs) + if err != nil { + return err + } + + // Check activity from the last one until we find the address that has activity + var keepNum uint64 + for i := len(active) - 1; i >= 0; i-- { + if active[i] { + keepNum = uint64(i + 1) + break + } + } + + if keepNum == 0 { + break + } + + nAddAddrs += keepNum + extraScan + + // extraScan is the number of addresses with no activity beyond the + // last address with activity + extraScan = n - keepNum + + // n is the number of addresses to scan the next iteration + n = scanN - extraScan + } + + // Regenerate addresses up to nExistingAddrs + nAddAddrs. + // This is necessary to keep the lastSeed updated. + w2.reset() + if _, err := w2.GenerateSkycoinAddresses(nExistingAddrs + nAddAddrs); err != nil { + return err + } + + *w = *w2 + + return nil +} + +// Fingerprint returns a unique ID fingerprint for this wallet, composed of its initial address +// and wallet type +func (w *DeterministicWallet) Fingerprint() string { + addr := "" + if len(w.Entries) == 0 { + if !w.IsEncrypted() { + _, pk, _ := cipher.MustDeterministicKeyPairIterator([]byte(w.Meta.Seed())) + addr = w.Meta.AddressConstructor()(pk).String() + } + } else { + addr = w.Entries[0].Address.String() + } + return fmt.Sprintf("%s-%s", w.Type(), addr) +} + +// ReadableDeterministicWallet used for [de]serialization of a deterministic wallet +type ReadableDeterministicWallet struct { + Meta `json:"meta"` + ReadableEntries `json:"entries"` +} + +// LoadReadableDeterministicWallet loads a deterministic wallet from disk +func LoadReadableDeterministicWallet(wltFile string) (*ReadableDeterministicWallet, error) { + var rw ReadableDeterministicWallet + if err := file.LoadJSON(wltFile, &rw); err != nil { + return nil, err + } + if rw.Type() != WalletTypeDeterministic { + return nil, ErrInvalidWalletType + } + return &rw, nil +} + +// NewReadableDeterministicWallet creates readable wallet +func NewReadableDeterministicWallet(w *DeterministicWallet) *ReadableDeterministicWallet { + return &ReadableDeterministicWallet{ + Meta: w.Meta.clone(), + ReadableEntries: newReadableEntries(w.Entries, w.Meta.Coin(), w.Meta.Type()), + } +} + +// ToWallet convert readable wallet to Wallet +func (rw *ReadableDeterministicWallet) ToWallet() (Wallet, error) { + w := &DeterministicWallet{ + Meta: rw.Meta.clone(), + } + + if err := w.Validate(); err != nil { + err := fmt.Errorf("invalid wallet %q: %v", w.Filename(), err) + logger.WithError(err).Error("ReadableDeterministicWallet.ToWallet Validate failed") + return nil, err + } + + ets, err := rw.ReadableEntries.toWalletEntries(w.Meta.Coin(), w.Meta.Type(), w.Meta.IsEncrypted()) + if err != nil { + logger.WithError(err).Error("ReadableDeterministicWallet.ToWallet toWalletEntries failed") + return nil, err + } + + w.Entries = ets + + return w, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/entry.go b/vendor/github.com/skycoin/skycoin/src/wallet/entry.go new file mode 100644 index 00000000..732ff968 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/entry.go @@ -0,0 +1,126 @@ +package wallet + +import ( + "encoding/hex" + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" +) + +// Entry represents the wallet entry +type Entry struct { + Address cipher.Addresser + Public cipher.PubKey + Secret cipher.SecKey + ChildNumber uint32 // For bip32/bip44 + Change uint32 // For bip44 +} + +// SkycoinAddress returns the Skycoin address of an entry. Panics if Address is not a Skycoin address +func (we Entry) SkycoinAddress() cipher.Address { + return we.Address.(cipher.Address) +} + +// BitcoinAddress returns the Skycoin address of an entry. Panics if Address is not a Bitcoin address +func (we Entry) BitcoinAddress() cipher.BitcoinAddress { + return we.Address.(cipher.BitcoinAddress) +} + +// Verify checks that the public key is derivable from the secret key, +// and that the public key is associated with the address +func (we *Entry) Verify() error { + pk, err := cipher.PubKeyFromSecKey(we.Secret) + if err != nil { + return err + } + + if pk != we.Public { + return errors.New("invalid public key for secret key") + } + + return we.VerifyPublic() +} + +// VerifyPublic checks that the public key is associated with the address +func (we *Entry) VerifyPublic() error { + if err := we.Public.Verify(); err != nil { + return err + } + return we.Address.Verify(we.Public) +} + +// Entries are an array of wallet entries +type Entries []Entry + +func (entries Entries) clone() Entries { + if len(entries) == 0 { + return nil + } + return append(Entries{}, entries...) +} + +func (entries Entries) has(a cipher.Address) bool { + // This doesn't use getEntry() to avoid copying an Entry in the return value, + // which may contain a secret key + for _, e := range entries { + if e.SkycoinAddress() == a { + return true + } + } + return false +} + +func (entries Entries) get(a cipher.Address) (Entry, bool) { + for _, e := range entries { + if e.SkycoinAddress() == a { + return e, true + } + } + return Entry{}, false +} + +func (entries Entries) getSkycoinAddresses() []cipher.Address { + addrs := make([]cipher.Address, len(entries)) + for i, e := range entries { + addrs[i] = e.SkycoinAddress() + } + return addrs +} + +func (entries Entries) getAddresses() []cipher.Addresser { + addrs := make([]cipher.Addresser, len(entries)) + for i, e := range entries { + addrs[i] = e.Address + } + return addrs +} + +// eraseEntries wipes private keys in entries +func (entries Entries) erase() { + for i := range entries { + for j := range entries[i].Secret { + entries[i].Secret[j] = 0 + } + entries[i].Secret = cipher.SecKey{} + } +} + +// unpackSecretKeys for each entry, look for the secret key in the Secrets dict, keyed by address +func (entries Entries) unpackSecretKeys(ss Secrets) error { + for i, e := range entries { + sstr, ok := ss.get(e.Address.String()) + if !ok { + return fmt.Errorf("secret of address %s doesn't exist in secrets", e.Address) + } + + s, err := hex.DecodeString(sstr) + if err != nil { + return fmt.Errorf("decode secret hex string failed: %v", err) + } + + copy(entries[i].Secret[:], s[:]) + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/meta.go b/vendor/github.com/skycoin/skycoin/src/wallet/meta.go new file mode 100644 index 00000000..cdcefcd8 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/meta.go @@ -0,0 +1,357 @@ +package wallet + +import ( + "errors" + "fmt" + "strconv" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip39" + "github.com/skycoin/skycoin/src/cipher/bip44" +) + +// wallet meta fields +const ( + metaVersion = "version" // wallet version + metaFilename = "filename" // wallet file name + metaLabel = "label" // wallet label + metaTimestamp = "tm" // the timestamp when creating the wallet + metaType = "type" // wallet type + metaCoin = "coin" // coin type + metaEncrypted = "encrypted" // whether the wallet is encrypted + metaCryptoType = "cryptoType" // encrytion/decryption type + metaSeed = "seed" // wallet seed + metaLastSeed = "lastSeed" // seed for generating next address [deterministic wallets] + metaSecrets = "secrets" // secrets which records the encrypted seeds and secrets of address entries + metaBip44Coin = "bip44Coin" // bip44 coin type + metaSeedPassphrase = "seedPassphrase" // seed passphrase [bip44 wallets] + metaXPub = "xpub" // xpub key [xpub wallets] +) + +// Meta holds wallet metadata +type Meta map[string]string + +func (m Meta) clone() Meta { + mm := make(Meta, len(m)) + for k, v := range m { + mm[k] = v + } + return mm +} + +// erase wipes the seed and last seed +func (m Meta) eraseSeeds() { + m.setSeed("") + m.setLastSeed("") + m.setSeedPassphrase("") +} + +// validate validates the wallet +func (m Meta) validate() error { + if fn := m[metaFilename]; fn == "" { + return errors.New("filename not set") + } + + if tm := m[metaTimestamp]; tm != "" { + _, err := strconv.ParseInt(tm, 10, 64) + if err != nil { + return errors.New("invalid timestamp") + } + } + + walletType, ok := m[metaType] + if !ok { + return errors.New("type field not set") + } + if !IsValidWalletType(walletType) { + return ErrInvalidWalletType + } + + if coinType := m[metaCoin]; coinType == "" { + return errors.New("coin field not set") + } + + var isEncrypted bool + if encStr, ok := m[metaEncrypted]; ok { + // validate the encrypted value + var err error + isEncrypted, err = strconv.ParseBool(encStr) + if err != nil { + return errors.New("encrypted field is not a valid bool") + } + } + + if isEncrypted { + cryptoType, ok := m[metaCryptoType] + if !ok { + return errors.New("crypto type field not set") + } + + if _, err := getCrypto(CryptoType(cryptoType)); err != nil { + return errors.New("unknown crypto type") + } + + if s := m[metaSecrets]; s == "" { + return errors.New("wallet is encrypted, but secrets field not set") + } + + if s := m[metaSeed]; s != "" { + return errors.New("seed should not be visible in encrypted wallets") + } + + if s := m[metaLastSeed]; s != "" { + return errors.New("lastSeed should not be visible in encrypted wallets") + } + } else { + if s := m[metaSecrets]; s != "" { + return errors.New("secrets should not be in unencrypted wallets") + } + } + + switch walletType { + case WalletTypeCollection: + if s := m[metaSeed]; s != "" { + return errors.New("seed should not be in collection wallets") + } + + if s := m[metaLastSeed]; s != "" { + return errors.New("lastSeed should not be in collection wallets") + } + case WalletTypeDeterministic: + if !isEncrypted { + if s := m[metaSeed]; s == "" { + return errors.New("seed missing in unencrypted deterministic wallet") + } + + if s := m[metaLastSeed]; s == "" { + return errors.New("lastSeed missing in unencrypted deterministic wallet") + } + } + case WalletTypeBip44: + if !isEncrypted { + // bip44 wallet seeds must be a valid bip39 mnemonic + if s := m[metaSeed]; s == "" { + return errors.New("seed missing in unencrypted bip44 wallet") + } else if err := bip39.ValidateMnemonic(s); err != nil { + return err + } + } + + if s := m[metaBip44Coin]; s == "" { + return errors.New("bip44Coin missing") + } else if _, err := strconv.ParseUint(s, 10, 32); err != nil { + return fmt.Errorf("bip44Coin invalid: %v", err) + } + + if s := m[metaLastSeed]; s != "" { + return errors.New("lastSeed should not be in bip44 wallets") + } + case WalletTypeXPub: + if s := m[metaSeed]; s != "" { + return errors.New("seed should not be in xpub wallets") + } + + if s := m[metaLastSeed]; s != "" { + return errors.New("lastSeed should not be in xpub wallets") + } + default: + return errors.New("unhandled wallet type") + } + + if m[metaXPub] != "" && walletType != WalletTypeXPub { + return errors.New("xpub is only used for xpub wallets") + } + + return nil +} + +// Find returns a key value from the metadata map +func (m Meta) Find(k string) string { + return m[k] +} + +// Type gets the wallet type +func (m Meta) Type() string { + return m[metaType] +} + +// Version gets the wallet version +func (m Meta) Version() string { + return m[metaVersion] +} + +// SetVersion sets the wallet version +func (m Meta) SetVersion(v string) { + m[metaVersion] = v +} + +// Filename gets the wallet filename +func (m Meta) Filename() string { + return m[metaFilename] +} + +// SetFilename sets the wallet filename +func (m Meta) SetFilename(fn string) { + m[metaFilename] = fn +} + +// Label gets the wallet label +func (m Meta) Label() string { + return m[metaLabel] +} + +// SetLabel sets the wallet label +func (m Meta) SetLabel(label string) { + m[metaLabel] = label +} + +// LastSeed returns the last seed +func (m Meta) LastSeed() string { + return m[metaLastSeed] +} + +func (m Meta) setLastSeed(lseed string) { + m[metaLastSeed] = lseed +} + +// Seed returns the seed +func (m Meta) Seed() string { + return m[metaSeed] +} + +func (m Meta) setSeed(seed string) { + m[metaSeed] = seed +} + +// SeedPassphrase returns the seed passphrase +func (m Meta) SeedPassphrase() string { + return m[metaSeedPassphrase] +} + +func (m Meta) setSeedPassphrase(p string) { + m[metaSeedPassphrase] = p +} + +// Coin returns the wallet's coin type +func (m Meta) Coin() CoinType { + return CoinType(m[metaCoin]) +} + +// SetCoin sets the wallet's coin type +func (m Meta) SetCoin(ct CoinType) { + m[metaCoin] = string(ct) +} + +// Bip44Coin returns the bip44 coin type +func (m Meta) Bip44Coin() bip44.CoinType { + c := m[metaBip44Coin] + if c == "" { + logger.Critical().Error("wallet.Meta.Bip44Coin() is empty") + return bip44.CoinType(0) + } + + x, err := strconv.ParseUint(c, 10, 32) + if err != nil { + logger.WithError(err).Panic() + } + + return bip44.CoinType(x) +} + +func (m Meta) setBip44Coin(ct bip44.CoinType) { + m[metaBip44Coin] = strconv.FormatUint(uint64(ct), 10) +} + +func (m Meta) setIsEncrypted(encrypt bool) { + m[metaEncrypted] = strconv.FormatBool(encrypt) +} + +// SetEncrypted sets encryption fields +func (m Meta) SetEncrypted(cryptoType CryptoType, encryptedSecrets string) { + m.setCryptoType(cryptoType) + m.setSecrets(encryptedSecrets) + m.setIsEncrypted(true) +} + +// SetDecrypted unsets encryption fields +func (m Meta) SetDecrypted() { + m.setIsEncrypted(false) + m.setSecrets("") + m.setCryptoType("") +} + +// IsEncrypted checks whether the wallet is encrypted. +func (m Meta) IsEncrypted() bool { + encStr, ok := m[metaEncrypted] + if !ok { + return false + } + + b, err := strconv.ParseBool(encStr) + if err != nil { + // This can't happen, the meta.encrypted value is either set by + // setEncrypted() method or converted in ReadableWallet.toWallet(). + // toWallet() method will throw error if the meta.encrypted string is invalid. + logger.Critical().WithError(err).Error("parse wallet.meta.encrypted string failed") + return false + } + return b +} + +func (m Meta) setCryptoType(tp CryptoType) { + m[metaCryptoType] = string(tp) +} + +// CryptoType returns the encryption type +func (m Meta) CryptoType() CryptoType { + return CryptoType(m[metaCryptoType]) +} + +// Secrets returns the encrypted wallet secrets +func (m Meta) Secrets() string { + return m[metaSecrets] +} + +func (m Meta) setSecrets(s string) { + m[metaSecrets] = s +} + +// Timestamp returns the timestamp +func (m Meta) Timestamp() int64 { + // Intentionally ignore the error when parsing the timestamp, + // if it isn't valid or is missing it will be set to 0. + // Also, this value is validated by wallet.validate() + x, _ := strconv.ParseInt(m[metaTimestamp], 10, 64) //nolint:errcheck + return x +} + +// SetTimestamp sets the timestamp +func (m Meta) SetTimestamp(t int64) { + m[metaTimestamp] = strconv.FormatInt(t, 10) +} + +// AddressConstructor returns a function to create a cipher.Addresser from a cipher.PubKey +func (m Meta) AddressConstructor() func(cipher.PubKey) cipher.Addresser { + switch m.Coin() { + case CoinTypeSkycoin: + return func(pk cipher.PubKey) cipher.Addresser { + return cipher.AddressFromPubKey(pk) + } + case CoinTypeBitcoin: + return func(pk cipher.PubKey) cipher.Addresser { + return cipher.BitcoinAddressFromPubKey(pk) + } + default: + logger.Panicf("Invalid wallet coin type %q", m.Coin()) + return nil + } +} + +func (m Meta) setXPub(xpub string) { + m[metaXPub] = xpub +} + +// XPub returns the wallet's configured XPub key +func (m Meta) XPub() string { + return m[metaXPub] +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/readable.go b/vendor/github.com/skycoin/skycoin/src/wallet/readable.go new file mode 100644 index 00000000..42a121a7 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/readable.go @@ -0,0 +1,200 @@ +package wallet + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip44" +) + +// ReadableEntry wallet entry with json tags +type ReadableEntry struct { + Address string `json:"address"` + Public string `json:"public_key"` + Secret string `json:"secret_key"` + ChildNumber *uint32 `json:"child_number,omitempty"` // For bip32/bip44 + Change *uint32 `json:"change,omitempty"` // For bip44 +} + +// NewReadableEntry creates readable wallet entry +func NewReadableEntry(coinType CoinType, walletType string, e Entry) ReadableEntry { + re := ReadableEntry{} + if !e.Address.Null() { + re.Address = e.Address.String() + } + + if !e.Public.Null() { + re.Public = e.Public.Hex() + } + + if !e.Secret.Null() { + switch coinType { + case CoinTypeSkycoin: + re.Secret = e.Secret.Hex() + case CoinTypeBitcoin: + re.Secret = cipher.BitcoinWalletImportFormatFromSeckey(e.Secret) + default: + logger.Panicf("Invalid coin type %q", coinType) + } + } + + switch walletType { + case WalletTypeBip44: + cn := e.ChildNumber + re.ChildNumber = &cn + change := e.Change + re.Change = &change + case WalletTypeXPub: + cn := e.ChildNumber + re.ChildNumber = &cn + if e.Change != 0 { + logger.Panicf("wallet.Entry.Change is not 0 but wallet type is %q", walletType) + } + default: + if e.ChildNumber != 0 { + logger.Panicf("wallet.Entry.ChildNumber is not 0 but wallet type is %q", walletType) + } + if e.Change != 0 { + logger.Panicf("wallet.Entry.Change is not 0 but wallet type is %q", walletType) + } + } + + return re +} + +// ReadableEntries array of ReadableEntry +type ReadableEntries []ReadableEntry + +func newReadableEntries(entries Entries, coinType CoinType, walletType string) ReadableEntries { + re := make(ReadableEntries, len(entries)) + for i, e := range entries { + re[i] = NewReadableEntry(coinType, walletType, e) + } + return re +} + +// GetEntries returns this array +func (res ReadableEntries) GetEntries() ReadableEntries { + return res +} + +// toWalletEntries convert readable entries to entries +// converts base on the wallet version. +func (res ReadableEntries) toWalletEntries(coinType CoinType, walletType string, isEncrypted bool) ([]Entry, error) { + entries := make([]Entry, len(res)) + for i, re := range res { + e, err := newEntryFromReadable(coinType, walletType, &re) + if err != nil { + return []Entry{}, err + } + + // Verify the wallet if it's not encrypted + if !isEncrypted && re.Secret != "" { + if err := e.Verify(); err != nil { + return nil, err + } + } + + entries[i] = *e + } + return entries, nil +} + +// newEntryFromReadable creates WalletEntry base one ReadableWalletEntry +func newEntryFromReadable(coinType CoinType, walletType string, re *ReadableEntry) (*Entry, error) { + var a cipher.Addresser + var err error + + switch coinType { + case CoinTypeSkycoin: + a, err = cipher.DecodeBase58Address(re.Address) + case CoinTypeBitcoin: + a, err = cipher.DecodeBase58BitcoinAddress(re.Address) + default: + logger.Panicf("Invalid coin type %q", coinType) + } + + if err != nil { + return nil, err + } + + p, err := cipher.PubKeyFromHex(re.Public) + if err != nil { + return nil, err + } + + // Decodes the secret hex string if any + var secret cipher.SecKey + if re.Secret != "" { + switch coinType { + case CoinTypeSkycoin: + secret, err = cipher.SecKeyFromHex(re.Secret) + case CoinTypeBitcoin: + secret, err = cipher.SecKeyFromBitcoinWalletImportFormat(re.Secret) + default: + logger.Panicf("Invalid coin type %q", coinType) + } + if err != nil { + return nil, err + } + } + + var childNumber uint32 + var change uint32 + switch walletType { + case WalletTypeBip44: + if re.ChildNumber == nil { + return nil, fmt.Errorf("child_number required for %q wallet type", walletType) + } + if re.Change == nil { + return nil, fmt.Errorf("change required for %q wallet type", walletType) + } + + childNumber = *re.ChildNumber + change = *re.Change + + switch change { + case bip44.ExternalChainIndex, bip44.ChangeChainIndex: + default: + return nil, errors.New("change must be either 0 or 1") + } + + case WalletTypeXPub: + if re.ChildNumber == nil { + return nil, fmt.Errorf("child_number required for %q wallet type", walletType) + } + + childNumber = *re.ChildNumber + + if re.Change != nil { + return nil, fmt.Errorf("change should not be set for %q wallet type", walletType) + } + + default: + if re.ChildNumber != nil { + return nil, fmt.Errorf("child_number should not be set for %q wallet type", walletType) + } + if re.Change != nil { + return nil, fmt.Errorf("change should not be set for %q wallet type", walletType) + } + } + + return &Entry{ + Address: a, + Public: p, + Secret: secret, + ChildNumber: childNumber, + Change: change, + }, nil +} + +// Readable defines the readable wallet API. +// A readable wallet is the on-disk representation of a wallet. +type Readable interface { + ToWallet() (Wallet, error) + Timestamp() int64 + SetFilename(string) + Filename() string + GetEntries() ReadableEntries +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/secrets.go b/vendor/github.com/skycoin/skycoin/src/wallet/secrets.go new file mode 100644 index 00000000..a1769eba --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/secrets.go @@ -0,0 +1,36 @@ +package wallet + +import "encoding/json" + +const ( + secretSeed = "seed" + secretLastSeed = "lastSeed" + secretSeedPassphrase = "seedPassphrase" +) + +// Secrets hold secret data, to be encrypted +type Secrets map[string]string + +func (s Secrets) get(key string) (string, bool) { + v, ok := s[key] + return v, ok +} + +func (s Secrets) set(key, v string) { + s[key] = v +} + +func (s Secrets) serialize() ([]byte, error) { + return json.Marshal(s) +} + +func (s Secrets) deserialize(data []byte) error { + return json.Unmarshal(data, &s) +} + +func (s Secrets) erase() { + for k := range s { + s[k] = "" + delete(s, k) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/service.go b/vendor/github.com/skycoin/skycoin/src/wallet/service.go new file mode 100644 index 00000000..0c31840d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/service.go @@ -0,0 +1,608 @@ +package wallet + +import ( + "fmt" + "os" + "sync" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip44" +) + +// TransactionsFinder interface for finding address related transaction hashes +type TransactionsFinder interface { + AddressesActivity(addrs []cipher.Address) ([]bool, error) +} + +// Service wallet service struct +type Service struct { + sync.RWMutex + wallets Wallets + config Config + // fingerprints is used to check for duplicate deterministic wallets + fingerprints map[string]string +} + +// Config wallet service config +type Config struct { + WalletDir string + CryptoType CryptoType + EnableWalletAPI bool + EnableSeedAPI bool + Bip44Coin *bip44.CoinType +} + +// NewConfig creates a default Config +func NewConfig() Config { + bc := bip44.CoinTypeSkycoin + return Config{ + WalletDir: "./", + CryptoType: DefaultCryptoType, + EnableWalletAPI: false, + EnableSeedAPI: false, + Bip44Coin: &bc, + } +} + +// NewService new wallet service +func NewService(c Config) (*Service, error) { + serv := &Service{ + config: c, + fingerprints: make(map[string]string), + } + + if !serv.config.EnableWalletAPI { + return serv, nil + } + + if err := os.MkdirAll(c.WalletDir, os.FileMode(0700)); err != nil { + return nil, fmt.Errorf("failed to create wallet directory %s: %v", c.WalletDir, err) + } + + // Removes .wlt.bak files before loading wallets + if err := removeBackupFiles(serv.config.WalletDir); err != nil { + return nil, fmt.Errorf("remove .wlt.bak files in %v failed: %v", serv.config.WalletDir, err) + } + + // Load all wallets from disk + w, err := loadWallets(serv.config.WalletDir) + if err != nil { + return nil, fmt.Errorf("failed to load all wallets: %v", err) + } + + // Abort if there are duplicate wallets (identified by fingerprint) on disk + if wltID, fp, hasDup := w.containsDuplicate(); hasDup { + return nil, fmt.Errorf("duplicate wallet found with fingerprint %s in file %q", fp, wltID) + } + + // Abort if there are empty deterministic wallets on disk + if wltID, hasEmpty := w.containsEmpty(); hasEmpty { + return nil, fmt.Errorf("empty wallet file found: %q", wltID) + } + + serv.setWallets(w) + + fields := logrus.Fields{ + "walletDir": serv.config.WalletDir, + } + if serv.config.Bip44Coin != nil { + fields["bip44Coin"] = *serv.config.Bip44Coin + } + logger.WithFields(fields).Debug("wallet.NewService complete") + + return serv, nil +} + +// WalletDir returns the configured wallet directory +func (serv *Service) WalletDir() (string, error) { + serv.Lock() + defer serv.Unlock() + if !serv.config.EnableWalletAPI { + return "", ErrWalletAPIDisabled + } + return serv.config.WalletDir, nil +} + +func (serv *Service) updateOptions(opts Options) Options { + // Apply service-configured default settings for wallet options + if opts.Encrypt && opts.CryptoType == "" { + opts.CryptoType = serv.config.CryptoType + } + if opts.Type == WalletTypeBip44 && opts.Bip44Coin == nil && serv.config.Bip44Coin != nil { + c := *serv.config.Bip44Coin + opts.Bip44Coin = &c + } + return opts +} + +// CreateWallet creates a wallet with the given wallet file name and options. +// A address will be automatically generated by default. +func (serv *Service) CreateWallet(wltName string, options Options, tf TransactionsFinder) (Wallet, error) { + serv.Lock() + defer serv.Unlock() + if !serv.config.EnableWalletAPI { + return nil, ErrWalletAPIDisabled + } + if wltName == "" { + wltName = serv.generateUniqueWalletFilename() + } + + options = serv.updateOptions(options) + return serv.loadWallet(wltName, options, tf) +} + +// loadWallet loads wallet from seed and scan the first N addresses +func (serv *Service) loadWallet(wltName string, options Options, tf TransactionsFinder) (Wallet, error) { + options = serv.updateOptions(options) + w, err := NewWalletScanAhead(wltName, options, tf) + if err != nil { + return nil, err + } + + fingerprint := w.Fingerprint() + if fingerprint != "" { + if _, ok := serv.fingerprints[fingerprint]; ok { + // Note: collection wallets do not have fingerprints + switch w.Type() { + case WalletTypeDeterministic, WalletTypeBip44: + return nil, ErrSeedUsed + case WalletTypeXPub: + return nil, ErrXPubKeyUsed + default: + logger.WithFields(logrus.Fields{ + "walletType": w.Type(), + "fingerprint": fingerprint, + }).Panic("Unhandled wallet type after fingerprint conflict") + } + } + } + + if err := serv.wallets.add(w); err != nil { + return nil, err + } + + if err := Save(w, serv.config.WalletDir); err != nil { + // If save fails, remove the added wallet + serv.wallets.remove(w.Filename()) + return nil, err + } + + if fingerprint != "" { + serv.fingerprints[fingerprint] = w.Filename() + } + + return w.Clone(), nil +} + +func (serv *Service) generateUniqueWalletFilename() string { + wltName := NewWalletFilename() + for { + if w := serv.wallets.get(wltName); w == nil { + break + } + wltName = NewWalletFilename() + } + + return wltName +} + +// EncryptWallet encrypts wallet with password +func (serv *Service) EncryptWallet(wltID string, password []byte) (Wallet, error) { + serv.Lock() + defer serv.Unlock() + if !serv.config.EnableWalletAPI { + return nil, ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return nil, err + } + + if w.IsEncrypted() { + return nil, ErrWalletEncrypted + } + + if err := Lock(w, password, serv.config.CryptoType); err != nil { + return nil, err + } + + // Save to disk first + if err := Save(w, serv.config.WalletDir); err != nil { + return nil, err + } + + // Sets the encrypted wallet + serv.wallets.set(w) + return w, nil +} + +// DecryptWallet decrypts wallet with password +func (serv *Service) DecryptWallet(wltID string, password []byte) (Wallet, error) { + serv.Lock() + defer serv.Unlock() + if !serv.config.EnableWalletAPI { + return nil, ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return nil, err + } + + // Returns error if wallet is not encrypted + if !w.IsEncrypted() { + return nil, ErrWalletNotEncrypted + } + + // Unlocks the wallet + unlockWlt, err := Unlock(w, password) + if err != nil { + return nil, err + } + + // Updates the wallet file + if err := Save(unlockWlt, serv.config.WalletDir); err != nil { + return nil, err + } + + // Sets the decrypted wallet in memory + serv.wallets.set(unlockWlt) + return unlockWlt, nil +} + +// NewAddresses generate address entries in given wallet, +// return nil if wallet does not exist. +// Set password as nil if the wallet is not encrypted, otherwise the password must be provided. +func (serv *Service) NewAddresses(wltID string, password []byte, num uint64) ([]cipher.Address, error) { + serv.Lock() + defer serv.Unlock() + + if !serv.config.EnableWalletAPI { + return nil, ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return nil, err + } + + var addrs []cipher.Address + f := func(wlt Wallet) error { + var err error + addrs, err = wlt.GenerateSkycoinAddresses(num) + return err + } + + if w.IsEncrypted() { + if err := GuardUpdate(w, password, f); err != nil { + return nil, err + } + } else { + if len(password) != 0 { + return nil, ErrWalletNotEncrypted + } + + if err := f(w); err != nil { + return nil, err + } + } + + // Save the wallet first + if err := Save(w, serv.config.WalletDir); err != nil { + return nil, err + } + + serv.wallets.set(w) + + return addrs, nil +} + +// GetSkycoinAddresses returns all addresses in given wallet +func (serv *Service) GetSkycoinAddresses(wltID string) ([]cipher.Address, error) { + serv.RLock() + defer serv.RUnlock() + if !serv.config.EnableWalletAPI { + return nil, ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return nil, err + } + + return w.GetSkycoinAddresses() +} + +// GetWallet returns wallet by id +func (serv *Service) GetWallet(wltID string) (Wallet, error) { + serv.RLock() + defer serv.RUnlock() + if !serv.config.EnableWalletAPI { + return nil, ErrWalletAPIDisabled + } + + return serv.getWallet(wltID) +} + +// returns the clone of the wallet of given id +func (serv *Service) getWallet(wltID string) (Wallet, error) { + w := serv.wallets.get(wltID) + if w == nil { + return nil, ErrWalletNotExist + } + return w.Clone(), nil +} + +// GetWallets returns all wallet clones +func (serv *Service) GetWallets() (Wallets, error) { + serv.RLock() + defer serv.RUnlock() + if !serv.config.EnableWalletAPI { + return nil, ErrWalletAPIDisabled + } + + wlts := make(Wallets, len(serv.wallets)) + for k, w := range serv.wallets { + wlts[k] = w.Clone() + } + return wlts, nil +} + +// UpdateWalletLabel updates the wallet label +func (serv *Service) UpdateWalletLabel(wltID, label string) error { + serv.Lock() + defer serv.Unlock() + if !serv.config.EnableWalletAPI { + return ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return err + } + + w.SetLabel(label) + + if err := Save(w, serv.config.WalletDir); err != nil { + return err + } + + serv.wallets.set(w) + return nil +} + +// UnloadWallet removes wallet of given wallet id from the service +func (serv *Service) UnloadWallet(wltID string) error { + serv.Lock() + defer serv.Unlock() + if !serv.config.EnableWalletAPI { + return ErrWalletAPIDisabled + } + + wlt := serv.wallets.get(wltID) + if wlt != nil { + if fp := wlt.Fingerprint(); fp != "" { + delete(serv.fingerprints, fp) + } + } + + serv.wallets.remove(wltID) + return nil +} + +func (serv *Service) setWallets(wlts Wallets) { + serv.wallets = wlts + + for wltID, wlt := range wlts { + if fp := wlt.Fingerprint(); fp != "" { + serv.fingerprints[fp] = wltID + } + } +} + +// GetWalletSeed returns seed and seed passphrase of encrypted wallet of given wallet id +// Returns ErrWalletNotEncrypted if it's not encrypted +func (serv *Service) GetWalletSeed(wltID string, password []byte) (string, string, error) { + serv.RLock() + defer serv.RUnlock() + if !serv.config.EnableWalletAPI { + return "", "", ErrWalletAPIDisabled + } + + if !serv.config.EnableSeedAPI { + return "", "", ErrSeedAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return "", "", err + } + + if !w.IsEncrypted() { + return "", "", ErrWalletNotEncrypted + } + + var seed, seedPassphrase string + if err := GuardView(w, password, func(wlt Wallet) error { + seed = wlt.Seed() + seedPassphrase = wlt.SeedPassphrase() + return nil + }); err != nil { + return "", "", err + } + + return seed, seedPassphrase, nil +} + +// UpdateSecrets opens a wallet for modification of secret data and saves it safely +func (serv *Service) UpdateSecrets(wltID string, password []byte, f func(Wallet) error) error { + serv.Lock() + defer serv.Unlock() + if !serv.config.EnableWalletAPI { + return ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return err + } + + if w.IsEncrypted() { + if err := GuardUpdate(w, password, f); err != nil { + return err + } + } else if len(password) != 0 { + return ErrWalletNotEncrypted + } else { + if err := f(w); err != nil { + return err + } + } + + // Save the wallet first + if err := Save(w, serv.config.WalletDir); err != nil { + return err + } + + serv.wallets.set(w) + + return nil +} + +// Update opens a wallet for modification of non-secret data and saves it safely +func (serv *Service) Update(wltID string, f func(Wallet) error) error { + serv.Lock() + defer serv.Unlock() + if !serv.config.EnableWalletAPI { + return ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return err + } + + if err := f(w); err != nil { + return err + } + + // Save the wallet first + if err := Save(w, serv.config.WalletDir); err != nil { + return err + } + + serv.wallets.set(w) + + return nil +} + +// ViewSecrets opens a wallet for reading secret data +func (serv *Service) ViewSecrets(wltID string, password []byte, f func(Wallet) error) error { + serv.RLock() + defer serv.RUnlock() + if !serv.config.EnableWalletAPI { + return ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return err + } + + if w.IsEncrypted() { + return GuardView(w, password, f) + } else if len(password) != 0 { + return ErrWalletNotEncrypted + } else { + return f(w) + } +} + +// View opens a wallet for reading non-secret data +func (serv *Service) View(wltID string, f func(Wallet) error) error { + serv.RLock() + defer serv.RUnlock() + if !serv.config.EnableWalletAPI { + return ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltID) + if err != nil { + return err + } + + return f(w) +} + +// RecoverWallet recovers an encrypted wallet from seed. +// The recovered wallet will be encrypted with the new password, if provided. +func (serv *Service) RecoverWallet(wltName, seed, seedPassphrase string, password []byte) (Wallet, error) { + serv.Lock() + defer serv.Unlock() + if !serv.config.EnableWalletAPI { + return nil, ErrWalletAPIDisabled + } + + w, err := serv.getWallet(wltName) + if err != nil { + return nil, err + } + + if !w.IsEncrypted() { + return nil, ErrWalletNotEncrypted + } + + switch w.Type() { + case WalletTypeDeterministic, WalletTypeBip44: + default: + return nil, ErrWalletTypeNotRecoverable + } + + // Create a wallet from this seed and compare the fingerprint + w2, err := NewWallet(wltName, Options{ + Type: w.Type(), + Coin: w.Coin(), + Seed: seed, + SeedPassphrase: seedPassphrase, + GenerateN: 1, + }) + if err != nil { + err = NewError(fmt.Errorf("RecoverWallet failed to create temporary wallet for fingerprint comparison: %v", err)) + logger.Critical().WithError(err).Error() + return nil, err + } + if w.Fingerprint() != w2.Fingerprint() { + return nil, ErrWalletRecoverSeedWrong + } + + // Create a new wallet with the same number of addresses, encrypting if needed + w3, err := NewWallet(wltName, Options{ + Type: w.Type(), + Coin: w.Coin(), + Label: w.Label(), + Seed: seed, + SeedPassphrase: seedPassphrase, + Encrypt: len(password) != 0, + Password: password, + CryptoType: w.CryptoType(), + GenerateN: uint64(w.EntriesLen()), + }) + if err != nil { + return nil, err + } + + // Preserve the timestamp of the old wallet + w3.SetTimestamp(w.Timestamp()) + + // Save to disk + if err := Save(w3, serv.config.WalletDir); err != nil { + return nil, err + } + + serv.wallets.set(w3) + + return w3.Clone(), nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/transaction.go b/vendor/github.com/skycoin/skycoin/src/wallet/transaction.go new file mode 100644 index 00000000..a92cdccc --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/transaction.go @@ -0,0 +1,286 @@ +package wallet + +import ( + "errors" + "fmt" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/coin" + "github.com/skycoin/skycoin/src/transaction" +) + +var ( + // ErrUnknownAddress is returned if an address is not found in a wallet + ErrUnknownAddress = NewError(errors.New("address not found in wallet")) + // ErrUnknownUxOut is returned if a uxout is not owned by any address in a wallet + ErrUnknownUxOut = NewError(errors.New("uxout is not owned by any address in the wallet")) + // ErrWalletCantSign is returned is attempting to sign a transaction with a wallet + // that does not have the capability to sign transactions (e.g. an xpub or watch wallet) + ErrWalletCantSign = NewError(errors.New("wallet does not have the signing capability")) +) + +func validateSignIndexes(x []int, uxOuts []coin.UxOut) error { + if len(x) > len(uxOuts) { + return errors.New("Number of signature indexes exceeds number of inputs") + } + + for _, i := range x { + if i >= len(uxOuts) || i < 0 { + return errors.New("Signature index out of range") + } + } + + m := make(map[int]struct{}, len(x)) + for _, i := range x { + if _, ok := m[i]; ok { + return errors.New("Duplicate value in signature indexes") + } + m[i] = struct{}{} + } + + return nil +} + +func copyTransaction(txn *coin.Transaction) *coin.Transaction { + txnHash := txn.Hash() + txnInnerHash := txn.HashInner() + + txn2 := *txn + txn2.Sigs = make([]cipher.Sig, len(txn.Sigs)) + copy(txn2.Sigs, txn.Sigs) + txn2.In = make([]cipher.SHA256, len(txn.In)) + copy(txn2.In, txn.In) + txn2.Out = make([]coin.TransactionOutput, len(txn.Out)) + copy(txn2.Out, txn.Out) + + if txnInnerHash != txn2.HashInner() { + logger.Panic("copyTransaction copy broke InnerHash") + } + if txnHash != txn2.Hash() { + logger.Panic("copyTransaction copy broke Hash") + } + + return &txn2 +} + +// SignTransaction signs a transaction. Specific inputs may be signed by specifying signIndexes. +// If signIndexes is empty, all inputs will be signed. +// The transaction should already have a valid header. The transaction may be partially signed, +// but a valid existing signature cannot be overwritten. +// Clients should avoid signing the same transaction multiple times. +func SignTransaction(w Wallet, txn *coin.Transaction, signIndexes []int, uxOuts []coin.UxOut) (*coin.Transaction, error) { + switch w.Type() { + case WalletTypeXPub: + return nil, ErrWalletCantSign + } + + signedTxn := copyTransaction(txn) + txnInnerHash := signedTxn.HashInner() + + if w.IsEncrypted() { + return nil, ErrWalletEncrypted + } + + if txnInnerHash != signedTxn.InnerHash { + return nil, NewError(errors.New("Transaction inner hash does not match computed inner hash")) + } + + if len(signedTxn.Sigs) == 0 { + return nil, NewError(errors.New("Transaction signatures array is empty")) + } + if signedTxn.IsFullySigned() { + return nil, NewError(errors.New("Transaction is fully signed")) + } + + if len(signedTxn.In) == 0 { + return nil, NewError(errors.New("No transaction inputs to sign")) + } + if len(uxOuts) != len(signedTxn.In) { + return nil, errors.New("len(uxOuts) != len(txn.In)") + } + if err := validateSignIndexes(signIndexes, uxOuts); err != nil { + return nil, NewError(err) + } + + nMissingSigs := 0 + for _, s := range signedTxn.Sigs { + if s.Null() { + nMissingSigs++ + } + } + + // Build a mapping of addresses to the inputs that need to be signed + addrs := make(map[cipher.Address][]int) + if len(signIndexes) > 0 { + for _, in := range signIndexes { + if !signedTxn.Sigs[in].Null() { + return nil, NewError(fmt.Errorf("Transaction is already signed at index %d", in)) + } + addrs[uxOuts[in].Body.Address] = append(addrs[uxOuts[in].Body.Address], in) + } + } else { + for i, o := range uxOuts { + if !signedTxn.Sigs[i].Null() { + continue + } + addrs[o.Body.Address] = append(addrs[o.Body.Address], i) + } + } + + // Check that the wallet has all addresses needed for signing + toSign := make(map[int][]int) + for i, e := range w.GetEntries() { + if len(toSign) == len(addrs) { + break + } + addr := e.SkycoinAddress() + if x, ok := addrs[addr]; ok { + toSign[i] = x + } + } + + if len(toSign) != len(addrs) { + return nil, NewError(errors.New("Wallet cannot sign all requested inputs")) + } + + // Sign the selected inputs + for k, v := range toSign { + for _, x := range v { + if !signedTxn.Sigs[x].Null() { + return nil, NewError(fmt.Errorf("Transaction is already signed at index %d", x)) + } + + if err := signedTxn.SignInput(w.GetEntryAt(k).Secret, x); err != nil { + return nil, err + } + } + } + + if err := signedTxn.UpdateHeader(); err != nil { + return nil, err + } + + // Sanity check + if txnInnerHash != signedTxn.HashInner() { + err := errors.New("Transaction inner hash modified in the process of signing") + logger.Critical().WithError(err).Error() + return nil, err + } + + if len(signIndexes) == 0 || len(signIndexes) == nMissingSigs { + if !signedTxn.IsFullySigned() { + return nil, errors.New("Transaction is not fully signed, but should be") + } + } else { + if signedTxn.IsFullySigned() { + return nil, errors.New("Transaction is fully signed, but shouldn't be") + } + } + + return signedTxn, nil +} + +// CreateTransaction creates an unsigned transaction based upon transaction.Params. +// Set the password as nil if the wallet is not encrypted, otherwise the password must be provided. +// NOTE: Caller must ensure that auxs correspond to params.Wallet.Addresses and params.Wallet.UxOuts options +// Outputs to spend are chosen from the pool of outputs provided. +// The outputs are chosen by the following procedure: +// - All outputs are merged into one list and are sorted coins highest, hours lowest, with the hash as a tiebreaker +// - Outputs are chosen from the beginning of this list, until the requested amount of coins is met. +// If hours are also specified, selection continues until the requested amount of hours are met. +// - If the total amount of coins in the chosen outputs is exactly equal to the requested amount of coins, +// such that there would be no change output but hours remain as change, another output will be chosen to create change, +// if the coinhour cost of adding that output is less than the coinhours that would be lost as change +// If receiving hours are not explicitly specified, hours are allocated amongst the receiving outputs proportional to the number of coins being sent to them. +// If the change address is not specified, the address whose bytes are lexically sorted first is chosen from the owners of the outputs being spent. +// WARNING: This method is not concurrent-safe if operating on the same wallet. Use Service.View or Service.ViewSecrets to lock the wallet, or use your own lock. +func CreateTransaction(w Wallet, p transaction.Params, auxs coin.AddressUxOuts, headTime uint64) (*coin.Transaction, []transaction.UxBalance, error) { + if err := p.Validate(); err != nil { + return nil, nil, err + } + + // Check that auxs does not contain addresses that are not known to this wallet + for a := range auxs { + if !w.HasEntry(a) { + return nil, nil, fmt.Errorf("Address %s from auxs not found in wallet", a) + } + } + + // Generate a new change address for bip44 wallets + var changeEntry *Entry + if p.ChangeAddress == nil && w.Type() == WalletTypeBip44 { + e, err := w.(*Bip44Wallet).PeekChangeEntry() + if err != nil { + logger.Critical().WithError(err).Error("PeekChangeEntry failed") + return nil, nil, fmt.Errorf("PeekChangeEntry failed: %v", err) + } + changeAddr := e.Address.(cipher.Address) + p.ChangeAddress = &changeAddr + changeEntry = &e + } + + txn, uxb, err := transaction.Create(p, auxs, headTime) + + if err == nil && changeEntry != nil && w.Type() == WalletTypeBip44 { + // Commit the change address to the bip44 wallet, assuming it will be used + if e, err := w.(*Bip44Wallet).GenerateChangeEntry(); err != nil { + logger.WithError(err).Panic("GenerateChangeEntry failed after a PeekChangeEntry") + } else if e != *changeEntry { + logger.Panicf("GenerateChangeEntry produced a different change entry than PeekChangeEntry: %s != %s", e.Address, changeEntry.Address) + } + } + + return txn, uxb, err +} + +// CreateTransactionSigned creates and signs a transaction based upon transaction.Params. +// Set the password as nil if the wallet is not encrypted, otherwise the password must be provided. +// Refer to CreateTransaction for information about transaction creation. +func CreateTransactionSigned(w Wallet, p transaction.Params, auxs coin.AddressUxOuts, headTime uint64) (*coin.Transaction, []transaction.UxBalance, error) { + txn, uxb, err := CreateTransaction(w, p, auxs, headTime) + if err != nil { + return nil, nil, err + } + + logger.Infof("CreateTransactionSigned: signing %d inputs", len(uxb)) + + // Sign the transaction + entriesMap := make(map[cipher.Address]Entry) + for i, s := range uxb { + entry, ok := entriesMap[s.Address] + if !ok { + entry, ok = w.GetEntry(s.Address) + if !ok { + // This should not occur because CreateTransaction should have checked it already + err := fmt.Errorf("Chosen spend address %s not found in wallet", s.Address) + logger.Critical().WithError(err).Error() + return nil, nil, err + } + entriesMap[s.Address] = entry + } + + if err := txn.SignInput(entry.Secret, i); err != nil { + logger.Critical().WithError(err).Errorf("CreateTransaction SignInput(%d) failed", i) + return nil, nil, err + } + } + + // Sanity check the signed transaction + if err := verifyCreatedSignedInvariants(p, txn, uxb); err != nil { + return nil, nil, err + } + + return txn, uxb, nil +} + +func verifyCreatedSignedInvariants(p transaction.Params, txn *coin.Transaction, inputs []transaction.UxBalance) error { + if !txn.IsFullySigned() { + return errors.New("Transaction is not fully signed") + } + + if err := transaction.VerifyCreatedInvariants(p, txn, inputs); err != nil { + return err + } + + return nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/wallet.go b/vendor/github.com/skycoin/skycoin/src/wallet/wallet.go new file mode 100644 index 00000000..e9471959 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/wallet.go @@ -0,0 +1,725 @@ +/* +Package wallet implements wallets and the wallet database service +*/ +package wallet + +import ( + "encoding/hex" + "errors" + "fmt" + "io/ioutil" + "os" + "path/filepath" + "strconv" + "strings" + "time" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip44" + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/util/logging" +) + +// Error wraps wallet-related errors. +// It wraps errors caused by user input, but not errors caused by programmer input or internal issues. +type Error struct { + error +} + +// NewError creates an Error +func NewError(err error) error { + if err == nil { + return nil + } + return Error{err} +} + +var ( + // Version represents the current wallet version + Version = "0.4" + + logger = logging.MustGetLogger("wallet") + + // ErrInvalidEncryptedField is returned if a wallet's Meta.encrypted value is invalid. + ErrInvalidEncryptedField = NewError(errors.New(`encrypted field value is not valid, must be "true", "false" or ""`)) + // ErrWalletEncrypted is returned when trying to generate addresses or sign tx in encrypted wallet + ErrWalletEncrypted = NewError(errors.New("wallet is encrypted")) + // ErrWalletNotEncrypted is returned when trying to decrypt unencrypted wallet + ErrWalletNotEncrypted = NewError(errors.New("wallet is not encrypted")) + // ErrMissingPassword is returned when trying to create wallet with encryption, but password is not provided. + ErrMissingPassword = NewError(errors.New("missing password")) + // ErrMissingEncrypt is returned when trying to create wallet with password, but options.Encrypt is not set. + ErrMissingEncrypt = NewError(errors.New("missing encrypt")) + // ErrInvalidPassword is returned if decrypts secrets failed + ErrInvalidPassword = NewError(errors.New("invalid password")) + // ErrMissingSeed is returned when trying to create wallet without a seed + ErrMissingSeed = NewError(errors.New("missing seed")) + // ErrMissingAuthenticated is returned if try to decrypt a scrypt chacha20poly1305 encrypted wallet, and find no authenticated metadata. + ErrMissingAuthenticated = NewError(errors.New("missing authenticated metadata")) + // ErrWrongCryptoType is returned when decrypting wallet with wrong crypto method + ErrWrongCryptoType = NewError(errors.New("wrong crypto type")) + // ErrWalletNotExist is returned if a wallet does not exist + ErrWalletNotExist = NewError(errors.New("wallet doesn't exist")) + // ErrSeedUsed is returned if a wallet already exists with the same seed + ErrSeedUsed = NewError(errors.New("a wallet already exists with this seed")) + // ErrXPubKeyUsed is returned if a wallet already exists with the same xpub key + ErrXPubKeyUsed = NewError(errors.New("a wallet already exists with this xpub key")) + // ErrWalletAPIDisabled is returned when trying to do wallet actions while the EnableWalletAPI option is false + ErrWalletAPIDisabled = NewError(errors.New("wallet api is disabled")) + // ErrSeedAPIDisabled is returned when trying to get seed of wallet while the EnableWalletAPI or EnableSeedAPI is false + ErrSeedAPIDisabled = NewError(errors.New("wallet seed api is disabled")) + // ErrWalletNameConflict represents the wallet name conflict error + ErrWalletNameConflict = NewError(errors.New("wallet name would conflict with existing wallet, renaming")) + // ErrWalletRecoverSeedWrong is returned if the seed or seed passphrase does not match the specified wallet when recovering + ErrWalletRecoverSeedWrong = NewError(errors.New("wallet recovery seed or seed passphrase is wrong")) + // ErrNilTransactionsFinder is returned if Options.ScanN > 0 but a nil TransactionsFinder was provided + ErrNilTransactionsFinder = NewError(errors.New("scan ahead requested but balance getter is nil")) + // ErrInvalidCoinType is returned for invalid coin types + ErrInvalidCoinType = NewError(errors.New("invalid coin type")) + // ErrInvalidWalletType is returned for invalid wallet types + ErrInvalidWalletType = NewError(errors.New("invalid wallet type")) + // ErrWalletTypeNotRecoverable is returned by RecoverWallet is the wallet type does not support recovery + ErrWalletTypeNotRecoverable = NewError(errors.New("wallet type is not recoverable")) +) + +const ( + // WalletExt wallet file extension + WalletExt = "wlt" + + // WalletTimestampFormat wallet timestamp layout + WalletTimestampFormat = "2006_01_02" + + // CoinTypeSkycoin skycoin type + CoinTypeSkycoin CoinType = "skycoin" + // CoinTypeBitcoin bitcoin type + CoinTypeBitcoin CoinType = "bitcoin" + + // WalletTypeDeterministic deterministic wallet type. + // Uses the original Skycoin deterministic key generator. + WalletTypeDeterministic = "deterministic" + // WalletTypeCollection collection wallet type. + // Does not use any key generator; keys must be added explicitly + WalletTypeCollection = "collection" + // WalletTypeBip44 bip44 HD wallet type. + // Follow the bip44 spec. + WalletTypeBip44 = "bip44" + // WalletTypeXPub xpub HD wallet type. + // Allows generating addresses without a secret key + WalletTypeXPub = "xpub" +) + +// ResolveCoinType normalizes a coin type string to a CoinType constant +func ResolveCoinType(s string) (CoinType, error) { + switch strings.ToLower(s) { + case "sky", "skycoin": + return CoinTypeSkycoin, nil + case "btc", "bitcoin": + return CoinTypeBitcoin, nil + default: + return CoinType(""), ErrInvalidCoinType + } +} + +// IsValidWalletType returns true if a wallet type is recognized +func IsValidWalletType(t string) bool { + switch t { + case WalletTypeDeterministic, + WalletTypeCollection, + WalletTypeBip44, + WalletTypeXPub: + return true + default: + return false + } +} + +// CoinType represents the wallet coin type, which refers to the pubkey2addr method used +type CoinType string + +// NewWalletFilename generates a filename from the current time and random bytes +func NewWalletFilename() string { + timestamp := time.Now().Format(WalletTimestampFormat) + // should read in wallet files and make sure does not exist + padding := hex.EncodeToString((cipher.RandByte(2))) + return fmt.Sprintf("%s_%s.%s", timestamp, padding, WalletExt) +} + +// Options options that could be used when creating a wallet +type Options struct { + Type string // wallet type: deterministic, collection. Refers to which key generation mechanism is used. + Coin CoinType // coin type: skycoin, bitcoin, etc. Refers to which pubkey2addr method is used. + Bip44Coin *bip44.CoinType // bip44 path coin type + Label string // wallet label + Seed string // wallet seed + SeedPassphrase string // wallet seed passphrase (bip44 wallets only) + Encrypt bool // whether the wallet need to be encrypted. + Password []byte // password that would be used for encryption, and would only be used when 'Encrypt' is true. + CryptoType CryptoType // wallet encryption type, scrypt-chacha20poly1305 or sha256-xor. + ScanN uint64 // number of addresses that're going to be scanned for a balance. The highest address with a balance will be used. + GenerateN uint64 // number of addresses to generate, regardless of balance + XPub string // xpub key (xpub wallets only) +} + +// newWallet creates a wallet instance with given name and options. +func newWallet(wltName string, opts Options, tf TransactionsFinder) (Wallet, error) { + wltType := opts.Type + if wltType == "" { + return nil, NewError(errors.New("wallet type is required")) + } + if !IsValidWalletType(wltType) { + return nil, ErrInvalidWalletType + } + + lastSeed := "" + if wltType == WalletTypeDeterministic { + lastSeed = opts.Seed + } + + var bip44Coin bip44.CoinType + if wltType == WalletTypeBip44 { + if opts.Bip44Coin == nil { + switch opts.Coin { + case CoinTypeBitcoin: + bip44Coin = bip44.CoinTypeBitcoin + case CoinTypeSkycoin: + bip44Coin = bip44.CoinTypeSkycoin + default: + bip44Coin = bip44.CoinTypeSkycoin + } + } else { + bip44Coin = *opts.Bip44Coin + } + } + + if opts.SeedPassphrase != "" && wltType != WalletTypeBip44 { + return nil, NewError(fmt.Errorf("seedPassphrase is only used for %q wallets", WalletTypeBip44)) + } + + if opts.XPub != "" && wltType != WalletTypeXPub { + return nil, NewError(fmt.Errorf("xpub is only used for %q wallets", WalletTypeXPub)) + } + + switch wltType { + case WalletTypeDeterministic, WalletTypeBip44: + if opts.Seed == "" { + return nil, ErrMissingSeed + } + + if opts.ScanN > 0 && tf == nil { + return nil, ErrNilTransactionsFinder + } + + case WalletTypeXPub: + if opts.Seed != "" { + return nil, NewError(fmt.Errorf("seed should not be provided for %q wallets", wltType)) + } + + if opts.ScanN > 0 && tf == nil { + return nil, ErrNilTransactionsFinder + } + + case WalletTypeCollection: + if opts.Seed != "" { + return nil, NewError(fmt.Errorf("seed should not be provided for %q wallets", wltType)) + } + + default: + return nil, ErrInvalidWalletType + } + + coin := opts.Coin + if coin == "" { + coin = CoinTypeSkycoin + } + coin, err := ResolveCoinType(string(coin)) + if err != nil { + return nil, err + } + + meta := Meta{ + metaFilename: wltName, + metaVersion: Version, + metaLabel: opts.Label, + metaSeed: opts.Seed, + metaLastSeed: lastSeed, + metaSeedPassphrase: opts.SeedPassphrase, + metaTimestamp: strconv.FormatInt(time.Now().Unix(), 10), + metaType: wltType, + metaCoin: string(coin), + metaEncrypted: "false", + metaCryptoType: "", + metaSecrets: "", + metaXPub: opts.XPub, + } + + // Create the wallet + var w Wallet + switch wltType { + case WalletTypeDeterministic: + w, err = newDeterministicWallet(meta) + case WalletTypeCollection: + w, err = newCollectionWallet(meta) + case WalletTypeBip44: + meta.setBip44Coin(bip44Coin) + w, err = newBip44Wallet(meta) + case WalletTypeXPub: + meta.setXPub(opts.XPub) + w, err = newXPubWallet(meta) + default: + logger.Panic("unhandled wltType") + } + + if err != nil { + logger.WithError(err).WithField("walletType", wltType).Error("newWallet failed") + return nil, err + } + + // Generate wallet addresses + switch wltType { + case WalletTypeDeterministic, WalletTypeBip44, WalletTypeXPub: + generateN := opts.GenerateN + if generateN == 0 { + generateN = 1 + } + + logger.WithFields(logrus.Fields{ + "generateN": generateN, + "walletType": wltType, + }).Infof("Generating addresses for wallet") + + if _, err := w.GenerateAddresses(generateN); err != nil { + return nil, err + } + + if opts.ScanN != 0 && coin != CoinTypeSkycoin { + return nil, errors.New("Wallet scanning is only supported for Skycoin address wallets") + } + + if opts.ScanN > generateN { + // Scan for addresses with balances + logger.WithFields(logrus.Fields{ + "scanN": opts.ScanN, + "walletType": wltType, + }).Info("Scanning addresses for wallet") + if err := w.ScanAddresses(opts.ScanN, tf); err != nil { + return nil, err + } + } + + case WalletTypeCollection: + if opts.GenerateN != 0 || opts.ScanN != 0 { + return nil, NewError(fmt.Errorf("wallet scanning is not defined for %q wallets", wltType)) + } + + default: + logger.Panic("unhandled wltType") + } + + // Validate the wallet, before encrypting + if err := w.Validate(); err != nil { + return nil, err + } + + // Check if the wallet should be encrypted + if !opts.Encrypt { + if len(opts.Password) != 0 { + return nil, ErrMissingEncrypt + } + return w, nil + } + + // Check if the password is provided + if len(opts.Password) == 0 { + return nil, ErrMissingPassword + } + + // Check crypto type + if opts.CryptoType == "" { + opts.CryptoType = DefaultCryptoType + } + + if _, err := getCrypto(opts.CryptoType); err != nil { + return nil, err + } + + // Encrypt the wallet + if err := Lock(w, opts.Password, opts.CryptoType); err != nil { + return nil, err + } + + // Validate the wallet again, after encrypting + if err := w.Validate(); err != nil { + return nil, err + } + + return w, nil +} + +// NewWallet creates wallet without scanning addresses +func NewWallet(wltName string, opts Options) (Wallet, error) { + return newWallet(wltName, opts, nil) +} + +// NewWalletScanAhead creates wallet and scan ahead N addresses +func NewWalletScanAhead(wltName string, opts Options, tf TransactionsFinder) (Wallet, error) { + return newWallet(wltName, opts, tf) +} + +// Lock encrypts the wallet with the given password and specific crypto type +func Lock(w Wallet, password []byte, cryptoType CryptoType) error { + if len(password) == 0 { + return ErrMissingPassword + } + + if w.IsEncrypted() { + return ErrWalletEncrypted + } + + wlt := w.Clone() + + // Records seeds in secrets + ss := make(Secrets) + defer func() { + // Wipes all unencrypted sensitive data + ss.erase() + wlt.Erase() + }() + + wlt.PackSecrets(ss) + + sb, err := ss.serialize() + if err != nil { + return err + } + + crypto, err := getCrypto(cryptoType) + if err != nil { + return err + } + + // Encrypts the secrets + encSecret, err := crypto.Encrypt(sb, password) + if err != nil { + return err + } + + // Sets wallet as encrypted + wlt.SetEncrypted(cryptoType, string(encSecret)) + + // Update the wallet to the latest version, which indicates encryption support + wlt.SetVersion(Version) + + // Wipes unencrypted sensitive data + wlt.Erase() + + // Wipes the secret fields in w + w.Erase() + + // Replace the original wallet with new encrypted wallet + w.CopyFrom(wlt) + return nil +} + +// Unlock decrypts the wallet into a temporary decrypted copy of the wallet +// Returns error if the decryption fails +// The temporary decrypted wallet should be erased from memory when done. +func Unlock(w Wallet, password []byte) (Wallet, error) { + if !w.IsEncrypted() { + return nil, ErrWalletNotEncrypted + } + + if len(password) == 0 { + return nil, ErrMissingPassword + } + + wlt := w.Clone() + + // Gets the secrets string + sstr := w.Secrets() + if sstr == "" { + return nil, errors.New("secrets missing from wallet") + } + + ct := w.CryptoType() + if ct == "" { + return nil, errors.New("missing crypto type") + } + + // Gets the crypto module + crypto, err := getCrypto(ct) + if err != nil { + return nil, err + } + + // Decrypts the secrets + sb, err := crypto.Decrypt([]byte(sstr), password) + if err != nil { + return nil, ErrInvalidPassword + } + + defer func() { + // Wipe the data from the secrets bytes buffer + for i := range sb { + sb[i] = 0 + } + }() + + // Deserialize into secrets + ss := make(Secrets) + defer ss.erase() + if err := ss.deserialize(sb); err != nil { + return nil, err + } + + if err := wlt.UnpackSecrets(ss); err != nil { + return nil, err + } + + wlt.SetDecrypted() + + return wlt, nil +} + +// Wallet defines the wallet API +type Wallet interface { + Find(string) string + Seed() string + LastSeed() string + SeedPassphrase() string + Timestamp() int64 + SetTimestamp(int64) + Coin() CoinType + Bip44Coin() bip44.CoinType + Type() string + Label() string + SetLabel(string) + Filename() string + IsEncrypted() bool + SetEncrypted(cryptoType CryptoType, encryptedSecrets string) + SetDecrypted() + CryptoType() CryptoType + Version() string + SetVersion(string) + AddressConstructor() func(cipher.PubKey) cipher.Addresser + Secrets() string + XPub() string + + UnpackSecrets(ss Secrets) error + PackSecrets(ss Secrets) + + Erase() + Clone() Wallet + CopyFrom(src Wallet) + CopyFromRef(src Wallet) + + ToReadable() Readable + + Validate() error + + Fingerprint() string + GetAddresses() []cipher.Addresser + GetSkycoinAddresses() ([]cipher.Address, error) + GetEntryAt(i int) Entry + GetEntry(cipher.Address) (Entry, bool) + HasEntry(cipher.Address) bool + EntriesLen() int + GetEntries() Entries + + GenerateAddresses(num uint64) ([]cipher.Addresser, error) + GenerateSkycoinAddresses(num uint64) ([]cipher.Address, error) + ScanAddresses(scanN uint64, tf TransactionsFinder) error +} + +// GuardUpdate executes a function within the context of a read-write managed decrypted wallet. +// Returns ErrWalletNotEncrypted if wallet is not encrypted. +func GuardUpdate(w Wallet, password []byte, fn func(w Wallet) error) error { + if !w.IsEncrypted() { + return ErrWalletNotEncrypted + } + + if len(password) == 0 { + return ErrMissingPassword + } + + cryptoType := w.CryptoType() + wlt, err := Unlock(w, password) + if err != nil { + return err + } + + defer wlt.Erase() + + if err := fn(wlt); err != nil { + return err + } + + if err := Lock(wlt, password, cryptoType); err != nil { + return err + } + + w.CopyFromRef(wlt) + + // Wipes all sensitive data + w.Erase() + return nil +} + +// GuardView executes a function within the context of a read-only managed decrypted wallet. +// Returns ErrWalletNotEncrypted if wallet is not encrypted. +func GuardView(w Wallet, password []byte, f func(w Wallet) error) error { + if !w.IsEncrypted() { + return ErrWalletNotEncrypted + } + + if len(password) == 0 { + return ErrMissingPassword + } + + wlt, err := Unlock(w, password) + if err != nil { + return err + } + + defer wlt.Erase() + + return f(wlt) +} + +type walletLoadMeta struct { + Meta struct { + Type string `json:"type"` + } `json:"meta"` +} + +type walletLoader interface { + SetFilename(string) + SetCoin(CoinType) + Coin() CoinType + ToWallet() (Wallet, error) +} + +// Load loads wallet from a given file +func Load(filename string) (Wallet, error) { + if _, err := os.Stat(filename); os.IsNotExist(err) { + return nil, fmt.Errorf("wallet %q doesn't exist", filename) + } + + // Load the wallet meta type field from JSON + var m walletLoadMeta + if err := file.LoadJSON(filename, &m); err != nil { + logger.WithError(err).WithField("filename", filename).Error("Load: file.LoadJSON failed") + return nil, err + } + + if !IsValidWalletType(m.Meta.Type) { + logger.WithError(ErrInvalidWalletType).WithFields(logrus.Fields{ + "filename": filename, + "walletType": m.Meta.Type, + }).Error("wallet meta loaded from disk has invalid wallet type") + return nil, fmt.Errorf("invalid wallet %q: %v", filename, ErrInvalidWalletType) + } + + // Depending on the wallet type in the wallet metadata header, load the full wallet data + var rw walletLoader + var err error + switch m.Meta.Type { + case WalletTypeDeterministic: + logger.WithField("filename", filename).Info("LoadReadableDeterministicWallet") + rw, err = LoadReadableDeterministicWallet(filename) + case WalletTypeCollection: + logger.WithField("filename", filename).Info("LoadReadableCollectionWallet") + rw, err = LoadReadableCollectionWallet(filename) + case WalletTypeBip44: + logger.WithField("filename", filename).Info("LoadReadableBip44Wallet") + rw, err = LoadReadableBip44Wallet(filename) + case WalletTypeXPub: + logger.WithField("filename", filename).Info("LoadReadableXPubWallet") + rw, err = LoadReadableXPubWallet(filename) + default: + err := errors.New("unhandled wallet type") + logger.WithField("walletType", m.Meta.Type).WithError(err).Error("Load failed") + return nil, err + } + + if err != nil { + logger.WithError(err).WithFields(logrus.Fields{ + "filename": filename, + "walletType": m.Meta.Type, + }).Error("Load readable wallet failed") + return nil, err + } + + // Make sure "sky", "btc" normalize to "skycoin", "bitcoin" + ct, err := ResolveCoinType(string(rw.Coin())) + if err != nil { + logger.WithError(err).WithField("coinType", rw.Coin()).Error("Load: invalid coin type") + return nil, fmt.Errorf("invalid wallet %q: %v", filename, err) + } + rw.SetCoin(ct) + + rw.SetFilename(filepath.Base(filename)) + + return rw.ToWallet() +} + +// Save saves the wallet to a directory. The wallet's filename is read from its metadata. +func Save(w Wallet, dir string) error { + rw := w.ToReadable() + return file.SaveJSON(filepath.Join(dir, rw.Filename()), rw, 0600) +} + +// removeBackupFiles removes any *.wlt.bak files whom have version 0.1 and *.wlt matched in the given directory +func removeBackupFiles(dir string) error { + fs, err := filterDir(dir, ".wlt") + if err != nil { + return err + } + + // Creates the .wlt file map + fm := make(map[string]struct{}) + for _, f := range fs { + fm[f] = struct{}{} + } + + // Filters all .wlt.bak files in the directory + bakFs, err := filterDir(dir, ".wlt.bak") + if err != nil { + return err + } + + // Removes the .wlt.bak file that has .wlt matched. + for _, bf := range bakFs { + f := strings.TrimRight(bf, ".bak") + if _, ok := fm[f]; ok { + // Load and check the wallet version + w, err := Load(f) + if err != nil { + return err + } + + if w.Version() == "0.1" { + if err := os.Remove(bf); err != nil { + return err + } + } + } + } + + return nil +} + +func filterDir(dir string, suffix string) ([]string, error) { + files, err := ioutil.ReadDir(dir) + if err != nil { + return nil, err + } + res := []string{} + for _, f := range files { + if !f.IsDir() && strings.HasSuffix(f.Name(), suffix) { + res = append(res, filepath.Join(dir, f.Name())) + } + } + return res, nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/wallets.go b/vendor/github.com/skycoin/skycoin/src/wallet/wallets.go new file mode 100644 index 00000000..83f32cfb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/wallets.go @@ -0,0 +1,126 @@ +package wallet + +import ( + "fmt" + "io/ioutil" + "path/filepath" + "strings" +) + +// Wallets wallets map +type Wallets map[string]Wallet + +// loadWallets Loads all wallets contained in wallet dir. If any regular file in wallet +// dir fails to load, loading is aborted and error returned. Only files with +// extension WalletExt are considered. +func loadWallets(dir string) (Wallets, error) { + entries, err := ioutil.ReadDir(dir) + if err != nil { + logger.WithError(err).WithField("dir", dir).Error("loadWallets: ioutil.ReadDir failed") + return nil, err + } + + wallets := Wallets{} + for _, e := range entries { + if e.Mode().IsRegular() { + name := e.Name() + if !strings.HasSuffix(name, WalletExt) { + logger.WithField("filename", name).Info("loadWallets: skipping file") + continue + } + + fullpath := filepath.Join(dir, name) + w, err := Load(fullpath) + if err != nil { + logger.WithError(err).WithField("filename", fullpath).Error("loadWallets: loadWallet failed") + return nil, err + } + + logger.WithField("filename", fullpath).Info("loadWallets: loaded wallet") + + wallets[name] = w + } + } + + for name, w := range wallets { + if err := w.Validate(); err != nil { + logger.WithError(err).WithField("name", name).Error("loadWallets: wallet.Validate failed") + return nil, err + } + + if w.Coin() != CoinTypeSkycoin { + err := fmt.Errorf("LoadWallets only support skycoin wallets, %s is a %s wallet", name, w.Coin()) + logger.WithError(err).WithField("name", name).Error() + return nil, err + } + } + + return wallets, nil +} + +// add add walet to current wallet +func (wlts Wallets) add(w Wallet) error { + if _, dup := wlts[w.Filename()]; dup { + return ErrWalletNameConflict + } + + wlts[w.Filename()] = w + return nil +} + +// remove wallet of specific id +func (wlts Wallets) remove(id string) { + delete(wlts, id) +} + +// get returns wallet by wallet id +func (wlts Wallets) get(id string) Wallet { + return wlts[id] +} + +// set sets a wallet into the map +func (wlts Wallets) set(w Wallet) { + wlts[w.Filename()] = w.Clone() +} + +// containsDuplicate returns true if there is a duplicate wallet identified by +// the wallet's fingerprint. This is to detect duplicate generative wallets; +// wallets with no defined generation method do not have a concept of being +// a duplicate of another wallet +func (wlts Wallets) containsDuplicate() (string, string, bool) { + m := make(map[string]struct{}, len(wlts)) + for wltID, wlt := range wlts { + fp := wlt.Fingerprint() + if fp == "" { + continue + } + + if _, ok := m[fp]; ok { + return wltID, fp, true + } + + m[fp] = struct{}{} + } + + return "", "", false +} + +// containsEmpty returns true there is an empty wallet and the ID of that wallet if true. +// Does not apply to collection wallets +func (wlts Wallets) containsEmpty() (string, bool) { + for wltID, wlt := range wlts { + switch wlt.Type() { + case WalletTypeCollection: + continue + case WalletTypeDeterministic: + if wlt.EntriesLen() == 0 { + return wltID, true + } + case WalletTypeBip44: + if len(wlt.(*Bip44Wallet).ExternalEntries) == 0 { + return wltID, true + } + } + } + return "", false +} diff --git a/vendor/github.com/skycoin/skycoin/src/wallet/xpub_wallet.go b/vendor/github.com/skycoin/skycoin/src/wallet/xpub_wallet.go new file mode 100644 index 00000000..32bd923c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/wallet/xpub_wallet.go @@ -0,0 +1,348 @@ +package wallet + +import ( + "errors" + "fmt" + "math" + "sort" + + "github.com/sirupsen/logrus" + + "github.com/skycoin/skycoin/src/cipher" + "github.com/skycoin/skycoin/src/cipher/bip32" + "github.com/skycoin/skycoin/src/util/file" + "github.com/skycoin/skycoin/src/util/mathutil" +) + +// XPubWallet holds a single xpub (extended public key) and derives child public keys from it. +// Refer to the bip32 spec to understand xpub keys. +// XPub wallets can generate new addresses and receive coins, but can't spend coins +// because the private keys are not available. +type XPubWallet struct { + Meta + Entries Entries + xpub *bip32.PublicKey +} + +// newXPubWallet creates a XPubWallet +func newXPubWallet(meta Meta) (*XPubWallet, error) { + xpub, err := parseXPub(meta.XPub()) + if err != nil { + return nil, err + } + + return &XPubWallet{ + Meta: meta, + xpub: xpub, + }, nil +} + +func parseXPub(xp string) (*bip32.PublicKey, error) { + xpub, err := bip32.DeserializeEncodedPublicKey(xp) + if err != nil { + logger.WithError(err).Error("bip32.DeserializeEncodedPublicKey failed") + return nil, NewError(fmt.Errorf("invalid xpub key: %v", err)) + } + + return xpub, nil +} + +// PackSecrets does nothing because XPubWallet has no secrets +func (w *XPubWallet) PackSecrets(ss Secrets) { +} + +// UnpackSecrets does nothing because XPubWallet has no secrets +func (w *XPubWallet) UnpackSecrets(ss Secrets) error { + return nil +} + +// Clone clones the wallet a new wallet object +func (w *XPubWallet) Clone() Wallet { + xpub, err := parseXPub(w.Meta.XPub()) + if err != nil { + logger.WithError(err).Panic("Clone parseXPub failed") + } + + return &XPubWallet{ + Meta: w.Meta.clone(), + Entries: w.Entries.clone(), + xpub: xpub, + } +} + +// CopyFrom copies the src wallet to w +func (w *XPubWallet) CopyFrom(src Wallet) { + xpub, err := parseXPub(src.XPub()) + if err != nil { + logger.WithError(err).Panic("CopyFrom parseXPub failed") + } + w.xpub = xpub + w.Meta = src.(*XPubWallet).Meta.clone() + w.Entries = src.(*XPubWallet).Entries.clone() +} + +// CopyFromRef copies the src wallet with a pointer dereference +func (w *XPubWallet) CopyFromRef(src Wallet) { + xpub, err := parseXPub(src.XPub()) + if err != nil { + logger.WithError(err).Panic("CopyFromRef parseXPub failed") + } + + *w = *(src.(*XPubWallet)) + w.xpub = xpub +} + +// Erase wipes secret fields in wallet +func (w *XPubWallet) Erase() { + w.Meta.eraseSeeds() + w.Entries.erase() +} + +// ToReadable converts the wallet to its readable (serializable) format +func (w *XPubWallet) ToReadable() Readable { + return NewReadableXPubWallet(w) +} + +// Validate validates the wallet +func (w *XPubWallet) Validate() error { + return w.Meta.validate() +} + +// GetAddresses returns all addresses in wallet +func (w *XPubWallet) GetAddresses() []cipher.Addresser { + return w.Entries.getAddresses() +} + +// GetSkycoinAddresses returns all Skycoin addresses in wallet. The wallet's coin type must be Skycoin. +func (w *XPubWallet) GetSkycoinAddresses() ([]cipher.Address, error) { + if w.Meta.Coin() != CoinTypeSkycoin { + return nil, errors.New("XPubWallet coin type is not skycoin") + } + + return w.Entries.getSkycoinAddresses(), nil +} + +// GetEntries returns a copy of all entries held by the wallet +func (w *XPubWallet) GetEntries() Entries { + return w.Entries.clone() +} + +// EntriesLen returns the number of entries in the wallet +func (w *XPubWallet) EntriesLen() int { + return len(w.Entries) +} + +// GetEntryAt returns entry at a given index in the entries array +func (w *XPubWallet) GetEntryAt(i int) Entry { + return w.Entries[i] +} + +// GetEntry returns entry of given address +func (w *XPubWallet) GetEntry(a cipher.Address) (Entry, bool) { + return w.Entries.get(a) +} + +// HasEntry returns true if the wallet has an Entry with a given cipher.Address. +func (w *XPubWallet) HasEntry(a cipher.Address) bool { + return w.Entries.has(a) +} + +// generateEntries generates up to `num` addresses +func (w *XPubWallet) generateEntries(num uint64, initialChildIdx uint32) (Entries, error) { + if w.Meta.IsEncrypted() { + return nil, ErrWalletEncrypted + } + + if num > math.MaxUint32 { + return nil, NewError(errors.New("XPubWallet.generateEntries num too large")) + } + + // Cap `num` in case it would exceed the maximum child index number + if math.MaxUint32-initialChildIdx < uint32(num) { + num = uint64(math.MaxUint32 - initialChildIdx) + } + + if num == 0 { + return nil, nil + } + + // Generate `num` secret keys from the external chain HDNode, skipping any children that + // are invalid (note that this has probability ~2^-128) + var pubkeys []*bip32.PublicKey + var addressIndices []uint32 + j := initialChildIdx + for i := uint32(0); i < uint32(num); i++ { + k, err := w.xpub.NewPublicChildKey(j) + + var addErr error + j, addErr = mathutil.AddUint32(j, 1) + if addErr != nil { + logger.Critical().WithError(addErr).WithFields(logrus.Fields{ + "num": num, + "initialChildIdx": initialChildIdx, + "childIdx": j, + "i": i, + }).Error("childIdx can't be incremented any further") + return nil, errors.New("childIdx can't be incremented any further") + } + + if err != nil { + if bip32.IsImpossibleChildError(err) { + logger.Critical().WithError(err).WithField("childIdx", j).Error("ImpossibleChild for xpub child element") + continue + } else { + logger.Critical().WithError(err).WithField("childIdx", j).Error("NewPublicChildKey failed unexpectedly") + return nil, err + } + } + + pubkeys = append(pubkeys, k) + addressIndices = append(addressIndices, j-1) + } + + entries := make(Entries, len(pubkeys)) + makeAddress := w.Meta.AddressConstructor() + for i, xp := range pubkeys { + pk := cipher.MustNewPubKey(xp.Key) + entries[i] = Entry{ + Address: makeAddress(pk), + Public: pk, + ChildNumber: addressIndices[i], + } + } + + return entries, nil +} + +// GenerateAddresses generates addresses for the external chain, and appends them to the wallet's entries array +func (w *XPubWallet) GenerateAddresses(num uint64) ([]cipher.Addresser, error) { + entries, err := w.generateEntries(num, nextChildIdx(w.Entries)) + if err != nil { + return nil, err + } + + w.Entries = append(w.Entries, entries...) + + return entries.getAddresses(), nil +} + +// GenerateSkycoinAddresses generates Skycoin addresses for the external chain, and appends them to the wallet's entries array. +// If the wallet's coin type is not Skycoin, returns an error +func (w *XPubWallet) GenerateSkycoinAddresses(num uint64) ([]cipher.Address, error) { + if w.Meta.Coin() != CoinTypeSkycoin { + return nil, errors.New("GenerateSkycoinAddresses called for non-skycoin wallet") + } + + entries, err := w.generateEntries(num, nextChildIdx(w.Entries)) + if err != nil { + return nil, err + } + + w.Entries = append(w.Entries, entries...) + + return entries.getSkycoinAddresses(), nil +} + +// ScanAddresses scans ahead N addresses, +// truncating up to the highest address with any transaction history. +func (w *XPubWallet) ScanAddresses(scanN uint64, tf TransactionsFinder) error { + if w.Meta.IsEncrypted() { + return ErrWalletEncrypted + } + + if scanN == 0 { + return nil + } + + w2 := w.Clone().(*XPubWallet) + + entries, err := scanAddressesBip32(func(num uint64, childIdx uint32) (Entries, error) { + return w2.generateEntries(num, childIdx) + }, scanN, tf, nextChildIdx(w2.Entries)) + if err != nil { + return err + } + + w2.Entries = append(w2.Entries, entries...) + + *w = *w2 + + return nil +} + +// Fingerprint returns a unique ID fingerprint for this wallet, using the first +// child address of the xpub key +func (w *XPubWallet) Fingerprint() string { + // Note: the xpub key is not used as the fingerprint, because it is + // partially sensitive data + addr := "" + if len(w.Entries) == 0 { + if !w.IsEncrypted() { + entries, err := w.generateEntries(1, 0) + if err != nil { + logger.WithError(err).Panic("Fingerprint failed to generate initial entry for empty wallet") + } + addr = entries[0].Address.String() + } + } else { + addr = w.Entries[0].Address.String() + } + + return fmt.Sprintf("%s-%s", w.Type(), addr) +} + +// ReadableXPubWallet used for [de]serialization of an xpub wallet +type ReadableXPubWallet struct { + Meta `json:"meta"` + ReadableEntries `json:"entries"` +} + +// LoadReadableXPubWallet loads an xpub wallet from disk +func LoadReadableXPubWallet(wltFile string) (*ReadableXPubWallet, error) { + var rw ReadableXPubWallet + if err := file.LoadJSON(wltFile, &rw); err != nil { + return nil, err + } + if rw.Type() != WalletTypeXPub { + return nil, ErrInvalidWalletType + } + return &rw, nil +} + +// NewReadableXPubWallet creates readable wallet +func NewReadableXPubWallet(w *XPubWallet) *ReadableXPubWallet { + return &ReadableXPubWallet{ + Meta: w.Meta.clone(), + ReadableEntries: newReadableEntries(w.Entries, w.Meta.Coin(), w.Meta.Type()), + } +} + +// ToWallet convert readable wallet to Wallet +func (rw *ReadableXPubWallet) ToWallet() (Wallet, error) { + w := &XPubWallet{ + Meta: rw.Meta.clone(), + } + + if err := w.Validate(); err != nil { + err := fmt.Errorf("invalid wallet %q: %v", w.Filename(), err) + logger.WithError(err).Error("ReadableXPubWallet.ToWallet Validate failed") + return nil, err + } + + ets, err := rw.ReadableEntries.toWalletEntries(w.Meta.Coin(), w.Meta.Type(), w.Meta.IsEncrypted()) + if err != nil { + logger.WithError(err).Error("ReadableXPubWallet.ToWallet toWalletEntries failed") + return nil, err + } + + w.Entries = ets + + // Sort childNumber low to high + sort.Slice(w.Entries, func(i, j int) bool { + return w.Entries[i].ChildNumber < w.Entries[j].ChildNumber + }) + + w.Entries = ets + + return w, nil +} diff --git a/vendor/github.com/spf13/cobra/.gitignore b/vendor/github.com/spf13/cobra/.gitignore new file mode 100644 index 00000000..3b053c59 --- /dev/null +++ b/vendor/github.com/spf13/cobra/.gitignore @@ -0,0 +1,38 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +# Vim files https://github.com/github/gitignore/blob/master/Global/Vim.gitignore +# swap +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +# session +Session.vim +# temporary +.netrwhist +*~ +# auto-generated tag files +tags + +*.exe + +cobra.test + +.idea/* diff --git a/vendor/github.com/spf13/cobra/.mailmap b/vendor/github.com/spf13/cobra/.mailmap new file mode 100644 index 00000000..94ec5306 --- /dev/null +++ b/vendor/github.com/spf13/cobra/.mailmap @@ -0,0 +1,3 @@ +Steve Francia +Bjørn Erik Pedersen +Fabiano Franz diff --git a/vendor/github.com/spf13/cobra/.travis.yml b/vendor/github.com/spf13/cobra/.travis.yml new file mode 100644 index 00000000..38b85f49 --- /dev/null +++ b/vendor/github.com/spf13/cobra/.travis.yml @@ -0,0 +1,31 @@ +language: go + +stages: + - diff + - test + +go: + - 1.10.x + - 1.11.x + - 1.12.x + - tip + +matrix: + allow_failures: + - go: tip + include: + - stage: diff + go: 1.12.x + script: diff -u <(echo -n) <(gofmt -d -s .) + +before_install: + - mkdir -p bin + - curl -Lso bin/shellcheck https://github.com/caarlos0/shellcheck-docker/releases/download/v0.6.0/shellcheck + - chmod +x bin/shellcheck + - go get -u github.com/kyoh86/richgo +script: + - PATH=$PATH:$PWD/bin richgo test -v ./... + - go build + - if [ -z $NOVET ]; then + diff -u <(echo -n) <(go vet . 2>&1 | grep -vE 'ExampleCommand|bash_completions.*Fprint'); + fi diff --git a/vendor/github.com/spf13/cobra/LICENSE.txt b/vendor/github.com/spf13/cobra/LICENSE.txt new file mode 100644 index 00000000..298f0e26 --- /dev/null +++ b/vendor/github.com/spf13/cobra/LICENSE.txt @@ -0,0 +1,174 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. diff --git a/vendor/github.com/spf13/cobra/README.md b/vendor/github.com/spf13/cobra/README.md new file mode 100644 index 00000000..60c5a425 --- /dev/null +++ b/vendor/github.com/spf13/cobra/README.md @@ -0,0 +1,741 @@ +![cobra logo](https://cloud.githubusercontent.com/assets/173412/10886352/ad566232-814f-11e5-9cd0-aa101788c117.png) + +Cobra is both a library for creating powerful modern CLI applications as well as a program to generate applications and command files. + +Many of the most widely used Go projects are built using Cobra, such as: +[Kubernetes](http://kubernetes.io/), +[Hugo](http://gohugo.io), +[rkt](https://github.com/coreos/rkt), +[etcd](https://github.com/coreos/etcd), +[Moby (former Docker)](https://github.com/moby/moby), +[Docker (distribution)](https://github.com/docker/distribution), +[OpenShift](https://www.openshift.com/), +[Delve](https://github.com/derekparker/delve), +[GopherJS](http://www.gopherjs.org/), +[CockroachDB](http://www.cockroachlabs.com/), +[Bleve](http://www.blevesearch.com/), +[ProjectAtomic (enterprise)](http://www.projectatomic.io/), +[Giant Swarm's gsctl](https://github.com/giantswarm/gsctl), +[Nanobox](https://github.com/nanobox-io/nanobox)/[Nanopack](https://github.com/nanopack), +[rclone](http://rclone.org/), +[nehm](https://github.com/bogem/nehm), +[Pouch](https://github.com/alibaba/pouch), +[Istio](https://istio.io), +[Prototool](https://github.com/uber/prototool), +[mattermost-server](https://github.com/mattermost/mattermost-server), +[Gardener](https://github.com/gardener/gardenctl), +etc. + +[![Build Status](https://travis-ci.org/spf13/cobra.svg "Travis CI status")](https://travis-ci.org/spf13/cobra) +[![CircleCI status](https://circleci.com/gh/spf13/cobra.png?circle-token=:circle-token "CircleCI status")](https://circleci.com/gh/spf13/cobra) +[![GoDoc](https://godoc.org/github.com/spf13/cobra?status.svg)](https://godoc.org/github.com/spf13/cobra) + +# Table of Contents + +- [Overview](#overview) +- [Concepts](#concepts) + * [Commands](#commands) + * [Flags](#flags) +- [Installing](#installing) +- [Getting Started](#getting-started) + * [Using the Cobra Generator](#using-the-cobra-generator) + * [Using the Cobra Library](#using-the-cobra-library) + * [Working with Flags](#working-with-flags) + * [Positional and Custom Arguments](#positional-and-custom-arguments) + * [Example](#example) + * [Help Command](#help-command) + * [Usage Message](#usage-message) + * [PreRun and PostRun Hooks](#prerun-and-postrun-hooks) + * [Suggestions when "unknown command" happens](#suggestions-when-unknown-command-happens) + * [Generating documentation for your command](#generating-documentation-for-your-command) + * [Generating bash completions](#generating-bash-completions) + * [Generating zsh completions](#generating-zsh-completions) +- [Contributing](#contributing) +- [License](#license) + +# Overview + +Cobra is a library providing a simple interface to create powerful modern CLI +interfaces similar to git & go tools. + +Cobra is also an application that will generate your application scaffolding to rapidly +develop a Cobra-based application. + +Cobra provides: +* Easy subcommand-based CLIs: `app server`, `app fetch`, etc. +* Fully POSIX-compliant flags (including short & long versions) +* Nested subcommands +* Global, local and cascading flags +* Easy generation of applications & commands with `cobra init appname` & `cobra add cmdname` +* Intelligent suggestions (`app srver`... did you mean `app server`?) +* Automatic help generation for commands and flags +* Automatic help flag recognition of `-h`, `--help`, etc. +* Automatically generated bash autocomplete for your application +* Automatically generated man pages for your application +* Command aliases so you can change things without breaking them +* The flexibility to define your own help, usage, etc. +* Optional tight integration with [viper](http://github.com/spf13/viper) for 12-factor apps + +# Concepts + +Cobra is built on a structure of commands, arguments & flags. + +**Commands** represent actions, **Args** are things and **Flags** are modifiers for those actions. + +The best applications will read like sentences when used. Users will know how +to use the application because they will natively understand how to use it. + +The pattern to follow is +`APPNAME VERB NOUN --ADJECTIVE.` + or +`APPNAME COMMAND ARG --FLAG` + +A few good real world examples may better illustrate this point. + +In the following example, 'server' is a command, and 'port' is a flag: + + hugo server --port=1313 + +In this command we are telling Git to clone the url bare. + + git clone URL --bare + +## Commands + +Command is the central point of the application. Each interaction that +the application supports will be contained in a Command. A command can +have children commands and optionally run an action. + +In the example above, 'server' is the command. + +[More about cobra.Command](https://godoc.org/github.com/spf13/cobra#Command) + +## Flags + +A flag is a way to modify the behavior of a command. Cobra supports +fully POSIX-compliant flags as well as the Go [flag package](https://golang.org/pkg/flag/). +A Cobra command can define flags that persist through to children commands +and flags that are only available to that command. + +In the example above, 'port' is the flag. + +Flag functionality is provided by the [pflag +library](https://github.com/spf13/pflag), a fork of the flag standard library +which maintains the same interface while adding POSIX compliance. + +# Installing +Using Cobra is easy. First, use `go get` to install the latest version +of the library. This command will install the `cobra` generator executable +along with the library and its dependencies: + + go get -u github.com/spf13/cobra/cobra + +Next, include Cobra in your application: + +```go +import "github.com/spf13/cobra" +``` + +# Getting Started + +While you are welcome to provide your own organization, typically a Cobra-based +application will follow the following organizational structure: + +``` + ▾ appName/ + ▾ cmd/ + add.go + your.go + commands.go + here.go + main.go +``` + +In a Cobra app, typically the main.go file is very bare. It serves one purpose: initializing Cobra. + +```go +package main + +import ( + "{pathToYourApp}/cmd" +) + +func main() { + cmd.Execute() +} +``` + +## Using the Cobra Generator + +Cobra provides its own program that will create your application and add any +commands you want. It's the easiest way to incorporate Cobra into your application. + +[Here](https://github.com/spf13/cobra/blob/master/cobra/README.md) you can find more information about it. + +## Using the Cobra Library + +To manually implement Cobra you need to create a bare main.go file and a rootCmd file. +You will optionally provide additional commands as you see fit. + +### Create rootCmd + +Cobra doesn't require any special constructors. Simply create your commands. + +Ideally you place this in app/cmd/root.go: + +```go +var rootCmd = &cobra.Command{ + Use: "hugo", + Short: "Hugo is a very fast static site generator", + Long: `A Fast and Flexible Static Site Generator built with + love by spf13 and friends in Go. + Complete documentation is available at http://hugo.spf13.com`, + Run: func(cmd *cobra.Command, args []string) { + // Do Stuff Here + }, +} + +func Execute() { + if err := rootCmd.Execute(); err != nil { + fmt.Println(err) + os.Exit(1) + } +} +``` + +You will additionally define flags and handle configuration in your init() function. + +For example cmd/root.go: + +```go +import ( + "fmt" + "os" + + homedir "github.com/mitchellh/go-homedir" + "github.com/spf13/cobra" + "github.com/spf13/viper" +) + +func init() { + cobra.OnInitialize(initConfig) + rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.cobra.yaml)") + rootCmd.PersistentFlags().StringVarP(&projectBase, "projectbase", "b", "", "base project directory eg. github.com/spf13/") + rootCmd.PersistentFlags().StringP("author", "a", "YOUR NAME", "Author name for copyright attribution") + rootCmd.PersistentFlags().StringVarP(&userLicense, "license", "l", "", "Name of license for the project (can provide `licensetext` in config)") + rootCmd.PersistentFlags().Bool("viper", true, "Use Viper for configuration") + viper.BindPFlag("author", rootCmd.PersistentFlags().Lookup("author")) + viper.BindPFlag("projectbase", rootCmd.PersistentFlags().Lookup("projectbase")) + viper.BindPFlag("useViper", rootCmd.PersistentFlags().Lookup("viper")) + viper.SetDefault("author", "NAME HERE ") + viper.SetDefault("license", "apache") +} + +func initConfig() { + // Don't forget to read config either from cfgFile or from home directory! + if cfgFile != "" { + // Use config file from the flag. + viper.SetConfigFile(cfgFile) + } else { + // Find home directory. + home, err := homedir.Dir() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + // Search config in home directory with name ".cobra" (without extension). + viper.AddConfigPath(home) + viper.SetConfigName(".cobra") + } + + if err := viper.ReadInConfig(); err != nil { + fmt.Println("Can't read config:", err) + os.Exit(1) + } +} +``` + +### Create your main.go + +With the root command you need to have your main function execute it. +Execute should be run on the root for clarity, though it can be called on any command. + +In a Cobra app, typically the main.go file is very bare. It serves, one purpose, to initialize Cobra. + +```go +package main + +import ( + "{pathToYourApp}/cmd" +) + +func main() { + cmd.Execute() +} +``` + +### Create additional commands + +Additional commands can be defined and typically are each given their own file +inside of the cmd/ directory. + +If you wanted to create a version command you would create cmd/version.go and +populate it with the following: + +```go +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func init() { + rootCmd.AddCommand(versionCmd) +} + +var versionCmd = &cobra.Command{ + Use: "version", + Short: "Print the version number of Hugo", + Long: `All software has versions. This is Hugo's`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("Hugo Static Site Generator v0.9 -- HEAD") + }, +} +``` + +## Working with Flags + +Flags provide modifiers to control how the action command operates. + +### Assign flags to a command + +Since the flags are defined and used in different locations, we need to +define a variable outside with the correct scope to assign the flag to +work with. + +```go +var Verbose bool +var Source string +``` + +There are two different approaches to assign a flag. + +### Persistent Flags + +A flag can be 'persistent' meaning that this flag will be available to the +command it's assigned to as well as every command under that command. For +global flags, assign a flag as a persistent flag on the root. + +```go +rootCmd.PersistentFlags().BoolVarP(&Verbose, "verbose", "v", false, "verbose output") +``` + +### Local Flags + +A flag can also be assigned locally which will only apply to that specific command. + +```go +localCmd.Flags().StringVarP(&Source, "source", "s", "", "Source directory to read from") +``` + +### Local Flag on Parent Commands + +By default Cobra only parses local flags on the target command, any local flags on +parent commands are ignored. By enabling `Command.TraverseChildren` Cobra will +parse local flags on each command before executing the target command. + +```go +command := cobra.Command{ + Use: "print [OPTIONS] [COMMANDS]", + TraverseChildren: true, +} +``` + +### Bind Flags with Config + +You can also bind your flags with [viper](https://github.com/spf13/viper): +```go +var author string + +func init() { + rootCmd.PersistentFlags().StringVar(&author, "author", "YOUR NAME", "Author name for copyright attribution") + viper.BindPFlag("author", rootCmd.PersistentFlags().Lookup("author")) +} +``` + +In this example the persistent flag `author` is bound with `viper`. +**Note**, that the variable `author` will not be set to the value from config, +when the `--author` flag is not provided by user. + +More in [viper documentation](https://github.com/spf13/viper#working-with-flags). + +### Required flags + +Flags are optional by default. If instead you wish your command to report an error +when a flag has not been set, mark it as required: +```go +rootCmd.Flags().StringVarP(&Region, "region", "r", "", "AWS region (required)") +rootCmd.MarkFlagRequired("region") +``` + +## Positional and Custom Arguments + +Validation of positional arguments can be specified using the `Args` field +of `Command`. + +The following validators are built in: + +- `NoArgs` - the command will report an error if there are any positional args. +- `ArbitraryArgs` - the command will accept any args. +- `OnlyValidArgs` - the command will report an error if there are any positional args that are not in the `ValidArgs` field of `Command`. +- `MinimumNArgs(int)` - the command will report an error if there are not at least N positional args. +- `MaximumNArgs(int)` - the command will report an error if there are more than N positional args. +- `ExactArgs(int)` - the command will report an error if there are not exactly N positional args. +- `ExactValidArgs(int)` - the command will report an error if there are not exactly N positional args OR if there are any positional args that are not in the `ValidArgs` field of `Command` +- `RangeArgs(min, max)` - the command will report an error if the number of args is not between the minimum and maximum number of expected args. + +An example of setting the custom validator: + +```go +var cmd = &cobra.Command{ + Short: "hello", + Args: func(cmd *cobra.Command, args []string) error { + if len(args) < 1 { + return errors.New("requires a color argument") + } + if myapp.IsValidColor(args[0]) { + return nil + } + return fmt.Errorf("invalid color specified: %s", args[0]) + }, + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("Hello, World!") + }, +} +``` + +## Example + +In the example below, we have defined three commands. Two are at the top level +and one (cmdTimes) is a child of one of the top commands. In this case the root +is not executable meaning that a subcommand is required. This is accomplished +by not providing a 'Run' for the 'rootCmd'. + +We have only defined one flag for a single command. + +More documentation about flags is available at https://github.com/spf13/pflag + +```go +package main + +import ( + "fmt" + "strings" + + "github.com/spf13/cobra" +) + +func main() { + var echoTimes int + + var cmdPrint = &cobra.Command{ + Use: "print [string to print]", + Short: "Print anything to the screen", + Long: `print is for printing anything back to the screen. +For many years people have printed back to the screen.`, + Args: cobra.MinimumNArgs(1), + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("Print: " + strings.Join(args, " ")) + }, + } + + var cmdEcho = &cobra.Command{ + Use: "echo [string to echo]", + Short: "Echo anything to the screen", + Long: `echo is for echoing anything back. +Echo works a lot like print, except it has a child command.`, + Args: cobra.MinimumNArgs(1), + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("Print: " + strings.Join(args, " ")) + }, + } + + var cmdTimes = &cobra.Command{ + Use: "times [string to echo]", + Short: "Echo anything to the screen more times", + Long: `echo things multiple times back to the user by providing +a count and a string.`, + Args: cobra.MinimumNArgs(1), + Run: func(cmd *cobra.Command, args []string) { + for i := 0; i < echoTimes; i++ { + fmt.Println("Echo: " + strings.Join(args, " ")) + } + }, + } + + cmdTimes.Flags().IntVarP(&echoTimes, "times", "t", 1, "times to echo the input") + + var rootCmd = &cobra.Command{Use: "app"} + rootCmd.AddCommand(cmdPrint, cmdEcho) + cmdEcho.AddCommand(cmdTimes) + rootCmd.Execute() +} +``` + +For a more complete example of a larger application, please checkout [Hugo](http://gohugo.io/). + +## Help Command + +Cobra automatically adds a help command to your application when you have subcommands. +This will be called when a user runs 'app help'. Additionally, help will also +support all other commands as input. Say, for instance, you have a command called +'create' without any additional configuration; Cobra will work when 'app help +create' is called. Every command will automatically have the '--help' flag added. + +### Example + +The following output is automatically generated by Cobra. Nothing beyond the +command and flag definitions are needed. + + $ cobra help + + Cobra is a CLI library for Go that empowers applications. + This application is a tool to generate the needed files + to quickly create a Cobra application. + + Usage: + cobra [command] + + Available Commands: + add Add a command to a Cobra Application + help Help about any command + init Initialize a Cobra Application + + Flags: + -a, --author string author name for copyright attribution (default "YOUR NAME") + --config string config file (default is $HOME/.cobra.yaml) + -h, --help help for cobra + -l, --license string name of license for the project + --viper use Viper for configuration (default true) + + Use "cobra [command] --help" for more information about a command. + + +Help is just a command like any other. There is no special logic or behavior +around it. In fact, you can provide your own if you want. + +### Defining your own help + +You can provide your own Help command or your own template for the default command to use +with following functions: + +```go +cmd.SetHelpCommand(cmd *Command) +cmd.SetHelpFunc(f func(*Command, []string)) +cmd.SetHelpTemplate(s string) +``` + +The latter two will also apply to any children commands. + +## Usage Message + +When the user provides an invalid flag or invalid command, Cobra responds by +showing the user the 'usage'. + +### Example +You may recognize this from the help above. That's because the default help +embeds the usage as part of its output. + + $ cobra --invalid + Error: unknown flag: --invalid + Usage: + cobra [command] + + Available Commands: + add Add a command to a Cobra Application + help Help about any command + init Initialize a Cobra Application + + Flags: + -a, --author string author name for copyright attribution (default "YOUR NAME") + --config string config file (default is $HOME/.cobra.yaml) + -h, --help help for cobra + -l, --license string name of license for the project + --viper use Viper for configuration (default true) + + Use "cobra [command] --help" for more information about a command. + +### Defining your own usage +You can provide your own usage function or template for Cobra to use. +Like help, the function and template are overridable through public methods: + +```go +cmd.SetUsageFunc(f func(*Command) error) +cmd.SetUsageTemplate(s string) +``` + +## Version Flag + +Cobra adds a top-level '--version' flag if the Version field is set on the root command. +Running an application with the '--version' flag will print the version to stdout using +the version template. The template can be customized using the +`cmd.SetVersionTemplate(s string)` function. + +## PreRun and PostRun Hooks + +It is possible to run functions before or after the main `Run` function of your command. The `PersistentPreRun` and `PreRun` functions will be executed before `Run`. `PersistentPostRun` and `PostRun` will be executed after `Run`. The `Persistent*Run` functions will be inherited by children if they do not declare their own. These functions are run in the following order: + +- `PersistentPreRun` +- `PreRun` +- `Run` +- `PostRun` +- `PersistentPostRun` + +An example of two commands which use all of these features is below. When the subcommand is executed, it will run the root command's `PersistentPreRun` but not the root command's `PersistentPostRun`: + +```go +package main + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func main() { + + var rootCmd = &cobra.Command{ + Use: "root [sub]", + Short: "My root command", + PersistentPreRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd PersistentPreRun with args: %v\n", args) + }, + PreRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd PreRun with args: %v\n", args) + }, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd Run with args: %v\n", args) + }, + PostRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd PostRun with args: %v\n", args) + }, + PersistentPostRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd PersistentPostRun with args: %v\n", args) + }, + } + + var subCmd = &cobra.Command{ + Use: "sub [no options!]", + Short: "My subcommand", + PreRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside subCmd PreRun with args: %v\n", args) + }, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside subCmd Run with args: %v\n", args) + }, + PostRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside subCmd PostRun with args: %v\n", args) + }, + PersistentPostRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside subCmd PersistentPostRun with args: %v\n", args) + }, + } + + rootCmd.AddCommand(subCmd) + + rootCmd.SetArgs([]string{""}) + rootCmd.Execute() + fmt.Println() + rootCmd.SetArgs([]string{"sub", "arg1", "arg2"}) + rootCmd.Execute() +} +``` + +Output: +``` +Inside rootCmd PersistentPreRun with args: [] +Inside rootCmd PreRun with args: [] +Inside rootCmd Run with args: [] +Inside rootCmd PostRun with args: [] +Inside rootCmd PersistentPostRun with args: [] + +Inside rootCmd PersistentPreRun with args: [arg1 arg2] +Inside subCmd PreRun with args: [arg1 arg2] +Inside subCmd Run with args: [arg1 arg2] +Inside subCmd PostRun with args: [arg1 arg2] +Inside subCmd PersistentPostRun with args: [arg1 arg2] +``` + +## Suggestions when "unknown command" happens + +Cobra will print automatic suggestions when "unknown command" errors happen. This allows Cobra to behave similarly to the `git` command when a typo happens. For example: + +``` +$ hugo srever +Error: unknown command "srever" for "hugo" + +Did you mean this? + server + +Run 'hugo --help' for usage. +``` + +Suggestions are automatic based on every subcommand registered and use an implementation of [Levenshtein distance](http://en.wikipedia.org/wiki/Levenshtein_distance). Every registered command that matches a minimum distance of 2 (ignoring case) will be displayed as a suggestion. + +If you need to disable suggestions or tweak the string distance in your command, use: + +```go +command.DisableSuggestions = true +``` + +or + +```go +command.SuggestionsMinimumDistance = 1 +``` + +You can also explicitly set names for which a given command will be suggested using the `SuggestFor` attribute. This allows suggestions for strings that are not close in terms of string distance, but makes sense in your set of commands and for some which you don't want aliases. Example: + +``` +$ kubectl remove +Error: unknown command "remove" for "kubectl" + +Did you mean this? + delete + +Run 'kubectl help' for usage. +``` + +## Generating documentation for your command + +Cobra can generate documentation based on subcommands, flags, etc. in the following formats: + +- [Markdown](doc/md_docs.md) +- [ReStructured Text](doc/rest_docs.md) +- [Man Page](doc/man_docs.md) + +## Generating bash completions + +Cobra can generate a bash-completion file. If you add more information to your command, these completions can be amazingly powerful and flexible. Read more about it in [Bash Completions](bash_completions.md). + +## Generating zsh completions + +Cobra can generate zsh-completion file. Read more about it in +[Zsh Completions](zsh_completions.md). + +# Contributing + +1. Fork it +2. Download your fork to your PC (`git clone https://github.com/your_username/cobra && cd cobra`) +3. Create your feature branch (`git checkout -b my-new-feature`) +4. Make changes and add them (`git add .`) +5. Commit your changes (`git commit -m 'Add some feature'`) +6. Push to the branch (`git push origin my-new-feature`) +7. Create new pull request + +# License + +Cobra is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/cobra/blob/master/LICENSE.txt) diff --git a/vendor/github.com/spf13/cobra/args.go b/vendor/github.com/spf13/cobra/args.go new file mode 100644 index 00000000..c4d820b8 --- /dev/null +++ b/vendor/github.com/spf13/cobra/args.go @@ -0,0 +1,101 @@ +package cobra + +import ( + "fmt" +) + +type PositionalArgs func(cmd *Command, args []string) error + +// Legacy arg validation has the following behaviour: +// - root commands with no subcommands can take arbitrary arguments +// - root commands with subcommands will do subcommand validity checking +// - subcommands will always accept arbitrary arguments +func legacyArgs(cmd *Command, args []string) error { + // no subcommand, always take args + if !cmd.HasSubCommands() { + return nil + } + + // root command with subcommands, do subcommand checking. + if !cmd.HasParent() && len(args) > 0 { + return fmt.Errorf("unknown command %q for %q%s", args[0], cmd.CommandPath(), cmd.findSuggestions(args[0])) + } + return nil +} + +// NoArgs returns an error if any args are included. +func NoArgs(cmd *Command, args []string) error { + if len(args) > 0 { + return fmt.Errorf("unknown command %q for %q", args[0], cmd.CommandPath()) + } + return nil +} + +// OnlyValidArgs returns an error if any args are not in the list of ValidArgs. +func OnlyValidArgs(cmd *Command, args []string) error { + if len(cmd.ValidArgs) > 0 { + for _, v := range args { + if !stringInSlice(v, cmd.ValidArgs) { + return fmt.Errorf("invalid argument %q for %q%s", v, cmd.CommandPath(), cmd.findSuggestions(args[0])) + } + } + } + return nil +} + +// ArbitraryArgs never returns an error. +func ArbitraryArgs(cmd *Command, args []string) error { + return nil +} + +// MinimumNArgs returns an error if there is not at least N args. +func MinimumNArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) < n { + return fmt.Errorf("requires at least %d arg(s), only received %d", n, len(args)) + } + return nil + } +} + +// MaximumNArgs returns an error if there are more than N args. +func MaximumNArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) > n { + return fmt.Errorf("accepts at most %d arg(s), received %d", n, len(args)) + } + return nil + } +} + +// ExactArgs returns an error if there are not exactly n args. +func ExactArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) != n { + return fmt.Errorf("accepts %d arg(s), received %d", n, len(args)) + } + return nil + } +} + +// ExactValidArgs returns an error if +// there are not exactly N positional args OR +// there are any positional args that are not in the `ValidArgs` field of `Command` +func ExactValidArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if err := ExactArgs(n)(cmd, args); err != nil { + return err + } + return OnlyValidArgs(cmd, args) + } +} + +// RangeArgs returns an error if the number of args is not within the expected range. +func RangeArgs(min int, max int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) < min || len(args) > max { + return fmt.Errorf("accepts between %d and %d arg(s), received %d", min, max, len(args)) + } + return nil + } +} diff --git a/vendor/github.com/spf13/cobra/bash_completions.go b/vendor/github.com/spf13/cobra/bash_completions.go new file mode 100644 index 00000000..57bb8e1b --- /dev/null +++ b/vendor/github.com/spf13/cobra/bash_completions.go @@ -0,0 +1,547 @@ +package cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "sort" + "strings" + + "github.com/spf13/pflag" +) + +// Annotations for Bash completion. +const ( + BashCompFilenameExt = "cobra_annotation_bash_completion_filename_extensions" + BashCompCustom = "cobra_annotation_bash_completion_custom" + BashCompOneRequiredFlag = "cobra_annotation_bash_completion_one_required_flag" + BashCompSubdirsInDir = "cobra_annotation_bash_completion_subdirs_in_dir" +) + +func writePreamble(buf *bytes.Buffer, name string) { + buf.WriteString(fmt.Sprintf("# bash completion for %-36s -*- shell-script -*-\n", name)) + buf.WriteString(fmt.Sprintf(` +__%[1]s_debug() +{ + if [[ -n ${BASH_COMP_DEBUG_FILE} ]]; then + echo "$*" >> "${BASH_COMP_DEBUG_FILE}" + fi +} + +# Homebrew on Macs have version 1.3 of bash-completion which doesn't include +# _init_completion. This is a very minimal version of that function. +__%[1]s_init_completion() +{ + COMPREPLY=() + _get_comp_words_by_ref "$@" cur prev words cword +} + +__%[1]s_index_of_word() +{ + local w word=$1 + shift + index=0 + for w in "$@"; do + [[ $w = "$word" ]] && return + index=$((index+1)) + done + index=-1 +} + +__%[1]s_contains_word() +{ + local w word=$1; shift + for w in "$@"; do + [[ $w = "$word" ]] && return + done + return 1 +} + +__%[1]s_handle_reply() +{ + __%[1]s_debug "${FUNCNAME[0]}" + case $cur in + -*) + if [[ $(type -t compopt) = "builtin" ]]; then + compopt -o nospace + fi + local allflags + if [ ${#must_have_one_flag[@]} -ne 0 ]; then + allflags=("${must_have_one_flag[@]}") + else + allflags=("${flags[*]} ${two_word_flags[*]}") + fi + COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") ) + if [[ $(type -t compopt) = "builtin" ]]; then + [[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace + fi + + # complete after --flag=abc + if [[ $cur == *=* ]]; then + if [[ $(type -t compopt) = "builtin" ]]; then + compopt +o nospace + fi + + local index flag + flag="${cur%%=*}" + __%[1]s_index_of_word "${flag}" "${flags_with_completion[@]}" + COMPREPLY=() + if [[ ${index} -ge 0 ]]; then + PREFIX="" + cur="${cur#*=}" + ${flags_completion[${index}]} + if [ -n "${ZSH_VERSION}" ]; then + # zsh completion needs --flag= prefix + eval "COMPREPLY=( \"\${COMPREPLY[@]/#/${flag}=}\" )" + fi + fi + fi + return 0; + ;; + esac + + # check if we are handling a flag with special work handling + local index + __%[1]s_index_of_word "${prev}" "${flags_with_completion[@]}" + if [[ ${index} -ge 0 ]]; then + ${flags_completion[${index}]} + return + fi + + # we are parsing a flag and don't have a special handler, no completion + if [[ ${cur} != "${words[cword]}" ]]; then + return + fi + + local completions + completions=("${commands[@]}") + if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then + completions=("${must_have_one_noun[@]}") + fi + if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then + completions+=("${must_have_one_flag[@]}") + fi + COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") ) + + if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then + COMPREPLY=( $(compgen -W "${noun_aliases[*]}" -- "$cur") ) + fi + + if [[ ${#COMPREPLY[@]} -eq 0 ]]; then + if declare -F __%[1]s_custom_func >/dev/null; then + # try command name qualified custom func + __%[1]s_custom_func + else + # otherwise fall back to unqualified for compatibility + declare -F __custom_func >/dev/null && __custom_func + fi + fi + + # available in bash-completion >= 2, not always present on macOS + if declare -F __ltrim_colon_completions >/dev/null; then + __ltrim_colon_completions "$cur" + fi + + # If there is only 1 completion and it is a flag with an = it will be completed + # but we don't want a space after the = + if [[ "${#COMPREPLY[@]}" -eq "1" ]] && [[ $(type -t compopt) = "builtin" ]] && [[ "${COMPREPLY[0]}" == --*= ]]; then + compopt -o nospace + fi +} + +# The arguments should be in the form "ext1|ext2|extn" +__%[1]s_handle_filename_extension_flag() +{ + local ext="$1" + _filedir "@(${ext})" +} + +__%[1]s_handle_subdirs_in_dir_flag() +{ + local dir="$1" + pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 +} + +__%[1]s_handle_flag() +{ + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + # if a command required a flag, and we found it, unset must_have_one_flag() + local flagname=${words[c]} + local flagvalue + # if the word contained an = + if [[ ${words[c]} == *"="* ]]; then + flagvalue=${flagname#*=} # take in as flagvalue after the = + flagname=${flagname%%=*} # strip everything after the = + flagname="${flagname}=" # but put the = back + fi + __%[1]s_debug "${FUNCNAME[0]}: looking for ${flagname}" + if __%[1]s_contains_word "${flagname}" "${must_have_one_flag[@]}"; then + must_have_one_flag=() + fi + + # if you set a flag which only applies to this command, don't show subcommands + if __%[1]s_contains_word "${flagname}" "${local_nonpersistent_flags[@]}"; then + commands=() + fi + + # keep flag value with flagname as flaghash + # flaghash variable is an associative array which is only supported in bash > 3. + if [[ -z "${BASH_VERSION}" || "${BASH_VERSINFO[0]}" -gt 3 ]]; then + if [ -n "${flagvalue}" ] ; then + flaghash[${flagname}]=${flagvalue} + elif [ -n "${words[ $((c+1)) ]}" ] ; then + flaghash[${flagname}]=${words[ $((c+1)) ]} + else + flaghash[${flagname}]="true" # pad "true" for bool flag + fi + fi + + # skip the argument to a two word flag + if [[ ${words[c]} != *"="* ]] && __%[1]s_contains_word "${words[c]}" "${two_word_flags[@]}"; then + __%[1]s_debug "${FUNCNAME[0]}: found a flag ${words[c]}, skip the next argument" + c=$((c+1)) + # if we are looking for a flags value, don't show commands + if [[ $c -eq $cword ]]; then + commands=() + fi + fi + + c=$((c+1)) + +} + +__%[1]s_handle_noun() +{ + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + if __%[1]s_contains_word "${words[c]}" "${must_have_one_noun[@]}"; then + must_have_one_noun=() + elif __%[1]s_contains_word "${words[c]}" "${noun_aliases[@]}"; then + must_have_one_noun=() + fi + + nouns+=("${words[c]}") + c=$((c+1)) +} + +__%[1]s_handle_command() +{ + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + local next_command + if [[ -n ${last_command} ]]; then + next_command="_${last_command}_${words[c]//:/__}" + else + if [[ $c -eq 0 ]]; then + next_command="_%[1]s_root_command" + else + next_command="_${words[c]//:/__}" + fi + fi + c=$((c+1)) + __%[1]s_debug "${FUNCNAME[0]}: looking for ${next_command}" + declare -F "$next_command" >/dev/null && $next_command +} + +__%[1]s_handle_word() +{ + if [[ $c -ge $cword ]]; then + __%[1]s_handle_reply + return + fi + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + if [[ "${words[c]}" == -* ]]; then + __%[1]s_handle_flag + elif __%[1]s_contains_word "${words[c]}" "${commands[@]}"; then + __%[1]s_handle_command + elif [[ $c -eq 0 ]]; then + __%[1]s_handle_command + elif __%[1]s_contains_word "${words[c]}" "${command_aliases[@]}"; then + # aliashash variable is an associative array which is only supported in bash > 3. + if [[ -z "${BASH_VERSION}" || "${BASH_VERSINFO[0]}" -gt 3 ]]; then + words[c]=${aliashash[${words[c]}]} + __%[1]s_handle_command + else + __%[1]s_handle_noun + fi + else + __%[1]s_handle_noun + fi + __%[1]s_handle_word +} + +`, name)) +} + +func writePostscript(buf *bytes.Buffer, name string) { + name = strings.Replace(name, ":", "__", -1) + buf.WriteString(fmt.Sprintf("__start_%s()\n", name)) + buf.WriteString(fmt.Sprintf(`{ + local cur prev words cword + declare -A flaghash 2>/dev/null || : + declare -A aliashash 2>/dev/null || : + if declare -F _init_completion >/dev/null 2>&1; then + _init_completion -s || return + else + __%[1]s_init_completion -n "=" || return + fi + + local c=0 + local flags=() + local two_word_flags=() + local local_nonpersistent_flags=() + local flags_with_completion=() + local flags_completion=() + local commands=("%[1]s") + local must_have_one_flag=() + local must_have_one_noun=() + local last_command + local nouns=() + + __%[1]s_handle_word +} + +`, name)) + buf.WriteString(fmt.Sprintf(`if [[ $(type -t compopt) = "builtin" ]]; then + complete -o default -F __start_%s %s +else + complete -o default -o nospace -F __start_%s %s +fi + +`, name, name, name, name)) + buf.WriteString("# ex: ts=4 sw=4 et filetype=sh\n") +} + +func writeCommands(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(" commands=()\n") + for _, c := range cmd.Commands() { + if !c.IsAvailableCommand() || c == cmd.helpCommand { + continue + } + buf.WriteString(fmt.Sprintf(" commands+=(%q)\n", c.Name())) + writeCmdAliases(buf, c) + } + buf.WriteString("\n") +} + +func writeFlagHandler(buf *bytes.Buffer, name string, annotations map[string][]string, cmd *Command) { + for key, value := range annotations { + switch key { + case BashCompFilenameExt: + buf.WriteString(fmt.Sprintf(" flags_with_completion+=(%q)\n", name)) + + var ext string + if len(value) > 0 { + ext = fmt.Sprintf("__%s_handle_filename_extension_flag ", cmd.Root().Name()) + strings.Join(value, "|") + } else { + ext = "_filedir" + } + buf.WriteString(fmt.Sprintf(" flags_completion+=(%q)\n", ext)) + case BashCompCustom: + buf.WriteString(fmt.Sprintf(" flags_with_completion+=(%q)\n", name)) + if len(value) > 0 { + handlers := strings.Join(value, "; ") + buf.WriteString(fmt.Sprintf(" flags_completion+=(%q)\n", handlers)) + } else { + buf.WriteString(" flags_completion+=(:)\n") + } + case BashCompSubdirsInDir: + buf.WriteString(fmt.Sprintf(" flags_with_completion+=(%q)\n", name)) + + var ext string + if len(value) == 1 { + ext = fmt.Sprintf("__%s_handle_subdirs_in_dir_flag ", cmd.Root().Name()) + value[0] + } else { + ext = "_filedir -d" + } + buf.WriteString(fmt.Sprintf(" flags_completion+=(%q)\n", ext)) + } + } +} + +func writeShortFlag(buf *bytes.Buffer, flag *pflag.Flag, cmd *Command) { + name := flag.Shorthand + format := " " + if len(flag.NoOptDefVal) == 0 { + format += "two_word_" + } + format += "flags+=(\"-%s\")\n" + buf.WriteString(fmt.Sprintf(format, name)) + writeFlagHandler(buf, "-"+name, flag.Annotations, cmd) +} + +func writeFlag(buf *bytes.Buffer, flag *pflag.Flag, cmd *Command) { + name := flag.Name + format := " flags+=(\"--%s" + if len(flag.NoOptDefVal) == 0 { + format += "=" + } + format += "\")\n" + buf.WriteString(fmt.Sprintf(format, name)) + if len(flag.NoOptDefVal) == 0 { + format = " two_word_flags+=(\"--%s\")\n" + buf.WriteString(fmt.Sprintf(format, name)) + } + writeFlagHandler(buf, "--"+name, flag.Annotations, cmd) +} + +func writeLocalNonPersistentFlag(buf *bytes.Buffer, flag *pflag.Flag) { + name := flag.Name + format := " local_nonpersistent_flags+=(\"--%s" + if len(flag.NoOptDefVal) == 0 { + format += "=" + } + format += "\")\n" + buf.WriteString(fmt.Sprintf(format, name)) +} + +func writeFlags(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(` flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + +`) + localNonPersistentFlags := cmd.LocalNonPersistentFlags() + cmd.NonInheritedFlags().VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + writeFlag(buf, flag, cmd) + if len(flag.Shorthand) > 0 { + writeShortFlag(buf, flag, cmd) + } + if localNonPersistentFlags.Lookup(flag.Name) != nil { + writeLocalNonPersistentFlag(buf, flag) + } + }) + cmd.InheritedFlags().VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + writeFlag(buf, flag, cmd) + if len(flag.Shorthand) > 0 { + writeShortFlag(buf, flag, cmd) + } + }) + + buf.WriteString("\n") +} + +func writeRequiredFlag(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(" must_have_one_flag=()\n") + flags := cmd.NonInheritedFlags() + flags.VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + for key := range flag.Annotations { + switch key { + case BashCompOneRequiredFlag: + format := " must_have_one_flag+=(\"--%s" + if flag.Value.Type() != "bool" { + format += "=" + } + format += "\")\n" + buf.WriteString(fmt.Sprintf(format, flag.Name)) + + if len(flag.Shorthand) > 0 { + buf.WriteString(fmt.Sprintf(" must_have_one_flag+=(\"-%s\")\n", flag.Shorthand)) + } + } + } + }) +} + +func writeRequiredNouns(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(" must_have_one_noun=()\n") + sort.Sort(sort.StringSlice(cmd.ValidArgs)) + for _, value := range cmd.ValidArgs { + buf.WriteString(fmt.Sprintf(" must_have_one_noun+=(%q)\n", value)) + } +} + +func writeCmdAliases(buf *bytes.Buffer, cmd *Command) { + if len(cmd.Aliases) == 0 { + return + } + + sort.Sort(sort.StringSlice(cmd.Aliases)) + + buf.WriteString(fmt.Sprint(` if [[ -z "${BASH_VERSION}" || "${BASH_VERSINFO[0]}" -gt 3 ]]; then`, "\n")) + for _, value := range cmd.Aliases { + buf.WriteString(fmt.Sprintf(" command_aliases+=(%q)\n", value)) + buf.WriteString(fmt.Sprintf(" aliashash[%q]=%q\n", value, cmd.Name())) + } + buf.WriteString(` fi`) + buf.WriteString("\n") +} +func writeArgAliases(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(" noun_aliases=()\n") + sort.Sort(sort.StringSlice(cmd.ArgAliases)) + for _, value := range cmd.ArgAliases { + buf.WriteString(fmt.Sprintf(" noun_aliases+=(%q)\n", value)) + } +} + +func gen(buf *bytes.Buffer, cmd *Command) { + for _, c := range cmd.Commands() { + if !c.IsAvailableCommand() || c == cmd.helpCommand { + continue + } + gen(buf, c) + } + commandName := cmd.CommandPath() + commandName = strings.Replace(commandName, " ", "_", -1) + commandName = strings.Replace(commandName, ":", "__", -1) + + if cmd.Root() == cmd { + buf.WriteString(fmt.Sprintf("_%s_root_command()\n{\n", commandName)) + } else { + buf.WriteString(fmt.Sprintf("_%s()\n{\n", commandName)) + } + + buf.WriteString(fmt.Sprintf(" last_command=%q\n", commandName)) + buf.WriteString("\n") + buf.WriteString(" command_aliases=()\n") + buf.WriteString("\n") + + writeCommands(buf, cmd) + writeFlags(buf, cmd) + writeRequiredFlag(buf, cmd) + writeRequiredNouns(buf, cmd) + writeArgAliases(buf, cmd) + buf.WriteString("}\n\n") +} + +// GenBashCompletion generates bash completion file and writes to the passed writer. +func (c *Command) GenBashCompletion(w io.Writer) error { + buf := new(bytes.Buffer) + writePreamble(buf, c.Name()) + if len(c.BashCompletionFunction) > 0 { + buf.WriteString(c.BashCompletionFunction + "\n") + } + gen(buf, c) + writePostscript(buf, c.Name()) + + _, err := buf.WriteTo(w) + return err +} + +func nonCompletableFlag(flag *pflag.Flag) bool { + return flag.Hidden || len(flag.Deprecated) > 0 +} + +// GenBashCompletionFile generates bash completion file. +func (c *Command) GenBashCompletionFile(filename string) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenBashCompletion(outFile) +} diff --git a/vendor/github.com/spf13/cobra/bash_completions.md b/vendor/github.com/spf13/cobra/bash_completions.md new file mode 100644 index 00000000..4ac61ee1 --- /dev/null +++ b/vendor/github.com/spf13/cobra/bash_completions.md @@ -0,0 +1,256 @@ +# Generating Bash Completions For Your Own cobra.Command + +If you are using the generator you can create a completion command by running + +```bash +cobra add completion +``` + +Update the help text show how to install the bash_completion Linux show here [Kubectl docs show mac options](https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion) + +Writing the shell script to stdout allows the most flexible use. + +```go +// completionCmd represents the completion command +var completionCmd = &cobra.Command{ + Use: "completion", + Short: "Generates bash completion scripts", + Long: `To load completion run + +. <(bitbucket completion) + +To configure your bash shell to load completions for each session add to your bashrc + +# ~/.bashrc or ~/.profile +. <(bitbucket completion) +`, + Run: func(cmd *cobra.Command, args []string) { + rootCmd.GenBashCompletion(os.Stdout); + }, +} +``` + +**Note:** The cobra generator may include messages printed to stdout for example if the config file is loaded, this will break the auto complete script + + +## Example from kubectl + +Generating bash completions from a cobra command is incredibly easy. An actual program which does so for the kubernetes kubectl binary is as follows: + +```go +package main + +import ( + "io/ioutil" + "os" + + "k8s.io/kubernetes/pkg/kubectl/cmd" + "k8s.io/kubernetes/pkg/kubectl/cmd/util" +) + +func main() { + kubectl := cmd.NewKubectlCommand(util.NewFactory(nil), os.Stdin, ioutil.Discard, ioutil.Discard) + kubectl.GenBashCompletionFile("out.sh") +} +``` + +`out.sh` will get you completions of subcommands and flags. Copy it to `/etc/bash_completion.d/` as described [here](https://debian-administration.org/article/316/An_introduction_to_bash_completion_part_1) and reset your terminal to use autocompletion. If you make additional annotations to your code, you can get even more intelligent and flexible behavior. + +## Creating your own custom functions + +Some more actual code that works in kubernetes: + +```bash +const ( + bash_completion_func = `__kubectl_parse_get() +{ + local kubectl_output out + if kubectl_output=$(kubectl get --no-headers "$1" 2>/dev/null); then + out=($(echo "${kubectl_output}" | awk '{print $1}')) + COMPREPLY=( $( compgen -W "${out[*]}" -- "$cur" ) ) + fi +} + +__kubectl_get_resource() +{ + if [[ ${#nouns[@]} -eq 0 ]]; then + return 1 + fi + __kubectl_parse_get ${nouns[${#nouns[@]} -1]} + if [[ $? -eq 0 ]]; then + return 0 + fi +} + +__kubectl_custom_func() { + case ${last_command} in + kubectl_get | kubectl_describe | kubectl_delete | kubectl_stop) + __kubectl_get_resource + return + ;; + *) + ;; + esac +} +`) +``` + +And then I set that in my command definition: + +```go +cmds := &cobra.Command{ + Use: "kubectl", + Short: "kubectl controls the Kubernetes cluster manager", + Long: `kubectl controls the Kubernetes cluster manager. + +Find more information at https://github.com/GoogleCloudPlatform/kubernetes.`, + Run: runHelp, + BashCompletionFunction: bash_completion_func, +} +``` + +The `BashCompletionFunction` option is really only valid/useful on the root command. Doing the above will cause `__kubectl_custom_func()` (`___custom_func()`) to be called when the built in processor was unable to find a solution. In the case of kubernetes a valid command might look something like `kubectl get pod [mypod]`. If you type `kubectl get pod [tab][tab]` the `__kubectl_customc_func()` will run because the cobra.Command only understood "kubectl" and "get." `__kubectl_custom_func()` will see that the cobra.Command is "kubectl_get" and will thus call another helper `__kubectl_get_resource()`. `__kubectl_get_resource` will look at the 'nouns' collected. In our example the only noun will be `pod`. So it will call `__kubectl_parse_get pod`. `__kubectl_parse_get` will actually call out to kubernetes and get any pods. It will then set `COMPREPLY` to valid pods! + +## Have the completions code complete your 'nouns' + +In the above example "pod" was assumed to already be typed. But if you want `kubectl get [tab][tab]` to show a list of valid "nouns" you have to set them. Simplified code from `kubectl get` looks like: + +```go +validArgs []string = { "pod", "node", "service", "replicationcontroller" } + +cmd := &cobra.Command{ + Use: "get [(-o|--output=)json|yaml|template|...] (RESOURCE [NAME] | RESOURCE/NAME ...)", + Short: "Display one or many resources", + Long: get_long, + Example: get_example, + Run: func(cmd *cobra.Command, args []string) { + err := RunGet(f, out, cmd, args) + util.CheckErr(err) + }, + ValidArgs: validArgs, +} +``` + +Notice we put the "ValidArgs" on the "get" subcommand. Doing so will give results like + +```bash +# kubectl get [tab][tab] +node pod replicationcontroller service +``` + +## Plural form and shortcuts for nouns + +If your nouns have a number of aliases, you can define them alongside `ValidArgs` using `ArgAliases`: + +```go +argAliases []string = { "pods", "nodes", "services", "svc", "replicationcontrollers", "rc" } + +cmd := &cobra.Command{ + ... + ValidArgs: validArgs, + ArgAliases: argAliases +} +``` + +The aliases are not shown to the user on tab completion, but they are accepted as valid nouns by +the completion algorithm if entered manually, e.g. in: + +```bash +# kubectl get rc [tab][tab] +backend frontend database +``` + +Note that without declaring `rc` as an alias, the completion algorithm would show the list of nouns +in this example again instead of the replication controllers. + +## Mark flags as required + +Most of the time completions will only show subcommands. But if a flag is required to make a subcommand work, you probably want it to show up when the user types [tab][tab]. Marking a flag as 'Required' is incredibly easy. + +```go +cmd.MarkFlagRequired("pod") +cmd.MarkFlagRequired("container") +``` + +and you'll get something like + +```bash +# kubectl exec [tab][tab][tab] +-c --container= -p --pod= +``` + +# Specify valid filename extensions for flags that take a filename + +In this example we use --filename= and expect to get a json or yaml file as the argument. To make this easier we annotate the --filename flag with valid filename extensions. + +```go + annotations := []string{"json", "yaml", "yml"} + annotation := make(map[string][]string) + annotation[cobra.BashCompFilenameExt] = annotations + + flag := &pflag.Flag{ + Name: "filename", + Shorthand: "f", + Usage: usage, + Value: value, + DefValue: value.String(), + Annotations: annotation, + } + cmd.Flags().AddFlag(flag) +``` + +Now when you run a command with this filename flag you'll get something like + +```bash +# kubectl create -f +test/ example/ rpmbuild/ +hello.yml test.json +``` + +So while there are many other files in the CWD it only shows me subdirs and those with valid extensions. + +# Specify custom flag completion + +Similar to the filename completion and filtering using cobra.BashCompFilenameExt, you can specify +a custom flag completion function with cobra.BashCompCustom: + +```go + annotation := make(map[string][]string) + annotation[cobra.BashCompCustom] = []string{"__kubectl_get_namespaces"} + + flag := &pflag.Flag{ + Name: "namespace", + Usage: usage, + Annotations: annotation, + } + cmd.Flags().AddFlag(flag) +``` + +In addition add the `__handle_namespace_flag` implementation in the `BashCompletionFunction` +value, e.g.: + +```bash +__kubectl_get_namespaces() +{ + local template + template="{{ range .items }}{{ .metadata.name }} {{ end }}" + local kubectl_out + if kubectl_out=$(kubectl get -o template --template="${template}" namespace 2>/dev/null); then + COMPREPLY=( $( compgen -W "${kubectl_out}[*]" -- "$cur" ) ) + fi +} +``` +# Using bash aliases for commands + +You can also configure the `bash aliases` for the commands and they will also support completions. + +```bash +alias aliasname=origcommand +complete -o default -F __start_origcommand aliasname + +# and now when you run `aliasname` completion will make +# suggestions as it did for `origcommand`. + +$) aliasname +completion firstcommand secondcommand +``` diff --git a/vendor/github.com/spf13/cobra/cobra.go b/vendor/github.com/spf13/cobra/cobra.go new file mode 100644 index 00000000..6505c070 --- /dev/null +++ b/vendor/github.com/spf13/cobra/cobra.go @@ -0,0 +1,207 @@ +// Copyright © 2013 Steve Francia . +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Commands similar to git, go tools and other modern CLI tools +// inspired by go, go-Commander, gh and subcommand + +package cobra + +import ( + "fmt" + "io" + "reflect" + "strconv" + "strings" + "text/template" + "time" + "unicode" +) + +var templateFuncs = template.FuncMap{ + "trim": strings.TrimSpace, + "trimRightSpace": trimRightSpace, + "trimTrailingWhitespaces": trimRightSpace, + "appendIfNotPresent": appendIfNotPresent, + "rpad": rpad, + "gt": Gt, + "eq": Eq, +} + +var initializers []func() + +// EnablePrefixMatching allows to set automatic prefix matching. Automatic prefix matching can be a dangerous thing +// to automatically enable in CLI tools. +// Set this to true to enable it. +var EnablePrefixMatching = false + +// EnableCommandSorting controls sorting of the slice of commands, which is turned on by default. +// To disable sorting, set it to false. +var EnableCommandSorting = true + +// MousetrapHelpText enables an information splash screen on Windows +// if the CLI is started from explorer.exe. +// To disable the mousetrap, just set this variable to blank string (""). +// Works only on Microsoft Windows. +var MousetrapHelpText string = `This is a command line tool. + +You need to open cmd.exe and run it from there. +` + +// MousetrapDisplayDuration controls how long the MousetrapHelpText message is displayed on Windows +// if the CLI is started from explorer.exe. Set to 0 to wait for the return key to be pressed. +// To disable the mousetrap, just set MousetrapHelpText to blank string (""). +// Works only on Microsoft Windows. +var MousetrapDisplayDuration time.Duration = 5 * time.Second + +// AddTemplateFunc adds a template function that's available to Usage and Help +// template generation. +func AddTemplateFunc(name string, tmplFunc interface{}) { + templateFuncs[name] = tmplFunc +} + +// AddTemplateFuncs adds multiple template functions that are available to Usage and +// Help template generation. +func AddTemplateFuncs(tmplFuncs template.FuncMap) { + for k, v := range tmplFuncs { + templateFuncs[k] = v + } +} + +// OnInitialize sets the passed functions to be run when each command's +// Execute method is called. +func OnInitialize(y ...func()) { + initializers = append(initializers, y...) +} + +// FIXME Gt is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra. + +// Gt takes two types and checks whether the first type is greater than the second. In case of types Arrays, Chans, +// Maps and Slices, Gt will compare their lengths. Ints are compared directly while strings are first parsed as +// ints and then compared. +func Gt(a interface{}, b interface{}) bool { + var left, right int64 + av := reflect.ValueOf(a) + + switch av.Kind() { + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + left = int64(av.Len()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + left = av.Int() + case reflect.String: + left, _ = strconv.ParseInt(av.String(), 10, 64) + } + + bv := reflect.ValueOf(b) + + switch bv.Kind() { + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + right = int64(bv.Len()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + right = bv.Int() + case reflect.String: + right, _ = strconv.ParseInt(bv.String(), 10, 64) + } + + return left > right +} + +// FIXME Eq is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra. + +// Eq takes two types and checks whether they are equal. Supported types are int and string. Unsupported types will panic. +func Eq(a interface{}, b interface{}) bool { + av := reflect.ValueOf(a) + bv := reflect.ValueOf(b) + + switch av.Kind() { + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + panic("Eq called on unsupported type") + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return av.Int() == bv.Int() + case reflect.String: + return av.String() == bv.String() + } + return false +} + +func trimRightSpace(s string) string { + return strings.TrimRightFunc(s, unicode.IsSpace) +} + +// FIXME appendIfNotPresent is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra. + +// appendIfNotPresent will append stringToAppend to the end of s, but only if it's not yet present in s. +func appendIfNotPresent(s, stringToAppend string) string { + if strings.Contains(s, stringToAppend) { + return s + } + return s + " " + stringToAppend +} + +// rpad adds padding to the right of a string. +func rpad(s string, padding int) string { + template := fmt.Sprintf("%%-%ds", padding) + return fmt.Sprintf(template, s) +} + +// tmpl executes the given template text on data, writing the result to w. +func tmpl(w io.Writer, text string, data interface{}) error { + t := template.New("top") + t.Funcs(templateFuncs) + template.Must(t.Parse(text)) + return t.Execute(w, data) +} + +// ld compares two strings and returns the levenshtein distance between them. +func ld(s, t string, ignoreCase bool) int { + if ignoreCase { + s = strings.ToLower(s) + t = strings.ToLower(t) + } + d := make([][]int, len(s)+1) + for i := range d { + d[i] = make([]int, len(t)+1) + } + for i := range d { + d[i][0] = i + } + for j := range d[0] { + d[0][j] = j + } + for j := 1; j <= len(t); j++ { + for i := 1; i <= len(s); i++ { + if s[i-1] == t[j-1] { + d[i][j] = d[i-1][j-1] + } else { + min := d[i-1][j] + if d[i][j-1] < min { + min = d[i][j-1] + } + if d[i-1][j-1] < min { + min = d[i-1][j-1] + } + d[i][j] = min + 1 + } + } + + } + return d[len(s)][len(t)] +} + +func stringInSlice(a string, list []string) bool { + for _, b := range list { + if b == a { + return true + } + } + return false +} diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden b/vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/spf13/cobra/command.go b/vendor/github.com/spf13/cobra/command.go new file mode 100644 index 00000000..c7e89830 --- /dev/null +++ b/vendor/github.com/spf13/cobra/command.go @@ -0,0 +1,1594 @@ +// Copyright © 2013 Steve Francia . +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. +// In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code. +package cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "path/filepath" + "sort" + "strings" + + flag "github.com/spf13/pflag" +) + +// FParseErrWhitelist configures Flag parse errors to be ignored +type FParseErrWhitelist flag.ParseErrorsWhitelist + +// Command is just that, a command for your application. +// E.g. 'go run ...' - 'run' is the command. Cobra requires +// you to define the usage and description as part of your command +// definition to ensure usability. +type Command struct { + // Use is the one-line usage message. + Use string + + // Aliases is an array of aliases that can be used instead of the first word in Use. + Aliases []string + + // SuggestFor is an array of command names for which this command will be suggested - + // similar to aliases but only suggests. + SuggestFor []string + + // Short is the short description shown in the 'help' output. + Short string + + // Long is the long message shown in the 'help ' output. + Long string + + // Example is examples of how to use the command. + Example string + + // ValidArgs is list of all valid non-flag arguments that are accepted in bash completions + ValidArgs []string + + // Expected arguments + Args PositionalArgs + + // ArgAliases is List of aliases for ValidArgs. + // These are not suggested to the user in the bash completion, + // but accepted if entered manually. + ArgAliases []string + + // BashCompletionFunction is custom functions used by the bash autocompletion generator. + BashCompletionFunction string + + // Deprecated defines, if this command is deprecated and should print this string when used. + Deprecated string + + // Hidden defines, if this command is hidden and should NOT show up in the list of available commands. + Hidden bool + + // Annotations are key/value pairs that can be used by applications to identify or + // group commands. + Annotations map[string]string + + // Version defines the version for this command. If this value is non-empty and the command does not + // define a "version" flag, a "version" boolean flag will be added to the command and, if specified, + // will print content of the "Version" variable. + Version string + + // The *Run functions are executed in the following order: + // * PersistentPreRun() + // * PreRun() + // * Run() + // * PostRun() + // * PersistentPostRun() + // All functions get the same args, the arguments after the command name. + // + // PersistentPreRun: children of this command will inherit and execute. + PersistentPreRun func(cmd *Command, args []string) + // PersistentPreRunE: PersistentPreRun but returns an error. + PersistentPreRunE func(cmd *Command, args []string) error + // PreRun: children of this command will not inherit. + PreRun func(cmd *Command, args []string) + // PreRunE: PreRun but returns an error. + PreRunE func(cmd *Command, args []string) error + // Run: Typically the actual work function. Most commands will only implement this. + Run func(cmd *Command, args []string) + // RunE: Run but returns an error. + RunE func(cmd *Command, args []string) error + // PostRun: run after the Run command. + PostRun func(cmd *Command, args []string) + // PostRunE: PostRun but returns an error. + PostRunE func(cmd *Command, args []string) error + // PersistentPostRun: children of this command will inherit and execute after PostRun. + PersistentPostRun func(cmd *Command, args []string) + // PersistentPostRunE: PersistentPostRun but returns an error. + PersistentPostRunE func(cmd *Command, args []string) error + + // SilenceErrors is an option to quiet errors down stream. + SilenceErrors bool + + // SilenceUsage is an option to silence usage when an error occurs. + SilenceUsage bool + + // DisableFlagParsing disables the flag parsing. + // If this is true all flags will be passed to the command as arguments. + DisableFlagParsing bool + + // DisableAutoGenTag defines, if gen tag ("Auto generated by spf13/cobra...") + // will be printed by generating docs for this command. + DisableAutoGenTag bool + + // DisableFlagsInUseLine will disable the addition of [flags] to the usage + // line of a command when printing help or generating docs + DisableFlagsInUseLine bool + + // DisableSuggestions disables the suggestions based on Levenshtein distance + // that go along with 'unknown command' messages. + DisableSuggestions bool + // SuggestionsMinimumDistance defines minimum levenshtein distance to display suggestions. + // Must be > 0. + SuggestionsMinimumDistance int + + // TraverseChildren parses flags on all parents before executing child command. + TraverseChildren bool + + //FParseErrWhitelist flag parse errors to be ignored + FParseErrWhitelist FParseErrWhitelist + + // commands is the list of commands supported by this program. + commands []*Command + // parent is a parent command for this command. + parent *Command + // Max lengths of commands' string lengths for use in padding. + commandsMaxUseLen int + commandsMaxCommandPathLen int + commandsMaxNameLen int + // commandsAreSorted defines, if command slice are sorted or not. + commandsAreSorted bool + // commandCalledAs is the name or alias value used to call this command. + commandCalledAs struct { + name string + called bool + } + + // args is actual args parsed from flags. + args []string + // flagErrorBuf contains all error messages from pflag. + flagErrorBuf *bytes.Buffer + // flags is full set of flags. + flags *flag.FlagSet + // pflags contains persistent flags. + pflags *flag.FlagSet + // lflags contains local flags. + lflags *flag.FlagSet + // iflags contains inherited flags. + iflags *flag.FlagSet + // parentsPflags is all persistent flags of cmd's parents. + parentsPflags *flag.FlagSet + // globNormFunc is the global normalization function + // that we can use on every pflag set and children commands + globNormFunc func(f *flag.FlagSet, name string) flag.NormalizedName + + // usageFunc is usage func defined by user. + usageFunc func(*Command) error + // usageTemplate is usage template defined by user. + usageTemplate string + // flagErrorFunc is func defined by user and it's called when the parsing of + // flags returns an error. + flagErrorFunc func(*Command, error) error + // helpTemplate is help template defined by user. + helpTemplate string + // helpFunc is help func defined by user. + helpFunc func(*Command, []string) + // helpCommand is command with usage 'help'. If it's not defined by user, + // cobra uses default help command. + helpCommand *Command + // versionTemplate is the version template defined by user. + versionTemplate string + + // inReader is a reader defined by the user that replaces stdin + inReader io.Reader + // outWriter is a writer defined by the user that replaces stdout + outWriter io.Writer + // errWriter is a writer defined by the user that replaces stderr + errWriter io.Writer +} + +// SetArgs sets arguments for the command. It is set to os.Args[1:] by default, if desired, can be overridden +// particularly useful when testing. +func (c *Command) SetArgs(a []string) { + c.args = a +} + +// SetOutput sets the destination for usage and error messages. +// If output is nil, os.Stderr is used. +// Deprecated: Use SetOut and/or SetErr instead +func (c *Command) SetOutput(output io.Writer) { + c.outWriter = output + c.errWriter = output +} + +// SetOut sets the destination for usage messages. +// If newOut is nil, os.Stdout is used. +func (c *Command) SetOut(newOut io.Writer) { + c.outWriter = newOut +} + +// SetErr sets the destination for error messages. +// If newErr is nil, os.Stderr is used. +func (c *Command) SetErr(newErr io.Writer) { + c.errWriter = newErr +} + +// SetOut sets the source for input data +// If newIn is nil, os.Stdin is used. +func (c *Command) SetIn(newIn io.Reader) { + c.inReader = newIn +} + +// SetUsageFunc sets usage function. Usage can be defined by application. +func (c *Command) SetUsageFunc(f func(*Command) error) { + c.usageFunc = f +} + +// SetUsageTemplate sets usage template. Can be defined by Application. +func (c *Command) SetUsageTemplate(s string) { + c.usageTemplate = s +} + +// SetFlagErrorFunc sets a function to generate an error when flag parsing +// fails. +func (c *Command) SetFlagErrorFunc(f func(*Command, error) error) { + c.flagErrorFunc = f +} + +// SetHelpFunc sets help function. Can be defined by Application. +func (c *Command) SetHelpFunc(f func(*Command, []string)) { + c.helpFunc = f +} + +// SetHelpCommand sets help command. +func (c *Command) SetHelpCommand(cmd *Command) { + c.helpCommand = cmd +} + +// SetHelpTemplate sets help template to be used. Application can use it to set custom template. +func (c *Command) SetHelpTemplate(s string) { + c.helpTemplate = s +} + +// SetVersionTemplate sets version template to be used. Application can use it to set custom template. +func (c *Command) SetVersionTemplate(s string) { + c.versionTemplate = s +} + +// SetGlobalNormalizationFunc sets a normalization function to all flag sets and also to child commands. +// The user should not have a cyclic dependency on commands. +func (c *Command) SetGlobalNormalizationFunc(n func(f *flag.FlagSet, name string) flag.NormalizedName) { + c.Flags().SetNormalizeFunc(n) + c.PersistentFlags().SetNormalizeFunc(n) + c.globNormFunc = n + + for _, command := range c.commands { + command.SetGlobalNormalizationFunc(n) + } +} + +// OutOrStdout returns output to stdout. +func (c *Command) OutOrStdout() io.Writer { + return c.getOut(os.Stdout) +} + +// OutOrStderr returns output to stderr +func (c *Command) OutOrStderr() io.Writer { + return c.getOut(os.Stderr) +} + +// ErrOrStderr returns output to stderr +func (c *Command) ErrOrStderr() io.Writer { + return c.getErr(os.Stderr) +} + +// ErrOrStderr returns output to stderr +func (c *Command) InOrStdin() io.Reader { + return c.getIn(os.Stdin) +} + +func (c *Command) getOut(def io.Writer) io.Writer { + if c.outWriter != nil { + return c.outWriter + } + if c.HasParent() { + return c.parent.getOut(def) + } + return def +} + +func (c *Command) getErr(def io.Writer) io.Writer { + if c.errWriter != nil { + return c.errWriter + } + if c.HasParent() { + return c.parent.getErr(def) + } + return def +} + +func (c *Command) getIn(def io.Reader) io.Reader { + if c.inReader != nil { + return c.inReader + } + if c.HasParent() { + return c.parent.getIn(def) + } + return def +} + +// UsageFunc returns either the function set by SetUsageFunc for this command +// or a parent, or it returns a default usage function. +func (c *Command) UsageFunc() (f func(*Command) error) { + if c.usageFunc != nil { + return c.usageFunc + } + if c.HasParent() { + return c.Parent().UsageFunc() + } + return func(c *Command) error { + c.mergePersistentFlags() + err := tmpl(c.OutOrStderr(), c.UsageTemplate(), c) + if err != nil { + c.Println(err) + } + return err + } +} + +// Usage puts out the usage for the command. +// Used when a user provides invalid input. +// Can be defined by user by overriding UsageFunc. +func (c *Command) Usage() error { + return c.UsageFunc()(c) +} + +// HelpFunc returns either the function set by SetHelpFunc for this command +// or a parent, or it returns a function with default help behavior. +func (c *Command) HelpFunc() func(*Command, []string) { + if c.helpFunc != nil { + return c.helpFunc + } + if c.HasParent() { + return c.Parent().HelpFunc() + } + return func(c *Command, a []string) { + c.mergePersistentFlags() + err := tmpl(c.OutOrStdout(), c.HelpTemplate(), c) + if err != nil { + c.Println(err) + } + } +} + +// Help puts out the help for the command. +// Used when a user calls help [command]. +// Can be defined by user by overriding HelpFunc. +func (c *Command) Help() error { + c.HelpFunc()(c, []string{}) + return nil +} + +// UsageString returns usage string. +func (c *Command) UsageString() string { + // Storing normal writers + tmpOutput := c.outWriter + tmpErr := c.errWriter + + bb := new(bytes.Buffer) + c.outWriter = bb + c.errWriter = bb + + c.Usage() + + // Setting things back to normal + c.outWriter = tmpOutput + c.errWriter = tmpErr + + return bb.String() +} + +// FlagErrorFunc returns either the function set by SetFlagErrorFunc for this +// command or a parent, or it returns a function which returns the original +// error. +func (c *Command) FlagErrorFunc() (f func(*Command, error) error) { + if c.flagErrorFunc != nil { + return c.flagErrorFunc + } + + if c.HasParent() { + return c.parent.FlagErrorFunc() + } + return func(c *Command, err error) error { + return err + } +} + +var minUsagePadding = 25 + +// UsagePadding return padding for the usage. +func (c *Command) UsagePadding() int { + if c.parent == nil || minUsagePadding > c.parent.commandsMaxUseLen { + return minUsagePadding + } + return c.parent.commandsMaxUseLen +} + +var minCommandPathPadding = 11 + +// CommandPathPadding return padding for the command path. +func (c *Command) CommandPathPadding() int { + if c.parent == nil || minCommandPathPadding > c.parent.commandsMaxCommandPathLen { + return minCommandPathPadding + } + return c.parent.commandsMaxCommandPathLen +} + +var minNamePadding = 11 + +// NamePadding returns padding for the name. +func (c *Command) NamePadding() int { + if c.parent == nil || minNamePadding > c.parent.commandsMaxNameLen { + return minNamePadding + } + return c.parent.commandsMaxNameLen +} + +// UsageTemplate returns usage template for the command. +func (c *Command) UsageTemplate() string { + if c.usageTemplate != "" { + return c.usageTemplate + } + + if c.HasParent() { + return c.parent.UsageTemplate() + } + return `Usage:{{if .Runnable}} + {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}} + {{.CommandPath}} [command]{{end}}{{if gt (len .Aliases) 0}} + +Aliases: + {{.NameAndAliases}}{{end}}{{if .HasExample}} + +Examples: +{{.Example}}{{end}}{{if .HasAvailableSubCommands}} + +Available Commands:{{range .Commands}}{{if (or .IsAvailableCommand (eq .Name "help"))}} + {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableLocalFlags}} + +Flags: +{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableInheritedFlags}} + +Global Flags: +{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasHelpSubCommands}} + +Additional help topics:{{range .Commands}}{{if .IsAdditionalHelpTopicCommand}} + {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableSubCommands}} + +Use "{{.CommandPath}} [command] --help" for more information about a command.{{end}} +` +} + +// HelpTemplate return help template for the command. +func (c *Command) HelpTemplate() string { + if c.helpTemplate != "" { + return c.helpTemplate + } + + if c.HasParent() { + return c.parent.HelpTemplate() + } + return `{{with (or .Long .Short)}}{{. | trimTrailingWhitespaces}} + +{{end}}{{if or .Runnable .HasSubCommands}}{{.UsageString}}{{end}}` +} + +// VersionTemplate return version template for the command. +func (c *Command) VersionTemplate() string { + if c.versionTemplate != "" { + return c.versionTemplate + } + + if c.HasParent() { + return c.parent.VersionTemplate() + } + return `{{with .Name}}{{printf "%s " .}}{{end}}{{printf "version %s" .Version}} +` +} + +func hasNoOptDefVal(name string, fs *flag.FlagSet) bool { + flag := fs.Lookup(name) + if flag == nil { + return false + } + return flag.NoOptDefVal != "" +} + +func shortHasNoOptDefVal(name string, fs *flag.FlagSet) bool { + if len(name) == 0 { + return false + } + + flag := fs.ShorthandLookup(name[:1]) + if flag == nil { + return false + } + return flag.NoOptDefVal != "" +} + +func stripFlags(args []string, c *Command) []string { + if len(args) == 0 { + return args + } + c.mergePersistentFlags() + + commands := []string{} + flags := c.Flags() + +Loop: + for len(args) > 0 { + s := args[0] + args = args[1:] + switch { + case s == "--": + // "--" terminates the flags + break Loop + case strings.HasPrefix(s, "--") && !strings.Contains(s, "=") && !hasNoOptDefVal(s[2:], flags): + // If '--flag arg' then + // delete arg from args. + fallthrough // (do the same as below) + case strings.HasPrefix(s, "-") && !strings.Contains(s, "=") && len(s) == 2 && !shortHasNoOptDefVal(s[1:], flags): + // If '-f arg' then + // delete 'arg' from args or break the loop if len(args) <= 1. + if len(args) <= 1 { + break Loop + } else { + args = args[1:] + continue + } + case s != "" && !strings.HasPrefix(s, "-"): + commands = append(commands, s) + } + } + + return commands +} + +// argsMinusFirstX removes only the first x from args. Otherwise, commands that look like +// openshift admin policy add-role-to-user admin my-user, lose the admin argument (arg[4]). +func argsMinusFirstX(args []string, x string) []string { + for i, y := range args { + if x == y { + ret := []string{} + ret = append(ret, args[:i]...) + ret = append(ret, args[i+1:]...) + return ret + } + } + return args +} + +func isFlagArg(arg string) bool { + return ((len(arg) >= 3 && arg[1] == '-') || + (len(arg) >= 2 && arg[0] == '-' && arg[1] != '-')) +} + +// Find the target command given the args and command tree +// Meant to be run on the highest node. Only searches down. +func (c *Command) Find(args []string) (*Command, []string, error) { + var innerfind func(*Command, []string) (*Command, []string) + + innerfind = func(c *Command, innerArgs []string) (*Command, []string) { + argsWOflags := stripFlags(innerArgs, c) + if len(argsWOflags) == 0 { + return c, innerArgs + } + nextSubCmd := argsWOflags[0] + + cmd := c.findNext(nextSubCmd) + if cmd != nil { + return innerfind(cmd, argsMinusFirstX(innerArgs, nextSubCmd)) + } + return c, innerArgs + } + + commandFound, a := innerfind(c, args) + if commandFound.Args == nil { + return commandFound, a, legacyArgs(commandFound, stripFlags(a, commandFound)) + } + return commandFound, a, nil +} + +func (c *Command) findSuggestions(arg string) string { + if c.DisableSuggestions { + return "" + } + if c.SuggestionsMinimumDistance <= 0 { + c.SuggestionsMinimumDistance = 2 + } + suggestionsString := "" + if suggestions := c.SuggestionsFor(arg); len(suggestions) > 0 { + suggestionsString += "\n\nDid you mean this?\n" + for _, s := range suggestions { + suggestionsString += fmt.Sprintf("\t%v\n", s) + } + } + return suggestionsString +} + +func (c *Command) findNext(next string) *Command { + matches := make([]*Command, 0) + for _, cmd := range c.commands { + if cmd.Name() == next || cmd.HasAlias(next) { + cmd.commandCalledAs.name = next + return cmd + } + if EnablePrefixMatching && cmd.hasNameOrAliasPrefix(next) { + matches = append(matches, cmd) + } + } + + if len(matches) == 1 { + return matches[0] + } + + return nil +} + +// Traverse the command tree to find the command, and parse args for +// each parent. +func (c *Command) Traverse(args []string) (*Command, []string, error) { + flags := []string{} + inFlag := false + + for i, arg := range args { + switch { + // A long flag with a space separated value + case strings.HasPrefix(arg, "--") && !strings.Contains(arg, "="): + // TODO: this isn't quite right, we should really check ahead for 'true' or 'false' + inFlag = !hasNoOptDefVal(arg[2:], c.Flags()) + flags = append(flags, arg) + continue + // A short flag with a space separated value + case strings.HasPrefix(arg, "-") && !strings.Contains(arg, "=") && len(arg) == 2 && !shortHasNoOptDefVal(arg[1:], c.Flags()): + inFlag = true + flags = append(flags, arg) + continue + // The value for a flag + case inFlag: + inFlag = false + flags = append(flags, arg) + continue + // A flag without a value, or with an `=` separated value + case isFlagArg(arg): + flags = append(flags, arg) + continue + } + + cmd := c.findNext(arg) + if cmd == nil { + return c, args, nil + } + + if err := c.ParseFlags(flags); err != nil { + return nil, args, err + } + return cmd.Traverse(args[i+1:]) + } + return c, args, nil +} + +// SuggestionsFor provides suggestions for the typedName. +func (c *Command) SuggestionsFor(typedName string) []string { + suggestions := []string{} + for _, cmd := range c.commands { + if cmd.IsAvailableCommand() { + levenshteinDistance := ld(typedName, cmd.Name(), true) + suggestByLevenshtein := levenshteinDistance <= c.SuggestionsMinimumDistance + suggestByPrefix := strings.HasPrefix(strings.ToLower(cmd.Name()), strings.ToLower(typedName)) + if suggestByLevenshtein || suggestByPrefix { + suggestions = append(suggestions, cmd.Name()) + } + for _, explicitSuggestion := range cmd.SuggestFor { + if strings.EqualFold(typedName, explicitSuggestion) { + suggestions = append(suggestions, cmd.Name()) + } + } + } + } + return suggestions +} + +// VisitParents visits all parents of the command and invokes fn on each parent. +func (c *Command) VisitParents(fn func(*Command)) { + if c.HasParent() { + fn(c.Parent()) + c.Parent().VisitParents(fn) + } +} + +// Root finds root command. +func (c *Command) Root() *Command { + if c.HasParent() { + return c.Parent().Root() + } + return c +} + +// ArgsLenAtDash will return the length of c.Flags().Args at the moment +// when a -- was found during args parsing. +func (c *Command) ArgsLenAtDash() int { + return c.Flags().ArgsLenAtDash() +} + +func (c *Command) execute(a []string) (err error) { + if c == nil { + return fmt.Errorf("Called Execute() on a nil Command") + } + + if len(c.Deprecated) > 0 { + c.Printf("Command %q is deprecated, %s\n", c.Name(), c.Deprecated) + } + + // initialize help and version flag at the last point possible to allow for user + // overriding + c.InitDefaultHelpFlag() + c.InitDefaultVersionFlag() + + err = c.ParseFlags(a) + if err != nil { + return c.FlagErrorFunc()(c, err) + } + + // If help is called, regardless of other flags, return we want help. + // Also say we need help if the command isn't runnable. + helpVal, err := c.Flags().GetBool("help") + if err != nil { + // should be impossible to get here as we always declare a help + // flag in InitDefaultHelpFlag() + c.Println("\"help\" flag declared as non-bool. Please correct your code") + return err + } + + if helpVal { + return flag.ErrHelp + } + + // for back-compat, only add version flag behavior if version is defined + if c.Version != "" { + versionVal, err := c.Flags().GetBool("version") + if err != nil { + c.Println("\"version\" flag declared as non-bool. Please correct your code") + return err + } + if versionVal { + err := tmpl(c.OutOrStdout(), c.VersionTemplate(), c) + if err != nil { + c.Println(err) + } + return err + } + } + + if !c.Runnable() { + return flag.ErrHelp + } + + c.preRun() + + argWoFlags := c.Flags().Args() + if c.DisableFlagParsing { + argWoFlags = a + } + + if err := c.ValidateArgs(argWoFlags); err != nil { + return err + } + + for p := c; p != nil; p = p.Parent() { + if p.PersistentPreRunE != nil { + if err := p.PersistentPreRunE(c, argWoFlags); err != nil { + return err + } + break + } else if p.PersistentPreRun != nil { + p.PersistentPreRun(c, argWoFlags) + break + } + } + if c.PreRunE != nil { + if err := c.PreRunE(c, argWoFlags); err != nil { + return err + } + } else if c.PreRun != nil { + c.PreRun(c, argWoFlags) + } + + if err := c.validateRequiredFlags(); err != nil { + return err + } + if c.RunE != nil { + if err := c.RunE(c, argWoFlags); err != nil { + return err + } + } else { + c.Run(c, argWoFlags) + } + if c.PostRunE != nil { + if err := c.PostRunE(c, argWoFlags); err != nil { + return err + } + } else if c.PostRun != nil { + c.PostRun(c, argWoFlags) + } + for p := c; p != nil; p = p.Parent() { + if p.PersistentPostRunE != nil { + if err := p.PersistentPostRunE(c, argWoFlags); err != nil { + return err + } + break + } else if p.PersistentPostRun != nil { + p.PersistentPostRun(c, argWoFlags) + break + } + } + + return nil +} + +func (c *Command) preRun() { + for _, x := range initializers { + x() + } +} + +// Execute uses the args (os.Args[1:] by default) +// and run through the command tree finding appropriate matches +// for commands and then corresponding flags. +func (c *Command) Execute() error { + _, err := c.ExecuteC() + return err +} + +// ExecuteC executes the command. +func (c *Command) ExecuteC() (cmd *Command, err error) { + // Regardless of what command execute is called on, run on Root only + if c.HasParent() { + return c.Root().ExecuteC() + } + + // windows hook + if preExecHookFn != nil { + preExecHookFn(c) + } + + // initialize help as the last point possible to allow for user + // overriding + c.InitDefaultHelpCmd() + + args := c.args + + // Workaround FAIL with "go test -v" or "cobra.test -test.v", see #155 + if c.args == nil && filepath.Base(os.Args[0]) != "cobra.test" { + args = os.Args[1:] + } + + var flags []string + if c.TraverseChildren { + cmd, flags, err = c.Traverse(args) + } else { + cmd, flags, err = c.Find(args) + } + if err != nil { + // If found parse to a subcommand and then failed, talk about the subcommand + if cmd != nil { + c = cmd + } + if !c.SilenceErrors { + c.Println("Error:", err.Error()) + c.Printf("Run '%v --help' for usage.\n", c.CommandPath()) + } + return c, err + } + + cmd.commandCalledAs.called = true + if cmd.commandCalledAs.name == "" { + cmd.commandCalledAs.name = cmd.Name() + } + + err = cmd.execute(flags) + if err != nil { + // Always show help if requested, even if SilenceErrors is in + // effect + if err == flag.ErrHelp { + cmd.HelpFunc()(cmd, args) + return cmd, nil + } + + // If root command has SilentErrors flagged, + // all subcommands should respect it + if !cmd.SilenceErrors && !c.SilenceErrors { + c.Println("Error:", err.Error()) + } + + // If root command has SilentUsage flagged, + // all subcommands should respect it + if !cmd.SilenceUsage && !c.SilenceUsage { + c.Println(cmd.UsageString()) + } + } + return cmd, err +} + +func (c *Command) ValidateArgs(args []string) error { + if c.Args == nil { + return nil + } + return c.Args(c, args) +} + +func (c *Command) validateRequiredFlags() error { + flags := c.Flags() + missingFlagNames := []string{} + flags.VisitAll(func(pflag *flag.Flag) { + requiredAnnotation, found := pflag.Annotations[BashCompOneRequiredFlag] + if !found { + return + } + if (requiredAnnotation[0] == "true") && !pflag.Changed { + missingFlagNames = append(missingFlagNames, pflag.Name) + } + }) + + if len(missingFlagNames) > 0 { + return fmt.Errorf(`required flag(s) "%s" not set`, strings.Join(missingFlagNames, `", "`)) + } + return nil +} + +// InitDefaultHelpFlag adds default help flag to c. +// It is called automatically by executing the c or by calling help and usage. +// If c already has help flag, it will do nothing. +func (c *Command) InitDefaultHelpFlag() { + c.mergePersistentFlags() + if c.Flags().Lookup("help") == nil { + usage := "help for " + if c.Name() == "" { + usage += "this command" + } else { + usage += c.Name() + } + c.Flags().BoolP("help", "h", false, usage) + } +} + +// InitDefaultVersionFlag adds default version flag to c. +// It is called automatically by executing the c. +// If c already has a version flag, it will do nothing. +// If c.Version is empty, it will do nothing. +func (c *Command) InitDefaultVersionFlag() { + if c.Version == "" { + return + } + + c.mergePersistentFlags() + if c.Flags().Lookup("version") == nil { + usage := "version for " + if c.Name() == "" { + usage += "this command" + } else { + usage += c.Name() + } + c.Flags().Bool("version", false, usage) + } +} + +// InitDefaultHelpCmd adds default help command to c. +// It is called automatically by executing the c or by calling help and usage. +// If c already has help command or c has no subcommands, it will do nothing. +func (c *Command) InitDefaultHelpCmd() { + if !c.HasSubCommands() { + return + } + + if c.helpCommand == nil { + c.helpCommand = &Command{ + Use: "help [command]", + Short: "Help about any command", + Long: `Help provides help for any command in the application. +Simply type ` + c.Name() + ` help [path to command] for full details.`, + + Run: func(c *Command, args []string) { + cmd, _, e := c.Root().Find(args) + if cmd == nil || e != nil { + c.Printf("Unknown help topic %#q\n", args) + c.Root().Usage() + } else { + cmd.InitDefaultHelpFlag() // make possible 'help' flag to be shown + cmd.Help() + } + }, + } + } + c.RemoveCommand(c.helpCommand) + c.AddCommand(c.helpCommand) +} + +// ResetCommands delete parent, subcommand and help command from c. +func (c *Command) ResetCommands() { + c.parent = nil + c.commands = nil + c.helpCommand = nil + c.parentsPflags = nil +} + +// Sorts commands by their names. +type commandSorterByName []*Command + +func (c commandSorterByName) Len() int { return len(c) } +func (c commandSorterByName) Swap(i, j int) { c[i], c[j] = c[j], c[i] } +func (c commandSorterByName) Less(i, j int) bool { return c[i].Name() < c[j].Name() } + +// Commands returns a sorted slice of child commands. +func (c *Command) Commands() []*Command { + // do not sort commands if it already sorted or sorting was disabled + if EnableCommandSorting && !c.commandsAreSorted { + sort.Sort(commandSorterByName(c.commands)) + c.commandsAreSorted = true + } + return c.commands +} + +// AddCommand adds one or more commands to this parent command. +func (c *Command) AddCommand(cmds ...*Command) { + for i, x := range cmds { + if cmds[i] == c { + panic("Command can't be a child of itself") + } + cmds[i].parent = c + // update max lengths + usageLen := len(x.Use) + if usageLen > c.commandsMaxUseLen { + c.commandsMaxUseLen = usageLen + } + commandPathLen := len(x.CommandPath()) + if commandPathLen > c.commandsMaxCommandPathLen { + c.commandsMaxCommandPathLen = commandPathLen + } + nameLen := len(x.Name()) + if nameLen > c.commandsMaxNameLen { + c.commandsMaxNameLen = nameLen + } + // If global normalization function exists, update all children + if c.globNormFunc != nil { + x.SetGlobalNormalizationFunc(c.globNormFunc) + } + c.commands = append(c.commands, x) + c.commandsAreSorted = false + } +} + +// RemoveCommand removes one or more commands from a parent command. +func (c *Command) RemoveCommand(cmds ...*Command) { + commands := []*Command{} +main: + for _, command := range c.commands { + for _, cmd := range cmds { + if command == cmd { + command.parent = nil + continue main + } + } + commands = append(commands, command) + } + c.commands = commands + // recompute all lengths + c.commandsMaxUseLen = 0 + c.commandsMaxCommandPathLen = 0 + c.commandsMaxNameLen = 0 + for _, command := range c.commands { + usageLen := len(command.Use) + if usageLen > c.commandsMaxUseLen { + c.commandsMaxUseLen = usageLen + } + commandPathLen := len(command.CommandPath()) + if commandPathLen > c.commandsMaxCommandPathLen { + c.commandsMaxCommandPathLen = commandPathLen + } + nameLen := len(command.Name()) + if nameLen > c.commandsMaxNameLen { + c.commandsMaxNameLen = nameLen + } + } +} + +// Print is a convenience method to Print to the defined output, fallback to Stderr if not set. +func (c *Command) Print(i ...interface{}) { + fmt.Fprint(c.OutOrStderr(), i...) +} + +// Println is a convenience method to Println to the defined output, fallback to Stderr if not set. +func (c *Command) Println(i ...interface{}) { + c.Print(fmt.Sprintln(i...)) +} + +// Printf is a convenience method to Printf to the defined output, fallback to Stderr if not set. +func (c *Command) Printf(format string, i ...interface{}) { + c.Print(fmt.Sprintf(format, i...)) +} + +// PrintErr is a convenience method to Print to the defined Err output, fallback to Stderr if not set. +func (c *Command) PrintErr(i ...interface{}) { + fmt.Fprint(c.ErrOrStderr(), i...) +} + +// PrintErrln is a convenience method to Println to the defined Err output, fallback to Stderr if not set. +func (c *Command) PrintErrln(i ...interface{}) { + c.Print(fmt.Sprintln(i...)) +} + +// PrintErrf is a convenience method to Printf to the defined Err output, fallback to Stderr if not set. +func (c *Command) PrintErrf(format string, i ...interface{}) { + c.Print(fmt.Sprintf(format, i...)) +} + +// CommandPath returns the full path to this command. +func (c *Command) CommandPath() string { + if c.HasParent() { + return c.Parent().CommandPath() + " " + c.Name() + } + return c.Name() +} + +// UseLine puts out the full usage for a given command (including parents). +func (c *Command) UseLine() string { + var useline string + if c.HasParent() { + useline = c.parent.CommandPath() + " " + c.Use + } else { + useline = c.Use + } + if c.DisableFlagsInUseLine { + return useline + } + if c.HasAvailableFlags() && !strings.Contains(useline, "[flags]") { + useline += " [flags]" + } + return useline +} + +// DebugFlags used to determine which flags have been assigned to which commands +// and which persist. +func (c *Command) DebugFlags() { + c.Println("DebugFlags called on", c.Name()) + var debugflags func(*Command) + + debugflags = func(x *Command) { + if x.HasFlags() || x.HasPersistentFlags() { + c.Println(x.Name()) + } + if x.HasFlags() { + x.flags.VisitAll(func(f *flag.Flag) { + if x.HasPersistentFlags() && x.persistentFlag(f.Name) != nil { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [LP]") + } else { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [L]") + } + }) + } + if x.HasPersistentFlags() { + x.pflags.VisitAll(func(f *flag.Flag) { + if x.HasFlags() { + if x.flags.Lookup(f.Name) == nil { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [P]") + } + } else { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [P]") + } + }) + } + c.Println(x.flagErrorBuf) + if x.HasSubCommands() { + for _, y := range x.commands { + debugflags(y) + } + } + } + + debugflags(c) +} + +// Name returns the command's name: the first word in the use line. +func (c *Command) Name() string { + name := c.Use + i := strings.Index(name, " ") + if i >= 0 { + name = name[:i] + } + return name +} + +// HasAlias determines if a given string is an alias of the command. +func (c *Command) HasAlias(s string) bool { + for _, a := range c.Aliases { + if a == s { + return true + } + } + return false +} + +// CalledAs returns the command name or alias that was used to invoke +// this command or an empty string if the command has not been called. +func (c *Command) CalledAs() string { + if c.commandCalledAs.called { + return c.commandCalledAs.name + } + return "" +} + +// hasNameOrAliasPrefix returns true if the Name or any of aliases start +// with prefix +func (c *Command) hasNameOrAliasPrefix(prefix string) bool { + if strings.HasPrefix(c.Name(), prefix) { + c.commandCalledAs.name = c.Name() + return true + } + for _, alias := range c.Aliases { + if strings.HasPrefix(alias, prefix) { + c.commandCalledAs.name = alias + return true + } + } + return false +} + +// NameAndAliases returns a list of the command name and all aliases +func (c *Command) NameAndAliases() string { + return strings.Join(append([]string{c.Name()}, c.Aliases...), ", ") +} + +// HasExample determines if the command has example. +func (c *Command) HasExample() bool { + return len(c.Example) > 0 +} + +// Runnable determines if the command is itself runnable. +func (c *Command) Runnable() bool { + return c.Run != nil || c.RunE != nil +} + +// HasSubCommands determines if the command has children commands. +func (c *Command) HasSubCommands() bool { + return len(c.commands) > 0 +} + +// IsAvailableCommand determines if a command is available as a non-help command +// (this includes all non deprecated/hidden commands). +func (c *Command) IsAvailableCommand() bool { + if len(c.Deprecated) != 0 || c.Hidden { + return false + } + + if c.HasParent() && c.Parent().helpCommand == c { + return false + } + + if c.Runnable() || c.HasAvailableSubCommands() { + return true + } + + return false +} + +// IsAdditionalHelpTopicCommand determines if a command is an additional +// help topic command; additional help topic command is determined by the +// fact that it is NOT runnable/hidden/deprecated, and has no sub commands that +// are runnable/hidden/deprecated. +// Concrete example: https://github.com/spf13/cobra/issues/393#issuecomment-282741924. +func (c *Command) IsAdditionalHelpTopicCommand() bool { + // if a command is runnable, deprecated, or hidden it is not a 'help' command + if c.Runnable() || len(c.Deprecated) != 0 || c.Hidden { + return false + } + + // if any non-help sub commands are found, the command is not a 'help' command + for _, sub := range c.commands { + if !sub.IsAdditionalHelpTopicCommand() { + return false + } + } + + // the command either has no sub commands, or no non-help sub commands + return true +} + +// HasHelpSubCommands determines if a command has any available 'help' sub commands +// that need to be shown in the usage/help default template under 'additional help +// topics'. +func (c *Command) HasHelpSubCommands() bool { + // return true on the first found available 'help' sub command + for _, sub := range c.commands { + if sub.IsAdditionalHelpTopicCommand() { + return true + } + } + + // the command either has no sub commands, or no available 'help' sub commands + return false +} + +// HasAvailableSubCommands determines if a command has available sub commands that +// need to be shown in the usage/help default template under 'available commands'. +func (c *Command) HasAvailableSubCommands() bool { + // return true on the first found available (non deprecated/help/hidden) + // sub command + for _, sub := range c.commands { + if sub.IsAvailableCommand() { + return true + } + } + + // the command either has no sub commands, or no available (non deprecated/help/hidden) + // sub commands + return false +} + +// HasParent determines if the command is a child command. +func (c *Command) HasParent() bool { + return c.parent != nil +} + +// GlobalNormalizationFunc returns the global normalization function or nil if it doesn't exist. +func (c *Command) GlobalNormalizationFunc() func(f *flag.FlagSet, name string) flag.NormalizedName { + return c.globNormFunc +} + +// Flags returns the complete FlagSet that applies +// to this command (local and persistent declared here and by all parents). +func (c *Command) Flags() *flag.FlagSet { + if c.flags == nil { + c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.flags.SetOutput(c.flagErrorBuf) + } + + return c.flags +} + +// LocalNonPersistentFlags are flags specific to this command which will NOT persist to subcommands. +func (c *Command) LocalNonPersistentFlags() *flag.FlagSet { + persistentFlags := c.PersistentFlags() + + out := flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.LocalFlags().VisitAll(func(f *flag.Flag) { + if persistentFlags.Lookup(f.Name) == nil { + out.AddFlag(f) + } + }) + return out +} + +// LocalFlags returns the local FlagSet specifically set in the current command. +func (c *Command) LocalFlags() *flag.FlagSet { + c.mergePersistentFlags() + + if c.lflags == nil { + c.lflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.lflags.SetOutput(c.flagErrorBuf) + } + c.lflags.SortFlags = c.Flags().SortFlags + if c.globNormFunc != nil { + c.lflags.SetNormalizeFunc(c.globNormFunc) + } + + addToLocal := func(f *flag.Flag) { + if c.lflags.Lookup(f.Name) == nil && c.parentsPflags.Lookup(f.Name) == nil { + c.lflags.AddFlag(f) + } + } + c.Flags().VisitAll(addToLocal) + c.PersistentFlags().VisitAll(addToLocal) + return c.lflags +} + +// InheritedFlags returns all flags which were inherited from parent commands. +func (c *Command) InheritedFlags() *flag.FlagSet { + c.mergePersistentFlags() + + if c.iflags == nil { + c.iflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.iflags.SetOutput(c.flagErrorBuf) + } + + local := c.LocalFlags() + if c.globNormFunc != nil { + c.iflags.SetNormalizeFunc(c.globNormFunc) + } + + c.parentsPflags.VisitAll(func(f *flag.Flag) { + if c.iflags.Lookup(f.Name) == nil && local.Lookup(f.Name) == nil { + c.iflags.AddFlag(f) + } + }) + return c.iflags +} + +// NonInheritedFlags returns all flags which were not inherited from parent commands. +func (c *Command) NonInheritedFlags() *flag.FlagSet { + return c.LocalFlags() +} + +// PersistentFlags returns the persistent FlagSet specifically set in the current command. +func (c *Command) PersistentFlags() *flag.FlagSet { + if c.pflags == nil { + c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.pflags.SetOutput(c.flagErrorBuf) + } + return c.pflags +} + +// ResetFlags deletes all flags from command. +func (c *Command) ResetFlags() { + c.flagErrorBuf = new(bytes.Buffer) + c.flagErrorBuf.Reset() + c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.flags.SetOutput(c.flagErrorBuf) + c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.pflags.SetOutput(c.flagErrorBuf) + + c.lflags = nil + c.iflags = nil + c.parentsPflags = nil +} + +// HasFlags checks if the command contains any flags (local plus persistent from the entire structure). +func (c *Command) HasFlags() bool { + return c.Flags().HasFlags() +} + +// HasPersistentFlags checks if the command contains persistent flags. +func (c *Command) HasPersistentFlags() bool { + return c.PersistentFlags().HasFlags() +} + +// HasLocalFlags checks if the command has flags specifically declared locally. +func (c *Command) HasLocalFlags() bool { + return c.LocalFlags().HasFlags() +} + +// HasInheritedFlags checks if the command has flags inherited from its parent command. +func (c *Command) HasInheritedFlags() bool { + return c.InheritedFlags().HasFlags() +} + +// HasAvailableFlags checks if the command contains any flags (local plus persistent from the entire +// structure) which are not hidden or deprecated. +func (c *Command) HasAvailableFlags() bool { + return c.Flags().HasAvailableFlags() +} + +// HasAvailablePersistentFlags checks if the command contains persistent flags which are not hidden or deprecated. +func (c *Command) HasAvailablePersistentFlags() bool { + return c.PersistentFlags().HasAvailableFlags() +} + +// HasAvailableLocalFlags checks if the command has flags specifically declared locally which are not hidden +// or deprecated. +func (c *Command) HasAvailableLocalFlags() bool { + return c.LocalFlags().HasAvailableFlags() +} + +// HasAvailableInheritedFlags checks if the command has flags inherited from its parent command which are +// not hidden or deprecated. +func (c *Command) HasAvailableInheritedFlags() bool { + return c.InheritedFlags().HasAvailableFlags() +} + +// Flag climbs up the command tree looking for matching flag. +func (c *Command) Flag(name string) (flag *flag.Flag) { + flag = c.Flags().Lookup(name) + + if flag == nil { + flag = c.persistentFlag(name) + } + + return +} + +// Recursively find matching persistent flag. +func (c *Command) persistentFlag(name string) (flag *flag.Flag) { + if c.HasPersistentFlags() { + flag = c.PersistentFlags().Lookup(name) + } + + if flag == nil { + c.updateParentsPflags() + flag = c.parentsPflags.Lookup(name) + } + return +} + +// ParseFlags parses persistent flag tree and local flags. +func (c *Command) ParseFlags(args []string) error { + if c.DisableFlagParsing { + return nil + } + + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + beforeErrorBufLen := c.flagErrorBuf.Len() + c.mergePersistentFlags() + + //do it here after merging all flags and just before parse + c.Flags().ParseErrorsWhitelist = flag.ParseErrorsWhitelist(c.FParseErrWhitelist) + + err := c.Flags().Parse(args) + // Print warnings if they occurred (e.g. deprecated flag messages). + if c.flagErrorBuf.Len()-beforeErrorBufLen > 0 && err == nil { + c.Print(c.flagErrorBuf.String()) + } + + return err +} + +// Parent returns a commands parent command. +func (c *Command) Parent() *Command { + return c.parent +} + +// mergePersistentFlags merges c.PersistentFlags() to c.Flags() +// and adds missing persistent flags of all parents. +func (c *Command) mergePersistentFlags() { + c.updateParentsPflags() + c.Flags().AddFlagSet(c.PersistentFlags()) + c.Flags().AddFlagSet(c.parentsPflags) +} + +// updateParentsPflags updates c.parentsPflags by adding +// new persistent flags of all parents. +// If c.parentsPflags == nil, it makes new. +func (c *Command) updateParentsPflags() { + if c.parentsPflags == nil { + c.parentsPflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.parentsPflags.SetOutput(c.flagErrorBuf) + c.parentsPflags.SortFlags = false + } + + if c.globNormFunc != nil { + c.parentsPflags.SetNormalizeFunc(c.globNormFunc) + } + + c.Root().PersistentFlags().AddFlagSet(flag.CommandLine) + + c.VisitParents(func(parent *Command) { + c.parentsPflags.AddFlagSet(parent.PersistentFlags()) + }) +} diff --git a/vendor/github.com/spf13/cobra/command_notwin.go b/vendor/github.com/spf13/cobra/command_notwin.go new file mode 100644 index 00000000..6159c1cc --- /dev/null +++ b/vendor/github.com/spf13/cobra/command_notwin.go @@ -0,0 +1,5 @@ +// +build !windows + +package cobra + +var preExecHookFn func(*Command) diff --git a/vendor/github.com/spf13/cobra/command_win.go b/vendor/github.com/spf13/cobra/command_win.go new file mode 100644 index 00000000..8768b173 --- /dev/null +++ b/vendor/github.com/spf13/cobra/command_win.go @@ -0,0 +1,26 @@ +// +build windows + +package cobra + +import ( + "fmt" + "os" + "time" + + "github.com/inconshreveable/mousetrap" +) + +var preExecHookFn = preExecHook + +func preExecHook(c *Command) { + if MousetrapHelpText != "" && mousetrap.StartedByExplorer() { + c.Print(MousetrapHelpText) + if MousetrapDisplayDuration > 0 { + time.Sleep(MousetrapDisplayDuration) + } else { + c.Println("Press return to continue...") + fmt.Scanln() + } + os.Exit(1) + } +} diff --git a/vendor/github.com/spf13/cobra/go.mod b/vendor/github.com/spf13/cobra/go.mod new file mode 100644 index 00000000..9a9eb65a --- /dev/null +++ b/vendor/github.com/spf13/cobra/go.mod @@ -0,0 +1,13 @@ +module github.com/spf13/cobra + +go 1.12 + +require ( + github.com/BurntSushi/toml v0.3.1 // indirect + github.com/cpuguy83/go-md2man v1.0.10 + github.com/inconshreveable/mousetrap v1.0.0 + github.com/mitchellh/go-homedir v1.1.0 + github.com/spf13/pflag v1.0.3 + github.com/spf13/viper v1.3.2 + gopkg.in/yaml.v2 v2.2.2 +) diff --git a/vendor/github.com/spf13/cobra/go.sum b/vendor/github.com/spf13/cobra/go.sum new file mode 100644 index 00000000..9761f4d0 --- /dev/null +++ b/vendor/github.com/spf13/cobra/go.sum @@ -0,0 +1,51 @@ +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.3.2 h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a h1:1n5lsVfiQW3yfsRGu98756EH1YthsFqr/5mxHduZW2A= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/spf13/cobra/powershell_completions.go b/vendor/github.com/spf13/cobra/powershell_completions.go new file mode 100644 index 00000000..756c61b9 --- /dev/null +++ b/vendor/github.com/spf13/cobra/powershell_completions.go @@ -0,0 +1,100 @@ +// PowerShell completions are based on the amazing work from clap: +// https://github.com/clap-rs/clap/blob/3294d18efe5f264d12c9035f404c7d189d4824e1/src/completions/powershell.rs +// +// The generated scripts require PowerShell v5.0+ (which comes Windows 10, but +// can be downloaded separately for windows 7 or 8.1). + +package cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "strings" + + "github.com/spf13/pflag" +) + +var powerShellCompletionTemplate = `using namespace System.Management.Automation +using namespace System.Management.Automation.Language +Register-ArgumentCompleter -Native -CommandName '%s' -ScriptBlock { + param($wordToComplete, $commandAst, $cursorPosition) + $commandElements = $commandAst.CommandElements + $command = @( + '%s' + for ($i = 1; $i -lt $commandElements.Count; $i++) { + $element = $commandElements[$i] + if ($element -isnot [StringConstantExpressionAst] -or + $element.StringConstantType -ne [StringConstantType]::BareWord -or + $element.Value.StartsWith('-')) { + break + } + $element.Value + } + ) -join ';' + $completions = @(switch ($command) {%s + }) + $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | + Sort-Object -Property ListItemText +}` + +func generatePowerShellSubcommandCases(out io.Writer, cmd *Command, previousCommandName string) { + var cmdName string + if previousCommandName == "" { + cmdName = cmd.Name() + } else { + cmdName = fmt.Sprintf("%s;%s", previousCommandName, cmd.Name()) + } + + fmt.Fprintf(out, "\n '%s' {", cmdName) + + cmd.Flags().VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + usage := escapeStringForPowerShell(flag.Usage) + if len(flag.Shorthand) > 0 { + fmt.Fprintf(out, "\n [CompletionResult]::new('-%s', '%s', [CompletionResultType]::ParameterName, '%s')", flag.Shorthand, flag.Shorthand, usage) + } + fmt.Fprintf(out, "\n [CompletionResult]::new('--%s', '%s', [CompletionResultType]::ParameterName, '%s')", flag.Name, flag.Name, usage) + }) + + for _, subCmd := range cmd.Commands() { + usage := escapeStringForPowerShell(subCmd.Short) + fmt.Fprintf(out, "\n [CompletionResult]::new('%s', '%s', [CompletionResultType]::ParameterValue, '%s')", subCmd.Name(), subCmd.Name(), usage) + } + + fmt.Fprint(out, "\n break\n }") + + for _, subCmd := range cmd.Commands() { + generatePowerShellSubcommandCases(out, subCmd, cmdName) + } +} + +func escapeStringForPowerShell(s string) string { + return strings.Replace(s, "'", "''", -1) +} + +// GenPowerShellCompletion generates PowerShell completion file and writes to the passed writer. +func (c *Command) GenPowerShellCompletion(w io.Writer) error { + buf := new(bytes.Buffer) + + var subCommandCases bytes.Buffer + generatePowerShellSubcommandCases(&subCommandCases, c, "") + fmt.Fprintf(buf, powerShellCompletionTemplate, c.Name(), c.Name(), subCommandCases.String()) + + _, err := buf.WriteTo(w) + return err +} + +// GenPowerShellCompletionFile generates PowerShell completion file. +func (c *Command) GenPowerShellCompletionFile(filename string) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenPowerShellCompletion(outFile) +} diff --git a/vendor/github.com/spf13/cobra/powershell_completions.md b/vendor/github.com/spf13/cobra/powershell_completions.md new file mode 100644 index 00000000..afed8024 --- /dev/null +++ b/vendor/github.com/spf13/cobra/powershell_completions.md @@ -0,0 +1,14 @@ +# Generating PowerShell Completions For Your Own cobra.Command + +Cobra can generate PowerShell completion scripts. Users need PowerShell version 5.0 or above, which comes with Windows 10 and can be downloaded separately for Windows 7 or 8.1. They can then write the completions to a file and source this file from their PowerShell profile, which is referenced by the `$Profile` environment variable. See `Get-Help about_Profiles` for more info about PowerShell profiles. + +# What's supported + +- Completion for subcommands using their `.Short` description +- Completion for non-hidden flags using their `.Name` and `.Shorthand` + +# What's not yet supported + +- Command aliases +- Required, filename or custom flags (they will work like normal flags) +- Custom completion scripts diff --git a/vendor/github.com/spf13/cobra/shell_completions.go b/vendor/github.com/spf13/cobra/shell_completions.go new file mode 100644 index 00000000..ba0af9cb --- /dev/null +++ b/vendor/github.com/spf13/cobra/shell_completions.go @@ -0,0 +1,85 @@ +package cobra + +import ( + "github.com/spf13/pflag" +) + +// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag if it exists, +// and causes your command to report an error if invoked without the flag. +func (c *Command) MarkFlagRequired(name string) error { + return MarkFlagRequired(c.Flags(), name) +} + +// MarkPersistentFlagRequired adds the BashCompOneRequiredFlag annotation to the named persistent flag if it exists, +// and causes your command to report an error if invoked without the flag. +func (c *Command) MarkPersistentFlagRequired(name string) error { + return MarkFlagRequired(c.PersistentFlags(), name) +} + +// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag if it exists, +// and causes your command to report an error if invoked without the flag. +func MarkFlagRequired(flags *pflag.FlagSet, name string) error { + return flags.SetAnnotation(name, BashCompOneRequiredFlag, []string{"true"}) +} + +// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag, if it exists. +// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. +func (c *Command) MarkFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.Flags(), name, extensions...) +} + +// MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists. +// Generated bash autocompletion will call the bash function f for the flag. +func (c *Command) MarkFlagCustom(name string, f string) error { + return MarkFlagCustom(c.Flags(), name, f) +} + +// MarkPersistentFlagFilename instructs the various shell completion +// implementations to limit completions for this persistent flag to the +// specified extensions (patterns). +// +// Shell Completion compatibility matrix: bash, zsh +func (c *Command) MarkPersistentFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.PersistentFlags(), name, extensions...) +} + +// MarkFlagFilename instructs the various shell completion implementations to +// limit completions for this flag to the specified extensions (patterns). +// +// Shell Completion compatibility matrix: bash, zsh +func MarkFlagFilename(flags *pflag.FlagSet, name string, extensions ...string) error { + return flags.SetAnnotation(name, BashCompFilenameExt, extensions) +} + +// MarkFlagCustom instructs the various shell completion implementations to +// limit completions for this flag to the specified extensions (patterns). +// +// Shell Completion compatibility matrix: bash, zsh +func MarkFlagCustom(flags *pflag.FlagSet, name string, f string) error { + return flags.SetAnnotation(name, BashCompCustom, []string{f}) +} + +// MarkFlagDirname instructs the various shell completion implementations to +// complete only directories with this named flag. +// +// Shell Completion compatibility matrix: zsh +func (c *Command) MarkFlagDirname(name string) error { + return MarkFlagDirname(c.Flags(), name) +} + +// MarkPersistentFlagDirname instructs the various shell completion +// implementations to complete only directories with this persistent named flag. +// +// Shell Completion compatibility matrix: zsh +func (c *Command) MarkPersistentFlagDirname(name string) error { + return MarkFlagDirname(c.PersistentFlags(), name) +} + +// MarkFlagDirname instructs the various shell completion implementations to +// complete only directories with this specified flag. +// +// Shell Completion compatibility matrix: zsh +func MarkFlagDirname(flags *pflag.FlagSet, name string) error { + zshPattern := "-(/)" + return flags.SetAnnotation(name, zshCompDirname, []string{zshPattern}) +} diff --git a/vendor/github.com/spf13/cobra/zsh_completions.go b/vendor/github.com/spf13/cobra/zsh_completions.go new file mode 100644 index 00000000..12755482 --- /dev/null +++ b/vendor/github.com/spf13/cobra/zsh_completions.go @@ -0,0 +1,336 @@ +package cobra + +import ( + "encoding/json" + "fmt" + "io" + "os" + "sort" + "strings" + "text/template" + + "github.com/spf13/pflag" +) + +const ( + zshCompArgumentAnnotation = "cobra_annotations_zsh_completion_argument_annotation" + zshCompArgumentFilenameComp = "cobra_annotations_zsh_completion_argument_file_completion" + zshCompArgumentWordComp = "cobra_annotations_zsh_completion_argument_word_completion" + zshCompDirname = "cobra_annotations_zsh_dirname" +) + +var ( + zshCompFuncMap = template.FuncMap{ + "genZshFuncName": zshCompGenFuncName, + "extractFlags": zshCompExtractFlag, + "genFlagEntryForZshArguments": zshCompGenFlagEntryForArguments, + "extractArgsCompletions": zshCompExtractArgumentCompletionHintsForRendering, + } + zshCompletionText = ` +{{/* should accept Command (that contains subcommands) as parameter */}} +{{define "argumentsC" -}} +{{ $cmdPath := genZshFuncName .}} +function {{$cmdPath}} { + local -a commands + + _arguments -C \{{- range extractFlags .}} + {{genFlagEntryForZshArguments .}} \{{- end}} + "1: :->cmnds" \ + "*::arg:->args" + + case $state in + cmnds) + commands=({{range .Commands}}{{if not .Hidden}} + "{{.Name}}:{{.Short}}"{{end}}{{end}} + ) + _describe "command" commands + ;; + esac + + case "$words[1]" in {{- range .Commands}}{{if not .Hidden}} + {{.Name}}) + {{$cmdPath}}_{{.Name}} + ;;{{end}}{{end}} + esac +} +{{range .Commands}}{{if not .Hidden}} +{{template "selectCmdTemplate" .}} +{{- end}}{{end}} +{{- end}} + +{{/* should accept Command without subcommands as parameter */}} +{{define "arguments" -}} +function {{genZshFuncName .}} { +{{" _arguments"}}{{range extractFlags .}} \ + {{genFlagEntryForZshArguments . -}} +{{end}}{{range extractArgsCompletions .}} \ + {{.}}{{end}} +} +{{end}} + +{{/* dispatcher for commands with or without subcommands */}} +{{define "selectCmdTemplate" -}} +{{if .Hidden}}{{/* ignore hidden*/}}{{else -}} +{{if .Commands}}{{template "argumentsC" .}}{{else}}{{template "arguments" .}}{{end}} +{{- end}} +{{- end}} + +{{/* template entry point */}} +{{define "Main" -}} +#compdef _{{.Name}} {{.Name}} + +{{template "selectCmdTemplate" .}} +{{end}} +` +) + +// zshCompArgsAnnotation is used to encode/decode zsh completion for +// arguments to/from Command.Annotations. +type zshCompArgsAnnotation map[int]zshCompArgHint + +type zshCompArgHint struct { + // Indicates the type of the completion to use. One of: + // zshCompArgumentFilenameComp or zshCompArgumentWordComp + Tipe string `json:"type"` + + // A value for the type above (globs for file completion or words) + Options []string `json:"options"` +} + +// GenZshCompletionFile generates zsh completion file. +func (c *Command) GenZshCompletionFile(filename string) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenZshCompletion(outFile) +} + +// GenZshCompletion generates a zsh completion file and writes to the passed +// writer. The completion always run on the root command regardless of the +// command it was called from. +func (c *Command) GenZshCompletion(w io.Writer) error { + tmpl, err := template.New("Main").Funcs(zshCompFuncMap).Parse(zshCompletionText) + if err != nil { + return fmt.Errorf("error creating zsh completion template: %v", err) + } + return tmpl.Execute(w, c.Root()) +} + +// MarkZshCompPositionalArgumentFile marks the specified argument (first +// argument is 1) as completed by file selection. patterns (e.g. "*.txt") are +// optional - if not provided the completion will search for all files. +func (c *Command) MarkZshCompPositionalArgumentFile(argPosition int, patterns ...string) error { + if argPosition < 1 { + return fmt.Errorf("Invalid argument position (%d)", argPosition) + } + annotation, err := c.zshCompGetArgsAnnotations() + if err != nil { + return err + } + if c.zshcompArgsAnnotationnIsDuplicatePosition(annotation, argPosition) { + return fmt.Errorf("Duplicate annotation for positional argument at index %d", argPosition) + } + annotation[argPosition] = zshCompArgHint{ + Tipe: zshCompArgumentFilenameComp, + Options: patterns, + } + return c.zshCompSetArgsAnnotations(annotation) +} + +// MarkZshCompPositionalArgumentWords marks the specified positional argument +// (first argument is 1) as completed by the provided words. At east one word +// must be provided, spaces within words will be offered completion with +// "word\ word". +func (c *Command) MarkZshCompPositionalArgumentWords(argPosition int, words ...string) error { + if argPosition < 1 { + return fmt.Errorf("Invalid argument position (%d)", argPosition) + } + if len(words) == 0 { + return fmt.Errorf("Trying to set empty word list for positional argument %d", argPosition) + } + annotation, err := c.zshCompGetArgsAnnotations() + if err != nil { + return err + } + if c.zshcompArgsAnnotationnIsDuplicatePosition(annotation, argPosition) { + return fmt.Errorf("Duplicate annotation for positional argument at index %d", argPosition) + } + annotation[argPosition] = zshCompArgHint{ + Tipe: zshCompArgumentWordComp, + Options: words, + } + return c.zshCompSetArgsAnnotations(annotation) +} + +func zshCompExtractArgumentCompletionHintsForRendering(c *Command) ([]string, error) { + var result []string + annotation, err := c.zshCompGetArgsAnnotations() + if err != nil { + return nil, err + } + for k, v := range annotation { + s, err := zshCompRenderZshCompArgHint(k, v) + if err != nil { + return nil, err + } + result = append(result, s) + } + if len(c.ValidArgs) > 0 { + if _, positionOneExists := annotation[1]; !positionOneExists { + s, err := zshCompRenderZshCompArgHint(1, zshCompArgHint{ + Tipe: zshCompArgumentWordComp, + Options: c.ValidArgs, + }) + if err != nil { + return nil, err + } + result = append(result, s) + } + } + sort.Strings(result) + return result, nil +} + +func zshCompRenderZshCompArgHint(i int, z zshCompArgHint) (string, error) { + switch t := z.Tipe; t { + case zshCompArgumentFilenameComp: + var globs []string + for _, g := range z.Options { + globs = append(globs, fmt.Sprintf(`-g "%s"`, g)) + } + return fmt.Sprintf(`'%d: :_files %s'`, i, strings.Join(globs, " ")), nil + case zshCompArgumentWordComp: + var words []string + for _, w := range z.Options { + words = append(words, fmt.Sprintf("%q", w)) + } + return fmt.Sprintf(`'%d: :(%s)'`, i, strings.Join(words, " ")), nil + default: + return "", fmt.Errorf("Invalid zsh argument completion annotation: %s", t) + } +} + +func (c *Command) zshcompArgsAnnotationnIsDuplicatePosition(annotation zshCompArgsAnnotation, position int) bool { + _, dup := annotation[position] + return dup +} + +func (c *Command) zshCompGetArgsAnnotations() (zshCompArgsAnnotation, error) { + annotation := make(zshCompArgsAnnotation) + annotationString, ok := c.Annotations[zshCompArgumentAnnotation] + if !ok { + return annotation, nil + } + err := json.Unmarshal([]byte(annotationString), &annotation) + if err != nil { + return annotation, fmt.Errorf("Error unmarshaling zsh argument annotation: %v", err) + } + return annotation, nil +} + +func (c *Command) zshCompSetArgsAnnotations(annotation zshCompArgsAnnotation) error { + jsn, err := json.Marshal(annotation) + if err != nil { + return fmt.Errorf("Error marshaling zsh argument annotation: %v", err) + } + if c.Annotations == nil { + c.Annotations = make(map[string]string) + } + c.Annotations[zshCompArgumentAnnotation] = string(jsn) + return nil +} + +func zshCompGenFuncName(c *Command) string { + if c.HasParent() { + return zshCompGenFuncName(c.Parent()) + "_" + c.Name() + } + return "_" + c.Name() +} + +func zshCompExtractFlag(c *Command) []*pflag.Flag { + var flags []*pflag.Flag + c.LocalFlags().VisitAll(func(f *pflag.Flag) { + if !f.Hidden { + flags = append(flags, f) + } + }) + c.InheritedFlags().VisitAll(func(f *pflag.Flag) { + if !f.Hidden { + flags = append(flags, f) + } + }) + return flags +} + +// zshCompGenFlagEntryForArguments returns an entry that matches _arguments +// zsh-completion parameters. It's too complicated to generate in a template. +func zshCompGenFlagEntryForArguments(f *pflag.Flag) string { + if f.Name == "" || f.Shorthand == "" { + return zshCompGenFlagEntryForSingleOptionFlag(f) + } + return zshCompGenFlagEntryForMultiOptionFlag(f) +} + +func zshCompGenFlagEntryForSingleOptionFlag(f *pflag.Flag) string { + var option, multiMark, extras string + + if zshCompFlagCouldBeSpecifiedMoreThenOnce(f) { + multiMark = "*" + } + + option = "--" + f.Name + if option == "--" { + option = "-" + f.Shorthand + } + extras = zshCompGenFlagEntryExtras(f) + + return fmt.Sprintf(`'%s%s[%s]%s'`, multiMark, option, zshCompQuoteFlagDescription(f.Usage), extras) +} + +func zshCompGenFlagEntryForMultiOptionFlag(f *pflag.Flag) string { + var options, parenMultiMark, curlyMultiMark, extras string + + if zshCompFlagCouldBeSpecifiedMoreThenOnce(f) { + parenMultiMark = "*" + curlyMultiMark = "\\*" + } + + options = fmt.Sprintf(`'(%s-%s %s--%s)'{%s-%s,%s--%s}`, + parenMultiMark, f.Shorthand, parenMultiMark, f.Name, curlyMultiMark, f.Shorthand, curlyMultiMark, f.Name) + extras = zshCompGenFlagEntryExtras(f) + + return fmt.Sprintf(`%s'[%s]%s'`, options, zshCompQuoteFlagDescription(f.Usage), extras) +} + +func zshCompGenFlagEntryExtras(f *pflag.Flag) string { + if f.NoOptDefVal != "" { + return "" + } + + extras := ":" // allow options for flag (even without assistance) + for key, values := range f.Annotations { + switch key { + case zshCompDirname: + extras = fmt.Sprintf(":filename:_files -g %q", values[0]) + case BashCompFilenameExt: + extras = ":filename:_files" + for _, pattern := range values { + extras = extras + fmt.Sprintf(` -g "%s"`, pattern) + } + } + } + + return extras +} + +func zshCompFlagCouldBeSpecifiedMoreThenOnce(f *pflag.Flag) bool { + return strings.Contains(f.Value.Type(), "Slice") || + strings.Contains(f.Value.Type(), "Array") +} + +func zshCompQuoteFlagDescription(s string) string { + return strings.Replace(s, "'", `'\''`, -1) +} diff --git a/vendor/github.com/spf13/cobra/zsh_completions.md b/vendor/github.com/spf13/cobra/zsh_completions.md new file mode 100644 index 00000000..df9c2eac --- /dev/null +++ b/vendor/github.com/spf13/cobra/zsh_completions.md @@ -0,0 +1,39 @@ +## Generating Zsh Completion for your cobra.Command + +Cobra supports native Zsh completion generated from the root `cobra.Command`. +The generated completion script should be put somewhere in your `$fpath` named +`_`. + +### What's Supported + +* Completion for all non-hidden subcommands using their `.Short` description. +* Completion for all non-hidden flags using the following rules: + * Filename completion works by marking the flag with `cmd.MarkFlagFilename...` + family of commands. + * The requirement for argument to the flag is decided by the `.NoOptDefVal` + flag value - if it's empty then completion will expect an argument. + * Flags of one of the various `*Array` and `*Slice` types supports multiple + specifications (with or without argument depending on the specific type). +* Completion of positional arguments using the following rules: + * Argument position for all options below starts at `1`. If argument position + `0` is requested it will raise an error. + * Use `command.MarkZshCompPositionalArgumentFile` to complete filenames. Glob + patterns (e.g. `"*.log"`) are optional - if not specified it will offer to + complete all file types. + * Use `command.MarkZshCompPositionalArgumentWords` to offer specific words for + completion. At least one word is required. + * It's possible to specify completion for some arguments and leave some + unspecified (e.g. offer words for second argument but nothing for first + argument). This will cause no completion for first argument but words + completion for second argument. + * If no argument completion was specified for 1st argument (but optionally was + specified for 2nd) and the command has `ValidArgs` it will be used as + completion options for 1st argument. + * Argument completions only offered for commands with no subcommands. + +### What's not yet Supported + +* Custom completion scripts are not supported yet (We should probably create zsh + specific one, doesn't make sense to re-use the bash one as the functions will + be different). +* Whatever other feature you're looking for and doesn't exist :) diff --git a/vendor/github.com/spf13/pflag/.gitignore b/vendor/github.com/spf13/pflag/.gitignore new file mode 100644 index 00000000..c3da2901 --- /dev/null +++ b/vendor/github.com/spf13/pflag/.gitignore @@ -0,0 +1,2 @@ +.idea/* + diff --git a/vendor/github.com/spf13/pflag/.travis.yml b/vendor/github.com/spf13/pflag/.travis.yml new file mode 100644 index 00000000..00d04cb9 --- /dev/null +++ b/vendor/github.com/spf13/pflag/.travis.yml @@ -0,0 +1,22 @@ +sudo: false + +language: go + +go: + - 1.9.x + - 1.10.x + - 1.11.x + - tip + +matrix: + allow_failures: + - go: tip + +install: + - go get golang.org/x/lint/golint + - export PATH=$GOPATH/bin:$PATH + - go install ./... + +script: + - verify/all.sh -v + - go test ./... diff --git a/vendor/github.com/spf13/pflag/LICENSE b/vendor/github.com/spf13/pflag/LICENSE new file mode 100644 index 00000000..63ed1cfe --- /dev/null +++ b/vendor/github.com/spf13/pflag/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2012 Alex Ogier. All rights reserved. +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/spf13/pflag/README.md b/vendor/github.com/spf13/pflag/README.md new file mode 100644 index 00000000..7eacc5bd --- /dev/null +++ b/vendor/github.com/spf13/pflag/README.md @@ -0,0 +1,296 @@ +[![Build Status](https://travis-ci.org/spf13/pflag.svg?branch=master)](https://travis-ci.org/spf13/pflag) +[![Go Report Card](https://goreportcard.com/badge/github.com/spf13/pflag)](https://goreportcard.com/report/github.com/spf13/pflag) +[![GoDoc](https://godoc.org/github.com/spf13/pflag?status.svg)](https://godoc.org/github.com/spf13/pflag) + +## Description + +pflag is a drop-in replacement for Go's flag package, implementing +POSIX/GNU-style --flags. + +pflag is compatible with the [GNU extensions to the POSIX recommendations +for command-line options][1]. For a more precise description, see the +"Command-line flag syntax" section below. + +[1]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html + +pflag is available under the same style of BSD license as the Go language, +which can be found in the LICENSE file. + +## Installation + +pflag is available using the standard `go get` command. + +Install by running: + + go get github.com/spf13/pflag + +Run tests by running: + + go test github.com/spf13/pflag + +## Usage + +pflag is a drop-in replacement of Go's native flag package. If you import +pflag under the name "flag" then all code should continue to function +with no changes. + +``` go +import flag "github.com/spf13/pflag" +``` + +There is one exception to this: if you directly instantiate the Flag struct +there is one more field "Shorthand" that you will need to set. +Most code never instantiates this struct directly, and instead uses +functions such as String(), BoolVar(), and Var(), and is therefore +unaffected. + +Define flags using flag.String(), Bool(), Int(), etc. + +This declares an integer flag, -flagname, stored in the pointer ip, with type *int. + +``` go +var ip *int = flag.Int("flagname", 1234, "help message for flagname") +``` + +If you like, you can bind the flag to a variable using the Var() functions. + +``` go +var flagvar int +func init() { + flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname") +} +``` + +Or you can create custom flags that satisfy the Value interface (with +pointer receivers) and couple them to flag parsing by + +``` go +flag.Var(&flagVal, "name", "help message for flagname") +``` + +For such flags, the default value is just the initial value of the variable. + +After all flags are defined, call + +``` go +flag.Parse() +``` + +to parse the command line into the defined flags. + +Flags may then be used directly. If you're using the flags themselves, +they are all pointers; if you bind to variables, they're values. + +``` go +fmt.Println("ip has value ", *ip) +fmt.Println("flagvar has value ", flagvar) +``` + +There are helper functions available to get the value stored in a Flag if you have a FlagSet but find +it difficult to keep up with all of the pointers in your code. +If you have a pflag.FlagSet with a flag called 'flagname' of type int you +can use GetInt() to get the int value. But notice that 'flagname' must exist +and it must be an int. GetString("flagname") will fail. + +``` go +i, err := flagset.GetInt("flagname") +``` + +After parsing, the arguments after the flag are available as the +slice flag.Args() or individually as flag.Arg(i). +The arguments are indexed from 0 through flag.NArg()-1. + +The pflag package also defines some new functions that are not in flag, +that give one-letter shorthands for flags. You can use these by appending +'P' to the name of any function that defines a flag. + +``` go +var ip = flag.IntP("flagname", "f", 1234, "help message") +var flagvar bool +func init() { + flag.BoolVarP(&flagvar, "boolname", "b", true, "help message") +} +flag.VarP(&flagVal, "varname", "v", "help message") +``` + +Shorthand letters can be used with single dashes on the command line. +Boolean shorthand flags can be combined with other shorthand flags. + +The default set of command-line flags is controlled by +top-level functions. The FlagSet type allows one to define +independent sets of flags, such as to implement subcommands +in a command-line interface. The methods of FlagSet are +analogous to the top-level functions for the command-line +flag set. + +## Setting no option default values for flags + +After you create a flag it is possible to set the pflag.NoOptDefVal for +the given flag. Doing this changes the meaning of the flag slightly. If +a flag has a NoOptDefVal and the flag is set on the command line without +an option the flag will be set to the NoOptDefVal. For example given: + +``` go +var ip = flag.IntP("flagname", "f", 1234, "help message") +flag.Lookup("flagname").NoOptDefVal = "4321" +``` + +Would result in something like + +| Parsed Arguments | Resulting Value | +| ------------- | ------------- | +| --flagname=1357 | ip=1357 | +| --flagname | ip=4321 | +| [nothing] | ip=1234 | + +## Command line flag syntax + +``` +--flag // boolean flags, or flags with no option default values +--flag x // only on flags without a default value +--flag=x +``` + +Unlike the flag package, a single dash before an option means something +different than a double dash. Single dashes signify a series of shorthand +letters for flags. All but the last shorthand letter must be boolean flags +or a flag with a default value + +``` +// boolean or flags where the 'no option default value' is set +-f +-f=true +-abc +but +-b true is INVALID + +// non-boolean and flags without a 'no option default value' +-n 1234 +-n=1234 +-n1234 + +// mixed +-abcs "hello" +-absd="hello" +-abcs1234 +``` + +Flag parsing stops after the terminator "--". Unlike the flag package, +flags can be interspersed with arguments anywhere on the command line +before this terminator. + +Integer flags accept 1234, 0664, 0x1234 and may be negative. +Boolean flags (in their long form) accept 1, 0, t, f, true, false, +TRUE, FALSE, True, False. +Duration flags accept any input valid for time.ParseDuration. + +## Mutating or "Normalizing" Flag names + +It is possible to set a custom flag name 'normalization function.' It allows flag names to be mutated both when created in the code and when used on the command line to some 'normalized' form. The 'normalized' form is used for comparison. Two examples of using the custom normalization func follow. + +**Example #1**: You want -, _, and . in flags to compare the same. aka --my-flag == --my_flag == --my.flag + +``` go +func wordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName { + from := []string{"-", "_"} + to := "." + for _, sep := range from { + name = strings.Replace(name, sep, to, -1) + } + return pflag.NormalizedName(name) +} + +myFlagSet.SetNormalizeFunc(wordSepNormalizeFunc) +``` + +**Example #2**: You want to alias two flags. aka --old-flag-name == --new-flag-name + +``` go +func aliasNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName { + switch name { + case "old-flag-name": + name = "new-flag-name" + break + } + return pflag.NormalizedName(name) +} + +myFlagSet.SetNormalizeFunc(aliasNormalizeFunc) +``` + +## Deprecating a flag or its shorthand +It is possible to deprecate a flag, or just its shorthand. Deprecating a flag/shorthand hides it from help text and prints a usage message when the deprecated flag/shorthand is used. + +**Example #1**: You want to deprecate a flag named "badflag" as well as inform the users what flag they should use instead. +```go +// deprecate a flag by specifying its name and a usage message +flags.MarkDeprecated("badflag", "please use --good-flag instead") +``` +This hides "badflag" from help text, and prints `Flag --badflag has been deprecated, please use --good-flag instead` when "badflag" is used. + +**Example #2**: You want to keep a flag name "noshorthandflag" but deprecate its shortname "n". +```go +// deprecate a flag shorthand by specifying its flag name and a usage message +flags.MarkShorthandDeprecated("noshorthandflag", "please use --noshorthandflag only") +``` +This hides the shortname "n" from help text, and prints `Flag shorthand -n has been deprecated, please use --noshorthandflag only` when the shorthand "n" is used. + +Note that usage message is essential here, and it should not be empty. + +## Hidden flags +It is possible to mark a flag as hidden, meaning it will still function as normal, however will not show up in usage/help text. + +**Example**: You have a flag named "secretFlag" that you need for internal use only and don't want it showing up in help text, or for its usage text to be available. +```go +// hide a flag by specifying its name +flags.MarkHidden("secretFlag") +``` + +## Disable sorting of flags +`pflag` allows you to disable sorting of flags for help and usage message. + +**Example**: +```go +flags.BoolP("verbose", "v", false, "verbose output") +flags.String("coolflag", "yeaah", "it's really cool flag") +flags.Int("usefulflag", 777, "sometimes it's very useful") +flags.SortFlags = false +flags.PrintDefaults() +``` +**Output**: +``` + -v, --verbose verbose output + --coolflag string it's really cool flag (default "yeaah") + --usefulflag int sometimes it's very useful (default 777) +``` + + +## Supporting Go flags when using pflag +In order to support flags defined using Go's `flag` package, they must be added to the `pflag` flagset. This is usually necessary +to support flags defined by third-party dependencies (e.g. `golang/glog`). + +**Example**: You want to add the Go flags to the `CommandLine` flagset +```go +import ( + goflag "flag" + flag "github.com/spf13/pflag" +) + +var ip *int = flag.Int("flagname", 1234, "help message for flagname") + +func main() { + flag.CommandLine.AddGoFlagSet(goflag.CommandLine) + flag.Parse() +} +``` + +## More info + +You can see the full reference documentation of the pflag package +[at godoc.org][3], or through go's standard documentation system by +running `godoc -http=:6060` and browsing to +[http://localhost:6060/pkg/github.com/spf13/pflag][2] after +installation. + +[2]: http://localhost:6060/pkg/github.com/spf13/pflag +[3]: http://godoc.org/github.com/spf13/pflag diff --git a/vendor/github.com/spf13/pflag/bool.go b/vendor/github.com/spf13/pflag/bool.go new file mode 100644 index 00000000..c4c5c0bf --- /dev/null +++ b/vendor/github.com/spf13/pflag/bool.go @@ -0,0 +1,94 @@ +package pflag + +import "strconv" + +// optional interface to indicate boolean flags that can be +// supplied without "=value" text +type boolFlag interface { + Value + IsBoolFlag() bool +} + +// -- bool Value +type boolValue bool + +func newBoolValue(val bool, p *bool) *boolValue { + *p = val + return (*boolValue)(p) +} + +func (b *boolValue) Set(s string) error { + v, err := strconv.ParseBool(s) + *b = boolValue(v) + return err +} + +func (b *boolValue) Type() string { + return "bool" +} + +func (b *boolValue) String() string { return strconv.FormatBool(bool(*b)) } + +func (b *boolValue) IsBoolFlag() bool { return true } + +func boolConv(sval string) (interface{}, error) { + return strconv.ParseBool(sval) +} + +// GetBool return the bool value of a flag with the given name +func (f *FlagSet) GetBool(name string) (bool, error) { + val, err := f.getFlagType(name, "bool", boolConv) + if err != nil { + return false, err + } + return val.(bool), nil +} + +// BoolVar defines a bool flag with specified name, default value, and usage string. +// The argument p points to a bool variable in which to store the value of the flag. +func (f *FlagSet) BoolVar(p *bool, name string, value bool, usage string) { + f.BoolVarP(p, name, "", value, usage) +} + +// BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolVarP(p *bool, name, shorthand string, value bool, usage string) { + flag := f.VarPF(newBoolValue(value, p), name, shorthand, usage) + flag.NoOptDefVal = "true" +} + +// BoolVar defines a bool flag with specified name, default value, and usage string. +// The argument p points to a bool variable in which to store the value of the flag. +func BoolVar(p *bool, name string, value bool, usage string) { + BoolVarP(p, name, "", value, usage) +} + +// BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash. +func BoolVarP(p *bool, name, shorthand string, value bool, usage string) { + flag := CommandLine.VarPF(newBoolValue(value, p), name, shorthand, usage) + flag.NoOptDefVal = "true" +} + +// Bool defines a bool flag with specified name, default value, and usage string. +// The return value is the address of a bool variable that stores the value of the flag. +func (f *FlagSet) Bool(name string, value bool, usage string) *bool { + return f.BoolP(name, "", value, usage) +} + +// BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolP(name, shorthand string, value bool, usage string) *bool { + p := new(bool) + f.BoolVarP(p, name, shorthand, value, usage) + return p +} + +// Bool defines a bool flag with specified name, default value, and usage string. +// The return value is the address of a bool variable that stores the value of the flag. +func Bool(name string, value bool, usage string) *bool { + return BoolP(name, "", value, usage) +} + +// BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash. +func BoolP(name, shorthand string, value bool, usage string) *bool { + b := CommandLine.BoolP(name, shorthand, value, usage) + return b +} diff --git a/vendor/github.com/spf13/pflag/bool_slice.go b/vendor/github.com/spf13/pflag/bool_slice.go new file mode 100644 index 00000000..3731370d --- /dev/null +++ b/vendor/github.com/spf13/pflag/bool_slice.go @@ -0,0 +1,185 @@ +package pflag + +import ( + "io" + "strconv" + "strings" +) + +// -- boolSlice Value +type boolSliceValue struct { + value *[]bool + changed bool +} + +func newBoolSliceValue(val []bool, p *[]bool) *boolSliceValue { + bsv := new(boolSliceValue) + bsv.value = p + *bsv.value = val + return bsv +} + +// Set converts, and assigns, the comma-separated boolean argument string representation as the []bool value of this flag. +// If Set is called on a flag that already has a []bool assigned, the newly converted values will be appended. +func (s *boolSliceValue) Set(val string) error { + + // remove all quote characters + rmQuote := strings.NewReplacer(`"`, "", `'`, "", "`", "") + + // read flag arguments with CSV parser + boolStrSlice, err := readAsCSV(rmQuote.Replace(val)) + if err != nil && err != io.EOF { + return err + } + + // parse boolean values into slice + out := make([]bool, 0, len(boolStrSlice)) + for _, boolStr := range boolStrSlice { + b, err := strconv.ParseBool(strings.TrimSpace(boolStr)) + if err != nil { + return err + } + out = append(out, b) + } + + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + + s.changed = true + + return nil +} + +// Type returns a string that uniquely represents this flag's type. +func (s *boolSliceValue) Type() string { + return "boolSlice" +} + +// String defines a "native" format for this boolean slice flag value. +func (s *boolSliceValue) String() string { + + boolStrSlice := make([]string, len(*s.value)) + for i, b := range *s.value { + boolStrSlice[i] = strconv.FormatBool(b) + } + + out, _ := writeAsCSV(boolStrSlice) + + return "[" + out + "]" +} + +func (s *boolSliceValue) fromString(val string) (bool, error) { + return strconv.ParseBool(val) +} + +func (s *boolSliceValue) toString(val bool) string { + return strconv.FormatBool(val) +} + +func (s *boolSliceValue) Append(val string) error { + i, err := s.fromString(val) + if err != nil { + return err + } + *s.value = append(*s.value, i) + return nil +} + +func (s *boolSliceValue) Replace(val []string) error { + out := make([]bool, len(val)) + for i, d := range val { + var err error + out[i], err = s.fromString(d) + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *boolSliceValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = s.toString(d) + } + return out +} + +func boolSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []bool{}, nil + } + ss := strings.Split(val, ",") + out := make([]bool, len(ss)) + for i, t := range ss { + var err error + out[i], err = strconv.ParseBool(t) + if err != nil { + return nil, err + } + } + return out, nil +} + +// GetBoolSlice returns the []bool value of a flag with the given name. +func (f *FlagSet) GetBoolSlice(name string) ([]bool, error) { + val, err := f.getFlagType(name, "boolSlice", boolSliceConv) + if err != nil { + return []bool{}, err + } + return val.([]bool), nil +} + +// BoolSliceVar defines a boolSlice flag with specified name, default value, and usage string. +// The argument p points to a []bool variable in which to store the value of the flag. +func (f *FlagSet) BoolSliceVar(p *[]bool, name string, value []bool, usage string) { + f.VarP(newBoolSliceValue(value, p), name, "", usage) +} + +// BoolSliceVarP is like BoolSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolSliceVarP(p *[]bool, name, shorthand string, value []bool, usage string) { + f.VarP(newBoolSliceValue(value, p), name, shorthand, usage) +} + +// BoolSliceVar defines a []bool flag with specified name, default value, and usage string. +// The argument p points to a []bool variable in which to store the value of the flag. +func BoolSliceVar(p *[]bool, name string, value []bool, usage string) { + CommandLine.VarP(newBoolSliceValue(value, p), name, "", usage) +} + +// BoolSliceVarP is like BoolSliceVar, but accepts a shorthand letter that can be used after a single dash. +func BoolSliceVarP(p *[]bool, name, shorthand string, value []bool, usage string) { + CommandLine.VarP(newBoolSliceValue(value, p), name, shorthand, usage) +} + +// BoolSlice defines a []bool flag with specified name, default value, and usage string. +// The return value is the address of a []bool variable that stores the value of the flag. +func (f *FlagSet) BoolSlice(name string, value []bool, usage string) *[]bool { + p := []bool{} + f.BoolSliceVarP(&p, name, "", value, usage) + return &p +} + +// BoolSliceP is like BoolSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolSliceP(name, shorthand string, value []bool, usage string) *[]bool { + p := []bool{} + f.BoolSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// BoolSlice defines a []bool flag with specified name, default value, and usage string. +// The return value is the address of a []bool variable that stores the value of the flag. +func BoolSlice(name string, value []bool, usage string) *[]bool { + return CommandLine.BoolSliceP(name, "", value, usage) +} + +// BoolSliceP is like BoolSlice, but accepts a shorthand letter that can be used after a single dash. +func BoolSliceP(name, shorthand string, value []bool, usage string) *[]bool { + return CommandLine.BoolSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/bytes.go b/vendor/github.com/spf13/pflag/bytes.go new file mode 100644 index 00000000..67d53045 --- /dev/null +++ b/vendor/github.com/spf13/pflag/bytes.go @@ -0,0 +1,209 @@ +package pflag + +import ( + "encoding/base64" + "encoding/hex" + "fmt" + "strings" +) + +// BytesHex adapts []byte for use as a flag. Value of flag is HEX encoded +type bytesHexValue []byte + +// String implements pflag.Value.String. +func (bytesHex bytesHexValue) String() string { + return fmt.Sprintf("%X", []byte(bytesHex)) +} + +// Set implements pflag.Value.Set. +func (bytesHex *bytesHexValue) Set(value string) error { + bin, err := hex.DecodeString(strings.TrimSpace(value)) + + if err != nil { + return err + } + + *bytesHex = bin + + return nil +} + +// Type implements pflag.Value.Type. +func (*bytesHexValue) Type() string { + return "bytesHex" +} + +func newBytesHexValue(val []byte, p *[]byte) *bytesHexValue { + *p = val + return (*bytesHexValue)(p) +} + +func bytesHexConv(sval string) (interface{}, error) { + + bin, err := hex.DecodeString(sval) + + if err == nil { + return bin, nil + } + + return nil, fmt.Errorf("invalid string being converted to Bytes: %s %s", sval, err) +} + +// GetBytesHex return the []byte value of a flag with the given name +func (f *FlagSet) GetBytesHex(name string) ([]byte, error) { + val, err := f.getFlagType(name, "bytesHex", bytesHexConv) + + if err != nil { + return []byte{}, err + } + + return val.([]byte), nil +} + +// BytesHexVar defines an []byte flag with specified name, default value, and usage string. +// The argument p points to an []byte variable in which to store the value of the flag. +func (f *FlagSet) BytesHexVar(p *[]byte, name string, value []byte, usage string) { + f.VarP(newBytesHexValue(value, p), name, "", usage) +} + +// BytesHexVarP is like BytesHexVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BytesHexVarP(p *[]byte, name, shorthand string, value []byte, usage string) { + f.VarP(newBytesHexValue(value, p), name, shorthand, usage) +} + +// BytesHexVar defines an []byte flag with specified name, default value, and usage string. +// The argument p points to an []byte variable in which to store the value of the flag. +func BytesHexVar(p *[]byte, name string, value []byte, usage string) { + CommandLine.VarP(newBytesHexValue(value, p), name, "", usage) +} + +// BytesHexVarP is like BytesHexVar, but accepts a shorthand letter that can be used after a single dash. +func BytesHexVarP(p *[]byte, name, shorthand string, value []byte, usage string) { + CommandLine.VarP(newBytesHexValue(value, p), name, shorthand, usage) +} + +// BytesHex defines an []byte flag with specified name, default value, and usage string. +// The return value is the address of an []byte variable that stores the value of the flag. +func (f *FlagSet) BytesHex(name string, value []byte, usage string) *[]byte { + p := new([]byte) + f.BytesHexVarP(p, name, "", value, usage) + return p +} + +// BytesHexP is like BytesHex, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BytesHexP(name, shorthand string, value []byte, usage string) *[]byte { + p := new([]byte) + f.BytesHexVarP(p, name, shorthand, value, usage) + return p +} + +// BytesHex defines an []byte flag with specified name, default value, and usage string. +// The return value is the address of an []byte variable that stores the value of the flag. +func BytesHex(name string, value []byte, usage string) *[]byte { + return CommandLine.BytesHexP(name, "", value, usage) +} + +// BytesHexP is like BytesHex, but accepts a shorthand letter that can be used after a single dash. +func BytesHexP(name, shorthand string, value []byte, usage string) *[]byte { + return CommandLine.BytesHexP(name, shorthand, value, usage) +} + +// BytesBase64 adapts []byte for use as a flag. Value of flag is Base64 encoded +type bytesBase64Value []byte + +// String implements pflag.Value.String. +func (bytesBase64 bytesBase64Value) String() string { + return base64.StdEncoding.EncodeToString([]byte(bytesBase64)) +} + +// Set implements pflag.Value.Set. +func (bytesBase64 *bytesBase64Value) Set(value string) error { + bin, err := base64.StdEncoding.DecodeString(strings.TrimSpace(value)) + + if err != nil { + return err + } + + *bytesBase64 = bin + + return nil +} + +// Type implements pflag.Value.Type. +func (*bytesBase64Value) Type() string { + return "bytesBase64" +} + +func newBytesBase64Value(val []byte, p *[]byte) *bytesBase64Value { + *p = val + return (*bytesBase64Value)(p) +} + +func bytesBase64ValueConv(sval string) (interface{}, error) { + + bin, err := base64.StdEncoding.DecodeString(sval) + if err == nil { + return bin, nil + } + + return nil, fmt.Errorf("invalid string being converted to Bytes: %s %s", sval, err) +} + +// GetBytesBase64 return the []byte value of a flag with the given name +func (f *FlagSet) GetBytesBase64(name string) ([]byte, error) { + val, err := f.getFlagType(name, "bytesBase64", bytesBase64ValueConv) + + if err != nil { + return []byte{}, err + } + + return val.([]byte), nil +} + +// BytesBase64Var defines an []byte flag with specified name, default value, and usage string. +// The argument p points to an []byte variable in which to store the value of the flag. +func (f *FlagSet) BytesBase64Var(p *[]byte, name string, value []byte, usage string) { + f.VarP(newBytesBase64Value(value, p), name, "", usage) +} + +// BytesBase64VarP is like BytesBase64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BytesBase64VarP(p *[]byte, name, shorthand string, value []byte, usage string) { + f.VarP(newBytesBase64Value(value, p), name, shorthand, usage) +} + +// BytesBase64Var defines an []byte flag with specified name, default value, and usage string. +// The argument p points to an []byte variable in which to store the value of the flag. +func BytesBase64Var(p *[]byte, name string, value []byte, usage string) { + CommandLine.VarP(newBytesBase64Value(value, p), name, "", usage) +} + +// BytesBase64VarP is like BytesBase64Var, but accepts a shorthand letter that can be used after a single dash. +func BytesBase64VarP(p *[]byte, name, shorthand string, value []byte, usage string) { + CommandLine.VarP(newBytesBase64Value(value, p), name, shorthand, usage) +} + +// BytesBase64 defines an []byte flag with specified name, default value, and usage string. +// The return value is the address of an []byte variable that stores the value of the flag. +func (f *FlagSet) BytesBase64(name string, value []byte, usage string) *[]byte { + p := new([]byte) + f.BytesBase64VarP(p, name, "", value, usage) + return p +} + +// BytesBase64P is like BytesBase64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BytesBase64P(name, shorthand string, value []byte, usage string) *[]byte { + p := new([]byte) + f.BytesBase64VarP(p, name, shorthand, value, usage) + return p +} + +// BytesBase64 defines an []byte flag with specified name, default value, and usage string. +// The return value is the address of an []byte variable that stores the value of the flag. +func BytesBase64(name string, value []byte, usage string) *[]byte { + return CommandLine.BytesBase64P(name, "", value, usage) +} + +// BytesBase64P is like BytesBase64, but accepts a shorthand letter that can be used after a single dash. +func BytesBase64P(name, shorthand string, value []byte, usage string) *[]byte { + return CommandLine.BytesBase64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/count.go b/vendor/github.com/spf13/pflag/count.go new file mode 100644 index 00000000..a0b2679f --- /dev/null +++ b/vendor/github.com/spf13/pflag/count.go @@ -0,0 +1,96 @@ +package pflag + +import "strconv" + +// -- count Value +type countValue int + +func newCountValue(val int, p *int) *countValue { + *p = val + return (*countValue)(p) +} + +func (i *countValue) Set(s string) error { + // "+1" means that no specific value was passed, so increment + if s == "+1" { + *i = countValue(*i + 1) + return nil + } + v, err := strconv.ParseInt(s, 0, 0) + *i = countValue(v) + return err +} + +func (i *countValue) Type() string { + return "count" +} + +func (i *countValue) String() string { return strconv.Itoa(int(*i)) } + +func countConv(sval string) (interface{}, error) { + i, err := strconv.Atoi(sval) + if err != nil { + return nil, err + } + return i, nil +} + +// GetCount return the int value of a flag with the given name +func (f *FlagSet) GetCount(name string) (int, error) { + val, err := f.getFlagType(name, "count", countConv) + if err != nil { + return 0, err + } + return val.(int), nil +} + +// CountVar defines a count flag with specified name, default value, and usage string. +// The argument p points to an int variable in which to store the value of the flag. +// A count flag will add 1 to its value every time it is found on the command line +func (f *FlagSet) CountVar(p *int, name string, usage string) { + f.CountVarP(p, name, "", usage) +} + +// CountVarP is like CountVar only take a shorthand for the flag name. +func (f *FlagSet) CountVarP(p *int, name, shorthand string, usage string) { + flag := f.VarPF(newCountValue(0, p), name, shorthand, usage) + flag.NoOptDefVal = "+1" +} + +// CountVar like CountVar only the flag is placed on the CommandLine instead of a given flag set +func CountVar(p *int, name string, usage string) { + CommandLine.CountVar(p, name, usage) +} + +// CountVarP is like CountVar only take a shorthand for the flag name. +func CountVarP(p *int, name, shorthand string, usage string) { + CommandLine.CountVarP(p, name, shorthand, usage) +} + +// Count defines a count flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +// A count flag will add 1 to its value every time it is found on the command line +func (f *FlagSet) Count(name string, usage string) *int { + p := new(int) + f.CountVarP(p, name, "", usage) + return p +} + +// CountP is like Count only takes a shorthand for the flag name. +func (f *FlagSet) CountP(name, shorthand string, usage string) *int { + p := new(int) + f.CountVarP(p, name, shorthand, usage) + return p +} + +// Count defines a count flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +// A count flag will add 1 to its value evey time it is found on the command line +func Count(name string, usage string) *int { + return CommandLine.CountP(name, "", usage) +} + +// CountP is like Count only takes a shorthand for the flag name. +func CountP(name, shorthand string, usage string) *int { + return CommandLine.CountP(name, shorthand, usage) +} diff --git a/vendor/github.com/spf13/pflag/duration.go b/vendor/github.com/spf13/pflag/duration.go new file mode 100644 index 00000000..e9debef8 --- /dev/null +++ b/vendor/github.com/spf13/pflag/duration.go @@ -0,0 +1,86 @@ +package pflag + +import ( + "time" +) + +// -- time.Duration Value +type durationValue time.Duration + +func newDurationValue(val time.Duration, p *time.Duration) *durationValue { + *p = val + return (*durationValue)(p) +} + +func (d *durationValue) Set(s string) error { + v, err := time.ParseDuration(s) + *d = durationValue(v) + return err +} + +func (d *durationValue) Type() string { + return "duration" +} + +func (d *durationValue) String() string { return (*time.Duration)(d).String() } + +func durationConv(sval string) (interface{}, error) { + return time.ParseDuration(sval) +} + +// GetDuration return the duration value of a flag with the given name +func (f *FlagSet) GetDuration(name string) (time.Duration, error) { + val, err := f.getFlagType(name, "duration", durationConv) + if err != nil { + return 0, err + } + return val.(time.Duration), nil +} + +// DurationVar defines a time.Duration flag with specified name, default value, and usage string. +// The argument p points to a time.Duration variable in which to store the value of the flag. +func (f *FlagSet) DurationVar(p *time.Duration, name string, value time.Duration, usage string) { + f.VarP(newDurationValue(value, p), name, "", usage) +} + +// DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string) { + f.VarP(newDurationValue(value, p), name, shorthand, usage) +} + +// DurationVar defines a time.Duration flag with specified name, default value, and usage string. +// The argument p points to a time.Duration variable in which to store the value of the flag. +func DurationVar(p *time.Duration, name string, value time.Duration, usage string) { + CommandLine.VarP(newDurationValue(value, p), name, "", usage) +} + +// DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash. +func DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string) { + CommandLine.VarP(newDurationValue(value, p), name, shorthand, usage) +} + +// Duration defines a time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a time.Duration variable that stores the value of the flag. +func (f *FlagSet) Duration(name string, value time.Duration, usage string) *time.Duration { + p := new(time.Duration) + f.DurationVarP(p, name, "", value, usage) + return p +} + +// DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration { + p := new(time.Duration) + f.DurationVarP(p, name, shorthand, value, usage) + return p +} + +// Duration defines a time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a time.Duration variable that stores the value of the flag. +func Duration(name string, value time.Duration, usage string) *time.Duration { + return CommandLine.DurationP(name, "", value, usage) +} + +// DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash. +func DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration { + return CommandLine.DurationP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/duration_slice.go b/vendor/github.com/spf13/pflag/duration_slice.go new file mode 100644 index 00000000..badadda5 --- /dev/null +++ b/vendor/github.com/spf13/pflag/duration_slice.go @@ -0,0 +1,166 @@ +package pflag + +import ( + "fmt" + "strings" + "time" +) + +// -- durationSlice Value +type durationSliceValue struct { + value *[]time.Duration + changed bool +} + +func newDurationSliceValue(val []time.Duration, p *[]time.Duration) *durationSliceValue { + dsv := new(durationSliceValue) + dsv.value = p + *dsv.value = val + return dsv +} + +func (s *durationSliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]time.Duration, len(ss)) + for i, d := range ss { + var err error + out[i], err = time.ParseDuration(d) + if err != nil { + return err + } + + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *durationSliceValue) Type() string { + return "durationSlice" +} + +func (s *durationSliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%s", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func (s *durationSliceValue) fromString(val string) (time.Duration, error) { + return time.ParseDuration(val) +} + +func (s *durationSliceValue) toString(val time.Duration) string { + return fmt.Sprintf("%s", val) +} + +func (s *durationSliceValue) Append(val string) error { + i, err := s.fromString(val) + if err != nil { + return err + } + *s.value = append(*s.value, i) + return nil +} + +func (s *durationSliceValue) Replace(val []string) error { + out := make([]time.Duration, len(val)) + for i, d := range val { + var err error + out[i], err = s.fromString(d) + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *durationSliceValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = s.toString(d) + } + return out +} + +func durationSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []time.Duration{}, nil + } + ss := strings.Split(val, ",") + out := make([]time.Duration, len(ss)) + for i, d := range ss { + var err error + out[i], err = time.ParseDuration(d) + if err != nil { + return nil, err + } + + } + return out, nil +} + +// GetDurationSlice returns the []time.Duration value of a flag with the given name +func (f *FlagSet) GetDurationSlice(name string) ([]time.Duration, error) { + val, err := f.getFlagType(name, "durationSlice", durationSliceConv) + if err != nil { + return []time.Duration{}, err + } + return val.([]time.Duration), nil +} + +// DurationSliceVar defines a durationSlice flag with specified name, default value, and usage string. +// The argument p points to a []time.Duration variable in which to store the value of the flag. +func (f *FlagSet) DurationSliceVar(p *[]time.Duration, name string, value []time.Duration, usage string) { + f.VarP(newDurationSliceValue(value, p), name, "", usage) +} + +// DurationSliceVarP is like DurationSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationSliceVarP(p *[]time.Duration, name, shorthand string, value []time.Duration, usage string) { + f.VarP(newDurationSliceValue(value, p), name, shorthand, usage) +} + +// DurationSliceVar defines a duration[] flag with specified name, default value, and usage string. +// The argument p points to a duration[] variable in which to store the value of the flag. +func DurationSliceVar(p *[]time.Duration, name string, value []time.Duration, usage string) { + CommandLine.VarP(newDurationSliceValue(value, p), name, "", usage) +} + +// DurationSliceVarP is like DurationSliceVar, but accepts a shorthand letter that can be used after a single dash. +func DurationSliceVarP(p *[]time.Duration, name, shorthand string, value []time.Duration, usage string) { + CommandLine.VarP(newDurationSliceValue(value, p), name, shorthand, usage) +} + +// DurationSlice defines a []time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a []time.Duration variable that stores the value of the flag. +func (f *FlagSet) DurationSlice(name string, value []time.Duration, usage string) *[]time.Duration { + p := []time.Duration{} + f.DurationSliceVarP(&p, name, "", value, usage) + return &p +} + +// DurationSliceP is like DurationSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationSliceP(name, shorthand string, value []time.Duration, usage string) *[]time.Duration { + p := []time.Duration{} + f.DurationSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// DurationSlice defines a []time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a []time.Duration variable that stores the value of the flag. +func DurationSlice(name string, value []time.Duration, usage string) *[]time.Duration { + return CommandLine.DurationSliceP(name, "", value, usage) +} + +// DurationSliceP is like DurationSlice, but accepts a shorthand letter that can be used after a single dash. +func DurationSliceP(name, shorthand string, value []time.Duration, usage string) *[]time.Duration { + return CommandLine.DurationSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/flag.go b/vendor/github.com/spf13/pflag/flag.go new file mode 100644 index 00000000..24a5036e --- /dev/null +++ b/vendor/github.com/spf13/pflag/flag.go @@ -0,0 +1,1239 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package pflag is a drop-in replacement for Go's flag package, implementing +POSIX/GNU-style --flags. + +pflag is compatible with the GNU extensions to the POSIX recommendations +for command-line options. See +http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html + +Usage: + +pflag is a drop-in replacement of Go's native flag package. If you import +pflag under the name "flag" then all code should continue to function +with no changes. + + import flag "github.com/spf13/pflag" + +There is one exception to this: if you directly instantiate the Flag struct +there is one more field "Shorthand" that you will need to set. +Most code never instantiates this struct directly, and instead uses +functions such as String(), BoolVar(), and Var(), and is therefore +unaffected. + +Define flags using flag.String(), Bool(), Int(), etc. + +This declares an integer flag, -flagname, stored in the pointer ip, with type *int. + var ip = flag.Int("flagname", 1234, "help message for flagname") +If you like, you can bind the flag to a variable using the Var() functions. + var flagvar int + func init() { + flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname") + } +Or you can create custom flags that satisfy the Value interface (with +pointer receivers) and couple them to flag parsing by + flag.Var(&flagVal, "name", "help message for flagname") +For such flags, the default value is just the initial value of the variable. + +After all flags are defined, call + flag.Parse() +to parse the command line into the defined flags. + +Flags may then be used directly. If you're using the flags themselves, +they are all pointers; if you bind to variables, they're values. + fmt.Println("ip has value ", *ip) + fmt.Println("flagvar has value ", flagvar) + +After parsing, the arguments after the flag are available as the +slice flag.Args() or individually as flag.Arg(i). +The arguments are indexed from 0 through flag.NArg()-1. + +The pflag package also defines some new functions that are not in flag, +that give one-letter shorthands for flags. You can use these by appending +'P' to the name of any function that defines a flag. + var ip = flag.IntP("flagname", "f", 1234, "help message") + var flagvar bool + func init() { + flag.BoolVarP(&flagvar, "boolname", "b", true, "help message") + } + flag.VarP(&flagval, "varname", "v", "help message") +Shorthand letters can be used with single dashes on the command line. +Boolean shorthand flags can be combined with other shorthand flags. + +Command line flag syntax: + --flag // boolean flags only + --flag=x + +Unlike the flag package, a single dash before an option means something +different than a double dash. Single dashes signify a series of shorthand +letters for flags. All but the last shorthand letter must be boolean flags. + // boolean flags + -f + -abc + // non-boolean flags + -n 1234 + -Ifile + // mixed + -abcs "hello" + -abcn1234 + +Flag parsing stops after the terminator "--". Unlike the flag package, +flags can be interspersed with arguments anywhere on the command line +before this terminator. + +Integer flags accept 1234, 0664, 0x1234 and may be negative. +Boolean flags (in their long form) accept 1, 0, t, f, true, false, +TRUE, FALSE, True, False. +Duration flags accept any input valid for time.ParseDuration. + +The default set of command-line flags is controlled by +top-level functions. The FlagSet type allows one to define +independent sets of flags, such as to implement subcommands +in a command-line interface. The methods of FlagSet are +analogous to the top-level functions for the command-line +flag set. +*/ +package pflag + +import ( + "bytes" + "errors" + goflag "flag" + "fmt" + "io" + "os" + "sort" + "strings" +) + +// ErrHelp is the error returned if the flag -help is invoked but no such flag is defined. +var ErrHelp = errors.New("pflag: help requested") + +// ErrorHandling defines how to handle flag parsing errors. +type ErrorHandling int + +const ( + // ContinueOnError will return an err from Parse() if an error is found + ContinueOnError ErrorHandling = iota + // ExitOnError will call os.Exit(2) if an error is found when parsing + ExitOnError + // PanicOnError will panic() if an error is found when parsing flags + PanicOnError +) + +// ParseErrorsWhitelist defines the parsing errors that can be ignored +type ParseErrorsWhitelist struct { + // UnknownFlags will ignore unknown flags errors and continue parsing rest of the flags + UnknownFlags bool +} + +// NormalizedName is a flag name that has been normalized according to rules +// for the FlagSet (e.g. making '-' and '_' equivalent). +type NormalizedName string + +// A FlagSet represents a set of defined flags. +type FlagSet struct { + // Usage is the function called when an error occurs while parsing flags. + // The field is a function (not a method) that may be changed to point to + // a custom error handler. + Usage func() + + // SortFlags is used to indicate, if user wants to have sorted flags in + // help/usage messages. + SortFlags bool + + // ParseErrorsWhitelist is used to configure a whitelist of errors + ParseErrorsWhitelist ParseErrorsWhitelist + + name string + parsed bool + actual map[NormalizedName]*Flag + orderedActual []*Flag + sortedActual []*Flag + formal map[NormalizedName]*Flag + orderedFormal []*Flag + sortedFormal []*Flag + shorthands map[byte]*Flag + args []string // arguments after flags + argsLenAtDash int // len(args) when a '--' was located when parsing, or -1 if no -- + errorHandling ErrorHandling + output io.Writer // nil means stderr; use out() accessor + interspersed bool // allow interspersed option/non-option args + normalizeNameFunc func(f *FlagSet, name string) NormalizedName + + addedGoFlagSets []*goflag.FlagSet +} + +// A Flag represents the state of a flag. +type Flag struct { + Name string // name as it appears on command line + Shorthand string // one-letter abbreviated flag + Usage string // help message + Value Value // value as set + DefValue string // default value (as text); for usage message + Changed bool // If the user set the value (or if left to default) + NoOptDefVal string // default value (as text); if the flag is on the command line without any options + Deprecated string // If this flag is deprecated, this string is the new or now thing to use + Hidden bool // used by cobra.Command to allow flags to be hidden from help/usage text + ShorthandDeprecated string // If the shorthand of this flag is deprecated, this string is the new or now thing to use + Annotations map[string][]string // used by cobra.Command bash autocomple code +} + +// Value is the interface to the dynamic value stored in a flag. +// (The default value is represented as a string.) +type Value interface { + String() string + Set(string) error + Type() string +} + +// SliceValue is a secondary interface to all flags which hold a list +// of values. This allows full control over the value of list flags, +// and avoids complicated marshalling and unmarshalling to csv. +type SliceValue interface { + // Append adds the specified value to the end of the flag value list. + Append(string) error + // Replace will fully overwrite any data currently in the flag value list. + Replace([]string) error + // GetSlice returns the flag value list as an array of strings. + GetSlice() []string +} + +// sortFlags returns the flags as a slice in lexicographical sorted order. +func sortFlags(flags map[NormalizedName]*Flag) []*Flag { + list := make(sort.StringSlice, len(flags)) + i := 0 + for k := range flags { + list[i] = string(k) + i++ + } + list.Sort() + result := make([]*Flag, len(list)) + for i, name := range list { + result[i] = flags[NormalizedName(name)] + } + return result +} + +// SetNormalizeFunc allows you to add a function which can translate flag names. +// Flags added to the FlagSet will be translated and then when anything tries to +// look up the flag that will also be translated. So it would be possible to create +// a flag named "getURL" and have it translated to "geturl". A user could then pass +// "--getUrl" which may also be translated to "geturl" and everything will work. +func (f *FlagSet) SetNormalizeFunc(n func(f *FlagSet, name string) NormalizedName) { + f.normalizeNameFunc = n + f.sortedFormal = f.sortedFormal[:0] + for fname, flag := range f.formal { + nname := f.normalizeFlagName(flag.Name) + if fname == nname { + continue + } + flag.Name = string(nname) + delete(f.formal, fname) + f.formal[nname] = flag + if _, set := f.actual[fname]; set { + delete(f.actual, fname) + f.actual[nname] = flag + } + } +} + +// GetNormalizeFunc returns the previously set NormalizeFunc of a function which +// does no translation, if not set previously. +func (f *FlagSet) GetNormalizeFunc() func(f *FlagSet, name string) NormalizedName { + if f.normalizeNameFunc != nil { + return f.normalizeNameFunc + } + return func(f *FlagSet, name string) NormalizedName { return NormalizedName(name) } +} + +func (f *FlagSet) normalizeFlagName(name string) NormalizedName { + n := f.GetNormalizeFunc() + return n(f, name) +} + +func (f *FlagSet) out() io.Writer { + if f.output == nil { + return os.Stderr + } + return f.output +} + +// SetOutput sets the destination for usage and error messages. +// If output is nil, os.Stderr is used. +func (f *FlagSet) SetOutput(output io.Writer) { + f.output = output +} + +// VisitAll visits the flags in lexicographical order or +// in primordial order if f.SortFlags is false, calling fn for each. +// It visits all flags, even those not set. +func (f *FlagSet) VisitAll(fn func(*Flag)) { + if len(f.formal) == 0 { + return + } + + var flags []*Flag + if f.SortFlags { + if len(f.formal) != len(f.sortedFormal) { + f.sortedFormal = sortFlags(f.formal) + } + flags = f.sortedFormal + } else { + flags = f.orderedFormal + } + + for _, flag := range flags { + fn(flag) + } +} + +// HasFlags returns a bool to indicate if the FlagSet has any flags defined. +func (f *FlagSet) HasFlags() bool { + return len(f.formal) > 0 +} + +// HasAvailableFlags returns a bool to indicate if the FlagSet has any flags +// that are not hidden. +func (f *FlagSet) HasAvailableFlags() bool { + for _, flag := range f.formal { + if !flag.Hidden { + return true + } + } + return false +} + +// VisitAll visits the command-line flags in lexicographical order or +// in primordial order if f.SortFlags is false, calling fn for each. +// It visits all flags, even those not set. +func VisitAll(fn func(*Flag)) { + CommandLine.VisitAll(fn) +} + +// Visit visits the flags in lexicographical order or +// in primordial order if f.SortFlags is false, calling fn for each. +// It visits only those flags that have been set. +func (f *FlagSet) Visit(fn func(*Flag)) { + if len(f.actual) == 0 { + return + } + + var flags []*Flag + if f.SortFlags { + if len(f.actual) != len(f.sortedActual) { + f.sortedActual = sortFlags(f.actual) + } + flags = f.sortedActual + } else { + flags = f.orderedActual + } + + for _, flag := range flags { + fn(flag) + } +} + +// Visit visits the command-line flags in lexicographical order or +// in primordial order if f.SortFlags is false, calling fn for each. +// It visits only those flags that have been set. +func Visit(fn func(*Flag)) { + CommandLine.Visit(fn) +} + +// Lookup returns the Flag structure of the named flag, returning nil if none exists. +func (f *FlagSet) Lookup(name string) *Flag { + return f.lookup(f.normalizeFlagName(name)) +} + +// ShorthandLookup returns the Flag structure of the short handed flag, +// returning nil if none exists. +// It panics, if len(name) > 1. +func (f *FlagSet) ShorthandLookup(name string) *Flag { + if name == "" { + return nil + } + if len(name) > 1 { + msg := fmt.Sprintf("can not look up shorthand which is more than one ASCII character: %q", name) + fmt.Fprintf(f.out(), msg) + panic(msg) + } + c := name[0] + return f.shorthands[c] +} + +// lookup returns the Flag structure of the named flag, returning nil if none exists. +func (f *FlagSet) lookup(name NormalizedName) *Flag { + return f.formal[name] +} + +// func to return a given type for a given flag name +func (f *FlagSet) getFlagType(name string, ftype string, convFunc func(sval string) (interface{}, error)) (interface{}, error) { + flag := f.Lookup(name) + if flag == nil { + err := fmt.Errorf("flag accessed but not defined: %s", name) + return nil, err + } + + if flag.Value.Type() != ftype { + err := fmt.Errorf("trying to get %s value of flag of type %s", ftype, flag.Value.Type()) + return nil, err + } + + sval := flag.Value.String() + result, err := convFunc(sval) + if err != nil { + return nil, err + } + return result, nil +} + +// ArgsLenAtDash will return the length of f.Args at the moment when a -- was +// found during arg parsing. This allows your program to know which args were +// before the -- and which came after. +func (f *FlagSet) ArgsLenAtDash() int { + return f.argsLenAtDash +} + +// MarkDeprecated indicated that a flag is deprecated in your program. It will +// continue to function but will not show up in help or usage messages. Using +// this flag will also print the given usageMessage. +func (f *FlagSet) MarkDeprecated(name string, usageMessage string) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag %q does not exist", name) + } + if usageMessage == "" { + return fmt.Errorf("deprecated message for flag %q must be set", name) + } + flag.Deprecated = usageMessage + flag.Hidden = true + return nil +} + +// MarkShorthandDeprecated will mark the shorthand of a flag deprecated in your +// program. It will continue to function but will not show up in help or usage +// messages. Using this flag will also print the given usageMessage. +func (f *FlagSet) MarkShorthandDeprecated(name string, usageMessage string) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag %q does not exist", name) + } + if usageMessage == "" { + return fmt.Errorf("deprecated message for flag %q must be set", name) + } + flag.ShorthandDeprecated = usageMessage + return nil +} + +// MarkHidden sets a flag to 'hidden' in your program. It will continue to +// function but will not show up in help or usage messages. +func (f *FlagSet) MarkHidden(name string) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag %q does not exist", name) + } + flag.Hidden = true + return nil +} + +// Lookup returns the Flag structure of the named command-line flag, +// returning nil if none exists. +func Lookup(name string) *Flag { + return CommandLine.Lookup(name) +} + +// ShorthandLookup returns the Flag structure of the short handed flag, +// returning nil if none exists. +func ShorthandLookup(name string) *Flag { + return CommandLine.ShorthandLookup(name) +} + +// Set sets the value of the named flag. +func (f *FlagSet) Set(name, value string) error { + normalName := f.normalizeFlagName(name) + flag, ok := f.formal[normalName] + if !ok { + return fmt.Errorf("no such flag -%v", name) + } + + err := flag.Value.Set(value) + if err != nil { + var flagName string + if flag.Shorthand != "" && flag.ShorthandDeprecated == "" { + flagName = fmt.Sprintf("-%s, --%s", flag.Shorthand, flag.Name) + } else { + flagName = fmt.Sprintf("--%s", flag.Name) + } + return fmt.Errorf("invalid argument %q for %q flag: %v", value, flagName, err) + } + + if !flag.Changed { + if f.actual == nil { + f.actual = make(map[NormalizedName]*Flag) + } + f.actual[normalName] = flag + f.orderedActual = append(f.orderedActual, flag) + + flag.Changed = true + } + + if flag.Deprecated != "" { + fmt.Fprintf(f.out(), "Flag --%s has been deprecated, %s\n", flag.Name, flag.Deprecated) + } + return nil +} + +// SetAnnotation allows one to set arbitrary annotations on a flag in the FlagSet. +// This is sometimes used by spf13/cobra programs which want to generate additional +// bash completion information. +func (f *FlagSet) SetAnnotation(name, key string, values []string) error { + normalName := f.normalizeFlagName(name) + flag, ok := f.formal[normalName] + if !ok { + return fmt.Errorf("no such flag -%v", name) + } + if flag.Annotations == nil { + flag.Annotations = map[string][]string{} + } + flag.Annotations[key] = values + return nil +} + +// Changed returns true if the flag was explicitly set during Parse() and false +// otherwise +func (f *FlagSet) Changed(name string) bool { + flag := f.Lookup(name) + // If a flag doesn't exist, it wasn't changed.... + if flag == nil { + return false + } + return flag.Changed +} + +// Set sets the value of the named command-line flag. +func Set(name, value string) error { + return CommandLine.Set(name, value) +} + +// PrintDefaults prints, to standard error unless configured +// otherwise, the default values of all defined flags in the set. +func (f *FlagSet) PrintDefaults() { + usages := f.FlagUsages() + fmt.Fprint(f.out(), usages) +} + +// defaultIsZeroValue returns true if the default value for this flag represents +// a zero value. +func (f *Flag) defaultIsZeroValue() bool { + switch f.Value.(type) { + case boolFlag: + return f.DefValue == "false" + case *durationValue: + // Beginning in Go 1.7, duration zero values are "0s" + return f.DefValue == "0" || f.DefValue == "0s" + case *intValue, *int8Value, *int32Value, *int64Value, *uintValue, *uint8Value, *uint16Value, *uint32Value, *uint64Value, *countValue, *float32Value, *float64Value: + return f.DefValue == "0" + case *stringValue: + return f.DefValue == "" + case *ipValue, *ipMaskValue, *ipNetValue: + return f.DefValue == "" + case *intSliceValue, *stringSliceValue, *stringArrayValue: + return f.DefValue == "[]" + default: + switch f.Value.String() { + case "false": + return true + case "": + return true + case "": + return true + case "0": + return true + } + return false + } +} + +// UnquoteUsage extracts a back-quoted name from the usage +// string for a flag and returns it and the un-quoted usage. +// Given "a `name` to show" it returns ("name", "a name to show"). +// If there are no back quotes, the name is an educated guess of the +// type of the flag's value, or the empty string if the flag is boolean. +func UnquoteUsage(flag *Flag) (name string, usage string) { + // Look for a back-quoted name, but avoid the strings package. + usage = flag.Usage + for i := 0; i < len(usage); i++ { + if usage[i] == '`' { + for j := i + 1; j < len(usage); j++ { + if usage[j] == '`' { + name = usage[i+1 : j] + usage = usage[:i] + name + usage[j+1:] + return name, usage + } + } + break // Only one back quote; use type name. + } + } + + name = flag.Value.Type() + switch name { + case "bool": + name = "" + case "float64": + name = "float" + case "int64": + name = "int" + case "uint64": + name = "uint" + case "stringSlice": + name = "strings" + case "intSlice": + name = "ints" + case "uintSlice": + name = "uints" + case "boolSlice": + name = "bools" + } + + return +} + +// Splits the string `s` on whitespace into an initial substring up to +// `i` runes in length and the remainder. Will go `slop` over `i` if +// that encompasses the entire string (which allows the caller to +// avoid short orphan words on the final line). +func wrapN(i, slop int, s string) (string, string) { + if i+slop > len(s) { + return s, "" + } + + w := strings.LastIndexAny(s[:i], " \t\n") + if w <= 0 { + return s, "" + } + nlPos := strings.LastIndex(s[:i], "\n") + if nlPos > 0 && nlPos < w { + return s[:nlPos], s[nlPos+1:] + } + return s[:w], s[w+1:] +} + +// Wraps the string `s` to a maximum width `w` with leading indent +// `i`. The first line is not indented (this is assumed to be done by +// caller). Pass `w` == 0 to do no wrapping +func wrap(i, w int, s string) string { + if w == 0 { + return strings.Replace(s, "\n", "\n"+strings.Repeat(" ", i), -1) + } + + // space between indent i and end of line width w into which + // we should wrap the text. + wrap := w - i + + var r, l string + + // Not enough space for sensible wrapping. Wrap as a block on + // the next line instead. + if wrap < 24 { + i = 16 + wrap = w - i + r += "\n" + strings.Repeat(" ", i) + } + // If still not enough space then don't even try to wrap. + if wrap < 24 { + return strings.Replace(s, "\n", r, -1) + } + + // Try to avoid short orphan words on the final line, by + // allowing wrapN to go a bit over if that would fit in the + // remainder of the line. + slop := 5 + wrap = wrap - slop + + // Handle first line, which is indented by the caller (or the + // special case above) + l, s = wrapN(wrap, slop, s) + r = r + strings.Replace(l, "\n", "\n"+strings.Repeat(" ", i), -1) + + // Now wrap the rest + for s != "" { + var t string + + t, s = wrapN(wrap, slop, s) + r = r + "\n" + strings.Repeat(" ", i) + strings.Replace(t, "\n", "\n"+strings.Repeat(" ", i), -1) + } + + return r + +} + +// FlagUsagesWrapped returns a string containing the usage information +// for all flags in the FlagSet. Wrapped to `cols` columns (0 for no +// wrapping) +func (f *FlagSet) FlagUsagesWrapped(cols int) string { + buf := new(bytes.Buffer) + + lines := make([]string, 0, len(f.formal)) + + maxlen := 0 + f.VisitAll(func(flag *Flag) { + if flag.Hidden { + return + } + + line := "" + if flag.Shorthand != "" && flag.ShorthandDeprecated == "" { + line = fmt.Sprintf(" -%s, --%s", flag.Shorthand, flag.Name) + } else { + line = fmt.Sprintf(" --%s", flag.Name) + } + + varname, usage := UnquoteUsage(flag) + if varname != "" { + line += " " + varname + } + if flag.NoOptDefVal != "" { + switch flag.Value.Type() { + case "string": + line += fmt.Sprintf("[=\"%s\"]", flag.NoOptDefVal) + case "bool": + if flag.NoOptDefVal != "true" { + line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) + } + case "count": + if flag.NoOptDefVal != "+1" { + line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) + } + default: + line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) + } + } + + // This special character will be replaced with spacing once the + // correct alignment is calculated + line += "\x00" + if len(line) > maxlen { + maxlen = len(line) + } + + line += usage + if !flag.defaultIsZeroValue() { + if flag.Value.Type() == "string" { + line += fmt.Sprintf(" (default %q)", flag.DefValue) + } else { + line += fmt.Sprintf(" (default %s)", flag.DefValue) + } + } + if len(flag.Deprecated) != 0 { + line += fmt.Sprintf(" (DEPRECATED: %s)", flag.Deprecated) + } + + lines = append(lines, line) + }) + + for _, line := range lines { + sidx := strings.Index(line, "\x00") + spacing := strings.Repeat(" ", maxlen-sidx) + // maxlen + 2 comes from + 1 for the \x00 and + 1 for the (deliberate) off-by-one in maxlen-sidx + fmt.Fprintln(buf, line[:sidx], spacing, wrap(maxlen+2, cols, line[sidx+1:])) + } + + return buf.String() +} + +// FlagUsages returns a string containing the usage information for all flags in +// the FlagSet +func (f *FlagSet) FlagUsages() string { + return f.FlagUsagesWrapped(0) +} + +// PrintDefaults prints to standard error the default values of all defined command-line flags. +func PrintDefaults() { + CommandLine.PrintDefaults() +} + +// defaultUsage is the default function to print a usage message. +func defaultUsage(f *FlagSet) { + fmt.Fprintf(f.out(), "Usage of %s:\n", f.name) + f.PrintDefaults() +} + +// NOTE: Usage is not just defaultUsage(CommandLine) +// because it serves (via godoc flag Usage) as the example +// for how to write your own usage function. + +// Usage prints to standard error a usage message documenting all defined command-line flags. +// The function is a variable that may be changed to point to a custom function. +// By default it prints a simple header and calls PrintDefaults; for details about the +// format of the output and how to control it, see the documentation for PrintDefaults. +var Usage = func() { + fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0]) + PrintDefaults() +} + +// NFlag returns the number of flags that have been set. +func (f *FlagSet) NFlag() int { return len(f.actual) } + +// NFlag returns the number of command-line flags that have been set. +func NFlag() int { return len(CommandLine.actual) } + +// Arg returns the i'th argument. Arg(0) is the first remaining argument +// after flags have been processed. +func (f *FlagSet) Arg(i int) string { + if i < 0 || i >= len(f.args) { + return "" + } + return f.args[i] +} + +// Arg returns the i'th command-line argument. Arg(0) is the first remaining argument +// after flags have been processed. +func Arg(i int) string { + return CommandLine.Arg(i) +} + +// NArg is the number of arguments remaining after flags have been processed. +func (f *FlagSet) NArg() int { return len(f.args) } + +// NArg is the number of arguments remaining after flags have been processed. +func NArg() int { return len(CommandLine.args) } + +// Args returns the non-flag arguments. +func (f *FlagSet) Args() []string { return f.args } + +// Args returns the non-flag command-line arguments. +func Args() []string { return CommandLine.args } + +// Var defines a flag with the specified name and usage string. The type and +// value of the flag are represented by the first argument, of type Value, which +// typically holds a user-defined implementation of Value. For instance, the +// caller could create a flag that turns a comma-separated string into a slice +// of strings by giving the slice the methods of Value; in particular, Set would +// decompose the comma-separated string into the slice. +func (f *FlagSet) Var(value Value, name string, usage string) { + f.VarP(value, name, "", usage) +} + +// VarPF is like VarP, but returns the flag created +func (f *FlagSet) VarPF(value Value, name, shorthand, usage string) *Flag { + // Remember the default value as a string; it won't change. + flag := &Flag{ + Name: name, + Shorthand: shorthand, + Usage: usage, + Value: value, + DefValue: value.String(), + } + f.AddFlag(flag) + return flag +} + +// VarP is like Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) VarP(value Value, name, shorthand, usage string) { + f.VarPF(value, name, shorthand, usage) +} + +// AddFlag will add the flag to the FlagSet +func (f *FlagSet) AddFlag(flag *Flag) { + normalizedFlagName := f.normalizeFlagName(flag.Name) + + _, alreadyThere := f.formal[normalizedFlagName] + if alreadyThere { + msg := fmt.Sprintf("%s flag redefined: %s", f.name, flag.Name) + fmt.Fprintln(f.out(), msg) + panic(msg) // Happens only if flags are declared with identical names + } + if f.formal == nil { + f.formal = make(map[NormalizedName]*Flag) + } + + flag.Name = string(normalizedFlagName) + f.formal[normalizedFlagName] = flag + f.orderedFormal = append(f.orderedFormal, flag) + + if flag.Shorthand == "" { + return + } + if len(flag.Shorthand) > 1 { + msg := fmt.Sprintf("%q shorthand is more than one ASCII character", flag.Shorthand) + fmt.Fprintf(f.out(), msg) + panic(msg) + } + if f.shorthands == nil { + f.shorthands = make(map[byte]*Flag) + } + c := flag.Shorthand[0] + used, alreadyThere := f.shorthands[c] + if alreadyThere { + msg := fmt.Sprintf("unable to redefine %q shorthand in %q flagset: it's already used for %q flag", c, f.name, used.Name) + fmt.Fprintf(f.out(), msg) + panic(msg) + } + f.shorthands[c] = flag +} + +// AddFlagSet adds one FlagSet to another. If a flag is already present in f +// the flag from newSet will be ignored. +func (f *FlagSet) AddFlagSet(newSet *FlagSet) { + if newSet == nil { + return + } + newSet.VisitAll(func(flag *Flag) { + if f.Lookup(flag.Name) == nil { + f.AddFlag(flag) + } + }) +} + +// Var defines a flag with the specified name and usage string. The type and +// value of the flag are represented by the first argument, of type Value, which +// typically holds a user-defined implementation of Value. For instance, the +// caller could create a flag that turns a comma-separated string into a slice +// of strings by giving the slice the methods of Value; in particular, Set would +// decompose the comma-separated string into the slice. +func Var(value Value, name string, usage string) { + CommandLine.VarP(value, name, "", usage) +} + +// VarP is like Var, but accepts a shorthand letter that can be used after a single dash. +func VarP(value Value, name, shorthand, usage string) { + CommandLine.VarP(value, name, shorthand, usage) +} + +// failf prints to standard error a formatted error and usage message and +// returns the error. +func (f *FlagSet) failf(format string, a ...interface{}) error { + err := fmt.Errorf(format, a...) + if f.errorHandling != ContinueOnError { + fmt.Fprintln(f.out(), err) + f.usage() + } + return err +} + +// usage calls the Usage method for the flag set, or the usage function if +// the flag set is CommandLine. +func (f *FlagSet) usage() { + if f == CommandLine { + Usage() + } else if f.Usage == nil { + defaultUsage(f) + } else { + f.Usage() + } +} + +//--unknown (args will be empty) +//--unknown --next-flag ... (args will be --next-flag ...) +//--unknown arg ... (args will be arg ...) +func stripUnknownFlagValue(args []string) []string { + if len(args) == 0 { + //--unknown + return args + } + + first := args[0] + if len(first) > 0 && first[0] == '-' { + //--unknown --next-flag ... + return args + } + + //--unknown arg ... (args will be arg ...) + if len(args) > 1 { + return args[1:] + } + return nil +} + +func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []string, err error) { + a = args + name := s[2:] + if len(name) == 0 || name[0] == '-' || name[0] == '=' { + err = f.failf("bad flag syntax: %s", s) + return + } + + split := strings.SplitN(name, "=", 2) + name = split[0] + flag, exists := f.formal[f.normalizeFlagName(name)] + + if !exists { + switch { + case name == "help": + f.usage() + return a, ErrHelp + case f.ParseErrorsWhitelist.UnknownFlags: + // --unknown=unknownval arg ... + // we do not want to lose arg in this case + if len(split) >= 2 { + return a, nil + } + + return stripUnknownFlagValue(a), nil + default: + err = f.failf("unknown flag: --%s", name) + return + } + } + + var value string + if len(split) == 2 { + // '--flag=arg' + value = split[1] + } else if flag.NoOptDefVal != "" { + // '--flag' (arg was optional) + value = flag.NoOptDefVal + } else if len(a) > 0 { + // '--flag arg' + value = a[0] + a = a[1:] + } else { + // '--flag' (arg was required) + err = f.failf("flag needs an argument: %s", s) + return + } + + err = fn(flag, value) + if err != nil { + f.failf(err.Error()) + } + return +} + +func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parseFunc) (outShorts string, outArgs []string, err error) { + outArgs = args + + if strings.HasPrefix(shorthands, "test.") { + return + } + + outShorts = shorthands[1:] + c := shorthands[0] + + flag, exists := f.shorthands[c] + if !exists { + switch { + case c == 'h': + f.usage() + err = ErrHelp + return + case f.ParseErrorsWhitelist.UnknownFlags: + // '-f=arg arg ...' + // we do not want to lose arg in this case + if len(shorthands) > 2 && shorthands[1] == '=' { + outShorts = "" + return + } + + outArgs = stripUnknownFlagValue(outArgs) + return + default: + err = f.failf("unknown shorthand flag: %q in -%s", c, shorthands) + return + } + } + + var value string + if len(shorthands) > 2 && shorthands[1] == '=' { + // '-f=arg' + value = shorthands[2:] + outShorts = "" + } else if flag.NoOptDefVal != "" { + // '-f' (arg was optional) + value = flag.NoOptDefVal + } else if len(shorthands) > 1 { + // '-farg' + value = shorthands[1:] + outShorts = "" + } else if len(args) > 0 { + // '-f arg' + value = args[0] + outArgs = args[1:] + } else { + // '-f' (arg was required) + err = f.failf("flag needs an argument: %q in -%s", c, shorthands) + return + } + + if flag.ShorthandDeprecated != "" { + fmt.Fprintf(f.out(), "Flag shorthand -%s has been deprecated, %s\n", flag.Shorthand, flag.ShorthandDeprecated) + } + + err = fn(flag, value) + if err != nil { + f.failf(err.Error()) + } + return +} + +func (f *FlagSet) parseShortArg(s string, args []string, fn parseFunc) (a []string, err error) { + a = args + shorthands := s[1:] + + // "shorthands" can be a series of shorthand letters of flags (e.g. "-vvv"). + for len(shorthands) > 0 { + shorthands, a, err = f.parseSingleShortArg(shorthands, args, fn) + if err != nil { + return + } + } + + return +} + +func (f *FlagSet) parseArgs(args []string, fn parseFunc) (err error) { + for len(args) > 0 { + s := args[0] + args = args[1:] + if len(s) == 0 || s[0] != '-' || len(s) == 1 { + if !f.interspersed { + f.args = append(f.args, s) + f.args = append(f.args, args...) + return nil + } + f.args = append(f.args, s) + continue + } + + if s[1] == '-' { + if len(s) == 2 { // "--" terminates the flags + f.argsLenAtDash = len(f.args) + f.args = append(f.args, args...) + break + } + args, err = f.parseLongArg(s, args, fn) + } else { + args, err = f.parseShortArg(s, args, fn) + } + if err != nil { + return + } + } + return +} + +// Parse parses flag definitions from the argument list, which should not +// include the command name. Must be called after all flags in the FlagSet +// are defined and before flags are accessed by the program. +// The return value will be ErrHelp if -help was set but not defined. +func (f *FlagSet) Parse(arguments []string) error { + if f.addedGoFlagSets != nil { + for _, goFlagSet := range f.addedGoFlagSets { + goFlagSet.Parse(nil) + } + } + f.parsed = true + + if len(arguments) < 0 { + return nil + } + + f.args = make([]string, 0, len(arguments)) + + set := func(flag *Flag, value string) error { + return f.Set(flag.Name, value) + } + + err := f.parseArgs(arguments, set) + if err != nil { + switch f.errorHandling { + case ContinueOnError: + return err + case ExitOnError: + fmt.Println(err) + os.Exit(2) + case PanicOnError: + panic(err) + } + } + return nil +} + +type parseFunc func(flag *Flag, value string) error + +// ParseAll parses flag definitions from the argument list, which should not +// include the command name. The arguments for fn are flag and value. Must be +// called after all flags in the FlagSet are defined and before flags are +// accessed by the program. The return value will be ErrHelp if -help was set +// but not defined. +func (f *FlagSet) ParseAll(arguments []string, fn func(flag *Flag, value string) error) error { + f.parsed = true + f.args = make([]string, 0, len(arguments)) + + err := f.parseArgs(arguments, fn) + if err != nil { + switch f.errorHandling { + case ContinueOnError: + return err + case ExitOnError: + os.Exit(2) + case PanicOnError: + panic(err) + } + } + return nil +} + +// Parsed reports whether f.Parse has been called. +func (f *FlagSet) Parsed() bool { + return f.parsed +} + +// Parse parses the command-line flags from os.Args[1:]. Must be called +// after all flags are defined and before flags are accessed by the program. +func Parse() { + // Ignore errors; CommandLine is set for ExitOnError. + CommandLine.Parse(os.Args[1:]) +} + +// ParseAll parses the command-line flags from os.Args[1:] and called fn for each. +// The arguments for fn are flag and value. Must be called after all flags are +// defined and before flags are accessed by the program. +func ParseAll(fn func(flag *Flag, value string) error) { + // Ignore errors; CommandLine is set for ExitOnError. + CommandLine.ParseAll(os.Args[1:], fn) +} + +// SetInterspersed sets whether to support interspersed option/non-option arguments. +func SetInterspersed(interspersed bool) { + CommandLine.SetInterspersed(interspersed) +} + +// Parsed returns true if the command-line flags have been parsed. +func Parsed() bool { + return CommandLine.Parsed() +} + +// CommandLine is the default set of command-line flags, parsed from os.Args. +var CommandLine = NewFlagSet(os.Args[0], ExitOnError) + +// NewFlagSet returns a new, empty flag set with the specified name, +// error handling property and SortFlags set to true. +func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet { + f := &FlagSet{ + name: name, + errorHandling: errorHandling, + argsLenAtDash: -1, + interspersed: true, + SortFlags: true, + } + return f +} + +// SetInterspersed sets whether to support interspersed option/non-option arguments. +func (f *FlagSet) SetInterspersed(interspersed bool) { + f.interspersed = interspersed +} + +// Init sets the name and error handling property for a flag set. +// By default, the zero FlagSet uses an empty name and the +// ContinueOnError error handling policy. +func (f *FlagSet) Init(name string, errorHandling ErrorHandling) { + f.name = name + f.errorHandling = errorHandling + f.argsLenAtDash = -1 +} diff --git a/vendor/github.com/spf13/pflag/float32.go b/vendor/github.com/spf13/pflag/float32.go new file mode 100644 index 00000000..a243f81f --- /dev/null +++ b/vendor/github.com/spf13/pflag/float32.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- float32 Value +type float32Value float32 + +func newFloat32Value(val float32, p *float32) *float32Value { + *p = val + return (*float32Value)(p) +} + +func (f *float32Value) Set(s string) error { + v, err := strconv.ParseFloat(s, 32) + *f = float32Value(v) + return err +} + +func (f *float32Value) Type() string { + return "float32" +} + +func (f *float32Value) String() string { return strconv.FormatFloat(float64(*f), 'g', -1, 32) } + +func float32Conv(sval string) (interface{}, error) { + v, err := strconv.ParseFloat(sval, 32) + if err != nil { + return 0, err + } + return float32(v), nil +} + +// GetFloat32 return the float32 value of a flag with the given name +func (f *FlagSet) GetFloat32(name string) (float32, error) { + val, err := f.getFlagType(name, "float32", float32Conv) + if err != nil { + return 0, err + } + return val.(float32), nil +} + +// Float32Var defines a float32 flag with specified name, default value, and usage string. +// The argument p points to a float32 variable in which to store the value of the flag. +func (f *FlagSet) Float32Var(p *float32, name string, value float32, usage string) { + f.VarP(newFloat32Value(value, p), name, "", usage) +} + +// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float32VarP(p *float32, name, shorthand string, value float32, usage string) { + f.VarP(newFloat32Value(value, p), name, shorthand, usage) +} + +// Float32Var defines a float32 flag with specified name, default value, and usage string. +// The argument p points to a float32 variable in which to store the value of the flag. +func Float32Var(p *float32, name string, value float32, usage string) { + CommandLine.VarP(newFloat32Value(value, p), name, "", usage) +} + +// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash. +func Float32VarP(p *float32, name, shorthand string, value float32, usage string) { + CommandLine.VarP(newFloat32Value(value, p), name, shorthand, usage) +} + +// Float32 defines a float32 flag with specified name, default value, and usage string. +// The return value is the address of a float32 variable that stores the value of the flag. +func (f *FlagSet) Float32(name string, value float32, usage string) *float32 { + p := new(float32) + f.Float32VarP(p, name, "", value, usage) + return p +} + +// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float32P(name, shorthand string, value float32, usage string) *float32 { + p := new(float32) + f.Float32VarP(p, name, shorthand, value, usage) + return p +} + +// Float32 defines a float32 flag with specified name, default value, and usage string. +// The return value is the address of a float32 variable that stores the value of the flag. +func Float32(name string, value float32, usage string) *float32 { + return CommandLine.Float32P(name, "", value, usage) +} + +// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash. +func Float32P(name, shorthand string, value float32, usage string) *float32 { + return CommandLine.Float32P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/float32_slice.go b/vendor/github.com/spf13/pflag/float32_slice.go new file mode 100644 index 00000000..caa35274 --- /dev/null +++ b/vendor/github.com/spf13/pflag/float32_slice.go @@ -0,0 +1,174 @@ +package pflag + +import ( + "fmt" + "strconv" + "strings" +) + +// -- float32Slice Value +type float32SliceValue struct { + value *[]float32 + changed bool +} + +func newFloat32SliceValue(val []float32, p *[]float32) *float32SliceValue { + isv := new(float32SliceValue) + isv.value = p + *isv.value = val + return isv +} + +func (s *float32SliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]float32, len(ss)) + for i, d := range ss { + var err error + var temp64 float64 + temp64, err = strconv.ParseFloat(d, 32) + if err != nil { + return err + } + out[i] = float32(temp64) + + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *float32SliceValue) Type() string { + return "float32Slice" +} + +func (s *float32SliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%f", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func (s *float32SliceValue) fromString(val string) (float32, error) { + t64, err := strconv.ParseFloat(val, 32) + if err != nil { + return 0, err + } + return float32(t64), nil +} + +func (s *float32SliceValue) toString(val float32) string { + return fmt.Sprintf("%f", val) +} + +func (s *float32SliceValue) Append(val string) error { + i, err := s.fromString(val) + if err != nil { + return err + } + *s.value = append(*s.value, i) + return nil +} + +func (s *float32SliceValue) Replace(val []string) error { + out := make([]float32, len(val)) + for i, d := range val { + var err error + out[i], err = s.fromString(d) + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *float32SliceValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = s.toString(d) + } + return out +} + +func float32SliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []float32{}, nil + } + ss := strings.Split(val, ",") + out := make([]float32, len(ss)) + for i, d := range ss { + var err error + var temp64 float64 + temp64, err = strconv.ParseFloat(d, 32) + if err != nil { + return nil, err + } + out[i] = float32(temp64) + + } + return out, nil +} + +// GetFloat32Slice return the []float32 value of a flag with the given name +func (f *FlagSet) GetFloat32Slice(name string) ([]float32, error) { + val, err := f.getFlagType(name, "float32Slice", float32SliceConv) + if err != nil { + return []float32{}, err + } + return val.([]float32), nil +} + +// Float32SliceVar defines a float32Slice flag with specified name, default value, and usage string. +// The argument p points to a []float32 variable in which to store the value of the flag. +func (f *FlagSet) Float32SliceVar(p *[]float32, name string, value []float32, usage string) { + f.VarP(newFloat32SliceValue(value, p), name, "", usage) +} + +// Float32SliceVarP is like Float32SliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float32SliceVarP(p *[]float32, name, shorthand string, value []float32, usage string) { + f.VarP(newFloat32SliceValue(value, p), name, shorthand, usage) +} + +// Float32SliceVar defines a float32[] flag with specified name, default value, and usage string. +// The argument p points to a float32[] variable in which to store the value of the flag. +func Float32SliceVar(p *[]float32, name string, value []float32, usage string) { + CommandLine.VarP(newFloat32SliceValue(value, p), name, "", usage) +} + +// Float32SliceVarP is like Float32SliceVar, but accepts a shorthand letter that can be used after a single dash. +func Float32SliceVarP(p *[]float32, name, shorthand string, value []float32, usage string) { + CommandLine.VarP(newFloat32SliceValue(value, p), name, shorthand, usage) +} + +// Float32Slice defines a []float32 flag with specified name, default value, and usage string. +// The return value is the address of a []float32 variable that stores the value of the flag. +func (f *FlagSet) Float32Slice(name string, value []float32, usage string) *[]float32 { + p := []float32{} + f.Float32SliceVarP(&p, name, "", value, usage) + return &p +} + +// Float32SliceP is like Float32Slice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float32SliceP(name, shorthand string, value []float32, usage string) *[]float32 { + p := []float32{} + f.Float32SliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// Float32Slice defines a []float32 flag with specified name, default value, and usage string. +// The return value is the address of a []float32 variable that stores the value of the flag. +func Float32Slice(name string, value []float32, usage string) *[]float32 { + return CommandLine.Float32SliceP(name, "", value, usage) +} + +// Float32SliceP is like Float32Slice, but accepts a shorthand letter that can be used after a single dash. +func Float32SliceP(name, shorthand string, value []float32, usage string) *[]float32 { + return CommandLine.Float32SliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/float64.go b/vendor/github.com/spf13/pflag/float64.go new file mode 100644 index 00000000..04b5492a --- /dev/null +++ b/vendor/github.com/spf13/pflag/float64.go @@ -0,0 +1,84 @@ +package pflag + +import "strconv" + +// -- float64 Value +type float64Value float64 + +func newFloat64Value(val float64, p *float64) *float64Value { + *p = val + return (*float64Value)(p) +} + +func (f *float64Value) Set(s string) error { + v, err := strconv.ParseFloat(s, 64) + *f = float64Value(v) + return err +} + +func (f *float64Value) Type() string { + return "float64" +} + +func (f *float64Value) String() string { return strconv.FormatFloat(float64(*f), 'g', -1, 64) } + +func float64Conv(sval string) (interface{}, error) { + return strconv.ParseFloat(sval, 64) +} + +// GetFloat64 return the float64 value of a flag with the given name +func (f *FlagSet) GetFloat64(name string) (float64, error) { + val, err := f.getFlagType(name, "float64", float64Conv) + if err != nil { + return 0, err + } + return val.(float64), nil +} + +// Float64Var defines a float64 flag with specified name, default value, and usage string. +// The argument p points to a float64 variable in which to store the value of the flag. +func (f *FlagSet) Float64Var(p *float64, name string, value float64, usage string) { + f.VarP(newFloat64Value(value, p), name, "", usage) +} + +// Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float64VarP(p *float64, name, shorthand string, value float64, usage string) { + f.VarP(newFloat64Value(value, p), name, shorthand, usage) +} + +// Float64Var defines a float64 flag with specified name, default value, and usage string. +// The argument p points to a float64 variable in which to store the value of the flag. +func Float64Var(p *float64, name string, value float64, usage string) { + CommandLine.VarP(newFloat64Value(value, p), name, "", usage) +} + +// Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash. +func Float64VarP(p *float64, name, shorthand string, value float64, usage string) { + CommandLine.VarP(newFloat64Value(value, p), name, shorthand, usage) +} + +// Float64 defines a float64 flag with specified name, default value, and usage string. +// The return value is the address of a float64 variable that stores the value of the flag. +func (f *FlagSet) Float64(name string, value float64, usage string) *float64 { + p := new(float64) + f.Float64VarP(p, name, "", value, usage) + return p +} + +// Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float64P(name, shorthand string, value float64, usage string) *float64 { + p := new(float64) + f.Float64VarP(p, name, shorthand, value, usage) + return p +} + +// Float64 defines a float64 flag with specified name, default value, and usage string. +// The return value is the address of a float64 variable that stores the value of the flag. +func Float64(name string, value float64, usage string) *float64 { + return CommandLine.Float64P(name, "", value, usage) +} + +// Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash. +func Float64P(name, shorthand string, value float64, usage string) *float64 { + return CommandLine.Float64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/float64_slice.go b/vendor/github.com/spf13/pflag/float64_slice.go new file mode 100644 index 00000000..85bf3073 --- /dev/null +++ b/vendor/github.com/spf13/pflag/float64_slice.go @@ -0,0 +1,166 @@ +package pflag + +import ( + "fmt" + "strconv" + "strings" +) + +// -- float64Slice Value +type float64SliceValue struct { + value *[]float64 + changed bool +} + +func newFloat64SliceValue(val []float64, p *[]float64) *float64SliceValue { + isv := new(float64SliceValue) + isv.value = p + *isv.value = val + return isv +} + +func (s *float64SliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]float64, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.ParseFloat(d, 64) + if err != nil { + return err + } + + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *float64SliceValue) Type() string { + return "float64Slice" +} + +func (s *float64SliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%f", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func (s *float64SliceValue) fromString(val string) (float64, error) { + return strconv.ParseFloat(val, 64) +} + +func (s *float64SliceValue) toString(val float64) string { + return fmt.Sprintf("%f", val) +} + +func (s *float64SliceValue) Append(val string) error { + i, err := s.fromString(val) + if err != nil { + return err + } + *s.value = append(*s.value, i) + return nil +} + +func (s *float64SliceValue) Replace(val []string) error { + out := make([]float64, len(val)) + for i, d := range val { + var err error + out[i], err = s.fromString(d) + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *float64SliceValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = s.toString(d) + } + return out +} + +func float64SliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []float64{}, nil + } + ss := strings.Split(val, ",") + out := make([]float64, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.ParseFloat(d, 64) + if err != nil { + return nil, err + } + + } + return out, nil +} + +// GetFloat64Slice return the []float64 value of a flag with the given name +func (f *FlagSet) GetFloat64Slice(name string) ([]float64, error) { + val, err := f.getFlagType(name, "float64Slice", float64SliceConv) + if err != nil { + return []float64{}, err + } + return val.([]float64), nil +} + +// Float64SliceVar defines a float64Slice flag with specified name, default value, and usage string. +// The argument p points to a []float64 variable in which to store the value of the flag. +func (f *FlagSet) Float64SliceVar(p *[]float64, name string, value []float64, usage string) { + f.VarP(newFloat64SliceValue(value, p), name, "", usage) +} + +// Float64SliceVarP is like Float64SliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float64SliceVarP(p *[]float64, name, shorthand string, value []float64, usage string) { + f.VarP(newFloat64SliceValue(value, p), name, shorthand, usage) +} + +// Float64SliceVar defines a float64[] flag with specified name, default value, and usage string. +// The argument p points to a float64[] variable in which to store the value of the flag. +func Float64SliceVar(p *[]float64, name string, value []float64, usage string) { + CommandLine.VarP(newFloat64SliceValue(value, p), name, "", usage) +} + +// Float64SliceVarP is like Float64SliceVar, but accepts a shorthand letter that can be used after a single dash. +func Float64SliceVarP(p *[]float64, name, shorthand string, value []float64, usage string) { + CommandLine.VarP(newFloat64SliceValue(value, p), name, shorthand, usage) +} + +// Float64Slice defines a []float64 flag with specified name, default value, and usage string. +// The return value is the address of a []float64 variable that stores the value of the flag. +func (f *FlagSet) Float64Slice(name string, value []float64, usage string) *[]float64 { + p := []float64{} + f.Float64SliceVarP(&p, name, "", value, usage) + return &p +} + +// Float64SliceP is like Float64Slice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float64SliceP(name, shorthand string, value []float64, usage string) *[]float64 { + p := []float64{} + f.Float64SliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// Float64Slice defines a []float64 flag with specified name, default value, and usage string. +// The return value is the address of a []float64 variable that stores the value of the flag. +func Float64Slice(name string, value []float64, usage string) *[]float64 { + return CommandLine.Float64SliceP(name, "", value, usage) +} + +// Float64SliceP is like Float64Slice, but accepts a shorthand letter that can be used after a single dash. +func Float64SliceP(name, shorthand string, value []float64, usage string) *[]float64 { + return CommandLine.Float64SliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/go.mod b/vendor/github.com/spf13/pflag/go.mod new file mode 100644 index 00000000..b2287eec --- /dev/null +++ b/vendor/github.com/spf13/pflag/go.mod @@ -0,0 +1,3 @@ +module github.com/spf13/pflag + +go 1.12 diff --git a/vendor/github.com/spf13/pflag/go.sum b/vendor/github.com/spf13/pflag/go.sum new file mode 100644 index 00000000..e69de29b diff --git a/vendor/github.com/spf13/pflag/golangflag.go b/vendor/github.com/spf13/pflag/golangflag.go new file mode 100644 index 00000000..d3dd72b7 --- /dev/null +++ b/vendor/github.com/spf13/pflag/golangflag.go @@ -0,0 +1,105 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package pflag + +import ( + goflag "flag" + "reflect" + "strings" +) + +// flagValueWrapper implements pflag.Value around a flag.Value. The main +// difference here is the addition of the Type method that returns a string +// name of the type. As this is generally unknown, we approximate that with +// reflection. +type flagValueWrapper struct { + inner goflag.Value + flagType string +} + +// We are just copying the boolFlag interface out of goflag as that is what +// they use to decide if a flag should get "true" when no arg is given. +type goBoolFlag interface { + goflag.Value + IsBoolFlag() bool +} + +func wrapFlagValue(v goflag.Value) Value { + // If the flag.Value happens to also be a pflag.Value, just use it directly. + if pv, ok := v.(Value); ok { + return pv + } + + pv := &flagValueWrapper{ + inner: v, + } + + t := reflect.TypeOf(v) + if t.Kind() == reflect.Interface || t.Kind() == reflect.Ptr { + t = t.Elem() + } + + pv.flagType = strings.TrimSuffix(t.Name(), "Value") + return pv +} + +func (v *flagValueWrapper) String() string { + return v.inner.String() +} + +func (v *flagValueWrapper) Set(s string) error { + return v.inner.Set(s) +} + +func (v *flagValueWrapper) Type() string { + return v.flagType +} + +// PFlagFromGoFlag will return a *pflag.Flag given a *flag.Flag +// If the *flag.Flag.Name was a single character (ex: `v`) it will be accessiblei +// with both `-v` and `--v` in flags. If the golang flag was more than a single +// character (ex: `verbose`) it will only be accessible via `--verbose` +func PFlagFromGoFlag(goflag *goflag.Flag) *Flag { + // Remember the default value as a string; it won't change. + flag := &Flag{ + Name: goflag.Name, + Usage: goflag.Usage, + Value: wrapFlagValue(goflag.Value), + // Looks like golang flags don't set DefValue correctly :-( + //DefValue: goflag.DefValue, + DefValue: goflag.Value.String(), + } + // Ex: if the golang flag was -v, allow both -v and --v to work + if len(flag.Name) == 1 { + flag.Shorthand = flag.Name + } + if fv, ok := goflag.Value.(goBoolFlag); ok && fv.IsBoolFlag() { + flag.NoOptDefVal = "true" + } + return flag +} + +// AddGoFlag will add the given *flag.Flag to the pflag.FlagSet +func (f *FlagSet) AddGoFlag(goflag *goflag.Flag) { + if f.Lookup(goflag.Name) != nil { + return + } + newflag := PFlagFromGoFlag(goflag) + f.AddFlag(newflag) +} + +// AddGoFlagSet will add the given *flag.FlagSet to the pflag.FlagSet +func (f *FlagSet) AddGoFlagSet(newSet *goflag.FlagSet) { + if newSet == nil { + return + } + newSet.VisitAll(func(goflag *goflag.Flag) { + f.AddGoFlag(goflag) + }) + if f.addedGoFlagSets == nil { + f.addedGoFlagSets = make([]*goflag.FlagSet, 0) + } + f.addedGoFlagSets = append(f.addedGoFlagSets, newSet) +} diff --git a/vendor/github.com/spf13/pflag/int.go b/vendor/github.com/spf13/pflag/int.go new file mode 100644 index 00000000..1474b89d --- /dev/null +++ b/vendor/github.com/spf13/pflag/int.go @@ -0,0 +1,84 @@ +package pflag + +import "strconv" + +// -- int Value +type intValue int + +func newIntValue(val int, p *int) *intValue { + *p = val + return (*intValue)(p) +} + +func (i *intValue) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 64) + *i = intValue(v) + return err +} + +func (i *intValue) Type() string { + return "int" +} + +func (i *intValue) String() string { return strconv.Itoa(int(*i)) } + +func intConv(sval string) (interface{}, error) { + return strconv.Atoi(sval) +} + +// GetInt return the int value of a flag with the given name +func (f *FlagSet) GetInt(name string) (int, error) { + val, err := f.getFlagType(name, "int", intConv) + if err != nil { + return 0, err + } + return val.(int), nil +} + +// IntVar defines an int flag with specified name, default value, and usage string. +// The argument p points to an int variable in which to store the value of the flag. +func (f *FlagSet) IntVar(p *int, name string, value int, usage string) { + f.VarP(newIntValue(value, p), name, "", usage) +} + +// IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntVarP(p *int, name, shorthand string, value int, usage string) { + f.VarP(newIntValue(value, p), name, shorthand, usage) +} + +// IntVar defines an int flag with specified name, default value, and usage string. +// The argument p points to an int variable in which to store the value of the flag. +func IntVar(p *int, name string, value int, usage string) { + CommandLine.VarP(newIntValue(value, p), name, "", usage) +} + +// IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash. +func IntVarP(p *int, name, shorthand string, value int, usage string) { + CommandLine.VarP(newIntValue(value, p), name, shorthand, usage) +} + +// Int defines an int flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +func (f *FlagSet) Int(name string, value int, usage string) *int { + p := new(int) + f.IntVarP(p, name, "", value, usage) + return p +} + +// IntP is like Int, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntP(name, shorthand string, value int, usage string) *int { + p := new(int) + f.IntVarP(p, name, shorthand, value, usage) + return p +} + +// Int defines an int flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +func Int(name string, value int, usage string) *int { + return CommandLine.IntP(name, "", value, usage) +} + +// IntP is like Int, but accepts a shorthand letter that can be used after a single dash. +func IntP(name, shorthand string, value int, usage string) *int { + return CommandLine.IntP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int16.go b/vendor/github.com/spf13/pflag/int16.go new file mode 100644 index 00000000..f1a01d05 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int16.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- int16 Value +type int16Value int16 + +func newInt16Value(val int16, p *int16) *int16Value { + *p = val + return (*int16Value)(p) +} + +func (i *int16Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 16) + *i = int16Value(v) + return err +} + +func (i *int16Value) Type() string { + return "int16" +} + +func (i *int16Value) String() string { return strconv.FormatInt(int64(*i), 10) } + +func int16Conv(sval string) (interface{}, error) { + v, err := strconv.ParseInt(sval, 0, 16) + if err != nil { + return 0, err + } + return int16(v), nil +} + +// GetInt16 returns the int16 value of a flag with the given name +func (f *FlagSet) GetInt16(name string) (int16, error) { + val, err := f.getFlagType(name, "int16", int16Conv) + if err != nil { + return 0, err + } + return val.(int16), nil +} + +// Int16Var defines an int16 flag with specified name, default value, and usage string. +// The argument p points to an int16 variable in which to store the value of the flag. +func (f *FlagSet) Int16Var(p *int16, name string, value int16, usage string) { + f.VarP(newInt16Value(value, p), name, "", usage) +} + +// Int16VarP is like Int16Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int16VarP(p *int16, name, shorthand string, value int16, usage string) { + f.VarP(newInt16Value(value, p), name, shorthand, usage) +} + +// Int16Var defines an int16 flag with specified name, default value, and usage string. +// The argument p points to an int16 variable in which to store the value of the flag. +func Int16Var(p *int16, name string, value int16, usage string) { + CommandLine.VarP(newInt16Value(value, p), name, "", usage) +} + +// Int16VarP is like Int16Var, but accepts a shorthand letter that can be used after a single dash. +func Int16VarP(p *int16, name, shorthand string, value int16, usage string) { + CommandLine.VarP(newInt16Value(value, p), name, shorthand, usage) +} + +// Int16 defines an int16 flag with specified name, default value, and usage string. +// The return value is the address of an int16 variable that stores the value of the flag. +func (f *FlagSet) Int16(name string, value int16, usage string) *int16 { + p := new(int16) + f.Int16VarP(p, name, "", value, usage) + return p +} + +// Int16P is like Int16, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int16P(name, shorthand string, value int16, usage string) *int16 { + p := new(int16) + f.Int16VarP(p, name, shorthand, value, usage) + return p +} + +// Int16 defines an int16 flag with specified name, default value, and usage string. +// The return value is the address of an int16 variable that stores the value of the flag. +func Int16(name string, value int16, usage string) *int16 { + return CommandLine.Int16P(name, "", value, usage) +} + +// Int16P is like Int16, but accepts a shorthand letter that can be used after a single dash. +func Int16P(name, shorthand string, value int16, usage string) *int16 { + return CommandLine.Int16P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int32.go b/vendor/github.com/spf13/pflag/int32.go new file mode 100644 index 00000000..9b95944f --- /dev/null +++ b/vendor/github.com/spf13/pflag/int32.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- int32 Value +type int32Value int32 + +func newInt32Value(val int32, p *int32) *int32Value { + *p = val + return (*int32Value)(p) +} + +func (i *int32Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 32) + *i = int32Value(v) + return err +} + +func (i *int32Value) Type() string { + return "int32" +} + +func (i *int32Value) String() string { return strconv.FormatInt(int64(*i), 10) } + +func int32Conv(sval string) (interface{}, error) { + v, err := strconv.ParseInt(sval, 0, 32) + if err != nil { + return 0, err + } + return int32(v), nil +} + +// GetInt32 return the int32 value of a flag with the given name +func (f *FlagSet) GetInt32(name string) (int32, error) { + val, err := f.getFlagType(name, "int32", int32Conv) + if err != nil { + return 0, err + } + return val.(int32), nil +} + +// Int32Var defines an int32 flag with specified name, default value, and usage string. +// The argument p points to an int32 variable in which to store the value of the flag. +func (f *FlagSet) Int32Var(p *int32, name string, value int32, usage string) { + f.VarP(newInt32Value(value, p), name, "", usage) +} + +// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int32VarP(p *int32, name, shorthand string, value int32, usage string) { + f.VarP(newInt32Value(value, p), name, shorthand, usage) +} + +// Int32Var defines an int32 flag with specified name, default value, and usage string. +// The argument p points to an int32 variable in which to store the value of the flag. +func Int32Var(p *int32, name string, value int32, usage string) { + CommandLine.VarP(newInt32Value(value, p), name, "", usage) +} + +// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used after a single dash. +func Int32VarP(p *int32, name, shorthand string, value int32, usage string) { + CommandLine.VarP(newInt32Value(value, p), name, shorthand, usage) +} + +// Int32 defines an int32 flag with specified name, default value, and usage string. +// The return value is the address of an int32 variable that stores the value of the flag. +func (f *FlagSet) Int32(name string, value int32, usage string) *int32 { + p := new(int32) + f.Int32VarP(p, name, "", value, usage) + return p +} + +// Int32P is like Int32, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int32P(name, shorthand string, value int32, usage string) *int32 { + p := new(int32) + f.Int32VarP(p, name, shorthand, value, usage) + return p +} + +// Int32 defines an int32 flag with specified name, default value, and usage string. +// The return value is the address of an int32 variable that stores the value of the flag. +func Int32(name string, value int32, usage string) *int32 { + return CommandLine.Int32P(name, "", value, usage) +} + +// Int32P is like Int32, but accepts a shorthand letter that can be used after a single dash. +func Int32P(name, shorthand string, value int32, usage string) *int32 { + return CommandLine.Int32P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int32_slice.go b/vendor/github.com/spf13/pflag/int32_slice.go new file mode 100644 index 00000000..ff128ff0 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int32_slice.go @@ -0,0 +1,174 @@ +package pflag + +import ( + "fmt" + "strconv" + "strings" +) + +// -- int32Slice Value +type int32SliceValue struct { + value *[]int32 + changed bool +} + +func newInt32SliceValue(val []int32, p *[]int32) *int32SliceValue { + isv := new(int32SliceValue) + isv.value = p + *isv.value = val + return isv +} + +func (s *int32SliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]int32, len(ss)) + for i, d := range ss { + var err error + var temp64 int64 + temp64, err = strconv.ParseInt(d, 0, 32) + if err != nil { + return err + } + out[i] = int32(temp64) + + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *int32SliceValue) Type() string { + return "int32Slice" +} + +func (s *int32SliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%d", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func (s *int32SliceValue) fromString(val string) (int32, error) { + t64, err := strconv.ParseInt(val, 0, 32) + if err != nil { + return 0, err + } + return int32(t64), nil +} + +func (s *int32SliceValue) toString(val int32) string { + return fmt.Sprintf("%d", val) +} + +func (s *int32SliceValue) Append(val string) error { + i, err := s.fromString(val) + if err != nil { + return err + } + *s.value = append(*s.value, i) + return nil +} + +func (s *int32SliceValue) Replace(val []string) error { + out := make([]int32, len(val)) + for i, d := range val { + var err error + out[i], err = s.fromString(d) + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *int32SliceValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = s.toString(d) + } + return out +} + +func int32SliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []int32{}, nil + } + ss := strings.Split(val, ",") + out := make([]int32, len(ss)) + for i, d := range ss { + var err error + var temp64 int64 + temp64, err = strconv.ParseInt(d, 0, 32) + if err != nil { + return nil, err + } + out[i] = int32(temp64) + + } + return out, nil +} + +// GetInt32Slice return the []int32 value of a flag with the given name +func (f *FlagSet) GetInt32Slice(name string) ([]int32, error) { + val, err := f.getFlagType(name, "int32Slice", int32SliceConv) + if err != nil { + return []int32{}, err + } + return val.([]int32), nil +} + +// Int32SliceVar defines a int32Slice flag with specified name, default value, and usage string. +// The argument p points to a []int32 variable in which to store the value of the flag. +func (f *FlagSet) Int32SliceVar(p *[]int32, name string, value []int32, usage string) { + f.VarP(newInt32SliceValue(value, p), name, "", usage) +} + +// Int32SliceVarP is like Int32SliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int32SliceVarP(p *[]int32, name, shorthand string, value []int32, usage string) { + f.VarP(newInt32SliceValue(value, p), name, shorthand, usage) +} + +// Int32SliceVar defines a int32[] flag with specified name, default value, and usage string. +// The argument p points to a int32[] variable in which to store the value of the flag. +func Int32SliceVar(p *[]int32, name string, value []int32, usage string) { + CommandLine.VarP(newInt32SliceValue(value, p), name, "", usage) +} + +// Int32SliceVarP is like Int32SliceVar, but accepts a shorthand letter that can be used after a single dash. +func Int32SliceVarP(p *[]int32, name, shorthand string, value []int32, usage string) { + CommandLine.VarP(newInt32SliceValue(value, p), name, shorthand, usage) +} + +// Int32Slice defines a []int32 flag with specified name, default value, and usage string. +// The return value is the address of a []int32 variable that stores the value of the flag. +func (f *FlagSet) Int32Slice(name string, value []int32, usage string) *[]int32 { + p := []int32{} + f.Int32SliceVarP(&p, name, "", value, usage) + return &p +} + +// Int32SliceP is like Int32Slice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int32SliceP(name, shorthand string, value []int32, usage string) *[]int32 { + p := []int32{} + f.Int32SliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// Int32Slice defines a []int32 flag with specified name, default value, and usage string. +// The return value is the address of a []int32 variable that stores the value of the flag. +func Int32Slice(name string, value []int32, usage string) *[]int32 { + return CommandLine.Int32SliceP(name, "", value, usage) +} + +// Int32SliceP is like Int32Slice, but accepts a shorthand letter that can be used after a single dash. +func Int32SliceP(name, shorthand string, value []int32, usage string) *[]int32 { + return CommandLine.Int32SliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int64.go b/vendor/github.com/spf13/pflag/int64.go new file mode 100644 index 00000000..0026d781 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int64.go @@ -0,0 +1,84 @@ +package pflag + +import "strconv" + +// -- int64 Value +type int64Value int64 + +func newInt64Value(val int64, p *int64) *int64Value { + *p = val + return (*int64Value)(p) +} + +func (i *int64Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 64) + *i = int64Value(v) + return err +} + +func (i *int64Value) Type() string { + return "int64" +} + +func (i *int64Value) String() string { return strconv.FormatInt(int64(*i), 10) } + +func int64Conv(sval string) (interface{}, error) { + return strconv.ParseInt(sval, 0, 64) +} + +// GetInt64 return the int64 value of a flag with the given name +func (f *FlagSet) GetInt64(name string) (int64, error) { + val, err := f.getFlagType(name, "int64", int64Conv) + if err != nil { + return 0, err + } + return val.(int64), nil +} + +// Int64Var defines an int64 flag with specified name, default value, and usage string. +// The argument p points to an int64 variable in which to store the value of the flag. +func (f *FlagSet) Int64Var(p *int64, name string, value int64, usage string) { + f.VarP(newInt64Value(value, p), name, "", usage) +} + +// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int64VarP(p *int64, name, shorthand string, value int64, usage string) { + f.VarP(newInt64Value(value, p), name, shorthand, usage) +} + +// Int64Var defines an int64 flag with specified name, default value, and usage string. +// The argument p points to an int64 variable in which to store the value of the flag. +func Int64Var(p *int64, name string, value int64, usage string) { + CommandLine.VarP(newInt64Value(value, p), name, "", usage) +} + +// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used after a single dash. +func Int64VarP(p *int64, name, shorthand string, value int64, usage string) { + CommandLine.VarP(newInt64Value(value, p), name, shorthand, usage) +} + +// Int64 defines an int64 flag with specified name, default value, and usage string. +// The return value is the address of an int64 variable that stores the value of the flag. +func (f *FlagSet) Int64(name string, value int64, usage string) *int64 { + p := new(int64) + f.Int64VarP(p, name, "", value, usage) + return p +} + +// Int64P is like Int64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int64P(name, shorthand string, value int64, usage string) *int64 { + p := new(int64) + f.Int64VarP(p, name, shorthand, value, usage) + return p +} + +// Int64 defines an int64 flag with specified name, default value, and usage string. +// The return value is the address of an int64 variable that stores the value of the flag. +func Int64(name string, value int64, usage string) *int64 { + return CommandLine.Int64P(name, "", value, usage) +} + +// Int64P is like Int64, but accepts a shorthand letter that can be used after a single dash. +func Int64P(name, shorthand string, value int64, usage string) *int64 { + return CommandLine.Int64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int64_slice.go b/vendor/github.com/spf13/pflag/int64_slice.go new file mode 100644 index 00000000..25464638 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int64_slice.go @@ -0,0 +1,166 @@ +package pflag + +import ( + "fmt" + "strconv" + "strings" +) + +// -- int64Slice Value +type int64SliceValue struct { + value *[]int64 + changed bool +} + +func newInt64SliceValue(val []int64, p *[]int64) *int64SliceValue { + isv := new(int64SliceValue) + isv.value = p + *isv.value = val + return isv +} + +func (s *int64SliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]int64, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.ParseInt(d, 0, 64) + if err != nil { + return err + } + + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *int64SliceValue) Type() string { + return "int64Slice" +} + +func (s *int64SliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%d", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func (s *int64SliceValue) fromString(val string) (int64, error) { + return strconv.ParseInt(val, 0, 64) +} + +func (s *int64SliceValue) toString(val int64) string { + return fmt.Sprintf("%d", val) +} + +func (s *int64SliceValue) Append(val string) error { + i, err := s.fromString(val) + if err != nil { + return err + } + *s.value = append(*s.value, i) + return nil +} + +func (s *int64SliceValue) Replace(val []string) error { + out := make([]int64, len(val)) + for i, d := range val { + var err error + out[i], err = s.fromString(d) + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *int64SliceValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = s.toString(d) + } + return out +} + +func int64SliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []int64{}, nil + } + ss := strings.Split(val, ",") + out := make([]int64, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.ParseInt(d, 0, 64) + if err != nil { + return nil, err + } + + } + return out, nil +} + +// GetInt64Slice return the []int64 value of a flag with the given name +func (f *FlagSet) GetInt64Slice(name string) ([]int64, error) { + val, err := f.getFlagType(name, "int64Slice", int64SliceConv) + if err != nil { + return []int64{}, err + } + return val.([]int64), nil +} + +// Int64SliceVar defines a int64Slice flag with specified name, default value, and usage string. +// The argument p points to a []int64 variable in which to store the value of the flag. +func (f *FlagSet) Int64SliceVar(p *[]int64, name string, value []int64, usage string) { + f.VarP(newInt64SliceValue(value, p), name, "", usage) +} + +// Int64SliceVarP is like Int64SliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int64SliceVarP(p *[]int64, name, shorthand string, value []int64, usage string) { + f.VarP(newInt64SliceValue(value, p), name, shorthand, usage) +} + +// Int64SliceVar defines a int64[] flag with specified name, default value, and usage string. +// The argument p points to a int64[] variable in which to store the value of the flag. +func Int64SliceVar(p *[]int64, name string, value []int64, usage string) { + CommandLine.VarP(newInt64SliceValue(value, p), name, "", usage) +} + +// Int64SliceVarP is like Int64SliceVar, but accepts a shorthand letter that can be used after a single dash. +func Int64SliceVarP(p *[]int64, name, shorthand string, value []int64, usage string) { + CommandLine.VarP(newInt64SliceValue(value, p), name, shorthand, usage) +} + +// Int64Slice defines a []int64 flag with specified name, default value, and usage string. +// The return value is the address of a []int64 variable that stores the value of the flag. +func (f *FlagSet) Int64Slice(name string, value []int64, usage string) *[]int64 { + p := []int64{} + f.Int64SliceVarP(&p, name, "", value, usage) + return &p +} + +// Int64SliceP is like Int64Slice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int64SliceP(name, shorthand string, value []int64, usage string) *[]int64 { + p := []int64{} + f.Int64SliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// Int64Slice defines a []int64 flag with specified name, default value, and usage string. +// The return value is the address of a []int64 variable that stores the value of the flag. +func Int64Slice(name string, value []int64, usage string) *[]int64 { + return CommandLine.Int64SliceP(name, "", value, usage) +} + +// Int64SliceP is like Int64Slice, but accepts a shorthand letter that can be used after a single dash. +func Int64SliceP(name, shorthand string, value []int64, usage string) *[]int64 { + return CommandLine.Int64SliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int8.go b/vendor/github.com/spf13/pflag/int8.go new file mode 100644 index 00000000..4da92228 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int8.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- int8 Value +type int8Value int8 + +func newInt8Value(val int8, p *int8) *int8Value { + *p = val + return (*int8Value)(p) +} + +func (i *int8Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 8) + *i = int8Value(v) + return err +} + +func (i *int8Value) Type() string { + return "int8" +} + +func (i *int8Value) String() string { return strconv.FormatInt(int64(*i), 10) } + +func int8Conv(sval string) (interface{}, error) { + v, err := strconv.ParseInt(sval, 0, 8) + if err != nil { + return 0, err + } + return int8(v), nil +} + +// GetInt8 return the int8 value of a flag with the given name +func (f *FlagSet) GetInt8(name string) (int8, error) { + val, err := f.getFlagType(name, "int8", int8Conv) + if err != nil { + return 0, err + } + return val.(int8), nil +} + +// Int8Var defines an int8 flag with specified name, default value, and usage string. +// The argument p points to an int8 variable in which to store the value of the flag. +func (f *FlagSet) Int8Var(p *int8, name string, value int8, usage string) { + f.VarP(newInt8Value(value, p), name, "", usage) +} + +// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int8VarP(p *int8, name, shorthand string, value int8, usage string) { + f.VarP(newInt8Value(value, p), name, shorthand, usage) +} + +// Int8Var defines an int8 flag with specified name, default value, and usage string. +// The argument p points to an int8 variable in which to store the value of the flag. +func Int8Var(p *int8, name string, value int8, usage string) { + CommandLine.VarP(newInt8Value(value, p), name, "", usage) +} + +// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used after a single dash. +func Int8VarP(p *int8, name, shorthand string, value int8, usage string) { + CommandLine.VarP(newInt8Value(value, p), name, shorthand, usage) +} + +// Int8 defines an int8 flag with specified name, default value, and usage string. +// The return value is the address of an int8 variable that stores the value of the flag. +func (f *FlagSet) Int8(name string, value int8, usage string) *int8 { + p := new(int8) + f.Int8VarP(p, name, "", value, usage) + return p +} + +// Int8P is like Int8, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int8P(name, shorthand string, value int8, usage string) *int8 { + p := new(int8) + f.Int8VarP(p, name, shorthand, value, usage) + return p +} + +// Int8 defines an int8 flag with specified name, default value, and usage string. +// The return value is the address of an int8 variable that stores the value of the flag. +func Int8(name string, value int8, usage string) *int8 { + return CommandLine.Int8P(name, "", value, usage) +} + +// Int8P is like Int8, but accepts a shorthand letter that can be used after a single dash. +func Int8P(name, shorthand string, value int8, usage string) *int8 { + return CommandLine.Int8P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int_slice.go b/vendor/github.com/spf13/pflag/int_slice.go new file mode 100644 index 00000000..e71c39d9 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int_slice.go @@ -0,0 +1,158 @@ +package pflag + +import ( + "fmt" + "strconv" + "strings" +) + +// -- intSlice Value +type intSliceValue struct { + value *[]int + changed bool +} + +func newIntSliceValue(val []int, p *[]int) *intSliceValue { + isv := new(intSliceValue) + isv.value = p + *isv.value = val + return isv +} + +func (s *intSliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]int, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.Atoi(d) + if err != nil { + return err + } + + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *intSliceValue) Type() string { + return "intSlice" +} + +func (s *intSliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%d", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func (s *intSliceValue) Append(val string) error { + i, err := strconv.Atoi(val) + if err != nil { + return err + } + *s.value = append(*s.value, i) + return nil +} + +func (s *intSliceValue) Replace(val []string) error { + out := make([]int, len(val)) + for i, d := range val { + var err error + out[i], err = strconv.Atoi(d) + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *intSliceValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = strconv.Itoa(d) + } + return out +} + +func intSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []int{}, nil + } + ss := strings.Split(val, ",") + out := make([]int, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.Atoi(d) + if err != nil { + return nil, err + } + + } + return out, nil +} + +// GetIntSlice return the []int value of a flag with the given name +func (f *FlagSet) GetIntSlice(name string) ([]int, error) { + val, err := f.getFlagType(name, "intSlice", intSliceConv) + if err != nil { + return []int{}, err + } + return val.([]int), nil +} + +// IntSliceVar defines a intSlice flag with specified name, default value, and usage string. +// The argument p points to a []int variable in which to store the value of the flag. +func (f *FlagSet) IntSliceVar(p *[]int, name string, value []int, usage string) { + f.VarP(newIntSliceValue(value, p), name, "", usage) +} + +// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string) { + f.VarP(newIntSliceValue(value, p), name, shorthand, usage) +} + +// IntSliceVar defines a int[] flag with specified name, default value, and usage string. +// The argument p points to a int[] variable in which to store the value of the flag. +func IntSliceVar(p *[]int, name string, value []int, usage string) { + CommandLine.VarP(newIntSliceValue(value, p), name, "", usage) +} + +// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can be used after a single dash. +func IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string) { + CommandLine.VarP(newIntSliceValue(value, p), name, shorthand, usage) +} + +// IntSlice defines a []int flag with specified name, default value, and usage string. +// The return value is the address of a []int variable that stores the value of the flag. +func (f *FlagSet) IntSlice(name string, value []int, usage string) *[]int { + p := []int{} + f.IntSliceVarP(&p, name, "", value, usage) + return &p +} + +// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntSliceP(name, shorthand string, value []int, usage string) *[]int { + p := []int{} + f.IntSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// IntSlice defines a []int flag with specified name, default value, and usage string. +// The return value is the address of a []int variable that stores the value of the flag. +func IntSlice(name string, value []int, usage string) *[]int { + return CommandLine.IntSliceP(name, "", value, usage) +} + +// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used after a single dash. +func IntSliceP(name, shorthand string, value []int, usage string) *[]int { + return CommandLine.IntSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ip.go b/vendor/github.com/spf13/pflag/ip.go new file mode 100644 index 00000000..3d414ba6 --- /dev/null +++ b/vendor/github.com/spf13/pflag/ip.go @@ -0,0 +1,94 @@ +package pflag + +import ( + "fmt" + "net" + "strings" +) + +// -- net.IP value +type ipValue net.IP + +func newIPValue(val net.IP, p *net.IP) *ipValue { + *p = val + return (*ipValue)(p) +} + +func (i *ipValue) String() string { return net.IP(*i).String() } +func (i *ipValue) Set(s string) error { + ip := net.ParseIP(strings.TrimSpace(s)) + if ip == nil { + return fmt.Errorf("failed to parse IP: %q", s) + } + *i = ipValue(ip) + return nil +} + +func (i *ipValue) Type() string { + return "ip" +} + +func ipConv(sval string) (interface{}, error) { + ip := net.ParseIP(sval) + if ip != nil { + return ip, nil + } + return nil, fmt.Errorf("invalid string being converted to IP address: %s", sval) +} + +// GetIP return the net.IP value of a flag with the given name +func (f *FlagSet) GetIP(name string) (net.IP, error) { + val, err := f.getFlagType(name, "ip", ipConv) + if err != nil { + return nil, err + } + return val.(net.IP), nil +} + +// IPVar defines an net.IP flag with specified name, default value, and usage string. +// The argument p points to an net.IP variable in which to store the value of the flag. +func (f *FlagSet) IPVar(p *net.IP, name string, value net.IP, usage string) { + f.VarP(newIPValue(value, p), name, "", usage) +} + +// IPVarP is like IPVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPVarP(p *net.IP, name, shorthand string, value net.IP, usage string) { + f.VarP(newIPValue(value, p), name, shorthand, usage) +} + +// IPVar defines an net.IP flag with specified name, default value, and usage string. +// The argument p points to an net.IP variable in which to store the value of the flag. +func IPVar(p *net.IP, name string, value net.IP, usage string) { + CommandLine.VarP(newIPValue(value, p), name, "", usage) +} + +// IPVarP is like IPVar, but accepts a shorthand letter that can be used after a single dash. +func IPVarP(p *net.IP, name, shorthand string, value net.IP, usage string) { + CommandLine.VarP(newIPValue(value, p), name, shorthand, usage) +} + +// IP defines an net.IP flag with specified name, default value, and usage string. +// The return value is the address of an net.IP variable that stores the value of the flag. +func (f *FlagSet) IP(name string, value net.IP, usage string) *net.IP { + p := new(net.IP) + f.IPVarP(p, name, "", value, usage) + return p +} + +// IPP is like IP, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPP(name, shorthand string, value net.IP, usage string) *net.IP { + p := new(net.IP) + f.IPVarP(p, name, shorthand, value, usage) + return p +} + +// IP defines an net.IP flag with specified name, default value, and usage string. +// The return value is the address of an net.IP variable that stores the value of the flag. +func IP(name string, value net.IP, usage string) *net.IP { + return CommandLine.IPP(name, "", value, usage) +} + +// IPP is like IP, but accepts a shorthand letter that can be used after a single dash. +func IPP(name, shorthand string, value net.IP, usage string) *net.IP { + return CommandLine.IPP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ip_slice.go b/vendor/github.com/spf13/pflag/ip_slice.go new file mode 100644 index 00000000..775faae4 --- /dev/null +++ b/vendor/github.com/spf13/pflag/ip_slice.go @@ -0,0 +1,186 @@ +package pflag + +import ( + "fmt" + "io" + "net" + "strings" +) + +// -- ipSlice Value +type ipSliceValue struct { + value *[]net.IP + changed bool +} + +func newIPSliceValue(val []net.IP, p *[]net.IP) *ipSliceValue { + ipsv := new(ipSliceValue) + ipsv.value = p + *ipsv.value = val + return ipsv +} + +// Set converts, and assigns, the comma-separated IP argument string representation as the []net.IP value of this flag. +// If Set is called on a flag that already has a []net.IP assigned, the newly converted values will be appended. +func (s *ipSliceValue) Set(val string) error { + + // remove all quote characters + rmQuote := strings.NewReplacer(`"`, "", `'`, "", "`", "") + + // read flag arguments with CSV parser + ipStrSlice, err := readAsCSV(rmQuote.Replace(val)) + if err != nil && err != io.EOF { + return err + } + + // parse ip values into slice + out := make([]net.IP, 0, len(ipStrSlice)) + for _, ipStr := range ipStrSlice { + ip := net.ParseIP(strings.TrimSpace(ipStr)) + if ip == nil { + return fmt.Errorf("invalid string being converted to IP address: %s", ipStr) + } + out = append(out, ip) + } + + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + + s.changed = true + + return nil +} + +// Type returns a string that uniquely represents this flag's type. +func (s *ipSliceValue) Type() string { + return "ipSlice" +} + +// String defines a "native" format for this net.IP slice flag value. +func (s *ipSliceValue) String() string { + + ipStrSlice := make([]string, len(*s.value)) + for i, ip := range *s.value { + ipStrSlice[i] = ip.String() + } + + out, _ := writeAsCSV(ipStrSlice) + + return "[" + out + "]" +} + +func (s *ipSliceValue) fromString(val string) (net.IP, error) { + return net.ParseIP(strings.TrimSpace(val)), nil +} + +func (s *ipSliceValue) toString(val net.IP) string { + return val.String() +} + +func (s *ipSliceValue) Append(val string) error { + i, err := s.fromString(val) + if err != nil { + return err + } + *s.value = append(*s.value, i) + return nil +} + +func (s *ipSliceValue) Replace(val []string) error { + out := make([]net.IP, len(val)) + for i, d := range val { + var err error + out[i], err = s.fromString(d) + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *ipSliceValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = s.toString(d) + } + return out +} + +func ipSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []net.IP{}, nil + } + ss := strings.Split(val, ",") + out := make([]net.IP, len(ss)) + for i, sval := range ss { + ip := net.ParseIP(strings.TrimSpace(sval)) + if ip == nil { + return nil, fmt.Errorf("invalid string being converted to IP address: %s", sval) + } + out[i] = ip + } + return out, nil +} + +// GetIPSlice returns the []net.IP value of a flag with the given name +func (f *FlagSet) GetIPSlice(name string) ([]net.IP, error) { + val, err := f.getFlagType(name, "ipSlice", ipSliceConv) + if err != nil { + return []net.IP{}, err + } + return val.([]net.IP), nil +} + +// IPSliceVar defines a ipSlice flag with specified name, default value, and usage string. +// The argument p points to a []net.IP variable in which to store the value of the flag. +func (f *FlagSet) IPSliceVar(p *[]net.IP, name string, value []net.IP, usage string) { + f.VarP(newIPSliceValue(value, p), name, "", usage) +} + +// IPSliceVarP is like IPSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPSliceVarP(p *[]net.IP, name, shorthand string, value []net.IP, usage string) { + f.VarP(newIPSliceValue(value, p), name, shorthand, usage) +} + +// IPSliceVar defines a []net.IP flag with specified name, default value, and usage string. +// The argument p points to a []net.IP variable in which to store the value of the flag. +func IPSliceVar(p *[]net.IP, name string, value []net.IP, usage string) { + CommandLine.VarP(newIPSliceValue(value, p), name, "", usage) +} + +// IPSliceVarP is like IPSliceVar, but accepts a shorthand letter that can be used after a single dash. +func IPSliceVarP(p *[]net.IP, name, shorthand string, value []net.IP, usage string) { + CommandLine.VarP(newIPSliceValue(value, p), name, shorthand, usage) +} + +// IPSlice defines a []net.IP flag with specified name, default value, and usage string. +// The return value is the address of a []net.IP variable that stores the value of that flag. +func (f *FlagSet) IPSlice(name string, value []net.IP, usage string) *[]net.IP { + p := []net.IP{} + f.IPSliceVarP(&p, name, "", value, usage) + return &p +} + +// IPSliceP is like IPSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPSliceP(name, shorthand string, value []net.IP, usage string) *[]net.IP { + p := []net.IP{} + f.IPSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// IPSlice defines a []net.IP flag with specified name, default value, and usage string. +// The return value is the address of a []net.IP variable that stores the value of the flag. +func IPSlice(name string, value []net.IP, usage string) *[]net.IP { + return CommandLine.IPSliceP(name, "", value, usage) +} + +// IPSliceP is like IPSlice, but accepts a shorthand letter that can be used after a single dash. +func IPSliceP(name, shorthand string, value []net.IP, usage string) *[]net.IP { + return CommandLine.IPSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ipmask.go b/vendor/github.com/spf13/pflag/ipmask.go new file mode 100644 index 00000000..5bd44bd2 --- /dev/null +++ b/vendor/github.com/spf13/pflag/ipmask.go @@ -0,0 +1,122 @@ +package pflag + +import ( + "fmt" + "net" + "strconv" +) + +// -- net.IPMask value +type ipMaskValue net.IPMask + +func newIPMaskValue(val net.IPMask, p *net.IPMask) *ipMaskValue { + *p = val + return (*ipMaskValue)(p) +} + +func (i *ipMaskValue) String() string { return net.IPMask(*i).String() } +func (i *ipMaskValue) Set(s string) error { + ip := ParseIPv4Mask(s) + if ip == nil { + return fmt.Errorf("failed to parse IP mask: %q", s) + } + *i = ipMaskValue(ip) + return nil +} + +func (i *ipMaskValue) Type() string { + return "ipMask" +} + +// ParseIPv4Mask written in IP form (e.g. 255.255.255.0). +// This function should really belong to the net package. +func ParseIPv4Mask(s string) net.IPMask { + mask := net.ParseIP(s) + if mask == nil { + if len(s) != 8 { + return nil + } + // net.IPMask.String() actually outputs things like ffffff00 + // so write a horrible parser for that as well :-( + m := []int{} + for i := 0; i < 4; i++ { + b := "0x" + s[2*i:2*i+2] + d, err := strconv.ParseInt(b, 0, 0) + if err != nil { + return nil + } + m = append(m, int(d)) + } + s := fmt.Sprintf("%d.%d.%d.%d", m[0], m[1], m[2], m[3]) + mask = net.ParseIP(s) + if mask == nil { + return nil + } + } + return net.IPv4Mask(mask[12], mask[13], mask[14], mask[15]) +} + +func parseIPv4Mask(sval string) (interface{}, error) { + mask := ParseIPv4Mask(sval) + if mask == nil { + return nil, fmt.Errorf("unable to parse %s as net.IPMask", sval) + } + return mask, nil +} + +// GetIPv4Mask return the net.IPv4Mask value of a flag with the given name +func (f *FlagSet) GetIPv4Mask(name string) (net.IPMask, error) { + val, err := f.getFlagType(name, "ipMask", parseIPv4Mask) + if err != nil { + return nil, err + } + return val.(net.IPMask), nil +} + +// IPMaskVar defines an net.IPMask flag with specified name, default value, and usage string. +// The argument p points to an net.IPMask variable in which to store the value of the flag. +func (f *FlagSet) IPMaskVar(p *net.IPMask, name string, value net.IPMask, usage string) { + f.VarP(newIPMaskValue(value, p), name, "", usage) +} + +// IPMaskVarP is like IPMaskVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPMaskVarP(p *net.IPMask, name, shorthand string, value net.IPMask, usage string) { + f.VarP(newIPMaskValue(value, p), name, shorthand, usage) +} + +// IPMaskVar defines an net.IPMask flag with specified name, default value, and usage string. +// The argument p points to an net.IPMask variable in which to store the value of the flag. +func IPMaskVar(p *net.IPMask, name string, value net.IPMask, usage string) { + CommandLine.VarP(newIPMaskValue(value, p), name, "", usage) +} + +// IPMaskVarP is like IPMaskVar, but accepts a shorthand letter that can be used after a single dash. +func IPMaskVarP(p *net.IPMask, name, shorthand string, value net.IPMask, usage string) { + CommandLine.VarP(newIPMaskValue(value, p), name, shorthand, usage) +} + +// IPMask defines an net.IPMask flag with specified name, default value, and usage string. +// The return value is the address of an net.IPMask variable that stores the value of the flag. +func (f *FlagSet) IPMask(name string, value net.IPMask, usage string) *net.IPMask { + p := new(net.IPMask) + f.IPMaskVarP(p, name, "", value, usage) + return p +} + +// IPMaskP is like IPMask, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPMaskP(name, shorthand string, value net.IPMask, usage string) *net.IPMask { + p := new(net.IPMask) + f.IPMaskVarP(p, name, shorthand, value, usage) + return p +} + +// IPMask defines an net.IPMask flag with specified name, default value, and usage string. +// The return value is the address of an net.IPMask variable that stores the value of the flag. +func IPMask(name string, value net.IPMask, usage string) *net.IPMask { + return CommandLine.IPMaskP(name, "", value, usage) +} + +// IPMaskP is like IP, but accepts a shorthand letter that can be used after a single dash. +func IPMaskP(name, shorthand string, value net.IPMask, usage string) *net.IPMask { + return CommandLine.IPMaskP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ipnet.go b/vendor/github.com/spf13/pflag/ipnet.go new file mode 100644 index 00000000..e2c1b8bc --- /dev/null +++ b/vendor/github.com/spf13/pflag/ipnet.go @@ -0,0 +1,98 @@ +package pflag + +import ( + "fmt" + "net" + "strings" +) + +// IPNet adapts net.IPNet for use as a flag. +type ipNetValue net.IPNet + +func (ipnet ipNetValue) String() string { + n := net.IPNet(ipnet) + return n.String() +} + +func (ipnet *ipNetValue) Set(value string) error { + _, n, err := net.ParseCIDR(strings.TrimSpace(value)) + if err != nil { + return err + } + *ipnet = ipNetValue(*n) + return nil +} + +func (*ipNetValue) Type() string { + return "ipNet" +} + +func newIPNetValue(val net.IPNet, p *net.IPNet) *ipNetValue { + *p = val + return (*ipNetValue)(p) +} + +func ipNetConv(sval string) (interface{}, error) { + _, n, err := net.ParseCIDR(strings.TrimSpace(sval)) + if err == nil { + return *n, nil + } + return nil, fmt.Errorf("invalid string being converted to IPNet: %s", sval) +} + +// GetIPNet return the net.IPNet value of a flag with the given name +func (f *FlagSet) GetIPNet(name string) (net.IPNet, error) { + val, err := f.getFlagType(name, "ipNet", ipNetConv) + if err != nil { + return net.IPNet{}, err + } + return val.(net.IPNet), nil +} + +// IPNetVar defines an net.IPNet flag with specified name, default value, and usage string. +// The argument p points to an net.IPNet variable in which to store the value of the flag. +func (f *FlagSet) IPNetVar(p *net.IPNet, name string, value net.IPNet, usage string) { + f.VarP(newIPNetValue(value, p), name, "", usage) +} + +// IPNetVarP is like IPNetVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPNetVarP(p *net.IPNet, name, shorthand string, value net.IPNet, usage string) { + f.VarP(newIPNetValue(value, p), name, shorthand, usage) +} + +// IPNetVar defines an net.IPNet flag with specified name, default value, and usage string. +// The argument p points to an net.IPNet variable in which to store the value of the flag. +func IPNetVar(p *net.IPNet, name string, value net.IPNet, usage string) { + CommandLine.VarP(newIPNetValue(value, p), name, "", usage) +} + +// IPNetVarP is like IPNetVar, but accepts a shorthand letter that can be used after a single dash. +func IPNetVarP(p *net.IPNet, name, shorthand string, value net.IPNet, usage string) { + CommandLine.VarP(newIPNetValue(value, p), name, shorthand, usage) +} + +// IPNet defines an net.IPNet flag with specified name, default value, and usage string. +// The return value is the address of an net.IPNet variable that stores the value of the flag. +func (f *FlagSet) IPNet(name string, value net.IPNet, usage string) *net.IPNet { + p := new(net.IPNet) + f.IPNetVarP(p, name, "", value, usage) + return p +} + +// IPNetP is like IPNet, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPNetP(name, shorthand string, value net.IPNet, usage string) *net.IPNet { + p := new(net.IPNet) + f.IPNetVarP(p, name, shorthand, value, usage) + return p +} + +// IPNet defines an net.IPNet flag with specified name, default value, and usage string. +// The return value is the address of an net.IPNet variable that stores the value of the flag. +func IPNet(name string, value net.IPNet, usage string) *net.IPNet { + return CommandLine.IPNetP(name, "", value, usage) +} + +// IPNetP is like IPNet, but accepts a shorthand letter that can be used after a single dash. +func IPNetP(name, shorthand string, value net.IPNet, usage string) *net.IPNet { + return CommandLine.IPNetP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string.go b/vendor/github.com/spf13/pflag/string.go new file mode 100644 index 00000000..04e0a26f --- /dev/null +++ b/vendor/github.com/spf13/pflag/string.go @@ -0,0 +1,80 @@ +package pflag + +// -- string Value +type stringValue string + +func newStringValue(val string, p *string) *stringValue { + *p = val + return (*stringValue)(p) +} + +func (s *stringValue) Set(val string) error { + *s = stringValue(val) + return nil +} +func (s *stringValue) Type() string { + return "string" +} + +func (s *stringValue) String() string { return string(*s) } + +func stringConv(sval string) (interface{}, error) { + return sval, nil +} + +// GetString return the string value of a flag with the given name +func (f *FlagSet) GetString(name string) (string, error) { + val, err := f.getFlagType(name, "string", stringConv) + if err != nil { + return "", err + } + return val.(string), nil +} + +// StringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a string variable in which to store the value of the flag. +func (f *FlagSet) StringVar(p *string, name string, value string, usage string) { + f.VarP(newStringValue(value, p), name, "", usage) +} + +// StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringVarP(p *string, name, shorthand string, value string, usage string) { + f.VarP(newStringValue(value, p), name, shorthand, usage) +} + +// StringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a string variable in which to store the value of the flag. +func StringVar(p *string, name string, value string, usage string) { + CommandLine.VarP(newStringValue(value, p), name, "", usage) +} + +// StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash. +func StringVarP(p *string, name, shorthand string, value string, usage string) { + CommandLine.VarP(newStringValue(value, p), name, shorthand, usage) +} + +// String defines a string flag with specified name, default value, and usage string. +// The return value is the address of a string variable that stores the value of the flag. +func (f *FlagSet) String(name string, value string, usage string) *string { + p := new(string) + f.StringVarP(p, name, "", value, usage) + return p +} + +// StringP is like String, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringP(name, shorthand string, value string, usage string) *string { + p := new(string) + f.StringVarP(p, name, shorthand, value, usage) + return p +} + +// String defines a string flag with specified name, default value, and usage string. +// The return value is the address of a string variable that stores the value of the flag. +func String(name string, value string, usage string) *string { + return CommandLine.StringP(name, "", value, usage) +} + +// StringP is like String, but accepts a shorthand letter that can be used after a single dash. +func StringP(name, shorthand string, value string, usage string) *string { + return CommandLine.StringP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_array.go b/vendor/github.com/spf13/pflag/string_array.go new file mode 100644 index 00000000..4894af81 --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_array.go @@ -0,0 +1,129 @@ +package pflag + +// -- stringArray Value +type stringArrayValue struct { + value *[]string + changed bool +} + +func newStringArrayValue(val []string, p *[]string) *stringArrayValue { + ssv := new(stringArrayValue) + ssv.value = p + *ssv.value = val + return ssv +} + +func (s *stringArrayValue) Set(val string) error { + if !s.changed { + *s.value = []string{val} + s.changed = true + } else { + *s.value = append(*s.value, val) + } + return nil +} + +func (s *stringArrayValue) Append(val string) error { + *s.value = append(*s.value, val) + return nil +} + +func (s *stringArrayValue) Replace(val []string) error { + out := make([]string, len(val)) + for i, d := range val { + var err error + out[i] = d + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *stringArrayValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = d + } + return out +} + +func (s *stringArrayValue) Type() string { + return "stringArray" +} + +func (s *stringArrayValue) String() string { + str, _ := writeAsCSV(*s.value) + return "[" + str + "]" +} + +func stringArrayConv(sval string) (interface{}, error) { + sval = sval[1 : len(sval)-1] + // An empty string would cause a array with one (empty) string + if len(sval) == 0 { + return []string{}, nil + } + return readAsCSV(sval) +} + +// GetStringArray return the []string value of a flag with the given name +func (f *FlagSet) GetStringArray(name string) ([]string, error) { + val, err := f.getFlagType(name, "stringArray", stringArrayConv) + if err != nil { + return []string{}, err + } + return val.([]string), nil +} + +// StringArrayVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the values of the multiple flags. +// The value of each argument will not try to be separated by comma. Use a StringSlice for that. +func (f *FlagSet) StringArrayVar(p *[]string, name string, value []string, usage string) { + f.VarP(newStringArrayValue(value, p), name, "", usage) +} + +// StringArrayVarP is like StringArrayVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringArrayVarP(p *[]string, name, shorthand string, value []string, usage string) { + f.VarP(newStringArrayValue(value, p), name, shorthand, usage) +} + +// StringArrayVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the value of the flag. +// The value of each argument will not try to be separated by comma. Use a StringSlice for that. +func StringArrayVar(p *[]string, name string, value []string, usage string) { + CommandLine.VarP(newStringArrayValue(value, p), name, "", usage) +} + +// StringArrayVarP is like StringArrayVar, but accepts a shorthand letter that can be used after a single dash. +func StringArrayVarP(p *[]string, name, shorthand string, value []string, usage string) { + CommandLine.VarP(newStringArrayValue(value, p), name, shorthand, usage) +} + +// StringArray defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma. Use a StringSlice for that. +func (f *FlagSet) StringArray(name string, value []string, usage string) *[]string { + p := []string{} + f.StringArrayVarP(&p, name, "", value, usage) + return &p +} + +// StringArrayP is like StringArray, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringArrayP(name, shorthand string, value []string, usage string) *[]string { + p := []string{} + f.StringArrayVarP(&p, name, shorthand, value, usage) + return &p +} + +// StringArray defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma. Use a StringSlice for that. +func StringArray(name string, value []string, usage string) *[]string { + return CommandLine.StringArrayP(name, "", value, usage) +} + +// StringArrayP is like StringArray, but accepts a shorthand letter that can be used after a single dash. +func StringArrayP(name, shorthand string, value []string, usage string) *[]string { + return CommandLine.StringArrayP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_slice.go b/vendor/github.com/spf13/pflag/string_slice.go new file mode 100644 index 00000000..3cb2e69d --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_slice.go @@ -0,0 +1,163 @@ +package pflag + +import ( + "bytes" + "encoding/csv" + "strings" +) + +// -- stringSlice Value +type stringSliceValue struct { + value *[]string + changed bool +} + +func newStringSliceValue(val []string, p *[]string) *stringSliceValue { + ssv := new(stringSliceValue) + ssv.value = p + *ssv.value = val + return ssv +} + +func readAsCSV(val string) ([]string, error) { + if val == "" { + return []string{}, nil + } + stringReader := strings.NewReader(val) + csvReader := csv.NewReader(stringReader) + return csvReader.Read() +} + +func writeAsCSV(vals []string) (string, error) { + b := &bytes.Buffer{} + w := csv.NewWriter(b) + err := w.Write(vals) + if err != nil { + return "", err + } + w.Flush() + return strings.TrimSuffix(b.String(), "\n"), nil +} + +func (s *stringSliceValue) Set(val string) error { + v, err := readAsCSV(val) + if err != nil { + return err + } + if !s.changed { + *s.value = v + } else { + *s.value = append(*s.value, v...) + } + s.changed = true + return nil +} + +func (s *stringSliceValue) Type() string { + return "stringSlice" +} + +func (s *stringSliceValue) String() string { + str, _ := writeAsCSV(*s.value) + return "[" + str + "]" +} + +func (s *stringSliceValue) Append(val string) error { + *s.value = append(*s.value, val) + return nil +} + +func (s *stringSliceValue) Replace(val []string) error { + *s.value = val + return nil +} + +func (s *stringSliceValue) GetSlice() []string { + return *s.value +} + +func stringSliceConv(sval string) (interface{}, error) { + sval = sval[1 : len(sval)-1] + // An empty string would cause a slice with one (empty) string + if len(sval) == 0 { + return []string{}, nil + } + return readAsCSV(sval) +} + +// GetStringSlice return the []string value of a flag with the given name +func (f *FlagSet) GetStringSlice(name string) ([]string, error) { + val, err := f.getFlagType(name, "stringSlice", stringSliceConv) + if err != nil { + return []string{}, err + } + return val.([]string), nil +} + +// StringSliceVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the value of the flag. +// Compared to StringArray flags, StringSlice flags take comma-separated value as arguments and split them accordingly. +// For example: +// --ss="v1,v2" --ss="v3" +// will result in +// []string{"v1", "v2", "v3"} +func (f *FlagSet) StringSliceVar(p *[]string, name string, value []string, usage string) { + f.VarP(newStringSliceValue(value, p), name, "", usage) +} + +// StringSliceVarP is like StringSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string) { + f.VarP(newStringSliceValue(value, p), name, shorthand, usage) +} + +// StringSliceVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the value of the flag. +// Compared to StringArray flags, StringSlice flags take comma-separated value as arguments and split them accordingly. +// For example: +// --ss="v1,v2" --ss="v3" +// will result in +// []string{"v1", "v2", "v3"} +func StringSliceVar(p *[]string, name string, value []string, usage string) { + CommandLine.VarP(newStringSliceValue(value, p), name, "", usage) +} + +// StringSliceVarP is like StringSliceVar, but accepts a shorthand letter that can be used after a single dash. +func StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string) { + CommandLine.VarP(newStringSliceValue(value, p), name, shorthand, usage) +} + +// StringSlice defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +// Compared to StringArray flags, StringSlice flags take comma-separated value as arguments and split them accordingly. +// For example: +// --ss="v1,v2" --ss="v3" +// will result in +// []string{"v1", "v2", "v3"} +func (f *FlagSet) StringSlice(name string, value []string, usage string) *[]string { + p := []string{} + f.StringSliceVarP(&p, name, "", value, usage) + return &p +} + +// StringSliceP is like StringSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringSliceP(name, shorthand string, value []string, usage string) *[]string { + p := []string{} + f.StringSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// StringSlice defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +// Compared to StringArray flags, StringSlice flags take comma-separated value as arguments and split them accordingly. +// For example: +// --ss="v1,v2" --ss="v3" +// will result in +// []string{"v1", "v2", "v3"} +func StringSlice(name string, value []string, usage string) *[]string { + return CommandLine.StringSliceP(name, "", value, usage) +} + +// StringSliceP is like StringSlice, but accepts a shorthand letter that can be used after a single dash. +func StringSliceP(name, shorthand string, value []string, usage string) *[]string { + return CommandLine.StringSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_to_int.go b/vendor/github.com/spf13/pflag/string_to_int.go new file mode 100644 index 00000000..5ceda396 --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_to_int.go @@ -0,0 +1,149 @@ +package pflag + +import ( + "bytes" + "fmt" + "strconv" + "strings" +) + +// -- stringToInt Value +type stringToIntValue struct { + value *map[string]int + changed bool +} + +func newStringToIntValue(val map[string]int, p *map[string]int) *stringToIntValue { + ssv := new(stringToIntValue) + ssv.value = p + *ssv.value = val + return ssv +} + +// Format: a=1,b=2 +func (s *stringToIntValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make(map[string]int, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return fmt.Errorf("%s must be formatted as key=value", pair) + } + var err error + out[kv[0]], err = strconv.Atoi(kv[1]) + if err != nil { + return err + } + } + if !s.changed { + *s.value = out + } else { + for k, v := range out { + (*s.value)[k] = v + } + } + s.changed = true + return nil +} + +func (s *stringToIntValue) Type() string { + return "stringToInt" +} + +func (s *stringToIntValue) String() string { + var buf bytes.Buffer + i := 0 + for k, v := range *s.value { + if i > 0 { + buf.WriteRune(',') + } + buf.WriteString(k) + buf.WriteRune('=') + buf.WriteString(strconv.Itoa(v)) + i++ + } + return "[" + buf.String() + "]" +} + +func stringToIntConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // An empty string would cause an empty map + if len(val) == 0 { + return map[string]int{}, nil + } + ss := strings.Split(val, ",") + out := make(map[string]int, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return nil, fmt.Errorf("%s must be formatted as key=value", pair) + } + var err error + out[kv[0]], err = strconv.Atoi(kv[1]) + if err != nil { + return nil, err + } + } + return out, nil +} + +// GetStringToInt return the map[string]int value of a flag with the given name +func (f *FlagSet) GetStringToInt(name string) (map[string]int, error) { + val, err := f.getFlagType(name, "stringToInt", stringToIntConv) + if err != nil { + return map[string]int{}, err + } + return val.(map[string]int), nil +} + +// StringToIntVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a map[string]int variable in which to store the values of the multiple flags. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToIntVar(p *map[string]int, name string, value map[string]int, usage string) { + f.VarP(newStringToIntValue(value, p), name, "", usage) +} + +// StringToIntVarP is like StringToIntVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToIntVarP(p *map[string]int, name, shorthand string, value map[string]int, usage string) { + f.VarP(newStringToIntValue(value, p), name, shorthand, usage) +} + +// StringToIntVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a map[string]int variable in which to store the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToIntVar(p *map[string]int, name string, value map[string]int, usage string) { + CommandLine.VarP(newStringToIntValue(value, p), name, "", usage) +} + +// StringToIntVarP is like StringToIntVar, but accepts a shorthand letter that can be used after a single dash. +func StringToIntVarP(p *map[string]int, name, shorthand string, value map[string]int, usage string) { + CommandLine.VarP(newStringToIntValue(value, p), name, shorthand, usage) +} + +// StringToInt defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]int variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToInt(name string, value map[string]int, usage string) *map[string]int { + p := map[string]int{} + f.StringToIntVarP(&p, name, "", value, usage) + return &p +} + +// StringToIntP is like StringToInt, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToIntP(name, shorthand string, value map[string]int, usage string) *map[string]int { + p := map[string]int{} + f.StringToIntVarP(&p, name, shorthand, value, usage) + return &p +} + +// StringToInt defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]int variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToInt(name string, value map[string]int, usage string) *map[string]int { + return CommandLine.StringToIntP(name, "", value, usage) +} + +// StringToIntP is like StringToInt, but accepts a shorthand letter that can be used after a single dash. +func StringToIntP(name, shorthand string, value map[string]int, usage string) *map[string]int { + return CommandLine.StringToIntP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_to_int64.go b/vendor/github.com/spf13/pflag/string_to_int64.go new file mode 100644 index 00000000..a807a04a --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_to_int64.go @@ -0,0 +1,149 @@ +package pflag + +import ( + "bytes" + "fmt" + "strconv" + "strings" +) + +// -- stringToInt64 Value +type stringToInt64Value struct { + value *map[string]int64 + changed bool +} + +func newStringToInt64Value(val map[string]int64, p *map[string]int64) *stringToInt64Value { + ssv := new(stringToInt64Value) + ssv.value = p + *ssv.value = val + return ssv +} + +// Format: a=1,b=2 +func (s *stringToInt64Value) Set(val string) error { + ss := strings.Split(val, ",") + out := make(map[string]int64, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return fmt.Errorf("%s must be formatted as key=value", pair) + } + var err error + out[kv[0]], err = strconv.ParseInt(kv[1], 10, 64) + if err != nil { + return err + } + } + if !s.changed { + *s.value = out + } else { + for k, v := range out { + (*s.value)[k] = v + } + } + s.changed = true + return nil +} + +func (s *stringToInt64Value) Type() string { + return "stringToInt64" +} + +func (s *stringToInt64Value) String() string { + var buf bytes.Buffer + i := 0 + for k, v := range *s.value { + if i > 0 { + buf.WriteRune(',') + } + buf.WriteString(k) + buf.WriteRune('=') + buf.WriteString(strconv.FormatInt(v, 10)) + i++ + } + return "[" + buf.String() + "]" +} + +func stringToInt64Conv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // An empty string would cause an empty map + if len(val) == 0 { + return map[string]int64{}, nil + } + ss := strings.Split(val, ",") + out := make(map[string]int64, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return nil, fmt.Errorf("%s must be formatted as key=value", pair) + } + var err error + out[kv[0]], err = strconv.ParseInt(kv[1], 10, 64) + if err != nil { + return nil, err + } + } + return out, nil +} + +// GetStringToInt64 return the map[string]int64 value of a flag with the given name +func (f *FlagSet) GetStringToInt64(name string) (map[string]int64, error) { + val, err := f.getFlagType(name, "stringToInt64", stringToInt64Conv) + if err != nil { + return map[string]int64{}, err + } + return val.(map[string]int64), nil +} + +// StringToInt64Var defines a string flag with specified name, default value, and usage string. +// The argument p point64s to a map[string]int64 variable in which to store the values of the multiple flags. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToInt64Var(p *map[string]int64, name string, value map[string]int64, usage string) { + f.VarP(newStringToInt64Value(value, p), name, "", usage) +} + +// StringToInt64VarP is like StringToInt64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToInt64VarP(p *map[string]int64, name, shorthand string, value map[string]int64, usage string) { + f.VarP(newStringToInt64Value(value, p), name, shorthand, usage) +} + +// StringToInt64Var defines a string flag with specified name, default value, and usage string. +// The argument p point64s to a map[string]int64 variable in which to store the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToInt64Var(p *map[string]int64, name string, value map[string]int64, usage string) { + CommandLine.VarP(newStringToInt64Value(value, p), name, "", usage) +} + +// StringToInt64VarP is like StringToInt64Var, but accepts a shorthand letter that can be used after a single dash. +func StringToInt64VarP(p *map[string]int64, name, shorthand string, value map[string]int64, usage string) { + CommandLine.VarP(newStringToInt64Value(value, p), name, shorthand, usage) +} + +// StringToInt64 defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]int64 variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToInt64(name string, value map[string]int64, usage string) *map[string]int64 { + p := map[string]int64{} + f.StringToInt64VarP(&p, name, "", value, usage) + return &p +} + +// StringToInt64P is like StringToInt64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToInt64P(name, shorthand string, value map[string]int64, usage string) *map[string]int64 { + p := map[string]int64{} + f.StringToInt64VarP(&p, name, shorthand, value, usage) + return &p +} + +// StringToInt64 defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]int64 variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToInt64(name string, value map[string]int64, usage string) *map[string]int64 { + return CommandLine.StringToInt64P(name, "", value, usage) +} + +// StringToInt64P is like StringToInt64, but accepts a shorthand letter that can be used after a single dash. +func StringToInt64P(name, shorthand string, value map[string]int64, usage string) *map[string]int64 { + return CommandLine.StringToInt64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_to_string.go b/vendor/github.com/spf13/pflag/string_to_string.go new file mode 100644 index 00000000..890a01af --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_to_string.go @@ -0,0 +1,160 @@ +package pflag + +import ( + "bytes" + "encoding/csv" + "fmt" + "strings" +) + +// -- stringToString Value +type stringToStringValue struct { + value *map[string]string + changed bool +} + +func newStringToStringValue(val map[string]string, p *map[string]string) *stringToStringValue { + ssv := new(stringToStringValue) + ssv.value = p + *ssv.value = val + return ssv +} + +// Format: a=1,b=2 +func (s *stringToStringValue) Set(val string) error { + var ss []string + n := strings.Count(val, "=") + switch n { + case 0: + return fmt.Errorf("%s must be formatted as key=value", val) + case 1: + ss = append(ss, strings.Trim(val, `"`)) + default: + r := csv.NewReader(strings.NewReader(val)) + var err error + ss, err = r.Read() + if err != nil { + return err + } + } + + out := make(map[string]string, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return fmt.Errorf("%s must be formatted as key=value", pair) + } + out[kv[0]] = kv[1] + } + if !s.changed { + *s.value = out + } else { + for k, v := range out { + (*s.value)[k] = v + } + } + s.changed = true + return nil +} + +func (s *stringToStringValue) Type() string { + return "stringToString" +} + +func (s *stringToStringValue) String() string { + records := make([]string, 0, len(*s.value)>>1) + for k, v := range *s.value { + records = append(records, k+"="+v) + } + + var buf bytes.Buffer + w := csv.NewWriter(&buf) + if err := w.Write(records); err != nil { + panic(err) + } + w.Flush() + return "[" + strings.TrimSpace(buf.String()) + "]" +} + +func stringToStringConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // An empty string would cause an empty map + if len(val) == 0 { + return map[string]string{}, nil + } + r := csv.NewReader(strings.NewReader(val)) + ss, err := r.Read() + if err != nil { + return nil, err + } + out := make(map[string]string, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return nil, fmt.Errorf("%s must be formatted as key=value", pair) + } + out[kv[0]] = kv[1] + } + return out, nil +} + +// GetStringToString return the map[string]string value of a flag with the given name +func (f *FlagSet) GetStringToString(name string) (map[string]string, error) { + val, err := f.getFlagType(name, "stringToString", stringToStringConv) + if err != nil { + return map[string]string{}, err + } + return val.(map[string]string), nil +} + +// StringToStringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a map[string]string variable in which to store the values of the multiple flags. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToStringVar(p *map[string]string, name string, value map[string]string, usage string) { + f.VarP(newStringToStringValue(value, p), name, "", usage) +} + +// StringToStringVarP is like StringToStringVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToStringVarP(p *map[string]string, name, shorthand string, value map[string]string, usage string) { + f.VarP(newStringToStringValue(value, p), name, shorthand, usage) +} + +// StringToStringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a map[string]string variable in which to store the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToStringVar(p *map[string]string, name string, value map[string]string, usage string) { + CommandLine.VarP(newStringToStringValue(value, p), name, "", usage) +} + +// StringToStringVarP is like StringToStringVar, but accepts a shorthand letter that can be used after a single dash. +func StringToStringVarP(p *map[string]string, name, shorthand string, value map[string]string, usage string) { + CommandLine.VarP(newStringToStringValue(value, p), name, shorthand, usage) +} + +// StringToString defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]string variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToString(name string, value map[string]string, usage string) *map[string]string { + p := map[string]string{} + f.StringToStringVarP(&p, name, "", value, usage) + return &p +} + +// StringToStringP is like StringToString, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToStringP(name, shorthand string, value map[string]string, usage string) *map[string]string { + p := map[string]string{} + f.StringToStringVarP(&p, name, shorthand, value, usage) + return &p +} + +// StringToString defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]string variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToString(name string, value map[string]string, usage string) *map[string]string { + return CommandLine.StringToStringP(name, "", value, usage) +} + +// StringToStringP is like StringToString, but accepts a shorthand letter that can be used after a single dash. +func StringToStringP(name, shorthand string, value map[string]string, usage string) *map[string]string { + return CommandLine.StringToStringP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint.go b/vendor/github.com/spf13/pflag/uint.go new file mode 100644 index 00000000..dcbc2b75 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint Value +type uintValue uint + +func newUintValue(val uint, p *uint) *uintValue { + *p = val + return (*uintValue)(p) +} + +func (i *uintValue) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 64) + *i = uintValue(v) + return err +} + +func (i *uintValue) Type() string { + return "uint" +} + +func (i *uintValue) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uintConv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 0) + if err != nil { + return 0, err + } + return uint(v), nil +} + +// GetUint return the uint value of a flag with the given name +func (f *FlagSet) GetUint(name string) (uint, error) { + val, err := f.getFlagType(name, "uint", uintConv) + if err != nil { + return 0, err + } + return val.(uint), nil +} + +// UintVar defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func (f *FlagSet) UintVar(p *uint, name string, value uint, usage string) { + f.VarP(newUintValue(value, p), name, "", usage) +} + +// UintVarP is like UintVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintVarP(p *uint, name, shorthand string, value uint, usage string) { + f.VarP(newUintValue(value, p), name, shorthand, usage) +} + +// UintVar defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func UintVar(p *uint, name string, value uint, usage string) { + CommandLine.VarP(newUintValue(value, p), name, "", usage) +} + +// UintVarP is like UintVar, but accepts a shorthand letter that can be used after a single dash. +func UintVarP(p *uint, name, shorthand string, value uint, usage string) { + CommandLine.VarP(newUintValue(value, p), name, shorthand, usage) +} + +// Uint defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func (f *FlagSet) Uint(name string, value uint, usage string) *uint { + p := new(uint) + f.UintVarP(p, name, "", value, usage) + return p +} + +// UintP is like Uint, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintP(name, shorthand string, value uint, usage string) *uint { + p := new(uint) + f.UintVarP(p, name, shorthand, value, usage) + return p +} + +// Uint defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func Uint(name string, value uint, usage string) *uint { + return CommandLine.UintP(name, "", value, usage) +} + +// UintP is like Uint, but accepts a shorthand letter that can be used after a single dash. +func UintP(name, shorthand string, value uint, usage string) *uint { + return CommandLine.UintP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint16.go b/vendor/github.com/spf13/pflag/uint16.go new file mode 100644 index 00000000..7e9914ed --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint16.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint16 value +type uint16Value uint16 + +func newUint16Value(val uint16, p *uint16) *uint16Value { + *p = val + return (*uint16Value)(p) +} + +func (i *uint16Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 16) + *i = uint16Value(v) + return err +} + +func (i *uint16Value) Type() string { + return "uint16" +} + +func (i *uint16Value) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uint16Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 16) + if err != nil { + return 0, err + } + return uint16(v), nil +} + +// GetUint16 return the uint16 value of a flag with the given name +func (f *FlagSet) GetUint16(name string) (uint16, error) { + val, err := f.getFlagType(name, "uint16", uint16Conv) + if err != nil { + return 0, err + } + return val.(uint16), nil +} + +// Uint16Var defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func (f *FlagSet) Uint16Var(p *uint16, name string, value uint16, usage string) { + f.VarP(newUint16Value(value, p), name, "", usage) +} + +// Uint16VarP is like Uint16Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint16VarP(p *uint16, name, shorthand string, value uint16, usage string) { + f.VarP(newUint16Value(value, p), name, shorthand, usage) +} + +// Uint16Var defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func Uint16Var(p *uint16, name string, value uint16, usage string) { + CommandLine.VarP(newUint16Value(value, p), name, "", usage) +} + +// Uint16VarP is like Uint16Var, but accepts a shorthand letter that can be used after a single dash. +func Uint16VarP(p *uint16, name, shorthand string, value uint16, usage string) { + CommandLine.VarP(newUint16Value(value, p), name, shorthand, usage) +} + +// Uint16 defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func (f *FlagSet) Uint16(name string, value uint16, usage string) *uint16 { + p := new(uint16) + f.Uint16VarP(p, name, "", value, usage) + return p +} + +// Uint16P is like Uint16, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint16P(name, shorthand string, value uint16, usage string) *uint16 { + p := new(uint16) + f.Uint16VarP(p, name, shorthand, value, usage) + return p +} + +// Uint16 defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func Uint16(name string, value uint16, usage string) *uint16 { + return CommandLine.Uint16P(name, "", value, usage) +} + +// Uint16P is like Uint16, but accepts a shorthand letter that can be used after a single dash. +func Uint16P(name, shorthand string, value uint16, usage string) *uint16 { + return CommandLine.Uint16P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint32.go b/vendor/github.com/spf13/pflag/uint32.go new file mode 100644 index 00000000..d8024539 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint32.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint32 value +type uint32Value uint32 + +func newUint32Value(val uint32, p *uint32) *uint32Value { + *p = val + return (*uint32Value)(p) +} + +func (i *uint32Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 32) + *i = uint32Value(v) + return err +} + +func (i *uint32Value) Type() string { + return "uint32" +} + +func (i *uint32Value) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uint32Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 32) + if err != nil { + return 0, err + } + return uint32(v), nil +} + +// GetUint32 return the uint32 value of a flag with the given name +func (f *FlagSet) GetUint32(name string) (uint32, error) { + val, err := f.getFlagType(name, "uint32", uint32Conv) + if err != nil { + return 0, err + } + return val.(uint32), nil +} + +// Uint32Var defines a uint32 flag with specified name, default value, and usage string. +// The argument p points to a uint32 variable in which to store the value of the flag. +func (f *FlagSet) Uint32Var(p *uint32, name string, value uint32, usage string) { + f.VarP(newUint32Value(value, p), name, "", usage) +} + +// Uint32VarP is like Uint32Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint32VarP(p *uint32, name, shorthand string, value uint32, usage string) { + f.VarP(newUint32Value(value, p), name, shorthand, usage) +} + +// Uint32Var defines a uint32 flag with specified name, default value, and usage string. +// The argument p points to a uint32 variable in which to store the value of the flag. +func Uint32Var(p *uint32, name string, value uint32, usage string) { + CommandLine.VarP(newUint32Value(value, p), name, "", usage) +} + +// Uint32VarP is like Uint32Var, but accepts a shorthand letter that can be used after a single dash. +func Uint32VarP(p *uint32, name, shorthand string, value uint32, usage string) { + CommandLine.VarP(newUint32Value(value, p), name, shorthand, usage) +} + +// Uint32 defines a uint32 flag with specified name, default value, and usage string. +// The return value is the address of a uint32 variable that stores the value of the flag. +func (f *FlagSet) Uint32(name string, value uint32, usage string) *uint32 { + p := new(uint32) + f.Uint32VarP(p, name, "", value, usage) + return p +} + +// Uint32P is like Uint32, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint32P(name, shorthand string, value uint32, usage string) *uint32 { + p := new(uint32) + f.Uint32VarP(p, name, shorthand, value, usage) + return p +} + +// Uint32 defines a uint32 flag with specified name, default value, and usage string. +// The return value is the address of a uint32 variable that stores the value of the flag. +func Uint32(name string, value uint32, usage string) *uint32 { + return CommandLine.Uint32P(name, "", value, usage) +} + +// Uint32P is like Uint32, but accepts a shorthand letter that can be used after a single dash. +func Uint32P(name, shorthand string, value uint32, usage string) *uint32 { + return CommandLine.Uint32P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint64.go b/vendor/github.com/spf13/pflag/uint64.go new file mode 100644 index 00000000..f62240f2 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint64.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint64 Value +type uint64Value uint64 + +func newUint64Value(val uint64, p *uint64) *uint64Value { + *p = val + return (*uint64Value)(p) +} + +func (i *uint64Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 64) + *i = uint64Value(v) + return err +} + +func (i *uint64Value) Type() string { + return "uint64" +} + +func (i *uint64Value) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uint64Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 64) + if err != nil { + return 0, err + } + return uint64(v), nil +} + +// GetUint64 return the uint64 value of a flag with the given name +func (f *FlagSet) GetUint64(name string) (uint64, error) { + val, err := f.getFlagType(name, "uint64", uint64Conv) + if err != nil { + return 0, err + } + return val.(uint64), nil +} + +// Uint64Var defines a uint64 flag with specified name, default value, and usage string. +// The argument p points to a uint64 variable in which to store the value of the flag. +func (f *FlagSet) Uint64Var(p *uint64, name string, value uint64, usage string) { + f.VarP(newUint64Value(value, p), name, "", usage) +} + +// Uint64VarP is like Uint64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint64VarP(p *uint64, name, shorthand string, value uint64, usage string) { + f.VarP(newUint64Value(value, p), name, shorthand, usage) +} + +// Uint64Var defines a uint64 flag with specified name, default value, and usage string. +// The argument p points to a uint64 variable in which to store the value of the flag. +func Uint64Var(p *uint64, name string, value uint64, usage string) { + CommandLine.VarP(newUint64Value(value, p), name, "", usage) +} + +// Uint64VarP is like Uint64Var, but accepts a shorthand letter that can be used after a single dash. +func Uint64VarP(p *uint64, name, shorthand string, value uint64, usage string) { + CommandLine.VarP(newUint64Value(value, p), name, shorthand, usage) +} + +// Uint64 defines a uint64 flag with specified name, default value, and usage string. +// The return value is the address of a uint64 variable that stores the value of the flag. +func (f *FlagSet) Uint64(name string, value uint64, usage string) *uint64 { + p := new(uint64) + f.Uint64VarP(p, name, "", value, usage) + return p +} + +// Uint64P is like Uint64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint64P(name, shorthand string, value uint64, usage string) *uint64 { + p := new(uint64) + f.Uint64VarP(p, name, shorthand, value, usage) + return p +} + +// Uint64 defines a uint64 flag with specified name, default value, and usage string. +// The return value is the address of a uint64 variable that stores the value of the flag. +func Uint64(name string, value uint64, usage string) *uint64 { + return CommandLine.Uint64P(name, "", value, usage) +} + +// Uint64P is like Uint64, but accepts a shorthand letter that can be used after a single dash. +func Uint64P(name, shorthand string, value uint64, usage string) *uint64 { + return CommandLine.Uint64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint8.go b/vendor/github.com/spf13/pflag/uint8.go new file mode 100644 index 00000000..bb0e83c1 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint8.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint8 Value +type uint8Value uint8 + +func newUint8Value(val uint8, p *uint8) *uint8Value { + *p = val + return (*uint8Value)(p) +} + +func (i *uint8Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 8) + *i = uint8Value(v) + return err +} + +func (i *uint8Value) Type() string { + return "uint8" +} + +func (i *uint8Value) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uint8Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 8) + if err != nil { + return 0, err + } + return uint8(v), nil +} + +// GetUint8 return the uint8 value of a flag with the given name +func (f *FlagSet) GetUint8(name string) (uint8, error) { + val, err := f.getFlagType(name, "uint8", uint8Conv) + if err != nil { + return 0, err + } + return val.(uint8), nil +} + +// Uint8Var defines a uint8 flag with specified name, default value, and usage string. +// The argument p points to a uint8 variable in which to store the value of the flag. +func (f *FlagSet) Uint8Var(p *uint8, name string, value uint8, usage string) { + f.VarP(newUint8Value(value, p), name, "", usage) +} + +// Uint8VarP is like Uint8Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint8VarP(p *uint8, name, shorthand string, value uint8, usage string) { + f.VarP(newUint8Value(value, p), name, shorthand, usage) +} + +// Uint8Var defines a uint8 flag with specified name, default value, and usage string. +// The argument p points to a uint8 variable in which to store the value of the flag. +func Uint8Var(p *uint8, name string, value uint8, usage string) { + CommandLine.VarP(newUint8Value(value, p), name, "", usage) +} + +// Uint8VarP is like Uint8Var, but accepts a shorthand letter that can be used after a single dash. +func Uint8VarP(p *uint8, name, shorthand string, value uint8, usage string) { + CommandLine.VarP(newUint8Value(value, p), name, shorthand, usage) +} + +// Uint8 defines a uint8 flag with specified name, default value, and usage string. +// The return value is the address of a uint8 variable that stores the value of the flag. +func (f *FlagSet) Uint8(name string, value uint8, usage string) *uint8 { + p := new(uint8) + f.Uint8VarP(p, name, "", value, usage) + return p +} + +// Uint8P is like Uint8, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint8P(name, shorthand string, value uint8, usage string) *uint8 { + p := new(uint8) + f.Uint8VarP(p, name, shorthand, value, usage) + return p +} + +// Uint8 defines a uint8 flag with specified name, default value, and usage string. +// The return value is the address of a uint8 variable that stores the value of the flag. +func Uint8(name string, value uint8, usage string) *uint8 { + return CommandLine.Uint8P(name, "", value, usage) +} + +// Uint8P is like Uint8, but accepts a shorthand letter that can be used after a single dash. +func Uint8P(name, shorthand string, value uint8, usage string) *uint8 { + return CommandLine.Uint8P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint_slice.go b/vendor/github.com/spf13/pflag/uint_slice.go new file mode 100644 index 00000000..5fa92483 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint_slice.go @@ -0,0 +1,168 @@ +package pflag + +import ( + "fmt" + "strconv" + "strings" +) + +// -- uintSlice Value +type uintSliceValue struct { + value *[]uint + changed bool +} + +func newUintSliceValue(val []uint, p *[]uint) *uintSliceValue { + uisv := new(uintSliceValue) + uisv.value = p + *uisv.value = val + return uisv +} + +func (s *uintSliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]uint, len(ss)) + for i, d := range ss { + u, err := strconv.ParseUint(d, 10, 0) + if err != nil { + return err + } + out[i] = uint(u) + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *uintSliceValue) Type() string { + return "uintSlice" +} + +func (s *uintSliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%d", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func (s *uintSliceValue) fromString(val string) (uint, error) { + t, err := strconv.ParseUint(val, 10, 0) + if err != nil { + return 0, err + } + return uint(t), nil +} + +func (s *uintSliceValue) toString(val uint) string { + return fmt.Sprintf("%d", val) +} + +func (s *uintSliceValue) Append(val string) error { + i, err := s.fromString(val) + if err != nil { + return err + } + *s.value = append(*s.value, i) + return nil +} + +func (s *uintSliceValue) Replace(val []string) error { + out := make([]uint, len(val)) + for i, d := range val { + var err error + out[i], err = s.fromString(d) + if err != nil { + return err + } + } + *s.value = out + return nil +} + +func (s *uintSliceValue) GetSlice() []string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = s.toString(d) + } + return out +} + +func uintSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []uint{}, nil + } + ss := strings.Split(val, ",") + out := make([]uint, len(ss)) + for i, d := range ss { + u, err := strconv.ParseUint(d, 10, 0) + if err != nil { + return nil, err + } + out[i] = uint(u) + } + return out, nil +} + +// GetUintSlice returns the []uint value of a flag with the given name. +func (f *FlagSet) GetUintSlice(name string) ([]uint, error) { + val, err := f.getFlagType(name, "uintSlice", uintSliceConv) + if err != nil { + return []uint{}, err + } + return val.([]uint), nil +} + +// UintSliceVar defines a uintSlice flag with specified name, default value, and usage string. +// The argument p points to a []uint variable in which to store the value of the flag. +func (f *FlagSet) UintSliceVar(p *[]uint, name string, value []uint, usage string) { + f.VarP(newUintSliceValue(value, p), name, "", usage) +} + +// UintSliceVarP is like UintSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintSliceVarP(p *[]uint, name, shorthand string, value []uint, usage string) { + f.VarP(newUintSliceValue(value, p), name, shorthand, usage) +} + +// UintSliceVar defines a uint[] flag with specified name, default value, and usage string. +// The argument p points to a uint[] variable in which to store the value of the flag. +func UintSliceVar(p *[]uint, name string, value []uint, usage string) { + CommandLine.VarP(newUintSliceValue(value, p), name, "", usage) +} + +// UintSliceVarP is like the UintSliceVar, but accepts a shorthand letter that can be used after a single dash. +func UintSliceVarP(p *[]uint, name, shorthand string, value []uint, usage string) { + CommandLine.VarP(newUintSliceValue(value, p), name, shorthand, usage) +} + +// UintSlice defines a []uint flag with specified name, default value, and usage string. +// The return value is the address of a []uint variable that stores the value of the flag. +func (f *FlagSet) UintSlice(name string, value []uint, usage string) *[]uint { + p := []uint{} + f.UintSliceVarP(&p, name, "", value, usage) + return &p +} + +// UintSliceP is like UintSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintSliceP(name, shorthand string, value []uint, usage string) *[]uint { + p := []uint{} + f.UintSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// UintSlice defines a []uint flag with specified name, default value, and usage string. +// The return value is the address of a []uint variable that stores the value of the flag. +func UintSlice(name string, value []uint, usage string) *[]uint { + return CommandLine.UintSliceP(name, "", value, usage) +} + +// UintSliceP is like UintSlice, but accepts a shorthand letter that can be used after a single dash. +func UintSliceP(name, shorthand string, value []uint, usage string) *[]uint { + return CommandLine.UintSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/stretchr/testify/LICENSE b/vendor/github.com/stretchr/testify/LICENSE new file mode 100644 index 00000000..f38ec595 --- /dev/null +++ b/vendor/github.com/stretchr/testify/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2012-2018 Mat Ryer and Tyler Bunnell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/stretchr/testify/assert/assertion_format.go b/vendor/github.com/stretchr/testify/assert/assertion_format.go new file mode 100644 index 00000000..e0364e9e --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertion_format.go @@ -0,0 +1,566 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen +* THIS FILE MUST NOT BE EDITED BY HAND + */ + +package assert + +import ( + http "net/http" + url "net/url" + time "time" +) + +// Conditionf uses a Comparison to assert a complex condition. +func Conditionf(t TestingT, comp Comparison, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Condition(t, comp, append([]interface{}{msg}, args...)...) +} + +// Containsf asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// assert.Containsf(t, "Hello World", "World", "error message %s", "formatted") +// assert.Containsf(t, ["Hello", "World"], "World", "error message %s", "formatted") +// assert.Containsf(t, {"Hello": "World"}, "Hello", "error message %s", "formatted") +func Containsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Contains(t, s, contains, append([]interface{}{msg}, args...)...) +} + +// DirExistsf checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists. +func DirExistsf(t TestingT, path string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return DirExists(t, path, append([]interface{}{msg}, args...)...) +} + +// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// assert.ElementsMatchf(t, [1, 3, 2, 3], [1, 3, 3, 2], "error message %s", "formatted") +func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return ElementsMatch(t, listA, listB, append([]interface{}{msg}, args...)...) +} + +// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// assert.Emptyf(t, obj, "error message %s", "formatted") +func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Empty(t, object, append([]interface{}{msg}, args...)...) +} + +// Equalf asserts that two objects are equal. +// +// assert.Equalf(t, 123, 123, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func Equalf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Equal(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// EqualErrorf asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// assert.EqualErrorf(t, err, expectedErrorString, "error message %s", "formatted") +func EqualErrorf(t TestingT, theError error, errString string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return EqualError(t, theError, errString, append([]interface{}{msg}, args...)...) +} + +// EqualValuesf asserts that two objects are equal or convertable to the same types +// and equal. +// +// assert.EqualValuesf(t, uint32(123, "error message %s", "formatted"), int32(123)) +func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return EqualValues(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// Errorf asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if assert.Errorf(t, err, "error message %s", "formatted") { +// assert.Equal(t, expectedErrorf, err) +// } +func Errorf(t TestingT, err error, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Error(t, err, append([]interface{}{msg}, args...)...) +} + +// Eventuallyf asserts that given condition will be met in waitFor time, +// periodically checking target function each tick. +// +// assert.Eventuallyf(t, func() bool { return true; }, time.Second, 10*time.Millisecond, "error message %s", "formatted") +func Eventuallyf(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Eventually(t, condition, waitFor, tick, append([]interface{}{msg}, args...)...) +} + +// Exactlyf asserts that two objects are equal in value and type. +// +// assert.Exactlyf(t, int32(123, "error message %s", "formatted"), int64(123)) +func Exactlyf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Exactly(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// Failf reports a failure through +func Failf(t TestingT, failureMessage string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Fail(t, failureMessage, append([]interface{}{msg}, args...)...) +} + +// FailNowf fails test +func FailNowf(t TestingT, failureMessage string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return FailNow(t, failureMessage, append([]interface{}{msg}, args...)...) +} + +// Falsef asserts that the specified value is false. +// +// assert.Falsef(t, myBool, "error message %s", "formatted") +func Falsef(t TestingT, value bool, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return False(t, value, append([]interface{}{msg}, args...)...) +} + +// FileExistsf checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file. +func FileExistsf(t TestingT, path string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return FileExists(t, path, append([]interface{}{msg}, args...)...) +} + +// Greaterf asserts that the first element is greater than the second +// +// assert.Greaterf(t, 2, 1, "error message %s", "formatted") +// assert.Greaterf(t, float64(2, "error message %s", "formatted"), float64(1)) +// assert.Greaterf(t, "b", "a", "error message %s", "formatted") +func Greaterf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Greater(t, e1, e2, append([]interface{}{msg}, args...)...) +} + +// GreaterOrEqualf asserts that the first element is greater than or equal to the second +// +// assert.GreaterOrEqualf(t, 2, 1, "error message %s", "formatted") +// assert.GreaterOrEqualf(t, 2, 2, "error message %s", "formatted") +// assert.GreaterOrEqualf(t, "b", "a", "error message %s", "formatted") +// assert.GreaterOrEqualf(t, "b", "b", "error message %s", "formatted") +func GreaterOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return GreaterOrEqual(t, e1, e2, append([]interface{}{msg}, args...)...) +} + +// HTTPBodyContainsf asserts that a specified handler returns a +// body that contains a string. +// +// assert.HTTPBodyContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPBodyContains(t, handler, method, url, values, str, append([]interface{}{msg}, args...)...) +} + +// HTTPBodyNotContainsf asserts that a specified handler returns a +// body that does not contain a string. +// +// assert.HTTPBodyNotContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyNotContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPBodyNotContains(t, handler, method, url, values, str, append([]interface{}{msg}, args...)...) +} + +// HTTPErrorf asserts that a specified handler returns an error status code. +// +// assert.HTTPErrorf(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func HTTPErrorf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPError(t, handler, method, url, values, append([]interface{}{msg}, args...)...) +} + +// HTTPRedirectf asserts that a specified handler returns a redirect status code. +// +// assert.HTTPRedirectf(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func HTTPRedirectf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPRedirect(t, handler, method, url, values, append([]interface{}{msg}, args...)...) +} + +// HTTPSuccessf asserts that a specified handler returns a success status code. +// +// assert.HTTPSuccessf(t, myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPSuccessf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPSuccess(t, handler, method, url, values, append([]interface{}{msg}, args...)...) +} + +// Implementsf asserts that an object is implemented by the specified interface. +// +// assert.Implementsf(t, (*MyInterface, "error message %s", "formatted")(nil), new(MyObject)) +func Implementsf(t TestingT, interfaceObject interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Implements(t, interfaceObject, object, append([]interface{}{msg}, args...)...) +} + +// InDeltaf asserts that the two numerals are within delta of each other. +// +// assert.InDeltaf(t, math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01) +func InDeltaf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InDelta(t, expected, actual, delta, append([]interface{}{msg}, args...)...) +} + +// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func InDeltaMapValuesf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InDeltaMapValues(t, expected, actual, delta, append([]interface{}{msg}, args...)...) +} + +// InDeltaSlicef is the same as InDelta, except it compares two slices. +func InDeltaSlicef(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InDeltaSlice(t, expected, actual, delta, append([]interface{}{msg}, args...)...) +} + +// InEpsilonf asserts that expected and actual have a relative error less than epsilon +func InEpsilonf(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InEpsilon(t, expected, actual, epsilon, append([]interface{}{msg}, args...)...) +} + +// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices. +func InEpsilonSlicef(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InEpsilonSlice(t, expected, actual, epsilon, append([]interface{}{msg}, args...)...) +} + +// IsTypef asserts that the specified objects are of the same type. +func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return IsType(t, expectedType, object, append([]interface{}{msg}, args...)...) +} + +// JSONEqf asserts that two JSON strings are equivalent. +// +// assert.JSONEqf(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted") +func JSONEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return JSONEq(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// YAMLEqf asserts that two YAML strings are equivalent. +func YAMLEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return YAMLEq(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// Lenf asserts that the specified object has specific length. +// Lenf also fails if the object has a type that len() not accept. +// +// assert.Lenf(t, mySlice, 3, "error message %s", "formatted") +func Lenf(t TestingT, object interface{}, length int, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Len(t, object, length, append([]interface{}{msg}, args...)...) +} + +// Lessf asserts that the first element is less than the second +// +// assert.Lessf(t, 1, 2, "error message %s", "formatted") +// assert.Lessf(t, float64(1, "error message %s", "formatted"), float64(2)) +// assert.Lessf(t, "a", "b", "error message %s", "formatted") +func Lessf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Less(t, e1, e2, append([]interface{}{msg}, args...)...) +} + +// LessOrEqualf asserts that the first element is less than or equal to the second +// +// assert.LessOrEqualf(t, 1, 2, "error message %s", "formatted") +// assert.LessOrEqualf(t, 2, 2, "error message %s", "formatted") +// assert.LessOrEqualf(t, "a", "b", "error message %s", "formatted") +// assert.LessOrEqualf(t, "b", "b", "error message %s", "formatted") +func LessOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return LessOrEqual(t, e1, e2, append([]interface{}{msg}, args...)...) +} + +// Nilf asserts that the specified object is nil. +// +// assert.Nilf(t, err, "error message %s", "formatted") +func Nilf(t TestingT, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Nil(t, object, append([]interface{}{msg}, args...)...) +} + +// NoErrorf asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if assert.NoErrorf(t, err, "error message %s", "formatted") { +// assert.Equal(t, expectedObj, actualObj) +// } +func NoErrorf(t TestingT, err error, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NoError(t, err, append([]interface{}{msg}, args...)...) +} + +// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// assert.NotContainsf(t, "Hello World", "Earth", "error message %s", "formatted") +// assert.NotContainsf(t, ["Hello", "World"], "Earth", "error message %s", "formatted") +// assert.NotContainsf(t, {"Hello": "World"}, "Earth", "error message %s", "formatted") +func NotContainsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotContains(t, s, contains, append([]interface{}{msg}, args...)...) +} + +// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if assert.NotEmptyf(t, obj, "error message %s", "formatted") { +// assert.Equal(t, "two", obj[1]) +// } +func NotEmptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotEmpty(t, object, append([]interface{}{msg}, args...)...) +} + +// NotEqualf asserts that the specified values are NOT equal. +// +// assert.NotEqualf(t, obj1, obj2, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func NotEqualf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotEqual(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// NotNilf asserts that the specified object is not nil. +// +// assert.NotNilf(t, err, "error message %s", "formatted") +func NotNilf(t TestingT, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotNil(t, object, append([]interface{}{msg}, args...)...) +} + +// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// assert.NotPanicsf(t, func(){ RemainCalm() }, "error message %s", "formatted") +func NotPanicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotPanics(t, f, append([]interface{}{msg}, args...)...) +} + +// NotRegexpf asserts that a specified regexp does not match a string. +// +// assert.NotRegexpf(t, regexp.MustCompile("starts", "error message %s", "formatted"), "it's starting") +// assert.NotRegexpf(t, "^start", "it's not starting", "error message %s", "formatted") +func NotRegexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotRegexp(t, rx, str, append([]interface{}{msg}, args...)...) +} + +// NotSubsetf asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// assert.NotSubsetf(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted") +func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotSubset(t, list, subset, append([]interface{}{msg}, args...)...) +} + +// NotZerof asserts that i is not the zero value for its type. +func NotZerof(t TestingT, i interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotZero(t, i, append([]interface{}{msg}, args...)...) +} + +// Panicsf asserts that the code inside the specified PanicTestFunc panics. +// +// assert.Panicsf(t, func(){ GoCrazy() }, "error message %s", "formatted") +func Panicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Panics(t, f, append([]interface{}{msg}, args...)...) +} + +// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// assert.PanicsWithValuef(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted") +func PanicsWithValuef(t TestingT, expected interface{}, f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return PanicsWithValue(t, expected, f, append([]interface{}{msg}, args...)...) +} + +// Regexpf asserts that a specified regexp matches a string. +// +// assert.Regexpf(t, regexp.MustCompile("start", "error message %s", "formatted"), "it's starting") +// assert.Regexpf(t, "start...$", "it's not starting", "error message %s", "formatted") +func Regexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Regexp(t, rx, str, append([]interface{}{msg}, args...)...) +} + +// Samef asserts that two pointers reference the same object. +// +// assert.Samef(t, ptr1, ptr2, "error message %s", "formatted") +// +// Both arguments must be pointer variables. Pointer variable sameness is +// determined based on the equality of both type and value. +func Samef(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Same(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// Subsetf asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// assert.Subsetf(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted") +func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Subset(t, list, subset, append([]interface{}{msg}, args...)...) +} + +// Truef asserts that the specified value is true. +// +// assert.Truef(t, myBool, "error message %s", "formatted") +func Truef(t TestingT, value bool, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return True(t, value, append([]interface{}{msg}, args...)...) +} + +// WithinDurationf asserts that the two times are within duration delta of each other. +// +// assert.WithinDurationf(t, time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted") +func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return WithinDuration(t, expected, actual, delta, append([]interface{}{msg}, args...)...) +} + +// Zerof asserts that i is the zero value for its type. +func Zerof(t TestingT, i interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Zero(t, i, append([]interface{}{msg}, args...)...) +} diff --git a/vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl b/vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl new file mode 100644 index 00000000..d2bb0b81 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl @@ -0,0 +1,5 @@ +{{.CommentFormat}} +func {{.DocInfo.Name}}f(t TestingT, {{.ParamsFormat}}) bool { + if h, ok := t.(tHelper); ok { h.Helper() } + return {{.DocInfo.Name}}(t, {{.ForwardedParamsFormat}}) +} diff --git a/vendor/github.com/stretchr/testify/assert/assertion_forward.go b/vendor/github.com/stretchr/testify/assert/assertion_forward.go new file mode 100644 index 00000000..26830403 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertion_forward.go @@ -0,0 +1,1120 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen +* THIS FILE MUST NOT BE EDITED BY HAND + */ + +package assert + +import ( + http "net/http" + url "net/url" + time "time" +) + +// Condition uses a Comparison to assert a complex condition. +func (a *Assertions) Condition(comp Comparison, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Condition(a.t, comp, msgAndArgs...) +} + +// Conditionf uses a Comparison to assert a complex condition. +func (a *Assertions) Conditionf(comp Comparison, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Conditionf(a.t, comp, msg, args...) +} + +// Contains asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// a.Contains("Hello World", "World") +// a.Contains(["Hello", "World"], "World") +// a.Contains({"Hello": "World"}, "Hello") +func (a *Assertions) Contains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Contains(a.t, s, contains, msgAndArgs...) +} + +// Containsf asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// a.Containsf("Hello World", "World", "error message %s", "formatted") +// a.Containsf(["Hello", "World"], "World", "error message %s", "formatted") +// a.Containsf({"Hello": "World"}, "Hello", "error message %s", "formatted") +func (a *Assertions) Containsf(s interface{}, contains interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Containsf(a.t, s, contains, msg, args...) +} + +// DirExists checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists. +func (a *Assertions) DirExists(path string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return DirExists(a.t, path, msgAndArgs...) +} + +// DirExistsf checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists. +func (a *Assertions) DirExistsf(path string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return DirExistsf(a.t, path, msg, args...) +} + +// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// a.ElementsMatch([1, 3, 2, 3], [1, 3, 3, 2]) +func (a *Assertions) ElementsMatch(listA interface{}, listB interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return ElementsMatch(a.t, listA, listB, msgAndArgs...) +} + +// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// a.ElementsMatchf([1, 3, 2, 3], [1, 3, 3, 2], "error message %s", "formatted") +func (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return ElementsMatchf(a.t, listA, listB, msg, args...) +} + +// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// a.Empty(obj) +func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Empty(a.t, object, msgAndArgs...) +} + +// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// a.Emptyf(obj, "error message %s", "formatted") +func (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Emptyf(a.t, object, msg, args...) +} + +// Equal asserts that two objects are equal. +// +// a.Equal(123, 123) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Equal(a.t, expected, actual, msgAndArgs...) +} + +// EqualError asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// a.EqualError(err, expectedErrorString) +func (a *Assertions) EqualError(theError error, errString string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return EqualError(a.t, theError, errString, msgAndArgs...) +} + +// EqualErrorf asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// a.EqualErrorf(err, expectedErrorString, "error message %s", "formatted") +func (a *Assertions) EqualErrorf(theError error, errString string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return EqualErrorf(a.t, theError, errString, msg, args...) +} + +// EqualValues asserts that two objects are equal or convertable to the same types +// and equal. +// +// a.EqualValues(uint32(123), int32(123)) +func (a *Assertions) EqualValues(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return EqualValues(a.t, expected, actual, msgAndArgs...) +} + +// EqualValuesf asserts that two objects are equal or convertable to the same types +// and equal. +// +// a.EqualValuesf(uint32(123, "error message %s", "formatted"), int32(123)) +func (a *Assertions) EqualValuesf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return EqualValuesf(a.t, expected, actual, msg, args...) +} + +// Equalf asserts that two objects are equal. +// +// a.Equalf(123, 123, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Equalf(a.t, expected, actual, msg, args...) +} + +// Error asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if a.Error(err) { +// assert.Equal(t, expectedError, err) +// } +func (a *Assertions) Error(err error, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Error(a.t, err, msgAndArgs...) +} + +// Errorf asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if a.Errorf(err, "error message %s", "formatted") { +// assert.Equal(t, expectedErrorf, err) +// } +func (a *Assertions) Errorf(err error, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Errorf(a.t, err, msg, args...) +} + +// Eventually asserts that given condition will be met in waitFor time, +// periodically checking target function each tick. +// +// a.Eventually(func() bool { return true; }, time.Second, 10*time.Millisecond) +func (a *Assertions) Eventually(condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Eventually(a.t, condition, waitFor, tick, msgAndArgs...) +} + +// Eventuallyf asserts that given condition will be met in waitFor time, +// periodically checking target function each tick. +// +// a.Eventuallyf(func() bool { return true; }, time.Second, 10*time.Millisecond, "error message %s", "formatted") +func (a *Assertions) Eventuallyf(condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Eventuallyf(a.t, condition, waitFor, tick, msg, args...) +} + +// Exactly asserts that two objects are equal in value and type. +// +// a.Exactly(int32(123), int64(123)) +func (a *Assertions) Exactly(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Exactly(a.t, expected, actual, msgAndArgs...) +} + +// Exactlyf asserts that two objects are equal in value and type. +// +// a.Exactlyf(int32(123, "error message %s", "formatted"), int64(123)) +func (a *Assertions) Exactlyf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Exactlyf(a.t, expected, actual, msg, args...) +} + +// Fail reports a failure through +func (a *Assertions) Fail(failureMessage string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Fail(a.t, failureMessage, msgAndArgs...) +} + +// FailNow fails test +func (a *Assertions) FailNow(failureMessage string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return FailNow(a.t, failureMessage, msgAndArgs...) +} + +// FailNowf fails test +func (a *Assertions) FailNowf(failureMessage string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return FailNowf(a.t, failureMessage, msg, args...) +} + +// Failf reports a failure through +func (a *Assertions) Failf(failureMessage string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Failf(a.t, failureMessage, msg, args...) +} + +// False asserts that the specified value is false. +// +// a.False(myBool) +func (a *Assertions) False(value bool, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return False(a.t, value, msgAndArgs...) +} + +// Falsef asserts that the specified value is false. +// +// a.Falsef(myBool, "error message %s", "formatted") +func (a *Assertions) Falsef(value bool, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Falsef(a.t, value, msg, args...) +} + +// FileExists checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file. +func (a *Assertions) FileExists(path string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return FileExists(a.t, path, msgAndArgs...) +} + +// FileExistsf checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file. +func (a *Assertions) FileExistsf(path string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return FileExistsf(a.t, path, msg, args...) +} + +// Greater asserts that the first element is greater than the second +// +// a.Greater(2, 1) +// a.Greater(float64(2), float64(1)) +// a.Greater("b", "a") +func (a *Assertions) Greater(e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Greater(a.t, e1, e2, msgAndArgs...) +} + +// GreaterOrEqual asserts that the first element is greater than or equal to the second +// +// a.GreaterOrEqual(2, 1) +// a.GreaterOrEqual(2, 2) +// a.GreaterOrEqual("b", "a") +// a.GreaterOrEqual("b", "b") +func (a *Assertions) GreaterOrEqual(e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return GreaterOrEqual(a.t, e1, e2, msgAndArgs...) +} + +// GreaterOrEqualf asserts that the first element is greater than or equal to the second +// +// a.GreaterOrEqualf(2, 1, "error message %s", "formatted") +// a.GreaterOrEqualf(2, 2, "error message %s", "formatted") +// a.GreaterOrEqualf("b", "a", "error message %s", "formatted") +// a.GreaterOrEqualf("b", "b", "error message %s", "formatted") +func (a *Assertions) GreaterOrEqualf(e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return GreaterOrEqualf(a.t, e1, e2, msg, args...) +} + +// Greaterf asserts that the first element is greater than the second +// +// a.Greaterf(2, 1, "error message %s", "formatted") +// a.Greaterf(float64(2, "error message %s", "formatted"), float64(1)) +// a.Greaterf("b", "a", "error message %s", "formatted") +func (a *Assertions) Greaterf(e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Greaterf(a.t, e1, e2, msg, args...) +} + +// HTTPBodyContains asserts that a specified handler returns a +// body that contains a string. +// +// a.HTTPBodyContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPBodyContains(a.t, handler, method, url, values, str, msgAndArgs...) +} + +// HTTPBodyContainsf asserts that a specified handler returns a +// body that contains a string. +// +// a.HTTPBodyContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPBodyContainsf(a.t, handler, method, url, values, str, msg, args...) +} + +// HTTPBodyNotContains asserts that a specified handler returns a +// body that does not contain a string. +// +// a.HTTPBodyNotContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyNotContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPBodyNotContains(a.t, handler, method, url, values, str, msgAndArgs...) +} + +// HTTPBodyNotContainsf asserts that a specified handler returns a +// body that does not contain a string. +// +// a.HTTPBodyNotContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyNotContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPBodyNotContainsf(a.t, handler, method, url, values, str, msg, args...) +} + +// HTTPError asserts that a specified handler returns an error status code. +// +// a.HTTPError(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPError(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPError(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPErrorf asserts that a specified handler returns an error status code. +// +// a.HTTPErrorf(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func (a *Assertions) HTTPErrorf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPErrorf(a.t, handler, method, url, values, msg, args...) +} + +// HTTPRedirect asserts that a specified handler returns a redirect status code. +// +// a.HTTPRedirect(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPRedirect(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPRedirect(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPRedirectf asserts that a specified handler returns a redirect status code. +// +// a.HTTPRedirectf(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func (a *Assertions) HTTPRedirectf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPRedirectf(a.t, handler, method, url, values, msg, args...) +} + +// HTTPSuccess asserts that a specified handler returns a success status code. +// +// a.HTTPSuccess(myHandler, "POST", "http://www.google.com", nil) +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPSuccess(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPSuccess(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPSuccessf asserts that a specified handler returns a success status code. +// +// a.HTTPSuccessf(myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPSuccessf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPSuccessf(a.t, handler, method, url, values, msg, args...) +} + +// Implements asserts that an object is implemented by the specified interface. +// +// a.Implements((*MyInterface)(nil), new(MyObject)) +func (a *Assertions) Implements(interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Implements(a.t, interfaceObject, object, msgAndArgs...) +} + +// Implementsf asserts that an object is implemented by the specified interface. +// +// a.Implementsf((*MyInterface, "error message %s", "formatted")(nil), new(MyObject)) +func (a *Assertions) Implementsf(interfaceObject interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Implementsf(a.t, interfaceObject, object, msg, args...) +} + +// InDelta asserts that the two numerals are within delta of each other. +// +// a.InDelta(math.Pi, (22 / 7.0), 0.01) +func (a *Assertions) InDelta(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDelta(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func (a *Assertions) InDeltaMapValues(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaMapValues(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func (a *Assertions) InDeltaMapValuesf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaMapValuesf(a.t, expected, actual, delta, msg, args...) +} + +// InDeltaSlice is the same as InDelta, except it compares two slices. +func (a *Assertions) InDeltaSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaSlice(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaSlicef is the same as InDelta, except it compares two slices. +func (a *Assertions) InDeltaSlicef(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaSlicef(a.t, expected, actual, delta, msg, args...) +} + +// InDeltaf asserts that the two numerals are within delta of each other. +// +// a.InDeltaf(math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01) +func (a *Assertions) InDeltaf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaf(a.t, expected, actual, delta, msg, args...) +} + +// InEpsilon asserts that expected and actual have a relative error less than epsilon +func (a *Assertions) InEpsilon(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InEpsilon(a.t, expected, actual, epsilon, msgAndArgs...) +} + +// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices. +func (a *Assertions) InEpsilonSlice(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InEpsilonSlice(a.t, expected, actual, epsilon, msgAndArgs...) +} + +// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices. +func (a *Assertions) InEpsilonSlicef(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InEpsilonSlicef(a.t, expected, actual, epsilon, msg, args...) +} + +// InEpsilonf asserts that expected and actual have a relative error less than epsilon +func (a *Assertions) InEpsilonf(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InEpsilonf(a.t, expected, actual, epsilon, msg, args...) +} + +// IsType asserts that the specified objects are of the same type. +func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return IsType(a.t, expectedType, object, msgAndArgs...) +} + +// IsTypef asserts that the specified objects are of the same type. +func (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return IsTypef(a.t, expectedType, object, msg, args...) +} + +// JSONEq asserts that two JSON strings are equivalent. +// +// a.JSONEq(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) +func (a *Assertions) JSONEq(expected string, actual string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return JSONEq(a.t, expected, actual, msgAndArgs...) +} + +// JSONEqf asserts that two JSON strings are equivalent. +// +// a.JSONEqf(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted") +func (a *Assertions) JSONEqf(expected string, actual string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return JSONEqf(a.t, expected, actual, msg, args...) +} + +// YAMLEq asserts that two YAML strings are equivalent. +func (a *Assertions) YAMLEq(expected string, actual string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return YAMLEq(a.t, expected, actual, msgAndArgs...) +} + +// YAMLEqf asserts that two YAML strings are equivalent. +func (a *Assertions) YAMLEqf(expected string, actual string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return YAMLEqf(a.t, expected, actual, msg, args...) +} + +// Len asserts that the specified object has specific length. +// Len also fails if the object has a type that len() not accept. +// +// a.Len(mySlice, 3) +func (a *Assertions) Len(object interface{}, length int, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Len(a.t, object, length, msgAndArgs...) +} + +// Lenf asserts that the specified object has specific length. +// Lenf also fails if the object has a type that len() not accept. +// +// a.Lenf(mySlice, 3, "error message %s", "formatted") +func (a *Assertions) Lenf(object interface{}, length int, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Lenf(a.t, object, length, msg, args...) +} + +// Less asserts that the first element is less than the second +// +// a.Less(1, 2) +// a.Less(float64(1), float64(2)) +// a.Less("a", "b") +func (a *Assertions) Less(e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Less(a.t, e1, e2, msgAndArgs...) +} + +// LessOrEqual asserts that the first element is less than or equal to the second +// +// a.LessOrEqual(1, 2) +// a.LessOrEqual(2, 2) +// a.LessOrEqual("a", "b") +// a.LessOrEqual("b", "b") +func (a *Assertions) LessOrEqual(e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return LessOrEqual(a.t, e1, e2, msgAndArgs...) +} + +// LessOrEqualf asserts that the first element is less than or equal to the second +// +// a.LessOrEqualf(1, 2, "error message %s", "formatted") +// a.LessOrEqualf(2, 2, "error message %s", "formatted") +// a.LessOrEqualf("a", "b", "error message %s", "formatted") +// a.LessOrEqualf("b", "b", "error message %s", "formatted") +func (a *Assertions) LessOrEqualf(e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return LessOrEqualf(a.t, e1, e2, msg, args...) +} + +// Lessf asserts that the first element is less than the second +// +// a.Lessf(1, 2, "error message %s", "formatted") +// a.Lessf(float64(1, "error message %s", "formatted"), float64(2)) +// a.Lessf("a", "b", "error message %s", "formatted") +func (a *Assertions) Lessf(e1 interface{}, e2 interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Lessf(a.t, e1, e2, msg, args...) +} + +// Nil asserts that the specified object is nil. +// +// a.Nil(err) +func (a *Assertions) Nil(object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Nil(a.t, object, msgAndArgs...) +} + +// Nilf asserts that the specified object is nil. +// +// a.Nilf(err, "error message %s", "formatted") +func (a *Assertions) Nilf(object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Nilf(a.t, object, msg, args...) +} + +// NoError asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if a.NoError(err) { +// assert.Equal(t, expectedObj, actualObj) +// } +func (a *Assertions) NoError(err error, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NoError(a.t, err, msgAndArgs...) +} + +// NoErrorf asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if a.NoErrorf(err, "error message %s", "formatted") { +// assert.Equal(t, expectedObj, actualObj) +// } +func (a *Assertions) NoErrorf(err error, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NoErrorf(a.t, err, msg, args...) +} + +// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// a.NotContains("Hello World", "Earth") +// a.NotContains(["Hello", "World"], "Earth") +// a.NotContains({"Hello": "World"}, "Earth") +func (a *Assertions) NotContains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotContains(a.t, s, contains, msgAndArgs...) +} + +// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// a.NotContainsf("Hello World", "Earth", "error message %s", "formatted") +// a.NotContainsf(["Hello", "World"], "Earth", "error message %s", "formatted") +// a.NotContainsf({"Hello": "World"}, "Earth", "error message %s", "formatted") +func (a *Assertions) NotContainsf(s interface{}, contains interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotContainsf(a.t, s, contains, msg, args...) +} + +// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if a.NotEmpty(obj) { +// assert.Equal(t, "two", obj[1]) +// } +func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotEmpty(a.t, object, msgAndArgs...) +} + +// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if a.NotEmptyf(obj, "error message %s", "formatted") { +// assert.Equal(t, "two", obj[1]) +// } +func (a *Assertions) NotEmptyf(object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotEmptyf(a.t, object, msg, args...) +} + +// NotEqual asserts that the specified values are NOT equal. +// +// a.NotEqual(obj1, obj2) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotEqual(a.t, expected, actual, msgAndArgs...) +} + +// NotEqualf asserts that the specified values are NOT equal. +// +// a.NotEqualf(obj1, obj2, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func (a *Assertions) NotEqualf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotEqualf(a.t, expected, actual, msg, args...) +} + +// NotNil asserts that the specified object is not nil. +// +// a.NotNil(err) +func (a *Assertions) NotNil(object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotNil(a.t, object, msgAndArgs...) +} + +// NotNilf asserts that the specified object is not nil. +// +// a.NotNilf(err, "error message %s", "formatted") +func (a *Assertions) NotNilf(object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotNilf(a.t, object, msg, args...) +} + +// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// a.NotPanics(func(){ RemainCalm() }) +func (a *Assertions) NotPanics(f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotPanics(a.t, f, msgAndArgs...) +} + +// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// a.NotPanicsf(func(){ RemainCalm() }, "error message %s", "formatted") +func (a *Assertions) NotPanicsf(f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotPanicsf(a.t, f, msg, args...) +} + +// NotRegexp asserts that a specified regexp does not match a string. +// +// a.NotRegexp(regexp.MustCompile("starts"), "it's starting") +// a.NotRegexp("^start", "it's not starting") +func (a *Assertions) NotRegexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotRegexp(a.t, rx, str, msgAndArgs...) +} + +// NotRegexpf asserts that a specified regexp does not match a string. +// +// a.NotRegexpf(regexp.MustCompile("starts", "error message %s", "formatted"), "it's starting") +// a.NotRegexpf("^start", "it's not starting", "error message %s", "formatted") +func (a *Assertions) NotRegexpf(rx interface{}, str interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotRegexpf(a.t, rx, str, msg, args...) +} + +// NotSubset asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// a.NotSubset([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]") +func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotSubset(a.t, list, subset, msgAndArgs...) +} + +// NotSubsetf asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// a.NotSubsetf([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted") +func (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotSubsetf(a.t, list, subset, msg, args...) +} + +// NotZero asserts that i is not the zero value for its type. +func (a *Assertions) NotZero(i interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotZero(a.t, i, msgAndArgs...) +} + +// NotZerof asserts that i is not the zero value for its type. +func (a *Assertions) NotZerof(i interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotZerof(a.t, i, msg, args...) +} + +// Panics asserts that the code inside the specified PanicTestFunc panics. +// +// a.Panics(func(){ GoCrazy() }) +func (a *Assertions) Panics(f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Panics(a.t, f, msgAndArgs...) +} + +// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// a.PanicsWithValue("crazy error", func(){ GoCrazy() }) +func (a *Assertions) PanicsWithValue(expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return PanicsWithValue(a.t, expected, f, msgAndArgs...) +} + +// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// a.PanicsWithValuef("crazy error", func(){ GoCrazy() }, "error message %s", "formatted") +func (a *Assertions) PanicsWithValuef(expected interface{}, f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return PanicsWithValuef(a.t, expected, f, msg, args...) +} + +// Panicsf asserts that the code inside the specified PanicTestFunc panics. +// +// a.Panicsf(func(){ GoCrazy() }, "error message %s", "formatted") +func (a *Assertions) Panicsf(f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Panicsf(a.t, f, msg, args...) +} + +// Regexp asserts that a specified regexp matches a string. +// +// a.Regexp(regexp.MustCompile("start"), "it's starting") +// a.Regexp("start...$", "it's not starting") +func (a *Assertions) Regexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Regexp(a.t, rx, str, msgAndArgs...) +} + +// Regexpf asserts that a specified regexp matches a string. +// +// a.Regexpf(regexp.MustCompile("start", "error message %s", "formatted"), "it's starting") +// a.Regexpf("start...$", "it's not starting", "error message %s", "formatted") +func (a *Assertions) Regexpf(rx interface{}, str interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Regexpf(a.t, rx, str, msg, args...) +} + +// Same asserts that two pointers reference the same object. +// +// a.Same(ptr1, ptr2) +// +// Both arguments must be pointer variables. Pointer variable sameness is +// determined based on the equality of both type and value. +func (a *Assertions) Same(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Same(a.t, expected, actual, msgAndArgs...) +} + +// Samef asserts that two pointers reference the same object. +// +// a.Samef(ptr1, ptr2, "error message %s", "formatted") +// +// Both arguments must be pointer variables. Pointer variable sameness is +// determined based on the equality of both type and value. +func (a *Assertions) Samef(expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Samef(a.t, expected, actual, msg, args...) +} + +// Subset asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// a.Subset([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]") +func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Subset(a.t, list, subset, msgAndArgs...) +} + +// Subsetf asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// a.Subsetf([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted") +func (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Subsetf(a.t, list, subset, msg, args...) +} + +// True asserts that the specified value is true. +// +// a.True(myBool) +func (a *Assertions) True(value bool, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return True(a.t, value, msgAndArgs...) +} + +// Truef asserts that the specified value is true. +// +// a.Truef(myBool, "error message %s", "formatted") +func (a *Assertions) Truef(value bool, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Truef(a.t, value, msg, args...) +} + +// WithinDuration asserts that the two times are within duration delta of each other. +// +// a.WithinDuration(time.Now(), time.Now(), 10*time.Second) +func (a *Assertions) WithinDuration(expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return WithinDuration(a.t, expected, actual, delta, msgAndArgs...) +} + +// WithinDurationf asserts that the two times are within duration delta of each other. +// +// a.WithinDurationf(time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted") +func (a *Assertions) WithinDurationf(expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return WithinDurationf(a.t, expected, actual, delta, msg, args...) +} + +// Zero asserts that i is the zero value for its type. +func (a *Assertions) Zero(i interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Zero(a.t, i, msgAndArgs...) +} + +// Zerof asserts that i is the zero value for its type. +func (a *Assertions) Zerof(i interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Zerof(a.t, i, msg, args...) +} diff --git a/vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl b/vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl new file mode 100644 index 00000000..188bb9e1 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl @@ -0,0 +1,5 @@ +{{.CommentWithoutT "a"}} +func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) bool { + if h, ok := a.t.(tHelper); ok { h.Helper() } + return {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) +} diff --git a/vendor/github.com/stretchr/testify/assert/assertion_order.go b/vendor/github.com/stretchr/testify/assert/assertion_order.go new file mode 100644 index 00000000..15a486ca --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertion_order.go @@ -0,0 +1,309 @@ +package assert + +import ( + "fmt" + "reflect" +) + +func compare(obj1, obj2 interface{}, kind reflect.Kind) (int, bool) { + switch kind { + case reflect.Int: + { + intobj1 := obj1.(int) + intobj2 := obj2.(int) + if intobj1 > intobj2 { + return -1, true + } + if intobj1 == intobj2 { + return 0, true + } + if intobj1 < intobj2 { + return 1, true + } + } + case reflect.Int8: + { + int8obj1 := obj1.(int8) + int8obj2 := obj2.(int8) + if int8obj1 > int8obj2 { + return -1, true + } + if int8obj1 == int8obj2 { + return 0, true + } + if int8obj1 < int8obj2 { + return 1, true + } + } + case reflect.Int16: + { + int16obj1 := obj1.(int16) + int16obj2 := obj2.(int16) + if int16obj1 > int16obj2 { + return -1, true + } + if int16obj1 == int16obj2 { + return 0, true + } + if int16obj1 < int16obj2 { + return 1, true + } + } + case reflect.Int32: + { + int32obj1 := obj1.(int32) + int32obj2 := obj2.(int32) + if int32obj1 > int32obj2 { + return -1, true + } + if int32obj1 == int32obj2 { + return 0, true + } + if int32obj1 < int32obj2 { + return 1, true + } + } + case reflect.Int64: + { + int64obj1 := obj1.(int64) + int64obj2 := obj2.(int64) + if int64obj1 > int64obj2 { + return -1, true + } + if int64obj1 == int64obj2 { + return 0, true + } + if int64obj1 < int64obj2 { + return 1, true + } + } + case reflect.Uint: + { + uintobj1 := obj1.(uint) + uintobj2 := obj2.(uint) + if uintobj1 > uintobj2 { + return -1, true + } + if uintobj1 == uintobj2 { + return 0, true + } + if uintobj1 < uintobj2 { + return 1, true + } + } + case reflect.Uint8: + { + uint8obj1 := obj1.(uint8) + uint8obj2 := obj2.(uint8) + if uint8obj1 > uint8obj2 { + return -1, true + } + if uint8obj1 == uint8obj2 { + return 0, true + } + if uint8obj1 < uint8obj2 { + return 1, true + } + } + case reflect.Uint16: + { + uint16obj1 := obj1.(uint16) + uint16obj2 := obj2.(uint16) + if uint16obj1 > uint16obj2 { + return -1, true + } + if uint16obj1 == uint16obj2 { + return 0, true + } + if uint16obj1 < uint16obj2 { + return 1, true + } + } + case reflect.Uint32: + { + uint32obj1 := obj1.(uint32) + uint32obj2 := obj2.(uint32) + if uint32obj1 > uint32obj2 { + return -1, true + } + if uint32obj1 == uint32obj2 { + return 0, true + } + if uint32obj1 < uint32obj2 { + return 1, true + } + } + case reflect.Uint64: + { + uint64obj1 := obj1.(uint64) + uint64obj2 := obj2.(uint64) + if uint64obj1 > uint64obj2 { + return -1, true + } + if uint64obj1 == uint64obj2 { + return 0, true + } + if uint64obj1 < uint64obj2 { + return 1, true + } + } + case reflect.Float32: + { + float32obj1 := obj1.(float32) + float32obj2 := obj2.(float32) + if float32obj1 > float32obj2 { + return -1, true + } + if float32obj1 == float32obj2 { + return 0, true + } + if float32obj1 < float32obj2 { + return 1, true + } + } + case reflect.Float64: + { + float64obj1 := obj1.(float64) + float64obj2 := obj2.(float64) + if float64obj1 > float64obj2 { + return -1, true + } + if float64obj1 == float64obj2 { + return 0, true + } + if float64obj1 < float64obj2 { + return 1, true + } + } + case reflect.String: + { + stringobj1 := obj1.(string) + stringobj2 := obj2.(string) + if stringobj1 > stringobj2 { + return -1, true + } + if stringobj1 == stringobj2 { + return 0, true + } + if stringobj1 < stringobj2 { + return 1, true + } + } + } + + return 0, false +} + +// Greater asserts that the first element is greater than the second +// +// assert.Greater(t, 2, 1) +// assert.Greater(t, float64(2), float64(1)) +// assert.Greater(t, "b", "a") +func Greater(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + e1Kind := reflect.ValueOf(e1).Kind() + e2Kind := reflect.ValueOf(e2).Kind() + if e1Kind != e2Kind { + return Fail(t, "Elements should be the same type", msgAndArgs...) + } + + res, isComparable := compare(e1, e2, e1Kind) + if !isComparable { + return Fail(t, fmt.Sprintf("Can not compare type \"%s\"", reflect.TypeOf(e1)), msgAndArgs...) + } + + if res != -1 { + return Fail(t, fmt.Sprintf("\"%v\" is not greater than \"%v\"", e1, e2), msgAndArgs...) + } + + return true +} + +// GreaterOrEqual asserts that the first element is greater than or equal to the second +// +// assert.GreaterOrEqual(t, 2, 1) +// assert.GreaterOrEqual(t, 2, 2) +// assert.GreaterOrEqual(t, "b", "a") +// assert.GreaterOrEqual(t, "b", "b") +func GreaterOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + e1Kind := reflect.ValueOf(e1).Kind() + e2Kind := reflect.ValueOf(e2).Kind() + if e1Kind != e2Kind { + return Fail(t, "Elements should be the same type", msgAndArgs...) + } + + res, isComparable := compare(e1, e2, e1Kind) + if !isComparable { + return Fail(t, fmt.Sprintf("Can not compare type \"%s\"", reflect.TypeOf(e1)), msgAndArgs...) + } + + if res != -1 && res != 0 { + return Fail(t, fmt.Sprintf("\"%v\" is not greater than or equal to \"%v\"", e1, e2), msgAndArgs...) + } + + return true +} + +// Less asserts that the first element is less than the second +// +// assert.Less(t, 1, 2) +// assert.Less(t, float64(1), float64(2)) +// assert.Less(t, "a", "b") +func Less(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + e1Kind := reflect.ValueOf(e1).Kind() + e2Kind := reflect.ValueOf(e2).Kind() + if e1Kind != e2Kind { + return Fail(t, "Elements should be the same type", msgAndArgs...) + } + + res, isComparable := compare(e1, e2, e1Kind) + if !isComparable { + return Fail(t, fmt.Sprintf("Can not compare type \"%s\"", reflect.TypeOf(e1)), msgAndArgs...) + } + + if res != 1 { + return Fail(t, fmt.Sprintf("\"%v\" is not less than \"%v\"", e1, e2), msgAndArgs...) + } + + return true +} + +// LessOrEqual asserts that the first element is less than or equal to the second +// +// assert.LessOrEqual(t, 1, 2) +// assert.LessOrEqual(t, 2, 2) +// assert.LessOrEqual(t, "a", "b") +// assert.LessOrEqual(t, "b", "b") +func LessOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + e1Kind := reflect.ValueOf(e1).Kind() + e2Kind := reflect.ValueOf(e2).Kind() + if e1Kind != e2Kind { + return Fail(t, "Elements should be the same type", msgAndArgs...) + } + + res, isComparable := compare(e1, e2, e1Kind) + if !isComparable { + return Fail(t, fmt.Sprintf("Can not compare type \"%s\"", reflect.TypeOf(e1)), msgAndArgs...) + } + + if res != 1 && res != 0 { + return Fail(t, fmt.Sprintf("\"%v\" is not less than or equal to \"%v\"", e1, e2), msgAndArgs...) + } + + return true +} diff --git a/vendor/github.com/stretchr/testify/assert/assertions.go b/vendor/github.com/stretchr/testify/assert/assertions.go new file mode 100644 index 00000000..044da8b0 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertions.go @@ -0,0 +1,1498 @@ +package assert + +import ( + "bufio" + "bytes" + "encoding/json" + "errors" + "fmt" + "math" + "os" + "reflect" + "regexp" + "runtime" + "strings" + "time" + "unicode" + "unicode/utf8" + + "github.com/davecgh/go-spew/spew" + "github.com/pmezard/go-difflib/difflib" + yaml "gopkg.in/yaml.v2" +) + +//go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_format.go.tmpl + +// TestingT is an interface wrapper around *testing.T +type TestingT interface { + Errorf(format string, args ...interface{}) +} + +// ComparisonAssertionFunc is a common function prototype when comparing two values. Can be useful +// for table driven tests. +type ComparisonAssertionFunc func(TestingT, interface{}, interface{}, ...interface{}) bool + +// ValueAssertionFunc is a common function prototype when validating a single value. Can be useful +// for table driven tests. +type ValueAssertionFunc func(TestingT, interface{}, ...interface{}) bool + +// BoolAssertionFunc is a common function prototype when validating a bool value. Can be useful +// for table driven tests. +type BoolAssertionFunc func(TestingT, bool, ...interface{}) bool + +// ErrorAssertionFunc is a common function prototype when validating an error value. Can be useful +// for table driven tests. +type ErrorAssertionFunc func(TestingT, error, ...interface{}) bool + +// Comparison a custom function that returns true on success and false on failure +type Comparison func() (success bool) + +/* + Helper functions +*/ + +// ObjectsAreEqual determines if two objects are considered equal. +// +// This function does no assertion of any kind. +func ObjectsAreEqual(expected, actual interface{}) bool { + if expected == nil || actual == nil { + return expected == actual + } + + exp, ok := expected.([]byte) + if !ok { + return reflect.DeepEqual(expected, actual) + } + + act, ok := actual.([]byte) + if !ok { + return false + } + if exp == nil || act == nil { + return exp == nil && act == nil + } + return bytes.Equal(exp, act) +} + +// ObjectsAreEqualValues gets whether two objects are equal, or if their +// values are equal. +func ObjectsAreEqualValues(expected, actual interface{}) bool { + if ObjectsAreEqual(expected, actual) { + return true + } + + actualType := reflect.TypeOf(actual) + if actualType == nil { + return false + } + expectedValue := reflect.ValueOf(expected) + if expectedValue.IsValid() && expectedValue.Type().ConvertibleTo(actualType) { + // Attempt comparison after type conversion + return reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), actual) + } + + return false +} + +/* CallerInfo is necessary because the assert functions use the testing object +internally, causing it to print the file:line of the assert method, rather than where +the problem actually occurred in calling code.*/ + +// CallerInfo returns an array of strings containing the file and line number +// of each stack frame leading from the current test to the assert call that +// failed. +func CallerInfo() []string { + + pc := uintptr(0) + file := "" + line := 0 + ok := false + name := "" + + callers := []string{} + for i := 0; ; i++ { + pc, file, line, ok = runtime.Caller(i) + if !ok { + // The breaks below failed to terminate the loop, and we ran off the + // end of the call stack. + break + } + + // This is a huge edge case, but it will panic if this is the case, see #180 + if file == "" { + break + } + + f := runtime.FuncForPC(pc) + if f == nil { + break + } + name = f.Name() + + // testing.tRunner is the standard library function that calls + // tests. Subtests are called directly by tRunner, without going through + // the Test/Benchmark/Example function that contains the t.Run calls, so + // with subtests we should break when we hit tRunner, without adding it + // to the list of callers. + if name == "testing.tRunner" { + break + } + + parts := strings.Split(file, "/") + file = parts[len(parts)-1] + if len(parts) > 1 { + dir := parts[len(parts)-2] + if (dir != "assert" && dir != "mock" && dir != "require") || file == "mock_test.go" { + callers = append(callers, fmt.Sprintf("%s:%d", file, line)) + } + } + + // Drop the package + segments := strings.Split(name, ".") + name = segments[len(segments)-1] + if isTest(name, "Test") || + isTest(name, "Benchmark") || + isTest(name, "Example") { + break + } + } + + return callers +} + +// Stolen from the `go test` tool. +// isTest tells whether name looks like a test (or benchmark, according to prefix). +// It is a Test (say) if there is a character after Test that is not a lower-case letter. +// We don't want TesticularCancer. +func isTest(name, prefix string) bool { + if !strings.HasPrefix(name, prefix) { + return false + } + if len(name) == len(prefix) { // "Test" is ok + return true + } + rune, _ := utf8.DecodeRuneInString(name[len(prefix):]) + return !unicode.IsLower(rune) +} + +func messageFromMsgAndArgs(msgAndArgs ...interface{}) string { + if len(msgAndArgs) == 0 || msgAndArgs == nil { + return "" + } + if len(msgAndArgs) == 1 { + msg := msgAndArgs[0] + if msgAsStr, ok := msg.(string); ok { + return msgAsStr + } + return fmt.Sprintf("%+v", msg) + } + if len(msgAndArgs) > 1 { + return fmt.Sprintf(msgAndArgs[0].(string), msgAndArgs[1:]...) + } + return "" +} + +// Aligns the provided message so that all lines after the first line start at the same location as the first line. +// Assumes that the first line starts at the correct location (after carriage return, tab, label, spacer and tab). +// The longestLabelLen parameter specifies the length of the longest label in the output (required becaues this is the +// basis on which the alignment occurs). +func indentMessageLines(message string, longestLabelLen int) string { + outBuf := new(bytes.Buffer) + + for i, scanner := 0, bufio.NewScanner(strings.NewReader(message)); scanner.Scan(); i++ { + // no need to align first line because it starts at the correct location (after the label) + if i != 0 { + // append alignLen+1 spaces to align with "{{longestLabel}}:" before adding tab + outBuf.WriteString("\n\t" + strings.Repeat(" ", longestLabelLen+1) + "\t") + } + outBuf.WriteString(scanner.Text()) + } + + return outBuf.String() +} + +type failNower interface { + FailNow() +} + +// FailNow fails test +func FailNow(t TestingT, failureMessage string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + Fail(t, failureMessage, msgAndArgs...) + + // We cannot extend TestingT with FailNow() and + // maintain backwards compatibility, so we fallback + // to panicking when FailNow is not available in + // TestingT. + // See issue #263 + + if t, ok := t.(failNower); ok { + t.FailNow() + } else { + panic("test failed and t is missing `FailNow()`") + } + return false +} + +// Fail reports a failure through +func Fail(t TestingT, failureMessage string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + content := []labeledContent{ + {"Error Trace", strings.Join(CallerInfo(), "\n\t\t\t")}, + {"Error", failureMessage}, + } + + // Add test name if the Go version supports it + if n, ok := t.(interface { + Name() string + }); ok { + content = append(content, labeledContent{"Test", n.Name()}) + } + + message := messageFromMsgAndArgs(msgAndArgs...) + if len(message) > 0 { + content = append(content, labeledContent{"Messages", message}) + } + + t.Errorf("\n%s", ""+labeledOutput(content...)) + + return false +} + +type labeledContent struct { + label string + content string +} + +// labeledOutput returns a string consisting of the provided labeledContent. Each labeled output is appended in the following manner: +// +// \t{{label}}:{{align_spaces}}\t{{content}}\n +// +// The initial carriage return is required to undo/erase any padding added by testing.T.Errorf. The "\t{{label}}:" is for the label. +// If a label is shorter than the longest label provided, padding spaces are added to make all the labels match in length. Once this +// alignment is achieved, "\t{{content}}\n" is added for the output. +// +// If the content of the labeledOutput contains line breaks, the subsequent lines are aligned so that they start at the same location as the first line. +func labeledOutput(content ...labeledContent) string { + longestLabel := 0 + for _, v := range content { + if len(v.label) > longestLabel { + longestLabel = len(v.label) + } + } + var output string + for _, v := range content { + output += "\t" + v.label + ":" + strings.Repeat(" ", longestLabel-len(v.label)) + "\t" + indentMessageLines(v.content, longestLabel) + "\n" + } + return output +} + +// Implements asserts that an object is implemented by the specified interface. +// +// assert.Implements(t, (*MyInterface)(nil), new(MyObject)) +func Implements(t TestingT, interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + interfaceType := reflect.TypeOf(interfaceObject).Elem() + + if object == nil { + return Fail(t, fmt.Sprintf("Cannot check if nil implements %v", interfaceType), msgAndArgs...) + } + if !reflect.TypeOf(object).Implements(interfaceType) { + return Fail(t, fmt.Sprintf("%T must implement %v", object, interfaceType), msgAndArgs...) + } + + return true +} + +// IsType asserts that the specified objects are of the same type. +func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if !ObjectsAreEqual(reflect.TypeOf(object), reflect.TypeOf(expectedType)) { + return Fail(t, fmt.Sprintf("Object expected to be of type %v, but was %v", reflect.TypeOf(expectedType), reflect.TypeOf(object)), msgAndArgs...) + } + + return true +} + +// Equal asserts that two objects are equal. +// +// assert.Equal(t, 123, 123) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if err := validateEqualArgs(expected, actual); err != nil { + return Fail(t, fmt.Sprintf("Invalid operation: %#v == %#v (%s)", + expected, actual, err), msgAndArgs...) + } + + if !ObjectsAreEqual(expected, actual) { + diff := diff(expected, actual) + expected, actual = formatUnequalValues(expected, actual) + return Fail(t, fmt.Sprintf("Not equal: \n"+ + "expected: %s\n"+ + "actual : %s%s", expected, actual, diff), msgAndArgs...) + } + + return true + +} + +// Same asserts that two pointers reference the same object. +// +// assert.Same(t, ptr1, ptr2) +// +// Both arguments must be pointer variables. Pointer variable sameness is +// determined based on the equality of both type and value. +func Same(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + expectedPtr, actualPtr := reflect.ValueOf(expected), reflect.ValueOf(actual) + if expectedPtr.Kind() != reflect.Ptr || actualPtr.Kind() != reflect.Ptr { + return Fail(t, "Invalid operation: both arguments must be pointers", msgAndArgs...) + } + + expectedType, actualType := reflect.TypeOf(expected), reflect.TypeOf(actual) + if expectedType != actualType { + return Fail(t, fmt.Sprintf("Pointer expected to be of type %v, but was %v", + expectedType, actualType), msgAndArgs...) + } + + if expected != actual { + return Fail(t, fmt.Sprintf("Not same: \n"+ + "expected: %p %#v\n"+ + "actual : %p %#v", expected, expected, actual, actual), msgAndArgs...) + } + + return true +} + +// formatUnequalValues takes two values of arbitrary types and returns string +// representations appropriate to be presented to the user. +// +// If the values are not of like type, the returned strings will be prefixed +// with the type name, and the value will be enclosed in parenthesis similar +// to a type conversion in the Go grammar. +func formatUnequalValues(expected, actual interface{}) (e string, a string) { + if reflect.TypeOf(expected) != reflect.TypeOf(actual) { + return fmt.Sprintf("%T(%#v)", expected, expected), + fmt.Sprintf("%T(%#v)", actual, actual) + } + + return fmt.Sprintf("%#v", expected), + fmt.Sprintf("%#v", actual) +} + +// EqualValues asserts that two objects are equal or convertable to the same types +// and equal. +// +// assert.EqualValues(t, uint32(123), int32(123)) +func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if !ObjectsAreEqualValues(expected, actual) { + diff := diff(expected, actual) + expected, actual = formatUnequalValues(expected, actual) + return Fail(t, fmt.Sprintf("Not equal: \n"+ + "expected: %s\n"+ + "actual : %s%s", expected, actual, diff), msgAndArgs...) + } + + return true + +} + +// Exactly asserts that two objects are equal in value and type. +// +// assert.Exactly(t, int32(123), int64(123)) +func Exactly(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + aType := reflect.TypeOf(expected) + bType := reflect.TypeOf(actual) + + if aType != bType { + return Fail(t, fmt.Sprintf("Types expected to match exactly\n\t%v != %v", aType, bType), msgAndArgs...) + } + + return Equal(t, expected, actual, msgAndArgs...) + +} + +// NotNil asserts that the specified object is not nil. +// +// assert.NotNil(t, err) +func NotNil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if !isNil(object) { + return true + } + return Fail(t, "Expected value not to be nil.", msgAndArgs...) +} + +// containsKind checks if a specified kind in the slice of kinds. +func containsKind(kinds []reflect.Kind, kind reflect.Kind) bool { + for i := 0; i < len(kinds); i++ { + if kind == kinds[i] { + return true + } + } + + return false +} + +// isNil checks if a specified object is nil or not, without Failing. +func isNil(object interface{}) bool { + if object == nil { + return true + } + + value := reflect.ValueOf(object) + kind := value.Kind() + isNilableKind := containsKind( + []reflect.Kind{ + reflect.Chan, reflect.Func, + reflect.Interface, reflect.Map, + reflect.Ptr, reflect.Slice}, + kind) + + if isNilableKind && value.IsNil() { + return true + } + + return false +} + +// Nil asserts that the specified object is nil. +// +// assert.Nil(t, err) +func Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if isNil(object) { + return true + } + return Fail(t, fmt.Sprintf("Expected nil, but got: %#v", object), msgAndArgs...) +} + +// isEmpty gets whether the specified object is considered empty or not. +func isEmpty(object interface{}) bool { + + // get nil case out of the way + if object == nil { + return true + } + + objValue := reflect.ValueOf(object) + + switch objValue.Kind() { + // collection types are empty when they have no element + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + return objValue.Len() == 0 + // pointers are empty if nil or if the value they point to is empty + case reflect.Ptr: + if objValue.IsNil() { + return true + } + deref := objValue.Elem().Interface() + return isEmpty(deref) + // for all other types, compare against the zero value + default: + zero := reflect.Zero(objValue.Type()) + return reflect.DeepEqual(object, zero.Interface()) + } +} + +// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// assert.Empty(t, obj) +func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + pass := isEmpty(object) + if !pass { + Fail(t, fmt.Sprintf("Should be empty, but was %v", object), msgAndArgs...) + } + + return pass + +} + +// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if assert.NotEmpty(t, obj) { +// assert.Equal(t, "two", obj[1]) +// } +func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + pass := !isEmpty(object) + if !pass { + Fail(t, fmt.Sprintf("Should NOT be empty, but was %v", object), msgAndArgs...) + } + + return pass + +} + +// getLen try to get length of object. +// return (false, 0) if impossible. +func getLen(x interface{}) (ok bool, length int) { + v := reflect.ValueOf(x) + defer func() { + if e := recover(); e != nil { + ok = false + } + }() + return true, v.Len() +} + +// Len asserts that the specified object has specific length. +// Len also fails if the object has a type that len() not accept. +// +// assert.Len(t, mySlice, 3) +func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + ok, l := getLen(object) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", object), msgAndArgs...) + } + + if l != length { + return Fail(t, fmt.Sprintf("\"%s\" should have %d item(s), but has %d", object, length, l), msgAndArgs...) + } + return true +} + +// True asserts that the specified value is true. +// +// assert.True(t, myBool) +func True(t TestingT, value bool, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if h, ok := t.(interface { + Helper() + }); ok { + h.Helper() + } + + if value != true { + return Fail(t, "Should be true", msgAndArgs...) + } + + return true + +} + +// False asserts that the specified value is false. +// +// assert.False(t, myBool) +func False(t TestingT, value bool, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if value != false { + return Fail(t, "Should be false", msgAndArgs...) + } + + return true + +} + +// NotEqual asserts that the specified values are NOT equal. +// +// assert.NotEqual(t, obj1, obj2) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func NotEqual(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if err := validateEqualArgs(expected, actual); err != nil { + return Fail(t, fmt.Sprintf("Invalid operation: %#v != %#v (%s)", + expected, actual, err), msgAndArgs...) + } + + if ObjectsAreEqual(expected, actual) { + return Fail(t, fmt.Sprintf("Should not be: %#v\n", actual), msgAndArgs...) + } + + return true + +} + +// containsElement try loop over the list check if the list includes the element. +// return (false, false) if impossible. +// return (true, false) if element was not found. +// return (true, true) if element was found. +func includeElement(list interface{}, element interface{}) (ok, found bool) { + + listValue := reflect.ValueOf(list) + listKind := reflect.TypeOf(list).Kind() + defer func() { + if e := recover(); e != nil { + ok = false + found = false + } + }() + + if listKind == reflect.String { + elementValue := reflect.ValueOf(element) + return true, strings.Contains(listValue.String(), elementValue.String()) + } + + if listKind == reflect.Map { + mapKeys := listValue.MapKeys() + for i := 0; i < len(mapKeys); i++ { + if ObjectsAreEqual(mapKeys[i].Interface(), element) { + return true, true + } + } + return true, false + } + + for i := 0; i < listValue.Len(); i++ { + if ObjectsAreEqual(listValue.Index(i).Interface(), element) { + return true, true + } + } + return true, false + +} + +// Contains asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// assert.Contains(t, "Hello World", "World") +// assert.Contains(t, ["Hello", "World"], "World") +// assert.Contains(t, {"Hello": "World"}, "Hello") +func Contains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + ok, found := includeElement(s, contains) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", s), msgAndArgs...) + } + if !found { + return Fail(t, fmt.Sprintf("\"%s\" does not contain \"%s\"", s, contains), msgAndArgs...) + } + + return true + +} + +// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// assert.NotContains(t, "Hello World", "Earth") +// assert.NotContains(t, ["Hello", "World"], "Earth") +// assert.NotContains(t, {"Hello": "World"}, "Earth") +func NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + ok, found := includeElement(s, contains) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", s), msgAndArgs...) + } + if found { + return Fail(t, fmt.Sprintf("\"%s\" should not contain \"%s\"", s, contains), msgAndArgs...) + } + + return true + +} + +// Subset asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// assert.Subset(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]") +func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if subset == nil { + return true // we consider nil to be equal to the nil set + } + + subsetValue := reflect.ValueOf(subset) + defer func() { + if e := recover(); e != nil { + ok = false + } + }() + + listKind := reflect.TypeOf(list).Kind() + subsetKind := reflect.TypeOf(subset).Kind() + + if listKind != reflect.Array && listKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", list, listKind), msgAndArgs...) + } + + if subsetKind != reflect.Array && subsetKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) + } + + for i := 0; i < subsetValue.Len(); i++ { + element := subsetValue.Index(i).Interface() + ok, found := includeElement(list, element) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", list), msgAndArgs...) + } + if !found { + return Fail(t, fmt.Sprintf("\"%s\" does not contain \"%s\"", list, element), msgAndArgs...) + } + } + + return true +} + +// NotSubset asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// assert.NotSubset(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]") +func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if subset == nil { + return Fail(t, fmt.Sprintf("nil is the empty set which is a subset of every set"), msgAndArgs...) + } + + subsetValue := reflect.ValueOf(subset) + defer func() { + if e := recover(); e != nil { + ok = false + } + }() + + listKind := reflect.TypeOf(list).Kind() + subsetKind := reflect.TypeOf(subset).Kind() + + if listKind != reflect.Array && listKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", list, listKind), msgAndArgs...) + } + + if subsetKind != reflect.Array && subsetKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) + } + + for i := 0; i < subsetValue.Len(); i++ { + element := subsetValue.Index(i).Interface() + ok, found := includeElement(list, element) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", list), msgAndArgs...) + } + if !found { + return true + } + } + + return Fail(t, fmt.Sprintf("%q is a subset of %q", subset, list), msgAndArgs...) +} + +// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// assert.ElementsMatch(t, [1, 3, 2, 3], [1, 3, 3, 2]) +func ElementsMatch(t TestingT, listA, listB interface{}, msgAndArgs ...interface{}) (ok bool) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if isEmpty(listA) && isEmpty(listB) { + return true + } + + aKind := reflect.TypeOf(listA).Kind() + bKind := reflect.TypeOf(listB).Kind() + + if aKind != reflect.Array && aKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", listA, aKind), msgAndArgs...) + } + + if bKind != reflect.Array && bKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", listB, bKind), msgAndArgs...) + } + + aValue := reflect.ValueOf(listA) + bValue := reflect.ValueOf(listB) + + aLen := aValue.Len() + bLen := bValue.Len() + + if aLen != bLen { + return Fail(t, fmt.Sprintf("lengths don't match: %d != %d", aLen, bLen), msgAndArgs...) + } + + // Mark indexes in bValue that we already used + visited := make([]bool, bLen) + for i := 0; i < aLen; i++ { + element := aValue.Index(i).Interface() + found := false + for j := 0; j < bLen; j++ { + if visited[j] { + continue + } + if ObjectsAreEqual(bValue.Index(j).Interface(), element) { + visited[j] = true + found = true + break + } + } + if !found { + return Fail(t, fmt.Sprintf("element %s appears more times in %s than in %s", element, aValue, bValue), msgAndArgs...) + } + } + + return true +} + +// Condition uses a Comparison to assert a complex condition. +func Condition(t TestingT, comp Comparison, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + result := comp() + if !result { + Fail(t, "Condition failed!", msgAndArgs...) + } + return result +} + +// PanicTestFunc defines a func that should be passed to the assert.Panics and assert.NotPanics +// methods, and represents a simple func that takes no arguments, and returns nothing. +type PanicTestFunc func() + +// didPanic returns true if the function passed to it panics. Otherwise, it returns false. +func didPanic(f PanicTestFunc) (bool, interface{}) { + + didPanic := false + var message interface{} + func() { + + defer func() { + if message = recover(); message != nil { + didPanic = true + } + }() + + // call the target function + f() + + }() + + return didPanic, message + +} + +// Panics asserts that the code inside the specified PanicTestFunc panics. +// +// assert.Panics(t, func(){ GoCrazy() }) +func Panics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if funcDidPanic, panicValue := didPanic(f); !funcDidPanic { + return Fail(t, fmt.Sprintf("func %#v should panic\n\tPanic value:\t%#v", f, panicValue), msgAndArgs...) + } + + return true +} + +// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// assert.PanicsWithValue(t, "crazy error", func(){ GoCrazy() }) +func PanicsWithValue(t TestingT, expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + funcDidPanic, panicValue := didPanic(f) + if !funcDidPanic { + return Fail(t, fmt.Sprintf("func %#v should panic\n\tPanic value:\t%#v", f, panicValue), msgAndArgs...) + } + if panicValue != expected { + return Fail(t, fmt.Sprintf("func %#v should panic with value:\t%#v\n\tPanic value:\t%#v", f, expected, panicValue), msgAndArgs...) + } + + return true +} + +// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// assert.NotPanics(t, func(){ RemainCalm() }) +func NotPanics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if funcDidPanic, panicValue := didPanic(f); funcDidPanic { + return Fail(t, fmt.Sprintf("func %#v should not panic\n\tPanic value:\t%v", f, panicValue), msgAndArgs...) + } + + return true +} + +// WithinDuration asserts that the two times are within duration delta of each other. +// +// assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second) +func WithinDuration(t TestingT, expected, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + dt := expected.Sub(actual) + if dt < -delta || dt > delta { + return Fail(t, fmt.Sprintf("Max difference between %v and %v allowed is %v, but difference was %v", expected, actual, delta, dt), msgAndArgs...) + } + + return true +} + +func toFloat(x interface{}) (float64, bool) { + var xf float64 + xok := true + + switch xn := x.(type) { + case uint8: + xf = float64(xn) + case uint16: + xf = float64(xn) + case uint32: + xf = float64(xn) + case uint64: + xf = float64(xn) + case int: + xf = float64(xn) + case int8: + xf = float64(xn) + case int16: + xf = float64(xn) + case int32: + xf = float64(xn) + case int64: + xf = float64(xn) + case float32: + xf = float64(xn) + case float64: + xf = float64(xn) + case time.Duration: + xf = float64(xn) + default: + xok = false + } + + return xf, xok +} + +// InDelta asserts that the two numerals are within delta of each other. +// +// assert.InDelta(t, math.Pi, (22 / 7.0), 0.01) +func InDelta(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + af, aok := toFloat(expected) + bf, bok := toFloat(actual) + + if !aok || !bok { + return Fail(t, fmt.Sprintf("Parameters must be numerical"), msgAndArgs...) + } + + if math.IsNaN(af) { + return Fail(t, fmt.Sprintf("Expected must not be NaN"), msgAndArgs...) + } + + if math.IsNaN(bf) { + return Fail(t, fmt.Sprintf("Expected %v with delta %v, but was NaN", expected, delta), msgAndArgs...) + } + + dt := af - bf + if dt < -delta || dt > delta { + return Fail(t, fmt.Sprintf("Max difference between %v and %v allowed is %v, but difference was %v", expected, actual, delta, dt), msgAndArgs...) + } + + return true +} + +// InDeltaSlice is the same as InDelta, except it compares two slices. +func InDeltaSlice(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if expected == nil || actual == nil || + reflect.TypeOf(actual).Kind() != reflect.Slice || + reflect.TypeOf(expected).Kind() != reflect.Slice { + return Fail(t, fmt.Sprintf("Parameters must be slice"), msgAndArgs...) + } + + actualSlice := reflect.ValueOf(actual) + expectedSlice := reflect.ValueOf(expected) + + for i := 0; i < actualSlice.Len(); i++ { + result := InDelta(t, actualSlice.Index(i).Interface(), expectedSlice.Index(i).Interface(), delta, msgAndArgs...) + if !result { + return result + } + } + + return true +} + +// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func InDeltaMapValues(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if expected == nil || actual == nil || + reflect.TypeOf(actual).Kind() != reflect.Map || + reflect.TypeOf(expected).Kind() != reflect.Map { + return Fail(t, "Arguments must be maps", msgAndArgs...) + } + + expectedMap := reflect.ValueOf(expected) + actualMap := reflect.ValueOf(actual) + + if expectedMap.Len() != actualMap.Len() { + return Fail(t, "Arguments must have the same number of keys", msgAndArgs...) + } + + for _, k := range expectedMap.MapKeys() { + ev := expectedMap.MapIndex(k) + av := actualMap.MapIndex(k) + + if !ev.IsValid() { + return Fail(t, fmt.Sprintf("missing key %q in expected map", k), msgAndArgs...) + } + + if !av.IsValid() { + return Fail(t, fmt.Sprintf("missing key %q in actual map", k), msgAndArgs...) + } + + if !InDelta( + t, + ev.Interface(), + av.Interface(), + delta, + msgAndArgs..., + ) { + return false + } + } + + return true +} + +func calcRelativeError(expected, actual interface{}) (float64, error) { + af, aok := toFloat(expected) + if !aok { + return 0, fmt.Errorf("expected value %q cannot be converted to float", expected) + } + if af == 0 { + return 0, fmt.Errorf("expected value must have a value other than zero to calculate the relative error") + } + bf, bok := toFloat(actual) + if !bok { + return 0, fmt.Errorf("actual value %q cannot be converted to float", actual) + } + + return math.Abs(af-bf) / math.Abs(af), nil +} + +// InEpsilon asserts that expected and actual have a relative error less than epsilon +func InEpsilon(t TestingT, expected, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + actualEpsilon, err := calcRelativeError(expected, actual) + if err != nil { + return Fail(t, err.Error(), msgAndArgs...) + } + if actualEpsilon > epsilon { + return Fail(t, fmt.Sprintf("Relative error is too high: %#v (expected)\n"+ + " < %#v (actual)", epsilon, actualEpsilon), msgAndArgs...) + } + + return true +} + +// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices. +func InEpsilonSlice(t TestingT, expected, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if expected == nil || actual == nil || + reflect.TypeOf(actual).Kind() != reflect.Slice || + reflect.TypeOf(expected).Kind() != reflect.Slice { + return Fail(t, fmt.Sprintf("Parameters must be slice"), msgAndArgs...) + } + + actualSlice := reflect.ValueOf(actual) + expectedSlice := reflect.ValueOf(expected) + + for i := 0; i < actualSlice.Len(); i++ { + result := InEpsilon(t, actualSlice.Index(i).Interface(), expectedSlice.Index(i).Interface(), epsilon) + if !result { + return result + } + } + + return true +} + +/* + Errors +*/ + +// NoError asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if assert.NoError(t, err) { +// assert.Equal(t, expectedObj, actualObj) +// } +func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if err != nil { + return Fail(t, fmt.Sprintf("Received unexpected error:\n%+v", err), msgAndArgs...) + } + + return true +} + +// Error asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if assert.Error(t, err) { +// assert.Equal(t, expectedError, err) +// } +func Error(t TestingT, err error, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if err == nil { + return Fail(t, "An error is expected but got nil.", msgAndArgs...) + } + + return true +} + +// EqualError asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// assert.EqualError(t, err, expectedErrorString) +func EqualError(t TestingT, theError error, errString string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if !Error(t, theError, msgAndArgs...) { + return false + } + expected := errString + actual := theError.Error() + // don't need to use deep equals here, we know they are both strings + if expected != actual { + return Fail(t, fmt.Sprintf("Error message not equal:\n"+ + "expected: %q\n"+ + "actual : %q", expected, actual), msgAndArgs...) + } + return true +} + +// matchRegexp return true if a specified regexp matches a string. +func matchRegexp(rx interface{}, str interface{}) bool { + + var r *regexp.Regexp + if rr, ok := rx.(*regexp.Regexp); ok { + r = rr + } else { + r = regexp.MustCompile(fmt.Sprint(rx)) + } + + return (r.FindStringIndex(fmt.Sprint(str)) != nil) + +} + +// Regexp asserts that a specified regexp matches a string. +// +// assert.Regexp(t, regexp.MustCompile("start"), "it's starting") +// assert.Regexp(t, "start...$", "it's not starting") +func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + match := matchRegexp(rx, str) + + if !match { + Fail(t, fmt.Sprintf("Expect \"%v\" to match \"%v\"", str, rx), msgAndArgs...) + } + + return match +} + +// NotRegexp asserts that a specified regexp does not match a string. +// +// assert.NotRegexp(t, regexp.MustCompile("starts"), "it's starting") +// assert.NotRegexp(t, "^start", "it's not starting") +func NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + match := matchRegexp(rx, str) + + if match { + Fail(t, fmt.Sprintf("Expect \"%v\" to NOT match \"%v\"", str, rx), msgAndArgs...) + } + + return !match + +} + +// Zero asserts that i is the zero value for its type. +func Zero(t TestingT, i interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if i != nil && !reflect.DeepEqual(i, reflect.Zero(reflect.TypeOf(i)).Interface()) { + return Fail(t, fmt.Sprintf("Should be zero, but was %v", i), msgAndArgs...) + } + return true +} + +// NotZero asserts that i is not the zero value for its type. +func NotZero(t TestingT, i interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if i == nil || reflect.DeepEqual(i, reflect.Zero(reflect.TypeOf(i)).Interface()) { + return Fail(t, fmt.Sprintf("Should not be zero, but was %v", i), msgAndArgs...) + } + return true +} + +// FileExists checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file. +func FileExists(t TestingT, path string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + info, err := os.Lstat(path) + if err != nil { + if os.IsNotExist(err) { + return Fail(t, fmt.Sprintf("unable to find file %q", path), msgAndArgs...) + } + return Fail(t, fmt.Sprintf("error when running os.Lstat(%q): %s", path, err), msgAndArgs...) + } + if info.IsDir() { + return Fail(t, fmt.Sprintf("%q is a directory", path), msgAndArgs...) + } + return true +} + +// DirExists checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists. +func DirExists(t TestingT, path string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + info, err := os.Lstat(path) + if err != nil { + if os.IsNotExist(err) { + return Fail(t, fmt.Sprintf("unable to find file %q", path), msgAndArgs...) + } + return Fail(t, fmt.Sprintf("error when running os.Lstat(%q): %s", path, err), msgAndArgs...) + } + if !info.IsDir() { + return Fail(t, fmt.Sprintf("%q is a file", path), msgAndArgs...) + } + return true +} + +// JSONEq asserts that two JSON strings are equivalent. +// +// assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) +func JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + var expectedJSONAsInterface, actualJSONAsInterface interface{} + + if err := json.Unmarshal([]byte(expected), &expectedJSONAsInterface); err != nil { + return Fail(t, fmt.Sprintf("Expected value ('%s') is not valid json.\nJSON parsing error: '%s'", expected, err.Error()), msgAndArgs...) + } + + if err := json.Unmarshal([]byte(actual), &actualJSONAsInterface); err != nil { + return Fail(t, fmt.Sprintf("Input ('%s') needs to be valid json.\nJSON parsing error: '%s'", actual, err.Error()), msgAndArgs...) + } + + return Equal(t, expectedJSONAsInterface, actualJSONAsInterface, msgAndArgs...) +} + +// YAMLEq asserts that two YAML strings are equivalent. +func YAMLEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + var expectedYAMLAsInterface, actualYAMLAsInterface interface{} + + if err := yaml.Unmarshal([]byte(expected), &expectedYAMLAsInterface); err != nil { + return Fail(t, fmt.Sprintf("Expected value ('%s') is not valid yaml.\nYAML parsing error: '%s'", expected, err.Error()), msgAndArgs...) + } + + if err := yaml.Unmarshal([]byte(actual), &actualYAMLAsInterface); err != nil { + return Fail(t, fmt.Sprintf("Input ('%s') needs to be valid yaml.\nYAML error: '%s'", actual, err.Error()), msgAndArgs...) + } + + return Equal(t, expectedYAMLAsInterface, actualYAMLAsInterface, msgAndArgs...) +} + +func typeAndKind(v interface{}) (reflect.Type, reflect.Kind) { + t := reflect.TypeOf(v) + k := t.Kind() + + if k == reflect.Ptr { + t = t.Elem() + k = t.Kind() + } + return t, k +} + +// diff returns a diff of both values as long as both are of the same type and +// are a struct, map, slice, array or string. Otherwise it returns an empty string. +func diff(expected interface{}, actual interface{}) string { + if expected == nil || actual == nil { + return "" + } + + et, ek := typeAndKind(expected) + at, _ := typeAndKind(actual) + + if et != at { + return "" + } + + if ek != reflect.Struct && ek != reflect.Map && ek != reflect.Slice && ek != reflect.Array && ek != reflect.String { + return "" + } + + var e, a string + if et != reflect.TypeOf("") { + e = spewConfig.Sdump(expected) + a = spewConfig.Sdump(actual) + } else { + e = reflect.ValueOf(expected).String() + a = reflect.ValueOf(actual).String() + } + + diff, _ := difflib.GetUnifiedDiffString(difflib.UnifiedDiff{ + A: difflib.SplitLines(e), + B: difflib.SplitLines(a), + FromFile: "Expected", + FromDate: "", + ToFile: "Actual", + ToDate: "", + Context: 1, + }) + + return "\n\nDiff:\n" + diff +} + +// validateEqualArgs checks whether provided arguments can be safely used in the +// Equal/NotEqual functions. +func validateEqualArgs(expected, actual interface{}) error { + if isFunction(expected) || isFunction(actual) { + return errors.New("cannot take func type as argument") + } + return nil +} + +func isFunction(arg interface{}) bool { + if arg == nil { + return false + } + return reflect.TypeOf(arg).Kind() == reflect.Func +} + +var spewConfig = spew.ConfigState{ + Indent: " ", + DisablePointerAddresses: true, + DisableCapacities: true, + SortKeys: true, +} + +type tHelper interface { + Helper() +} + +// Eventually asserts that given condition will be met in waitFor time, +// periodically checking target function each tick. +// +// assert.Eventually(t, func() bool { return true; }, time.Second, 10*time.Millisecond) +func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + timer := time.NewTimer(waitFor) + ticker := time.NewTicker(tick) + checkPassed := make(chan bool) + defer timer.Stop() + defer ticker.Stop() + defer close(checkPassed) + for { + select { + case <-timer.C: + return Fail(t, "Condition never satisfied", msgAndArgs...) + case result := <-checkPassed: + if result { + return true + } + case <-ticker.C: + go func() { + checkPassed <- condition() + }() + } + } +} diff --git a/vendor/github.com/stretchr/testify/assert/doc.go b/vendor/github.com/stretchr/testify/assert/doc.go new file mode 100644 index 00000000..c9dccc4d --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/doc.go @@ -0,0 +1,45 @@ +// Package assert provides a set of comprehensive testing tools for use with the normal Go testing system. +// +// Example Usage +// +// The following is a complete example using assert in a standard test function: +// import ( +// "testing" +// "github.com/stretchr/testify/assert" +// ) +// +// func TestSomething(t *testing.T) { +// +// var a string = "Hello" +// var b string = "Hello" +// +// assert.Equal(t, a, b, "The two words should be the same.") +// +// } +// +// if you assert many times, use the format below: +// +// import ( +// "testing" +// "github.com/stretchr/testify/assert" +// ) +// +// func TestSomething(t *testing.T) { +// assert := assert.New(t) +// +// var a string = "Hello" +// var b string = "Hello" +// +// assert.Equal(a, b, "The two words should be the same.") +// } +// +// Assertions +// +// Assertions allow you to easily write test code, and are global funcs in the `assert` package. +// All assertion functions take, as the first argument, the `*testing.T` object provided by the +// testing framework. This allows the assertion funcs to write the failings and other details to +// the correct place. +// +// Every assertion function also takes an optional string message as the final argument, +// allowing custom error messages to be appended to the message the assertion method outputs. +package assert diff --git a/vendor/github.com/stretchr/testify/assert/errors.go b/vendor/github.com/stretchr/testify/assert/errors.go new file mode 100644 index 00000000..ac9dc9d1 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/errors.go @@ -0,0 +1,10 @@ +package assert + +import ( + "errors" +) + +// AnError is an error instance useful for testing. If the code does not care +// about error specifics, and only needs to return the error for example, this +// error should be used to make the test code more readable. +var AnError = errors.New("assert.AnError general error for testing") diff --git a/vendor/github.com/stretchr/testify/assert/forward_assertions.go b/vendor/github.com/stretchr/testify/assert/forward_assertions.go new file mode 100644 index 00000000..9ad56851 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/forward_assertions.go @@ -0,0 +1,16 @@ +package assert + +// Assertions provides assertion methods around the +// TestingT interface. +type Assertions struct { + t TestingT +} + +// New makes a new Assertions object for the specified TestingT. +func New(t TestingT) *Assertions { + return &Assertions{ + t: t, + } +} + +//go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_forward.go.tmpl -include-format-funcs diff --git a/vendor/github.com/stretchr/testify/assert/http_assertions.go b/vendor/github.com/stretchr/testify/assert/http_assertions.go new file mode 100644 index 00000000..df46fa77 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/http_assertions.go @@ -0,0 +1,143 @@ +package assert + +import ( + "fmt" + "net/http" + "net/http/httptest" + "net/url" + "strings" +) + +// httpCode is a helper that returns HTTP code of the response. It returns -1 and +// an error if building a new request fails. +func httpCode(handler http.HandlerFunc, method, url string, values url.Values) (int, error) { + w := httptest.NewRecorder() + req, err := http.NewRequest(method, url, nil) + if err != nil { + return -1, err + } + req.URL.RawQuery = values.Encode() + handler(w, req) + return w.Code, nil +} + +// HTTPSuccess asserts that a specified handler returns a success status code. +// +// assert.HTTPSuccess(t, myHandler, "POST", "http://www.google.com", nil) +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPSuccess(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + code, err := httpCode(handler, method, url, values) + if err != nil { + Fail(t, fmt.Sprintf("Failed to build test request, got error: %s", err)) + return false + } + + isSuccessCode := code >= http.StatusOK && code <= http.StatusPartialContent + if !isSuccessCode { + Fail(t, fmt.Sprintf("Expected HTTP success status code for %q but received %d", url+"?"+values.Encode(), code)) + } + + return isSuccessCode +} + +// HTTPRedirect asserts that a specified handler returns a redirect status code. +// +// assert.HTTPRedirect(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPRedirect(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + code, err := httpCode(handler, method, url, values) + if err != nil { + Fail(t, fmt.Sprintf("Failed to build test request, got error: %s", err)) + return false + } + + isRedirectCode := code >= http.StatusMultipleChoices && code <= http.StatusTemporaryRedirect + if !isRedirectCode { + Fail(t, fmt.Sprintf("Expected HTTP redirect status code for %q but received %d", url+"?"+values.Encode(), code)) + } + + return isRedirectCode +} + +// HTTPError asserts that a specified handler returns an error status code. +// +// assert.HTTPError(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPError(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + code, err := httpCode(handler, method, url, values) + if err != nil { + Fail(t, fmt.Sprintf("Failed to build test request, got error: %s", err)) + return false + } + + isErrorCode := code >= http.StatusBadRequest + if !isErrorCode { + Fail(t, fmt.Sprintf("Expected HTTP error status code for %q but received %d", url+"?"+values.Encode(), code)) + } + + return isErrorCode +} + +// HTTPBody is a helper that returns HTTP body of the response. It returns +// empty string if building a new request fails. +func HTTPBody(handler http.HandlerFunc, method, url string, values url.Values) string { + w := httptest.NewRecorder() + req, err := http.NewRequest(method, url+"?"+values.Encode(), nil) + if err != nil { + return "" + } + handler(w, req) + return w.Body.String() +} + +// HTTPBodyContains asserts that a specified handler returns a +// body that contains a string. +// +// assert.HTTPBodyContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + body := HTTPBody(handler, method, url, values) + + contains := strings.Contains(body, fmt.Sprint(str)) + if !contains { + Fail(t, fmt.Sprintf("Expected response body for \"%s\" to contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body)) + } + + return contains +} + +// HTTPBodyNotContains asserts that a specified handler returns a +// body that does not contain a string. +// +// assert.HTTPBodyNotContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + body := HTTPBody(handler, method, url, values) + + contains := strings.Contains(body, fmt.Sprint(str)) + if contains { + Fail(t, fmt.Sprintf("Expected response body for \"%s\" to NOT contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body)) + } + + return !contains +} diff --git a/vendor/github.com/stretchr/testify/require/doc.go b/vendor/github.com/stretchr/testify/require/doc.go new file mode 100644 index 00000000..169de392 --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/doc.go @@ -0,0 +1,28 @@ +// Package require implements the same assertions as the `assert` package but +// stops test execution when a test fails. +// +// Example Usage +// +// The following is a complete example using require in a standard test function: +// import ( +// "testing" +// "github.com/stretchr/testify/require" +// ) +// +// func TestSomething(t *testing.T) { +// +// var a string = "Hello" +// var b string = "Hello" +// +// require.Equal(t, a, b, "The two words should be the same.") +// +// } +// +// Assertions +// +// The `require` package have same global functions as in the `assert` package, +// but instead of returning a boolean result they call `t.FailNow()`. +// +// Every assertion function also takes an optional string message as the final argument, +// allowing custom error messages to be appended to the message the assertion method outputs. +package require diff --git a/vendor/github.com/stretchr/testify/require/forward_requirements.go b/vendor/github.com/stretchr/testify/require/forward_requirements.go new file mode 100644 index 00000000..ac71d405 --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/forward_requirements.go @@ -0,0 +1,16 @@ +package require + +// Assertions provides assertion methods around the +// TestingT interface. +type Assertions struct { + t TestingT +} + +// New makes a new Assertions object for the specified TestingT. +func New(t TestingT) *Assertions { + return &Assertions{ + t: t, + } +} + +//go:generate go run ../_codegen/main.go -output-package=require -template=require_forward.go.tmpl -include-format-funcs diff --git a/vendor/github.com/stretchr/testify/require/require.go b/vendor/github.com/stretchr/testify/require/require.go new file mode 100644 index 00000000..c5903f5d --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/require.go @@ -0,0 +1,1433 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen +* THIS FILE MUST NOT BE EDITED BY HAND + */ + +package require + +import ( + assert "github.com/stretchr/testify/assert" + http "net/http" + url "net/url" + time "time" +) + +// Condition uses a Comparison to assert a complex condition. +func Condition(t TestingT, comp assert.Comparison, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Condition(t, comp, msgAndArgs...) { + return + } + t.FailNow() +} + +// Conditionf uses a Comparison to assert a complex condition. +func Conditionf(t TestingT, comp assert.Comparison, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Conditionf(t, comp, msg, args...) { + return + } + t.FailNow() +} + +// Contains asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// assert.Contains(t, "Hello World", "World") +// assert.Contains(t, ["Hello", "World"], "World") +// assert.Contains(t, {"Hello": "World"}, "Hello") +func Contains(t TestingT, s interface{}, contains interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Contains(t, s, contains, msgAndArgs...) { + return + } + t.FailNow() +} + +// Containsf asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// assert.Containsf(t, "Hello World", "World", "error message %s", "formatted") +// assert.Containsf(t, ["Hello", "World"], "World", "error message %s", "formatted") +// assert.Containsf(t, {"Hello": "World"}, "Hello", "error message %s", "formatted") +func Containsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Containsf(t, s, contains, msg, args...) { + return + } + t.FailNow() +} + +// DirExists checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists. +func DirExists(t TestingT, path string, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.DirExists(t, path, msgAndArgs...) { + return + } + t.FailNow() +} + +// DirExistsf checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists. +func DirExistsf(t TestingT, path string, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.DirExistsf(t, path, msg, args...) { + return + } + t.FailNow() +} + +// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// assert.ElementsMatch(t, [1, 3, 2, 3], [1, 3, 3, 2]) +func ElementsMatch(t TestingT, listA interface{}, listB interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.ElementsMatch(t, listA, listB, msgAndArgs...) { + return + } + t.FailNow() +} + +// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// assert.ElementsMatchf(t, [1, 3, 2, 3], [1, 3, 3, 2], "error message %s", "formatted") +func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.ElementsMatchf(t, listA, listB, msg, args...) { + return + } + t.FailNow() +} + +// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// assert.Empty(t, obj) +func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Empty(t, object, msgAndArgs...) { + return + } + t.FailNow() +} + +// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// assert.Emptyf(t, obj, "error message %s", "formatted") +func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Emptyf(t, object, msg, args...) { + return + } + t.FailNow() +} + +// Equal asserts that two objects are equal. +// +// assert.Equal(t, 123, 123) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func Equal(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Equal(t, expected, actual, msgAndArgs...) { + return + } + t.FailNow() +} + +// EqualError asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// assert.EqualError(t, err, expectedErrorString) +func EqualError(t TestingT, theError error, errString string, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.EqualError(t, theError, errString, msgAndArgs...) { + return + } + t.FailNow() +} + +// EqualErrorf asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// assert.EqualErrorf(t, err, expectedErrorString, "error message %s", "formatted") +func EqualErrorf(t TestingT, theError error, errString string, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.EqualErrorf(t, theError, errString, msg, args...) { + return + } + t.FailNow() +} + +// EqualValues asserts that two objects are equal or convertable to the same types +// and equal. +// +// assert.EqualValues(t, uint32(123), int32(123)) +func EqualValues(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.EqualValues(t, expected, actual, msgAndArgs...) { + return + } + t.FailNow() +} + +// EqualValuesf asserts that two objects are equal or convertable to the same types +// and equal. +// +// assert.EqualValuesf(t, uint32(123, "error message %s", "formatted"), int32(123)) +func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.EqualValuesf(t, expected, actual, msg, args...) { + return + } + t.FailNow() +} + +// Equalf asserts that two objects are equal. +// +// assert.Equalf(t, 123, 123, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func Equalf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Equalf(t, expected, actual, msg, args...) { + return + } + t.FailNow() +} + +// Error asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if assert.Error(t, err) { +// assert.Equal(t, expectedError, err) +// } +func Error(t TestingT, err error, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Error(t, err, msgAndArgs...) { + return + } + t.FailNow() +} + +// Errorf asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if assert.Errorf(t, err, "error message %s", "formatted") { +// assert.Equal(t, expectedErrorf, err) +// } +func Errorf(t TestingT, err error, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Errorf(t, err, msg, args...) { + return + } + t.FailNow() +} + +// Eventually asserts that given condition will be met in waitFor time, +// periodically checking target function each tick. +// +// assert.Eventually(t, func() bool { return true; }, time.Second, 10*time.Millisecond) +func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) { + if assert.Eventually(t, condition, waitFor, tick, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Eventuallyf asserts that given condition will be met in waitFor time, +// periodically checking target function each tick. +// +// assert.Eventuallyf(t, func() bool { return true; }, time.Second, 10*time.Millisecond, "error message %s", "formatted") +func Eventuallyf(t TestingT, condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) { + if assert.Eventuallyf(t, condition, waitFor, tick, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Exactly asserts that two objects are equal in value and type. +// +// assert.Exactly(t, int32(123), int64(123)) +func Exactly(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Exactly(t, expected, actual, msgAndArgs...) { + return + } + t.FailNow() +} + +// Exactlyf asserts that two objects are equal in value and type. +// +// assert.Exactlyf(t, int32(123, "error message %s", "formatted"), int64(123)) +func Exactlyf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Exactlyf(t, expected, actual, msg, args...) { + return + } + t.FailNow() +} + +// Fail reports a failure through +func Fail(t TestingT, failureMessage string, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Fail(t, failureMessage, msgAndArgs...) { + return + } + t.FailNow() +} + +// FailNow fails test +func FailNow(t TestingT, failureMessage string, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.FailNow(t, failureMessage, msgAndArgs...) { + return + } + t.FailNow() +} + +// FailNowf fails test +func FailNowf(t TestingT, failureMessage string, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.FailNowf(t, failureMessage, msg, args...) { + return + } + t.FailNow() +} + +// Failf reports a failure through +func Failf(t TestingT, failureMessage string, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Failf(t, failureMessage, msg, args...) { + return + } + t.FailNow() +} + +// False asserts that the specified value is false. +// +// assert.False(t, myBool) +func False(t TestingT, value bool, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.False(t, value, msgAndArgs...) { + return + } + t.FailNow() +} + +// Falsef asserts that the specified value is false. +// +// assert.Falsef(t, myBool, "error message %s", "formatted") +func Falsef(t TestingT, value bool, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Falsef(t, value, msg, args...) { + return + } + t.FailNow() +} + +// FileExists checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file. +func FileExists(t TestingT, path string, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.FileExists(t, path, msgAndArgs...) { + return + } + t.FailNow() +} + +// FileExistsf checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file. +func FileExistsf(t TestingT, path string, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.FileExistsf(t, path, msg, args...) { + return + } + t.FailNow() +} + +// Greater asserts that the first element is greater than the second +// +// assert.Greater(t, 2, 1) +// assert.Greater(t, float64(2), float64(1)) +// assert.Greater(t, "b", "a") +func Greater(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Greater(t, e1, e2, msgAndArgs...) { + return + } + t.FailNow() +} + +// GreaterOrEqual asserts that the first element is greater than or equal to the second +// +// assert.GreaterOrEqual(t, 2, 1) +// assert.GreaterOrEqual(t, 2, 2) +// assert.GreaterOrEqual(t, "b", "a") +// assert.GreaterOrEqual(t, "b", "b") +func GreaterOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.GreaterOrEqual(t, e1, e2, msgAndArgs...) { + return + } + t.FailNow() +} + +// GreaterOrEqualf asserts that the first element is greater than or equal to the second +// +// assert.GreaterOrEqualf(t, 2, 1, "error message %s", "formatted") +// assert.GreaterOrEqualf(t, 2, 2, "error message %s", "formatted") +// assert.GreaterOrEqualf(t, "b", "a", "error message %s", "formatted") +// assert.GreaterOrEqualf(t, "b", "b", "error message %s", "formatted") +func GreaterOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.GreaterOrEqualf(t, e1, e2, msg, args...) { + return + } + t.FailNow() +} + +// Greaterf asserts that the first element is greater than the second +// +// assert.Greaterf(t, 2, 1, "error message %s", "formatted") +// assert.Greaterf(t, float64(2, "error message %s", "formatted"), float64(1)) +// assert.Greaterf(t, "b", "a", "error message %s", "formatted") +func Greaterf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Greaterf(t, e1, e2, msg, args...) { + return + } + t.FailNow() +} + +// HTTPBodyContains asserts that a specified handler returns a +// body that contains a string. +// +// assert.HTTPBodyContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPBodyContains(t, handler, method, url, values, str, msgAndArgs...) { + return + } + t.FailNow() +} + +// HTTPBodyContainsf asserts that a specified handler returns a +// body that contains a string. +// +// assert.HTTPBodyContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPBodyContainsf(t, handler, method, url, values, str, msg, args...) { + return + } + t.FailNow() +} + +// HTTPBodyNotContains asserts that a specified handler returns a +// body that does not contain a string. +// +// assert.HTTPBodyNotContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPBodyNotContains(t, handler, method, url, values, str, msgAndArgs...) { + return + } + t.FailNow() +} + +// HTTPBodyNotContainsf asserts that a specified handler returns a +// body that does not contain a string. +// +// assert.HTTPBodyNotContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyNotContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPBodyNotContainsf(t, handler, method, url, values, str, msg, args...) { + return + } + t.FailNow() +} + +// HTTPError asserts that a specified handler returns an error status code. +// +// assert.HTTPError(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPError(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPError(t, handler, method, url, values, msgAndArgs...) { + return + } + t.FailNow() +} + +// HTTPErrorf asserts that a specified handler returns an error status code. +// +// assert.HTTPErrorf(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func HTTPErrorf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPErrorf(t, handler, method, url, values, msg, args...) { + return + } + t.FailNow() +} + +// HTTPRedirect asserts that a specified handler returns a redirect status code. +// +// assert.HTTPRedirect(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPRedirect(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPRedirect(t, handler, method, url, values, msgAndArgs...) { + return + } + t.FailNow() +} + +// HTTPRedirectf asserts that a specified handler returns a redirect status code. +// +// assert.HTTPRedirectf(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func HTTPRedirectf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPRedirectf(t, handler, method, url, values, msg, args...) { + return + } + t.FailNow() +} + +// HTTPSuccess asserts that a specified handler returns a success status code. +// +// assert.HTTPSuccess(t, myHandler, "POST", "http://www.google.com", nil) +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPSuccess(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPSuccess(t, handler, method, url, values, msgAndArgs...) { + return + } + t.FailNow() +} + +// HTTPSuccessf asserts that a specified handler returns a success status code. +// +// assert.HTTPSuccessf(t, myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPSuccessf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.HTTPSuccessf(t, handler, method, url, values, msg, args...) { + return + } + t.FailNow() +} + +// Implements asserts that an object is implemented by the specified interface. +// +// assert.Implements(t, (*MyInterface)(nil), new(MyObject)) +func Implements(t TestingT, interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Implements(t, interfaceObject, object, msgAndArgs...) { + return + } + t.FailNow() +} + +// Implementsf asserts that an object is implemented by the specified interface. +// +// assert.Implementsf(t, (*MyInterface, "error message %s", "formatted")(nil), new(MyObject)) +func Implementsf(t TestingT, interfaceObject interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Implementsf(t, interfaceObject, object, msg, args...) { + return + } + t.FailNow() +} + +// InDelta asserts that the two numerals are within delta of each other. +// +// assert.InDelta(t, math.Pi, (22 / 7.0), 0.01) +func InDelta(t TestingT, expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InDelta(t, expected, actual, delta, msgAndArgs...) { + return + } + t.FailNow() +} + +// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func InDeltaMapValues(t TestingT, expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InDeltaMapValues(t, expected, actual, delta, msgAndArgs...) { + return + } + t.FailNow() +} + +// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func InDeltaMapValuesf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InDeltaMapValuesf(t, expected, actual, delta, msg, args...) { + return + } + t.FailNow() +} + +// InDeltaSlice is the same as InDelta, except it compares two slices. +func InDeltaSlice(t TestingT, expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InDeltaSlice(t, expected, actual, delta, msgAndArgs...) { + return + } + t.FailNow() +} + +// InDeltaSlicef is the same as InDelta, except it compares two slices. +func InDeltaSlicef(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InDeltaSlicef(t, expected, actual, delta, msg, args...) { + return + } + t.FailNow() +} + +// InDeltaf asserts that the two numerals are within delta of each other. +// +// assert.InDeltaf(t, math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01) +func InDeltaf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InDeltaf(t, expected, actual, delta, msg, args...) { + return + } + t.FailNow() +} + +// InEpsilon asserts that expected and actual have a relative error less than epsilon +func InEpsilon(t TestingT, expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InEpsilon(t, expected, actual, epsilon, msgAndArgs...) { + return + } + t.FailNow() +} + +// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices. +func InEpsilonSlice(t TestingT, expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InEpsilonSlice(t, expected, actual, epsilon, msgAndArgs...) { + return + } + t.FailNow() +} + +// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices. +func InEpsilonSlicef(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InEpsilonSlicef(t, expected, actual, epsilon, msg, args...) { + return + } + t.FailNow() +} + +// InEpsilonf asserts that expected and actual have a relative error less than epsilon +func InEpsilonf(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.InEpsilonf(t, expected, actual, epsilon, msg, args...) { + return + } + t.FailNow() +} + +// IsType asserts that the specified objects are of the same type. +func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.IsType(t, expectedType, object, msgAndArgs...) { + return + } + t.FailNow() +} + +// IsTypef asserts that the specified objects are of the same type. +func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.IsTypef(t, expectedType, object, msg, args...) { + return + } + t.FailNow() +} + +// JSONEq asserts that two JSON strings are equivalent. +// +// assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) +func JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.JSONEq(t, expected, actual, msgAndArgs...) { + return + } + t.FailNow() +} + +// JSONEqf asserts that two JSON strings are equivalent. +// +// assert.JSONEqf(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted") +func JSONEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.JSONEqf(t, expected, actual, msg, args...) { + return + } + t.FailNow() +} + +// YAMLEq asserts that two YAML strings are equivalent. +func YAMLEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.YAMLEq(t, expected, actual, msgAndArgs...) { + return + } + t.FailNow() +} + +// YAMLEqf asserts that two YAML strings are equivalent. +func YAMLEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.YAMLEqf(t, expected, actual, msg, args...) { + return + } + t.FailNow() +} + +// Len asserts that the specified object has specific length. +// Len also fails if the object has a type that len() not accept. +// +// assert.Len(t, mySlice, 3) +func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Len(t, object, length, msgAndArgs...) { + return + } + t.FailNow() +} + +// Lenf asserts that the specified object has specific length. +// Lenf also fails if the object has a type that len() not accept. +// +// assert.Lenf(t, mySlice, 3, "error message %s", "formatted") +func Lenf(t TestingT, object interface{}, length int, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Lenf(t, object, length, msg, args...) { + return + } + t.FailNow() +} + +// Less asserts that the first element is less than the second +// +// assert.Less(t, 1, 2) +// assert.Less(t, float64(1), float64(2)) +// assert.Less(t, "a", "b") +func Less(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Less(t, e1, e2, msgAndArgs...) { + return + } + t.FailNow() +} + +// LessOrEqual asserts that the first element is less than or equal to the second +// +// assert.LessOrEqual(t, 1, 2) +// assert.LessOrEqual(t, 2, 2) +// assert.LessOrEqual(t, "a", "b") +// assert.LessOrEqual(t, "b", "b") +func LessOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.LessOrEqual(t, e1, e2, msgAndArgs...) { + return + } + t.FailNow() +} + +// LessOrEqualf asserts that the first element is less than or equal to the second +// +// assert.LessOrEqualf(t, 1, 2, "error message %s", "formatted") +// assert.LessOrEqualf(t, 2, 2, "error message %s", "formatted") +// assert.LessOrEqualf(t, "a", "b", "error message %s", "formatted") +// assert.LessOrEqualf(t, "b", "b", "error message %s", "formatted") +func LessOrEqualf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.LessOrEqualf(t, e1, e2, msg, args...) { + return + } + t.FailNow() +} + +// Lessf asserts that the first element is less than the second +// +// assert.Lessf(t, 1, 2, "error message %s", "formatted") +// assert.Lessf(t, float64(1, "error message %s", "formatted"), float64(2)) +// assert.Lessf(t, "a", "b", "error message %s", "formatted") +func Lessf(t TestingT, e1 interface{}, e2 interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Lessf(t, e1, e2, msg, args...) { + return + } + t.FailNow() +} + +// Nil asserts that the specified object is nil. +// +// assert.Nil(t, err) +func Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Nil(t, object, msgAndArgs...) { + return + } + t.FailNow() +} + +// Nilf asserts that the specified object is nil. +// +// assert.Nilf(t, err, "error message %s", "formatted") +func Nilf(t TestingT, object interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Nilf(t, object, msg, args...) { + return + } + t.FailNow() +} + +// NoError asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if assert.NoError(t, err) { +// assert.Equal(t, expectedObj, actualObj) +// } +func NoError(t TestingT, err error, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NoError(t, err, msgAndArgs...) { + return + } + t.FailNow() +} + +// NoErrorf asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if assert.NoErrorf(t, err, "error message %s", "formatted") { +// assert.Equal(t, expectedObj, actualObj) +// } +func NoErrorf(t TestingT, err error, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NoErrorf(t, err, msg, args...) { + return + } + t.FailNow() +} + +// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// assert.NotContains(t, "Hello World", "Earth") +// assert.NotContains(t, ["Hello", "World"], "Earth") +// assert.NotContains(t, {"Hello": "World"}, "Earth") +func NotContains(t TestingT, s interface{}, contains interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotContains(t, s, contains, msgAndArgs...) { + return + } + t.FailNow() +} + +// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// assert.NotContainsf(t, "Hello World", "Earth", "error message %s", "formatted") +// assert.NotContainsf(t, ["Hello", "World"], "Earth", "error message %s", "formatted") +// assert.NotContainsf(t, {"Hello": "World"}, "Earth", "error message %s", "formatted") +func NotContainsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotContainsf(t, s, contains, msg, args...) { + return + } + t.FailNow() +} + +// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if assert.NotEmpty(t, obj) { +// assert.Equal(t, "two", obj[1]) +// } +func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotEmpty(t, object, msgAndArgs...) { + return + } + t.FailNow() +} + +// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if assert.NotEmptyf(t, obj, "error message %s", "formatted") { +// assert.Equal(t, "two", obj[1]) +// } +func NotEmptyf(t TestingT, object interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotEmptyf(t, object, msg, args...) { + return + } + t.FailNow() +} + +// NotEqual asserts that the specified values are NOT equal. +// +// assert.NotEqual(t, obj1, obj2) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func NotEqual(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotEqual(t, expected, actual, msgAndArgs...) { + return + } + t.FailNow() +} + +// NotEqualf asserts that the specified values are NOT equal. +// +// assert.NotEqualf(t, obj1, obj2, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func NotEqualf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotEqualf(t, expected, actual, msg, args...) { + return + } + t.FailNow() +} + +// NotNil asserts that the specified object is not nil. +// +// assert.NotNil(t, err) +func NotNil(t TestingT, object interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotNil(t, object, msgAndArgs...) { + return + } + t.FailNow() +} + +// NotNilf asserts that the specified object is not nil. +// +// assert.NotNilf(t, err, "error message %s", "formatted") +func NotNilf(t TestingT, object interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotNilf(t, object, msg, args...) { + return + } + t.FailNow() +} + +// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// assert.NotPanics(t, func(){ RemainCalm() }) +func NotPanics(t TestingT, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotPanics(t, f, msgAndArgs...) { + return + } + t.FailNow() +} + +// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// assert.NotPanicsf(t, func(){ RemainCalm() }, "error message %s", "formatted") +func NotPanicsf(t TestingT, f assert.PanicTestFunc, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotPanicsf(t, f, msg, args...) { + return + } + t.FailNow() +} + +// NotRegexp asserts that a specified regexp does not match a string. +// +// assert.NotRegexp(t, regexp.MustCompile("starts"), "it's starting") +// assert.NotRegexp(t, "^start", "it's not starting") +func NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotRegexp(t, rx, str, msgAndArgs...) { + return + } + t.FailNow() +} + +// NotRegexpf asserts that a specified regexp does not match a string. +// +// assert.NotRegexpf(t, regexp.MustCompile("starts", "error message %s", "formatted"), "it's starting") +// assert.NotRegexpf(t, "^start", "it's not starting", "error message %s", "formatted") +func NotRegexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotRegexpf(t, rx, str, msg, args...) { + return + } + t.FailNow() +} + +// NotSubset asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// assert.NotSubset(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]") +func NotSubset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotSubset(t, list, subset, msgAndArgs...) { + return + } + t.FailNow() +} + +// NotSubsetf asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// assert.NotSubsetf(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted") +func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotSubsetf(t, list, subset, msg, args...) { + return + } + t.FailNow() +} + +// NotZero asserts that i is not the zero value for its type. +func NotZero(t TestingT, i interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotZero(t, i, msgAndArgs...) { + return + } + t.FailNow() +} + +// NotZerof asserts that i is not the zero value for its type. +func NotZerof(t TestingT, i interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.NotZerof(t, i, msg, args...) { + return + } + t.FailNow() +} + +// Panics asserts that the code inside the specified PanicTestFunc panics. +// +// assert.Panics(t, func(){ GoCrazy() }) +func Panics(t TestingT, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Panics(t, f, msgAndArgs...) { + return + } + t.FailNow() +} + +// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// assert.PanicsWithValue(t, "crazy error", func(){ GoCrazy() }) +func PanicsWithValue(t TestingT, expected interface{}, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.PanicsWithValue(t, expected, f, msgAndArgs...) { + return + } + t.FailNow() +} + +// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// assert.PanicsWithValuef(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted") +func PanicsWithValuef(t TestingT, expected interface{}, f assert.PanicTestFunc, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.PanicsWithValuef(t, expected, f, msg, args...) { + return + } + t.FailNow() +} + +// Panicsf asserts that the code inside the specified PanicTestFunc panics. +// +// assert.Panicsf(t, func(){ GoCrazy() }, "error message %s", "formatted") +func Panicsf(t TestingT, f assert.PanicTestFunc, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Panicsf(t, f, msg, args...) { + return + } + t.FailNow() +} + +// Regexp asserts that a specified regexp matches a string. +// +// assert.Regexp(t, regexp.MustCompile("start"), "it's starting") +// assert.Regexp(t, "start...$", "it's not starting") +func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Regexp(t, rx, str, msgAndArgs...) { + return + } + t.FailNow() +} + +// Regexpf asserts that a specified regexp matches a string. +// +// assert.Regexpf(t, regexp.MustCompile("start", "error message %s", "formatted"), "it's starting") +// assert.Regexpf(t, "start...$", "it's not starting", "error message %s", "formatted") +func Regexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Regexpf(t, rx, str, msg, args...) { + return + } + t.FailNow() +} + +// Same asserts that two pointers reference the same object. +// +// assert.Same(t, ptr1, ptr2) +// +// Both arguments must be pointer variables. Pointer variable sameness is +// determined based on the equality of both type and value. +func Same(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Same(t, expected, actual, msgAndArgs...) { + return + } + t.FailNow() +} + +// Samef asserts that two pointers reference the same object. +// +// assert.Samef(t, ptr1, ptr2, "error message %s", "formatted") +// +// Both arguments must be pointer variables. Pointer variable sameness is +// determined based on the equality of both type and value. +func Samef(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Samef(t, expected, actual, msg, args...) { + return + } + t.FailNow() +} + +// Subset asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// assert.Subset(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]") +func Subset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Subset(t, list, subset, msgAndArgs...) { + return + } + t.FailNow() +} + +// Subsetf asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// assert.Subsetf(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted") +func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Subsetf(t, list, subset, msg, args...) { + return + } + t.FailNow() +} + +// True asserts that the specified value is true. +// +// assert.True(t, myBool) +func True(t TestingT, value bool, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.True(t, value, msgAndArgs...) { + return + } + t.FailNow() +} + +// Truef asserts that the specified value is true. +// +// assert.Truef(t, myBool, "error message %s", "formatted") +func Truef(t TestingT, value bool, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Truef(t, value, msg, args...) { + return + } + t.FailNow() +} + +// WithinDuration asserts that the two times are within duration delta of each other. +// +// assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second) +func WithinDuration(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.WithinDuration(t, expected, actual, delta, msgAndArgs...) { + return + } + t.FailNow() +} + +// WithinDurationf asserts that the two times are within duration delta of each other. +// +// assert.WithinDurationf(t, time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted") +func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.WithinDurationf(t, expected, actual, delta, msg, args...) { + return + } + t.FailNow() +} + +// Zero asserts that i is the zero value for its type. +func Zero(t TestingT, i interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Zero(t, i, msgAndArgs...) { + return + } + t.FailNow() +} + +// Zerof asserts that i is the zero value for its type. +func Zerof(t TestingT, i interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.Zerof(t, i, msg, args...) { + return + } + t.FailNow() +} diff --git a/vendor/github.com/stretchr/testify/require/require.go.tmpl b/vendor/github.com/stretchr/testify/require/require.go.tmpl new file mode 100644 index 00000000..55e42dde --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/require.go.tmpl @@ -0,0 +1,6 @@ +{{.Comment}} +func {{.DocInfo.Name}}(t TestingT, {{.Params}}) { + if h, ok := t.(tHelper); ok { h.Helper() } + if assert.{{.DocInfo.Name}}(t, {{.ForwardedParams}}) { return } + t.FailNow() +} diff --git a/vendor/github.com/stretchr/testify/require/require_forward.go b/vendor/github.com/stretchr/testify/require/require_forward.go new file mode 100644 index 00000000..804fae03 --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/require_forward.go @@ -0,0 +1,1121 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen +* THIS FILE MUST NOT BE EDITED BY HAND + */ + +package require + +import ( + assert "github.com/stretchr/testify/assert" + http "net/http" + url "net/url" + time "time" +) + +// Condition uses a Comparison to assert a complex condition. +func (a *Assertions) Condition(comp assert.Comparison, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Condition(a.t, comp, msgAndArgs...) +} + +// Conditionf uses a Comparison to assert a complex condition. +func (a *Assertions) Conditionf(comp assert.Comparison, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Conditionf(a.t, comp, msg, args...) +} + +// Contains asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// a.Contains("Hello World", "World") +// a.Contains(["Hello", "World"], "World") +// a.Contains({"Hello": "World"}, "Hello") +func (a *Assertions) Contains(s interface{}, contains interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Contains(a.t, s, contains, msgAndArgs...) +} + +// Containsf asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// a.Containsf("Hello World", "World", "error message %s", "formatted") +// a.Containsf(["Hello", "World"], "World", "error message %s", "formatted") +// a.Containsf({"Hello": "World"}, "Hello", "error message %s", "formatted") +func (a *Assertions) Containsf(s interface{}, contains interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Containsf(a.t, s, contains, msg, args...) +} + +// DirExists checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists. +func (a *Assertions) DirExists(path string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + DirExists(a.t, path, msgAndArgs...) +} + +// DirExistsf checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists. +func (a *Assertions) DirExistsf(path string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + DirExistsf(a.t, path, msg, args...) +} + +// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// a.ElementsMatch([1, 3, 2, 3], [1, 3, 3, 2]) +func (a *Assertions) ElementsMatch(listA interface{}, listB interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + ElementsMatch(a.t, listA, listB, msgAndArgs...) +} + +// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// a.ElementsMatchf([1, 3, 2, 3], [1, 3, 3, 2], "error message %s", "formatted") +func (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + ElementsMatchf(a.t, listA, listB, msg, args...) +} + +// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// a.Empty(obj) +func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Empty(a.t, object, msgAndArgs...) +} + +// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// a.Emptyf(obj, "error message %s", "formatted") +func (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Emptyf(a.t, object, msg, args...) +} + +// Equal asserts that two objects are equal. +// +// a.Equal(123, 123) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Equal(a.t, expected, actual, msgAndArgs...) +} + +// EqualError asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// a.EqualError(err, expectedErrorString) +func (a *Assertions) EqualError(theError error, errString string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + EqualError(a.t, theError, errString, msgAndArgs...) +} + +// EqualErrorf asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// a.EqualErrorf(err, expectedErrorString, "error message %s", "formatted") +func (a *Assertions) EqualErrorf(theError error, errString string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + EqualErrorf(a.t, theError, errString, msg, args...) +} + +// EqualValues asserts that two objects are equal or convertable to the same types +// and equal. +// +// a.EqualValues(uint32(123), int32(123)) +func (a *Assertions) EqualValues(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + EqualValues(a.t, expected, actual, msgAndArgs...) +} + +// EqualValuesf asserts that two objects are equal or convertable to the same types +// and equal. +// +// a.EqualValuesf(uint32(123, "error message %s", "formatted"), int32(123)) +func (a *Assertions) EqualValuesf(expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + EqualValuesf(a.t, expected, actual, msg, args...) +} + +// Equalf asserts that two objects are equal. +// +// a.Equalf(123, 123, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Equalf(a.t, expected, actual, msg, args...) +} + +// Error asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if a.Error(err) { +// assert.Equal(t, expectedError, err) +// } +func (a *Assertions) Error(err error, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Error(a.t, err, msgAndArgs...) +} + +// Errorf asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if a.Errorf(err, "error message %s", "formatted") { +// assert.Equal(t, expectedErrorf, err) +// } +func (a *Assertions) Errorf(err error, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Errorf(a.t, err, msg, args...) +} + +// Eventually asserts that given condition will be met in waitFor time, +// periodically checking target function each tick. +// +// a.Eventually(func() bool { return true; }, time.Second, 10*time.Millisecond) +func (a *Assertions) Eventually(condition func() bool, waitFor time.Duration, tick time.Duration, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Eventually(a.t, condition, waitFor, tick, msgAndArgs...) +} + +// Eventuallyf asserts that given condition will be met in waitFor time, +// periodically checking target function each tick. +// +// a.Eventuallyf(func() bool { return true; }, time.Second, 10*time.Millisecond, "error message %s", "formatted") +func (a *Assertions) Eventuallyf(condition func() bool, waitFor time.Duration, tick time.Duration, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Eventuallyf(a.t, condition, waitFor, tick, msg, args...) +} + +// Exactly asserts that two objects are equal in value and type. +// +// a.Exactly(int32(123), int64(123)) +func (a *Assertions) Exactly(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Exactly(a.t, expected, actual, msgAndArgs...) +} + +// Exactlyf asserts that two objects are equal in value and type. +// +// a.Exactlyf(int32(123, "error message %s", "formatted"), int64(123)) +func (a *Assertions) Exactlyf(expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Exactlyf(a.t, expected, actual, msg, args...) +} + +// Fail reports a failure through +func (a *Assertions) Fail(failureMessage string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Fail(a.t, failureMessage, msgAndArgs...) +} + +// FailNow fails test +func (a *Assertions) FailNow(failureMessage string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + FailNow(a.t, failureMessage, msgAndArgs...) +} + +// FailNowf fails test +func (a *Assertions) FailNowf(failureMessage string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + FailNowf(a.t, failureMessage, msg, args...) +} + +// Failf reports a failure through +func (a *Assertions) Failf(failureMessage string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Failf(a.t, failureMessage, msg, args...) +} + +// False asserts that the specified value is false. +// +// a.False(myBool) +func (a *Assertions) False(value bool, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + False(a.t, value, msgAndArgs...) +} + +// Falsef asserts that the specified value is false. +// +// a.Falsef(myBool, "error message %s", "formatted") +func (a *Assertions) Falsef(value bool, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Falsef(a.t, value, msg, args...) +} + +// FileExists checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file. +func (a *Assertions) FileExists(path string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + FileExists(a.t, path, msgAndArgs...) +} + +// FileExistsf checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file. +func (a *Assertions) FileExistsf(path string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + FileExistsf(a.t, path, msg, args...) +} + +// Greater asserts that the first element is greater than the second +// +// a.Greater(2, 1) +// a.Greater(float64(2), float64(1)) +// a.Greater("b", "a") +func (a *Assertions) Greater(e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Greater(a.t, e1, e2, msgAndArgs...) +} + +// GreaterOrEqual asserts that the first element is greater than or equal to the second +// +// a.GreaterOrEqual(2, 1) +// a.GreaterOrEqual(2, 2) +// a.GreaterOrEqual("b", "a") +// a.GreaterOrEqual("b", "b") +func (a *Assertions) GreaterOrEqual(e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + GreaterOrEqual(a.t, e1, e2, msgAndArgs...) +} + +// GreaterOrEqualf asserts that the first element is greater than or equal to the second +// +// a.GreaterOrEqualf(2, 1, "error message %s", "formatted") +// a.GreaterOrEqualf(2, 2, "error message %s", "formatted") +// a.GreaterOrEqualf("b", "a", "error message %s", "formatted") +// a.GreaterOrEqualf("b", "b", "error message %s", "formatted") +func (a *Assertions) GreaterOrEqualf(e1 interface{}, e2 interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + GreaterOrEqualf(a.t, e1, e2, msg, args...) +} + +// Greaterf asserts that the first element is greater than the second +// +// a.Greaterf(2, 1, "error message %s", "formatted") +// a.Greaterf(float64(2, "error message %s", "formatted"), float64(1)) +// a.Greaterf("b", "a", "error message %s", "formatted") +func (a *Assertions) Greaterf(e1 interface{}, e2 interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Greaterf(a.t, e1, e2, msg, args...) +} + +// HTTPBodyContains asserts that a specified handler returns a +// body that contains a string. +// +// a.HTTPBodyContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPBodyContains(a.t, handler, method, url, values, str, msgAndArgs...) +} + +// HTTPBodyContainsf asserts that a specified handler returns a +// body that contains a string. +// +// a.HTTPBodyContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPBodyContainsf(a.t, handler, method, url, values, str, msg, args...) +} + +// HTTPBodyNotContains asserts that a specified handler returns a +// body that does not contain a string. +// +// a.HTTPBodyNotContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyNotContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPBodyNotContains(a.t, handler, method, url, values, str, msgAndArgs...) +} + +// HTTPBodyNotContainsf asserts that a specified handler returns a +// body that does not contain a string. +// +// a.HTTPBodyNotContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyNotContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPBodyNotContainsf(a.t, handler, method, url, values, str, msg, args...) +} + +// HTTPError asserts that a specified handler returns an error status code. +// +// a.HTTPError(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPError(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPError(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPErrorf asserts that a specified handler returns an error status code. +// +// a.HTTPErrorf(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func (a *Assertions) HTTPErrorf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPErrorf(a.t, handler, method, url, values, msg, args...) +} + +// HTTPRedirect asserts that a specified handler returns a redirect status code. +// +// a.HTTPRedirect(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPRedirect(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPRedirect(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPRedirectf asserts that a specified handler returns a redirect status code. +// +// a.HTTPRedirectf(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func (a *Assertions) HTTPRedirectf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPRedirectf(a.t, handler, method, url, values, msg, args...) +} + +// HTTPSuccess asserts that a specified handler returns a success status code. +// +// a.HTTPSuccess(myHandler, "POST", "http://www.google.com", nil) +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPSuccess(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPSuccess(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPSuccessf asserts that a specified handler returns a success status code. +// +// a.HTTPSuccessf(myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPSuccessf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPSuccessf(a.t, handler, method, url, values, msg, args...) +} + +// Implements asserts that an object is implemented by the specified interface. +// +// a.Implements((*MyInterface)(nil), new(MyObject)) +func (a *Assertions) Implements(interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Implements(a.t, interfaceObject, object, msgAndArgs...) +} + +// Implementsf asserts that an object is implemented by the specified interface. +// +// a.Implementsf((*MyInterface, "error message %s", "formatted")(nil), new(MyObject)) +func (a *Assertions) Implementsf(interfaceObject interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Implementsf(a.t, interfaceObject, object, msg, args...) +} + +// InDelta asserts that the two numerals are within delta of each other. +// +// a.InDelta(math.Pi, (22 / 7.0), 0.01) +func (a *Assertions) InDelta(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDelta(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func (a *Assertions) InDeltaMapValues(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaMapValues(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func (a *Assertions) InDeltaMapValuesf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaMapValuesf(a.t, expected, actual, delta, msg, args...) +} + +// InDeltaSlice is the same as InDelta, except it compares two slices. +func (a *Assertions) InDeltaSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaSlice(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaSlicef is the same as InDelta, except it compares two slices. +func (a *Assertions) InDeltaSlicef(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaSlicef(a.t, expected, actual, delta, msg, args...) +} + +// InDeltaf asserts that the two numerals are within delta of each other. +// +// a.InDeltaf(math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01) +func (a *Assertions) InDeltaf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaf(a.t, expected, actual, delta, msg, args...) +} + +// InEpsilon asserts that expected and actual have a relative error less than epsilon +func (a *Assertions) InEpsilon(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InEpsilon(a.t, expected, actual, epsilon, msgAndArgs...) +} + +// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices. +func (a *Assertions) InEpsilonSlice(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InEpsilonSlice(a.t, expected, actual, epsilon, msgAndArgs...) +} + +// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices. +func (a *Assertions) InEpsilonSlicef(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InEpsilonSlicef(a.t, expected, actual, epsilon, msg, args...) +} + +// InEpsilonf asserts that expected and actual have a relative error less than epsilon +func (a *Assertions) InEpsilonf(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InEpsilonf(a.t, expected, actual, epsilon, msg, args...) +} + +// IsType asserts that the specified objects are of the same type. +func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + IsType(a.t, expectedType, object, msgAndArgs...) +} + +// IsTypef asserts that the specified objects are of the same type. +func (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + IsTypef(a.t, expectedType, object, msg, args...) +} + +// JSONEq asserts that two JSON strings are equivalent. +// +// a.JSONEq(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) +func (a *Assertions) JSONEq(expected string, actual string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + JSONEq(a.t, expected, actual, msgAndArgs...) +} + +// JSONEqf asserts that two JSON strings are equivalent. +// +// a.JSONEqf(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted") +func (a *Assertions) JSONEqf(expected string, actual string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + JSONEqf(a.t, expected, actual, msg, args...) +} + +// YAMLEq asserts that two YAML strings are equivalent. +func (a *Assertions) YAMLEq(expected string, actual string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + YAMLEq(a.t, expected, actual, msgAndArgs...) +} + +// YAMLEqf asserts that two YAML strings are equivalent. +func (a *Assertions) YAMLEqf(expected string, actual string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + YAMLEqf(a.t, expected, actual, msg, args...) +} + +// Len asserts that the specified object has specific length. +// Len also fails if the object has a type that len() not accept. +// +// a.Len(mySlice, 3) +func (a *Assertions) Len(object interface{}, length int, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Len(a.t, object, length, msgAndArgs...) +} + +// Lenf asserts that the specified object has specific length. +// Lenf also fails if the object has a type that len() not accept. +// +// a.Lenf(mySlice, 3, "error message %s", "formatted") +func (a *Assertions) Lenf(object interface{}, length int, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Lenf(a.t, object, length, msg, args...) +} + +// Less asserts that the first element is less than the second +// +// a.Less(1, 2) +// a.Less(float64(1), float64(2)) +// a.Less("a", "b") +func (a *Assertions) Less(e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Less(a.t, e1, e2, msgAndArgs...) +} + +// LessOrEqual asserts that the first element is less than or equal to the second +// +// a.LessOrEqual(1, 2) +// a.LessOrEqual(2, 2) +// a.LessOrEqual("a", "b") +// a.LessOrEqual("b", "b") +func (a *Assertions) LessOrEqual(e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + LessOrEqual(a.t, e1, e2, msgAndArgs...) +} + +// LessOrEqualf asserts that the first element is less than or equal to the second +// +// a.LessOrEqualf(1, 2, "error message %s", "formatted") +// a.LessOrEqualf(2, 2, "error message %s", "formatted") +// a.LessOrEqualf("a", "b", "error message %s", "formatted") +// a.LessOrEqualf("b", "b", "error message %s", "formatted") +func (a *Assertions) LessOrEqualf(e1 interface{}, e2 interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + LessOrEqualf(a.t, e1, e2, msg, args...) +} + +// Lessf asserts that the first element is less than the second +// +// a.Lessf(1, 2, "error message %s", "formatted") +// a.Lessf(float64(1, "error message %s", "formatted"), float64(2)) +// a.Lessf("a", "b", "error message %s", "formatted") +func (a *Assertions) Lessf(e1 interface{}, e2 interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Lessf(a.t, e1, e2, msg, args...) +} + +// Nil asserts that the specified object is nil. +// +// a.Nil(err) +func (a *Assertions) Nil(object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Nil(a.t, object, msgAndArgs...) +} + +// Nilf asserts that the specified object is nil. +// +// a.Nilf(err, "error message %s", "formatted") +func (a *Assertions) Nilf(object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Nilf(a.t, object, msg, args...) +} + +// NoError asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if a.NoError(err) { +// assert.Equal(t, expectedObj, actualObj) +// } +func (a *Assertions) NoError(err error, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NoError(a.t, err, msgAndArgs...) +} + +// NoErrorf asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if a.NoErrorf(err, "error message %s", "formatted") { +// assert.Equal(t, expectedObj, actualObj) +// } +func (a *Assertions) NoErrorf(err error, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NoErrorf(a.t, err, msg, args...) +} + +// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// a.NotContains("Hello World", "Earth") +// a.NotContains(["Hello", "World"], "Earth") +// a.NotContains({"Hello": "World"}, "Earth") +func (a *Assertions) NotContains(s interface{}, contains interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotContains(a.t, s, contains, msgAndArgs...) +} + +// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// a.NotContainsf("Hello World", "Earth", "error message %s", "formatted") +// a.NotContainsf(["Hello", "World"], "Earth", "error message %s", "formatted") +// a.NotContainsf({"Hello": "World"}, "Earth", "error message %s", "formatted") +func (a *Assertions) NotContainsf(s interface{}, contains interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotContainsf(a.t, s, contains, msg, args...) +} + +// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if a.NotEmpty(obj) { +// assert.Equal(t, "two", obj[1]) +// } +func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotEmpty(a.t, object, msgAndArgs...) +} + +// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if a.NotEmptyf(obj, "error message %s", "formatted") { +// assert.Equal(t, "two", obj[1]) +// } +func (a *Assertions) NotEmptyf(object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotEmptyf(a.t, object, msg, args...) +} + +// NotEqual asserts that the specified values are NOT equal. +// +// a.NotEqual(obj1, obj2) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotEqual(a.t, expected, actual, msgAndArgs...) +} + +// NotEqualf asserts that the specified values are NOT equal. +// +// a.NotEqualf(obj1, obj2, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func (a *Assertions) NotEqualf(expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotEqualf(a.t, expected, actual, msg, args...) +} + +// NotNil asserts that the specified object is not nil. +// +// a.NotNil(err) +func (a *Assertions) NotNil(object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotNil(a.t, object, msgAndArgs...) +} + +// NotNilf asserts that the specified object is not nil. +// +// a.NotNilf(err, "error message %s", "formatted") +func (a *Assertions) NotNilf(object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotNilf(a.t, object, msg, args...) +} + +// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// a.NotPanics(func(){ RemainCalm() }) +func (a *Assertions) NotPanics(f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotPanics(a.t, f, msgAndArgs...) +} + +// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// a.NotPanicsf(func(){ RemainCalm() }, "error message %s", "formatted") +func (a *Assertions) NotPanicsf(f assert.PanicTestFunc, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotPanicsf(a.t, f, msg, args...) +} + +// NotRegexp asserts that a specified regexp does not match a string. +// +// a.NotRegexp(regexp.MustCompile("starts"), "it's starting") +// a.NotRegexp("^start", "it's not starting") +func (a *Assertions) NotRegexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotRegexp(a.t, rx, str, msgAndArgs...) +} + +// NotRegexpf asserts that a specified regexp does not match a string. +// +// a.NotRegexpf(regexp.MustCompile("starts", "error message %s", "formatted"), "it's starting") +// a.NotRegexpf("^start", "it's not starting", "error message %s", "formatted") +func (a *Assertions) NotRegexpf(rx interface{}, str interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotRegexpf(a.t, rx, str, msg, args...) +} + +// NotSubset asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// a.NotSubset([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]") +func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotSubset(a.t, list, subset, msgAndArgs...) +} + +// NotSubsetf asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// a.NotSubsetf([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted") +func (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotSubsetf(a.t, list, subset, msg, args...) +} + +// NotZero asserts that i is not the zero value for its type. +func (a *Assertions) NotZero(i interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotZero(a.t, i, msgAndArgs...) +} + +// NotZerof asserts that i is not the zero value for its type. +func (a *Assertions) NotZerof(i interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotZerof(a.t, i, msg, args...) +} + +// Panics asserts that the code inside the specified PanicTestFunc panics. +// +// a.Panics(func(){ GoCrazy() }) +func (a *Assertions) Panics(f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Panics(a.t, f, msgAndArgs...) +} + +// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// a.PanicsWithValue("crazy error", func(){ GoCrazy() }) +func (a *Assertions) PanicsWithValue(expected interface{}, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + PanicsWithValue(a.t, expected, f, msgAndArgs...) +} + +// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// a.PanicsWithValuef("crazy error", func(){ GoCrazy() }, "error message %s", "formatted") +func (a *Assertions) PanicsWithValuef(expected interface{}, f assert.PanicTestFunc, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + PanicsWithValuef(a.t, expected, f, msg, args...) +} + +// Panicsf asserts that the code inside the specified PanicTestFunc panics. +// +// a.Panicsf(func(){ GoCrazy() }, "error message %s", "formatted") +func (a *Assertions) Panicsf(f assert.PanicTestFunc, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Panicsf(a.t, f, msg, args...) +} + +// Regexp asserts that a specified regexp matches a string. +// +// a.Regexp(regexp.MustCompile("start"), "it's starting") +// a.Regexp("start...$", "it's not starting") +func (a *Assertions) Regexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Regexp(a.t, rx, str, msgAndArgs...) +} + +// Regexpf asserts that a specified regexp matches a string. +// +// a.Regexpf(regexp.MustCompile("start", "error message %s", "formatted"), "it's starting") +// a.Regexpf("start...$", "it's not starting", "error message %s", "formatted") +func (a *Assertions) Regexpf(rx interface{}, str interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Regexpf(a.t, rx, str, msg, args...) +} + +// Same asserts that two pointers reference the same object. +// +// a.Same(ptr1, ptr2) +// +// Both arguments must be pointer variables. Pointer variable sameness is +// determined based on the equality of both type and value. +func (a *Assertions) Same(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Same(a.t, expected, actual, msgAndArgs...) +} + +// Samef asserts that two pointers reference the same object. +// +// a.Samef(ptr1, ptr2, "error message %s", "formatted") +// +// Both arguments must be pointer variables. Pointer variable sameness is +// determined based on the equality of both type and value. +func (a *Assertions) Samef(expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Samef(a.t, expected, actual, msg, args...) +} + +// Subset asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// a.Subset([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]") +func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Subset(a.t, list, subset, msgAndArgs...) +} + +// Subsetf asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// a.Subsetf([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted") +func (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Subsetf(a.t, list, subset, msg, args...) +} + +// True asserts that the specified value is true. +// +// a.True(myBool) +func (a *Assertions) True(value bool, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + True(a.t, value, msgAndArgs...) +} + +// Truef asserts that the specified value is true. +// +// a.Truef(myBool, "error message %s", "formatted") +func (a *Assertions) Truef(value bool, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Truef(a.t, value, msg, args...) +} + +// WithinDuration asserts that the two times are within duration delta of each other. +// +// a.WithinDuration(time.Now(), time.Now(), 10*time.Second) +func (a *Assertions) WithinDuration(expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + WithinDuration(a.t, expected, actual, delta, msgAndArgs...) +} + +// WithinDurationf asserts that the two times are within duration delta of each other. +// +// a.WithinDurationf(time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted") +func (a *Assertions) WithinDurationf(expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + WithinDurationf(a.t, expected, actual, delta, msg, args...) +} + +// Zero asserts that i is the zero value for its type. +func (a *Assertions) Zero(i interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Zero(a.t, i, msgAndArgs...) +} + +// Zerof asserts that i is the zero value for its type. +func (a *Assertions) Zerof(i interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Zerof(a.t, i, msg, args...) +} diff --git a/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl b/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl new file mode 100644 index 00000000..54124df1 --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl @@ -0,0 +1,5 @@ +{{.CommentWithoutT "a"}} +func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) { + if h, ok := a.t.(tHelper); ok { h.Helper() } + {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) +} diff --git a/vendor/github.com/stretchr/testify/require/requirements.go b/vendor/github.com/stretchr/testify/require/requirements.go new file mode 100644 index 00000000..6b85c5ec --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/requirements.go @@ -0,0 +1,29 @@ +package require + +// TestingT is an interface wrapper around *testing.T +type TestingT interface { + Errorf(format string, args ...interface{}) + FailNow() +} + +type tHelper interface { + Helper() +} + +// ComparisonAssertionFunc is a common function prototype when comparing two values. Can be useful +// for table driven tests. +type ComparisonAssertionFunc func(TestingT, interface{}, interface{}, ...interface{}) + +// ValueAssertionFunc is a common function prototype when validating a single value. Can be useful +// for table driven tests. +type ValueAssertionFunc func(TestingT, interface{}, ...interface{}) + +// BoolAssertionFunc is a common function prototype when validating a bool value. Can be useful +// for table driven tests. +type BoolAssertionFunc func(TestingT, bool, ...interface{}) + +// ErrorAssertionFunc is a common function prototype when validating an error value. Can be useful +// for table driven tests. +type ErrorAssertionFunc func(TestingT, error, ...interface{}) + +//go:generate go run ../_codegen/main.go -output-package=require -template=require.go.tmpl -include-format-funcs diff --git a/vendor/github.com/therecipe/qt/.gitignore b/vendor/github.com/therecipe/qt/.gitignore new file mode 100644 index 00000000..1df97866 --- /dev/null +++ b/vendor/github.com/therecipe/qt/.gitignore @@ -0,0 +1,24 @@ +*.jsc +*.log +*.pro +*.pro.user +*.qmake.stash +*.qmlc +*.so +*.trace +*.vagrant +.DS_Store +Mfile* + +*/*-minimal.* +*/*.o +*/*_string.go +*/cgo_* +*/minimal_* + +/internal/binding/dump/* +/internal/cmd/moc/test/**/moc* +/internal/examples/**/deploy +/internal/examples/**/moc* +/internal/examples/**/rcc* +/internal/examples/**/uic* \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/LICENSE b/vendor/github.com/therecipe/qt/LICENSE new file mode 100644 index 00000000..65c5ca88 --- /dev/null +++ b/vendor/github.com/therecipe/qt/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/vendor/github.com/therecipe/qt/README.md b/vendor/github.com/therecipe/qt/README.md new file mode 100644 index 00000000..3f10a7dd --- /dev/null +++ b/vendor/github.com/therecipe/qt/README.md @@ -0,0 +1,76 @@ +Introduction +------------ + +[Qt](https://en.wikipedia.org/wiki/Qt_(software)) is a cross-platform application framework that is used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase. + +[Go](https://en.wikipedia.org/wiki/Go_(programming_language)) (often referred to as golang) is a programming language created at Google. + +This package allows you to write Qt applications entirely in Go and makes deploying them later very easy. + +[Gallery](https://github.com/therecipe/qt/wiki/Gallery) of example applications making use of this package. + +[WebAssembly Live Demo](https://therecipe.github.io/widgets_playground) | *[repo](https://github.com/therecipe/widgets_playground)* + +Status +------ + +Almost all Qt functions and classes are accessible from Go and you should be able to find everything you need to build fully featured applications. + +Installation +------------ + +##### Windows [(more info)](https://github.com/therecipe/qt/wiki/Installation-on-Windows) + +```powershell +go get -u -v github.com/therecipe/qt/cmd/... && for /f %v in ('go env GOPATH') do %v\bin\qtsetup test && %v\bin\qtsetup -test=false +``` + +##### macOS [(more info)](https://github.com/therecipe/qt/wiki/Installation-on-macOS) + +```bash +xcode-select --install; go get -u -v github.com/therecipe/qt/cmd/... && $(go env GOPATH)/bin/qtsetup test && $(go env GOPATH)/bin/qtsetup -test=false +``` + +##### Linux [(more info)](https://github.com/therecipe/qt/wiki/Installation-on-Linux) + +```bash +go get -u -v github.com/therecipe/qt/cmd/... && $(go env GOPATH)/bin/qtsetup test && $(go env GOPATH)/bin/qtsetup -test=false +``` + +Resources +--------- + +- [General Installation](https://github.com/therecipe/qt/wiki/Installation) +- [Getting Started](https://github.com/therecipe/qt/wiki/Getting-Started) +- [Wiki](https://github.com/therecipe/qt/wiki) +- [Qt Documentation](https://doc.qt.io/qt-5/classes.html) +- [FAQ](https://github.com/therecipe/qt/wiki/FAQ) +- [#qt-binding](https://gophers.slack.com/messages/qt-binding/details) Slack channel ([invite](https://invite.slack.golangbridge.org)\) + +Deployment Targets +------------------ + +| Target | Arch | Linkage | Docker Deployment | Host OS | +|:------------------------:|:----------------:|:-------------------------:|:-----------------:|:-------:| +| Windows | 32 / 64 | dynamic / static | Yes | Any | +| macOS | 64 | dynamic | Yes | Any | +| Linux | arm / arm64 / 64 | dynamic / static / system | Yes | Any | +| Android (+Wear) | arm / arm64 | dynamic | Yes | Any | +| Android-Emulator (+Wear) | 32 | dynamic | Yes | Any | +| SailfishOS | arm | system | Yes | Any | +| SailfishOS-Emulator | 32 | system | Yes | Any | +| Raspberry Pi (1/2/3) | arm | dynamic / system | Yes | Any | +| Ubuntu Touch | arm / 64 | system | Yes | Any | +| JavaScript | 32 | static | Yes | Any | +| WebAssembly | 32 | static | Yes | Any | +| iOS | arm64 | static | No | macOS | +| iOS-Simulator | 64 | static | No | macOS | +| AsteroidOS | arm | system | No | Linux | +| FreeBSD | 32 / 64 | system | No | FreeBSD | + +License +------- + +This package is released under [LGPLv3](https://opensource.org/licenses/LGPL-3.0) + +Qt is available under multiple [licenses](https://www.qt.io/licensing) diff --git a/vendor/github.com/therecipe/qt/_config.yml b/vendor/github.com/therecipe/qt/_config.yml new file mode 100644 index 00000000..c4192631 --- /dev/null +++ b/vendor/github.com/therecipe/qt/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/azure-pipelines.yml b/vendor/github.com/therecipe/qt/azure-pipelines.yml new file mode 100644 index 00000000..602379b6 --- /dev/null +++ b/vendor/github.com/therecipe/qt/azure-pipelines.yml @@ -0,0 +1,3 @@ +jobs: + - + template: internal/docker/docker_pipelines_template.yml diff --git a/vendor/github.com/therecipe/qt/core/core.cpp b/vendor/github.com/therecipe/qt/core/core.cpp new file mode 100644 index 00000000..993c8a37 --- /dev/null +++ b/vendor/github.com/therecipe/qt/core/core.cpp @@ -0,0 +1,27532 @@ +// +build !minimal + +#define protected public +#define private public + +#include "core.h" +#include "_cgo_export.h" + +#ifndef QT_CORE_LIB + #error ------------------------------------------------------------------ + #error please run: '$(go env GOPATH)/bin/qtsetup' + #error more info here: https://github.com/therecipe/qt/wiki/Installation + #error ------------------------------------------------------------------ +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class MyQAbstractAnimation: public QAbstractAnimation +{ +public: + MyQAbstractAnimation(QObject *parent = Q_NULLPTR) : QAbstractAnimation(parent) {QAbstractAnimation_QAbstractAnimation_QRegisterMetaType();}; + void Signal_CurrentLoopChanged(int currentLoop) { callbackQAbstractAnimation_CurrentLoopChanged(this, currentLoop); }; + void Signal_DirectionChanged(QAbstractAnimation::Direction newDirection) { callbackQAbstractAnimation_DirectionChanged(this, newDirection); }; + int duration() const { return callbackQAbstractAnimation_Duration(const_cast(static_cast(this))); }; + bool event(QEvent * event) { return callbackQObject_Event(this, event) != 0; }; + void Signal_Finished() { callbackQAbstractAnimation_Finished(this); }; + void pause() { callbackQAbstractAnimation_Pause(this); }; + void resume() { callbackQAbstractAnimation_Resume(this); }; + void setCurrentTime(int msecs) { callbackQAbstractAnimation_SetCurrentTime(this, msecs); }; + void setPaused(bool paused) { callbackQAbstractAnimation_SetPaused(this, paused); }; + void start(QAbstractAnimation::DeletionPolicy policy) { callbackQAbstractAnimation_Start(this, policy); }; + void Signal_StateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_StateChanged(this, newState, oldState); }; + void stop() { callbackQAbstractAnimation_Stop(this); }; + void updateCurrentTime(int currentTime) { callbackQAbstractAnimation_UpdateCurrentTime(this, currentTime); }; + void updateDirection(QAbstractAnimation::Direction direction) { callbackQAbstractAnimation_UpdateDirection(this, direction); }; + void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_UpdateState(this, newState, oldState); }; + ~MyQAbstractAnimation() { callbackQAbstractAnimation_DestroyQAbstractAnimation(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractAnimation*) + +int QAbstractAnimation_QAbstractAnimation_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAbstractAnimation_NewQAbstractAnimation(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractAnimation(static_cast(parent)); + } else { + return new MyQAbstractAnimation(static_cast(parent)); + } +} + +int QAbstractAnimation_CurrentLoop(void* ptr) +{ + return static_cast(ptr)->currentLoop(); +} + +void QAbstractAnimation_ConnectCurrentLoopChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractAnimation::currentLoopChanged), static_cast(ptr), static_cast(&MyQAbstractAnimation::Signal_CurrentLoopChanged), static_cast(t)); +} + +void QAbstractAnimation_DisconnectCurrentLoopChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractAnimation::currentLoopChanged), static_cast(ptr), static_cast(&MyQAbstractAnimation::Signal_CurrentLoopChanged)); +} + +void QAbstractAnimation_CurrentLoopChanged(void* ptr, int currentLoop) +{ + static_cast(ptr)->currentLoopChanged(currentLoop); +} + +int QAbstractAnimation_CurrentLoopTime(void* ptr) +{ + return static_cast(ptr)->currentLoopTime(); +} + +int QAbstractAnimation_CurrentTime(void* ptr) +{ + return static_cast(ptr)->currentTime(); +} + +long long QAbstractAnimation_Direction(void* ptr) +{ + return static_cast(ptr)->direction(); +} + +void QAbstractAnimation_ConnectDirectionChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QAbstractAnimation::directionChanged), static_cast(ptr), static_cast(&MyQAbstractAnimation::Signal_DirectionChanged), static_cast(t)); +} + +void QAbstractAnimation_DisconnectDirectionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractAnimation::directionChanged), static_cast(ptr), static_cast(&MyQAbstractAnimation::Signal_DirectionChanged)); +} + +void QAbstractAnimation_DirectionChanged(void* ptr, long long newDirection) +{ + static_cast(ptr)->directionChanged(static_cast(newDirection)); +} + +int QAbstractAnimation_Duration(void* ptr) +{ + return static_cast(ptr)->duration(); +} + +void QAbstractAnimation_ConnectFinished(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractAnimation::finished), static_cast(ptr), static_cast(&MyQAbstractAnimation::Signal_Finished), static_cast(t)); +} + +void QAbstractAnimation_DisconnectFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractAnimation::finished), static_cast(ptr), static_cast(&MyQAbstractAnimation::Signal_Finished)); +} + +void QAbstractAnimation_Finished(void* ptr) +{ + static_cast(ptr)->finished(); +} + +void* QAbstractAnimation_Group(void* ptr) +{ + return static_cast(ptr)->group(); +} + +int QAbstractAnimation_LoopCount(void* ptr) +{ + return static_cast(ptr)->loopCount(); +} + +void QAbstractAnimation_Pause(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "pause"); +} + +void QAbstractAnimation_PauseDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::pause(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::pause(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::pause(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::pause(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::pause(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::pause(); + } else { + static_cast(ptr)->QAbstractAnimation::pause(); + } +} + +void QAbstractAnimation_Resume(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "resume"); +} + +void QAbstractAnimation_ResumeDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::resume(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::resume(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::resume(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::resume(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::resume(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::resume(); + } else { + static_cast(ptr)->QAbstractAnimation::resume(); + } +} + +void QAbstractAnimation_SetCurrentTime(void* ptr, int msecs) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setCurrentTime", Q_ARG(int, msecs)); +} + +void QAbstractAnimation_SetCurrentTimeDefault(void* ptr, int msecs) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::setCurrentTime(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::setCurrentTime(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::setCurrentTime(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::setCurrentTime(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::setCurrentTime(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::setCurrentTime(msecs); + } else { + static_cast(ptr)->QAbstractAnimation::setCurrentTime(msecs); + } +} + +void QAbstractAnimation_SetDirection(void* ptr, long long direction) +{ + static_cast(ptr)->setDirection(static_cast(direction)); +} + +void QAbstractAnimation_SetLoopCount(void* ptr, int loopCount) +{ + static_cast(ptr)->setLoopCount(loopCount); +} + +void QAbstractAnimation_SetPaused(void* ptr, char paused) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setPaused", Q_ARG(bool, paused != 0)); +} + +void QAbstractAnimation_SetPausedDefault(void* ptr, char paused) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::setPaused(paused != 0); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::setPaused(paused != 0); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::setPaused(paused != 0); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::setPaused(paused != 0); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::setPaused(paused != 0); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::setPaused(paused != 0); + } else { + static_cast(ptr)->QAbstractAnimation::setPaused(paused != 0); + } +} + +void QAbstractAnimation_Start(void* ptr, long long policy) +{ + QMetaObject::invokeMethod(static_cast(ptr), "start", Q_ARG(QAbstractAnimation::DeletionPolicy, static_cast(policy))); +} + +void QAbstractAnimation_StartDefault(void* ptr, long long policy) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::start(static_cast(policy)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::start(static_cast(policy)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::start(static_cast(policy)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::start(static_cast(policy)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::start(static_cast(policy)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::start(static_cast(policy)); + } else { + static_cast(ptr)->QAbstractAnimation::start(static_cast(policy)); + } +} + +long long QAbstractAnimation_State(void* ptr) +{ + return static_cast(ptr)->state(); +} + +void QAbstractAnimation_ConnectStateChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QAbstractAnimation::stateChanged), static_cast(ptr), static_cast(&MyQAbstractAnimation::Signal_StateChanged), static_cast(t)); +} + +void QAbstractAnimation_DisconnectStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractAnimation::stateChanged), static_cast(ptr), static_cast(&MyQAbstractAnimation::Signal_StateChanged)); +} + +void QAbstractAnimation_StateChanged(void* ptr, long long newState, long long oldState) +{ + static_cast(ptr)->stateChanged(static_cast(newState), static_cast(oldState)); +} + +void QAbstractAnimation_Stop(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "stop"); +} + +void QAbstractAnimation_StopDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::stop(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::stop(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::stop(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::stop(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::stop(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::stop(); + } else { + static_cast(ptr)->QAbstractAnimation::stop(); + } +} + +int QAbstractAnimation_TotalDuration(void* ptr) +{ + return static_cast(ptr)->totalDuration(); +} + +void QAbstractAnimation_UpdateCurrentTime(void* ptr, int currentTime) +{ + static_cast(ptr)->updateCurrentTime(currentTime); +} + +void QAbstractAnimation_UpdateDirection(void* ptr, long long direction) +{ + static_cast(ptr)->updateDirection(static_cast(direction)); +} + +void QAbstractAnimation_UpdateDirectionDefault(void* ptr, long long direction) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::updateDirection(static_cast(direction)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::updateDirection(static_cast(direction)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::updateDirection(static_cast(direction)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::updateDirection(static_cast(direction)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::updateDirection(static_cast(direction)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::updateDirection(static_cast(direction)); + } else { + static_cast(ptr)->QAbstractAnimation::updateDirection(static_cast(direction)); + } +} + +void QAbstractAnimation_UpdateState(void* ptr, long long newState, long long oldState) +{ + static_cast(ptr)->updateState(static_cast(newState), static_cast(oldState)); +} + +void QAbstractAnimation_UpdateStateDefault(void* ptr, long long newState, long long oldState) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::updateState(static_cast(newState), static_cast(oldState)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::updateState(static_cast(newState), static_cast(oldState)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::updateState(static_cast(newState), static_cast(oldState)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::updateState(static_cast(newState), static_cast(oldState)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::updateState(static_cast(newState), static_cast(oldState)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::updateState(static_cast(newState), static_cast(oldState)); + } else { + static_cast(ptr)->QAbstractAnimation::updateState(static_cast(newState), static_cast(oldState)); + } +} + +void QAbstractAnimation_DestroyQAbstractAnimation(void* ptr) +{ + static_cast(ptr)->~QAbstractAnimation(); +} + +void QAbstractAnimation_DestroyQAbstractAnimationDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQAbstractEventDispatcher: public QAbstractEventDispatcher +{ +public: + void Signal_AboutToBlock() { callbackQAbstractEventDispatcher_AboutToBlock(this); }; + void Signal_Awake() { callbackQAbstractEventDispatcher_Awake(this); }; + void interrupt() { callbackQAbstractEventDispatcher_Interrupt(this); }; + bool processEvents(QEventLoop::ProcessEventsFlags flags) { return callbackQAbstractEventDispatcher_ProcessEvents(this, flags) != 0; }; + #ifdef Q_OS_WIN + bool registerEventNotifier(QWinEventNotifier * notifier) { return callbackQAbstractEventDispatcher_RegisterEventNotifier(this, notifier) != 0; }; + #endif + void registerSocketNotifier(QSocketNotifier * notifier) { callbackQAbstractEventDispatcher_RegisterSocketNotifier(this, notifier); }; + void registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject * object) { callbackQAbstractEventDispatcher_RegisterTimer4(this, timerId, interval, timerType, object); }; + int remainingTime(int timerId) { return callbackQAbstractEventDispatcher_RemainingTime(this, timerId); }; + #ifdef Q_OS_WIN + void unregisterEventNotifier(QWinEventNotifier * notifier) { callbackQAbstractEventDispatcher_UnregisterEventNotifier(this, notifier); }; + #endif + void unregisterSocketNotifier(QSocketNotifier * notifier) { callbackQAbstractEventDispatcher_UnregisterSocketNotifier(this, notifier); }; + bool unregisterTimer(int timerId) { return callbackQAbstractEventDispatcher_UnregisterTimer(this, timerId) != 0; }; + bool unregisterTimers(QObject * object) { return callbackQAbstractEventDispatcher_UnregisterTimers(this, object) != 0; }; + void wakeUp() { callbackQAbstractEventDispatcher_WakeUp(this); }; + ~MyQAbstractEventDispatcher() { callbackQAbstractEventDispatcher_DestroyQAbstractEventDispatcher(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractEventDispatcher*) + +int QAbstractEventDispatcher_QAbstractEventDispatcher_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void QAbstractEventDispatcher_ConnectAboutToBlock(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractEventDispatcher::aboutToBlock), static_cast(ptr), static_cast(&MyQAbstractEventDispatcher::Signal_AboutToBlock), static_cast(t)); +} + +void QAbstractEventDispatcher_DisconnectAboutToBlock(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractEventDispatcher::aboutToBlock), static_cast(ptr), static_cast(&MyQAbstractEventDispatcher::Signal_AboutToBlock)); +} + +void QAbstractEventDispatcher_AboutToBlock(void* ptr) +{ + static_cast(ptr)->aboutToBlock(); +} + +void QAbstractEventDispatcher_ConnectAwake(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractEventDispatcher::awake), static_cast(ptr), static_cast(&MyQAbstractEventDispatcher::Signal_Awake), static_cast(t)); +} + +void QAbstractEventDispatcher_DisconnectAwake(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractEventDispatcher::awake), static_cast(ptr), static_cast(&MyQAbstractEventDispatcher::Signal_Awake)); +} + +void QAbstractEventDispatcher_Awake(void* ptr) +{ + static_cast(ptr)->awake(); +} + +char QAbstractEventDispatcher_FilterNativeEvent(void* ptr, void* eventType, void* message, long* result) +{ + return static_cast(ptr)->filterNativeEvent(*static_cast(eventType), message, result); +} + +void QAbstractEventDispatcher_InstallNativeEventFilter(void* ptr, void* filterObj) +{ + static_cast(ptr)->installNativeEventFilter(static_cast(filterObj)); +} + +void* QAbstractEventDispatcher_QAbstractEventDispatcher_Instance(void* thread) +{ + return QAbstractEventDispatcher::instance(static_cast(thread)); +} + +void QAbstractEventDispatcher_Interrupt(void* ptr) +{ + static_cast(ptr)->interrupt(); +} + +char QAbstractEventDispatcher_ProcessEvents(void* ptr, long long flags) +{ + return static_cast(ptr)->processEvents(static_cast(flags)); +} + +char QAbstractEventDispatcher_RegisterEventNotifier(void* ptr, void* notifier) +{ +#ifdef Q_OS_WIN + return static_cast(ptr)->registerEventNotifier(static_cast(notifier)); +#else + return false; +#endif +} + +void QAbstractEventDispatcher_RegisterSocketNotifier(void* ptr, void* notifier) +{ + static_cast(ptr)->registerSocketNotifier(static_cast(notifier)); +} + +int QAbstractEventDispatcher_RegisterTimer3(void* ptr, int interval, long long timerType, void* object) +{ + return static_cast(ptr)->registerTimer(interval, static_cast(timerType), static_cast(object)); +} + +void QAbstractEventDispatcher_RegisterTimer4(void* ptr, int timerId, int interval, long long timerType, void* object) +{ + static_cast(ptr)->registerTimer(timerId, interval, static_cast(timerType), static_cast(object)); +} + +int QAbstractEventDispatcher_RemainingTime(void* ptr, int timerId) +{ + return static_cast(ptr)->remainingTime(timerId); +} + +void QAbstractEventDispatcher_RemoveNativeEventFilter(void* ptr, void* filter) +{ + static_cast(ptr)->removeNativeEventFilter(static_cast(filter)); +} + +void QAbstractEventDispatcher_UnregisterEventNotifier(void* ptr, void* notifier) +{ +#ifdef Q_OS_WIN + static_cast(ptr)->unregisterEventNotifier(static_cast(notifier)); +#endif +} + +void QAbstractEventDispatcher_UnregisterSocketNotifier(void* ptr, void* notifier) +{ + static_cast(ptr)->unregisterSocketNotifier(static_cast(notifier)); +} + +char QAbstractEventDispatcher_UnregisterTimer(void* ptr, int timerId) +{ + return static_cast(ptr)->unregisterTimer(timerId); +} + +char QAbstractEventDispatcher_UnregisterTimers(void* ptr, void* object) +{ + return static_cast(ptr)->unregisterTimers(static_cast(object)); +} + +void QAbstractEventDispatcher_WakeUp(void* ptr) +{ + static_cast(ptr)->wakeUp(); +} + +void QAbstractEventDispatcher_DestroyQAbstractEventDispatcher(void* ptr) +{ + static_cast(ptr)->~QAbstractEventDispatcher(); +} + +void QAbstractEventDispatcher_DestroyQAbstractEventDispatcherDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQAbstractItemModel: public QAbstractItemModel +{ +public: + MyQAbstractItemModel(QObject *parent = Q_NULLPTR) : QAbstractItemModel(parent) {QAbstractItemModel_QAbstractItemModel_QRegisterMetaType();}; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQAbstractItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQAbstractItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + int columnCount(const QModelIndex & parent) const { return callbackQAbstractItemModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQAbstractItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQAbstractItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + QVariant data(const QModelIndex & index, int role) const { return *static_cast(callbackQAbstractItemModel_Data(const_cast(static_cast(this)), const_cast(&index), role)); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQAbstractItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQAbstractItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + void fetchMore(const QModelIndex & parent) { callbackQAbstractItemModel_FetchMore(this, const_cast(&parent)); }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQAbstractItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQAbstractItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQAbstractItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQAbstractItemModel_HeaderDataChanged(this, orientation, first, last); }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQAbstractItemModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + QMap itemData(const QModelIndex & index) const { return ({ QMap* tmpP = static_cast*>(callbackQAbstractItemModel_ItemData(const_cast(static_cast(this)), const_cast(&index))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQAbstractItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQAbstractItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtCore_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtCore_PackedString tempVal = callbackQAbstractItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + void Signal_ModelAboutToBeReset() { callbackQAbstractItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQAbstractItemModel_ModelReset(this); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveColumns(this, const_cast(&sourceParent), sourceColumn, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + QModelIndex parent(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Parent(const_cast(static_cast(this)), const_cast(&index))); }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + void resetInternalData() { callbackQAbstractItemModel_ResetInternalData(this); }; + void revert() { callbackQAbstractItemModel_Revert(this); }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQAbstractItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + int rowCount(const QModelIndex & parent) const { return callbackQAbstractItemModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQAbstractItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQAbstractItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQAbstractItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQAbstractItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQAbstractItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + bool setItemData(const QModelIndex & index, const QMap & roles) { return callbackQAbstractItemModel_SetItemData(this, const_cast(&index), ({ QMap* tmpValue037c88 = new QMap(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + QModelIndex sibling(int row, int column, const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&index))); }; + void sort(int column, Qt::SortOrder order) { callbackQAbstractItemModel_Sort(this, column, order); }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + bool submit() { return callbackQAbstractItemModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQAbstractItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQAbstractItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + ~MyQAbstractItemModel() { callbackQAbstractItemModel_DestroyQAbstractItemModel(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractItemModel*) + +int QAbstractItemModel_QAbstractItemModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAbstractItemModel_NewQAbstractItemModel(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractItemModel(static_cast(parent)); + } else { + return new MyQAbstractItemModel(static_cast(parent)); + } +} + +void QAbstractItemModel_BeginInsertColumns(void* ptr, void* parent, int first, int last) +{ + static_cast(ptr)->beginInsertColumns(*static_cast(parent), first, last); +} + +void QAbstractItemModel_BeginInsertRows(void* ptr, void* parent, int first, int last) +{ + static_cast(ptr)->beginInsertRows(*static_cast(parent), first, last); +} + +char QAbstractItemModel_BeginMoveColumns(void* ptr, void* sourceParent, int sourceFirst, int sourceLast, void* destinationParent, int destinationChild) +{ + return static_cast(ptr)->beginMoveColumns(*static_cast(sourceParent), sourceFirst, sourceLast, *static_cast(destinationParent), destinationChild); +} + +char QAbstractItemModel_BeginMoveRows(void* ptr, void* sourceParent, int sourceFirst, int sourceLast, void* destinationParent, int destinationChild) +{ + return static_cast(ptr)->beginMoveRows(*static_cast(sourceParent), sourceFirst, sourceLast, *static_cast(destinationParent), destinationChild); +} + +void QAbstractItemModel_BeginRemoveColumns(void* ptr, void* parent, int first, int last) +{ + static_cast(ptr)->beginRemoveColumns(*static_cast(parent), first, last); +} + +void QAbstractItemModel_BeginRemoveRows(void* ptr, void* parent, int first, int last) +{ + static_cast(ptr)->beginRemoveRows(*static_cast(parent), first, last); +} + +void QAbstractItemModel_BeginResetModel(void* ptr) +{ + static_cast(ptr)->beginResetModel(); +} + +void* QAbstractItemModel_Buddy(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->buddy(*static_cast(index))); +} + +void* QAbstractItemModel_BuddyDefault(void* ptr, void* index) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QConcatenateTablesProxyModel::buddy(*static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QTransposeProxyModel::buddy(*static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QSortFilterProxyModel::buddy(*static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QIdentityProxyModel::buddy(*static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QAbstractProxyModel::buddy(*static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QStringListModel::buddy(*static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QAbstractListModel::buddy(*static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QAbstractTableModel::buddy(*static_cast(index))); + } else { + return new QModelIndex(static_cast(ptr)->QAbstractItemModel::buddy(*static_cast(index))); + } +} + +char QAbstractItemModel_CanDropMimeData(void* ptr, void* data, long long action, int row, int column, void* parent) +{ + return static_cast(ptr)->canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); +} + +char QAbstractItemModel_CanDropMimeDataDefault(void* ptr, void* data, long long action, int row, int column, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else { + return static_cast(ptr)->QAbstractItemModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } +} + +char QAbstractItemModel_CanFetchMore(void* ptr, void* parent) +{ + return static_cast(ptr)->canFetchMore(*static_cast(parent)); +} + +char QAbstractItemModel_CanFetchMoreDefault(void* ptr, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::canFetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::canFetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::canFetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::canFetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::canFetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::canFetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::canFetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::canFetchMore(*static_cast(parent)); + } else { + return static_cast(ptr)->QAbstractItemModel::canFetchMore(*static_cast(parent)); + } +} + +void QAbstractItemModel_ChangePersistentIndex(void* ptr, void* from, void* to) +{ + static_cast(ptr)->changePersistentIndex(*static_cast(from), *static_cast(to)); +} + +void QAbstractItemModel_ChangePersistentIndexList(void* ptr, void* from, void* to) +{ + static_cast(ptr)->changePersistentIndexList(({ QList* tmpP = static_cast*>(from); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }), ({ QList* tmpP = static_cast*>(to); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); +} + +char QAbstractItemModel_CheckIndex(void* ptr, void* index, long long options) +{ + return static_cast(ptr)->checkIndex(*static_cast(index), static_cast(options)); +} + +int QAbstractItemModel_ColumnCount(void* ptr, void* parent) +{ + return static_cast(ptr)->columnCount(*static_cast(parent)); +} + +void QAbstractItemModel_ConnectColumnsAboutToBeInserted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::columnsAboutToBeInserted, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsAboutToBeInserted), static_cast(t)); +} + +void QAbstractItemModel_DisconnectColumnsAboutToBeInserted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::columnsAboutToBeInserted, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsAboutToBeInserted)); +} + +void QAbstractItemModel_ConnectColumnsAboutToBeMoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::columnsAboutToBeMoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsAboutToBeMoved), static_cast(t)); +} + +void QAbstractItemModel_DisconnectColumnsAboutToBeMoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::columnsAboutToBeMoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsAboutToBeMoved)); +} + +void QAbstractItemModel_ConnectColumnsAboutToBeRemoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::columnsAboutToBeRemoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsAboutToBeRemoved), static_cast(t)); +} + +void QAbstractItemModel_DisconnectColumnsAboutToBeRemoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::columnsAboutToBeRemoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsAboutToBeRemoved)); +} + +void QAbstractItemModel_ConnectColumnsInserted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::columnsInserted, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsInserted), static_cast(t)); +} + +void QAbstractItemModel_DisconnectColumnsInserted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::columnsInserted, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsInserted)); +} + +void QAbstractItemModel_ConnectColumnsMoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::columnsMoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsMoved), static_cast(t)); +} + +void QAbstractItemModel_DisconnectColumnsMoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::columnsMoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsMoved)); +} + +void QAbstractItemModel_ConnectColumnsRemoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::columnsRemoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsRemoved), static_cast(t)); +} + +void QAbstractItemModel_DisconnectColumnsRemoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::columnsRemoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ColumnsRemoved)); +} + +void* QAbstractItemModel_CreateIndex(void* ptr, int row, int column, void* p) +{ + return new QModelIndex(static_cast(ptr)->createIndex(row, column, p)); +} + +void* QAbstractItemModel_CreateIndex2(void* ptr, int row, int column, uintptr_t id) +{ + return new QModelIndex(static_cast(ptr)->createIndex(row, column, id)); +} + +void* QAbstractItemModel_Data(void* ptr, void* index, int role) +{ + return new QVariant(static_cast(ptr)->data(*static_cast(index), role)); +} + +void QAbstractItemModel_ConnectDataChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast &)>(&QAbstractItemModel::dataChanged), static_cast(ptr), static_cast &)>(&MyQAbstractItemModel::Signal_DataChanged), static_cast(t)); +} + +void QAbstractItemModel_DisconnectDataChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast &)>(&QAbstractItemModel::dataChanged), static_cast(ptr), static_cast &)>(&MyQAbstractItemModel::Signal_DataChanged)); +} + +void QAbstractItemModel_DataChanged(void* ptr, void* topLeft, void* bottomRight, void* roles) +{ + static_cast(ptr)->dataChanged(*static_cast(topLeft), *static_cast(bottomRight), *static_cast*>(roles)); +} + +char QAbstractItemModel_DropMimeData(void* ptr, void* data, long long action, int row, int column, void* parent) +{ + return static_cast(ptr)->dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); +} + +char QAbstractItemModel_DropMimeDataDefault(void* ptr, void* data, long long action, int row, int column, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } else { + return static_cast(ptr)->QAbstractItemModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); + } +} + +void QAbstractItemModel_EndInsertColumns(void* ptr) +{ + static_cast(ptr)->endInsertColumns(); +} + +void QAbstractItemModel_EndInsertRows(void* ptr) +{ + static_cast(ptr)->endInsertRows(); +} + +void QAbstractItemModel_EndMoveColumns(void* ptr) +{ + static_cast(ptr)->endMoveColumns(); +} + +void QAbstractItemModel_EndMoveRows(void* ptr) +{ + static_cast(ptr)->endMoveRows(); +} + +void QAbstractItemModel_EndRemoveColumns(void* ptr) +{ + static_cast(ptr)->endRemoveColumns(); +} + +void QAbstractItemModel_EndRemoveRows(void* ptr) +{ + static_cast(ptr)->endRemoveRows(); +} + +void QAbstractItemModel_EndResetModel(void* ptr) +{ + static_cast(ptr)->endResetModel(); +} + +void QAbstractItemModel_FetchMore(void* ptr, void* parent) +{ + static_cast(ptr)->fetchMore(*static_cast(parent)); +} + +void QAbstractItemModel_FetchMoreDefault(void* ptr, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::fetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::fetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::fetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::fetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::fetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::fetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::fetchMore(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::fetchMore(*static_cast(parent)); + } else { + static_cast(ptr)->QAbstractItemModel::fetchMore(*static_cast(parent)); + } +} + +long long QAbstractItemModel_Flags(void* ptr, void* index) +{ + return static_cast(ptr)->flags(*static_cast(index)); +} + +long long QAbstractItemModel_FlagsDefault(void* ptr, void* index) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::flags(*static_cast(index)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::flags(*static_cast(index)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::flags(*static_cast(index)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::flags(*static_cast(index)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::flags(*static_cast(index)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::flags(*static_cast(index)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::flags(*static_cast(index)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::flags(*static_cast(index)); + } else { + return static_cast(ptr)->QAbstractItemModel::flags(*static_cast(index)); + } +} + +char QAbstractItemModel_HasChildren(void* ptr, void* parent) +{ + return static_cast(ptr)->hasChildren(*static_cast(parent)); +} + +char QAbstractItemModel_HasChildrenDefault(void* ptr, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::hasChildren(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::hasChildren(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::hasChildren(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::hasChildren(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::hasChildren(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::hasChildren(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::hasChildren(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::hasChildren(*static_cast(parent)); + } else { + return static_cast(ptr)->QAbstractItemModel::hasChildren(*static_cast(parent)); + } +} + +char QAbstractItemModel_HasIndex(void* ptr, int row, int column, void* parent) +{ + return static_cast(ptr)->hasIndex(row, column, *static_cast(parent)); +} + +void* QAbstractItemModel_HeaderData(void* ptr, int section, long long orientation, int role) +{ + return new QVariant(static_cast(ptr)->headerData(section, static_cast(orientation), role)); +} + +void* QAbstractItemModel_HeaderDataDefault(void* ptr, int section, long long orientation, int role) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QConcatenateTablesProxyModel::headerData(section, static_cast(orientation), role)); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QTransposeProxyModel::headerData(section, static_cast(orientation), role)); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QSortFilterProxyModel::headerData(section, static_cast(orientation), role)); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QIdentityProxyModel::headerData(section, static_cast(orientation), role)); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QAbstractProxyModel::headerData(section, static_cast(orientation), role)); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QStringListModel::headerData(section, static_cast(orientation), role)); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QAbstractListModel::headerData(section, static_cast(orientation), role)); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QAbstractTableModel::headerData(section, static_cast(orientation), role)); + } else { + return new QVariant(static_cast(ptr)->QAbstractItemModel::headerData(section, static_cast(orientation), role)); + } +} + +void QAbstractItemModel_ConnectHeaderDataChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QAbstractItemModel::headerDataChanged), static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_HeaderDataChanged), static_cast(t)); +} + +void QAbstractItemModel_DisconnectHeaderDataChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractItemModel::headerDataChanged), static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_HeaderDataChanged)); +} + +void QAbstractItemModel_HeaderDataChanged(void* ptr, long long orientation, int first, int last) +{ + static_cast(ptr)->headerDataChanged(static_cast(orientation), first, last); +} + +void* QAbstractItemModel_Index(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->index(row, column, *static_cast(parent))); +} + +char QAbstractItemModel_InsertColumn(void* ptr, int column, void* parent) +{ + return static_cast(ptr)->insertColumn(column, *static_cast(parent)); +} + +char QAbstractItemModel_InsertColumns(void* ptr, int column, int count, void* parent) +{ + return static_cast(ptr)->insertColumns(column, count, *static_cast(parent)); +} + +char QAbstractItemModel_InsertColumnsDefault(void* ptr, int column, int count, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::insertColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::insertColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::insertColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::insertColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::insertColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::insertColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::insertColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::insertColumns(column, count, *static_cast(parent)); + } else { + return static_cast(ptr)->QAbstractItemModel::insertColumns(column, count, *static_cast(parent)); + } +} + +char QAbstractItemModel_InsertRow(void* ptr, int row, void* parent) +{ + return static_cast(ptr)->insertRow(row, *static_cast(parent)); +} + +char QAbstractItemModel_InsertRows(void* ptr, int row, int count, void* parent) +{ + return static_cast(ptr)->insertRows(row, count, *static_cast(parent)); +} + +char QAbstractItemModel_InsertRowsDefault(void* ptr, int row, int count, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::insertRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::insertRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::insertRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::insertRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::insertRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::insertRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::insertRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::insertRows(row, count, *static_cast(parent)); + } else { + return static_cast(ptr)->QAbstractItemModel::insertRows(row, count, *static_cast(parent)); + } +} + +struct QtCore_PackedList QAbstractItemModel_ItemData(void* ptr, void* index) +{ + return ({ QMap* tmpValue2d9f39 = new QMap(static_cast(ptr)->itemData(*static_cast(index))); QtCore_PackedList { tmpValue2d9f39, tmpValue2d9f39->size() }; }); +} + +struct QtCore_PackedList QAbstractItemModel_ItemDataDefault(void* ptr, void* index) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QMap* tmpValue46a96f = new QMap(static_cast(ptr)->QConcatenateTablesProxyModel::itemData(*static_cast(index))); QtCore_PackedList { tmpValue46a96f, tmpValue46a96f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QMap* tmpValue46a96f = new QMap(static_cast(ptr)->QTransposeProxyModel::itemData(*static_cast(index))); QtCore_PackedList { tmpValue46a96f, tmpValue46a96f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QMap* tmpValue46a96f = new QMap(static_cast(ptr)->QSortFilterProxyModel::itemData(*static_cast(index))); QtCore_PackedList { tmpValue46a96f, tmpValue46a96f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QMap* tmpValue46a96f = new QMap(static_cast(ptr)->QIdentityProxyModel::itemData(*static_cast(index))); QtCore_PackedList { tmpValue46a96f, tmpValue46a96f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QMap* tmpValue46a96f = new QMap(static_cast(ptr)->QAbstractProxyModel::itemData(*static_cast(index))); QtCore_PackedList { tmpValue46a96f, tmpValue46a96f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QMap* tmpValue46a96f = new QMap(static_cast(ptr)->QStringListModel::itemData(*static_cast(index))); QtCore_PackedList { tmpValue46a96f, tmpValue46a96f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QMap* tmpValue46a96f = new QMap(static_cast(ptr)->QAbstractListModel::itemData(*static_cast(index))); QtCore_PackedList { tmpValue46a96f, tmpValue46a96f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QMap* tmpValue46a96f = new QMap(static_cast(ptr)->QAbstractTableModel::itemData(*static_cast(index))); QtCore_PackedList { tmpValue46a96f, tmpValue46a96f->size() }; }); + } else { + return ({ QMap* tmpValue46a96f = new QMap(static_cast(ptr)->QAbstractItemModel::itemData(*static_cast(index))); QtCore_PackedList { tmpValue46a96f, tmpValue46a96f->size() }; }); + } +} + +void QAbstractItemModel_ConnectLayoutAboutToBeChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast &, QAbstractItemModel::LayoutChangeHint)>(&QAbstractItemModel::layoutAboutToBeChanged), static_cast(ptr), static_cast &, QAbstractItemModel::LayoutChangeHint)>(&MyQAbstractItemModel::Signal_LayoutAboutToBeChanged), static_cast(t)); +} + +void QAbstractItemModel_DisconnectLayoutAboutToBeChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast &, QAbstractItemModel::LayoutChangeHint)>(&QAbstractItemModel::layoutAboutToBeChanged), static_cast(ptr), static_cast &, QAbstractItemModel::LayoutChangeHint)>(&MyQAbstractItemModel::Signal_LayoutAboutToBeChanged)); +} + +void QAbstractItemModel_LayoutAboutToBeChanged(void* ptr, void* parents, long long hint) +{ + static_cast(ptr)->layoutAboutToBeChanged(*static_cast*>(parents), static_cast(hint)); +} + +void QAbstractItemModel_ConnectLayoutChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast &, QAbstractItemModel::LayoutChangeHint)>(&QAbstractItemModel::layoutChanged), static_cast(ptr), static_cast &, QAbstractItemModel::LayoutChangeHint)>(&MyQAbstractItemModel::Signal_LayoutChanged), static_cast(t)); +} + +void QAbstractItemModel_DisconnectLayoutChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast &, QAbstractItemModel::LayoutChangeHint)>(&QAbstractItemModel::layoutChanged), static_cast(ptr), static_cast &, QAbstractItemModel::LayoutChangeHint)>(&MyQAbstractItemModel::Signal_LayoutChanged)); +} + +void QAbstractItemModel_LayoutChanged(void* ptr, void* parents, long long hint) +{ + static_cast(ptr)->layoutChanged(*static_cast*>(parents), static_cast(hint)); +} + +struct QtCore_PackedList QAbstractItemModel_Match(void* ptr, void* start, int role, void* value, int hits, long long flags) +{ + return ({ QList* tmpValuef30906 = new QList(static_cast(ptr)->match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValuef30906, tmpValuef30906->size() }; }); +} + +struct QtCore_PackedList QAbstractItemModel_MatchDefault(void* ptr, void* start, int role, void* value, int hits, long long flags) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QList* tmpValue4d7ea4 = new QList(static_cast(ptr)->QConcatenateTablesProxyModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValue4d7ea4, tmpValue4d7ea4->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QList* tmpValue4d7ea4 = new QList(static_cast(ptr)->QTransposeProxyModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValue4d7ea4, tmpValue4d7ea4->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QList* tmpValue4d7ea4 = new QList(static_cast(ptr)->QSortFilterProxyModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValue4d7ea4, tmpValue4d7ea4->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QList* tmpValue4d7ea4 = new QList(static_cast(ptr)->QIdentityProxyModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValue4d7ea4, tmpValue4d7ea4->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QList* tmpValue4d7ea4 = new QList(static_cast(ptr)->QAbstractProxyModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValue4d7ea4, tmpValue4d7ea4->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QList* tmpValue4d7ea4 = new QList(static_cast(ptr)->QStringListModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValue4d7ea4, tmpValue4d7ea4->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QList* tmpValue4d7ea4 = new QList(static_cast(ptr)->QAbstractListModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValue4d7ea4, tmpValue4d7ea4->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QList* tmpValue4d7ea4 = new QList(static_cast(ptr)->QAbstractTableModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValue4d7ea4, tmpValue4d7ea4->size() }; }); + } else { + return ({ QList* tmpValue4d7ea4 = new QList(static_cast(ptr)->QAbstractItemModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtCore_PackedList { tmpValue4d7ea4, tmpValue4d7ea4->size() }; }); + } +} + +void* QAbstractItemModel_MimeData(void* ptr, void* indexes) +{ + return static_cast(ptr)->mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); +} + +void* QAbstractItemModel_MimeDataDefault(void* ptr, void* indexes) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); + } else { + return static_cast(ptr)->QAbstractItemModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); + } +} + +struct QtCore_PackedString QAbstractItemModel_MimeTypes(void* ptr) +{ + return ({ QByteArray ta50262 = static_cast(ptr)->mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(ta50262.prepend("WHITESPACE").constData()+10), ta50262.size()-10 }; }); +} + +struct QtCore_PackedString QAbstractItemModel_MimeTypesDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tf2dad9 = static_cast(ptr)->QConcatenateTablesProxyModel::mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf2dad9.prepend("WHITESPACE").constData()+10), tf2dad9.size()-10 }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tf2dad9 = static_cast(ptr)->QTransposeProxyModel::mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf2dad9.prepend("WHITESPACE").constData()+10), tf2dad9.size()-10 }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tf2dad9 = static_cast(ptr)->QSortFilterProxyModel::mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf2dad9.prepend("WHITESPACE").constData()+10), tf2dad9.size()-10 }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tf2dad9 = static_cast(ptr)->QIdentityProxyModel::mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf2dad9.prepend("WHITESPACE").constData()+10), tf2dad9.size()-10 }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tf2dad9 = static_cast(ptr)->QAbstractProxyModel::mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf2dad9.prepend("WHITESPACE").constData()+10), tf2dad9.size()-10 }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tf2dad9 = static_cast(ptr)->QStringListModel::mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf2dad9.prepend("WHITESPACE").constData()+10), tf2dad9.size()-10 }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tf2dad9 = static_cast(ptr)->QAbstractListModel::mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf2dad9.prepend("WHITESPACE").constData()+10), tf2dad9.size()-10 }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tf2dad9 = static_cast(ptr)->QAbstractTableModel::mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf2dad9.prepend("WHITESPACE").constData()+10), tf2dad9.size()-10 }; }); + } else { + return ({ QByteArray tf2dad9 = static_cast(ptr)->QAbstractItemModel::mimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf2dad9.prepend("WHITESPACE").constData()+10), tf2dad9.size()-10 }; }); + } +} + +void QAbstractItemModel_ConnectModelAboutToBeReset(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::modelAboutToBeReset, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ModelAboutToBeReset), static_cast(t)); +} + +void QAbstractItemModel_DisconnectModelAboutToBeReset(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::modelAboutToBeReset, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ModelAboutToBeReset)); +} + +void QAbstractItemModel_ConnectModelReset(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::modelReset, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ModelReset), static_cast(t)); +} + +void QAbstractItemModel_DisconnectModelReset(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::modelReset, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_ModelReset)); +} + +char QAbstractItemModel_MoveColumn(void* ptr, void* sourceParent, int sourceColumn, void* destinationParent, int destinationChild) +{ + return static_cast(ptr)->moveColumn(*static_cast(sourceParent), sourceColumn, *static_cast(destinationParent), destinationChild); +} + +char QAbstractItemModel_MoveColumns(void* ptr, void* sourceParent, int sourceColumn, int count, void* destinationParent, int destinationChild) +{ + return static_cast(ptr)->moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); +} + +char QAbstractItemModel_MoveColumnsDefault(void* ptr, void* sourceParent, int sourceColumn, int count, void* destinationParent, int destinationChild) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); + } else { + return static_cast(ptr)->QAbstractItemModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); + } +} + +char QAbstractItemModel_MoveRow(void* ptr, void* sourceParent, int sourceRow, void* destinationParent, int destinationChild) +{ + return static_cast(ptr)->moveRow(*static_cast(sourceParent), sourceRow, *static_cast(destinationParent), destinationChild); +} + +char QAbstractItemModel_MoveRows(void* ptr, void* sourceParent, int sourceRow, int count, void* destinationParent, int destinationChild) +{ + return static_cast(ptr)->moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); +} + +char QAbstractItemModel_MoveRowsDefault(void* ptr, void* sourceParent, int sourceRow, int count, void* destinationParent, int destinationChild) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); + } else { + return static_cast(ptr)->QAbstractItemModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); + } +} + +void* QAbstractItemModel_Parent(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->parent(*static_cast(index))); +} + +struct QtCore_PackedList QAbstractItemModel_PersistentIndexList(void* ptr) +{ + return ({ QList* tmpValue86ddbc = new QList(static_cast(ptr)->persistentIndexList()); QtCore_PackedList { tmpValue86ddbc, tmpValue86ddbc->size() }; }); +} + +char QAbstractItemModel_RemoveColumn(void* ptr, int column, void* parent) +{ + return static_cast(ptr)->removeColumn(column, *static_cast(parent)); +} + +char QAbstractItemModel_RemoveColumns(void* ptr, int column, int count, void* parent) +{ + return static_cast(ptr)->removeColumns(column, count, *static_cast(parent)); +} + +char QAbstractItemModel_RemoveColumnsDefault(void* ptr, int column, int count, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::removeColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::removeColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::removeColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::removeColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::removeColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::removeColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::removeColumns(column, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::removeColumns(column, count, *static_cast(parent)); + } else { + return static_cast(ptr)->QAbstractItemModel::removeColumns(column, count, *static_cast(parent)); + } +} + +char QAbstractItemModel_RemoveRow(void* ptr, int row, void* parent) +{ + return static_cast(ptr)->removeRow(row, *static_cast(parent)); +} + +char QAbstractItemModel_RemoveRows(void* ptr, int row, int count, void* parent) +{ + return static_cast(ptr)->removeRows(row, count, *static_cast(parent)); +} + +char QAbstractItemModel_RemoveRowsDefault(void* ptr, int row, int count, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::removeRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::removeRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::removeRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::removeRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::removeRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::removeRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::removeRows(row, count, *static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::removeRows(row, count, *static_cast(parent)); + } else { + return static_cast(ptr)->QAbstractItemModel::removeRows(row, count, *static_cast(parent)); + } +} + +void QAbstractItemModel_ResetInternalData(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "resetInternalData"); +} + +void QAbstractItemModel_ResetInternalDataDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::resetInternalData(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::resetInternalData(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::resetInternalData(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::resetInternalData(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::resetInternalData(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::resetInternalData(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::resetInternalData(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::resetInternalData(); + } else { + static_cast(ptr)->QAbstractItemModel::resetInternalData(); + } +} + +void QAbstractItemModel_Revert(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "revert"); +} + +void QAbstractItemModel_RevertDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::revert(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::revert(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::revert(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::revert(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::revert(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::revert(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::revert(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::revert(); + } else { + static_cast(ptr)->QAbstractItemModel::revert(); + } +} + +struct QtCore_PackedList QAbstractItemModel_RoleNames(void* ptr) +{ + return ({ QHash* tmpValue40dc1d = new QHash(static_cast(ptr)->roleNames()); QtCore_PackedList { tmpValue40dc1d, tmpValue40dc1d->size() }; }); +} + +struct QtCore_PackedList QAbstractItemModel_RoleNamesDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QHash* tmpValue42442f = new QHash(static_cast(ptr)->QConcatenateTablesProxyModel::roleNames()); QtCore_PackedList { tmpValue42442f, tmpValue42442f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QHash* tmpValue42442f = new QHash(static_cast(ptr)->QTransposeProxyModel::roleNames()); QtCore_PackedList { tmpValue42442f, tmpValue42442f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QHash* tmpValue42442f = new QHash(static_cast(ptr)->QSortFilterProxyModel::roleNames()); QtCore_PackedList { tmpValue42442f, tmpValue42442f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QHash* tmpValue42442f = new QHash(static_cast(ptr)->QIdentityProxyModel::roleNames()); QtCore_PackedList { tmpValue42442f, tmpValue42442f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QHash* tmpValue42442f = new QHash(static_cast(ptr)->QAbstractProxyModel::roleNames()); QtCore_PackedList { tmpValue42442f, tmpValue42442f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QHash* tmpValue42442f = new QHash(static_cast(ptr)->QStringListModel::roleNames()); QtCore_PackedList { tmpValue42442f, tmpValue42442f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QHash* tmpValue42442f = new QHash(static_cast(ptr)->QAbstractListModel::roleNames()); QtCore_PackedList { tmpValue42442f, tmpValue42442f->size() }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QHash* tmpValue42442f = new QHash(static_cast(ptr)->QAbstractTableModel::roleNames()); QtCore_PackedList { tmpValue42442f, tmpValue42442f->size() }; }); + } else { + return ({ QHash* tmpValue42442f = new QHash(static_cast(ptr)->QAbstractItemModel::roleNames()); QtCore_PackedList { tmpValue42442f, tmpValue42442f->size() }; }); + } +} + +int QAbstractItemModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +void QAbstractItemModel_ConnectRowsAboutToBeInserted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::rowsAboutToBeInserted, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsAboutToBeInserted), static_cast(t)); +} + +void QAbstractItemModel_DisconnectRowsAboutToBeInserted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::rowsAboutToBeInserted, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsAboutToBeInserted)); +} + +void QAbstractItemModel_ConnectRowsAboutToBeMoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::rowsAboutToBeMoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsAboutToBeMoved), static_cast(t)); +} + +void QAbstractItemModel_DisconnectRowsAboutToBeMoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::rowsAboutToBeMoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsAboutToBeMoved)); +} + +void QAbstractItemModel_ConnectRowsAboutToBeRemoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::rowsAboutToBeRemoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsAboutToBeRemoved), static_cast(t)); +} + +void QAbstractItemModel_DisconnectRowsAboutToBeRemoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::rowsAboutToBeRemoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsAboutToBeRemoved)); +} + +void QAbstractItemModel_ConnectRowsInserted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::rowsInserted, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsInserted), static_cast(t)); +} + +void QAbstractItemModel_DisconnectRowsInserted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::rowsInserted, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsInserted)); +} + +void QAbstractItemModel_ConnectRowsMoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::rowsMoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsMoved), static_cast(t)); +} + +void QAbstractItemModel_DisconnectRowsMoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::rowsMoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsMoved)); +} + +void QAbstractItemModel_ConnectRowsRemoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractItemModel::rowsRemoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsRemoved), static_cast(t)); +} + +void QAbstractItemModel_DisconnectRowsRemoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractItemModel::rowsRemoved, static_cast(ptr), static_cast(&MyQAbstractItemModel::Signal_RowsRemoved)); +} + +char QAbstractItemModel_SetData(void* ptr, void* index, void* value, int role) +{ + return static_cast(ptr)->setData(*static_cast(index), *static_cast(value), role); +} + +char QAbstractItemModel_SetDataDefault(void* ptr, void* index, void* value, int role) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::setData(*static_cast(index), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::setData(*static_cast(index), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::setData(*static_cast(index), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::setData(*static_cast(index), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::setData(*static_cast(index), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::setData(*static_cast(index), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::setData(*static_cast(index), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::setData(*static_cast(index), *static_cast(value), role); + } else { + return static_cast(ptr)->QAbstractItemModel::setData(*static_cast(index), *static_cast(value), role); + } +} + +char QAbstractItemModel_SetHeaderData(void* ptr, int section, long long orientation, void* value, int role) +{ + return static_cast(ptr)->setHeaderData(section, static_cast(orientation), *static_cast(value), role); +} + +char QAbstractItemModel_SetHeaderDataDefault(void* ptr, int section, long long orientation, void* value, int role) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); + } else { + return static_cast(ptr)->QAbstractItemModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); + } +} + +char QAbstractItemModel_SetItemData(void* ptr, void* index, void* roles) +{ + return static_cast(ptr)->setItemData(*static_cast(index), *static_cast*>(roles)); +} + +char QAbstractItemModel_SetItemDataDefault(void* ptr, void* index, void* roles) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::setItemData(*static_cast(index), *static_cast*>(roles)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::setItemData(*static_cast(index), *static_cast*>(roles)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::setItemData(*static_cast(index), *static_cast*>(roles)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::setItemData(*static_cast(index), *static_cast*>(roles)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::setItemData(*static_cast(index), *static_cast*>(roles)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::setItemData(*static_cast(index), *static_cast*>(roles)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::setItemData(*static_cast(index), *static_cast*>(roles)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::setItemData(*static_cast(index), *static_cast*>(roles)); + } else { + return static_cast(ptr)->QAbstractItemModel::setItemData(*static_cast(index), *static_cast*>(roles)); + } +} + +void* QAbstractItemModel_Sibling(void* ptr, int row, int column, void* index) +{ + return new QModelIndex(static_cast(ptr)->sibling(row, column, *static_cast(index))); +} + +void* QAbstractItemModel_SiblingDefault(void* ptr, int row, int column, void* index) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QConcatenateTablesProxyModel::sibling(row, column, *static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QTransposeProxyModel::sibling(row, column, *static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QSortFilterProxyModel::sibling(row, column, *static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QIdentityProxyModel::sibling(row, column, *static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QAbstractProxyModel::sibling(row, column, *static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QStringListModel::sibling(row, column, *static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QAbstractListModel::sibling(row, column, *static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QAbstractTableModel::sibling(row, column, *static_cast(index))); + } else { + return new QModelIndex(static_cast(ptr)->QAbstractItemModel::sibling(row, column, *static_cast(index))); + } +} + +void QAbstractItemModel_Sort(void* ptr, int column, long long order) +{ + static_cast(ptr)->sort(column, static_cast(order)); +} + +void QAbstractItemModel_SortDefault(void* ptr, int column, long long order) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::sort(column, static_cast(order)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::sort(column, static_cast(order)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::sort(column, static_cast(order)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::sort(column, static_cast(order)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::sort(column, static_cast(order)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::sort(column, static_cast(order)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::sort(column, static_cast(order)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::sort(column, static_cast(order)); + } else { + static_cast(ptr)->QAbstractItemModel::sort(column, static_cast(order)); + } +} + +void* QAbstractItemModel_Span(void* ptr, void* index) +{ + return ({ QSize tmpValue = static_cast(ptr)->span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QAbstractItemModel_SpanDefault(void* ptr, void* index) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QConcatenateTablesProxyModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QTransposeProxyModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QSortFilterProxyModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QIdentityProxyModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QAbstractProxyModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QStringListModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QAbstractListModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QAbstractTableModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSize tmpValue = static_cast(ptr)->QAbstractItemModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); + } +} + +char QAbstractItemModel_Submit(void* ptr) +{ + bool returnArg; + QMetaObject::invokeMethod(static_cast(ptr), "submit", Q_RETURN_ARG(bool, returnArg)); + return returnArg; +} + +char QAbstractItemModel_SubmitDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::submit(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::submit(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::submit(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::submit(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::submit(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::submit(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::submit(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::submit(); + } else { + return static_cast(ptr)->QAbstractItemModel::submit(); + } +} + +long long QAbstractItemModel_SupportedDragActions(void* ptr) +{ + return static_cast(ptr)->supportedDragActions(); +} + +long long QAbstractItemModel_SupportedDragActionsDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::supportedDragActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::supportedDragActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::supportedDragActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::supportedDragActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::supportedDragActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::supportedDragActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::supportedDragActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::supportedDragActions(); + } else { + return static_cast(ptr)->QAbstractItemModel::supportedDragActions(); + } +} + +long long QAbstractItemModel_SupportedDropActions(void* ptr) +{ + return static_cast(ptr)->supportedDropActions(); +} + +long long QAbstractItemModel_SupportedDropActionsDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::supportedDropActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::supportedDropActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::supportedDropActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::supportedDropActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::supportedDropActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::supportedDropActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::supportedDropActions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::supportedDropActions(); + } else { + return static_cast(ptr)->QAbstractItemModel::supportedDropActions(); + } +} + +void QAbstractItemModel_DestroyQAbstractItemModel(void* ptr) +{ + static_cast(ptr)->~QAbstractItemModel(); +} + +void QAbstractItemModel_DestroyQAbstractItemModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QAbstractItemModel___changePersistentIndexList_from_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___changePersistentIndexList_from_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractItemModel___changePersistentIndexList_from_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractItemModel___changePersistentIndexList_to_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___changePersistentIndexList_to_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractItemModel___changePersistentIndexList_to_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QAbstractItemModel___dataChanged_roles_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QAbstractItemModel___dataChanged_roles_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QAbstractItemModel___dataChanged_roles_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QAbstractItemModel___doSetRoleNames_roleNames_atList(void* ptr, int v, int i) +{ + return new QByteArray(({ QByteArray tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___doSetRoleNames_roleNames_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QAbstractItemModel___doSetRoleNames_roleNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtCore_PackedList QAbstractItemModel___doSetRoleNames_roleNames_keyList(void* ptr) +{ + return ({ QList* tmpValue7fc3bb = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValue7fc3bb, tmpValue7fc3bb->size() }; }); +} + +void* QAbstractItemModel___encodeData_indexes_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___encodeData_indexes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractItemModel___encodeData_indexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractItemModel___itemData_atList(void* ptr, int v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___itemData_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QAbstractItemModel___itemData_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtCore_PackedList QAbstractItemModel___itemData_keyList(void* ptr) +{ + return ({ QList* tmpValue249128 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValue249128, tmpValue249128->size() }; }); +} + +void* QAbstractItemModel___layoutAboutToBeChanged_parents_atList(void* ptr, int i) +{ + return new QPersistentModelIndex(({QPersistentModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___layoutAboutToBeChanged_parents_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractItemModel___layoutAboutToBeChanged_parents_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractItemModel___layoutChanged_parents_atList(void* ptr, int i) +{ + return new QPersistentModelIndex(({QPersistentModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___layoutChanged_parents_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractItemModel___layoutChanged_parents_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractItemModel___match_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___match_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractItemModel___match_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractItemModel___mimeData_indexes_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___mimeData_indexes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractItemModel___mimeData_indexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractItemModel___persistentIndexList_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___persistentIndexList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractItemModel___persistentIndexList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractItemModel___roleNames_atList(void* ptr, int v, int i) +{ + return new QByteArray(({ QByteArray tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___roleNames_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QAbstractItemModel___roleNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtCore_PackedList QAbstractItemModel___roleNames_keyList(void* ptr) +{ + return ({ QList* tmpValue7fc3bb = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValue7fc3bb, tmpValue7fc3bb->size() }; }); +} + +void* QAbstractItemModel___setItemData_roles_atList(void* ptr, int v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___setItemData_roles_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QAbstractItemModel___setItemData_roles_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtCore_PackedList QAbstractItemModel___setItemData_roles_keyList(void* ptr) +{ + return ({ QList* tmpValue249128 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValue249128, tmpValue249128->size() }; }); +} + +void* QAbstractItemModel___setRoleNames_roleNames_atList(void* ptr, int v, int i) +{ + return new QByteArray(({ QByteArray tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QAbstractItemModel___setRoleNames_roleNames_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QAbstractItemModel___setRoleNames_roleNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtCore_PackedList QAbstractItemModel___setRoleNames_roleNames_keyList(void* ptr) +{ + return ({ QList* tmpValue7fc3bb = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValue7fc3bb, tmpValue7fc3bb->size() }; }); +} + +int QAbstractItemModel_____doSetRoleNames_roleNames_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractItemModel_____doSetRoleNames_roleNames_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QAbstractItemModel_____doSetRoleNames_roleNames_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QAbstractItemModel_____itemData_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractItemModel_____itemData_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QAbstractItemModel_____itemData_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QAbstractItemModel_____roleNames_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractItemModel_____roleNames_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QAbstractItemModel_____roleNames_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QAbstractItemModel_____setItemData_roles_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractItemModel_____setItemData_roles_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QAbstractItemModel_____setItemData_roles_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QAbstractItemModel_____setRoleNames_roleNames_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractItemModel_____setRoleNames_roleNames_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QAbstractItemModel_____setRoleNames_roleNames_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQAbstractListModel: public QAbstractListModel +{ +public: + MyQAbstractListModel(QObject *parent = Q_NULLPTR) : QAbstractListModel(parent) {QAbstractListModel_QAbstractListModel_QRegisterMetaType();}; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQAbstractItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQAbstractItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQAbstractListModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + QModelIndex sibling(int row, int column, const QModelIndex & idx) const { return *static_cast(callbackQAbstractItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&idx))); }; + ~MyQAbstractListModel() { callbackQAbstractListModel_DestroyQAbstractListModel(this); }; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQAbstractItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQAbstractItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + int columnCount(const QModelIndex & parent) const { return callbackQAbstractListModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQAbstractItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQAbstractItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + QVariant data(const QModelIndex & index, int role) const { return *static_cast(callbackQAbstractListModel_Data(const_cast(static_cast(this)), const_cast(&index), role)); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQAbstractItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + void fetchMore(const QModelIndex & parent) { callbackQAbstractItemModel_FetchMore(this, const_cast(&parent)); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQAbstractItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQAbstractItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQAbstractItemModel_HeaderDataChanged(this, orientation, first, last); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + QMap itemData(const QModelIndex & index) const { return ({ QMap* tmpP = static_cast*>(callbackQAbstractItemModel_ItemData(const_cast(static_cast(this)), const_cast(&index))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQAbstractItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQAbstractItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtCore_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtCore_PackedString tempVal = callbackQAbstractItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + void Signal_ModelAboutToBeReset() { callbackQAbstractItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQAbstractItemModel_ModelReset(this); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveColumns(this, const_cast(&sourceParent), sourceColumn, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + QModelIndex parent(const QModelIndex & index) const { return *static_cast(callbackQAbstractListModel_Parent(const_cast(static_cast(this)), const_cast(&index))); }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + void resetInternalData() { callbackQAbstractItemModel_ResetInternalData(this); }; + void revert() { callbackQAbstractItemModel_Revert(this); }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQAbstractItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + int rowCount(const QModelIndex & parent) const { return callbackQAbstractListModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQAbstractItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQAbstractItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQAbstractItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQAbstractItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQAbstractItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + bool setItemData(const QModelIndex & index, const QMap & roles) { return callbackQAbstractItemModel_SetItemData(this, const_cast(&index), ({ QMap* tmpValue037c88 = new QMap(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + void sort(int column, Qt::SortOrder order) { callbackQAbstractItemModel_Sort(this, column, order); }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + bool submit() { return callbackQAbstractItemModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQAbstractItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQAbstractItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractListModel*) + +int QAbstractListModel_QAbstractListModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAbstractListModel_NewQAbstractListModel(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractListModel(static_cast(parent)); + } else { + return new MyQAbstractListModel(static_cast(parent)); + } +} + +void* QAbstractListModel_Index(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->index(row, column, *static_cast(parent))); +} + +void* QAbstractListModel_IndexDefault(void* ptr, int row, int column, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QStringListModel::index(row, column, *static_cast(parent))); + } else { + return new QModelIndex(static_cast(ptr)->QAbstractListModel::index(row, column, *static_cast(parent))); + } +} + +void QAbstractListModel_DestroyQAbstractListModel(void* ptr) +{ + static_cast(ptr)->~QAbstractListModel(); +} + +void QAbstractListModel_DestroyQAbstractListModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +int QAbstractListModel_ColumnCount(void* ptr, void* parent) +{ + return static_cast(ptr)->columnCount(*static_cast(parent)); +} + +int QAbstractListModel_ColumnCountDefault(void* ptr, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::columnCount(*static_cast(parent)); + } else { + return static_cast(ptr)->QAbstractListModel::columnCount(*static_cast(parent)); + } +} + +void* QAbstractListModel_Data(void* ptr, void* index, int role) +{ + return new QVariant(static_cast(ptr)->data(*static_cast(index), role)); +} + +void* QAbstractListModel_DataDefault(void* ptr, void* index, int role) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QStringListModel::data(*static_cast(index), role)); + } else { + + } +} + +void* QAbstractListModel_Parent(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->parent(*static_cast(index))); +} + +void* QAbstractListModel_ParentDefault(void* ptr, void* index) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QStringListModel::parent(*static_cast(index))); + } else { + return new QModelIndex(static_cast(ptr)->QAbstractListModel::parent(*static_cast(index))); + } +} + +int QAbstractListModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +int QAbstractListModel_RowCountDefault(void* ptr, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::rowCount(*static_cast(parent)); + } else { + + } +} + +class MyQAbstractNativeEventFilter: public QAbstractNativeEventFilter +{ +public: + MyQAbstractNativeEventFilter() : QAbstractNativeEventFilter() {}; + bool nativeEventFilter(const QByteArray & eventType, void * message, long * result) { return callbackQAbstractNativeEventFilter_NativeEventFilter(this, const_cast(&eventType), message, result) != 0; }; + ~MyQAbstractNativeEventFilter() { callbackQAbstractNativeEventFilter_DestroyQAbstractNativeEventFilter(this); }; +}; + +void* QAbstractNativeEventFilter_NewQAbstractNativeEventFilter() +{ + return new MyQAbstractNativeEventFilter(); +} + +char QAbstractNativeEventFilter_NativeEventFilter(void* ptr, void* eventType, void* message, long* result) +{ + return static_cast(ptr)->nativeEventFilter(*static_cast(eventType), message, result); +} + +void QAbstractNativeEventFilter_DestroyQAbstractNativeEventFilter(void* ptr) +{ + static_cast(ptr)->~QAbstractNativeEventFilter(); +} + +void QAbstractNativeEventFilter_DestroyQAbstractNativeEventFilterDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQAbstractProxyModel: public QAbstractProxyModel +{ +public: + MyQAbstractProxyModel(QObject *parent = Q_NULLPTR) : QAbstractProxyModel(parent) {QAbstractProxyModel_QAbstractProxyModel_QRegisterMetaType();}; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQAbstractItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQAbstractItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant data(const QModelIndex & proxyIndex, int role) const { return *static_cast(callbackQAbstractProxyModel_Data(const_cast(static_cast(this)), const_cast(&proxyIndex), role)); }; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQAbstractItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + void fetchMore(const QModelIndex & parent) { callbackQAbstractItemModel_FetchMore(this, const_cast(&parent)); }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQAbstractItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQAbstractItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQAbstractItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + QMap itemData(const QModelIndex & proxyIndex) const { return ({ QMap* tmpP = static_cast*>(callbackQAbstractItemModel_ItemData(const_cast(static_cast(this)), const_cast(&proxyIndex))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + QModelIndex mapFromSource(const QModelIndex & sourceIndex) const { return *static_cast(callbackQAbstractProxyModel_MapFromSource(const_cast(static_cast(this)), const_cast(&sourceIndex))); }; + QItemSelection mapSelectionFromSource(const QItemSelection & sourceSelection) const { return *static_cast(callbackQAbstractProxyModel_MapSelectionFromSource(const_cast(static_cast(this)), const_cast(&sourceSelection))); }; + QItemSelection mapSelectionToSource(const QItemSelection & proxySelection) const { return *static_cast(callbackQAbstractProxyModel_MapSelectionToSource(const_cast(static_cast(this)), const_cast(&proxySelection))); }; + QModelIndex mapToSource(const QModelIndex & proxyIndex) const { return *static_cast(callbackQAbstractProxyModel_MapToSource(const_cast(static_cast(this)), const_cast(&proxyIndex))); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQAbstractItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtCore_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtCore_PackedString tempVal = callbackQAbstractItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + void resetInternalData() { callbackQAbstractItemModel_ResetInternalData(this); }; + void revert() { callbackQAbstractProxyModel_Revert(this); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQAbstractItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQAbstractItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + bool setItemData(const QModelIndex & index, const QMap & roles) { return callbackQAbstractItemModel_SetItemData(this, const_cast(&index), ({ QMap* tmpValue037c88 = new QMap(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + void setSourceModel(QAbstractItemModel * sourceModel) { callbackQAbstractProxyModel_SetSourceModel(this, sourceModel); }; + QModelIndex sibling(int row, int column, const QModelIndex & idx) const { return *static_cast(callbackQAbstractItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&idx))); }; + void sort(int column, Qt::SortOrder order) { callbackQAbstractItemModel_Sort(this, column, order); }; + void Signal_SourceModelChanged() { callbackQAbstractProxyModel_SourceModelChanged(this); }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + bool submit() { return callbackQAbstractProxyModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQAbstractItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQAbstractItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + ~MyQAbstractProxyModel() { callbackQAbstractProxyModel_DestroyQAbstractProxyModel(this); }; + int columnCount(const QModelIndex & parent) const { return callbackQAbstractProxyModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQAbstractItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQAbstractItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQAbstractItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQAbstractItemModel_HeaderDataChanged(this, orientation, first, last); }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQAbstractProxyModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQAbstractItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + void Signal_ModelAboutToBeReset() { callbackQAbstractItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQAbstractItemModel_ModelReset(this); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveColumns(this, const_cast(&sourceParent), sourceColumn, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + QModelIndex parent(const QModelIndex & index) const { return *static_cast(callbackQAbstractProxyModel_Parent(const_cast(static_cast(this)), const_cast(&index))); }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQAbstractItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + int rowCount(const QModelIndex & parent) const { return callbackQAbstractProxyModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQAbstractItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQAbstractItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQAbstractItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractProxyModel*) + +int QAbstractProxyModel_QAbstractProxyModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAbstractProxyModel_NewQAbstractProxyModel(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractProxyModel(static_cast(parent)); + } else { + return new MyQAbstractProxyModel(static_cast(parent)); + } +} + +void* QAbstractProxyModel_Data(void* ptr, void* proxyIndex, int role) +{ + return new QVariant(static_cast(ptr)->data(*static_cast(proxyIndex), role)); +} + +void* QAbstractProxyModel_DataDefault(void* ptr, void* proxyIndex, int role) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QTransposeProxyModel::data(*static_cast(proxyIndex), role)); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QSortFilterProxyModel::data(*static_cast(proxyIndex), role)); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QIdentityProxyModel::data(*static_cast(proxyIndex), role)); + } else { + return new QVariant(static_cast(ptr)->QAbstractProxyModel::data(*static_cast(proxyIndex), role)); + } +} + +void* QAbstractProxyModel_MapFromSource(void* ptr, void* sourceIndex) +{ + return new QModelIndex(static_cast(ptr)->mapFromSource(*static_cast(sourceIndex))); +} + +void* QAbstractProxyModel_MapSelectionFromSource(void* ptr, void* sourceSelection) +{ + return new QItemSelection(static_cast(ptr)->mapSelectionFromSource(*static_cast(sourceSelection))); +} + +void* QAbstractProxyModel_MapSelectionFromSourceDefault(void* ptr, void* sourceSelection) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QItemSelection(static_cast(ptr)->QTransposeProxyModel::mapSelectionFromSource(*static_cast(sourceSelection))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QItemSelection(static_cast(ptr)->QSortFilterProxyModel::mapSelectionFromSource(*static_cast(sourceSelection))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QItemSelection(static_cast(ptr)->QIdentityProxyModel::mapSelectionFromSource(*static_cast(sourceSelection))); + } else { + return new QItemSelection(static_cast(ptr)->QAbstractProxyModel::mapSelectionFromSource(*static_cast(sourceSelection))); + } +} + +void* QAbstractProxyModel_MapSelectionToSource(void* ptr, void* proxySelection) +{ + return new QItemSelection(static_cast(ptr)->mapSelectionToSource(*static_cast(proxySelection))); +} + +void* QAbstractProxyModel_MapSelectionToSourceDefault(void* ptr, void* proxySelection) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QItemSelection(static_cast(ptr)->QTransposeProxyModel::mapSelectionToSource(*static_cast(proxySelection))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QItemSelection(static_cast(ptr)->QSortFilterProxyModel::mapSelectionToSource(*static_cast(proxySelection))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QItemSelection(static_cast(ptr)->QIdentityProxyModel::mapSelectionToSource(*static_cast(proxySelection))); + } else { + return new QItemSelection(static_cast(ptr)->QAbstractProxyModel::mapSelectionToSource(*static_cast(proxySelection))); + } +} + +void* QAbstractProxyModel_MapToSource(void* ptr, void* proxyIndex) +{ + return new QModelIndex(static_cast(ptr)->mapToSource(*static_cast(proxyIndex))); +} + +void QAbstractProxyModel_Revert(void* ptr) +{ + static_cast(ptr)->revert(); +} + +void QAbstractProxyModel_RevertDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::revert(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::revert(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::revert(); + } else { + static_cast(ptr)->QAbstractProxyModel::revert(); + } +} + +void QAbstractProxyModel_SetSourceModel(void* ptr, void* sourceModel) +{ + static_cast(ptr)->setSourceModel(static_cast(sourceModel)); +} + +void QAbstractProxyModel_SetSourceModelDefault(void* ptr, void* sourceModel) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::setSourceModel(static_cast(sourceModel)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::setSourceModel(static_cast(sourceModel)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::setSourceModel(static_cast(sourceModel)); + } else { + static_cast(ptr)->QAbstractProxyModel::setSourceModel(static_cast(sourceModel)); + } +} + +void* QAbstractProxyModel_SourceModel(void* ptr) +{ + return static_cast(ptr)->sourceModel(); +} + +void QAbstractProxyModel_ConnectSourceModelChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractProxyModel::sourceModelChanged, static_cast(ptr), static_cast(&MyQAbstractProxyModel::Signal_SourceModelChanged), static_cast(t)); +} + +void QAbstractProxyModel_DisconnectSourceModelChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractProxyModel::sourceModelChanged, static_cast(ptr), static_cast(&MyQAbstractProxyModel::Signal_SourceModelChanged)); +} + +char QAbstractProxyModel_Submit(void* ptr) +{ + return static_cast(ptr)->submit(); +} + +char QAbstractProxyModel_SubmitDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::submit(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::submit(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::submit(); + } else { + return static_cast(ptr)->QAbstractProxyModel::submit(); + } +} + +void QAbstractProxyModel_DestroyQAbstractProxyModel(void* ptr) +{ + static_cast(ptr)->~QAbstractProxyModel(); +} + +void QAbstractProxyModel_DestroyQAbstractProxyModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +int QAbstractProxyModel_ColumnCount(void* ptr, void* parent) +{ + return static_cast(ptr)->columnCount(*static_cast(parent)); +} + +int QAbstractProxyModel_ColumnCountDefault(void* ptr, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::columnCount(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::columnCount(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::columnCount(*static_cast(parent)); + } else { + + } +} + +void* QAbstractProxyModel_Index(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->index(row, column, *static_cast(parent))); +} + +void* QAbstractProxyModel_IndexDefault(void* ptr, int row, int column, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QTransposeProxyModel::index(row, column, *static_cast(parent))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QSortFilterProxyModel::index(row, column, *static_cast(parent))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QIdentityProxyModel::index(row, column, *static_cast(parent))); + } else { + + } +} + +void* QAbstractProxyModel_Parent(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->parent(*static_cast(index))); +} + +void* QAbstractProxyModel_ParentDefault(void* ptr, void* index) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QTransposeProxyModel::parent(*static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QSortFilterProxyModel::parent(*static_cast(index))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QModelIndex(static_cast(ptr)->QIdentityProxyModel::parent(*static_cast(index))); + } else { + + } +} + +int QAbstractProxyModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +int QAbstractProxyModel_RowCountDefault(void* ptr, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::rowCount(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::rowCount(*static_cast(parent)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::rowCount(*static_cast(parent)); + } else { + + } +} + +class MyQAbstractState: public QAbstractState +{ +public: + MyQAbstractState(QState *parent = Q_NULLPTR) : QAbstractState(parent) {QAbstractState_QAbstractState_QRegisterMetaType();}; + void Signal_ActiveChanged(bool active) { callbackQAbstractState_ActiveChanged(this, active); }; + void Signal_Entered() { callbackQAbstractState_Entered(this); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + void Signal_Exited() { callbackQAbstractState_Exited(this); }; + void onEntry(QEvent * event) { callbackQAbstractState_OnEntry(this, event); }; + void onExit(QEvent * event) { callbackQAbstractState_OnExit(this, event); }; + ~MyQAbstractState() { callbackQAbstractState_DestroyQAbstractState(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractState*) + +int QAbstractState_QAbstractState_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAbstractState_NewQAbstractState(void* parent) +{ + return new MyQAbstractState(static_cast(parent)); +} + +char QAbstractState_Active(void* ptr) +{ + return static_cast(ptr)->active(); +} + +void QAbstractState_ConnectActiveChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractState::activeChanged), static_cast(ptr), static_cast(&MyQAbstractState::Signal_ActiveChanged), static_cast(t)); +} + +void QAbstractState_DisconnectActiveChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractState::activeChanged), static_cast(ptr), static_cast(&MyQAbstractState::Signal_ActiveChanged)); +} + +void QAbstractState_ActiveChanged(void* ptr, char active) +{ + static_cast(ptr)->activeChanged(active != 0); +} + +void QAbstractState_ConnectEntered(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractState::entered, static_cast(ptr), static_cast(&MyQAbstractState::Signal_Entered), static_cast(t)); +} + +void QAbstractState_DisconnectEntered(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractState::entered, static_cast(ptr), static_cast(&MyQAbstractState::Signal_Entered)); +} + +void QAbstractState_ConnectExited(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractState::exited, static_cast(ptr), static_cast(&MyQAbstractState::Signal_Exited), static_cast(t)); +} + +void QAbstractState_DisconnectExited(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractState::exited, static_cast(ptr), static_cast(&MyQAbstractState::Signal_Exited)); +} + +void* QAbstractState_Machine(void* ptr) +{ + return static_cast(ptr)->machine(); +} + +void QAbstractState_OnEntry(void* ptr, void* event) +{ + static_cast(ptr)->onEntry(static_cast(event)); +} + +void QAbstractState_OnExit(void* ptr, void* event) +{ + static_cast(ptr)->onExit(static_cast(event)); +} + +void* QAbstractState_ParentState(void* ptr) +{ + return static_cast(ptr)->parentState(); +} + +void QAbstractState_DestroyQAbstractState(void* ptr) +{ + static_cast(ptr)->~QAbstractState(); +} + +void QAbstractState_DestroyQAbstractStateDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQAbstractTableModel: public QAbstractTableModel +{ +public: + MyQAbstractTableModel(QObject *parent = Q_NULLPTR) : QAbstractTableModel(parent) {QAbstractTableModel_QAbstractTableModel_QRegisterMetaType();}; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQAbstractItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQAbstractItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQAbstractTableModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + QModelIndex sibling(int row, int column, const QModelIndex & idx) const { return *static_cast(callbackQAbstractItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&idx))); }; + ~MyQAbstractTableModel() { callbackQAbstractTableModel_DestroyQAbstractTableModel(this); }; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQAbstractItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQAbstractItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + int columnCount(const QModelIndex & parent) const { return callbackQAbstractTableModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQAbstractItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQAbstractItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + QVariant data(const QModelIndex & index, int role) const { return *static_cast(callbackQAbstractTableModel_Data(const_cast(static_cast(this)), const_cast(&index), role)); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQAbstractItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + void fetchMore(const QModelIndex & parent) { callbackQAbstractItemModel_FetchMore(this, const_cast(&parent)); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQAbstractItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQAbstractItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQAbstractItemModel_HeaderDataChanged(this, orientation, first, last); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + QMap itemData(const QModelIndex & index) const { return ({ QMap* tmpP = static_cast*>(callbackQAbstractItemModel_ItemData(const_cast(static_cast(this)), const_cast(&index))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQAbstractItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQAbstractItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtCore_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtCore_PackedString tempVal = callbackQAbstractItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + void Signal_ModelAboutToBeReset() { callbackQAbstractItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQAbstractItemModel_ModelReset(this); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveColumns(this, const_cast(&sourceParent), sourceColumn, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + QModelIndex parent(const QModelIndex & index) const { return *static_cast(callbackQAbstractTableModel_Parent(const_cast(static_cast(this)), const_cast(&index))); }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + void resetInternalData() { callbackQAbstractItemModel_ResetInternalData(this); }; + void revert() { callbackQAbstractItemModel_Revert(this); }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQAbstractItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + int rowCount(const QModelIndex & parent) const { return callbackQAbstractTableModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQAbstractItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQAbstractItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQAbstractItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQAbstractItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQAbstractItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + bool setItemData(const QModelIndex & index, const QMap & roles) { return callbackQAbstractItemModel_SetItemData(this, const_cast(&index), ({ QMap* tmpValue037c88 = new QMap(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + void sort(int column, Qt::SortOrder order) { callbackQAbstractItemModel_Sort(this, column, order); }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + bool submit() { return callbackQAbstractItemModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQAbstractItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQAbstractItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractTableModel*) + +int QAbstractTableModel_QAbstractTableModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAbstractTableModel_NewQAbstractTableModel(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractTableModel(static_cast(parent)); + } else { + return new MyQAbstractTableModel(static_cast(parent)); + } +} + +void* QAbstractTableModel_Index(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->index(row, column, *static_cast(parent))); +} + +void* QAbstractTableModel_IndexDefault(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->QAbstractTableModel::index(row, column, *static_cast(parent))); +} + +void QAbstractTableModel_DestroyQAbstractTableModel(void* ptr) +{ + static_cast(ptr)->~QAbstractTableModel(); +} + +void QAbstractTableModel_DestroyQAbstractTableModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +int QAbstractTableModel_ColumnCount(void* ptr, void* parent) +{ + return static_cast(ptr)->columnCount(*static_cast(parent)); +} + +int QAbstractTableModel_ColumnCountDefault(void* ptr, void* parent) +{ + Q_UNUSED(ptr); + Q_UNUSED(parent); + +} + +void* QAbstractTableModel_Data(void* ptr, void* index, int role) +{ + return new QVariant(static_cast(ptr)->data(*static_cast(index), role)); +} + +void* QAbstractTableModel_DataDefault(void* ptr, void* index, int role) +{ + Q_UNUSED(ptr); + Q_UNUSED(index); + Q_UNUSED(role); + +} + +void* QAbstractTableModel_Parent(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->parent(*static_cast(index))); +} + +void* QAbstractTableModel_ParentDefault(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->QAbstractTableModel::parent(*static_cast(index))); +} + +int QAbstractTableModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +int QAbstractTableModel_RowCountDefault(void* ptr, void* parent) +{ + Q_UNUSED(ptr); + Q_UNUSED(parent); + +} + +class MyQAbstractTransition: public QAbstractTransition +{ +public: + MyQAbstractTransition(QState *sourceState = Q_NULLPTR) : QAbstractTransition(sourceState) {QAbstractTransition_QAbstractTransition_QRegisterMetaType();}; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventTest(QEvent * event) { return callbackQAbstractTransition_EventTest(this, event) != 0; }; + void onTransition(QEvent * event) { callbackQAbstractTransition_OnTransition(this, event); }; + void Signal_TargetStateChanged() { callbackQAbstractTransition_TargetStateChanged(this); }; + void Signal_TargetStatesChanged() { callbackQAbstractTransition_TargetStatesChanged(this); }; + void Signal_Triggered() { callbackQAbstractTransition_Triggered(this); }; + ~MyQAbstractTransition() { callbackQAbstractTransition_DestroyQAbstractTransition(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractTransition*) + +int QAbstractTransition_QAbstractTransition_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAbstractTransition_NewQAbstractTransition(void* sourceState) +{ + return new MyQAbstractTransition(static_cast(sourceState)); +} + +void QAbstractTransition_AddAnimation(void* ptr, void* animation) +{ + static_cast(ptr)->addAnimation(static_cast(animation)); +} + +struct QtCore_PackedList QAbstractTransition_Animations(void* ptr) +{ + return ({ QList* tmpValueb0afeb = new QList(static_cast(ptr)->animations()); QtCore_PackedList { tmpValueb0afeb, tmpValueb0afeb->size() }; }); +} + +char QAbstractTransition_EventTest(void* ptr, void* event) +{ + return static_cast(ptr)->eventTest(static_cast(event)); +} + +void* QAbstractTransition_Machine(void* ptr) +{ + return static_cast(ptr)->machine(); +} + +void QAbstractTransition_OnTransition(void* ptr, void* event) +{ + static_cast(ptr)->onTransition(static_cast(event)); +} + +void QAbstractTransition_RemoveAnimation(void* ptr, void* animation) +{ + static_cast(ptr)->removeAnimation(static_cast(animation)); +} + +void QAbstractTransition_SetTargetState(void* ptr, void* target) +{ + static_cast(ptr)->setTargetState(static_cast(target)); +} + +void QAbstractTransition_SetTargetStates(void* ptr, void* targets) +{ + static_cast(ptr)->setTargetStates(*static_cast*>(targets)); +} + +void QAbstractTransition_SetTransitionType(void* ptr, long long ty) +{ + static_cast(ptr)->setTransitionType(static_cast(ty)); +} + +void* QAbstractTransition_SourceState(void* ptr) +{ + return static_cast(ptr)->sourceState(); +} + +void* QAbstractTransition_TargetState(void* ptr) +{ + return static_cast(ptr)->targetState(); +} + +void QAbstractTransition_ConnectTargetStateChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractTransition::targetStateChanged, static_cast(ptr), static_cast(&MyQAbstractTransition::Signal_TargetStateChanged), static_cast(t)); +} + +void QAbstractTransition_DisconnectTargetStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractTransition::targetStateChanged, static_cast(ptr), static_cast(&MyQAbstractTransition::Signal_TargetStateChanged)); +} + +struct QtCore_PackedList QAbstractTransition_TargetStates(void* ptr) +{ + return ({ QList* tmpValue7ca357 = new QList(static_cast(ptr)->targetStates()); QtCore_PackedList { tmpValue7ca357, tmpValue7ca357->size() }; }); +} + +void QAbstractTransition_ConnectTargetStatesChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractTransition::targetStatesChanged, static_cast(ptr), static_cast(&MyQAbstractTransition::Signal_TargetStatesChanged), static_cast(t)); +} + +void QAbstractTransition_DisconnectTargetStatesChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractTransition::targetStatesChanged, static_cast(ptr), static_cast(&MyQAbstractTransition::Signal_TargetStatesChanged)); +} + +long long QAbstractTransition_TransitionType(void* ptr) +{ + return static_cast(ptr)->transitionType(); +} + +void QAbstractTransition_ConnectTriggered(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QAbstractTransition::triggered, static_cast(ptr), static_cast(&MyQAbstractTransition::Signal_Triggered), static_cast(t)); +} + +void QAbstractTransition_DisconnectTriggered(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QAbstractTransition::triggered, static_cast(ptr), static_cast(&MyQAbstractTransition::Signal_Triggered)); +} + +void QAbstractTransition_DestroyQAbstractTransition(void* ptr) +{ + static_cast(ptr)->~QAbstractTransition(); +} + +void QAbstractTransition_DestroyQAbstractTransitionDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QAbstractTransition___animations_atList(void* ptr, int i) +{ + return ({QAbstractAnimation * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractTransition___animations_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractTransition___animations_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractTransition___setTargetStates_targets_atList(void* ptr, int i) +{ + return ({QAbstractState * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractTransition___setTargetStates_targets_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractTransition___setTargetStates_targets_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractTransition___targetStates_atList(void* ptr, int i) +{ + return ({QAbstractState * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractTransition___targetStates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractTransition___targetStates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQAnimationGroup: public QAnimationGroup +{ +public: + MyQAnimationGroup(QObject *parent = Q_NULLPTR) : QAnimationGroup(parent) {QAnimationGroup_QAnimationGroup_QRegisterMetaType();}; + bool event(QEvent * event) { return callbackQObject_Event(this, event) != 0; }; + ~MyQAnimationGroup() { callbackQAnimationGroup_DestroyQAnimationGroup(this); }; + void Signal_CurrentLoopChanged(int currentLoop) { callbackQAbstractAnimation_CurrentLoopChanged(this, currentLoop); }; + void Signal_DirectionChanged(QAbstractAnimation::Direction newDirection) { callbackQAbstractAnimation_DirectionChanged(this, newDirection); }; + int duration() const { return callbackQAnimationGroup_Duration(const_cast(static_cast(this))); }; + void Signal_Finished() { callbackQAbstractAnimation_Finished(this); }; + void pause() { callbackQAbstractAnimation_Pause(this); }; + void resume() { callbackQAbstractAnimation_Resume(this); }; + void setCurrentTime(int msecs) { callbackQAbstractAnimation_SetCurrentTime(this, msecs); }; + void setPaused(bool paused) { callbackQAbstractAnimation_SetPaused(this, paused); }; + void start(QAbstractAnimation::DeletionPolicy policy) { callbackQAbstractAnimation_Start(this, policy); }; + void Signal_StateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_StateChanged(this, newState, oldState); }; + void stop() { callbackQAbstractAnimation_Stop(this); }; + void updateCurrentTime(int currentTime) { callbackQAnimationGroup_UpdateCurrentTime(this, currentTime); }; + void updateDirection(QAbstractAnimation::Direction direction) { callbackQAbstractAnimation_UpdateDirection(this, direction); }; + void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_UpdateState(this, newState, oldState); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAnimationGroup*) + +int QAnimationGroup_QAnimationGroup_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAnimationGroup_NewQAnimationGroup(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAnimationGroup(static_cast(parent)); + } else { + return new MyQAnimationGroup(static_cast(parent)); + } +} + +void QAnimationGroup_AddAnimation(void* ptr, void* animation) +{ + static_cast(ptr)->addAnimation(static_cast(animation)); +} + +void* QAnimationGroup_AnimationAt(void* ptr, int index) +{ + return static_cast(ptr)->animationAt(index); +} + +int QAnimationGroup_AnimationCount(void* ptr) +{ + return static_cast(ptr)->animationCount(); +} + +void QAnimationGroup_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +int QAnimationGroup_IndexOfAnimation(void* ptr, void* animation) +{ + return static_cast(ptr)->indexOfAnimation(static_cast(animation)); +} + +void QAnimationGroup_InsertAnimation(void* ptr, int index, void* animation) +{ + static_cast(ptr)->insertAnimation(index, static_cast(animation)); +} + +void QAnimationGroup_RemoveAnimation(void* ptr, void* animation) +{ + static_cast(ptr)->removeAnimation(static_cast(animation)); +} + +void* QAnimationGroup_TakeAnimation(void* ptr, int index) +{ + return static_cast(ptr)->takeAnimation(index); +} + +void QAnimationGroup_DestroyQAnimationGroup(void* ptr) +{ + static_cast(ptr)->~QAnimationGroup(); +} + +void QAnimationGroup_DestroyQAnimationGroupDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +int QAnimationGroup_Duration(void* ptr) +{ + return static_cast(ptr)->duration(); +} + +int QAnimationGroup_DurationDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSequentialAnimationGroup::duration(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QParallelAnimationGroup::duration(); + } else { + + } +} + +void QAnimationGroup_UpdateCurrentTime(void* ptr, int currentTime) +{ + static_cast(ptr)->updateCurrentTime(currentTime); +} + +void QAnimationGroup_UpdateCurrentTimeDefault(void* ptr, int currentTime) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::updateCurrentTime(currentTime); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::updateCurrentTime(currentTime); + } else { + + } +} + +int QAssociativeIterable_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +void* QAssociativeIterable_Value(void* ptr, void* key) +{ + return new QVariant(static_cast(ptr)->value(*static_cast(key))); +} + +char QBasicMutex_IsRecursive2(void* ptr) +{ + return static_cast(ptr)->isRecursive(); +} + +void* QBasicTimer_NewQBasicTimer() +{ + return new QBasicTimer(); +} + +char QBasicTimer_IsActive(void* ptr) +{ + return static_cast(ptr)->isActive(); +} + +void QBasicTimer_Start(void* ptr, int msec, void* object) +{ + static_cast(ptr)->start(msec, static_cast(object)); +} + +void QBasicTimer_Start2(void* ptr, int msec, long long timerType, void* obj) +{ + static_cast(ptr)->start(msec, static_cast(timerType), static_cast(obj)); +} + +void QBasicTimer_Stop(void* ptr) +{ + static_cast(ptr)->stop(); +} + +int QBasicTimer_TimerId(void* ptr) +{ + return static_cast(ptr)->timerId(); +} + +void QBasicTimer_DestroyQBasicTimer(void* ptr) +{ + static_cast(ptr)->~QBasicTimer(); +} + +void* QBitArray_NewQBitArray() +{ + return new QBitArray(); +} + +void* QBitArray_NewQBitArray2(int size, char value) +{ + return new QBitArray(size, value != 0); +} + +void* QBitArray_NewQBitArray3(void* other) +{ + return new QBitArray(*static_cast(other)); +} + +void* QBitArray_NewQBitArray4(void* other) +{ + return new QBitArray(*static_cast(other)); +} + +char QBitArray_At(void* ptr, int i) +{ + return static_cast(ptr)->at(i); +} + +struct QtCore_PackedString QBitArray_Bits(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->bits()), -1 }; +} + +void QBitArray_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +void QBitArray_ClearBit(void* ptr, int i) +{ + static_cast(ptr)->clearBit(i); +} + +int QBitArray_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +int QBitArray_Count2(void* ptr, char on) +{ + return static_cast(ptr)->count(on != 0); +} + +char QBitArray_Fill(void* ptr, char value, int size) +{ + return static_cast(ptr)->fill(value != 0, size); +} + +void QBitArray_Fill2(void* ptr, char value, int begin, int end) +{ + static_cast(ptr)->fill(value != 0, begin, end); +} + +char QBitArray_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QBitArray_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +void QBitArray_Resize(void* ptr, int size) +{ + static_cast(ptr)->resize(size); +} + +void QBitArray_SetBit(void* ptr, int i) +{ + static_cast(ptr)->setBit(i); +} + +void QBitArray_SetBit2(void* ptr, int i, char value) +{ + static_cast(ptr)->setBit(i, value != 0); +} + +int QBitArray_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +void QBitArray_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +char QBitArray_TestBit(void* ptr, int i) +{ + return static_cast(ptr)->testBit(i); +} + +char QBitArray_ToggleBit(void* ptr, int i) +{ + return static_cast(ptr)->toggleBit(i); +} + +void QBitArray_Truncate(void* ptr, int pos) +{ + static_cast(ptr)->truncate(pos); +} + +class MyQBuffer: public QBuffer +{ +public: + MyQBuffer(QObject *parent = Q_NULLPTR) : QBuffer(parent) {QBuffer_QBuffer_QRegisterMetaType();}; + MyQBuffer(QByteArray *byteArray, QObject *parent = Q_NULLPTR) : QBuffer(byteArray, parent) {QBuffer_QBuffer_QRegisterMetaType();}; + bool atEnd() const { return callbackQIODevice_AtEnd(const_cast(static_cast(this))) != 0; }; + bool canReadLine() const { return callbackQIODevice_CanReadLine(const_cast(static_cast(this))) != 0; }; + void close() { callbackQIODevice_Close(this); }; + bool open(QIODevice::OpenMode flags) { return callbackQIODevice_Open(this, flags) != 0; }; + qint64 pos() const { return callbackQIODevice_Pos(const_cast(static_cast(this))); }; + qint64 readData(char * data, qint64 l) { QtCore_PackedString dataPacked = { data, l };return callbackQBuffer_ReadData(this, dataPacked, l); }; + bool seek(qint64 pos) { return callbackQIODevice_Seek(this, pos) != 0; }; + qint64 size() const { return callbackQIODevice_Size(const_cast(static_cast(this))); }; + qint64 writeData(const char * data, qint64 l) { QtCore_PackedString dataPacked = { const_cast(data), l };return callbackQBuffer_WriteData(this, dataPacked, l); }; + ~MyQBuffer() { callbackQBuffer_DestroyQBuffer(this); }; + void Signal_AboutToClose() { callbackQIODevice_AboutToClose(this); }; + qint64 bytesAvailable() const { return callbackQIODevice_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQIODevice_BytesToWrite(const_cast(static_cast(this))); }; + void Signal_BytesWritten(qint64 bytes) { callbackQIODevice_BytesWritten(this, bytes); }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQIODevice_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQIODevice_ChannelReadyRead(this, channel); }; + bool isSequential() const { return callbackQIODevice_IsSequential(const_cast(static_cast(this))) != 0; }; + void Signal_ReadChannelFinished() { callbackQIODevice_ReadChannelFinished(this); }; + qint64 readLineData(char * data, qint64 maxSize) { QtCore_PackedString dataPacked = { data, maxSize };return callbackQIODevice_ReadLineData(this, dataPacked, maxSize); }; + void Signal_ReadyRead() { callbackQIODevice_ReadyRead(this); }; + bool reset() { return callbackQIODevice_Reset(this) != 0; }; + bool waitForBytesWritten(int msecs) { return callbackQIODevice_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQIODevice_WaitForReadyRead(this, msecs) != 0; }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQBuffer*) + +int QBuffer_QBuffer_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QBuffer_NewQBuffer(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(parent)); + } else { + return new MyQBuffer(static_cast(parent)); + } +} + +void* QBuffer_NewQBuffer2(void* byteArray, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } else { + return new MyQBuffer(static_cast(byteArray), static_cast(parent)); + } +} + +void* QBuffer_Buffer(void* ptr) +{ + return new QByteArray(static_cast(ptr)->buffer()); +} + +void* QBuffer_Buffer2(void* ptr) +{ + return const_cast(&static_cast(ptr)->buffer()); +} + +void* QBuffer_Data(void* ptr) +{ + return const_cast(&static_cast(ptr)->data()); +} + +long long QBuffer_ReadData(void* ptr, char* data, long long l) +{ + return static_cast(ptr)->readData(data, l); +} + +long long QBuffer_ReadDataDefault(void* ptr, char* data, long long l) +{ + return static_cast(ptr)->QBuffer::readData(data, l); +} + +void QBuffer_SetBuffer(void* ptr, void* byteArray) +{ + static_cast(ptr)->setBuffer(static_cast(byteArray)); +} + +void QBuffer_SetData(void* ptr, void* data) +{ + static_cast(ptr)->setData(*static_cast(data)); +} + +void QBuffer_SetData2(void* ptr, char* data, int size) +{ + static_cast(ptr)->setData(const_cast(data), size); +} + +long long QBuffer_WriteData(void* ptr, char* data, long long l) +{ + return static_cast(ptr)->writeData(const_cast(data), l); +} + +long long QBuffer_WriteDataDefault(void* ptr, char* data, long long l) +{ + return static_cast(ptr)->QBuffer::writeData(const_cast(data), l); +} + +void QBuffer_DestroyQBuffer(void* ptr) +{ + static_cast(ptr)->~QBuffer(); +} + +void QBuffer_DestroyQBufferDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QByteArray_NewQByteArray() +{ + return new QByteArray(); +} + +void* QByteArray_NewQByteArray2(char* data, int size) +{ + return new QByteArray(const_cast(data), size); +} + +void* QByteArray_NewQByteArray3(int size, char* ch) +{ + return new QByteArray(size, *ch); +} + +void* QByteArray_NewQByteArray4(void* other) +{ + return new QByteArray(*static_cast(other)); +} + +void* QByteArray_Append(void* ptr, void* ba) +{ + return new QByteArray(static_cast(ptr)->append(*static_cast(ba))); +} + +void* QByteArray_Append2(void* ptr, char* ch) +{ + return new QByteArray(static_cast(ptr)->append(*ch)); +} + +void* QByteArray_Append3(void* ptr, int count, char* ch) +{ + return new QByteArray(static_cast(ptr)->append(count, *ch)); +} + +void* QByteArray_Append4(void* ptr, char* str) +{ + return new QByteArray(static_cast(ptr)->append(const_cast(str))); +} + +void* QByteArray_Append5(void* ptr, char* str, int l) +{ + return new QByteArray(static_cast(ptr)->append(const_cast(str), l)); +} + +void* QByteArray_Append6(void* ptr, struct QtCore_PackedString str) +{ + return new QByteArray(static_cast(ptr)->append(QString::fromUtf8(str.data, str.len))); +} + +struct QtCore_PackedString QByteArray_At(void* ptr, int i) +{ + return ({ char t8d8fc5 = static_cast(ptr)->at(i); QtCore_PackedString { &t8d8fc5, -1 }; }); +} + +struct QtCore_PackedString QByteArray_Back(void* ptr) +{ + return ({ char te8eea8 = static_cast(ptr)->back(); QtCore_PackedString { &te8eea8, -1 }; }); +} + +int QByteArray_Capacity(void* ptr) +{ + return static_cast(ptr)->capacity(); +} + +void QByteArray_Chop(void* ptr, int n) +{ + static_cast(ptr)->chop(n); +} + +void* QByteArray_Chopped(void* ptr, int l) +{ + return new QByteArray(static_cast(ptr)->chopped(l)); +} + +void QByteArray_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +int QByteArray_Compare(void* ptr, char* c, long long cs) +{ + return static_cast(ptr)->compare(const_cast(c), static_cast(cs)); +} + +int QByteArray_Compare2(void* ptr, void* a, long long cs) +{ + return static_cast(ptr)->compare(*static_cast(a), static_cast(cs)); +} + +struct QtCore_PackedString QByteArray_ConstData(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->constData()), static_cast(ptr)->size() }; +} + +char QByteArray_Contains(void* ptr, void* ba) +{ + return static_cast(ptr)->contains(*static_cast(ba)); +} + +char QByteArray_Contains2(void* ptr, char* ch) +{ + return static_cast(ptr)->contains(*ch); +} + +char QByteArray_Contains3(void* ptr, char* str) +{ + return static_cast(ptr)->contains(const_cast(str)); +} + +int QByteArray_Count(void* ptr, void* ba) +{ + return static_cast(ptr)->count(*static_cast(ba)); +} + +int QByteArray_Count2(void* ptr, char* ch) +{ + return static_cast(ptr)->count(*ch); +} + +int QByteArray_Count3(void* ptr, char* str) +{ + return static_cast(ptr)->count(const_cast(str)); +} + +int QByteArray_Count4(void* ptr) +{ + return static_cast(ptr)->count(); +} + +struct QtCore_PackedString QByteArray_Data(void* ptr) +{ + return QtCore_PackedString { static_cast(ptr)->data(), static_cast(ptr)->size() }; +} + +struct QtCore_PackedString QByteArray_Data2(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->data()), static_cast(ptr)->size() }; +} + +char QByteArray_EndsWith(void* ptr, void* ba) +{ + return static_cast(ptr)->endsWith(*static_cast(ba)); +} + +char QByteArray_EndsWith2(void* ptr, char* ch) +{ + return static_cast(ptr)->endsWith(*ch); +} + +char QByteArray_EndsWith3(void* ptr, char* str) +{ + return static_cast(ptr)->endsWith(const_cast(str)); +} + +void* QByteArray_Fill(void* ptr, char* ch, int size) +{ + return new QByteArray(static_cast(ptr)->fill(*ch, size)); +} + +void* QByteArray_QByteArray_FromBase64(void* base64) +{ + return new QByteArray(QByteArray::fromBase64(*static_cast(base64))); +} + +void* QByteArray_QByteArray_FromBase642(void* base64, long long options) +{ + return new QByteArray(QByteArray::fromBase64(*static_cast(base64), static_cast(options))); +} + +void* QByteArray_QByteArray_FromHex(void* hexEncoded) +{ + return new QByteArray(QByteArray::fromHex(*static_cast(hexEncoded))); +} + +void* QByteArray_QByteArray_FromPercentEncoding(void* input, char* percent) +{ + return new QByteArray(QByteArray::fromPercentEncoding(*static_cast(input), *percent)); +} + +void* QByteArray_QByteArray_FromRawData(char* data, int size) +{ + return new QByteArray(QByteArray::fromRawData(const_cast(data), size)); +} + +struct QtCore_PackedString QByteArray_Front(void* ptr) +{ + return ({ char td65117 = static_cast(ptr)->front(); QtCore_PackedString { &td65117, -1 }; }); +} + +int QByteArray_IndexOf(void* ptr, void* ba, int from) +{ + return static_cast(ptr)->indexOf(*static_cast(ba), from); +} + +int QByteArray_IndexOf2(void* ptr, char* ch, int from) +{ + return static_cast(ptr)->indexOf(*ch, from); +} + +int QByteArray_IndexOf3(void* ptr, char* str, int from) +{ + return static_cast(ptr)->indexOf(const_cast(str), from); +} + +int QByteArray_IndexOf4(void* ptr, struct QtCore_PackedString str, int from) +{ + return static_cast(ptr)->indexOf(QString::fromUtf8(str.data, str.len), from); +} + +void* QByteArray_Insert(void* ptr, int i, void* ba) +{ + return new QByteArray(static_cast(ptr)->insert(i, *static_cast(ba))); +} + +void* QByteArray_Insert2(void* ptr, int i, char* ch) +{ + return new QByteArray(static_cast(ptr)->insert(i, *ch)); +} + +void* QByteArray_Insert3(void* ptr, int i, int count, char* ch) +{ + return new QByteArray(static_cast(ptr)->insert(i, count, *ch)); +} + +void* QByteArray_Insert4(void* ptr, int i, char* str) +{ + return new QByteArray(static_cast(ptr)->insert(i, const_cast(str))); +} + +void* QByteArray_Insert5(void* ptr, int i, char* str, int l) +{ + return new QByteArray(static_cast(ptr)->insert(i, const_cast(str), l)); +} + +void* QByteArray_Insert6(void* ptr, int i, struct QtCore_PackedString str) +{ + return new QByteArray(static_cast(ptr)->insert(i, QString::fromUtf8(str.data, str.len))); +} + +char QByteArray_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QByteArray_IsLower(void* ptr) +{ + return static_cast(ptr)->isLower(); +} + +char QByteArray_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QByteArray_IsUpper(void* ptr) +{ + return static_cast(ptr)->isUpper(); +} + +int QByteArray_LastIndexOf(void* ptr, void* ba, int from) +{ + return static_cast(ptr)->lastIndexOf(*static_cast(ba), from); +} + +int QByteArray_LastIndexOf2(void* ptr, char* ch, int from) +{ + return static_cast(ptr)->lastIndexOf(*ch, from); +} + +int QByteArray_LastIndexOf3(void* ptr, char* str, int from) +{ + return static_cast(ptr)->lastIndexOf(const_cast(str), from); +} + +int QByteArray_LastIndexOf4(void* ptr, struct QtCore_PackedString str, int from) +{ + return static_cast(ptr)->lastIndexOf(QString::fromUtf8(str.data, str.len), from); +} + +void* QByteArray_Left(void* ptr, int l) +{ + return new QByteArray(static_cast(ptr)->left(l)); +} + +void* QByteArray_LeftJustified(void* ptr, int width, char* fill, char truncate) +{ + return new QByteArray(static_cast(ptr)->leftJustified(width, *fill, truncate != 0)); +} + +int QByteArray_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +void* QByteArray_Mid(void* ptr, int pos, int l) +{ + return new QByteArray(static_cast(ptr)->mid(pos, l)); +} + +void* QByteArray_QByteArray_Number(int n, int base) +{ + return new QByteArray(QByteArray::number(n, base)); +} + +void* QByteArray_QByteArray_Number2(unsigned int n, int base) +{ + return new QByteArray(QByteArray::number(n, base)); +} + +void* QByteArray_QByteArray_Number3(long long n, int base) +{ + return new QByteArray(QByteArray::number(n, base)); +} + +void* QByteArray_QByteArray_Number4(unsigned long long n, int base) +{ + return new QByteArray(QByteArray::number(n, base)); +} + +void* QByteArray_QByteArray_Number5(double n, char* ff, int prec) +{ + return new QByteArray(QByteArray::number(n, *ff, prec)); +} + +void* QByteArray_Prepend(void* ptr, void* ba) +{ + return new QByteArray(static_cast(ptr)->prepend(*static_cast(ba))); +} + +void* QByteArray_Prepend2(void* ptr, char* ch) +{ + return new QByteArray(static_cast(ptr)->prepend(*ch)); +} + +void* QByteArray_Prepend3(void* ptr, int count, char* ch) +{ + return new QByteArray(static_cast(ptr)->prepend(count, *ch)); +} + +void* QByteArray_Prepend4(void* ptr, char* str) +{ + return new QByteArray(static_cast(ptr)->prepend(const_cast(str))); +} + +void* QByteArray_Prepend5(void* ptr, char* str, int l) +{ + return new QByteArray(static_cast(ptr)->prepend(const_cast(str), l)); +} + +void QByteArray_Push_back(void* ptr, void* other) +{ + static_cast(ptr)->push_back(*static_cast(other)); +} + +void QByteArray_Push_back2(void* ptr, char* ch) +{ + static_cast(ptr)->push_back(*ch); +} + +void QByteArray_Push_back3(void* ptr, char* str) +{ + static_cast(ptr)->push_back(const_cast(str)); +} + +void QByteArray_Push_front(void* ptr, void* other) +{ + static_cast(ptr)->push_front(*static_cast(other)); +} + +void QByteArray_Push_front2(void* ptr, char* ch) +{ + static_cast(ptr)->push_front(*ch); +} + +void QByteArray_Push_front3(void* ptr, char* str) +{ + static_cast(ptr)->push_front(const_cast(str)); +} + +void* QByteArray_Remove(void* ptr, int pos, int l) +{ + return new QByteArray(static_cast(ptr)->remove(pos, l)); +} + +void* QByteArray_Repeated(void* ptr, int times) +{ + return new QByteArray(static_cast(ptr)->repeated(times)); +} + +void* QByteArray_Replace(void* ptr, int pos, int l, void* after) +{ + return new QByteArray(static_cast(ptr)->replace(pos, l, *static_cast(after))); +} + +void* QByteArray_Replace2(void* ptr, int pos, int l, char* after) +{ + return new QByteArray(static_cast(ptr)->replace(pos, l, const_cast(after))); +} + +void* QByteArray_Replace3(void* ptr, int pos, int l, char* after, int alen) +{ + return new QByteArray(static_cast(ptr)->replace(pos, l, const_cast(after), alen)); +} + +void* QByteArray_Replace4(void* ptr, char* before, char* after) +{ + return new QByteArray(static_cast(ptr)->replace(*before, const_cast(after))); +} + +void* QByteArray_Replace5(void* ptr, char* before, void* after) +{ + return new QByteArray(static_cast(ptr)->replace(*before, *static_cast(after))); +} + +void* QByteArray_Replace6(void* ptr, char* before, char* after) +{ + return new QByteArray(static_cast(ptr)->replace(const_cast(before), const_cast(after))); +} + +void* QByteArray_Replace7(void* ptr, char* before, int bsize, char* after, int asize) +{ + return new QByteArray(static_cast(ptr)->replace(const_cast(before), bsize, const_cast(after), asize)); +} + +void* QByteArray_Replace8(void* ptr, void* before, void* after) +{ + return new QByteArray(static_cast(ptr)->replace(*static_cast(before), *static_cast(after))); +} + +void* QByteArray_Replace9(void* ptr, void* before, char* after) +{ + return new QByteArray(static_cast(ptr)->replace(*static_cast(before), const_cast(after))); +} + +void* QByteArray_Replace10(void* ptr, char* before, void* after) +{ + return new QByteArray(static_cast(ptr)->replace(const_cast(before), *static_cast(after))); +} + +void* QByteArray_Replace11(void* ptr, char* before, char* after) +{ + return new QByteArray(static_cast(ptr)->replace(*before, *after)); +} + +void* QByteArray_Replace12(void* ptr, struct QtCore_PackedString before, char* after) +{ + return new QByteArray(static_cast(ptr)->replace(QString::fromUtf8(before.data, before.len), const_cast(after))); +} + +void* QByteArray_Replace13(void* ptr, char* before, struct QtCore_PackedString after) +{ + return new QByteArray(static_cast(ptr)->replace(*before, QString::fromUtf8(after.data, after.len))); +} + +void* QByteArray_Replace14(void* ptr, struct QtCore_PackedString before, void* after) +{ + return new QByteArray(static_cast(ptr)->replace(QString::fromUtf8(before.data, before.len), *static_cast(after))); +} + +void QByteArray_Reserve(void* ptr, int size) +{ + static_cast(ptr)->reserve(size); +} + +void QByteArray_Resize(void* ptr, int size) +{ + static_cast(ptr)->resize(size); +} + +void* QByteArray_Right(void* ptr, int l) +{ + return new QByteArray(static_cast(ptr)->right(l)); +} + +void* QByteArray_RightJustified(void* ptr, int width, char* fill, char truncate) +{ + return new QByteArray(static_cast(ptr)->rightJustified(width, *fill, truncate != 0)); +} + +void* QByteArray_SetNum(void* ptr, int n, int base) +{ + return new QByteArray(static_cast(ptr)->setNum(n, base)); +} + +void* QByteArray_SetNum2(void* ptr, short n, int base) +{ + return new QByteArray(static_cast(ptr)->setNum(n, base)); +} + +void* QByteArray_SetNum3(void* ptr, unsigned short n, int base) +{ + return new QByteArray(static_cast(ptr)->setNum(n, base)); +} + +void* QByteArray_SetNum4(void* ptr, unsigned int n, int base) +{ + return new QByteArray(static_cast(ptr)->setNum(n, base)); +} + +void* QByteArray_SetNum5(void* ptr, long long n, int base) +{ + return new QByteArray(static_cast(ptr)->setNum(n, base)); +} + +void* QByteArray_SetNum6(void* ptr, unsigned long long n, int base) +{ + return new QByteArray(static_cast(ptr)->setNum(n, base)); +} + +void* QByteArray_SetNum7(void* ptr, float n, char* ff, int prec) +{ + return new QByteArray(static_cast(ptr)->setNum(n, *ff, prec)); +} + +void* QByteArray_SetNum8(void* ptr, double n, char* ff, int prec) +{ + return new QByteArray(static_cast(ptr)->setNum(n, *ff, prec)); +} + +void* QByteArray_SetRawData(void* ptr, char* data, unsigned int size) +{ + return new QByteArray(static_cast(ptr)->setRawData(const_cast(data), size)); +} + +void QByteArray_Shrink_to_fit(void* ptr) +{ + static_cast(ptr)->shrink_to_fit(); +} + +void* QByteArray_Simplified(void* ptr) +{ + return new QByteArray(static_cast(ptr)->simplified()); +} + +int QByteArray_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +struct QtCore_PackedList QByteArray_Split(void* ptr, char* sep) +{ + return ({ QList* tmpValue17cac8 = new QList(static_cast(ptr)->split(*sep)); QtCore_PackedList { tmpValue17cac8, tmpValue17cac8->size() }; }); +} + +void QByteArray_Squeeze(void* ptr) +{ + static_cast(ptr)->squeeze(); +} + +char QByteArray_StartsWith(void* ptr, void* ba) +{ + return static_cast(ptr)->startsWith(*static_cast(ba)); +} + +char QByteArray_StartsWith2(void* ptr, char* ch) +{ + return static_cast(ptr)->startsWith(*ch); +} + +char QByteArray_StartsWith3(void* ptr, char* str) +{ + return static_cast(ptr)->startsWith(const_cast(str)); +} + +void QByteArray_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QByteArray_ToBase64(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toBase64()); +} + +void* QByteArray_ToBase642(void* ptr, long long options) +{ + return new QByteArray(static_cast(ptr)->toBase64(static_cast(options))); +} + +double QByteArray_ToDouble(void* ptr, char* ok) +{ + return static_cast(ptr)->toDouble(reinterpret_cast(ok)); +} + +float QByteArray_ToFloat(void* ptr, char* ok) +{ + return static_cast(ptr)->toFloat(reinterpret_cast(ok)); +} + +void* QByteArray_ToHex(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toHex()); +} + +void* QByteArray_ToHex2(void* ptr, char* separator) +{ + return new QByteArray(static_cast(ptr)->toHex(*separator)); +} + +int QByteArray_ToInt(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toInt(reinterpret_cast(ok), base); +} + +long QByteArray_ToLong(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toLong(reinterpret_cast(ok), base); +} + +long long QByteArray_ToLongLong(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toLongLong(reinterpret_cast(ok), base); +} + +void* QByteArray_ToLower(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toLower()); +} + +void* QByteArray_ToPercentEncoding(void* ptr, void* exclude, void* include, char* percent) +{ + return new QByteArray(static_cast(ptr)->toPercentEncoding(*static_cast(exclude), *static_cast(include), *percent)); +} + +short QByteArray_ToShort(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toShort(reinterpret_cast(ok), base); +} + +unsigned int QByteArray_ToUInt(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toUInt(reinterpret_cast(ok), base); +} + +unsigned long QByteArray_ToULong(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toULong(reinterpret_cast(ok), base); +} + +unsigned long long QByteArray_ToULongLong(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toULongLong(reinterpret_cast(ok), base); +} + +unsigned short QByteArray_ToUShort(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toUShort(reinterpret_cast(ok), base); +} + +void* QByteArray_ToUpper(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toUpper()); +} + +void* QByteArray_Trimmed(void* ptr) +{ + return new QByteArray(static_cast(ptr)->trimmed()); +} + +void QByteArray_Truncate(void* ptr, int pos) +{ + static_cast(ptr)->truncate(pos); +} + +void QByteArray_DestroyQByteArray(void* ptr) +{ + static_cast(ptr)->~QByteArray(); +} + +void* QByteArray___split_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QByteArray___split_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QByteArray___split_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QByteArrayList_IndexOf(void* ptr, char* needle, int from) +{ + return static_cast(ptr)->indexOf(const_cast(needle), from); +} + +void* QByteArrayList_Join(void* ptr) +{ + return new QByteArray(static_cast(ptr)->join()); +} + +void* QByteArrayList_Join2(void* ptr, void* separator) +{ + return new QByteArray(static_cast(ptr)->join(*static_cast(separator))); +} + +void* QByteArrayList_Join3(void* ptr, char* separator) +{ + return new QByteArray(static_cast(ptr)->join(*separator)); +} + +void* QByteArrayMatcher_NewQByteArrayMatcher() +{ + return new QByteArrayMatcher(); +} + +void* QByteArrayMatcher_NewQByteArrayMatcher2(void* pattern) +{ + return new QByteArrayMatcher(*static_cast(pattern)); +} + +void* QByteArrayMatcher_NewQByteArrayMatcher3(char* pattern, int length) +{ + return new QByteArrayMatcher(const_cast(pattern), length); +} + +void* QByteArrayMatcher_NewQByteArrayMatcher4(void* other) +{ + return new QByteArrayMatcher(*static_cast(other)); +} + +int QByteArrayMatcher_IndexIn(void* ptr, void* ba, int from) +{ + return static_cast(ptr)->indexIn(*static_cast(ba), from); +} + +int QByteArrayMatcher_IndexIn2(void* ptr, char* str, int l, int from) +{ + return static_cast(ptr)->indexIn(const_cast(str), l, from); +} + +void* QByteArrayMatcher_Pattern(void* ptr) +{ + return new QByteArray(static_cast(ptr)->pattern()); +} + +void QByteArrayMatcher_SetPattern(void* ptr, void* pattern) +{ + static_cast(ptr)->setPattern(*static_cast(pattern)); +} + +void QByteArrayMatcher_DestroyQByteArrayMatcher(void* ptr) +{ + static_cast(ptr)->~QByteArrayMatcher(); +} + +void* QCborArray_NewQCborArray() +{ + return new QCborArray(); +} + +void* QCborArray_NewQCborArray2(void* other) +{ + return new QCborArray(*static_cast(other)); +} + +void QCborArray_Append(void* ptr, void* value) +{ + static_cast(ptr)->append(*static_cast(value)); +} + +void QCborArray_Append2(void* ptr, void* value) +{ + static_cast(ptr)->append(*static_cast(value)); +} + +void QCborArray_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +int QCborArray_Compare(void* ptr, void* other) +{ + return static_cast(ptr)->compare(*static_cast(other)); +} + +char QCborArray_Contains(void* ptr, void* value) +{ + return static_cast(ptr)->contains(*static_cast(value)); +} + +char QCborArray_Empty(void* ptr) +{ + return static_cast(ptr)->empty(); +} + +void* QCborArray_First(void* ptr) +{ + return new QCborValue(static_cast(ptr)->first()); +} + +void* QCborArray_QCborArray_FromJsonArray(void* array) +{ + return new QCborArray(QCborArray::fromJsonArray(*static_cast(array))); +} + +void* QCborArray_QCborArray_FromStringList(struct QtCore_PackedString list) +{ + return new QCborArray(QCborArray::fromStringList(QString::fromUtf8(list.data, list.len).split("¡¦!", QString::SkipEmptyParts))); +} + +void* QCborArray_QCborArray_FromVariantList(void* list) +{ + return new QCborArray(QCborArray::fromVariantList(({ QList* tmpP = static_cast*>(list); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }))); +} + +char QCborArray_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +void* QCborArray_Last(void* ptr) +{ + return new QCborValue(static_cast(ptr)->last()); +} + +void QCborArray_Pop_back(void* ptr) +{ + static_cast(ptr)->pop_back(); +} + +void QCborArray_Pop_front(void* ptr) +{ + static_cast(ptr)->pop_front(); +} + +void QCborArray_Prepend(void* ptr, void* value) +{ + static_cast(ptr)->prepend(*static_cast(value)); +} + +void QCborArray_Prepend2(void* ptr, void* value) +{ + static_cast(ptr)->prepend(*static_cast(value)); +} + +void QCborArray_Push_back(void* ptr, void* t) +{ + static_cast(ptr)->push_back(*static_cast(t)); +} + +void QCborArray_Push_front(void* ptr, void* t) +{ + static_cast(ptr)->push_front(*static_cast(t)); +} + +void QCborArray_RemoveFirst(void* ptr) +{ + static_cast(ptr)->removeFirst(); +} + +void QCborArray_RemoveLast(void* ptr) +{ + static_cast(ptr)->removeLast(); +} + +void QCborArray_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QCborArray_TakeFirst(void* ptr) +{ + return new QCborValue(static_cast(ptr)->takeFirst()); +} + +void* QCborArray_TakeLast(void* ptr) +{ + return new QCborValue(static_cast(ptr)->takeLast()); +} + +void* QCborArray_ToCborValue(void* ptr) +{ + return new QCborValue(static_cast(ptr)->toCborValue()); +} + +void* QCborArray_ToJsonArray(void* ptr) +{ + return new QJsonArray(static_cast(ptr)->toJsonArray()); +} + +struct QtCore_PackedList QCborArray_ToVariantList(void* ptr) +{ + return ({ QList* tmpValue302507 = new QList(static_cast(ptr)->toVariantList()); QtCore_PackedList { tmpValue302507, tmpValue302507->size() }; }); +} + +void QCborArray_DestroyQCborArray(void* ptr) +{ + static_cast(ptr)->~QCborArray(); +} + +void* QCborArray___fromVariantList_list_atList(void* ptr, int i) +{ + return new QVariant(({QVariant tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QCborArray___fromVariantList_list_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QCborArray___fromVariantList_list_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QCborArray___toVariantList_atList(void* ptr, int i) +{ + return new QVariant(({QVariant tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QCborArray___toVariantList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QCborArray___toVariantList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QCborError_ToString(void* ptr) +{ + return ({ QByteArray t344b49 = static_cast(ptr)->toString().toUtf8(); QtCore_PackedString { const_cast(t344b49.prepend("WHITESPACE").constData()+10), t344b49.size()-10 }; }); +} + +void* QCborMap_NewQCborMap() +{ + return new QCborMap(); +} + +void* QCborMap_NewQCborMap2(void* other) +{ + return new QCborMap(*static_cast(other)); +} + +void QCborMap_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +int QCborMap_Compare(void* ptr, void* other) +{ + return static_cast(ptr)->compare(*static_cast(other)); +} + +char QCborMap_Contains(void* ptr, long long key) +{ + return static_cast(ptr)->contains(key); +} + +char QCborMap_Contains2(void* ptr, void* key) +{ + return static_cast(ptr)->contains(*static_cast(key)); +} + +char QCborMap_Contains3(void* ptr, struct QtCore_PackedString key) +{ + return static_cast(ptr)->contains(QString::fromUtf8(key.data, key.len)); +} + +char QCborMap_Contains4(void* ptr, void* key) +{ + return static_cast(ptr)->contains(*static_cast(key)); +} + +char QCborMap_Empty(void* ptr) +{ + return static_cast(ptr)->empty(); +} + +void* QCborMap_QCborMap_FromJsonObject(void* obj) +{ + return new QCborMap(QCborMap::fromJsonObject(*static_cast(obj))); +} + +void* QCborMap_QCborMap_FromVariantHash(void* hash) +{ + return new QCborMap(QCborMap::fromVariantHash(({ QHash* tmpP = static_cast*>(hash); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }))); +} + +char QCborMap_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +struct QtCore_PackedList QCborMap_Keys(void* ptr) +{ + return ({ QVector* tmpValue42f4c1 = new QVector(static_cast(ptr)->keys()); QtCore_PackedList { tmpValue42f4c1, tmpValue42f4c1->size() }; }); +} + +void QCborMap_Remove(void* ptr, long long key) +{ + static_cast(ptr)->remove(key); +} + +void QCborMap_Remove2(void* ptr, void* key) +{ + static_cast(ptr)->remove(*static_cast(key)); +} + +void QCborMap_Remove3(void* ptr, struct QtCore_PackedString key) +{ + static_cast(ptr)->remove(QString::fromUtf8(key.data, key.len)); +} + +void QCborMap_Remove4(void* ptr, void* key) +{ + static_cast(ptr)->remove(*static_cast(key)); +} + +void QCborMap_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QCborMap_Take(void* ptr, long long key) +{ + return new QCborValue(static_cast(ptr)->take(key)); +} + +void* QCborMap_Take2(void* ptr, void* key) +{ + return new QCborValue(static_cast(ptr)->take(*static_cast(key))); +} + +void* QCborMap_Take3(void* ptr, struct QtCore_PackedString key) +{ + return new QCborValue(static_cast(ptr)->take(QString::fromUtf8(key.data, key.len))); +} + +void* QCborMap_Take4(void* ptr, void* key) +{ + return new QCborValue(static_cast(ptr)->take(*static_cast(key))); +} + +void* QCborMap_ToCborValue(void* ptr) +{ + return new QCborValue(static_cast(ptr)->toCborValue()); +} + +void* QCborMap_ToJsonObject(void* ptr) +{ + return new QJsonObject(static_cast(ptr)->toJsonObject()); +} + +struct QtCore_PackedList QCborMap_ToVariantHash(void* ptr) +{ + return ({ QHash* tmpValuefd0242 = new QHash(static_cast(ptr)->toVariantHash()); QtCore_PackedList { tmpValuefd0242, tmpValuefd0242->size() }; }); +} + +struct QtCore_PackedList QCborMap_ToVariantMap(void* ptr) +{ + return ({ QMap* tmpValue1441a6 = new QMap(static_cast(ptr)->toVariantMap()); QtCore_PackedList { tmpValue1441a6, tmpValue1441a6->size() }; }); +} + +void* QCborMap_Value(void* ptr, long long key) +{ + return new QCborValue(static_cast(ptr)->value(key)); +} + +void* QCborMap_Value2(void* ptr, void* key) +{ + return new QCborValue(static_cast(ptr)->value(*static_cast(key))); +} + +void* QCborMap_Value3(void* ptr, struct QtCore_PackedString key) +{ + return new QCborValue(static_cast(ptr)->value(QString::fromUtf8(key.data, key.len))); +} + +void* QCborMap_Value4(void* ptr, void* key) +{ + return new QCborValue(static_cast(ptr)->value(*static_cast(key))); +} + +void QCborMap_DestroyQCborMap(void* ptr) +{ + static_cast(ptr)->~QCborMap(); +} + +void* QCborMap___fromVariantHash_hash_atList(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QCborMap___fromVariantHash_hash_setList(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QCborMap___fromVariantHash_hash_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtCore_PackedList QCborMap___fromVariantHash_hash_keyList(void* ptr) +{ + return ({ QList* tmpValuef43bc5 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValuef43bc5, tmpValuef43bc5->size() }; }); +} + +void* QCborMap___keys_atList(void* ptr, int i) +{ + return new QCborValue(({QCborValue tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QCborMap___keys_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QCborMap___keys_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QCborMap___toVariantHash_atList(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QCborMap___toVariantHash_setList(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QCborMap___toVariantHash_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtCore_PackedList QCborMap___toVariantHash_keyList(void* ptr) +{ + return ({ QList* tmpValuef43bc5 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValuef43bc5, tmpValuef43bc5->size() }; }); +} + +void* QCborMap___toVariantMap_atList(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QCborMap___toVariantMap_setList(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QCborMap___toVariantMap_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtCore_PackedList QCborMap___toVariantMap_keyList(void* ptr) +{ + return ({ QList* tmpValue1ab909 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValue1ab909, tmpValue1ab909->size() }; }); +} + +struct QtCore_PackedString QCborMap_____fromVariantHash_hash_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QCborMap_____fromVariantHash_hash_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QCborMap_____fromVariantHash_hash_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QCborMap_____fromVariantMap_map_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QCborMap_____fromVariantMap_map_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QCborMap_____fromVariantMap_map_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QCborMap_____toVariantHash_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QCborMap_____toVariantHash_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QCborMap_____toVariantHash_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QCborMap_____toVariantMap_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QCborMap_____toVariantMap_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QCborMap_____toVariantMap_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QCborParserError_ErrorString(void* ptr) +{ + return ({ QByteArray t4aa98b = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(t4aa98b.prepend("WHITESPACE").constData()+10), t4aa98b.size()-10 }; }); +} + +long long QCborParserError_Offset(void* ptr) +{ + return static_cast(ptr)->offset; +} + +void QCborParserError_SetOffset(void* ptr, long long vqi) +{ + static_cast(ptr)->offset = vqi; +} + +void QCborParserError_SetError(void* ptr, void* vqc) +{ + static_cast(ptr)->error = *static_cast(vqc); +} + +int QCborValue_False_Type() +{ + return QCborValue::False; +} + +int QCborValue_True_Type() +{ + return QCborValue::True; +} + +int QCborValue_Null_Type() +{ + return QCborValue::Null; +} + +int QCborValue_Undefined_Type() +{ + return QCborValue::Undefined; +} + +void* QChar_NewQChar() +{ + return new QChar(); +} + +void* QChar_NewQChar2(unsigned short code) +{ + return new QChar(code); +} + +void* QChar_NewQChar3(char* cell, char* row) +{ + return new QChar(*static_cast(static_cast(cell)), *static_cast(static_cast(row))); +} + +void* QChar_NewQChar4(short code) +{ + return new QChar(code); +} + +void* QChar_NewQChar5(unsigned int code) +{ + return new QChar(code); +} + +void* QChar_NewQChar6(int code) +{ + return new QChar(code); +} + +void* QChar_NewQChar7(long long ch) +{ + return new QChar(static_cast(ch)); +} + +void* QChar_NewQChar8(void* ch) +{ + return new QChar(*static_cast(ch)); +} + +void* QChar_NewQChar11(char* ch) +{ + return new QChar(*ch); +} + +void* QChar_NewQChar12(char* ch) +{ + return new QChar(*static_cast(static_cast(ch))); +} + +long long QChar_Category(void* ptr) +{ + return static_cast(ptr)->category(); +} + +long long QChar_QChar_Category2(unsigned int ucs4) +{ + return QChar::category(ucs4); +} + +struct QtCore_PackedString QChar_Cell(void* ptr) +{ + return ({ uchar pret5084cd = static_cast(ptr)->cell(); char* t5084cd = static_cast(static_cast(&pret5084cd)); QtCore_PackedString { t5084cd, -1 }; }); +} + +long long QChar_QChar_CurrentUnicodeVersion() +{ + return QChar::currentUnicodeVersion(); +} + +struct QtCore_PackedString QChar_Decomposition(void* ptr) +{ + return ({ QByteArray t1c0ad1 = static_cast(ptr)->decomposition().toUtf8(); QtCore_PackedString { const_cast(t1c0ad1.prepend("WHITESPACE").constData()+10), t1c0ad1.size()-10 }; }); +} + +struct QtCore_PackedString QChar_QChar_Decomposition2(unsigned int ucs4) +{ + return ({ QByteArray tae885b = QChar::decomposition(ucs4).toUtf8(); QtCore_PackedString { const_cast(tae885b.prepend("WHITESPACE").constData()+10), tae885b.size()-10 }; }); +} + +long long QChar_DecompositionTag(void* ptr) +{ + return static_cast(ptr)->decompositionTag(); +} + +long long QChar_QChar_DecompositionTag2(unsigned int ucs4) +{ + return QChar::decompositionTag(ucs4); +} + +int QChar_DigitValue(void* ptr) +{ + return static_cast(ptr)->digitValue(); +} + +int QChar_QChar_DigitValue2(unsigned int ucs4) +{ + return QChar::digitValue(ucs4); +} + +long long QChar_Direction(void* ptr) +{ + return static_cast(ptr)->direction(); +} + +long long QChar_QChar_Direction2(unsigned int ucs4) +{ + return QChar::direction(ucs4); +} + +void* QChar_QChar_FromLatin1(char* c) +{ + return new QChar(QChar::fromLatin1(*c)); +} + +char QChar_HasMirrored(void* ptr) +{ + return static_cast(ptr)->hasMirrored(); +} + +char QChar_QChar_HasMirrored2(unsigned int ucs4) +{ + return QChar::hasMirrored(ucs4); +} + +unsigned short QChar_QChar_HighSurrogate(unsigned int ucs4) +{ + return QChar::highSurrogate(ucs4); +} + +char QChar_IsDigit(void* ptr) +{ + return static_cast(ptr)->isDigit(); +} + +char QChar_QChar_IsDigit2(unsigned int ucs4) +{ + return QChar::isDigit(ucs4); +} + +char QChar_IsHighSurrogate(void* ptr) +{ + return static_cast(ptr)->isHighSurrogate(); +} + +char QChar_QChar_IsHighSurrogate2(unsigned int ucs4) +{ + return QChar::isHighSurrogate(ucs4); +} + +char QChar_IsLetter(void* ptr) +{ + return static_cast(ptr)->isLetter(); +} + +char QChar_QChar_IsLetter2(unsigned int ucs4) +{ + return QChar::isLetter(ucs4); +} + +char QChar_IsLetterOrNumber(void* ptr) +{ + return static_cast(ptr)->isLetterOrNumber(); +} + +char QChar_QChar_IsLetterOrNumber2(unsigned int ucs4) +{ + return QChar::isLetterOrNumber(ucs4); +} + +char QChar_IsLowSurrogate(void* ptr) +{ + return static_cast(ptr)->isLowSurrogate(); +} + +char QChar_QChar_IsLowSurrogate2(unsigned int ucs4) +{ + return QChar::isLowSurrogate(ucs4); +} + +char QChar_IsLower(void* ptr) +{ + return static_cast(ptr)->isLower(); +} + +char QChar_QChar_IsLower2(unsigned int ucs4) +{ + return QChar::isLower(ucs4); +} + +char QChar_IsMark(void* ptr) +{ + return static_cast(ptr)->isMark(); +} + +char QChar_QChar_IsMark2(unsigned int ucs4) +{ + return QChar::isMark(ucs4); +} + +char QChar_IsNonCharacter(void* ptr) +{ + return static_cast(ptr)->isNonCharacter(); +} + +char QChar_QChar_IsNonCharacter2(unsigned int ucs4) +{ + return QChar::isNonCharacter(ucs4); +} + +char QChar_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QChar_IsNumber(void* ptr) +{ + return static_cast(ptr)->isNumber(); +} + +char QChar_QChar_IsNumber2(unsigned int ucs4) +{ + return QChar::isNumber(ucs4); +} + +char QChar_IsPrint(void* ptr) +{ + return static_cast(ptr)->isPrint(); +} + +char QChar_QChar_IsPrint2(unsigned int ucs4) +{ + return QChar::isPrint(ucs4); +} + +char QChar_IsPunct(void* ptr) +{ + return static_cast(ptr)->isPunct(); +} + +char QChar_QChar_IsPunct2(unsigned int ucs4) +{ + return QChar::isPunct(ucs4); +} + +char QChar_IsSpace(void* ptr) +{ + return static_cast(ptr)->isSpace(); +} + +char QChar_QChar_IsSpace2(unsigned int ucs4) +{ + return QChar::isSpace(ucs4); +} + +char QChar_IsSurrogate(void* ptr) +{ + return static_cast(ptr)->isSurrogate(); +} + +char QChar_QChar_IsSurrogate2(unsigned int ucs4) +{ + return QChar::isSurrogate(ucs4); +} + +char QChar_IsSymbol(void* ptr) +{ + return static_cast(ptr)->isSymbol(); +} + +char QChar_QChar_IsSymbol2(unsigned int ucs4) +{ + return QChar::isSymbol(ucs4); +} + +char QChar_IsTitleCase(void* ptr) +{ + return static_cast(ptr)->isTitleCase(); +} + +char QChar_QChar_IsTitleCase2(unsigned int ucs4) +{ + return QChar::isTitleCase(ucs4); +} + +char QChar_IsUpper(void* ptr) +{ + return static_cast(ptr)->isUpper(); +} + +char QChar_QChar_IsUpper2(unsigned int ucs4) +{ + return QChar::isUpper(ucs4); +} + +long long QChar_JoiningType(void* ptr) +{ + return static_cast(ptr)->joiningType(); +} + +long long QChar_QChar_JoiningType2(unsigned int ucs4) +{ + return QChar::joiningType(ucs4); +} + +unsigned short QChar_QChar_LowSurrogate(unsigned int ucs4) +{ + return QChar::lowSurrogate(ucs4); +} + +void* QChar_MirroredChar(void* ptr) +{ + return new QChar(static_cast(ptr)->mirroredChar()); +} + +unsigned int QChar_QChar_MirroredChar2(unsigned int ucs4) +{ + return QChar::mirroredChar(ucs4); +} + +char QChar_QChar_RequiresSurrogates(unsigned int ucs4) +{ + return QChar::requiresSurrogates(ucs4); +} + +struct QtCore_PackedString QChar_Row(void* ptr) +{ + return ({ uchar pret52b865 = static_cast(ptr)->row(); char* t52b865 = static_cast(static_cast(&pret52b865)); QtCore_PackedString { t52b865, -1 }; }); +} + +long long QChar_Script(void* ptr) +{ + return static_cast(ptr)->script(); +} + +long long QChar_QChar_Script2(unsigned int ucs4) +{ + return QChar::script(ucs4); +} + +unsigned int QChar_QChar_SurrogateToUcs4(unsigned short high, unsigned short low) +{ + return QChar::surrogateToUcs4(high, low); +} + +unsigned int QChar_QChar_SurrogateToUcs42(void* high, void* low) +{ + return QChar::surrogateToUcs4(*static_cast(high), *static_cast(low)); +} + +void* QChar_ToCaseFolded(void* ptr) +{ + return new QChar(static_cast(ptr)->toCaseFolded()); +} + +unsigned int QChar_QChar_ToCaseFolded2(unsigned int ucs4) +{ + return QChar::toCaseFolded(ucs4); +} + +struct QtCore_PackedString QChar_ToLatin1(void* ptr) +{ + return ({ char t24c86e = static_cast(ptr)->toLatin1(); QtCore_PackedString { &t24c86e, -1 }; }); +} + +void* QChar_ToLower(void* ptr) +{ + return new QChar(static_cast(ptr)->toLower()); +} + +unsigned int QChar_QChar_ToLower2(unsigned int ucs4) +{ + return QChar::toLower(ucs4); +} + +void* QChar_ToTitleCase(void* ptr) +{ + return new QChar(static_cast(ptr)->toTitleCase()); +} + +unsigned int QChar_QChar_ToTitleCase2(unsigned int ucs4) +{ + return QChar::toTitleCase(ucs4); +} + +void* QChar_ToUpper(void* ptr) +{ + return new QChar(static_cast(ptr)->toUpper()); +} + +unsigned int QChar_QChar_ToUpper2(unsigned int ucs4) +{ + return QChar::toUpper(ucs4); +} + +unsigned short QChar_Unicode(void* ptr) +{ + return static_cast(ptr)->unicode(); +} + +unsigned short QChar_Unicode2(void* ptr) +{ + return static_cast(ptr)->unicode(); +} + +long long QChar_UnicodeVersion(void* ptr) +{ + return static_cast(ptr)->unicodeVersion(); +} + +long long QChar_QChar_UnicodeVersion2(unsigned int ucs4) +{ + return QChar::unicodeVersion(ucs4); +} + +class MyQChildEvent: public QChildEvent +{ +public: + MyQChildEvent(QEvent::Type ty, QObject *child) : QChildEvent(ty, child) {}; +}; + +void* QChildEvent_NewQChildEvent(long long ty, void* child) +{ + if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else if (dynamic_cast(static_cast(child))) { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } else { + return new MyQChildEvent(static_cast(ty), static_cast(child)); + } +} + +char QChildEvent_Added(void* ptr) +{ + return static_cast(ptr)->added(); +} + +void* QChildEvent_Child(void* ptr) +{ + return static_cast(ptr)->child(); +} + +char QChildEvent_Polished(void* ptr) +{ + return static_cast(ptr)->polished(); +} + +char QChildEvent_Removed(void* ptr) +{ + return static_cast(ptr)->removed(); +} + +void* QCollator_NewQCollator(void* locale) +{ + return new QCollator(*static_cast(locale)); +} + +void* QCollator_NewQCollator2(void* other) +{ + return new QCollator(*static_cast(other)); +} + +void* QCollator_NewQCollator3(void* other) +{ + return new QCollator(*static_cast(other)); +} + +long long QCollator_CaseSensitivity(void* ptr) +{ + return static_cast(ptr)->caseSensitivity(); +} + +int QCollator_Compare(void* ptr, struct QtCore_PackedString s1, struct QtCore_PackedString s2) +{ + return static_cast(ptr)->compare(QString::fromUtf8(s1.data, s1.len), QString::fromUtf8(s2.data, s2.len)); +} + +int QCollator_Compare2(void* ptr, void* s1, void* s2) +{ + return static_cast(ptr)->compare(*static_cast(s1), *static_cast(s2)); +} + +int QCollator_Compare3(void* ptr, void* s1, int len1, void* s2, int len2) +{ + return static_cast(ptr)->compare(static_cast(s1), len1, static_cast(s2), len2); +} + +char QCollator_IgnorePunctuation(void* ptr) +{ + return static_cast(ptr)->ignorePunctuation(); +} + +void* QCollator_Locale(void* ptr) +{ + return new QLocale(static_cast(ptr)->locale()); +} + +char QCollator_NumericMode(void* ptr) +{ + return static_cast(ptr)->numericMode(); +} + +void QCollator_SetCaseSensitivity(void* ptr, long long sensitivity) +{ + static_cast(ptr)->setCaseSensitivity(static_cast(sensitivity)); +} + +void QCollator_SetIgnorePunctuation(void* ptr, char on) +{ + static_cast(ptr)->setIgnorePunctuation(on != 0); +} + +void QCollator_SetLocale(void* ptr, void* locale) +{ + static_cast(ptr)->setLocale(*static_cast(locale)); +} + +void QCollator_SetNumericMode(void* ptr, char on) +{ + static_cast(ptr)->setNumericMode(on != 0); +} + +void* QCollator_SortKey(void* ptr, struct QtCore_PackedString stri) +{ + return new QCollatorSortKey(static_cast(ptr)->sortKey(QString::fromUtf8(stri.data, stri.len))); +} + +void QCollator_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QCollator_DestroyQCollator(void* ptr) +{ + static_cast(ptr)->~QCollator(); +} + +void* QCollatorSortKey_NewQCollatorSortKey(void* other) +{ + return new QCollatorSortKey(*static_cast(other)); +} + +int QCollatorSortKey_Compare(void* ptr, void* otherKey) +{ + return static_cast(ptr)->compare(*static_cast(otherKey)); +} + +void QCollatorSortKey_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QCollatorSortKey_DestroyQCollatorSortKey(void* ptr) +{ + static_cast(ptr)->~QCollatorSortKey(); +} + +void* QCommandLineOption_NewQCommandLineOption(struct QtCore_PackedString name) +{ + return new QCommandLineOption(QString::fromUtf8(name.data, name.len)); +} + +void* QCommandLineOption_NewQCommandLineOption2(struct QtCore_PackedString names) +{ + return new QCommandLineOption(QString::fromUtf8(names.data, names.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void* QCommandLineOption_NewQCommandLineOption3(struct QtCore_PackedString name, struct QtCore_PackedString description, struct QtCore_PackedString valueName, struct QtCore_PackedString defaultValue) +{ + return new QCommandLineOption(QString::fromUtf8(name.data, name.len), QString::fromUtf8(description.data, description.len), QString::fromUtf8(valueName.data, valueName.len), QString::fromUtf8(defaultValue.data, defaultValue.len)); +} + +void* QCommandLineOption_NewQCommandLineOption4(struct QtCore_PackedString names, struct QtCore_PackedString description, struct QtCore_PackedString valueName, struct QtCore_PackedString defaultValue) +{ + return new QCommandLineOption(QString::fromUtf8(names.data, names.len).split("¡¦!", QString::SkipEmptyParts), QString::fromUtf8(description.data, description.len), QString::fromUtf8(valueName.data, valueName.len), QString::fromUtf8(defaultValue.data, defaultValue.len)); +} + +void* QCommandLineOption_NewQCommandLineOption5(void* other) +{ + return new QCommandLineOption(*static_cast(other)); +} + +struct QtCore_PackedString QCommandLineOption_DefaultValues(void* ptr) +{ + return ({ QByteArray t2b2409 = static_cast(ptr)->defaultValues().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t2b2409.prepend("WHITESPACE").constData()+10), t2b2409.size()-10 }; }); +} + +struct QtCore_PackedString QCommandLineOption_Description(void* ptr) +{ + return ({ QByteArray t9df42f = static_cast(ptr)->description().toUtf8(); QtCore_PackedString { const_cast(t9df42f.prepend("WHITESPACE").constData()+10), t9df42f.size()-10 }; }); +} + +long long QCommandLineOption_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +struct QtCore_PackedString QCommandLineOption_Names(void* ptr) +{ + return ({ QByteArray t15f7c9 = static_cast(ptr)->names().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t15f7c9.prepend("WHITESPACE").constData()+10), t15f7c9.size()-10 }; }); +} + +void QCommandLineOption_SetDefaultValue(void* ptr, struct QtCore_PackedString defaultValue) +{ + static_cast(ptr)->setDefaultValue(QString::fromUtf8(defaultValue.data, defaultValue.len)); +} + +void QCommandLineOption_SetDefaultValues(void* ptr, struct QtCore_PackedString defaultValues) +{ + static_cast(ptr)->setDefaultValues(QString::fromUtf8(defaultValues.data, defaultValues.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QCommandLineOption_SetDescription(void* ptr, struct QtCore_PackedString description) +{ + static_cast(ptr)->setDescription(QString::fromUtf8(description.data, description.len)); +} + +void QCommandLineOption_SetFlags(void* ptr, long long flags) +{ + static_cast(ptr)->setFlags(static_cast(flags)); +} + +void QCommandLineOption_SetValueName(void* ptr, struct QtCore_PackedString valueName) +{ + static_cast(ptr)->setValueName(QString::fromUtf8(valueName.data, valueName.len)); +} + +void QCommandLineOption_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtCore_PackedString QCommandLineOption_ValueName(void* ptr) +{ + return ({ QByteArray t9c33ed = static_cast(ptr)->valueName().toUtf8(); QtCore_PackedString { const_cast(t9c33ed.prepend("WHITESPACE").constData()+10), t9c33ed.size()-10 }; }); +} + +void QCommandLineOption_DestroyQCommandLineOption(void* ptr) +{ + static_cast(ptr)->~QCommandLineOption(); +} + +void* QCommandLineParser_NewQCommandLineParser() +{ + return new QCommandLineParser(); +} + +void* QCommandLineParser_AddHelpOption(void* ptr) +{ + return new QCommandLineOption(static_cast(ptr)->addHelpOption()); +} + +char QCommandLineParser_AddOption(void* ptr, void* option) +{ + return static_cast(ptr)->addOption(*static_cast(option)); +} + +char QCommandLineParser_AddOptions(void* ptr, void* options) +{ + return static_cast(ptr)->addOptions(*static_cast*>(options)); +} + +void QCommandLineParser_AddPositionalArgument(void* ptr, struct QtCore_PackedString name, struct QtCore_PackedString description, struct QtCore_PackedString syntax) +{ + static_cast(ptr)->addPositionalArgument(QString::fromUtf8(name.data, name.len), QString::fromUtf8(description.data, description.len), QString::fromUtf8(syntax.data, syntax.len)); +} + +void* QCommandLineParser_AddVersionOption(void* ptr) +{ + return new QCommandLineOption(static_cast(ptr)->addVersionOption()); +} + +struct QtCore_PackedString QCommandLineParser_ApplicationDescription(void* ptr) +{ + return ({ QByteArray tae4284 = static_cast(ptr)->applicationDescription().toUtf8(); QtCore_PackedString { const_cast(tae4284.prepend("WHITESPACE").constData()+10), tae4284.size()-10 }; }); +} + +void QCommandLineParser_ClearPositionalArguments(void* ptr) +{ + static_cast(ptr)->clearPositionalArguments(); +} + +struct QtCore_PackedString QCommandLineParser_ErrorText(void* ptr) +{ + return ({ QByteArray t56b716 = static_cast(ptr)->errorText().toUtf8(); QtCore_PackedString { const_cast(t56b716.prepend("WHITESPACE").constData()+10), t56b716.size()-10 }; }); +} + +struct QtCore_PackedString QCommandLineParser_HelpText(void* ptr) +{ + return ({ QByteArray t7ab9aa = static_cast(ptr)->helpText().toUtf8(); QtCore_PackedString { const_cast(t7ab9aa.prepend("WHITESPACE").constData()+10), t7ab9aa.size()-10 }; }); +} + +char QCommandLineParser_IsSet(void* ptr, struct QtCore_PackedString name) +{ + return static_cast(ptr)->isSet(QString::fromUtf8(name.data, name.len)); +} + +char QCommandLineParser_IsSet2(void* ptr, void* option) +{ + return static_cast(ptr)->isSet(*static_cast(option)); +} + +struct QtCore_PackedString QCommandLineParser_OptionNames(void* ptr) +{ + return ({ QByteArray tc902b8 = static_cast(ptr)->optionNames().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tc902b8.prepend("WHITESPACE").constData()+10), tc902b8.size()-10 }; }); +} + +char QCommandLineParser_Parse(void* ptr, struct QtCore_PackedString arguments) +{ + return static_cast(ptr)->parse(QString::fromUtf8(arguments.data, arguments.len).split("¡¦!", QString::SkipEmptyParts)); +} + +struct QtCore_PackedString QCommandLineParser_PositionalArguments(void* ptr) +{ + return ({ QByteArray t6fd298 = static_cast(ptr)->positionalArguments().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t6fd298.prepend("WHITESPACE").constData()+10), t6fd298.size()-10 }; }); +} + +void QCommandLineParser_Process(void* ptr, struct QtCore_PackedString arguments) +{ + static_cast(ptr)->process(QString::fromUtf8(arguments.data, arguments.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QCommandLineParser_Process2(void* ptr, void* app) +{ + static_cast(ptr)->process(*static_cast(app)); +} + +void QCommandLineParser_SetApplicationDescription(void* ptr, struct QtCore_PackedString description) +{ + static_cast(ptr)->setApplicationDescription(QString::fromUtf8(description.data, description.len)); +} + +void QCommandLineParser_SetOptionsAfterPositionalArgumentsMode(void* ptr, long long parsingMode) +{ + static_cast(ptr)->setOptionsAfterPositionalArgumentsMode(static_cast(parsingMode)); +} + +void QCommandLineParser_SetSingleDashWordOptionMode(void* ptr, long long singleDashWordOptionMode) +{ + static_cast(ptr)->setSingleDashWordOptionMode(static_cast(singleDashWordOptionMode)); +} + +void QCommandLineParser_ShowHelp(void* ptr, int exitCode) +{ + static_cast(ptr)->showHelp(exitCode); +} + +void QCommandLineParser_ShowVersion(void* ptr) +{ + static_cast(ptr)->showVersion(); +} + +struct QtCore_PackedString QCommandLineParser_UnknownOptionNames(void* ptr) +{ + return ({ QByteArray t00a30a = static_cast(ptr)->unknownOptionNames().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t00a30a.prepend("WHITESPACE").constData()+10), t00a30a.size()-10 }; }); +} + +struct QtCore_PackedString QCommandLineParser_Value(void* ptr, struct QtCore_PackedString optionName) +{ + return ({ QByteArray t86b3ac = static_cast(ptr)->value(QString::fromUtf8(optionName.data, optionName.len)).toUtf8(); QtCore_PackedString { const_cast(t86b3ac.prepend("WHITESPACE").constData()+10), t86b3ac.size()-10 }; }); +} + +struct QtCore_PackedString QCommandLineParser_Value2(void* ptr, void* option) +{ + return ({ QByteArray t36413b = static_cast(ptr)->value(*static_cast(option)).toUtf8(); QtCore_PackedString { const_cast(t36413b.prepend("WHITESPACE").constData()+10), t36413b.size()-10 }; }); +} + +struct QtCore_PackedString QCommandLineParser_Values(void* ptr, struct QtCore_PackedString optionName) +{ + return ({ QByteArray te65c16 = static_cast(ptr)->values(QString::fromUtf8(optionName.data, optionName.len)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(te65c16.prepend("WHITESPACE").constData()+10), te65c16.size()-10 }; }); +} + +struct QtCore_PackedString QCommandLineParser_Values2(void* ptr, void* option) +{ + return ({ QByteArray tafc470 = static_cast(ptr)->values(*static_cast(option)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tafc470.prepend("WHITESPACE").constData()+10), tafc470.size()-10 }; }); +} + +void QCommandLineParser_DestroyQCommandLineParser(void* ptr) +{ + static_cast(ptr)->~QCommandLineParser(); +} + +void* QCommandLineParser___addOptions_options_atList(void* ptr, int i) +{ + return new QCommandLineOption(({QCommandLineOption tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QCommandLineParser___addOptions_options_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QCommandLineParser___addOptions_options_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQConcatenateTablesProxyModel: public QConcatenateTablesProxyModel +{ +public: + MyQConcatenateTablesProxyModel(QObject *parent = Q_NULLPTR) : QConcatenateTablesProxyModel(parent) {QConcatenateTablesProxyModel_QConcatenateTablesProxyModel_QRegisterMetaType();}; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQAbstractItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + int columnCount(const QModelIndex & parent) const { return callbackQConcatenateTablesProxyModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + QVariant data(const QModelIndex & index, int role) const { return *static_cast(callbackQConcatenateTablesProxyModel_Data(const_cast(static_cast(this)), const_cast(&index), role)); }; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQAbstractItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQAbstractItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQAbstractItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQConcatenateTablesProxyModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + QMap itemData(const QModelIndex & proxyIndex) const { return ({ QMap* tmpP = static_cast*>(callbackQAbstractItemModel_ItemData(const_cast(static_cast(this)), const_cast(&proxyIndex))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQAbstractItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtCore_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtCore_PackedString tempVal = callbackQAbstractItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + QModelIndex parent(const QModelIndex & index) const { return *static_cast(callbackQConcatenateTablesProxyModel_Parent(const_cast(static_cast(this)), const_cast(&index))); }; + int rowCount(const QModelIndex & parent) const { return callbackQConcatenateTablesProxyModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQAbstractItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + bool setItemData(const QModelIndex & proxyIndex, const QMap & roles) { return callbackQAbstractItemModel_SetItemData(this, const_cast(&proxyIndex), ({ QMap* tmpValue037c88 = new QMap(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + ~MyQConcatenateTablesProxyModel() { callbackQConcatenateTablesProxyModel_DestroyQConcatenateTablesProxyModel(this); }; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQAbstractItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQAbstractItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQAbstractItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQAbstractItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + void fetchMore(const QModelIndex & parent) { callbackQAbstractItemModel_FetchMore(this, const_cast(&parent)); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQAbstractItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQAbstractItemModel_HeaderDataChanged(this, orientation, first, last); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQAbstractItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + void Signal_ModelAboutToBeReset() { callbackQAbstractItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQAbstractItemModel_ModelReset(this); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveColumns(this, const_cast(&sourceParent), sourceColumn, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + void resetInternalData() { callbackQAbstractItemModel_ResetInternalData(this); }; + void revert() { callbackQAbstractItemModel_Revert(this); }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQAbstractItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQAbstractItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQAbstractItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQAbstractItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQAbstractItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + QModelIndex sibling(int row, int column, const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&index))); }; + void sort(int column, Qt::SortOrder order) { callbackQAbstractItemModel_Sort(this, column, order); }; + bool submit() { return callbackQAbstractItemModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQAbstractItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQAbstractItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQConcatenateTablesProxyModel*) + +int QConcatenateTablesProxyModel_QConcatenateTablesProxyModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QConcatenateTablesProxyModel_NewQConcatenateTablesProxyModel(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } else { + return new MyQConcatenateTablesProxyModel(static_cast(parent)); + } +} + +void QConcatenateTablesProxyModel_AddSourceModel(void* ptr, void* sourceModel) +{ + static_cast(ptr)->addSourceModel(static_cast(sourceModel)); +} + +int QConcatenateTablesProxyModel_ColumnCount(void* ptr, void* parent) +{ + return static_cast(ptr)->columnCount(*static_cast(parent)); +} + +int QConcatenateTablesProxyModel_ColumnCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QConcatenateTablesProxyModel::columnCount(*static_cast(parent)); +} + +void* QConcatenateTablesProxyModel_Data(void* ptr, void* index, int role) +{ + return new QVariant(static_cast(ptr)->data(*static_cast(index), role)); +} + +void* QConcatenateTablesProxyModel_DataDefault(void* ptr, void* index, int role) +{ + return new QVariant(static_cast(ptr)->QConcatenateTablesProxyModel::data(*static_cast(index), role)); +} + +void* QConcatenateTablesProxyModel_Index(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->index(row, column, *static_cast(parent))); +} + +void* QConcatenateTablesProxyModel_IndexDefault(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->QConcatenateTablesProxyModel::index(row, column, *static_cast(parent))); +} + +void* QConcatenateTablesProxyModel_MapFromSource(void* ptr, void* sourceIndex) +{ + return new QModelIndex(static_cast(ptr)->mapFromSource(*static_cast(sourceIndex))); +} + +void* QConcatenateTablesProxyModel_MapToSource(void* ptr, void* proxyIndex) +{ + return new QModelIndex(static_cast(ptr)->mapToSource(*static_cast(proxyIndex))); +} + +void* QConcatenateTablesProxyModel_Parent(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->parent(*static_cast(index))); +} + +void* QConcatenateTablesProxyModel_ParentDefault(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->QConcatenateTablesProxyModel::parent(*static_cast(index))); +} + +void QConcatenateTablesProxyModel_RemoveSourceModel(void* ptr, void* sourceModel) +{ + static_cast(ptr)->removeSourceModel(static_cast(sourceModel)); +} + +int QConcatenateTablesProxyModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +int QConcatenateTablesProxyModel_RowCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QConcatenateTablesProxyModel::rowCount(*static_cast(parent)); +} + +void QConcatenateTablesProxyModel_DestroyQConcatenateTablesProxyModel(void* ptr) +{ + static_cast(ptr)->~QConcatenateTablesProxyModel(); +} + +void QConcatenateTablesProxyModel_DestroyQConcatenateTablesProxyModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQCoreApplication: public QCoreApplication +{ +public: + MyQCoreApplication(int &argc, char **argv) : QCoreApplication(argc, argv) {QCoreApplication_QCoreApplication_QRegisterMetaType();}; + void Signal_AboutToQuit() { callbackQCoreApplication_AboutToQuit(this); }; + void Signal_ApplicationNameChanged() { callbackQCoreApplication_ApplicationNameChanged(this); }; + void Signal_ApplicationVersionChanged() { callbackQCoreApplication_ApplicationVersionChanged(this); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + void Signal_OrganizationDomainChanged() { callbackQCoreApplication_OrganizationDomainChanged(this); }; + void Signal_OrganizationNameChanged() { callbackQCoreApplication_OrganizationNameChanged(this); }; + void quit() { callbackQCoreApplication_Quit(this); }; + ~MyQCoreApplication() { callbackQCoreApplication_DestroyQCoreApplication(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQCoreApplication*) + +int QCoreApplication_QCoreApplication_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QCoreApplication_NewQCoreApplication(int argc, char* argv) +{ + static int argcs = argc; + static char** argvs = static_cast(malloc(argcs * sizeof(char*))); + + QList aList = QByteArray(argv).split('|'); + for (int i = 0; i < argcs; i++) + argvs[i] = (new QByteArray(aList.at(i)))->data(); + + return new MyQCoreApplication(argcs, argvs); +} + +void QCoreApplication_ConnectAboutToQuit(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QCoreApplication::aboutToQuit, static_cast(ptr), static_cast(&MyQCoreApplication::Signal_AboutToQuit), static_cast(t)); +} + +void QCoreApplication_DisconnectAboutToQuit(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QCoreApplication::aboutToQuit, static_cast(ptr), static_cast(&MyQCoreApplication::Signal_AboutToQuit)); +} + +void QCoreApplication_QCoreApplication_AddLibraryPath(struct QtCore_PackedString path) +{ + QCoreApplication::addLibraryPath(QString::fromUtf8(path.data, path.len)); +} + +struct QtCore_PackedString QCoreApplication_QCoreApplication_ApplicationDirPath() +{ + return ({ QByteArray t3c2a71 = QCoreApplication::applicationDirPath().toUtf8(); QtCore_PackedString { const_cast(t3c2a71.prepend("WHITESPACE").constData()+10), t3c2a71.size()-10 }; }); +} + +struct QtCore_PackedString QCoreApplication_QCoreApplication_ApplicationFilePath() +{ + return ({ QByteArray t189694 = QCoreApplication::applicationFilePath().toUtf8(); QtCore_PackedString { const_cast(t189694.prepend("WHITESPACE").constData()+10), t189694.size()-10 }; }); +} + +struct QtCore_PackedString QCoreApplication_QCoreApplication_ApplicationName() +{ + return ({ QByteArray t704b73 = QCoreApplication::applicationName().toUtf8(); QtCore_PackedString { const_cast(t704b73.prepend("WHITESPACE").constData()+10), t704b73.size()-10 }; }); +} + +void QCoreApplication_ConnectApplicationNameChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QCoreApplication::applicationNameChanged), static_cast(ptr), static_cast(&MyQCoreApplication::Signal_ApplicationNameChanged), static_cast(t)); +} + +void QCoreApplication_DisconnectApplicationNameChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QCoreApplication::applicationNameChanged), static_cast(ptr), static_cast(&MyQCoreApplication::Signal_ApplicationNameChanged)); +} + +void QCoreApplication_ApplicationNameChanged(void* ptr) +{ + static_cast(ptr)->applicationNameChanged(); +} + +long long QCoreApplication_QCoreApplication_ApplicationPid() +{ + return QCoreApplication::applicationPid(); +} + +struct QtCore_PackedString QCoreApplication_QCoreApplication_ApplicationVersion() +{ + return ({ QByteArray t9f1c49 = QCoreApplication::applicationVersion().toUtf8(); QtCore_PackedString { const_cast(t9f1c49.prepend("WHITESPACE").constData()+10), t9f1c49.size()-10 }; }); +} + +void QCoreApplication_ConnectApplicationVersionChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QCoreApplication::applicationVersionChanged), static_cast(ptr), static_cast(&MyQCoreApplication::Signal_ApplicationVersionChanged), static_cast(t)); +} + +void QCoreApplication_DisconnectApplicationVersionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QCoreApplication::applicationVersionChanged), static_cast(ptr), static_cast(&MyQCoreApplication::Signal_ApplicationVersionChanged)); +} + +void QCoreApplication_ApplicationVersionChanged(void* ptr) +{ + static_cast(ptr)->applicationVersionChanged(); +} + +struct QtCore_PackedString QCoreApplication_QCoreApplication_Arguments() +{ + return ({ QByteArray tee588f = QCoreApplication::arguments().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tee588f.prepend("WHITESPACE").constData()+10), tee588f.size()-10 }; }); +} + +char QCoreApplication_QCoreApplication_ClosingDown() +{ + return QCoreApplication::closingDown(); +} + +void* QCoreApplication_QCoreApplication_EventDispatcher() +{ + return QCoreApplication::eventDispatcher(); +} + +int QCoreApplication_QCoreApplication_Exec() +{ + return QCoreApplication::exec(); +} + +void QCoreApplication_QCoreApplication_Exit(int returnCode) +{ + QCoreApplication::exit(returnCode); +} + +void QCoreApplication_InstallNativeEventFilter(void* ptr, void* filterObj) +{ + static_cast(ptr)->installNativeEventFilter(static_cast(filterObj)); +} + +char QCoreApplication_QCoreApplication_InstallTranslator(void* translationFile) +{ + return QCoreApplication::installTranslator(static_cast(translationFile)); +} + +void* QCoreApplication_QCoreApplication_Instance() +{ + return QCoreApplication::instance(); +} + +char QCoreApplication_QCoreApplication_IsQuitLockEnabled() +{ + return QCoreApplication::isQuitLockEnabled(); +} + +char QCoreApplication_QCoreApplication_IsSetuidAllowed() +{ + return QCoreApplication::isSetuidAllowed(); +} + +struct QtCore_PackedString QCoreApplication_QCoreApplication_LibraryPaths() +{ + return ({ QByteArray tec17c7 = QCoreApplication::libraryPaths().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tec17c7.prepend("WHITESPACE").constData()+10), tec17c7.size()-10 }; }); +} + +struct QtCore_PackedString QCoreApplication_QCoreApplication_OrganizationDomain() +{ + return ({ QByteArray t013a2e = QCoreApplication::organizationDomain().toUtf8(); QtCore_PackedString { const_cast(t013a2e.prepend("WHITESPACE").constData()+10), t013a2e.size()-10 }; }); +} + +void QCoreApplication_ConnectOrganizationDomainChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QCoreApplication::organizationDomainChanged), static_cast(ptr), static_cast(&MyQCoreApplication::Signal_OrganizationDomainChanged), static_cast(t)); +} + +void QCoreApplication_DisconnectOrganizationDomainChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QCoreApplication::organizationDomainChanged), static_cast(ptr), static_cast(&MyQCoreApplication::Signal_OrganizationDomainChanged)); +} + +void QCoreApplication_OrganizationDomainChanged(void* ptr) +{ + static_cast(ptr)->organizationDomainChanged(); +} + +struct QtCore_PackedString QCoreApplication_QCoreApplication_OrganizationName() +{ + return ({ QByteArray t6f3f58 = QCoreApplication::organizationName().toUtf8(); QtCore_PackedString { const_cast(t6f3f58.prepend("WHITESPACE").constData()+10), t6f3f58.size()-10 }; }); +} + +void QCoreApplication_ConnectOrganizationNameChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QCoreApplication::organizationNameChanged), static_cast(ptr), static_cast(&MyQCoreApplication::Signal_OrganizationNameChanged), static_cast(t)); +} + +void QCoreApplication_DisconnectOrganizationNameChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QCoreApplication::organizationNameChanged), static_cast(ptr), static_cast(&MyQCoreApplication::Signal_OrganizationNameChanged)); +} + +void QCoreApplication_OrganizationNameChanged(void* ptr) +{ + static_cast(ptr)->organizationNameChanged(); +} + +void QCoreApplication_QCoreApplication_PostEvent(void* receiver, void* event, int priority) +{ + QCoreApplication::postEvent(static_cast(receiver), static_cast(event), priority); +} + +void QCoreApplication_QCoreApplication_ProcessEvents(long long flags) +{ + QCoreApplication::processEvents(static_cast(flags)); +} + +void QCoreApplication_QCoreApplication_ProcessEvents2(long long flags, int ms) +{ + QCoreApplication::processEvents(static_cast(flags), ms); +} + +void QCoreApplication_Quit(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "quit"); +} + +void QCoreApplication_QuitDefault(void* ptr) +{ + static_cast(ptr)->QCoreApplication::quit(); +} + +void QCoreApplication_QCoreApplication_RemoveLibraryPath(struct QtCore_PackedString path) +{ + QCoreApplication::removeLibraryPath(QString::fromUtf8(path.data, path.len)); +} + +void QCoreApplication_RemoveNativeEventFilter(void* ptr, void* filterObject) +{ + static_cast(ptr)->removeNativeEventFilter(static_cast(filterObject)); +} + +void QCoreApplication_QCoreApplication_RemovePostedEvents(void* receiver, int eventType) +{ + QCoreApplication::removePostedEvents(static_cast(receiver), eventType); +} + +char QCoreApplication_QCoreApplication_RemoveTranslator(void* translationFile) +{ + return QCoreApplication::removeTranslator(static_cast(translationFile)); +} + +char QCoreApplication_QCoreApplication_SendEvent(void* receiver, void* event) +{ + return QCoreApplication::sendEvent(static_cast(receiver), static_cast(event)); +} + +void QCoreApplication_QCoreApplication_SendPostedEvents(void* receiver, int event_type) +{ + QCoreApplication::sendPostedEvents(static_cast(receiver), event_type); +} + +void QCoreApplication_QCoreApplication_SetApplicationName(struct QtCore_PackedString application) +{ + QCoreApplication::setApplicationName(QString::fromUtf8(application.data, application.len)); +} + +void QCoreApplication_QCoreApplication_SetApplicationVersion(struct QtCore_PackedString version) +{ + QCoreApplication::setApplicationVersion(QString::fromUtf8(version.data, version.len)); +} + +void QCoreApplication_QCoreApplication_SetAttribute(long long attribute, char on) +{ + QCoreApplication::setAttribute(static_cast(attribute), on != 0); +} + +void QCoreApplication_QCoreApplication_SetEventDispatcher(void* eventDispatcher) +{ + QCoreApplication::setEventDispatcher(static_cast(eventDispatcher)); +} + +void QCoreApplication_QCoreApplication_SetLibraryPaths(struct QtCore_PackedString paths) +{ + QCoreApplication::setLibraryPaths(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QCoreApplication_QCoreApplication_SetOrganizationDomain(struct QtCore_PackedString orgDomain) +{ + QCoreApplication::setOrganizationDomain(QString::fromUtf8(orgDomain.data, orgDomain.len)); +} + +void QCoreApplication_QCoreApplication_SetOrganizationName(struct QtCore_PackedString orgName) +{ + QCoreApplication::setOrganizationName(QString::fromUtf8(orgName.data, orgName.len)); +} + +void QCoreApplication_QCoreApplication_SetQuitLockEnabled(char enabled) +{ + QCoreApplication::setQuitLockEnabled(enabled != 0); +} + +void QCoreApplication_QCoreApplication_SetSetuidAllowed(char allow) +{ + QCoreApplication::setSetuidAllowed(allow != 0); +} + +char QCoreApplication_QCoreApplication_StartingUp() +{ + return QCoreApplication::startingUp(); +} + +char QCoreApplication_QCoreApplication_TestAttribute(long long attribute) +{ + return QCoreApplication::testAttribute(static_cast(attribute)); +} + +struct QtCore_PackedString QCoreApplication_QCoreApplication_Translate(char* context, char* sourceText, char* disambiguation, int n) +{ + return ({ QByteArray t901eb0 = QCoreApplication::translate(const_cast(context), const_cast(sourceText), const_cast(disambiguation), n).toUtf8(); QtCore_PackedString { const_cast(t901eb0.prepend("WHITESPACE").constData()+10), t901eb0.size()-10 }; }); +} + +void QCoreApplication_DestroyQCoreApplication(void* ptr) +{ + static_cast(ptr)->~QCoreApplication(); +} + +void QCoreApplication_DestroyQCoreApplicationDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QCryptographicHash_NewQCryptographicHash(long long method) +{ + return new QCryptographicHash(static_cast(method)); +} + +void QCryptographicHash_AddData(void* ptr, char* data, int length) +{ + static_cast(ptr)->addData(const_cast(data), length); +} + +void QCryptographicHash_AddData2(void* ptr, void* data) +{ + static_cast(ptr)->addData(*static_cast(data)); +} + +char QCryptographicHash_AddData3(void* ptr, void* device) +{ + return static_cast(ptr)->addData(static_cast(device)); +} + +void* QCryptographicHash_QCryptographicHash_Hash(void* data, long long method) +{ + return new QByteArray(QCryptographicHash::hash(*static_cast(data), static_cast(method))); +} + +int QCryptographicHash_QCryptographicHash_HashLength(long long method) +{ + return QCryptographicHash::hashLength(static_cast(method)); +} + +void QCryptographicHash_Reset(void* ptr) +{ + static_cast(ptr)->reset(); +} + +void* QCryptographicHash_Result(void* ptr) +{ + return new QByteArray(static_cast(ptr)->result()); +} + +void QCryptographicHash_DestroyQCryptographicHash(void* ptr) +{ + static_cast(ptr)->~QCryptographicHash(); +} + +void* QDataStream_NewQDataStream() +{ + return new QDataStream(); +} + +void* QDataStream_NewQDataStream2(void* d) +{ + return new QDataStream(static_cast(d)); +} + +void* QDataStream_NewQDataStream3(void* a, long long mode) +{ + return new QDataStream(static_cast(a), static_cast(mode)); +} + +void* QDataStream_NewQDataStream4(void* a) +{ + return new QDataStream(*static_cast(a)); +} + +void QDataStream_AbortTransaction(void* ptr) +{ + static_cast(ptr)->abortTransaction(); +} + +char QDataStream_AtEnd(void* ptr) +{ + return static_cast(ptr)->atEnd(); +} + +long long QDataStream_ByteOrder(void* ptr) +{ + return static_cast(ptr)->byteOrder(); +} + +char QDataStream_CommitTransaction(void* ptr) +{ + return static_cast(ptr)->commitTransaction(); +} + +void* QDataStream_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +long long QDataStream_FloatingPointPrecision(void* ptr) +{ + return static_cast(ptr)->floatingPointPrecision(); +} + +int QDataStream_ReadRawData(void* ptr, char* s, int l) +{ + return static_cast(ptr)->readRawData(s, l); +} + +void QDataStream_ResetStatus(void* ptr) +{ + static_cast(ptr)->resetStatus(); +} + +void QDataStream_RollbackTransaction(void* ptr) +{ + static_cast(ptr)->rollbackTransaction(); +} + +void QDataStream_SetByteOrder(void* ptr, long long bo) +{ + static_cast(ptr)->setByteOrder(static_cast(bo)); +} + +void QDataStream_SetDevice(void* ptr, void* d) +{ + static_cast(ptr)->setDevice(static_cast(d)); +} + +void QDataStream_SetFloatingPointPrecision(void* ptr, long long precision) +{ + static_cast(ptr)->setFloatingPointPrecision(static_cast(precision)); +} + +void QDataStream_SetStatus(void* ptr, long long status) +{ + static_cast(ptr)->setStatus(static_cast(status)); +} + +void QDataStream_SetVersion(void* ptr, int v) +{ + static_cast(ptr)->setVersion(v); +} + +int QDataStream_SkipRawData(void* ptr, int l) +{ + return static_cast(ptr)->skipRawData(l); +} + +void QDataStream_StartTransaction(void* ptr) +{ + static_cast(ptr)->startTransaction(); +} + +long long QDataStream_Status(void* ptr) +{ + return static_cast(ptr)->status(); +} + +int QDataStream_Version(void* ptr) +{ + return static_cast(ptr)->version(); +} + +int QDataStream_WriteRawData(void* ptr, char* s, int l) +{ + return static_cast(ptr)->writeRawData(const_cast(s), l); +} + +void QDataStream_DestroyQDataStream(void* ptr) +{ + static_cast(ptr)->~QDataStream(); +} + +void* QDate_NewQDate2() +{ + return new QDate(); +} + +void* QDate_NewQDate3(int y, int m, int d) +{ + return new QDate(y, m, d); +} + +void* QDate_AddDays(void* ptr, long long ndays) +{ + return new QDate(static_cast(ptr)->addDays(ndays)); +} + +void* QDate_AddMonths(void* ptr, int nmonths) +{ + return new QDate(static_cast(ptr)->addMonths(nmonths)); +} + +void* QDate_AddYears(void* ptr, int nyears) +{ + return new QDate(static_cast(ptr)->addYears(nyears)); +} + +void* QDate_QDate_CurrentDate() +{ + return new QDate(QDate::currentDate()); +} + +int QDate_Day(void* ptr) +{ + return static_cast(ptr)->day(); +} + +int QDate_DayOfWeek(void* ptr) +{ + return static_cast(ptr)->dayOfWeek(); +} + +int QDate_DayOfYear(void* ptr) +{ + return static_cast(ptr)->dayOfYear(); +} + +int QDate_DaysInMonth(void* ptr) +{ + return static_cast(ptr)->daysInMonth(); +} + +int QDate_DaysInYear(void* ptr) +{ + return static_cast(ptr)->daysInYear(); +} + +long long QDate_DaysTo(void* ptr, void* d) +{ + return static_cast(ptr)->daysTo(*static_cast(d)); +} + +void* QDate_QDate_FromJulianDay(long long jd) +{ + return new QDate(QDate::fromJulianDay(jd)); +} + +void* QDate_QDate_FromString(struct QtCore_PackedString stri, long long format) +{ + return new QDate(QDate::fromString(QString::fromUtf8(stri.data, stri.len), static_cast(format))); +} + +void* QDate_QDate_FromString2(struct QtCore_PackedString stri, struct QtCore_PackedString format) +{ + return new QDate(QDate::fromString(QString::fromUtf8(stri.data, stri.len), QString::fromUtf8(format.data, format.len))); +} + +void QDate_GetDate(void* ptr, int year, int month, int day) +{ + static_cast(ptr)->getDate(&year, &month, &day); +} + +char QDate_QDate_IsLeapYear(int year) +{ + return QDate::isLeapYear(year); +} + +char QDate_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QDate_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QDate_QDate_IsValid2(int year, int month, int day) +{ + return QDate::isValid(year, month, day); +} + +int QDate_Month(void* ptr) +{ + return static_cast(ptr)->month(); +} + +char QDate_SetDate(void* ptr, int year, int month, int day) +{ + return static_cast(ptr)->setDate(year, month, day); +} + +long long QDate_ToJulianDay(void* ptr) +{ + return static_cast(ptr)->toJulianDay(); +} + +struct QtCore_PackedString QDate_ToString(void* ptr, struct QtCore_PackedString format) +{ + return ({ QByteArray te68bf6 = static_cast(ptr)->toString(QString::fromUtf8(format.data, format.len)).toUtf8(); QtCore_PackedString { const_cast(te68bf6.prepend("WHITESPACE").constData()+10), te68bf6.size()-10 }; }); +} + +struct QtCore_PackedString QDate_ToString2(void* ptr, long long format) +{ + return ({ QByteArray tfa9ec6 = static_cast(ptr)->toString(static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(tfa9ec6.prepend("WHITESPACE").constData()+10), tfa9ec6.size()-10 }; }); +} + +struct QtCore_PackedString QDate_ToString3(void* ptr, void* format) +{ + return ({ QByteArray tab5488 = static_cast(ptr)->toString(*static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(tab5488.prepend("WHITESPACE").constData()+10), tab5488.size()-10 }; }); +} + +int QDate_WeekNumber(void* ptr, int yearNumber) +{ + return static_cast(ptr)->weekNumber(&yearNumber); +} + +int QDate_Year(void* ptr) +{ + return static_cast(ptr)->year(); +} + +void* QDateTime_NewQDateTime() +{ + return new QDateTime(); +} + +void* QDateTime_NewQDateTime2(void* date) +{ + return new QDateTime(*static_cast(date)); +} + +void* QDateTime_NewQDateTime3(void* date, void* ti, long long spec) +{ + return new QDateTime(*static_cast(date), *static_cast(ti), static_cast(spec)); +} + +void* QDateTime_NewQDateTime4(void* date, void* ti, long long spec, int offsetSeconds) +{ + return new QDateTime(*static_cast(date), *static_cast(ti), static_cast(spec), offsetSeconds); +} + +void* QDateTime_NewQDateTime5(void* date, void* ti, void* timeZone) +{ + return new QDateTime(*static_cast(date), *static_cast(ti), *static_cast(timeZone)); +} + +void* QDateTime_NewQDateTime6(void* other) +{ + return new QDateTime(*static_cast(other)); +} + +void* QDateTime_NewQDateTime7(void* other) +{ + return new QDateTime(*static_cast(other)); +} + +void* QDateTime_AddDays(void* ptr, long long ndays) +{ + return new QDateTime(static_cast(ptr)->addDays(ndays)); +} + +void* QDateTime_AddMSecs(void* ptr, long long msecs) +{ + return new QDateTime(static_cast(ptr)->addMSecs(msecs)); +} + +void* QDateTime_AddMonths(void* ptr, int nmonths) +{ + return new QDateTime(static_cast(ptr)->addMonths(nmonths)); +} + +void* QDateTime_AddSecs(void* ptr, long long s) +{ + return new QDateTime(static_cast(ptr)->addSecs(s)); +} + +void* QDateTime_AddYears(void* ptr, int nyears) +{ + return new QDateTime(static_cast(ptr)->addYears(nyears)); +} + +void* QDateTime_QDateTime_CurrentDateTime() +{ + return new QDateTime(QDateTime::currentDateTime()); +} + +void* QDateTime_QDateTime_CurrentDateTimeUtc() +{ + return new QDateTime(QDateTime::currentDateTimeUtc()); +} + +long long QDateTime_QDateTime_CurrentMSecsSinceEpoch() +{ + return QDateTime::currentMSecsSinceEpoch(); +} + +long long QDateTime_QDateTime_CurrentSecsSinceEpoch() +{ + return QDateTime::currentSecsSinceEpoch(); +} + +void* QDateTime_Date(void* ptr) +{ + return new QDate(static_cast(ptr)->date()); +} + +long long QDateTime_DaysTo(void* ptr, void* other) +{ + return static_cast(ptr)->daysTo(*static_cast(other)); +} + +void* QDateTime_QDateTime_FromMSecsSinceEpoch(long long msecs) +{ + return new QDateTime(QDateTime::fromMSecsSinceEpoch(msecs)); +} + +void* QDateTime_QDateTime_FromMSecsSinceEpoch2(long long msecs, long long spec, int offsetSeconds) +{ + return new QDateTime(QDateTime::fromMSecsSinceEpoch(msecs, static_cast(spec), offsetSeconds)); +} + +void* QDateTime_QDateTime_FromMSecsSinceEpoch3(long long msecs, void* timeZone) +{ + return new QDateTime(QDateTime::fromMSecsSinceEpoch(msecs, *static_cast(timeZone))); +} + +void* QDateTime_QDateTime_FromSecsSinceEpoch(long long secs, long long spec, int offsetSeconds) +{ + return new QDateTime(QDateTime::fromSecsSinceEpoch(secs, static_cast(spec), offsetSeconds)); +} + +void* QDateTime_QDateTime_FromSecsSinceEpoch2(long long secs, void* timeZone) +{ + return new QDateTime(QDateTime::fromSecsSinceEpoch(secs, *static_cast(timeZone))); +} + +void* QDateTime_QDateTime_FromString(struct QtCore_PackedString stri, long long format) +{ + return new QDateTime(QDateTime::fromString(QString::fromUtf8(stri.data, stri.len), static_cast(format))); +} + +void* QDateTime_QDateTime_FromString2(struct QtCore_PackedString stri, struct QtCore_PackedString format) +{ + return new QDateTime(QDateTime::fromString(QString::fromUtf8(stri.data, stri.len), QString::fromUtf8(format.data, format.len))); +} + +char QDateTime_IsDaylightTime(void* ptr) +{ + return static_cast(ptr)->isDaylightTime(); +} + +char QDateTime_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QDateTime_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +long long QDateTime_MsecsTo(void* ptr, void* other) +{ + return static_cast(ptr)->msecsTo(*static_cast(other)); +} + +int QDateTime_OffsetFromUtc(void* ptr) +{ + return static_cast(ptr)->offsetFromUtc(); +} + +long long QDateTime_SecsTo(void* ptr, void* other) +{ + return static_cast(ptr)->secsTo(*static_cast(other)); +} + +void QDateTime_SetDate(void* ptr, void* date) +{ + static_cast(ptr)->setDate(*static_cast(date)); +} + +void QDateTime_SetMSecsSinceEpoch(void* ptr, long long msecs) +{ + static_cast(ptr)->setMSecsSinceEpoch(msecs); +} + +void QDateTime_SetOffsetFromUtc(void* ptr, int offsetSeconds) +{ + static_cast(ptr)->setOffsetFromUtc(offsetSeconds); +} + +void QDateTime_SetSecsSinceEpoch(void* ptr, long long secs) +{ + static_cast(ptr)->setSecsSinceEpoch(secs); +} + +void QDateTime_SetTime(void* ptr, void* ti) +{ + static_cast(ptr)->setTime(*static_cast(ti)); +} + +void QDateTime_SetTimeSpec(void* ptr, long long spec) +{ + static_cast(ptr)->setTimeSpec(static_cast(spec)); +} + +void QDateTime_SetTimeZone(void* ptr, void* toZone) +{ + static_cast(ptr)->setTimeZone(*static_cast(toZone)); +} + +void QDateTime_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QDateTime_Time(void* ptr) +{ + return new QTime(static_cast(ptr)->time()); +} + +long long QDateTime_TimeSpec(void* ptr) +{ + return static_cast(ptr)->timeSpec(); +} + +void* QDateTime_TimeZone(void* ptr) +{ + return new QTimeZone(static_cast(ptr)->timeZone()); +} + +struct QtCore_PackedString QDateTime_TimeZoneAbbreviation(void* ptr) +{ + return ({ QByteArray te524d2 = static_cast(ptr)->timeZoneAbbreviation().toUtf8(); QtCore_PackedString { const_cast(te524d2.prepend("WHITESPACE").constData()+10), te524d2.size()-10 }; }); +} + +void* QDateTime_ToLocalTime(void* ptr) +{ + return new QDateTime(static_cast(ptr)->toLocalTime()); +} + +long long QDateTime_ToMSecsSinceEpoch(void* ptr) +{ + return static_cast(ptr)->toMSecsSinceEpoch(); +} + +void* QDateTime_ToOffsetFromUtc(void* ptr, int offsetSeconds) +{ + return new QDateTime(static_cast(ptr)->toOffsetFromUtc(offsetSeconds)); +} + +long long QDateTime_ToSecsSinceEpoch(void* ptr) +{ + return static_cast(ptr)->toSecsSinceEpoch(); +} + +struct QtCore_PackedString QDateTime_ToString(void* ptr, struct QtCore_PackedString format) +{ + return ({ QByteArray t78bcae = static_cast(ptr)->toString(QString::fromUtf8(format.data, format.len)).toUtf8(); QtCore_PackedString { const_cast(t78bcae.prepend("WHITESPACE").constData()+10), t78bcae.size()-10 }; }); +} + +struct QtCore_PackedString QDateTime_ToString2(void* ptr, long long format) +{ + return ({ QByteArray tbd5547 = static_cast(ptr)->toString(static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(tbd5547.prepend("WHITESPACE").constData()+10), tbd5547.size()-10 }; }); +} + +struct QtCore_PackedString QDateTime_ToString3(void* ptr, void* format) +{ + return ({ QByteArray t95196e = static_cast(ptr)->toString(*static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t95196e.prepend("WHITESPACE").constData()+10), t95196e.size()-10 }; }); +} + +void* QDateTime_ToTimeSpec(void* ptr, long long spec) +{ + return new QDateTime(static_cast(ptr)->toTimeSpec(static_cast(spec))); +} + +void* QDateTime_ToTimeZone(void* ptr, void* timeZone) +{ + return new QDateTime(static_cast(ptr)->toTimeZone(*static_cast(timeZone))); +} + +void* QDateTime_ToUTC(void* ptr) +{ + return new QDateTime(static_cast(ptr)->toUTC()); +} + +void QDateTime_DestroyQDateTime(void* ptr) +{ + static_cast(ptr)->~QDateTime(); +} + +void* QDeadlineTimer_NewQDeadlineTimer(long long timerType) +{ + return new QDeadlineTimer(static_cast(timerType)); +} + +void* QDeadlineTimer_NewQDeadlineTimer2(long long vqd, long long timerType) +{ + return new QDeadlineTimer(static_cast(vqd), static_cast(timerType)); +} + +void* QDeadlineTimer_NewQDeadlineTimer3(long long msecs, long long ty) +{ + return new QDeadlineTimer(msecs, static_cast(ty)); +} + +long long QDeadlineTimer_Deadline(void* ptr) +{ + return static_cast(ptr)->deadline(); +} + +long long QDeadlineTimer_DeadlineNSecs(void* ptr) +{ + return static_cast(ptr)->deadlineNSecs(); +} + +char QDeadlineTimer_HasExpired(void* ptr) +{ + return static_cast(ptr)->hasExpired(); +} + +char QDeadlineTimer_IsForever(void* ptr) +{ + return static_cast(ptr)->isForever(); +} + +long long QDeadlineTimer_RemainingTime(void* ptr) +{ + return static_cast(ptr)->remainingTime(); +} + +long long QDeadlineTimer_RemainingTimeNSecs(void* ptr) +{ + return static_cast(ptr)->remainingTimeNSecs(); +} + +void QDeadlineTimer_SetDeadline(void* ptr, long long msecs, long long timerType) +{ + static_cast(ptr)->setDeadline(msecs, static_cast(timerType)); +} + +void QDeadlineTimer_SetPreciseDeadline(void* ptr, long long secs, long long nsecs, long long timerType) +{ + static_cast(ptr)->setPreciseDeadline(secs, nsecs, static_cast(timerType)); +} + +void QDeadlineTimer_SetPreciseRemainingTime(void* ptr, long long secs, long long nsecs, long long timerType) +{ + static_cast(ptr)->setPreciseRemainingTime(secs, nsecs, static_cast(timerType)); +} + +void QDeadlineTimer_SetRemainingTime(void* ptr, long long msecs, long long timerType) +{ + static_cast(ptr)->setRemainingTime(msecs, static_cast(timerType)); +} + +void QDeadlineTimer_SetTimerType(void* ptr, long long timerType) +{ + static_cast(ptr)->setTimerType(static_cast(timerType)); +} + +void QDeadlineTimer_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +long long QDeadlineTimer_TimerType(void* ptr) +{ + return static_cast(ptr)->timerType(); +} + +void* QDebug_NewQDebug(void* device) +{ + return new QDebug(static_cast(device)); +} + +void* QDebug_NewQDebug2(struct QtCore_PackedString stri) +{ + return new QDebug(new QString(QString::fromUtf8(stri.data, stri.len))); +} + +void* QDebug_NewQDebug4(void* o) +{ + return new QDebug(*static_cast(o)); +} + +char QDebug_AutoInsertSpaces(void* ptr) +{ + return static_cast(ptr)->autoInsertSpaces(); +} + +void* QDebug_MaybeQuote(void* ptr, char* c) +{ + return new QDebug(static_cast(ptr)->maybeQuote(*c)); +} + +void* QDebug_MaybeSpace(void* ptr) +{ + return new QDebug(static_cast(ptr)->maybeSpace()); +} + +void* QDebug_Noquote(void* ptr) +{ + return new QDebug(static_cast(ptr)->noquote()); +} + +void* QDebug_Nospace(void* ptr) +{ + return new QDebug(static_cast(ptr)->nospace()); +} + +void* QDebug_Quote(void* ptr) +{ + return new QDebug(static_cast(ptr)->quote()); +} + +void* QDebug_ResetFormat(void* ptr) +{ + return new QDebug(static_cast(ptr)->resetFormat()); +} + +void QDebug_SetAutoInsertSpaces(void* ptr, char b) +{ + static_cast(ptr)->setAutoInsertSpaces(b != 0); +} + +void QDebug_SetVerbosity(void* ptr, int verbosityLevel) +{ + static_cast(ptr)->setVerbosity(verbosityLevel); +} + +void* QDebug_Space(void* ptr) +{ + return new QDebug(static_cast(ptr)->space()); +} + +void QDebug_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QDebug_Verbosity(void* ptr, int verbosityLevel) +{ + return new QDebug(static_cast(ptr)->verbosity(verbosityLevel)); +} + +int QDebug_Verbosity2(void* ptr) +{ + return static_cast(ptr)->verbosity(); +} + +void QDebug_DestroyQDebug(void* ptr) +{ + static_cast(ptr)->~QDebug(); +} + +void* QDebugStateSaver_NewQDebugStateSaver(void* dbg) +{ + return new QDebugStateSaver(*static_cast(dbg)); +} + +void QDebugStateSaver_DestroyQDebugStateSaver(void* ptr) +{ + static_cast(ptr)->~QDebugStateSaver(); +} + +class MyQDeferredDeleteEvent: public QDeferredDeleteEvent +{ +public: + MyQDeferredDeleteEvent() : QDeferredDeleteEvent() {}; +}; + +void* QDeferredDeleteEvent_NewQDeferredDeleteEvent() +{ + return new MyQDeferredDeleteEvent(); +} + +int QDeferredDeleteEvent_LoopLevel(void* ptr) +{ + return static_cast(ptr)->loopLevel(); +} + +void* QDir_NewQDir(void* dir) +{ + return new QDir(*static_cast(dir)); +} + +void* QDir_NewQDir2(struct QtCore_PackedString path) +{ + return new QDir(QString::fromUtf8(path.data, path.len)); +} + +void* QDir_NewQDir3(struct QtCore_PackedString path, struct QtCore_PackedString nameFilter, long long sort, long long filters) +{ + return new QDir(QString::fromUtf8(path.data, path.len), QString::fromUtf8(nameFilter.data, nameFilter.len), static_cast(sort), static_cast(filters)); +} + +struct QtCore_PackedString QDir_AbsoluteFilePath(void* ptr, struct QtCore_PackedString fileName) +{ + return ({ QByteArray t084b4e = static_cast(ptr)->absoluteFilePath(QString::fromUtf8(fileName.data, fileName.len)).toUtf8(); QtCore_PackedString { const_cast(t084b4e.prepend("WHITESPACE").constData()+10), t084b4e.size()-10 }; }); +} + +struct QtCore_PackedString QDir_AbsolutePath(void* ptr) +{ + return ({ QByteArray t420972 = static_cast(ptr)->absolutePath().toUtf8(); QtCore_PackedString { const_cast(t420972.prepend("WHITESPACE").constData()+10), t420972.size()-10 }; }); +} + +void QDir_QDir_AddSearchPath(struct QtCore_PackedString prefix, struct QtCore_PackedString path) +{ + QDir::addSearchPath(QString::fromUtf8(prefix.data, prefix.len), QString::fromUtf8(path.data, path.len)); +} + +struct QtCore_PackedString QDir_CanonicalPath(void* ptr) +{ + return ({ QByteArray ta3771c = static_cast(ptr)->canonicalPath().toUtf8(); QtCore_PackedString { const_cast(ta3771c.prepend("WHITESPACE").constData()+10), ta3771c.size()-10 }; }); +} + +char QDir_Cd(void* ptr, struct QtCore_PackedString dirName) +{ + return static_cast(ptr)->cd(QString::fromUtf8(dirName.data, dirName.len)); +} + +char QDir_CdUp(void* ptr) +{ + return static_cast(ptr)->cdUp(); +} + +struct QtCore_PackedString QDir_QDir_CleanPath(struct QtCore_PackedString path) +{ + return ({ QByteArray tad90b4 = QDir::cleanPath(QString::fromUtf8(path.data, path.len)).toUtf8(); QtCore_PackedString { const_cast(tad90b4.prepend("WHITESPACE").constData()+10), tad90b4.size()-10 }; }); +} + +unsigned int QDir_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +void* QDir_QDir_Current() +{ + return new QDir(QDir::current()); +} + +struct QtCore_PackedString QDir_QDir_CurrentPath() +{ + return ({ QByteArray t081208 = QDir::currentPath().toUtf8(); QtCore_PackedString { const_cast(t081208.prepend("WHITESPACE").constData()+10), t081208.size()-10 }; }); +} + +struct QtCore_PackedString QDir_DirName(void* ptr) +{ + return ({ QByteArray td48935 = static_cast(ptr)->dirName().toUtf8(); QtCore_PackedString { const_cast(td48935.prepend("WHITESPACE").constData()+10), td48935.size()-10 }; }); +} + +struct QtCore_PackedList QDir_QDir_Drives() +{ + return ({ QList* tmpValued1e42f = new QList(QDir::drives()); QtCore_PackedList { tmpValued1e42f, tmpValued1e42f->size() }; }); +} + +struct QtCore_PackedList QDir_EntryInfoList(void* ptr, struct QtCore_PackedString nameFilters, long long filters, long long sort) +{ + return ({ QList* tmpValue043d19 = new QList(static_cast(ptr)->entryInfoList(QString::fromUtf8(nameFilters.data, nameFilters.len).split("¡¦!", QString::SkipEmptyParts), static_cast(filters), static_cast(sort))); QtCore_PackedList { tmpValue043d19, tmpValue043d19->size() }; }); +} + +struct QtCore_PackedList QDir_EntryInfoList2(void* ptr, long long filters, long long sort) +{ + return ({ QList* tmpValue718f78 = new QList(static_cast(ptr)->entryInfoList(static_cast(filters), static_cast(sort))); QtCore_PackedList { tmpValue718f78, tmpValue718f78->size() }; }); +} + +struct QtCore_PackedString QDir_EntryList(void* ptr, struct QtCore_PackedString nameFilters, long long filters, long long sort) +{ + return ({ QByteArray t2f8008 = static_cast(ptr)->entryList(QString::fromUtf8(nameFilters.data, nameFilters.len).split("¡¦!", QString::SkipEmptyParts), static_cast(filters), static_cast(sort)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t2f8008.prepend("WHITESPACE").constData()+10), t2f8008.size()-10 }; }); +} + +struct QtCore_PackedString QDir_EntryList2(void* ptr, long long filters, long long sort) +{ + return ({ QByteArray t2244e4 = static_cast(ptr)->entryList(static_cast(filters), static_cast(sort)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t2244e4.prepend("WHITESPACE").constData()+10), t2244e4.size()-10 }; }); +} + +char QDir_Exists(void* ptr, struct QtCore_PackedString name) +{ + return static_cast(ptr)->exists(QString::fromUtf8(name.data, name.len)); +} + +char QDir_Exists2(void* ptr) +{ + return static_cast(ptr)->exists(); +} + +struct QtCore_PackedString QDir_FilePath(void* ptr, struct QtCore_PackedString fileName) +{ + return ({ QByteArray te35159 = static_cast(ptr)->filePath(QString::fromUtf8(fileName.data, fileName.len)).toUtf8(); QtCore_PackedString { const_cast(te35159.prepend("WHITESPACE").constData()+10), te35159.size()-10 }; }); +} + +long long QDir_Filter(void* ptr) +{ + return static_cast(ptr)->filter(); +} + +struct QtCore_PackedString QDir_QDir_FromNativeSeparators(struct QtCore_PackedString pathName) +{ + return ({ QByteArray tb29b44 = QDir::fromNativeSeparators(QString::fromUtf8(pathName.data, pathName.len)).toUtf8(); QtCore_PackedString { const_cast(tb29b44.prepend("WHITESPACE").constData()+10), tb29b44.size()-10 }; }); +} + +void* QDir_QDir_Home() +{ + return new QDir(QDir::home()); +} + +struct QtCore_PackedString QDir_QDir_HomePath() +{ + return ({ QByteArray t93fee6 = QDir::homePath().toUtf8(); QtCore_PackedString { const_cast(t93fee6.prepend("WHITESPACE").constData()+10), t93fee6.size()-10 }; }); +} + +char QDir_IsAbsolute(void* ptr) +{ + return static_cast(ptr)->isAbsolute(); +} + +char QDir_QDir_IsAbsolutePath(struct QtCore_PackedString path) +{ + return QDir::isAbsolutePath(QString::fromUtf8(path.data, path.len)); +} + +char QDir_IsEmpty(void* ptr, long long filters) +{ + return static_cast(ptr)->isEmpty(static_cast(filters)); +} + +char QDir_IsReadable(void* ptr) +{ + return static_cast(ptr)->isReadable(); +} + +char QDir_IsRelative(void* ptr) +{ + return static_cast(ptr)->isRelative(); +} + +char QDir_QDir_IsRelativePath(struct QtCore_PackedString path) +{ + return QDir::isRelativePath(QString::fromUtf8(path.data, path.len)); +} + +char QDir_IsRoot(void* ptr) +{ + return static_cast(ptr)->isRoot(); +} + +void* QDir_QDir_ListSeparator() +{ + return new QChar(QDir::listSeparator()); +} + +char QDir_MakeAbsolute(void* ptr) +{ + return static_cast(ptr)->makeAbsolute(); +} + +char QDir_QDir_Match(struct QtCore_PackedString filter, struct QtCore_PackedString fileName) +{ + return QDir::match(QString::fromUtf8(filter.data, filter.len), QString::fromUtf8(fileName.data, fileName.len)); +} + +char QDir_QDir_Match2(struct QtCore_PackedString filters, struct QtCore_PackedString fileName) +{ + return QDir::match(QString::fromUtf8(filters.data, filters.len).split("¡¦!", QString::SkipEmptyParts), QString::fromUtf8(fileName.data, fileName.len)); +} + +char QDir_Mkdir(void* ptr, struct QtCore_PackedString dirName) +{ + return static_cast(ptr)->mkdir(QString::fromUtf8(dirName.data, dirName.len)); +} + +char QDir_Mkpath(void* ptr, struct QtCore_PackedString dirPath) +{ + return static_cast(ptr)->mkpath(QString::fromUtf8(dirPath.data, dirPath.len)); +} + +struct QtCore_PackedString QDir_NameFilters(void* ptr) +{ + return ({ QByteArray t429f9f = static_cast(ptr)->nameFilters().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t429f9f.prepend("WHITESPACE").constData()+10), t429f9f.size()-10 }; }); +} + +struct QtCore_PackedString QDir_Path(void* ptr) +{ + return ({ QByteArray t1e0939 = static_cast(ptr)->path().toUtf8(); QtCore_PackedString { const_cast(t1e0939.prepend("WHITESPACE").constData()+10), t1e0939.size()-10 }; }); +} + +void QDir_Refresh(void* ptr) +{ + static_cast(ptr)->refresh(); +} + +struct QtCore_PackedString QDir_RelativeFilePath(void* ptr, struct QtCore_PackedString fileName) +{ + return ({ QByteArray t5e18c2 = static_cast(ptr)->relativeFilePath(QString::fromUtf8(fileName.data, fileName.len)).toUtf8(); QtCore_PackedString { const_cast(t5e18c2.prepend("WHITESPACE").constData()+10), t5e18c2.size()-10 }; }); +} + +char QDir_Remove(void* ptr, struct QtCore_PackedString fileName) +{ + return static_cast(ptr)->remove(QString::fromUtf8(fileName.data, fileName.len)); +} + +char QDir_RemoveRecursively(void* ptr) +{ + return static_cast(ptr)->removeRecursively(); +} + +char QDir_Rename(void* ptr, struct QtCore_PackedString oldName, struct QtCore_PackedString newName) +{ + return static_cast(ptr)->rename(QString::fromUtf8(oldName.data, oldName.len), QString::fromUtf8(newName.data, newName.len)); +} + +char QDir_Rmdir(void* ptr, struct QtCore_PackedString dirName) +{ + return static_cast(ptr)->rmdir(QString::fromUtf8(dirName.data, dirName.len)); +} + +char QDir_Rmpath(void* ptr, struct QtCore_PackedString dirPath) +{ + return static_cast(ptr)->rmpath(QString::fromUtf8(dirPath.data, dirPath.len)); +} + +void* QDir_QDir_Root() +{ + return new QDir(QDir::root()); +} + +struct QtCore_PackedString QDir_QDir_RootPath() +{ + return ({ QByteArray tc8c07d = QDir::rootPath().toUtf8(); QtCore_PackedString { const_cast(tc8c07d.prepend("WHITESPACE").constData()+10), tc8c07d.size()-10 }; }); +} + +struct QtCore_PackedString QDir_QDir_SearchPaths(struct QtCore_PackedString prefix) +{ + return ({ QByteArray t5d6556 = QDir::searchPaths(QString::fromUtf8(prefix.data, prefix.len)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t5d6556.prepend("WHITESPACE").constData()+10), t5d6556.size()-10 }; }); +} + +void* QDir_QDir_Separator() +{ + return new QChar(QDir::separator()); +} + +char QDir_QDir_SetCurrent(struct QtCore_PackedString path) +{ + return QDir::setCurrent(QString::fromUtf8(path.data, path.len)); +} + +void QDir_SetFilter(void* ptr, long long filters) +{ + static_cast(ptr)->setFilter(static_cast(filters)); +} + +void QDir_SetNameFilters(void* ptr, struct QtCore_PackedString nameFilters) +{ + static_cast(ptr)->setNameFilters(QString::fromUtf8(nameFilters.data, nameFilters.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QDir_SetPath(void* ptr, struct QtCore_PackedString path) +{ + static_cast(ptr)->setPath(QString::fromUtf8(path.data, path.len)); +} + +void QDir_QDir_SetSearchPaths(struct QtCore_PackedString prefix, struct QtCore_PackedString searchPaths) +{ + QDir::setSearchPaths(QString::fromUtf8(prefix.data, prefix.len), QString::fromUtf8(searchPaths.data, searchPaths.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QDir_SetSorting(void* ptr, long long sort) +{ + static_cast(ptr)->setSorting(static_cast(sort)); +} + +long long QDir_Sorting(void* ptr) +{ + return static_cast(ptr)->sorting(); +} + +void QDir_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QDir_QDir_Temp() +{ + return new QDir(QDir::temp()); +} + +struct QtCore_PackedString QDir_QDir_TempPath() +{ + return ({ QByteArray t677bd4 = QDir::tempPath().toUtf8(); QtCore_PackedString { const_cast(t677bd4.prepend("WHITESPACE").constData()+10), t677bd4.size()-10 }; }); +} + +struct QtCore_PackedString QDir_QDir_ToNativeSeparators(struct QtCore_PackedString pathName) +{ + return ({ QByteArray tf0acff = QDir::toNativeSeparators(QString::fromUtf8(pathName.data, pathName.len)).toUtf8(); QtCore_PackedString { const_cast(tf0acff.prepend("WHITESPACE").constData()+10), tf0acff.size()-10 }; }); +} + +void QDir_DestroyQDir(void* ptr) +{ + static_cast(ptr)->~QDir(); +} + +void* QDir___drives_atList(void* ptr, int i) +{ + return new QFileInfo(({QFileInfo tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDir___drives_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDir___drives_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDir___entryInfoList_atList(void* ptr, int i) +{ + return new QFileInfo(({QFileInfo tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDir___entryInfoList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDir___entryInfoList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDir___entryInfoList_atList2(void* ptr, int i) +{ + return new QFileInfo(({QFileInfo tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDir___entryInfoList_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDir___entryInfoList_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQDynamicPropertyChangeEvent: public QDynamicPropertyChangeEvent +{ +public: + MyQDynamicPropertyChangeEvent(const QByteArray &name) : QDynamicPropertyChangeEvent(name) {}; +}; + +void* QDynamicPropertyChangeEvent_NewQDynamicPropertyChangeEvent(void* name) +{ + return new MyQDynamicPropertyChangeEvent(*static_cast(name)); +} + +void* QDynamicPropertyChangeEvent_PropertyName(void* ptr) +{ + return new QByteArray(static_cast(ptr)->propertyName()); +} + +void* QEasingCurve_NewQEasingCurve(long long ty) +{ + return new QEasingCurve(static_cast(ty)); +} + +void* QEasingCurve_NewQEasingCurve2(void* other) +{ + return new QEasingCurve(*static_cast(other)); +} + +void* QEasingCurve_NewQEasingCurve3(void* other) +{ + return new QEasingCurve(*static_cast(other)); +} + +void QEasingCurve_AddCubicBezierSegment(void* ptr, void* c1, void* c2, void* endPoint) +{ + static_cast(ptr)->addCubicBezierSegment(*static_cast(c1), *static_cast(c2), *static_cast(endPoint)); +} + +void QEasingCurve_AddTCBSegment(void* ptr, void* nextPoint, double t, double c, double b) +{ + static_cast(ptr)->addTCBSegment(*static_cast(nextPoint), t, c, b); +} + +double QEasingCurve_Amplitude(void* ptr) +{ + return static_cast(ptr)->amplitude(); +} + +double QEasingCurve_Overshoot(void* ptr) +{ + return static_cast(ptr)->overshoot(); +} + +double QEasingCurve_Period(void* ptr) +{ + return static_cast(ptr)->period(); +} + +void QEasingCurve_SetAmplitude(void* ptr, double amplitude) +{ + static_cast(ptr)->setAmplitude(amplitude); +} + +void QEasingCurve_SetOvershoot(void* ptr, double overshoot) +{ + static_cast(ptr)->setOvershoot(overshoot); +} + +void QEasingCurve_SetPeriod(void* ptr, double period) +{ + static_cast(ptr)->setPeriod(period); +} + +void QEasingCurve_SetType(void* ptr, long long ty) +{ + static_cast(ptr)->setType(static_cast(ty)); +} + +void QEasingCurve_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtCore_PackedList QEasingCurve_ToCubicSpline(void* ptr) +{ + return ({ QVector* tmpValueb4db1b = new QVector(static_cast(ptr)->toCubicSpline()); QtCore_PackedList { tmpValueb4db1b, tmpValueb4db1b->size() }; }); +} + +long long QEasingCurve_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +double QEasingCurve_ValueForProgress(void* ptr, double progress) +{ + return static_cast(ptr)->valueForProgress(progress); +} + +void QEasingCurve_DestroyQEasingCurve(void* ptr) +{ + static_cast(ptr)->~QEasingCurve(); +} + +void* QEasingCurve___cubicBezierSpline_atList(void* ptr, int i) +{ + return ({ QPointF tmpValue = ({QPointF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QEasingCurve___cubicBezierSpline_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QEasingCurve___cubicBezierSpline_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QEasingCurve___toCubicSpline_atList(void* ptr, int i) +{ + return ({ QPointF tmpValue = ({QPointF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QEasingCurve___toCubicSpline_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QEasingCurve___toCubicSpline_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QElapsedTimer_NewQElapsedTimer() +{ + return new QElapsedTimer(); +} + +long long QElapsedTimer_QElapsedTimer_ClockType() +{ + return QElapsedTimer::clockType(); +} + +long long QElapsedTimer_Elapsed(void* ptr) +{ + return static_cast(ptr)->elapsed(); +} + +char QElapsedTimer_HasExpired(void* ptr, long long timeout) +{ + return static_cast(ptr)->hasExpired(timeout); +} + +void QElapsedTimer_Invalidate(void* ptr) +{ + static_cast(ptr)->invalidate(); +} + +char QElapsedTimer_QElapsedTimer_IsMonotonic() +{ + return QElapsedTimer::isMonotonic(); +} + +char QElapsedTimer_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +long long QElapsedTimer_MsecsSinceReference(void* ptr) +{ + return static_cast(ptr)->msecsSinceReference(); +} + +long long QElapsedTimer_MsecsTo(void* ptr, void* other) +{ + return static_cast(ptr)->msecsTo(*static_cast(other)); +} + +long long QElapsedTimer_NsecsElapsed(void* ptr) +{ + return static_cast(ptr)->nsecsElapsed(); +} + +long long QElapsedTimer_Restart(void* ptr) +{ + return static_cast(ptr)->restart(); +} + +long long QElapsedTimer_SecsTo(void* ptr, void* other) +{ + return static_cast(ptr)->secsTo(*static_cast(other)); +} + +void QElapsedTimer_Start(void* ptr) +{ + static_cast(ptr)->start(); +} + +class MyQEvent: public QEvent +{ +public: + MyQEvent(QEvent::Type ty) : QEvent(ty) {}; + ~MyQEvent() { callbackQEvent_DestroyQEvent(this); }; +}; + +void* QEvent_NewQEvent(long long ty) +{ + return new MyQEvent(static_cast(ty)); +} + +void QEvent_Accept(void* ptr) +{ + static_cast(ptr)->accept(); +} + +void QEvent_Ignore(void* ptr) +{ + static_cast(ptr)->ignore(); +} + +char QEvent_IsAccepted(void* ptr) +{ + return static_cast(ptr)->isAccepted(); +} + +int QEvent_QEvent_RegisterEventType(int hint) +{ + return QEvent::registerEventType(hint); +} + +void QEvent_SetAccepted(void* ptr, char accepted) +{ + static_cast(ptr)->setAccepted(accepted != 0); +} + +char QEvent_Spontaneous(void* ptr) +{ + return static_cast(ptr)->spontaneous(); +} + +long long QEvent_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QEvent_DestroyQEvent(void* ptr) +{ + static_cast(ptr)->~QEvent(); +} + +void QEvent_DestroyQEventDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQEventLoop: public QEventLoop +{ +public: + MyQEventLoop(QObject *parent = Q_NULLPTR) : QEventLoop(parent) {QEventLoop_QEventLoop_QRegisterMetaType();}; + bool event(QEvent * event) { return callbackQObject_Event(this, event) != 0; }; + void quit() { callbackQEventLoop_Quit(this); }; + ~MyQEventLoop() { callbackQEventLoop_DestroyQEventLoop(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQEventLoop*) + +int QEventLoop_QEventLoop_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QEventLoop_NewQEventLoop(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQEventLoop(static_cast(parent)); + } else { + return new MyQEventLoop(static_cast(parent)); + } +} + +int QEventLoop_Exec(void* ptr, long long flags) +{ + return static_cast(ptr)->exec(static_cast(flags)); +} + +void QEventLoop_Exit(void* ptr, int returnCode) +{ + static_cast(ptr)->exit(returnCode); +} + +char QEventLoop_IsRunning(void* ptr) +{ + return static_cast(ptr)->isRunning(); +} + +char QEventLoop_ProcessEvents(void* ptr, long long flags) +{ + return static_cast(ptr)->processEvents(static_cast(flags)); +} + +void QEventLoop_ProcessEvents2(void* ptr, long long flags, int maxTime) +{ + static_cast(ptr)->processEvents(static_cast(flags), maxTime); +} + +void QEventLoop_Quit(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "quit"); +} + +void QEventLoop_QuitDefault(void* ptr) +{ + static_cast(ptr)->QEventLoop::quit(); +} + +void QEventLoop_WakeUp(void* ptr) +{ + static_cast(ptr)->wakeUp(); +} + +void QEventLoop_DestroyQEventLoop(void* ptr) +{ + static_cast(ptr)->~QEventLoop(); +} + +void QEventLoop_DestroyQEventLoopDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QEventLoopLocker_NewQEventLoopLocker() +{ + return new QEventLoopLocker(); +} + +void* QEventLoopLocker_NewQEventLoopLocker2(void* loop) +{ + return new QEventLoopLocker(static_cast(loop)); +} + +void* QEventLoopLocker_NewQEventLoopLocker3(void* thread) +{ + return new QEventLoopLocker(static_cast(thread)); +} + +void QEventLoopLocker_DestroyQEventLoopLocker(void* ptr) +{ + static_cast(ptr)->~QEventLoopLocker(); +} + +class MyQEventTransition: public QEventTransition +{ +public: + MyQEventTransition(QState *sourceState = Q_NULLPTR) : QEventTransition(sourceState) {QEventTransition_QEventTransition_QRegisterMetaType();}; + MyQEventTransition(QObject *object, QEvent::Type ty, QState *sourceState = Q_NULLPTR) : QEventTransition(object, ty, sourceState) {QEventTransition_QEventTransition_QRegisterMetaType();}; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventTest(QEvent * event) { return callbackQEventTransition_EventTest(this, event) != 0; }; + void onTransition(QEvent * event) { callbackQEventTransition_OnTransition(this, event); }; + ~MyQEventTransition() { callbackQEventTransition_DestroyQEventTransition(this); }; + void Signal_TargetStateChanged() { callbackQAbstractTransition_TargetStateChanged(this); }; + void Signal_TargetStatesChanged() { callbackQAbstractTransition_TargetStatesChanged(this); }; + void Signal_Triggered() { callbackQAbstractTransition_Triggered(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQEventTransition*) + +int QEventTransition_QEventTransition_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QEventTransition_NewQEventTransition(void* sourceState) +{ + return new MyQEventTransition(static_cast(sourceState)); +} + +void* QEventTransition_NewQEventTransition2(void* object, long long ty, void* sourceState) +{ + if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } else { + return new MyQEventTransition(static_cast(object), static_cast(ty), static_cast(sourceState)); + } +} + +void* QEventTransition_EventSource(void* ptr) +{ + return static_cast(ptr)->eventSource(); +} + +char QEventTransition_EventTest(void* ptr, void* event) +{ + return static_cast(ptr)->eventTest(static_cast(event)); +} + +char QEventTransition_EventTestDefault(void* ptr, void* event) +{ + return static_cast(ptr)->QEventTransition::eventTest(static_cast(event)); +} + +long long QEventTransition_EventType(void* ptr) +{ + return static_cast(ptr)->eventType(); +} + +void QEventTransition_OnTransition(void* ptr, void* event) +{ + static_cast(ptr)->onTransition(static_cast(event)); +} + +void QEventTransition_OnTransitionDefault(void* ptr, void* event) +{ + static_cast(ptr)->QEventTransition::onTransition(static_cast(event)); +} + +void QEventTransition_SetEventSource(void* ptr, void* object) +{ + static_cast(ptr)->setEventSource(static_cast(object)); +} + +void QEventTransition_SetEventType(void* ptr, long long ty) +{ + static_cast(ptr)->setEventType(static_cast(ty)); +} + +void QEventTransition_DestroyQEventTransition(void* ptr) +{ + static_cast(ptr)->~QEventTransition(); +} + +void QEventTransition_DestroyQEventTransitionDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQFile: public QFile +{ +public: + MyQFile() : QFile() {QFile_QFile_QRegisterMetaType();}; + MyQFile(const QString &name) : QFile(name) {QFile_QFile_QRegisterMetaType();}; + MyQFile(QObject *parent) : QFile(parent) {QFile_QFile_QRegisterMetaType();}; + MyQFile(const QString &name, QObject *parent) : QFile(name, parent) {QFile_QFile_QRegisterMetaType();}; + QString fileName() const { return ({ QtCore_PackedString tempVal = callbackQFileDevice_FileName(const_cast(static_cast(this))); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + bool open(QIODevice::OpenMode mode) { return callbackQIODevice_Open(this, mode) != 0; }; + QFileDevice::Permissions permissions() const { return static_cast(callbackQFileDevice_Permissions(const_cast(static_cast(this)))); }; + bool resize(qint64 sz) { return callbackQFileDevice_Resize(this, sz) != 0; }; + bool setPermissions(QFileDevice::Permissions permissions) { return callbackQFileDevice_SetPermissions(this, permissions) != 0; }; + qint64 size() const { return callbackQIODevice_Size(const_cast(static_cast(this))); }; + ~MyQFile() { callbackQFile_DestroyQFile(this); }; + bool atEnd() const { return callbackQIODevice_AtEnd(const_cast(static_cast(this))) != 0; }; + void close() { callbackQIODevice_Close(this); }; + bool isSequential() const { return callbackQIODevice_IsSequential(const_cast(static_cast(this))) != 0; }; + qint64 pos() const { return callbackQIODevice_Pos(const_cast(static_cast(this))); }; + qint64 readData(char * data, qint64 l) { QtCore_PackedString dataPacked = { data, l };return callbackQFileDevice_ReadData(this, dataPacked, l); }; + qint64 readLineData(char * data, qint64 maxlen) { QtCore_PackedString dataPacked = { data, maxlen };return callbackQIODevice_ReadLineData(this, dataPacked, maxlen); }; + bool seek(qint64 pos) { return callbackQIODevice_Seek(this, pos) != 0; }; + qint64 writeData(const char * data, qint64 l) { QtCore_PackedString dataPacked = { const_cast(data), l };return callbackQFileDevice_WriteData(this, dataPacked, l); }; + void Signal_AboutToClose() { callbackQIODevice_AboutToClose(this); }; + qint64 bytesAvailable() const { return callbackQIODevice_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQIODevice_BytesToWrite(const_cast(static_cast(this))); }; + void Signal_BytesWritten(qint64 bytes) { callbackQIODevice_BytesWritten(this, bytes); }; + bool canReadLine() const { return callbackQIODevice_CanReadLine(const_cast(static_cast(this))) != 0; }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQIODevice_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQIODevice_ChannelReadyRead(this, channel); }; + void Signal_ReadChannelFinished() { callbackQIODevice_ReadChannelFinished(this); }; + void Signal_ReadyRead() { callbackQIODevice_ReadyRead(this); }; + bool reset() { return callbackQIODevice_Reset(this) != 0; }; + bool waitForBytesWritten(int msecs) { return callbackQIODevice_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQIODevice_WaitForReadyRead(this, msecs) != 0; }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQFile*) + +int QFile_QFile_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QFile_NewQFile() +{ + return new MyQFile(); +} + +void* QFile_NewQFile2(struct QtCore_PackedString name) +{ + return new MyQFile(QString::fromUtf8(name.data, name.len)); +} + +void* QFile_NewQFile3(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(static_cast(parent)); + } else { + return new MyQFile(static_cast(parent)); + } +} + +void* QFile_NewQFile4(struct QtCore_PackedString name, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else { + return new MyQFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } +} + +char QFile_Copy(void* ptr, struct QtCore_PackedString newName) +{ + return static_cast(ptr)->copy(QString::fromUtf8(newName.data, newName.len)); +} + +char QFile_QFile_Copy2(struct QtCore_PackedString fileName, struct QtCore_PackedString newName) +{ + return QFile::copy(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(newName.data, newName.len)); +} + +struct QtCore_PackedString QFile_QFile_DecodeName(void* localFileName) +{ + return ({ QByteArray t6223ce = QFile::decodeName(*static_cast(localFileName)).toUtf8(); QtCore_PackedString { const_cast(t6223ce.prepend("WHITESPACE").constData()+10), t6223ce.size()-10 }; }); +} + +struct QtCore_PackedString QFile_QFile_DecodeName2(char* localFileName) +{ + return ({ QByteArray t699d57 = QFile::decodeName(const_cast(localFileName)).toUtf8(); QtCore_PackedString { const_cast(t699d57.prepend("WHITESPACE").constData()+10), t699d57.size()-10 }; }); +} + +void* QFile_QFile_EncodeName(struct QtCore_PackedString fileName) +{ + return new QByteArray(QFile::encodeName(QString::fromUtf8(fileName.data, fileName.len))); +} + +char QFile_QFile_Exists(struct QtCore_PackedString fileName) +{ + return QFile::exists(QString::fromUtf8(fileName.data, fileName.len)); +} + +char QFile_Exists2(void* ptr) +{ + return static_cast(ptr)->exists(); +} + +char QFile_Link(void* ptr, struct QtCore_PackedString linkName) +{ + return static_cast(ptr)->link(QString::fromUtf8(linkName.data, linkName.len)); +} + +char QFile_QFile_Link2(struct QtCore_PackedString fileName, struct QtCore_PackedString linkName) +{ + return QFile::link(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(linkName.data, linkName.len)); +} + +char QFile_Open3(void* ptr, int fd, long long mode, long long handleFlags) +{ + return static_cast(ptr)->open(fd, static_cast(mode), static_cast(handleFlags)); +} + +long long QFile_QFile_Permissions2(struct QtCore_PackedString fileName) +{ + return QFile::permissions(QString::fromUtf8(fileName.data, fileName.len)); +} + +char QFile_Remove(void* ptr) +{ + return static_cast(ptr)->remove(); +} + +char QFile_QFile_Remove2(struct QtCore_PackedString fileName) +{ + return QFile::remove(QString::fromUtf8(fileName.data, fileName.len)); +} + +char QFile_Rename(void* ptr, struct QtCore_PackedString newName) +{ + return static_cast(ptr)->rename(QString::fromUtf8(newName.data, newName.len)); +} + +char QFile_QFile_Rename2(struct QtCore_PackedString oldName, struct QtCore_PackedString newName) +{ + return QFile::rename(QString::fromUtf8(oldName.data, oldName.len), QString::fromUtf8(newName.data, newName.len)); +} + +char QFile_QFile_Resize2(struct QtCore_PackedString fileName, long long sz) +{ + return QFile::resize(QString::fromUtf8(fileName.data, fileName.len), sz); +} + +void QFile_SetFileName(void* ptr, struct QtCore_PackedString name) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(name.data, name.len)); +} + +char QFile_QFile_SetPermissions2(struct QtCore_PackedString fileName, long long permissions) +{ + return QFile::setPermissions(QString::fromUtf8(fileName.data, fileName.len), static_cast(permissions)); +} + +struct QtCore_PackedString QFile_QFile_SymLinkTarget(struct QtCore_PackedString fileName) +{ + return ({ QByteArray t53c74a = QFile::symLinkTarget(QString::fromUtf8(fileName.data, fileName.len)).toUtf8(); QtCore_PackedString { const_cast(t53c74a.prepend("WHITESPACE").constData()+10), t53c74a.size()-10 }; }); +} + +struct QtCore_PackedString QFile_SymLinkTarget2(void* ptr) +{ + return ({ QByteArray tfaa232 = static_cast(ptr)->symLinkTarget().toUtf8(); QtCore_PackedString { const_cast(tfaa232.prepend("WHITESPACE").constData()+10), tfaa232.size()-10 }; }); +} + +void QFile_DestroyQFile(void* ptr) +{ + static_cast(ptr)->~QFile(); +} + +void QFile_DestroyQFileDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQFileDevice: public QFileDevice +{ +public: + bool atEnd() const { return callbackQIODevice_AtEnd(const_cast(static_cast(this))) != 0; }; + void close() { callbackQIODevice_Close(this); }; + QString fileName() const { return ({ QtCore_PackedString tempVal = callbackQFileDevice_FileName(const_cast(static_cast(this))); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + bool isSequential() const { return callbackQIODevice_IsSequential(const_cast(static_cast(this))) != 0; }; + QFileDevice::Permissions permissions() const { return static_cast(callbackQFileDevice_Permissions(const_cast(static_cast(this)))); }; + qint64 pos() const { return callbackQIODevice_Pos(const_cast(static_cast(this))); }; + qint64 readData(char * data, qint64 l) { QtCore_PackedString dataPacked = { data, l };return callbackQFileDevice_ReadData(this, dataPacked, l); }; + qint64 readLineData(char * data, qint64 maxlen) { QtCore_PackedString dataPacked = { data, maxlen };return callbackQIODevice_ReadLineData(this, dataPacked, maxlen); }; + bool resize(qint64 sz) { return callbackQFileDevice_Resize(this, sz) != 0; }; + bool seek(qint64 pos) { return callbackQIODevice_Seek(this, pos) != 0; }; + bool setPermissions(QFileDevice::Permissions permissions) { return callbackQFileDevice_SetPermissions(this, permissions) != 0; }; + qint64 size() const { return callbackQIODevice_Size(const_cast(static_cast(this))); }; + qint64 writeData(const char * data, qint64 l) { QtCore_PackedString dataPacked = { const_cast(data), l };return callbackQFileDevice_WriteData(this, dataPacked, l); }; + ~MyQFileDevice() { callbackQFileDevice_DestroyQFileDevice(this); }; + void Signal_AboutToClose() { callbackQIODevice_AboutToClose(this); }; + qint64 bytesAvailable() const { return callbackQIODevice_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQIODevice_BytesToWrite(const_cast(static_cast(this))); }; + void Signal_BytesWritten(qint64 bytes) { callbackQIODevice_BytesWritten(this, bytes); }; + bool canReadLine() const { return callbackQIODevice_CanReadLine(const_cast(static_cast(this))) != 0; }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQIODevice_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQIODevice_ChannelReadyRead(this, channel); }; + bool open(QIODevice::OpenMode mode) { return callbackQIODevice_Open(this, mode) != 0; }; + void Signal_ReadChannelFinished() { callbackQIODevice_ReadChannelFinished(this); }; + void Signal_ReadyRead() { callbackQIODevice_ReadyRead(this); }; + bool reset() { return callbackQIODevice_Reset(this) != 0; }; + bool waitForBytesWritten(int msecs) { return callbackQIODevice_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQIODevice_WaitForReadyRead(this, msecs) != 0; }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQFileDevice*) + +int QFileDevice_QFileDevice_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +long long QFileDevice_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtCore_PackedString QFileDevice_FileName(void* ptr) +{ + return ({ QByteArray t4e2118 = static_cast(ptr)->fileName().toUtf8(); QtCore_PackedString { const_cast(t4e2118.prepend("WHITESPACE").constData()+10), t4e2118.size()-10 }; }); +} + +struct QtCore_PackedString QFileDevice_FileNameDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tb198ab = static_cast(ptr)->QSaveFile::fileName().toUtf8(); QtCore_PackedString { const_cast(tb198ab.prepend("WHITESPACE").constData()+10), tb198ab.size()-10 }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tb198ab = static_cast(ptr)->QTemporaryFile::fileName().toUtf8(); QtCore_PackedString { const_cast(tb198ab.prepend("WHITESPACE").constData()+10), tb198ab.size()-10 }; }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray tb198ab = static_cast(ptr)->QFile::fileName().toUtf8(); QtCore_PackedString { const_cast(tb198ab.prepend("WHITESPACE").constData()+10), tb198ab.size()-10 }; }); + } else { + return ({ QByteArray tb198ab = static_cast(ptr)->QFileDevice::fileName().toUtf8(); QtCore_PackedString { const_cast(tb198ab.prepend("WHITESPACE").constData()+10), tb198ab.size()-10 }; }); + } +} + +void* QFileDevice_FileTime(void* ptr, long long ti) +{ + return new QDateTime(static_cast(ptr)->fileTime(static_cast(ti))); +} + +char QFileDevice_Flush(void* ptr) +{ + return static_cast(ptr)->flush(); +} + +int QFileDevice_Handle(void* ptr) +{ + return static_cast(ptr)->handle(); +} + +struct QtCore_PackedString QFileDevice_Map(void* ptr, long long offset, long long size, long long flags) +{ + return ({ char* t4b412c = static_cast(static_cast(static_cast(ptr)->map(offset, size, static_cast(flags)))); QtCore_PackedString { t4b412c, -1 }; }); +} + +long long QFileDevice_Permissions(void* ptr) +{ + return static_cast(ptr)->permissions(); +} + +long long QFileDevice_PermissionsDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::permissions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::permissions(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::permissions(); + } else { + return static_cast(ptr)->QFileDevice::permissions(); + } +} + +long long QFileDevice_ReadData(void* ptr, char* data, long long l) +{ + return static_cast(ptr)->readData(data, l); +} + +long long QFileDevice_ReadDataDefault(void* ptr, char* data, long long l) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::readData(data, l); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::readData(data, l); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::readData(data, l); + } else { + return static_cast(ptr)->QFileDevice::readData(data, l); + } +} + +char QFileDevice_Resize(void* ptr, long long sz) +{ + return static_cast(ptr)->resize(sz); +} + +char QFileDevice_ResizeDefault(void* ptr, long long sz) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::resize(sz); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::resize(sz); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::resize(sz); + } else { + return static_cast(ptr)->QFileDevice::resize(sz); + } +} + +char QFileDevice_SetFileTime(void* ptr, void* newDate, long long fileTime) +{ + return static_cast(ptr)->setFileTime(*static_cast(newDate), static_cast(fileTime)); +} + +char QFileDevice_SetPermissions(void* ptr, long long permissions) +{ + return static_cast(ptr)->setPermissions(static_cast(permissions)); +} + +char QFileDevice_SetPermissionsDefault(void* ptr, long long permissions) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::setPermissions(static_cast(permissions)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::setPermissions(static_cast(permissions)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::setPermissions(static_cast(permissions)); + } else { + return static_cast(ptr)->QFileDevice::setPermissions(static_cast(permissions)); + } +} + +char QFileDevice_Unmap(void* ptr, char* address) +{ + return static_cast(ptr)->unmap(static_cast(static_cast(address))); +} + +void QFileDevice_UnsetError(void* ptr) +{ + static_cast(ptr)->unsetError(); +} + +long long QFileDevice_WriteData(void* ptr, char* data, long long l) +{ + return static_cast(ptr)->writeData(const_cast(data), l); +} + +long long QFileDevice_WriteDataDefault(void* ptr, char* data, long long l) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::writeData(const_cast(data), l); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::writeData(const_cast(data), l); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::writeData(const_cast(data), l); + } else { + return static_cast(ptr)->QFileDevice::writeData(const_cast(data), l); + } +} + +void QFileDevice_DestroyQFileDevice(void* ptr) +{ + static_cast(ptr)->~QFileDevice(); +} + +void QFileDevice_DestroyQFileDeviceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QFileInfo_NewQFileInfo2() +{ + return new QFileInfo(); +} + +void* QFileInfo_NewQFileInfo3(struct QtCore_PackedString file) +{ + return new QFileInfo(QString::fromUtf8(file.data, file.len)); +} + +void* QFileInfo_NewQFileInfo4(void* file) +{ + return new QFileInfo(*static_cast(file)); +} + +void* QFileInfo_NewQFileInfo5(void* dir, struct QtCore_PackedString file) +{ + return new QFileInfo(*static_cast(dir), QString::fromUtf8(file.data, file.len)); +} + +void* QFileInfo_NewQFileInfo6(void* fileinfo) +{ + return new QFileInfo(*static_cast(fileinfo)); +} + +void* QFileInfo_AbsoluteDir(void* ptr) +{ + return new QDir(static_cast(ptr)->absoluteDir()); +} + +struct QtCore_PackedString QFileInfo_AbsoluteFilePath(void* ptr) +{ + return ({ QByteArray t97ee30 = static_cast(ptr)->absoluteFilePath().toUtf8(); QtCore_PackedString { const_cast(t97ee30.prepend("WHITESPACE").constData()+10), t97ee30.size()-10 }; }); +} + +struct QtCore_PackedString QFileInfo_AbsolutePath(void* ptr) +{ + return ({ QByteArray tcab43d = static_cast(ptr)->absolutePath().toUtf8(); QtCore_PackedString { const_cast(tcab43d.prepend("WHITESPACE").constData()+10), tcab43d.size()-10 }; }); +} + +struct QtCore_PackedString QFileInfo_BaseName(void* ptr) +{ + return ({ QByteArray t02e589 = static_cast(ptr)->baseName().toUtf8(); QtCore_PackedString { const_cast(t02e589.prepend("WHITESPACE").constData()+10), t02e589.size()-10 }; }); +} + +void* QFileInfo_BirthTime(void* ptr) +{ + return new QDateTime(static_cast(ptr)->birthTime()); +} + +struct QtCore_PackedString QFileInfo_BundleName(void* ptr) +{ + return ({ QByteArray tab958d = static_cast(ptr)->bundleName().toUtf8(); QtCore_PackedString { const_cast(tab958d.prepend("WHITESPACE").constData()+10), tab958d.size()-10 }; }); +} + +char QFileInfo_Caching(void* ptr) +{ + return static_cast(ptr)->caching(); +} + +struct QtCore_PackedString QFileInfo_CanonicalFilePath(void* ptr) +{ + return ({ QByteArray teeef69 = static_cast(ptr)->canonicalFilePath().toUtf8(); QtCore_PackedString { const_cast(teeef69.prepend("WHITESPACE").constData()+10), teeef69.size()-10 }; }); +} + +struct QtCore_PackedString QFileInfo_CanonicalPath(void* ptr) +{ + return ({ QByteArray t32e17a = static_cast(ptr)->canonicalPath().toUtf8(); QtCore_PackedString { const_cast(t32e17a.prepend("WHITESPACE").constData()+10), t32e17a.size()-10 }; }); +} + +struct QtCore_PackedString QFileInfo_CompleteBaseName(void* ptr) +{ + return ({ QByteArray t3f5264 = static_cast(ptr)->completeBaseName().toUtf8(); QtCore_PackedString { const_cast(t3f5264.prepend("WHITESPACE").constData()+10), t3f5264.size()-10 }; }); +} + +struct QtCore_PackedString QFileInfo_CompleteSuffix(void* ptr) +{ + return ({ QByteArray t780837 = static_cast(ptr)->completeSuffix().toUtf8(); QtCore_PackedString { const_cast(t780837.prepend("WHITESPACE").constData()+10), t780837.size()-10 }; }); +} + +void* QFileInfo_Dir(void* ptr) +{ + return new QDir(static_cast(ptr)->dir()); +} + +char QFileInfo_Exists(void* ptr) +{ + return static_cast(ptr)->exists(); +} + +char QFileInfo_QFileInfo_Exists2(struct QtCore_PackedString file) +{ + return QFileInfo::exists(QString::fromUtf8(file.data, file.len)); +} + +struct QtCore_PackedString QFileInfo_FileName(void* ptr) +{ + return ({ QByteArray t8cf8a1 = static_cast(ptr)->fileName().toUtf8(); QtCore_PackedString { const_cast(t8cf8a1.prepend("WHITESPACE").constData()+10), t8cf8a1.size()-10 }; }); +} + +struct QtCore_PackedString QFileInfo_FilePath(void* ptr) +{ + return ({ QByteArray tc6ca11 = static_cast(ptr)->filePath().toUtf8(); QtCore_PackedString { const_cast(tc6ca11.prepend("WHITESPACE").constData()+10), tc6ca11.size()-10 }; }); +} + +struct QtCore_PackedString QFileInfo_Group(void* ptr) +{ + return ({ QByteArray ta89964 = static_cast(ptr)->group().toUtf8(); QtCore_PackedString { const_cast(ta89964.prepend("WHITESPACE").constData()+10), ta89964.size()-10 }; }); +} + +unsigned int QFileInfo_GroupId(void* ptr) +{ + return static_cast(ptr)->groupId(); +} + +char QFileInfo_IsAbsolute(void* ptr) +{ + return static_cast(ptr)->isAbsolute(); +} + +char QFileInfo_IsBundle(void* ptr) +{ + return static_cast(ptr)->isBundle(); +} + +char QFileInfo_IsDir(void* ptr) +{ + return static_cast(ptr)->isDir(); +} + +char QFileInfo_IsExecutable(void* ptr) +{ + return static_cast(ptr)->isExecutable(); +} + +char QFileInfo_IsFile(void* ptr) +{ + return static_cast(ptr)->isFile(); +} + +char QFileInfo_IsHidden(void* ptr) +{ + return static_cast(ptr)->isHidden(); +} + +char QFileInfo_IsNativePath(void* ptr) +{ + return static_cast(ptr)->isNativePath(); +} + +char QFileInfo_IsReadable(void* ptr) +{ + return static_cast(ptr)->isReadable(); +} + +char QFileInfo_IsRelative(void* ptr) +{ + return static_cast(ptr)->isRelative(); +} + +char QFileInfo_IsRoot(void* ptr) +{ + return static_cast(ptr)->isRoot(); +} + +char QFileInfo_IsSymLink(void* ptr) +{ + return static_cast(ptr)->isSymLink(); +} + +char QFileInfo_IsWritable(void* ptr) +{ + return static_cast(ptr)->isWritable(); +} + +void* QFileInfo_LastModified(void* ptr) +{ + return new QDateTime(static_cast(ptr)->lastModified()); +} + +void* QFileInfo_LastRead(void* ptr) +{ + return new QDateTime(static_cast(ptr)->lastRead()); +} + +char QFileInfo_MakeAbsolute(void* ptr) +{ + return static_cast(ptr)->makeAbsolute(); +} + +void* QFileInfo_MetadataChangeTime(void* ptr) +{ + return new QDateTime(static_cast(ptr)->metadataChangeTime()); +} + +struct QtCore_PackedString QFileInfo_Owner(void* ptr) +{ + return ({ QByteArray t63af1f = static_cast(ptr)->owner().toUtf8(); QtCore_PackedString { const_cast(t63af1f.prepend("WHITESPACE").constData()+10), t63af1f.size()-10 }; }); +} + +unsigned int QFileInfo_OwnerId(void* ptr) +{ + return static_cast(ptr)->ownerId(); +} + +struct QtCore_PackedString QFileInfo_Path(void* ptr) +{ + return ({ QByteArray tdcd027 = static_cast(ptr)->path().toUtf8(); QtCore_PackedString { const_cast(tdcd027.prepend("WHITESPACE").constData()+10), tdcd027.size()-10 }; }); +} + +void QFileInfo_Refresh(void* ptr) +{ + static_cast(ptr)->refresh(); +} + +void QFileInfo_SetCaching(void* ptr, char enable) +{ + static_cast(ptr)->setCaching(enable != 0); +} + +void QFileInfo_SetFile(void* ptr, struct QtCore_PackedString file) +{ + static_cast(ptr)->setFile(QString::fromUtf8(file.data, file.len)); +} + +void QFileInfo_SetFile2(void* ptr, void* file) +{ + static_cast(ptr)->setFile(*static_cast(file)); +} + +void QFileInfo_SetFile3(void* ptr, void* dir, struct QtCore_PackedString file) +{ + static_cast(ptr)->setFile(*static_cast(dir), QString::fromUtf8(file.data, file.len)); +} + +long long QFileInfo_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +struct QtCore_PackedString QFileInfo_Suffix(void* ptr) +{ + return ({ QByteArray t1b5684 = static_cast(ptr)->suffix().toUtf8(); QtCore_PackedString { const_cast(t1b5684.prepend("WHITESPACE").constData()+10), t1b5684.size()-10 }; }); +} + +void QFileInfo_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtCore_PackedString QFileInfo_SymLinkTarget(void* ptr) +{ + return ({ QByteArray tbe6e66 = static_cast(ptr)->symLinkTarget().toUtf8(); QtCore_PackedString { const_cast(tbe6e66.prepend("WHITESPACE").constData()+10), tbe6e66.size()-10 }; }); +} + +void QFileInfo_DestroyQFileInfo(void* ptr) +{ + static_cast(ptr)->~QFileInfo(); +} + +class MyQFileSelector: public QFileSelector +{ +public: + MyQFileSelector(QObject *parent = Q_NULLPTR) : QFileSelector(parent) {QFileSelector_QFileSelector_QRegisterMetaType();}; + ~MyQFileSelector() { callbackQFileSelector_DestroyQFileSelector(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQFileSelector*) + +int QFileSelector_QFileSelector_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QFileSelector_NewQFileSelector(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSelector(static_cast(parent)); + } else { + return new MyQFileSelector(static_cast(parent)); + } +} + +struct QtCore_PackedString QFileSelector_AllSelectors(void* ptr) +{ + return ({ QByteArray tac6e92 = static_cast(ptr)->allSelectors().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tac6e92.prepend("WHITESPACE").constData()+10), tac6e92.size()-10 }; }); +} + +struct QtCore_PackedString QFileSelector_ExtraSelectors(void* ptr) +{ + return ({ QByteArray t31d53e = static_cast(ptr)->extraSelectors().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t31d53e.prepend("WHITESPACE").constData()+10), t31d53e.size()-10 }; }); +} + +struct QtCore_PackedString QFileSelector_Select(void* ptr, struct QtCore_PackedString filePath) +{ + return ({ QByteArray ta8a230 = static_cast(ptr)->select(QString::fromUtf8(filePath.data, filePath.len)).toUtf8(); QtCore_PackedString { const_cast(ta8a230.prepend("WHITESPACE").constData()+10), ta8a230.size()-10 }; }); +} + +void* QFileSelector_Select2(void* ptr, void* filePath) +{ + return new QUrl(static_cast(ptr)->select(*static_cast(filePath))); +} + +void QFileSelector_SetExtraSelectors(void* ptr, struct QtCore_PackedString list) +{ + static_cast(ptr)->setExtraSelectors(QString::fromUtf8(list.data, list.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QFileSelector_DestroyQFileSelector(void* ptr) +{ + static_cast(ptr)->~QFileSelector(); +} + +void QFileSelector_DestroyQFileSelectorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQFileSystemWatcher: public QFileSystemWatcher +{ +public: + MyQFileSystemWatcher(QObject *parent = Q_NULLPTR) : QFileSystemWatcher(parent) {QFileSystemWatcher_QFileSystemWatcher_QRegisterMetaType();}; + MyQFileSystemWatcher(const QStringList &paths, QObject *parent = Q_NULLPTR) : QFileSystemWatcher(paths, parent) {QFileSystemWatcher_QFileSystemWatcher_QRegisterMetaType();}; + void Signal_DirectoryChanged(const QString & path) { QByteArray t3150ec = path.toUtf8(); QtCore_PackedString pathPacked = { const_cast(t3150ec.prepend("WHITESPACE").constData()+10), t3150ec.size()-10 };callbackQFileSystemWatcher_DirectoryChanged(this, pathPacked); }; + void Signal_FileChanged(const QString & path) { QByteArray t3150ec = path.toUtf8(); QtCore_PackedString pathPacked = { const_cast(t3150ec.prepend("WHITESPACE").constData()+10), t3150ec.size()-10 };callbackQFileSystemWatcher_FileChanged(this, pathPacked); }; + ~MyQFileSystemWatcher() { callbackQFileSystemWatcher_DestroyQFileSystemWatcher(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQFileSystemWatcher*) + +int QFileSystemWatcher_QFileSystemWatcher_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QFileSystemWatcher_NewQFileSystemWatcher(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(static_cast(parent)); + } else { + return new MyQFileSystemWatcher(static_cast(parent)); + } +} + +void* QFileSystemWatcher_NewQFileSystemWatcher2(struct QtCore_PackedString paths, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else { + return new MyQFileSystemWatcher(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } +} + +char QFileSystemWatcher_AddPath(void* ptr, struct QtCore_PackedString path) +{ + return static_cast(ptr)->addPath(QString::fromUtf8(path.data, path.len)); +} + +struct QtCore_PackedString QFileSystemWatcher_AddPaths(void* ptr, struct QtCore_PackedString paths) +{ + return ({ QByteArray t3b4030 = static_cast(ptr)->addPaths(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t3b4030.prepend("WHITESPACE").constData()+10), t3b4030.size()-10 }; }); +} + +struct QtCore_PackedString QFileSystemWatcher_Directories(void* ptr) +{ + return ({ QByteArray t4c1489 = static_cast(ptr)->directories().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t4c1489.prepend("WHITESPACE").constData()+10), t4c1489.size()-10 }; }); +} + +void QFileSystemWatcher_ConnectDirectoryChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QFileSystemWatcher::directoryChanged, static_cast(ptr), static_cast(&MyQFileSystemWatcher::Signal_DirectoryChanged), static_cast(t)); +} + +void QFileSystemWatcher_DisconnectDirectoryChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QFileSystemWatcher::directoryChanged, static_cast(ptr), static_cast(&MyQFileSystemWatcher::Signal_DirectoryChanged)); +} + +void QFileSystemWatcher_ConnectFileChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QFileSystemWatcher::fileChanged, static_cast(ptr), static_cast(&MyQFileSystemWatcher::Signal_FileChanged), static_cast(t)); +} + +void QFileSystemWatcher_DisconnectFileChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QFileSystemWatcher::fileChanged, static_cast(ptr), static_cast(&MyQFileSystemWatcher::Signal_FileChanged)); +} + +struct QtCore_PackedString QFileSystemWatcher_Files(void* ptr) +{ + return ({ QByteArray t536197 = static_cast(ptr)->files().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t536197.prepend("WHITESPACE").constData()+10), t536197.size()-10 }; }); +} + +char QFileSystemWatcher_RemovePath(void* ptr, struct QtCore_PackedString path) +{ + return static_cast(ptr)->removePath(QString::fromUtf8(path.data, path.len)); +} + +struct QtCore_PackedString QFileSystemWatcher_RemovePaths(void* ptr, struct QtCore_PackedString paths) +{ + return ({ QByteArray te8a7c4 = static_cast(ptr)->removePaths(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(te8a7c4.prepend("WHITESPACE").constData()+10), te8a7c4.size()-10 }; }); +} + +void QFileSystemWatcher_DestroyQFileSystemWatcher(void* ptr) +{ + static_cast(ptr)->~QFileSystemWatcher(); +} + +void QFileSystemWatcher_DestroyQFileSystemWatcherDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQFinalState: public QFinalState +{ +public: + MyQFinalState(QState *parent = Q_NULLPTR) : QFinalState(parent) {QFinalState_QFinalState_QRegisterMetaType();}; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + void onEntry(QEvent * event) { callbackQFinalState_OnEntry(this, event); }; + void onExit(QEvent * event) { callbackQFinalState_OnExit(this, event); }; + ~MyQFinalState() { callbackQFinalState_DestroyQFinalState(this); }; + void Signal_ActiveChanged(bool active) { callbackQAbstractState_ActiveChanged(this, active); }; + void Signal_Entered() { callbackQAbstractState_Entered(this); }; + void Signal_Exited() { callbackQAbstractState_Exited(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQFinalState*) + +int QFinalState_QFinalState_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QFinalState_NewQFinalState(void* parent) +{ + return new MyQFinalState(static_cast(parent)); +} + +void QFinalState_OnEntry(void* ptr, void* event) +{ + static_cast(ptr)->onEntry(static_cast(event)); +} + +void QFinalState_OnEntryDefault(void* ptr, void* event) +{ + static_cast(ptr)->QFinalState::onEntry(static_cast(event)); +} + +void QFinalState_OnExit(void* ptr, void* event) +{ + static_cast(ptr)->onExit(static_cast(event)); +} + +void QFinalState_OnExitDefault(void* ptr, void* event) +{ + static_cast(ptr)->QFinalState::onExit(static_cast(event)); +} + +void QFinalState_DestroyQFinalState(void* ptr) +{ + static_cast(ptr)->~QFinalState(); +} + +void QFinalState_DestroyQFinalStateDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QFlag_NewQFlag(int value) +{ + return new QFlag(value); +} + +void* QFlag_NewQFlag2(unsigned int value) +{ + return new QFlag(value); +} + +void* QFlag_NewQFlag3(short value) +{ + return new QFlag(value); +} + +void* QFlag_NewQFlag4(unsigned short value) +{ + return new QFlag(value); +} + +void* QFutureInterface___reportResults_results_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QFutureInterface___reportResults_results_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QFutureInterface___reportResults_results_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QFutureInterface___results_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QFutureInterface___results_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QFutureInterface___results_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQFutureWatcherBase: public QFutureWatcherBase +{ +public: + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQFutureWatcherBase*) + +int QFutureWatcherBase_QFutureWatcherBase_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QGenericArgument_NewQGenericArgument(char* name, void* data) +{ + return new QGenericArgument(const_cast(name), data); +} + +void* QGenericArgument_Data(void* ptr) +{ + return static_cast(ptr)->data(); +} + +struct QtCore_PackedString QGenericArgument_Name(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->name()), -1 }; +} + +void* QGenericReturnArgument_NewQGenericReturnArgument(char* name, void* data) +{ + return new QGenericReturnArgument(const_cast(name), data); +} + +class MyQHistoryState: public QHistoryState +{ +public: + MyQHistoryState(QState *parent = Q_NULLPTR) : QHistoryState(parent) {QHistoryState_QHistoryState_QRegisterMetaType();}; + MyQHistoryState(QHistoryState::HistoryType ty, QState *parent = Q_NULLPTR) : QHistoryState(ty, parent) {QHistoryState_QHistoryState_QRegisterMetaType();}; + void Signal_DefaultStateChanged() { callbackQHistoryState_DefaultStateChanged(this); }; + void Signal_DefaultTransitionChanged() { callbackQHistoryState_DefaultTransitionChanged(this); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + void Signal_HistoryTypeChanged() { callbackQHistoryState_HistoryTypeChanged(this); }; + void onEntry(QEvent * event) { callbackQHistoryState_OnEntry(this, event); }; + void onExit(QEvent * event) { callbackQHistoryState_OnExit(this, event); }; + ~MyQHistoryState() { callbackQHistoryState_DestroyQHistoryState(this); }; + void Signal_ActiveChanged(bool active) { callbackQAbstractState_ActiveChanged(this, active); }; + void Signal_Entered() { callbackQAbstractState_Entered(this); }; + void Signal_Exited() { callbackQAbstractState_Exited(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQHistoryState*) + +int QHistoryState_QHistoryState_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QHistoryState_NewQHistoryState(void* parent) +{ + return new MyQHistoryState(static_cast(parent)); +} + +void* QHistoryState_NewQHistoryState2(long long ty, void* parent) +{ + return new MyQHistoryState(static_cast(ty), static_cast(parent)); +} + +void* QHistoryState_DefaultState(void* ptr) +{ + return static_cast(ptr)->defaultState(); +} + +void QHistoryState_ConnectDefaultStateChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QHistoryState::defaultStateChanged, static_cast(ptr), static_cast(&MyQHistoryState::Signal_DefaultStateChanged), static_cast(t)); +} + +void QHistoryState_DisconnectDefaultStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QHistoryState::defaultStateChanged, static_cast(ptr), static_cast(&MyQHistoryState::Signal_DefaultStateChanged)); +} + +void* QHistoryState_DefaultTransition(void* ptr) +{ + return static_cast(ptr)->defaultTransition(); +} + +void QHistoryState_ConnectDefaultTransitionChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QHistoryState::defaultTransitionChanged, static_cast(ptr), static_cast(&MyQHistoryState::Signal_DefaultTransitionChanged), static_cast(t)); +} + +void QHistoryState_DisconnectDefaultTransitionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QHistoryState::defaultTransitionChanged, static_cast(ptr), static_cast(&MyQHistoryState::Signal_DefaultTransitionChanged)); +} + +long long QHistoryState_HistoryType(void* ptr) +{ + return static_cast(ptr)->historyType(); +} + +void QHistoryState_ConnectHistoryTypeChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QHistoryState::historyTypeChanged, static_cast(ptr), static_cast(&MyQHistoryState::Signal_HistoryTypeChanged), static_cast(t)); +} + +void QHistoryState_DisconnectHistoryTypeChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QHistoryState::historyTypeChanged, static_cast(ptr), static_cast(&MyQHistoryState::Signal_HistoryTypeChanged)); +} + +void QHistoryState_OnEntry(void* ptr, void* event) +{ + static_cast(ptr)->onEntry(static_cast(event)); +} + +void QHistoryState_OnEntryDefault(void* ptr, void* event) +{ + static_cast(ptr)->QHistoryState::onEntry(static_cast(event)); +} + +void QHistoryState_OnExit(void* ptr, void* event) +{ + static_cast(ptr)->onExit(static_cast(event)); +} + +void QHistoryState_OnExitDefault(void* ptr, void* event) +{ + static_cast(ptr)->QHistoryState::onExit(static_cast(event)); +} + +void QHistoryState_SetDefaultState(void* ptr, void* state) +{ + static_cast(ptr)->setDefaultState(static_cast(state)); +} + +void QHistoryState_SetDefaultTransition(void* ptr, void* transition) +{ + static_cast(ptr)->setDefaultTransition(static_cast(transition)); +} + +void QHistoryState_SetHistoryType(void* ptr, long long ty) +{ + static_cast(ptr)->setHistoryType(static_cast(ty)); +} + +void QHistoryState_DestroyQHistoryState(void* ptr) +{ + static_cast(ptr)->~QHistoryState(); +} + +void QHistoryState_DestroyQHistoryStateDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQIODevice: public QIODevice +{ +public: + MyQIODevice() : QIODevice() {QIODevice_QIODevice_QRegisterMetaType();}; + MyQIODevice(QObject *parent) : QIODevice(parent) {QIODevice_QIODevice_QRegisterMetaType();}; + void Signal_AboutToClose() { callbackQIODevice_AboutToClose(this); }; + bool atEnd() const { return callbackQIODevice_AtEnd(const_cast(static_cast(this))) != 0; }; + qint64 bytesAvailable() const { return callbackQIODevice_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQIODevice_BytesToWrite(const_cast(static_cast(this))); }; + void Signal_BytesWritten(qint64 bytes) { callbackQIODevice_BytesWritten(this, bytes); }; + bool canReadLine() const { return callbackQIODevice_CanReadLine(const_cast(static_cast(this))) != 0; }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQIODevice_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQIODevice_ChannelReadyRead(this, channel); }; + void close() { callbackQIODevice_Close(this); }; + bool isSequential() const { return callbackQIODevice_IsSequential(const_cast(static_cast(this))) != 0; }; + bool open(QIODevice::OpenMode mode) { return callbackQIODevice_Open(this, mode) != 0; }; + qint64 pos() const { return callbackQIODevice_Pos(const_cast(static_cast(this))); }; + void Signal_ReadChannelFinished() { callbackQIODevice_ReadChannelFinished(this); }; + qint64 readData(char * data, qint64 maxSize) { QtCore_PackedString dataPacked = { data, maxSize };return callbackQIODevice_ReadData(this, dataPacked, maxSize); }; + qint64 readLineData(char * data, qint64 maxSize) { QtCore_PackedString dataPacked = { data, maxSize };return callbackQIODevice_ReadLineData(this, dataPacked, maxSize); }; + void Signal_ReadyRead() { callbackQIODevice_ReadyRead(this); }; + bool reset() { return callbackQIODevice_Reset(this) != 0; }; + bool seek(qint64 pos) { return callbackQIODevice_Seek(this, pos) != 0; }; + qint64 size() const { return callbackQIODevice_Size(const_cast(static_cast(this))); }; + bool waitForBytesWritten(int msecs) { return callbackQIODevice_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQIODevice_WaitForReadyRead(this, msecs) != 0; }; + qint64 writeData(const char * data, qint64 maxSize) { QtCore_PackedString dataPacked = { const_cast(data), maxSize };return callbackQIODevice_WriteData(this, dataPacked, maxSize); }; + ~MyQIODevice() { callbackQIODevice_DestroyQIODevice(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQIODevice*) + +int QIODevice_QIODevice_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QIODevice_NewQIODevice() +{ + return new MyQIODevice(); +} + +void* QIODevice_NewQIODevice2(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIODevice(static_cast(parent)); + } else { + return new MyQIODevice(static_cast(parent)); + } +} + +void QIODevice_ConnectAboutToClose(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QIODevice::aboutToClose), static_cast(ptr), static_cast(&MyQIODevice::Signal_AboutToClose), static_cast(t)); +} + +void QIODevice_DisconnectAboutToClose(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QIODevice::aboutToClose), static_cast(ptr), static_cast(&MyQIODevice::Signal_AboutToClose)); +} + +void QIODevice_AboutToClose(void* ptr) +{ + static_cast(ptr)->aboutToClose(); +} + +char QIODevice_AtEnd(void* ptr) +{ + return static_cast(ptr)->atEnd(); +} + +char QIODevice_AtEndDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::atEnd(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::atEnd(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::atEnd(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::atEnd(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::atEnd(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::atEnd(); + } else { + return static_cast(ptr)->QIODevice::atEnd(); + } +} + +long long QIODevice_BytesAvailable(void* ptr) +{ + return static_cast(ptr)->bytesAvailable(); +} + +long long QIODevice_BytesAvailableDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::bytesAvailable(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::bytesAvailable(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::bytesAvailable(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::bytesAvailable(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::bytesAvailable(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::bytesAvailable(); + } else { + return static_cast(ptr)->QIODevice::bytesAvailable(); + } +} + +long long QIODevice_BytesToWrite(void* ptr) +{ + return static_cast(ptr)->bytesToWrite(); +} + +long long QIODevice_BytesToWriteDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::bytesToWrite(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::bytesToWrite(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::bytesToWrite(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::bytesToWrite(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::bytesToWrite(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::bytesToWrite(); + } else { + return static_cast(ptr)->QIODevice::bytesToWrite(); + } +} + +void QIODevice_ConnectBytesWritten(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QIODevice::bytesWritten), static_cast(ptr), static_cast(&MyQIODevice::Signal_BytesWritten), static_cast(t)); +} + +void QIODevice_DisconnectBytesWritten(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QIODevice::bytesWritten), static_cast(ptr), static_cast(&MyQIODevice::Signal_BytesWritten)); +} + +void QIODevice_BytesWritten(void* ptr, long long bytes) +{ + static_cast(ptr)->bytesWritten(bytes); +} + +char QIODevice_CanReadLine(void* ptr) +{ + return static_cast(ptr)->canReadLine(); +} + +char QIODevice_CanReadLineDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::canReadLine(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::canReadLine(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::canReadLine(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::canReadLine(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::canReadLine(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::canReadLine(); + } else { + return static_cast(ptr)->QIODevice::canReadLine(); + } +} + +void QIODevice_ConnectChannelBytesWritten(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QIODevice::channelBytesWritten), static_cast(ptr), static_cast(&MyQIODevice::Signal_ChannelBytesWritten), static_cast(t)); +} + +void QIODevice_DisconnectChannelBytesWritten(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QIODevice::channelBytesWritten), static_cast(ptr), static_cast(&MyQIODevice::Signal_ChannelBytesWritten)); +} + +void QIODevice_ChannelBytesWritten(void* ptr, int channel, long long bytes) +{ + static_cast(ptr)->channelBytesWritten(channel, bytes); +} + +void QIODevice_ConnectChannelReadyRead(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QIODevice::channelReadyRead), static_cast(ptr), static_cast(&MyQIODevice::Signal_ChannelReadyRead), static_cast(t)); +} + +void QIODevice_DisconnectChannelReadyRead(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QIODevice::channelReadyRead), static_cast(ptr), static_cast(&MyQIODevice::Signal_ChannelReadyRead)); +} + +void QIODevice_ChannelReadyRead(void* ptr, int channel) +{ + static_cast(ptr)->channelReadyRead(channel); +} + +void QIODevice_Close(void* ptr) +{ + static_cast(ptr)->close(); +} + +void QIODevice_CloseDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QProcess::close(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSaveFile::close(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTemporaryFile::close(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFile::close(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileDevice::close(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QBuffer::close(); + } else { + static_cast(ptr)->QIODevice::close(); + } +} + +void QIODevice_CommitTransaction(void* ptr) +{ + static_cast(ptr)->commitTransaction(); +} + +int QIODevice_CurrentReadChannel(void* ptr) +{ + return static_cast(ptr)->currentReadChannel(); +} + +int QIODevice_CurrentWriteChannel(void* ptr) +{ + return static_cast(ptr)->currentWriteChannel(); +} + +struct QtCore_PackedString QIODevice_ErrorString(void* ptr) +{ + return ({ QByteArray t7db24b = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(t7db24b.prepend("WHITESPACE").constData()+10), t7db24b.size()-10 }; }); +} + +char QIODevice_GetChar(void* ptr, char* c) +{ + return static_cast(ptr)->getChar(c); +} + +char QIODevice_IsOpen(void* ptr) +{ + return static_cast(ptr)->isOpen(); +} + +char QIODevice_IsReadable(void* ptr) +{ + return static_cast(ptr)->isReadable(); +} + +char QIODevice_IsSequential(void* ptr) +{ + return static_cast(ptr)->isSequential(); +} + +char QIODevice_IsSequentialDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::isSequential(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::isSequential(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::isSequential(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::isSequential(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::isSequential(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::isSequential(); + } else { + return static_cast(ptr)->QIODevice::isSequential(); + } +} + +char QIODevice_IsTextModeEnabled(void* ptr) +{ + return static_cast(ptr)->isTextModeEnabled(); +} + +char QIODevice_IsTransactionStarted(void* ptr) +{ + return static_cast(ptr)->isTransactionStarted(); +} + +char QIODevice_IsWritable(void* ptr) +{ + return static_cast(ptr)->isWritable(); +} + +char QIODevice_Open(void* ptr, long long mode) +{ + return static_cast(ptr)->open(static_cast(mode)); +} + +char QIODevice_OpenDefault(void* ptr, long long mode) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::open(static_cast(mode)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::open(static_cast(mode)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::open(static_cast(mode)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::open(static_cast(mode)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::open(static_cast(mode)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::open(static_cast(mode)); + } else { + return static_cast(ptr)->QIODevice::open(static_cast(mode)); + } +} + +long long QIODevice_OpenMode(void* ptr) +{ + return static_cast(ptr)->openMode(); +} + +long long QIODevice_Peek(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->peek(data, maxSize); +} + +void* QIODevice_Peek2(void* ptr, long long maxSize) +{ + return new QByteArray(static_cast(ptr)->peek(maxSize)); +} + +long long QIODevice_Pos(void* ptr) +{ + return static_cast(ptr)->pos(); +} + +long long QIODevice_PosDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::pos(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::pos(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::pos(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::pos(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::pos(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::pos(); + } else { + return static_cast(ptr)->QIODevice::pos(); + } +} + +char QIODevice_PutChar(void* ptr, char* c) +{ + return static_cast(ptr)->putChar(*c); +} + +long long QIODevice_Read(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->read(data, maxSize); +} + +void* QIODevice_Read2(void* ptr, long long maxSize) +{ + return new QByteArray(static_cast(ptr)->read(maxSize)); +} + +void* QIODevice_ReadAll(void* ptr) +{ + return new QByteArray(static_cast(ptr)->readAll()); +} + +int QIODevice_ReadChannelCount(void* ptr) +{ + return static_cast(ptr)->readChannelCount(); +} + +void QIODevice_ConnectReadChannelFinished(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QIODevice::readChannelFinished), static_cast(ptr), static_cast(&MyQIODevice::Signal_ReadChannelFinished), static_cast(t)); +} + +void QIODevice_DisconnectReadChannelFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QIODevice::readChannelFinished), static_cast(ptr), static_cast(&MyQIODevice::Signal_ReadChannelFinished)); +} + +void QIODevice_ReadChannelFinished(void* ptr) +{ + static_cast(ptr)->readChannelFinished(); +} + +long long QIODevice_ReadData(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->readData(data, maxSize); +} + +long long QIODevice_ReadLine(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->readLine(data, maxSize); +} + +void* QIODevice_ReadLine2(void* ptr, long long maxSize) +{ + return new QByteArray(static_cast(ptr)->readLine(maxSize)); +} + +long long QIODevice_ReadLineData(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->readLineData(data, maxSize); +} + +long long QIODevice_ReadLineDataDefault(void* ptr, char* data, long long maxSize) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::readLineData(data, maxSize); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::readLineData(data, maxSize); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::readLineData(data, maxSize); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::readLineData(data, maxSize); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::readLineData(data, maxSize); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::readLineData(data, maxSize); + } else { + return static_cast(ptr)->QIODevice::readLineData(data, maxSize); + } +} + +void QIODevice_ConnectReadyRead(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QIODevice::readyRead), static_cast(ptr), static_cast(&MyQIODevice::Signal_ReadyRead), static_cast(t)); +} + +void QIODevice_DisconnectReadyRead(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QIODevice::readyRead), static_cast(ptr), static_cast(&MyQIODevice::Signal_ReadyRead)); +} + +void QIODevice_ReadyRead(void* ptr) +{ + static_cast(ptr)->readyRead(); +} + +char QIODevice_Reset(void* ptr) +{ + return static_cast(ptr)->reset(); +} + +char QIODevice_ResetDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::reset(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::reset(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::reset(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::reset(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::reset(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::reset(); + } else { + return static_cast(ptr)->QIODevice::reset(); + } +} + +void QIODevice_RollbackTransaction(void* ptr) +{ + static_cast(ptr)->rollbackTransaction(); +} + +char QIODevice_Seek(void* ptr, long long pos) +{ + return static_cast(ptr)->seek(pos); +} + +char QIODevice_SeekDefault(void* ptr, long long pos) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::seek(pos); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::seek(pos); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::seek(pos); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::seek(pos); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::seek(pos); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::seek(pos); + } else { + return static_cast(ptr)->QIODevice::seek(pos); + } +} + +void QIODevice_SetCurrentReadChannel(void* ptr, int channel) +{ + static_cast(ptr)->setCurrentReadChannel(channel); +} + +void QIODevice_SetCurrentWriteChannel(void* ptr, int channel) +{ + static_cast(ptr)->setCurrentWriteChannel(channel); +} + +void QIODevice_SetErrorString(void* ptr, struct QtCore_PackedString str) +{ + static_cast(ptr)->setErrorString(QString::fromUtf8(str.data, str.len)); +} + +void QIODevice_SetOpenMode(void* ptr, long long openMode) +{ + static_cast(ptr)->setOpenMode(static_cast(openMode)); +} + +void QIODevice_SetTextModeEnabled(void* ptr, char enabled) +{ + static_cast(ptr)->setTextModeEnabled(enabled != 0); +} + +long long QIODevice_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +long long QIODevice_SizeDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::size(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::size(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::size(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::size(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::size(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::size(); + } else { + return static_cast(ptr)->QIODevice::size(); + } +} + +long long QIODevice_Skip(void* ptr, long long maxSize) +{ + return static_cast(ptr)->skip(maxSize); +} + +void QIODevice_StartTransaction(void* ptr) +{ + static_cast(ptr)->startTransaction(); +} + +void QIODevice_UngetChar(void* ptr, char* c) +{ + static_cast(ptr)->ungetChar(*c); +} + +char QIODevice_WaitForBytesWritten(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForBytesWritten(msecs); +} + +char QIODevice_WaitForBytesWrittenDefault(void* ptr, int msecs) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::waitForBytesWritten(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::waitForBytesWritten(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::waitForBytesWritten(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::waitForBytesWritten(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::waitForBytesWritten(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::waitForBytesWritten(msecs); + } else { + return static_cast(ptr)->QIODevice::waitForBytesWritten(msecs); + } +} + +char QIODevice_WaitForReadyRead(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForReadyRead(msecs); +} + +char QIODevice_WaitForReadyReadDefault(void* ptr, int msecs) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::waitForReadyRead(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::waitForReadyRead(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::waitForReadyRead(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::waitForReadyRead(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::waitForReadyRead(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::waitForReadyRead(msecs); + } else { + return static_cast(ptr)->QIODevice::waitForReadyRead(msecs); + } +} + +long long QIODevice_Write(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->write(const_cast(data), maxSize); +} + +long long QIODevice_Write2(void* ptr, char* data) +{ + return static_cast(ptr)->write(const_cast(data)); +} + +long long QIODevice_Write3(void* ptr, void* byteArray) +{ + return static_cast(ptr)->write(*static_cast(byteArray)); +} + +int QIODevice_WriteChannelCount(void* ptr) +{ + return static_cast(ptr)->writeChannelCount(); +} + +long long QIODevice_WriteData(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->writeData(const_cast(data), maxSize); +} + +void QIODevice_DestroyQIODevice(void* ptr) +{ + static_cast(ptr)->~QIODevice(); +} + +void QIODevice_DestroyQIODeviceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQIdentityProxyModel: public QIdentityProxyModel +{ +public: + MyQIdentityProxyModel(QObject *parent = Q_NULLPTR) : QIdentityProxyModel(parent) {QIdentityProxyModel_QIdentityProxyModel_QRegisterMetaType();}; + int columnCount(const QModelIndex & parent) const { return callbackQIdentityProxyModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQAbstractItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQAbstractItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQIdentityProxyModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + QModelIndex mapFromSource(const QModelIndex & sourceIndex) const { return *static_cast(callbackQIdentityProxyModel_MapFromSource(const_cast(static_cast(this)), const_cast(&sourceIndex))); }; + QItemSelection mapSelectionFromSource(const QItemSelection & selection) const { return *static_cast(callbackQAbstractProxyModel_MapSelectionFromSource(const_cast(static_cast(this)), const_cast(&selection))); }; + QItemSelection mapSelectionToSource(const QItemSelection & selection) const { return *static_cast(callbackQAbstractProxyModel_MapSelectionToSource(const_cast(static_cast(this)), const_cast(&selection))); }; + QModelIndex mapToSource(const QModelIndex & proxyIndex) const { return *static_cast(callbackQIdentityProxyModel_MapToSource(const_cast(static_cast(this)), const_cast(&proxyIndex))); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQAbstractItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + QModelIndex parent(const QModelIndex & child) const { return *static_cast(callbackQIdentityProxyModel_Parent(const_cast(static_cast(this)), const_cast(&child))); }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + int rowCount(const QModelIndex & parent) const { return callbackQIdentityProxyModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void setSourceModel(QAbstractItemModel * newSourceModel) { callbackQAbstractProxyModel_SetSourceModel(this, newSourceModel); }; + QModelIndex sibling(int row, int column, const QModelIndex & idx) const { return *static_cast(callbackQAbstractItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&idx))); }; + ~MyQIdentityProxyModel() { callbackQIdentityProxyModel_DestroyQIdentityProxyModel(this); }; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQAbstractItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQAbstractItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant data(const QModelIndex & proxyIndex, int role) const { return *static_cast(callbackQAbstractProxyModel_Data(const_cast(static_cast(this)), const_cast(&proxyIndex), role)); }; + void fetchMore(const QModelIndex & parent) { callbackQAbstractItemModel_FetchMore(this, const_cast(&parent)); }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQAbstractItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQAbstractItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QMap itemData(const QModelIndex & proxyIndex) const { return ({ QMap* tmpP = static_cast*>(callbackQAbstractItemModel_ItemData(const_cast(static_cast(this)), const_cast(&proxyIndex))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQAbstractItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtCore_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtCore_PackedString tempVal = callbackQAbstractItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + void resetInternalData() { callbackQAbstractItemModel_ResetInternalData(this); }; + void revert() { callbackQAbstractProxyModel_Revert(this); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQAbstractItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQAbstractItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + bool setItemData(const QModelIndex & index, const QMap & roles) { return callbackQAbstractItemModel_SetItemData(this, const_cast(&index), ({ QMap* tmpValue037c88 = new QMap(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + void sort(int column, Qt::SortOrder order) { callbackQAbstractItemModel_Sort(this, column, order); }; + void Signal_SourceModelChanged() { callbackQAbstractProxyModel_SourceModelChanged(this); }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + bool submit() { return callbackQAbstractProxyModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQAbstractItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQAbstractItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQAbstractItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQAbstractItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQAbstractItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQAbstractItemModel_HeaderDataChanged(this, orientation, first, last); }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_ModelAboutToBeReset() { callbackQAbstractItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQAbstractItemModel_ModelReset(this); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveColumns(this, const_cast(&sourceParent), sourceColumn, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQAbstractItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQAbstractItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQAbstractItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQAbstractItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQIdentityProxyModel*) + +int QIdentityProxyModel_QIdentityProxyModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QIdentityProxyModel_NewQIdentityProxyModel(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIdentityProxyModel(static_cast(parent)); + } else { + return new MyQIdentityProxyModel(static_cast(parent)); + } +} + +int QIdentityProxyModel_ColumnCount(void* ptr, void* parent) +{ + return static_cast(ptr)->columnCount(*static_cast(parent)); +} + +int QIdentityProxyModel_ColumnCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QIdentityProxyModel::columnCount(*static_cast(parent)); +} + +void* QIdentityProxyModel_Index(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->index(row, column, *static_cast(parent))); +} + +void* QIdentityProxyModel_IndexDefault(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->QIdentityProxyModel::index(row, column, *static_cast(parent))); +} + +void* QIdentityProxyModel_MapFromSource(void* ptr, void* sourceIndex) +{ + return new QModelIndex(static_cast(ptr)->mapFromSource(*static_cast(sourceIndex))); +} + +void* QIdentityProxyModel_MapFromSourceDefault(void* ptr, void* sourceIndex) +{ + return new QModelIndex(static_cast(ptr)->QIdentityProxyModel::mapFromSource(*static_cast(sourceIndex))); +} + +void* QIdentityProxyModel_MapToSource(void* ptr, void* proxyIndex) +{ + return new QModelIndex(static_cast(ptr)->mapToSource(*static_cast(proxyIndex))); +} + +void* QIdentityProxyModel_MapToSourceDefault(void* ptr, void* proxyIndex) +{ + return new QModelIndex(static_cast(ptr)->QIdentityProxyModel::mapToSource(*static_cast(proxyIndex))); +} + +void* QIdentityProxyModel_Parent(void* ptr, void* child) +{ + return new QModelIndex(static_cast(ptr)->parent(*static_cast(child))); +} + +void* QIdentityProxyModel_ParentDefault(void* ptr, void* child) +{ + return new QModelIndex(static_cast(ptr)->QIdentityProxyModel::parent(*static_cast(child))); +} + +int QIdentityProxyModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +int QIdentityProxyModel_RowCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QIdentityProxyModel::rowCount(*static_cast(parent)); +} + +void QIdentityProxyModel_DestroyQIdentityProxyModel(void* ptr) +{ + static_cast(ptr)->~QIdentityProxyModel(); +} + +void QIdentityProxyModel_DestroyQIdentityProxyModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QItemSelection_NewQItemSelection() +{ + return new QItemSelection(); +} + +void* QItemSelection_NewQItemSelection2(void* topLeft, void* bottomRight) +{ + return new QItemSelection(*static_cast(topLeft), *static_cast(bottomRight)); +} + +char QItemSelection_Contains(void* ptr, void* index) +{ + return static_cast(ptr)->contains(*static_cast(index)); +} + +struct QtCore_PackedList QItemSelection_Indexes(void* ptr) +{ + return ({ QList* tmpValue5090cf = new QList(static_cast(ptr)->indexes()); QtCore_PackedList { tmpValue5090cf, tmpValue5090cf->size() }; }); +} + +void QItemSelection_Merge(void* ptr, void* other, long long command) +{ + static_cast(ptr)->merge(*static_cast(other), static_cast(command)); +} + +void QItemSelection_Select(void* ptr, void* topLeft, void* bottomRight) +{ + static_cast(ptr)->select(*static_cast(topLeft), *static_cast(bottomRight)); +} + +void QItemSelection_QItemSelection_Split(void* ran, void* other, void* result) +{ + QItemSelection::split(*static_cast(ran), *static_cast(other), static_cast(result)); +} + +void* QItemSelection___indexes_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QItemSelection___indexes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QItemSelection___indexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQItemSelectionModel: public QItemSelectionModel +{ +public: + MyQItemSelectionModel(QAbstractItemModel *model = Q_NULLPTR) : QItemSelectionModel(model) {QItemSelectionModel_QItemSelectionModel_QRegisterMetaType();}; + MyQItemSelectionModel(QAbstractItemModel *model, QObject *parent) : QItemSelectionModel(model, parent) {QItemSelectionModel_QItemSelectionModel_QRegisterMetaType();}; + void clear() { callbackQItemSelectionModel_Clear(this); }; + void clearCurrentIndex() { callbackQItemSelectionModel_ClearCurrentIndex(this); }; + void clearSelection() { callbackQItemSelectionModel_ClearSelection(this); }; + void Signal_CurrentChanged(const QModelIndex & current, const QModelIndex & previous) { callbackQItemSelectionModel_CurrentChanged(this, const_cast(¤t), const_cast(&previous)); }; + void Signal_CurrentColumnChanged(const QModelIndex & current, const QModelIndex & previous) { callbackQItemSelectionModel_CurrentColumnChanged(this, const_cast(¤t), const_cast(&previous)); }; + void Signal_CurrentRowChanged(const QModelIndex & current, const QModelIndex & previous) { callbackQItemSelectionModel_CurrentRowChanged(this, const_cast(¤t), const_cast(&previous)); }; + void Signal_ModelChanged(QAbstractItemModel * model) { callbackQItemSelectionModel_ModelChanged(this, model); }; + void reset() { callbackQItemSelectionModel_Reset(this); }; + void select(const QModelIndex & index, QItemSelectionModel::SelectionFlags command) { callbackQItemSelectionModel_Select(this, const_cast(&index), command); }; + void select(const QItemSelection & selection, QItemSelectionModel::SelectionFlags command) { callbackQItemSelectionModel_Select2(this, const_cast(&selection), command); }; + void Signal_SelectionChanged(const QItemSelection & selected, const QItemSelection & deselected) { callbackQItemSelectionModel_SelectionChanged(this, const_cast(&selected), const_cast(&deselected)); }; + void setCurrentIndex(const QModelIndex & index, QItemSelectionModel::SelectionFlags command) { callbackQItemSelectionModel_SetCurrentIndex(this, const_cast(&index), command); }; + ~MyQItemSelectionModel() { callbackQItemSelectionModel_DestroyQItemSelectionModel(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQItemSelectionModel*) + +int QItemSelectionModel_QItemSelectionModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QItemSelectionModel_NewQItemSelectionModel(void* model) +{ + return new MyQItemSelectionModel(static_cast(model)); +} + +void* QItemSelectionModel_NewQItemSelectionModel2(void* model, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } else { + return new MyQItemSelectionModel(static_cast(model), static_cast(parent)); + } +} + +void QItemSelectionModel_Clear(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "clear"); +} + +void QItemSelectionModel_ClearDefault(void* ptr) +{ + static_cast(ptr)->QItemSelectionModel::clear(); +} + +void QItemSelectionModel_ClearCurrentIndex(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "clearCurrentIndex"); +} + +void QItemSelectionModel_ClearCurrentIndexDefault(void* ptr) +{ + static_cast(ptr)->QItemSelectionModel::clearCurrentIndex(); +} + +void QItemSelectionModel_ClearSelection(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "clearSelection"); +} + +void QItemSelectionModel_ClearSelectionDefault(void* ptr) +{ + static_cast(ptr)->QItemSelectionModel::clearSelection(); +} + +char QItemSelectionModel_ColumnIntersectsSelection(void* ptr, int column, void* parent) +{ + return static_cast(ptr)->columnIntersectsSelection(column, *static_cast(parent)); +} + +void QItemSelectionModel_ConnectCurrentChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QItemSelectionModel::currentChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_CurrentChanged), static_cast(t)); +} + +void QItemSelectionModel_DisconnectCurrentChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QItemSelectionModel::currentChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_CurrentChanged)); +} + +void QItemSelectionModel_CurrentChanged(void* ptr, void* current, void* previous) +{ + static_cast(ptr)->currentChanged(*static_cast(current), *static_cast(previous)); +} + +void QItemSelectionModel_ConnectCurrentColumnChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QItemSelectionModel::currentColumnChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_CurrentColumnChanged), static_cast(t)); +} + +void QItemSelectionModel_DisconnectCurrentColumnChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QItemSelectionModel::currentColumnChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_CurrentColumnChanged)); +} + +void QItemSelectionModel_CurrentColumnChanged(void* ptr, void* current, void* previous) +{ + static_cast(ptr)->currentColumnChanged(*static_cast(current), *static_cast(previous)); +} + +void* QItemSelectionModel_CurrentIndex(void* ptr) +{ + return new QModelIndex(static_cast(ptr)->currentIndex()); +} + +void QItemSelectionModel_ConnectCurrentRowChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QItemSelectionModel::currentRowChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_CurrentRowChanged), static_cast(t)); +} + +void QItemSelectionModel_DisconnectCurrentRowChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QItemSelectionModel::currentRowChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_CurrentRowChanged)); +} + +void QItemSelectionModel_CurrentRowChanged(void* ptr, void* current, void* previous) +{ + static_cast(ptr)->currentRowChanged(*static_cast(current), *static_cast(previous)); +} + +void QItemSelectionModel_EmitSelectionChanged(void* ptr, void* newSelection, void* oldSelection) +{ + static_cast(ptr)->emitSelectionChanged(*static_cast(newSelection), *static_cast(oldSelection)); +} + +char QItemSelectionModel_HasSelection(void* ptr) +{ + return static_cast(ptr)->hasSelection(); +} + +char QItemSelectionModel_IsColumnSelected(void* ptr, int column, void* parent) +{ + return static_cast(ptr)->isColumnSelected(column, *static_cast(parent)); +} + +char QItemSelectionModel_IsRowSelected(void* ptr, int row, void* parent) +{ + return static_cast(ptr)->isRowSelected(row, *static_cast(parent)); +} + +char QItemSelectionModel_IsSelected(void* ptr, void* index) +{ + return static_cast(ptr)->isSelected(*static_cast(index)); +} + +void* QItemSelectionModel_Model(void* ptr) +{ + return const_cast(static_cast(ptr)->model()); +} + +void* QItemSelectionModel_Model2(void* ptr) +{ + return static_cast(ptr)->model(); +} + +void QItemSelectionModel_ConnectModelChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QItemSelectionModel::modelChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_ModelChanged), static_cast(t)); +} + +void QItemSelectionModel_DisconnectModelChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QItemSelectionModel::modelChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_ModelChanged)); +} + +void QItemSelectionModel_ModelChanged(void* ptr, void* model) +{ + static_cast(ptr)->modelChanged(static_cast(model)); +} + +void QItemSelectionModel_Reset(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "reset"); +} + +void QItemSelectionModel_ResetDefault(void* ptr) +{ + static_cast(ptr)->QItemSelectionModel::reset(); +} + +char QItemSelectionModel_RowIntersectsSelection(void* ptr, int row, void* parent) +{ + return static_cast(ptr)->rowIntersectsSelection(row, *static_cast(parent)); +} + +void QItemSelectionModel_Select(void* ptr, void* index, long long command) +{ + qRegisterMetaType(); + QMetaObject::invokeMethod(static_cast(ptr), "select", Q_ARG(const QModelIndex, *static_cast(index)), Q_ARG(QItemSelectionModel::SelectionFlags, static_cast(command))); +} + +void QItemSelectionModel_SelectDefault(void* ptr, void* index, long long command) +{ + static_cast(ptr)->QItemSelectionModel::select(*static_cast(index), static_cast(command)); +} + +void QItemSelectionModel_Select2(void* ptr, void* selection, long long command) +{ + qRegisterMetaType(); + QMetaObject::invokeMethod(static_cast(ptr), "select", Q_ARG(const QItemSelection, *static_cast(selection)), Q_ARG(QItemSelectionModel::SelectionFlags, static_cast(command))); +} + +void QItemSelectionModel_Select2Default(void* ptr, void* selection, long long command) +{ + static_cast(ptr)->QItemSelectionModel::select(*static_cast(selection), static_cast(command)); +} + +struct QtCore_PackedList QItemSelectionModel_SelectedColumns(void* ptr, int row) +{ + return ({ QList* tmpValue9dab4f = new QList(static_cast(ptr)->selectedColumns(row)); QtCore_PackedList { tmpValue9dab4f, tmpValue9dab4f->size() }; }); +} + +struct QtCore_PackedList QItemSelectionModel_SelectedIndexes(void* ptr) +{ + return ({ QList* tmpValue1476df = new QList(static_cast(ptr)->selectedIndexes()); QtCore_PackedList { tmpValue1476df, tmpValue1476df->size() }; }); +} + +struct QtCore_PackedList QItemSelectionModel_SelectedRows(void* ptr, int column) +{ + return ({ QList* tmpValueedb157 = new QList(static_cast(ptr)->selectedRows(column)); QtCore_PackedList { tmpValueedb157, tmpValueedb157->size() }; }); +} + +void* QItemSelectionModel_Selection(void* ptr) +{ + return new QItemSelection(static_cast(ptr)->selection()); +} + +void QItemSelectionModel_ConnectSelectionChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QItemSelectionModel::selectionChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_SelectionChanged), static_cast(t)); +} + +void QItemSelectionModel_DisconnectSelectionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QItemSelectionModel::selectionChanged), static_cast(ptr), static_cast(&MyQItemSelectionModel::Signal_SelectionChanged)); +} + +void QItemSelectionModel_SelectionChanged(void* ptr, void* selected, void* deselected) +{ + static_cast(ptr)->selectionChanged(*static_cast(selected), *static_cast(deselected)); +} + +void QItemSelectionModel_SetCurrentIndex(void* ptr, void* index, long long command) +{ + qRegisterMetaType(); + QMetaObject::invokeMethod(static_cast(ptr), "setCurrentIndex", Q_ARG(const QModelIndex, *static_cast(index)), Q_ARG(QItemSelectionModel::SelectionFlags, static_cast(command))); +} + +void QItemSelectionModel_SetCurrentIndexDefault(void* ptr, void* index, long long command) +{ + static_cast(ptr)->QItemSelectionModel::setCurrentIndex(*static_cast(index), static_cast(command)); +} + +void QItemSelectionModel_SetModel(void* ptr, void* model) +{ + static_cast(ptr)->setModel(static_cast(model)); +} + +void QItemSelectionModel_DestroyQItemSelectionModel(void* ptr) +{ + static_cast(ptr)->~QItemSelectionModel(); +} + +void QItemSelectionModel_DestroyQItemSelectionModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QItemSelectionModel___selectedColumns_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QItemSelectionModel___selectedColumns_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QItemSelectionModel___selectedColumns_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QItemSelectionModel___selectedIndexes_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QItemSelectionModel___selectedIndexes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QItemSelectionModel___selectedIndexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QItemSelectionModel___selectedRows_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QItemSelectionModel___selectedRows_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QItemSelectionModel___selectedRows_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QItemSelectionRange_NewQItemSelectionRange() +{ + return new QItemSelectionRange(); +} + +void* QItemSelectionRange_NewQItemSelectionRange2(void* other) +{ + return new QItemSelectionRange(*static_cast(other)); +} + +void* QItemSelectionRange_NewQItemSelectionRange4(void* topLeft, void* bottomRight) +{ + return new QItemSelectionRange(*static_cast(topLeft), *static_cast(bottomRight)); +} + +void* QItemSelectionRange_NewQItemSelectionRange5(void* index) +{ + return new QItemSelectionRange(*static_cast(index)); +} + +int QItemSelectionRange_Bottom(void* ptr) +{ + return static_cast(ptr)->bottom(); +} + +void* QItemSelectionRange_BottomRight(void* ptr) +{ + return const_cast(&static_cast(ptr)->bottomRight()); +} + +char QItemSelectionRange_Contains(void* ptr, void* index) +{ + return static_cast(ptr)->contains(*static_cast(index)); +} + +char QItemSelectionRange_Contains2(void* ptr, int row, int column, void* parentIndex) +{ + return static_cast(ptr)->contains(row, column, *static_cast(parentIndex)); +} + +int QItemSelectionRange_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +struct QtCore_PackedList QItemSelectionRange_Indexes(void* ptr) +{ + return ({ QList* tmpValuecb2327 = new QList(static_cast(ptr)->indexes()); QtCore_PackedList { tmpValuecb2327, tmpValuecb2327->size() }; }); +} + +void* QItemSelectionRange_Intersected(void* ptr, void* other) +{ + return new QItemSelectionRange(static_cast(ptr)->intersected(*static_cast(other))); +} + +char QItemSelectionRange_Intersects(void* ptr, void* other) +{ + return static_cast(ptr)->intersects(*static_cast(other)); +} + +char QItemSelectionRange_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QItemSelectionRange_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QItemSelectionRange_Left(void* ptr) +{ + return static_cast(ptr)->left(); +} + +void* QItemSelectionRange_Model(void* ptr) +{ + return const_cast(static_cast(ptr)->model()); +} + +void* QItemSelectionRange_Parent(void* ptr) +{ + return new QModelIndex(static_cast(ptr)->parent()); +} + +int QItemSelectionRange_Right(void* ptr) +{ + return static_cast(ptr)->right(); +} + +void QItemSelectionRange_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +int QItemSelectionRange_Top(void* ptr) +{ + return static_cast(ptr)->top(); +} + +void* QItemSelectionRange_TopLeft(void* ptr) +{ + return const_cast(&static_cast(ptr)->topLeft()); +} + +int QItemSelectionRange_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +void* QItemSelectionRange___indexes_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QItemSelectionRange___indexes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QItemSelectionRange___indexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QJsonArray_NewQJsonArray() +{ + return new QJsonArray(); +} + +void* QJsonArray_NewQJsonArray3(void* other) +{ + return new QJsonArray(*static_cast(other)); +} + +void* QJsonArray_NewQJsonArray4(void* other) +{ + return new QJsonArray(*static_cast(other)); +} + +void QJsonArray_Append(void* ptr, void* value) +{ + static_cast(ptr)->append(*static_cast(value)); +} + +void* QJsonArray_At(void* ptr, int i) +{ + return new QJsonValue(static_cast(ptr)->at(i)); +} + +char QJsonArray_Contains(void* ptr, void* value) +{ + return static_cast(ptr)->contains(*static_cast(value)); +} + +int QJsonArray_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +char QJsonArray_Empty(void* ptr) +{ + return static_cast(ptr)->empty(); +} + +void* QJsonArray_First(void* ptr) +{ + return new QJsonValue(static_cast(ptr)->first()); +} + +void* QJsonArray_QJsonArray_FromStringList(struct QtCore_PackedString list) +{ + return new QJsonArray(QJsonArray::fromStringList(QString::fromUtf8(list.data, list.len).split("¡¦!", QString::SkipEmptyParts))); +} + +void* QJsonArray_QJsonArray_FromVariantList(void* list) +{ + return new QJsonArray(QJsonArray::fromVariantList(({ QList* tmpP = static_cast*>(list); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }))); +} + +void QJsonArray_Insert(void* ptr, int i, void* value) +{ + static_cast(ptr)->insert(i, *static_cast(value)); +} + +char QJsonArray_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +void* QJsonArray_Last(void* ptr) +{ + return new QJsonValue(static_cast(ptr)->last()); +} + +void QJsonArray_Pop_back(void* ptr) +{ + static_cast(ptr)->pop_back(); +} + +void QJsonArray_Pop_front(void* ptr) +{ + static_cast(ptr)->pop_front(); +} + +void QJsonArray_Prepend(void* ptr, void* value) +{ + static_cast(ptr)->prepend(*static_cast(value)); +} + +void QJsonArray_Push_back(void* ptr, void* value) +{ + static_cast(ptr)->push_back(*static_cast(value)); +} + +void QJsonArray_Push_front(void* ptr, void* value) +{ + static_cast(ptr)->push_front(*static_cast(value)); +} + +void QJsonArray_RemoveAt(void* ptr, int i) +{ + static_cast(ptr)->removeAt(i); +} + +void QJsonArray_RemoveFirst(void* ptr) +{ + static_cast(ptr)->removeFirst(); +} + +void QJsonArray_RemoveLast(void* ptr) +{ + static_cast(ptr)->removeLast(); +} + +void QJsonArray_Replace(void* ptr, int i, void* value) +{ + static_cast(ptr)->replace(i, *static_cast(value)); +} + +int QJsonArray_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +void QJsonArray_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QJsonArray_TakeAt(void* ptr, int i) +{ + return new QJsonValue(static_cast(ptr)->takeAt(i)); +} + +struct QtCore_PackedList QJsonArray_ToVariantList(void* ptr) +{ + return ({ QList* tmpValue10940c = new QList(static_cast(ptr)->toVariantList()); QtCore_PackedList { tmpValue10940c, tmpValue10940c->size() }; }); +} + +void QJsonArray_DestroyQJsonArray(void* ptr) +{ + static_cast(ptr)->~QJsonArray(); +} + +void* QJsonArray___fromVariantList_list_atList(void* ptr, int i) +{ + return new QVariant(({QVariant tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QJsonArray___fromVariantList_list_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QJsonArray___fromVariantList_list_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QJsonArray___toVariantList_atList(void* ptr, int i) +{ + return new QVariant(({QVariant tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QJsonArray___toVariantList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QJsonArray___toVariantList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QJsonDocument_NewQJsonDocument() +{ + return new QJsonDocument(); +} + +void* QJsonDocument_NewQJsonDocument2(void* object) +{ + return new QJsonDocument(*static_cast(object)); +} + +void* QJsonDocument_NewQJsonDocument3(void* array) +{ + return new QJsonDocument(*static_cast(array)); +} + +void* QJsonDocument_NewQJsonDocument4(void* other) +{ + return new QJsonDocument(*static_cast(other)); +} + +void* QJsonDocument_NewQJsonDocument5(void* other) +{ + return new QJsonDocument(*static_cast(other)); +} + +void* QJsonDocument_Array(void* ptr) +{ + return new QJsonArray(static_cast(ptr)->array()); +} + +void* QJsonDocument_QJsonDocument_FromBinaryData(void* data, long long validation) +{ + return new QJsonDocument(QJsonDocument::fromBinaryData(*static_cast(data), static_cast(validation))); +} + +void* QJsonDocument_QJsonDocument_FromJson(void* json, void* error) +{ + return new QJsonDocument(QJsonDocument::fromJson(*static_cast(json), static_cast(error))); +} + +void* QJsonDocument_QJsonDocument_FromRawData(char* data, int size, long long validation) +{ + return new QJsonDocument(QJsonDocument::fromRawData(const_cast(data), size, static_cast(validation))); +} + +void* QJsonDocument_QJsonDocument_FromVariant(void* variant) +{ + return new QJsonDocument(QJsonDocument::fromVariant(*static_cast(variant))); +} + +char QJsonDocument_IsArray(void* ptr) +{ + return static_cast(ptr)->isArray(); +} + +char QJsonDocument_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QJsonDocument_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QJsonDocument_IsObject(void* ptr) +{ + return static_cast(ptr)->isObject(); +} + +void* QJsonDocument_Object(void* ptr) +{ + return new QJsonObject(static_cast(ptr)->object()); +} + +struct QtCore_PackedString QJsonDocument_RawData(void* ptr, int size) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->rawData(&size)), size }; +} + +void QJsonDocument_SetArray(void* ptr, void* array) +{ + static_cast(ptr)->setArray(*static_cast(array)); +} + +void QJsonDocument_SetObject(void* ptr, void* object) +{ + static_cast(ptr)->setObject(*static_cast(object)); +} + +void QJsonDocument_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QJsonDocument_ToBinaryData(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toBinaryData()); +} + +void* QJsonDocument_ToJson(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toJson()); +} + +void* QJsonDocument_ToJson2(void* ptr, long long format) +{ + return new QByteArray(static_cast(ptr)->toJson(static_cast(format))); +} + +void* QJsonDocument_ToVariant(void* ptr) +{ + return new QVariant(static_cast(ptr)->toVariant()); +} + +void QJsonDocument_DestroyQJsonDocument(void* ptr) +{ + static_cast(ptr)->~QJsonDocument(); +} + +void* QJsonObject_NewQJsonObject() +{ + return new QJsonObject(); +} + +void* QJsonObject_NewQJsonObject3(void* other) +{ + return new QJsonObject(*static_cast(other)); +} + +void* QJsonObject_NewQJsonObject4(void* other) +{ + return new QJsonObject(*static_cast(other)); +} + +char QJsonObject_Contains(void* ptr, struct QtCore_PackedString key) +{ + return static_cast(ptr)->contains(QString::fromUtf8(key.data, key.len)); +} + +char QJsonObject_Contains2(void* ptr, void* key) +{ + return static_cast(ptr)->contains(*static_cast(key)); +} + +int QJsonObject_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +char QJsonObject_Empty(void* ptr) +{ + return static_cast(ptr)->empty(); +} + +void* QJsonObject_QJsonObject_FromVariantHash(void* hash) +{ + return new QJsonObject(QJsonObject::fromVariantHash(({ QHash* tmpP = static_cast*>(hash); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }))); +} + +char QJsonObject_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +struct QtCore_PackedString QJsonObject_Keys(void* ptr) +{ + return ({ QByteArray t6c6b45 = static_cast(ptr)->keys().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t6c6b45.prepend("WHITESPACE").constData()+10), t6c6b45.size()-10 }; }); +} + +int QJsonObject_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +void QJsonObject_Remove(void* ptr, struct QtCore_PackedString key) +{ + static_cast(ptr)->remove(QString::fromUtf8(key.data, key.len)); +} + +int QJsonObject_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +void QJsonObject_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QJsonObject_Take(void* ptr, struct QtCore_PackedString key) +{ + return new QJsonValue(static_cast(ptr)->take(QString::fromUtf8(key.data, key.len))); +} + +struct QtCore_PackedList QJsonObject_ToVariantHash(void* ptr) +{ + return ({ QHash* tmpValue275a06 = new QHash(static_cast(ptr)->toVariantHash()); QtCore_PackedList { tmpValue275a06, tmpValue275a06->size() }; }); +} + +struct QtCore_PackedList QJsonObject_ToVariantMap(void* ptr) +{ + return ({ QMap* tmpValuebc2a1c = new QMap(static_cast(ptr)->toVariantMap()); QtCore_PackedList { tmpValuebc2a1c, tmpValuebc2a1c->size() }; }); +} + +void* QJsonObject_Value(void* ptr, struct QtCore_PackedString key) +{ + return new QJsonValue(static_cast(ptr)->value(QString::fromUtf8(key.data, key.len))); +} + +void* QJsonObject_Value2(void* ptr, void* key) +{ + return new QJsonValue(static_cast(ptr)->value(*static_cast(key))); +} + +void QJsonObject_DestroyQJsonObject(void* ptr) +{ + static_cast(ptr)->~QJsonObject(); +} + +void* QJsonObject___fromVariantHash_hash_atList(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QJsonObject___fromVariantHash_hash_setList(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QJsonObject___fromVariantHash_hash_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtCore_PackedList QJsonObject___fromVariantHash_hash_keyList(void* ptr) +{ + return ({ QList* tmpValuef43bc5 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValuef43bc5, tmpValuef43bc5->size() }; }); +} + +void* QJsonObject___toVariantHash_atList(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QJsonObject___toVariantHash_setList(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QJsonObject___toVariantHash_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtCore_PackedList QJsonObject___toVariantHash_keyList(void* ptr) +{ + return ({ QList* tmpValuef43bc5 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValuef43bc5, tmpValuef43bc5->size() }; }); +} + +void* QJsonObject___toVariantMap_atList(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QJsonObject___toVariantMap_setList(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QJsonObject___toVariantMap_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtCore_PackedList QJsonObject___toVariantMap_keyList(void* ptr) +{ + return ({ QList* tmpValue1ab909 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValue1ab909, tmpValue1ab909->size() }; }); +} + +struct QtCore_PackedString QJsonObject_____fromVariantHash_hash_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QJsonObject_____fromVariantHash_hash_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QJsonObject_____fromVariantHash_hash_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QJsonObject_____fromVariantMap_map_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QJsonObject_____fromVariantMap_map_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QJsonObject_____fromVariantMap_map_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QJsonObject_____toVariantHash_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QJsonObject_____toVariantHash_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QJsonObject_____toVariantHash_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QJsonObject_____toVariantMap_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QJsonObject_____toVariantMap_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QJsonObject_____toVariantMap_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QJsonParseError_ErrorString(void* ptr) +{ + return ({ QByteArray t740a50 = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(t740a50.prepend("WHITESPACE").constData()+10), t740a50.size()-10 }; }); +} + +int QJsonParseError_Offset(void* ptr) +{ + return static_cast(ptr)->offset; +} + +void QJsonParseError_SetOffset(void* ptr, int vin) +{ + static_cast(ptr)->offset = vin; +} + +long long QJsonParseError_Error(void* ptr) +{ + return static_cast(ptr)->error; +} + +void QJsonParseError_SetError(void* ptr, long long vqj) +{ + static_cast(ptr)->error = static_cast(vqj); +} + +void* QJsonValue_NewQJsonValue(long long ty) +{ + return new QJsonValue(static_cast(ty)); +} + +void* QJsonValue_NewQJsonValue2(char b) +{ + return new QJsonValue(b != 0); +} + +void* QJsonValue_NewQJsonValue3(double n) +{ + return new QJsonValue(n); +} + +void* QJsonValue_NewQJsonValue4(int n) +{ + return new QJsonValue(n); +} + +void* QJsonValue_NewQJsonValue5(long long n) +{ + return new QJsonValue(n); +} + +void* QJsonValue_NewQJsonValue6(struct QtCore_PackedString s) +{ + return new QJsonValue(QString::fromUtf8(s.data, s.len)); +} + +void* QJsonValue_NewQJsonValue7(void* s) +{ + return new QJsonValue(*static_cast(s)); +} + +void* QJsonValue_NewQJsonValue8(char* s) +{ + return new QJsonValue(const_cast(s)); +} + +void* QJsonValue_NewQJsonValue9(void* a) +{ + return new QJsonValue(*static_cast(a)); +} + +void* QJsonValue_NewQJsonValue10(void* o) +{ + return new QJsonValue(*static_cast(o)); +} + +void* QJsonValue_NewQJsonValue11(void* other) +{ + return new QJsonValue(*static_cast(other)); +} + +void* QJsonValue_NewQJsonValue12(void* other) +{ + return new QJsonValue(*static_cast(other)); +} + +void* QJsonValue_QJsonValue_FromVariant(void* variant) +{ + return new QJsonValue(QJsonValue::fromVariant(*static_cast(variant))); +} + +char QJsonValue_IsArray(void* ptr) +{ + return static_cast(ptr)->isArray(); +} + +char QJsonValue_IsBool(void* ptr) +{ + return static_cast(ptr)->isBool(); +} + +char QJsonValue_IsDouble(void* ptr) +{ + return static_cast(ptr)->isDouble(); +} + +char QJsonValue_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QJsonValue_IsObject(void* ptr) +{ + return static_cast(ptr)->isObject(); +} + +char QJsonValue_IsString(void* ptr) +{ + return static_cast(ptr)->isString(); +} + +char QJsonValue_IsUndefined(void* ptr) +{ + return static_cast(ptr)->isUndefined(); +} + +void QJsonValue_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QJsonValue_ToArray(void* ptr, void* defaultValue) +{ + return new QJsonArray(static_cast(ptr)->toArray(*static_cast(defaultValue))); +} + +void* QJsonValue_ToArray2(void* ptr) +{ + return new QJsonArray(static_cast(ptr)->toArray()); +} + +char QJsonValue_ToBool(void* ptr, char defaultValue) +{ + return static_cast(ptr)->toBool(defaultValue != 0); +} + +double QJsonValue_ToDouble(void* ptr, double defaultValue) +{ + return static_cast(ptr)->toDouble(defaultValue); +} + +int QJsonValue_ToInt(void* ptr, int defaultValue) +{ + return static_cast(ptr)->toInt(defaultValue); +} + +void* QJsonValue_ToObject(void* ptr, void* defaultValue) +{ + return new QJsonObject(static_cast(ptr)->toObject(*static_cast(defaultValue))); +} + +void* QJsonValue_ToObject2(void* ptr) +{ + return new QJsonObject(static_cast(ptr)->toObject()); +} + +struct QtCore_PackedString QJsonValue_ToString(void* ptr) +{ + return ({ QByteArray t54cc8a = static_cast(ptr)->toString().toUtf8(); QtCore_PackedString { const_cast(t54cc8a.prepend("WHITESPACE").constData()+10), t54cc8a.size()-10 }; }); +} + +struct QtCore_PackedString QJsonValue_ToString2(void* ptr, struct QtCore_PackedString defaultValue) +{ + return ({ QByteArray tb25a8c = static_cast(ptr)->toString(QString::fromUtf8(defaultValue.data, defaultValue.len)).toUtf8(); QtCore_PackedString { const_cast(tb25a8c.prepend("WHITESPACE").constData()+10), tb25a8c.size()-10 }; }); +} + +void* QJsonValue_ToVariant(void* ptr) +{ + return new QVariant(static_cast(ptr)->toVariant()); +} + +long long QJsonValue_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QJsonValue_DestroyQJsonValue(void* ptr) +{ + static_cast(ptr)->~QJsonValue(); +} + +void* QLatin1Char_NewQLatin1Char(char* c) +{ + return new QLatin1Char(*c); +} + +struct QtCore_PackedString QLatin1Char_ToLatin1(void* ptr) +{ + return ({ char te73025 = static_cast(ptr)->toLatin1(); QtCore_PackedString { &te73025, -1 }; }); +} + +unsigned short QLatin1Char_Unicode(void* ptr) +{ + return static_cast(ptr)->unicode(); +} + +void* QLatin1String_NewQLatin1String() +{ + return new QLatin1String(); +} + +void* QLatin1String_NewQLatin1String2(char* str) +{ + return new QLatin1String(const_cast(str)); +} + +void* QLatin1String_NewQLatin1String3(char* first, char* last) +{ + return new QLatin1String(const_cast(first), const_cast(last)); +} + +void* QLatin1String_NewQLatin1String4(char* str, int size) +{ + return new QLatin1String(const_cast(str), size); +} + +void* QLatin1String_NewQLatin1String5(void* str) +{ + return new QLatin1String(*static_cast(str)); +} + +void QLatin1String_Chop(void* ptr, int length) +{ + static_cast(ptr)->chop(length); +} + +void* QLatin1String_Chopped(void* ptr, int length) +{ + return new QLatin1String(static_cast(ptr)->chopped(length)); +} + +struct QtCore_PackedString QLatin1String_Data(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->data()), static_cast(ptr)->size() }; +} + +char QLatin1String_EndsWith(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(str), static_cast(cs)); +} + +char QLatin1String_EndsWith2(void* ptr, void* l1, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(l1), static_cast(cs)); +} + +char QLatin1String_EndsWith3(void* ptr, void* ch) +{ + return static_cast(ptr)->endsWith(*static_cast(ch)); +} + +char QLatin1String_EndsWith4(void* ptr, void* ch, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(ch), static_cast(cs)); +} + +char QLatin1String_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QLatin1String_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +struct QtCore_PackedString QLatin1String_Latin1(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->latin1()), -1 }; +} + +void* QLatin1String_Left(void* ptr, int length) +{ + return new QLatin1String(static_cast(ptr)->left(length)); +} + +void* QLatin1String_Mid(void* ptr, int start) +{ + return new QLatin1String(static_cast(ptr)->mid(start)); +} + +void* QLatin1String_Mid2(void* ptr, int start, int length) +{ + return new QLatin1String(static_cast(ptr)->mid(start, length)); +} + +void* QLatin1String_Right(void* ptr, int length) +{ + return new QLatin1String(static_cast(ptr)->right(length)); +} + +int QLatin1String_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +char QLatin1String_StartsWith(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(str), static_cast(cs)); +} + +char QLatin1String_StartsWith2(void* ptr, void* l1, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(l1), static_cast(cs)); +} + +char QLatin1String_StartsWith3(void* ptr, void* ch) +{ + return static_cast(ptr)->startsWith(*static_cast(ch)); +} + +char QLatin1String_StartsWith4(void* ptr, void* ch, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(ch), static_cast(cs)); +} + +void* QLatin1String_Trimmed(void* ptr) +{ + return new QLatin1String(static_cast(ptr)->trimmed()); +} + +void QLatin1String_Truncate(void* ptr, int length) +{ + static_cast(ptr)->truncate(length); +} + +class MyQLibrary: public QLibrary +{ +public: + MyQLibrary(QObject *parent = Q_NULLPTR) : QLibrary(parent) {QLibrary_QLibrary_QRegisterMetaType();}; + MyQLibrary(const QString &fileName, QObject *parent = Q_NULLPTR) : QLibrary(fileName, parent) {QLibrary_QLibrary_QRegisterMetaType();}; + MyQLibrary(const QString &fileName, int verNum, QObject *parent = Q_NULLPTR) : QLibrary(fileName, verNum, parent) {QLibrary_QLibrary_QRegisterMetaType();}; + MyQLibrary(const QString &fileName, const QString &version, QObject *parent = Q_NULLPTR) : QLibrary(fileName, version, parent) {QLibrary_QLibrary_QRegisterMetaType();}; + ~MyQLibrary() { callbackQLibrary_DestroyQLibrary(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQLibrary*) + +int QLibrary_QLibrary_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QLibrary_NewQLibrary(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(static_cast(parent)); + } else { + return new MyQLibrary(static_cast(parent)); + } +} + +void* QLibrary_NewQLibrary2(struct QtCore_PackedString fileName, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } +} + +void* QLibrary_NewQLibrary3(struct QtCore_PackedString fileName, int verNum, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } else { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), verNum, static_cast(parent)); + } +} + +void* QLibrary_NewQLibrary4(struct QtCore_PackedString fileName, struct QtCore_PackedString version, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } else { + return new MyQLibrary(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len), static_cast(parent)); + } +} + +struct QtCore_PackedString QLibrary_ErrorString(void* ptr) +{ + return ({ QByteArray te92b99 = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(te92b99.prepend("WHITESPACE").constData()+10), te92b99.size()-10 }; }); +} + +struct QtCore_PackedString QLibrary_FileName(void* ptr) +{ + return ({ QByteArray t11b574 = static_cast(ptr)->fileName().toUtf8(); QtCore_PackedString { const_cast(t11b574.prepend("WHITESPACE").constData()+10), t11b574.size()-10 }; }); +} + +char QLibrary_QLibrary_IsLibrary(struct QtCore_PackedString fileName) +{ + return QLibrary::isLibrary(QString::fromUtf8(fileName.data, fileName.len)); +} + +char QLibrary_IsLoaded(void* ptr) +{ + return static_cast(ptr)->isLoaded(); +} + +char QLibrary_Load(void* ptr) +{ + return static_cast(ptr)->load(); +} + +long long QLibrary_LoadHints(void* ptr) +{ + return static_cast(ptr)->loadHints(); +} + +void QLibrary_SetFileName(void* ptr, struct QtCore_PackedString fileName) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(fileName.data, fileName.len)); +} + +void QLibrary_SetFileNameAndVersion(void* ptr, struct QtCore_PackedString fileName, int versionNumber) +{ + static_cast(ptr)->setFileNameAndVersion(QString::fromUtf8(fileName.data, fileName.len), versionNumber); +} + +void QLibrary_SetFileNameAndVersion2(void* ptr, struct QtCore_PackedString fileName, struct QtCore_PackedString version) +{ + static_cast(ptr)->setFileNameAndVersion(QString::fromUtf8(fileName.data, fileName.len), QString::fromUtf8(version.data, version.len)); +} + +void QLibrary_SetLoadHints(void* ptr, long long hints) +{ + static_cast(ptr)->setLoadHints(static_cast(hints)); +} + +char QLibrary_Unload(void* ptr) +{ + return static_cast(ptr)->unload(); +} + +void QLibrary_DestroyQLibrary(void* ptr) +{ + static_cast(ptr)->~QLibrary(); +} + +void QLibrary_DestroyQLibraryDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +char QLibraryInfo_QLibraryInfo_IsDebugBuild() +{ + return QLibraryInfo::isDebugBuild(); +} + +struct QtCore_PackedString QLibraryInfo_QLibraryInfo_Location(long long loc) +{ + return ({ QByteArray t19b89f = QLibraryInfo::location(static_cast(loc)).toUtf8(); QtCore_PackedString { const_cast(t19b89f.prepend("WHITESPACE").constData()+10), t19b89f.size()-10 }; }); +} + +void* QLibraryInfo_QLibraryInfo_Version() +{ + return new QVersionNumber(QLibraryInfo::version()); +} + +void* QLine_NewQLine() +{ + return new QLine(); +} + +void* QLine_NewQLine2(void* p1, void* p2) +{ + return new QLine(*static_cast(p1), *static_cast(p2)); +} + +void* QLine_NewQLine3(int x1, int y1, int x2, int y2) +{ + return new QLine(x1, y1, x2, y2); +} + +void* QLine_Center(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->center(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +int QLine_Dx(void* ptr) +{ + return static_cast(ptr)->dx(); +} + +int QLine_Dy(void* ptr) +{ + return static_cast(ptr)->dy(); +} + +char QLine_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +void* QLine_P1(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->p1(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QLine_P2(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->p2(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void QLine_SetLine(void* ptr, int x1, int y1, int x2, int y2) +{ + static_cast(ptr)->setLine(x1, y1, x2, y2); +} + +void QLine_SetP1(void* ptr, void* p1) +{ + static_cast(ptr)->setP1(*static_cast(p1)); +} + +void QLine_SetP2(void* ptr, void* p2) +{ + static_cast(ptr)->setP2(*static_cast(p2)); +} + +void QLine_SetPoints(void* ptr, void* p1, void* p2) +{ + static_cast(ptr)->setPoints(*static_cast(p1), *static_cast(p2)); +} + +void QLine_Translate(void* ptr, void* offset) +{ + static_cast(ptr)->translate(*static_cast(offset)); +} + +void QLine_Translate2(void* ptr, int dx, int dy) +{ + static_cast(ptr)->translate(dx, dy); +} + +void* QLine_Translated(void* ptr, void* offset) +{ + return ({ QLine tmpValue = static_cast(ptr)->translated(*static_cast(offset)); new QLine(tmpValue.p1(), tmpValue.p2()); }); +} + +void* QLine_Translated2(void* ptr, int dx, int dy) +{ + return ({ QLine tmpValue = static_cast(ptr)->translated(dx, dy); new QLine(tmpValue.p1(), tmpValue.p2()); }); +} + +int QLine_X1(void* ptr) +{ + return static_cast(ptr)->x1(); +} + +int QLine_X2(void* ptr) +{ + return static_cast(ptr)->x2(); +} + +int QLine_Y1(void* ptr) +{ + return static_cast(ptr)->y1(); +} + +int QLine_Y2(void* ptr) +{ + return static_cast(ptr)->y2(); +} + +void* QLineF_NewQLineF() +{ + return new QLineF(); +} + +void* QLineF_NewQLineF2(void* p1, void* p2) +{ + return new QLineF(*static_cast(p1), *static_cast(p2)); +} + +void* QLineF_NewQLineF3(double x1, double y1, double x2, double y2) +{ + return new QLineF(x1, y1, x2, y2); +} + +void* QLineF_NewQLineF4(void* line) +{ + return new QLineF(*static_cast(line)); +} + +double QLineF_Angle(void* ptr) +{ + return static_cast(ptr)->angle(); +} + +double QLineF_AngleTo(void* ptr, void* line) +{ + return static_cast(ptr)->angleTo(*static_cast(line)); +} + +void* QLineF_Center(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->center(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +double QLineF_Dx(void* ptr) +{ + return static_cast(ptr)->dx(); +} + +double QLineF_Dy(void* ptr) +{ + return static_cast(ptr)->dy(); +} + +void* QLineF_QLineF_FromPolar(double length, double angle) +{ + return ({ QLineF tmpValue = QLineF::fromPolar(length, angle); new QLineF(tmpValue.p1(), tmpValue.p2()); }); +} + +long long QLineF_Intersect(void* ptr, void* line, void* intersectionPoint) +{ + return static_cast(ptr)->intersect(*static_cast(line), static_cast(intersectionPoint)); +} + +char QLineF_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +double QLineF_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +void* QLineF_NormalVector(void* ptr) +{ + return ({ QLineF tmpValue = static_cast(ptr)->normalVector(); new QLineF(tmpValue.p1(), tmpValue.p2()); }); +} + +void* QLineF_P1(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->p1(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QLineF_P2(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->p2(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QLineF_PointAt(void* ptr, double t) +{ + return ({ QPointF tmpValue = static_cast(ptr)->pointAt(t); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QLineF_SetAngle(void* ptr, double angle) +{ + static_cast(ptr)->setAngle(angle); +} + +void QLineF_SetLength(void* ptr, double length) +{ + static_cast(ptr)->setLength(length); +} + +void QLineF_SetLine(void* ptr, double x1, double y1, double x2, double y2) +{ + static_cast(ptr)->setLine(x1, y1, x2, y2); +} + +void QLineF_SetP1(void* ptr, void* p1) +{ + static_cast(ptr)->setP1(*static_cast(p1)); +} + +void QLineF_SetP2(void* ptr, void* p2) +{ + static_cast(ptr)->setP2(*static_cast(p2)); +} + +void QLineF_SetPoints(void* ptr, void* p1, void* p2) +{ + static_cast(ptr)->setPoints(*static_cast(p1), *static_cast(p2)); +} + +void* QLineF_ToLine(void* ptr) +{ + return ({ QLine tmpValue = static_cast(ptr)->toLine(); new QLine(tmpValue.p1(), tmpValue.p2()); }); +} + +void QLineF_Translate(void* ptr, void* offset) +{ + static_cast(ptr)->translate(*static_cast(offset)); +} + +void QLineF_Translate2(void* ptr, double dx, double dy) +{ + static_cast(ptr)->translate(dx, dy); +} + +void* QLineF_Translated(void* ptr, void* offset) +{ + return ({ QLineF tmpValue = static_cast(ptr)->translated(*static_cast(offset)); new QLineF(tmpValue.p1(), tmpValue.p2()); }); +} + +void* QLineF_Translated2(void* ptr, double dx, double dy) +{ + return ({ QLineF tmpValue = static_cast(ptr)->translated(dx, dy); new QLineF(tmpValue.p1(), tmpValue.p2()); }); +} + +void* QLineF_UnitVector(void* ptr) +{ + return ({ QLineF tmpValue = static_cast(ptr)->unitVector(); new QLineF(tmpValue.p1(), tmpValue.p2()); }); +} + +double QLineF_X1(void* ptr) +{ + return static_cast(ptr)->x1(); +} + +double QLineF_X2(void* ptr) +{ + return static_cast(ptr)->x2(); +} + +double QLineF_Y1(void* ptr) +{ + return static_cast(ptr)->y1(); +} + +double QLineF_Y2(void* ptr) +{ + return static_cast(ptr)->y2(); +} + +void* QLocale_NewQLocale() +{ + return new QLocale(); +} + +void* QLocale_NewQLocale2(struct QtCore_PackedString name) +{ + return new QLocale(QString::fromUtf8(name.data, name.len)); +} + +void* QLocale_NewQLocale3(long long language, long long country) +{ + return new QLocale(static_cast(language), static_cast(country)); +} + +void* QLocale_NewQLocale4(long long language, long long scri, long long country) +{ + return new QLocale(static_cast(language), static_cast(scri), static_cast(country)); +} + +void* QLocale_NewQLocale5(void* other) +{ + return new QLocale(*static_cast(other)); +} + +struct QtCore_PackedString QLocale_AmText(void* ptr) +{ + return ({ QByteArray t5fc4d4 = static_cast(ptr)->amText().toUtf8(); QtCore_PackedString { const_cast(t5fc4d4.prepend("WHITESPACE").constData()+10), t5fc4d4.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_Bcp47Name(void* ptr) +{ + return ({ QByteArray t0246a7 = static_cast(ptr)->bcp47Name().toUtf8(); QtCore_PackedString { const_cast(t0246a7.prepend("WHITESPACE").constData()+10), t0246a7.size()-10 }; }); +} + +void* QLocale_QLocale_C() +{ + return new QLocale(QLocale::c()); +} + +long long QLocale_Country(void* ptr) +{ + return static_cast(ptr)->country(); +} + +struct QtCore_PackedString QLocale_QLocale_CountryToString(long long country) +{ + return ({ QByteArray tbdb30e = QLocale::countryToString(static_cast(country)).toUtf8(); QtCore_PackedString { const_cast(tbdb30e.prepend("WHITESPACE").constData()+10), tbdb30e.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_CreateSeparatedList(void* ptr, struct QtCore_PackedString list) +{ + return ({ QByteArray t6f2da9 = static_cast(ptr)->createSeparatedList(QString::fromUtf8(list.data, list.len).split("¡¦!", QString::SkipEmptyParts)).toUtf8(); QtCore_PackedString { const_cast(t6f2da9.prepend("WHITESPACE").constData()+10), t6f2da9.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_CurrencySymbol(void* ptr, long long format) +{ + return ({ QByteArray t19bd4c = static_cast(ptr)->currencySymbol(static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t19bd4c.prepend("WHITESPACE").constData()+10), t19bd4c.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_DateFormat(void* ptr, long long format) +{ + return ({ QByteArray t3ea82c = static_cast(ptr)->dateFormat(static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t3ea82c.prepend("WHITESPACE").constData()+10), t3ea82c.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_DateTimeFormat(void* ptr, long long format) +{ + return ({ QByteArray t3e01fc = static_cast(ptr)->dateTimeFormat(static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t3e01fc.prepend("WHITESPACE").constData()+10), t3e01fc.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_DayName(void* ptr, int day, long long ty) +{ + return ({ QByteArray t4220d0 = static_cast(ptr)->dayName(day, static_cast(ty)).toUtf8(); QtCore_PackedString { const_cast(t4220d0.prepend("WHITESPACE").constData()+10), t4220d0.size()-10 }; }); +} + +void* QLocale_DecimalPoint(void* ptr) +{ + return new QChar(static_cast(ptr)->decimalPoint()); +} + +void* QLocale_Exponential(void* ptr) +{ + return new QChar(static_cast(ptr)->exponential()); +} + +long long QLocale_FirstDayOfWeek(void* ptr) +{ + return static_cast(ptr)->firstDayOfWeek(); +} + +struct QtCore_PackedString QLocale_FormattedDataSize2(void* ptr, long long bytes, int precision, long long format) +{ + return ({ QByteArray t3e7c75 = static_cast(ptr)->formattedDataSize(bytes, precision, static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t3e7c75.prepend("WHITESPACE").constData()+10), t3e7c75.size()-10 }; }); +} + +void* QLocale_GroupSeparator(void* ptr) +{ + return new QChar(static_cast(ptr)->groupSeparator()); +} + +long long QLocale_Language(void* ptr) +{ + return static_cast(ptr)->language(); +} + +struct QtCore_PackedString QLocale_QLocale_LanguageToString(long long language) +{ + return ({ QByteArray t29d017 = QLocale::languageToString(static_cast(language)).toUtf8(); QtCore_PackedString { const_cast(t29d017.prepend("WHITESPACE").constData()+10), t29d017.size()-10 }; }); +} + +struct QtCore_PackedList QLocale_QLocale_MatchingLocales(long long language, long long scri, long long country) +{ + return ({ QList* tmpValue0a12b0 = new QList(QLocale::matchingLocales(static_cast(language), static_cast(scri), static_cast(country))); QtCore_PackedList { tmpValue0a12b0, tmpValue0a12b0->size() }; }); +} + +long long QLocale_MeasurementSystem(void* ptr) +{ + return static_cast(ptr)->measurementSystem(); +} + +struct QtCore_PackedString QLocale_MonthName(void* ptr, int month, long long ty) +{ + return ({ QByteArray t17d183 = static_cast(ptr)->monthName(month, static_cast(ty)).toUtf8(); QtCore_PackedString { const_cast(t17d183.prepend("WHITESPACE").constData()+10), t17d183.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_Name(void* ptr) +{ + return ({ QByteArray tee867e = static_cast(ptr)->name().toUtf8(); QtCore_PackedString { const_cast(tee867e.prepend("WHITESPACE").constData()+10), tee867e.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_NativeCountryName(void* ptr) +{ + return ({ QByteArray t08c386 = static_cast(ptr)->nativeCountryName().toUtf8(); QtCore_PackedString { const_cast(t08c386.prepend("WHITESPACE").constData()+10), t08c386.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_NativeLanguageName(void* ptr) +{ + return ({ QByteArray t34cbe6 = static_cast(ptr)->nativeLanguageName().toUtf8(); QtCore_PackedString { const_cast(t34cbe6.prepend("WHITESPACE").constData()+10), t34cbe6.size()-10 }; }); +} + +void* QLocale_NegativeSign(void* ptr) +{ + return new QChar(static_cast(ptr)->negativeSign()); +} + +long long QLocale_NumberOptions(void* ptr) +{ + return static_cast(ptr)->numberOptions(); +} + +void* QLocale_Percent(void* ptr) +{ + return new QChar(static_cast(ptr)->percent()); +} + +struct QtCore_PackedString QLocale_PmText(void* ptr) +{ + return ({ QByteArray t37d9b2 = static_cast(ptr)->pmText().toUtf8(); QtCore_PackedString { const_cast(t37d9b2.prepend("WHITESPACE").constData()+10), t37d9b2.size()-10 }; }); +} + +void* QLocale_PositiveSign(void* ptr) +{ + return new QChar(static_cast(ptr)->positiveSign()); +} + +struct QtCore_PackedString QLocale_QuoteString(void* ptr, struct QtCore_PackedString str, long long style) +{ + return ({ QByteArray t76145a = static_cast(ptr)->quoteString(QString::fromUtf8(str.data, str.len), static_cast(style)).toUtf8(); QtCore_PackedString { const_cast(t76145a.prepend("WHITESPACE").constData()+10), t76145a.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_QuoteString2(void* ptr, void* str, long long style) +{ + return ({ QByteArray tef32e3 = static_cast(ptr)->quoteString(*static_cast(str), static_cast(style)).toUtf8(); QtCore_PackedString { const_cast(tef32e3.prepend("WHITESPACE").constData()+10), tef32e3.size()-10 }; }); +} + +long long QLocale_Script(void* ptr) +{ + return static_cast(ptr)->script(); +} + +struct QtCore_PackedString QLocale_QLocale_ScriptToString(long long scri) +{ + return ({ QByteArray t535509 = QLocale::scriptToString(static_cast(scri)).toUtf8(); QtCore_PackedString { const_cast(t535509.prepend("WHITESPACE").constData()+10), t535509.size()-10 }; }); +} + +void QLocale_QLocale_SetDefault(void* locale) +{ + QLocale::setDefault(*static_cast(locale)); +} + +void QLocale_SetNumberOptions(void* ptr, long long options) +{ + static_cast(ptr)->setNumberOptions(static_cast(options)); +} + +struct QtCore_PackedString QLocale_StandaloneDayName(void* ptr, int day, long long ty) +{ + return ({ QByteArray t7850cf = static_cast(ptr)->standaloneDayName(day, static_cast(ty)).toUtf8(); QtCore_PackedString { const_cast(t7850cf.prepend("WHITESPACE").constData()+10), t7850cf.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_StandaloneMonthName(void* ptr, int month, long long ty) +{ + return ({ QByteArray t9ff9e7 = static_cast(ptr)->standaloneMonthName(month, static_cast(ty)).toUtf8(); QtCore_PackedString { const_cast(t9ff9e7.prepend("WHITESPACE").constData()+10), t9ff9e7.size()-10 }; }); +} + +void QLocale_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QLocale_QLocale_System() +{ + return new QLocale(QLocale::system()); +} + +long long QLocale_TextDirection(void* ptr) +{ + return static_cast(ptr)->textDirection(); +} + +struct QtCore_PackedString QLocale_TimeFormat(void* ptr, long long format) +{ + return ({ QByteArray t94be08 = static_cast(ptr)->timeFormat(static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t94be08.prepend("WHITESPACE").constData()+10), t94be08.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString(void* ptr, long long value, struct QtCore_PackedString symbol) +{ + return ({ QByteArray t0fa4d2 = static_cast(ptr)->toCurrencyString(value, QString::fromUtf8(symbol.data, symbol.len)).toUtf8(); QtCore_PackedString { const_cast(t0fa4d2.prepend("WHITESPACE").constData()+10), t0fa4d2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString2(void* ptr, unsigned long long value, struct QtCore_PackedString symbol) +{ + return ({ QByteArray t0fa4d2 = static_cast(ptr)->toCurrencyString(value, QString::fromUtf8(symbol.data, symbol.len)).toUtf8(); QtCore_PackedString { const_cast(t0fa4d2.prepend("WHITESPACE").constData()+10), t0fa4d2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString3(void* ptr, short value, struct QtCore_PackedString symbol) +{ + return ({ QByteArray t0fa4d2 = static_cast(ptr)->toCurrencyString(value, QString::fromUtf8(symbol.data, symbol.len)).toUtf8(); QtCore_PackedString { const_cast(t0fa4d2.prepend("WHITESPACE").constData()+10), t0fa4d2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString4(void* ptr, unsigned short value, struct QtCore_PackedString symbol) +{ + return ({ QByteArray t0fa4d2 = static_cast(ptr)->toCurrencyString(value, QString::fromUtf8(symbol.data, symbol.len)).toUtf8(); QtCore_PackedString { const_cast(t0fa4d2.prepend("WHITESPACE").constData()+10), t0fa4d2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString5(void* ptr, int value, struct QtCore_PackedString symbol) +{ + return ({ QByteArray t0fa4d2 = static_cast(ptr)->toCurrencyString(value, QString::fromUtf8(symbol.data, symbol.len)).toUtf8(); QtCore_PackedString { const_cast(t0fa4d2.prepend("WHITESPACE").constData()+10), t0fa4d2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString6(void* ptr, unsigned int value, struct QtCore_PackedString symbol) +{ + return ({ QByteArray t0fa4d2 = static_cast(ptr)->toCurrencyString(value, QString::fromUtf8(symbol.data, symbol.len)).toUtf8(); QtCore_PackedString { const_cast(t0fa4d2.prepend("WHITESPACE").constData()+10), t0fa4d2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString7(void* ptr, double value, struct QtCore_PackedString symbol) +{ + return ({ QByteArray t0fa4d2 = static_cast(ptr)->toCurrencyString(value, QString::fromUtf8(symbol.data, symbol.len)).toUtf8(); QtCore_PackedString { const_cast(t0fa4d2.prepend("WHITESPACE").constData()+10), t0fa4d2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString8(void* ptr, double value, struct QtCore_PackedString symbol, int precision) +{ + return ({ QByteArray t891a06 = static_cast(ptr)->toCurrencyString(value, QString::fromUtf8(symbol.data, symbol.len), precision).toUtf8(); QtCore_PackedString { const_cast(t891a06.prepend("WHITESPACE").constData()+10), t891a06.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString9(void* ptr, float value, struct QtCore_PackedString symbol) +{ + return ({ QByteArray t0fa4d2 = static_cast(ptr)->toCurrencyString(value, QString::fromUtf8(symbol.data, symbol.len)).toUtf8(); QtCore_PackedString { const_cast(t0fa4d2.prepend("WHITESPACE").constData()+10), t0fa4d2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToCurrencyString10(void* ptr, float i, struct QtCore_PackedString symbol, int precision) +{ + return ({ QByteArray t32b253 = static_cast(ptr)->toCurrencyString(i, QString::fromUtf8(symbol.data, symbol.len), precision).toUtf8(); QtCore_PackedString { const_cast(t32b253.prepend("WHITESPACE").constData()+10), t32b253.size()-10 }; }); +} + +void* QLocale_ToDate(void* ptr, struct QtCore_PackedString stri, long long format) +{ + return new QDate(static_cast(ptr)->toDate(QString::fromUtf8(stri.data, stri.len), static_cast(format))); +} + +void* QLocale_ToDate2(void* ptr, struct QtCore_PackedString stri, struct QtCore_PackedString format) +{ + return new QDate(static_cast(ptr)->toDate(QString::fromUtf8(stri.data, stri.len), QString::fromUtf8(format.data, format.len))); +} + +void* QLocale_ToDateTime(void* ptr, struct QtCore_PackedString stri, long long format) +{ + return new QDateTime(static_cast(ptr)->toDateTime(QString::fromUtf8(stri.data, stri.len), static_cast(format))); +} + +void* QLocale_ToDateTime2(void* ptr, struct QtCore_PackedString stri, struct QtCore_PackedString format) +{ + return new QDateTime(static_cast(ptr)->toDateTime(QString::fromUtf8(stri.data, stri.len), QString::fromUtf8(format.data, format.len))); +} + +double QLocale_ToDouble(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toDouble(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +double QLocale_ToDouble2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toDouble(*static_cast(s), reinterpret_cast(ok)); +} + +double QLocale_ToDouble3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toDouble(*static_cast(s), reinterpret_cast(ok)); +} + +float QLocale_ToFloat(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toFloat(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +float QLocale_ToFloat2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toFloat(*static_cast(s), reinterpret_cast(ok)); +} + +float QLocale_ToFloat3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toFloat(*static_cast(s), reinterpret_cast(ok)); +} + +int QLocale_ToInt(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toInt(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +int QLocale_ToInt2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toInt(*static_cast(s), reinterpret_cast(ok)); +} + +int QLocale_ToInt3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toInt(*static_cast(s), reinterpret_cast(ok)); +} + +long QLocale_ToLong(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toLong(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +long QLocale_ToLong2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toLong(*static_cast(s), reinterpret_cast(ok)); +} + +long QLocale_ToLong3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toLong(*static_cast(s), reinterpret_cast(ok)); +} + +long long QLocale_ToLongLong(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toLongLong(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +long long QLocale_ToLongLong2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toLongLong(*static_cast(s), reinterpret_cast(ok)); +} + +long long QLocale_ToLongLong3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toLongLong(*static_cast(s), reinterpret_cast(ok)); +} + +struct QtCore_PackedString QLocale_ToLower(void* ptr, struct QtCore_PackedString str) +{ + return ({ QByteArray t112fbe = static_cast(ptr)->toLower(QString::fromUtf8(str.data, str.len)).toUtf8(); QtCore_PackedString { const_cast(t112fbe.prepend("WHITESPACE").constData()+10), t112fbe.size()-10 }; }); +} + +short QLocale_ToShort(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toShort(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +short QLocale_ToShort2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toShort(*static_cast(s), reinterpret_cast(ok)); +} + +short QLocale_ToShort3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toShort(*static_cast(s), reinterpret_cast(ok)); +} + +struct QtCore_PackedString QLocale_ToString(void* ptr, long long i) +{ + return ({ QByteArray teea9c2 = static_cast(ptr)->toString(i).toUtf8(); QtCore_PackedString { const_cast(teea9c2.prepend("WHITESPACE").constData()+10), teea9c2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString2(void* ptr, unsigned long long i) +{ + return ({ QByteArray teea9c2 = static_cast(ptr)->toString(i).toUtf8(); QtCore_PackedString { const_cast(teea9c2.prepend("WHITESPACE").constData()+10), teea9c2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString3(void* ptr, long i) +{ + return ({ QByteArray teea9c2 = static_cast(ptr)->toString(i).toUtf8(); QtCore_PackedString { const_cast(teea9c2.prepend("WHITESPACE").constData()+10), teea9c2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString4(void* ptr, unsigned long i) +{ + return ({ QByteArray teea9c2 = static_cast(ptr)->toString(i).toUtf8(); QtCore_PackedString { const_cast(teea9c2.prepend("WHITESPACE").constData()+10), teea9c2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString5(void* ptr, short i) +{ + return ({ QByteArray teea9c2 = static_cast(ptr)->toString(i).toUtf8(); QtCore_PackedString { const_cast(teea9c2.prepend("WHITESPACE").constData()+10), teea9c2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString6(void* ptr, unsigned short i) +{ + return ({ QByteArray teea9c2 = static_cast(ptr)->toString(i).toUtf8(); QtCore_PackedString { const_cast(teea9c2.prepend("WHITESPACE").constData()+10), teea9c2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString7(void* ptr, int i) +{ + return ({ QByteArray teea9c2 = static_cast(ptr)->toString(i).toUtf8(); QtCore_PackedString { const_cast(teea9c2.prepend("WHITESPACE").constData()+10), teea9c2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString8(void* ptr, unsigned int i) +{ + return ({ QByteArray teea9c2 = static_cast(ptr)->toString(i).toUtf8(); QtCore_PackedString { const_cast(teea9c2.prepend("WHITESPACE").constData()+10), teea9c2.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString9(void* ptr, double i, char* ff, int prec) +{ + return ({ QByteArray t07d146 = static_cast(ptr)->toString(i, *ff, prec).toUtf8(); QtCore_PackedString { const_cast(t07d146.prepend("WHITESPACE").constData()+10), t07d146.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString10(void* ptr, float i, char* ff, int prec) +{ + return ({ QByteArray t07d146 = static_cast(ptr)->toString(i, *ff, prec).toUtf8(); QtCore_PackedString { const_cast(t07d146.prepend("WHITESPACE").constData()+10), t07d146.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString11(void* ptr, void* date, struct QtCore_PackedString format) +{ + return ({ QByteArray t198629 = static_cast(ptr)->toString(*static_cast(date), QString::fromUtf8(format.data, format.len)).toUtf8(); QtCore_PackedString { const_cast(t198629.prepend("WHITESPACE").constData()+10), t198629.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString12(void* ptr, void* ti, struct QtCore_PackedString format) +{ + return ({ QByteArray t607af9 = static_cast(ptr)->toString(*static_cast(ti), QString::fromUtf8(format.data, format.len)).toUtf8(); QtCore_PackedString { const_cast(t607af9.prepend("WHITESPACE").constData()+10), t607af9.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString13(void* ptr, void* dateTime, struct QtCore_PackedString format) +{ + return ({ QByteArray t336e5f = static_cast(ptr)->toString(*static_cast(dateTime), QString::fromUtf8(format.data, format.len)).toUtf8(); QtCore_PackedString { const_cast(t336e5f.prepend("WHITESPACE").constData()+10), t336e5f.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString14(void* ptr, void* date, void* format) +{ + return ({ QByteArray t08b601 = static_cast(ptr)->toString(*static_cast(date), *static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t08b601.prepend("WHITESPACE").constData()+10), t08b601.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString15(void* ptr, void* ti, void* format) +{ + return ({ QByteArray t697961 = static_cast(ptr)->toString(*static_cast(ti), *static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t697961.prepend("WHITESPACE").constData()+10), t697961.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString16(void* ptr, void* dateTime, void* format) +{ + return ({ QByteArray t5abf1a = static_cast(ptr)->toString(*static_cast(dateTime), *static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t5abf1a.prepend("WHITESPACE").constData()+10), t5abf1a.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString17(void* ptr, void* date, long long format) +{ + return ({ QByteArray t1fa262 = static_cast(ptr)->toString(*static_cast(date), static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t1fa262.prepend("WHITESPACE").constData()+10), t1fa262.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString18(void* ptr, void* ti, long long format) +{ + return ({ QByteArray tb6230e = static_cast(ptr)->toString(*static_cast(ti), static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(tb6230e.prepend("WHITESPACE").constData()+10), tb6230e.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_ToString19(void* ptr, void* dateTime, long long format) +{ + return ({ QByteArray t96745f = static_cast(ptr)->toString(*static_cast(dateTime), static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t96745f.prepend("WHITESPACE").constData()+10), t96745f.size()-10 }; }); +} + +void* QLocale_ToTime(void* ptr, struct QtCore_PackedString stri, long long format) +{ + return new QTime(static_cast(ptr)->toTime(QString::fromUtf8(stri.data, stri.len), static_cast(format))); +} + +void* QLocale_ToTime2(void* ptr, struct QtCore_PackedString stri, struct QtCore_PackedString format) +{ + return new QTime(static_cast(ptr)->toTime(QString::fromUtf8(stri.data, stri.len), QString::fromUtf8(format.data, format.len))); +} + +unsigned int QLocale_ToUInt(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toUInt(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +unsigned int QLocale_ToUInt2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toUInt(*static_cast(s), reinterpret_cast(ok)); +} + +unsigned int QLocale_ToUInt3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toUInt(*static_cast(s), reinterpret_cast(ok)); +} + +unsigned long QLocale_ToULong(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toULong(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +unsigned long QLocale_ToULong2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toULong(*static_cast(s), reinterpret_cast(ok)); +} + +unsigned long QLocale_ToULong3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toULong(*static_cast(s), reinterpret_cast(ok)); +} + +unsigned long long QLocale_ToULongLong(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toULongLong(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +unsigned long long QLocale_ToULongLong2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toULongLong(*static_cast(s), reinterpret_cast(ok)); +} + +unsigned long long QLocale_ToULongLong3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toULongLong(*static_cast(s), reinterpret_cast(ok)); +} + +unsigned short QLocale_ToUShort(void* ptr, struct QtCore_PackedString s, char* ok) +{ + return static_cast(ptr)->toUShort(QString::fromUtf8(s.data, s.len), reinterpret_cast(ok)); +} + +unsigned short QLocale_ToUShort2(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toUShort(*static_cast(s), reinterpret_cast(ok)); +} + +unsigned short QLocale_ToUShort3(void* ptr, void* s, char* ok) +{ + return static_cast(ptr)->toUShort(*static_cast(s), reinterpret_cast(ok)); +} + +struct QtCore_PackedString QLocale_ToUpper(void* ptr, struct QtCore_PackedString str) +{ + return ({ QByteArray t6969d0 = static_cast(ptr)->toUpper(QString::fromUtf8(str.data, str.len)).toUtf8(); QtCore_PackedString { const_cast(t6969d0.prepend("WHITESPACE").constData()+10), t6969d0.size()-10 }; }); +} + +struct QtCore_PackedString QLocale_UiLanguages(void* ptr) +{ + return ({ QByteArray tf4f58b = static_cast(ptr)->uiLanguages().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf4f58b.prepend("WHITESPACE").constData()+10), tf4f58b.size()-10 }; }); +} + +struct QtCore_PackedList QLocale_Weekdays(void* ptr) +{ + return ({ QList* tmpValueae25dd = new QList(static_cast(ptr)->weekdays()); QtCore_PackedList { tmpValueae25dd, tmpValueae25dd->size() }; }); +} + +void* QLocale_ZeroDigit(void* ptr) +{ + return new QChar(static_cast(ptr)->zeroDigit()); +} + +void QLocale_DestroyQLocale(void* ptr) +{ + static_cast(ptr)->~QLocale(); +} + +void* QLocale___matchingLocales_atList(void* ptr, int i) +{ + return new QLocale(({QLocale tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QLocale___matchingLocales_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QLocale___matchingLocales_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +long long QLocale___weekdays_atList(void* ptr, int i) +{ + return ({Qt::DayOfWeek tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QLocale___weekdays_setList(void* ptr, long long i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QLocale___weekdays_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLockFile_NewQLockFile(struct QtCore_PackedString fileName) +{ + return new QLockFile(QString::fromUtf8(fileName.data, fileName.len)); +} + +long long QLockFile_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +char QLockFile_GetLockInfo(void* ptr, long long pid, struct QtCore_PackedString hostname, struct QtCore_PackedString appname) +{ + return static_cast(ptr)->getLockInfo(&pid, new QString(QString::fromUtf8(hostname.data, hostname.len)), new QString(QString::fromUtf8(appname.data, appname.len))); +} + +char QLockFile_IsLocked(void* ptr) +{ + return static_cast(ptr)->isLocked(); +} + +char QLockFile_Lock(void* ptr) +{ + return static_cast(ptr)->lock(); +} + +char QLockFile_RemoveStaleLockFile(void* ptr) +{ + return static_cast(ptr)->removeStaleLockFile(); +} + +void QLockFile_SetStaleLockTime(void* ptr, int staleLockTime) +{ + static_cast(ptr)->setStaleLockTime(staleLockTime); +} + +int QLockFile_StaleLockTime(void* ptr) +{ + return static_cast(ptr)->staleLockTime(); +} + +char QLockFile_TryLock(void* ptr, int timeout) +{ + return static_cast(ptr)->tryLock(timeout); +} + +void QLockFile_Unlock(void* ptr) +{ + static_cast(ptr)->unlock(); +} + +void QLockFile_DestroyQLockFile(void* ptr) +{ + static_cast(ptr)->~QLockFile(); +} + +void* QLoggingCategory_NewQLoggingCategory2(char* category) +{ + return new QLoggingCategory(const_cast(category)); +} + +struct QtCore_PackedString QLoggingCategory_CategoryName(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->categoryName()), -1 }; +} + +void* QLoggingCategory_QLoggingCategory_DefaultCategory() +{ + return QLoggingCategory::defaultCategory(); +} + +char QLoggingCategory_IsCriticalEnabled(void* ptr) +{ + return static_cast(ptr)->isCriticalEnabled(); +} + +char QLoggingCategory_IsDebugEnabled(void* ptr) +{ + return static_cast(ptr)->isDebugEnabled(); +} + +char QLoggingCategory_IsInfoEnabled(void* ptr) +{ + return static_cast(ptr)->isInfoEnabled(); +} + +char QLoggingCategory_IsWarningEnabled(void* ptr) +{ + return static_cast(ptr)->isWarningEnabled(); +} + +void QLoggingCategory_QLoggingCategory_SetFilterRules(struct QtCore_PackedString rules) +{ + QLoggingCategory::setFilterRules(QString::fromUtf8(rules.data, rules.len)); +} + +void QLoggingCategory_DestroyQLoggingCategory(void* ptr) +{ + static_cast(ptr)->~QLoggingCategory(); +} + +void* QMargins_NewQMargins() +{ + return new QMargins(); +} + +void* QMargins_NewQMargins2(int left, int top, int right, int bottom) +{ + return new QMargins(left, top, right, bottom); +} + +int QMargins_Bottom(void* ptr) +{ + return static_cast(ptr)->bottom(); +} + +char QMargins_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +int QMargins_Left(void* ptr) +{ + return static_cast(ptr)->left(); +} + +int QMargins_Right(void* ptr) +{ + return static_cast(ptr)->right(); +} + +void QMargins_SetBottom(void* ptr, int bottom) +{ + static_cast(ptr)->setBottom(bottom); +} + +void QMargins_SetLeft(void* ptr, int left) +{ + static_cast(ptr)->setLeft(left); +} + +void QMargins_SetRight(void* ptr, int right) +{ + static_cast(ptr)->setRight(right); +} + +void QMargins_SetTop(void* ptr, int Top) +{ + static_cast(ptr)->setTop(Top); +} + +int QMargins_Top(void* ptr) +{ + return static_cast(ptr)->top(); +} + +void* QMarginsF_NewQMarginsF() +{ + return new QMarginsF(); +} + +void* QMarginsF_NewQMarginsF2(double left, double top, double right, double bottom) +{ + return new QMarginsF(left, top, right, bottom); +} + +void* QMarginsF_NewQMarginsF3(void* margins) +{ + return new QMarginsF(*static_cast(margins)); +} + +double QMarginsF_Bottom(void* ptr) +{ + return static_cast(ptr)->bottom(); +} + +char QMarginsF_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +double QMarginsF_Left(void* ptr) +{ + return static_cast(ptr)->left(); +} + +double QMarginsF_Right(void* ptr) +{ + return static_cast(ptr)->right(); +} + +void QMarginsF_SetBottom(void* ptr, double bottom) +{ + static_cast(ptr)->setBottom(bottom); +} + +void QMarginsF_SetLeft(void* ptr, double left) +{ + static_cast(ptr)->setLeft(left); +} + +void QMarginsF_SetRight(void* ptr, double right) +{ + static_cast(ptr)->setRight(right); +} + +void QMarginsF_SetTop(void* ptr, double Top) +{ + static_cast(ptr)->setTop(Top); +} + +void* QMarginsF_ToMargins(void* ptr) +{ + return ({ QMargins tmpValue = static_cast(ptr)->toMargins(); new QMargins(tmpValue.left(), tmpValue.top(), tmpValue.right(), tmpValue.bottom()); }); +} + +double QMarginsF_Top(void* ptr) +{ + return static_cast(ptr)->top(); +} + +void* QMessageAuthenticationCode_NewQMessageAuthenticationCode(long long method, void* key) +{ + return new QMessageAuthenticationCode(static_cast(method), *static_cast(key)); +} + +void QMessageAuthenticationCode_AddData(void* ptr, char* data, int length) +{ + static_cast(ptr)->addData(const_cast(data), length); +} + +void QMessageAuthenticationCode_AddData2(void* ptr, void* data) +{ + static_cast(ptr)->addData(*static_cast(data)); +} + +char QMessageAuthenticationCode_AddData3(void* ptr, void* device) +{ + return static_cast(ptr)->addData(static_cast(device)); +} + +void* QMessageAuthenticationCode_QMessageAuthenticationCode_Hash(void* message, void* key, long long method) +{ + return new QByteArray(QMessageAuthenticationCode::hash(*static_cast(message), *static_cast(key), static_cast(method))); +} + +void QMessageAuthenticationCode_Reset(void* ptr) +{ + static_cast(ptr)->reset(); +} + +void* QMessageAuthenticationCode_Result(void* ptr) +{ + return new QByteArray(static_cast(ptr)->result()); +} + +void QMessageAuthenticationCode_SetKey(void* ptr, void* key) +{ + static_cast(ptr)->setKey(*static_cast(key)); +} + +void QMessageAuthenticationCode_DestroyQMessageAuthenticationCode(void* ptr) +{ + static_cast(ptr)->~QMessageAuthenticationCode(); +} + +void* QMessageLogger_NewQMessageLogger2() +{ + return new QMessageLogger(); +} + +void* QMessageLogger_NewQMessageLogger3(char* file, int line, char* function) +{ + return new QMessageLogger(const_cast(file), line, const_cast(function)); +} + +void* QMessageLogger_NewQMessageLogger4(char* file, int line, char* function, char* category) +{ + return new QMessageLogger(const_cast(file), line, const_cast(function), const_cast(category)); +} + +void* QMessageLogger_Critical4(void* ptr) +{ + return new QDebug(static_cast(ptr)->critical()); +} + +void* QMessageLogger_Critical5(void* ptr, void* cat) +{ + return new QDebug(static_cast(ptr)->critical(*static_cast(cat))); +} + +void* QMessageLogger_Debug4(void* ptr) +{ + return new QDebug(static_cast(ptr)->debug()); +} + +void* QMessageLogger_Debug5(void* ptr, void* cat) +{ + return new QDebug(static_cast(ptr)->debug(*static_cast(cat))); +} + +void* QMessageLogger_Info4(void* ptr) +{ + return new QDebug(static_cast(ptr)->info()); +} + +void* QMessageLogger_Info5(void* ptr, void* cat) +{ + return new QDebug(static_cast(ptr)->info(*static_cast(cat))); +} + +void* QMessageLogger_Warning4(void* ptr) +{ + return new QDebug(static_cast(ptr)->warning()); +} + +void* QMessageLogger_Warning5(void* ptr, void* cat) +{ + return new QDebug(static_cast(ptr)->warning(*static_cast(cat))); +} + +struct QtCore_PackedString QMetaClassInfo_Name(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->name()), -1 }; +} + +struct QtCore_PackedString QMetaClassInfo_Value(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->value()), -1 }; +} + +struct QtCore_PackedString QMetaEnum_EnumName(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->enumName()), -1 }; +} + +char QMetaEnum_IsFlag(void* ptr) +{ + return static_cast(ptr)->isFlag(); +} + +char QMetaEnum_IsScoped(void* ptr) +{ + return static_cast(ptr)->isScoped(); +} + +char QMetaEnum_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +struct QtCore_PackedString QMetaEnum_Key(void* ptr, int index) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->key(index)), index }; +} + +int QMetaEnum_KeyCount(void* ptr) +{ + return static_cast(ptr)->keyCount(); +} + +int QMetaEnum_KeyToValue(void* ptr, char* key, char* ok) +{ + return static_cast(ptr)->keyToValue(const_cast(key), reinterpret_cast(ok)); +} + +int QMetaEnum_KeysToValue(void* ptr, char* keys, char* ok) +{ + return static_cast(ptr)->keysToValue(const_cast(keys), reinterpret_cast(ok)); +} + +struct QtCore_PackedString QMetaEnum_Name(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->name()), -1 }; +} + +struct QtCore_PackedString QMetaEnum_Scope(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->scope()), -1 }; +} + +int QMetaEnum_Value(void* ptr, int index) +{ + return static_cast(ptr)->value(index); +} + +struct QtCore_PackedString QMetaEnum_ValueToKey(void* ptr, int value) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->valueToKey(value)), value }; +} + +void* QMetaEnum_ValueToKeys(void* ptr, int value) +{ + return new QByteArray(static_cast(ptr)->valueToKeys(value)); +} + +long long QMetaMethod_Access(void* ptr) +{ + return static_cast(ptr)->access(); +} + +char QMetaMethod_Invoke(void* ptr, void* object, long long connectionType, void* returnValue, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return static_cast(ptr)->invoke(static_cast(object), static_cast(connectionType), *static_cast(returnValue), *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +char QMetaMethod_Invoke2(void* ptr, void* object, void* returnValue, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return static_cast(ptr)->invoke(static_cast(object), *static_cast(returnValue), *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +char QMetaMethod_Invoke3(void* ptr, void* object, long long connectionType, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return static_cast(ptr)->invoke(static_cast(object), static_cast(connectionType), *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +char QMetaMethod_Invoke4(void* ptr, void* object, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return static_cast(ptr)->invoke(static_cast(object), *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +char QMetaMethod_InvokeOnGadget(void* ptr, void* gadget, void* returnValue, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return static_cast(ptr)->invokeOnGadget(gadget, *static_cast(returnValue), *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +char QMetaMethod_InvokeOnGadget2(void* ptr, void* gadget, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return static_cast(ptr)->invokeOnGadget(gadget, *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +char QMetaMethod_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QMetaMethod_MethodIndex(void* ptr) +{ + return static_cast(ptr)->methodIndex(); +} + +void* QMetaMethod_MethodSignature(void* ptr) +{ + return new QByteArray(static_cast(ptr)->methodSignature()); +} + +long long QMetaMethod_MethodType(void* ptr) +{ + return static_cast(ptr)->methodType(); +} + +void* QMetaMethod_Name(void* ptr) +{ + return new QByteArray(static_cast(ptr)->name()); +} + +int QMetaMethod_ParameterCount(void* ptr) +{ + return static_cast(ptr)->parameterCount(); +} + +struct QtCore_PackedList QMetaMethod_ParameterNames(void* ptr) +{ + return ({ QList* tmpValuec7ea97 = new QList(static_cast(ptr)->parameterNames()); QtCore_PackedList { tmpValuec7ea97, tmpValuec7ea97->size() }; }); +} + +int QMetaMethod_ParameterType(void* ptr, int index) +{ + return static_cast(ptr)->parameterType(index); +} + +struct QtCore_PackedList QMetaMethod_ParameterTypes(void* ptr) +{ + return ({ QList* tmpValue4f9e78 = new QList(static_cast(ptr)->parameterTypes()); QtCore_PackedList { tmpValue4f9e78, tmpValue4f9e78->size() }; }); +} + +int QMetaMethod_ReturnType(void* ptr) +{ + return static_cast(ptr)->returnType(); +} + +int QMetaMethod_Revision(void* ptr) +{ + return static_cast(ptr)->revision(); +} + +struct QtCore_PackedString QMetaMethod_Tag(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->tag()), -1 }; +} + +struct QtCore_PackedString QMetaMethod_TypeName(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->typeName()), -1 }; +} + +void* QMetaMethod___parameterNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QMetaMethod___parameterNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QMetaMethod___parameterNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMetaMethod___parameterTypes_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QMetaMethod___parameterTypes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QMetaMethod___parameterTypes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +char QMetaObject_QMetaObject_CheckConnectArgs(char* sign, char* method) +{ + return QMetaObject::checkConnectArgs(const_cast(sign), const_cast(method)); +} + +char QMetaObject_QMetaObject_CheckConnectArgs2(void* sign, void* method) +{ + return QMetaObject::checkConnectArgs(*static_cast(sign), *static_cast(method)); +} + +int QMetaObject_ClassInfoCount(void* ptr) +{ + return static_cast(ptr)->classInfoCount(); +} + +int QMetaObject_ClassInfoOffset(void* ptr) +{ + return static_cast(ptr)->classInfoOffset(); +} + +struct QtCore_PackedString QMetaObject_ClassName(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->className()), -1 }; +} + +void QMetaObject_QMetaObject_ConnectSlotsByName(void* object) +{ + QMetaObject::connectSlotsByName(static_cast(object)); +} + +void* QMetaObject_Constructor(void* ptr, int index) +{ + return new QMetaMethod(static_cast(ptr)->constructor(index)); +} + +int QMetaObject_ConstructorCount(void* ptr) +{ + return static_cast(ptr)->constructorCount(); +} + +int QMetaObject_EnumeratorCount(void* ptr) +{ + return static_cast(ptr)->enumeratorCount(); +} + +int QMetaObject_EnumeratorOffset(void* ptr) +{ + return static_cast(ptr)->enumeratorOffset(); +} + +int QMetaObject_IndexOfClassInfo(void* ptr, char* name) +{ + return static_cast(ptr)->indexOfClassInfo(const_cast(name)); +} + +int QMetaObject_IndexOfConstructor(void* ptr, char* constructor) +{ + return static_cast(ptr)->indexOfConstructor(const_cast(constructor)); +} + +int QMetaObject_IndexOfEnumerator(void* ptr, char* name) +{ + return static_cast(ptr)->indexOfEnumerator(const_cast(name)); +} + +int QMetaObject_IndexOfMethod(void* ptr, char* method) +{ + return static_cast(ptr)->indexOfMethod(const_cast(method)); +} + +int QMetaObject_IndexOfProperty(void* ptr, char* name) +{ + return static_cast(ptr)->indexOfProperty(const_cast(name)); +} + +int QMetaObject_IndexOfSignal(void* ptr, char* sign) +{ + return static_cast(ptr)->indexOfSignal(const_cast(sign)); +} + +int QMetaObject_IndexOfSlot(void* ptr, char* slot) +{ + return static_cast(ptr)->indexOfSlot(const_cast(slot)); +} + +char QMetaObject_Inherits(void* ptr, void* metaObject) +{ + return static_cast(ptr)->inherits(static_cast(metaObject)); +} + +char QMetaObject_QMetaObject_InvokeMethod(void* obj, char* member, long long ty, void* ret, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return QMetaObject::invokeMethod(static_cast(obj), const_cast(member), static_cast(ty), *static_cast(ret), *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +char QMetaObject_QMetaObject_InvokeMethod2(void* obj, char* member, void* ret, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return QMetaObject::invokeMethod(static_cast(obj), const_cast(member), *static_cast(ret), *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +char QMetaObject_QMetaObject_InvokeMethod3(void* obj, char* member, long long ty, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return QMetaObject::invokeMethod(static_cast(obj), const_cast(member), static_cast(ty), *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +char QMetaObject_QMetaObject_InvokeMethod4(void* obj, char* member, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return QMetaObject::invokeMethod(static_cast(obj), const_cast(member), *static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +void* QMetaObject_Method(void* ptr, int index) +{ + return new QMetaMethod(static_cast(ptr)->method(index)); +} + +int QMetaObject_MethodCount(void* ptr) +{ + return static_cast(ptr)->methodCount(); +} + +int QMetaObject_MethodOffset(void* ptr) +{ + return static_cast(ptr)->methodOffset(); +} + +void* QMetaObject_NewInstance(void* ptr, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9) +{ + return static_cast(ptr)->newInstance(*static_cast(val0), *static_cast(val1), *static_cast(val2), *static_cast(val3), *static_cast(val4), *static_cast(val5), *static_cast(val6), *static_cast(val7), *static_cast(val8), *static_cast(val9)); +} + +void* QMetaObject_QMetaObject_NormalizedSignature(char* method) +{ + return new QByteArray(QMetaObject::normalizedSignature(const_cast(method))); +} + +void* QMetaObject_QMetaObject_NormalizedType(char* ty) +{ + return new QByteArray(QMetaObject::normalizedType(const_cast(ty))); +} + +int QMetaObject_PropertyCount(void* ptr) +{ + return static_cast(ptr)->propertyCount(); +} + +int QMetaObject_PropertyOffset(void* ptr) +{ + return static_cast(ptr)->propertyOffset(); +} + +void* QMetaObject_SuperClass(void* ptr) +{ + return const_cast(static_cast(ptr)->superClass()); +} + +char QMetaProperty_HasNotifySignal(void* ptr) +{ + return static_cast(ptr)->hasNotifySignal(); +} + +char QMetaProperty_IsConstant(void* ptr) +{ + return static_cast(ptr)->isConstant(); +} + +char QMetaProperty_IsDesignable(void* ptr, void* object) +{ + return static_cast(ptr)->isDesignable(static_cast(object)); +} + +char QMetaProperty_IsEnumType(void* ptr) +{ + return static_cast(ptr)->isEnumType(); +} + +char QMetaProperty_IsFinal(void* ptr) +{ + return static_cast(ptr)->isFinal(); +} + +char QMetaProperty_IsFlagType(void* ptr) +{ + return static_cast(ptr)->isFlagType(); +} + +char QMetaProperty_IsReadable(void* ptr) +{ + return static_cast(ptr)->isReadable(); +} + +char QMetaProperty_IsResettable(void* ptr) +{ + return static_cast(ptr)->isResettable(); +} + +char QMetaProperty_IsScriptable(void* ptr, void* object) +{ + return static_cast(ptr)->isScriptable(static_cast(object)); +} + +char QMetaProperty_IsStored(void* ptr, void* object) +{ + return static_cast(ptr)->isStored(static_cast(object)); +} + +char QMetaProperty_IsUser(void* ptr, void* object) +{ + return static_cast(ptr)->isUser(static_cast(object)); +} + +char QMetaProperty_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QMetaProperty_IsWritable(void* ptr) +{ + return static_cast(ptr)->isWritable(); +} + +struct QtCore_PackedString QMetaProperty_Name(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->name()), -1 }; +} + +void* QMetaProperty_NotifySignal(void* ptr) +{ + return new QMetaMethod(static_cast(ptr)->notifySignal()); +} + +int QMetaProperty_NotifySignalIndex(void* ptr) +{ + return static_cast(ptr)->notifySignalIndex(); +} + +int QMetaProperty_PropertyIndex(void* ptr) +{ + return static_cast(ptr)->propertyIndex(); +} + +void* QMetaProperty_Read(void* ptr, void* object) +{ + return new QVariant(static_cast(ptr)->read(static_cast(object))); +} + +void* QMetaProperty_ReadOnGadget(void* ptr, void* gadget) +{ + return new QVariant(static_cast(ptr)->readOnGadget(gadget)); +} + +char QMetaProperty_Reset(void* ptr, void* object) +{ + return static_cast(ptr)->reset(static_cast(object)); +} + +char QMetaProperty_ResetOnGadget(void* ptr, void* gadget) +{ + return static_cast(ptr)->resetOnGadget(gadget); +} + +int QMetaProperty_Revision(void* ptr) +{ + return static_cast(ptr)->revision(); +} + +long long QMetaProperty_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +struct QtCore_PackedString QMetaProperty_TypeName(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->typeName()), -1 }; +} + +int QMetaProperty_UserType(void* ptr) +{ + return static_cast(ptr)->userType(); +} + +char QMetaProperty_Write(void* ptr, void* object, void* value) +{ + return static_cast(ptr)->write(static_cast(object), *static_cast(value)); +} + +char QMetaProperty_WriteOnGadget(void* ptr, void* gadget, void* value) +{ + return static_cast(ptr)->writeOnGadget(gadget, *static_cast(value)); +} + +void* QMetaType_NewQMetaType(int typeId) +{ + return new QMetaType(typeId); +} + +char QMetaType_QMetaType_Compare(void* lhs, void* rhs, int typeId, int result) +{ + return QMetaType::compare(lhs, rhs, typeId, &result); +} + +void* QMetaType_QMetaType_Construct2(int ty, void* where, void* copy) +{ + return QMetaType::construct(ty, where, copy); +} + +void* QMetaType_Construct3(void* ptr, void* where, void* copy) +{ + return static_cast(ptr)->construct(where, copy); +} + +char QMetaType_QMetaType_Convert(void* from, int fromTypeId, void* to, int toTypeId) +{ + return QMetaType::convert(from, fromTypeId, to, toTypeId); +} + +void* QMetaType_QMetaType_Create(int ty, void* copy) +{ + return QMetaType::create(ty, copy); +} + +void* QMetaType_Create2(void* ptr, void* copy) +{ + return static_cast(ptr)->create(copy); +} + +char QMetaType_QMetaType_DebugStream(void* dbg, void* rhs, int typeId) +{ + return QMetaType::debugStream(*static_cast(dbg), rhs, typeId); +} + +void QMetaType_QMetaType_Destroy(int ty, void* data) +{ + QMetaType::destroy(ty, data); +} + +void QMetaType_Destroy2(void* ptr, void* data) +{ + static_cast(ptr)->destroy(data); +} + +void QMetaType_QMetaType_Destruct(int ty, void* where) +{ + QMetaType::destruct(ty, where); +} + +void QMetaType_Destruct2(void* ptr, void* data) +{ + static_cast(ptr)->destruct(data); +} + +char QMetaType_QMetaType_Equals(void* lhs, void* rhs, int typeId, int result) +{ + return QMetaType::equals(lhs, rhs, typeId, &result); +} + +long long QMetaType_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +int QMetaType_Id(void* ptr) +{ + return static_cast(ptr)->id(); +} + +char QMetaType_QMetaType_IsRegistered(int ty) +{ + return QMetaType::isRegistered(ty); +} + +char QMetaType_IsRegistered2(void* ptr) +{ + return static_cast(ptr)->isRegistered(); +} + +char QMetaType_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QMetaType_QMetaType_Load(void* stream, int ty, void* data) +{ + return QMetaType::load(*static_cast(stream), ty, data); +} + +void* QMetaType_MetaObject(void* ptr) +{ + return const_cast(static_cast(ptr)->metaObject()); +} + +void* QMetaType_QMetaType_MetaObjectForType(int ty) +{ + return const_cast(QMetaType::metaObjectForType(ty)); +} + +char QMetaType_QMetaType_Save(void* stream, int ty, void* data) +{ + return QMetaType::save(*static_cast(stream), ty, data); +} + +int QMetaType_QMetaType_SizeOf(int ty) +{ + return QMetaType::sizeOf(ty); +} + +int QMetaType_SizeOf2(void* ptr) +{ + return static_cast(ptr)->sizeOf(); +} + +int QMetaType_QMetaType_Type(char* typeName) +{ + return QMetaType::type(const_cast(typeName)); +} + +int QMetaType_QMetaType_Type2(void* typeName) +{ + return QMetaType::type(*static_cast(typeName)); +} + +long long QMetaType_QMetaType_TypeFlags(int ty) +{ + return QMetaType::typeFlags(ty); +} + +struct QtCore_PackedString QMetaType_QMetaType_TypeName(int typeId) +{ + return QtCore_PackedString { const_cast(QMetaType::typeName(typeId)), typeId }; +} + +void QMetaType_DestroyQMetaType(void* ptr) +{ + static_cast(ptr)->~QMetaType(); +} + +class MyQMimeData: public QMimeData +{ +public: + MyQMimeData() : QMimeData() {QMimeData_QMimeData_QRegisterMetaType();}; + QStringList formats() const { return ({ QtCore_PackedString tempVal = callbackQMimeData_Formats(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + bool hasFormat(const QString & mimeType) const { QByteArray t3313b8 = mimeType.toUtf8(); QtCore_PackedString mimeTypePacked = { const_cast(t3313b8.prepend("WHITESPACE").constData()+10), t3313b8.size()-10 };return callbackQMimeData_HasFormat(const_cast(static_cast(this)), mimeTypePacked) != 0; }; + QVariant retrieveData(const QString & mimeType, QVariant::Type ty) const { QByteArray t3313b8 = mimeType.toUtf8(); QtCore_PackedString mimeTypePacked = { const_cast(t3313b8.prepend("WHITESPACE").constData()+10), t3313b8.size()-10 };return *static_cast(callbackQMimeData_RetrieveData(const_cast(static_cast(this)), mimeTypePacked, ty)); }; + ~MyQMimeData() { callbackQMimeData_DestroyQMimeData(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQMimeData*) + +int QMimeData_QMimeData_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QMimeData_NewQMimeData() +{ + return new MyQMimeData(); +} + +void QMimeData_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +void* QMimeData_ColorData(void* ptr) +{ + return new QVariant(static_cast(ptr)->colorData()); +} + +void* QMimeData_Data(void* ptr, struct QtCore_PackedString mimeType) +{ + return new QByteArray(static_cast(ptr)->data(QString::fromUtf8(mimeType.data, mimeType.len))); +} + +struct QtCore_PackedString QMimeData_Formats(void* ptr) +{ + return ({ QByteArray t353e58 = static_cast(ptr)->formats().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t353e58.prepend("WHITESPACE").constData()+10), t353e58.size()-10 }; }); +} + +struct QtCore_PackedString QMimeData_FormatsDefault(void* ptr) +{ + return ({ QByteArray td5c1b6 = static_cast(ptr)->QMimeData::formats().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(td5c1b6.prepend("WHITESPACE").constData()+10), td5c1b6.size()-10 }; }); +} + +char QMimeData_HasColor(void* ptr) +{ + return static_cast(ptr)->hasColor(); +} + +char QMimeData_HasFormat(void* ptr, struct QtCore_PackedString mimeType) +{ + return static_cast(ptr)->hasFormat(QString::fromUtf8(mimeType.data, mimeType.len)); +} + +char QMimeData_HasFormatDefault(void* ptr, struct QtCore_PackedString mimeType) +{ + return static_cast(ptr)->QMimeData::hasFormat(QString::fromUtf8(mimeType.data, mimeType.len)); +} + +char QMimeData_HasHtml(void* ptr) +{ + return static_cast(ptr)->hasHtml(); +} + +char QMimeData_HasImage(void* ptr) +{ + return static_cast(ptr)->hasImage(); +} + +char QMimeData_HasText(void* ptr) +{ + return static_cast(ptr)->hasText(); +} + +char QMimeData_HasUrls(void* ptr) +{ + return static_cast(ptr)->hasUrls(); +} + +struct QtCore_PackedString QMimeData_Html(void* ptr) +{ + return ({ QByteArray te6f56b = static_cast(ptr)->html().toUtf8(); QtCore_PackedString { const_cast(te6f56b.prepend("WHITESPACE").constData()+10), te6f56b.size()-10 }; }); +} + +void* QMimeData_ImageData(void* ptr) +{ + return new QVariant(static_cast(ptr)->imageData()); +} + +void QMimeData_RemoveFormat(void* ptr, struct QtCore_PackedString mimeType) +{ + static_cast(ptr)->removeFormat(QString::fromUtf8(mimeType.data, mimeType.len)); +} + +void* QMimeData_RetrieveData(void* ptr, struct QtCore_PackedString mimeType, long long ty) +{ + return new QVariant(static_cast(ptr)->retrieveData(QString::fromUtf8(mimeType.data, mimeType.len), static_cast(ty))); +} + +void* QMimeData_RetrieveDataDefault(void* ptr, struct QtCore_PackedString mimeType, long long ty) +{ + return new QVariant(static_cast(ptr)->QMimeData::retrieveData(QString::fromUtf8(mimeType.data, mimeType.len), static_cast(ty))); +} + +void QMimeData_SetColorData(void* ptr, void* color) +{ + static_cast(ptr)->setColorData(*static_cast(color)); +} + +void QMimeData_SetData(void* ptr, struct QtCore_PackedString mimeType, void* data) +{ + static_cast(ptr)->setData(QString::fromUtf8(mimeType.data, mimeType.len), *static_cast(data)); +} + +void QMimeData_SetHtml(void* ptr, struct QtCore_PackedString html) +{ + static_cast(ptr)->setHtml(QString::fromUtf8(html.data, html.len)); +} + +void QMimeData_SetImageData(void* ptr, void* image) +{ + static_cast(ptr)->setImageData(*static_cast(image)); +} + +void QMimeData_SetText(void* ptr, struct QtCore_PackedString text) +{ + static_cast(ptr)->setText(QString::fromUtf8(text.data, text.len)); +} + +void QMimeData_SetUrls(void* ptr, void* urls) +{ + static_cast(ptr)->setUrls(*static_cast*>(urls)); +} + +struct QtCore_PackedString QMimeData_Text(void* ptr) +{ + return ({ QByteArray t2355ec = static_cast(ptr)->text().toUtf8(); QtCore_PackedString { const_cast(t2355ec.prepend("WHITESPACE").constData()+10), t2355ec.size()-10 }; }); +} + +struct QtCore_PackedList QMimeData_Urls(void* ptr) +{ + return ({ QList* tmpValuea61c1b = new QList(static_cast(ptr)->urls()); QtCore_PackedList { tmpValuea61c1b, tmpValuea61c1b->size() }; }); +} + +void QMimeData_DestroyQMimeData(void* ptr) +{ + static_cast(ptr)->~QMimeData(); +} + +void QMimeData_DestroyQMimeDataDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QMimeData___setUrls_urls_atList(void* ptr, int i) +{ + return new QUrl(({QUrl tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QMimeData___setUrls_urls_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QMimeData___setUrls_urls_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMimeData___urls_atList(void* ptr, int i) +{ + return new QUrl(({QUrl tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QMimeData___urls_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QMimeData___urls_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMimeDatabase_NewQMimeDatabase2() +{ + return new QMimeDatabase(); +} + +struct QtCore_PackedList QMimeDatabase_AllMimeTypes(void* ptr) +{ + return ({ QList* tmpValuebf56ee = new QList(static_cast(ptr)->allMimeTypes()); QtCore_PackedList { tmpValuebf56ee, tmpValuebf56ee->size() }; }); +} + +void* QMimeDatabase_MimeTypeForData(void* ptr, void* data) +{ + return new QMimeType(static_cast(ptr)->mimeTypeForData(*static_cast(data))); +} + +void* QMimeDatabase_MimeTypeForData2(void* ptr, void* device) +{ + return new QMimeType(static_cast(ptr)->mimeTypeForData(static_cast(device))); +} + +void* QMimeDatabase_MimeTypeForFile(void* ptr, void* fileInfo, long long mode) +{ + return new QMimeType(static_cast(ptr)->mimeTypeForFile(*static_cast(fileInfo), static_cast(mode))); +} + +void* QMimeDatabase_MimeTypeForFile2(void* ptr, struct QtCore_PackedString fileName, long long mode) +{ + return new QMimeType(static_cast(ptr)->mimeTypeForFile(QString::fromUtf8(fileName.data, fileName.len), static_cast(mode))); +} + +void* QMimeDatabase_MimeTypeForFileNameAndData(void* ptr, struct QtCore_PackedString fileName, void* device) +{ + return new QMimeType(static_cast(ptr)->mimeTypeForFileNameAndData(QString::fromUtf8(fileName.data, fileName.len), static_cast(device))); +} + +void* QMimeDatabase_MimeTypeForFileNameAndData2(void* ptr, struct QtCore_PackedString fileName, void* data) +{ + return new QMimeType(static_cast(ptr)->mimeTypeForFileNameAndData(QString::fromUtf8(fileName.data, fileName.len), *static_cast(data))); +} + +void* QMimeDatabase_MimeTypeForName(void* ptr, struct QtCore_PackedString nameOrAlias) +{ + return new QMimeType(static_cast(ptr)->mimeTypeForName(QString::fromUtf8(nameOrAlias.data, nameOrAlias.len))); +} + +void* QMimeDatabase_MimeTypeForUrl(void* ptr, void* url) +{ + return new QMimeType(static_cast(ptr)->mimeTypeForUrl(*static_cast(url))); +} + +struct QtCore_PackedList QMimeDatabase_MimeTypesForFileName(void* ptr, struct QtCore_PackedString fileName) +{ + return ({ QList* tmpValue31f4f7 = new QList(static_cast(ptr)->mimeTypesForFileName(QString::fromUtf8(fileName.data, fileName.len))); QtCore_PackedList { tmpValue31f4f7, tmpValue31f4f7->size() }; }); +} + +struct QtCore_PackedString QMimeDatabase_SuffixForFileName(void* ptr, struct QtCore_PackedString fileName) +{ + return ({ QByteArray te4c687 = static_cast(ptr)->suffixForFileName(QString::fromUtf8(fileName.data, fileName.len)).toUtf8(); QtCore_PackedString { const_cast(te4c687.prepend("WHITESPACE").constData()+10), te4c687.size()-10 }; }); +} + +void QMimeDatabase_DestroyQMimeDatabase(void* ptr) +{ + static_cast(ptr)->~QMimeDatabase(); +} + +void* QMimeDatabase___allMimeTypes_atList(void* ptr, int i) +{ + return new QMimeType(({QMimeType tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QMimeDatabase___allMimeTypes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QMimeDatabase___allMimeTypes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMimeDatabase___mimeTypesForFileName_atList(void* ptr, int i) +{ + return new QMimeType(({QMimeType tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QMimeDatabase___mimeTypesForFileName_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QMimeDatabase___mimeTypesForFileName_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMimeType_NewQMimeType() +{ + return new QMimeType(); +} + +void* QMimeType_NewQMimeType2(void* other) +{ + return new QMimeType(*static_cast(other)); +} + +struct QtCore_PackedString QMimeType_Aliases(void* ptr) +{ + return ({ QByteArray t7480d3 = static_cast(ptr)->aliases().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t7480d3.prepend("WHITESPACE").constData()+10), t7480d3.size()-10 }; }); +} + +struct QtCore_PackedString QMimeType_AllAncestors(void* ptr) +{ + return ({ QByteArray tf171fc = static_cast(ptr)->allAncestors().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf171fc.prepend("WHITESPACE").constData()+10), tf171fc.size()-10 }; }); +} + +struct QtCore_PackedString QMimeType_Comment(void* ptr) +{ + return ({ QByteArray ta1538d = static_cast(ptr)->comment().toUtf8(); QtCore_PackedString { const_cast(ta1538d.prepend("WHITESPACE").constData()+10), ta1538d.size()-10 }; }); +} + +struct QtCore_PackedString QMimeType_FilterString(void* ptr) +{ + return ({ QByteArray t332dc9 = static_cast(ptr)->filterString().toUtf8(); QtCore_PackedString { const_cast(t332dc9.prepend("WHITESPACE").constData()+10), t332dc9.size()-10 }; }); +} + +struct QtCore_PackedString QMimeType_GenericIconName(void* ptr) +{ + return ({ QByteArray te218a0 = static_cast(ptr)->genericIconName().toUtf8(); QtCore_PackedString { const_cast(te218a0.prepend("WHITESPACE").constData()+10), te218a0.size()-10 }; }); +} + +struct QtCore_PackedString QMimeType_GlobPatterns(void* ptr) +{ + return ({ QByteArray te56904 = static_cast(ptr)->globPatterns().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(te56904.prepend("WHITESPACE").constData()+10), te56904.size()-10 }; }); +} + +struct QtCore_PackedString QMimeType_IconName(void* ptr) +{ + return ({ QByteArray tc23ba4 = static_cast(ptr)->iconName().toUtf8(); QtCore_PackedString { const_cast(tc23ba4.prepend("WHITESPACE").constData()+10), tc23ba4.size()-10 }; }); +} + +char QMimeType_Inherits(void* ptr, struct QtCore_PackedString mimeTypeName) +{ + return static_cast(ptr)->inherits(QString::fromUtf8(mimeTypeName.data, mimeTypeName.len)); +} + +char QMimeType_IsDefault(void* ptr) +{ + return static_cast(ptr)->isDefault(); +} + +char QMimeType_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +struct QtCore_PackedString QMimeType_Name(void* ptr) +{ + return ({ QByteArray ta4c2a4 = static_cast(ptr)->name().toUtf8(); QtCore_PackedString { const_cast(ta4c2a4.prepend("WHITESPACE").constData()+10), ta4c2a4.size()-10 }; }); +} + +struct QtCore_PackedString QMimeType_ParentMimeTypes(void* ptr) +{ + return ({ QByteArray t4917fb = static_cast(ptr)->parentMimeTypes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t4917fb.prepend("WHITESPACE").constData()+10), t4917fb.size()-10 }; }); +} + +struct QtCore_PackedString QMimeType_PreferredSuffix(void* ptr) +{ + return ({ QByteArray t3aa3ee = static_cast(ptr)->preferredSuffix().toUtf8(); QtCore_PackedString { const_cast(t3aa3ee.prepend("WHITESPACE").constData()+10), t3aa3ee.size()-10 }; }); +} + +struct QtCore_PackedString QMimeType_Suffixes(void* ptr) +{ + return ({ QByteArray t2e296a = static_cast(ptr)->suffixes().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t2e296a.prepend("WHITESPACE").constData()+10), t2e296a.size()-10 }; }); +} + +void QMimeType_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QMimeType_DestroyQMimeType(void* ptr) +{ + static_cast(ptr)->~QMimeType(); +} + +void* QModelIndex_NewQModelIndex() +{ + return new QModelIndex(); +} + +int QModelIndex_Column(void* ptr) +{ + return static_cast(ptr)->column(); +} + +void* QModelIndex_Data(void* ptr, int role) +{ + return new QVariant(static_cast(ptr)->data(role)); +} + +long long QModelIndex_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +uintptr_t QModelIndex_InternalId(void* ptr) +{ + return static_cast(ptr)->internalId(); +} + +void* QModelIndex_InternalPointer(void* ptr) +{ + return static_cast(ptr)->internalPointer(); +} + +char QModelIndex_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QModelIndex_Model(void* ptr) +{ + return const_cast(static_cast(ptr)->model()); +} + +void* QModelIndex_Parent(void* ptr) +{ + return new QModelIndex(static_cast(ptr)->parent()); +} + +int QModelIndex_Row(void* ptr) +{ + return static_cast(ptr)->row(); +} + +void* QModelIndex_Sibling(void* ptr, int row, int column) +{ + return new QModelIndex(static_cast(ptr)->sibling(row, column)); +} + +void* QModelIndex_SiblingAtColumn(void* ptr, int column) +{ + return new QModelIndex(static_cast(ptr)->siblingAtColumn(column)); +} + +void* QModelIndex_SiblingAtRow(void* ptr, int row) +{ + return new QModelIndex(static_cast(ptr)->siblingAtRow(row)); +} + +void* QMutex_NewQMutex(long long mode) +{ + return new QMutex(static_cast(mode)); +} + +void QMutex_Lock(void* ptr) +{ + static_cast(ptr)->lock(); +} + +char QMutex_TryLock(void* ptr, int timeout) +{ + return static_cast(ptr)->tryLock(timeout); +} + +char QMutex_Try_lock(void* ptr) +{ + return static_cast(ptr)->try_lock(); +} + +void QMutex_Unlock(void* ptr) +{ + static_cast(ptr)->unlock(); +} + +void QMutex_DestroyQMutex(void* ptr) +{ + static_cast(ptr)->~QMutex(); +} + +void* QMutexLocker_NewQMutexLocker(void* mutex) +{ + return new QMutexLocker(static_cast(mutex)); +} + +void* QMutexLocker_Mutex(void* ptr) +{ + return static_cast(ptr)->mutex(); +} + +void QMutexLocker_Relock(void* ptr) +{ + static_cast(ptr)->relock(); +} + +void QMutexLocker_Unlock(void* ptr) +{ + static_cast(ptr)->unlock(); +} + +void QMutexLocker_DestroyQMutexLocker(void* ptr) +{ + static_cast(ptr)->~QMutexLocker(); +} + +class MyQObject: public QObject +{ +public: + MyQObject(QObject *parent = Q_NULLPTR) : QObject(parent) {QObject_QObject_QRegisterMetaType();}; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; + ~MyQObject() { callbackQObject_DestroyQObject(this); }; +}; + +Q_DECLARE_METATYPE(MyQObject*) + +int QObject_QObject_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QObject_NewQObject(void* parent) +{ + return new MyQObject(static_cast(parent)); +} + +char QObject_BlockSignals(void* ptr, char block) +{ + return static_cast(ptr)->blockSignals(block != 0); +} + +void QObject_ChildEvent(void* ptr, void* event) +{ + static_cast(ptr)->childEvent(static_cast(event)); +} + +void QObject_ChildEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTranslator::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimer::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimeLine::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThreadPool::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThread::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSocketNotifier::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSharedMemory::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSettings::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPluginLoader::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QObjectCleanupHandler::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QMimeData::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QLibrary::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QItemSelectionModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFutureWatcherBase::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSystemWatcher::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSelector::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QCoreApplication::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QProcess::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSaveFile::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTemporaryFile::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFile::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileDevice::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QBuffer::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIODevice::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSignalTransition::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventTransition::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTransition::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStateMachine::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QState::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QHistoryState::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFinalState::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractState::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractItemModel::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractEventDispatcher::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventLoop::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractAnimation::childEvent(static_cast(event)); + } else { + static_cast(ptr)->QObject::childEvent(static_cast(event)); + } +} + +struct QtCore_PackedList QObject_Children(void* ptr) +{ + return ({ QList* tmpValue53f390 = new QList(static_cast(ptr)->children()); QtCore_PackedList { tmpValue53f390, tmpValue53f390->size() }; }); +} + +void QObject_ConnectNotify(void* ptr, void* sign) +{ + static_cast(ptr)->connectNotify(*static_cast(sign)); +} + +void QObject_ConnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTranslator::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimer::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimeLine::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThreadPool::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThread::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSocketNotifier::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSharedMemory::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSettings::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPluginLoader::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QObjectCleanupHandler::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QMimeData::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QLibrary::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QItemSelectionModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFutureWatcherBase::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSystemWatcher::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSelector::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QCoreApplication::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QProcess::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSaveFile::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTemporaryFile::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFile::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileDevice::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QBuffer::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIODevice::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSignalTransition::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventTransition::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTransition::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStateMachine::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QState::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QHistoryState::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFinalState::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractState::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractItemModel::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractEventDispatcher::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventLoop::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractAnimation::connectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QObject::connectNotify(*static_cast(sign)); + } +} + +void QObject_CustomEvent(void* ptr, void* event) +{ + static_cast(ptr)->customEvent(static_cast(event)); +} + +void QObject_CustomEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTranslator::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimer::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimeLine::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThreadPool::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThread::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSocketNotifier::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSharedMemory::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSettings::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPluginLoader::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QObjectCleanupHandler::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QMimeData::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QLibrary::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QItemSelectionModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFutureWatcherBase::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSystemWatcher::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSelector::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QCoreApplication::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QProcess::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSaveFile::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTemporaryFile::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFile::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileDevice::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QBuffer::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIODevice::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSignalTransition::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventTransition::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTransition::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStateMachine::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QState::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QHistoryState::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFinalState::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractState::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractItemModel::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractEventDispatcher::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventLoop::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractAnimation::customEvent(static_cast(event)); + } else { + static_cast(ptr)->QObject::customEvent(static_cast(event)); + } +} + +void QObject_DeleteLater(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "deleteLater"); +} + +void QObject_DeleteLaterDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTranslator::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimer::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimeLine::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThreadPool::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThread::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSocketNotifier::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSharedMemory::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSettings::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPluginLoader::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QObjectCleanupHandler::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QMimeData::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QLibrary::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QItemSelectionModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFutureWatcherBase::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSystemWatcher::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSelector::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QCoreApplication::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QProcess::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSaveFile::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTemporaryFile::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFile::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileDevice::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QBuffer::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIODevice::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSignalTransition::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventTransition::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTransition::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStateMachine::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QState::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QHistoryState::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFinalState::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractState::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractItemModel::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractEventDispatcher::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventLoop::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractAnimation::deleteLater(); + } else { + static_cast(ptr)->QObject::deleteLater(); + } +} + +void QObject_ConnectDestroyed(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QObject::destroyed), static_cast(ptr), static_cast(&MyQObject::Signal_Destroyed), static_cast(t)); +} + +void QObject_DisconnectDestroyed(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QObject::destroyed), static_cast(ptr), static_cast(&MyQObject::Signal_Destroyed)); +} + +void QObject_Destroyed(void* ptr, void* obj) +{ + static_cast(ptr)->destroyed(static_cast(obj)); +} + +char QObject_QObject_Disconnect(void* sender, char* sign, void* receiver, char* method) +{ + return QObject::disconnect(static_cast(sender), const_cast(sign), static_cast(receiver), const_cast(method)); +} + +char QObject_QObject_Disconnect2(void* sender, void* sign, void* receiver, void* method) +{ + return QObject::disconnect(static_cast(sender), *static_cast(sign), static_cast(receiver), *static_cast(method)); +} + +char QObject_Disconnect3(void* ptr, char* sign, void* receiver, char* method) +{ + return static_cast(ptr)->disconnect(const_cast(sign), static_cast(receiver), const_cast(method)); +} + +char QObject_Disconnect4(void* ptr, void* receiver, char* method) +{ + return static_cast(ptr)->disconnect(static_cast(receiver), const_cast(method)); +} + +void QObject_DisconnectNotify(void* ptr, void* sign) +{ + static_cast(ptr)->disconnectNotify(*static_cast(sign)); +} + +void QObject_DisconnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTranslator::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimer::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimeLine::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThreadPool::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThread::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSocketNotifier::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSharedMemory::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSettings::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPluginLoader::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QObjectCleanupHandler::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QMimeData::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QLibrary::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QItemSelectionModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFutureWatcherBase::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSystemWatcher::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSelector::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QCoreApplication::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QProcess::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSaveFile::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTemporaryFile::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFile::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileDevice::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QBuffer::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIODevice::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSignalTransition::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventTransition::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTransition::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStateMachine::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QState::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QHistoryState::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFinalState::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractState::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractItemModel::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractEventDispatcher::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventLoop::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractAnimation::disconnectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QObject::disconnectNotify(*static_cast(sign)); + } +} + +void QObject_DumpObjectInfo(void* ptr) +{ + static_cast(ptr)->dumpObjectInfo(); +} + +void QObject_DumpObjectTree(void* ptr) +{ + static_cast(ptr)->dumpObjectTree(); +} + +struct QtCore_PackedList QObject_DynamicPropertyNames(void* ptr) +{ + return ({ QList* tmpValue9188e5 = new QList(static_cast(ptr)->dynamicPropertyNames()); QtCore_PackedList { tmpValue9188e5, tmpValue9188e5->size() }; }); +} + +char QObject_Event(void* ptr, void* e) +{ + return static_cast(ptr)->event(static_cast(e)); +} + +char QObject_EventDefault(void* ptr, void* e) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTranslator::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTimer::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTimeLine::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QThreadPool::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QThread::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSocketNotifier::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSharedMemory::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSettings::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPluginLoader::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QObjectCleanupHandler::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QMimeData::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QLibrary::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QItemSelectionModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFutureWatcherBase::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileSystemWatcher::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileSelector::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QCoreApplication::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIODevice::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSignalTransition::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QEventTransition::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTransition::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStateMachine::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QState::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QHistoryState::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFinalState::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractState::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractItemModel::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractEventDispatcher::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QEventLoop::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPropertyAnimation::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QVariantAnimation::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPauseAnimation::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSequentialAnimationGroup::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QParallelAnimationGroup::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAnimationGroup::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractAnimation::event(static_cast(e)); + } else { + return static_cast(ptr)->QObject::event(static_cast(e)); + } +} + +char QObject_EventFilter(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); +} + +char QObject_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTranslator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTimer::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTimeLine::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QThreadPool::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QThread::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSocketNotifier::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSharedMemory::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSettings::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPluginLoader::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QObjectCleanupHandler::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QMimeData::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QLibrary::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QItemSelectionModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFutureWatcherBase::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileSystemWatcher::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileSelector::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QCoreApplication::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QProcess::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSaveFile::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTemporaryFile::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFile::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFileDevice::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBuffer::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIODevice::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSignalTransition::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QEventTransition::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTransition::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStateMachine::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QState::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QHistoryState::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QFinalState::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractState::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QConcatenateTablesProxyModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTransposeProxyModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSortFilterProxyModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIdentityProxyModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractProxyModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QStringListModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractListModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractTableModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractItemModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractEventDispatcher::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QEventLoop::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPropertyAnimation::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QVariantAnimation::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPauseAnimation::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSequentialAnimationGroup::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QParallelAnimationGroup::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAnimationGroup::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAbstractAnimation::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QObject::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QObject_FindChild(void* ptr, struct QtCore_PackedString name, long long options) +{ + return static_cast(ptr)->findChild(QString::fromUtf8(name.data, name.len), static_cast(options)); +} + +struct QtCore_PackedList QObject_FindChildren(void* ptr, struct QtCore_PackedString name, long long options) +{ + return ({ QList* tmpValue03dce3 = new QList(static_cast(ptr)->findChildren(QString::fromUtf8(name.data, name.len), static_cast(options))); QtCore_PackedList { tmpValue03dce3, tmpValue03dce3->size() }; }); +} + +struct QtCore_PackedList QObject_FindChildren3(void* ptr, void* re, long long options) +{ + return ({ QList* tmpValuec8bf88 = new QList(static_cast(ptr)->findChildren(*static_cast(re), static_cast(options))); QtCore_PackedList { tmpValuec8bf88, tmpValuec8bf88->size() }; }); +} + +char QObject_Inherits(void* ptr, char* className) +{ + return static_cast(ptr)->inherits(const_cast(className)); +} + +void QObject_InstallEventFilter(void* ptr, void* filterObj) +{ + static_cast(ptr)->installEventFilter(static_cast(filterObj)); +} + +char QObject_IsSignalConnected(void* ptr, void* sign) +{ + return static_cast(ptr)->isSignalConnected(*static_cast(sign)); +} + +char QObject_IsWidgetType(void* ptr) +{ + return static_cast(ptr)->isWidgetType(); +} + +char QObject_IsWindowType(void* ptr) +{ + return static_cast(ptr)->isWindowType(); +} + +void QObject_KillTimer(void* ptr, int id) +{ + static_cast(ptr)->killTimer(id); +} + +void* QObject_MetaObject(void* ptr) +{ + return const_cast(static_cast(ptr)->metaObject()); +} + +void* QObject_MetaObjectDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTranslator::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTimer::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTimeLine::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QThreadPool::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QThread::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QSocketNotifier::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QSharedMemory::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QSettings::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QPluginLoader::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QObjectCleanupHandler::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QMimeData::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QLibrary::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QItemSelectionModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QFutureWatcherBase::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QFileSystemWatcher::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QFileSelector::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QCoreApplication::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QProcess::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QSaveFile::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTemporaryFile::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QFile::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QFileDevice::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QBuffer::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QIODevice::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QSignalTransition::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QEventTransition::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QAbstractTransition::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QStateMachine::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QState::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QHistoryState::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QFinalState::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QAbstractState::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QConcatenateTablesProxyModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTransposeProxyModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QSortFilterProxyModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QIdentityProxyModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QAbstractProxyModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QStringListModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QAbstractListModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QAbstractTableModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QAbstractItemModel::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QAbstractEventDispatcher::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QEventLoop::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QPropertyAnimation::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QVariantAnimation::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QPauseAnimation::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QSequentialAnimationGroup::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QParallelAnimationGroup::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QAnimationGroup::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QAbstractAnimation::metaObject()); + } else { + return const_cast(static_cast(ptr)->QObject::metaObject()); + } +} + +void QObject_MoveToThread(void* ptr, void* targetThread) +{ + static_cast(ptr)->moveToThread(static_cast(targetThread)); +} + +struct QtCore_PackedString QObject_ObjectName(void* ptr) +{ + return ({ QByteArray te77be1 = static_cast(ptr)->objectName().toUtf8(); QtCore_PackedString { const_cast(te77be1.prepend("WHITESPACE").constData()+10), te77be1.size()-10 }; }); +} + +void QObject_ConnectObjectNameChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QObject::objectNameChanged, static_cast(ptr), static_cast(&MyQObject::Signal_ObjectNameChanged), static_cast(t)); +} + +void QObject_DisconnectObjectNameChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QObject::objectNameChanged, static_cast(ptr), static_cast(&MyQObject::Signal_ObjectNameChanged)); +} + +void* QObject_Parent(void* ptr) +{ + return static_cast(ptr)->parent(); +} + +void* QObject_Property(void* ptr, char* name) +{ + return new QVariant(static_cast(ptr)->property(const_cast(name))); +} + +int QObject_Receivers(void* ptr, char* sign) +{ + return static_cast(ptr)->receivers(const_cast(sign)); +} + +void QObject_RemoveEventFilter(void* ptr, void* obj) +{ + static_cast(ptr)->removeEventFilter(static_cast(obj)); +} + +void* QObject_Sender(void* ptr) +{ + return static_cast(ptr)->sender(); +} + +int QObject_SenderSignalIndex(void* ptr) +{ + return static_cast(ptr)->senderSignalIndex(); +} + +void QObject_SetObjectName(void* ptr, struct QtCore_PackedString name) +{ + static_cast(ptr)->setObjectName(QString::fromUtf8(name.data, name.len)); +} + +void QObject_SetParent(void* ptr, void* parent) +{ + static_cast(ptr)->setParent(static_cast(parent)); +} + +char QObject_SetProperty(void* ptr, char* name, void* value) +{ + return static_cast(ptr)->setProperty(const_cast(name), *static_cast(value)); +} + +char QObject_SignalsBlocked(void* ptr) +{ + return static_cast(ptr)->signalsBlocked(); +} + +int QObject_StartTimer(void* ptr, int interval, long long timerType) +{ + return static_cast(ptr)->startTimer(interval, static_cast(timerType)); +} + +void* QObject_Thread(void* ptr) +{ + return static_cast(ptr)->thread(); +} + +void QObject_TimerEvent(void* ptr, void* event) +{ + static_cast(ptr)->timerEvent(static_cast(event)); +} + +void QObject_TimerEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTranslator::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimer::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTimeLine::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThreadPool::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QThread::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSocketNotifier::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSharedMemory::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSettings::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPluginLoader::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QObjectCleanupHandler::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QMimeData::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QLibrary::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QItemSelectionModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFutureWatcherBase::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSystemWatcher::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileSelector::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QCoreApplication::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QProcess::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSaveFile::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTemporaryFile::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFile::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFileDevice::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QBuffer::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIODevice::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSignalTransition::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventTransition::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTransition::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStateMachine::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QState::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QHistoryState::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QFinalState::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractState::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QConcatenateTablesProxyModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTransposeProxyModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSortFilterProxyModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIdentityProxyModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractProxyModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStringListModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractListModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractTableModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractItemModel::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractEventDispatcher::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QEventLoop::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QVariantAnimation::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPauseAnimation::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSequentialAnimationGroup::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QParallelAnimationGroup::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAnimationGroup::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QAbstractAnimation::timerEvent(static_cast(event)); + } else { + static_cast(ptr)->QObject::timerEvent(static_cast(event)); + } +} + +struct QtCore_PackedString QObject_QObject_Tr(char* sourceText, char* disambiguation, int n) +{ + return ({ QByteArray te5b32b = QObject::tr(const_cast(sourceText), const_cast(disambiguation), n).toUtf8(); QtCore_PackedString { const_cast(te5b32b.prepend("WHITESPACE").constData()+10), te5b32b.size()-10 }; }); +} + +void QObject_DestroyQObject(void* ptr) +{ + static_cast(ptr)->~QObject(); +} + +void QObject_DestroyQObjectDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QObject_InvokeMethod(void* ptr, char* name, void* arg) +{ + QVariant returnArg; + if (arg) + QMetaObject::invokeMethod(static_cast(ptr), const_cast(name), Q_RETURN_ARG(QVariant, returnArg), Q_ARG(QVariant, *static_cast(arg))); + else + QMetaObject::invokeMethod(static_cast(ptr), const_cast(name), Q_RETURN_ARG(QVariant, returnArg)); + return new QVariant(returnArg); +} + +void* QObject_ToVariant(void* ptr) +{ + return new QVariant(QVariant::fromValue(static_cast(ptr))); +} + +void* QObject___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObject___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObject___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QObject___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QObject___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QObject___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QObject___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObject___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObject___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QObject___findChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObject___findChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObject___findChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QObject___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObject___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObject___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QObject___qFindChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObject___qFindChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObject___qFindChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QObject___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObject___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObject___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQObjectCleanupHandler: public QObjectCleanupHandler +{ +public: + MyQObjectCleanupHandler() : QObjectCleanupHandler() {QObjectCleanupHandler_QObjectCleanupHandler_QRegisterMetaType();}; + ~MyQObjectCleanupHandler() { callbackQObjectCleanupHandler_DestroyQObjectCleanupHandler(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQObjectCleanupHandler*) + +int QObjectCleanupHandler_QObjectCleanupHandler_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QObjectCleanupHandler_NewQObjectCleanupHandler() +{ + return new MyQObjectCleanupHandler(); +} + +void* QObjectCleanupHandler_Add(void* ptr, void* object) +{ + return static_cast(ptr)->add(static_cast(object)); +} + +void QObjectCleanupHandler_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +char QObjectCleanupHandler_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +void QObjectCleanupHandler_Remove(void* ptr, void* object) +{ + static_cast(ptr)->remove(static_cast(object)); +} + +void QObjectCleanupHandler_DestroyQObjectCleanupHandler(void* ptr) +{ + static_cast(ptr)->~QObjectCleanupHandler(); +} + +void QObjectCleanupHandler_DestroyQObjectCleanupHandlerDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QObjectCleanupHandler___cleanupObjects_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObjectCleanupHandler___cleanupObjects_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObjectCleanupHandler___cleanupObjects_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QObjectCleanupHandler___setCleanupObjects__atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObjectCleanupHandler___setCleanupObjects__setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObjectCleanupHandler___setCleanupObjects__newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QObjectData___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObjectData___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObjectData___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QObjectData___setChildren__atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QObjectData___setChildren__setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QObjectData___setChildren__newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOperatingSystemVersion_NewQOperatingSystemVersion2(long long osType, int vmajor, int vminor, int vmicro) +{ + return new QOperatingSystemVersion(static_cast(osType), vmajor, vminor, vmicro); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_Current() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::current()); +} + +long long QOperatingSystemVersion_QOperatingSystemVersion_CurrentType() +{ + return QOperatingSystemVersion::currentType(); +} + +int QOperatingSystemVersion_MajorVersion(void* ptr) +{ + return static_cast(ptr)->majorVersion(); +} + +int QOperatingSystemVersion_MicroVersion(void* ptr) +{ + return static_cast(ptr)->microVersion(); +} + +int QOperatingSystemVersion_MinorVersion(void* ptr) +{ + return static_cast(ptr)->minorVersion(); +} + +struct QtCore_PackedString QOperatingSystemVersion_Name(void* ptr) +{ + return ({ QByteArray t3696c4 = static_cast(ptr)->name().toUtf8(); QtCore_PackedString { const_cast(t3696c4.prepend("WHITESPACE").constData()+10), t3696c4.size()-10 }; }); +} + +int QOperatingSystemVersion_SegmentCount(void* ptr) +{ + return static_cast(ptr)->segmentCount(); +} + +long long QOperatingSystemVersion_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_Windows7() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::Windows7); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_Windows8() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::Windows8); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_Windows8_1() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::Windows8_1); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_Windows10() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::Windows10); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_OSXMavericks() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::OSXMavericks); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_OSXYosemite() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::OSXYosemite); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_OSXElCapitan() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::OSXElCapitan); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_MacOSSierra() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::MacOSSierra); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_MacOSHighSierra() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::MacOSHighSierra); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_MacOSMojave() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::MacOSMojave); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidJellyBean); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean_MR1() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidJellyBean_MR1); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean_MR2() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidJellyBean_MR2); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidKitKat() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidKitKat); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidLollipop() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidLollipop); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidLollipop_MR1() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidLollipop_MR1); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidMarshmallow() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidMarshmallow); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidNougat() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidNougat); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidNougat_MR1() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidNougat_MR1); +} + +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidOreo() +{ + return new QOperatingSystemVersion(QOperatingSystemVersion::AndroidOreo); +} + +void* QOperatingSystemVersion_NewQOperatingSystemVersion(void* other) +{ + return new QOperatingSystemVersion(*static_cast(other)); +} + +class MyQParallelAnimationGroup: public QParallelAnimationGroup +{ +public: + MyQParallelAnimationGroup(QObject *parent = Q_NULLPTR) : QParallelAnimationGroup(parent) {QParallelAnimationGroup_QParallelAnimationGroup_QRegisterMetaType();}; + int duration() const { return callbackQParallelAnimationGroup_Duration(const_cast(static_cast(this))); }; + bool event(QEvent * event) { return callbackQObject_Event(this, event) != 0; }; + void updateCurrentTime(int currentTime) { callbackQParallelAnimationGroup_UpdateCurrentTime(this, currentTime); }; + void updateDirection(QAbstractAnimation::Direction direction) { callbackQAbstractAnimation_UpdateDirection(this, direction); }; + void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_UpdateState(this, newState, oldState); }; + ~MyQParallelAnimationGroup() { callbackQParallelAnimationGroup_DestroyQParallelAnimationGroup(this); }; + void Signal_CurrentLoopChanged(int currentLoop) { callbackQAbstractAnimation_CurrentLoopChanged(this, currentLoop); }; + void Signal_DirectionChanged(QAbstractAnimation::Direction newDirection) { callbackQAbstractAnimation_DirectionChanged(this, newDirection); }; + void Signal_Finished() { callbackQAbstractAnimation_Finished(this); }; + void pause() { callbackQAbstractAnimation_Pause(this); }; + void resume() { callbackQAbstractAnimation_Resume(this); }; + void setCurrentTime(int msecs) { callbackQAbstractAnimation_SetCurrentTime(this, msecs); }; + void setPaused(bool paused) { callbackQAbstractAnimation_SetPaused(this, paused); }; + void start(QAbstractAnimation::DeletionPolicy policy) { callbackQAbstractAnimation_Start(this, policy); }; + void Signal_StateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_StateChanged(this, newState, oldState); }; + void stop() { callbackQAbstractAnimation_Stop(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQParallelAnimationGroup*) + +int QParallelAnimationGroup_QParallelAnimationGroup_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QParallelAnimationGroup_NewQParallelAnimationGroup(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQParallelAnimationGroup(static_cast(parent)); + } else { + return new MyQParallelAnimationGroup(static_cast(parent)); + } +} + +int QParallelAnimationGroup_Duration(void* ptr) +{ + return static_cast(ptr)->duration(); +} + +int QParallelAnimationGroup_DurationDefault(void* ptr) +{ + return static_cast(ptr)->QParallelAnimationGroup::duration(); +} + +void QParallelAnimationGroup_UpdateCurrentTime(void* ptr, int currentTime) +{ + static_cast(ptr)->updateCurrentTime(currentTime); +} + +void QParallelAnimationGroup_UpdateCurrentTimeDefault(void* ptr, int currentTime) +{ + static_cast(ptr)->QParallelAnimationGroup::updateCurrentTime(currentTime); +} + +void QParallelAnimationGroup_DestroyQParallelAnimationGroup(void* ptr) +{ + static_cast(ptr)->~QParallelAnimationGroup(); +} + +void QParallelAnimationGroup_DestroyQParallelAnimationGroupDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQPauseAnimation: public QPauseAnimation +{ +public: + MyQPauseAnimation(QObject *parent = Q_NULLPTR) : QPauseAnimation(parent) {QPauseAnimation_QPauseAnimation_QRegisterMetaType();}; + MyQPauseAnimation(int msecs, QObject *parent = Q_NULLPTR) : QPauseAnimation(msecs, parent) {QPauseAnimation_QPauseAnimation_QRegisterMetaType();}; + int duration() const { return callbackQPauseAnimation_Duration(const_cast(static_cast(this))); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + void updateCurrentTime(int vin) { callbackQPauseAnimation_UpdateCurrentTime(this, vin); }; + ~MyQPauseAnimation() { callbackQPauseAnimation_DestroyQPauseAnimation(this); }; + void Signal_CurrentLoopChanged(int currentLoop) { callbackQAbstractAnimation_CurrentLoopChanged(this, currentLoop); }; + void Signal_DirectionChanged(QAbstractAnimation::Direction newDirection) { callbackQAbstractAnimation_DirectionChanged(this, newDirection); }; + void Signal_Finished() { callbackQAbstractAnimation_Finished(this); }; + void pause() { callbackQAbstractAnimation_Pause(this); }; + void resume() { callbackQAbstractAnimation_Resume(this); }; + void setCurrentTime(int msecs) { callbackQAbstractAnimation_SetCurrentTime(this, msecs); }; + void setPaused(bool paused) { callbackQAbstractAnimation_SetPaused(this, paused); }; + void start(QAbstractAnimation::DeletionPolicy policy) { callbackQAbstractAnimation_Start(this, policy); }; + void Signal_StateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_StateChanged(this, newState, oldState); }; + void stop() { callbackQAbstractAnimation_Stop(this); }; + void updateDirection(QAbstractAnimation::Direction direction) { callbackQAbstractAnimation_UpdateDirection(this, direction); }; + void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_UpdateState(this, newState, oldState); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQPauseAnimation*) + +int QPauseAnimation_QPauseAnimation_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QPauseAnimation_NewQPauseAnimation(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(static_cast(parent)); + } else { + return new MyQPauseAnimation(static_cast(parent)); + } +} + +void* QPauseAnimation_NewQPauseAnimation2(int msecs, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } else { + return new MyQPauseAnimation(msecs, static_cast(parent)); + } +} + +int QPauseAnimation_Duration(void* ptr) +{ + return static_cast(ptr)->duration(); +} + +int QPauseAnimation_DurationDefault(void* ptr) +{ + return static_cast(ptr)->QPauseAnimation::duration(); +} + +void QPauseAnimation_SetDuration(void* ptr, int msecs) +{ + static_cast(ptr)->setDuration(msecs); +} + +void QPauseAnimation_UpdateCurrentTime(void* ptr, int vin) +{ + static_cast(ptr)->updateCurrentTime(vin); +} + +void QPauseAnimation_UpdateCurrentTimeDefault(void* ptr, int vin) +{ + static_cast(ptr)->QPauseAnimation::updateCurrentTime(vin); +} + +void QPauseAnimation_DestroyQPauseAnimation(void* ptr) +{ + static_cast(ptr)->~QPauseAnimation(); +} + +void QPauseAnimation_DestroyQPauseAnimationDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QPersistentModelIndex_NewQPersistentModelIndex2(void* index) +{ + return new QPersistentModelIndex(*static_cast(index)); +} + +void* QPersistentModelIndex_NewQPersistentModelIndex3(void* other) +{ + return new QPersistentModelIndex(*static_cast(other)); +} + +void* QPersistentModelIndex_NewQPersistentModelIndex4(void* other) +{ + return new QPersistentModelIndex(*static_cast(other)); +} + +int QPersistentModelIndex_Column(void* ptr) +{ + return static_cast(ptr)->column(); +} + +void* QPersistentModelIndex_Data(void* ptr, int role) +{ + return new QVariant(static_cast(ptr)->data(role)); +} + +long long QPersistentModelIndex_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +char QPersistentModelIndex_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QPersistentModelIndex_Model(void* ptr) +{ + return const_cast(static_cast(ptr)->model()); +} + +void* QPersistentModelIndex_Parent(void* ptr) +{ + return new QModelIndex(static_cast(ptr)->parent()); +} + +int QPersistentModelIndex_Row(void* ptr) +{ + return static_cast(ptr)->row(); +} + +void* QPersistentModelIndex_Sibling(void* ptr, int row, int column) +{ + return new QModelIndex(static_cast(ptr)->sibling(row, column)); +} + +void QPersistentModelIndex_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +class MyQPluginLoader: public QPluginLoader +{ +public: + MyQPluginLoader(QObject *parent = Q_NULLPTR) : QPluginLoader(parent) {QPluginLoader_QPluginLoader_QRegisterMetaType();}; + MyQPluginLoader(const QString &fileName, QObject *parent = Q_NULLPTR) : QPluginLoader(fileName, parent) {QPluginLoader_QPluginLoader_QRegisterMetaType();}; + ~MyQPluginLoader() { callbackQPluginLoader_DestroyQPluginLoader(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQPluginLoader*) + +int QPluginLoader_QPluginLoader_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QPluginLoader_NewQPluginLoader(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(static_cast(parent)); + } else { + return new MyQPluginLoader(static_cast(parent)); + } +} + +void* QPluginLoader_NewQPluginLoader2(struct QtCore_PackedString fileName, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else { + return new MyQPluginLoader(QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } +} + +struct QtCore_PackedString QPluginLoader_ErrorString(void* ptr) +{ + return ({ QByteArray tc09de6 = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(tc09de6.prepend("WHITESPACE").constData()+10), tc09de6.size()-10 }; }); +} + +struct QtCore_PackedString QPluginLoader_FileName(void* ptr) +{ + return ({ QByteArray t54ffa7 = static_cast(ptr)->fileName().toUtf8(); QtCore_PackedString { const_cast(t54ffa7.prepend("WHITESPACE").constData()+10), t54ffa7.size()-10 }; }); +} + +void* QPluginLoader_Instance(void* ptr) +{ + return static_cast(ptr)->instance(); +} + +char QPluginLoader_IsLoaded(void* ptr) +{ + return static_cast(ptr)->isLoaded(); +} + +char QPluginLoader_Load(void* ptr) +{ + return static_cast(ptr)->load(); +} + +long long QPluginLoader_LoadHints(void* ptr) +{ + return static_cast(ptr)->loadHints(); +} + +void* QPluginLoader_MetaData(void* ptr) +{ + return new QJsonObject(static_cast(ptr)->metaData()); +} + +void QPluginLoader_SetFileName(void* ptr, struct QtCore_PackedString fileName) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(fileName.data, fileName.len)); +} + +void QPluginLoader_SetLoadHints(void* ptr, long long loadHints) +{ + static_cast(ptr)->setLoadHints(static_cast(loadHints)); +} + +struct QtCore_PackedList QPluginLoader_QPluginLoader_StaticInstances() +{ + return ({ QList* tmpValue529eec = new QList(QPluginLoader::staticInstances()); QtCore_PackedList { tmpValue529eec, tmpValue529eec->size() }; }); +} + +char QPluginLoader_Unload(void* ptr) +{ + return static_cast(ptr)->unload(); +} + +void QPluginLoader_DestroyQPluginLoader(void* ptr) +{ + static_cast(ptr)->~QPluginLoader(); +} + +void QPluginLoader_DestroyQPluginLoaderDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QPluginLoader___staticInstances_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPluginLoader___staticInstances_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QPluginLoader___staticInstances_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QPluginLoader___staticPlugins_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPluginLoader___staticPlugins_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPoint_NewQPoint() +{ + return new QPoint(); +} + +void* QPoint_NewQPoint2(int xpos, int ypos) +{ + return new QPoint(xpos, ypos); +} + +int QPoint_QPoint_DotProduct(void* p1, void* p2) +{ + return QPoint::dotProduct(*static_cast(p1), *static_cast(p2)); +} + +char QPoint_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +int QPoint_ManhattanLength(void* ptr) +{ + return static_cast(ptr)->manhattanLength(); +} + +int QPoint_Rx(void* ptr) +{ + return static_cast(ptr)->rx(); +} + +int QPoint_Ry(void* ptr) +{ + return static_cast(ptr)->ry(); +} + +void QPoint_SetX(void* ptr, int x) +{ + static_cast(ptr)->setX(x); +} + +void QPoint_SetY(void* ptr, int y) +{ + static_cast(ptr)->setY(y); +} + +int QPoint_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +int QPoint_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +void* QPointF_NewQPointF() +{ + return new QPointF(); +} + +void* QPointF_NewQPointF2(void* point) +{ + return new QPointF(*static_cast(point)); +} + +void* QPointF_NewQPointF3(double xpos, double ypos) +{ + return new QPointF(xpos, ypos); +} + +double QPointF_QPointF_DotProduct(void* p1, void* p2) +{ + return QPointF::dotProduct(*static_cast(p1), *static_cast(p2)); +} + +char QPointF_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +double QPointF_ManhattanLength(void* ptr) +{ + return static_cast(ptr)->manhattanLength(); +} + +double QPointF_Rx(void* ptr) +{ + return static_cast(ptr)->rx(); +} + +double QPointF_Ry(void* ptr) +{ + return static_cast(ptr)->ry(); +} + +void QPointF_SetX(void* ptr, double x) +{ + static_cast(ptr)->setX(x); +} + +void QPointF_SetY(void* ptr, double y) +{ + static_cast(ptr)->setY(y); +} + +void* QPointF_ToPoint(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->toPoint(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +double QPointF_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +double QPointF_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +class MyQProcess: public QProcess +{ +public: + MyQProcess(QObject *parent = Q_NULLPTR) : QProcess(parent) {QProcess_QProcess_QRegisterMetaType();}; + bool atEnd() const { return callbackQIODevice_AtEnd(const_cast(static_cast(this))) != 0; }; + qint64 bytesAvailable() const { return callbackQIODevice_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQIODevice_BytesToWrite(const_cast(static_cast(this))); }; + bool canReadLine() const { return callbackQIODevice_CanReadLine(const_cast(static_cast(this))) != 0; }; + void close() { callbackQIODevice_Close(this); }; + void Signal_ErrorOccurred(QProcess::ProcessError error) { callbackQProcess_ErrorOccurred(this, error); }; + void Signal_Finished(int exitCode, QProcess::ExitStatus exitStatus) { callbackQProcess_Finished(this, exitCode, exitStatus); }; + bool isSequential() const { return callbackQIODevice_IsSequential(const_cast(static_cast(this))) != 0; }; + void kill() { callbackQProcess_Kill(this); }; + bool open(QIODevice::OpenMode mode) { return callbackQIODevice_Open(this, mode) != 0; }; + qint64 readData(char * data, qint64 maxlen) { QtCore_PackedString dataPacked = { data, maxlen };return callbackQProcess_ReadData(this, dataPacked, maxlen); }; + void Signal_ReadyReadStandardError() { callbackQProcess_ReadyReadStandardError(this); }; + void Signal_ReadyReadStandardOutput() { callbackQProcess_ReadyReadStandardOutput(this); }; + void setupChildProcess() { callbackQProcess_SetupChildProcess(this); }; + void Signal_Started() { callbackQProcess_Started(this); }; + void Signal_StateChanged(QProcess::ProcessState newState) { callbackQProcess_StateChanged(this, newState); }; + void terminate() { callbackQProcess_Terminate(this); }; + bool waitForBytesWritten(int msecs) { return callbackQIODevice_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQIODevice_WaitForReadyRead(this, msecs) != 0; }; + qint64 writeData(const char * data, qint64 l) { QtCore_PackedString dataPacked = { const_cast(data), l };return callbackQProcess_WriteData(this, dataPacked, l); }; + ~MyQProcess() { callbackQProcess_DestroyQProcess(this); }; + void Signal_AboutToClose() { callbackQIODevice_AboutToClose(this); }; + void Signal_BytesWritten(qint64 bytes) { callbackQIODevice_BytesWritten(this, bytes); }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQIODevice_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQIODevice_ChannelReadyRead(this, channel); }; + qint64 pos() const { return callbackQIODevice_Pos(const_cast(static_cast(this))); }; + void Signal_ReadChannelFinished() { callbackQIODevice_ReadChannelFinished(this); }; + qint64 readLineData(char * data, qint64 maxSize) { QtCore_PackedString dataPacked = { data, maxSize };return callbackQIODevice_ReadLineData(this, dataPacked, maxSize); }; + void Signal_ReadyRead() { callbackQIODevice_ReadyRead(this); }; + bool reset() { return callbackQIODevice_Reset(this) != 0; }; + bool seek(qint64 pos) { return callbackQIODevice_Seek(this, pos) != 0; }; + qint64 size() const { return callbackQIODevice_Size(const_cast(static_cast(this))); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQProcess*) + +int QProcess_QProcess_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QProcess_NewQProcess(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQProcess(static_cast(parent)); + } else { + return new MyQProcess(static_cast(parent)); + } +} + +struct QtCore_PackedString QProcess_Arguments(void* ptr) +{ + return ({ QByteArray tab219c = static_cast(ptr)->arguments().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tab219c.prepend("WHITESPACE").constData()+10), tab219c.size()-10 }; }); +} + +void QProcess_CloseReadChannel(void* ptr, long long channel) +{ + static_cast(ptr)->closeReadChannel(static_cast(channel)); +} + +void QProcess_CloseWriteChannel(void* ptr) +{ + static_cast(ptr)->closeWriteChannel(); +} + +long long QProcess_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +void QProcess_ConnectErrorOccurred(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QProcess::errorOccurred), static_cast(ptr), static_cast(&MyQProcess::Signal_ErrorOccurred), static_cast(t)); +} + +void QProcess_DisconnectErrorOccurred(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QProcess::errorOccurred), static_cast(ptr), static_cast(&MyQProcess::Signal_ErrorOccurred)); +} + +void QProcess_ErrorOccurred(void* ptr, long long error) +{ + static_cast(ptr)->errorOccurred(static_cast(error)); +} + +int QProcess_QProcess_Execute(struct QtCore_PackedString program, struct QtCore_PackedString arguments) +{ + return QProcess::execute(QString::fromUtf8(program.data, program.len), QString::fromUtf8(arguments.data, arguments.len).split("¡¦!", QString::SkipEmptyParts)); +} + +int QProcess_QProcess_Execute2(struct QtCore_PackedString command) +{ + return QProcess::execute(QString::fromUtf8(command.data, command.len)); +} + +int QProcess_ExitCode(void* ptr) +{ + return static_cast(ptr)->exitCode(); +} + +long long QProcess_ExitStatus(void* ptr) +{ + return static_cast(ptr)->exitStatus(); +} + +void QProcess_ConnectFinished(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QProcess::finished), static_cast(ptr), static_cast(&MyQProcess::Signal_Finished), static_cast(t)); +} + +void QProcess_DisconnectFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QProcess::finished), static_cast(ptr), static_cast(&MyQProcess::Signal_Finished)); +} + +void QProcess_Finished(void* ptr, int exitCode, long long exitStatus) +{ + static_cast(ptr)->finished(exitCode, static_cast(exitStatus)); +} + +long long QProcess_InputChannelMode(void* ptr) +{ + return static_cast(ptr)->inputChannelMode(); +} + +void QProcess_Kill(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "kill"); +} + +void QProcess_KillDefault(void* ptr) +{ + static_cast(ptr)->QProcess::kill(); +} + +struct QtCore_PackedString QProcess_NativeArguments(void* ptr) +{ +#ifdef Q_OS_WIN + return ({ QByteArray t56488a = static_cast(ptr)->nativeArguments().toUtf8(); QtCore_PackedString { const_cast(t56488a.prepend("WHITESPACE").constData()+10), t56488a.size()-10 }; }); +#else + return QtCore_PackedString {}; +#endif +} + +struct QtCore_PackedString QProcess_QProcess_NullDevice() +{ + return ({ QByteArray td290b2 = QProcess::nullDevice().toUtf8(); QtCore_PackedString { const_cast(td290b2.prepend("WHITESPACE").constData()+10), td290b2.size()-10 }; }); +} + +long long QProcess_ProcessChannelMode(void* ptr) +{ + return static_cast(ptr)->processChannelMode(); +} + +void* QProcess_ProcessEnvironment(void* ptr) +{ + return new QProcessEnvironment(static_cast(ptr)->processEnvironment()); +} + +long long QProcess_ProcessId(void* ptr) +{ + return static_cast(ptr)->processId(); +} + +struct QtCore_PackedString QProcess_Program(void* ptr) +{ + return ({ QByteArray t5d7bda = static_cast(ptr)->program().toUtf8(); QtCore_PackedString { const_cast(t5d7bda.prepend("WHITESPACE").constData()+10), t5d7bda.size()-10 }; }); +} + +void* QProcess_ReadAllStandardError(void* ptr) +{ + return new QByteArray(static_cast(ptr)->readAllStandardError()); +} + +void* QProcess_ReadAllStandardOutput(void* ptr) +{ + return new QByteArray(static_cast(ptr)->readAllStandardOutput()); +} + +long long QProcess_ReadChannel(void* ptr) +{ + return static_cast(ptr)->readChannel(); +} + +long long QProcess_ReadData(void* ptr, char* data, long long maxlen) +{ + return static_cast(ptr)->readData(data, maxlen); +} + +long long QProcess_ReadDataDefault(void* ptr, char* data, long long maxlen) +{ + return static_cast(ptr)->QProcess::readData(data, maxlen); +} + +void QProcess_ConnectReadyReadStandardError(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QProcess::readyReadStandardError, static_cast(ptr), static_cast(&MyQProcess::Signal_ReadyReadStandardError), static_cast(t)); +} + +void QProcess_DisconnectReadyReadStandardError(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QProcess::readyReadStandardError, static_cast(ptr), static_cast(&MyQProcess::Signal_ReadyReadStandardError)); +} + +void QProcess_ConnectReadyReadStandardOutput(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QProcess::readyReadStandardOutput, static_cast(ptr), static_cast(&MyQProcess::Signal_ReadyReadStandardOutput), static_cast(t)); +} + +void QProcess_DisconnectReadyReadStandardOutput(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QProcess::readyReadStandardOutput, static_cast(ptr), static_cast(&MyQProcess::Signal_ReadyReadStandardOutput)); +} + +void QProcess_SetArguments(void* ptr, struct QtCore_PackedString arguments) +{ + static_cast(ptr)->setArguments(QString::fromUtf8(arguments.data, arguments.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QProcess_SetInputChannelMode(void* ptr, long long mode) +{ + static_cast(ptr)->setInputChannelMode(static_cast(mode)); +} + +void QProcess_SetNativeArguments(void* ptr, struct QtCore_PackedString arguments) +{ +#ifdef Q_OS_WIN + static_cast(ptr)->setNativeArguments(QString::fromUtf8(arguments.data, arguments.len)); +#endif +} + +void QProcess_SetProcessChannelMode(void* ptr, long long mode) +{ + static_cast(ptr)->setProcessChannelMode(static_cast(mode)); +} + +void QProcess_SetProcessEnvironment(void* ptr, void* environment) +{ + static_cast(ptr)->setProcessEnvironment(*static_cast(environment)); +} + +void QProcess_SetProcessState(void* ptr, long long state) +{ + static_cast(ptr)->setProcessState(static_cast(state)); +} + +void QProcess_SetProgram(void* ptr, struct QtCore_PackedString program) +{ + static_cast(ptr)->setProgram(QString::fromUtf8(program.data, program.len)); +} + +void QProcess_SetReadChannel(void* ptr, long long channel) +{ + static_cast(ptr)->setReadChannel(static_cast(channel)); +} + +void QProcess_SetStandardErrorFile(void* ptr, struct QtCore_PackedString fileName, long long mode) +{ + static_cast(ptr)->setStandardErrorFile(QString::fromUtf8(fileName.data, fileName.len), static_cast(mode)); +} + +void QProcess_SetStandardInputFile(void* ptr, struct QtCore_PackedString fileName) +{ + static_cast(ptr)->setStandardInputFile(QString::fromUtf8(fileName.data, fileName.len)); +} + +void QProcess_SetStandardOutputFile(void* ptr, struct QtCore_PackedString fileName, long long mode) +{ + static_cast(ptr)->setStandardOutputFile(QString::fromUtf8(fileName.data, fileName.len), static_cast(mode)); +} + +void QProcess_SetStandardOutputProcess(void* ptr, void* destination) +{ + static_cast(ptr)->setStandardOutputProcess(static_cast(destination)); +} + +void QProcess_SetWorkingDirectory(void* ptr, struct QtCore_PackedString dir) +{ + static_cast(ptr)->setWorkingDirectory(QString::fromUtf8(dir.data, dir.len)); +} + +void QProcess_SetupChildProcess(void* ptr) +{ + static_cast(ptr)->setupChildProcess(); +} + +void QProcess_SetupChildProcessDefault(void* ptr) +{ + static_cast(ptr)->QProcess::setupChildProcess(); +} + +void QProcess_Start(void* ptr, struct QtCore_PackedString program, struct QtCore_PackedString arguments, long long mode) +{ + static_cast(ptr)->start(QString::fromUtf8(program.data, program.len), QString::fromUtf8(arguments.data, arguments.len).split("¡¦!", QString::SkipEmptyParts), static_cast(mode)); +} + +void QProcess_Start2(void* ptr, struct QtCore_PackedString command, long long mode) +{ + static_cast(ptr)->start(QString::fromUtf8(command.data, command.len), static_cast(mode)); +} + +void QProcess_Start3(void* ptr, long long mode) +{ + static_cast(ptr)->start(static_cast(mode)); +} + +char QProcess_StartDetached(void* ptr, long long pid) +{ + return static_cast(ptr)->startDetached(&pid); +} + +char QProcess_QProcess_StartDetached2(struct QtCore_PackedString program, struct QtCore_PackedString arguments, struct QtCore_PackedString workingDirectory, long long pid) +{ + return QProcess::startDetached(QString::fromUtf8(program.data, program.len), QString::fromUtf8(arguments.data, arguments.len).split("¡¦!", QString::SkipEmptyParts), QString::fromUtf8(workingDirectory.data, workingDirectory.len), &pid); +} + +char QProcess_QProcess_StartDetached3(struct QtCore_PackedString command) +{ + return QProcess::startDetached(QString::fromUtf8(command.data, command.len)); +} + +void QProcess_ConnectStarted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QProcess::started, static_cast(ptr), static_cast(&MyQProcess::Signal_Started), static_cast(t)); +} + +void QProcess_DisconnectStarted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QProcess::started, static_cast(ptr), static_cast(&MyQProcess::Signal_Started)); +} + +long long QProcess_State(void* ptr) +{ + return static_cast(ptr)->state(); +} + +void QProcess_ConnectStateChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), &QProcess::stateChanged, static_cast(ptr), static_cast(&MyQProcess::Signal_StateChanged), static_cast(t)); +} + +void QProcess_DisconnectStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QProcess::stateChanged, static_cast(ptr), static_cast(&MyQProcess::Signal_StateChanged)); +} + +struct QtCore_PackedString QProcess_QProcess_SystemEnvironment() +{ + return ({ QByteArray td5ad45 = QProcess::systemEnvironment().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(td5ad45.prepend("WHITESPACE").constData()+10), td5ad45.size()-10 }; }); +} + +void QProcess_Terminate(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "terminate"); +} + +void QProcess_TerminateDefault(void* ptr) +{ + static_cast(ptr)->QProcess::terminate(); +} + +char QProcess_WaitForFinished(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForFinished(msecs); +} + +char QProcess_WaitForStarted(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForStarted(msecs); +} + +struct QtCore_PackedString QProcess_WorkingDirectory(void* ptr) +{ + return ({ QByteArray t55a1e5 = static_cast(ptr)->workingDirectory().toUtf8(); QtCore_PackedString { const_cast(t55a1e5.prepend("WHITESPACE").constData()+10), t55a1e5.size()-10 }; }); +} + +long long QProcess_WriteData(void* ptr, char* data, long long l) +{ + return static_cast(ptr)->writeData(const_cast(data), l); +} + +long long QProcess_WriteDataDefault(void* ptr, char* data, long long l) +{ + return static_cast(ptr)->QProcess::writeData(const_cast(data), l); +} + +void QProcess_DestroyQProcess(void* ptr) +{ + static_cast(ptr)->~QProcess(); +} + +void QProcess_DestroyQProcessDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QProcessEnvironment_NewQProcessEnvironment() +{ + return new QProcessEnvironment(); +} + +void* QProcessEnvironment_NewQProcessEnvironment2(void* other) +{ + return new QProcessEnvironment(*static_cast(other)); +} + +void QProcessEnvironment_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +char QProcessEnvironment_Contains(void* ptr, struct QtCore_PackedString name) +{ + return static_cast(ptr)->contains(QString::fromUtf8(name.data, name.len)); +} + +void QProcessEnvironment_Insert(void* ptr, struct QtCore_PackedString name, struct QtCore_PackedString value) +{ + static_cast(ptr)->insert(QString::fromUtf8(name.data, name.len), QString::fromUtf8(value.data, value.len)); +} + +void QProcessEnvironment_Insert2(void* ptr, void* e) +{ + static_cast(ptr)->insert(*static_cast(e)); +} + +char QProcessEnvironment_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +struct QtCore_PackedString QProcessEnvironment_Keys(void* ptr) +{ + return ({ QByteArray tf1d987 = static_cast(ptr)->keys().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf1d987.prepend("WHITESPACE").constData()+10), tf1d987.size()-10 }; }); +} + +void QProcessEnvironment_Remove(void* ptr, struct QtCore_PackedString name) +{ + static_cast(ptr)->remove(QString::fromUtf8(name.data, name.len)); +} + +void QProcessEnvironment_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QProcessEnvironment_QProcessEnvironment_SystemEnvironment() +{ + return new QProcessEnvironment(QProcessEnvironment::systemEnvironment()); +} + +struct QtCore_PackedString QProcessEnvironment_ToStringList(void* ptr) +{ + return ({ QByteArray tf595c1 = static_cast(ptr)->toStringList().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf595c1.prepend("WHITESPACE").constData()+10), tf595c1.size()-10 }; }); +} + +struct QtCore_PackedString QProcessEnvironment_Value(void* ptr, struct QtCore_PackedString name, struct QtCore_PackedString defaultValue) +{ + return ({ QByteArray t6b2311 = static_cast(ptr)->value(QString::fromUtf8(name.data, name.len), QString::fromUtf8(defaultValue.data, defaultValue.len)).toUtf8(); QtCore_PackedString { const_cast(t6b2311.prepend("WHITESPACE").constData()+10), t6b2311.size()-10 }; }); +} + +void QProcessEnvironment_DestroyQProcessEnvironment(void* ptr) +{ + static_cast(ptr)->~QProcessEnvironment(); +} + +class MyQPropertyAnimation: public QPropertyAnimation +{ +public: + MyQPropertyAnimation(QObject *parent = Q_NULLPTR) : QPropertyAnimation(parent) {QPropertyAnimation_QPropertyAnimation_QRegisterMetaType();}; + MyQPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = Q_NULLPTR) : QPropertyAnimation(target, propertyName, parent) {QPropertyAnimation_QPropertyAnimation_QRegisterMetaType();}; + bool event(QEvent * event) { return callbackQObject_Event(this, event) != 0; }; + void updateCurrentValue(const QVariant & value) { callbackQVariantAnimation_UpdateCurrentValue(this, const_cast(&value)); }; + void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_UpdateState(this, newState, oldState); }; + ~MyQPropertyAnimation() { callbackQPropertyAnimation_DestroyQPropertyAnimation(this); }; + int duration() const { return callbackQVariantAnimation_Duration(const_cast(static_cast(this))); }; + QVariant interpolated(const QVariant & from, const QVariant & to, qreal progress) const { return *static_cast(callbackQVariantAnimation_Interpolated(const_cast(static_cast(this)), const_cast(&from), const_cast(&to), progress)); }; + void updateCurrentTime(int vin) { callbackQVariantAnimation_UpdateCurrentTime(this, vin); }; + void Signal_ValueChanged(const QVariant & value) { callbackQVariantAnimation_ValueChanged(this, const_cast(&value)); }; + void Signal_CurrentLoopChanged(int currentLoop) { callbackQAbstractAnimation_CurrentLoopChanged(this, currentLoop); }; + void Signal_DirectionChanged(QAbstractAnimation::Direction newDirection) { callbackQAbstractAnimation_DirectionChanged(this, newDirection); }; + void Signal_Finished() { callbackQAbstractAnimation_Finished(this); }; + void pause() { callbackQAbstractAnimation_Pause(this); }; + void resume() { callbackQAbstractAnimation_Resume(this); }; + void setCurrentTime(int msecs) { callbackQAbstractAnimation_SetCurrentTime(this, msecs); }; + void setPaused(bool paused) { callbackQAbstractAnimation_SetPaused(this, paused); }; + void start(QAbstractAnimation::DeletionPolicy policy) { callbackQAbstractAnimation_Start(this, policy); }; + void Signal_StateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_StateChanged(this, newState, oldState); }; + void stop() { callbackQAbstractAnimation_Stop(this); }; + void updateDirection(QAbstractAnimation::Direction direction) { callbackQAbstractAnimation_UpdateDirection(this, direction); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQPropertyAnimation*) + +int QPropertyAnimation_QPropertyAnimation_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QPropertyAnimation_NewQPropertyAnimation(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPropertyAnimation(static_cast(parent)); + } else { + return new MyQPropertyAnimation(static_cast(parent)); + } +} + +void* QPropertyAnimation_NewQPropertyAnimation2(void* target, void* propertyName, void* parent) +{ + if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else if (dynamic_cast(static_cast(target))) { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } else { + return new MyQPropertyAnimation(static_cast(target), *static_cast(propertyName), static_cast(parent)); + } +} + +void* QPropertyAnimation_PropertyName(void* ptr) +{ + return new QByteArray(static_cast(ptr)->propertyName()); +} + +void QPropertyAnimation_SetPropertyName(void* ptr, void* propertyName) +{ + static_cast(ptr)->setPropertyName(*static_cast(propertyName)); +} + +void QPropertyAnimation_SetTargetObject(void* ptr, void* target) +{ + static_cast(ptr)->setTargetObject(static_cast(target)); +} + +void* QPropertyAnimation_TargetObject(void* ptr) +{ + return static_cast(ptr)->targetObject(); +} + +void QPropertyAnimation_DestroyQPropertyAnimation(void* ptr) +{ + static_cast(ptr)->~QPropertyAnimation(); +} + +void QPropertyAnimation_DestroyQPropertyAnimationDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QRandomGenerator_NewQRandomGenerator(unsigned int seedValue) +{ + return new QRandomGenerator(seedValue); +} + +void* QRandomGenerator_NewQRandomGenerator5(unsigned int begin, unsigned int end) +{ + return new QRandomGenerator(const_cast(&begin), const_cast(&end)); +} + +void* QRandomGenerator_NewQRandomGenerator6(void* other) +{ + return new QRandomGenerator(*static_cast(other)); +} + +double QRandomGenerator_Bounded(void* ptr, double highest) +{ + return static_cast(ptr)->bounded(highest); +} + +unsigned int QRandomGenerator_Bounded2(void* ptr, unsigned int highest) +{ + return static_cast(ptr)->bounded(highest); +} + +int QRandomGenerator_Bounded3(void* ptr, int highest) +{ + return static_cast(ptr)->bounded(highest); +} + +unsigned int QRandomGenerator_Bounded4(void* ptr, unsigned int lowest, unsigned int highest) +{ + return static_cast(ptr)->bounded(lowest, highest); +} + +int QRandomGenerator_Bounded5(void* ptr, int lowest, int highest) +{ + return static_cast(ptr)->bounded(lowest, highest); +} + +void QRandomGenerator_Discard(void* ptr, unsigned long long z) +{ + static_cast(ptr)->discard(z); +} + +unsigned int QRandomGenerator_Generate(void* ptr) +{ + return static_cast(ptr)->generate(); +} + +unsigned long long QRandomGenerator_Generate64(void* ptr) +{ + return static_cast(ptr)->generate64(); +} + +double QRandomGenerator_GenerateDouble(void* ptr) +{ + return static_cast(ptr)->generateDouble(); +} + +void* QRandomGenerator_QRandomGenerator_Global() +{ + return QRandomGenerator::global(); +} + +void* QRandomGenerator_QRandomGenerator_SecurelySeeded() +{ + return new QRandomGenerator(QRandomGenerator::securelySeeded()); +} + +void QRandomGenerator_Seed(void* ptr, unsigned int seed) +{ + static_cast(ptr)->seed(seed); +} + +void* QRandomGenerator_QRandomGenerator_System() +{ + return QRandomGenerator::system(); +} + +unsigned long long QRandomGenerator64_Generate(void* ptr) +{ + return static_cast(ptr)->generate(); +} + +void* QReadLocker_NewQReadLocker(void* lock) +{ + return new QReadLocker(static_cast(lock)); +} + +void* QReadLocker_ReadWriteLock(void* ptr) +{ + return static_cast(ptr)->readWriteLock(); +} + +void QReadLocker_Relock(void* ptr) +{ + static_cast(ptr)->relock(); +} + +void QReadLocker_Unlock(void* ptr) +{ + static_cast(ptr)->unlock(); +} + +void QReadLocker_DestroyQReadLocker(void* ptr) +{ + static_cast(ptr)->~QReadLocker(); +} + +void* QReadWriteLock_NewQReadWriteLock(long long recursionMode) +{ + return new QReadWriteLock(static_cast(recursionMode)); +} + +void QReadWriteLock_LockForRead(void* ptr) +{ + static_cast(ptr)->lockForRead(); +} + +void QReadWriteLock_LockForWrite(void* ptr) +{ + static_cast(ptr)->lockForWrite(); +} + +char QReadWriteLock_TryLockForRead(void* ptr) +{ + return static_cast(ptr)->tryLockForRead(); +} + +char QReadWriteLock_TryLockForRead2(void* ptr, int timeout) +{ + return static_cast(ptr)->tryLockForRead(timeout); +} + +char QReadWriteLock_TryLockForWrite(void* ptr) +{ + return static_cast(ptr)->tryLockForWrite(); +} + +char QReadWriteLock_TryLockForWrite2(void* ptr, int timeout) +{ + return static_cast(ptr)->tryLockForWrite(timeout); +} + +void QReadWriteLock_Unlock(void* ptr) +{ + static_cast(ptr)->unlock(); +} + +void QReadWriteLock_DestroyQReadWriteLock(void* ptr) +{ + static_cast(ptr)->~QReadWriteLock(); +} + +void* QRect_NewQRect() +{ + return new QRect(); +} + +void* QRect_NewQRect2(void* topLeft, void* bottomRight) +{ + return new QRect(*static_cast(topLeft), *static_cast(bottomRight)); +} + +void* QRect_NewQRect3(void* topLeft, void* size) +{ + return new QRect(*static_cast(topLeft), *static_cast(size)); +} + +void* QRect_NewQRect4(int x, int y, int width, int height) +{ + return new QRect(x, y, width, height); +} + +void QRect_Adjust(void* ptr, int dx1, int dy1, int dx2, int dy2) +{ + static_cast(ptr)->adjust(dx1, dy1, dx2, dy2); +} + +void* QRect_Adjusted(void* ptr, int dx1, int dy1, int dx2, int dy2) +{ + return ({ QRect tmpValue = static_cast(ptr)->adjusted(dx1, dy1, dx2, dy2); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +int QRect_Bottom(void* ptr) +{ + return static_cast(ptr)->bottom(); +} + +void* QRect_BottomLeft(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->bottomLeft(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QRect_BottomRight(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->bottomRight(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QRect_Center(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->center(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +char QRect_Contains(void* ptr, void* point, char proper) +{ + return static_cast(ptr)->contains(*static_cast(point), proper != 0); +} + +char QRect_Contains2(void* ptr, void* rectangle, char proper) +{ + return static_cast(ptr)->contains(*static_cast(rectangle), proper != 0); +} + +char QRect_Contains3(void* ptr, int x, int y) +{ + return static_cast(ptr)->contains(x, y); +} + +char QRect_Contains4(void* ptr, int x, int y, char proper) +{ + return static_cast(ptr)->contains(x, y, proper != 0); +} + +void QRect_GetCoords(void* ptr, int x1, int y1, int x2, int y2) +{ + static_cast(ptr)->getCoords(&x1, &y1, &x2, &y2); +} + +void QRect_GetRect(void* ptr, int x, int y, int width, int height) +{ + static_cast(ptr)->getRect(&x, &y, &width, &height); +} + +int QRect_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +void* QRect_Intersected(void* ptr, void* rectangle) +{ + return ({ QRect tmpValue = static_cast(ptr)->intersected(*static_cast(rectangle)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QRect_Intersects(void* ptr, void* rectangle) +{ + return static_cast(ptr)->intersects(*static_cast(rectangle)); +} + +char QRect_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QRect_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QRect_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QRect_Left(void* ptr) +{ + return static_cast(ptr)->left(); +} + +void* QRect_MarginsAdded(void* ptr, void* margins) +{ + return ({ QRect tmpValue = static_cast(ptr)->marginsAdded(*static_cast(margins)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QRect_MarginsRemoved(void* ptr, void* margins) +{ + return ({ QRect tmpValue = static_cast(ptr)->marginsRemoved(*static_cast(margins)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QRect_MoveBottom(void* ptr, int y) +{ + static_cast(ptr)->moveBottom(y); +} + +void QRect_MoveBottomLeft(void* ptr, void* position) +{ + static_cast(ptr)->moveBottomLeft(*static_cast(position)); +} + +void QRect_MoveBottomRight(void* ptr, void* position) +{ + static_cast(ptr)->moveBottomRight(*static_cast(position)); +} + +void QRect_MoveCenter(void* ptr, void* position) +{ + static_cast(ptr)->moveCenter(*static_cast(position)); +} + +void QRect_MoveLeft(void* ptr, int x) +{ + static_cast(ptr)->moveLeft(x); +} + +void QRect_MoveRight(void* ptr, int x) +{ + static_cast(ptr)->moveRight(x); +} + +void QRect_MoveTo(void* ptr, int x, int y) +{ + static_cast(ptr)->moveTo(x, y); +} + +void QRect_MoveTo2(void* ptr, void* position) +{ + static_cast(ptr)->moveTo(*static_cast(position)); +} + +void QRect_MoveTop(void* ptr, int y) +{ + static_cast(ptr)->moveTop(y); +} + +void QRect_MoveTopLeft(void* ptr, void* position) +{ + static_cast(ptr)->moveTopLeft(*static_cast(position)); +} + +void QRect_MoveTopRight(void* ptr, void* position) +{ + static_cast(ptr)->moveTopRight(*static_cast(position)); +} + +void* QRect_Normalized(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->normalized(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +int QRect_Right(void* ptr) +{ + return static_cast(ptr)->right(); +} + +void QRect_SetBottom(void* ptr, int y) +{ + static_cast(ptr)->setBottom(y); +} + +void QRect_SetBottomLeft(void* ptr, void* position) +{ + static_cast(ptr)->setBottomLeft(*static_cast(position)); +} + +void QRect_SetBottomRight(void* ptr, void* position) +{ + static_cast(ptr)->setBottomRight(*static_cast(position)); +} + +void QRect_SetCoords(void* ptr, int x1, int y1, int x2, int y2) +{ + static_cast(ptr)->setCoords(x1, y1, x2, y2); +} + +void QRect_SetHeight(void* ptr, int height) +{ + static_cast(ptr)->setHeight(height); +} + +void QRect_SetLeft(void* ptr, int x) +{ + static_cast(ptr)->setLeft(x); +} + +void QRect_SetRect(void* ptr, int x, int y, int width, int height) +{ + static_cast(ptr)->setRect(x, y, width, height); +} + +void QRect_SetRight(void* ptr, int x) +{ + static_cast(ptr)->setRight(x); +} + +void QRect_SetSize(void* ptr, void* size) +{ + static_cast(ptr)->setSize(*static_cast(size)); +} + +void QRect_SetTop(void* ptr, int y) +{ + static_cast(ptr)->setTop(y); +} + +void QRect_SetTopLeft(void* ptr, void* position) +{ + static_cast(ptr)->setTopLeft(*static_cast(position)); +} + +void QRect_SetTopRight(void* ptr, void* position) +{ + static_cast(ptr)->setTopRight(*static_cast(position)); +} + +void QRect_SetWidth(void* ptr, int width) +{ + static_cast(ptr)->setWidth(width); +} + +void QRect_SetX(void* ptr, int x) +{ + static_cast(ptr)->setX(x); +} + +void QRect_SetY(void* ptr, int y) +{ + static_cast(ptr)->setY(y); +} + +void* QRect_Size(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +int QRect_Top(void* ptr) +{ + return static_cast(ptr)->top(); +} + +void* QRect_TopLeft(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->topLeft(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QRect_TopRight(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->topRight(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void QRect_Translate(void* ptr, int dx, int dy) +{ + static_cast(ptr)->translate(dx, dy); +} + +void QRect_Translate2(void* ptr, void* offset) +{ + static_cast(ptr)->translate(*static_cast(offset)); +} + +void* QRect_Translated(void* ptr, int dx, int dy) +{ + return ({ QRect tmpValue = static_cast(ptr)->translated(dx, dy); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QRect_Translated2(void* ptr, void* offset) +{ + return ({ QRect tmpValue = static_cast(ptr)->translated(*static_cast(offset)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QRect_Transposed(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->transposed(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QRect_United(void* ptr, void* rectangle) +{ + return ({ QRect tmpValue = static_cast(ptr)->united(*static_cast(rectangle)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +int QRect_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +int QRect_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +int QRect_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +void* QRectF_NewQRectF() +{ + return new QRectF(); +} + +void* QRectF_NewQRectF2(void* topLeft, void* size) +{ + return new QRectF(*static_cast(topLeft), *static_cast(size)); +} + +void* QRectF_NewQRectF3(void* topLeft, void* bottomRight) +{ + return new QRectF(*static_cast(topLeft), *static_cast(bottomRight)); +} + +void* QRectF_NewQRectF4(double x, double y, double width, double height) +{ + return new QRectF(x, y, width, height); +} + +void* QRectF_NewQRectF5(void* rectangle) +{ + return new QRectF(*static_cast(rectangle)); +} + +void QRectF_Adjust(void* ptr, double dx1, double dy1, double dx2, double dy2) +{ + static_cast(ptr)->adjust(dx1, dy1, dx2, dy2); +} + +void* QRectF_Adjusted(void* ptr, double dx1, double dy1, double dx2, double dy2) +{ + return ({ QRectF tmpValue = static_cast(ptr)->adjusted(dx1, dy1, dx2, dy2); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +double QRectF_Bottom(void* ptr) +{ + return static_cast(ptr)->bottom(); +} + +void* QRectF_BottomLeft(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->bottomLeft(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QRectF_BottomRight(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->bottomRight(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QRectF_Center(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->center(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +char QRectF_Contains(void* ptr, void* point) +{ + return static_cast(ptr)->contains(*static_cast(point)); +} + +char QRectF_Contains2(void* ptr, void* rectangle) +{ + return static_cast(ptr)->contains(*static_cast(rectangle)); +} + +char QRectF_Contains3(void* ptr, double x, double y) +{ + return static_cast(ptr)->contains(x, y); +} + +void QRectF_GetCoords(void* ptr, double x1, double y1, double x2, double y2) +{ + static_cast(ptr)->getCoords(&x1, &y1, &x2, &y2); +} + +void QRectF_GetRect(void* ptr, double x, double y, double width, double height) +{ + static_cast(ptr)->getRect(&x, &y, &width, &height); +} + +double QRectF_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +void* QRectF_Intersected(void* ptr, void* rectangle) +{ + return ({ QRectF tmpValue = static_cast(ptr)->intersected(*static_cast(rectangle)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QRectF_Intersects(void* ptr, void* rectangle) +{ + return static_cast(ptr)->intersects(*static_cast(rectangle)); +} + +char QRectF_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QRectF_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QRectF_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +double QRectF_Left(void* ptr) +{ + return static_cast(ptr)->left(); +} + +void* QRectF_MarginsAdded(void* ptr, void* margins) +{ + return ({ QRectF tmpValue = static_cast(ptr)->marginsAdded(*static_cast(margins)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QRectF_MarginsRemoved(void* ptr, void* margins) +{ + return ({ QRectF tmpValue = static_cast(ptr)->marginsRemoved(*static_cast(margins)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QRectF_MoveBottom(void* ptr, double y) +{ + static_cast(ptr)->moveBottom(y); +} + +void QRectF_MoveBottomLeft(void* ptr, void* position) +{ + static_cast(ptr)->moveBottomLeft(*static_cast(position)); +} + +void QRectF_MoveBottomRight(void* ptr, void* position) +{ + static_cast(ptr)->moveBottomRight(*static_cast(position)); +} + +void QRectF_MoveCenter(void* ptr, void* position) +{ + static_cast(ptr)->moveCenter(*static_cast(position)); +} + +void QRectF_MoveLeft(void* ptr, double x) +{ + static_cast(ptr)->moveLeft(x); +} + +void QRectF_MoveRight(void* ptr, double x) +{ + static_cast(ptr)->moveRight(x); +} + +void QRectF_MoveTo(void* ptr, double x, double y) +{ + static_cast(ptr)->moveTo(x, y); +} + +void QRectF_MoveTo2(void* ptr, void* position) +{ + static_cast(ptr)->moveTo(*static_cast(position)); +} + +void QRectF_MoveTop(void* ptr, double y) +{ + static_cast(ptr)->moveTop(y); +} + +void QRectF_MoveTopLeft(void* ptr, void* position) +{ + static_cast(ptr)->moveTopLeft(*static_cast(position)); +} + +void QRectF_MoveTopRight(void* ptr, void* position) +{ + static_cast(ptr)->moveTopRight(*static_cast(position)); +} + +void* QRectF_Normalized(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->normalized(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +double QRectF_Right(void* ptr) +{ + return static_cast(ptr)->right(); +} + +void QRectF_SetBottom(void* ptr, double y) +{ + static_cast(ptr)->setBottom(y); +} + +void QRectF_SetBottomLeft(void* ptr, void* position) +{ + static_cast(ptr)->setBottomLeft(*static_cast(position)); +} + +void QRectF_SetBottomRight(void* ptr, void* position) +{ + static_cast(ptr)->setBottomRight(*static_cast(position)); +} + +void QRectF_SetCoords(void* ptr, double x1, double y1, double x2, double y2) +{ + static_cast(ptr)->setCoords(x1, y1, x2, y2); +} + +void QRectF_SetHeight(void* ptr, double height) +{ + static_cast(ptr)->setHeight(height); +} + +void QRectF_SetLeft(void* ptr, double x) +{ + static_cast(ptr)->setLeft(x); +} + +void QRectF_SetRect(void* ptr, double x, double y, double width, double height) +{ + static_cast(ptr)->setRect(x, y, width, height); +} + +void QRectF_SetRight(void* ptr, double x) +{ + static_cast(ptr)->setRight(x); +} + +void QRectF_SetSize(void* ptr, void* size) +{ + static_cast(ptr)->setSize(*static_cast(size)); +} + +void QRectF_SetTop(void* ptr, double y) +{ + static_cast(ptr)->setTop(y); +} + +void QRectF_SetTopLeft(void* ptr, void* position) +{ + static_cast(ptr)->setTopLeft(*static_cast(position)); +} + +void QRectF_SetTopRight(void* ptr, void* position) +{ + static_cast(ptr)->setTopRight(*static_cast(position)); +} + +void QRectF_SetWidth(void* ptr, double width) +{ + static_cast(ptr)->setWidth(width); +} + +void QRectF_SetX(void* ptr, double x) +{ + static_cast(ptr)->setX(x); +} + +void QRectF_SetY(void* ptr, double y) +{ + static_cast(ptr)->setY(y); +} + +void* QRectF_Size(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->size(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void* QRectF_ToAlignedRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->toAlignedRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QRectF_ToRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->toRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +double QRectF_Top(void* ptr) +{ + return static_cast(ptr)->top(); +} + +void* QRectF_TopLeft(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->topLeft(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QRectF_TopRight(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->topRight(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QRectF_Translate(void* ptr, double dx, double dy) +{ + static_cast(ptr)->translate(dx, dy); +} + +void QRectF_Translate2(void* ptr, void* offset) +{ + static_cast(ptr)->translate(*static_cast(offset)); +} + +void* QRectF_Translated(void* ptr, double dx, double dy) +{ + return ({ QRectF tmpValue = static_cast(ptr)->translated(dx, dy); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QRectF_Translated2(void* ptr, void* offset) +{ + return ({ QRectF tmpValue = static_cast(ptr)->translated(*static_cast(offset)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QRectF_Transposed(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->transposed(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QRectF_United(void* ptr, void* rectangle) +{ + return ({ QRectF tmpValue = static_cast(ptr)->united(*static_cast(rectangle)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +double QRectF_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +double QRectF_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +double QRectF_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +void* QRegExp_NewQRegExp() +{ + return new QRegExp(); +} + +void* QRegExp_NewQRegExp2(struct QtCore_PackedString pattern, long long cs, long long syntax) +{ + return new QRegExp(QString::fromUtf8(pattern.data, pattern.len), static_cast(cs), static_cast(syntax)); +} + +void* QRegExp_NewQRegExp3(void* rx) +{ + return new QRegExp(*static_cast(rx)); +} + +struct QtCore_PackedString QRegExp_Cap(void* ptr, int nth) +{ + return ({ QByteArray t6327b9 = static_cast(ptr)->cap(nth).toUtf8(); QtCore_PackedString { const_cast(t6327b9.prepend("WHITESPACE").constData()+10), t6327b9.size()-10 }; }); +} + +int QRegExp_CaptureCount(void* ptr) +{ + return static_cast(ptr)->captureCount(); +} + +struct QtCore_PackedString QRegExp_CapturedTexts(void* ptr) +{ + return ({ QByteArray t69e4cf = static_cast(ptr)->capturedTexts().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t69e4cf.prepend("WHITESPACE").constData()+10), t69e4cf.size()-10 }; }); +} + +long long QRegExp_CaseSensitivity(void* ptr) +{ + return static_cast(ptr)->caseSensitivity(); +} + +struct QtCore_PackedString QRegExp_ErrorString(void* ptr) +{ + return ({ QByteArray t53d00c = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(t53d00c.prepend("WHITESPACE").constData()+10), t53d00c.size()-10 }; }); +} + +struct QtCore_PackedString QRegExp_QRegExp_Escape(struct QtCore_PackedString str) +{ + return ({ QByteArray tf416e0 = QRegExp::escape(QString::fromUtf8(str.data, str.len)).toUtf8(); QtCore_PackedString { const_cast(tf416e0.prepend("WHITESPACE").constData()+10), tf416e0.size()-10 }; }); +} + +char QRegExp_ExactMatch(void* ptr, struct QtCore_PackedString str) +{ + return static_cast(ptr)->exactMatch(QString::fromUtf8(str.data, str.len)); +} + +int QRegExp_IndexIn(void* ptr, struct QtCore_PackedString str, int offset, long long caretMode) +{ + return static_cast(ptr)->indexIn(QString::fromUtf8(str.data, str.len), offset, static_cast(caretMode)); +} + +char QRegExp_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QRegExp_IsMinimal(void* ptr) +{ + return static_cast(ptr)->isMinimal(); +} + +char QRegExp_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QRegExp_LastIndexIn(void* ptr, struct QtCore_PackedString str, int offset, long long caretMode) +{ + return static_cast(ptr)->lastIndexIn(QString::fromUtf8(str.data, str.len), offset, static_cast(caretMode)); +} + +int QRegExp_MatchedLength(void* ptr) +{ + return static_cast(ptr)->matchedLength(); +} + +struct QtCore_PackedString QRegExp_Pattern(void* ptr) +{ + return ({ QByteArray t70b801 = static_cast(ptr)->pattern().toUtf8(); QtCore_PackedString { const_cast(t70b801.prepend("WHITESPACE").constData()+10), t70b801.size()-10 }; }); +} + +long long QRegExp_PatternSyntax(void* ptr) +{ + return static_cast(ptr)->patternSyntax(); +} + +int QRegExp_Pos(void* ptr, int nth) +{ + return static_cast(ptr)->pos(nth); +} + +void QRegExp_SetCaseSensitivity(void* ptr, long long cs) +{ + static_cast(ptr)->setCaseSensitivity(static_cast(cs)); +} + +void QRegExp_SetMinimal(void* ptr, char minimal) +{ + static_cast(ptr)->setMinimal(minimal != 0); +} + +void QRegExp_SetPattern(void* ptr, struct QtCore_PackedString pattern) +{ + static_cast(ptr)->setPattern(QString::fromUtf8(pattern.data, pattern.len)); +} + +void QRegExp_SetPatternSyntax(void* ptr, long long syntax) +{ + static_cast(ptr)->setPatternSyntax(static_cast(syntax)); +} + +void QRegExp_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QRegExp_DestroyQRegExp(void* ptr) +{ + static_cast(ptr)->~QRegExp(); +} + +void* QRegularExpression_NewQRegularExpression() +{ + return new QRegularExpression(); +} + +void* QRegularExpression_NewQRegularExpression2(struct QtCore_PackedString pattern, long long options) +{ + return new QRegularExpression(QString::fromUtf8(pattern.data, pattern.len), static_cast(options)); +} + +void* QRegularExpression_NewQRegularExpression3(void* re) +{ + return new QRegularExpression(*static_cast(re)); +} + +struct QtCore_PackedString QRegularExpression_QRegularExpression_AnchoredPattern(struct QtCore_PackedString expression) +{ + return ({ QByteArray t32c726 = QRegularExpression::anchoredPattern(QString::fromUtf8(expression.data, expression.len)).toUtf8(); QtCore_PackedString { const_cast(t32c726.prepend("WHITESPACE").constData()+10), t32c726.size()-10 }; }); +} + +int QRegularExpression_CaptureCount(void* ptr) +{ + return static_cast(ptr)->captureCount(); +} + +struct QtCore_PackedString QRegularExpression_ErrorString(void* ptr) +{ + return ({ QByteArray t85aa6b = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(t85aa6b.prepend("WHITESPACE").constData()+10), t85aa6b.size()-10 }; }); +} + +struct QtCore_PackedString QRegularExpression_QRegularExpression_Escape(struct QtCore_PackedString str) +{ + return ({ QByteArray tf551fc = QRegularExpression::escape(QString::fromUtf8(str.data, str.len)).toUtf8(); QtCore_PackedString { const_cast(tf551fc.prepend("WHITESPACE").constData()+10), tf551fc.size()-10 }; }); +} + +void* QRegularExpression_GlobalMatch(void* ptr, struct QtCore_PackedString subject, int offset, long long matchType, long long matchOptions) +{ + return new QRegularExpressionMatchIterator(static_cast(ptr)->globalMatch(QString::fromUtf8(subject.data, subject.len), offset, static_cast(matchType), static_cast(matchOptions))); +} + +void* QRegularExpression_GlobalMatch2(void* ptr, void* subjectRef, int offset, long long matchType, long long matchOptions) +{ + return new QRegularExpressionMatchIterator(static_cast(ptr)->globalMatch(*static_cast(subjectRef), offset, static_cast(matchType), static_cast(matchOptions))); +} + +char QRegularExpression_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QRegularExpression_Match(void* ptr, struct QtCore_PackedString subject, int offset, long long matchType, long long matchOptions) +{ + return new QRegularExpressionMatch(static_cast(ptr)->match(QString::fromUtf8(subject.data, subject.len), offset, static_cast(matchType), static_cast(matchOptions))); +} + +void* QRegularExpression_Match2(void* ptr, void* subjectRef, int offset, long long matchType, long long matchOptions) +{ + return new QRegularExpressionMatch(static_cast(ptr)->match(*static_cast(subjectRef), offset, static_cast(matchType), static_cast(matchOptions))); +} + +struct QtCore_PackedString QRegularExpression_NamedCaptureGroups(void* ptr) +{ + return ({ QByteArray t5a80a4 = static_cast(ptr)->namedCaptureGroups().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t5a80a4.prepend("WHITESPACE").constData()+10), t5a80a4.size()-10 }; }); +} + +void QRegularExpression_Optimize(void* ptr) +{ + static_cast(ptr)->optimize(); +} + +struct QtCore_PackedString QRegularExpression_Pattern(void* ptr) +{ + return ({ QByteArray t585ea0 = static_cast(ptr)->pattern().toUtf8(); QtCore_PackedString { const_cast(t585ea0.prepend("WHITESPACE").constData()+10), t585ea0.size()-10 }; }); +} + +int QRegularExpression_PatternErrorOffset(void* ptr) +{ + return static_cast(ptr)->patternErrorOffset(); +} + +long long QRegularExpression_PatternOptions(void* ptr) +{ + return static_cast(ptr)->patternOptions(); +} + +void QRegularExpression_SetPattern(void* ptr, struct QtCore_PackedString pattern) +{ + static_cast(ptr)->setPattern(QString::fromUtf8(pattern.data, pattern.len)); +} + +void QRegularExpression_SetPatternOptions(void* ptr, long long options) +{ + static_cast(ptr)->setPatternOptions(static_cast(options)); +} + +void QRegularExpression_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtCore_PackedString QRegularExpression_QRegularExpression_WildcardToRegularExpression(struct QtCore_PackedString pattern) +{ + return ({ QByteArray ta3cf94 = QRegularExpression::wildcardToRegularExpression(QString::fromUtf8(pattern.data, pattern.len)).toUtf8(); QtCore_PackedString { const_cast(ta3cf94.prepend("WHITESPACE").constData()+10), ta3cf94.size()-10 }; }); +} + +void QRegularExpression_DestroyQRegularExpression(void* ptr) +{ + static_cast(ptr)->~QRegularExpression(); +} + +void* QRegularExpressionMatch_NewQRegularExpressionMatch() +{ + return new QRegularExpressionMatch(); +} + +void* QRegularExpressionMatch_NewQRegularExpressionMatch2(void* match) +{ + return new QRegularExpressionMatch(*static_cast(match)); +} + +struct QtCore_PackedString QRegularExpressionMatch_Captured(void* ptr, int nth) +{ + return ({ QByteArray t5bb134 = static_cast(ptr)->captured(nth).toUtf8(); QtCore_PackedString { const_cast(t5bb134.prepend("WHITESPACE").constData()+10), t5bb134.size()-10 }; }); +} + +struct QtCore_PackedString QRegularExpressionMatch_Captured2(void* ptr, struct QtCore_PackedString name) +{ + return ({ QByteArray te09a4d = static_cast(ptr)->captured(QString::fromUtf8(name.data, name.len)).toUtf8(); QtCore_PackedString { const_cast(te09a4d.prepend("WHITESPACE").constData()+10), te09a4d.size()-10 }; }); +} + +struct QtCore_PackedString QRegularExpressionMatch_Captured3(void* ptr, void* name) +{ + return ({ QByteArray t0ab4af = static_cast(ptr)->captured(*static_cast(name)).toUtf8(); QtCore_PackedString { const_cast(t0ab4af.prepend("WHITESPACE").constData()+10), t0ab4af.size()-10 }; }); +} + +int QRegularExpressionMatch_CapturedEnd(void* ptr, int nth) +{ + return static_cast(ptr)->capturedEnd(nth); +} + +int QRegularExpressionMatch_CapturedEnd2(void* ptr, struct QtCore_PackedString name) +{ + return static_cast(ptr)->capturedEnd(QString::fromUtf8(name.data, name.len)); +} + +int QRegularExpressionMatch_CapturedEnd3(void* ptr, void* name) +{ + return static_cast(ptr)->capturedEnd(*static_cast(name)); +} + +int QRegularExpressionMatch_CapturedLength(void* ptr, int nth) +{ + return static_cast(ptr)->capturedLength(nth); +} + +int QRegularExpressionMatch_CapturedLength2(void* ptr, struct QtCore_PackedString name) +{ + return static_cast(ptr)->capturedLength(QString::fromUtf8(name.data, name.len)); +} + +int QRegularExpressionMatch_CapturedLength3(void* ptr, void* name) +{ + return static_cast(ptr)->capturedLength(*static_cast(name)); +} + +void* QRegularExpressionMatch_CapturedRef(void* ptr, int nth) +{ + return new QStringRef(static_cast(ptr)->capturedRef(nth)); +} + +void* QRegularExpressionMatch_CapturedRef2(void* ptr, struct QtCore_PackedString name) +{ + return new QStringRef(static_cast(ptr)->capturedRef(QString::fromUtf8(name.data, name.len))); +} + +void* QRegularExpressionMatch_CapturedRef3(void* ptr, void* name) +{ + return new QStringRef(static_cast(ptr)->capturedRef(*static_cast(name))); +} + +int QRegularExpressionMatch_CapturedStart(void* ptr, int nth) +{ + return static_cast(ptr)->capturedStart(nth); +} + +int QRegularExpressionMatch_CapturedStart2(void* ptr, struct QtCore_PackedString name) +{ + return static_cast(ptr)->capturedStart(QString::fromUtf8(name.data, name.len)); +} + +int QRegularExpressionMatch_CapturedStart3(void* ptr, void* name) +{ + return static_cast(ptr)->capturedStart(*static_cast(name)); +} + +struct QtCore_PackedString QRegularExpressionMatch_CapturedTexts(void* ptr) +{ + return ({ QByteArray t75c0a9 = static_cast(ptr)->capturedTexts().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t75c0a9.prepend("WHITESPACE").constData()+10), t75c0a9.size()-10 }; }); +} + +void* QRegularExpressionMatch_CapturedView(void* ptr, int nth) +{ + return new QStringView(static_cast(ptr)->capturedView(nth)); +} + +void* QRegularExpressionMatch_CapturedView2(void* ptr, void* name) +{ + return new QStringView(static_cast(ptr)->capturedView(*static_cast(name))); +} + +char QRegularExpressionMatch_HasMatch(void* ptr) +{ + return static_cast(ptr)->hasMatch(); +} + +char QRegularExpressionMatch_HasPartialMatch(void* ptr) +{ + return static_cast(ptr)->hasPartialMatch(); +} + +char QRegularExpressionMatch_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QRegularExpressionMatch_LastCapturedIndex(void* ptr) +{ + return static_cast(ptr)->lastCapturedIndex(); +} + +long long QRegularExpressionMatch_MatchOptions(void* ptr) +{ + return static_cast(ptr)->matchOptions(); +} + +long long QRegularExpressionMatch_MatchType(void* ptr) +{ + return static_cast(ptr)->matchType(); +} + +void* QRegularExpressionMatch_RegularExpression(void* ptr) +{ + return new QRegularExpression(static_cast(ptr)->regularExpression()); +} + +void QRegularExpressionMatch_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QRegularExpressionMatch_DestroyQRegularExpressionMatch(void* ptr) +{ + static_cast(ptr)->~QRegularExpressionMatch(); +} + +void* QResource_NewQResource(struct QtCore_PackedString file, void* locale) +{ + return new QResource(QString::fromUtf8(file.data, file.len), *static_cast(locale)); +} + +struct QtCore_PackedString QResource_AbsoluteFilePath(void* ptr) +{ + return ({ QByteArray t1066ec = static_cast(ptr)->absoluteFilePath().toUtf8(); QtCore_PackedString { const_cast(t1066ec.prepend("WHITESPACE").constData()+10), t1066ec.size()-10 }; }); +} + +struct QtCore_PackedString QResource_Children(void* ptr) +{ + return ({ QByteArray t6aef35 = static_cast(ptr)->children().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t6aef35.prepend("WHITESPACE").constData()+10), t6aef35.size()-10 }; }); +} + +long long QResource_CompressionAlgorithm(void* ptr) +{ + return static_cast(ptr)->compressionAlgorithm(); +} + +struct QtCore_PackedString QResource_Data(void* ptr) +{ + return ({ char* t4b0f0d = static_cast(static_cast(const_cast(static_cast(ptr)->data()))); QtCore_PackedString { t4b0f0d, -1 }; }); +} + +struct QtCore_PackedString QResource_FileName(void* ptr) +{ + return ({ QByteArray t28de69 = static_cast(ptr)->fileName().toUtf8(); QtCore_PackedString { const_cast(t28de69.prepend("WHITESPACE").constData()+10), t28de69.size()-10 }; }); +} + +char QResource_IsCompressed(void* ptr) +{ + return static_cast(ptr)->isCompressed(); +} + +char QResource_IsDir(void* ptr) +{ + return static_cast(ptr)->isDir(); +} + +char QResource_IsFile(void* ptr) +{ + return static_cast(ptr)->isFile(); +} + +char QResource_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QResource_LastModified(void* ptr) +{ + return new QDateTime(static_cast(ptr)->lastModified()); +} + +void* QResource_Locale(void* ptr) +{ + return new QLocale(static_cast(ptr)->locale()); +} + +char QResource_QResource_RegisterResource(struct QtCore_PackedString rccFileName, struct QtCore_PackedString mapRoot) +{ + return QResource::registerResource(QString::fromUtf8(rccFileName.data, rccFileName.len), QString::fromUtf8(mapRoot.data, mapRoot.len)); +} + +char QResource_QResource_RegisterResource2(char* rccData, struct QtCore_PackedString mapRoot) +{ + return QResource::registerResource(const_cast(static_cast(static_cast(rccData))), QString::fromUtf8(mapRoot.data, mapRoot.len)); +} + +void QResource_SetFileName(void* ptr, struct QtCore_PackedString file) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(file.data, file.len)); +} + +void QResource_SetLocale(void* ptr, void* locale) +{ + static_cast(ptr)->setLocale(*static_cast(locale)); +} + +long long QResource_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +char QResource_QResource_UnregisterResource(struct QtCore_PackedString rccFileName, struct QtCore_PackedString mapRoot) +{ + return QResource::unregisterResource(QString::fromUtf8(rccFileName.data, rccFileName.len), QString::fromUtf8(mapRoot.data, mapRoot.len)); +} + +char QResource_QResource_UnregisterResource2(char* rccData, struct QtCore_PackedString mapRoot) +{ + return QResource::unregisterResource(const_cast(static_cast(static_cast(rccData))), QString::fromUtf8(mapRoot.data, mapRoot.len)); +} + +void QResource_DestroyQResource(void* ptr) +{ + static_cast(ptr)->~QResource(); +} + +class MyQRunnable: public QRunnable +{ +public: + MyQRunnable() : QRunnable() {}; + void run() { callbackQRunnable_Run(this); }; + ~MyQRunnable() { callbackQRunnable_DestroyQRunnable(this); }; +}; + +void* QRunnable_NewQRunnable() +{ + return new MyQRunnable(); +} + +char QRunnable_AutoDelete(void* ptr) +{ + return static_cast(ptr)->autoDelete(); +} + +void QRunnable_Run(void* ptr) +{ + static_cast(ptr)->run(); +} + +void QRunnable_SetAutoDelete(void* ptr, char autoDelete) +{ + static_cast(ptr)->setAutoDelete(autoDelete != 0); +} + +void QRunnable_DestroyQRunnable(void* ptr) +{ + static_cast(ptr)->~QRunnable(); +} + +void QRunnable_DestroyQRunnableDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQSaveFile: public QSaveFile +{ +public: + MyQSaveFile(const QString &name) : QSaveFile(name) {QSaveFile_QSaveFile_QRegisterMetaType();}; + MyQSaveFile(QObject *parent = Q_NULLPTR) : QSaveFile(parent) {QSaveFile_QSaveFile_QRegisterMetaType();}; + MyQSaveFile(const QString &name, QObject *parent) : QSaveFile(name, parent) {QSaveFile_QSaveFile_QRegisterMetaType();}; + QString fileName() const { return ({ QtCore_PackedString tempVal = callbackQFileDevice_FileName(const_cast(static_cast(this))); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + bool open(QIODevice::OpenMode mode) { return callbackQIODevice_Open(this, mode) != 0; }; + qint64 writeData(const char * data, qint64 l) { QtCore_PackedString dataPacked = { const_cast(data), l };return callbackQFileDevice_WriteData(this, dataPacked, l); }; + ~MyQSaveFile() { callbackQSaveFile_DestroyQSaveFile(this); }; + bool atEnd() const { return callbackQIODevice_AtEnd(const_cast(static_cast(this))) != 0; }; + void close() { callbackQIODevice_Close(this); }; + bool isSequential() const { return callbackQIODevice_IsSequential(const_cast(static_cast(this))) != 0; }; + QFileDevice::Permissions permissions() const { return static_cast(callbackQFileDevice_Permissions(const_cast(static_cast(this)))); }; + qint64 pos() const { return callbackQIODevice_Pos(const_cast(static_cast(this))); }; + qint64 readData(char * data, qint64 l) { QtCore_PackedString dataPacked = { data, l };return callbackQFileDevice_ReadData(this, dataPacked, l); }; + qint64 readLineData(char * data, qint64 maxlen) { QtCore_PackedString dataPacked = { data, maxlen };return callbackQIODevice_ReadLineData(this, dataPacked, maxlen); }; + bool resize(qint64 sz) { return callbackQFileDevice_Resize(this, sz) != 0; }; + bool seek(qint64 pos) { return callbackQIODevice_Seek(this, pos) != 0; }; + bool setPermissions(QFileDevice::Permissions permissions) { return callbackQFileDevice_SetPermissions(this, permissions) != 0; }; + qint64 size() const { return callbackQIODevice_Size(const_cast(static_cast(this))); }; + void Signal_AboutToClose() { callbackQIODevice_AboutToClose(this); }; + qint64 bytesAvailable() const { return callbackQIODevice_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQIODevice_BytesToWrite(const_cast(static_cast(this))); }; + void Signal_BytesWritten(qint64 bytes) { callbackQIODevice_BytesWritten(this, bytes); }; + bool canReadLine() const { return callbackQIODevice_CanReadLine(const_cast(static_cast(this))) != 0; }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQIODevice_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQIODevice_ChannelReadyRead(this, channel); }; + void Signal_ReadChannelFinished() { callbackQIODevice_ReadChannelFinished(this); }; + void Signal_ReadyRead() { callbackQIODevice_ReadyRead(this); }; + bool reset() { return callbackQIODevice_Reset(this) != 0; }; + bool waitForBytesWritten(int msecs) { return callbackQIODevice_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQIODevice_WaitForReadyRead(this, msecs) != 0; }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSaveFile*) + +int QSaveFile_QSaveFile_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QSaveFile_NewQSaveFile(struct QtCore_PackedString name) +{ + return new MyQSaveFile(QString::fromUtf8(name.data, name.len)); +} + +void* QSaveFile_NewQSaveFile2(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(static_cast(parent)); + } else { + return new MyQSaveFile(static_cast(parent)); + } +} + +void* QSaveFile_NewQSaveFile3(struct QtCore_PackedString name, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else { + return new MyQSaveFile(QString::fromUtf8(name.data, name.len), static_cast(parent)); + } +} + +void QSaveFile_CancelWriting(void* ptr) +{ + static_cast(ptr)->cancelWriting(); +} + +char QSaveFile_Commit(void* ptr) +{ + return static_cast(ptr)->commit(); +} + +char QSaveFile_DirectWriteFallback(void* ptr) +{ + return static_cast(ptr)->directWriteFallback(); +} + +void QSaveFile_SetDirectWriteFallback(void* ptr, char enabled) +{ + static_cast(ptr)->setDirectWriteFallback(enabled != 0); +} + +void QSaveFile_SetFileName(void* ptr, struct QtCore_PackedString name) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(name.data, name.len)); +} + +void QSaveFile_DestroyQSaveFile(void* ptr) +{ + static_cast(ptr)->~QSaveFile(); +} + +void QSaveFile_DestroyQSaveFileDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QSemaphore_NewQSemaphore(int n) +{ + return new QSemaphore(n); +} + +void QSemaphore_Acquire(void* ptr, int n) +{ + static_cast(ptr)->acquire(n); +} + +int QSemaphore_Available(void* ptr) +{ + return static_cast(ptr)->available(); +} + +void QSemaphore_Release(void* ptr, int n) +{ + static_cast(ptr)->release(n); +} + +char QSemaphore_TryAcquire(void* ptr, int n) +{ + return static_cast(ptr)->tryAcquire(n); +} + +char QSemaphore_TryAcquire2(void* ptr, int n, int timeout) +{ + return static_cast(ptr)->tryAcquire(n, timeout); +} + +void QSemaphore_DestroyQSemaphore(void* ptr) +{ + static_cast(ptr)->~QSemaphore(); +} + +void* QSemaphoreReleaser_NewQSemaphoreReleaser() +{ + return new QSemaphoreReleaser(); +} + +void* QSemaphoreReleaser_NewQSemaphoreReleaser2(void* sem, int n) +{ + return new QSemaphoreReleaser(*static_cast(sem), n); +} + +void* QSemaphoreReleaser_NewQSemaphoreReleaser3(void* sem, int n) +{ + return new QSemaphoreReleaser(static_cast(sem), n); +} + +void* QSemaphoreReleaser_Cancel(void* ptr) +{ + return static_cast(ptr)->cancel(); +} + +void* QSemaphoreReleaser_Semaphore(void* ptr) +{ + return static_cast(ptr)->semaphore(); +} + +void QSemaphoreReleaser_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QSemaphoreReleaser_DestroyQSemaphoreReleaser(void* ptr) +{ + static_cast(ptr)->~QSemaphoreReleaser(); +} + +class MyQSequentialAnimationGroup: public QSequentialAnimationGroup +{ +public: + MyQSequentialAnimationGroup(QObject *parent = Q_NULLPTR) : QSequentialAnimationGroup(parent) {QSequentialAnimationGroup_QSequentialAnimationGroup_QRegisterMetaType();}; + void Signal_CurrentAnimationChanged(QAbstractAnimation * current) { callbackQSequentialAnimationGroup_CurrentAnimationChanged(this, current); }; + int duration() const { return callbackQSequentialAnimationGroup_Duration(const_cast(static_cast(this))); }; + bool event(QEvent * event) { return callbackQObject_Event(this, event) != 0; }; + void updateCurrentTime(int currentTime) { callbackQSequentialAnimationGroup_UpdateCurrentTime(this, currentTime); }; + void updateDirection(QAbstractAnimation::Direction direction) { callbackQAbstractAnimation_UpdateDirection(this, direction); }; + void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_UpdateState(this, newState, oldState); }; + ~MyQSequentialAnimationGroup() { callbackQSequentialAnimationGroup_DestroyQSequentialAnimationGroup(this); }; + void Signal_CurrentLoopChanged(int currentLoop) { callbackQAbstractAnimation_CurrentLoopChanged(this, currentLoop); }; + void Signal_DirectionChanged(QAbstractAnimation::Direction newDirection) { callbackQAbstractAnimation_DirectionChanged(this, newDirection); }; + void Signal_Finished() { callbackQAbstractAnimation_Finished(this); }; + void pause() { callbackQAbstractAnimation_Pause(this); }; + void resume() { callbackQAbstractAnimation_Resume(this); }; + void setCurrentTime(int msecs) { callbackQAbstractAnimation_SetCurrentTime(this, msecs); }; + void setPaused(bool paused) { callbackQAbstractAnimation_SetPaused(this, paused); }; + void start(QAbstractAnimation::DeletionPolicy policy) { callbackQAbstractAnimation_Start(this, policy); }; + void Signal_StateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_StateChanged(this, newState, oldState); }; + void stop() { callbackQAbstractAnimation_Stop(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSequentialAnimationGroup*) + +int QSequentialAnimationGroup_QSequentialAnimationGroup_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QSequentialAnimationGroup_NewQSequentialAnimationGroup(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } else { + return new MyQSequentialAnimationGroup(static_cast(parent)); + } +} + +void* QSequentialAnimationGroup_AddPause(void* ptr, int msecs) +{ + return static_cast(ptr)->addPause(msecs); +} + +void* QSequentialAnimationGroup_CurrentAnimation(void* ptr) +{ + return static_cast(ptr)->currentAnimation(); +} + +void QSequentialAnimationGroup_ConnectCurrentAnimationChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QSequentialAnimationGroup::currentAnimationChanged), static_cast(ptr), static_cast(&MyQSequentialAnimationGroup::Signal_CurrentAnimationChanged), static_cast(t)); +} + +void QSequentialAnimationGroup_DisconnectCurrentAnimationChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QSequentialAnimationGroup::currentAnimationChanged), static_cast(ptr), static_cast(&MyQSequentialAnimationGroup::Signal_CurrentAnimationChanged)); +} + +void QSequentialAnimationGroup_CurrentAnimationChanged(void* ptr, void* current) +{ + static_cast(ptr)->currentAnimationChanged(static_cast(current)); +} + +int QSequentialAnimationGroup_Duration(void* ptr) +{ + return static_cast(ptr)->duration(); +} + +int QSequentialAnimationGroup_DurationDefault(void* ptr) +{ + return static_cast(ptr)->QSequentialAnimationGroup::duration(); +} + +void* QSequentialAnimationGroup_InsertPause(void* ptr, int index, int msecs) +{ + return static_cast(ptr)->insertPause(index, msecs); +} + +void QSequentialAnimationGroup_UpdateCurrentTime(void* ptr, int currentTime) +{ + static_cast(ptr)->updateCurrentTime(currentTime); +} + +void QSequentialAnimationGroup_UpdateCurrentTimeDefault(void* ptr, int currentTime) +{ + static_cast(ptr)->QSequentialAnimationGroup::updateCurrentTime(currentTime); +} + +void QSequentialAnimationGroup_DestroyQSequentialAnimationGroup(void* ptr) +{ + static_cast(ptr)->~QSequentialAnimationGroup(); +} + +void QSequentialAnimationGroup_DestroyQSequentialAnimationGroupDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QSequentialIterable_At(void* ptr, int idx) +{ + return new QVariant(static_cast(ptr)->at(idx)); +} + +char QSequentialIterable_CanReverseIterate(void* ptr) +{ + return static_cast(ptr)->canReverseIterate(); +} + +int QSequentialIterable_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +class MyQSettings: public QSettings +{ +public: + MyQSettings(const QString &organization, const QString &application = QString(), QObject *parent = Q_NULLPTR) : QSettings(organization, application, parent) {QSettings_QSettings_QRegisterMetaType();}; + MyQSettings(QSettings::Scope scope, const QString &organization, const QString &application = QString(), QObject *parent = Q_NULLPTR) : QSettings(scope, organization, application, parent) {QSettings_QSettings_QRegisterMetaType();}; + MyQSettings(QSettings::Format format, QSettings::Scope scope, const QString &organization, const QString &application = QString(), QObject *parent = Q_NULLPTR) : QSettings(format, scope, organization, application, parent) {QSettings_QSettings_QRegisterMetaType();}; + MyQSettings(const QString &fileName, QSettings::Format format, QObject *parent = Q_NULLPTR) : QSettings(fileName, format, parent) {QSettings_QSettings_QRegisterMetaType();}; + MyQSettings(QObject *parent = Q_NULLPTR) : QSettings(parent) {QSettings_QSettings_QRegisterMetaType();}; + MyQSettings(QSettings::Scope scope, QObject *parent = Q_NULLPTR) : QSettings(scope, parent) {QSettings_QSettings_QRegisterMetaType();}; + bool event(QEvent * event) { return callbackQObject_Event(this, event) != 0; }; + ~MyQSettings() { callbackQSettings_DestroyQSettings(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSettings*) + +int QSettings_QSettings_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QSettings_NewQSettings(struct QtCore_PackedString organization, struct QtCore_PackedString application, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else { + return new MyQSettings(QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } +} + +void* QSettings_NewQSettings2(long long scope, struct QtCore_PackedString organization, struct QtCore_PackedString application, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else { + return new MyQSettings(static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } +} + +void* QSettings_NewQSettings3(long long format, long long scope, struct QtCore_PackedString organization, struct QtCore_PackedString application, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } else { + return new MyQSettings(static_cast(format), static_cast(scope), QString::fromUtf8(organization.data, organization.len), QString::fromUtf8(application.data, application.len), static_cast(parent)); + } +} + +void* QSettings_NewQSettings4(struct QtCore_PackedString fileName, long long format, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } else { + return new MyQSettings(QString::fromUtf8(fileName.data, fileName.len), static_cast(format), static_cast(parent)); + } +} + +void* QSettings_NewQSettings5(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(parent)); + } else { + return new MyQSettings(static_cast(parent)); + } +} + +void* QSettings_NewQSettings6(long long scope, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } else { + return new MyQSettings(static_cast(scope), static_cast(parent)); + } +} + +struct QtCore_PackedString QSettings_AllKeys(void* ptr) +{ + return ({ QByteArray t39d6f3 = static_cast(ptr)->allKeys().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t39d6f3.prepend("WHITESPACE").constData()+10), t39d6f3.size()-10 }; }); +} + +struct QtCore_PackedString QSettings_ApplicationName(void* ptr) +{ + return ({ QByteArray tbe59f0 = static_cast(ptr)->applicationName().toUtf8(); QtCore_PackedString { const_cast(tbe59f0.prepend("WHITESPACE").constData()+10), tbe59f0.size()-10 }; }); +} + +void QSettings_BeginGroup(void* ptr, struct QtCore_PackedString prefix) +{ + static_cast(ptr)->beginGroup(QString::fromUtf8(prefix.data, prefix.len)); +} + +int QSettings_BeginReadArray(void* ptr, struct QtCore_PackedString prefix) +{ + return static_cast(ptr)->beginReadArray(QString::fromUtf8(prefix.data, prefix.len)); +} + +void QSettings_BeginWriteArray(void* ptr, struct QtCore_PackedString prefix, int size) +{ + static_cast(ptr)->beginWriteArray(QString::fromUtf8(prefix.data, prefix.len), size); +} + +struct QtCore_PackedString QSettings_ChildGroups(void* ptr) +{ + return ({ QByteArray t85b658 = static_cast(ptr)->childGroups().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t85b658.prepend("WHITESPACE").constData()+10), t85b658.size()-10 }; }); +} + +struct QtCore_PackedString QSettings_ChildKeys(void* ptr) +{ + return ({ QByteArray t28840d = static_cast(ptr)->childKeys().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t28840d.prepend("WHITESPACE").constData()+10), t28840d.size()-10 }; }); +} + +void QSettings_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +char QSettings_Contains(void* ptr, struct QtCore_PackedString key) +{ + return static_cast(ptr)->contains(QString::fromUtf8(key.data, key.len)); +} + +long long QSettings_QSettings_DefaultFormat() +{ + return QSettings::defaultFormat(); +} + +void QSettings_EndArray(void* ptr) +{ + static_cast(ptr)->endArray(); +} + +void QSettings_EndGroup(void* ptr) +{ + static_cast(ptr)->endGroup(); +} + +char QSettings_FallbacksEnabled(void* ptr) +{ + return static_cast(ptr)->fallbacksEnabled(); +} + +struct QtCore_PackedString QSettings_FileName(void* ptr) +{ + return ({ QByteArray tb2013f = static_cast(ptr)->fileName().toUtf8(); QtCore_PackedString { const_cast(tb2013f.prepend("WHITESPACE").constData()+10), tb2013f.size()-10 }; }); +} + +long long QSettings_Format(void* ptr) +{ + return static_cast(ptr)->format(); +} + +struct QtCore_PackedString QSettings_Group(void* ptr) +{ + return ({ QByteArray t8d2697 = static_cast(ptr)->group().toUtf8(); QtCore_PackedString { const_cast(t8d2697.prepend("WHITESPACE").constData()+10), t8d2697.size()-10 }; }); +} + +void* QSettings_IniCodec(void* ptr) +{ + return static_cast(ptr)->iniCodec(); +} + +char QSettings_IsAtomicSyncRequired(void* ptr) +{ + return static_cast(ptr)->isAtomicSyncRequired(); +} + +char QSettings_IsWritable(void* ptr) +{ + return static_cast(ptr)->isWritable(); +} + +struct QtCore_PackedString QSettings_OrganizationName(void* ptr) +{ + return ({ QByteArray t43251f = static_cast(ptr)->organizationName().toUtf8(); QtCore_PackedString { const_cast(t43251f.prepend("WHITESPACE").constData()+10), t43251f.size()-10 }; }); +} + +void QSettings_Remove(void* ptr, struct QtCore_PackedString key) +{ + static_cast(ptr)->remove(QString::fromUtf8(key.data, key.len)); +} + +long long QSettings_Scope(void* ptr) +{ + return static_cast(ptr)->scope(); +} + +void QSettings_SetArrayIndex(void* ptr, int i) +{ + static_cast(ptr)->setArrayIndex(i); +} + +void QSettings_SetAtomicSyncRequired(void* ptr, char enable) +{ + static_cast(ptr)->setAtomicSyncRequired(enable != 0); +} + +void QSettings_QSettings_SetDefaultFormat(long long format) +{ + QSettings::setDefaultFormat(static_cast(format)); +} + +void QSettings_SetFallbacksEnabled(void* ptr, char b) +{ + static_cast(ptr)->setFallbacksEnabled(b != 0); +} + +void QSettings_SetIniCodec(void* ptr, void* codec) +{ + static_cast(ptr)->setIniCodec(static_cast(codec)); +} + +void QSettings_SetIniCodec2(void* ptr, char* codecName) +{ + static_cast(ptr)->setIniCodec(const_cast(codecName)); +} + +void QSettings_QSettings_SetPath(long long format, long long scope, struct QtCore_PackedString path) +{ + QSettings::setPath(static_cast(format), static_cast(scope), QString::fromUtf8(path.data, path.len)); +} + +void QSettings_SetValue(void* ptr, struct QtCore_PackedString key, void* value) +{ + static_cast(ptr)->setValue(QString::fromUtf8(key.data, key.len), *static_cast(value)); +} + +long long QSettings_Status(void* ptr) +{ + return static_cast(ptr)->status(); +} + +void QSettings_Sync(void* ptr) +{ + static_cast(ptr)->sync(); +} + +void* QSettings_Value(void* ptr, struct QtCore_PackedString key, void* defaultValue) +{ + return new QVariant(static_cast(ptr)->value(QString::fromUtf8(key.data, key.len), *static_cast(defaultValue))); +} + +void QSettings_DestroyQSettings(void* ptr) +{ + static_cast(ptr)->~QSettings(); +} + +void QSettings_DestroyQSettingsDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QSharedData_NewQSharedData() +{ + return new QSharedData(); +} + +void* QSharedData_NewQSharedData2(void* vqs) +{ + return new QSharedData(*static_cast(vqs)); +} + +class MyQSharedMemory: public QSharedMemory +{ +public: + MyQSharedMemory(const QString &key, QObject *parent = Q_NULLPTR) : QSharedMemory(key, parent) {QSharedMemory_QSharedMemory_QRegisterMetaType();}; + MyQSharedMemory(QObject *parent = Q_NULLPTR) : QSharedMemory(parent) {QSharedMemory_QSharedMemory_QRegisterMetaType();}; + ~MyQSharedMemory() { callbackQSharedMemory_DestroyQSharedMemory(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSharedMemory*) + +int QSharedMemory_QSharedMemory_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QSharedMemory_NewQSharedMemory(struct QtCore_PackedString key, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } else { + return new MyQSharedMemory(QString::fromUtf8(key.data, key.len), static_cast(parent)); + } +} + +void* QSharedMemory_NewQSharedMemory2(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSharedMemory(static_cast(parent)); + } else { + return new MyQSharedMemory(static_cast(parent)); + } +} + +char QSharedMemory_Attach(void* ptr, long long mode) +{ + return static_cast(ptr)->attach(static_cast(mode)); +} + +void* QSharedMemory_ConstData(void* ptr) +{ + return const_cast(static_cast(ptr)->constData()); +} + +char QSharedMemory_Create(void* ptr, int size, long long mode) +{ + return static_cast(ptr)->create(size, static_cast(mode)); +} + +void* QSharedMemory_Data(void* ptr) +{ + return static_cast(ptr)->data(); +} + +void* QSharedMemory_Data2(void* ptr) +{ + return const_cast(static_cast(ptr)->data()); +} + +char QSharedMemory_Detach(void* ptr) +{ + return static_cast(ptr)->detach(); +} + +long long QSharedMemory_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtCore_PackedString QSharedMemory_ErrorString(void* ptr) +{ + return ({ QByteArray t1fb547 = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(t1fb547.prepend("WHITESPACE").constData()+10), t1fb547.size()-10 }; }); +} + +char QSharedMemory_IsAttached(void* ptr) +{ + return static_cast(ptr)->isAttached(); +} + +struct QtCore_PackedString QSharedMemory_Key(void* ptr) +{ + return ({ QByteArray t0bb3c9 = static_cast(ptr)->key().toUtf8(); QtCore_PackedString { const_cast(t0bb3c9.prepend("WHITESPACE").constData()+10), t0bb3c9.size()-10 }; }); +} + +char QSharedMemory_Lock(void* ptr) +{ + return static_cast(ptr)->lock(); +} + +struct QtCore_PackedString QSharedMemory_NativeKey(void* ptr) +{ + return ({ QByteArray t971b81 = static_cast(ptr)->nativeKey().toUtf8(); QtCore_PackedString { const_cast(t971b81.prepend("WHITESPACE").constData()+10), t971b81.size()-10 }; }); +} + +void QSharedMemory_SetKey(void* ptr, struct QtCore_PackedString key) +{ + static_cast(ptr)->setKey(QString::fromUtf8(key.data, key.len)); +} + +void QSharedMemory_SetNativeKey(void* ptr, struct QtCore_PackedString key) +{ + static_cast(ptr)->setNativeKey(QString::fromUtf8(key.data, key.len)); +} + +int QSharedMemory_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +char QSharedMemory_Unlock(void* ptr) +{ + return static_cast(ptr)->unlock(); +} + +void QSharedMemory_DestroyQSharedMemory(void* ptr) +{ + static_cast(ptr)->~QSharedMemory(); +} + +void QSharedMemory_DestroyQSharedMemoryDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QSignalBlocker_NewQSignalBlocker(void* object) +{ + if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(static_cast(object)); + } else { + return new QSignalBlocker(static_cast(object)); + } +} + +void* QSignalBlocker_NewQSignalBlocker2(void* object) +{ + if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return new QSignalBlocker(*static_cast(object)); + } else { + return new QSignalBlocker(*static_cast(object)); + } +} + +void QSignalBlocker_Reblock(void* ptr) +{ + static_cast(ptr)->reblock(); +} + +void QSignalBlocker_Unblock(void* ptr) +{ + static_cast(ptr)->unblock(); +} + +void QSignalBlocker_DestroyQSignalBlocker(void* ptr) +{ + static_cast(ptr)->~QSignalBlocker(); +} + +class MyQSignalTransition: public QSignalTransition +{ +public: + MyQSignalTransition(QState *sourceState = Q_NULLPTR) : QSignalTransition(sourceState) {QSignalTransition_QSignalTransition_QRegisterMetaType();}; + MyQSignalTransition(const QObject *sender, const char *sign, QState *sourceState = Q_NULLPTR) : QSignalTransition(sender, sign, sourceState) {QSignalTransition_QSignalTransition_QRegisterMetaType();}; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventTest(QEvent * event) { return callbackQSignalTransition_EventTest(this, event) != 0; }; + void onTransition(QEvent * event) { callbackQSignalTransition_OnTransition(this, event); }; + void Signal_SenderObjectChanged() { callbackQSignalTransition_SenderObjectChanged(this); }; + void Signal_SignalChanged() { callbackQSignalTransition_SignalChanged(this); }; + ~MyQSignalTransition() { callbackQSignalTransition_DestroyQSignalTransition(this); }; + void Signal_TargetStateChanged() { callbackQAbstractTransition_TargetStateChanged(this); }; + void Signal_TargetStatesChanged() { callbackQAbstractTransition_TargetStatesChanged(this); }; + void Signal_Triggered() { callbackQAbstractTransition_Triggered(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSignalTransition*) + +int QSignalTransition_QSignalTransition_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QSignalTransition_NewQSignalTransition(void* sourceState) +{ + return new MyQSignalTransition(static_cast(sourceState)); +} + +void* QSignalTransition_NewQSignalTransition2(void* sender, char* sign, void* sourceState) +{ + if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else if (dynamic_cast(static_cast(sender))) { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } else { + return new MyQSignalTransition(static_cast(sender), const_cast(sign), static_cast(sourceState)); + } +} + +char QSignalTransition_EventTest(void* ptr, void* event) +{ + return static_cast(ptr)->eventTest(static_cast(event)); +} + +char QSignalTransition_EventTestDefault(void* ptr, void* event) +{ + return static_cast(ptr)->QSignalTransition::eventTest(static_cast(event)); +} + +void QSignalTransition_OnTransition(void* ptr, void* event) +{ + static_cast(ptr)->onTransition(static_cast(event)); +} + +void QSignalTransition_OnTransitionDefault(void* ptr, void* event) +{ + static_cast(ptr)->QSignalTransition::onTransition(static_cast(event)); +} + +void* QSignalTransition_SenderObject(void* ptr) +{ + return static_cast(ptr)->senderObject(); +} + +void QSignalTransition_ConnectSenderObjectChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QSignalTransition::senderObjectChanged, static_cast(ptr), static_cast(&MyQSignalTransition::Signal_SenderObjectChanged), static_cast(t)); +} + +void QSignalTransition_DisconnectSenderObjectChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QSignalTransition::senderObjectChanged, static_cast(ptr), static_cast(&MyQSignalTransition::Signal_SenderObjectChanged)); +} + +void QSignalTransition_SetSenderObject(void* ptr, void* sender) +{ + static_cast(ptr)->setSenderObject(static_cast(sender)); +} + +void QSignalTransition_SetSignal(void* ptr, void* sign) +{ + static_cast(ptr)->setSignal(*static_cast(sign)); +} + +void* QSignalTransition_Signal(void* ptr) +{ + return new QByteArray(static_cast(ptr)->signal()); +} + +void QSignalTransition_ConnectSignalChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QSignalTransition::signalChanged, static_cast(ptr), static_cast(&MyQSignalTransition::Signal_SignalChanged), static_cast(t)); +} + +void QSignalTransition_DisconnectSignalChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QSignalTransition::signalChanged, static_cast(ptr), static_cast(&MyQSignalTransition::Signal_SignalChanged)); +} + +void QSignalTransition_DestroyQSignalTransition(void* ptr) +{ + static_cast(ptr)->~QSignalTransition(); +} + +void QSignalTransition_DestroyQSignalTransitionDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QSize_NewQSize() +{ + return new QSize(); +} + +void* QSize_NewQSize2(int width, int height) +{ + return new QSize(width, height); +} + +void* QSize_BoundedTo(void* ptr, void* otherSize) +{ + return ({ QSize tmpValue = static_cast(ptr)->boundedTo(*static_cast(otherSize)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QSize_ExpandedTo(void* ptr, void* otherSize) +{ + return ({ QSize tmpValue = static_cast(ptr)->expandedTo(*static_cast(otherSize)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +int QSize_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +char QSize_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QSize_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QSize_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QSize_Rheight(void* ptr) +{ + return static_cast(ptr)->rheight(); +} + +int QSize_Rwidth(void* ptr) +{ + return static_cast(ptr)->rwidth(); +} + +void QSize_Scale(void* ptr, int width, int height, long long mode) +{ + static_cast(ptr)->scale(width, height, static_cast(mode)); +} + +void QSize_Scale2(void* ptr, void* size, long long mode) +{ + static_cast(ptr)->scale(*static_cast(size), static_cast(mode)); +} + +void* QSize_Scaled(void* ptr, int width, int height, long long mode) +{ + return ({ QSize tmpValue = static_cast(ptr)->scaled(width, height, static_cast(mode)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QSize_Scaled2(void* ptr, void* s, long long mode) +{ + return ({ QSize tmpValue = static_cast(ptr)->scaled(*static_cast(s), static_cast(mode)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QSize_SetHeight(void* ptr, int height) +{ + static_cast(ptr)->setHeight(height); +} + +void QSize_SetWidth(void* ptr, int width) +{ + static_cast(ptr)->setWidth(width); +} + +void QSize_Transpose(void* ptr) +{ + static_cast(ptr)->transpose(); +} + +void* QSize_Transposed(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->transposed(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +int QSize_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +void* QSizeF_NewQSizeF() +{ + return new QSizeF(); +} + +void* QSizeF_NewQSizeF2(void* size) +{ + return new QSizeF(*static_cast(size)); +} + +void* QSizeF_NewQSizeF3(double width, double height) +{ + return new QSizeF(width, height); +} + +void* QSizeF_BoundedTo(void* ptr, void* otherSize) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->boundedTo(*static_cast(otherSize)); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void* QSizeF_ExpandedTo(void* ptr, void* otherSize) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->expandedTo(*static_cast(otherSize)); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +double QSizeF_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +char QSizeF_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QSizeF_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QSizeF_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +double QSizeF_Rheight(void* ptr) +{ + return static_cast(ptr)->rheight(); +} + +double QSizeF_Rwidth(void* ptr) +{ + return static_cast(ptr)->rwidth(); +} + +void QSizeF_Scale(void* ptr, double width, double height, long long mode) +{ + static_cast(ptr)->scale(width, height, static_cast(mode)); +} + +void QSizeF_Scale2(void* ptr, void* size, long long mode) +{ + static_cast(ptr)->scale(*static_cast(size), static_cast(mode)); +} + +void* QSizeF_Scaled(void* ptr, double width, double height, long long mode) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->scaled(width, height, static_cast(mode)); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void* QSizeF_Scaled2(void* ptr, void* s, long long mode) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->scaled(*static_cast(s), static_cast(mode)); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void QSizeF_SetHeight(void* ptr, double height) +{ + static_cast(ptr)->setHeight(height); +} + +void QSizeF_SetWidth(void* ptr, double width) +{ + static_cast(ptr)->setWidth(width); +} + +void* QSizeF_ToSize(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->toSize(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QSizeF_Transpose(void* ptr) +{ + static_cast(ptr)->transpose(); +} + +void* QSizeF_Transposed(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->transposed(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +double QSizeF_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +class MyQSocketNotifier: public QSocketNotifier +{ +public: + void Signal_Activated(int socket) { callbackQSocketNotifier_Activated(this, socket); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + void setEnabled(bool enable) { callbackQSocketNotifier_SetEnabled(this, enable); }; + ~MyQSocketNotifier() { callbackQSocketNotifier_DestroyQSocketNotifier(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSocketNotifier*) + +int QSocketNotifier_QSocketNotifier_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void QSocketNotifier_ConnectActivated(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QSocketNotifier::activated, static_cast(ptr), static_cast(&MyQSocketNotifier::Signal_Activated), static_cast(t)); +} + +void QSocketNotifier_DisconnectActivated(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QSocketNotifier::activated, static_cast(ptr), static_cast(&MyQSocketNotifier::Signal_Activated)); +} + +char QSocketNotifier_IsEnabled(void* ptr) +{ + return static_cast(ptr)->isEnabled(); +} + +void QSocketNotifier_SetEnabled(void* ptr, char enable) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setEnabled", Q_ARG(bool, enable != 0)); +} + +void QSocketNotifier_SetEnabledDefault(void* ptr, char enable) +{ + static_cast(ptr)->QSocketNotifier::setEnabled(enable != 0); +} + +long long QSocketNotifier_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QSocketNotifier_DestroyQSocketNotifier(void* ptr) +{ + static_cast(ptr)->~QSocketNotifier(); +} + +void QSocketNotifier_DestroyQSocketNotifierDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQSortFilterProxyModel: public QSortFilterProxyModel +{ +public: + MyQSortFilterProxyModel(QObject *parent = Q_NULLPTR) : QSortFilterProxyModel(parent) {QSortFilterProxyModel_QSortFilterProxyModel_QRegisterMetaType();}; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQAbstractItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + int columnCount(const QModelIndex & parent) const { return callbackQSortFilterProxyModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + QVariant data(const QModelIndex & index, int role) const { return *static_cast(callbackQAbstractProxyModel_Data(const_cast(static_cast(this)), const_cast(&index), role)); }; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQAbstractItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + void fetchMore(const QModelIndex & parent) { callbackQAbstractItemModel_FetchMore(this, const_cast(&parent)); }; + bool filterAcceptsColumn(int source_column, const QModelIndex & source_parent) const { return callbackQSortFilterProxyModel_FilterAcceptsColumn(const_cast(static_cast(this)), source_column, const_cast(&source_parent)) != 0; }; + bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const { return callbackQSortFilterProxyModel_FilterAcceptsRow(const_cast(static_cast(this)), source_row, const_cast(&source_parent)) != 0; }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQAbstractItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQAbstractItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQAbstractItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQSortFilterProxyModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + void invalidate() { callbackQSortFilterProxyModel_Invalidate(this); }; + bool lessThan(const QModelIndex & source_left, const QModelIndex & source_right) const { return callbackQSortFilterProxyModel_LessThan(const_cast(static_cast(this)), const_cast(&source_left), const_cast(&source_right)) != 0; }; + QModelIndex mapFromSource(const QModelIndex & sourceIndex) const { return *static_cast(callbackQSortFilterProxyModel_MapFromSource(const_cast(static_cast(this)), const_cast(&sourceIndex))); }; + QItemSelection mapSelectionFromSource(const QItemSelection & sourceSelection) const { return *static_cast(callbackQAbstractProxyModel_MapSelectionFromSource(const_cast(static_cast(this)), const_cast(&sourceSelection))); }; + QItemSelection mapSelectionToSource(const QItemSelection & proxySelection) const { return *static_cast(callbackQAbstractProxyModel_MapSelectionToSource(const_cast(static_cast(this)), const_cast(&proxySelection))); }; + QModelIndex mapToSource(const QModelIndex & proxyIndex) const { return *static_cast(callbackQSortFilterProxyModel_MapToSource(const_cast(static_cast(this)), const_cast(&proxyIndex))); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQAbstractItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQAbstractItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtCore_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtCore_PackedString tempVal = callbackQAbstractItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + QModelIndex parent(const QModelIndex & child) const { return *static_cast(callbackQSortFilterProxyModel_Parent(const_cast(static_cast(this)), const_cast(&child))); }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + int rowCount(const QModelIndex & parent) const { return callbackQSortFilterProxyModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQAbstractItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + void setFilterFixedString(const QString & pattern) { QByteArray t91cc2e = pattern.toUtf8(); QtCore_PackedString patternPacked = { const_cast(t91cc2e.prepend("WHITESPACE").constData()+10), t91cc2e.size()-10 };callbackQSortFilterProxyModel_SetFilterFixedString(this, patternPacked); }; + void setFilterRegExp(const QRegExp & regExp) { callbackQSortFilterProxyModel_SetFilterRegExp(this, const_cast(®Exp)); }; + void setFilterRegExp(const QString & pattern) { QByteArray t91cc2e = pattern.toUtf8(); QtCore_PackedString patternPacked = { const_cast(t91cc2e.prepend("WHITESPACE").constData()+10), t91cc2e.size()-10 };callbackQSortFilterProxyModel_SetFilterRegExp2(this, patternPacked); }; + void setFilterRegularExpression(const QString & pattern) { QByteArray t91cc2e = pattern.toUtf8(); QtCore_PackedString patternPacked = { const_cast(t91cc2e.prepend("WHITESPACE").constData()+10), t91cc2e.size()-10 };callbackQSortFilterProxyModel_SetFilterRegularExpression(this, patternPacked); }; + void setFilterRegularExpression(const QRegularExpression & regularExpression) { callbackQSortFilterProxyModel_SetFilterRegularExpression2(this, const_cast(®ularExpression)); }; + void setFilterWildcard(const QString & pattern) { QByteArray t91cc2e = pattern.toUtf8(); QtCore_PackedString patternPacked = { const_cast(t91cc2e.prepend("WHITESPACE").constData()+10), t91cc2e.size()-10 };callbackQSortFilterProxyModel_SetFilterWildcard(this, patternPacked); }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQAbstractItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + void setSourceModel(QAbstractItemModel * sourceModel) { callbackQAbstractProxyModel_SetSourceModel(this, sourceModel); }; + QModelIndex sibling(int row, int column, const QModelIndex & idx) const { return *static_cast(callbackQAbstractItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&idx))); }; + void sort(int column, Qt::SortOrder order) { callbackQAbstractItemModel_Sort(this, column, order); }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQAbstractItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + ~MyQSortFilterProxyModel() { callbackQSortFilterProxyModel_DestroyQSortFilterProxyModel(this); }; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQAbstractItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + QMap itemData(const QModelIndex & proxyIndex) const { return ({ QMap* tmpP = static_cast*>(callbackQAbstractItemModel_ItemData(const_cast(static_cast(this)), const_cast(&proxyIndex))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + void resetInternalData() { callbackQAbstractItemModel_ResetInternalData(this); }; + void revert() { callbackQAbstractProxyModel_Revert(this); }; + bool setItemData(const QModelIndex & index, const QMap & roles) { return callbackQAbstractItemModel_SetItemData(this, const_cast(&index), ({ QMap* tmpValue037c88 = new QMap(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + void Signal_SourceModelChanged() { callbackQAbstractProxyModel_SourceModelChanged(this); }; + bool submit() { return callbackQAbstractProxyModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQAbstractItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQAbstractItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQAbstractItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQAbstractItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQAbstractItemModel_HeaderDataChanged(this, orientation, first, last); }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_ModelAboutToBeReset() { callbackQAbstractItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQAbstractItemModel_ModelReset(this); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveColumns(this, const_cast(&sourceParent), sourceColumn, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQAbstractItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQAbstractItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQAbstractItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQAbstractItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSortFilterProxyModel*) + +int QSortFilterProxyModel_QSortFilterProxyModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QSortFilterProxyModel_NewQSortFilterProxyModel(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSortFilterProxyModel(static_cast(parent)); + } else { + return new MyQSortFilterProxyModel(static_cast(parent)); + } +} + +int QSortFilterProxyModel_ColumnCount(void* ptr, void* parent) +{ + return static_cast(ptr)->columnCount(*static_cast(parent)); +} + +int QSortFilterProxyModel_ColumnCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QSortFilterProxyModel::columnCount(*static_cast(parent)); +} + +char QSortFilterProxyModel_DynamicSortFilter(void* ptr) +{ + return static_cast(ptr)->dynamicSortFilter(); +} + +char QSortFilterProxyModel_FilterAcceptsColumn(void* ptr, int source_column, void* source_parent) +{ + return static_cast(ptr)->filterAcceptsColumn(source_column, *static_cast(source_parent)); +} + +char QSortFilterProxyModel_FilterAcceptsColumnDefault(void* ptr, int source_column, void* source_parent) +{ + return static_cast(ptr)->QSortFilterProxyModel::filterAcceptsColumn(source_column, *static_cast(source_parent)); +} + +char QSortFilterProxyModel_FilterAcceptsRow(void* ptr, int source_row, void* source_parent) +{ + return static_cast(ptr)->filterAcceptsRow(source_row, *static_cast(source_parent)); +} + +char QSortFilterProxyModel_FilterAcceptsRowDefault(void* ptr, int source_row, void* source_parent) +{ + return static_cast(ptr)->QSortFilterProxyModel::filterAcceptsRow(source_row, *static_cast(source_parent)); +} + +long long QSortFilterProxyModel_FilterCaseSensitivity(void* ptr) +{ + return static_cast(ptr)->filterCaseSensitivity(); +} + +int QSortFilterProxyModel_FilterKeyColumn(void* ptr) +{ + return static_cast(ptr)->filterKeyColumn(); +} + +void* QSortFilterProxyModel_FilterRegExp(void* ptr) +{ + return new QRegExp(static_cast(ptr)->filterRegExp()); +} + +void* QSortFilterProxyModel_FilterRegularExpression(void* ptr) +{ + return new QRegularExpression(static_cast(ptr)->filterRegularExpression()); +} + +int QSortFilterProxyModel_FilterRole(void* ptr) +{ + return static_cast(ptr)->filterRole(); +} + +void* QSortFilterProxyModel_Index(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->index(row, column, *static_cast(parent))); +} + +void* QSortFilterProxyModel_IndexDefault(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->QSortFilterProxyModel::index(row, column, *static_cast(parent))); +} + +void QSortFilterProxyModel_Invalidate(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "invalidate"); +} + +void QSortFilterProxyModel_InvalidateDefault(void* ptr) +{ + static_cast(ptr)->QSortFilterProxyModel::invalidate(); +} + +void QSortFilterProxyModel_InvalidateFilter(void* ptr) +{ + static_cast(ptr)->invalidateFilter(); +} + +char QSortFilterProxyModel_IsRecursiveFilteringEnabled(void* ptr) +{ + return static_cast(ptr)->isRecursiveFilteringEnabled(); +} + +char QSortFilterProxyModel_IsSortLocaleAware(void* ptr) +{ + return static_cast(ptr)->isSortLocaleAware(); +} + +char QSortFilterProxyModel_LessThan(void* ptr, void* source_left, void* source_right) +{ + return static_cast(ptr)->lessThan(*static_cast(source_left), *static_cast(source_right)); +} + +char QSortFilterProxyModel_LessThanDefault(void* ptr, void* source_left, void* source_right) +{ + return static_cast(ptr)->QSortFilterProxyModel::lessThan(*static_cast(source_left), *static_cast(source_right)); +} + +void* QSortFilterProxyModel_MapFromSource(void* ptr, void* sourceIndex) +{ + return new QModelIndex(static_cast(ptr)->mapFromSource(*static_cast(sourceIndex))); +} + +void* QSortFilterProxyModel_MapFromSourceDefault(void* ptr, void* sourceIndex) +{ + return new QModelIndex(static_cast(ptr)->QSortFilterProxyModel::mapFromSource(*static_cast(sourceIndex))); +} + +void* QSortFilterProxyModel_MapToSource(void* ptr, void* proxyIndex) +{ + return new QModelIndex(static_cast(ptr)->mapToSource(*static_cast(proxyIndex))); +} + +void* QSortFilterProxyModel_MapToSourceDefault(void* ptr, void* proxyIndex) +{ + return new QModelIndex(static_cast(ptr)->QSortFilterProxyModel::mapToSource(*static_cast(proxyIndex))); +} + +void* QSortFilterProxyModel_Parent(void* ptr, void* child) +{ + return new QModelIndex(static_cast(ptr)->parent(*static_cast(child))); +} + +void* QSortFilterProxyModel_ParentDefault(void* ptr, void* child) +{ + return new QModelIndex(static_cast(ptr)->QSortFilterProxyModel::parent(*static_cast(child))); +} + +int QSortFilterProxyModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +int QSortFilterProxyModel_RowCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QSortFilterProxyModel::rowCount(*static_cast(parent)); +} + +void QSortFilterProxyModel_SetDynamicSortFilter(void* ptr, char enable) +{ + static_cast(ptr)->setDynamicSortFilter(enable != 0); +} + +void QSortFilterProxyModel_SetFilterCaseSensitivity(void* ptr, long long cs) +{ + static_cast(ptr)->setFilterCaseSensitivity(static_cast(cs)); +} + +void QSortFilterProxyModel_SetFilterFixedString(void* ptr, struct QtCore_PackedString pattern) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setFilterFixedString", Q_ARG(const QString, QString::fromUtf8(pattern.data, pattern.len))); +} + +void QSortFilterProxyModel_SetFilterFixedStringDefault(void* ptr, struct QtCore_PackedString pattern) +{ + static_cast(ptr)->QSortFilterProxyModel::setFilterFixedString(QString::fromUtf8(pattern.data, pattern.len)); +} + +void QSortFilterProxyModel_SetFilterKeyColumn(void* ptr, int column) +{ + static_cast(ptr)->setFilterKeyColumn(column); +} + +void QSortFilterProxyModel_SetFilterRegExp(void* ptr, void* regExp) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setFilterRegExp", Q_ARG(const QRegExp, *static_cast(regExp))); +} + +void QSortFilterProxyModel_SetFilterRegExpDefault(void* ptr, void* regExp) +{ + static_cast(ptr)->QSortFilterProxyModel::setFilterRegExp(*static_cast(regExp)); +} + +void QSortFilterProxyModel_SetFilterRegExp2(void* ptr, struct QtCore_PackedString pattern) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setFilterRegExp", Q_ARG(const QString, QString::fromUtf8(pattern.data, pattern.len))); +} + +void QSortFilterProxyModel_SetFilterRegExp2Default(void* ptr, struct QtCore_PackedString pattern) +{ + static_cast(ptr)->QSortFilterProxyModel::setFilterRegExp(QString::fromUtf8(pattern.data, pattern.len)); +} + +void QSortFilterProxyModel_SetFilterRegularExpression(void* ptr, struct QtCore_PackedString pattern) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setFilterRegularExpression", Q_ARG(const QString, QString::fromUtf8(pattern.data, pattern.len))); +} + +void QSortFilterProxyModel_SetFilterRegularExpressionDefault(void* ptr, struct QtCore_PackedString pattern) +{ + static_cast(ptr)->QSortFilterProxyModel::setFilterRegularExpression(QString::fromUtf8(pattern.data, pattern.len)); +} + +void QSortFilterProxyModel_SetFilterRegularExpression2(void* ptr, void* regularExpression) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setFilterRegularExpression", Q_ARG(const QRegularExpression, *static_cast(regularExpression))); +} + +void QSortFilterProxyModel_SetFilterRegularExpression2Default(void* ptr, void* regularExpression) +{ + static_cast(ptr)->QSortFilterProxyModel::setFilterRegularExpression(*static_cast(regularExpression)); +} + +void QSortFilterProxyModel_SetFilterRole(void* ptr, int role) +{ + static_cast(ptr)->setFilterRole(role); +} + +void QSortFilterProxyModel_SetFilterWildcard(void* ptr, struct QtCore_PackedString pattern) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setFilterWildcard", Q_ARG(const QString, QString::fromUtf8(pattern.data, pattern.len))); +} + +void QSortFilterProxyModel_SetFilterWildcardDefault(void* ptr, struct QtCore_PackedString pattern) +{ + static_cast(ptr)->QSortFilterProxyModel::setFilterWildcard(QString::fromUtf8(pattern.data, pattern.len)); +} + +void QSortFilterProxyModel_SetRecursiveFilteringEnabled(void* ptr, char recursive) +{ + static_cast(ptr)->setRecursiveFilteringEnabled(recursive != 0); +} + +void QSortFilterProxyModel_SetSortCaseSensitivity(void* ptr, long long cs) +{ + static_cast(ptr)->setSortCaseSensitivity(static_cast(cs)); +} + +void QSortFilterProxyModel_SetSortLocaleAware(void* ptr, char on) +{ + static_cast(ptr)->setSortLocaleAware(on != 0); +} + +void QSortFilterProxyModel_SetSortRole(void* ptr, int role) +{ + static_cast(ptr)->setSortRole(role); +} + +long long QSortFilterProxyModel_SortCaseSensitivity(void* ptr) +{ + return static_cast(ptr)->sortCaseSensitivity(); +} + +int QSortFilterProxyModel_SortColumn(void* ptr) +{ + return static_cast(ptr)->sortColumn(); +} + +long long QSortFilterProxyModel_SortOrder(void* ptr) +{ + return static_cast(ptr)->sortOrder(); +} + +int QSortFilterProxyModel_SortRole(void* ptr) +{ + return static_cast(ptr)->sortRole(); +} + +void QSortFilterProxyModel_DestroyQSortFilterProxyModel(void* ptr) +{ + static_cast(ptr)->~QSortFilterProxyModel(); +} + +void QSortFilterProxyModel_DestroyQSortFilterProxyModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +struct QtCore_PackedString QStandardPaths_QStandardPaths_DisplayName(long long ty) +{ + return ({ QByteArray t0e52e2 = QStandardPaths::displayName(static_cast(ty)).toUtf8(); QtCore_PackedString { const_cast(t0e52e2.prepend("WHITESPACE").constData()+10), t0e52e2.size()-10 }; }); +} + +struct QtCore_PackedString QStandardPaths_QStandardPaths_FindExecutable(struct QtCore_PackedString executableName, struct QtCore_PackedString paths) +{ + return ({ QByteArray t2ef25b = QStandardPaths::findExecutable(QString::fromUtf8(executableName.data, executableName.len), QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts)).toUtf8(); QtCore_PackedString { const_cast(t2ef25b.prepend("WHITESPACE").constData()+10), t2ef25b.size()-10 }; }); +} + +struct QtCore_PackedString QStandardPaths_QStandardPaths_Locate(long long ty, struct QtCore_PackedString fileName, long long options) +{ + return ({ QByteArray t1c6d77 = QStandardPaths::locate(static_cast(ty), QString::fromUtf8(fileName.data, fileName.len), static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(t1c6d77.prepend("WHITESPACE").constData()+10), t1c6d77.size()-10 }; }); +} + +struct QtCore_PackedString QStandardPaths_QStandardPaths_LocateAll(long long ty, struct QtCore_PackedString fileName, long long options) +{ + return ({ QByteArray t84546e = QStandardPaths::locateAll(static_cast(ty), QString::fromUtf8(fileName.data, fileName.len), static_cast(options)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t84546e.prepend("WHITESPACE").constData()+10), t84546e.size()-10 }; }); +} + +void QStandardPaths_QStandardPaths_SetTestModeEnabled(char testMode) +{ + QStandardPaths::setTestModeEnabled(testMode != 0); +} + +struct QtCore_PackedString QStandardPaths_QStandardPaths_StandardLocations(long long ty) +{ + return ({ QByteArray t70622a = QStandardPaths::standardLocations(static_cast(ty)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t70622a.prepend("WHITESPACE").constData()+10), t70622a.size()-10 }; }); +} + +struct QtCore_PackedString QStandardPaths_QStandardPaths_WritableLocation(long long ty) +{ + return ({ QByteArray t06b5c0 = QStandardPaths::writableLocation(static_cast(ty)).toUtf8(); QtCore_PackedString { const_cast(t06b5c0.prepend("WHITESPACE").constData()+10), t06b5c0.size()-10 }; }); +} + +class MyQState: public QState +{ +public: + MyQState(QState *parent = Q_NULLPTR) : QState(parent) {QState_QState_QRegisterMetaType();}; + MyQState(QState::ChildMode childMode, QState *parent = Q_NULLPTR) : QState(childMode, parent) {QState_QState_QRegisterMetaType();}; + void Signal_ChildModeChanged() { callbackQState_ChildModeChanged(this); }; + void Signal_ErrorStateChanged() { callbackQState_ErrorStateChanged(this); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + void Signal_Finished() { callbackQState_Finished(this); }; + void Signal_InitialStateChanged() { callbackQState_InitialStateChanged(this); }; + void onEntry(QEvent * event) { callbackQState_OnEntry(this, event); }; + void onExit(QEvent * event) { callbackQState_OnExit(this, event); }; + void Signal_PropertiesAssigned() { callbackQState_PropertiesAssigned(this); }; + ~MyQState() { callbackQState_DestroyQState(this); }; + void Signal_ActiveChanged(bool active) { callbackQAbstractState_ActiveChanged(this, active); }; + void Signal_Entered() { callbackQAbstractState_Entered(this); }; + void Signal_Exited() { callbackQAbstractState_Exited(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQState*) + +int QState_QState_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QState_NewQState(void* parent) +{ + return new MyQState(static_cast(parent)); +} + +void* QState_NewQState2(long long childMode, void* parent) +{ + return new MyQState(static_cast(childMode), static_cast(parent)); +} + +void QState_AddTransition(void* ptr, void* transition) +{ + static_cast(ptr)->addTransition(static_cast(transition)); +} + +void* QState_AddTransition2(void* ptr, void* sender, char* sign, void* target) +{ + return static_cast(ptr)->addTransition(static_cast(sender), const_cast(sign), static_cast(target)); +} + +void* QState_AddTransition4(void* ptr, void* target) +{ + return static_cast(ptr)->addTransition(static_cast(target)); +} + +void QState_AssignProperty(void* ptr, void* object, char* name, void* value) +{ + static_cast(ptr)->assignProperty(static_cast(object), const_cast(name), *static_cast(value)); +} + +long long QState_ChildMode(void* ptr) +{ + return static_cast(ptr)->childMode(); +} + +void QState_ConnectChildModeChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QState::childModeChanged, static_cast(ptr), static_cast(&MyQState::Signal_ChildModeChanged), static_cast(t)); +} + +void QState_DisconnectChildModeChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QState::childModeChanged, static_cast(ptr), static_cast(&MyQState::Signal_ChildModeChanged)); +} + +void* QState_ErrorState(void* ptr) +{ + return static_cast(ptr)->errorState(); +} + +void QState_ConnectErrorStateChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QState::errorStateChanged, static_cast(ptr), static_cast(&MyQState::Signal_ErrorStateChanged), static_cast(t)); +} + +void QState_DisconnectErrorStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QState::errorStateChanged, static_cast(ptr), static_cast(&MyQState::Signal_ErrorStateChanged)); +} + +void QState_ConnectFinished(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QState::finished, static_cast(ptr), static_cast(&MyQState::Signal_Finished), static_cast(t)); +} + +void QState_DisconnectFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QState::finished, static_cast(ptr), static_cast(&MyQState::Signal_Finished)); +} + +void* QState_InitialState(void* ptr) +{ + return static_cast(ptr)->initialState(); +} + +void QState_ConnectInitialStateChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QState::initialStateChanged, static_cast(ptr), static_cast(&MyQState::Signal_InitialStateChanged), static_cast(t)); +} + +void QState_DisconnectInitialStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QState::initialStateChanged, static_cast(ptr), static_cast(&MyQState::Signal_InitialStateChanged)); +} + +void QState_OnEntry(void* ptr, void* event) +{ + static_cast(ptr)->onEntry(static_cast(event)); +} + +void QState_OnEntryDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStateMachine::onEntry(static_cast(event)); + } else { + static_cast(ptr)->QState::onEntry(static_cast(event)); + } +} + +void QState_OnExit(void* ptr, void* event) +{ + static_cast(ptr)->onExit(static_cast(event)); +} + +void QState_OnExitDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QStateMachine::onExit(static_cast(event)); + } else { + static_cast(ptr)->QState::onExit(static_cast(event)); + } +} + +void QState_ConnectPropertiesAssigned(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QState::propertiesAssigned, static_cast(ptr), static_cast(&MyQState::Signal_PropertiesAssigned), static_cast(t)); +} + +void QState_DisconnectPropertiesAssigned(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QState::propertiesAssigned, static_cast(ptr), static_cast(&MyQState::Signal_PropertiesAssigned)); +} + +void QState_RemoveTransition(void* ptr, void* transition) +{ + static_cast(ptr)->removeTransition(static_cast(transition)); +} + +void QState_SetChildMode(void* ptr, long long mode) +{ + static_cast(ptr)->setChildMode(static_cast(mode)); +} + +void QState_SetErrorState(void* ptr, void* state) +{ + static_cast(ptr)->setErrorState(static_cast(state)); +} + +void QState_SetInitialState(void* ptr, void* state) +{ + static_cast(ptr)->setInitialState(static_cast(state)); +} + +struct QtCore_PackedList QState_Transitions(void* ptr) +{ + return ({ QList* tmpValue720ea7 = new QList(static_cast(ptr)->transitions()); QtCore_PackedList { tmpValue720ea7, tmpValue720ea7->size() }; }); +} + +void QState_DestroyQState(void* ptr) +{ + static_cast(ptr)->~QState(); +} + +void QState_DestroyQStateDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QState___transitions_atList(void* ptr, int i) +{ + return ({QAbstractTransition * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QState___transitions_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QState___transitions_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQStateMachine: public QStateMachine +{ +public: + MyQStateMachine(QObject *parent = Q_NULLPTR) : QStateMachine(parent) {QStateMachine_QStateMachine_QRegisterMetaType();}; + MyQStateMachine(QState::ChildMode childMode, QObject *parent = Q_NULLPTR) : QStateMachine(childMode, parent) {QStateMachine_QStateMachine_QRegisterMetaType();}; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + void onEntry(QEvent * event) { callbackQState_OnEntry(this, event); }; + void onExit(QEvent * event) { callbackQState_OnExit(this, event); }; + void Signal_RunningChanged(bool running) { callbackQStateMachine_RunningChanged(this, running); }; + void setRunning(bool running) { callbackQStateMachine_SetRunning(this, running); }; + void start() { callbackQStateMachine_Start(this); }; + void Signal_Started() { callbackQStateMachine_Started(this); }; + void stop() { callbackQStateMachine_Stop(this); }; + void Signal_Stopped() { callbackQStateMachine_Stopped(this); }; + ~MyQStateMachine() { callbackQStateMachine_DestroyQStateMachine(this); }; + void Signal_ChildModeChanged() { callbackQState_ChildModeChanged(this); }; + void Signal_ErrorStateChanged() { callbackQState_ErrorStateChanged(this); }; + void Signal_Finished() { callbackQState_Finished(this); }; + void Signal_InitialStateChanged() { callbackQState_InitialStateChanged(this); }; + void Signal_PropertiesAssigned() { callbackQState_PropertiesAssigned(this); }; + void Signal_ActiveChanged(bool active) { callbackQAbstractState_ActiveChanged(this, active); }; + void Signal_Entered() { callbackQAbstractState_Entered(this); }; + void Signal_Exited() { callbackQAbstractState_Exited(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQStateMachine*) + +int QStateMachine_QStateMachine_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QStateMachine_NewQStateMachine(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(parent)); + } else { + return new MyQStateMachine(static_cast(parent)); + } +} + +void* QStateMachine_NewQStateMachine2(long long childMode, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } else { + return new MyQStateMachine(static_cast(childMode), static_cast(parent)); + } +} + +void QStateMachine_AddDefaultAnimation(void* ptr, void* animation) +{ + static_cast(ptr)->addDefaultAnimation(static_cast(animation)); +} + +void QStateMachine_AddState(void* ptr, void* state) +{ + static_cast(ptr)->addState(static_cast(state)); +} + +char QStateMachine_CancelDelayedEvent(void* ptr, int id) +{ + return static_cast(ptr)->cancelDelayedEvent(id); +} + +void QStateMachine_ClearError(void* ptr) +{ + static_cast(ptr)->clearError(); +} + +struct QtCore_PackedList QStateMachine_DefaultAnimations(void* ptr) +{ + return ({ QList* tmpValue99eefa = new QList(static_cast(ptr)->defaultAnimations()); QtCore_PackedList { tmpValue99eefa, tmpValue99eefa->size() }; }); +} + +long long QStateMachine_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtCore_PackedString QStateMachine_ErrorString(void* ptr) +{ + return ({ QByteArray tb4aee6 = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(tb4aee6.prepend("WHITESPACE").constData()+10), tb4aee6.size()-10 }; }); +} + +long long QStateMachine_GlobalRestorePolicy(void* ptr) +{ + return static_cast(ptr)->globalRestorePolicy(); +} + +char QStateMachine_IsAnimated(void* ptr) +{ + return static_cast(ptr)->isAnimated(); +} + +char QStateMachine_IsRunning(void* ptr) +{ + return static_cast(ptr)->isRunning(); +} + +int QStateMachine_PostDelayedEvent(void* ptr, void* event, int delay) +{ + return static_cast(ptr)->postDelayedEvent(static_cast(event), delay); +} + +void QStateMachine_PostEvent(void* ptr, void* event, long long priority) +{ + static_cast(ptr)->postEvent(static_cast(event), static_cast(priority)); +} + +void QStateMachine_RemoveDefaultAnimation(void* ptr, void* animation) +{ + static_cast(ptr)->removeDefaultAnimation(static_cast(animation)); +} + +void QStateMachine_RemoveState(void* ptr, void* state) +{ + static_cast(ptr)->removeState(static_cast(state)); +} + +void QStateMachine_ConnectRunningChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStateMachine::runningChanged), static_cast(ptr), static_cast(&MyQStateMachine::Signal_RunningChanged), static_cast(t)); +} + +void QStateMachine_DisconnectRunningChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStateMachine::runningChanged), static_cast(ptr), static_cast(&MyQStateMachine::Signal_RunningChanged)); +} + +void QStateMachine_RunningChanged(void* ptr, char running) +{ + static_cast(ptr)->runningChanged(running != 0); +} + +void QStateMachine_SetAnimated(void* ptr, char enabled) +{ + static_cast(ptr)->setAnimated(enabled != 0); +} + +void QStateMachine_SetGlobalRestorePolicy(void* ptr, long long restorePolicy) +{ + static_cast(ptr)->setGlobalRestorePolicy(static_cast(restorePolicy)); +} + +void QStateMachine_SetRunning(void* ptr, char running) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setRunning", Q_ARG(bool, running != 0)); +} + +void QStateMachine_SetRunningDefault(void* ptr, char running) +{ + static_cast(ptr)->QStateMachine::setRunning(running != 0); +} + +void QStateMachine_Start(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "start"); +} + +void QStateMachine_StartDefault(void* ptr) +{ + static_cast(ptr)->QStateMachine::start(); +} + +void QStateMachine_ConnectStarted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QStateMachine::started, static_cast(ptr), static_cast(&MyQStateMachine::Signal_Started), static_cast(t)); +} + +void QStateMachine_DisconnectStarted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QStateMachine::started, static_cast(ptr), static_cast(&MyQStateMachine::Signal_Started)); +} + +void QStateMachine_Stop(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "stop"); +} + +void QStateMachine_StopDefault(void* ptr) +{ + static_cast(ptr)->QStateMachine::stop(); +} + +void QStateMachine_ConnectStopped(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QStateMachine::stopped, static_cast(ptr), static_cast(&MyQStateMachine::Signal_Stopped), static_cast(t)); +} + +void QStateMachine_DisconnectStopped(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QStateMachine::stopped, static_cast(ptr), static_cast(&MyQStateMachine::Signal_Stopped)); +} + +void QStateMachine_DestroyQStateMachine(void* ptr) +{ + static_cast(ptr)->~QStateMachine(); +} + +void QStateMachine_DestroyQStateMachineDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QStateMachine___defaultAnimations_atList(void* ptr, int i) +{ + return ({QAbstractAnimation * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStateMachine___defaultAnimations_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStateMachine___defaultAnimations_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStaticPlugin_Instance(void* ptr) +{ + return static_cast(ptr)->instance(); +} + +void* QStaticPlugin_MetaData(void* ptr) +{ + return new QJsonObject(static_cast(ptr)->metaData()); +} + +struct QtCore_PackedString QStaticPlugin_RawMetaData(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->rawMetaData()), -1 }; +} + +void* QStorageInfo_NewQStorageInfo() +{ + return new QStorageInfo(); +} + +void* QStorageInfo_NewQStorageInfo2(struct QtCore_PackedString path) +{ + return new QStorageInfo(QString::fromUtf8(path.data, path.len)); +} + +void* QStorageInfo_NewQStorageInfo3(void* dir) +{ + return new QStorageInfo(*static_cast(dir)); +} + +void* QStorageInfo_NewQStorageInfo4(void* other) +{ + return new QStorageInfo(*static_cast(other)); +} + +int QStorageInfo_BlockSize(void* ptr) +{ + return static_cast(ptr)->blockSize(); +} + +long long QStorageInfo_BytesAvailable(void* ptr) +{ + return static_cast(ptr)->bytesAvailable(); +} + +long long QStorageInfo_BytesFree(void* ptr) +{ + return static_cast(ptr)->bytesFree(); +} + +long long QStorageInfo_BytesTotal(void* ptr) +{ + return static_cast(ptr)->bytesTotal(); +} + +void* QStorageInfo_Device(void* ptr) +{ + return new QByteArray(static_cast(ptr)->device()); +} + +struct QtCore_PackedString QStorageInfo_DisplayName(void* ptr) +{ + return ({ QByteArray t7b3b54 = static_cast(ptr)->displayName().toUtf8(); QtCore_PackedString { const_cast(t7b3b54.prepend("WHITESPACE").constData()+10), t7b3b54.size()-10 }; }); +} + +void* QStorageInfo_FileSystemType(void* ptr) +{ + return new QByteArray(static_cast(ptr)->fileSystemType()); +} + +char QStorageInfo_IsReadOnly(void* ptr) +{ + return static_cast(ptr)->isReadOnly(); +} + +char QStorageInfo_IsReady(void* ptr) +{ + return static_cast(ptr)->isReady(); +} + +char QStorageInfo_IsRoot(void* ptr) +{ + return static_cast(ptr)->isRoot(); +} + +char QStorageInfo_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +struct QtCore_PackedList QStorageInfo_QStorageInfo_MountedVolumes() +{ + return ({ QList* tmpValuec2da3c = new QList(QStorageInfo::mountedVolumes()); QtCore_PackedList { tmpValuec2da3c, tmpValuec2da3c->size() }; }); +} + +struct QtCore_PackedString QStorageInfo_Name(void* ptr) +{ + return ({ QByteArray t4fa869 = static_cast(ptr)->name().toUtf8(); QtCore_PackedString { const_cast(t4fa869.prepend("WHITESPACE").constData()+10), t4fa869.size()-10 }; }); +} + +void QStorageInfo_Refresh(void* ptr) +{ + static_cast(ptr)->refresh(); +} + +void* QStorageInfo_QStorageInfo_Root() +{ + return new QStorageInfo(QStorageInfo::root()); +} + +struct QtCore_PackedString QStorageInfo_RootPath(void* ptr) +{ + return ({ QByteArray t0ec510 = static_cast(ptr)->rootPath().toUtf8(); QtCore_PackedString { const_cast(t0ec510.prepend("WHITESPACE").constData()+10), t0ec510.size()-10 }; }); +} + +void QStorageInfo_SetPath(void* ptr, struct QtCore_PackedString path) +{ + static_cast(ptr)->setPath(QString::fromUtf8(path.data, path.len)); +} + +void* QStorageInfo_Subvolume(void* ptr) +{ + return new QByteArray(static_cast(ptr)->subvolume()); +} + +void QStorageInfo_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QStorageInfo_DestroyQStorageInfo(void* ptr) +{ + static_cast(ptr)->~QStorageInfo(); +} + +void* QStorageInfo___mountedVolumes_atList(void* ptr, int i) +{ + return new QStorageInfo(({QStorageInfo tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStorageInfo___mountedVolumes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStorageInfo___mountedVolumes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQStringListModel: public QStringListModel +{ +public: + MyQStringListModel(QObject *parent = Q_NULLPTR) : QStringListModel(parent) {QStringListModel_QStringListModel_QRegisterMetaType();}; + MyQStringListModel(const QStringList &strin, QObject *parent = Q_NULLPTR) : QStringListModel(strin, parent) {QStringListModel_QStringListModel_QRegisterMetaType();}; + QVariant data(const QModelIndex & index, int role) const { return *static_cast(callbackQStringListModel_Data(const_cast(static_cast(this)), const_cast(&index), role)); }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQAbstractItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + QMap itemData(const QModelIndex & index) const { return ({ QMap* tmpP = static_cast*>(callbackQAbstractItemModel_ItemData(const_cast(static_cast(this)), const_cast(&index))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + int rowCount(const QModelIndex & parent) const { return callbackQStringListModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQAbstractItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + bool setItemData(const QModelIndex & index, const QMap & roles) { return callbackQAbstractItemModel_SetItemData(this, const_cast(&index), ({ QMap* tmpValue037c88 = new QMap(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + QModelIndex sibling(int row, int column, const QModelIndex & idx) const { return *static_cast(callbackQAbstractItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&idx))); }; + void sort(int column, Qt::SortOrder order) { callbackQAbstractItemModel_Sort(this, column, order); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQAbstractItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQAbstractItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQAbstractListModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQAbstractItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQAbstractItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + int columnCount(const QModelIndex & parent) const { return callbackQAbstractListModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQAbstractItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQAbstractItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQAbstractItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + void fetchMore(const QModelIndex & parent) { callbackQAbstractItemModel_FetchMore(this, const_cast(&parent)); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQAbstractItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQAbstractItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQAbstractItemModel_HeaderDataChanged(this, orientation, first, last); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQAbstractItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQAbstractItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtCore_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtCore_PackedString tempVal = callbackQAbstractItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + void Signal_ModelAboutToBeReset() { callbackQAbstractItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQAbstractItemModel_ModelReset(this); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveColumns(this, const_cast(&sourceParent), sourceColumn, count, const_cast(&destinationParent), destinationChild) != 0; }; + QModelIndex parent(const QModelIndex & index) const { return *static_cast(callbackQAbstractListModel_Parent(const_cast(static_cast(this)), const_cast(&index))); }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + void resetInternalData() { callbackQAbstractItemModel_ResetInternalData(this); }; + void revert() { callbackQAbstractItemModel_Revert(this); }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQAbstractItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQAbstractItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQAbstractItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQAbstractItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQAbstractItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + bool submit() { return callbackQAbstractItemModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQAbstractItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQStringListModel*) + +int QStringListModel_QStringListModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QStringListModel_NewQStringListModel(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(static_cast(parent)); + } else { + return new MyQStringListModel(static_cast(parent)); + } +} + +void* QStringListModel_NewQStringListModel2(struct QtCore_PackedString strin, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } else { + return new MyQStringListModel(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts), static_cast(parent)); + } +} + +void* QStringListModel_Data(void* ptr, void* index, int role) +{ + return new QVariant(static_cast(ptr)->data(*static_cast(index), role)); +} + +void* QStringListModel_DataDefault(void* ptr, void* index, int role) +{ + return new QVariant(static_cast(ptr)->QStringListModel::data(*static_cast(index), role)); +} + +int QStringListModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +int QStringListModel_RowCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QStringListModel::rowCount(*static_cast(parent)); +} + +void QStringListModel_SetStringList(void* ptr, struct QtCore_PackedString strin) +{ + static_cast(ptr)->setStringList(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts)); +} + +struct QtCore_PackedString QStringListModel_StringList(void* ptr) +{ + return ({ QByteArray t02c9ed = static_cast(ptr)->stringList().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t02c9ed.prepend("WHITESPACE").constData()+10), t02c9ed.size()-10 }; }); +} + +void* QStringMatcher_NewQStringMatcher() +{ + return new QStringMatcher(); +} + +void* QStringMatcher_NewQStringMatcher2(struct QtCore_PackedString pattern, long long cs) +{ + return new QStringMatcher(QString::fromUtf8(pattern.data, pattern.len), static_cast(cs)); +} + +void* QStringMatcher_NewQStringMatcher3(void* uc, int length, long long cs) +{ + return new QStringMatcher(static_cast(uc), length, static_cast(cs)); +} + +void* QStringMatcher_NewQStringMatcher4(void* other) +{ + return new QStringMatcher(*static_cast(other)); +} + +long long QStringMatcher_CaseSensitivity(void* ptr) +{ + return static_cast(ptr)->caseSensitivity(); +} + +int QStringMatcher_IndexIn(void* ptr, struct QtCore_PackedString str, int from) +{ + return static_cast(ptr)->indexIn(QString::fromUtf8(str.data, str.len), from); +} + +int QStringMatcher_IndexIn2(void* ptr, void* str, int length, int from) +{ + return static_cast(ptr)->indexIn(static_cast(str), length, from); +} + +struct QtCore_PackedString QStringMatcher_Pattern(void* ptr) +{ + return ({ QByteArray ta9f593 = static_cast(ptr)->pattern().toUtf8(); QtCore_PackedString { const_cast(ta9f593.prepend("WHITESPACE").constData()+10), ta9f593.size()-10 }; }); +} + +void QStringMatcher_SetCaseSensitivity(void* ptr, long long cs) +{ + static_cast(ptr)->setCaseSensitivity(static_cast(cs)); +} + +void QStringMatcher_SetPattern(void* ptr, struct QtCore_PackedString pattern) +{ + static_cast(ptr)->setPattern(QString::fromUtf8(pattern.data, pattern.len)); +} + +void QStringMatcher_DestroyQStringMatcher(void* ptr) +{ + static_cast(ptr)->~QStringMatcher(); +} + +void* QStringRef_NewQStringRef() +{ + return new QStringRef(); +} + +void* QStringRef_NewQStringRef2(struct QtCore_PackedString stri, int position, int length) +{ + return new QStringRef(new QString(QString::fromUtf8(stri.data, stri.len)), position, length); +} + +void* QStringRef_NewQStringRef3(struct QtCore_PackedString stri) +{ + return new QStringRef(new QString(QString::fromUtf8(stri.data, stri.len))); +} + +void* QStringRef_NewQStringRef4(void* other) +{ + return new QStringRef(*static_cast(other)); +} + +void* QStringRef_AppendTo(void* ptr, struct QtCore_PackedString stri) +{ + return new QStringRef(static_cast(ptr)->appendTo(new QString(QString::fromUtf8(stri.data, stri.len)))); +} + +void* QStringRef_At(void* ptr, int position) +{ + return new QChar(static_cast(ptr)->at(position)); +} + +void* QStringRef_Back(void* ptr) +{ + return new QChar(static_cast(ptr)->back()); +} + +void QStringRef_Chop(void* ptr, int n) +{ + static_cast(ptr)->chop(n); +} + +void* QStringRef_Chopped(void* ptr, int l) +{ + return new QStringRef(static_cast(ptr)->chopped(l)); +} + +void QStringRef_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +int QStringRef_QStringRef_Compare(void* s1, struct QtCore_PackedString s2, long long cs) +{ + return QStringRef::compare(*static_cast(s1), QString::fromUtf8(s2.data, s2.len), static_cast(cs)); +} + +int QStringRef_Compare2(void* ptr, struct QtCore_PackedString other, long long cs) +{ + return static_cast(ptr)->compare(QString::fromUtf8(other.data, other.len), static_cast(cs)); +} + +int QStringRef_Compare3(void* ptr, void* other, long long cs) +{ + return static_cast(ptr)->compare(*static_cast(other), static_cast(cs)); +} + +int QStringRef_Compare4(void* ptr, void* other, long long cs) +{ + return static_cast(ptr)->compare(*static_cast(other), static_cast(cs)); +} + +int QStringRef_Compare5(void* ptr, void* other, long long cs) +{ + return static_cast(ptr)->compare(*static_cast(other), static_cast(cs)); +} + +int QStringRef_QStringRef_Compare6(void* s1, void* s2, long long cs) +{ + return QStringRef::compare(*static_cast(s1), *static_cast(s2), static_cast(cs)); +} + +int QStringRef_QStringRef_Compare7(void* s1, void* s2, long long cs) +{ + return QStringRef::compare(*static_cast(s1), *static_cast(s2), static_cast(cs)); +} + +void* QStringRef_ConstData(void* ptr) +{ + return const_cast(static_cast(ptr)->constData()); +} + +char QStringRef_Contains(void* ptr, struct QtCore_PackedString str, long long cs) +{ + return static_cast(ptr)->contains(QString::fromUtf8(str.data, str.len), static_cast(cs)); +} + +char QStringRef_Contains2(void* ptr, void* ch, long long cs) +{ + return static_cast(ptr)->contains(*static_cast(ch), static_cast(cs)); +} + +char QStringRef_Contains3(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->contains(*static_cast(str), static_cast(cs)); +} + +char QStringRef_Contains4(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->contains(*static_cast(str), static_cast(cs)); +} + +int QStringRef_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +int QStringRef_Count2(void* ptr, struct QtCore_PackedString str, long long cs) +{ + return static_cast(ptr)->count(QString::fromUtf8(str.data, str.len), static_cast(cs)); +} + +int QStringRef_Count3(void* ptr, void* ch, long long cs) +{ + return static_cast(ptr)->count(*static_cast(ch), static_cast(cs)); +} + +int QStringRef_Count4(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->count(*static_cast(str), static_cast(cs)); +} + +void* QStringRef_Data(void* ptr) +{ + return const_cast(static_cast(ptr)->data()); +} + +char QStringRef_EndsWith(void* ptr, struct QtCore_PackedString str, long long cs) +{ + return static_cast(ptr)->endsWith(QString::fromUtf8(str.data, str.len), static_cast(cs)); +} + +char QStringRef_EndsWith2(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(str), static_cast(cs)); +} + +char QStringRef_EndsWith3(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(str), static_cast(cs)); +} + +char QStringRef_EndsWith4(void* ptr, void* ch, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(ch), static_cast(cs)); +} + +char QStringRef_EndsWith5(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(str), static_cast(cs)); +} + +void* QStringRef_Front(void* ptr) +{ + return new QChar(static_cast(ptr)->front()); +} + +int QStringRef_IndexOf(void* ptr, struct QtCore_PackedString str, int from, long long cs) +{ + return static_cast(ptr)->indexOf(QString::fromUtf8(str.data, str.len), from, static_cast(cs)); +} + +int QStringRef_IndexOf2(void* ptr, void* ch, int from, long long cs) +{ + return static_cast(ptr)->indexOf(*static_cast(ch), from, static_cast(cs)); +} + +int QStringRef_IndexOf3(void* ptr, void* str, int from, long long cs) +{ + return static_cast(ptr)->indexOf(*static_cast(str), from, static_cast(cs)); +} + +int QStringRef_IndexOf4(void* ptr, void* str, int from, long long cs) +{ + return static_cast(ptr)->indexOf(*static_cast(str), from, static_cast(cs)); +} + +char QStringRef_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QStringRef_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QStringRef_IsRightToLeft(void* ptr) +{ + return static_cast(ptr)->isRightToLeft(); +} + +int QStringRef_LastIndexOf(void* ptr, struct QtCore_PackedString str, int from, long long cs) +{ + return static_cast(ptr)->lastIndexOf(QString::fromUtf8(str.data, str.len), from, static_cast(cs)); +} + +int QStringRef_LastIndexOf2(void* ptr, void* ch, int from, long long cs) +{ + return static_cast(ptr)->lastIndexOf(*static_cast(ch), from, static_cast(cs)); +} + +int QStringRef_LastIndexOf3(void* ptr, void* str, int from, long long cs) +{ + return static_cast(ptr)->lastIndexOf(*static_cast(str), from, static_cast(cs)); +} + +int QStringRef_LastIndexOf4(void* ptr, void* str, int from, long long cs) +{ + return static_cast(ptr)->lastIndexOf(*static_cast(str), from, static_cast(cs)); +} + +void* QStringRef_Left(void* ptr, int n) +{ + return new QStringRef(static_cast(ptr)->left(n)); +} + +int QStringRef_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +int QStringRef_QStringRef_LocaleAwareCompare(void* s1, struct QtCore_PackedString s2) +{ + return QStringRef::localeAwareCompare(*static_cast(s1), QString::fromUtf8(s2.data, s2.len)); +} + +int QStringRef_LocaleAwareCompare2(void* ptr, struct QtCore_PackedString other) +{ + return static_cast(ptr)->localeAwareCompare(QString::fromUtf8(other.data, other.len)); +} + +int QStringRef_LocaleAwareCompare3(void* ptr, void* other) +{ + return static_cast(ptr)->localeAwareCompare(*static_cast(other)); +} + +int QStringRef_QStringRef_LocaleAwareCompare4(void* s1, void* s2) +{ + return QStringRef::localeAwareCompare(*static_cast(s1), *static_cast(s2)); +} + +void* QStringRef_Mid(void* ptr, int position, int n) +{ + return new QStringRef(static_cast(ptr)->mid(position, n)); +} + +int QStringRef_Position(void* ptr) +{ + return static_cast(ptr)->position(); +} + +void* QStringRef_Right(void* ptr, int n) +{ + return new QStringRef(static_cast(ptr)->right(n)); +} + +int QStringRef_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +struct QtCore_PackedList QStringRef_Split(void* ptr, struct QtCore_PackedString sep, long long behavior, long long cs) +{ + return ({ QVector* tmpValued1bf8d = new QVector(static_cast(ptr)->split(QString::fromUtf8(sep.data, sep.len), static_cast(behavior), static_cast(cs))); QtCore_PackedList { tmpValued1bf8d, tmpValued1bf8d->size() }; }); +} + +struct QtCore_PackedList QStringRef_Split2(void* ptr, void* sep, long long behavior, long long cs) +{ + return ({ QVector* tmpValue643751 = new QVector(static_cast(ptr)->split(*static_cast(sep), static_cast(behavior), static_cast(cs))); QtCore_PackedList { tmpValue643751, tmpValue643751->size() }; }); +} + +char QStringRef_StartsWith(void* ptr, struct QtCore_PackedString str, long long cs) +{ + return static_cast(ptr)->startsWith(QString::fromUtf8(str.data, str.len), static_cast(cs)); +} + +char QStringRef_StartsWith2(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(str), static_cast(cs)); +} + +char QStringRef_StartsWith3(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(str), static_cast(cs)); +} + +char QStringRef_StartsWith4(void* ptr, void* ch, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(ch), static_cast(cs)); +} + +char QStringRef_StartsWith5(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(str), static_cast(cs)); +} + +struct QtCore_PackedString QStringRef_String(void* ptr) +{ + return ({ QByteArray t75a779 = static_cast(ptr)->string()->toUtf8(); QtCore_PackedString { const_cast(t75a779.prepend("WHITESPACE").constData()+10), t75a779.size()-10 }; }); +} + +double QStringRef_ToDouble(void* ptr, char* ok) +{ + return static_cast(ptr)->toDouble(reinterpret_cast(ok)); +} + +float QStringRef_ToFloat(void* ptr, char* ok) +{ + return static_cast(ptr)->toFloat(reinterpret_cast(ok)); +} + +int QStringRef_ToInt(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toInt(reinterpret_cast(ok), base); +} + +void* QStringRef_ToLatin1(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toLatin1()); +} + +void* QStringRef_ToLocal8Bit(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toLocal8Bit()); +} + +long QStringRef_ToLong(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toLong(reinterpret_cast(ok), base); +} + +long long QStringRef_ToLongLong(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toLongLong(reinterpret_cast(ok), base); +} + +short QStringRef_ToShort(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toShort(reinterpret_cast(ok), base); +} + +struct QtCore_PackedString QStringRef_ToString(void* ptr) +{ + return ({ QByteArray t336448 = static_cast(ptr)->toString().toUtf8(); QtCore_PackedString { const_cast(t336448.prepend("WHITESPACE").constData()+10), t336448.size()-10 }; }); +} + +unsigned int QStringRef_ToUInt(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toUInt(reinterpret_cast(ok), base); +} + +unsigned long QStringRef_ToULong(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toULong(reinterpret_cast(ok), base); +} + +unsigned long long QStringRef_ToULongLong(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toULongLong(reinterpret_cast(ok), base); +} + +unsigned short QStringRef_ToUShort(void* ptr, char* ok, int base) +{ + return static_cast(ptr)->toUShort(reinterpret_cast(ok), base); +} + +struct QtCore_PackedList QStringRef_ToUcs4(void* ptr) +{ + return ({ QVector* tmpValue6487a2 = new QVector(static_cast(ptr)->toUcs4()); QtCore_PackedList { tmpValue6487a2, tmpValue6487a2->size() }; }); +} + +void* QStringRef_ToUtf8(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toUtf8()); +} + +void* QStringRef_Trimmed(void* ptr) +{ + return new QStringRef(static_cast(ptr)->trimmed()); +} + +void QStringRef_Truncate(void* ptr, int position) +{ + static_cast(ptr)->truncate(position); +} + +void* QStringRef_Unicode(void* ptr) +{ + return const_cast(static_cast(ptr)->unicode()); +} + +void QStringRef_DestroyQStringRef(void* ptr) +{ + static_cast(ptr)->~QStringRef(); +} + +void* QStringRef___split_atList(void* ptr, int i) +{ + return new QStringRef(({QStringRef tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QStringRef___split_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStringRef___split_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QStringRef___split_atList2(void* ptr, int i) +{ + return new QStringRef(({QStringRef tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QStringRef___split_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStringRef___split_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QStringRef___toUcs4_atList(void* ptr, int i) +{ + return ({uint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QStringRef___toUcs4_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStringRef___toUcs4_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QStringView_NewQStringView() +{ + return new QStringView(); +} + +void* QStringView_NewQStringView7(struct QtCore_PackedString str) +{ + return new QStringView(QString::fromUtf8(str.data, str.len)); +} + +void* QStringView_NewQStringView8(void* str) +{ + return new QStringView(*static_cast(str)); +} + +void* QStringView_Back(void* ptr) +{ + return new QChar(static_cast(ptr)->back()); +} + +int QStringView_Compare(void* ptr, void* other, long long cs) +{ + return static_cast(ptr)->compare(*static_cast(other), static_cast(cs)); +} + +char QStringView_Empty(void* ptr) +{ + return static_cast(ptr)->empty(); +} + +char QStringView_EndsWith(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(str), static_cast(cs)); +} + +char QStringView_EndsWith2(void* ptr, void* l1, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(l1), static_cast(cs)); +} + +char QStringView_EndsWith3(void* ptr, void* ch) +{ + return static_cast(ptr)->endsWith(*static_cast(ch)); +} + +char QStringView_EndsWith4(void* ptr, void* ch, long long cs) +{ + return static_cast(ptr)->endsWith(*static_cast(ch), static_cast(cs)); +} + +void* QStringView_First(void* ptr) +{ + return new QChar(static_cast(ptr)->first()); +} + +void* QStringView_Front(void* ptr) +{ + return new QChar(static_cast(ptr)->front()); +} + +char QStringView_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QStringView_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QStringView_IsRightToLeft(void* ptr) +{ + return static_cast(ptr)->isRightToLeft(); +} + +void* QStringView_Last(void* ptr) +{ + return new QChar(static_cast(ptr)->last()); +} + +int QStringView_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +char QStringView_StartsWith(void* ptr, void* str, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(str), static_cast(cs)); +} + +char QStringView_StartsWith2(void* ptr, void* l1, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(l1), static_cast(cs)); +} + +char QStringView_StartsWith3(void* ptr, void* ch) +{ + return static_cast(ptr)->startsWith(*static_cast(ch)); +} + +char QStringView_StartsWith4(void* ptr, void* ch, long long cs) +{ + return static_cast(ptr)->startsWith(*static_cast(ch), static_cast(cs)); +} + +void* QStringView_ToLatin1(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toLatin1()); +} + +void* QStringView_ToLocal8Bit(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toLocal8Bit()); +} + +struct QtCore_PackedString QStringView_ToString(void* ptr) +{ + return ({ QByteArray t401ff3 = static_cast(ptr)->toString().toUtf8(); QtCore_PackedString { const_cast(t401ff3.prepend("WHITESPACE").constData()+10), t401ff3.size()-10 }; }); +} + +struct QtCore_PackedList QStringView_ToUcs4(void* ptr) +{ + return ({ QVector* tmpValue713c7b = new QVector(static_cast(ptr)->toUcs4()); QtCore_PackedList { tmpValue713c7b, tmpValue713c7b->size() }; }); +} + +void* QStringView_ToUtf8(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toUtf8()); +} + +void* QStringView_Trimmed(void* ptr) +{ + return new QStringView(static_cast(ptr)->trimmed()); +} + +unsigned int QStringView___convertToUcs4_atList(void* ptr, int i) +{ + return ({uint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QStringView___convertToUcs4_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStringView___convertToUcs4_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QStringView___toUcs4_atList(void* ptr, int i) +{ + return ({uint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QStringView___toUcs4_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStringView___toUcs4_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +int QSysInfo_WordSize_Type() +{ + return QSysInfo::WordSize; +} + +void* QSysInfo_QSysInfo_BootUniqueId() +{ + return new QByteArray(QSysInfo::bootUniqueId()); +} + +struct QtCore_PackedString QSysInfo_QSysInfo_BuildAbi() +{ + return ({ QByteArray t231d28 = QSysInfo::buildAbi().toUtf8(); QtCore_PackedString { const_cast(t231d28.prepend("WHITESPACE").constData()+10), t231d28.size()-10 }; }); +} + +struct QtCore_PackedString QSysInfo_QSysInfo_BuildCpuArchitecture() +{ + return ({ QByteArray t3eb43d = QSysInfo::buildCpuArchitecture().toUtf8(); QtCore_PackedString { const_cast(t3eb43d.prepend("WHITESPACE").constData()+10), t3eb43d.size()-10 }; }); +} + +struct QtCore_PackedString QSysInfo_QSysInfo_CurrentCpuArchitecture() +{ + return ({ QByteArray t58cec8 = QSysInfo::currentCpuArchitecture().toUtf8(); QtCore_PackedString { const_cast(t58cec8.prepend("WHITESPACE").constData()+10), t58cec8.size()-10 }; }); +} + +struct QtCore_PackedString QSysInfo_QSysInfo_KernelType() +{ + return ({ QByteArray t17bcdb = QSysInfo::kernelType().toUtf8(); QtCore_PackedString { const_cast(t17bcdb.prepend("WHITESPACE").constData()+10), t17bcdb.size()-10 }; }); +} + +struct QtCore_PackedString QSysInfo_QSysInfo_KernelVersion() +{ + return ({ QByteArray t25443e = QSysInfo::kernelVersion().toUtf8(); QtCore_PackedString { const_cast(t25443e.prepend("WHITESPACE").constData()+10), t25443e.size()-10 }; }); +} + +struct QtCore_PackedString QSysInfo_QSysInfo_MachineHostName() +{ + return ({ QByteArray t05046f = QSysInfo::machineHostName().toUtf8(); QtCore_PackedString { const_cast(t05046f.prepend("WHITESPACE").constData()+10), t05046f.size()-10 }; }); +} + +void* QSysInfo_QSysInfo_MachineUniqueId() +{ + return new QByteArray(QSysInfo::machineUniqueId()); +} + +struct QtCore_PackedString QSysInfo_QSysInfo_PrettyProductName() +{ + return ({ QByteArray t377223 = QSysInfo::prettyProductName().toUtf8(); QtCore_PackedString { const_cast(t377223.prepend("WHITESPACE").constData()+10), t377223.size()-10 }; }); +} + +struct QtCore_PackedString QSysInfo_QSysInfo_ProductType() +{ + return ({ QByteArray t2dc849 = QSysInfo::productType().toUtf8(); QtCore_PackedString { const_cast(t2dc849.prepend("WHITESPACE").constData()+10), t2dc849.size()-10 }; }); +} + +struct QtCore_PackedString QSysInfo_QSysInfo_ProductVersion() +{ + return ({ QByteArray tf9eb38 = QSysInfo::productVersion().toUtf8(); QtCore_PackedString { const_cast(tf9eb38.prepend("WHITESPACE").constData()+10), tf9eb38.size()-10 }; }); +} + +void* QSystemSemaphore_NewQSystemSemaphore(struct QtCore_PackedString key, int initialValue, long long mode) +{ + return new QSystemSemaphore(QString::fromUtf8(key.data, key.len), initialValue, static_cast(mode)); +} + +char QSystemSemaphore_Acquire(void* ptr) +{ + return static_cast(ptr)->acquire(); +} + +long long QSystemSemaphore_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtCore_PackedString QSystemSemaphore_ErrorString(void* ptr) +{ + return ({ QByteArray te02386 = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(te02386.prepend("WHITESPACE").constData()+10), te02386.size()-10 }; }); +} + +struct QtCore_PackedString QSystemSemaphore_Key(void* ptr) +{ + return ({ QByteArray tdbcddf = static_cast(ptr)->key().toUtf8(); QtCore_PackedString { const_cast(tdbcddf.prepend("WHITESPACE").constData()+10), tdbcddf.size()-10 }; }); +} + +char QSystemSemaphore_Release(void* ptr, int n) +{ + return static_cast(ptr)->release(n); +} + +void QSystemSemaphore_SetKey(void* ptr, struct QtCore_PackedString key, int initialValue, long long mode) +{ + static_cast(ptr)->setKey(QString::fromUtf8(key.data, key.len), initialValue, static_cast(mode)); +} + +void QSystemSemaphore_DestroyQSystemSemaphore(void* ptr) +{ + static_cast(ptr)->~QSystemSemaphore(); +} + +void* QTemporaryDir_NewQTemporaryDir() +{ + return new QTemporaryDir(); +} + +void* QTemporaryDir_NewQTemporaryDir2(struct QtCore_PackedString templatePath) +{ + return new QTemporaryDir(QString::fromUtf8(templatePath.data, templatePath.len)); +} + +char QTemporaryDir_AutoRemove(void* ptr) +{ + return static_cast(ptr)->autoRemove(); +} + +struct QtCore_PackedString QTemporaryDir_ErrorString(void* ptr) +{ + return ({ QByteArray t501345 = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(t501345.prepend("WHITESPACE").constData()+10), t501345.size()-10 }; }); +} + +struct QtCore_PackedString QTemporaryDir_FilePath(void* ptr, struct QtCore_PackedString fileName) +{ + return ({ QByteArray ted61dd = static_cast(ptr)->filePath(QString::fromUtf8(fileName.data, fileName.len)).toUtf8(); QtCore_PackedString { const_cast(ted61dd.prepend("WHITESPACE").constData()+10), ted61dd.size()-10 }; }); +} + +char QTemporaryDir_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +struct QtCore_PackedString QTemporaryDir_Path(void* ptr) +{ + return ({ QByteArray tec09d2 = static_cast(ptr)->path().toUtf8(); QtCore_PackedString { const_cast(tec09d2.prepend("WHITESPACE").constData()+10), tec09d2.size()-10 }; }); +} + +char QTemporaryDir_Remove(void* ptr) +{ + return static_cast(ptr)->remove(); +} + +void QTemporaryDir_SetAutoRemove(void* ptr, char b) +{ + static_cast(ptr)->setAutoRemove(b != 0); +} + +void QTemporaryDir_DestroyQTemporaryDir(void* ptr) +{ + static_cast(ptr)->~QTemporaryDir(); +} + +class MyQTemporaryFile: public QTemporaryFile +{ +public: + MyQTemporaryFile() : QTemporaryFile() {QTemporaryFile_QTemporaryFile_QRegisterMetaType();}; + MyQTemporaryFile(const QString &templateName) : QTemporaryFile(templateName) {QTemporaryFile_QTemporaryFile_QRegisterMetaType();}; + MyQTemporaryFile(QObject *parent) : QTemporaryFile(parent) {QTemporaryFile_QTemporaryFile_QRegisterMetaType();}; + MyQTemporaryFile(const QString &templateName, QObject *parent) : QTemporaryFile(templateName, parent) {QTemporaryFile_QTemporaryFile_QRegisterMetaType();}; + QString fileName() const { return ({ QtCore_PackedString tempVal = callbackQFileDevice_FileName(const_cast(static_cast(this))); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + ~MyQTemporaryFile() { callbackQTemporaryFile_DestroyQTemporaryFile(this); }; + QFileDevice::Permissions permissions() const { return static_cast(callbackQFileDevice_Permissions(const_cast(static_cast(this)))); }; + bool resize(qint64 sz) { return callbackQFileDevice_Resize(this, sz) != 0; }; + bool setPermissions(QFileDevice::Permissions permissions) { return callbackQFileDevice_SetPermissions(this, permissions) != 0; }; + qint64 size() const { return callbackQIODevice_Size(const_cast(static_cast(this))); }; + bool atEnd() const { return callbackQIODevice_AtEnd(const_cast(static_cast(this))) != 0; }; + void close() { callbackQIODevice_Close(this); }; + bool isSequential() const { return callbackQIODevice_IsSequential(const_cast(static_cast(this))) != 0; }; + qint64 pos() const { return callbackQIODevice_Pos(const_cast(static_cast(this))); }; + qint64 readData(char * data, qint64 l) { QtCore_PackedString dataPacked = { data, l };return callbackQFileDevice_ReadData(this, dataPacked, l); }; + qint64 readLineData(char * data, qint64 maxlen) { QtCore_PackedString dataPacked = { data, maxlen };return callbackQIODevice_ReadLineData(this, dataPacked, maxlen); }; + bool seek(qint64 pos) { return callbackQIODevice_Seek(this, pos) != 0; }; + qint64 writeData(const char * data, qint64 l) { QtCore_PackedString dataPacked = { const_cast(data), l };return callbackQFileDevice_WriteData(this, dataPacked, l); }; + void Signal_AboutToClose() { callbackQIODevice_AboutToClose(this); }; + qint64 bytesAvailable() const { return callbackQIODevice_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQIODevice_BytesToWrite(const_cast(static_cast(this))); }; + void Signal_BytesWritten(qint64 bytes) { callbackQIODevice_BytesWritten(this, bytes); }; + bool canReadLine() const { return callbackQIODevice_CanReadLine(const_cast(static_cast(this))) != 0; }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQIODevice_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQIODevice_ChannelReadyRead(this, channel); }; + void Signal_ReadChannelFinished() { callbackQIODevice_ReadChannelFinished(this); }; + void Signal_ReadyRead() { callbackQIODevice_ReadyRead(this); }; + bool reset() { return callbackQIODevice_Reset(this) != 0; }; + bool waitForBytesWritten(int msecs) { return callbackQIODevice_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQIODevice_WaitForReadyRead(this, msecs) != 0; }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTemporaryFile*) + +int QTemporaryFile_QTemporaryFile_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTemporaryFile_NewQTemporaryFile() +{ + return new MyQTemporaryFile(); +} + +void* QTemporaryFile_NewQTemporaryFile2(struct QtCore_PackedString templateName) +{ + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len)); +} + +void* QTemporaryFile_NewQTemporaryFile3(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(static_cast(parent)); + } else { + return new MyQTemporaryFile(static_cast(parent)); + } +} + +void* QTemporaryFile_NewQTemporaryFile4(struct QtCore_PackedString templateName, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } else { + return new MyQTemporaryFile(QString::fromUtf8(templateName.data, templateName.len), static_cast(parent)); + } +} + +char QTemporaryFile_AutoRemove(void* ptr) +{ + return static_cast(ptr)->autoRemove(); +} + +void* QTemporaryFile_QTemporaryFile_CreateNativeFile(void* file) +{ + return QTemporaryFile::createNativeFile(*static_cast(file)); +} + +void* QTemporaryFile_QTemporaryFile_CreateNativeFile2(struct QtCore_PackedString fileName) +{ + return QTemporaryFile::createNativeFile(QString::fromUtf8(fileName.data, fileName.len)); +} + +struct QtCore_PackedString QTemporaryFile_FileTemplate(void* ptr) +{ + return ({ QByteArray t23cbd0 = static_cast(ptr)->fileTemplate().toUtf8(); QtCore_PackedString { const_cast(t23cbd0.prepend("WHITESPACE").constData()+10), t23cbd0.size()-10 }; }); +} + +char QTemporaryFile_Open(void* ptr) +{ + return static_cast(ptr)->open(); +} + +void QTemporaryFile_SetAutoRemove(void* ptr, char b) +{ + static_cast(ptr)->setAutoRemove(b != 0); +} + +void QTemporaryFile_SetFileTemplate(void* ptr, struct QtCore_PackedString name) +{ + static_cast(ptr)->setFileTemplate(QString::fromUtf8(name.data, name.len)); +} + +void QTemporaryFile_DestroyQTemporaryFile(void* ptr) +{ + static_cast(ptr)->~QTemporaryFile(); +} + +void QTemporaryFile_DestroyQTemporaryFileDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTextBoundaryFinder_NewQTextBoundaryFinder() +{ + return new QTextBoundaryFinder(); +} + +void* QTextBoundaryFinder_NewQTextBoundaryFinder2(void* other) +{ + return new QTextBoundaryFinder(*static_cast(other)); +} + +void* QTextBoundaryFinder_NewQTextBoundaryFinder3(long long ty, struct QtCore_PackedString stri) +{ + return new QTextBoundaryFinder(static_cast(ty), QString::fromUtf8(stri.data, stri.len)); +} + +long long QTextBoundaryFinder_BoundaryReasons(void* ptr) +{ + return static_cast(ptr)->boundaryReasons(); +} + +char QTextBoundaryFinder_IsAtBoundary(void* ptr) +{ + return static_cast(ptr)->isAtBoundary(); +} + +char QTextBoundaryFinder_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QTextBoundaryFinder_Position(void* ptr) +{ + return static_cast(ptr)->position(); +} + +void QTextBoundaryFinder_SetPosition(void* ptr, int position) +{ + static_cast(ptr)->setPosition(position); +} + +struct QtCore_PackedString QTextBoundaryFinder_String(void* ptr) +{ + return ({ QByteArray t2d3858 = static_cast(ptr)->string().toUtf8(); QtCore_PackedString { const_cast(t2d3858.prepend("WHITESPACE").constData()+10), t2d3858.size()-10 }; }); +} + +void QTextBoundaryFinder_ToEnd(void* ptr) +{ + static_cast(ptr)->toEnd(); +} + +int QTextBoundaryFinder_ToNextBoundary(void* ptr) +{ + return static_cast(ptr)->toNextBoundary(); +} + +int QTextBoundaryFinder_ToPreviousBoundary(void* ptr) +{ + return static_cast(ptr)->toPreviousBoundary(); +} + +void QTextBoundaryFinder_ToStart(void* ptr) +{ + static_cast(ptr)->toStart(); +} + +long long QTextBoundaryFinder_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QTextBoundaryFinder_DestroyQTextBoundaryFinder(void* ptr) +{ + static_cast(ptr)->~QTextBoundaryFinder(); +} + +class MyQTextCodec: public QTextCodec +{ +public: + QList aliases() const { return ({ QList* tmpP = static_cast*>(callbackQTextCodec_Aliases(const_cast(static_cast(this)))); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + int mibEnum() const { return callbackQTextCodec_MibEnum(const_cast(static_cast(this))); }; + QByteArray name() const { return *static_cast(callbackQTextCodec_Name(const_cast(static_cast(this)))); }; + ~MyQTextCodec() { callbackQTextCodec_DestroyQTextCodec(this); }; +}; + +struct QtCore_PackedList QTextCodec_Aliases(void* ptr) +{ + return ({ QList* tmpValueb6774e = new QList(static_cast(ptr)->aliases()); QtCore_PackedList { tmpValueb6774e, tmpValueb6774e->size() }; }); +} + +struct QtCore_PackedList QTextCodec_AliasesDefault(void* ptr) +{ + return ({ QList* tmpValuee659dd = new QList(static_cast(ptr)->QTextCodec::aliases()); QtCore_PackedList { tmpValuee659dd, tmpValuee659dd->size() }; }); +} + +struct QtCore_PackedList QTextCodec_QTextCodec_AvailableCodecs() +{ + return ({ QList* tmpValue6a90cd = new QList(QTextCodec::availableCodecs()); QtCore_PackedList { tmpValue6a90cd, tmpValue6a90cd->size() }; }); +} + +struct QtCore_PackedList QTextCodec_QTextCodec_AvailableMibs() +{ + return ({ QList* tmpValuef6e6be = new QList(QTextCodec::availableMibs()); QtCore_PackedList { tmpValuef6e6be, tmpValuef6e6be->size() }; }); +} + +char QTextCodec_CanEncode(void* ptr, void* ch) +{ + return static_cast(ptr)->canEncode(*static_cast(ch)); +} + +char QTextCodec_CanEncode2(void* ptr, struct QtCore_PackedString s) +{ + return static_cast(ptr)->canEncode(QString::fromUtf8(s.data, s.len)); +} + +char QTextCodec_CanEncode3(void* ptr, void* s) +{ + return static_cast(ptr)->canEncode(*static_cast(s)); +} + +void* QTextCodec_QTextCodec_CodecForHtml(void* ba, void* defaultCodec) +{ + return QTextCodec::codecForHtml(*static_cast(ba), static_cast(defaultCodec)); +} + +void* QTextCodec_QTextCodec_CodecForHtml2(void* ba) +{ + return QTextCodec::codecForHtml(*static_cast(ba)); +} + +void* QTextCodec_QTextCodec_CodecForLocale() +{ + return QTextCodec::codecForLocale(); +} + +void* QTextCodec_QTextCodec_CodecForMib(int mib) +{ + return QTextCodec::codecForMib(mib); +} + +void* QTextCodec_QTextCodec_CodecForName(void* name) +{ + return QTextCodec::codecForName(*static_cast(name)); +} + +void* QTextCodec_QTextCodec_CodecForName2(char* name) +{ + return QTextCodec::codecForName(const_cast(name)); +} + +void* QTextCodec_QTextCodec_CodecForUtfText(void* ba, void* defaultCodec) +{ + return QTextCodec::codecForUtfText(*static_cast(ba), static_cast(defaultCodec)); +} + +void* QTextCodec_QTextCodec_CodecForUtfText2(void* ba) +{ + return QTextCodec::codecForUtfText(*static_cast(ba)); +} + +void* QTextCodec_FromUnicode(void* ptr, struct QtCore_PackedString str) +{ + return new QByteArray(static_cast(ptr)->fromUnicode(QString::fromUtf8(str.data, str.len))); +} + +void* QTextCodec_FromUnicode2(void* ptr, void* str) +{ + return new QByteArray(static_cast(ptr)->fromUnicode(*static_cast(str))); +} + +void* QTextCodec_MakeDecoder(void* ptr, long long flags) +{ + return static_cast(ptr)->makeDecoder(static_cast(flags)); +} + +void* QTextCodec_MakeEncoder(void* ptr, long long flags) +{ + return static_cast(ptr)->makeEncoder(static_cast(flags)); +} + +int QTextCodec_MibEnum(void* ptr) +{ + return static_cast(ptr)->mibEnum(); +} + +void* QTextCodec_Name(void* ptr) +{ + return new QByteArray(static_cast(ptr)->name()); +} + +void QTextCodec_QTextCodec_SetCodecForLocale(void* c) +{ + QTextCodec::setCodecForLocale(static_cast(c)); +} + +struct QtCore_PackedString QTextCodec_ToUnicode(void* ptr, void* a) +{ + return ({ QByteArray te3183b = static_cast(ptr)->toUnicode(*static_cast(a)).toUtf8(); QtCore_PackedString { const_cast(te3183b.prepend("WHITESPACE").constData()+10), te3183b.size()-10 }; }); +} + +struct QtCore_PackedString QTextCodec_ToUnicode2(void* ptr, char* chars) +{ + return ({ QByteArray t6b92b5 = static_cast(ptr)->toUnicode(const_cast(chars)).toUtf8(); QtCore_PackedString { const_cast(t6b92b5.prepend("WHITESPACE").constData()+10), t6b92b5.size()-10 }; }); +} + +void QTextCodec_DestroyQTextCodec(void* ptr) +{ + static_cast(ptr)->~QTextCodec(); +} + +void QTextCodec_DestroyQTextCodecDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTextCodec___aliases_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTextCodec___aliases_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextCodec___aliases_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextCodec___availableCodecs_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTextCodec___availableCodecs_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextCodec___availableCodecs_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QTextCodec___availableMibs_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextCodec___availableMibs_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QTextCodec___availableMibs_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextDecoder_NewQTextDecoder2(void* codec) +{ + return new QTextDecoder(static_cast(codec)); +} + +void* QTextDecoder_NewQTextDecoder3(void* codec, long long flags) +{ + return new QTextDecoder(static_cast(codec), static_cast(flags)); +} + +struct QtCore_PackedString QTextDecoder_ToUnicode(void* ptr, char* chars, int l) +{ + return ({ QByteArray t9f8601 = static_cast(ptr)->toUnicode(const_cast(chars), l).toUtf8(); QtCore_PackedString { const_cast(t9f8601.prepend("WHITESPACE").constData()+10), t9f8601.size()-10 }; }); +} + +struct QtCore_PackedString QTextDecoder_ToUnicode2(void* ptr, void* ba) +{ + return ({ QByteArray t597c34 = static_cast(ptr)->toUnicode(*static_cast(ba)).toUtf8(); QtCore_PackedString { const_cast(t597c34.prepend("WHITESPACE").constData()+10), t597c34.size()-10 }; }); +} + +void QTextDecoder_ToUnicode3(void* ptr, struct QtCore_PackedString target, char* chars, int l) +{ + static_cast(ptr)->toUnicode(new QString(QString::fromUtf8(target.data, target.len)), const_cast(chars), l); +} + +void QTextDecoder_DestroyQTextDecoder(void* ptr) +{ + static_cast(ptr)->~QTextDecoder(); +} + +void* QTextEncoder_NewQTextEncoder2(void* codec) +{ + return new QTextEncoder(static_cast(codec)); +} + +void* QTextEncoder_NewQTextEncoder3(void* codec, long long flags) +{ + return new QTextEncoder(static_cast(codec), static_cast(flags)); +} + +void* QTextEncoder_FromUnicode(void* ptr, struct QtCore_PackedString str) +{ + return new QByteArray(static_cast(ptr)->fromUnicode(QString::fromUtf8(str.data, str.len))); +} + +void* QTextEncoder_FromUnicode2(void* ptr, void* str) +{ + return new QByteArray(static_cast(ptr)->fromUnicode(*static_cast(str))); +} + +void* QTextEncoder_FromUnicode3(void* ptr, void* uc, int l) +{ + return new QByteArray(static_cast(ptr)->fromUnicode(static_cast(uc), l)); +} + +void QTextEncoder_DestroyQTextEncoder(void* ptr) +{ + static_cast(ptr)->~QTextEncoder(); +} + +class MyQTextStream: public QTextStream +{ +public: + MyQTextStream() : QTextStream() {}; + MyQTextStream(QIODevice *device) : QTextStream(device) {}; + MyQTextStream(QString *stri, QIODevice::OpenMode openMode = QIODevice::ReadWrite) : QTextStream(stri, openMode) {}; + MyQTextStream(QByteArray *array, QIODevice::OpenMode openMode = QIODevice::ReadWrite) : QTextStream(array, openMode) {}; + MyQTextStream(const QByteArray &array, QIODevice::OpenMode openMode = QIODevice::ReadOnly) : QTextStream(array, openMode) {}; + ~MyQTextStream() { callbackQTextStream_DestroyQTextStream(this); }; +}; + +void* QTextStream_NewQTextStream() +{ + return new MyQTextStream(); +} + +void* QTextStream_NewQTextStream2(void* device) +{ + return new MyQTextStream(static_cast(device)); +} + +void* QTextStream_NewQTextStream4(struct QtCore_PackedString stri, long long openMode) +{ + return new MyQTextStream(new QString(QString::fromUtf8(stri.data, stri.len)), static_cast(openMode)); +} + +void* QTextStream_NewQTextStream5(void* array, long long openMode) +{ + return new MyQTextStream(static_cast(array), static_cast(openMode)); +} + +void* QTextStream_NewQTextStream6(void* array, long long openMode) +{ + return new MyQTextStream(*static_cast(array), static_cast(openMode)); +} + +char QTextStream_AtEnd(void* ptr) +{ + return static_cast(ptr)->atEnd(); +} + +char QTextStream_AutoDetectUnicode(void* ptr) +{ + return static_cast(ptr)->autoDetectUnicode(); +} + +void* QTextStream_Codec(void* ptr) +{ + return static_cast(ptr)->codec(); +} + +void* QTextStream_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +long long QTextStream_FieldAlignment(void* ptr) +{ + return static_cast(ptr)->fieldAlignment(); +} + +int QTextStream_FieldWidth(void* ptr) +{ + return static_cast(ptr)->fieldWidth(); +} + +void QTextStream_Flush(void* ptr) +{ + static_cast(ptr)->flush(); +} + +char QTextStream_GenerateByteOrderMark(void* ptr) +{ + return static_cast(ptr)->generateByteOrderMark(); +} + +int QTextStream_IntegerBase(void* ptr) +{ + return static_cast(ptr)->integerBase(); +} + +void* QTextStream_Locale(void* ptr) +{ + return new QLocale(static_cast(ptr)->locale()); +} + +long long QTextStream_NumberFlags(void* ptr) +{ + return static_cast(ptr)->numberFlags(); +} + +void* QTextStream_PadChar(void* ptr) +{ + return new QChar(static_cast(ptr)->padChar()); +} + +long long QTextStream_Pos(void* ptr) +{ + return static_cast(ptr)->pos(); +} + +struct QtCore_PackedString QTextStream_Read(void* ptr, long long maxlen) +{ + return ({ QByteArray t1ba29b = static_cast(ptr)->read(maxlen).toUtf8(); QtCore_PackedString { const_cast(t1ba29b.prepend("WHITESPACE").constData()+10), t1ba29b.size()-10 }; }); +} + +struct QtCore_PackedString QTextStream_ReadAll(void* ptr) +{ + return ({ QByteArray t3976a4 = static_cast(ptr)->readAll().toUtf8(); QtCore_PackedString { const_cast(t3976a4.prepend("WHITESPACE").constData()+10), t3976a4.size()-10 }; }); +} + +struct QtCore_PackedString QTextStream_ReadLine(void* ptr, long long maxlen) +{ + return ({ QByteArray t7fab2e = static_cast(ptr)->readLine(maxlen).toUtf8(); QtCore_PackedString { const_cast(t7fab2e.prepend("WHITESPACE").constData()+10), t7fab2e.size()-10 }; }); +} + +char QTextStream_ReadLineInto(void* ptr, struct QtCore_PackedString line, long long maxlen) +{ + return static_cast(ptr)->readLineInto(new QString(QString::fromUtf8(line.data, line.len)), maxlen); +} + +long long QTextStream_RealNumberNotation(void* ptr) +{ + return static_cast(ptr)->realNumberNotation(); +} + +int QTextStream_RealNumberPrecision(void* ptr) +{ + return static_cast(ptr)->realNumberPrecision(); +} + +void QTextStream_Reset(void* ptr) +{ + static_cast(ptr)->reset(); +} + +void QTextStream_ResetStatus(void* ptr) +{ + static_cast(ptr)->resetStatus(); +} + +char QTextStream_Seek(void* ptr, long long pos) +{ + return static_cast(ptr)->seek(pos); +} + +void QTextStream_SetAutoDetectUnicode(void* ptr, char enabled) +{ + static_cast(ptr)->setAutoDetectUnicode(enabled != 0); +} + +void QTextStream_SetCodec(void* ptr, void* codec) +{ + static_cast(ptr)->setCodec(static_cast(codec)); +} + +void QTextStream_SetCodec2(void* ptr, char* codecName) +{ + static_cast(ptr)->setCodec(const_cast(codecName)); +} + +void QTextStream_SetDevice(void* ptr, void* device) +{ + static_cast(ptr)->setDevice(static_cast(device)); +} + +void QTextStream_SetFieldAlignment(void* ptr, long long mode) +{ + static_cast(ptr)->setFieldAlignment(static_cast(mode)); +} + +void QTextStream_SetFieldWidth(void* ptr, int width) +{ + static_cast(ptr)->setFieldWidth(width); +} + +void QTextStream_SetGenerateByteOrderMark(void* ptr, char generate) +{ + static_cast(ptr)->setGenerateByteOrderMark(generate != 0); +} + +void QTextStream_SetIntegerBase(void* ptr, int base) +{ + static_cast(ptr)->setIntegerBase(base); +} + +void QTextStream_SetLocale(void* ptr, void* locale) +{ + static_cast(ptr)->setLocale(*static_cast(locale)); +} + +void QTextStream_SetNumberFlags(void* ptr, long long flags) +{ + static_cast(ptr)->setNumberFlags(static_cast(flags)); +} + +void QTextStream_SetPadChar(void* ptr, void* ch) +{ + static_cast(ptr)->setPadChar(*static_cast(ch)); +} + +void QTextStream_SetRealNumberNotation(void* ptr, long long notation) +{ + static_cast(ptr)->setRealNumberNotation(static_cast(notation)); +} + +void QTextStream_SetRealNumberPrecision(void* ptr, int precision) +{ + static_cast(ptr)->setRealNumberPrecision(precision); +} + +void QTextStream_SetStatus(void* ptr, long long status) +{ + static_cast(ptr)->setStatus(static_cast(status)); +} + +void QTextStream_SetString(void* ptr, struct QtCore_PackedString stri, long long openMode) +{ + static_cast(ptr)->setString(new QString(QString::fromUtf8(stri.data, stri.len)), static_cast(openMode)); +} + +void QTextStream_SkipWhiteSpace(void* ptr) +{ + static_cast(ptr)->skipWhiteSpace(); +} + +long long QTextStream_Status(void* ptr) +{ + return static_cast(ptr)->status(); +} + +struct QtCore_PackedString QTextStream_String(void* ptr) +{ + return ({ QByteArray t586a42 = static_cast(ptr)->string()->toUtf8(); QtCore_PackedString { const_cast(t586a42.prepend("WHITESPACE").constData()+10), t586a42.size()-10 }; }); +} + +void QTextStream_DestroyQTextStream(void* ptr) +{ + static_cast(ptr)->~QTextStream(); +} + +void QTextStream_DestroyQTextStreamDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQThread: public QThread +{ +public: + MyQThread(QObject *parent = Q_NULLPTR) : QThread(parent) {QThread_QThread_QRegisterMetaType();}; + bool event(QEvent * event) { return callbackQObject_Event(this, event) != 0; }; + void Signal_Finished() { callbackQThread_Finished(this); }; + void quit() { callbackQThread_Quit(this); }; + void run() { callbackQThread_Run(this); }; + void start() { callbackQThread_Start(this); }; + void Signal_Started() { callbackQThread_Started(this); }; + void terminate() { callbackQThread_Terminate(this); }; + ~MyQThread() { callbackQThread_DestroyQThread(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQThread*) + +int QThread_QThread_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QThread_NewQThread(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThread(static_cast(parent)); + } else { + return new MyQThread(static_cast(parent)); + } +} + +void* QThread_QThread_CurrentThread() +{ + return QThread::currentThread(); +} + +void* QThread_EventDispatcher(void* ptr) +{ + return static_cast(ptr)->eventDispatcher(); +} + +int QThread_Exec(void* ptr) +{ + return static_cast(ptr)->exec(); +} + +void QThread_Exit(void* ptr, int returnCode) +{ + static_cast(ptr)->exit(returnCode); +} + +void QThread_ConnectFinished(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QThread::finished, static_cast(ptr), static_cast(&MyQThread::Signal_Finished), static_cast(t)); +} + +void QThread_DisconnectFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QThread::finished, static_cast(ptr), static_cast(&MyQThread::Signal_Finished)); +} + +int QThread_QThread_IdealThreadCount() +{ + return QThread::idealThreadCount(); +} + +char QThread_IsFinished(void* ptr) +{ + return static_cast(ptr)->isFinished(); +} + +char QThread_IsInterruptionRequested(void* ptr) +{ + return static_cast(ptr)->isInterruptionRequested(); +} + +char QThread_IsRunning(void* ptr) +{ + return static_cast(ptr)->isRunning(); +} + +int QThread_LoopLevel(void* ptr) +{ + return static_cast(ptr)->loopLevel(); +} + +void QThread_QThread_Msleep(unsigned long msecs) +{ + QThread::msleep(msecs); +} + +long long QThread_Priority(void* ptr) +{ + return static_cast(ptr)->priority(); +} + +void QThread_Quit(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "quit"); +} + +void QThread_QuitDefault(void* ptr) +{ + static_cast(ptr)->QThread::quit(); +} + +void QThread_RequestInterruption(void* ptr) +{ + static_cast(ptr)->requestInterruption(); +} + +void QThread_Run(void* ptr) +{ + static_cast(ptr)->run(); +} + +void QThread_RunDefault(void* ptr) +{ + static_cast(ptr)->QThread::run(); +} + +void QThread_SetEventDispatcher(void* ptr, void* eventDispatcher) +{ + static_cast(ptr)->setEventDispatcher(static_cast(eventDispatcher)); +} + +void QThread_SetPriority(void* ptr, long long priority) +{ + static_cast(ptr)->setPriority(static_cast(priority)); +} + +void QThread_SetStackSize(void* ptr, unsigned int stackSize) +{ + static_cast(ptr)->setStackSize(stackSize); +} + +void QThread_QThread_SetTerminationEnabled(char enabled) +{ + QThread::setTerminationEnabled(enabled != 0); +} + +void QThread_QThread_Sleep(unsigned long secs) +{ + QThread::sleep(secs); +} + +unsigned int QThread_StackSize(void* ptr) +{ + return static_cast(ptr)->stackSize(); +} + +void QThread_Start(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "start"); +} + +void QThread_StartDefault(void* ptr) +{ + static_cast(ptr)->QThread::start(); +} + +void QThread_ConnectStarted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QThread::started, static_cast(ptr), static_cast(&MyQThread::Signal_Started), static_cast(t)); +} + +void QThread_DisconnectStarted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QThread::started, static_cast(ptr), static_cast(&MyQThread::Signal_Started)); +} + +void QThread_Terminate(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "terminate"); +} + +void QThread_TerminateDefault(void* ptr) +{ + static_cast(ptr)->QThread::terminate(); +} + +void QThread_QThread_Usleep(unsigned long usecs) +{ + QThread::usleep(usecs); +} + +char QThread_Wait(void* ptr, unsigned long ti) +{ + return static_cast(ptr)->wait(ti); +} + +void QThread_QThread_YieldCurrentThread() +{ + QThread::yieldCurrentThread(); +} + +void QThread_DestroyQThread(void* ptr) +{ + static_cast(ptr)->~QThread(); +} + +void QThread_DestroyQThreadDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQThreadPool: public QThreadPool +{ +public: + MyQThreadPool(QObject *parent = Q_NULLPTR) : QThreadPool(parent) {QThreadPool_QThreadPool_QRegisterMetaType();}; + ~MyQThreadPool() { callbackQThreadPool_DestroyQThreadPool(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQThreadPool*) + +int QThreadPool_QThreadPool_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QThreadPool_NewQThreadPool(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQThreadPool(static_cast(parent)); + } else { + return new MyQThreadPool(static_cast(parent)); + } +} + +int QThreadPool_ActiveThreadCount(void* ptr) +{ + return static_cast(ptr)->activeThreadCount(); +} + +void QThreadPool_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +int QThreadPool_ExpiryTimeout(void* ptr) +{ + return static_cast(ptr)->expiryTimeout(); +} + +void* QThreadPool_QThreadPool_GlobalInstance() +{ + return QThreadPool::globalInstance(); +} + +int QThreadPool_MaxThreadCount(void* ptr) +{ + return static_cast(ptr)->maxThreadCount(); +} + +void QThreadPool_ReleaseThread(void* ptr) +{ + static_cast(ptr)->releaseThread(); +} + +void QThreadPool_ReserveThread(void* ptr) +{ + static_cast(ptr)->reserveThread(); +} + +void QThreadPool_SetExpiryTimeout(void* ptr, int expiryTimeout) +{ + static_cast(ptr)->setExpiryTimeout(expiryTimeout); +} + +void QThreadPool_SetMaxThreadCount(void* ptr, int maxThreadCount) +{ + static_cast(ptr)->setMaxThreadCount(maxThreadCount); +} + +void QThreadPool_SetStackSize(void* ptr, unsigned int stackSize) +{ + static_cast(ptr)->setStackSize(stackSize); +} + +unsigned int QThreadPool_StackSize(void* ptr) +{ + return static_cast(ptr)->stackSize(); +} + +void QThreadPool_Start(void* ptr, void* runnable, int priority) +{ + static_cast(ptr)->start(static_cast(runnable), priority); +} + +char QThreadPool_TryStart(void* ptr, void* runnable) +{ + return static_cast(ptr)->tryStart(static_cast(runnable)); +} + +char QThreadPool_TryTake(void* ptr, void* runnable) +{ + return static_cast(ptr)->tryTake(static_cast(runnable)); +} + +char QThreadPool_WaitForDone(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForDone(msecs); +} + +void QThreadPool_DestroyQThreadPool(void* ptr) +{ + static_cast(ptr)->~QThreadPool(); +} + +void QThreadPool_DestroyQThreadPoolDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTime_NewQTime2() +{ + return new QTime(); +} + +void* QTime_NewQTime3(int h, int m, int s, int ms) +{ + return new QTime(h, m, s, ms); +} + +void* QTime_AddMSecs(void* ptr, int ms) +{ + return new QTime(static_cast(ptr)->addMSecs(ms)); +} + +void* QTime_AddSecs(void* ptr, int s) +{ + return new QTime(static_cast(ptr)->addSecs(s)); +} + +void* QTime_QTime_CurrentTime() +{ + return new QTime(QTime::currentTime()); +} + +int QTime_Elapsed(void* ptr) +{ + return static_cast(ptr)->elapsed(); +} + +void* QTime_QTime_FromMSecsSinceStartOfDay(int msecs) +{ + return new QTime(QTime::fromMSecsSinceStartOfDay(msecs)); +} + +void* QTime_QTime_FromString(struct QtCore_PackedString stri, long long format) +{ + return new QTime(QTime::fromString(QString::fromUtf8(stri.data, stri.len), static_cast(format))); +} + +void* QTime_QTime_FromString2(struct QtCore_PackedString stri, struct QtCore_PackedString format) +{ + return new QTime(QTime::fromString(QString::fromUtf8(stri.data, stri.len), QString::fromUtf8(format.data, format.len))); +} + +int QTime_Hour(void* ptr) +{ + return static_cast(ptr)->hour(); +} + +char QTime_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QTime_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QTime_QTime_IsValid2(int h, int m, int s, int ms) +{ + return QTime::isValid(h, m, s, ms); +} + +int QTime_Minute(void* ptr) +{ + return static_cast(ptr)->minute(); +} + +int QTime_Msec(void* ptr) +{ + return static_cast(ptr)->msec(); +} + +int QTime_MsecsSinceStartOfDay(void* ptr) +{ + return static_cast(ptr)->msecsSinceStartOfDay(); +} + +int QTime_MsecsTo(void* ptr, void* t) +{ + return static_cast(ptr)->msecsTo(*static_cast(t)); +} + +int QTime_Restart(void* ptr) +{ + return static_cast(ptr)->restart(); +} + +int QTime_Second(void* ptr) +{ + return static_cast(ptr)->second(); +} + +int QTime_SecsTo(void* ptr, void* t) +{ + return static_cast(ptr)->secsTo(*static_cast(t)); +} + +char QTime_SetHMS(void* ptr, int h, int m, int s, int ms) +{ + return static_cast(ptr)->setHMS(h, m, s, ms); +} + +void QTime_Start(void* ptr) +{ + static_cast(ptr)->start(); +} + +struct QtCore_PackedString QTime_ToString(void* ptr, struct QtCore_PackedString format) +{ + return ({ QByteArray t864fb5 = static_cast(ptr)->toString(QString::fromUtf8(format.data, format.len)).toUtf8(); QtCore_PackedString { const_cast(t864fb5.prepend("WHITESPACE").constData()+10), t864fb5.size()-10 }; }); +} + +struct QtCore_PackedString QTime_ToString2(void* ptr, long long format) +{ + return ({ QByteArray tb222d7 = static_cast(ptr)->toString(static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(tb222d7.prepend("WHITESPACE").constData()+10), tb222d7.size()-10 }; }); +} + +struct QtCore_PackedString QTime_ToString3(void* ptr, void* format) +{ + return ({ QByteArray t3aabc8 = static_cast(ptr)->toString(*static_cast(format)).toUtf8(); QtCore_PackedString { const_cast(t3aabc8.prepend("WHITESPACE").constData()+10), t3aabc8.size()-10 }; }); +} + +class MyQTimeLine: public QTimeLine +{ +public: + MyQTimeLine(int duration = 1000, QObject *parent = Q_NULLPTR) : QTimeLine(duration, parent) {QTimeLine_QTimeLine_QRegisterMetaType();}; + void Signal_Finished() { callbackQTimeLine_Finished(this); }; + void Signal_FrameChanged(int frame) { callbackQTimeLine_FrameChanged(this, frame); }; + void resume() { callbackQTimeLine_Resume(this); }; + void setCurrentTime(int msec) { callbackQTimeLine_SetCurrentTime(this, msec); }; + void setPaused(bool paused) { callbackQTimeLine_SetPaused(this, paused); }; + void start() { callbackQTimeLine_Start(this); }; + void Signal_StateChanged(QTimeLine::State newState) { callbackQTimeLine_StateChanged(this, newState); }; + void stop() { callbackQTimeLine_Stop(this); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; + void toggleDirection() { callbackQTimeLine_ToggleDirection(this); }; + void Signal_ValueChanged(qreal value) { callbackQTimeLine_ValueChanged(this, value); }; + qreal valueForTime(int msec) const { return callbackQTimeLine_ValueForTime(const_cast(static_cast(this)), msec); }; + ~MyQTimeLine() { callbackQTimeLine_DestroyQTimeLine(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; +}; + +Q_DECLARE_METATYPE(MyQTimeLine*) + +int QTimeLine_QTimeLine_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTimeLine_NewQTimeLine(int duration, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimeLine(duration, static_cast(parent)); + } else { + return new MyQTimeLine(duration, static_cast(parent)); + } +} + +int QTimeLine_CurrentFrame(void* ptr) +{ + return static_cast(ptr)->currentFrame(); +} + +int QTimeLine_CurrentTime(void* ptr) +{ + return static_cast(ptr)->currentTime(); +} + +double QTimeLine_CurrentValue(void* ptr) +{ + return static_cast(ptr)->currentValue(); +} + +long long QTimeLine_CurveShape(void* ptr) +{ + return static_cast(ptr)->curveShape(); +} + +long long QTimeLine_Direction(void* ptr) +{ + return static_cast(ptr)->direction(); +} + +int QTimeLine_Duration(void* ptr) +{ + return static_cast(ptr)->duration(); +} + +void* QTimeLine_EasingCurve(void* ptr) +{ + return new QEasingCurve(static_cast(ptr)->easingCurve()); +} + +int QTimeLine_EndFrame(void* ptr) +{ + return static_cast(ptr)->endFrame(); +} + +void QTimeLine_ConnectFinished(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QTimeLine::finished, static_cast(ptr), static_cast(&MyQTimeLine::Signal_Finished), static_cast(t)); +} + +void QTimeLine_DisconnectFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QTimeLine::finished, static_cast(ptr), static_cast(&MyQTimeLine::Signal_Finished)); +} + +void QTimeLine_ConnectFrameChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QTimeLine::frameChanged, static_cast(ptr), static_cast(&MyQTimeLine::Signal_FrameChanged), static_cast(t)); +} + +void QTimeLine_DisconnectFrameChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QTimeLine::frameChanged, static_cast(ptr), static_cast(&MyQTimeLine::Signal_FrameChanged)); +} + +int QTimeLine_FrameForTime(void* ptr, int msec) +{ + return static_cast(ptr)->frameForTime(msec); +} + +int QTimeLine_LoopCount(void* ptr) +{ + return static_cast(ptr)->loopCount(); +} + +void QTimeLine_Resume(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "resume"); +} + +void QTimeLine_ResumeDefault(void* ptr) +{ + static_cast(ptr)->QTimeLine::resume(); +} + +void QTimeLine_SetCurrentTime(void* ptr, int msec) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setCurrentTime", Q_ARG(int, msec)); +} + +void QTimeLine_SetCurrentTimeDefault(void* ptr, int msec) +{ + static_cast(ptr)->QTimeLine::setCurrentTime(msec); +} + +void QTimeLine_SetCurveShape(void* ptr, long long shape) +{ + static_cast(ptr)->setCurveShape(static_cast(shape)); +} + +void QTimeLine_SetDirection(void* ptr, long long direction) +{ + static_cast(ptr)->setDirection(static_cast(direction)); +} + +void QTimeLine_SetDuration(void* ptr, int duration) +{ + static_cast(ptr)->setDuration(duration); +} + +void QTimeLine_SetEasingCurve(void* ptr, void* curve) +{ + static_cast(ptr)->setEasingCurve(*static_cast(curve)); +} + +void QTimeLine_SetEndFrame(void* ptr, int frame) +{ + static_cast(ptr)->setEndFrame(frame); +} + +void QTimeLine_SetFrameRange(void* ptr, int startFrame, int endFrame) +{ + static_cast(ptr)->setFrameRange(startFrame, endFrame); +} + +void QTimeLine_SetLoopCount(void* ptr, int count) +{ + static_cast(ptr)->setLoopCount(count); +} + +void QTimeLine_SetPaused(void* ptr, char paused) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setPaused", Q_ARG(bool, paused != 0)); +} + +void QTimeLine_SetPausedDefault(void* ptr, char paused) +{ + static_cast(ptr)->QTimeLine::setPaused(paused != 0); +} + +void QTimeLine_SetStartFrame(void* ptr, int frame) +{ + static_cast(ptr)->setStartFrame(frame); +} + +void QTimeLine_SetUpdateInterval(void* ptr, int interval) +{ + static_cast(ptr)->setUpdateInterval(interval); +} + +void QTimeLine_Start(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "start"); +} + +void QTimeLine_StartDefault(void* ptr) +{ + static_cast(ptr)->QTimeLine::start(); +} + +int QTimeLine_StartFrame(void* ptr) +{ + return static_cast(ptr)->startFrame(); +} + +long long QTimeLine_State(void* ptr) +{ + return static_cast(ptr)->state(); +} + +void QTimeLine_ConnectStateChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QTimeLine::stateChanged, static_cast(ptr), static_cast(&MyQTimeLine::Signal_StateChanged), static_cast(t)); +} + +void QTimeLine_DisconnectStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QTimeLine::stateChanged, static_cast(ptr), static_cast(&MyQTimeLine::Signal_StateChanged)); +} + +void QTimeLine_Stop(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "stop"); +} + +void QTimeLine_StopDefault(void* ptr) +{ + static_cast(ptr)->QTimeLine::stop(); +} + +void QTimeLine_ToggleDirection(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "toggleDirection"); +} + +void QTimeLine_ToggleDirectionDefault(void* ptr) +{ + static_cast(ptr)->QTimeLine::toggleDirection(); +} + +int QTimeLine_UpdateInterval(void* ptr) +{ + return static_cast(ptr)->updateInterval(); +} + +void QTimeLine_ConnectValueChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QTimeLine::valueChanged, static_cast(ptr), static_cast(&MyQTimeLine::Signal_ValueChanged), static_cast(t)); +} + +void QTimeLine_DisconnectValueChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QTimeLine::valueChanged, static_cast(ptr), static_cast(&MyQTimeLine::Signal_ValueChanged)); +} + +double QTimeLine_ValueForTime(void* ptr, int msec) +{ + return static_cast(ptr)->valueForTime(msec); +} + +double QTimeLine_ValueForTimeDefault(void* ptr, int msec) +{ + return static_cast(ptr)->QTimeLine::valueForTime(msec); +} + +void QTimeLine_DestroyQTimeLine(void* ptr) +{ + static_cast(ptr)->~QTimeLine(); +} + +void QTimeLine_DestroyQTimeLineDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTimeZone_NewQTimeZone() +{ + return new QTimeZone(); +} + +void* QTimeZone_NewQTimeZone2(void* ianaId) +{ + return new QTimeZone(*static_cast(ianaId)); +} + +void* QTimeZone_NewQTimeZone3(int offsetSeconds) +{ + return new QTimeZone(offsetSeconds); +} + +void* QTimeZone_NewQTimeZone4(void* ianaId, int offsetSeconds, struct QtCore_PackedString name, struct QtCore_PackedString abbreviation, long long country, struct QtCore_PackedString comment) +{ + return new QTimeZone(*static_cast(ianaId), offsetSeconds, QString::fromUtf8(name.data, name.len), QString::fromUtf8(abbreviation.data, abbreviation.len), static_cast(country), QString::fromUtf8(comment.data, comment.len)); +} + +void* QTimeZone_NewQTimeZone5(void* other) +{ + return new QTimeZone(*static_cast(other)); +} + +struct QtCore_PackedString QTimeZone_Abbreviation(void* ptr, void* atDateTime) +{ + return ({ QByteArray t82ae84 = static_cast(ptr)->abbreviation(*static_cast(atDateTime)).toUtf8(); QtCore_PackedString { const_cast(t82ae84.prepend("WHITESPACE").constData()+10), t82ae84.size()-10 }; }); +} + +struct QtCore_PackedList QTimeZone_QTimeZone_AvailableTimeZoneIds() +{ + return ({ QList* tmpValue9dfc57 = new QList(QTimeZone::availableTimeZoneIds()); QtCore_PackedList { tmpValue9dfc57, tmpValue9dfc57->size() }; }); +} + +struct QtCore_PackedList QTimeZone_QTimeZone_AvailableTimeZoneIds2(long long country) +{ + return ({ QList* tmpValueb51557 = new QList(QTimeZone::availableTimeZoneIds(static_cast(country))); QtCore_PackedList { tmpValueb51557, tmpValueb51557->size() }; }); +} + +struct QtCore_PackedList QTimeZone_QTimeZone_AvailableTimeZoneIds3(int offsetSeconds) +{ + return ({ QList* tmpValue137a2a = new QList(QTimeZone::availableTimeZoneIds(offsetSeconds)); QtCore_PackedList { tmpValue137a2a, tmpValue137a2a->size() }; }); +} + +struct QtCore_PackedString QTimeZone_Comment(void* ptr) +{ + return ({ QByteArray t2b73f6 = static_cast(ptr)->comment().toUtf8(); QtCore_PackedString { const_cast(t2b73f6.prepend("WHITESPACE").constData()+10), t2b73f6.size()-10 }; }); +} + +long long QTimeZone_Country(void* ptr) +{ + return static_cast(ptr)->country(); +} + +int QTimeZone_DaylightTimeOffset(void* ptr, void* atDateTime) +{ + return static_cast(ptr)->daylightTimeOffset(*static_cast(atDateTime)); +} + +struct QtCore_PackedString QTimeZone_DisplayName(void* ptr, void* atDateTime, long long nameType, void* locale) +{ + return ({ QByteArray t168cd9 = static_cast(ptr)->displayName(*static_cast(atDateTime), static_cast(nameType), *static_cast(locale)).toUtf8(); QtCore_PackedString { const_cast(t168cd9.prepend("WHITESPACE").constData()+10), t168cd9.size()-10 }; }); +} + +struct QtCore_PackedString QTimeZone_DisplayName2(void* ptr, long long timeType, long long nameType, void* locale) +{ + return ({ QByteArray tc6cf47 = static_cast(ptr)->displayName(static_cast(timeType), static_cast(nameType), *static_cast(locale)).toUtf8(); QtCore_PackedString { const_cast(tc6cf47.prepend("WHITESPACE").constData()+10), tc6cf47.size()-10 }; }); +} + +char QTimeZone_HasDaylightTime(void* ptr) +{ + return static_cast(ptr)->hasDaylightTime(); +} + +char QTimeZone_HasTransitions(void* ptr) +{ + return static_cast(ptr)->hasTransitions(); +} + +void* QTimeZone_QTimeZone_IanaIdToWindowsId(void* ianaId) +{ + return new QByteArray(QTimeZone::ianaIdToWindowsId(*static_cast(ianaId))); +} + +void* QTimeZone_Id(void* ptr) +{ + return new QByteArray(static_cast(ptr)->id()); +} + +char QTimeZone_IsDaylightTime(void* ptr, void* atDateTime) +{ + return static_cast(ptr)->isDaylightTime(*static_cast(atDateTime)); +} + +char QTimeZone_QTimeZone_IsTimeZoneIdAvailable(void* ianaId) +{ + return QTimeZone::isTimeZoneIdAvailable(*static_cast(ianaId)); +} + +char QTimeZone_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QTimeZone_OffsetFromUtc(void* ptr, void* atDateTime) +{ + return static_cast(ptr)->offsetFromUtc(*static_cast(atDateTime)); +} + +int QTimeZone_StandardTimeOffset(void* ptr, void* atDateTime) +{ + return static_cast(ptr)->standardTimeOffset(*static_cast(atDateTime)); +} + +void QTimeZone_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QTimeZone_QTimeZone_SystemTimeZone() +{ + return new QTimeZone(QTimeZone::systemTimeZone()); +} + +void* QTimeZone_QTimeZone_SystemTimeZoneId() +{ + return new QByteArray(QTimeZone::systemTimeZoneId()); +} + +void* QTimeZone_QTimeZone_Utc() +{ + return new QTimeZone(QTimeZone::utc()); +} + +void* QTimeZone_QTimeZone_WindowsIdToDefaultIanaId(void* windowsId) +{ + return new QByteArray(QTimeZone::windowsIdToDefaultIanaId(*static_cast(windowsId))); +} + +void* QTimeZone_QTimeZone_WindowsIdToDefaultIanaId2(void* windowsId, long long country) +{ + return new QByteArray(QTimeZone::windowsIdToDefaultIanaId(*static_cast(windowsId), static_cast(country))); +} + +struct QtCore_PackedList QTimeZone_QTimeZone_WindowsIdToIanaIds(void* windowsId) +{ + return ({ QList* tmpValue7576fc = new QList(QTimeZone::windowsIdToIanaIds(*static_cast(windowsId))); QtCore_PackedList { tmpValue7576fc, tmpValue7576fc->size() }; }); +} + +struct QtCore_PackedList QTimeZone_QTimeZone_WindowsIdToIanaIds2(void* windowsId, long long country) +{ + return ({ QList* tmpValue5be00a = new QList(QTimeZone::windowsIdToIanaIds(*static_cast(windowsId), static_cast(country))); QtCore_PackedList { tmpValue5be00a, tmpValue5be00a->size() }; }); +} + +void QTimeZone_DestroyQTimeZone(void* ptr) +{ + static_cast(ptr)->~QTimeZone(); +} + +void* QTimeZone___availableTimeZoneIds_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTimeZone___availableTimeZoneIds_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTimeZone___availableTimeZoneIds_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTimeZone___availableTimeZoneIds_atList2(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTimeZone___availableTimeZoneIds_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTimeZone___availableTimeZoneIds_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTimeZone___availableTimeZoneIds_atList3(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTimeZone___availableTimeZoneIds_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTimeZone___availableTimeZoneIds_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTimeZone___windowsIdToIanaIds_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTimeZone___windowsIdToIanaIds_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTimeZone___windowsIdToIanaIds_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTimeZone___windowsIdToIanaIds_atList2(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTimeZone___windowsIdToIanaIds_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTimeZone___windowsIdToIanaIds_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQTimer: public QTimer +{ +public: + MyQTimer(QObject *parent = Q_NULLPTR) : QTimer(parent) {QTimer_QTimer_QRegisterMetaType();}; + void start(int msec) { callbackQTimer_Start(this, msec); }; + void start() { callbackQTimer_Start2(this); }; + void stop() { callbackQTimer_Stop(this); }; + void Signal_Timeout() { callbackQTimer_Timeout(this); }; + void timerEvent(QTimerEvent * e) { callbackQObject_TimerEvent(this, e); }; + ~MyQTimer() { callbackQTimer_DestroyQTimer(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; +}; + +Q_DECLARE_METATYPE(MyQTimer*) + +int QTimer_QTimer_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTimer_NewQTimer(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTimer(static_cast(parent)); + } else { + return new MyQTimer(static_cast(parent)); + } +} + +int QTimer_Interval(void* ptr) +{ + return static_cast(ptr)->interval(); +} + +char QTimer_IsActive(void* ptr) +{ + return static_cast(ptr)->isActive(); +} + +char QTimer_IsSingleShot(void* ptr) +{ + return static_cast(ptr)->isSingleShot(); +} + +int QTimer_RemainingTime(void* ptr) +{ + return static_cast(ptr)->remainingTime(); +} + +void QTimer_SetInterval(void* ptr, int msec) +{ + static_cast(ptr)->setInterval(msec); +} + +void QTimer_SetSingleShot(void* ptr, char singleShot) +{ + static_cast(ptr)->setSingleShot(singleShot != 0); +} + +void QTimer_SetTimerType(void* ptr, long long atype) +{ + static_cast(ptr)->setTimerType(static_cast(atype)); +} + +void QTimer_QTimer_SingleShot(int msec, void* receiver, char* member) +{ + QTimer::singleShot(msec, static_cast(receiver), const_cast(member)); +} + +void QTimer_QTimer_SingleShot2(int msec, long long timerType, void* receiver, char* member) +{ + QTimer::singleShot(msec, static_cast(timerType), static_cast(receiver), const_cast(member)); +} + +void QTimer_Start(void* ptr, int msec) +{ + QMetaObject::invokeMethod(static_cast(ptr), "start", Q_ARG(int, msec)); +} + +void QTimer_StartDefault(void* ptr, int msec) +{ + static_cast(ptr)->QTimer::start(msec); +} + +void QTimer_Start2(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "start"); +} + +void QTimer_Start2Default(void* ptr) +{ + static_cast(ptr)->QTimer::start(); +} + +void QTimer_Stop(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "stop"); +} + +void QTimer_StopDefault(void* ptr) +{ + static_cast(ptr)->QTimer::stop(); +} + +void QTimer_ConnectTimeout(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), &QTimer::timeout, static_cast(ptr), static_cast(&MyQTimer::Signal_Timeout), static_cast(t)); +} + +void QTimer_DisconnectTimeout(void* ptr) +{ + QObject::disconnect(static_cast(ptr), &QTimer::timeout, static_cast(ptr), static_cast(&MyQTimer::Signal_Timeout)); +} + +int QTimer_TimerId(void* ptr) +{ + return static_cast(ptr)->timerId(); +} + +long long QTimer_TimerType(void* ptr) +{ + return static_cast(ptr)->timerType(); +} + +void QTimer_DestroyQTimer(void* ptr) +{ + static_cast(ptr)->~QTimer(); +} + +void QTimer_DestroyQTimerDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQTimerEvent: public QTimerEvent +{ +public: + MyQTimerEvent(int timerId) : QTimerEvent(timerId) {}; +}; + +void* QTimerEvent_NewQTimerEvent(int timerId) +{ + return new MyQTimerEvent(timerId); +} + +int QTimerEvent_TimerId(void* ptr) +{ + return static_cast(ptr)->timerId(); +} + +class MyQTranslator: public QTranslator +{ +public: + MyQTranslator(QObject *parent = Q_NULLPTR) : QTranslator(parent) {QTranslator_QTranslator_QRegisterMetaType();}; + bool isEmpty() const { return callbackQTranslator_IsEmpty(const_cast(static_cast(this))) != 0; }; + QString translate(const char * context, const char * sourceText, const char * disambiguation, int n) const { QtCore_PackedString contextPacked = { const_cast(context), n };QtCore_PackedString sourceTextPacked = { const_cast(sourceText), n };QtCore_PackedString disambiguationPacked = { const_cast(disambiguation), n };return ({ QtCore_PackedString tempVal = callbackQTranslator_Translate(const_cast(static_cast(this)), contextPacked, sourceTextPacked, disambiguationPacked, n); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + ~MyQTranslator() { callbackQTranslator_DestroyQTranslator(this); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTranslator*) + +int QTranslator_QTranslator_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTranslator_NewQTranslator(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTranslator(static_cast(parent)); + } else { + return new MyQTranslator(static_cast(parent)); + } +} + +char QTranslator_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QTranslator_IsEmptyDefault(void* ptr) +{ + return static_cast(ptr)->QTranslator::isEmpty(); +} + +char QTranslator_Load(void* ptr, struct QtCore_PackedString filename, struct QtCore_PackedString directory, struct QtCore_PackedString search_delimiters, struct QtCore_PackedString suffix) +{ + return static_cast(ptr)->load(QString::fromUtf8(filename.data, filename.len), QString::fromUtf8(directory.data, directory.len), QString::fromUtf8(search_delimiters.data, search_delimiters.len), QString::fromUtf8(suffix.data, suffix.len)); +} + +char QTranslator_Load2(void* ptr, void* locale, struct QtCore_PackedString filename, struct QtCore_PackedString prefix, struct QtCore_PackedString directory, struct QtCore_PackedString suffix) +{ + return static_cast(ptr)->load(*static_cast(locale), QString::fromUtf8(filename.data, filename.len), QString::fromUtf8(prefix.data, prefix.len), QString::fromUtf8(directory.data, directory.len), QString::fromUtf8(suffix.data, suffix.len)); +} + +char QTranslator_Load3(void* ptr, char* data, int l, struct QtCore_PackedString directory) +{ + return static_cast(ptr)->load(const_cast(static_cast(static_cast(data))), l, QString::fromUtf8(directory.data, directory.len)); +} + +struct QtCore_PackedString QTranslator_Translate(void* ptr, char* context, char* sourceText, char* disambiguation, int n) +{ + return ({ QByteArray tb6b80e = static_cast(ptr)->translate(const_cast(context), const_cast(sourceText), const_cast(disambiguation), n).toUtf8(); QtCore_PackedString { const_cast(tb6b80e.prepend("WHITESPACE").constData()+10), tb6b80e.size()-10 }; }); +} + +struct QtCore_PackedString QTranslator_TranslateDefault(void* ptr, char* context, char* sourceText, char* disambiguation, int n) +{ + return ({ QByteArray t5511a2 = static_cast(ptr)->QTranslator::translate(const_cast(context), const_cast(sourceText), const_cast(disambiguation), n).toUtf8(); QtCore_PackedString { const_cast(t5511a2.prepend("WHITESPACE").constData()+10), t5511a2.size()-10 }; }); +} + +void QTranslator_DestroyQTranslator(void* ptr) +{ + static_cast(ptr)->~QTranslator(); +} + +void QTranslator_DestroyQTranslatorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQTransposeProxyModel: public QTransposeProxyModel +{ +public: + MyQTransposeProxyModel(QObject *parent = Q_NULLPTR) : QTransposeProxyModel(parent) {QTransposeProxyModel_QTransposeProxyModel_QRegisterMetaType();}; + int columnCount(const QModelIndex & parent) const { return callbackQTransposeProxyModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQAbstractItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQTransposeProxyModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + QMap itemData(const QModelIndex & index) const { return ({ QMap* tmpP = static_cast*>(callbackQAbstractItemModel_ItemData(const_cast(static_cast(this)), const_cast(&index))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + QModelIndex mapFromSource(const QModelIndex & sourceIndex) const { return *static_cast(callbackQTransposeProxyModel_MapFromSource(const_cast(static_cast(this)), const_cast(&sourceIndex))); }; + QModelIndex mapToSource(const QModelIndex & proxyIndex) const { return *static_cast(callbackQTransposeProxyModel_MapToSource(const_cast(static_cast(this)), const_cast(&proxyIndex))); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveColumns(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQAbstractItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + QModelIndex parent(const QModelIndex & index) const { return *static_cast(callbackQTransposeProxyModel_Parent(const_cast(static_cast(this)), const_cast(&index))); }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQAbstractItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + int rowCount(const QModelIndex & parent) const { return callbackQTransposeProxyModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQAbstractItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + bool setItemData(const QModelIndex & index, const QMap & roles) { return callbackQAbstractItemModel_SetItemData(this, const_cast(&index), ({ QMap* tmpValue037c88 = new QMap(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + void setSourceModel(QAbstractItemModel * newSourceModel) { callbackQAbstractProxyModel_SetSourceModel(this, newSourceModel); }; + void sort(int column, Qt::SortOrder order) { callbackQAbstractItemModel_Sort(this, column, order); }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + ~MyQTransposeProxyModel() { callbackQTransposeProxyModel_DestroyQTransposeProxyModel(this); }; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQAbstractItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQAbstractItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQAbstractItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant data(const QModelIndex & proxyIndex, int role) const { return *static_cast(callbackQAbstractProxyModel_Data(const_cast(static_cast(this)), const_cast(&proxyIndex), role)); }; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQAbstractItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + void fetchMore(const QModelIndex & parent) { callbackQAbstractItemModel_FetchMore(this, const_cast(&parent)); }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQAbstractItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQAbstractItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QItemSelection mapSelectionFromSource(const QItemSelection & sourceSelection) const { return *static_cast(callbackQAbstractProxyModel_MapSelectionFromSource(const_cast(static_cast(this)), const_cast(&sourceSelection))); }; + QItemSelection mapSelectionToSource(const QItemSelection & proxySelection) const { return *static_cast(callbackQAbstractProxyModel_MapSelectionToSource(const_cast(static_cast(this)), const_cast(&proxySelection))); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQAbstractItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtCore_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtCore_PackedString tempVal = callbackQAbstractItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + void resetInternalData() { callbackQAbstractItemModel_ResetInternalData(this); }; + void revert() { callbackQAbstractProxyModel_Revert(this); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQAbstractItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + QModelIndex sibling(int row, int column, const QModelIndex & idx) const { return *static_cast(callbackQAbstractItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&idx))); }; + void Signal_SourceModelChanged() { callbackQAbstractProxyModel_SourceModelChanged(this); }; + bool submit() { return callbackQAbstractProxyModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQAbstractItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQAbstractItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQAbstractItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQAbstractItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQAbstractItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtCore_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQAbstractItemModel_HeaderDataChanged(this, orientation, first, last); }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQAbstractItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtCore_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQAbstractItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + void Signal_ModelAboutToBeReset() { callbackQAbstractItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQAbstractItemModel_ModelReset(this); }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQAbstractItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQAbstractItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQAbstractItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQAbstractItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQAbstractItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTransposeProxyModel*) + +int QTransposeProxyModel_QTransposeProxyModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTransposeProxyModel_NewQTransposeProxyModel2(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTransposeProxyModel(static_cast(parent)); + } else { + return new MyQTransposeProxyModel(static_cast(parent)); + } +} + +int QTransposeProxyModel_ColumnCount(void* ptr, void* parent) +{ + return static_cast(ptr)->columnCount(*static_cast(parent)); +} + +int QTransposeProxyModel_ColumnCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QTransposeProxyModel::columnCount(*static_cast(parent)); +} + +void* QTransposeProxyModel_Index(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->index(row, column, *static_cast(parent))); +} + +void* QTransposeProxyModel_IndexDefault(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->QTransposeProxyModel::index(row, column, *static_cast(parent))); +} + +void* QTransposeProxyModel_MapFromSource(void* ptr, void* sourceIndex) +{ + return new QModelIndex(static_cast(ptr)->mapFromSource(*static_cast(sourceIndex))); +} + +void* QTransposeProxyModel_MapFromSourceDefault(void* ptr, void* sourceIndex) +{ + return new QModelIndex(static_cast(ptr)->QTransposeProxyModel::mapFromSource(*static_cast(sourceIndex))); +} + +void* QTransposeProxyModel_MapToSource(void* ptr, void* proxyIndex) +{ + return new QModelIndex(static_cast(ptr)->mapToSource(*static_cast(proxyIndex))); +} + +void* QTransposeProxyModel_MapToSourceDefault(void* ptr, void* proxyIndex) +{ + return new QModelIndex(static_cast(ptr)->QTransposeProxyModel::mapToSource(*static_cast(proxyIndex))); +} + +void* QTransposeProxyModel_Parent(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->parent(*static_cast(index))); +} + +void* QTransposeProxyModel_ParentDefault(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->QTransposeProxyModel::parent(*static_cast(index))); +} + +int QTransposeProxyModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +int QTransposeProxyModel_RowCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QTransposeProxyModel::rowCount(*static_cast(parent)); +} + +void QTransposeProxyModel_DestroyQTransposeProxyModel(void* ptr) +{ + static_cast(ptr)->~QTransposeProxyModel(); +} + +void QTransposeProxyModel_DestroyQTransposeProxyModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQUnhandledException: public QUnhandledException +{ +public: +}; + +void* QUrl_NewQUrl() +{ + return new QUrl(); +} + +void* QUrl_NewQUrl2(void* other) +{ + return new QUrl(*static_cast(other)); +} + +void* QUrl_NewQUrl3(struct QtCore_PackedString url, long long parsingMode) +{ + return new QUrl(QString::fromUtf8(url.data, url.len), static_cast(parsingMode)); +} + +void* QUrl_NewQUrl4(void* other) +{ + return new QUrl(*static_cast(other)); +} + +void* QUrl_Adjusted(void* ptr, long long options) +{ + return new QUrl(static_cast(ptr)->adjusted(static_cast(options))); +} + +struct QtCore_PackedString QUrl_Authority(void* ptr, long long options) +{ + return ({ QByteArray t5a26fa = static_cast(ptr)->authority(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(t5a26fa.prepend("WHITESPACE").constData()+10), t5a26fa.size()-10 }; }); +} + +void QUrl_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +struct QtCore_PackedString QUrl_ErrorString(void* ptr) +{ + return ({ QByteArray t35c6dc = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(t35c6dc.prepend("WHITESPACE").constData()+10), t35c6dc.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_FileName(void* ptr, long long options) +{ + return ({ QByteArray t4c468f = static_cast(ptr)->fileName(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(t4c468f.prepend("WHITESPACE").constData()+10), t4c468f.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_Fragment(void* ptr, long long options) +{ + return ({ QByteArray t754185 = static_cast(ptr)->fragment(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(t754185.prepend("WHITESPACE").constData()+10), t754185.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_QUrl_FromAce(void* domain) +{ + return ({ QByteArray t0cf8b9 = QUrl::fromAce(*static_cast(domain)).toUtf8(); QtCore_PackedString { const_cast(t0cf8b9.prepend("WHITESPACE").constData()+10), t0cf8b9.size()-10 }; }); +} + +void* QUrl_QUrl_FromEncoded(void* input, long long parsingMode) +{ + return new QUrl(QUrl::fromEncoded(*static_cast(input), static_cast(parsingMode))); +} + +void* QUrl_QUrl_FromLocalFile(struct QtCore_PackedString localFile) +{ + return new QUrl(QUrl::fromLocalFile(QString::fromUtf8(localFile.data, localFile.len))); +} + +struct QtCore_PackedString QUrl_QUrl_FromPercentEncoding(void* input) +{ + return ({ QByteArray t95c42a = QUrl::fromPercentEncoding(*static_cast(input)).toUtf8(); QtCore_PackedString { const_cast(t95c42a.prepend("WHITESPACE").constData()+10), t95c42a.size()-10 }; }); +} + +struct QtCore_PackedList QUrl_QUrl_FromStringList(struct QtCore_PackedString urls, long long mode) +{ + return ({ QList* tmpValue5751dc = new QList(QUrl::fromStringList(QString::fromUtf8(urls.data, urls.len).split("¡¦!", QString::SkipEmptyParts), static_cast(mode))); QtCore_PackedList { tmpValue5751dc, tmpValue5751dc->size() }; }); +} + +void* QUrl_QUrl_FromUserInput(struct QtCore_PackedString userInput) +{ + return new QUrl(QUrl::fromUserInput(QString::fromUtf8(userInput.data, userInput.len))); +} + +void* QUrl_QUrl_FromUserInput2(struct QtCore_PackedString userInput, struct QtCore_PackedString workingDirectory, long long options) +{ + return new QUrl(QUrl::fromUserInput(QString::fromUtf8(userInput.data, userInput.len), QString::fromUtf8(workingDirectory.data, workingDirectory.len), static_cast(options))); +} + +char QUrl_HasFragment(void* ptr) +{ + return static_cast(ptr)->hasFragment(); +} + +char QUrl_HasQuery(void* ptr) +{ + return static_cast(ptr)->hasQuery(); +} + +struct QtCore_PackedString QUrl_Host(void* ptr, long long options) +{ + return ({ QByteArray tf93546 = static_cast(ptr)->host(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(tf93546.prepend("WHITESPACE").constData()+10), tf93546.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_QUrl_IdnWhitelist() +{ + return ({ QByteArray t7d801d = QUrl::idnWhitelist().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(t7d801d.prepend("WHITESPACE").constData()+10), t7d801d.size()-10 }; }); +} + +char QUrl_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QUrl_IsLocalFile(void* ptr) +{ + return static_cast(ptr)->isLocalFile(); +} + +char QUrl_IsParentOf(void* ptr, void* childUrl) +{ + return static_cast(ptr)->isParentOf(*static_cast(childUrl)); +} + +char QUrl_IsRelative(void* ptr) +{ + return static_cast(ptr)->isRelative(); +} + +char QUrl_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QUrl_Matches(void* ptr, void* url, long long options) +{ + return static_cast(ptr)->matches(*static_cast(url), static_cast(options)); +} + +struct QtCore_PackedString QUrl_Password(void* ptr, long long options) +{ + return ({ QByteArray t55f068 = static_cast(ptr)->password(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(t55f068.prepend("WHITESPACE").constData()+10), t55f068.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_Path(void* ptr, long long options) +{ + return ({ QByteArray t70ef65 = static_cast(ptr)->path(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(t70ef65.prepend("WHITESPACE").constData()+10), t70ef65.size()-10 }; }); +} + +int QUrl_Port(void* ptr, int defaultPort) +{ + return static_cast(ptr)->port(defaultPort); +} + +struct QtCore_PackedString QUrl_Query(void* ptr, long long options) +{ + return ({ QByteArray t911c73 = static_cast(ptr)->query(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(t911c73.prepend("WHITESPACE").constData()+10), t911c73.size()-10 }; }); +} + +void* QUrl_Resolved(void* ptr, void* relative) +{ + return new QUrl(static_cast(ptr)->resolved(*static_cast(relative))); +} + +struct QtCore_PackedString QUrl_Scheme(void* ptr) +{ + return ({ QByteArray t862954 = static_cast(ptr)->scheme().toUtf8(); QtCore_PackedString { const_cast(t862954.prepend("WHITESPACE").constData()+10), t862954.size()-10 }; }); +} + +void QUrl_SetAuthority(void* ptr, struct QtCore_PackedString authority, long long mode) +{ + static_cast(ptr)->setAuthority(QString::fromUtf8(authority.data, authority.len), static_cast(mode)); +} + +void QUrl_SetFragment(void* ptr, struct QtCore_PackedString fragment, long long mode) +{ + static_cast(ptr)->setFragment(QString::fromUtf8(fragment.data, fragment.len), static_cast(mode)); +} + +void QUrl_SetHost(void* ptr, struct QtCore_PackedString host, long long mode) +{ + static_cast(ptr)->setHost(QString::fromUtf8(host.data, host.len), static_cast(mode)); +} + +void QUrl_QUrl_SetIdnWhitelist(struct QtCore_PackedString list) +{ + QUrl::setIdnWhitelist(QString::fromUtf8(list.data, list.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QUrl_SetPassword(void* ptr, struct QtCore_PackedString password, long long mode) +{ + static_cast(ptr)->setPassword(QString::fromUtf8(password.data, password.len), static_cast(mode)); +} + +void QUrl_SetPath(void* ptr, struct QtCore_PackedString path, long long mode) +{ + static_cast(ptr)->setPath(QString::fromUtf8(path.data, path.len), static_cast(mode)); +} + +void QUrl_SetPort(void* ptr, int port) +{ + static_cast(ptr)->setPort(port); +} + +void QUrl_SetQuery(void* ptr, struct QtCore_PackedString query, long long mode) +{ + static_cast(ptr)->setQuery(QString::fromUtf8(query.data, query.len), static_cast(mode)); +} + +void QUrl_SetQuery2(void* ptr, void* query) +{ + static_cast(ptr)->setQuery(*static_cast(query)); +} + +void QUrl_SetScheme(void* ptr, struct QtCore_PackedString scheme) +{ + static_cast(ptr)->setScheme(QString::fromUtf8(scheme.data, scheme.len)); +} + +void QUrl_SetUrl(void* ptr, struct QtCore_PackedString url, long long parsingMode) +{ + static_cast(ptr)->setUrl(QString::fromUtf8(url.data, url.len), static_cast(parsingMode)); +} + +void QUrl_SetUserInfo(void* ptr, struct QtCore_PackedString userInfo, long long mode) +{ + static_cast(ptr)->setUserInfo(QString::fromUtf8(userInfo.data, userInfo.len), static_cast(mode)); +} + +void QUrl_SetUserName(void* ptr, struct QtCore_PackedString userName, long long mode) +{ + static_cast(ptr)->setUserName(QString::fromUtf8(userName.data, userName.len), static_cast(mode)); +} + +void QUrl_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QUrl_QUrl_ToAce(struct QtCore_PackedString domain) +{ + return new QByteArray(QUrl::toAce(QString::fromUtf8(domain.data, domain.len))); +} + +struct QtCore_PackedString QUrl_ToDisplayString(void* ptr, long long options) +{ + return ({ QByteArray tb72fa5 = static_cast(ptr)->toDisplayString(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(tb72fa5.prepend("WHITESPACE").constData()+10), tb72fa5.size()-10 }; }); +} + +void* QUrl_ToEncoded(void* ptr, long long options) +{ + return new QByteArray(static_cast(ptr)->toEncoded(static_cast(options))); +} + +struct QtCore_PackedString QUrl_ToLocalFile(void* ptr) +{ + return ({ QByteArray tdd5812 = static_cast(ptr)->toLocalFile().toUtf8(); QtCore_PackedString { const_cast(tdd5812.prepend("WHITESPACE").constData()+10), tdd5812.size()-10 }; }); +} + +void* QUrl_QUrl_ToPercentEncoding(struct QtCore_PackedString input, void* exclude, void* include) +{ + return new QByteArray(QUrl::toPercentEncoding(QString::fromUtf8(input.data, input.len), *static_cast(exclude), *static_cast(include))); +} + +struct QtCore_PackedString QUrl_ToString(void* ptr, long long options) +{ + return ({ QByteArray tc0d7b7 = static_cast(ptr)->toString(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(tc0d7b7.prepend("WHITESPACE").constData()+10), tc0d7b7.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_QUrl_ToStringList(void* urls, long long options) +{ + return ({ QByteArray tc32440 = QUrl::toStringList(*static_cast*>(urls), static_cast(options)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tc32440.prepend("WHITESPACE").constData()+10), tc32440.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_TopLevelDomain(void* ptr, long long options) +{ + return ({ QByteArray t06da8f = static_cast(ptr)->topLevelDomain(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(t06da8f.prepend("WHITESPACE").constData()+10), t06da8f.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_Url(void* ptr, long long options) +{ + return ({ QByteArray t2ea726 = static_cast(ptr)->url(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(t2ea726.prepend("WHITESPACE").constData()+10), t2ea726.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_UserInfo(void* ptr, long long options) +{ + return ({ QByteArray tff62a1 = static_cast(ptr)->userInfo(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(tff62a1.prepend("WHITESPACE").constData()+10), tff62a1.size()-10 }; }); +} + +struct QtCore_PackedString QUrl_UserName(void* ptr, long long options) +{ + return ({ QByteArray tb9c277 = static_cast(ptr)->userName(static_cast(options)).toUtf8(); QtCore_PackedString { const_cast(tb9c277.prepend("WHITESPACE").constData()+10), tb9c277.size()-10 }; }); +} + +void QUrl_DestroyQUrl(void* ptr) +{ + static_cast(ptr)->~QUrl(); +} + +void* QUrl___allEncodedQueryItemValues_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QUrl___allEncodedQueryItemValues_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QUrl___allEncodedQueryItemValues_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QUrl___fromStringList_atList(void* ptr, int i) +{ + return new QUrl(({QUrl tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QUrl___fromStringList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QUrl___fromStringList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QUrl___toStringList_urls_atList(void* ptr, int i) +{ + return new QUrl(({QUrl tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QUrl___toStringList_urls_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QUrl___toStringList_urls_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QUrlQuery_NewQUrlQuery() +{ + return new QUrlQuery(); +} + +void* QUrlQuery_NewQUrlQuery2(void* url) +{ + return new QUrlQuery(*static_cast(url)); +} + +void* QUrlQuery_NewQUrlQuery3(struct QtCore_PackedString queryString) +{ + return new QUrlQuery(QString::fromUtf8(queryString.data, queryString.len)); +} + +void* QUrlQuery_NewQUrlQuery5(void* other) +{ + return new QUrlQuery(*static_cast(other)); +} + +void QUrlQuery_AddQueryItem(void* ptr, struct QtCore_PackedString key, struct QtCore_PackedString value) +{ + static_cast(ptr)->addQueryItem(QString::fromUtf8(key.data, key.len), QString::fromUtf8(value.data, value.len)); +} + +struct QtCore_PackedString QUrlQuery_AllQueryItemValues(void* ptr, struct QtCore_PackedString key, long long encoding) +{ + return ({ QByteArray tad6e07 = static_cast(ptr)->allQueryItemValues(QString::fromUtf8(key.data, key.len), static_cast(encoding)).join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tad6e07.prepend("WHITESPACE").constData()+10), tad6e07.size()-10 }; }); +} + +void QUrlQuery_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +void* QUrlQuery_QUrlQuery_DefaultQueryPairDelimiter() +{ + return new QChar(QUrlQuery::defaultQueryPairDelimiter()); +} + +void* QUrlQuery_QUrlQuery_DefaultQueryValueDelimiter() +{ + return new QChar(QUrlQuery::defaultQueryValueDelimiter()); +} + +char QUrlQuery_HasQueryItem(void* ptr, struct QtCore_PackedString key) +{ + return static_cast(ptr)->hasQueryItem(QString::fromUtf8(key.data, key.len)); +} + +char QUrlQuery_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +struct QtCore_PackedString QUrlQuery_Query(void* ptr, long long encoding) +{ + return ({ QByteArray tc70807 = static_cast(ptr)->query(static_cast(encoding)).toUtf8(); QtCore_PackedString { const_cast(tc70807.prepend("WHITESPACE").constData()+10), tc70807.size()-10 }; }); +} + +struct QtCore_PackedString QUrlQuery_QueryItemValue(void* ptr, struct QtCore_PackedString key, long long encoding) +{ + return ({ QByteArray t5453a9 = static_cast(ptr)->queryItemValue(QString::fromUtf8(key.data, key.len), static_cast(encoding)).toUtf8(); QtCore_PackedString { const_cast(t5453a9.prepend("WHITESPACE").constData()+10), t5453a9.size()-10 }; }); +} + +void* QUrlQuery_QueryPairDelimiter(void* ptr) +{ + return new QChar(static_cast(ptr)->queryPairDelimiter()); +} + +void* QUrlQuery_QueryValueDelimiter(void* ptr) +{ + return new QChar(static_cast(ptr)->queryValueDelimiter()); +} + +void QUrlQuery_RemoveAllQueryItems(void* ptr, struct QtCore_PackedString key) +{ + static_cast(ptr)->removeAllQueryItems(QString::fromUtf8(key.data, key.len)); +} + +void QUrlQuery_RemoveQueryItem(void* ptr, struct QtCore_PackedString key) +{ + static_cast(ptr)->removeQueryItem(QString::fromUtf8(key.data, key.len)); +} + +void QUrlQuery_SetQuery(void* ptr, struct QtCore_PackedString queryString) +{ + static_cast(ptr)->setQuery(QString::fromUtf8(queryString.data, queryString.len)); +} + +void QUrlQuery_SetQueryDelimiters(void* ptr, void* valueDelimiter, void* pairDelimiter) +{ + static_cast(ptr)->setQueryDelimiters(*static_cast(valueDelimiter), *static_cast(pairDelimiter)); +} + +void QUrlQuery_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtCore_PackedString QUrlQuery_ToString(void* ptr, long long encoding) +{ + return ({ QByteArray t13eb00 = static_cast(ptr)->toString(static_cast(encoding)).toUtf8(); QtCore_PackedString { const_cast(t13eb00.prepend("WHITESPACE").constData()+10), t13eb00.size()-10 }; }); +} + +void QUrlQuery_DestroyQUrlQuery(void* ptr) +{ + static_cast(ptr)->~QUrlQuery(); +} + +void* QUuid_NewQUuid2() +{ + return new QUuid(); +} + +void* QUuid_NewQUuid3(unsigned int l, unsigned short w1, unsigned short w2, char* b1, char* b2, char* b3, char* b4, char* b5, char* b6, char* b7, char* b8) +{ + return new QUuid(l, w1, w2, *static_cast(static_cast(b1)), *static_cast(static_cast(b2)), *static_cast(static_cast(b3)), *static_cast(static_cast(b4)), *static_cast(static_cast(b5)), *static_cast(static_cast(b6)), *static_cast(static_cast(b7)), *static_cast(static_cast(b8))); +} + +void* QUuid_NewQUuid4(struct QtCore_PackedString text) +{ + return new QUuid(QString::fromUtf8(text.data, text.len)); +} + +void* QUuid_NewQUuid(void* text) +{ + return new QUuid(*static_cast(text)); +} + +void* QUuid_QUuid_CreateUuid() +{ + return new QUuid(QUuid::createUuid()); +} + +void* QUuid_QUuid_CreateUuidV3(void* ns, void* baseData) +{ + return new QUuid(QUuid::createUuidV3(*static_cast(ns), *static_cast(baseData))); +} + +void* QUuid_QUuid_CreateUuidV32(void* ns, struct QtCore_PackedString baseData) +{ + return new QUuid(QUuid::createUuidV3(*static_cast(ns), QString::fromUtf8(baseData.data, baseData.len))); +} + +void* QUuid_QUuid_CreateUuidV5(void* ns, void* baseData) +{ + return new QUuid(QUuid::createUuidV5(*static_cast(ns), *static_cast(baseData))); +} + +void* QUuid_QUuid_CreateUuidV52(void* ns, struct QtCore_PackedString baseData) +{ + return new QUuid(QUuid::createUuidV5(*static_cast(ns), QString::fromUtf8(baseData.data, baseData.len))); +} + +void* QUuid_QUuid_FromRfc4122(void* bytes) +{ + return new QUuid(QUuid::fromRfc4122(*static_cast(bytes))); +} + +void* QUuid_QUuid_FromString(void* text) +{ + return new QUuid(QUuid::fromString(*static_cast(text))); +} + +void* QUuid_QUuid_FromString2(void* text) +{ + return new QUuid(QUuid::fromString(*static_cast(text))); +} + +char QUuid_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +void* QUuid_ToByteArray(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toByteArray()); +} + +void* QUuid_ToByteArray2(void* ptr, long long mode) +{ + return new QByteArray(static_cast(ptr)->toByteArray(static_cast(mode))); +} + +void* QUuid_ToRfc4122(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toRfc4122()); +} + +struct QtCore_PackedString QUuid_ToString(void* ptr) +{ + return ({ QByteArray t6f28ec = static_cast(ptr)->toString().toUtf8(); QtCore_PackedString { const_cast(t6f28ec.prepend("WHITESPACE").constData()+10), t6f28ec.size()-10 }; }); +} + +struct QtCore_PackedString QUuid_ToString2(void* ptr, long long mode) +{ + return ({ QByteArray taf9869 = static_cast(ptr)->toString(static_cast(mode)).toUtf8(); QtCore_PackedString { const_cast(taf9869.prepend("WHITESPACE").constData()+10), taf9869.size()-10 }; }); +} + +long long QUuid_Variant(void* ptr) +{ + return static_cast(ptr)->variant(); +} + +long long QUuid_Version(void* ptr) +{ + return static_cast(ptr)->version(); +} + +void* QVariant_NewQVariant() +{ + return new QVariant(); +} + +void* QVariant_NewQVariant2(long long ty) +{ + return new QVariant(static_cast(ty)); +} + +void* QVariant_NewQVariant3(int typeId, void* copy) +{ + return new QVariant(typeId, copy); +} + +void* QVariant_NewQVariant4(void* s) +{ + return new QVariant(*static_cast(s)); +} + +void* QVariant_NewQVariant5(int val) +{ + return new QVariant(val); +} + +void* QVariant_NewQVariant6(unsigned int val) +{ + return new QVariant(val); +} + +void* QVariant_NewQVariant7(long long val) +{ + return new QVariant(val); +} + +void* QVariant_NewQVariant8(unsigned long long val) +{ + return new QVariant(val); +} + +void* QVariant_NewQVariant9(char val) +{ + return new QVariant(val != 0); +} + +void* QVariant_NewQVariant10(double val) +{ + return new QVariant(val); +} + +void* QVariant_NewQVariant11(float val) +{ + return new QVariant(val); +} + +void* QVariant_NewQVariant12(char* val) +{ + return new QVariant(const_cast(val)); +} + +void* QVariant_NewQVariant13(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant14(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant15(struct QtCore_PackedString val) +{ + return new QVariant(QString::fromUtf8(val.data, val.len)); +} + +void* QVariant_NewQVariant16(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant17(struct QtCore_PackedString val) +{ + return new QVariant(QString::fromUtf8(val.data, val.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void* QVariant_NewQVariant18(void* c) +{ + return new QVariant(*static_cast(c)); +} + +void* QVariant_NewQVariant19(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant20(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant21(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant22(void* val) +{ + return new QVariant(*static_cast*>(val)); +} + +void* QVariant_NewQVariant23(void* val) +{ + return new QVariant(*static_cast*>(val)); +} + +void* QVariant_NewQVariant24(void* val) +{ + return new QVariant(*static_cast*>(val)); +} + +void* QVariant_NewQVariant25(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant26(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant27(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant28(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant29(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant30(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant31(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant32(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant33(void* l) +{ + return new QVariant(*static_cast(l)); +} + +void* QVariant_NewQVariant34(void* regExp) +{ + return new QVariant(*static_cast(regExp)); +} + +void* QVariant_NewQVariant35(void* re) +{ + return new QVariant(*static_cast(re)); +} + +void* QVariant_NewQVariant36(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant37(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant38(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant39(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant40(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant41(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant42(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant43(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant44(void* val) +{ + return new QVariant(*static_cast(val)); +} + +void* QVariant_NewQVariant45(void* other) +{ + return new QVariant(*static_cast(other)); +} + +void QVariant_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +char QVariant_Convert(void* ptr, int targetTypeId) +{ + return static_cast(ptr)->convert(targetTypeId); +} + +char QVariant_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QVariant_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +long long QVariant_QVariant_NameToType(char* name) +{ + return QVariant::nameToType(const_cast(name)); +} + +void QVariant_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QVariant_ToBitArray(void* ptr) +{ + return new QBitArray(static_cast(ptr)->toBitArray()); +} + +char QVariant_ToBool(void* ptr) +{ + return static_cast(ptr)->toBool(); +} + +void* QVariant_ToByteArray(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toByteArray()); +} + +void* QVariant_ToChar(void* ptr) +{ + return new QChar(static_cast(ptr)->toChar()); +} + +void* QVariant_ToDate(void* ptr) +{ + return new QDate(static_cast(ptr)->toDate()); +} + +void* QVariant_ToDateTime(void* ptr) +{ + return new QDateTime(static_cast(ptr)->toDateTime()); +} + +double QVariant_ToDouble(void* ptr, char* ok) +{ + return static_cast(ptr)->toDouble(reinterpret_cast(ok)); +} + +void* QVariant_ToEasingCurve(void* ptr) +{ + return new QEasingCurve(static_cast(ptr)->toEasingCurve()); +} + +float QVariant_ToFloat(void* ptr, char* ok) +{ + return static_cast(ptr)->toFloat(reinterpret_cast(ok)); +} + +struct QtCore_PackedList QVariant_ToHash(void* ptr) +{ + return ({ QHash* tmpValue00701e = new QHash(static_cast(ptr)->toHash()); QtCore_PackedList { tmpValue00701e, tmpValue00701e->size() }; }); +} + +int QVariant_ToInt(void* ptr, char* ok) +{ + return static_cast(ptr)->toInt(reinterpret_cast(ok)); +} + +void* QVariant_ToJsonArray(void* ptr) +{ + return new QJsonArray(static_cast(ptr)->toJsonArray()); +} + +void* QVariant_ToJsonDocument(void* ptr) +{ + return new QJsonDocument(static_cast(ptr)->toJsonDocument()); +} + +void* QVariant_ToJsonObject(void* ptr) +{ + return new QJsonObject(static_cast(ptr)->toJsonObject()); +} + +void* QVariant_ToJsonValue(void* ptr) +{ + return new QJsonValue(static_cast(ptr)->toJsonValue()); +} + +void* QVariant_ToLine(void* ptr) +{ + return ({ QLine tmpValue = static_cast(ptr)->toLine(); new QLine(tmpValue.p1(), tmpValue.p2()); }); +} + +void* QVariant_ToLineF(void* ptr) +{ + return ({ QLineF tmpValue = static_cast(ptr)->toLineF(); new QLineF(tmpValue.p1(), tmpValue.p2()); }); +} + +struct QtCore_PackedList QVariant_ToList(void* ptr) +{ + return ({ QList* tmpValue8f6950 = new QList(static_cast(ptr)->toList()); QtCore_PackedList { tmpValue8f6950, tmpValue8f6950->size() }; }); +} + +void* QVariant_ToLocale(void* ptr) +{ + return new QLocale(static_cast(ptr)->toLocale()); +} + +long long QVariant_ToLongLong(void* ptr, char* ok) +{ + return static_cast(ptr)->toLongLong(reinterpret_cast(ok)); +} + +struct QtCore_PackedList QVariant_ToMap(void* ptr) +{ + return ({ QMap* tmpValue1e0d76 = new QMap(static_cast(ptr)->toMap()); QtCore_PackedList { tmpValue1e0d76, tmpValue1e0d76->size() }; }); +} + +void* QVariant_ToModelIndex(void* ptr) +{ + return new QModelIndex(static_cast(ptr)->toModelIndex()); +} + +void* QVariant_ToPersistentModelIndex(void* ptr) +{ + return new QPersistentModelIndex(static_cast(ptr)->toPersistentModelIndex()); +} + +void* QVariant_ToPoint(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->toPoint(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QVariant_ToPointF(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->toPointF(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +double QVariant_ToReal(void* ptr, char* ok) +{ + return static_cast(ptr)->toReal(reinterpret_cast(ok)); +} + +void* QVariant_ToRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->toRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QVariant_ToRectF(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->toRectF(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QVariant_ToRegExp(void* ptr) +{ + return new QRegExp(static_cast(ptr)->toRegExp()); +} + +void* QVariant_ToRegularExpression(void* ptr) +{ + return new QRegularExpression(static_cast(ptr)->toRegularExpression()); +} + +void* QVariant_ToSize(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->toSize(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QVariant_ToSizeF(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->toSizeF(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +struct QtCore_PackedString QVariant_ToString(void* ptr) +{ + return ({ QByteArray tf9e1e4 = static_cast(ptr)->toString().toUtf8(); QtCore_PackedString { const_cast(tf9e1e4.prepend("WHITESPACE").constData()+10), tf9e1e4.size()-10 }; }); +} + +struct QtCore_PackedString QVariant_ToStringList(void* ptr) +{ + return ({ QByteArray tf99cb6 = static_cast(ptr)->toStringList().join("¡¦!").toUtf8(); QtCore_PackedString { const_cast(tf99cb6.prepend("WHITESPACE").constData()+10), tf99cb6.size()-10 }; }); +} + +void* QVariant_ToTime(void* ptr) +{ + return new QTime(static_cast(ptr)->toTime()); +} + +unsigned int QVariant_ToUInt(void* ptr, char* ok) +{ + return static_cast(ptr)->toUInt(reinterpret_cast(ok)); +} + +unsigned long long QVariant_ToULongLong(void* ptr, char* ok) +{ + return static_cast(ptr)->toULongLong(reinterpret_cast(ok)); +} + +void* QVariant_ToUrl(void* ptr) +{ + return new QUrl(static_cast(ptr)->toUrl()); +} + +void* QVariant_ToUuid(void* ptr) +{ + return new QUuid(static_cast(ptr)->toUuid()); +} + +long long QVariant_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +struct QtCore_PackedString QVariant_TypeName(void* ptr) +{ + return QtCore_PackedString { const_cast(static_cast(ptr)->typeName()), -1 }; +} + +struct QtCore_PackedString QVariant_QVariant_TypeToName(int typeId) +{ + return QtCore_PackedString { const_cast(QVariant::typeToName(typeId)), typeId }; +} + +int QVariant_UserType(void* ptr) +{ + return static_cast(ptr)->userType(); +} + +void QVariant_DestroyQVariant(void* ptr) +{ + static_cast(ptr)->~QVariant(); +} + +void* QVariant_ToColor(void* ptr) +{ + return new QColor(qvariant_cast(*static_cast(ptr))); +} + +void* QVariant_ToFont(void* ptr) +{ + return new QFont(qvariant_cast(*static_cast(ptr))); +} + +void* QVariant_ToImage(void* ptr) +{ + return new QImage(qvariant_cast(*static_cast(ptr))); +} + +void* QVariant_ToObject(void* ptr) +{ + return qvariant_cast(*static_cast(ptr)); +} + +void* QVariant_ToIcon(void* ptr) +{ + return new QIcon(qvariant_cast(*static_cast(ptr))); +} + +void* QVariant_ToBrush(void* ptr) +{ + return new QBrush(qvariant_cast(*static_cast(ptr))); +} + +void* QVariant___QVariant_val_atList22(void* ptr, int i) +{ + return new QVariant(({QVariant tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QVariant___QVariant_val_setList22(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QVariant___QVariant_val_newList22(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QVariant___QVariant_val_atList23(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QVariant___QVariant_val_setList23(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QVariant___QVariant_val_newList23(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtCore_PackedList QVariant___QVariant_val_keyList23(void* ptr) +{ + return ({ QList* tmpValue1ab909 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValue1ab909, tmpValue1ab909->size() }; }); +} + +void* QVariant___QVariant_val_atList24(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QVariant___QVariant_val_setList24(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QVariant___QVariant_val_newList24(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtCore_PackedList QVariant___QVariant_val_keyList24(void* ptr) +{ + return ({ QList* tmpValuef43bc5 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValuef43bc5, tmpValuef43bc5->size() }; }); +} + +void* QVariant___toHash_atList(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QVariant___toHash_setList(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QVariant___toHash_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtCore_PackedList QVariant___toHash_keyList(void* ptr) +{ + return ({ QList* tmpValuef43bc5 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValuef43bc5, tmpValuef43bc5->size() }; }); +} + +void* QVariant___toList_atList(void* ptr, int i) +{ + return new QVariant(({QVariant tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QVariant___toList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QVariant___toList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QVariant___toMap_atList(void* ptr, struct QtCore_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QVariant___toMap_setList(void* ptr, struct QtCore_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QVariant___toMap_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtCore_PackedList QVariant___toMap_keyList(void* ptr) +{ + return ({ QList* tmpValue1ab909 = new QList(static_cast*>(ptr)->keys()); QtCore_PackedList { tmpValue1ab909, tmpValue1ab909->size() }; }); +} + +struct QtCore_PackedString QVariant_____QVariant_val_keyList_atList23(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QVariant_____QVariant_val_keyList_setList23(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QVariant_____QVariant_val_keyList_newList23(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QVariant_____QVariant_val_keyList_atList24(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QVariant_____QVariant_val_keyList_setList24(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QVariant_____QVariant_val_keyList_newList24(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QVariant_____toHash_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QVariant_____toHash_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QVariant_____toHash_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtCore_PackedString QVariant_____toMap_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtCore_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QVariant_____toMap_keyList_setList(void* ptr, struct QtCore_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QVariant_____toMap_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQVariantAnimation: public QVariantAnimation +{ +public: + MyQVariantAnimation(QObject *parent = Q_NULLPTR) : QVariantAnimation(parent) {QVariantAnimation_QVariantAnimation_QRegisterMetaType();}; + int duration() const { return callbackQVariantAnimation_Duration(const_cast(static_cast(this))); }; + bool event(QEvent * event) { return callbackQObject_Event(this, event) != 0; }; + QVariant interpolated(const QVariant & from, const QVariant & to, qreal progress) const { return *static_cast(callbackQVariantAnimation_Interpolated(const_cast(static_cast(this)), const_cast(&from), const_cast(&to), progress)); }; + void updateCurrentTime(int vin) { callbackQVariantAnimation_UpdateCurrentTime(this, vin); }; + void updateCurrentValue(const QVariant & value) { callbackQVariantAnimation_UpdateCurrentValue(this, const_cast(&value)); }; + void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_UpdateState(this, newState, oldState); }; + void Signal_ValueChanged(const QVariant & value) { callbackQVariantAnimation_ValueChanged(this, const_cast(&value)); }; + ~MyQVariantAnimation() { callbackQVariantAnimation_DestroyQVariantAnimation(this); }; + void Signal_CurrentLoopChanged(int currentLoop) { callbackQAbstractAnimation_CurrentLoopChanged(this, currentLoop); }; + void Signal_DirectionChanged(QAbstractAnimation::Direction newDirection) { callbackQAbstractAnimation_DirectionChanged(this, newDirection); }; + void Signal_Finished() { callbackQAbstractAnimation_Finished(this); }; + void pause() { callbackQAbstractAnimation_Pause(this); }; + void resume() { callbackQAbstractAnimation_Resume(this); }; + void setCurrentTime(int msecs) { callbackQAbstractAnimation_SetCurrentTime(this, msecs); }; + void setPaused(bool paused) { callbackQAbstractAnimation_SetPaused(this, paused); }; + void start(QAbstractAnimation::DeletionPolicy policy) { callbackQAbstractAnimation_Start(this, policy); }; + void Signal_StateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { callbackQAbstractAnimation_StateChanged(this, newState, oldState); }; + void stop() { callbackQAbstractAnimation_Stop(this); }; + void updateDirection(QAbstractAnimation::Direction direction) { callbackQAbstractAnimation_UpdateDirection(this, direction); }; + void childEvent(QChildEvent * event) { callbackQObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQObject_CustomEvent(this, event); }; + void deleteLater() { callbackQObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQObject_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtCore_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQVariantAnimation*) + +int QVariantAnimation_QVariantAnimation_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QVariantAnimation_NewQVariantAnimation(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQVariantAnimation(static_cast(parent)); + } else { + return new MyQVariantAnimation(static_cast(parent)); + } +} + +void* QVariantAnimation_CurrentValue(void* ptr) +{ + return new QVariant(static_cast(ptr)->currentValue()); +} + +int QVariantAnimation_Duration(void* ptr) +{ + return static_cast(ptr)->duration(); +} + +int QVariantAnimation_DurationDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPropertyAnimation::duration(); + } else { + return static_cast(ptr)->QVariantAnimation::duration(); + } +} + +void* QVariantAnimation_EasingCurve(void* ptr) +{ + return new QEasingCurve(static_cast(ptr)->easingCurve()); +} + +void* QVariantAnimation_EndValue(void* ptr) +{ + return new QVariant(static_cast(ptr)->endValue()); +} + +void* QVariantAnimation_Interpolated(void* ptr, void* from, void* to, double progress) +{ + return new QVariant(static_cast(ptr)->interpolated(*static_cast(from), *static_cast(to), progress)); +} + +void* QVariantAnimation_InterpolatedDefault(void* ptr, void* from, void* to, double progress) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QPropertyAnimation::interpolated(*static_cast(from), *static_cast(to), progress)); + } else { + return new QVariant(static_cast(ptr)->QVariantAnimation::interpolated(*static_cast(from), *static_cast(to), progress)); + } +} + +void* QVariantAnimation_KeyValueAt(void* ptr, double step) +{ + return new QVariant(static_cast(ptr)->keyValueAt(step)); +} + +void QVariantAnimation_SetDuration(void* ptr, int msecs) +{ + static_cast(ptr)->setDuration(msecs); +} + +void QVariantAnimation_SetEasingCurve(void* ptr, void* easing) +{ + static_cast(ptr)->setEasingCurve(*static_cast(easing)); +} + +void QVariantAnimation_SetEndValue(void* ptr, void* value) +{ + static_cast(ptr)->setEndValue(*static_cast(value)); +} + +void QVariantAnimation_SetKeyValueAt(void* ptr, double step, void* value) +{ + static_cast(ptr)->setKeyValueAt(step, *static_cast(value)); +} + +void QVariantAnimation_SetStartValue(void* ptr, void* value) +{ + static_cast(ptr)->setStartValue(*static_cast(value)); +} + +void* QVariantAnimation_StartValue(void* ptr) +{ + return new QVariant(static_cast(ptr)->startValue()); +} + +void QVariantAnimation_UpdateCurrentTime(void* ptr, int vin) +{ + static_cast(ptr)->updateCurrentTime(vin); +} + +void QVariantAnimation_UpdateCurrentTimeDefault(void* ptr, int vin) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::updateCurrentTime(vin); + } else { + static_cast(ptr)->QVariantAnimation::updateCurrentTime(vin); + } +} + +void QVariantAnimation_UpdateCurrentValue(void* ptr, void* value) +{ + static_cast(ptr)->updateCurrentValue(*static_cast(value)); +} + +void QVariantAnimation_UpdateCurrentValueDefault(void* ptr, void* value) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPropertyAnimation::updateCurrentValue(*static_cast(value)); + } else { + static_cast(ptr)->QVariantAnimation::updateCurrentValue(*static_cast(value)); + } +} + +void QVariantAnimation_ConnectValueChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QVariantAnimation::valueChanged), static_cast(ptr), static_cast(&MyQVariantAnimation::Signal_ValueChanged), static_cast(t)); +} + +void QVariantAnimation_DisconnectValueChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QVariantAnimation::valueChanged), static_cast(ptr), static_cast(&MyQVariantAnimation::Signal_ValueChanged)); +} + +void QVariantAnimation_ValueChanged(void* ptr, void* value) +{ + static_cast(ptr)->valueChanged(*static_cast(value)); +} + +void QVariantAnimation_DestroyQVariantAnimation(void* ptr) +{ + static_cast(ptr)->~QVariantAnimation(); +} + +void QVariantAnimation_DestroyQVariantAnimationDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QVersionNumber_NewQVersionNumber() +{ + return new QVersionNumber(); +} + +void* QVersionNumber_NewQVersionNumber2(void* seg) +{ + return new QVersionNumber(*static_cast*>(seg)); +} + +void* QVersionNumber_NewQVersionNumber3(void* seg) +{ + return new QVersionNumber(({ QVector* tmpP = static_cast*>(seg); QVector tmpV = *tmpP; tmpP->~QVector(); free(tmpP); tmpV; })); +} + +void* QVersionNumber_NewQVersionNumber5(int maj) +{ + return new QVersionNumber(maj); +} + +void* QVersionNumber_NewQVersionNumber6(int maj, int min) +{ + return new QVersionNumber(maj, min); +} + +void* QVersionNumber_NewQVersionNumber7(int maj, int min, int mic) +{ + return new QVersionNumber(maj, min, mic); +} + +void* QVersionNumber_QVersionNumber_CommonPrefix(void* v1, void* v2) +{ + return new QVersionNumber(QVersionNumber::commonPrefix(*static_cast(v1), *static_cast(v2))); +} + +int QVersionNumber_QVersionNumber_Compare(void* v1, void* v2) +{ + return QVersionNumber::compare(*static_cast(v1), *static_cast(v2)); +} + +void* QVersionNumber_QVersionNumber_FromString(struct QtCore_PackedString stri, int suffixIndex) +{ + return new QVersionNumber(QVersionNumber::fromString(QString::fromUtf8(stri.data, stri.len), &suffixIndex)); +} + +void* QVersionNumber_QVersionNumber_FromString2(void* stri, int suffixIndex) +{ + return new QVersionNumber(QVersionNumber::fromString(*static_cast(stri), &suffixIndex)); +} + +void* QVersionNumber_QVersionNumber_FromString3(void* stri, int suffixIndex) +{ + return new QVersionNumber(QVersionNumber::fromString(*static_cast(stri), &suffixIndex)); +} + +char QVersionNumber_IsNormalized(void* ptr) +{ + return static_cast(ptr)->isNormalized(); +} + +char QVersionNumber_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QVersionNumber_IsPrefixOf(void* ptr, void* other) +{ + return static_cast(ptr)->isPrefixOf(*static_cast(other)); +} + +int QVersionNumber_MajorVersion(void* ptr) +{ + return static_cast(ptr)->majorVersion(); +} + +int QVersionNumber_MicroVersion(void* ptr) +{ + return static_cast(ptr)->microVersion(); +} + +int QVersionNumber_MinorVersion(void* ptr) +{ + return static_cast(ptr)->minorVersion(); +} + +void* QVersionNumber_Normalized(void* ptr) +{ + return new QVersionNumber(static_cast(ptr)->normalized()); +} + +int QVersionNumber_SegmentAt(void* ptr, int index) +{ + return static_cast(ptr)->segmentAt(index); +} + +int QVersionNumber_SegmentCount(void* ptr) +{ + return static_cast(ptr)->segmentCount(); +} + +struct QtCore_PackedList QVersionNumber_Segments(void* ptr) +{ + return ({ QVector* tmpValue14199b = new QVector(static_cast(ptr)->segments()); QtCore_PackedList { tmpValue14199b, tmpValue14199b->size() }; }); +} + +struct QtCore_PackedString QVersionNumber_ToString(void* ptr) +{ + return ({ QByteArray t62e3a8 = static_cast(ptr)->toString().toUtf8(); QtCore_PackedString { const_cast(t62e3a8.prepend("WHITESPACE").constData()+10), t62e3a8.size()-10 }; }); +} + +int QVersionNumber___QVersionNumber_seg_atList2(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QVersionNumber___QVersionNumber_seg_setList2(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QVersionNumber___QVersionNumber_seg_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +int QVersionNumber___QVersionNumber_seg_atList3(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QVersionNumber___QVersionNumber_seg_setList3(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QVersionNumber___QVersionNumber_seg_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +int QVersionNumber___segments_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QVersionNumber___segments_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QVersionNumber___segments_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QWaitCondition_NewQWaitCondition() +{ + return new QWaitCondition(); +} + +void QWaitCondition_Notify_all(void* ptr) +{ + static_cast(ptr)->notify_all(); +} + +void QWaitCondition_Notify_one(void* ptr) +{ + static_cast(ptr)->notify_one(); +} + +char QWaitCondition_Wait(void* ptr, void* lockedMutex, unsigned long ti) +{ + return static_cast(ptr)->wait(static_cast(lockedMutex), ti); +} + +char QWaitCondition_Wait3(void* ptr, void* lockedReadWriteLock, unsigned long ti) +{ + return static_cast(ptr)->wait(static_cast(lockedReadWriteLock), ti); +} + +void QWaitCondition_WakeAll(void* ptr) +{ + static_cast(ptr)->wakeAll(); +} + +void QWaitCondition_WakeOne(void* ptr) +{ + static_cast(ptr)->wakeOne(); +} + +void QWaitCondition_DestroyQWaitCondition(void* ptr) +{ + static_cast(ptr)->~QWaitCondition(); +} + +void* QWriteLocker_NewQWriteLocker(void* lock) +{ + return new QWriteLocker(static_cast(lock)); +} + +void* QWriteLocker_ReadWriteLock(void* ptr) +{ + return static_cast(ptr)->readWriteLock(); +} + +void QWriteLocker_Relock(void* ptr) +{ + static_cast(ptr)->relock(); +} + +void QWriteLocker_Unlock(void* ptr) +{ + static_cast(ptr)->unlock(); +} + +void QWriteLocker_DestroyQWriteLocker(void* ptr) +{ + static_cast(ptr)->~QWriteLocker(); +} + +void* QXmlStreamAttribute_NewQXmlStreamAttribute() +{ + return new QXmlStreamAttribute(); +} + +void* QXmlStreamAttribute_NewQXmlStreamAttribute2(struct QtCore_PackedString qualifiedName, struct QtCore_PackedString value) +{ + return new QXmlStreamAttribute(QString::fromUtf8(qualifiedName.data, qualifiedName.len), QString::fromUtf8(value.data, value.len)); +} + +void* QXmlStreamAttribute_NewQXmlStreamAttribute3(struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name, struct QtCore_PackedString value) +{ + return new QXmlStreamAttribute(QString::fromUtf8(namespaceUri.data, namespaceUri.len), QString::fromUtf8(name.data, name.len), QString::fromUtf8(value.data, value.len)); +} + +void* QXmlStreamAttribute_NewQXmlStreamAttribute4(void* other) +{ + return new QXmlStreamAttribute(*static_cast(other)); +} + +char QXmlStreamAttribute_IsDefault(void* ptr) +{ + return static_cast(ptr)->isDefault(); +} + +void* QXmlStreamAttribute_Name(void* ptr) +{ + return new QStringRef(static_cast(ptr)->name()); +} + +void* QXmlStreamAttribute_NamespaceUri(void* ptr) +{ + return new QStringRef(static_cast(ptr)->namespaceUri()); +} + +void* QXmlStreamAttribute_Prefix(void* ptr) +{ + return new QStringRef(static_cast(ptr)->prefix()); +} + +void* QXmlStreamAttribute_QualifiedName(void* ptr) +{ + return new QStringRef(static_cast(ptr)->qualifiedName()); +} + +void* QXmlStreamAttribute_Value(void* ptr) +{ + return new QStringRef(static_cast(ptr)->value()); +} + +void QXmlStreamAttribute_DestroyQXmlStreamAttribute(void* ptr) +{ + static_cast(ptr)->~QXmlStreamAttribute(); +} + +void* QXmlStreamAttributes_NewQXmlStreamAttributes() +{ + return new QXmlStreamAttributes(); +} + +void QXmlStreamAttributes_Append(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name, struct QtCore_PackedString value) +{ + static_cast(ptr)->append(QString::fromUtf8(namespaceUri.data, namespaceUri.len), QString::fromUtf8(name.data, name.len), QString::fromUtf8(value.data, value.len)); +} + +void QXmlStreamAttributes_Append2(void* ptr, struct QtCore_PackedString qualifiedName, struct QtCore_PackedString value) +{ + static_cast(ptr)->append(QString::fromUtf8(qualifiedName.data, qualifiedName.len), QString::fromUtf8(value.data, value.len)); +} + +char QXmlStreamAttributes_HasAttribute(void* ptr, struct QtCore_PackedString qualifiedName) +{ + return static_cast(ptr)->hasAttribute(QString::fromUtf8(qualifiedName.data, qualifiedName.len)); +} + +char QXmlStreamAttributes_HasAttribute2(void* ptr, void* qualifiedName) +{ + return static_cast(ptr)->hasAttribute(*static_cast(qualifiedName)); +} + +char QXmlStreamAttributes_HasAttribute3(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name) +{ + return static_cast(ptr)->hasAttribute(QString::fromUtf8(namespaceUri.data, namespaceUri.len), QString::fromUtf8(name.data, name.len)); +} + +void* QXmlStreamAttributes_Value(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name) +{ + return new QStringRef(static_cast(ptr)->value(QString::fromUtf8(namespaceUri.data, namespaceUri.len), QString::fromUtf8(name.data, name.len))); +} + +void* QXmlStreamAttributes_Value2(void* ptr, struct QtCore_PackedString namespaceUri, void* name) +{ + return new QStringRef(static_cast(ptr)->value(QString::fromUtf8(namespaceUri.data, namespaceUri.len), *static_cast(name))); +} + +void* QXmlStreamAttributes_Value3(void* ptr, void* namespaceUri, void* name) +{ + return new QStringRef(static_cast(ptr)->value(*static_cast(namespaceUri), *static_cast(name))); +} + +void* QXmlStreamAttributes_Value4(void* ptr, struct QtCore_PackedString qualifiedName) +{ + return new QStringRef(static_cast(ptr)->value(QString::fromUtf8(qualifiedName.data, qualifiedName.len))); +} + +void* QXmlStreamAttributes_Value5(void* ptr, void* qualifiedName) +{ + return new QStringRef(static_cast(ptr)->value(*static_cast(qualifiedName))); +} + +void* QXmlStreamEntityDeclaration_NewQXmlStreamEntityDeclaration() +{ + return new QXmlStreamEntityDeclaration(); +} + +void* QXmlStreamEntityDeclaration_NewQXmlStreamEntityDeclaration2(void* other) +{ + return new QXmlStreamEntityDeclaration(*static_cast(other)); +} + +void* QXmlStreamEntityDeclaration_Name(void* ptr) +{ + return new QStringRef(static_cast(ptr)->name()); +} + +void* QXmlStreamEntityDeclaration_NotationName(void* ptr) +{ + return new QStringRef(static_cast(ptr)->notationName()); +} + +void* QXmlStreamEntityDeclaration_PublicId(void* ptr) +{ + return new QStringRef(static_cast(ptr)->publicId()); +} + +void* QXmlStreamEntityDeclaration_SystemId(void* ptr) +{ + return new QStringRef(static_cast(ptr)->systemId()); +} + +void* QXmlStreamEntityDeclaration_Value(void* ptr) +{ + return new QStringRef(static_cast(ptr)->value()); +} + +void QXmlStreamEntityDeclaration_DestroyQXmlStreamEntityDeclaration(void* ptr) +{ + static_cast(ptr)->~QXmlStreamEntityDeclaration(); +} + +class MyQXmlStreamEntityResolver: public QXmlStreamEntityResolver +{ +public: + QString resolveUndeclaredEntity(const QString & name) { QByteArray t6ae999 = name.toUtf8(); QtCore_PackedString namePacked = { const_cast(t6ae999.prepend("WHITESPACE").constData()+10), t6ae999.size()-10 };return ({ QtCore_PackedString tempVal = callbackQXmlStreamEntityResolver_ResolveUndeclaredEntity(this, namePacked); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + ~MyQXmlStreamEntityResolver() { callbackQXmlStreamEntityResolver_DestroyQXmlStreamEntityResolver(this); }; +}; + +struct QtCore_PackedString QXmlStreamEntityResolver_ResolveUndeclaredEntity(void* ptr, struct QtCore_PackedString name) +{ + return ({ QByteArray t961153 = static_cast(ptr)->resolveUndeclaredEntity(QString::fromUtf8(name.data, name.len)).toUtf8(); QtCore_PackedString { const_cast(t961153.prepend("WHITESPACE").constData()+10), t961153.size()-10 }; }); +} + +struct QtCore_PackedString QXmlStreamEntityResolver_ResolveUndeclaredEntityDefault(void* ptr, struct QtCore_PackedString name) +{ + return ({ QByteArray t7ca7f1 = static_cast(ptr)->QXmlStreamEntityResolver::resolveUndeclaredEntity(QString::fromUtf8(name.data, name.len)).toUtf8(); QtCore_PackedString { const_cast(t7ca7f1.prepend("WHITESPACE").constData()+10), t7ca7f1.size()-10 }; }); +} + +void QXmlStreamEntityResolver_DestroyQXmlStreamEntityResolver(void* ptr) +{ + static_cast(ptr)->~QXmlStreamEntityResolver(); +} + +void QXmlStreamEntityResolver_DestroyQXmlStreamEntityResolverDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QXmlStreamNamespaceDeclaration_NewQXmlStreamNamespaceDeclaration() +{ + return new QXmlStreamNamespaceDeclaration(); +} + +void* QXmlStreamNamespaceDeclaration_NewQXmlStreamNamespaceDeclaration2(void* other) +{ + return new QXmlStreamNamespaceDeclaration(*static_cast(other)); +} + +void* QXmlStreamNamespaceDeclaration_NewQXmlStreamNamespaceDeclaration4(struct QtCore_PackedString prefix, struct QtCore_PackedString namespaceUri) +{ + return new QXmlStreamNamespaceDeclaration(QString::fromUtf8(prefix.data, prefix.len), QString::fromUtf8(namespaceUri.data, namespaceUri.len)); +} + +void* QXmlStreamNamespaceDeclaration_NamespaceUri(void* ptr) +{ + return new QStringRef(static_cast(ptr)->namespaceUri()); +} + +void* QXmlStreamNamespaceDeclaration_Prefix(void* ptr) +{ + return new QStringRef(static_cast(ptr)->prefix()); +} + +void QXmlStreamNamespaceDeclaration_DestroyQXmlStreamNamespaceDeclaration(void* ptr) +{ + static_cast(ptr)->~QXmlStreamNamespaceDeclaration(); +} + +void* QXmlStreamNotationDeclaration_NewQXmlStreamNotationDeclaration() +{ + return new QXmlStreamNotationDeclaration(); +} + +void* QXmlStreamNotationDeclaration_NewQXmlStreamNotationDeclaration2(void* other) +{ + return new QXmlStreamNotationDeclaration(*static_cast(other)); +} + +void* QXmlStreamNotationDeclaration_Name(void* ptr) +{ + return new QStringRef(static_cast(ptr)->name()); +} + +void* QXmlStreamNotationDeclaration_PublicId(void* ptr) +{ + return new QStringRef(static_cast(ptr)->publicId()); +} + +void* QXmlStreamNotationDeclaration_SystemId(void* ptr) +{ + return new QStringRef(static_cast(ptr)->systemId()); +} + +void QXmlStreamNotationDeclaration_DestroyQXmlStreamNotationDeclaration(void* ptr) +{ + static_cast(ptr)->~QXmlStreamNotationDeclaration(); +} + +void* QXmlStreamReader_NewQXmlStreamReader() +{ + return new QXmlStreamReader(); +} + +void* QXmlStreamReader_NewQXmlStreamReader2(void* device) +{ + return new QXmlStreamReader(static_cast(device)); +} + +void* QXmlStreamReader_NewQXmlStreamReader3(void* data) +{ + return new QXmlStreamReader(*static_cast(data)); +} + +void* QXmlStreamReader_NewQXmlStreamReader4(struct QtCore_PackedString data) +{ + return new QXmlStreamReader(QString::fromUtf8(data.data, data.len)); +} + +void* QXmlStreamReader_NewQXmlStreamReader5(char* data) +{ + return new QXmlStreamReader(const_cast(data)); +} + +void QXmlStreamReader_AddData(void* ptr, void* data) +{ + static_cast(ptr)->addData(*static_cast(data)); +} + +void QXmlStreamReader_AddData2(void* ptr, struct QtCore_PackedString data) +{ + static_cast(ptr)->addData(QString::fromUtf8(data.data, data.len)); +} + +void QXmlStreamReader_AddData3(void* ptr, char* data) +{ + static_cast(ptr)->addData(const_cast(data)); +} + +void QXmlStreamReader_AddExtraNamespaceDeclaration(void* ptr, void* extraNamespaceDeclaration) +{ + static_cast(ptr)->addExtraNamespaceDeclaration(*static_cast(extraNamespaceDeclaration)); +} + +char QXmlStreamReader_AtEnd(void* ptr) +{ + return static_cast(ptr)->atEnd(); +} + +long long QXmlStreamReader_CharacterOffset(void* ptr) +{ + return static_cast(ptr)->characterOffset(); +} + +void QXmlStreamReader_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +long long QXmlStreamReader_ColumnNumber(void* ptr) +{ + return static_cast(ptr)->columnNumber(); +} + +void* QXmlStreamReader_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +void* QXmlStreamReader_DocumentEncoding(void* ptr) +{ + return new QStringRef(static_cast(ptr)->documentEncoding()); +} + +void* QXmlStreamReader_DocumentVersion(void* ptr) +{ + return new QStringRef(static_cast(ptr)->documentVersion()); +} + +void* QXmlStreamReader_DtdName(void* ptr) +{ + return new QStringRef(static_cast(ptr)->dtdName()); +} + +void* QXmlStreamReader_DtdPublicId(void* ptr) +{ + return new QStringRef(static_cast(ptr)->dtdPublicId()); +} + +void* QXmlStreamReader_DtdSystemId(void* ptr) +{ + return new QStringRef(static_cast(ptr)->dtdSystemId()); +} + +void* QXmlStreamReader_EntityResolver(void* ptr) +{ + return static_cast(ptr)->entityResolver(); +} + +long long QXmlStreamReader_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtCore_PackedString QXmlStreamReader_ErrorString(void* ptr) +{ + return ({ QByteArray td9cec5 = static_cast(ptr)->errorString().toUtf8(); QtCore_PackedString { const_cast(td9cec5.prepend("WHITESPACE").constData()+10), td9cec5.size()-10 }; }); +} + +char QXmlStreamReader_HasError(void* ptr) +{ + return static_cast(ptr)->hasError(); +} + +char QXmlStreamReader_IsCDATA(void* ptr) +{ + return static_cast(ptr)->isCDATA(); +} + +char QXmlStreamReader_IsCharacters(void* ptr) +{ + return static_cast(ptr)->isCharacters(); +} + +char QXmlStreamReader_IsComment(void* ptr) +{ + return static_cast(ptr)->isComment(); +} + +char QXmlStreamReader_IsDTD(void* ptr) +{ + return static_cast(ptr)->isDTD(); +} + +char QXmlStreamReader_IsEndDocument(void* ptr) +{ + return static_cast(ptr)->isEndDocument(); +} + +char QXmlStreamReader_IsEndElement(void* ptr) +{ + return static_cast(ptr)->isEndElement(); +} + +char QXmlStreamReader_IsEntityReference(void* ptr) +{ + return static_cast(ptr)->isEntityReference(); +} + +char QXmlStreamReader_IsProcessingInstruction(void* ptr) +{ + return static_cast(ptr)->isProcessingInstruction(); +} + +char QXmlStreamReader_IsStandaloneDocument(void* ptr) +{ + return static_cast(ptr)->isStandaloneDocument(); +} + +char QXmlStreamReader_IsStartDocument(void* ptr) +{ + return static_cast(ptr)->isStartDocument(); +} + +char QXmlStreamReader_IsStartElement(void* ptr) +{ + return static_cast(ptr)->isStartElement(); +} + +char QXmlStreamReader_IsWhitespace(void* ptr) +{ + return static_cast(ptr)->isWhitespace(); +} + +long long QXmlStreamReader_LineNumber(void* ptr) +{ + return static_cast(ptr)->lineNumber(); +} + +void* QXmlStreamReader_Name(void* ptr) +{ + return new QStringRef(static_cast(ptr)->name()); +} + +char QXmlStreamReader_NamespaceProcessing(void* ptr) +{ + return static_cast(ptr)->namespaceProcessing(); +} + +void* QXmlStreamReader_NamespaceUri(void* ptr) +{ + return new QStringRef(static_cast(ptr)->namespaceUri()); +} + +void* QXmlStreamReader_Prefix(void* ptr) +{ + return new QStringRef(static_cast(ptr)->prefix()); +} + +void* QXmlStreamReader_ProcessingInstructionData(void* ptr) +{ + return new QStringRef(static_cast(ptr)->processingInstructionData()); +} + +void* QXmlStreamReader_ProcessingInstructionTarget(void* ptr) +{ + return new QStringRef(static_cast(ptr)->processingInstructionTarget()); +} + +void* QXmlStreamReader_QualifiedName(void* ptr) +{ + return new QStringRef(static_cast(ptr)->qualifiedName()); +} + +void QXmlStreamReader_RaiseError(void* ptr, struct QtCore_PackedString message) +{ + static_cast(ptr)->raiseError(QString::fromUtf8(message.data, message.len)); +} + +struct QtCore_PackedString QXmlStreamReader_ReadElementText(void* ptr, long long behaviour) +{ + return ({ QByteArray tbe9d44 = static_cast(ptr)->readElementText(static_cast(behaviour)).toUtf8(); QtCore_PackedString { const_cast(tbe9d44.prepend("WHITESPACE").constData()+10), tbe9d44.size()-10 }; }); +} + +long long QXmlStreamReader_ReadNext(void* ptr) +{ + return static_cast(ptr)->readNext(); +} + +char QXmlStreamReader_ReadNextStartElement(void* ptr) +{ + return static_cast(ptr)->readNextStartElement(); +} + +void QXmlStreamReader_SetDevice(void* ptr, void* device) +{ + static_cast(ptr)->setDevice(static_cast(device)); +} + +void QXmlStreamReader_SetEntityResolver(void* ptr, void* resolver) +{ + static_cast(ptr)->setEntityResolver(static_cast(resolver)); +} + +void QXmlStreamReader_SetNamespaceProcessing(void* ptr, char vbo) +{ + static_cast(ptr)->setNamespaceProcessing(vbo != 0); +} + +void QXmlStreamReader_SkipCurrentElement(void* ptr) +{ + static_cast(ptr)->skipCurrentElement(); +} + +void* QXmlStreamReader_Text(void* ptr) +{ + return new QStringRef(static_cast(ptr)->text()); +} + +struct QtCore_PackedString QXmlStreamReader_TokenString(void* ptr) +{ + return ({ QByteArray t5e8d05 = static_cast(ptr)->tokenString().toUtf8(); QtCore_PackedString { const_cast(t5e8d05.prepend("WHITESPACE").constData()+10), t5e8d05.size()-10 }; }); +} + +long long QXmlStreamReader_TokenType(void* ptr) +{ + return static_cast(ptr)->tokenType(); +} + +void QXmlStreamReader_DestroyQXmlStreamReader(void* ptr) +{ + static_cast(ptr)->~QXmlStreamReader(); +} + +void* QXmlStreamWriter_NewQXmlStreamWriter() +{ + return new QXmlStreamWriter(); +} + +void* QXmlStreamWriter_NewQXmlStreamWriter2(void* device) +{ + return new QXmlStreamWriter(static_cast(device)); +} + +void* QXmlStreamWriter_NewQXmlStreamWriter3(void* array) +{ + return new QXmlStreamWriter(static_cast(array)); +} + +void* QXmlStreamWriter_NewQXmlStreamWriter4(struct QtCore_PackedString stri) +{ + return new QXmlStreamWriter(new QString(QString::fromUtf8(stri.data, stri.len))); +} + +char QXmlStreamWriter_AutoFormatting(void* ptr) +{ + return static_cast(ptr)->autoFormatting(); +} + +int QXmlStreamWriter_AutoFormattingIndent(void* ptr) +{ + return static_cast(ptr)->autoFormattingIndent(); +} + +void* QXmlStreamWriter_Codec(void* ptr) +{ + return static_cast(ptr)->codec(); +} + +void* QXmlStreamWriter_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +char QXmlStreamWriter_HasError(void* ptr) +{ + return static_cast(ptr)->hasError(); +} + +void QXmlStreamWriter_SetAutoFormatting(void* ptr, char enable) +{ + static_cast(ptr)->setAutoFormatting(enable != 0); +} + +void QXmlStreamWriter_SetAutoFormattingIndent(void* ptr, int spacesOrTabs) +{ + static_cast(ptr)->setAutoFormattingIndent(spacesOrTabs); +} + +void QXmlStreamWriter_SetCodec(void* ptr, void* codec) +{ + static_cast(ptr)->setCodec(static_cast(codec)); +} + +void QXmlStreamWriter_SetCodec2(void* ptr, char* codecName) +{ + static_cast(ptr)->setCodec(const_cast(codecName)); +} + +void QXmlStreamWriter_SetDevice(void* ptr, void* device) +{ + static_cast(ptr)->setDevice(static_cast(device)); +} + +void QXmlStreamWriter_WriteAttribute(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name, struct QtCore_PackedString value) +{ + static_cast(ptr)->writeAttribute(QString::fromUtf8(namespaceUri.data, namespaceUri.len), QString::fromUtf8(name.data, name.len), QString::fromUtf8(value.data, value.len)); +} + +void QXmlStreamWriter_WriteAttribute2(void* ptr, struct QtCore_PackedString qualifiedName, struct QtCore_PackedString value) +{ + static_cast(ptr)->writeAttribute(QString::fromUtf8(qualifiedName.data, qualifiedName.len), QString::fromUtf8(value.data, value.len)); +} + +void QXmlStreamWriter_WriteAttribute3(void* ptr, void* attribute) +{ + static_cast(ptr)->writeAttribute(*static_cast(attribute)); +} + +void QXmlStreamWriter_WriteAttributes(void* ptr, void* attributes) +{ + static_cast(ptr)->writeAttributes(*static_cast(attributes)); +} + +void QXmlStreamWriter_WriteCDATA(void* ptr, struct QtCore_PackedString text) +{ + static_cast(ptr)->writeCDATA(QString::fromUtf8(text.data, text.len)); +} + +void QXmlStreamWriter_WriteCharacters(void* ptr, struct QtCore_PackedString text) +{ + static_cast(ptr)->writeCharacters(QString::fromUtf8(text.data, text.len)); +} + +void QXmlStreamWriter_WriteComment(void* ptr, struct QtCore_PackedString text) +{ + static_cast(ptr)->writeComment(QString::fromUtf8(text.data, text.len)); +} + +void QXmlStreamWriter_WriteCurrentToken(void* ptr, void* reader) +{ + static_cast(ptr)->writeCurrentToken(*static_cast(reader)); +} + +void QXmlStreamWriter_WriteDTD(void* ptr, struct QtCore_PackedString dtd) +{ + static_cast(ptr)->writeDTD(QString::fromUtf8(dtd.data, dtd.len)); +} + +void QXmlStreamWriter_WriteDefaultNamespace(void* ptr, struct QtCore_PackedString namespaceUri) +{ + static_cast(ptr)->writeDefaultNamespace(QString::fromUtf8(namespaceUri.data, namespaceUri.len)); +} + +void QXmlStreamWriter_WriteEmptyElement(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name) +{ + static_cast(ptr)->writeEmptyElement(QString::fromUtf8(namespaceUri.data, namespaceUri.len), QString::fromUtf8(name.data, name.len)); +} + +void QXmlStreamWriter_WriteEmptyElement2(void* ptr, struct QtCore_PackedString qualifiedName) +{ + static_cast(ptr)->writeEmptyElement(QString::fromUtf8(qualifiedName.data, qualifiedName.len)); +} + +void QXmlStreamWriter_WriteEndDocument(void* ptr) +{ + static_cast(ptr)->writeEndDocument(); +} + +void QXmlStreamWriter_WriteEndElement(void* ptr) +{ + static_cast(ptr)->writeEndElement(); +} + +void QXmlStreamWriter_WriteEntityReference(void* ptr, struct QtCore_PackedString name) +{ + static_cast(ptr)->writeEntityReference(QString::fromUtf8(name.data, name.len)); +} + +void QXmlStreamWriter_WriteNamespace(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString prefix) +{ + static_cast(ptr)->writeNamespace(QString::fromUtf8(namespaceUri.data, namespaceUri.len), QString::fromUtf8(prefix.data, prefix.len)); +} + +void QXmlStreamWriter_WriteProcessingInstruction(void* ptr, struct QtCore_PackedString target, struct QtCore_PackedString data) +{ + static_cast(ptr)->writeProcessingInstruction(QString::fromUtf8(target.data, target.len), QString::fromUtf8(data.data, data.len)); +} + +void QXmlStreamWriter_WriteStartDocument(void* ptr, struct QtCore_PackedString version) +{ + static_cast(ptr)->writeStartDocument(QString::fromUtf8(version.data, version.len)); +} + +void QXmlStreamWriter_WriteStartDocument2(void* ptr) +{ + static_cast(ptr)->writeStartDocument(); +} + +void QXmlStreamWriter_WriteStartDocument3(void* ptr, struct QtCore_PackedString version, char standalone) +{ + static_cast(ptr)->writeStartDocument(QString::fromUtf8(version.data, version.len), standalone != 0); +} + +void QXmlStreamWriter_WriteStartElement(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name) +{ + static_cast(ptr)->writeStartElement(QString::fromUtf8(namespaceUri.data, namespaceUri.len), QString::fromUtf8(name.data, name.len)); +} + +void QXmlStreamWriter_WriteStartElement2(void* ptr, struct QtCore_PackedString qualifiedName) +{ + static_cast(ptr)->writeStartElement(QString::fromUtf8(qualifiedName.data, qualifiedName.len)); +} + +void QXmlStreamWriter_WriteTextElement(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name, struct QtCore_PackedString text) +{ + static_cast(ptr)->writeTextElement(QString::fromUtf8(namespaceUri.data, namespaceUri.len), QString::fromUtf8(name.data, name.len), QString::fromUtf8(text.data, text.len)); +} + +void QXmlStreamWriter_WriteTextElement2(void* ptr, struct QtCore_PackedString qualifiedName, struct QtCore_PackedString text) +{ + static_cast(ptr)->writeTextElement(QString::fromUtf8(qualifiedName.data, qualifiedName.len), QString::fromUtf8(text.data, text.len)); +} + +void QXmlStreamWriter_DestroyQXmlStreamWriter(void* ptr) +{ + static_cast(ptr)->~QXmlStreamWriter(); +} + +int Qt_LastGestureType_Type() +{ + return Qt::LastGestureType; +} + +struct QtCore_PackedString Qt_Qt_ConvertFromPlainText(struct QtCore_PackedString plain, long long mode) +{ + return ({ QByteArray t896db1 = Qt::convertFromPlainText(QString::fromUtf8(plain.data, plain.len), static_cast(mode)).toUtf8(); QtCore_PackedString { const_cast(t896db1.prepend("WHITESPACE").constData()+10), t896db1.size()-10 }; }); +} + +char Qt_Qt_MightBeRichText(struct QtCore_PackedString text) +{ + return Qt::mightBeRichText(QString::fromUtf8(text.data, text.len)); +} + +struct QtCore_PackedString QtGlobal_QtGlobal_qEnvironmentVariable(char* varName) +{ + return ({ QByteArray t239d80 = qEnvironmentVariable(const_cast(varName)).toUtf8(); QtCore_PackedString { const_cast(t239d80.prepend("WHITESPACE").constData()+10), t239d80.size()-10 }; }); +} + +struct QtCore_PackedString QtGlobal_QtGlobal_qEnvironmentVariable2(char* varName, struct QtCore_PackedString defaultValue) +{ + return ({ QByteArray t422112 = qEnvironmentVariable(const_cast(varName), QString::fromUtf8(defaultValue.data, defaultValue.len)).toUtf8(); QtCore_PackedString { const_cast(t422112.prepend("WHITESPACE").constData()+10), t422112.size()-10 }; }); +} + +int QtGlobal_QtGlobal_qEnvironmentVariableIntValue(char* varName, char* ok) +{ + return qEnvironmentVariableIntValue(const_cast(varName), reinterpret_cast(ok)); +} + +char QtGlobal_QtGlobal_qEnvironmentVariableIsEmpty(char* varName) +{ + return qEnvironmentVariableIsEmpty(const_cast(varName)); +} + +char QtGlobal_QtGlobal_qEnvironmentVariableIsSet(char* varName) +{ + return qEnvironmentVariableIsSet(const_cast(varName)); +} + +struct QtCore_PackedString QtGlobal_QtGlobal_qVersion() +{ + return QtCore_PackedString { const_cast(qVersion()), -1 }; +} + +void* QtGlobal_QtGlobal_qgetenv(char* varName) +{ + return new QByteArray(qgetenv(const_cast(varName))); +} + +char QtGlobal_QtGlobal_qputenv(char* varName, void* value) +{ + return qputenv(const_cast(varName), *static_cast(value)); +} + +char QtGlobal_QtGlobal_qunsetenv(char* varName) +{ + return qunsetenv(const_cast(varName)); +} + diff --git a/vendor/github.com/therecipe/qt/core/core.go b/vendor/github.com/therecipe/qt/core/core.go new file mode 100644 index 00000000..999c474a --- /dev/null +++ b/vendor/github.com/therecipe/qt/core/core.go @@ -0,0 +1,60868 @@ +// +build !minimal + +package core + +//#include +//#include +//#include +//#include "core.h" +import "C" +import ( + "github.com/therecipe/qt" + "reflect" + "runtime" + "strings" + "unsafe" +) + +func cGoUnpackString(s C.struct_QtCore_PackedString) string { + if int(s.len) == -1 { + return C.GoString(s.data) + } + return C.GoStringN(s.data, C.int(s.len)) +} +func cGoUnpackBytes(s C.struct_QtCore_PackedString) []byte { + if int(s.len) == -1 { + gs := C.GoString(s.data) + return *(*[]byte)(unsafe.Pointer(&gs)) + } + return C.GoBytes(unsafe.Pointer(s.data), C.int(s.len)) +} +func unpackStringList(s string) []string { + if len(s) == 0 { + return make([]string, 0) + } + return strings.Split(s, "¡¦!") +} + +type QAbstractAnimation struct { + QObject +} + +type QAbstractAnimation_ITF interface { + QObject_ITF + QAbstractAnimation_PTR() *QAbstractAnimation +} + +func (ptr *QAbstractAnimation) QAbstractAnimation_PTR() *QAbstractAnimation { + return ptr +} + +func (ptr *QAbstractAnimation) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractAnimation) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractAnimation(ptr QAbstractAnimation_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractAnimation_PTR().Pointer() + } + return nil +} + +func NewQAbstractAnimationFromPointer(ptr unsafe.Pointer) (n *QAbstractAnimation) { + n = new(QAbstractAnimation) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QAbstractAnimation__Direction +//QAbstractAnimation::Direction +type QAbstractAnimation__Direction int64 + +const ( + QAbstractAnimation__Forward QAbstractAnimation__Direction = QAbstractAnimation__Direction(0) + QAbstractAnimation__Backward QAbstractAnimation__Direction = QAbstractAnimation__Direction(1) +) + +//go:generate stringer -type=QAbstractAnimation__State +//QAbstractAnimation::State +type QAbstractAnimation__State int64 + +const ( + QAbstractAnimation__Stopped QAbstractAnimation__State = QAbstractAnimation__State(0) + QAbstractAnimation__Paused QAbstractAnimation__State = QAbstractAnimation__State(1) + QAbstractAnimation__Running QAbstractAnimation__State = QAbstractAnimation__State(2) +) + +//go:generate stringer -type=QAbstractAnimation__DeletionPolicy +//QAbstractAnimation::DeletionPolicy +type QAbstractAnimation__DeletionPolicy int64 + +const ( + QAbstractAnimation__KeepWhenStopped QAbstractAnimation__DeletionPolicy = QAbstractAnimation__DeletionPolicy(0) + QAbstractAnimation__DeleteWhenStopped QAbstractAnimation__DeletionPolicy = QAbstractAnimation__DeletionPolicy(1) +) + +func NewQAbstractAnimation(parent QObject_ITF) *QAbstractAnimation { + tmpValue := NewQAbstractAnimationFromPointer(C.QAbstractAnimation_NewQAbstractAnimation(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QAbstractAnimation) CurrentLoop() int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractAnimation_CurrentLoop(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAbstractAnimation_CurrentLoopChanged +func callbackQAbstractAnimation_CurrentLoopChanged(ptr unsafe.Pointer, currentLoop C.int) { + if signal := qt.GetSignal(ptr, "currentLoopChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(currentLoop))) + } + +} + +func (ptr *QAbstractAnimation) ConnectCurrentLoopChanged(f func(currentLoop int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "currentLoopChanged") { + C.QAbstractAnimation_ConnectCurrentLoopChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "currentLoopChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "currentLoopChanged"); signal != nil { + f := func(currentLoop int) { + (*(*func(int))(signal))(currentLoop) + f(currentLoop) + } + qt.ConnectSignal(ptr.Pointer(), "currentLoopChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "currentLoopChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectCurrentLoopChanged() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_DisconnectCurrentLoopChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "currentLoopChanged") + } +} + +func (ptr *QAbstractAnimation) CurrentLoopChanged(currentLoop int) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_CurrentLoopChanged(ptr.Pointer(), C.int(int32(currentLoop))) + } +} + +func (ptr *QAbstractAnimation) CurrentLoopTime() int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractAnimation_CurrentLoopTime(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAbstractAnimation) CurrentTime() int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractAnimation_CurrentTime(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAbstractAnimation) Direction() QAbstractAnimation__Direction { + if ptr.Pointer() != nil { + return QAbstractAnimation__Direction(C.QAbstractAnimation_Direction(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractAnimation_DirectionChanged +func callbackQAbstractAnimation_DirectionChanged(ptr unsafe.Pointer, newDirection C.longlong) { + if signal := qt.GetSignal(ptr, "directionChanged"); signal != nil { + (*(*func(QAbstractAnimation__Direction))(signal))(QAbstractAnimation__Direction(newDirection)) + } + +} + +func (ptr *QAbstractAnimation) ConnectDirectionChanged(f func(newDirection QAbstractAnimation__Direction)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "directionChanged") { + C.QAbstractAnimation_ConnectDirectionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "directionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "directionChanged"); signal != nil { + f := func(newDirection QAbstractAnimation__Direction) { + (*(*func(QAbstractAnimation__Direction))(signal))(newDirection) + f(newDirection) + } + qt.ConnectSignal(ptr.Pointer(), "directionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "directionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectDirectionChanged() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_DisconnectDirectionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "directionChanged") + } +} + +func (ptr *QAbstractAnimation) DirectionChanged(newDirection QAbstractAnimation__Direction) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_DirectionChanged(ptr.Pointer(), C.longlong(newDirection)) + } +} + +//export callbackQAbstractAnimation_Duration +func callbackQAbstractAnimation_Duration(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "duration"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAbstractAnimation) ConnectDuration(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "duration"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectDuration() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "duration") + } +} + +func (ptr *QAbstractAnimation) Duration() int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractAnimation_Duration(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAbstractAnimation_Finished +func callbackQAbstractAnimation_Finished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "finished"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractAnimation) ConnectFinished(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "finished") { + C.QAbstractAnimation_ConnectFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "finished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "finished"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectFinished() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_DisconnectFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "finished") + } +} + +func (ptr *QAbstractAnimation) Finished() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_Finished(ptr.Pointer()) + } +} + +func (ptr *QAbstractAnimation) Group() *QAnimationGroup { + if ptr.Pointer() != nil { + tmpValue := NewQAnimationGroupFromPointer(C.QAbstractAnimation_Group(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractAnimation) LoopCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractAnimation_LoopCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAbstractAnimation_Pause +func callbackQAbstractAnimation_Pause(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "pause"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractAnimationFromPointer(ptr).PauseDefault() + } +} + +func (ptr *QAbstractAnimation) ConnectPause(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "pause"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "pause", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "pause", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectPause() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "pause") + } +} + +func (ptr *QAbstractAnimation) Pause() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_Pause(ptr.Pointer()) + } +} + +func (ptr *QAbstractAnimation) PauseDefault() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_PauseDefault(ptr.Pointer()) + } +} + +//export callbackQAbstractAnimation_Resume +func callbackQAbstractAnimation_Resume(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "resume"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractAnimationFromPointer(ptr).ResumeDefault() + } +} + +func (ptr *QAbstractAnimation) ConnectResume(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "resume"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "resume", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resume", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectResume() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "resume") + } +} + +func (ptr *QAbstractAnimation) Resume() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_Resume(ptr.Pointer()) + } +} + +func (ptr *QAbstractAnimation) ResumeDefault() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_ResumeDefault(ptr.Pointer()) + } +} + +//export callbackQAbstractAnimation_SetCurrentTime +func callbackQAbstractAnimation_SetCurrentTime(ptr unsafe.Pointer, msecs C.int) { + if signal := qt.GetSignal(ptr, "setCurrentTime"); signal != nil { + (*(*func(int))(signal))(int(int32(msecs))) + } else { + NewQAbstractAnimationFromPointer(ptr).SetCurrentTimeDefault(int(int32(msecs))) + } +} + +func (ptr *QAbstractAnimation) ConnectSetCurrentTime(f func(msecs int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setCurrentTime"); signal != nil { + f := func(msecs int) { + (*(*func(int))(signal))(msecs) + f(msecs) + } + qt.ConnectSignal(ptr.Pointer(), "setCurrentTime", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setCurrentTime", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectSetCurrentTime() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setCurrentTime") + } +} + +func (ptr *QAbstractAnimation) SetCurrentTime(msecs int) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_SetCurrentTime(ptr.Pointer(), C.int(int32(msecs))) + } +} + +func (ptr *QAbstractAnimation) SetCurrentTimeDefault(msecs int) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_SetCurrentTimeDefault(ptr.Pointer(), C.int(int32(msecs))) + } +} + +func (ptr *QAbstractAnimation) SetDirection(direction QAbstractAnimation__Direction) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_SetDirection(ptr.Pointer(), C.longlong(direction)) + } +} + +func (ptr *QAbstractAnimation) SetLoopCount(loopCount int) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_SetLoopCount(ptr.Pointer(), C.int(int32(loopCount))) + } +} + +//export callbackQAbstractAnimation_SetPaused +func callbackQAbstractAnimation_SetPaused(ptr unsafe.Pointer, paused C.char) { + if signal := qt.GetSignal(ptr, "setPaused"); signal != nil { + (*(*func(bool))(signal))(int8(paused) != 0) + } else { + NewQAbstractAnimationFromPointer(ptr).SetPausedDefault(int8(paused) != 0) + } +} + +func (ptr *QAbstractAnimation) ConnectSetPaused(f func(paused bool)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setPaused"); signal != nil { + f := func(paused bool) { + (*(*func(bool))(signal))(paused) + f(paused) + } + qt.ConnectSignal(ptr.Pointer(), "setPaused", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setPaused", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectSetPaused() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setPaused") + } +} + +func (ptr *QAbstractAnimation) SetPaused(paused bool) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_SetPaused(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(paused)))) + } +} + +func (ptr *QAbstractAnimation) SetPausedDefault(paused bool) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_SetPausedDefault(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(paused)))) + } +} + +//export callbackQAbstractAnimation_Start +func callbackQAbstractAnimation_Start(ptr unsafe.Pointer, policy C.longlong) { + if signal := qt.GetSignal(ptr, "start"); signal != nil { + (*(*func(QAbstractAnimation__DeletionPolicy))(signal))(QAbstractAnimation__DeletionPolicy(policy)) + } else { + NewQAbstractAnimationFromPointer(ptr).StartDefault(QAbstractAnimation__DeletionPolicy(policy)) + } +} + +func (ptr *QAbstractAnimation) ConnectStart(f func(policy QAbstractAnimation__DeletionPolicy)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "start"); signal != nil { + f := func(policy QAbstractAnimation__DeletionPolicy) { + (*(*func(QAbstractAnimation__DeletionPolicy))(signal))(policy) + f(policy) + } + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectStart() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "start") + } +} + +func (ptr *QAbstractAnimation) Start(policy QAbstractAnimation__DeletionPolicy) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_Start(ptr.Pointer(), C.longlong(policy)) + } +} + +func (ptr *QAbstractAnimation) StartDefault(policy QAbstractAnimation__DeletionPolicy) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_StartDefault(ptr.Pointer(), C.longlong(policy)) + } +} + +func (ptr *QAbstractAnimation) State() QAbstractAnimation__State { + if ptr.Pointer() != nil { + return QAbstractAnimation__State(C.QAbstractAnimation_State(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractAnimation_StateChanged +func callbackQAbstractAnimation_StateChanged(ptr unsafe.Pointer, newState C.longlong, oldState C.longlong) { + if signal := qt.GetSignal(ptr, "stateChanged"); signal != nil { + (*(*func(QAbstractAnimation__State, QAbstractAnimation__State))(signal))(QAbstractAnimation__State(newState), QAbstractAnimation__State(oldState)) + } + +} + +func (ptr *QAbstractAnimation) ConnectStateChanged(f func(newState QAbstractAnimation__State, oldState QAbstractAnimation__State)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "stateChanged") { + C.QAbstractAnimation_ConnectStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "stateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "stateChanged"); signal != nil { + f := func(newState QAbstractAnimation__State, oldState QAbstractAnimation__State) { + (*(*func(QAbstractAnimation__State, QAbstractAnimation__State))(signal))(newState, oldState) + f(newState, oldState) + } + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectStateChanged() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_DisconnectStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "stateChanged") + } +} + +func (ptr *QAbstractAnimation) StateChanged(newState QAbstractAnimation__State, oldState QAbstractAnimation__State) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_StateChanged(ptr.Pointer(), C.longlong(newState), C.longlong(oldState)) + } +} + +//export callbackQAbstractAnimation_Stop +func callbackQAbstractAnimation_Stop(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "stop"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractAnimationFromPointer(ptr).StopDefault() + } +} + +func (ptr *QAbstractAnimation) ConnectStop(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "stop"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectStop() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "stop") + } +} + +func (ptr *QAbstractAnimation) Stop() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_Stop(ptr.Pointer()) + } +} + +func (ptr *QAbstractAnimation) StopDefault() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_StopDefault(ptr.Pointer()) + } +} + +func (ptr *QAbstractAnimation) TotalDuration() int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractAnimation_TotalDuration(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAbstractAnimation_UpdateCurrentTime +func callbackQAbstractAnimation_UpdateCurrentTime(ptr unsafe.Pointer, currentTime C.int) { + if signal := qt.GetSignal(ptr, "updateCurrentTime"); signal != nil { + (*(*func(int))(signal))(int(int32(currentTime))) + } + +} + +func (ptr *QAbstractAnimation) ConnectUpdateCurrentTime(f func(currentTime int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateCurrentTime"); signal != nil { + f := func(currentTime int) { + (*(*func(int))(signal))(currentTime) + f(currentTime) + } + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectUpdateCurrentTime() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateCurrentTime") + } +} + +func (ptr *QAbstractAnimation) UpdateCurrentTime(currentTime int) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_UpdateCurrentTime(ptr.Pointer(), C.int(int32(currentTime))) + } +} + +//export callbackQAbstractAnimation_UpdateDirection +func callbackQAbstractAnimation_UpdateDirection(ptr unsafe.Pointer, direction C.longlong) { + if signal := qt.GetSignal(ptr, "updateDirection"); signal != nil { + (*(*func(QAbstractAnimation__Direction))(signal))(QAbstractAnimation__Direction(direction)) + } else { + NewQAbstractAnimationFromPointer(ptr).UpdateDirectionDefault(QAbstractAnimation__Direction(direction)) + } +} + +func (ptr *QAbstractAnimation) ConnectUpdateDirection(f func(direction QAbstractAnimation__Direction)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateDirection"); signal != nil { + f := func(direction QAbstractAnimation__Direction) { + (*(*func(QAbstractAnimation__Direction))(signal))(direction) + f(direction) + } + qt.ConnectSignal(ptr.Pointer(), "updateDirection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateDirection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectUpdateDirection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateDirection") + } +} + +func (ptr *QAbstractAnimation) UpdateDirection(direction QAbstractAnimation__Direction) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_UpdateDirection(ptr.Pointer(), C.longlong(direction)) + } +} + +func (ptr *QAbstractAnimation) UpdateDirectionDefault(direction QAbstractAnimation__Direction) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_UpdateDirectionDefault(ptr.Pointer(), C.longlong(direction)) + } +} + +//export callbackQAbstractAnimation_UpdateState +func callbackQAbstractAnimation_UpdateState(ptr unsafe.Pointer, newState C.longlong, oldState C.longlong) { + if signal := qt.GetSignal(ptr, "updateState"); signal != nil { + (*(*func(QAbstractAnimation__State, QAbstractAnimation__State))(signal))(QAbstractAnimation__State(newState), QAbstractAnimation__State(oldState)) + } else { + NewQAbstractAnimationFromPointer(ptr).UpdateStateDefault(QAbstractAnimation__State(newState), QAbstractAnimation__State(oldState)) + } +} + +func (ptr *QAbstractAnimation) ConnectUpdateState(f func(newState QAbstractAnimation__State, oldState QAbstractAnimation__State)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateState"); signal != nil { + f := func(newState QAbstractAnimation__State, oldState QAbstractAnimation__State) { + (*(*func(QAbstractAnimation__State, QAbstractAnimation__State))(signal))(newState, oldState) + f(newState, oldState) + } + qt.ConnectSignal(ptr.Pointer(), "updateState", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateState", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectUpdateState() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateState") + } +} + +func (ptr *QAbstractAnimation) UpdateState(newState QAbstractAnimation__State, oldState QAbstractAnimation__State) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_UpdateState(ptr.Pointer(), C.longlong(newState), C.longlong(oldState)) + } +} + +func (ptr *QAbstractAnimation) UpdateStateDefault(newState QAbstractAnimation__State, oldState QAbstractAnimation__State) { + if ptr.Pointer() != nil { + C.QAbstractAnimation_UpdateStateDefault(ptr.Pointer(), C.longlong(newState), C.longlong(oldState)) + } +} + +//export callbackQAbstractAnimation_DestroyQAbstractAnimation +func callbackQAbstractAnimation_DestroyQAbstractAnimation(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractAnimation"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractAnimationFromPointer(ptr).DestroyQAbstractAnimationDefault() + } +} + +func (ptr *QAbstractAnimation) ConnectDestroyQAbstractAnimation(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractAnimation"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractAnimation", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractAnimation", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractAnimation) DisconnectDestroyQAbstractAnimation() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractAnimation") + } +} + +func (ptr *QAbstractAnimation) DestroyQAbstractAnimation() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_DestroyQAbstractAnimation(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractAnimation) DestroyQAbstractAnimationDefault() { + if ptr.Pointer() != nil { + C.QAbstractAnimation_DestroyQAbstractAnimationDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAbstractConcatenable struct { + ptr unsafe.Pointer +} + +type QAbstractConcatenable_ITF interface { + QAbstractConcatenable_PTR() *QAbstractConcatenable +} + +func (ptr *QAbstractConcatenable) QAbstractConcatenable_PTR() *QAbstractConcatenable { + return ptr +} + +func (ptr *QAbstractConcatenable) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAbstractConcatenable) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAbstractConcatenable(ptr QAbstractConcatenable_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractConcatenable_PTR().Pointer() + } + return nil +} + +func NewQAbstractConcatenableFromPointer(ptr unsafe.Pointer) (n *QAbstractConcatenable) { + n = new(QAbstractConcatenable) + n.SetPointer(ptr) + return +} + +func (ptr *QAbstractConcatenable) DestroyQAbstractConcatenable() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAbstractEventDispatcher struct { + QObject +} + +type QAbstractEventDispatcher_ITF interface { + QObject_ITF + QAbstractEventDispatcher_PTR() *QAbstractEventDispatcher +} + +func (ptr *QAbstractEventDispatcher) QAbstractEventDispatcher_PTR() *QAbstractEventDispatcher { + return ptr +} + +func (ptr *QAbstractEventDispatcher) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractEventDispatcher) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractEventDispatcher(ptr QAbstractEventDispatcher_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractEventDispatcher_PTR().Pointer() + } + return nil +} + +func NewQAbstractEventDispatcherFromPointer(ptr unsafe.Pointer) (n *QAbstractEventDispatcher) { + n = new(QAbstractEventDispatcher) + n.SetPointer(ptr) + return +} + +//export callbackQAbstractEventDispatcher_AboutToBlock +func callbackQAbstractEventDispatcher_AboutToBlock(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "aboutToBlock"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractEventDispatcher) ConnectAboutToBlock(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "aboutToBlock") { + C.QAbstractEventDispatcher_ConnectAboutToBlock(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "aboutToBlock"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "aboutToBlock"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "aboutToBlock", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "aboutToBlock", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectAboutToBlock() { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_DisconnectAboutToBlock(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "aboutToBlock") + } +} + +func (ptr *QAbstractEventDispatcher) AboutToBlock() { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_AboutToBlock(ptr.Pointer()) + } +} + +//export callbackQAbstractEventDispatcher_Awake +func callbackQAbstractEventDispatcher_Awake(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "awake"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractEventDispatcher) ConnectAwake(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "awake") { + C.QAbstractEventDispatcher_ConnectAwake(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "awake"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "awake"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "awake", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "awake", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectAwake() { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_DisconnectAwake(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "awake") + } +} + +func (ptr *QAbstractEventDispatcher) Awake() { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_Awake(ptr.Pointer()) + } +} + +func (ptr *QAbstractEventDispatcher) FilterNativeEvent(eventType QByteArray_ITF, message unsafe.Pointer, result *int) bool { + if ptr.Pointer() != nil { + var resultC C.long + if result != nil { + resultC = C.long(int32(*result)) + defer func() { *result = int(int32(resultC)) }() + } + return int8(C.QAbstractEventDispatcher_FilterNativeEvent(ptr.Pointer(), PointerFromQByteArray(eventType), message, &resultC)) != 0 + } + return false +} + +func (ptr *QAbstractEventDispatcher) InstallNativeEventFilter(filterObj QAbstractNativeEventFilter_ITF) { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_InstallNativeEventFilter(ptr.Pointer(), PointerFromQAbstractNativeEventFilter(filterObj)) + } +} + +func QAbstractEventDispatcher_Instance(thread QThread_ITF) *QAbstractEventDispatcher { + tmpValue := NewQAbstractEventDispatcherFromPointer(C.QAbstractEventDispatcher_QAbstractEventDispatcher_Instance(PointerFromQThread(thread))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QAbstractEventDispatcher) Instance(thread QThread_ITF) *QAbstractEventDispatcher { + tmpValue := NewQAbstractEventDispatcherFromPointer(C.QAbstractEventDispatcher_QAbstractEventDispatcher_Instance(PointerFromQThread(thread))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQAbstractEventDispatcher_Interrupt +func callbackQAbstractEventDispatcher_Interrupt(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "interrupt"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractEventDispatcher) ConnectInterrupt(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "interrupt"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "interrupt", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "interrupt", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectInterrupt() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "interrupt") + } +} + +func (ptr *QAbstractEventDispatcher) Interrupt() { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_Interrupt(ptr.Pointer()) + } +} + +//export callbackQAbstractEventDispatcher_ProcessEvents +func callbackQAbstractEventDispatcher_ProcessEvents(ptr unsafe.Pointer, flags C.longlong) C.char { + if signal := qt.GetSignal(ptr, "processEvents"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(QEventLoop__ProcessEventsFlag) bool)(signal))(QEventLoop__ProcessEventsFlag(flags))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAbstractEventDispatcher) ConnectProcessEvents(f func(flags QEventLoop__ProcessEventsFlag) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "processEvents"); signal != nil { + f := func(flags QEventLoop__ProcessEventsFlag) bool { + (*(*func(QEventLoop__ProcessEventsFlag) bool)(signal))(flags) + return f(flags) + } + qt.ConnectSignal(ptr.Pointer(), "processEvents", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "processEvents", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectProcessEvents() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "processEvents") + } +} + +func (ptr *QAbstractEventDispatcher) ProcessEvents(flags QEventLoop__ProcessEventsFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractEventDispatcher_ProcessEvents(ptr.Pointer(), C.longlong(flags))) != 0 + } + return false +} + +//export callbackQAbstractEventDispatcher_RegisterEventNotifier +func callbackQAbstractEventDispatcher_RegisterEventNotifier(ptr unsafe.Pointer, notifier unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "registerEventNotifier"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QWinEventNotifier) bool)(signal))(NewQWinEventNotifierFromPointer(notifier))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAbstractEventDispatcher) ConnectRegisterEventNotifier(f func(notifier *QWinEventNotifier) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "registerEventNotifier"); signal != nil { + f := func(notifier *QWinEventNotifier) bool { + (*(*func(*QWinEventNotifier) bool)(signal))(notifier) + return f(notifier) + } + qt.ConnectSignal(ptr.Pointer(), "registerEventNotifier", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "registerEventNotifier", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectRegisterEventNotifier() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "registerEventNotifier") + } +} + +func (ptr *QAbstractEventDispatcher) RegisterEventNotifier(notifier QWinEventNotifier_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractEventDispatcher_RegisterEventNotifier(ptr.Pointer(), PointerFromQWinEventNotifier(notifier))) != 0 + } + return false +} + +//export callbackQAbstractEventDispatcher_RegisterSocketNotifier +func callbackQAbstractEventDispatcher_RegisterSocketNotifier(ptr unsafe.Pointer, notifier unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "registerSocketNotifier"); signal != nil { + (*(*func(*QSocketNotifier))(signal))(NewQSocketNotifierFromPointer(notifier)) + } + +} + +func (ptr *QAbstractEventDispatcher) ConnectRegisterSocketNotifier(f func(notifier *QSocketNotifier)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "registerSocketNotifier"); signal != nil { + f := func(notifier *QSocketNotifier) { + (*(*func(*QSocketNotifier))(signal))(notifier) + f(notifier) + } + qt.ConnectSignal(ptr.Pointer(), "registerSocketNotifier", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "registerSocketNotifier", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectRegisterSocketNotifier() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "registerSocketNotifier") + } +} + +func (ptr *QAbstractEventDispatcher) RegisterSocketNotifier(notifier QSocketNotifier_ITF) { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_RegisterSocketNotifier(ptr.Pointer(), PointerFromQSocketNotifier(notifier)) + } +} + +func (ptr *QAbstractEventDispatcher) RegisterTimer3(interval int, timerType Qt__TimerType, object QObject_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractEventDispatcher_RegisterTimer3(ptr.Pointer(), C.int(int32(interval)), C.longlong(timerType), PointerFromQObject(object)))) + } + return 0 +} + +//export callbackQAbstractEventDispatcher_RegisterTimer4 +func callbackQAbstractEventDispatcher_RegisterTimer4(ptr unsafe.Pointer, timerId C.int, interval C.int, timerType C.longlong, object unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "registerTimer4"); signal != nil { + (*(*func(int, int, Qt__TimerType, *QObject))(signal))(int(int32(timerId)), int(int32(interval)), Qt__TimerType(timerType), NewQObjectFromPointer(object)) + } + +} + +func (ptr *QAbstractEventDispatcher) ConnectRegisterTimer4(f func(timerId int, interval int, timerType Qt__TimerType, object *QObject)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "registerTimer4"); signal != nil { + f := func(timerId int, interval int, timerType Qt__TimerType, object *QObject) { + (*(*func(int, int, Qt__TimerType, *QObject))(signal))(timerId, interval, timerType, object) + f(timerId, interval, timerType, object) + } + qt.ConnectSignal(ptr.Pointer(), "registerTimer4", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "registerTimer4", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectRegisterTimer4() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "registerTimer4") + } +} + +func (ptr *QAbstractEventDispatcher) RegisterTimer4(timerId int, interval int, timerType Qt__TimerType, object QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_RegisterTimer4(ptr.Pointer(), C.int(int32(timerId)), C.int(int32(interval)), C.longlong(timerType), PointerFromQObject(object)) + } +} + +//export callbackQAbstractEventDispatcher_RemainingTime +func callbackQAbstractEventDispatcher_RemainingTime(ptr unsafe.Pointer, timerId C.int) C.int { + if signal := qt.GetSignal(ptr, "remainingTime"); signal != nil { + return C.int(int32((*(*func(int) int)(signal))(int(int32(timerId))))) + } + + return C.int(int32(0)) +} + +func (ptr *QAbstractEventDispatcher) ConnectRemainingTime(f func(timerId int) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "remainingTime"); signal != nil { + f := func(timerId int) int { + (*(*func(int) int)(signal))(timerId) + return f(timerId) + } + qt.ConnectSignal(ptr.Pointer(), "remainingTime", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "remainingTime", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectRemainingTime() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "remainingTime") + } +} + +func (ptr *QAbstractEventDispatcher) RemainingTime(timerId int) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractEventDispatcher_RemainingTime(ptr.Pointer(), C.int(int32(timerId))))) + } + return 0 +} + +func (ptr *QAbstractEventDispatcher) RemoveNativeEventFilter(filter QAbstractNativeEventFilter_ITF) { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_RemoveNativeEventFilter(ptr.Pointer(), PointerFromQAbstractNativeEventFilter(filter)) + } +} + +//export callbackQAbstractEventDispatcher_UnregisterEventNotifier +func callbackQAbstractEventDispatcher_UnregisterEventNotifier(ptr unsafe.Pointer, notifier unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "unregisterEventNotifier"); signal != nil { + (*(*func(*QWinEventNotifier))(signal))(NewQWinEventNotifierFromPointer(notifier)) + } + +} + +func (ptr *QAbstractEventDispatcher) ConnectUnregisterEventNotifier(f func(notifier *QWinEventNotifier)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "unregisterEventNotifier"); signal != nil { + f := func(notifier *QWinEventNotifier) { + (*(*func(*QWinEventNotifier))(signal))(notifier) + f(notifier) + } + qt.ConnectSignal(ptr.Pointer(), "unregisterEventNotifier", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "unregisterEventNotifier", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectUnregisterEventNotifier() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "unregisterEventNotifier") + } +} + +func (ptr *QAbstractEventDispatcher) UnregisterEventNotifier(notifier QWinEventNotifier_ITF) { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_UnregisterEventNotifier(ptr.Pointer(), PointerFromQWinEventNotifier(notifier)) + } +} + +//export callbackQAbstractEventDispatcher_UnregisterSocketNotifier +func callbackQAbstractEventDispatcher_UnregisterSocketNotifier(ptr unsafe.Pointer, notifier unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "unregisterSocketNotifier"); signal != nil { + (*(*func(*QSocketNotifier))(signal))(NewQSocketNotifierFromPointer(notifier)) + } + +} + +func (ptr *QAbstractEventDispatcher) ConnectUnregisterSocketNotifier(f func(notifier *QSocketNotifier)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "unregisterSocketNotifier"); signal != nil { + f := func(notifier *QSocketNotifier) { + (*(*func(*QSocketNotifier))(signal))(notifier) + f(notifier) + } + qt.ConnectSignal(ptr.Pointer(), "unregisterSocketNotifier", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "unregisterSocketNotifier", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectUnregisterSocketNotifier() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "unregisterSocketNotifier") + } +} + +func (ptr *QAbstractEventDispatcher) UnregisterSocketNotifier(notifier QSocketNotifier_ITF) { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_UnregisterSocketNotifier(ptr.Pointer(), PointerFromQSocketNotifier(notifier)) + } +} + +//export callbackQAbstractEventDispatcher_UnregisterTimer +func callbackQAbstractEventDispatcher_UnregisterTimer(ptr unsafe.Pointer, timerId C.int) C.char { + if signal := qt.GetSignal(ptr, "unregisterTimer"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(timerId)))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAbstractEventDispatcher) ConnectUnregisterTimer(f func(timerId int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "unregisterTimer"); signal != nil { + f := func(timerId int) bool { + (*(*func(int) bool)(signal))(timerId) + return f(timerId) + } + qt.ConnectSignal(ptr.Pointer(), "unregisterTimer", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "unregisterTimer", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectUnregisterTimer() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "unregisterTimer") + } +} + +func (ptr *QAbstractEventDispatcher) UnregisterTimer(timerId int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractEventDispatcher_UnregisterTimer(ptr.Pointer(), C.int(int32(timerId)))) != 0 + } + return false +} + +//export callbackQAbstractEventDispatcher_UnregisterTimers +func callbackQAbstractEventDispatcher_UnregisterTimers(ptr unsafe.Pointer, object unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "unregisterTimers"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QObject) bool)(signal))(NewQObjectFromPointer(object))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAbstractEventDispatcher) ConnectUnregisterTimers(f func(object *QObject) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "unregisterTimers"); signal != nil { + f := func(object *QObject) bool { + (*(*func(*QObject) bool)(signal))(object) + return f(object) + } + qt.ConnectSignal(ptr.Pointer(), "unregisterTimers", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "unregisterTimers", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectUnregisterTimers() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "unregisterTimers") + } +} + +func (ptr *QAbstractEventDispatcher) UnregisterTimers(object QObject_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractEventDispatcher_UnregisterTimers(ptr.Pointer(), PointerFromQObject(object))) != 0 + } + return false +} + +//export callbackQAbstractEventDispatcher_WakeUp +func callbackQAbstractEventDispatcher_WakeUp(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "wakeUp"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractEventDispatcher) ConnectWakeUp(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "wakeUp"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "wakeUp", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "wakeUp", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectWakeUp() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "wakeUp") + } +} + +func (ptr *QAbstractEventDispatcher) WakeUp() { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_WakeUp(ptr.Pointer()) + } +} + +//export callbackQAbstractEventDispatcher_DestroyQAbstractEventDispatcher +func callbackQAbstractEventDispatcher_DestroyQAbstractEventDispatcher(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractEventDispatcher"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractEventDispatcherFromPointer(ptr).DestroyQAbstractEventDispatcherDefault() + } +} + +func (ptr *QAbstractEventDispatcher) ConnectDestroyQAbstractEventDispatcher(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractEventDispatcher"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractEventDispatcher", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractEventDispatcher", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractEventDispatcher) DisconnectDestroyQAbstractEventDispatcher() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractEventDispatcher") + } +} + +func (ptr *QAbstractEventDispatcher) DestroyQAbstractEventDispatcher() { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_DestroyQAbstractEventDispatcher(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractEventDispatcher) DestroyQAbstractEventDispatcherDefault() { + if ptr.Pointer() != nil { + C.QAbstractEventDispatcher_DestroyQAbstractEventDispatcherDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAbstractItemModel struct { + QObject +} + +type QAbstractItemModel_ITF interface { + QObject_ITF + QAbstractItemModel_PTR() *QAbstractItemModel +} + +func (ptr *QAbstractItemModel) QAbstractItemModel_PTR() *QAbstractItemModel { + return ptr +} + +func (ptr *QAbstractItemModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractItemModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractItemModel(ptr QAbstractItemModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractItemModel_PTR().Pointer() + } + return nil +} + +func NewQAbstractItemModelFromPointer(ptr unsafe.Pointer) (n *QAbstractItemModel) { + n = new(QAbstractItemModel) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QAbstractItemModel__LayoutChangeHint +//QAbstractItemModel::LayoutChangeHint +type QAbstractItemModel__LayoutChangeHint int64 + +const ( + QAbstractItemModel__NoLayoutChangeHint QAbstractItemModel__LayoutChangeHint = QAbstractItemModel__LayoutChangeHint(0) + QAbstractItemModel__VerticalSortHint QAbstractItemModel__LayoutChangeHint = QAbstractItemModel__LayoutChangeHint(1) + QAbstractItemModel__HorizontalSortHint QAbstractItemModel__LayoutChangeHint = QAbstractItemModel__LayoutChangeHint(2) +) + +//go:generate stringer -type=QAbstractItemModel__CheckIndexOption +//QAbstractItemModel::CheckIndexOption +type QAbstractItemModel__CheckIndexOption int64 + +const ( + QAbstractItemModel__NoOption QAbstractItemModel__CheckIndexOption = QAbstractItemModel__CheckIndexOption(0x0000) + QAbstractItemModel__IndexIsValid QAbstractItemModel__CheckIndexOption = QAbstractItemModel__CheckIndexOption(0x0001) + QAbstractItemModel__DoNotUseParent QAbstractItemModel__CheckIndexOption = QAbstractItemModel__CheckIndexOption(0x0002) + QAbstractItemModel__ParentIsInvalid QAbstractItemModel__CheckIndexOption = QAbstractItemModel__CheckIndexOption(0x0004) +) + +func NewQAbstractItemModel(parent QObject_ITF) *QAbstractItemModel { + tmpValue := NewQAbstractItemModelFromPointer(C.QAbstractItemModel_NewQAbstractItemModel(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QAbstractItemModel) BeginInsertColumns(parent QModelIndex_ITF, first int, last int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_BeginInsertColumns(ptr.Pointer(), PointerFromQModelIndex(parent), C.int(int32(first)), C.int(int32(last))) + } +} + +func (ptr *QAbstractItemModel) BeginInsertRows(parent QModelIndex_ITF, first int, last int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_BeginInsertRows(ptr.Pointer(), PointerFromQModelIndex(parent), C.int(int32(first)), C.int(int32(last))) + } +} + +func (ptr *QAbstractItemModel) BeginMoveColumns(sourceParent QModelIndex_ITF, sourceFirst int, sourceLast int, destinationParent QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_BeginMoveColumns(ptr.Pointer(), PointerFromQModelIndex(sourceParent), C.int(int32(sourceFirst)), C.int(int32(sourceLast)), PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) BeginMoveRows(sourceParent QModelIndex_ITF, sourceFirst int, sourceLast int, destinationParent QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_BeginMoveRows(ptr.Pointer(), PointerFromQModelIndex(sourceParent), C.int(int32(sourceFirst)), C.int(int32(sourceLast)), PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) BeginRemoveColumns(parent QModelIndex_ITF, first int, last int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_BeginRemoveColumns(ptr.Pointer(), PointerFromQModelIndex(parent), C.int(int32(first)), C.int(int32(last))) + } +} + +func (ptr *QAbstractItemModel) BeginRemoveRows(parent QModelIndex_ITF, first int, last int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_BeginRemoveRows(ptr.Pointer(), PointerFromQModelIndex(parent), C.int(int32(first)), C.int(int32(last))) + } +} + +func (ptr *QAbstractItemModel) BeginResetModel() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_BeginResetModel(ptr.Pointer()) + } +} + +//export callbackQAbstractItemModel_Buddy +func callbackQAbstractItemModel_Buddy(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "buddy"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(index))) + } + + return PointerFromQModelIndex(NewQAbstractItemModelFromPointer(ptr).BuddyDefault(NewQModelIndexFromPointer(index))) +} + +func (ptr *QAbstractItemModel) ConnectBuddy(f func(index *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "buddy"); signal != nil { + f := func(index *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(index) + return f(index) + } + qt.ConnectSignal(ptr.Pointer(), "buddy", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "buddy", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectBuddy() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "buddy") + } +} + +func (ptr *QAbstractItemModel) Buddy(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel_Buddy(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) BuddyDefault(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel_BuddyDefault(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractItemModel_CanDropMimeData +func callbackQAbstractItemModel_CanDropMimeData(ptr unsafe.Pointer, data unsafe.Pointer, action C.longlong, row C.int, column C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "canDropMimeData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QMimeData, Qt__DropAction, int, int, *QModelIndex) bool)(signal))(NewQMimeDataFromPointer(data), Qt__DropAction(action), int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).CanDropMimeDataDefault(NewQMimeDataFromPointer(data), Qt__DropAction(action), int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QAbstractItemModel) ConnectCanDropMimeData(f func(data *QMimeData, action Qt__DropAction, row int, column int, parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "canDropMimeData"); signal != nil { + f := func(data *QMimeData, action Qt__DropAction, row int, column int, parent *QModelIndex) bool { + (*(*func(*QMimeData, Qt__DropAction, int, int, *QModelIndex) bool)(signal))(data, action, row, column, parent) + return f(data, action, row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "canDropMimeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "canDropMimeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectCanDropMimeData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "canDropMimeData") + } +} + +func (ptr *QAbstractItemModel) CanDropMimeData(data QMimeData_ITF, action Qt__DropAction, row int, column int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_CanDropMimeData(ptr.Pointer(), PointerFromQMimeData(data), C.longlong(action), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) CanDropMimeDataDefault(data QMimeData_ITF, action Qt__DropAction, row int, column int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_CanDropMimeDataDefault(ptr.Pointer(), PointerFromQMimeData(data), C.longlong(action), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_CanFetchMore +func callbackQAbstractItemModel_CanFetchMore(ptr unsafe.Pointer, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "canFetchMore"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QModelIndex) bool)(signal))(NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).CanFetchMoreDefault(NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QAbstractItemModel) ConnectCanFetchMore(f func(parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "canFetchMore"); signal != nil { + f := func(parent *QModelIndex) bool { + (*(*func(*QModelIndex) bool)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "canFetchMore", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "canFetchMore", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectCanFetchMore() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "canFetchMore") + } +} + +func (ptr *QAbstractItemModel) CanFetchMore(parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_CanFetchMore(ptr.Pointer(), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) CanFetchMoreDefault(parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_CanFetchMoreDefault(ptr.Pointer(), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) ChangePersistentIndex(from QModelIndex_ITF, to QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_ChangePersistentIndex(ptr.Pointer(), PointerFromQModelIndex(from), PointerFromQModelIndex(to)) + } +} + +func (ptr *QAbstractItemModel) ChangePersistentIndexList(from []*QModelIndex, to []*QModelIndex) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_ChangePersistentIndexList(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__changePersistentIndexList_from_newList()) + for _, v := range from { + tmpList.__changePersistentIndexList_from_setList(v) + } + return tmpList.Pointer() + }(), func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__changePersistentIndexList_to_newList()) + for _, v := range to { + tmpList.__changePersistentIndexList_to_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QAbstractItemModel) CheckIndex(index QModelIndex_ITF, options QAbstractItemModel__CheckIndexOption) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_CheckIndex(ptr.Pointer(), PointerFromQModelIndex(index), C.longlong(options))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_ColumnCount +func callbackQAbstractItemModel_ColumnCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(0)) +} + +func (ptr *QAbstractItemModel) ConnectColumnCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectColumnCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnCount") + } +} + +func (ptr *QAbstractItemModel) ColumnCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractItemModel_ColumnCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQAbstractItemModel_ColumnsAboutToBeInserted +func callbackQAbstractItemModel_ColumnsAboutToBeInserted(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "columnsAboutToBeInserted"); signal != nil { + (*(*func(*QModelIndex, int, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +func (ptr *QAbstractItemModel) ConnectColumnsAboutToBeInserted(f func(parent *QModelIndex, first int, last int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "columnsAboutToBeInserted") { + C.QAbstractItemModel_ConnectColumnsAboutToBeInserted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "columnsAboutToBeInserted"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "columnsAboutToBeInserted"); signal != nil { + f := func(parent *QModelIndex, first int, last int) { + (*(*func(*QModelIndex, int, int))(signal))(parent, first, last) + f(parent, first, last) + } + qt.ConnectSignal(ptr.Pointer(), "columnsAboutToBeInserted", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnsAboutToBeInserted", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectColumnsAboutToBeInserted() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectColumnsAboutToBeInserted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "columnsAboutToBeInserted") + } +} + +//export callbackQAbstractItemModel_ColumnsAboutToBeMoved +func callbackQAbstractItemModel_ColumnsAboutToBeMoved(ptr unsafe.Pointer, sourceParent unsafe.Pointer, sourceStart C.int, sourceEnd C.int, destinationParent unsafe.Pointer, destinationColumn C.int) { + if signal := qt.GetSignal(ptr, "columnsAboutToBeMoved"); signal != nil { + (*(*func(*QModelIndex, int, int, *QModelIndex, int))(signal))(NewQModelIndexFromPointer(sourceParent), int(int32(sourceStart)), int(int32(sourceEnd)), NewQModelIndexFromPointer(destinationParent), int(int32(destinationColumn))) + } + +} + +func (ptr *QAbstractItemModel) ConnectColumnsAboutToBeMoved(f func(sourceParent *QModelIndex, sourceStart int, sourceEnd int, destinationParent *QModelIndex, destinationColumn int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "columnsAboutToBeMoved") { + C.QAbstractItemModel_ConnectColumnsAboutToBeMoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "columnsAboutToBeMoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "columnsAboutToBeMoved"); signal != nil { + f := func(sourceParent *QModelIndex, sourceStart int, sourceEnd int, destinationParent *QModelIndex, destinationColumn int) { + (*(*func(*QModelIndex, int, int, *QModelIndex, int))(signal))(sourceParent, sourceStart, sourceEnd, destinationParent, destinationColumn) + f(sourceParent, sourceStart, sourceEnd, destinationParent, destinationColumn) + } + qt.ConnectSignal(ptr.Pointer(), "columnsAboutToBeMoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnsAboutToBeMoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectColumnsAboutToBeMoved() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectColumnsAboutToBeMoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "columnsAboutToBeMoved") + } +} + +//export callbackQAbstractItemModel_ColumnsAboutToBeRemoved +func callbackQAbstractItemModel_ColumnsAboutToBeRemoved(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "columnsAboutToBeRemoved"); signal != nil { + (*(*func(*QModelIndex, int, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +func (ptr *QAbstractItemModel) ConnectColumnsAboutToBeRemoved(f func(parent *QModelIndex, first int, last int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "columnsAboutToBeRemoved") { + C.QAbstractItemModel_ConnectColumnsAboutToBeRemoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "columnsAboutToBeRemoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "columnsAboutToBeRemoved"); signal != nil { + f := func(parent *QModelIndex, first int, last int) { + (*(*func(*QModelIndex, int, int))(signal))(parent, first, last) + f(parent, first, last) + } + qt.ConnectSignal(ptr.Pointer(), "columnsAboutToBeRemoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnsAboutToBeRemoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectColumnsAboutToBeRemoved() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectColumnsAboutToBeRemoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "columnsAboutToBeRemoved") + } +} + +//export callbackQAbstractItemModel_ColumnsInserted +func callbackQAbstractItemModel_ColumnsInserted(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "columnsInserted"); signal != nil { + (*(*func(*QModelIndex, int, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +func (ptr *QAbstractItemModel) ConnectColumnsInserted(f func(parent *QModelIndex, first int, last int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "columnsInserted") { + C.QAbstractItemModel_ConnectColumnsInserted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "columnsInserted"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "columnsInserted"); signal != nil { + f := func(parent *QModelIndex, first int, last int) { + (*(*func(*QModelIndex, int, int))(signal))(parent, first, last) + f(parent, first, last) + } + qt.ConnectSignal(ptr.Pointer(), "columnsInserted", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnsInserted", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectColumnsInserted() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectColumnsInserted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "columnsInserted") + } +} + +//export callbackQAbstractItemModel_ColumnsMoved +func callbackQAbstractItemModel_ColumnsMoved(ptr unsafe.Pointer, parent unsafe.Pointer, start C.int, end C.int, destination unsafe.Pointer, column C.int) { + if signal := qt.GetSignal(ptr, "columnsMoved"); signal != nil { + (*(*func(*QModelIndex, int, int, *QModelIndex, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(start)), int(int32(end)), NewQModelIndexFromPointer(destination), int(int32(column))) + } + +} + +func (ptr *QAbstractItemModel) ConnectColumnsMoved(f func(parent *QModelIndex, start int, end int, destination *QModelIndex, column int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "columnsMoved") { + C.QAbstractItemModel_ConnectColumnsMoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "columnsMoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "columnsMoved"); signal != nil { + f := func(parent *QModelIndex, start int, end int, destination *QModelIndex, column int) { + (*(*func(*QModelIndex, int, int, *QModelIndex, int))(signal))(parent, start, end, destination, column) + f(parent, start, end, destination, column) + } + qt.ConnectSignal(ptr.Pointer(), "columnsMoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnsMoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectColumnsMoved() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectColumnsMoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "columnsMoved") + } +} + +//export callbackQAbstractItemModel_ColumnsRemoved +func callbackQAbstractItemModel_ColumnsRemoved(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "columnsRemoved"); signal != nil { + (*(*func(*QModelIndex, int, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +func (ptr *QAbstractItemModel) ConnectColumnsRemoved(f func(parent *QModelIndex, first int, last int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "columnsRemoved") { + C.QAbstractItemModel_ConnectColumnsRemoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "columnsRemoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "columnsRemoved"); signal != nil { + f := func(parent *QModelIndex, first int, last int) { + (*(*func(*QModelIndex, int, int))(signal))(parent, first, last) + f(parent, first, last) + } + qt.ConnectSignal(ptr.Pointer(), "columnsRemoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnsRemoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectColumnsRemoved() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectColumnsRemoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "columnsRemoved") + } +} + +func (ptr *QAbstractItemModel) CreateIndex(row int, column int, p unsafe.Pointer) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel_CreateIndex(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), p)) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) CreateIndex2(row int, column int, id uintptr) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel_CreateIndex2(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), C.uintptr_t(id))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractItemModel_Data +func callbackQAbstractItemModel_Data(ptr unsafe.Pointer, index unsafe.Pointer, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return PointerFromQVariant((*(*func(*QModelIndex, int) *QVariant)(signal))(NewQModelIndexFromPointer(index), int(int32(role)))) + } + + return PointerFromQVariant(NewQVariant()) +} + +func (ptr *QAbstractItemModel) ConnectData(f func(index *QModelIndex, role int) *QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "data"); signal != nil { + f := func(index *QModelIndex, role int) *QVariant { + (*(*func(*QModelIndex, int) *QVariant)(signal))(index, role) + return f(index, role) + } + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "data") + } +} + +func (ptr *QAbstractItemModel) Data(index QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractItemModel_Data(ptr.Pointer(), PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQAbstractItemModel_DataChanged +func callbackQAbstractItemModel_DataChanged(ptr unsafe.Pointer, topLeft unsafe.Pointer, bottomRight unsafe.Pointer, roles C.struct_QtCore_PackedList) { + if signal := qt.GetSignal(ptr, "dataChanged"); signal != nil { + (*(*func(*QModelIndex, *QModelIndex, []int))(signal))(NewQModelIndexFromPointer(topLeft), NewQModelIndexFromPointer(bottomRight), func(l C.struct_QtCore_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__dataChanged_roles_atList(i) + } + return out + }(roles)) + } + +} + +func (ptr *QAbstractItemModel) ConnectDataChanged(f func(topLeft *QModelIndex, bottomRight *QModelIndex, roles []int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "dataChanged") { + C.QAbstractItemModel_ConnectDataChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "dataChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "dataChanged"); signal != nil { + f := func(topLeft *QModelIndex, bottomRight *QModelIndex, roles []int) { + (*(*func(*QModelIndex, *QModelIndex, []int))(signal))(topLeft, bottomRight, roles) + f(topLeft, bottomRight, roles) + } + qt.ConnectSignal(ptr.Pointer(), "dataChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "dataChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectDataChanged() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectDataChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "dataChanged") + } +} + +func (ptr *QAbstractItemModel) DataChanged(topLeft QModelIndex_ITF, bottomRight QModelIndex_ITF, roles []int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DataChanged(ptr.Pointer(), PointerFromQModelIndex(topLeft), PointerFromQModelIndex(bottomRight), func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__dataChanged_roles_newList()) + for _, v := range roles { + tmpList.__dataChanged_roles_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +//export callbackQAbstractItemModel_DropMimeData +func callbackQAbstractItemModel_DropMimeData(ptr unsafe.Pointer, data unsafe.Pointer, action C.longlong, row C.int, column C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "dropMimeData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QMimeData, Qt__DropAction, int, int, *QModelIndex) bool)(signal))(NewQMimeDataFromPointer(data), Qt__DropAction(action), int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).DropMimeDataDefault(NewQMimeDataFromPointer(data), Qt__DropAction(action), int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QAbstractItemModel) ConnectDropMimeData(f func(data *QMimeData, action Qt__DropAction, row int, column int, parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "dropMimeData"); signal != nil { + f := func(data *QMimeData, action Qt__DropAction, row int, column int, parent *QModelIndex) bool { + (*(*func(*QMimeData, Qt__DropAction, int, int, *QModelIndex) bool)(signal))(data, action, row, column, parent) + return f(data, action, row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "dropMimeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "dropMimeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectDropMimeData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "dropMimeData") + } +} + +func (ptr *QAbstractItemModel) DropMimeData(data QMimeData_ITF, action Qt__DropAction, row int, column int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_DropMimeData(ptr.Pointer(), PointerFromQMimeData(data), C.longlong(action), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) DropMimeDataDefault(data QMimeData_ITF, action Qt__DropAction, row int, column int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_DropMimeDataDefault(ptr.Pointer(), PointerFromQMimeData(data), C.longlong(action), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) EndInsertColumns() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_EndInsertColumns(ptr.Pointer()) + } +} + +func (ptr *QAbstractItemModel) EndInsertRows() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_EndInsertRows(ptr.Pointer()) + } +} + +func (ptr *QAbstractItemModel) EndMoveColumns() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_EndMoveColumns(ptr.Pointer()) + } +} + +func (ptr *QAbstractItemModel) EndMoveRows() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_EndMoveRows(ptr.Pointer()) + } +} + +func (ptr *QAbstractItemModel) EndRemoveColumns() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_EndRemoveColumns(ptr.Pointer()) + } +} + +func (ptr *QAbstractItemModel) EndRemoveRows() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_EndRemoveRows(ptr.Pointer()) + } +} + +func (ptr *QAbstractItemModel) EndResetModel() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_EndResetModel(ptr.Pointer()) + } +} + +//export callbackQAbstractItemModel_FetchMore +func callbackQAbstractItemModel_FetchMore(ptr unsafe.Pointer, parent unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "fetchMore"); signal != nil { + (*(*func(*QModelIndex))(signal))(NewQModelIndexFromPointer(parent)) + } else { + NewQAbstractItemModelFromPointer(ptr).FetchMoreDefault(NewQModelIndexFromPointer(parent)) + } +} + +func (ptr *QAbstractItemModel) ConnectFetchMore(f func(parent *QModelIndex)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "fetchMore"); signal != nil { + f := func(parent *QModelIndex) { + (*(*func(*QModelIndex))(signal))(parent) + f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "fetchMore", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "fetchMore", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectFetchMore() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "fetchMore") + } +} + +func (ptr *QAbstractItemModel) FetchMore(parent QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_FetchMore(ptr.Pointer(), PointerFromQModelIndex(parent)) + } +} + +func (ptr *QAbstractItemModel) FetchMoreDefault(parent QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_FetchMoreDefault(ptr.Pointer(), PointerFromQModelIndex(parent)) + } +} + +//export callbackQAbstractItemModel_Flags +func callbackQAbstractItemModel_Flags(ptr unsafe.Pointer, index unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "flags"); signal != nil { + return C.longlong((*(*func(*QModelIndex) Qt__ItemFlag)(signal))(NewQModelIndexFromPointer(index))) + } + + return C.longlong(NewQAbstractItemModelFromPointer(ptr).FlagsDefault(NewQModelIndexFromPointer(index))) +} + +func (ptr *QAbstractItemModel) ConnectFlags(f func(index *QModelIndex) Qt__ItemFlag) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "flags"); signal != nil { + f := func(index *QModelIndex) Qt__ItemFlag { + (*(*func(*QModelIndex) Qt__ItemFlag)(signal))(index) + return f(index) + } + qt.ConnectSignal(ptr.Pointer(), "flags", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "flags", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectFlags() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "flags") + } +} + +func (ptr *QAbstractItemModel) Flags(index QModelIndex_ITF) Qt__ItemFlag { + if ptr.Pointer() != nil { + return Qt__ItemFlag(C.QAbstractItemModel_Flags(ptr.Pointer(), PointerFromQModelIndex(index))) + } + return 0 +} + +func (ptr *QAbstractItemModel) FlagsDefault(index QModelIndex_ITF) Qt__ItemFlag { + if ptr.Pointer() != nil { + return Qt__ItemFlag(C.QAbstractItemModel_FlagsDefault(ptr.Pointer(), PointerFromQModelIndex(index))) + } + return 0 +} + +//export callbackQAbstractItemModel_HasChildren +func callbackQAbstractItemModel_HasChildren(ptr unsafe.Pointer, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "hasChildren"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QModelIndex) bool)(signal))(NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).HasChildrenDefault(NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QAbstractItemModel) ConnectHasChildren(f func(parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "hasChildren"); signal != nil { + f := func(parent *QModelIndex) bool { + (*(*func(*QModelIndex) bool)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "hasChildren", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "hasChildren", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectHasChildren() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "hasChildren") + } +} + +func (ptr *QAbstractItemModel) HasChildren(parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_HasChildren(ptr.Pointer(), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) HasChildrenDefault(parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_HasChildrenDefault(ptr.Pointer(), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) HasIndex(row int, column int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_HasIndex(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_HeaderData +func callbackQAbstractItemModel_HeaderData(ptr unsafe.Pointer, section C.int, orientation C.longlong, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "headerData"); signal != nil { + return PointerFromQVariant((*(*func(int, Qt__Orientation, int) *QVariant)(signal))(int(int32(section)), Qt__Orientation(orientation), int(int32(role)))) + } + + return PointerFromQVariant(NewQAbstractItemModelFromPointer(ptr).HeaderDataDefault(int(int32(section)), Qt__Orientation(orientation), int(int32(role)))) +} + +func (ptr *QAbstractItemModel) ConnectHeaderData(f func(section int, orientation Qt__Orientation, role int) *QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "headerData"); signal != nil { + f := func(section int, orientation Qt__Orientation, role int) *QVariant { + (*(*func(int, Qt__Orientation, int) *QVariant)(signal))(section, orientation, role) + return f(section, orientation, role) + } + qt.ConnectSignal(ptr.Pointer(), "headerData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "headerData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectHeaderData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "headerData") + } +} + +func (ptr *QAbstractItemModel) HeaderData(section int, orientation Qt__Orientation, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractItemModel_HeaderData(ptr.Pointer(), C.int(int32(section)), C.longlong(orientation), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) HeaderDataDefault(section int, orientation Qt__Orientation, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractItemModel_HeaderDataDefault(ptr.Pointer(), C.int(int32(section)), C.longlong(orientation), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQAbstractItemModel_HeaderDataChanged +func callbackQAbstractItemModel_HeaderDataChanged(ptr unsafe.Pointer, orientation C.longlong, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "headerDataChanged"); signal != nil { + (*(*func(Qt__Orientation, int, int))(signal))(Qt__Orientation(orientation), int(int32(first)), int(int32(last))) + } + +} + +func (ptr *QAbstractItemModel) ConnectHeaderDataChanged(f func(orientation Qt__Orientation, first int, last int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "headerDataChanged") { + C.QAbstractItemModel_ConnectHeaderDataChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "headerDataChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "headerDataChanged"); signal != nil { + f := func(orientation Qt__Orientation, first int, last int) { + (*(*func(Qt__Orientation, int, int))(signal))(orientation, first, last) + f(orientation, first, last) + } + qt.ConnectSignal(ptr.Pointer(), "headerDataChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "headerDataChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectHeaderDataChanged() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectHeaderDataChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "headerDataChanged") + } +} + +func (ptr *QAbstractItemModel) HeaderDataChanged(orientation Qt__Orientation, first int, last int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_HeaderDataChanged(ptr.Pointer(), C.longlong(orientation), C.int(int32(first)), C.int(int32(last))) + } +} + +//export callbackQAbstractItemModel_Index +func callbackQAbstractItemModel_Index(ptr unsafe.Pointer, row C.int, column C.int, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "index"); signal != nil { + return PointerFromQModelIndex((*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) + } + + return PointerFromQModelIndex(NewQModelIndex()) +} + +func (ptr *QAbstractItemModel) ConnectIndex(f func(row int, column int, parent *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "index"); signal != nil { + f := func(row int, column int, parent *QModelIndex) *QModelIndex { + (*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(row, column, parent) + return f(row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "index") + } +} + +func (ptr *QAbstractItemModel) Index(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel_Index(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) InsertColumn(column int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_InsertColumn(ptr.Pointer(), C.int(int32(column)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_InsertColumns +func callbackQAbstractItemModel_InsertColumns(ptr unsafe.Pointer, column C.int, count C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "insertColumns"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, int, *QModelIndex) bool)(signal))(int(int32(column)), int(int32(count)), NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).InsertColumnsDefault(int(int32(column)), int(int32(count)), NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QAbstractItemModel) ConnectInsertColumns(f func(column int, count int, parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "insertColumns"); signal != nil { + f := func(column int, count int, parent *QModelIndex) bool { + (*(*func(int, int, *QModelIndex) bool)(signal))(column, count, parent) + return f(column, count, parent) + } + qt.ConnectSignal(ptr.Pointer(), "insertColumns", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "insertColumns", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectInsertColumns() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "insertColumns") + } +} + +func (ptr *QAbstractItemModel) InsertColumns(column int, count int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_InsertColumns(ptr.Pointer(), C.int(int32(column)), C.int(int32(count)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) InsertColumnsDefault(column int, count int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_InsertColumnsDefault(ptr.Pointer(), C.int(int32(column)), C.int(int32(count)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) InsertRow(row int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_InsertRow(ptr.Pointer(), C.int(int32(row)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_InsertRows +func callbackQAbstractItemModel_InsertRows(ptr unsafe.Pointer, row C.int, count C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "insertRows"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, int, *QModelIndex) bool)(signal))(int(int32(row)), int(int32(count)), NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).InsertRowsDefault(int(int32(row)), int(int32(count)), NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QAbstractItemModel) ConnectInsertRows(f func(row int, count int, parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "insertRows"); signal != nil { + f := func(row int, count int, parent *QModelIndex) bool { + (*(*func(int, int, *QModelIndex) bool)(signal))(row, count, parent) + return f(row, count, parent) + } + qt.ConnectSignal(ptr.Pointer(), "insertRows", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "insertRows", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectInsertRows() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "insertRows") + } +} + +func (ptr *QAbstractItemModel) InsertRows(row int, count int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_InsertRows(ptr.Pointer(), C.int(int32(row)), C.int(int32(count)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) InsertRowsDefault(row int, count int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_InsertRowsDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(count)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_ItemData +func callbackQAbstractItemModel_ItemData(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "itemData"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__itemData_newList()) + for k, v := range (*(*func(*QModelIndex) map[int]*QVariant)(signal))(NewQModelIndexFromPointer(index)) { + tmpList.__itemData_setList(k, v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__itemData_newList()) + for k, v := range NewQAbstractItemModelFromPointer(ptr).ItemDataDefault(NewQModelIndexFromPointer(index)) { + tmpList.__itemData_setList(k, v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QAbstractItemModel) ConnectItemData(f func(index *QModelIndex) map[int]*QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "itemData"); signal != nil { + f := func(index *QModelIndex) map[int]*QVariant { + (*(*func(*QModelIndex) map[int]*QVariant)(signal))(index) + return f(index) + } + qt.ConnectSignal(ptr.Pointer(), "itemData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "itemData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectItemData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "itemData") + } +} + +func (ptr *QAbstractItemModel) ItemData(index QModelIndex_ITF) map[int]*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[int]*QVariant { + out := make(map[int]*QVariant, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i, v := range tmpList.__itemData_keyList() { + out[v] = tmpList.__itemData_atList(v, i) + } + return out + }(C.QAbstractItemModel_ItemData(ptr.Pointer(), PointerFromQModelIndex(index))) + } + return make(map[int]*QVariant, 0) +} + +func (ptr *QAbstractItemModel) ItemDataDefault(index QModelIndex_ITF) map[int]*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[int]*QVariant { + out := make(map[int]*QVariant, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i, v := range tmpList.__itemData_keyList() { + out[v] = tmpList.__itemData_atList(v, i) + } + return out + }(C.QAbstractItemModel_ItemDataDefault(ptr.Pointer(), PointerFromQModelIndex(index))) + } + return make(map[int]*QVariant, 0) +} + +//export callbackQAbstractItemModel_LayoutAboutToBeChanged +func callbackQAbstractItemModel_LayoutAboutToBeChanged(ptr unsafe.Pointer, parents C.struct_QtCore_PackedList, hint C.longlong) { + if signal := qt.GetSignal(ptr, "layoutAboutToBeChanged"); signal != nil { + (*(*func([]*QPersistentModelIndex, QAbstractItemModel__LayoutChangeHint))(signal))(func(l C.struct_QtCore_PackedList) []*QPersistentModelIndex { + out := make([]*QPersistentModelIndex, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__layoutAboutToBeChanged_parents_atList(i) + } + return out + }(parents), QAbstractItemModel__LayoutChangeHint(hint)) + } + +} + +func (ptr *QAbstractItemModel) ConnectLayoutAboutToBeChanged(f func(parents []*QPersistentModelIndex, hint QAbstractItemModel__LayoutChangeHint)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "layoutAboutToBeChanged") { + C.QAbstractItemModel_ConnectLayoutAboutToBeChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "layoutAboutToBeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "layoutAboutToBeChanged"); signal != nil { + f := func(parents []*QPersistentModelIndex, hint QAbstractItemModel__LayoutChangeHint) { + (*(*func([]*QPersistentModelIndex, QAbstractItemModel__LayoutChangeHint))(signal))(parents, hint) + f(parents, hint) + } + qt.ConnectSignal(ptr.Pointer(), "layoutAboutToBeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "layoutAboutToBeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectLayoutAboutToBeChanged() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectLayoutAboutToBeChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "layoutAboutToBeChanged") + } +} + +func (ptr *QAbstractItemModel) LayoutAboutToBeChanged(parents []*QPersistentModelIndex, hint QAbstractItemModel__LayoutChangeHint) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_LayoutAboutToBeChanged(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__layoutAboutToBeChanged_parents_newList()) + for _, v := range parents { + tmpList.__layoutAboutToBeChanged_parents_setList(v) + } + return tmpList.Pointer() + }(), C.longlong(hint)) + } +} + +//export callbackQAbstractItemModel_LayoutChanged +func callbackQAbstractItemModel_LayoutChanged(ptr unsafe.Pointer, parents C.struct_QtCore_PackedList, hint C.longlong) { + if signal := qt.GetSignal(ptr, "layoutChanged"); signal != nil { + (*(*func([]*QPersistentModelIndex, QAbstractItemModel__LayoutChangeHint))(signal))(func(l C.struct_QtCore_PackedList) []*QPersistentModelIndex { + out := make([]*QPersistentModelIndex, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__layoutChanged_parents_atList(i) + } + return out + }(parents), QAbstractItemModel__LayoutChangeHint(hint)) + } + +} + +func (ptr *QAbstractItemModel) ConnectLayoutChanged(f func(parents []*QPersistentModelIndex, hint QAbstractItemModel__LayoutChangeHint)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "layoutChanged") { + C.QAbstractItemModel_ConnectLayoutChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "layoutChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "layoutChanged"); signal != nil { + f := func(parents []*QPersistentModelIndex, hint QAbstractItemModel__LayoutChangeHint) { + (*(*func([]*QPersistentModelIndex, QAbstractItemModel__LayoutChangeHint))(signal))(parents, hint) + f(parents, hint) + } + qt.ConnectSignal(ptr.Pointer(), "layoutChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "layoutChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectLayoutChanged() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectLayoutChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "layoutChanged") + } +} + +func (ptr *QAbstractItemModel) LayoutChanged(parents []*QPersistentModelIndex, hint QAbstractItemModel__LayoutChangeHint) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_LayoutChanged(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__layoutChanged_parents_newList()) + for _, v := range parents { + tmpList.__layoutChanged_parents_setList(v) + } + return tmpList.Pointer() + }(), C.longlong(hint)) + } +} + +//export callbackQAbstractItemModel_Match +func callbackQAbstractItemModel_Match(ptr unsafe.Pointer, start unsafe.Pointer, role C.int, value unsafe.Pointer, hits C.int, flags C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "match"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__match_newList()) + for _, v := range (*(*func(*QModelIndex, int, *QVariant, int, Qt__MatchFlag) []*QModelIndex)(signal))(NewQModelIndexFromPointer(start), int(int32(role)), NewQVariantFromPointer(value), int(int32(hits)), Qt__MatchFlag(flags)) { + tmpList.__match_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__match_newList()) + for _, v := range NewQAbstractItemModelFromPointer(ptr).MatchDefault(NewQModelIndexFromPointer(start), int(int32(role)), NewQVariantFromPointer(value), int(int32(hits)), Qt__MatchFlag(flags)) { + tmpList.__match_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QAbstractItemModel) ConnectMatch(f func(start *QModelIndex, role int, value *QVariant, hits int, flags Qt__MatchFlag) []*QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "match"); signal != nil { + f := func(start *QModelIndex, role int, value *QVariant, hits int, flags Qt__MatchFlag) []*QModelIndex { + (*(*func(*QModelIndex, int, *QVariant, int, Qt__MatchFlag) []*QModelIndex)(signal))(start, role, value, hits, flags) + return f(start, role, value, hits, flags) + } + qt.ConnectSignal(ptr.Pointer(), "match", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "match", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectMatch() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "match") + } +} + +func (ptr *QAbstractItemModel) Match(start QModelIndex_ITF, role int, value QVariant_ITF, hits int, flags Qt__MatchFlag) []*QModelIndex { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__match_atList(i) + } + return out + }(C.QAbstractItemModel_Match(ptr.Pointer(), PointerFromQModelIndex(start), C.int(int32(role)), PointerFromQVariant(value), C.int(int32(hits)), C.longlong(flags))) + } + return make([]*QModelIndex, 0) +} + +func (ptr *QAbstractItemModel) MatchDefault(start QModelIndex_ITF, role int, value QVariant_ITF, hits int, flags Qt__MatchFlag) []*QModelIndex { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__match_atList(i) + } + return out + }(C.QAbstractItemModel_MatchDefault(ptr.Pointer(), PointerFromQModelIndex(start), C.int(int32(role)), PointerFromQVariant(value), C.int(int32(hits)), C.longlong(flags))) + } + return make([]*QModelIndex, 0) +} + +//export callbackQAbstractItemModel_MimeData +func callbackQAbstractItemModel_MimeData(ptr unsafe.Pointer, indexes C.struct_QtCore_PackedList) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mimeData"); signal != nil { + return PointerFromQMimeData((*(*func([]*QModelIndex) *QMimeData)(signal))(func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__mimeData_indexes_atList(i) + } + return out + }(indexes))) + } + + return PointerFromQMimeData(NewQAbstractItemModelFromPointer(ptr).MimeDataDefault(func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__mimeData_indexes_atList(i) + } + return out + }(indexes))) +} + +func (ptr *QAbstractItemModel) ConnectMimeData(f func(indexes []*QModelIndex) *QMimeData) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mimeData"); signal != nil { + f := func(indexes []*QModelIndex) *QMimeData { + (*(*func([]*QModelIndex) *QMimeData)(signal))(indexes) + return f(indexes) + } + qt.ConnectSignal(ptr.Pointer(), "mimeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mimeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectMimeData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mimeData") + } +} + +func (ptr *QAbstractItemModel) MimeData(indexes []*QModelIndex) *QMimeData { + if ptr.Pointer() != nil { + tmpValue := NewQMimeDataFromPointer(C.QAbstractItemModel_MimeData(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__mimeData_indexes_newList()) + for _, v := range indexes { + tmpList.__mimeData_indexes_setList(v) + } + return tmpList.Pointer() + }())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) MimeDataDefault(indexes []*QModelIndex) *QMimeData { + if ptr.Pointer() != nil { + tmpValue := NewQMimeDataFromPointer(C.QAbstractItemModel_MimeDataDefault(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__mimeData_indexes_newList()) + for _, v := range indexes { + tmpList.__mimeData_indexes_setList(v) + } + return tmpList.Pointer() + }())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAbstractItemModel_MimeTypes +func callbackQAbstractItemModel_MimeTypes(ptr unsafe.Pointer) C.struct_QtCore_PackedString { + if signal := qt.GetSignal(ptr, "mimeTypes"); signal != nil { + tempVal := (*(*func() []string)(signal))() + return C.struct_QtCore_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} + } + tempVal := NewQAbstractItemModelFromPointer(ptr).MimeTypesDefault() + return C.struct_QtCore_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} +} + +func (ptr *QAbstractItemModel) ConnectMimeTypes(f func() []string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mimeTypes"); signal != nil { + f := func() []string { + (*(*func() []string)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "mimeTypes", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mimeTypes", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectMimeTypes() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mimeTypes") + } +} + +func (ptr *QAbstractItemModel) MimeTypes() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QAbstractItemModel_MimeTypes(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QAbstractItemModel) MimeTypesDefault() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QAbstractItemModel_MimeTypesDefault(ptr.Pointer()))) + } + return make([]string, 0) +} + +//export callbackQAbstractItemModel_ModelAboutToBeReset +func callbackQAbstractItemModel_ModelAboutToBeReset(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "modelAboutToBeReset"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractItemModel) ConnectModelAboutToBeReset(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "modelAboutToBeReset") { + C.QAbstractItemModel_ConnectModelAboutToBeReset(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "modelAboutToBeReset"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "modelAboutToBeReset"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "modelAboutToBeReset", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "modelAboutToBeReset", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectModelAboutToBeReset() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectModelAboutToBeReset(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "modelAboutToBeReset") + } +} + +//export callbackQAbstractItemModel_ModelReset +func callbackQAbstractItemModel_ModelReset(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "modelReset"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractItemModel) ConnectModelReset(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "modelReset") { + C.QAbstractItemModel_ConnectModelReset(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "modelReset"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "modelReset"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "modelReset", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "modelReset", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectModelReset() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectModelReset(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "modelReset") + } +} + +func (ptr *QAbstractItemModel) MoveColumn(sourceParent QModelIndex_ITF, sourceColumn int, destinationParent QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_MoveColumn(ptr.Pointer(), PointerFromQModelIndex(sourceParent), C.int(int32(sourceColumn)), PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_MoveColumns +func callbackQAbstractItemModel_MoveColumns(ptr unsafe.Pointer, sourceParent unsafe.Pointer, sourceColumn C.int, count C.int, destinationParent unsafe.Pointer, destinationChild C.int) C.char { + if signal := qt.GetSignal(ptr, "moveColumns"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QModelIndex, int, int, *QModelIndex, int) bool)(signal))(NewQModelIndexFromPointer(sourceParent), int(int32(sourceColumn)), int(int32(count)), NewQModelIndexFromPointer(destinationParent), int(int32(destinationChild)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).MoveColumnsDefault(NewQModelIndexFromPointer(sourceParent), int(int32(sourceColumn)), int(int32(count)), NewQModelIndexFromPointer(destinationParent), int(int32(destinationChild)))))) +} + +func (ptr *QAbstractItemModel) ConnectMoveColumns(f func(sourceParent *QModelIndex, sourceColumn int, count int, destinationParent *QModelIndex, destinationChild int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "moveColumns"); signal != nil { + f := func(sourceParent *QModelIndex, sourceColumn int, count int, destinationParent *QModelIndex, destinationChild int) bool { + (*(*func(*QModelIndex, int, int, *QModelIndex, int) bool)(signal))(sourceParent, sourceColumn, count, destinationParent, destinationChild) + return f(sourceParent, sourceColumn, count, destinationParent, destinationChild) + } + qt.ConnectSignal(ptr.Pointer(), "moveColumns", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "moveColumns", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectMoveColumns() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "moveColumns") + } +} + +func (ptr *QAbstractItemModel) MoveColumns(sourceParent QModelIndex_ITF, sourceColumn int, count int, destinationParent QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_MoveColumns(ptr.Pointer(), PointerFromQModelIndex(sourceParent), C.int(int32(sourceColumn)), C.int(int32(count)), PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) MoveColumnsDefault(sourceParent QModelIndex_ITF, sourceColumn int, count int, destinationParent QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_MoveColumnsDefault(ptr.Pointer(), PointerFromQModelIndex(sourceParent), C.int(int32(sourceColumn)), C.int(int32(count)), PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) MoveRow(sourceParent QModelIndex_ITF, sourceRow int, destinationParent QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_MoveRow(ptr.Pointer(), PointerFromQModelIndex(sourceParent), C.int(int32(sourceRow)), PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_MoveRows +func callbackQAbstractItemModel_MoveRows(ptr unsafe.Pointer, sourceParent unsafe.Pointer, sourceRow C.int, count C.int, destinationParent unsafe.Pointer, destinationChild C.int) C.char { + if signal := qt.GetSignal(ptr, "moveRows"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QModelIndex, int, int, *QModelIndex, int) bool)(signal))(NewQModelIndexFromPointer(sourceParent), int(int32(sourceRow)), int(int32(count)), NewQModelIndexFromPointer(destinationParent), int(int32(destinationChild)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).MoveRowsDefault(NewQModelIndexFromPointer(sourceParent), int(int32(sourceRow)), int(int32(count)), NewQModelIndexFromPointer(destinationParent), int(int32(destinationChild)))))) +} + +func (ptr *QAbstractItemModel) ConnectMoveRows(f func(sourceParent *QModelIndex, sourceRow int, count int, destinationParent *QModelIndex, destinationChild int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "moveRows"); signal != nil { + f := func(sourceParent *QModelIndex, sourceRow int, count int, destinationParent *QModelIndex, destinationChild int) bool { + (*(*func(*QModelIndex, int, int, *QModelIndex, int) bool)(signal))(sourceParent, sourceRow, count, destinationParent, destinationChild) + return f(sourceParent, sourceRow, count, destinationParent, destinationChild) + } + qt.ConnectSignal(ptr.Pointer(), "moveRows", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "moveRows", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectMoveRows() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "moveRows") + } +} + +func (ptr *QAbstractItemModel) MoveRows(sourceParent QModelIndex_ITF, sourceRow int, count int, destinationParent QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_MoveRows(ptr.Pointer(), PointerFromQModelIndex(sourceParent), C.int(int32(sourceRow)), C.int(int32(count)), PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) MoveRowsDefault(sourceParent QModelIndex_ITF, sourceRow int, count int, destinationParent QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_MoveRowsDefault(ptr.Pointer(), PointerFromQModelIndex(sourceParent), C.int(int32(sourceRow)), C.int(int32(count)), PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_Parent +func callbackQAbstractItemModel_Parent(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(index))) + } + + return PointerFromQModelIndex(NewQModelIndex()) +} + +func (ptr *QAbstractItemModel) ConnectParent(f func(index *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "parent"); signal != nil { + f := func(index *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(index) + return f(index) + } + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectParent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "parent") + } +} + +func (ptr *QAbstractItemModel) Parent(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel_Parent(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) PersistentIndexList() []*QModelIndex { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__persistentIndexList_atList(i) + } + return out + }(C.QAbstractItemModel_PersistentIndexList(ptr.Pointer())) + } + return make([]*QModelIndex, 0) +} + +func (ptr *QAbstractItemModel) RemoveColumn(column int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_RemoveColumn(ptr.Pointer(), C.int(int32(column)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_RemoveColumns +func callbackQAbstractItemModel_RemoveColumns(ptr unsafe.Pointer, column C.int, count C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "removeColumns"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, int, *QModelIndex) bool)(signal))(int(int32(column)), int(int32(count)), NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).RemoveColumnsDefault(int(int32(column)), int(int32(count)), NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QAbstractItemModel) ConnectRemoveColumns(f func(column int, count int, parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "removeColumns"); signal != nil { + f := func(column int, count int, parent *QModelIndex) bool { + (*(*func(int, int, *QModelIndex) bool)(signal))(column, count, parent) + return f(column, count, parent) + } + qt.ConnectSignal(ptr.Pointer(), "removeColumns", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "removeColumns", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRemoveColumns() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "removeColumns") + } +} + +func (ptr *QAbstractItemModel) RemoveColumns(column int, count int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_RemoveColumns(ptr.Pointer(), C.int(int32(column)), C.int(int32(count)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) RemoveColumnsDefault(column int, count int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_RemoveColumnsDefault(ptr.Pointer(), C.int(int32(column)), C.int(int32(count)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) RemoveRow(row int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_RemoveRow(ptr.Pointer(), C.int(int32(row)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_RemoveRows +func callbackQAbstractItemModel_RemoveRows(ptr unsafe.Pointer, row C.int, count C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "removeRows"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, int, *QModelIndex) bool)(signal))(int(int32(row)), int(int32(count)), NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).RemoveRowsDefault(int(int32(row)), int(int32(count)), NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QAbstractItemModel) ConnectRemoveRows(f func(row int, count int, parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "removeRows"); signal != nil { + f := func(row int, count int, parent *QModelIndex) bool { + (*(*func(int, int, *QModelIndex) bool)(signal))(row, count, parent) + return f(row, count, parent) + } + qt.ConnectSignal(ptr.Pointer(), "removeRows", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "removeRows", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRemoveRows() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "removeRows") + } +} + +func (ptr *QAbstractItemModel) RemoveRows(row int, count int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_RemoveRows(ptr.Pointer(), C.int(int32(row)), C.int(int32(count)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) RemoveRowsDefault(row int, count int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_RemoveRowsDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(count)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_ResetInternalData +func callbackQAbstractItemModel_ResetInternalData(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "resetInternalData"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractItemModelFromPointer(ptr).ResetInternalDataDefault() + } +} + +func (ptr *QAbstractItemModel) ConnectResetInternalData(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "resetInternalData"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "resetInternalData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resetInternalData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectResetInternalData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "resetInternalData") + } +} + +func (ptr *QAbstractItemModel) ResetInternalData() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_ResetInternalData(ptr.Pointer()) + } +} + +func (ptr *QAbstractItemModel) ResetInternalDataDefault() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_ResetInternalDataDefault(ptr.Pointer()) + } +} + +//export callbackQAbstractItemModel_Revert +func callbackQAbstractItemModel_Revert(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "revert"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractItemModelFromPointer(ptr).RevertDefault() + } +} + +func (ptr *QAbstractItemModel) ConnectRevert(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "revert"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "revert", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "revert", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRevert() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "revert") + } +} + +func (ptr *QAbstractItemModel) Revert() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_Revert(ptr.Pointer()) + } +} + +func (ptr *QAbstractItemModel) RevertDefault() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_RevertDefault(ptr.Pointer()) + } +} + +//export callbackQAbstractItemModel_RoleNames +func callbackQAbstractItemModel_RoleNames(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "roleNames"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__roleNames_newList()) + for k, v := range (*(*func() map[int]*QByteArray)(signal))() { + tmpList.__roleNames_setList(k, v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__roleNames_newList()) + for k, v := range NewQAbstractItemModelFromPointer(ptr).RoleNamesDefault() { + tmpList.__roleNames_setList(k, v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QAbstractItemModel) ConnectRoleNames(f func() map[int]*QByteArray) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "roleNames"); signal != nil { + f := func() map[int]*QByteArray { + (*(*func() map[int]*QByteArray)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "roleNames", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "roleNames", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRoleNames() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "roleNames") + } +} + +func (ptr *QAbstractItemModel) RoleNames() map[int]*QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[int]*QByteArray { + out := make(map[int]*QByteArray, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i, v := range tmpList.__roleNames_keyList() { + out[v] = tmpList.__roleNames_atList(v, i) + } + return out + }(C.QAbstractItemModel_RoleNames(ptr.Pointer())) + } + return make(map[int]*QByteArray, 0) +} + +func (ptr *QAbstractItemModel) RoleNamesDefault() map[int]*QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[int]*QByteArray { + out := make(map[int]*QByteArray, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i, v := range tmpList.__roleNames_keyList() { + out[v] = tmpList.__roleNames_atList(v, i) + } + return out + }(C.QAbstractItemModel_RoleNamesDefault(ptr.Pointer())) + } + return make(map[int]*QByteArray, 0) +} + +//export callbackQAbstractItemModel_RowCount +func callbackQAbstractItemModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(0)) +} + +func (ptr *QAbstractItemModel) ConnectRowCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRowCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowCount") + } +} + +func (ptr *QAbstractItemModel) RowCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractItemModel_RowCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQAbstractItemModel_RowsAboutToBeInserted +func callbackQAbstractItemModel_RowsAboutToBeInserted(ptr unsafe.Pointer, parent unsafe.Pointer, start C.int, end C.int) { + if signal := qt.GetSignal(ptr, "rowsAboutToBeInserted"); signal != nil { + (*(*func(*QModelIndex, int, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(start)), int(int32(end))) + } + +} + +func (ptr *QAbstractItemModel) ConnectRowsAboutToBeInserted(f func(parent *QModelIndex, start int, end int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "rowsAboutToBeInserted") { + C.QAbstractItemModel_ConnectRowsAboutToBeInserted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "rowsAboutToBeInserted"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "rowsAboutToBeInserted"); signal != nil { + f := func(parent *QModelIndex, start int, end int) { + (*(*func(*QModelIndex, int, int))(signal))(parent, start, end) + f(parent, start, end) + } + qt.ConnectSignal(ptr.Pointer(), "rowsAboutToBeInserted", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowsAboutToBeInserted", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRowsAboutToBeInserted() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectRowsAboutToBeInserted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "rowsAboutToBeInserted") + } +} + +//export callbackQAbstractItemModel_RowsAboutToBeMoved +func callbackQAbstractItemModel_RowsAboutToBeMoved(ptr unsafe.Pointer, sourceParent unsafe.Pointer, sourceStart C.int, sourceEnd C.int, destinationParent unsafe.Pointer, destinationRow C.int) { + if signal := qt.GetSignal(ptr, "rowsAboutToBeMoved"); signal != nil { + (*(*func(*QModelIndex, int, int, *QModelIndex, int))(signal))(NewQModelIndexFromPointer(sourceParent), int(int32(sourceStart)), int(int32(sourceEnd)), NewQModelIndexFromPointer(destinationParent), int(int32(destinationRow))) + } + +} + +func (ptr *QAbstractItemModel) ConnectRowsAboutToBeMoved(f func(sourceParent *QModelIndex, sourceStart int, sourceEnd int, destinationParent *QModelIndex, destinationRow int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "rowsAboutToBeMoved") { + C.QAbstractItemModel_ConnectRowsAboutToBeMoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "rowsAboutToBeMoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "rowsAboutToBeMoved"); signal != nil { + f := func(sourceParent *QModelIndex, sourceStart int, sourceEnd int, destinationParent *QModelIndex, destinationRow int) { + (*(*func(*QModelIndex, int, int, *QModelIndex, int))(signal))(sourceParent, sourceStart, sourceEnd, destinationParent, destinationRow) + f(sourceParent, sourceStart, sourceEnd, destinationParent, destinationRow) + } + qt.ConnectSignal(ptr.Pointer(), "rowsAboutToBeMoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowsAboutToBeMoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRowsAboutToBeMoved() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectRowsAboutToBeMoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "rowsAboutToBeMoved") + } +} + +//export callbackQAbstractItemModel_RowsAboutToBeRemoved +func callbackQAbstractItemModel_RowsAboutToBeRemoved(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "rowsAboutToBeRemoved"); signal != nil { + (*(*func(*QModelIndex, int, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +func (ptr *QAbstractItemModel) ConnectRowsAboutToBeRemoved(f func(parent *QModelIndex, first int, last int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "rowsAboutToBeRemoved") { + C.QAbstractItemModel_ConnectRowsAboutToBeRemoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "rowsAboutToBeRemoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "rowsAboutToBeRemoved"); signal != nil { + f := func(parent *QModelIndex, first int, last int) { + (*(*func(*QModelIndex, int, int))(signal))(parent, first, last) + f(parent, first, last) + } + qt.ConnectSignal(ptr.Pointer(), "rowsAboutToBeRemoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowsAboutToBeRemoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRowsAboutToBeRemoved() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectRowsAboutToBeRemoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "rowsAboutToBeRemoved") + } +} + +//export callbackQAbstractItemModel_RowsInserted +func callbackQAbstractItemModel_RowsInserted(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "rowsInserted"); signal != nil { + (*(*func(*QModelIndex, int, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +func (ptr *QAbstractItemModel) ConnectRowsInserted(f func(parent *QModelIndex, first int, last int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "rowsInserted") { + C.QAbstractItemModel_ConnectRowsInserted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "rowsInserted"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "rowsInserted"); signal != nil { + f := func(parent *QModelIndex, first int, last int) { + (*(*func(*QModelIndex, int, int))(signal))(parent, first, last) + f(parent, first, last) + } + qt.ConnectSignal(ptr.Pointer(), "rowsInserted", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowsInserted", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRowsInserted() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectRowsInserted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "rowsInserted") + } +} + +//export callbackQAbstractItemModel_RowsMoved +func callbackQAbstractItemModel_RowsMoved(ptr unsafe.Pointer, parent unsafe.Pointer, start C.int, end C.int, destination unsafe.Pointer, row C.int) { + if signal := qt.GetSignal(ptr, "rowsMoved"); signal != nil { + (*(*func(*QModelIndex, int, int, *QModelIndex, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(start)), int(int32(end)), NewQModelIndexFromPointer(destination), int(int32(row))) + } + +} + +func (ptr *QAbstractItemModel) ConnectRowsMoved(f func(parent *QModelIndex, start int, end int, destination *QModelIndex, row int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "rowsMoved") { + C.QAbstractItemModel_ConnectRowsMoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "rowsMoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "rowsMoved"); signal != nil { + f := func(parent *QModelIndex, start int, end int, destination *QModelIndex, row int) { + (*(*func(*QModelIndex, int, int, *QModelIndex, int))(signal))(parent, start, end, destination, row) + f(parent, start, end, destination, row) + } + qt.ConnectSignal(ptr.Pointer(), "rowsMoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowsMoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRowsMoved() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectRowsMoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "rowsMoved") + } +} + +//export callbackQAbstractItemModel_RowsRemoved +func callbackQAbstractItemModel_RowsRemoved(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "rowsRemoved"); signal != nil { + (*(*func(*QModelIndex, int, int))(signal))(NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +func (ptr *QAbstractItemModel) ConnectRowsRemoved(f func(parent *QModelIndex, first int, last int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "rowsRemoved") { + C.QAbstractItemModel_ConnectRowsRemoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "rowsRemoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "rowsRemoved"); signal != nil { + f := func(parent *QModelIndex, first int, last int) { + (*(*func(*QModelIndex, int, int))(signal))(parent, first, last) + f(parent, first, last) + } + qt.ConnectSignal(ptr.Pointer(), "rowsRemoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowsRemoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectRowsRemoved() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DisconnectRowsRemoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "rowsRemoved") + } +} + +//export callbackQAbstractItemModel_SetData +func callbackQAbstractItemModel_SetData(ptr unsafe.Pointer, index unsafe.Pointer, value unsafe.Pointer, role C.int) C.char { + if signal := qt.GetSignal(ptr, "setData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QModelIndex, *QVariant, int) bool)(signal))(NewQModelIndexFromPointer(index), NewQVariantFromPointer(value), int(int32(role)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).SetDataDefault(NewQModelIndexFromPointer(index), NewQVariantFromPointer(value), int(int32(role)))))) +} + +func (ptr *QAbstractItemModel) ConnectSetData(f func(index *QModelIndex, value *QVariant, role int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setData"); signal != nil { + f := func(index *QModelIndex, value *QVariant, role int) bool { + (*(*func(*QModelIndex, *QVariant, int) bool)(signal))(index, value, role) + return f(index, value, role) + } + qt.ConnectSignal(ptr.Pointer(), "setData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectSetData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setData") + } +} + +func (ptr *QAbstractItemModel) SetData(index QModelIndex_ITF, value QVariant_ITF, role int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_SetData(ptr.Pointer(), PointerFromQModelIndex(index), PointerFromQVariant(value), C.int(int32(role)))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) SetDataDefault(index QModelIndex_ITF, value QVariant_ITF, role int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_SetDataDefault(ptr.Pointer(), PointerFromQModelIndex(index), PointerFromQVariant(value), C.int(int32(role)))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_SetHeaderData +func callbackQAbstractItemModel_SetHeaderData(ptr unsafe.Pointer, section C.int, orientation C.longlong, value unsafe.Pointer, role C.int) C.char { + if signal := qt.GetSignal(ptr, "setHeaderData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, Qt__Orientation, *QVariant, int) bool)(signal))(int(int32(section)), Qt__Orientation(orientation), NewQVariantFromPointer(value), int(int32(role)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).SetHeaderDataDefault(int(int32(section)), Qt__Orientation(orientation), NewQVariantFromPointer(value), int(int32(role)))))) +} + +func (ptr *QAbstractItemModel) ConnectSetHeaderData(f func(section int, orientation Qt__Orientation, value *QVariant, role int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setHeaderData"); signal != nil { + f := func(section int, orientation Qt__Orientation, value *QVariant, role int) bool { + (*(*func(int, Qt__Orientation, *QVariant, int) bool)(signal))(section, orientation, value, role) + return f(section, orientation, value, role) + } + qt.ConnectSignal(ptr.Pointer(), "setHeaderData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setHeaderData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectSetHeaderData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setHeaderData") + } +} + +func (ptr *QAbstractItemModel) SetHeaderData(section int, orientation Qt__Orientation, value QVariant_ITF, role int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_SetHeaderData(ptr.Pointer(), C.int(int32(section)), C.longlong(orientation), PointerFromQVariant(value), C.int(int32(role)))) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) SetHeaderDataDefault(section int, orientation Qt__Orientation, value QVariant_ITF, role int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_SetHeaderDataDefault(ptr.Pointer(), C.int(int32(section)), C.longlong(orientation), PointerFromQVariant(value), C.int(int32(role)))) != 0 + } + return false +} + +//export callbackQAbstractItemModel_SetItemData +func callbackQAbstractItemModel_SetItemData(ptr unsafe.Pointer, index unsafe.Pointer, roles C.struct_QtCore_PackedList) C.char { + if signal := qt.GetSignal(ptr, "setItemData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QModelIndex, map[int]*QVariant) bool)(signal))(NewQModelIndexFromPointer(index), func(l C.struct_QtCore_PackedList) map[int]*QVariant { + out := make(map[int]*QVariant, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i, v := range tmpList.__setItemData_roles_keyList() { + out[v] = tmpList.__setItemData_roles_atList(v, i) + } + return out + }(roles))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).SetItemDataDefault(NewQModelIndexFromPointer(index), func(l C.struct_QtCore_PackedList) map[int]*QVariant { + out := make(map[int]*QVariant, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i, v := range tmpList.__setItemData_roles_keyList() { + out[v] = tmpList.__setItemData_roles_atList(v, i) + } + return out + }(roles))))) +} + +func (ptr *QAbstractItemModel) ConnectSetItemData(f func(index *QModelIndex, roles map[int]*QVariant) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setItemData"); signal != nil { + f := func(index *QModelIndex, roles map[int]*QVariant) bool { + (*(*func(*QModelIndex, map[int]*QVariant) bool)(signal))(index, roles) + return f(index, roles) + } + qt.ConnectSignal(ptr.Pointer(), "setItemData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setItemData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectSetItemData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setItemData") + } +} + +func (ptr *QAbstractItemModel) SetItemData(index QModelIndex_ITF, roles map[int]*QVariant) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_SetItemData(ptr.Pointer(), PointerFromQModelIndex(index), func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__setItemData_roles_newList()) + for k, v := range roles { + tmpList.__setItemData_roles_setList(k, v) + } + return tmpList.Pointer() + }())) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) SetItemDataDefault(index QModelIndex_ITF, roles map[int]*QVariant) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_SetItemDataDefault(ptr.Pointer(), PointerFromQModelIndex(index), func() unsafe.Pointer { + tmpList := NewQAbstractItemModelFromPointer(NewQAbstractItemModelFromPointer(nil).__setItemData_roles_newList()) + for k, v := range roles { + tmpList.__setItemData_roles_setList(k, v) + } + return tmpList.Pointer() + }())) != 0 + } + return false +} + +//export callbackQAbstractItemModel_Sibling +func callbackQAbstractItemModel_Sibling(ptr unsafe.Pointer, row C.int, column C.int, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "sibling"); signal != nil { + return PointerFromQModelIndex((*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(index))) + } + + return PointerFromQModelIndex(NewQAbstractItemModelFromPointer(ptr).SiblingDefault(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(index))) +} + +func (ptr *QAbstractItemModel) ConnectSibling(f func(row int, column int, index *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "sibling"); signal != nil { + f := func(row int, column int, index *QModelIndex) *QModelIndex { + (*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(row, column, index) + return f(row, column, index) + } + qt.ConnectSignal(ptr.Pointer(), "sibling", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "sibling", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectSibling() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "sibling") + } +} + +func (ptr *QAbstractItemModel) Sibling(row int, column int, index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel_Sibling(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) SiblingDefault(row int, column int, index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel_SiblingDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractItemModel_Sort +func callbackQAbstractItemModel_Sort(ptr unsafe.Pointer, column C.int, order C.longlong) { + if signal := qt.GetSignal(ptr, "sort"); signal != nil { + (*(*func(int, Qt__SortOrder))(signal))(int(int32(column)), Qt__SortOrder(order)) + } else { + NewQAbstractItemModelFromPointer(ptr).SortDefault(int(int32(column)), Qt__SortOrder(order)) + } +} + +func (ptr *QAbstractItemModel) ConnectSort(f func(column int, order Qt__SortOrder)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "sort"); signal != nil { + f := func(column int, order Qt__SortOrder) { + (*(*func(int, Qt__SortOrder))(signal))(column, order) + f(column, order) + } + qt.ConnectSignal(ptr.Pointer(), "sort", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "sort", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectSort() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "sort") + } +} + +func (ptr *QAbstractItemModel) Sort(column int, order Qt__SortOrder) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_Sort(ptr.Pointer(), C.int(int32(column)), C.longlong(order)) + } +} + +func (ptr *QAbstractItemModel) SortDefault(column int, order Qt__SortOrder) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_SortDefault(ptr.Pointer(), C.int(int32(column)), C.longlong(order)) + } +} + +//export callbackQAbstractItemModel_Span +func callbackQAbstractItemModel_Span(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "span"); signal != nil { + return PointerFromQSize((*(*func(*QModelIndex) *QSize)(signal))(NewQModelIndexFromPointer(index))) + } + + return PointerFromQSize(NewQAbstractItemModelFromPointer(ptr).SpanDefault(NewQModelIndexFromPointer(index))) +} + +func (ptr *QAbstractItemModel) ConnectSpan(f func(index *QModelIndex) *QSize) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "span"); signal != nil { + f := func(index *QModelIndex) *QSize { + (*(*func(*QModelIndex) *QSize)(signal))(index) + return f(index) + } + qt.ConnectSignal(ptr.Pointer(), "span", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "span", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectSpan() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "span") + } +} + +func (ptr *QAbstractItemModel) Span(index QModelIndex_ITF) *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QAbstractItemModel_Span(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) SpanDefault(index QModelIndex_ITF) *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QAbstractItemModel_SpanDefault(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +//export callbackQAbstractItemModel_Submit +func callbackQAbstractItemModel_Submit(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "submit"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractItemModelFromPointer(ptr).SubmitDefault()))) +} + +func (ptr *QAbstractItemModel) ConnectSubmit(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "submit"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "submit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "submit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectSubmit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "submit") + } +} + +func (ptr *QAbstractItemModel) Submit() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_Submit(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QAbstractItemModel) SubmitDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractItemModel_SubmitDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQAbstractItemModel_SupportedDragActions +func callbackQAbstractItemModel_SupportedDragActions(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "supportedDragActions"); signal != nil { + return C.longlong((*(*func() Qt__DropAction)(signal))()) + } + + return C.longlong(NewQAbstractItemModelFromPointer(ptr).SupportedDragActionsDefault()) +} + +func (ptr *QAbstractItemModel) ConnectSupportedDragActions(f func() Qt__DropAction) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "supportedDragActions"); signal != nil { + f := func() Qt__DropAction { + (*(*func() Qt__DropAction)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "supportedDragActions", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "supportedDragActions", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectSupportedDragActions() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "supportedDragActions") + } +} + +func (ptr *QAbstractItemModel) SupportedDragActions() Qt__DropAction { + if ptr.Pointer() != nil { + return Qt__DropAction(C.QAbstractItemModel_SupportedDragActions(ptr.Pointer())) + } + return 0 +} + +func (ptr *QAbstractItemModel) SupportedDragActionsDefault() Qt__DropAction { + if ptr.Pointer() != nil { + return Qt__DropAction(C.QAbstractItemModel_SupportedDragActionsDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractItemModel_SupportedDropActions +func callbackQAbstractItemModel_SupportedDropActions(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "supportedDropActions"); signal != nil { + return C.longlong((*(*func() Qt__DropAction)(signal))()) + } + + return C.longlong(NewQAbstractItemModelFromPointer(ptr).SupportedDropActionsDefault()) +} + +func (ptr *QAbstractItemModel) ConnectSupportedDropActions(f func() Qt__DropAction) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "supportedDropActions"); signal != nil { + f := func() Qt__DropAction { + (*(*func() Qt__DropAction)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "supportedDropActions", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "supportedDropActions", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectSupportedDropActions() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "supportedDropActions") + } +} + +func (ptr *QAbstractItemModel) SupportedDropActions() Qt__DropAction { + if ptr.Pointer() != nil { + return Qt__DropAction(C.QAbstractItemModel_SupportedDropActions(ptr.Pointer())) + } + return 0 +} + +func (ptr *QAbstractItemModel) SupportedDropActionsDefault() Qt__DropAction { + if ptr.Pointer() != nil { + return Qt__DropAction(C.QAbstractItemModel_SupportedDropActionsDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractItemModel_DestroyQAbstractItemModel +func callbackQAbstractItemModel_DestroyQAbstractItemModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractItemModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractItemModelFromPointer(ptr).DestroyQAbstractItemModelDefault() + } +} + +func (ptr *QAbstractItemModel) ConnectDestroyQAbstractItemModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractItemModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractItemModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractItemModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractItemModel) DisconnectDestroyQAbstractItemModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractItemModel") + } +} + +func (ptr *QAbstractItemModel) DestroyQAbstractItemModel() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DestroyQAbstractItemModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractItemModel) DestroyQAbstractItemModelDefault() { + if ptr.Pointer() != nil { + C.QAbstractItemModel_DestroyQAbstractItemModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractItemModel) __changePersistentIndexList_from_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel___changePersistentIndexList_from_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __changePersistentIndexList_from_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___changePersistentIndexList_from_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QAbstractItemModel) __changePersistentIndexList_from_newList() unsafe.Pointer { + return C.QAbstractItemModel___changePersistentIndexList_from_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __changePersistentIndexList_to_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel___changePersistentIndexList_to_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __changePersistentIndexList_to_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___changePersistentIndexList_to_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QAbstractItemModel) __changePersistentIndexList_to_newList() unsafe.Pointer { + return C.QAbstractItemModel___changePersistentIndexList_to_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __dataChanged_roles_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractItemModel___dataChanged_roles_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QAbstractItemModel) __dataChanged_roles_setList(i int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___dataChanged_roles_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QAbstractItemModel) __dataChanged_roles_newList() unsafe.Pointer { + return C.QAbstractItemModel___dataChanged_roles_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __doSetRoleNames_roleNames_atList(v int, i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QAbstractItemModel___doSetRoleNames_roleNames_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __doSetRoleNames_roleNames_setList(key int, i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___doSetRoleNames_roleNames_setList(ptr.Pointer(), C.int(int32(key)), PointerFromQByteArray(i)) + } +} + +func (ptr *QAbstractItemModel) __doSetRoleNames_roleNames_newList() unsafe.Pointer { + return C.QAbstractItemModel___doSetRoleNames_roleNames_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __doSetRoleNames_roleNames_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____doSetRoleNames_roleNames_keyList_atList(i) + } + return out + }(C.QAbstractItemModel___doSetRoleNames_roleNames_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QAbstractItemModel) __encodeData_indexes_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel___encodeData_indexes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __encodeData_indexes_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___encodeData_indexes_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QAbstractItemModel) __encodeData_indexes_newList() unsafe.Pointer { + return C.QAbstractItemModel___encodeData_indexes_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __itemData_atList(v int, i int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractItemModel___itemData_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __itemData_setList(key int, i QVariant_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___itemData_setList(ptr.Pointer(), C.int(int32(key)), PointerFromQVariant(i)) + } +} + +func (ptr *QAbstractItemModel) __itemData_newList() unsafe.Pointer { + return C.QAbstractItemModel___itemData_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __itemData_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____itemData_keyList_atList(i) + } + return out + }(C.QAbstractItemModel___itemData_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QAbstractItemModel) __layoutAboutToBeChanged_parents_atList(i int) *QPersistentModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQPersistentModelIndexFromPointer(C.QAbstractItemModel___layoutAboutToBeChanged_parents_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QPersistentModelIndex).DestroyQPersistentModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __layoutAboutToBeChanged_parents_setList(i QPersistentModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___layoutAboutToBeChanged_parents_setList(ptr.Pointer(), PointerFromQPersistentModelIndex(i)) + } +} + +func (ptr *QAbstractItemModel) __layoutAboutToBeChanged_parents_newList() unsafe.Pointer { + return C.QAbstractItemModel___layoutAboutToBeChanged_parents_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __layoutChanged_parents_atList(i int) *QPersistentModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQPersistentModelIndexFromPointer(C.QAbstractItemModel___layoutChanged_parents_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QPersistentModelIndex).DestroyQPersistentModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __layoutChanged_parents_setList(i QPersistentModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___layoutChanged_parents_setList(ptr.Pointer(), PointerFromQPersistentModelIndex(i)) + } +} + +func (ptr *QAbstractItemModel) __layoutChanged_parents_newList() unsafe.Pointer { + return C.QAbstractItemModel___layoutChanged_parents_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __match_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel___match_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __match_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___match_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QAbstractItemModel) __match_newList() unsafe.Pointer { + return C.QAbstractItemModel___match_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __mimeData_indexes_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel___mimeData_indexes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __mimeData_indexes_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___mimeData_indexes_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QAbstractItemModel) __mimeData_indexes_newList() unsafe.Pointer { + return C.QAbstractItemModel___mimeData_indexes_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __persistentIndexList_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractItemModel___persistentIndexList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __persistentIndexList_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___persistentIndexList_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QAbstractItemModel) __persistentIndexList_newList() unsafe.Pointer { + return C.QAbstractItemModel___persistentIndexList_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __roleNames_atList(v int, i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QAbstractItemModel___roleNames_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __roleNames_setList(key int, i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___roleNames_setList(ptr.Pointer(), C.int(int32(key)), PointerFromQByteArray(i)) + } +} + +func (ptr *QAbstractItemModel) __roleNames_newList() unsafe.Pointer { + return C.QAbstractItemModel___roleNames_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __roleNames_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____roleNames_keyList_atList(i) + } + return out + }(C.QAbstractItemModel___roleNames_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QAbstractItemModel) __setItemData_roles_atList(v int, i int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractItemModel___setItemData_roles_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __setItemData_roles_setList(key int, i QVariant_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___setItemData_roles_setList(ptr.Pointer(), C.int(int32(key)), PointerFromQVariant(i)) + } +} + +func (ptr *QAbstractItemModel) __setItemData_roles_newList() unsafe.Pointer { + return C.QAbstractItemModel___setItemData_roles_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __setItemData_roles_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____setItemData_roles_keyList_atList(i) + } + return out + }(C.QAbstractItemModel___setItemData_roles_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QAbstractItemModel) __setRoleNames_roleNames_atList(v int, i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QAbstractItemModel___setRoleNames_roleNames_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QAbstractItemModel) __setRoleNames_roleNames_setList(key int, i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QAbstractItemModel___setRoleNames_roleNames_setList(ptr.Pointer(), C.int(int32(key)), PointerFromQByteArray(i)) + } +} + +func (ptr *QAbstractItemModel) __setRoleNames_roleNames_newList() unsafe.Pointer { + return C.QAbstractItemModel___setRoleNames_roleNames_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) __setRoleNames_roleNames_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQAbstractItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____setRoleNames_roleNames_keyList_atList(i) + } + return out + }(C.QAbstractItemModel___setRoleNames_roleNames_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QAbstractItemModel) ____doSetRoleNames_roleNames_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractItemModel_____doSetRoleNames_roleNames_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QAbstractItemModel) ____doSetRoleNames_roleNames_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_____doSetRoleNames_roleNames_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QAbstractItemModel) ____doSetRoleNames_roleNames_keyList_newList() unsafe.Pointer { + return C.QAbstractItemModel_____doSetRoleNames_roleNames_keyList_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) ____itemData_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractItemModel_____itemData_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QAbstractItemModel) ____itemData_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_____itemData_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QAbstractItemModel) ____itemData_keyList_newList() unsafe.Pointer { + return C.QAbstractItemModel_____itemData_keyList_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) ____roleNames_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractItemModel_____roleNames_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QAbstractItemModel) ____roleNames_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_____roleNames_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QAbstractItemModel) ____roleNames_keyList_newList() unsafe.Pointer { + return C.QAbstractItemModel_____roleNames_keyList_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) ____setItemData_roles_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractItemModel_____setItemData_roles_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QAbstractItemModel) ____setItemData_roles_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_____setItemData_roles_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QAbstractItemModel) ____setItemData_roles_keyList_newList() unsafe.Pointer { + return C.QAbstractItemModel_____setItemData_roles_keyList_newList(ptr.Pointer()) +} + +func (ptr *QAbstractItemModel) ____setRoleNames_roleNames_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractItemModel_____setRoleNames_roleNames_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QAbstractItemModel) ____setRoleNames_roleNames_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QAbstractItemModel_____setRoleNames_roleNames_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QAbstractItemModel) ____setRoleNames_roleNames_keyList_newList() unsafe.Pointer { + return C.QAbstractItemModel_____setRoleNames_roleNames_keyList_newList(ptr.Pointer()) +} + +type QAbstractListModel struct { + QAbstractItemModel +} + +type QAbstractListModel_ITF interface { + QAbstractItemModel_ITF + QAbstractListModel_PTR() *QAbstractListModel +} + +func (ptr *QAbstractListModel) QAbstractListModel_PTR() *QAbstractListModel { + return ptr +} + +func (ptr *QAbstractListModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractItemModel_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractListModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractItemModel_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractListModel(ptr QAbstractListModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractListModel_PTR().Pointer() + } + return nil +} + +func NewQAbstractListModelFromPointer(ptr unsafe.Pointer) (n *QAbstractListModel) { + n = new(QAbstractListModel) + n.SetPointer(ptr) + return +} +func NewQAbstractListModel(parent QObject_ITF) *QAbstractListModel { + tmpValue := NewQAbstractListModelFromPointer(C.QAbstractListModel_NewQAbstractListModel(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQAbstractListModel_Index +func callbackQAbstractListModel_Index(ptr unsafe.Pointer, row C.int, column C.int, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "index"); signal != nil { + return PointerFromQModelIndex((*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) + } + + return PointerFromQModelIndex(NewQAbstractListModelFromPointer(ptr).IndexDefault(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) +} + +func (ptr *QAbstractListModel) ConnectIndex(f func(row int, column int, parent *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "index"); signal != nil { + f := func(row int, column int, parent *QModelIndex) *QModelIndex { + (*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(row, column, parent) + return f(row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractListModel) DisconnectIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "index") + } +} + +func (ptr *QAbstractListModel) Index(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractListModel_Index(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractListModel) IndexDefault(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractListModel_IndexDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractListModel_DestroyQAbstractListModel +func callbackQAbstractListModel_DestroyQAbstractListModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractListModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractListModelFromPointer(ptr).DestroyQAbstractListModelDefault() + } +} + +func (ptr *QAbstractListModel) ConnectDestroyQAbstractListModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractListModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractListModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractListModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractListModel) DisconnectDestroyQAbstractListModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractListModel") + } +} + +func (ptr *QAbstractListModel) DestroyQAbstractListModel() { + if ptr.Pointer() != nil { + C.QAbstractListModel_DestroyQAbstractListModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractListModel) DestroyQAbstractListModelDefault() { + if ptr.Pointer() != nil { + C.QAbstractListModel_DestroyQAbstractListModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQAbstractListModel_ColumnCount +func callbackQAbstractListModel_ColumnCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQAbstractListModelFromPointer(ptr).ColumnCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QAbstractListModel) ColumnCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractListModel_ColumnCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QAbstractListModel) ColumnCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractListModel_ColumnCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQAbstractListModel_Data +func callbackQAbstractListModel_Data(ptr unsafe.Pointer, index unsafe.Pointer, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return PointerFromQVariant((*(*func(*QModelIndex, int) *QVariant)(signal))(NewQModelIndexFromPointer(index), int(int32(role)))) + } + + return PointerFromQVariant(NewQAbstractListModelFromPointer(ptr).DataDefault(NewQModelIndexFromPointer(index), int(int32(role)))) +} + +func (ptr *QAbstractListModel) Data(index QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractListModel_Data(ptr.Pointer(), PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAbstractListModel) DataDefault(index QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractListModel_DataDefault(ptr.Pointer(), PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQAbstractListModel_Parent +func callbackQAbstractListModel_Parent(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(index))) + } + + return PointerFromQModelIndex(NewQAbstractListModelFromPointer(ptr).ParentDefault(NewQModelIndexFromPointer(index))) +} + +func (ptr *QAbstractListModel) Parent(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractListModel_Parent(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractListModel) ParentDefault(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractListModel_ParentDefault(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractListModel_RowCount +func callbackQAbstractListModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQAbstractListModelFromPointer(ptr).RowCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QAbstractListModel) RowCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractListModel_RowCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QAbstractListModel) RowCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractListModel_RowCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +type QAbstractNativeEventFilter struct { + ptr unsafe.Pointer +} + +type QAbstractNativeEventFilter_ITF interface { + QAbstractNativeEventFilter_PTR() *QAbstractNativeEventFilter +} + +func (ptr *QAbstractNativeEventFilter) QAbstractNativeEventFilter_PTR() *QAbstractNativeEventFilter { + return ptr +} + +func (ptr *QAbstractNativeEventFilter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAbstractNativeEventFilter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAbstractNativeEventFilter(ptr QAbstractNativeEventFilter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractNativeEventFilter_PTR().Pointer() + } + return nil +} + +func NewQAbstractNativeEventFilterFromPointer(ptr unsafe.Pointer) (n *QAbstractNativeEventFilter) { + n = new(QAbstractNativeEventFilter) + n.SetPointer(ptr) + return +} +func NewQAbstractNativeEventFilter() *QAbstractNativeEventFilter { + return NewQAbstractNativeEventFilterFromPointer(C.QAbstractNativeEventFilter_NewQAbstractNativeEventFilter()) +} + +//export callbackQAbstractNativeEventFilter_NativeEventFilter +func callbackQAbstractNativeEventFilter_NativeEventFilter(ptr unsafe.Pointer, eventType unsafe.Pointer, message unsafe.Pointer, result *C.long) C.char { + var resultR int + if result != nil { + resultR = int(int32(*result)) + defer func() { *result = C.long(int32(resultR)) }() + } + if signal := qt.GetSignal(ptr, "nativeEventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QByteArray, unsafe.Pointer, *int) bool)(signal))(NewQByteArrayFromPointer(eventType), message, &resultR)))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAbstractNativeEventFilter) ConnectNativeEventFilter(f func(eventType *QByteArray, message unsafe.Pointer, result *int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "nativeEventFilter"); signal != nil { + f := func(eventType *QByteArray, message unsafe.Pointer, result *int) bool { + (*(*func(*QByteArray, unsafe.Pointer, *int) bool)(signal))(eventType, message, result) + return f(eventType, message, result) + } + qt.ConnectSignal(ptr.Pointer(), "nativeEventFilter", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "nativeEventFilter", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNativeEventFilter) DisconnectNativeEventFilter() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "nativeEventFilter") + } +} + +func (ptr *QAbstractNativeEventFilter) NativeEventFilter(eventType QByteArray_ITF, message unsafe.Pointer, result *int) bool { + if ptr.Pointer() != nil { + var resultC C.long + if result != nil { + resultC = C.long(int32(*result)) + defer func() { *result = int(int32(resultC)) }() + } + return int8(C.QAbstractNativeEventFilter_NativeEventFilter(ptr.Pointer(), PointerFromQByteArray(eventType), message, &resultC)) != 0 + } + return false +} + +//export callbackQAbstractNativeEventFilter_DestroyQAbstractNativeEventFilter +func callbackQAbstractNativeEventFilter_DestroyQAbstractNativeEventFilter(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractNativeEventFilter"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractNativeEventFilterFromPointer(ptr).DestroyQAbstractNativeEventFilterDefault() + } +} + +func (ptr *QAbstractNativeEventFilter) ConnectDestroyQAbstractNativeEventFilter(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractNativeEventFilter"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractNativeEventFilter", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractNativeEventFilter", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNativeEventFilter) DisconnectDestroyQAbstractNativeEventFilter() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractNativeEventFilter") + } +} + +func (ptr *QAbstractNativeEventFilter) DestroyQAbstractNativeEventFilter() { + if ptr.Pointer() != nil { + C.QAbstractNativeEventFilter_DestroyQAbstractNativeEventFilter(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QAbstractNativeEventFilter) DestroyQAbstractNativeEventFilterDefault() { + if ptr.Pointer() != nil { + C.QAbstractNativeEventFilter_DestroyQAbstractNativeEventFilterDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QAbstractProxyModel struct { + QAbstractItemModel +} + +type QAbstractProxyModel_ITF interface { + QAbstractItemModel_ITF + QAbstractProxyModel_PTR() *QAbstractProxyModel +} + +func (ptr *QAbstractProxyModel) QAbstractProxyModel_PTR() *QAbstractProxyModel { + return ptr +} + +func (ptr *QAbstractProxyModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractItemModel_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractProxyModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractItemModel_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractProxyModel(ptr QAbstractProxyModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractProxyModel_PTR().Pointer() + } + return nil +} + +func NewQAbstractProxyModelFromPointer(ptr unsafe.Pointer) (n *QAbstractProxyModel) { + n = new(QAbstractProxyModel) + n.SetPointer(ptr) + return +} +func NewQAbstractProxyModel(parent QObject_ITF) *QAbstractProxyModel { + tmpValue := NewQAbstractProxyModelFromPointer(C.QAbstractProxyModel_NewQAbstractProxyModel(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQAbstractProxyModel_Data +func callbackQAbstractProxyModel_Data(ptr unsafe.Pointer, proxyIndex unsafe.Pointer, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return PointerFromQVariant((*(*func(*QModelIndex, int) *QVariant)(signal))(NewQModelIndexFromPointer(proxyIndex), int(int32(role)))) + } + + return PointerFromQVariant(NewQAbstractProxyModelFromPointer(ptr).DataDefault(NewQModelIndexFromPointer(proxyIndex), int(int32(role)))) +} + +func (ptr *QAbstractProxyModel) ConnectData(f func(proxyIndex *QModelIndex, role int) *QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "data"); signal != nil { + f := func(proxyIndex *QModelIndex, role int) *QVariant { + (*(*func(*QModelIndex, int) *QVariant)(signal))(proxyIndex, role) + return f(proxyIndex, role) + } + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "data") + } +} + +func (ptr *QAbstractProxyModel) Data(proxyIndex QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractProxyModel_Data(ptr.Pointer(), PointerFromQModelIndex(proxyIndex), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAbstractProxyModel) DataDefault(proxyIndex QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractProxyModel_DataDefault(ptr.Pointer(), PointerFromQModelIndex(proxyIndex), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQAbstractProxyModel_MapFromSource +func callbackQAbstractProxyModel_MapFromSource(ptr unsafe.Pointer, sourceIndex unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapFromSource"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(sourceIndex))) + } + + return PointerFromQModelIndex(NewQModelIndex()) +} + +func (ptr *QAbstractProxyModel) ConnectMapFromSource(f func(sourceIndex *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapFromSource"); signal != nil { + f := func(sourceIndex *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(sourceIndex) + return f(sourceIndex) + } + qt.ConnectSignal(ptr.Pointer(), "mapFromSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapFromSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectMapFromSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapFromSource") + } +} + +func (ptr *QAbstractProxyModel) MapFromSource(sourceIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractProxyModel_MapFromSource(ptr.Pointer(), PointerFromQModelIndex(sourceIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractProxyModel_MapSelectionFromSource +func callbackQAbstractProxyModel_MapSelectionFromSource(ptr unsafe.Pointer, sourceSelection unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapSelectionFromSource"); signal != nil { + return PointerFromQItemSelection((*(*func(*QItemSelection) *QItemSelection)(signal))(NewQItemSelectionFromPointer(sourceSelection))) + } + + return PointerFromQItemSelection(NewQAbstractProxyModelFromPointer(ptr).MapSelectionFromSourceDefault(NewQItemSelectionFromPointer(sourceSelection))) +} + +func (ptr *QAbstractProxyModel) ConnectMapSelectionFromSource(f func(sourceSelection *QItemSelection) *QItemSelection) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapSelectionFromSource"); signal != nil { + f := func(sourceSelection *QItemSelection) *QItemSelection { + (*(*func(*QItemSelection) *QItemSelection)(signal))(sourceSelection) + return f(sourceSelection) + } + qt.ConnectSignal(ptr.Pointer(), "mapSelectionFromSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapSelectionFromSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectMapSelectionFromSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapSelectionFromSource") + } +} + +func (ptr *QAbstractProxyModel) MapSelectionFromSource(sourceSelection QItemSelection_ITF) *QItemSelection { + if ptr.Pointer() != nil { + tmpValue := NewQItemSelectionFromPointer(C.QAbstractProxyModel_MapSelectionFromSource(ptr.Pointer(), PointerFromQItemSelection(sourceSelection))) + runtime.SetFinalizer(tmpValue, (*QItemSelection).DestroyQItemSelection) + return tmpValue + } + return nil +} + +func (ptr *QAbstractProxyModel) MapSelectionFromSourceDefault(sourceSelection QItemSelection_ITF) *QItemSelection { + if ptr.Pointer() != nil { + tmpValue := NewQItemSelectionFromPointer(C.QAbstractProxyModel_MapSelectionFromSourceDefault(ptr.Pointer(), PointerFromQItemSelection(sourceSelection))) + runtime.SetFinalizer(tmpValue, (*QItemSelection).DestroyQItemSelection) + return tmpValue + } + return nil +} + +//export callbackQAbstractProxyModel_MapSelectionToSource +func callbackQAbstractProxyModel_MapSelectionToSource(ptr unsafe.Pointer, proxySelection unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapSelectionToSource"); signal != nil { + return PointerFromQItemSelection((*(*func(*QItemSelection) *QItemSelection)(signal))(NewQItemSelectionFromPointer(proxySelection))) + } + + return PointerFromQItemSelection(NewQAbstractProxyModelFromPointer(ptr).MapSelectionToSourceDefault(NewQItemSelectionFromPointer(proxySelection))) +} + +func (ptr *QAbstractProxyModel) ConnectMapSelectionToSource(f func(proxySelection *QItemSelection) *QItemSelection) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapSelectionToSource"); signal != nil { + f := func(proxySelection *QItemSelection) *QItemSelection { + (*(*func(*QItemSelection) *QItemSelection)(signal))(proxySelection) + return f(proxySelection) + } + qt.ConnectSignal(ptr.Pointer(), "mapSelectionToSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapSelectionToSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectMapSelectionToSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapSelectionToSource") + } +} + +func (ptr *QAbstractProxyModel) MapSelectionToSource(proxySelection QItemSelection_ITF) *QItemSelection { + if ptr.Pointer() != nil { + tmpValue := NewQItemSelectionFromPointer(C.QAbstractProxyModel_MapSelectionToSource(ptr.Pointer(), PointerFromQItemSelection(proxySelection))) + runtime.SetFinalizer(tmpValue, (*QItemSelection).DestroyQItemSelection) + return tmpValue + } + return nil +} + +func (ptr *QAbstractProxyModel) MapSelectionToSourceDefault(proxySelection QItemSelection_ITF) *QItemSelection { + if ptr.Pointer() != nil { + tmpValue := NewQItemSelectionFromPointer(C.QAbstractProxyModel_MapSelectionToSourceDefault(ptr.Pointer(), PointerFromQItemSelection(proxySelection))) + runtime.SetFinalizer(tmpValue, (*QItemSelection).DestroyQItemSelection) + return tmpValue + } + return nil +} + +//export callbackQAbstractProxyModel_MapToSource +func callbackQAbstractProxyModel_MapToSource(ptr unsafe.Pointer, proxyIndex unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapToSource"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(proxyIndex))) + } + + return PointerFromQModelIndex(NewQModelIndex()) +} + +func (ptr *QAbstractProxyModel) ConnectMapToSource(f func(proxyIndex *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapToSource"); signal != nil { + f := func(proxyIndex *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(proxyIndex) + return f(proxyIndex) + } + qt.ConnectSignal(ptr.Pointer(), "mapToSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapToSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectMapToSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapToSource") + } +} + +func (ptr *QAbstractProxyModel) MapToSource(proxyIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractProxyModel_MapToSource(ptr.Pointer(), PointerFromQModelIndex(proxyIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractProxyModel_Revert +func callbackQAbstractProxyModel_Revert(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "revert"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractProxyModelFromPointer(ptr).RevertDefault() + } +} + +func (ptr *QAbstractProxyModel) ConnectRevert(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "revert"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "revert", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "revert", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectRevert() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "revert") + } +} + +func (ptr *QAbstractProxyModel) Revert() { + if ptr.Pointer() != nil { + C.QAbstractProxyModel_Revert(ptr.Pointer()) + } +} + +func (ptr *QAbstractProxyModel) RevertDefault() { + if ptr.Pointer() != nil { + C.QAbstractProxyModel_RevertDefault(ptr.Pointer()) + } +} + +//export callbackQAbstractProxyModel_SetSourceModel +func callbackQAbstractProxyModel_SetSourceModel(ptr unsafe.Pointer, sourceModel unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setSourceModel"); signal != nil { + (*(*func(*QAbstractItemModel))(signal))(NewQAbstractItemModelFromPointer(sourceModel)) + } else { + NewQAbstractProxyModelFromPointer(ptr).SetSourceModelDefault(NewQAbstractItemModelFromPointer(sourceModel)) + } +} + +func (ptr *QAbstractProxyModel) ConnectSetSourceModel(f func(sourceModel *QAbstractItemModel)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setSourceModel"); signal != nil { + f := func(sourceModel *QAbstractItemModel) { + (*(*func(*QAbstractItemModel))(signal))(sourceModel) + f(sourceModel) + } + qt.ConnectSignal(ptr.Pointer(), "setSourceModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setSourceModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectSetSourceModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setSourceModel") + } +} + +func (ptr *QAbstractProxyModel) SetSourceModel(sourceModel QAbstractItemModel_ITF) { + if ptr.Pointer() != nil { + C.QAbstractProxyModel_SetSourceModel(ptr.Pointer(), PointerFromQAbstractItemModel(sourceModel)) + } +} + +func (ptr *QAbstractProxyModel) SetSourceModelDefault(sourceModel QAbstractItemModel_ITF) { + if ptr.Pointer() != nil { + C.QAbstractProxyModel_SetSourceModelDefault(ptr.Pointer(), PointerFromQAbstractItemModel(sourceModel)) + } +} + +func (ptr *QAbstractProxyModel) SourceModel() *QAbstractItemModel { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractItemModelFromPointer(C.QAbstractProxyModel_SourceModel(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAbstractProxyModel_SourceModelChanged +func callbackQAbstractProxyModel_SourceModelChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "sourceModelChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractProxyModel) ConnectSourceModelChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "sourceModelChanged") { + C.QAbstractProxyModel_ConnectSourceModelChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "sourceModelChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "sourceModelChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "sourceModelChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "sourceModelChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectSourceModelChanged() { + if ptr.Pointer() != nil { + C.QAbstractProxyModel_DisconnectSourceModelChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "sourceModelChanged") + } +} + +//export callbackQAbstractProxyModel_Submit +func callbackQAbstractProxyModel_Submit(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "submit"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractProxyModelFromPointer(ptr).SubmitDefault()))) +} + +func (ptr *QAbstractProxyModel) ConnectSubmit(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "submit"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "submit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "submit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectSubmit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "submit") + } +} + +func (ptr *QAbstractProxyModel) Submit() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractProxyModel_Submit(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QAbstractProxyModel) SubmitDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractProxyModel_SubmitDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQAbstractProxyModel_DestroyQAbstractProxyModel +func callbackQAbstractProxyModel_DestroyQAbstractProxyModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractProxyModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractProxyModelFromPointer(ptr).DestroyQAbstractProxyModelDefault() + } +} + +func (ptr *QAbstractProxyModel) ConnectDestroyQAbstractProxyModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractProxyModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractProxyModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractProxyModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractProxyModel) DisconnectDestroyQAbstractProxyModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractProxyModel") + } +} + +func (ptr *QAbstractProxyModel) DestroyQAbstractProxyModel() { + if ptr.Pointer() != nil { + C.QAbstractProxyModel_DestroyQAbstractProxyModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractProxyModel) DestroyQAbstractProxyModelDefault() { + if ptr.Pointer() != nil { + C.QAbstractProxyModel_DestroyQAbstractProxyModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQAbstractProxyModel_ColumnCount +func callbackQAbstractProxyModel_ColumnCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQAbstractProxyModelFromPointer(ptr).ColumnCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QAbstractProxyModel) ColumnCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractProxyModel_ColumnCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QAbstractProxyModel) ColumnCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractProxyModel_ColumnCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQAbstractProxyModel_Index +func callbackQAbstractProxyModel_Index(ptr unsafe.Pointer, row C.int, column C.int, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "index"); signal != nil { + return PointerFromQModelIndex((*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) + } + + return PointerFromQModelIndex(NewQAbstractProxyModelFromPointer(ptr).IndexDefault(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) +} + +func (ptr *QAbstractProxyModel) Index(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractProxyModel_Index(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractProxyModel) IndexDefault(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractProxyModel_IndexDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractProxyModel_Parent +func callbackQAbstractProxyModel_Parent(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(index))) + } + + return PointerFromQModelIndex(NewQAbstractProxyModelFromPointer(ptr).ParentDefault(NewQModelIndexFromPointer(index))) +} + +func (ptr *QAbstractProxyModel) Parent(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractProxyModel_Parent(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractProxyModel) ParentDefault(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractProxyModel_ParentDefault(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractProxyModel_RowCount +func callbackQAbstractProxyModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQAbstractProxyModelFromPointer(ptr).RowCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QAbstractProxyModel) RowCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractProxyModel_RowCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QAbstractProxyModel) RowCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractProxyModel_RowCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +type QAbstractState struct { + QObject +} + +type QAbstractState_ITF interface { + QObject_ITF + QAbstractState_PTR() *QAbstractState +} + +func (ptr *QAbstractState) QAbstractState_PTR() *QAbstractState { + return ptr +} + +func (ptr *QAbstractState) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractState) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractState(ptr QAbstractState_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractState_PTR().Pointer() + } + return nil +} + +func NewQAbstractStateFromPointer(ptr unsafe.Pointer) (n *QAbstractState) { + n = new(QAbstractState) + n.SetPointer(ptr) + return +} +func NewQAbstractState(parent QState_ITF) *QAbstractState { + tmpValue := NewQAbstractStateFromPointer(C.QAbstractState_NewQAbstractState(PointerFromQState(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QAbstractState) Active() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractState_Active(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQAbstractState_ActiveChanged +func callbackQAbstractState_ActiveChanged(ptr unsafe.Pointer, active C.char) { + if signal := qt.GetSignal(ptr, "activeChanged"); signal != nil { + (*(*func(bool))(signal))(int8(active) != 0) + } + +} + +func (ptr *QAbstractState) ConnectActiveChanged(f func(active bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "activeChanged") { + C.QAbstractState_ConnectActiveChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "activeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "activeChanged"); signal != nil { + f := func(active bool) { + (*(*func(bool))(signal))(active) + f(active) + } + qt.ConnectSignal(ptr.Pointer(), "activeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "activeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractState) DisconnectActiveChanged() { + if ptr.Pointer() != nil { + C.QAbstractState_DisconnectActiveChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "activeChanged") + } +} + +func (ptr *QAbstractState) ActiveChanged(active bool) { + if ptr.Pointer() != nil { + C.QAbstractState_ActiveChanged(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(active)))) + } +} + +//export callbackQAbstractState_Entered +func callbackQAbstractState_Entered(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "entered"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractState) ConnectEntered(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "entered") { + C.QAbstractState_ConnectEntered(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "entered"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "entered"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "entered", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "entered", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractState) DisconnectEntered() { + if ptr.Pointer() != nil { + C.QAbstractState_DisconnectEntered(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "entered") + } +} + +//export callbackQAbstractState_Exited +func callbackQAbstractState_Exited(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "exited"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractState) ConnectExited(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "exited") { + C.QAbstractState_ConnectExited(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "exited"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "exited"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "exited", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "exited", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractState) DisconnectExited() { + if ptr.Pointer() != nil { + C.QAbstractState_DisconnectExited(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "exited") + } +} + +func (ptr *QAbstractState) Machine() *QStateMachine { + if ptr.Pointer() != nil { + tmpValue := NewQStateMachineFromPointer(C.QAbstractState_Machine(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAbstractState_OnEntry +func callbackQAbstractState_OnEntry(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onEntry"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } + +} + +func (ptr *QAbstractState) ConnectOnEntry(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onEntry"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onEntry", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onEntry", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractState) DisconnectOnEntry() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onEntry") + } +} + +func (ptr *QAbstractState) OnEntry(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractState_OnEntry(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +//export callbackQAbstractState_OnExit +func callbackQAbstractState_OnExit(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onExit"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } + +} + +func (ptr *QAbstractState) ConnectOnExit(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onExit"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onExit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onExit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractState) DisconnectOnExit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onExit") + } +} + +func (ptr *QAbstractState) OnExit(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractState_OnExit(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QAbstractState) ParentState() *QState { + if ptr.Pointer() != nil { + tmpValue := NewQStateFromPointer(C.QAbstractState_ParentState(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAbstractState_DestroyQAbstractState +func callbackQAbstractState_DestroyQAbstractState(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractState"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractStateFromPointer(ptr).DestroyQAbstractStateDefault() + } +} + +func (ptr *QAbstractState) ConnectDestroyQAbstractState(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractState"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractState", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractState", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractState) DisconnectDestroyQAbstractState() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractState") + } +} + +func (ptr *QAbstractState) DestroyQAbstractState() { + if ptr.Pointer() != nil { + C.QAbstractState_DestroyQAbstractState(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractState) DestroyQAbstractStateDefault() { + if ptr.Pointer() != nil { + C.QAbstractState_DestroyQAbstractStateDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAbstractTableModel struct { + QAbstractItemModel +} + +type QAbstractTableModel_ITF interface { + QAbstractItemModel_ITF + QAbstractTableModel_PTR() *QAbstractTableModel +} + +func (ptr *QAbstractTableModel) QAbstractTableModel_PTR() *QAbstractTableModel { + return ptr +} + +func (ptr *QAbstractTableModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractItemModel_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractTableModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractItemModel_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractTableModel(ptr QAbstractTableModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractTableModel_PTR().Pointer() + } + return nil +} + +func NewQAbstractTableModelFromPointer(ptr unsafe.Pointer) (n *QAbstractTableModel) { + n = new(QAbstractTableModel) + n.SetPointer(ptr) + return +} +func NewQAbstractTableModel(parent QObject_ITF) *QAbstractTableModel { + tmpValue := NewQAbstractTableModelFromPointer(C.QAbstractTableModel_NewQAbstractTableModel(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQAbstractTableModel_Index +func callbackQAbstractTableModel_Index(ptr unsafe.Pointer, row C.int, column C.int, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "index"); signal != nil { + return PointerFromQModelIndex((*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) + } + + return PointerFromQModelIndex(NewQAbstractTableModelFromPointer(ptr).IndexDefault(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) +} + +func (ptr *QAbstractTableModel) ConnectIndex(f func(row int, column int, parent *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "index"); signal != nil { + f := func(row int, column int, parent *QModelIndex) *QModelIndex { + (*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(row, column, parent) + return f(row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTableModel) DisconnectIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "index") + } +} + +func (ptr *QAbstractTableModel) Index(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractTableModel_Index(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractTableModel) IndexDefault(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractTableModel_IndexDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractTableModel_DestroyQAbstractTableModel +func callbackQAbstractTableModel_DestroyQAbstractTableModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractTableModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractTableModelFromPointer(ptr).DestroyQAbstractTableModelDefault() + } +} + +func (ptr *QAbstractTableModel) ConnectDestroyQAbstractTableModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractTableModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractTableModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractTableModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTableModel) DisconnectDestroyQAbstractTableModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractTableModel") + } +} + +func (ptr *QAbstractTableModel) DestroyQAbstractTableModel() { + if ptr.Pointer() != nil { + C.QAbstractTableModel_DestroyQAbstractTableModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractTableModel) DestroyQAbstractTableModelDefault() { + if ptr.Pointer() != nil { + C.QAbstractTableModel_DestroyQAbstractTableModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQAbstractTableModel_ColumnCount +func callbackQAbstractTableModel_ColumnCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQAbstractTableModelFromPointer(ptr).ColumnCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QAbstractTableModel) ColumnCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractTableModel_ColumnCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QAbstractTableModel) ColumnCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractTableModel_ColumnCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQAbstractTableModel_Data +func callbackQAbstractTableModel_Data(ptr unsafe.Pointer, index unsafe.Pointer, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return PointerFromQVariant((*(*func(*QModelIndex, int) *QVariant)(signal))(NewQModelIndexFromPointer(index), int(int32(role)))) + } + + return PointerFromQVariant(NewQAbstractTableModelFromPointer(ptr).DataDefault(NewQModelIndexFromPointer(index), int(int32(role)))) +} + +func (ptr *QAbstractTableModel) Data(index QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractTableModel_Data(ptr.Pointer(), PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAbstractTableModel) DataDefault(index QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAbstractTableModel_DataDefault(ptr.Pointer(), PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQAbstractTableModel_Parent +func callbackQAbstractTableModel_Parent(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(index))) + } + + return PointerFromQModelIndex(NewQAbstractTableModelFromPointer(ptr).ParentDefault(NewQModelIndexFromPointer(index))) +} + +func (ptr *QAbstractTableModel) Parent(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractTableModel_Parent(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QAbstractTableModel) ParentDefault(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QAbstractTableModel_ParentDefault(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQAbstractTableModel_RowCount +func callbackQAbstractTableModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQAbstractTableModelFromPointer(ptr).RowCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QAbstractTableModel) RowCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractTableModel_RowCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QAbstractTableModel) RowCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractTableModel_RowCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +type QAbstractTransition struct { + QObject +} + +type QAbstractTransition_ITF interface { + QObject_ITF + QAbstractTransition_PTR() *QAbstractTransition +} + +func (ptr *QAbstractTransition) QAbstractTransition_PTR() *QAbstractTransition { + return ptr +} + +func (ptr *QAbstractTransition) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractTransition) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractTransition(ptr QAbstractTransition_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractTransition_PTR().Pointer() + } + return nil +} + +func NewQAbstractTransitionFromPointer(ptr unsafe.Pointer) (n *QAbstractTransition) { + n = new(QAbstractTransition) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QAbstractTransition__TransitionType +//QAbstractTransition::TransitionType +type QAbstractTransition__TransitionType int64 + +const ( + QAbstractTransition__ExternalTransition QAbstractTransition__TransitionType = QAbstractTransition__TransitionType(0) + QAbstractTransition__InternalTransition QAbstractTransition__TransitionType = QAbstractTransition__TransitionType(1) +) + +func NewQAbstractTransition(sourceState QState_ITF) *QAbstractTransition { + tmpValue := NewQAbstractTransitionFromPointer(C.QAbstractTransition_NewQAbstractTransition(PointerFromQState(sourceState))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QAbstractTransition) AddAnimation(animation QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTransition_AddAnimation(ptr.Pointer(), PointerFromQAbstractAnimation(animation)) + } +} + +func (ptr *QAbstractTransition) Animations() []*QAbstractAnimation { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QAbstractAnimation { + out := make([]*QAbstractAnimation, int(l.len)) + tmpList := NewQAbstractTransitionFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__animations_atList(i) + } + return out + }(C.QAbstractTransition_Animations(ptr.Pointer())) + } + return make([]*QAbstractAnimation, 0) +} + +//export callbackQAbstractTransition_EventTest +func callbackQAbstractTransition_EventTest(ptr unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventTest"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QEvent) bool)(signal))(NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAbstractTransition) ConnectEventTest(f func(event *QEvent) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "eventTest"); signal != nil { + f := func(event *QEvent) bool { + (*(*func(*QEvent) bool)(signal))(event) + return f(event) + } + qt.ConnectSignal(ptr.Pointer(), "eventTest", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "eventTest", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTransition) DisconnectEventTest() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "eventTest") + } +} + +func (ptr *QAbstractTransition) EventTest(event QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractTransition_EventTest(ptr.Pointer(), PointerFromQEvent(event))) != 0 + } + return false +} + +func (ptr *QAbstractTransition) Machine() *QStateMachine { + if ptr.Pointer() != nil { + tmpValue := NewQStateMachineFromPointer(C.QAbstractTransition_Machine(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAbstractTransition_OnTransition +func callbackQAbstractTransition_OnTransition(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onTransition"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } + +} + +func (ptr *QAbstractTransition) ConnectOnTransition(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onTransition"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onTransition", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onTransition", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTransition) DisconnectOnTransition() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onTransition") + } +} + +func (ptr *QAbstractTransition) OnTransition(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTransition_OnTransition(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QAbstractTransition) RemoveAnimation(animation QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTransition_RemoveAnimation(ptr.Pointer(), PointerFromQAbstractAnimation(animation)) + } +} + +func (ptr *QAbstractTransition) SetTargetState(target QAbstractState_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTransition_SetTargetState(ptr.Pointer(), PointerFromQAbstractState(target)) + } +} + +func (ptr *QAbstractTransition) SetTargetStates(targets []*QAbstractState) { + if ptr.Pointer() != nil { + C.QAbstractTransition_SetTargetStates(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQAbstractTransitionFromPointer(NewQAbstractTransitionFromPointer(nil).__setTargetStates_targets_newList()) + for _, v := range targets { + tmpList.__setTargetStates_targets_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QAbstractTransition) SetTransitionType(ty QAbstractTransition__TransitionType) { + if ptr.Pointer() != nil { + C.QAbstractTransition_SetTransitionType(ptr.Pointer(), C.longlong(ty)) + } +} + +func (ptr *QAbstractTransition) SourceState() *QState { + if ptr.Pointer() != nil { + tmpValue := NewQStateFromPointer(C.QAbstractTransition_SourceState(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractTransition) TargetState() *QAbstractState { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractStateFromPointer(C.QAbstractTransition_TargetState(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAbstractTransition_TargetStateChanged +func callbackQAbstractTransition_TargetStateChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "targetStateChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractTransition) ConnectTargetStateChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "targetStateChanged") { + C.QAbstractTransition_ConnectTargetStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "targetStateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "targetStateChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "targetStateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "targetStateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTransition) DisconnectTargetStateChanged() { + if ptr.Pointer() != nil { + C.QAbstractTransition_DisconnectTargetStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "targetStateChanged") + } +} + +func (ptr *QAbstractTransition) TargetStates() []*QAbstractState { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QAbstractState { + out := make([]*QAbstractState, int(l.len)) + tmpList := NewQAbstractTransitionFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__targetStates_atList(i) + } + return out + }(C.QAbstractTransition_TargetStates(ptr.Pointer())) + } + return make([]*QAbstractState, 0) +} + +//export callbackQAbstractTransition_TargetStatesChanged +func callbackQAbstractTransition_TargetStatesChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "targetStatesChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractTransition) ConnectTargetStatesChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "targetStatesChanged") { + C.QAbstractTransition_ConnectTargetStatesChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "targetStatesChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "targetStatesChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "targetStatesChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "targetStatesChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTransition) DisconnectTargetStatesChanged() { + if ptr.Pointer() != nil { + C.QAbstractTransition_DisconnectTargetStatesChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "targetStatesChanged") + } +} + +func (ptr *QAbstractTransition) TransitionType() QAbstractTransition__TransitionType { + if ptr.Pointer() != nil { + return QAbstractTransition__TransitionType(C.QAbstractTransition_TransitionType(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractTransition_Triggered +func callbackQAbstractTransition_Triggered(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "triggered"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractTransition) ConnectTriggered(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "triggered") { + C.QAbstractTransition_ConnectTriggered(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "triggered"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "triggered"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "triggered", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "triggered", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTransition) DisconnectTriggered() { + if ptr.Pointer() != nil { + C.QAbstractTransition_DisconnectTriggered(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "triggered") + } +} + +//export callbackQAbstractTransition_DestroyQAbstractTransition +func callbackQAbstractTransition_DestroyQAbstractTransition(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractTransition"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractTransitionFromPointer(ptr).DestroyQAbstractTransitionDefault() + } +} + +func (ptr *QAbstractTransition) ConnectDestroyQAbstractTransition(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractTransition"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractTransition", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractTransition", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTransition) DisconnectDestroyQAbstractTransition() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractTransition") + } +} + +func (ptr *QAbstractTransition) DestroyQAbstractTransition() { + if ptr.Pointer() != nil { + C.QAbstractTransition_DestroyQAbstractTransition(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractTransition) DestroyQAbstractTransitionDefault() { + if ptr.Pointer() != nil { + C.QAbstractTransition_DestroyQAbstractTransitionDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractTransition) __animations_atList(i int) *QAbstractAnimation { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractAnimationFromPointer(C.QAbstractTransition___animations_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractTransition) __animations_setList(i QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTransition___animations_setList(ptr.Pointer(), PointerFromQAbstractAnimation(i)) + } +} + +func (ptr *QAbstractTransition) __animations_newList() unsafe.Pointer { + return C.QAbstractTransition___animations_newList(ptr.Pointer()) +} + +func (ptr *QAbstractTransition) __setTargetStates_targets_atList(i int) *QAbstractState { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractStateFromPointer(C.QAbstractTransition___setTargetStates_targets_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractTransition) __setTargetStates_targets_setList(i QAbstractState_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTransition___setTargetStates_targets_setList(ptr.Pointer(), PointerFromQAbstractState(i)) + } +} + +func (ptr *QAbstractTransition) __setTargetStates_targets_newList() unsafe.Pointer { + return C.QAbstractTransition___setTargetStates_targets_newList(ptr.Pointer()) +} + +func (ptr *QAbstractTransition) __targetStates_atList(i int) *QAbstractState { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractStateFromPointer(C.QAbstractTransition___targetStates_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractTransition) __targetStates_setList(i QAbstractState_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTransition___targetStates_setList(ptr.Pointer(), PointerFromQAbstractState(i)) + } +} + +func (ptr *QAbstractTransition) __targetStates_newList() unsafe.Pointer { + return C.QAbstractTransition___targetStates_newList(ptr.Pointer()) +} + +type QAnimationGroup struct { + QAbstractAnimation +} + +type QAnimationGroup_ITF interface { + QAbstractAnimation_ITF + QAnimationGroup_PTR() *QAnimationGroup +} + +func (ptr *QAnimationGroup) QAnimationGroup_PTR() *QAnimationGroup { + return ptr +} + +func (ptr *QAnimationGroup) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractAnimation_PTR().Pointer() + } + return nil +} + +func (ptr *QAnimationGroup) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractAnimation_PTR().SetPointer(p) + } +} + +func PointerFromQAnimationGroup(ptr QAnimationGroup_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAnimationGroup_PTR().Pointer() + } + return nil +} + +func NewQAnimationGroupFromPointer(ptr unsafe.Pointer) (n *QAnimationGroup) { + n = new(QAnimationGroup) + n.SetPointer(ptr) + return +} +func NewQAnimationGroup(parent QObject_ITF) *QAnimationGroup { + tmpValue := NewQAnimationGroupFromPointer(C.QAnimationGroup_NewQAnimationGroup(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QAnimationGroup) AddAnimation(animation QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QAnimationGroup_AddAnimation(ptr.Pointer(), PointerFromQAbstractAnimation(animation)) + } +} + +func (ptr *QAnimationGroup) AnimationAt(index int) *QAbstractAnimation { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractAnimationFromPointer(C.QAnimationGroup_AnimationAt(ptr.Pointer(), C.int(int32(index)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAnimationGroup) AnimationCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAnimationGroup_AnimationCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAnimationGroup) Clear() { + if ptr.Pointer() != nil { + C.QAnimationGroup_Clear(ptr.Pointer()) + } +} + +func (ptr *QAnimationGroup) IndexOfAnimation(animation QAbstractAnimation_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAnimationGroup_IndexOfAnimation(ptr.Pointer(), PointerFromQAbstractAnimation(animation)))) + } + return 0 +} + +func (ptr *QAnimationGroup) InsertAnimation(index int, animation QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QAnimationGroup_InsertAnimation(ptr.Pointer(), C.int(int32(index)), PointerFromQAbstractAnimation(animation)) + } +} + +func (ptr *QAnimationGroup) RemoveAnimation(animation QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QAnimationGroup_RemoveAnimation(ptr.Pointer(), PointerFromQAbstractAnimation(animation)) + } +} + +func (ptr *QAnimationGroup) TakeAnimation(index int) *QAbstractAnimation { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractAnimationFromPointer(C.QAnimationGroup_TakeAnimation(ptr.Pointer(), C.int(int32(index)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAnimationGroup_DestroyQAnimationGroup +func callbackQAnimationGroup_DestroyQAnimationGroup(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAnimationGroup"); signal != nil { + (*(*func())(signal))() + } else { + NewQAnimationGroupFromPointer(ptr).DestroyQAnimationGroupDefault() + } +} + +func (ptr *QAnimationGroup) ConnectDestroyQAnimationGroup(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAnimationGroup"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAnimationGroup", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAnimationGroup", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAnimationGroup) DisconnectDestroyQAnimationGroup() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAnimationGroup") + } +} + +func (ptr *QAnimationGroup) DestroyQAnimationGroup() { + if ptr.Pointer() != nil { + C.QAnimationGroup_DestroyQAnimationGroup(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAnimationGroup) DestroyQAnimationGroupDefault() { + if ptr.Pointer() != nil { + C.QAnimationGroup_DestroyQAnimationGroupDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQAnimationGroup_Duration +func callbackQAnimationGroup_Duration(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "duration"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQAnimationGroupFromPointer(ptr).DurationDefault())) +} + +func (ptr *QAnimationGroup) Duration() int { + if ptr.Pointer() != nil { + return int(int32(C.QAnimationGroup_Duration(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAnimationGroup) DurationDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QAnimationGroup_DurationDefault(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAnimationGroup_UpdateCurrentTime +func callbackQAnimationGroup_UpdateCurrentTime(ptr unsafe.Pointer, currentTime C.int) { + if signal := qt.GetSignal(ptr, "updateCurrentTime"); signal != nil { + (*(*func(int))(signal))(int(int32(currentTime))) + } else { + NewQAnimationGroupFromPointer(ptr).UpdateCurrentTimeDefault(int(int32(currentTime))) + } +} + +func (ptr *QAnimationGroup) UpdateCurrentTime(currentTime int) { + if ptr.Pointer() != nil { + C.QAnimationGroup_UpdateCurrentTime(ptr.Pointer(), C.int(int32(currentTime))) + } +} + +func (ptr *QAnimationGroup) UpdateCurrentTimeDefault(currentTime int) { + if ptr.Pointer() != nil { + C.QAnimationGroup_UpdateCurrentTimeDefault(ptr.Pointer(), C.int(int32(currentTime))) + } +} + +type QArgument struct { + QGenericArgument +} + +type QArgument_ITF interface { + QGenericArgument_ITF + QArgument_PTR() *QArgument +} + +func (ptr *QArgument) QArgument_PTR() *QArgument { + return ptr +} + +func (ptr *QArgument) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QGenericArgument_PTR().Pointer() + } + return nil +} + +func (ptr *QArgument) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QGenericArgument_PTR().SetPointer(p) + } +} + +func PointerFromQArgument(ptr QArgument_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QArgument_PTR().Pointer() + } + return nil +} + +func NewQArgumentFromPointer(ptr unsafe.Pointer) (n *QArgument) { + n = new(QArgument) + n.SetPointer(ptr) + return +} + +func (ptr *QArgument) DestroyQArgument() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QArrayData struct { + ptr unsafe.Pointer +} + +type QArrayData_ITF interface { + QArrayData_PTR() *QArrayData +} + +func (ptr *QArrayData) QArrayData_PTR() *QArrayData { + return ptr +} + +func (ptr *QArrayData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QArrayData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQArrayData(ptr QArrayData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QArrayData_PTR().Pointer() + } + return nil +} + +func NewQArrayDataFromPointer(ptr unsafe.Pointer) (n *QArrayData) { + n = new(QArrayData) + n.SetPointer(ptr) + return +} + +func (ptr *QArrayData) DestroyQArrayData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QArrayDataPointer struct { + ptr unsafe.Pointer +} + +type QArrayDataPointer_ITF interface { + QArrayDataPointer_PTR() *QArrayDataPointer +} + +func (ptr *QArrayDataPointer) QArrayDataPointer_PTR() *QArrayDataPointer { + return ptr +} + +func (ptr *QArrayDataPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QArrayDataPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQArrayDataPointer(ptr QArrayDataPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QArrayDataPointer_PTR().Pointer() + } + return nil +} + +func NewQArrayDataPointerFromPointer(ptr unsafe.Pointer) (n *QArrayDataPointer) { + n = new(QArrayDataPointer) + n.SetPointer(ptr) + return +} + +func (ptr *QArrayDataPointer) DestroyQArrayDataPointer() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAssociativeIterable struct { + ptr unsafe.Pointer +} + +type QAssociativeIterable_ITF interface { + QAssociativeIterable_PTR() *QAssociativeIterable +} + +func (ptr *QAssociativeIterable) QAssociativeIterable_PTR() *QAssociativeIterable { + return ptr +} + +func (ptr *QAssociativeIterable) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAssociativeIterable) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAssociativeIterable(ptr QAssociativeIterable_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAssociativeIterable_PTR().Pointer() + } + return nil +} + +func NewQAssociativeIterableFromPointer(ptr unsafe.Pointer) (n *QAssociativeIterable) { + n = new(QAssociativeIterable) + n.SetPointer(ptr) + return +} + +func (ptr *QAssociativeIterable) DestroyQAssociativeIterable() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAssociativeIterable) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QAssociativeIterable_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAssociativeIterable) Value(key QVariant_ITF) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QAssociativeIterable_Value(ptr.Pointer(), PointerFromQVariant(key))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +type QAtomicInt struct { + QAtomicInteger +} + +type QAtomicInt_ITF interface { + QAtomicInteger_ITF + QAtomicInt_PTR() *QAtomicInt +} + +func (ptr *QAtomicInt) QAtomicInt_PTR() *QAtomicInt { + return ptr +} + +func (ptr *QAtomicInt) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAtomicInteger_PTR().Pointer() + } + return nil +} + +func (ptr *QAtomicInt) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAtomicInteger_PTR().SetPointer(p) + } +} + +func PointerFromQAtomicInt(ptr QAtomicInt_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAtomicInt_PTR().Pointer() + } + return nil +} + +func NewQAtomicIntFromPointer(ptr unsafe.Pointer) (n *QAtomicInt) { + n = new(QAtomicInt) + n.SetPointer(ptr) + return +} + +func (ptr *QAtomicInt) DestroyQAtomicInt() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAtomicInteger struct { + QBasicAtomicInteger +} + +type QAtomicInteger_ITF interface { + QBasicAtomicInteger_ITF + QAtomicInteger_PTR() *QAtomicInteger +} + +func (ptr *QAtomicInteger) QAtomicInteger_PTR() *QAtomicInteger { + return ptr +} + +func (ptr *QAtomicInteger) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QBasicAtomicInteger_PTR().Pointer() + } + return nil +} + +func (ptr *QAtomicInteger) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QBasicAtomicInteger_PTR().SetPointer(p) + } +} + +func PointerFromQAtomicInteger(ptr QAtomicInteger_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAtomicInteger_PTR().Pointer() + } + return nil +} + +func NewQAtomicIntegerFromPointer(ptr unsafe.Pointer) (n *QAtomicInteger) { + n = new(QAtomicInteger) + n.SetPointer(ptr) + return +} + +func (ptr *QAtomicInteger) DestroyQAtomicInteger() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAtomicOps struct { + ptr unsafe.Pointer +} + +type QAtomicOps_ITF interface { + QAtomicOps_PTR() *QAtomicOps +} + +func (ptr *QAtomicOps) QAtomicOps_PTR() *QAtomicOps { + return ptr +} + +func (ptr *QAtomicOps) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAtomicOps) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAtomicOps(ptr QAtomicOps_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAtomicOps_PTR().Pointer() + } + return nil +} + +func NewQAtomicOpsFromPointer(ptr unsafe.Pointer) (n *QAtomicOps) { + n = new(QAtomicOps) + n.SetPointer(ptr) + return +} + +func (ptr *QAtomicOps) DestroyQAtomicOps() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAtomicPointer struct { + QBasicAtomicPointer +} + +type QAtomicPointer_ITF interface { + QBasicAtomicPointer_ITF + QAtomicPointer_PTR() *QAtomicPointer +} + +func (ptr *QAtomicPointer) QAtomicPointer_PTR() *QAtomicPointer { + return ptr +} + +func (ptr *QAtomicPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QBasicAtomicPointer_PTR().Pointer() + } + return nil +} + +func (ptr *QAtomicPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QBasicAtomicPointer_PTR().SetPointer(p) + } +} + +func PointerFromQAtomicPointer(ptr QAtomicPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAtomicPointer_PTR().Pointer() + } + return nil +} + +func NewQAtomicPointerFromPointer(ptr unsafe.Pointer) (n *QAtomicPointer) { + n = new(QAtomicPointer) + n.SetPointer(ptr) + return +} + +func (ptr *QAtomicPointer) DestroyQAtomicPointer() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAtomicTraits struct { + ptr unsafe.Pointer +} + +type QAtomicTraits_ITF interface { + QAtomicTraits_PTR() *QAtomicTraits +} + +func (ptr *QAtomicTraits) QAtomicTraits_PTR() *QAtomicTraits { + return ptr +} + +func (ptr *QAtomicTraits) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAtomicTraits) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAtomicTraits(ptr QAtomicTraits_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAtomicTraits_PTR().Pointer() + } + return nil +} + +func NewQAtomicTraitsFromPointer(ptr unsafe.Pointer) (n *QAtomicTraits) { + n = new(QAtomicTraits) + n.SetPointer(ptr) + return +} + +func (ptr *QAtomicTraits) DestroyQAtomicTraits() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QBEInteger struct { + ptr unsafe.Pointer +} + +type QBEInteger_ITF interface { + QBEInteger_PTR() *QBEInteger +} + +func (ptr *QBEInteger) QBEInteger_PTR() *QBEInteger { + return ptr +} + +func (ptr *QBEInteger) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QBEInteger) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQBEInteger(ptr QBEInteger_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBEInteger_PTR().Pointer() + } + return nil +} + +func NewQBEIntegerFromPointer(ptr unsafe.Pointer) (n *QBEInteger) { + n = new(QBEInteger) + n.SetPointer(ptr) + return +} + +func (ptr *QBEInteger) DestroyQBEInteger() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QBasicAtomicInteger struct { + ptr unsafe.Pointer +} + +type QBasicAtomicInteger_ITF interface { + QBasicAtomicInteger_PTR() *QBasicAtomicInteger +} + +func (ptr *QBasicAtomicInteger) QBasicAtomicInteger_PTR() *QBasicAtomicInteger { + return ptr +} + +func (ptr *QBasicAtomicInteger) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QBasicAtomicInteger) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQBasicAtomicInteger(ptr QBasicAtomicInteger_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBasicAtomicInteger_PTR().Pointer() + } + return nil +} + +func NewQBasicAtomicIntegerFromPointer(ptr unsafe.Pointer) (n *QBasicAtomicInteger) { + n = new(QBasicAtomicInteger) + n.SetPointer(ptr) + return +} + +func (ptr *QBasicAtomicInteger) DestroyQBasicAtomicInteger() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QBasicAtomicPointer struct { + ptr unsafe.Pointer +} + +type QBasicAtomicPointer_ITF interface { + QBasicAtomicPointer_PTR() *QBasicAtomicPointer +} + +func (ptr *QBasicAtomicPointer) QBasicAtomicPointer_PTR() *QBasicAtomicPointer { + return ptr +} + +func (ptr *QBasicAtomicPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QBasicAtomicPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQBasicAtomicPointer(ptr QBasicAtomicPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBasicAtomicPointer_PTR().Pointer() + } + return nil +} + +func NewQBasicAtomicPointerFromPointer(ptr unsafe.Pointer) (n *QBasicAtomicPointer) { + n = new(QBasicAtomicPointer) + n.SetPointer(ptr) + return +} + +func (ptr *QBasicAtomicPointer) DestroyQBasicAtomicPointer() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QBasicMutex struct { + ptr unsafe.Pointer +} + +type QBasicMutex_ITF interface { + QBasicMutex_PTR() *QBasicMutex +} + +func (ptr *QBasicMutex) QBasicMutex_PTR() *QBasicMutex { + return ptr +} + +func (ptr *QBasicMutex) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QBasicMutex) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQBasicMutex(ptr QBasicMutex_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBasicMutex_PTR().Pointer() + } + return nil +} + +func NewQBasicMutexFromPointer(ptr unsafe.Pointer) (n *QBasicMutex) { + n = new(QBasicMutex) + n.SetPointer(ptr) + return +} + +func (ptr *QBasicMutex) DestroyQBasicMutex() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QBasicMutex) IsRecursive2() bool { + if ptr.Pointer() != nil { + return int8(C.QBasicMutex_IsRecursive2(ptr.Pointer())) != 0 + } + return false +} + +type QBasicTimer struct { + ptr unsafe.Pointer +} + +type QBasicTimer_ITF interface { + QBasicTimer_PTR() *QBasicTimer +} + +func (ptr *QBasicTimer) QBasicTimer_PTR() *QBasicTimer { + return ptr +} + +func (ptr *QBasicTimer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QBasicTimer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQBasicTimer(ptr QBasicTimer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBasicTimer_PTR().Pointer() + } + return nil +} + +func NewQBasicTimerFromPointer(ptr unsafe.Pointer) (n *QBasicTimer) { + n = new(QBasicTimer) + n.SetPointer(ptr) + return +} +func NewQBasicTimer() *QBasicTimer { + tmpValue := NewQBasicTimerFromPointer(C.QBasicTimer_NewQBasicTimer()) + runtime.SetFinalizer(tmpValue, (*QBasicTimer).DestroyQBasicTimer) + return tmpValue +} + +func (ptr *QBasicTimer) IsActive() bool { + if ptr.Pointer() != nil { + return int8(C.QBasicTimer_IsActive(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QBasicTimer) Start(msec int, object QObject_ITF) { + if ptr.Pointer() != nil { + C.QBasicTimer_Start(ptr.Pointer(), C.int(int32(msec)), PointerFromQObject(object)) + } +} + +func (ptr *QBasicTimer) Start2(msec int, timerType Qt__TimerType, obj QObject_ITF) { + if ptr.Pointer() != nil { + C.QBasicTimer_Start2(ptr.Pointer(), C.int(int32(msec)), C.longlong(timerType), PointerFromQObject(obj)) + } +} + +func (ptr *QBasicTimer) Stop() { + if ptr.Pointer() != nil { + C.QBasicTimer_Stop(ptr.Pointer()) + } +} + +func (ptr *QBasicTimer) TimerId() int { + if ptr.Pointer() != nil { + return int(int32(C.QBasicTimer_TimerId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QBasicTimer) DestroyQBasicTimer() { + if ptr.Pointer() != nil { + C.QBasicTimer_DestroyQBasicTimer(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QBigEndianStorageType struct { + ptr unsafe.Pointer +} + +type QBigEndianStorageType_ITF interface { + QBigEndianStorageType_PTR() *QBigEndianStorageType +} + +func (ptr *QBigEndianStorageType) QBigEndianStorageType_PTR() *QBigEndianStorageType { + return ptr +} + +func (ptr *QBigEndianStorageType) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QBigEndianStorageType) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQBigEndianStorageType(ptr QBigEndianStorageType_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBigEndianStorageType_PTR().Pointer() + } + return nil +} + +func NewQBigEndianStorageTypeFromPointer(ptr unsafe.Pointer) (n *QBigEndianStorageType) { + n = new(QBigEndianStorageType) + n.SetPointer(ptr) + return +} + +func (ptr *QBigEndianStorageType) DestroyQBigEndianStorageType() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QBitArray struct { + ptr unsafe.Pointer +} + +type QBitArray_ITF interface { + QBitArray_PTR() *QBitArray +} + +func (ptr *QBitArray) QBitArray_PTR() *QBitArray { + return ptr +} + +func (ptr *QBitArray) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QBitArray) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQBitArray(ptr QBitArray_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBitArray_PTR().Pointer() + } + return nil +} + +func NewQBitArrayFromPointer(ptr unsafe.Pointer) (n *QBitArray) { + n = new(QBitArray) + n.SetPointer(ptr) + return +} + +func (ptr *QBitArray) DestroyQBitArray() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQBitArray() *QBitArray { + tmpValue := NewQBitArrayFromPointer(C.QBitArray_NewQBitArray()) + runtime.SetFinalizer(tmpValue, (*QBitArray).DestroyQBitArray) + return tmpValue +} + +func NewQBitArray2(size int, value bool) *QBitArray { + tmpValue := NewQBitArrayFromPointer(C.QBitArray_NewQBitArray2(C.int(int32(size)), C.char(int8(qt.GoBoolToInt(value))))) + runtime.SetFinalizer(tmpValue, (*QBitArray).DestroyQBitArray) + return tmpValue +} + +func NewQBitArray3(other QBitArray_ITF) *QBitArray { + tmpValue := NewQBitArrayFromPointer(C.QBitArray_NewQBitArray3(PointerFromQBitArray(other))) + runtime.SetFinalizer(tmpValue, (*QBitArray).DestroyQBitArray) + return tmpValue +} + +func NewQBitArray4(other QBitArray_ITF) *QBitArray { + tmpValue := NewQBitArrayFromPointer(C.QBitArray_NewQBitArray4(PointerFromQBitArray(other))) + runtime.SetFinalizer(tmpValue, (*QBitArray).DestroyQBitArray) + return tmpValue +} + +func (ptr *QBitArray) At(i int) bool { + if ptr.Pointer() != nil { + return int8(C.QBitArray_At(ptr.Pointer(), C.int(int32(i)))) != 0 + } + return false +} + +func (ptr *QBitArray) Bits() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QBitArray_Bits(ptr.Pointer())) + } + return "" +} + +func (ptr *QBitArray) Clear() { + if ptr.Pointer() != nil { + C.QBitArray_Clear(ptr.Pointer()) + } +} + +func (ptr *QBitArray) ClearBit(i int) { + if ptr.Pointer() != nil { + C.QBitArray_ClearBit(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QBitArray) Count() int { + if ptr.Pointer() != nil { + return int(int32(C.QBitArray_Count(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QBitArray) Count2(on bool) int { + if ptr.Pointer() != nil { + return int(int32(C.QBitArray_Count2(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(on)))))) + } + return 0 +} + +func (ptr *QBitArray) Fill(value bool, size int) bool { + if ptr.Pointer() != nil { + return int8(C.QBitArray_Fill(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(value))), C.int(int32(size)))) != 0 + } + return false +} + +func (ptr *QBitArray) Fill2(value bool, begin int, end int) { + if ptr.Pointer() != nil { + C.QBitArray_Fill2(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(value))), C.int(int32(begin)), C.int(int32(end))) + } +} + +func (ptr *QBitArray) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QBitArray_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QBitArray) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QBitArray_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QBitArray) Resize(size int) { + if ptr.Pointer() != nil { + C.QBitArray_Resize(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QBitArray) SetBit(i int) { + if ptr.Pointer() != nil { + C.QBitArray_SetBit(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QBitArray) SetBit2(i int, value bool) { + if ptr.Pointer() != nil { + C.QBitArray_SetBit2(ptr.Pointer(), C.int(int32(i)), C.char(int8(qt.GoBoolToInt(value)))) + } +} + +func (ptr *QBitArray) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QBitArray_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QBitArray) Swap(other QBitArray_ITF) { + if ptr.Pointer() != nil { + C.QBitArray_Swap(ptr.Pointer(), PointerFromQBitArray(other)) + } +} + +func (ptr *QBitArray) TestBit(i int) bool { + if ptr.Pointer() != nil { + return int8(C.QBitArray_TestBit(ptr.Pointer(), C.int(int32(i)))) != 0 + } + return false +} + +func (ptr *QBitArray) ToggleBit(i int) bool { + if ptr.Pointer() != nil { + return int8(C.QBitArray_ToggleBit(ptr.Pointer(), C.int(int32(i)))) != 0 + } + return false +} + +func (ptr *QBitArray) Truncate(pos int) { + if ptr.Pointer() != nil { + C.QBitArray_Truncate(ptr.Pointer(), C.int(int32(pos))) + } +} + +type QBuffer struct { + QIODevice +} + +type QBuffer_ITF interface { + QIODevice_ITF + QBuffer_PTR() *QBuffer +} + +func (ptr *QBuffer) QBuffer_PTR() *QBuffer { + return ptr +} + +func (ptr *QBuffer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QIODevice_PTR().Pointer() + } + return nil +} + +func (ptr *QBuffer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QIODevice_PTR().SetPointer(p) + } +} + +func PointerFromQBuffer(ptr QBuffer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBuffer_PTR().Pointer() + } + return nil +} + +func NewQBufferFromPointer(ptr unsafe.Pointer) (n *QBuffer) { + n = new(QBuffer) + n.SetPointer(ptr) + return +} +func NewQBuffer(parent QObject_ITF) *QBuffer { + tmpValue := NewQBufferFromPointer(C.QBuffer_NewQBuffer(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQBuffer2(byteArray QByteArray_ITF, parent QObject_ITF) *QBuffer { + tmpValue := NewQBufferFromPointer(C.QBuffer_NewQBuffer2(PointerFromQByteArray(byteArray), PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QBuffer) Buffer() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QBuffer_Buffer(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QBuffer) Buffer2() *QByteArray { + if ptr.Pointer() != nil { + return NewQByteArrayFromPointer(C.QBuffer_Buffer2(ptr.Pointer())) + } + return nil +} + +func (ptr *QBuffer) Data() *QByteArray { + if ptr.Pointer() != nil { + return NewQByteArrayFromPointer(C.QBuffer_Data(ptr.Pointer())) + } + return nil +} + +//export callbackQBuffer_ReadData +func callbackQBuffer_ReadData(ptr unsafe.Pointer, data C.struct_QtCore_PackedString, l C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readData"); signal != nil { + retS := cGoUnpackString(data) + ret := C.longlong((*(*func(*string, int64) int64)(signal))(&retS, int64(l))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret + } + retS := cGoUnpackString(data) + ret := C.longlong(NewQBufferFromPointer(ptr).ReadDataDefault(&retS, int64(l))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret +} + +func (ptr *QBuffer) ConnectReadData(f func(data *string, l int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "readData"); signal != nil { + f := func(data *string, l int64) int64 { + (*(*func(*string, int64) int64)(signal))(data, l) + return f(data, l) + } + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QBuffer) DisconnectReadData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "readData") + } +} + +func (ptr *QBuffer) ReadData(data *string, l int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(l))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QBuffer_ReadData(ptr.Pointer(), dataC, C.longlong(l))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +func (ptr *QBuffer) ReadDataDefault(data *string, l int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(l))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QBuffer_ReadDataDefault(ptr.Pointer(), dataC, C.longlong(l))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +func (ptr *QBuffer) SetBuffer(byteArray QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QBuffer_SetBuffer(ptr.Pointer(), PointerFromQByteArray(byteArray)) + } +} + +func (ptr *QBuffer) SetData(data QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QBuffer_SetData(ptr.Pointer(), PointerFromQByteArray(data)) + } +} + +func (ptr *QBuffer) SetData2(data []byte, size int) { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + C.QBuffer_SetData2(ptr.Pointer(), dataC, C.int(int32(size))) + } +} + +//export callbackQBuffer_WriteData +func callbackQBuffer_WriteData(ptr unsafe.Pointer, data C.struct_QtCore_PackedString, l C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "writeData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(l))) + } + + return C.longlong(NewQBufferFromPointer(ptr).WriteDataDefault(cGoUnpackBytes(data), int64(l))) +} + +func (ptr *QBuffer) ConnectWriteData(f func(data []byte, l int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "writeData"); signal != nil { + f := func(data []byte, l int64) int64 { + (*(*func([]byte, int64) int64)(signal))(data, l) + return f(data, l) + } + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QBuffer) DisconnectWriteData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "writeData") + } +} + +func (ptr *QBuffer) WriteData(data []byte, l int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QBuffer_WriteData(ptr.Pointer(), dataC, C.longlong(l))) + } + return 0 +} + +func (ptr *QBuffer) WriteDataDefault(data []byte, l int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QBuffer_WriteDataDefault(ptr.Pointer(), dataC, C.longlong(l))) + } + return 0 +} + +//export callbackQBuffer_DestroyQBuffer +func callbackQBuffer_DestroyQBuffer(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QBuffer"); signal != nil { + (*(*func())(signal))() + } else { + NewQBufferFromPointer(ptr).DestroyQBufferDefault() + } +} + +func (ptr *QBuffer) ConnectDestroyQBuffer(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QBuffer"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QBuffer", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QBuffer", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QBuffer) DisconnectDestroyQBuffer() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QBuffer") + } +} + +func (ptr *QBuffer) DestroyQBuffer() { + if ptr.Pointer() != nil { + C.QBuffer_DestroyQBuffer(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QBuffer) DestroyQBufferDefault() { + if ptr.Pointer() != nil { + C.QBuffer_DestroyQBufferDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QByteArray struct { + ptr unsafe.Pointer +} + +type QByteArray_ITF interface { + QByteArray_PTR() *QByteArray +} + +func (ptr *QByteArray) QByteArray_PTR() *QByteArray { + return ptr +} + +func (ptr *QByteArray) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QByteArray) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQByteArray(ptr QByteArray_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QByteArray_PTR().Pointer() + } + return nil +} + +func NewQByteArrayFromPointer(ptr unsafe.Pointer) (n *QByteArray) { + n = new(QByteArray) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QByteArray__Base64Option +//QByteArray::Base64Option +type QByteArray__Base64Option int64 + +const ( + QByteArray__Base64Encoding QByteArray__Base64Option = QByteArray__Base64Option(0) + QByteArray__Base64UrlEncoding QByteArray__Base64Option = QByteArray__Base64Option(1) + QByteArray__KeepTrailingEquals QByteArray__Base64Option = QByteArray__Base64Option(0) + QByteArray__OmitTrailingEquals QByteArray__Base64Option = QByteArray__Base64Option(2) +) + +func NewQByteArray() *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_NewQByteArray()) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func NewQByteArray2(data string, size int) *QByteArray { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_NewQByteArray2(dataC, C.int(int32(size)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func NewQByteArray3(size int, ch string) *QByteArray { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_NewQByteArray3(C.int(int32(size)), chC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func NewQByteArray4(other QByteArray_ITF) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_NewQByteArray4(PointerFromQByteArray(other))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) Append(ba QByteArray_ITF) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Append(ptr.Pointer(), PointerFromQByteArray(ba))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Append2(ch string) *QByteArray { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Append2(ptr.Pointer(), chC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Append3(count int, ch string) *QByteArray { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Append3(ptr.Pointer(), C.int(int32(count)), chC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Append4(str string) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Append4(ptr.Pointer(), strC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Append5(str string, l int) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Append5(ptr.Pointer(), strC, C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Append6(str string) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Append6(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) At(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QByteArray_At(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QByteArray) Back() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QByteArray_Back(ptr.Pointer())) + } + return "" +} + +func (ptr *QByteArray) Capacity() int { + if ptr.Pointer() != nil { + return int(int32(C.QByteArray_Capacity(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QByteArray) Chop(n int) { + if ptr.Pointer() != nil { + C.QByteArray_Chop(ptr.Pointer(), C.int(int32(n))) + } +} + +func (ptr *QByteArray) Chopped(l int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Chopped(ptr.Pointer(), C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Clear() { + if ptr.Pointer() != nil { + C.QByteArray_Clear(ptr.Pointer()) + } +} + +func (ptr *QByteArray) Compare(c string, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + var cC *C.char + if c != "" { + cC = C.CString(c) + defer C.free(unsafe.Pointer(cC)) + } + return int(int32(C.QByteArray_Compare(ptr.Pointer(), cC, C.longlong(cs)))) + } + return 0 +} + +func (ptr *QByteArray) Compare2(a QByteArray_ITF, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QByteArray_Compare2(ptr.Pointer(), PointerFromQByteArray(a), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QByteArray) ConstData() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QByteArray_ConstData(ptr.Pointer())) + } + return "" +} + +func (ptr *QByteArray) Contains(ba QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QByteArray_Contains(ptr.Pointer(), PointerFromQByteArray(ba))) != 0 + } + return false +} + +func (ptr *QByteArray) Contains2(ch string) bool { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + return int8(C.QByteArray_Contains2(ptr.Pointer(), chC)) != 0 + } + return false +} + +func (ptr *QByteArray) Contains3(str string) bool { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int8(C.QByteArray_Contains3(ptr.Pointer(), strC)) != 0 + } + return false +} + +func (ptr *QByteArray) Count(ba QByteArray_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QByteArray_Count(ptr.Pointer(), PointerFromQByteArray(ba)))) + } + return 0 +} + +func (ptr *QByteArray) Count2(ch string) int { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + return int(int32(C.QByteArray_Count2(ptr.Pointer(), chC))) + } + return 0 +} + +func (ptr *QByteArray) Count3(str string) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QByteArray_Count3(ptr.Pointer(), strC))) + } + return 0 +} + +func (ptr *QByteArray) Count4() int { + if ptr.Pointer() != nil { + return int(int32(C.QByteArray_Count4(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QByteArray) Data() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QByteArray_Data(ptr.Pointer())) + } + return "" +} + +func (ptr *QByteArray) Data2() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QByteArray_Data2(ptr.Pointer())) + } + return "" +} + +func (ptr *QByteArray) EndsWith(ba QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QByteArray_EndsWith(ptr.Pointer(), PointerFromQByteArray(ba))) != 0 + } + return false +} + +func (ptr *QByteArray) EndsWith2(ch string) bool { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + return int8(C.QByteArray_EndsWith2(ptr.Pointer(), chC)) != 0 + } + return false +} + +func (ptr *QByteArray) EndsWith3(str string) bool { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int8(C.QByteArray_EndsWith3(ptr.Pointer(), strC)) != 0 + } + return false +} + +func (ptr *QByteArray) Fill(ch string, size int) *QByteArray { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Fill(ptr.Pointer(), chC, C.int(int32(size)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func QByteArray_FromBase64(base64 QByteArray_ITF) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromBase64(PointerFromQByteArray(base64))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) FromBase64(base64 QByteArray_ITF) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromBase64(PointerFromQByteArray(base64))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QByteArray_FromBase642(base64 QByteArray_ITF, options QByteArray__Base64Option) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromBase642(PointerFromQByteArray(base64), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) FromBase642(base64 QByteArray_ITF, options QByteArray__Base64Option) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromBase642(PointerFromQByteArray(base64), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QByteArray_FromHex(hexEncoded QByteArray_ITF) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromHex(PointerFromQByteArray(hexEncoded))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) FromHex(hexEncoded QByteArray_ITF) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromHex(PointerFromQByteArray(hexEncoded))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QByteArray_FromPercentEncoding(input QByteArray_ITF, percent string) *QByteArray { + var percentC *C.char + if percent != "" { + percentC = C.CString(percent) + defer C.free(unsafe.Pointer(percentC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromPercentEncoding(PointerFromQByteArray(input), percentC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) FromPercentEncoding(input QByteArray_ITF, percent string) *QByteArray { + var percentC *C.char + if percent != "" { + percentC = C.CString(percent) + defer C.free(unsafe.Pointer(percentC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromPercentEncoding(PointerFromQByteArray(input), percentC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QByteArray_FromRawData(data []byte, size int) *QByteArray { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromRawData(dataC, C.int(int32(size)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) FromRawData(data []byte, size int) *QByteArray { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_FromRawData(dataC, C.int(int32(size)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) Front() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QByteArray_Front(ptr.Pointer())) + } + return "" +} + +func (ptr *QByteArray) IndexOf(ba QByteArray_ITF, from int) int { + if ptr.Pointer() != nil { + return int(int32(C.QByteArray_IndexOf(ptr.Pointer(), PointerFromQByteArray(ba), C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArray) IndexOf2(ch string, from int) int { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + return int(int32(C.QByteArray_IndexOf2(ptr.Pointer(), chC, C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArray) IndexOf3(str string, from int) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QByteArray_IndexOf3(ptr.Pointer(), strC, C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArray) IndexOf4(str string, from int) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QByteArray_IndexOf4(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArray) Insert(i int, ba QByteArray_ITF) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Insert(ptr.Pointer(), C.int(int32(i)), PointerFromQByteArray(ba))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Insert2(i int, ch string) *QByteArray { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Insert2(ptr.Pointer(), C.int(int32(i)), chC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Insert3(i int, count int, ch string) *QByteArray { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Insert3(ptr.Pointer(), C.int(int32(i)), C.int(int32(count)), chC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Insert4(i int, str string) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Insert4(ptr.Pointer(), C.int(int32(i)), strC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Insert5(i int, str string, l int) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Insert5(ptr.Pointer(), C.int(int32(i)), strC, C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Insert6(i int, str string) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Insert6(ptr.Pointer(), C.int(int32(i)), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QByteArray_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QByteArray) IsLower() bool { + if ptr.Pointer() != nil { + return int8(C.QByteArray_IsLower(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QByteArray) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QByteArray_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QByteArray) IsUpper() bool { + if ptr.Pointer() != nil { + return int8(C.QByteArray_IsUpper(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QByteArray) LastIndexOf(ba QByteArray_ITF, from int) int { + if ptr.Pointer() != nil { + return int(int32(C.QByteArray_LastIndexOf(ptr.Pointer(), PointerFromQByteArray(ba), C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArray) LastIndexOf2(ch string, from int) int { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + return int(int32(C.QByteArray_LastIndexOf2(ptr.Pointer(), chC, C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArray) LastIndexOf3(str string, from int) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QByteArray_LastIndexOf3(ptr.Pointer(), strC, C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArray) LastIndexOf4(str string, from int) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QByteArray_LastIndexOf4(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArray) Left(l int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Left(ptr.Pointer(), C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) LeftJustified(width int, fill string, truncate bool) *QByteArray { + if ptr.Pointer() != nil { + var fillC *C.char + if fill != "" { + fillC = C.CString(fill) + defer C.free(unsafe.Pointer(fillC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_LeftJustified(ptr.Pointer(), C.int(int32(width)), fillC, C.char(int8(qt.GoBoolToInt(truncate))))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Length() int { + if ptr.Pointer() != nil { + return int(int32(C.QByteArray_Length(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QByteArray) Mid(pos int, l int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Mid(ptr.Pointer(), C.int(int32(pos)), C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func QByteArray_Number(n int, base int) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number(C.int(int32(n)), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) Number(n int, base int) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number(C.int(int32(n)), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QByteArray_Number2(n uint, base int) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number2(C.uint(uint32(n)), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) Number2(n uint, base int) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number2(C.uint(uint32(n)), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QByteArray_Number3(n int64, base int) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number3(C.longlong(n), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) Number3(n int64, base int) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number3(C.longlong(n), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QByteArray_Number4(n uint64, base int) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number4(C.ulonglong(n), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) Number4(n uint64, base int) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number4(C.ulonglong(n), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QByteArray_Number5(n float64, ff string, prec int) *QByteArray { + var ffC *C.char + if ff != "" { + ffC = C.CString(ff) + defer C.free(unsafe.Pointer(ffC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number5(C.double(n), ffC, C.int(int32(prec)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) Number5(n float64, ff string, prec int) *QByteArray { + var ffC *C.char + if ff != "" { + ffC = C.CString(ff) + defer C.free(unsafe.Pointer(ffC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_QByteArray_Number5(C.double(n), ffC, C.int(int32(prec)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QByteArray) Prepend(ba QByteArray_ITF) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Prepend(ptr.Pointer(), PointerFromQByteArray(ba))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Prepend2(ch string) *QByteArray { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Prepend2(ptr.Pointer(), chC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Prepend3(count int, ch string) *QByteArray { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Prepend3(ptr.Pointer(), C.int(int32(count)), chC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Prepend4(str string) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Prepend4(ptr.Pointer(), strC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Prepend5(str string, l int) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Prepend5(ptr.Pointer(), strC, C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Push_back(other QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QByteArray_Push_back(ptr.Pointer(), PointerFromQByteArray(other)) + } +} + +func (ptr *QByteArray) Push_back2(ch string) { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + C.QByteArray_Push_back2(ptr.Pointer(), chC) + } +} + +func (ptr *QByteArray) Push_back3(str string) { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + C.QByteArray_Push_back3(ptr.Pointer(), strC) + } +} + +func (ptr *QByteArray) Push_front(other QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QByteArray_Push_front(ptr.Pointer(), PointerFromQByteArray(other)) + } +} + +func (ptr *QByteArray) Push_front2(ch string) { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + C.QByteArray_Push_front2(ptr.Pointer(), chC) + } +} + +func (ptr *QByteArray) Push_front3(str string) { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + C.QByteArray_Push_front3(ptr.Pointer(), strC) + } +} + +func (ptr *QByteArray) Remove(pos int, l int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Remove(ptr.Pointer(), C.int(int32(pos)), C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Repeated(times int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Repeated(ptr.Pointer(), C.int(int32(times)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace(pos int, l int, after QByteArray_ITF) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace(ptr.Pointer(), C.int(int32(pos)), C.int(int32(l)), PointerFromQByteArray(after))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace2(pos int, l int, after string) *QByteArray { + if ptr.Pointer() != nil { + var afterC *C.char + if after != "" { + afterC = C.CString(after) + defer C.free(unsafe.Pointer(afterC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace2(ptr.Pointer(), C.int(int32(pos)), C.int(int32(l)), afterC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace3(pos int, l int, after string, alen int) *QByteArray { + if ptr.Pointer() != nil { + var afterC *C.char + if after != "" { + afterC = C.CString(after) + defer C.free(unsafe.Pointer(afterC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace3(ptr.Pointer(), C.int(int32(pos)), C.int(int32(l)), afterC, C.int(int32(alen)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace4(before string, after string) *QByteArray { + if ptr.Pointer() != nil { + var beforeC *C.char + if before != "" { + beforeC = C.CString(before) + defer C.free(unsafe.Pointer(beforeC)) + } + var afterC *C.char + if after != "" { + afterC = C.CString(after) + defer C.free(unsafe.Pointer(afterC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace4(ptr.Pointer(), beforeC, afterC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace5(before string, after QByteArray_ITF) *QByteArray { + if ptr.Pointer() != nil { + var beforeC *C.char + if before != "" { + beforeC = C.CString(before) + defer C.free(unsafe.Pointer(beforeC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace5(ptr.Pointer(), beforeC, PointerFromQByteArray(after))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace6(before string, after string) *QByteArray { + if ptr.Pointer() != nil { + var beforeC *C.char + if before != "" { + beforeC = C.CString(before) + defer C.free(unsafe.Pointer(beforeC)) + } + var afterC *C.char + if after != "" { + afterC = C.CString(after) + defer C.free(unsafe.Pointer(afterC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace6(ptr.Pointer(), beforeC, afterC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace7(before string, bsize int, after string, asize int) *QByteArray { + if ptr.Pointer() != nil { + var beforeC *C.char + if before != "" { + beforeC = C.CString(before) + defer C.free(unsafe.Pointer(beforeC)) + } + var afterC *C.char + if after != "" { + afterC = C.CString(after) + defer C.free(unsafe.Pointer(afterC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace7(ptr.Pointer(), beforeC, C.int(int32(bsize)), afterC, C.int(int32(asize)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace8(before QByteArray_ITF, after QByteArray_ITF) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace8(ptr.Pointer(), PointerFromQByteArray(before), PointerFromQByteArray(after))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace9(before QByteArray_ITF, after string) *QByteArray { + if ptr.Pointer() != nil { + var afterC *C.char + if after != "" { + afterC = C.CString(after) + defer C.free(unsafe.Pointer(afterC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace9(ptr.Pointer(), PointerFromQByteArray(before), afterC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace10(before string, after QByteArray_ITF) *QByteArray { + if ptr.Pointer() != nil { + var beforeC *C.char + if before != "" { + beforeC = C.CString(before) + defer C.free(unsafe.Pointer(beforeC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace10(ptr.Pointer(), beforeC, PointerFromQByteArray(after))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace11(before string, after string) *QByteArray { + if ptr.Pointer() != nil { + var beforeC *C.char + if before != "" { + beforeC = C.CString(before) + defer C.free(unsafe.Pointer(beforeC)) + } + var afterC *C.char + if after != "" { + afterC = C.CString(after) + defer C.free(unsafe.Pointer(afterC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace11(ptr.Pointer(), beforeC, afterC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace12(before string, after string) *QByteArray { + if ptr.Pointer() != nil { + var beforeC *C.char + if before != "" { + beforeC = C.CString(before) + defer C.free(unsafe.Pointer(beforeC)) + } + var afterC *C.char + if after != "" { + afterC = C.CString(after) + defer C.free(unsafe.Pointer(afterC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace12(ptr.Pointer(), C.struct_QtCore_PackedString{data: beforeC, len: C.longlong(len(before))}, afterC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace13(before string, after string) *QByteArray { + if ptr.Pointer() != nil { + var beforeC *C.char + if before != "" { + beforeC = C.CString(before) + defer C.free(unsafe.Pointer(beforeC)) + } + var afterC *C.char + if after != "" { + afterC = C.CString(after) + defer C.free(unsafe.Pointer(afterC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace13(ptr.Pointer(), beforeC, C.struct_QtCore_PackedString{data: afterC, len: C.longlong(len(after))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Replace14(before string, after QByteArray_ITF) *QByteArray { + if ptr.Pointer() != nil { + var beforeC *C.char + if before != "" { + beforeC = C.CString(before) + defer C.free(unsafe.Pointer(beforeC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Replace14(ptr.Pointer(), C.struct_QtCore_PackedString{data: beforeC, len: C.longlong(len(before))}, PointerFromQByteArray(after))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Reserve(size int) { + if ptr.Pointer() != nil { + C.QByteArray_Reserve(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QByteArray) Resize(size int) { + if ptr.Pointer() != nil { + C.QByteArray_Resize(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QByteArray) Right(l int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Right(ptr.Pointer(), C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) RightJustified(width int, fill string, truncate bool) *QByteArray { + if ptr.Pointer() != nil { + var fillC *C.char + if fill != "" { + fillC = C.CString(fill) + defer C.free(unsafe.Pointer(fillC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_RightJustified(ptr.Pointer(), C.int(int32(width)), fillC, C.char(int8(qt.GoBoolToInt(truncate))))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) SetNum(n int, base int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_SetNum(ptr.Pointer(), C.int(int32(n)), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) SetNum2(n int16, base int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_SetNum2(ptr.Pointer(), C.short(n), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) SetNum3(n uint16, base int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_SetNum3(ptr.Pointer(), C.ushort(n), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) SetNum4(n uint, base int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_SetNum4(ptr.Pointer(), C.uint(uint32(n)), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) SetNum5(n int64, base int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_SetNum5(ptr.Pointer(), C.longlong(n), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) SetNum6(n uint64, base int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_SetNum6(ptr.Pointer(), C.ulonglong(n), C.int(int32(base)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) SetNum7(n float32, ff string, prec int) *QByteArray { + if ptr.Pointer() != nil { + var ffC *C.char + if ff != "" { + ffC = C.CString(ff) + defer C.free(unsafe.Pointer(ffC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_SetNum7(ptr.Pointer(), C.float(n), ffC, C.int(int32(prec)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) SetNum8(n float64, ff string, prec int) *QByteArray { + if ptr.Pointer() != nil { + var ffC *C.char + if ff != "" { + ffC = C.CString(ff) + defer C.free(unsafe.Pointer(ffC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_SetNum8(ptr.Pointer(), C.double(n), ffC, C.int(int32(prec)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) SetRawData(data []byte, size uint) *QByteArray { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_SetRawData(ptr.Pointer(), dataC, C.uint(uint32(size)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Shrink_to_fit() { + if ptr.Pointer() != nil { + C.QByteArray_Shrink_to_fit(ptr.Pointer()) + } +} + +func (ptr *QByteArray) Simplified() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Simplified(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QByteArray_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QByteArray) Split(sep string) []*QByteArray { + if ptr.Pointer() != nil { + var sepC *C.char + if sep != "" { + sepC = C.CString(sep) + defer C.free(unsafe.Pointer(sepC)) + } + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQByteArrayFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__split_atList(i) + } + return out + }(C.QByteArray_Split(ptr.Pointer(), sepC)) + } + return make([]*QByteArray, 0) +} + +func (ptr *QByteArray) Squeeze() { + if ptr.Pointer() != nil { + C.QByteArray_Squeeze(ptr.Pointer()) + } +} + +func (ptr *QByteArray) StartsWith(ba QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QByteArray_StartsWith(ptr.Pointer(), PointerFromQByteArray(ba))) != 0 + } + return false +} + +func (ptr *QByteArray) StartsWith2(ch string) bool { + if ptr.Pointer() != nil { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + return int8(C.QByteArray_StartsWith2(ptr.Pointer(), chC)) != 0 + } + return false +} + +func (ptr *QByteArray) StartsWith3(str string) bool { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int8(C.QByteArray_StartsWith3(ptr.Pointer(), strC)) != 0 + } + return false +} + +func (ptr *QByteArray) Swap(other QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QByteArray_Swap(ptr.Pointer(), PointerFromQByteArray(other)) + } +} + +func (ptr *QByteArray) ToBase64() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_ToBase64(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) ToBase642(options QByteArray__Base64Option) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_ToBase642(ptr.Pointer(), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) ToDouble(ok *bool) float64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float64(C.QByteArray_ToDouble(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QByteArray) ToFloat(ok *bool) float32 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float32(C.QByteArray_ToFloat(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QByteArray) ToHex() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_ToHex(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) ToHex2(separator string) *QByteArray { + if ptr.Pointer() != nil { + var separatorC *C.char + if separator != "" { + separatorC = C.CString(separator) + defer C.free(unsafe.Pointer(separatorC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_ToHex2(ptr.Pointer(), separatorC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) ToInt(ok *bool, base int) int { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QByteArray_ToInt(ptr.Pointer(), &okC, C.int(int32(base))))) + } + return 0 +} + +func (ptr *QByteArray) ToLong(ok *bool, base int) int { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QByteArray_ToLong(ptr.Pointer(), &okC, C.int(int32(base))))) + } + return 0 +} + +func (ptr *QByteArray) ToLongLong(ok *bool, base int) int64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int64(C.QByteArray_ToLongLong(ptr.Pointer(), &okC, C.int(int32(base)))) + } + return 0 +} + +func (ptr *QByteArray) ToLower() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_ToLower(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) ToPercentEncoding(exclude QByteArray_ITF, include QByteArray_ITF, percent string) *QByteArray { + if ptr.Pointer() != nil { + var percentC *C.char + if percent != "" { + percentC = C.CString(percent) + defer C.free(unsafe.Pointer(percentC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArray_ToPercentEncoding(ptr.Pointer(), PointerFromQByteArray(exclude), PointerFromQByteArray(include), percentC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) ToShort(ok *bool, base int) int16 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int16(C.QByteArray_ToShort(ptr.Pointer(), &okC, C.int(int32(base)))) + } + return 0 +} + +func (ptr *QByteArray) ToUInt(ok *bool, base int) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QByteArray_ToUInt(ptr.Pointer(), &okC, C.int(int32(base))))) + } + return 0 +} + +func (ptr *QByteArray) ToULong(ok *bool, base int) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QByteArray_ToULong(ptr.Pointer(), &okC, C.int(int32(base))))) + } + return 0 +} + +func (ptr *QByteArray) ToULongLong(ok *bool, base int) uint64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint64(C.QByteArray_ToULongLong(ptr.Pointer(), &okC, C.int(int32(base)))) + } + return 0 +} + +func (ptr *QByteArray) ToUShort(ok *bool, base int) uint16 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint16(C.QByteArray_ToUShort(ptr.Pointer(), &okC, C.int(int32(base)))) + } + return 0 +} + +func (ptr *QByteArray) ToUpper() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_ToUpper(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Trimmed() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray_Trimmed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) Truncate(pos int) { + if ptr.Pointer() != nil { + C.QByteArray_Truncate(ptr.Pointer(), C.int(int32(pos))) + } +} + +func (ptr *QByteArray) DestroyQByteArray() { + if ptr.Pointer() != nil { + C.QByteArray_DestroyQByteArray(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QByteArray) __split_atList(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArray___split_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArray) __split_setList(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QByteArray___split_setList(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QByteArray) __split_newList() unsafe.Pointer { + return C.QByteArray___split_newList(ptr.Pointer()) +} + +type QByteArrayList struct { + ptr unsafe.Pointer +} + +type QByteArrayList_ITF interface { + QByteArrayList_PTR() *QByteArrayList +} + +func (ptr *QByteArrayList) QByteArrayList_PTR() *QByteArrayList { + return ptr +} + +func (ptr *QByteArrayList) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QByteArrayList) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQByteArrayList(ptr QByteArrayList_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QByteArrayList_PTR().Pointer() + } + return nil +} + +func NewQByteArrayListFromPointer(ptr unsafe.Pointer) (n *QByteArrayList) { + n = new(QByteArrayList) + n.SetPointer(ptr) + return +} + +func (ptr *QByteArrayList) DestroyQByteArrayList() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QByteArrayList) IndexOf(needle string, from int) int { + if ptr.Pointer() != nil { + var needleC *C.char + if needle != "" { + needleC = C.CString(needle) + defer C.free(unsafe.Pointer(needleC)) + } + return int(int32(C.QByteArrayList_IndexOf(ptr.Pointer(), needleC, C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArrayList) Join() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArrayList_Join(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArrayList) Join2(separator QByteArray_ITF) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArrayList_Join2(ptr.Pointer(), PointerFromQByteArray(separator))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArrayList) Join3(separator string) *QByteArray { + if ptr.Pointer() != nil { + var separatorC *C.char + if separator != "" { + separatorC = C.CString(separator) + defer C.free(unsafe.Pointer(separatorC)) + } + tmpValue := NewQByteArrayFromPointer(C.QByteArrayList_Join3(ptr.Pointer(), separatorC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +type QByteArrayMatcher struct { + ptr unsafe.Pointer +} + +type QByteArrayMatcher_ITF interface { + QByteArrayMatcher_PTR() *QByteArrayMatcher +} + +func (ptr *QByteArrayMatcher) QByteArrayMatcher_PTR() *QByteArrayMatcher { + return ptr +} + +func (ptr *QByteArrayMatcher) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QByteArrayMatcher) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQByteArrayMatcher(ptr QByteArrayMatcher_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QByteArrayMatcher_PTR().Pointer() + } + return nil +} + +func NewQByteArrayMatcherFromPointer(ptr unsafe.Pointer) (n *QByteArrayMatcher) { + n = new(QByteArrayMatcher) + n.SetPointer(ptr) + return +} +func NewQByteArrayMatcher() *QByteArrayMatcher { + tmpValue := NewQByteArrayMatcherFromPointer(C.QByteArrayMatcher_NewQByteArrayMatcher()) + runtime.SetFinalizer(tmpValue, (*QByteArrayMatcher).DestroyQByteArrayMatcher) + return tmpValue +} + +func NewQByteArrayMatcher2(pattern QByteArray_ITF) *QByteArrayMatcher { + tmpValue := NewQByteArrayMatcherFromPointer(C.QByteArrayMatcher_NewQByteArrayMatcher2(PointerFromQByteArray(pattern))) + runtime.SetFinalizer(tmpValue, (*QByteArrayMatcher).DestroyQByteArrayMatcher) + return tmpValue +} + +func NewQByteArrayMatcher3(pattern string, length int) *QByteArrayMatcher { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + tmpValue := NewQByteArrayMatcherFromPointer(C.QByteArrayMatcher_NewQByteArrayMatcher3(patternC, C.int(int32(length)))) + runtime.SetFinalizer(tmpValue, (*QByteArrayMatcher).DestroyQByteArrayMatcher) + return tmpValue +} + +func NewQByteArrayMatcher4(other QByteArrayMatcher_ITF) *QByteArrayMatcher { + tmpValue := NewQByteArrayMatcherFromPointer(C.QByteArrayMatcher_NewQByteArrayMatcher4(PointerFromQByteArrayMatcher(other))) + runtime.SetFinalizer(tmpValue, (*QByteArrayMatcher).DestroyQByteArrayMatcher) + return tmpValue +} + +func (ptr *QByteArrayMatcher) IndexIn(ba QByteArray_ITF, from int) int { + if ptr.Pointer() != nil { + return int(int32(C.QByteArrayMatcher_IndexIn(ptr.Pointer(), PointerFromQByteArray(ba), C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArrayMatcher) IndexIn2(str string, l int, from int) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QByteArrayMatcher_IndexIn2(ptr.Pointer(), strC, C.int(int32(l)), C.int(int32(from))))) + } + return 0 +} + +func (ptr *QByteArrayMatcher) Pattern() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QByteArrayMatcher_Pattern(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QByteArrayMatcher) SetPattern(pattern QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QByteArrayMatcher_SetPattern(ptr.Pointer(), PointerFromQByteArray(pattern)) + } +} + +func (ptr *QByteArrayMatcher) DestroyQByteArrayMatcher() { + if ptr.Pointer() != nil { + C.QByteArrayMatcher_DestroyQByteArrayMatcher(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QByteRef struct { + ptr unsafe.Pointer +} + +type QByteRef_ITF interface { + QByteRef_PTR() *QByteRef +} + +func (ptr *QByteRef) QByteRef_PTR() *QByteRef { + return ptr +} + +func (ptr *QByteRef) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QByteRef) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQByteRef(ptr QByteRef_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QByteRef_PTR().Pointer() + } + return nil +} + +func NewQByteRefFromPointer(ptr unsafe.Pointer) (n *QByteRef) { + n = new(QByteRef) + n.SetPointer(ptr) + return +} + +func (ptr *QByteRef) DestroyQByteRef() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QCache struct { + ptr unsafe.Pointer +} + +type QCache_ITF interface { + QCache_PTR() *QCache +} + +func (ptr *QCache) QCache_PTR() *QCache { + return ptr +} + +func (ptr *QCache) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCache) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCache(ptr QCache_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCache_PTR().Pointer() + } + return nil +} + +func NewQCacheFromPointer(ptr unsafe.Pointer) (n *QCache) { + n = new(QCache) + n.SetPointer(ptr) + return +} + +type QCborArray struct { + ptr unsafe.Pointer +} + +type QCborArray_ITF interface { + QCborArray_PTR() *QCborArray +} + +func (ptr *QCborArray) QCborArray_PTR() *QCborArray { + return ptr +} + +func (ptr *QCborArray) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCborArray) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCborArray(ptr QCborArray_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCborArray_PTR().Pointer() + } + return nil +} + +func NewQCborArrayFromPointer(ptr unsafe.Pointer) (n *QCborArray) { + n = new(QCborArray) + n.SetPointer(ptr) + return +} +func NewQCborArray() *QCborArray { + tmpValue := NewQCborArrayFromPointer(C.QCborArray_NewQCborArray()) + runtime.SetFinalizer(tmpValue, (*QCborArray).DestroyQCborArray) + return tmpValue +} + +func NewQCborArray2(other QCborArray_ITF) *QCborArray { + tmpValue := NewQCborArrayFromPointer(C.QCborArray_NewQCborArray2(PointerFromQCborArray(other))) + runtime.SetFinalizer(tmpValue, (*QCborArray).DestroyQCborArray) + return tmpValue +} + +func (ptr *QCborArray) Append(value QCborValue_ITF) { + if ptr.Pointer() != nil { + C.QCborArray_Append(ptr.Pointer(), PointerFromQCborValue(value)) + } +} + +func (ptr *QCborArray) Append2(value QCborValue_ITF) { + if ptr.Pointer() != nil { + C.QCborArray_Append2(ptr.Pointer(), PointerFromQCborValue(value)) + } +} + +func (ptr *QCborArray) Clear() { + if ptr.Pointer() != nil { + C.QCborArray_Clear(ptr.Pointer()) + } +} + +func (ptr *QCborArray) Compare(other QCborArray_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QCborArray_Compare(ptr.Pointer(), PointerFromQCborArray(other)))) + } + return 0 +} + +func (ptr *QCborArray) Contains(value QCborValue_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QCborArray_Contains(ptr.Pointer(), PointerFromQCborValue(value))) != 0 + } + return false +} + +func (ptr *QCborArray) Empty() bool { + if ptr.Pointer() != nil { + return int8(C.QCborArray_Empty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QCborArray) First() *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborArray_First(ptr.Pointer())) + } + return nil +} + +func QCborArray_FromJsonArray(array QJsonArray_ITF) *QCborArray { + tmpValue := NewQCborArrayFromPointer(C.QCborArray_QCborArray_FromJsonArray(PointerFromQJsonArray(array))) + runtime.SetFinalizer(tmpValue, (*QCborArray).DestroyQCborArray) + return tmpValue +} + +func (ptr *QCborArray) FromJsonArray(array QJsonArray_ITF) *QCborArray { + tmpValue := NewQCborArrayFromPointer(C.QCborArray_QCborArray_FromJsonArray(PointerFromQJsonArray(array))) + runtime.SetFinalizer(tmpValue, (*QCborArray).DestroyQCborArray) + return tmpValue +} + +func QCborArray_FromStringList(list []string) *QCborArray { + listC := C.CString(strings.Join(list, "¡¦!")) + defer C.free(unsafe.Pointer(listC)) + tmpValue := NewQCborArrayFromPointer(C.QCborArray_QCborArray_FromStringList(C.struct_QtCore_PackedString{data: listC, len: C.longlong(len(strings.Join(list, "¡¦!")))})) + runtime.SetFinalizer(tmpValue, (*QCborArray).DestroyQCborArray) + return tmpValue +} + +func (ptr *QCborArray) FromStringList(list []string) *QCborArray { + listC := C.CString(strings.Join(list, "¡¦!")) + defer C.free(unsafe.Pointer(listC)) + tmpValue := NewQCborArrayFromPointer(C.QCborArray_QCborArray_FromStringList(C.struct_QtCore_PackedString{data: listC, len: C.longlong(len(strings.Join(list, "¡¦!")))})) + runtime.SetFinalizer(tmpValue, (*QCborArray).DestroyQCborArray) + return tmpValue +} + +func QCborArray_FromVariantList(list []*QVariant) *QCborArray { + tmpValue := NewQCborArrayFromPointer(C.QCborArray_QCborArray_FromVariantList(func() unsafe.Pointer { + tmpList := NewQCborArrayFromPointer(NewQCborArrayFromPointer(nil).__fromVariantList_list_newList()) + for _, v := range list { + tmpList.__fromVariantList_list_setList(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QCborArray).DestroyQCborArray) + return tmpValue +} + +func (ptr *QCborArray) FromVariantList(list []*QVariant) *QCborArray { + tmpValue := NewQCborArrayFromPointer(C.QCborArray_QCborArray_FromVariantList(func() unsafe.Pointer { + tmpList := NewQCborArrayFromPointer(NewQCborArrayFromPointer(nil).__fromVariantList_list_newList()) + for _, v := range list { + tmpList.__fromVariantList_list_setList(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QCborArray).DestroyQCborArray) + return tmpValue +} + +func (ptr *QCborArray) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QCborArray_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QCborArray) Last() *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborArray_Last(ptr.Pointer())) + } + return nil +} + +func (ptr *QCborArray) Pop_back() { + if ptr.Pointer() != nil { + C.QCborArray_Pop_back(ptr.Pointer()) + } +} + +func (ptr *QCborArray) Pop_front() { + if ptr.Pointer() != nil { + C.QCborArray_Pop_front(ptr.Pointer()) + } +} + +func (ptr *QCborArray) Prepend(value QCborValue_ITF) { + if ptr.Pointer() != nil { + C.QCborArray_Prepend(ptr.Pointer(), PointerFromQCborValue(value)) + } +} + +func (ptr *QCborArray) Prepend2(value QCborValue_ITF) { + if ptr.Pointer() != nil { + C.QCborArray_Prepend2(ptr.Pointer(), PointerFromQCborValue(value)) + } +} + +func (ptr *QCborArray) Push_back(t QCborValue_ITF) { + if ptr.Pointer() != nil { + C.QCborArray_Push_back(ptr.Pointer(), PointerFromQCborValue(t)) + } +} + +func (ptr *QCborArray) Push_front(t QCborValue_ITF) { + if ptr.Pointer() != nil { + C.QCborArray_Push_front(ptr.Pointer(), PointerFromQCborValue(t)) + } +} + +func (ptr *QCborArray) RemoveFirst() { + if ptr.Pointer() != nil { + C.QCborArray_RemoveFirst(ptr.Pointer()) + } +} + +func (ptr *QCborArray) RemoveLast() { + if ptr.Pointer() != nil { + C.QCborArray_RemoveLast(ptr.Pointer()) + } +} + +func (ptr *QCborArray) Swap(other QCborArray_ITF) { + if ptr.Pointer() != nil { + C.QCborArray_Swap(ptr.Pointer(), PointerFromQCborArray(other)) + } +} + +func (ptr *QCborArray) TakeFirst() *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborArray_TakeFirst(ptr.Pointer())) + } + return nil +} + +func (ptr *QCborArray) TakeLast() *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborArray_TakeLast(ptr.Pointer())) + } + return nil +} + +func (ptr *QCborArray) ToCborValue() *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborArray_ToCborValue(ptr.Pointer())) + } + return nil +} + +func (ptr *QCborArray) ToJsonArray() *QJsonArray { + if ptr.Pointer() != nil { + tmpValue := NewQJsonArrayFromPointer(C.QCborArray_ToJsonArray(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue + } + return nil +} + +func (ptr *QCborArray) ToVariantList() []*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QVariant { + out := make([]*QVariant, int(l.len)) + tmpList := NewQCborArrayFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toVariantList_atList(i) + } + return out + }(C.QCborArray_ToVariantList(ptr.Pointer())) + } + return make([]*QVariant, 0) +} + +func (ptr *QCborArray) DestroyQCborArray() { + if ptr.Pointer() != nil { + C.QCborArray_DestroyQCborArray(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QCborArray) __fromVariantList_list_atList(i int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QCborArray___fromVariantList_list_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QCborArray) __fromVariantList_list_setList(i QVariant_ITF) { + if ptr.Pointer() != nil { + C.QCborArray___fromVariantList_list_setList(ptr.Pointer(), PointerFromQVariant(i)) + } +} + +func (ptr *QCborArray) __fromVariantList_list_newList() unsafe.Pointer { + return C.QCborArray___fromVariantList_list_newList(ptr.Pointer()) +} + +func (ptr *QCborArray) __toVariantList_atList(i int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QCborArray___toVariantList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QCborArray) __toVariantList_setList(i QVariant_ITF) { + if ptr.Pointer() != nil { + C.QCborArray___toVariantList_setList(ptr.Pointer(), PointerFromQVariant(i)) + } +} + +func (ptr *QCborArray) __toVariantList_newList() unsafe.Pointer { + return C.QCborArray___toVariantList_newList(ptr.Pointer()) +} + +type QCborError struct { + ptr unsafe.Pointer +} + +type QCborError_ITF interface { + QCborError_PTR() *QCborError +} + +func (ptr *QCborError) QCborError_PTR() *QCborError { + return ptr +} + +func (ptr *QCborError) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCborError) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCborError(ptr QCborError_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCborError_PTR().Pointer() + } + return nil +} + +func NewQCborErrorFromPointer(ptr unsafe.Pointer) (n *QCborError) { + n = new(QCborError) + n.SetPointer(ptr) + return +} + +func (ptr *QCborError) DestroyQCborError() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QCborError__Code +//QCborError::Code +type QCborError__Code int64 + +const ( + QCborError__UnknownError QCborError__Code = QCborError__Code(1) + QCborError__AdvancePastEnd QCborError__Code = QCborError__Code(3) + QCborError__InputOutputError QCborError__Code = QCborError__Code(4) + QCborError__GarbageAtEnd QCborError__Code = QCborError__Code(256) + QCborError__EndOfFile QCborError__Code = QCborError__Code(257) + QCborError__UnexpectedBreak QCborError__Code = QCborError__Code(258) + QCborError__UnknownType QCborError__Code = QCborError__Code(259) + QCborError__IllegalType QCborError__Code = QCborError__Code(260) + QCborError__IllegalNumber QCborError__Code = QCborError__Code(261) + QCborError__IllegalSimpleType QCborError__Code = QCborError__Code(262) + QCborError__InvalidUtf8String QCborError__Code = QCborError__Code(516) + QCborError__DataTooLarge QCborError__Code = QCborError__Code(1024) + QCborError__NestingTooDeep QCborError__Code = QCborError__Code(1025) + QCborError__UnsupportedType QCborError__Code = QCborError__Code(1026) + QCborError__NoError QCborError__Code = QCborError__Code(0) +) + +func (ptr *QCborError) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCborError_ToString(ptr.Pointer())) + } + return "" +} + +type QCborMap struct { + ptr unsafe.Pointer +} + +type QCborMap_ITF interface { + QCborMap_PTR() *QCborMap +} + +func (ptr *QCborMap) QCborMap_PTR() *QCborMap { + return ptr +} + +func (ptr *QCborMap) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCborMap) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCborMap(ptr QCborMap_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCborMap_PTR().Pointer() + } + return nil +} + +func NewQCborMapFromPointer(ptr unsafe.Pointer) (n *QCborMap) { + n = new(QCborMap) + n.SetPointer(ptr) + return +} +func NewQCborMap() *QCborMap { + tmpValue := NewQCborMapFromPointer(C.QCborMap_NewQCborMap()) + runtime.SetFinalizer(tmpValue, (*QCborMap).DestroyQCborMap) + return tmpValue +} + +func NewQCborMap2(other QCborMap_ITF) *QCborMap { + tmpValue := NewQCborMapFromPointer(C.QCborMap_NewQCborMap2(PointerFromQCborMap(other))) + runtime.SetFinalizer(tmpValue, (*QCborMap).DestroyQCborMap) + return tmpValue +} + +func (ptr *QCborMap) Clear() { + if ptr.Pointer() != nil { + C.QCborMap_Clear(ptr.Pointer()) + } +} + +func (ptr *QCborMap) Compare(other QCborMap_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QCborMap_Compare(ptr.Pointer(), PointerFromQCborMap(other)))) + } + return 0 +} + +func (ptr *QCborMap) Contains(key int64) bool { + if ptr.Pointer() != nil { + return int8(C.QCborMap_Contains(ptr.Pointer(), C.longlong(key))) != 0 + } + return false +} + +func (ptr *QCborMap) Contains2(key QLatin1String_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QCborMap_Contains2(ptr.Pointer(), PointerFromQLatin1String(key))) != 0 + } + return false +} + +func (ptr *QCborMap) Contains3(key string) bool { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return int8(C.QCborMap_Contains3(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))})) != 0 + } + return false +} + +func (ptr *QCborMap) Contains4(key QCborValue_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QCborMap_Contains4(ptr.Pointer(), PointerFromQCborValue(key))) != 0 + } + return false +} + +func (ptr *QCborMap) Empty() bool { + if ptr.Pointer() != nil { + return int8(C.QCborMap_Empty(ptr.Pointer())) != 0 + } + return false +} + +func QCborMap_FromJsonObject(obj QJsonObject_ITF) *QCborMap { + tmpValue := NewQCborMapFromPointer(C.QCborMap_QCborMap_FromJsonObject(PointerFromQJsonObject(obj))) + runtime.SetFinalizer(tmpValue, (*QCborMap).DestroyQCborMap) + return tmpValue +} + +func (ptr *QCborMap) FromJsonObject(obj QJsonObject_ITF) *QCborMap { + tmpValue := NewQCborMapFromPointer(C.QCborMap_QCborMap_FromJsonObject(PointerFromQJsonObject(obj))) + runtime.SetFinalizer(tmpValue, (*QCborMap).DestroyQCborMap) + return tmpValue +} + +func QCborMap_FromVariantHash(hash map[string]*QVariant) *QCborMap { + tmpValue := NewQCborMapFromPointer(C.QCborMap_QCborMap_FromVariantHash(func() unsafe.Pointer { + tmpList := NewQCborMapFromPointer(NewQCborMapFromPointer(nil).__fromVariantHash_hash_newList()) + for k, v := range hash { + tmpList.__fromVariantHash_hash_setList(k, v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QCborMap).DestroyQCborMap) + return tmpValue +} + +func (ptr *QCborMap) FromVariantHash(hash map[string]*QVariant) *QCborMap { + tmpValue := NewQCborMapFromPointer(C.QCborMap_QCborMap_FromVariantHash(func() unsafe.Pointer { + tmpList := NewQCborMapFromPointer(NewQCborMapFromPointer(nil).__fromVariantHash_hash_newList()) + for k, v := range hash { + tmpList.__fromVariantHash_hash_setList(k, v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QCborMap).DestroyQCborMap) + return tmpValue +} + +func (ptr *QCborMap) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QCborMap_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QCborMap) Keys() []*QCborValue { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QCborValue { + out := make([]*QCborValue, int(l.len)) + tmpList := NewQCborMapFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__keys_atList(i) + } + return out + }(C.QCborMap_Keys(ptr.Pointer())) + } + return make([]*QCborValue, 0) +} + +func (ptr *QCborMap) Remove(key int64) { + if ptr.Pointer() != nil { + C.QCborMap_Remove(ptr.Pointer(), C.longlong(key)) + } +} + +func (ptr *QCborMap) Remove2(key QLatin1String_ITF) { + if ptr.Pointer() != nil { + C.QCborMap_Remove2(ptr.Pointer(), PointerFromQLatin1String(key)) + } +} + +func (ptr *QCborMap) Remove3(key string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QCborMap_Remove3(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}) + } +} + +func (ptr *QCborMap) Remove4(key QCborValue_ITF) { + if ptr.Pointer() != nil { + C.QCborMap_Remove4(ptr.Pointer(), PointerFromQCborValue(key)) + } +} + +func (ptr *QCborMap) Swap(other QCborMap_ITF) { + if ptr.Pointer() != nil { + C.QCborMap_Swap(ptr.Pointer(), PointerFromQCborMap(other)) + } +} + +func (ptr *QCborMap) Take(key int64) *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborMap_Take(ptr.Pointer(), C.longlong(key))) + } + return nil +} + +func (ptr *QCborMap) Take2(key QLatin1String_ITF) *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborMap_Take2(ptr.Pointer(), PointerFromQLatin1String(key))) + } + return nil +} + +func (ptr *QCborMap) Take3(key string) *QCborValue { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return NewQCborValueFromPointer(C.QCborMap_Take3(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))})) + } + return nil +} + +func (ptr *QCborMap) Take4(key QCborValue_ITF) *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborMap_Take4(ptr.Pointer(), PointerFromQCborValue(key))) + } + return nil +} + +func (ptr *QCborMap) ToCborValue() *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborMap_ToCborValue(ptr.Pointer())) + } + return nil +} + +func (ptr *QCborMap) ToJsonObject() *QJsonObject { + if ptr.Pointer() != nil { + tmpValue := NewQJsonObjectFromPointer(C.QCborMap_ToJsonObject(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue + } + return nil +} + +func (ptr *QCborMap) ToVariantHash() map[string]*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[string]*QVariant { + out := make(map[string]*QVariant, int(l.len)) + tmpList := NewQCborMapFromPointer(l.data) + for i, v := range tmpList.__toVariantHash_keyList() { + out[v] = tmpList.__toVariantHash_atList(v, i) + } + return out + }(C.QCborMap_ToVariantHash(ptr.Pointer())) + } + return make(map[string]*QVariant, 0) +} + +func (ptr *QCborMap) ToVariantMap() map[string]*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[string]*QVariant { + out := make(map[string]*QVariant, int(l.len)) + tmpList := NewQCborMapFromPointer(l.data) + for i, v := range tmpList.__toVariantMap_keyList() { + out[v] = tmpList.__toVariantMap_atList(v, i) + } + return out + }(C.QCborMap_ToVariantMap(ptr.Pointer())) + } + return make(map[string]*QVariant, 0) +} + +func (ptr *QCborMap) Value(key int64) *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborMap_Value(ptr.Pointer(), C.longlong(key))) + } + return nil +} + +func (ptr *QCborMap) Value2(key QLatin1String_ITF) *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborMap_Value2(ptr.Pointer(), PointerFromQLatin1String(key))) + } + return nil +} + +func (ptr *QCborMap) Value3(key string) *QCborValue { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return NewQCborValueFromPointer(C.QCborMap_Value3(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))})) + } + return nil +} + +func (ptr *QCborMap) Value4(key QCborValue_ITF) *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborMap_Value4(ptr.Pointer(), PointerFromQCborValue(key))) + } + return nil +} + +func (ptr *QCborMap) DestroyQCborMap() { + if ptr.Pointer() != nil { + C.QCborMap_DestroyQCborMap(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QCborMap) __fromVariantHash_hash_atList(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QCborMap___fromVariantHash_hash_atList(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QCborMap) __fromVariantHash_hash_setList(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QCborMap___fromVariantHash_hash_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QCborMap) __fromVariantHash_hash_newList() unsafe.Pointer { + return C.QCborMap___fromVariantHash_hash_newList(ptr.Pointer()) +} + +func (ptr *QCborMap) __fromVariantHash_hash_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQCborMapFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____fromVariantHash_hash_keyList_atList(i) + } + return out + }(C.QCborMap___fromVariantHash_hash_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QCborMap) __keys_atList(i int) *QCborValue { + if ptr.Pointer() != nil { + return NewQCborValueFromPointer(C.QCborMap___keys_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QCborMap) __keys_setList(i QCborValue_ITF) { + if ptr.Pointer() != nil { + C.QCborMap___keys_setList(ptr.Pointer(), PointerFromQCborValue(i)) + } +} + +func (ptr *QCborMap) __keys_newList() unsafe.Pointer { + return C.QCborMap___keys_newList(ptr.Pointer()) +} + +func (ptr *QCborMap) __toVariantHash_atList(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QCborMap___toVariantHash_atList(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QCborMap) __toVariantHash_setList(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QCborMap___toVariantHash_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QCborMap) __toVariantHash_newList() unsafe.Pointer { + return C.QCborMap___toVariantHash_newList(ptr.Pointer()) +} + +func (ptr *QCborMap) __toVariantHash_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQCborMapFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____toVariantHash_keyList_atList(i) + } + return out + }(C.QCborMap___toVariantHash_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QCborMap) __toVariantMap_atList(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QCborMap___toVariantMap_atList(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QCborMap) __toVariantMap_setList(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QCborMap___toVariantMap_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QCborMap) __toVariantMap_newList() unsafe.Pointer { + return C.QCborMap___toVariantMap_newList(ptr.Pointer()) +} + +func (ptr *QCborMap) __toVariantMap_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQCborMapFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____toVariantMap_keyList_atList(i) + } + return out + }(C.QCborMap___toVariantMap_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QCborMap) ____fromVariantHash_hash_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCborMap_____fromVariantHash_hash_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QCborMap) ____fromVariantHash_hash_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QCborMap_____fromVariantHash_hash_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QCborMap) ____fromVariantHash_hash_keyList_newList() unsafe.Pointer { + return C.QCborMap_____fromVariantHash_hash_keyList_newList(ptr.Pointer()) +} + +func (ptr *QCborMap) ____fromVariantMap_map_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCborMap_____fromVariantMap_map_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QCborMap) ____fromVariantMap_map_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QCborMap_____fromVariantMap_map_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QCborMap) ____fromVariantMap_map_keyList_newList() unsafe.Pointer { + return C.QCborMap_____fromVariantMap_map_keyList_newList(ptr.Pointer()) +} + +func (ptr *QCborMap) ____toVariantHash_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCborMap_____toVariantHash_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QCborMap) ____toVariantHash_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QCborMap_____toVariantHash_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QCborMap) ____toVariantHash_keyList_newList() unsafe.Pointer { + return C.QCborMap_____toVariantHash_keyList_newList(ptr.Pointer()) +} + +func (ptr *QCborMap) ____toVariantMap_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCborMap_____toVariantMap_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QCborMap) ____toVariantMap_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QCborMap_____toVariantMap_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QCborMap) ____toVariantMap_keyList_newList() unsafe.Pointer { + return C.QCborMap_____toVariantMap_keyList_newList(ptr.Pointer()) +} + +type QCborParserError struct { + ptr unsafe.Pointer +} + +type QCborParserError_ITF interface { + QCborParserError_PTR() *QCborParserError +} + +func (ptr *QCborParserError) QCborParserError_PTR() *QCborParserError { + return ptr +} + +func (ptr *QCborParserError) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCborParserError) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCborParserError(ptr QCborParserError_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCborParserError_PTR().Pointer() + } + return nil +} + +func NewQCborParserErrorFromPointer(ptr unsafe.Pointer) (n *QCborParserError) { + n = new(QCborParserError) + n.SetPointer(ptr) + return +} + +func (ptr *QCborParserError) DestroyQCborParserError() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QCborParserError) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCborParserError_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QCborParserError) Offset() int64 { + if ptr.Pointer() != nil { + return int64(C.QCborParserError_Offset(ptr.Pointer())) + } + return 0 +} + +func (ptr *QCborParserError) SetOffset(vqi int64) { + if ptr.Pointer() != nil { + C.QCborParserError_SetOffset(ptr.Pointer(), C.longlong(vqi)) + } +} + +func (ptr *QCborParserError) SetError(vqc QCborError_ITF) { + if ptr.Pointer() != nil { + C.QCborParserError_SetError(ptr.Pointer(), PointerFromQCborError(vqc)) + } +} + +type QCborStreamReader struct { + ptr unsafe.Pointer +} + +type QCborStreamReader_ITF interface { + QCborStreamReader_PTR() *QCborStreamReader +} + +func (ptr *QCborStreamReader) QCborStreamReader_PTR() *QCborStreamReader { + return ptr +} + +func (ptr *QCborStreamReader) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCborStreamReader) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCborStreamReader(ptr QCborStreamReader_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCborStreamReader_PTR().Pointer() + } + return nil +} + +func NewQCborStreamReaderFromPointer(ptr unsafe.Pointer) (n *QCborStreamReader) { + n = new(QCborStreamReader) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QCborStreamReader__Type +//QCborStreamReader::Type +type QCborStreamReader__Type int64 + +const ( + QCborStreamReader__UnsignedInteger QCborStreamReader__Type = QCborStreamReader__Type(0x00) + QCborStreamReader__NegativeInteger QCborStreamReader__Type = QCborStreamReader__Type(0x20) + QCborStreamReader__ByteString QCborStreamReader__Type = QCborStreamReader__Type(0x40) + QCborStreamReader__ByteArray QCborStreamReader__Type = QCborStreamReader__Type(QCborStreamReader__ByteString) + QCborStreamReader__TextString QCborStreamReader__Type = QCborStreamReader__Type(0x60) + QCborStreamReader__String QCborStreamReader__Type = QCborStreamReader__Type(QCborStreamReader__TextString) + QCborStreamReader__Array QCborStreamReader__Type = QCborStreamReader__Type(0x80) + QCborStreamReader__Map QCborStreamReader__Type = QCborStreamReader__Type(0xa0) + QCborStreamReader__Tag QCborStreamReader__Type = QCborStreamReader__Type(0xc0) + QCborStreamReader__SimpleType QCborStreamReader__Type = QCborStreamReader__Type(0xe0) + QCborStreamReader__HalfFloat QCborStreamReader__Type = QCborStreamReader__Type(0xf9) + QCborStreamReader__Float16 QCborStreamReader__Type = QCborStreamReader__Type(QCborStreamReader__HalfFloat) + QCborStreamReader__Float QCborStreamReader__Type = QCborStreamReader__Type(0xfa) + QCborStreamReader__Double QCborStreamReader__Type = QCborStreamReader__Type(0xfb) + QCborStreamReader__Invalid QCborStreamReader__Type = QCborStreamReader__Type(0xff) +) + +//go:generate stringer -type=QCborStreamReader__StringResultCode +//QCborStreamReader::StringResultCode +type QCborStreamReader__StringResultCode int64 + +const ( + QCborStreamReader__EndOfString QCborStreamReader__StringResultCode = QCborStreamReader__StringResultCode(0) + QCborStreamReader__Ok QCborStreamReader__StringResultCode = QCborStreamReader__StringResultCode(1) + QCborStreamReader__Error QCborStreamReader__StringResultCode = QCborStreamReader__StringResultCode(-1) +) + +type QCborStreamWriter struct { + ptr unsafe.Pointer +} + +type QCborStreamWriter_ITF interface { + QCborStreamWriter_PTR() *QCborStreamWriter +} + +func (ptr *QCborStreamWriter) QCborStreamWriter_PTR() *QCborStreamWriter { + return ptr +} + +func (ptr *QCborStreamWriter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCborStreamWriter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCborStreamWriter(ptr QCborStreamWriter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCborStreamWriter_PTR().Pointer() + } + return nil +} + +func NewQCborStreamWriterFromPointer(ptr unsafe.Pointer) (n *QCborStreamWriter) { + n = new(QCborStreamWriter) + n.SetPointer(ptr) + return +} + +type QCborValue struct { + ptr unsafe.Pointer +} + +type QCborValue_ITF interface { + QCborValue_PTR() *QCborValue +} + +func (ptr *QCborValue) QCborValue_PTR() *QCborValue { + return ptr +} + +func (ptr *QCborValue) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCborValue) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCborValue(ptr QCborValue_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCborValue_PTR().Pointer() + } + return nil +} + +func NewQCborValueFromPointer(ptr unsafe.Pointer) (n *QCborValue) { + n = new(QCborValue) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QCborValue__EncodingOption +//QCborValue::EncodingOption +type QCborValue__EncodingOption int64 + +const ( + QCborValue__SortKeysInMaps QCborValue__EncodingOption = QCborValue__EncodingOption(0x01) + QCborValue__UseFloat QCborValue__EncodingOption = QCborValue__EncodingOption(0x02) + QCborValue__UseFloat16 QCborValue__EncodingOption = QCborValue__EncodingOption(QCborValue__UseFloat | 0x04) + QCborValue__UseIntegers QCborValue__EncodingOption = QCborValue__EncodingOption(0x08) + QCborValue__NoTransformation QCborValue__EncodingOption = QCborValue__EncodingOption(0) +) + +//go:generate stringer -type=QCborValue__DiagnosticNotationOption +//QCborValue::DiagnosticNotationOption +type QCborValue__DiagnosticNotationOption int64 + +const ( + QCborValue__Compact QCborValue__DiagnosticNotationOption = QCborValue__DiagnosticNotationOption(0x00) + QCborValue__LineWrapped QCborValue__DiagnosticNotationOption = QCborValue__DiagnosticNotationOption(0x01) + QCborValue__ExtendedFormat QCborValue__DiagnosticNotationOption = QCborValue__DiagnosticNotationOption(0x02) +) + +//go:generate stringer -type=QCborValue__Type +//QCborValue::Type +type QCborValue__Type int64 + +var ( + QCborValue__Integer QCborValue__Type = QCborValue__Type(0x00) + QCborValue__ByteArray QCborValue__Type = QCborValue__Type(0x40) + QCborValue__String QCborValue__Type = QCborValue__Type(0x60) + QCborValue__Array QCborValue__Type = QCborValue__Type(0x80) + QCborValue__Map QCborValue__Type = QCborValue__Type(0xa0) + QCborValue__Tag QCborValue__Type = QCborValue__Type(0xc0) + QCborValue__SimpleType QCborValue__Type = QCborValue__Type(0x100) + QCborValue__False QCborValue__Type = QCborValue__Type(C.QCborValue_False_Type()) + QCborValue__True QCborValue__Type = QCborValue__Type(C.QCborValue_True_Type()) + QCborValue__Null QCborValue__Type = QCborValue__Type(C.QCborValue_Null_Type()) + QCborValue__Undefined QCborValue__Type = QCborValue__Type(C.QCborValue_Undefined_Type()) + QCborValue__Double QCborValue__Type = QCborValue__Type(0x202) + QCborValue__DateTime QCborValue__Type = QCborValue__Type(0x10000) + QCborValue__Url QCborValue__Type = QCborValue__Type(0x10020) + QCborValue__RegularExpression QCborValue__Type = QCborValue__Type(0x10023) + QCborValue__Uuid QCborValue__Type = QCborValue__Type(0x10025) + QCborValue__Invalid QCborValue__Type = QCborValue__Type(-1) +) + +type QCborValueRef struct { + ptr unsafe.Pointer +} + +type QCborValueRef_ITF interface { + QCborValueRef_PTR() *QCborValueRef +} + +func (ptr *QCborValueRef) QCborValueRef_PTR() *QCborValueRef { + return ptr +} + +func (ptr *QCborValueRef) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCborValueRef) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCborValueRef(ptr QCborValueRef_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCborValueRef_PTR().Pointer() + } + return nil +} + +func NewQCborValueRefFromPointer(ptr unsafe.Pointer) (n *QCborValueRef) { + n = new(QCborValueRef) + n.SetPointer(ptr) + return +} + +func (ptr *QCborValueRef) DestroyQCborValueRef() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QChar struct { + ptr unsafe.Pointer +} + +type QChar_ITF interface { + QChar_PTR() *QChar +} + +func (ptr *QChar) QChar_PTR() *QChar { + return ptr +} + +func (ptr *QChar) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QChar) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQChar(ptr QChar_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QChar_PTR().Pointer() + } + return nil +} + +func NewQCharFromPointer(ptr unsafe.Pointer) (n *QChar) { + n = new(QChar) + n.SetPointer(ptr) + return +} + +func (ptr *QChar) DestroyQChar() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QChar__SpecialCharacter +//QChar::SpecialCharacter +type QChar__SpecialCharacter int64 + +const ( + QChar__Null QChar__SpecialCharacter = QChar__SpecialCharacter(0x0000) + QChar__Tabulation QChar__SpecialCharacter = QChar__SpecialCharacter(0x0009) + QChar__LineFeed QChar__SpecialCharacter = QChar__SpecialCharacter(0x000a) + QChar__CarriageReturn QChar__SpecialCharacter = QChar__SpecialCharacter(0x000d) + QChar__Space QChar__SpecialCharacter = QChar__SpecialCharacter(0x0020) + QChar__Nbsp QChar__SpecialCharacter = QChar__SpecialCharacter(0x00a0) + QChar__SoftHyphen QChar__SpecialCharacter = QChar__SpecialCharacter(0x00ad) + QChar__ReplacementCharacter QChar__SpecialCharacter = QChar__SpecialCharacter(0xfffd) + QChar__ObjectReplacementCharacter QChar__SpecialCharacter = QChar__SpecialCharacter(0xfffc) + QChar__ByteOrderMark QChar__SpecialCharacter = QChar__SpecialCharacter(0xfeff) + QChar__ByteOrderSwapped QChar__SpecialCharacter = QChar__SpecialCharacter(0xfffe) + QChar__ParagraphSeparator QChar__SpecialCharacter = QChar__SpecialCharacter(0x2029) + QChar__LineSeparator QChar__SpecialCharacter = QChar__SpecialCharacter(0x2028) + QChar__LastValidCodePoint QChar__SpecialCharacter = QChar__SpecialCharacter(0x10ffff) +) + +//go:generate stringer -type=QChar__Category +//QChar::Category +type QChar__Category int64 + +const ( + QChar__Mark_NonSpacing QChar__Category = QChar__Category(0) + QChar__Mark_SpacingCombining QChar__Category = QChar__Category(1) + QChar__Mark_Enclosing QChar__Category = QChar__Category(2) + QChar__Number_DecimalDigit QChar__Category = QChar__Category(3) + QChar__Number_Letter QChar__Category = QChar__Category(4) + QChar__Number_Other QChar__Category = QChar__Category(5) + QChar__Separator_Space QChar__Category = QChar__Category(6) + QChar__Separator_Line QChar__Category = QChar__Category(7) + QChar__Separator_Paragraph QChar__Category = QChar__Category(8) + QChar__Other_Control QChar__Category = QChar__Category(9) + QChar__Other_Format QChar__Category = QChar__Category(10) + QChar__Other_Surrogate QChar__Category = QChar__Category(11) + QChar__Other_PrivateUse QChar__Category = QChar__Category(12) + QChar__Other_NotAssigned QChar__Category = QChar__Category(13) + QChar__Letter_Uppercase QChar__Category = QChar__Category(14) + QChar__Letter_Lowercase QChar__Category = QChar__Category(15) + QChar__Letter_Titlecase QChar__Category = QChar__Category(16) + QChar__Letter_Modifier QChar__Category = QChar__Category(17) + QChar__Letter_Other QChar__Category = QChar__Category(18) + QChar__Punctuation_Connector QChar__Category = QChar__Category(19) + QChar__Punctuation_Dash QChar__Category = QChar__Category(20) + QChar__Punctuation_Open QChar__Category = QChar__Category(21) + QChar__Punctuation_Close QChar__Category = QChar__Category(22) + QChar__Punctuation_InitialQuote QChar__Category = QChar__Category(23) + QChar__Punctuation_FinalQuote QChar__Category = QChar__Category(24) + QChar__Punctuation_Other QChar__Category = QChar__Category(25) + QChar__Symbol_Math QChar__Category = QChar__Category(26) + QChar__Symbol_Currency QChar__Category = QChar__Category(27) + QChar__Symbol_Modifier QChar__Category = QChar__Category(28) + QChar__Symbol_Other QChar__Category = QChar__Category(29) +) + +//go:generate stringer -type=QChar__Script +//QChar::Script +type QChar__Script int64 + +const ( + QChar__Script_Unknown QChar__Script = QChar__Script(0) + QChar__Script_Inherited QChar__Script = QChar__Script(1) + QChar__Script_Common QChar__Script = QChar__Script(2) + QChar__Script_Latin QChar__Script = QChar__Script(3) + QChar__Script_Greek QChar__Script = QChar__Script(4) + QChar__Script_Cyrillic QChar__Script = QChar__Script(5) + QChar__Script_Armenian QChar__Script = QChar__Script(6) + QChar__Script_Hebrew QChar__Script = QChar__Script(7) + QChar__Script_Arabic QChar__Script = QChar__Script(8) + QChar__Script_Syriac QChar__Script = QChar__Script(9) + QChar__Script_Thaana QChar__Script = QChar__Script(10) + QChar__Script_Devanagari QChar__Script = QChar__Script(11) + QChar__Script_Bengali QChar__Script = QChar__Script(12) + QChar__Script_Gurmukhi QChar__Script = QChar__Script(13) + QChar__Script_Gujarati QChar__Script = QChar__Script(14) + QChar__Script_Oriya QChar__Script = QChar__Script(15) + QChar__Script_Tamil QChar__Script = QChar__Script(16) + QChar__Script_Telugu QChar__Script = QChar__Script(17) + QChar__Script_Kannada QChar__Script = QChar__Script(18) + QChar__Script_Malayalam QChar__Script = QChar__Script(19) + QChar__Script_Sinhala QChar__Script = QChar__Script(20) + QChar__Script_Thai QChar__Script = QChar__Script(21) + QChar__Script_Lao QChar__Script = QChar__Script(22) + QChar__Script_Tibetan QChar__Script = QChar__Script(23) + QChar__Script_Myanmar QChar__Script = QChar__Script(24) + QChar__Script_Georgian QChar__Script = QChar__Script(25) + QChar__Script_Hangul QChar__Script = QChar__Script(26) + QChar__Script_Ethiopic QChar__Script = QChar__Script(27) + QChar__Script_Cherokee QChar__Script = QChar__Script(28) + QChar__Script_CanadianAboriginal QChar__Script = QChar__Script(29) + QChar__Script_Ogham QChar__Script = QChar__Script(30) + QChar__Script_Runic QChar__Script = QChar__Script(31) + QChar__Script_Khmer QChar__Script = QChar__Script(32) + QChar__Script_Mongolian QChar__Script = QChar__Script(33) + QChar__Script_Hiragana QChar__Script = QChar__Script(34) + QChar__Script_Katakana QChar__Script = QChar__Script(35) + QChar__Script_Bopomofo QChar__Script = QChar__Script(36) + QChar__Script_Han QChar__Script = QChar__Script(37) + QChar__Script_Yi QChar__Script = QChar__Script(38) + QChar__Script_OldItalic QChar__Script = QChar__Script(39) + QChar__Script_Gothic QChar__Script = QChar__Script(40) + QChar__Script_Deseret QChar__Script = QChar__Script(41) + QChar__Script_Tagalog QChar__Script = QChar__Script(42) + QChar__Script_Hanunoo QChar__Script = QChar__Script(43) + QChar__Script_Buhid QChar__Script = QChar__Script(44) + QChar__Script_Tagbanwa QChar__Script = QChar__Script(45) + QChar__Script_Coptic QChar__Script = QChar__Script(46) + QChar__Script_Limbu QChar__Script = QChar__Script(47) + QChar__Script_TaiLe QChar__Script = QChar__Script(48) + QChar__Script_LinearB QChar__Script = QChar__Script(49) + QChar__Script_Ugaritic QChar__Script = QChar__Script(50) + QChar__Script_Shavian QChar__Script = QChar__Script(51) + QChar__Script_Osmanya QChar__Script = QChar__Script(52) + QChar__Script_Cypriot QChar__Script = QChar__Script(53) + QChar__Script_Braille QChar__Script = QChar__Script(54) + QChar__Script_Buginese QChar__Script = QChar__Script(55) + QChar__Script_NewTaiLue QChar__Script = QChar__Script(56) + QChar__Script_Glagolitic QChar__Script = QChar__Script(57) + QChar__Script_Tifinagh QChar__Script = QChar__Script(58) + QChar__Script_SylotiNagri QChar__Script = QChar__Script(59) + QChar__Script_OldPersian QChar__Script = QChar__Script(60) + QChar__Script_Kharoshthi QChar__Script = QChar__Script(61) + QChar__Script_Balinese QChar__Script = QChar__Script(62) + QChar__Script_Cuneiform QChar__Script = QChar__Script(63) + QChar__Script_Phoenician QChar__Script = QChar__Script(64) + QChar__Script_PhagsPa QChar__Script = QChar__Script(65) + QChar__Script_Nko QChar__Script = QChar__Script(66) + QChar__Script_Sundanese QChar__Script = QChar__Script(67) + QChar__Script_Lepcha QChar__Script = QChar__Script(68) + QChar__Script_OlChiki QChar__Script = QChar__Script(69) + QChar__Script_Vai QChar__Script = QChar__Script(70) + QChar__Script_Saurashtra QChar__Script = QChar__Script(71) + QChar__Script_KayahLi QChar__Script = QChar__Script(72) + QChar__Script_Rejang QChar__Script = QChar__Script(73) + QChar__Script_Lycian QChar__Script = QChar__Script(74) + QChar__Script_Carian QChar__Script = QChar__Script(75) + QChar__Script_Lydian QChar__Script = QChar__Script(76) + QChar__Script_Cham QChar__Script = QChar__Script(77) + QChar__Script_TaiTham QChar__Script = QChar__Script(78) + QChar__Script_TaiViet QChar__Script = QChar__Script(79) + QChar__Script_Avestan QChar__Script = QChar__Script(80) + QChar__Script_EgyptianHieroglyphs QChar__Script = QChar__Script(81) + QChar__Script_Samaritan QChar__Script = QChar__Script(82) + QChar__Script_Lisu QChar__Script = QChar__Script(83) + QChar__Script_Bamum QChar__Script = QChar__Script(84) + QChar__Script_Javanese QChar__Script = QChar__Script(85) + QChar__Script_MeeteiMayek QChar__Script = QChar__Script(86) + QChar__Script_ImperialAramaic QChar__Script = QChar__Script(87) + QChar__Script_OldSouthArabian QChar__Script = QChar__Script(88) + QChar__Script_InscriptionalParthian QChar__Script = QChar__Script(89) + QChar__Script_InscriptionalPahlavi QChar__Script = QChar__Script(90) + QChar__Script_OldTurkic QChar__Script = QChar__Script(91) + QChar__Script_Kaithi QChar__Script = QChar__Script(92) + QChar__Script_Batak QChar__Script = QChar__Script(93) + QChar__Script_Brahmi QChar__Script = QChar__Script(94) + QChar__Script_Mandaic QChar__Script = QChar__Script(95) + QChar__Script_Chakma QChar__Script = QChar__Script(96) + QChar__Script_MeroiticCursive QChar__Script = QChar__Script(97) + QChar__Script_MeroiticHieroglyphs QChar__Script = QChar__Script(98) + QChar__Script_Miao QChar__Script = QChar__Script(99) + QChar__Script_Sharada QChar__Script = QChar__Script(100) + QChar__Script_SoraSompeng QChar__Script = QChar__Script(101) + QChar__Script_Takri QChar__Script = QChar__Script(102) + QChar__Script_CaucasianAlbanian QChar__Script = QChar__Script(103) + QChar__Script_BassaVah QChar__Script = QChar__Script(104) + QChar__Script_Duployan QChar__Script = QChar__Script(105) + QChar__Script_Elbasan QChar__Script = QChar__Script(106) + QChar__Script_Grantha QChar__Script = QChar__Script(107) + QChar__Script_PahawhHmong QChar__Script = QChar__Script(108) + QChar__Script_Khojki QChar__Script = QChar__Script(109) + QChar__Script_LinearA QChar__Script = QChar__Script(110) + QChar__Script_Mahajani QChar__Script = QChar__Script(111) + QChar__Script_Manichaean QChar__Script = QChar__Script(112) + QChar__Script_MendeKikakui QChar__Script = QChar__Script(113) + QChar__Script_Modi QChar__Script = QChar__Script(114) + QChar__Script_Mro QChar__Script = QChar__Script(115) + QChar__Script_OldNorthArabian QChar__Script = QChar__Script(116) + QChar__Script_Nabataean QChar__Script = QChar__Script(117) + QChar__Script_Palmyrene QChar__Script = QChar__Script(118) + QChar__Script_PauCinHau QChar__Script = QChar__Script(119) + QChar__Script_OldPermic QChar__Script = QChar__Script(120) + QChar__Script_PsalterPahlavi QChar__Script = QChar__Script(121) + QChar__Script_Siddham QChar__Script = QChar__Script(122) + QChar__Script_Khudawadi QChar__Script = QChar__Script(123) + QChar__Script_Tirhuta QChar__Script = QChar__Script(124) + QChar__Script_WarangCiti QChar__Script = QChar__Script(125) + QChar__Script_Ahom QChar__Script = QChar__Script(126) + QChar__Script_AnatolianHieroglyphs QChar__Script = QChar__Script(127) + QChar__Script_Hatran QChar__Script = QChar__Script(128) + QChar__Script_Multani QChar__Script = QChar__Script(129) + QChar__Script_OldHungarian QChar__Script = QChar__Script(130) + QChar__Script_SignWriting QChar__Script = QChar__Script(131) + QChar__Script_Adlam QChar__Script = QChar__Script(132) + QChar__Script_Bhaiksuki QChar__Script = QChar__Script(133) + QChar__Script_Marchen QChar__Script = QChar__Script(134) + QChar__Script_Newa QChar__Script = QChar__Script(135) + QChar__Script_Osage QChar__Script = QChar__Script(136) + QChar__Script_Tangut QChar__Script = QChar__Script(137) + QChar__Script_MasaramGondi QChar__Script = QChar__Script(138) + QChar__Script_Nushu QChar__Script = QChar__Script(139) + QChar__Script_Soyombo QChar__Script = QChar__Script(140) + QChar__Script_ZanabazarSquare QChar__Script = QChar__Script(141) + QChar__ScriptCount QChar__Script = QChar__Script(142) +) + +//go:generate stringer -type=QChar__Direction +//QChar::Direction +type QChar__Direction int64 + +const ( + QChar__DirL QChar__Direction = QChar__Direction(0) + QChar__DirR QChar__Direction = QChar__Direction(1) + QChar__DirEN QChar__Direction = QChar__Direction(2) + QChar__DirES QChar__Direction = QChar__Direction(3) + QChar__DirET QChar__Direction = QChar__Direction(4) + QChar__DirAN QChar__Direction = QChar__Direction(5) + QChar__DirCS QChar__Direction = QChar__Direction(6) + QChar__DirB QChar__Direction = QChar__Direction(7) + QChar__DirS QChar__Direction = QChar__Direction(8) + QChar__DirWS QChar__Direction = QChar__Direction(9) + QChar__DirON QChar__Direction = QChar__Direction(10) + QChar__DirLRE QChar__Direction = QChar__Direction(11) + QChar__DirLRO QChar__Direction = QChar__Direction(12) + QChar__DirAL QChar__Direction = QChar__Direction(13) + QChar__DirRLE QChar__Direction = QChar__Direction(14) + QChar__DirRLO QChar__Direction = QChar__Direction(15) + QChar__DirPDF QChar__Direction = QChar__Direction(16) + QChar__DirNSM QChar__Direction = QChar__Direction(17) + QChar__DirBN QChar__Direction = QChar__Direction(18) + QChar__DirLRI QChar__Direction = QChar__Direction(19) + QChar__DirRLI QChar__Direction = QChar__Direction(20) + QChar__DirFSI QChar__Direction = QChar__Direction(21) + QChar__DirPDI QChar__Direction = QChar__Direction(22) +) + +//go:generate stringer -type=QChar__Decomposition +//QChar::Decomposition +type QChar__Decomposition int64 + +const ( + QChar__NoDecomposition QChar__Decomposition = QChar__Decomposition(0) + QChar__Canonical QChar__Decomposition = QChar__Decomposition(1) + QChar__Font QChar__Decomposition = QChar__Decomposition(2) + QChar__NoBreak QChar__Decomposition = QChar__Decomposition(3) + QChar__Initial QChar__Decomposition = QChar__Decomposition(4) + QChar__Medial QChar__Decomposition = QChar__Decomposition(5) + QChar__Final QChar__Decomposition = QChar__Decomposition(6) + QChar__Isolated QChar__Decomposition = QChar__Decomposition(7) + QChar__Circle QChar__Decomposition = QChar__Decomposition(8) + QChar__Super QChar__Decomposition = QChar__Decomposition(9) + QChar__Sub QChar__Decomposition = QChar__Decomposition(10) + QChar__Vertical QChar__Decomposition = QChar__Decomposition(11) + QChar__Wide QChar__Decomposition = QChar__Decomposition(12) + QChar__Narrow QChar__Decomposition = QChar__Decomposition(13) + QChar__Small QChar__Decomposition = QChar__Decomposition(14) + QChar__Square QChar__Decomposition = QChar__Decomposition(15) + QChar__Compat QChar__Decomposition = QChar__Decomposition(16) + QChar__Fraction QChar__Decomposition = QChar__Decomposition(17) +) + +//go:generate stringer -type=QChar__JoiningType +//QChar::JoiningType +type QChar__JoiningType int64 + +const ( + QChar__Joining_None QChar__JoiningType = QChar__JoiningType(0) + QChar__Joining_Causing QChar__JoiningType = QChar__JoiningType(1) + QChar__Joining_Dual QChar__JoiningType = QChar__JoiningType(2) + QChar__Joining_Right QChar__JoiningType = QChar__JoiningType(3) + QChar__Joining_Left QChar__JoiningType = QChar__JoiningType(4) + QChar__Joining_Transparent QChar__JoiningType = QChar__JoiningType(5) +) + +//go:generate stringer -type=QChar__UnicodeVersion +//QChar::UnicodeVersion +type QChar__UnicodeVersion int64 + +const ( + QChar__Unicode_Unassigned QChar__UnicodeVersion = QChar__UnicodeVersion(0) + QChar__Unicode_1_1 QChar__UnicodeVersion = QChar__UnicodeVersion(1) + QChar__Unicode_2_0 QChar__UnicodeVersion = QChar__UnicodeVersion(2) + QChar__Unicode_2_1_2 QChar__UnicodeVersion = QChar__UnicodeVersion(3) + QChar__Unicode_3_0 QChar__UnicodeVersion = QChar__UnicodeVersion(4) + QChar__Unicode_3_1 QChar__UnicodeVersion = QChar__UnicodeVersion(5) + QChar__Unicode_3_2 QChar__UnicodeVersion = QChar__UnicodeVersion(6) + QChar__Unicode_4_0 QChar__UnicodeVersion = QChar__UnicodeVersion(7) + QChar__Unicode_4_1 QChar__UnicodeVersion = QChar__UnicodeVersion(8) + QChar__Unicode_5_0 QChar__UnicodeVersion = QChar__UnicodeVersion(9) + QChar__Unicode_5_1 QChar__UnicodeVersion = QChar__UnicodeVersion(10) + QChar__Unicode_5_2 QChar__UnicodeVersion = QChar__UnicodeVersion(11) + QChar__Unicode_6_0 QChar__UnicodeVersion = QChar__UnicodeVersion(12) + QChar__Unicode_6_1 QChar__UnicodeVersion = QChar__UnicodeVersion(13) + QChar__Unicode_6_2 QChar__UnicodeVersion = QChar__UnicodeVersion(14) + QChar__Unicode_6_3 QChar__UnicodeVersion = QChar__UnicodeVersion(15) + QChar__Unicode_7_0 QChar__UnicodeVersion = QChar__UnicodeVersion(16) + QChar__Unicode_8_0 QChar__UnicodeVersion = QChar__UnicodeVersion(17) + QChar__Unicode_9_0 QChar__UnicodeVersion = QChar__UnicodeVersion(18) + QChar__Unicode_10_0 QChar__UnicodeVersion = QChar__UnicodeVersion(19) +) + +func NewQChar() *QChar { + tmpValue := NewQCharFromPointer(C.QChar_NewQChar()) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func NewQChar2(code uint16) *QChar { + tmpValue := NewQCharFromPointer(C.QChar_NewQChar2(C.ushort(code))) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func NewQChar3(cell string, row string) *QChar { + var cellC *C.char + if cell != "" { + cellC = C.CString(cell) + defer C.free(unsafe.Pointer(cellC)) + } + var rowC *C.char + if row != "" { + rowC = C.CString(row) + defer C.free(unsafe.Pointer(rowC)) + } + tmpValue := NewQCharFromPointer(C.QChar_NewQChar3(cellC, rowC)) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func NewQChar4(code int16) *QChar { + tmpValue := NewQCharFromPointer(C.QChar_NewQChar4(C.short(code))) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func NewQChar5(code uint) *QChar { + tmpValue := NewQCharFromPointer(C.QChar_NewQChar5(C.uint(uint32(code)))) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func NewQChar6(code int) *QChar { + tmpValue := NewQCharFromPointer(C.QChar_NewQChar6(C.int(int32(code)))) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func NewQChar7(ch QChar__SpecialCharacter) *QChar { + tmpValue := NewQCharFromPointer(C.QChar_NewQChar7(C.longlong(ch))) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func NewQChar8(ch QLatin1Char_ITF) *QChar { + tmpValue := NewQCharFromPointer(C.QChar_NewQChar8(PointerFromQLatin1Char(ch))) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func NewQChar11(ch string) *QChar { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQCharFromPointer(C.QChar_NewQChar11(chC)) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func NewQChar12(ch string) *QChar { + var chC *C.char + if ch != "" { + chC = C.CString(ch) + defer C.free(unsafe.Pointer(chC)) + } + tmpValue := NewQCharFromPointer(C.QChar_NewQChar12(chC)) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func (ptr *QChar) Category() QChar__Category { + if ptr.Pointer() != nil { + return QChar__Category(C.QChar_Category(ptr.Pointer())) + } + return 0 +} + +func QChar_Category2(ucs4 uint) QChar__Category { + return QChar__Category(C.QChar_QChar_Category2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) Category2(ucs4 uint) QChar__Category { + return QChar__Category(C.QChar_QChar_Category2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) Cell() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QChar_Cell(ptr.Pointer())) + } + return "" +} + +func QChar_CurrentUnicodeVersion() QChar__UnicodeVersion { + return QChar__UnicodeVersion(C.QChar_QChar_CurrentUnicodeVersion()) +} + +func (ptr *QChar) CurrentUnicodeVersion() QChar__UnicodeVersion { + return QChar__UnicodeVersion(C.QChar_QChar_CurrentUnicodeVersion()) +} + +func (ptr *QChar) Decomposition() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QChar_Decomposition(ptr.Pointer())) + } + return "" +} + +func QChar_Decomposition2(ucs4 uint) string { + return cGoUnpackString(C.QChar_QChar_Decomposition2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) Decomposition2(ucs4 uint) string { + return cGoUnpackString(C.QChar_QChar_Decomposition2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) DecompositionTag() QChar__Decomposition { + if ptr.Pointer() != nil { + return QChar__Decomposition(C.QChar_DecompositionTag(ptr.Pointer())) + } + return 0 +} + +func QChar_DecompositionTag2(ucs4 uint) QChar__Decomposition { + return QChar__Decomposition(C.QChar_QChar_DecompositionTag2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) DecompositionTag2(ucs4 uint) QChar__Decomposition { + return QChar__Decomposition(C.QChar_QChar_DecompositionTag2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) DigitValue() int { + if ptr.Pointer() != nil { + return int(int32(C.QChar_DigitValue(ptr.Pointer()))) + } + return 0 +} + +func QChar_DigitValue2(ucs4 uint) int { + return int(int32(C.QChar_QChar_DigitValue2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) DigitValue2(ucs4 uint) int { + return int(int32(C.QChar_QChar_DigitValue2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) Direction() QChar__Direction { + if ptr.Pointer() != nil { + return QChar__Direction(C.QChar_Direction(ptr.Pointer())) + } + return 0 +} + +func QChar_Direction2(ucs4 uint) QChar__Direction { + return QChar__Direction(C.QChar_QChar_Direction2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) Direction2(ucs4 uint) QChar__Direction { + return QChar__Direction(C.QChar_QChar_Direction2(C.uint(uint32(ucs4)))) +} + +func QChar_FromLatin1(c string) *QChar { + var cC *C.char + if c != "" { + cC = C.CString(c) + defer C.free(unsafe.Pointer(cC)) + } + tmpValue := NewQCharFromPointer(C.QChar_QChar_FromLatin1(cC)) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func (ptr *QChar) FromLatin1(c string) *QChar { + var cC *C.char + if c != "" { + cC = C.CString(c) + defer C.free(unsafe.Pointer(cC)) + } + tmpValue := NewQCharFromPointer(C.QChar_QChar_FromLatin1(cC)) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func (ptr *QChar) HasMirrored() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_HasMirrored(ptr.Pointer())) != 0 + } + return false +} + +func QChar_HasMirrored2(ucs4 uint) bool { + return int8(C.QChar_QChar_HasMirrored2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) HasMirrored2(ucs4 uint) bool { + return int8(C.QChar_QChar_HasMirrored2(C.uint(uint32(ucs4)))) != 0 +} + +func QChar_HighSurrogate(ucs4 uint) uint16 { + return uint16(C.QChar_QChar_HighSurrogate(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) HighSurrogate(ucs4 uint) uint16 { + return uint16(C.QChar_QChar_HighSurrogate(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) IsDigit() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsDigit(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsDigit2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsDigit2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsDigit2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsDigit2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsHighSurrogate() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsHighSurrogate(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsHighSurrogate2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsHighSurrogate2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsHighSurrogate2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsHighSurrogate2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsLetter() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsLetter(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsLetter2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsLetter2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsLetter2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsLetter2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsLetterOrNumber() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsLetterOrNumber(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsLetterOrNumber2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsLetterOrNumber2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsLetterOrNumber2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsLetterOrNumber2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsLowSurrogate() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsLowSurrogate(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsLowSurrogate2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsLowSurrogate2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsLowSurrogate2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsLowSurrogate2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsLower() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsLower(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsLower2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsLower2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsLower2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsLower2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsMark() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsMark(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsMark2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsMark2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsMark2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsMark2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsNonCharacter() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsNonCharacter(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsNonCharacter2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsNonCharacter2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsNonCharacter2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsNonCharacter2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QChar) IsNumber() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsNumber(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsNumber2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsNumber2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsNumber2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsNumber2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsPrint() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsPrint(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsPrint2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsPrint2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsPrint2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsPrint2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsPunct() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsPunct(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsPunct2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsPunct2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsPunct2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsPunct2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsSpace() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsSpace(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsSpace2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsSpace2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsSpace2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsSpace2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsSurrogate() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsSurrogate(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsSurrogate2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsSurrogate2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsSurrogate2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsSurrogate2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsSymbol() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsSymbol(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsSymbol2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsSymbol2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsSymbol2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsSymbol2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsTitleCase() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsTitleCase(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsTitleCase2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsTitleCase2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsTitleCase2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsTitleCase2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsUpper() bool { + if ptr.Pointer() != nil { + return int8(C.QChar_IsUpper(ptr.Pointer())) != 0 + } + return false +} + +func QChar_IsUpper2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsUpper2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) IsUpper2(ucs4 uint) bool { + return int8(C.QChar_QChar_IsUpper2(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) JoiningType() QChar__JoiningType { + if ptr.Pointer() != nil { + return QChar__JoiningType(C.QChar_JoiningType(ptr.Pointer())) + } + return 0 +} + +func QChar_JoiningType2(ucs4 uint) QChar__JoiningType { + return QChar__JoiningType(C.QChar_QChar_JoiningType2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) JoiningType2(ucs4 uint) QChar__JoiningType { + return QChar__JoiningType(C.QChar_QChar_JoiningType2(C.uint(uint32(ucs4)))) +} + +func QChar_LowSurrogate(ucs4 uint) uint16 { + return uint16(C.QChar_QChar_LowSurrogate(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) LowSurrogate(ucs4 uint) uint16 { + return uint16(C.QChar_QChar_LowSurrogate(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) MirroredChar() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QChar_MirroredChar(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func QChar_MirroredChar2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_MirroredChar2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) MirroredChar2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_MirroredChar2(C.uint(uint32(ucs4))))) +} + +func QChar_RequiresSurrogates(ucs4 uint) bool { + return int8(C.QChar_QChar_RequiresSurrogates(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) RequiresSurrogates(ucs4 uint) bool { + return int8(C.QChar_QChar_RequiresSurrogates(C.uint(uint32(ucs4)))) != 0 +} + +func (ptr *QChar) Row() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QChar_Row(ptr.Pointer())) + } + return "" +} + +func (ptr *QChar) Script() QChar__Script { + if ptr.Pointer() != nil { + return QChar__Script(C.QChar_Script(ptr.Pointer())) + } + return 0 +} + +func QChar_Script2(ucs4 uint) QChar__Script { + return QChar__Script(C.QChar_QChar_Script2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) Script2(ucs4 uint) QChar__Script { + return QChar__Script(C.QChar_QChar_Script2(C.uint(uint32(ucs4)))) +} + +func QChar_SurrogateToUcs4(high uint16, low uint16) uint { + return uint(uint32(C.QChar_QChar_SurrogateToUcs4(C.ushort(high), C.ushort(low)))) +} + +func (ptr *QChar) SurrogateToUcs4(high uint16, low uint16) uint { + return uint(uint32(C.QChar_QChar_SurrogateToUcs4(C.ushort(high), C.ushort(low)))) +} + +func QChar_SurrogateToUcs42(high QChar_ITF, low QChar_ITF) uint { + return uint(uint32(C.QChar_QChar_SurrogateToUcs42(PointerFromQChar(high), PointerFromQChar(low)))) +} + +func (ptr *QChar) SurrogateToUcs42(high QChar_ITF, low QChar_ITF) uint { + return uint(uint32(C.QChar_QChar_SurrogateToUcs42(PointerFromQChar(high), PointerFromQChar(low)))) +} + +func (ptr *QChar) ToCaseFolded() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QChar_ToCaseFolded(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func QChar_ToCaseFolded2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_ToCaseFolded2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) ToCaseFolded2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_ToCaseFolded2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) ToLatin1() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QChar_ToLatin1(ptr.Pointer())) + } + return "" +} + +func (ptr *QChar) ToLower() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QChar_ToLower(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func QChar_ToLower2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_ToLower2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) ToLower2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_ToLower2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) ToTitleCase() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QChar_ToTitleCase(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func QChar_ToTitleCase2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_ToTitleCase2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) ToTitleCase2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_ToTitleCase2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) ToUpper() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QChar_ToUpper(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func QChar_ToUpper2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_ToUpper2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) ToUpper2(ucs4 uint) uint { + return uint(uint32(C.QChar_QChar_ToUpper2(C.uint(uint32(ucs4))))) +} + +func (ptr *QChar) Unicode() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QChar_Unicode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QChar) Unicode2() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QChar_Unicode2(ptr.Pointer())) + } + return 0 +} + +func (ptr *QChar) UnicodeVersion() QChar__UnicodeVersion { + if ptr.Pointer() != nil { + return QChar__UnicodeVersion(C.QChar_UnicodeVersion(ptr.Pointer())) + } + return 0 +} + +func QChar_UnicodeVersion2(ucs4 uint) QChar__UnicodeVersion { + return QChar__UnicodeVersion(C.QChar_QChar_UnicodeVersion2(C.uint(uint32(ucs4)))) +} + +func (ptr *QChar) UnicodeVersion2(ucs4 uint) QChar__UnicodeVersion { + return QChar__UnicodeVersion(C.QChar_QChar_UnicodeVersion2(C.uint(uint32(ucs4)))) +} + +type QChildEvent struct { + QEvent +} + +type QChildEvent_ITF interface { + QEvent_ITF + QChildEvent_PTR() *QChildEvent +} + +func (ptr *QChildEvent) QChildEvent_PTR() *QChildEvent { + return ptr +} + +func (ptr *QChildEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QChildEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQChildEvent(ptr QChildEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QChildEvent_PTR().Pointer() + } + return nil +} + +func NewQChildEventFromPointer(ptr unsafe.Pointer) (n *QChildEvent) { + n = new(QChildEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QChildEvent) DestroyQChildEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQChildEvent(ty QEvent__Type, child QObject_ITF) *QChildEvent { + tmpValue := NewQChildEventFromPointer(C.QChildEvent_NewQChildEvent(C.longlong(ty), PointerFromQObject(child))) + runtime.SetFinalizer(tmpValue, (*QChildEvent).DestroyQChildEvent) + return tmpValue +} + +func (ptr *QChildEvent) Added() bool { + if ptr.Pointer() != nil { + return int8(C.QChildEvent_Added(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QChildEvent) Child() *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QChildEvent_Child(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QChildEvent) Polished() bool { + if ptr.Pointer() != nil { + return int8(C.QChildEvent_Polished(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QChildEvent) Removed() bool { + if ptr.Pointer() != nil { + return int8(C.QChildEvent_Removed(ptr.Pointer())) != 0 + } + return false +} + +type QCollator struct { + ptr unsafe.Pointer +} + +type QCollator_ITF interface { + QCollator_PTR() *QCollator +} + +func (ptr *QCollator) QCollator_PTR() *QCollator { + return ptr +} + +func (ptr *QCollator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCollator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCollator(ptr QCollator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCollator_PTR().Pointer() + } + return nil +} + +func NewQCollatorFromPointer(ptr unsafe.Pointer) (n *QCollator) { + n = new(QCollator) + n.SetPointer(ptr) + return +} +func NewQCollator(locale QLocale_ITF) *QCollator { + tmpValue := NewQCollatorFromPointer(C.QCollator_NewQCollator(PointerFromQLocale(locale))) + runtime.SetFinalizer(tmpValue, (*QCollator).DestroyQCollator) + return tmpValue +} + +func NewQCollator2(other QCollator_ITF) *QCollator { + tmpValue := NewQCollatorFromPointer(C.QCollator_NewQCollator2(PointerFromQCollator(other))) + runtime.SetFinalizer(tmpValue, (*QCollator).DestroyQCollator) + return tmpValue +} + +func NewQCollator3(other QCollator_ITF) *QCollator { + tmpValue := NewQCollatorFromPointer(C.QCollator_NewQCollator3(PointerFromQCollator(other))) + runtime.SetFinalizer(tmpValue, (*QCollator).DestroyQCollator) + return tmpValue +} + +func (ptr *QCollator) CaseSensitivity() Qt__CaseSensitivity { + if ptr.Pointer() != nil { + return Qt__CaseSensitivity(C.QCollator_CaseSensitivity(ptr.Pointer())) + } + return 0 +} + +func (ptr *QCollator) Compare(s1 string, s2 string) int { + if ptr.Pointer() != nil { + var s1C *C.char + if s1 != "" { + s1C = C.CString(s1) + defer C.free(unsafe.Pointer(s1C)) + } + var s2C *C.char + if s2 != "" { + s2C = C.CString(s2) + defer C.free(unsafe.Pointer(s2C)) + } + return int(int32(C.QCollator_Compare(ptr.Pointer(), C.struct_QtCore_PackedString{data: s1C, len: C.longlong(len(s1))}, C.struct_QtCore_PackedString{data: s2C, len: C.longlong(len(s2))}))) + } + return 0 +} + +func (ptr *QCollator) Compare2(s1 QStringRef_ITF, s2 QStringRef_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QCollator_Compare2(ptr.Pointer(), PointerFromQStringRef(s1), PointerFromQStringRef(s2)))) + } + return 0 +} + +func (ptr *QCollator) Compare3(s1 QChar_ITF, len1 int, s2 QChar_ITF, len2 int) int { + if ptr.Pointer() != nil { + return int(int32(C.QCollator_Compare3(ptr.Pointer(), PointerFromQChar(s1), C.int(int32(len1)), PointerFromQChar(s2), C.int(int32(len2))))) + } + return 0 +} + +func (ptr *QCollator) IgnorePunctuation() bool { + if ptr.Pointer() != nil { + return int8(C.QCollator_IgnorePunctuation(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QCollator) Locale() *QLocale { + if ptr.Pointer() != nil { + tmpValue := NewQLocaleFromPointer(C.QCollator_Locale(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue + } + return nil +} + +func (ptr *QCollator) NumericMode() bool { + if ptr.Pointer() != nil { + return int8(C.QCollator_NumericMode(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QCollator) SetCaseSensitivity(sensitivity Qt__CaseSensitivity) { + if ptr.Pointer() != nil { + C.QCollator_SetCaseSensitivity(ptr.Pointer(), C.longlong(sensitivity)) + } +} + +func (ptr *QCollator) SetIgnorePunctuation(on bool) { + if ptr.Pointer() != nil { + C.QCollator_SetIgnorePunctuation(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(on)))) + } +} + +func (ptr *QCollator) SetLocale(locale QLocale_ITF) { + if ptr.Pointer() != nil { + C.QCollator_SetLocale(ptr.Pointer(), PointerFromQLocale(locale)) + } +} + +func (ptr *QCollator) SetNumericMode(on bool) { + if ptr.Pointer() != nil { + C.QCollator_SetNumericMode(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(on)))) + } +} + +func (ptr *QCollator) SortKey(stri string) *QCollatorSortKey { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQCollatorSortKeyFromPointer(C.QCollator_SortKey(ptr.Pointer(), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))})) + runtime.SetFinalizer(tmpValue, (*QCollatorSortKey).DestroyQCollatorSortKey) + return tmpValue + } + return nil +} + +func (ptr *QCollator) Swap(other QCollator_ITF) { + if ptr.Pointer() != nil { + C.QCollator_Swap(ptr.Pointer(), PointerFromQCollator(other)) + } +} + +func (ptr *QCollator) DestroyQCollator() { + if ptr.Pointer() != nil { + C.QCollator_DestroyQCollator(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QCollatorSortKey struct { + ptr unsafe.Pointer +} + +type QCollatorSortKey_ITF interface { + QCollatorSortKey_PTR() *QCollatorSortKey +} + +func (ptr *QCollatorSortKey) QCollatorSortKey_PTR() *QCollatorSortKey { + return ptr +} + +func (ptr *QCollatorSortKey) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCollatorSortKey) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCollatorSortKey(ptr QCollatorSortKey_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCollatorSortKey_PTR().Pointer() + } + return nil +} + +func NewQCollatorSortKeyFromPointer(ptr unsafe.Pointer) (n *QCollatorSortKey) { + n = new(QCollatorSortKey) + n.SetPointer(ptr) + return +} +func NewQCollatorSortKey(other QCollatorSortKey_ITF) *QCollatorSortKey { + tmpValue := NewQCollatorSortKeyFromPointer(C.QCollatorSortKey_NewQCollatorSortKey(PointerFromQCollatorSortKey(other))) + runtime.SetFinalizer(tmpValue, (*QCollatorSortKey).DestroyQCollatorSortKey) + return tmpValue +} + +func (ptr *QCollatorSortKey) Compare(otherKey QCollatorSortKey_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QCollatorSortKey_Compare(ptr.Pointer(), PointerFromQCollatorSortKey(otherKey)))) + } + return 0 +} + +func (ptr *QCollatorSortKey) Swap(other QCollatorSortKey_ITF) { + if ptr.Pointer() != nil { + C.QCollatorSortKey_Swap(ptr.Pointer(), PointerFromQCollatorSortKey(other)) + } +} + +func (ptr *QCollatorSortKey) DestroyQCollatorSortKey() { + if ptr.Pointer() != nil { + C.QCollatorSortKey_DestroyQCollatorSortKey(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QCommandLineOption struct { + ptr unsafe.Pointer +} + +type QCommandLineOption_ITF interface { + QCommandLineOption_PTR() *QCommandLineOption +} + +func (ptr *QCommandLineOption) QCommandLineOption_PTR() *QCommandLineOption { + return ptr +} + +func (ptr *QCommandLineOption) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCommandLineOption) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCommandLineOption(ptr QCommandLineOption_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCommandLineOption_PTR().Pointer() + } + return nil +} + +func NewQCommandLineOptionFromPointer(ptr unsafe.Pointer) (n *QCommandLineOption) { + n = new(QCommandLineOption) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QCommandLineOption__Flag +//QCommandLineOption::Flag +type QCommandLineOption__Flag int64 + +const ( + QCommandLineOption__HiddenFromHelp QCommandLineOption__Flag = QCommandLineOption__Flag(0x1) + QCommandLineOption__ShortOptionStyle QCommandLineOption__Flag = QCommandLineOption__Flag(0x2) +) + +func NewQCommandLineOption(name string) *QCommandLineOption { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQCommandLineOptionFromPointer(C.QCommandLineOption_NewQCommandLineOption(C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QCommandLineOption).DestroyQCommandLineOption) + return tmpValue +} + +func NewQCommandLineOption2(names []string) *QCommandLineOption { + namesC := C.CString(strings.Join(names, "¡¦!")) + defer C.free(unsafe.Pointer(namesC)) + tmpValue := NewQCommandLineOptionFromPointer(C.QCommandLineOption_NewQCommandLineOption2(C.struct_QtCore_PackedString{data: namesC, len: C.longlong(len(strings.Join(names, "¡¦!")))})) + runtime.SetFinalizer(tmpValue, (*QCommandLineOption).DestroyQCommandLineOption) + return tmpValue +} + +func NewQCommandLineOption3(name string, description string, valueName string, defaultValue string) *QCommandLineOption { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var descriptionC *C.char + if description != "" { + descriptionC = C.CString(description) + defer C.free(unsafe.Pointer(descriptionC)) + } + var valueNameC *C.char + if valueName != "" { + valueNameC = C.CString(valueName) + defer C.free(unsafe.Pointer(valueNameC)) + } + var defaultValueC *C.char + if defaultValue != "" { + defaultValueC = C.CString(defaultValue) + defer C.free(unsafe.Pointer(defaultValueC)) + } + tmpValue := NewQCommandLineOptionFromPointer(C.QCommandLineOption_NewQCommandLineOption3(C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtCore_PackedString{data: descriptionC, len: C.longlong(len(description))}, C.struct_QtCore_PackedString{data: valueNameC, len: C.longlong(len(valueName))}, C.struct_QtCore_PackedString{data: defaultValueC, len: C.longlong(len(defaultValue))})) + runtime.SetFinalizer(tmpValue, (*QCommandLineOption).DestroyQCommandLineOption) + return tmpValue +} + +func NewQCommandLineOption4(names []string, description string, valueName string, defaultValue string) *QCommandLineOption { + namesC := C.CString(strings.Join(names, "¡¦!")) + defer C.free(unsafe.Pointer(namesC)) + var descriptionC *C.char + if description != "" { + descriptionC = C.CString(description) + defer C.free(unsafe.Pointer(descriptionC)) + } + var valueNameC *C.char + if valueName != "" { + valueNameC = C.CString(valueName) + defer C.free(unsafe.Pointer(valueNameC)) + } + var defaultValueC *C.char + if defaultValue != "" { + defaultValueC = C.CString(defaultValue) + defer C.free(unsafe.Pointer(defaultValueC)) + } + tmpValue := NewQCommandLineOptionFromPointer(C.QCommandLineOption_NewQCommandLineOption4(C.struct_QtCore_PackedString{data: namesC, len: C.longlong(len(strings.Join(names, "¡¦!")))}, C.struct_QtCore_PackedString{data: descriptionC, len: C.longlong(len(description))}, C.struct_QtCore_PackedString{data: valueNameC, len: C.longlong(len(valueName))}, C.struct_QtCore_PackedString{data: defaultValueC, len: C.longlong(len(defaultValue))})) + runtime.SetFinalizer(tmpValue, (*QCommandLineOption).DestroyQCommandLineOption) + return tmpValue +} + +func NewQCommandLineOption5(other QCommandLineOption_ITF) *QCommandLineOption { + tmpValue := NewQCommandLineOptionFromPointer(C.QCommandLineOption_NewQCommandLineOption5(PointerFromQCommandLineOption(other))) + runtime.SetFinalizer(tmpValue, (*QCommandLineOption).DestroyQCommandLineOption) + return tmpValue +} + +func (ptr *QCommandLineOption) DefaultValues() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QCommandLineOption_DefaultValues(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QCommandLineOption) Description() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCommandLineOption_Description(ptr.Pointer())) + } + return "" +} + +func (ptr *QCommandLineOption) Flags() QCommandLineOption__Flag { + if ptr.Pointer() != nil { + return QCommandLineOption__Flag(C.QCommandLineOption_Flags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QCommandLineOption) Names() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QCommandLineOption_Names(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QCommandLineOption) SetDefaultValue(defaultValue string) { + if ptr.Pointer() != nil { + var defaultValueC *C.char + if defaultValue != "" { + defaultValueC = C.CString(defaultValue) + defer C.free(unsafe.Pointer(defaultValueC)) + } + C.QCommandLineOption_SetDefaultValue(ptr.Pointer(), C.struct_QtCore_PackedString{data: defaultValueC, len: C.longlong(len(defaultValue))}) + } +} + +func (ptr *QCommandLineOption) SetDefaultValues(defaultValues []string) { + if ptr.Pointer() != nil { + defaultValuesC := C.CString(strings.Join(defaultValues, "¡¦!")) + defer C.free(unsafe.Pointer(defaultValuesC)) + C.QCommandLineOption_SetDefaultValues(ptr.Pointer(), C.struct_QtCore_PackedString{data: defaultValuesC, len: C.longlong(len(strings.Join(defaultValues, "¡¦!")))}) + } +} + +func (ptr *QCommandLineOption) SetDescription(description string) { + if ptr.Pointer() != nil { + var descriptionC *C.char + if description != "" { + descriptionC = C.CString(description) + defer C.free(unsafe.Pointer(descriptionC)) + } + C.QCommandLineOption_SetDescription(ptr.Pointer(), C.struct_QtCore_PackedString{data: descriptionC, len: C.longlong(len(description))}) + } +} + +func (ptr *QCommandLineOption) SetFlags(flags QCommandLineOption__Flag) { + if ptr.Pointer() != nil { + C.QCommandLineOption_SetFlags(ptr.Pointer(), C.longlong(flags)) + } +} + +func (ptr *QCommandLineOption) SetValueName(valueName string) { + if ptr.Pointer() != nil { + var valueNameC *C.char + if valueName != "" { + valueNameC = C.CString(valueName) + defer C.free(unsafe.Pointer(valueNameC)) + } + C.QCommandLineOption_SetValueName(ptr.Pointer(), C.struct_QtCore_PackedString{data: valueNameC, len: C.longlong(len(valueName))}) + } +} + +func (ptr *QCommandLineOption) Swap(other QCommandLineOption_ITF) { + if ptr.Pointer() != nil { + C.QCommandLineOption_Swap(ptr.Pointer(), PointerFromQCommandLineOption(other)) + } +} + +func (ptr *QCommandLineOption) ValueName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCommandLineOption_ValueName(ptr.Pointer())) + } + return "" +} + +func (ptr *QCommandLineOption) DestroyQCommandLineOption() { + if ptr.Pointer() != nil { + C.QCommandLineOption_DestroyQCommandLineOption(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QCommandLineParser struct { + ptr unsafe.Pointer +} + +type QCommandLineParser_ITF interface { + QCommandLineParser_PTR() *QCommandLineParser +} + +func (ptr *QCommandLineParser) QCommandLineParser_PTR() *QCommandLineParser { + return ptr +} + +func (ptr *QCommandLineParser) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCommandLineParser) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCommandLineParser(ptr QCommandLineParser_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCommandLineParser_PTR().Pointer() + } + return nil +} + +func NewQCommandLineParserFromPointer(ptr unsafe.Pointer) (n *QCommandLineParser) { + n = new(QCommandLineParser) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QCommandLineParser__SingleDashWordOptionMode +//QCommandLineParser::SingleDashWordOptionMode +type QCommandLineParser__SingleDashWordOptionMode int64 + +const ( + QCommandLineParser__ParseAsCompactedShortOptions QCommandLineParser__SingleDashWordOptionMode = QCommandLineParser__SingleDashWordOptionMode(0) + QCommandLineParser__ParseAsLongOptions QCommandLineParser__SingleDashWordOptionMode = QCommandLineParser__SingleDashWordOptionMode(1) +) + +//go:generate stringer -type=QCommandLineParser__OptionsAfterPositionalArgumentsMode +//QCommandLineParser::OptionsAfterPositionalArgumentsMode +type QCommandLineParser__OptionsAfterPositionalArgumentsMode int64 + +const ( + QCommandLineParser__ParseAsOptions QCommandLineParser__OptionsAfterPositionalArgumentsMode = QCommandLineParser__OptionsAfterPositionalArgumentsMode(0) + QCommandLineParser__ParseAsPositionalArguments QCommandLineParser__OptionsAfterPositionalArgumentsMode = QCommandLineParser__OptionsAfterPositionalArgumentsMode(1) +) + +func NewQCommandLineParser() *QCommandLineParser { + tmpValue := NewQCommandLineParserFromPointer(C.QCommandLineParser_NewQCommandLineParser()) + runtime.SetFinalizer(tmpValue, (*QCommandLineParser).DestroyQCommandLineParser) + return tmpValue +} + +func (ptr *QCommandLineParser) AddHelpOption() *QCommandLineOption { + if ptr.Pointer() != nil { + tmpValue := NewQCommandLineOptionFromPointer(C.QCommandLineParser_AddHelpOption(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QCommandLineOption).DestroyQCommandLineOption) + return tmpValue + } + return nil +} + +func (ptr *QCommandLineParser) AddOption(option QCommandLineOption_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QCommandLineParser_AddOption(ptr.Pointer(), PointerFromQCommandLineOption(option))) != 0 + } + return false +} + +func (ptr *QCommandLineParser) AddOptions(options []*QCommandLineOption) bool { + if ptr.Pointer() != nil { + return int8(C.QCommandLineParser_AddOptions(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQCommandLineParserFromPointer(NewQCommandLineParserFromPointer(nil).__addOptions_options_newList()) + for _, v := range options { + tmpList.__addOptions_options_setList(v) + } + return tmpList.Pointer() + }())) != 0 + } + return false +} + +func (ptr *QCommandLineParser) AddPositionalArgument(name string, description string, syntax string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var descriptionC *C.char + if description != "" { + descriptionC = C.CString(description) + defer C.free(unsafe.Pointer(descriptionC)) + } + var syntaxC *C.char + if syntax != "" { + syntaxC = C.CString(syntax) + defer C.free(unsafe.Pointer(syntaxC)) + } + C.QCommandLineParser_AddPositionalArgument(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtCore_PackedString{data: descriptionC, len: C.longlong(len(description))}, C.struct_QtCore_PackedString{data: syntaxC, len: C.longlong(len(syntax))}) + } +} + +func (ptr *QCommandLineParser) AddVersionOption() *QCommandLineOption { + if ptr.Pointer() != nil { + tmpValue := NewQCommandLineOptionFromPointer(C.QCommandLineParser_AddVersionOption(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QCommandLineOption).DestroyQCommandLineOption) + return tmpValue + } + return nil +} + +func (ptr *QCommandLineParser) ApplicationDescription() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCommandLineParser_ApplicationDescription(ptr.Pointer())) + } + return "" +} + +func (ptr *QCommandLineParser) ClearPositionalArguments() { + if ptr.Pointer() != nil { + C.QCommandLineParser_ClearPositionalArguments(ptr.Pointer()) + } +} + +func (ptr *QCommandLineParser) ErrorText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCommandLineParser_ErrorText(ptr.Pointer())) + } + return "" +} + +func (ptr *QCommandLineParser) HelpText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCommandLineParser_HelpText(ptr.Pointer())) + } + return "" +} + +func (ptr *QCommandLineParser) IsSet(name string) bool { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QCommandLineParser_IsSet(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 + } + return false +} + +func (ptr *QCommandLineParser) IsSet2(option QCommandLineOption_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QCommandLineParser_IsSet2(ptr.Pointer(), PointerFromQCommandLineOption(option))) != 0 + } + return false +} + +func (ptr *QCommandLineParser) OptionNames() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QCommandLineParser_OptionNames(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QCommandLineParser) Parse(arguments []string) bool { + if ptr.Pointer() != nil { + argumentsC := C.CString(strings.Join(arguments, "¡¦!")) + defer C.free(unsafe.Pointer(argumentsC)) + return int8(C.QCommandLineParser_Parse(ptr.Pointer(), C.struct_QtCore_PackedString{data: argumentsC, len: C.longlong(len(strings.Join(arguments, "¡¦!")))})) != 0 + } + return false +} + +func (ptr *QCommandLineParser) PositionalArguments() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QCommandLineParser_PositionalArguments(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QCommandLineParser) Process(arguments []string) { + if ptr.Pointer() != nil { + argumentsC := C.CString(strings.Join(arguments, "¡¦!")) + defer C.free(unsafe.Pointer(argumentsC)) + C.QCommandLineParser_Process(ptr.Pointer(), C.struct_QtCore_PackedString{data: argumentsC, len: C.longlong(len(strings.Join(arguments, "¡¦!")))}) + } +} + +func (ptr *QCommandLineParser) Process2(app QCoreApplication_ITF) { + if ptr.Pointer() != nil { + C.QCommandLineParser_Process2(ptr.Pointer(), PointerFromQCoreApplication(app)) + } +} + +func (ptr *QCommandLineParser) SetApplicationDescription(description string) { + if ptr.Pointer() != nil { + var descriptionC *C.char + if description != "" { + descriptionC = C.CString(description) + defer C.free(unsafe.Pointer(descriptionC)) + } + C.QCommandLineParser_SetApplicationDescription(ptr.Pointer(), C.struct_QtCore_PackedString{data: descriptionC, len: C.longlong(len(description))}) + } +} + +func (ptr *QCommandLineParser) SetOptionsAfterPositionalArgumentsMode(parsingMode QCommandLineParser__OptionsAfterPositionalArgumentsMode) { + if ptr.Pointer() != nil { + C.QCommandLineParser_SetOptionsAfterPositionalArgumentsMode(ptr.Pointer(), C.longlong(parsingMode)) + } +} + +func (ptr *QCommandLineParser) SetSingleDashWordOptionMode(singleDashWordOptionMode QCommandLineParser__SingleDashWordOptionMode) { + if ptr.Pointer() != nil { + C.QCommandLineParser_SetSingleDashWordOptionMode(ptr.Pointer(), C.longlong(singleDashWordOptionMode)) + } +} + +func (ptr *QCommandLineParser) ShowHelp(exitCode int) { + if ptr.Pointer() != nil { + C.QCommandLineParser_ShowHelp(ptr.Pointer(), C.int(int32(exitCode))) + } +} + +func (ptr *QCommandLineParser) ShowVersion() { + if ptr.Pointer() != nil { + C.QCommandLineParser_ShowVersion(ptr.Pointer()) + } +} + +func (ptr *QCommandLineParser) UnknownOptionNames() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QCommandLineParser_UnknownOptionNames(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QCommandLineParser) Value(optionName string) string { + if ptr.Pointer() != nil { + var optionNameC *C.char + if optionName != "" { + optionNameC = C.CString(optionName) + defer C.free(unsafe.Pointer(optionNameC)) + } + return cGoUnpackString(C.QCommandLineParser_Value(ptr.Pointer(), C.struct_QtCore_PackedString{data: optionNameC, len: C.longlong(len(optionName))})) + } + return "" +} + +func (ptr *QCommandLineParser) Value2(option QCommandLineOption_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QCommandLineParser_Value2(ptr.Pointer(), PointerFromQCommandLineOption(option))) + } + return "" +} + +func (ptr *QCommandLineParser) Values(optionName string) []string { + if ptr.Pointer() != nil { + var optionNameC *C.char + if optionName != "" { + optionNameC = C.CString(optionName) + defer C.free(unsafe.Pointer(optionNameC)) + } + return unpackStringList(cGoUnpackString(C.QCommandLineParser_Values(ptr.Pointer(), C.struct_QtCore_PackedString{data: optionNameC, len: C.longlong(len(optionName))}))) + } + return make([]string, 0) +} + +func (ptr *QCommandLineParser) Values2(option QCommandLineOption_ITF) []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QCommandLineParser_Values2(ptr.Pointer(), PointerFromQCommandLineOption(option)))) + } + return make([]string, 0) +} + +func (ptr *QCommandLineParser) DestroyQCommandLineParser() { + if ptr.Pointer() != nil { + C.QCommandLineParser_DestroyQCommandLineParser(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QCommandLineParser) __addOptions_options_atList(i int) *QCommandLineOption { + if ptr.Pointer() != nil { + tmpValue := NewQCommandLineOptionFromPointer(C.QCommandLineParser___addOptions_options_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QCommandLineOption).DestroyQCommandLineOption) + return tmpValue + } + return nil +} + +func (ptr *QCommandLineParser) __addOptions_options_setList(i QCommandLineOption_ITF) { + if ptr.Pointer() != nil { + C.QCommandLineParser___addOptions_options_setList(ptr.Pointer(), PointerFromQCommandLineOption(i)) + } +} + +func (ptr *QCommandLineParser) __addOptions_options_newList() unsafe.Pointer { + return C.QCommandLineParser___addOptions_options_newList(ptr.Pointer()) +} + +type QConcatenateTablesProxyModel struct { + QAbstractItemModel +} + +type QConcatenateTablesProxyModel_ITF interface { + QAbstractItemModel_ITF + QConcatenateTablesProxyModel_PTR() *QConcatenateTablesProxyModel +} + +func (ptr *QConcatenateTablesProxyModel) QConcatenateTablesProxyModel_PTR() *QConcatenateTablesProxyModel { + return ptr +} + +func (ptr *QConcatenateTablesProxyModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractItemModel_PTR().Pointer() + } + return nil +} + +func (ptr *QConcatenateTablesProxyModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractItemModel_PTR().SetPointer(p) + } +} + +func PointerFromQConcatenateTablesProxyModel(ptr QConcatenateTablesProxyModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QConcatenateTablesProxyModel_PTR().Pointer() + } + return nil +} + +func NewQConcatenateTablesProxyModelFromPointer(ptr unsafe.Pointer) (n *QConcatenateTablesProxyModel) { + n = new(QConcatenateTablesProxyModel) + n.SetPointer(ptr) + return +} +func NewQConcatenateTablesProxyModel(parent QObject_ITF) *QConcatenateTablesProxyModel { + tmpValue := NewQConcatenateTablesProxyModelFromPointer(C.QConcatenateTablesProxyModel_NewQConcatenateTablesProxyModel(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QConcatenateTablesProxyModel) AddSourceModel(sourceModel QAbstractItemModel_ITF) { + if ptr.Pointer() != nil { + C.QConcatenateTablesProxyModel_AddSourceModel(ptr.Pointer(), PointerFromQAbstractItemModel(sourceModel)) + } +} + +//export callbackQConcatenateTablesProxyModel_ColumnCount +func callbackQConcatenateTablesProxyModel_ColumnCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQConcatenateTablesProxyModelFromPointer(ptr).ColumnCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QConcatenateTablesProxyModel) ConnectColumnCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QConcatenateTablesProxyModel) DisconnectColumnCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnCount") + } +} + +func (ptr *QConcatenateTablesProxyModel) ColumnCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QConcatenateTablesProxyModel_ColumnCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QConcatenateTablesProxyModel) ColumnCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QConcatenateTablesProxyModel_ColumnCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQConcatenateTablesProxyModel_Data +func callbackQConcatenateTablesProxyModel_Data(ptr unsafe.Pointer, index unsafe.Pointer, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return PointerFromQVariant((*(*func(*QModelIndex, int) *QVariant)(signal))(NewQModelIndexFromPointer(index), int(int32(role)))) + } + + return PointerFromQVariant(NewQConcatenateTablesProxyModelFromPointer(ptr).DataDefault(NewQModelIndexFromPointer(index), int(int32(role)))) +} + +func (ptr *QConcatenateTablesProxyModel) ConnectData(f func(index *QModelIndex, role int) *QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "data"); signal != nil { + f := func(index *QModelIndex, role int) *QVariant { + (*(*func(*QModelIndex, int) *QVariant)(signal))(index, role) + return f(index, role) + } + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QConcatenateTablesProxyModel) DisconnectData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "data") + } +} + +func (ptr *QConcatenateTablesProxyModel) Data(index QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QConcatenateTablesProxyModel_Data(ptr.Pointer(), PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QConcatenateTablesProxyModel) DataDefault(index QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QConcatenateTablesProxyModel_DataDefault(ptr.Pointer(), PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQConcatenateTablesProxyModel_Index +func callbackQConcatenateTablesProxyModel_Index(ptr unsafe.Pointer, row C.int, column C.int, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "index"); signal != nil { + return PointerFromQModelIndex((*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) + } + + return PointerFromQModelIndex(NewQConcatenateTablesProxyModelFromPointer(ptr).IndexDefault(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) +} + +func (ptr *QConcatenateTablesProxyModel) ConnectIndex(f func(row int, column int, parent *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "index"); signal != nil { + f := func(row int, column int, parent *QModelIndex) *QModelIndex { + (*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(row, column, parent) + return f(row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QConcatenateTablesProxyModel) DisconnectIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "index") + } +} + +func (ptr *QConcatenateTablesProxyModel) Index(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QConcatenateTablesProxyModel_Index(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QConcatenateTablesProxyModel) IndexDefault(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QConcatenateTablesProxyModel_IndexDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QConcatenateTablesProxyModel) MapFromSource(sourceIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QConcatenateTablesProxyModel_MapFromSource(ptr.Pointer(), PointerFromQModelIndex(sourceIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QConcatenateTablesProxyModel) MapToSource(proxyIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QConcatenateTablesProxyModel_MapToSource(ptr.Pointer(), PointerFromQModelIndex(proxyIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQConcatenateTablesProxyModel_Parent +func callbackQConcatenateTablesProxyModel_Parent(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(index))) + } + + return PointerFromQModelIndex(NewQConcatenateTablesProxyModelFromPointer(ptr).ParentDefault(NewQModelIndexFromPointer(index))) +} + +func (ptr *QConcatenateTablesProxyModel) ConnectParent(f func(index *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "parent"); signal != nil { + f := func(index *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(index) + return f(index) + } + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QConcatenateTablesProxyModel) DisconnectParent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "parent") + } +} + +func (ptr *QConcatenateTablesProxyModel) Parent(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QConcatenateTablesProxyModel_Parent(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QConcatenateTablesProxyModel) ParentDefault(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QConcatenateTablesProxyModel_ParentDefault(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QConcatenateTablesProxyModel) RemoveSourceModel(sourceModel QAbstractItemModel_ITF) { + if ptr.Pointer() != nil { + C.QConcatenateTablesProxyModel_RemoveSourceModel(ptr.Pointer(), PointerFromQAbstractItemModel(sourceModel)) + } +} + +//export callbackQConcatenateTablesProxyModel_RowCount +func callbackQConcatenateTablesProxyModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQConcatenateTablesProxyModelFromPointer(ptr).RowCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QConcatenateTablesProxyModel) ConnectRowCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QConcatenateTablesProxyModel) DisconnectRowCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowCount") + } +} + +func (ptr *QConcatenateTablesProxyModel) RowCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QConcatenateTablesProxyModel_RowCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QConcatenateTablesProxyModel) RowCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QConcatenateTablesProxyModel_RowCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQConcatenateTablesProxyModel_DestroyQConcatenateTablesProxyModel +func callbackQConcatenateTablesProxyModel_DestroyQConcatenateTablesProxyModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QConcatenateTablesProxyModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQConcatenateTablesProxyModelFromPointer(ptr).DestroyQConcatenateTablesProxyModelDefault() + } +} + +func (ptr *QConcatenateTablesProxyModel) ConnectDestroyQConcatenateTablesProxyModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QConcatenateTablesProxyModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QConcatenateTablesProxyModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QConcatenateTablesProxyModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QConcatenateTablesProxyModel) DisconnectDestroyQConcatenateTablesProxyModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QConcatenateTablesProxyModel") + } +} + +func (ptr *QConcatenateTablesProxyModel) DestroyQConcatenateTablesProxyModel() { + if ptr.Pointer() != nil { + C.QConcatenateTablesProxyModel_DestroyQConcatenateTablesProxyModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QConcatenateTablesProxyModel) DestroyQConcatenateTablesProxyModelDefault() { + if ptr.Pointer() != nil { + C.QConcatenateTablesProxyModel_DestroyQConcatenateTablesProxyModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QContiguousCache struct { + ptr unsafe.Pointer +} + +type QContiguousCache_ITF interface { + QContiguousCache_PTR() *QContiguousCache +} + +func (ptr *QContiguousCache) QContiguousCache_PTR() *QContiguousCache { + return ptr +} + +func (ptr *QContiguousCache) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QContiguousCache) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQContiguousCache(ptr QContiguousCache_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QContiguousCache_PTR().Pointer() + } + return nil +} + +func NewQContiguousCacheFromPointer(ptr unsafe.Pointer) (n *QContiguousCache) { + n = new(QContiguousCache) + n.SetPointer(ptr) + return +} + +type QContiguousCacheData struct { + ptr unsafe.Pointer +} + +type QContiguousCacheData_ITF interface { + QContiguousCacheData_PTR() *QContiguousCacheData +} + +func (ptr *QContiguousCacheData) QContiguousCacheData_PTR() *QContiguousCacheData { + return ptr +} + +func (ptr *QContiguousCacheData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QContiguousCacheData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQContiguousCacheData(ptr QContiguousCacheData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QContiguousCacheData_PTR().Pointer() + } + return nil +} + +func NewQContiguousCacheDataFromPointer(ptr unsafe.Pointer) (n *QContiguousCacheData) { + n = new(QContiguousCacheData) + n.SetPointer(ptr) + return +} + +func (ptr *QContiguousCacheData) DestroyQContiguousCacheData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QContiguousCacheTypedData struct { + ptr unsafe.Pointer +} + +type QContiguousCacheTypedData_ITF interface { + QContiguousCacheTypedData_PTR() *QContiguousCacheTypedData +} + +func (ptr *QContiguousCacheTypedData) QContiguousCacheTypedData_PTR() *QContiguousCacheTypedData { + return ptr +} + +func (ptr *QContiguousCacheTypedData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QContiguousCacheTypedData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQContiguousCacheTypedData(ptr QContiguousCacheTypedData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QContiguousCacheTypedData_PTR().Pointer() + } + return nil +} + +func NewQContiguousCacheTypedDataFromPointer(ptr unsafe.Pointer) (n *QContiguousCacheTypedData) { + n = new(QContiguousCacheTypedData) + n.SetPointer(ptr) + return +} + +func (ptr *QContiguousCacheTypedData) DestroyQContiguousCacheTypedData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QCoreApplication struct { + QObject +} + +type QCoreApplication_ITF interface { + QObject_ITF + QCoreApplication_PTR() *QCoreApplication +} + +func (ptr *QCoreApplication) QCoreApplication_PTR() *QCoreApplication { + return ptr +} + +func (ptr *QCoreApplication) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QCoreApplication) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQCoreApplication(ptr QCoreApplication_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCoreApplication_PTR().Pointer() + } + return nil +} + +func NewQCoreApplicationFromPointer(ptr unsafe.Pointer) (n *QCoreApplication) { + n = new(QCoreApplication) + n.SetPointer(ptr) + return +} +func NewQCoreApplication(argc int, argv []string) *QCoreApplication { + argvC := C.CString(strings.Join(argv, "|")) + defer C.free(unsafe.Pointer(argvC)) + tmpValue := NewQCoreApplicationFromPointer(C.QCoreApplication_NewQCoreApplication(C.int(int32(argc)), argvC)) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQCoreApplication_AboutToQuit +func callbackQCoreApplication_AboutToQuit(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "aboutToQuit"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QCoreApplication) ConnectAboutToQuit(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "aboutToQuit") { + C.QCoreApplication_ConnectAboutToQuit(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "aboutToQuit"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "aboutToQuit"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "aboutToQuit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "aboutToQuit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QCoreApplication) DisconnectAboutToQuit() { + if ptr.Pointer() != nil { + C.QCoreApplication_DisconnectAboutToQuit(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "aboutToQuit") + } +} + +func QCoreApplication_AddLibraryPath(path string) { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QCoreApplication_QCoreApplication_AddLibraryPath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) +} + +func (ptr *QCoreApplication) AddLibraryPath(path string) { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QCoreApplication_QCoreApplication_AddLibraryPath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) +} + +func QCoreApplication_ApplicationDirPath() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_ApplicationDirPath()) +} + +func (ptr *QCoreApplication) ApplicationDirPath() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_ApplicationDirPath()) +} + +func QCoreApplication_ApplicationFilePath() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_ApplicationFilePath()) +} + +func (ptr *QCoreApplication) ApplicationFilePath() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_ApplicationFilePath()) +} + +func QCoreApplication_ApplicationName() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_ApplicationName()) +} + +func (ptr *QCoreApplication) ApplicationName() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_ApplicationName()) +} + +//export callbackQCoreApplication_ApplicationNameChanged +func callbackQCoreApplication_ApplicationNameChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "applicationNameChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QCoreApplication) ConnectApplicationNameChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "applicationNameChanged") { + C.QCoreApplication_ConnectApplicationNameChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "applicationNameChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "applicationNameChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "applicationNameChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "applicationNameChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QCoreApplication) DisconnectApplicationNameChanged() { + if ptr.Pointer() != nil { + C.QCoreApplication_DisconnectApplicationNameChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "applicationNameChanged") + } +} + +func (ptr *QCoreApplication) ApplicationNameChanged() { + if ptr.Pointer() != nil { + C.QCoreApplication_ApplicationNameChanged(ptr.Pointer()) + } +} + +func QCoreApplication_ApplicationPid() int64 { + return int64(C.QCoreApplication_QCoreApplication_ApplicationPid()) +} + +func (ptr *QCoreApplication) ApplicationPid() int64 { + return int64(C.QCoreApplication_QCoreApplication_ApplicationPid()) +} + +func QCoreApplication_ApplicationVersion() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_ApplicationVersion()) +} + +func (ptr *QCoreApplication) ApplicationVersion() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_ApplicationVersion()) +} + +//export callbackQCoreApplication_ApplicationVersionChanged +func callbackQCoreApplication_ApplicationVersionChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "applicationVersionChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QCoreApplication) ConnectApplicationVersionChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "applicationVersionChanged") { + C.QCoreApplication_ConnectApplicationVersionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "applicationVersionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "applicationVersionChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "applicationVersionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "applicationVersionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QCoreApplication) DisconnectApplicationVersionChanged() { + if ptr.Pointer() != nil { + C.QCoreApplication_DisconnectApplicationVersionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "applicationVersionChanged") + } +} + +func (ptr *QCoreApplication) ApplicationVersionChanged() { + if ptr.Pointer() != nil { + C.QCoreApplication_ApplicationVersionChanged(ptr.Pointer()) + } +} + +func QCoreApplication_Arguments() []string { + return unpackStringList(cGoUnpackString(C.QCoreApplication_QCoreApplication_Arguments())) +} + +func (ptr *QCoreApplication) Arguments() []string { + return unpackStringList(cGoUnpackString(C.QCoreApplication_QCoreApplication_Arguments())) +} + +func QCoreApplication_ClosingDown() bool { + return int8(C.QCoreApplication_QCoreApplication_ClosingDown()) != 0 +} + +func (ptr *QCoreApplication) ClosingDown() bool { + return int8(C.QCoreApplication_QCoreApplication_ClosingDown()) != 0 +} + +func QCoreApplication_EventDispatcher() *QAbstractEventDispatcher { + tmpValue := NewQAbstractEventDispatcherFromPointer(C.QCoreApplication_QCoreApplication_EventDispatcher()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QCoreApplication) EventDispatcher() *QAbstractEventDispatcher { + tmpValue := NewQAbstractEventDispatcherFromPointer(C.QCoreApplication_QCoreApplication_EventDispatcher()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QCoreApplication_Exec() int { + return int(int32(C.QCoreApplication_QCoreApplication_Exec())) +} + +func (ptr *QCoreApplication) Exec() int { + return int(int32(C.QCoreApplication_QCoreApplication_Exec())) +} + +func QCoreApplication_Exit(returnCode int) { + C.QCoreApplication_QCoreApplication_Exit(C.int(int32(returnCode))) +} + +func (ptr *QCoreApplication) Exit(returnCode int) { + C.QCoreApplication_QCoreApplication_Exit(C.int(int32(returnCode))) +} + +func (ptr *QCoreApplication) InstallNativeEventFilter(filterObj QAbstractNativeEventFilter_ITF) { + if ptr.Pointer() != nil { + C.QCoreApplication_InstallNativeEventFilter(ptr.Pointer(), PointerFromQAbstractNativeEventFilter(filterObj)) + } +} + +func QCoreApplication_InstallTranslator(translationFile QTranslator_ITF) bool { + return int8(C.QCoreApplication_QCoreApplication_InstallTranslator(PointerFromQTranslator(translationFile))) != 0 +} + +func (ptr *QCoreApplication) InstallTranslator(translationFile QTranslator_ITF) bool { + return int8(C.QCoreApplication_QCoreApplication_InstallTranslator(PointerFromQTranslator(translationFile))) != 0 +} + +func QCoreApplication_Instance() *QCoreApplication { + tmpValue := NewQCoreApplicationFromPointer(C.QCoreApplication_QCoreApplication_Instance()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QCoreApplication) Instance() *QCoreApplication { + tmpValue := NewQCoreApplicationFromPointer(C.QCoreApplication_QCoreApplication_Instance()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QCoreApplication_IsQuitLockEnabled() bool { + return int8(C.QCoreApplication_QCoreApplication_IsQuitLockEnabled()) != 0 +} + +func (ptr *QCoreApplication) IsQuitLockEnabled() bool { + return int8(C.QCoreApplication_QCoreApplication_IsQuitLockEnabled()) != 0 +} + +func QCoreApplication_IsSetuidAllowed() bool { + return int8(C.QCoreApplication_QCoreApplication_IsSetuidAllowed()) != 0 +} + +func (ptr *QCoreApplication) IsSetuidAllowed() bool { + return int8(C.QCoreApplication_QCoreApplication_IsSetuidAllowed()) != 0 +} + +func QCoreApplication_LibraryPaths() []string { + return unpackStringList(cGoUnpackString(C.QCoreApplication_QCoreApplication_LibraryPaths())) +} + +func (ptr *QCoreApplication) LibraryPaths() []string { + return unpackStringList(cGoUnpackString(C.QCoreApplication_QCoreApplication_LibraryPaths())) +} + +func QCoreApplication_OrganizationDomain() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_OrganizationDomain()) +} + +func (ptr *QCoreApplication) OrganizationDomain() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_OrganizationDomain()) +} + +//export callbackQCoreApplication_OrganizationDomainChanged +func callbackQCoreApplication_OrganizationDomainChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "organizationDomainChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QCoreApplication) ConnectOrganizationDomainChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "organizationDomainChanged") { + C.QCoreApplication_ConnectOrganizationDomainChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "organizationDomainChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "organizationDomainChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "organizationDomainChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "organizationDomainChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QCoreApplication) DisconnectOrganizationDomainChanged() { + if ptr.Pointer() != nil { + C.QCoreApplication_DisconnectOrganizationDomainChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "organizationDomainChanged") + } +} + +func (ptr *QCoreApplication) OrganizationDomainChanged() { + if ptr.Pointer() != nil { + C.QCoreApplication_OrganizationDomainChanged(ptr.Pointer()) + } +} + +func QCoreApplication_OrganizationName() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_OrganizationName()) +} + +func (ptr *QCoreApplication) OrganizationName() string { + return cGoUnpackString(C.QCoreApplication_QCoreApplication_OrganizationName()) +} + +//export callbackQCoreApplication_OrganizationNameChanged +func callbackQCoreApplication_OrganizationNameChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "organizationNameChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QCoreApplication) ConnectOrganizationNameChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "organizationNameChanged") { + C.QCoreApplication_ConnectOrganizationNameChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "organizationNameChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "organizationNameChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "organizationNameChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "organizationNameChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QCoreApplication) DisconnectOrganizationNameChanged() { + if ptr.Pointer() != nil { + C.QCoreApplication_DisconnectOrganizationNameChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "organizationNameChanged") + } +} + +func (ptr *QCoreApplication) OrganizationNameChanged() { + if ptr.Pointer() != nil { + C.QCoreApplication_OrganizationNameChanged(ptr.Pointer()) + } +} + +func QCoreApplication_PostEvent(receiver QObject_ITF, event QEvent_ITF, priority int) { + C.QCoreApplication_QCoreApplication_PostEvent(PointerFromQObject(receiver), PointerFromQEvent(event), C.int(int32(priority))) +} + +func (ptr *QCoreApplication) PostEvent(receiver QObject_ITF, event QEvent_ITF, priority int) { + C.QCoreApplication_QCoreApplication_PostEvent(PointerFromQObject(receiver), PointerFromQEvent(event), C.int(int32(priority))) +} + +func QCoreApplication_ProcessEvents(flags QEventLoop__ProcessEventsFlag) { + C.QCoreApplication_QCoreApplication_ProcessEvents(C.longlong(flags)) +} + +func (ptr *QCoreApplication) ProcessEvents(flags QEventLoop__ProcessEventsFlag) { + C.QCoreApplication_QCoreApplication_ProcessEvents(C.longlong(flags)) +} + +func QCoreApplication_ProcessEvents2(flags QEventLoop__ProcessEventsFlag, ms int) { + C.QCoreApplication_QCoreApplication_ProcessEvents2(C.longlong(flags), C.int(int32(ms))) +} + +func (ptr *QCoreApplication) ProcessEvents2(flags QEventLoop__ProcessEventsFlag, ms int) { + C.QCoreApplication_QCoreApplication_ProcessEvents2(C.longlong(flags), C.int(int32(ms))) +} + +//export callbackQCoreApplication_Quit +func callbackQCoreApplication_Quit(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "quit"); signal != nil { + (*(*func())(signal))() + } else { + NewQCoreApplicationFromPointer(ptr).QuitDefault() + } +} + +func (ptr *QCoreApplication) ConnectQuit(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "quit"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "quit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "quit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QCoreApplication) DisconnectQuit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "quit") + } +} + +func (ptr *QCoreApplication) Quit() { + if ptr.Pointer() != nil { + C.QCoreApplication_Quit(ptr.Pointer()) + } +} + +func (ptr *QCoreApplication) QuitDefault() { + if ptr.Pointer() != nil { + C.QCoreApplication_QuitDefault(ptr.Pointer()) + } +} + +func QCoreApplication_RemoveLibraryPath(path string) { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QCoreApplication_QCoreApplication_RemoveLibraryPath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) +} + +func (ptr *QCoreApplication) RemoveLibraryPath(path string) { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QCoreApplication_QCoreApplication_RemoveLibraryPath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) +} + +func (ptr *QCoreApplication) RemoveNativeEventFilter(filterObject QAbstractNativeEventFilter_ITF) { + if ptr.Pointer() != nil { + C.QCoreApplication_RemoveNativeEventFilter(ptr.Pointer(), PointerFromQAbstractNativeEventFilter(filterObject)) + } +} + +func QCoreApplication_RemovePostedEvents(receiver QObject_ITF, eventType int) { + C.QCoreApplication_QCoreApplication_RemovePostedEvents(PointerFromQObject(receiver), C.int(int32(eventType))) +} + +func (ptr *QCoreApplication) RemovePostedEvents(receiver QObject_ITF, eventType int) { + C.QCoreApplication_QCoreApplication_RemovePostedEvents(PointerFromQObject(receiver), C.int(int32(eventType))) +} + +func QCoreApplication_RemoveTranslator(translationFile QTranslator_ITF) bool { + return int8(C.QCoreApplication_QCoreApplication_RemoveTranslator(PointerFromQTranslator(translationFile))) != 0 +} + +func (ptr *QCoreApplication) RemoveTranslator(translationFile QTranslator_ITF) bool { + return int8(C.QCoreApplication_QCoreApplication_RemoveTranslator(PointerFromQTranslator(translationFile))) != 0 +} + +func QCoreApplication_SendEvent(receiver QObject_ITF, event QEvent_ITF) bool { + return int8(C.QCoreApplication_QCoreApplication_SendEvent(PointerFromQObject(receiver), PointerFromQEvent(event))) != 0 +} + +func (ptr *QCoreApplication) SendEvent(receiver QObject_ITF, event QEvent_ITF) bool { + return int8(C.QCoreApplication_QCoreApplication_SendEvent(PointerFromQObject(receiver), PointerFromQEvent(event))) != 0 +} + +func QCoreApplication_SendPostedEvents(receiver QObject_ITF, event_type int) { + C.QCoreApplication_QCoreApplication_SendPostedEvents(PointerFromQObject(receiver), C.int(int32(event_type))) +} + +func (ptr *QCoreApplication) SendPostedEvents(receiver QObject_ITF, event_type int) { + C.QCoreApplication_QCoreApplication_SendPostedEvents(PointerFromQObject(receiver), C.int(int32(event_type))) +} + +func QCoreApplication_SetApplicationName(application string) { + var applicationC *C.char + if application != "" { + applicationC = C.CString(application) + defer C.free(unsafe.Pointer(applicationC)) + } + C.QCoreApplication_QCoreApplication_SetApplicationName(C.struct_QtCore_PackedString{data: applicationC, len: C.longlong(len(application))}) +} + +func (ptr *QCoreApplication) SetApplicationName(application string) { + var applicationC *C.char + if application != "" { + applicationC = C.CString(application) + defer C.free(unsafe.Pointer(applicationC)) + } + C.QCoreApplication_QCoreApplication_SetApplicationName(C.struct_QtCore_PackedString{data: applicationC, len: C.longlong(len(application))}) +} + +func QCoreApplication_SetApplicationVersion(version string) { + var versionC *C.char + if version != "" { + versionC = C.CString(version) + defer C.free(unsafe.Pointer(versionC)) + } + C.QCoreApplication_QCoreApplication_SetApplicationVersion(C.struct_QtCore_PackedString{data: versionC, len: C.longlong(len(version))}) +} + +func (ptr *QCoreApplication) SetApplicationVersion(version string) { + var versionC *C.char + if version != "" { + versionC = C.CString(version) + defer C.free(unsafe.Pointer(versionC)) + } + C.QCoreApplication_QCoreApplication_SetApplicationVersion(C.struct_QtCore_PackedString{data: versionC, len: C.longlong(len(version))}) +} + +func QCoreApplication_SetAttribute(attribute Qt__ApplicationAttribute, on bool) { + C.QCoreApplication_QCoreApplication_SetAttribute(C.longlong(attribute), C.char(int8(qt.GoBoolToInt(on)))) +} + +func (ptr *QCoreApplication) SetAttribute(attribute Qt__ApplicationAttribute, on bool) { + C.QCoreApplication_QCoreApplication_SetAttribute(C.longlong(attribute), C.char(int8(qt.GoBoolToInt(on)))) +} + +func QCoreApplication_SetEventDispatcher(eventDispatcher QAbstractEventDispatcher_ITF) { + C.QCoreApplication_QCoreApplication_SetEventDispatcher(PointerFromQAbstractEventDispatcher(eventDispatcher)) +} + +func (ptr *QCoreApplication) SetEventDispatcher(eventDispatcher QAbstractEventDispatcher_ITF) { + C.QCoreApplication_QCoreApplication_SetEventDispatcher(PointerFromQAbstractEventDispatcher(eventDispatcher)) +} + +func QCoreApplication_SetLibraryPaths(paths []string) { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + C.QCoreApplication_QCoreApplication_SetLibraryPaths(C.struct_QtCore_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}) +} + +func (ptr *QCoreApplication) SetLibraryPaths(paths []string) { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + C.QCoreApplication_QCoreApplication_SetLibraryPaths(C.struct_QtCore_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}) +} + +func QCoreApplication_SetOrganizationDomain(orgDomain string) { + var orgDomainC *C.char + if orgDomain != "" { + orgDomainC = C.CString(orgDomain) + defer C.free(unsafe.Pointer(orgDomainC)) + } + C.QCoreApplication_QCoreApplication_SetOrganizationDomain(C.struct_QtCore_PackedString{data: orgDomainC, len: C.longlong(len(orgDomain))}) +} + +func (ptr *QCoreApplication) SetOrganizationDomain(orgDomain string) { + var orgDomainC *C.char + if orgDomain != "" { + orgDomainC = C.CString(orgDomain) + defer C.free(unsafe.Pointer(orgDomainC)) + } + C.QCoreApplication_QCoreApplication_SetOrganizationDomain(C.struct_QtCore_PackedString{data: orgDomainC, len: C.longlong(len(orgDomain))}) +} + +func QCoreApplication_SetOrganizationName(orgName string) { + var orgNameC *C.char + if orgName != "" { + orgNameC = C.CString(orgName) + defer C.free(unsafe.Pointer(orgNameC)) + } + C.QCoreApplication_QCoreApplication_SetOrganizationName(C.struct_QtCore_PackedString{data: orgNameC, len: C.longlong(len(orgName))}) +} + +func (ptr *QCoreApplication) SetOrganizationName(orgName string) { + var orgNameC *C.char + if orgName != "" { + orgNameC = C.CString(orgName) + defer C.free(unsafe.Pointer(orgNameC)) + } + C.QCoreApplication_QCoreApplication_SetOrganizationName(C.struct_QtCore_PackedString{data: orgNameC, len: C.longlong(len(orgName))}) +} + +func QCoreApplication_SetQuitLockEnabled(enabled bool) { + C.QCoreApplication_QCoreApplication_SetQuitLockEnabled(C.char(int8(qt.GoBoolToInt(enabled)))) +} + +func (ptr *QCoreApplication) SetQuitLockEnabled(enabled bool) { + C.QCoreApplication_QCoreApplication_SetQuitLockEnabled(C.char(int8(qt.GoBoolToInt(enabled)))) +} + +func QCoreApplication_SetSetuidAllowed(allow bool) { + C.QCoreApplication_QCoreApplication_SetSetuidAllowed(C.char(int8(qt.GoBoolToInt(allow)))) +} + +func (ptr *QCoreApplication) SetSetuidAllowed(allow bool) { + C.QCoreApplication_QCoreApplication_SetSetuidAllowed(C.char(int8(qt.GoBoolToInt(allow)))) +} + +func QCoreApplication_StartingUp() bool { + return int8(C.QCoreApplication_QCoreApplication_StartingUp()) != 0 +} + +func (ptr *QCoreApplication) StartingUp() bool { + return int8(C.QCoreApplication_QCoreApplication_StartingUp()) != 0 +} + +func QCoreApplication_TestAttribute(attribute Qt__ApplicationAttribute) bool { + return int8(C.QCoreApplication_QCoreApplication_TestAttribute(C.longlong(attribute))) != 0 +} + +func (ptr *QCoreApplication) TestAttribute(attribute Qt__ApplicationAttribute) bool { + return int8(C.QCoreApplication_QCoreApplication_TestAttribute(C.longlong(attribute))) != 0 +} + +func QCoreApplication_Translate(context string, sourceText string, disambiguation string, n int) string { + var contextC *C.char + if context != "" { + contextC = C.CString(context) + defer C.free(unsafe.Pointer(contextC)) + } + var sourceTextC *C.char + if sourceText != "" { + sourceTextC = C.CString(sourceText) + defer C.free(unsafe.Pointer(sourceTextC)) + } + var disambiguationC *C.char + if disambiguation != "" { + disambiguationC = C.CString(disambiguation) + defer C.free(unsafe.Pointer(disambiguationC)) + } + return cGoUnpackString(C.QCoreApplication_QCoreApplication_Translate(contextC, sourceTextC, disambiguationC, C.int(int32(n)))) +} + +func (ptr *QCoreApplication) Translate(context string, sourceText string, disambiguation string, n int) string { + var contextC *C.char + if context != "" { + contextC = C.CString(context) + defer C.free(unsafe.Pointer(contextC)) + } + var sourceTextC *C.char + if sourceText != "" { + sourceTextC = C.CString(sourceText) + defer C.free(unsafe.Pointer(sourceTextC)) + } + var disambiguationC *C.char + if disambiguation != "" { + disambiguationC = C.CString(disambiguation) + defer C.free(unsafe.Pointer(disambiguationC)) + } + return cGoUnpackString(C.QCoreApplication_QCoreApplication_Translate(contextC, sourceTextC, disambiguationC, C.int(int32(n)))) +} + +//export callbackQCoreApplication_DestroyQCoreApplication +func callbackQCoreApplication_DestroyQCoreApplication(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QCoreApplication"); signal != nil { + (*(*func())(signal))() + } else { + NewQCoreApplicationFromPointer(ptr).DestroyQCoreApplicationDefault() + } +} + +func (ptr *QCoreApplication) ConnectDestroyQCoreApplication(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QCoreApplication"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QCoreApplication", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QCoreApplication", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QCoreApplication) DisconnectDestroyQCoreApplication() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QCoreApplication") + } +} + +func (ptr *QCoreApplication) DestroyQCoreApplication() { + if ptr.Pointer() != nil { + C.QCoreApplication_DestroyQCoreApplication(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QCoreApplication) DestroyQCoreApplicationDefault() { + if ptr.Pointer() != nil { + C.QCoreApplication_DestroyQCoreApplicationDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QCryptographicHash struct { + ptr unsafe.Pointer +} + +type QCryptographicHash_ITF interface { + QCryptographicHash_PTR() *QCryptographicHash +} + +func (ptr *QCryptographicHash) QCryptographicHash_PTR() *QCryptographicHash { + return ptr +} + +func (ptr *QCryptographicHash) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCryptographicHash) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCryptographicHash(ptr QCryptographicHash_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCryptographicHash_PTR().Pointer() + } + return nil +} + +func NewQCryptographicHashFromPointer(ptr unsafe.Pointer) (n *QCryptographicHash) { + n = new(QCryptographicHash) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QCryptographicHash__Algorithm +//QCryptographicHash::Algorithm +type QCryptographicHash__Algorithm int64 + +const ( + QCryptographicHash__Md4 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(0) + QCryptographicHash__Md5 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(1) + QCryptographicHash__Sha1 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(2) + QCryptographicHash__Sha224 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(3) + QCryptographicHash__Sha256 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(4) + QCryptographicHash__Sha384 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(5) + QCryptographicHash__Sha512 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(6) + QCryptographicHash__Keccak_224 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(7) + QCryptographicHash__Keccak_256 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(8) + QCryptographicHash__Keccak_384 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(9) + QCryptographicHash__Keccak_512 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(10) + QCryptographicHash__RealSha3_224 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(11) + QCryptographicHash__RealSha3_256 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(12) + QCryptographicHash__RealSha3_384 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(13) + QCryptographicHash__RealSha3_512 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(14) + QCryptographicHash__Sha3_224 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(QCryptographicHash__RealSha3_224) + QCryptographicHash__Sha3_256 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(QCryptographicHash__RealSha3_256) + QCryptographicHash__Sha3_384 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(QCryptographicHash__RealSha3_384) + QCryptographicHash__Sha3_512 QCryptographicHash__Algorithm = QCryptographicHash__Algorithm(QCryptographicHash__RealSha3_512) +) + +func NewQCryptographicHash(method QCryptographicHash__Algorithm) *QCryptographicHash { + tmpValue := NewQCryptographicHashFromPointer(C.QCryptographicHash_NewQCryptographicHash(C.longlong(method))) + runtime.SetFinalizer(tmpValue, (*QCryptographicHash).DestroyQCryptographicHash) + return tmpValue +} + +func (ptr *QCryptographicHash) AddData(data []byte, length int) { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + C.QCryptographicHash_AddData(ptr.Pointer(), dataC, C.int(int32(length))) + } +} + +func (ptr *QCryptographicHash) AddData2(data QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QCryptographicHash_AddData2(ptr.Pointer(), PointerFromQByteArray(data)) + } +} + +func (ptr *QCryptographicHash) AddData3(device QIODevice_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QCryptographicHash_AddData3(ptr.Pointer(), PointerFromQIODevice(device))) != 0 + } + return false +} + +func QCryptographicHash_Hash(data QByteArray_ITF, method QCryptographicHash__Algorithm) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QCryptographicHash_QCryptographicHash_Hash(PointerFromQByteArray(data), C.longlong(method))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QCryptographicHash) Hash(data QByteArray_ITF, method QCryptographicHash__Algorithm) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QCryptographicHash_QCryptographicHash_Hash(PointerFromQByteArray(data), C.longlong(method))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QCryptographicHash_HashLength(method QCryptographicHash__Algorithm) int { + return int(int32(C.QCryptographicHash_QCryptographicHash_HashLength(C.longlong(method)))) +} + +func (ptr *QCryptographicHash) HashLength(method QCryptographicHash__Algorithm) int { + return int(int32(C.QCryptographicHash_QCryptographicHash_HashLength(C.longlong(method)))) +} + +func (ptr *QCryptographicHash) Reset() { + if ptr.Pointer() != nil { + C.QCryptographicHash_Reset(ptr.Pointer()) + } +} + +func (ptr *QCryptographicHash) Result() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QCryptographicHash_Result(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QCryptographicHash) DestroyQCryptographicHash() { + if ptr.Pointer() != nil { + C.QCryptographicHash_DestroyQCryptographicHash(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDataStream struct { + ptr unsafe.Pointer +} + +type QDataStream_ITF interface { + QDataStream_PTR() *QDataStream +} + +func (ptr *QDataStream) QDataStream_PTR() *QDataStream { + return ptr +} + +func (ptr *QDataStream) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDataStream) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDataStream(ptr QDataStream_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDataStream_PTR().Pointer() + } + return nil +} + +func NewQDataStreamFromPointer(ptr unsafe.Pointer) (n *QDataStream) { + n = new(QDataStream) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QDataStream__Version +//QDataStream::Version +type QDataStream__Version int64 + +const ( + QDataStream__Qt_1_0 QDataStream__Version = QDataStream__Version(1) + QDataStream__Qt_2_0 QDataStream__Version = QDataStream__Version(2) + QDataStream__Qt_2_1 QDataStream__Version = QDataStream__Version(3) + QDataStream__Qt_3_0 QDataStream__Version = QDataStream__Version(4) + QDataStream__Qt_3_1 QDataStream__Version = QDataStream__Version(5) + QDataStream__Qt_3_3 QDataStream__Version = QDataStream__Version(6) + QDataStream__Qt_4_0 QDataStream__Version = QDataStream__Version(7) + QDataStream__Qt_4_1 QDataStream__Version = QDataStream__Version(QDataStream__Qt_4_0) + QDataStream__Qt_4_2 QDataStream__Version = QDataStream__Version(8) + QDataStream__Qt_4_3 QDataStream__Version = QDataStream__Version(9) + QDataStream__Qt_4_4 QDataStream__Version = QDataStream__Version(10) + QDataStream__Qt_4_5 QDataStream__Version = QDataStream__Version(11) + QDataStream__Qt_4_6 QDataStream__Version = QDataStream__Version(12) + QDataStream__Qt_4_7 QDataStream__Version = QDataStream__Version(QDataStream__Qt_4_6) + QDataStream__Qt_4_8 QDataStream__Version = QDataStream__Version(QDataStream__Qt_4_7) + QDataStream__Qt_4_9 QDataStream__Version = QDataStream__Version(QDataStream__Qt_4_8) + QDataStream__Qt_5_0 QDataStream__Version = QDataStream__Version(13) + QDataStream__Qt_5_1 QDataStream__Version = QDataStream__Version(14) + QDataStream__Qt_5_2 QDataStream__Version = QDataStream__Version(15) + QDataStream__Qt_5_3 QDataStream__Version = QDataStream__Version(QDataStream__Qt_5_2) + QDataStream__Qt_5_4 QDataStream__Version = QDataStream__Version(16) + QDataStream__Qt_5_5 QDataStream__Version = QDataStream__Version(QDataStream__Qt_5_4) + QDataStream__Qt_5_6 QDataStream__Version = QDataStream__Version(17) + QDataStream__Qt_5_7 QDataStream__Version = QDataStream__Version(QDataStream__Qt_5_6) + QDataStream__Qt_5_8 QDataStream__Version = QDataStream__Version(QDataStream__Qt_5_7) + QDataStream__Qt_5_9 QDataStream__Version = QDataStream__Version(QDataStream__Qt_5_8) + QDataStream__Qt_5_10 QDataStream__Version = QDataStream__Version(QDataStream__Qt_5_9) + QDataStream__Qt_5_11 QDataStream__Version = QDataStream__Version(QDataStream__Qt_5_10) + QDataStream__Qt_5_12 QDataStream__Version = QDataStream__Version(18) + QDataStream__Qt_5_13 QDataStream__Version = QDataStream__Version(19) + QDataStream__Qt_DefaultCompiledVersion QDataStream__Version = QDataStream__Version(QDataStream__Qt_5_13) +) + +//go:generate stringer -type=QDataStream__ByteOrder +//QDataStream::ByteOrder +type QDataStream__ByteOrder int64 + +const ( + QDataStream__BigEndian QDataStream__ByteOrder = QDataStream__ByteOrder(QSysInfo__BigEndian) + QDataStream__LittleEndian QDataStream__ByteOrder = QDataStream__ByteOrder(QSysInfo__LittleEndian) +) + +//go:generate stringer -type=QDataStream__Status +//QDataStream::Status +type QDataStream__Status int64 + +const ( + QDataStream__Ok QDataStream__Status = QDataStream__Status(0) + QDataStream__ReadPastEnd QDataStream__Status = QDataStream__Status(1) + QDataStream__ReadCorruptData QDataStream__Status = QDataStream__Status(2) + QDataStream__WriteFailed QDataStream__Status = QDataStream__Status(3) +) + +//go:generate stringer -type=QDataStream__FloatingPointPrecision +//QDataStream::FloatingPointPrecision +type QDataStream__FloatingPointPrecision int64 + +const ( + QDataStream__SinglePrecision QDataStream__FloatingPointPrecision = QDataStream__FloatingPointPrecision(0) + QDataStream__DoublePrecision QDataStream__FloatingPointPrecision = QDataStream__FloatingPointPrecision(1) +) + +func NewQDataStream() *QDataStream { + tmpValue := NewQDataStreamFromPointer(C.QDataStream_NewQDataStream()) + runtime.SetFinalizer(tmpValue, (*QDataStream).DestroyQDataStream) + return tmpValue +} + +func NewQDataStream2(d QIODevice_ITF) *QDataStream { + tmpValue := NewQDataStreamFromPointer(C.QDataStream_NewQDataStream2(PointerFromQIODevice(d))) + runtime.SetFinalizer(tmpValue, (*QDataStream).DestroyQDataStream) + return tmpValue +} + +func NewQDataStream3(a QByteArray_ITF, mode QIODevice__OpenModeFlag) *QDataStream { + tmpValue := NewQDataStreamFromPointer(C.QDataStream_NewQDataStream3(PointerFromQByteArray(a), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QDataStream).DestroyQDataStream) + return tmpValue +} + +func NewQDataStream4(a QByteArray_ITF) *QDataStream { + tmpValue := NewQDataStreamFromPointer(C.QDataStream_NewQDataStream4(PointerFromQByteArray(a))) + runtime.SetFinalizer(tmpValue, (*QDataStream).DestroyQDataStream) + return tmpValue +} + +func (ptr *QDataStream) AbortTransaction() { + if ptr.Pointer() != nil { + C.QDataStream_AbortTransaction(ptr.Pointer()) + } +} + +func (ptr *QDataStream) AtEnd() bool { + if ptr.Pointer() != nil { + return int8(C.QDataStream_AtEnd(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDataStream) ByteOrder() QDataStream__ByteOrder { + if ptr.Pointer() != nil { + return QDataStream__ByteOrder(C.QDataStream_ByteOrder(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDataStream) CommitTransaction() bool { + if ptr.Pointer() != nil { + return int8(C.QDataStream_CommitTransaction(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDataStream) Device() *QIODevice { + if ptr.Pointer() != nil { + tmpValue := NewQIODeviceFromPointer(C.QDataStream_Device(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDataStream) FloatingPointPrecision() QDataStream__FloatingPointPrecision { + if ptr.Pointer() != nil { + return QDataStream__FloatingPointPrecision(C.QDataStream_FloatingPointPrecision(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDataStream) ReadRawData(s []byte, l int) int { + if ptr.Pointer() != nil { + var sC *C.char + if len(s) != 0 { + sC = (*C.char)(unsafe.Pointer(&s[0])) + } + return int(int32(C.QDataStream_ReadRawData(ptr.Pointer(), sC, C.int(int32(l))))) + } + return 0 +} + +func (ptr *QDataStream) ResetStatus() { + if ptr.Pointer() != nil { + C.QDataStream_ResetStatus(ptr.Pointer()) + } +} + +func (ptr *QDataStream) RollbackTransaction() { + if ptr.Pointer() != nil { + C.QDataStream_RollbackTransaction(ptr.Pointer()) + } +} + +func (ptr *QDataStream) SetByteOrder(bo QDataStream__ByteOrder) { + if ptr.Pointer() != nil { + C.QDataStream_SetByteOrder(ptr.Pointer(), C.longlong(bo)) + } +} + +func (ptr *QDataStream) SetDevice(d QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QDataStream_SetDevice(ptr.Pointer(), PointerFromQIODevice(d)) + } +} + +func (ptr *QDataStream) SetFloatingPointPrecision(precision QDataStream__FloatingPointPrecision) { + if ptr.Pointer() != nil { + C.QDataStream_SetFloatingPointPrecision(ptr.Pointer(), C.longlong(precision)) + } +} + +func (ptr *QDataStream) SetStatus(status QDataStream__Status) { + if ptr.Pointer() != nil { + C.QDataStream_SetStatus(ptr.Pointer(), C.longlong(status)) + } +} + +func (ptr *QDataStream) SetVersion(v int) { + if ptr.Pointer() != nil { + C.QDataStream_SetVersion(ptr.Pointer(), C.int(int32(v))) + } +} + +func (ptr *QDataStream) SkipRawData(l int) int { + if ptr.Pointer() != nil { + return int(int32(C.QDataStream_SkipRawData(ptr.Pointer(), C.int(int32(l))))) + } + return 0 +} + +func (ptr *QDataStream) StartTransaction() { + if ptr.Pointer() != nil { + C.QDataStream_StartTransaction(ptr.Pointer()) + } +} + +func (ptr *QDataStream) Status() QDataStream__Status { + if ptr.Pointer() != nil { + return QDataStream__Status(C.QDataStream_Status(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDataStream) Version() int { + if ptr.Pointer() != nil { + return int(int32(C.QDataStream_Version(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDataStream) WriteRawData(s []byte, l int) int { + if ptr.Pointer() != nil { + var sC *C.char + if len(s) != 0 { + sC = (*C.char)(unsafe.Pointer(&s[0])) + } + return int(int32(C.QDataStream_WriteRawData(ptr.Pointer(), sC, C.int(int32(l))))) + } + return 0 +} + +func (ptr *QDataStream) DestroyQDataStream() { + if ptr.Pointer() != nil { + C.QDataStream_DestroyQDataStream(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDate struct { + ptr unsafe.Pointer +} + +type QDate_ITF interface { + QDate_PTR() *QDate +} + +func (ptr *QDate) QDate_PTR() *QDate { + return ptr +} + +func (ptr *QDate) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDate) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDate(ptr QDate_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDate_PTR().Pointer() + } + return nil +} + +func NewQDateFromPointer(ptr unsafe.Pointer) (n *QDate) { + n = new(QDate) + n.SetPointer(ptr) + return +} + +func (ptr *QDate) DestroyQDate() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QDate__MonthNameType +//QDate::MonthNameType +type QDate__MonthNameType int64 + +const ( + QDate__DateFormat QDate__MonthNameType = QDate__MonthNameType(0) + QDate__StandaloneFormat QDate__MonthNameType = QDate__MonthNameType(1) +) + +func NewQDate2() *QDate { + tmpValue := NewQDateFromPointer(C.QDate_NewQDate2()) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func NewQDate3(y int, m int, d int) *QDate { + tmpValue := NewQDateFromPointer(C.QDate_NewQDate3(C.int(int32(y)), C.int(int32(m)), C.int(int32(d)))) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func (ptr *QDate) AddDays(ndays int64) *QDate { + if ptr.Pointer() != nil { + tmpValue := NewQDateFromPointer(C.QDate_AddDays(ptr.Pointer(), C.longlong(ndays))) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue + } + return nil +} + +func (ptr *QDate) AddMonths(nmonths int) *QDate { + if ptr.Pointer() != nil { + tmpValue := NewQDateFromPointer(C.QDate_AddMonths(ptr.Pointer(), C.int(int32(nmonths)))) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue + } + return nil +} + +func (ptr *QDate) AddYears(nyears int) *QDate { + if ptr.Pointer() != nil { + tmpValue := NewQDateFromPointer(C.QDate_AddYears(ptr.Pointer(), C.int(int32(nyears)))) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue + } + return nil +} + +func QDate_CurrentDate() *QDate { + tmpValue := NewQDateFromPointer(C.QDate_QDate_CurrentDate()) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func (ptr *QDate) CurrentDate() *QDate { + tmpValue := NewQDateFromPointer(C.QDate_QDate_CurrentDate()) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func (ptr *QDate) Day() int { + if ptr.Pointer() != nil { + return int(int32(C.QDate_Day(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDate) DayOfWeek() int { + if ptr.Pointer() != nil { + return int(int32(C.QDate_DayOfWeek(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDate) DayOfYear() int { + if ptr.Pointer() != nil { + return int(int32(C.QDate_DayOfYear(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDate) DaysInMonth() int { + if ptr.Pointer() != nil { + return int(int32(C.QDate_DaysInMonth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDate) DaysInYear() int { + if ptr.Pointer() != nil { + return int(int32(C.QDate_DaysInYear(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDate) DaysTo(d QDate_ITF) int64 { + if ptr.Pointer() != nil { + return int64(C.QDate_DaysTo(ptr.Pointer(), PointerFromQDate(d))) + } + return 0 +} + +func QDate_FromJulianDay(jd int64) *QDate { + tmpValue := NewQDateFromPointer(C.QDate_QDate_FromJulianDay(C.longlong(jd))) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func (ptr *QDate) FromJulianDay(jd int64) *QDate { + tmpValue := NewQDateFromPointer(C.QDate_QDate_FromJulianDay(C.longlong(jd))) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func QDate_FromString(stri string, format Qt__DateFormat) *QDate { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQDateFromPointer(C.QDate_QDate_FromString(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func (ptr *QDate) FromString(stri string, format Qt__DateFormat) *QDate { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQDateFromPointer(C.QDate_QDate_FromString(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func QDate_FromString2(stri string, format string) *QDate { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQDateFromPointer(C.QDate_QDate_FromString2(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func (ptr *QDate) FromString2(stri string, format string) *QDate { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQDateFromPointer(C.QDate_QDate_FromString2(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue +} + +func (ptr *QDate) GetDate(year int, month int, day int) { + if ptr.Pointer() != nil { + C.QDate_GetDate(ptr.Pointer(), C.int(int32(year)), C.int(int32(month)), C.int(int32(day))) + } +} + +func QDate_IsLeapYear(year int) bool { + return int8(C.QDate_QDate_IsLeapYear(C.int(int32(year)))) != 0 +} + +func (ptr *QDate) IsLeapYear(year int) bool { + return int8(C.QDate_QDate_IsLeapYear(C.int(int32(year)))) != 0 +} + +func (ptr *QDate) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QDate_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDate) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QDate_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func QDate_IsValid2(year int, month int, day int) bool { + return int8(C.QDate_QDate_IsValid2(C.int(int32(year)), C.int(int32(month)), C.int(int32(day)))) != 0 +} + +func (ptr *QDate) IsValid2(year int, month int, day int) bool { + return int8(C.QDate_QDate_IsValid2(C.int(int32(year)), C.int(int32(month)), C.int(int32(day)))) != 0 +} + +func (ptr *QDate) Month() int { + if ptr.Pointer() != nil { + return int(int32(C.QDate_Month(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDate) SetDate(year int, month int, day int) bool { + if ptr.Pointer() != nil { + return int8(C.QDate_SetDate(ptr.Pointer(), C.int(int32(year)), C.int(int32(month)), C.int(int32(day)))) != 0 + } + return false +} + +func (ptr *QDate) ToJulianDay() int64 { + if ptr.Pointer() != nil { + return int64(C.QDate_ToJulianDay(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDate) ToString(format string) string { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return cGoUnpackString(C.QDate_ToString(ptr.Pointer(), C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + } + return "" +} + +func (ptr *QDate) ToString2(format Qt__DateFormat) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDate_ToString2(ptr.Pointer(), C.longlong(format))) + } + return "" +} + +func (ptr *QDate) ToString3(format QStringView_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDate_ToString3(ptr.Pointer(), PointerFromQStringView(format))) + } + return "" +} + +func (ptr *QDate) WeekNumber(yearNumber int) int { + if ptr.Pointer() != nil { + return int(int32(C.QDate_WeekNumber(ptr.Pointer(), C.int(int32(yearNumber))))) + } + return 0 +} + +func (ptr *QDate) Year() int { + if ptr.Pointer() != nil { + return int(int32(C.QDate_Year(ptr.Pointer()))) + } + return 0 +} + +type QDateTime struct { + ptr unsafe.Pointer +} + +type QDateTime_ITF interface { + QDateTime_PTR() *QDateTime +} + +func (ptr *QDateTime) QDateTime_PTR() *QDateTime { + return ptr +} + +func (ptr *QDateTime) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDateTime) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDateTime(ptr QDateTime_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDateTime_PTR().Pointer() + } + return nil +} + +func NewQDateTimeFromPointer(ptr unsafe.Pointer) (n *QDateTime) { + n = new(QDateTime) + n.SetPointer(ptr) + return +} +func NewQDateTime() *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_NewQDateTime()) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func NewQDateTime2(date QDate_ITF) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_NewQDateTime2(PointerFromQDate(date))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func NewQDateTime3(date QDate_ITF, ti QTime_ITF, spec Qt__TimeSpec) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_NewQDateTime3(PointerFromQDate(date), PointerFromQTime(ti), C.longlong(spec))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func NewQDateTime4(date QDate_ITF, ti QTime_ITF, spec Qt__TimeSpec, offsetSeconds int) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_NewQDateTime4(PointerFromQDate(date), PointerFromQTime(ti), C.longlong(spec), C.int(int32(offsetSeconds)))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func NewQDateTime5(date QDate_ITF, ti QTime_ITF, timeZone QTimeZone_ITF) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_NewQDateTime5(PointerFromQDate(date), PointerFromQTime(ti), PointerFromQTimeZone(timeZone))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func NewQDateTime6(other QDateTime_ITF) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_NewQDateTime6(PointerFromQDateTime(other))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func NewQDateTime7(other QDateTime_ITF) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_NewQDateTime7(PointerFromQDateTime(other))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) AddDays(ndays int64) *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_AddDays(ptr.Pointer(), C.longlong(ndays))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) AddMSecs(msecs int64) *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_AddMSecs(ptr.Pointer(), C.longlong(msecs))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) AddMonths(nmonths int) *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_AddMonths(ptr.Pointer(), C.int(int32(nmonths)))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) AddSecs(s int64) *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_AddSecs(ptr.Pointer(), C.longlong(s))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) AddYears(nyears int) *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_AddYears(ptr.Pointer(), C.int(int32(nyears)))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func QDateTime_CurrentDateTime() *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_CurrentDateTime()) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) CurrentDateTime() *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_CurrentDateTime()) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func QDateTime_CurrentDateTimeUtc() *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_CurrentDateTimeUtc()) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) CurrentDateTimeUtc() *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_CurrentDateTimeUtc()) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func QDateTime_CurrentMSecsSinceEpoch() int64 { + return int64(C.QDateTime_QDateTime_CurrentMSecsSinceEpoch()) +} + +func (ptr *QDateTime) CurrentMSecsSinceEpoch() int64 { + return int64(C.QDateTime_QDateTime_CurrentMSecsSinceEpoch()) +} + +func QDateTime_CurrentSecsSinceEpoch() int64 { + return int64(C.QDateTime_QDateTime_CurrentSecsSinceEpoch()) +} + +func (ptr *QDateTime) CurrentSecsSinceEpoch() int64 { + return int64(C.QDateTime_QDateTime_CurrentSecsSinceEpoch()) +} + +func (ptr *QDateTime) Date() *QDate { + if ptr.Pointer() != nil { + tmpValue := NewQDateFromPointer(C.QDateTime_Date(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) DaysTo(other QDateTime_ITF) int64 { + if ptr.Pointer() != nil { + return int64(C.QDateTime_DaysTo(ptr.Pointer(), PointerFromQDateTime(other))) + } + return 0 +} + +func QDateTime_FromMSecsSinceEpoch(msecs int64) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromMSecsSinceEpoch(C.longlong(msecs))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) FromMSecsSinceEpoch(msecs int64) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromMSecsSinceEpoch(C.longlong(msecs))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func QDateTime_FromMSecsSinceEpoch2(msecs int64, spec Qt__TimeSpec, offsetSeconds int) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromMSecsSinceEpoch2(C.longlong(msecs), C.longlong(spec), C.int(int32(offsetSeconds)))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) FromMSecsSinceEpoch2(msecs int64, spec Qt__TimeSpec, offsetSeconds int) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromMSecsSinceEpoch2(C.longlong(msecs), C.longlong(spec), C.int(int32(offsetSeconds)))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func QDateTime_FromMSecsSinceEpoch3(msecs int64, timeZone QTimeZone_ITF) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromMSecsSinceEpoch3(C.longlong(msecs), PointerFromQTimeZone(timeZone))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) FromMSecsSinceEpoch3(msecs int64, timeZone QTimeZone_ITF) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromMSecsSinceEpoch3(C.longlong(msecs), PointerFromQTimeZone(timeZone))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func QDateTime_FromSecsSinceEpoch(secs int64, spec Qt__TimeSpec, offsetSeconds int) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromSecsSinceEpoch(C.longlong(secs), C.longlong(spec), C.int(int32(offsetSeconds)))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) FromSecsSinceEpoch(secs int64, spec Qt__TimeSpec, offsetSeconds int) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromSecsSinceEpoch(C.longlong(secs), C.longlong(spec), C.int(int32(offsetSeconds)))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func QDateTime_FromSecsSinceEpoch2(secs int64, timeZone QTimeZone_ITF) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromSecsSinceEpoch2(C.longlong(secs), PointerFromQTimeZone(timeZone))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) FromSecsSinceEpoch2(secs int64, timeZone QTimeZone_ITF) *QDateTime { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromSecsSinceEpoch2(C.longlong(secs), PointerFromQTimeZone(timeZone))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func QDateTime_FromString(stri string, format Qt__DateFormat) *QDateTime { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromString(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) FromString(stri string, format Qt__DateFormat) *QDateTime { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromString(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func QDateTime_FromString2(stri string, format string) *QDateTime { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromString2(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) FromString2(stri string, format string) *QDateTime { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQDateTimeFromPointer(C.QDateTime_QDateTime_FromString2(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue +} + +func (ptr *QDateTime) IsDaylightTime() bool { + if ptr.Pointer() != nil { + return int8(C.QDateTime_IsDaylightTime(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDateTime) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QDateTime_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDateTime) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QDateTime_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDateTime) MsecsTo(other QDateTime_ITF) int64 { + if ptr.Pointer() != nil { + return int64(C.QDateTime_MsecsTo(ptr.Pointer(), PointerFromQDateTime(other))) + } + return 0 +} + +func (ptr *QDateTime) OffsetFromUtc() int { + if ptr.Pointer() != nil { + return int(int32(C.QDateTime_OffsetFromUtc(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDateTime) SecsTo(other QDateTime_ITF) int64 { + if ptr.Pointer() != nil { + return int64(C.QDateTime_SecsTo(ptr.Pointer(), PointerFromQDateTime(other))) + } + return 0 +} + +func (ptr *QDateTime) SetDate(date QDate_ITF) { + if ptr.Pointer() != nil { + C.QDateTime_SetDate(ptr.Pointer(), PointerFromQDate(date)) + } +} + +func (ptr *QDateTime) SetMSecsSinceEpoch(msecs int64) { + if ptr.Pointer() != nil { + C.QDateTime_SetMSecsSinceEpoch(ptr.Pointer(), C.longlong(msecs)) + } +} + +func (ptr *QDateTime) SetOffsetFromUtc(offsetSeconds int) { + if ptr.Pointer() != nil { + C.QDateTime_SetOffsetFromUtc(ptr.Pointer(), C.int(int32(offsetSeconds))) + } +} + +func (ptr *QDateTime) SetSecsSinceEpoch(secs int64) { + if ptr.Pointer() != nil { + C.QDateTime_SetSecsSinceEpoch(ptr.Pointer(), C.longlong(secs)) + } +} + +func (ptr *QDateTime) SetTime(ti QTime_ITF) { + if ptr.Pointer() != nil { + C.QDateTime_SetTime(ptr.Pointer(), PointerFromQTime(ti)) + } +} + +func (ptr *QDateTime) SetTimeSpec(spec Qt__TimeSpec) { + if ptr.Pointer() != nil { + C.QDateTime_SetTimeSpec(ptr.Pointer(), C.longlong(spec)) + } +} + +func (ptr *QDateTime) SetTimeZone(toZone QTimeZone_ITF) { + if ptr.Pointer() != nil { + C.QDateTime_SetTimeZone(ptr.Pointer(), PointerFromQTimeZone(toZone)) + } +} + +func (ptr *QDateTime) Swap(other QDateTime_ITF) { + if ptr.Pointer() != nil { + C.QDateTime_Swap(ptr.Pointer(), PointerFromQDateTime(other)) + } +} + +func (ptr *QDateTime) Time() *QTime { + if ptr.Pointer() != nil { + tmpValue := NewQTimeFromPointer(C.QDateTime_Time(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) TimeSpec() Qt__TimeSpec { + if ptr.Pointer() != nil { + return Qt__TimeSpec(C.QDateTime_TimeSpec(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDateTime) TimeZone() *QTimeZone { + if ptr.Pointer() != nil { + tmpValue := NewQTimeZoneFromPointer(C.QDateTime_TimeZone(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) TimeZoneAbbreviation() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDateTime_TimeZoneAbbreviation(ptr.Pointer())) + } + return "" +} + +func (ptr *QDateTime) ToLocalTime() *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_ToLocalTime(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) ToMSecsSinceEpoch() int64 { + if ptr.Pointer() != nil { + return int64(C.QDateTime_ToMSecsSinceEpoch(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDateTime) ToOffsetFromUtc(offsetSeconds int) *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_ToOffsetFromUtc(ptr.Pointer(), C.int(int32(offsetSeconds)))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) ToSecsSinceEpoch() int64 { + if ptr.Pointer() != nil { + return int64(C.QDateTime_ToSecsSinceEpoch(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDateTime) ToString(format string) string { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return cGoUnpackString(C.QDateTime_ToString(ptr.Pointer(), C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + } + return "" +} + +func (ptr *QDateTime) ToString2(format Qt__DateFormat) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDateTime_ToString2(ptr.Pointer(), C.longlong(format))) + } + return "" +} + +func (ptr *QDateTime) ToString3(format QStringView_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDateTime_ToString3(ptr.Pointer(), PointerFromQStringView(format))) + } + return "" +} + +func (ptr *QDateTime) ToTimeSpec(spec Qt__TimeSpec) *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_ToTimeSpec(ptr.Pointer(), C.longlong(spec))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) ToTimeZone(timeZone QTimeZone_ITF) *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_ToTimeZone(ptr.Pointer(), PointerFromQTimeZone(timeZone))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) ToUTC() *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QDateTime_ToUTC(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QDateTime) DestroyQDateTime() { + if ptr.Pointer() != nil { + C.QDateTime_DestroyQDateTime(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDeadlineTimer struct { + ptr unsafe.Pointer +} + +type QDeadlineTimer_ITF interface { + QDeadlineTimer_PTR() *QDeadlineTimer +} + +func (ptr *QDeadlineTimer) QDeadlineTimer_PTR() *QDeadlineTimer { + return ptr +} + +func (ptr *QDeadlineTimer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDeadlineTimer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDeadlineTimer(ptr QDeadlineTimer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDeadlineTimer_PTR().Pointer() + } + return nil +} + +func NewQDeadlineTimerFromPointer(ptr unsafe.Pointer) (n *QDeadlineTimer) { + n = new(QDeadlineTimer) + n.SetPointer(ptr) + return +} + +func (ptr *QDeadlineTimer) DestroyQDeadlineTimer() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QDeadlineTimer__ForeverConstant +//QDeadlineTimer::ForeverConstant +type QDeadlineTimer__ForeverConstant int64 + +const ( + QDeadlineTimer__Forever QDeadlineTimer__ForeverConstant = QDeadlineTimer__ForeverConstant(0) +) + +func NewQDeadlineTimer(timerType Qt__TimerType) *QDeadlineTimer { + tmpValue := NewQDeadlineTimerFromPointer(C.QDeadlineTimer_NewQDeadlineTimer(C.longlong(timerType))) + runtime.SetFinalizer(tmpValue, (*QDeadlineTimer).DestroyQDeadlineTimer) + return tmpValue +} + +func NewQDeadlineTimer2(vqd QDeadlineTimer__ForeverConstant, timerType Qt__TimerType) *QDeadlineTimer { + tmpValue := NewQDeadlineTimerFromPointer(C.QDeadlineTimer_NewQDeadlineTimer2(C.longlong(vqd), C.longlong(timerType))) + runtime.SetFinalizer(tmpValue, (*QDeadlineTimer).DestroyQDeadlineTimer) + return tmpValue +} + +func NewQDeadlineTimer3(msecs int64, ty Qt__TimerType) *QDeadlineTimer { + tmpValue := NewQDeadlineTimerFromPointer(C.QDeadlineTimer_NewQDeadlineTimer3(C.longlong(msecs), C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QDeadlineTimer).DestroyQDeadlineTimer) + return tmpValue +} + +func (ptr *QDeadlineTimer) Deadline() int64 { + if ptr.Pointer() != nil { + return int64(C.QDeadlineTimer_Deadline(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDeadlineTimer) DeadlineNSecs() int64 { + if ptr.Pointer() != nil { + return int64(C.QDeadlineTimer_DeadlineNSecs(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDeadlineTimer) HasExpired() bool { + if ptr.Pointer() != nil { + return int8(C.QDeadlineTimer_HasExpired(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDeadlineTimer) IsForever() bool { + if ptr.Pointer() != nil { + return int8(C.QDeadlineTimer_IsForever(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDeadlineTimer) RemainingTime() int64 { + if ptr.Pointer() != nil { + return int64(C.QDeadlineTimer_RemainingTime(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDeadlineTimer) RemainingTimeNSecs() int64 { + if ptr.Pointer() != nil { + return int64(C.QDeadlineTimer_RemainingTimeNSecs(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDeadlineTimer) SetDeadline(msecs int64, timerType Qt__TimerType) { + if ptr.Pointer() != nil { + C.QDeadlineTimer_SetDeadline(ptr.Pointer(), C.longlong(msecs), C.longlong(timerType)) + } +} + +func (ptr *QDeadlineTimer) SetPreciseDeadline(secs int64, nsecs int64, timerType Qt__TimerType) { + if ptr.Pointer() != nil { + C.QDeadlineTimer_SetPreciseDeadline(ptr.Pointer(), C.longlong(secs), C.longlong(nsecs), C.longlong(timerType)) + } +} + +func (ptr *QDeadlineTimer) SetPreciseRemainingTime(secs int64, nsecs int64, timerType Qt__TimerType) { + if ptr.Pointer() != nil { + C.QDeadlineTimer_SetPreciseRemainingTime(ptr.Pointer(), C.longlong(secs), C.longlong(nsecs), C.longlong(timerType)) + } +} + +func (ptr *QDeadlineTimer) SetRemainingTime(msecs int64, timerType Qt__TimerType) { + if ptr.Pointer() != nil { + C.QDeadlineTimer_SetRemainingTime(ptr.Pointer(), C.longlong(msecs), C.longlong(timerType)) + } +} + +func (ptr *QDeadlineTimer) SetTimerType(timerType Qt__TimerType) { + if ptr.Pointer() != nil { + C.QDeadlineTimer_SetTimerType(ptr.Pointer(), C.longlong(timerType)) + } +} + +func (ptr *QDeadlineTimer) Swap(other QDeadlineTimer_ITF) { + if ptr.Pointer() != nil { + C.QDeadlineTimer_Swap(ptr.Pointer(), PointerFromQDeadlineTimer(other)) + } +} + +func (ptr *QDeadlineTimer) TimerType() Qt__TimerType { + if ptr.Pointer() != nil { + return Qt__TimerType(C.QDeadlineTimer_TimerType(ptr.Pointer())) + } + return 0 +} + +type QDebug struct { + ptr unsafe.Pointer +} + +type QDebug_ITF interface { + QDebug_PTR() *QDebug +} + +func (ptr *QDebug) QDebug_PTR() *QDebug { + return ptr +} + +func (ptr *QDebug) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDebug) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDebug(ptr QDebug_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDebug_PTR().Pointer() + } + return nil +} + +func NewQDebugFromPointer(ptr unsafe.Pointer) (n *QDebug) { + n = new(QDebug) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QDebug__VerbosityLevel +//QDebug::VerbosityLevel +type QDebug__VerbosityLevel int64 + +const ( + QDebug__MinimumVerbosity QDebug__VerbosityLevel = QDebug__VerbosityLevel(0) + QDebug__DefaultVerbosity QDebug__VerbosityLevel = QDebug__VerbosityLevel(2) + QDebug__MaximumVerbosity QDebug__VerbosityLevel = QDebug__VerbosityLevel(7) +) + +func NewQDebug(device QIODevice_ITF) *QDebug { + tmpValue := NewQDebugFromPointer(C.QDebug_NewQDebug(PointerFromQIODevice(device))) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue +} + +func NewQDebug2(stri string) *QDebug { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQDebugFromPointer(C.QDebug_NewQDebug2(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))})) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue +} + +func NewQDebug4(o QDebug_ITF) *QDebug { + tmpValue := NewQDebugFromPointer(C.QDebug_NewQDebug4(PointerFromQDebug(o))) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue +} + +func (ptr *QDebug) AutoInsertSpaces() bool { + if ptr.Pointer() != nil { + return int8(C.QDebug_AutoInsertSpaces(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDebug) MaybeQuote(c string) *QDebug { + if ptr.Pointer() != nil { + var cC *C.char + if c != "" { + cC = C.CString(c) + defer C.free(unsafe.Pointer(cC)) + } + tmpValue := NewQDebugFromPointer(C.QDebug_MaybeQuote(ptr.Pointer(), cC)) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QDebug) MaybeSpace() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QDebug_MaybeSpace(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QDebug) Noquote() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QDebug_Noquote(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QDebug) Nospace() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QDebug_Nospace(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QDebug) Quote() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QDebug_Quote(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QDebug) ResetFormat() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QDebug_ResetFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QDebug) SetAutoInsertSpaces(b bool) { + if ptr.Pointer() != nil { + C.QDebug_SetAutoInsertSpaces(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(b)))) + } +} + +func (ptr *QDebug) SetVerbosity(verbosityLevel int) { + if ptr.Pointer() != nil { + C.QDebug_SetVerbosity(ptr.Pointer(), C.int(int32(verbosityLevel))) + } +} + +func (ptr *QDebug) Space() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QDebug_Space(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QDebug) Swap(other QDebug_ITF) { + if ptr.Pointer() != nil { + C.QDebug_Swap(ptr.Pointer(), PointerFromQDebug(other)) + } +} + +func (ptr *QDebug) Verbosity(verbosityLevel int) *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QDebug_Verbosity(ptr.Pointer(), C.int(int32(verbosityLevel)))) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QDebug) Verbosity2() int { + if ptr.Pointer() != nil { + return int(int32(C.QDebug_Verbosity2(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDebug) DestroyQDebug() { + if ptr.Pointer() != nil { + C.QDebug_DestroyQDebug(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDebugStateSaver struct { + ptr unsafe.Pointer +} + +type QDebugStateSaver_ITF interface { + QDebugStateSaver_PTR() *QDebugStateSaver +} + +func (ptr *QDebugStateSaver) QDebugStateSaver_PTR() *QDebugStateSaver { + return ptr +} + +func (ptr *QDebugStateSaver) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDebugStateSaver) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDebugStateSaver(ptr QDebugStateSaver_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDebugStateSaver_PTR().Pointer() + } + return nil +} + +func NewQDebugStateSaverFromPointer(ptr unsafe.Pointer) (n *QDebugStateSaver) { + n = new(QDebugStateSaver) + n.SetPointer(ptr) + return +} +func NewQDebugStateSaver(dbg QDebug_ITF) *QDebugStateSaver { + tmpValue := NewQDebugStateSaverFromPointer(C.QDebugStateSaver_NewQDebugStateSaver(PointerFromQDebug(dbg))) + runtime.SetFinalizer(tmpValue, (*QDebugStateSaver).DestroyQDebugStateSaver) + return tmpValue +} + +func (ptr *QDebugStateSaver) DestroyQDebugStateSaver() { + if ptr.Pointer() != nil { + C.QDebugStateSaver_DestroyQDebugStateSaver(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDeferredDeleteEvent struct { + QEvent +} + +type QDeferredDeleteEvent_ITF interface { + QEvent_ITF + QDeferredDeleteEvent_PTR() *QDeferredDeleteEvent +} + +func (ptr *QDeferredDeleteEvent) QDeferredDeleteEvent_PTR() *QDeferredDeleteEvent { + return ptr +} + +func (ptr *QDeferredDeleteEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QDeferredDeleteEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQDeferredDeleteEvent(ptr QDeferredDeleteEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDeferredDeleteEvent_PTR().Pointer() + } + return nil +} + +func NewQDeferredDeleteEventFromPointer(ptr unsafe.Pointer) (n *QDeferredDeleteEvent) { + n = new(QDeferredDeleteEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QDeferredDeleteEvent) DestroyQDeferredDeleteEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQDeferredDeleteEvent() *QDeferredDeleteEvent { + tmpValue := NewQDeferredDeleteEventFromPointer(C.QDeferredDeleteEvent_NewQDeferredDeleteEvent()) + runtime.SetFinalizer(tmpValue, (*QDeferredDeleteEvent).DestroyQDeferredDeleteEvent) + return tmpValue +} + +func (ptr *QDeferredDeleteEvent) LoopLevel() int { + if ptr.Pointer() != nil { + return int(int32(C.QDeferredDeleteEvent_LoopLevel(ptr.Pointer()))) + } + return 0 +} + +type QDir struct { + ptr unsafe.Pointer +} + +type QDir_ITF interface { + QDir_PTR() *QDir +} + +func (ptr *QDir) QDir_PTR() *QDir { + return ptr +} + +func (ptr *QDir) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDir) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDir(ptr QDir_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDir_PTR().Pointer() + } + return nil +} + +func NewQDirFromPointer(ptr unsafe.Pointer) (n *QDir) { + n = new(QDir) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QDir__Filter +//QDir::Filter +type QDir__Filter int64 + +const ( + QDir__Dirs QDir__Filter = QDir__Filter(0x001) + QDir__Files QDir__Filter = QDir__Filter(0x002) + QDir__Drives QDir__Filter = QDir__Filter(0x004) + QDir__NoSymLinks QDir__Filter = QDir__Filter(0x008) + QDir__AllEntries QDir__Filter = QDir__Filter(QDir__Dirs | QDir__Files | QDir__Drives) + QDir__TypeMask QDir__Filter = QDir__Filter(0x00f) + QDir__Readable QDir__Filter = QDir__Filter(0x010) + QDir__Writable QDir__Filter = QDir__Filter(0x020) + QDir__Executable QDir__Filter = QDir__Filter(0x040) + QDir__PermissionMask QDir__Filter = QDir__Filter(0x070) + QDir__Modified QDir__Filter = QDir__Filter(0x080) + QDir__Hidden QDir__Filter = QDir__Filter(0x100) + QDir__System QDir__Filter = QDir__Filter(0x200) + QDir__AccessMask QDir__Filter = QDir__Filter(0x3F0) + QDir__AllDirs QDir__Filter = QDir__Filter(0x400) + QDir__CaseSensitive QDir__Filter = QDir__Filter(0x800) + QDir__NoDot QDir__Filter = QDir__Filter(0x2000) + QDir__NoDotDot QDir__Filter = QDir__Filter(0x4000) + QDir__NoDotAndDotDot QDir__Filter = QDir__Filter(QDir__NoDot | QDir__NoDotDot) + QDir__NoFilter QDir__Filter = QDir__Filter(-1) +) + +//go:generate stringer -type=QDir__SortFlag +//QDir::SortFlag +type QDir__SortFlag int64 + +const ( + QDir__Name QDir__SortFlag = QDir__SortFlag(0x00) + QDir__Time QDir__SortFlag = QDir__SortFlag(0x01) + QDir__Size QDir__SortFlag = QDir__SortFlag(0x02) + QDir__Unsorted QDir__SortFlag = QDir__SortFlag(0x03) + QDir__SortByMask QDir__SortFlag = QDir__SortFlag(0x03) + QDir__DirsFirst QDir__SortFlag = QDir__SortFlag(0x04) + QDir__Reversed QDir__SortFlag = QDir__SortFlag(0x08) + QDir__IgnoreCase QDir__SortFlag = QDir__SortFlag(0x10) + QDir__DirsLast QDir__SortFlag = QDir__SortFlag(0x20) + QDir__LocaleAware QDir__SortFlag = QDir__SortFlag(0x40) + QDir__Type QDir__SortFlag = QDir__SortFlag(0x80) + QDir__NoSort QDir__SortFlag = QDir__SortFlag(-1) +) + +func NewQDir(dir QDir_ITF) *QDir { + tmpValue := NewQDirFromPointer(C.QDir_NewQDir(PointerFromQDir(dir))) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func NewQDir2(path string) *QDir { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + tmpValue := NewQDirFromPointer(C.QDir_NewQDir2(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func NewQDir3(path string, nameFilter string, sort QDir__SortFlag, filters QDir__Filter) *QDir { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + var nameFilterC *C.char + if nameFilter != "" { + nameFilterC = C.CString(nameFilter) + defer C.free(unsafe.Pointer(nameFilterC)) + } + tmpValue := NewQDirFromPointer(C.QDir_NewQDir3(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}, C.struct_QtCore_PackedString{data: nameFilterC, len: C.longlong(len(nameFilter))}, C.longlong(sort), C.longlong(filters))) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func (ptr *QDir) AbsoluteFilePath(fileName string) string { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return cGoUnpackString(C.QDir_AbsoluteFilePath(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + } + return "" +} + +func (ptr *QDir) AbsolutePath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDir_AbsolutePath(ptr.Pointer())) + } + return "" +} + +func QDir_AddSearchPath(prefix string, path string) { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QDir_QDir_AddSearchPath(C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}, C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) +} + +func (ptr *QDir) AddSearchPath(prefix string, path string) { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QDir_QDir_AddSearchPath(C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}, C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) +} + +func (ptr *QDir) CanonicalPath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDir_CanonicalPath(ptr.Pointer())) + } + return "" +} + +func (ptr *QDir) Cd(dirName string) bool { + if ptr.Pointer() != nil { + var dirNameC *C.char + if dirName != "" { + dirNameC = C.CString(dirName) + defer C.free(unsafe.Pointer(dirNameC)) + } + return int8(C.QDir_Cd(ptr.Pointer(), C.struct_QtCore_PackedString{data: dirNameC, len: C.longlong(len(dirName))})) != 0 + } + return false +} + +func (ptr *QDir) CdUp() bool { + if ptr.Pointer() != nil { + return int8(C.QDir_CdUp(ptr.Pointer())) != 0 + } + return false +} + +func QDir_CleanPath(path string) string { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return cGoUnpackString(C.QDir_QDir_CleanPath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) +} + +func (ptr *QDir) CleanPath(path string) string { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return cGoUnpackString(C.QDir_QDir_CleanPath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) +} + +func (ptr *QDir) Count() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QDir_Count(ptr.Pointer()))) + } + return 0 +} + +func QDir_Current() *QDir { + tmpValue := NewQDirFromPointer(C.QDir_QDir_Current()) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func (ptr *QDir) Current() *QDir { + tmpValue := NewQDirFromPointer(C.QDir_QDir_Current()) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func QDir_CurrentPath() string { + return cGoUnpackString(C.QDir_QDir_CurrentPath()) +} + +func (ptr *QDir) CurrentPath() string { + return cGoUnpackString(C.QDir_QDir_CurrentPath()) +} + +func (ptr *QDir) DirName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDir_DirName(ptr.Pointer())) + } + return "" +} + +func QDir_Drives() []*QFileInfo { + return func(l C.struct_QtCore_PackedList) []*QFileInfo { + out := make([]*QFileInfo, int(l.len)) + tmpList := NewQDirFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__drives_atList(i) + } + return out + }(C.QDir_QDir_Drives()) +} + +func (ptr *QDir) Drives() []*QFileInfo { + return func(l C.struct_QtCore_PackedList) []*QFileInfo { + out := make([]*QFileInfo, int(l.len)) + tmpList := NewQDirFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__drives_atList(i) + } + return out + }(C.QDir_QDir_Drives()) +} + +func (ptr *QDir) EntryInfoList(nameFilters []string, filters QDir__Filter, sort QDir__SortFlag) []*QFileInfo { + if ptr.Pointer() != nil { + nameFiltersC := C.CString(strings.Join(nameFilters, "¡¦!")) + defer C.free(unsafe.Pointer(nameFiltersC)) + return func(l C.struct_QtCore_PackedList) []*QFileInfo { + out := make([]*QFileInfo, int(l.len)) + tmpList := NewQDirFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__entryInfoList_atList(i) + } + return out + }(C.QDir_EntryInfoList(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameFiltersC, len: C.longlong(len(strings.Join(nameFilters, "¡¦!")))}, C.longlong(filters), C.longlong(sort))) + } + return make([]*QFileInfo, 0) +} + +func (ptr *QDir) EntryInfoList2(filters QDir__Filter, sort QDir__SortFlag) []*QFileInfo { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QFileInfo { + out := make([]*QFileInfo, int(l.len)) + tmpList := NewQDirFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__entryInfoList_atList2(i) + } + return out + }(C.QDir_EntryInfoList2(ptr.Pointer(), C.longlong(filters), C.longlong(sort))) + } + return make([]*QFileInfo, 0) +} + +func (ptr *QDir) EntryList(nameFilters []string, filters QDir__Filter, sort QDir__SortFlag) []string { + if ptr.Pointer() != nil { + nameFiltersC := C.CString(strings.Join(nameFilters, "¡¦!")) + defer C.free(unsafe.Pointer(nameFiltersC)) + return unpackStringList(cGoUnpackString(C.QDir_EntryList(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameFiltersC, len: C.longlong(len(strings.Join(nameFilters, "¡¦!")))}, C.longlong(filters), C.longlong(sort)))) + } + return make([]string, 0) +} + +func (ptr *QDir) EntryList2(filters QDir__Filter, sort QDir__SortFlag) []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QDir_EntryList2(ptr.Pointer(), C.longlong(filters), C.longlong(sort)))) + } + return make([]string, 0) +} + +func (ptr *QDir) Exists(name string) bool { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QDir_Exists(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 + } + return false +} + +func (ptr *QDir) Exists2() bool { + if ptr.Pointer() != nil { + return int8(C.QDir_Exists2(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDir) FilePath(fileName string) string { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return cGoUnpackString(C.QDir_FilePath(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + } + return "" +} + +func (ptr *QDir) Filter() QDir__Filter { + if ptr.Pointer() != nil { + return QDir__Filter(C.QDir_Filter(ptr.Pointer())) + } + return 0 +} + +func QDir_FromNativeSeparators(pathName string) string { + var pathNameC *C.char + if pathName != "" { + pathNameC = C.CString(pathName) + defer C.free(unsafe.Pointer(pathNameC)) + } + return cGoUnpackString(C.QDir_QDir_FromNativeSeparators(C.struct_QtCore_PackedString{data: pathNameC, len: C.longlong(len(pathName))})) +} + +func (ptr *QDir) FromNativeSeparators(pathName string) string { + var pathNameC *C.char + if pathName != "" { + pathNameC = C.CString(pathName) + defer C.free(unsafe.Pointer(pathNameC)) + } + return cGoUnpackString(C.QDir_QDir_FromNativeSeparators(C.struct_QtCore_PackedString{data: pathNameC, len: C.longlong(len(pathName))})) +} + +func QDir_Home() *QDir { + tmpValue := NewQDirFromPointer(C.QDir_QDir_Home()) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func (ptr *QDir) Home() *QDir { + tmpValue := NewQDirFromPointer(C.QDir_QDir_Home()) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func QDir_HomePath() string { + return cGoUnpackString(C.QDir_QDir_HomePath()) +} + +func (ptr *QDir) HomePath() string { + return cGoUnpackString(C.QDir_QDir_HomePath()) +} + +func (ptr *QDir) IsAbsolute() bool { + if ptr.Pointer() != nil { + return int8(C.QDir_IsAbsolute(ptr.Pointer())) != 0 + } + return false +} + +func QDir_IsAbsolutePath(path string) bool { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QDir_QDir_IsAbsolutePath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) != 0 +} + +func (ptr *QDir) IsAbsolutePath(path string) bool { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QDir_QDir_IsAbsolutePath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) != 0 +} + +func (ptr *QDir) IsEmpty(filters QDir__Filter) bool { + if ptr.Pointer() != nil { + return int8(C.QDir_IsEmpty(ptr.Pointer(), C.longlong(filters))) != 0 + } + return false +} + +func (ptr *QDir) IsReadable() bool { + if ptr.Pointer() != nil { + return int8(C.QDir_IsReadable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDir) IsRelative() bool { + if ptr.Pointer() != nil { + return int8(C.QDir_IsRelative(ptr.Pointer())) != 0 + } + return false +} + +func QDir_IsRelativePath(path string) bool { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QDir_QDir_IsRelativePath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) != 0 +} + +func (ptr *QDir) IsRelativePath(path string) bool { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QDir_QDir_IsRelativePath(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) != 0 +} + +func (ptr *QDir) IsRoot() bool { + if ptr.Pointer() != nil { + return int8(C.QDir_IsRoot(ptr.Pointer())) != 0 + } + return false +} + +func QDir_ListSeparator() *QChar { + tmpValue := NewQCharFromPointer(C.QDir_QDir_ListSeparator()) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func (ptr *QDir) ListSeparator() *QChar { + tmpValue := NewQCharFromPointer(C.QDir_QDir_ListSeparator()) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func (ptr *QDir) MakeAbsolute() bool { + if ptr.Pointer() != nil { + return int8(C.QDir_MakeAbsolute(ptr.Pointer())) != 0 + } + return false +} + +func QDir_Match(filter string, fileName string) bool { + var filterC *C.char + if filter != "" { + filterC = C.CString(filter) + defer C.free(unsafe.Pointer(filterC)) + } + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QDir_QDir_Match(C.struct_QtCore_PackedString{data: filterC, len: C.longlong(len(filter))}, C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func (ptr *QDir) Match(filter string, fileName string) bool { + var filterC *C.char + if filter != "" { + filterC = C.CString(filter) + defer C.free(unsafe.Pointer(filterC)) + } + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QDir_QDir_Match(C.struct_QtCore_PackedString{data: filterC, len: C.longlong(len(filter))}, C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func QDir_Match2(filters []string, fileName string) bool { + filtersC := C.CString(strings.Join(filters, "¡¦!")) + defer C.free(unsafe.Pointer(filtersC)) + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QDir_QDir_Match2(C.struct_QtCore_PackedString{data: filtersC, len: C.longlong(len(strings.Join(filters, "¡¦!")))}, C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func (ptr *QDir) Match2(filters []string, fileName string) bool { + filtersC := C.CString(strings.Join(filters, "¡¦!")) + defer C.free(unsafe.Pointer(filtersC)) + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QDir_QDir_Match2(C.struct_QtCore_PackedString{data: filtersC, len: C.longlong(len(strings.Join(filters, "¡¦!")))}, C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func (ptr *QDir) Mkdir(dirName string) bool { + if ptr.Pointer() != nil { + var dirNameC *C.char + if dirName != "" { + dirNameC = C.CString(dirName) + defer C.free(unsafe.Pointer(dirNameC)) + } + return int8(C.QDir_Mkdir(ptr.Pointer(), C.struct_QtCore_PackedString{data: dirNameC, len: C.longlong(len(dirName))})) != 0 + } + return false +} + +func (ptr *QDir) Mkpath(dirPath string) bool { + if ptr.Pointer() != nil { + var dirPathC *C.char + if dirPath != "" { + dirPathC = C.CString(dirPath) + defer C.free(unsafe.Pointer(dirPathC)) + } + return int8(C.QDir_Mkpath(ptr.Pointer(), C.struct_QtCore_PackedString{data: dirPathC, len: C.longlong(len(dirPath))})) != 0 + } + return false +} + +func (ptr *QDir) NameFilters() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QDir_NameFilters(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QDir) Path() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDir_Path(ptr.Pointer())) + } + return "" +} + +func (ptr *QDir) Refresh() { + if ptr.Pointer() != nil { + C.QDir_Refresh(ptr.Pointer()) + } +} + +func (ptr *QDir) RelativeFilePath(fileName string) string { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return cGoUnpackString(C.QDir_RelativeFilePath(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + } + return "" +} + +func (ptr *QDir) Remove(fileName string) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QDir_Remove(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 + } + return false +} + +func (ptr *QDir) RemoveRecursively() bool { + if ptr.Pointer() != nil { + return int8(C.QDir_RemoveRecursively(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QDir) Rename(oldName string, newName string) bool { + if ptr.Pointer() != nil { + var oldNameC *C.char + if oldName != "" { + oldNameC = C.CString(oldName) + defer C.free(unsafe.Pointer(oldNameC)) + } + var newNameC *C.char + if newName != "" { + newNameC = C.CString(newName) + defer C.free(unsafe.Pointer(newNameC)) + } + return int8(C.QDir_Rename(ptr.Pointer(), C.struct_QtCore_PackedString{data: oldNameC, len: C.longlong(len(oldName))}, C.struct_QtCore_PackedString{data: newNameC, len: C.longlong(len(newName))})) != 0 + } + return false +} + +func (ptr *QDir) Rmdir(dirName string) bool { + if ptr.Pointer() != nil { + var dirNameC *C.char + if dirName != "" { + dirNameC = C.CString(dirName) + defer C.free(unsafe.Pointer(dirNameC)) + } + return int8(C.QDir_Rmdir(ptr.Pointer(), C.struct_QtCore_PackedString{data: dirNameC, len: C.longlong(len(dirName))})) != 0 + } + return false +} + +func (ptr *QDir) Rmpath(dirPath string) bool { + if ptr.Pointer() != nil { + var dirPathC *C.char + if dirPath != "" { + dirPathC = C.CString(dirPath) + defer C.free(unsafe.Pointer(dirPathC)) + } + return int8(C.QDir_Rmpath(ptr.Pointer(), C.struct_QtCore_PackedString{data: dirPathC, len: C.longlong(len(dirPath))})) != 0 + } + return false +} + +func QDir_Root() *QDir { + tmpValue := NewQDirFromPointer(C.QDir_QDir_Root()) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func (ptr *QDir) Root() *QDir { + tmpValue := NewQDirFromPointer(C.QDir_QDir_Root()) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func QDir_RootPath() string { + return cGoUnpackString(C.QDir_QDir_RootPath()) +} + +func (ptr *QDir) RootPath() string { + return cGoUnpackString(C.QDir_QDir_RootPath()) +} + +func QDir_SearchPaths(prefix string) []string { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + return unpackStringList(cGoUnpackString(C.QDir_QDir_SearchPaths(C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}))) +} + +func (ptr *QDir) SearchPaths(prefix string) []string { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + return unpackStringList(cGoUnpackString(C.QDir_QDir_SearchPaths(C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}))) +} + +func QDir_Separator() *QChar { + tmpValue := NewQCharFromPointer(C.QDir_QDir_Separator()) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func (ptr *QDir) Separator() *QChar { + tmpValue := NewQCharFromPointer(C.QDir_QDir_Separator()) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func QDir_SetCurrent(path string) bool { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QDir_QDir_SetCurrent(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) != 0 +} + +func (ptr *QDir) SetCurrent(path string) bool { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QDir_QDir_SetCurrent(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) != 0 +} + +func (ptr *QDir) SetFilter(filters QDir__Filter) { + if ptr.Pointer() != nil { + C.QDir_SetFilter(ptr.Pointer(), C.longlong(filters)) + } +} + +func (ptr *QDir) SetNameFilters(nameFilters []string) { + if ptr.Pointer() != nil { + nameFiltersC := C.CString(strings.Join(nameFilters, "¡¦!")) + defer C.free(unsafe.Pointer(nameFiltersC)) + C.QDir_SetNameFilters(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameFiltersC, len: C.longlong(len(strings.Join(nameFilters, "¡¦!")))}) + } +} + +func (ptr *QDir) SetPath(path string) { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QDir_SetPath(ptr.Pointer(), C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) + } +} + +func QDir_SetSearchPaths(prefix string, searchPaths []string) { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + searchPathsC := C.CString(strings.Join(searchPaths, "¡¦!")) + defer C.free(unsafe.Pointer(searchPathsC)) + C.QDir_QDir_SetSearchPaths(C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}, C.struct_QtCore_PackedString{data: searchPathsC, len: C.longlong(len(strings.Join(searchPaths, "¡¦!")))}) +} + +func (ptr *QDir) SetSearchPaths(prefix string, searchPaths []string) { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + searchPathsC := C.CString(strings.Join(searchPaths, "¡¦!")) + defer C.free(unsafe.Pointer(searchPathsC)) + C.QDir_QDir_SetSearchPaths(C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}, C.struct_QtCore_PackedString{data: searchPathsC, len: C.longlong(len(strings.Join(searchPaths, "¡¦!")))}) +} + +func (ptr *QDir) SetSorting(sort QDir__SortFlag) { + if ptr.Pointer() != nil { + C.QDir_SetSorting(ptr.Pointer(), C.longlong(sort)) + } +} + +func (ptr *QDir) Sorting() QDir__SortFlag { + if ptr.Pointer() != nil { + return QDir__SortFlag(C.QDir_Sorting(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDir) Swap(other QDir_ITF) { + if ptr.Pointer() != nil { + C.QDir_Swap(ptr.Pointer(), PointerFromQDir(other)) + } +} + +func QDir_Temp() *QDir { + tmpValue := NewQDirFromPointer(C.QDir_QDir_Temp()) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func (ptr *QDir) Temp() *QDir { + tmpValue := NewQDirFromPointer(C.QDir_QDir_Temp()) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue +} + +func QDir_TempPath() string { + return cGoUnpackString(C.QDir_QDir_TempPath()) +} + +func (ptr *QDir) TempPath() string { + return cGoUnpackString(C.QDir_QDir_TempPath()) +} + +func QDir_ToNativeSeparators(pathName string) string { + var pathNameC *C.char + if pathName != "" { + pathNameC = C.CString(pathName) + defer C.free(unsafe.Pointer(pathNameC)) + } + return cGoUnpackString(C.QDir_QDir_ToNativeSeparators(C.struct_QtCore_PackedString{data: pathNameC, len: C.longlong(len(pathName))})) +} + +func (ptr *QDir) ToNativeSeparators(pathName string) string { + var pathNameC *C.char + if pathName != "" { + pathNameC = C.CString(pathName) + defer C.free(unsafe.Pointer(pathNameC)) + } + return cGoUnpackString(C.QDir_QDir_ToNativeSeparators(C.struct_QtCore_PackedString{data: pathNameC, len: C.longlong(len(pathName))})) +} + +func (ptr *QDir) DestroyQDir() { + if ptr.Pointer() != nil { + C.QDir_DestroyQDir(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QDir) __drives_atList(i int) *QFileInfo { + if ptr.Pointer() != nil { + tmpValue := NewQFileInfoFromPointer(C.QDir___drives_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QFileInfo).DestroyQFileInfo) + return tmpValue + } + return nil +} + +func (ptr *QDir) __drives_setList(i QFileInfo_ITF) { + if ptr.Pointer() != nil { + C.QDir___drives_setList(ptr.Pointer(), PointerFromQFileInfo(i)) + } +} + +func (ptr *QDir) __drives_newList() unsafe.Pointer { + return C.QDir___drives_newList(ptr.Pointer()) +} + +func (ptr *QDir) __entryInfoList_atList(i int) *QFileInfo { + if ptr.Pointer() != nil { + tmpValue := NewQFileInfoFromPointer(C.QDir___entryInfoList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QFileInfo).DestroyQFileInfo) + return tmpValue + } + return nil +} + +func (ptr *QDir) __entryInfoList_setList(i QFileInfo_ITF) { + if ptr.Pointer() != nil { + C.QDir___entryInfoList_setList(ptr.Pointer(), PointerFromQFileInfo(i)) + } +} + +func (ptr *QDir) __entryInfoList_newList() unsafe.Pointer { + return C.QDir___entryInfoList_newList(ptr.Pointer()) +} + +func (ptr *QDir) __entryInfoList_atList2(i int) *QFileInfo { + if ptr.Pointer() != nil { + tmpValue := NewQFileInfoFromPointer(C.QDir___entryInfoList_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QFileInfo).DestroyQFileInfo) + return tmpValue + } + return nil +} + +func (ptr *QDir) __entryInfoList_setList2(i QFileInfo_ITF) { + if ptr.Pointer() != nil { + C.QDir___entryInfoList_setList2(ptr.Pointer(), PointerFromQFileInfo(i)) + } +} + +func (ptr *QDir) __entryInfoList_newList2() unsafe.Pointer { + return C.QDir___entryInfoList_newList2(ptr.Pointer()) +} + +type QDirIterator struct { + ptr unsafe.Pointer +} + +type QDirIterator_ITF interface { + QDirIterator_PTR() *QDirIterator +} + +func (ptr *QDirIterator) QDirIterator_PTR() *QDirIterator { + return ptr +} + +func (ptr *QDirIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDirIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDirIterator(ptr QDirIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDirIterator_PTR().Pointer() + } + return nil +} + +func NewQDirIteratorFromPointer(ptr unsafe.Pointer) (n *QDirIterator) { + n = new(QDirIterator) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QDirIterator__IteratorFlag +//QDirIterator::IteratorFlag +type QDirIterator__IteratorFlag int64 + +const ( + QDirIterator__NoIteratorFlags QDirIterator__IteratorFlag = QDirIterator__IteratorFlag(0x0) + QDirIterator__FollowSymlinks QDirIterator__IteratorFlag = QDirIterator__IteratorFlag(0x1) + QDirIterator__Subdirectories QDirIterator__IteratorFlag = QDirIterator__IteratorFlag(0x2) +) + +type QDynamicPropertyChangeEvent struct { + QEvent +} + +type QDynamicPropertyChangeEvent_ITF interface { + QEvent_ITF + QDynamicPropertyChangeEvent_PTR() *QDynamicPropertyChangeEvent +} + +func (ptr *QDynamicPropertyChangeEvent) QDynamicPropertyChangeEvent_PTR() *QDynamicPropertyChangeEvent { + return ptr +} + +func (ptr *QDynamicPropertyChangeEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QDynamicPropertyChangeEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQDynamicPropertyChangeEvent(ptr QDynamicPropertyChangeEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDynamicPropertyChangeEvent_PTR().Pointer() + } + return nil +} + +func NewQDynamicPropertyChangeEventFromPointer(ptr unsafe.Pointer) (n *QDynamicPropertyChangeEvent) { + n = new(QDynamicPropertyChangeEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QDynamicPropertyChangeEvent) DestroyQDynamicPropertyChangeEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQDynamicPropertyChangeEvent(name QByteArray_ITF) *QDynamicPropertyChangeEvent { + tmpValue := NewQDynamicPropertyChangeEventFromPointer(C.QDynamicPropertyChangeEvent_NewQDynamicPropertyChangeEvent(PointerFromQByteArray(name))) + runtime.SetFinalizer(tmpValue, (*QDynamicPropertyChangeEvent).DestroyQDynamicPropertyChangeEvent) + return tmpValue +} + +func (ptr *QDynamicPropertyChangeEvent) PropertyName() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QDynamicPropertyChangeEvent_PropertyName(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +type QEasingCurve struct { + ptr unsafe.Pointer +} + +type QEasingCurve_ITF interface { + QEasingCurve_PTR() *QEasingCurve +} + +func (ptr *QEasingCurve) QEasingCurve_PTR() *QEasingCurve { + return ptr +} + +func (ptr *QEasingCurve) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QEasingCurve) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQEasingCurve(ptr QEasingCurve_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QEasingCurve_PTR().Pointer() + } + return nil +} + +func NewQEasingCurveFromPointer(ptr unsafe.Pointer) (n *QEasingCurve) { + n = new(QEasingCurve) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QEasingCurve__Type +//QEasingCurve::Type +type QEasingCurve__Type int64 + +const ( + QEasingCurve__Linear QEasingCurve__Type = QEasingCurve__Type(0) + QEasingCurve__InQuad QEasingCurve__Type = QEasingCurve__Type(1) + QEasingCurve__OutQuad QEasingCurve__Type = QEasingCurve__Type(2) + QEasingCurve__InOutQuad QEasingCurve__Type = QEasingCurve__Type(3) + QEasingCurve__OutInQuad QEasingCurve__Type = QEasingCurve__Type(4) + QEasingCurve__InCubic QEasingCurve__Type = QEasingCurve__Type(5) + QEasingCurve__OutCubic QEasingCurve__Type = QEasingCurve__Type(6) + QEasingCurve__InOutCubic QEasingCurve__Type = QEasingCurve__Type(7) + QEasingCurve__OutInCubic QEasingCurve__Type = QEasingCurve__Type(8) + QEasingCurve__InQuart QEasingCurve__Type = QEasingCurve__Type(9) + QEasingCurve__OutQuart QEasingCurve__Type = QEasingCurve__Type(10) + QEasingCurve__InOutQuart QEasingCurve__Type = QEasingCurve__Type(11) + QEasingCurve__OutInQuart QEasingCurve__Type = QEasingCurve__Type(12) + QEasingCurve__InQuint QEasingCurve__Type = QEasingCurve__Type(13) + QEasingCurve__OutQuint QEasingCurve__Type = QEasingCurve__Type(14) + QEasingCurve__InOutQuint QEasingCurve__Type = QEasingCurve__Type(15) + QEasingCurve__OutInQuint QEasingCurve__Type = QEasingCurve__Type(16) + QEasingCurve__InSine QEasingCurve__Type = QEasingCurve__Type(17) + QEasingCurve__OutSine QEasingCurve__Type = QEasingCurve__Type(18) + QEasingCurve__InOutSine QEasingCurve__Type = QEasingCurve__Type(19) + QEasingCurve__OutInSine QEasingCurve__Type = QEasingCurve__Type(20) + QEasingCurve__InExpo QEasingCurve__Type = QEasingCurve__Type(21) + QEasingCurve__OutExpo QEasingCurve__Type = QEasingCurve__Type(22) + QEasingCurve__InOutExpo QEasingCurve__Type = QEasingCurve__Type(23) + QEasingCurve__OutInExpo QEasingCurve__Type = QEasingCurve__Type(24) + QEasingCurve__InCirc QEasingCurve__Type = QEasingCurve__Type(25) + QEasingCurve__OutCirc QEasingCurve__Type = QEasingCurve__Type(26) + QEasingCurve__InOutCirc QEasingCurve__Type = QEasingCurve__Type(27) + QEasingCurve__OutInCirc QEasingCurve__Type = QEasingCurve__Type(28) + QEasingCurve__InElastic QEasingCurve__Type = QEasingCurve__Type(29) + QEasingCurve__OutElastic QEasingCurve__Type = QEasingCurve__Type(30) + QEasingCurve__InOutElastic QEasingCurve__Type = QEasingCurve__Type(31) + QEasingCurve__OutInElastic QEasingCurve__Type = QEasingCurve__Type(32) + QEasingCurve__InBack QEasingCurve__Type = QEasingCurve__Type(33) + QEasingCurve__OutBack QEasingCurve__Type = QEasingCurve__Type(34) + QEasingCurve__InOutBack QEasingCurve__Type = QEasingCurve__Type(35) + QEasingCurve__OutInBack QEasingCurve__Type = QEasingCurve__Type(36) + QEasingCurve__InBounce QEasingCurve__Type = QEasingCurve__Type(37) + QEasingCurve__OutBounce QEasingCurve__Type = QEasingCurve__Type(38) + QEasingCurve__InOutBounce QEasingCurve__Type = QEasingCurve__Type(39) + QEasingCurve__OutInBounce QEasingCurve__Type = QEasingCurve__Type(40) + QEasingCurve__InCurve QEasingCurve__Type = QEasingCurve__Type(41) + QEasingCurve__OutCurve QEasingCurve__Type = QEasingCurve__Type(42) + QEasingCurve__SineCurve QEasingCurve__Type = QEasingCurve__Type(43) + QEasingCurve__CosineCurve QEasingCurve__Type = QEasingCurve__Type(44) + QEasingCurve__BezierSpline QEasingCurve__Type = QEasingCurve__Type(45) + QEasingCurve__TCBSpline QEasingCurve__Type = QEasingCurve__Type(46) + QEasingCurve__Custom QEasingCurve__Type = QEasingCurve__Type(47) + QEasingCurve__NCurveTypes QEasingCurve__Type = QEasingCurve__Type(48) +) + +func NewQEasingCurve(ty QEasingCurve__Type) *QEasingCurve { + tmpValue := NewQEasingCurveFromPointer(C.QEasingCurve_NewQEasingCurve(C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QEasingCurve).DestroyQEasingCurve) + return tmpValue +} + +func NewQEasingCurve2(other QEasingCurve_ITF) *QEasingCurve { + tmpValue := NewQEasingCurveFromPointer(C.QEasingCurve_NewQEasingCurve2(PointerFromQEasingCurve(other))) + runtime.SetFinalizer(tmpValue, (*QEasingCurve).DestroyQEasingCurve) + return tmpValue +} + +func NewQEasingCurve3(other QEasingCurve_ITF) *QEasingCurve { + tmpValue := NewQEasingCurveFromPointer(C.QEasingCurve_NewQEasingCurve3(PointerFromQEasingCurve(other))) + runtime.SetFinalizer(tmpValue, (*QEasingCurve).DestroyQEasingCurve) + return tmpValue +} + +func (ptr *QEasingCurve) AddCubicBezierSegment(c1 QPointF_ITF, c2 QPointF_ITF, endPoint QPointF_ITF) { + if ptr.Pointer() != nil { + C.QEasingCurve_AddCubicBezierSegment(ptr.Pointer(), PointerFromQPointF(c1), PointerFromQPointF(c2), PointerFromQPointF(endPoint)) + } +} + +func (ptr *QEasingCurve) AddTCBSegment(nextPoint QPointF_ITF, t float64, c float64, b float64) { + if ptr.Pointer() != nil { + C.QEasingCurve_AddTCBSegment(ptr.Pointer(), PointerFromQPointF(nextPoint), C.double(t), C.double(c), C.double(b)) + } +} + +func (ptr *QEasingCurve) Amplitude() float64 { + if ptr.Pointer() != nil { + return float64(C.QEasingCurve_Amplitude(ptr.Pointer())) + } + return 0 +} + +func (ptr *QEasingCurve) Overshoot() float64 { + if ptr.Pointer() != nil { + return float64(C.QEasingCurve_Overshoot(ptr.Pointer())) + } + return 0 +} + +func (ptr *QEasingCurve) Period() float64 { + if ptr.Pointer() != nil { + return float64(C.QEasingCurve_Period(ptr.Pointer())) + } + return 0 +} + +func (ptr *QEasingCurve) SetAmplitude(amplitude float64) { + if ptr.Pointer() != nil { + C.QEasingCurve_SetAmplitude(ptr.Pointer(), C.double(amplitude)) + } +} + +func (ptr *QEasingCurve) SetOvershoot(overshoot float64) { + if ptr.Pointer() != nil { + C.QEasingCurve_SetOvershoot(ptr.Pointer(), C.double(overshoot)) + } +} + +func (ptr *QEasingCurve) SetPeriod(period float64) { + if ptr.Pointer() != nil { + C.QEasingCurve_SetPeriod(ptr.Pointer(), C.double(period)) + } +} + +func (ptr *QEasingCurve) SetType(ty QEasingCurve__Type) { + if ptr.Pointer() != nil { + C.QEasingCurve_SetType(ptr.Pointer(), C.longlong(ty)) + } +} + +func (ptr *QEasingCurve) Swap(other QEasingCurve_ITF) { + if ptr.Pointer() != nil { + C.QEasingCurve_Swap(ptr.Pointer(), PointerFromQEasingCurve(other)) + } +} + +func (ptr *QEasingCurve) ToCubicSpline() []*QPointF { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QPointF { + out := make([]*QPointF, int(l.len)) + tmpList := NewQEasingCurveFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toCubicSpline_atList(i) + } + return out + }(C.QEasingCurve_ToCubicSpline(ptr.Pointer())) + } + return make([]*QPointF, 0) +} + +func (ptr *QEasingCurve) Type() QEasingCurve__Type { + if ptr.Pointer() != nil { + return QEasingCurve__Type(C.QEasingCurve_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QEasingCurve) ValueForProgress(progress float64) float64 { + if ptr.Pointer() != nil { + return float64(C.QEasingCurve_ValueForProgress(ptr.Pointer(), C.double(progress))) + } + return 0 +} + +func (ptr *QEasingCurve) DestroyQEasingCurve() { + if ptr.Pointer() != nil { + C.QEasingCurve_DestroyQEasingCurve(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QEasingCurve) __cubicBezierSpline_atList(i int) *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QEasingCurve___cubicBezierSpline_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QEasingCurve) __cubicBezierSpline_setList(i QPointF_ITF) { + if ptr.Pointer() != nil { + C.QEasingCurve___cubicBezierSpline_setList(ptr.Pointer(), PointerFromQPointF(i)) + } +} + +func (ptr *QEasingCurve) __cubicBezierSpline_newList() unsafe.Pointer { + return C.QEasingCurve___cubicBezierSpline_newList(ptr.Pointer()) +} + +func (ptr *QEasingCurve) __toCubicSpline_atList(i int) *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QEasingCurve___toCubicSpline_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QEasingCurve) __toCubicSpline_setList(i QPointF_ITF) { + if ptr.Pointer() != nil { + C.QEasingCurve___toCubicSpline_setList(ptr.Pointer(), PointerFromQPointF(i)) + } +} + +func (ptr *QEasingCurve) __toCubicSpline_newList() unsafe.Pointer { + return C.QEasingCurve___toCubicSpline_newList(ptr.Pointer()) +} + +type QElapsedTimer struct { + ptr unsafe.Pointer +} + +type QElapsedTimer_ITF interface { + QElapsedTimer_PTR() *QElapsedTimer +} + +func (ptr *QElapsedTimer) QElapsedTimer_PTR() *QElapsedTimer { + return ptr +} + +func (ptr *QElapsedTimer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QElapsedTimer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQElapsedTimer(ptr QElapsedTimer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QElapsedTimer_PTR().Pointer() + } + return nil +} + +func NewQElapsedTimerFromPointer(ptr unsafe.Pointer) (n *QElapsedTimer) { + n = new(QElapsedTimer) + n.SetPointer(ptr) + return +} + +func (ptr *QElapsedTimer) DestroyQElapsedTimer() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QElapsedTimer__ClockType +//QElapsedTimer::ClockType +type QElapsedTimer__ClockType int64 + +const ( + QElapsedTimer__SystemTime QElapsedTimer__ClockType = QElapsedTimer__ClockType(0) + QElapsedTimer__MonotonicClock QElapsedTimer__ClockType = QElapsedTimer__ClockType(1) + QElapsedTimer__TickCounter QElapsedTimer__ClockType = QElapsedTimer__ClockType(2) + QElapsedTimer__MachAbsoluteTime QElapsedTimer__ClockType = QElapsedTimer__ClockType(3) + QElapsedTimer__PerformanceCounter QElapsedTimer__ClockType = QElapsedTimer__ClockType(4) +) + +func NewQElapsedTimer() *QElapsedTimer { + tmpValue := NewQElapsedTimerFromPointer(C.QElapsedTimer_NewQElapsedTimer()) + runtime.SetFinalizer(tmpValue, (*QElapsedTimer).DestroyQElapsedTimer) + return tmpValue +} + +func QElapsedTimer_ClockType() QElapsedTimer__ClockType { + return QElapsedTimer__ClockType(C.QElapsedTimer_QElapsedTimer_ClockType()) +} + +func (ptr *QElapsedTimer) ClockType() QElapsedTimer__ClockType { + return QElapsedTimer__ClockType(C.QElapsedTimer_QElapsedTimer_ClockType()) +} + +func (ptr *QElapsedTimer) Elapsed() int64 { + if ptr.Pointer() != nil { + return int64(C.QElapsedTimer_Elapsed(ptr.Pointer())) + } + return 0 +} + +func (ptr *QElapsedTimer) HasExpired(timeout int64) bool { + if ptr.Pointer() != nil { + return int8(C.QElapsedTimer_HasExpired(ptr.Pointer(), C.longlong(timeout))) != 0 + } + return false +} + +func (ptr *QElapsedTimer) Invalidate() { + if ptr.Pointer() != nil { + C.QElapsedTimer_Invalidate(ptr.Pointer()) + } +} + +func QElapsedTimer_IsMonotonic() bool { + return int8(C.QElapsedTimer_QElapsedTimer_IsMonotonic()) != 0 +} + +func (ptr *QElapsedTimer) IsMonotonic() bool { + return int8(C.QElapsedTimer_QElapsedTimer_IsMonotonic()) != 0 +} + +func (ptr *QElapsedTimer) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QElapsedTimer_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QElapsedTimer) MsecsSinceReference() int64 { + if ptr.Pointer() != nil { + return int64(C.QElapsedTimer_MsecsSinceReference(ptr.Pointer())) + } + return 0 +} + +func (ptr *QElapsedTimer) MsecsTo(other QElapsedTimer_ITF) int64 { + if ptr.Pointer() != nil { + return int64(C.QElapsedTimer_MsecsTo(ptr.Pointer(), PointerFromQElapsedTimer(other))) + } + return 0 +} + +func (ptr *QElapsedTimer) NsecsElapsed() int64 { + if ptr.Pointer() != nil { + return int64(C.QElapsedTimer_NsecsElapsed(ptr.Pointer())) + } + return 0 +} + +func (ptr *QElapsedTimer) Restart() int64 { + if ptr.Pointer() != nil { + return int64(C.QElapsedTimer_Restart(ptr.Pointer())) + } + return 0 +} + +func (ptr *QElapsedTimer) SecsTo(other QElapsedTimer_ITF) int64 { + if ptr.Pointer() != nil { + return int64(C.QElapsedTimer_SecsTo(ptr.Pointer(), PointerFromQElapsedTimer(other))) + } + return 0 +} + +func (ptr *QElapsedTimer) Start() { + if ptr.Pointer() != nil { + C.QElapsedTimer_Start(ptr.Pointer()) + } +} + +type QEnableSharedFromThis struct { + ptr unsafe.Pointer +} + +type QEnableSharedFromThis_ITF interface { + QEnableSharedFromThis_PTR() *QEnableSharedFromThis +} + +func (ptr *QEnableSharedFromThis) QEnableSharedFromThis_PTR() *QEnableSharedFromThis { + return ptr +} + +func (ptr *QEnableSharedFromThis) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QEnableSharedFromThis) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQEnableSharedFromThis(ptr QEnableSharedFromThis_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QEnableSharedFromThis_PTR().Pointer() + } + return nil +} + +func NewQEnableSharedFromThisFromPointer(ptr unsafe.Pointer) (n *QEnableSharedFromThis) { + n = new(QEnableSharedFromThis) + n.SetPointer(ptr) + return +} + +func (ptr *QEnableSharedFromThis) DestroyQEnableSharedFromThis() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QEvent struct { + ptr unsafe.Pointer +} + +type QEvent_ITF interface { + QEvent_PTR() *QEvent +} + +func (ptr *QEvent) QEvent_PTR() *QEvent { + return ptr +} + +func (ptr *QEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQEvent(ptr QEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func NewQEventFromPointer(ptr unsafe.Pointer) (n *QEvent) { + n = new(QEvent) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QEvent__Type +//QEvent::Type +type QEvent__Type int64 + +const ( + QEvent__None QEvent__Type = QEvent__Type(0) + QEvent__Timer QEvent__Type = QEvent__Type(1) + QEvent__MouseButtonPress QEvent__Type = QEvent__Type(2) + QEvent__MouseButtonRelease QEvent__Type = QEvent__Type(3) + QEvent__MouseButtonDblClick QEvent__Type = QEvent__Type(4) + QEvent__MouseMove QEvent__Type = QEvent__Type(5) + QEvent__KeyPress QEvent__Type = QEvent__Type(6) + QEvent__KeyRelease QEvent__Type = QEvent__Type(7) + QEvent__FocusIn QEvent__Type = QEvent__Type(8) + QEvent__FocusOut QEvent__Type = QEvent__Type(9) + QEvent__FocusAboutToChange QEvent__Type = QEvent__Type(23) + QEvent__Enter QEvent__Type = QEvent__Type(10) + QEvent__Leave QEvent__Type = QEvent__Type(11) + QEvent__Paint QEvent__Type = QEvent__Type(12) + QEvent__Move QEvent__Type = QEvent__Type(13) + QEvent__Resize QEvent__Type = QEvent__Type(14) + QEvent__Create QEvent__Type = QEvent__Type(15) + QEvent__Destroy QEvent__Type = QEvent__Type(16) + QEvent__Show QEvent__Type = QEvent__Type(17) + QEvent__Hide QEvent__Type = QEvent__Type(18) + QEvent__Close QEvent__Type = QEvent__Type(19) + QEvent__Quit QEvent__Type = QEvent__Type(20) + QEvent__ParentChange QEvent__Type = QEvent__Type(21) + QEvent__ParentAboutToChange QEvent__Type = QEvent__Type(131) + QEvent__ThreadChange QEvent__Type = QEvent__Type(22) + QEvent__WindowActivate QEvent__Type = QEvent__Type(24) + QEvent__WindowDeactivate QEvent__Type = QEvent__Type(25) + QEvent__ShowToParent QEvent__Type = QEvent__Type(26) + QEvent__HideToParent QEvent__Type = QEvent__Type(27) + QEvent__Wheel QEvent__Type = QEvent__Type(31) + QEvent__WindowTitleChange QEvent__Type = QEvent__Type(33) + QEvent__WindowIconChange QEvent__Type = QEvent__Type(34) + QEvent__ApplicationWindowIconChange QEvent__Type = QEvent__Type(35) + QEvent__ApplicationFontChange QEvent__Type = QEvent__Type(36) + QEvent__ApplicationLayoutDirectionChange QEvent__Type = QEvent__Type(37) + QEvent__ApplicationPaletteChange QEvent__Type = QEvent__Type(38) + QEvent__PaletteChange QEvent__Type = QEvent__Type(39) + QEvent__Clipboard QEvent__Type = QEvent__Type(40) + QEvent__Speech QEvent__Type = QEvent__Type(42) + QEvent__MetaCall QEvent__Type = QEvent__Type(43) + QEvent__SockAct QEvent__Type = QEvent__Type(50) + QEvent__WinEventAct QEvent__Type = QEvent__Type(132) + QEvent__DeferredDelete QEvent__Type = QEvent__Type(52) + QEvent__DragEnter QEvent__Type = QEvent__Type(60) + QEvent__DragMove QEvent__Type = QEvent__Type(61) + QEvent__DragLeave QEvent__Type = QEvent__Type(62) + QEvent__Drop QEvent__Type = QEvent__Type(63) + QEvent__DragResponse QEvent__Type = QEvent__Type(64) + QEvent__ChildAdded QEvent__Type = QEvent__Type(68) + QEvent__ChildPolished QEvent__Type = QEvent__Type(69) + QEvent__ChildRemoved QEvent__Type = QEvent__Type(71) + QEvent__ShowWindowRequest QEvent__Type = QEvent__Type(73) + QEvent__PolishRequest QEvent__Type = QEvent__Type(74) + QEvent__Polish QEvent__Type = QEvent__Type(75) + QEvent__LayoutRequest QEvent__Type = QEvent__Type(76) + QEvent__UpdateRequest QEvent__Type = QEvent__Type(77) + QEvent__UpdateLater QEvent__Type = QEvent__Type(78) + QEvent__EmbeddingControl QEvent__Type = QEvent__Type(79) + QEvent__ActivateControl QEvent__Type = QEvent__Type(80) + QEvent__DeactivateControl QEvent__Type = QEvent__Type(81) + QEvent__ContextMenu QEvent__Type = QEvent__Type(82) + QEvent__InputMethod QEvent__Type = QEvent__Type(83) + QEvent__TabletMove QEvent__Type = QEvent__Type(87) + QEvent__LocaleChange QEvent__Type = QEvent__Type(88) + QEvent__LanguageChange QEvent__Type = QEvent__Type(89) + QEvent__LayoutDirectionChange QEvent__Type = QEvent__Type(90) + QEvent__Style QEvent__Type = QEvent__Type(91) + QEvent__TabletPress QEvent__Type = QEvent__Type(92) + QEvent__TabletRelease QEvent__Type = QEvent__Type(93) + QEvent__OkRequest QEvent__Type = QEvent__Type(94) + QEvent__HelpRequest QEvent__Type = QEvent__Type(95) + QEvent__IconDrag QEvent__Type = QEvent__Type(96) + QEvent__FontChange QEvent__Type = QEvent__Type(97) + QEvent__EnabledChange QEvent__Type = QEvent__Type(98) + QEvent__ActivationChange QEvent__Type = QEvent__Type(99) + QEvent__StyleChange QEvent__Type = QEvent__Type(100) + QEvent__IconTextChange QEvent__Type = QEvent__Type(101) + QEvent__ModifiedChange QEvent__Type = QEvent__Type(102) + QEvent__MouseTrackingChange QEvent__Type = QEvent__Type(109) + QEvent__WindowBlocked QEvent__Type = QEvent__Type(103) + QEvent__WindowUnblocked QEvent__Type = QEvent__Type(104) + QEvent__WindowStateChange QEvent__Type = QEvent__Type(105) + QEvent__ReadOnlyChange QEvent__Type = QEvent__Type(106) + QEvent__ToolTip QEvent__Type = QEvent__Type(110) + QEvent__WhatsThis QEvent__Type = QEvent__Type(111) + QEvent__StatusTip QEvent__Type = QEvent__Type(112) + QEvent__ActionChanged QEvent__Type = QEvent__Type(113) + QEvent__ActionAdded QEvent__Type = QEvent__Type(114) + QEvent__ActionRemoved QEvent__Type = QEvent__Type(115) + QEvent__FileOpen QEvent__Type = QEvent__Type(116) + QEvent__Shortcut QEvent__Type = QEvent__Type(117) + QEvent__ShortcutOverride QEvent__Type = QEvent__Type(51) + QEvent__WhatsThisClicked QEvent__Type = QEvent__Type(118) + QEvent__ToolBarChange QEvent__Type = QEvent__Type(120) + QEvent__ApplicationActivate QEvent__Type = QEvent__Type(121) + QEvent__ApplicationActivated QEvent__Type = QEvent__Type(QEvent__ApplicationActivate) + QEvent__ApplicationDeactivate QEvent__Type = QEvent__Type(122) + QEvent__ApplicationDeactivated QEvent__Type = QEvent__Type(QEvent__ApplicationDeactivate) + QEvent__QueryWhatsThis QEvent__Type = QEvent__Type(123) + QEvent__EnterWhatsThisMode QEvent__Type = QEvent__Type(124) + QEvent__LeaveWhatsThisMode QEvent__Type = QEvent__Type(125) + QEvent__ZOrderChange QEvent__Type = QEvent__Type(126) + QEvent__HoverEnter QEvent__Type = QEvent__Type(127) + QEvent__HoverLeave QEvent__Type = QEvent__Type(128) + QEvent__HoverMove QEvent__Type = QEvent__Type(129) + QEvent__EnterEditFocus QEvent__Type = QEvent__Type(150) + QEvent__LeaveEditFocus QEvent__Type = QEvent__Type(151) + QEvent__AcceptDropsChange QEvent__Type = QEvent__Type(152) + QEvent__ZeroTimerEvent QEvent__Type = QEvent__Type(154) + QEvent__GraphicsSceneMouseMove QEvent__Type = QEvent__Type(155) + QEvent__GraphicsSceneMousePress QEvent__Type = QEvent__Type(156) + QEvent__GraphicsSceneMouseRelease QEvent__Type = QEvent__Type(157) + QEvent__GraphicsSceneMouseDoubleClick QEvent__Type = QEvent__Type(158) + QEvent__GraphicsSceneContextMenu QEvent__Type = QEvent__Type(159) + QEvent__GraphicsSceneHoverEnter QEvent__Type = QEvent__Type(160) + QEvent__GraphicsSceneHoverMove QEvent__Type = QEvent__Type(161) + QEvent__GraphicsSceneHoverLeave QEvent__Type = QEvent__Type(162) + QEvent__GraphicsSceneHelp QEvent__Type = QEvent__Type(163) + QEvent__GraphicsSceneDragEnter QEvent__Type = QEvent__Type(164) + QEvent__GraphicsSceneDragMove QEvent__Type = QEvent__Type(165) + QEvent__GraphicsSceneDragLeave QEvent__Type = QEvent__Type(166) + QEvent__GraphicsSceneDrop QEvent__Type = QEvent__Type(167) + QEvent__GraphicsSceneWheel QEvent__Type = QEvent__Type(168) + QEvent__KeyboardLayoutChange QEvent__Type = QEvent__Type(169) + QEvent__DynamicPropertyChange QEvent__Type = QEvent__Type(170) + QEvent__TabletEnterProximity QEvent__Type = QEvent__Type(171) + QEvent__TabletLeaveProximity QEvent__Type = QEvent__Type(172) + QEvent__NonClientAreaMouseMove QEvent__Type = QEvent__Type(173) + QEvent__NonClientAreaMouseButtonPress QEvent__Type = QEvent__Type(174) + QEvent__NonClientAreaMouseButtonRelease QEvent__Type = QEvent__Type(175) + QEvent__NonClientAreaMouseButtonDblClick QEvent__Type = QEvent__Type(176) + QEvent__MacSizeChange QEvent__Type = QEvent__Type(177) + QEvent__ContentsRectChange QEvent__Type = QEvent__Type(178) + QEvent__MacGLWindowChange QEvent__Type = QEvent__Type(179) + QEvent__FutureCallOut QEvent__Type = QEvent__Type(180) + QEvent__GraphicsSceneResize QEvent__Type = QEvent__Type(181) + QEvent__GraphicsSceneMove QEvent__Type = QEvent__Type(182) + QEvent__CursorChange QEvent__Type = QEvent__Type(183) + QEvent__ToolTipChange QEvent__Type = QEvent__Type(184) + QEvent__NetworkReplyUpdated QEvent__Type = QEvent__Type(185) + QEvent__GrabMouse QEvent__Type = QEvent__Type(186) + QEvent__UngrabMouse QEvent__Type = QEvent__Type(187) + QEvent__GrabKeyboard QEvent__Type = QEvent__Type(188) + QEvent__UngrabKeyboard QEvent__Type = QEvent__Type(189) + QEvent__MacGLClearDrawable QEvent__Type = QEvent__Type(191) + QEvent__StateMachineSignal QEvent__Type = QEvent__Type(192) + QEvent__StateMachineWrapped QEvent__Type = QEvent__Type(193) + QEvent__TouchBegin QEvent__Type = QEvent__Type(194) + QEvent__TouchUpdate QEvent__Type = QEvent__Type(195) + QEvent__TouchEnd QEvent__Type = QEvent__Type(196) + QEvent__NativeGesture QEvent__Type = QEvent__Type(197) + QEvent__RequestSoftwareInputPanel QEvent__Type = QEvent__Type(199) + QEvent__CloseSoftwareInputPanel QEvent__Type = QEvent__Type(200) + QEvent__WinIdChange QEvent__Type = QEvent__Type(203) + QEvent__Gesture QEvent__Type = QEvent__Type(198) + QEvent__GestureOverride QEvent__Type = QEvent__Type(202) + QEvent__ScrollPrepare QEvent__Type = QEvent__Type(204) + QEvent__Scroll QEvent__Type = QEvent__Type(205) + QEvent__Expose QEvent__Type = QEvent__Type(206) + QEvent__InputMethodQuery QEvent__Type = QEvent__Type(207) + QEvent__OrientationChange QEvent__Type = QEvent__Type(208) + QEvent__TouchCancel QEvent__Type = QEvent__Type(209) + QEvent__ThemeChange QEvent__Type = QEvent__Type(210) + QEvent__SockClose QEvent__Type = QEvent__Type(211) + QEvent__PlatformPanel QEvent__Type = QEvent__Type(212) + QEvent__StyleAnimationUpdate QEvent__Type = QEvent__Type(213) + QEvent__ApplicationStateChange QEvent__Type = QEvent__Type(214) + QEvent__WindowChangeInternal QEvent__Type = QEvent__Type(215) + QEvent__ScreenChangeInternal QEvent__Type = QEvent__Type(216) + QEvent__PlatformSurface QEvent__Type = QEvent__Type(217) + QEvent__Pointer QEvent__Type = QEvent__Type(218) + QEvent__TabletTrackingChange QEvent__Type = QEvent__Type(219) + QEvent__User QEvent__Type = QEvent__Type(1000) + QEvent__MaxUser QEvent__Type = QEvent__Type(65535) +) + +func NewQEvent(ty QEvent__Type) *QEvent { + tmpValue := NewQEventFromPointer(C.QEvent_NewQEvent(C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QEvent).DestroyQEvent) + return tmpValue +} + +func (ptr *QEvent) Accept() { + if ptr.Pointer() != nil { + C.QEvent_Accept(ptr.Pointer()) + } +} + +func (ptr *QEvent) Ignore() { + if ptr.Pointer() != nil { + C.QEvent_Ignore(ptr.Pointer()) + } +} + +func (ptr *QEvent) IsAccepted() bool { + if ptr.Pointer() != nil { + return int8(C.QEvent_IsAccepted(ptr.Pointer())) != 0 + } + return false +} + +func QEvent_RegisterEventType(hint int) int { + return int(int32(C.QEvent_QEvent_RegisterEventType(C.int(int32(hint))))) +} + +func (ptr *QEvent) RegisterEventType(hint int) int { + return int(int32(C.QEvent_QEvent_RegisterEventType(C.int(int32(hint))))) +} + +func (ptr *QEvent) SetAccepted(accepted bool) { + if ptr.Pointer() != nil { + C.QEvent_SetAccepted(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(accepted)))) + } +} + +func (ptr *QEvent) Spontaneous() bool { + if ptr.Pointer() != nil { + return int8(C.QEvent_Spontaneous(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QEvent) Type() QEvent__Type { + if ptr.Pointer() != nil { + return QEvent__Type(C.QEvent_Type(ptr.Pointer())) + } + return 0 +} + +//export callbackQEvent_DestroyQEvent +func callbackQEvent_DestroyQEvent(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QEvent"); signal != nil { + (*(*func())(signal))() + } else { + NewQEventFromPointer(ptr).DestroyQEventDefault() + } +} + +func (ptr *QEvent) ConnectDestroyQEvent(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QEvent"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QEvent) DisconnectDestroyQEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QEvent") + } +} + +func (ptr *QEvent) DestroyQEvent() { + if ptr.Pointer() != nil { + C.QEvent_DestroyQEvent(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QEvent) DestroyQEventDefault() { + if ptr.Pointer() != nil { + C.QEvent_DestroyQEventDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QEventLoop struct { + QObject +} + +type QEventLoop_ITF interface { + QObject_ITF + QEventLoop_PTR() *QEventLoop +} + +func (ptr *QEventLoop) QEventLoop_PTR() *QEventLoop { + return ptr +} + +func (ptr *QEventLoop) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QEventLoop) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQEventLoop(ptr QEventLoop_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QEventLoop_PTR().Pointer() + } + return nil +} + +func NewQEventLoopFromPointer(ptr unsafe.Pointer) (n *QEventLoop) { + n = new(QEventLoop) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QEventLoop__ProcessEventsFlag +//QEventLoop::ProcessEventsFlag +type QEventLoop__ProcessEventsFlag int64 + +const ( + QEventLoop__AllEvents QEventLoop__ProcessEventsFlag = QEventLoop__ProcessEventsFlag(0x00) + QEventLoop__ExcludeUserInputEvents QEventLoop__ProcessEventsFlag = QEventLoop__ProcessEventsFlag(0x01) + QEventLoop__ExcludeSocketNotifiers QEventLoop__ProcessEventsFlag = QEventLoop__ProcessEventsFlag(0x02) + QEventLoop__WaitForMoreEvents QEventLoop__ProcessEventsFlag = QEventLoop__ProcessEventsFlag(0x04) + QEventLoop__X11ExcludeTimers QEventLoop__ProcessEventsFlag = QEventLoop__ProcessEventsFlag(0x08) + QEventLoop__EventLoopExec QEventLoop__ProcessEventsFlag = QEventLoop__ProcessEventsFlag(0x20) + QEventLoop__DialogExec QEventLoop__ProcessEventsFlag = QEventLoop__ProcessEventsFlag(0x40) +) + +func NewQEventLoop(parent QObject_ITF) *QEventLoop { + tmpValue := NewQEventLoopFromPointer(C.QEventLoop_NewQEventLoop(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QEventLoop) Exec(flags QEventLoop__ProcessEventsFlag) int { + if ptr.Pointer() != nil { + return int(int32(C.QEventLoop_Exec(ptr.Pointer(), C.longlong(flags)))) + } + return 0 +} + +func (ptr *QEventLoop) Exit(returnCode int) { + if ptr.Pointer() != nil { + C.QEventLoop_Exit(ptr.Pointer(), C.int(int32(returnCode))) + } +} + +func (ptr *QEventLoop) IsRunning() bool { + if ptr.Pointer() != nil { + return int8(C.QEventLoop_IsRunning(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QEventLoop) ProcessEvents(flags QEventLoop__ProcessEventsFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QEventLoop_ProcessEvents(ptr.Pointer(), C.longlong(flags))) != 0 + } + return false +} + +func (ptr *QEventLoop) ProcessEvents2(flags QEventLoop__ProcessEventsFlag, maxTime int) { + if ptr.Pointer() != nil { + C.QEventLoop_ProcessEvents2(ptr.Pointer(), C.longlong(flags), C.int(int32(maxTime))) + } +} + +//export callbackQEventLoop_Quit +func callbackQEventLoop_Quit(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "quit"); signal != nil { + (*(*func())(signal))() + } else { + NewQEventLoopFromPointer(ptr).QuitDefault() + } +} + +func (ptr *QEventLoop) ConnectQuit(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "quit"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "quit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "quit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QEventLoop) DisconnectQuit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "quit") + } +} + +func (ptr *QEventLoop) Quit() { + if ptr.Pointer() != nil { + C.QEventLoop_Quit(ptr.Pointer()) + } +} + +func (ptr *QEventLoop) QuitDefault() { + if ptr.Pointer() != nil { + C.QEventLoop_QuitDefault(ptr.Pointer()) + } +} + +func (ptr *QEventLoop) WakeUp() { + if ptr.Pointer() != nil { + C.QEventLoop_WakeUp(ptr.Pointer()) + } +} + +//export callbackQEventLoop_DestroyQEventLoop +func callbackQEventLoop_DestroyQEventLoop(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QEventLoop"); signal != nil { + (*(*func())(signal))() + } else { + NewQEventLoopFromPointer(ptr).DestroyQEventLoopDefault() + } +} + +func (ptr *QEventLoop) ConnectDestroyQEventLoop(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QEventLoop"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QEventLoop", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QEventLoop", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QEventLoop) DisconnectDestroyQEventLoop() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QEventLoop") + } +} + +func (ptr *QEventLoop) DestroyQEventLoop() { + if ptr.Pointer() != nil { + C.QEventLoop_DestroyQEventLoop(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QEventLoop) DestroyQEventLoopDefault() { + if ptr.Pointer() != nil { + C.QEventLoop_DestroyQEventLoopDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QEventLoopLocker struct { + ptr unsafe.Pointer +} + +type QEventLoopLocker_ITF interface { + QEventLoopLocker_PTR() *QEventLoopLocker +} + +func (ptr *QEventLoopLocker) QEventLoopLocker_PTR() *QEventLoopLocker { + return ptr +} + +func (ptr *QEventLoopLocker) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QEventLoopLocker) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQEventLoopLocker(ptr QEventLoopLocker_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QEventLoopLocker_PTR().Pointer() + } + return nil +} + +func NewQEventLoopLockerFromPointer(ptr unsafe.Pointer) (n *QEventLoopLocker) { + n = new(QEventLoopLocker) + n.SetPointer(ptr) + return +} +func NewQEventLoopLocker() *QEventLoopLocker { + tmpValue := NewQEventLoopLockerFromPointer(C.QEventLoopLocker_NewQEventLoopLocker()) + runtime.SetFinalizer(tmpValue, (*QEventLoopLocker).DestroyQEventLoopLocker) + return tmpValue +} + +func NewQEventLoopLocker2(loop QEventLoop_ITF) *QEventLoopLocker { + tmpValue := NewQEventLoopLockerFromPointer(C.QEventLoopLocker_NewQEventLoopLocker2(PointerFromQEventLoop(loop))) + runtime.SetFinalizer(tmpValue, (*QEventLoopLocker).DestroyQEventLoopLocker) + return tmpValue +} + +func NewQEventLoopLocker3(thread QThread_ITF) *QEventLoopLocker { + tmpValue := NewQEventLoopLockerFromPointer(C.QEventLoopLocker_NewQEventLoopLocker3(PointerFromQThread(thread))) + runtime.SetFinalizer(tmpValue, (*QEventLoopLocker).DestroyQEventLoopLocker) + return tmpValue +} + +func (ptr *QEventLoopLocker) DestroyQEventLoopLocker() { + if ptr.Pointer() != nil { + C.QEventLoopLocker_DestroyQEventLoopLocker(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QEventTransition struct { + QAbstractTransition +} + +type QEventTransition_ITF interface { + QAbstractTransition_ITF + QEventTransition_PTR() *QEventTransition +} + +func (ptr *QEventTransition) QEventTransition_PTR() *QEventTransition { + return ptr +} + +func (ptr *QEventTransition) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractTransition_PTR().Pointer() + } + return nil +} + +func (ptr *QEventTransition) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractTransition_PTR().SetPointer(p) + } +} + +func PointerFromQEventTransition(ptr QEventTransition_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QEventTransition_PTR().Pointer() + } + return nil +} + +func NewQEventTransitionFromPointer(ptr unsafe.Pointer) (n *QEventTransition) { + n = new(QEventTransition) + n.SetPointer(ptr) + return +} +func NewQEventTransition(sourceState QState_ITF) *QEventTransition { + tmpValue := NewQEventTransitionFromPointer(C.QEventTransition_NewQEventTransition(PointerFromQState(sourceState))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQEventTransition2(object QObject_ITF, ty QEvent__Type, sourceState QState_ITF) *QEventTransition { + tmpValue := NewQEventTransitionFromPointer(C.QEventTransition_NewQEventTransition2(PointerFromQObject(object), C.longlong(ty), PointerFromQState(sourceState))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QEventTransition) EventSource() *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QEventTransition_EventSource(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQEventTransition_EventTest +func callbackQEventTransition_EventTest(ptr unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventTest"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QEvent) bool)(signal))(NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQEventTransitionFromPointer(ptr).EventTestDefault(NewQEventFromPointer(event))))) +} + +func (ptr *QEventTransition) ConnectEventTest(f func(event *QEvent) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "eventTest"); signal != nil { + f := func(event *QEvent) bool { + (*(*func(*QEvent) bool)(signal))(event) + return f(event) + } + qt.ConnectSignal(ptr.Pointer(), "eventTest", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "eventTest", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QEventTransition) DisconnectEventTest() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "eventTest") + } +} + +func (ptr *QEventTransition) EventTest(event QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QEventTransition_EventTest(ptr.Pointer(), PointerFromQEvent(event))) != 0 + } + return false +} + +func (ptr *QEventTransition) EventTestDefault(event QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QEventTransition_EventTestDefault(ptr.Pointer(), PointerFromQEvent(event))) != 0 + } + return false +} + +func (ptr *QEventTransition) EventType() QEvent__Type { + if ptr.Pointer() != nil { + return QEvent__Type(C.QEventTransition_EventType(ptr.Pointer())) + } + return 0 +} + +//export callbackQEventTransition_OnTransition +func callbackQEventTransition_OnTransition(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onTransition"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } else { + NewQEventTransitionFromPointer(ptr).OnTransitionDefault(NewQEventFromPointer(event)) + } +} + +func (ptr *QEventTransition) ConnectOnTransition(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onTransition"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onTransition", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onTransition", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QEventTransition) DisconnectOnTransition() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onTransition") + } +} + +func (ptr *QEventTransition) OnTransition(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QEventTransition_OnTransition(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QEventTransition) OnTransitionDefault(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QEventTransition_OnTransitionDefault(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QEventTransition) SetEventSource(object QObject_ITF) { + if ptr.Pointer() != nil { + C.QEventTransition_SetEventSource(ptr.Pointer(), PointerFromQObject(object)) + } +} + +func (ptr *QEventTransition) SetEventType(ty QEvent__Type) { + if ptr.Pointer() != nil { + C.QEventTransition_SetEventType(ptr.Pointer(), C.longlong(ty)) + } +} + +//export callbackQEventTransition_DestroyQEventTransition +func callbackQEventTransition_DestroyQEventTransition(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QEventTransition"); signal != nil { + (*(*func())(signal))() + } else { + NewQEventTransitionFromPointer(ptr).DestroyQEventTransitionDefault() + } +} + +func (ptr *QEventTransition) ConnectDestroyQEventTransition(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QEventTransition"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QEventTransition", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QEventTransition", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QEventTransition) DisconnectDestroyQEventTransition() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QEventTransition") + } +} + +func (ptr *QEventTransition) DestroyQEventTransition() { + if ptr.Pointer() != nil { + C.QEventTransition_DestroyQEventTransition(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QEventTransition) DestroyQEventTransitionDefault() { + if ptr.Pointer() != nil { + C.QEventTransition_DestroyQEventTransitionDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QException struct { + ptr unsafe.Pointer +} + +type QException_ITF interface { + QException_PTR() *QException +} + +func (ptr *QException) QException_PTR() *QException { + return ptr +} + +func (ptr *QException) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QException) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQException(ptr QException_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QException_PTR().Pointer() + } + return nil +} + +func NewQExceptionFromPointer(ptr unsafe.Pointer) (n *QException) { + n = new(QException) + n.SetPointer(ptr) + return +} + +func (ptr *QException) DestroyQException() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QExplicitlySharedDataPointer struct { + ptr unsafe.Pointer +} + +type QExplicitlySharedDataPointer_ITF interface { + QExplicitlySharedDataPointer_PTR() *QExplicitlySharedDataPointer +} + +func (ptr *QExplicitlySharedDataPointer) QExplicitlySharedDataPointer_PTR() *QExplicitlySharedDataPointer { + return ptr +} + +func (ptr *QExplicitlySharedDataPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QExplicitlySharedDataPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQExplicitlySharedDataPointer(ptr QExplicitlySharedDataPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QExplicitlySharedDataPointer_PTR().Pointer() + } + return nil +} + +func NewQExplicitlySharedDataPointerFromPointer(ptr unsafe.Pointer) (n *QExplicitlySharedDataPointer) { + n = new(QExplicitlySharedDataPointer) + n.SetPointer(ptr) + return +} + +type QFactoryInterface struct { + ptr unsafe.Pointer +} + +type QFactoryInterface_ITF interface { + QFactoryInterface_PTR() *QFactoryInterface +} + +func (ptr *QFactoryInterface) QFactoryInterface_PTR() *QFactoryInterface { + return ptr +} + +func (ptr *QFactoryInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFactoryInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFactoryInterface(ptr QFactoryInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFactoryInterface_PTR().Pointer() + } + return nil +} + +func NewQFactoryInterfaceFromPointer(ptr unsafe.Pointer) (n *QFactoryInterface) { + n = new(QFactoryInterface) + n.SetPointer(ptr) + return +} + +func (ptr *QFactoryInterface) DestroyQFactoryInterface() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFile struct { + QFileDevice +} + +type QFile_ITF interface { + QFileDevice_ITF + QFile_PTR() *QFile +} + +func (ptr *QFile) QFile_PTR() *QFile { + return ptr +} + +func (ptr *QFile) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QFileDevice_PTR().Pointer() + } + return nil +} + +func (ptr *QFile) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QFileDevice_PTR().SetPointer(p) + } +} + +func PointerFromQFile(ptr QFile_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFile_PTR().Pointer() + } + return nil +} + +func NewQFileFromPointer(ptr unsafe.Pointer) (n *QFile) { + n = new(QFile) + n.SetPointer(ptr) + return +} +func NewQFile() *QFile { + tmpValue := NewQFileFromPointer(C.QFile_NewQFile()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQFile2(name string) *QFile { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQFileFromPointer(C.QFile_NewQFile2(C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQFile3(parent QObject_ITF) *QFile { + tmpValue := NewQFileFromPointer(C.QFile_NewQFile3(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQFile4(name string, parent QObject_ITF) *QFile { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQFileFromPointer(C.QFile_NewQFile4(C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QFile) Copy(newName string) bool { + if ptr.Pointer() != nil { + var newNameC *C.char + if newName != "" { + newNameC = C.CString(newName) + defer C.free(unsafe.Pointer(newNameC)) + } + return int8(C.QFile_Copy(ptr.Pointer(), C.struct_QtCore_PackedString{data: newNameC, len: C.longlong(len(newName))})) != 0 + } + return false +} + +func QFile_Copy2(fileName string, newName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var newNameC *C.char + if newName != "" { + newNameC = C.CString(newName) + defer C.free(unsafe.Pointer(newNameC)) + } + return int8(C.QFile_QFile_Copy2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.struct_QtCore_PackedString{data: newNameC, len: C.longlong(len(newName))})) != 0 +} + +func (ptr *QFile) Copy2(fileName string, newName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var newNameC *C.char + if newName != "" { + newNameC = C.CString(newName) + defer C.free(unsafe.Pointer(newNameC)) + } + return int8(C.QFile_QFile_Copy2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.struct_QtCore_PackedString{data: newNameC, len: C.longlong(len(newName))})) != 0 +} + +func QFile_DecodeName(localFileName QByteArray_ITF) string { + return cGoUnpackString(C.QFile_QFile_DecodeName(PointerFromQByteArray(localFileName))) +} + +func (ptr *QFile) DecodeName(localFileName QByteArray_ITF) string { + return cGoUnpackString(C.QFile_QFile_DecodeName(PointerFromQByteArray(localFileName))) +} + +func QFile_DecodeName2(localFileName string) string { + var localFileNameC *C.char + if localFileName != "" { + localFileNameC = C.CString(localFileName) + defer C.free(unsafe.Pointer(localFileNameC)) + } + return cGoUnpackString(C.QFile_QFile_DecodeName2(localFileNameC)) +} + +func (ptr *QFile) DecodeName2(localFileName string) string { + var localFileNameC *C.char + if localFileName != "" { + localFileNameC = C.CString(localFileName) + defer C.free(unsafe.Pointer(localFileNameC)) + } + return cGoUnpackString(C.QFile_QFile_DecodeName2(localFileNameC)) +} + +func QFile_EncodeName(fileName string) *QByteArray { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQByteArrayFromPointer(C.QFile_QFile_EncodeName(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QFile) EncodeName(fileName string) *QByteArray { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQByteArrayFromPointer(C.QFile_QFile_EncodeName(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QFile_Exists(fileName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QFile_QFile_Exists(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func (ptr *QFile) Exists(fileName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QFile_QFile_Exists(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func (ptr *QFile) Exists2() bool { + if ptr.Pointer() != nil { + return int8(C.QFile_Exists2(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFile) Link(linkName string) bool { + if ptr.Pointer() != nil { + var linkNameC *C.char + if linkName != "" { + linkNameC = C.CString(linkName) + defer C.free(unsafe.Pointer(linkNameC)) + } + return int8(C.QFile_Link(ptr.Pointer(), C.struct_QtCore_PackedString{data: linkNameC, len: C.longlong(len(linkName))})) != 0 + } + return false +} + +func QFile_Link2(fileName string, linkName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var linkNameC *C.char + if linkName != "" { + linkNameC = C.CString(linkName) + defer C.free(unsafe.Pointer(linkNameC)) + } + return int8(C.QFile_QFile_Link2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.struct_QtCore_PackedString{data: linkNameC, len: C.longlong(len(linkName))})) != 0 +} + +func (ptr *QFile) Link2(fileName string, linkName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var linkNameC *C.char + if linkName != "" { + linkNameC = C.CString(linkName) + defer C.free(unsafe.Pointer(linkNameC)) + } + return int8(C.QFile_QFile_Link2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.struct_QtCore_PackedString{data: linkNameC, len: C.longlong(len(linkName))})) != 0 +} + +func (ptr *QFile) Open3(fd int, mode QIODevice__OpenModeFlag, handleFlags QFileDevice__FileHandleFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QFile_Open3(ptr.Pointer(), C.int(int32(fd)), C.longlong(mode), C.longlong(handleFlags))) != 0 + } + return false +} + +func QFile_Permissions2(fileName string) QFileDevice__Permission { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return QFileDevice__Permission(C.QFile_QFile_Permissions2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) +} + +func (ptr *QFile) Permissions2(fileName string) QFileDevice__Permission { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return QFileDevice__Permission(C.QFile_QFile_Permissions2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) +} + +func (ptr *QFile) Remove() bool { + if ptr.Pointer() != nil { + return int8(C.QFile_Remove(ptr.Pointer())) != 0 + } + return false +} + +func QFile_Remove2(fileName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QFile_QFile_Remove2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func (ptr *QFile) Remove2(fileName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QFile_QFile_Remove2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func (ptr *QFile) Rename(newName string) bool { + if ptr.Pointer() != nil { + var newNameC *C.char + if newName != "" { + newNameC = C.CString(newName) + defer C.free(unsafe.Pointer(newNameC)) + } + return int8(C.QFile_Rename(ptr.Pointer(), C.struct_QtCore_PackedString{data: newNameC, len: C.longlong(len(newName))})) != 0 + } + return false +} + +func QFile_Rename2(oldName string, newName string) bool { + var oldNameC *C.char + if oldName != "" { + oldNameC = C.CString(oldName) + defer C.free(unsafe.Pointer(oldNameC)) + } + var newNameC *C.char + if newName != "" { + newNameC = C.CString(newName) + defer C.free(unsafe.Pointer(newNameC)) + } + return int8(C.QFile_QFile_Rename2(C.struct_QtCore_PackedString{data: oldNameC, len: C.longlong(len(oldName))}, C.struct_QtCore_PackedString{data: newNameC, len: C.longlong(len(newName))})) != 0 +} + +func (ptr *QFile) Rename2(oldName string, newName string) bool { + var oldNameC *C.char + if oldName != "" { + oldNameC = C.CString(oldName) + defer C.free(unsafe.Pointer(oldNameC)) + } + var newNameC *C.char + if newName != "" { + newNameC = C.CString(newName) + defer C.free(unsafe.Pointer(newNameC)) + } + return int8(C.QFile_QFile_Rename2(C.struct_QtCore_PackedString{data: oldNameC, len: C.longlong(len(oldName))}, C.struct_QtCore_PackedString{data: newNameC, len: C.longlong(len(newName))})) != 0 +} + +func QFile_Resize2(fileName string, sz int64) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QFile_QFile_Resize2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(sz))) != 0 +} + +func (ptr *QFile) Resize2(fileName string, sz int64) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QFile_QFile_Resize2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(sz))) != 0 +} + +func (ptr *QFile) SetFileName(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QFile_SetFileName(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func QFile_SetPermissions2(fileName string, permissions QFileDevice__Permission) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QFile_QFile_SetPermissions2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(permissions))) != 0 +} + +func (ptr *QFile) SetPermissions2(fileName string, permissions QFileDevice__Permission) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QFile_QFile_SetPermissions2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(permissions))) != 0 +} + +func QFile_SymLinkTarget(fileName string) string { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return cGoUnpackString(C.QFile_QFile_SymLinkTarget(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) +} + +func (ptr *QFile) SymLinkTarget(fileName string) string { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return cGoUnpackString(C.QFile_QFile_SymLinkTarget(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) +} + +func (ptr *QFile) SymLinkTarget2() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFile_SymLinkTarget2(ptr.Pointer())) + } + return "" +} + +//export callbackQFile_DestroyQFile +func callbackQFile_DestroyQFile(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QFile"); signal != nil { + (*(*func())(signal))() + } else { + NewQFileFromPointer(ptr).DestroyQFileDefault() + } +} + +func (ptr *QFile) ConnectDestroyQFile(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QFile"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QFile", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QFile", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFile) DisconnectDestroyQFile() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QFile") + } +} + +func (ptr *QFile) DestroyQFile() { + if ptr.Pointer() != nil { + C.QFile_DestroyQFile(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QFile) DestroyQFileDefault() { + if ptr.Pointer() != nil { + C.QFile_DestroyQFileDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFileDevice struct { + QIODevice +} + +type QFileDevice_ITF interface { + QIODevice_ITF + QFileDevice_PTR() *QFileDevice +} + +func (ptr *QFileDevice) QFileDevice_PTR() *QFileDevice { + return ptr +} + +func (ptr *QFileDevice) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QIODevice_PTR().Pointer() + } + return nil +} + +func (ptr *QFileDevice) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QIODevice_PTR().SetPointer(p) + } +} + +func PointerFromQFileDevice(ptr QFileDevice_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFileDevice_PTR().Pointer() + } + return nil +} + +func NewQFileDeviceFromPointer(ptr unsafe.Pointer) (n *QFileDevice) { + n = new(QFileDevice) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QFileDevice__FileError +//QFileDevice::FileError +type QFileDevice__FileError int64 + +const ( + QFileDevice__NoError QFileDevice__FileError = QFileDevice__FileError(0) + QFileDevice__ReadError QFileDevice__FileError = QFileDevice__FileError(1) + QFileDevice__WriteError QFileDevice__FileError = QFileDevice__FileError(2) + QFileDevice__FatalError QFileDevice__FileError = QFileDevice__FileError(3) + QFileDevice__ResourceError QFileDevice__FileError = QFileDevice__FileError(4) + QFileDevice__OpenError QFileDevice__FileError = QFileDevice__FileError(5) + QFileDevice__AbortError QFileDevice__FileError = QFileDevice__FileError(6) + QFileDevice__TimeOutError QFileDevice__FileError = QFileDevice__FileError(7) + QFileDevice__UnspecifiedError QFileDevice__FileError = QFileDevice__FileError(8) + QFileDevice__RemoveError QFileDevice__FileError = QFileDevice__FileError(9) + QFileDevice__RenameError QFileDevice__FileError = QFileDevice__FileError(10) + QFileDevice__PositionError QFileDevice__FileError = QFileDevice__FileError(11) + QFileDevice__ResizeError QFileDevice__FileError = QFileDevice__FileError(12) + QFileDevice__PermissionsError QFileDevice__FileError = QFileDevice__FileError(13) + QFileDevice__CopyError QFileDevice__FileError = QFileDevice__FileError(14) +) + +//go:generate stringer -type=QFileDevice__FileTime +//QFileDevice::FileTime +type QFileDevice__FileTime int64 + +const ( + QFileDevice__FileAccessTime QFileDevice__FileTime = QFileDevice__FileTime(0) + QFileDevice__FileBirthTime QFileDevice__FileTime = QFileDevice__FileTime(1) + QFileDevice__FileMetadataChangeTime QFileDevice__FileTime = QFileDevice__FileTime(2) + QFileDevice__FileModificationTime QFileDevice__FileTime = QFileDevice__FileTime(3) +) + +//go:generate stringer -type=QFileDevice__Permission +//QFileDevice::Permission +type QFileDevice__Permission int64 + +const ( + QFileDevice__ReadOwner QFileDevice__Permission = QFileDevice__Permission(0x4000) + QFileDevice__WriteOwner QFileDevice__Permission = QFileDevice__Permission(0x2000) + QFileDevice__ExeOwner QFileDevice__Permission = QFileDevice__Permission(0x1000) + QFileDevice__ReadUser QFileDevice__Permission = QFileDevice__Permission(0x0400) + QFileDevice__WriteUser QFileDevice__Permission = QFileDevice__Permission(0x0200) + QFileDevice__ExeUser QFileDevice__Permission = QFileDevice__Permission(0x0100) + QFileDevice__ReadGroup QFileDevice__Permission = QFileDevice__Permission(0x0040) + QFileDevice__WriteGroup QFileDevice__Permission = QFileDevice__Permission(0x0020) + QFileDevice__ExeGroup QFileDevice__Permission = QFileDevice__Permission(0x0010) + QFileDevice__ReadOther QFileDevice__Permission = QFileDevice__Permission(0x0004) + QFileDevice__WriteOther QFileDevice__Permission = QFileDevice__Permission(0x0002) + QFileDevice__ExeOther QFileDevice__Permission = QFileDevice__Permission(0x0001) +) + +//go:generate stringer -type=QFileDevice__FileHandleFlag +//QFileDevice::FileHandleFlag +type QFileDevice__FileHandleFlag int64 + +const ( + QFileDevice__AutoCloseHandle QFileDevice__FileHandleFlag = QFileDevice__FileHandleFlag(0x0001) + QFileDevice__DontCloseHandle QFileDevice__FileHandleFlag = QFileDevice__FileHandleFlag(0) +) + +//go:generate stringer -type=QFileDevice__MemoryMapFlags +//QFileDevice::MemoryMapFlags +type QFileDevice__MemoryMapFlags int64 + +const ( + QFileDevice__NoOptions QFileDevice__MemoryMapFlags = QFileDevice__MemoryMapFlags(0) + QFileDevice__MapPrivateOption QFileDevice__MemoryMapFlags = QFileDevice__MemoryMapFlags(0x0001) +) + +func (ptr *QFileDevice) Error() QFileDevice__FileError { + if ptr.Pointer() != nil { + return QFileDevice__FileError(C.QFileDevice_Error(ptr.Pointer())) + } + return 0 +} + +//export callbackQFileDevice_FileName +func callbackQFileDevice_FileName(ptr unsafe.Pointer) C.struct_QtCore_PackedString { + if signal := qt.GetSignal(ptr, "fileName"); signal != nil { + tempVal := (*(*func() string)(signal))() + return C.struct_QtCore_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQFileDeviceFromPointer(ptr).FileNameDefault() + return C.struct_QtCore_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QFileDevice) ConnectFileName(f func() string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "fileName"); signal != nil { + f := func() string { + (*(*func() string)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "fileName", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "fileName", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileDevice) DisconnectFileName() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "fileName") + } +} + +func (ptr *QFileDevice) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileDevice_FileName(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileDevice) FileNameDefault() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileDevice_FileNameDefault(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileDevice) FileTime(ti QFileDevice__FileTime) *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QFileDevice_FileTime(ptr.Pointer(), C.longlong(ti))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QFileDevice) Flush() bool { + if ptr.Pointer() != nil { + return int8(C.QFileDevice_Flush(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileDevice) Handle() int { + if ptr.Pointer() != nil { + return int(int32(C.QFileDevice_Handle(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFileDevice) Map(offset int64, size int64, flags QFileDevice__MemoryMapFlags) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileDevice_Map(ptr.Pointer(), C.longlong(offset), C.longlong(size), C.longlong(flags))) + } + return "" +} + +//export callbackQFileDevice_Permissions +func callbackQFileDevice_Permissions(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "permissions"); signal != nil { + return C.longlong((*(*func() QFileDevice__Permission)(signal))()) + } + + return C.longlong(NewQFileDeviceFromPointer(ptr).PermissionsDefault()) +} + +func (ptr *QFileDevice) ConnectPermissions(f func() QFileDevice__Permission) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "permissions"); signal != nil { + f := func() QFileDevice__Permission { + (*(*func() QFileDevice__Permission)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "permissions", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "permissions", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileDevice) DisconnectPermissions() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "permissions") + } +} + +func (ptr *QFileDevice) Permissions() QFileDevice__Permission { + if ptr.Pointer() != nil { + return QFileDevice__Permission(C.QFileDevice_Permissions(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFileDevice) PermissionsDefault() QFileDevice__Permission { + if ptr.Pointer() != nil { + return QFileDevice__Permission(C.QFileDevice_PermissionsDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQFileDevice_ReadData +func callbackQFileDevice_ReadData(ptr unsafe.Pointer, data C.struct_QtCore_PackedString, l C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readData"); signal != nil { + retS := cGoUnpackString(data) + ret := C.longlong((*(*func(*string, int64) int64)(signal))(&retS, int64(l))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret + } + retS := cGoUnpackString(data) + ret := C.longlong(NewQFileDeviceFromPointer(ptr).ReadDataDefault(&retS, int64(l))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret +} + +func (ptr *QFileDevice) ConnectReadData(f func(data *string, l int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "readData"); signal != nil { + f := func(data *string, l int64) int64 { + (*(*func(*string, int64) int64)(signal))(data, l) + return f(data, l) + } + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileDevice) DisconnectReadData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "readData") + } +} + +func (ptr *QFileDevice) ReadData(data *string, l int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(l))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QFileDevice_ReadData(ptr.Pointer(), dataC, C.longlong(l))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +func (ptr *QFileDevice) ReadDataDefault(data *string, l int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(l))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QFileDevice_ReadDataDefault(ptr.Pointer(), dataC, C.longlong(l))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +//export callbackQFileDevice_Resize +func callbackQFileDevice_Resize(ptr unsafe.Pointer, sz C.longlong) C.char { + if signal := qt.GetSignal(ptr, "resize"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int64) bool)(signal))(int64(sz))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQFileDeviceFromPointer(ptr).ResizeDefault(int64(sz))))) +} + +func (ptr *QFileDevice) ConnectResize(f func(sz int64) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "resize"); signal != nil { + f := func(sz int64) bool { + (*(*func(int64) bool)(signal))(sz) + return f(sz) + } + qt.ConnectSignal(ptr.Pointer(), "resize", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resize", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileDevice) DisconnectResize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "resize") + } +} + +func (ptr *QFileDevice) Resize(sz int64) bool { + if ptr.Pointer() != nil { + return int8(C.QFileDevice_Resize(ptr.Pointer(), C.longlong(sz))) != 0 + } + return false +} + +func (ptr *QFileDevice) ResizeDefault(sz int64) bool { + if ptr.Pointer() != nil { + return int8(C.QFileDevice_ResizeDefault(ptr.Pointer(), C.longlong(sz))) != 0 + } + return false +} + +func (ptr *QFileDevice) SetFileTime(newDate QDateTime_ITF, fileTime QFileDevice__FileTime) bool { + if ptr.Pointer() != nil { + return int8(C.QFileDevice_SetFileTime(ptr.Pointer(), PointerFromQDateTime(newDate), C.longlong(fileTime))) != 0 + } + return false +} + +//export callbackQFileDevice_SetPermissions +func callbackQFileDevice_SetPermissions(ptr unsafe.Pointer, permissions C.longlong) C.char { + if signal := qt.GetSignal(ptr, "setPermissions"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(QFileDevice__Permission) bool)(signal))(QFileDevice__Permission(permissions))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQFileDeviceFromPointer(ptr).SetPermissionsDefault(QFileDevice__Permission(permissions))))) +} + +func (ptr *QFileDevice) ConnectSetPermissions(f func(permissions QFileDevice__Permission) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setPermissions"); signal != nil { + f := func(permissions QFileDevice__Permission) bool { + (*(*func(QFileDevice__Permission) bool)(signal))(permissions) + return f(permissions) + } + qt.ConnectSignal(ptr.Pointer(), "setPermissions", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setPermissions", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileDevice) DisconnectSetPermissions() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setPermissions") + } +} + +func (ptr *QFileDevice) SetPermissions(permissions QFileDevice__Permission) bool { + if ptr.Pointer() != nil { + return int8(C.QFileDevice_SetPermissions(ptr.Pointer(), C.longlong(permissions))) != 0 + } + return false +} + +func (ptr *QFileDevice) SetPermissionsDefault(permissions QFileDevice__Permission) bool { + if ptr.Pointer() != nil { + return int8(C.QFileDevice_SetPermissionsDefault(ptr.Pointer(), C.longlong(permissions))) != 0 + } + return false +} + +func (ptr *QFileDevice) Unmap(address string) bool { + if ptr.Pointer() != nil { + var addressC *C.char + if address != "" { + addressC = C.CString(address) + defer C.free(unsafe.Pointer(addressC)) + } + return int8(C.QFileDevice_Unmap(ptr.Pointer(), addressC)) != 0 + } + return false +} + +func (ptr *QFileDevice) UnsetError() { + if ptr.Pointer() != nil { + C.QFileDevice_UnsetError(ptr.Pointer()) + } +} + +//export callbackQFileDevice_WriteData +func callbackQFileDevice_WriteData(ptr unsafe.Pointer, data C.struct_QtCore_PackedString, l C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "writeData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(l))) + } + + return C.longlong(NewQFileDeviceFromPointer(ptr).WriteDataDefault(cGoUnpackBytes(data), int64(l))) +} + +func (ptr *QFileDevice) ConnectWriteData(f func(data []byte, l int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "writeData"); signal != nil { + f := func(data []byte, l int64) int64 { + (*(*func([]byte, int64) int64)(signal))(data, l) + return f(data, l) + } + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileDevice) DisconnectWriteData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "writeData") + } +} + +func (ptr *QFileDevice) WriteData(data []byte, l int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QFileDevice_WriteData(ptr.Pointer(), dataC, C.longlong(l))) + } + return 0 +} + +func (ptr *QFileDevice) WriteDataDefault(data []byte, l int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QFileDevice_WriteDataDefault(ptr.Pointer(), dataC, C.longlong(l))) + } + return 0 +} + +//export callbackQFileDevice_DestroyQFileDevice +func callbackQFileDevice_DestroyQFileDevice(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QFileDevice"); signal != nil { + (*(*func())(signal))() + } else { + NewQFileDeviceFromPointer(ptr).DestroyQFileDeviceDefault() + } +} + +func (ptr *QFileDevice) ConnectDestroyQFileDevice(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QFileDevice"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QFileDevice", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QFileDevice", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileDevice) DisconnectDestroyQFileDevice() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QFileDevice") + } +} + +func (ptr *QFileDevice) DestroyQFileDevice() { + if ptr.Pointer() != nil { + C.QFileDevice_DestroyQFileDevice(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QFileDevice) DestroyQFileDeviceDefault() { + if ptr.Pointer() != nil { + C.QFileDevice_DestroyQFileDeviceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFileInfo struct { + ptr unsafe.Pointer +} + +type QFileInfo_ITF interface { + QFileInfo_PTR() *QFileInfo +} + +func (ptr *QFileInfo) QFileInfo_PTR() *QFileInfo { + return ptr +} + +func (ptr *QFileInfo) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFileInfo) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFileInfo(ptr QFileInfo_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFileInfo_PTR().Pointer() + } + return nil +} + +func NewQFileInfoFromPointer(ptr unsafe.Pointer) (n *QFileInfo) { + n = new(QFileInfo) + n.SetPointer(ptr) + return +} +func NewQFileInfo2() *QFileInfo { + tmpValue := NewQFileInfoFromPointer(C.QFileInfo_NewQFileInfo2()) + runtime.SetFinalizer(tmpValue, (*QFileInfo).DestroyQFileInfo) + return tmpValue +} + +func NewQFileInfo3(file string) *QFileInfo { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + tmpValue := NewQFileInfoFromPointer(C.QFileInfo_NewQFileInfo3(C.struct_QtCore_PackedString{data: fileC, len: C.longlong(len(file))})) + runtime.SetFinalizer(tmpValue, (*QFileInfo).DestroyQFileInfo) + return tmpValue +} + +func NewQFileInfo4(file QFile_ITF) *QFileInfo { + tmpValue := NewQFileInfoFromPointer(C.QFileInfo_NewQFileInfo4(PointerFromQFile(file))) + runtime.SetFinalizer(tmpValue, (*QFileInfo).DestroyQFileInfo) + return tmpValue +} + +func NewQFileInfo5(dir QDir_ITF, file string) *QFileInfo { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + tmpValue := NewQFileInfoFromPointer(C.QFileInfo_NewQFileInfo5(PointerFromQDir(dir), C.struct_QtCore_PackedString{data: fileC, len: C.longlong(len(file))})) + runtime.SetFinalizer(tmpValue, (*QFileInfo).DestroyQFileInfo) + return tmpValue +} + +func NewQFileInfo6(fileinfo QFileInfo_ITF) *QFileInfo { + tmpValue := NewQFileInfoFromPointer(C.QFileInfo_NewQFileInfo6(PointerFromQFileInfo(fileinfo))) + runtime.SetFinalizer(tmpValue, (*QFileInfo).DestroyQFileInfo) + return tmpValue +} + +func (ptr *QFileInfo) AbsoluteDir() *QDir { + if ptr.Pointer() != nil { + tmpValue := NewQDirFromPointer(C.QFileInfo_AbsoluteDir(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue + } + return nil +} + +func (ptr *QFileInfo) AbsoluteFilePath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_AbsoluteFilePath(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) AbsolutePath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_AbsolutePath(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) BaseName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_BaseName(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) BirthTime() *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QFileInfo_BirthTime(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QFileInfo) BundleName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_BundleName(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) Caching() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_Caching(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) CanonicalFilePath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_CanonicalFilePath(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) CanonicalPath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_CanonicalPath(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) CompleteBaseName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_CompleteBaseName(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) CompleteSuffix() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_CompleteSuffix(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) Dir() *QDir { + if ptr.Pointer() != nil { + tmpValue := NewQDirFromPointer(C.QFileInfo_Dir(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDir).DestroyQDir) + return tmpValue + } + return nil +} + +func (ptr *QFileInfo) Exists() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_Exists(ptr.Pointer())) != 0 + } + return false +} + +func QFileInfo_Exists2(file string) bool { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + return int8(C.QFileInfo_QFileInfo_Exists2(C.struct_QtCore_PackedString{data: fileC, len: C.longlong(len(file))})) != 0 +} + +func (ptr *QFileInfo) Exists2(file string) bool { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + return int8(C.QFileInfo_QFileInfo_Exists2(C.struct_QtCore_PackedString{data: fileC, len: C.longlong(len(file))})) != 0 +} + +func (ptr *QFileInfo) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_FileName(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) FilePath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_FilePath(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) Group() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_Group(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) GroupId() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QFileInfo_GroupId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFileInfo) IsAbsolute() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsAbsolute(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsBundle() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsBundle(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsDir() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsDir(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsExecutable() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsExecutable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsFile() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsFile(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsHidden() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsHidden(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsNativePath() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsNativePath(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsReadable() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsReadable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsRelative() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsRelative(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsRoot() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsRoot(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsSymLink() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsSymLink(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) IsWritable() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_IsWritable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) LastModified() *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QFileInfo_LastModified(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QFileInfo) LastRead() *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QFileInfo_LastRead(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QFileInfo) MakeAbsolute() bool { + if ptr.Pointer() != nil { + return int8(C.QFileInfo_MakeAbsolute(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFileInfo) MetadataChangeTime() *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QFileInfo_MetadataChangeTime(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QFileInfo) Owner() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_Owner(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) OwnerId() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QFileInfo_OwnerId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFileInfo) Path() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_Path(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) Refresh() { + if ptr.Pointer() != nil { + C.QFileInfo_Refresh(ptr.Pointer()) + } +} + +func (ptr *QFileInfo) SetCaching(enable bool) { + if ptr.Pointer() != nil { + C.QFileInfo_SetCaching(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QFileInfo) SetFile(file string) { + if ptr.Pointer() != nil { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + C.QFileInfo_SetFile(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileC, len: C.longlong(len(file))}) + } +} + +func (ptr *QFileInfo) SetFile2(file QFile_ITF) { + if ptr.Pointer() != nil { + C.QFileInfo_SetFile2(ptr.Pointer(), PointerFromQFile(file)) + } +} + +func (ptr *QFileInfo) SetFile3(dir QDir_ITF, file string) { + if ptr.Pointer() != nil { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + C.QFileInfo_SetFile3(ptr.Pointer(), PointerFromQDir(dir), C.struct_QtCore_PackedString{data: fileC, len: C.longlong(len(file))}) + } +} + +func (ptr *QFileInfo) Size() int64 { + if ptr.Pointer() != nil { + return int64(C.QFileInfo_Size(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFileInfo) Suffix() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_Suffix(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) Swap(other QFileInfo_ITF) { + if ptr.Pointer() != nil { + C.QFileInfo_Swap(ptr.Pointer(), PointerFromQFileInfo(other)) + } +} + +func (ptr *QFileInfo) SymLinkTarget() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileInfo_SymLinkTarget(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileInfo) DestroyQFileInfo() { + if ptr.Pointer() != nil { + C.QFileInfo_DestroyQFileInfo(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFileSelector struct { + QObject +} + +type QFileSelector_ITF interface { + QObject_ITF + QFileSelector_PTR() *QFileSelector +} + +func (ptr *QFileSelector) QFileSelector_PTR() *QFileSelector { + return ptr +} + +func (ptr *QFileSelector) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QFileSelector) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQFileSelector(ptr QFileSelector_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFileSelector_PTR().Pointer() + } + return nil +} + +func NewQFileSelectorFromPointer(ptr unsafe.Pointer) (n *QFileSelector) { + n = new(QFileSelector) + n.SetPointer(ptr) + return +} +func NewQFileSelector(parent QObject_ITF) *QFileSelector { + tmpValue := NewQFileSelectorFromPointer(C.QFileSelector_NewQFileSelector(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QFileSelector) AllSelectors() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QFileSelector_AllSelectors(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QFileSelector) ExtraSelectors() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QFileSelector_ExtraSelectors(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QFileSelector) Select(filePath string) string { + if ptr.Pointer() != nil { + var filePathC *C.char + if filePath != "" { + filePathC = C.CString(filePath) + defer C.free(unsafe.Pointer(filePathC)) + } + return cGoUnpackString(C.QFileSelector_Select(ptr.Pointer(), C.struct_QtCore_PackedString{data: filePathC, len: C.longlong(len(filePath))})) + } + return "" +} + +func (ptr *QFileSelector) Select2(filePath QUrl_ITF) *QUrl { + if ptr.Pointer() != nil { + tmpValue := NewQUrlFromPointer(C.QFileSelector_Select2(ptr.Pointer(), PointerFromQUrl(filePath))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QFileSelector) SetExtraSelectors(list []string) { + if ptr.Pointer() != nil { + listC := C.CString(strings.Join(list, "¡¦!")) + defer C.free(unsafe.Pointer(listC)) + C.QFileSelector_SetExtraSelectors(ptr.Pointer(), C.struct_QtCore_PackedString{data: listC, len: C.longlong(len(strings.Join(list, "¡¦!")))}) + } +} + +//export callbackQFileSelector_DestroyQFileSelector +func callbackQFileSelector_DestroyQFileSelector(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QFileSelector"); signal != nil { + (*(*func())(signal))() + } else { + NewQFileSelectorFromPointer(ptr).DestroyQFileSelectorDefault() + } +} + +func (ptr *QFileSelector) ConnectDestroyQFileSelector(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QFileSelector"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QFileSelector", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QFileSelector", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileSelector) DisconnectDestroyQFileSelector() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QFileSelector") + } +} + +func (ptr *QFileSelector) DestroyQFileSelector() { + if ptr.Pointer() != nil { + C.QFileSelector_DestroyQFileSelector(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QFileSelector) DestroyQFileSelectorDefault() { + if ptr.Pointer() != nil { + C.QFileSelector_DestroyQFileSelectorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFileSystemWatcher struct { + QObject +} + +type QFileSystemWatcher_ITF interface { + QObject_ITF + QFileSystemWatcher_PTR() *QFileSystemWatcher +} + +func (ptr *QFileSystemWatcher) QFileSystemWatcher_PTR() *QFileSystemWatcher { + return ptr +} + +func (ptr *QFileSystemWatcher) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QFileSystemWatcher) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQFileSystemWatcher(ptr QFileSystemWatcher_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFileSystemWatcher_PTR().Pointer() + } + return nil +} + +func NewQFileSystemWatcherFromPointer(ptr unsafe.Pointer) (n *QFileSystemWatcher) { + n = new(QFileSystemWatcher) + n.SetPointer(ptr) + return +} +func NewQFileSystemWatcher(parent QObject_ITF) *QFileSystemWatcher { + tmpValue := NewQFileSystemWatcherFromPointer(C.QFileSystemWatcher_NewQFileSystemWatcher(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQFileSystemWatcher2(paths []string, parent QObject_ITF) *QFileSystemWatcher { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + tmpValue := NewQFileSystemWatcherFromPointer(C.QFileSystemWatcher_NewQFileSystemWatcher2(C.struct_QtCore_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QFileSystemWatcher) AddPath(path string) bool { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QFileSystemWatcher_AddPath(ptr.Pointer(), C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) != 0 + } + return false +} + +func (ptr *QFileSystemWatcher) AddPaths(paths []string) []string { + if ptr.Pointer() != nil { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + return unpackStringList(cGoUnpackString(C.QFileSystemWatcher_AddPaths(ptr.Pointer(), C.struct_QtCore_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}))) + } + return make([]string, 0) +} + +func (ptr *QFileSystemWatcher) Directories() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QFileSystemWatcher_Directories(ptr.Pointer()))) + } + return make([]string, 0) +} + +//export callbackQFileSystemWatcher_DirectoryChanged +func callbackQFileSystemWatcher_DirectoryChanged(ptr unsafe.Pointer, path C.struct_QtCore_PackedString) { + if signal := qt.GetSignal(ptr, "directoryChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(path)) + } + +} + +func (ptr *QFileSystemWatcher) ConnectDirectoryChanged(f func(path string)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "directoryChanged") { + C.QFileSystemWatcher_ConnectDirectoryChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "directoryChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "directoryChanged"); signal != nil { + f := func(path string) { + (*(*func(string))(signal))(path) + f(path) + } + qt.ConnectSignal(ptr.Pointer(), "directoryChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "directoryChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileSystemWatcher) DisconnectDirectoryChanged() { + if ptr.Pointer() != nil { + C.QFileSystemWatcher_DisconnectDirectoryChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "directoryChanged") + } +} + +//export callbackQFileSystemWatcher_FileChanged +func callbackQFileSystemWatcher_FileChanged(ptr unsafe.Pointer, path C.struct_QtCore_PackedString) { + if signal := qt.GetSignal(ptr, "fileChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(path)) + } + +} + +func (ptr *QFileSystemWatcher) ConnectFileChanged(f func(path string)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "fileChanged") { + C.QFileSystemWatcher_ConnectFileChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "fileChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "fileChanged"); signal != nil { + f := func(path string) { + (*(*func(string))(signal))(path) + f(path) + } + qt.ConnectSignal(ptr.Pointer(), "fileChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "fileChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileSystemWatcher) DisconnectFileChanged() { + if ptr.Pointer() != nil { + C.QFileSystemWatcher_DisconnectFileChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "fileChanged") + } +} + +func (ptr *QFileSystemWatcher) Files() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QFileSystemWatcher_Files(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QFileSystemWatcher) RemovePath(path string) bool { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QFileSystemWatcher_RemovePath(ptr.Pointer(), C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) != 0 + } + return false +} + +func (ptr *QFileSystemWatcher) RemovePaths(paths []string) []string { + if ptr.Pointer() != nil { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + return unpackStringList(cGoUnpackString(C.QFileSystemWatcher_RemovePaths(ptr.Pointer(), C.struct_QtCore_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}))) + } + return make([]string, 0) +} + +//export callbackQFileSystemWatcher_DestroyQFileSystemWatcher +func callbackQFileSystemWatcher_DestroyQFileSystemWatcher(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QFileSystemWatcher"); signal != nil { + (*(*func())(signal))() + } else { + NewQFileSystemWatcherFromPointer(ptr).DestroyQFileSystemWatcherDefault() + } +} + +func (ptr *QFileSystemWatcher) ConnectDestroyQFileSystemWatcher(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QFileSystemWatcher"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QFileSystemWatcher", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QFileSystemWatcher", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFileSystemWatcher) DisconnectDestroyQFileSystemWatcher() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QFileSystemWatcher") + } +} + +func (ptr *QFileSystemWatcher) DestroyQFileSystemWatcher() { + if ptr.Pointer() != nil { + C.QFileSystemWatcher_DestroyQFileSystemWatcher(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QFileSystemWatcher) DestroyQFileSystemWatcherDefault() { + if ptr.Pointer() != nil { + C.QFileSystemWatcher_DestroyQFileSystemWatcherDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFinalState struct { + QAbstractState +} + +type QFinalState_ITF interface { + QAbstractState_ITF + QFinalState_PTR() *QFinalState +} + +func (ptr *QFinalState) QFinalState_PTR() *QFinalState { + return ptr +} + +func (ptr *QFinalState) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractState_PTR().Pointer() + } + return nil +} + +func (ptr *QFinalState) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractState_PTR().SetPointer(p) + } +} + +func PointerFromQFinalState(ptr QFinalState_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFinalState_PTR().Pointer() + } + return nil +} + +func NewQFinalStateFromPointer(ptr unsafe.Pointer) (n *QFinalState) { + n = new(QFinalState) + n.SetPointer(ptr) + return +} +func NewQFinalState(parent QState_ITF) *QFinalState { + tmpValue := NewQFinalStateFromPointer(C.QFinalState_NewQFinalState(PointerFromQState(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQFinalState_OnEntry +func callbackQFinalState_OnEntry(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onEntry"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } else { + NewQFinalStateFromPointer(ptr).OnEntryDefault(NewQEventFromPointer(event)) + } +} + +func (ptr *QFinalState) ConnectOnEntry(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onEntry"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onEntry", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onEntry", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFinalState) DisconnectOnEntry() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onEntry") + } +} + +func (ptr *QFinalState) OnEntry(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QFinalState_OnEntry(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QFinalState) OnEntryDefault(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QFinalState_OnEntryDefault(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +//export callbackQFinalState_OnExit +func callbackQFinalState_OnExit(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onExit"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } else { + NewQFinalStateFromPointer(ptr).OnExitDefault(NewQEventFromPointer(event)) + } +} + +func (ptr *QFinalState) ConnectOnExit(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onExit"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onExit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onExit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFinalState) DisconnectOnExit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onExit") + } +} + +func (ptr *QFinalState) OnExit(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QFinalState_OnExit(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QFinalState) OnExitDefault(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QFinalState_OnExitDefault(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +//export callbackQFinalState_DestroyQFinalState +func callbackQFinalState_DestroyQFinalState(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QFinalState"); signal != nil { + (*(*func())(signal))() + } else { + NewQFinalStateFromPointer(ptr).DestroyQFinalStateDefault() + } +} + +func (ptr *QFinalState) ConnectDestroyQFinalState(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QFinalState"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QFinalState", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QFinalState", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QFinalState) DisconnectDestroyQFinalState() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QFinalState") + } +} + +func (ptr *QFinalState) DestroyQFinalState() { + if ptr.Pointer() != nil { + C.QFinalState_DestroyQFinalState(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QFinalState) DestroyQFinalStateDefault() { + if ptr.Pointer() != nil { + C.QFinalState_DestroyQFinalStateDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFlag struct { + ptr unsafe.Pointer +} + +type QFlag_ITF interface { + QFlag_PTR() *QFlag +} + +func (ptr *QFlag) QFlag_PTR() *QFlag { + return ptr +} + +func (ptr *QFlag) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFlag) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFlag(ptr QFlag_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFlag_PTR().Pointer() + } + return nil +} + +func NewQFlagFromPointer(ptr unsafe.Pointer) (n *QFlag) { + n = new(QFlag) + n.SetPointer(ptr) + return +} + +func (ptr *QFlag) DestroyQFlag() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQFlag(value int) *QFlag { + tmpValue := NewQFlagFromPointer(C.QFlag_NewQFlag(C.int(int32(value)))) + runtime.SetFinalizer(tmpValue, (*QFlag).DestroyQFlag) + return tmpValue +} + +func NewQFlag2(value uint) *QFlag { + tmpValue := NewQFlagFromPointer(C.QFlag_NewQFlag2(C.uint(uint32(value)))) + runtime.SetFinalizer(tmpValue, (*QFlag).DestroyQFlag) + return tmpValue +} + +func NewQFlag3(value int16) *QFlag { + tmpValue := NewQFlagFromPointer(C.QFlag_NewQFlag3(C.short(value))) + runtime.SetFinalizer(tmpValue, (*QFlag).DestroyQFlag) + return tmpValue +} + +func NewQFlag4(value uint16) *QFlag { + tmpValue := NewQFlagFromPointer(C.QFlag_NewQFlag4(C.ushort(value))) + runtime.SetFinalizer(tmpValue, (*QFlag).DestroyQFlag) + return tmpValue +} + +type QFlags struct { + ptr unsafe.Pointer +} + +type QFlags_ITF interface { + QFlags_PTR() *QFlags +} + +func (ptr *QFlags) QFlags_PTR() *QFlags { + return ptr +} + +func (ptr *QFlags) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFlags) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFlags(ptr QFlags_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFlags_PTR().Pointer() + } + return nil +} + +func NewQFlagsFromPointer(ptr unsafe.Pointer) (n *QFlags) { + n = new(QFlags) + n.SetPointer(ptr) + return +} + +func (ptr *QFlags) DestroyQFlags() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFuture struct { + ptr unsafe.Pointer +} + +type QFuture_ITF interface { + QFuture_PTR() *QFuture +} + +func (ptr *QFuture) QFuture_PTR() *QFuture { + return ptr +} + +func (ptr *QFuture) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFuture) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFuture(ptr QFuture_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFuture_PTR().Pointer() + } + return nil +} + +func NewQFutureFromPointer(ptr unsafe.Pointer) (n *QFuture) { + n = new(QFuture) + n.SetPointer(ptr) + return +} + +type QFutureInterface struct { + QFutureInterfaceBase +} + +type QFutureInterface_ITF interface { + QFutureInterfaceBase_ITF + QFutureInterface_PTR() *QFutureInterface +} + +func (ptr *QFutureInterface) QFutureInterface_PTR() *QFutureInterface { + return ptr +} + +func (ptr *QFutureInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QFutureInterfaceBase_PTR().Pointer() + } + return nil +} + +func (ptr *QFutureInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QFutureInterfaceBase_PTR().SetPointer(p) + } +} + +func PointerFromQFutureInterface(ptr QFutureInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFutureInterface_PTR().Pointer() + } + return nil +} + +func NewQFutureInterfaceFromPointer(ptr unsafe.Pointer) (n *QFutureInterface) { + n = new(QFutureInterface) + n.SetPointer(ptr) + return +} + +func (ptr *QFutureInterface) DestroyQFutureInterface() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QFutureInterface) __reportResults_results_atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QFutureInterface___reportResults_results_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QFutureInterface) __reportResults_results_setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QFutureInterface___reportResults_results_setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QFutureInterface) __reportResults_results_newList() unsafe.Pointer { + return C.QFutureInterface___reportResults_results_newList(ptr.Pointer()) +} + +func (ptr *QFutureInterface) __results_atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QFutureInterface___results_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QFutureInterface) __results_setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QFutureInterface___results_setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QFutureInterface) __results_newList() unsafe.Pointer { + return C.QFutureInterface___results_newList(ptr.Pointer()) +} + +type QFutureInterfaceBase struct { + ptr unsafe.Pointer +} + +type QFutureInterfaceBase_ITF interface { + QFutureInterfaceBase_PTR() *QFutureInterfaceBase +} + +func (ptr *QFutureInterfaceBase) QFutureInterfaceBase_PTR() *QFutureInterfaceBase { + return ptr +} + +func (ptr *QFutureInterfaceBase) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFutureInterfaceBase) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFutureInterfaceBase(ptr QFutureInterfaceBase_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFutureInterfaceBase_PTR().Pointer() + } + return nil +} + +func NewQFutureInterfaceBaseFromPointer(ptr unsafe.Pointer) (n *QFutureInterfaceBase) { + n = new(QFutureInterfaceBase) + n.SetPointer(ptr) + return +} + +func (ptr *QFutureInterfaceBase) DestroyQFutureInterfaceBase() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFutureIterator struct { + ptr unsafe.Pointer +} + +type QFutureIterator_ITF interface { + QFutureIterator_PTR() *QFutureIterator +} + +func (ptr *QFutureIterator) QFutureIterator_PTR() *QFutureIterator { + return ptr +} + +func (ptr *QFutureIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFutureIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFutureIterator(ptr QFutureIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFutureIterator_PTR().Pointer() + } + return nil +} + +func NewQFutureIteratorFromPointer(ptr unsafe.Pointer) (n *QFutureIterator) { + n = new(QFutureIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QFutureIterator) DestroyQFutureIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFutureSynchronizer struct { + ptr unsafe.Pointer +} + +type QFutureSynchronizer_ITF interface { + QFutureSynchronizer_PTR() *QFutureSynchronizer +} + +func (ptr *QFutureSynchronizer) QFutureSynchronizer_PTR() *QFutureSynchronizer { + return ptr +} + +func (ptr *QFutureSynchronizer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFutureSynchronizer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFutureSynchronizer(ptr QFutureSynchronizer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFutureSynchronizer_PTR().Pointer() + } + return nil +} + +func NewQFutureSynchronizerFromPointer(ptr unsafe.Pointer) (n *QFutureSynchronizer) { + n = new(QFutureSynchronizer) + n.SetPointer(ptr) + return +} + +type QFutureWatcher struct { + QObject +} + +type QFutureWatcher_ITF interface { + QObject_ITF + QFutureWatcher_PTR() *QFutureWatcher +} + +func (ptr *QFutureWatcher) QFutureWatcher_PTR() *QFutureWatcher { + return ptr +} + +func (ptr *QFutureWatcher) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QFutureWatcher) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQFutureWatcher(ptr QFutureWatcher_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFutureWatcher_PTR().Pointer() + } + return nil +} + +func NewQFutureWatcherFromPointer(ptr unsafe.Pointer) (n *QFutureWatcher) { + n = new(QFutureWatcher) + n.SetPointer(ptr) + return +} + +type QFutureWatcherBase struct { + QObject +} + +type QFutureWatcherBase_ITF interface { + QObject_ITF + QFutureWatcherBase_PTR() *QFutureWatcherBase +} + +func (ptr *QFutureWatcherBase) QFutureWatcherBase_PTR() *QFutureWatcherBase { + return ptr +} + +func (ptr *QFutureWatcherBase) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QFutureWatcherBase) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQFutureWatcherBase(ptr QFutureWatcherBase_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFutureWatcherBase_PTR().Pointer() + } + return nil +} + +func NewQFutureWatcherBaseFromPointer(ptr unsafe.Pointer) (n *QFutureWatcherBase) { + n = new(QFutureWatcherBase) + n.SetPointer(ptr) + return +} + +type QGenericArgument struct { + ptr unsafe.Pointer +} + +type QGenericArgument_ITF interface { + QGenericArgument_PTR() *QGenericArgument +} + +func (ptr *QGenericArgument) QGenericArgument_PTR() *QGenericArgument { + return ptr +} + +func (ptr *QGenericArgument) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QGenericArgument) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQGenericArgument(ptr QGenericArgument_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGenericArgument_PTR().Pointer() + } + return nil +} + +func NewQGenericArgumentFromPointer(ptr unsafe.Pointer) (n *QGenericArgument) { + n = new(QGenericArgument) + n.SetPointer(ptr) + return +} + +func (ptr *QGenericArgument) DestroyQGenericArgument() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQGenericArgument(name string, data unsafe.Pointer) *QGenericArgument { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQGenericArgumentFromPointer(C.QGenericArgument_NewQGenericArgument(nameC, data)) + runtime.SetFinalizer(tmpValue, (*QGenericArgument).DestroyQGenericArgument) + return tmpValue +} + +func (ptr *QGenericArgument) Data() unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QGenericArgument_Data(ptr.Pointer()) + } + return nil +} + +func (ptr *QGenericArgument) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QGenericArgument_Name(ptr.Pointer())) + } + return "" +} + +type QGenericAtomicOps struct { + ptr unsafe.Pointer +} + +type QGenericAtomicOps_ITF interface { + QGenericAtomicOps_PTR() *QGenericAtomicOps +} + +func (ptr *QGenericAtomicOps) QGenericAtomicOps_PTR() *QGenericAtomicOps { + return ptr +} + +func (ptr *QGenericAtomicOps) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QGenericAtomicOps) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQGenericAtomicOps(ptr QGenericAtomicOps_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGenericAtomicOps_PTR().Pointer() + } + return nil +} + +func NewQGenericAtomicOpsFromPointer(ptr unsafe.Pointer) (n *QGenericAtomicOps) { + n = new(QGenericAtomicOps) + n.SetPointer(ptr) + return +} + +func (ptr *QGenericAtomicOps) DestroyQGenericAtomicOps() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QGenericReturnArgument struct { + QGenericArgument +} + +type QGenericReturnArgument_ITF interface { + QGenericArgument_ITF + QGenericReturnArgument_PTR() *QGenericReturnArgument +} + +func (ptr *QGenericReturnArgument) QGenericReturnArgument_PTR() *QGenericReturnArgument { + return ptr +} + +func (ptr *QGenericReturnArgument) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QGenericArgument_PTR().Pointer() + } + return nil +} + +func (ptr *QGenericReturnArgument) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QGenericArgument_PTR().SetPointer(p) + } +} + +func PointerFromQGenericReturnArgument(ptr QGenericReturnArgument_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGenericReturnArgument_PTR().Pointer() + } + return nil +} + +func NewQGenericReturnArgumentFromPointer(ptr unsafe.Pointer) (n *QGenericReturnArgument) { + n = new(QGenericReturnArgument) + n.SetPointer(ptr) + return +} + +func (ptr *QGenericReturnArgument) DestroyQGenericReturnArgument() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQGenericReturnArgument(name string, data unsafe.Pointer) *QGenericReturnArgument { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQGenericReturnArgumentFromPointer(C.QGenericReturnArgument_NewQGenericReturnArgument(nameC, data)) + runtime.SetFinalizer(tmpValue, (*QGenericReturnArgument).DestroyQGenericReturnArgument) + return tmpValue +} + +type QGlobalStatic struct { + ptr unsafe.Pointer +} + +type QGlobalStatic_ITF interface { + QGlobalStatic_PTR() *QGlobalStatic +} + +func (ptr *QGlobalStatic) QGlobalStatic_PTR() *QGlobalStatic { + return ptr +} + +func (ptr *QGlobalStatic) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QGlobalStatic) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQGlobalStatic(ptr QGlobalStatic_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGlobalStatic_PTR().Pointer() + } + return nil +} + +func NewQGlobalStaticFromPointer(ptr unsafe.Pointer) (n *QGlobalStatic) { + n = new(QGlobalStatic) + n.SetPointer(ptr) + return +} + +func (ptr *QGlobalStatic) DestroyQGlobalStatic() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QHash struct { + ptr unsafe.Pointer +} + +type QHash_ITF interface { + QHash_PTR() *QHash +} + +func (ptr *QHash) QHash_PTR() *QHash { + return ptr +} + +func (ptr *QHash) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QHash) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQHash(ptr QHash_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHash_PTR().Pointer() + } + return nil +} + +func NewQHashFromPointer(ptr unsafe.Pointer) (n *QHash) { + n = new(QHash) + n.SetPointer(ptr) + return +} + +type QHashData struct { + ptr unsafe.Pointer +} + +type QHashData_ITF interface { + QHashData_PTR() *QHashData +} + +func (ptr *QHashData) QHashData_PTR() *QHashData { + return ptr +} + +func (ptr *QHashData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QHashData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQHashData(ptr QHashData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHashData_PTR().Pointer() + } + return nil +} + +func NewQHashDataFromPointer(ptr unsafe.Pointer) (n *QHashData) { + n = new(QHashData) + n.SetPointer(ptr) + return +} + +func (ptr *QHashData) DestroyQHashData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QHashIterator struct { + ptr unsafe.Pointer +} + +type QHashIterator_ITF interface { + QHashIterator_PTR() *QHashIterator +} + +func (ptr *QHashIterator) QHashIterator_PTR() *QHashIterator { + return ptr +} + +func (ptr *QHashIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QHashIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQHashIterator(ptr QHashIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHashIterator_PTR().Pointer() + } + return nil +} + +func NewQHashIteratorFromPointer(ptr unsafe.Pointer) (n *QHashIterator) { + n = new(QHashIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QHashIterator) DestroyQHashIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QHashNode struct { + ptr unsafe.Pointer +} + +type QHashNode_ITF interface { + QHashNode_PTR() *QHashNode +} + +func (ptr *QHashNode) QHashNode_PTR() *QHashNode { + return ptr +} + +func (ptr *QHashNode) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QHashNode) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQHashNode(ptr QHashNode_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHashNode_PTR().Pointer() + } + return nil +} + +func NewQHashNodeFromPointer(ptr unsafe.Pointer) (n *QHashNode) { + n = new(QHashNode) + n.SetPointer(ptr) + return +} + +func (ptr *QHashNode) DestroyQHashNode() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QHistoryState struct { + QAbstractState +} + +type QHistoryState_ITF interface { + QAbstractState_ITF + QHistoryState_PTR() *QHistoryState +} + +func (ptr *QHistoryState) QHistoryState_PTR() *QHistoryState { + return ptr +} + +func (ptr *QHistoryState) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractState_PTR().Pointer() + } + return nil +} + +func (ptr *QHistoryState) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractState_PTR().SetPointer(p) + } +} + +func PointerFromQHistoryState(ptr QHistoryState_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHistoryState_PTR().Pointer() + } + return nil +} + +func NewQHistoryStateFromPointer(ptr unsafe.Pointer) (n *QHistoryState) { + n = new(QHistoryState) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QHistoryState__HistoryType +//QHistoryState::HistoryType +type QHistoryState__HistoryType int64 + +const ( + QHistoryState__ShallowHistory QHistoryState__HistoryType = QHistoryState__HistoryType(0) + QHistoryState__DeepHistory QHistoryState__HistoryType = QHistoryState__HistoryType(1) +) + +func NewQHistoryState(parent QState_ITF) *QHistoryState { + tmpValue := NewQHistoryStateFromPointer(C.QHistoryState_NewQHistoryState(PointerFromQState(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQHistoryState2(ty QHistoryState__HistoryType, parent QState_ITF) *QHistoryState { + tmpValue := NewQHistoryStateFromPointer(C.QHistoryState_NewQHistoryState2(C.longlong(ty), PointerFromQState(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QHistoryState) DefaultState() *QAbstractState { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractStateFromPointer(C.QHistoryState_DefaultState(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQHistoryState_DefaultStateChanged +func callbackQHistoryState_DefaultStateChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "defaultStateChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QHistoryState) ConnectDefaultStateChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "defaultStateChanged") { + C.QHistoryState_ConnectDefaultStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "defaultStateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "defaultStateChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "defaultStateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "defaultStateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QHistoryState) DisconnectDefaultStateChanged() { + if ptr.Pointer() != nil { + C.QHistoryState_DisconnectDefaultStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "defaultStateChanged") + } +} + +func (ptr *QHistoryState) DefaultTransition() *QAbstractTransition { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractTransitionFromPointer(C.QHistoryState_DefaultTransition(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQHistoryState_DefaultTransitionChanged +func callbackQHistoryState_DefaultTransitionChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "defaultTransitionChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QHistoryState) ConnectDefaultTransitionChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "defaultTransitionChanged") { + C.QHistoryState_ConnectDefaultTransitionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "defaultTransitionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "defaultTransitionChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "defaultTransitionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "defaultTransitionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QHistoryState) DisconnectDefaultTransitionChanged() { + if ptr.Pointer() != nil { + C.QHistoryState_DisconnectDefaultTransitionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "defaultTransitionChanged") + } +} + +func (ptr *QHistoryState) HistoryType() QHistoryState__HistoryType { + if ptr.Pointer() != nil { + return QHistoryState__HistoryType(C.QHistoryState_HistoryType(ptr.Pointer())) + } + return 0 +} + +//export callbackQHistoryState_HistoryTypeChanged +func callbackQHistoryState_HistoryTypeChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "historyTypeChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QHistoryState) ConnectHistoryTypeChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "historyTypeChanged") { + C.QHistoryState_ConnectHistoryTypeChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "historyTypeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "historyTypeChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "historyTypeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "historyTypeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QHistoryState) DisconnectHistoryTypeChanged() { + if ptr.Pointer() != nil { + C.QHistoryState_DisconnectHistoryTypeChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "historyTypeChanged") + } +} + +//export callbackQHistoryState_OnEntry +func callbackQHistoryState_OnEntry(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onEntry"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } else { + NewQHistoryStateFromPointer(ptr).OnEntryDefault(NewQEventFromPointer(event)) + } +} + +func (ptr *QHistoryState) ConnectOnEntry(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onEntry"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onEntry", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onEntry", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QHistoryState) DisconnectOnEntry() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onEntry") + } +} + +func (ptr *QHistoryState) OnEntry(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QHistoryState_OnEntry(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QHistoryState) OnEntryDefault(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QHistoryState_OnEntryDefault(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +//export callbackQHistoryState_OnExit +func callbackQHistoryState_OnExit(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onExit"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } else { + NewQHistoryStateFromPointer(ptr).OnExitDefault(NewQEventFromPointer(event)) + } +} + +func (ptr *QHistoryState) ConnectOnExit(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onExit"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onExit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onExit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QHistoryState) DisconnectOnExit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onExit") + } +} + +func (ptr *QHistoryState) OnExit(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QHistoryState_OnExit(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QHistoryState) OnExitDefault(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QHistoryState_OnExitDefault(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QHistoryState) SetDefaultState(state QAbstractState_ITF) { + if ptr.Pointer() != nil { + C.QHistoryState_SetDefaultState(ptr.Pointer(), PointerFromQAbstractState(state)) + } +} + +func (ptr *QHistoryState) SetDefaultTransition(transition QAbstractTransition_ITF) { + if ptr.Pointer() != nil { + C.QHistoryState_SetDefaultTransition(ptr.Pointer(), PointerFromQAbstractTransition(transition)) + } +} + +func (ptr *QHistoryState) SetHistoryType(ty QHistoryState__HistoryType) { + if ptr.Pointer() != nil { + C.QHistoryState_SetHistoryType(ptr.Pointer(), C.longlong(ty)) + } +} + +//export callbackQHistoryState_DestroyQHistoryState +func callbackQHistoryState_DestroyQHistoryState(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QHistoryState"); signal != nil { + (*(*func())(signal))() + } else { + NewQHistoryStateFromPointer(ptr).DestroyQHistoryStateDefault() + } +} + +func (ptr *QHistoryState) ConnectDestroyQHistoryState(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QHistoryState"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QHistoryState", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QHistoryState", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QHistoryState) DisconnectDestroyQHistoryState() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QHistoryState") + } +} + +func (ptr *QHistoryState) DestroyQHistoryState() { + if ptr.Pointer() != nil { + C.QHistoryState_DestroyQHistoryState(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QHistoryState) DestroyQHistoryStateDefault() { + if ptr.Pointer() != nil { + C.QHistoryState_DestroyQHistoryStateDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QIODevice struct { + QObject +} + +type QIODevice_ITF interface { + QObject_ITF + QIODevice_PTR() *QIODevice +} + +func (ptr *QIODevice) QIODevice_PTR() *QIODevice { + return ptr +} + +func (ptr *QIODevice) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QIODevice) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQIODevice(ptr QIODevice_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QIODevice_PTR().Pointer() + } + return nil +} + +func NewQIODeviceFromPointer(ptr unsafe.Pointer) (n *QIODevice) { + n = new(QIODevice) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QIODevice__OpenModeFlag +//QIODevice::OpenModeFlag +type QIODevice__OpenModeFlag int64 + +const ( + QIODevice__NotOpen QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(0x0000) + QIODevice__ReadOnly QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(0x0001) + QIODevice__WriteOnly QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(0x0002) + QIODevice__ReadWrite QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(QIODevice__ReadOnly | QIODevice__WriteOnly) + QIODevice__Append QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(0x0004) + QIODevice__Truncate QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(0x0008) + QIODevice__Text QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(0x0010) + QIODevice__Unbuffered QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(0x0020) + QIODevice__NewOnly QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(0x0040) + QIODevice__ExistingOnly QIODevice__OpenModeFlag = QIODevice__OpenModeFlag(0x0080) +) + +func NewQIODevice() *QIODevice { + tmpValue := NewQIODeviceFromPointer(C.QIODevice_NewQIODevice()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQIODevice2(parent QObject_ITF) *QIODevice { + tmpValue := NewQIODeviceFromPointer(C.QIODevice_NewQIODevice2(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQIODevice_AboutToClose +func callbackQIODevice_AboutToClose(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "aboutToClose"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QIODevice) ConnectAboutToClose(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "aboutToClose") { + C.QIODevice_ConnectAboutToClose(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "aboutToClose"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "aboutToClose"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "aboutToClose", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "aboutToClose", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectAboutToClose() { + if ptr.Pointer() != nil { + C.QIODevice_DisconnectAboutToClose(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "aboutToClose") + } +} + +func (ptr *QIODevice) AboutToClose() { + if ptr.Pointer() != nil { + C.QIODevice_AboutToClose(ptr.Pointer()) + } +} + +//export callbackQIODevice_AtEnd +func callbackQIODevice_AtEnd(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "atEnd"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIODeviceFromPointer(ptr).AtEndDefault()))) +} + +func (ptr *QIODevice) ConnectAtEnd(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "atEnd"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "atEnd", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "atEnd", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectAtEnd() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "atEnd") + } +} + +func (ptr *QIODevice) AtEnd() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_AtEnd(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIODevice) AtEndDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_AtEndDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQIODevice_BytesAvailable +func callbackQIODevice_BytesAvailable(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "bytesAvailable"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQIODeviceFromPointer(ptr).BytesAvailableDefault()) +} + +func (ptr *QIODevice) ConnectBytesAvailable(f func() int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "bytesAvailable"); signal != nil { + f := func() int64 { + (*(*func() int64)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "bytesAvailable", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "bytesAvailable", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectBytesAvailable() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "bytesAvailable") + } +} + +func (ptr *QIODevice) BytesAvailable() int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_BytesAvailable(ptr.Pointer())) + } + return 0 +} + +func (ptr *QIODevice) BytesAvailableDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_BytesAvailableDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQIODevice_BytesToWrite +func callbackQIODevice_BytesToWrite(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "bytesToWrite"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQIODeviceFromPointer(ptr).BytesToWriteDefault()) +} + +func (ptr *QIODevice) ConnectBytesToWrite(f func() int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "bytesToWrite"); signal != nil { + f := func() int64 { + (*(*func() int64)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "bytesToWrite", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "bytesToWrite", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectBytesToWrite() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "bytesToWrite") + } +} + +func (ptr *QIODevice) BytesToWrite() int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_BytesToWrite(ptr.Pointer())) + } + return 0 +} + +func (ptr *QIODevice) BytesToWriteDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_BytesToWriteDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQIODevice_BytesWritten +func callbackQIODevice_BytesWritten(ptr unsafe.Pointer, bytes C.longlong) { + if signal := qt.GetSignal(ptr, "bytesWritten"); signal != nil { + (*(*func(int64))(signal))(int64(bytes)) + } + +} + +func (ptr *QIODevice) ConnectBytesWritten(f func(bytes int64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "bytesWritten") { + C.QIODevice_ConnectBytesWritten(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "bytesWritten"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "bytesWritten"); signal != nil { + f := func(bytes int64) { + (*(*func(int64))(signal))(bytes) + f(bytes) + } + qt.ConnectSignal(ptr.Pointer(), "bytesWritten", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "bytesWritten", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectBytesWritten() { + if ptr.Pointer() != nil { + C.QIODevice_DisconnectBytesWritten(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "bytesWritten") + } +} + +func (ptr *QIODevice) BytesWritten(bytes int64) { + if ptr.Pointer() != nil { + C.QIODevice_BytesWritten(ptr.Pointer(), C.longlong(bytes)) + } +} + +//export callbackQIODevice_CanReadLine +func callbackQIODevice_CanReadLine(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "canReadLine"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIODeviceFromPointer(ptr).CanReadLineDefault()))) +} + +func (ptr *QIODevice) ConnectCanReadLine(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "canReadLine"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "canReadLine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "canReadLine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectCanReadLine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "canReadLine") + } +} + +func (ptr *QIODevice) CanReadLine() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_CanReadLine(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIODevice) CanReadLineDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_CanReadLineDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQIODevice_ChannelBytesWritten +func callbackQIODevice_ChannelBytesWritten(ptr unsafe.Pointer, channel C.int, bytes C.longlong) { + if signal := qt.GetSignal(ptr, "channelBytesWritten"); signal != nil { + (*(*func(int, int64))(signal))(int(int32(channel)), int64(bytes)) + } + +} + +func (ptr *QIODevice) ConnectChannelBytesWritten(f func(channel int, bytes int64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "channelBytesWritten") { + C.QIODevice_ConnectChannelBytesWritten(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "channelBytesWritten"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "channelBytesWritten"); signal != nil { + f := func(channel int, bytes int64) { + (*(*func(int, int64))(signal))(channel, bytes) + f(channel, bytes) + } + qt.ConnectSignal(ptr.Pointer(), "channelBytesWritten", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "channelBytesWritten", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectChannelBytesWritten() { + if ptr.Pointer() != nil { + C.QIODevice_DisconnectChannelBytesWritten(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "channelBytesWritten") + } +} + +func (ptr *QIODevice) ChannelBytesWritten(channel int, bytes int64) { + if ptr.Pointer() != nil { + C.QIODevice_ChannelBytesWritten(ptr.Pointer(), C.int(int32(channel)), C.longlong(bytes)) + } +} + +//export callbackQIODevice_ChannelReadyRead +func callbackQIODevice_ChannelReadyRead(ptr unsafe.Pointer, channel C.int) { + if signal := qt.GetSignal(ptr, "channelReadyRead"); signal != nil { + (*(*func(int))(signal))(int(int32(channel))) + } + +} + +func (ptr *QIODevice) ConnectChannelReadyRead(f func(channel int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "channelReadyRead") { + C.QIODevice_ConnectChannelReadyRead(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "channelReadyRead"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "channelReadyRead"); signal != nil { + f := func(channel int) { + (*(*func(int))(signal))(channel) + f(channel) + } + qt.ConnectSignal(ptr.Pointer(), "channelReadyRead", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "channelReadyRead", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectChannelReadyRead() { + if ptr.Pointer() != nil { + C.QIODevice_DisconnectChannelReadyRead(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "channelReadyRead") + } +} + +func (ptr *QIODevice) ChannelReadyRead(channel int) { + if ptr.Pointer() != nil { + C.QIODevice_ChannelReadyRead(ptr.Pointer(), C.int(int32(channel))) + } +} + +//export callbackQIODevice_Close +func callbackQIODevice_Close(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "close"); signal != nil { + (*(*func())(signal))() + } else { + NewQIODeviceFromPointer(ptr).CloseDefault() + } +} + +func (ptr *QIODevice) ConnectClose(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "close"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "close", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "close", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectClose() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "close") + } +} + +func (ptr *QIODevice) Close() { + if ptr.Pointer() != nil { + C.QIODevice_Close(ptr.Pointer()) + } +} + +func (ptr *QIODevice) CloseDefault() { + if ptr.Pointer() != nil { + C.QIODevice_CloseDefault(ptr.Pointer()) + } +} + +func (ptr *QIODevice) CommitTransaction() { + if ptr.Pointer() != nil { + C.QIODevice_CommitTransaction(ptr.Pointer()) + } +} + +func (ptr *QIODevice) CurrentReadChannel() int { + if ptr.Pointer() != nil { + return int(int32(C.QIODevice_CurrentReadChannel(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QIODevice) CurrentWriteChannel() int { + if ptr.Pointer() != nil { + return int(int32(C.QIODevice_CurrentWriteChannel(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QIODevice) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QIODevice_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QIODevice) GetChar(c string) bool { + if ptr.Pointer() != nil { + var cC *C.char + if c != "" { + cC = C.CString(c) + defer C.free(unsafe.Pointer(cC)) + } + return int8(C.QIODevice_GetChar(ptr.Pointer(), cC)) != 0 + } + return false +} + +func (ptr *QIODevice) IsOpen() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_IsOpen(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIODevice) IsReadable() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_IsReadable(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQIODevice_IsSequential +func callbackQIODevice_IsSequential(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "isSequential"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIODeviceFromPointer(ptr).IsSequentialDefault()))) +} + +func (ptr *QIODevice) ConnectIsSequential(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "isSequential"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "isSequential", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "isSequential", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectIsSequential() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "isSequential") + } +} + +func (ptr *QIODevice) IsSequential() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_IsSequential(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIODevice) IsSequentialDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_IsSequentialDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIODevice) IsTextModeEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_IsTextModeEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIODevice) IsTransactionStarted() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_IsTransactionStarted(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIODevice) IsWritable() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_IsWritable(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQIODevice_Open +func callbackQIODevice_Open(ptr unsafe.Pointer, mode C.longlong) C.char { + if signal := qt.GetSignal(ptr, "open"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(QIODevice__OpenModeFlag) bool)(signal))(QIODevice__OpenModeFlag(mode))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIODeviceFromPointer(ptr).OpenDefault(QIODevice__OpenModeFlag(mode))))) +} + +func (ptr *QIODevice) ConnectOpen(f func(mode QIODevice__OpenModeFlag) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "open"); signal != nil { + f := func(mode QIODevice__OpenModeFlag) bool { + (*(*func(QIODevice__OpenModeFlag) bool)(signal))(mode) + return f(mode) + } + qt.ConnectSignal(ptr.Pointer(), "open", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "open", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectOpen() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "open") + } +} + +func (ptr *QIODevice) Open(mode QIODevice__OpenModeFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_Open(ptr.Pointer(), C.longlong(mode))) != 0 + } + return false +} + +func (ptr *QIODevice) OpenDefault(mode QIODevice__OpenModeFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_OpenDefault(ptr.Pointer(), C.longlong(mode))) != 0 + } + return false +} + +func (ptr *QIODevice) OpenMode() QIODevice__OpenModeFlag { + if ptr.Pointer() != nil { + return QIODevice__OpenModeFlag(C.QIODevice_OpenMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QIODevice) Peek(data string, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + return int64(C.QIODevice_Peek(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +func (ptr *QIODevice) Peek2(maxSize int64) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QIODevice_Peek2(ptr.Pointer(), C.longlong(maxSize))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +//export callbackQIODevice_Pos +func callbackQIODevice_Pos(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "pos"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQIODeviceFromPointer(ptr).PosDefault()) +} + +func (ptr *QIODevice) ConnectPos(f func() int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "pos"); signal != nil { + f := func() int64 { + (*(*func() int64)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "pos", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "pos", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectPos() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "pos") + } +} + +func (ptr *QIODevice) Pos() int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_Pos(ptr.Pointer())) + } + return 0 +} + +func (ptr *QIODevice) PosDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_PosDefault(ptr.Pointer())) + } + return 0 +} + +func (ptr *QIODevice) PutChar(c string) bool { + if ptr.Pointer() != nil { + var cC *C.char + if c != "" { + cC = C.CString(c) + defer C.free(unsafe.Pointer(cC)) + } + return int8(C.QIODevice_PutChar(ptr.Pointer(), cC)) != 0 + } + return false +} + +func (ptr *QIODevice) Read(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QIODevice_Read(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +func (ptr *QIODevice) Read2(maxSize int64) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QIODevice_Read2(ptr.Pointer(), C.longlong(maxSize))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QIODevice) ReadAll() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QIODevice_ReadAll(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QIODevice) ReadChannelCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QIODevice_ReadChannelCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQIODevice_ReadChannelFinished +func callbackQIODevice_ReadChannelFinished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readChannelFinished"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QIODevice) ConnectReadChannelFinished(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "readChannelFinished") { + C.QIODevice_ConnectReadChannelFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "readChannelFinished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "readChannelFinished"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "readChannelFinished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readChannelFinished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectReadChannelFinished() { + if ptr.Pointer() != nil { + C.QIODevice_DisconnectReadChannelFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "readChannelFinished") + } +} + +func (ptr *QIODevice) ReadChannelFinished() { + if ptr.Pointer() != nil { + C.QIODevice_ReadChannelFinished(ptr.Pointer()) + } +} + +//export callbackQIODevice_ReadData +func callbackQIODevice_ReadData(ptr unsafe.Pointer, data C.struct_QtCore_PackedString, maxSize C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readData"); signal != nil { + retS := cGoUnpackString(data) + ret := C.longlong((*(*func(*string, int64) int64)(signal))(&retS, int64(maxSize))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret + } + + return C.longlong(0) +} + +func (ptr *QIODevice) ConnectReadData(f func(data *string, maxSize int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "readData"); signal != nil { + f := func(data *string, maxSize int64) int64 { + (*(*func(*string, int64) int64)(signal))(data, maxSize) + return f(data, maxSize) + } + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectReadData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "readData") + } +} + +func (ptr *QIODevice) ReadData(data *string, maxSize int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(maxSize))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QIODevice_ReadData(ptr.Pointer(), dataC, C.longlong(maxSize))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +func (ptr *QIODevice) ReadLine(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QIODevice_ReadLine(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +func (ptr *QIODevice) ReadLine2(maxSize int64) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QIODevice_ReadLine2(ptr.Pointer(), C.longlong(maxSize))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +//export callbackQIODevice_ReadLineData +func callbackQIODevice_ReadLineData(ptr unsafe.Pointer, data C.struct_QtCore_PackedString, maxSize C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readLineData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(maxSize))) + } + + return C.longlong(NewQIODeviceFromPointer(ptr).ReadLineDataDefault(cGoUnpackBytes(data), int64(maxSize))) +} + +func (ptr *QIODevice) ConnectReadLineData(f func(data []byte, maxSize int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "readLineData"); signal != nil { + f := func(data []byte, maxSize int64) int64 { + (*(*func([]byte, int64) int64)(signal))(data, maxSize) + return f(data, maxSize) + } + qt.ConnectSignal(ptr.Pointer(), "readLineData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readLineData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectReadLineData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "readLineData") + } +} + +func (ptr *QIODevice) ReadLineData(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QIODevice_ReadLineData(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +func (ptr *QIODevice) ReadLineDataDefault(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QIODevice_ReadLineDataDefault(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +//export callbackQIODevice_ReadyRead +func callbackQIODevice_ReadyRead(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readyRead"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QIODevice) ConnectReadyRead(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "readyRead") { + C.QIODevice_ConnectReadyRead(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "readyRead"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "readyRead"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "readyRead", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readyRead", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectReadyRead() { + if ptr.Pointer() != nil { + C.QIODevice_DisconnectReadyRead(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "readyRead") + } +} + +func (ptr *QIODevice) ReadyRead() { + if ptr.Pointer() != nil { + C.QIODevice_ReadyRead(ptr.Pointer()) + } +} + +//export callbackQIODevice_Reset +func callbackQIODevice_Reset(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "reset"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIODeviceFromPointer(ptr).ResetDefault()))) +} + +func (ptr *QIODevice) ConnectReset(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "reset"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "reset", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "reset", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectReset() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "reset") + } +} + +func (ptr *QIODevice) Reset() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_Reset(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIODevice) ResetDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_ResetDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIODevice) RollbackTransaction() { + if ptr.Pointer() != nil { + C.QIODevice_RollbackTransaction(ptr.Pointer()) + } +} + +//export callbackQIODevice_Seek +func callbackQIODevice_Seek(ptr unsafe.Pointer, pos C.longlong) C.char { + if signal := qt.GetSignal(ptr, "seek"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int64) bool)(signal))(int64(pos))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIODeviceFromPointer(ptr).SeekDefault(int64(pos))))) +} + +func (ptr *QIODevice) ConnectSeek(f func(pos int64) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "seek"); signal != nil { + f := func(pos int64) bool { + (*(*func(int64) bool)(signal))(pos) + return f(pos) + } + qt.ConnectSignal(ptr.Pointer(), "seek", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "seek", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectSeek() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "seek") + } +} + +func (ptr *QIODevice) Seek(pos int64) bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_Seek(ptr.Pointer(), C.longlong(pos))) != 0 + } + return false +} + +func (ptr *QIODevice) SeekDefault(pos int64) bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_SeekDefault(ptr.Pointer(), C.longlong(pos))) != 0 + } + return false +} + +func (ptr *QIODevice) SetCurrentReadChannel(channel int) { + if ptr.Pointer() != nil { + C.QIODevice_SetCurrentReadChannel(ptr.Pointer(), C.int(int32(channel))) + } +} + +func (ptr *QIODevice) SetCurrentWriteChannel(channel int) { + if ptr.Pointer() != nil { + C.QIODevice_SetCurrentWriteChannel(ptr.Pointer(), C.int(int32(channel))) + } +} + +func (ptr *QIODevice) SetErrorString(str string) { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + C.QIODevice_SetErrorString(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}) + } +} + +func (ptr *QIODevice) SetOpenMode(openMode QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + C.QIODevice_SetOpenMode(ptr.Pointer(), C.longlong(openMode)) + } +} + +func (ptr *QIODevice) SetTextModeEnabled(enabled bool) { + if ptr.Pointer() != nil { + C.QIODevice_SetTextModeEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +//export callbackQIODevice_Size +func callbackQIODevice_Size(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "size"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQIODeviceFromPointer(ptr).SizeDefault()) +} + +func (ptr *QIODevice) ConnectSize(f func() int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "size"); signal != nil { + f := func() int64 { + (*(*func() int64)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "size", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "size", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "size") + } +} + +func (ptr *QIODevice) Size() int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_Size(ptr.Pointer())) + } + return 0 +} + +func (ptr *QIODevice) SizeDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_SizeDefault(ptr.Pointer())) + } + return 0 +} + +func (ptr *QIODevice) Skip(maxSize int64) int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_Skip(ptr.Pointer(), C.longlong(maxSize))) + } + return 0 +} + +func (ptr *QIODevice) StartTransaction() { + if ptr.Pointer() != nil { + C.QIODevice_StartTransaction(ptr.Pointer()) + } +} + +func (ptr *QIODevice) UngetChar(c string) { + if ptr.Pointer() != nil { + var cC *C.char + if c != "" { + cC = C.CString(c) + defer C.free(unsafe.Pointer(cC)) + } + C.QIODevice_UngetChar(ptr.Pointer(), cC) + } +} + +//export callbackQIODevice_WaitForBytesWritten +func callbackQIODevice_WaitForBytesWritten(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForBytesWritten"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIODeviceFromPointer(ptr).WaitForBytesWrittenDefault(int(int32(msecs)))))) +} + +func (ptr *QIODevice) ConnectWaitForBytesWritten(f func(msecs int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "waitForBytesWritten"); signal != nil { + f := func(msecs int) bool { + (*(*func(int) bool)(signal))(msecs) + return f(msecs) + } + qt.ConnectSignal(ptr.Pointer(), "waitForBytesWritten", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "waitForBytesWritten", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectWaitForBytesWritten() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "waitForBytesWritten") + } +} + +func (ptr *QIODevice) WaitForBytesWritten(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_WaitForBytesWritten(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +func (ptr *QIODevice) WaitForBytesWrittenDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_WaitForBytesWrittenDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQIODevice_WaitForReadyRead +func callbackQIODevice_WaitForReadyRead(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForReadyRead"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIODeviceFromPointer(ptr).WaitForReadyReadDefault(int(int32(msecs)))))) +} + +func (ptr *QIODevice) ConnectWaitForReadyRead(f func(msecs int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "waitForReadyRead"); signal != nil { + f := func(msecs int) bool { + (*(*func(int) bool)(signal))(msecs) + return f(msecs) + } + qt.ConnectSignal(ptr.Pointer(), "waitForReadyRead", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "waitForReadyRead", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectWaitForReadyRead() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "waitForReadyRead") + } +} + +func (ptr *QIODevice) WaitForReadyRead(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_WaitForReadyRead(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +func (ptr *QIODevice) WaitForReadyReadDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QIODevice_WaitForReadyReadDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +func (ptr *QIODevice) Write(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QIODevice_Write(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +func (ptr *QIODevice) Write2(data string) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + return int64(C.QIODevice_Write2(ptr.Pointer(), dataC)) + } + return 0 +} + +func (ptr *QIODevice) Write3(byteArray QByteArray_ITF) int64 { + if ptr.Pointer() != nil { + return int64(C.QIODevice_Write3(ptr.Pointer(), PointerFromQByteArray(byteArray))) + } + return 0 +} + +func (ptr *QIODevice) WriteChannelCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QIODevice_WriteChannelCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQIODevice_WriteData +func callbackQIODevice_WriteData(ptr unsafe.Pointer, data C.struct_QtCore_PackedString, maxSize C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "writeData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(maxSize))) + } + + return C.longlong(0) +} + +func (ptr *QIODevice) ConnectWriteData(f func(data []byte, maxSize int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "writeData"); signal != nil { + f := func(data []byte, maxSize int64) int64 { + (*(*func([]byte, int64) int64)(signal))(data, maxSize) + return f(data, maxSize) + } + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectWriteData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "writeData") + } +} + +func (ptr *QIODevice) WriteData(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QIODevice_WriteData(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +//export callbackQIODevice_DestroyQIODevice +func callbackQIODevice_DestroyQIODevice(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QIODevice"); signal != nil { + (*(*func())(signal))() + } else { + NewQIODeviceFromPointer(ptr).DestroyQIODeviceDefault() + } +} + +func (ptr *QIODevice) ConnectDestroyQIODevice(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QIODevice"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QIODevice", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QIODevice", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIODevice) DisconnectDestroyQIODevice() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QIODevice") + } +} + +func (ptr *QIODevice) DestroyQIODevice() { + if ptr.Pointer() != nil { + C.QIODevice_DestroyQIODevice(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QIODevice) DestroyQIODeviceDefault() { + if ptr.Pointer() != nil { + C.QIODevice_DestroyQIODeviceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QIdentityProxyModel struct { + QAbstractProxyModel +} + +type QIdentityProxyModel_ITF interface { + QAbstractProxyModel_ITF + QIdentityProxyModel_PTR() *QIdentityProxyModel +} + +func (ptr *QIdentityProxyModel) QIdentityProxyModel_PTR() *QIdentityProxyModel { + return ptr +} + +func (ptr *QIdentityProxyModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractProxyModel_PTR().Pointer() + } + return nil +} + +func (ptr *QIdentityProxyModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractProxyModel_PTR().SetPointer(p) + } +} + +func PointerFromQIdentityProxyModel(ptr QIdentityProxyModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QIdentityProxyModel_PTR().Pointer() + } + return nil +} + +func NewQIdentityProxyModelFromPointer(ptr unsafe.Pointer) (n *QIdentityProxyModel) { + n = new(QIdentityProxyModel) + n.SetPointer(ptr) + return +} +func NewQIdentityProxyModel(parent QObject_ITF) *QIdentityProxyModel { + tmpValue := NewQIdentityProxyModelFromPointer(C.QIdentityProxyModel_NewQIdentityProxyModel(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQIdentityProxyModel_ColumnCount +func callbackQIdentityProxyModel_ColumnCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQIdentityProxyModelFromPointer(ptr).ColumnCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QIdentityProxyModel) ConnectColumnCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIdentityProxyModel) DisconnectColumnCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnCount") + } +} + +func (ptr *QIdentityProxyModel) ColumnCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QIdentityProxyModel_ColumnCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QIdentityProxyModel) ColumnCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QIdentityProxyModel_ColumnCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQIdentityProxyModel_Index +func callbackQIdentityProxyModel_Index(ptr unsafe.Pointer, row C.int, column C.int, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "index"); signal != nil { + return PointerFromQModelIndex((*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) + } + + return PointerFromQModelIndex(NewQIdentityProxyModelFromPointer(ptr).IndexDefault(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) +} + +func (ptr *QIdentityProxyModel) ConnectIndex(f func(row int, column int, parent *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "index"); signal != nil { + f := func(row int, column int, parent *QModelIndex) *QModelIndex { + (*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(row, column, parent) + return f(row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIdentityProxyModel) DisconnectIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "index") + } +} + +func (ptr *QIdentityProxyModel) Index(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QIdentityProxyModel_Index(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QIdentityProxyModel) IndexDefault(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QIdentityProxyModel_IndexDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQIdentityProxyModel_MapFromSource +func callbackQIdentityProxyModel_MapFromSource(ptr unsafe.Pointer, sourceIndex unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapFromSource"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(sourceIndex))) + } + + return PointerFromQModelIndex(NewQIdentityProxyModelFromPointer(ptr).MapFromSourceDefault(NewQModelIndexFromPointer(sourceIndex))) +} + +func (ptr *QIdentityProxyModel) ConnectMapFromSource(f func(sourceIndex *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapFromSource"); signal != nil { + f := func(sourceIndex *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(sourceIndex) + return f(sourceIndex) + } + qt.ConnectSignal(ptr.Pointer(), "mapFromSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapFromSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIdentityProxyModel) DisconnectMapFromSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapFromSource") + } +} + +func (ptr *QIdentityProxyModel) MapFromSource(sourceIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QIdentityProxyModel_MapFromSource(ptr.Pointer(), PointerFromQModelIndex(sourceIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QIdentityProxyModel) MapFromSourceDefault(sourceIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QIdentityProxyModel_MapFromSourceDefault(ptr.Pointer(), PointerFromQModelIndex(sourceIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQIdentityProxyModel_MapToSource +func callbackQIdentityProxyModel_MapToSource(ptr unsafe.Pointer, proxyIndex unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapToSource"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(proxyIndex))) + } + + return PointerFromQModelIndex(NewQIdentityProxyModelFromPointer(ptr).MapToSourceDefault(NewQModelIndexFromPointer(proxyIndex))) +} + +func (ptr *QIdentityProxyModel) ConnectMapToSource(f func(proxyIndex *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapToSource"); signal != nil { + f := func(proxyIndex *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(proxyIndex) + return f(proxyIndex) + } + qt.ConnectSignal(ptr.Pointer(), "mapToSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapToSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIdentityProxyModel) DisconnectMapToSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapToSource") + } +} + +func (ptr *QIdentityProxyModel) MapToSource(proxyIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QIdentityProxyModel_MapToSource(ptr.Pointer(), PointerFromQModelIndex(proxyIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QIdentityProxyModel) MapToSourceDefault(proxyIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QIdentityProxyModel_MapToSourceDefault(ptr.Pointer(), PointerFromQModelIndex(proxyIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQIdentityProxyModel_Parent +func callbackQIdentityProxyModel_Parent(ptr unsafe.Pointer, child unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(child))) + } + + return PointerFromQModelIndex(NewQIdentityProxyModelFromPointer(ptr).ParentDefault(NewQModelIndexFromPointer(child))) +} + +func (ptr *QIdentityProxyModel) ConnectParent(f func(child *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "parent"); signal != nil { + f := func(child *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(child) + return f(child) + } + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIdentityProxyModel) DisconnectParent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "parent") + } +} + +func (ptr *QIdentityProxyModel) Parent(child QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QIdentityProxyModel_Parent(ptr.Pointer(), PointerFromQModelIndex(child))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QIdentityProxyModel) ParentDefault(child QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QIdentityProxyModel_ParentDefault(ptr.Pointer(), PointerFromQModelIndex(child))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQIdentityProxyModel_RowCount +func callbackQIdentityProxyModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQIdentityProxyModelFromPointer(ptr).RowCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QIdentityProxyModel) ConnectRowCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIdentityProxyModel) DisconnectRowCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowCount") + } +} + +func (ptr *QIdentityProxyModel) RowCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QIdentityProxyModel_RowCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QIdentityProxyModel) RowCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QIdentityProxyModel_RowCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQIdentityProxyModel_DestroyQIdentityProxyModel +func callbackQIdentityProxyModel_DestroyQIdentityProxyModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QIdentityProxyModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQIdentityProxyModelFromPointer(ptr).DestroyQIdentityProxyModelDefault() + } +} + +func (ptr *QIdentityProxyModel) ConnectDestroyQIdentityProxyModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QIdentityProxyModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QIdentityProxyModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QIdentityProxyModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIdentityProxyModel) DisconnectDestroyQIdentityProxyModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QIdentityProxyModel") + } +} + +func (ptr *QIdentityProxyModel) DestroyQIdentityProxyModel() { + if ptr.Pointer() != nil { + C.QIdentityProxyModel_DestroyQIdentityProxyModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QIdentityProxyModel) DestroyQIdentityProxyModelDefault() { + if ptr.Pointer() != nil { + C.QIdentityProxyModel_DestroyQIdentityProxyModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QIncompatibleFlag struct { + ptr unsafe.Pointer +} + +type QIncompatibleFlag_ITF interface { + QIncompatibleFlag_PTR() *QIncompatibleFlag +} + +func (ptr *QIncompatibleFlag) QIncompatibleFlag_PTR() *QIncompatibleFlag { + return ptr +} + +func (ptr *QIncompatibleFlag) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QIncompatibleFlag) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQIncompatibleFlag(ptr QIncompatibleFlag_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QIncompatibleFlag_PTR().Pointer() + } + return nil +} + +func NewQIncompatibleFlagFromPointer(ptr unsafe.Pointer) (n *QIncompatibleFlag) { + n = new(QIncompatibleFlag) + n.SetPointer(ptr) + return +} + +func (ptr *QIncompatibleFlag) DestroyQIncompatibleFlag() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QInternal struct { + ptr unsafe.Pointer +} + +type QInternal_ITF interface { + QInternal_PTR() *QInternal +} + +func (ptr *QInternal) QInternal_PTR() *QInternal { + return ptr +} + +func (ptr *QInternal) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QInternal) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQInternal(ptr QInternal_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QInternal_PTR().Pointer() + } + return nil +} + +func NewQInternalFromPointer(ptr unsafe.Pointer) (n *QInternal) { + n = new(QInternal) + n.SetPointer(ptr) + return +} + +func (ptr *QInternal) DestroyQInternal() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QItemSelection struct { + ptr unsafe.Pointer +} + +type QItemSelection_ITF interface { + QItemSelection_PTR() *QItemSelection +} + +func (ptr *QItemSelection) QItemSelection_PTR() *QItemSelection { + return ptr +} + +func (ptr *QItemSelection) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QItemSelection) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQItemSelection(ptr QItemSelection_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QItemSelection_PTR().Pointer() + } + return nil +} + +func NewQItemSelectionFromPointer(ptr unsafe.Pointer) (n *QItemSelection) { + n = new(QItemSelection) + n.SetPointer(ptr) + return +} + +func (ptr *QItemSelection) DestroyQItemSelection() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQItemSelection() *QItemSelection { + tmpValue := NewQItemSelectionFromPointer(C.QItemSelection_NewQItemSelection()) + runtime.SetFinalizer(tmpValue, (*QItemSelection).DestroyQItemSelection) + return tmpValue +} + +func NewQItemSelection2(topLeft QModelIndex_ITF, bottomRight QModelIndex_ITF) *QItemSelection { + tmpValue := NewQItemSelectionFromPointer(C.QItemSelection_NewQItemSelection2(PointerFromQModelIndex(topLeft), PointerFromQModelIndex(bottomRight))) + runtime.SetFinalizer(tmpValue, (*QItemSelection).DestroyQItemSelection) + return tmpValue +} + +func (ptr *QItemSelection) Contains(index QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelection_Contains(ptr.Pointer(), PointerFromQModelIndex(index))) != 0 + } + return false +} + +func (ptr *QItemSelection) Indexes() []*QModelIndex { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQItemSelectionFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__indexes_atList(i) + } + return out + }(C.QItemSelection_Indexes(ptr.Pointer())) + } + return make([]*QModelIndex, 0) +} + +func (ptr *QItemSelection) Merge(other QItemSelection_ITF, command QItemSelectionModel__SelectionFlag) { + if ptr.Pointer() != nil { + C.QItemSelection_Merge(ptr.Pointer(), PointerFromQItemSelection(other), C.longlong(command)) + } +} + +func (ptr *QItemSelection) Select(topLeft QModelIndex_ITF, bottomRight QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QItemSelection_Select(ptr.Pointer(), PointerFromQModelIndex(topLeft), PointerFromQModelIndex(bottomRight)) + } +} + +func QItemSelection_Split(ran QItemSelectionRange_ITF, other QItemSelectionRange_ITF, result QItemSelection_ITF) { + C.QItemSelection_QItemSelection_Split(PointerFromQItemSelectionRange(ran), PointerFromQItemSelectionRange(other), PointerFromQItemSelection(result)) +} + +func (ptr *QItemSelection) Split(ran QItemSelectionRange_ITF, other QItemSelectionRange_ITF, result QItemSelection_ITF) { + C.QItemSelection_QItemSelection_Split(PointerFromQItemSelectionRange(ran), PointerFromQItemSelectionRange(other), PointerFromQItemSelection(result)) +} + +func (ptr *QItemSelection) __indexes_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QItemSelection___indexes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QItemSelection) __indexes_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QItemSelection___indexes_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QItemSelection) __indexes_newList() unsafe.Pointer { + return C.QItemSelection___indexes_newList(ptr.Pointer()) +} + +type QItemSelectionModel struct { + QObject +} + +type QItemSelectionModel_ITF interface { + QObject_ITF + QItemSelectionModel_PTR() *QItemSelectionModel +} + +func (ptr *QItemSelectionModel) QItemSelectionModel_PTR() *QItemSelectionModel { + return ptr +} + +func (ptr *QItemSelectionModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QItemSelectionModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQItemSelectionModel(ptr QItemSelectionModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QItemSelectionModel_PTR().Pointer() + } + return nil +} + +func NewQItemSelectionModelFromPointer(ptr unsafe.Pointer) (n *QItemSelectionModel) { + n = new(QItemSelectionModel) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QItemSelectionModel__SelectionFlag +//QItemSelectionModel::SelectionFlag +type QItemSelectionModel__SelectionFlag int64 + +const ( + QItemSelectionModel__NoUpdate QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(0x0000) + QItemSelectionModel__Clear QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(0x0001) + QItemSelectionModel__Select QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(0x0002) + QItemSelectionModel__Deselect QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(0x0004) + QItemSelectionModel__Toggle QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(0x0008) + QItemSelectionModel__Current QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(0x0010) + QItemSelectionModel__Rows QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(0x0020) + QItemSelectionModel__Columns QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(0x0040) + QItemSelectionModel__SelectCurrent QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(QItemSelectionModel__Select | QItemSelectionModel__Current) + QItemSelectionModel__ToggleCurrent QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(QItemSelectionModel__Toggle | QItemSelectionModel__Current) + QItemSelectionModel__ClearAndSelect QItemSelectionModel__SelectionFlag = QItemSelectionModel__SelectionFlag(QItemSelectionModel__Clear | QItemSelectionModel__Select) +) + +func NewQItemSelectionModel(model QAbstractItemModel_ITF) *QItemSelectionModel { + tmpValue := NewQItemSelectionModelFromPointer(C.QItemSelectionModel_NewQItemSelectionModel(PointerFromQAbstractItemModel(model))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQItemSelectionModel2(model QAbstractItemModel_ITF, parent QObject_ITF) *QItemSelectionModel { + tmpValue := NewQItemSelectionModelFromPointer(C.QItemSelectionModel_NewQItemSelectionModel2(PointerFromQAbstractItemModel(model), PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQItemSelectionModel_Clear +func callbackQItemSelectionModel_Clear(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "clear"); signal != nil { + (*(*func())(signal))() + } else { + NewQItemSelectionModelFromPointer(ptr).ClearDefault() + } +} + +func (ptr *QItemSelectionModel) ConnectClear(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "clear"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "clear", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "clear", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectClear() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "clear") + } +} + +func (ptr *QItemSelectionModel) Clear() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_Clear(ptr.Pointer()) + } +} + +func (ptr *QItemSelectionModel) ClearDefault() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_ClearDefault(ptr.Pointer()) + } +} + +//export callbackQItemSelectionModel_ClearCurrentIndex +func callbackQItemSelectionModel_ClearCurrentIndex(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "clearCurrentIndex"); signal != nil { + (*(*func())(signal))() + } else { + NewQItemSelectionModelFromPointer(ptr).ClearCurrentIndexDefault() + } +} + +func (ptr *QItemSelectionModel) ConnectClearCurrentIndex(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "clearCurrentIndex"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "clearCurrentIndex", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "clearCurrentIndex", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectClearCurrentIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "clearCurrentIndex") + } +} + +func (ptr *QItemSelectionModel) ClearCurrentIndex() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_ClearCurrentIndex(ptr.Pointer()) + } +} + +func (ptr *QItemSelectionModel) ClearCurrentIndexDefault() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_ClearCurrentIndexDefault(ptr.Pointer()) + } +} + +//export callbackQItemSelectionModel_ClearSelection +func callbackQItemSelectionModel_ClearSelection(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "clearSelection"); signal != nil { + (*(*func())(signal))() + } else { + NewQItemSelectionModelFromPointer(ptr).ClearSelectionDefault() + } +} + +func (ptr *QItemSelectionModel) ConnectClearSelection(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "clearSelection"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "clearSelection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "clearSelection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectClearSelection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "clearSelection") + } +} + +func (ptr *QItemSelectionModel) ClearSelection() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_ClearSelection(ptr.Pointer()) + } +} + +func (ptr *QItemSelectionModel) ClearSelectionDefault() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_ClearSelectionDefault(ptr.Pointer()) + } +} + +func (ptr *QItemSelectionModel) ColumnIntersectsSelection(column int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionModel_ColumnIntersectsSelection(ptr.Pointer(), C.int(int32(column)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQItemSelectionModel_CurrentChanged +func callbackQItemSelectionModel_CurrentChanged(ptr unsafe.Pointer, current unsafe.Pointer, previous unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "currentChanged"); signal != nil { + (*(*func(*QModelIndex, *QModelIndex))(signal))(NewQModelIndexFromPointer(current), NewQModelIndexFromPointer(previous)) + } + +} + +func (ptr *QItemSelectionModel) ConnectCurrentChanged(f func(current *QModelIndex, previous *QModelIndex)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "currentChanged") { + C.QItemSelectionModel_ConnectCurrentChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "currentChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "currentChanged"); signal != nil { + f := func(current *QModelIndex, previous *QModelIndex) { + (*(*func(*QModelIndex, *QModelIndex))(signal))(current, previous) + f(current, previous) + } + qt.ConnectSignal(ptr.Pointer(), "currentChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "currentChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectCurrentChanged() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_DisconnectCurrentChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "currentChanged") + } +} + +func (ptr *QItemSelectionModel) CurrentChanged(current QModelIndex_ITF, previous QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_CurrentChanged(ptr.Pointer(), PointerFromQModelIndex(current), PointerFromQModelIndex(previous)) + } +} + +//export callbackQItemSelectionModel_CurrentColumnChanged +func callbackQItemSelectionModel_CurrentColumnChanged(ptr unsafe.Pointer, current unsafe.Pointer, previous unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "currentColumnChanged"); signal != nil { + (*(*func(*QModelIndex, *QModelIndex))(signal))(NewQModelIndexFromPointer(current), NewQModelIndexFromPointer(previous)) + } + +} + +func (ptr *QItemSelectionModel) ConnectCurrentColumnChanged(f func(current *QModelIndex, previous *QModelIndex)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "currentColumnChanged") { + C.QItemSelectionModel_ConnectCurrentColumnChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "currentColumnChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "currentColumnChanged"); signal != nil { + f := func(current *QModelIndex, previous *QModelIndex) { + (*(*func(*QModelIndex, *QModelIndex))(signal))(current, previous) + f(current, previous) + } + qt.ConnectSignal(ptr.Pointer(), "currentColumnChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "currentColumnChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectCurrentColumnChanged() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_DisconnectCurrentColumnChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "currentColumnChanged") + } +} + +func (ptr *QItemSelectionModel) CurrentColumnChanged(current QModelIndex_ITF, previous QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_CurrentColumnChanged(ptr.Pointer(), PointerFromQModelIndex(current), PointerFromQModelIndex(previous)) + } +} + +func (ptr *QItemSelectionModel) CurrentIndex() *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QItemSelectionModel_CurrentIndex(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQItemSelectionModel_CurrentRowChanged +func callbackQItemSelectionModel_CurrentRowChanged(ptr unsafe.Pointer, current unsafe.Pointer, previous unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "currentRowChanged"); signal != nil { + (*(*func(*QModelIndex, *QModelIndex))(signal))(NewQModelIndexFromPointer(current), NewQModelIndexFromPointer(previous)) + } + +} + +func (ptr *QItemSelectionModel) ConnectCurrentRowChanged(f func(current *QModelIndex, previous *QModelIndex)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "currentRowChanged") { + C.QItemSelectionModel_ConnectCurrentRowChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "currentRowChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "currentRowChanged"); signal != nil { + f := func(current *QModelIndex, previous *QModelIndex) { + (*(*func(*QModelIndex, *QModelIndex))(signal))(current, previous) + f(current, previous) + } + qt.ConnectSignal(ptr.Pointer(), "currentRowChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "currentRowChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectCurrentRowChanged() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_DisconnectCurrentRowChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "currentRowChanged") + } +} + +func (ptr *QItemSelectionModel) CurrentRowChanged(current QModelIndex_ITF, previous QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_CurrentRowChanged(ptr.Pointer(), PointerFromQModelIndex(current), PointerFromQModelIndex(previous)) + } +} + +func (ptr *QItemSelectionModel) EmitSelectionChanged(newSelection QItemSelection_ITF, oldSelection QItemSelection_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_EmitSelectionChanged(ptr.Pointer(), PointerFromQItemSelection(newSelection), PointerFromQItemSelection(oldSelection)) + } +} + +func (ptr *QItemSelectionModel) HasSelection() bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionModel_HasSelection(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QItemSelectionModel) IsColumnSelected(column int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionModel_IsColumnSelected(ptr.Pointer(), C.int(int32(column)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QItemSelectionModel) IsRowSelected(row int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionModel_IsRowSelected(ptr.Pointer(), C.int(int32(row)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QItemSelectionModel) IsSelected(index QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionModel_IsSelected(ptr.Pointer(), PointerFromQModelIndex(index))) != 0 + } + return false +} + +func (ptr *QItemSelectionModel) Model() *QAbstractItemModel { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractItemModelFromPointer(C.QItemSelectionModel_Model(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QItemSelectionModel) Model2() *QAbstractItemModel { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractItemModelFromPointer(C.QItemSelectionModel_Model2(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQItemSelectionModel_ModelChanged +func callbackQItemSelectionModel_ModelChanged(ptr unsafe.Pointer, model unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "modelChanged"); signal != nil { + (*(*func(*QAbstractItemModel))(signal))(NewQAbstractItemModelFromPointer(model)) + } + +} + +func (ptr *QItemSelectionModel) ConnectModelChanged(f func(model *QAbstractItemModel)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "modelChanged") { + C.QItemSelectionModel_ConnectModelChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "modelChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "modelChanged"); signal != nil { + f := func(model *QAbstractItemModel) { + (*(*func(*QAbstractItemModel))(signal))(model) + f(model) + } + qt.ConnectSignal(ptr.Pointer(), "modelChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "modelChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectModelChanged() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_DisconnectModelChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "modelChanged") + } +} + +func (ptr *QItemSelectionModel) ModelChanged(model QAbstractItemModel_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_ModelChanged(ptr.Pointer(), PointerFromQAbstractItemModel(model)) + } +} + +//export callbackQItemSelectionModel_Reset +func callbackQItemSelectionModel_Reset(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "reset"); signal != nil { + (*(*func())(signal))() + } else { + NewQItemSelectionModelFromPointer(ptr).ResetDefault() + } +} + +func (ptr *QItemSelectionModel) ConnectReset(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "reset"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "reset", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "reset", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectReset() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "reset") + } +} + +func (ptr *QItemSelectionModel) Reset() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_Reset(ptr.Pointer()) + } +} + +func (ptr *QItemSelectionModel) ResetDefault() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_ResetDefault(ptr.Pointer()) + } +} + +func (ptr *QItemSelectionModel) RowIntersectsSelection(row int, parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionModel_RowIntersectsSelection(ptr.Pointer(), C.int(int32(row)), PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQItemSelectionModel_Select +func callbackQItemSelectionModel_Select(ptr unsafe.Pointer, index unsafe.Pointer, command C.longlong) { + if signal := qt.GetSignal(ptr, "select"); signal != nil { + (*(*func(*QModelIndex, QItemSelectionModel__SelectionFlag))(signal))(NewQModelIndexFromPointer(index), QItemSelectionModel__SelectionFlag(command)) + } else { + NewQItemSelectionModelFromPointer(ptr).SelectDefault(NewQModelIndexFromPointer(index), QItemSelectionModel__SelectionFlag(command)) + } +} + +func (ptr *QItemSelectionModel) ConnectSelect(f func(index *QModelIndex, command QItemSelectionModel__SelectionFlag)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "select"); signal != nil { + f := func(index *QModelIndex, command QItemSelectionModel__SelectionFlag) { + (*(*func(*QModelIndex, QItemSelectionModel__SelectionFlag))(signal))(index, command) + f(index, command) + } + qt.ConnectSignal(ptr.Pointer(), "select", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "select", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectSelect() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "select") + } +} + +func (ptr *QItemSelectionModel) Select(index QModelIndex_ITF, command QItemSelectionModel__SelectionFlag) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_Select(ptr.Pointer(), PointerFromQModelIndex(index), C.longlong(command)) + } +} + +func (ptr *QItemSelectionModel) SelectDefault(index QModelIndex_ITF, command QItemSelectionModel__SelectionFlag) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_SelectDefault(ptr.Pointer(), PointerFromQModelIndex(index), C.longlong(command)) + } +} + +//export callbackQItemSelectionModel_Select2 +func callbackQItemSelectionModel_Select2(ptr unsafe.Pointer, selection unsafe.Pointer, command C.longlong) { + if signal := qt.GetSignal(ptr, "select2"); signal != nil { + (*(*func(*QItemSelection, QItemSelectionModel__SelectionFlag))(signal))(NewQItemSelectionFromPointer(selection), QItemSelectionModel__SelectionFlag(command)) + } else { + NewQItemSelectionModelFromPointer(ptr).Select2Default(NewQItemSelectionFromPointer(selection), QItemSelectionModel__SelectionFlag(command)) + } +} + +func (ptr *QItemSelectionModel) ConnectSelect2(f func(selection *QItemSelection, command QItemSelectionModel__SelectionFlag)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "select2"); signal != nil { + f := func(selection *QItemSelection, command QItemSelectionModel__SelectionFlag) { + (*(*func(*QItemSelection, QItemSelectionModel__SelectionFlag))(signal))(selection, command) + f(selection, command) + } + qt.ConnectSignal(ptr.Pointer(), "select2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "select2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectSelect2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "select2") + } +} + +func (ptr *QItemSelectionModel) Select2(selection QItemSelection_ITF, command QItemSelectionModel__SelectionFlag) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_Select2(ptr.Pointer(), PointerFromQItemSelection(selection), C.longlong(command)) + } +} + +func (ptr *QItemSelectionModel) Select2Default(selection QItemSelection_ITF, command QItemSelectionModel__SelectionFlag) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_Select2Default(ptr.Pointer(), PointerFromQItemSelection(selection), C.longlong(command)) + } +} + +func (ptr *QItemSelectionModel) SelectedColumns(row int) []*QModelIndex { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQItemSelectionModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__selectedColumns_atList(i) + } + return out + }(C.QItemSelectionModel_SelectedColumns(ptr.Pointer(), C.int(int32(row)))) + } + return make([]*QModelIndex, 0) +} + +func (ptr *QItemSelectionModel) SelectedIndexes() []*QModelIndex { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQItemSelectionModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__selectedIndexes_atList(i) + } + return out + }(C.QItemSelectionModel_SelectedIndexes(ptr.Pointer())) + } + return make([]*QModelIndex, 0) +} + +func (ptr *QItemSelectionModel) SelectedRows(column int) []*QModelIndex { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQItemSelectionModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__selectedRows_atList(i) + } + return out + }(C.QItemSelectionModel_SelectedRows(ptr.Pointer(), C.int(int32(column)))) + } + return make([]*QModelIndex, 0) +} + +func (ptr *QItemSelectionModel) Selection() *QItemSelection { + if ptr.Pointer() != nil { + tmpValue := NewQItemSelectionFromPointer(C.QItemSelectionModel_Selection(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QItemSelection).DestroyQItemSelection) + return tmpValue + } + return nil +} + +//export callbackQItemSelectionModel_SelectionChanged +func callbackQItemSelectionModel_SelectionChanged(ptr unsafe.Pointer, selected unsafe.Pointer, deselected unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "selectionChanged"); signal != nil { + (*(*func(*QItemSelection, *QItemSelection))(signal))(NewQItemSelectionFromPointer(selected), NewQItemSelectionFromPointer(deselected)) + } + +} + +func (ptr *QItemSelectionModel) ConnectSelectionChanged(f func(selected *QItemSelection, deselected *QItemSelection)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "selectionChanged") { + C.QItemSelectionModel_ConnectSelectionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "selectionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "selectionChanged"); signal != nil { + f := func(selected *QItemSelection, deselected *QItemSelection) { + (*(*func(*QItemSelection, *QItemSelection))(signal))(selected, deselected) + f(selected, deselected) + } + qt.ConnectSignal(ptr.Pointer(), "selectionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectSelectionChanged() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_DisconnectSelectionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "selectionChanged") + } +} + +func (ptr *QItemSelectionModel) SelectionChanged(selected QItemSelection_ITF, deselected QItemSelection_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_SelectionChanged(ptr.Pointer(), PointerFromQItemSelection(selected), PointerFromQItemSelection(deselected)) + } +} + +//export callbackQItemSelectionModel_SetCurrentIndex +func callbackQItemSelectionModel_SetCurrentIndex(ptr unsafe.Pointer, index unsafe.Pointer, command C.longlong) { + if signal := qt.GetSignal(ptr, "setCurrentIndex"); signal != nil { + (*(*func(*QModelIndex, QItemSelectionModel__SelectionFlag))(signal))(NewQModelIndexFromPointer(index), QItemSelectionModel__SelectionFlag(command)) + } else { + NewQItemSelectionModelFromPointer(ptr).SetCurrentIndexDefault(NewQModelIndexFromPointer(index), QItemSelectionModel__SelectionFlag(command)) + } +} + +func (ptr *QItemSelectionModel) ConnectSetCurrentIndex(f func(index *QModelIndex, command QItemSelectionModel__SelectionFlag)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setCurrentIndex"); signal != nil { + f := func(index *QModelIndex, command QItemSelectionModel__SelectionFlag) { + (*(*func(*QModelIndex, QItemSelectionModel__SelectionFlag))(signal))(index, command) + f(index, command) + } + qt.ConnectSignal(ptr.Pointer(), "setCurrentIndex", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setCurrentIndex", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectSetCurrentIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setCurrentIndex") + } +} + +func (ptr *QItemSelectionModel) SetCurrentIndex(index QModelIndex_ITF, command QItemSelectionModel__SelectionFlag) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_SetCurrentIndex(ptr.Pointer(), PointerFromQModelIndex(index), C.longlong(command)) + } +} + +func (ptr *QItemSelectionModel) SetCurrentIndexDefault(index QModelIndex_ITF, command QItemSelectionModel__SelectionFlag) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_SetCurrentIndexDefault(ptr.Pointer(), PointerFromQModelIndex(index), C.longlong(command)) + } +} + +func (ptr *QItemSelectionModel) SetModel(model QAbstractItemModel_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel_SetModel(ptr.Pointer(), PointerFromQAbstractItemModel(model)) + } +} + +//export callbackQItemSelectionModel_DestroyQItemSelectionModel +func callbackQItemSelectionModel_DestroyQItemSelectionModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QItemSelectionModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQItemSelectionModelFromPointer(ptr).DestroyQItemSelectionModelDefault() + } +} + +func (ptr *QItemSelectionModel) ConnectDestroyQItemSelectionModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QItemSelectionModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QItemSelectionModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QItemSelectionModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QItemSelectionModel) DisconnectDestroyQItemSelectionModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QItemSelectionModel") + } +} + +func (ptr *QItemSelectionModel) DestroyQItemSelectionModel() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_DestroyQItemSelectionModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QItemSelectionModel) DestroyQItemSelectionModelDefault() { + if ptr.Pointer() != nil { + C.QItemSelectionModel_DestroyQItemSelectionModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QItemSelectionModel) __selectedColumns_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QItemSelectionModel___selectedColumns_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QItemSelectionModel) __selectedColumns_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel___selectedColumns_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QItemSelectionModel) __selectedColumns_newList() unsafe.Pointer { + return C.QItemSelectionModel___selectedColumns_newList(ptr.Pointer()) +} + +func (ptr *QItemSelectionModel) __selectedIndexes_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QItemSelectionModel___selectedIndexes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QItemSelectionModel) __selectedIndexes_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel___selectedIndexes_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QItemSelectionModel) __selectedIndexes_newList() unsafe.Pointer { + return C.QItemSelectionModel___selectedIndexes_newList(ptr.Pointer()) +} + +func (ptr *QItemSelectionModel) __selectedRows_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QItemSelectionModel___selectedRows_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QItemSelectionModel) __selectedRows_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionModel___selectedRows_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QItemSelectionModel) __selectedRows_newList() unsafe.Pointer { + return C.QItemSelectionModel___selectedRows_newList(ptr.Pointer()) +} + +type QItemSelectionRange struct { + ptr unsafe.Pointer +} + +type QItemSelectionRange_ITF interface { + QItemSelectionRange_PTR() *QItemSelectionRange +} + +func (ptr *QItemSelectionRange) QItemSelectionRange_PTR() *QItemSelectionRange { + return ptr +} + +func (ptr *QItemSelectionRange) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QItemSelectionRange) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQItemSelectionRange(ptr QItemSelectionRange_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QItemSelectionRange_PTR().Pointer() + } + return nil +} + +func NewQItemSelectionRangeFromPointer(ptr unsafe.Pointer) (n *QItemSelectionRange) { + n = new(QItemSelectionRange) + n.SetPointer(ptr) + return +} + +func (ptr *QItemSelectionRange) DestroyQItemSelectionRange() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQItemSelectionRange() *QItemSelectionRange { + tmpValue := NewQItemSelectionRangeFromPointer(C.QItemSelectionRange_NewQItemSelectionRange()) + runtime.SetFinalizer(tmpValue, (*QItemSelectionRange).DestroyQItemSelectionRange) + return tmpValue +} + +func NewQItemSelectionRange2(other QItemSelectionRange_ITF) *QItemSelectionRange { + tmpValue := NewQItemSelectionRangeFromPointer(C.QItemSelectionRange_NewQItemSelectionRange2(PointerFromQItemSelectionRange(other))) + runtime.SetFinalizer(tmpValue, (*QItemSelectionRange).DestroyQItemSelectionRange) + return tmpValue +} + +func NewQItemSelectionRange4(topLeft QModelIndex_ITF, bottomRight QModelIndex_ITF) *QItemSelectionRange { + tmpValue := NewQItemSelectionRangeFromPointer(C.QItemSelectionRange_NewQItemSelectionRange4(PointerFromQModelIndex(topLeft), PointerFromQModelIndex(bottomRight))) + runtime.SetFinalizer(tmpValue, (*QItemSelectionRange).DestroyQItemSelectionRange) + return tmpValue +} + +func NewQItemSelectionRange5(index QModelIndex_ITF) *QItemSelectionRange { + tmpValue := NewQItemSelectionRangeFromPointer(C.QItemSelectionRange_NewQItemSelectionRange5(PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QItemSelectionRange).DestroyQItemSelectionRange) + return tmpValue +} + +func (ptr *QItemSelectionRange) Bottom() int { + if ptr.Pointer() != nil { + return int(int32(C.QItemSelectionRange_Bottom(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QItemSelectionRange) BottomRight() *QPersistentModelIndex { + if ptr.Pointer() != nil { + return NewQPersistentModelIndexFromPointer(C.QItemSelectionRange_BottomRight(ptr.Pointer())) + } + return nil +} + +func (ptr *QItemSelectionRange) Contains(index QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionRange_Contains(ptr.Pointer(), PointerFromQModelIndex(index))) != 0 + } + return false +} + +func (ptr *QItemSelectionRange) Contains2(row int, column int, parentIndex QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionRange_Contains2(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parentIndex))) != 0 + } + return false +} + +func (ptr *QItemSelectionRange) Height() int { + if ptr.Pointer() != nil { + return int(int32(C.QItemSelectionRange_Height(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QItemSelectionRange) Indexes() []*QModelIndex { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QModelIndex { + out := make([]*QModelIndex, int(l.len)) + tmpList := NewQItemSelectionRangeFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__indexes_atList(i) + } + return out + }(C.QItemSelectionRange_Indexes(ptr.Pointer())) + } + return make([]*QModelIndex, 0) +} + +func (ptr *QItemSelectionRange) Intersected(other QItemSelectionRange_ITF) *QItemSelectionRange { + if ptr.Pointer() != nil { + tmpValue := NewQItemSelectionRangeFromPointer(C.QItemSelectionRange_Intersected(ptr.Pointer(), PointerFromQItemSelectionRange(other))) + runtime.SetFinalizer(tmpValue, (*QItemSelectionRange).DestroyQItemSelectionRange) + return tmpValue + } + return nil +} + +func (ptr *QItemSelectionRange) Intersects(other QItemSelectionRange_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionRange_Intersects(ptr.Pointer(), PointerFromQItemSelectionRange(other))) != 0 + } + return false +} + +func (ptr *QItemSelectionRange) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionRange_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QItemSelectionRange) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QItemSelectionRange_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QItemSelectionRange) Left() int { + if ptr.Pointer() != nil { + return int(int32(C.QItemSelectionRange_Left(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QItemSelectionRange) Model() *QAbstractItemModel { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractItemModelFromPointer(C.QItemSelectionRange_Model(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QItemSelectionRange) Parent() *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QItemSelectionRange_Parent(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QItemSelectionRange) Right() int { + if ptr.Pointer() != nil { + return int(int32(C.QItemSelectionRange_Right(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QItemSelectionRange) Swap(other QItemSelectionRange_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionRange_Swap(ptr.Pointer(), PointerFromQItemSelectionRange(other)) + } +} + +func (ptr *QItemSelectionRange) Top() int { + if ptr.Pointer() != nil { + return int(int32(C.QItemSelectionRange_Top(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QItemSelectionRange) TopLeft() *QPersistentModelIndex { + if ptr.Pointer() != nil { + return NewQPersistentModelIndexFromPointer(C.QItemSelectionRange_TopLeft(ptr.Pointer())) + } + return nil +} + +func (ptr *QItemSelectionRange) Width() int { + if ptr.Pointer() != nil { + return int(int32(C.QItemSelectionRange_Width(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QItemSelectionRange) __indexes_atList(i int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QItemSelectionRange___indexes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QItemSelectionRange) __indexes_setList(i QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QItemSelectionRange___indexes_setList(ptr.Pointer(), PointerFromQModelIndex(i)) + } +} + +func (ptr *QItemSelectionRange) __indexes_newList() unsafe.Pointer { + return C.QItemSelectionRange___indexes_newList(ptr.Pointer()) +} + +type QJsonArray struct { + ptr unsafe.Pointer +} + +type QJsonArray_ITF interface { + QJsonArray_PTR() *QJsonArray +} + +func (ptr *QJsonArray) QJsonArray_PTR() *QJsonArray { + return ptr +} + +func (ptr *QJsonArray) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QJsonArray) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQJsonArray(ptr QJsonArray_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJsonArray_PTR().Pointer() + } + return nil +} + +func NewQJsonArrayFromPointer(ptr unsafe.Pointer) (n *QJsonArray) { + n = new(QJsonArray) + n.SetPointer(ptr) + return +} +func NewQJsonArray() *QJsonArray { + tmpValue := NewQJsonArrayFromPointer(C.QJsonArray_NewQJsonArray()) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue +} + +func NewQJsonArray3(other QJsonArray_ITF) *QJsonArray { + tmpValue := NewQJsonArrayFromPointer(C.QJsonArray_NewQJsonArray3(PointerFromQJsonArray(other))) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue +} + +func NewQJsonArray4(other QJsonArray_ITF) *QJsonArray { + tmpValue := NewQJsonArrayFromPointer(C.QJsonArray_NewQJsonArray4(PointerFromQJsonArray(other))) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue +} + +func (ptr *QJsonArray) Append(value QJsonValue_ITF) { + if ptr.Pointer() != nil { + C.QJsonArray_Append(ptr.Pointer(), PointerFromQJsonValue(value)) + } +} + +func (ptr *QJsonArray) At(i int) *QJsonValue { + if ptr.Pointer() != nil { + tmpValue := NewQJsonValueFromPointer(C.QJsonArray_At(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue + } + return nil +} + +func (ptr *QJsonArray) Contains(value QJsonValue_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QJsonArray_Contains(ptr.Pointer(), PointerFromQJsonValue(value))) != 0 + } + return false +} + +func (ptr *QJsonArray) Count() int { + if ptr.Pointer() != nil { + return int(int32(C.QJsonArray_Count(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QJsonArray) Empty() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonArray_Empty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonArray) First() *QJsonValue { + if ptr.Pointer() != nil { + tmpValue := NewQJsonValueFromPointer(C.QJsonArray_First(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue + } + return nil +} + +func QJsonArray_FromStringList(list []string) *QJsonArray { + listC := C.CString(strings.Join(list, "¡¦!")) + defer C.free(unsafe.Pointer(listC)) + tmpValue := NewQJsonArrayFromPointer(C.QJsonArray_QJsonArray_FromStringList(C.struct_QtCore_PackedString{data: listC, len: C.longlong(len(strings.Join(list, "¡¦!")))})) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue +} + +func (ptr *QJsonArray) FromStringList(list []string) *QJsonArray { + listC := C.CString(strings.Join(list, "¡¦!")) + defer C.free(unsafe.Pointer(listC)) + tmpValue := NewQJsonArrayFromPointer(C.QJsonArray_QJsonArray_FromStringList(C.struct_QtCore_PackedString{data: listC, len: C.longlong(len(strings.Join(list, "¡¦!")))})) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue +} + +func QJsonArray_FromVariantList(list []*QVariant) *QJsonArray { + tmpValue := NewQJsonArrayFromPointer(C.QJsonArray_QJsonArray_FromVariantList(func() unsafe.Pointer { + tmpList := NewQJsonArrayFromPointer(NewQJsonArrayFromPointer(nil).__fromVariantList_list_newList()) + for _, v := range list { + tmpList.__fromVariantList_list_setList(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue +} + +func (ptr *QJsonArray) FromVariantList(list []*QVariant) *QJsonArray { + tmpValue := NewQJsonArrayFromPointer(C.QJsonArray_QJsonArray_FromVariantList(func() unsafe.Pointer { + tmpList := NewQJsonArrayFromPointer(NewQJsonArrayFromPointer(nil).__fromVariantList_list_newList()) + for _, v := range list { + tmpList.__fromVariantList_list_setList(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue +} + +func (ptr *QJsonArray) Insert(i int, value QJsonValue_ITF) { + if ptr.Pointer() != nil { + C.QJsonArray_Insert(ptr.Pointer(), C.int(int32(i)), PointerFromQJsonValue(value)) + } +} + +func (ptr *QJsonArray) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonArray_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonArray) Last() *QJsonValue { + if ptr.Pointer() != nil { + tmpValue := NewQJsonValueFromPointer(C.QJsonArray_Last(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue + } + return nil +} + +func (ptr *QJsonArray) Pop_back() { + if ptr.Pointer() != nil { + C.QJsonArray_Pop_back(ptr.Pointer()) + } +} + +func (ptr *QJsonArray) Pop_front() { + if ptr.Pointer() != nil { + C.QJsonArray_Pop_front(ptr.Pointer()) + } +} + +func (ptr *QJsonArray) Prepend(value QJsonValue_ITF) { + if ptr.Pointer() != nil { + C.QJsonArray_Prepend(ptr.Pointer(), PointerFromQJsonValue(value)) + } +} + +func (ptr *QJsonArray) Push_back(value QJsonValue_ITF) { + if ptr.Pointer() != nil { + C.QJsonArray_Push_back(ptr.Pointer(), PointerFromQJsonValue(value)) + } +} + +func (ptr *QJsonArray) Push_front(value QJsonValue_ITF) { + if ptr.Pointer() != nil { + C.QJsonArray_Push_front(ptr.Pointer(), PointerFromQJsonValue(value)) + } +} + +func (ptr *QJsonArray) RemoveAt(i int) { + if ptr.Pointer() != nil { + C.QJsonArray_RemoveAt(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QJsonArray) RemoveFirst() { + if ptr.Pointer() != nil { + C.QJsonArray_RemoveFirst(ptr.Pointer()) + } +} + +func (ptr *QJsonArray) RemoveLast() { + if ptr.Pointer() != nil { + C.QJsonArray_RemoveLast(ptr.Pointer()) + } +} + +func (ptr *QJsonArray) Replace(i int, value QJsonValue_ITF) { + if ptr.Pointer() != nil { + C.QJsonArray_Replace(ptr.Pointer(), C.int(int32(i)), PointerFromQJsonValue(value)) + } +} + +func (ptr *QJsonArray) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QJsonArray_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QJsonArray) Swap(other QJsonArray_ITF) { + if ptr.Pointer() != nil { + C.QJsonArray_Swap(ptr.Pointer(), PointerFromQJsonArray(other)) + } +} + +func (ptr *QJsonArray) TakeAt(i int) *QJsonValue { + if ptr.Pointer() != nil { + tmpValue := NewQJsonValueFromPointer(C.QJsonArray_TakeAt(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue + } + return nil +} + +func (ptr *QJsonArray) ToVariantList() []*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QVariant { + out := make([]*QVariant, int(l.len)) + tmpList := NewQJsonArrayFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toVariantList_atList(i) + } + return out + }(C.QJsonArray_ToVariantList(ptr.Pointer())) + } + return make([]*QVariant, 0) +} + +func (ptr *QJsonArray) DestroyQJsonArray() { + if ptr.Pointer() != nil { + C.QJsonArray_DestroyQJsonArray(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QJsonArray) __fromVariantList_list_atList(i int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QJsonArray___fromVariantList_list_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QJsonArray) __fromVariantList_list_setList(i QVariant_ITF) { + if ptr.Pointer() != nil { + C.QJsonArray___fromVariantList_list_setList(ptr.Pointer(), PointerFromQVariant(i)) + } +} + +func (ptr *QJsonArray) __fromVariantList_list_newList() unsafe.Pointer { + return C.QJsonArray___fromVariantList_list_newList(ptr.Pointer()) +} + +func (ptr *QJsonArray) __toVariantList_atList(i int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QJsonArray___toVariantList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QJsonArray) __toVariantList_setList(i QVariant_ITF) { + if ptr.Pointer() != nil { + C.QJsonArray___toVariantList_setList(ptr.Pointer(), PointerFromQVariant(i)) + } +} + +func (ptr *QJsonArray) __toVariantList_newList() unsafe.Pointer { + return C.QJsonArray___toVariantList_newList(ptr.Pointer()) +} + +type QJsonDocument struct { + ptr unsafe.Pointer +} + +type QJsonDocument_ITF interface { + QJsonDocument_PTR() *QJsonDocument +} + +func (ptr *QJsonDocument) QJsonDocument_PTR() *QJsonDocument { + return ptr +} + +func (ptr *QJsonDocument) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QJsonDocument) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQJsonDocument(ptr QJsonDocument_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJsonDocument_PTR().Pointer() + } + return nil +} + +func NewQJsonDocumentFromPointer(ptr unsafe.Pointer) (n *QJsonDocument) { + n = new(QJsonDocument) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QJsonDocument__DataValidation +//QJsonDocument::DataValidation +type QJsonDocument__DataValidation int64 + +const ( + QJsonDocument__Validate QJsonDocument__DataValidation = QJsonDocument__DataValidation(0) + QJsonDocument__BypassValidation QJsonDocument__DataValidation = QJsonDocument__DataValidation(1) +) + +//go:generate stringer -type=QJsonDocument__JsonFormat +//QJsonDocument::JsonFormat +type QJsonDocument__JsonFormat int64 + +const ( + QJsonDocument__Indented QJsonDocument__JsonFormat = QJsonDocument__JsonFormat(0) + QJsonDocument__Compact QJsonDocument__JsonFormat = QJsonDocument__JsonFormat(1) +) + +func NewQJsonDocument() *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_NewQJsonDocument()) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func NewQJsonDocument2(object QJsonObject_ITF) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_NewQJsonDocument2(PointerFromQJsonObject(object))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func NewQJsonDocument3(array QJsonArray_ITF) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_NewQJsonDocument3(PointerFromQJsonArray(array))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func NewQJsonDocument4(other QJsonDocument_ITF) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_NewQJsonDocument4(PointerFromQJsonDocument(other))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func NewQJsonDocument5(other QJsonDocument_ITF) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_NewQJsonDocument5(PointerFromQJsonDocument(other))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func (ptr *QJsonDocument) Array() *QJsonArray { + if ptr.Pointer() != nil { + tmpValue := NewQJsonArrayFromPointer(C.QJsonDocument_Array(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue + } + return nil +} + +func QJsonDocument_FromBinaryData(data QByteArray_ITF, validation QJsonDocument__DataValidation) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_QJsonDocument_FromBinaryData(PointerFromQByteArray(data), C.longlong(validation))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func (ptr *QJsonDocument) FromBinaryData(data QByteArray_ITF, validation QJsonDocument__DataValidation) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_QJsonDocument_FromBinaryData(PointerFromQByteArray(data), C.longlong(validation))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func QJsonDocument_FromJson(json QByteArray_ITF, error QJsonParseError_ITF) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_QJsonDocument_FromJson(PointerFromQByteArray(json), PointerFromQJsonParseError(error))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func (ptr *QJsonDocument) FromJson(json QByteArray_ITF, error QJsonParseError_ITF) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_QJsonDocument_FromJson(PointerFromQByteArray(json), PointerFromQJsonParseError(error))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func QJsonDocument_FromRawData(data []byte, size int, validation QJsonDocument__DataValidation) *QJsonDocument { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_QJsonDocument_FromRawData(dataC, C.int(int32(size)), C.longlong(validation))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func (ptr *QJsonDocument) FromRawData(data []byte, size int, validation QJsonDocument__DataValidation) *QJsonDocument { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_QJsonDocument_FromRawData(dataC, C.int(int32(size)), C.longlong(validation))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func QJsonDocument_FromVariant(variant QVariant_ITF) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_QJsonDocument_FromVariant(PointerFromQVariant(variant))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func (ptr *QJsonDocument) FromVariant(variant QVariant_ITF) *QJsonDocument { + tmpValue := NewQJsonDocumentFromPointer(C.QJsonDocument_QJsonDocument_FromVariant(PointerFromQVariant(variant))) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue +} + +func (ptr *QJsonDocument) IsArray() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonDocument_IsArray(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonDocument) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonDocument_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonDocument) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonDocument_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonDocument) IsObject() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonDocument_IsObject(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonDocument) Object() *QJsonObject { + if ptr.Pointer() != nil { + tmpValue := NewQJsonObjectFromPointer(C.QJsonDocument_Object(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue + } + return nil +} + +func (ptr *QJsonDocument) RawData(size int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QJsonDocument_RawData(ptr.Pointer(), C.int(int32(size)))) + } + return "" +} + +func (ptr *QJsonDocument) SetArray(array QJsonArray_ITF) { + if ptr.Pointer() != nil { + C.QJsonDocument_SetArray(ptr.Pointer(), PointerFromQJsonArray(array)) + } +} + +func (ptr *QJsonDocument) SetObject(object QJsonObject_ITF) { + if ptr.Pointer() != nil { + C.QJsonDocument_SetObject(ptr.Pointer(), PointerFromQJsonObject(object)) + } +} + +func (ptr *QJsonDocument) Swap(other QJsonDocument_ITF) { + if ptr.Pointer() != nil { + C.QJsonDocument_Swap(ptr.Pointer(), PointerFromQJsonDocument(other)) + } +} + +func (ptr *QJsonDocument) ToBinaryData() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QJsonDocument_ToBinaryData(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QJsonDocument) ToJson() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QJsonDocument_ToJson(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QJsonDocument) ToJson2(format QJsonDocument__JsonFormat) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QJsonDocument_ToJson2(ptr.Pointer(), C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QJsonDocument) ToVariant() *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QJsonDocument_ToVariant(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QJsonDocument) DestroyQJsonDocument() { + if ptr.Pointer() != nil { + C.QJsonDocument_DestroyQJsonDocument(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QJsonObject struct { + ptr unsafe.Pointer +} + +type QJsonObject_ITF interface { + QJsonObject_PTR() *QJsonObject +} + +func (ptr *QJsonObject) QJsonObject_PTR() *QJsonObject { + return ptr +} + +func (ptr *QJsonObject) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QJsonObject) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQJsonObject(ptr QJsonObject_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJsonObject_PTR().Pointer() + } + return nil +} + +func NewQJsonObjectFromPointer(ptr unsafe.Pointer) (n *QJsonObject) { + n = new(QJsonObject) + n.SetPointer(ptr) + return +} +func NewQJsonObject() *QJsonObject { + tmpValue := NewQJsonObjectFromPointer(C.QJsonObject_NewQJsonObject()) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue +} + +func NewQJsonObject3(other QJsonObject_ITF) *QJsonObject { + tmpValue := NewQJsonObjectFromPointer(C.QJsonObject_NewQJsonObject3(PointerFromQJsonObject(other))) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue +} + +func NewQJsonObject4(other QJsonObject_ITF) *QJsonObject { + tmpValue := NewQJsonObjectFromPointer(C.QJsonObject_NewQJsonObject4(PointerFromQJsonObject(other))) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue +} + +func (ptr *QJsonObject) Contains(key string) bool { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return int8(C.QJsonObject_Contains(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))})) != 0 + } + return false +} + +func (ptr *QJsonObject) Contains2(key QLatin1String_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QJsonObject_Contains2(ptr.Pointer(), PointerFromQLatin1String(key))) != 0 + } + return false +} + +func (ptr *QJsonObject) Count() int { + if ptr.Pointer() != nil { + return int(int32(C.QJsonObject_Count(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QJsonObject) Empty() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonObject_Empty(ptr.Pointer())) != 0 + } + return false +} + +func QJsonObject_FromVariantHash(hash map[string]*QVariant) *QJsonObject { + tmpValue := NewQJsonObjectFromPointer(C.QJsonObject_QJsonObject_FromVariantHash(func() unsafe.Pointer { + tmpList := NewQJsonObjectFromPointer(NewQJsonObjectFromPointer(nil).__fromVariantHash_hash_newList()) + for k, v := range hash { + tmpList.__fromVariantHash_hash_setList(k, v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue +} + +func (ptr *QJsonObject) FromVariantHash(hash map[string]*QVariant) *QJsonObject { + tmpValue := NewQJsonObjectFromPointer(C.QJsonObject_QJsonObject_FromVariantHash(func() unsafe.Pointer { + tmpList := NewQJsonObjectFromPointer(NewQJsonObjectFromPointer(nil).__fromVariantHash_hash_newList()) + for k, v := range hash { + tmpList.__fromVariantHash_hash_setList(k, v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue +} + +func (ptr *QJsonObject) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonObject_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonObject) Keys() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QJsonObject_Keys(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QJsonObject) Length() int { + if ptr.Pointer() != nil { + return int(int32(C.QJsonObject_Length(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QJsonObject) Remove(key string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QJsonObject_Remove(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}) + } +} + +func (ptr *QJsonObject) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QJsonObject_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QJsonObject) Swap(other QJsonObject_ITF) { + if ptr.Pointer() != nil { + C.QJsonObject_Swap(ptr.Pointer(), PointerFromQJsonObject(other)) + } +} + +func (ptr *QJsonObject) Take(key string) *QJsonValue { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := NewQJsonValueFromPointer(C.QJsonObject_Take(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))})) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue + } + return nil +} + +func (ptr *QJsonObject) ToVariantHash() map[string]*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[string]*QVariant { + out := make(map[string]*QVariant, int(l.len)) + tmpList := NewQJsonObjectFromPointer(l.data) + for i, v := range tmpList.__toVariantHash_keyList() { + out[v] = tmpList.__toVariantHash_atList(v, i) + } + return out + }(C.QJsonObject_ToVariantHash(ptr.Pointer())) + } + return make(map[string]*QVariant, 0) +} + +func (ptr *QJsonObject) ToVariantMap() map[string]*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[string]*QVariant { + out := make(map[string]*QVariant, int(l.len)) + tmpList := NewQJsonObjectFromPointer(l.data) + for i, v := range tmpList.__toVariantMap_keyList() { + out[v] = tmpList.__toVariantMap_atList(v, i) + } + return out + }(C.QJsonObject_ToVariantMap(ptr.Pointer())) + } + return make(map[string]*QVariant, 0) +} + +func (ptr *QJsonObject) Value(key string) *QJsonValue { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := NewQJsonValueFromPointer(C.QJsonObject_Value(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))})) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue + } + return nil +} + +func (ptr *QJsonObject) Value2(key QLatin1String_ITF) *QJsonValue { + if ptr.Pointer() != nil { + tmpValue := NewQJsonValueFromPointer(C.QJsonObject_Value2(ptr.Pointer(), PointerFromQLatin1String(key))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue + } + return nil +} + +func (ptr *QJsonObject) DestroyQJsonObject() { + if ptr.Pointer() != nil { + C.QJsonObject_DestroyQJsonObject(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QJsonObject) __fromVariantHash_hash_atList(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QJsonObject___fromVariantHash_hash_atList(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QJsonObject) __fromVariantHash_hash_setList(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QJsonObject___fromVariantHash_hash_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QJsonObject) __fromVariantHash_hash_newList() unsafe.Pointer { + return C.QJsonObject___fromVariantHash_hash_newList(ptr.Pointer()) +} + +func (ptr *QJsonObject) __fromVariantHash_hash_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQJsonObjectFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____fromVariantHash_hash_keyList_atList(i) + } + return out + }(C.QJsonObject___fromVariantHash_hash_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QJsonObject) __toVariantHash_atList(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QJsonObject___toVariantHash_atList(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QJsonObject) __toVariantHash_setList(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QJsonObject___toVariantHash_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QJsonObject) __toVariantHash_newList() unsafe.Pointer { + return C.QJsonObject___toVariantHash_newList(ptr.Pointer()) +} + +func (ptr *QJsonObject) __toVariantHash_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQJsonObjectFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____toVariantHash_keyList_atList(i) + } + return out + }(C.QJsonObject___toVariantHash_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QJsonObject) __toVariantMap_atList(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QJsonObject___toVariantMap_atList(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QJsonObject) __toVariantMap_setList(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QJsonObject___toVariantMap_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QJsonObject) __toVariantMap_newList() unsafe.Pointer { + return C.QJsonObject___toVariantMap_newList(ptr.Pointer()) +} + +func (ptr *QJsonObject) __toVariantMap_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQJsonObjectFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____toVariantMap_keyList_atList(i) + } + return out + }(C.QJsonObject___toVariantMap_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QJsonObject) ____fromVariantHash_hash_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QJsonObject_____fromVariantHash_hash_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QJsonObject) ____fromVariantHash_hash_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QJsonObject_____fromVariantHash_hash_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QJsonObject) ____fromVariantHash_hash_keyList_newList() unsafe.Pointer { + return C.QJsonObject_____fromVariantHash_hash_keyList_newList(ptr.Pointer()) +} + +func (ptr *QJsonObject) ____fromVariantMap_map_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QJsonObject_____fromVariantMap_map_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QJsonObject) ____fromVariantMap_map_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QJsonObject_____fromVariantMap_map_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QJsonObject) ____fromVariantMap_map_keyList_newList() unsafe.Pointer { + return C.QJsonObject_____fromVariantMap_map_keyList_newList(ptr.Pointer()) +} + +func (ptr *QJsonObject) ____toVariantHash_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QJsonObject_____toVariantHash_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QJsonObject) ____toVariantHash_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QJsonObject_____toVariantHash_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QJsonObject) ____toVariantHash_keyList_newList() unsafe.Pointer { + return C.QJsonObject_____toVariantHash_keyList_newList(ptr.Pointer()) +} + +func (ptr *QJsonObject) ____toVariantMap_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QJsonObject_____toVariantMap_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QJsonObject) ____toVariantMap_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QJsonObject_____toVariantMap_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QJsonObject) ____toVariantMap_keyList_newList() unsafe.Pointer { + return C.QJsonObject_____toVariantMap_keyList_newList(ptr.Pointer()) +} + +type QJsonParseError struct { + ptr unsafe.Pointer +} + +type QJsonParseError_ITF interface { + QJsonParseError_PTR() *QJsonParseError +} + +func (ptr *QJsonParseError) QJsonParseError_PTR() *QJsonParseError { + return ptr +} + +func (ptr *QJsonParseError) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QJsonParseError) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQJsonParseError(ptr QJsonParseError_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJsonParseError_PTR().Pointer() + } + return nil +} + +func NewQJsonParseErrorFromPointer(ptr unsafe.Pointer) (n *QJsonParseError) { + n = new(QJsonParseError) + n.SetPointer(ptr) + return +} + +func (ptr *QJsonParseError) DestroyQJsonParseError() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QJsonParseError__ParseError +//QJsonParseError::ParseError +type QJsonParseError__ParseError int64 + +const ( + QJsonParseError__NoError QJsonParseError__ParseError = QJsonParseError__ParseError(0) + QJsonParseError__UnterminatedObject QJsonParseError__ParseError = QJsonParseError__ParseError(1) + QJsonParseError__MissingNameSeparator QJsonParseError__ParseError = QJsonParseError__ParseError(2) + QJsonParseError__UnterminatedArray QJsonParseError__ParseError = QJsonParseError__ParseError(3) + QJsonParseError__MissingValueSeparator QJsonParseError__ParseError = QJsonParseError__ParseError(4) + QJsonParseError__IllegalValue QJsonParseError__ParseError = QJsonParseError__ParseError(5) + QJsonParseError__TerminationByNumber QJsonParseError__ParseError = QJsonParseError__ParseError(6) + QJsonParseError__IllegalNumber QJsonParseError__ParseError = QJsonParseError__ParseError(7) + QJsonParseError__IllegalEscapeSequence QJsonParseError__ParseError = QJsonParseError__ParseError(8) + QJsonParseError__IllegalUTF8String QJsonParseError__ParseError = QJsonParseError__ParseError(9) + QJsonParseError__UnterminatedString QJsonParseError__ParseError = QJsonParseError__ParseError(10) + QJsonParseError__MissingObject QJsonParseError__ParseError = QJsonParseError__ParseError(11) + QJsonParseError__DeepNesting QJsonParseError__ParseError = QJsonParseError__ParseError(12) + QJsonParseError__DocumentTooLarge QJsonParseError__ParseError = QJsonParseError__ParseError(13) + QJsonParseError__GarbageAtEnd QJsonParseError__ParseError = QJsonParseError__ParseError(14) +) + +func (ptr *QJsonParseError) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QJsonParseError_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QJsonParseError) Offset() int { + if ptr.Pointer() != nil { + return int(int32(C.QJsonParseError_Offset(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QJsonParseError) SetOffset(vin int) { + if ptr.Pointer() != nil { + C.QJsonParseError_SetOffset(ptr.Pointer(), C.int(int32(vin))) + } +} + +func (ptr *QJsonParseError) Error() QJsonParseError__ParseError { + if ptr.Pointer() != nil { + return QJsonParseError__ParseError(C.QJsonParseError_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QJsonParseError) SetError(vqj QJsonParseError__ParseError) { + if ptr.Pointer() != nil { + C.QJsonParseError_SetError(ptr.Pointer(), C.longlong(vqj)) + } +} + +type QJsonValue struct { + ptr unsafe.Pointer +} + +type QJsonValue_ITF interface { + QJsonValue_PTR() *QJsonValue +} + +func (ptr *QJsonValue) QJsonValue_PTR() *QJsonValue { + return ptr +} + +func (ptr *QJsonValue) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QJsonValue) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQJsonValue(ptr QJsonValue_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJsonValue_PTR().Pointer() + } + return nil +} + +func NewQJsonValueFromPointer(ptr unsafe.Pointer) (n *QJsonValue) { + n = new(QJsonValue) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QJsonValue__Type +//QJsonValue::Type +type QJsonValue__Type int64 + +const ( + QJsonValue__Null QJsonValue__Type = QJsonValue__Type(0x0) + QJsonValue__Bool QJsonValue__Type = QJsonValue__Type(0x1) + QJsonValue__Double QJsonValue__Type = QJsonValue__Type(0x2) + QJsonValue__String QJsonValue__Type = QJsonValue__Type(0x3) + QJsonValue__Array QJsonValue__Type = QJsonValue__Type(0x4) + QJsonValue__Object QJsonValue__Type = QJsonValue__Type(0x5) + QJsonValue__Undefined QJsonValue__Type = QJsonValue__Type(0x80) +) + +func NewQJsonValue(ty QJsonValue__Type) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue(C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue2(b bool) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue2(C.char(int8(qt.GoBoolToInt(b))))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue3(n float64) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue3(C.double(n))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue4(n int) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue4(C.int(int32(n)))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue5(n int64) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue5(C.longlong(n))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue6(s string) *QJsonValue { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue6(C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))})) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue7(s QLatin1String_ITF) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue7(PointerFromQLatin1String(s))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue8(s string) *QJsonValue { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue8(sC)) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue9(a QJsonArray_ITF) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue9(PointerFromQJsonArray(a))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue10(o QJsonObject_ITF) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue10(PointerFromQJsonObject(o))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue11(other QJsonValue_ITF) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue11(PointerFromQJsonValue(other))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func NewQJsonValue12(other QJsonValue_ITF) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_NewQJsonValue12(PointerFromQJsonValue(other))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func QJsonValue_FromVariant(variant QVariant_ITF) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_QJsonValue_FromVariant(PointerFromQVariant(variant))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func (ptr *QJsonValue) FromVariant(variant QVariant_ITF) *QJsonValue { + tmpValue := NewQJsonValueFromPointer(C.QJsonValue_QJsonValue_FromVariant(PointerFromQVariant(variant))) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue +} + +func (ptr *QJsonValue) IsArray() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonValue_IsArray(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonValue) IsBool() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonValue_IsBool(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonValue) IsDouble() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonValue_IsDouble(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonValue) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonValue_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonValue) IsObject() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonValue_IsObject(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonValue) IsString() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonValue_IsString(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonValue) IsUndefined() bool { + if ptr.Pointer() != nil { + return int8(C.QJsonValue_IsUndefined(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJsonValue) Swap(other QJsonValue_ITF) { + if ptr.Pointer() != nil { + C.QJsonValue_Swap(ptr.Pointer(), PointerFromQJsonValue(other)) + } +} + +func (ptr *QJsonValue) ToArray(defaultValue QJsonArray_ITF) *QJsonArray { + if ptr.Pointer() != nil { + tmpValue := NewQJsonArrayFromPointer(C.QJsonValue_ToArray(ptr.Pointer(), PointerFromQJsonArray(defaultValue))) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue + } + return nil +} + +func (ptr *QJsonValue) ToArray2() *QJsonArray { + if ptr.Pointer() != nil { + tmpValue := NewQJsonArrayFromPointer(C.QJsonValue_ToArray2(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue + } + return nil +} + +func (ptr *QJsonValue) ToBool(defaultValue bool) bool { + if ptr.Pointer() != nil { + return int8(C.QJsonValue_ToBool(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(defaultValue))))) != 0 + } + return false +} + +func (ptr *QJsonValue) ToDouble(defaultValue float64) float64 { + if ptr.Pointer() != nil { + return float64(C.QJsonValue_ToDouble(ptr.Pointer(), C.double(defaultValue))) + } + return 0 +} + +func (ptr *QJsonValue) ToInt(defaultValue int) int { + if ptr.Pointer() != nil { + return int(int32(C.QJsonValue_ToInt(ptr.Pointer(), C.int(int32(defaultValue))))) + } + return 0 +} + +func (ptr *QJsonValue) ToObject(defaultValue QJsonObject_ITF) *QJsonObject { + if ptr.Pointer() != nil { + tmpValue := NewQJsonObjectFromPointer(C.QJsonValue_ToObject(ptr.Pointer(), PointerFromQJsonObject(defaultValue))) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue + } + return nil +} + +func (ptr *QJsonValue) ToObject2() *QJsonObject { + if ptr.Pointer() != nil { + tmpValue := NewQJsonObjectFromPointer(C.QJsonValue_ToObject2(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue + } + return nil +} + +func (ptr *QJsonValue) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QJsonValue_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QJsonValue) ToString2(defaultValue string) string { + if ptr.Pointer() != nil { + var defaultValueC *C.char + if defaultValue != "" { + defaultValueC = C.CString(defaultValue) + defer C.free(unsafe.Pointer(defaultValueC)) + } + return cGoUnpackString(C.QJsonValue_ToString2(ptr.Pointer(), C.struct_QtCore_PackedString{data: defaultValueC, len: C.longlong(len(defaultValue))})) + } + return "" +} + +func (ptr *QJsonValue) ToVariant() *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QJsonValue_ToVariant(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QJsonValue) Type() QJsonValue__Type { + if ptr.Pointer() != nil { + return QJsonValue__Type(C.QJsonValue_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QJsonValue) DestroyQJsonValue() { + if ptr.Pointer() != nil { + C.QJsonValue_DestroyQJsonValue(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QJsonValuePtr struct { + ptr unsafe.Pointer +} + +type QJsonValuePtr_ITF interface { + QJsonValuePtr_PTR() *QJsonValuePtr +} + +func (ptr *QJsonValuePtr) QJsonValuePtr_PTR() *QJsonValuePtr { + return ptr +} + +func (ptr *QJsonValuePtr) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QJsonValuePtr) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQJsonValuePtr(ptr QJsonValuePtr_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJsonValuePtr_PTR().Pointer() + } + return nil +} + +func NewQJsonValuePtrFromPointer(ptr unsafe.Pointer) (n *QJsonValuePtr) { + n = new(QJsonValuePtr) + n.SetPointer(ptr) + return +} + +func (ptr *QJsonValuePtr) DestroyQJsonValuePtr() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QJsonValueRefPtr struct { + ptr unsafe.Pointer +} + +type QJsonValueRefPtr_ITF interface { + QJsonValueRefPtr_PTR() *QJsonValueRefPtr +} + +func (ptr *QJsonValueRefPtr) QJsonValueRefPtr_PTR() *QJsonValueRefPtr { + return ptr +} + +func (ptr *QJsonValueRefPtr) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QJsonValueRefPtr) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQJsonValueRefPtr(ptr QJsonValueRefPtr_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJsonValueRefPtr_PTR().Pointer() + } + return nil +} + +func NewQJsonValueRefPtrFromPointer(ptr unsafe.Pointer) (n *QJsonValueRefPtr) { + n = new(QJsonValueRefPtr) + n.SetPointer(ptr) + return +} + +func (ptr *QJsonValueRefPtr) DestroyQJsonValueRefPtr() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QKeyValueIterator struct { + ptr unsafe.Pointer +} + +type QKeyValueIterator_ITF interface { + QKeyValueIterator_PTR() *QKeyValueIterator +} + +func (ptr *QKeyValueIterator) QKeyValueIterator_PTR() *QKeyValueIterator { + return ptr +} + +func (ptr *QKeyValueIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QKeyValueIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQKeyValueIterator(ptr QKeyValueIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QKeyValueIterator_PTR().Pointer() + } + return nil +} + +func NewQKeyValueIteratorFromPointer(ptr unsafe.Pointer) (n *QKeyValueIterator) { + n = new(QKeyValueIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QKeyValueIterator) DestroyQKeyValueIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QLEInteger struct { + ptr unsafe.Pointer +} + +type QLEInteger_ITF interface { + QLEInteger_PTR() *QLEInteger +} + +func (ptr *QLEInteger) QLEInteger_PTR() *QLEInteger { + return ptr +} + +func (ptr *QLEInteger) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLEInteger) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLEInteger(ptr QLEInteger_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLEInteger_PTR().Pointer() + } + return nil +} + +func NewQLEIntegerFromPointer(ptr unsafe.Pointer) (n *QLEInteger) { + n = new(QLEInteger) + n.SetPointer(ptr) + return +} + +func (ptr *QLEInteger) DestroyQLEInteger() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QLatin1Char struct { + ptr unsafe.Pointer +} + +type QLatin1Char_ITF interface { + QLatin1Char_PTR() *QLatin1Char +} + +func (ptr *QLatin1Char) QLatin1Char_PTR() *QLatin1Char { + return ptr +} + +func (ptr *QLatin1Char) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLatin1Char) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLatin1Char(ptr QLatin1Char_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLatin1Char_PTR().Pointer() + } + return nil +} + +func NewQLatin1CharFromPointer(ptr unsafe.Pointer) (n *QLatin1Char) { + n = new(QLatin1Char) + n.SetPointer(ptr) + return +} + +func (ptr *QLatin1Char) DestroyQLatin1Char() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQLatin1Char(c string) *QLatin1Char { + var cC *C.char + if c != "" { + cC = C.CString(c) + defer C.free(unsafe.Pointer(cC)) + } + tmpValue := NewQLatin1CharFromPointer(C.QLatin1Char_NewQLatin1Char(cC)) + runtime.SetFinalizer(tmpValue, (*QLatin1Char).DestroyQLatin1Char) + return tmpValue +} + +func (ptr *QLatin1Char) ToLatin1() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLatin1Char_ToLatin1(ptr.Pointer())) + } + return "" +} + +func (ptr *QLatin1Char) Unicode() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QLatin1Char_Unicode(ptr.Pointer())) + } + return 0 +} + +type QLatin1String struct { + ptr unsafe.Pointer +} + +type QLatin1String_ITF interface { + QLatin1String_PTR() *QLatin1String +} + +func (ptr *QLatin1String) QLatin1String_PTR() *QLatin1String { + return ptr +} + +func (ptr *QLatin1String) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLatin1String) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLatin1String(ptr QLatin1String_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLatin1String_PTR().Pointer() + } + return nil +} + +func NewQLatin1StringFromPointer(ptr unsafe.Pointer) (n *QLatin1String) { + n = new(QLatin1String) + n.SetPointer(ptr) + return +} + +func (ptr *QLatin1String) DestroyQLatin1String() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQLatin1String() *QLatin1String { + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_NewQLatin1String()) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue +} + +func NewQLatin1String2(str string) *QLatin1String { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_NewQLatin1String2(strC)) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue +} + +func NewQLatin1String3(first string, last string) *QLatin1String { + var firstC *C.char + if first != "" { + firstC = C.CString(first) + defer C.free(unsafe.Pointer(firstC)) + } + var lastC *C.char + if last != "" { + lastC = C.CString(last) + defer C.free(unsafe.Pointer(lastC)) + } + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_NewQLatin1String3(firstC, lastC)) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue +} + +func NewQLatin1String4(str string, size int) *QLatin1String { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_NewQLatin1String4(strC, C.int(int32(size)))) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue +} + +func NewQLatin1String5(str QByteArray_ITF) *QLatin1String { + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_NewQLatin1String5(PointerFromQByteArray(str))) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue +} + +func (ptr *QLatin1String) Chop(length int) { + if ptr.Pointer() != nil { + C.QLatin1String_Chop(ptr.Pointer(), C.int(int32(length))) + } +} + +func (ptr *QLatin1String) Chopped(length int) *QLatin1String { + if ptr.Pointer() != nil { + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_Chopped(ptr.Pointer(), C.int(int32(length)))) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue + } + return nil +} + +func (ptr *QLatin1String) Data() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLatin1String_Data(ptr.Pointer())) + } + return "" +} + +func (ptr *QLatin1String) EndsWith(str QStringView_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_EndsWith(ptr.Pointer(), PointerFromQStringView(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QLatin1String) EndsWith2(l1 QLatin1String_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_EndsWith2(ptr.Pointer(), PointerFromQLatin1String(l1), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QLatin1String) EndsWith3(ch QChar_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_EndsWith3(ptr.Pointer(), PointerFromQChar(ch))) != 0 + } + return false +} + +func (ptr *QLatin1String) EndsWith4(ch QChar_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_EndsWith4(ptr.Pointer(), PointerFromQChar(ch), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QLatin1String) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLatin1String) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLatin1String) Latin1() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLatin1String_Latin1(ptr.Pointer())) + } + return "" +} + +func (ptr *QLatin1String) Left(length int) *QLatin1String { + if ptr.Pointer() != nil { + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_Left(ptr.Pointer(), C.int(int32(length)))) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue + } + return nil +} + +func (ptr *QLatin1String) Mid(start int) *QLatin1String { + if ptr.Pointer() != nil { + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_Mid(ptr.Pointer(), C.int(int32(start)))) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue + } + return nil +} + +func (ptr *QLatin1String) Mid2(start int, length int) *QLatin1String { + if ptr.Pointer() != nil { + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_Mid2(ptr.Pointer(), C.int(int32(start)), C.int(int32(length)))) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue + } + return nil +} + +func (ptr *QLatin1String) Right(length int) *QLatin1String { + if ptr.Pointer() != nil { + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_Right(ptr.Pointer(), C.int(int32(length)))) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue + } + return nil +} + +func (ptr *QLatin1String) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QLatin1String_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QLatin1String) StartsWith(str QStringView_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_StartsWith(ptr.Pointer(), PointerFromQStringView(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QLatin1String) StartsWith2(l1 QLatin1String_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_StartsWith2(ptr.Pointer(), PointerFromQLatin1String(l1), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QLatin1String) StartsWith3(ch QChar_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_StartsWith3(ptr.Pointer(), PointerFromQChar(ch))) != 0 + } + return false +} + +func (ptr *QLatin1String) StartsWith4(ch QChar_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QLatin1String_StartsWith4(ptr.Pointer(), PointerFromQChar(ch), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QLatin1String) Trimmed() *QLatin1String { + if ptr.Pointer() != nil { + tmpValue := NewQLatin1StringFromPointer(C.QLatin1String_Trimmed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLatin1String).DestroyQLatin1String) + return tmpValue + } + return nil +} + +func (ptr *QLatin1String) Truncate(length int) { + if ptr.Pointer() != nil { + C.QLatin1String_Truncate(ptr.Pointer(), C.int(int32(length))) + } +} + +type QLibrary struct { + QObject +} + +type QLibrary_ITF interface { + QObject_ITF + QLibrary_PTR() *QLibrary +} + +func (ptr *QLibrary) QLibrary_PTR() *QLibrary { + return ptr +} + +func (ptr *QLibrary) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QLibrary) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQLibrary(ptr QLibrary_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLibrary_PTR().Pointer() + } + return nil +} + +func NewQLibraryFromPointer(ptr unsafe.Pointer) (n *QLibrary) { + n = new(QLibrary) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QLibrary__LoadHint +//QLibrary::LoadHint +type QLibrary__LoadHint int64 + +const ( + QLibrary__ResolveAllSymbolsHint QLibrary__LoadHint = QLibrary__LoadHint(0x01) + QLibrary__ExportExternalSymbolsHint QLibrary__LoadHint = QLibrary__LoadHint(0x02) + QLibrary__LoadArchiveMemberHint QLibrary__LoadHint = QLibrary__LoadHint(0x04) + QLibrary__PreventUnloadHint QLibrary__LoadHint = QLibrary__LoadHint(0x08) + QLibrary__DeepBindHint QLibrary__LoadHint = QLibrary__LoadHint(0x10) +) + +func NewQLibrary(parent QObject_ITF) *QLibrary { + tmpValue := NewQLibraryFromPointer(C.QLibrary_NewQLibrary(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQLibrary2(fileName string, parent QObject_ITF) *QLibrary { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQLibraryFromPointer(C.QLibrary_NewQLibrary2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQLibrary3(fileName string, verNum int, parent QObject_ITF) *QLibrary { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQLibraryFromPointer(C.QLibrary_NewQLibrary3(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.int(int32(verNum)), PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQLibrary4(fileName string, version string, parent QObject_ITF) *QLibrary { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var versionC *C.char + if version != "" { + versionC = C.CString(version) + defer C.free(unsafe.Pointer(versionC)) + } + tmpValue := NewQLibraryFromPointer(C.QLibrary_NewQLibrary4(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.struct_QtCore_PackedString{data: versionC, len: C.longlong(len(version))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QLibrary) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLibrary_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QLibrary) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLibrary_FileName(ptr.Pointer())) + } + return "" +} + +func QLibrary_IsLibrary(fileName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QLibrary_QLibrary_IsLibrary(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func (ptr *QLibrary) IsLibrary(fileName string) bool { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QLibrary_QLibrary_IsLibrary(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 +} + +func (ptr *QLibrary) IsLoaded() bool { + if ptr.Pointer() != nil { + return int8(C.QLibrary_IsLoaded(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLibrary) Load() bool { + if ptr.Pointer() != nil { + return int8(C.QLibrary_Load(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLibrary) LoadHints() QLibrary__LoadHint { + if ptr.Pointer() != nil { + return QLibrary__LoadHint(C.QLibrary_LoadHints(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLibrary) SetFileName(fileName string) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QLibrary_SetFileName(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}) + } +} + +func (ptr *QLibrary) SetFileNameAndVersion(fileName string, versionNumber int) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QLibrary_SetFileNameAndVersion(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.int(int32(versionNumber))) + } +} + +func (ptr *QLibrary) SetFileNameAndVersion2(fileName string, version string) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var versionC *C.char + if version != "" { + versionC = C.CString(version) + defer C.free(unsafe.Pointer(versionC)) + } + C.QLibrary_SetFileNameAndVersion2(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.struct_QtCore_PackedString{data: versionC, len: C.longlong(len(version))}) + } +} + +func (ptr *QLibrary) SetLoadHints(hints QLibrary__LoadHint) { + if ptr.Pointer() != nil { + C.QLibrary_SetLoadHints(ptr.Pointer(), C.longlong(hints)) + } +} + +func (ptr *QLibrary) Unload() bool { + if ptr.Pointer() != nil { + return int8(C.QLibrary_Unload(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQLibrary_DestroyQLibrary +func callbackQLibrary_DestroyQLibrary(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QLibrary"); signal != nil { + (*(*func())(signal))() + } else { + NewQLibraryFromPointer(ptr).DestroyQLibraryDefault() + } +} + +func (ptr *QLibrary) ConnectDestroyQLibrary(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QLibrary"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QLibrary", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QLibrary", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLibrary) DisconnectDestroyQLibrary() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QLibrary") + } +} + +func (ptr *QLibrary) DestroyQLibrary() { + if ptr.Pointer() != nil { + C.QLibrary_DestroyQLibrary(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QLibrary) DestroyQLibraryDefault() { + if ptr.Pointer() != nil { + C.QLibrary_DestroyQLibraryDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QLibraryInfo struct { + ptr unsafe.Pointer +} + +type QLibraryInfo_ITF interface { + QLibraryInfo_PTR() *QLibraryInfo +} + +func (ptr *QLibraryInfo) QLibraryInfo_PTR() *QLibraryInfo { + return ptr +} + +func (ptr *QLibraryInfo) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLibraryInfo) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLibraryInfo(ptr QLibraryInfo_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLibraryInfo_PTR().Pointer() + } + return nil +} + +func NewQLibraryInfoFromPointer(ptr unsafe.Pointer) (n *QLibraryInfo) { + n = new(QLibraryInfo) + n.SetPointer(ptr) + return +} + +func (ptr *QLibraryInfo) DestroyQLibraryInfo() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QLibraryInfo__LibraryLocation +//QLibraryInfo::LibraryLocation +type QLibraryInfo__LibraryLocation int64 + +const ( + QLibraryInfo__PrefixPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(0) + QLibraryInfo__DocumentationPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(1) + QLibraryInfo__HeadersPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(2) + QLibraryInfo__LibrariesPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(3) + QLibraryInfo__LibraryExecutablesPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(4) + QLibraryInfo__BinariesPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(5) + QLibraryInfo__PluginsPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(6) + QLibraryInfo__ImportsPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(7) + QLibraryInfo__Qml2ImportsPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(8) + QLibraryInfo__ArchDataPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(9) + QLibraryInfo__DataPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(10) + QLibraryInfo__TranslationsPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(11) + QLibraryInfo__ExamplesPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(12) + QLibraryInfo__TestsPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(13) + QLibraryInfo__SettingsPath QLibraryInfo__LibraryLocation = QLibraryInfo__LibraryLocation(100) +) + +func QLibraryInfo_IsDebugBuild() bool { + return int8(C.QLibraryInfo_QLibraryInfo_IsDebugBuild()) != 0 +} + +func (ptr *QLibraryInfo) IsDebugBuild() bool { + return int8(C.QLibraryInfo_QLibraryInfo_IsDebugBuild()) != 0 +} + +func QLibraryInfo_Location(loc QLibraryInfo__LibraryLocation) string { + return cGoUnpackString(C.QLibraryInfo_QLibraryInfo_Location(C.longlong(loc))) +} + +func (ptr *QLibraryInfo) Location(loc QLibraryInfo__LibraryLocation) string { + return cGoUnpackString(C.QLibraryInfo_QLibraryInfo_Location(C.longlong(loc))) +} + +func QLibraryInfo_Version() *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QLibraryInfo_QLibraryInfo_Version()) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func (ptr *QLibraryInfo) Version() *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QLibraryInfo_QLibraryInfo_Version()) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +type QLine struct { + ptr unsafe.Pointer +} + +type QLine_ITF interface { + QLine_PTR() *QLine +} + +func (ptr *QLine) QLine_PTR() *QLine { + return ptr +} + +func (ptr *QLine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLine(ptr QLine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLine_PTR().Pointer() + } + return nil +} + +func NewQLineFromPointer(ptr unsafe.Pointer) (n *QLine) { + n = new(QLine) + n.SetPointer(ptr) + return +} + +func (ptr *QLine) DestroyQLine() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQLine() *QLine { + tmpValue := NewQLineFromPointer(C.QLine_NewQLine()) + runtime.SetFinalizer(tmpValue, (*QLine).DestroyQLine) + return tmpValue +} + +func NewQLine2(p1 QPoint_ITF, p2 QPoint_ITF) *QLine { + tmpValue := NewQLineFromPointer(C.QLine_NewQLine2(PointerFromQPoint(p1), PointerFromQPoint(p2))) + runtime.SetFinalizer(tmpValue, (*QLine).DestroyQLine) + return tmpValue +} + +func NewQLine3(x1 int, y1 int, x2 int, y2 int) *QLine { + tmpValue := NewQLineFromPointer(C.QLine_NewQLine3(C.int(int32(x1)), C.int(int32(y1)), C.int(int32(x2)), C.int(int32(y2)))) + runtime.SetFinalizer(tmpValue, (*QLine).DestroyQLine) + return tmpValue +} + +func (ptr *QLine) Center() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QLine_Center(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QLine) Dx() int { + if ptr.Pointer() != nil { + return int(int32(C.QLine_Dx(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QLine) Dy() int { + if ptr.Pointer() != nil { + return int(int32(C.QLine_Dy(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QLine) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QLine_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLine) P1() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QLine_P1(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QLine) P2() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QLine_P2(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QLine) SetLine(x1 int, y1 int, x2 int, y2 int) { + if ptr.Pointer() != nil { + C.QLine_SetLine(ptr.Pointer(), C.int(int32(x1)), C.int(int32(y1)), C.int(int32(x2)), C.int(int32(y2))) + } +} + +func (ptr *QLine) SetP1(p1 QPoint_ITF) { + if ptr.Pointer() != nil { + C.QLine_SetP1(ptr.Pointer(), PointerFromQPoint(p1)) + } +} + +func (ptr *QLine) SetP2(p2 QPoint_ITF) { + if ptr.Pointer() != nil { + C.QLine_SetP2(ptr.Pointer(), PointerFromQPoint(p2)) + } +} + +func (ptr *QLine) SetPoints(p1 QPoint_ITF, p2 QPoint_ITF) { + if ptr.Pointer() != nil { + C.QLine_SetPoints(ptr.Pointer(), PointerFromQPoint(p1), PointerFromQPoint(p2)) + } +} + +func (ptr *QLine) Translate(offset QPoint_ITF) { + if ptr.Pointer() != nil { + C.QLine_Translate(ptr.Pointer(), PointerFromQPoint(offset)) + } +} + +func (ptr *QLine) Translate2(dx int, dy int) { + if ptr.Pointer() != nil { + C.QLine_Translate2(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy))) + } +} + +func (ptr *QLine) Translated(offset QPoint_ITF) *QLine { + if ptr.Pointer() != nil { + tmpValue := NewQLineFromPointer(C.QLine_Translated(ptr.Pointer(), PointerFromQPoint(offset))) + runtime.SetFinalizer(tmpValue, (*QLine).DestroyQLine) + return tmpValue + } + return nil +} + +func (ptr *QLine) Translated2(dx int, dy int) *QLine { + if ptr.Pointer() != nil { + tmpValue := NewQLineFromPointer(C.QLine_Translated2(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy)))) + runtime.SetFinalizer(tmpValue, (*QLine).DestroyQLine) + return tmpValue + } + return nil +} + +func (ptr *QLine) X1() int { + if ptr.Pointer() != nil { + return int(int32(C.QLine_X1(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QLine) X2() int { + if ptr.Pointer() != nil { + return int(int32(C.QLine_X2(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QLine) Y1() int { + if ptr.Pointer() != nil { + return int(int32(C.QLine_Y1(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QLine) Y2() int { + if ptr.Pointer() != nil { + return int(int32(C.QLine_Y2(ptr.Pointer()))) + } + return 0 +} + +type QLineF struct { + ptr unsafe.Pointer +} + +type QLineF_ITF interface { + QLineF_PTR() *QLineF +} + +func (ptr *QLineF) QLineF_PTR() *QLineF { + return ptr +} + +func (ptr *QLineF) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLineF) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLineF(ptr QLineF_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLineF_PTR().Pointer() + } + return nil +} + +func NewQLineFFromPointer(ptr unsafe.Pointer) (n *QLineF) { + n = new(QLineF) + n.SetPointer(ptr) + return +} + +func (ptr *QLineF) DestroyQLineF() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QLineF__IntersectType +//QLineF::IntersectType +type QLineF__IntersectType int64 + +const ( + QLineF__NoIntersection QLineF__IntersectType = QLineF__IntersectType(0) + QLineF__BoundedIntersection QLineF__IntersectType = QLineF__IntersectType(1) + QLineF__UnboundedIntersection QLineF__IntersectType = QLineF__IntersectType(2) +) + +func NewQLineF() *QLineF { + tmpValue := NewQLineFFromPointer(C.QLineF_NewQLineF()) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue +} + +func NewQLineF2(p1 QPointF_ITF, p2 QPointF_ITF) *QLineF { + tmpValue := NewQLineFFromPointer(C.QLineF_NewQLineF2(PointerFromQPointF(p1), PointerFromQPointF(p2))) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue +} + +func NewQLineF3(x1 float64, y1 float64, x2 float64, y2 float64) *QLineF { + tmpValue := NewQLineFFromPointer(C.QLineF_NewQLineF3(C.double(x1), C.double(y1), C.double(x2), C.double(y2))) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue +} + +func NewQLineF4(line QLine_ITF) *QLineF { + tmpValue := NewQLineFFromPointer(C.QLineF_NewQLineF4(PointerFromQLine(line))) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue +} + +func (ptr *QLineF) Angle() float64 { + if ptr.Pointer() != nil { + return float64(C.QLineF_Angle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLineF) AngleTo(line QLineF_ITF) float64 { + if ptr.Pointer() != nil { + return float64(C.QLineF_AngleTo(ptr.Pointer(), PointerFromQLineF(line))) + } + return 0 +} + +func (ptr *QLineF) Center() *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QLineF_Center(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QLineF) Dx() float64 { + if ptr.Pointer() != nil { + return float64(C.QLineF_Dx(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLineF) Dy() float64 { + if ptr.Pointer() != nil { + return float64(C.QLineF_Dy(ptr.Pointer())) + } + return 0 +} + +func QLineF_FromPolar(length float64, angle float64) *QLineF { + tmpValue := NewQLineFFromPointer(C.QLineF_QLineF_FromPolar(C.double(length), C.double(angle))) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue +} + +func (ptr *QLineF) FromPolar(length float64, angle float64) *QLineF { + tmpValue := NewQLineFFromPointer(C.QLineF_QLineF_FromPolar(C.double(length), C.double(angle))) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue +} + +func (ptr *QLineF) Intersect(line QLineF_ITF, intersectionPoint QPointF_ITF) QLineF__IntersectType { + if ptr.Pointer() != nil { + return QLineF__IntersectType(C.QLineF_Intersect(ptr.Pointer(), PointerFromQLineF(line), PointerFromQPointF(intersectionPoint))) + } + return 0 +} + +func (ptr *QLineF) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QLineF_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLineF) Length() float64 { + if ptr.Pointer() != nil { + return float64(C.QLineF_Length(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLineF) NormalVector() *QLineF { + if ptr.Pointer() != nil { + tmpValue := NewQLineFFromPointer(C.QLineF_NormalVector(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue + } + return nil +} + +func (ptr *QLineF) P1() *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QLineF_P1(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QLineF) P2() *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QLineF_P2(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QLineF) PointAt(t float64) *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QLineF_PointAt(ptr.Pointer(), C.double(t))) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QLineF) SetAngle(angle float64) { + if ptr.Pointer() != nil { + C.QLineF_SetAngle(ptr.Pointer(), C.double(angle)) + } +} + +func (ptr *QLineF) SetLength(length float64) { + if ptr.Pointer() != nil { + C.QLineF_SetLength(ptr.Pointer(), C.double(length)) + } +} + +func (ptr *QLineF) SetLine(x1 float64, y1 float64, x2 float64, y2 float64) { + if ptr.Pointer() != nil { + C.QLineF_SetLine(ptr.Pointer(), C.double(x1), C.double(y1), C.double(x2), C.double(y2)) + } +} + +func (ptr *QLineF) SetP1(p1 QPointF_ITF) { + if ptr.Pointer() != nil { + C.QLineF_SetP1(ptr.Pointer(), PointerFromQPointF(p1)) + } +} + +func (ptr *QLineF) SetP2(p2 QPointF_ITF) { + if ptr.Pointer() != nil { + C.QLineF_SetP2(ptr.Pointer(), PointerFromQPointF(p2)) + } +} + +func (ptr *QLineF) SetPoints(p1 QPointF_ITF, p2 QPointF_ITF) { + if ptr.Pointer() != nil { + C.QLineF_SetPoints(ptr.Pointer(), PointerFromQPointF(p1), PointerFromQPointF(p2)) + } +} + +func (ptr *QLineF) ToLine() *QLine { + if ptr.Pointer() != nil { + tmpValue := NewQLineFromPointer(C.QLineF_ToLine(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLine).DestroyQLine) + return tmpValue + } + return nil +} + +func (ptr *QLineF) Translate(offset QPointF_ITF) { + if ptr.Pointer() != nil { + C.QLineF_Translate(ptr.Pointer(), PointerFromQPointF(offset)) + } +} + +func (ptr *QLineF) Translate2(dx float64, dy float64) { + if ptr.Pointer() != nil { + C.QLineF_Translate2(ptr.Pointer(), C.double(dx), C.double(dy)) + } +} + +func (ptr *QLineF) Translated(offset QPointF_ITF) *QLineF { + if ptr.Pointer() != nil { + tmpValue := NewQLineFFromPointer(C.QLineF_Translated(ptr.Pointer(), PointerFromQPointF(offset))) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue + } + return nil +} + +func (ptr *QLineF) Translated2(dx float64, dy float64) *QLineF { + if ptr.Pointer() != nil { + tmpValue := NewQLineFFromPointer(C.QLineF_Translated2(ptr.Pointer(), C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue + } + return nil +} + +func (ptr *QLineF) UnitVector() *QLineF { + if ptr.Pointer() != nil { + tmpValue := NewQLineFFromPointer(C.QLineF_UnitVector(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue + } + return nil +} + +func (ptr *QLineF) X1() float64 { + if ptr.Pointer() != nil { + return float64(C.QLineF_X1(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLineF) X2() float64 { + if ptr.Pointer() != nil { + return float64(C.QLineF_X2(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLineF) Y1() float64 { + if ptr.Pointer() != nil { + return float64(C.QLineF_Y1(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLineF) Y2() float64 { + if ptr.Pointer() != nil { + return float64(C.QLineF_Y2(ptr.Pointer())) + } + return 0 +} + +type QLinkedList struct { + ptr unsafe.Pointer +} + +type QLinkedList_ITF interface { + QLinkedList_PTR() *QLinkedList +} + +func (ptr *QLinkedList) QLinkedList_PTR() *QLinkedList { + return ptr +} + +func (ptr *QLinkedList) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLinkedList) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLinkedList(ptr QLinkedList_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLinkedList_PTR().Pointer() + } + return nil +} + +func NewQLinkedListFromPointer(ptr unsafe.Pointer) (n *QLinkedList) { + n = new(QLinkedList) + n.SetPointer(ptr) + return +} + +type QLinkedListIterator struct { + ptr unsafe.Pointer +} + +type QLinkedListIterator_ITF interface { + QLinkedListIterator_PTR() *QLinkedListIterator +} + +func (ptr *QLinkedListIterator) QLinkedListIterator_PTR() *QLinkedListIterator { + return ptr +} + +func (ptr *QLinkedListIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLinkedListIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLinkedListIterator(ptr QLinkedListIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLinkedListIterator_PTR().Pointer() + } + return nil +} + +func NewQLinkedListIteratorFromPointer(ptr unsafe.Pointer) (n *QLinkedListIterator) { + n = new(QLinkedListIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QLinkedListIterator) DestroyQLinkedListIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QLinkedListNode struct { + ptr unsafe.Pointer +} + +type QLinkedListNode_ITF interface { + QLinkedListNode_PTR() *QLinkedListNode +} + +func (ptr *QLinkedListNode) QLinkedListNode_PTR() *QLinkedListNode { + return ptr +} + +func (ptr *QLinkedListNode) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLinkedListNode) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLinkedListNode(ptr QLinkedListNode_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLinkedListNode_PTR().Pointer() + } + return nil +} + +func NewQLinkedListNodeFromPointer(ptr unsafe.Pointer) (n *QLinkedListNode) { + n = new(QLinkedListNode) + n.SetPointer(ptr) + return +} + +func (ptr *QLinkedListNode) DestroyQLinkedListNode() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QListData struct { + ptr unsafe.Pointer +} + +type QListData_ITF interface { + QListData_PTR() *QListData +} + +func (ptr *QListData) QListData_PTR() *QListData { + return ptr +} + +func (ptr *QListData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QListData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQListData(ptr QListData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QListData_PTR().Pointer() + } + return nil +} + +func NewQListDataFromPointer(ptr unsafe.Pointer) (n *QListData) { + n = new(QListData) + n.SetPointer(ptr) + return +} + +func (ptr *QListData) DestroyQListData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QListIterator struct { + ptr unsafe.Pointer +} + +type QListIterator_ITF interface { + QListIterator_PTR() *QListIterator +} + +func (ptr *QListIterator) QListIterator_PTR() *QListIterator { + return ptr +} + +func (ptr *QListIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QListIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQListIterator(ptr QListIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QListIterator_PTR().Pointer() + } + return nil +} + +func NewQListIteratorFromPointer(ptr unsafe.Pointer) (n *QListIterator) { + n = new(QListIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QListIterator) DestroyQListIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QListSpecialMethods struct { + ptr unsafe.Pointer +} + +type QListSpecialMethods_ITF interface { + QListSpecialMethods_PTR() *QListSpecialMethods +} + +func (ptr *QListSpecialMethods) QListSpecialMethods_PTR() *QListSpecialMethods { + return ptr +} + +func (ptr *QListSpecialMethods) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QListSpecialMethods) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQListSpecialMethods(ptr QListSpecialMethods_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QListSpecialMethods_PTR().Pointer() + } + return nil +} + +func NewQListSpecialMethodsFromPointer(ptr unsafe.Pointer) (n *QListSpecialMethods) { + n = new(QListSpecialMethods) + n.SetPointer(ptr) + return +} + +func (ptr *QListSpecialMethods) DestroyQListSpecialMethods() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QLittleEndianStorageType struct { + ptr unsafe.Pointer +} + +type QLittleEndianStorageType_ITF interface { + QLittleEndianStorageType_PTR() *QLittleEndianStorageType +} + +func (ptr *QLittleEndianStorageType) QLittleEndianStorageType_PTR() *QLittleEndianStorageType { + return ptr +} + +func (ptr *QLittleEndianStorageType) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLittleEndianStorageType) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLittleEndianStorageType(ptr QLittleEndianStorageType_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLittleEndianStorageType_PTR().Pointer() + } + return nil +} + +func NewQLittleEndianStorageTypeFromPointer(ptr unsafe.Pointer) (n *QLittleEndianStorageType) { + n = new(QLittleEndianStorageType) + n.SetPointer(ptr) + return +} + +func (ptr *QLittleEndianStorageType) DestroyQLittleEndianStorageType() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QLocale struct { + ptr unsafe.Pointer +} + +type QLocale_ITF interface { + QLocale_PTR() *QLocale +} + +func (ptr *QLocale) QLocale_PTR() *QLocale { + return ptr +} + +func (ptr *QLocale) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLocale) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLocale(ptr QLocale_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLocale_PTR().Pointer() + } + return nil +} + +func NewQLocaleFromPointer(ptr unsafe.Pointer) (n *QLocale) { + n = new(QLocale) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QLocale__Language +//QLocale::Language +type QLocale__Language int64 + +const ( + QLocale__AnyLanguage QLocale__Language = QLocale__Language(0) + QLocale__C QLocale__Language = QLocale__Language(1) + QLocale__Abkhazian QLocale__Language = QLocale__Language(2) + QLocale__Oromo QLocale__Language = QLocale__Language(3) + QLocale__Afar QLocale__Language = QLocale__Language(4) + QLocale__Afrikaans QLocale__Language = QLocale__Language(5) + QLocale__Albanian QLocale__Language = QLocale__Language(6) + QLocale__Amharic QLocale__Language = QLocale__Language(7) + QLocale__Arabic QLocale__Language = QLocale__Language(8) + QLocale__Armenian QLocale__Language = QLocale__Language(9) + QLocale__Assamese QLocale__Language = QLocale__Language(10) + QLocale__Aymara QLocale__Language = QLocale__Language(11) + QLocale__Azerbaijani QLocale__Language = QLocale__Language(12) + QLocale__Bashkir QLocale__Language = QLocale__Language(13) + QLocale__Basque QLocale__Language = QLocale__Language(14) + QLocale__Bengali QLocale__Language = QLocale__Language(15) + QLocale__Dzongkha QLocale__Language = QLocale__Language(16) + QLocale__Bihari QLocale__Language = QLocale__Language(17) + QLocale__Bislama QLocale__Language = QLocale__Language(18) + QLocale__Breton QLocale__Language = QLocale__Language(19) + QLocale__Bulgarian QLocale__Language = QLocale__Language(20) + QLocale__Burmese QLocale__Language = QLocale__Language(21) + QLocale__Belarusian QLocale__Language = QLocale__Language(22) + QLocale__Khmer QLocale__Language = QLocale__Language(23) + QLocale__Catalan QLocale__Language = QLocale__Language(24) + QLocale__Chinese QLocale__Language = QLocale__Language(25) + QLocale__Corsican QLocale__Language = QLocale__Language(26) + QLocale__Croatian QLocale__Language = QLocale__Language(27) + QLocale__Czech QLocale__Language = QLocale__Language(28) + QLocale__Danish QLocale__Language = QLocale__Language(29) + QLocale__Dutch QLocale__Language = QLocale__Language(30) + QLocale__English QLocale__Language = QLocale__Language(31) + QLocale__Esperanto QLocale__Language = QLocale__Language(32) + QLocale__Estonian QLocale__Language = QLocale__Language(33) + QLocale__Faroese QLocale__Language = QLocale__Language(34) + QLocale__Fijian QLocale__Language = QLocale__Language(35) + QLocale__Finnish QLocale__Language = QLocale__Language(36) + QLocale__French QLocale__Language = QLocale__Language(37) + QLocale__WesternFrisian QLocale__Language = QLocale__Language(38) + QLocale__Gaelic QLocale__Language = QLocale__Language(39) + QLocale__Galician QLocale__Language = QLocale__Language(40) + QLocale__Georgian QLocale__Language = QLocale__Language(41) + QLocale__German QLocale__Language = QLocale__Language(42) + QLocale__Greek QLocale__Language = QLocale__Language(43) + QLocale__Greenlandic QLocale__Language = QLocale__Language(44) + QLocale__Guarani QLocale__Language = QLocale__Language(45) + QLocale__Gujarati QLocale__Language = QLocale__Language(46) + QLocale__Hausa QLocale__Language = QLocale__Language(47) + QLocale__Hebrew QLocale__Language = QLocale__Language(48) + QLocale__Hindi QLocale__Language = QLocale__Language(49) + QLocale__Hungarian QLocale__Language = QLocale__Language(50) + QLocale__Icelandic QLocale__Language = QLocale__Language(51) + QLocale__Indonesian QLocale__Language = QLocale__Language(52) + QLocale__Interlingua QLocale__Language = QLocale__Language(53) + QLocale__Interlingue QLocale__Language = QLocale__Language(54) + QLocale__Inuktitut QLocale__Language = QLocale__Language(55) + QLocale__Inupiak QLocale__Language = QLocale__Language(56) + QLocale__Irish QLocale__Language = QLocale__Language(57) + QLocale__Italian QLocale__Language = QLocale__Language(58) + QLocale__Japanese QLocale__Language = QLocale__Language(59) + QLocale__Javanese QLocale__Language = QLocale__Language(60) + QLocale__Kannada QLocale__Language = QLocale__Language(61) + QLocale__Kashmiri QLocale__Language = QLocale__Language(62) + QLocale__Kazakh QLocale__Language = QLocale__Language(63) + QLocale__Kinyarwanda QLocale__Language = QLocale__Language(64) + QLocale__Kirghiz QLocale__Language = QLocale__Language(65) + QLocale__Korean QLocale__Language = QLocale__Language(66) + QLocale__Kurdish QLocale__Language = QLocale__Language(67) + QLocale__Rundi QLocale__Language = QLocale__Language(68) + QLocale__Lao QLocale__Language = QLocale__Language(69) + QLocale__Latin QLocale__Language = QLocale__Language(70) + QLocale__Latvian QLocale__Language = QLocale__Language(71) + QLocale__Lingala QLocale__Language = QLocale__Language(72) + QLocale__Lithuanian QLocale__Language = QLocale__Language(73) + QLocale__Macedonian QLocale__Language = QLocale__Language(74) + QLocale__Malagasy QLocale__Language = QLocale__Language(75) + QLocale__Malay QLocale__Language = QLocale__Language(76) + QLocale__Malayalam QLocale__Language = QLocale__Language(77) + QLocale__Maltese QLocale__Language = QLocale__Language(78) + QLocale__Maori QLocale__Language = QLocale__Language(79) + QLocale__Marathi QLocale__Language = QLocale__Language(80) + QLocale__Marshallese QLocale__Language = QLocale__Language(81) + QLocale__Mongolian QLocale__Language = QLocale__Language(82) + QLocale__NauruLanguage QLocale__Language = QLocale__Language(83) + QLocale__Nepali QLocale__Language = QLocale__Language(84) + QLocale__NorwegianBokmal QLocale__Language = QLocale__Language(85) + QLocale__Occitan QLocale__Language = QLocale__Language(86) + QLocale__Oriya QLocale__Language = QLocale__Language(87) + QLocale__Pashto QLocale__Language = QLocale__Language(88) + QLocale__Persian QLocale__Language = QLocale__Language(89) + QLocale__Polish QLocale__Language = QLocale__Language(90) + QLocale__Portuguese QLocale__Language = QLocale__Language(91) + QLocale__Punjabi QLocale__Language = QLocale__Language(92) + QLocale__Quechua QLocale__Language = QLocale__Language(93) + QLocale__Romansh QLocale__Language = QLocale__Language(94) + QLocale__Romanian QLocale__Language = QLocale__Language(95) + QLocale__Russian QLocale__Language = QLocale__Language(96) + QLocale__Samoan QLocale__Language = QLocale__Language(97) + QLocale__Sango QLocale__Language = QLocale__Language(98) + QLocale__Sanskrit QLocale__Language = QLocale__Language(99) + QLocale__Serbian QLocale__Language = QLocale__Language(100) + QLocale__Ossetic QLocale__Language = QLocale__Language(101) + QLocale__SouthernSotho QLocale__Language = QLocale__Language(102) + QLocale__Tswana QLocale__Language = QLocale__Language(103) + QLocale__Shona QLocale__Language = QLocale__Language(104) + QLocale__Sindhi QLocale__Language = QLocale__Language(105) + QLocale__Sinhala QLocale__Language = QLocale__Language(106) + QLocale__Swati QLocale__Language = QLocale__Language(107) + QLocale__Slovak QLocale__Language = QLocale__Language(108) + QLocale__Slovenian QLocale__Language = QLocale__Language(109) + QLocale__Somali QLocale__Language = QLocale__Language(110) + QLocale__Spanish QLocale__Language = QLocale__Language(111) + QLocale__Sundanese QLocale__Language = QLocale__Language(112) + QLocale__Swahili QLocale__Language = QLocale__Language(113) + QLocale__Swedish QLocale__Language = QLocale__Language(114) + QLocale__Sardinian QLocale__Language = QLocale__Language(115) + QLocale__Tajik QLocale__Language = QLocale__Language(116) + QLocale__Tamil QLocale__Language = QLocale__Language(117) + QLocale__Tatar QLocale__Language = QLocale__Language(118) + QLocale__Telugu QLocale__Language = QLocale__Language(119) + QLocale__Thai QLocale__Language = QLocale__Language(120) + QLocale__Tibetan QLocale__Language = QLocale__Language(121) + QLocale__Tigrinya QLocale__Language = QLocale__Language(122) + QLocale__Tongan QLocale__Language = QLocale__Language(123) + QLocale__Tsonga QLocale__Language = QLocale__Language(124) + QLocale__Turkish QLocale__Language = QLocale__Language(125) + QLocale__Turkmen QLocale__Language = QLocale__Language(126) + QLocale__Tahitian QLocale__Language = QLocale__Language(127) + QLocale__Uighur QLocale__Language = QLocale__Language(128) + QLocale__Ukrainian QLocale__Language = QLocale__Language(129) + QLocale__Urdu QLocale__Language = QLocale__Language(130) + QLocale__Uzbek QLocale__Language = QLocale__Language(131) + QLocale__Vietnamese QLocale__Language = QLocale__Language(132) + QLocale__Volapuk QLocale__Language = QLocale__Language(133) + QLocale__Welsh QLocale__Language = QLocale__Language(134) + QLocale__Wolof QLocale__Language = QLocale__Language(135) + QLocale__Xhosa QLocale__Language = QLocale__Language(136) + QLocale__Yiddish QLocale__Language = QLocale__Language(137) + QLocale__Yoruba QLocale__Language = QLocale__Language(138) + QLocale__Zhuang QLocale__Language = QLocale__Language(139) + QLocale__Zulu QLocale__Language = QLocale__Language(140) + QLocale__NorwegianNynorsk QLocale__Language = QLocale__Language(141) + QLocale__Bosnian QLocale__Language = QLocale__Language(142) + QLocale__Divehi QLocale__Language = QLocale__Language(143) + QLocale__Manx QLocale__Language = QLocale__Language(144) + QLocale__Cornish QLocale__Language = QLocale__Language(145) + QLocale__Akan QLocale__Language = QLocale__Language(146) + QLocale__Konkani QLocale__Language = QLocale__Language(147) + QLocale__Ga QLocale__Language = QLocale__Language(148) + QLocale__Igbo QLocale__Language = QLocale__Language(149) + QLocale__Kamba QLocale__Language = QLocale__Language(150) + QLocale__Syriac QLocale__Language = QLocale__Language(151) + QLocale__Blin QLocale__Language = QLocale__Language(152) + QLocale__Geez QLocale__Language = QLocale__Language(153) + QLocale__Koro QLocale__Language = QLocale__Language(154) + QLocale__Sidamo QLocale__Language = QLocale__Language(155) + QLocale__Atsam QLocale__Language = QLocale__Language(156) + QLocale__Tigre QLocale__Language = QLocale__Language(157) + QLocale__Jju QLocale__Language = QLocale__Language(158) + QLocale__Friulian QLocale__Language = QLocale__Language(159) + QLocale__Venda QLocale__Language = QLocale__Language(160) + QLocale__Ewe QLocale__Language = QLocale__Language(161) + QLocale__Walamo QLocale__Language = QLocale__Language(162) + QLocale__Hawaiian QLocale__Language = QLocale__Language(163) + QLocale__Tyap QLocale__Language = QLocale__Language(164) + QLocale__Nyanja QLocale__Language = QLocale__Language(165) + QLocale__Filipino QLocale__Language = QLocale__Language(166) + QLocale__SwissGerman QLocale__Language = QLocale__Language(167) + QLocale__SichuanYi QLocale__Language = QLocale__Language(168) + QLocale__Kpelle QLocale__Language = QLocale__Language(169) + QLocale__LowGerman QLocale__Language = QLocale__Language(170) + QLocale__SouthNdebele QLocale__Language = QLocale__Language(171) + QLocale__NorthernSotho QLocale__Language = QLocale__Language(172) + QLocale__NorthernSami QLocale__Language = QLocale__Language(173) + QLocale__Taroko QLocale__Language = QLocale__Language(174) + QLocale__Gusii QLocale__Language = QLocale__Language(175) + QLocale__Taita QLocale__Language = QLocale__Language(176) + QLocale__Fulah QLocale__Language = QLocale__Language(177) + QLocale__Kikuyu QLocale__Language = QLocale__Language(178) + QLocale__Samburu QLocale__Language = QLocale__Language(179) + QLocale__Sena QLocale__Language = QLocale__Language(180) + QLocale__NorthNdebele QLocale__Language = QLocale__Language(181) + QLocale__Rombo QLocale__Language = QLocale__Language(182) + QLocale__Tachelhit QLocale__Language = QLocale__Language(183) + QLocale__Kabyle QLocale__Language = QLocale__Language(184) + QLocale__Nyankole QLocale__Language = QLocale__Language(185) + QLocale__Bena QLocale__Language = QLocale__Language(186) + QLocale__Vunjo QLocale__Language = QLocale__Language(187) + QLocale__Bambara QLocale__Language = QLocale__Language(188) + QLocale__Embu QLocale__Language = QLocale__Language(189) + QLocale__Cherokee QLocale__Language = QLocale__Language(190) + QLocale__Morisyen QLocale__Language = QLocale__Language(191) + QLocale__Makonde QLocale__Language = QLocale__Language(192) + QLocale__Langi QLocale__Language = QLocale__Language(193) + QLocale__Ganda QLocale__Language = QLocale__Language(194) + QLocale__Bemba QLocale__Language = QLocale__Language(195) + QLocale__Kabuverdianu QLocale__Language = QLocale__Language(196) + QLocale__Meru QLocale__Language = QLocale__Language(197) + QLocale__Kalenjin QLocale__Language = QLocale__Language(198) + QLocale__Nama QLocale__Language = QLocale__Language(199) + QLocale__Machame QLocale__Language = QLocale__Language(200) + QLocale__Colognian QLocale__Language = QLocale__Language(201) + QLocale__Masai QLocale__Language = QLocale__Language(202) + QLocale__Soga QLocale__Language = QLocale__Language(203) + QLocale__Luyia QLocale__Language = QLocale__Language(204) + QLocale__Asu QLocale__Language = QLocale__Language(205) + QLocale__Teso QLocale__Language = QLocale__Language(206) + QLocale__Saho QLocale__Language = QLocale__Language(207) + QLocale__KoyraChiini QLocale__Language = QLocale__Language(208) + QLocale__Rwa QLocale__Language = QLocale__Language(209) + QLocale__Luo QLocale__Language = QLocale__Language(210) + QLocale__Chiga QLocale__Language = QLocale__Language(211) + QLocale__CentralMoroccoTamazight QLocale__Language = QLocale__Language(212) + QLocale__KoyraboroSenni QLocale__Language = QLocale__Language(213) + QLocale__Shambala QLocale__Language = QLocale__Language(214) + QLocale__Bodo QLocale__Language = QLocale__Language(215) + QLocale__Avaric QLocale__Language = QLocale__Language(216) + QLocale__Chamorro QLocale__Language = QLocale__Language(217) + QLocale__Chechen QLocale__Language = QLocale__Language(218) + QLocale__Church QLocale__Language = QLocale__Language(219) + QLocale__Chuvash QLocale__Language = QLocale__Language(220) + QLocale__Cree QLocale__Language = QLocale__Language(221) + QLocale__Haitian QLocale__Language = QLocale__Language(222) + QLocale__Herero QLocale__Language = QLocale__Language(223) + QLocale__HiriMotu QLocale__Language = QLocale__Language(224) + QLocale__Kanuri QLocale__Language = QLocale__Language(225) + QLocale__Komi QLocale__Language = QLocale__Language(226) + QLocale__Kongo QLocale__Language = QLocale__Language(227) + QLocale__Kwanyama QLocale__Language = QLocale__Language(228) + QLocale__Limburgish QLocale__Language = QLocale__Language(229) + QLocale__LubaKatanga QLocale__Language = QLocale__Language(230) + QLocale__Luxembourgish QLocale__Language = QLocale__Language(231) + QLocale__Navaho QLocale__Language = QLocale__Language(232) + QLocale__Ndonga QLocale__Language = QLocale__Language(233) + QLocale__Ojibwa QLocale__Language = QLocale__Language(234) + QLocale__Pali QLocale__Language = QLocale__Language(235) + QLocale__Walloon QLocale__Language = QLocale__Language(236) + QLocale__Aghem QLocale__Language = QLocale__Language(237) + QLocale__Basaa QLocale__Language = QLocale__Language(238) + QLocale__Zarma QLocale__Language = QLocale__Language(239) + QLocale__Duala QLocale__Language = QLocale__Language(240) + QLocale__JolaFonyi QLocale__Language = QLocale__Language(241) + QLocale__Ewondo QLocale__Language = QLocale__Language(242) + QLocale__Bafia QLocale__Language = QLocale__Language(243) + QLocale__MakhuwaMeetto QLocale__Language = QLocale__Language(244) + QLocale__Mundang QLocale__Language = QLocale__Language(245) + QLocale__Kwasio QLocale__Language = QLocale__Language(246) + QLocale__Nuer QLocale__Language = QLocale__Language(247) + QLocale__Sakha QLocale__Language = QLocale__Language(248) + QLocale__Sangu QLocale__Language = QLocale__Language(249) + QLocale__CongoSwahili QLocale__Language = QLocale__Language(250) + QLocale__Tasawaq QLocale__Language = QLocale__Language(251) + QLocale__Vai QLocale__Language = QLocale__Language(252) + QLocale__Walser QLocale__Language = QLocale__Language(253) + QLocale__Yangben QLocale__Language = QLocale__Language(254) + QLocale__Avestan QLocale__Language = QLocale__Language(255) + QLocale__Asturian QLocale__Language = QLocale__Language(256) + QLocale__Ngomba QLocale__Language = QLocale__Language(257) + QLocale__Kako QLocale__Language = QLocale__Language(258) + QLocale__Meta QLocale__Language = QLocale__Language(259) + QLocale__Ngiemboon QLocale__Language = QLocale__Language(260) + QLocale__Aragonese QLocale__Language = QLocale__Language(261) + QLocale__Akkadian QLocale__Language = QLocale__Language(262) + QLocale__AncientEgyptian QLocale__Language = QLocale__Language(263) + QLocale__AncientGreek QLocale__Language = QLocale__Language(264) + QLocale__Aramaic QLocale__Language = QLocale__Language(265) + QLocale__Balinese QLocale__Language = QLocale__Language(266) + QLocale__Bamun QLocale__Language = QLocale__Language(267) + QLocale__BatakToba QLocale__Language = QLocale__Language(268) + QLocale__Buginese QLocale__Language = QLocale__Language(269) + QLocale__Buhid QLocale__Language = QLocale__Language(270) + QLocale__Carian QLocale__Language = QLocale__Language(271) + QLocale__Chakma QLocale__Language = QLocale__Language(272) + QLocale__ClassicalMandaic QLocale__Language = QLocale__Language(273) + QLocale__Coptic QLocale__Language = QLocale__Language(274) + QLocale__Dogri QLocale__Language = QLocale__Language(275) + QLocale__EasternCham QLocale__Language = QLocale__Language(276) + QLocale__EasternKayah QLocale__Language = QLocale__Language(277) + QLocale__Etruscan QLocale__Language = QLocale__Language(278) + QLocale__Gothic QLocale__Language = QLocale__Language(279) + QLocale__Hanunoo QLocale__Language = QLocale__Language(280) + QLocale__Ingush QLocale__Language = QLocale__Language(281) + QLocale__LargeFloweryMiao QLocale__Language = QLocale__Language(282) + QLocale__Lepcha QLocale__Language = QLocale__Language(283) + QLocale__Limbu QLocale__Language = QLocale__Language(284) + QLocale__Lisu QLocale__Language = QLocale__Language(285) + QLocale__Lu QLocale__Language = QLocale__Language(286) + QLocale__Lycian QLocale__Language = QLocale__Language(287) + QLocale__Lydian QLocale__Language = QLocale__Language(288) + QLocale__Mandingo QLocale__Language = QLocale__Language(289) + QLocale__Manipuri QLocale__Language = QLocale__Language(290) + QLocale__Meroitic QLocale__Language = QLocale__Language(291) + QLocale__NorthernThai QLocale__Language = QLocale__Language(292) + QLocale__OldIrish QLocale__Language = QLocale__Language(293) + QLocale__OldNorse QLocale__Language = QLocale__Language(294) + QLocale__OldPersian QLocale__Language = QLocale__Language(295) + QLocale__OldTurkish QLocale__Language = QLocale__Language(296) + QLocale__Pahlavi QLocale__Language = QLocale__Language(297) + QLocale__Parthian QLocale__Language = QLocale__Language(298) + QLocale__Phoenician QLocale__Language = QLocale__Language(299) + QLocale__PrakritLanguage QLocale__Language = QLocale__Language(300) + QLocale__Rejang QLocale__Language = QLocale__Language(301) + QLocale__Sabaean QLocale__Language = QLocale__Language(302) + QLocale__Samaritan QLocale__Language = QLocale__Language(303) + QLocale__Santali QLocale__Language = QLocale__Language(304) + QLocale__Saurashtra QLocale__Language = QLocale__Language(305) + QLocale__Sora QLocale__Language = QLocale__Language(306) + QLocale__Sylheti QLocale__Language = QLocale__Language(307) + QLocale__Tagbanwa QLocale__Language = QLocale__Language(308) + QLocale__TaiDam QLocale__Language = QLocale__Language(309) + QLocale__TaiNua QLocale__Language = QLocale__Language(310) + QLocale__Ugaritic QLocale__Language = QLocale__Language(311) + QLocale__Akoose QLocale__Language = QLocale__Language(312) + QLocale__Lakota QLocale__Language = QLocale__Language(313) + QLocale__StandardMoroccanTamazight QLocale__Language = QLocale__Language(314) + QLocale__Mapuche QLocale__Language = QLocale__Language(315) + QLocale__CentralKurdish QLocale__Language = QLocale__Language(316) + QLocale__LowerSorbian QLocale__Language = QLocale__Language(317) + QLocale__UpperSorbian QLocale__Language = QLocale__Language(318) + QLocale__Kenyang QLocale__Language = QLocale__Language(319) + QLocale__Mohawk QLocale__Language = QLocale__Language(320) + QLocale__Nko QLocale__Language = QLocale__Language(321) + QLocale__Prussian QLocale__Language = QLocale__Language(322) + QLocale__Kiche QLocale__Language = QLocale__Language(323) + QLocale__SouthernSami QLocale__Language = QLocale__Language(324) + QLocale__LuleSami QLocale__Language = QLocale__Language(325) + QLocale__InariSami QLocale__Language = QLocale__Language(326) + QLocale__SkoltSami QLocale__Language = QLocale__Language(327) + QLocale__Warlpiri QLocale__Language = QLocale__Language(328) + QLocale__ManichaeanMiddlePersian QLocale__Language = QLocale__Language(329) + QLocale__Mende QLocale__Language = QLocale__Language(330) + QLocale__AncientNorthArabian QLocale__Language = QLocale__Language(331) + QLocale__LinearA QLocale__Language = QLocale__Language(332) + QLocale__HmongNjua QLocale__Language = QLocale__Language(333) + QLocale__Ho QLocale__Language = QLocale__Language(334) + QLocale__Lezghian QLocale__Language = QLocale__Language(335) + QLocale__Bassa QLocale__Language = QLocale__Language(336) + QLocale__Mono QLocale__Language = QLocale__Language(337) + QLocale__TedimChin QLocale__Language = QLocale__Language(338) + QLocale__Maithili QLocale__Language = QLocale__Language(339) + QLocale__Ahom QLocale__Language = QLocale__Language(340) + QLocale__AmericanSignLanguage QLocale__Language = QLocale__Language(341) + QLocale__ArdhamagadhiPrakrit QLocale__Language = QLocale__Language(342) + QLocale__Bhojpuri QLocale__Language = QLocale__Language(343) + QLocale__HieroglyphicLuwian QLocale__Language = QLocale__Language(344) + QLocale__LiteraryChinese QLocale__Language = QLocale__Language(345) + QLocale__Mazanderani QLocale__Language = QLocale__Language(346) + QLocale__Mru QLocale__Language = QLocale__Language(347) + QLocale__Newari QLocale__Language = QLocale__Language(348) + QLocale__NorthernLuri QLocale__Language = QLocale__Language(349) + QLocale__Palauan QLocale__Language = QLocale__Language(350) + QLocale__Papiamento QLocale__Language = QLocale__Language(351) + QLocale__Saraiki QLocale__Language = QLocale__Language(352) + QLocale__TokelauLanguage QLocale__Language = QLocale__Language(353) + QLocale__TokPisin QLocale__Language = QLocale__Language(354) + QLocale__TuvaluLanguage QLocale__Language = QLocale__Language(355) + QLocale__UncodedLanguages QLocale__Language = QLocale__Language(356) + QLocale__Cantonese QLocale__Language = QLocale__Language(357) + QLocale__Osage QLocale__Language = QLocale__Language(358) + QLocale__Tangut QLocale__Language = QLocale__Language(359) + QLocale__Ido QLocale__Language = QLocale__Language(360) + QLocale__Lojban QLocale__Language = QLocale__Language(361) + QLocale__Sicilian QLocale__Language = QLocale__Language(362) + QLocale__SouthernKurdish QLocale__Language = QLocale__Language(363) + QLocale__WesternBalochi QLocale__Language = QLocale__Language(364) + QLocale__Afan QLocale__Language = QLocale__Language(QLocale__Oromo) + QLocale__Bhutani QLocale__Language = QLocale__Language(QLocale__Dzongkha) + QLocale__Byelorussian QLocale__Language = QLocale__Language(QLocale__Belarusian) + QLocale__Cambodian QLocale__Language = QLocale__Language(QLocale__Khmer) + QLocale__Chewa QLocale__Language = QLocale__Language(QLocale__Nyanja) + QLocale__Frisian QLocale__Language = QLocale__Language(QLocale__WesternFrisian) + QLocale__Kurundi QLocale__Language = QLocale__Language(QLocale__Rundi) + QLocale__Moldavian QLocale__Language = QLocale__Language(QLocale__Romanian) + QLocale__Norwegian QLocale__Language = QLocale__Language(QLocale__NorwegianBokmal) + QLocale__RhaetoRomance QLocale__Language = QLocale__Language(QLocale__Romansh) + QLocale__SerboCroatian QLocale__Language = QLocale__Language(QLocale__Serbian) + QLocale__Tagalog QLocale__Language = QLocale__Language(QLocale__Filipino) + QLocale__Twi QLocale__Language = QLocale__Language(QLocale__Akan) + QLocale__Uigur QLocale__Language = QLocale__Language(QLocale__Uighur) + QLocale__LastLanguage QLocale__Language = QLocale__Language(QLocale__WesternBalochi) +) + +//go:generate stringer -type=QLocale__Script +//QLocale::Script +type QLocale__Script int64 + +const ( + QLocale__AnyScript QLocale__Script = QLocale__Script(0) + QLocale__ArabicScript QLocale__Script = QLocale__Script(1) + QLocale__CyrillicScript QLocale__Script = QLocale__Script(2) + QLocale__DeseretScript QLocale__Script = QLocale__Script(3) + QLocale__GurmukhiScript QLocale__Script = QLocale__Script(4) + QLocale__SimplifiedHanScript QLocale__Script = QLocale__Script(5) + QLocale__TraditionalHanScript QLocale__Script = QLocale__Script(6) + QLocale__LatinScript QLocale__Script = QLocale__Script(7) + QLocale__MongolianScript QLocale__Script = QLocale__Script(8) + QLocale__TifinaghScript QLocale__Script = QLocale__Script(9) + QLocale__ArmenianScript QLocale__Script = QLocale__Script(10) + QLocale__BengaliScript QLocale__Script = QLocale__Script(11) + QLocale__CherokeeScript QLocale__Script = QLocale__Script(12) + QLocale__DevanagariScript QLocale__Script = QLocale__Script(13) + QLocale__EthiopicScript QLocale__Script = QLocale__Script(14) + QLocale__GeorgianScript QLocale__Script = QLocale__Script(15) + QLocale__GreekScript QLocale__Script = QLocale__Script(16) + QLocale__GujaratiScript QLocale__Script = QLocale__Script(17) + QLocale__HebrewScript QLocale__Script = QLocale__Script(18) + QLocale__JapaneseScript QLocale__Script = QLocale__Script(19) + QLocale__KhmerScript QLocale__Script = QLocale__Script(20) + QLocale__KannadaScript QLocale__Script = QLocale__Script(21) + QLocale__KoreanScript QLocale__Script = QLocale__Script(22) + QLocale__LaoScript QLocale__Script = QLocale__Script(23) + QLocale__MalayalamScript QLocale__Script = QLocale__Script(24) + QLocale__MyanmarScript QLocale__Script = QLocale__Script(25) + QLocale__OriyaScript QLocale__Script = QLocale__Script(26) + QLocale__TamilScript QLocale__Script = QLocale__Script(27) + QLocale__TeluguScript QLocale__Script = QLocale__Script(28) + QLocale__ThaanaScript QLocale__Script = QLocale__Script(29) + QLocale__ThaiScript QLocale__Script = QLocale__Script(30) + QLocale__TibetanScript QLocale__Script = QLocale__Script(31) + QLocale__SinhalaScript QLocale__Script = QLocale__Script(32) + QLocale__SyriacScript QLocale__Script = QLocale__Script(33) + QLocale__YiScript QLocale__Script = QLocale__Script(34) + QLocale__VaiScript QLocale__Script = QLocale__Script(35) + QLocale__AvestanScript QLocale__Script = QLocale__Script(36) + QLocale__BalineseScript QLocale__Script = QLocale__Script(37) + QLocale__BamumScript QLocale__Script = QLocale__Script(38) + QLocale__BatakScript QLocale__Script = QLocale__Script(39) + QLocale__BopomofoScript QLocale__Script = QLocale__Script(40) + QLocale__BrahmiScript QLocale__Script = QLocale__Script(41) + QLocale__BugineseScript QLocale__Script = QLocale__Script(42) + QLocale__BuhidScript QLocale__Script = QLocale__Script(43) + QLocale__CanadianAboriginalScript QLocale__Script = QLocale__Script(44) + QLocale__CarianScript QLocale__Script = QLocale__Script(45) + QLocale__ChakmaScript QLocale__Script = QLocale__Script(46) + QLocale__ChamScript QLocale__Script = QLocale__Script(47) + QLocale__CopticScript QLocale__Script = QLocale__Script(48) + QLocale__CypriotScript QLocale__Script = QLocale__Script(49) + QLocale__EgyptianHieroglyphsScript QLocale__Script = QLocale__Script(50) + QLocale__FraserScript QLocale__Script = QLocale__Script(51) + QLocale__GlagoliticScript QLocale__Script = QLocale__Script(52) + QLocale__GothicScript QLocale__Script = QLocale__Script(53) + QLocale__HanScript QLocale__Script = QLocale__Script(54) + QLocale__HangulScript QLocale__Script = QLocale__Script(55) + QLocale__HanunooScript QLocale__Script = QLocale__Script(56) + QLocale__ImperialAramaicScript QLocale__Script = QLocale__Script(57) + QLocale__InscriptionalPahlaviScript QLocale__Script = QLocale__Script(58) + QLocale__InscriptionalParthianScript QLocale__Script = QLocale__Script(59) + QLocale__JavaneseScript QLocale__Script = QLocale__Script(60) + QLocale__KaithiScript QLocale__Script = QLocale__Script(61) + QLocale__KatakanaScript QLocale__Script = QLocale__Script(62) + QLocale__KayahLiScript QLocale__Script = QLocale__Script(63) + QLocale__KharoshthiScript QLocale__Script = QLocale__Script(64) + QLocale__LannaScript QLocale__Script = QLocale__Script(65) + QLocale__LepchaScript QLocale__Script = QLocale__Script(66) + QLocale__LimbuScript QLocale__Script = QLocale__Script(67) + QLocale__LinearBScript QLocale__Script = QLocale__Script(68) + QLocale__LycianScript QLocale__Script = QLocale__Script(69) + QLocale__LydianScript QLocale__Script = QLocale__Script(70) + QLocale__MandaeanScript QLocale__Script = QLocale__Script(71) + QLocale__MeiteiMayekScript QLocale__Script = QLocale__Script(72) + QLocale__MeroiticScript QLocale__Script = QLocale__Script(73) + QLocale__MeroiticCursiveScript QLocale__Script = QLocale__Script(74) + QLocale__NkoScript QLocale__Script = QLocale__Script(75) + QLocale__NewTaiLueScript QLocale__Script = QLocale__Script(76) + QLocale__OghamScript QLocale__Script = QLocale__Script(77) + QLocale__OlChikiScript QLocale__Script = QLocale__Script(78) + QLocale__OldItalicScript QLocale__Script = QLocale__Script(79) + QLocale__OldPersianScript QLocale__Script = QLocale__Script(80) + QLocale__OldSouthArabianScript QLocale__Script = QLocale__Script(81) + QLocale__OrkhonScript QLocale__Script = QLocale__Script(82) + QLocale__OsmanyaScript QLocale__Script = QLocale__Script(83) + QLocale__PhagsPaScript QLocale__Script = QLocale__Script(84) + QLocale__PhoenicianScript QLocale__Script = QLocale__Script(85) + QLocale__PollardPhoneticScript QLocale__Script = QLocale__Script(86) + QLocale__RejangScript QLocale__Script = QLocale__Script(87) + QLocale__RunicScript QLocale__Script = QLocale__Script(88) + QLocale__SamaritanScript QLocale__Script = QLocale__Script(89) + QLocale__SaurashtraScript QLocale__Script = QLocale__Script(90) + QLocale__SharadaScript QLocale__Script = QLocale__Script(91) + QLocale__ShavianScript QLocale__Script = QLocale__Script(92) + QLocale__SoraSompengScript QLocale__Script = QLocale__Script(93) + QLocale__CuneiformScript QLocale__Script = QLocale__Script(94) + QLocale__SundaneseScript QLocale__Script = QLocale__Script(95) + QLocale__SylotiNagriScript QLocale__Script = QLocale__Script(96) + QLocale__TagalogScript QLocale__Script = QLocale__Script(97) + QLocale__TagbanwaScript QLocale__Script = QLocale__Script(98) + QLocale__TaiLeScript QLocale__Script = QLocale__Script(99) + QLocale__TaiVietScript QLocale__Script = QLocale__Script(100) + QLocale__TakriScript QLocale__Script = QLocale__Script(101) + QLocale__UgariticScript QLocale__Script = QLocale__Script(102) + QLocale__BrailleScript QLocale__Script = QLocale__Script(103) + QLocale__HiraganaScript QLocale__Script = QLocale__Script(104) + QLocale__CaucasianAlbanianScript QLocale__Script = QLocale__Script(105) + QLocale__BassaVahScript QLocale__Script = QLocale__Script(106) + QLocale__DuployanScript QLocale__Script = QLocale__Script(107) + QLocale__ElbasanScript QLocale__Script = QLocale__Script(108) + QLocale__GranthaScript QLocale__Script = QLocale__Script(109) + QLocale__PahawhHmongScript QLocale__Script = QLocale__Script(110) + QLocale__KhojkiScript QLocale__Script = QLocale__Script(111) + QLocale__LinearAScript QLocale__Script = QLocale__Script(112) + QLocale__MahajaniScript QLocale__Script = QLocale__Script(113) + QLocale__ManichaeanScript QLocale__Script = QLocale__Script(114) + QLocale__MendeKikakuiScript QLocale__Script = QLocale__Script(115) + QLocale__ModiScript QLocale__Script = QLocale__Script(116) + QLocale__MroScript QLocale__Script = QLocale__Script(117) + QLocale__OldNorthArabianScript QLocale__Script = QLocale__Script(118) + QLocale__NabataeanScript QLocale__Script = QLocale__Script(119) + QLocale__PalmyreneScript QLocale__Script = QLocale__Script(120) + QLocale__PauCinHauScript QLocale__Script = QLocale__Script(121) + QLocale__OldPermicScript QLocale__Script = QLocale__Script(122) + QLocale__PsalterPahlaviScript QLocale__Script = QLocale__Script(123) + QLocale__SiddhamScript QLocale__Script = QLocale__Script(124) + QLocale__KhudawadiScript QLocale__Script = QLocale__Script(125) + QLocale__TirhutaScript QLocale__Script = QLocale__Script(126) + QLocale__VarangKshitiScript QLocale__Script = QLocale__Script(127) + QLocale__AhomScript QLocale__Script = QLocale__Script(128) + QLocale__AnatolianHieroglyphsScript QLocale__Script = QLocale__Script(129) + QLocale__HatranScript QLocale__Script = QLocale__Script(130) + QLocale__MultaniScript QLocale__Script = QLocale__Script(131) + QLocale__OldHungarianScript QLocale__Script = QLocale__Script(132) + QLocale__SignWritingScript QLocale__Script = QLocale__Script(133) + QLocale__AdlamScript QLocale__Script = QLocale__Script(134) + QLocale__BhaiksukiScript QLocale__Script = QLocale__Script(135) + QLocale__MarchenScript QLocale__Script = QLocale__Script(136) + QLocale__NewaScript QLocale__Script = QLocale__Script(137) + QLocale__OsageScript QLocale__Script = QLocale__Script(138) + QLocale__TangutScript QLocale__Script = QLocale__Script(139) + QLocale__HanWithBopomofoScript QLocale__Script = QLocale__Script(140) + QLocale__JamoScript QLocale__Script = QLocale__Script(141) + QLocale__SimplifiedChineseScript QLocale__Script = QLocale__Script(QLocale__SimplifiedHanScript) + QLocale__TraditionalChineseScript QLocale__Script = QLocale__Script(QLocale__TraditionalHanScript) + QLocale__LastScript QLocale__Script = QLocale__Script(QLocale__JamoScript) +) + +//go:generate stringer -type=QLocale__Country +//QLocale::Country +type QLocale__Country int64 + +const ( + QLocale__AnyCountry QLocale__Country = QLocale__Country(0) + QLocale__Afghanistan QLocale__Country = QLocale__Country(1) + QLocale__Albania QLocale__Country = QLocale__Country(2) + QLocale__Algeria QLocale__Country = QLocale__Country(3) + QLocale__AmericanSamoa QLocale__Country = QLocale__Country(4) + QLocale__Andorra QLocale__Country = QLocale__Country(5) + QLocale__Angola QLocale__Country = QLocale__Country(6) + QLocale__Anguilla QLocale__Country = QLocale__Country(7) + QLocale__Antarctica QLocale__Country = QLocale__Country(8) + QLocale__AntiguaAndBarbuda QLocale__Country = QLocale__Country(9) + QLocale__Argentina QLocale__Country = QLocale__Country(10) + QLocale__Armenia QLocale__Country = QLocale__Country(11) + QLocale__Aruba QLocale__Country = QLocale__Country(12) + QLocale__Australia QLocale__Country = QLocale__Country(13) + QLocale__Austria QLocale__Country = QLocale__Country(14) + QLocale__Azerbaijan QLocale__Country = QLocale__Country(15) + QLocale__Bahamas QLocale__Country = QLocale__Country(16) + QLocale__Bahrain QLocale__Country = QLocale__Country(17) + QLocale__Bangladesh QLocale__Country = QLocale__Country(18) + QLocale__Barbados QLocale__Country = QLocale__Country(19) + QLocale__Belarus QLocale__Country = QLocale__Country(20) + QLocale__Belgium QLocale__Country = QLocale__Country(21) + QLocale__Belize QLocale__Country = QLocale__Country(22) + QLocale__Benin QLocale__Country = QLocale__Country(23) + QLocale__Bermuda QLocale__Country = QLocale__Country(24) + QLocale__Bhutan QLocale__Country = QLocale__Country(25) + QLocale__Bolivia QLocale__Country = QLocale__Country(26) + QLocale__BosniaAndHerzegowina QLocale__Country = QLocale__Country(27) + QLocale__Botswana QLocale__Country = QLocale__Country(28) + QLocale__BouvetIsland QLocale__Country = QLocale__Country(29) + QLocale__Brazil QLocale__Country = QLocale__Country(30) + QLocale__BritishIndianOceanTerritory QLocale__Country = QLocale__Country(31) + QLocale__Brunei QLocale__Country = QLocale__Country(32) + QLocale__Bulgaria QLocale__Country = QLocale__Country(33) + QLocale__BurkinaFaso QLocale__Country = QLocale__Country(34) + QLocale__Burundi QLocale__Country = QLocale__Country(35) + QLocale__Cambodia QLocale__Country = QLocale__Country(36) + QLocale__Cameroon QLocale__Country = QLocale__Country(37) + QLocale__Canada QLocale__Country = QLocale__Country(38) + QLocale__CapeVerde QLocale__Country = QLocale__Country(39) + QLocale__CaymanIslands QLocale__Country = QLocale__Country(40) + QLocale__CentralAfricanRepublic QLocale__Country = QLocale__Country(41) + QLocale__Chad QLocale__Country = QLocale__Country(42) + QLocale__Chile QLocale__Country = QLocale__Country(43) + QLocale__China QLocale__Country = QLocale__Country(44) + QLocale__ChristmasIsland QLocale__Country = QLocale__Country(45) + QLocale__CocosIslands QLocale__Country = QLocale__Country(46) + QLocale__Colombia QLocale__Country = QLocale__Country(47) + QLocale__Comoros QLocale__Country = QLocale__Country(48) + QLocale__CongoKinshasa QLocale__Country = QLocale__Country(49) + QLocale__CongoBrazzaville QLocale__Country = QLocale__Country(50) + QLocale__CookIslands QLocale__Country = QLocale__Country(51) + QLocale__CostaRica QLocale__Country = QLocale__Country(52) + QLocale__IvoryCoast QLocale__Country = QLocale__Country(53) + QLocale__Croatia QLocale__Country = QLocale__Country(54) + QLocale__Cuba QLocale__Country = QLocale__Country(55) + QLocale__Cyprus QLocale__Country = QLocale__Country(56) + QLocale__CzechRepublic QLocale__Country = QLocale__Country(57) + QLocale__Denmark QLocale__Country = QLocale__Country(58) + QLocale__Djibouti QLocale__Country = QLocale__Country(59) + QLocale__Dominica QLocale__Country = QLocale__Country(60) + QLocale__DominicanRepublic QLocale__Country = QLocale__Country(61) + QLocale__EastTimor QLocale__Country = QLocale__Country(62) + QLocale__Ecuador QLocale__Country = QLocale__Country(63) + QLocale__Egypt QLocale__Country = QLocale__Country(64) + QLocale__ElSalvador QLocale__Country = QLocale__Country(65) + QLocale__EquatorialGuinea QLocale__Country = QLocale__Country(66) + QLocale__Eritrea QLocale__Country = QLocale__Country(67) + QLocale__Estonia QLocale__Country = QLocale__Country(68) + QLocale__Ethiopia QLocale__Country = QLocale__Country(69) + QLocale__FalklandIslands QLocale__Country = QLocale__Country(70) + QLocale__FaroeIslands QLocale__Country = QLocale__Country(71) + QLocale__Fiji QLocale__Country = QLocale__Country(72) + QLocale__Finland QLocale__Country = QLocale__Country(73) + QLocale__France QLocale__Country = QLocale__Country(74) + QLocale__Guernsey QLocale__Country = QLocale__Country(75) + QLocale__FrenchGuiana QLocale__Country = QLocale__Country(76) + QLocale__FrenchPolynesia QLocale__Country = QLocale__Country(77) + QLocale__FrenchSouthernTerritories QLocale__Country = QLocale__Country(78) + QLocale__Gabon QLocale__Country = QLocale__Country(79) + QLocale__Gambia QLocale__Country = QLocale__Country(80) + QLocale__Georgia QLocale__Country = QLocale__Country(81) + QLocale__Germany QLocale__Country = QLocale__Country(82) + QLocale__Ghana QLocale__Country = QLocale__Country(83) + QLocale__Gibraltar QLocale__Country = QLocale__Country(84) + QLocale__Greece QLocale__Country = QLocale__Country(85) + QLocale__Greenland QLocale__Country = QLocale__Country(86) + QLocale__Grenada QLocale__Country = QLocale__Country(87) + QLocale__Guadeloupe QLocale__Country = QLocale__Country(88) + QLocale__Guam QLocale__Country = QLocale__Country(89) + QLocale__Guatemala QLocale__Country = QLocale__Country(90) + QLocale__Guinea QLocale__Country = QLocale__Country(91) + QLocale__GuineaBissau QLocale__Country = QLocale__Country(92) + QLocale__Guyana QLocale__Country = QLocale__Country(93) + QLocale__Haiti QLocale__Country = QLocale__Country(94) + QLocale__HeardAndMcDonaldIslands QLocale__Country = QLocale__Country(95) + QLocale__Honduras QLocale__Country = QLocale__Country(96) + QLocale__HongKong QLocale__Country = QLocale__Country(97) + QLocale__Hungary QLocale__Country = QLocale__Country(98) + QLocale__Iceland QLocale__Country = QLocale__Country(99) + QLocale__India QLocale__Country = QLocale__Country(100) + QLocale__Indonesia QLocale__Country = QLocale__Country(101) + QLocale__Iran QLocale__Country = QLocale__Country(102) + QLocale__Iraq QLocale__Country = QLocale__Country(103) + QLocale__Ireland QLocale__Country = QLocale__Country(104) + QLocale__Israel QLocale__Country = QLocale__Country(105) + QLocale__Italy QLocale__Country = QLocale__Country(106) + QLocale__Jamaica QLocale__Country = QLocale__Country(107) + QLocale__Japan QLocale__Country = QLocale__Country(108) + QLocale__Jordan QLocale__Country = QLocale__Country(109) + QLocale__Kazakhstan QLocale__Country = QLocale__Country(110) + QLocale__Kenya QLocale__Country = QLocale__Country(111) + QLocale__Kiribati QLocale__Country = QLocale__Country(112) + QLocale__NorthKorea QLocale__Country = QLocale__Country(113) + QLocale__SouthKorea QLocale__Country = QLocale__Country(114) + QLocale__Kuwait QLocale__Country = QLocale__Country(115) + QLocale__Kyrgyzstan QLocale__Country = QLocale__Country(116) + QLocale__Laos QLocale__Country = QLocale__Country(117) + QLocale__Latvia QLocale__Country = QLocale__Country(118) + QLocale__Lebanon QLocale__Country = QLocale__Country(119) + QLocale__Lesotho QLocale__Country = QLocale__Country(120) + QLocale__Liberia QLocale__Country = QLocale__Country(121) + QLocale__Libya QLocale__Country = QLocale__Country(122) + QLocale__Liechtenstein QLocale__Country = QLocale__Country(123) + QLocale__Lithuania QLocale__Country = QLocale__Country(124) + QLocale__Luxembourg QLocale__Country = QLocale__Country(125) + QLocale__Macau QLocale__Country = QLocale__Country(126) + QLocale__Macedonia QLocale__Country = QLocale__Country(127) + QLocale__Madagascar QLocale__Country = QLocale__Country(128) + QLocale__Malawi QLocale__Country = QLocale__Country(129) + QLocale__Malaysia QLocale__Country = QLocale__Country(130) + QLocale__Maldives QLocale__Country = QLocale__Country(131) + QLocale__Mali QLocale__Country = QLocale__Country(132) + QLocale__Malta QLocale__Country = QLocale__Country(133) + QLocale__MarshallIslands QLocale__Country = QLocale__Country(134) + QLocale__Martinique QLocale__Country = QLocale__Country(135) + QLocale__Mauritania QLocale__Country = QLocale__Country(136) + QLocale__Mauritius QLocale__Country = QLocale__Country(137) + QLocale__Mayotte QLocale__Country = QLocale__Country(138) + QLocale__Mexico QLocale__Country = QLocale__Country(139) + QLocale__Micronesia QLocale__Country = QLocale__Country(140) + QLocale__Moldova QLocale__Country = QLocale__Country(141) + QLocale__Monaco QLocale__Country = QLocale__Country(142) + QLocale__Mongolia QLocale__Country = QLocale__Country(143) + QLocale__Montserrat QLocale__Country = QLocale__Country(144) + QLocale__Morocco QLocale__Country = QLocale__Country(145) + QLocale__Mozambique QLocale__Country = QLocale__Country(146) + QLocale__Myanmar QLocale__Country = QLocale__Country(147) + QLocale__Namibia QLocale__Country = QLocale__Country(148) + QLocale__NauruCountry QLocale__Country = QLocale__Country(149) + QLocale__Nepal QLocale__Country = QLocale__Country(150) + QLocale__Netherlands QLocale__Country = QLocale__Country(151) + QLocale__CuraSao QLocale__Country = QLocale__Country(152) + QLocale__NewCaledonia QLocale__Country = QLocale__Country(153) + QLocale__NewZealand QLocale__Country = QLocale__Country(154) + QLocale__Nicaragua QLocale__Country = QLocale__Country(155) + QLocale__Niger QLocale__Country = QLocale__Country(156) + QLocale__Nigeria QLocale__Country = QLocale__Country(157) + QLocale__Niue QLocale__Country = QLocale__Country(158) + QLocale__NorfolkIsland QLocale__Country = QLocale__Country(159) + QLocale__NorthernMarianaIslands QLocale__Country = QLocale__Country(160) + QLocale__Norway QLocale__Country = QLocale__Country(161) + QLocale__Oman QLocale__Country = QLocale__Country(162) + QLocale__Pakistan QLocale__Country = QLocale__Country(163) + QLocale__Palau QLocale__Country = QLocale__Country(164) + QLocale__PalestinianTerritories QLocale__Country = QLocale__Country(165) + QLocale__Panama QLocale__Country = QLocale__Country(166) + QLocale__PapuaNewGuinea QLocale__Country = QLocale__Country(167) + QLocale__Paraguay QLocale__Country = QLocale__Country(168) + QLocale__Peru QLocale__Country = QLocale__Country(169) + QLocale__Philippines QLocale__Country = QLocale__Country(170) + QLocale__Pitcairn QLocale__Country = QLocale__Country(171) + QLocale__Poland QLocale__Country = QLocale__Country(172) + QLocale__Portugal QLocale__Country = QLocale__Country(173) + QLocale__PuertoRico QLocale__Country = QLocale__Country(174) + QLocale__Qatar QLocale__Country = QLocale__Country(175) + QLocale__Reunion QLocale__Country = QLocale__Country(176) + QLocale__Romania QLocale__Country = QLocale__Country(177) + QLocale__Russia QLocale__Country = QLocale__Country(178) + QLocale__Rwanda QLocale__Country = QLocale__Country(179) + QLocale__SaintKittsAndNevis QLocale__Country = QLocale__Country(180) + QLocale__SaintLucia QLocale__Country = QLocale__Country(181) + QLocale__SaintVincentAndTheGrenadines QLocale__Country = QLocale__Country(182) + QLocale__Samoa QLocale__Country = QLocale__Country(183) + QLocale__SanMarino QLocale__Country = QLocale__Country(184) + QLocale__SaoTomeAndPrincipe QLocale__Country = QLocale__Country(185) + QLocale__SaudiArabia QLocale__Country = QLocale__Country(186) + QLocale__Senegal QLocale__Country = QLocale__Country(187) + QLocale__Seychelles QLocale__Country = QLocale__Country(188) + QLocale__SierraLeone QLocale__Country = QLocale__Country(189) + QLocale__Singapore QLocale__Country = QLocale__Country(190) + QLocale__Slovakia QLocale__Country = QLocale__Country(191) + QLocale__Slovenia QLocale__Country = QLocale__Country(192) + QLocale__SolomonIslands QLocale__Country = QLocale__Country(193) + QLocale__Somalia QLocale__Country = QLocale__Country(194) + QLocale__SouthAfrica QLocale__Country = QLocale__Country(195) + QLocale__SouthGeorgiaAndTheSouthSandwichIslands QLocale__Country = QLocale__Country(196) + QLocale__Spain QLocale__Country = QLocale__Country(197) + QLocale__SriLanka QLocale__Country = QLocale__Country(198) + QLocale__SaintHelena QLocale__Country = QLocale__Country(199) + QLocale__SaintPierreAndMiquelon QLocale__Country = QLocale__Country(200) + QLocale__Sudan QLocale__Country = QLocale__Country(201) + QLocale__Suriname QLocale__Country = QLocale__Country(202) + QLocale__SvalbardAndJanMayenIslands QLocale__Country = QLocale__Country(203) + QLocale__Swaziland QLocale__Country = QLocale__Country(204) + QLocale__Sweden QLocale__Country = QLocale__Country(205) + QLocale__Switzerland QLocale__Country = QLocale__Country(206) + QLocale__Syria QLocale__Country = QLocale__Country(207) + QLocale__Taiwan QLocale__Country = QLocale__Country(208) + QLocale__Tajikistan QLocale__Country = QLocale__Country(209) + QLocale__Tanzania QLocale__Country = QLocale__Country(210) + QLocale__Thailand QLocale__Country = QLocale__Country(211) + QLocale__Togo QLocale__Country = QLocale__Country(212) + QLocale__TokelauCountry QLocale__Country = QLocale__Country(213) + QLocale__Tonga QLocale__Country = QLocale__Country(214) + QLocale__TrinidadAndTobago QLocale__Country = QLocale__Country(215) + QLocale__Tunisia QLocale__Country = QLocale__Country(216) + QLocale__Turkey QLocale__Country = QLocale__Country(217) + QLocale__Turkmenistan QLocale__Country = QLocale__Country(218) + QLocale__TurksAndCaicosIslands QLocale__Country = QLocale__Country(219) + QLocale__TuvaluCountry QLocale__Country = QLocale__Country(220) + QLocale__Uganda QLocale__Country = QLocale__Country(221) + QLocale__Ukraine QLocale__Country = QLocale__Country(222) + QLocale__UnitedArabEmirates QLocale__Country = QLocale__Country(223) + QLocale__UnitedKingdom QLocale__Country = QLocale__Country(224) + QLocale__UnitedStates QLocale__Country = QLocale__Country(225) + QLocale__UnitedStatesMinorOutlyingIslands QLocale__Country = QLocale__Country(226) + QLocale__Uruguay QLocale__Country = QLocale__Country(227) + QLocale__Uzbekistan QLocale__Country = QLocale__Country(228) + QLocale__Vanuatu QLocale__Country = QLocale__Country(229) + QLocale__VaticanCityState QLocale__Country = QLocale__Country(230) + QLocale__Venezuela QLocale__Country = QLocale__Country(231) + QLocale__Vietnam QLocale__Country = QLocale__Country(232) + QLocale__BritishVirginIslands QLocale__Country = QLocale__Country(233) + QLocale__UnitedStatesVirginIslands QLocale__Country = QLocale__Country(234) + QLocale__WallisAndFutunaIslands QLocale__Country = QLocale__Country(235) + QLocale__WesternSahara QLocale__Country = QLocale__Country(236) + QLocale__Yemen QLocale__Country = QLocale__Country(237) + QLocale__CanaryIslands QLocale__Country = QLocale__Country(238) + QLocale__Zambia QLocale__Country = QLocale__Country(239) + QLocale__Zimbabwe QLocale__Country = QLocale__Country(240) + QLocale__ClippertonIsland QLocale__Country = QLocale__Country(241) + QLocale__Montenegro QLocale__Country = QLocale__Country(242) + QLocale__Serbia QLocale__Country = QLocale__Country(243) + QLocale__SaintBarthelemy QLocale__Country = QLocale__Country(244) + QLocale__SaintMartin QLocale__Country = QLocale__Country(245) + QLocale__LatinAmerica QLocale__Country = QLocale__Country(246) + QLocale__AscensionIsland QLocale__Country = QLocale__Country(247) + QLocale__AlandIslands QLocale__Country = QLocale__Country(248) + QLocale__DiegoGarcia QLocale__Country = QLocale__Country(249) + QLocale__CeutaAndMelilla QLocale__Country = QLocale__Country(250) + QLocale__IsleOfMan QLocale__Country = QLocale__Country(251) + QLocale__Jersey QLocale__Country = QLocale__Country(252) + QLocale__TristanDaCunha QLocale__Country = QLocale__Country(253) + QLocale__SouthSudan QLocale__Country = QLocale__Country(254) + QLocale__Bonaire QLocale__Country = QLocale__Country(255) + QLocale__SintMaarten QLocale__Country = QLocale__Country(256) + QLocale__Kosovo QLocale__Country = QLocale__Country(257) + QLocale__EuropeanUnion QLocale__Country = QLocale__Country(258) + QLocale__OutlyingOceania QLocale__Country = QLocale__Country(259) + QLocale__World QLocale__Country = QLocale__Country(260) + QLocale__Europe QLocale__Country = QLocale__Country(261) + QLocale__DemocraticRepublicOfCongo QLocale__Country = QLocale__Country(QLocale__CongoKinshasa) + QLocale__DemocraticRepublicOfKorea QLocale__Country = QLocale__Country(QLocale__NorthKorea) + QLocale__LatinAmericaAndTheCaribbean QLocale__Country = QLocale__Country(QLocale__LatinAmerica) + QLocale__PeoplesRepublicOfCongo QLocale__Country = QLocale__Country(QLocale__CongoBrazzaville) + QLocale__RepublicOfKorea QLocale__Country = QLocale__Country(QLocale__SouthKorea) + QLocale__RussianFederation QLocale__Country = QLocale__Country(QLocale__Russia) + QLocale__SyrianArabRepublic QLocale__Country = QLocale__Country(QLocale__Syria) + QLocale__Tokelau QLocale__Country = QLocale__Country(QLocale__TokelauCountry) + QLocale__Tuvalu QLocale__Country = QLocale__Country(QLocale__TuvaluCountry) + QLocale__LastCountry QLocale__Country = QLocale__Country(QLocale__Europe) +) + +//go:generate stringer -type=QLocale__MeasurementSystem +//QLocale::MeasurementSystem +type QLocale__MeasurementSystem int64 + +const ( + QLocale__MetricSystem QLocale__MeasurementSystem = QLocale__MeasurementSystem(0) + QLocale__ImperialUSSystem QLocale__MeasurementSystem = QLocale__MeasurementSystem(1) + QLocale__ImperialUKSystem QLocale__MeasurementSystem = QLocale__MeasurementSystem(2) + QLocale__ImperialSystem QLocale__MeasurementSystem = QLocale__MeasurementSystem(QLocale__ImperialUSSystem) +) + +//go:generate stringer -type=QLocale__FormatType +//QLocale::FormatType +type QLocale__FormatType int64 + +const ( + QLocale__LongFormat QLocale__FormatType = QLocale__FormatType(0) + QLocale__ShortFormat QLocale__FormatType = QLocale__FormatType(1) + QLocale__NarrowFormat QLocale__FormatType = QLocale__FormatType(2) +) + +//go:generate stringer -type=QLocale__NumberOption +//QLocale::NumberOption +type QLocale__NumberOption int64 + +const ( + QLocale__DefaultNumberOptions QLocale__NumberOption = QLocale__NumberOption(0x0) + QLocale__OmitGroupSeparator QLocale__NumberOption = QLocale__NumberOption(0x01) + QLocale__RejectGroupSeparator QLocale__NumberOption = QLocale__NumberOption(0x02) + QLocale__OmitLeadingZeroInExponent QLocale__NumberOption = QLocale__NumberOption(0x04) + QLocale__RejectLeadingZeroInExponent QLocale__NumberOption = QLocale__NumberOption(0x08) + QLocale__IncludeTrailingZeroesAfterDot QLocale__NumberOption = QLocale__NumberOption(0x10) + QLocale__RejectTrailingZeroesAfterDot QLocale__NumberOption = QLocale__NumberOption(0x20) +) + +//go:generate stringer -type=QLocale__FloatingPointPrecisionOption +//QLocale::FloatingPointPrecisionOption +type QLocale__FloatingPointPrecisionOption int64 + +const ( + QLocale__FloatingPointShortest QLocale__FloatingPointPrecisionOption = QLocale__FloatingPointPrecisionOption(-128) +) + +//go:generate stringer -type=QLocale__CurrencySymbolFormat +//QLocale::CurrencySymbolFormat +type QLocale__CurrencySymbolFormat int64 + +const ( + QLocale__CurrencyIsoCode QLocale__CurrencySymbolFormat = QLocale__CurrencySymbolFormat(0) + QLocale__CurrencySymbol QLocale__CurrencySymbolFormat = QLocale__CurrencySymbolFormat(1) + QLocale__CurrencyDisplayName QLocale__CurrencySymbolFormat = QLocale__CurrencySymbolFormat(2) +) + +//go:generate stringer -type=QLocale__DataSizeFormat +//QLocale::DataSizeFormat +type QLocale__DataSizeFormat int64 + +const ( + QLocale__DataSizeBase1000 QLocale__DataSizeFormat = QLocale__DataSizeFormat(1) + QLocale__DataSizeSIQuantifiers QLocale__DataSizeFormat = QLocale__DataSizeFormat(2) + QLocale__DataSizeIecFormat QLocale__DataSizeFormat = QLocale__DataSizeFormat(0) + QLocale__DataSizeTraditionalFormat QLocale__DataSizeFormat = QLocale__DataSizeFormat(QLocale__DataSizeSIQuantifiers) + QLocale__DataSizeSIFormat QLocale__DataSizeFormat = QLocale__DataSizeFormat(QLocale__DataSizeBase1000 | QLocale__DataSizeSIQuantifiers) +) + +//go:generate stringer -type=QLocale__QuotationStyle +//QLocale::QuotationStyle +type QLocale__QuotationStyle int64 + +var ( + QLocale__StandardQuotation QLocale__QuotationStyle = QLocale__QuotationStyle(0) + QLocale__AlternateQuotation QLocale__QuotationStyle = QLocale__QuotationStyle(1) +) + +func NewQLocale() *QLocale { + tmpValue := NewQLocaleFromPointer(C.QLocale_NewQLocale()) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue +} + +func NewQLocale2(name string) *QLocale { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQLocaleFromPointer(C.QLocale_NewQLocale2(C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue +} + +func NewQLocale3(language QLocale__Language, country QLocale__Country) *QLocale { + tmpValue := NewQLocaleFromPointer(C.QLocale_NewQLocale3(C.longlong(language), C.longlong(country))) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue +} + +func NewQLocale4(language QLocale__Language, scri QLocale__Script, country QLocale__Country) *QLocale { + tmpValue := NewQLocaleFromPointer(C.QLocale_NewQLocale4(C.longlong(language), C.longlong(scri), C.longlong(country))) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue +} + +func NewQLocale5(other QLocale_ITF) *QLocale { + tmpValue := NewQLocaleFromPointer(C.QLocale_NewQLocale5(PointerFromQLocale(other))) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue +} + +func (ptr *QLocale) AmText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_AmText(ptr.Pointer())) + } + return "" +} + +func (ptr *QLocale) Bcp47Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_Bcp47Name(ptr.Pointer())) + } + return "" +} + +func QLocale_C() *QLocale { + tmpValue := NewQLocaleFromPointer(C.QLocale_QLocale_C()) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue +} + +func (ptr *QLocale) C() *QLocale { + tmpValue := NewQLocaleFromPointer(C.QLocale_QLocale_C()) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue +} + +func (ptr *QLocale) Country() QLocale__Country { + if ptr.Pointer() != nil { + return QLocale__Country(C.QLocale_Country(ptr.Pointer())) + } + return 0 +} + +func QLocale_CountryToString(country QLocale__Country) string { + return cGoUnpackString(C.QLocale_QLocale_CountryToString(C.longlong(country))) +} + +func (ptr *QLocale) CountryToString(country QLocale__Country) string { + return cGoUnpackString(C.QLocale_QLocale_CountryToString(C.longlong(country))) +} + +func (ptr *QLocale) CreateSeparatedList(list []string) string { + if ptr.Pointer() != nil { + listC := C.CString(strings.Join(list, "¡¦!")) + defer C.free(unsafe.Pointer(listC)) + return cGoUnpackString(C.QLocale_CreateSeparatedList(ptr.Pointer(), C.struct_QtCore_PackedString{data: listC, len: C.longlong(len(strings.Join(list, "¡¦!")))})) + } + return "" +} + +func (ptr *QLocale) CurrencySymbol(format QLocale__CurrencySymbolFormat) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_CurrencySymbol(ptr.Pointer(), C.longlong(format))) + } + return "" +} + +func (ptr *QLocale) DateFormat(format QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_DateFormat(ptr.Pointer(), C.longlong(format))) + } + return "" +} + +func (ptr *QLocale) DateTimeFormat(format QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_DateTimeFormat(ptr.Pointer(), C.longlong(format))) + } + return "" +} + +func (ptr *QLocale) DayName(day int, ty QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_DayName(ptr.Pointer(), C.int(int32(day)), C.longlong(ty))) + } + return "" +} + +func (ptr *QLocale) DecimalPoint() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QLocale_DecimalPoint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QLocale) Exponential() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QLocale_Exponential(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QLocale) FirstDayOfWeek() Qt__DayOfWeek { + if ptr.Pointer() != nil { + return Qt__DayOfWeek(C.QLocale_FirstDayOfWeek(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLocale) FormattedDataSize2(bytes int64, precision int, format QLocale__DataSizeFormat) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_FormattedDataSize2(ptr.Pointer(), C.longlong(bytes), C.int(int32(precision)), C.longlong(format))) + } + return "" +} + +func (ptr *QLocale) GroupSeparator() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QLocale_GroupSeparator(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QLocale) Language() QLocale__Language { + if ptr.Pointer() != nil { + return QLocale__Language(C.QLocale_Language(ptr.Pointer())) + } + return 0 +} + +func QLocale_LanguageToString(language QLocale__Language) string { + return cGoUnpackString(C.QLocale_QLocale_LanguageToString(C.longlong(language))) +} + +func (ptr *QLocale) LanguageToString(language QLocale__Language) string { + return cGoUnpackString(C.QLocale_QLocale_LanguageToString(C.longlong(language))) +} + +func QLocale_MatchingLocales(language QLocale__Language, scri QLocale__Script, country QLocale__Country) []*QLocale { + return func(l C.struct_QtCore_PackedList) []*QLocale { + out := make([]*QLocale, int(l.len)) + tmpList := NewQLocaleFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__matchingLocales_atList(i) + } + return out + }(C.QLocale_QLocale_MatchingLocales(C.longlong(language), C.longlong(scri), C.longlong(country))) +} + +func (ptr *QLocale) MatchingLocales(language QLocale__Language, scri QLocale__Script, country QLocale__Country) []*QLocale { + return func(l C.struct_QtCore_PackedList) []*QLocale { + out := make([]*QLocale, int(l.len)) + tmpList := NewQLocaleFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__matchingLocales_atList(i) + } + return out + }(C.QLocale_QLocale_MatchingLocales(C.longlong(language), C.longlong(scri), C.longlong(country))) +} + +func (ptr *QLocale) MeasurementSystem() QLocale__MeasurementSystem { + if ptr.Pointer() != nil { + return QLocale__MeasurementSystem(C.QLocale_MeasurementSystem(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLocale) MonthName(month int, ty QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_MonthName(ptr.Pointer(), C.int(int32(month)), C.longlong(ty))) + } + return "" +} + +func (ptr *QLocale) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QLocale) NativeCountryName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_NativeCountryName(ptr.Pointer())) + } + return "" +} + +func (ptr *QLocale) NativeLanguageName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_NativeLanguageName(ptr.Pointer())) + } + return "" +} + +func (ptr *QLocale) NegativeSign() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QLocale_NegativeSign(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QLocale) NumberOptions() QLocale__NumberOption { + if ptr.Pointer() != nil { + return QLocale__NumberOption(C.QLocale_NumberOptions(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLocale) Percent() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QLocale_Percent(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QLocale) PmText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_PmText(ptr.Pointer())) + } + return "" +} + +func (ptr *QLocale) PositiveSign() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QLocale_PositiveSign(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QLocale) QuoteString(str string, style QLocale__QuotationStyle) string { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return cGoUnpackString(C.QLocale_QuoteString(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.longlong(style))) + } + return "" +} + +func (ptr *QLocale) QuoteString2(str QStringRef_ITF, style QLocale__QuotationStyle) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_QuoteString2(ptr.Pointer(), PointerFromQStringRef(str), C.longlong(style))) + } + return "" +} + +func (ptr *QLocale) Script() QLocale__Script { + if ptr.Pointer() != nil { + return QLocale__Script(C.QLocale_Script(ptr.Pointer())) + } + return 0 +} + +func QLocale_ScriptToString(scri QLocale__Script) string { + return cGoUnpackString(C.QLocale_QLocale_ScriptToString(C.longlong(scri))) +} + +func (ptr *QLocale) ScriptToString(scri QLocale__Script) string { + return cGoUnpackString(C.QLocale_QLocale_ScriptToString(C.longlong(scri))) +} + +func QLocale_SetDefault(locale QLocale_ITF) { + C.QLocale_QLocale_SetDefault(PointerFromQLocale(locale)) +} + +func (ptr *QLocale) SetDefault(locale QLocale_ITF) { + C.QLocale_QLocale_SetDefault(PointerFromQLocale(locale)) +} + +func (ptr *QLocale) SetNumberOptions(options QLocale__NumberOption) { + if ptr.Pointer() != nil { + C.QLocale_SetNumberOptions(ptr.Pointer(), C.longlong(options)) + } +} + +func (ptr *QLocale) StandaloneDayName(day int, ty QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_StandaloneDayName(ptr.Pointer(), C.int(int32(day)), C.longlong(ty))) + } + return "" +} + +func (ptr *QLocale) StandaloneMonthName(month int, ty QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_StandaloneMonthName(ptr.Pointer(), C.int(int32(month)), C.longlong(ty))) + } + return "" +} + +func (ptr *QLocale) Swap(other QLocale_ITF) { + if ptr.Pointer() != nil { + C.QLocale_Swap(ptr.Pointer(), PointerFromQLocale(other)) + } +} + +func QLocale_System() *QLocale { + tmpValue := NewQLocaleFromPointer(C.QLocale_QLocale_System()) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue +} + +func (ptr *QLocale) System() *QLocale { + tmpValue := NewQLocaleFromPointer(C.QLocale_QLocale_System()) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue +} + +func (ptr *QLocale) TextDirection() Qt__LayoutDirection { + if ptr.Pointer() != nil { + return Qt__LayoutDirection(C.QLocale_TextDirection(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLocale) TimeFormat(format QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_TimeFormat(ptr.Pointer(), C.longlong(format))) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString(value int64, symbol string) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString(ptr.Pointer(), C.longlong(value), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))})) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString2(value uint64, symbol string) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString2(ptr.Pointer(), C.ulonglong(value), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))})) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString3(value int16, symbol string) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString3(ptr.Pointer(), C.short(value), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))})) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString4(value uint16, symbol string) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString4(ptr.Pointer(), C.ushort(value), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))})) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString5(value int, symbol string) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString5(ptr.Pointer(), C.int(int32(value)), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))})) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString6(value uint, symbol string) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString6(ptr.Pointer(), C.uint(uint32(value)), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))})) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString7(value float64, symbol string) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString7(ptr.Pointer(), C.double(value), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))})) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString8(value float64, symbol string, precision int) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString8(ptr.Pointer(), C.double(value), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))}, C.int(int32(precision)))) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString9(value float32, symbol string) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString9(ptr.Pointer(), C.float(value), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))})) + } + return "" +} + +func (ptr *QLocale) ToCurrencyString10(i float32, symbol string, precision int) string { + if ptr.Pointer() != nil { + var symbolC *C.char + if symbol != "" { + symbolC = C.CString(symbol) + defer C.free(unsafe.Pointer(symbolC)) + } + return cGoUnpackString(C.QLocale_ToCurrencyString10(ptr.Pointer(), C.float(i), C.struct_QtCore_PackedString{data: symbolC, len: C.longlong(len(symbol))}, C.int(int32(precision)))) + } + return "" +} + +func (ptr *QLocale) ToDate(stri string, format QLocale__FormatType) *QDate { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQDateFromPointer(C.QLocale_ToDate(ptr.Pointer(), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue + } + return nil +} + +func (ptr *QLocale) ToDate2(stri string, format string) *QDate { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQDateFromPointer(C.QLocale_ToDate2(ptr.Pointer(), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue + } + return nil +} + +func (ptr *QLocale) ToDateTime(stri string, format QLocale__FormatType) *QDateTime { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQDateTimeFromPointer(C.QLocale_ToDateTime(ptr.Pointer(), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QLocale) ToDateTime2(stri string, format string) *QDateTime { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQDateTimeFromPointer(C.QLocale_ToDateTime2(ptr.Pointer(), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QLocale) ToDouble(s string, ok *bool) float64 { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float64(C.QLocale_ToDouble(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC)) + } + return 0 +} + +func (ptr *QLocale) ToDouble2(s QStringRef_ITF, ok *bool) float64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float64(C.QLocale_ToDouble2(ptr.Pointer(), PointerFromQStringRef(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToDouble3(s QStringView_ITF, ok *bool) float64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float64(C.QLocale_ToDouble3(ptr.Pointer(), PointerFromQStringView(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToFloat(s string, ok *bool) float32 { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float32(C.QLocale_ToFloat(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC)) + } + return 0 +} + +func (ptr *QLocale) ToFloat2(s QStringRef_ITF, ok *bool) float32 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float32(C.QLocale_ToFloat2(ptr.Pointer(), PointerFromQStringRef(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToFloat3(s QStringView_ITF, ok *bool) float32 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float32(C.QLocale_ToFloat3(ptr.Pointer(), PointerFromQStringView(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToInt(s string, ok *bool) int { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QLocale_ToInt(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC))) + } + return 0 +} + +func (ptr *QLocale) ToInt2(s QStringRef_ITF, ok *bool) int { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QLocale_ToInt2(ptr.Pointer(), PointerFromQStringRef(s), &okC))) + } + return 0 +} + +func (ptr *QLocale) ToInt3(s QStringView_ITF, ok *bool) int { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QLocale_ToInt3(ptr.Pointer(), PointerFromQStringView(s), &okC))) + } + return 0 +} + +func (ptr *QLocale) ToLong(s string, ok *bool) int { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QLocale_ToLong(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC))) + } + return 0 +} + +func (ptr *QLocale) ToLong2(s QStringRef_ITF, ok *bool) int { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QLocale_ToLong2(ptr.Pointer(), PointerFromQStringRef(s), &okC))) + } + return 0 +} + +func (ptr *QLocale) ToLong3(s QStringView_ITF, ok *bool) int { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QLocale_ToLong3(ptr.Pointer(), PointerFromQStringView(s), &okC))) + } + return 0 +} + +func (ptr *QLocale) ToLongLong(s string, ok *bool) int64 { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int64(C.QLocale_ToLongLong(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC)) + } + return 0 +} + +func (ptr *QLocale) ToLongLong2(s QStringRef_ITF, ok *bool) int64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int64(C.QLocale_ToLongLong2(ptr.Pointer(), PointerFromQStringRef(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToLongLong3(s QStringView_ITF, ok *bool) int64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int64(C.QLocale_ToLongLong3(ptr.Pointer(), PointerFromQStringView(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToLower(str string) string { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return cGoUnpackString(C.QLocale_ToLower(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) + } + return "" +} + +func (ptr *QLocale) ToShort(s string, ok *bool) int16 { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int16(C.QLocale_ToShort(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC)) + } + return 0 +} + +func (ptr *QLocale) ToShort2(s QStringRef_ITF, ok *bool) int16 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int16(C.QLocale_ToShort2(ptr.Pointer(), PointerFromQStringRef(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToShort3(s QStringView_ITF, ok *bool) int16 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int16(C.QLocale_ToShort3(ptr.Pointer(), PointerFromQStringView(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToString(i int64) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString(ptr.Pointer(), C.longlong(i))) + } + return "" +} + +func (ptr *QLocale) ToString2(i uint64) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString2(ptr.Pointer(), C.ulonglong(i))) + } + return "" +} + +func (ptr *QLocale) ToString3(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString3(ptr.Pointer(), C.long(int32(i)))) + } + return "" +} + +func (ptr *QLocale) ToString4(i uint) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString4(ptr.Pointer(), C.ulong(uint32(i)))) + } + return "" +} + +func (ptr *QLocale) ToString5(i int16) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString5(ptr.Pointer(), C.short(i))) + } + return "" +} + +func (ptr *QLocale) ToString6(i uint16) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString6(ptr.Pointer(), C.ushort(i))) + } + return "" +} + +func (ptr *QLocale) ToString7(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString7(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QLocale) ToString8(i uint) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString8(ptr.Pointer(), C.uint(uint32(i)))) + } + return "" +} + +func (ptr *QLocale) ToString9(i float64, ff string, prec int) string { + if ptr.Pointer() != nil { + var ffC *C.char + if ff != "" { + ffC = C.CString(ff) + defer C.free(unsafe.Pointer(ffC)) + } + return cGoUnpackString(C.QLocale_ToString9(ptr.Pointer(), C.double(i), ffC, C.int(int32(prec)))) + } + return "" +} + +func (ptr *QLocale) ToString10(i float32, ff string, prec int) string { + if ptr.Pointer() != nil { + var ffC *C.char + if ff != "" { + ffC = C.CString(ff) + defer C.free(unsafe.Pointer(ffC)) + } + return cGoUnpackString(C.QLocale_ToString10(ptr.Pointer(), C.float(i), ffC, C.int(int32(prec)))) + } + return "" +} + +func (ptr *QLocale) ToString11(date QDate_ITF, format string) string { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return cGoUnpackString(C.QLocale_ToString11(ptr.Pointer(), PointerFromQDate(date), C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + } + return "" +} + +func (ptr *QLocale) ToString12(ti QTime_ITF, format string) string { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return cGoUnpackString(C.QLocale_ToString12(ptr.Pointer(), PointerFromQTime(ti), C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + } + return "" +} + +func (ptr *QLocale) ToString13(dateTime QDateTime_ITF, format string) string { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return cGoUnpackString(C.QLocale_ToString13(ptr.Pointer(), PointerFromQDateTime(dateTime), C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + } + return "" +} + +func (ptr *QLocale) ToString14(date QDate_ITF, format QStringView_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString14(ptr.Pointer(), PointerFromQDate(date), PointerFromQStringView(format))) + } + return "" +} + +func (ptr *QLocale) ToString15(ti QTime_ITF, format QStringView_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString15(ptr.Pointer(), PointerFromQTime(ti), PointerFromQStringView(format))) + } + return "" +} + +func (ptr *QLocale) ToString16(dateTime QDateTime_ITF, format QStringView_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString16(ptr.Pointer(), PointerFromQDateTime(dateTime), PointerFromQStringView(format))) + } + return "" +} + +func (ptr *QLocale) ToString17(date QDate_ITF, format QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString17(ptr.Pointer(), PointerFromQDate(date), C.longlong(format))) + } + return "" +} + +func (ptr *QLocale) ToString18(ti QTime_ITF, format QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString18(ptr.Pointer(), PointerFromQTime(ti), C.longlong(format))) + } + return "" +} + +func (ptr *QLocale) ToString19(dateTime QDateTime_ITF, format QLocale__FormatType) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocale_ToString19(ptr.Pointer(), PointerFromQDateTime(dateTime), C.longlong(format))) + } + return "" +} + +func (ptr *QLocale) ToTime(stri string, format QLocale__FormatType) *QTime { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQTimeFromPointer(C.QLocale_ToTime(ptr.Pointer(), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue + } + return nil +} + +func (ptr *QLocale) ToTime2(stri string, format string) *QTime { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQTimeFromPointer(C.QLocale_ToTime2(ptr.Pointer(), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue + } + return nil +} + +func (ptr *QLocale) ToUInt(s string, ok *bool) uint { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QLocale_ToUInt(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC))) + } + return 0 +} + +func (ptr *QLocale) ToUInt2(s QStringRef_ITF, ok *bool) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QLocale_ToUInt2(ptr.Pointer(), PointerFromQStringRef(s), &okC))) + } + return 0 +} + +func (ptr *QLocale) ToUInt3(s QStringView_ITF, ok *bool) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QLocale_ToUInt3(ptr.Pointer(), PointerFromQStringView(s), &okC))) + } + return 0 +} + +func (ptr *QLocale) ToULong(s string, ok *bool) uint { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QLocale_ToULong(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC))) + } + return 0 +} + +func (ptr *QLocale) ToULong2(s QStringRef_ITF, ok *bool) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QLocale_ToULong2(ptr.Pointer(), PointerFromQStringRef(s), &okC))) + } + return 0 +} + +func (ptr *QLocale) ToULong3(s QStringView_ITF, ok *bool) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QLocale_ToULong3(ptr.Pointer(), PointerFromQStringView(s), &okC))) + } + return 0 +} + +func (ptr *QLocale) ToULongLong(s string, ok *bool) uint64 { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint64(C.QLocale_ToULongLong(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC)) + } + return 0 +} + +func (ptr *QLocale) ToULongLong2(s QStringRef_ITF, ok *bool) uint64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint64(C.QLocale_ToULongLong2(ptr.Pointer(), PointerFromQStringRef(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToULongLong3(s QStringView_ITF, ok *bool) uint64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint64(C.QLocale_ToULongLong3(ptr.Pointer(), PointerFromQStringView(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToUShort(s string, ok *bool) uint16 { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint16(C.QLocale_ToUShort(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))}, &okC)) + } + return 0 +} + +func (ptr *QLocale) ToUShort2(s QStringRef_ITF, ok *bool) uint16 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint16(C.QLocale_ToUShort2(ptr.Pointer(), PointerFromQStringRef(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToUShort3(s QStringView_ITF, ok *bool) uint16 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint16(C.QLocale_ToUShort3(ptr.Pointer(), PointerFromQStringView(s), &okC)) + } + return 0 +} + +func (ptr *QLocale) ToUpper(str string) string { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return cGoUnpackString(C.QLocale_ToUpper(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) + } + return "" +} + +func (ptr *QLocale) UiLanguages() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QLocale_UiLanguages(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QLocale) Weekdays() []Qt__DayOfWeek { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []Qt__DayOfWeek { + out := make([]Qt__DayOfWeek, int(l.len)) + tmpList := NewQLocaleFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__weekdays_atList(i) + } + return out + }(C.QLocale_Weekdays(ptr.Pointer())) + } + return make([]Qt__DayOfWeek, 0) +} + +func (ptr *QLocale) ZeroDigit() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QLocale_ZeroDigit(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QLocale) DestroyQLocale() { + if ptr.Pointer() != nil { + C.QLocale_DestroyQLocale(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QLocale) __matchingLocales_atList(i int) *QLocale { + if ptr.Pointer() != nil { + tmpValue := NewQLocaleFromPointer(C.QLocale___matchingLocales_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue + } + return nil +} + +func (ptr *QLocale) __matchingLocales_setList(i QLocale_ITF) { + if ptr.Pointer() != nil { + C.QLocale___matchingLocales_setList(ptr.Pointer(), PointerFromQLocale(i)) + } +} + +func (ptr *QLocale) __matchingLocales_newList() unsafe.Pointer { + return C.QLocale___matchingLocales_newList(ptr.Pointer()) +} + +func (ptr *QLocale) __weekdays_atList(i int) Qt__DayOfWeek { + if ptr.Pointer() != nil { + return Qt__DayOfWeek(C.QLocale___weekdays_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QLocale) __weekdays_setList(i Qt__DayOfWeek) { + if ptr.Pointer() != nil { + C.QLocale___weekdays_setList(ptr.Pointer(), C.longlong(i)) + } +} + +func (ptr *QLocale) __weekdays_newList() unsafe.Pointer { + return C.QLocale___weekdays_newList(ptr.Pointer()) +} + +type QLockFile struct { + ptr unsafe.Pointer +} + +type QLockFile_ITF interface { + QLockFile_PTR() *QLockFile +} + +func (ptr *QLockFile) QLockFile_PTR() *QLockFile { + return ptr +} + +func (ptr *QLockFile) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLockFile) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLockFile(ptr QLockFile_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLockFile_PTR().Pointer() + } + return nil +} + +func NewQLockFileFromPointer(ptr unsafe.Pointer) (n *QLockFile) { + n = new(QLockFile) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QLockFile__LockError +//QLockFile::LockError +type QLockFile__LockError int64 + +const ( + QLockFile__NoError QLockFile__LockError = QLockFile__LockError(0) + QLockFile__LockFailedError QLockFile__LockError = QLockFile__LockError(1) + QLockFile__PermissionError QLockFile__LockError = QLockFile__LockError(2) + QLockFile__UnknownError QLockFile__LockError = QLockFile__LockError(3) +) + +func NewQLockFile(fileName string) *QLockFile { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQLockFileFromPointer(C.QLockFile_NewQLockFile(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*QLockFile).DestroyQLockFile) + return tmpValue +} + +func (ptr *QLockFile) Error() QLockFile__LockError { + if ptr.Pointer() != nil { + return QLockFile__LockError(C.QLockFile_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLockFile) GetLockInfo(pid int64, hostname string, appname string) bool { + if ptr.Pointer() != nil { + var hostnameC *C.char + if hostname != "" { + hostnameC = C.CString(hostname) + defer C.free(unsafe.Pointer(hostnameC)) + } + var appnameC *C.char + if appname != "" { + appnameC = C.CString(appname) + defer C.free(unsafe.Pointer(appnameC)) + } + return int8(C.QLockFile_GetLockInfo(ptr.Pointer(), C.longlong(pid), C.struct_QtCore_PackedString{data: hostnameC, len: C.longlong(len(hostname))}, C.struct_QtCore_PackedString{data: appnameC, len: C.longlong(len(appname))})) != 0 + } + return false +} + +func (ptr *QLockFile) IsLocked() bool { + if ptr.Pointer() != nil { + return int8(C.QLockFile_IsLocked(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLockFile) Lock() bool { + if ptr.Pointer() != nil { + return int8(C.QLockFile_Lock(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLockFile) RemoveStaleLockFile() bool { + if ptr.Pointer() != nil { + return int8(C.QLockFile_RemoveStaleLockFile(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLockFile) SetStaleLockTime(staleLockTime int) { + if ptr.Pointer() != nil { + C.QLockFile_SetStaleLockTime(ptr.Pointer(), C.int(int32(staleLockTime))) + } +} + +func (ptr *QLockFile) StaleLockTime() int { + if ptr.Pointer() != nil { + return int(int32(C.QLockFile_StaleLockTime(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QLockFile) TryLock(timeout int) bool { + if ptr.Pointer() != nil { + return int8(C.QLockFile_TryLock(ptr.Pointer(), C.int(int32(timeout)))) != 0 + } + return false +} + +func (ptr *QLockFile) Unlock() { + if ptr.Pointer() != nil { + C.QLockFile_Unlock(ptr.Pointer()) + } +} + +func (ptr *QLockFile) DestroyQLockFile() { + if ptr.Pointer() != nil { + C.QLockFile_DestroyQLockFile(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QLoggingCategory struct { + ptr unsafe.Pointer +} + +type QLoggingCategory_ITF interface { + QLoggingCategory_PTR() *QLoggingCategory +} + +func (ptr *QLoggingCategory) QLoggingCategory_PTR() *QLoggingCategory { + return ptr +} + +func (ptr *QLoggingCategory) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QLoggingCategory) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQLoggingCategory(ptr QLoggingCategory_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLoggingCategory_PTR().Pointer() + } + return nil +} + +func NewQLoggingCategoryFromPointer(ptr unsafe.Pointer) (n *QLoggingCategory) { + n = new(QLoggingCategory) + n.SetPointer(ptr) + return +} +func NewQLoggingCategory2(category string) *QLoggingCategory { + var categoryC *C.char + if category != "" { + categoryC = C.CString(category) + defer C.free(unsafe.Pointer(categoryC)) + } + tmpValue := NewQLoggingCategoryFromPointer(C.QLoggingCategory_NewQLoggingCategory2(categoryC)) + runtime.SetFinalizer(tmpValue, (*QLoggingCategory).DestroyQLoggingCategory) + return tmpValue +} + +func (ptr *QLoggingCategory) CategoryName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLoggingCategory_CategoryName(ptr.Pointer())) + } + return "" +} + +func QLoggingCategory_DefaultCategory() *QLoggingCategory { + return NewQLoggingCategoryFromPointer(C.QLoggingCategory_QLoggingCategory_DefaultCategory()) +} + +func (ptr *QLoggingCategory) DefaultCategory() *QLoggingCategory { + return NewQLoggingCategoryFromPointer(C.QLoggingCategory_QLoggingCategory_DefaultCategory()) +} + +func (ptr *QLoggingCategory) IsCriticalEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QLoggingCategory_IsCriticalEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLoggingCategory) IsDebugEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QLoggingCategory_IsDebugEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLoggingCategory) IsInfoEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QLoggingCategory_IsInfoEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLoggingCategory) IsWarningEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QLoggingCategory_IsWarningEnabled(ptr.Pointer())) != 0 + } + return false +} + +func QLoggingCategory_SetFilterRules(rules string) { + var rulesC *C.char + if rules != "" { + rulesC = C.CString(rules) + defer C.free(unsafe.Pointer(rulesC)) + } + C.QLoggingCategory_QLoggingCategory_SetFilterRules(C.struct_QtCore_PackedString{data: rulesC, len: C.longlong(len(rules))}) +} + +func (ptr *QLoggingCategory) SetFilterRules(rules string) { + var rulesC *C.char + if rules != "" { + rulesC = C.CString(rules) + defer C.free(unsafe.Pointer(rulesC)) + } + C.QLoggingCategory_QLoggingCategory_SetFilterRules(C.struct_QtCore_PackedString{data: rulesC, len: C.longlong(len(rules))}) +} + +func (ptr *QLoggingCategory) DestroyQLoggingCategory() { + if ptr.Pointer() != nil { + C.QLoggingCategory_DestroyQLoggingCategory(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMap struct { + ptr unsafe.Pointer +} + +type QMap_ITF interface { + QMap_PTR() *QMap +} + +func (ptr *QMap) QMap_PTR() *QMap { + return ptr +} + +func (ptr *QMap) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMap) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMap(ptr QMap_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMap_PTR().Pointer() + } + return nil +} + +func NewQMapFromPointer(ptr unsafe.Pointer) (n *QMap) { + n = new(QMap) + n.SetPointer(ptr) + return +} + +type QMapData struct { + ptr unsafe.Pointer +} + +type QMapData_ITF interface { + QMapData_PTR() *QMapData +} + +func (ptr *QMapData) QMapData_PTR() *QMapData { + return ptr +} + +func (ptr *QMapData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMapData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMapData(ptr QMapData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMapData_PTR().Pointer() + } + return nil +} + +func NewQMapDataFromPointer(ptr unsafe.Pointer) (n *QMapData) { + n = new(QMapData) + n.SetPointer(ptr) + return +} + +func (ptr *QMapData) DestroyQMapData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMapDataBase struct { + ptr unsafe.Pointer +} + +type QMapDataBase_ITF interface { + QMapDataBase_PTR() *QMapDataBase +} + +func (ptr *QMapDataBase) QMapDataBase_PTR() *QMapDataBase { + return ptr +} + +func (ptr *QMapDataBase) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMapDataBase) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMapDataBase(ptr QMapDataBase_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMapDataBase_PTR().Pointer() + } + return nil +} + +func NewQMapDataBaseFromPointer(ptr unsafe.Pointer) (n *QMapDataBase) { + n = new(QMapDataBase) + n.SetPointer(ptr) + return +} + +func (ptr *QMapDataBase) DestroyQMapDataBase() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMapIterator struct { + ptr unsafe.Pointer +} + +type QMapIterator_ITF interface { + QMapIterator_PTR() *QMapIterator +} + +func (ptr *QMapIterator) QMapIterator_PTR() *QMapIterator { + return ptr +} + +func (ptr *QMapIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMapIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMapIterator(ptr QMapIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMapIterator_PTR().Pointer() + } + return nil +} + +func NewQMapIteratorFromPointer(ptr unsafe.Pointer) (n *QMapIterator) { + n = new(QMapIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QMapIterator) DestroyQMapIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMapNode struct { + ptr unsafe.Pointer +} + +type QMapNode_ITF interface { + QMapNode_PTR() *QMapNode +} + +func (ptr *QMapNode) QMapNode_PTR() *QMapNode { + return ptr +} + +func (ptr *QMapNode) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMapNode) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMapNode(ptr QMapNode_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMapNode_PTR().Pointer() + } + return nil +} + +func NewQMapNodeFromPointer(ptr unsafe.Pointer) (n *QMapNode) { + n = new(QMapNode) + n.SetPointer(ptr) + return +} + +func (ptr *QMapNode) DestroyQMapNode() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMapNodeBase struct { + ptr unsafe.Pointer +} + +type QMapNodeBase_ITF interface { + QMapNodeBase_PTR() *QMapNodeBase +} + +func (ptr *QMapNodeBase) QMapNodeBase_PTR() *QMapNodeBase { + return ptr +} + +func (ptr *QMapNodeBase) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMapNodeBase) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMapNodeBase(ptr QMapNodeBase_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMapNodeBase_PTR().Pointer() + } + return nil +} + +func NewQMapNodeBaseFromPointer(ptr unsafe.Pointer) (n *QMapNodeBase) { + n = new(QMapNodeBase) + n.SetPointer(ptr) + return +} + +func (ptr *QMapNodeBase) DestroyQMapNodeBase() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMargins struct { + ptr unsafe.Pointer +} + +type QMargins_ITF interface { + QMargins_PTR() *QMargins +} + +func (ptr *QMargins) QMargins_PTR() *QMargins { + return ptr +} + +func (ptr *QMargins) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMargins) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMargins(ptr QMargins_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMargins_PTR().Pointer() + } + return nil +} + +func NewQMarginsFromPointer(ptr unsafe.Pointer) (n *QMargins) { + n = new(QMargins) + n.SetPointer(ptr) + return +} + +func (ptr *QMargins) DestroyQMargins() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQMargins() *QMargins { + tmpValue := NewQMarginsFromPointer(C.QMargins_NewQMargins()) + runtime.SetFinalizer(tmpValue, (*QMargins).DestroyQMargins) + return tmpValue +} + +func NewQMargins2(left int, top int, right int, bottom int) *QMargins { + tmpValue := NewQMarginsFromPointer(C.QMargins_NewQMargins2(C.int(int32(left)), C.int(int32(top)), C.int(int32(right)), C.int(int32(bottom)))) + runtime.SetFinalizer(tmpValue, (*QMargins).DestroyQMargins) + return tmpValue +} + +func (ptr *QMargins) Bottom() int { + if ptr.Pointer() != nil { + return int(int32(C.QMargins_Bottom(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMargins) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QMargins_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMargins) Left() int { + if ptr.Pointer() != nil { + return int(int32(C.QMargins_Left(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMargins) Right() int { + if ptr.Pointer() != nil { + return int(int32(C.QMargins_Right(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMargins) SetBottom(bottom int) { + if ptr.Pointer() != nil { + C.QMargins_SetBottom(ptr.Pointer(), C.int(int32(bottom))) + } +} + +func (ptr *QMargins) SetLeft(left int) { + if ptr.Pointer() != nil { + C.QMargins_SetLeft(ptr.Pointer(), C.int(int32(left))) + } +} + +func (ptr *QMargins) SetRight(right int) { + if ptr.Pointer() != nil { + C.QMargins_SetRight(ptr.Pointer(), C.int(int32(right))) + } +} + +func (ptr *QMargins) SetTop(Top int) { + if ptr.Pointer() != nil { + C.QMargins_SetTop(ptr.Pointer(), C.int(int32(Top))) + } +} + +func (ptr *QMargins) Top() int { + if ptr.Pointer() != nil { + return int(int32(C.QMargins_Top(ptr.Pointer()))) + } + return 0 +} + +type QMarginsF struct { + ptr unsafe.Pointer +} + +type QMarginsF_ITF interface { + QMarginsF_PTR() *QMarginsF +} + +func (ptr *QMarginsF) QMarginsF_PTR() *QMarginsF { + return ptr +} + +func (ptr *QMarginsF) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMarginsF) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMarginsF(ptr QMarginsF_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMarginsF_PTR().Pointer() + } + return nil +} + +func NewQMarginsFFromPointer(ptr unsafe.Pointer) (n *QMarginsF) { + n = new(QMarginsF) + n.SetPointer(ptr) + return +} + +func (ptr *QMarginsF) DestroyQMarginsF() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQMarginsF() *QMarginsF { + tmpValue := NewQMarginsFFromPointer(C.QMarginsF_NewQMarginsF()) + runtime.SetFinalizer(tmpValue, (*QMarginsF).DestroyQMarginsF) + return tmpValue +} + +func NewQMarginsF2(left float64, top float64, right float64, bottom float64) *QMarginsF { + tmpValue := NewQMarginsFFromPointer(C.QMarginsF_NewQMarginsF2(C.double(left), C.double(top), C.double(right), C.double(bottom))) + runtime.SetFinalizer(tmpValue, (*QMarginsF).DestroyQMarginsF) + return tmpValue +} + +func NewQMarginsF3(margins QMargins_ITF) *QMarginsF { + tmpValue := NewQMarginsFFromPointer(C.QMarginsF_NewQMarginsF3(PointerFromQMargins(margins))) + runtime.SetFinalizer(tmpValue, (*QMarginsF).DestroyQMarginsF) + return tmpValue +} + +func (ptr *QMarginsF) Bottom() float64 { + if ptr.Pointer() != nil { + return float64(C.QMarginsF_Bottom(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMarginsF) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QMarginsF_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMarginsF) Left() float64 { + if ptr.Pointer() != nil { + return float64(C.QMarginsF_Left(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMarginsF) Right() float64 { + if ptr.Pointer() != nil { + return float64(C.QMarginsF_Right(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMarginsF) SetBottom(bottom float64) { + if ptr.Pointer() != nil { + C.QMarginsF_SetBottom(ptr.Pointer(), C.double(bottom)) + } +} + +func (ptr *QMarginsF) SetLeft(left float64) { + if ptr.Pointer() != nil { + C.QMarginsF_SetLeft(ptr.Pointer(), C.double(left)) + } +} + +func (ptr *QMarginsF) SetRight(right float64) { + if ptr.Pointer() != nil { + C.QMarginsF_SetRight(ptr.Pointer(), C.double(right)) + } +} + +func (ptr *QMarginsF) SetTop(Top float64) { + if ptr.Pointer() != nil { + C.QMarginsF_SetTop(ptr.Pointer(), C.double(Top)) + } +} + +func (ptr *QMarginsF) ToMargins() *QMargins { + if ptr.Pointer() != nil { + tmpValue := NewQMarginsFromPointer(C.QMarginsF_ToMargins(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QMargins).DestroyQMargins) + return tmpValue + } + return nil +} + +func (ptr *QMarginsF) Top() float64 { + if ptr.Pointer() != nil { + return float64(C.QMarginsF_Top(ptr.Pointer())) + } + return 0 +} + +type QMessageAuthenticationCode struct { + ptr unsafe.Pointer +} + +type QMessageAuthenticationCode_ITF interface { + QMessageAuthenticationCode_PTR() *QMessageAuthenticationCode +} + +func (ptr *QMessageAuthenticationCode) QMessageAuthenticationCode_PTR() *QMessageAuthenticationCode { + return ptr +} + +func (ptr *QMessageAuthenticationCode) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMessageAuthenticationCode) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMessageAuthenticationCode(ptr QMessageAuthenticationCode_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMessageAuthenticationCode_PTR().Pointer() + } + return nil +} + +func NewQMessageAuthenticationCodeFromPointer(ptr unsafe.Pointer) (n *QMessageAuthenticationCode) { + n = new(QMessageAuthenticationCode) + n.SetPointer(ptr) + return +} +func NewQMessageAuthenticationCode(method QCryptographicHash__Algorithm, key QByteArray_ITF) *QMessageAuthenticationCode { + tmpValue := NewQMessageAuthenticationCodeFromPointer(C.QMessageAuthenticationCode_NewQMessageAuthenticationCode(C.longlong(method), PointerFromQByteArray(key))) + runtime.SetFinalizer(tmpValue, (*QMessageAuthenticationCode).DestroyQMessageAuthenticationCode) + return tmpValue +} + +func (ptr *QMessageAuthenticationCode) AddData(data []byte, length int) { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + C.QMessageAuthenticationCode_AddData(ptr.Pointer(), dataC, C.int(int32(length))) + } +} + +func (ptr *QMessageAuthenticationCode) AddData2(data QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QMessageAuthenticationCode_AddData2(ptr.Pointer(), PointerFromQByteArray(data)) + } +} + +func (ptr *QMessageAuthenticationCode) AddData3(device QIODevice_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMessageAuthenticationCode_AddData3(ptr.Pointer(), PointerFromQIODevice(device))) != 0 + } + return false +} + +func QMessageAuthenticationCode_Hash(message QByteArray_ITF, key QByteArray_ITF, method QCryptographicHash__Algorithm) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QMessageAuthenticationCode_QMessageAuthenticationCode_Hash(PointerFromQByteArray(message), PointerFromQByteArray(key), C.longlong(method))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QMessageAuthenticationCode) Hash(message QByteArray_ITF, key QByteArray_ITF, method QCryptographicHash__Algorithm) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QMessageAuthenticationCode_QMessageAuthenticationCode_Hash(PointerFromQByteArray(message), PointerFromQByteArray(key), C.longlong(method))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QMessageAuthenticationCode) Reset() { + if ptr.Pointer() != nil { + C.QMessageAuthenticationCode_Reset(ptr.Pointer()) + } +} + +func (ptr *QMessageAuthenticationCode) Result() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QMessageAuthenticationCode_Result(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QMessageAuthenticationCode) SetKey(key QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QMessageAuthenticationCode_SetKey(ptr.Pointer(), PointerFromQByteArray(key)) + } +} + +func (ptr *QMessageAuthenticationCode) DestroyQMessageAuthenticationCode() { + if ptr.Pointer() != nil { + C.QMessageAuthenticationCode_DestroyQMessageAuthenticationCode(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMessageLogContext struct { + ptr unsafe.Pointer +} + +type QMessageLogContext_ITF interface { + QMessageLogContext_PTR() *QMessageLogContext +} + +func (ptr *QMessageLogContext) QMessageLogContext_PTR() *QMessageLogContext { + return ptr +} + +func (ptr *QMessageLogContext) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMessageLogContext) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMessageLogContext(ptr QMessageLogContext_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMessageLogContext_PTR().Pointer() + } + return nil +} + +func NewQMessageLogContextFromPointer(ptr unsafe.Pointer) (n *QMessageLogContext) { + n = new(QMessageLogContext) + n.SetPointer(ptr) + return +} + +func (ptr *QMessageLogContext) DestroyQMessageLogContext() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMessageLogger struct { + ptr unsafe.Pointer +} + +type QMessageLogger_ITF interface { + QMessageLogger_PTR() *QMessageLogger +} + +func (ptr *QMessageLogger) QMessageLogger_PTR() *QMessageLogger { + return ptr +} + +func (ptr *QMessageLogger) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMessageLogger) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMessageLogger(ptr QMessageLogger_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMessageLogger_PTR().Pointer() + } + return nil +} + +func NewQMessageLoggerFromPointer(ptr unsafe.Pointer) (n *QMessageLogger) { + n = new(QMessageLogger) + n.SetPointer(ptr) + return +} + +func (ptr *QMessageLogger) DestroyQMessageLogger() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQMessageLogger2() *QMessageLogger { + tmpValue := NewQMessageLoggerFromPointer(C.QMessageLogger_NewQMessageLogger2()) + runtime.SetFinalizer(tmpValue, (*QMessageLogger).DestroyQMessageLogger) + return tmpValue +} + +func NewQMessageLogger3(file string, line int, function string) *QMessageLogger { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + var functionC *C.char + if function != "" { + functionC = C.CString(function) + defer C.free(unsafe.Pointer(functionC)) + } + tmpValue := NewQMessageLoggerFromPointer(C.QMessageLogger_NewQMessageLogger3(fileC, C.int(int32(line)), functionC)) + runtime.SetFinalizer(tmpValue, (*QMessageLogger).DestroyQMessageLogger) + return tmpValue +} + +func NewQMessageLogger4(file string, line int, function string, category string) *QMessageLogger { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + var functionC *C.char + if function != "" { + functionC = C.CString(function) + defer C.free(unsafe.Pointer(functionC)) + } + var categoryC *C.char + if category != "" { + categoryC = C.CString(category) + defer C.free(unsafe.Pointer(categoryC)) + } + tmpValue := NewQMessageLoggerFromPointer(C.QMessageLogger_NewQMessageLogger4(fileC, C.int(int32(line)), functionC, categoryC)) + runtime.SetFinalizer(tmpValue, (*QMessageLogger).DestroyQMessageLogger) + return tmpValue +} + +func (ptr *QMessageLogger) Critical4() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QMessageLogger_Critical4(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QMessageLogger) Critical5(cat QLoggingCategory_ITF) *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QMessageLogger_Critical5(ptr.Pointer(), PointerFromQLoggingCategory(cat))) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QMessageLogger) Debug4() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QMessageLogger_Debug4(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QMessageLogger) Debug5(cat QLoggingCategory_ITF) *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QMessageLogger_Debug5(ptr.Pointer(), PointerFromQLoggingCategory(cat))) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QMessageLogger) Info4() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QMessageLogger_Info4(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QMessageLogger) Info5(cat QLoggingCategory_ITF) *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QMessageLogger_Info5(ptr.Pointer(), PointerFromQLoggingCategory(cat))) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QMessageLogger) Warning4() *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QMessageLogger_Warning4(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +func (ptr *QMessageLogger) Warning5(cat QLoggingCategory_ITF) *QDebug { + if ptr.Pointer() != nil { + tmpValue := NewQDebugFromPointer(C.QMessageLogger_Warning5(ptr.Pointer(), PointerFromQLoggingCategory(cat))) + runtime.SetFinalizer(tmpValue, (*QDebug).DestroyQDebug) + return tmpValue + } + return nil +} + +type QMetaClassInfo struct { + ptr unsafe.Pointer +} + +type QMetaClassInfo_ITF interface { + QMetaClassInfo_PTR() *QMetaClassInfo +} + +func (ptr *QMetaClassInfo) QMetaClassInfo_PTR() *QMetaClassInfo { + return ptr +} + +func (ptr *QMetaClassInfo) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMetaClassInfo) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMetaClassInfo(ptr QMetaClassInfo_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMetaClassInfo_PTR().Pointer() + } + return nil +} + +func NewQMetaClassInfoFromPointer(ptr unsafe.Pointer) (n *QMetaClassInfo) { + n = new(QMetaClassInfo) + n.SetPointer(ptr) + return +} + +func (ptr *QMetaClassInfo) DestroyQMetaClassInfo() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QMetaClassInfo) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaClassInfo_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QMetaClassInfo) Value() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaClassInfo_Value(ptr.Pointer())) + } + return "" +} + +type QMetaEnum struct { + ptr unsafe.Pointer +} + +type QMetaEnum_ITF interface { + QMetaEnum_PTR() *QMetaEnum +} + +func (ptr *QMetaEnum) QMetaEnum_PTR() *QMetaEnum { + return ptr +} + +func (ptr *QMetaEnum) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMetaEnum) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMetaEnum(ptr QMetaEnum_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMetaEnum_PTR().Pointer() + } + return nil +} + +func NewQMetaEnumFromPointer(ptr unsafe.Pointer) (n *QMetaEnum) { + n = new(QMetaEnum) + n.SetPointer(ptr) + return +} + +func (ptr *QMetaEnum) DestroyQMetaEnum() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QMetaEnum) EnumName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaEnum_EnumName(ptr.Pointer())) + } + return "" +} + +func (ptr *QMetaEnum) IsFlag() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaEnum_IsFlag(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaEnum) IsScoped() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaEnum_IsScoped(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaEnum) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaEnum_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaEnum) Key(index int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaEnum_Key(ptr.Pointer(), C.int(int32(index)))) + } + return "" +} + +func (ptr *QMetaEnum) KeyCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaEnum_KeyCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaEnum) KeyToValue(key string, ok *bool) int { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QMetaEnum_KeyToValue(ptr.Pointer(), keyC, &okC))) + } + return 0 +} + +func (ptr *QMetaEnum) KeysToValue(keys string, ok *bool) int { + if ptr.Pointer() != nil { + var keysC *C.char + if keys != "" { + keysC = C.CString(keys) + defer C.free(unsafe.Pointer(keysC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QMetaEnum_KeysToValue(ptr.Pointer(), keysC, &okC))) + } + return 0 +} + +func (ptr *QMetaEnum) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaEnum_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QMetaEnum) Scope() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaEnum_Scope(ptr.Pointer())) + } + return "" +} + +func (ptr *QMetaEnum) Value(index int) int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaEnum_Value(ptr.Pointer(), C.int(int32(index))))) + } + return 0 +} + +func (ptr *QMetaEnum) ValueToKey(value int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaEnum_ValueToKey(ptr.Pointer(), C.int(int32(value)))) + } + return "" +} + +func (ptr *QMetaEnum) ValueToKeys(value int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QMetaEnum_ValueToKeys(ptr.Pointer(), C.int(int32(value)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +type QMetaMethod struct { + ptr unsafe.Pointer +} + +type QMetaMethod_ITF interface { + QMetaMethod_PTR() *QMetaMethod +} + +func (ptr *QMetaMethod) QMetaMethod_PTR() *QMetaMethod { + return ptr +} + +func (ptr *QMetaMethod) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMetaMethod) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMetaMethod(ptr QMetaMethod_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMetaMethod_PTR().Pointer() + } + return nil +} + +func NewQMetaMethodFromPointer(ptr unsafe.Pointer) (n *QMetaMethod) { + n = new(QMetaMethod) + n.SetPointer(ptr) + return +} + +func (ptr *QMetaMethod) DestroyQMetaMethod() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QMetaMethod__Access +//QMetaMethod::Access +type QMetaMethod__Access int64 + +const ( + QMetaMethod__Private QMetaMethod__Access = QMetaMethod__Access(0) + QMetaMethod__Protected QMetaMethod__Access = QMetaMethod__Access(1) + QMetaMethod__Public QMetaMethod__Access = QMetaMethod__Access(2) +) + +//go:generate stringer -type=QMetaMethod__MethodType +//QMetaMethod::MethodType +type QMetaMethod__MethodType int64 + +const ( + QMetaMethod__Method QMetaMethod__MethodType = QMetaMethod__MethodType(0) + QMetaMethod__Signal QMetaMethod__MethodType = QMetaMethod__MethodType(1) + QMetaMethod__Slot QMetaMethod__MethodType = QMetaMethod__MethodType(2) + QMetaMethod__Constructor QMetaMethod__MethodType = QMetaMethod__MethodType(3) +) + +func (ptr *QMetaMethod) Access() QMetaMethod__Access { + if ptr.Pointer() != nil { + return QMetaMethod__Access(C.QMetaMethod_Access(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMetaMethod) Invoke(object QObject_ITF, connectionType Qt__ConnectionType, returnValue QGenericReturnArgument_ITF, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaMethod_Invoke(ptr.Pointer(), PointerFromQObject(object), C.longlong(connectionType), PointerFromQGenericReturnArgument(returnValue), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 + } + return false +} + +func (ptr *QMetaMethod) Invoke2(object QObject_ITF, returnValue QGenericReturnArgument_ITF, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaMethod_Invoke2(ptr.Pointer(), PointerFromQObject(object), PointerFromQGenericReturnArgument(returnValue), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 + } + return false +} + +func (ptr *QMetaMethod) Invoke3(object QObject_ITF, connectionType Qt__ConnectionType, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaMethod_Invoke3(ptr.Pointer(), PointerFromQObject(object), C.longlong(connectionType), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 + } + return false +} + +func (ptr *QMetaMethod) Invoke4(object QObject_ITF, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaMethod_Invoke4(ptr.Pointer(), PointerFromQObject(object), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 + } + return false +} + +func (ptr *QMetaMethod) InvokeOnGadget(gadget unsafe.Pointer, returnValue QGenericReturnArgument_ITF, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaMethod_InvokeOnGadget(ptr.Pointer(), gadget, PointerFromQGenericReturnArgument(returnValue), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 + } + return false +} + +func (ptr *QMetaMethod) InvokeOnGadget2(gadget unsafe.Pointer, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaMethod_InvokeOnGadget2(ptr.Pointer(), gadget, PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 + } + return false +} + +func (ptr *QMetaMethod) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaMethod_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaMethod) MethodIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaMethod_MethodIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaMethod) MethodSignature() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QMetaMethod_MethodSignature(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QMetaMethod) MethodType() QMetaMethod__MethodType { + if ptr.Pointer() != nil { + return QMetaMethod__MethodType(C.QMetaMethod_MethodType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMetaMethod) Name() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QMetaMethod_Name(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QMetaMethod) ParameterCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaMethod_ParameterCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaMethod) ParameterNames() []*QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQMetaMethodFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__parameterNames_atList(i) + } + return out + }(C.QMetaMethod_ParameterNames(ptr.Pointer())) + } + return make([]*QByteArray, 0) +} + +func (ptr *QMetaMethod) ParameterType(index int) int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaMethod_ParameterType(ptr.Pointer(), C.int(int32(index))))) + } + return 0 +} + +func (ptr *QMetaMethod) ParameterTypes() []*QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQMetaMethodFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__parameterTypes_atList(i) + } + return out + }(C.QMetaMethod_ParameterTypes(ptr.Pointer())) + } + return make([]*QByteArray, 0) +} + +func (ptr *QMetaMethod) ReturnType() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaMethod_ReturnType(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaMethod) Revision() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaMethod_Revision(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaMethod) Tag() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaMethod_Tag(ptr.Pointer())) + } + return "" +} + +func (ptr *QMetaMethod) TypeName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaMethod_TypeName(ptr.Pointer())) + } + return "" +} + +func (ptr *QMetaMethod) __parameterNames_atList(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QMetaMethod___parameterNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QMetaMethod) __parameterNames_setList(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QMetaMethod___parameterNames_setList(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QMetaMethod) __parameterNames_newList() unsafe.Pointer { + return C.QMetaMethod___parameterNames_newList(ptr.Pointer()) +} + +func (ptr *QMetaMethod) __parameterTypes_atList(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QMetaMethod___parameterTypes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QMetaMethod) __parameterTypes_setList(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QMetaMethod___parameterTypes_setList(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QMetaMethod) __parameterTypes_newList() unsafe.Pointer { + return C.QMetaMethod___parameterTypes_newList(ptr.Pointer()) +} + +type QMetaObject struct { + ptr unsafe.Pointer +} + +type QMetaObject_ITF interface { + QMetaObject_PTR() *QMetaObject +} + +func (ptr *QMetaObject) QMetaObject_PTR() *QMetaObject { + return ptr +} + +func (ptr *QMetaObject) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMetaObject) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMetaObject(ptr QMetaObject_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMetaObject_PTR().Pointer() + } + return nil +} + +func NewQMetaObjectFromPointer(ptr unsafe.Pointer) (n *QMetaObject) { + n = new(QMetaObject) + n.SetPointer(ptr) + return +} + +func (ptr *QMetaObject) DestroyQMetaObject() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func QMetaObject_CheckConnectArgs(sign string, method string) bool { + var signC *C.char + if sign != "" { + signC = C.CString(sign) + defer C.free(unsafe.Pointer(signC)) + } + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + return int8(C.QMetaObject_QMetaObject_CheckConnectArgs(signC, methodC)) != 0 +} + +func (ptr *QMetaObject) CheckConnectArgs(sign string, method string) bool { + var signC *C.char + if sign != "" { + signC = C.CString(sign) + defer C.free(unsafe.Pointer(signC)) + } + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + return int8(C.QMetaObject_QMetaObject_CheckConnectArgs(signC, methodC)) != 0 +} + +func QMetaObject_CheckConnectArgs2(sign QMetaMethod_ITF, method QMetaMethod_ITF) bool { + return int8(C.QMetaObject_QMetaObject_CheckConnectArgs2(PointerFromQMetaMethod(sign), PointerFromQMetaMethod(method))) != 0 +} + +func (ptr *QMetaObject) CheckConnectArgs2(sign QMetaMethod_ITF, method QMetaMethod_ITF) bool { + return int8(C.QMetaObject_QMetaObject_CheckConnectArgs2(PointerFromQMetaMethod(sign), PointerFromQMetaMethod(method))) != 0 +} + +func (ptr *QMetaObject) ClassInfoCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaObject_ClassInfoCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaObject) ClassInfoOffset() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaObject_ClassInfoOffset(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaObject) ClassName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaObject_ClassName(ptr.Pointer())) + } + return "" +} + +func QMetaObject_ConnectSlotsByName(object QObject_ITF) { + C.QMetaObject_QMetaObject_ConnectSlotsByName(PointerFromQObject(object)) +} + +func (ptr *QMetaObject) ConnectSlotsByName(object QObject_ITF) { + C.QMetaObject_QMetaObject_ConnectSlotsByName(PointerFromQObject(object)) +} + +func (ptr *QMetaObject) Constructor(index int) *QMetaMethod { + if ptr.Pointer() != nil { + tmpValue := NewQMetaMethodFromPointer(C.QMetaObject_Constructor(ptr.Pointer(), C.int(int32(index)))) + runtime.SetFinalizer(tmpValue, (*QMetaMethod).DestroyQMetaMethod) + return tmpValue + } + return nil +} + +func (ptr *QMetaObject) ConstructorCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaObject_ConstructorCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaObject) EnumeratorCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaObject_EnumeratorCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaObject) EnumeratorOffset() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaObject_EnumeratorOffset(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaObject) IndexOfClassInfo(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QMetaObject_IndexOfClassInfo(ptr.Pointer(), nameC))) + } + return 0 +} + +func (ptr *QMetaObject) IndexOfConstructor(constructor string) int { + if ptr.Pointer() != nil { + var constructorC *C.char + if constructor != "" { + constructorC = C.CString(constructor) + defer C.free(unsafe.Pointer(constructorC)) + } + return int(int32(C.QMetaObject_IndexOfConstructor(ptr.Pointer(), constructorC))) + } + return 0 +} + +func (ptr *QMetaObject) IndexOfEnumerator(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QMetaObject_IndexOfEnumerator(ptr.Pointer(), nameC))) + } + return 0 +} + +func (ptr *QMetaObject) IndexOfMethod(method string) int { + if ptr.Pointer() != nil { + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + return int(int32(C.QMetaObject_IndexOfMethod(ptr.Pointer(), methodC))) + } + return 0 +} + +func (ptr *QMetaObject) IndexOfProperty(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QMetaObject_IndexOfProperty(ptr.Pointer(), nameC))) + } + return 0 +} + +func (ptr *QMetaObject) IndexOfSignal(sign string) int { + if ptr.Pointer() != nil { + var signC *C.char + if sign != "" { + signC = C.CString(sign) + defer C.free(unsafe.Pointer(signC)) + } + return int(int32(C.QMetaObject_IndexOfSignal(ptr.Pointer(), signC))) + } + return 0 +} + +func (ptr *QMetaObject) IndexOfSlot(slot string) int { + if ptr.Pointer() != nil { + var slotC *C.char + if slot != "" { + slotC = C.CString(slot) + defer C.free(unsafe.Pointer(slotC)) + } + return int(int32(C.QMetaObject_IndexOfSlot(ptr.Pointer(), slotC))) + } + return 0 +} + +func (ptr *QMetaObject) Inherits(metaObject QMetaObject_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaObject_Inherits(ptr.Pointer(), PointerFromQMetaObject(metaObject))) != 0 + } + return false +} + +func QMetaObject_InvokeMethod(obj QObject_ITF, member string, ty Qt__ConnectionType, ret QGenericReturnArgument_ITF, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int8(C.QMetaObject_QMetaObject_InvokeMethod(PointerFromQObject(obj), memberC, C.longlong(ty), PointerFromQGenericReturnArgument(ret), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 +} + +func (ptr *QMetaObject) InvokeMethod(obj QObject_ITF, member string, ty Qt__ConnectionType, ret QGenericReturnArgument_ITF, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int8(C.QMetaObject_QMetaObject_InvokeMethod(PointerFromQObject(obj), memberC, C.longlong(ty), PointerFromQGenericReturnArgument(ret), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 +} + +func QMetaObject_InvokeMethod2(obj QObject_ITF, member string, ret QGenericReturnArgument_ITF, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int8(C.QMetaObject_QMetaObject_InvokeMethod2(PointerFromQObject(obj), memberC, PointerFromQGenericReturnArgument(ret), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 +} + +func (ptr *QMetaObject) InvokeMethod2(obj QObject_ITF, member string, ret QGenericReturnArgument_ITF, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int8(C.QMetaObject_QMetaObject_InvokeMethod2(PointerFromQObject(obj), memberC, PointerFromQGenericReturnArgument(ret), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 +} + +func QMetaObject_InvokeMethod3(obj QObject_ITF, member string, ty Qt__ConnectionType, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int8(C.QMetaObject_QMetaObject_InvokeMethod3(PointerFromQObject(obj), memberC, C.longlong(ty), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 +} + +func (ptr *QMetaObject) InvokeMethod3(obj QObject_ITF, member string, ty Qt__ConnectionType, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int8(C.QMetaObject_QMetaObject_InvokeMethod3(PointerFromQObject(obj), memberC, C.longlong(ty), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 +} + +func QMetaObject_InvokeMethod4(obj QObject_ITF, member string, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int8(C.QMetaObject_QMetaObject_InvokeMethod4(PointerFromQObject(obj), memberC, PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 +} + +func (ptr *QMetaObject) InvokeMethod4(obj QObject_ITF, member string, val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) bool { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int8(C.QMetaObject_QMetaObject_InvokeMethod4(PointerFromQObject(obj), memberC, PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) != 0 +} + +func (ptr *QMetaObject) Method(index int) *QMetaMethod { + if ptr.Pointer() != nil { + tmpValue := NewQMetaMethodFromPointer(C.QMetaObject_Method(ptr.Pointer(), C.int(int32(index)))) + runtime.SetFinalizer(tmpValue, (*QMetaMethod).DestroyQMetaMethod) + return tmpValue + } + return nil +} + +func (ptr *QMetaObject) MethodCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaObject_MethodCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaObject) MethodOffset() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaObject_MethodOffset(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaObject) NewInstance(val0 QGenericArgument_ITF, val1 QGenericArgument_ITF, val2 QGenericArgument_ITF, val3 QGenericArgument_ITF, val4 QGenericArgument_ITF, val5 QGenericArgument_ITF, val6 QGenericArgument_ITF, val7 QGenericArgument_ITF, val8 QGenericArgument_ITF, val9 QGenericArgument_ITF) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QMetaObject_NewInstance(ptr.Pointer(), PointerFromQGenericArgument(val0), PointerFromQGenericArgument(val1), PointerFromQGenericArgument(val2), PointerFromQGenericArgument(val3), PointerFromQGenericArgument(val4), PointerFromQGenericArgument(val5), PointerFromQGenericArgument(val6), PointerFromQGenericArgument(val7), PointerFromQGenericArgument(val8), PointerFromQGenericArgument(val9))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func QMetaObject_NormalizedSignature(method string) *QByteArray { + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + tmpValue := NewQByteArrayFromPointer(C.QMetaObject_QMetaObject_NormalizedSignature(methodC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QMetaObject) NormalizedSignature(method string) *QByteArray { + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + tmpValue := NewQByteArrayFromPointer(C.QMetaObject_QMetaObject_NormalizedSignature(methodC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QMetaObject_NormalizedType(ty string) *QByteArray { + var tyC *C.char + if ty != "" { + tyC = C.CString(ty) + defer C.free(unsafe.Pointer(tyC)) + } + tmpValue := NewQByteArrayFromPointer(C.QMetaObject_QMetaObject_NormalizedType(tyC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QMetaObject) NormalizedType(ty string) *QByteArray { + var tyC *C.char + if ty != "" { + tyC = C.CString(ty) + defer C.free(unsafe.Pointer(tyC)) + } + tmpValue := NewQByteArrayFromPointer(C.QMetaObject_QMetaObject_NormalizedType(tyC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QMetaObject) PropertyCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaObject_PropertyCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaObject) PropertyOffset() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaObject_PropertyOffset(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaObject) SuperClass() *QMetaObject { + if ptr.Pointer() != nil { + return NewQMetaObjectFromPointer(C.QMetaObject_SuperClass(ptr.Pointer())) + } + return nil +} + +type QMetaProperty struct { + ptr unsafe.Pointer +} + +type QMetaProperty_ITF interface { + QMetaProperty_PTR() *QMetaProperty +} + +func (ptr *QMetaProperty) QMetaProperty_PTR() *QMetaProperty { + return ptr +} + +func (ptr *QMetaProperty) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMetaProperty) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMetaProperty(ptr QMetaProperty_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMetaProperty_PTR().Pointer() + } + return nil +} + +func NewQMetaPropertyFromPointer(ptr unsafe.Pointer) (n *QMetaProperty) { + n = new(QMetaProperty) + n.SetPointer(ptr) + return +} + +func (ptr *QMetaProperty) DestroyQMetaProperty() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QMetaProperty) HasNotifySignal() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_HasNotifySignal(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsConstant() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsConstant(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsDesignable(object QObject_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsDesignable(ptr.Pointer(), PointerFromQObject(object))) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsEnumType() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsEnumType(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsFinal() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsFinal(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsFlagType() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsFlagType(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsReadable() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsReadable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsResettable() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsResettable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsScriptable(object QObject_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsScriptable(ptr.Pointer(), PointerFromQObject(object))) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsStored(object QObject_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsStored(ptr.Pointer(), PointerFromQObject(object))) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsUser(object QObject_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsUser(ptr.Pointer(), PointerFromQObject(object))) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaProperty) IsWritable() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_IsWritable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaProperty) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaProperty_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QMetaProperty) NotifySignal() *QMetaMethod { + if ptr.Pointer() != nil { + tmpValue := NewQMetaMethodFromPointer(C.QMetaProperty_NotifySignal(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QMetaMethod).DestroyQMetaMethod) + return tmpValue + } + return nil +} + +func (ptr *QMetaProperty) NotifySignalIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaProperty_NotifySignalIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaProperty) PropertyIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaProperty_PropertyIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaProperty) Read(object QObject_ITF) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QMetaProperty_Read(ptr.Pointer(), PointerFromQObject(object))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QMetaProperty) ReadOnGadget(gadget unsafe.Pointer) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QMetaProperty_ReadOnGadget(ptr.Pointer(), gadget)) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QMetaProperty) Reset(object QObject_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_Reset(ptr.Pointer(), PointerFromQObject(object))) != 0 + } + return false +} + +func (ptr *QMetaProperty) ResetOnGadget(gadget unsafe.Pointer) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_ResetOnGadget(ptr.Pointer(), gadget)) != 0 + } + return false +} + +func (ptr *QMetaProperty) Revision() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaProperty_Revision(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaProperty) Type() QVariant__Type { + if ptr.Pointer() != nil { + return QVariant__Type(C.QMetaProperty_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMetaProperty) TypeName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMetaProperty_TypeName(ptr.Pointer())) + } + return "" +} + +func (ptr *QMetaProperty) UserType() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaProperty_UserType(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMetaProperty) Write(object QObject_ITF, value QVariant_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_Write(ptr.Pointer(), PointerFromQObject(object), PointerFromQVariant(value))) != 0 + } + return false +} + +func (ptr *QMetaProperty) WriteOnGadget(gadget unsafe.Pointer, value QVariant_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMetaProperty_WriteOnGadget(ptr.Pointer(), gadget, PointerFromQVariant(value))) != 0 + } + return false +} + +type QMetaType struct { + ptr unsafe.Pointer +} + +type QMetaType_ITF interface { + QMetaType_PTR() *QMetaType +} + +func (ptr *QMetaType) QMetaType_PTR() *QMetaType { + return ptr +} + +func (ptr *QMetaType) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMetaType) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMetaType(ptr QMetaType_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMetaType_PTR().Pointer() + } + return nil +} + +func NewQMetaTypeFromPointer(ptr unsafe.Pointer) (n *QMetaType) { + n = new(QMetaType) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QMetaType__Type +//QMetaType::Type +type QMetaType__Type int64 + +const ( + QMetaType__UnknownType QMetaType__Type = QMetaType__Type(0) + QMetaType__Bool QMetaType__Type = QMetaType__Type(1) + QMetaType__Int QMetaType__Type = QMetaType__Type(2) + QMetaType__UInt QMetaType__Type = QMetaType__Type(3) + QMetaType__LongLong QMetaType__Type = QMetaType__Type(4) + QMetaType__ULongLong QMetaType__Type = QMetaType__Type(5) + QMetaType__Double QMetaType__Type = QMetaType__Type(6) + QMetaType__Long QMetaType__Type = QMetaType__Type(32) + QMetaType__Short QMetaType__Type = QMetaType__Type(33) + QMetaType__Char QMetaType__Type = QMetaType__Type(34) + QMetaType__ULong QMetaType__Type = QMetaType__Type(35) + QMetaType__UShort QMetaType__Type = QMetaType__Type(36) + QMetaType__UChar QMetaType__Type = QMetaType__Type(37) + QMetaType__Float QMetaType__Type = QMetaType__Type(38) + QMetaType__VoidStar QMetaType__Type = QMetaType__Type(31) + QMetaType__QChar QMetaType__Type = QMetaType__Type(7) + QMetaType__QString QMetaType__Type = QMetaType__Type(10) + QMetaType__QStringList QMetaType__Type = QMetaType__Type(11) + QMetaType__QByteArray QMetaType__Type = QMetaType__Type(12) + QMetaType__QBitArray QMetaType__Type = QMetaType__Type(13) + QMetaType__QDate QMetaType__Type = QMetaType__Type(14) + QMetaType__QTime QMetaType__Type = QMetaType__Type(15) + QMetaType__QDateTime QMetaType__Type = QMetaType__Type(16) + QMetaType__QUrl QMetaType__Type = QMetaType__Type(17) + QMetaType__QLocale QMetaType__Type = QMetaType__Type(18) + QMetaType__QRect QMetaType__Type = QMetaType__Type(19) + QMetaType__QRectF QMetaType__Type = QMetaType__Type(20) + QMetaType__QSize QMetaType__Type = QMetaType__Type(21) + QMetaType__QSizeF QMetaType__Type = QMetaType__Type(22) + QMetaType__QLine QMetaType__Type = QMetaType__Type(23) + QMetaType__QLineF QMetaType__Type = QMetaType__Type(24) + QMetaType__QPoint QMetaType__Type = QMetaType__Type(25) + QMetaType__QPointF QMetaType__Type = QMetaType__Type(26) + QMetaType__QRegExp QMetaType__Type = QMetaType__Type(27) + QMetaType__QEasingCurve QMetaType__Type = QMetaType__Type(29) + QMetaType__QUuid QMetaType__Type = QMetaType__Type(30) + QMetaType__QVariant QMetaType__Type = QMetaType__Type(41) + QMetaType__QModelIndex QMetaType__Type = QMetaType__Type(42) + QMetaType__QPersistentModelIndex QMetaType__Type = QMetaType__Type(50) + QMetaType__QRegularExpression QMetaType__Type = QMetaType__Type(44) + QMetaType__QJsonValue QMetaType__Type = QMetaType__Type(45) + QMetaType__QJsonObject QMetaType__Type = QMetaType__Type(46) + QMetaType__QJsonArray QMetaType__Type = QMetaType__Type(47) + QMetaType__QJsonDocument QMetaType__Type = QMetaType__Type(48) + QMetaType__QByteArrayList QMetaType__Type = QMetaType__Type(49) + QMetaType__QObjectStar QMetaType__Type = QMetaType__Type(39) + QMetaType__SChar QMetaType__Type = QMetaType__Type(40) + QMetaType__Void QMetaType__Type = QMetaType__Type(43) + QMetaType__Nullptr QMetaType__Type = QMetaType__Type(51) + QMetaType__QVariantMap QMetaType__Type = QMetaType__Type(8) + QMetaType__QVariantList QMetaType__Type = QMetaType__Type(9) + QMetaType__QVariantHash QMetaType__Type = QMetaType__Type(28) + QMetaType__QCborSimpleType QMetaType__Type = QMetaType__Type(52) + QMetaType__QCborValue QMetaType__Type = QMetaType__Type(53) + QMetaType__QCborArray QMetaType__Type = QMetaType__Type(54) + QMetaType__QCborMap QMetaType__Type = QMetaType__Type(55) + QMetaType__QFont QMetaType__Type = QMetaType__Type(64) + QMetaType__QPixmap QMetaType__Type = QMetaType__Type(65) + QMetaType__QBrush QMetaType__Type = QMetaType__Type(66) + QMetaType__QColor QMetaType__Type = QMetaType__Type(67) + QMetaType__QPalette QMetaType__Type = QMetaType__Type(68) + QMetaType__QIcon QMetaType__Type = QMetaType__Type(69) + QMetaType__QImage QMetaType__Type = QMetaType__Type(70) + QMetaType__QPolygon QMetaType__Type = QMetaType__Type(71) + QMetaType__QRegion QMetaType__Type = QMetaType__Type(72) + QMetaType__QBitmap QMetaType__Type = QMetaType__Type(73) + QMetaType__QCursor QMetaType__Type = QMetaType__Type(74) + QMetaType__QKeySequence QMetaType__Type = QMetaType__Type(75) + QMetaType__QPen QMetaType__Type = QMetaType__Type(76) + QMetaType__QTextLength QMetaType__Type = QMetaType__Type(77) + QMetaType__QTextFormat QMetaType__Type = QMetaType__Type(78) + QMetaType__QMatrix QMetaType__Type = QMetaType__Type(79) + QMetaType__QTransform QMetaType__Type = QMetaType__Type(80) + QMetaType__QMatrix4x4 QMetaType__Type = QMetaType__Type(81) + QMetaType__QVector2D QMetaType__Type = QMetaType__Type(82) + QMetaType__QVector3D QMetaType__Type = QMetaType__Type(83) + QMetaType__QVector4D QMetaType__Type = QMetaType__Type(84) + QMetaType__QQuaternion QMetaType__Type = QMetaType__Type(85) + QMetaType__QPolygonF QMetaType__Type = QMetaType__Type(86) + QMetaType__QSizePolicy QMetaType__Type = QMetaType__Type(121) + QMetaType__LastCoreType QMetaType__Type = QMetaType__Type(QMetaType__QCborMap) + QMetaType__LastGuiType QMetaType__Type = QMetaType__Type(QMetaType__QPolygonF) + QMetaType__User QMetaType__Type = QMetaType__Type(1024) +) + +//go:generate stringer -type=QMetaType__TypeFlag +//QMetaType::TypeFlag +type QMetaType__TypeFlag int64 + +const ( + QMetaType__NeedsConstruction QMetaType__TypeFlag = QMetaType__TypeFlag(0x1) + QMetaType__NeedsDestruction QMetaType__TypeFlag = QMetaType__TypeFlag(0x2) + QMetaType__MovableType QMetaType__TypeFlag = QMetaType__TypeFlag(0x4) + QMetaType__PointerToQObject QMetaType__TypeFlag = QMetaType__TypeFlag(0x8) + QMetaType__IsEnumeration QMetaType__TypeFlag = QMetaType__TypeFlag(0x10) + QMetaType__SharedPointerToQObject QMetaType__TypeFlag = QMetaType__TypeFlag(0x20) + QMetaType__WeakPointerToQObject QMetaType__TypeFlag = QMetaType__TypeFlag(0x40) + QMetaType__TrackingPointerToQObject QMetaType__TypeFlag = QMetaType__TypeFlag(0x80) + QMetaType__WasDeclaredAsMetaType QMetaType__TypeFlag = QMetaType__TypeFlag(0x100) + QMetaType__IsGadget QMetaType__TypeFlag = QMetaType__TypeFlag(0x200) + QMetaType__PointerToGadget QMetaType__TypeFlag = QMetaType__TypeFlag(0x400) +) + +func NewQMetaType(typeId int) *QMetaType { + tmpValue := NewQMetaTypeFromPointer(C.QMetaType_NewQMetaType(C.int(int32(typeId)))) + runtime.SetFinalizer(tmpValue, (*QMetaType).DestroyQMetaType) + return tmpValue +} + +func QMetaType_Compare(lhs unsafe.Pointer, rhs unsafe.Pointer, typeId int, result int) bool { + return int8(C.QMetaType_QMetaType_Compare(lhs, rhs, C.int(int32(typeId)), C.int(int32(result)))) != 0 +} + +func (ptr *QMetaType) Compare(lhs unsafe.Pointer, rhs unsafe.Pointer, typeId int, result int) bool { + return int8(C.QMetaType_QMetaType_Compare(lhs, rhs, C.int(int32(typeId)), C.int(int32(result)))) != 0 +} + +func QMetaType_Construct2(ty int, where unsafe.Pointer, copy unsafe.Pointer) unsafe.Pointer { + return C.QMetaType_QMetaType_Construct2(C.int(int32(ty)), where, copy) +} + +func (ptr *QMetaType) Construct2(ty int, where unsafe.Pointer, copy unsafe.Pointer) unsafe.Pointer { + return C.QMetaType_QMetaType_Construct2(C.int(int32(ty)), where, copy) +} + +func (ptr *QMetaType) Construct3(where unsafe.Pointer, copy unsafe.Pointer) unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QMetaType_Construct3(ptr.Pointer(), where, copy) + } + return nil +} + +func QMetaType_Convert(from unsafe.Pointer, fromTypeId int, to unsafe.Pointer, toTypeId int) bool { + return int8(C.QMetaType_QMetaType_Convert(from, C.int(int32(fromTypeId)), to, C.int(int32(toTypeId)))) != 0 +} + +func (ptr *QMetaType) Convert(from unsafe.Pointer, fromTypeId int, to unsafe.Pointer, toTypeId int) bool { + return int8(C.QMetaType_QMetaType_Convert(from, C.int(int32(fromTypeId)), to, C.int(int32(toTypeId)))) != 0 +} + +func QMetaType_Create(ty int, copy unsafe.Pointer) unsafe.Pointer { + return C.QMetaType_QMetaType_Create(C.int(int32(ty)), copy) +} + +func (ptr *QMetaType) Create(ty int, copy unsafe.Pointer) unsafe.Pointer { + return C.QMetaType_QMetaType_Create(C.int(int32(ty)), copy) +} + +func (ptr *QMetaType) Create2(copy unsafe.Pointer) unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QMetaType_Create2(ptr.Pointer(), copy) + } + return nil +} + +func QMetaType_DebugStream(dbg QDebug_ITF, rhs unsafe.Pointer, typeId int) bool { + return int8(C.QMetaType_QMetaType_DebugStream(PointerFromQDebug(dbg), rhs, C.int(int32(typeId)))) != 0 +} + +func (ptr *QMetaType) DebugStream(dbg QDebug_ITF, rhs unsafe.Pointer, typeId int) bool { + return int8(C.QMetaType_QMetaType_DebugStream(PointerFromQDebug(dbg), rhs, C.int(int32(typeId)))) != 0 +} + +func QMetaType_Destroy(ty int, data unsafe.Pointer) { + C.QMetaType_QMetaType_Destroy(C.int(int32(ty)), data) +} + +func (ptr *QMetaType) Destroy(ty int, data unsafe.Pointer) { + C.QMetaType_QMetaType_Destroy(C.int(int32(ty)), data) +} + +func (ptr *QMetaType) Destroy2(data unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QMetaType_Destroy2(ptr.Pointer(), data) + } +} + +func QMetaType_Destruct(ty int, where unsafe.Pointer) { + C.QMetaType_QMetaType_Destruct(C.int(int32(ty)), where) +} + +func (ptr *QMetaType) Destruct(ty int, where unsafe.Pointer) { + C.QMetaType_QMetaType_Destruct(C.int(int32(ty)), where) +} + +func (ptr *QMetaType) Destruct2(data unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QMetaType_Destruct2(ptr.Pointer(), data) + } +} + +func QMetaType_Equals(lhs unsafe.Pointer, rhs unsafe.Pointer, typeId int, result int) bool { + return int8(C.QMetaType_QMetaType_Equals(lhs, rhs, C.int(int32(typeId)), C.int(int32(result)))) != 0 +} + +func (ptr *QMetaType) Equals(lhs unsafe.Pointer, rhs unsafe.Pointer, typeId int, result int) bool { + return int8(C.QMetaType_QMetaType_Equals(lhs, rhs, C.int(int32(typeId)), C.int(int32(result)))) != 0 +} + +func (ptr *QMetaType) Flags() QMetaType__TypeFlag { + if ptr.Pointer() != nil { + return QMetaType__TypeFlag(C.QMetaType_Flags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMetaType) Id() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaType_Id(ptr.Pointer()))) + } + return 0 +} + +func QMetaType_IsRegistered(ty int) bool { + return int8(C.QMetaType_QMetaType_IsRegistered(C.int(int32(ty)))) != 0 +} + +func (ptr *QMetaType) IsRegistered(ty int) bool { + return int8(C.QMetaType_QMetaType_IsRegistered(C.int(int32(ty)))) != 0 +} + +func (ptr *QMetaType) IsRegistered2() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaType_IsRegistered2(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMetaType) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QMetaType_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func QMetaType_Load(stream QDataStream_ITF, ty int, data unsafe.Pointer) bool { + return int8(C.QMetaType_QMetaType_Load(PointerFromQDataStream(stream), C.int(int32(ty)), data)) != 0 +} + +func (ptr *QMetaType) Load(stream QDataStream_ITF, ty int, data unsafe.Pointer) bool { + return int8(C.QMetaType_QMetaType_Load(PointerFromQDataStream(stream), C.int(int32(ty)), data)) != 0 +} + +func (ptr *QMetaType) MetaObject() *QMetaObject { + if ptr.Pointer() != nil { + return NewQMetaObjectFromPointer(C.QMetaType_MetaObject(ptr.Pointer())) + } + return nil +} + +func QMetaType_MetaObjectForType(ty int) *QMetaObject { + return NewQMetaObjectFromPointer(C.QMetaType_QMetaType_MetaObjectForType(C.int(int32(ty)))) +} + +func (ptr *QMetaType) MetaObjectForType(ty int) *QMetaObject { + return NewQMetaObjectFromPointer(C.QMetaType_QMetaType_MetaObjectForType(C.int(int32(ty)))) +} + +func QMetaType_Save(stream QDataStream_ITF, ty int, data unsafe.Pointer) bool { + return int8(C.QMetaType_QMetaType_Save(PointerFromQDataStream(stream), C.int(int32(ty)), data)) != 0 +} + +func (ptr *QMetaType) Save(stream QDataStream_ITF, ty int, data unsafe.Pointer) bool { + return int8(C.QMetaType_QMetaType_Save(PointerFromQDataStream(stream), C.int(int32(ty)), data)) != 0 +} + +func QMetaType_SizeOf(ty int) int { + return int(int32(C.QMetaType_QMetaType_SizeOf(C.int(int32(ty))))) +} + +func (ptr *QMetaType) SizeOf(ty int) int { + return int(int32(C.QMetaType_QMetaType_SizeOf(C.int(int32(ty))))) +} + +func (ptr *QMetaType) SizeOf2() int { + if ptr.Pointer() != nil { + return int(int32(C.QMetaType_SizeOf2(ptr.Pointer()))) + } + return 0 +} + +func QMetaType_Type(typeName string) int { + var typeNameC *C.char + if typeName != "" { + typeNameC = C.CString(typeName) + defer C.free(unsafe.Pointer(typeNameC)) + } + return int(int32(C.QMetaType_QMetaType_Type(typeNameC))) +} + +func (ptr *QMetaType) Type(typeName string) int { + var typeNameC *C.char + if typeName != "" { + typeNameC = C.CString(typeName) + defer C.free(unsafe.Pointer(typeNameC)) + } + return int(int32(C.QMetaType_QMetaType_Type(typeNameC))) +} + +func QMetaType_Type2(typeName QByteArray_ITF) int { + return int(int32(C.QMetaType_QMetaType_Type2(PointerFromQByteArray(typeName)))) +} + +func (ptr *QMetaType) Type2(typeName QByteArray_ITF) int { + return int(int32(C.QMetaType_QMetaType_Type2(PointerFromQByteArray(typeName)))) +} + +func QMetaType_TypeFlags(ty int) QMetaType__TypeFlag { + return QMetaType__TypeFlag(C.QMetaType_QMetaType_TypeFlags(C.int(int32(ty)))) +} + +func (ptr *QMetaType) TypeFlags(ty int) QMetaType__TypeFlag { + return QMetaType__TypeFlag(C.QMetaType_QMetaType_TypeFlags(C.int(int32(ty)))) +} + +func QMetaType_TypeName(typeId int) string { + return cGoUnpackString(C.QMetaType_QMetaType_TypeName(C.int(int32(typeId)))) +} + +func (ptr *QMetaType) TypeName(typeId int) string { + return cGoUnpackString(C.QMetaType_QMetaType_TypeName(C.int(int32(typeId)))) +} + +func (ptr *QMetaType) DestroyQMetaType() { + if ptr.Pointer() != nil { + C.QMetaType_DestroyQMetaType(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMimeData struct { + QObject +} + +type QMimeData_ITF interface { + QObject_ITF + QMimeData_PTR() *QMimeData +} + +func (ptr *QMimeData) QMimeData_PTR() *QMimeData { + return ptr +} + +func (ptr *QMimeData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QMimeData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQMimeData(ptr QMimeData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMimeData_PTR().Pointer() + } + return nil +} + +func NewQMimeDataFromPointer(ptr unsafe.Pointer) (n *QMimeData) { + n = new(QMimeData) + n.SetPointer(ptr) + return +} +func NewQMimeData() *QMimeData { + tmpValue := NewQMimeDataFromPointer(C.QMimeData_NewQMimeData()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QMimeData) Clear() { + if ptr.Pointer() != nil { + C.QMimeData_Clear(ptr.Pointer()) + } +} + +func (ptr *QMimeData) ColorData() *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QMimeData_ColorData(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QMimeData) Data(mimeType string) *QByteArray { + if ptr.Pointer() != nil { + var mimeTypeC *C.char + if mimeType != "" { + mimeTypeC = C.CString(mimeType) + defer C.free(unsafe.Pointer(mimeTypeC)) + } + tmpValue := NewQByteArrayFromPointer(C.QMimeData_Data(ptr.Pointer(), C.struct_QtCore_PackedString{data: mimeTypeC, len: C.longlong(len(mimeType))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +//export callbackQMimeData_Formats +func callbackQMimeData_Formats(ptr unsafe.Pointer) C.struct_QtCore_PackedString { + if signal := qt.GetSignal(ptr, "formats"); signal != nil { + tempVal := (*(*func() []string)(signal))() + return C.struct_QtCore_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} + } + tempVal := NewQMimeDataFromPointer(ptr).FormatsDefault() + return C.struct_QtCore_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} +} + +func (ptr *QMimeData) ConnectFormats(f func() []string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "formats"); signal != nil { + f := func() []string { + (*(*func() []string)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "formats", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "formats", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMimeData) DisconnectFormats() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "formats") + } +} + +func (ptr *QMimeData) Formats() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QMimeData_Formats(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QMimeData) FormatsDefault() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QMimeData_FormatsDefault(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QMimeData) HasColor() bool { + if ptr.Pointer() != nil { + return int8(C.QMimeData_HasColor(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQMimeData_HasFormat +func callbackQMimeData_HasFormat(ptr unsafe.Pointer, mimeType C.struct_QtCore_PackedString) C.char { + if signal := qt.GetSignal(ptr, "hasFormat"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(string) bool)(signal))(cGoUnpackString(mimeType))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQMimeDataFromPointer(ptr).HasFormatDefault(cGoUnpackString(mimeType))))) +} + +func (ptr *QMimeData) ConnectHasFormat(f func(mimeType string) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "hasFormat"); signal != nil { + f := func(mimeType string) bool { + (*(*func(string) bool)(signal))(mimeType) + return f(mimeType) + } + qt.ConnectSignal(ptr.Pointer(), "hasFormat", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "hasFormat", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMimeData) DisconnectHasFormat() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "hasFormat") + } +} + +func (ptr *QMimeData) HasFormat(mimeType string) bool { + if ptr.Pointer() != nil { + var mimeTypeC *C.char + if mimeType != "" { + mimeTypeC = C.CString(mimeType) + defer C.free(unsafe.Pointer(mimeTypeC)) + } + return int8(C.QMimeData_HasFormat(ptr.Pointer(), C.struct_QtCore_PackedString{data: mimeTypeC, len: C.longlong(len(mimeType))})) != 0 + } + return false +} + +func (ptr *QMimeData) HasFormatDefault(mimeType string) bool { + if ptr.Pointer() != nil { + var mimeTypeC *C.char + if mimeType != "" { + mimeTypeC = C.CString(mimeType) + defer C.free(unsafe.Pointer(mimeTypeC)) + } + return int8(C.QMimeData_HasFormatDefault(ptr.Pointer(), C.struct_QtCore_PackedString{data: mimeTypeC, len: C.longlong(len(mimeType))})) != 0 + } + return false +} + +func (ptr *QMimeData) HasHtml() bool { + if ptr.Pointer() != nil { + return int8(C.QMimeData_HasHtml(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMimeData) HasImage() bool { + if ptr.Pointer() != nil { + return int8(C.QMimeData_HasImage(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMimeData) HasText() bool { + if ptr.Pointer() != nil { + return int8(C.QMimeData_HasText(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMimeData) HasUrls() bool { + if ptr.Pointer() != nil { + return int8(C.QMimeData_HasUrls(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMimeData) Html() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMimeData_Html(ptr.Pointer())) + } + return "" +} + +func (ptr *QMimeData) ImageData() *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QMimeData_ImageData(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QMimeData) RemoveFormat(mimeType string) { + if ptr.Pointer() != nil { + var mimeTypeC *C.char + if mimeType != "" { + mimeTypeC = C.CString(mimeType) + defer C.free(unsafe.Pointer(mimeTypeC)) + } + C.QMimeData_RemoveFormat(ptr.Pointer(), C.struct_QtCore_PackedString{data: mimeTypeC, len: C.longlong(len(mimeType))}) + } +} + +//export callbackQMimeData_RetrieveData +func callbackQMimeData_RetrieveData(ptr unsafe.Pointer, mimeType C.struct_QtCore_PackedString, ty C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "retrieveData"); signal != nil { + return PointerFromQVariant((*(*func(string, QVariant__Type) *QVariant)(signal))(cGoUnpackString(mimeType), QVariant__Type(ty))) + } + + return PointerFromQVariant(NewQMimeDataFromPointer(ptr).RetrieveDataDefault(cGoUnpackString(mimeType), QVariant__Type(ty))) +} + +func (ptr *QMimeData) ConnectRetrieveData(f func(mimeType string, ty QVariant__Type) *QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "retrieveData"); signal != nil { + f := func(mimeType string, ty QVariant__Type) *QVariant { + (*(*func(string, QVariant__Type) *QVariant)(signal))(mimeType, ty) + return f(mimeType, ty) + } + qt.ConnectSignal(ptr.Pointer(), "retrieveData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "retrieveData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMimeData) DisconnectRetrieveData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "retrieveData") + } +} + +func (ptr *QMimeData) RetrieveData(mimeType string, ty QVariant__Type) *QVariant { + if ptr.Pointer() != nil { + var mimeTypeC *C.char + if mimeType != "" { + mimeTypeC = C.CString(mimeType) + defer C.free(unsafe.Pointer(mimeTypeC)) + } + tmpValue := NewQVariantFromPointer(C.QMimeData_RetrieveData(ptr.Pointer(), C.struct_QtCore_PackedString{data: mimeTypeC, len: C.longlong(len(mimeType))}, C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QMimeData) RetrieveDataDefault(mimeType string, ty QVariant__Type) *QVariant { + if ptr.Pointer() != nil { + var mimeTypeC *C.char + if mimeType != "" { + mimeTypeC = C.CString(mimeType) + defer C.free(unsafe.Pointer(mimeTypeC)) + } + tmpValue := NewQVariantFromPointer(C.QMimeData_RetrieveDataDefault(ptr.Pointer(), C.struct_QtCore_PackedString{data: mimeTypeC, len: C.longlong(len(mimeType))}, C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QMimeData) SetColorData(color QVariant_ITF) { + if ptr.Pointer() != nil { + C.QMimeData_SetColorData(ptr.Pointer(), PointerFromQVariant(color)) + } +} + +func (ptr *QMimeData) SetData(mimeType string, data QByteArray_ITF) { + if ptr.Pointer() != nil { + var mimeTypeC *C.char + if mimeType != "" { + mimeTypeC = C.CString(mimeType) + defer C.free(unsafe.Pointer(mimeTypeC)) + } + C.QMimeData_SetData(ptr.Pointer(), C.struct_QtCore_PackedString{data: mimeTypeC, len: C.longlong(len(mimeType))}, PointerFromQByteArray(data)) + } +} + +func (ptr *QMimeData) SetHtml(html string) { + if ptr.Pointer() != nil { + var htmlC *C.char + if html != "" { + htmlC = C.CString(html) + defer C.free(unsafe.Pointer(htmlC)) + } + C.QMimeData_SetHtml(ptr.Pointer(), C.struct_QtCore_PackedString{data: htmlC, len: C.longlong(len(html))}) + } +} + +func (ptr *QMimeData) SetImageData(image QVariant_ITF) { + if ptr.Pointer() != nil { + C.QMimeData_SetImageData(ptr.Pointer(), PointerFromQVariant(image)) + } +} + +func (ptr *QMimeData) SetText(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QMimeData_SetText(ptr.Pointer(), C.struct_QtCore_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QMimeData) SetUrls(urls []*QUrl) { + if ptr.Pointer() != nil { + C.QMimeData_SetUrls(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQMimeDataFromPointer(NewQMimeDataFromPointer(nil).__setUrls_urls_newList()) + for _, v := range urls { + tmpList.__setUrls_urls_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QMimeData) Text() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMimeData_Text(ptr.Pointer())) + } + return "" +} + +func (ptr *QMimeData) Urls() []*QUrl { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QUrl { + out := make([]*QUrl, int(l.len)) + tmpList := NewQMimeDataFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__urls_atList(i) + } + return out + }(C.QMimeData_Urls(ptr.Pointer())) + } + return make([]*QUrl, 0) +} + +//export callbackQMimeData_DestroyQMimeData +func callbackQMimeData_DestroyQMimeData(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QMimeData"); signal != nil { + (*(*func())(signal))() + } else { + NewQMimeDataFromPointer(ptr).DestroyQMimeDataDefault() + } +} + +func (ptr *QMimeData) ConnectDestroyQMimeData(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QMimeData"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QMimeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QMimeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMimeData) DisconnectDestroyQMimeData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QMimeData") + } +} + +func (ptr *QMimeData) DestroyQMimeData() { + if ptr.Pointer() != nil { + C.QMimeData_DestroyQMimeData(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QMimeData) DestroyQMimeDataDefault() { + if ptr.Pointer() != nil { + C.QMimeData_DestroyQMimeDataDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QMimeData) __setUrls_urls_atList(i int) *QUrl { + if ptr.Pointer() != nil { + tmpValue := NewQUrlFromPointer(C.QMimeData___setUrls_urls_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QMimeData) __setUrls_urls_setList(i QUrl_ITF) { + if ptr.Pointer() != nil { + C.QMimeData___setUrls_urls_setList(ptr.Pointer(), PointerFromQUrl(i)) + } +} + +func (ptr *QMimeData) __setUrls_urls_newList() unsafe.Pointer { + return C.QMimeData___setUrls_urls_newList(ptr.Pointer()) +} + +func (ptr *QMimeData) __urls_atList(i int) *QUrl { + if ptr.Pointer() != nil { + tmpValue := NewQUrlFromPointer(C.QMimeData___urls_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QMimeData) __urls_setList(i QUrl_ITF) { + if ptr.Pointer() != nil { + C.QMimeData___urls_setList(ptr.Pointer(), PointerFromQUrl(i)) + } +} + +func (ptr *QMimeData) __urls_newList() unsafe.Pointer { + return C.QMimeData___urls_newList(ptr.Pointer()) +} + +type QMimeDatabase struct { + ptr unsafe.Pointer +} + +type QMimeDatabase_ITF interface { + QMimeDatabase_PTR() *QMimeDatabase +} + +func (ptr *QMimeDatabase) QMimeDatabase_PTR() *QMimeDatabase { + return ptr +} + +func (ptr *QMimeDatabase) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMimeDatabase) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMimeDatabase(ptr QMimeDatabase_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMimeDatabase_PTR().Pointer() + } + return nil +} + +func NewQMimeDatabaseFromPointer(ptr unsafe.Pointer) (n *QMimeDatabase) { + n = new(QMimeDatabase) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QMimeDatabase__MatchMode +//QMimeDatabase::MatchMode +type QMimeDatabase__MatchMode int64 + +const ( + QMimeDatabase__MatchDefault QMimeDatabase__MatchMode = QMimeDatabase__MatchMode(0x0) + QMimeDatabase__MatchExtension QMimeDatabase__MatchMode = QMimeDatabase__MatchMode(0x1) + QMimeDatabase__MatchContent QMimeDatabase__MatchMode = QMimeDatabase__MatchMode(0x2) +) + +func NewQMimeDatabase2() *QMimeDatabase { + tmpValue := NewQMimeDatabaseFromPointer(C.QMimeDatabase_NewQMimeDatabase2()) + runtime.SetFinalizer(tmpValue, (*QMimeDatabase).DestroyQMimeDatabase) + return tmpValue +} + +func (ptr *QMimeDatabase) AllMimeTypes() []*QMimeType { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QMimeType { + out := make([]*QMimeType, int(l.len)) + tmpList := NewQMimeDatabaseFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__allMimeTypes_atList(i) + } + return out + }(C.QMimeDatabase_AllMimeTypes(ptr.Pointer())) + } + return make([]*QMimeType, 0) +} + +func (ptr *QMimeDatabase) MimeTypeForData(data QByteArray_ITF) *QMimeType { + if ptr.Pointer() != nil { + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase_MimeTypeForData(ptr.Pointer(), PointerFromQByteArray(data))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) MimeTypeForData2(device QIODevice_ITF) *QMimeType { + if ptr.Pointer() != nil { + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase_MimeTypeForData2(ptr.Pointer(), PointerFromQIODevice(device))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) MimeTypeForFile(fileInfo QFileInfo_ITF, mode QMimeDatabase__MatchMode) *QMimeType { + if ptr.Pointer() != nil { + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase_MimeTypeForFile(ptr.Pointer(), PointerFromQFileInfo(fileInfo), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) MimeTypeForFile2(fileName string, mode QMimeDatabase__MatchMode) *QMimeType { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase_MimeTypeForFile2(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) MimeTypeForFileNameAndData(fileName string, device QIODevice_ITF) *QMimeType { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase_MimeTypeForFileNameAndData(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, PointerFromQIODevice(device))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) MimeTypeForFileNameAndData2(fileName string, data QByteArray_ITF) *QMimeType { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase_MimeTypeForFileNameAndData2(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, PointerFromQByteArray(data))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) MimeTypeForName(nameOrAlias string) *QMimeType { + if ptr.Pointer() != nil { + var nameOrAliasC *C.char + if nameOrAlias != "" { + nameOrAliasC = C.CString(nameOrAlias) + defer C.free(unsafe.Pointer(nameOrAliasC)) + } + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase_MimeTypeForName(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameOrAliasC, len: C.longlong(len(nameOrAlias))})) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) MimeTypeForUrl(url QUrl_ITF) *QMimeType { + if ptr.Pointer() != nil { + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase_MimeTypeForUrl(ptr.Pointer(), PointerFromQUrl(url))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) MimeTypesForFileName(fileName string) []*QMimeType { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return func(l C.struct_QtCore_PackedList) []*QMimeType { + out := make([]*QMimeType, int(l.len)) + tmpList := NewQMimeDatabaseFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__mimeTypesForFileName_atList(i) + } + return out + }(C.QMimeDatabase_MimeTypesForFileName(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + } + return make([]*QMimeType, 0) +} + +func (ptr *QMimeDatabase) SuffixForFileName(fileName string) string { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return cGoUnpackString(C.QMimeDatabase_SuffixForFileName(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + } + return "" +} + +func (ptr *QMimeDatabase) DestroyQMimeDatabase() { + if ptr.Pointer() != nil { + C.QMimeDatabase_DestroyQMimeDatabase(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QMimeDatabase) __allMimeTypes_atList(i int) *QMimeType { + if ptr.Pointer() != nil { + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase___allMimeTypes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) __allMimeTypes_setList(i QMimeType_ITF) { + if ptr.Pointer() != nil { + C.QMimeDatabase___allMimeTypes_setList(ptr.Pointer(), PointerFromQMimeType(i)) + } +} + +func (ptr *QMimeDatabase) __allMimeTypes_newList() unsafe.Pointer { + return C.QMimeDatabase___allMimeTypes_newList(ptr.Pointer()) +} + +func (ptr *QMimeDatabase) __mimeTypesForFileName_atList(i int) *QMimeType { + if ptr.Pointer() != nil { + tmpValue := NewQMimeTypeFromPointer(C.QMimeDatabase___mimeTypesForFileName_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue + } + return nil +} + +func (ptr *QMimeDatabase) __mimeTypesForFileName_setList(i QMimeType_ITF) { + if ptr.Pointer() != nil { + C.QMimeDatabase___mimeTypesForFileName_setList(ptr.Pointer(), PointerFromQMimeType(i)) + } +} + +func (ptr *QMimeDatabase) __mimeTypesForFileName_newList() unsafe.Pointer { + return C.QMimeDatabase___mimeTypesForFileName_newList(ptr.Pointer()) +} + +type QMimeType struct { + ptr unsafe.Pointer +} + +type QMimeType_ITF interface { + QMimeType_PTR() *QMimeType +} + +func (ptr *QMimeType) QMimeType_PTR() *QMimeType { + return ptr +} + +func (ptr *QMimeType) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMimeType) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMimeType(ptr QMimeType_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMimeType_PTR().Pointer() + } + return nil +} + +func NewQMimeTypeFromPointer(ptr unsafe.Pointer) (n *QMimeType) { + n = new(QMimeType) + n.SetPointer(ptr) + return +} +func NewQMimeType() *QMimeType { + tmpValue := NewQMimeTypeFromPointer(C.QMimeType_NewQMimeType()) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue +} + +func NewQMimeType2(other QMimeType_ITF) *QMimeType { + tmpValue := NewQMimeTypeFromPointer(C.QMimeType_NewQMimeType2(PointerFromQMimeType(other))) + runtime.SetFinalizer(tmpValue, (*QMimeType).DestroyQMimeType) + return tmpValue +} + +func (ptr *QMimeType) Aliases() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QMimeType_Aliases(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QMimeType) AllAncestors() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QMimeType_AllAncestors(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QMimeType) Comment() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMimeType_Comment(ptr.Pointer())) + } + return "" +} + +func (ptr *QMimeType) FilterString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMimeType_FilterString(ptr.Pointer())) + } + return "" +} + +func (ptr *QMimeType) GenericIconName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMimeType_GenericIconName(ptr.Pointer())) + } + return "" +} + +func (ptr *QMimeType) GlobPatterns() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QMimeType_GlobPatterns(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QMimeType) IconName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMimeType_IconName(ptr.Pointer())) + } + return "" +} + +func (ptr *QMimeType) Inherits(mimeTypeName string) bool { + if ptr.Pointer() != nil { + var mimeTypeNameC *C.char + if mimeTypeName != "" { + mimeTypeNameC = C.CString(mimeTypeName) + defer C.free(unsafe.Pointer(mimeTypeNameC)) + } + return int8(C.QMimeType_Inherits(ptr.Pointer(), C.struct_QtCore_PackedString{data: mimeTypeNameC, len: C.longlong(len(mimeTypeName))})) != 0 + } + return false +} + +func (ptr *QMimeType) IsDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QMimeType_IsDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMimeType) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QMimeType_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMimeType) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMimeType_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QMimeType) ParentMimeTypes() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QMimeType_ParentMimeTypes(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QMimeType) PreferredSuffix() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMimeType_PreferredSuffix(ptr.Pointer())) + } + return "" +} + +func (ptr *QMimeType) Suffixes() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QMimeType_Suffixes(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QMimeType) Swap(other QMimeType_ITF) { + if ptr.Pointer() != nil { + C.QMimeType_Swap(ptr.Pointer(), PointerFromQMimeType(other)) + } +} + +func (ptr *QMimeType) DestroyQMimeType() { + if ptr.Pointer() != nil { + C.QMimeType_DestroyQMimeType(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QModelIndex struct { + ptr unsafe.Pointer +} + +type QModelIndex_ITF interface { + QModelIndex_PTR() *QModelIndex +} + +func (ptr *QModelIndex) QModelIndex_PTR() *QModelIndex { + return ptr +} + +func (ptr *QModelIndex) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QModelIndex) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQModelIndex(ptr QModelIndex_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QModelIndex_PTR().Pointer() + } + return nil +} + +func NewQModelIndexFromPointer(ptr unsafe.Pointer) (n *QModelIndex) { + n = new(QModelIndex) + n.SetPointer(ptr) + return +} + +func (ptr *QModelIndex) DestroyQModelIndex() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQModelIndex() *QModelIndex { + tmpValue := NewQModelIndexFromPointer(C.QModelIndex_NewQModelIndex()) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue +} + +func (ptr *QModelIndex) Column() int { + if ptr.Pointer() != nil { + return int(int32(C.QModelIndex_Column(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QModelIndex) Data(role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QModelIndex_Data(ptr.Pointer(), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QModelIndex) Flags() Qt__ItemFlag { + if ptr.Pointer() != nil { + return Qt__ItemFlag(C.QModelIndex_Flags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QModelIndex) InternalId() uintptr { + if ptr.Pointer() != nil { + return uintptr(C.QModelIndex_InternalId(ptr.Pointer())) + } + return 0 +} + +func (ptr *QModelIndex) InternalPointer() unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QModelIndex_InternalPointer(ptr.Pointer()) + } + return nil +} + +func (ptr *QModelIndex) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QModelIndex_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QModelIndex) Model() *QAbstractItemModel { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractItemModelFromPointer(C.QModelIndex_Model(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QModelIndex) Parent() *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QModelIndex_Parent(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QModelIndex) Row() int { + if ptr.Pointer() != nil { + return int(int32(C.QModelIndex_Row(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QModelIndex) Sibling(row int, column int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QModelIndex_Sibling(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QModelIndex) SiblingAtColumn(column int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QModelIndex_SiblingAtColumn(ptr.Pointer(), C.int(int32(column)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QModelIndex) SiblingAtRow(row int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QModelIndex_SiblingAtRow(ptr.Pointer(), C.int(int32(row)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +type QMultiHash struct { + QHash +} + +type QMultiHash_ITF interface { + QHash_ITF + QMultiHash_PTR() *QMultiHash +} + +func (ptr *QMultiHash) QMultiHash_PTR() *QMultiHash { + return ptr +} + +func (ptr *QMultiHash) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QHash_PTR().Pointer() + } + return nil +} + +func (ptr *QMultiHash) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QHash_PTR().SetPointer(p) + } +} + +func PointerFromQMultiHash(ptr QMultiHash_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMultiHash_PTR().Pointer() + } + return nil +} + +func NewQMultiHashFromPointer(ptr unsafe.Pointer) (n *QMultiHash) { + n = new(QMultiHash) + n.SetPointer(ptr) + return +} + +func (ptr *QMultiHash) DestroyQMultiHash() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMultiMap struct { + QMap +} + +type QMultiMap_ITF interface { + QMap_ITF + QMultiMap_PTR() *QMultiMap +} + +func (ptr *QMultiMap) QMultiMap_PTR() *QMultiMap { + return ptr +} + +func (ptr *QMultiMap) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QMap_PTR().Pointer() + } + return nil +} + +func (ptr *QMultiMap) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QMap_PTR().SetPointer(p) + } +} + +func PointerFromQMultiMap(ptr QMultiMap_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMultiMap_PTR().Pointer() + } + return nil +} + +func NewQMultiMapFromPointer(ptr unsafe.Pointer) (n *QMultiMap) { + n = new(QMultiMap) + n.SetPointer(ptr) + return +} + +func (ptr *QMultiMap) DestroyQMultiMap() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMutableHashIterator struct { + ptr unsafe.Pointer +} + +type QMutableHashIterator_ITF interface { + QMutableHashIterator_PTR() *QMutableHashIterator +} + +func (ptr *QMutableHashIterator) QMutableHashIterator_PTR() *QMutableHashIterator { + return ptr +} + +func (ptr *QMutableHashIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMutableHashIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMutableHashIterator(ptr QMutableHashIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMutableHashIterator_PTR().Pointer() + } + return nil +} + +func NewQMutableHashIteratorFromPointer(ptr unsafe.Pointer) (n *QMutableHashIterator) { + n = new(QMutableHashIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QMutableHashIterator) DestroyQMutableHashIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMutableLinkedListIterator struct { + ptr unsafe.Pointer +} + +type QMutableLinkedListIterator_ITF interface { + QMutableLinkedListIterator_PTR() *QMutableLinkedListIterator +} + +func (ptr *QMutableLinkedListIterator) QMutableLinkedListIterator_PTR() *QMutableLinkedListIterator { + return ptr +} + +func (ptr *QMutableLinkedListIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMutableLinkedListIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMutableLinkedListIterator(ptr QMutableLinkedListIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMutableLinkedListIterator_PTR().Pointer() + } + return nil +} + +func NewQMutableLinkedListIteratorFromPointer(ptr unsafe.Pointer) (n *QMutableLinkedListIterator) { + n = new(QMutableLinkedListIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QMutableLinkedListIterator) DestroyQMutableLinkedListIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMutableListIterator struct { + ptr unsafe.Pointer +} + +type QMutableListIterator_ITF interface { + QMutableListIterator_PTR() *QMutableListIterator +} + +func (ptr *QMutableListIterator) QMutableListIterator_PTR() *QMutableListIterator { + return ptr +} + +func (ptr *QMutableListIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMutableListIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMutableListIterator(ptr QMutableListIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMutableListIterator_PTR().Pointer() + } + return nil +} + +func NewQMutableListIteratorFromPointer(ptr unsafe.Pointer) (n *QMutableListIterator) { + n = new(QMutableListIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QMutableListIterator) DestroyQMutableListIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMutableMapIterator struct { + ptr unsafe.Pointer +} + +type QMutableMapIterator_ITF interface { + QMutableMapIterator_PTR() *QMutableMapIterator +} + +func (ptr *QMutableMapIterator) QMutableMapIterator_PTR() *QMutableMapIterator { + return ptr +} + +func (ptr *QMutableMapIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMutableMapIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMutableMapIterator(ptr QMutableMapIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMutableMapIterator_PTR().Pointer() + } + return nil +} + +func NewQMutableMapIteratorFromPointer(ptr unsafe.Pointer) (n *QMutableMapIterator) { + n = new(QMutableMapIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QMutableMapIterator) DestroyQMutableMapIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMutableSetIterator struct { + ptr unsafe.Pointer +} + +type QMutableSetIterator_ITF interface { + QMutableSetIterator_PTR() *QMutableSetIterator +} + +func (ptr *QMutableSetIterator) QMutableSetIterator_PTR() *QMutableSetIterator { + return ptr +} + +func (ptr *QMutableSetIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMutableSetIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMutableSetIterator(ptr QMutableSetIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMutableSetIterator_PTR().Pointer() + } + return nil +} + +func NewQMutableSetIteratorFromPointer(ptr unsafe.Pointer) (n *QMutableSetIterator) { + n = new(QMutableSetIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QMutableSetIterator) DestroyQMutableSetIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMutableVectorIterator struct { + ptr unsafe.Pointer +} + +type QMutableVectorIterator_ITF interface { + QMutableVectorIterator_PTR() *QMutableVectorIterator +} + +func (ptr *QMutableVectorIterator) QMutableVectorIterator_PTR() *QMutableVectorIterator { + return ptr +} + +func (ptr *QMutableVectorIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMutableVectorIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMutableVectorIterator(ptr QMutableVectorIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMutableVectorIterator_PTR().Pointer() + } + return nil +} + +func NewQMutableVectorIteratorFromPointer(ptr unsafe.Pointer) (n *QMutableVectorIterator) { + n = new(QMutableVectorIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QMutableVectorIterator) DestroyQMutableVectorIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMutex struct { + QBasicMutex +} + +type QMutex_ITF interface { + QBasicMutex_ITF + QMutex_PTR() *QMutex +} + +func (ptr *QMutex) QMutex_PTR() *QMutex { + return ptr +} + +func (ptr *QMutex) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QBasicMutex_PTR().Pointer() + } + return nil +} + +func (ptr *QMutex) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QBasicMutex_PTR().SetPointer(p) + } +} + +func PointerFromQMutex(ptr QMutex_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMutex_PTR().Pointer() + } + return nil +} + +func NewQMutexFromPointer(ptr unsafe.Pointer) (n *QMutex) { + n = new(QMutex) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QMutex__RecursionMode +//QMutex::RecursionMode +type QMutex__RecursionMode int64 + +const ( + QMutex__NonRecursive QMutex__RecursionMode = QMutex__RecursionMode(0) + QMutex__Recursive QMutex__RecursionMode = QMutex__RecursionMode(1) +) + +func NewQMutex(mode QMutex__RecursionMode) *QMutex { + tmpValue := NewQMutexFromPointer(C.QMutex_NewQMutex(C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QMutex).DestroyQMutex) + return tmpValue +} + +func (ptr *QMutex) Lock() { + if ptr.Pointer() != nil { + C.QMutex_Lock(ptr.Pointer()) + } +} + +func (ptr *QMutex) TryLock(timeout int) bool { + if ptr.Pointer() != nil { + return int8(C.QMutex_TryLock(ptr.Pointer(), C.int(int32(timeout)))) != 0 + } + return false +} + +func (ptr *QMutex) Try_lock() bool { + if ptr.Pointer() != nil { + return int8(C.QMutex_Try_lock(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMutex) Unlock() { + if ptr.Pointer() != nil { + C.QMutex_Unlock(ptr.Pointer()) + } +} + +func (ptr *QMutex) DestroyQMutex() { + if ptr.Pointer() != nil { + C.QMutex_DestroyQMutex(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMutexLocker struct { + ptr unsafe.Pointer +} + +type QMutexLocker_ITF interface { + QMutexLocker_PTR() *QMutexLocker +} + +func (ptr *QMutexLocker) QMutexLocker_PTR() *QMutexLocker { + return ptr +} + +func (ptr *QMutexLocker) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMutexLocker) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMutexLocker(ptr QMutexLocker_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMutexLocker_PTR().Pointer() + } + return nil +} + +func NewQMutexLockerFromPointer(ptr unsafe.Pointer) (n *QMutexLocker) { + n = new(QMutexLocker) + n.SetPointer(ptr) + return +} +func NewQMutexLocker(mutex QMutex_ITF) *QMutexLocker { + tmpValue := NewQMutexLockerFromPointer(C.QMutexLocker_NewQMutexLocker(PointerFromQMutex(mutex))) + runtime.SetFinalizer(tmpValue, (*QMutexLocker).DestroyQMutexLocker) + return tmpValue +} + +func (ptr *QMutexLocker) Mutex() *QMutex { + if ptr.Pointer() != nil { + return NewQMutexFromPointer(C.QMutexLocker_Mutex(ptr.Pointer())) + } + return nil +} + +func (ptr *QMutexLocker) Relock() { + if ptr.Pointer() != nil { + C.QMutexLocker_Relock(ptr.Pointer()) + } +} + +func (ptr *QMutexLocker) Unlock() { + if ptr.Pointer() != nil { + C.QMutexLocker_Unlock(ptr.Pointer()) + } +} + +func (ptr *QMutexLocker) DestroyQMutexLocker() { + if ptr.Pointer() != nil { + C.QMutexLocker_DestroyQMutexLocker(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QNoDebug struct { + ptr unsafe.Pointer +} + +type QNoDebug_ITF interface { + QNoDebug_PTR() *QNoDebug +} + +func (ptr *QNoDebug) QNoDebug_PTR() *QNoDebug { + return ptr +} + +func (ptr *QNoDebug) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNoDebug) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNoDebug(ptr QNoDebug_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNoDebug_PTR().Pointer() + } + return nil +} + +func NewQNoDebugFromPointer(ptr unsafe.Pointer) (n *QNoDebug) { + n = new(QNoDebug) + n.SetPointer(ptr) + return +} + +func (ptr *QNoDebug) DestroyQNoDebug() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QObject struct { + ptr unsafe.Pointer +} + +type QObject_ITF interface { + QObject_PTR() *QObject +} + +func (ptr *QObject) QObject_PTR() *QObject { + return ptr +} + +func (ptr *QObject) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QObject) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQObject(ptr QObject_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func NewQObjectFromPointer(ptr unsafe.Pointer) (n *QObject) { + n = new(QObject) + n.SetPointer(ptr) + return +} + +func (o *QObject) ConnectSignal(f, a interface{}, t Qt__ConnectionType) { + fn := strings.TrimSuffix(strings.Split(runtime.FuncForPC(reflect.ValueOf(f).Pointer()).Name(), ".Connect")[1], "-fm") + qt.RegisterConnectionType(o.Pointer(), strings.ToLower(fn[:1])+fn[1:], int64(t)) + reflect.ValueOf(f).Call([]reflect.Value{reflect.ValueOf(a)}) +} + +func NewQObject(parent QObject_ITF) *QObject { + tmpValue := NewQObjectFromPointer(C.QObject_NewQObject(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QObject) BlockSignals(block bool) bool { + if ptr.Pointer() != nil { + return int8(C.QObject_BlockSignals(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(block))))) != 0 + } + return false +} + +//export callbackQObject_ChildEvent +func callbackQObject_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*QChildEvent))(signal))(NewQChildEventFromPointer(event)) + } else { + NewQObjectFromPointer(ptr).ChildEventDefault(NewQChildEventFromPointer(event)) + } +} + +func (ptr *QObject) ConnectChildEvent(f func(event *QChildEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "childEvent"); signal != nil { + f := func(event *QChildEvent) { + (*(*func(*QChildEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "childEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "childEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectChildEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "childEvent") + } +} + +func (ptr *QObject) ChildEvent(event QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QObject_ChildEvent(ptr.Pointer(), PointerFromQChildEvent(event)) + } +} + +func (ptr *QObject) ChildEventDefault(event QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QObject_ChildEventDefault(ptr.Pointer(), PointerFromQChildEvent(event)) + } +} + +func (ptr *QObject) Children() []*QObject { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QObject { + out := make([]*QObject, int(l.len)) + tmpList := NewQObjectFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__children_atList(i) + } + return out + }(C.QObject_Children(ptr.Pointer())) + } + return make([]*QObject, 0) +} + +//export callbackQObject_ConnectNotify +func callbackQObject_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*QMetaMethod))(signal))(NewQMetaMethodFromPointer(sign)) + } else { + NewQObjectFromPointer(ptr).ConnectNotifyDefault(NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QObject) ConnectConnectNotify(f func(sign *QMetaMethod)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "connectNotify"); signal != nil { + f := func(sign *QMetaMethod) { + (*(*func(*QMetaMethod))(signal))(sign) + f(sign) + } + qt.ConnectSignal(ptr.Pointer(), "connectNotify", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "connectNotify", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectConnectNotify() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "connectNotify") + } +} + +func (ptr *QObject) ConnectNotify(sign QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QObject_ConnectNotify(ptr.Pointer(), PointerFromQMetaMethod(sign)) + } +} + +func (ptr *QObject) ConnectNotifyDefault(sign QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QObject_ConnectNotifyDefault(ptr.Pointer(), PointerFromQMetaMethod(sign)) + } +} + +//export callbackQObject_CustomEvent +func callbackQObject_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } else { + NewQObjectFromPointer(ptr).CustomEventDefault(NewQEventFromPointer(event)) + } +} + +func (ptr *QObject) ConnectCustomEvent(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "customEvent"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "customEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "customEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectCustomEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "customEvent") + } +} + +func (ptr *QObject) CustomEvent(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QObject_CustomEvent(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QObject) CustomEventDefault(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QObject_CustomEventDefault(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +//export callbackQObject_DeleteLater +func callbackQObject_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQObjectFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QObject) ConnectDeleteLater(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "deleteLater"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "deleteLater", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "deleteLater", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectDeleteLater() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "deleteLater") + } +} + +func (ptr *QObject) DeleteLater() { + if ptr.Pointer() != nil { + C.QObject_DeleteLater(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QObject) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QObject_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQObject_Destroyed +func callbackQObject_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*QObject))(signal))(NewQObjectFromPointer(obj)) + } + qt.Unregister(ptr) + +} + +func (ptr *QObject) ConnectDestroyed(f func(obj *QObject)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "destroyed") { + C.QObject_ConnectDestroyed(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "destroyed"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "destroyed"); signal != nil { + f := func(obj *QObject) { + (*(*func(*QObject))(signal))(obj) + f(obj) + } + qt.ConnectSignal(ptr.Pointer(), "destroyed", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "destroyed", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectDestroyed() { + if ptr.Pointer() != nil { + C.QObject_DisconnectDestroyed(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "destroyed") + } +} + +func (ptr *QObject) Destroyed(obj QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject_Destroyed(ptr.Pointer(), PointerFromQObject(obj)) + } +} + +func QObject_Disconnect(sender QObject_ITF, sign string, receiver QObject_ITF, method string) bool { + var signC *C.char + if sign != "" { + signC = C.CString(sign) + defer C.free(unsafe.Pointer(signC)) + } + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + return int8(C.QObject_QObject_Disconnect(PointerFromQObject(sender), signC, PointerFromQObject(receiver), methodC)) != 0 +} + +func (ptr *QObject) Disconnect(sender QObject_ITF, sign string, receiver QObject_ITF, method string) bool { + var signC *C.char + if sign != "" { + signC = C.CString(sign) + defer C.free(unsafe.Pointer(signC)) + } + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + return int8(C.QObject_QObject_Disconnect(PointerFromQObject(sender), signC, PointerFromQObject(receiver), methodC)) != 0 +} + +func QObject_Disconnect2(sender QObject_ITF, sign QMetaMethod_ITF, receiver QObject_ITF, method QMetaMethod_ITF) bool { + return int8(C.QObject_QObject_Disconnect2(PointerFromQObject(sender), PointerFromQMetaMethod(sign), PointerFromQObject(receiver), PointerFromQMetaMethod(method))) != 0 +} + +func (ptr *QObject) Disconnect2(sender QObject_ITF, sign QMetaMethod_ITF, receiver QObject_ITF, method QMetaMethod_ITF) bool { + return int8(C.QObject_QObject_Disconnect2(PointerFromQObject(sender), PointerFromQMetaMethod(sign), PointerFromQObject(receiver), PointerFromQMetaMethod(method))) != 0 +} + +func (ptr *QObject) Disconnect3(sign string, receiver QObject_ITF, method string) bool { + if ptr.Pointer() != nil { + var signC *C.char + if sign != "" { + signC = C.CString(sign) + defer C.free(unsafe.Pointer(signC)) + } + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + return int8(C.QObject_Disconnect3(ptr.Pointer(), signC, PointerFromQObject(receiver), methodC)) != 0 + } + return false +} + +func (ptr *QObject) Disconnect4(receiver QObject_ITF, method string) bool { + if ptr.Pointer() != nil { + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + return int8(C.QObject_Disconnect4(ptr.Pointer(), PointerFromQObject(receiver), methodC)) != 0 + } + return false +} + +//export callbackQObject_DisconnectNotify +func callbackQObject_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*QMetaMethod))(signal))(NewQMetaMethodFromPointer(sign)) + } else { + NewQObjectFromPointer(ptr).DisconnectNotifyDefault(NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QObject) ConnectDisconnectNotify(f func(sign *QMetaMethod)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "disconnectNotify"); signal != nil { + f := func(sign *QMetaMethod) { + (*(*func(*QMetaMethod))(signal))(sign) + f(sign) + } + qt.ConnectSignal(ptr.Pointer(), "disconnectNotify", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "disconnectNotify", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectDisconnectNotify() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "disconnectNotify") + } +} + +func (ptr *QObject) DisconnectNotify(sign QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QObject_DisconnectNotify(ptr.Pointer(), PointerFromQMetaMethod(sign)) + } +} + +func (ptr *QObject) DisconnectNotifyDefault(sign QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QObject_DisconnectNotifyDefault(ptr.Pointer(), PointerFromQMetaMethod(sign)) + } +} + +func (ptr *QObject) DumpObjectInfo() { + if ptr.Pointer() != nil { + C.QObject_DumpObjectInfo(ptr.Pointer()) + } +} + +func (ptr *QObject) DumpObjectTree() { + if ptr.Pointer() != nil { + C.QObject_DumpObjectTree(ptr.Pointer()) + } +} + +func (ptr *QObject) DynamicPropertyNames() []*QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQObjectFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__dynamicPropertyNames_atList(i) + } + return out + }(C.QObject_DynamicPropertyNames(ptr.Pointer())) + } + return make([]*QByteArray, 0) +} + +//export callbackQObject_Event +func callbackQObject_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QEvent) bool)(signal))(NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQObjectFromPointer(ptr).EventDefault(NewQEventFromPointer(e))))) +} + +func (ptr *QObject) ConnectEvent(f func(e *QEvent) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "event"); signal != nil { + f := func(e *QEvent) bool { + (*(*func(*QEvent) bool)(signal))(e) + return f(e) + } + qt.ConnectSignal(ptr.Pointer(), "event", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "event", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "event") + } +} + +func (ptr *QObject) Event(e QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QObject_Event(ptr.Pointer(), PointerFromQEvent(e))) != 0 + } + return false +} + +func (ptr *QObject) EventDefault(e QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QObject_EventDefault(ptr.Pointer(), PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQObject_EventFilter +func callbackQObject_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QObject, *QEvent) bool)(signal))(NewQObjectFromPointer(watched), NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQObjectFromPointer(ptr).EventFilterDefault(NewQObjectFromPointer(watched), NewQEventFromPointer(event))))) +} + +func (ptr *QObject) ConnectEventFilter(f func(watched *QObject, event *QEvent) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "eventFilter"); signal != nil { + f := func(watched *QObject, event *QEvent) bool { + (*(*func(*QObject, *QEvent) bool)(signal))(watched, event) + return f(watched, event) + } + qt.ConnectSignal(ptr.Pointer(), "eventFilter", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "eventFilter", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectEventFilter() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "eventFilter") + } +} + +func (ptr *QObject) EventFilter(watched QObject_ITF, event QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QObject_EventFilter(ptr.Pointer(), PointerFromQObject(watched), PointerFromQEvent(event))) != 0 + } + return false +} + +func (ptr *QObject) EventFilterDefault(watched QObject_ITF, event QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QObject_EventFilterDefault(ptr.Pointer(), PointerFromQObject(watched), PointerFromQEvent(event))) != 0 + } + return false +} + +func (ptr *QObject) FindChild(name string, options Qt__FindChildOption) *QObject { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQObjectFromPointer(C.QObject_FindChild(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.longlong(options))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObject) FindChildren(name string, options Qt__FindChildOption) []*QObject { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return func(l C.struct_QtCore_PackedList) []*QObject { + out := make([]*QObject, int(l.len)) + tmpList := NewQObjectFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__findChildren_atList(i) + } + return out + }(C.QObject_FindChildren(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.longlong(options))) + } + return make([]*QObject, 0) +} + +func (ptr *QObject) FindChildren3(re QRegularExpression_ITF, options Qt__FindChildOption) []*QObject { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QObject { + out := make([]*QObject, int(l.len)) + tmpList := NewQObjectFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__findChildren_atList3(i) + } + return out + }(C.QObject_FindChildren3(ptr.Pointer(), PointerFromQRegularExpression(re), C.longlong(options))) + } + return make([]*QObject, 0) +} + +func (ptr *QObject) Inherits(className string) bool { + if ptr.Pointer() != nil { + var classNameC *C.char + if className != "" { + classNameC = C.CString(className) + defer C.free(unsafe.Pointer(classNameC)) + } + return int8(C.QObject_Inherits(ptr.Pointer(), classNameC)) != 0 + } + return false +} + +func (ptr *QObject) InstallEventFilter(filterObj QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject_InstallEventFilter(ptr.Pointer(), PointerFromQObject(filterObj)) + } +} + +func (ptr *QObject) IsSignalConnected(sign QMetaMethod_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QObject_IsSignalConnected(ptr.Pointer(), PointerFromQMetaMethod(sign))) != 0 + } + return false +} + +func (ptr *QObject) IsWidgetType() bool { + if ptr.Pointer() != nil { + return int8(C.QObject_IsWidgetType(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QObject) IsWindowType() bool { + if ptr.Pointer() != nil { + return int8(C.QObject_IsWindowType(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QObject) KillTimer(id int) { + if ptr.Pointer() != nil { + C.QObject_KillTimer(ptr.Pointer(), C.int(int32(id))) + } +} + +//export callbackQObject_MetaObject +func callbackQObject_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return PointerFromQMetaObject((*(*func() *QMetaObject)(signal))()) + } + + return PointerFromQMetaObject(NewQObjectFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QObject) ConnectMetaObject(f func() *QMetaObject) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "metaObject"); signal != nil { + f := func() *QMetaObject { + (*(*func() *QMetaObject)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "metaObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "metaObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectMetaObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "metaObject") + } +} + +func (ptr *QObject) MetaObject() *QMetaObject { + if ptr.Pointer() != nil { + return NewQMetaObjectFromPointer(C.QObject_MetaObject(ptr.Pointer())) + } + return nil +} + +func (ptr *QObject) MetaObjectDefault() *QMetaObject { + if ptr.Pointer() != nil { + return NewQMetaObjectFromPointer(C.QObject_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +func (ptr *QObject) MoveToThread(targetThread QThread_ITF) { + if ptr.Pointer() != nil { + C.QObject_MoveToThread(ptr.Pointer(), PointerFromQThread(targetThread)) + } +} + +func (ptr *QObject) ObjectName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QObject_ObjectName(ptr.Pointer())) + } + return "" +} + +//export callbackQObject_ObjectNameChanged +func callbackQObject_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtCore_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +func (ptr *QObject) ConnectObjectNameChanged(f func(objectName string)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "objectNameChanged") { + C.QObject_ConnectObjectNameChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "objectNameChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "objectNameChanged"); signal != nil { + f := func(objectName string) { + (*(*func(string))(signal))(objectName) + f(objectName) + } + qt.ConnectSignal(ptr.Pointer(), "objectNameChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "objectNameChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectObjectNameChanged() { + if ptr.Pointer() != nil { + C.QObject_DisconnectObjectNameChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "objectNameChanged") + } +} + +func (ptr *QObject) Parent() *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObject_Parent(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObject) Property(name string) *QVariant { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQVariantFromPointer(C.QObject_Property(ptr.Pointer(), nameC)) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QObject) Receivers(sign string) int { + if ptr.Pointer() != nil { + var signC *C.char + if sign != "" { + signC = C.CString(sign) + defer C.free(unsafe.Pointer(signC)) + } + return int(int32(C.QObject_Receivers(ptr.Pointer(), signC))) + } + return 0 +} + +func (ptr *QObject) RemoveEventFilter(obj QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject_RemoveEventFilter(ptr.Pointer(), PointerFromQObject(obj)) + } +} + +func (ptr *QObject) Sender() *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObject_Sender(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObject) SenderSignalIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QObject_SenderSignalIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QObject) SetObjectName(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QObject_SetObjectName(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QObject) SetParent(parent QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject_SetParent(ptr.Pointer(), PointerFromQObject(parent)) + } +} + +func (ptr *QObject) SetProperty(name string, value QVariant_ITF) bool { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QObject_SetProperty(ptr.Pointer(), nameC, PointerFromQVariant(value))) != 0 + } + return false +} + +func (ptr *QObject) SignalsBlocked() bool { + if ptr.Pointer() != nil { + return int8(C.QObject_SignalsBlocked(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QObject) StartTimer(interval int, timerType Qt__TimerType) int { + if ptr.Pointer() != nil { + return int(int32(C.QObject_StartTimer(ptr.Pointer(), C.int(int32(interval)), C.longlong(timerType)))) + } + return 0 +} + +func (ptr *QObject) Thread() *QThread { + if ptr.Pointer() != nil { + tmpValue := NewQThreadFromPointer(C.QObject_Thread(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQObject_TimerEvent +func callbackQObject_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*QTimerEvent))(signal))(NewQTimerEventFromPointer(event)) + } else { + NewQObjectFromPointer(ptr).TimerEventDefault(NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QObject) ConnectTimerEvent(f func(event *QTimerEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "timerEvent"); signal != nil { + f := func(event *QTimerEvent) { + (*(*func(*QTimerEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "timerEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "timerEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectTimerEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "timerEvent") + } +} + +func (ptr *QObject) TimerEvent(event QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QObject_TimerEvent(ptr.Pointer(), PointerFromQTimerEvent(event)) + } +} + +func (ptr *QObject) TimerEventDefault(event QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QObject_TimerEventDefault(ptr.Pointer(), PointerFromQTimerEvent(event)) + } +} + +func QObject_Tr(sourceText string, disambiguation string, n int) string { + var sourceTextC *C.char + if sourceText != "" { + sourceTextC = C.CString(sourceText) + defer C.free(unsafe.Pointer(sourceTextC)) + } + var disambiguationC *C.char + if disambiguation != "" { + disambiguationC = C.CString(disambiguation) + defer C.free(unsafe.Pointer(disambiguationC)) + } + return cGoUnpackString(C.QObject_QObject_Tr(sourceTextC, disambiguationC, C.int(int32(n)))) +} + +func (ptr *QObject) Tr(sourceText string, disambiguation string, n int) string { + var sourceTextC *C.char + if sourceText != "" { + sourceTextC = C.CString(sourceText) + defer C.free(unsafe.Pointer(sourceTextC)) + } + var disambiguationC *C.char + if disambiguation != "" { + disambiguationC = C.CString(disambiguation) + defer C.free(unsafe.Pointer(disambiguationC)) + } + return cGoUnpackString(C.QObject_QObject_Tr(sourceTextC, disambiguationC, C.int(int32(n)))) +} + +//export callbackQObject_DestroyQObject +func callbackQObject_DestroyQObject(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QObject"); signal != nil { + (*(*func())(signal))() + } else { + NewQObjectFromPointer(ptr).DestroyQObjectDefault() + } +} + +func (ptr *QObject) ConnectDestroyQObject(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QObject"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObject) DisconnectDestroyQObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QObject") + } +} + +func (ptr *QObject) DestroyQObject() { + if ptr.Pointer() != nil { + C.QObject_DestroyQObject(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QObject) DestroyQObjectDefault() { + if ptr.Pointer() != nil { + C.QObject_DestroyQObjectDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QObject) InvokeMethod(name string, arg QVariant_ITF) *QVariant { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return NewQVariantFromPointer(C.QObject_InvokeMethod(ptr.Pointer(), nameC, PointerFromQVariant(arg))) + } + return nil +} + +func (ptr *QObject) ToVariant() *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QObject_ToVariant(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QObject) __children_atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObject___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObject) __children_setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject___children_setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObject) __children_newList() unsafe.Pointer { + return C.QObject___children_newList(ptr.Pointer()) +} + +func (ptr *QObject) __dynamicPropertyNames_atList(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QObject___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QObject) __dynamicPropertyNames_setList(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QObject___dynamicPropertyNames_setList(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QObject) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QObject___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QObject) __findChildren_atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObject___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObject) __findChildren_setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject___findChildren_setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObject) __findChildren_newList() unsafe.Pointer { + return C.QObject___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QObject) __findChildren_atList2(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObject___findChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObject) __findChildren_setList2(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject___findChildren_setList2(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObject) __findChildren_newList2() unsafe.Pointer { + return C.QObject___findChildren_newList2(ptr.Pointer()) +} + +func (ptr *QObject) __findChildren_atList3(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObject___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObject) __findChildren_setList3(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject___findChildren_setList3(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObject) __findChildren_newList3() unsafe.Pointer { + return C.QObject___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QObject) __qFindChildren_atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObject___qFindChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObject) __qFindChildren_setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject___qFindChildren_setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObject) __qFindChildren_newList() unsafe.Pointer { + return C.QObject___qFindChildren_newList(ptr.Pointer()) +} + +func (ptr *QObject) __qFindChildren_atList2(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObject___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObject) __qFindChildren_setList2(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObject___qFindChildren_setList2(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObject) __qFindChildren_newList2() unsafe.Pointer { + return C.QObject___qFindChildren_newList2(ptr.Pointer()) +} + +type QObjectCleanupHandler struct { + QObject +} + +type QObjectCleanupHandler_ITF interface { + QObject_ITF + QObjectCleanupHandler_PTR() *QObjectCleanupHandler +} + +func (ptr *QObjectCleanupHandler) QObjectCleanupHandler_PTR() *QObjectCleanupHandler { + return ptr +} + +func (ptr *QObjectCleanupHandler) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QObjectCleanupHandler) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQObjectCleanupHandler(ptr QObjectCleanupHandler_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QObjectCleanupHandler_PTR().Pointer() + } + return nil +} + +func NewQObjectCleanupHandlerFromPointer(ptr unsafe.Pointer) (n *QObjectCleanupHandler) { + n = new(QObjectCleanupHandler) + n.SetPointer(ptr) + return +} +func NewQObjectCleanupHandler() *QObjectCleanupHandler { + tmpValue := NewQObjectCleanupHandlerFromPointer(C.QObjectCleanupHandler_NewQObjectCleanupHandler()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QObjectCleanupHandler) Add(object QObject_ITF) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObjectCleanupHandler_Add(ptr.Pointer(), PointerFromQObject(object))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObjectCleanupHandler) Clear() { + if ptr.Pointer() != nil { + C.QObjectCleanupHandler_Clear(ptr.Pointer()) + } +} + +func (ptr *QObjectCleanupHandler) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QObjectCleanupHandler_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QObjectCleanupHandler) Remove(object QObject_ITF) { + if ptr.Pointer() != nil { + C.QObjectCleanupHandler_Remove(ptr.Pointer(), PointerFromQObject(object)) + } +} + +//export callbackQObjectCleanupHandler_DestroyQObjectCleanupHandler +func callbackQObjectCleanupHandler_DestroyQObjectCleanupHandler(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QObjectCleanupHandler"); signal != nil { + (*(*func())(signal))() + } else { + NewQObjectCleanupHandlerFromPointer(ptr).DestroyQObjectCleanupHandlerDefault() + } +} + +func (ptr *QObjectCleanupHandler) ConnectDestroyQObjectCleanupHandler(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QObjectCleanupHandler"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QObjectCleanupHandler", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QObjectCleanupHandler", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QObjectCleanupHandler) DisconnectDestroyQObjectCleanupHandler() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QObjectCleanupHandler") + } +} + +func (ptr *QObjectCleanupHandler) DestroyQObjectCleanupHandler() { + if ptr.Pointer() != nil { + C.QObjectCleanupHandler_DestroyQObjectCleanupHandler(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QObjectCleanupHandler) DestroyQObjectCleanupHandlerDefault() { + if ptr.Pointer() != nil { + C.QObjectCleanupHandler_DestroyQObjectCleanupHandlerDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QObjectCleanupHandler) __cleanupObjects_atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObjectCleanupHandler___cleanupObjects_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObjectCleanupHandler) __cleanupObjects_setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObjectCleanupHandler___cleanupObjects_setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObjectCleanupHandler) __cleanupObjects_newList() unsafe.Pointer { + return C.QObjectCleanupHandler___cleanupObjects_newList(ptr.Pointer()) +} + +func (ptr *QObjectCleanupHandler) __setCleanupObjects__atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObjectCleanupHandler___setCleanupObjects__atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObjectCleanupHandler) __setCleanupObjects__setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObjectCleanupHandler___setCleanupObjects__setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObjectCleanupHandler) __setCleanupObjects__newList() unsafe.Pointer { + return C.QObjectCleanupHandler___setCleanupObjects__newList(ptr.Pointer()) +} + +type QObjectData struct { + ptr unsafe.Pointer +} + +type QObjectData_ITF interface { + QObjectData_PTR() *QObjectData +} + +func (ptr *QObjectData) QObjectData_PTR() *QObjectData { + return ptr +} + +func (ptr *QObjectData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QObjectData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQObjectData(ptr QObjectData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QObjectData_PTR().Pointer() + } + return nil +} + +func NewQObjectDataFromPointer(ptr unsafe.Pointer) (n *QObjectData) { + n = new(QObjectData) + n.SetPointer(ptr) + return +} + +func (ptr *QObjectData) DestroyQObjectData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QObjectData) __children_atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObjectData___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObjectData) __children_setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObjectData___children_setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObjectData) __children_newList() unsafe.Pointer { + return C.QObjectData___children_newList(ptr.Pointer()) +} + +func (ptr *QObjectData) __setChildren__atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QObjectData___setChildren__atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QObjectData) __setChildren__setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QObjectData___setChildren__setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QObjectData) __setChildren__newList() unsafe.Pointer { + return C.QObjectData___setChildren__newList(ptr.Pointer()) +} + +type QObjectUserData struct { + ptr unsafe.Pointer +} + +type QObjectUserData_ITF interface { + QObjectUserData_PTR() *QObjectUserData +} + +func (ptr *QObjectUserData) QObjectUserData_PTR() *QObjectUserData { + return ptr +} + +func (ptr *QObjectUserData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QObjectUserData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQObjectUserData(ptr QObjectUserData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QObjectUserData_PTR().Pointer() + } + return nil +} + +func NewQObjectUserDataFromPointer(ptr unsafe.Pointer) (n *QObjectUserData) { + n = new(QObjectUserData) + n.SetPointer(ptr) + return +} + +func (ptr *QObjectUserData) DestroyQObjectUserData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOperatingSystemVersion struct { + ptr unsafe.Pointer +} + +type QOperatingSystemVersion_ITF interface { + QOperatingSystemVersion_PTR() *QOperatingSystemVersion +} + +func (ptr *QOperatingSystemVersion) QOperatingSystemVersion_PTR() *QOperatingSystemVersion { + return ptr +} + +func (ptr *QOperatingSystemVersion) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOperatingSystemVersion) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOperatingSystemVersion(ptr QOperatingSystemVersion_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOperatingSystemVersion_PTR().Pointer() + } + return nil +} + +func NewQOperatingSystemVersionFromPointer(ptr unsafe.Pointer) (n *QOperatingSystemVersion) { + n = new(QOperatingSystemVersion) + n.SetPointer(ptr) + return +} + +func (ptr *QOperatingSystemVersion) DestroyQOperatingSystemVersion() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QOperatingSystemVersion__OSType +//QOperatingSystemVersion::OSType +type QOperatingSystemVersion__OSType int64 + +const ( + QOperatingSystemVersion__Unknown QOperatingSystemVersion__OSType = QOperatingSystemVersion__OSType(0) + QOperatingSystemVersion__Windows QOperatingSystemVersion__OSType = QOperatingSystemVersion__OSType(1) + QOperatingSystemVersion__MacOS QOperatingSystemVersion__OSType = QOperatingSystemVersion__OSType(2) + QOperatingSystemVersion__IOS QOperatingSystemVersion__OSType = QOperatingSystemVersion__OSType(3) + QOperatingSystemVersion__TvOS QOperatingSystemVersion__OSType = QOperatingSystemVersion__OSType(4) + QOperatingSystemVersion__WatchOS QOperatingSystemVersion__OSType = QOperatingSystemVersion__OSType(5) + QOperatingSystemVersion__Android QOperatingSystemVersion__OSType = QOperatingSystemVersion__OSType(6) +) + +func NewQOperatingSystemVersion2(osType QOperatingSystemVersion__OSType, vmajor int, vminor int, vmicro int) *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_NewQOperatingSystemVersion2(C.longlong(osType), C.int(int32(vmajor)), C.int(int32(vminor)), C.int(int32(vmicro)))) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_Current() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Current()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) Current() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Current()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_CurrentType() QOperatingSystemVersion__OSType { + return QOperatingSystemVersion__OSType(C.QOperatingSystemVersion_QOperatingSystemVersion_CurrentType()) +} + +func (ptr *QOperatingSystemVersion) CurrentType() QOperatingSystemVersion__OSType { + return QOperatingSystemVersion__OSType(C.QOperatingSystemVersion_QOperatingSystemVersion_CurrentType()) +} + +func (ptr *QOperatingSystemVersion) MajorVersion() int { + if ptr.Pointer() != nil { + return int(int32(C.QOperatingSystemVersion_MajorVersion(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOperatingSystemVersion) MicroVersion() int { + if ptr.Pointer() != nil { + return int(int32(C.QOperatingSystemVersion_MicroVersion(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOperatingSystemVersion) MinorVersion() int { + if ptr.Pointer() != nil { + return int(int32(C.QOperatingSystemVersion_MinorVersion(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOperatingSystemVersion) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QOperatingSystemVersion_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QOperatingSystemVersion) SegmentCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QOperatingSystemVersion_SegmentCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOperatingSystemVersion) Type() QOperatingSystemVersion__OSType { + if ptr.Pointer() != nil { + return QOperatingSystemVersion__OSType(C.QOperatingSystemVersion_Type(ptr.Pointer())) + } + return 0 +} + +func QOperatingSystemVersion_Windows7() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Windows7()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) Windows7() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Windows7()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_Windows8() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Windows8()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) Windows8() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Windows8()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_Windows8_1() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Windows8_1()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) Windows8_1() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Windows8_1()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_Windows10() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Windows10()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) Windows10() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_Windows10()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_OSXMavericks() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_OSXMavericks()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) OSXMavericks() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_OSXMavericks()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_OSXYosemite() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_OSXYosemite()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) OSXYosemite() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_OSXYosemite()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_OSXElCapitan() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_OSXElCapitan()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) OSXElCapitan() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_OSXElCapitan()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_MacOSSierra() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_MacOSSierra()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) MacOSSierra() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_MacOSSierra()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_MacOSHighSierra() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_MacOSHighSierra()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) MacOSHighSierra() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_MacOSHighSierra()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_MacOSMojave() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_MacOSMojave()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) MacOSMojave() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_MacOSMojave()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidJellyBean() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidJellyBean() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidJellyBean_MR1() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean_MR1()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidJellyBean_MR1() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean_MR1()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidJellyBean_MR2() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean_MR2()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidJellyBean_MR2() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean_MR2()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidKitKat() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidKitKat()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidKitKat() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidKitKat()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidLollipop() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidLollipop()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidLollipop() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidLollipop()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidLollipop_MR1() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidLollipop_MR1()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidLollipop_MR1() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidLollipop_MR1()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidMarshmallow() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidMarshmallow()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidMarshmallow() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidMarshmallow()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidNougat() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidNougat()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidNougat() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidNougat()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidNougat_MR1() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidNougat_MR1()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidNougat_MR1() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidNougat_MR1()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func QOperatingSystemVersion_AndroidOreo() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidOreo()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func (ptr *QOperatingSystemVersion) AndroidOreo() *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_QOperatingSystemVersion_AndroidOreo()) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +func NewQOperatingSystemVersion(other QOperatingSystemVersion_ITF) *QOperatingSystemVersion { + tmpValue := NewQOperatingSystemVersionFromPointer(C.QOperatingSystemVersion_NewQOperatingSystemVersion(PointerFromQOperatingSystemVersion(other))) + runtime.SetFinalizer(tmpValue, (*QOperatingSystemVersion).DestroyQOperatingSystemVersion) + return tmpValue +} + +type QPair struct { + ptr unsafe.Pointer +} + +type QPair_ITF interface { + QPair_PTR() *QPair +} + +func (ptr *QPair) QPair_PTR() *QPair { + return ptr +} + +func (ptr *QPair) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPair) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPair(ptr QPair_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPair_PTR().Pointer() + } + return nil +} + +func NewQPairFromPointer(ptr unsafe.Pointer) (n *QPair) { + n = new(QPair) + n.SetPointer(ptr) + return +} + +func (ptr *QPair) DestroyQPair() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QParallelAnimationGroup struct { + QAnimationGroup +} + +type QParallelAnimationGroup_ITF interface { + QAnimationGroup_ITF + QParallelAnimationGroup_PTR() *QParallelAnimationGroup +} + +func (ptr *QParallelAnimationGroup) QParallelAnimationGroup_PTR() *QParallelAnimationGroup { + return ptr +} + +func (ptr *QParallelAnimationGroup) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAnimationGroup_PTR().Pointer() + } + return nil +} + +func (ptr *QParallelAnimationGroup) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAnimationGroup_PTR().SetPointer(p) + } +} + +func PointerFromQParallelAnimationGroup(ptr QParallelAnimationGroup_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QParallelAnimationGroup_PTR().Pointer() + } + return nil +} + +func NewQParallelAnimationGroupFromPointer(ptr unsafe.Pointer) (n *QParallelAnimationGroup) { + n = new(QParallelAnimationGroup) + n.SetPointer(ptr) + return +} +func NewQParallelAnimationGroup(parent QObject_ITF) *QParallelAnimationGroup { + tmpValue := NewQParallelAnimationGroupFromPointer(C.QParallelAnimationGroup_NewQParallelAnimationGroup(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQParallelAnimationGroup_Duration +func callbackQParallelAnimationGroup_Duration(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "duration"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQParallelAnimationGroupFromPointer(ptr).DurationDefault())) +} + +func (ptr *QParallelAnimationGroup) ConnectDuration(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "duration"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QParallelAnimationGroup) DisconnectDuration() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "duration") + } +} + +func (ptr *QParallelAnimationGroup) Duration() int { + if ptr.Pointer() != nil { + return int(int32(C.QParallelAnimationGroup_Duration(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QParallelAnimationGroup) DurationDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QParallelAnimationGroup_DurationDefault(ptr.Pointer()))) + } + return 0 +} + +//export callbackQParallelAnimationGroup_UpdateCurrentTime +func callbackQParallelAnimationGroup_UpdateCurrentTime(ptr unsafe.Pointer, currentTime C.int) { + if signal := qt.GetSignal(ptr, "updateCurrentTime"); signal != nil { + (*(*func(int))(signal))(int(int32(currentTime))) + } else { + NewQParallelAnimationGroupFromPointer(ptr).UpdateCurrentTimeDefault(int(int32(currentTime))) + } +} + +func (ptr *QParallelAnimationGroup) ConnectUpdateCurrentTime(f func(currentTime int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateCurrentTime"); signal != nil { + f := func(currentTime int) { + (*(*func(int))(signal))(currentTime) + f(currentTime) + } + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QParallelAnimationGroup) DisconnectUpdateCurrentTime() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateCurrentTime") + } +} + +func (ptr *QParallelAnimationGroup) UpdateCurrentTime(currentTime int) { + if ptr.Pointer() != nil { + C.QParallelAnimationGroup_UpdateCurrentTime(ptr.Pointer(), C.int(int32(currentTime))) + } +} + +func (ptr *QParallelAnimationGroup) UpdateCurrentTimeDefault(currentTime int) { + if ptr.Pointer() != nil { + C.QParallelAnimationGroup_UpdateCurrentTimeDefault(ptr.Pointer(), C.int(int32(currentTime))) + } +} + +//export callbackQParallelAnimationGroup_DestroyQParallelAnimationGroup +func callbackQParallelAnimationGroup_DestroyQParallelAnimationGroup(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QParallelAnimationGroup"); signal != nil { + (*(*func())(signal))() + } else { + NewQParallelAnimationGroupFromPointer(ptr).DestroyQParallelAnimationGroupDefault() + } +} + +func (ptr *QParallelAnimationGroup) ConnectDestroyQParallelAnimationGroup(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QParallelAnimationGroup"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QParallelAnimationGroup", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QParallelAnimationGroup", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QParallelAnimationGroup) DisconnectDestroyQParallelAnimationGroup() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QParallelAnimationGroup") + } +} + +func (ptr *QParallelAnimationGroup) DestroyQParallelAnimationGroup() { + if ptr.Pointer() != nil { + C.QParallelAnimationGroup_DestroyQParallelAnimationGroup(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QParallelAnimationGroup) DestroyQParallelAnimationGroupDefault() { + if ptr.Pointer() != nil { + C.QParallelAnimationGroup_DestroyQParallelAnimationGroupDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPauseAnimation struct { + QAbstractAnimation +} + +type QPauseAnimation_ITF interface { + QAbstractAnimation_ITF + QPauseAnimation_PTR() *QPauseAnimation +} + +func (ptr *QPauseAnimation) QPauseAnimation_PTR() *QPauseAnimation { + return ptr +} + +func (ptr *QPauseAnimation) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractAnimation_PTR().Pointer() + } + return nil +} + +func (ptr *QPauseAnimation) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractAnimation_PTR().SetPointer(p) + } +} + +func PointerFromQPauseAnimation(ptr QPauseAnimation_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPauseAnimation_PTR().Pointer() + } + return nil +} + +func NewQPauseAnimationFromPointer(ptr unsafe.Pointer) (n *QPauseAnimation) { + n = new(QPauseAnimation) + n.SetPointer(ptr) + return +} +func NewQPauseAnimation(parent QObject_ITF) *QPauseAnimation { + tmpValue := NewQPauseAnimationFromPointer(C.QPauseAnimation_NewQPauseAnimation(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQPauseAnimation2(msecs int, parent QObject_ITF) *QPauseAnimation { + tmpValue := NewQPauseAnimationFromPointer(C.QPauseAnimation_NewQPauseAnimation2(C.int(int32(msecs)), PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQPauseAnimation_Duration +func callbackQPauseAnimation_Duration(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "duration"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQPauseAnimationFromPointer(ptr).DurationDefault())) +} + +func (ptr *QPauseAnimation) ConnectDuration(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "duration"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPauseAnimation) DisconnectDuration() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "duration") + } +} + +func (ptr *QPauseAnimation) Duration() int { + if ptr.Pointer() != nil { + return int(int32(C.QPauseAnimation_Duration(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPauseAnimation) DurationDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QPauseAnimation_DurationDefault(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPauseAnimation) SetDuration(msecs int) { + if ptr.Pointer() != nil { + C.QPauseAnimation_SetDuration(ptr.Pointer(), C.int(int32(msecs))) + } +} + +//export callbackQPauseAnimation_UpdateCurrentTime +func callbackQPauseAnimation_UpdateCurrentTime(ptr unsafe.Pointer, vin C.int) { + if signal := qt.GetSignal(ptr, "updateCurrentTime"); signal != nil { + (*(*func(int))(signal))(int(int32(vin))) + } else { + NewQPauseAnimationFromPointer(ptr).UpdateCurrentTimeDefault(int(int32(vin))) + } +} + +func (ptr *QPauseAnimation) ConnectUpdateCurrentTime(f func(vin int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateCurrentTime"); signal != nil { + f := func(vin int) { + (*(*func(int))(signal))(vin) + f(vin) + } + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPauseAnimation) DisconnectUpdateCurrentTime() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateCurrentTime") + } +} + +func (ptr *QPauseAnimation) UpdateCurrentTime(vin int) { + if ptr.Pointer() != nil { + C.QPauseAnimation_UpdateCurrentTime(ptr.Pointer(), C.int(int32(vin))) + } +} + +func (ptr *QPauseAnimation) UpdateCurrentTimeDefault(vin int) { + if ptr.Pointer() != nil { + C.QPauseAnimation_UpdateCurrentTimeDefault(ptr.Pointer(), C.int(int32(vin))) + } +} + +//export callbackQPauseAnimation_DestroyQPauseAnimation +func callbackQPauseAnimation_DestroyQPauseAnimation(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPauseAnimation"); signal != nil { + (*(*func())(signal))() + } else { + NewQPauseAnimationFromPointer(ptr).DestroyQPauseAnimationDefault() + } +} + +func (ptr *QPauseAnimation) ConnectDestroyQPauseAnimation(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPauseAnimation"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPauseAnimation", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPauseAnimation", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPauseAnimation) DisconnectDestroyQPauseAnimation() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPauseAnimation") + } +} + +func (ptr *QPauseAnimation) DestroyQPauseAnimation() { + if ptr.Pointer() != nil { + C.QPauseAnimation_DestroyQPauseAnimation(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPauseAnimation) DestroyQPauseAnimationDefault() { + if ptr.Pointer() != nil { + C.QPauseAnimation_DestroyQPauseAnimationDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPersistentModelIndex struct { + ptr unsafe.Pointer +} + +type QPersistentModelIndex_ITF interface { + QPersistentModelIndex_PTR() *QPersistentModelIndex +} + +func (ptr *QPersistentModelIndex) QPersistentModelIndex_PTR() *QPersistentModelIndex { + return ptr +} + +func (ptr *QPersistentModelIndex) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPersistentModelIndex) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPersistentModelIndex(ptr QPersistentModelIndex_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPersistentModelIndex_PTR().Pointer() + } + return nil +} + +func NewQPersistentModelIndexFromPointer(ptr unsafe.Pointer) (n *QPersistentModelIndex) { + n = new(QPersistentModelIndex) + n.SetPointer(ptr) + return +} + +func (ptr *QPersistentModelIndex) DestroyQPersistentModelIndex() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQPersistentModelIndex2(index QModelIndex_ITF) *QPersistentModelIndex { + tmpValue := NewQPersistentModelIndexFromPointer(C.QPersistentModelIndex_NewQPersistentModelIndex2(PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QPersistentModelIndex).DestroyQPersistentModelIndex) + return tmpValue +} + +func NewQPersistentModelIndex3(other QPersistentModelIndex_ITF) *QPersistentModelIndex { + tmpValue := NewQPersistentModelIndexFromPointer(C.QPersistentModelIndex_NewQPersistentModelIndex3(PointerFromQPersistentModelIndex(other))) + runtime.SetFinalizer(tmpValue, (*QPersistentModelIndex).DestroyQPersistentModelIndex) + return tmpValue +} + +func NewQPersistentModelIndex4(other QPersistentModelIndex_ITF) *QPersistentModelIndex { + tmpValue := NewQPersistentModelIndexFromPointer(C.QPersistentModelIndex_NewQPersistentModelIndex4(PointerFromQPersistentModelIndex(other))) + runtime.SetFinalizer(tmpValue, (*QPersistentModelIndex).DestroyQPersistentModelIndex) + return tmpValue +} + +func (ptr *QPersistentModelIndex) Column() int { + if ptr.Pointer() != nil { + return int(int32(C.QPersistentModelIndex_Column(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPersistentModelIndex) Data(role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QPersistentModelIndex_Data(ptr.Pointer(), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QPersistentModelIndex) Flags() Qt__ItemFlag { + if ptr.Pointer() != nil { + return Qt__ItemFlag(C.QPersistentModelIndex_Flags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPersistentModelIndex) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QPersistentModelIndex_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPersistentModelIndex) Model() *QAbstractItemModel { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractItemModelFromPointer(C.QPersistentModelIndex_Model(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPersistentModelIndex) Parent() *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QPersistentModelIndex_Parent(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QPersistentModelIndex) Row() int { + if ptr.Pointer() != nil { + return int(int32(C.QPersistentModelIndex_Row(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPersistentModelIndex) Sibling(row int, column int) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QPersistentModelIndex_Sibling(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QPersistentModelIndex) Swap(other QPersistentModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QPersistentModelIndex_Swap(ptr.Pointer(), PointerFromQPersistentModelIndex(other)) + } +} + +type QPluginLoader struct { + QObject +} + +type QPluginLoader_ITF interface { + QObject_ITF + QPluginLoader_PTR() *QPluginLoader +} + +func (ptr *QPluginLoader) QPluginLoader_PTR() *QPluginLoader { + return ptr +} + +func (ptr *QPluginLoader) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QPluginLoader) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQPluginLoader(ptr QPluginLoader_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPluginLoader_PTR().Pointer() + } + return nil +} + +func NewQPluginLoaderFromPointer(ptr unsafe.Pointer) (n *QPluginLoader) { + n = new(QPluginLoader) + n.SetPointer(ptr) + return +} +func NewQPluginLoader(parent QObject_ITF) *QPluginLoader { + tmpValue := NewQPluginLoaderFromPointer(C.QPluginLoader_NewQPluginLoader(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQPluginLoader2(fileName string, parent QObject_ITF) *QPluginLoader { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQPluginLoaderFromPointer(C.QPluginLoader_NewQPluginLoader2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QPluginLoader) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPluginLoader_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QPluginLoader) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPluginLoader_FileName(ptr.Pointer())) + } + return "" +} + +func (ptr *QPluginLoader) Instance() *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QPluginLoader_Instance(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPluginLoader) IsLoaded() bool { + if ptr.Pointer() != nil { + return int8(C.QPluginLoader_IsLoaded(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPluginLoader) Load() bool { + if ptr.Pointer() != nil { + return int8(C.QPluginLoader_Load(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPluginLoader) LoadHints() QLibrary__LoadHint { + if ptr.Pointer() != nil { + return QLibrary__LoadHint(C.QPluginLoader_LoadHints(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPluginLoader) MetaData() *QJsonObject { + if ptr.Pointer() != nil { + tmpValue := NewQJsonObjectFromPointer(C.QPluginLoader_MetaData(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue + } + return nil +} + +func (ptr *QPluginLoader) SetFileName(fileName string) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QPluginLoader_SetFileName(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}) + } +} + +func (ptr *QPluginLoader) SetLoadHints(loadHints QLibrary__LoadHint) { + if ptr.Pointer() != nil { + C.QPluginLoader_SetLoadHints(ptr.Pointer(), C.longlong(loadHints)) + } +} + +func QPluginLoader_StaticInstances() []*QObject { + return func(l C.struct_QtCore_PackedList) []*QObject { + out := make([]*QObject, int(l.len)) + tmpList := NewQPluginLoaderFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__staticInstances_atList(i) + } + return out + }(C.QPluginLoader_QPluginLoader_StaticInstances()) +} + +func (ptr *QPluginLoader) StaticInstances() []*QObject { + return func(l C.struct_QtCore_PackedList) []*QObject { + out := make([]*QObject, int(l.len)) + tmpList := NewQPluginLoaderFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__staticInstances_atList(i) + } + return out + }(C.QPluginLoader_QPluginLoader_StaticInstances()) +} + +func (ptr *QPluginLoader) Unload() bool { + if ptr.Pointer() != nil { + return int8(C.QPluginLoader_Unload(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQPluginLoader_DestroyQPluginLoader +func callbackQPluginLoader_DestroyQPluginLoader(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPluginLoader"); signal != nil { + (*(*func())(signal))() + } else { + NewQPluginLoaderFromPointer(ptr).DestroyQPluginLoaderDefault() + } +} + +func (ptr *QPluginLoader) ConnectDestroyQPluginLoader(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPluginLoader"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPluginLoader", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPluginLoader", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPluginLoader) DisconnectDestroyQPluginLoader() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPluginLoader") + } +} + +func (ptr *QPluginLoader) DestroyQPluginLoader() { + if ptr.Pointer() != nil { + C.QPluginLoader_DestroyQPluginLoader(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPluginLoader) DestroyQPluginLoaderDefault() { + if ptr.Pointer() != nil { + C.QPluginLoader_DestroyQPluginLoaderDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPluginLoader) __staticInstances_atList(i int) *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QPluginLoader___staticInstances_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPluginLoader) __staticInstances_setList(i QObject_ITF) { + if ptr.Pointer() != nil { + C.QPluginLoader___staticInstances_setList(ptr.Pointer(), PointerFromQObject(i)) + } +} + +func (ptr *QPluginLoader) __staticInstances_newList() unsafe.Pointer { + return C.QPluginLoader___staticInstances_newList(ptr.Pointer()) +} + +func (ptr *QPluginLoader) __staticPlugins_setList(i QStaticPlugin_ITF) { + if ptr.Pointer() != nil { + C.QPluginLoader___staticPlugins_setList(ptr.Pointer(), PointerFromQStaticPlugin(i)) + } +} + +func (ptr *QPluginLoader) __staticPlugins_newList() unsafe.Pointer { + return C.QPluginLoader___staticPlugins_newList(ptr.Pointer()) +} + +type QPoint struct { + ptr unsafe.Pointer +} + +type QPoint_ITF interface { + QPoint_PTR() *QPoint +} + +func (ptr *QPoint) QPoint_PTR() *QPoint { + return ptr +} + +func (ptr *QPoint) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPoint) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPoint(ptr QPoint_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPoint_PTR().Pointer() + } + return nil +} + +func NewQPointFromPointer(ptr unsafe.Pointer) (n *QPoint) { + n = new(QPoint) + n.SetPointer(ptr) + return +} + +func (ptr *QPoint) DestroyQPoint() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQPoint() *QPoint { + tmpValue := NewQPointFromPointer(C.QPoint_NewQPoint()) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue +} + +func NewQPoint2(xpos int, ypos int) *QPoint { + tmpValue := NewQPointFromPointer(C.QPoint_NewQPoint2(C.int(int32(xpos)), C.int(int32(ypos)))) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue +} + +func QPoint_DotProduct(p1 QPoint_ITF, p2 QPoint_ITF) int { + return int(int32(C.QPoint_QPoint_DotProduct(PointerFromQPoint(p1), PointerFromQPoint(p2)))) +} + +func (ptr *QPoint) DotProduct(p1 QPoint_ITF, p2 QPoint_ITF) int { + return int(int32(C.QPoint_QPoint_DotProduct(PointerFromQPoint(p1), PointerFromQPoint(p2)))) +} + +func (ptr *QPoint) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QPoint_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPoint) ManhattanLength() int { + if ptr.Pointer() != nil { + return int(int32(C.QPoint_ManhattanLength(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPoint) Rx() int { + if ptr.Pointer() != nil { + return int(int32(C.QPoint_Rx(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPoint) Ry() int { + if ptr.Pointer() != nil { + return int(int32(C.QPoint_Ry(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPoint) SetX(x int) { + if ptr.Pointer() != nil { + C.QPoint_SetX(ptr.Pointer(), C.int(int32(x))) + } +} + +func (ptr *QPoint) SetY(y int) { + if ptr.Pointer() != nil { + C.QPoint_SetY(ptr.Pointer(), C.int(int32(y))) + } +} + +func (ptr *QPoint) X() int { + if ptr.Pointer() != nil { + return int(int32(C.QPoint_X(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPoint) Y() int { + if ptr.Pointer() != nil { + return int(int32(C.QPoint_Y(ptr.Pointer()))) + } + return 0 +} + +type QPointF struct { + ptr unsafe.Pointer +} + +type QPointF_ITF interface { + QPointF_PTR() *QPointF +} + +func (ptr *QPointF) QPointF_PTR() *QPointF { + return ptr +} + +func (ptr *QPointF) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPointF) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPointF(ptr QPointF_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPointF_PTR().Pointer() + } + return nil +} + +func NewQPointFFromPointer(ptr unsafe.Pointer) (n *QPointF) { + n = new(QPointF) + n.SetPointer(ptr) + return +} + +func (ptr *QPointF) DestroyQPointF() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQPointF() *QPointF { + tmpValue := NewQPointFFromPointer(C.QPointF_NewQPointF()) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue +} + +func NewQPointF2(point QPoint_ITF) *QPointF { + tmpValue := NewQPointFFromPointer(C.QPointF_NewQPointF2(PointerFromQPoint(point))) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue +} + +func NewQPointF3(xpos float64, ypos float64) *QPointF { + tmpValue := NewQPointFFromPointer(C.QPointF_NewQPointF3(C.double(xpos), C.double(ypos))) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue +} + +func QPointF_DotProduct(p1 QPointF_ITF, p2 QPointF_ITF) float64 { + return float64(C.QPointF_QPointF_DotProduct(PointerFromQPointF(p1), PointerFromQPointF(p2))) +} + +func (ptr *QPointF) DotProduct(p1 QPointF_ITF, p2 QPointF_ITF) float64 { + return float64(C.QPointF_QPointF_DotProduct(PointerFromQPointF(p1), PointerFromQPointF(p2))) +} + +func (ptr *QPointF) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QPointF_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPointF) ManhattanLength() float64 { + if ptr.Pointer() != nil { + return float64(C.QPointF_ManhattanLength(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPointF) Rx() float64 { + if ptr.Pointer() != nil { + return float64(C.QPointF_Rx(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPointF) Ry() float64 { + if ptr.Pointer() != nil { + return float64(C.QPointF_Ry(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPointF) SetX(x float64) { + if ptr.Pointer() != nil { + C.QPointF_SetX(ptr.Pointer(), C.double(x)) + } +} + +func (ptr *QPointF) SetY(y float64) { + if ptr.Pointer() != nil { + C.QPointF_SetY(ptr.Pointer(), C.double(y)) + } +} + +func (ptr *QPointF) ToPoint() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QPointF_ToPoint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QPointF) X() float64 { + if ptr.Pointer() != nil { + return float64(C.QPointF_X(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPointF) Y() float64 { + if ptr.Pointer() != nil { + return float64(C.QPointF_Y(ptr.Pointer())) + } + return 0 +} + +type QPointer struct { + ptr unsafe.Pointer +} + +type QPointer_ITF interface { + QPointer_PTR() *QPointer +} + +func (ptr *QPointer) QPointer_PTR() *QPointer { + return ptr +} + +func (ptr *QPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPointer(ptr QPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPointer_PTR().Pointer() + } + return nil +} + +func NewQPointerFromPointer(ptr unsafe.Pointer) (n *QPointer) { + n = new(QPointer) + n.SetPointer(ptr) + return +} + +type QProcess struct { + QIODevice +} + +type QProcess_ITF interface { + QIODevice_ITF + QProcess_PTR() *QProcess +} + +func (ptr *QProcess) QProcess_PTR() *QProcess { + return ptr +} + +func (ptr *QProcess) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QIODevice_PTR().Pointer() + } + return nil +} + +func (ptr *QProcess) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QIODevice_PTR().SetPointer(p) + } +} + +func PointerFromQProcess(ptr QProcess_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QProcess_PTR().Pointer() + } + return nil +} + +func NewQProcessFromPointer(ptr unsafe.Pointer) (n *QProcess) { + n = new(QProcess) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QProcess__ProcessError +//QProcess::ProcessError +type QProcess__ProcessError int64 + +const ( + QProcess__FailedToStart QProcess__ProcessError = QProcess__ProcessError(0) + QProcess__Crashed QProcess__ProcessError = QProcess__ProcessError(1) + QProcess__Timedout QProcess__ProcessError = QProcess__ProcessError(2) + QProcess__ReadError QProcess__ProcessError = QProcess__ProcessError(3) + QProcess__WriteError QProcess__ProcessError = QProcess__ProcessError(4) + QProcess__UnknownError QProcess__ProcessError = QProcess__ProcessError(5) +) + +//go:generate stringer -type=QProcess__ProcessState +//QProcess::ProcessState +type QProcess__ProcessState int64 + +const ( + QProcess__NotRunning QProcess__ProcessState = QProcess__ProcessState(0) + QProcess__Starting QProcess__ProcessState = QProcess__ProcessState(1) + QProcess__Running QProcess__ProcessState = QProcess__ProcessState(2) +) + +//go:generate stringer -type=QProcess__ProcessChannel +//QProcess::ProcessChannel +type QProcess__ProcessChannel int64 + +const ( + QProcess__StandardOutput QProcess__ProcessChannel = QProcess__ProcessChannel(0) + QProcess__StandardError QProcess__ProcessChannel = QProcess__ProcessChannel(1) +) + +//go:generate stringer -type=QProcess__ProcessChannelMode +//QProcess::ProcessChannelMode +type QProcess__ProcessChannelMode int64 + +const ( + QProcess__SeparateChannels QProcess__ProcessChannelMode = QProcess__ProcessChannelMode(0) + QProcess__MergedChannels QProcess__ProcessChannelMode = QProcess__ProcessChannelMode(1) + QProcess__ForwardedChannels QProcess__ProcessChannelMode = QProcess__ProcessChannelMode(2) + QProcess__ForwardedOutputChannel QProcess__ProcessChannelMode = QProcess__ProcessChannelMode(3) + QProcess__ForwardedErrorChannel QProcess__ProcessChannelMode = QProcess__ProcessChannelMode(4) +) + +//go:generate stringer -type=QProcess__InputChannelMode +//QProcess::InputChannelMode +type QProcess__InputChannelMode int64 + +const ( + QProcess__ManagedInputChannel QProcess__InputChannelMode = QProcess__InputChannelMode(0) + QProcess__ForwardedInputChannel QProcess__InputChannelMode = QProcess__InputChannelMode(1) +) + +//go:generate stringer -type=QProcess__ExitStatus +//QProcess::ExitStatus +type QProcess__ExitStatus int64 + +const ( + QProcess__NormalExit QProcess__ExitStatus = QProcess__ExitStatus(0) + QProcess__CrashExit QProcess__ExitStatus = QProcess__ExitStatus(1) +) + +func NewQProcess(parent QObject_ITF) *QProcess { + tmpValue := NewQProcessFromPointer(C.QProcess_NewQProcess(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QProcess) Arguments() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QProcess_Arguments(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QProcess) CloseReadChannel(channel QProcess__ProcessChannel) { + if ptr.Pointer() != nil { + C.QProcess_CloseReadChannel(ptr.Pointer(), C.longlong(channel)) + } +} + +func (ptr *QProcess) CloseWriteChannel() { + if ptr.Pointer() != nil { + C.QProcess_CloseWriteChannel(ptr.Pointer()) + } +} + +func (ptr *QProcess) Error() QProcess__ProcessError { + if ptr.Pointer() != nil { + return QProcess__ProcessError(C.QProcess_Error(ptr.Pointer())) + } + return 0 +} + +//export callbackQProcess_ErrorOccurred +func callbackQProcess_ErrorOccurred(ptr unsafe.Pointer, error C.longlong) { + if signal := qt.GetSignal(ptr, "errorOccurred"); signal != nil { + (*(*func(QProcess__ProcessError))(signal))(QProcess__ProcessError(error)) + } + +} + +func (ptr *QProcess) ConnectErrorOccurred(f func(error QProcess__ProcessError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "errorOccurred") { + C.QProcess_ConnectErrorOccurred(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "errorOccurred"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "errorOccurred"); signal != nil { + f := func(error QProcess__ProcessError) { + (*(*func(QProcess__ProcessError))(signal))(error) + f(error) + } + qt.ConnectSignal(ptr.Pointer(), "errorOccurred", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "errorOccurred", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectErrorOccurred() { + if ptr.Pointer() != nil { + C.QProcess_DisconnectErrorOccurred(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "errorOccurred") + } +} + +func (ptr *QProcess) ErrorOccurred(error QProcess__ProcessError) { + if ptr.Pointer() != nil { + C.QProcess_ErrorOccurred(ptr.Pointer(), C.longlong(error)) + } +} + +func QProcess_Execute(program string, arguments []string) int { + var programC *C.char + if program != "" { + programC = C.CString(program) + defer C.free(unsafe.Pointer(programC)) + } + argumentsC := C.CString(strings.Join(arguments, "¡¦!")) + defer C.free(unsafe.Pointer(argumentsC)) + return int(int32(C.QProcess_QProcess_Execute(C.struct_QtCore_PackedString{data: programC, len: C.longlong(len(program))}, C.struct_QtCore_PackedString{data: argumentsC, len: C.longlong(len(strings.Join(arguments, "¡¦!")))}))) +} + +func (ptr *QProcess) Execute(program string, arguments []string) int { + var programC *C.char + if program != "" { + programC = C.CString(program) + defer C.free(unsafe.Pointer(programC)) + } + argumentsC := C.CString(strings.Join(arguments, "¡¦!")) + defer C.free(unsafe.Pointer(argumentsC)) + return int(int32(C.QProcess_QProcess_Execute(C.struct_QtCore_PackedString{data: programC, len: C.longlong(len(program))}, C.struct_QtCore_PackedString{data: argumentsC, len: C.longlong(len(strings.Join(arguments, "¡¦!")))}))) +} + +func QProcess_Execute2(command string) int { + var commandC *C.char + if command != "" { + commandC = C.CString(command) + defer C.free(unsafe.Pointer(commandC)) + } + return int(int32(C.QProcess_QProcess_Execute2(C.struct_QtCore_PackedString{data: commandC, len: C.longlong(len(command))}))) +} + +func (ptr *QProcess) Execute2(command string) int { + var commandC *C.char + if command != "" { + commandC = C.CString(command) + defer C.free(unsafe.Pointer(commandC)) + } + return int(int32(C.QProcess_QProcess_Execute2(C.struct_QtCore_PackedString{data: commandC, len: C.longlong(len(command))}))) +} + +func (ptr *QProcess) ExitCode() int { + if ptr.Pointer() != nil { + return int(int32(C.QProcess_ExitCode(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QProcess) ExitStatus() QProcess__ExitStatus { + if ptr.Pointer() != nil { + return QProcess__ExitStatus(C.QProcess_ExitStatus(ptr.Pointer())) + } + return 0 +} + +//export callbackQProcess_Finished +func callbackQProcess_Finished(ptr unsafe.Pointer, exitCode C.int, exitStatus C.longlong) { + if signal := qt.GetSignal(ptr, "finished"); signal != nil { + (*(*func(int, QProcess__ExitStatus))(signal))(int(int32(exitCode)), QProcess__ExitStatus(exitStatus)) + } + +} + +func (ptr *QProcess) ConnectFinished(f func(exitCode int, exitStatus QProcess__ExitStatus)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "finished") { + C.QProcess_ConnectFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "finished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "finished"); signal != nil { + f := func(exitCode int, exitStatus QProcess__ExitStatus) { + (*(*func(int, QProcess__ExitStatus))(signal))(exitCode, exitStatus) + f(exitCode, exitStatus) + } + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectFinished() { + if ptr.Pointer() != nil { + C.QProcess_DisconnectFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "finished") + } +} + +func (ptr *QProcess) Finished(exitCode int, exitStatus QProcess__ExitStatus) { + if ptr.Pointer() != nil { + C.QProcess_Finished(ptr.Pointer(), C.int(int32(exitCode)), C.longlong(exitStatus)) + } +} + +func (ptr *QProcess) InputChannelMode() QProcess__InputChannelMode { + if ptr.Pointer() != nil { + return QProcess__InputChannelMode(C.QProcess_InputChannelMode(ptr.Pointer())) + } + return 0 +} + +//export callbackQProcess_Kill +func callbackQProcess_Kill(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "kill"); signal != nil { + (*(*func())(signal))() + } else { + NewQProcessFromPointer(ptr).KillDefault() + } +} + +func (ptr *QProcess) ConnectKill(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "kill"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "kill", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "kill", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectKill() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "kill") + } +} + +func (ptr *QProcess) Kill() { + if ptr.Pointer() != nil { + C.QProcess_Kill(ptr.Pointer()) + } +} + +func (ptr *QProcess) KillDefault() { + if ptr.Pointer() != nil { + C.QProcess_KillDefault(ptr.Pointer()) + } +} + +func (ptr *QProcess) NativeArguments() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QProcess_NativeArguments(ptr.Pointer())) + } + return "" +} + +func QProcess_NullDevice() string { + return cGoUnpackString(C.QProcess_QProcess_NullDevice()) +} + +func (ptr *QProcess) NullDevice() string { + return cGoUnpackString(C.QProcess_QProcess_NullDevice()) +} + +func (ptr *QProcess) ProcessChannelMode() QProcess__ProcessChannelMode { + if ptr.Pointer() != nil { + return QProcess__ProcessChannelMode(C.QProcess_ProcessChannelMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QProcess) ProcessEnvironment() *QProcessEnvironment { + if ptr.Pointer() != nil { + tmpValue := NewQProcessEnvironmentFromPointer(C.QProcess_ProcessEnvironment(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QProcessEnvironment).DestroyQProcessEnvironment) + return tmpValue + } + return nil +} + +func (ptr *QProcess) ProcessId() int64 { + if ptr.Pointer() != nil { + return int64(C.QProcess_ProcessId(ptr.Pointer())) + } + return 0 +} + +func (ptr *QProcess) Program() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QProcess_Program(ptr.Pointer())) + } + return "" +} + +func (ptr *QProcess) ReadAllStandardError() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QProcess_ReadAllStandardError(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QProcess) ReadAllStandardOutput() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QProcess_ReadAllStandardOutput(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QProcess) ReadChannel() QProcess__ProcessChannel { + if ptr.Pointer() != nil { + return QProcess__ProcessChannel(C.QProcess_ReadChannel(ptr.Pointer())) + } + return 0 +} + +//export callbackQProcess_ReadData +func callbackQProcess_ReadData(ptr unsafe.Pointer, data C.struct_QtCore_PackedString, maxlen C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readData"); signal != nil { + retS := cGoUnpackString(data) + ret := C.longlong((*(*func(*string, int64) int64)(signal))(&retS, int64(maxlen))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret + } + retS := cGoUnpackString(data) + ret := C.longlong(NewQProcessFromPointer(ptr).ReadDataDefault(&retS, int64(maxlen))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret +} + +func (ptr *QProcess) ConnectReadData(f func(data *string, maxlen int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "readData"); signal != nil { + f := func(data *string, maxlen int64) int64 { + (*(*func(*string, int64) int64)(signal))(data, maxlen) + return f(data, maxlen) + } + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectReadData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "readData") + } +} + +func (ptr *QProcess) ReadData(data *string, maxlen int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(maxlen))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QProcess_ReadData(ptr.Pointer(), dataC, C.longlong(maxlen))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +func (ptr *QProcess) ReadDataDefault(data *string, maxlen int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(maxlen))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QProcess_ReadDataDefault(ptr.Pointer(), dataC, C.longlong(maxlen))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +//export callbackQProcess_ReadyReadStandardError +func callbackQProcess_ReadyReadStandardError(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readyReadStandardError"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QProcess) ConnectReadyReadStandardError(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "readyReadStandardError") { + C.QProcess_ConnectReadyReadStandardError(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "readyReadStandardError"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "readyReadStandardError"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "readyReadStandardError", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readyReadStandardError", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectReadyReadStandardError() { + if ptr.Pointer() != nil { + C.QProcess_DisconnectReadyReadStandardError(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "readyReadStandardError") + } +} + +//export callbackQProcess_ReadyReadStandardOutput +func callbackQProcess_ReadyReadStandardOutput(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readyReadStandardOutput"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QProcess) ConnectReadyReadStandardOutput(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "readyReadStandardOutput") { + C.QProcess_ConnectReadyReadStandardOutput(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "readyReadStandardOutput"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "readyReadStandardOutput"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "readyReadStandardOutput", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readyReadStandardOutput", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectReadyReadStandardOutput() { + if ptr.Pointer() != nil { + C.QProcess_DisconnectReadyReadStandardOutput(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "readyReadStandardOutput") + } +} + +func (ptr *QProcess) SetArguments(arguments []string) { + if ptr.Pointer() != nil { + argumentsC := C.CString(strings.Join(arguments, "¡¦!")) + defer C.free(unsafe.Pointer(argumentsC)) + C.QProcess_SetArguments(ptr.Pointer(), C.struct_QtCore_PackedString{data: argumentsC, len: C.longlong(len(strings.Join(arguments, "¡¦!")))}) + } +} + +func (ptr *QProcess) SetInputChannelMode(mode QProcess__InputChannelMode) { + if ptr.Pointer() != nil { + C.QProcess_SetInputChannelMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QProcess) SetNativeArguments(arguments string) { + if ptr.Pointer() != nil { + var argumentsC *C.char + if arguments != "" { + argumentsC = C.CString(arguments) + defer C.free(unsafe.Pointer(argumentsC)) + } + C.QProcess_SetNativeArguments(ptr.Pointer(), C.struct_QtCore_PackedString{data: argumentsC, len: C.longlong(len(arguments))}) + } +} + +func (ptr *QProcess) SetProcessChannelMode(mode QProcess__ProcessChannelMode) { + if ptr.Pointer() != nil { + C.QProcess_SetProcessChannelMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QProcess) SetProcessEnvironment(environment QProcessEnvironment_ITF) { + if ptr.Pointer() != nil { + C.QProcess_SetProcessEnvironment(ptr.Pointer(), PointerFromQProcessEnvironment(environment)) + } +} + +func (ptr *QProcess) SetProcessState(state QProcess__ProcessState) { + if ptr.Pointer() != nil { + C.QProcess_SetProcessState(ptr.Pointer(), C.longlong(state)) + } +} + +func (ptr *QProcess) SetProgram(program string) { + if ptr.Pointer() != nil { + var programC *C.char + if program != "" { + programC = C.CString(program) + defer C.free(unsafe.Pointer(programC)) + } + C.QProcess_SetProgram(ptr.Pointer(), C.struct_QtCore_PackedString{data: programC, len: C.longlong(len(program))}) + } +} + +func (ptr *QProcess) SetReadChannel(channel QProcess__ProcessChannel) { + if ptr.Pointer() != nil { + C.QProcess_SetReadChannel(ptr.Pointer(), C.longlong(channel)) + } +} + +func (ptr *QProcess) SetStandardErrorFile(fileName string, mode QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QProcess_SetStandardErrorFile(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(mode)) + } +} + +func (ptr *QProcess) SetStandardInputFile(fileName string) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QProcess_SetStandardInputFile(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}) + } +} + +func (ptr *QProcess) SetStandardOutputFile(fileName string, mode QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QProcess_SetStandardOutputFile(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(mode)) + } +} + +func (ptr *QProcess) SetStandardOutputProcess(destination QProcess_ITF) { + if ptr.Pointer() != nil { + C.QProcess_SetStandardOutputProcess(ptr.Pointer(), PointerFromQProcess(destination)) + } +} + +func (ptr *QProcess) SetWorkingDirectory(dir string) { + if ptr.Pointer() != nil { + var dirC *C.char + if dir != "" { + dirC = C.CString(dir) + defer C.free(unsafe.Pointer(dirC)) + } + C.QProcess_SetWorkingDirectory(ptr.Pointer(), C.struct_QtCore_PackedString{data: dirC, len: C.longlong(len(dir))}) + } +} + +//export callbackQProcess_SetupChildProcess +func callbackQProcess_SetupChildProcess(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setupChildProcess"); signal != nil { + (*(*func())(signal))() + } else { + NewQProcessFromPointer(ptr).SetupChildProcessDefault() + } +} + +func (ptr *QProcess) ConnectSetupChildProcess(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setupChildProcess"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "setupChildProcess", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setupChildProcess", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectSetupChildProcess() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setupChildProcess") + } +} + +func (ptr *QProcess) SetupChildProcess() { + if ptr.Pointer() != nil { + C.QProcess_SetupChildProcess(ptr.Pointer()) + } +} + +func (ptr *QProcess) SetupChildProcessDefault() { + if ptr.Pointer() != nil { + C.QProcess_SetupChildProcessDefault(ptr.Pointer()) + } +} + +func (ptr *QProcess) Start(program string, arguments []string, mode QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + var programC *C.char + if program != "" { + programC = C.CString(program) + defer C.free(unsafe.Pointer(programC)) + } + argumentsC := C.CString(strings.Join(arguments, "¡¦!")) + defer C.free(unsafe.Pointer(argumentsC)) + C.QProcess_Start(ptr.Pointer(), C.struct_QtCore_PackedString{data: programC, len: C.longlong(len(program))}, C.struct_QtCore_PackedString{data: argumentsC, len: C.longlong(len(strings.Join(arguments, "¡¦!")))}, C.longlong(mode)) + } +} + +func (ptr *QProcess) Start2(command string, mode QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + var commandC *C.char + if command != "" { + commandC = C.CString(command) + defer C.free(unsafe.Pointer(commandC)) + } + C.QProcess_Start2(ptr.Pointer(), C.struct_QtCore_PackedString{data: commandC, len: C.longlong(len(command))}, C.longlong(mode)) + } +} + +func (ptr *QProcess) Start3(mode QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + C.QProcess_Start3(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QProcess) StartDetached(pid int64) bool { + if ptr.Pointer() != nil { + return int8(C.QProcess_StartDetached(ptr.Pointer(), C.longlong(pid))) != 0 + } + return false +} + +func QProcess_StartDetached2(program string, arguments []string, workingDirectory string, pid int64) bool { + var programC *C.char + if program != "" { + programC = C.CString(program) + defer C.free(unsafe.Pointer(programC)) + } + argumentsC := C.CString(strings.Join(arguments, "¡¦!")) + defer C.free(unsafe.Pointer(argumentsC)) + var workingDirectoryC *C.char + if workingDirectory != "" { + workingDirectoryC = C.CString(workingDirectory) + defer C.free(unsafe.Pointer(workingDirectoryC)) + } + return int8(C.QProcess_QProcess_StartDetached2(C.struct_QtCore_PackedString{data: programC, len: C.longlong(len(program))}, C.struct_QtCore_PackedString{data: argumentsC, len: C.longlong(len(strings.Join(arguments, "¡¦!")))}, C.struct_QtCore_PackedString{data: workingDirectoryC, len: C.longlong(len(workingDirectory))}, C.longlong(pid))) != 0 +} + +func (ptr *QProcess) StartDetached2(program string, arguments []string, workingDirectory string, pid int64) bool { + var programC *C.char + if program != "" { + programC = C.CString(program) + defer C.free(unsafe.Pointer(programC)) + } + argumentsC := C.CString(strings.Join(arguments, "¡¦!")) + defer C.free(unsafe.Pointer(argumentsC)) + var workingDirectoryC *C.char + if workingDirectory != "" { + workingDirectoryC = C.CString(workingDirectory) + defer C.free(unsafe.Pointer(workingDirectoryC)) + } + return int8(C.QProcess_QProcess_StartDetached2(C.struct_QtCore_PackedString{data: programC, len: C.longlong(len(program))}, C.struct_QtCore_PackedString{data: argumentsC, len: C.longlong(len(strings.Join(arguments, "¡¦!")))}, C.struct_QtCore_PackedString{data: workingDirectoryC, len: C.longlong(len(workingDirectory))}, C.longlong(pid))) != 0 +} + +func QProcess_StartDetached3(command string) bool { + var commandC *C.char + if command != "" { + commandC = C.CString(command) + defer C.free(unsafe.Pointer(commandC)) + } + return int8(C.QProcess_QProcess_StartDetached3(C.struct_QtCore_PackedString{data: commandC, len: C.longlong(len(command))})) != 0 +} + +func (ptr *QProcess) StartDetached3(command string) bool { + var commandC *C.char + if command != "" { + commandC = C.CString(command) + defer C.free(unsafe.Pointer(commandC)) + } + return int8(C.QProcess_QProcess_StartDetached3(C.struct_QtCore_PackedString{data: commandC, len: C.longlong(len(command))})) != 0 +} + +//export callbackQProcess_Started +func callbackQProcess_Started(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "started"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QProcess) ConnectStarted(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "started") { + C.QProcess_ConnectStarted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "started"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "started"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "started", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "started", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectStarted() { + if ptr.Pointer() != nil { + C.QProcess_DisconnectStarted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "started") + } +} + +func (ptr *QProcess) State() QProcess__ProcessState { + if ptr.Pointer() != nil { + return QProcess__ProcessState(C.QProcess_State(ptr.Pointer())) + } + return 0 +} + +//export callbackQProcess_StateChanged +func callbackQProcess_StateChanged(ptr unsafe.Pointer, newState C.longlong) { + if signal := qt.GetSignal(ptr, "stateChanged"); signal != nil { + (*(*func(QProcess__ProcessState))(signal))(QProcess__ProcessState(newState)) + } + +} + +func (ptr *QProcess) ConnectStateChanged(f func(newState QProcess__ProcessState)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "stateChanged") { + C.QProcess_ConnectStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "stateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "stateChanged"); signal != nil { + f := func(newState QProcess__ProcessState) { + (*(*func(QProcess__ProcessState))(signal))(newState) + f(newState) + } + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectStateChanged() { + if ptr.Pointer() != nil { + C.QProcess_DisconnectStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "stateChanged") + } +} + +func QProcess_SystemEnvironment() []string { + return unpackStringList(cGoUnpackString(C.QProcess_QProcess_SystemEnvironment())) +} + +func (ptr *QProcess) SystemEnvironment() []string { + return unpackStringList(cGoUnpackString(C.QProcess_QProcess_SystemEnvironment())) +} + +//export callbackQProcess_Terminate +func callbackQProcess_Terminate(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "terminate"); signal != nil { + (*(*func())(signal))() + } else { + NewQProcessFromPointer(ptr).TerminateDefault() + } +} + +func (ptr *QProcess) ConnectTerminate(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "terminate"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "terminate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "terminate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectTerminate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "terminate") + } +} + +func (ptr *QProcess) Terminate() { + if ptr.Pointer() != nil { + C.QProcess_Terminate(ptr.Pointer()) + } +} + +func (ptr *QProcess) TerminateDefault() { + if ptr.Pointer() != nil { + C.QProcess_TerminateDefault(ptr.Pointer()) + } +} + +func (ptr *QProcess) WaitForFinished(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QProcess_WaitForFinished(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +func (ptr *QProcess) WaitForStarted(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QProcess_WaitForStarted(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +func (ptr *QProcess) WorkingDirectory() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QProcess_WorkingDirectory(ptr.Pointer())) + } + return "" +} + +//export callbackQProcess_WriteData +func callbackQProcess_WriteData(ptr unsafe.Pointer, data C.struct_QtCore_PackedString, l C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "writeData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(l))) + } + + return C.longlong(NewQProcessFromPointer(ptr).WriteDataDefault(cGoUnpackBytes(data), int64(l))) +} + +func (ptr *QProcess) ConnectWriteData(f func(data []byte, l int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "writeData"); signal != nil { + f := func(data []byte, l int64) int64 { + (*(*func([]byte, int64) int64)(signal))(data, l) + return f(data, l) + } + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectWriteData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "writeData") + } +} + +func (ptr *QProcess) WriteData(data []byte, l int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QProcess_WriteData(ptr.Pointer(), dataC, C.longlong(l))) + } + return 0 +} + +func (ptr *QProcess) WriteDataDefault(data []byte, l int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QProcess_WriteDataDefault(ptr.Pointer(), dataC, C.longlong(l))) + } + return 0 +} + +//export callbackQProcess_DestroyQProcess +func callbackQProcess_DestroyQProcess(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QProcess"); signal != nil { + (*(*func())(signal))() + } else { + NewQProcessFromPointer(ptr).DestroyQProcessDefault() + } +} + +func (ptr *QProcess) ConnectDestroyQProcess(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QProcess"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QProcess", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QProcess", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QProcess) DisconnectDestroyQProcess() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QProcess") + } +} + +func (ptr *QProcess) DestroyQProcess() { + if ptr.Pointer() != nil { + C.QProcess_DestroyQProcess(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QProcess) DestroyQProcessDefault() { + if ptr.Pointer() != nil { + C.QProcess_DestroyQProcessDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QProcessEnvironment struct { + ptr unsafe.Pointer +} + +type QProcessEnvironment_ITF interface { + QProcessEnvironment_PTR() *QProcessEnvironment +} + +func (ptr *QProcessEnvironment) QProcessEnvironment_PTR() *QProcessEnvironment { + return ptr +} + +func (ptr *QProcessEnvironment) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QProcessEnvironment) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQProcessEnvironment(ptr QProcessEnvironment_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QProcessEnvironment_PTR().Pointer() + } + return nil +} + +func NewQProcessEnvironmentFromPointer(ptr unsafe.Pointer) (n *QProcessEnvironment) { + n = new(QProcessEnvironment) + n.SetPointer(ptr) + return +} +func NewQProcessEnvironment() *QProcessEnvironment { + tmpValue := NewQProcessEnvironmentFromPointer(C.QProcessEnvironment_NewQProcessEnvironment()) + runtime.SetFinalizer(tmpValue, (*QProcessEnvironment).DestroyQProcessEnvironment) + return tmpValue +} + +func NewQProcessEnvironment2(other QProcessEnvironment_ITF) *QProcessEnvironment { + tmpValue := NewQProcessEnvironmentFromPointer(C.QProcessEnvironment_NewQProcessEnvironment2(PointerFromQProcessEnvironment(other))) + runtime.SetFinalizer(tmpValue, (*QProcessEnvironment).DestroyQProcessEnvironment) + return tmpValue +} + +func (ptr *QProcessEnvironment) Clear() { + if ptr.Pointer() != nil { + C.QProcessEnvironment_Clear(ptr.Pointer()) + } +} + +func (ptr *QProcessEnvironment) Contains(name string) bool { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QProcessEnvironment_Contains(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 + } + return false +} + +func (ptr *QProcessEnvironment) Insert(name string, value string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + C.QProcessEnvironment_Insert(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtCore_PackedString{data: valueC, len: C.longlong(len(value))}) + } +} + +func (ptr *QProcessEnvironment) Insert2(e QProcessEnvironment_ITF) { + if ptr.Pointer() != nil { + C.QProcessEnvironment_Insert2(ptr.Pointer(), PointerFromQProcessEnvironment(e)) + } +} + +func (ptr *QProcessEnvironment) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QProcessEnvironment_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QProcessEnvironment) Keys() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QProcessEnvironment_Keys(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QProcessEnvironment) Remove(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QProcessEnvironment_Remove(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QProcessEnvironment) Swap(other QProcessEnvironment_ITF) { + if ptr.Pointer() != nil { + C.QProcessEnvironment_Swap(ptr.Pointer(), PointerFromQProcessEnvironment(other)) + } +} + +func QProcessEnvironment_SystemEnvironment() *QProcessEnvironment { + tmpValue := NewQProcessEnvironmentFromPointer(C.QProcessEnvironment_QProcessEnvironment_SystemEnvironment()) + runtime.SetFinalizer(tmpValue, (*QProcessEnvironment).DestroyQProcessEnvironment) + return tmpValue +} + +func (ptr *QProcessEnvironment) SystemEnvironment() *QProcessEnvironment { + tmpValue := NewQProcessEnvironmentFromPointer(C.QProcessEnvironment_QProcessEnvironment_SystemEnvironment()) + runtime.SetFinalizer(tmpValue, (*QProcessEnvironment).DestroyQProcessEnvironment) + return tmpValue +} + +func (ptr *QProcessEnvironment) ToStringList() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QProcessEnvironment_ToStringList(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QProcessEnvironment) Value(name string, defaultValue string) string { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var defaultValueC *C.char + if defaultValue != "" { + defaultValueC = C.CString(defaultValue) + defer C.free(unsafe.Pointer(defaultValueC)) + } + return cGoUnpackString(C.QProcessEnvironment_Value(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtCore_PackedString{data: defaultValueC, len: C.longlong(len(defaultValue))})) + } + return "" +} + +func (ptr *QProcessEnvironment) DestroyQProcessEnvironment() { + if ptr.Pointer() != nil { + C.QProcessEnvironment_DestroyQProcessEnvironment(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPropertyAnimation struct { + QVariantAnimation +} + +type QPropertyAnimation_ITF interface { + QVariantAnimation_ITF + QPropertyAnimation_PTR() *QPropertyAnimation +} + +func (ptr *QPropertyAnimation) QPropertyAnimation_PTR() *QPropertyAnimation { + return ptr +} + +func (ptr *QPropertyAnimation) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QVariantAnimation_PTR().Pointer() + } + return nil +} + +func (ptr *QPropertyAnimation) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QVariantAnimation_PTR().SetPointer(p) + } +} + +func PointerFromQPropertyAnimation(ptr QPropertyAnimation_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPropertyAnimation_PTR().Pointer() + } + return nil +} + +func NewQPropertyAnimationFromPointer(ptr unsafe.Pointer) (n *QPropertyAnimation) { + n = new(QPropertyAnimation) + n.SetPointer(ptr) + return +} +func NewQPropertyAnimation(parent QObject_ITF) *QPropertyAnimation { + tmpValue := NewQPropertyAnimationFromPointer(C.QPropertyAnimation_NewQPropertyAnimation(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQPropertyAnimation2(target QObject_ITF, propertyName QByteArray_ITF, parent QObject_ITF) *QPropertyAnimation { + tmpValue := NewQPropertyAnimationFromPointer(C.QPropertyAnimation_NewQPropertyAnimation2(PointerFromQObject(target), PointerFromQByteArray(propertyName), PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QPropertyAnimation) PropertyName() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QPropertyAnimation_PropertyName(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QPropertyAnimation) SetPropertyName(propertyName QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QPropertyAnimation_SetPropertyName(ptr.Pointer(), PointerFromQByteArray(propertyName)) + } +} + +func (ptr *QPropertyAnimation) SetTargetObject(target QObject_ITF) { + if ptr.Pointer() != nil { + C.QPropertyAnimation_SetTargetObject(ptr.Pointer(), PointerFromQObject(target)) + } +} + +func (ptr *QPropertyAnimation) TargetObject() *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QPropertyAnimation_TargetObject(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQPropertyAnimation_DestroyQPropertyAnimation +func callbackQPropertyAnimation_DestroyQPropertyAnimation(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPropertyAnimation"); signal != nil { + (*(*func())(signal))() + } else { + NewQPropertyAnimationFromPointer(ptr).DestroyQPropertyAnimationDefault() + } +} + +func (ptr *QPropertyAnimation) ConnectDestroyQPropertyAnimation(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPropertyAnimation"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPropertyAnimation", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPropertyAnimation", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPropertyAnimation) DisconnectDestroyQPropertyAnimation() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPropertyAnimation") + } +} + +func (ptr *QPropertyAnimation) DestroyQPropertyAnimation() { + if ptr.Pointer() != nil { + C.QPropertyAnimation_DestroyQPropertyAnimation(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPropertyAnimation) DestroyQPropertyAnimationDefault() { + if ptr.Pointer() != nil { + C.QPropertyAnimation_DestroyQPropertyAnimationDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QQueue struct { + ptr unsafe.Pointer +} + +type QQueue_ITF interface { + QQueue_PTR() *QQueue +} + +func (ptr *QQueue) QQueue_PTR() *QQueue { + return ptr +} + +func (ptr *QQueue) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQueue) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQueue(ptr QQueue_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQueue_PTR().Pointer() + } + return nil +} + +func NewQQueueFromPointer(ptr unsafe.Pointer) (n *QQueue) { + n = new(QQueue) + n.SetPointer(ptr) + return +} + +func (ptr *QQueue) DestroyQQueue() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QRandomGenerator struct { + ptr unsafe.Pointer +} + +type QRandomGenerator_ITF interface { + QRandomGenerator_PTR() *QRandomGenerator +} + +func (ptr *QRandomGenerator) QRandomGenerator_PTR() *QRandomGenerator { + return ptr +} + +func (ptr *QRandomGenerator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRandomGenerator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRandomGenerator(ptr QRandomGenerator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRandomGenerator_PTR().Pointer() + } + return nil +} + +func NewQRandomGeneratorFromPointer(ptr unsafe.Pointer) (n *QRandomGenerator) { + n = new(QRandomGenerator) + n.SetPointer(ptr) + return +} + +func (ptr *QRandomGenerator) DestroyQRandomGenerator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQRandomGenerator(seedValue uint) *QRandomGenerator { + tmpValue := NewQRandomGeneratorFromPointer(C.QRandomGenerator_NewQRandomGenerator(C.uint(uint32(seedValue)))) + runtime.SetFinalizer(tmpValue, (*QRandomGenerator).DestroyQRandomGenerator) + return tmpValue +} + +func NewQRandomGenerator5(begin uint, end uint) *QRandomGenerator { + tmpValue := NewQRandomGeneratorFromPointer(C.QRandomGenerator_NewQRandomGenerator5(C.uint(uint32(begin)), C.uint(uint32(end)))) + runtime.SetFinalizer(tmpValue, (*QRandomGenerator).DestroyQRandomGenerator) + return tmpValue +} + +func NewQRandomGenerator6(other QRandomGenerator_ITF) *QRandomGenerator { + tmpValue := NewQRandomGeneratorFromPointer(C.QRandomGenerator_NewQRandomGenerator6(PointerFromQRandomGenerator(other))) + runtime.SetFinalizer(tmpValue, (*QRandomGenerator).DestroyQRandomGenerator) + return tmpValue +} + +func (ptr *QRandomGenerator) Bounded(highest float64) float64 { + if ptr.Pointer() != nil { + return float64(C.QRandomGenerator_Bounded(ptr.Pointer(), C.double(highest))) + } + return 0 +} + +func (ptr *QRandomGenerator) Bounded2(highest uint) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QRandomGenerator_Bounded2(ptr.Pointer(), C.uint(uint32(highest))))) + } + return 0 +} + +func (ptr *QRandomGenerator) Bounded3(highest int) int { + if ptr.Pointer() != nil { + return int(int32(C.QRandomGenerator_Bounded3(ptr.Pointer(), C.int(int32(highest))))) + } + return 0 +} + +func (ptr *QRandomGenerator) Bounded4(lowest uint, highest uint) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QRandomGenerator_Bounded4(ptr.Pointer(), C.uint(uint32(lowest)), C.uint(uint32(highest))))) + } + return 0 +} + +func (ptr *QRandomGenerator) Bounded5(lowest int, highest int) int { + if ptr.Pointer() != nil { + return int(int32(C.QRandomGenerator_Bounded5(ptr.Pointer(), C.int(int32(lowest)), C.int(int32(highest))))) + } + return 0 +} + +func (ptr *QRandomGenerator) Discard(z uint64) { + if ptr.Pointer() != nil { + C.QRandomGenerator_Discard(ptr.Pointer(), C.ulonglong(z)) + } +} + +func (ptr *QRandomGenerator) Generate() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QRandomGenerator_Generate(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRandomGenerator) Generate64() uint64 { + if ptr.Pointer() != nil { + return uint64(C.QRandomGenerator_Generate64(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRandomGenerator) GenerateDouble() float64 { + if ptr.Pointer() != nil { + return float64(C.QRandomGenerator_GenerateDouble(ptr.Pointer())) + } + return 0 +} + +func QRandomGenerator_Global() *QRandomGenerator { + return NewQRandomGeneratorFromPointer(C.QRandomGenerator_QRandomGenerator_Global()) +} + +func (ptr *QRandomGenerator) Global() *QRandomGenerator { + return NewQRandomGeneratorFromPointer(C.QRandomGenerator_QRandomGenerator_Global()) +} + +func QRandomGenerator_SecurelySeeded() *QRandomGenerator { + tmpValue := NewQRandomGeneratorFromPointer(C.QRandomGenerator_QRandomGenerator_SecurelySeeded()) + runtime.SetFinalizer(tmpValue, (*QRandomGenerator).DestroyQRandomGenerator) + return tmpValue +} + +func (ptr *QRandomGenerator) SecurelySeeded() *QRandomGenerator { + tmpValue := NewQRandomGeneratorFromPointer(C.QRandomGenerator_QRandomGenerator_SecurelySeeded()) + runtime.SetFinalizer(tmpValue, (*QRandomGenerator).DestroyQRandomGenerator) + return tmpValue +} + +func (ptr *QRandomGenerator) Seed(seed uint) { + if ptr.Pointer() != nil { + C.QRandomGenerator_Seed(ptr.Pointer(), C.uint(uint32(seed))) + } +} + +func QRandomGenerator_System() *QRandomGenerator { + return NewQRandomGeneratorFromPointer(C.QRandomGenerator_QRandomGenerator_System()) +} + +func (ptr *QRandomGenerator) System() *QRandomGenerator { + return NewQRandomGeneratorFromPointer(C.QRandomGenerator_QRandomGenerator_System()) +} + +type QRandomGenerator64 struct { + QRandomGenerator +} + +type QRandomGenerator64_ITF interface { + QRandomGenerator_ITF + QRandomGenerator64_PTR() *QRandomGenerator64 +} + +func (ptr *QRandomGenerator64) QRandomGenerator64_PTR() *QRandomGenerator64 { + return ptr +} + +func (ptr *QRandomGenerator64) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QRandomGenerator_PTR().Pointer() + } + return nil +} + +func (ptr *QRandomGenerator64) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QRandomGenerator_PTR().SetPointer(p) + } +} + +func PointerFromQRandomGenerator64(ptr QRandomGenerator64_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRandomGenerator64_PTR().Pointer() + } + return nil +} + +func NewQRandomGenerator64FromPointer(ptr unsafe.Pointer) (n *QRandomGenerator64) { + n = new(QRandomGenerator64) + n.SetPointer(ptr) + return +} + +func (ptr *QRandomGenerator64) DestroyQRandomGenerator64() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QRandomGenerator64) Generate() uint64 { + if ptr.Pointer() != nil { + return uint64(C.QRandomGenerator64_Generate(ptr.Pointer())) + } + return 0 +} + +type QReadLocker struct { + ptr unsafe.Pointer +} + +type QReadLocker_ITF interface { + QReadLocker_PTR() *QReadLocker +} + +func (ptr *QReadLocker) QReadLocker_PTR() *QReadLocker { + return ptr +} + +func (ptr *QReadLocker) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QReadLocker) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQReadLocker(ptr QReadLocker_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QReadLocker_PTR().Pointer() + } + return nil +} + +func NewQReadLockerFromPointer(ptr unsafe.Pointer) (n *QReadLocker) { + n = new(QReadLocker) + n.SetPointer(ptr) + return +} +func NewQReadLocker(lock QReadWriteLock_ITF) *QReadLocker { + tmpValue := NewQReadLockerFromPointer(C.QReadLocker_NewQReadLocker(PointerFromQReadWriteLock(lock))) + runtime.SetFinalizer(tmpValue, (*QReadLocker).DestroyQReadLocker) + return tmpValue +} + +func (ptr *QReadLocker) ReadWriteLock() *QReadWriteLock { + if ptr.Pointer() != nil { + return NewQReadWriteLockFromPointer(C.QReadLocker_ReadWriteLock(ptr.Pointer())) + } + return nil +} + +func (ptr *QReadLocker) Relock() { + if ptr.Pointer() != nil { + C.QReadLocker_Relock(ptr.Pointer()) + } +} + +func (ptr *QReadLocker) Unlock() { + if ptr.Pointer() != nil { + C.QReadLocker_Unlock(ptr.Pointer()) + } +} + +func (ptr *QReadLocker) DestroyQReadLocker() { + if ptr.Pointer() != nil { + C.QReadLocker_DestroyQReadLocker(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QReadWriteLock struct { + ptr unsafe.Pointer +} + +type QReadWriteLock_ITF interface { + QReadWriteLock_PTR() *QReadWriteLock +} + +func (ptr *QReadWriteLock) QReadWriteLock_PTR() *QReadWriteLock { + return ptr +} + +func (ptr *QReadWriteLock) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QReadWriteLock) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQReadWriteLock(ptr QReadWriteLock_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QReadWriteLock_PTR().Pointer() + } + return nil +} + +func NewQReadWriteLockFromPointer(ptr unsafe.Pointer) (n *QReadWriteLock) { + n = new(QReadWriteLock) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QReadWriteLock__RecursionMode +//QReadWriteLock::RecursionMode +type QReadWriteLock__RecursionMode int64 + +const ( + QReadWriteLock__NonRecursive QReadWriteLock__RecursionMode = QReadWriteLock__RecursionMode(0) + QReadWriteLock__Recursive QReadWriteLock__RecursionMode = QReadWriteLock__RecursionMode(1) +) + +func NewQReadWriteLock(recursionMode QReadWriteLock__RecursionMode) *QReadWriteLock { + tmpValue := NewQReadWriteLockFromPointer(C.QReadWriteLock_NewQReadWriteLock(C.longlong(recursionMode))) + runtime.SetFinalizer(tmpValue, (*QReadWriteLock).DestroyQReadWriteLock) + return tmpValue +} + +func (ptr *QReadWriteLock) LockForRead() { + if ptr.Pointer() != nil { + C.QReadWriteLock_LockForRead(ptr.Pointer()) + } +} + +func (ptr *QReadWriteLock) LockForWrite() { + if ptr.Pointer() != nil { + C.QReadWriteLock_LockForWrite(ptr.Pointer()) + } +} + +func (ptr *QReadWriteLock) TryLockForRead() bool { + if ptr.Pointer() != nil { + return int8(C.QReadWriteLock_TryLockForRead(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QReadWriteLock) TryLockForRead2(timeout int) bool { + if ptr.Pointer() != nil { + return int8(C.QReadWriteLock_TryLockForRead2(ptr.Pointer(), C.int(int32(timeout)))) != 0 + } + return false +} + +func (ptr *QReadWriteLock) TryLockForWrite() bool { + if ptr.Pointer() != nil { + return int8(C.QReadWriteLock_TryLockForWrite(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QReadWriteLock) TryLockForWrite2(timeout int) bool { + if ptr.Pointer() != nil { + return int8(C.QReadWriteLock_TryLockForWrite2(ptr.Pointer(), C.int(int32(timeout)))) != 0 + } + return false +} + +func (ptr *QReadWriteLock) Unlock() { + if ptr.Pointer() != nil { + C.QReadWriteLock_Unlock(ptr.Pointer()) + } +} + +func (ptr *QReadWriteLock) DestroyQReadWriteLock() { + if ptr.Pointer() != nil { + C.QReadWriteLock_DestroyQReadWriteLock(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QRect struct { + ptr unsafe.Pointer +} + +type QRect_ITF interface { + QRect_PTR() *QRect +} + +func (ptr *QRect) QRect_PTR() *QRect { + return ptr +} + +func (ptr *QRect) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRect) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRect(ptr QRect_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRect_PTR().Pointer() + } + return nil +} + +func NewQRectFromPointer(ptr unsafe.Pointer) (n *QRect) { + n = new(QRect) + n.SetPointer(ptr) + return +} + +func (ptr *QRect) DestroyQRect() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQRect() *QRect { + tmpValue := NewQRectFromPointer(C.QRect_NewQRect()) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue +} + +func NewQRect2(topLeft QPoint_ITF, bottomRight QPoint_ITF) *QRect { + tmpValue := NewQRectFromPointer(C.QRect_NewQRect2(PointerFromQPoint(topLeft), PointerFromQPoint(bottomRight))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue +} + +func NewQRect3(topLeft QPoint_ITF, size QSize_ITF) *QRect { + tmpValue := NewQRectFromPointer(C.QRect_NewQRect3(PointerFromQPoint(topLeft), PointerFromQSize(size))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue +} + +func NewQRect4(x int, y int, width int, height int) *QRect { + tmpValue := NewQRectFromPointer(C.QRect_NewQRect4(C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue +} + +func (ptr *QRect) Adjust(dx1 int, dy1 int, dx2 int, dy2 int) { + if ptr.Pointer() != nil { + C.QRect_Adjust(ptr.Pointer(), C.int(int32(dx1)), C.int(int32(dy1)), C.int(int32(dx2)), C.int(int32(dy2))) + } +} + +func (ptr *QRect) Adjusted(dx1 int, dy1 int, dx2 int, dy2 int) *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRect_Adjusted(ptr.Pointer(), C.int(int32(dx1)), C.int(int32(dy1)), C.int(int32(dx2)), C.int(int32(dy2)))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRect) Bottom() int { + if ptr.Pointer() != nil { + return int(int32(C.QRect_Bottom(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRect) BottomLeft() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QRect_BottomLeft(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QRect) BottomRight() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QRect_BottomRight(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QRect) Center() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QRect_Center(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QRect) Contains(point QPoint_ITF, proper bool) bool { + if ptr.Pointer() != nil { + return int8(C.QRect_Contains(ptr.Pointer(), PointerFromQPoint(point), C.char(int8(qt.GoBoolToInt(proper))))) != 0 + } + return false +} + +func (ptr *QRect) Contains2(rectangle QRect_ITF, proper bool) bool { + if ptr.Pointer() != nil { + return int8(C.QRect_Contains2(ptr.Pointer(), PointerFromQRect(rectangle), C.char(int8(qt.GoBoolToInt(proper))))) != 0 + } + return false +} + +func (ptr *QRect) Contains3(x int, y int) bool { + if ptr.Pointer() != nil { + return int8(C.QRect_Contains3(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)))) != 0 + } + return false +} + +func (ptr *QRect) Contains4(x int, y int, proper bool) bool { + if ptr.Pointer() != nil { + return int8(C.QRect_Contains4(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.char(int8(qt.GoBoolToInt(proper))))) != 0 + } + return false +} + +func (ptr *QRect) GetCoords(x1 int, y1 int, x2 int, y2 int) { + if ptr.Pointer() != nil { + C.QRect_GetCoords(ptr.Pointer(), C.int(int32(x1)), C.int(int32(y1)), C.int(int32(x2)), C.int(int32(y2))) + } +} + +func (ptr *QRect) GetRect(x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QRect_GetRect(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QRect) Height() int { + if ptr.Pointer() != nil { + return int(int32(C.QRect_Height(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRect) Intersected(rectangle QRect_ITF) *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRect_Intersected(ptr.Pointer(), PointerFromQRect(rectangle))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRect) Intersects(rectangle QRect_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QRect_Intersects(ptr.Pointer(), PointerFromQRect(rectangle))) != 0 + } + return false +} + +func (ptr *QRect) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QRect_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRect) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QRect_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRect) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QRect_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRect) Left() int { + if ptr.Pointer() != nil { + return int(int32(C.QRect_Left(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRect) MarginsAdded(margins QMargins_ITF) *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRect_MarginsAdded(ptr.Pointer(), PointerFromQMargins(margins))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRect) MarginsRemoved(margins QMargins_ITF) *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRect_MarginsRemoved(ptr.Pointer(), PointerFromQMargins(margins))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRect) MoveBottom(y int) { + if ptr.Pointer() != nil { + C.QRect_MoveBottom(ptr.Pointer(), C.int(int32(y))) + } +} + +func (ptr *QRect) MoveBottomLeft(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_MoveBottomLeft(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) MoveBottomRight(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_MoveBottomRight(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) MoveCenter(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_MoveCenter(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) MoveLeft(x int) { + if ptr.Pointer() != nil { + C.QRect_MoveLeft(ptr.Pointer(), C.int(int32(x))) + } +} + +func (ptr *QRect) MoveRight(x int) { + if ptr.Pointer() != nil { + C.QRect_MoveRight(ptr.Pointer(), C.int(int32(x))) + } +} + +func (ptr *QRect) MoveTo(x int, y int) { + if ptr.Pointer() != nil { + C.QRect_MoveTo(ptr.Pointer(), C.int(int32(x)), C.int(int32(y))) + } +} + +func (ptr *QRect) MoveTo2(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_MoveTo2(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) MoveTop(y int) { + if ptr.Pointer() != nil { + C.QRect_MoveTop(ptr.Pointer(), C.int(int32(y))) + } +} + +func (ptr *QRect) MoveTopLeft(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_MoveTopLeft(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) MoveTopRight(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_MoveTopRight(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) Normalized() *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRect_Normalized(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRect) Right() int { + if ptr.Pointer() != nil { + return int(int32(C.QRect_Right(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRect) SetBottom(y int) { + if ptr.Pointer() != nil { + C.QRect_SetBottom(ptr.Pointer(), C.int(int32(y))) + } +} + +func (ptr *QRect) SetBottomLeft(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_SetBottomLeft(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) SetBottomRight(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_SetBottomRight(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) SetCoords(x1 int, y1 int, x2 int, y2 int) { + if ptr.Pointer() != nil { + C.QRect_SetCoords(ptr.Pointer(), C.int(int32(x1)), C.int(int32(y1)), C.int(int32(x2)), C.int(int32(y2))) + } +} + +func (ptr *QRect) SetHeight(height int) { + if ptr.Pointer() != nil { + C.QRect_SetHeight(ptr.Pointer(), C.int(int32(height))) + } +} + +func (ptr *QRect) SetLeft(x int) { + if ptr.Pointer() != nil { + C.QRect_SetLeft(ptr.Pointer(), C.int(int32(x))) + } +} + +func (ptr *QRect) SetRect(x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QRect_SetRect(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QRect) SetRight(x int) { + if ptr.Pointer() != nil { + C.QRect_SetRight(ptr.Pointer(), C.int(int32(x))) + } +} + +func (ptr *QRect) SetSize(size QSize_ITF) { + if ptr.Pointer() != nil { + C.QRect_SetSize(ptr.Pointer(), PointerFromQSize(size)) + } +} + +func (ptr *QRect) SetTop(y int) { + if ptr.Pointer() != nil { + C.QRect_SetTop(ptr.Pointer(), C.int(int32(y))) + } +} + +func (ptr *QRect) SetTopLeft(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_SetTopLeft(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) SetTopRight(position QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_SetTopRight(ptr.Pointer(), PointerFromQPoint(position)) + } +} + +func (ptr *QRect) SetWidth(width int) { + if ptr.Pointer() != nil { + C.QRect_SetWidth(ptr.Pointer(), C.int(int32(width))) + } +} + +func (ptr *QRect) SetX(x int) { + if ptr.Pointer() != nil { + C.QRect_SetX(ptr.Pointer(), C.int(int32(x))) + } +} + +func (ptr *QRect) SetY(y int) { + if ptr.Pointer() != nil { + C.QRect_SetY(ptr.Pointer(), C.int(int32(y))) + } +} + +func (ptr *QRect) Size() *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QRect_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QRect) Top() int { + if ptr.Pointer() != nil { + return int(int32(C.QRect_Top(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRect) TopLeft() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QRect_TopLeft(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QRect) TopRight() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QRect_TopRight(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QRect) Translate(dx int, dy int) { + if ptr.Pointer() != nil { + C.QRect_Translate(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy))) + } +} + +func (ptr *QRect) Translate2(offset QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRect_Translate2(ptr.Pointer(), PointerFromQPoint(offset)) + } +} + +func (ptr *QRect) Translated(dx int, dy int) *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRect_Translated(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy)))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRect) Translated2(offset QPoint_ITF) *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRect_Translated2(ptr.Pointer(), PointerFromQPoint(offset))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRect) Transposed() *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRect_Transposed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRect) United(rectangle QRect_ITF) *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRect_United(ptr.Pointer(), PointerFromQRect(rectangle))) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRect) Width() int { + if ptr.Pointer() != nil { + return int(int32(C.QRect_Width(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRect) X() int { + if ptr.Pointer() != nil { + return int(int32(C.QRect_X(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRect) Y() int { + if ptr.Pointer() != nil { + return int(int32(C.QRect_Y(ptr.Pointer()))) + } + return 0 +} + +type QRectF struct { + ptr unsafe.Pointer +} + +type QRectF_ITF interface { + QRectF_PTR() *QRectF +} + +func (ptr *QRectF) QRectF_PTR() *QRectF { + return ptr +} + +func (ptr *QRectF) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRectF) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRectF(ptr QRectF_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRectF_PTR().Pointer() + } + return nil +} + +func NewQRectFFromPointer(ptr unsafe.Pointer) (n *QRectF) { + n = new(QRectF) + n.SetPointer(ptr) + return +} + +func (ptr *QRectF) DestroyQRectF() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQRectF() *QRectF { + tmpValue := NewQRectFFromPointer(C.QRectF_NewQRectF()) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue +} + +func NewQRectF2(topLeft QPointF_ITF, size QSizeF_ITF) *QRectF { + tmpValue := NewQRectFFromPointer(C.QRectF_NewQRectF2(PointerFromQPointF(topLeft), PointerFromQSizeF(size))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue +} + +func NewQRectF3(topLeft QPointF_ITF, bottomRight QPointF_ITF) *QRectF { + tmpValue := NewQRectFFromPointer(C.QRectF_NewQRectF3(PointerFromQPointF(topLeft), PointerFromQPointF(bottomRight))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue +} + +func NewQRectF4(x float64, y float64, width float64, height float64) *QRectF { + tmpValue := NewQRectFFromPointer(C.QRectF_NewQRectF4(C.double(x), C.double(y), C.double(width), C.double(height))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue +} + +func NewQRectF5(rectangle QRect_ITF) *QRectF { + tmpValue := NewQRectFFromPointer(C.QRectF_NewQRectF5(PointerFromQRect(rectangle))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue +} + +func (ptr *QRectF) Adjust(dx1 float64, dy1 float64, dx2 float64, dy2 float64) { + if ptr.Pointer() != nil { + C.QRectF_Adjust(ptr.Pointer(), C.double(dx1), C.double(dy1), C.double(dx2), C.double(dy2)) + } +} + +func (ptr *QRectF) Adjusted(dx1 float64, dy1 float64, dx2 float64, dy2 float64) *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QRectF_Adjusted(ptr.Pointer(), C.double(dx1), C.double(dy1), C.double(dx2), C.double(dy2))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Bottom() float64 { + if ptr.Pointer() != nil { + return float64(C.QRectF_Bottom(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRectF) BottomLeft() *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QRectF_BottomLeft(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) BottomRight() *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QRectF_BottomRight(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Center() *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QRectF_Center(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Contains(point QPointF_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QRectF_Contains(ptr.Pointer(), PointerFromQPointF(point))) != 0 + } + return false +} + +func (ptr *QRectF) Contains2(rectangle QRectF_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QRectF_Contains2(ptr.Pointer(), PointerFromQRectF(rectangle))) != 0 + } + return false +} + +func (ptr *QRectF) Contains3(x float64, y float64) bool { + if ptr.Pointer() != nil { + return int8(C.QRectF_Contains3(ptr.Pointer(), C.double(x), C.double(y))) != 0 + } + return false +} + +func (ptr *QRectF) GetCoords(x1 float64, y1 float64, x2 float64, y2 float64) { + if ptr.Pointer() != nil { + C.QRectF_GetCoords(ptr.Pointer(), C.double(x1), C.double(y1), C.double(x2), C.double(y2)) + } +} + +func (ptr *QRectF) GetRect(x float64, y float64, width float64, height float64) { + if ptr.Pointer() != nil { + C.QRectF_GetRect(ptr.Pointer(), C.double(x), C.double(y), C.double(width), C.double(height)) + } +} + +func (ptr *QRectF) Height() float64 { + if ptr.Pointer() != nil { + return float64(C.QRectF_Height(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRectF) Intersected(rectangle QRectF_ITF) *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QRectF_Intersected(ptr.Pointer(), PointerFromQRectF(rectangle))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Intersects(rectangle QRectF_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QRectF_Intersects(ptr.Pointer(), PointerFromQRectF(rectangle))) != 0 + } + return false +} + +func (ptr *QRectF) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QRectF_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRectF) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QRectF_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRectF) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QRectF_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRectF) Left() float64 { + if ptr.Pointer() != nil { + return float64(C.QRectF_Left(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRectF) MarginsAdded(margins QMarginsF_ITF) *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QRectF_MarginsAdded(ptr.Pointer(), PointerFromQMarginsF(margins))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) MarginsRemoved(margins QMarginsF_ITF) *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QRectF_MarginsRemoved(ptr.Pointer(), PointerFromQMarginsF(margins))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) MoveBottom(y float64) { + if ptr.Pointer() != nil { + C.QRectF_MoveBottom(ptr.Pointer(), C.double(y)) + } +} + +func (ptr *QRectF) MoveBottomLeft(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_MoveBottomLeft(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) MoveBottomRight(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_MoveBottomRight(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) MoveCenter(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_MoveCenter(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) MoveLeft(x float64) { + if ptr.Pointer() != nil { + C.QRectF_MoveLeft(ptr.Pointer(), C.double(x)) + } +} + +func (ptr *QRectF) MoveRight(x float64) { + if ptr.Pointer() != nil { + C.QRectF_MoveRight(ptr.Pointer(), C.double(x)) + } +} + +func (ptr *QRectF) MoveTo(x float64, y float64) { + if ptr.Pointer() != nil { + C.QRectF_MoveTo(ptr.Pointer(), C.double(x), C.double(y)) + } +} + +func (ptr *QRectF) MoveTo2(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_MoveTo2(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) MoveTop(y float64) { + if ptr.Pointer() != nil { + C.QRectF_MoveTop(ptr.Pointer(), C.double(y)) + } +} + +func (ptr *QRectF) MoveTopLeft(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_MoveTopLeft(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) MoveTopRight(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_MoveTopRight(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) Normalized() *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QRectF_Normalized(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Right() float64 { + if ptr.Pointer() != nil { + return float64(C.QRectF_Right(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRectF) SetBottom(y float64) { + if ptr.Pointer() != nil { + C.QRectF_SetBottom(ptr.Pointer(), C.double(y)) + } +} + +func (ptr *QRectF) SetBottomLeft(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_SetBottomLeft(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) SetBottomRight(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_SetBottomRight(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) SetCoords(x1 float64, y1 float64, x2 float64, y2 float64) { + if ptr.Pointer() != nil { + C.QRectF_SetCoords(ptr.Pointer(), C.double(x1), C.double(y1), C.double(x2), C.double(y2)) + } +} + +func (ptr *QRectF) SetHeight(height float64) { + if ptr.Pointer() != nil { + C.QRectF_SetHeight(ptr.Pointer(), C.double(height)) + } +} + +func (ptr *QRectF) SetLeft(x float64) { + if ptr.Pointer() != nil { + C.QRectF_SetLeft(ptr.Pointer(), C.double(x)) + } +} + +func (ptr *QRectF) SetRect(x float64, y float64, width float64, height float64) { + if ptr.Pointer() != nil { + C.QRectF_SetRect(ptr.Pointer(), C.double(x), C.double(y), C.double(width), C.double(height)) + } +} + +func (ptr *QRectF) SetRight(x float64) { + if ptr.Pointer() != nil { + C.QRectF_SetRight(ptr.Pointer(), C.double(x)) + } +} + +func (ptr *QRectF) SetSize(size QSizeF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_SetSize(ptr.Pointer(), PointerFromQSizeF(size)) + } +} + +func (ptr *QRectF) SetTop(y float64) { + if ptr.Pointer() != nil { + C.QRectF_SetTop(ptr.Pointer(), C.double(y)) + } +} + +func (ptr *QRectF) SetTopLeft(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_SetTopLeft(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) SetTopRight(position QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_SetTopRight(ptr.Pointer(), PointerFromQPointF(position)) + } +} + +func (ptr *QRectF) SetWidth(width float64) { + if ptr.Pointer() != nil { + C.QRectF_SetWidth(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QRectF) SetX(x float64) { + if ptr.Pointer() != nil { + C.QRectF_SetX(ptr.Pointer(), C.double(x)) + } +} + +func (ptr *QRectF) SetY(y float64) { + if ptr.Pointer() != nil { + C.QRectF_SetY(ptr.Pointer(), C.double(y)) + } +} + +func (ptr *QRectF) Size() *QSizeF { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFFromPointer(C.QRectF_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) ToAlignedRect() *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRectF_ToAlignedRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRectF) ToRect() *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QRectF_ToRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Top() float64 { + if ptr.Pointer() != nil { + return float64(C.QRectF_Top(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRectF) TopLeft() *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QRectF_TopLeft(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) TopRight() *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QRectF_TopRight(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Translate(dx float64, dy float64) { + if ptr.Pointer() != nil { + C.QRectF_Translate(ptr.Pointer(), C.double(dx), C.double(dy)) + } +} + +func (ptr *QRectF) Translate2(offset QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRectF_Translate2(ptr.Pointer(), PointerFromQPointF(offset)) + } +} + +func (ptr *QRectF) Translated(dx float64, dy float64) *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QRectF_Translated(ptr.Pointer(), C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Translated2(offset QPointF_ITF) *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QRectF_Translated2(ptr.Pointer(), PointerFromQPointF(offset))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Transposed() *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QRectF_Transposed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) United(rectangle QRectF_ITF) *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QRectF_United(ptr.Pointer(), PointerFromQRectF(rectangle))) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRectF) Width() float64 { + if ptr.Pointer() != nil { + return float64(C.QRectF_Width(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRectF) X() float64 { + if ptr.Pointer() != nil { + return float64(C.QRectF_X(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRectF) Y() float64 { + if ptr.Pointer() != nil { + return float64(C.QRectF_Y(ptr.Pointer())) + } + return 0 +} + +type QRegExp struct { + ptr unsafe.Pointer +} + +type QRegExp_ITF interface { + QRegExp_PTR() *QRegExp +} + +func (ptr *QRegExp) QRegExp_PTR() *QRegExp { + return ptr +} + +func (ptr *QRegExp) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRegExp) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRegExp(ptr QRegExp_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRegExp_PTR().Pointer() + } + return nil +} + +func NewQRegExpFromPointer(ptr unsafe.Pointer) (n *QRegExp) { + n = new(QRegExp) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QRegExp__PatternSyntax +//QRegExp::PatternSyntax +type QRegExp__PatternSyntax int64 + +const ( + QRegExp__RegExp QRegExp__PatternSyntax = QRegExp__PatternSyntax(0) + QRegExp__Wildcard QRegExp__PatternSyntax = QRegExp__PatternSyntax(1) + QRegExp__FixedString QRegExp__PatternSyntax = QRegExp__PatternSyntax(2) + QRegExp__RegExp2 QRegExp__PatternSyntax = QRegExp__PatternSyntax(3) + QRegExp__WildcardUnix QRegExp__PatternSyntax = QRegExp__PatternSyntax(4) + QRegExp__W3CXmlSchema11 QRegExp__PatternSyntax = QRegExp__PatternSyntax(5) +) + +//go:generate stringer -type=QRegExp__CaretMode +//QRegExp::CaretMode +type QRegExp__CaretMode int64 + +const ( + QRegExp__CaretAtZero QRegExp__CaretMode = QRegExp__CaretMode(0) + QRegExp__CaretAtOffset QRegExp__CaretMode = QRegExp__CaretMode(1) + QRegExp__CaretWontMatch QRegExp__CaretMode = QRegExp__CaretMode(2) +) + +func NewQRegExp() *QRegExp { + tmpValue := NewQRegExpFromPointer(C.QRegExp_NewQRegExp()) + runtime.SetFinalizer(tmpValue, (*QRegExp).DestroyQRegExp) + return tmpValue +} + +func NewQRegExp2(pattern string, cs Qt__CaseSensitivity, syntax QRegExp__PatternSyntax) *QRegExp { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + tmpValue := NewQRegExpFromPointer(C.QRegExp_NewQRegExp2(C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}, C.longlong(cs), C.longlong(syntax))) + runtime.SetFinalizer(tmpValue, (*QRegExp).DestroyQRegExp) + return tmpValue +} + +func NewQRegExp3(rx QRegExp_ITF) *QRegExp { + tmpValue := NewQRegExpFromPointer(C.QRegExp_NewQRegExp3(PointerFromQRegExp(rx))) + runtime.SetFinalizer(tmpValue, (*QRegExp).DestroyQRegExp) + return tmpValue +} + +func (ptr *QRegExp) Cap(nth int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRegExp_Cap(ptr.Pointer(), C.int(int32(nth)))) + } + return "" +} + +func (ptr *QRegExp) CaptureCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QRegExp_CaptureCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRegExp) CapturedTexts() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QRegExp_CapturedTexts(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QRegExp) CaseSensitivity() Qt__CaseSensitivity { + if ptr.Pointer() != nil { + return Qt__CaseSensitivity(C.QRegExp_CaseSensitivity(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRegExp) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRegExp_ErrorString(ptr.Pointer())) + } + return "" +} + +func QRegExp_Escape(str string) string { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return cGoUnpackString(C.QRegExp_QRegExp_Escape(C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) +} + +func (ptr *QRegExp) Escape(str string) string { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return cGoUnpackString(C.QRegExp_QRegExp_Escape(C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) +} + +func (ptr *QRegExp) ExactMatch(str string) bool { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int8(C.QRegExp_ExactMatch(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) != 0 + } + return false +} + +func (ptr *QRegExp) IndexIn(str string, offset int, caretMode QRegExp__CaretMode) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QRegExp_IndexIn(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.int(int32(offset)), C.longlong(caretMode)))) + } + return 0 +} + +func (ptr *QRegExp) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QRegExp_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRegExp) IsMinimal() bool { + if ptr.Pointer() != nil { + return int8(C.QRegExp_IsMinimal(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRegExp) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QRegExp_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRegExp) LastIndexIn(str string, offset int, caretMode QRegExp__CaretMode) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QRegExp_LastIndexIn(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.int(int32(offset)), C.longlong(caretMode)))) + } + return 0 +} + +func (ptr *QRegExp) MatchedLength() int { + if ptr.Pointer() != nil { + return int(int32(C.QRegExp_MatchedLength(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRegExp) Pattern() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRegExp_Pattern(ptr.Pointer())) + } + return "" +} + +func (ptr *QRegExp) PatternSyntax() QRegExp__PatternSyntax { + if ptr.Pointer() != nil { + return QRegExp__PatternSyntax(C.QRegExp_PatternSyntax(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRegExp) Pos(nth int) int { + if ptr.Pointer() != nil { + return int(int32(C.QRegExp_Pos(ptr.Pointer(), C.int(int32(nth))))) + } + return 0 +} + +func (ptr *QRegExp) SetCaseSensitivity(cs Qt__CaseSensitivity) { + if ptr.Pointer() != nil { + C.QRegExp_SetCaseSensitivity(ptr.Pointer(), C.longlong(cs)) + } +} + +func (ptr *QRegExp) SetMinimal(minimal bool) { + if ptr.Pointer() != nil { + C.QRegExp_SetMinimal(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(minimal)))) + } +} + +func (ptr *QRegExp) SetPattern(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QRegExp_SetPattern(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +func (ptr *QRegExp) SetPatternSyntax(syntax QRegExp__PatternSyntax) { + if ptr.Pointer() != nil { + C.QRegExp_SetPatternSyntax(ptr.Pointer(), C.longlong(syntax)) + } +} + +func (ptr *QRegExp) Swap(other QRegExp_ITF) { + if ptr.Pointer() != nil { + C.QRegExp_Swap(ptr.Pointer(), PointerFromQRegExp(other)) + } +} + +func (ptr *QRegExp) DestroyQRegExp() { + if ptr.Pointer() != nil { + C.QRegExp_DestroyQRegExp(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QRegularExpression struct { + ptr unsafe.Pointer +} + +type QRegularExpression_ITF interface { + QRegularExpression_PTR() *QRegularExpression +} + +func (ptr *QRegularExpression) QRegularExpression_PTR() *QRegularExpression { + return ptr +} + +func (ptr *QRegularExpression) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRegularExpression) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRegularExpression(ptr QRegularExpression_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRegularExpression_PTR().Pointer() + } + return nil +} + +func NewQRegularExpressionFromPointer(ptr unsafe.Pointer) (n *QRegularExpression) { + n = new(QRegularExpression) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QRegularExpression__PatternOption +//QRegularExpression::PatternOption +type QRegularExpression__PatternOption int64 + +const ( + QRegularExpression__NoPatternOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0000) + QRegularExpression__CaseInsensitiveOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0001) + QRegularExpression__DotMatchesEverythingOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0002) + QRegularExpression__MultilineOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0004) + QRegularExpression__ExtendedPatternSyntaxOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0008) + QRegularExpression__InvertedGreedinessOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0010) + QRegularExpression__DontCaptureOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0020) + QRegularExpression__UseUnicodePropertiesOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0040) + QRegularExpression__OptimizeOnFirstUsageOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0080) + QRegularExpression__DontAutomaticallyOptimizeOption QRegularExpression__PatternOption = QRegularExpression__PatternOption(0x0100) +) + +//go:generate stringer -type=QRegularExpression__MatchType +//QRegularExpression::MatchType +type QRegularExpression__MatchType int64 + +const ( + QRegularExpression__NormalMatch QRegularExpression__MatchType = QRegularExpression__MatchType(0) + QRegularExpression__PartialPreferCompleteMatch QRegularExpression__MatchType = QRegularExpression__MatchType(1) + QRegularExpression__PartialPreferFirstMatch QRegularExpression__MatchType = QRegularExpression__MatchType(2) + QRegularExpression__NoMatch QRegularExpression__MatchType = QRegularExpression__MatchType(3) +) + +//go:generate stringer -type=QRegularExpression__MatchOption +//QRegularExpression::MatchOption +type QRegularExpression__MatchOption int64 + +const ( + QRegularExpression__NoMatchOption QRegularExpression__MatchOption = QRegularExpression__MatchOption(0x0000) + QRegularExpression__AnchoredMatchOption QRegularExpression__MatchOption = QRegularExpression__MatchOption(0x0001) + QRegularExpression__DontCheckSubjectStringMatchOption QRegularExpression__MatchOption = QRegularExpression__MatchOption(0x0002) +) + +func NewQRegularExpression() *QRegularExpression { + tmpValue := NewQRegularExpressionFromPointer(C.QRegularExpression_NewQRegularExpression()) + runtime.SetFinalizer(tmpValue, (*QRegularExpression).DestroyQRegularExpression) + return tmpValue +} + +func NewQRegularExpression2(pattern string, options QRegularExpression__PatternOption) *QRegularExpression { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + tmpValue := NewQRegularExpressionFromPointer(C.QRegularExpression_NewQRegularExpression2(C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}, C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QRegularExpression).DestroyQRegularExpression) + return tmpValue +} + +func NewQRegularExpression3(re QRegularExpression_ITF) *QRegularExpression { + tmpValue := NewQRegularExpressionFromPointer(C.QRegularExpression_NewQRegularExpression3(PointerFromQRegularExpression(re))) + runtime.SetFinalizer(tmpValue, (*QRegularExpression).DestroyQRegularExpression) + return tmpValue +} + +func QRegularExpression_AnchoredPattern(expression string) string { + var expressionC *C.char + if expression != "" { + expressionC = C.CString(expression) + defer C.free(unsafe.Pointer(expressionC)) + } + return cGoUnpackString(C.QRegularExpression_QRegularExpression_AnchoredPattern(C.struct_QtCore_PackedString{data: expressionC, len: C.longlong(len(expression))})) +} + +func (ptr *QRegularExpression) AnchoredPattern(expression string) string { + var expressionC *C.char + if expression != "" { + expressionC = C.CString(expression) + defer C.free(unsafe.Pointer(expressionC)) + } + return cGoUnpackString(C.QRegularExpression_QRegularExpression_AnchoredPattern(C.struct_QtCore_PackedString{data: expressionC, len: C.longlong(len(expression))})) +} + +func (ptr *QRegularExpression) CaptureCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QRegularExpression_CaptureCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRegularExpression) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRegularExpression_ErrorString(ptr.Pointer())) + } + return "" +} + +func QRegularExpression_Escape(str string) string { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return cGoUnpackString(C.QRegularExpression_QRegularExpression_Escape(C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) +} + +func (ptr *QRegularExpression) Escape(str string) string { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return cGoUnpackString(C.QRegularExpression_QRegularExpression_Escape(C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) +} + +func (ptr *QRegularExpression) GlobalMatch(subject string, offset int, matchType QRegularExpression__MatchType, matchOptions QRegularExpression__MatchOption) *QRegularExpressionMatchIterator { + if ptr.Pointer() != nil { + var subjectC *C.char + if subject != "" { + subjectC = C.CString(subject) + defer C.free(unsafe.Pointer(subjectC)) + } + return NewQRegularExpressionMatchIteratorFromPointer(C.QRegularExpression_GlobalMatch(ptr.Pointer(), C.struct_QtCore_PackedString{data: subjectC, len: C.longlong(len(subject))}, C.int(int32(offset)), C.longlong(matchType), C.longlong(matchOptions))) + } + return nil +} + +func (ptr *QRegularExpression) GlobalMatch2(subjectRef QStringRef_ITF, offset int, matchType QRegularExpression__MatchType, matchOptions QRegularExpression__MatchOption) *QRegularExpressionMatchIterator { + if ptr.Pointer() != nil { + return NewQRegularExpressionMatchIteratorFromPointer(C.QRegularExpression_GlobalMatch2(ptr.Pointer(), PointerFromQStringRef(subjectRef), C.int(int32(offset)), C.longlong(matchType), C.longlong(matchOptions))) + } + return nil +} + +func (ptr *QRegularExpression) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QRegularExpression_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRegularExpression) Match(subject string, offset int, matchType QRegularExpression__MatchType, matchOptions QRegularExpression__MatchOption) *QRegularExpressionMatch { + if ptr.Pointer() != nil { + var subjectC *C.char + if subject != "" { + subjectC = C.CString(subject) + defer C.free(unsafe.Pointer(subjectC)) + } + tmpValue := NewQRegularExpressionMatchFromPointer(C.QRegularExpression_Match(ptr.Pointer(), C.struct_QtCore_PackedString{data: subjectC, len: C.longlong(len(subject))}, C.int(int32(offset)), C.longlong(matchType), C.longlong(matchOptions))) + runtime.SetFinalizer(tmpValue, (*QRegularExpressionMatch).DestroyQRegularExpressionMatch) + return tmpValue + } + return nil +} + +func (ptr *QRegularExpression) Match2(subjectRef QStringRef_ITF, offset int, matchType QRegularExpression__MatchType, matchOptions QRegularExpression__MatchOption) *QRegularExpressionMatch { + if ptr.Pointer() != nil { + tmpValue := NewQRegularExpressionMatchFromPointer(C.QRegularExpression_Match2(ptr.Pointer(), PointerFromQStringRef(subjectRef), C.int(int32(offset)), C.longlong(matchType), C.longlong(matchOptions))) + runtime.SetFinalizer(tmpValue, (*QRegularExpressionMatch).DestroyQRegularExpressionMatch) + return tmpValue + } + return nil +} + +func (ptr *QRegularExpression) NamedCaptureGroups() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QRegularExpression_NamedCaptureGroups(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QRegularExpression) Optimize() { + if ptr.Pointer() != nil { + C.QRegularExpression_Optimize(ptr.Pointer()) + } +} + +func (ptr *QRegularExpression) Pattern() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRegularExpression_Pattern(ptr.Pointer())) + } + return "" +} + +func (ptr *QRegularExpression) PatternErrorOffset() int { + if ptr.Pointer() != nil { + return int(int32(C.QRegularExpression_PatternErrorOffset(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRegularExpression) PatternOptions() QRegularExpression__PatternOption { + if ptr.Pointer() != nil { + return QRegularExpression__PatternOption(C.QRegularExpression_PatternOptions(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRegularExpression) SetPattern(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QRegularExpression_SetPattern(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +func (ptr *QRegularExpression) SetPatternOptions(options QRegularExpression__PatternOption) { + if ptr.Pointer() != nil { + C.QRegularExpression_SetPatternOptions(ptr.Pointer(), C.longlong(options)) + } +} + +func (ptr *QRegularExpression) Swap(other QRegularExpression_ITF) { + if ptr.Pointer() != nil { + C.QRegularExpression_Swap(ptr.Pointer(), PointerFromQRegularExpression(other)) + } +} + +func QRegularExpression_WildcardToRegularExpression(pattern string) string { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + return cGoUnpackString(C.QRegularExpression_QRegularExpression_WildcardToRegularExpression(C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))})) +} + +func (ptr *QRegularExpression) WildcardToRegularExpression(pattern string) string { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + return cGoUnpackString(C.QRegularExpression_QRegularExpression_WildcardToRegularExpression(C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))})) +} + +func (ptr *QRegularExpression) DestroyQRegularExpression() { + if ptr.Pointer() != nil { + C.QRegularExpression_DestroyQRegularExpression(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QRegularExpressionMatch struct { + ptr unsafe.Pointer +} + +type QRegularExpressionMatch_ITF interface { + QRegularExpressionMatch_PTR() *QRegularExpressionMatch +} + +func (ptr *QRegularExpressionMatch) QRegularExpressionMatch_PTR() *QRegularExpressionMatch { + return ptr +} + +func (ptr *QRegularExpressionMatch) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRegularExpressionMatch) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRegularExpressionMatch(ptr QRegularExpressionMatch_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRegularExpressionMatch_PTR().Pointer() + } + return nil +} + +func NewQRegularExpressionMatchFromPointer(ptr unsafe.Pointer) (n *QRegularExpressionMatch) { + n = new(QRegularExpressionMatch) + n.SetPointer(ptr) + return +} +func NewQRegularExpressionMatch() *QRegularExpressionMatch { + tmpValue := NewQRegularExpressionMatchFromPointer(C.QRegularExpressionMatch_NewQRegularExpressionMatch()) + runtime.SetFinalizer(tmpValue, (*QRegularExpressionMatch).DestroyQRegularExpressionMatch) + return tmpValue +} + +func NewQRegularExpressionMatch2(match QRegularExpressionMatch_ITF) *QRegularExpressionMatch { + tmpValue := NewQRegularExpressionMatchFromPointer(C.QRegularExpressionMatch_NewQRegularExpressionMatch2(PointerFromQRegularExpressionMatch(match))) + runtime.SetFinalizer(tmpValue, (*QRegularExpressionMatch).DestroyQRegularExpressionMatch) + return tmpValue +} + +func (ptr *QRegularExpressionMatch) Captured(nth int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRegularExpressionMatch_Captured(ptr.Pointer(), C.int(int32(nth)))) + } + return "" +} + +func (ptr *QRegularExpressionMatch) Captured2(name string) string { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return cGoUnpackString(C.QRegularExpressionMatch_Captured2(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) + } + return "" +} + +func (ptr *QRegularExpressionMatch) Captured3(name QStringView_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRegularExpressionMatch_Captured3(ptr.Pointer(), PointerFromQStringView(name))) + } + return "" +} + +func (ptr *QRegularExpressionMatch) CapturedEnd(nth int) int { + if ptr.Pointer() != nil { + return int(int32(C.QRegularExpressionMatch_CapturedEnd(ptr.Pointer(), C.int(int32(nth))))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) CapturedEnd2(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QRegularExpressionMatch_CapturedEnd2(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) CapturedEnd3(name QStringView_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QRegularExpressionMatch_CapturedEnd3(ptr.Pointer(), PointerFromQStringView(name)))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) CapturedLength(nth int) int { + if ptr.Pointer() != nil { + return int(int32(C.QRegularExpressionMatch_CapturedLength(ptr.Pointer(), C.int(int32(nth))))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) CapturedLength2(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QRegularExpressionMatch_CapturedLength2(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) CapturedLength3(name QStringView_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QRegularExpressionMatch_CapturedLength3(ptr.Pointer(), PointerFromQStringView(name)))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) CapturedRef(nth int) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QRegularExpressionMatch_CapturedRef(ptr.Pointer(), C.int(int32(nth)))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QRegularExpressionMatch) CapturedRef2(name string) *QStringRef { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQStringRefFromPointer(C.QRegularExpressionMatch_CapturedRef2(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QRegularExpressionMatch) CapturedRef3(name QStringView_ITF) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QRegularExpressionMatch_CapturedRef3(ptr.Pointer(), PointerFromQStringView(name))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QRegularExpressionMatch) CapturedStart(nth int) int { + if ptr.Pointer() != nil { + return int(int32(C.QRegularExpressionMatch_CapturedStart(ptr.Pointer(), C.int(int32(nth))))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) CapturedStart2(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QRegularExpressionMatch_CapturedStart2(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) CapturedStart3(name QStringView_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QRegularExpressionMatch_CapturedStart3(ptr.Pointer(), PointerFromQStringView(name)))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) CapturedTexts() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QRegularExpressionMatch_CapturedTexts(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QRegularExpressionMatch) CapturedView(nth int) *QStringView { + if ptr.Pointer() != nil { + tmpValue := NewQStringViewFromPointer(C.QRegularExpressionMatch_CapturedView(ptr.Pointer(), C.int(int32(nth)))) + runtime.SetFinalizer(tmpValue, (*QStringView).DestroyQStringView) + return tmpValue + } + return nil +} + +func (ptr *QRegularExpressionMatch) CapturedView2(name QStringView_ITF) *QStringView { + if ptr.Pointer() != nil { + tmpValue := NewQStringViewFromPointer(C.QRegularExpressionMatch_CapturedView2(ptr.Pointer(), PointerFromQStringView(name))) + runtime.SetFinalizer(tmpValue, (*QStringView).DestroyQStringView) + return tmpValue + } + return nil +} + +func (ptr *QRegularExpressionMatch) HasMatch() bool { + if ptr.Pointer() != nil { + return int8(C.QRegularExpressionMatch_HasMatch(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRegularExpressionMatch) HasPartialMatch() bool { + if ptr.Pointer() != nil { + return int8(C.QRegularExpressionMatch_HasPartialMatch(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRegularExpressionMatch) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QRegularExpressionMatch_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRegularExpressionMatch) LastCapturedIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QRegularExpressionMatch_LastCapturedIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) MatchOptions() QRegularExpression__MatchOption { + if ptr.Pointer() != nil { + return QRegularExpression__MatchOption(C.QRegularExpressionMatch_MatchOptions(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) MatchType() QRegularExpression__MatchType { + if ptr.Pointer() != nil { + return QRegularExpression__MatchType(C.QRegularExpressionMatch_MatchType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRegularExpressionMatch) RegularExpression() *QRegularExpression { + if ptr.Pointer() != nil { + tmpValue := NewQRegularExpressionFromPointer(C.QRegularExpressionMatch_RegularExpression(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRegularExpression).DestroyQRegularExpression) + return tmpValue + } + return nil +} + +func (ptr *QRegularExpressionMatch) Swap(other QRegularExpressionMatch_ITF) { + if ptr.Pointer() != nil { + C.QRegularExpressionMatch_Swap(ptr.Pointer(), PointerFromQRegularExpressionMatch(other)) + } +} + +func (ptr *QRegularExpressionMatch) DestroyQRegularExpressionMatch() { + if ptr.Pointer() != nil { + C.QRegularExpressionMatch_DestroyQRegularExpressionMatch(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QRegularExpressionMatchIterator struct { + ptr unsafe.Pointer +} + +type QRegularExpressionMatchIterator_ITF interface { + QRegularExpressionMatchIterator_PTR() *QRegularExpressionMatchIterator +} + +func (ptr *QRegularExpressionMatchIterator) QRegularExpressionMatchIterator_PTR() *QRegularExpressionMatchIterator { + return ptr +} + +func (ptr *QRegularExpressionMatchIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRegularExpressionMatchIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRegularExpressionMatchIterator(ptr QRegularExpressionMatchIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRegularExpressionMatchIterator_PTR().Pointer() + } + return nil +} + +func NewQRegularExpressionMatchIteratorFromPointer(ptr unsafe.Pointer) (n *QRegularExpressionMatchIterator) { + n = new(QRegularExpressionMatchIterator) + n.SetPointer(ptr) + return +} + +type QResource struct { + ptr unsafe.Pointer +} + +type QResource_ITF interface { + QResource_PTR() *QResource +} + +func (ptr *QResource) QResource_PTR() *QResource { + return ptr +} + +func (ptr *QResource) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QResource) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQResource(ptr QResource_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QResource_PTR().Pointer() + } + return nil +} + +func NewQResourceFromPointer(ptr unsafe.Pointer) (n *QResource) { + n = new(QResource) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QResource__Compression +//QResource::Compression +type QResource__Compression int64 + +const ( + QResource__NoCompression QResource__Compression = QResource__Compression(0) + QResource__ZlibCompression QResource__Compression = QResource__Compression(1) + QResource__ZstdCompression QResource__Compression = QResource__Compression(2) +) + +func NewQResource(file string, locale QLocale_ITF) *QResource { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + tmpValue := NewQResourceFromPointer(C.QResource_NewQResource(C.struct_QtCore_PackedString{data: fileC, len: C.longlong(len(file))}, PointerFromQLocale(locale))) + runtime.SetFinalizer(tmpValue, (*QResource).DestroyQResource) + return tmpValue +} + +func (ptr *QResource) AbsoluteFilePath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QResource_AbsoluteFilePath(ptr.Pointer())) + } + return "" +} + +func (ptr *QResource) Children() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QResource_Children(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QResource) CompressionAlgorithm() QResource__Compression { + if ptr.Pointer() != nil { + return QResource__Compression(C.QResource_CompressionAlgorithm(ptr.Pointer())) + } + return 0 +} + +func (ptr *QResource) Data() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QResource_Data(ptr.Pointer())) + } + return "" +} + +func (ptr *QResource) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QResource_FileName(ptr.Pointer())) + } + return "" +} + +func (ptr *QResource) IsCompressed() bool { + if ptr.Pointer() != nil { + return int8(C.QResource_IsCompressed(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QResource) IsDir() bool { + if ptr.Pointer() != nil { + return int8(C.QResource_IsDir(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QResource) IsFile() bool { + if ptr.Pointer() != nil { + return int8(C.QResource_IsFile(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QResource) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QResource_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QResource) LastModified() *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QResource_LastModified(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QResource) Locale() *QLocale { + if ptr.Pointer() != nil { + tmpValue := NewQLocaleFromPointer(C.QResource_Locale(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue + } + return nil +} + +func QResource_RegisterResource(rccFileName string, mapRoot string) bool { + var rccFileNameC *C.char + if rccFileName != "" { + rccFileNameC = C.CString(rccFileName) + defer C.free(unsafe.Pointer(rccFileNameC)) + } + var mapRootC *C.char + if mapRoot != "" { + mapRootC = C.CString(mapRoot) + defer C.free(unsafe.Pointer(mapRootC)) + } + return int8(C.QResource_QResource_RegisterResource(C.struct_QtCore_PackedString{data: rccFileNameC, len: C.longlong(len(rccFileName))}, C.struct_QtCore_PackedString{data: mapRootC, len: C.longlong(len(mapRoot))})) != 0 +} + +func (ptr *QResource) RegisterResource(rccFileName string, mapRoot string) bool { + var rccFileNameC *C.char + if rccFileName != "" { + rccFileNameC = C.CString(rccFileName) + defer C.free(unsafe.Pointer(rccFileNameC)) + } + var mapRootC *C.char + if mapRoot != "" { + mapRootC = C.CString(mapRoot) + defer C.free(unsafe.Pointer(mapRootC)) + } + return int8(C.QResource_QResource_RegisterResource(C.struct_QtCore_PackedString{data: rccFileNameC, len: C.longlong(len(rccFileName))}, C.struct_QtCore_PackedString{data: mapRootC, len: C.longlong(len(mapRoot))})) != 0 +} + +func QResource_RegisterResource2(rccData string, mapRoot string) bool { + var rccDataC *C.char + if rccData != "" { + rccDataC = C.CString(rccData) + defer C.free(unsafe.Pointer(rccDataC)) + } + var mapRootC *C.char + if mapRoot != "" { + mapRootC = C.CString(mapRoot) + defer C.free(unsafe.Pointer(mapRootC)) + } + return int8(C.QResource_QResource_RegisterResource2(rccDataC, C.struct_QtCore_PackedString{data: mapRootC, len: C.longlong(len(mapRoot))})) != 0 +} + +func (ptr *QResource) RegisterResource2(rccData string, mapRoot string) bool { + var rccDataC *C.char + if rccData != "" { + rccDataC = C.CString(rccData) + defer C.free(unsafe.Pointer(rccDataC)) + } + var mapRootC *C.char + if mapRoot != "" { + mapRootC = C.CString(mapRoot) + defer C.free(unsafe.Pointer(mapRootC)) + } + return int8(C.QResource_QResource_RegisterResource2(rccDataC, C.struct_QtCore_PackedString{data: mapRootC, len: C.longlong(len(mapRoot))})) != 0 +} + +func (ptr *QResource) SetFileName(file string) { + if ptr.Pointer() != nil { + var fileC *C.char + if file != "" { + fileC = C.CString(file) + defer C.free(unsafe.Pointer(fileC)) + } + C.QResource_SetFileName(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileC, len: C.longlong(len(file))}) + } +} + +func (ptr *QResource) SetLocale(locale QLocale_ITF) { + if ptr.Pointer() != nil { + C.QResource_SetLocale(ptr.Pointer(), PointerFromQLocale(locale)) + } +} + +func (ptr *QResource) Size() int64 { + if ptr.Pointer() != nil { + return int64(C.QResource_Size(ptr.Pointer())) + } + return 0 +} + +func QResource_UnregisterResource(rccFileName string, mapRoot string) bool { + var rccFileNameC *C.char + if rccFileName != "" { + rccFileNameC = C.CString(rccFileName) + defer C.free(unsafe.Pointer(rccFileNameC)) + } + var mapRootC *C.char + if mapRoot != "" { + mapRootC = C.CString(mapRoot) + defer C.free(unsafe.Pointer(mapRootC)) + } + return int8(C.QResource_QResource_UnregisterResource(C.struct_QtCore_PackedString{data: rccFileNameC, len: C.longlong(len(rccFileName))}, C.struct_QtCore_PackedString{data: mapRootC, len: C.longlong(len(mapRoot))})) != 0 +} + +func (ptr *QResource) UnregisterResource(rccFileName string, mapRoot string) bool { + var rccFileNameC *C.char + if rccFileName != "" { + rccFileNameC = C.CString(rccFileName) + defer C.free(unsafe.Pointer(rccFileNameC)) + } + var mapRootC *C.char + if mapRoot != "" { + mapRootC = C.CString(mapRoot) + defer C.free(unsafe.Pointer(mapRootC)) + } + return int8(C.QResource_QResource_UnregisterResource(C.struct_QtCore_PackedString{data: rccFileNameC, len: C.longlong(len(rccFileName))}, C.struct_QtCore_PackedString{data: mapRootC, len: C.longlong(len(mapRoot))})) != 0 +} + +func QResource_UnregisterResource2(rccData string, mapRoot string) bool { + var rccDataC *C.char + if rccData != "" { + rccDataC = C.CString(rccData) + defer C.free(unsafe.Pointer(rccDataC)) + } + var mapRootC *C.char + if mapRoot != "" { + mapRootC = C.CString(mapRoot) + defer C.free(unsafe.Pointer(mapRootC)) + } + return int8(C.QResource_QResource_UnregisterResource2(rccDataC, C.struct_QtCore_PackedString{data: mapRootC, len: C.longlong(len(mapRoot))})) != 0 +} + +func (ptr *QResource) UnregisterResource2(rccData string, mapRoot string) bool { + var rccDataC *C.char + if rccData != "" { + rccDataC = C.CString(rccData) + defer C.free(unsafe.Pointer(rccDataC)) + } + var mapRootC *C.char + if mapRoot != "" { + mapRootC = C.CString(mapRoot) + defer C.free(unsafe.Pointer(mapRootC)) + } + return int8(C.QResource_QResource_UnregisterResource2(rccDataC, C.struct_QtCore_PackedString{data: mapRootC, len: C.longlong(len(mapRoot))})) != 0 +} + +func (ptr *QResource) DestroyQResource() { + if ptr.Pointer() != nil { + C.QResource_DestroyQResource(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QReturnArgument struct { + QGenericReturnArgument +} + +type QReturnArgument_ITF interface { + QGenericReturnArgument_ITF + QReturnArgument_PTR() *QReturnArgument +} + +func (ptr *QReturnArgument) QReturnArgument_PTR() *QReturnArgument { + return ptr +} + +func (ptr *QReturnArgument) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QGenericReturnArgument_PTR().Pointer() + } + return nil +} + +func (ptr *QReturnArgument) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QGenericReturnArgument_PTR().SetPointer(p) + } +} + +func PointerFromQReturnArgument(ptr QReturnArgument_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QReturnArgument_PTR().Pointer() + } + return nil +} + +func NewQReturnArgumentFromPointer(ptr unsafe.Pointer) (n *QReturnArgument) { + n = new(QReturnArgument) + n.SetPointer(ptr) + return +} + +func (ptr *QReturnArgument) DestroyQReturnArgument() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QRunnable struct { + ptr unsafe.Pointer +} + +type QRunnable_ITF interface { + QRunnable_PTR() *QRunnable +} + +func (ptr *QRunnable) QRunnable_PTR() *QRunnable { + return ptr +} + +func (ptr *QRunnable) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRunnable) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRunnable(ptr QRunnable_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRunnable_PTR().Pointer() + } + return nil +} + +func NewQRunnableFromPointer(ptr unsafe.Pointer) (n *QRunnable) { + n = new(QRunnable) + n.SetPointer(ptr) + return +} +func NewQRunnable() *QRunnable { + return NewQRunnableFromPointer(C.QRunnable_NewQRunnable()) +} + +func (ptr *QRunnable) AutoDelete() bool { + if ptr.Pointer() != nil { + return int8(C.QRunnable_AutoDelete(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQRunnable_Run +func callbackQRunnable_Run(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "run"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QRunnable) ConnectRun(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "run"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "run", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "run", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QRunnable) DisconnectRun() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "run") + } +} + +func (ptr *QRunnable) Run() { + if ptr.Pointer() != nil { + C.QRunnable_Run(ptr.Pointer()) + } +} + +func (ptr *QRunnable) SetAutoDelete(autoDelete bool) { + if ptr.Pointer() != nil { + C.QRunnable_SetAutoDelete(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(autoDelete)))) + } +} + +//export callbackQRunnable_DestroyQRunnable +func callbackQRunnable_DestroyQRunnable(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QRunnable"); signal != nil { + (*(*func())(signal))() + } else { + NewQRunnableFromPointer(ptr).DestroyQRunnableDefault() + } +} + +func (ptr *QRunnable) ConnectDestroyQRunnable(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QRunnable"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QRunnable", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QRunnable", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QRunnable) DisconnectDestroyQRunnable() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QRunnable") + } +} + +func (ptr *QRunnable) DestroyQRunnable() { + if ptr.Pointer() != nil { + C.QRunnable_DestroyQRunnable(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QRunnable) DestroyQRunnableDefault() { + if ptr.Pointer() != nil { + C.QRunnable_DestroyQRunnableDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QSaveFile struct { + QFileDevice +} + +type QSaveFile_ITF interface { + QFileDevice_ITF + QSaveFile_PTR() *QSaveFile +} + +func (ptr *QSaveFile) QSaveFile_PTR() *QSaveFile { + return ptr +} + +func (ptr *QSaveFile) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QFileDevice_PTR().Pointer() + } + return nil +} + +func (ptr *QSaveFile) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QFileDevice_PTR().SetPointer(p) + } +} + +func PointerFromQSaveFile(ptr QSaveFile_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSaveFile_PTR().Pointer() + } + return nil +} + +func NewQSaveFileFromPointer(ptr unsafe.Pointer) (n *QSaveFile) { + n = new(QSaveFile) + n.SetPointer(ptr) + return +} +func NewQSaveFile(name string) *QSaveFile { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQSaveFileFromPointer(C.QSaveFile_NewQSaveFile(C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSaveFile2(parent QObject_ITF) *QSaveFile { + tmpValue := NewQSaveFileFromPointer(C.QSaveFile_NewQSaveFile2(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSaveFile3(name string, parent QObject_ITF) *QSaveFile { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQSaveFileFromPointer(C.QSaveFile_NewQSaveFile3(C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QSaveFile) CancelWriting() { + if ptr.Pointer() != nil { + C.QSaveFile_CancelWriting(ptr.Pointer()) + } +} + +func (ptr *QSaveFile) Commit() bool { + if ptr.Pointer() != nil { + return int8(C.QSaveFile_Commit(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSaveFile) DirectWriteFallback() bool { + if ptr.Pointer() != nil { + return int8(C.QSaveFile_DirectWriteFallback(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSaveFile) SetDirectWriteFallback(enabled bool) { + if ptr.Pointer() != nil { + C.QSaveFile_SetDirectWriteFallback(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QSaveFile) SetFileName(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QSaveFile_SetFileName(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +//export callbackQSaveFile_DestroyQSaveFile +func callbackQSaveFile_DestroyQSaveFile(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSaveFile"); signal != nil { + (*(*func())(signal))() + } else { + NewQSaveFileFromPointer(ptr).DestroyQSaveFileDefault() + } +} + +func (ptr *QSaveFile) ConnectDestroyQSaveFile(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSaveFile"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSaveFile", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSaveFile", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSaveFile) DisconnectDestroyQSaveFile() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSaveFile") + } +} + +func (ptr *QSaveFile) DestroyQSaveFile() { + if ptr.Pointer() != nil { + C.QSaveFile_DestroyQSaveFile(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSaveFile) DestroyQSaveFileDefault() { + if ptr.Pointer() != nil { + C.QSaveFile_DestroyQSaveFileDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QScopeGuard struct { + ptr unsafe.Pointer +} + +type QScopeGuard_ITF interface { + QScopeGuard_PTR() *QScopeGuard +} + +func (ptr *QScopeGuard) QScopeGuard_PTR() *QScopeGuard { + return ptr +} + +func (ptr *QScopeGuard) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QScopeGuard) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQScopeGuard(ptr QScopeGuard_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScopeGuard_PTR().Pointer() + } + return nil +} + +func NewQScopeGuardFromPointer(ptr unsafe.Pointer) (n *QScopeGuard) { + n = new(QScopeGuard) + n.SetPointer(ptr) + return +} + +func (ptr *QScopeGuard) DestroyQScopeGuard() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QScopedArrayPointer struct { + QScopedPointer +} + +type QScopedArrayPointer_ITF interface { + QScopedPointer_ITF + QScopedArrayPointer_PTR() *QScopedArrayPointer +} + +func (ptr *QScopedArrayPointer) QScopedArrayPointer_PTR() *QScopedArrayPointer { + return ptr +} + +func (ptr *QScopedArrayPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QScopedPointer_PTR().Pointer() + } + return nil +} + +func (ptr *QScopedArrayPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QScopedPointer_PTR().SetPointer(p) + } +} + +func PointerFromQScopedArrayPointer(ptr QScopedArrayPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScopedArrayPointer_PTR().Pointer() + } + return nil +} + +func NewQScopedArrayPointerFromPointer(ptr unsafe.Pointer) (n *QScopedArrayPointer) { + n = new(QScopedArrayPointer) + n.SetPointer(ptr) + return +} + +func (ptr *QScopedArrayPointer) DestroyQScopedArrayPointer() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QScopedPointer struct { + ptr unsafe.Pointer +} + +type QScopedPointer_ITF interface { + QScopedPointer_PTR() *QScopedPointer +} + +func (ptr *QScopedPointer) QScopedPointer_PTR() *QScopedPointer { + return ptr +} + +func (ptr *QScopedPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QScopedPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQScopedPointer(ptr QScopedPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScopedPointer_PTR().Pointer() + } + return nil +} + +func NewQScopedPointerFromPointer(ptr unsafe.Pointer) (n *QScopedPointer) { + n = new(QScopedPointer) + n.SetPointer(ptr) + return +} + +type QScopedPointerArrayDeleter struct { + ptr unsafe.Pointer +} + +type QScopedPointerArrayDeleter_ITF interface { + QScopedPointerArrayDeleter_PTR() *QScopedPointerArrayDeleter +} + +func (ptr *QScopedPointerArrayDeleter) QScopedPointerArrayDeleter_PTR() *QScopedPointerArrayDeleter { + return ptr +} + +func (ptr *QScopedPointerArrayDeleter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QScopedPointerArrayDeleter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQScopedPointerArrayDeleter(ptr QScopedPointerArrayDeleter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScopedPointerArrayDeleter_PTR().Pointer() + } + return nil +} + +func NewQScopedPointerArrayDeleterFromPointer(ptr unsafe.Pointer) (n *QScopedPointerArrayDeleter) { + n = new(QScopedPointerArrayDeleter) + n.SetPointer(ptr) + return +} + +func (ptr *QScopedPointerArrayDeleter) DestroyQScopedPointerArrayDeleter() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QScopedPointerDeleter struct { + ptr unsafe.Pointer +} + +type QScopedPointerDeleter_ITF interface { + QScopedPointerDeleter_PTR() *QScopedPointerDeleter +} + +func (ptr *QScopedPointerDeleter) QScopedPointerDeleter_PTR() *QScopedPointerDeleter { + return ptr +} + +func (ptr *QScopedPointerDeleter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QScopedPointerDeleter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQScopedPointerDeleter(ptr QScopedPointerDeleter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScopedPointerDeleter_PTR().Pointer() + } + return nil +} + +func NewQScopedPointerDeleterFromPointer(ptr unsafe.Pointer) (n *QScopedPointerDeleter) { + n = new(QScopedPointerDeleter) + n.SetPointer(ptr) + return +} + +func (ptr *QScopedPointerDeleter) DestroyQScopedPointerDeleter() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QScopedPointerObjectDeleteLater struct { + ptr unsafe.Pointer +} + +type QScopedPointerObjectDeleteLater_ITF interface { + QScopedPointerObjectDeleteLater_PTR() *QScopedPointerObjectDeleteLater +} + +func (ptr *QScopedPointerObjectDeleteLater) QScopedPointerObjectDeleteLater_PTR() *QScopedPointerObjectDeleteLater { + return ptr +} + +func (ptr *QScopedPointerObjectDeleteLater) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QScopedPointerObjectDeleteLater) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQScopedPointerObjectDeleteLater(ptr QScopedPointerObjectDeleteLater_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScopedPointerObjectDeleteLater_PTR().Pointer() + } + return nil +} + +func NewQScopedPointerObjectDeleteLaterFromPointer(ptr unsafe.Pointer) (n *QScopedPointerObjectDeleteLater) { + n = new(QScopedPointerObjectDeleteLater) + n.SetPointer(ptr) + return +} + +func (ptr *QScopedPointerObjectDeleteLater) DestroyQScopedPointerObjectDeleteLater() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QScopedPointerPodDeleter struct { + ptr unsafe.Pointer +} + +type QScopedPointerPodDeleter_ITF interface { + QScopedPointerPodDeleter_PTR() *QScopedPointerPodDeleter +} + +func (ptr *QScopedPointerPodDeleter) QScopedPointerPodDeleter_PTR() *QScopedPointerPodDeleter { + return ptr +} + +func (ptr *QScopedPointerPodDeleter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QScopedPointerPodDeleter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQScopedPointerPodDeleter(ptr QScopedPointerPodDeleter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScopedPointerPodDeleter_PTR().Pointer() + } + return nil +} + +func NewQScopedPointerPodDeleterFromPointer(ptr unsafe.Pointer) (n *QScopedPointerPodDeleter) { + n = new(QScopedPointerPodDeleter) + n.SetPointer(ptr) + return +} + +func (ptr *QScopedPointerPodDeleter) DestroyQScopedPointerPodDeleter() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QScopedValueRollback struct { + ptr unsafe.Pointer +} + +type QScopedValueRollback_ITF interface { + QScopedValueRollback_PTR() *QScopedValueRollback +} + +func (ptr *QScopedValueRollback) QScopedValueRollback_PTR() *QScopedValueRollback { + return ptr +} + +func (ptr *QScopedValueRollback) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QScopedValueRollback) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQScopedValueRollback(ptr QScopedValueRollback_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScopedValueRollback_PTR().Pointer() + } + return nil +} + +func NewQScopedValueRollbackFromPointer(ptr unsafe.Pointer) (n *QScopedValueRollback) { + n = new(QScopedValueRollback) + n.SetPointer(ptr) + return +} + +type QSemaphore struct { + ptr unsafe.Pointer +} + +type QSemaphore_ITF interface { + QSemaphore_PTR() *QSemaphore +} + +func (ptr *QSemaphore) QSemaphore_PTR() *QSemaphore { + return ptr +} + +func (ptr *QSemaphore) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSemaphore) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSemaphore(ptr QSemaphore_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSemaphore_PTR().Pointer() + } + return nil +} + +func NewQSemaphoreFromPointer(ptr unsafe.Pointer) (n *QSemaphore) { + n = new(QSemaphore) + n.SetPointer(ptr) + return +} +func NewQSemaphore(n int) *QSemaphore { + tmpValue := NewQSemaphoreFromPointer(C.QSemaphore_NewQSemaphore(C.int(int32(n)))) + runtime.SetFinalizer(tmpValue, (*QSemaphore).DestroyQSemaphore) + return tmpValue +} + +func (ptr *QSemaphore) Acquire(n int) { + if ptr.Pointer() != nil { + C.QSemaphore_Acquire(ptr.Pointer(), C.int(int32(n))) + } +} + +func (ptr *QSemaphore) Available() int { + if ptr.Pointer() != nil { + return int(int32(C.QSemaphore_Available(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSemaphore) Release(n int) { + if ptr.Pointer() != nil { + C.QSemaphore_Release(ptr.Pointer(), C.int(int32(n))) + } +} + +func (ptr *QSemaphore) TryAcquire(n int) bool { + if ptr.Pointer() != nil { + return int8(C.QSemaphore_TryAcquire(ptr.Pointer(), C.int(int32(n)))) != 0 + } + return false +} + +func (ptr *QSemaphore) TryAcquire2(n int, timeout int) bool { + if ptr.Pointer() != nil { + return int8(C.QSemaphore_TryAcquire2(ptr.Pointer(), C.int(int32(n)), C.int(int32(timeout)))) != 0 + } + return false +} + +func (ptr *QSemaphore) DestroyQSemaphore() { + if ptr.Pointer() != nil { + C.QSemaphore_DestroyQSemaphore(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSemaphoreReleaser struct { + ptr unsafe.Pointer +} + +type QSemaphoreReleaser_ITF interface { + QSemaphoreReleaser_PTR() *QSemaphoreReleaser +} + +func (ptr *QSemaphoreReleaser) QSemaphoreReleaser_PTR() *QSemaphoreReleaser { + return ptr +} + +func (ptr *QSemaphoreReleaser) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSemaphoreReleaser) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSemaphoreReleaser(ptr QSemaphoreReleaser_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSemaphoreReleaser_PTR().Pointer() + } + return nil +} + +func NewQSemaphoreReleaserFromPointer(ptr unsafe.Pointer) (n *QSemaphoreReleaser) { + n = new(QSemaphoreReleaser) + n.SetPointer(ptr) + return +} +func NewQSemaphoreReleaser() *QSemaphoreReleaser { + tmpValue := NewQSemaphoreReleaserFromPointer(C.QSemaphoreReleaser_NewQSemaphoreReleaser()) + runtime.SetFinalizer(tmpValue, (*QSemaphoreReleaser).DestroyQSemaphoreReleaser) + return tmpValue +} + +func NewQSemaphoreReleaser2(sem QSemaphore_ITF, n int) *QSemaphoreReleaser { + tmpValue := NewQSemaphoreReleaserFromPointer(C.QSemaphoreReleaser_NewQSemaphoreReleaser2(PointerFromQSemaphore(sem), C.int(int32(n)))) + runtime.SetFinalizer(tmpValue, (*QSemaphoreReleaser).DestroyQSemaphoreReleaser) + return tmpValue +} + +func NewQSemaphoreReleaser3(sem QSemaphore_ITF, n int) *QSemaphoreReleaser { + tmpValue := NewQSemaphoreReleaserFromPointer(C.QSemaphoreReleaser_NewQSemaphoreReleaser3(PointerFromQSemaphore(sem), C.int(int32(n)))) + runtime.SetFinalizer(tmpValue, (*QSemaphoreReleaser).DestroyQSemaphoreReleaser) + return tmpValue +} + +func (ptr *QSemaphoreReleaser) Cancel() *QSemaphore { + if ptr.Pointer() != nil { + return NewQSemaphoreFromPointer(C.QSemaphoreReleaser_Cancel(ptr.Pointer())) + } + return nil +} + +func (ptr *QSemaphoreReleaser) Semaphore() *QSemaphore { + if ptr.Pointer() != nil { + return NewQSemaphoreFromPointer(C.QSemaphoreReleaser_Semaphore(ptr.Pointer())) + } + return nil +} + +func (ptr *QSemaphoreReleaser) Swap(other QSemaphoreReleaser_ITF) { + if ptr.Pointer() != nil { + C.QSemaphoreReleaser_Swap(ptr.Pointer(), PointerFromQSemaphoreReleaser(other)) + } +} + +func (ptr *QSemaphoreReleaser) DestroyQSemaphoreReleaser() { + if ptr.Pointer() != nil { + C.QSemaphoreReleaser_DestroyQSemaphoreReleaser(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSequentialAnimationGroup struct { + QAnimationGroup +} + +type QSequentialAnimationGroup_ITF interface { + QAnimationGroup_ITF + QSequentialAnimationGroup_PTR() *QSequentialAnimationGroup +} + +func (ptr *QSequentialAnimationGroup) QSequentialAnimationGroup_PTR() *QSequentialAnimationGroup { + return ptr +} + +func (ptr *QSequentialAnimationGroup) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAnimationGroup_PTR().Pointer() + } + return nil +} + +func (ptr *QSequentialAnimationGroup) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAnimationGroup_PTR().SetPointer(p) + } +} + +func PointerFromQSequentialAnimationGroup(ptr QSequentialAnimationGroup_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSequentialAnimationGroup_PTR().Pointer() + } + return nil +} + +func NewQSequentialAnimationGroupFromPointer(ptr unsafe.Pointer) (n *QSequentialAnimationGroup) { + n = new(QSequentialAnimationGroup) + n.SetPointer(ptr) + return +} +func NewQSequentialAnimationGroup(parent QObject_ITF) *QSequentialAnimationGroup { + tmpValue := NewQSequentialAnimationGroupFromPointer(C.QSequentialAnimationGroup_NewQSequentialAnimationGroup(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QSequentialAnimationGroup) AddPause(msecs int) *QPauseAnimation { + if ptr.Pointer() != nil { + tmpValue := NewQPauseAnimationFromPointer(C.QSequentialAnimationGroup_AddPause(ptr.Pointer(), C.int(int32(msecs)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSequentialAnimationGroup) CurrentAnimation() *QAbstractAnimation { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractAnimationFromPointer(C.QSequentialAnimationGroup_CurrentAnimation(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQSequentialAnimationGroup_CurrentAnimationChanged +func callbackQSequentialAnimationGroup_CurrentAnimationChanged(ptr unsafe.Pointer, current unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "currentAnimationChanged"); signal != nil { + (*(*func(*QAbstractAnimation))(signal))(NewQAbstractAnimationFromPointer(current)) + } + +} + +func (ptr *QSequentialAnimationGroup) ConnectCurrentAnimationChanged(f func(current *QAbstractAnimation)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "currentAnimationChanged") { + C.QSequentialAnimationGroup_ConnectCurrentAnimationChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "currentAnimationChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "currentAnimationChanged"); signal != nil { + f := func(current *QAbstractAnimation) { + (*(*func(*QAbstractAnimation))(signal))(current) + f(current) + } + qt.ConnectSignal(ptr.Pointer(), "currentAnimationChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "currentAnimationChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSequentialAnimationGroup) DisconnectCurrentAnimationChanged() { + if ptr.Pointer() != nil { + C.QSequentialAnimationGroup_DisconnectCurrentAnimationChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "currentAnimationChanged") + } +} + +func (ptr *QSequentialAnimationGroup) CurrentAnimationChanged(current QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QSequentialAnimationGroup_CurrentAnimationChanged(ptr.Pointer(), PointerFromQAbstractAnimation(current)) + } +} + +//export callbackQSequentialAnimationGroup_Duration +func callbackQSequentialAnimationGroup_Duration(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "duration"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQSequentialAnimationGroupFromPointer(ptr).DurationDefault())) +} + +func (ptr *QSequentialAnimationGroup) ConnectDuration(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "duration"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSequentialAnimationGroup) DisconnectDuration() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "duration") + } +} + +func (ptr *QSequentialAnimationGroup) Duration() int { + if ptr.Pointer() != nil { + return int(int32(C.QSequentialAnimationGroup_Duration(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSequentialAnimationGroup) DurationDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QSequentialAnimationGroup_DurationDefault(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSequentialAnimationGroup) InsertPause(index int, msecs int) *QPauseAnimation { + if ptr.Pointer() != nil { + tmpValue := NewQPauseAnimationFromPointer(C.QSequentialAnimationGroup_InsertPause(ptr.Pointer(), C.int(int32(index)), C.int(int32(msecs)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQSequentialAnimationGroup_UpdateCurrentTime +func callbackQSequentialAnimationGroup_UpdateCurrentTime(ptr unsafe.Pointer, currentTime C.int) { + if signal := qt.GetSignal(ptr, "updateCurrentTime"); signal != nil { + (*(*func(int))(signal))(int(int32(currentTime))) + } else { + NewQSequentialAnimationGroupFromPointer(ptr).UpdateCurrentTimeDefault(int(int32(currentTime))) + } +} + +func (ptr *QSequentialAnimationGroup) ConnectUpdateCurrentTime(f func(currentTime int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateCurrentTime"); signal != nil { + f := func(currentTime int) { + (*(*func(int))(signal))(currentTime) + f(currentTime) + } + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSequentialAnimationGroup) DisconnectUpdateCurrentTime() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateCurrentTime") + } +} + +func (ptr *QSequentialAnimationGroup) UpdateCurrentTime(currentTime int) { + if ptr.Pointer() != nil { + C.QSequentialAnimationGroup_UpdateCurrentTime(ptr.Pointer(), C.int(int32(currentTime))) + } +} + +func (ptr *QSequentialAnimationGroup) UpdateCurrentTimeDefault(currentTime int) { + if ptr.Pointer() != nil { + C.QSequentialAnimationGroup_UpdateCurrentTimeDefault(ptr.Pointer(), C.int(int32(currentTime))) + } +} + +//export callbackQSequentialAnimationGroup_DestroyQSequentialAnimationGroup +func callbackQSequentialAnimationGroup_DestroyQSequentialAnimationGroup(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSequentialAnimationGroup"); signal != nil { + (*(*func())(signal))() + } else { + NewQSequentialAnimationGroupFromPointer(ptr).DestroyQSequentialAnimationGroupDefault() + } +} + +func (ptr *QSequentialAnimationGroup) ConnectDestroyQSequentialAnimationGroup(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSequentialAnimationGroup"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSequentialAnimationGroup", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSequentialAnimationGroup", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSequentialAnimationGroup) DisconnectDestroyQSequentialAnimationGroup() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSequentialAnimationGroup") + } +} + +func (ptr *QSequentialAnimationGroup) DestroyQSequentialAnimationGroup() { + if ptr.Pointer() != nil { + C.QSequentialAnimationGroup_DestroyQSequentialAnimationGroup(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSequentialAnimationGroup) DestroyQSequentialAnimationGroupDefault() { + if ptr.Pointer() != nil { + C.QSequentialAnimationGroup_DestroyQSequentialAnimationGroupDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSequentialIterable struct { + ptr unsafe.Pointer +} + +type QSequentialIterable_ITF interface { + QSequentialIterable_PTR() *QSequentialIterable +} + +func (ptr *QSequentialIterable) QSequentialIterable_PTR() *QSequentialIterable { + return ptr +} + +func (ptr *QSequentialIterable) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSequentialIterable) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSequentialIterable(ptr QSequentialIterable_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSequentialIterable_PTR().Pointer() + } + return nil +} + +func NewQSequentialIterableFromPointer(ptr unsafe.Pointer) (n *QSequentialIterable) { + n = new(QSequentialIterable) + n.SetPointer(ptr) + return +} + +func (ptr *QSequentialIterable) DestroyQSequentialIterable() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSequentialIterable) At(idx int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QSequentialIterable_At(ptr.Pointer(), C.int(int32(idx)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QSequentialIterable) CanReverseIterate() bool { + if ptr.Pointer() != nil { + return int8(C.QSequentialIterable_CanReverseIterate(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSequentialIterable) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QSequentialIterable_Size(ptr.Pointer()))) + } + return 0 +} + +type QSet struct { + ptr unsafe.Pointer +} + +type QSet_ITF interface { + QSet_PTR() *QSet +} + +func (ptr *QSet) QSet_PTR() *QSet { + return ptr +} + +func (ptr *QSet) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSet) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSet(ptr QSet_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSet_PTR().Pointer() + } + return nil +} + +func NewQSetFromPointer(ptr unsafe.Pointer) (n *QSet) { + n = new(QSet) + n.SetPointer(ptr) + return +} + +func (ptr *QSet) DestroyQSet() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSetIterator struct { + ptr unsafe.Pointer +} + +type QSetIterator_ITF interface { + QSetIterator_PTR() *QSetIterator +} + +func (ptr *QSetIterator) QSetIterator_PTR() *QSetIterator { + return ptr +} + +func (ptr *QSetIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSetIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSetIterator(ptr QSetIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSetIterator_PTR().Pointer() + } + return nil +} + +func NewQSetIteratorFromPointer(ptr unsafe.Pointer) (n *QSetIterator) { + n = new(QSetIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QSetIterator) DestroyQSetIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSettings struct { + QObject +} + +type QSettings_ITF interface { + QObject_ITF + QSettings_PTR() *QSettings +} + +func (ptr *QSettings) QSettings_PTR() *QSettings { + return ptr +} + +func (ptr *QSettings) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QSettings) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQSettings(ptr QSettings_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSettings_PTR().Pointer() + } + return nil +} + +func NewQSettingsFromPointer(ptr unsafe.Pointer) (n *QSettings) { + n = new(QSettings) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSettings__Status +//QSettings::Status +type QSettings__Status int64 + +const ( + QSettings__NoError QSettings__Status = QSettings__Status(0) + QSettings__AccessError QSettings__Status = QSettings__Status(1) + QSettings__FormatError QSettings__Status = QSettings__Status(2) +) + +//go:generate stringer -type=QSettings__Format +//QSettings::Format +type QSettings__Format int64 + +const ( + QSettings__NativeFormat QSettings__Format = QSettings__Format(0) + QSettings__IniFormat QSettings__Format = QSettings__Format(1) + QSettings__Registry32Format QSettings__Format = QSettings__Format(2) + QSettings__Registry64Format QSettings__Format = QSettings__Format(3) + QSettings__InvalidFormat QSettings__Format = QSettings__Format(16) + QSettings__CustomFormat1 QSettings__Format = QSettings__Format(17) + QSettings__CustomFormat2 QSettings__Format = QSettings__Format(18) + QSettings__CustomFormat3 QSettings__Format = QSettings__Format(19) + QSettings__CustomFormat4 QSettings__Format = QSettings__Format(20) + QSettings__CustomFormat5 QSettings__Format = QSettings__Format(21) + QSettings__CustomFormat6 QSettings__Format = QSettings__Format(22) + QSettings__CustomFormat7 QSettings__Format = QSettings__Format(23) + QSettings__CustomFormat8 QSettings__Format = QSettings__Format(24) + QSettings__CustomFormat9 QSettings__Format = QSettings__Format(25) + QSettings__CustomFormat10 QSettings__Format = QSettings__Format(26) + QSettings__CustomFormat11 QSettings__Format = QSettings__Format(27) + QSettings__CustomFormat12 QSettings__Format = QSettings__Format(28) + QSettings__CustomFormat13 QSettings__Format = QSettings__Format(29) + QSettings__CustomFormat14 QSettings__Format = QSettings__Format(30) + QSettings__CustomFormat15 QSettings__Format = QSettings__Format(31) + QSettings__CustomFormat16 QSettings__Format = QSettings__Format(32) +) + +//go:generate stringer -type=QSettings__Scope +//QSettings::Scope +type QSettings__Scope int64 + +const ( + QSettings__UserScope QSettings__Scope = QSettings__Scope(0) + QSettings__SystemScope QSettings__Scope = QSettings__Scope(1) +) + +func NewQSettings(organization string, application string, parent QObject_ITF) *QSettings { + var organizationC *C.char + if organization != "" { + organizationC = C.CString(organization) + defer C.free(unsafe.Pointer(organizationC)) + } + var applicationC *C.char + if application != "" { + applicationC = C.CString(application) + defer C.free(unsafe.Pointer(applicationC)) + } + tmpValue := NewQSettingsFromPointer(C.QSettings_NewQSettings(C.struct_QtCore_PackedString{data: organizationC, len: C.longlong(len(organization))}, C.struct_QtCore_PackedString{data: applicationC, len: C.longlong(len(application))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSettings2(scope QSettings__Scope, organization string, application string, parent QObject_ITF) *QSettings { + var organizationC *C.char + if organization != "" { + organizationC = C.CString(organization) + defer C.free(unsafe.Pointer(organizationC)) + } + var applicationC *C.char + if application != "" { + applicationC = C.CString(application) + defer C.free(unsafe.Pointer(applicationC)) + } + tmpValue := NewQSettingsFromPointer(C.QSettings_NewQSettings2(C.longlong(scope), C.struct_QtCore_PackedString{data: organizationC, len: C.longlong(len(organization))}, C.struct_QtCore_PackedString{data: applicationC, len: C.longlong(len(application))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSettings3(format QSettings__Format, scope QSettings__Scope, organization string, application string, parent QObject_ITF) *QSettings { + var organizationC *C.char + if organization != "" { + organizationC = C.CString(organization) + defer C.free(unsafe.Pointer(organizationC)) + } + var applicationC *C.char + if application != "" { + applicationC = C.CString(application) + defer C.free(unsafe.Pointer(applicationC)) + } + tmpValue := NewQSettingsFromPointer(C.QSettings_NewQSettings3(C.longlong(format), C.longlong(scope), C.struct_QtCore_PackedString{data: organizationC, len: C.longlong(len(organization))}, C.struct_QtCore_PackedString{data: applicationC, len: C.longlong(len(application))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSettings4(fileName string, format QSettings__Format, parent QObject_ITF) *QSettings { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQSettingsFromPointer(C.QSettings_NewQSettings4(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(format), PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSettings5(parent QObject_ITF) *QSettings { + tmpValue := NewQSettingsFromPointer(C.QSettings_NewQSettings5(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSettings6(scope QSettings__Scope, parent QObject_ITF) *QSettings { + tmpValue := NewQSettingsFromPointer(C.QSettings_NewQSettings6(C.longlong(scope), PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QSettings) AllKeys() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QSettings_AllKeys(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QSettings) ApplicationName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSettings_ApplicationName(ptr.Pointer())) + } + return "" +} + +func (ptr *QSettings) BeginGroup(prefix string) { + if ptr.Pointer() != nil { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + C.QSettings_BeginGroup(ptr.Pointer(), C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}) + } +} + +func (ptr *QSettings) BeginReadArray(prefix string) int { + if ptr.Pointer() != nil { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + return int(int32(C.QSettings_BeginReadArray(ptr.Pointer(), C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}))) + } + return 0 +} + +func (ptr *QSettings) BeginWriteArray(prefix string, size int) { + if ptr.Pointer() != nil { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + C.QSettings_BeginWriteArray(ptr.Pointer(), C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}, C.int(int32(size))) + } +} + +func (ptr *QSettings) ChildGroups() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QSettings_ChildGroups(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QSettings) ChildKeys() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QSettings_ChildKeys(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QSettings) Clear() { + if ptr.Pointer() != nil { + C.QSettings_Clear(ptr.Pointer()) + } +} + +func (ptr *QSettings) Contains(key string) bool { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return int8(C.QSettings_Contains(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))})) != 0 + } + return false +} + +func QSettings_DefaultFormat() QSettings__Format { + return QSettings__Format(C.QSettings_QSettings_DefaultFormat()) +} + +func (ptr *QSettings) DefaultFormat() QSettings__Format { + return QSettings__Format(C.QSettings_QSettings_DefaultFormat()) +} + +func (ptr *QSettings) EndArray() { + if ptr.Pointer() != nil { + C.QSettings_EndArray(ptr.Pointer()) + } +} + +func (ptr *QSettings) EndGroup() { + if ptr.Pointer() != nil { + C.QSettings_EndGroup(ptr.Pointer()) + } +} + +func (ptr *QSettings) FallbacksEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QSettings_FallbacksEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSettings) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSettings_FileName(ptr.Pointer())) + } + return "" +} + +func (ptr *QSettings) Format() QSettings__Format { + if ptr.Pointer() != nil { + return QSettings__Format(C.QSettings_Format(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSettings) Group() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSettings_Group(ptr.Pointer())) + } + return "" +} + +func (ptr *QSettings) IniCodec() *QTextCodec { + if ptr.Pointer() != nil { + return NewQTextCodecFromPointer(C.QSettings_IniCodec(ptr.Pointer())) + } + return nil +} + +func (ptr *QSettings) IsAtomicSyncRequired() bool { + if ptr.Pointer() != nil { + return int8(C.QSettings_IsAtomicSyncRequired(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSettings) IsWritable() bool { + if ptr.Pointer() != nil { + return int8(C.QSettings_IsWritable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSettings) OrganizationName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSettings_OrganizationName(ptr.Pointer())) + } + return "" +} + +func (ptr *QSettings) Remove(key string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QSettings_Remove(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}) + } +} + +func (ptr *QSettings) Scope() QSettings__Scope { + if ptr.Pointer() != nil { + return QSettings__Scope(C.QSettings_Scope(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSettings) SetArrayIndex(i int) { + if ptr.Pointer() != nil { + C.QSettings_SetArrayIndex(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QSettings) SetAtomicSyncRequired(enable bool) { + if ptr.Pointer() != nil { + C.QSettings_SetAtomicSyncRequired(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func QSettings_SetDefaultFormat(format QSettings__Format) { + C.QSettings_QSettings_SetDefaultFormat(C.longlong(format)) +} + +func (ptr *QSettings) SetDefaultFormat(format QSettings__Format) { + C.QSettings_QSettings_SetDefaultFormat(C.longlong(format)) +} + +func (ptr *QSettings) SetFallbacksEnabled(b bool) { + if ptr.Pointer() != nil { + C.QSettings_SetFallbacksEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(b)))) + } +} + +func (ptr *QSettings) SetIniCodec(codec QTextCodec_ITF) { + if ptr.Pointer() != nil { + C.QSettings_SetIniCodec(ptr.Pointer(), PointerFromQTextCodec(codec)) + } +} + +func (ptr *QSettings) SetIniCodec2(codecName string) { + if ptr.Pointer() != nil { + var codecNameC *C.char + if codecName != "" { + codecNameC = C.CString(codecName) + defer C.free(unsafe.Pointer(codecNameC)) + } + C.QSettings_SetIniCodec2(ptr.Pointer(), codecNameC) + } +} + +func QSettings_SetPath(format QSettings__Format, scope QSettings__Scope, path string) { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QSettings_QSettings_SetPath(C.longlong(format), C.longlong(scope), C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) +} + +func (ptr *QSettings) SetPath(format QSettings__Format, scope QSettings__Scope, path string) { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QSettings_QSettings_SetPath(C.longlong(format), C.longlong(scope), C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) +} + +func (ptr *QSettings) SetValue(key string, value QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QSettings_SetValue(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(value)) + } +} + +func (ptr *QSettings) Status() QSettings__Status { + if ptr.Pointer() != nil { + return QSettings__Status(C.QSettings_Status(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSettings) Sync() { + if ptr.Pointer() != nil { + C.QSettings_Sync(ptr.Pointer()) + } +} + +func (ptr *QSettings) Value(key string, defaultValue QVariant_ITF) *QVariant { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := NewQVariantFromPointer(C.QSettings_Value(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(defaultValue))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQSettings_DestroyQSettings +func callbackQSettings_DestroyQSettings(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSettings"); signal != nil { + (*(*func())(signal))() + } else { + NewQSettingsFromPointer(ptr).DestroyQSettingsDefault() + } +} + +func (ptr *QSettings) ConnectDestroyQSettings(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSettings"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSettings", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSettings", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSettings) DisconnectDestroyQSettings() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSettings") + } +} + +func (ptr *QSettings) DestroyQSettings() { + if ptr.Pointer() != nil { + C.QSettings_DestroyQSettings(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSettings) DestroyQSettingsDefault() { + if ptr.Pointer() != nil { + C.QSettings_DestroyQSettingsDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSharedData struct { + ptr unsafe.Pointer +} + +type QSharedData_ITF interface { + QSharedData_PTR() *QSharedData +} + +func (ptr *QSharedData) QSharedData_PTR() *QSharedData { + return ptr +} + +func (ptr *QSharedData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSharedData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSharedData(ptr QSharedData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSharedData_PTR().Pointer() + } + return nil +} + +func NewQSharedDataFromPointer(ptr unsafe.Pointer) (n *QSharedData) { + n = new(QSharedData) + n.SetPointer(ptr) + return +} + +func (ptr *QSharedData) DestroyQSharedData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQSharedData() *QSharedData { + tmpValue := NewQSharedDataFromPointer(C.QSharedData_NewQSharedData()) + runtime.SetFinalizer(tmpValue, (*QSharedData).DestroyQSharedData) + return tmpValue +} + +func NewQSharedData2(vqs QSharedData_ITF) *QSharedData { + tmpValue := NewQSharedDataFromPointer(C.QSharedData_NewQSharedData2(PointerFromQSharedData(vqs))) + runtime.SetFinalizer(tmpValue, (*QSharedData).DestroyQSharedData) + return tmpValue +} + +type QSharedDataPointer struct { + ptr unsafe.Pointer +} + +type QSharedDataPointer_ITF interface { + QSharedDataPointer_PTR() *QSharedDataPointer +} + +func (ptr *QSharedDataPointer) QSharedDataPointer_PTR() *QSharedDataPointer { + return ptr +} + +func (ptr *QSharedDataPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSharedDataPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSharedDataPointer(ptr QSharedDataPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSharedDataPointer_PTR().Pointer() + } + return nil +} + +func NewQSharedDataPointerFromPointer(ptr unsafe.Pointer) (n *QSharedDataPointer) { + n = new(QSharedDataPointer) + n.SetPointer(ptr) + return +} + +type QSharedMemory struct { + QObject +} + +type QSharedMemory_ITF interface { + QObject_ITF + QSharedMemory_PTR() *QSharedMemory +} + +func (ptr *QSharedMemory) QSharedMemory_PTR() *QSharedMemory { + return ptr +} + +func (ptr *QSharedMemory) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QSharedMemory) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQSharedMemory(ptr QSharedMemory_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSharedMemory_PTR().Pointer() + } + return nil +} + +func NewQSharedMemoryFromPointer(ptr unsafe.Pointer) (n *QSharedMemory) { + n = new(QSharedMemory) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSharedMemory__AccessMode +//QSharedMemory::AccessMode +type QSharedMemory__AccessMode int64 + +const ( + QSharedMemory__ReadOnly QSharedMemory__AccessMode = QSharedMemory__AccessMode(0) + QSharedMemory__ReadWrite QSharedMemory__AccessMode = QSharedMemory__AccessMode(1) +) + +//go:generate stringer -type=QSharedMemory__SharedMemoryError +//QSharedMemory::SharedMemoryError +type QSharedMemory__SharedMemoryError int64 + +const ( + QSharedMemory__NoError QSharedMemory__SharedMemoryError = QSharedMemory__SharedMemoryError(0) + QSharedMemory__PermissionDenied QSharedMemory__SharedMemoryError = QSharedMemory__SharedMemoryError(1) + QSharedMemory__InvalidSize QSharedMemory__SharedMemoryError = QSharedMemory__SharedMemoryError(2) + QSharedMemory__KeyError QSharedMemory__SharedMemoryError = QSharedMemory__SharedMemoryError(3) + QSharedMemory__AlreadyExists QSharedMemory__SharedMemoryError = QSharedMemory__SharedMemoryError(4) + QSharedMemory__NotFound QSharedMemory__SharedMemoryError = QSharedMemory__SharedMemoryError(5) + QSharedMemory__LockError QSharedMemory__SharedMemoryError = QSharedMemory__SharedMemoryError(6) + QSharedMemory__OutOfResources QSharedMemory__SharedMemoryError = QSharedMemory__SharedMemoryError(7) + QSharedMemory__UnknownError QSharedMemory__SharedMemoryError = QSharedMemory__SharedMemoryError(8) +) + +func NewQSharedMemory(key string, parent QObject_ITF) *QSharedMemory { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := NewQSharedMemoryFromPointer(C.QSharedMemory_NewQSharedMemory(C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSharedMemory2(parent QObject_ITF) *QSharedMemory { + tmpValue := NewQSharedMemoryFromPointer(C.QSharedMemory_NewQSharedMemory2(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QSharedMemory) Attach(mode QSharedMemory__AccessMode) bool { + if ptr.Pointer() != nil { + return int8(C.QSharedMemory_Attach(ptr.Pointer(), C.longlong(mode))) != 0 + } + return false +} + +func (ptr *QSharedMemory) ConstData() unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QSharedMemory_ConstData(ptr.Pointer()) + } + return nil +} + +func (ptr *QSharedMemory) Create(size int, mode QSharedMemory__AccessMode) bool { + if ptr.Pointer() != nil { + return int8(C.QSharedMemory_Create(ptr.Pointer(), C.int(int32(size)), C.longlong(mode))) != 0 + } + return false +} + +func (ptr *QSharedMemory) Data() unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QSharedMemory_Data(ptr.Pointer()) + } + return nil +} + +func (ptr *QSharedMemory) Data2() unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QSharedMemory_Data2(ptr.Pointer()) + } + return nil +} + +func (ptr *QSharedMemory) Detach() bool { + if ptr.Pointer() != nil { + return int8(C.QSharedMemory_Detach(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSharedMemory) Error() QSharedMemory__SharedMemoryError { + if ptr.Pointer() != nil { + return QSharedMemory__SharedMemoryError(C.QSharedMemory_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSharedMemory) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSharedMemory_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QSharedMemory) IsAttached() bool { + if ptr.Pointer() != nil { + return int8(C.QSharedMemory_IsAttached(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSharedMemory) Key() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSharedMemory_Key(ptr.Pointer())) + } + return "" +} + +func (ptr *QSharedMemory) Lock() bool { + if ptr.Pointer() != nil { + return int8(C.QSharedMemory_Lock(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSharedMemory) NativeKey() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSharedMemory_NativeKey(ptr.Pointer())) + } + return "" +} + +func (ptr *QSharedMemory) SetKey(key string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QSharedMemory_SetKey(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}) + } +} + +func (ptr *QSharedMemory) SetNativeKey(key string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QSharedMemory_SetNativeKey(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}) + } +} + +func (ptr *QSharedMemory) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QSharedMemory_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSharedMemory) Unlock() bool { + if ptr.Pointer() != nil { + return int8(C.QSharedMemory_Unlock(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQSharedMemory_DestroyQSharedMemory +func callbackQSharedMemory_DestroyQSharedMemory(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSharedMemory"); signal != nil { + (*(*func())(signal))() + } else { + NewQSharedMemoryFromPointer(ptr).DestroyQSharedMemoryDefault() + } +} + +func (ptr *QSharedMemory) ConnectDestroyQSharedMemory(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSharedMemory"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSharedMemory", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSharedMemory", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSharedMemory) DisconnectDestroyQSharedMemory() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSharedMemory") + } +} + +func (ptr *QSharedMemory) DestroyQSharedMemory() { + if ptr.Pointer() != nil { + C.QSharedMemory_DestroyQSharedMemory(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSharedMemory) DestroyQSharedMemoryDefault() { + if ptr.Pointer() != nil { + C.QSharedMemory_DestroyQSharedMemoryDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSharedPointer struct { + ptr unsafe.Pointer +} + +type QSharedPointer_ITF interface { + QSharedPointer_PTR() *QSharedPointer +} + +func (ptr *QSharedPointer) QSharedPointer_PTR() *QSharedPointer { + return ptr +} + +func (ptr *QSharedPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSharedPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSharedPointer(ptr QSharedPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSharedPointer_PTR().Pointer() + } + return nil +} + +func NewQSharedPointerFromPointer(ptr unsafe.Pointer) (n *QSharedPointer) { + n = new(QSharedPointer) + n.SetPointer(ptr) + return +} + +type QSignalBlocker struct { + ptr unsafe.Pointer +} + +type QSignalBlocker_ITF interface { + QSignalBlocker_PTR() *QSignalBlocker +} + +func (ptr *QSignalBlocker) QSignalBlocker_PTR() *QSignalBlocker { + return ptr +} + +func (ptr *QSignalBlocker) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSignalBlocker) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSignalBlocker(ptr QSignalBlocker_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSignalBlocker_PTR().Pointer() + } + return nil +} + +func NewQSignalBlockerFromPointer(ptr unsafe.Pointer) (n *QSignalBlocker) { + n = new(QSignalBlocker) + n.SetPointer(ptr) + return +} +func NewQSignalBlocker(object QObject_ITF) *QSignalBlocker { + tmpValue := NewQSignalBlockerFromPointer(C.QSignalBlocker_NewQSignalBlocker(PointerFromQObject(object))) + runtime.SetFinalizer(tmpValue, (*QSignalBlocker).DestroyQSignalBlocker) + return tmpValue +} + +func NewQSignalBlocker2(object QObject_ITF) *QSignalBlocker { + tmpValue := NewQSignalBlockerFromPointer(C.QSignalBlocker_NewQSignalBlocker2(PointerFromQObject(object))) + runtime.SetFinalizer(tmpValue, (*QSignalBlocker).DestroyQSignalBlocker) + return tmpValue +} + +func (ptr *QSignalBlocker) Reblock() { + if ptr.Pointer() != nil { + C.QSignalBlocker_Reblock(ptr.Pointer()) + } +} + +func (ptr *QSignalBlocker) Unblock() { + if ptr.Pointer() != nil { + C.QSignalBlocker_Unblock(ptr.Pointer()) + } +} + +func (ptr *QSignalBlocker) DestroyQSignalBlocker() { + if ptr.Pointer() != nil { + C.QSignalBlocker_DestroyQSignalBlocker(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSignalMapper struct { + QObject +} + +type QSignalMapper_ITF interface { + QObject_ITF + QSignalMapper_PTR() *QSignalMapper +} + +func (ptr *QSignalMapper) QSignalMapper_PTR() *QSignalMapper { + return ptr +} + +func (ptr *QSignalMapper) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QSignalMapper) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQSignalMapper(ptr QSignalMapper_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSignalMapper_PTR().Pointer() + } + return nil +} + +func NewQSignalMapperFromPointer(ptr unsafe.Pointer) (n *QSignalMapper) { + n = new(QSignalMapper) + n.SetPointer(ptr) + return +} + +type QSignalTransition struct { + QAbstractTransition +} + +type QSignalTransition_ITF interface { + QAbstractTransition_ITF + QSignalTransition_PTR() *QSignalTransition +} + +func (ptr *QSignalTransition) QSignalTransition_PTR() *QSignalTransition { + return ptr +} + +func (ptr *QSignalTransition) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractTransition_PTR().Pointer() + } + return nil +} + +func (ptr *QSignalTransition) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractTransition_PTR().SetPointer(p) + } +} + +func PointerFromQSignalTransition(ptr QSignalTransition_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSignalTransition_PTR().Pointer() + } + return nil +} + +func NewQSignalTransitionFromPointer(ptr unsafe.Pointer) (n *QSignalTransition) { + n = new(QSignalTransition) + n.SetPointer(ptr) + return +} +func NewQSignalTransition(sourceState QState_ITF) *QSignalTransition { + tmpValue := NewQSignalTransitionFromPointer(C.QSignalTransition_NewQSignalTransition(PointerFromQState(sourceState))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSignalTransition2(sender QObject_ITF, sign string, sourceState QState_ITF) *QSignalTransition { + var signC *C.char + if sign != "" { + signC = C.CString(sign) + defer C.free(unsafe.Pointer(signC)) + } + tmpValue := NewQSignalTransitionFromPointer(C.QSignalTransition_NewQSignalTransition2(PointerFromQObject(sender), signC, PointerFromQState(sourceState))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQSignalTransition_EventTest +func callbackQSignalTransition_EventTest(ptr unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventTest"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QEvent) bool)(signal))(NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQSignalTransitionFromPointer(ptr).EventTestDefault(NewQEventFromPointer(event))))) +} + +func (ptr *QSignalTransition) ConnectEventTest(f func(event *QEvent) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "eventTest"); signal != nil { + f := func(event *QEvent) bool { + (*(*func(*QEvent) bool)(signal))(event) + return f(event) + } + qt.ConnectSignal(ptr.Pointer(), "eventTest", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "eventTest", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSignalTransition) DisconnectEventTest() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "eventTest") + } +} + +func (ptr *QSignalTransition) EventTest(event QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSignalTransition_EventTest(ptr.Pointer(), PointerFromQEvent(event))) != 0 + } + return false +} + +func (ptr *QSignalTransition) EventTestDefault(event QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSignalTransition_EventTestDefault(ptr.Pointer(), PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQSignalTransition_OnTransition +func callbackQSignalTransition_OnTransition(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onTransition"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } else { + NewQSignalTransitionFromPointer(ptr).OnTransitionDefault(NewQEventFromPointer(event)) + } +} + +func (ptr *QSignalTransition) ConnectOnTransition(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onTransition"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onTransition", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onTransition", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSignalTransition) DisconnectOnTransition() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onTransition") + } +} + +func (ptr *QSignalTransition) OnTransition(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QSignalTransition_OnTransition(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QSignalTransition) OnTransitionDefault(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QSignalTransition_OnTransitionDefault(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QSignalTransition) SenderObject() *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QSignalTransition_SenderObject(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQSignalTransition_SenderObjectChanged +func callbackQSignalTransition_SenderObjectChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "senderObjectChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QSignalTransition) ConnectSenderObjectChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "senderObjectChanged") { + C.QSignalTransition_ConnectSenderObjectChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "senderObjectChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "senderObjectChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "senderObjectChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "senderObjectChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSignalTransition) DisconnectSenderObjectChanged() { + if ptr.Pointer() != nil { + C.QSignalTransition_DisconnectSenderObjectChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "senderObjectChanged") + } +} + +func (ptr *QSignalTransition) SetSenderObject(sender QObject_ITF) { + if ptr.Pointer() != nil { + C.QSignalTransition_SetSenderObject(ptr.Pointer(), PointerFromQObject(sender)) + } +} + +func (ptr *QSignalTransition) SetSignal(sign QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSignalTransition_SetSignal(ptr.Pointer(), PointerFromQByteArray(sign)) + } +} + +func (ptr *QSignalTransition) Signal() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QSignalTransition_Signal(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +//export callbackQSignalTransition_SignalChanged +func callbackQSignalTransition_SignalChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "signalChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QSignalTransition) ConnectSignalChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "signalChanged") { + C.QSignalTransition_ConnectSignalChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "signalChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "signalChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "signalChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "signalChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSignalTransition) DisconnectSignalChanged() { + if ptr.Pointer() != nil { + C.QSignalTransition_DisconnectSignalChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "signalChanged") + } +} + +//export callbackQSignalTransition_DestroyQSignalTransition +func callbackQSignalTransition_DestroyQSignalTransition(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSignalTransition"); signal != nil { + (*(*func())(signal))() + } else { + NewQSignalTransitionFromPointer(ptr).DestroyQSignalTransitionDefault() + } +} + +func (ptr *QSignalTransition) ConnectDestroyQSignalTransition(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSignalTransition"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSignalTransition", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSignalTransition", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSignalTransition) DisconnectDestroyQSignalTransition() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSignalTransition") + } +} + +func (ptr *QSignalTransition) DestroyQSignalTransition() { + if ptr.Pointer() != nil { + C.QSignalTransition_DestroyQSignalTransition(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSignalTransition) DestroyQSignalTransitionDefault() { + if ptr.Pointer() != nil { + C.QSignalTransition_DestroyQSignalTransitionDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSize struct { + ptr unsafe.Pointer +} + +type QSize_ITF interface { + QSize_PTR() *QSize +} + +func (ptr *QSize) QSize_PTR() *QSize { + return ptr +} + +func (ptr *QSize) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSize) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSize(ptr QSize_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSize_PTR().Pointer() + } + return nil +} + +func NewQSizeFromPointer(ptr unsafe.Pointer) (n *QSize) { + n = new(QSize) + n.SetPointer(ptr) + return +} + +func (ptr *QSize) DestroyQSize() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQSize() *QSize { + tmpValue := NewQSizeFromPointer(C.QSize_NewQSize()) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue +} + +func NewQSize2(width int, height int) *QSize { + tmpValue := NewQSizeFromPointer(C.QSize_NewQSize2(C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue +} + +func (ptr *QSize) BoundedTo(otherSize QSize_ITF) *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QSize_BoundedTo(ptr.Pointer(), PointerFromQSize(otherSize))) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QSize) ExpandedTo(otherSize QSize_ITF) *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QSize_ExpandedTo(ptr.Pointer(), PointerFromQSize(otherSize))) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QSize) Height() int { + if ptr.Pointer() != nil { + return int(int32(C.QSize_Height(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSize) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QSize_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSize) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QSize_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSize) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QSize_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSize) Rheight() int { + if ptr.Pointer() != nil { + return int(int32(C.QSize_Rheight(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSize) Rwidth() int { + if ptr.Pointer() != nil { + return int(int32(C.QSize_Rwidth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSize) Scale(width int, height int, mode Qt__AspectRatioMode) { + if ptr.Pointer() != nil { + C.QSize_Scale(ptr.Pointer(), C.int(int32(width)), C.int(int32(height)), C.longlong(mode)) + } +} + +func (ptr *QSize) Scale2(size QSize_ITF, mode Qt__AspectRatioMode) { + if ptr.Pointer() != nil { + C.QSize_Scale2(ptr.Pointer(), PointerFromQSize(size), C.longlong(mode)) + } +} + +func (ptr *QSize) Scaled(width int, height int, mode Qt__AspectRatioMode) *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QSize_Scaled(ptr.Pointer(), C.int(int32(width)), C.int(int32(height)), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QSize) Scaled2(s QSize_ITF, mode Qt__AspectRatioMode) *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QSize_Scaled2(ptr.Pointer(), PointerFromQSize(s), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QSize) SetHeight(height int) { + if ptr.Pointer() != nil { + C.QSize_SetHeight(ptr.Pointer(), C.int(int32(height))) + } +} + +func (ptr *QSize) SetWidth(width int) { + if ptr.Pointer() != nil { + C.QSize_SetWidth(ptr.Pointer(), C.int(int32(width))) + } +} + +func (ptr *QSize) Transpose() { + if ptr.Pointer() != nil { + C.QSize_Transpose(ptr.Pointer()) + } +} + +func (ptr *QSize) Transposed() *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QSize_Transposed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QSize) Width() int { + if ptr.Pointer() != nil { + return int(int32(C.QSize_Width(ptr.Pointer()))) + } + return 0 +} + +type QSizeF struct { + ptr unsafe.Pointer +} + +type QSizeF_ITF interface { + QSizeF_PTR() *QSizeF +} + +func (ptr *QSizeF) QSizeF_PTR() *QSizeF { + return ptr +} + +func (ptr *QSizeF) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSizeF) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSizeF(ptr QSizeF_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSizeF_PTR().Pointer() + } + return nil +} + +func NewQSizeFFromPointer(ptr unsafe.Pointer) (n *QSizeF) { + n = new(QSizeF) + n.SetPointer(ptr) + return +} + +func (ptr *QSizeF) DestroyQSizeF() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQSizeF() *QSizeF { + tmpValue := NewQSizeFFromPointer(C.QSizeF_NewQSizeF()) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue +} + +func NewQSizeF2(size QSize_ITF) *QSizeF { + tmpValue := NewQSizeFFromPointer(C.QSizeF_NewQSizeF2(PointerFromQSize(size))) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue +} + +func NewQSizeF3(width float64, height float64) *QSizeF { + tmpValue := NewQSizeFFromPointer(C.QSizeF_NewQSizeF3(C.double(width), C.double(height))) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue +} + +func (ptr *QSizeF) BoundedTo(otherSize QSizeF_ITF) *QSizeF { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFFromPointer(C.QSizeF_BoundedTo(ptr.Pointer(), PointerFromQSizeF(otherSize))) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QSizeF) ExpandedTo(otherSize QSizeF_ITF) *QSizeF { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFFromPointer(C.QSizeF_ExpandedTo(ptr.Pointer(), PointerFromQSizeF(otherSize))) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QSizeF) Height() float64 { + if ptr.Pointer() != nil { + return float64(C.QSizeF_Height(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSizeF) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QSizeF_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSizeF) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QSizeF_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSizeF) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QSizeF_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSizeF) Rheight() float64 { + if ptr.Pointer() != nil { + return float64(C.QSizeF_Rheight(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSizeF) Rwidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QSizeF_Rwidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSizeF) Scale(width float64, height float64, mode Qt__AspectRatioMode) { + if ptr.Pointer() != nil { + C.QSizeF_Scale(ptr.Pointer(), C.double(width), C.double(height), C.longlong(mode)) + } +} + +func (ptr *QSizeF) Scale2(size QSizeF_ITF, mode Qt__AspectRatioMode) { + if ptr.Pointer() != nil { + C.QSizeF_Scale2(ptr.Pointer(), PointerFromQSizeF(size), C.longlong(mode)) + } +} + +func (ptr *QSizeF) Scaled(width float64, height float64, mode Qt__AspectRatioMode) *QSizeF { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFFromPointer(C.QSizeF_Scaled(ptr.Pointer(), C.double(width), C.double(height), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QSizeF) Scaled2(s QSizeF_ITF, mode Qt__AspectRatioMode) *QSizeF { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFFromPointer(C.QSizeF_Scaled2(ptr.Pointer(), PointerFromQSizeF(s), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QSizeF) SetHeight(height float64) { + if ptr.Pointer() != nil { + C.QSizeF_SetHeight(ptr.Pointer(), C.double(height)) + } +} + +func (ptr *QSizeF) SetWidth(width float64) { + if ptr.Pointer() != nil { + C.QSizeF_SetWidth(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QSizeF) ToSize() *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QSizeF_ToSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QSizeF) Transpose() { + if ptr.Pointer() != nil { + C.QSizeF_Transpose(ptr.Pointer()) + } +} + +func (ptr *QSizeF) Transposed() *QSizeF { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFFromPointer(C.QSizeF_Transposed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QSizeF) Width() float64 { + if ptr.Pointer() != nil { + return float64(C.QSizeF_Width(ptr.Pointer())) + } + return 0 +} + +type QSocketNotifier struct { + QObject +} + +type QSocketNotifier_ITF interface { + QObject_ITF + QSocketNotifier_PTR() *QSocketNotifier +} + +func (ptr *QSocketNotifier) QSocketNotifier_PTR() *QSocketNotifier { + return ptr +} + +func (ptr *QSocketNotifier) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QSocketNotifier) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQSocketNotifier(ptr QSocketNotifier_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSocketNotifier_PTR().Pointer() + } + return nil +} + +func NewQSocketNotifierFromPointer(ptr unsafe.Pointer) (n *QSocketNotifier) { + n = new(QSocketNotifier) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSocketNotifier__Type +//QSocketNotifier::Type +type QSocketNotifier__Type int64 + +const ( + QSocketNotifier__Read QSocketNotifier__Type = QSocketNotifier__Type(0) + QSocketNotifier__Write QSocketNotifier__Type = QSocketNotifier__Type(1) + QSocketNotifier__Exception QSocketNotifier__Type = QSocketNotifier__Type(2) +) + +//export callbackQSocketNotifier_Activated +func callbackQSocketNotifier_Activated(ptr unsafe.Pointer, socket C.int) { + if signal := qt.GetSignal(ptr, "activated"); signal != nil { + (*(*func(int))(signal))(int(int32(socket))) + } + +} + +func (ptr *QSocketNotifier) ConnectActivated(f func(socket int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "activated") { + C.QSocketNotifier_ConnectActivated(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "activated"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "activated"); signal != nil { + f := func(socket int) { + (*(*func(int))(signal))(socket) + f(socket) + } + qt.ConnectSignal(ptr.Pointer(), "activated", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "activated", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSocketNotifier) DisconnectActivated() { + if ptr.Pointer() != nil { + C.QSocketNotifier_DisconnectActivated(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "activated") + } +} + +func (ptr *QSocketNotifier) IsEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QSocketNotifier_IsEnabled(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQSocketNotifier_SetEnabled +func callbackQSocketNotifier_SetEnabled(ptr unsafe.Pointer, enable C.char) { + if signal := qt.GetSignal(ptr, "setEnabled"); signal != nil { + (*(*func(bool))(signal))(int8(enable) != 0) + } else { + NewQSocketNotifierFromPointer(ptr).SetEnabledDefault(int8(enable) != 0) + } +} + +func (ptr *QSocketNotifier) ConnectSetEnabled(f func(enable bool)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setEnabled"); signal != nil { + f := func(enable bool) { + (*(*func(bool))(signal))(enable) + f(enable) + } + qt.ConnectSignal(ptr.Pointer(), "setEnabled", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setEnabled", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSocketNotifier) DisconnectSetEnabled() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setEnabled") + } +} + +func (ptr *QSocketNotifier) SetEnabled(enable bool) { + if ptr.Pointer() != nil { + C.QSocketNotifier_SetEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QSocketNotifier) SetEnabledDefault(enable bool) { + if ptr.Pointer() != nil { + C.QSocketNotifier_SetEnabledDefault(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QSocketNotifier) Type() QSocketNotifier__Type { + if ptr.Pointer() != nil { + return QSocketNotifier__Type(C.QSocketNotifier_Type(ptr.Pointer())) + } + return 0 +} + +//export callbackQSocketNotifier_DestroyQSocketNotifier +func callbackQSocketNotifier_DestroyQSocketNotifier(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSocketNotifier"); signal != nil { + (*(*func())(signal))() + } else { + NewQSocketNotifierFromPointer(ptr).DestroyQSocketNotifierDefault() + } +} + +func (ptr *QSocketNotifier) ConnectDestroyQSocketNotifier(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSocketNotifier"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSocketNotifier", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSocketNotifier", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSocketNotifier) DisconnectDestroyQSocketNotifier() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSocketNotifier") + } +} + +func (ptr *QSocketNotifier) DestroyQSocketNotifier() { + if ptr.Pointer() != nil { + C.QSocketNotifier_DestroyQSocketNotifier(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSocketNotifier) DestroyQSocketNotifierDefault() { + if ptr.Pointer() != nil { + C.QSocketNotifier_DestroyQSocketNotifierDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSortFilterProxyModel struct { + QAbstractProxyModel +} + +type QSortFilterProxyModel_ITF interface { + QAbstractProxyModel_ITF + QSortFilterProxyModel_PTR() *QSortFilterProxyModel +} + +func (ptr *QSortFilterProxyModel) QSortFilterProxyModel_PTR() *QSortFilterProxyModel { + return ptr +} + +func (ptr *QSortFilterProxyModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractProxyModel_PTR().Pointer() + } + return nil +} + +func (ptr *QSortFilterProxyModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractProxyModel_PTR().SetPointer(p) + } +} + +func PointerFromQSortFilterProxyModel(ptr QSortFilterProxyModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSortFilterProxyModel_PTR().Pointer() + } + return nil +} + +func NewQSortFilterProxyModelFromPointer(ptr unsafe.Pointer) (n *QSortFilterProxyModel) { + n = new(QSortFilterProxyModel) + n.SetPointer(ptr) + return +} +func NewQSortFilterProxyModel(parent QObject_ITF) *QSortFilterProxyModel { + tmpValue := NewQSortFilterProxyModelFromPointer(C.QSortFilterProxyModel_NewQSortFilterProxyModel(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQSortFilterProxyModel_ColumnCount +func callbackQSortFilterProxyModel_ColumnCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQSortFilterProxyModelFromPointer(ptr).ColumnCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QSortFilterProxyModel) ConnectColumnCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectColumnCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnCount") + } +} + +func (ptr *QSortFilterProxyModel) ColumnCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QSortFilterProxyModel_ColumnCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QSortFilterProxyModel) ColumnCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QSortFilterProxyModel_ColumnCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QSortFilterProxyModel) DynamicSortFilter() bool { + if ptr.Pointer() != nil { + return int8(C.QSortFilterProxyModel_DynamicSortFilter(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQSortFilterProxyModel_FilterAcceptsColumn +func callbackQSortFilterProxyModel_FilterAcceptsColumn(ptr unsafe.Pointer, source_column C.int, source_parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "filterAcceptsColumn"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, *QModelIndex) bool)(signal))(int(int32(source_column)), NewQModelIndexFromPointer(source_parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQSortFilterProxyModelFromPointer(ptr).FilterAcceptsColumnDefault(int(int32(source_column)), NewQModelIndexFromPointer(source_parent))))) +} + +func (ptr *QSortFilterProxyModel) ConnectFilterAcceptsColumn(f func(source_column int, source_parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "filterAcceptsColumn"); signal != nil { + f := func(source_column int, source_parent *QModelIndex) bool { + (*(*func(int, *QModelIndex) bool)(signal))(source_column, source_parent) + return f(source_column, source_parent) + } + qt.ConnectSignal(ptr.Pointer(), "filterAcceptsColumn", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "filterAcceptsColumn", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectFilterAcceptsColumn() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "filterAcceptsColumn") + } +} + +func (ptr *QSortFilterProxyModel) FilterAcceptsColumn(source_column int, source_parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSortFilterProxyModel_FilterAcceptsColumn(ptr.Pointer(), C.int(int32(source_column)), PointerFromQModelIndex(source_parent))) != 0 + } + return false +} + +func (ptr *QSortFilterProxyModel) FilterAcceptsColumnDefault(source_column int, source_parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSortFilterProxyModel_FilterAcceptsColumnDefault(ptr.Pointer(), C.int(int32(source_column)), PointerFromQModelIndex(source_parent))) != 0 + } + return false +} + +//export callbackQSortFilterProxyModel_FilterAcceptsRow +func callbackQSortFilterProxyModel_FilterAcceptsRow(ptr unsafe.Pointer, source_row C.int, source_parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "filterAcceptsRow"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, *QModelIndex) bool)(signal))(int(int32(source_row)), NewQModelIndexFromPointer(source_parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQSortFilterProxyModelFromPointer(ptr).FilterAcceptsRowDefault(int(int32(source_row)), NewQModelIndexFromPointer(source_parent))))) +} + +func (ptr *QSortFilterProxyModel) ConnectFilterAcceptsRow(f func(source_row int, source_parent *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "filterAcceptsRow"); signal != nil { + f := func(source_row int, source_parent *QModelIndex) bool { + (*(*func(int, *QModelIndex) bool)(signal))(source_row, source_parent) + return f(source_row, source_parent) + } + qt.ConnectSignal(ptr.Pointer(), "filterAcceptsRow", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "filterAcceptsRow", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectFilterAcceptsRow() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "filterAcceptsRow") + } +} + +func (ptr *QSortFilterProxyModel) FilterAcceptsRow(source_row int, source_parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSortFilterProxyModel_FilterAcceptsRow(ptr.Pointer(), C.int(int32(source_row)), PointerFromQModelIndex(source_parent))) != 0 + } + return false +} + +func (ptr *QSortFilterProxyModel) FilterAcceptsRowDefault(source_row int, source_parent QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSortFilterProxyModel_FilterAcceptsRowDefault(ptr.Pointer(), C.int(int32(source_row)), PointerFromQModelIndex(source_parent))) != 0 + } + return false +} + +func (ptr *QSortFilterProxyModel) FilterCaseSensitivity() Qt__CaseSensitivity { + if ptr.Pointer() != nil { + return Qt__CaseSensitivity(C.QSortFilterProxyModel_FilterCaseSensitivity(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSortFilterProxyModel) FilterKeyColumn() int { + if ptr.Pointer() != nil { + return int(int32(C.QSortFilterProxyModel_FilterKeyColumn(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSortFilterProxyModel) FilterRegExp() *QRegExp { + if ptr.Pointer() != nil { + tmpValue := NewQRegExpFromPointer(C.QSortFilterProxyModel_FilterRegExp(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRegExp).DestroyQRegExp) + return tmpValue + } + return nil +} + +func (ptr *QSortFilterProxyModel) FilterRegularExpression() *QRegularExpression { + if ptr.Pointer() != nil { + tmpValue := NewQRegularExpressionFromPointer(C.QSortFilterProxyModel_FilterRegularExpression(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRegularExpression).DestroyQRegularExpression) + return tmpValue + } + return nil +} + +func (ptr *QSortFilterProxyModel) FilterRole() int { + if ptr.Pointer() != nil { + return int(int32(C.QSortFilterProxyModel_FilterRole(ptr.Pointer()))) + } + return 0 +} + +//export callbackQSortFilterProxyModel_Index +func callbackQSortFilterProxyModel_Index(ptr unsafe.Pointer, row C.int, column C.int, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "index"); signal != nil { + return PointerFromQModelIndex((*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) + } + + return PointerFromQModelIndex(NewQSortFilterProxyModelFromPointer(ptr).IndexDefault(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) +} + +func (ptr *QSortFilterProxyModel) ConnectIndex(f func(row int, column int, parent *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "index"); signal != nil { + f := func(row int, column int, parent *QModelIndex) *QModelIndex { + (*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(row, column, parent) + return f(row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "index") + } +} + +func (ptr *QSortFilterProxyModel) Index(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QSortFilterProxyModel_Index(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QSortFilterProxyModel) IndexDefault(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QSortFilterProxyModel_IndexDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQSortFilterProxyModel_Invalidate +func callbackQSortFilterProxyModel_Invalidate(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "invalidate"); signal != nil { + (*(*func())(signal))() + } else { + NewQSortFilterProxyModelFromPointer(ptr).InvalidateDefault() + } +} + +func (ptr *QSortFilterProxyModel) ConnectInvalidate(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "invalidate"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "invalidate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "invalidate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectInvalidate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "invalidate") + } +} + +func (ptr *QSortFilterProxyModel) Invalidate() { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_Invalidate(ptr.Pointer()) + } +} + +func (ptr *QSortFilterProxyModel) InvalidateDefault() { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_InvalidateDefault(ptr.Pointer()) + } +} + +func (ptr *QSortFilterProxyModel) InvalidateFilter() { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_InvalidateFilter(ptr.Pointer()) + } +} + +func (ptr *QSortFilterProxyModel) IsRecursiveFilteringEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QSortFilterProxyModel_IsRecursiveFilteringEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSortFilterProxyModel) IsSortLocaleAware() bool { + if ptr.Pointer() != nil { + return int8(C.QSortFilterProxyModel_IsSortLocaleAware(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQSortFilterProxyModel_LessThan +func callbackQSortFilterProxyModel_LessThan(ptr unsafe.Pointer, source_left unsafe.Pointer, source_right unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "lessThan"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QModelIndex, *QModelIndex) bool)(signal))(NewQModelIndexFromPointer(source_left), NewQModelIndexFromPointer(source_right))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQSortFilterProxyModelFromPointer(ptr).LessThanDefault(NewQModelIndexFromPointer(source_left), NewQModelIndexFromPointer(source_right))))) +} + +func (ptr *QSortFilterProxyModel) ConnectLessThan(f func(source_left *QModelIndex, source_right *QModelIndex) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "lessThan"); signal != nil { + f := func(source_left *QModelIndex, source_right *QModelIndex) bool { + (*(*func(*QModelIndex, *QModelIndex) bool)(signal))(source_left, source_right) + return f(source_left, source_right) + } + qt.ConnectSignal(ptr.Pointer(), "lessThan", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "lessThan", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectLessThan() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "lessThan") + } +} + +func (ptr *QSortFilterProxyModel) LessThan(source_left QModelIndex_ITF, source_right QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSortFilterProxyModel_LessThan(ptr.Pointer(), PointerFromQModelIndex(source_left), PointerFromQModelIndex(source_right))) != 0 + } + return false +} + +func (ptr *QSortFilterProxyModel) LessThanDefault(source_left QModelIndex_ITF, source_right QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSortFilterProxyModel_LessThanDefault(ptr.Pointer(), PointerFromQModelIndex(source_left), PointerFromQModelIndex(source_right))) != 0 + } + return false +} + +//export callbackQSortFilterProxyModel_MapFromSource +func callbackQSortFilterProxyModel_MapFromSource(ptr unsafe.Pointer, sourceIndex unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapFromSource"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(sourceIndex))) + } + + return PointerFromQModelIndex(NewQSortFilterProxyModelFromPointer(ptr).MapFromSourceDefault(NewQModelIndexFromPointer(sourceIndex))) +} + +func (ptr *QSortFilterProxyModel) ConnectMapFromSource(f func(sourceIndex *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapFromSource"); signal != nil { + f := func(sourceIndex *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(sourceIndex) + return f(sourceIndex) + } + qt.ConnectSignal(ptr.Pointer(), "mapFromSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapFromSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectMapFromSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapFromSource") + } +} + +func (ptr *QSortFilterProxyModel) MapFromSource(sourceIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QSortFilterProxyModel_MapFromSource(ptr.Pointer(), PointerFromQModelIndex(sourceIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QSortFilterProxyModel) MapFromSourceDefault(sourceIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QSortFilterProxyModel_MapFromSourceDefault(ptr.Pointer(), PointerFromQModelIndex(sourceIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQSortFilterProxyModel_MapToSource +func callbackQSortFilterProxyModel_MapToSource(ptr unsafe.Pointer, proxyIndex unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapToSource"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(proxyIndex))) + } + + return PointerFromQModelIndex(NewQSortFilterProxyModelFromPointer(ptr).MapToSourceDefault(NewQModelIndexFromPointer(proxyIndex))) +} + +func (ptr *QSortFilterProxyModel) ConnectMapToSource(f func(proxyIndex *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapToSource"); signal != nil { + f := func(proxyIndex *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(proxyIndex) + return f(proxyIndex) + } + qt.ConnectSignal(ptr.Pointer(), "mapToSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapToSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectMapToSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapToSource") + } +} + +func (ptr *QSortFilterProxyModel) MapToSource(proxyIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QSortFilterProxyModel_MapToSource(ptr.Pointer(), PointerFromQModelIndex(proxyIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QSortFilterProxyModel) MapToSourceDefault(proxyIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QSortFilterProxyModel_MapToSourceDefault(ptr.Pointer(), PointerFromQModelIndex(proxyIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQSortFilterProxyModel_Parent +func callbackQSortFilterProxyModel_Parent(ptr unsafe.Pointer, child unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(child))) + } + + return PointerFromQModelIndex(NewQSortFilterProxyModelFromPointer(ptr).ParentDefault(NewQModelIndexFromPointer(child))) +} + +func (ptr *QSortFilterProxyModel) ConnectParent(f func(child *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "parent"); signal != nil { + f := func(child *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(child) + return f(child) + } + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectParent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "parent") + } +} + +func (ptr *QSortFilterProxyModel) Parent(child QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QSortFilterProxyModel_Parent(ptr.Pointer(), PointerFromQModelIndex(child))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QSortFilterProxyModel) ParentDefault(child QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QSortFilterProxyModel_ParentDefault(ptr.Pointer(), PointerFromQModelIndex(child))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQSortFilterProxyModel_RowCount +func callbackQSortFilterProxyModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQSortFilterProxyModelFromPointer(ptr).RowCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QSortFilterProxyModel) ConnectRowCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectRowCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowCount") + } +} + +func (ptr *QSortFilterProxyModel) RowCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QSortFilterProxyModel_RowCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QSortFilterProxyModel) RowCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QSortFilterProxyModel_RowCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QSortFilterProxyModel) SetDynamicSortFilter(enable bool) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetDynamicSortFilter(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QSortFilterProxyModel) SetFilterCaseSensitivity(cs Qt__CaseSensitivity) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetFilterCaseSensitivity(ptr.Pointer(), C.longlong(cs)) + } +} + +//export callbackQSortFilterProxyModel_SetFilterFixedString +func callbackQSortFilterProxyModel_SetFilterFixedString(ptr unsafe.Pointer, pattern C.struct_QtCore_PackedString) { + if signal := qt.GetSignal(ptr, "setFilterFixedString"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(pattern)) + } else { + NewQSortFilterProxyModelFromPointer(ptr).SetFilterFixedStringDefault(cGoUnpackString(pattern)) + } +} + +func (ptr *QSortFilterProxyModel) ConnectSetFilterFixedString(f func(pattern string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setFilterFixedString"); signal != nil { + f := func(pattern string) { + (*(*func(string))(signal))(pattern) + f(pattern) + } + qt.ConnectSignal(ptr.Pointer(), "setFilterFixedString", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setFilterFixedString", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectSetFilterFixedString() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setFilterFixedString") + } +} + +func (ptr *QSortFilterProxyModel) SetFilterFixedString(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QSortFilterProxyModel_SetFilterFixedString(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +func (ptr *QSortFilterProxyModel) SetFilterFixedStringDefault(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QSortFilterProxyModel_SetFilterFixedStringDefault(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +func (ptr *QSortFilterProxyModel) SetFilterKeyColumn(column int) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetFilterKeyColumn(ptr.Pointer(), C.int(int32(column))) + } +} + +//export callbackQSortFilterProxyModel_SetFilterRegExp +func callbackQSortFilterProxyModel_SetFilterRegExp(ptr unsafe.Pointer, regExp unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setFilterRegExp"); signal != nil { + (*(*func(*QRegExp))(signal))(NewQRegExpFromPointer(regExp)) + } else { + NewQSortFilterProxyModelFromPointer(ptr).SetFilterRegExpDefault(NewQRegExpFromPointer(regExp)) + } +} + +func (ptr *QSortFilterProxyModel) ConnectSetFilterRegExp(f func(regExp *QRegExp)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setFilterRegExp"); signal != nil { + f := func(regExp *QRegExp) { + (*(*func(*QRegExp))(signal))(regExp) + f(regExp) + } + qt.ConnectSignal(ptr.Pointer(), "setFilterRegExp", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setFilterRegExp", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectSetFilterRegExp() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setFilterRegExp") + } +} + +func (ptr *QSortFilterProxyModel) SetFilterRegExp(regExp QRegExp_ITF) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetFilterRegExp(ptr.Pointer(), PointerFromQRegExp(regExp)) + } +} + +func (ptr *QSortFilterProxyModel) SetFilterRegExpDefault(regExp QRegExp_ITF) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetFilterRegExpDefault(ptr.Pointer(), PointerFromQRegExp(regExp)) + } +} + +//export callbackQSortFilterProxyModel_SetFilterRegExp2 +func callbackQSortFilterProxyModel_SetFilterRegExp2(ptr unsafe.Pointer, pattern C.struct_QtCore_PackedString) { + if signal := qt.GetSignal(ptr, "setFilterRegExp2"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(pattern)) + } else { + NewQSortFilterProxyModelFromPointer(ptr).SetFilterRegExp2Default(cGoUnpackString(pattern)) + } +} + +func (ptr *QSortFilterProxyModel) ConnectSetFilterRegExp2(f func(pattern string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setFilterRegExp2"); signal != nil { + f := func(pattern string) { + (*(*func(string))(signal))(pattern) + f(pattern) + } + qt.ConnectSignal(ptr.Pointer(), "setFilterRegExp2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setFilterRegExp2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectSetFilterRegExp2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setFilterRegExp2") + } +} + +func (ptr *QSortFilterProxyModel) SetFilterRegExp2(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QSortFilterProxyModel_SetFilterRegExp2(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +func (ptr *QSortFilterProxyModel) SetFilterRegExp2Default(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QSortFilterProxyModel_SetFilterRegExp2Default(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +//export callbackQSortFilterProxyModel_SetFilterRegularExpression +func callbackQSortFilterProxyModel_SetFilterRegularExpression(ptr unsafe.Pointer, pattern C.struct_QtCore_PackedString) { + if signal := qt.GetSignal(ptr, "setFilterRegularExpression"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(pattern)) + } else { + NewQSortFilterProxyModelFromPointer(ptr).SetFilterRegularExpressionDefault(cGoUnpackString(pattern)) + } +} + +func (ptr *QSortFilterProxyModel) ConnectSetFilterRegularExpression(f func(pattern string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setFilterRegularExpression"); signal != nil { + f := func(pattern string) { + (*(*func(string))(signal))(pattern) + f(pattern) + } + qt.ConnectSignal(ptr.Pointer(), "setFilterRegularExpression", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setFilterRegularExpression", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectSetFilterRegularExpression() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setFilterRegularExpression") + } +} + +func (ptr *QSortFilterProxyModel) SetFilterRegularExpression(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QSortFilterProxyModel_SetFilterRegularExpression(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +func (ptr *QSortFilterProxyModel) SetFilterRegularExpressionDefault(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QSortFilterProxyModel_SetFilterRegularExpressionDefault(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +//export callbackQSortFilterProxyModel_SetFilterRegularExpression2 +func callbackQSortFilterProxyModel_SetFilterRegularExpression2(ptr unsafe.Pointer, regularExpression unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setFilterRegularExpression2"); signal != nil { + (*(*func(*QRegularExpression))(signal))(NewQRegularExpressionFromPointer(regularExpression)) + } else { + NewQSortFilterProxyModelFromPointer(ptr).SetFilterRegularExpression2Default(NewQRegularExpressionFromPointer(regularExpression)) + } +} + +func (ptr *QSortFilterProxyModel) ConnectSetFilterRegularExpression2(f func(regularExpression *QRegularExpression)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setFilterRegularExpression2"); signal != nil { + f := func(regularExpression *QRegularExpression) { + (*(*func(*QRegularExpression))(signal))(regularExpression) + f(regularExpression) + } + qt.ConnectSignal(ptr.Pointer(), "setFilterRegularExpression2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setFilterRegularExpression2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectSetFilterRegularExpression2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setFilterRegularExpression2") + } +} + +func (ptr *QSortFilterProxyModel) SetFilterRegularExpression2(regularExpression QRegularExpression_ITF) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetFilterRegularExpression2(ptr.Pointer(), PointerFromQRegularExpression(regularExpression)) + } +} + +func (ptr *QSortFilterProxyModel) SetFilterRegularExpression2Default(regularExpression QRegularExpression_ITF) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetFilterRegularExpression2Default(ptr.Pointer(), PointerFromQRegularExpression(regularExpression)) + } +} + +func (ptr *QSortFilterProxyModel) SetFilterRole(role int) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetFilterRole(ptr.Pointer(), C.int(int32(role))) + } +} + +//export callbackQSortFilterProxyModel_SetFilterWildcard +func callbackQSortFilterProxyModel_SetFilterWildcard(ptr unsafe.Pointer, pattern C.struct_QtCore_PackedString) { + if signal := qt.GetSignal(ptr, "setFilterWildcard"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(pattern)) + } else { + NewQSortFilterProxyModelFromPointer(ptr).SetFilterWildcardDefault(cGoUnpackString(pattern)) + } +} + +func (ptr *QSortFilterProxyModel) ConnectSetFilterWildcard(f func(pattern string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setFilterWildcard"); signal != nil { + f := func(pattern string) { + (*(*func(string))(signal))(pattern) + f(pattern) + } + qt.ConnectSignal(ptr.Pointer(), "setFilterWildcard", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setFilterWildcard", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectSetFilterWildcard() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setFilterWildcard") + } +} + +func (ptr *QSortFilterProxyModel) SetFilterWildcard(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QSortFilterProxyModel_SetFilterWildcard(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +func (ptr *QSortFilterProxyModel) SetFilterWildcardDefault(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QSortFilterProxyModel_SetFilterWildcardDefault(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +func (ptr *QSortFilterProxyModel) SetRecursiveFilteringEnabled(recursive bool) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetRecursiveFilteringEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(recursive)))) + } +} + +func (ptr *QSortFilterProxyModel) SetSortCaseSensitivity(cs Qt__CaseSensitivity) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetSortCaseSensitivity(ptr.Pointer(), C.longlong(cs)) + } +} + +func (ptr *QSortFilterProxyModel) SetSortLocaleAware(on bool) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetSortLocaleAware(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(on)))) + } +} + +func (ptr *QSortFilterProxyModel) SetSortRole(role int) { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_SetSortRole(ptr.Pointer(), C.int(int32(role))) + } +} + +func (ptr *QSortFilterProxyModel) SortCaseSensitivity() Qt__CaseSensitivity { + if ptr.Pointer() != nil { + return Qt__CaseSensitivity(C.QSortFilterProxyModel_SortCaseSensitivity(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSortFilterProxyModel) SortColumn() int { + if ptr.Pointer() != nil { + return int(int32(C.QSortFilterProxyModel_SortColumn(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSortFilterProxyModel) SortOrder() Qt__SortOrder { + if ptr.Pointer() != nil { + return Qt__SortOrder(C.QSortFilterProxyModel_SortOrder(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSortFilterProxyModel) SortRole() int { + if ptr.Pointer() != nil { + return int(int32(C.QSortFilterProxyModel_SortRole(ptr.Pointer()))) + } + return 0 +} + +//export callbackQSortFilterProxyModel_DestroyQSortFilterProxyModel +func callbackQSortFilterProxyModel_DestroyQSortFilterProxyModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSortFilterProxyModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQSortFilterProxyModelFromPointer(ptr).DestroyQSortFilterProxyModelDefault() + } +} + +func (ptr *QSortFilterProxyModel) ConnectDestroyQSortFilterProxyModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSortFilterProxyModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSortFilterProxyModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSortFilterProxyModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSortFilterProxyModel) DisconnectDestroyQSortFilterProxyModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSortFilterProxyModel") + } +} + +func (ptr *QSortFilterProxyModel) DestroyQSortFilterProxyModel() { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_DestroyQSortFilterProxyModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSortFilterProxyModel) DestroyQSortFilterProxyModelDefault() { + if ptr.Pointer() != nil { + C.QSortFilterProxyModel_DestroyQSortFilterProxyModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSpecialInteger struct { + ptr unsafe.Pointer +} + +type QSpecialInteger_ITF interface { + QSpecialInteger_PTR() *QSpecialInteger +} + +func (ptr *QSpecialInteger) QSpecialInteger_PTR() *QSpecialInteger { + return ptr +} + +func (ptr *QSpecialInteger) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSpecialInteger) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSpecialInteger(ptr QSpecialInteger_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSpecialInteger_PTR().Pointer() + } + return nil +} + +func NewQSpecialIntegerFromPointer(ptr unsafe.Pointer) (n *QSpecialInteger) { + n = new(QSpecialInteger) + n.SetPointer(ptr) + return +} + +func (ptr *QSpecialInteger) DestroyQSpecialInteger() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QStack struct { + QVector +} + +type QStack_ITF interface { + QVector_ITF + QStack_PTR() *QStack +} + +func (ptr *QStack) QStack_PTR() *QStack { + return ptr +} + +func (ptr *QStack) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QVector_PTR().Pointer() + } + return nil +} + +func (ptr *QStack) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QVector_PTR().SetPointer(p) + } +} + +func PointerFromQStack(ptr QStack_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStack_PTR().Pointer() + } + return nil +} + +func NewQStackFromPointer(ptr unsafe.Pointer) (n *QStack) { + n = new(QStack) + n.SetPointer(ptr) + return +} + +func (ptr *QStack) DestroyQStack() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QStandardPaths struct { + ptr unsafe.Pointer +} + +type QStandardPaths_ITF interface { + QStandardPaths_PTR() *QStandardPaths +} + +func (ptr *QStandardPaths) QStandardPaths_PTR() *QStandardPaths { + return ptr +} + +func (ptr *QStandardPaths) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStandardPaths) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStandardPaths(ptr QStandardPaths_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStandardPaths_PTR().Pointer() + } + return nil +} + +func NewQStandardPathsFromPointer(ptr unsafe.Pointer) (n *QStandardPaths) { + n = new(QStandardPaths) + n.SetPointer(ptr) + return +} + +func (ptr *QStandardPaths) DestroyQStandardPaths() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QStandardPaths__StandardLocation +//QStandardPaths::StandardLocation +type QStandardPaths__StandardLocation int64 + +const ( + QStandardPaths__DesktopLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(0) + QStandardPaths__DocumentsLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(1) + QStandardPaths__FontsLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(2) + QStandardPaths__ApplicationsLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(3) + QStandardPaths__MusicLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(4) + QStandardPaths__MoviesLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(5) + QStandardPaths__PicturesLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(6) + QStandardPaths__TempLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(7) + QStandardPaths__HomeLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(8) + QStandardPaths__DataLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(9) + QStandardPaths__CacheLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(10) + QStandardPaths__GenericDataLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(11) + QStandardPaths__RuntimeLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(12) + QStandardPaths__ConfigLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(13) + QStandardPaths__DownloadLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(14) + QStandardPaths__GenericCacheLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(15) + QStandardPaths__GenericConfigLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(16) + QStandardPaths__AppDataLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(17) + QStandardPaths__AppConfigLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(18) + QStandardPaths__AppLocalDataLocation QStandardPaths__StandardLocation = QStandardPaths__StandardLocation(QStandardPaths__DataLocation) +) + +//go:generate stringer -type=QStandardPaths__LocateOption +//QStandardPaths::LocateOption +type QStandardPaths__LocateOption int64 + +const ( + QStandardPaths__LocateFile QStandardPaths__LocateOption = QStandardPaths__LocateOption(0x0) + QStandardPaths__LocateDirectory QStandardPaths__LocateOption = QStandardPaths__LocateOption(0x1) +) + +func QStandardPaths_DisplayName(ty QStandardPaths__StandardLocation) string { + return cGoUnpackString(C.QStandardPaths_QStandardPaths_DisplayName(C.longlong(ty))) +} + +func (ptr *QStandardPaths) DisplayName(ty QStandardPaths__StandardLocation) string { + return cGoUnpackString(C.QStandardPaths_QStandardPaths_DisplayName(C.longlong(ty))) +} + +func QStandardPaths_FindExecutable(executableName string, paths []string) string { + var executableNameC *C.char + if executableName != "" { + executableNameC = C.CString(executableName) + defer C.free(unsafe.Pointer(executableNameC)) + } + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + return cGoUnpackString(C.QStandardPaths_QStandardPaths_FindExecutable(C.struct_QtCore_PackedString{data: executableNameC, len: C.longlong(len(executableName))}, C.struct_QtCore_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))})) +} + +func (ptr *QStandardPaths) FindExecutable(executableName string, paths []string) string { + var executableNameC *C.char + if executableName != "" { + executableNameC = C.CString(executableName) + defer C.free(unsafe.Pointer(executableNameC)) + } + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + return cGoUnpackString(C.QStandardPaths_QStandardPaths_FindExecutable(C.struct_QtCore_PackedString{data: executableNameC, len: C.longlong(len(executableName))}, C.struct_QtCore_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))})) +} + +func QStandardPaths_Locate(ty QStandardPaths__StandardLocation, fileName string, options QStandardPaths__LocateOption) string { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return cGoUnpackString(C.QStandardPaths_QStandardPaths_Locate(C.longlong(ty), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(options))) +} + +func (ptr *QStandardPaths) Locate(ty QStandardPaths__StandardLocation, fileName string, options QStandardPaths__LocateOption) string { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return cGoUnpackString(C.QStandardPaths_QStandardPaths_Locate(C.longlong(ty), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(options))) +} + +func QStandardPaths_LocateAll(ty QStandardPaths__StandardLocation, fileName string, options QStandardPaths__LocateOption) []string { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return unpackStringList(cGoUnpackString(C.QStandardPaths_QStandardPaths_LocateAll(C.longlong(ty), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(options)))) +} + +func (ptr *QStandardPaths) LocateAll(ty QStandardPaths__StandardLocation, fileName string, options QStandardPaths__LocateOption) []string { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return unpackStringList(cGoUnpackString(C.QStandardPaths_QStandardPaths_LocateAll(C.longlong(ty), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(options)))) +} + +func QStandardPaths_SetTestModeEnabled(testMode bool) { + C.QStandardPaths_QStandardPaths_SetTestModeEnabled(C.char(int8(qt.GoBoolToInt(testMode)))) +} + +func (ptr *QStandardPaths) SetTestModeEnabled(testMode bool) { + C.QStandardPaths_QStandardPaths_SetTestModeEnabled(C.char(int8(qt.GoBoolToInt(testMode)))) +} + +func QStandardPaths_StandardLocations(ty QStandardPaths__StandardLocation) []string { + return unpackStringList(cGoUnpackString(C.QStandardPaths_QStandardPaths_StandardLocations(C.longlong(ty)))) +} + +func (ptr *QStandardPaths) StandardLocations(ty QStandardPaths__StandardLocation) []string { + return unpackStringList(cGoUnpackString(C.QStandardPaths_QStandardPaths_StandardLocations(C.longlong(ty)))) +} + +func QStandardPaths_WritableLocation(ty QStandardPaths__StandardLocation) string { + return cGoUnpackString(C.QStandardPaths_QStandardPaths_WritableLocation(C.longlong(ty))) +} + +func (ptr *QStandardPaths) WritableLocation(ty QStandardPaths__StandardLocation) string { + return cGoUnpackString(C.QStandardPaths_QStandardPaths_WritableLocation(C.longlong(ty))) +} + +type QState struct { + QAbstractState +} + +type QState_ITF interface { + QAbstractState_ITF + QState_PTR() *QState +} + +func (ptr *QState) QState_PTR() *QState { + return ptr +} + +func (ptr *QState) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractState_PTR().Pointer() + } + return nil +} + +func (ptr *QState) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractState_PTR().SetPointer(p) + } +} + +func PointerFromQState(ptr QState_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QState_PTR().Pointer() + } + return nil +} + +func NewQStateFromPointer(ptr unsafe.Pointer) (n *QState) { + n = new(QState) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QState__ChildMode +//QState::ChildMode +type QState__ChildMode int64 + +const ( + QState__ExclusiveStates QState__ChildMode = QState__ChildMode(0) + QState__ParallelStates QState__ChildMode = QState__ChildMode(1) +) + +//go:generate stringer -type=QState__RestorePolicy +//QState::RestorePolicy +type QState__RestorePolicy int64 + +const ( + QState__DontRestoreProperties QState__RestorePolicy = QState__RestorePolicy(0) + QState__RestoreProperties QState__RestorePolicy = QState__RestorePolicy(1) +) + +func NewQState(parent QState_ITF) *QState { + tmpValue := NewQStateFromPointer(C.QState_NewQState(PointerFromQState(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQState2(childMode QState__ChildMode, parent QState_ITF) *QState { + tmpValue := NewQStateFromPointer(C.QState_NewQState2(C.longlong(childMode), PointerFromQState(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QState) AddTransition(transition QAbstractTransition_ITF) { + if ptr.Pointer() != nil { + C.QState_AddTransition(ptr.Pointer(), PointerFromQAbstractTransition(transition)) + } +} + +func (ptr *QState) AddTransition2(sender QObject_ITF, sign string, target QAbstractState_ITF) *QSignalTransition { + if ptr.Pointer() != nil { + var signC *C.char + if sign != "" { + signC = C.CString(sign) + defer C.free(unsafe.Pointer(signC)) + } + tmpValue := NewQSignalTransitionFromPointer(C.QState_AddTransition2(ptr.Pointer(), PointerFromQObject(sender), signC, PointerFromQAbstractState(target))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QState) AddTransition4(target QAbstractState_ITF) *QAbstractTransition { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractTransitionFromPointer(C.QState_AddTransition4(ptr.Pointer(), PointerFromQAbstractState(target))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QState) AssignProperty(object QObject_ITF, name string, value QVariant_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QState_AssignProperty(ptr.Pointer(), PointerFromQObject(object), nameC, PointerFromQVariant(value)) + } +} + +func (ptr *QState) ChildMode() QState__ChildMode { + if ptr.Pointer() != nil { + return QState__ChildMode(C.QState_ChildMode(ptr.Pointer())) + } + return 0 +} + +//export callbackQState_ChildModeChanged +func callbackQState_ChildModeChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childModeChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QState) ConnectChildModeChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "childModeChanged") { + C.QState_ConnectChildModeChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "childModeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "childModeChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "childModeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "childModeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QState) DisconnectChildModeChanged() { + if ptr.Pointer() != nil { + C.QState_DisconnectChildModeChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "childModeChanged") + } +} + +func (ptr *QState) ErrorState() *QAbstractState { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractStateFromPointer(C.QState_ErrorState(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQState_ErrorStateChanged +func callbackQState_ErrorStateChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "errorStateChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QState) ConnectErrorStateChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "errorStateChanged") { + C.QState_ConnectErrorStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "errorStateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "errorStateChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "errorStateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "errorStateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QState) DisconnectErrorStateChanged() { + if ptr.Pointer() != nil { + C.QState_DisconnectErrorStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "errorStateChanged") + } +} + +//export callbackQState_Finished +func callbackQState_Finished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "finished"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QState) ConnectFinished(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "finished") { + C.QState_ConnectFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "finished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "finished"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QState) DisconnectFinished() { + if ptr.Pointer() != nil { + C.QState_DisconnectFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "finished") + } +} + +func (ptr *QState) InitialState() *QAbstractState { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractStateFromPointer(C.QState_InitialState(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQState_InitialStateChanged +func callbackQState_InitialStateChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "initialStateChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QState) ConnectInitialStateChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "initialStateChanged") { + C.QState_ConnectInitialStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "initialStateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "initialStateChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "initialStateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "initialStateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QState) DisconnectInitialStateChanged() { + if ptr.Pointer() != nil { + C.QState_DisconnectInitialStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "initialStateChanged") + } +} + +//export callbackQState_OnEntry +func callbackQState_OnEntry(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onEntry"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } else { + NewQStateFromPointer(ptr).OnEntryDefault(NewQEventFromPointer(event)) + } +} + +func (ptr *QState) ConnectOnEntry(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onEntry"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onEntry", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onEntry", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QState) DisconnectOnEntry() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onEntry") + } +} + +func (ptr *QState) OnEntry(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QState_OnEntry(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QState) OnEntryDefault(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QState_OnEntryDefault(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +//export callbackQState_OnExit +func callbackQState_OnExit(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "onExit"); signal != nil { + (*(*func(*QEvent))(signal))(NewQEventFromPointer(event)) + } else { + NewQStateFromPointer(ptr).OnExitDefault(NewQEventFromPointer(event)) + } +} + +func (ptr *QState) ConnectOnExit(f func(event *QEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "onExit"); signal != nil { + f := func(event *QEvent) { + (*(*func(*QEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "onExit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onExit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QState) DisconnectOnExit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "onExit") + } +} + +func (ptr *QState) OnExit(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QState_OnExit(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +func (ptr *QState) OnExitDefault(event QEvent_ITF) { + if ptr.Pointer() != nil { + C.QState_OnExitDefault(ptr.Pointer(), PointerFromQEvent(event)) + } +} + +//export callbackQState_PropertiesAssigned +func callbackQState_PropertiesAssigned(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "propertiesAssigned"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QState) ConnectPropertiesAssigned(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "propertiesAssigned") { + C.QState_ConnectPropertiesAssigned(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "propertiesAssigned"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "propertiesAssigned"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "propertiesAssigned", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "propertiesAssigned", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QState) DisconnectPropertiesAssigned() { + if ptr.Pointer() != nil { + C.QState_DisconnectPropertiesAssigned(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "propertiesAssigned") + } +} + +func (ptr *QState) RemoveTransition(transition QAbstractTransition_ITF) { + if ptr.Pointer() != nil { + C.QState_RemoveTransition(ptr.Pointer(), PointerFromQAbstractTransition(transition)) + } +} + +func (ptr *QState) SetChildMode(mode QState__ChildMode) { + if ptr.Pointer() != nil { + C.QState_SetChildMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QState) SetErrorState(state QAbstractState_ITF) { + if ptr.Pointer() != nil { + C.QState_SetErrorState(ptr.Pointer(), PointerFromQAbstractState(state)) + } +} + +func (ptr *QState) SetInitialState(state QAbstractState_ITF) { + if ptr.Pointer() != nil { + C.QState_SetInitialState(ptr.Pointer(), PointerFromQAbstractState(state)) + } +} + +func (ptr *QState) Transitions() []*QAbstractTransition { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QAbstractTransition { + out := make([]*QAbstractTransition, int(l.len)) + tmpList := NewQStateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__transitions_atList(i) + } + return out + }(C.QState_Transitions(ptr.Pointer())) + } + return make([]*QAbstractTransition, 0) +} + +//export callbackQState_DestroyQState +func callbackQState_DestroyQState(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QState"); signal != nil { + (*(*func())(signal))() + } else { + NewQStateFromPointer(ptr).DestroyQStateDefault() + } +} + +func (ptr *QState) ConnectDestroyQState(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QState"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QState", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QState", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QState) DisconnectDestroyQState() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QState") + } +} + +func (ptr *QState) DestroyQState() { + if ptr.Pointer() != nil { + C.QState_DestroyQState(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QState) DestroyQStateDefault() { + if ptr.Pointer() != nil { + C.QState_DestroyQStateDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QState) __transitions_atList(i int) *QAbstractTransition { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractTransitionFromPointer(C.QState___transitions_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QState) __transitions_setList(i QAbstractTransition_ITF) { + if ptr.Pointer() != nil { + C.QState___transitions_setList(ptr.Pointer(), PointerFromQAbstractTransition(i)) + } +} + +func (ptr *QState) __transitions_newList() unsafe.Pointer { + return C.QState___transitions_newList(ptr.Pointer()) +} + +type QStateMachine struct { + QState +} + +type QStateMachine_ITF interface { + QState_ITF + QStateMachine_PTR() *QStateMachine +} + +func (ptr *QStateMachine) QStateMachine_PTR() *QStateMachine { + return ptr +} + +func (ptr *QStateMachine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QState_PTR().Pointer() + } + return nil +} + +func (ptr *QStateMachine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QState_PTR().SetPointer(p) + } +} + +func PointerFromQStateMachine(ptr QStateMachine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStateMachine_PTR().Pointer() + } + return nil +} + +func NewQStateMachineFromPointer(ptr unsafe.Pointer) (n *QStateMachine) { + n = new(QStateMachine) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QStateMachine__EventPriority +//QStateMachine::EventPriority +type QStateMachine__EventPriority int64 + +const ( + QStateMachine__NormalPriority QStateMachine__EventPriority = QStateMachine__EventPriority(0) + QStateMachine__HighPriority QStateMachine__EventPriority = QStateMachine__EventPriority(1) +) + +//go:generate stringer -type=QStateMachine__Error +//QStateMachine::Error +type QStateMachine__Error int64 + +const ( + QStateMachine__NoError QStateMachine__Error = QStateMachine__Error(0) + QStateMachine__NoInitialStateError QStateMachine__Error = QStateMachine__Error(1) + QStateMachine__NoDefaultStateInHistoryStateError QStateMachine__Error = QStateMachine__Error(2) + QStateMachine__NoCommonAncestorForTransitionError QStateMachine__Error = QStateMachine__Error(3) +) + +func NewQStateMachine(parent QObject_ITF) *QStateMachine { + tmpValue := NewQStateMachineFromPointer(C.QStateMachine_NewQStateMachine(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQStateMachine2(childMode QState__ChildMode, parent QObject_ITF) *QStateMachine { + tmpValue := NewQStateMachineFromPointer(C.QStateMachine_NewQStateMachine2(C.longlong(childMode), PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QStateMachine) AddDefaultAnimation(animation QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QStateMachine_AddDefaultAnimation(ptr.Pointer(), PointerFromQAbstractAnimation(animation)) + } +} + +func (ptr *QStateMachine) AddState(state QAbstractState_ITF) { + if ptr.Pointer() != nil { + C.QStateMachine_AddState(ptr.Pointer(), PointerFromQAbstractState(state)) + } +} + +func (ptr *QStateMachine) CancelDelayedEvent(id int) bool { + if ptr.Pointer() != nil { + return int8(C.QStateMachine_CancelDelayedEvent(ptr.Pointer(), C.int(int32(id)))) != 0 + } + return false +} + +func (ptr *QStateMachine) ClearError() { + if ptr.Pointer() != nil { + C.QStateMachine_ClearError(ptr.Pointer()) + } +} + +func (ptr *QStateMachine) DefaultAnimations() []*QAbstractAnimation { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QAbstractAnimation { + out := make([]*QAbstractAnimation, int(l.len)) + tmpList := NewQStateMachineFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__defaultAnimations_atList(i) + } + return out + }(C.QStateMachine_DefaultAnimations(ptr.Pointer())) + } + return make([]*QAbstractAnimation, 0) +} + +func (ptr *QStateMachine) Error() QStateMachine__Error { + if ptr.Pointer() != nil { + return QStateMachine__Error(C.QStateMachine_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStateMachine) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStateMachine_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QStateMachine) GlobalRestorePolicy() QState__RestorePolicy { + if ptr.Pointer() != nil { + return QState__RestorePolicy(C.QStateMachine_GlobalRestorePolicy(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStateMachine) IsAnimated() bool { + if ptr.Pointer() != nil { + return int8(C.QStateMachine_IsAnimated(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStateMachine) IsRunning() bool { + if ptr.Pointer() != nil { + return int8(C.QStateMachine_IsRunning(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStateMachine) PostDelayedEvent(event QEvent_ITF, delay int) int { + if ptr.Pointer() != nil { + return int(int32(C.QStateMachine_PostDelayedEvent(ptr.Pointer(), PointerFromQEvent(event), C.int(int32(delay))))) + } + return 0 +} + +func (ptr *QStateMachine) PostEvent(event QEvent_ITF, priority QStateMachine__EventPriority) { + if ptr.Pointer() != nil { + C.QStateMachine_PostEvent(ptr.Pointer(), PointerFromQEvent(event), C.longlong(priority)) + } +} + +func (ptr *QStateMachine) RemoveDefaultAnimation(animation QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QStateMachine_RemoveDefaultAnimation(ptr.Pointer(), PointerFromQAbstractAnimation(animation)) + } +} + +func (ptr *QStateMachine) RemoveState(state QAbstractState_ITF) { + if ptr.Pointer() != nil { + C.QStateMachine_RemoveState(ptr.Pointer(), PointerFromQAbstractState(state)) + } +} + +//export callbackQStateMachine_RunningChanged +func callbackQStateMachine_RunningChanged(ptr unsafe.Pointer, running C.char) { + if signal := qt.GetSignal(ptr, "runningChanged"); signal != nil { + (*(*func(bool))(signal))(int8(running) != 0) + } + +} + +func (ptr *QStateMachine) ConnectRunningChanged(f func(running bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "runningChanged") { + C.QStateMachine_ConnectRunningChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "runningChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "runningChanged"); signal != nil { + f := func(running bool) { + (*(*func(bool))(signal))(running) + f(running) + } + qt.ConnectSignal(ptr.Pointer(), "runningChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "runningChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStateMachine) DisconnectRunningChanged() { + if ptr.Pointer() != nil { + C.QStateMachine_DisconnectRunningChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "runningChanged") + } +} + +func (ptr *QStateMachine) RunningChanged(running bool) { + if ptr.Pointer() != nil { + C.QStateMachine_RunningChanged(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(running)))) + } +} + +func (ptr *QStateMachine) SetAnimated(enabled bool) { + if ptr.Pointer() != nil { + C.QStateMachine_SetAnimated(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QStateMachine) SetGlobalRestorePolicy(restorePolicy QState__RestorePolicy) { + if ptr.Pointer() != nil { + C.QStateMachine_SetGlobalRestorePolicy(ptr.Pointer(), C.longlong(restorePolicy)) + } +} + +//export callbackQStateMachine_SetRunning +func callbackQStateMachine_SetRunning(ptr unsafe.Pointer, running C.char) { + if signal := qt.GetSignal(ptr, "setRunning"); signal != nil { + (*(*func(bool))(signal))(int8(running) != 0) + } else { + NewQStateMachineFromPointer(ptr).SetRunningDefault(int8(running) != 0) + } +} + +func (ptr *QStateMachine) ConnectSetRunning(f func(running bool)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setRunning"); signal != nil { + f := func(running bool) { + (*(*func(bool))(signal))(running) + f(running) + } + qt.ConnectSignal(ptr.Pointer(), "setRunning", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setRunning", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStateMachine) DisconnectSetRunning() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setRunning") + } +} + +func (ptr *QStateMachine) SetRunning(running bool) { + if ptr.Pointer() != nil { + C.QStateMachine_SetRunning(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(running)))) + } +} + +func (ptr *QStateMachine) SetRunningDefault(running bool) { + if ptr.Pointer() != nil { + C.QStateMachine_SetRunningDefault(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(running)))) + } +} + +//export callbackQStateMachine_Start +func callbackQStateMachine_Start(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "start"); signal != nil { + (*(*func())(signal))() + } else { + NewQStateMachineFromPointer(ptr).StartDefault() + } +} + +func (ptr *QStateMachine) ConnectStart(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "start"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStateMachine) DisconnectStart() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "start") + } +} + +func (ptr *QStateMachine) Start() { + if ptr.Pointer() != nil { + C.QStateMachine_Start(ptr.Pointer()) + } +} + +func (ptr *QStateMachine) StartDefault() { + if ptr.Pointer() != nil { + C.QStateMachine_StartDefault(ptr.Pointer()) + } +} + +//export callbackQStateMachine_Started +func callbackQStateMachine_Started(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "started"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QStateMachine) ConnectStarted(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "started") { + C.QStateMachine_ConnectStarted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "started"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "started"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "started", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "started", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStateMachine) DisconnectStarted() { + if ptr.Pointer() != nil { + C.QStateMachine_DisconnectStarted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "started") + } +} + +//export callbackQStateMachine_Stop +func callbackQStateMachine_Stop(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "stop"); signal != nil { + (*(*func())(signal))() + } else { + NewQStateMachineFromPointer(ptr).StopDefault() + } +} + +func (ptr *QStateMachine) ConnectStop(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "stop"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStateMachine) DisconnectStop() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "stop") + } +} + +func (ptr *QStateMachine) Stop() { + if ptr.Pointer() != nil { + C.QStateMachine_Stop(ptr.Pointer()) + } +} + +func (ptr *QStateMachine) StopDefault() { + if ptr.Pointer() != nil { + C.QStateMachine_StopDefault(ptr.Pointer()) + } +} + +//export callbackQStateMachine_Stopped +func callbackQStateMachine_Stopped(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "stopped"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QStateMachine) ConnectStopped(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "stopped") { + C.QStateMachine_ConnectStopped(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "stopped"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "stopped"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "stopped", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stopped", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStateMachine) DisconnectStopped() { + if ptr.Pointer() != nil { + C.QStateMachine_DisconnectStopped(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "stopped") + } +} + +//export callbackQStateMachine_DestroyQStateMachine +func callbackQStateMachine_DestroyQStateMachine(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QStateMachine"); signal != nil { + (*(*func())(signal))() + } else { + NewQStateMachineFromPointer(ptr).DestroyQStateMachineDefault() + } +} + +func (ptr *QStateMachine) ConnectDestroyQStateMachine(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QStateMachine"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QStateMachine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QStateMachine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStateMachine) DisconnectDestroyQStateMachine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QStateMachine") + } +} + +func (ptr *QStateMachine) DestroyQStateMachine() { + if ptr.Pointer() != nil { + C.QStateMachine_DestroyQStateMachine(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QStateMachine) DestroyQStateMachineDefault() { + if ptr.Pointer() != nil { + C.QStateMachine_DestroyQStateMachineDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QStateMachine) __defaultAnimations_atList(i int) *QAbstractAnimation { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractAnimationFromPointer(C.QStateMachine___defaultAnimations_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStateMachine) __defaultAnimations_setList(i QAbstractAnimation_ITF) { + if ptr.Pointer() != nil { + C.QStateMachine___defaultAnimations_setList(ptr.Pointer(), PointerFromQAbstractAnimation(i)) + } +} + +func (ptr *QStateMachine) __defaultAnimations_newList() unsafe.Pointer { + return C.QStateMachine___defaultAnimations_newList(ptr.Pointer()) +} + +type QStaticByteArrayData struct { + ptr unsafe.Pointer +} + +type QStaticByteArrayData_ITF interface { + QStaticByteArrayData_PTR() *QStaticByteArrayData +} + +func (ptr *QStaticByteArrayData) QStaticByteArrayData_PTR() *QStaticByteArrayData { + return ptr +} + +func (ptr *QStaticByteArrayData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStaticByteArrayData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStaticByteArrayData(ptr QStaticByteArrayData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStaticByteArrayData_PTR().Pointer() + } + return nil +} + +func NewQStaticByteArrayDataFromPointer(ptr unsafe.Pointer) (n *QStaticByteArrayData) { + n = new(QStaticByteArrayData) + n.SetPointer(ptr) + return +} + +func (ptr *QStaticByteArrayData) DestroyQStaticByteArrayData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QStaticByteArrayMatcher struct { + ptr unsafe.Pointer +} + +type QStaticByteArrayMatcher_ITF interface { + QStaticByteArrayMatcher_PTR() *QStaticByteArrayMatcher +} + +func (ptr *QStaticByteArrayMatcher) QStaticByteArrayMatcher_PTR() *QStaticByteArrayMatcher { + return ptr +} + +func (ptr *QStaticByteArrayMatcher) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStaticByteArrayMatcher) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStaticByteArrayMatcher(ptr QStaticByteArrayMatcher_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStaticByteArrayMatcher_PTR().Pointer() + } + return nil +} + +func NewQStaticByteArrayMatcherFromPointer(ptr unsafe.Pointer) (n *QStaticByteArrayMatcher) { + n = new(QStaticByteArrayMatcher) + n.SetPointer(ptr) + return +} + +func (ptr *QStaticByteArrayMatcher) DestroyQStaticByteArrayMatcher() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QStaticPlugin struct { + ptr unsafe.Pointer +} + +type QStaticPlugin_ITF interface { + QStaticPlugin_PTR() *QStaticPlugin +} + +func (ptr *QStaticPlugin) QStaticPlugin_PTR() *QStaticPlugin { + return ptr +} + +func (ptr *QStaticPlugin) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStaticPlugin) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStaticPlugin(ptr QStaticPlugin_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStaticPlugin_PTR().Pointer() + } + return nil +} + +func NewQStaticPluginFromPointer(ptr unsafe.Pointer) (n *QStaticPlugin) { + n = new(QStaticPlugin) + n.SetPointer(ptr) + return +} + +func (ptr *QStaticPlugin) DestroyQStaticPlugin() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QStaticPlugin) Instance() *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QStaticPlugin_Instance(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStaticPlugin) MetaData() *QJsonObject { + if ptr.Pointer() != nil { + tmpValue := NewQJsonObjectFromPointer(C.QStaticPlugin_MetaData(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue + } + return nil +} + +func (ptr *QStaticPlugin) RawMetaData() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStaticPlugin_RawMetaData(ptr.Pointer())) + } + return "" +} + +type QStaticStringData struct { + ptr unsafe.Pointer +} + +type QStaticStringData_ITF interface { + QStaticStringData_PTR() *QStaticStringData +} + +func (ptr *QStaticStringData) QStaticStringData_PTR() *QStaticStringData { + return ptr +} + +func (ptr *QStaticStringData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStaticStringData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStaticStringData(ptr QStaticStringData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStaticStringData_PTR().Pointer() + } + return nil +} + +func NewQStaticStringDataFromPointer(ptr unsafe.Pointer) (n *QStaticStringData) { + n = new(QStaticStringData) + n.SetPointer(ptr) + return +} + +func (ptr *QStaticStringData) DestroyQStaticStringData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QStorageInfo struct { + ptr unsafe.Pointer +} + +type QStorageInfo_ITF interface { + QStorageInfo_PTR() *QStorageInfo +} + +func (ptr *QStorageInfo) QStorageInfo_PTR() *QStorageInfo { + return ptr +} + +func (ptr *QStorageInfo) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStorageInfo) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStorageInfo(ptr QStorageInfo_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStorageInfo_PTR().Pointer() + } + return nil +} + +func NewQStorageInfoFromPointer(ptr unsafe.Pointer) (n *QStorageInfo) { + n = new(QStorageInfo) + n.SetPointer(ptr) + return +} +func NewQStorageInfo() *QStorageInfo { + tmpValue := NewQStorageInfoFromPointer(C.QStorageInfo_NewQStorageInfo()) + runtime.SetFinalizer(tmpValue, (*QStorageInfo).DestroyQStorageInfo) + return tmpValue +} + +func NewQStorageInfo2(path string) *QStorageInfo { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + tmpValue := NewQStorageInfoFromPointer(C.QStorageInfo_NewQStorageInfo2(C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))})) + runtime.SetFinalizer(tmpValue, (*QStorageInfo).DestroyQStorageInfo) + return tmpValue +} + +func NewQStorageInfo3(dir QDir_ITF) *QStorageInfo { + tmpValue := NewQStorageInfoFromPointer(C.QStorageInfo_NewQStorageInfo3(PointerFromQDir(dir))) + runtime.SetFinalizer(tmpValue, (*QStorageInfo).DestroyQStorageInfo) + return tmpValue +} + +func NewQStorageInfo4(other QStorageInfo_ITF) *QStorageInfo { + tmpValue := NewQStorageInfoFromPointer(C.QStorageInfo_NewQStorageInfo4(PointerFromQStorageInfo(other))) + runtime.SetFinalizer(tmpValue, (*QStorageInfo).DestroyQStorageInfo) + return tmpValue +} + +func (ptr *QStorageInfo) BlockSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QStorageInfo_BlockSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStorageInfo) BytesAvailable() int64 { + if ptr.Pointer() != nil { + return int64(C.QStorageInfo_BytesAvailable(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStorageInfo) BytesFree() int64 { + if ptr.Pointer() != nil { + return int64(C.QStorageInfo_BytesFree(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStorageInfo) BytesTotal() int64 { + if ptr.Pointer() != nil { + return int64(C.QStorageInfo_BytesTotal(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStorageInfo) Device() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QStorageInfo_Device(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStorageInfo) DisplayName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStorageInfo_DisplayName(ptr.Pointer())) + } + return "" +} + +func (ptr *QStorageInfo) FileSystemType() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QStorageInfo_FileSystemType(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStorageInfo) IsReadOnly() bool { + if ptr.Pointer() != nil { + return int8(C.QStorageInfo_IsReadOnly(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStorageInfo) IsReady() bool { + if ptr.Pointer() != nil { + return int8(C.QStorageInfo_IsReady(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStorageInfo) IsRoot() bool { + if ptr.Pointer() != nil { + return int8(C.QStorageInfo_IsRoot(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStorageInfo) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QStorageInfo_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func QStorageInfo_MountedVolumes() []*QStorageInfo { + return func(l C.struct_QtCore_PackedList) []*QStorageInfo { + out := make([]*QStorageInfo, int(l.len)) + tmpList := NewQStorageInfoFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__mountedVolumes_atList(i) + } + return out + }(C.QStorageInfo_QStorageInfo_MountedVolumes()) +} + +func (ptr *QStorageInfo) MountedVolumes() []*QStorageInfo { + return func(l C.struct_QtCore_PackedList) []*QStorageInfo { + out := make([]*QStorageInfo, int(l.len)) + tmpList := NewQStorageInfoFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__mountedVolumes_atList(i) + } + return out + }(C.QStorageInfo_QStorageInfo_MountedVolumes()) +} + +func (ptr *QStorageInfo) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStorageInfo_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QStorageInfo) Refresh() { + if ptr.Pointer() != nil { + C.QStorageInfo_Refresh(ptr.Pointer()) + } +} + +func QStorageInfo_Root() *QStorageInfo { + tmpValue := NewQStorageInfoFromPointer(C.QStorageInfo_QStorageInfo_Root()) + runtime.SetFinalizer(tmpValue, (*QStorageInfo).DestroyQStorageInfo) + return tmpValue +} + +func (ptr *QStorageInfo) Root() *QStorageInfo { + tmpValue := NewQStorageInfoFromPointer(C.QStorageInfo_QStorageInfo_Root()) + runtime.SetFinalizer(tmpValue, (*QStorageInfo).DestroyQStorageInfo) + return tmpValue +} + +func (ptr *QStorageInfo) RootPath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStorageInfo_RootPath(ptr.Pointer())) + } + return "" +} + +func (ptr *QStorageInfo) SetPath(path string) { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QStorageInfo_SetPath(ptr.Pointer(), C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}) + } +} + +func (ptr *QStorageInfo) Subvolume() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QStorageInfo_Subvolume(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStorageInfo) Swap(other QStorageInfo_ITF) { + if ptr.Pointer() != nil { + C.QStorageInfo_Swap(ptr.Pointer(), PointerFromQStorageInfo(other)) + } +} + +func (ptr *QStorageInfo) DestroyQStorageInfo() { + if ptr.Pointer() != nil { + C.QStorageInfo_DestroyQStorageInfo(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QStorageInfo) __mountedVolumes_atList(i int) *QStorageInfo { + if ptr.Pointer() != nil { + tmpValue := NewQStorageInfoFromPointer(C.QStorageInfo___mountedVolumes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QStorageInfo).DestroyQStorageInfo) + return tmpValue + } + return nil +} + +func (ptr *QStorageInfo) __mountedVolumes_setList(i QStorageInfo_ITF) { + if ptr.Pointer() != nil { + C.QStorageInfo___mountedVolumes_setList(ptr.Pointer(), PointerFromQStorageInfo(i)) + } +} + +func (ptr *QStorageInfo) __mountedVolumes_newList() unsafe.Pointer { + return C.QStorageInfo___mountedVolumes_newList(ptr.Pointer()) +} + +type QString struct { + ptr unsafe.Pointer +} + +type QString_ITF interface { + QString_PTR() *QString +} + +func (ptr *QString) QString_PTR() *QString { + return ptr +} + +func (ptr *QString) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QString) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQString(ptr QString_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QString_PTR().Pointer() + } + return nil +} + +func NewQStringFromPointer(ptr unsafe.Pointer) (n *QString) { + n = new(QString) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QString__SectionFlag +//QString::SectionFlag +type QString__SectionFlag int64 + +const ( + QString__SectionDefault QString__SectionFlag = QString__SectionFlag(0x00) + QString__SectionSkipEmpty QString__SectionFlag = QString__SectionFlag(0x01) + QString__SectionIncludeLeadingSep QString__SectionFlag = QString__SectionFlag(0x02) + QString__SectionIncludeTrailingSep QString__SectionFlag = QString__SectionFlag(0x04) + QString__SectionCaseInsensitiveSeps QString__SectionFlag = QString__SectionFlag(0x08) +) + +//go:generate stringer -type=QString__SplitBehavior +//QString::SplitBehavior +type QString__SplitBehavior int64 + +const ( + QString__KeepEmptyParts QString__SplitBehavior = QString__SplitBehavior(0) + QString__SkipEmptyParts QString__SplitBehavior = QString__SplitBehavior(1) +) + +//go:generate stringer -type=QString__NormalizationForm +//QString::NormalizationForm +type QString__NormalizationForm int64 + +const ( + QString__NormalizationForm_D QString__NormalizationForm = QString__NormalizationForm(0) + QString__NormalizationForm_C QString__NormalizationForm = QString__NormalizationForm(1) + QString__NormalizationForm_KD QString__NormalizationForm = QString__NormalizationForm(2) + QString__NormalizationForm_KC QString__NormalizationForm = QString__NormalizationForm(3) +) + +type QStringBuilderCommon struct { + ptr unsafe.Pointer +} + +type QStringBuilderCommon_ITF interface { + QStringBuilderCommon_PTR() *QStringBuilderCommon +} + +func (ptr *QStringBuilderCommon) QStringBuilderCommon_PTR() *QStringBuilderCommon { + return ptr +} + +func (ptr *QStringBuilderCommon) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStringBuilderCommon) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStringBuilderCommon(ptr QStringBuilderCommon_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStringBuilderCommon_PTR().Pointer() + } + return nil +} + +func NewQStringBuilderCommonFromPointer(ptr unsafe.Pointer) (n *QStringBuilderCommon) { + n = new(QStringBuilderCommon) + n.SetPointer(ptr) + return +} + +func (ptr *QStringBuilderCommon) DestroyQStringBuilderCommon() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QStringList struct { + ptr unsafe.Pointer +} + +type QStringList_ITF interface { + QStringList_PTR() *QStringList +} + +func (ptr *QStringList) QStringList_PTR() *QStringList { + return ptr +} + +func (ptr *QStringList) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStringList) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStringList(ptr QStringList_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStringList_PTR().Pointer() + } + return nil +} + +func NewQStringListFromPointer(ptr unsafe.Pointer) (n *QStringList) { + n = new(QStringList) + n.SetPointer(ptr) + return +} + +func (ptr *QStringList) DestroyQStringList() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QStringListModel struct { + QAbstractListModel +} + +type QStringListModel_ITF interface { + QAbstractListModel_ITF + QStringListModel_PTR() *QStringListModel +} + +func (ptr *QStringListModel) QStringListModel_PTR() *QStringListModel { + return ptr +} + +func (ptr *QStringListModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractListModel_PTR().Pointer() + } + return nil +} + +func (ptr *QStringListModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractListModel_PTR().SetPointer(p) + } +} + +func PointerFromQStringListModel(ptr QStringListModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStringListModel_PTR().Pointer() + } + return nil +} + +func NewQStringListModelFromPointer(ptr unsafe.Pointer) (n *QStringListModel) { + n = new(QStringListModel) + n.SetPointer(ptr) + return +} +func NewQStringListModel(parent QObject_ITF) *QStringListModel { + tmpValue := NewQStringListModelFromPointer(C.QStringListModel_NewQStringListModel(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQStringListModel2(strin []string, parent QObject_ITF) *QStringListModel { + strinC := C.CString(strings.Join(strin, "¡¦!")) + defer C.free(unsafe.Pointer(strinC)) + tmpValue := NewQStringListModelFromPointer(C.QStringListModel_NewQStringListModel2(C.struct_QtCore_PackedString{data: strinC, len: C.longlong(len(strings.Join(strin, "¡¦!")))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQStringListModel_Data +func callbackQStringListModel_Data(ptr unsafe.Pointer, index unsafe.Pointer, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return PointerFromQVariant((*(*func(*QModelIndex, int) *QVariant)(signal))(NewQModelIndexFromPointer(index), int(int32(role)))) + } + + return PointerFromQVariant(NewQStringListModelFromPointer(ptr).DataDefault(NewQModelIndexFromPointer(index), int(int32(role)))) +} + +func (ptr *QStringListModel) ConnectData(f func(index *QModelIndex, role int) *QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "data"); signal != nil { + f := func(index *QModelIndex, role int) *QVariant { + (*(*func(*QModelIndex, int) *QVariant)(signal))(index, role) + return f(index, role) + } + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStringListModel) DisconnectData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "data") + } +} + +func (ptr *QStringListModel) Data(index QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QStringListModel_Data(ptr.Pointer(), PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QStringListModel) DataDefault(index QModelIndex_ITF, role int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QStringListModel_DataDefault(ptr.Pointer(), PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQStringListModel_RowCount +func callbackQStringListModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQStringListModelFromPointer(ptr).RowCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QStringListModel) ConnectRowCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStringListModel) DisconnectRowCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowCount") + } +} + +func (ptr *QStringListModel) RowCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringListModel_RowCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QStringListModel) RowCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringListModel_RowCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QStringListModel) SetStringList(strin []string) { + if ptr.Pointer() != nil { + strinC := C.CString(strings.Join(strin, "¡¦!")) + defer C.free(unsafe.Pointer(strinC)) + C.QStringListModel_SetStringList(ptr.Pointer(), C.struct_QtCore_PackedString{data: strinC, len: C.longlong(len(strings.Join(strin, "¡¦!")))}) + } +} + +func (ptr *QStringListModel) StringList() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QStringListModel_StringList(ptr.Pointer()))) + } + return make([]string, 0) +} + +type QStringMatcher struct { + ptr unsafe.Pointer +} + +type QStringMatcher_ITF interface { + QStringMatcher_PTR() *QStringMatcher +} + +func (ptr *QStringMatcher) QStringMatcher_PTR() *QStringMatcher { + return ptr +} + +func (ptr *QStringMatcher) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStringMatcher) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStringMatcher(ptr QStringMatcher_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStringMatcher_PTR().Pointer() + } + return nil +} + +func NewQStringMatcherFromPointer(ptr unsafe.Pointer) (n *QStringMatcher) { + n = new(QStringMatcher) + n.SetPointer(ptr) + return +} +func NewQStringMatcher() *QStringMatcher { + tmpValue := NewQStringMatcherFromPointer(C.QStringMatcher_NewQStringMatcher()) + runtime.SetFinalizer(tmpValue, (*QStringMatcher).DestroyQStringMatcher) + return tmpValue +} + +func NewQStringMatcher2(pattern string, cs Qt__CaseSensitivity) *QStringMatcher { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + tmpValue := NewQStringMatcherFromPointer(C.QStringMatcher_NewQStringMatcher2(C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}, C.longlong(cs))) + runtime.SetFinalizer(tmpValue, (*QStringMatcher).DestroyQStringMatcher) + return tmpValue +} + +func NewQStringMatcher3(uc QChar_ITF, length int, cs Qt__CaseSensitivity) *QStringMatcher { + tmpValue := NewQStringMatcherFromPointer(C.QStringMatcher_NewQStringMatcher3(PointerFromQChar(uc), C.int(int32(length)), C.longlong(cs))) + runtime.SetFinalizer(tmpValue, (*QStringMatcher).DestroyQStringMatcher) + return tmpValue +} + +func NewQStringMatcher4(other QStringMatcher_ITF) *QStringMatcher { + tmpValue := NewQStringMatcherFromPointer(C.QStringMatcher_NewQStringMatcher4(PointerFromQStringMatcher(other))) + runtime.SetFinalizer(tmpValue, (*QStringMatcher).DestroyQStringMatcher) + return tmpValue +} + +func (ptr *QStringMatcher) CaseSensitivity() Qt__CaseSensitivity { + if ptr.Pointer() != nil { + return Qt__CaseSensitivity(C.QStringMatcher_CaseSensitivity(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStringMatcher) IndexIn(str string, from int) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QStringMatcher_IndexIn(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.int(int32(from))))) + } + return 0 +} + +func (ptr *QStringMatcher) IndexIn2(str QChar_ITF, length int, from int) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringMatcher_IndexIn2(ptr.Pointer(), PointerFromQChar(str), C.int(int32(length)), C.int(int32(from))))) + } + return 0 +} + +func (ptr *QStringMatcher) Pattern() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStringMatcher_Pattern(ptr.Pointer())) + } + return "" +} + +func (ptr *QStringMatcher) SetCaseSensitivity(cs Qt__CaseSensitivity) { + if ptr.Pointer() != nil { + C.QStringMatcher_SetCaseSensitivity(ptr.Pointer(), C.longlong(cs)) + } +} + +func (ptr *QStringMatcher) SetPattern(pattern string) { + if ptr.Pointer() != nil { + var patternC *C.char + if pattern != "" { + patternC = C.CString(pattern) + defer C.free(unsafe.Pointer(patternC)) + } + C.QStringMatcher_SetPattern(ptr.Pointer(), C.struct_QtCore_PackedString{data: patternC, len: C.longlong(len(pattern))}) + } +} + +func (ptr *QStringMatcher) DestroyQStringMatcher() { + if ptr.Pointer() != nil { + C.QStringMatcher_DestroyQStringMatcher(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QStringRef struct { + ptr unsafe.Pointer +} + +type QStringRef_ITF interface { + QStringRef_PTR() *QStringRef +} + +func (ptr *QStringRef) QStringRef_PTR() *QStringRef { + return ptr +} + +func (ptr *QStringRef) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStringRef) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStringRef(ptr QStringRef_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStringRef_PTR().Pointer() + } + return nil +} + +func NewQStringRefFromPointer(ptr unsafe.Pointer) (n *QStringRef) { + n = new(QStringRef) + n.SetPointer(ptr) + return +} +func NewQStringRef() *QStringRef { + tmpValue := NewQStringRefFromPointer(C.QStringRef_NewQStringRef()) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue +} + +func NewQStringRef2(stri string, position int, length int) *QStringRef { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQStringRefFromPointer(C.QStringRef_NewQStringRef2(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.int(int32(position)), C.int(int32(length)))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue +} + +func NewQStringRef3(stri string) *QStringRef { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQStringRefFromPointer(C.QStringRef_NewQStringRef3(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))})) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue +} + +func NewQStringRef4(other QStringRef_ITF) *QStringRef { + tmpValue := NewQStringRefFromPointer(C.QStringRef_NewQStringRef4(PointerFromQStringRef(other))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue +} + +func (ptr *QStringRef) AppendTo(stri string) *QStringRef { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQStringRefFromPointer(C.QStringRef_AppendTo(ptr.Pointer(), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))})) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) At(position int) *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QStringRef_At(ptr.Pointer(), C.int(int32(position)))) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) Back() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QStringRef_Back(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) Chop(n int) { + if ptr.Pointer() != nil { + C.QStringRef_Chop(ptr.Pointer(), C.int(int32(n))) + } +} + +func (ptr *QStringRef) Chopped(l int) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QStringRef_Chopped(ptr.Pointer(), C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) Clear() { + if ptr.Pointer() != nil { + C.QStringRef_Clear(ptr.Pointer()) + } +} + +func QStringRef_Compare(s1 QStringRef_ITF, s2 string, cs Qt__CaseSensitivity) int { + var s2C *C.char + if s2 != "" { + s2C = C.CString(s2) + defer C.free(unsafe.Pointer(s2C)) + } + return int(int32(C.QStringRef_QStringRef_Compare(PointerFromQStringRef(s1), C.struct_QtCore_PackedString{data: s2C, len: C.longlong(len(s2))}, C.longlong(cs)))) +} + +func (ptr *QStringRef) Compare(s1 QStringRef_ITF, s2 string, cs Qt__CaseSensitivity) int { + var s2C *C.char + if s2 != "" { + s2C = C.CString(s2) + defer C.free(unsafe.Pointer(s2C)) + } + return int(int32(C.QStringRef_QStringRef_Compare(PointerFromQStringRef(s1), C.struct_QtCore_PackedString{data: s2C, len: C.longlong(len(s2))}, C.longlong(cs)))) +} + +func (ptr *QStringRef) Compare2(other string, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + var otherC *C.char + if other != "" { + otherC = C.CString(other) + defer C.free(unsafe.Pointer(otherC)) + } + return int(int32(C.QStringRef_Compare2(ptr.Pointer(), C.struct_QtCore_PackedString{data: otherC, len: C.longlong(len(other))}, C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) Compare3(other QStringRef_ITF, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_Compare3(ptr.Pointer(), PointerFromQStringRef(other), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) Compare4(other QLatin1String_ITF, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_Compare4(ptr.Pointer(), PointerFromQLatin1String(other), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) Compare5(other QByteArray_ITF, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_Compare5(ptr.Pointer(), PointerFromQByteArray(other), C.longlong(cs)))) + } + return 0 +} + +func QStringRef_Compare6(s1 QStringRef_ITF, s2 QStringRef_ITF, cs Qt__CaseSensitivity) int { + return int(int32(C.QStringRef_QStringRef_Compare6(PointerFromQStringRef(s1), PointerFromQStringRef(s2), C.longlong(cs)))) +} + +func (ptr *QStringRef) Compare6(s1 QStringRef_ITF, s2 QStringRef_ITF, cs Qt__CaseSensitivity) int { + return int(int32(C.QStringRef_QStringRef_Compare6(PointerFromQStringRef(s1), PointerFromQStringRef(s2), C.longlong(cs)))) +} + +func QStringRef_Compare7(s1 QStringRef_ITF, s2 QLatin1String_ITF, cs Qt__CaseSensitivity) int { + return int(int32(C.QStringRef_QStringRef_Compare7(PointerFromQStringRef(s1), PointerFromQLatin1String(s2), C.longlong(cs)))) +} + +func (ptr *QStringRef) Compare7(s1 QStringRef_ITF, s2 QLatin1String_ITF, cs Qt__CaseSensitivity) int { + return int(int32(C.QStringRef_QStringRef_Compare7(PointerFromQStringRef(s1), PointerFromQLatin1String(s2), C.longlong(cs)))) +} + +func (ptr *QStringRef) ConstData() *QChar { + if ptr.Pointer() != nil { + return NewQCharFromPointer(C.QStringRef_ConstData(ptr.Pointer())) + } + return nil +} + +func (ptr *QStringRef) Contains(str string, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int8(C.QStringRef_Contains(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) Contains2(ch QChar_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_Contains2(ptr.Pointer(), PointerFromQChar(ch), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) Contains3(str QLatin1String_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_Contains3(ptr.Pointer(), PointerFromQLatin1String(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) Contains4(str QStringRef_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_Contains4(ptr.Pointer(), PointerFromQStringRef(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) Count() int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_Count(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStringRef) Count2(str string, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QStringRef_Count2(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) Count3(ch QChar_ITF, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_Count3(ptr.Pointer(), PointerFromQChar(ch), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) Count4(str QStringRef_ITF, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_Count4(ptr.Pointer(), PointerFromQStringRef(str), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) Data() *QChar { + if ptr.Pointer() != nil { + return NewQCharFromPointer(C.QStringRef_Data(ptr.Pointer())) + } + return nil +} + +func (ptr *QStringRef) EndsWith(str string, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int8(C.QStringRef_EndsWith(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) EndsWith2(str QStringView_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_EndsWith2(ptr.Pointer(), PointerFromQStringView(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) EndsWith3(str QLatin1String_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_EndsWith3(ptr.Pointer(), PointerFromQLatin1String(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) EndsWith4(ch QChar_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_EndsWith4(ptr.Pointer(), PointerFromQChar(ch), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) EndsWith5(str QStringRef_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_EndsWith5(ptr.Pointer(), PointerFromQStringRef(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) Front() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QStringRef_Front(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) IndexOf(str string, from int, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QStringRef_IndexOf(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.int(int32(from)), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) IndexOf2(ch QChar_ITF, from int, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_IndexOf2(ptr.Pointer(), PointerFromQChar(ch), C.int(int32(from)), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) IndexOf3(str QLatin1String_ITF, from int, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_IndexOf3(ptr.Pointer(), PointerFromQLatin1String(str), C.int(int32(from)), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) IndexOf4(str QStringRef_ITF, from int, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_IndexOf4(ptr.Pointer(), PointerFromQStringRef(str), C.int(int32(from)), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStringRef) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStringRef) IsRightToLeft() bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_IsRightToLeft(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStringRef) LastIndexOf(str string, from int, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int(int32(C.QStringRef_LastIndexOf(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.int(int32(from)), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) LastIndexOf2(ch QChar_ITF, from int, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_LastIndexOf2(ptr.Pointer(), PointerFromQChar(ch), C.int(int32(from)), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) LastIndexOf3(str QLatin1String_ITF, from int, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_LastIndexOf3(ptr.Pointer(), PointerFromQLatin1String(str), C.int(int32(from)), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) LastIndexOf4(str QStringRef_ITF, from int, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_LastIndexOf4(ptr.Pointer(), PointerFromQStringRef(str), C.int(int32(from)), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringRef) Left(n int) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QStringRef_Left(ptr.Pointer(), C.int(int32(n)))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) Length() int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_Length(ptr.Pointer()))) + } + return 0 +} + +func QStringRef_LocaleAwareCompare(s1 QStringRef_ITF, s2 string) int { + var s2C *C.char + if s2 != "" { + s2C = C.CString(s2) + defer C.free(unsafe.Pointer(s2C)) + } + return int(int32(C.QStringRef_QStringRef_LocaleAwareCompare(PointerFromQStringRef(s1), C.struct_QtCore_PackedString{data: s2C, len: C.longlong(len(s2))}))) +} + +func (ptr *QStringRef) LocaleAwareCompare(s1 QStringRef_ITF, s2 string) int { + var s2C *C.char + if s2 != "" { + s2C = C.CString(s2) + defer C.free(unsafe.Pointer(s2C)) + } + return int(int32(C.QStringRef_QStringRef_LocaleAwareCompare(PointerFromQStringRef(s1), C.struct_QtCore_PackedString{data: s2C, len: C.longlong(len(s2))}))) +} + +func (ptr *QStringRef) LocaleAwareCompare2(other string) int { + if ptr.Pointer() != nil { + var otherC *C.char + if other != "" { + otherC = C.CString(other) + defer C.free(unsafe.Pointer(otherC)) + } + return int(int32(C.QStringRef_LocaleAwareCompare2(ptr.Pointer(), C.struct_QtCore_PackedString{data: otherC, len: C.longlong(len(other))}))) + } + return 0 +} + +func (ptr *QStringRef) LocaleAwareCompare3(other QStringRef_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_LocaleAwareCompare3(ptr.Pointer(), PointerFromQStringRef(other)))) + } + return 0 +} + +func QStringRef_LocaleAwareCompare4(s1 QStringRef_ITF, s2 QStringRef_ITF) int { + return int(int32(C.QStringRef_QStringRef_LocaleAwareCompare4(PointerFromQStringRef(s1), PointerFromQStringRef(s2)))) +} + +func (ptr *QStringRef) LocaleAwareCompare4(s1 QStringRef_ITF, s2 QStringRef_ITF) int { + return int(int32(C.QStringRef_QStringRef_LocaleAwareCompare4(PointerFromQStringRef(s1), PointerFromQStringRef(s2)))) +} + +func (ptr *QStringRef) Mid(position int, n int) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QStringRef_Mid(ptr.Pointer(), C.int(int32(position)), C.int(int32(n)))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) Position() int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_Position(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStringRef) Right(n int) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QStringRef_Right(ptr.Pointer(), C.int(int32(n)))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QStringRef_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStringRef) Split(sep string, behavior QString__SplitBehavior, cs Qt__CaseSensitivity) []*QStringRef { + if ptr.Pointer() != nil { + var sepC *C.char + if sep != "" { + sepC = C.CString(sep) + defer C.free(unsafe.Pointer(sepC)) + } + return func(l C.struct_QtCore_PackedList) []*QStringRef { + out := make([]*QStringRef, int(l.len)) + tmpList := NewQStringRefFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__split_atList(i) + } + return out + }(C.QStringRef_Split(ptr.Pointer(), C.struct_QtCore_PackedString{data: sepC, len: C.longlong(len(sep))}, C.longlong(behavior), C.longlong(cs))) + } + return make([]*QStringRef, 0) +} + +func (ptr *QStringRef) Split2(sep QChar_ITF, behavior QString__SplitBehavior, cs Qt__CaseSensitivity) []*QStringRef { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QStringRef { + out := make([]*QStringRef, int(l.len)) + tmpList := NewQStringRefFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__split_atList2(i) + } + return out + }(C.QStringRef_Split2(ptr.Pointer(), PointerFromQChar(sep), C.longlong(behavior), C.longlong(cs))) + } + return make([]*QStringRef, 0) +} + +func (ptr *QStringRef) StartsWith(str string, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return int8(C.QStringRef_StartsWith(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))}, C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) StartsWith2(str QStringView_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_StartsWith2(ptr.Pointer(), PointerFromQStringView(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) StartsWith3(str QLatin1String_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_StartsWith3(ptr.Pointer(), PointerFromQLatin1String(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) StartsWith4(ch QChar_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_StartsWith4(ptr.Pointer(), PointerFromQChar(ch), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) StartsWith5(str QStringRef_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringRef_StartsWith5(ptr.Pointer(), PointerFromQStringRef(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringRef) String() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStringRef_String(ptr.Pointer())) + } + return "" +} + +func (ptr *QStringRef) ToDouble(ok *bool) float64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float64(C.QStringRef_ToDouble(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QStringRef) ToFloat(ok *bool) float32 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float32(C.QStringRef_ToFloat(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QStringRef) ToInt(ok *bool, base int) int { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QStringRef_ToInt(ptr.Pointer(), &okC, C.int(int32(base))))) + } + return 0 +} + +func (ptr *QStringRef) ToLatin1() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QStringRef_ToLatin1(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) ToLocal8Bit() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QStringRef_ToLocal8Bit(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) ToLong(ok *bool, base int) int { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QStringRef_ToLong(ptr.Pointer(), &okC, C.int(int32(base))))) + } + return 0 +} + +func (ptr *QStringRef) ToLongLong(ok *bool, base int) int64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int64(C.QStringRef_ToLongLong(ptr.Pointer(), &okC, C.int(int32(base)))) + } + return 0 +} + +func (ptr *QStringRef) ToShort(ok *bool, base int) int16 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int16(C.QStringRef_ToShort(ptr.Pointer(), &okC, C.int(int32(base)))) + } + return 0 +} + +func (ptr *QStringRef) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStringRef_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QStringRef) ToUInt(ok *bool, base int) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QStringRef_ToUInt(ptr.Pointer(), &okC, C.int(int32(base))))) + } + return 0 +} + +func (ptr *QStringRef) ToULong(ok *bool, base int) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QStringRef_ToULong(ptr.Pointer(), &okC, C.int(int32(base))))) + } + return 0 +} + +func (ptr *QStringRef) ToULongLong(ok *bool, base int) uint64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint64(C.QStringRef_ToULongLong(ptr.Pointer(), &okC, C.int(int32(base)))) + } + return 0 +} + +func (ptr *QStringRef) ToUShort(ok *bool, base int) uint16 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint16(C.QStringRef_ToUShort(ptr.Pointer(), &okC, C.int(int32(base)))) + } + return 0 +} + +func (ptr *QStringRef) ToUcs4() []uint { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []uint { + out := make([]uint, int(l.len)) + tmpList := NewQStringRefFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toUcs4_atList(i) + } + return out + }(C.QStringRef_ToUcs4(ptr.Pointer())) + } + return make([]uint, 0) +} + +func (ptr *QStringRef) ToUtf8() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QStringRef_ToUtf8(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) Trimmed() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QStringRef_Trimmed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) Truncate(position int) { + if ptr.Pointer() != nil { + C.QStringRef_Truncate(ptr.Pointer(), C.int(int32(position))) + } +} + +func (ptr *QStringRef) Unicode() *QChar { + if ptr.Pointer() != nil { + return NewQCharFromPointer(C.QStringRef_Unicode(ptr.Pointer())) + } + return nil +} + +func (ptr *QStringRef) DestroyQStringRef() { + if ptr.Pointer() != nil { + C.QStringRef_DestroyQStringRef(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QStringRef) __split_atList(i int) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QStringRef___split_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) __split_setList(i QStringRef_ITF) { + if ptr.Pointer() != nil { + C.QStringRef___split_setList(ptr.Pointer(), PointerFromQStringRef(i)) + } +} + +func (ptr *QStringRef) __split_newList() unsafe.Pointer { + return C.QStringRef___split_newList(ptr.Pointer()) +} + +func (ptr *QStringRef) __split_atList2(i int) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QStringRef___split_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QStringRef) __split_setList2(i QStringRef_ITF) { + if ptr.Pointer() != nil { + C.QStringRef___split_setList2(ptr.Pointer(), PointerFromQStringRef(i)) + } +} + +func (ptr *QStringRef) __split_newList2() unsafe.Pointer { + return C.QStringRef___split_newList2(ptr.Pointer()) +} + +func (ptr *QStringRef) __toUcs4_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QStringRef___toUcs4_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStringRef) __toUcs4_setList(i uint) { + if ptr.Pointer() != nil { + C.QStringRef___toUcs4_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QStringRef) __toUcs4_newList() unsafe.Pointer { + return C.QStringRef___toUcs4_newList(ptr.Pointer()) +} + +type QStringView struct { + ptr unsafe.Pointer +} + +type QStringView_ITF interface { + QStringView_PTR() *QStringView +} + +func (ptr *QStringView) QStringView_PTR() *QStringView { + return ptr +} + +func (ptr *QStringView) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStringView) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStringView(ptr QStringView_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStringView_PTR().Pointer() + } + return nil +} + +func NewQStringViewFromPointer(ptr unsafe.Pointer) (n *QStringView) { + n = new(QStringView) + n.SetPointer(ptr) + return +} + +func (ptr *QStringView) DestroyQStringView() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQStringView() *QStringView { + tmpValue := NewQStringViewFromPointer(C.QStringView_NewQStringView()) + runtime.SetFinalizer(tmpValue, (*QStringView).DestroyQStringView) + return tmpValue +} + +func NewQStringView7(str string) *QStringView { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQStringViewFromPointer(C.QStringView_NewQStringView7(C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) + runtime.SetFinalizer(tmpValue, (*QStringView).DestroyQStringView) + return tmpValue +} + +func NewQStringView8(str QStringRef_ITF) *QStringView { + tmpValue := NewQStringViewFromPointer(C.QStringView_NewQStringView8(PointerFromQStringRef(str))) + runtime.SetFinalizer(tmpValue, (*QStringView).DestroyQStringView) + return tmpValue +} + +func (ptr *QStringView) Back() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QStringView_Back(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QStringView) Compare(other QStringView_ITF, cs Qt__CaseSensitivity) int { + if ptr.Pointer() != nil { + return int(int32(C.QStringView_Compare(ptr.Pointer(), PointerFromQStringView(other), C.longlong(cs)))) + } + return 0 +} + +func (ptr *QStringView) Empty() bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_Empty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStringView) EndsWith(str QStringView_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_EndsWith(ptr.Pointer(), PointerFromQStringView(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringView) EndsWith2(l1 QLatin1String_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_EndsWith2(ptr.Pointer(), PointerFromQLatin1String(l1), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringView) EndsWith3(ch QChar_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_EndsWith3(ptr.Pointer(), PointerFromQChar(ch))) != 0 + } + return false +} + +func (ptr *QStringView) EndsWith4(ch QChar_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_EndsWith4(ptr.Pointer(), PointerFromQChar(ch), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringView) First() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QStringView_First(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QStringView) Front() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QStringView_Front(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QStringView) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStringView) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStringView) IsRightToLeft() bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_IsRightToLeft(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStringView) Last() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QStringView_Last(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QStringView) Length() int { + if ptr.Pointer() != nil { + return int(int32(C.QStringView_Length(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStringView) StartsWith(str QStringView_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_StartsWith(ptr.Pointer(), PointerFromQStringView(str), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringView) StartsWith2(l1 QLatin1String_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_StartsWith2(ptr.Pointer(), PointerFromQLatin1String(l1), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringView) StartsWith3(ch QChar_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_StartsWith3(ptr.Pointer(), PointerFromQChar(ch))) != 0 + } + return false +} + +func (ptr *QStringView) StartsWith4(ch QChar_ITF, cs Qt__CaseSensitivity) bool { + if ptr.Pointer() != nil { + return int8(C.QStringView_StartsWith4(ptr.Pointer(), PointerFromQChar(ch), C.longlong(cs))) != 0 + } + return false +} + +func (ptr *QStringView) ToLatin1() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QStringView_ToLatin1(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStringView) ToLocal8Bit() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QStringView_ToLocal8Bit(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStringView) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStringView_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QStringView) ToUcs4() []uint { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []uint { + out := make([]uint, int(l.len)) + tmpList := NewQStringViewFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toUcs4_atList(i) + } + return out + }(C.QStringView_ToUcs4(ptr.Pointer())) + } + return make([]uint, 0) +} + +func (ptr *QStringView) ToUtf8() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QStringView_ToUtf8(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStringView) Trimmed() *QStringView { + if ptr.Pointer() != nil { + tmpValue := NewQStringViewFromPointer(C.QStringView_Trimmed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringView).DestroyQStringView) + return tmpValue + } + return nil +} + +func (ptr *QStringView) __convertToUcs4_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QStringView___convertToUcs4_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStringView) __convertToUcs4_setList(i uint) { + if ptr.Pointer() != nil { + C.QStringView___convertToUcs4_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QStringView) __convertToUcs4_newList() unsafe.Pointer { + return C.QStringView___convertToUcs4_newList(ptr.Pointer()) +} + +func (ptr *QStringView) __toUcs4_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QStringView___toUcs4_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStringView) __toUcs4_setList(i uint) { + if ptr.Pointer() != nil { + C.QStringView___toUcs4_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QStringView) __toUcs4_newList() unsafe.Pointer { + return C.QStringView___toUcs4_newList(ptr.Pointer()) +} + +type QSysInfo struct { + ptr unsafe.Pointer +} + +type QSysInfo_ITF interface { + QSysInfo_PTR() *QSysInfo +} + +func (ptr *QSysInfo) QSysInfo_PTR() *QSysInfo { + return ptr +} + +func (ptr *QSysInfo) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSysInfo) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSysInfo(ptr QSysInfo_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSysInfo_PTR().Pointer() + } + return nil +} + +func NewQSysInfoFromPointer(ptr unsafe.Pointer) (n *QSysInfo) { + n = new(QSysInfo) + n.SetPointer(ptr) + return +} + +func (ptr *QSysInfo) DestroyQSysInfo() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QSysInfo__Sizes +//QSysInfo::Sizes +type QSysInfo__Sizes int64 + +var ( + QSysInfo__WordSize QSysInfo__Sizes = QSysInfo__Sizes(C.QSysInfo_WordSize_Type()) +) + +//go:generate stringer -type=QSysInfo__Endian +//QSysInfo::Endian +type QSysInfo__Endian int64 + +const ( + QSysInfo__BigEndian QSysInfo__Endian = QSysInfo__Endian(0) + QSysInfo__LittleEndian QSysInfo__Endian = QSysInfo__Endian(1) +) + +func QSysInfo_BootUniqueId() *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QSysInfo_QSysInfo_BootUniqueId()) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QSysInfo) BootUniqueId() *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QSysInfo_QSysInfo_BootUniqueId()) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QSysInfo_BuildAbi() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_BuildAbi()) +} + +func (ptr *QSysInfo) BuildAbi() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_BuildAbi()) +} + +func QSysInfo_BuildCpuArchitecture() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_BuildCpuArchitecture()) +} + +func (ptr *QSysInfo) BuildCpuArchitecture() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_BuildCpuArchitecture()) +} + +func QSysInfo_CurrentCpuArchitecture() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_CurrentCpuArchitecture()) +} + +func (ptr *QSysInfo) CurrentCpuArchitecture() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_CurrentCpuArchitecture()) +} + +func QSysInfo_KernelType() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_KernelType()) +} + +func (ptr *QSysInfo) KernelType() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_KernelType()) +} + +func QSysInfo_KernelVersion() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_KernelVersion()) +} + +func (ptr *QSysInfo) KernelVersion() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_KernelVersion()) +} + +func QSysInfo_MachineHostName() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_MachineHostName()) +} + +func (ptr *QSysInfo) MachineHostName() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_MachineHostName()) +} + +func QSysInfo_MachineUniqueId() *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QSysInfo_QSysInfo_MachineUniqueId()) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QSysInfo) MachineUniqueId() *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QSysInfo_QSysInfo_MachineUniqueId()) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QSysInfo_PrettyProductName() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_PrettyProductName()) +} + +func (ptr *QSysInfo) PrettyProductName() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_PrettyProductName()) +} + +func QSysInfo_ProductType() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_ProductType()) +} + +func (ptr *QSysInfo) ProductType() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_ProductType()) +} + +func QSysInfo_ProductVersion() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_ProductVersion()) +} + +func (ptr *QSysInfo) ProductVersion() string { + return cGoUnpackString(C.QSysInfo_QSysInfo_ProductVersion()) +} + +type QSystemSemaphore struct { + ptr unsafe.Pointer +} + +type QSystemSemaphore_ITF interface { + QSystemSemaphore_PTR() *QSystemSemaphore +} + +func (ptr *QSystemSemaphore) QSystemSemaphore_PTR() *QSystemSemaphore { + return ptr +} + +func (ptr *QSystemSemaphore) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSystemSemaphore) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSystemSemaphore(ptr QSystemSemaphore_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSystemSemaphore_PTR().Pointer() + } + return nil +} + +func NewQSystemSemaphoreFromPointer(ptr unsafe.Pointer) (n *QSystemSemaphore) { + n = new(QSystemSemaphore) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSystemSemaphore__AccessMode +//QSystemSemaphore::AccessMode +type QSystemSemaphore__AccessMode int64 + +const ( + QSystemSemaphore__Open QSystemSemaphore__AccessMode = QSystemSemaphore__AccessMode(0) + QSystemSemaphore__Create QSystemSemaphore__AccessMode = QSystemSemaphore__AccessMode(1) +) + +//go:generate stringer -type=QSystemSemaphore__SystemSemaphoreError +//QSystemSemaphore::SystemSemaphoreError +type QSystemSemaphore__SystemSemaphoreError int64 + +const ( + QSystemSemaphore__NoError QSystemSemaphore__SystemSemaphoreError = QSystemSemaphore__SystemSemaphoreError(0) + QSystemSemaphore__PermissionDenied QSystemSemaphore__SystemSemaphoreError = QSystemSemaphore__SystemSemaphoreError(1) + QSystemSemaphore__KeyError QSystemSemaphore__SystemSemaphoreError = QSystemSemaphore__SystemSemaphoreError(2) + QSystemSemaphore__AlreadyExists QSystemSemaphore__SystemSemaphoreError = QSystemSemaphore__SystemSemaphoreError(3) + QSystemSemaphore__NotFound QSystemSemaphore__SystemSemaphoreError = QSystemSemaphore__SystemSemaphoreError(4) + QSystemSemaphore__OutOfResources QSystemSemaphore__SystemSemaphoreError = QSystemSemaphore__SystemSemaphoreError(5) + QSystemSemaphore__UnknownError QSystemSemaphore__SystemSemaphoreError = QSystemSemaphore__SystemSemaphoreError(6) +) + +func NewQSystemSemaphore(key string, initialValue int, mode QSystemSemaphore__AccessMode) *QSystemSemaphore { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := NewQSystemSemaphoreFromPointer(C.QSystemSemaphore_NewQSystemSemaphore(C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, C.int(int32(initialValue)), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QSystemSemaphore).DestroyQSystemSemaphore) + return tmpValue +} + +func (ptr *QSystemSemaphore) Acquire() bool { + if ptr.Pointer() != nil { + return int8(C.QSystemSemaphore_Acquire(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSystemSemaphore) Error() QSystemSemaphore__SystemSemaphoreError { + if ptr.Pointer() != nil { + return QSystemSemaphore__SystemSemaphoreError(C.QSystemSemaphore_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSystemSemaphore) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSystemSemaphore_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QSystemSemaphore) Key() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSystemSemaphore_Key(ptr.Pointer())) + } + return "" +} + +func (ptr *QSystemSemaphore) Release(n int) bool { + if ptr.Pointer() != nil { + return int8(C.QSystemSemaphore_Release(ptr.Pointer(), C.int(int32(n)))) != 0 + } + return false +} + +func (ptr *QSystemSemaphore) SetKey(key string, initialValue int, mode QSystemSemaphore__AccessMode) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QSystemSemaphore_SetKey(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, C.int(int32(initialValue)), C.longlong(mode)) + } +} + +func (ptr *QSystemSemaphore) DestroyQSystemSemaphore() { + if ptr.Pointer() != nil { + C.QSystemSemaphore_DestroyQSystemSemaphore(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTemporaryDir struct { + ptr unsafe.Pointer +} + +type QTemporaryDir_ITF interface { + QTemporaryDir_PTR() *QTemporaryDir +} + +func (ptr *QTemporaryDir) QTemporaryDir_PTR() *QTemporaryDir { + return ptr +} + +func (ptr *QTemporaryDir) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTemporaryDir) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTemporaryDir(ptr QTemporaryDir_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTemporaryDir_PTR().Pointer() + } + return nil +} + +func NewQTemporaryDirFromPointer(ptr unsafe.Pointer) (n *QTemporaryDir) { + n = new(QTemporaryDir) + n.SetPointer(ptr) + return +} +func NewQTemporaryDir() *QTemporaryDir { + tmpValue := NewQTemporaryDirFromPointer(C.QTemporaryDir_NewQTemporaryDir()) + runtime.SetFinalizer(tmpValue, (*QTemporaryDir).DestroyQTemporaryDir) + return tmpValue +} + +func NewQTemporaryDir2(templatePath string) *QTemporaryDir { + var templatePathC *C.char + if templatePath != "" { + templatePathC = C.CString(templatePath) + defer C.free(unsafe.Pointer(templatePathC)) + } + tmpValue := NewQTemporaryDirFromPointer(C.QTemporaryDir_NewQTemporaryDir2(C.struct_QtCore_PackedString{data: templatePathC, len: C.longlong(len(templatePath))})) + runtime.SetFinalizer(tmpValue, (*QTemporaryDir).DestroyQTemporaryDir) + return tmpValue +} + +func (ptr *QTemporaryDir) AutoRemove() bool { + if ptr.Pointer() != nil { + return int8(C.QTemporaryDir_AutoRemove(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTemporaryDir) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTemporaryDir_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QTemporaryDir) FilePath(fileName string) string { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return cGoUnpackString(C.QTemporaryDir_FilePath(ptr.Pointer(), C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + } + return "" +} + +func (ptr *QTemporaryDir) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTemporaryDir_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTemporaryDir) Path() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTemporaryDir_Path(ptr.Pointer())) + } + return "" +} + +func (ptr *QTemporaryDir) Remove() bool { + if ptr.Pointer() != nil { + return int8(C.QTemporaryDir_Remove(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTemporaryDir) SetAutoRemove(b bool) { + if ptr.Pointer() != nil { + C.QTemporaryDir_SetAutoRemove(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(b)))) + } +} + +func (ptr *QTemporaryDir) DestroyQTemporaryDir() { + if ptr.Pointer() != nil { + C.QTemporaryDir_DestroyQTemporaryDir(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTemporaryFile struct { + QFile +} + +type QTemporaryFile_ITF interface { + QFile_ITF + QTemporaryFile_PTR() *QTemporaryFile +} + +func (ptr *QTemporaryFile) QTemporaryFile_PTR() *QTemporaryFile { + return ptr +} + +func (ptr *QTemporaryFile) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QFile_PTR().Pointer() + } + return nil +} + +func (ptr *QTemporaryFile) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QFile_PTR().SetPointer(p) + } +} + +func PointerFromQTemporaryFile(ptr QTemporaryFile_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTemporaryFile_PTR().Pointer() + } + return nil +} + +func NewQTemporaryFileFromPointer(ptr unsafe.Pointer) (n *QTemporaryFile) { + n = new(QTemporaryFile) + n.SetPointer(ptr) + return +} +func NewQTemporaryFile() *QTemporaryFile { + tmpValue := NewQTemporaryFileFromPointer(C.QTemporaryFile_NewQTemporaryFile()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQTemporaryFile2(templateName string) *QTemporaryFile { + var templateNameC *C.char + if templateName != "" { + templateNameC = C.CString(templateName) + defer C.free(unsafe.Pointer(templateNameC)) + } + tmpValue := NewQTemporaryFileFromPointer(C.QTemporaryFile_NewQTemporaryFile2(C.struct_QtCore_PackedString{data: templateNameC, len: C.longlong(len(templateName))})) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQTemporaryFile3(parent QObject_ITF) *QTemporaryFile { + tmpValue := NewQTemporaryFileFromPointer(C.QTemporaryFile_NewQTemporaryFile3(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQTemporaryFile4(templateName string, parent QObject_ITF) *QTemporaryFile { + var templateNameC *C.char + if templateName != "" { + templateNameC = C.CString(templateName) + defer C.free(unsafe.Pointer(templateNameC)) + } + tmpValue := NewQTemporaryFileFromPointer(C.QTemporaryFile_NewQTemporaryFile4(C.struct_QtCore_PackedString{data: templateNameC, len: C.longlong(len(templateName))}, PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QTemporaryFile) AutoRemove() bool { + if ptr.Pointer() != nil { + return int8(C.QTemporaryFile_AutoRemove(ptr.Pointer())) != 0 + } + return false +} + +func QTemporaryFile_CreateNativeFile(file QFile_ITF) *QTemporaryFile { + tmpValue := NewQTemporaryFileFromPointer(C.QTemporaryFile_QTemporaryFile_CreateNativeFile(PointerFromQFile(file))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QTemporaryFile) CreateNativeFile(file QFile_ITF) *QTemporaryFile { + tmpValue := NewQTemporaryFileFromPointer(C.QTemporaryFile_QTemporaryFile_CreateNativeFile(PointerFromQFile(file))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QTemporaryFile_CreateNativeFile2(fileName string) *QTemporaryFile { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQTemporaryFileFromPointer(C.QTemporaryFile_QTemporaryFile_CreateNativeFile2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QTemporaryFile) CreateNativeFile2(fileName string) *QTemporaryFile { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQTemporaryFileFromPointer(C.QTemporaryFile_QTemporaryFile_CreateNativeFile2(C.struct_QtCore_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QTemporaryFile) FileTemplate() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTemporaryFile_FileTemplate(ptr.Pointer())) + } + return "" +} + +func (ptr *QTemporaryFile) Open() bool { + if ptr.Pointer() != nil { + return int8(C.QTemporaryFile_Open(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTemporaryFile) SetAutoRemove(b bool) { + if ptr.Pointer() != nil { + C.QTemporaryFile_SetAutoRemove(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(b)))) + } +} + +func (ptr *QTemporaryFile) SetFileTemplate(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QTemporaryFile_SetFileTemplate(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +//export callbackQTemporaryFile_DestroyQTemporaryFile +func callbackQTemporaryFile_DestroyQTemporaryFile(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTemporaryFile"); signal != nil { + (*(*func())(signal))() + } else { + NewQTemporaryFileFromPointer(ptr).DestroyQTemporaryFileDefault() + } +} + +func (ptr *QTemporaryFile) ConnectDestroyQTemporaryFile(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTemporaryFile"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTemporaryFile", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTemporaryFile", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTemporaryFile) DisconnectDestroyQTemporaryFile() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTemporaryFile") + } +} + +func (ptr *QTemporaryFile) DestroyQTemporaryFile() { + if ptr.Pointer() != nil { + C.QTemporaryFile_DestroyQTemporaryFile(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTemporaryFile) DestroyQTemporaryFileDefault() { + if ptr.Pointer() != nil { + C.QTemporaryFile_DestroyQTemporaryFileDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextBoundaryFinder struct { + ptr unsafe.Pointer +} + +type QTextBoundaryFinder_ITF interface { + QTextBoundaryFinder_PTR() *QTextBoundaryFinder +} + +func (ptr *QTextBoundaryFinder) QTextBoundaryFinder_PTR() *QTextBoundaryFinder { + return ptr +} + +func (ptr *QTextBoundaryFinder) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextBoundaryFinder) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextBoundaryFinder(ptr QTextBoundaryFinder_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextBoundaryFinder_PTR().Pointer() + } + return nil +} + +func NewQTextBoundaryFinderFromPointer(ptr unsafe.Pointer) (n *QTextBoundaryFinder) { + n = new(QTextBoundaryFinder) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTextBoundaryFinder__BoundaryType +//QTextBoundaryFinder::BoundaryType +type QTextBoundaryFinder__BoundaryType int64 + +const ( + QTextBoundaryFinder__Grapheme QTextBoundaryFinder__BoundaryType = QTextBoundaryFinder__BoundaryType(0) + QTextBoundaryFinder__Word QTextBoundaryFinder__BoundaryType = QTextBoundaryFinder__BoundaryType(1) + QTextBoundaryFinder__Sentence QTextBoundaryFinder__BoundaryType = QTextBoundaryFinder__BoundaryType(2) + QTextBoundaryFinder__Line QTextBoundaryFinder__BoundaryType = QTextBoundaryFinder__BoundaryType(3) +) + +//go:generate stringer -type=QTextBoundaryFinder__BoundaryReason +//QTextBoundaryFinder::BoundaryReason +type QTextBoundaryFinder__BoundaryReason int64 + +const ( + QTextBoundaryFinder__NotAtBoundary QTextBoundaryFinder__BoundaryReason = QTextBoundaryFinder__BoundaryReason(0) + QTextBoundaryFinder__BreakOpportunity QTextBoundaryFinder__BoundaryReason = QTextBoundaryFinder__BoundaryReason(0x1f) + QTextBoundaryFinder__StartOfItem QTextBoundaryFinder__BoundaryReason = QTextBoundaryFinder__BoundaryReason(0x20) + QTextBoundaryFinder__EndOfItem QTextBoundaryFinder__BoundaryReason = QTextBoundaryFinder__BoundaryReason(0x40) + QTextBoundaryFinder__MandatoryBreak QTextBoundaryFinder__BoundaryReason = QTextBoundaryFinder__BoundaryReason(0x80) + QTextBoundaryFinder__SoftHyphen QTextBoundaryFinder__BoundaryReason = QTextBoundaryFinder__BoundaryReason(0x100) +) + +func NewQTextBoundaryFinder() *QTextBoundaryFinder { + tmpValue := NewQTextBoundaryFinderFromPointer(C.QTextBoundaryFinder_NewQTextBoundaryFinder()) + runtime.SetFinalizer(tmpValue, (*QTextBoundaryFinder).DestroyQTextBoundaryFinder) + return tmpValue +} + +func NewQTextBoundaryFinder2(other QTextBoundaryFinder_ITF) *QTextBoundaryFinder { + tmpValue := NewQTextBoundaryFinderFromPointer(C.QTextBoundaryFinder_NewQTextBoundaryFinder2(PointerFromQTextBoundaryFinder(other))) + runtime.SetFinalizer(tmpValue, (*QTextBoundaryFinder).DestroyQTextBoundaryFinder) + return tmpValue +} + +func NewQTextBoundaryFinder3(ty QTextBoundaryFinder__BoundaryType, stri string) *QTextBoundaryFinder { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQTextBoundaryFinderFromPointer(C.QTextBoundaryFinder_NewQTextBoundaryFinder3(C.longlong(ty), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))})) + runtime.SetFinalizer(tmpValue, (*QTextBoundaryFinder).DestroyQTextBoundaryFinder) + return tmpValue +} + +func (ptr *QTextBoundaryFinder) BoundaryReasons() QTextBoundaryFinder__BoundaryReason { + if ptr.Pointer() != nil { + return QTextBoundaryFinder__BoundaryReason(C.QTextBoundaryFinder_BoundaryReasons(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBoundaryFinder) IsAtBoundary() bool { + if ptr.Pointer() != nil { + return int8(C.QTextBoundaryFinder_IsAtBoundary(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextBoundaryFinder) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTextBoundaryFinder_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextBoundaryFinder) Position() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBoundaryFinder_Position(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBoundaryFinder) SetPosition(position int) { + if ptr.Pointer() != nil { + C.QTextBoundaryFinder_SetPosition(ptr.Pointer(), C.int(int32(position))) + } +} + +func (ptr *QTextBoundaryFinder) String() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextBoundaryFinder_String(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextBoundaryFinder) ToEnd() { + if ptr.Pointer() != nil { + C.QTextBoundaryFinder_ToEnd(ptr.Pointer()) + } +} + +func (ptr *QTextBoundaryFinder) ToNextBoundary() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBoundaryFinder_ToNextBoundary(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBoundaryFinder) ToPreviousBoundary() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBoundaryFinder_ToPreviousBoundary(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBoundaryFinder) ToStart() { + if ptr.Pointer() != nil { + C.QTextBoundaryFinder_ToStart(ptr.Pointer()) + } +} + +func (ptr *QTextBoundaryFinder) Type() QTextBoundaryFinder__BoundaryType { + if ptr.Pointer() != nil { + return QTextBoundaryFinder__BoundaryType(C.QTextBoundaryFinder_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBoundaryFinder) DestroyQTextBoundaryFinder() { + if ptr.Pointer() != nil { + C.QTextBoundaryFinder_DestroyQTextBoundaryFinder(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextCodec struct { + ptr unsafe.Pointer +} + +type QTextCodec_ITF interface { + QTextCodec_PTR() *QTextCodec +} + +func (ptr *QTextCodec) QTextCodec_PTR() *QTextCodec { + return ptr +} + +func (ptr *QTextCodec) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextCodec) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextCodec(ptr QTextCodec_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextCodec_PTR().Pointer() + } + return nil +} + +func NewQTextCodecFromPointer(ptr unsafe.Pointer) (n *QTextCodec) { + n = new(QTextCodec) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTextCodec__ConversionFlag +//QTextCodec::ConversionFlag +type QTextCodec__ConversionFlag int64 + +const ( + QTextCodec__DefaultConversion QTextCodec__ConversionFlag = QTextCodec__ConversionFlag(0) + QTextCodec__ConvertInvalidToNull QTextCodec__ConversionFlag = QTextCodec__ConversionFlag(0x80000000) + QTextCodec__IgnoreHeader QTextCodec__ConversionFlag = QTextCodec__ConversionFlag(0x1) + QTextCodec__FreeFunction QTextCodec__ConversionFlag = QTextCodec__ConversionFlag(0x2) +) + +//export callbackQTextCodec_Aliases +func callbackQTextCodec_Aliases(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "aliases"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQTextCodecFromPointer(NewQTextCodecFromPointer(nil).__aliases_newList()) + for _, v := range (*(*func() []*QByteArray)(signal))() { + tmpList.__aliases_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQTextCodecFromPointer(NewQTextCodecFromPointer(nil).__aliases_newList()) + for _, v := range NewQTextCodecFromPointer(ptr).AliasesDefault() { + tmpList.__aliases_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QTextCodec) ConnectAliases(f func() []*QByteArray) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "aliases"); signal != nil { + f := func() []*QByteArray { + (*(*func() []*QByteArray)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "aliases", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "aliases", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextCodec) DisconnectAliases() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "aliases") + } +} + +func (ptr *QTextCodec) Aliases() []*QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTextCodecFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__aliases_atList(i) + } + return out + }(C.QTextCodec_Aliases(ptr.Pointer())) + } + return make([]*QByteArray, 0) +} + +func (ptr *QTextCodec) AliasesDefault() []*QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTextCodecFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__aliases_atList(i) + } + return out + }(C.QTextCodec_AliasesDefault(ptr.Pointer())) + } + return make([]*QByteArray, 0) +} + +func QTextCodec_AvailableCodecs() []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTextCodecFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableCodecs_atList(i) + } + return out + }(C.QTextCodec_QTextCodec_AvailableCodecs()) +} + +func (ptr *QTextCodec) AvailableCodecs() []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTextCodecFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableCodecs_atList(i) + } + return out + }(C.QTextCodec_QTextCodec_AvailableCodecs()) +} + +func QTextCodec_AvailableMibs() []int { + return func(l C.struct_QtCore_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQTextCodecFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableMibs_atList(i) + } + return out + }(C.QTextCodec_QTextCodec_AvailableMibs()) +} + +func (ptr *QTextCodec) AvailableMibs() []int { + return func(l C.struct_QtCore_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQTextCodecFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableMibs_atList(i) + } + return out + }(C.QTextCodec_QTextCodec_AvailableMibs()) +} + +func (ptr *QTextCodec) CanEncode(ch QChar_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTextCodec_CanEncode(ptr.Pointer(), PointerFromQChar(ch))) != 0 + } + return false +} + +func (ptr *QTextCodec) CanEncode2(s string) bool { + if ptr.Pointer() != nil { + var sC *C.char + if s != "" { + sC = C.CString(s) + defer C.free(unsafe.Pointer(sC)) + } + return int8(C.QTextCodec_CanEncode2(ptr.Pointer(), C.struct_QtCore_PackedString{data: sC, len: C.longlong(len(s))})) != 0 + } + return false +} + +func (ptr *QTextCodec) CanEncode3(s QStringView_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTextCodec_CanEncode3(ptr.Pointer(), PointerFromQStringView(s))) != 0 + } + return false +} + +func QTextCodec_CodecForHtml(ba QByteArray_ITF, defaultCodec QTextCodec_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForHtml(PointerFromQByteArray(ba), PointerFromQTextCodec(defaultCodec))) +} + +func (ptr *QTextCodec) CodecForHtml(ba QByteArray_ITF, defaultCodec QTextCodec_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForHtml(PointerFromQByteArray(ba), PointerFromQTextCodec(defaultCodec))) +} + +func QTextCodec_CodecForHtml2(ba QByteArray_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForHtml2(PointerFromQByteArray(ba))) +} + +func (ptr *QTextCodec) CodecForHtml2(ba QByteArray_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForHtml2(PointerFromQByteArray(ba))) +} + +func QTextCodec_CodecForLocale() *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForLocale()) +} + +func (ptr *QTextCodec) CodecForLocale() *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForLocale()) +} + +func QTextCodec_CodecForMib(mib int) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForMib(C.int(int32(mib)))) +} + +func (ptr *QTextCodec) CodecForMib(mib int) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForMib(C.int(int32(mib)))) +} + +func QTextCodec_CodecForName(name QByteArray_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForName(PointerFromQByteArray(name))) +} + +func (ptr *QTextCodec) CodecForName(name QByteArray_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForName(PointerFromQByteArray(name))) +} + +func QTextCodec_CodecForName2(name string) *QTextCodec { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForName2(nameC)) +} + +func (ptr *QTextCodec) CodecForName2(name string) *QTextCodec { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForName2(nameC)) +} + +func QTextCodec_CodecForUtfText(ba QByteArray_ITF, defaultCodec QTextCodec_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForUtfText(PointerFromQByteArray(ba), PointerFromQTextCodec(defaultCodec))) +} + +func (ptr *QTextCodec) CodecForUtfText(ba QByteArray_ITF, defaultCodec QTextCodec_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForUtfText(PointerFromQByteArray(ba), PointerFromQTextCodec(defaultCodec))) +} + +func QTextCodec_CodecForUtfText2(ba QByteArray_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForUtfText2(PointerFromQByteArray(ba))) +} + +func (ptr *QTextCodec) CodecForUtfText2(ba QByteArray_ITF) *QTextCodec { + return NewQTextCodecFromPointer(C.QTextCodec_QTextCodec_CodecForUtfText2(PointerFromQByteArray(ba))) +} + +func (ptr *QTextCodec) FromUnicode(str string) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QTextCodec_FromUnicode(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextCodec) FromUnicode2(str QStringView_ITF) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTextCodec_FromUnicode2(ptr.Pointer(), PointerFromQStringView(str))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextCodec) MakeDecoder(flags QTextCodec__ConversionFlag) *QTextDecoder { + if ptr.Pointer() != nil { + return NewQTextDecoderFromPointer(C.QTextCodec_MakeDecoder(ptr.Pointer(), C.longlong(flags))) + } + return nil +} + +func (ptr *QTextCodec) MakeEncoder(flags QTextCodec__ConversionFlag) *QTextEncoder { + if ptr.Pointer() != nil { + return NewQTextEncoderFromPointer(C.QTextCodec_MakeEncoder(ptr.Pointer(), C.longlong(flags))) + } + return nil +} + +//export callbackQTextCodec_MibEnum +func callbackQTextCodec_MibEnum(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "mibEnum"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QTextCodec) ConnectMibEnum(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mibEnum"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "mibEnum", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mibEnum", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextCodec) DisconnectMibEnum() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mibEnum") + } +} + +func (ptr *QTextCodec) MibEnum() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCodec_MibEnum(ptr.Pointer()))) + } + return 0 +} + +//export callbackQTextCodec_Name +func callbackQTextCodec_Name(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "name"); signal != nil { + return PointerFromQByteArray((*(*func() *QByteArray)(signal))()) + } + + return PointerFromQByteArray(NewQByteArray()) +} + +func (ptr *QTextCodec) ConnectName(f func() *QByteArray) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "name"); signal != nil { + f := func() *QByteArray { + (*(*func() *QByteArray)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "name", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "name", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextCodec) DisconnectName() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "name") + } +} + +func (ptr *QTextCodec) Name() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTextCodec_Name(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func QTextCodec_SetCodecForLocale(c QTextCodec_ITF) { + C.QTextCodec_QTextCodec_SetCodecForLocale(PointerFromQTextCodec(c)) +} + +func (ptr *QTextCodec) SetCodecForLocale(c QTextCodec_ITF) { + C.QTextCodec_QTextCodec_SetCodecForLocale(PointerFromQTextCodec(c)) +} + +func (ptr *QTextCodec) ToUnicode(a QByteArray_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextCodec_ToUnicode(ptr.Pointer(), PointerFromQByteArray(a))) + } + return "" +} + +func (ptr *QTextCodec) ToUnicode2(chars string) string { + if ptr.Pointer() != nil { + var charsC *C.char + if chars != "" { + charsC = C.CString(chars) + defer C.free(unsafe.Pointer(charsC)) + } + return cGoUnpackString(C.QTextCodec_ToUnicode2(ptr.Pointer(), charsC)) + } + return "" +} + +//export callbackQTextCodec_DestroyQTextCodec +func callbackQTextCodec_DestroyQTextCodec(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTextCodec"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextCodecFromPointer(ptr).DestroyQTextCodecDefault() + } +} + +func (ptr *QTextCodec) ConnectDestroyQTextCodec(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTextCodec"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTextCodec", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTextCodec", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextCodec) DisconnectDestroyQTextCodec() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTextCodec") + } +} + +func (ptr *QTextCodec) DestroyQTextCodec() { + if ptr.Pointer() != nil { + C.QTextCodec_DestroyQTextCodec(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextCodec) DestroyQTextCodecDefault() { + if ptr.Pointer() != nil { + C.QTextCodec_DestroyQTextCodecDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextCodec) __aliases_atList(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTextCodec___aliases_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextCodec) __aliases_setList(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTextCodec___aliases_setList(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QTextCodec) __aliases_newList() unsafe.Pointer { + return C.QTextCodec___aliases_newList(ptr.Pointer()) +} + +func (ptr *QTextCodec) __availableCodecs_atList(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTextCodec___availableCodecs_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextCodec) __availableCodecs_setList(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTextCodec___availableCodecs_setList(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QTextCodec) __availableCodecs_newList() unsafe.Pointer { + return C.QTextCodec___availableCodecs_newList(ptr.Pointer()) +} + +func (ptr *QTextCodec) __availableMibs_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCodec___availableMibs_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QTextCodec) __availableMibs_setList(i int) { + if ptr.Pointer() != nil { + C.QTextCodec___availableMibs_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QTextCodec) __availableMibs_newList() unsafe.Pointer { + return C.QTextCodec___availableMibs_newList(ptr.Pointer()) +} + +type QTextDecoder struct { + ptr unsafe.Pointer +} + +type QTextDecoder_ITF interface { + QTextDecoder_PTR() *QTextDecoder +} + +func (ptr *QTextDecoder) QTextDecoder_PTR() *QTextDecoder { + return ptr +} + +func (ptr *QTextDecoder) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextDecoder) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextDecoder(ptr QTextDecoder_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextDecoder_PTR().Pointer() + } + return nil +} + +func NewQTextDecoderFromPointer(ptr unsafe.Pointer) (n *QTextDecoder) { + n = new(QTextDecoder) + n.SetPointer(ptr) + return +} +func NewQTextDecoder2(codec QTextCodec_ITF) *QTextDecoder { + tmpValue := NewQTextDecoderFromPointer(C.QTextDecoder_NewQTextDecoder2(PointerFromQTextCodec(codec))) + runtime.SetFinalizer(tmpValue, (*QTextDecoder).DestroyQTextDecoder) + return tmpValue +} + +func NewQTextDecoder3(codec QTextCodec_ITF, flags QTextCodec__ConversionFlag) *QTextDecoder { + tmpValue := NewQTextDecoderFromPointer(C.QTextDecoder_NewQTextDecoder3(PointerFromQTextCodec(codec), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QTextDecoder).DestroyQTextDecoder) + return tmpValue +} + +func (ptr *QTextDecoder) ToUnicode(chars string, l int) string { + if ptr.Pointer() != nil { + var charsC *C.char + if chars != "" { + charsC = C.CString(chars) + defer C.free(unsafe.Pointer(charsC)) + } + return cGoUnpackString(C.QTextDecoder_ToUnicode(ptr.Pointer(), charsC, C.int(int32(l)))) + } + return "" +} + +func (ptr *QTextDecoder) ToUnicode2(ba QByteArray_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextDecoder_ToUnicode2(ptr.Pointer(), PointerFromQByteArray(ba))) + } + return "" +} + +func (ptr *QTextDecoder) ToUnicode3(target string, chars string, l int) { + if ptr.Pointer() != nil { + var targetC *C.char + if target != "" { + targetC = C.CString(target) + defer C.free(unsafe.Pointer(targetC)) + } + var charsC *C.char + if chars != "" { + charsC = C.CString(chars) + defer C.free(unsafe.Pointer(charsC)) + } + C.QTextDecoder_ToUnicode3(ptr.Pointer(), C.struct_QtCore_PackedString{data: targetC, len: C.longlong(len(target))}, charsC, C.int(int32(l))) + } +} + +func (ptr *QTextDecoder) DestroyQTextDecoder() { + if ptr.Pointer() != nil { + C.QTextDecoder_DestroyQTextDecoder(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextEncoder struct { + ptr unsafe.Pointer +} + +type QTextEncoder_ITF interface { + QTextEncoder_PTR() *QTextEncoder +} + +func (ptr *QTextEncoder) QTextEncoder_PTR() *QTextEncoder { + return ptr +} + +func (ptr *QTextEncoder) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextEncoder) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextEncoder(ptr QTextEncoder_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextEncoder_PTR().Pointer() + } + return nil +} + +func NewQTextEncoderFromPointer(ptr unsafe.Pointer) (n *QTextEncoder) { + n = new(QTextEncoder) + n.SetPointer(ptr) + return +} +func NewQTextEncoder2(codec QTextCodec_ITF) *QTextEncoder { + tmpValue := NewQTextEncoderFromPointer(C.QTextEncoder_NewQTextEncoder2(PointerFromQTextCodec(codec))) + runtime.SetFinalizer(tmpValue, (*QTextEncoder).DestroyQTextEncoder) + return tmpValue +} + +func NewQTextEncoder3(codec QTextCodec_ITF, flags QTextCodec__ConversionFlag) *QTextEncoder { + tmpValue := NewQTextEncoderFromPointer(C.QTextEncoder_NewQTextEncoder3(PointerFromQTextCodec(codec), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QTextEncoder).DestroyQTextEncoder) + return tmpValue +} + +func (ptr *QTextEncoder) FromUnicode(str string) *QByteArray { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQByteArrayFromPointer(C.QTextEncoder_FromUnicode(ptr.Pointer(), C.struct_QtCore_PackedString{data: strC, len: C.longlong(len(str))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextEncoder) FromUnicode2(str QStringView_ITF) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTextEncoder_FromUnicode2(ptr.Pointer(), PointerFromQStringView(str))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextEncoder) FromUnicode3(uc QChar_ITF, l int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTextEncoder_FromUnicode3(ptr.Pointer(), PointerFromQChar(uc), C.int(int32(l)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextEncoder) DestroyQTextEncoder() { + if ptr.Pointer() != nil { + C.QTextEncoder_DestroyQTextEncoder(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextStream struct { + ptr unsafe.Pointer +} + +type QTextStream_ITF interface { + QTextStream_PTR() *QTextStream +} + +func (ptr *QTextStream) QTextStream_PTR() *QTextStream { + return ptr +} + +func (ptr *QTextStream) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextStream) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextStream(ptr QTextStream_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextStream_PTR().Pointer() + } + return nil +} + +func NewQTextStreamFromPointer(ptr unsafe.Pointer) (n *QTextStream) { + n = new(QTextStream) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTextStream__RealNumberNotation +//QTextStream::RealNumberNotation +type QTextStream__RealNumberNotation int64 + +const ( + QTextStream__SmartNotation QTextStream__RealNumberNotation = QTextStream__RealNumberNotation(0) + QTextStream__FixedNotation QTextStream__RealNumberNotation = QTextStream__RealNumberNotation(1) + QTextStream__ScientificNotation QTextStream__RealNumberNotation = QTextStream__RealNumberNotation(2) +) + +//go:generate stringer -type=QTextStream__FieldAlignment +//QTextStream::FieldAlignment +type QTextStream__FieldAlignment int64 + +const ( + QTextStream__AlignLeft QTextStream__FieldAlignment = QTextStream__FieldAlignment(0) + QTextStream__AlignRight QTextStream__FieldAlignment = QTextStream__FieldAlignment(1) + QTextStream__AlignCenter QTextStream__FieldAlignment = QTextStream__FieldAlignment(2) + QTextStream__AlignAccountingStyle QTextStream__FieldAlignment = QTextStream__FieldAlignment(3) +) + +//go:generate stringer -type=QTextStream__Status +//QTextStream::Status +type QTextStream__Status int64 + +const ( + QTextStream__Ok QTextStream__Status = QTextStream__Status(0) + QTextStream__ReadPastEnd QTextStream__Status = QTextStream__Status(1) + QTextStream__ReadCorruptData QTextStream__Status = QTextStream__Status(2) + QTextStream__WriteFailed QTextStream__Status = QTextStream__Status(3) +) + +//go:generate stringer -type=QTextStream__NumberFlag +//QTextStream::NumberFlag +type QTextStream__NumberFlag int64 + +const ( + QTextStream__ShowBase QTextStream__NumberFlag = QTextStream__NumberFlag(0x1) + QTextStream__ForcePoint QTextStream__NumberFlag = QTextStream__NumberFlag(0x2) + QTextStream__ForceSign QTextStream__NumberFlag = QTextStream__NumberFlag(0x4) + QTextStream__UppercaseBase QTextStream__NumberFlag = QTextStream__NumberFlag(0x8) + QTextStream__UppercaseDigits QTextStream__NumberFlag = QTextStream__NumberFlag(0x10) +) + +func NewQTextStream() *QTextStream { + tmpValue := NewQTextStreamFromPointer(C.QTextStream_NewQTextStream()) + runtime.SetFinalizer(tmpValue, (*QTextStream).DestroyQTextStream) + return tmpValue +} + +func NewQTextStream2(device QIODevice_ITF) *QTextStream { + tmpValue := NewQTextStreamFromPointer(C.QTextStream_NewQTextStream2(PointerFromQIODevice(device))) + runtime.SetFinalizer(tmpValue, (*QTextStream).DestroyQTextStream) + return tmpValue +} + +func NewQTextStream4(stri string, openMode QIODevice__OpenModeFlag) *QTextStream { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQTextStreamFromPointer(C.QTextStream_NewQTextStream4(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(openMode))) + runtime.SetFinalizer(tmpValue, (*QTextStream).DestroyQTextStream) + return tmpValue +} + +func NewQTextStream5(array QByteArray_ITF, openMode QIODevice__OpenModeFlag) *QTextStream { + tmpValue := NewQTextStreamFromPointer(C.QTextStream_NewQTextStream5(PointerFromQByteArray(array), C.longlong(openMode))) + runtime.SetFinalizer(tmpValue, (*QTextStream).DestroyQTextStream) + return tmpValue +} + +func NewQTextStream6(array QByteArray_ITF, openMode QIODevice__OpenModeFlag) *QTextStream { + tmpValue := NewQTextStreamFromPointer(C.QTextStream_NewQTextStream6(PointerFromQByteArray(array), C.longlong(openMode))) + runtime.SetFinalizer(tmpValue, (*QTextStream).DestroyQTextStream) + return tmpValue +} + +func (ptr *QTextStream) AtEnd() bool { + if ptr.Pointer() != nil { + return int8(C.QTextStream_AtEnd(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextStream) AutoDetectUnicode() bool { + if ptr.Pointer() != nil { + return int8(C.QTextStream_AutoDetectUnicode(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextStream) Codec() *QTextCodec { + if ptr.Pointer() != nil { + return NewQTextCodecFromPointer(C.QTextStream_Codec(ptr.Pointer())) + } + return nil +} + +func (ptr *QTextStream) Device() *QIODevice { + if ptr.Pointer() != nil { + tmpValue := NewQIODeviceFromPointer(C.QTextStream_Device(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextStream) FieldAlignment() QTextStream__FieldAlignment { + if ptr.Pointer() != nil { + return QTextStream__FieldAlignment(C.QTextStream_FieldAlignment(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextStream) FieldWidth() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextStream_FieldWidth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextStream) Flush() { + if ptr.Pointer() != nil { + C.QTextStream_Flush(ptr.Pointer()) + } +} + +func (ptr *QTextStream) GenerateByteOrderMark() bool { + if ptr.Pointer() != nil { + return int8(C.QTextStream_GenerateByteOrderMark(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextStream) IntegerBase() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextStream_IntegerBase(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextStream) Locale() *QLocale { + if ptr.Pointer() != nil { + tmpValue := NewQLocaleFromPointer(C.QTextStream_Locale(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue + } + return nil +} + +func (ptr *QTextStream) NumberFlags() QTextStream__NumberFlag { + if ptr.Pointer() != nil { + return QTextStream__NumberFlag(C.QTextStream_NumberFlags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextStream) PadChar() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QTextStream_PadChar(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QTextStream) Pos() int64 { + if ptr.Pointer() != nil { + return int64(C.QTextStream_Pos(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextStream) Read(maxlen int64) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextStream_Read(ptr.Pointer(), C.longlong(maxlen))) + } + return "" +} + +func (ptr *QTextStream) ReadAll() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextStream_ReadAll(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextStream) ReadLine(maxlen int64) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextStream_ReadLine(ptr.Pointer(), C.longlong(maxlen))) + } + return "" +} + +func (ptr *QTextStream) ReadLineInto(line string, maxlen int64) bool { + if ptr.Pointer() != nil { + var lineC *C.char + if line != "" { + lineC = C.CString(line) + defer C.free(unsafe.Pointer(lineC)) + } + return int8(C.QTextStream_ReadLineInto(ptr.Pointer(), C.struct_QtCore_PackedString{data: lineC, len: C.longlong(len(line))}, C.longlong(maxlen))) != 0 + } + return false +} + +func (ptr *QTextStream) RealNumberNotation() QTextStream__RealNumberNotation { + if ptr.Pointer() != nil { + return QTextStream__RealNumberNotation(C.QTextStream_RealNumberNotation(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextStream) RealNumberPrecision() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextStream_RealNumberPrecision(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextStream) Reset() { + if ptr.Pointer() != nil { + C.QTextStream_Reset(ptr.Pointer()) + } +} + +func (ptr *QTextStream) ResetStatus() { + if ptr.Pointer() != nil { + C.QTextStream_ResetStatus(ptr.Pointer()) + } +} + +func (ptr *QTextStream) Seek(pos int64) bool { + if ptr.Pointer() != nil { + return int8(C.QTextStream_Seek(ptr.Pointer(), C.longlong(pos))) != 0 + } + return false +} + +func (ptr *QTextStream) SetAutoDetectUnicode(enabled bool) { + if ptr.Pointer() != nil { + C.QTextStream_SetAutoDetectUnicode(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QTextStream) SetCodec(codec QTextCodec_ITF) { + if ptr.Pointer() != nil { + C.QTextStream_SetCodec(ptr.Pointer(), PointerFromQTextCodec(codec)) + } +} + +func (ptr *QTextStream) SetCodec2(codecName string) { + if ptr.Pointer() != nil { + var codecNameC *C.char + if codecName != "" { + codecNameC = C.CString(codecName) + defer C.free(unsafe.Pointer(codecNameC)) + } + C.QTextStream_SetCodec2(ptr.Pointer(), codecNameC) + } +} + +func (ptr *QTextStream) SetDevice(device QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QTextStream_SetDevice(ptr.Pointer(), PointerFromQIODevice(device)) + } +} + +func (ptr *QTextStream) SetFieldAlignment(mode QTextStream__FieldAlignment) { + if ptr.Pointer() != nil { + C.QTextStream_SetFieldAlignment(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QTextStream) SetFieldWidth(width int) { + if ptr.Pointer() != nil { + C.QTextStream_SetFieldWidth(ptr.Pointer(), C.int(int32(width))) + } +} + +func (ptr *QTextStream) SetGenerateByteOrderMark(generate bool) { + if ptr.Pointer() != nil { + C.QTextStream_SetGenerateByteOrderMark(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(generate)))) + } +} + +func (ptr *QTextStream) SetIntegerBase(base int) { + if ptr.Pointer() != nil { + C.QTextStream_SetIntegerBase(ptr.Pointer(), C.int(int32(base))) + } +} + +func (ptr *QTextStream) SetLocale(locale QLocale_ITF) { + if ptr.Pointer() != nil { + C.QTextStream_SetLocale(ptr.Pointer(), PointerFromQLocale(locale)) + } +} + +func (ptr *QTextStream) SetNumberFlags(flags QTextStream__NumberFlag) { + if ptr.Pointer() != nil { + C.QTextStream_SetNumberFlags(ptr.Pointer(), C.longlong(flags)) + } +} + +func (ptr *QTextStream) SetPadChar(ch QChar_ITF) { + if ptr.Pointer() != nil { + C.QTextStream_SetPadChar(ptr.Pointer(), PointerFromQChar(ch)) + } +} + +func (ptr *QTextStream) SetRealNumberNotation(notation QTextStream__RealNumberNotation) { + if ptr.Pointer() != nil { + C.QTextStream_SetRealNumberNotation(ptr.Pointer(), C.longlong(notation)) + } +} + +func (ptr *QTextStream) SetRealNumberPrecision(precision int) { + if ptr.Pointer() != nil { + C.QTextStream_SetRealNumberPrecision(ptr.Pointer(), C.int(int32(precision))) + } +} + +func (ptr *QTextStream) SetStatus(status QTextStream__Status) { + if ptr.Pointer() != nil { + C.QTextStream_SetStatus(ptr.Pointer(), C.longlong(status)) + } +} + +func (ptr *QTextStream) SetString(stri string, openMode QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + C.QTextStream_SetString(ptr.Pointer(), C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(openMode)) + } +} + +func (ptr *QTextStream) SkipWhiteSpace() { + if ptr.Pointer() != nil { + C.QTextStream_SkipWhiteSpace(ptr.Pointer()) + } +} + +func (ptr *QTextStream) Status() QTextStream__Status { + if ptr.Pointer() != nil { + return QTextStream__Status(C.QTextStream_Status(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextStream) String() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextStream_String(ptr.Pointer())) + } + return "" +} + +//export callbackQTextStream_DestroyQTextStream +func callbackQTextStream_DestroyQTextStream(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTextStream"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextStreamFromPointer(ptr).DestroyQTextStreamDefault() + } +} + +func (ptr *QTextStream) ConnectDestroyQTextStream(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTextStream"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTextStream", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTextStream", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextStream) DisconnectDestroyQTextStream() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTextStream") + } +} + +func (ptr *QTextStream) DestroyQTextStream() { + if ptr.Pointer() != nil { + C.QTextStream_DestroyQTextStream(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextStream) DestroyQTextStreamDefault() { + if ptr.Pointer() != nil { + C.QTextStream_DestroyQTextStreamDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextStreamManipulator struct { + ptr unsafe.Pointer +} + +type QTextStreamManipulator_ITF interface { + QTextStreamManipulator_PTR() *QTextStreamManipulator +} + +func (ptr *QTextStreamManipulator) QTextStreamManipulator_PTR() *QTextStreamManipulator { + return ptr +} + +func (ptr *QTextStreamManipulator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextStreamManipulator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextStreamManipulator(ptr QTextStreamManipulator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextStreamManipulator_PTR().Pointer() + } + return nil +} + +func NewQTextStreamManipulatorFromPointer(ptr unsafe.Pointer) (n *QTextStreamManipulator) { + n = new(QTextStreamManipulator) + n.SetPointer(ptr) + return +} + +func (ptr *QTextStreamManipulator) DestroyQTextStreamManipulator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QThread struct { + QObject +} + +type QThread_ITF interface { + QObject_ITF + QThread_PTR() *QThread +} + +func (ptr *QThread) QThread_PTR() *QThread { + return ptr +} + +func (ptr *QThread) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QThread) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQThread(ptr QThread_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QThread_PTR().Pointer() + } + return nil +} + +func NewQThreadFromPointer(ptr unsafe.Pointer) (n *QThread) { + n = new(QThread) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QThread__Priority +//QThread::Priority +type QThread__Priority int64 + +const ( + QThread__IdlePriority QThread__Priority = QThread__Priority(0) + QThread__LowestPriority QThread__Priority = QThread__Priority(1) + QThread__LowPriority QThread__Priority = QThread__Priority(2) + QThread__NormalPriority QThread__Priority = QThread__Priority(3) + QThread__HighPriority QThread__Priority = QThread__Priority(4) + QThread__HighestPriority QThread__Priority = QThread__Priority(5) + QThread__TimeCriticalPriority QThread__Priority = QThread__Priority(6) + QThread__InheritPriority QThread__Priority = QThread__Priority(7) +) + +func NewQThread(parent QObject_ITF) *QThread { + tmpValue := NewQThreadFromPointer(C.QThread_NewQThread(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QThread_CurrentThread() *QThread { + tmpValue := NewQThreadFromPointer(C.QThread_QThread_CurrentThread()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QThread) CurrentThread() *QThread { + tmpValue := NewQThreadFromPointer(C.QThread_QThread_CurrentThread()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QThread) EventDispatcher() *QAbstractEventDispatcher { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractEventDispatcherFromPointer(C.QThread_EventDispatcher(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QThread) Exec() int { + if ptr.Pointer() != nil { + return int(int32(C.QThread_Exec(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QThread) Exit(returnCode int) { + if ptr.Pointer() != nil { + C.QThread_Exit(ptr.Pointer(), C.int(int32(returnCode))) + } +} + +//export callbackQThread_Finished +func callbackQThread_Finished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "finished"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QThread) ConnectFinished(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "finished") { + C.QThread_ConnectFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "finished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "finished"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QThread) DisconnectFinished() { + if ptr.Pointer() != nil { + C.QThread_DisconnectFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "finished") + } +} + +func QThread_IdealThreadCount() int { + return int(int32(C.QThread_QThread_IdealThreadCount())) +} + +func (ptr *QThread) IdealThreadCount() int { + return int(int32(C.QThread_QThread_IdealThreadCount())) +} + +func (ptr *QThread) IsFinished() bool { + if ptr.Pointer() != nil { + return int8(C.QThread_IsFinished(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QThread) IsInterruptionRequested() bool { + if ptr.Pointer() != nil { + return int8(C.QThread_IsInterruptionRequested(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QThread) IsRunning() bool { + if ptr.Pointer() != nil { + return int8(C.QThread_IsRunning(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QThread) LoopLevel() int { + if ptr.Pointer() != nil { + return int(int32(C.QThread_LoopLevel(ptr.Pointer()))) + } + return 0 +} + +func QThread_Msleep(msecs uint) { + C.QThread_QThread_Msleep(C.ulong(uint32(msecs))) +} + +func (ptr *QThread) Msleep(msecs uint) { + C.QThread_QThread_Msleep(C.ulong(uint32(msecs))) +} + +func (ptr *QThread) Priority() QThread__Priority { + if ptr.Pointer() != nil { + return QThread__Priority(C.QThread_Priority(ptr.Pointer())) + } + return 0 +} + +//export callbackQThread_Quit +func callbackQThread_Quit(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "quit"); signal != nil { + (*(*func())(signal))() + } else { + NewQThreadFromPointer(ptr).QuitDefault() + } +} + +func (ptr *QThread) ConnectQuit(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "quit"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "quit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "quit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QThread) DisconnectQuit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "quit") + } +} + +func (ptr *QThread) Quit() { + if ptr.Pointer() != nil { + C.QThread_Quit(ptr.Pointer()) + } +} + +func (ptr *QThread) QuitDefault() { + if ptr.Pointer() != nil { + C.QThread_QuitDefault(ptr.Pointer()) + } +} + +func (ptr *QThread) RequestInterruption() { + if ptr.Pointer() != nil { + C.QThread_RequestInterruption(ptr.Pointer()) + } +} + +//export callbackQThread_Run +func callbackQThread_Run(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "run"); signal != nil { + (*(*func())(signal))() + } else { + NewQThreadFromPointer(ptr).RunDefault() + } +} + +func (ptr *QThread) ConnectRun(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "run"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "run", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "run", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QThread) DisconnectRun() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "run") + } +} + +func (ptr *QThread) Run() { + if ptr.Pointer() != nil { + C.QThread_Run(ptr.Pointer()) + } +} + +func (ptr *QThread) RunDefault() { + if ptr.Pointer() != nil { + C.QThread_RunDefault(ptr.Pointer()) + } +} + +func (ptr *QThread) SetEventDispatcher(eventDispatcher QAbstractEventDispatcher_ITF) { + if ptr.Pointer() != nil { + C.QThread_SetEventDispatcher(ptr.Pointer(), PointerFromQAbstractEventDispatcher(eventDispatcher)) + } +} + +func (ptr *QThread) SetPriority(priority QThread__Priority) { + if ptr.Pointer() != nil { + C.QThread_SetPriority(ptr.Pointer(), C.longlong(priority)) + } +} + +func (ptr *QThread) SetStackSize(stackSize uint) { + if ptr.Pointer() != nil { + C.QThread_SetStackSize(ptr.Pointer(), C.uint(uint32(stackSize))) + } +} + +func QThread_SetTerminationEnabled(enabled bool) { + C.QThread_QThread_SetTerminationEnabled(C.char(int8(qt.GoBoolToInt(enabled)))) +} + +func (ptr *QThread) SetTerminationEnabled(enabled bool) { + C.QThread_QThread_SetTerminationEnabled(C.char(int8(qt.GoBoolToInt(enabled)))) +} + +func QThread_Sleep(secs uint) { + C.QThread_QThread_Sleep(C.ulong(uint32(secs))) +} + +func (ptr *QThread) Sleep(secs uint) { + C.QThread_QThread_Sleep(C.ulong(uint32(secs))) +} + +func (ptr *QThread) StackSize() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QThread_StackSize(ptr.Pointer()))) + } + return 0 +} + +//export callbackQThread_Start +func callbackQThread_Start(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "start"); signal != nil { + (*(*func())(signal))() + } else { + NewQThreadFromPointer(ptr).StartDefault() + } +} + +func (ptr *QThread) ConnectStart(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "start"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QThread) DisconnectStart() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "start") + } +} + +func (ptr *QThread) Start() { + if ptr.Pointer() != nil { + C.QThread_Start(ptr.Pointer()) + } +} + +func (ptr *QThread) StartDefault() { + if ptr.Pointer() != nil { + C.QThread_StartDefault(ptr.Pointer()) + } +} + +//export callbackQThread_Started +func callbackQThread_Started(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "started"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QThread) ConnectStarted(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "started") { + C.QThread_ConnectStarted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "started"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "started"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "started", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "started", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QThread) DisconnectStarted() { + if ptr.Pointer() != nil { + C.QThread_DisconnectStarted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "started") + } +} + +//export callbackQThread_Terminate +func callbackQThread_Terminate(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "terminate"); signal != nil { + (*(*func())(signal))() + } else { + NewQThreadFromPointer(ptr).TerminateDefault() + } +} + +func (ptr *QThread) ConnectTerminate(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "terminate"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "terminate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "terminate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QThread) DisconnectTerminate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "terminate") + } +} + +func (ptr *QThread) Terminate() { + if ptr.Pointer() != nil { + C.QThread_Terminate(ptr.Pointer()) + } +} + +func (ptr *QThread) TerminateDefault() { + if ptr.Pointer() != nil { + C.QThread_TerminateDefault(ptr.Pointer()) + } +} + +func QThread_Usleep(usecs uint) { + C.QThread_QThread_Usleep(C.ulong(uint32(usecs))) +} + +func (ptr *QThread) Usleep(usecs uint) { + C.QThread_QThread_Usleep(C.ulong(uint32(usecs))) +} + +func (ptr *QThread) Wait(ti uint) bool { + if ptr.Pointer() != nil { + return int8(C.QThread_Wait(ptr.Pointer(), C.ulong(uint32(ti)))) != 0 + } + return false +} + +func QThread_YieldCurrentThread() { + C.QThread_QThread_YieldCurrentThread() +} + +func (ptr *QThread) YieldCurrentThread() { + C.QThread_QThread_YieldCurrentThread() +} + +//export callbackQThread_DestroyQThread +func callbackQThread_DestroyQThread(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QThread"); signal != nil { + (*(*func())(signal))() + } else { + NewQThreadFromPointer(ptr).DestroyQThreadDefault() + } +} + +func (ptr *QThread) ConnectDestroyQThread(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QThread"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QThread", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QThread", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QThread) DisconnectDestroyQThread() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QThread") + } +} + +func (ptr *QThread) DestroyQThread() { + if ptr.Pointer() != nil { + C.QThread_DestroyQThread(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QThread) DestroyQThreadDefault() { + if ptr.Pointer() != nil { + C.QThread_DestroyQThreadDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QThreadPool struct { + QObject +} + +type QThreadPool_ITF interface { + QObject_ITF + QThreadPool_PTR() *QThreadPool +} + +func (ptr *QThreadPool) QThreadPool_PTR() *QThreadPool { + return ptr +} + +func (ptr *QThreadPool) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QThreadPool) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQThreadPool(ptr QThreadPool_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QThreadPool_PTR().Pointer() + } + return nil +} + +func NewQThreadPoolFromPointer(ptr unsafe.Pointer) (n *QThreadPool) { + n = new(QThreadPool) + n.SetPointer(ptr) + return +} +func NewQThreadPool(parent QObject_ITF) *QThreadPool { + tmpValue := NewQThreadPoolFromPointer(C.QThreadPool_NewQThreadPool(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QThreadPool) ActiveThreadCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QThreadPool_ActiveThreadCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QThreadPool) Clear() { + if ptr.Pointer() != nil { + C.QThreadPool_Clear(ptr.Pointer()) + } +} + +func (ptr *QThreadPool) ExpiryTimeout() int { + if ptr.Pointer() != nil { + return int(int32(C.QThreadPool_ExpiryTimeout(ptr.Pointer()))) + } + return 0 +} + +func QThreadPool_GlobalInstance() *QThreadPool { + tmpValue := NewQThreadPoolFromPointer(C.QThreadPool_QThreadPool_GlobalInstance()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QThreadPool) GlobalInstance() *QThreadPool { + tmpValue := NewQThreadPoolFromPointer(C.QThreadPool_QThreadPool_GlobalInstance()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QThreadPool) MaxThreadCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QThreadPool_MaxThreadCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QThreadPool) ReleaseThread() { + if ptr.Pointer() != nil { + C.QThreadPool_ReleaseThread(ptr.Pointer()) + } +} + +func (ptr *QThreadPool) ReserveThread() { + if ptr.Pointer() != nil { + C.QThreadPool_ReserveThread(ptr.Pointer()) + } +} + +func (ptr *QThreadPool) SetExpiryTimeout(expiryTimeout int) { + if ptr.Pointer() != nil { + C.QThreadPool_SetExpiryTimeout(ptr.Pointer(), C.int(int32(expiryTimeout))) + } +} + +func (ptr *QThreadPool) SetMaxThreadCount(maxThreadCount int) { + if ptr.Pointer() != nil { + C.QThreadPool_SetMaxThreadCount(ptr.Pointer(), C.int(int32(maxThreadCount))) + } +} + +func (ptr *QThreadPool) SetStackSize(stackSize uint) { + if ptr.Pointer() != nil { + C.QThreadPool_SetStackSize(ptr.Pointer(), C.uint(uint32(stackSize))) + } +} + +func (ptr *QThreadPool) StackSize() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QThreadPool_StackSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QThreadPool) Start(runnable QRunnable_ITF, priority int) { + if ptr.Pointer() != nil { + C.QThreadPool_Start(ptr.Pointer(), PointerFromQRunnable(runnable), C.int(int32(priority))) + } +} + +func (ptr *QThreadPool) TryStart(runnable QRunnable_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QThreadPool_TryStart(ptr.Pointer(), PointerFromQRunnable(runnable))) != 0 + } + return false +} + +func (ptr *QThreadPool) TryTake(runnable QRunnable_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QThreadPool_TryTake(ptr.Pointer(), PointerFromQRunnable(runnable))) != 0 + } + return false +} + +func (ptr *QThreadPool) WaitForDone(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QThreadPool_WaitForDone(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQThreadPool_DestroyQThreadPool +func callbackQThreadPool_DestroyQThreadPool(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QThreadPool"); signal != nil { + (*(*func())(signal))() + } else { + NewQThreadPoolFromPointer(ptr).DestroyQThreadPoolDefault() + } +} + +func (ptr *QThreadPool) ConnectDestroyQThreadPool(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QThreadPool"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QThreadPool", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QThreadPool", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QThreadPool) DisconnectDestroyQThreadPool() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QThreadPool") + } +} + +func (ptr *QThreadPool) DestroyQThreadPool() { + if ptr.Pointer() != nil { + C.QThreadPool_DestroyQThreadPool(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QThreadPool) DestroyQThreadPoolDefault() { + if ptr.Pointer() != nil { + C.QThreadPool_DestroyQThreadPoolDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QThreadStorage struct { + ptr unsafe.Pointer +} + +type QThreadStorage_ITF interface { + QThreadStorage_PTR() *QThreadStorage +} + +func (ptr *QThreadStorage) QThreadStorage_PTR() *QThreadStorage { + return ptr +} + +func (ptr *QThreadStorage) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QThreadStorage) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQThreadStorage(ptr QThreadStorage_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QThreadStorage_PTR().Pointer() + } + return nil +} + +func NewQThreadStorageFromPointer(ptr unsafe.Pointer) (n *QThreadStorage) { + n = new(QThreadStorage) + n.SetPointer(ptr) + return +} + +type QThreadStorageData struct { + ptr unsafe.Pointer +} + +type QThreadStorageData_ITF interface { + QThreadStorageData_PTR() *QThreadStorageData +} + +func (ptr *QThreadStorageData) QThreadStorageData_PTR() *QThreadStorageData { + return ptr +} + +func (ptr *QThreadStorageData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QThreadStorageData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQThreadStorageData(ptr QThreadStorageData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QThreadStorageData_PTR().Pointer() + } + return nil +} + +func NewQThreadStorageDataFromPointer(ptr unsafe.Pointer) (n *QThreadStorageData) { + n = new(QThreadStorageData) + n.SetPointer(ptr) + return +} + +func (ptr *QThreadStorageData) DestroyQThreadStorageData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTime struct { + ptr unsafe.Pointer +} + +type QTime_ITF interface { + QTime_PTR() *QTime +} + +func (ptr *QTime) QTime_PTR() *QTime { + return ptr +} + +func (ptr *QTime) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTime) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTime(ptr QTime_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTime_PTR().Pointer() + } + return nil +} + +func NewQTimeFromPointer(ptr unsafe.Pointer) (n *QTime) { + n = new(QTime) + n.SetPointer(ptr) + return +} + +func (ptr *QTime) DestroyQTime() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQTime2() *QTime { + tmpValue := NewQTimeFromPointer(C.QTime_NewQTime2()) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func NewQTime3(h int, m int, s int, ms int) *QTime { + tmpValue := NewQTimeFromPointer(C.QTime_NewQTime3(C.int(int32(h)), C.int(int32(m)), C.int(int32(s)), C.int(int32(ms)))) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func (ptr *QTime) AddMSecs(ms int) *QTime { + if ptr.Pointer() != nil { + tmpValue := NewQTimeFromPointer(C.QTime_AddMSecs(ptr.Pointer(), C.int(int32(ms)))) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue + } + return nil +} + +func (ptr *QTime) AddSecs(s int) *QTime { + if ptr.Pointer() != nil { + tmpValue := NewQTimeFromPointer(C.QTime_AddSecs(ptr.Pointer(), C.int(int32(s)))) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue + } + return nil +} + +func QTime_CurrentTime() *QTime { + tmpValue := NewQTimeFromPointer(C.QTime_QTime_CurrentTime()) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func (ptr *QTime) CurrentTime() *QTime { + tmpValue := NewQTimeFromPointer(C.QTime_QTime_CurrentTime()) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func (ptr *QTime) Elapsed() int { + if ptr.Pointer() != nil { + return int(int32(C.QTime_Elapsed(ptr.Pointer()))) + } + return 0 +} + +func QTime_FromMSecsSinceStartOfDay(msecs int) *QTime { + tmpValue := NewQTimeFromPointer(C.QTime_QTime_FromMSecsSinceStartOfDay(C.int(int32(msecs)))) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func (ptr *QTime) FromMSecsSinceStartOfDay(msecs int) *QTime { + tmpValue := NewQTimeFromPointer(C.QTime_QTime_FromMSecsSinceStartOfDay(C.int(int32(msecs)))) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func QTime_FromString(stri string, format Qt__DateFormat) *QTime { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQTimeFromPointer(C.QTime_QTime_FromString(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func (ptr *QTime) FromString(stri string, format Qt__DateFormat) *QTime { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQTimeFromPointer(C.QTime_QTime_FromString(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func QTime_FromString2(stri string, format string) *QTime { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQTimeFromPointer(C.QTime_QTime_FromString2(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func (ptr *QTime) FromString2(stri string, format string) *QTime { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQTimeFromPointer(C.QTime_QTime_FromString2(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue +} + +func (ptr *QTime) Hour() int { + if ptr.Pointer() != nil { + return int(int32(C.QTime_Hour(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTime) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QTime_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTime) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTime_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func QTime_IsValid2(h int, m int, s int, ms int) bool { + return int8(C.QTime_QTime_IsValid2(C.int(int32(h)), C.int(int32(m)), C.int(int32(s)), C.int(int32(ms)))) != 0 +} + +func (ptr *QTime) IsValid2(h int, m int, s int, ms int) bool { + return int8(C.QTime_QTime_IsValid2(C.int(int32(h)), C.int(int32(m)), C.int(int32(s)), C.int(int32(ms)))) != 0 +} + +func (ptr *QTime) Minute() int { + if ptr.Pointer() != nil { + return int(int32(C.QTime_Minute(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTime) Msec() int { + if ptr.Pointer() != nil { + return int(int32(C.QTime_Msec(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTime) MsecsSinceStartOfDay() int { + if ptr.Pointer() != nil { + return int(int32(C.QTime_MsecsSinceStartOfDay(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTime) MsecsTo(t QTime_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTime_MsecsTo(ptr.Pointer(), PointerFromQTime(t)))) + } + return 0 +} + +func (ptr *QTime) Restart() int { + if ptr.Pointer() != nil { + return int(int32(C.QTime_Restart(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTime) Second() int { + if ptr.Pointer() != nil { + return int(int32(C.QTime_Second(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTime) SecsTo(t QTime_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTime_SecsTo(ptr.Pointer(), PointerFromQTime(t)))) + } + return 0 +} + +func (ptr *QTime) SetHMS(h int, m int, s int, ms int) bool { + if ptr.Pointer() != nil { + return int8(C.QTime_SetHMS(ptr.Pointer(), C.int(int32(h)), C.int(int32(m)), C.int(int32(s)), C.int(int32(ms)))) != 0 + } + return false +} + +func (ptr *QTime) Start() { + if ptr.Pointer() != nil { + C.QTime_Start(ptr.Pointer()) + } +} + +func (ptr *QTime) ToString(format string) string { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return cGoUnpackString(C.QTime_ToString(ptr.Pointer(), C.struct_QtCore_PackedString{data: formatC, len: C.longlong(len(format))})) + } + return "" +} + +func (ptr *QTime) ToString2(format Qt__DateFormat) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTime_ToString2(ptr.Pointer(), C.longlong(format))) + } + return "" +} + +func (ptr *QTime) ToString3(format QStringView_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTime_ToString3(ptr.Pointer(), PointerFromQStringView(format))) + } + return "" +} + +type QTimeLine struct { + QObject +} + +type QTimeLine_ITF interface { + QObject_ITF + QTimeLine_PTR() *QTimeLine +} + +func (ptr *QTimeLine) QTimeLine_PTR() *QTimeLine { + return ptr +} + +func (ptr *QTimeLine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QTimeLine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQTimeLine(ptr QTimeLine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTimeLine_PTR().Pointer() + } + return nil +} + +func NewQTimeLineFromPointer(ptr unsafe.Pointer) (n *QTimeLine) { + n = new(QTimeLine) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTimeLine__State +//QTimeLine::State +type QTimeLine__State int64 + +const ( + QTimeLine__NotRunning QTimeLine__State = QTimeLine__State(0) + QTimeLine__Paused QTimeLine__State = QTimeLine__State(1) + QTimeLine__Running QTimeLine__State = QTimeLine__State(2) +) + +//go:generate stringer -type=QTimeLine__Direction +//QTimeLine::Direction +type QTimeLine__Direction int64 + +const ( + QTimeLine__Forward QTimeLine__Direction = QTimeLine__Direction(0) + QTimeLine__Backward QTimeLine__Direction = QTimeLine__Direction(1) +) + +//go:generate stringer -type=QTimeLine__CurveShape +//QTimeLine::CurveShape +type QTimeLine__CurveShape int64 + +const ( + QTimeLine__EaseInCurve QTimeLine__CurveShape = QTimeLine__CurveShape(0) + QTimeLine__EaseOutCurve QTimeLine__CurveShape = QTimeLine__CurveShape(1) + QTimeLine__EaseInOutCurve QTimeLine__CurveShape = QTimeLine__CurveShape(2) + QTimeLine__LinearCurve QTimeLine__CurveShape = QTimeLine__CurveShape(3) + QTimeLine__SineCurve QTimeLine__CurveShape = QTimeLine__CurveShape(4) + QTimeLine__CosineCurve QTimeLine__CurveShape = QTimeLine__CurveShape(5) +) + +func NewQTimeLine(duration int, parent QObject_ITF) *QTimeLine { + tmpValue := NewQTimeLineFromPointer(C.QTimeLine_NewQTimeLine(C.int(int32(duration)), PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QTimeLine) CurrentFrame() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeLine_CurrentFrame(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTimeLine) CurrentTime() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeLine_CurrentTime(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTimeLine) CurrentValue() float64 { + if ptr.Pointer() != nil { + return float64(C.QTimeLine_CurrentValue(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTimeLine) CurveShape() QTimeLine__CurveShape { + if ptr.Pointer() != nil { + return QTimeLine__CurveShape(C.QTimeLine_CurveShape(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTimeLine) Direction() QTimeLine__Direction { + if ptr.Pointer() != nil { + return QTimeLine__Direction(C.QTimeLine_Direction(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTimeLine) Duration() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeLine_Duration(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTimeLine) EasingCurve() *QEasingCurve { + if ptr.Pointer() != nil { + tmpValue := NewQEasingCurveFromPointer(C.QTimeLine_EasingCurve(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QEasingCurve).DestroyQEasingCurve) + return tmpValue + } + return nil +} + +func (ptr *QTimeLine) EndFrame() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeLine_EndFrame(ptr.Pointer()))) + } + return 0 +} + +//export callbackQTimeLine_Finished +func callbackQTimeLine_Finished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "finished"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QTimeLine) ConnectFinished(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "finished") { + C.QTimeLine_ConnectFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "finished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "finished"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectFinished() { + if ptr.Pointer() != nil { + C.QTimeLine_DisconnectFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "finished") + } +} + +//export callbackQTimeLine_FrameChanged +func callbackQTimeLine_FrameChanged(ptr unsafe.Pointer, frame C.int) { + if signal := qt.GetSignal(ptr, "frameChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(frame))) + } + +} + +func (ptr *QTimeLine) ConnectFrameChanged(f func(frame int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "frameChanged") { + C.QTimeLine_ConnectFrameChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "frameChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "frameChanged"); signal != nil { + f := func(frame int) { + (*(*func(int))(signal))(frame) + f(frame) + } + qt.ConnectSignal(ptr.Pointer(), "frameChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "frameChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectFrameChanged() { + if ptr.Pointer() != nil { + C.QTimeLine_DisconnectFrameChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "frameChanged") + } +} + +func (ptr *QTimeLine) FrameForTime(msec int) int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeLine_FrameForTime(ptr.Pointer(), C.int(int32(msec))))) + } + return 0 +} + +func (ptr *QTimeLine) LoopCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeLine_LoopCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQTimeLine_Resume +func callbackQTimeLine_Resume(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "resume"); signal != nil { + (*(*func())(signal))() + } else { + NewQTimeLineFromPointer(ptr).ResumeDefault() + } +} + +func (ptr *QTimeLine) ConnectResume(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "resume"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "resume", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resume", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectResume() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "resume") + } +} + +func (ptr *QTimeLine) Resume() { + if ptr.Pointer() != nil { + C.QTimeLine_Resume(ptr.Pointer()) + } +} + +func (ptr *QTimeLine) ResumeDefault() { + if ptr.Pointer() != nil { + C.QTimeLine_ResumeDefault(ptr.Pointer()) + } +} + +//export callbackQTimeLine_SetCurrentTime +func callbackQTimeLine_SetCurrentTime(ptr unsafe.Pointer, msec C.int) { + if signal := qt.GetSignal(ptr, "setCurrentTime"); signal != nil { + (*(*func(int))(signal))(int(int32(msec))) + } else { + NewQTimeLineFromPointer(ptr).SetCurrentTimeDefault(int(int32(msec))) + } +} + +func (ptr *QTimeLine) ConnectSetCurrentTime(f func(msec int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setCurrentTime"); signal != nil { + f := func(msec int) { + (*(*func(int))(signal))(msec) + f(msec) + } + qt.ConnectSignal(ptr.Pointer(), "setCurrentTime", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setCurrentTime", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectSetCurrentTime() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setCurrentTime") + } +} + +func (ptr *QTimeLine) SetCurrentTime(msec int) { + if ptr.Pointer() != nil { + C.QTimeLine_SetCurrentTime(ptr.Pointer(), C.int(int32(msec))) + } +} + +func (ptr *QTimeLine) SetCurrentTimeDefault(msec int) { + if ptr.Pointer() != nil { + C.QTimeLine_SetCurrentTimeDefault(ptr.Pointer(), C.int(int32(msec))) + } +} + +func (ptr *QTimeLine) SetCurveShape(shape QTimeLine__CurveShape) { + if ptr.Pointer() != nil { + C.QTimeLine_SetCurveShape(ptr.Pointer(), C.longlong(shape)) + } +} + +func (ptr *QTimeLine) SetDirection(direction QTimeLine__Direction) { + if ptr.Pointer() != nil { + C.QTimeLine_SetDirection(ptr.Pointer(), C.longlong(direction)) + } +} + +func (ptr *QTimeLine) SetDuration(duration int) { + if ptr.Pointer() != nil { + C.QTimeLine_SetDuration(ptr.Pointer(), C.int(int32(duration))) + } +} + +func (ptr *QTimeLine) SetEasingCurve(curve QEasingCurve_ITF) { + if ptr.Pointer() != nil { + C.QTimeLine_SetEasingCurve(ptr.Pointer(), PointerFromQEasingCurve(curve)) + } +} + +func (ptr *QTimeLine) SetEndFrame(frame int) { + if ptr.Pointer() != nil { + C.QTimeLine_SetEndFrame(ptr.Pointer(), C.int(int32(frame))) + } +} + +func (ptr *QTimeLine) SetFrameRange(startFrame int, endFrame int) { + if ptr.Pointer() != nil { + C.QTimeLine_SetFrameRange(ptr.Pointer(), C.int(int32(startFrame)), C.int(int32(endFrame))) + } +} + +func (ptr *QTimeLine) SetLoopCount(count int) { + if ptr.Pointer() != nil { + C.QTimeLine_SetLoopCount(ptr.Pointer(), C.int(int32(count))) + } +} + +//export callbackQTimeLine_SetPaused +func callbackQTimeLine_SetPaused(ptr unsafe.Pointer, paused C.char) { + if signal := qt.GetSignal(ptr, "setPaused"); signal != nil { + (*(*func(bool))(signal))(int8(paused) != 0) + } else { + NewQTimeLineFromPointer(ptr).SetPausedDefault(int8(paused) != 0) + } +} + +func (ptr *QTimeLine) ConnectSetPaused(f func(paused bool)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setPaused"); signal != nil { + f := func(paused bool) { + (*(*func(bool))(signal))(paused) + f(paused) + } + qt.ConnectSignal(ptr.Pointer(), "setPaused", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setPaused", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectSetPaused() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setPaused") + } +} + +func (ptr *QTimeLine) SetPaused(paused bool) { + if ptr.Pointer() != nil { + C.QTimeLine_SetPaused(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(paused)))) + } +} + +func (ptr *QTimeLine) SetPausedDefault(paused bool) { + if ptr.Pointer() != nil { + C.QTimeLine_SetPausedDefault(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(paused)))) + } +} + +func (ptr *QTimeLine) SetStartFrame(frame int) { + if ptr.Pointer() != nil { + C.QTimeLine_SetStartFrame(ptr.Pointer(), C.int(int32(frame))) + } +} + +func (ptr *QTimeLine) SetUpdateInterval(interval int) { + if ptr.Pointer() != nil { + C.QTimeLine_SetUpdateInterval(ptr.Pointer(), C.int(int32(interval))) + } +} + +//export callbackQTimeLine_Start +func callbackQTimeLine_Start(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "start"); signal != nil { + (*(*func())(signal))() + } else { + NewQTimeLineFromPointer(ptr).StartDefault() + } +} + +func (ptr *QTimeLine) ConnectStart(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "start"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectStart() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "start") + } +} + +func (ptr *QTimeLine) Start() { + if ptr.Pointer() != nil { + C.QTimeLine_Start(ptr.Pointer()) + } +} + +func (ptr *QTimeLine) StartDefault() { + if ptr.Pointer() != nil { + C.QTimeLine_StartDefault(ptr.Pointer()) + } +} + +func (ptr *QTimeLine) StartFrame() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeLine_StartFrame(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTimeLine) State() QTimeLine__State { + if ptr.Pointer() != nil { + return QTimeLine__State(C.QTimeLine_State(ptr.Pointer())) + } + return 0 +} + +//export callbackQTimeLine_StateChanged +func callbackQTimeLine_StateChanged(ptr unsafe.Pointer, newState C.longlong) { + if signal := qt.GetSignal(ptr, "stateChanged"); signal != nil { + (*(*func(QTimeLine__State))(signal))(QTimeLine__State(newState)) + } + +} + +func (ptr *QTimeLine) ConnectStateChanged(f func(newState QTimeLine__State)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "stateChanged") { + C.QTimeLine_ConnectStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "stateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "stateChanged"); signal != nil { + f := func(newState QTimeLine__State) { + (*(*func(QTimeLine__State))(signal))(newState) + f(newState) + } + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectStateChanged() { + if ptr.Pointer() != nil { + C.QTimeLine_DisconnectStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "stateChanged") + } +} + +//export callbackQTimeLine_Stop +func callbackQTimeLine_Stop(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "stop"); signal != nil { + (*(*func())(signal))() + } else { + NewQTimeLineFromPointer(ptr).StopDefault() + } +} + +func (ptr *QTimeLine) ConnectStop(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "stop"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectStop() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "stop") + } +} + +func (ptr *QTimeLine) Stop() { + if ptr.Pointer() != nil { + C.QTimeLine_Stop(ptr.Pointer()) + } +} + +func (ptr *QTimeLine) StopDefault() { + if ptr.Pointer() != nil { + C.QTimeLine_StopDefault(ptr.Pointer()) + } +} + +//export callbackQTimeLine_ToggleDirection +func callbackQTimeLine_ToggleDirection(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "toggleDirection"); signal != nil { + (*(*func())(signal))() + } else { + NewQTimeLineFromPointer(ptr).ToggleDirectionDefault() + } +} + +func (ptr *QTimeLine) ConnectToggleDirection(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "toggleDirection"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "toggleDirection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "toggleDirection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectToggleDirection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "toggleDirection") + } +} + +func (ptr *QTimeLine) ToggleDirection() { + if ptr.Pointer() != nil { + C.QTimeLine_ToggleDirection(ptr.Pointer()) + } +} + +func (ptr *QTimeLine) ToggleDirectionDefault() { + if ptr.Pointer() != nil { + C.QTimeLine_ToggleDirectionDefault(ptr.Pointer()) + } +} + +func (ptr *QTimeLine) UpdateInterval() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeLine_UpdateInterval(ptr.Pointer()))) + } + return 0 +} + +//export callbackQTimeLine_ValueChanged +func callbackQTimeLine_ValueChanged(ptr unsafe.Pointer, value C.double) { + if signal := qt.GetSignal(ptr, "valueChanged"); signal != nil { + (*(*func(float64))(signal))(float64(value)) + } + +} + +func (ptr *QTimeLine) ConnectValueChanged(f func(value float64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "valueChanged") { + C.QTimeLine_ConnectValueChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "valueChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "valueChanged"); signal != nil { + f := func(value float64) { + (*(*func(float64))(signal))(value) + f(value) + } + qt.ConnectSignal(ptr.Pointer(), "valueChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "valueChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectValueChanged() { + if ptr.Pointer() != nil { + C.QTimeLine_DisconnectValueChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "valueChanged") + } +} + +//export callbackQTimeLine_ValueForTime +func callbackQTimeLine_ValueForTime(ptr unsafe.Pointer, msec C.int) C.double { + if signal := qt.GetSignal(ptr, "valueForTime"); signal != nil { + return C.double((*(*func(int) float64)(signal))(int(int32(msec)))) + } + + return C.double(NewQTimeLineFromPointer(ptr).ValueForTimeDefault(int(int32(msec)))) +} + +func (ptr *QTimeLine) ConnectValueForTime(f func(msec int) float64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "valueForTime"); signal != nil { + f := func(msec int) float64 { + (*(*func(int) float64)(signal))(msec) + return f(msec) + } + qt.ConnectSignal(ptr.Pointer(), "valueForTime", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "valueForTime", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectValueForTime() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "valueForTime") + } +} + +func (ptr *QTimeLine) ValueForTime(msec int) float64 { + if ptr.Pointer() != nil { + return float64(C.QTimeLine_ValueForTime(ptr.Pointer(), C.int(int32(msec)))) + } + return 0 +} + +func (ptr *QTimeLine) ValueForTimeDefault(msec int) float64 { + if ptr.Pointer() != nil { + return float64(C.QTimeLine_ValueForTimeDefault(ptr.Pointer(), C.int(int32(msec)))) + } + return 0 +} + +//export callbackQTimeLine_DestroyQTimeLine +func callbackQTimeLine_DestroyQTimeLine(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTimeLine"); signal != nil { + (*(*func())(signal))() + } else { + NewQTimeLineFromPointer(ptr).DestroyQTimeLineDefault() + } +} + +func (ptr *QTimeLine) ConnectDestroyQTimeLine(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTimeLine"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTimeLine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTimeLine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimeLine) DisconnectDestroyQTimeLine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTimeLine") + } +} + +func (ptr *QTimeLine) DestroyQTimeLine() { + if ptr.Pointer() != nil { + C.QTimeLine_DestroyQTimeLine(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTimeLine) DestroyQTimeLineDefault() { + if ptr.Pointer() != nil { + C.QTimeLine_DestroyQTimeLineDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTimeZone struct { + ptr unsafe.Pointer +} + +type QTimeZone_ITF interface { + QTimeZone_PTR() *QTimeZone +} + +func (ptr *QTimeZone) QTimeZone_PTR() *QTimeZone { + return ptr +} + +func (ptr *QTimeZone) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTimeZone) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTimeZone(ptr QTimeZone_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTimeZone_PTR().Pointer() + } + return nil +} + +func NewQTimeZoneFromPointer(ptr unsafe.Pointer) (n *QTimeZone) { + n = new(QTimeZone) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTimeZone__TimeType +//QTimeZone::TimeType +type QTimeZone__TimeType int64 + +const ( + QTimeZone__StandardTime QTimeZone__TimeType = QTimeZone__TimeType(0) + QTimeZone__DaylightTime QTimeZone__TimeType = QTimeZone__TimeType(1) + QTimeZone__GenericTime QTimeZone__TimeType = QTimeZone__TimeType(2) +) + +//go:generate stringer -type=QTimeZone__NameType +//QTimeZone::NameType +type QTimeZone__NameType int64 + +const ( + QTimeZone__DefaultName QTimeZone__NameType = QTimeZone__NameType(0) + QTimeZone__LongName QTimeZone__NameType = QTimeZone__NameType(1) + QTimeZone__ShortName QTimeZone__NameType = QTimeZone__NameType(2) + QTimeZone__OffsetName QTimeZone__NameType = QTimeZone__NameType(3) +) + +func NewQTimeZone() *QTimeZone { + tmpValue := NewQTimeZoneFromPointer(C.QTimeZone_NewQTimeZone()) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue +} + +func NewQTimeZone2(ianaId QByteArray_ITF) *QTimeZone { + tmpValue := NewQTimeZoneFromPointer(C.QTimeZone_NewQTimeZone2(PointerFromQByteArray(ianaId))) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue +} + +func NewQTimeZone3(offsetSeconds int) *QTimeZone { + tmpValue := NewQTimeZoneFromPointer(C.QTimeZone_NewQTimeZone3(C.int(int32(offsetSeconds)))) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue +} + +func NewQTimeZone4(ianaId QByteArray_ITF, offsetSeconds int, name string, abbreviation string, country QLocale__Country, comment string) *QTimeZone { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var abbreviationC *C.char + if abbreviation != "" { + abbreviationC = C.CString(abbreviation) + defer C.free(unsafe.Pointer(abbreviationC)) + } + var commentC *C.char + if comment != "" { + commentC = C.CString(comment) + defer C.free(unsafe.Pointer(commentC)) + } + tmpValue := NewQTimeZoneFromPointer(C.QTimeZone_NewQTimeZone4(PointerFromQByteArray(ianaId), C.int(int32(offsetSeconds)), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtCore_PackedString{data: abbreviationC, len: C.longlong(len(abbreviation))}, C.longlong(country), C.struct_QtCore_PackedString{data: commentC, len: C.longlong(len(comment))})) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue +} + +func NewQTimeZone5(other QTimeZone_ITF) *QTimeZone { + tmpValue := NewQTimeZoneFromPointer(C.QTimeZone_NewQTimeZone5(PointerFromQTimeZone(other))) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue +} + +func (ptr *QTimeZone) Abbreviation(atDateTime QDateTime_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTimeZone_Abbreviation(ptr.Pointer(), PointerFromQDateTime(atDateTime))) + } + return "" +} + +func QTimeZone_AvailableTimeZoneIds() []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableTimeZoneIds_atList(i) + } + return out + }(C.QTimeZone_QTimeZone_AvailableTimeZoneIds()) +} + +func (ptr *QTimeZone) AvailableTimeZoneIds() []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableTimeZoneIds_atList(i) + } + return out + }(C.QTimeZone_QTimeZone_AvailableTimeZoneIds()) +} + +func QTimeZone_AvailableTimeZoneIds2(country QLocale__Country) []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableTimeZoneIds_atList2(i) + } + return out + }(C.QTimeZone_QTimeZone_AvailableTimeZoneIds2(C.longlong(country))) +} + +func (ptr *QTimeZone) AvailableTimeZoneIds2(country QLocale__Country) []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableTimeZoneIds_atList2(i) + } + return out + }(C.QTimeZone_QTimeZone_AvailableTimeZoneIds2(C.longlong(country))) +} + +func QTimeZone_AvailableTimeZoneIds3(offsetSeconds int) []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableTimeZoneIds_atList3(i) + } + return out + }(C.QTimeZone_QTimeZone_AvailableTimeZoneIds3(C.int(int32(offsetSeconds)))) +} + +func (ptr *QTimeZone) AvailableTimeZoneIds3(offsetSeconds int) []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableTimeZoneIds_atList3(i) + } + return out + }(C.QTimeZone_QTimeZone_AvailableTimeZoneIds3(C.int(int32(offsetSeconds)))) +} + +func (ptr *QTimeZone) Comment() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTimeZone_Comment(ptr.Pointer())) + } + return "" +} + +func (ptr *QTimeZone) Country() QLocale__Country { + if ptr.Pointer() != nil { + return QLocale__Country(C.QTimeZone_Country(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTimeZone) DaylightTimeOffset(atDateTime QDateTime_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeZone_DaylightTimeOffset(ptr.Pointer(), PointerFromQDateTime(atDateTime)))) + } + return 0 +} + +func (ptr *QTimeZone) DisplayName(atDateTime QDateTime_ITF, nameType QTimeZone__NameType, locale QLocale_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTimeZone_DisplayName(ptr.Pointer(), PointerFromQDateTime(atDateTime), C.longlong(nameType), PointerFromQLocale(locale))) + } + return "" +} + +func (ptr *QTimeZone) DisplayName2(timeType QTimeZone__TimeType, nameType QTimeZone__NameType, locale QLocale_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTimeZone_DisplayName2(ptr.Pointer(), C.longlong(timeType), C.longlong(nameType), PointerFromQLocale(locale))) + } + return "" +} + +func (ptr *QTimeZone) HasDaylightTime() bool { + if ptr.Pointer() != nil { + return int8(C.QTimeZone_HasDaylightTime(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTimeZone) HasTransitions() bool { + if ptr.Pointer() != nil { + return int8(C.QTimeZone_HasTransitions(ptr.Pointer())) != 0 + } + return false +} + +func QTimeZone_IanaIdToWindowsId(ianaId QByteArray_ITF) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone_QTimeZone_IanaIdToWindowsId(PointerFromQByteArray(ianaId))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QTimeZone) IanaIdToWindowsId(ianaId QByteArray_ITF) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone_QTimeZone_IanaIdToWindowsId(PointerFromQByteArray(ianaId))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QTimeZone) Id() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone_Id(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTimeZone) IsDaylightTime(atDateTime QDateTime_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTimeZone_IsDaylightTime(ptr.Pointer(), PointerFromQDateTime(atDateTime))) != 0 + } + return false +} + +func QTimeZone_IsTimeZoneIdAvailable(ianaId QByteArray_ITF) bool { + return int8(C.QTimeZone_QTimeZone_IsTimeZoneIdAvailable(PointerFromQByteArray(ianaId))) != 0 +} + +func (ptr *QTimeZone) IsTimeZoneIdAvailable(ianaId QByteArray_ITF) bool { + return int8(C.QTimeZone_QTimeZone_IsTimeZoneIdAvailable(PointerFromQByteArray(ianaId))) != 0 +} + +func (ptr *QTimeZone) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTimeZone_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTimeZone) OffsetFromUtc(atDateTime QDateTime_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeZone_OffsetFromUtc(ptr.Pointer(), PointerFromQDateTime(atDateTime)))) + } + return 0 +} + +func (ptr *QTimeZone) StandardTimeOffset(atDateTime QDateTime_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTimeZone_StandardTimeOffset(ptr.Pointer(), PointerFromQDateTime(atDateTime)))) + } + return 0 +} + +func (ptr *QTimeZone) Swap(other QTimeZone_ITF) { + if ptr.Pointer() != nil { + C.QTimeZone_Swap(ptr.Pointer(), PointerFromQTimeZone(other)) + } +} + +func QTimeZone_SystemTimeZone() *QTimeZone { + tmpValue := NewQTimeZoneFromPointer(C.QTimeZone_QTimeZone_SystemTimeZone()) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue +} + +func (ptr *QTimeZone) SystemTimeZone() *QTimeZone { + tmpValue := NewQTimeZoneFromPointer(C.QTimeZone_QTimeZone_SystemTimeZone()) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue +} + +func QTimeZone_SystemTimeZoneId() *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone_QTimeZone_SystemTimeZoneId()) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QTimeZone) SystemTimeZoneId() *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone_QTimeZone_SystemTimeZoneId()) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QTimeZone_Utc() *QTimeZone { + tmpValue := NewQTimeZoneFromPointer(C.QTimeZone_QTimeZone_Utc()) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue +} + +func (ptr *QTimeZone) Utc() *QTimeZone { + tmpValue := NewQTimeZoneFromPointer(C.QTimeZone_QTimeZone_Utc()) + runtime.SetFinalizer(tmpValue, (*QTimeZone).DestroyQTimeZone) + return tmpValue +} + +func QTimeZone_WindowsIdToDefaultIanaId(windowsId QByteArray_ITF) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone_QTimeZone_WindowsIdToDefaultIanaId(PointerFromQByteArray(windowsId))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QTimeZone) WindowsIdToDefaultIanaId(windowsId QByteArray_ITF) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone_QTimeZone_WindowsIdToDefaultIanaId(PointerFromQByteArray(windowsId))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QTimeZone_WindowsIdToDefaultIanaId2(windowsId QByteArray_ITF, country QLocale__Country) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone_QTimeZone_WindowsIdToDefaultIanaId2(PointerFromQByteArray(windowsId), C.longlong(country))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QTimeZone) WindowsIdToDefaultIanaId2(windowsId QByteArray_ITF, country QLocale__Country) *QByteArray { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone_QTimeZone_WindowsIdToDefaultIanaId2(PointerFromQByteArray(windowsId), C.longlong(country))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QTimeZone_WindowsIdToIanaIds(windowsId QByteArray_ITF) []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__windowsIdToIanaIds_atList(i) + } + return out + }(C.QTimeZone_QTimeZone_WindowsIdToIanaIds(PointerFromQByteArray(windowsId))) +} + +func (ptr *QTimeZone) WindowsIdToIanaIds(windowsId QByteArray_ITF) []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__windowsIdToIanaIds_atList(i) + } + return out + }(C.QTimeZone_QTimeZone_WindowsIdToIanaIds(PointerFromQByteArray(windowsId))) +} + +func QTimeZone_WindowsIdToIanaIds2(windowsId QByteArray_ITF, country QLocale__Country) []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__windowsIdToIanaIds_atList2(i) + } + return out + }(C.QTimeZone_QTimeZone_WindowsIdToIanaIds2(PointerFromQByteArray(windowsId), C.longlong(country))) +} + +func (ptr *QTimeZone) WindowsIdToIanaIds2(windowsId QByteArray_ITF, country QLocale__Country) []*QByteArray { + return func(l C.struct_QtCore_PackedList) []*QByteArray { + out := make([]*QByteArray, int(l.len)) + tmpList := NewQTimeZoneFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__windowsIdToIanaIds_atList2(i) + } + return out + }(C.QTimeZone_QTimeZone_WindowsIdToIanaIds2(PointerFromQByteArray(windowsId), C.longlong(country))) +} + +func (ptr *QTimeZone) DestroyQTimeZone() { + if ptr.Pointer() != nil { + C.QTimeZone_DestroyQTimeZone(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTimeZone) __availableTimeZoneIds_atList(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone___availableTimeZoneIds_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTimeZone) __availableTimeZoneIds_setList(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTimeZone___availableTimeZoneIds_setList(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QTimeZone) __availableTimeZoneIds_newList() unsafe.Pointer { + return C.QTimeZone___availableTimeZoneIds_newList(ptr.Pointer()) +} + +func (ptr *QTimeZone) __availableTimeZoneIds_atList2(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone___availableTimeZoneIds_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTimeZone) __availableTimeZoneIds_setList2(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTimeZone___availableTimeZoneIds_setList2(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QTimeZone) __availableTimeZoneIds_newList2() unsafe.Pointer { + return C.QTimeZone___availableTimeZoneIds_newList2(ptr.Pointer()) +} + +func (ptr *QTimeZone) __availableTimeZoneIds_atList3(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone___availableTimeZoneIds_atList3(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTimeZone) __availableTimeZoneIds_setList3(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTimeZone___availableTimeZoneIds_setList3(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QTimeZone) __availableTimeZoneIds_newList3() unsafe.Pointer { + return C.QTimeZone___availableTimeZoneIds_newList3(ptr.Pointer()) +} + +func (ptr *QTimeZone) __windowsIdToIanaIds_atList(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone___windowsIdToIanaIds_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTimeZone) __windowsIdToIanaIds_setList(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTimeZone___windowsIdToIanaIds_setList(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QTimeZone) __windowsIdToIanaIds_newList() unsafe.Pointer { + return C.QTimeZone___windowsIdToIanaIds_newList(ptr.Pointer()) +} + +func (ptr *QTimeZone) __windowsIdToIanaIds_atList2(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QTimeZone___windowsIdToIanaIds_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTimeZone) __windowsIdToIanaIds_setList2(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTimeZone___windowsIdToIanaIds_setList2(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QTimeZone) __windowsIdToIanaIds_newList2() unsafe.Pointer { + return C.QTimeZone___windowsIdToIanaIds_newList2(ptr.Pointer()) +} + +type QTimer struct { + QObject +} + +type QTimer_ITF interface { + QObject_ITF + QTimer_PTR() *QTimer +} + +func (ptr *QTimer) QTimer_PTR() *QTimer { + return ptr +} + +func (ptr *QTimer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QTimer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQTimer(ptr QTimer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTimer_PTR().Pointer() + } + return nil +} + +func NewQTimerFromPointer(ptr unsafe.Pointer) (n *QTimer) { + n = new(QTimer) + n.SetPointer(ptr) + return +} +func NewQTimer(parent QObject_ITF) *QTimer { + tmpValue := NewQTimerFromPointer(C.QTimer_NewQTimer(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QTimer) Interval() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimer_Interval(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTimer) IsActive() bool { + if ptr.Pointer() != nil { + return int8(C.QTimer_IsActive(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTimer) IsSingleShot() bool { + if ptr.Pointer() != nil { + return int8(C.QTimer_IsSingleShot(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTimer) RemainingTime() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimer_RemainingTime(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTimer) SetInterval(msec int) { + if ptr.Pointer() != nil { + C.QTimer_SetInterval(ptr.Pointer(), C.int(int32(msec))) + } +} + +func (ptr *QTimer) SetSingleShot(singleShot bool) { + if ptr.Pointer() != nil { + C.QTimer_SetSingleShot(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(singleShot)))) + } +} + +func (ptr *QTimer) SetTimerType(atype Qt__TimerType) { + if ptr.Pointer() != nil { + C.QTimer_SetTimerType(ptr.Pointer(), C.longlong(atype)) + } +} + +func QTimer_SingleShot(msec int, receiver QObject_ITF, member string) { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + C.QTimer_QTimer_SingleShot(C.int(int32(msec)), PointerFromQObject(receiver), memberC) +} + +func (ptr *QTimer) SingleShot(msec int, receiver QObject_ITF, member string) { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + C.QTimer_QTimer_SingleShot(C.int(int32(msec)), PointerFromQObject(receiver), memberC) +} + +func QTimer_SingleShot2(msec int, timerType Qt__TimerType, receiver QObject_ITF, member string) { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + C.QTimer_QTimer_SingleShot2(C.int(int32(msec)), C.longlong(timerType), PointerFromQObject(receiver), memberC) +} + +func (ptr *QTimer) SingleShot2(msec int, timerType Qt__TimerType, receiver QObject_ITF, member string) { + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + C.QTimer_QTimer_SingleShot2(C.int(int32(msec)), C.longlong(timerType), PointerFromQObject(receiver), memberC) +} + +//export callbackQTimer_Start +func callbackQTimer_Start(ptr unsafe.Pointer, msec C.int) { + if signal := qt.GetSignal(ptr, "start"); signal != nil { + (*(*func(int))(signal))(int(int32(msec))) + } else { + NewQTimerFromPointer(ptr).StartDefault(int(int32(msec))) + } +} + +func (ptr *QTimer) ConnectStart(f func(msec int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "start"); signal != nil { + f := func(msec int) { + (*(*func(int))(signal))(msec) + f(msec) + } + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimer) DisconnectStart() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "start") + } +} + +func (ptr *QTimer) Start(msec int) { + if ptr.Pointer() != nil { + C.QTimer_Start(ptr.Pointer(), C.int(int32(msec))) + } +} + +func (ptr *QTimer) StartDefault(msec int) { + if ptr.Pointer() != nil { + C.QTimer_StartDefault(ptr.Pointer(), C.int(int32(msec))) + } +} + +//export callbackQTimer_Start2 +func callbackQTimer_Start2(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "start2"); signal != nil { + (*(*func())(signal))() + } else { + NewQTimerFromPointer(ptr).Start2Default() + } +} + +func (ptr *QTimer) ConnectStart2(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "start2"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "start2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "start2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimer) DisconnectStart2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "start2") + } +} + +func (ptr *QTimer) Start2() { + if ptr.Pointer() != nil { + C.QTimer_Start2(ptr.Pointer()) + } +} + +func (ptr *QTimer) Start2Default() { + if ptr.Pointer() != nil { + C.QTimer_Start2Default(ptr.Pointer()) + } +} + +//export callbackQTimer_Stop +func callbackQTimer_Stop(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "stop"); signal != nil { + (*(*func())(signal))() + } else { + NewQTimerFromPointer(ptr).StopDefault() + } +} + +func (ptr *QTimer) ConnectStop(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "stop"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimer) DisconnectStop() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "stop") + } +} + +func (ptr *QTimer) Stop() { + if ptr.Pointer() != nil { + C.QTimer_Stop(ptr.Pointer()) + } +} + +func (ptr *QTimer) StopDefault() { + if ptr.Pointer() != nil { + C.QTimer_StopDefault(ptr.Pointer()) + } +} + +//export callbackQTimer_Timeout +func callbackQTimer_Timeout(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timeout"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QTimer) ConnectTimeout(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "timeout") { + C.QTimer_ConnectTimeout(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "timeout"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "timeout"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "timeout", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "timeout", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimer) DisconnectTimeout() { + if ptr.Pointer() != nil { + C.QTimer_DisconnectTimeout(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "timeout") + } +} + +func (ptr *QTimer) TimerId() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimer_TimerId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTimer) TimerType() Qt__TimerType { + if ptr.Pointer() != nil { + return Qt__TimerType(C.QTimer_TimerType(ptr.Pointer())) + } + return 0 +} + +//export callbackQTimer_DestroyQTimer +func callbackQTimer_DestroyQTimer(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTimer"); signal != nil { + (*(*func())(signal))() + } else { + NewQTimerFromPointer(ptr).DestroyQTimerDefault() + } +} + +func (ptr *QTimer) ConnectDestroyQTimer(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTimer"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTimer", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTimer", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTimer) DisconnectDestroyQTimer() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTimer") + } +} + +func (ptr *QTimer) DestroyQTimer() { + if ptr.Pointer() != nil { + C.QTimer_DestroyQTimer(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTimer) DestroyQTimerDefault() { + if ptr.Pointer() != nil { + C.QTimer_DestroyQTimerDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTimerEvent struct { + QEvent +} + +type QTimerEvent_ITF interface { + QEvent_ITF + QTimerEvent_PTR() *QTimerEvent +} + +func (ptr *QTimerEvent) QTimerEvent_PTR() *QTimerEvent { + return ptr +} + +func (ptr *QTimerEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QTimerEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQTimerEvent(ptr QTimerEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTimerEvent_PTR().Pointer() + } + return nil +} + +func NewQTimerEventFromPointer(ptr unsafe.Pointer) (n *QTimerEvent) { + n = new(QTimerEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QTimerEvent) DestroyQTimerEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQTimerEvent(timerId int) *QTimerEvent { + tmpValue := NewQTimerEventFromPointer(C.QTimerEvent_NewQTimerEvent(C.int(int32(timerId)))) + runtime.SetFinalizer(tmpValue, (*QTimerEvent).DestroyQTimerEvent) + return tmpValue +} + +func (ptr *QTimerEvent) TimerId() int { + if ptr.Pointer() != nil { + return int(int32(C.QTimerEvent_TimerId(ptr.Pointer()))) + } + return 0 +} + +type QTranslator struct { + QObject +} + +type QTranslator_ITF interface { + QObject_ITF + QTranslator_PTR() *QTranslator +} + +func (ptr *QTranslator) QTranslator_PTR() *QTranslator { + return ptr +} + +func (ptr *QTranslator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QTranslator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQTranslator(ptr QTranslator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTranslator_PTR().Pointer() + } + return nil +} + +func NewQTranslatorFromPointer(ptr unsafe.Pointer) (n *QTranslator) { + n = new(QTranslator) + n.SetPointer(ptr) + return +} +func NewQTranslator(parent QObject_ITF) *QTranslator { + tmpValue := NewQTranslatorFromPointer(C.QTranslator_NewQTranslator(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQTranslator_IsEmpty +func callbackQTranslator_IsEmpty(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "isEmpty"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQTranslatorFromPointer(ptr).IsEmptyDefault()))) +} + +func (ptr *QTranslator) ConnectIsEmpty(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "isEmpty"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "isEmpty", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "isEmpty", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTranslator) DisconnectIsEmpty() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "isEmpty") + } +} + +func (ptr *QTranslator) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QTranslator_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTranslator) IsEmptyDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QTranslator_IsEmptyDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTranslator) Load(filename string, directory string, search_delimiters string, suffix string) bool { + if ptr.Pointer() != nil { + var filenameC *C.char + if filename != "" { + filenameC = C.CString(filename) + defer C.free(unsafe.Pointer(filenameC)) + } + var directoryC *C.char + if directory != "" { + directoryC = C.CString(directory) + defer C.free(unsafe.Pointer(directoryC)) + } + var search_delimitersC *C.char + if search_delimiters != "" { + search_delimitersC = C.CString(search_delimiters) + defer C.free(unsafe.Pointer(search_delimitersC)) + } + var suffixC *C.char + if suffix != "" { + suffixC = C.CString(suffix) + defer C.free(unsafe.Pointer(suffixC)) + } + return int8(C.QTranslator_Load(ptr.Pointer(), C.struct_QtCore_PackedString{data: filenameC, len: C.longlong(len(filename))}, C.struct_QtCore_PackedString{data: directoryC, len: C.longlong(len(directory))}, C.struct_QtCore_PackedString{data: search_delimitersC, len: C.longlong(len(search_delimiters))}, C.struct_QtCore_PackedString{data: suffixC, len: C.longlong(len(suffix))})) != 0 + } + return false +} + +func (ptr *QTranslator) Load2(locale QLocale_ITF, filename string, prefix string, directory string, suffix string) bool { + if ptr.Pointer() != nil { + var filenameC *C.char + if filename != "" { + filenameC = C.CString(filename) + defer C.free(unsafe.Pointer(filenameC)) + } + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + var directoryC *C.char + if directory != "" { + directoryC = C.CString(directory) + defer C.free(unsafe.Pointer(directoryC)) + } + var suffixC *C.char + if suffix != "" { + suffixC = C.CString(suffix) + defer C.free(unsafe.Pointer(suffixC)) + } + return int8(C.QTranslator_Load2(ptr.Pointer(), PointerFromQLocale(locale), C.struct_QtCore_PackedString{data: filenameC, len: C.longlong(len(filename))}, C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}, C.struct_QtCore_PackedString{data: directoryC, len: C.longlong(len(directory))}, C.struct_QtCore_PackedString{data: suffixC, len: C.longlong(len(suffix))})) != 0 + } + return false +} + +func (ptr *QTranslator) Load3(data string, l int, directory string) bool { + if ptr.Pointer() != nil { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + var directoryC *C.char + if directory != "" { + directoryC = C.CString(directory) + defer C.free(unsafe.Pointer(directoryC)) + } + return int8(C.QTranslator_Load3(ptr.Pointer(), dataC, C.int(int32(l)), C.struct_QtCore_PackedString{data: directoryC, len: C.longlong(len(directory))})) != 0 + } + return false +} + +//export callbackQTranslator_Translate +func callbackQTranslator_Translate(ptr unsafe.Pointer, context C.struct_QtCore_PackedString, sourceText C.struct_QtCore_PackedString, disambiguation C.struct_QtCore_PackedString, n C.int) C.struct_QtCore_PackedString { + if signal := qt.GetSignal(ptr, "translate"); signal != nil { + tempVal := (*(*func(string, string, string, int) string)(signal))(cGoUnpackString(context), cGoUnpackString(sourceText), cGoUnpackString(disambiguation), int(int32(n))) + return C.struct_QtCore_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQTranslatorFromPointer(ptr).TranslateDefault(cGoUnpackString(context), cGoUnpackString(sourceText), cGoUnpackString(disambiguation), int(int32(n))) + return C.struct_QtCore_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QTranslator) ConnectTranslate(f func(context string, sourceText string, disambiguation string, n int) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "translate"); signal != nil { + f := func(context string, sourceText string, disambiguation string, n int) string { + (*(*func(string, string, string, int) string)(signal))(context, sourceText, disambiguation, n) + return f(context, sourceText, disambiguation, n) + } + qt.ConnectSignal(ptr.Pointer(), "translate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "translate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTranslator) DisconnectTranslate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "translate") + } +} + +func (ptr *QTranslator) Translate(context string, sourceText string, disambiguation string, n int) string { + if ptr.Pointer() != nil { + var contextC *C.char + if context != "" { + contextC = C.CString(context) + defer C.free(unsafe.Pointer(contextC)) + } + var sourceTextC *C.char + if sourceText != "" { + sourceTextC = C.CString(sourceText) + defer C.free(unsafe.Pointer(sourceTextC)) + } + var disambiguationC *C.char + if disambiguation != "" { + disambiguationC = C.CString(disambiguation) + defer C.free(unsafe.Pointer(disambiguationC)) + } + return cGoUnpackString(C.QTranslator_Translate(ptr.Pointer(), contextC, sourceTextC, disambiguationC, C.int(int32(n)))) + } + return "" +} + +func (ptr *QTranslator) TranslateDefault(context string, sourceText string, disambiguation string, n int) string { + if ptr.Pointer() != nil { + var contextC *C.char + if context != "" { + contextC = C.CString(context) + defer C.free(unsafe.Pointer(contextC)) + } + var sourceTextC *C.char + if sourceText != "" { + sourceTextC = C.CString(sourceText) + defer C.free(unsafe.Pointer(sourceTextC)) + } + var disambiguationC *C.char + if disambiguation != "" { + disambiguationC = C.CString(disambiguation) + defer C.free(unsafe.Pointer(disambiguationC)) + } + return cGoUnpackString(C.QTranslator_TranslateDefault(ptr.Pointer(), contextC, sourceTextC, disambiguationC, C.int(int32(n)))) + } + return "" +} + +//export callbackQTranslator_DestroyQTranslator +func callbackQTranslator_DestroyQTranslator(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTranslator"); signal != nil { + (*(*func())(signal))() + } else { + NewQTranslatorFromPointer(ptr).DestroyQTranslatorDefault() + } +} + +func (ptr *QTranslator) ConnectDestroyQTranslator(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTranslator"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTranslator", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTranslator", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTranslator) DisconnectDestroyQTranslator() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTranslator") + } +} + +func (ptr *QTranslator) DestroyQTranslator() { + if ptr.Pointer() != nil { + C.QTranslator_DestroyQTranslator(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTranslator) DestroyQTranslatorDefault() { + if ptr.Pointer() != nil { + C.QTranslator_DestroyQTranslatorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTransposeProxyModel struct { + QAbstractProxyModel +} + +type QTransposeProxyModel_ITF interface { + QAbstractProxyModel_ITF + QTransposeProxyModel_PTR() *QTransposeProxyModel +} + +func (ptr *QTransposeProxyModel) QTransposeProxyModel_PTR() *QTransposeProxyModel { + return ptr +} + +func (ptr *QTransposeProxyModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractProxyModel_PTR().Pointer() + } + return nil +} + +func (ptr *QTransposeProxyModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractProxyModel_PTR().SetPointer(p) + } +} + +func PointerFromQTransposeProxyModel(ptr QTransposeProxyModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTransposeProxyModel_PTR().Pointer() + } + return nil +} + +func NewQTransposeProxyModelFromPointer(ptr unsafe.Pointer) (n *QTransposeProxyModel) { + n = new(QTransposeProxyModel) + n.SetPointer(ptr) + return +} +func NewQTransposeProxyModel2(parent QObject_ITF) *QTransposeProxyModel { + tmpValue := NewQTransposeProxyModelFromPointer(C.QTransposeProxyModel_NewQTransposeProxyModel2(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQTransposeProxyModel_ColumnCount +func callbackQTransposeProxyModel_ColumnCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQTransposeProxyModelFromPointer(ptr).ColumnCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QTransposeProxyModel) ConnectColumnCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTransposeProxyModel) DisconnectColumnCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnCount") + } +} + +func (ptr *QTransposeProxyModel) ColumnCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTransposeProxyModel_ColumnCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QTransposeProxyModel) ColumnCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTransposeProxyModel_ColumnCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQTransposeProxyModel_Index +func callbackQTransposeProxyModel_Index(ptr unsafe.Pointer, row C.int, column C.int, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "index"); signal != nil { + return PointerFromQModelIndex((*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) + } + + return PointerFromQModelIndex(NewQTransposeProxyModelFromPointer(ptr).IndexDefault(int(int32(row)), int(int32(column)), NewQModelIndexFromPointer(parent))) +} + +func (ptr *QTransposeProxyModel) ConnectIndex(f func(row int, column int, parent *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "index"); signal != nil { + f := func(row int, column int, parent *QModelIndex) *QModelIndex { + (*(*func(int, int, *QModelIndex) *QModelIndex)(signal))(row, column, parent) + return f(row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTransposeProxyModel) DisconnectIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "index") + } +} + +func (ptr *QTransposeProxyModel) Index(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QTransposeProxyModel_Index(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QTransposeProxyModel) IndexDefault(row int, column int, parent QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QTransposeProxyModel_IndexDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQTransposeProxyModel_MapFromSource +func callbackQTransposeProxyModel_MapFromSource(ptr unsafe.Pointer, sourceIndex unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapFromSource"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(sourceIndex))) + } + + return PointerFromQModelIndex(NewQTransposeProxyModelFromPointer(ptr).MapFromSourceDefault(NewQModelIndexFromPointer(sourceIndex))) +} + +func (ptr *QTransposeProxyModel) ConnectMapFromSource(f func(sourceIndex *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapFromSource"); signal != nil { + f := func(sourceIndex *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(sourceIndex) + return f(sourceIndex) + } + qt.ConnectSignal(ptr.Pointer(), "mapFromSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapFromSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTransposeProxyModel) DisconnectMapFromSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapFromSource") + } +} + +func (ptr *QTransposeProxyModel) MapFromSource(sourceIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QTransposeProxyModel_MapFromSource(ptr.Pointer(), PointerFromQModelIndex(sourceIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QTransposeProxyModel) MapFromSourceDefault(sourceIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QTransposeProxyModel_MapFromSourceDefault(ptr.Pointer(), PointerFromQModelIndex(sourceIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQTransposeProxyModel_MapToSource +func callbackQTransposeProxyModel_MapToSource(ptr unsafe.Pointer, proxyIndex unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mapToSource"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(proxyIndex))) + } + + return PointerFromQModelIndex(NewQTransposeProxyModelFromPointer(ptr).MapToSourceDefault(NewQModelIndexFromPointer(proxyIndex))) +} + +func (ptr *QTransposeProxyModel) ConnectMapToSource(f func(proxyIndex *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mapToSource"); signal != nil { + f := func(proxyIndex *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(proxyIndex) + return f(proxyIndex) + } + qt.ConnectSignal(ptr.Pointer(), "mapToSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mapToSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTransposeProxyModel) DisconnectMapToSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mapToSource") + } +} + +func (ptr *QTransposeProxyModel) MapToSource(proxyIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QTransposeProxyModel_MapToSource(ptr.Pointer(), PointerFromQModelIndex(proxyIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QTransposeProxyModel) MapToSourceDefault(proxyIndex QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QTransposeProxyModel_MapToSourceDefault(ptr.Pointer(), PointerFromQModelIndex(proxyIndex))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQTransposeProxyModel_Parent +func callbackQTransposeProxyModel_Parent(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQModelIndex((*(*func(*QModelIndex) *QModelIndex)(signal))(NewQModelIndexFromPointer(index))) + } + + return PointerFromQModelIndex(NewQTransposeProxyModelFromPointer(ptr).ParentDefault(NewQModelIndexFromPointer(index))) +} + +func (ptr *QTransposeProxyModel) ConnectParent(f func(index *QModelIndex) *QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "parent"); signal != nil { + f := func(index *QModelIndex) *QModelIndex { + (*(*func(*QModelIndex) *QModelIndex)(signal))(index) + return f(index) + } + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTransposeProxyModel) DisconnectParent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "parent") + } +} + +func (ptr *QTransposeProxyModel) Parent(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QTransposeProxyModel_Parent(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QTransposeProxyModel) ParentDefault(index QModelIndex_ITF) *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QTransposeProxyModel_ParentDefault(ptr.Pointer(), PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQTransposeProxyModel_RowCount +func callbackQTransposeProxyModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*QModelIndex) int)(signal))(NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQTransposeProxyModelFromPointer(ptr).RowCountDefault(NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QTransposeProxyModel) ConnectRowCount(f func(parent *QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowCount"); signal != nil { + f := func(parent *QModelIndex) int { + (*(*func(*QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTransposeProxyModel) DisconnectRowCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowCount") + } +} + +func (ptr *QTransposeProxyModel) RowCount(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTransposeProxyModel_RowCount(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QTransposeProxyModel) RowCountDefault(parent QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTransposeProxyModel_RowCountDefault(ptr.Pointer(), PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQTransposeProxyModel_DestroyQTransposeProxyModel +func callbackQTransposeProxyModel_DestroyQTransposeProxyModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTransposeProxyModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQTransposeProxyModelFromPointer(ptr).DestroyQTransposeProxyModelDefault() + } +} + +func (ptr *QTransposeProxyModel) ConnectDestroyQTransposeProxyModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTransposeProxyModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTransposeProxyModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTransposeProxyModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTransposeProxyModel) DisconnectDestroyQTransposeProxyModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTransposeProxyModel") + } +} + +func (ptr *QTransposeProxyModel) DestroyQTransposeProxyModel() { + if ptr.Pointer() != nil { + C.QTransposeProxyModel_DestroyQTransposeProxyModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTransposeProxyModel) DestroyQTransposeProxyModelDefault() { + if ptr.Pointer() != nil { + C.QTransposeProxyModel_DestroyQTransposeProxyModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTypedArrayData struct { + QArrayData +} + +type QTypedArrayData_ITF interface { + QArrayData_ITF + QTypedArrayData_PTR() *QTypedArrayData +} + +func (ptr *QTypedArrayData) QTypedArrayData_PTR() *QTypedArrayData { + return ptr +} + +func (ptr *QTypedArrayData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QArrayData_PTR().Pointer() + } + return nil +} + +func (ptr *QTypedArrayData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QArrayData_PTR().SetPointer(p) + } +} + +func PointerFromQTypedArrayData(ptr QTypedArrayData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTypedArrayData_PTR().Pointer() + } + return nil +} + +func NewQTypedArrayDataFromPointer(ptr unsafe.Pointer) (n *QTypedArrayData) { + n = new(QTypedArrayData) + n.SetPointer(ptr) + return +} + +func (ptr *QTypedArrayData) DestroyQTypedArrayData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QUnhandledException struct { + QException +} + +type QUnhandledException_ITF interface { + QException_ITF + QUnhandledException_PTR() *QUnhandledException +} + +func (ptr *QUnhandledException) QUnhandledException_PTR() *QUnhandledException { + return ptr +} + +func (ptr *QUnhandledException) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QException_PTR().Pointer() + } + return nil +} + +func (ptr *QUnhandledException) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QException_PTR().SetPointer(p) + } +} + +func PointerFromQUnhandledException(ptr QUnhandledException_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QUnhandledException_PTR().Pointer() + } + return nil +} + +func NewQUnhandledExceptionFromPointer(ptr unsafe.Pointer) (n *QUnhandledException) { + n = new(QUnhandledException) + n.SetPointer(ptr) + return +} + +func (ptr *QUnhandledException) DestroyQUnhandledException() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QUrl struct { + ptr unsafe.Pointer +} + +type QUrl_ITF interface { + QUrl_PTR() *QUrl +} + +func (ptr *QUrl) QUrl_PTR() *QUrl { + return ptr +} + +func (ptr *QUrl) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QUrl) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQUrl(ptr QUrl_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QUrl_PTR().Pointer() + } + return nil +} + +func NewQUrlFromPointer(ptr unsafe.Pointer) (n *QUrl) { + n = new(QUrl) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QUrl__ParsingMode +//QUrl::ParsingMode +type QUrl__ParsingMode int64 + +const ( + QUrl__TolerantMode QUrl__ParsingMode = QUrl__ParsingMode(0) + QUrl__StrictMode QUrl__ParsingMode = QUrl__ParsingMode(1) + QUrl__DecodedMode QUrl__ParsingMode = QUrl__ParsingMode(2) +) + +//go:generate stringer -type=QUrl__UrlFormattingOption +//QUrl::UrlFormattingOption +type QUrl__UrlFormattingOption int64 + +const ( + QUrl__None QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x0) + QUrl__RemoveScheme QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x1) + QUrl__RemovePassword QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x2) + QUrl__RemoveUserInfo QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(QUrl__RemovePassword | 0x4) + QUrl__RemovePort QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x8) + QUrl__RemoveAuthority QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(QUrl__RemoveUserInfo | QUrl__RemovePort | 0x10) + QUrl__RemovePath QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x20) + QUrl__RemoveQuery QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x40) + QUrl__RemoveFragment QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x80) + QUrl__PreferLocalFile QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x200) + QUrl__StripTrailingSlash QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x400) + QUrl__RemoveFilename QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x800) + QUrl__NormalizePathSegments QUrl__UrlFormattingOption = QUrl__UrlFormattingOption(0x1000) +) + +//go:generate stringer -type=QUrl__ComponentFormattingOption +//QUrl::ComponentFormattingOption +type QUrl__ComponentFormattingOption int64 + +const ( + QUrl__PrettyDecoded QUrl__ComponentFormattingOption = QUrl__ComponentFormattingOption(0x000000) + QUrl__EncodeSpaces QUrl__ComponentFormattingOption = QUrl__ComponentFormattingOption(0x100000) + QUrl__EncodeUnicode QUrl__ComponentFormattingOption = QUrl__ComponentFormattingOption(0x200000) + QUrl__EncodeDelimiters QUrl__ComponentFormattingOption = QUrl__ComponentFormattingOption(0x400000 | 0x800000) + QUrl__EncodeReserved QUrl__ComponentFormattingOption = QUrl__ComponentFormattingOption(0x1000000) + QUrl__DecodeReserved QUrl__ComponentFormattingOption = QUrl__ComponentFormattingOption(0x2000000) + QUrl__FullyEncoded QUrl__ComponentFormattingOption = QUrl__ComponentFormattingOption(QUrl__EncodeSpaces | QUrl__EncodeUnicode | QUrl__EncodeDelimiters | QUrl__EncodeReserved) + QUrl__FullyDecoded QUrl__ComponentFormattingOption = QUrl__ComponentFormattingOption(QUrl__FullyEncoded | QUrl__DecodeReserved | 0x4000000) +) + +//go:generate stringer -type=QUrl__UserInputResolutionOption +//QUrl::UserInputResolutionOption +type QUrl__UserInputResolutionOption int64 + +const ( + QUrl__DefaultResolution QUrl__UserInputResolutionOption = QUrl__UserInputResolutionOption(0) + QUrl__AssumeLocalFile QUrl__UserInputResolutionOption = QUrl__UserInputResolutionOption(1) +) + +func NewQUrl() *QUrl { + tmpValue := NewQUrlFromPointer(C.QUrl_NewQUrl()) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func NewQUrl2(other QUrl_ITF) *QUrl { + tmpValue := NewQUrlFromPointer(C.QUrl_NewQUrl2(PointerFromQUrl(other))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func NewQUrl3(url string, parsingMode QUrl__ParsingMode) *QUrl { + var urlC *C.char + if url != "" { + urlC = C.CString(url) + defer C.free(unsafe.Pointer(urlC)) + } + tmpValue := NewQUrlFromPointer(C.QUrl_NewQUrl3(C.struct_QtCore_PackedString{data: urlC, len: C.longlong(len(url))}, C.longlong(parsingMode))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func NewQUrl4(other QUrl_ITF) *QUrl { + tmpValue := NewQUrlFromPointer(C.QUrl_NewQUrl4(PointerFromQUrl(other))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func (ptr *QUrl) Adjusted(options QUrl__UrlFormattingOption) *QUrl { + if ptr.Pointer() != nil { + tmpValue := NewQUrlFromPointer(C.QUrl_Adjusted(ptr.Pointer(), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QUrl) Authority(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_Authority(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) Clear() { + if ptr.Pointer() != nil { + C.QUrl_Clear(ptr.Pointer()) + } +} + +func (ptr *QUrl) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QUrl) FileName(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_FileName(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) Fragment(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_Fragment(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func QUrl_FromAce(domain QByteArray_ITF) string { + return cGoUnpackString(C.QUrl_QUrl_FromAce(PointerFromQByteArray(domain))) +} + +func (ptr *QUrl) FromAce(domain QByteArray_ITF) string { + return cGoUnpackString(C.QUrl_QUrl_FromAce(PointerFromQByteArray(domain))) +} + +func QUrl_FromEncoded(input QByteArray_ITF, parsingMode QUrl__ParsingMode) *QUrl { + tmpValue := NewQUrlFromPointer(C.QUrl_QUrl_FromEncoded(PointerFromQByteArray(input), C.longlong(parsingMode))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func (ptr *QUrl) FromEncoded(input QByteArray_ITF, parsingMode QUrl__ParsingMode) *QUrl { + tmpValue := NewQUrlFromPointer(C.QUrl_QUrl_FromEncoded(PointerFromQByteArray(input), C.longlong(parsingMode))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func QUrl_FromLocalFile(localFile string) *QUrl { + var localFileC *C.char + if localFile != "" { + localFileC = C.CString(localFile) + defer C.free(unsafe.Pointer(localFileC)) + } + tmpValue := NewQUrlFromPointer(C.QUrl_QUrl_FromLocalFile(C.struct_QtCore_PackedString{data: localFileC, len: C.longlong(len(localFile))})) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func (ptr *QUrl) FromLocalFile(localFile string) *QUrl { + var localFileC *C.char + if localFile != "" { + localFileC = C.CString(localFile) + defer C.free(unsafe.Pointer(localFileC)) + } + tmpValue := NewQUrlFromPointer(C.QUrl_QUrl_FromLocalFile(C.struct_QtCore_PackedString{data: localFileC, len: C.longlong(len(localFile))})) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func QUrl_FromPercentEncoding(input QByteArray_ITF) string { + return cGoUnpackString(C.QUrl_QUrl_FromPercentEncoding(PointerFromQByteArray(input))) +} + +func (ptr *QUrl) FromPercentEncoding(input QByteArray_ITF) string { + return cGoUnpackString(C.QUrl_QUrl_FromPercentEncoding(PointerFromQByteArray(input))) +} + +func QUrl_FromStringList(urls []string, mode QUrl__ParsingMode) []*QUrl { + urlsC := C.CString(strings.Join(urls, "¡¦!")) + defer C.free(unsafe.Pointer(urlsC)) + return func(l C.struct_QtCore_PackedList) []*QUrl { + out := make([]*QUrl, int(l.len)) + tmpList := NewQUrlFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__fromStringList_atList(i) + } + return out + }(C.QUrl_QUrl_FromStringList(C.struct_QtCore_PackedString{data: urlsC, len: C.longlong(len(strings.Join(urls, "¡¦!")))}, C.longlong(mode))) +} + +func (ptr *QUrl) FromStringList(urls []string, mode QUrl__ParsingMode) []*QUrl { + urlsC := C.CString(strings.Join(urls, "¡¦!")) + defer C.free(unsafe.Pointer(urlsC)) + return func(l C.struct_QtCore_PackedList) []*QUrl { + out := make([]*QUrl, int(l.len)) + tmpList := NewQUrlFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__fromStringList_atList(i) + } + return out + }(C.QUrl_QUrl_FromStringList(C.struct_QtCore_PackedString{data: urlsC, len: C.longlong(len(strings.Join(urls, "¡¦!")))}, C.longlong(mode))) +} + +func QUrl_FromUserInput(userInput string) *QUrl { + var userInputC *C.char + if userInput != "" { + userInputC = C.CString(userInput) + defer C.free(unsafe.Pointer(userInputC)) + } + tmpValue := NewQUrlFromPointer(C.QUrl_QUrl_FromUserInput(C.struct_QtCore_PackedString{data: userInputC, len: C.longlong(len(userInput))})) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func (ptr *QUrl) FromUserInput(userInput string) *QUrl { + var userInputC *C.char + if userInput != "" { + userInputC = C.CString(userInput) + defer C.free(unsafe.Pointer(userInputC)) + } + tmpValue := NewQUrlFromPointer(C.QUrl_QUrl_FromUserInput(C.struct_QtCore_PackedString{data: userInputC, len: C.longlong(len(userInput))})) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func QUrl_FromUserInput2(userInput string, workingDirectory string, options QUrl__UserInputResolutionOption) *QUrl { + var userInputC *C.char + if userInput != "" { + userInputC = C.CString(userInput) + defer C.free(unsafe.Pointer(userInputC)) + } + var workingDirectoryC *C.char + if workingDirectory != "" { + workingDirectoryC = C.CString(workingDirectory) + defer C.free(unsafe.Pointer(workingDirectoryC)) + } + tmpValue := NewQUrlFromPointer(C.QUrl_QUrl_FromUserInput2(C.struct_QtCore_PackedString{data: userInputC, len: C.longlong(len(userInput))}, C.struct_QtCore_PackedString{data: workingDirectoryC, len: C.longlong(len(workingDirectory))}, C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func (ptr *QUrl) FromUserInput2(userInput string, workingDirectory string, options QUrl__UserInputResolutionOption) *QUrl { + var userInputC *C.char + if userInput != "" { + userInputC = C.CString(userInput) + defer C.free(unsafe.Pointer(userInputC)) + } + var workingDirectoryC *C.char + if workingDirectory != "" { + workingDirectoryC = C.CString(workingDirectory) + defer C.free(unsafe.Pointer(workingDirectoryC)) + } + tmpValue := NewQUrlFromPointer(C.QUrl_QUrl_FromUserInput2(C.struct_QtCore_PackedString{data: userInputC, len: C.longlong(len(userInput))}, C.struct_QtCore_PackedString{data: workingDirectoryC, len: C.longlong(len(workingDirectory))}, C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue +} + +func (ptr *QUrl) HasFragment() bool { + if ptr.Pointer() != nil { + return int8(C.QUrl_HasFragment(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QUrl) HasQuery() bool { + if ptr.Pointer() != nil { + return int8(C.QUrl_HasQuery(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QUrl) Host(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_Host(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func QUrl_IdnWhitelist() []string { + return unpackStringList(cGoUnpackString(C.QUrl_QUrl_IdnWhitelist())) +} + +func (ptr *QUrl) IdnWhitelist() []string { + return unpackStringList(cGoUnpackString(C.QUrl_QUrl_IdnWhitelist())) +} + +func (ptr *QUrl) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QUrl_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QUrl) IsLocalFile() bool { + if ptr.Pointer() != nil { + return int8(C.QUrl_IsLocalFile(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QUrl) IsParentOf(childUrl QUrl_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QUrl_IsParentOf(ptr.Pointer(), PointerFromQUrl(childUrl))) != 0 + } + return false +} + +func (ptr *QUrl) IsRelative() bool { + if ptr.Pointer() != nil { + return int8(C.QUrl_IsRelative(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QUrl) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QUrl_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QUrl) Matches(url QUrl_ITF, options QUrl__UrlFormattingOption) bool { + if ptr.Pointer() != nil { + return int8(C.QUrl_Matches(ptr.Pointer(), PointerFromQUrl(url), C.longlong(options))) != 0 + } + return false +} + +func (ptr *QUrl) Password(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_Password(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) Path(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_Path(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) Port(defaultPort int) int { + if ptr.Pointer() != nil { + return int(int32(C.QUrl_Port(ptr.Pointer(), C.int(int32(defaultPort))))) + } + return 0 +} + +func (ptr *QUrl) Query(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_Query(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) Resolved(relative QUrl_ITF) *QUrl { + if ptr.Pointer() != nil { + tmpValue := NewQUrlFromPointer(C.QUrl_Resolved(ptr.Pointer(), PointerFromQUrl(relative))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QUrl) Scheme() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_Scheme(ptr.Pointer())) + } + return "" +} + +func (ptr *QUrl) SetAuthority(authority string, mode QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var authorityC *C.char + if authority != "" { + authorityC = C.CString(authority) + defer C.free(unsafe.Pointer(authorityC)) + } + C.QUrl_SetAuthority(ptr.Pointer(), C.struct_QtCore_PackedString{data: authorityC, len: C.longlong(len(authority))}, C.longlong(mode)) + } +} + +func (ptr *QUrl) SetFragment(fragment string, mode QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var fragmentC *C.char + if fragment != "" { + fragmentC = C.CString(fragment) + defer C.free(unsafe.Pointer(fragmentC)) + } + C.QUrl_SetFragment(ptr.Pointer(), C.struct_QtCore_PackedString{data: fragmentC, len: C.longlong(len(fragment))}, C.longlong(mode)) + } +} + +func (ptr *QUrl) SetHost(host string, mode QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var hostC *C.char + if host != "" { + hostC = C.CString(host) + defer C.free(unsafe.Pointer(hostC)) + } + C.QUrl_SetHost(ptr.Pointer(), C.struct_QtCore_PackedString{data: hostC, len: C.longlong(len(host))}, C.longlong(mode)) + } +} + +func QUrl_SetIdnWhitelist(list []string) { + listC := C.CString(strings.Join(list, "¡¦!")) + defer C.free(unsafe.Pointer(listC)) + C.QUrl_QUrl_SetIdnWhitelist(C.struct_QtCore_PackedString{data: listC, len: C.longlong(len(strings.Join(list, "¡¦!")))}) +} + +func (ptr *QUrl) SetIdnWhitelist(list []string) { + listC := C.CString(strings.Join(list, "¡¦!")) + defer C.free(unsafe.Pointer(listC)) + C.QUrl_QUrl_SetIdnWhitelist(C.struct_QtCore_PackedString{data: listC, len: C.longlong(len(strings.Join(list, "¡¦!")))}) +} + +func (ptr *QUrl) SetPassword(password string, mode QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var passwordC *C.char + if password != "" { + passwordC = C.CString(password) + defer C.free(unsafe.Pointer(passwordC)) + } + C.QUrl_SetPassword(ptr.Pointer(), C.struct_QtCore_PackedString{data: passwordC, len: C.longlong(len(password))}, C.longlong(mode)) + } +} + +func (ptr *QUrl) SetPath(path string, mode QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QUrl_SetPath(ptr.Pointer(), C.struct_QtCore_PackedString{data: pathC, len: C.longlong(len(path))}, C.longlong(mode)) + } +} + +func (ptr *QUrl) SetPort(port int) { + if ptr.Pointer() != nil { + C.QUrl_SetPort(ptr.Pointer(), C.int(int32(port))) + } +} + +func (ptr *QUrl) SetQuery(query string, mode QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var queryC *C.char + if query != "" { + queryC = C.CString(query) + defer C.free(unsafe.Pointer(queryC)) + } + C.QUrl_SetQuery(ptr.Pointer(), C.struct_QtCore_PackedString{data: queryC, len: C.longlong(len(query))}, C.longlong(mode)) + } +} + +func (ptr *QUrl) SetQuery2(query QUrlQuery_ITF) { + if ptr.Pointer() != nil { + C.QUrl_SetQuery2(ptr.Pointer(), PointerFromQUrlQuery(query)) + } +} + +func (ptr *QUrl) SetScheme(scheme string) { + if ptr.Pointer() != nil { + var schemeC *C.char + if scheme != "" { + schemeC = C.CString(scheme) + defer C.free(unsafe.Pointer(schemeC)) + } + C.QUrl_SetScheme(ptr.Pointer(), C.struct_QtCore_PackedString{data: schemeC, len: C.longlong(len(scheme))}) + } +} + +func (ptr *QUrl) SetUrl(url string, parsingMode QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var urlC *C.char + if url != "" { + urlC = C.CString(url) + defer C.free(unsafe.Pointer(urlC)) + } + C.QUrl_SetUrl(ptr.Pointer(), C.struct_QtCore_PackedString{data: urlC, len: C.longlong(len(url))}, C.longlong(parsingMode)) + } +} + +func (ptr *QUrl) SetUserInfo(userInfo string, mode QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var userInfoC *C.char + if userInfo != "" { + userInfoC = C.CString(userInfo) + defer C.free(unsafe.Pointer(userInfoC)) + } + C.QUrl_SetUserInfo(ptr.Pointer(), C.struct_QtCore_PackedString{data: userInfoC, len: C.longlong(len(userInfo))}, C.longlong(mode)) + } +} + +func (ptr *QUrl) SetUserName(userName string, mode QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var userNameC *C.char + if userName != "" { + userNameC = C.CString(userName) + defer C.free(unsafe.Pointer(userNameC)) + } + C.QUrl_SetUserName(ptr.Pointer(), C.struct_QtCore_PackedString{data: userNameC, len: C.longlong(len(userName))}, C.longlong(mode)) + } +} + +func (ptr *QUrl) Swap(other QUrl_ITF) { + if ptr.Pointer() != nil { + C.QUrl_Swap(ptr.Pointer(), PointerFromQUrl(other)) + } +} + +func QUrl_ToAce(domain string) *QByteArray { + var domainC *C.char + if domain != "" { + domainC = C.CString(domain) + defer C.free(unsafe.Pointer(domainC)) + } + tmpValue := NewQByteArrayFromPointer(C.QUrl_QUrl_ToAce(C.struct_QtCore_PackedString{data: domainC, len: C.longlong(len(domain))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QUrl) ToAce(domain string) *QByteArray { + var domainC *C.char + if domain != "" { + domainC = C.CString(domain) + defer C.free(unsafe.Pointer(domainC)) + } + tmpValue := NewQByteArrayFromPointer(C.QUrl_QUrl_ToAce(C.struct_QtCore_PackedString{data: domainC, len: C.longlong(len(domain))})) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QUrl) ToDisplayString(options QUrl__UrlFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_ToDisplayString(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) ToEncoded(options QUrl__UrlFormattingOption) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QUrl_ToEncoded(ptr.Pointer(), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QUrl) ToLocalFile() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_ToLocalFile(ptr.Pointer())) + } + return "" +} + +func QUrl_ToPercentEncoding(input string, exclude QByteArray_ITF, include QByteArray_ITF) *QByteArray { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + tmpValue := NewQByteArrayFromPointer(C.QUrl_QUrl_ToPercentEncoding(C.struct_QtCore_PackedString{data: inputC, len: C.longlong(len(input))}, PointerFromQByteArray(exclude), PointerFromQByteArray(include))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QUrl) ToPercentEncoding(input string, exclude QByteArray_ITF, include QByteArray_ITF) *QByteArray { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + tmpValue := NewQByteArrayFromPointer(C.QUrl_QUrl_ToPercentEncoding(C.struct_QtCore_PackedString{data: inputC, len: C.longlong(len(input))}, PointerFromQByteArray(exclude), PointerFromQByteArray(include))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QUrl) ToString(options QUrl__UrlFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_ToString(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func QUrl_ToStringList(urls []*QUrl, options QUrl__UrlFormattingOption) []string { + return unpackStringList(cGoUnpackString(C.QUrl_QUrl_ToStringList(func() unsafe.Pointer { + tmpList := NewQUrlFromPointer(NewQUrlFromPointer(nil).__toStringList_urls_newList()) + for _, v := range urls { + tmpList.__toStringList_urls_setList(v) + } + return tmpList.Pointer() + }(), C.longlong(options)))) +} + +func (ptr *QUrl) ToStringList(urls []*QUrl, options QUrl__UrlFormattingOption) []string { + return unpackStringList(cGoUnpackString(C.QUrl_QUrl_ToStringList(func() unsafe.Pointer { + tmpList := NewQUrlFromPointer(NewQUrlFromPointer(nil).__toStringList_urls_newList()) + for _, v := range urls { + tmpList.__toStringList_urls_setList(v) + } + return tmpList.Pointer() + }(), C.longlong(options)))) +} + +func (ptr *QUrl) TopLevelDomain(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_TopLevelDomain(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) Url(options QUrl__UrlFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_Url(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) UserInfo(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_UserInfo(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) UserName(options QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrl_UserName(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QUrl) DestroyQUrl() { + if ptr.Pointer() != nil { + C.QUrl_DestroyQUrl(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QUrl) __allEncodedQueryItemValues_atList(i int) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QUrl___allEncodedQueryItemValues_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QUrl) __allEncodedQueryItemValues_setList(i QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QUrl___allEncodedQueryItemValues_setList(ptr.Pointer(), PointerFromQByteArray(i)) + } +} + +func (ptr *QUrl) __allEncodedQueryItemValues_newList() unsafe.Pointer { + return C.QUrl___allEncodedQueryItemValues_newList(ptr.Pointer()) +} + +func (ptr *QUrl) __fromStringList_atList(i int) *QUrl { + if ptr.Pointer() != nil { + tmpValue := NewQUrlFromPointer(C.QUrl___fromStringList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QUrl) __fromStringList_setList(i QUrl_ITF) { + if ptr.Pointer() != nil { + C.QUrl___fromStringList_setList(ptr.Pointer(), PointerFromQUrl(i)) + } +} + +func (ptr *QUrl) __fromStringList_newList() unsafe.Pointer { + return C.QUrl___fromStringList_newList(ptr.Pointer()) +} + +func (ptr *QUrl) __toStringList_urls_atList(i int) *QUrl { + if ptr.Pointer() != nil { + tmpValue := NewQUrlFromPointer(C.QUrl___toStringList_urls_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QUrl) __toStringList_urls_setList(i QUrl_ITF) { + if ptr.Pointer() != nil { + C.QUrl___toStringList_urls_setList(ptr.Pointer(), PointerFromQUrl(i)) + } +} + +func (ptr *QUrl) __toStringList_urls_newList() unsafe.Pointer { + return C.QUrl___toStringList_urls_newList(ptr.Pointer()) +} + +type QUrlQuery struct { + ptr unsafe.Pointer +} + +type QUrlQuery_ITF interface { + QUrlQuery_PTR() *QUrlQuery +} + +func (ptr *QUrlQuery) QUrlQuery_PTR() *QUrlQuery { + return ptr +} + +func (ptr *QUrlQuery) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QUrlQuery) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQUrlQuery(ptr QUrlQuery_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QUrlQuery_PTR().Pointer() + } + return nil +} + +func NewQUrlQueryFromPointer(ptr unsafe.Pointer) (n *QUrlQuery) { + n = new(QUrlQuery) + n.SetPointer(ptr) + return +} +func NewQUrlQuery() *QUrlQuery { + tmpValue := NewQUrlQueryFromPointer(C.QUrlQuery_NewQUrlQuery()) + runtime.SetFinalizer(tmpValue, (*QUrlQuery).DestroyQUrlQuery) + return tmpValue +} + +func NewQUrlQuery2(url QUrl_ITF) *QUrlQuery { + tmpValue := NewQUrlQueryFromPointer(C.QUrlQuery_NewQUrlQuery2(PointerFromQUrl(url))) + runtime.SetFinalizer(tmpValue, (*QUrlQuery).DestroyQUrlQuery) + return tmpValue +} + +func NewQUrlQuery3(queryString string) *QUrlQuery { + var queryStringC *C.char + if queryString != "" { + queryStringC = C.CString(queryString) + defer C.free(unsafe.Pointer(queryStringC)) + } + tmpValue := NewQUrlQueryFromPointer(C.QUrlQuery_NewQUrlQuery3(C.struct_QtCore_PackedString{data: queryStringC, len: C.longlong(len(queryString))})) + runtime.SetFinalizer(tmpValue, (*QUrlQuery).DestroyQUrlQuery) + return tmpValue +} + +func NewQUrlQuery5(other QUrlQuery_ITF) *QUrlQuery { + tmpValue := NewQUrlQueryFromPointer(C.QUrlQuery_NewQUrlQuery5(PointerFromQUrlQuery(other))) + runtime.SetFinalizer(tmpValue, (*QUrlQuery).DestroyQUrlQuery) + return tmpValue +} + +func (ptr *QUrlQuery) AddQueryItem(key string, value string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + C.QUrlQuery_AddQueryItem(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, C.struct_QtCore_PackedString{data: valueC, len: C.longlong(len(value))}) + } +} + +func (ptr *QUrlQuery) AllQueryItemValues(key string, encoding QUrl__ComponentFormattingOption) []string { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return unpackStringList(cGoUnpackString(C.QUrlQuery_AllQueryItemValues(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, C.longlong(encoding)))) + } + return make([]string, 0) +} + +func (ptr *QUrlQuery) Clear() { + if ptr.Pointer() != nil { + C.QUrlQuery_Clear(ptr.Pointer()) + } +} + +func QUrlQuery_DefaultQueryPairDelimiter() *QChar { + tmpValue := NewQCharFromPointer(C.QUrlQuery_QUrlQuery_DefaultQueryPairDelimiter()) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func (ptr *QUrlQuery) DefaultQueryPairDelimiter() *QChar { + tmpValue := NewQCharFromPointer(C.QUrlQuery_QUrlQuery_DefaultQueryPairDelimiter()) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func QUrlQuery_DefaultQueryValueDelimiter() *QChar { + tmpValue := NewQCharFromPointer(C.QUrlQuery_QUrlQuery_DefaultQueryValueDelimiter()) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func (ptr *QUrlQuery) DefaultQueryValueDelimiter() *QChar { + tmpValue := NewQCharFromPointer(C.QUrlQuery_QUrlQuery_DefaultQueryValueDelimiter()) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue +} + +func (ptr *QUrlQuery) HasQueryItem(key string) bool { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return int8(C.QUrlQuery_HasQueryItem(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))})) != 0 + } + return false +} + +func (ptr *QUrlQuery) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QUrlQuery_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QUrlQuery) Query(encoding QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrlQuery_Query(ptr.Pointer(), C.longlong(encoding))) + } + return "" +} + +func (ptr *QUrlQuery) QueryItemValue(key string, encoding QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return cGoUnpackString(C.QUrlQuery_QueryItemValue(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, C.longlong(encoding))) + } + return "" +} + +func (ptr *QUrlQuery) QueryPairDelimiter() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QUrlQuery_QueryPairDelimiter(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QUrlQuery) QueryValueDelimiter() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QUrlQuery_QueryValueDelimiter(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QUrlQuery) RemoveAllQueryItems(key string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QUrlQuery_RemoveAllQueryItems(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}) + } +} + +func (ptr *QUrlQuery) RemoveQueryItem(key string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QUrlQuery_RemoveQueryItem(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}) + } +} + +func (ptr *QUrlQuery) SetQuery(queryString string) { + if ptr.Pointer() != nil { + var queryStringC *C.char + if queryString != "" { + queryStringC = C.CString(queryString) + defer C.free(unsafe.Pointer(queryStringC)) + } + C.QUrlQuery_SetQuery(ptr.Pointer(), C.struct_QtCore_PackedString{data: queryStringC, len: C.longlong(len(queryString))}) + } +} + +func (ptr *QUrlQuery) SetQueryDelimiters(valueDelimiter QChar_ITF, pairDelimiter QChar_ITF) { + if ptr.Pointer() != nil { + C.QUrlQuery_SetQueryDelimiters(ptr.Pointer(), PointerFromQChar(valueDelimiter), PointerFromQChar(pairDelimiter)) + } +} + +func (ptr *QUrlQuery) Swap(other QUrlQuery_ITF) { + if ptr.Pointer() != nil { + C.QUrlQuery_Swap(ptr.Pointer(), PointerFromQUrlQuery(other)) + } +} + +func (ptr *QUrlQuery) ToString(encoding QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUrlQuery_ToString(ptr.Pointer(), C.longlong(encoding))) + } + return "" +} + +func (ptr *QUrlQuery) DestroyQUrlQuery() { + if ptr.Pointer() != nil { + C.QUrlQuery_DestroyQUrlQuery(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QUrlTwoFlags struct { + ptr unsafe.Pointer +} + +type QUrlTwoFlags_ITF interface { + QUrlTwoFlags_PTR() *QUrlTwoFlags +} + +func (ptr *QUrlTwoFlags) QUrlTwoFlags_PTR() *QUrlTwoFlags { + return ptr +} + +func (ptr *QUrlTwoFlags) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QUrlTwoFlags) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQUrlTwoFlags(ptr QUrlTwoFlags_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QUrlTwoFlags_PTR().Pointer() + } + return nil +} + +func NewQUrlTwoFlagsFromPointer(ptr unsafe.Pointer) (n *QUrlTwoFlags) { + n = new(QUrlTwoFlags) + n.SetPointer(ptr) + return +} + +func (ptr *QUrlTwoFlags) DestroyQUrlTwoFlags() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QUuid struct { + ptr unsafe.Pointer +} + +type QUuid_ITF interface { + QUuid_PTR() *QUuid +} + +func (ptr *QUuid) QUuid_PTR() *QUuid { + return ptr +} + +func (ptr *QUuid) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QUuid) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQUuid(ptr QUuid_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QUuid_PTR().Pointer() + } + return nil +} + +func NewQUuidFromPointer(ptr unsafe.Pointer) (n *QUuid) { + n = new(QUuid) + n.SetPointer(ptr) + return +} + +func (ptr *QUuid) DestroyQUuid() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QUuid__Variant +//QUuid::Variant +type QUuid__Variant int64 + +const ( + QUuid__VarUnknown QUuid__Variant = QUuid__Variant(-1) + QUuid__NCS QUuid__Variant = QUuid__Variant(0) + QUuid__DCE QUuid__Variant = QUuid__Variant(2) + QUuid__Microsoft QUuid__Variant = QUuid__Variant(6) + QUuid__Reserved QUuid__Variant = QUuid__Variant(7) +) + +//go:generate stringer -type=QUuid__Version +//QUuid::Version +type QUuid__Version int64 + +const ( + QUuid__VerUnknown QUuid__Version = QUuid__Version(-1) + QUuid__Time QUuid__Version = QUuid__Version(1) + QUuid__EmbeddedPOSIX QUuid__Version = QUuid__Version(2) + QUuid__Md5 QUuid__Version = QUuid__Version(3) + QUuid__Name QUuid__Version = QUuid__Version(QUuid__Md5) + QUuid__Random QUuid__Version = QUuid__Version(4) + QUuid__Sha1 QUuid__Version = QUuid__Version(5) +) + +//go:generate stringer -type=QUuid__StringFormat +//QUuid::StringFormat +type QUuid__StringFormat int64 + +const ( + QUuid__WithBraces QUuid__StringFormat = QUuid__StringFormat(0) + QUuid__WithoutBraces QUuid__StringFormat = QUuid__StringFormat(1) + QUuid__Id128 QUuid__StringFormat = QUuid__StringFormat(3) +) + +func NewQUuid2() *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_NewQUuid2()) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func NewQUuid3(l uint, w1 uint16, w2 uint16, b1 string, b2 string, b3 string, b4 string, b5 string, b6 string, b7 string, b8 string) *QUuid { + var b1C *C.char + if b1 != "" { + b1C = C.CString(b1) + defer C.free(unsafe.Pointer(b1C)) + } + var b2C *C.char + if b2 != "" { + b2C = C.CString(b2) + defer C.free(unsafe.Pointer(b2C)) + } + var b3C *C.char + if b3 != "" { + b3C = C.CString(b3) + defer C.free(unsafe.Pointer(b3C)) + } + var b4C *C.char + if b4 != "" { + b4C = C.CString(b4) + defer C.free(unsafe.Pointer(b4C)) + } + var b5C *C.char + if b5 != "" { + b5C = C.CString(b5) + defer C.free(unsafe.Pointer(b5C)) + } + var b6C *C.char + if b6 != "" { + b6C = C.CString(b6) + defer C.free(unsafe.Pointer(b6C)) + } + var b7C *C.char + if b7 != "" { + b7C = C.CString(b7) + defer C.free(unsafe.Pointer(b7C)) + } + var b8C *C.char + if b8 != "" { + b8C = C.CString(b8) + defer C.free(unsafe.Pointer(b8C)) + } + tmpValue := NewQUuidFromPointer(C.QUuid_NewQUuid3(C.uint(uint32(l)), C.ushort(w1), C.ushort(w2), b1C, b2C, b3C, b4C, b5C, b6C, b7C, b8C)) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func NewQUuid4(text string) *QUuid { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQUuidFromPointer(C.QUuid_NewQUuid4(C.struct_QtCore_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func NewQUuid(text QByteArray_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_NewQUuid(PointerFromQByteArray(text))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func QUuid_CreateUuid() *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuid()) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func (ptr *QUuid) CreateUuid() *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuid()) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func QUuid_CreateUuidV3(ns QUuid_ITF, baseData QByteArray_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuidV3(PointerFromQUuid(ns), PointerFromQByteArray(baseData))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func (ptr *QUuid) CreateUuidV3(ns QUuid_ITF, baseData QByteArray_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuidV3(PointerFromQUuid(ns), PointerFromQByteArray(baseData))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func QUuid_CreateUuidV32(ns QUuid_ITF, baseData string) *QUuid { + var baseDataC *C.char + if baseData != "" { + baseDataC = C.CString(baseData) + defer C.free(unsafe.Pointer(baseDataC)) + } + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuidV32(PointerFromQUuid(ns), C.struct_QtCore_PackedString{data: baseDataC, len: C.longlong(len(baseData))})) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func (ptr *QUuid) CreateUuidV32(ns QUuid_ITF, baseData string) *QUuid { + var baseDataC *C.char + if baseData != "" { + baseDataC = C.CString(baseData) + defer C.free(unsafe.Pointer(baseDataC)) + } + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuidV32(PointerFromQUuid(ns), C.struct_QtCore_PackedString{data: baseDataC, len: C.longlong(len(baseData))})) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func QUuid_CreateUuidV5(ns QUuid_ITF, baseData QByteArray_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuidV5(PointerFromQUuid(ns), PointerFromQByteArray(baseData))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func (ptr *QUuid) CreateUuidV5(ns QUuid_ITF, baseData QByteArray_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuidV5(PointerFromQUuid(ns), PointerFromQByteArray(baseData))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func QUuid_CreateUuidV52(ns QUuid_ITF, baseData string) *QUuid { + var baseDataC *C.char + if baseData != "" { + baseDataC = C.CString(baseData) + defer C.free(unsafe.Pointer(baseDataC)) + } + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuidV52(PointerFromQUuid(ns), C.struct_QtCore_PackedString{data: baseDataC, len: C.longlong(len(baseData))})) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func (ptr *QUuid) CreateUuidV52(ns QUuid_ITF, baseData string) *QUuid { + var baseDataC *C.char + if baseData != "" { + baseDataC = C.CString(baseData) + defer C.free(unsafe.Pointer(baseDataC)) + } + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_CreateUuidV52(PointerFromQUuid(ns), C.struct_QtCore_PackedString{data: baseDataC, len: C.longlong(len(baseData))})) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func QUuid_FromRfc4122(bytes QByteArray_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_FromRfc4122(PointerFromQByteArray(bytes))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func (ptr *QUuid) FromRfc4122(bytes QByteArray_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_FromRfc4122(PointerFromQByteArray(bytes))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func QUuid_FromString(text QStringView_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_FromString(PointerFromQStringView(text))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func (ptr *QUuid) FromString(text QStringView_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_FromString(PointerFromQStringView(text))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func QUuid_FromString2(text QLatin1String_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_FromString2(PointerFromQLatin1String(text))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func (ptr *QUuid) FromString2(text QLatin1String_ITF) *QUuid { + tmpValue := NewQUuidFromPointer(C.QUuid_QUuid_FromString2(PointerFromQLatin1String(text))) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue +} + +func (ptr *QUuid) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QUuid_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QUuid) ToByteArray() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QUuid_ToByteArray(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QUuid) ToByteArray2(mode QUuid__StringFormat) *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QUuid_ToByteArray2(ptr.Pointer(), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QUuid) ToRfc4122() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QUuid_ToRfc4122(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QUuid) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUuid_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QUuid) ToString2(mode QUuid__StringFormat) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QUuid_ToString2(ptr.Pointer(), C.longlong(mode))) + } + return "" +} + +func (ptr *QUuid) Variant() QUuid__Variant { + if ptr.Pointer() != nil { + return QUuid__Variant(C.QUuid_Variant(ptr.Pointer())) + } + return 0 +} + +func (ptr *QUuid) Version() QUuid__Version { + if ptr.Pointer() != nil { + return QUuid__Version(C.QUuid_Version(ptr.Pointer())) + } + return 0 +} + +type QVarLengthArray struct { + ptr unsafe.Pointer +} + +type QVarLengthArray_ITF interface { + QVarLengthArray_PTR() *QVarLengthArray +} + +func (ptr *QVarLengthArray) QVarLengthArray_PTR() *QVarLengthArray { + return ptr +} + +func (ptr *QVarLengthArray) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVarLengthArray) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVarLengthArray(ptr QVarLengthArray_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVarLengthArray_PTR().Pointer() + } + return nil +} + +func NewQVarLengthArrayFromPointer(ptr unsafe.Pointer) (n *QVarLengthArray) { + n = new(QVarLengthArray) + n.SetPointer(ptr) + return +} + +type QVariant struct { + ptr unsafe.Pointer +} + +type QVariant_ITF interface { + QVariant_PTR() *QVariant +} + +func (ptr *QVariant) QVariant_PTR() *QVariant { + return ptr +} + +func (ptr *QVariant) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVariant) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVariant(ptr QVariant_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVariant_PTR().Pointer() + } + return nil +} + +func NewQVariantFromPointer(ptr unsafe.Pointer) (n *QVariant) { + n = new(QVariant) + n.SetPointer(ptr) + return +} + +type qVariant_ITF interface{ ToVariant() *QVariant } + +func NewQVariant1(i interface{}) *QVariant { + switch d := i.(type) { + case *QVariant: + return d + case QVariant__Type: + return NewQVariant2(d) + case *QDataStream: + return NewQVariant4(d) + case int: + return NewQVariant5(d) + case uint: + return NewQVariant6(d) + case int64: + return NewQVariant7(d) + case uint64: + return NewQVariant8(d) + case bool: + return NewQVariant9(d) + case float64: + return NewQVariant10(d) + case float32: + return NewQVariant11(d) + case string: + return NewQVariant12(d) + case *QByteArray: + return NewQVariant13(d) + case *QBitArray: + return NewQVariant14(d) + case *QLatin1String: + return NewQVariant16(d) + case []string: + return NewQVariant17(d) + case *QChar: + return NewQVariant18(d) + case *QDate: + return NewQVariant19(d) + case *QTime: + return NewQVariant20(d) + case *QDateTime: + return NewQVariant21(d) + case []*QVariant: + return NewQVariant22(d) + case map[string]*QVariant: + return NewQVariant23(d) + case *QSize: + return NewQVariant25(d) + case *QSizeF: + return NewQVariant26(d) + case *QPoint: + return NewQVariant27(d) + case *QPointF: + return NewQVariant28(d) + case *QLine: + return NewQVariant29(d) + case *QLineF: + return NewQVariant30(d) + case *QRect: + return NewQVariant31(d) + case *QRectF: + return NewQVariant32(d) + case *QLocale: + return NewQVariant33(d) + case *QRegExp: + return NewQVariant34(d) + case *QRegularExpression: + return NewQVariant35(d) + case *QUrl: + return NewQVariant36(d) + case *QEasingCurve: + return NewQVariant37(d) + case *QUuid: + return NewQVariant38(d) + case *QJsonValue: + return NewQVariant39(d) + case *QJsonObject: + return NewQVariant40(d) + case *QJsonArray: + return NewQVariant41(d) + case *QJsonDocument: + return NewQVariant42(d) + case *QModelIndex: + return NewQVariant43(d) + case *QPersistentModelIndex: + return NewQVariant44(d) + case qVariant_ITF: + return d.ToVariant() + default: + return NewQVariant() + + } +} +func (v *QVariant) ToInterface() interface{} { + switch v.Type() { + case QVariant__Bool: + return v.ToBool() + case QVariant__Int: + return v.ToInt(nil) + case QVariant__UInt: + return v.ToUInt(nil) + case QVariant__LongLong: + return v.ToLongLong(nil) + case QVariant__ULongLong: + return v.ToULongLong(nil) + case QVariant__Double: + return v.ToDouble(nil) + case QVariant__Char: + return v.ToChar() + case QVariant__Map: + return v.ToMap() + case QVariant__List: + return v.ToList() + case QVariant__String: + return v.ToString() + case QVariant__StringList: + return v.ToStringList() + case QVariant__ByteArray: + return v.ToByteArray() + case QVariant__BitArray: + return v.ToBitArray() + case QVariant__Date: + return v.ToDate() + case QVariant__Time: + return v.ToTime() + case QVariant__DateTime: + return v.ToDateTime() + case QVariant__Url: + return v.ToUrl() + case QVariant__Locale: + return v.ToLocale() + case QVariant__Rect: + return v.ToRect() + case QVariant__RectF: + return v.ToRectF() + case QVariant__Size: + return v.ToSize() + case QVariant__SizeF: + return v.ToSizeF() + case QVariant__Line: + return v.ToLine() + case QVariant__LineF: + return v.ToLineF() + case QVariant__Point: + return v.ToPoint() + case QVariant__PointF: + return v.ToPointF() + case QVariant__RegExp: + return v.ToRegExp() + case QVariant__RegularExpression: + return v.ToRegularExpression() + case QVariant__Hash: + return v.ToHash() + case QVariant__EasingCurve: + return v.ToEasingCurve() + case QVariant__Uuid: + return v.ToUuid() + case QVariant__ModelIndex: + return v.ToModelIndex() + case QVariant__PersistentModelIndex: + return v.ToPersistentModelIndex() + case QVariant__Font: + return v.ToFont() + case QVariant__Brush: + return v.ToBrush() + case QVariant__Color: + return v.ToColor() + case QVariant__Image: + return v.ToImage() + case QVariant__Icon: + return v.ToIcon() + + } + return v +} + +//go:generate stringer -type=QVariant__Type +//QVariant::Type +type QVariant__Type int64 + +const ( + QVariant__Invalid QVariant__Type = QVariant__Type(QMetaType__UnknownType) + QVariant__Bool QVariant__Type = QVariant__Type(QMetaType__Bool) + QVariant__Int QVariant__Type = QVariant__Type(QMetaType__Int) + QVariant__UInt QVariant__Type = QVariant__Type(QMetaType__UInt) + QVariant__LongLong QVariant__Type = QVariant__Type(QMetaType__LongLong) + QVariant__ULongLong QVariant__Type = QVariant__Type(QMetaType__ULongLong) + QVariant__Double QVariant__Type = QVariant__Type(QMetaType__Double) + QVariant__Char QVariant__Type = QVariant__Type(QMetaType__QChar) + QVariant__Map QVariant__Type = QVariant__Type(QMetaType__QVariantMap) + QVariant__List QVariant__Type = QVariant__Type(QMetaType__QVariantList) + QVariant__String QVariant__Type = QVariant__Type(QMetaType__QString) + QVariant__StringList QVariant__Type = QVariant__Type(QMetaType__QStringList) + QVariant__ByteArray QVariant__Type = QVariant__Type(QMetaType__QByteArray) + QVariant__BitArray QVariant__Type = QVariant__Type(QMetaType__QBitArray) + QVariant__Date QVariant__Type = QVariant__Type(QMetaType__QDate) + QVariant__Time QVariant__Type = QVariant__Type(QMetaType__QTime) + QVariant__DateTime QVariant__Type = QVariant__Type(QMetaType__QDateTime) + QVariant__Url QVariant__Type = QVariant__Type(QMetaType__QUrl) + QVariant__Locale QVariant__Type = QVariant__Type(QMetaType__QLocale) + QVariant__Rect QVariant__Type = QVariant__Type(QMetaType__QRect) + QVariant__RectF QVariant__Type = QVariant__Type(QMetaType__QRectF) + QVariant__Size QVariant__Type = QVariant__Type(QMetaType__QSize) + QVariant__SizeF QVariant__Type = QVariant__Type(QMetaType__QSizeF) + QVariant__Line QVariant__Type = QVariant__Type(QMetaType__QLine) + QVariant__LineF QVariant__Type = QVariant__Type(QMetaType__QLineF) + QVariant__Point QVariant__Type = QVariant__Type(QMetaType__QPoint) + QVariant__PointF QVariant__Type = QVariant__Type(QMetaType__QPointF) + QVariant__RegExp QVariant__Type = QVariant__Type(QMetaType__QRegExp) + QVariant__RegularExpression QVariant__Type = QVariant__Type(QMetaType__QRegularExpression) + QVariant__Hash QVariant__Type = QVariant__Type(QMetaType__QVariantHash) + QVariant__EasingCurve QVariant__Type = QVariant__Type(QMetaType__QEasingCurve) + QVariant__Uuid QVariant__Type = QVariant__Type(QMetaType__QUuid) + QVariant__ModelIndex QVariant__Type = QVariant__Type(QMetaType__QModelIndex) + QVariant__PersistentModelIndex QVariant__Type = QVariant__Type(QMetaType__QPersistentModelIndex) + QVariant__Font QVariant__Type = QVariant__Type(QMetaType__QFont) + QVariant__Pixmap QVariant__Type = QVariant__Type(QMetaType__QPixmap) + QVariant__Brush QVariant__Type = QVariant__Type(QMetaType__QBrush) + QVariant__Color QVariant__Type = QVariant__Type(QMetaType__QColor) + QVariant__Palette QVariant__Type = QVariant__Type(QMetaType__QPalette) + QVariant__Image QVariant__Type = QVariant__Type(QMetaType__QImage) + QVariant__Polygon QVariant__Type = QVariant__Type(QMetaType__QPolygon) + QVariant__Region QVariant__Type = QVariant__Type(QMetaType__QRegion) + QVariant__Bitmap QVariant__Type = QVariant__Type(QMetaType__QBitmap) + QVariant__Cursor QVariant__Type = QVariant__Type(QMetaType__QCursor) + QVariant__KeySequence QVariant__Type = QVariant__Type(QMetaType__QKeySequence) + QVariant__Pen QVariant__Type = QVariant__Type(QMetaType__QPen) + QVariant__TextLength QVariant__Type = QVariant__Type(QMetaType__QTextLength) + QVariant__TextFormat QVariant__Type = QVariant__Type(QMetaType__QTextFormat) + QVariant__Matrix QVariant__Type = QVariant__Type(QMetaType__QMatrix) + QVariant__Transform QVariant__Type = QVariant__Type(QMetaType__QTransform) + QVariant__Matrix4x4 QVariant__Type = QVariant__Type(QMetaType__QMatrix4x4) + QVariant__Vector2D QVariant__Type = QVariant__Type(QMetaType__QVector2D) + QVariant__Vector3D QVariant__Type = QVariant__Type(QMetaType__QVector3D) + QVariant__Vector4D QVariant__Type = QVariant__Type(QMetaType__QVector4D) + QVariant__Quaternion QVariant__Type = QVariant__Type(QMetaType__QQuaternion) + QVariant__PolygonF QVariant__Type = QVariant__Type(QMetaType__QPolygonF) + QVariant__Icon QVariant__Type = QVariant__Type(QMetaType__QIcon) + QVariant__SizePolicy QVariant__Type = QVariant__Type(QMetaType__QSizePolicy) + QVariant__UserType QVariant__Type = QVariant__Type(QMetaType__User) + QVariant__LastType QVariant__Type = QVariant__Type(0xffffffff) +) + +func NewQVariant() *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant()) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant2(ty QVariant__Type) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant2(C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant3(typeId int, copy unsafe.Pointer) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant3(C.int(int32(typeId)), copy)) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant4(s QDataStream_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant4(PointerFromQDataStream(s))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant5(val int) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant5(C.int(int32(val)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant6(val uint) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant6(C.uint(uint32(val)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant7(val int64) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant7(C.longlong(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant8(val uint64) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant8(C.ulonglong(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant9(val bool) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant9(C.char(int8(qt.GoBoolToInt(val))))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant10(val float64) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant10(C.double(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant11(val float32) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant11(C.float(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant12(val string) *QVariant { + var valC *C.char + if val != "" { + valC = C.CString(val) + defer C.free(unsafe.Pointer(valC)) + } + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant12(valC)) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant13(val QByteArray_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant13(PointerFromQByteArray(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant14(val QBitArray_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant14(PointerFromQBitArray(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant15(val string) *QVariant { + var valC *C.char + if val != "" { + valC = C.CString(val) + defer C.free(unsafe.Pointer(valC)) + } + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant15(C.struct_QtCore_PackedString{data: valC, len: C.longlong(len(val))})) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant16(val QLatin1String_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant16(PointerFromQLatin1String(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant17(val []string) *QVariant { + valC := C.CString(strings.Join(val, "¡¦!")) + defer C.free(unsafe.Pointer(valC)) + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant17(C.struct_QtCore_PackedString{data: valC, len: C.longlong(len(strings.Join(val, "¡¦!")))})) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant18(c QChar_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant18(PointerFromQChar(c))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant19(val QDate_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant19(PointerFromQDate(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant20(val QTime_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant20(PointerFromQTime(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant21(val QDateTime_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant21(PointerFromQDateTime(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant22(val []*QVariant) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant22(func() unsafe.Pointer { + tmpList := NewQVariantFromPointer(NewQVariantFromPointer(nil).__QVariant_val_newList22()) + for _, v := range val { + tmpList.__QVariant_val_setList22(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant23(val map[string]*QVariant) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant23(func() unsafe.Pointer { + tmpList := NewQVariantFromPointer(NewQVariantFromPointer(nil).__QVariant_val_newList23()) + for k, v := range val { + tmpList.__QVariant_val_setList23(k, v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant24(val map[string]*QVariant) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant24(func() unsafe.Pointer { + tmpList := NewQVariantFromPointer(NewQVariantFromPointer(nil).__QVariant_val_newList24()) + for k, v := range val { + tmpList.__QVariant_val_setList24(k, v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant25(val QSize_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant25(PointerFromQSize(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant26(val QSizeF_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant26(PointerFromQSizeF(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant27(val QPoint_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant27(PointerFromQPoint(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant28(val QPointF_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant28(PointerFromQPointF(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant29(val QLine_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant29(PointerFromQLine(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant30(val QLineF_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant30(PointerFromQLineF(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant31(val QRect_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant31(PointerFromQRect(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant32(val QRectF_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant32(PointerFromQRectF(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant33(l QLocale_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant33(PointerFromQLocale(l))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant34(regExp QRegExp_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant34(PointerFromQRegExp(regExp))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant35(re QRegularExpression_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant35(PointerFromQRegularExpression(re))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant36(val QUrl_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant36(PointerFromQUrl(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant37(val QEasingCurve_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant37(PointerFromQEasingCurve(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant38(val QUuid_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant38(PointerFromQUuid(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant39(val QJsonValue_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant39(PointerFromQJsonValue(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant40(val QJsonObject_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant40(PointerFromQJsonObject(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant41(val QJsonArray_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant41(PointerFromQJsonArray(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant42(val QJsonDocument_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant42(PointerFromQJsonDocument(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant43(val QModelIndex_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant43(PointerFromQModelIndex(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant44(val QPersistentModelIndex_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant44(PointerFromQPersistentModelIndex(val))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func NewQVariant45(other QVariant_ITF) *QVariant { + tmpValue := NewQVariantFromPointer(C.QVariant_NewQVariant45(PointerFromQVariant(other))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue +} + +func (ptr *QVariant) Clear() { + if ptr.Pointer() != nil { + C.QVariant_Clear(ptr.Pointer()) + } +} + +func (ptr *QVariant) Convert(targetTypeId int) bool { + if ptr.Pointer() != nil { + return int8(C.QVariant_Convert(ptr.Pointer(), C.int(int32(targetTypeId)))) != 0 + } + return false +} + +func (ptr *QVariant) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QVariant_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QVariant) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QVariant_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func QVariant_NameToType(name string) QVariant__Type { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return QVariant__Type(C.QVariant_QVariant_NameToType(nameC)) +} + +func (ptr *QVariant) NameToType(name string) QVariant__Type { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return QVariant__Type(C.QVariant_QVariant_NameToType(nameC)) +} + +func (ptr *QVariant) Swap(other QVariant_ITF) { + if ptr.Pointer() != nil { + C.QVariant_Swap(ptr.Pointer(), PointerFromQVariant(other)) + } +} + +func (ptr *QVariant) ToBitArray() *QBitArray { + if ptr.Pointer() != nil { + tmpValue := NewQBitArrayFromPointer(C.QVariant_ToBitArray(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBitArray).DestroyQBitArray) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToBool() bool { + if ptr.Pointer() != nil { + return int8(C.QVariant_ToBool(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QVariant) ToByteArray() *QByteArray { + if ptr.Pointer() != nil { + tmpValue := NewQByteArrayFromPointer(C.QVariant_ToByteArray(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToChar() *QChar { + if ptr.Pointer() != nil { + tmpValue := NewQCharFromPointer(C.QVariant_ToChar(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToDate() *QDate { + if ptr.Pointer() != nil { + tmpValue := NewQDateFromPointer(C.QVariant_ToDate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDate).DestroyQDate) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToDateTime() *QDateTime { + if ptr.Pointer() != nil { + tmpValue := NewQDateTimeFromPointer(C.QVariant_ToDateTime(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToDouble(ok *bool) float64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float64(C.QVariant_ToDouble(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QVariant) ToEasingCurve() *QEasingCurve { + if ptr.Pointer() != nil { + tmpValue := NewQEasingCurveFromPointer(C.QVariant_ToEasingCurve(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QEasingCurve).DestroyQEasingCurve) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToFloat(ok *bool) float32 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float32(C.QVariant_ToFloat(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QVariant) ToHash() map[string]*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[string]*QVariant { + out := make(map[string]*QVariant, int(l.len)) + tmpList := NewQVariantFromPointer(l.data) + for i, v := range tmpList.__toHash_keyList() { + out[v] = tmpList.__toHash_atList(v, i) + } + return out + }(C.QVariant_ToHash(ptr.Pointer())) + } + return make(map[string]*QVariant, 0) +} + +func (ptr *QVariant) ToInt(ok *bool) int { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QVariant_ToInt(ptr.Pointer(), &okC))) + } + return 0 +} + +func (ptr *QVariant) ToJsonArray() *QJsonArray { + if ptr.Pointer() != nil { + tmpValue := NewQJsonArrayFromPointer(C.QVariant_ToJsonArray(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonArray).DestroyQJsonArray) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToJsonDocument() *QJsonDocument { + if ptr.Pointer() != nil { + tmpValue := NewQJsonDocumentFromPointer(C.QVariant_ToJsonDocument(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonDocument).DestroyQJsonDocument) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToJsonObject() *QJsonObject { + if ptr.Pointer() != nil { + tmpValue := NewQJsonObjectFromPointer(C.QVariant_ToJsonObject(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonObject).DestroyQJsonObject) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToJsonValue() *QJsonValue { + if ptr.Pointer() != nil { + tmpValue := NewQJsonValueFromPointer(C.QVariant_ToJsonValue(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJsonValue).DestroyQJsonValue) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToLine() *QLine { + if ptr.Pointer() != nil { + tmpValue := NewQLineFromPointer(C.QVariant_ToLine(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLine).DestroyQLine) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToLineF() *QLineF { + if ptr.Pointer() != nil { + tmpValue := NewQLineFFromPointer(C.QVariant_ToLineF(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLineF).DestroyQLineF) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToList() []*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []*QVariant { + out := make([]*QVariant, int(l.len)) + tmpList := NewQVariantFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toList_atList(i) + } + return out + }(C.QVariant_ToList(ptr.Pointer())) + } + return make([]*QVariant, 0) +} + +func (ptr *QVariant) ToLocale() *QLocale { + if ptr.Pointer() != nil { + tmpValue := NewQLocaleFromPointer(C.QVariant_ToLocale(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QLocale).DestroyQLocale) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToLongLong(ok *bool) int64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int64(C.QVariant_ToLongLong(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QVariant) ToMap() map[string]*QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) map[string]*QVariant { + out := make(map[string]*QVariant, int(l.len)) + tmpList := NewQVariantFromPointer(l.data) + for i, v := range tmpList.__toMap_keyList() { + out[v] = tmpList.__toMap_atList(v, i) + } + return out + }(C.QVariant_ToMap(ptr.Pointer())) + } + return make(map[string]*QVariant, 0) +} + +func (ptr *QVariant) ToModelIndex() *QModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQModelIndexFromPointer(C.QVariant_ToModelIndex(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToPersistentModelIndex() *QPersistentModelIndex { + if ptr.Pointer() != nil { + tmpValue := NewQPersistentModelIndexFromPointer(C.QVariant_ToPersistentModelIndex(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPersistentModelIndex).DestroyQPersistentModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToPoint() *QPoint { + if ptr.Pointer() != nil { + tmpValue := NewQPointFromPointer(C.QVariant_ToPoint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToPointF() *QPointF { + if ptr.Pointer() != nil { + tmpValue := NewQPointFFromPointer(C.QVariant_ToPointF(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToReal(ok *bool) float64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float64(C.QVariant_ToReal(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QVariant) ToRect() *QRect { + if ptr.Pointer() != nil { + tmpValue := NewQRectFromPointer(C.QVariant_ToRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToRectF() *QRectF { + if ptr.Pointer() != nil { + tmpValue := NewQRectFFromPointer(C.QVariant_ToRectF(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToRegExp() *QRegExp { + if ptr.Pointer() != nil { + tmpValue := NewQRegExpFromPointer(C.QVariant_ToRegExp(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRegExp).DestroyQRegExp) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToRegularExpression() *QRegularExpression { + if ptr.Pointer() != nil { + tmpValue := NewQRegularExpressionFromPointer(C.QVariant_ToRegularExpression(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRegularExpression).DestroyQRegularExpression) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToSize() *QSize { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFromPointer(C.QVariant_ToSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToSizeF() *QSizeF { + if ptr.Pointer() != nil { + tmpValue := NewQSizeFFromPointer(C.QVariant_ToSizeF(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QVariant_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QVariant) ToStringList() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QVariant_ToStringList(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QVariant) ToTime() *QTime { + if ptr.Pointer() != nil { + tmpValue := NewQTimeFromPointer(C.QVariant_ToTime(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTime).DestroyQTime) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToUInt(ok *bool) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QVariant_ToUInt(ptr.Pointer(), &okC))) + } + return 0 +} + +func (ptr *QVariant) ToULongLong(ok *bool) uint64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint64(C.QVariant_ToULongLong(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QVariant) ToUrl() *QUrl { + if ptr.Pointer() != nil { + tmpValue := NewQUrlFromPointer(C.QVariant_ToUrl(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToUuid() *QUuid { + if ptr.Pointer() != nil { + tmpValue := NewQUuidFromPointer(C.QVariant_ToUuid(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QUuid).DestroyQUuid) + return tmpValue + } + return nil +} + +func (ptr *QVariant) Type() QVariant__Type { + if ptr.Pointer() != nil { + return QVariant__Type(C.QVariant_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVariant) TypeName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QVariant_TypeName(ptr.Pointer())) + } + return "" +} + +func QVariant_TypeToName(typeId int) string { + return cGoUnpackString(C.QVariant_QVariant_TypeToName(C.int(int32(typeId)))) +} + +func (ptr *QVariant) TypeToName(typeId int) string { + return cGoUnpackString(C.QVariant_QVariant_TypeToName(C.int(int32(typeId)))) +} + +func (ptr *QVariant) UserType() int { + if ptr.Pointer() != nil { + return int(int32(C.QVariant_UserType(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QVariant) DestroyQVariant() { + if ptr.Pointer() != nil { + C.QVariant_DestroyQVariant(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QVariant) ToColor() unsafe.Pointer { + if ptr.Pointer() != nil { + return unsafe.Pointer(C.QVariant_ToColor(ptr.Pointer())) + } + return nil +} + +func (ptr *QVariant) ToFont() unsafe.Pointer { + if ptr.Pointer() != nil { + return unsafe.Pointer(C.QVariant_ToFont(ptr.Pointer())) + } + return nil +} + +func (ptr *QVariant) ToImage() unsafe.Pointer { + if ptr.Pointer() != nil { + return unsafe.Pointer(C.QVariant_ToImage(ptr.Pointer())) + } + return nil +} + +func (ptr *QVariant) ToObject() *QObject { + if ptr.Pointer() != nil { + tmpValue := NewQObjectFromPointer(C.QVariant_ToObject(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QVariant) ToIcon() unsafe.Pointer { + if ptr.Pointer() != nil { + return unsafe.Pointer(C.QVariant_ToIcon(ptr.Pointer())) + } + return nil +} + +func (ptr *QVariant) ToBrush() unsafe.Pointer { + if ptr.Pointer() != nil { + return unsafe.Pointer(C.QVariant_ToBrush(ptr.Pointer())) + } + return nil +} + +func (ptr *QVariant) __QVariant_val_atList22(i int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QVariant___QVariant_val_atList22(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QVariant) __QVariant_val_setList22(i QVariant_ITF) { + if ptr.Pointer() != nil { + C.QVariant___QVariant_val_setList22(ptr.Pointer(), PointerFromQVariant(i)) + } +} + +func (ptr *QVariant) __QVariant_val_newList22() unsafe.Pointer { + return C.QVariant___QVariant_val_newList22(ptr.Pointer()) +} + +func (ptr *QVariant) __QVariant_val_atList23(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QVariant___QVariant_val_atList23(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QVariant) __QVariant_val_setList23(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QVariant___QVariant_val_setList23(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QVariant) __QVariant_val_newList23() unsafe.Pointer { + return C.QVariant___QVariant_val_newList23(ptr.Pointer()) +} + +func (ptr *QVariant) __QVariant_val_keyList23() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQVariantFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____QVariant_val_keyList_atList23(i) + } + return out + }(C.QVariant___QVariant_val_keyList23(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QVariant) __QVariant_val_atList24(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QVariant___QVariant_val_atList24(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QVariant) __QVariant_val_setList24(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QVariant___QVariant_val_setList24(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QVariant) __QVariant_val_newList24() unsafe.Pointer { + return C.QVariant___QVariant_val_newList24(ptr.Pointer()) +} + +func (ptr *QVariant) __QVariant_val_keyList24() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQVariantFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____QVariant_val_keyList_atList24(i) + } + return out + }(C.QVariant___QVariant_val_keyList24(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QVariant) __toHash_atList(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QVariant___toHash_atList(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QVariant) __toHash_setList(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QVariant___toHash_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QVariant) __toHash_newList() unsafe.Pointer { + return C.QVariant___toHash_newList(ptr.Pointer()) +} + +func (ptr *QVariant) __toHash_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQVariantFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____toHash_keyList_atList(i) + } + return out + }(C.QVariant___toHash_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QVariant) __toList_atList(i int) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QVariant___toList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QVariant) __toList_setList(i QVariant_ITF) { + if ptr.Pointer() != nil { + C.QVariant___toList_setList(ptr.Pointer(), PointerFromQVariant(i)) + } +} + +func (ptr *QVariant) __toList_newList() unsafe.Pointer { + return C.QVariant___toList_newList(ptr.Pointer()) +} + +func (ptr *QVariant) __toMap_atList(v string, i int) *QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := NewQVariantFromPointer(C.QVariant___toMap_atList(ptr.Pointer(), C.struct_QtCore_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QVariant) __toMap_setList(key string, i QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QVariant___toMap_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQVariant(i)) + } +} + +func (ptr *QVariant) __toMap_newList() unsafe.Pointer { + return C.QVariant___toMap_newList(ptr.Pointer()) +} + +func (ptr *QVariant) __toMap_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQVariantFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____toMap_keyList_atList(i) + } + return out + }(C.QVariant___toMap_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QVariant) ____QVariant_val_keyList_atList23(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QVariant_____QVariant_val_keyList_atList23(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QVariant) ____QVariant_val_keyList_setList23(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QVariant_____QVariant_val_keyList_setList23(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QVariant) ____QVariant_val_keyList_newList23() unsafe.Pointer { + return C.QVariant_____QVariant_val_keyList_newList23(ptr.Pointer()) +} + +func (ptr *QVariant) ____QVariant_val_keyList_atList24(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QVariant_____QVariant_val_keyList_atList24(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QVariant) ____QVariant_val_keyList_setList24(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QVariant_____QVariant_val_keyList_setList24(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QVariant) ____QVariant_val_keyList_newList24() unsafe.Pointer { + return C.QVariant_____QVariant_val_keyList_newList24(ptr.Pointer()) +} + +func (ptr *QVariant) ____toHash_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QVariant_____toHash_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QVariant) ____toHash_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QVariant_____toHash_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QVariant) ____toHash_keyList_newList() unsafe.Pointer { + return C.QVariant_____toHash_keyList_newList(ptr.Pointer()) +} + +func (ptr *QVariant) ____toMap_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QVariant_____toMap_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QVariant) ____toMap_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QVariant_____toMap_keyList_setList(ptr.Pointer(), C.struct_QtCore_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QVariant) ____toMap_keyList_newList() unsafe.Pointer { + return C.QVariant_____toMap_keyList_newList(ptr.Pointer()) +} + +type QVariantAnimation struct { + QAbstractAnimation +} + +type QVariantAnimation_ITF interface { + QAbstractAnimation_ITF + QVariantAnimation_PTR() *QVariantAnimation +} + +func (ptr *QVariantAnimation) QVariantAnimation_PTR() *QVariantAnimation { + return ptr +} + +func (ptr *QVariantAnimation) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractAnimation_PTR().Pointer() + } + return nil +} + +func (ptr *QVariantAnimation) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractAnimation_PTR().SetPointer(p) + } +} + +func PointerFromQVariantAnimation(ptr QVariantAnimation_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVariantAnimation_PTR().Pointer() + } + return nil +} + +func NewQVariantAnimationFromPointer(ptr unsafe.Pointer) (n *QVariantAnimation) { + n = new(QVariantAnimation) + n.SetPointer(ptr) + return +} +func NewQVariantAnimation(parent QObject_ITF) *QVariantAnimation { + tmpValue := NewQVariantAnimationFromPointer(C.QVariantAnimation_NewQVariantAnimation(PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QVariantAnimation) CurrentValue() *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QVariantAnimation_CurrentValue(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQVariantAnimation_Duration +func callbackQVariantAnimation_Duration(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "duration"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQVariantAnimationFromPointer(ptr).DurationDefault())) +} + +func (ptr *QVariantAnimation) ConnectDuration(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "duration"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "duration", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QVariantAnimation) DisconnectDuration() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "duration") + } +} + +func (ptr *QVariantAnimation) Duration() int { + if ptr.Pointer() != nil { + return int(int32(C.QVariantAnimation_Duration(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QVariantAnimation) DurationDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QVariantAnimation_DurationDefault(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QVariantAnimation) EasingCurve() *QEasingCurve { + if ptr.Pointer() != nil { + tmpValue := NewQEasingCurveFromPointer(C.QVariantAnimation_EasingCurve(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QEasingCurve).DestroyQEasingCurve) + return tmpValue + } + return nil +} + +func (ptr *QVariantAnimation) EndValue() *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QVariantAnimation_EndValue(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQVariantAnimation_Interpolated +func callbackQVariantAnimation_Interpolated(ptr unsafe.Pointer, from unsafe.Pointer, to unsafe.Pointer, progress C.double) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "interpolated"); signal != nil { + return PointerFromQVariant((*(*func(*QVariant, *QVariant, float64) *QVariant)(signal))(NewQVariantFromPointer(from), NewQVariantFromPointer(to), float64(progress))) + } + + return PointerFromQVariant(NewQVariantAnimationFromPointer(ptr).InterpolatedDefault(NewQVariantFromPointer(from), NewQVariantFromPointer(to), float64(progress))) +} + +func (ptr *QVariantAnimation) ConnectInterpolated(f func(from *QVariant, to *QVariant, progress float64) *QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "interpolated"); signal != nil { + f := func(from *QVariant, to *QVariant, progress float64) *QVariant { + (*(*func(*QVariant, *QVariant, float64) *QVariant)(signal))(from, to, progress) + return f(from, to, progress) + } + qt.ConnectSignal(ptr.Pointer(), "interpolated", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "interpolated", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QVariantAnimation) DisconnectInterpolated() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "interpolated") + } +} + +func (ptr *QVariantAnimation) Interpolated(from QVariant_ITF, to QVariant_ITF, progress float64) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QVariantAnimation_Interpolated(ptr.Pointer(), PointerFromQVariant(from), PointerFromQVariant(to), C.double(progress))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QVariantAnimation) InterpolatedDefault(from QVariant_ITF, to QVariant_ITF, progress float64) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QVariantAnimation_InterpolatedDefault(ptr.Pointer(), PointerFromQVariant(from), PointerFromQVariant(to), C.double(progress))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QVariantAnimation) KeyValueAt(step float64) *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QVariantAnimation_KeyValueAt(ptr.Pointer(), C.double(step))) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QVariantAnimation) SetDuration(msecs int) { + if ptr.Pointer() != nil { + C.QVariantAnimation_SetDuration(ptr.Pointer(), C.int(int32(msecs))) + } +} + +func (ptr *QVariantAnimation) SetEasingCurve(easing QEasingCurve_ITF) { + if ptr.Pointer() != nil { + C.QVariantAnimation_SetEasingCurve(ptr.Pointer(), PointerFromQEasingCurve(easing)) + } +} + +func (ptr *QVariantAnimation) SetEndValue(value QVariant_ITF) { + if ptr.Pointer() != nil { + C.QVariantAnimation_SetEndValue(ptr.Pointer(), PointerFromQVariant(value)) + } +} + +func (ptr *QVariantAnimation) SetKeyValueAt(step float64, value QVariant_ITF) { + if ptr.Pointer() != nil { + C.QVariantAnimation_SetKeyValueAt(ptr.Pointer(), C.double(step), PointerFromQVariant(value)) + } +} + +func (ptr *QVariantAnimation) SetStartValue(value QVariant_ITF) { + if ptr.Pointer() != nil { + C.QVariantAnimation_SetStartValue(ptr.Pointer(), PointerFromQVariant(value)) + } +} + +func (ptr *QVariantAnimation) StartValue() *QVariant { + if ptr.Pointer() != nil { + tmpValue := NewQVariantFromPointer(C.QVariantAnimation_StartValue(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQVariantAnimation_UpdateCurrentTime +func callbackQVariantAnimation_UpdateCurrentTime(ptr unsafe.Pointer, vin C.int) { + if signal := qt.GetSignal(ptr, "updateCurrentTime"); signal != nil { + (*(*func(int))(signal))(int(int32(vin))) + } else { + NewQVariantAnimationFromPointer(ptr).UpdateCurrentTimeDefault(int(int32(vin))) + } +} + +func (ptr *QVariantAnimation) ConnectUpdateCurrentTime(f func(vin int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateCurrentTime"); signal != nil { + f := func(vin int) { + (*(*func(int))(signal))(vin) + f(vin) + } + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateCurrentTime", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QVariantAnimation) DisconnectUpdateCurrentTime() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateCurrentTime") + } +} + +func (ptr *QVariantAnimation) UpdateCurrentTime(vin int) { + if ptr.Pointer() != nil { + C.QVariantAnimation_UpdateCurrentTime(ptr.Pointer(), C.int(int32(vin))) + } +} + +func (ptr *QVariantAnimation) UpdateCurrentTimeDefault(vin int) { + if ptr.Pointer() != nil { + C.QVariantAnimation_UpdateCurrentTimeDefault(ptr.Pointer(), C.int(int32(vin))) + } +} + +//export callbackQVariantAnimation_UpdateCurrentValue +func callbackQVariantAnimation_UpdateCurrentValue(ptr unsafe.Pointer, value unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "updateCurrentValue"); signal != nil { + (*(*func(*QVariant))(signal))(NewQVariantFromPointer(value)) + } else { + NewQVariantAnimationFromPointer(ptr).UpdateCurrentValueDefault(NewQVariantFromPointer(value)) + } +} + +func (ptr *QVariantAnimation) ConnectUpdateCurrentValue(f func(value *QVariant)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateCurrentValue"); signal != nil { + f := func(value *QVariant) { + (*(*func(*QVariant))(signal))(value) + f(value) + } + qt.ConnectSignal(ptr.Pointer(), "updateCurrentValue", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateCurrentValue", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QVariantAnimation) DisconnectUpdateCurrentValue() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateCurrentValue") + } +} + +func (ptr *QVariantAnimation) UpdateCurrentValue(value QVariant_ITF) { + if ptr.Pointer() != nil { + C.QVariantAnimation_UpdateCurrentValue(ptr.Pointer(), PointerFromQVariant(value)) + } +} + +func (ptr *QVariantAnimation) UpdateCurrentValueDefault(value QVariant_ITF) { + if ptr.Pointer() != nil { + C.QVariantAnimation_UpdateCurrentValueDefault(ptr.Pointer(), PointerFromQVariant(value)) + } +} + +//export callbackQVariantAnimation_ValueChanged +func callbackQVariantAnimation_ValueChanged(ptr unsafe.Pointer, value unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "valueChanged"); signal != nil { + (*(*func(*QVariant))(signal))(NewQVariantFromPointer(value)) + } + +} + +func (ptr *QVariantAnimation) ConnectValueChanged(f func(value *QVariant)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "valueChanged") { + C.QVariantAnimation_ConnectValueChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "valueChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "valueChanged"); signal != nil { + f := func(value *QVariant) { + (*(*func(*QVariant))(signal))(value) + f(value) + } + qt.ConnectSignal(ptr.Pointer(), "valueChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "valueChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QVariantAnimation) DisconnectValueChanged() { + if ptr.Pointer() != nil { + C.QVariantAnimation_DisconnectValueChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "valueChanged") + } +} + +func (ptr *QVariantAnimation) ValueChanged(value QVariant_ITF) { + if ptr.Pointer() != nil { + C.QVariantAnimation_ValueChanged(ptr.Pointer(), PointerFromQVariant(value)) + } +} + +//export callbackQVariantAnimation_DestroyQVariantAnimation +func callbackQVariantAnimation_DestroyQVariantAnimation(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QVariantAnimation"); signal != nil { + (*(*func())(signal))() + } else { + NewQVariantAnimationFromPointer(ptr).DestroyQVariantAnimationDefault() + } +} + +func (ptr *QVariantAnimation) ConnectDestroyQVariantAnimation(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QVariantAnimation"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QVariantAnimation", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QVariantAnimation", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QVariantAnimation) DisconnectDestroyQVariantAnimation() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QVariantAnimation") + } +} + +func (ptr *QVariantAnimation) DestroyQVariantAnimation() { + if ptr.Pointer() != nil { + C.QVariantAnimation_DestroyQVariantAnimation(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QVariantAnimation) DestroyQVariantAnimationDefault() { + if ptr.Pointer() != nil { + C.QVariantAnimation_DestroyQVariantAnimationDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QVector struct { + ptr unsafe.Pointer +} + +type QVector_ITF interface { + QVector_PTR() *QVector +} + +func (ptr *QVector) QVector_PTR() *QVector { + return ptr +} + +func (ptr *QVector) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVector) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVector(ptr QVector_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVector_PTR().Pointer() + } + return nil +} + +func NewQVectorFromPointer(ptr unsafe.Pointer) (n *QVector) { + n = new(QVector) + n.SetPointer(ptr) + return +} + +type QVectorIterator struct { + ptr unsafe.Pointer +} + +type QVectorIterator_ITF interface { + QVectorIterator_PTR() *QVectorIterator +} + +func (ptr *QVectorIterator) QVectorIterator_PTR() *QVectorIterator { + return ptr +} + +func (ptr *QVectorIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVectorIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVectorIterator(ptr QVectorIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVectorIterator_PTR().Pointer() + } + return nil +} + +func NewQVectorIteratorFromPointer(ptr unsafe.Pointer) (n *QVectorIterator) { + n = new(QVectorIterator) + n.SetPointer(ptr) + return +} + +func (ptr *QVectorIterator) DestroyQVectorIterator() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QVersionNumber struct { + ptr unsafe.Pointer +} + +type QVersionNumber_ITF interface { + QVersionNumber_PTR() *QVersionNumber +} + +func (ptr *QVersionNumber) QVersionNumber_PTR() *QVersionNumber { + return ptr +} + +func (ptr *QVersionNumber) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVersionNumber) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVersionNumber(ptr QVersionNumber_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVersionNumber_PTR().Pointer() + } + return nil +} + +func NewQVersionNumberFromPointer(ptr unsafe.Pointer) (n *QVersionNumber) { + n = new(QVersionNumber) + n.SetPointer(ptr) + return +} + +func (ptr *QVersionNumber) DestroyQVersionNumber() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQVersionNumber() *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_NewQVersionNumber()) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func NewQVersionNumber2(seg []int) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_NewQVersionNumber2(func() unsafe.Pointer { + tmpList := NewQVersionNumberFromPointer(NewQVersionNumberFromPointer(nil).__QVersionNumber_seg_newList2()) + for _, v := range seg { + tmpList.__QVersionNumber_seg_setList2(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func NewQVersionNumber3(seg []int) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_NewQVersionNumber3(func() unsafe.Pointer { + tmpList := NewQVersionNumberFromPointer(NewQVersionNumberFromPointer(nil).__QVersionNumber_seg_newList3()) + for _, v := range seg { + tmpList.__QVersionNumber_seg_setList3(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func NewQVersionNumber5(maj int) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_NewQVersionNumber5(C.int(int32(maj)))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func NewQVersionNumber6(maj int, min int) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_NewQVersionNumber6(C.int(int32(maj)), C.int(int32(min)))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func NewQVersionNumber7(maj int, min int, mic int) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_NewQVersionNumber7(C.int(int32(maj)), C.int(int32(min)), C.int(int32(mic)))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func QVersionNumber_CommonPrefix(v1 QVersionNumber_ITF, v2 QVersionNumber_ITF) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_QVersionNumber_CommonPrefix(PointerFromQVersionNumber(v1), PointerFromQVersionNumber(v2))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func (ptr *QVersionNumber) CommonPrefix(v1 QVersionNumber_ITF, v2 QVersionNumber_ITF) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_QVersionNumber_CommonPrefix(PointerFromQVersionNumber(v1), PointerFromQVersionNumber(v2))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func QVersionNumber_Compare(v1 QVersionNumber_ITF, v2 QVersionNumber_ITF) int { + return int(int32(C.QVersionNumber_QVersionNumber_Compare(PointerFromQVersionNumber(v1), PointerFromQVersionNumber(v2)))) +} + +func (ptr *QVersionNumber) Compare(v1 QVersionNumber_ITF, v2 QVersionNumber_ITF) int { + return int(int32(C.QVersionNumber_QVersionNumber_Compare(PointerFromQVersionNumber(v1), PointerFromQVersionNumber(v2)))) +} + +func QVersionNumber_FromString(stri string, suffixIndex int) *QVersionNumber { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_QVersionNumber_FromString(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.int(int32(suffixIndex)))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func (ptr *QVersionNumber) FromString(stri string, suffixIndex int) *QVersionNumber { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_QVersionNumber_FromString(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))}, C.int(int32(suffixIndex)))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func QVersionNumber_FromString2(stri QLatin1String_ITF, suffixIndex int) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_QVersionNumber_FromString2(PointerFromQLatin1String(stri), C.int(int32(suffixIndex)))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func (ptr *QVersionNumber) FromString2(stri QLatin1String_ITF, suffixIndex int) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_QVersionNumber_FromString2(PointerFromQLatin1String(stri), C.int(int32(suffixIndex)))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func QVersionNumber_FromString3(stri QStringView_ITF, suffixIndex int) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_QVersionNumber_FromString3(PointerFromQStringView(stri), C.int(int32(suffixIndex)))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func (ptr *QVersionNumber) FromString3(stri QStringView_ITF, suffixIndex int) *QVersionNumber { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_QVersionNumber_FromString3(PointerFromQStringView(stri), C.int(int32(suffixIndex)))) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue +} + +func (ptr *QVersionNumber) IsNormalized() bool { + if ptr.Pointer() != nil { + return int8(C.QVersionNumber_IsNormalized(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QVersionNumber) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QVersionNumber_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QVersionNumber) IsPrefixOf(other QVersionNumber_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QVersionNumber_IsPrefixOf(ptr.Pointer(), PointerFromQVersionNumber(other))) != 0 + } + return false +} + +func (ptr *QVersionNumber) MajorVersion() int { + if ptr.Pointer() != nil { + return int(int32(C.QVersionNumber_MajorVersion(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QVersionNumber) MicroVersion() int { + if ptr.Pointer() != nil { + return int(int32(C.QVersionNumber_MicroVersion(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QVersionNumber) MinorVersion() int { + if ptr.Pointer() != nil { + return int(int32(C.QVersionNumber_MinorVersion(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QVersionNumber) Normalized() *QVersionNumber { + if ptr.Pointer() != nil { + tmpValue := NewQVersionNumberFromPointer(C.QVersionNumber_Normalized(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVersionNumber).DestroyQVersionNumber) + return tmpValue + } + return nil +} + +func (ptr *QVersionNumber) SegmentAt(index int) int { + if ptr.Pointer() != nil { + return int(int32(C.QVersionNumber_SegmentAt(ptr.Pointer(), C.int(int32(index))))) + } + return 0 +} + +func (ptr *QVersionNumber) SegmentCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QVersionNumber_SegmentCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QVersionNumber) Segments() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtCore_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQVersionNumberFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__segments_atList(i) + } + return out + }(C.QVersionNumber_Segments(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QVersionNumber) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QVersionNumber_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QVersionNumber) __QVersionNumber_seg_atList2(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QVersionNumber___QVersionNumber_seg_atList2(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QVersionNumber) __QVersionNumber_seg_setList2(i int) { + if ptr.Pointer() != nil { + C.QVersionNumber___QVersionNumber_seg_setList2(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QVersionNumber) __QVersionNumber_seg_newList2() unsafe.Pointer { + return C.QVersionNumber___QVersionNumber_seg_newList2(ptr.Pointer()) +} + +func (ptr *QVersionNumber) __QVersionNumber_seg_atList3(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QVersionNumber___QVersionNumber_seg_atList3(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QVersionNumber) __QVersionNumber_seg_setList3(i int) { + if ptr.Pointer() != nil { + C.QVersionNumber___QVersionNumber_seg_setList3(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QVersionNumber) __QVersionNumber_seg_newList3() unsafe.Pointer { + return C.QVersionNumber___QVersionNumber_seg_newList3(ptr.Pointer()) +} + +func (ptr *QVersionNumber) __segments_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QVersionNumber___segments_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QVersionNumber) __segments_setList(i int) { + if ptr.Pointer() != nil { + C.QVersionNumber___segments_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QVersionNumber) __segments_newList() unsafe.Pointer { + return C.QVersionNumber___segments_newList(ptr.Pointer()) +} + +type QWaitCondition struct { + ptr unsafe.Pointer +} + +type QWaitCondition_ITF interface { + QWaitCondition_PTR() *QWaitCondition +} + +func (ptr *QWaitCondition) QWaitCondition_PTR() *QWaitCondition { + return ptr +} + +func (ptr *QWaitCondition) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QWaitCondition) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQWaitCondition(ptr QWaitCondition_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QWaitCondition_PTR().Pointer() + } + return nil +} + +func NewQWaitConditionFromPointer(ptr unsafe.Pointer) (n *QWaitCondition) { + n = new(QWaitCondition) + n.SetPointer(ptr) + return +} +func NewQWaitCondition() *QWaitCondition { + tmpValue := NewQWaitConditionFromPointer(C.QWaitCondition_NewQWaitCondition()) + runtime.SetFinalizer(tmpValue, (*QWaitCondition).DestroyQWaitCondition) + return tmpValue +} + +func (ptr *QWaitCondition) Notify_all() { + if ptr.Pointer() != nil { + C.QWaitCondition_Notify_all(ptr.Pointer()) + } +} + +func (ptr *QWaitCondition) Notify_one() { + if ptr.Pointer() != nil { + C.QWaitCondition_Notify_one(ptr.Pointer()) + } +} + +func (ptr *QWaitCondition) Wait(lockedMutex QMutex_ITF, ti uint) bool { + if ptr.Pointer() != nil { + return int8(C.QWaitCondition_Wait(ptr.Pointer(), PointerFromQMutex(lockedMutex), C.ulong(uint32(ti)))) != 0 + } + return false +} + +func (ptr *QWaitCondition) Wait3(lockedReadWriteLock QReadWriteLock_ITF, ti uint) bool { + if ptr.Pointer() != nil { + return int8(C.QWaitCondition_Wait3(ptr.Pointer(), PointerFromQReadWriteLock(lockedReadWriteLock), C.ulong(uint32(ti)))) != 0 + } + return false +} + +func (ptr *QWaitCondition) WakeAll() { + if ptr.Pointer() != nil { + C.QWaitCondition_WakeAll(ptr.Pointer()) + } +} + +func (ptr *QWaitCondition) WakeOne() { + if ptr.Pointer() != nil { + C.QWaitCondition_WakeOne(ptr.Pointer()) + } +} + +func (ptr *QWaitCondition) DestroyQWaitCondition() { + if ptr.Pointer() != nil { + C.QWaitCondition_DestroyQWaitCondition(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QWeakPointer struct { + ptr unsafe.Pointer +} + +type QWeakPointer_ITF interface { + QWeakPointer_PTR() *QWeakPointer +} + +func (ptr *QWeakPointer) QWeakPointer_PTR() *QWeakPointer { + return ptr +} + +func (ptr *QWeakPointer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QWeakPointer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQWeakPointer(ptr QWeakPointer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QWeakPointer_PTR().Pointer() + } + return nil +} + +func NewQWeakPointerFromPointer(ptr unsafe.Pointer) (n *QWeakPointer) { + n = new(QWeakPointer) + n.SetPointer(ptr) + return +} + +type QWinEventNotifier struct { + QObject +} + +type QWinEventNotifier_ITF interface { + QObject_ITF + QWinEventNotifier_PTR() *QWinEventNotifier +} + +func (ptr *QWinEventNotifier) QWinEventNotifier_PTR() *QWinEventNotifier { + return ptr +} + +func (ptr *QWinEventNotifier) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QWinEventNotifier) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQWinEventNotifier(ptr QWinEventNotifier_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QWinEventNotifier_PTR().Pointer() + } + return nil +} + +func NewQWinEventNotifierFromPointer(ptr unsafe.Pointer) (n *QWinEventNotifier) { + n = new(QWinEventNotifier) + n.SetPointer(ptr) + return +} + +type QWriteLocker struct { + ptr unsafe.Pointer +} + +type QWriteLocker_ITF interface { + QWriteLocker_PTR() *QWriteLocker +} + +func (ptr *QWriteLocker) QWriteLocker_PTR() *QWriteLocker { + return ptr +} + +func (ptr *QWriteLocker) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QWriteLocker) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQWriteLocker(ptr QWriteLocker_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QWriteLocker_PTR().Pointer() + } + return nil +} + +func NewQWriteLockerFromPointer(ptr unsafe.Pointer) (n *QWriteLocker) { + n = new(QWriteLocker) + n.SetPointer(ptr) + return +} +func NewQWriteLocker(lock QReadWriteLock_ITF) *QWriteLocker { + tmpValue := NewQWriteLockerFromPointer(C.QWriteLocker_NewQWriteLocker(PointerFromQReadWriteLock(lock))) + runtime.SetFinalizer(tmpValue, (*QWriteLocker).DestroyQWriteLocker) + return tmpValue +} + +func (ptr *QWriteLocker) ReadWriteLock() *QReadWriteLock { + if ptr.Pointer() != nil { + return NewQReadWriteLockFromPointer(C.QWriteLocker_ReadWriteLock(ptr.Pointer())) + } + return nil +} + +func (ptr *QWriteLocker) Relock() { + if ptr.Pointer() != nil { + C.QWriteLocker_Relock(ptr.Pointer()) + } +} + +func (ptr *QWriteLocker) Unlock() { + if ptr.Pointer() != nil { + C.QWriteLocker_Unlock(ptr.Pointer()) + } +} + +func (ptr *QWriteLocker) DestroyQWriteLocker() { + if ptr.Pointer() != nil { + C.QWriteLocker_DestroyQWriteLocker(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QXmlStreamAttribute struct { + ptr unsafe.Pointer +} + +type QXmlStreamAttribute_ITF interface { + QXmlStreamAttribute_PTR() *QXmlStreamAttribute +} + +func (ptr *QXmlStreamAttribute) QXmlStreamAttribute_PTR() *QXmlStreamAttribute { + return ptr +} + +func (ptr *QXmlStreamAttribute) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QXmlStreamAttribute) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQXmlStreamAttribute(ptr QXmlStreamAttribute_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QXmlStreamAttribute_PTR().Pointer() + } + return nil +} + +func NewQXmlStreamAttributeFromPointer(ptr unsafe.Pointer) (n *QXmlStreamAttribute) { + n = new(QXmlStreamAttribute) + n.SetPointer(ptr) + return +} +func NewQXmlStreamAttribute() *QXmlStreamAttribute { + tmpValue := NewQXmlStreamAttributeFromPointer(C.QXmlStreamAttribute_NewQXmlStreamAttribute()) + runtime.SetFinalizer(tmpValue, (*QXmlStreamAttribute).DestroyQXmlStreamAttribute) + return tmpValue +} + +func NewQXmlStreamAttribute2(qualifiedName string, value string) *QXmlStreamAttribute { + var qualifiedNameC *C.char + if qualifiedName != "" { + qualifiedNameC = C.CString(qualifiedName) + defer C.free(unsafe.Pointer(qualifiedNameC)) + } + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + tmpValue := NewQXmlStreamAttributeFromPointer(C.QXmlStreamAttribute_NewQXmlStreamAttribute2(C.struct_QtCore_PackedString{data: qualifiedNameC, len: C.longlong(len(qualifiedName))}, C.struct_QtCore_PackedString{data: valueC, len: C.longlong(len(value))})) + runtime.SetFinalizer(tmpValue, (*QXmlStreamAttribute).DestroyQXmlStreamAttribute) + return tmpValue +} + +func NewQXmlStreamAttribute3(namespaceUri string, name string, value string) *QXmlStreamAttribute { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + tmpValue := NewQXmlStreamAttributeFromPointer(C.QXmlStreamAttribute_NewQXmlStreamAttribute3(C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtCore_PackedString{data: valueC, len: C.longlong(len(value))})) + runtime.SetFinalizer(tmpValue, (*QXmlStreamAttribute).DestroyQXmlStreamAttribute) + return tmpValue +} + +func NewQXmlStreamAttribute4(other QXmlStreamAttribute_ITF) *QXmlStreamAttribute { + tmpValue := NewQXmlStreamAttributeFromPointer(C.QXmlStreamAttribute_NewQXmlStreamAttribute4(PointerFromQXmlStreamAttribute(other))) + runtime.SetFinalizer(tmpValue, (*QXmlStreamAttribute).DestroyQXmlStreamAttribute) + return tmpValue +} + +func (ptr *QXmlStreamAttribute) IsDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamAttribute_IsDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamAttribute) Name() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttribute_Name(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamAttribute) NamespaceUri() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttribute_NamespaceUri(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamAttribute) Prefix() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttribute_Prefix(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamAttribute) QualifiedName() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttribute_QualifiedName(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamAttribute) Value() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttribute_Value(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamAttribute) DestroyQXmlStreamAttribute() { + if ptr.Pointer() != nil { + C.QXmlStreamAttribute_DestroyQXmlStreamAttribute(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QXmlStreamAttributes struct { + QVector +} + +type QXmlStreamAttributes_ITF interface { + QVector_ITF + QXmlStreamAttributes_PTR() *QXmlStreamAttributes +} + +func (ptr *QXmlStreamAttributes) QXmlStreamAttributes_PTR() *QXmlStreamAttributes { + return ptr +} + +func (ptr *QXmlStreamAttributes) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QVector_PTR().Pointer() + } + return nil +} + +func (ptr *QXmlStreamAttributes) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QVector_PTR().SetPointer(p) + } +} + +func PointerFromQXmlStreamAttributes(ptr QXmlStreamAttributes_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QXmlStreamAttributes_PTR().Pointer() + } + return nil +} + +func NewQXmlStreamAttributesFromPointer(ptr unsafe.Pointer) (n *QXmlStreamAttributes) { + n = new(QXmlStreamAttributes) + n.SetPointer(ptr) + return +} + +func (ptr *QXmlStreamAttributes) DestroyQXmlStreamAttributes() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQXmlStreamAttributes() *QXmlStreamAttributes { + tmpValue := NewQXmlStreamAttributesFromPointer(C.QXmlStreamAttributes_NewQXmlStreamAttributes()) + runtime.SetFinalizer(tmpValue, (*QXmlStreamAttributes).DestroyQXmlStreamAttributes) + return tmpValue +} + +func (ptr *QXmlStreamAttributes) Append(namespaceUri string, name string, value string) { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + C.QXmlStreamAttributes_Append(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtCore_PackedString{data: valueC, len: C.longlong(len(value))}) + } +} + +func (ptr *QXmlStreamAttributes) Append2(qualifiedName string, value string) { + if ptr.Pointer() != nil { + var qualifiedNameC *C.char + if qualifiedName != "" { + qualifiedNameC = C.CString(qualifiedName) + defer C.free(unsafe.Pointer(qualifiedNameC)) + } + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + C.QXmlStreamAttributes_Append2(ptr.Pointer(), C.struct_QtCore_PackedString{data: qualifiedNameC, len: C.longlong(len(qualifiedName))}, C.struct_QtCore_PackedString{data: valueC, len: C.longlong(len(value))}) + } +} + +func (ptr *QXmlStreamAttributes) HasAttribute(qualifiedName string) bool { + if ptr.Pointer() != nil { + var qualifiedNameC *C.char + if qualifiedName != "" { + qualifiedNameC = C.CString(qualifiedName) + defer C.free(unsafe.Pointer(qualifiedNameC)) + } + return int8(C.QXmlStreamAttributes_HasAttribute(ptr.Pointer(), C.struct_QtCore_PackedString{data: qualifiedNameC, len: C.longlong(len(qualifiedName))})) != 0 + } + return false +} + +func (ptr *QXmlStreamAttributes) HasAttribute2(qualifiedName QLatin1String_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamAttributes_HasAttribute2(ptr.Pointer(), PointerFromQLatin1String(qualifiedName))) != 0 + } + return false +} + +func (ptr *QXmlStreamAttributes) HasAttribute3(namespaceUri string, name string) bool { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QXmlStreamAttributes_HasAttribute3(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 + } + return false +} + +func (ptr *QXmlStreamAttributes) Value(namespaceUri string, name string) *QStringRef { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttributes_Value(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamAttributes) Value2(namespaceUri string, name QLatin1String_ITF) *QStringRef { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttributes_Value2(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, PointerFromQLatin1String(name))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamAttributes) Value3(namespaceUri QLatin1String_ITF, name QLatin1String_ITF) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttributes_Value3(ptr.Pointer(), PointerFromQLatin1String(namespaceUri), PointerFromQLatin1String(name))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamAttributes) Value4(qualifiedName string) *QStringRef { + if ptr.Pointer() != nil { + var qualifiedNameC *C.char + if qualifiedName != "" { + qualifiedNameC = C.CString(qualifiedName) + defer C.free(unsafe.Pointer(qualifiedNameC)) + } + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttributes_Value4(ptr.Pointer(), C.struct_QtCore_PackedString{data: qualifiedNameC, len: C.longlong(len(qualifiedName))})) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamAttributes) Value5(qualifiedName QLatin1String_ITF) *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamAttributes_Value5(ptr.Pointer(), PointerFromQLatin1String(qualifiedName))) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +type QXmlStreamEntityDeclaration struct { + ptr unsafe.Pointer +} + +type QXmlStreamEntityDeclaration_ITF interface { + QXmlStreamEntityDeclaration_PTR() *QXmlStreamEntityDeclaration +} + +func (ptr *QXmlStreamEntityDeclaration) QXmlStreamEntityDeclaration_PTR() *QXmlStreamEntityDeclaration { + return ptr +} + +func (ptr *QXmlStreamEntityDeclaration) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QXmlStreamEntityDeclaration) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQXmlStreamEntityDeclaration(ptr QXmlStreamEntityDeclaration_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QXmlStreamEntityDeclaration_PTR().Pointer() + } + return nil +} + +func NewQXmlStreamEntityDeclarationFromPointer(ptr unsafe.Pointer) (n *QXmlStreamEntityDeclaration) { + n = new(QXmlStreamEntityDeclaration) + n.SetPointer(ptr) + return +} +func NewQXmlStreamEntityDeclaration() *QXmlStreamEntityDeclaration { + tmpValue := NewQXmlStreamEntityDeclarationFromPointer(C.QXmlStreamEntityDeclaration_NewQXmlStreamEntityDeclaration()) + runtime.SetFinalizer(tmpValue, (*QXmlStreamEntityDeclaration).DestroyQXmlStreamEntityDeclaration) + return tmpValue +} + +func NewQXmlStreamEntityDeclaration2(other QXmlStreamEntityDeclaration_ITF) *QXmlStreamEntityDeclaration { + tmpValue := NewQXmlStreamEntityDeclarationFromPointer(C.QXmlStreamEntityDeclaration_NewQXmlStreamEntityDeclaration2(PointerFromQXmlStreamEntityDeclaration(other))) + runtime.SetFinalizer(tmpValue, (*QXmlStreamEntityDeclaration).DestroyQXmlStreamEntityDeclaration) + return tmpValue +} + +func (ptr *QXmlStreamEntityDeclaration) Name() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamEntityDeclaration_Name(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamEntityDeclaration) NotationName() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamEntityDeclaration_NotationName(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamEntityDeclaration) PublicId() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamEntityDeclaration_PublicId(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamEntityDeclaration) SystemId() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamEntityDeclaration_SystemId(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamEntityDeclaration) Value() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamEntityDeclaration_Value(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamEntityDeclaration) DestroyQXmlStreamEntityDeclaration() { + if ptr.Pointer() != nil { + C.QXmlStreamEntityDeclaration_DestroyQXmlStreamEntityDeclaration(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QXmlStreamEntityResolver struct { + ptr unsafe.Pointer +} + +type QXmlStreamEntityResolver_ITF interface { + QXmlStreamEntityResolver_PTR() *QXmlStreamEntityResolver +} + +func (ptr *QXmlStreamEntityResolver) QXmlStreamEntityResolver_PTR() *QXmlStreamEntityResolver { + return ptr +} + +func (ptr *QXmlStreamEntityResolver) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QXmlStreamEntityResolver) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQXmlStreamEntityResolver(ptr QXmlStreamEntityResolver_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QXmlStreamEntityResolver_PTR().Pointer() + } + return nil +} + +func NewQXmlStreamEntityResolverFromPointer(ptr unsafe.Pointer) (n *QXmlStreamEntityResolver) { + n = new(QXmlStreamEntityResolver) + n.SetPointer(ptr) + return +} + +//export callbackQXmlStreamEntityResolver_ResolveUndeclaredEntity +func callbackQXmlStreamEntityResolver_ResolveUndeclaredEntity(ptr unsafe.Pointer, name C.struct_QtCore_PackedString) C.struct_QtCore_PackedString { + if signal := qt.GetSignal(ptr, "resolveUndeclaredEntity"); signal != nil { + tempVal := (*(*func(string) string)(signal))(cGoUnpackString(name)) + return C.struct_QtCore_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQXmlStreamEntityResolverFromPointer(ptr).ResolveUndeclaredEntityDefault(cGoUnpackString(name)) + return C.struct_QtCore_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QXmlStreamEntityResolver) ConnectResolveUndeclaredEntity(f func(name string) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "resolveUndeclaredEntity"); signal != nil { + f := func(name string) string { + (*(*func(string) string)(signal))(name) + return f(name) + } + qt.ConnectSignal(ptr.Pointer(), "resolveUndeclaredEntity", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resolveUndeclaredEntity", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QXmlStreamEntityResolver) DisconnectResolveUndeclaredEntity() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "resolveUndeclaredEntity") + } +} + +func (ptr *QXmlStreamEntityResolver) ResolveUndeclaredEntity(name string) string { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return cGoUnpackString(C.QXmlStreamEntityResolver_ResolveUndeclaredEntity(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) + } + return "" +} + +func (ptr *QXmlStreamEntityResolver) ResolveUndeclaredEntityDefault(name string) string { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return cGoUnpackString(C.QXmlStreamEntityResolver_ResolveUndeclaredEntityDefault(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))})) + } + return "" +} + +//export callbackQXmlStreamEntityResolver_DestroyQXmlStreamEntityResolver +func callbackQXmlStreamEntityResolver_DestroyQXmlStreamEntityResolver(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QXmlStreamEntityResolver"); signal != nil { + (*(*func())(signal))() + } else { + NewQXmlStreamEntityResolverFromPointer(ptr).DestroyQXmlStreamEntityResolverDefault() + } +} + +func (ptr *QXmlStreamEntityResolver) ConnectDestroyQXmlStreamEntityResolver(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QXmlStreamEntityResolver"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QXmlStreamEntityResolver", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QXmlStreamEntityResolver", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QXmlStreamEntityResolver) DisconnectDestroyQXmlStreamEntityResolver() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QXmlStreamEntityResolver") + } +} + +func (ptr *QXmlStreamEntityResolver) DestroyQXmlStreamEntityResolver() { + if ptr.Pointer() != nil { + C.QXmlStreamEntityResolver_DestroyQXmlStreamEntityResolver(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QXmlStreamEntityResolver) DestroyQXmlStreamEntityResolverDefault() { + if ptr.Pointer() != nil { + C.QXmlStreamEntityResolver_DestroyQXmlStreamEntityResolverDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QXmlStreamNamespaceDeclaration struct { + ptr unsafe.Pointer +} + +type QXmlStreamNamespaceDeclaration_ITF interface { + QXmlStreamNamespaceDeclaration_PTR() *QXmlStreamNamespaceDeclaration +} + +func (ptr *QXmlStreamNamespaceDeclaration) QXmlStreamNamespaceDeclaration_PTR() *QXmlStreamNamespaceDeclaration { + return ptr +} + +func (ptr *QXmlStreamNamespaceDeclaration) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QXmlStreamNamespaceDeclaration) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQXmlStreamNamespaceDeclaration(ptr QXmlStreamNamespaceDeclaration_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QXmlStreamNamespaceDeclaration_PTR().Pointer() + } + return nil +} + +func NewQXmlStreamNamespaceDeclarationFromPointer(ptr unsafe.Pointer) (n *QXmlStreamNamespaceDeclaration) { + n = new(QXmlStreamNamespaceDeclaration) + n.SetPointer(ptr) + return +} +func NewQXmlStreamNamespaceDeclaration() *QXmlStreamNamespaceDeclaration { + tmpValue := NewQXmlStreamNamespaceDeclarationFromPointer(C.QXmlStreamNamespaceDeclaration_NewQXmlStreamNamespaceDeclaration()) + runtime.SetFinalizer(tmpValue, (*QXmlStreamNamespaceDeclaration).DestroyQXmlStreamNamespaceDeclaration) + return tmpValue +} + +func NewQXmlStreamNamespaceDeclaration2(other QXmlStreamNamespaceDeclaration_ITF) *QXmlStreamNamespaceDeclaration { + tmpValue := NewQXmlStreamNamespaceDeclarationFromPointer(C.QXmlStreamNamespaceDeclaration_NewQXmlStreamNamespaceDeclaration2(PointerFromQXmlStreamNamespaceDeclaration(other))) + runtime.SetFinalizer(tmpValue, (*QXmlStreamNamespaceDeclaration).DestroyQXmlStreamNamespaceDeclaration) + return tmpValue +} + +func NewQXmlStreamNamespaceDeclaration4(prefix string, namespaceUri string) *QXmlStreamNamespaceDeclaration { + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + tmpValue := NewQXmlStreamNamespaceDeclarationFromPointer(C.QXmlStreamNamespaceDeclaration_NewQXmlStreamNamespaceDeclaration4(C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}, C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))})) + runtime.SetFinalizer(tmpValue, (*QXmlStreamNamespaceDeclaration).DestroyQXmlStreamNamespaceDeclaration) + return tmpValue +} + +func (ptr *QXmlStreamNamespaceDeclaration) NamespaceUri() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamNamespaceDeclaration_NamespaceUri(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamNamespaceDeclaration) Prefix() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamNamespaceDeclaration_Prefix(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamNamespaceDeclaration) DestroyQXmlStreamNamespaceDeclaration() { + if ptr.Pointer() != nil { + C.QXmlStreamNamespaceDeclaration_DestroyQXmlStreamNamespaceDeclaration(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QXmlStreamNotationDeclaration struct { + ptr unsafe.Pointer +} + +type QXmlStreamNotationDeclaration_ITF interface { + QXmlStreamNotationDeclaration_PTR() *QXmlStreamNotationDeclaration +} + +func (ptr *QXmlStreamNotationDeclaration) QXmlStreamNotationDeclaration_PTR() *QXmlStreamNotationDeclaration { + return ptr +} + +func (ptr *QXmlStreamNotationDeclaration) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QXmlStreamNotationDeclaration) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQXmlStreamNotationDeclaration(ptr QXmlStreamNotationDeclaration_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QXmlStreamNotationDeclaration_PTR().Pointer() + } + return nil +} + +func NewQXmlStreamNotationDeclarationFromPointer(ptr unsafe.Pointer) (n *QXmlStreamNotationDeclaration) { + n = new(QXmlStreamNotationDeclaration) + n.SetPointer(ptr) + return +} +func NewQXmlStreamNotationDeclaration() *QXmlStreamNotationDeclaration { + tmpValue := NewQXmlStreamNotationDeclarationFromPointer(C.QXmlStreamNotationDeclaration_NewQXmlStreamNotationDeclaration()) + runtime.SetFinalizer(tmpValue, (*QXmlStreamNotationDeclaration).DestroyQXmlStreamNotationDeclaration) + return tmpValue +} + +func NewQXmlStreamNotationDeclaration2(other QXmlStreamNotationDeclaration_ITF) *QXmlStreamNotationDeclaration { + tmpValue := NewQXmlStreamNotationDeclarationFromPointer(C.QXmlStreamNotationDeclaration_NewQXmlStreamNotationDeclaration2(PointerFromQXmlStreamNotationDeclaration(other))) + runtime.SetFinalizer(tmpValue, (*QXmlStreamNotationDeclaration).DestroyQXmlStreamNotationDeclaration) + return tmpValue +} + +func (ptr *QXmlStreamNotationDeclaration) Name() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamNotationDeclaration_Name(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamNotationDeclaration) PublicId() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamNotationDeclaration_PublicId(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamNotationDeclaration) SystemId() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamNotationDeclaration_SystemId(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamNotationDeclaration) DestroyQXmlStreamNotationDeclaration() { + if ptr.Pointer() != nil { + C.QXmlStreamNotationDeclaration_DestroyQXmlStreamNotationDeclaration(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QXmlStreamReader struct { + ptr unsafe.Pointer +} + +type QXmlStreamReader_ITF interface { + QXmlStreamReader_PTR() *QXmlStreamReader +} + +func (ptr *QXmlStreamReader) QXmlStreamReader_PTR() *QXmlStreamReader { + return ptr +} + +func (ptr *QXmlStreamReader) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QXmlStreamReader) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQXmlStreamReader(ptr QXmlStreamReader_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QXmlStreamReader_PTR().Pointer() + } + return nil +} + +func NewQXmlStreamReaderFromPointer(ptr unsafe.Pointer) (n *QXmlStreamReader) { + n = new(QXmlStreamReader) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QXmlStreamReader__TokenType +//QXmlStreamReader::TokenType +type QXmlStreamReader__TokenType int64 + +const ( + QXmlStreamReader__NoToken QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(0) + QXmlStreamReader__Invalid QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(1) + QXmlStreamReader__StartDocument QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(2) + QXmlStreamReader__EndDocument QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(3) + QXmlStreamReader__StartElement QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(4) + QXmlStreamReader__EndElement QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(5) + QXmlStreamReader__Characters QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(6) + QXmlStreamReader__Comment QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(7) + QXmlStreamReader__DTD QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(8) + QXmlStreamReader__EntityReference QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(9) + QXmlStreamReader__ProcessingInstruction QXmlStreamReader__TokenType = QXmlStreamReader__TokenType(10) +) + +//go:generate stringer -type=QXmlStreamReader__ReadElementTextBehaviour +//QXmlStreamReader::ReadElementTextBehaviour +type QXmlStreamReader__ReadElementTextBehaviour int64 + +const ( + QXmlStreamReader__ErrorOnUnexpectedElement QXmlStreamReader__ReadElementTextBehaviour = QXmlStreamReader__ReadElementTextBehaviour(0) + QXmlStreamReader__IncludeChildElements QXmlStreamReader__ReadElementTextBehaviour = QXmlStreamReader__ReadElementTextBehaviour(1) + QXmlStreamReader__SkipChildElements QXmlStreamReader__ReadElementTextBehaviour = QXmlStreamReader__ReadElementTextBehaviour(2) +) + +//go:generate stringer -type=QXmlStreamReader__Error +//QXmlStreamReader::Error +type QXmlStreamReader__Error int64 + +const ( + QXmlStreamReader__NoError QXmlStreamReader__Error = QXmlStreamReader__Error(0) + QXmlStreamReader__UnexpectedElementError QXmlStreamReader__Error = QXmlStreamReader__Error(1) + QXmlStreamReader__CustomError QXmlStreamReader__Error = QXmlStreamReader__Error(2) + QXmlStreamReader__NotWellFormedError QXmlStreamReader__Error = QXmlStreamReader__Error(3) + QXmlStreamReader__PrematureEndOfDocumentError QXmlStreamReader__Error = QXmlStreamReader__Error(4) +) + +func NewQXmlStreamReader() *QXmlStreamReader { + tmpValue := NewQXmlStreamReaderFromPointer(C.QXmlStreamReader_NewQXmlStreamReader()) + runtime.SetFinalizer(tmpValue, (*QXmlStreamReader).DestroyQXmlStreamReader) + return tmpValue +} + +func NewQXmlStreamReader2(device QIODevice_ITF) *QXmlStreamReader { + tmpValue := NewQXmlStreamReaderFromPointer(C.QXmlStreamReader_NewQXmlStreamReader2(PointerFromQIODevice(device))) + runtime.SetFinalizer(tmpValue, (*QXmlStreamReader).DestroyQXmlStreamReader) + return tmpValue +} + +func NewQXmlStreamReader3(data QByteArray_ITF) *QXmlStreamReader { + tmpValue := NewQXmlStreamReaderFromPointer(C.QXmlStreamReader_NewQXmlStreamReader3(PointerFromQByteArray(data))) + runtime.SetFinalizer(tmpValue, (*QXmlStreamReader).DestroyQXmlStreamReader) + return tmpValue +} + +func NewQXmlStreamReader4(data string) *QXmlStreamReader { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + tmpValue := NewQXmlStreamReaderFromPointer(C.QXmlStreamReader_NewQXmlStreamReader4(C.struct_QtCore_PackedString{data: dataC, len: C.longlong(len(data))})) + runtime.SetFinalizer(tmpValue, (*QXmlStreamReader).DestroyQXmlStreamReader) + return tmpValue +} + +func NewQXmlStreamReader5(data string) *QXmlStreamReader { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + tmpValue := NewQXmlStreamReaderFromPointer(C.QXmlStreamReader_NewQXmlStreamReader5(dataC)) + runtime.SetFinalizer(tmpValue, (*QXmlStreamReader).DestroyQXmlStreamReader) + return tmpValue +} + +func (ptr *QXmlStreamReader) AddData(data QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QXmlStreamReader_AddData(ptr.Pointer(), PointerFromQByteArray(data)) + } +} + +func (ptr *QXmlStreamReader) AddData2(data string) { + if ptr.Pointer() != nil { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + C.QXmlStreamReader_AddData2(ptr.Pointer(), C.struct_QtCore_PackedString{data: dataC, len: C.longlong(len(data))}) + } +} + +func (ptr *QXmlStreamReader) AddData3(data string) { + if ptr.Pointer() != nil { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + C.QXmlStreamReader_AddData3(ptr.Pointer(), dataC) + } +} + +func (ptr *QXmlStreamReader) AddExtraNamespaceDeclaration(extraNamespaceDeclaration QXmlStreamNamespaceDeclaration_ITF) { + if ptr.Pointer() != nil { + C.QXmlStreamReader_AddExtraNamespaceDeclaration(ptr.Pointer(), PointerFromQXmlStreamNamespaceDeclaration(extraNamespaceDeclaration)) + } +} + +func (ptr *QXmlStreamReader) AtEnd() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_AtEnd(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) CharacterOffset() int64 { + if ptr.Pointer() != nil { + return int64(C.QXmlStreamReader_CharacterOffset(ptr.Pointer())) + } + return 0 +} + +func (ptr *QXmlStreamReader) Clear() { + if ptr.Pointer() != nil { + C.QXmlStreamReader_Clear(ptr.Pointer()) + } +} + +func (ptr *QXmlStreamReader) ColumnNumber() int64 { + if ptr.Pointer() != nil { + return int64(C.QXmlStreamReader_ColumnNumber(ptr.Pointer())) + } + return 0 +} + +func (ptr *QXmlStreamReader) Device() *QIODevice { + if ptr.Pointer() != nil { + tmpValue := NewQIODeviceFromPointer(C.QXmlStreamReader_Device(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) DocumentEncoding() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_DocumentEncoding(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) DocumentVersion() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_DocumentVersion(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) DtdName() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_DtdName(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) DtdPublicId() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_DtdPublicId(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) DtdSystemId() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_DtdSystemId(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) EntityResolver() *QXmlStreamEntityResolver { + if ptr.Pointer() != nil { + return NewQXmlStreamEntityResolverFromPointer(C.QXmlStreamReader_EntityResolver(ptr.Pointer())) + } + return nil +} + +func (ptr *QXmlStreamReader) Error() QXmlStreamReader__Error { + if ptr.Pointer() != nil { + return QXmlStreamReader__Error(C.QXmlStreamReader_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QXmlStreamReader) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QXmlStreamReader_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QXmlStreamReader) HasError() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_HasError(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsCDATA() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsCDATA(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsCharacters() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsCharacters(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsComment() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsComment(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsDTD() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsDTD(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsEndDocument() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsEndDocument(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsEndElement() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsEndElement(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsEntityReference() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsEntityReference(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsProcessingInstruction() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsProcessingInstruction(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsStandaloneDocument() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsStandaloneDocument(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsStartDocument() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsStartDocument(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsStartElement() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsStartElement(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) IsWhitespace() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_IsWhitespace(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) LineNumber() int64 { + if ptr.Pointer() != nil { + return int64(C.QXmlStreamReader_LineNumber(ptr.Pointer())) + } + return 0 +} + +func (ptr *QXmlStreamReader) Name() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_Name(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) NamespaceProcessing() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_NamespaceProcessing(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) NamespaceUri() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_NamespaceUri(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) Prefix() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_Prefix(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) ProcessingInstructionData() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_ProcessingInstructionData(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) ProcessingInstructionTarget() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_ProcessingInstructionTarget(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) QualifiedName() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_QualifiedName(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) RaiseError(message string) { + if ptr.Pointer() != nil { + var messageC *C.char + if message != "" { + messageC = C.CString(message) + defer C.free(unsafe.Pointer(messageC)) + } + C.QXmlStreamReader_RaiseError(ptr.Pointer(), C.struct_QtCore_PackedString{data: messageC, len: C.longlong(len(message))}) + } +} + +func (ptr *QXmlStreamReader) ReadElementText(behaviour QXmlStreamReader__ReadElementTextBehaviour) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QXmlStreamReader_ReadElementText(ptr.Pointer(), C.longlong(behaviour))) + } + return "" +} + +func (ptr *QXmlStreamReader) ReadNext() QXmlStreamReader__TokenType { + if ptr.Pointer() != nil { + return QXmlStreamReader__TokenType(C.QXmlStreamReader_ReadNext(ptr.Pointer())) + } + return 0 +} + +func (ptr *QXmlStreamReader) ReadNextStartElement() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamReader_ReadNextStartElement(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamReader) SetDevice(device QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QXmlStreamReader_SetDevice(ptr.Pointer(), PointerFromQIODevice(device)) + } +} + +func (ptr *QXmlStreamReader) SetEntityResolver(resolver QXmlStreamEntityResolver_ITF) { + if ptr.Pointer() != nil { + C.QXmlStreamReader_SetEntityResolver(ptr.Pointer(), PointerFromQXmlStreamEntityResolver(resolver)) + } +} + +func (ptr *QXmlStreamReader) SetNamespaceProcessing(vbo bool) { + if ptr.Pointer() != nil { + C.QXmlStreamReader_SetNamespaceProcessing(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(vbo)))) + } +} + +func (ptr *QXmlStreamReader) SkipCurrentElement() { + if ptr.Pointer() != nil { + C.QXmlStreamReader_SkipCurrentElement(ptr.Pointer()) + } +} + +func (ptr *QXmlStreamReader) Text() *QStringRef { + if ptr.Pointer() != nil { + tmpValue := NewQStringRefFromPointer(C.QXmlStreamReader_Text(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QStringRef).DestroyQStringRef) + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamReader) TokenString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QXmlStreamReader_TokenString(ptr.Pointer())) + } + return "" +} + +func (ptr *QXmlStreamReader) TokenType() QXmlStreamReader__TokenType { + if ptr.Pointer() != nil { + return QXmlStreamReader__TokenType(C.QXmlStreamReader_TokenType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QXmlStreamReader) DestroyQXmlStreamReader() { + if ptr.Pointer() != nil { + C.QXmlStreamReader_DestroyQXmlStreamReader(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QXmlStreamWriter struct { + ptr unsafe.Pointer +} + +type QXmlStreamWriter_ITF interface { + QXmlStreamWriter_PTR() *QXmlStreamWriter +} + +func (ptr *QXmlStreamWriter) QXmlStreamWriter_PTR() *QXmlStreamWriter { + return ptr +} + +func (ptr *QXmlStreamWriter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QXmlStreamWriter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQXmlStreamWriter(ptr QXmlStreamWriter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QXmlStreamWriter_PTR().Pointer() + } + return nil +} + +func NewQXmlStreamWriterFromPointer(ptr unsafe.Pointer) (n *QXmlStreamWriter) { + n = new(QXmlStreamWriter) + n.SetPointer(ptr) + return +} +func NewQXmlStreamWriter() *QXmlStreamWriter { + tmpValue := NewQXmlStreamWriterFromPointer(C.QXmlStreamWriter_NewQXmlStreamWriter()) + runtime.SetFinalizer(tmpValue, (*QXmlStreamWriter).DestroyQXmlStreamWriter) + return tmpValue +} + +func NewQXmlStreamWriter2(device QIODevice_ITF) *QXmlStreamWriter { + tmpValue := NewQXmlStreamWriterFromPointer(C.QXmlStreamWriter_NewQXmlStreamWriter2(PointerFromQIODevice(device))) + runtime.SetFinalizer(tmpValue, (*QXmlStreamWriter).DestroyQXmlStreamWriter) + return tmpValue +} + +func NewQXmlStreamWriter3(array QByteArray_ITF) *QXmlStreamWriter { + tmpValue := NewQXmlStreamWriterFromPointer(C.QXmlStreamWriter_NewQXmlStreamWriter3(PointerFromQByteArray(array))) + runtime.SetFinalizer(tmpValue, (*QXmlStreamWriter).DestroyQXmlStreamWriter) + return tmpValue +} + +func NewQXmlStreamWriter4(stri string) *QXmlStreamWriter { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + tmpValue := NewQXmlStreamWriterFromPointer(C.QXmlStreamWriter_NewQXmlStreamWriter4(C.struct_QtCore_PackedString{data: striC, len: C.longlong(len(stri))})) + runtime.SetFinalizer(tmpValue, (*QXmlStreamWriter).DestroyQXmlStreamWriter) + return tmpValue +} + +func (ptr *QXmlStreamWriter) AutoFormatting() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamWriter_AutoFormatting(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamWriter) AutoFormattingIndent() int { + if ptr.Pointer() != nil { + return int(int32(C.QXmlStreamWriter_AutoFormattingIndent(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QXmlStreamWriter) Codec() *QTextCodec { + if ptr.Pointer() != nil { + return NewQTextCodecFromPointer(C.QXmlStreamWriter_Codec(ptr.Pointer())) + } + return nil +} + +func (ptr *QXmlStreamWriter) Device() *QIODevice { + if ptr.Pointer() != nil { + tmpValue := NewQIODeviceFromPointer(C.QXmlStreamWriter_Device(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QXmlStreamWriter) HasError() bool { + if ptr.Pointer() != nil { + return int8(C.QXmlStreamWriter_HasError(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QXmlStreamWriter) SetAutoFormatting(enable bool) { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_SetAutoFormatting(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QXmlStreamWriter) SetAutoFormattingIndent(spacesOrTabs int) { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_SetAutoFormattingIndent(ptr.Pointer(), C.int(int32(spacesOrTabs))) + } +} + +func (ptr *QXmlStreamWriter) SetCodec(codec QTextCodec_ITF) { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_SetCodec(ptr.Pointer(), PointerFromQTextCodec(codec)) + } +} + +func (ptr *QXmlStreamWriter) SetCodec2(codecName string) { + if ptr.Pointer() != nil { + var codecNameC *C.char + if codecName != "" { + codecNameC = C.CString(codecName) + defer C.free(unsafe.Pointer(codecNameC)) + } + C.QXmlStreamWriter_SetCodec2(ptr.Pointer(), codecNameC) + } +} + +func (ptr *QXmlStreamWriter) SetDevice(device QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_SetDevice(ptr.Pointer(), PointerFromQIODevice(device)) + } +} + +func (ptr *QXmlStreamWriter) WriteAttribute(namespaceUri string, name string, value string) { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + C.QXmlStreamWriter_WriteAttribute(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtCore_PackedString{data: valueC, len: C.longlong(len(value))}) + } +} + +func (ptr *QXmlStreamWriter) WriteAttribute2(qualifiedName string, value string) { + if ptr.Pointer() != nil { + var qualifiedNameC *C.char + if qualifiedName != "" { + qualifiedNameC = C.CString(qualifiedName) + defer C.free(unsafe.Pointer(qualifiedNameC)) + } + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + C.QXmlStreamWriter_WriteAttribute2(ptr.Pointer(), C.struct_QtCore_PackedString{data: qualifiedNameC, len: C.longlong(len(qualifiedName))}, C.struct_QtCore_PackedString{data: valueC, len: C.longlong(len(value))}) + } +} + +func (ptr *QXmlStreamWriter) WriteAttribute3(attribute QXmlStreamAttribute_ITF) { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_WriteAttribute3(ptr.Pointer(), PointerFromQXmlStreamAttribute(attribute)) + } +} + +func (ptr *QXmlStreamWriter) WriteAttributes(attributes QXmlStreamAttributes_ITF) { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_WriteAttributes(ptr.Pointer(), PointerFromQXmlStreamAttributes(attributes)) + } +} + +func (ptr *QXmlStreamWriter) WriteCDATA(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QXmlStreamWriter_WriteCDATA(ptr.Pointer(), C.struct_QtCore_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QXmlStreamWriter) WriteCharacters(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QXmlStreamWriter_WriteCharacters(ptr.Pointer(), C.struct_QtCore_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QXmlStreamWriter) WriteComment(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QXmlStreamWriter_WriteComment(ptr.Pointer(), C.struct_QtCore_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QXmlStreamWriter) WriteCurrentToken(reader QXmlStreamReader_ITF) { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_WriteCurrentToken(ptr.Pointer(), PointerFromQXmlStreamReader(reader)) + } +} + +func (ptr *QXmlStreamWriter) WriteDTD(dtd string) { + if ptr.Pointer() != nil { + var dtdC *C.char + if dtd != "" { + dtdC = C.CString(dtd) + defer C.free(unsafe.Pointer(dtdC)) + } + C.QXmlStreamWriter_WriteDTD(ptr.Pointer(), C.struct_QtCore_PackedString{data: dtdC, len: C.longlong(len(dtd))}) + } +} + +func (ptr *QXmlStreamWriter) WriteDefaultNamespace(namespaceUri string) { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + C.QXmlStreamWriter_WriteDefaultNamespace(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}) + } +} + +func (ptr *QXmlStreamWriter) WriteEmptyElement(namespaceUri string, name string) { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QXmlStreamWriter_WriteEmptyElement(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QXmlStreamWriter) WriteEmptyElement2(qualifiedName string) { + if ptr.Pointer() != nil { + var qualifiedNameC *C.char + if qualifiedName != "" { + qualifiedNameC = C.CString(qualifiedName) + defer C.free(unsafe.Pointer(qualifiedNameC)) + } + C.QXmlStreamWriter_WriteEmptyElement2(ptr.Pointer(), C.struct_QtCore_PackedString{data: qualifiedNameC, len: C.longlong(len(qualifiedName))}) + } +} + +func (ptr *QXmlStreamWriter) WriteEndDocument() { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_WriteEndDocument(ptr.Pointer()) + } +} + +func (ptr *QXmlStreamWriter) WriteEndElement() { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_WriteEndElement(ptr.Pointer()) + } +} + +func (ptr *QXmlStreamWriter) WriteEntityReference(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QXmlStreamWriter_WriteEntityReference(ptr.Pointer(), C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QXmlStreamWriter) WriteNamespace(namespaceUri string, prefix string) { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + var prefixC *C.char + if prefix != "" { + prefixC = C.CString(prefix) + defer C.free(unsafe.Pointer(prefixC)) + } + C.QXmlStreamWriter_WriteNamespace(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, C.struct_QtCore_PackedString{data: prefixC, len: C.longlong(len(prefix))}) + } +} + +func (ptr *QXmlStreamWriter) WriteProcessingInstruction(target string, data string) { + if ptr.Pointer() != nil { + var targetC *C.char + if target != "" { + targetC = C.CString(target) + defer C.free(unsafe.Pointer(targetC)) + } + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + C.QXmlStreamWriter_WriteProcessingInstruction(ptr.Pointer(), C.struct_QtCore_PackedString{data: targetC, len: C.longlong(len(target))}, C.struct_QtCore_PackedString{data: dataC, len: C.longlong(len(data))}) + } +} + +func (ptr *QXmlStreamWriter) WriteStartDocument(version string) { + if ptr.Pointer() != nil { + var versionC *C.char + if version != "" { + versionC = C.CString(version) + defer C.free(unsafe.Pointer(versionC)) + } + C.QXmlStreamWriter_WriteStartDocument(ptr.Pointer(), C.struct_QtCore_PackedString{data: versionC, len: C.longlong(len(version))}) + } +} + +func (ptr *QXmlStreamWriter) WriteStartDocument2() { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_WriteStartDocument2(ptr.Pointer()) + } +} + +func (ptr *QXmlStreamWriter) WriteStartDocument3(version string, standalone bool) { + if ptr.Pointer() != nil { + var versionC *C.char + if version != "" { + versionC = C.CString(version) + defer C.free(unsafe.Pointer(versionC)) + } + C.QXmlStreamWriter_WriteStartDocument3(ptr.Pointer(), C.struct_QtCore_PackedString{data: versionC, len: C.longlong(len(version))}, C.char(int8(qt.GoBoolToInt(standalone)))) + } +} + +func (ptr *QXmlStreamWriter) WriteStartElement(namespaceUri string, name string) { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QXmlStreamWriter_WriteStartElement(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QXmlStreamWriter) WriteStartElement2(qualifiedName string) { + if ptr.Pointer() != nil { + var qualifiedNameC *C.char + if qualifiedName != "" { + qualifiedNameC = C.CString(qualifiedName) + defer C.free(unsafe.Pointer(qualifiedNameC)) + } + C.QXmlStreamWriter_WriteStartElement2(ptr.Pointer(), C.struct_QtCore_PackedString{data: qualifiedNameC, len: C.longlong(len(qualifiedName))}) + } +} + +func (ptr *QXmlStreamWriter) WriteTextElement(namespaceUri string, name string, text string) { + if ptr.Pointer() != nil { + var namespaceUriC *C.char + if namespaceUri != "" { + namespaceUriC = C.CString(namespaceUri) + defer C.free(unsafe.Pointer(namespaceUriC)) + } + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QXmlStreamWriter_WriteTextElement(ptr.Pointer(), C.struct_QtCore_PackedString{data: namespaceUriC, len: C.longlong(len(namespaceUri))}, C.struct_QtCore_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtCore_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QXmlStreamWriter) WriteTextElement2(qualifiedName string, text string) { + if ptr.Pointer() != nil { + var qualifiedNameC *C.char + if qualifiedName != "" { + qualifiedNameC = C.CString(qualifiedName) + defer C.free(unsafe.Pointer(qualifiedNameC)) + } + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QXmlStreamWriter_WriteTextElement2(ptr.Pointer(), C.struct_QtCore_PackedString{data: qualifiedNameC, len: C.longlong(len(qualifiedName))}, C.struct_QtCore_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QXmlStreamWriter) DestroyQXmlStreamWriter() { + if ptr.Pointer() != nil { + C.QXmlStreamWriter_DestroyQXmlStreamWriter(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type Qt struct { + ptr unsafe.Pointer +} + +type Qt_ITF interface { + Qt_PTR() *Qt +} + +func (ptr *Qt) Qt_PTR() *Qt { + return ptr +} + +func (ptr *Qt) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *Qt) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQt(ptr Qt_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.Qt_PTR().Pointer() + } + return nil +} + +func NewQtFromPointer(ptr unsafe.Pointer) (n *Qt) { + n = new(Qt) + n.SetPointer(ptr) + return +} + +func (ptr *Qt) DestroyQt() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=Qt__GlobalColor +//Qt::GlobalColor +type Qt__GlobalColor int64 + +const ( + Qt__color0 Qt__GlobalColor = Qt__GlobalColor(0) + Qt__color1 Qt__GlobalColor = Qt__GlobalColor(1) + Qt__black Qt__GlobalColor = Qt__GlobalColor(2) + Qt__white Qt__GlobalColor = Qt__GlobalColor(3) + Qt__darkGray Qt__GlobalColor = Qt__GlobalColor(4) + Qt__gray Qt__GlobalColor = Qt__GlobalColor(5) + Qt__lightGray Qt__GlobalColor = Qt__GlobalColor(6) + Qt__red Qt__GlobalColor = Qt__GlobalColor(7) + Qt__green Qt__GlobalColor = Qt__GlobalColor(8) + Qt__blue Qt__GlobalColor = Qt__GlobalColor(9) + Qt__cyan Qt__GlobalColor = Qt__GlobalColor(10) + Qt__magenta Qt__GlobalColor = Qt__GlobalColor(11) + Qt__yellow Qt__GlobalColor = Qt__GlobalColor(12) + Qt__darkRed Qt__GlobalColor = Qt__GlobalColor(13) + Qt__darkGreen Qt__GlobalColor = Qt__GlobalColor(14) + Qt__darkBlue Qt__GlobalColor = Qt__GlobalColor(15) + Qt__darkCyan Qt__GlobalColor = Qt__GlobalColor(16) + Qt__darkMagenta Qt__GlobalColor = Qt__GlobalColor(17) + Qt__darkYellow Qt__GlobalColor = Qt__GlobalColor(18) + Qt__transparent Qt__GlobalColor = Qt__GlobalColor(19) +) + +//go:generate stringer -type=Qt__KeyboardModifier +//Qt::KeyboardModifier +type Qt__KeyboardModifier int64 + +const ( + Qt__NoModifier Qt__KeyboardModifier = Qt__KeyboardModifier(0x00000000) + Qt__ShiftModifier Qt__KeyboardModifier = Qt__KeyboardModifier(0x02000000) + Qt__ControlModifier Qt__KeyboardModifier = Qt__KeyboardModifier(0x04000000) + Qt__AltModifier Qt__KeyboardModifier = Qt__KeyboardModifier(0x08000000) + Qt__MetaModifier Qt__KeyboardModifier = Qt__KeyboardModifier(0x10000000) + Qt__KeypadModifier Qt__KeyboardModifier = Qt__KeyboardModifier(0x20000000) + Qt__GroupSwitchModifier Qt__KeyboardModifier = Qt__KeyboardModifier(0x40000000) + Qt__KeyboardModifierMask Qt__KeyboardModifier = Qt__KeyboardModifier(0xfe000000) +) + +//go:generate stringer -type=Qt__Modifier +//Qt::Modifier +type Qt__Modifier int64 + +const ( + Qt__META Qt__Modifier = Qt__Modifier(Qt__MetaModifier) + Qt__SHIFT Qt__Modifier = Qt__Modifier(Qt__ShiftModifier) + Qt__CTRL Qt__Modifier = Qt__Modifier(Qt__ControlModifier) + Qt__ALT Qt__Modifier = Qt__Modifier(Qt__AltModifier) + Qt__MODIFIER_MASK Qt__Modifier = Qt__Modifier(Qt__KeyboardModifierMask) + Qt__UNICODE_ACCEL Qt__Modifier = Qt__Modifier(0x00000000) +) + +//go:generate stringer -type=Qt__MouseButton +//Qt::MouseButton +type Qt__MouseButton int64 + +const ( + Qt__NoButton Qt__MouseButton = Qt__MouseButton(0x00000000) + Qt__LeftButton Qt__MouseButton = Qt__MouseButton(0x00000001) + Qt__RightButton Qt__MouseButton = Qt__MouseButton(0x00000002) + Qt__MidButton Qt__MouseButton = Qt__MouseButton(0x00000004) + Qt__MiddleButton Qt__MouseButton = Qt__MouseButton(Qt__MidButton) + Qt__BackButton Qt__MouseButton = Qt__MouseButton(0x00000008) + Qt__XButton1 Qt__MouseButton = Qt__MouseButton(Qt__BackButton) + Qt__ExtraButton1 Qt__MouseButton = Qt__MouseButton(Qt__XButton1) + Qt__ForwardButton Qt__MouseButton = Qt__MouseButton(0x00000010) + Qt__XButton2 Qt__MouseButton = Qt__MouseButton(Qt__ForwardButton) + Qt__ExtraButton2 Qt__MouseButton = Qt__MouseButton(Qt__ForwardButton) + Qt__TaskButton Qt__MouseButton = Qt__MouseButton(0x00000020) + Qt__ExtraButton3 Qt__MouseButton = Qt__MouseButton(Qt__TaskButton) + Qt__ExtraButton4 Qt__MouseButton = Qt__MouseButton(0x00000040) + Qt__ExtraButton5 Qt__MouseButton = Qt__MouseButton(0x00000080) + Qt__ExtraButton6 Qt__MouseButton = Qt__MouseButton(0x00000100) + Qt__ExtraButton7 Qt__MouseButton = Qt__MouseButton(0x00000200) + Qt__ExtraButton8 Qt__MouseButton = Qt__MouseButton(0x00000400) + Qt__ExtraButton9 Qt__MouseButton = Qt__MouseButton(0x00000800) + Qt__ExtraButton10 Qt__MouseButton = Qt__MouseButton(0x00001000) + Qt__ExtraButton11 Qt__MouseButton = Qt__MouseButton(0x00002000) + Qt__ExtraButton12 Qt__MouseButton = Qt__MouseButton(0x00004000) + Qt__ExtraButton13 Qt__MouseButton = Qt__MouseButton(0x00008000) + Qt__ExtraButton14 Qt__MouseButton = Qt__MouseButton(0x00010000) + Qt__ExtraButton15 Qt__MouseButton = Qt__MouseButton(0x00020000) + Qt__ExtraButton16 Qt__MouseButton = Qt__MouseButton(0x00040000) + Qt__ExtraButton17 Qt__MouseButton = Qt__MouseButton(0x00080000) + Qt__ExtraButton18 Qt__MouseButton = Qt__MouseButton(0x00100000) + Qt__ExtraButton19 Qt__MouseButton = Qt__MouseButton(0x00200000) + Qt__ExtraButton20 Qt__MouseButton = Qt__MouseButton(0x00400000) + Qt__ExtraButton21 Qt__MouseButton = Qt__MouseButton(0x00800000) + Qt__ExtraButton22 Qt__MouseButton = Qt__MouseButton(0x01000000) + Qt__ExtraButton23 Qt__MouseButton = Qt__MouseButton(0x02000000) + Qt__ExtraButton24 Qt__MouseButton = Qt__MouseButton(0x04000000) + Qt__AllButtons Qt__MouseButton = Qt__MouseButton(0x07ffffff) + Qt__MaxMouseButton Qt__MouseButton = Qt__MouseButton(Qt__ExtraButton24) + Qt__MouseButtonMask Qt__MouseButton = Qt__MouseButton(0xffffffff) +) + +//go:generate stringer -type=Qt__Orientation +//Qt::Orientation +type Qt__Orientation int64 + +const ( + Qt__Horizontal Qt__Orientation = Qt__Orientation(0x1) + Qt__Vertical Qt__Orientation = Qt__Orientation(0x2) +) + +//go:generate stringer -type=Qt__FocusPolicy +//Qt::FocusPolicy +type Qt__FocusPolicy int64 + +const ( + Qt__NoFocus Qt__FocusPolicy = Qt__FocusPolicy(0) + Qt__TabFocus Qt__FocusPolicy = Qt__FocusPolicy(0x1) + Qt__ClickFocus Qt__FocusPolicy = Qt__FocusPolicy(0x2) + Qt__StrongFocus Qt__FocusPolicy = Qt__FocusPolicy(Qt__TabFocus | Qt__ClickFocus | 0x8) + Qt__WheelFocus Qt__FocusPolicy = Qt__FocusPolicy(Qt__StrongFocus | 0x4) +) + +//go:generate stringer -type=Qt__TabFocusBehavior +//Qt::TabFocusBehavior +type Qt__TabFocusBehavior int64 + +const ( + Qt__NoTabFocus Qt__TabFocusBehavior = Qt__TabFocusBehavior(0x00) + Qt__TabFocusTextControls Qt__TabFocusBehavior = Qt__TabFocusBehavior(0x01) + Qt__TabFocusListControls Qt__TabFocusBehavior = Qt__TabFocusBehavior(0x02) + Qt__TabFocusAllControls Qt__TabFocusBehavior = Qt__TabFocusBehavior(0xff) +) + +//go:generate stringer -type=Qt__SortOrder +//Qt::SortOrder +type Qt__SortOrder int64 + +const ( + Qt__AscendingOrder Qt__SortOrder = Qt__SortOrder(0) + Qt__DescendingOrder Qt__SortOrder = Qt__SortOrder(1) +) + +//go:generate stringer -type=Qt__TileRule +//Qt::TileRule +type Qt__TileRule int64 + +const ( + Qt__StretchTile Qt__TileRule = Qt__TileRule(0) + Qt__RepeatTile Qt__TileRule = Qt__TileRule(1) + Qt__RoundTile Qt__TileRule = Qt__TileRule(2) +) + +//go:generate stringer -type=Qt__AlignmentFlag +//Qt::AlignmentFlag +type Qt__AlignmentFlag int64 + +const ( + Qt__AlignLeft Qt__AlignmentFlag = Qt__AlignmentFlag(0x0001) + Qt__AlignLeading Qt__AlignmentFlag = Qt__AlignmentFlag(Qt__AlignLeft) + Qt__AlignRight Qt__AlignmentFlag = Qt__AlignmentFlag(0x0002) + Qt__AlignTrailing Qt__AlignmentFlag = Qt__AlignmentFlag(Qt__AlignRight) + Qt__AlignHCenter Qt__AlignmentFlag = Qt__AlignmentFlag(0x0004) + Qt__AlignJustify Qt__AlignmentFlag = Qt__AlignmentFlag(0x0008) + Qt__AlignAbsolute Qt__AlignmentFlag = Qt__AlignmentFlag(0x0010) + Qt__AlignHorizontal_Mask Qt__AlignmentFlag = Qt__AlignmentFlag(Qt__AlignLeft | Qt__AlignRight | Qt__AlignHCenter | Qt__AlignJustify | Qt__AlignAbsolute) + Qt__AlignTop Qt__AlignmentFlag = Qt__AlignmentFlag(0x0020) + Qt__AlignBottom Qt__AlignmentFlag = Qt__AlignmentFlag(0x0040) + Qt__AlignVCenter Qt__AlignmentFlag = Qt__AlignmentFlag(0x0080) + Qt__AlignBaseline Qt__AlignmentFlag = Qt__AlignmentFlag(0x0100) + Qt__AlignVertical_Mask Qt__AlignmentFlag = Qt__AlignmentFlag(Qt__AlignTop | Qt__AlignBottom | Qt__AlignVCenter | Qt__AlignBaseline) + Qt__AlignCenter Qt__AlignmentFlag = Qt__AlignmentFlag(Qt__AlignVCenter | Qt__AlignHCenter) +) + +//go:generate stringer -type=Qt__TextFlag +//Qt::TextFlag +type Qt__TextFlag int64 + +const ( + Qt__TextSingleLine Qt__TextFlag = Qt__TextFlag(0x0100) + Qt__TextDontClip Qt__TextFlag = Qt__TextFlag(0x0200) + Qt__TextExpandTabs Qt__TextFlag = Qt__TextFlag(0x0400) + Qt__TextShowMnemonic Qt__TextFlag = Qt__TextFlag(0x0800) + Qt__TextWordWrap Qt__TextFlag = Qt__TextFlag(0x1000) + Qt__TextWrapAnywhere Qt__TextFlag = Qt__TextFlag(0x2000) + Qt__TextDontPrint Qt__TextFlag = Qt__TextFlag(0x4000) + Qt__TextIncludeTrailingSpaces Qt__TextFlag = Qt__TextFlag(0x08000000) + Qt__TextHideMnemonic Qt__TextFlag = Qt__TextFlag(0x8000) + Qt__TextJustificationForced Qt__TextFlag = Qt__TextFlag(0x10000) + Qt__TextForceLeftToRight Qt__TextFlag = Qt__TextFlag(0x20000) + Qt__TextForceRightToLeft Qt__TextFlag = Qt__TextFlag(0x40000) + Qt__TextLongestVariant Qt__TextFlag = Qt__TextFlag(0x80000) + Qt__TextBypassShaping Qt__TextFlag = Qt__TextFlag(0x100000) +) + +//go:generate stringer -type=Qt__TextElideMode +//Qt::TextElideMode +type Qt__TextElideMode int64 + +const ( + Qt__ElideLeft Qt__TextElideMode = Qt__TextElideMode(0) + Qt__ElideRight Qt__TextElideMode = Qt__TextElideMode(1) + Qt__ElideMiddle Qt__TextElideMode = Qt__TextElideMode(2) + Qt__ElideNone Qt__TextElideMode = Qt__TextElideMode(3) +) + +//go:generate stringer -type=Qt__WhiteSpaceMode +//Qt::WhiteSpaceMode +type Qt__WhiteSpaceMode int64 + +const ( + Qt__WhiteSpaceNormal Qt__WhiteSpaceMode = Qt__WhiteSpaceMode(0) + Qt__WhiteSpacePre Qt__WhiteSpaceMode = Qt__WhiteSpaceMode(1) + Qt__WhiteSpaceNoWrap Qt__WhiteSpaceMode = Qt__WhiteSpaceMode(2) + Qt__WhiteSpaceModeUndefined Qt__WhiteSpaceMode = Qt__WhiteSpaceMode(-1) +) + +//go:generate stringer -type=Qt__HitTestAccuracy +//Qt::HitTestAccuracy +type Qt__HitTestAccuracy int64 + +const ( + Qt__ExactHit Qt__HitTestAccuracy = Qt__HitTestAccuracy(0) + Qt__FuzzyHit Qt__HitTestAccuracy = Qt__HitTestAccuracy(1) +) + +//go:generate stringer -type=Qt__WindowType +//Qt::WindowType +type Qt__WindowType int64 + +const ( + Qt__Widget Qt__WindowType = Qt__WindowType(0x00000000) + Qt__Window Qt__WindowType = Qt__WindowType(0x00000001) + Qt__Dialog Qt__WindowType = Qt__WindowType(0x00000002 | Qt__Window) + Qt__Sheet Qt__WindowType = Qt__WindowType(0x00000004 | Qt__Window) + Qt__Drawer Qt__WindowType = Qt__WindowType(Qt__Sheet | Qt__Dialog) + Qt__Popup Qt__WindowType = Qt__WindowType(0x00000008 | Qt__Window) + Qt__Tool Qt__WindowType = Qt__WindowType(Qt__Popup | Qt__Dialog) + Qt__ToolTip Qt__WindowType = Qt__WindowType(Qt__Popup | Qt__Sheet) + Qt__SplashScreen Qt__WindowType = Qt__WindowType(Qt__ToolTip | Qt__Dialog) + Qt__Desktop Qt__WindowType = Qt__WindowType(0x00000010 | Qt__Window) + Qt__SubWindow Qt__WindowType = Qt__WindowType(0x00000012) + Qt__ForeignWindow Qt__WindowType = Qt__WindowType(0x00000020 | Qt__Window) + Qt__CoverWindow Qt__WindowType = Qt__WindowType(0x00000040 | Qt__Window) + Qt__WindowType_Mask Qt__WindowType = Qt__WindowType(0x000000ff) + Qt__MSWindowsFixedSizeDialogHint Qt__WindowType = Qt__WindowType(0x00000100) + Qt__MSWindowsOwnDC Qt__WindowType = Qt__WindowType(0x00000200) + Qt__BypassWindowManagerHint Qt__WindowType = Qt__WindowType(0x00000400) + Qt__X11BypassWindowManagerHint Qt__WindowType = Qt__WindowType(Qt__BypassWindowManagerHint) + Qt__FramelessWindowHint Qt__WindowType = Qt__WindowType(0x00000800) + Qt__WindowTitleHint Qt__WindowType = Qt__WindowType(0x00001000) + Qt__WindowSystemMenuHint Qt__WindowType = Qt__WindowType(0x00002000) + Qt__WindowMinimizeButtonHint Qt__WindowType = Qt__WindowType(0x00004000) + Qt__WindowMaximizeButtonHint Qt__WindowType = Qt__WindowType(0x00008000) + Qt__WindowMinMaxButtonsHint Qt__WindowType = Qt__WindowType(Qt__WindowMinimizeButtonHint | Qt__WindowMaximizeButtonHint) + Qt__WindowContextHelpButtonHint Qt__WindowType = Qt__WindowType(0x00010000) + Qt__WindowShadeButtonHint Qt__WindowType = Qt__WindowType(0x00020000) + Qt__WindowStaysOnTopHint Qt__WindowType = Qt__WindowType(0x00040000) + Qt__WindowTransparentForInput Qt__WindowType = Qt__WindowType(0x00080000) + Qt__WindowOverridesSystemGestures Qt__WindowType = Qt__WindowType(0x00100000) + Qt__WindowDoesNotAcceptFocus Qt__WindowType = Qt__WindowType(0x00200000) + Qt__MaximizeUsingFullscreenGeometryHint Qt__WindowType = Qt__WindowType(0x00400000) + Qt__CustomizeWindowHint Qt__WindowType = Qt__WindowType(0x02000000) + Qt__WindowStaysOnBottomHint Qt__WindowType = Qt__WindowType(0x04000000) + Qt__WindowCloseButtonHint Qt__WindowType = Qt__WindowType(0x08000000) + Qt__MacWindowToolBarButtonHint Qt__WindowType = Qt__WindowType(0x10000000) + Qt__BypassGraphicsProxyWidget Qt__WindowType = Qt__WindowType(0x20000000) + Qt__NoDropShadowWindowHint Qt__WindowType = Qt__WindowType(0x40000000) + Qt__WindowFullscreenButtonHint Qt__WindowType = Qt__WindowType(0x80000000) +) + +//go:generate stringer -type=Qt__WindowState +//Qt::WindowState +type Qt__WindowState int64 + +const ( + Qt__WindowNoState Qt__WindowState = Qt__WindowState(0x00000000) + Qt__WindowMinimized Qt__WindowState = Qt__WindowState(0x00000001) + Qt__WindowMaximized Qt__WindowState = Qt__WindowState(0x00000002) + Qt__WindowFullScreen Qt__WindowState = Qt__WindowState(0x00000004) + Qt__WindowActive Qt__WindowState = Qt__WindowState(0x00000008) +) + +//go:generate stringer -type=Qt__ApplicationState +//Qt::ApplicationState +type Qt__ApplicationState int64 + +const ( + Qt__ApplicationSuspended Qt__ApplicationState = Qt__ApplicationState(0x00000000) + Qt__ApplicationHidden Qt__ApplicationState = Qt__ApplicationState(0x00000001) + Qt__ApplicationInactive Qt__ApplicationState = Qt__ApplicationState(0x00000002) + Qt__ApplicationActive Qt__ApplicationState = Qt__ApplicationState(0x00000004) +) + +//go:generate stringer -type=Qt__ScreenOrientation +//Qt::ScreenOrientation +type Qt__ScreenOrientation int64 + +const ( + Qt__PrimaryOrientation Qt__ScreenOrientation = Qt__ScreenOrientation(0x00000000) + Qt__PortraitOrientation Qt__ScreenOrientation = Qt__ScreenOrientation(0x00000001) + Qt__LandscapeOrientation Qt__ScreenOrientation = Qt__ScreenOrientation(0x00000002) + Qt__InvertedPortraitOrientation Qt__ScreenOrientation = Qt__ScreenOrientation(0x00000004) + Qt__InvertedLandscapeOrientation Qt__ScreenOrientation = Qt__ScreenOrientation(0x00000008) +) + +//go:generate stringer -type=Qt__WidgetAttribute +//Qt::WidgetAttribute +type Qt__WidgetAttribute int64 + +const ( + Qt__WA_Disabled Qt__WidgetAttribute = Qt__WidgetAttribute(0) + Qt__WA_UnderMouse Qt__WidgetAttribute = Qt__WidgetAttribute(1) + Qt__WA_MouseTracking Qt__WidgetAttribute = Qt__WidgetAttribute(2) + Qt__WA_ContentsPropagated Qt__WidgetAttribute = Qt__WidgetAttribute(3) + Qt__WA_OpaquePaintEvent Qt__WidgetAttribute = Qt__WidgetAttribute(4) + Qt__WA_NoBackground Qt__WidgetAttribute = Qt__WidgetAttribute(Qt__WA_OpaquePaintEvent) + Qt__WA_StaticContents Qt__WidgetAttribute = Qt__WidgetAttribute(5) + Qt__WA_LaidOut Qt__WidgetAttribute = Qt__WidgetAttribute(7) + Qt__WA_PaintOnScreen Qt__WidgetAttribute = Qt__WidgetAttribute(8) + Qt__WA_NoSystemBackground Qt__WidgetAttribute = Qt__WidgetAttribute(9) + Qt__WA_UpdatesDisabled Qt__WidgetAttribute = Qt__WidgetAttribute(10) + Qt__WA_Mapped Qt__WidgetAttribute = Qt__WidgetAttribute(11) + Qt__WA_MacNoClickThrough Qt__WidgetAttribute = Qt__WidgetAttribute(12) + Qt__WA_InputMethodEnabled Qt__WidgetAttribute = Qt__WidgetAttribute(14) + Qt__WA_WState_Visible Qt__WidgetAttribute = Qt__WidgetAttribute(15) + Qt__WA_WState_Hidden Qt__WidgetAttribute = Qt__WidgetAttribute(16) + Qt__WA_ForceDisabled Qt__WidgetAttribute = Qt__WidgetAttribute(32) + Qt__WA_KeyCompression Qt__WidgetAttribute = Qt__WidgetAttribute(33) + Qt__WA_PendingMoveEvent Qt__WidgetAttribute = Qt__WidgetAttribute(34) + Qt__WA_PendingResizeEvent Qt__WidgetAttribute = Qt__WidgetAttribute(35) + Qt__WA_SetPalette Qt__WidgetAttribute = Qt__WidgetAttribute(36) + Qt__WA_SetFont Qt__WidgetAttribute = Qt__WidgetAttribute(37) + Qt__WA_SetCursor Qt__WidgetAttribute = Qt__WidgetAttribute(38) + Qt__WA_NoChildEventsFromChildren Qt__WidgetAttribute = Qt__WidgetAttribute(39) + Qt__WA_WindowModified Qt__WidgetAttribute = Qt__WidgetAttribute(41) + Qt__WA_Resized Qt__WidgetAttribute = Qt__WidgetAttribute(42) + Qt__WA_Moved Qt__WidgetAttribute = Qt__WidgetAttribute(43) + Qt__WA_PendingUpdate Qt__WidgetAttribute = Qt__WidgetAttribute(44) + Qt__WA_InvalidSize Qt__WidgetAttribute = Qt__WidgetAttribute(45) + Qt__WA_MacBrushedMetal Qt__WidgetAttribute = Qt__WidgetAttribute(46) + Qt__WA_MacMetalStyle Qt__WidgetAttribute = Qt__WidgetAttribute(Qt__WA_MacBrushedMetal) + Qt__WA_CustomWhatsThis Qt__WidgetAttribute = Qt__WidgetAttribute(47) + Qt__WA_LayoutOnEntireRect Qt__WidgetAttribute = Qt__WidgetAttribute(48) + Qt__WA_OutsideWSRange Qt__WidgetAttribute = Qt__WidgetAttribute(49) + Qt__WA_GrabbedShortcut Qt__WidgetAttribute = Qt__WidgetAttribute(50) + Qt__WA_TransparentForMouseEvents Qt__WidgetAttribute = Qt__WidgetAttribute(51) + Qt__WA_PaintUnclipped Qt__WidgetAttribute = Qt__WidgetAttribute(52) + Qt__WA_SetWindowIcon Qt__WidgetAttribute = Qt__WidgetAttribute(53) + Qt__WA_NoMouseReplay Qt__WidgetAttribute = Qt__WidgetAttribute(54) + Qt__WA_DeleteOnClose Qt__WidgetAttribute = Qt__WidgetAttribute(55) + Qt__WA_RightToLeft Qt__WidgetAttribute = Qt__WidgetAttribute(56) + Qt__WA_SetLayoutDirection Qt__WidgetAttribute = Qt__WidgetAttribute(57) + Qt__WA_NoChildEventsForParent Qt__WidgetAttribute = Qt__WidgetAttribute(58) + Qt__WA_ForceUpdatesDisabled Qt__WidgetAttribute = Qt__WidgetAttribute(59) + Qt__WA_WState_Created Qt__WidgetAttribute = Qt__WidgetAttribute(60) + Qt__WA_WState_CompressKeys Qt__WidgetAttribute = Qt__WidgetAttribute(61) + Qt__WA_WState_InPaintEvent Qt__WidgetAttribute = Qt__WidgetAttribute(62) + Qt__WA_WState_Reparented Qt__WidgetAttribute = Qt__WidgetAttribute(63) + Qt__WA_WState_ConfigPending Qt__WidgetAttribute = Qt__WidgetAttribute(64) + Qt__WA_WState_Polished Qt__WidgetAttribute = Qt__WidgetAttribute(66) + Qt__WA_WState_DND Qt__WidgetAttribute = Qt__WidgetAttribute(67) + Qt__WA_WState_OwnSizePolicy Qt__WidgetAttribute = Qt__WidgetAttribute(68) + Qt__WA_WState_ExplicitShowHide Qt__WidgetAttribute = Qt__WidgetAttribute(69) + Qt__WA_ShowModal Qt__WidgetAttribute = Qt__WidgetAttribute(70) + Qt__WA_MouseNoMask Qt__WidgetAttribute = Qt__WidgetAttribute(71) + Qt__WA_GroupLeader Qt__WidgetAttribute = Qt__WidgetAttribute(72) + Qt__WA_NoMousePropagation Qt__WidgetAttribute = Qt__WidgetAttribute(73) + Qt__WA_Hover Qt__WidgetAttribute = Qt__WidgetAttribute(74) + Qt__WA_InputMethodTransparent Qt__WidgetAttribute = Qt__WidgetAttribute(75) + Qt__WA_QuitOnClose Qt__WidgetAttribute = Qt__WidgetAttribute(76) + Qt__WA_KeyboardFocusChange Qt__WidgetAttribute = Qt__WidgetAttribute(77) + Qt__WA_AcceptDrops Qt__WidgetAttribute = Qt__WidgetAttribute(78) + Qt__WA_DropSiteRegistered Qt__WidgetAttribute = Qt__WidgetAttribute(79) + Qt__WA_ForceAcceptDrops Qt__WidgetAttribute = Qt__WidgetAttribute(Qt__WA_DropSiteRegistered) + Qt__WA_WindowPropagation Qt__WidgetAttribute = Qt__WidgetAttribute(80) + Qt__WA_NoX11EventCompression Qt__WidgetAttribute = Qt__WidgetAttribute(81) + Qt__WA_TintedBackground Qt__WidgetAttribute = Qt__WidgetAttribute(82) + Qt__WA_X11OpenGLOverlay Qt__WidgetAttribute = Qt__WidgetAttribute(83) + Qt__WA_AlwaysShowToolTips Qt__WidgetAttribute = Qt__WidgetAttribute(84) + Qt__WA_MacOpaqueSizeGrip Qt__WidgetAttribute = Qt__WidgetAttribute(85) + Qt__WA_SetStyle Qt__WidgetAttribute = Qt__WidgetAttribute(86) + Qt__WA_SetLocale Qt__WidgetAttribute = Qt__WidgetAttribute(87) + Qt__WA_MacShowFocusRect Qt__WidgetAttribute = Qt__WidgetAttribute(88) + Qt__WA_MacNormalSize Qt__WidgetAttribute = Qt__WidgetAttribute(89) + Qt__WA_MacSmallSize Qt__WidgetAttribute = Qt__WidgetAttribute(90) + Qt__WA_MacMiniSize Qt__WidgetAttribute = Qt__WidgetAttribute(91) + Qt__WA_LayoutUsesWidgetRect Qt__WidgetAttribute = Qt__WidgetAttribute(92) + Qt__WA_StyledBackground Qt__WidgetAttribute = Qt__WidgetAttribute(93) + Qt__WA_MSWindowsUseDirect3D Qt__WidgetAttribute = Qt__WidgetAttribute(94) + Qt__WA_CanHostQMdiSubWindowTitleBar Qt__WidgetAttribute = Qt__WidgetAttribute(95) + Qt__WA_MacAlwaysShowToolWindow Qt__WidgetAttribute = Qt__WidgetAttribute(96) + Qt__WA_StyleSheet Qt__WidgetAttribute = Qt__WidgetAttribute(97) + Qt__WA_ShowWithoutActivating Qt__WidgetAttribute = Qt__WidgetAttribute(98) + Qt__WA_X11BypassTransientForHint Qt__WidgetAttribute = Qt__WidgetAttribute(99) + Qt__WA_NativeWindow Qt__WidgetAttribute = Qt__WidgetAttribute(100) + Qt__WA_DontCreateNativeAncestors Qt__WidgetAttribute = Qt__WidgetAttribute(101) + Qt__WA_MacVariableSize Qt__WidgetAttribute = Qt__WidgetAttribute(102) + Qt__WA_DontShowOnScreen Qt__WidgetAttribute = Qt__WidgetAttribute(103) + Qt__WA_X11NetWmWindowTypeDesktop Qt__WidgetAttribute = Qt__WidgetAttribute(104) + Qt__WA_X11NetWmWindowTypeDock Qt__WidgetAttribute = Qt__WidgetAttribute(105) + Qt__WA_X11NetWmWindowTypeToolBar Qt__WidgetAttribute = Qt__WidgetAttribute(106) + Qt__WA_X11NetWmWindowTypeMenu Qt__WidgetAttribute = Qt__WidgetAttribute(107) + Qt__WA_X11NetWmWindowTypeUtility Qt__WidgetAttribute = Qt__WidgetAttribute(108) + Qt__WA_X11NetWmWindowTypeSplash Qt__WidgetAttribute = Qt__WidgetAttribute(109) + Qt__WA_X11NetWmWindowTypeDialog Qt__WidgetAttribute = Qt__WidgetAttribute(110) + Qt__WA_X11NetWmWindowTypeDropDownMenu Qt__WidgetAttribute = Qt__WidgetAttribute(111) + Qt__WA_X11NetWmWindowTypePopupMenu Qt__WidgetAttribute = Qt__WidgetAttribute(112) + Qt__WA_X11NetWmWindowTypeToolTip Qt__WidgetAttribute = Qt__WidgetAttribute(113) + Qt__WA_X11NetWmWindowTypeNotification Qt__WidgetAttribute = Qt__WidgetAttribute(114) + Qt__WA_X11NetWmWindowTypeCombo Qt__WidgetAttribute = Qt__WidgetAttribute(115) + Qt__WA_X11NetWmWindowTypeDND Qt__WidgetAttribute = Qt__WidgetAttribute(116) + Qt__WA_MacFrameworkScaled Qt__WidgetAttribute = Qt__WidgetAttribute(117) + Qt__WA_SetWindowModality Qt__WidgetAttribute = Qt__WidgetAttribute(118) + Qt__WA_WState_WindowOpacitySet Qt__WidgetAttribute = Qt__WidgetAttribute(119) + Qt__WA_TranslucentBackground Qt__WidgetAttribute = Qt__WidgetAttribute(120) + Qt__WA_AcceptTouchEvents Qt__WidgetAttribute = Qt__WidgetAttribute(121) + Qt__WA_WState_AcceptedTouchBeginEvent Qt__WidgetAttribute = Qt__WidgetAttribute(122) + Qt__WA_TouchPadAcceptSingleTouchEvents Qt__WidgetAttribute = Qt__WidgetAttribute(123) + Qt__WA_X11DoNotAcceptFocus Qt__WidgetAttribute = Qt__WidgetAttribute(126) + Qt__WA_MacNoShadow Qt__WidgetAttribute = Qt__WidgetAttribute(127) + Qt__WA_AlwaysStackOnTop Qt__WidgetAttribute = Qt__WidgetAttribute(128) + Qt__WA_TabletTracking Qt__WidgetAttribute = Qt__WidgetAttribute(129) + Qt__WA_ContentsMarginsRespectsSafeArea Qt__WidgetAttribute = Qt__WidgetAttribute(130) + Qt__WA_StyleSheetTarget Qt__WidgetAttribute = Qt__WidgetAttribute(131) + Qt__WA_AttributeCount Qt__WidgetAttribute = Qt__WidgetAttribute(132) +) + +//go:generate stringer -type=Qt__ApplicationAttribute +//Qt::ApplicationAttribute +type Qt__ApplicationAttribute int64 + +const ( + Qt__AA_ImmediateWidgetCreation Qt__ApplicationAttribute = Qt__ApplicationAttribute(0) + Qt__AA_MSWindowsUseDirect3DByDefault Qt__ApplicationAttribute = Qt__ApplicationAttribute(1) + Qt__AA_DontShowIconsInMenus Qt__ApplicationAttribute = Qt__ApplicationAttribute(2) + Qt__AA_NativeWindows Qt__ApplicationAttribute = Qt__ApplicationAttribute(3) + Qt__AA_DontCreateNativeWidgetSiblings Qt__ApplicationAttribute = Qt__ApplicationAttribute(4) + Qt__AA_PluginApplication Qt__ApplicationAttribute = Qt__ApplicationAttribute(5) + Qt__AA_MacPluginApplication Qt__ApplicationAttribute = Qt__ApplicationAttribute(Qt__AA_PluginApplication) + Qt__AA_DontUseNativeMenuBar Qt__ApplicationAttribute = Qt__ApplicationAttribute(6) + Qt__AA_MacDontSwapCtrlAndMeta Qt__ApplicationAttribute = Qt__ApplicationAttribute(7) + Qt__AA_Use96Dpi Qt__ApplicationAttribute = Qt__ApplicationAttribute(8) + Qt__AA_X11InitThreads Qt__ApplicationAttribute = Qt__ApplicationAttribute(10) + Qt__AA_SynthesizeTouchForUnhandledMouseEvents Qt__ApplicationAttribute = Qt__ApplicationAttribute(11) + Qt__AA_SynthesizeMouseForUnhandledTouchEvents Qt__ApplicationAttribute = Qt__ApplicationAttribute(12) + Qt__AA_UseHighDpiPixmaps Qt__ApplicationAttribute = Qt__ApplicationAttribute(13) + Qt__AA_ForceRasterWidgets Qt__ApplicationAttribute = Qt__ApplicationAttribute(14) + Qt__AA_UseDesktopOpenGL Qt__ApplicationAttribute = Qt__ApplicationAttribute(15) + Qt__AA_UseOpenGLES Qt__ApplicationAttribute = Qt__ApplicationAttribute(16) + Qt__AA_UseSoftwareOpenGL Qt__ApplicationAttribute = Qt__ApplicationAttribute(17) + Qt__AA_ShareOpenGLContexts Qt__ApplicationAttribute = Qt__ApplicationAttribute(18) + Qt__AA_SetPalette Qt__ApplicationAttribute = Qt__ApplicationAttribute(19) + Qt__AA_EnableHighDpiScaling Qt__ApplicationAttribute = Qt__ApplicationAttribute(20) + Qt__AA_DisableHighDpiScaling Qt__ApplicationAttribute = Qt__ApplicationAttribute(21) + Qt__AA_UseStyleSheetPropagationInWidgetStyles Qt__ApplicationAttribute = Qt__ApplicationAttribute(22) + Qt__AA_DontUseNativeDialogs Qt__ApplicationAttribute = Qt__ApplicationAttribute(23) + Qt__AA_SynthesizeMouseForUnhandledTabletEvents Qt__ApplicationAttribute = Qt__ApplicationAttribute(24) + Qt__AA_CompressHighFrequencyEvents Qt__ApplicationAttribute = Qt__ApplicationAttribute(25) + Qt__AA_DontCheckOpenGLContextThreadAffinity Qt__ApplicationAttribute = Qt__ApplicationAttribute(26) + Qt__AA_DisableShaderDiskCache Qt__ApplicationAttribute = Qt__ApplicationAttribute(27) + Qt__AA_DontShowShortcutsInContextMenus Qt__ApplicationAttribute = Qt__ApplicationAttribute(28) + Qt__AA_CompressTabletEvents Qt__ApplicationAttribute = Qt__ApplicationAttribute(29) + Qt__AA_DisableWindowContextHelpButton Qt__ApplicationAttribute = Qt__ApplicationAttribute(30) + Qt__AA_AttributeCount Qt__ApplicationAttribute = Qt__ApplicationAttribute(31) +) + +//go:generate stringer -type=Qt__ImageConversionFlag +//Qt::ImageConversionFlag +type Qt__ImageConversionFlag int64 + +const ( + Qt__ColorMode_Mask Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000003) + Qt__AutoColor Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000000) + Qt__ColorOnly Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000003) + Qt__MonoOnly Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000002) + Qt__AlphaDither_Mask Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x0000000c) + Qt__ThresholdAlphaDither Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000000) + Qt__OrderedAlphaDither Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000004) + Qt__DiffuseAlphaDither Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000008) + Qt__NoAlpha Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x0000000c) + Qt__Dither_Mask Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000030) + Qt__DiffuseDither Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000000) + Qt__OrderedDither Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000010) + Qt__ThresholdDither Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000020) + Qt__DitherMode_Mask Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x000000c0) + Qt__AutoDither Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000000) + Qt__PreferDither Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000040) + Qt__AvoidDither Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000080) + Qt__NoOpaqueDetection Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000100) + Qt__NoFormatConversion Qt__ImageConversionFlag = Qt__ImageConversionFlag(0x00000200) +) + +//go:generate stringer -type=Qt__BGMode +//Qt::BGMode +type Qt__BGMode int64 + +const ( + Qt__TransparentMode Qt__BGMode = Qt__BGMode(0) + Qt__OpaqueMode Qt__BGMode = Qt__BGMode(1) +) + +//go:generate stringer -type=Qt__Key +//Qt::Key +type Qt__Key int64 + +const ( + Qt__Key_Escape Qt__Key = Qt__Key(0x01000000) + Qt__Key_Tab Qt__Key = Qt__Key(0x01000001) + Qt__Key_Backtab Qt__Key = Qt__Key(0x01000002) + Qt__Key_Backspace Qt__Key = Qt__Key(0x01000003) + Qt__Key_Return Qt__Key = Qt__Key(0x01000004) + Qt__Key_Enter Qt__Key = Qt__Key(0x01000005) + Qt__Key_Insert Qt__Key = Qt__Key(0x01000006) + Qt__Key_Delete Qt__Key = Qt__Key(0x01000007) + Qt__Key_Pause Qt__Key = Qt__Key(0x01000008) + Qt__Key_Print Qt__Key = Qt__Key(0x01000009) + Qt__Key_SysReq Qt__Key = Qt__Key(0x0100000a) + Qt__Key_Clear Qt__Key = Qt__Key(0x0100000b) + Qt__Key_Home Qt__Key = Qt__Key(0x01000010) + Qt__Key_End Qt__Key = Qt__Key(0x01000011) + Qt__Key_Left Qt__Key = Qt__Key(0x01000012) + Qt__Key_Up Qt__Key = Qt__Key(0x01000013) + Qt__Key_Right Qt__Key = Qt__Key(0x01000014) + Qt__Key_Down Qt__Key = Qt__Key(0x01000015) + Qt__Key_PageUp Qt__Key = Qt__Key(0x01000016) + Qt__Key_PageDown Qt__Key = Qt__Key(0x01000017) + Qt__Key_Shift Qt__Key = Qt__Key(0x01000020) + Qt__Key_Control Qt__Key = Qt__Key(0x01000021) + Qt__Key_Meta Qt__Key = Qt__Key(0x01000022) + Qt__Key_Alt Qt__Key = Qt__Key(0x01000023) + Qt__Key_CapsLock Qt__Key = Qt__Key(0x01000024) + Qt__Key_NumLock Qt__Key = Qt__Key(0x01000025) + Qt__Key_ScrollLock Qt__Key = Qt__Key(0x01000026) + Qt__Key_F1 Qt__Key = Qt__Key(0x01000030) + Qt__Key_F2 Qt__Key = Qt__Key(0x01000031) + Qt__Key_F3 Qt__Key = Qt__Key(0x01000032) + Qt__Key_F4 Qt__Key = Qt__Key(0x01000033) + Qt__Key_F5 Qt__Key = Qt__Key(0x01000034) + Qt__Key_F6 Qt__Key = Qt__Key(0x01000035) + Qt__Key_F7 Qt__Key = Qt__Key(0x01000036) + Qt__Key_F8 Qt__Key = Qt__Key(0x01000037) + Qt__Key_F9 Qt__Key = Qt__Key(0x01000038) + Qt__Key_F10 Qt__Key = Qt__Key(0x01000039) + Qt__Key_F11 Qt__Key = Qt__Key(0x0100003a) + Qt__Key_F12 Qt__Key = Qt__Key(0x0100003b) + Qt__Key_F13 Qt__Key = Qt__Key(0x0100003c) + Qt__Key_F14 Qt__Key = Qt__Key(0x0100003d) + Qt__Key_F15 Qt__Key = Qt__Key(0x0100003e) + Qt__Key_F16 Qt__Key = Qt__Key(0x0100003f) + Qt__Key_F17 Qt__Key = Qt__Key(0x01000040) + Qt__Key_F18 Qt__Key = Qt__Key(0x01000041) + Qt__Key_F19 Qt__Key = Qt__Key(0x01000042) + Qt__Key_F20 Qt__Key = Qt__Key(0x01000043) + Qt__Key_F21 Qt__Key = Qt__Key(0x01000044) + Qt__Key_F22 Qt__Key = Qt__Key(0x01000045) + Qt__Key_F23 Qt__Key = Qt__Key(0x01000046) + Qt__Key_F24 Qt__Key = Qt__Key(0x01000047) + Qt__Key_F25 Qt__Key = Qt__Key(0x01000048) + Qt__Key_F26 Qt__Key = Qt__Key(0x01000049) + Qt__Key_F27 Qt__Key = Qt__Key(0x0100004a) + Qt__Key_F28 Qt__Key = Qt__Key(0x0100004b) + Qt__Key_F29 Qt__Key = Qt__Key(0x0100004c) + Qt__Key_F30 Qt__Key = Qt__Key(0x0100004d) + Qt__Key_F31 Qt__Key = Qt__Key(0x0100004e) + Qt__Key_F32 Qt__Key = Qt__Key(0x0100004f) + Qt__Key_F33 Qt__Key = Qt__Key(0x01000050) + Qt__Key_F34 Qt__Key = Qt__Key(0x01000051) + Qt__Key_F35 Qt__Key = Qt__Key(0x01000052) + Qt__Key_Super_L Qt__Key = Qt__Key(0x01000053) + Qt__Key_Super_R Qt__Key = Qt__Key(0x01000054) + Qt__Key_Menu Qt__Key = Qt__Key(0x01000055) + Qt__Key_Hyper_L Qt__Key = Qt__Key(0x01000056) + Qt__Key_Hyper_R Qt__Key = Qt__Key(0x01000057) + Qt__Key_Help Qt__Key = Qt__Key(0x01000058) + Qt__Key_Direction_L Qt__Key = Qt__Key(0x01000059) + Qt__Key_Direction_R Qt__Key = Qt__Key(0x01000060) + Qt__Key_Space Qt__Key = Qt__Key(0x20) + Qt__Key_Any Qt__Key = Qt__Key(Qt__Key_Space) + Qt__Key_Exclam Qt__Key = Qt__Key(0x21) + Qt__Key_QuoteDbl Qt__Key = Qt__Key(0x22) + Qt__Key_NumberSign Qt__Key = Qt__Key(0x23) + Qt__Key_Dollar Qt__Key = Qt__Key(0x24) + Qt__Key_Percent Qt__Key = Qt__Key(0x25) + Qt__Key_Ampersand Qt__Key = Qt__Key(0x26) + Qt__Key_Apostrophe Qt__Key = Qt__Key(0x27) + Qt__Key_ParenLeft Qt__Key = Qt__Key(0x28) + Qt__Key_ParenRight Qt__Key = Qt__Key(0x29) + Qt__Key_Asterisk Qt__Key = Qt__Key(0x2a) + Qt__Key_Plus Qt__Key = Qt__Key(0x2b) + Qt__Key_Comma Qt__Key = Qt__Key(0x2c) + Qt__Key_Minus Qt__Key = Qt__Key(0x2d) + Qt__Key_Period Qt__Key = Qt__Key(0x2e) + Qt__Key_Slash Qt__Key = Qt__Key(0x2f) + Qt__Key_0 Qt__Key = Qt__Key(0x30) + Qt__Key_1 Qt__Key = Qt__Key(0x31) + Qt__Key_2 Qt__Key = Qt__Key(0x32) + Qt__Key_3 Qt__Key = Qt__Key(0x33) + Qt__Key_4 Qt__Key = Qt__Key(0x34) + Qt__Key_5 Qt__Key = Qt__Key(0x35) + Qt__Key_6 Qt__Key = Qt__Key(0x36) + Qt__Key_7 Qt__Key = Qt__Key(0x37) + Qt__Key_8 Qt__Key = Qt__Key(0x38) + Qt__Key_9 Qt__Key = Qt__Key(0x39) + Qt__Key_Colon Qt__Key = Qt__Key(0x3a) + Qt__Key_Semicolon Qt__Key = Qt__Key(0x3b) + Qt__Key_Less Qt__Key = Qt__Key(0x3c) + Qt__Key_Equal Qt__Key = Qt__Key(0x3d) + Qt__Key_Greater Qt__Key = Qt__Key(0x3e) + Qt__Key_Question Qt__Key = Qt__Key(0x3f) + Qt__Key_At Qt__Key = Qt__Key(0x40) + Qt__Key_A Qt__Key = Qt__Key(0x41) + Qt__Key_B Qt__Key = Qt__Key(0x42) + Qt__Key_C Qt__Key = Qt__Key(0x43) + Qt__Key_D Qt__Key = Qt__Key(0x44) + Qt__Key_E Qt__Key = Qt__Key(0x45) + Qt__Key_F Qt__Key = Qt__Key(0x46) + Qt__Key_G Qt__Key = Qt__Key(0x47) + Qt__Key_H Qt__Key = Qt__Key(0x48) + Qt__Key_I Qt__Key = Qt__Key(0x49) + Qt__Key_J Qt__Key = Qt__Key(0x4a) + Qt__Key_K Qt__Key = Qt__Key(0x4b) + Qt__Key_L Qt__Key = Qt__Key(0x4c) + Qt__Key_M Qt__Key = Qt__Key(0x4d) + Qt__Key_N Qt__Key = Qt__Key(0x4e) + Qt__Key_O Qt__Key = Qt__Key(0x4f) + Qt__Key_P Qt__Key = Qt__Key(0x50) + Qt__Key_Q Qt__Key = Qt__Key(0x51) + Qt__Key_R Qt__Key = Qt__Key(0x52) + Qt__Key_S Qt__Key = Qt__Key(0x53) + Qt__Key_T Qt__Key = Qt__Key(0x54) + Qt__Key_U Qt__Key = Qt__Key(0x55) + Qt__Key_V Qt__Key = Qt__Key(0x56) + Qt__Key_W Qt__Key = Qt__Key(0x57) + Qt__Key_X Qt__Key = Qt__Key(0x58) + Qt__Key_Y Qt__Key = Qt__Key(0x59) + Qt__Key_Z Qt__Key = Qt__Key(0x5a) + Qt__Key_BracketLeft Qt__Key = Qt__Key(0x5b) + Qt__Key_Backslash Qt__Key = Qt__Key(0x5c) + Qt__Key_BracketRight Qt__Key = Qt__Key(0x5d) + Qt__Key_AsciiCircum Qt__Key = Qt__Key(0x5e) + Qt__Key_Underscore Qt__Key = Qt__Key(0x5f) + Qt__Key_QuoteLeft Qt__Key = Qt__Key(0x60) + Qt__Key_BraceLeft Qt__Key = Qt__Key(0x7b) + Qt__Key_Bar Qt__Key = Qt__Key(0x7c) + Qt__Key_BraceRight Qt__Key = Qt__Key(0x7d) + Qt__Key_AsciiTilde Qt__Key = Qt__Key(0x7e) + Qt__Key_nobreakspace Qt__Key = Qt__Key(0x0a0) + Qt__Key_exclamdown Qt__Key = Qt__Key(0x0a1) + Qt__Key_cent Qt__Key = Qt__Key(0x0a2) + Qt__Key_sterling Qt__Key = Qt__Key(0x0a3) + Qt__Key_currency Qt__Key = Qt__Key(0x0a4) + Qt__Key_yen Qt__Key = Qt__Key(0x0a5) + Qt__Key_brokenbar Qt__Key = Qt__Key(0x0a6) + Qt__Key_section Qt__Key = Qt__Key(0x0a7) + Qt__Key_diaeresis Qt__Key = Qt__Key(0x0a8) + Qt__Key_copyright Qt__Key = Qt__Key(0x0a9) + Qt__Key_ordfeminine Qt__Key = Qt__Key(0x0aa) + Qt__Key_guillemotleft Qt__Key = Qt__Key(0x0ab) + Qt__Key_notsign Qt__Key = Qt__Key(0x0ac) + Qt__Key_hyphen Qt__Key = Qt__Key(0x0ad) + Qt__Key_registered Qt__Key = Qt__Key(0x0ae) + Qt__Key_macron Qt__Key = Qt__Key(0x0af) + Qt__Key_degree Qt__Key = Qt__Key(0x0b0) + Qt__Key_plusminus Qt__Key = Qt__Key(0x0b1) + Qt__Key_twosuperior Qt__Key = Qt__Key(0x0b2) + Qt__Key_threesuperior Qt__Key = Qt__Key(0x0b3) + Qt__Key_acute Qt__Key = Qt__Key(0x0b4) + Qt__Key_mu Qt__Key = Qt__Key(0x0b5) + Qt__Key_paragraph Qt__Key = Qt__Key(0x0b6) + Qt__Key_periodcentered Qt__Key = Qt__Key(0x0b7) + Qt__Key_cedilla Qt__Key = Qt__Key(0x0b8) + Qt__Key_onesuperior Qt__Key = Qt__Key(0x0b9) + Qt__Key_masculine Qt__Key = Qt__Key(0x0ba) + Qt__Key_guillemotright Qt__Key = Qt__Key(0x0bb) + Qt__Key_onequarter Qt__Key = Qt__Key(0x0bc) + Qt__Key_onehalf Qt__Key = Qt__Key(0x0bd) + Qt__Key_threequarters Qt__Key = Qt__Key(0x0be) + Qt__Key_questiondown Qt__Key = Qt__Key(0x0bf) + Qt__Key_Agrave Qt__Key = Qt__Key(0x0c0) + Qt__Key_Aacute Qt__Key = Qt__Key(0x0c1) + Qt__Key_Acircumflex Qt__Key = Qt__Key(0x0c2) + Qt__Key_Atilde Qt__Key = Qt__Key(0x0c3) + Qt__Key_Adiaeresis Qt__Key = Qt__Key(0x0c4) + Qt__Key_Aring Qt__Key = Qt__Key(0x0c5) + Qt__Key_AE Qt__Key = Qt__Key(0x0c6) + Qt__Key_Ccedilla Qt__Key = Qt__Key(0x0c7) + Qt__Key_Egrave Qt__Key = Qt__Key(0x0c8) + Qt__Key_Eacute Qt__Key = Qt__Key(0x0c9) + Qt__Key_Ecircumflex Qt__Key = Qt__Key(0x0ca) + Qt__Key_Ediaeresis Qt__Key = Qt__Key(0x0cb) + Qt__Key_Igrave Qt__Key = Qt__Key(0x0cc) + Qt__Key_Iacute Qt__Key = Qt__Key(0x0cd) + Qt__Key_Icircumflex Qt__Key = Qt__Key(0x0ce) + Qt__Key_Idiaeresis Qt__Key = Qt__Key(0x0cf) + Qt__Key_ETH Qt__Key = Qt__Key(0x0d0) + Qt__Key_Ntilde Qt__Key = Qt__Key(0x0d1) + Qt__Key_Ograve Qt__Key = Qt__Key(0x0d2) + Qt__Key_Oacute Qt__Key = Qt__Key(0x0d3) + Qt__Key_Ocircumflex Qt__Key = Qt__Key(0x0d4) + Qt__Key_Otilde Qt__Key = Qt__Key(0x0d5) + Qt__Key_Odiaeresis Qt__Key = Qt__Key(0x0d6) + Qt__Key_multiply Qt__Key = Qt__Key(0x0d7) + Qt__Key_Ooblique Qt__Key = Qt__Key(0x0d8) + Qt__Key_Ugrave Qt__Key = Qt__Key(0x0d9) + Qt__Key_Uacute Qt__Key = Qt__Key(0x0da) + Qt__Key_Ucircumflex Qt__Key = Qt__Key(0x0db) + Qt__Key_Udiaeresis Qt__Key = Qt__Key(0x0dc) + Qt__Key_Yacute Qt__Key = Qt__Key(0x0dd) + Qt__Key_THORN Qt__Key = Qt__Key(0x0de) + Qt__Key_ssharp Qt__Key = Qt__Key(0x0df) + Qt__Key_division Qt__Key = Qt__Key(0x0f7) + Qt__Key_ydiaeresis Qt__Key = Qt__Key(0x0ff) + Qt__Key_AltGr Qt__Key = Qt__Key(0x01001103) + Qt__Key_Multi_key Qt__Key = Qt__Key(0x01001120) + Qt__Key_Codeinput Qt__Key = Qt__Key(0x01001137) + Qt__Key_SingleCandidate Qt__Key = Qt__Key(0x0100113c) + Qt__Key_MultipleCandidate Qt__Key = Qt__Key(0x0100113d) + Qt__Key_PreviousCandidate Qt__Key = Qt__Key(0x0100113e) + Qt__Key_Mode_switch Qt__Key = Qt__Key(0x0100117e) + Qt__Key_Kanji Qt__Key = Qt__Key(0x01001121) + Qt__Key_Muhenkan Qt__Key = Qt__Key(0x01001122) + Qt__Key_Henkan Qt__Key = Qt__Key(0x01001123) + Qt__Key_Romaji Qt__Key = Qt__Key(0x01001124) + Qt__Key_Hiragana Qt__Key = Qt__Key(0x01001125) + Qt__Key_Katakana Qt__Key = Qt__Key(0x01001126) + Qt__Key_Hiragana_Katakana Qt__Key = Qt__Key(0x01001127) + Qt__Key_Zenkaku Qt__Key = Qt__Key(0x01001128) + Qt__Key_Hankaku Qt__Key = Qt__Key(0x01001129) + Qt__Key_Zenkaku_Hankaku Qt__Key = Qt__Key(0x0100112a) + Qt__Key_Touroku Qt__Key = Qt__Key(0x0100112b) + Qt__Key_Massyo Qt__Key = Qt__Key(0x0100112c) + Qt__Key_Kana_Lock Qt__Key = Qt__Key(0x0100112d) + Qt__Key_Kana_Shift Qt__Key = Qt__Key(0x0100112e) + Qt__Key_Eisu_Shift Qt__Key = Qt__Key(0x0100112f) + Qt__Key_Eisu_toggle Qt__Key = Qt__Key(0x01001130) + Qt__Key_Hangul Qt__Key = Qt__Key(0x01001131) + Qt__Key_Hangul_Start Qt__Key = Qt__Key(0x01001132) + Qt__Key_Hangul_End Qt__Key = Qt__Key(0x01001133) + Qt__Key_Hangul_Hanja Qt__Key = Qt__Key(0x01001134) + Qt__Key_Hangul_Jamo Qt__Key = Qt__Key(0x01001135) + Qt__Key_Hangul_Romaja Qt__Key = Qt__Key(0x01001136) + Qt__Key_Hangul_Jeonja Qt__Key = Qt__Key(0x01001138) + Qt__Key_Hangul_Banja Qt__Key = Qt__Key(0x01001139) + Qt__Key_Hangul_PreHanja Qt__Key = Qt__Key(0x0100113a) + Qt__Key_Hangul_PostHanja Qt__Key = Qt__Key(0x0100113b) + Qt__Key_Hangul_Special Qt__Key = Qt__Key(0x0100113f) + Qt__Key_Dead_Grave Qt__Key = Qt__Key(0x01001250) + Qt__Key_Dead_Acute Qt__Key = Qt__Key(0x01001251) + Qt__Key_Dead_Circumflex Qt__Key = Qt__Key(0x01001252) + Qt__Key_Dead_Tilde Qt__Key = Qt__Key(0x01001253) + Qt__Key_Dead_Macron Qt__Key = Qt__Key(0x01001254) + Qt__Key_Dead_Breve Qt__Key = Qt__Key(0x01001255) + Qt__Key_Dead_Abovedot Qt__Key = Qt__Key(0x01001256) + Qt__Key_Dead_Diaeresis Qt__Key = Qt__Key(0x01001257) + Qt__Key_Dead_Abovering Qt__Key = Qt__Key(0x01001258) + Qt__Key_Dead_Doubleacute Qt__Key = Qt__Key(0x01001259) + Qt__Key_Dead_Caron Qt__Key = Qt__Key(0x0100125a) + Qt__Key_Dead_Cedilla Qt__Key = Qt__Key(0x0100125b) + Qt__Key_Dead_Ogonek Qt__Key = Qt__Key(0x0100125c) + Qt__Key_Dead_Iota Qt__Key = Qt__Key(0x0100125d) + Qt__Key_Dead_Voiced_Sound Qt__Key = Qt__Key(0x0100125e) + Qt__Key_Dead_Semivoiced_Sound Qt__Key = Qt__Key(0x0100125f) + Qt__Key_Dead_Belowdot Qt__Key = Qt__Key(0x01001260) + Qt__Key_Dead_Hook Qt__Key = Qt__Key(0x01001261) + Qt__Key_Dead_Horn Qt__Key = Qt__Key(0x01001262) + Qt__Key_Dead_Stroke Qt__Key = Qt__Key(0x01001263) + Qt__Key_Dead_Abovecomma Qt__Key = Qt__Key(0x01001264) + Qt__Key_Dead_Abovereversedcomma Qt__Key = Qt__Key(0x01001265) + Qt__Key_Dead_Doublegrave Qt__Key = Qt__Key(0x01001266) + Qt__Key_Dead_Belowring Qt__Key = Qt__Key(0x01001267) + Qt__Key_Dead_Belowmacron Qt__Key = Qt__Key(0x01001268) + Qt__Key_Dead_Belowcircumflex Qt__Key = Qt__Key(0x01001269) + Qt__Key_Dead_Belowtilde Qt__Key = Qt__Key(0x0100126a) + Qt__Key_Dead_Belowbreve Qt__Key = Qt__Key(0x0100126b) + Qt__Key_Dead_Belowdiaeresis Qt__Key = Qt__Key(0x0100126c) + Qt__Key_Dead_Invertedbreve Qt__Key = Qt__Key(0x0100126d) + Qt__Key_Dead_Belowcomma Qt__Key = Qt__Key(0x0100126e) + Qt__Key_Dead_Currency Qt__Key = Qt__Key(0x0100126f) + Qt__Key_Dead_a Qt__Key = Qt__Key(0x01001280) + Qt__Key_Dead_A Qt__Key = Qt__Key(0x01001281) + Qt__Key_Dead_e Qt__Key = Qt__Key(0x01001282) + Qt__Key_Dead_E Qt__Key = Qt__Key(0x01001283) + Qt__Key_Dead_i Qt__Key = Qt__Key(0x01001284) + Qt__Key_Dead_I Qt__Key = Qt__Key(0x01001285) + Qt__Key_Dead_o Qt__Key = Qt__Key(0x01001286) + Qt__Key_Dead_O Qt__Key = Qt__Key(0x01001287) + Qt__Key_Dead_u Qt__Key = Qt__Key(0x01001288) + Qt__Key_Dead_U Qt__Key = Qt__Key(0x01001289) + Qt__Key_Dead_Small_Schwa Qt__Key = Qt__Key(0x0100128a) + Qt__Key_Dead_Capital_Schwa Qt__Key = Qt__Key(0x0100128b) + Qt__Key_Dead_Greek Qt__Key = Qt__Key(0x0100128c) + Qt__Key_Dead_Lowline Qt__Key = Qt__Key(0x01001290) + Qt__Key_Dead_Aboveverticalline Qt__Key = Qt__Key(0x01001291) + Qt__Key_Dead_Belowverticalline Qt__Key = Qt__Key(0x01001292) + Qt__Key_Dead_Longsolidusoverlay Qt__Key = Qt__Key(0x01001293) + Qt__Key_Back Qt__Key = Qt__Key(0x01000061) + Qt__Key_Forward Qt__Key = Qt__Key(0x01000062) + Qt__Key_Stop Qt__Key = Qt__Key(0x01000063) + Qt__Key_Refresh Qt__Key = Qt__Key(0x01000064) + Qt__Key_VolumeDown Qt__Key = Qt__Key(0x01000070) + Qt__Key_VolumeMute Qt__Key = Qt__Key(0x01000071) + Qt__Key_VolumeUp Qt__Key = Qt__Key(0x01000072) + Qt__Key_BassBoost Qt__Key = Qt__Key(0x01000073) + Qt__Key_BassUp Qt__Key = Qt__Key(0x01000074) + Qt__Key_BassDown Qt__Key = Qt__Key(0x01000075) + Qt__Key_TrebleUp Qt__Key = Qt__Key(0x01000076) + Qt__Key_TrebleDown Qt__Key = Qt__Key(0x01000077) + Qt__Key_MediaPlay Qt__Key = Qt__Key(0x01000080) + Qt__Key_MediaStop Qt__Key = Qt__Key(0x01000081) + Qt__Key_MediaPrevious Qt__Key = Qt__Key(0x01000082) + Qt__Key_MediaNext Qt__Key = Qt__Key(0x01000083) + Qt__Key_MediaRecord Qt__Key = Qt__Key(0x01000084) + Qt__Key_MediaPause Qt__Key = Qt__Key(0x1000085) + Qt__Key_MediaTogglePlayPause Qt__Key = Qt__Key(0x1000086) + Qt__Key_HomePage Qt__Key = Qt__Key(0x01000090) + Qt__Key_Favorites Qt__Key = Qt__Key(0x01000091) + Qt__Key_Search Qt__Key = Qt__Key(0x01000092) + Qt__Key_Standby Qt__Key = Qt__Key(0x01000093) + Qt__Key_OpenUrl Qt__Key = Qt__Key(0x01000094) + Qt__Key_LaunchMail Qt__Key = Qt__Key(0x010000a0) + Qt__Key_LaunchMedia Qt__Key = Qt__Key(0x010000a1) + Qt__Key_Launch0 Qt__Key = Qt__Key(0x010000a2) + Qt__Key_Launch1 Qt__Key = Qt__Key(0x010000a3) + Qt__Key_Launch2 Qt__Key = Qt__Key(0x010000a4) + Qt__Key_Launch3 Qt__Key = Qt__Key(0x010000a5) + Qt__Key_Launch4 Qt__Key = Qt__Key(0x010000a6) + Qt__Key_Launch5 Qt__Key = Qt__Key(0x010000a7) + Qt__Key_Launch6 Qt__Key = Qt__Key(0x010000a8) + Qt__Key_Launch7 Qt__Key = Qt__Key(0x010000a9) + Qt__Key_Launch8 Qt__Key = Qt__Key(0x010000aa) + Qt__Key_Launch9 Qt__Key = Qt__Key(0x010000ab) + Qt__Key_LaunchA Qt__Key = Qt__Key(0x010000ac) + Qt__Key_LaunchB Qt__Key = Qt__Key(0x010000ad) + Qt__Key_LaunchC Qt__Key = Qt__Key(0x010000ae) + Qt__Key_LaunchD Qt__Key = Qt__Key(0x010000af) + Qt__Key_LaunchE Qt__Key = Qt__Key(0x010000b0) + Qt__Key_LaunchF Qt__Key = Qt__Key(0x010000b1) + Qt__Key_MonBrightnessUp Qt__Key = Qt__Key(0x010000b2) + Qt__Key_MonBrightnessDown Qt__Key = Qt__Key(0x010000b3) + Qt__Key_KeyboardLightOnOff Qt__Key = Qt__Key(0x010000b4) + Qt__Key_KeyboardBrightnessUp Qt__Key = Qt__Key(0x010000b5) + Qt__Key_KeyboardBrightnessDown Qt__Key = Qt__Key(0x010000b6) + Qt__Key_PowerOff Qt__Key = Qt__Key(0x010000b7) + Qt__Key_WakeUp Qt__Key = Qt__Key(0x010000b8) + Qt__Key_Eject Qt__Key = Qt__Key(0x010000b9) + Qt__Key_ScreenSaver Qt__Key = Qt__Key(0x010000ba) + Qt__Key_WWW Qt__Key = Qt__Key(0x010000bb) + Qt__Key_Memo Qt__Key = Qt__Key(0x010000bc) + Qt__Key_LightBulb Qt__Key = Qt__Key(0x010000bd) + Qt__Key_Shop Qt__Key = Qt__Key(0x010000be) + Qt__Key_History Qt__Key = Qt__Key(0x010000bf) + Qt__Key_AddFavorite Qt__Key = Qt__Key(0x010000c0) + Qt__Key_HotLinks Qt__Key = Qt__Key(0x010000c1) + Qt__Key_BrightnessAdjust Qt__Key = Qt__Key(0x010000c2) + Qt__Key_Finance Qt__Key = Qt__Key(0x010000c3) + Qt__Key_Community Qt__Key = Qt__Key(0x010000c4) + Qt__Key_AudioRewind Qt__Key = Qt__Key(0x010000c5) + Qt__Key_BackForward Qt__Key = Qt__Key(0x010000c6) + Qt__Key_ApplicationLeft Qt__Key = Qt__Key(0x010000c7) + Qt__Key_ApplicationRight Qt__Key = Qt__Key(0x010000c8) + Qt__Key_Book Qt__Key = Qt__Key(0x010000c9) + Qt__Key_CD Qt__Key = Qt__Key(0x010000ca) + Qt__Key_Calculator Qt__Key = Qt__Key(0x010000cb) + Qt__Key_ToDoList Qt__Key = Qt__Key(0x010000cc) + Qt__Key_ClearGrab Qt__Key = Qt__Key(0x010000cd) + Qt__Key_Close Qt__Key = Qt__Key(0x010000ce) + Qt__Key_Copy Qt__Key = Qt__Key(0x010000cf) + Qt__Key_Cut Qt__Key = Qt__Key(0x010000d0) + Qt__Key_Display Qt__Key = Qt__Key(0x010000d1) + Qt__Key_DOS Qt__Key = Qt__Key(0x010000d2) + Qt__Key_Documents Qt__Key = Qt__Key(0x010000d3) + Qt__Key_Excel Qt__Key = Qt__Key(0x010000d4) + Qt__Key_Explorer Qt__Key = Qt__Key(0x010000d5) + Qt__Key_Game Qt__Key = Qt__Key(0x010000d6) + Qt__Key_Go Qt__Key = Qt__Key(0x010000d7) + Qt__Key_iTouch Qt__Key = Qt__Key(0x010000d8) + Qt__Key_LogOff Qt__Key = Qt__Key(0x010000d9) + Qt__Key_Market Qt__Key = Qt__Key(0x010000da) + Qt__Key_Meeting Qt__Key = Qt__Key(0x010000db) + Qt__Key_MenuKB Qt__Key = Qt__Key(0x010000dc) + Qt__Key_MenuPB Qt__Key = Qt__Key(0x010000dd) + Qt__Key_MySites Qt__Key = Qt__Key(0x010000de) + Qt__Key_News Qt__Key = Qt__Key(0x010000df) + Qt__Key_OfficeHome Qt__Key = Qt__Key(0x010000e0) + Qt__Key_Option Qt__Key = Qt__Key(0x010000e1) + Qt__Key_Paste Qt__Key = Qt__Key(0x010000e2) + Qt__Key_Phone Qt__Key = Qt__Key(0x010000e3) + Qt__Key_Calendar Qt__Key = Qt__Key(0x010000e4) + Qt__Key_Reply Qt__Key = Qt__Key(0x010000e5) + Qt__Key_Reload Qt__Key = Qt__Key(0x010000e6) + Qt__Key_RotateWindows Qt__Key = Qt__Key(0x010000e7) + Qt__Key_RotationPB Qt__Key = Qt__Key(0x010000e8) + Qt__Key_RotationKB Qt__Key = Qt__Key(0x010000e9) + Qt__Key_Save Qt__Key = Qt__Key(0x010000ea) + Qt__Key_Send Qt__Key = Qt__Key(0x010000eb) + Qt__Key_Spell Qt__Key = Qt__Key(0x010000ec) + Qt__Key_SplitScreen Qt__Key = Qt__Key(0x010000ed) + Qt__Key_Support Qt__Key = Qt__Key(0x010000ee) + Qt__Key_TaskPane Qt__Key = Qt__Key(0x010000ef) + Qt__Key_Terminal Qt__Key = Qt__Key(0x010000f0) + Qt__Key_Tools Qt__Key = Qt__Key(0x010000f1) + Qt__Key_Travel Qt__Key = Qt__Key(0x010000f2) + Qt__Key_Video Qt__Key = Qt__Key(0x010000f3) + Qt__Key_Word Qt__Key = Qt__Key(0x010000f4) + Qt__Key_Xfer Qt__Key = Qt__Key(0x010000f5) + Qt__Key_ZoomIn Qt__Key = Qt__Key(0x010000f6) + Qt__Key_ZoomOut Qt__Key = Qt__Key(0x010000f7) + Qt__Key_Away Qt__Key = Qt__Key(0x010000f8) + Qt__Key_Messenger Qt__Key = Qt__Key(0x010000f9) + Qt__Key_WebCam Qt__Key = Qt__Key(0x010000fa) + Qt__Key_MailForward Qt__Key = Qt__Key(0x010000fb) + Qt__Key_Pictures Qt__Key = Qt__Key(0x010000fc) + Qt__Key_Music Qt__Key = Qt__Key(0x010000fd) + Qt__Key_Battery Qt__Key = Qt__Key(0x010000fe) + Qt__Key_Bluetooth Qt__Key = Qt__Key(0x010000ff) + Qt__Key_WLAN Qt__Key = Qt__Key(0x01000100) + Qt__Key_UWB Qt__Key = Qt__Key(0x01000101) + Qt__Key_AudioForward Qt__Key = Qt__Key(0x01000102) + Qt__Key_AudioRepeat Qt__Key = Qt__Key(0x01000103) + Qt__Key_AudioRandomPlay Qt__Key = Qt__Key(0x01000104) + Qt__Key_Subtitle Qt__Key = Qt__Key(0x01000105) + Qt__Key_AudioCycleTrack Qt__Key = Qt__Key(0x01000106) + Qt__Key_Time Qt__Key = Qt__Key(0x01000107) + Qt__Key_Hibernate Qt__Key = Qt__Key(0x01000108) + Qt__Key_View Qt__Key = Qt__Key(0x01000109) + Qt__Key_TopMenu Qt__Key = Qt__Key(0x0100010a) + Qt__Key_PowerDown Qt__Key = Qt__Key(0x0100010b) + Qt__Key_Suspend Qt__Key = Qt__Key(0x0100010c) + Qt__Key_ContrastAdjust Qt__Key = Qt__Key(0x0100010d) + Qt__Key_LaunchG Qt__Key = Qt__Key(0x0100010e) + Qt__Key_LaunchH Qt__Key = Qt__Key(0x0100010f) + Qt__Key_TouchpadToggle Qt__Key = Qt__Key(0x01000110) + Qt__Key_TouchpadOn Qt__Key = Qt__Key(0x01000111) + Qt__Key_TouchpadOff Qt__Key = Qt__Key(0x01000112) + Qt__Key_MicMute Qt__Key = Qt__Key(0x01000113) + Qt__Key_Red Qt__Key = Qt__Key(0x01000114) + Qt__Key_Green Qt__Key = Qt__Key(0x01000115) + Qt__Key_Yellow Qt__Key = Qt__Key(0x01000116) + Qt__Key_Blue Qt__Key = Qt__Key(0x01000117) + Qt__Key_ChannelUp Qt__Key = Qt__Key(0x01000118) + Qt__Key_ChannelDown Qt__Key = Qt__Key(0x01000119) + Qt__Key_Guide Qt__Key = Qt__Key(0x0100011a) + Qt__Key_Info Qt__Key = Qt__Key(0x0100011b) + Qt__Key_Settings Qt__Key = Qt__Key(0x0100011c) + Qt__Key_MicVolumeUp Qt__Key = Qt__Key(0x0100011d) + Qt__Key_MicVolumeDown Qt__Key = Qt__Key(0x0100011e) + Qt__Key_New Qt__Key = Qt__Key(0x01000120) + Qt__Key_Open Qt__Key = Qt__Key(0x01000121) + Qt__Key_Find Qt__Key = Qt__Key(0x01000122) + Qt__Key_Undo Qt__Key = Qt__Key(0x01000123) + Qt__Key_Redo Qt__Key = Qt__Key(0x01000124) + Qt__Key_MediaLast Qt__Key = Qt__Key(0x0100ffff) + Qt__Key_Select Qt__Key = Qt__Key(0x01010000) + Qt__Key_Yes Qt__Key = Qt__Key(0x01010001) + Qt__Key_No Qt__Key = Qt__Key(0x01010002) + Qt__Key_Cancel Qt__Key = Qt__Key(0x01020001) + Qt__Key_Printer Qt__Key = Qt__Key(0x01020002) + Qt__Key_Execute Qt__Key = Qt__Key(0x01020003) + Qt__Key_Sleep Qt__Key = Qt__Key(0x01020004) + Qt__Key_Play Qt__Key = Qt__Key(0x01020005) + Qt__Key_Zoom Qt__Key = Qt__Key(0x01020006) + Qt__Key_Exit Qt__Key = Qt__Key(0x0102000a) + Qt__Key_Context1 Qt__Key = Qt__Key(0x01100000) + Qt__Key_Context2 Qt__Key = Qt__Key(0x01100001) + Qt__Key_Context3 Qt__Key = Qt__Key(0x01100002) + Qt__Key_Context4 Qt__Key = Qt__Key(0x01100003) + Qt__Key_Call Qt__Key = Qt__Key(0x01100004) + Qt__Key_Hangup Qt__Key = Qt__Key(0x01100005) + Qt__Key_Flip Qt__Key = Qt__Key(0x01100006) + Qt__Key_ToggleCallHangup Qt__Key = Qt__Key(0x01100007) + Qt__Key_VoiceDial Qt__Key = Qt__Key(0x01100008) + Qt__Key_LastNumberRedial Qt__Key = Qt__Key(0x01100009) + Qt__Key_Camera Qt__Key = Qt__Key(0x01100020) + Qt__Key_CameraFocus Qt__Key = Qt__Key(0x01100021) + Qt__Key_unknown Qt__Key = Qt__Key(0x01ffffff) +) + +//go:generate stringer -type=Qt__ArrowType +//Qt::ArrowType +type Qt__ArrowType int64 + +const ( + Qt__NoArrow Qt__ArrowType = Qt__ArrowType(0) + Qt__UpArrow Qt__ArrowType = Qt__ArrowType(1) + Qt__DownArrow Qt__ArrowType = Qt__ArrowType(2) + Qt__LeftArrow Qt__ArrowType = Qt__ArrowType(3) + Qt__RightArrow Qt__ArrowType = Qt__ArrowType(4) +) + +//go:generate stringer -type=Qt__PenStyle +//Qt::PenStyle +type Qt__PenStyle int64 + +var ( + Qt__NoPen Qt__PenStyle = Qt__PenStyle(0) + Qt__SolidLine Qt__PenStyle = Qt__PenStyle(1) + Qt__DashLine Qt__PenStyle = Qt__PenStyle(2) + Qt__DotLine Qt__PenStyle = Qt__PenStyle(3) + Qt__DashDotLine Qt__PenStyle = Qt__PenStyle(4) + Qt__DashDotDotLine Qt__PenStyle = Qt__PenStyle(5) + Qt__CustomDashLine Qt__PenStyle = Qt__PenStyle(6) + Qt__MPenStyle Qt__PenStyle = Qt__PenStyle(0x0f) +) + +//go:generate stringer -type=Qt__PenCapStyle +//Qt::PenCapStyle +type Qt__PenCapStyle int64 + +var ( + Qt__FlatCap Qt__PenCapStyle = Qt__PenCapStyle(0x00) + Qt__SquareCap Qt__PenCapStyle = Qt__PenCapStyle(0x10) + Qt__RoundCap Qt__PenCapStyle = Qt__PenCapStyle(0x20) + Qt__MPenCapStyle Qt__PenCapStyle = Qt__PenCapStyle(0x30) +) + +//go:generate stringer -type=Qt__PenJoinStyle +//Qt::PenJoinStyle +type Qt__PenJoinStyle int64 + +var ( + Qt__MiterJoin Qt__PenJoinStyle = Qt__PenJoinStyle(0x00) + Qt__BevelJoin Qt__PenJoinStyle = Qt__PenJoinStyle(0x40) + Qt__RoundJoin Qt__PenJoinStyle = Qt__PenJoinStyle(0x80) + Qt__SvgMiterJoin Qt__PenJoinStyle = Qt__PenJoinStyle(0x100) + Qt__MPenJoinStyle Qt__PenJoinStyle = Qt__PenJoinStyle(0x1c0) +) + +//go:generate stringer -type=Qt__BrushStyle +//Qt::BrushStyle +type Qt__BrushStyle int64 + +var ( + Qt__NoBrush Qt__BrushStyle = Qt__BrushStyle(0) + Qt__SolidPattern Qt__BrushStyle = Qt__BrushStyle(1) + Qt__Dense1Pattern Qt__BrushStyle = Qt__BrushStyle(2) + Qt__Dense2Pattern Qt__BrushStyle = Qt__BrushStyle(3) + Qt__Dense3Pattern Qt__BrushStyle = Qt__BrushStyle(4) + Qt__Dense4Pattern Qt__BrushStyle = Qt__BrushStyle(5) + Qt__Dense5Pattern Qt__BrushStyle = Qt__BrushStyle(6) + Qt__Dense6Pattern Qt__BrushStyle = Qt__BrushStyle(7) + Qt__Dense7Pattern Qt__BrushStyle = Qt__BrushStyle(8) + Qt__HorPattern Qt__BrushStyle = Qt__BrushStyle(9) + Qt__VerPattern Qt__BrushStyle = Qt__BrushStyle(10) + Qt__CrossPattern Qt__BrushStyle = Qt__BrushStyle(11) + Qt__BDiagPattern Qt__BrushStyle = Qt__BrushStyle(12) + Qt__FDiagPattern Qt__BrushStyle = Qt__BrushStyle(13) + Qt__DiagCrossPattern Qt__BrushStyle = Qt__BrushStyle(14) + Qt__LinearGradientPattern Qt__BrushStyle = Qt__BrushStyle(15) + Qt__RadialGradientPattern Qt__BrushStyle = Qt__BrushStyle(16) + Qt__ConicalGradientPattern Qt__BrushStyle = Qt__BrushStyle(17) + Qt__TexturePattern Qt__BrushStyle = Qt__BrushStyle(24) +) + +//go:generate stringer -type=Qt__SizeMode +//Qt::SizeMode +type Qt__SizeMode int64 + +const ( + Qt__AbsoluteSize Qt__SizeMode = Qt__SizeMode(0) + Qt__RelativeSize Qt__SizeMode = Qt__SizeMode(1) +) + +//go:generate stringer -type=Qt__UIEffect +//Qt::UIEffect +type Qt__UIEffect int64 + +const ( + Qt__UI_General Qt__UIEffect = Qt__UIEffect(0) + Qt__UI_AnimateMenu Qt__UIEffect = Qt__UIEffect(1) + Qt__UI_FadeMenu Qt__UIEffect = Qt__UIEffect(2) + Qt__UI_AnimateCombo Qt__UIEffect = Qt__UIEffect(3) + Qt__UI_AnimateTooltip Qt__UIEffect = Qt__UIEffect(4) + Qt__UI_FadeTooltip Qt__UIEffect = Qt__UIEffect(5) + Qt__UI_AnimateToolBox Qt__UIEffect = Qt__UIEffect(6) +) + +//go:generate stringer -type=Qt__CursorShape +//Qt::CursorShape +type Qt__CursorShape int64 + +const ( + Qt__ArrowCursor Qt__CursorShape = Qt__CursorShape(0) + Qt__UpArrowCursor Qt__CursorShape = Qt__CursorShape(1) + Qt__CrossCursor Qt__CursorShape = Qt__CursorShape(2) + Qt__WaitCursor Qt__CursorShape = Qt__CursorShape(3) + Qt__IBeamCursor Qt__CursorShape = Qt__CursorShape(4) + Qt__SizeVerCursor Qt__CursorShape = Qt__CursorShape(5) + Qt__SizeHorCursor Qt__CursorShape = Qt__CursorShape(6) + Qt__SizeBDiagCursor Qt__CursorShape = Qt__CursorShape(7) + Qt__SizeFDiagCursor Qt__CursorShape = Qt__CursorShape(8) + Qt__SizeAllCursor Qt__CursorShape = Qt__CursorShape(9) + Qt__BlankCursor Qt__CursorShape = Qt__CursorShape(10) + Qt__SplitVCursor Qt__CursorShape = Qt__CursorShape(11) + Qt__SplitHCursor Qt__CursorShape = Qt__CursorShape(12) + Qt__PointingHandCursor Qt__CursorShape = Qt__CursorShape(13) + Qt__ForbiddenCursor Qt__CursorShape = Qt__CursorShape(14) + Qt__WhatsThisCursor Qt__CursorShape = Qt__CursorShape(15) + Qt__BusyCursor Qt__CursorShape = Qt__CursorShape(16) + Qt__OpenHandCursor Qt__CursorShape = Qt__CursorShape(17) + Qt__ClosedHandCursor Qt__CursorShape = Qt__CursorShape(18) + Qt__DragCopyCursor Qt__CursorShape = Qt__CursorShape(19) + Qt__DragMoveCursor Qt__CursorShape = Qt__CursorShape(20) + Qt__DragLinkCursor Qt__CursorShape = Qt__CursorShape(21) + Qt__LastCursor Qt__CursorShape = Qt__CursorShape(Qt__DragLinkCursor) + Qt__BitmapCursor Qt__CursorShape = Qt__CursorShape(24) + Qt__CustomCursor Qt__CursorShape = Qt__CursorShape(25) +) + +//go:generate stringer -type=Qt__TextFormat +//Qt::TextFormat +type Qt__TextFormat int64 + +const ( + Qt__PlainText Qt__TextFormat = Qt__TextFormat(0) + Qt__RichText Qt__TextFormat = Qt__TextFormat(1) + Qt__AutoText Qt__TextFormat = Qt__TextFormat(2) +) + +//go:generate stringer -type=Qt__AspectRatioMode +//Qt::AspectRatioMode +type Qt__AspectRatioMode int64 + +const ( + Qt__IgnoreAspectRatio Qt__AspectRatioMode = Qt__AspectRatioMode(0) + Qt__KeepAspectRatio Qt__AspectRatioMode = Qt__AspectRatioMode(1) + Qt__KeepAspectRatioByExpanding Qt__AspectRatioMode = Qt__AspectRatioMode(2) +) + +//go:generate stringer -type=Qt__DockWidgetArea +//Qt::DockWidgetArea +type Qt__DockWidgetArea int64 + +const ( + Qt__LeftDockWidgetArea Qt__DockWidgetArea = Qt__DockWidgetArea(0x1) + Qt__RightDockWidgetArea Qt__DockWidgetArea = Qt__DockWidgetArea(0x2) + Qt__TopDockWidgetArea Qt__DockWidgetArea = Qt__DockWidgetArea(0x4) + Qt__BottomDockWidgetArea Qt__DockWidgetArea = Qt__DockWidgetArea(0x8) + Qt__DockWidgetArea_Mask Qt__DockWidgetArea = Qt__DockWidgetArea(0xf) + Qt__AllDockWidgetAreas Qt__DockWidgetArea = Qt__DockWidgetArea(Qt__DockWidgetArea_Mask) + Qt__NoDockWidgetArea Qt__DockWidgetArea = Qt__DockWidgetArea(0) +) + +//go:generate stringer -type=Qt__ToolBarArea +//Qt::ToolBarArea +type Qt__ToolBarArea int64 + +const ( + Qt__LeftToolBarArea Qt__ToolBarArea = Qt__ToolBarArea(0x1) + Qt__RightToolBarArea Qt__ToolBarArea = Qt__ToolBarArea(0x2) + Qt__TopToolBarArea Qt__ToolBarArea = Qt__ToolBarArea(0x4) + Qt__BottomToolBarArea Qt__ToolBarArea = Qt__ToolBarArea(0x8) + Qt__ToolBarArea_Mask Qt__ToolBarArea = Qt__ToolBarArea(0xf) + Qt__AllToolBarAreas Qt__ToolBarArea = Qt__ToolBarArea(Qt__ToolBarArea_Mask) + Qt__NoToolBarArea Qt__ToolBarArea = Qt__ToolBarArea(0) +) + +//go:generate stringer -type=Qt__DateFormat +//Qt::DateFormat +type Qt__DateFormat int64 + +const ( + Qt__TextDate Qt__DateFormat = Qt__DateFormat(0) + Qt__ISODate Qt__DateFormat = Qt__DateFormat(1) + Qt__SystemLocaleDate Qt__DateFormat = Qt__DateFormat(2) + Qt__LocalDate Qt__DateFormat = Qt__DateFormat(Qt__SystemLocaleDate) + Qt__LocaleDate Qt__DateFormat = Qt__DateFormat(3) + Qt__SystemLocaleShortDate Qt__DateFormat = Qt__DateFormat(4) + Qt__SystemLocaleLongDate Qt__DateFormat = Qt__DateFormat(5) + Qt__DefaultLocaleShortDate Qt__DateFormat = Qt__DateFormat(6) + Qt__DefaultLocaleLongDate Qt__DateFormat = Qt__DateFormat(7) + Qt__RFC2822Date Qt__DateFormat = Qt__DateFormat(8) + Qt__ISODateWithMs Qt__DateFormat = Qt__DateFormat(9) +) + +//go:generate stringer -type=Qt__TimeSpec +//Qt::TimeSpec +type Qt__TimeSpec int64 + +const ( + Qt__LocalTime Qt__TimeSpec = Qt__TimeSpec(0) + Qt__UTC Qt__TimeSpec = Qt__TimeSpec(1) + Qt__OffsetFromUTC Qt__TimeSpec = Qt__TimeSpec(2) + Qt__TimeZone Qt__TimeSpec = Qt__TimeSpec(3) +) + +//go:generate stringer -type=Qt__DayOfWeek +//Qt::DayOfWeek +type Qt__DayOfWeek int64 + +const ( + Qt__Monday Qt__DayOfWeek = Qt__DayOfWeek(1) + Qt__Tuesday Qt__DayOfWeek = Qt__DayOfWeek(2) + Qt__Wednesday Qt__DayOfWeek = Qt__DayOfWeek(3) + Qt__Thursday Qt__DayOfWeek = Qt__DayOfWeek(4) + Qt__Friday Qt__DayOfWeek = Qt__DayOfWeek(5) + Qt__Saturday Qt__DayOfWeek = Qt__DayOfWeek(6) + Qt__Sunday Qt__DayOfWeek = Qt__DayOfWeek(7) +) + +//go:generate stringer -type=Qt__ScrollBarPolicy +//Qt::ScrollBarPolicy +type Qt__ScrollBarPolicy int64 + +const ( + Qt__ScrollBarAsNeeded Qt__ScrollBarPolicy = Qt__ScrollBarPolicy(0) + Qt__ScrollBarAlwaysOff Qt__ScrollBarPolicy = Qt__ScrollBarPolicy(1) + Qt__ScrollBarAlwaysOn Qt__ScrollBarPolicy = Qt__ScrollBarPolicy(2) +) + +//go:generate stringer -type=Qt__CaseSensitivity +//Qt::CaseSensitivity +type Qt__CaseSensitivity int64 + +const ( + Qt__CaseInsensitive Qt__CaseSensitivity = Qt__CaseSensitivity(0) + Qt__CaseSensitive Qt__CaseSensitivity = Qt__CaseSensitivity(1) +) + +//go:generate stringer -type=Qt__Corner +//Qt::Corner +type Qt__Corner int64 + +const ( + Qt__TopLeftCorner Qt__Corner = Qt__Corner(0x00000) + Qt__TopRightCorner Qt__Corner = Qt__Corner(0x00001) + Qt__BottomLeftCorner Qt__Corner = Qt__Corner(0x00002) + Qt__BottomRightCorner Qt__Corner = Qt__Corner(0x00003) +) + +//go:generate stringer -type=Qt__Edge +//Qt::Edge +type Qt__Edge int64 + +const ( + Qt__TopEdge Qt__Edge = Qt__Edge(0x00001) + Qt__LeftEdge Qt__Edge = Qt__Edge(0x00002) + Qt__RightEdge Qt__Edge = Qt__Edge(0x00004) + Qt__BottomEdge Qt__Edge = Qt__Edge(0x00008) +) + +//go:generate stringer -type=Qt__ShortcutContext +//Qt::ShortcutContext +type Qt__ShortcutContext int64 + +const ( + Qt__WidgetShortcut Qt__ShortcutContext = Qt__ShortcutContext(0) + Qt__WindowShortcut Qt__ShortcutContext = Qt__ShortcutContext(1) + Qt__ApplicationShortcut Qt__ShortcutContext = Qt__ShortcutContext(2) + Qt__WidgetWithChildrenShortcut Qt__ShortcutContext = Qt__ShortcutContext(3) +) + +//go:generate stringer -type=Qt__ConnectionType +//Qt::ConnectionType +type Qt__ConnectionType int64 + +const ( + Qt__AutoConnection Qt__ConnectionType = Qt__ConnectionType(0) + Qt__DirectConnection Qt__ConnectionType = Qt__ConnectionType(1) + Qt__QueuedConnection Qt__ConnectionType = Qt__ConnectionType(2) + Qt__BlockingQueuedConnection Qt__ConnectionType = Qt__ConnectionType(3) + Qt__UniqueConnection Qt__ConnectionType = Qt__ConnectionType(0x80) +) + +//go:generate stringer -type=Qt__FillRule +//Qt::FillRule +type Qt__FillRule int64 + +const ( + Qt__OddEvenFill Qt__FillRule = Qt__FillRule(0) + Qt__WindingFill Qt__FillRule = Qt__FillRule(1) +) + +//go:generate stringer -type=Qt__MaskMode +//Qt::MaskMode +type Qt__MaskMode int64 + +const ( + Qt__MaskInColor Qt__MaskMode = Qt__MaskMode(0) + Qt__MaskOutColor Qt__MaskMode = Qt__MaskMode(1) +) + +//go:generate stringer -type=Qt__ClipOperation +//Qt::ClipOperation +type Qt__ClipOperation int64 + +const ( + Qt__NoClip Qt__ClipOperation = Qt__ClipOperation(0) + Qt__ReplaceClip Qt__ClipOperation = Qt__ClipOperation(1) + Qt__IntersectClip Qt__ClipOperation = Qt__ClipOperation(2) +) + +//go:generate stringer -type=Qt__ItemSelectionMode +//Qt::ItemSelectionMode +type Qt__ItemSelectionMode int64 + +const ( + Qt__ContainsItemShape Qt__ItemSelectionMode = Qt__ItemSelectionMode(0x0) + Qt__IntersectsItemShape Qt__ItemSelectionMode = Qt__ItemSelectionMode(0x1) + Qt__ContainsItemBoundingRect Qt__ItemSelectionMode = Qt__ItemSelectionMode(0x2) + Qt__IntersectsItemBoundingRect Qt__ItemSelectionMode = Qt__ItemSelectionMode(0x3) +) + +//go:generate stringer -type=Qt__ItemSelectionOperation +//Qt::ItemSelectionOperation +type Qt__ItemSelectionOperation int64 + +const ( + Qt__ReplaceSelection Qt__ItemSelectionOperation = Qt__ItemSelectionOperation(0) + Qt__AddToSelection Qt__ItemSelectionOperation = Qt__ItemSelectionOperation(1) +) + +//go:generate stringer -type=Qt__TransformationMode +//Qt::TransformationMode +type Qt__TransformationMode int64 + +const ( + Qt__FastTransformation Qt__TransformationMode = Qt__TransformationMode(0) + Qt__SmoothTransformation Qt__TransformationMode = Qt__TransformationMode(1) +) + +//go:generate stringer -type=Qt__Axis +//Qt::Axis +type Qt__Axis int64 + +const ( + Qt__XAxis Qt__Axis = Qt__Axis(0) + Qt__YAxis Qt__Axis = Qt__Axis(1) + Qt__ZAxis Qt__Axis = Qt__Axis(2) +) + +//go:generate stringer -type=Qt__FocusReason +//Qt::FocusReason +type Qt__FocusReason int64 + +const ( + Qt__MouseFocusReason Qt__FocusReason = Qt__FocusReason(0) + Qt__TabFocusReason Qt__FocusReason = Qt__FocusReason(1) + Qt__BacktabFocusReason Qt__FocusReason = Qt__FocusReason(2) + Qt__ActiveWindowFocusReason Qt__FocusReason = Qt__FocusReason(3) + Qt__PopupFocusReason Qt__FocusReason = Qt__FocusReason(4) + Qt__ShortcutFocusReason Qt__FocusReason = Qt__FocusReason(5) + Qt__MenuBarFocusReason Qt__FocusReason = Qt__FocusReason(6) + Qt__OtherFocusReason Qt__FocusReason = Qt__FocusReason(7) + Qt__NoFocusReason Qt__FocusReason = Qt__FocusReason(8) +) + +//go:generate stringer -type=Qt__ContextMenuPolicy +//Qt::ContextMenuPolicy +type Qt__ContextMenuPolicy int64 + +const ( + Qt__NoContextMenu Qt__ContextMenuPolicy = Qt__ContextMenuPolicy(0) + Qt__DefaultContextMenu Qt__ContextMenuPolicy = Qt__ContextMenuPolicy(1) + Qt__ActionsContextMenu Qt__ContextMenuPolicy = Qt__ContextMenuPolicy(2) + Qt__CustomContextMenu Qt__ContextMenuPolicy = Qt__ContextMenuPolicy(3) + Qt__PreventContextMenu Qt__ContextMenuPolicy = Qt__ContextMenuPolicy(4) +) + +//go:generate stringer -type=Qt__InputMethodQuery +//Qt::InputMethodQuery +type Qt__InputMethodQuery int64 + +const ( + Qt__ImEnabled Qt__InputMethodQuery = Qt__InputMethodQuery(0x1) + Qt__ImCursorRectangle Qt__InputMethodQuery = Qt__InputMethodQuery(0x2) + Qt__ImMicroFocus Qt__InputMethodQuery = Qt__InputMethodQuery(0x2) + Qt__ImFont Qt__InputMethodQuery = Qt__InputMethodQuery(0x4) + Qt__ImCursorPosition Qt__InputMethodQuery = Qt__InputMethodQuery(0x8) + Qt__ImSurroundingText Qt__InputMethodQuery = Qt__InputMethodQuery(0x10) + Qt__ImCurrentSelection Qt__InputMethodQuery = Qt__InputMethodQuery(0x20) + Qt__ImMaximumTextLength Qt__InputMethodQuery = Qt__InputMethodQuery(0x40) + Qt__ImAnchorPosition Qt__InputMethodQuery = Qt__InputMethodQuery(0x80) + Qt__ImHints Qt__InputMethodQuery = Qt__InputMethodQuery(0x100) + Qt__ImPreferredLanguage Qt__InputMethodQuery = Qt__InputMethodQuery(0x200) + Qt__ImAbsolutePosition Qt__InputMethodQuery = Qt__InputMethodQuery(0x400) + Qt__ImTextBeforeCursor Qt__InputMethodQuery = Qt__InputMethodQuery(0x800) + Qt__ImTextAfterCursor Qt__InputMethodQuery = Qt__InputMethodQuery(0x1000) + Qt__ImEnterKeyType Qt__InputMethodQuery = Qt__InputMethodQuery(0x2000) + Qt__ImAnchorRectangle Qt__InputMethodQuery = Qt__InputMethodQuery(0x4000) + Qt__ImInputItemClipRectangle Qt__InputMethodQuery = Qt__InputMethodQuery(0x8000) + Qt__ImPlatformData Qt__InputMethodQuery = Qt__InputMethodQuery(0x80000000) + Qt__ImQueryAll Qt__InputMethodQuery = Qt__InputMethodQuery(0xffffffff) +) + +//go:generate stringer -type=Qt__InputMethodHint +//Qt::InputMethodHint +type Qt__InputMethodHint int64 + +const ( + Qt__ImhNone Qt__InputMethodHint = Qt__InputMethodHint(0x0) + Qt__ImhHiddenText Qt__InputMethodHint = Qt__InputMethodHint(0x1) + Qt__ImhSensitiveData Qt__InputMethodHint = Qt__InputMethodHint(0x2) + Qt__ImhNoAutoUppercase Qt__InputMethodHint = Qt__InputMethodHint(0x4) + Qt__ImhPreferNumbers Qt__InputMethodHint = Qt__InputMethodHint(0x8) + Qt__ImhPreferUppercase Qt__InputMethodHint = Qt__InputMethodHint(0x10) + Qt__ImhPreferLowercase Qt__InputMethodHint = Qt__InputMethodHint(0x20) + Qt__ImhNoPredictiveText Qt__InputMethodHint = Qt__InputMethodHint(0x40) + Qt__ImhDate Qt__InputMethodHint = Qt__InputMethodHint(0x80) + Qt__ImhTime Qt__InputMethodHint = Qt__InputMethodHint(0x100) + Qt__ImhPreferLatin Qt__InputMethodHint = Qt__InputMethodHint(0x200) + Qt__ImhMultiLine Qt__InputMethodHint = Qt__InputMethodHint(0x400) + Qt__ImhNoEditMenu Qt__InputMethodHint = Qt__InputMethodHint(0x800) + Qt__ImhNoTextHandles Qt__InputMethodHint = Qt__InputMethodHint(0x1000) + Qt__ImhDigitsOnly Qt__InputMethodHint = Qt__InputMethodHint(0x10000) + Qt__ImhFormattedNumbersOnly Qt__InputMethodHint = Qt__InputMethodHint(0x20000) + Qt__ImhUppercaseOnly Qt__InputMethodHint = Qt__InputMethodHint(0x40000) + Qt__ImhLowercaseOnly Qt__InputMethodHint = Qt__InputMethodHint(0x80000) + Qt__ImhDialableCharactersOnly Qt__InputMethodHint = Qt__InputMethodHint(0x100000) + Qt__ImhEmailCharactersOnly Qt__InputMethodHint = Qt__InputMethodHint(0x200000) + Qt__ImhUrlCharactersOnly Qt__InputMethodHint = Qt__InputMethodHint(0x400000) + Qt__ImhLatinOnly Qt__InputMethodHint = Qt__InputMethodHint(0x800000) + Qt__ImhExclusiveInputMask Qt__InputMethodHint = Qt__InputMethodHint(0xffff0000) +) + +//go:generate stringer -type=Qt__EnterKeyType +//Qt::EnterKeyType +type Qt__EnterKeyType int64 + +const ( + Qt__EnterKeyDefault Qt__EnterKeyType = Qt__EnterKeyType(0) + Qt__EnterKeyReturn Qt__EnterKeyType = Qt__EnterKeyType(1) + Qt__EnterKeyDone Qt__EnterKeyType = Qt__EnterKeyType(2) + Qt__EnterKeyGo Qt__EnterKeyType = Qt__EnterKeyType(3) + Qt__EnterKeySend Qt__EnterKeyType = Qt__EnterKeyType(4) + Qt__EnterKeySearch Qt__EnterKeyType = Qt__EnterKeyType(5) + Qt__EnterKeyNext Qt__EnterKeyType = Qt__EnterKeyType(6) + Qt__EnterKeyPrevious Qt__EnterKeyType = Qt__EnterKeyType(7) +) + +//go:generate stringer -type=Qt__ToolButtonStyle +//Qt::ToolButtonStyle +type Qt__ToolButtonStyle int64 + +var ( + Qt__ToolButtonIconOnly Qt__ToolButtonStyle = Qt__ToolButtonStyle(0) + Qt__ToolButtonTextOnly Qt__ToolButtonStyle = Qt__ToolButtonStyle(1) + Qt__ToolButtonTextBesideIcon Qt__ToolButtonStyle = Qt__ToolButtonStyle(2) + Qt__ToolButtonTextUnderIcon Qt__ToolButtonStyle = Qt__ToolButtonStyle(3) + Qt__ToolButtonFollowStyle Qt__ToolButtonStyle = Qt__ToolButtonStyle(4) +) + +//go:generate stringer -type=Qt__LayoutDirection +//Qt::LayoutDirection +type Qt__LayoutDirection int64 + +const ( + Qt__LeftToRight Qt__LayoutDirection = Qt__LayoutDirection(0) + Qt__RightToLeft Qt__LayoutDirection = Qt__LayoutDirection(1) + Qt__LayoutDirectionAuto Qt__LayoutDirection = Qt__LayoutDirection(2) +) + +//go:generate stringer -type=Qt__AnchorPoint +//Qt::AnchorPoint +type Qt__AnchorPoint int64 + +const ( + Qt__AnchorLeft Qt__AnchorPoint = Qt__AnchorPoint(0) + Qt__AnchorHorizontalCenter Qt__AnchorPoint = Qt__AnchorPoint(1) + Qt__AnchorRight Qt__AnchorPoint = Qt__AnchorPoint(2) + Qt__AnchorTop Qt__AnchorPoint = Qt__AnchorPoint(3) + Qt__AnchorVerticalCenter Qt__AnchorPoint = Qt__AnchorPoint(4) + Qt__AnchorBottom Qt__AnchorPoint = Qt__AnchorPoint(5) +) + +//go:generate stringer -type=Qt__FindChildOption +//Qt::FindChildOption +type Qt__FindChildOption int64 + +const ( + Qt__FindDirectChildrenOnly Qt__FindChildOption = Qt__FindChildOption(0x0) + Qt__FindChildrenRecursively Qt__FindChildOption = Qt__FindChildOption(0x1) +) + +//go:generate stringer -type=Qt__DropAction +//Qt::DropAction +type Qt__DropAction int64 + +const ( + Qt__CopyAction Qt__DropAction = Qt__DropAction(0x1) + Qt__MoveAction Qt__DropAction = Qt__DropAction(0x2) + Qt__LinkAction Qt__DropAction = Qt__DropAction(0x4) + Qt__ActionMask Qt__DropAction = Qt__DropAction(0xff) + Qt__TargetMoveAction Qt__DropAction = Qt__DropAction(0x8002) + Qt__IgnoreAction Qt__DropAction = Qt__DropAction(0x0) +) + +//go:generate stringer -type=Qt__CheckState +//Qt::CheckState +type Qt__CheckState int64 + +const ( + Qt__Unchecked Qt__CheckState = Qt__CheckState(0) + Qt__PartiallyChecked Qt__CheckState = Qt__CheckState(1) + Qt__Checked Qt__CheckState = Qt__CheckState(2) +) + +//go:generate stringer -type=Qt__ItemDataRole +//Qt::ItemDataRole +type Qt__ItemDataRole int64 + +const ( + Qt__DisplayRole Qt__ItemDataRole = Qt__ItemDataRole(0) + Qt__DecorationRole Qt__ItemDataRole = Qt__ItemDataRole(1) + Qt__EditRole Qt__ItemDataRole = Qt__ItemDataRole(2) + Qt__ToolTipRole Qt__ItemDataRole = Qt__ItemDataRole(3) + Qt__StatusTipRole Qt__ItemDataRole = Qt__ItemDataRole(4) + Qt__WhatsThisRole Qt__ItemDataRole = Qt__ItemDataRole(5) + Qt__FontRole Qt__ItemDataRole = Qt__ItemDataRole(6) + Qt__TextAlignmentRole Qt__ItemDataRole = Qt__ItemDataRole(7) + Qt__BackgroundRole Qt__ItemDataRole = Qt__ItemDataRole(8) + Qt__ForegroundRole Qt__ItemDataRole = Qt__ItemDataRole(9) + Qt__BackgroundColorRole Qt__ItemDataRole = Qt__ItemDataRole(Qt__BackgroundRole) + Qt__TextColorRole Qt__ItemDataRole = Qt__ItemDataRole(Qt__ForegroundRole) + Qt__CheckStateRole Qt__ItemDataRole = Qt__ItemDataRole(10) + Qt__AccessibleTextRole Qt__ItemDataRole = Qt__ItemDataRole(11) + Qt__AccessibleDescriptionRole Qt__ItemDataRole = Qt__ItemDataRole(12) + Qt__SizeHintRole Qt__ItemDataRole = Qt__ItemDataRole(13) + Qt__InitialSortOrderRole Qt__ItemDataRole = Qt__ItemDataRole(14) + Qt__DisplayPropertyRole Qt__ItemDataRole = Qt__ItemDataRole(27) + Qt__DecorationPropertyRole Qt__ItemDataRole = Qt__ItemDataRole(28) + Qt__ToolTipPropertyRole Qt__ItemDataRole = Qt__ItemDataRole(29) + Qt__StatusTipPropertyRole Qt__ItemDataRole = Qt__ItemDataRole(30) + Qt__WhatsThisPropertyRole Qt__ItemDataRole = Qt__ItemDataRole(31) + Qt__UserRole Qt__ItemDataRole = Qt__ItemDataRole(0x0100) +) + +//go:generate stringer -type=Qt__ItemFlag +//Qt::ItemFlag +type Qt__ItemFlag int64 + +const ( + Qt__NoItemFlags Qt__ItemFlag = Qt__ItemFlag(0) + Qt__ItemIsSelectable Qt__ItemFlag = Qt__ItemFlag(1) + Qt__ItemIsEditable Qt__ItemFlag = Qt__ItemFlag(2) + Qt__ItemIsDragEnabled Qt__ItemFlag = Qt__ItemFlag(4) + Qt__ItemIsDropEnabled Qt__ItemFlag = Qt__ItemFlag(8) + Qt__ItemIsUserCheckable Qt__ItemFlag = Qt__ItemFlag(16) + Qt__ItemIsEnabled Qt__ItemFlag = Qt__ItemFlag(32) + Qt__ItemIsAutoTristate Qt__ItemFlag = Qt__ItemFlag(64) + Qt__ItemIsTristate Qt__ItemFlag = Qt__ItemFlag(Qt__ItemIsAutoTristate) + Qt__ItemNeverHasChildren Qt__ItemFlag = Qt__ItemFlag(128) + Qt__ItemIsUserTristate Qt__ItemFlag = Qt__ItemFlag(256) +) + +//go:generate stringer -type=Qt__MatchFlag +//Qt::MatchFlag +type Qt__MatchFlag int64 + +const ( + Qt__MatchExactly Qt__MatchFlag = Qt__MatchFlag(0) + Qt__MatchContains Qt__MatchFlag = Qt__MatchFlag(1) + Qt__MatchStartsWith Qt__MatchFlag = Qt__MatchFlag(2) + Qt__MatchEndsWith Qt__MatchFlag = Qt__MatchFlag(3) + Qt__MatchRegExp Qt__MatchFlag = Qt__MatchFlag(4) + Qt__MatchWildcard Qt__MatchFlag = Qt__MatchFlag(5) + Qt__MatchFixedString Qt__MatchFlag = Qt__MatchFlag(8) + Qt__MatchCaseSensitive Qt__MatchFlag = Qt__MatchFlag(16) + Qt__MatchWrap Qt__MatchFlag = Qt__MatchFlag(32) + Qt__MatchRecursive Qt__MatchFlag = Qt__MatchFlag(64) +) + +//go:generate stringer -type=Qt__WindowModality +//Qt::WindowModality +type Qt__WindowModality int64 + +const ( + Qt__NonModal Qt__WindowModality = Qt__WindowModality(0) + Qt__WindowModal Qt__WindowModality = Qt__WindowModality(1) + Qt__ApplicationModal Qt__WindowModality = Qt__WindowModality(2) +) + +//go:generate stringer -type=Qt__TextInteractionFlag +//Qt::TextInteractionFlag +type Qt__TextInteractionFlag int64 + +const ( + Qt__NoTextInteraction Qt__TextInteractionFlag = Qt__TextInteractionFlag(0) + Qt__TextSelectableByMouse Qt__TextInteractionFlag = Qt__TextInteractionFlag(1) + Qt__TextSelectableByKeyboard Qt__TextInteractionFlag = Qt__TextInteractionFlag(2) + Qt__LinksAccessibleByMouse Qt__TextInteractionFlag = Qt__TextInteractionFlag(4) + Qt__LinksAccessibleByKeyboard Qt__TextInteractionFlag = Qt__TextInteractionFlag(8) + Qt__TextEditable Qt__TextInteractionFlag = Qt__TextInteractionFlag(16) + Qt__TextEditorInteraction Qt__TextInteractionFlag = Qt__TextInteractionFlag(Qt__TextSelectableByMouse | Qt__TextSelectableByKeyboard | Qt__TextEditable) + Qt__TextBrowserInteraction Qt__TextInteractionFlag = Qt__TextInteractionFlag(Qt__TextSelectableByMouse | Qt__LinksAccessibleByMouse | Qt__LinksAccessibleByKeyboard) +) + +//go:generate stringer -type=Qt__EventPriority +//Qt::EventPriority +type Qt__EventPriority int64 + +const ( + Qt__HighEventPriority Qt__EventPriority = Qt__EventPriority(1) + Qt__NormalEventPriority Qt__EventPriority = Qt__EventPriority(0) + Qt__LowEventPriority Qt__EventPriority = Qt__EventPriority(-1) +) + +//go:generate stringer -type=Qt__SizeHint +//Qt::SizeHint +type Qt__SizeHint int64 + +const ( + Qt__MinimumSize Qt__SizeHint = Qt__SizeHint(0) + Qt__PreferredSize Qt__SizeHint = Qt__SizeHint(1) + Qt__MaximumSize Qt__SizeHint = Qt__SizeHint(2) + Qt__MinimumDescent Qt__SizeHint = Qt__SizeHint(3) + Qt__NSizeHints Qt__SizeHint = Qt__SizeHint(4) +) + +//go:generate stringer -type=Qt__WindowFrameSection +//Qt::WindowFrameSection +type Qt__WindowFrameSection int64 + +const ( + Qt__NoSection Qt__WindowFrameSection = Qt__WindowFrameSection(0) + Qt__LeftSection Qt__WindowFrameSection = Qt__WindowFrameSection(1) + Qt__TopLeftSection Qt__WindowFrameSection = Qt__WindowFrameSection(2) + Qt__TopSection Qt__WindowFrameSection = Qt__WindowFrameSection(3) + Qt__TopRightSection Qt__WindowFrameSection = Qt__WindowFrameSection(4) + Qt__RightSection Qt__WindowFrameSection = Qt__WindowFrameSection(5) + Qt__BottomRightSection Qt__WindowFrameSection = Qt__WindowFrameSection(6) + Qt__BottomSection Qt__WindowFrameSection = Qt__WindowFrameSection(7) + Qt__BottomLeftSection Qt__WindowFrameSection = Qt__WindowFrameSection(8) + Qt__TitleBarArea Qt__WindowFrameSection = Qt__WindowFrameSection(9) +) + +//go:generate stringer -type=Qt__CoordinateSystem +//Qt::CoordinateSystem +type Qt__CoordinateSystem int64 + +const ( + Qt__DeviceCoordinates Qt__CoordinateSystem = Qt__CoordinateSystem(0) + Qt__LogicalCoordinates Qt__CoordinateSystem = Qt__CoordinateSystem(1) +) + +//go:generate stringer -type=Qt__TouchPointState +//Qt::TouchPointState +type Qt__TouchPointState int64 + +const ( + Qt__TouchPointPressed Qt__TouchPointState = Qt__TouchPointState(0x01) + Qt__TouchPointMoved Qt__TouchPointState = Qt__TouchPointState(0x02) + Qt__TouchPointStationary Qt__TouchPointState = Qt__TouchPointState(0x04) + Qt__TouchPointReleased Qt__TouchPointState = Qt__TouchPointState(0x08) +) + +//go:generate stringer -type=Qt__GestureState +//Qt::GestureState +type Qt__GestureState int64 + +const ( + Qt__NoGesture Qt__GestureState = Qt__GestureState(0) + Qt__GestureStarted Qt__GestureState = Qt__GestureState(1) + Qt__GestureUpdated Qt__GestureState = Qt__GestureState(2) + Qt__GestureFinished Qt__GestureState = Qt__GestureState(3) + Qt__GestureCanceled Qt__GestureState = Qt__GestureState(4) +) + +//go:generate stringer -type=Qt__GestureType +//Qt::GestureType +type Qt__GestureType int64 + +var ( + Qt__TapGesture Qt__GestureType = Qt__GestureType(1) + Qt__TapAndHoldGesture Qt__GestureType = Qt__GestureType(2) + Qt__PanGesture Qt__GestureType = Qt__GestureType(3) + Qt__PinchGesture Qt__GestureType = Qt__GestureType(4) + Qt__SwipeGesture Qt__GestureType = Qt__GestureType(5) + Qt__CustomGesture Qt__GestureType = Qt__GestureType(0x0100) + Qt__LastGestureType Qt__GestureType = Qt__GestureType(C.Qt_LastGestureType_Type()) +) + +//go:generate stringer -type=Qt__GestureFlag +//Qt::GestureFlag +type Qt__GestureFlag int64 + +const ( + Qt__DontStartGestureOnChildren Qt__GestureFlag = Qt__GestureFlag(0x01) + Qt__ReceivePartialGestures Qt__GestureFlag = Qt__GestureFlag(0x02) + Qt__IgnoredGesturesPropagateToParent Qt__GestureFlag = Qt__GestureFlag(0x04) +) + +//go:generate stringer -type=Qt__NativeGestureType +//Qt::NativeGestureType +type Qt__NativeGestureType int64 + +const ( + Qt__BeginNativeGesture Qt__NativeGestureType = Qt__NativeGestureType(0) + Qt__EndNativeGesture Qt__NativeGestureType = Qt__NativeGestureType(1) + Qt__PanNativeGesture Qt__NativeGestureType = Qt__NativeGestureType(2) + Qt__ZoomNativeGesture Qt__NativeGestureType = Qt__NativeGestureType(3) + Qt__SmartZoomNativeGesture Qt__NativeGestureType = Qt__NativeGestureType(4) + Qt__RotateNativeGesture Qt__NativeGestureType = Qt__NativeGestureType(5) + Qt__SwipeNativeGesture Qt__NativeGestureType = Qt__NativeGestureType(6) +) + +//go:generate stringer -type=Qt__NavigationMode +//Qt::NavigationMode +type Qt__NavigationMode int64 + +const ( + Qt__NavigationModeNone Qt__NavigationMode = Qt__NavigationMode(0) + Qt__NavigationModeKeypadTabOrder Qt__NavigationMode = Qt__NavigationMode(1) + Qt__NavigationModeKeypadDirectional Qt__NavigationMode = Qt__NavigationMode(2) + Qt__NavigationModeCursorAuto Qt__NavigationMode = Qt__NavigationMode(3) + Qt__NavigationModeCursorForceVisible Qt__NavigationMode = Qt__NavigationMode(4) +) + +//go:generate stringer -type=Qt__CursorMoveStyle +//Qt::CursorMoveStyle +type Qt__CursorMoveStyle int64 + +var ( + Qt__LogicalMoveStyle Qt__CursorMoveStyle = Qt__CursorMoveStyle(0) + Qt__VisualMoveStyle Qt__CursorMoveStyle = Qt__CursorMoveStyle(1) +) + +//go:generate stringer -type=Qt__TimerType +//Qt::TimerType +type Qt__TimerType int64 + +const ( + Qt__PreciseTimer Qt__TimerType = Qt__TimerType(0) + Qt__CoarseTimer Qt__TimerType = Qt__TimerType(1) + Qt__VeryCoarseTimer Qt__TimerType = Qt__TimerType(2) +) + +//go:generate stringer -type=Qt__ScrollPhase +//Qt::ScrollPhase +type Qt__ScrollPhase int64 + +const ( + Qt__NoScrollPhase Qt__ScrollPhase = Qt__ScrollPhase(0) + Qt__ScrollBegin Qt__ScrollPhase = Qt__ScrollPhase(1) + Qt__ScrollUpdate Qt__ScrollPhase = Qt__ScrollPhase(2) + Qt__ScrollEnd Qt__ScrollPhase = Qt__ScrollPhase(3) + Qt__ScrollMomentum Qt__ScrollPhase = Qt__ScrollPhase(4) +) + +//go:generate stringer -type=Qt__MouseEventSource +//Qt::MouseEventSource +type Qt__MouseEventSource int64 + +const ( + Qt__MouseEventNotSynthesized Qt__MouseEventSource = Qt__MouseEventSource(0) + Qt__MouseEventSynthesizedBySystem Qt__MouseEventSource = Qt__MouseEventSource(1) + Qt__MouseEventSynthesizedByQt Qt__MouseEventSource = Qt__MouseEventSource(2) + Qt__MouseEventSynthesizedByApplication Qt__MouseEventSource = Qt__MouseEventSource(3) +) + +//go:generate stringer -type=Qt__MouseEventFlag +//Qt::MouseEventFlag +type Qt__MouseEventFlag int64 + +const ( + Qt__MouseEventCreatedDoubleClick Qt__MouseEventFlag = Qt__MouseEventFlag(0x01) + Qt__MouseEventFlagMask Qt__MouseEventFlag = Qt__MouseEventFlag(0xFF) +) + +//go:generate stringer -type=Qt__ChecksumType +//Qt::ChecksumType +type Qt__ChecksumType int64 + +const ( + Qt__ChecksumIso3309 Qt__ChecksumType = Qt__ChecksumType(0) + Qt__ChecksumItuV41 Qt__ChecksumType = Qt__ChecksumType(1) +) + +func Qt_ConvertFromPlainText(plain string, mode Qt__WhiteSpaceMode) string { + var plainC *C.char + if plain != "" { + plainC = C.CString(plain) + defer C.free(unsafe.Pointer(plainC)) + } + return cGoUnpackString(C.Qt_Qt_ConvertFromPlainText(C.struct_QtCore_PackedString{data: plainC, len: C.longlong(len(plain))}, C.longlong(mode))) +} + +func (ptr *Qt) ConvertFromPlainText(plain string, mode Qt__WhiteSpaceMode) string { + var plainC *C.char + if plain != "" { + plainC = C.CString(plain) + defer C.free(unsafe.Pointer(plainC)) + } + return cGoUnpackString(C.Qt_Qt_ConvertFromPlainText(C.struct_QtCore_PackedString{data: plainC, len: C.longlong(len(plain))}, C.longlong(mode))) +} + +func Qt_MightBeRichText(text string) bool { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return int8(C.Qt_Qt_MightBeRichText(C.struct_QtCore_PackedString{data: textC, len: C.longlong(len(text))})) != 0 +} + +func (ptr *Qt) MightBeRichText(text string) bool { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return int8(C.Qt_Qt_MightBeRichText(C.struct_QtCore_PackedString{data: textC, len: C.longlong(len(text))})) != 0 +} + +type QtGlobal struct { + ptr unsafe.Pointer +} + +type QtGlobal_ITF interface { + QtGlobal_PTR() *QtGlobal +} + +func (ptr *QtGlobal) QtGlobal_PTR() *QtGlobal { + return ptr +} + +func (ptr *QtGlobal) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QtGlobal) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQtGlobal(ptr QtGlobal_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QtGlobal_PTR().Pointer() + } + return nil +} + +func NewQtGlobalFromPointer(ptr unsafe.Pointer) (n *QtGlobal) { + n = new(QtGlobal) + n.SetPointer(ptr) + return +} + +func (ptr *QtGlobal) DestroyQtGlobal() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func QtGlobal_qEnvironmentVariable(varName string) string { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return cGoUnpackString(C.QtGlobal_QtGlobal_qEnvironmentVariable(varNameC)) +} + +func (ptr *QtGlobal) qEnvironmentVariable(varName string) string { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return cGoUnpackString(C.QtGlobal_QtGlobal_qEnvironmentVariable(varNameC)) +} + +func QtGlobal_qEnvironmentVariable2(varName string, defaultValue string) string { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + var defaultValueC *C.char + if defaultValue != "" { + defaultValueC = C.CString(defaultValue) + defer C.free(unsafe.Pointer(defaultValueC)) + } + return cGoUnpackString(C.QtGlobal_QtGlobal_qEnvironmentVariable2(varNameC, C.struct_QtCore_PackedString{data: defaultValueC, len: C.longlong(len(defaultValue))})) +} + +func (ptr *QtGlobal) qEnvironmentVariable2(varName string, defaultValue string) string { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + var defaultValueC *C.char + if defaultValue != "" { + defaultValueC = C.CString(defaultValue) + defer C.free(unsafe.Pointer(defaultValueC)) + } + return cGoUnpackString(C.QtGlobal_QtGlobal_qEnvironmentVariable2(varNameC, C.struct_QtCore_PackedString{data: defaultValueC, len: C.longlong(len(defaultValue))})) +} + +func QtGlobal_qEnvironmentVariableIntValue(varName string, ok *bool) int { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QtGlobal_QtGlobal_qEnvironmentVariableIntValue(varNameC, &okC))) +} + +func (ptr *QtGlobal) qEnvironmentVariableIntValue(varName string, ok *bool) int { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int(int32(C.QtGlobal_QtGlobal_qEnvironmentVariableIntValue(varNameC, &okC))) +} + +func QtGlobal_qEnvironmentVariableIsEmpty(varName string) bool { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return int8(C.QtGlobal_QtGlobal_qEnvironmentVariableIsEmpty(varNameC)) != 0 +} + +func (ptr *QtGlobal) qEnvironmentVariableIsEmpty(varName string) bool { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return int8(C.QtGlobal_QtGlobal_qEnvironmentVariableIsEmpty(varNameC)) != 0 +} + +func QtGlobal_qEnvironmentVariableIsSet(varName string) bool { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return int8(C.QtGlobal_QtGlobal_qEnvironmentVariableIsSet(varNameC)) != 0 +} + +func (ptr *QtGlobal) qEnvironmentVariableIsSet(varName string) bool { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return int8(C.QtGlobal_QtGlobal_qEnvironmentVariableIsSet(varNameC)) != 0 +} + +func QtGlobal_qVersion() string { + return cGoUnpackString(C.QtGlobal_QtGlobal_qVersion()) +} + +func (ptr *QtGlobal) qVersion() string { + return cGoUnpackString(C.QtGlobal_QtGlobal_qVersion()) +} + +func QtGlobal_qgetenv(varName string) *QByteArray { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + tmpValue := NewQByteArrayFromPointer(C.QtGlobal_QtGlobal_qgetenv(varNameC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QtGlobal) qgetenv(varName string) *QByteArray { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + tmpValue := NewQByteArrayFromPointer(C.QtGlobal_QtGlobal_qgetenv(varNameC)) + runtime.SetFinalizer(tmpValue, (*QByteArray).DestroyQByteArray) + return tmpValue +} + +func QtGlobal_qputenv(varName string, value QByteArray_ITF) bool { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return int8(C.QtGlobal_QtGlobal_qputenv(varNameC, PointerFromQByteArray(value))) != 0 +} + +func (ptr *QtGlobal) qputenv(varName string, value QByteArray_ITF) bool { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return int8(C.QtGlobal_QtGlobal_qputenv(varNameC, PointerFromQByteArray(value))) != 0 +} + +func QtGlobal_qunsetenv(varName string) bool { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return int8(C.QtGlobal_QtGlobal_qunsetenv(varNameC)) != 0 +} + +func (ptr *QtGlobal) qunsetenv(varName string) bool { + var varNameC *C.char + if varName != "" { + varNameC = C.CString(varName) + defer C.free(unsafe.Pointer(varNameC)) + } + return int8(C.QtGlobal_QtGlobal_qunsetenv(varNameC)) != 0 +} + +type qfloat16 struct { + ptr unsafe.Pointer +} + +type qfloat16_ITF interface { + qfloat16_PTR() *qfloat16 +} + +func (ptr *qfloat16) qfloat16_PTR() *qfloat16 { + return ptr +} + +func (ptr *qfloat16) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *qfloat16) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQfloat16(ptr qfloat16_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.qfloat16_PTR().Pointer() + } + return nil +} + +func NewQfloat16FromPointer(ptr unsafe.Pointer) (n *qfloat16) { + n = new(qfloat16) + n.SetPointer(ptr) + return +} + +func (ptr *qfloat16) Destroyqfloat16() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} diff --git a/vendor/github.com/therecipe/qt/core/core.h b/vendor/github.com/therecipe/qt/core/core.h new file mode 100644 index 00000000..2edd85d2 --- /dev/null +++ b/vendor/github.com/therecipe/qt/core/core.h @@ -0,0 +1,4169 @@ +// +build !minimal + +#pragma once + +#ifndef GO_QTCORE_H +#define GO_QTCORE_H + +#include + +#ifdef __cplusplus +int QAbstractAnimation_QAbstractAnimation_QRegisterMetaType(); +int QAbstractEventDispatcher_QAbstractEventDispatcher_QRegisterMetaType(); +int QAbstractItemModel_QAbstractItemModel_QRegisterMetaType(); +int QAbstractListModel_QAbstractListModel_QRegisterMetaType(); +int QAbstractProxyModel_QAbstractProxyModel_QRegisterMetaType(); +int QAbstractState_QAbstractState_QRegisterMetaType(); +int QAbstractTableModel_QAbstractTableModel_QRegisterMetaType(); +int QAbstractTransition_QAbstractTransition_QRegisterMetaType(); +int QAnimationGroup_QAnimationGroup_QRegisterMetaType(); +int QBuffer_QBuffer_QRegisterMetaType(); +int QConcatenateTablesProxyModel_QConcatenateTablesProxyModel_QRegisterMetaType(); +int QCoreApplication_QCoreApplication_QRegisterMetaType(); +int QEventLoop_QEventLoop_QRegisterMetaType(); +int QEventTransition_QEventTransition_QRegisterMetaType(); +int QFile_QFile_QRegisterMetaType(); +int QFileDevice_QFileDevice_QRegisterMetaType(); +int QFileSelector_QFileSelector_QRegisterMetaType(); +int QFileSystemWatcher_QFileSystemWatcher_QRegisterMetaType(); +int QFinalState_QFinalState_QRegisterMetaType(); +int QFutureWatcherBase_QFutureWatcherBase_QRegisterMetaType(); +int QHistoryState_QHistoryState_QRegisterMetaType(); +int QIODevice_QIODevice_QRegisterMetaType(); +int QIdentityProxyModel_QIdentityProxyModel_QRegisterMetaType(); +int QItemSelectionModel_QItemSelectionModel_QRegisterMetaType(); +int QLibrary_QLibrary_QRegisterMetaType(); +int QMimeData_QMimeData_QRegisterMetaType(); +int QObject_QObject_QRegisterMetaType(); +int QObjectCleanupHandler_QObjectCleanupHandler_QRegisterMetaType(); +int QParallelAnimationGroup_QParallelAnimationGroup_QRegisterMetaType(); +int QPauseAnimation_QPauseAnimation_QRegisterMetaType(); +int QPluginLoader_QPluginLoader_QRegisterMetaType(); +int QProcess_QProcess_QRegisterMetaType(); +int QPropertyAnimation_QPropertyAnimation_QRegisterMetaType(); +int QSaveFile_QSaveFile_QRegisterMetaType(); +int QSequentialAnimationGroup_QSequentialAnimationGroup_QRegisterMetaType(); +int QSettings_QSettings_QRegisterMetaType(); +int QSharedMemory_QSharedMemory_QRegisterMetaType(); +int QSignalTransition_QSignalTransition_QRegisterMetaType(); +int QSocketNotifier_QSocketNotifier_QRegisterMetaType(); +int QSortFilterProxyModel_QSortFilterProxyModel_QRegisterMetaType(); +int QState_QState_QRegisterMetaType(); +int QStateMachine_QStateMachine_QRegisterMetaType(); +int QStringListModel_QStringListModel_QRegisterMetaType(); +int QTemporaryFile_QTemporaryFile_QRegisterMetaType(); +int QThread_QThread_QRegisterMetaType(); +int QThreadPool_QThreadPool_QRegisterMetaType(); +int QTimeLine_QTimeLine_QRegisterMetaType(); +int QTimer_QTimer_QRegisterMetaType(); +int QTranslator_QTranslator_QRegisterMetaType(); +int QTransposeProxyModel_QTransposeProxyModel_QRegisterMetaType(); +int QVariantAnimation_QVariantAnimation_QRegisterMetaType(); +extern "C" { +#endif + +struct QtCore_PackedString { char* data; long long len; }; +struct QtCore_PackedList { void* data; long long len; }; +void* QAbstractAnimation_NewQAbstractAnimation(void* parent); +int QAbstractAnimation_CurrentLoop(void* ptr); +void QAbstractAnimation_ConnectCurrentLoopChanged(void* ptr, long long t); +void QAbstractAnimation_DisconnectCurrentLoopChanged(void* ptr); +void QAbstractAnimation_CurrentLoopChanged(void* ptr, int currentLoop); +int QAbstractAnimation_CurrentLoopTime(void* ptr); +int QAbstractAnimation_CurrentTime(void* ptr); +long long QAbstractAnimation_Direction(void* ptr); +void QAbstractAnimation_ConnectDirectionChanged(void* ptr, long long t); +void QAbstractAnimation_DisconnectDirectionChanged(void* ptr); +void QAbstractAnimation_DirectionChanged(void* ptr, long long newDirection); +int QAbstractAnimation_Duration(void* ptr); +void QAbstractAnimation_ConnectFinished(void* ptr, long long t); +void QAbstractAnimation_DisconnectFinished(void* ptr); +void QAbstractAnimation_Finished(void* ptr); +void* QAbstractAnimation_Group(void* ptr); +int QAbstractAnimation_LoopCount(void* ptr); +void QAbstractAnimation_Pause(void* ptr); +void QAbstractAnimation_PauseDefault(void* ptr); +void QAbstractAnimation_Resume(void* ptr); +void QAbstractAnimation_ResumeDefault(void* ptr); +void QAbstractAnimation_SetCurrentTime(void* ptr, int msecs); +void QAbstractAnimation_SetCurrentTimeDefault(void* ptr, int msecs); +void QAbstractAnimation_SetDirection(void* ptr, long long direction); +void QAbstractAnimation_SetLoopCount(void* ptr, int loopCount); +void QAbstractAnimation_SetPaused(void* ptr, char paused); +void QAbstractAnimation_SetPausedDefault(void* ptr, char paused); +void QAbstractAnimation_Start(void* ptr, long long policy); +void QAbstractAnimation_StartDefault(void* ptr, long long policy); +long long QAbstractAnimation_State(void* ptr); +void QAbstractAnimation_ConnectStateChanged(void* ptr, long long t); +void QAbstractAnimation_DisconnectStateChanged(void* ptr); +void QAbstractAnimation_StateChanged(void* ptr, long long newState, long long oldState); +void QAbstractAnimation_Stop(void* ptr); +void QAbstractAnimation_StopDefault(void* ptr); +int QAbstractAnimation_TotalDuration(void* ptr); +void QAbstractAnimation_UpdateCurrentTime(void* ptr, int currentTime); +void QAbstractAnimation_UpdateDirection(void* ptr, long long direction); +void QAbstractAnimation_UpdateDirectionDefault(void* ptr, long long direction); +void QAbstractAnimation_UpdateState(void* ptr, long long newState, long long oldState); +void QAbstractAnimation_UpdateStateDefault(void* ptr, long long newState, long long oldState); +void QAbstractAnimation_DestroyQAbstractAnimation(void* ptr); +void QAbstractAnimation_DestroyQAbstractAnimationDefault(void* ptr); +void QAbstractEventDispatcher_ConnectAboutToBlock(void* ptr, long long t); +void QAbstractEventDispatcher_DisconnectAboutToBlock(void* ptr); +void QAbstractEventDispatcher_AboutToBlock(void* ptr); +void QAbstractEventDispatcher_ConnectAwake(void* ptr, long long t); +void QAbstractEventDispatcher_DisconnectAwake(void* ptr); +void QAbstractEventDispatcher_Awake(void* ptr); +char QAbstractEventDispatcher_FilterNativeEvent(void* ptr, void* eventType, void* message, long* result); +void QAbstractEventDispatcher_InstallNativeEventFilter(void* ptr, void* filterObj); +void* QAbstractEventDispatcher_QAbstractEventDispatcher_Instance(void* thread); +void QAbstractEventDispatcher_Interrupt(void* ptr); +char QAbstractEventDispatcher_ProcessEvents(void* ptr, long long flags); +char QAbstractEventDispatcher_RegisterEventNotifier(void* ptr, void* notifier); +void QAbstractEventDispatcher_RegisterSocketNotifier(void* ptr, void* notifier); +int QAbstractEventDispatcher_RegisterTimer3(void* ptr, int interval, long long timerType, void* object); +void QAbstractEventDispatcher_RegisterTimer4(void* ptr, int timerId, int interval, long long timerType, void* object); +int QAbstractEventDispatcher_RemainingTime(void* ptr, int timerId); +void QAbstractEventDispatcher_RemoveNativeEventFilter(void* ptr, void* filter); +void QAbstractEventDispatcher_UnregisterEventNotifier(void* ptr, void* notifier); +void QAbstractEventDispatcher_UnregisterSocketNotifier(void* ptr, void* notifier); +char QAbstractEventDispatcher_UnregisterTimer(void* ptr, int timerId); +char QAbstractEventDispatcher_UnregisterTimers(void* ptr, void* object); +void QAbstractEventDispatcher_WakeUp(void* ptr); +void QAbstractEventDispatcher_DestroyQAbstractEventDispatcher(void* ptr); +void QAbstractEventDispatcher_DestroyQAbstractEventDispatcherDefault(void* ptr); +void* QAbstractItemModel_NewQAbstractItemModel(void* parent); +void QAbstractItemModel_BeginInsertColumns(void* ptr, void* parent, int first, int last); +void QAbstractItemModel_BeginInsertRows(void* ptr, void* parent, int first, int last); +char QAbstractItemModel_BeginMoveColumns(void* ptr, void* sourceParent, int sourceFirst, int sourceLast, void* destinationParent, int destinationChild); +char QAbstractItemModel_BeginMoveRows(void* ptr, void* sourceParent, int sourceFirst, int sourceLast, void* destinationParent, int destinationChild); +void QAbstractItemModel_BeginRemoveColumns(void* ptr, void* parent, int first, int last); +void QAbstractItemModel_BeginRemoveRows(void* ptr, void* parent, int first, int last); +void QAbstractItemModel_BeginResetModel(void* ptr); +void* QAbstractItemModel_Buddy(void* ptr, void* index); +void* QAbstractItemModel_BuddyDefault(void* ptr, void* index); +char QAbstractItemModel_CanDropMimeData(void* ptr, void* data, long long action, int row, int column, void* parent); +char QAbstractItemModel_CanDropMimeDataDefault(void* ptr, void* data, long long action, int row, int column, void* parent); +char QAbstractItemModel_CanFetchMore(void* ptr, void* parent); +char QAbstractItemModel_CanFetchMoreDefault(void* ptr, void* parent); +void QAbstractItemModel_ChangePersistentIndex(void* ptr, void* from, void* to); +void QAbstractItemModel_ChangePersistentIndexList(void* ptr, void* from, void* to); +char QAbstractItemModel_CheckIndex(void* ptr, void* index, long long options); +int QAbstractItemModel_ColumnCount(void* ptr, void* parent); +void QAbstractItemModel_ConnectColumnsAboutToBeInserted(void* ptr, long long t); +void QAbstractItemModel_DisconnectColumnsAboutToBeInserted(void* ptr); +void QAbstractItemModel_ConnectColumnsAboutToBeMoved(void* ptr, long long t); +void QAbstractItemModel_DisconnectColumnsAboutToBeMoved(void* ptr); +void QAbstractItemModel_ConnectColumnsAboutToBeRemoved(void* ptr, long long t); +void QAbstractItemModel_DisconnectColumnsAboutToBeRemoved(void* ptr); +void QAbstractItemModel_ConnectColumnsInserted(void* ptr, long long t); +void QAbstractItemModel_DisconnectColumnsInserted(void* ptr); +void QAbstractItemModel_ConnectColumnsMoved(void* ptr, long long t); +void QAbstractItemModel_DisconnectColumnsMoved(void* ptr); +void QAbstractItemModel_ConnectColumnsRemoved(void* ptr, long long t); +void QAbstractItemModel_DisconnectColumnsRemoved(void* ptr); +void* QAbstractItemModel_CreateIndex(void* ptr, int row, int column, void* p); +void* QAbstractItemModel_CreateIndex2(void* ptr, int row, int column, uintptr_t id); +void* QAbstractItemModel_Data(void* ptr, void* index, int role); +void QAbstractItemModel_ConnectDataChanged(void* ptr, long long t); +void QAbstractItemModel_DisconnectDataChanged(void* ptr); +void QAbstractItemModel_DataChanged(void* ptr, void* topLeft, void* bottomRight, void* roles); +char QAbstractItemModel_DropMimeData(void* ptr, void* data, long long action, int row, int column, void* parent); +char QAbstractItemModel_DropMimeDataDefault(void* ptr, void* data, long long action, int row, int column, void* parent); +void QAbstractItemModel_EndInsertColumns(void* ptr); +void QAbstractItemModel_EndInsertRows(void* ptr); +void QAbstractItemModel_EndMoveColumns(void* ptr); +void QAbstractItemModel_EndMoveRows(void* ptr); +void QAbstractItemModel_EndRemoveColumns(void* ptr); +void QAbstractItemModel_EndRemoveRows(void* ptr); +void QAbstractItemModel_EndResetModel(void* ptr); +void QAbstractItemModel_FetchMore(void* ptr, void* parent); +void QAbstractItemModel_FetchMoreDefault(void* ptr, void* parent); +long long QAbstractItemModel_Flags(void* ptr, void* index); +long long QAbstractItemModel_FlagsDefault(void* ptr, void* index); +char QAbstractItemModel_HasChildren(void* ptr, void* parent); +char QAbstractItemModel_HasChildrenDefault(void* ptr, void* parent); +char QAbstractItemModel_HasIndex(void* ptr, int row, int column, void* parent); +void* QAbstractItemModel_HeaderData(void* ptr, int section, long long orientation, int role); +void* QAbstractItemModel_HeaderDataDefault(void* ptr, int section, long long orientation, int role); +void QAbstractItemModel_ConnectHeaderDataChanged(void* ptr, long long t); +void QAbstractItemModel_DisconnectHeaderDataChanged(void* ptr); +void QAbstractItemModel_HeaderDataChanged(void* ptr, long long orientation, int first, int last); +void* QAbstractItemModel_Index(void* ptr, int row, int column, void* parent); +char QAbstractItemModel_InsertColumn(void* ptr, int column, void* parent); +char QAbstractItemModel_InsertColumns(void* ptr, int column, int count, void* parent); +char QAbstractItemModel_InsertColumnsDefault(void* ptr, int column, int count, void* parent); +char QAbstractItemModel_InsertRow(void* ptr, int row, void* parent); +char QAbstractItemModel_InsertRows(void* ptr, int row, int count, void* parent); +char QAbstractItemModel_InsertRowsDefault(void* ptr, int row, int count, void* parent); +struct QtCore_PackedList QAbstractItemModel_ItemData(void* ptr, void* index); +struct QtCore_PackedList QAbstractItemModel_ItemDataDefault(void* ptr, void* index); +void QAbstractItemModel_ConnectLayoutAboutToBeChanged(void* ptr, long long t); +void QAbstractItemModel_DisconnectLayoutAboutToBeChanged(void* ptr); +void QAbstractItemModel_LayoutAboutToBeChanged(void* ptr, void* parents, long long hint); +void QAbstractItemModel_ConnectLayoutChanged(void* ptr, long long t); +void QAbstractItemModel_DisconnectLayoutChanged(void* ptr); +void QAbstractItemModel_LayoutChanged(void* ptr, void* parents, long long hint); +struct QtCore_PackedList QAbstractItemModel_Match(void* ptr, void* start, int role, void* value, int hits, long long flags); +struct QtCore_PackedList QAbstractItemModel_MatchDefault(void* ptr, void* start, int role, void* value, int hits, long long flags); +void* QAbstractItemModel_MimeData(void* ptr, void* indexes); +void* QAbstractItemModel_MimeDataDefault(void* ptr, void* indexes); +struct QtCore_PackedString QAbstractItemModel_MimeTypes(void* ptr); +struct QtCore_PackedString QAbstractItemModel_MimeTypesDefault(void* ptr); +void QAbstractItemModel_ConnectModelAboutToBeReset(void* ptr, long long t); +void QAbstractItemModel_DisconnectModelAboutToBeReset(void* ptr); +void QAbstractItemModel_ConnectModelReset(void* ptr, long long t); +void QAbstractItemModel_DisconnectModelReset(void* ptr); +char QAbstractItemModel_MoveColumn(void* ptr, void* sourceParent, int sourceColumn, void* destinationParent, int destinationChild); +char QAbstractItemModel_MoveColumns(void* ptr, void* sourceParent, int sourceColumn, int count, void* destinationParent, int destinationChild); +char QAbstractItemModel_MoveColumnsDefault(void* ptr, void* sourceParent, int sourceColumn, int count, void* destinationParent, int destinationChild); +char QAbstractItemModel_MoveRow(void* ptr, void* sourceParent, int sourceRow, void* destinationParent, int destinationChild); +char QAbstractItemModel_MoveRows(void* ptr, void* sourceParent, int sourceRow, int count, void* destinationParent, int destinationChild); +char QAbstractItemModel_MoveRowsDefault(void* ptr, void* sourceParent, int sourceRow, int count, void* destinationParent, int destinationChild); +void* QAbstractItemModel_Parent(void* ptr, void* index); +struct QtCore_PackedList QAbstractItemModel_PersistentIndexList(void* ptr); +char QAbstractItemModel_RemoveColumn(void* ptr, int column, void* parent); +char QAbstractItemModel_RemoveColumns(void* ptr, int column, int count, void* parent); +char QAbstractItemModel_RemoveColumnsDefault(void* ptr, int column, int count, void* parent); +char QAbstractItemModel_RemoveRow(void* ptr, int row, void* parent); +char QAbstractItemModel_RemoveRows(void* ptr, int row, int count, void* parent); +char QAbstractItemModel_RemoveRowsDefault(void* ptr, int row, int count, void* parent); +void QAbstractItemModel_ResetInternalData(void* ptr); +void QAbstractItemModel_ResetInternalDataDefault(void* ptr); +void QAbstractItemModel_Revert(void* ptr); +void QAbstractItemModel_RevertDefault(void* ptr); +struct QtCore_PackedList QAbstractItemModel_RoleNames(void* ptr); +struct QtCore_PackedList QAbstractItemModel_RoleNamesDefault(void* ptr); +int QAbstractItemModel_RowCount(void* ptr, void* parent); +void QAbstractItemModel_ConnectRowsAboutToBeInserted(void* ptr, long long t); +void QAbstractItemModel_DisconnectRowsAboutToBeInserted(void* ptr); +void QAbstractItemModel_ConnectRowsAboutToBeMoved(void* ptr, long long t); +void QAbstractItemModel_DisconnectRowsAboutToBeMoved(void* ptr); +void QAbstractItemModel_ConnectRowsAboutToBeRemoved(void* ptr, long long t); +void QAbstractItemModel_DisconnectRowsAboutToBeRemoved(void* ptr); +void QAbstractItemModel_ConnectRowsInserted(void* ptr, long long t); +void QAbstractItemModel_DisconnectRowsInserted(void* ptr); +void QAbstractItemModel_ConnectRowsMoved(void* ptr, long long t); +void QAbstractItemModel_DisconnectRowsMoved(void* ptr); +void QAbstractItemModel_ConnectRowsRemoved(void* ptr, long long t); +void QAbstractItemModel_DisconnectRowsRemoved(void* ptr); +char QAbstractItemModel_SetData(void* ptr, void* index, void* value, int role); +char QAbstractItemModel_SetDataDefault(void* ptr, void* index, void* value, int role); +char QAbstractItemModel_SetHeaderData(void* ptr, int section, long long orientation, void* value, int role); +char QAbstractItemModel_SetHeaderDataDefault(void* ptr, int section, long long orientation, void* value, int role); +char QAbstractItemModel_SetItemData(void* ptr, void* index, void* roles); +char QAbstractItemModel_SetItemDataDefault(void* ptr, void* index, void* roles); +void* QAbstractItemModel_Sibling(void* ptr, int row, int column, void* index); +void* QAbstractItemModel_SiblingDefault(void* ptr, int row, int column, void* index); +void QAbstractItemModel_Sort(void* ptr, int column, long long order); +void QAbstractItemModel_SortDefault(void* ptr, int column, long long order); +void* QAbstractItemModel_Span(void* ptr, void* index); +void* QAbstractItemModel_SpanDefault(void* ptr, void* index); +char QAbstractItemModel_Submit(void* ptr); +char QAbstractItemModel_SubmitDefault(void* ptr); +long long QAbstractItemModel_SupportedDragActions(void* ptr); +long long QAbstractItemModel_SupportedDragActionsDefault(void* ptr); +long long QAbstractItemModel_SupportedDropActions(void* ptr); +long long QAbstractItemModel_SupportedDropActionsDefault(void* ptr); +void QAbstractItemModel_DestroyQAbstractItemModel(void* ptr); +void QAbstractItemModel_DestroyQAbstractItemModelDefault(void* ptr); +void* QAbstractItemModel___changePersistentIndexList_from_atList(void* ptr, int i); +void QAbstractItemModel___changePersistentIndexList_from_setList(void* ptr, void* i); +void* QAbstractItemModel___changePersistentIndexList_from_newList(void* ptr); +void* QAbstractItemModel___changePersistentIndexList_to_atList(void* ptr, int i); +void QAbstractItemModel___changePersistentIndexList_to_setList(void* ptr, void* i); +void* QAbstractItemModel___changePersistentIndexList_to_newList(void* ptr); +int QAbstractItemModel___dataChanged_roles_atList(void* ptr, int i); +void QAbstractItemModel___dataChanged_roles_setList(void* ptr, int i); +void* QAbstractItemModel___dataChanged_roles_newList(void* ptr); +void* QAbstractItemModel___doSetRoleNames_roleNames_atList(void* ptr, int v, int i); +void QAbstractItemModel___doSetRoleNames_roleNames_setList(void* ptr, int key, void* i); +void* QAbstractItemModel___doSetRoleNames_roleNames_newList(void* ptr); +struct QtCore_PackedList QAbstractItemModel___doSetRoleNames_roleNames_keyList(void* ptr); +void* QAbstractItemModel___encodeData_indexes_atList(void* ptr, int i); +void QAbstractItemModel___encodeData_indexes_setList(void* ptr, void* i); +void* QAbstractItemModel___encodeData_indexes_newList(void* ptr); +void* QAbstractItemModel___itemData_atList(void* ptr, int v, int i); +void QAbstractItemModel___itemData_setList(void* ptr, int key, void* i); +void* QAbstractItemModel___itemData_newList(void* ptr); +struct QtCore_PackedList QAbstractItemModel___itemData_keyList(void* ptr); +void* QAbstractItemModel___layoutAboutToBeChanged_parents_atList(void* ptr, int i); +void QAbstractItemModel___layoutAboutToBeChanged_parents_setList(void* ptr, void* i); +void* QAbstractItemModel___layoutAboutToBeChanged_parents_newList(void* ptr); +void* QAbstractItemModel___layoutChanged_parents_atList(void* ptr, int i); +void QAbstractItemModel___layoutChanged_parents_setList(void* ptr, void* i); +void* QAbstractItemModel___layoutChanged_parents_newList(void* ptr); +void* QAbstractItemModel___match_atList(void* ptr, int i); +void QAbstractItemModel___match_setList(void* ptr, void* i); +void* QAbstractItemModel___match_newList(void* ptr); +void* QAbstractItemModel___mimeData_indexes_atList(void* ptr, int i); +void QAbstractItemModel___mimeData_indexes_setList(void* ptr, void* i); +void* QAbstractItemModel___mimeData_indexes_newList(void* ptr); +void* QAbstractItemModel___persistentIndexList_atList(void* ptr, int i); +void QAbstractItemModel___persistentIndexList_setList(void* ptr, void* i); +void* QAbstractItemModel___persistentIndexList_newList(void* ptr); +void* QAbstractItemModel___roleNames_atList(void* ptr, int v, int i); +void QAbstractItemModel___roleNames_setList(void* ptr, int key, void* i); +void* QAbstractItemModel___roleNames_newList(void* ptr); +struct QtCore_PackedList QAbstractItemModel___roleNames_keyList(void* ptr); +void* QAbstractItemModel___setItemData_roles_atList(void* ptr, int v, int i); +void QAbstractItemModel___setItemData_roles_setList(void* ptr, int key, void* i); +void* QAbstractItemModel___setItemData_roles_newList(void* ptr); +struct QtCore_PackedList QAbstractItemModel___setItemData_roles_keyList(void* ptr); +void* QAbstractItemModel___setRoleNames_roleNames_atList(void* ptr, int v, int i); +void QAbstractItemModel___setRoleNames_roleNames_setList(void* ptr, int key, void* i); +void* QAbstractItemModel___setRoleNames_roleNames_newList(void* ptr); +struct QtCore_PackedList QAbstractItemModel___setRoleNames_roleNames_keyList(void* ptr); +int QAbstractItemModel_____doSetRoleNames_roleNames_keyList_atList(void* ptr, int i); +void QAbstractItemModel_____doSetRoleNames_roleNames_keyList_setList(void* ptr, int i); +void* QAbstractItemModel_____doSetRoleNames_roleNames_keyList_newList(void* ptr); +int QAbstractItemModel_____itemData_keyList_atList(void* ptr, int i); +void QAbstractItemModel_____itemData_keyList_setList(void* ptr, int i); +void* QAbstractItemModel_____itemData_keyList_newList(void* ptr); +int QAbstractItemModel_____roleNames_keyList_atList(void* ptr, int i); +void QAbstractItemModel_____roleNames_keyList_setList(void* ptr, int i); +void* QAbstractItemModel_____roleNames_keyList_newList(void* ptr); +int QAbstractItemModel_____setItemData_roles_keyList_atList(void* ptr, int i); +void QAbstractItemModel_____setItemData_roles_keyList_setList(void* ptr, int i); +void* QAbstractItemModel_____setItemData_roles_keyList_newList(void* ptr); +int QAbstractItemModel_____setRoleNames_roleNames_keyList_atList(void* ptr, int i); +void QAbstractItemModel_____setRoleNames_roleNames_keyList_setList(void* ptr, int i); +void* QAbstractItemModel_____setRoleNames_roleNames_keyList_newList(void* ptr); +void* QAbstractListModel_NewQAbstractListModel(void* parent); +void* QAbstractListModel_Index(void* ptr, int row, int column, void* parent); +void* QAbstractListModel_IndexDefault(void* ptr, int row, int column, void* parent); +void QAbstractListModel_DestroyQAbstractListModel(void* ptr); +void QAbstractListModel_DestroyQAbstractListModelDefault(void* ptr); +int QAbstractListModel_ColumnCount(void* ptr, void* parent); +int QAbstractListModel_ColumnCountDefault(void* ptr, void* parent); +void* QAbstractListModel_Data(void* ptr, void* index, int role); +void* QAbstractListModel_DataDefault(void* ptr, void* index, int role); +void* QAbstractListModel_Parent(void* ptr, void* index); +void* QAbstractListModel_ParentDefault(void* ptr, void* index); +int QAbstractListModel_RowCount(void* ptr, void* parent); +int QAbstractListModel_RowCountDefault(void* ptr, void* parent); +void* QAbstractNativeEventFilter_NewQAbstractNativeEventFilter(); +char QAbstractNativeEventFilter_NativeEventFilter(void* ptr, void* eventType, void* message, long* result); +void QAbstractNativeEventFilter_DestroyQAbstractNativeEventFilter(void* ptr); +void QAbstractNativeEventFilter_DestroyQAbstractNativeEventFilterDefault(void* ptr); +void* QAbstractProxyModel_NewQAbstractProxyModel(void* parent); +void* QAbstractProxyModel_Data(void* ptr, void* proxyIndex, int role); +void* QAbstractProxyModel_DataDefault(void* ptr, void* proxyIndex, int role); +void* QAbstractProxyModel_MapFromSource(void* ptr, void* sourceIndex); +void* QAbstractProxyModel_MapSelectionFromSource(void* ptr, void* sourceSelection); +void* QAbstractProxyModel_MapSelectionFromSourceDefault(void* ptr, void* sourceSelection); +void* QAbstractProxyModel_MapSelectionToSource(void* ptr, void* proxySelection); +void* QAbstractProxyModel_MapSelectionToSourceDefault(void* ptr, void* proxySelection); +void* QAbstractProxyModel_MapToSource(void* ptr, void* proxyIndex); +void QAbstractProxyModel_Revert(void* ptr); +void QAbstractProxyModel_RevertDefault(void* ptr); +void QAbstractProxyModel_SetSourceModel(void* ptr, void* sourceModel); +void QAbstractProxyModel_SetSourceModelDefault(void* ptr, void* sourceModel); +void* QAbstractProxyModel_SourceModel(void* ptr); +void QAbstractProxyModel_ConnectSourceModelChanged(void* ptr, long long t); +void QAbstractProxyModel_DisconnectSourceModelChanged(void* ptr); +char QAbstractProxyModel_Submit(void* ptr); +char QAbstractProxyModel_SubmitDefault(void* ptr); +void QAbstractProxyModel_DestroyQAbstractProxyModel(void* ptr); +void QAbstractProxyModel_DestroyQAbstractProxyModelDefault(void* ptr); +int QAbstractProxyModel_ColumnCount(void* ptr, void* parent); +int QAbstractProxyModel_ColumnCountDefault(void* ptr, void* parent); +void* QAbstractProxyModel_Index(void* ptr, int row, int column, void* parent); +void* QAbstractProxyModel_IndexDefault(void* ptr, int row, int column, void* parent); +void* QAbstractProxyModel_Parent(void* ptr, void* index); +void* QAbstractProxyModel_ParentDefault(void* ptr, void* index); +int QAbstractProxyModel_RowCount(void* ptr, void* parent); +int QAbstractProxyModel_RowCountDefault(void* ptr, void* parent); +void* QAbstractState_NewQAbstractState(void* parent); +char QAbstractState_Active(void* ptr); +void QAbstractState_ConnectActiveChanged(void* ptr, long long t); +void QAbstractState_DisconnectActiveChanged(void* ptr); +void QAbstractState_ActiveChanged(void* ptr, char active); +void QAbstractState_ConnectEntered(void* ptr, long long t); +void QAbstractState_DisconnectEntered(void* ptr); +void QAbstractState_ConnectExited(void* ptr, long long t); +void QAbstractState_DisconnectExited(void* ptr); +void* QAbstractState_Machine(void* ptr); +void QAbstractState_OnEntry(void* ptr, void* event); +void QAbstractState_OnExit(void* ptr, void* event); +void* QAbstractState_ParentState(void* ptr); +void QAbstractState_DestroyQAbstractState(void* ptr); +void QAbstractState_DestroyQAbstractStateDefault(void* ptr); +void* QAbstractTableModel_NewQAbstractTableModel(void* parent); +void* QAbstractTableModel_Index(void* ptr, int row, int column, void* parent); +void* QAbstractTableModel_IndexDefault(void* ptr, int row, int column, void* parent); +void QAbstractTableModel_DestroyQAbstractTableModel(void* ptr); +void QAbstractTableModel_DestroyQAbstractTableModelDefault(void* ptr); +int QAbstractTableModel_ColumnCount(void* ptr, void* parent); +int QAbstractTableModel_ColumnCountDefault(void* ptr, void* parent); +void* QAbstractTableModel_Data(void* ptr, void* index, int role); +void* QAbstractTableModel_DataDefault(void* ptr, void* index, int role); +void* QAbstractTableModel_Parent(void* ptr, void* index); +void* QAbstractTableModel_ParentDefault(void* ptr, void* index); +int QAbstractTableModel_RowCount(void* ptr, void* parent); +int QAbstractTableModel_RowCountDefault(void* ptr, void* parent); +void* QAbstractTransition_NewQAbstractTransition(void* sourceState); +void QAbstractTransition_AddAnimation(void* ptr, void* animation); +struct QtCore_PackedList QAbstractTransition_Animations(void* ptr); +char QAbstractTransition_EventTest(void* ptr, void* event); +void* QAbstractTransition_Machine(void* ptr); +void QAbstractTransition_OnTransition(void* ptr, void* event); +void QAbstractTransition_RemoveAnimation(void* ptr, void* animation); +void QAbstractTransition_SetTargetState(void* ptr, void* target); +void QAbstractTransition_SetTargetStates(void* ptr, void* targets); +void QAbstractTransition_SetTransitionType(void* ptr, long long ty); +void* QAbstractTransition_SourceState(void* ptr); +void* QAbstractTransition_TargetState(void* ptr); +void QAbstractTransition_ConnectTargetStateChanged(void* ptr, long long t); +void QAbstractTransition_DisconnectTargetStateChanged(void* ptr); +struct QtCore_PackedList QAbstractTransition_TargetStates(void* ptr); +void QAbstractTransition_ConnectTargetStatesChanged(void* ptr, long long t); +void QAbstractTransition_DisconnectTargetStatesChanged(void* ptr); +long long QAbstractTransition_TransitionType(void* ptr); +void QAbstractTransition_ConnectTriggered(void* ptr, long long t); +void QAbstractTransition_DisconnectTriggered(void* ptr); +void QAbstractTransition_DestroyQAbstractTransition(void* ptr); +void QAbstractTransition_DestroyQAbstractTransitionDefault(void* ptr); +void* QAbstractTransition___animations_atList(void* ptr, int i); +void QAbstractTransition___animations_setList(void* ptr, void* i); +void* QAbstractTransition___animations_newList(void* ptr); +void* QAbstractTransition___setTargetStates_targets_atList(void* ptr, int i); +void QAbstractTransition___setTargetStates_targets_setList(void* ptr, void* i); +void* QAbstractTransition___setTargetStates_targets_newList(void* ptr); +void* QAbstractTransition___targetStates_atList(void* ptr, int i); +void QAbstractTransition___targetStates_setList(void* ptr, void* i); +void* QAbstractTransition___targetStates_newList(void* ptr); +void* QAnimationGroup_NewQAnimationGroup(void* parent); +void QAnimationGroup_AddAnimation(void* ptr, void* animation); +void* QAnimationGroup_AnimationAt(void* ptr, int index); +int QAnimationGroup_AnimationCount(void* ptr); +void QAnimationGroup_Clear(void* ptr); +int QAnimationGroup_IndexOfAnimation(void* ptr, void* animation); +void QAnimationGroup_InsertAnimation(void* ptr, int index, void* animation); +void QAnimationGroup_RemoveAnimation(void* ptr, void* animation); +void* QAnimationGroup_TakeAnimation(void* ptr, int index); +void QAnimationGroup_DestroyQAnimationGroup(void* ptr); +void QAnimationGroup_DestroyQAnimationGroupDefault(void* ptr); +int QAnimationGroup_Duration(void* ptr); +int QAnimationGroup_DurationDefault(void* ptr); +void QAnimationGroup_UpdateCurrentTime(void* ptr, int currentTime); +void QAnimationGroup_UpdateCurrentTimeDefault(void* ptr, int currentTime); +int QAssociativeIterable_Size(void* ptr); +void* QAssociativeIterable_Value(void* ptr, void* key); +char QBasicMutex_IsRecursive2(void* ptr); +void* QBasicTimer_NewQBasicTimer(); +char QBasicTimer_IsActive(void* ptr); +void QBasicTimer_Start(void* ptr, int msec, void* object); +void QBasicTimer_Start2(void* ptr, int msec, long long timerType, void* obj); +void QBasicTimer_Stop(void* ptr); +int QBasicTimer_TimerId(void* ptr); +void QBasicTimer_DestroyQBasicTimer(void* ptr); +void* QBitArray_NewQBitArray(); +void* QBitArray_NewQBitArray2(int size, char value); +void* QBitArray_NewQBitArray3(void* other); +void* QBitArray_NewQBitArray4(void* other); +char QBitArray_At(void* ptr, int i); +struct QtCore_PackedString QBitArray_Bits(void* ptr); +void QBitArray_Clear(void* ptr); +void QBitArray_ClearBit(void* ptr, int i); +int QBitArray_Count(void* ptr); +int QBitArray_Count2(void* ptr, char on); +char QBitArray_Fill(void* ptr, char value, int size); +void QBitArray_Fill2(void* ptr, char value, int begin, int end); +char QBitArray_IsEmpty(void* ptr); +char QBitArray_IsNull(void* ptr); +void QBitArray_Resize(void* ptr, int size); +void QBitArray_SetBit(void* ptr, int i); +void QBitArray_SetBit2(void* ptr, int i, char value); +int QBitArray_Size(void* ptr); +void QBitArray_Swap(void* ptr, void* other); +char QBitArray_TestBit(void* ptr, int i); +char QBitArray_ToggleBit(void* ptr, int i); +void QBitArray_Truncate(void* ptr, int pos); +void* QBuffer_NewQBuffer(void* parent); +void* QBuffer_NewQBuffer2(void* byteArray, void* parent); +void* QBuffer_Buffer(void* ptr); +void* QBuffer_Buffer2(void* ptr); +void* QBuffer_Data(void* ptr); +long long QBuffer_ReadData(void* ptr, char* data, long long l); +long long QBuffer_ReadDataDefault(void* ptr, char* data, long long l); +void QBuffer_SetBuffer(void* ptr, void* byteArray); +void QBuffer_SetData(void* ptr, void* data); +void QBuffer_SetData2(void* ptr, char* data, int size); +long long QBuffer_WriteData(void* ptr, char* data, long long l); +long long QBuffer_WriteDataDefault(void* ptr, char* data, long long l); +void QBuffer_DestroyQBuffer(void* ptr); +void QBuffer_DestroyQBufferDefault(void* ptr); +void* QByteArray_NewQByteArray(); +void* QByteArray_NewQByteArray2(char* data, int size); +void* QByteArray_NewQByteArray3(int size, char* ch); +void* QByteArray_NewQByteArray4(void* other); +void* QByteArray_Append(void* ptr, void* ba); +void* QByteArray_Append2(void* ptr, char* ch); +void* QByteArray_Append3(void* ptr, int count, char* ch); +void* QByteArray_Append4(void* ptr, char* str); +void* QByteArray_Append5(void* ptr, char* str, int l); +void* QByteArray_Append6(void* ptr, struct QtCore_PackedString str); +struct QtCore_PackedString QByteArray_At(void* ptr, int i); +struct QtCore_PackedString QByteArray_Back(void* ptr); +int QByteArray_Capacity(void* ptr); +void QByteArray_Chop(void* ptr, int n); +void* QByteArray_Chopped(void* ptr, int l); +void QByteArray_Clear(void* ptr); +int QByteArray_Compare(void* ptr, char* c, long long cs); +int QByteArray_Compare2(void* ptr, void* a, long long cs); +struct QtCore_PackedString QByteArray_ConstData(void* ptr); +char QByteArray_Contains(void* ptr, void* ba); +char QByteArray_Contains2(void* ptr, char* ch); +char QByteArray_Contains3(void* ptr, char* str); +int QByteArray_Count(void* ptr, void* ba); +int QByteArray_Count2(void* ptr, char* ch); +int QByteArray_Count3(void* ptr, char* str); +int QByteArray_Count4(void* ptr); +struct QtCore_PackedString QByteArray_Data(void* ptr); +struct QtCore_PackedString QByteArray_Data2(void* ptr); +char QByteArray_EndsWith(void* ptr, void* ba); +char QByteArray_EndsWith2(void* ptr, char* ch); +char QByteArray_EndsWith3(void* ptr, char* str); +void* QByteArray_Fill(void* ptr, char* ch, int size); +void* QByteArray_QByteArray_FromBase64(void* base64); +void* QByteArray_QByteArray_FromBase642(void* base64, long long options); +void* QByteArray_QByteArray_FromHex(void* hexEncoded); +void* QByteArray_QByteArray_FromPercentEncoding(void* input, char* percent); +void* QByteArray_QByteArray_FromRawData(char* data, int size); +struct QtCore_PackedString QByteArray_Front(void* ptr); +int QByteArray_IndexOf(void* ptr, void* ba, int from); +int QByteArray_IndexOf2(void* ptr, char* ch, int from); +int QByteArray_IndexOf3(void* ptr, char* str, int from); +int QByteArray_IndexOf4(void* ptr, struct QtCore_PackedString str, int from); +void* QByteArray_Insert(void* ptr, int i, void* ba); +void* QByteArray_Insert2(void* ptr, int i, char* ch); +void* QByteArray_Insert3(void* ptr, int i, int count, char* ch); +void* QByteArray_Insert4(void* ptr, int i, char* str); +void* QByteArray_Insert5(void* ptr, int i, char* str, int l); +void* QByteArray_Insert6(void* ptr, int i, struct QtCore_PackedString str); +char QByteArray_IsEmpty(void* ptr); +char QByteArray_IsLower(void* ptr); +char QByteArray_IsNull(void* ptr); +char QByteArray_IsUpper(void* ptr); +int QByteArray_LastIndexOf(void* ptr, void* ba, int from); +int QByteArray_LastIndexOf2(void* ptr, char* ch, int from); +int QByteArray_LastIndexOf3(void* ptr, char* str, int from); +int QByteArray_LastIndexOf4(void* ptr, struct QtCore_PackedString str, int from); +void* QByteArray_Left(void* ptr, int l); +void* QByteArray_LeftJustified(void* ptr, int width, char* fill, char truncate); +int QByteArray_Length(void* ptr); +void* QByteArray_Mid(void* ptr, int pos, int l); +void* QByteArray_QByteArray_Number(int n, int base); +void* QByteArray_QByteArray_Number2(unsigned int n, int base); +void* QByteArray_QByteArray_Number3(long long n, int base); +void* QByteArray_QByteArray_Number4(unsigned long long n, int base); +void* QByteArray_QByteArray_Number5(double n, char* ff, int prec); +void* QByteArray_Prepend(void* ptr, void* ba); +void* QByteArray_Prepend2(void* ptr, char* ch); +void* QByteArray_Prepend3(void* ptr, int count, char* ch); +void* QByteArray_Prepend4(void* ptr, char* str); +void* QByteArray_Prepend5(void* ptr, char* str, int l); +void QByteArray_Push_back(void* ptr, void* other); +void QByteArray_Push_back2(void* ptr, char* ch); +void QByteArray_Push_back3(void* ptr, char* str); +void QByteArray_Push_front(void* ptr, void* other); +void QByteArray_Push_front2(void* ptr, char* ch); +void QByteArray_Push_front3(void* ptr, char* str); +void* QByteArray_Remove(void* ptr, int pos, int l); +void* QByteArray_Repeated(void* ptr, int times); +void* QByteArray_Replace(void* ptr, int pos, int l, void* after); +void* QByteArray_Replace2(void* ptr, int pos, int l, char* after); +void* QByteArray_Replace3(void* ptr, int pos, int l, char* after, int alen); +void* QByteArray_Replace4(void* ptr, char* before, char* after); +void* QByteArray_Replace5(void* ptr, char* before, void* after); +void* QByteArray_Replace6(void* ptr, char* before, char* after); +void* QByteArray_Replace7(void* ptr, char* before, int bsize, char* after, int asize); +void* QByteArray_Replace8(void* ptr, void* before, void* after); +void* QByteArray_Replace9(void* ptr, void* before, char* after); +void* QByteArray_Replace10(void* ptr, char* before, void* after); +void* QByteArray_Replace11(void* ptr, char* before, char* after); +void* QByteArray_Replace12(void* ptr, struct QtCore_PackedString before, char* after); +void* QByteArray_Replace13(void* ptr, char* before, struct QtCore_PackedString after); +void* QByteArray_Replace14(void* ptr, struct QtCore_PackedString before, void* after); +void QByteArray_Reserve(void* ptr, int size); +void QByteArray_Resize(void* ptr, int size); +void* QByteArray_Right(void* ptr, int l); +void* QByteArray_RightJustified(void* ptr, int width, char* fill, char truncate); +void* QByteArray_SetNum(void* ptr, int n, int base); +void* QByteArray_SetNum2(void* ptr, short n, int base); +void* QByteArray_SetNum3(void* ptr, unsigned short n, int base); +void* QByteArray_SetNum4(void* ptr, unsigned int n, int base); +void* QByteArray_SetNum5(void* ptr, long long n, int base); +void* QByteArray_SetNum6(void* ptr, unsigned long long n, int base); +void* QByteArray_SetNum7(void* ptr, float n, char* ff, int prec); +void* QByteArray_SetNum8(void* ptr, double n, char* ff, int prec); +void* QByteArray_SetRawData(void* ptr, char* data, unsigned int size); +void QByteArray_Shrink_to_fit(void* ptr); +void* QByteArray_Simplified(void* ptr); +int QByteArray_Size(void* ptr); +struct QtCore_PackedList QByteArray_Split(void* ptr, char* sep); +void QByteArray_Squeeze(void* ptr); +char QByteArray_StartsWith(void* ptr, void* ba); +char QByteArray_StartsWith2(void* ptr, char* ch); +char QByteArray_StartsWith3(void* ptr, char* str); +void QByteArray_Swap(void* ptr, void* other); +void* QByteArray_ToBase64(void* ptr); +void* QByteArray_ToBase642(void* ptr, long long options); +double QByteArray_ToDouble(void* ptr, char* ok); +float QByteArray_ToFloat(void* ptr, char* ok); +void* QByteArray_ToHex(void* ptr); +void* QByteArray_ToHex2(void* ptr, char* separator); +int QByteArray_ToInt(void* ptr, char* ok, int base); +long QByteArray_ToLong(void* ptr, char* ok, int base); +long long QByteArray_ToLongLong(void* ptr, char* ok, int base); +void* QByteArray_ToLower(void* ptr); +void* QByteArray_ToPercentEncoding(void* ptr, void* exclude, void* include, char* percent); +short QByteArray_ToShort(void* ptr, char* ok, int base); +unsigned int QByteArray_ToUInt(void* ptr, char* ok, int base); +unsigned long QByteArray_ToULong(void* ptr, char* ok, int base); +unsigned long long QByteArray_ToULongLong(void* ptr, char* ok, int base); +unsigned short QByteArray_ToUShort(void* ptr, char* ok, int base); +void* QByteArray_ToUpper(void* ptr); +void* QByteArray_Trimmed(void* ptr); +void QByteArray_Truncate(void* ptr, int pos); +void QByteArray_DestroyQByteArray(void* ptr); +void* QByteArray___split_atList(void* ptr, int i); +void QByteArray___split_setList(void* ptr, void* i); +void* QByteArray___split_newList(void* ptr); +int QByteArrayList_IndexOf(void* ptr, char* needle, int from); +void* QByteArrayList_Join(void* ptr); +void* QByteArrayList_Join2(void* ptr, void* separator); +void* QByteArrayList_Join3(void* ptr, char* separator); +void* QByteArrayMatcher_NewQByteArrayMatcher(); +void* QByteArrayMatcher_NewQByteArrayMatcher2(void* pattern); +void* QByteArrayMatcher_NewQByteArrayMatcher3(char* pattern, int length); +void* QByteArrayMatcher_NewQByteArrayMatcher4(void* other); +int QByteArrayMatcher_IndexIn(void* ptr, void* ba, int from); +int QByteArrayMatcher_IndexIn2(void* ptr, char* str, int l, int from); +void* QByteArrayMatcher_Pattern(void* ptr); +void QByteArrayMatcher_SetPattern(void* ptr, void* pattern); +void QByteArrayMatcher_DestroyQByteArrayMatcher(void* ptr); +void* QCborArray_NewQCborArray(); +void* QCborArray_NewQCborArray2(void* other); +void QCborArray_Append(void* ptr, void* value); +void QCborArray_Append2(void* ptr, void* value); +void QCborArray_Clear(void* ptr); +int QCborArray_Compare(void* ptr, void* other); +char QCborArray_Contains(void* ptr, void* value); +char QCborArray_Empty(void* ptr); +void* QCborArray_First(void* ptr); +void* QCborArray_QCborArray_FromJsonArray(void* array); +void* QCborArray_QCborArray_FromStringList(struct QtCore_PackedString list); +void* QCborArray_QCborArray_FromVariantList(void* list); +char QCborArray_IsEmpty(void* ptr); +void* QCborArray_Last(void* ptr); +void QCborArray_Pop_back(void* ptr); +void QCborArray_Pop_front(void* ptr); +void QCborArray_Prepend(void* ptr, void* value); +void QCborArray_Prepend2(void* ptr, void* value); +void QCborArray_Push_back(void* ptr, void* t); +void QCborArray_Push_front(void* ptr, void* t); +void QCborArray_RemoveFirst(void* ptr); +void QCborArray_RemoveLast(void* ptr); +void QCborArray_Swap(void* ptr, void* other); +void* QCborArray_TakeFirst(void* ptr); +void* QCborArray_TakeLast(void* ptr); +void* QCborArray_ToCborValue(void* ptr); +void* QCborArray_ToJsonArray(void* ptr); +struct QtCore_PackedList QCborArray_ToVariantList(void* ptr); +void QCborArray_DestroyQCborArray(void* ptr); +void* QCborArray___fromVariantList_list_atList(void* ptr, int i); +void QCborArray___fromVariantList_list_setList(void* ptr, void* i); +void* QCborArray___fromVariantList_list_newList(void* ptr); +void* QCborArray___toVariantList_atList(void* ptr, int i); +void QCborArray___toVariantList_setList(void* ptr, void* i); +void* QCborArray___toVariantList_newList(void* ptr); +struct QtCore_PackedString QCborError_ToString(void* ptr); +void* QCborMap_NewQCborMap(); +void* QCborMap_NewQCborMap2(void* other); +void QCborMap_Clear(void* ptr); +int QCborMap_Compare(void* ptr, void* other); +char QCborMap_Contains(void* ptr, long long key); +char QCborMap_Contains2(void* ptr, void* key); +char QCborMap_Contains3(void* ptr, struct QtCore_PackedString key); +char QCborMap_Contains4(void* ptr, void* key); +char QCborMap_Empty(void* ptr); +void* QCborMap_QCborMap_FromJsonObject(void* obj); +void* QCborMap_QCborMap_FromVariantHash(void* hash); +char QCborMap_IsEmpty(void* ptr); +struct QtCore_PackedList QCborMap_Keys(void* ptr); +void QCborMap_Remove(void* ptr, long long key); +void QCborMap_Remove2(void* ptr, void* key); +void QCborMap_Remove3(void* ptr, struct QtCore_PackedString key); +void QCborMap_Remove4(void* ptr, void* key); +void QCborMap_Swap(void* ptr, void* other); +void* QCborMap_Take(void* ptr, long long key); +void* QCborMap_Take2(void* ptr, void* key); +void* QCborMap_Take3(void* ptr, struct QtCore_PackedString key); +void* QCborMap_Take4(void* ptr, void* key); +void* QCborMap_ToCborValue(void* ptr); +void* QCborMap_ToJsonObject(void* ptr); +struct QtCore_PackedList QCborMap_ToVariantHash(void* ptr); +struct QtCore_PackedList QCborMap_ToVariantMap(void* ptr); +void* QCborMap_Value(void* ptr, long long key); +void* QCborMap_Value2(void* ptr, void* key); +void* QCborMap_Value3(void* ptr, struct QtCore_PackedString key); +void* QCborMap_Value4(void* ptr, void* key); +void QCborMap_DestroyQCborMap(void* ptr); +void* QCborMap___fromVariantHash_hash_atList(void* ptr, struct QtCore_PackedString v, int i); +void QCborMap___fromVariantHash_hash_setList(void* ptr, struct QtCore_PackedString key, void* i); +void* QCborMap___fromVariantHash_hash_newList(void* ptr); +struct QtCore_PackedList QCborMap___fromVariantHash_hash_keyList(void* ptr); +void* QCborMap___keys_atList(void* ptr, int i); +void QCborMap___keys_setList(void* ptr, void* i); +void* QCborMap___keys_newList(void* ptr); +void* QCborMap___toVariantHash_atList(void* ptr, struct QtCore_PackedString v, int i); +void QCborMap___toVariantHash_setList(void* ptr, struct QtCore_PackedString key, void* i); +void* QCborMap___toVariantHash_newList(void* ptr); +struct QtCore_PackedList QCborMap___toVariantHash_keyList(void* ptr); +void* QCborMap___toVariantMap_atList(void* ptr, struct QtCore_PackedString v, int i); +void QCborMap___toVariantMap_setList(void* ptr, struct QtCore_PackedString key, void* i); +void* QCborMap___toVariantMap_newList(void* ptr); +struct QtCore_PackedList QCborMap___toVariantMap_keyList(void* ptr); +struct QtCore_PackedString QCborMap_____fromVariantHash_hash_keyList_atList(void* ptr, int i); +void QCborMap_____fromVariantHash_hash_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QCborMap_____fromVariantHash_hash_keyList_newList(void* ptr); +struct QtCore_PackedString QCborMap_____fromVariantMap_map_keyList_atList(void* ptr, int i); +void QCborMap_____fromVariantMap_map_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QCborMap_____fromVariantMap_map_keyList_newList(void* ptr); +struct QtCore_PackedString QCborMap_____toVariantHash_keyList_atList(void* ptr, int i); +void QCborMap_____toVariantHash_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QCborMap_____toVariantHash_keyList_newList(void* ptr); +struct QtCore_PackedString QCborMap_____toVariantMap_keyList_atList(void* ptr, int i); +void QCborMap_____toVariantMap_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QCborMap_____toVariantMap_keyList_newList(void* ptr); +struct QtCore_PackedString QCborParserError_ErrorString(void* ptr); +long long QCborParserError_Offset(void* ptr); +void QCborParserError_SetOffset(void* ptr, long long vqi); +void QCborParserError_SetError(void* ptr, void* vqc); +int QCborValue_False_Type(); +int QCborValue_True_Type(); +int QCborValue_Null_Type(); +int QCborValue_Undefined_Type(); +void* QChar_NewQChar(); +void* QChar_NewQChar2(unsigned short code); +void* QChar_NewQChar3(char* cell, char* row); +void* QChar_NewQChar4(short code); +void* QChar_NewQChar5(unsigned int code); +void* QChar_NewQChar6(int code); +void* QChar_NewQChar7(long long ch); +void* QChar_NewQChar8(void* ch); +void* QChar_NewQChar11(char* ch); +void* QChar_NewQChar12(char* ch); +long long QChar_Category(void* ptr); +long long QChar_QChar_Category2(unsigned int ucs4); +struct QtCore_PackedString QChar_Cell(void* ptr); +long long QChar_QChar_CurrentUnicodeVersion(); +struct QtCore_PackedString QChar_Decomposition(void* ptr); +struct QtCore_PackedString QChar_QChar_Decomposition2(unsigned int ucs4); +long long QChar_DecompositionTag(void* ptr); +long long QChar_QChar_DecompositionTag2(unsigned int ucs4); +int QChar_DigitValue(void* ptr); +int QChar_QChar_DigitValue2(unsigned int ucs4); +long long QChar_Direction(void* ptr); +long long QChar_QChar_Direction2(unsigned int ucs4); +void* QChar_QChar_FromLatin1(char* c); +char QChar_HasMirrored(void* ptr); +char QChar_QChar_HasMirrored2(unsigned int ucs4); +unsigned short QChar_QChar_HighSurrogate(unsigned int ucs4); +char QChar_IsDigit(void* ptr); +char QChar_QChar_IsDigit2(unsigned int ucs4); +char QChar_IsHighSurrogate(void* ptr); +char QChar_QChar_IsHighSurrogate2(unsigned int ucs4); +char QChar_IsLetter(void* ptr); +char QChar_QChar_IsLetter2(unsigned int ucs4); +char QChar_IsLetterOrNumber(void* ptr); +char QChar_QChar_IsLetterOrNumber2(unsigned int ucs4); +char QChar_IsLowSurrogate(void* ptr); +char QChar_QChar_IsLowSurrogate2(unsigned int ucs4); +char QChar_IsLower(void* ptr); +char QChar_QChar_IsLower2(unsigned int ucs4); +char QChar_IsMark(void* ptr); +char QChar_QChar_IsMark2(unsigned int ucs4); +char QChar_IsNonCharacter(void* ptr); +char QChar_QChar_IsNonCharacter2(unsigned int ucs4); +char QChar_IsNull(void* ptr); +char QChar_IsNumber(void* ptr); +char QChar_QChar_IsNumber2(unsigned int ucs4); +char QChar_IsPrint(void* ptr); +char QChar_QChar_IsPrint2(unsigned int ucs4); +char QChar_IsPunct(void* ptr); +char QChar_QChar_IsPunct2(unsigned int ucs4); +char QChar_IsSpace(void* ptr); +char QChar_QChar_IsSpace2(unsigned int ucs4); +char QChar_IsSurrogate(void* ptr); +char QChar_QChar_IsSurrogate2(unsigned int ucs4); +char QChar_IsSymbol(void* ptr); +char QChar_QChar_IsSymbol2(unsigned int ucs4); +char QChar_IsTitleCase(void* ptr); +char QChar_QChar_IsTitleCase2(unsigned int ucs4); +char QChar_IsUpper(void* ptr); +char QChar_QChar_IsUpper2(unsigned int ucs4); +long long QChar_JoiningType(void* ptr); +long long QChar_QChar_JoiningType2(unsigned int ucs4); +unsigned short QChar_QChar_LowSurrogate(unsigned int ucs4); +void* QChar_MirroredChar(void* ptr); +unsigned int QChar_QChar_MirroredChar2(unsigned int ucs4); +char QChar_QChar_RequiresSurrogates(unsigned int ucs4); +struct QtCore_PackedString QChar_Row(void* ptr); +long long QChar_Script(void* ptr); +long long QChar_QChar_Script2(unsigned int ucs4); +unsigned int QChar_QChar_SurrogateToUcs4(unsigned short high, unsigned short low); +unsigned int QChar_QChar_SurrogateToUcs42(void* high, void* low); +void* QChar_ToCaseFolded(void* ptr); +unsigned int QChar_QChar_ToCaseFolded2(unsigned int ucs4); +struct QtCore_PackedString QChar_ToLatin1(void* ptr); +void* QChar_ToLower(void* ptr); +unsigned int QChar_QChar_ToLower2(unsigned int ucs4); +void* QChar_ToTitleCase(void* ptr); +unsigned int QChar_QChar_ToTitleCase2(unsigned int ucs4); +void* QChar_ToUpper(void* ptr); +unsigned int QChar_QChar_ToUpper2(unsigned int ucs4); +unsigned short QChar_Unicode(void* ptr); +unsigned short QChar_Unicode2(void* ptr); +long long QChar_UnicodeVersion(void* ptr); +long long QChar_QChar_UnicodeVersion2(unsigned int ucs4); +void* QChildEvent_NewQChildEvent(long long ty, void* child); +char QChildEvent_Added(void* ptr); +void* QChildEvent_Child(void* ptr); +char QChildEvent_Polished(void* ptr); +char QChildEvent_Removed(void* ptr); +void* QCollator_NewQCollator(void* locale); +void* QCollator_NewQCollator2(void* other); +void* QCollator_NewQCollator3(void* other); +long long QCollator_CaseSensitivity(void* ptr); +int QCollator_Compare(void* ptr, struct QtCore_PackedString s1, struct QtCore_PackedString s2); +int QCollator_Compare2(void* ptr, void* s1, void* s2); +int QCollator_Compare3(void* ptr, void* s1, int len1, void* s2, int len2); +char QCollator_IgnorePunctuation(void* ptr); +void* QCollator_Locale(void* ptr); +char QCollator_NumericMode(void* ptr); +void QCollator_SetCaseSensitivity(void* ptr, long long sensitivity); +void QCollator_SetIgnorePunctuation(void* ptr, char on); +void QCollator_SetLocale(void* ptr, void* locale); +void QCollator_SetNumericMode(void* ptr, char on); +void* QCollator_SortKey(void* ptr, struct QtCore_PackedString stri); +void QCollator_Swap(void* ptr, void* other); +void QCollator_DestroyQCollator(void* ptr); +void* QCollatorSortKey_NewQCollatorSortKey(void* other); +int QCollatorSortKey_Compare(void* ptr, void* otherKey); +void QCollatorSortKey_Swap(void* ptr, void* other); +void QCollatorSortKey_DestroyQCollatorSortKey(void* ptr); +void* QCommandLineOption_NewQCommandLineOption(struct QtCore_PackedString name); +void* QCommandLineOption_NewQCommandLineOption2(struct QtCore_PackedString names); +void* QCommandLineOption_NewQCommandLineOption3(struct QtCore_PackedString name, struct QtCore_PackedString description, struct QtCore_PackedString valueName, struct QtCore_PackedString defaultValue); +void* QCommandLineOption_NewQCommandLineOption4(struct QtCore_PackedString names, struct QtCore_PackedString description, struct QtCore_PackedString valueName, struct QtCore_PackedString defaultValue); +void* QCommandLineOption_NewQCommandLineOption5(void* other); +struct QtCore_PackedString QCommandLineOption_DefaultValues(void* ptr); +struct QtCore_PackedString QCommandLineOption_Description(void* ptr); +long long QCommandLineOption_Flags(void* ptr); +struct QtCore_PackedString QCommandLineOption_Names(void* ptr); +void QCommandLineOption_SetDefaultValue(void* ptr, struct QtCore_PackedString defaultValue); +void QCommandLineOption_SetDefaultValues(void* ptr, struct QtCore_PackedString defaultValues); +void QCommandLineOption_SetDescription(void* ptr, struct QtCore_PackedString description); +void QCommandLineOption_SetFlags(void* ptr, long long flags); +void QCommandLineOption_SetValueName(void* ptr, struct QtCore_PackedString valueName); +void QCommandLineOption_Swap(void* ptr, void* other); +struct QtCore_PackedString QCommandLineOption_ValueName(void* ptr); +void QCommandLineOption_DestroyQCommandLineOption(void* ptr); +void* QCommandLineParser_NewQCommandLineParser(); +void* QCommandLineParser_AddHelpOption(void* ptr); +char QCommandLineParser_AddOption(void* ptr, void* option); +char QCommandLineParser_AddOptions(void* ptr, void* options); +void QCommandLineParser_AddPositionalArgument(void* ptr, struct QtCore_PackedString name, struct QtCore_PackedString description, struct QtCore_PackedString syntax); +void* QCommandLineParser_AddVersionOption(void* ptr); +struct QtCore_PackedString QCommandLineParser_ApplicationDescription(void* ptr); +void QCommandLineParser_ClearPositionalArguments(void* ptr); +struct QtCore_PackedString QCommandLineParser_ErrorText(void* ptr); +struct QtCore_PackedString QCommandLineParser_HelpText(void* ptr); +char QCommandLineParser_IsSet(void* ptr, struct QtCore_PackedString name); +char QCommandLineParser_IsSet2(void* ptr, void* option); +struct QtCore_PackedString QCommandLineParser_OptionNames(void* ptr); +char QCommandLineParser_Parse(void* ptr, struct QtCore_PackedString arguments); +struct QtCore_PackedString QCommandLineParser_PositionalArguments(void* ptr); +void QCommandLineParser_Process(void* ptr, struct QtCore_PackedString arguments); +void QCommandLineParser_Process2(void* ptr, void* app); +void QCommandLineParser_SetApplicationDescription(void* ptr, struct QtCore_PackedString description); +void QCommandLineParser_SetOptionsAfterPositionalArgumentsMode(void* ptr, long long parsingMode); +void QCommandLineParser_SetSingleDashWordOptionMode(void* ptr, long long singleDashWordOptionMode); +void QCommandLineParser_ShowHelp(void* ptr, int exitCode); +void QCommandLineParser_ShowVersion(void* ptr); +struct QtCore_PackedString QCommandLineParser_UnknownOptionNames(void* ptr); +struct QtCore_PackedString QCommandLineParser_Value(void* ptr, struct QtCore_PackedString optionName); +struct QtCore_PackedString QCommandLineParser_Value2(void* ptr, void* option); +struct QtCore_PackedString QCommandLineParser_Values(void* ptr, struct QtCore_PackedString optionName); +struct QtCore_PackedString QCommandLineParser_Values2(void* ptr, void* option); +void QCommandLineParser_DestroyQCommandLineParser(void* ptr); +void* QCommandLineParser___addOptions_options_atList(void* ptr, int i); +void QCommandLineParser___addOptions_options_setList(void* ptr, void* i); +void* QCommandLineParser___addOptions_options_newList(void* ptr); +void* QConcatenateTablesProxyModel_NewQConcatenateTablesProxyModel(void* parent); +void QConcatenateTablesProxyModel_AddSourceModel(void* ptr, void* sourceModel); +int QConcatenateTablesProxyModel_ColumnCount(void* ptr, void* parent); +int QConcatenateTablesProxyModel_ColumnCountDefault(void* ptr, void* parent); +void* QConcatenateTablesProxyModel_Data(void* ptr, void* index, int role); +void* QConcatenateTablesProxyModel_DataDefault(void* ptr, void* index, int role); +void* QConcatenateTablesProxyModel_Index(void* ptr, int row, int column, void* parent); +void* QConcatenateTablesProxyModel_IndexDefault(void* ptr, int row, int column, void* parent); +void* QConcatenateTablesProxyModel_MapFromSource(void* ptr, void* sourceIndex); +void* QConcatenateTablesProxyModel_MapToSource(void* ptr, void* proxyIndex); +void* QConcatenateTablesProxyModel_Parent(void* ptr, void* index); +void* QConcatenateTablesProxyModel_ParentDefault(void* ptr, void* index); +void QConcatenateTablesProxyModel_RemoveSourceModel(void* ptr, void* sourceModel); +int QConcatenateTablesProxyModel_RowCount(void* ptr, void* parent); +int QConcatenateTablesProxyModel_RowCountDefault(void* ptr, void* parent); +void QConcatenateTablesProxyModel_DestroyQConcatenateTablesProxyModel(void* ptr); +void QConcatenateTablesProxyModel_DestroyQConcatenateTablesProxyModelDefault(void* ptr); +void* QCoreApplication_NewQCoreApplication(int argc, char* argv); +void QCoreApplication_ConnectAboutToQuit(void* ptr, long long t); +void QCoreApplication_DisconnectAboutToQuit(void* ptr); +void QCoreApplication_QCoreApplication_AddLibraryPath(struct QtCore_PackedString path); +struct QtCore_PackedString QCoreApplication_QCoreApplication_ApplicationDirPath(); +struct QtCore_PackedString QCoreApplication_QCoreApplication_ApplicationFilePath(); +struct QtCore_PackedString QCoreApplication_QCoreApplication_ApplicationName(); +void QCoreApplication_ConnectApplicationNameChanged(void* ptr, long long t); +void QCoreApplication_DisconnectApplicationNameChanged(void* ptr); +void QCoreApplication_ApplicationNameChanged(void* ptr); +long long QCoreApplication_QCoreApplication_ApplicationPid(); +struct QtCore_PackedString QCoreApplication_QCoreApplication_ApplicationVersion(); +void QCoreApplication_ConnectApplicationVersionChanged(void* ptr, long long t); +void QCoreApplication_DisconnectApplicationVersionChanged(void* ptr); +void QCoreApplication_ApplicationVersionChanged(void* ptr); +struct QtCore_PackedString QCoreApplication_QCoreApplication_Arguments(); +char QCoreApplication_QCoreApplication_ClosingDown(); +void* QCoreApplication_QCoreApplication_EventDispatcher(); +int QCoreApplication_QCoreApplication_Exec(); +void QCoreApplication_QCoreApplication_Exit(int returnCode); +void QCoreApplication_InstallNativeEventFilter(void* ptr, void* filterObj); +char QCoreApplication_QCoreApplication_InstallTranslator(void* translationFile); +void* QCoreApplication_QCoreApplication_Instance(); +char QCoreApplication_QCoreApplication_IsQuitLockEnabled(); +char QCoreApplication_QCoreApplication_IsSetuidAllowed(); +struct QtCore_PackedString QCoreApplication_QCoreApplication_LibraryPaths(); +struct QtCore_PackedString QCoreApplication_QCoreApplication_OrganizationDomain(); +void QCoreApplication_ConnectOrganizationDomainChanged(void* ptr, long long t); +void QCoreApplication_DisconnectOrganizationDomainChanged(void* ptr); +void QCoreApplication_OrganizationDomainChanged(void* ptr); +struct QtCore_PackedString QCoreApplication_QCoreApplication_OrganizationName(); +void QCoreApplication_ConnectOrganizationNameChanged(void* ptr, long long t); +void QCoreApplication_DisconnectOrganizationNameChanged(void* ptr); +void QCoreApplication_OrganizationNameChanged(void* ptr); +void QCoreApplication_QCoreApplication_PostEvent(void* receiver, void* event, int priority); +void QCoreApplication_QCoreApplication_ProcessEvents(long long flags); +void QCoreApplication_QCoreApplication_ProcessEvents2(long long flags, int ms); +void QCoreApplication_Quit(void* ptr); +void QCoreApplication_QuitDefault(void* ptr); +void QCoreApplication_QCoreApplication_RemoveLibraryPath(struct QtCore_PackedString path); +void QCoreApplication_RemoveNativeEventFilter(void* ptr, void* filterObject); +void QCoreApplication_QCoreApplication_RemovePostedEvents(void* receiver, int eventType); +char QCoreApplication_QCoreApplication_RemoveTranslator(void* translationFile); +char QCoreApplication_QCoreApplication_SendEvent(void* receiver, void* event); +void QCoreApplication_QCoreApplication_SendPostedEvents(void* receiver, int event_type); +void QCoreApplication_QCoreApplication_SetApplicationName(struct QtCore_PackedString application); +void QCoreApplication_QCoreApplication_SetApplicationVersion(struct QtCore_PackedString version); +void QCoreApplication_QCoreApplication_SetAttribute(long long attribute, char on); +void QCoreApplication_QCoreApplication_SetEventDispatcher(void* eventDispatcher); +void QCoreApplication_QCoreApplication_SetLibraryPaths(struct QtCore_PackedString paths); +void QCoreApplication_QCoreApplication_SetOrganizationDomain(struct QtCore_PackedString orgDomain); +void QCoreApplication_QCoreApplication_SetOrganizationName(struct QtCore_PackedString orgName); +void QCoreApplication_QCoreApplication_SetQuitLockEnabled(char enabled); +void QCoreApplication_QCoreApplication_SetSetuidAllowed(char allow); +char QCoreApplication_QCoreApplication_StartingUp(); +char QCoreApplication_QCoreApplication_TestAttribute(long long attribute); +struct QtCore_PackedString QCoreApplication_QCoreApplication_Translate(char* context, char* sourceText, char* disambiguation, int n); +void QCoreApplication_DestroyQCoreApplication(void* ptr); +void QCoreApplication_DestroyQCoreApplicationDefault(void* ptr); +void* QCryptographicHash_NewQCryptographicHash(long long method); +void QCryptographicHash_AddData(void* ptr, char* data, int length); +void QCryptographicHash_AddData2(void* ptr, void* data); +char QCryptographicHash_AddData3(void* ptr, void* device); +void* QCryptographicHash_QCryptographicHash_Hash(void* data, long long method); +int QCryptographicHash_QCryptographicHash_HashLength(long long method); +void QCryptographicHash_Reset(void* ptr); +void* QCryptographicHash_Result(void* ptr); +void QCryptographicHash_DestroyQCryptographicHash(void* ptr); +void* QDataStream_NewQDataStream(); +void* QDataStream_NewQDataStream2(void* d); +void* QDataStream_NewQDataStream3(void* a, long long mode); +void* QDataStream_NewQDataStream4(void* a); +void QDataStream_AbortTransaction(void* ptr); +char QDataStream_AtEnd(void* ptr); +long long QDataStream_ByteOrder(void* ptr); +char QDataStream_CommitTransaction(void* ptr); +void* QDataStream_Device(void* ptr); +long long QDataStream_FloatingPointPrecision(void* ptr); +int QDataStream_ReadRawData(void* ptr, char* s, int l); +void QDataStream_ResetStatus(void* ptr); +void QDataStream_RollbackTransaction(void* ptr); +void QDataStream_SetByteOrder(void* ptr, long long bo); +void QDataStream_SetDevice(void* ptr, void* d); +void QDataStream_SetFloatingPointPrecision(void* ptr, long long precision); +void QDataStream_SetStatus(void* ptr, long long status); +void QDataStream_SetVersion(void* ptr, int v); +int QDataStream_SkipRawData(void* ptr, int l); +void QDataStream_StartTransaction(void* ptr); +long long QDataStream_Status(void* ptr); +int QDataStream_Version(void* ptr); +int QDataStream_WriteRawData(void* ptr, char* s, int l); +void QDataStream_DestroyQDataStream(void* ptr); +void* QDate_NewQDate2(); +void* QDate_NewQDate3(int y, int m, int d); +void* QDate_AddDays(void* ptr, long long ndays); +void* QDate_AddMonths(void* ptr, int nmonths); +void* QDate_AddYears(void* ptr, int nyears); +void* QDate_QDate_CurrentDate(); +int QDate_Day(void* ptr); +int QDate_DayOfWeek(void* ptr); +int QDate_DayOfYear(void* ptr); +int QDate_DaysInMonth(void* ptr); +int QDate_DaysInYear(void* ptr); +long long QDate_DaysTo(void* ptr, void* d); +void* QDate_QDate_FromJulianDay(long long jd); +void* QDate_QDate_FromString(struct QtCore_PackedString stri, long long format); +void* QDate_QDate_FromString2(struct QtCore_PackedString stri, struct QtCore_PackedString format); +void QDate_GetDate(void* ptr, int year, int month, int day); +char QDate_QDate_IsLeapYear(int year); +char QDate_IsNull(void* ptr); +char QDate_IsValid(void* ptr); +char QDate_QDate_IsValid2(int year, int month, int day); +int QDate_Month(void* ptr); +char QDate_SetDate(void* ptr, int year, int month, int day); +long long QDate_ToJulianDay(void* ptr); +struct QtCore_PackedString QDate_ToString(void* ptr, struct QtCore_PackedString format); +struct QtCore_PackedString QDate_ToString2(void* ptr, long long format); +struct QtCore_PackedString QDate_ToString3(void* ptr, void* format); +int QDate_WeekNumber(void* ptr, int yearNumber); +int QDate_Year(void* ptr); +void* QDateTime_NewQDateTime(); +void* QDateTime_NewQDateTime2(void* date); +void* QDateTime_NewQDateTime3(void* date, void* ti, long long spec); +void* QDateTime_NewQDateTime4(void* date, void* ti, long long spec, int offsetSeconds); +void* QDateTime_NewQDateTime5(void* date, void* ti, void* timeZone); +void* QDateTime_NewQDateTime6(void* other); +void* QDateTime_NewQDateTime7(void* other); +void* QDateTime_AddDays(void* ptr, long long ndays); +void* QDateTime_AddMSecs(void* ptr, long long msecs); +void* QDateTime_AddMonths(void* ptr, int nmonths); +void* QDateTime_AddSecs(void* ptr, long long s); +void* QDateTime_AddYears(void* ptr, int nyears); +void* QDateTime_QDateTime_CurrentDateTime(); +void* QDateTime_QDateTime_CurrentDateTimeUtc(); +long long QDateTime_QDateTime_CurrentMSecsSinceEpoch(); +long long QDateTime_QDateTime_CurrentSecsSinceEpoch(); +void* QDateTime_Date(void* ptr); +long long QDateTime_DaysTo(void* ptr, void* other); +void* QDateTime_QDateTime_FromMSecsSinceEpoch(long long msecs); +void* QDateTime_QDateTime_FromMSecsSinceEpoch2(long long msecs, long long spec, int offsetSeconds); +void* QDateTime_QDateTime_FromMSecsSinceEpoch3(long long msecs, void* timeZone); +void* QDateTime_QDateTime_FromSecsSinceEpoch(long long secs, long long spec, int offsetSeconds); +void* QDateTime_QDateTime_FromSecsSinceEpoch2(long long secs, void* timeZone); +void* QDateTime_QDateTime_FromString(struct QtCore_PackedString stri, long long format); +void* QDateTime_QDateTime_FromString2(struct QtCore_PackedString stri, struct QtCore_PackedString format); +char QDateTime_IsDaylightTime(void* ptr); +char QDateTime_IsNull(void* ptr); +char QDateTime_IsValid(void* ptr); +long long QDateTime_MsecsTo(void* ptr, void* other); +int QDateTime_OffsetFromUtc(void* ptr); +long long QDateTime_SecsTo(void* ptr, void* other); +void QDateTime_SetDate(void* ptr, void* date); +void QDateTime_SetMSecsSinceEpoch(void* ptr, long long msecs); +void QDateTime_SetOffsetFromUtc(void* ptr, int offsetSeconds); +void QDateTime_SetSecsSinceEpoch(void* ptr, long long secs); +void QDateTime_SetTime(void* ptr, void* ti); +void QDateTime_SetTimeSpec(void* ptr, long long spec); +void QDateTime_SetTimeZone(void* ptr, void* toZone); +void QDateTime_Swap(void* ptr, void* other); +void* QDateTime_Time(void* ptr); +long long QDateTime_TimeSpec(void* ptr); +void* QDateTime_TimeZone(void* ptr); +struct QtCore_PackedString QDateTime_TimeZoneAbbreviation(void* ptr); +void* QDateTime_ToLocalTime(void* ptr); +long long QDateTime_ToMSecsSinceEpoch(void* ptr); +void* QDateTime_ToOffsetFromUtc(void* ptr, int offsetSeconds); +long long QDateTime_ToSecsSinceEpoch(void* ptr); +struct QtCore_PackedString QDateTime_ToString(void* ptr, struct QtCore_PackedString format); +struct QtCore_PackedString QDateTime_ToString2(void* ptr, long long format); +struct QtCore_PackedString QDateTime_ToString3(void* ptr, void* format); +void* QDateTime_ToTimeSpec(void* ptr, long long spec); +void* QDateTime_ToTimeZone(void* ptr, void* timeZone); +void* QDateTime_ToUTC(void* ptr); +void QDateTime_DestroyQDateTime(void* ptr); +void* QDeadlineTimer_NewQDeadlineTimer(long long timerType); +void* QDeadlineTimer_NewQDeadlineTimer2(long long vqd, long long timerType); +void* QDeadlineTimer_NewQDeadlineTimer3(long long msecs, long long ty); +long long QDeadlineTimer_Deadline(void* ptr); +long long QDeadlineTimer_DeadlineNSecs(void* ptr); +char QDeadlineTimer_HasExpired(void* ptr); +char QDeadlineTimer_IsForever(void* ptr); +long long QDeadlineTimer_RemainingTime(void* ptr); +long long QDeadlineTimer_RemainingTimeNSecs(void* ptr); +void QDeadlineTimer_SetDeadline(void* ptr, long long msecs, long long timerType); +void QDeadlineTimer_SetPreciseDeadline(void* ptr, long long secs, long long nsecs, long long timerType); +void QDeadlineTimer_SetPreciseRemainingTime(void* ptr, long long secs, long long nsecs, long long timerType); +void QDeadlineTimer_SetRemainingTime(void* ptr, long long msecs, long long timerType); +void QDeadlineTimer_SetTimerType(void* ptr, long long timerType); +void QDeadlineTimer_Swap(void* ptr, void* other); +long long QDeadlineTimer_TimerType(void* ptr); +void* QDebug_NewQDebug(void* device); +void* QDebug_NewQDebug2(struct QtCore_PackedString stri); +void* QDebug_NewQDebug4(void* o); +char QDebug_AutoInsertSpaces(void* ptr); +void* QDebug_MaybeQuote(void* ptr, char* c); +void* QDebug_MaybeSpace(void* ptr); +void* QDebug_Noquote(void* ptr); +void* QDebug_Nospace(void* ptr); +void* QDebug_Quote(void* ptr); +void* QDebug_ResetFormat(void* ptr); +void QDebug_SetAutoInsertSpaces(void* ptr, char b); +void QDebug_SetVerbosity(void* ptr, int verbosityLevel); +void* QDebug_Space(void* ptr); +void QDebug_Swap(void* ptr, void* other); +void* QDebug_Verbosity(void* ptr, int verbosityLevel); +int QDebug_Verbosity2(void* ptr); +void QDebug_DestroyQDebug(void* ptr); +void* QDebugStateSaver_NewQDebugStateSaver(void* dbg); +void QDebugStateSaver_DestroyQDebugStateSaver(void* ptr); +void* QDeferredDeleteEvent_NewQDeferredDeleteEvent(); +int QDeferredDeleteEvent_LoopLevel(void* ptr); +void* QDir_NewQDir(void* dir); +void* QDir_NewQDir2(struct QtCore_PackedString path); +void* QDir_NewQDir3(struct QtCore_PackedString path, struct QtCore_PackedString nameFilter, long long sort, long long filters); +struct QtCore_PackedString QDir_AbsoluteFilePath(void* ptr, struct QtCore_PackedString fileName); +struct QtCore_PackedString QDir_AbsolutePath(void* ptr); +void QDir_QDir_AddSearchPath(struct QtCore_PackedString prefix, struct QtCore_PackedString path); +struct QtCore_PackedString QDir_CanonicalPath(void* ptr); +char QDir_Cd(void* ptr, struct QtCore_PackedString dirName); +char QDir_CdUp(void* ptr); +struct QtCore_PackedString QDir_QDir_CleanPath(struct QtCore_PackedString path); +unsigned int QDir_Count(void* ptr); +void* QDir_QDir_Current(); +struct QtCore_PackedString QDir_QDir_CurrentPath(); +struct QtCore_PackedString QDir_DirName(void* ptr); +struct QtCore_PackedList QDir_QDir_Drives(); +struct QtCore_PackedList QDir_EntryInfoList(void* ptr, struct QtCore_PackedString nameFilters, long long filters, long long sort); +struct QtCore_PackedList QDir_EntryInfoList2(void* ptr, long long filters, long long sort); +struct QtCore_PackedString QDir_EntryList(void* ptr, struct QtCore_PackedString nameFilters, long long filters, long long sort); +struct QtCore_PackedString QDir_EntryList2(void* ptr, long long filters, long long sort); +char QDir_Exists(void* ptr, struct QtCore_PackedString name); +char QDir_Exists2(void* ptr); +struct QtCore_PackedString QDir_FilePath(void* ptr, struct QtCore_PackedString fileName); +long long QDir_Filter(void* ptr); +struct QtCore_PackedString QDir_QDir_FromNativeSeparators(struct QtCore_PackedString pathName); +void* QDir_QDir_Home(); +struct QtCore_PackedString QDir_QDir_HomePath(); +char QDir_IsAbsolute(void* ptr); +char QDir_QDir_IsAbsolutePath(struct QtCore_PackedString path); +char QDir_IsEmpty(void* ptr, long long filters); +char QDir_IsReadable(void* ptr); +char QDir_IsRelative(void* ptr); +char QDir_QDir_IsRelativePath(struct QtCore_PackedString path); +char QDir_IsRoot(void* ptr); +void* QDir_QDir_ListSeparator(); +char QDir_MakeAbsolute(void* ptr); +char QDir_QDir_Match(struct QtCore_PackedString filter, struct QtCore_PackedString fileName); +char QDir_QDir_Match2(struct QtCore_PackedString filters, struct QtCore_PackedString fileName); +char QDir_Mkdir(void* ptr, struct QtCore_PackedString dirName); +char QDir_Mkpath(void* ptr, struct QtCore_PackedString dirPath); +struct QtCore_PackedString QDir_NameFilters(void* ptr); +struct QtCore_PackedString QDir_Path(void* ptr); +void QDir_Refresh(void* ptr); +struct QtCore_PackedString QDir_RelativeFilePath(void* ptr, struct QtCore_PackedString fileName); +char QDir_Remove(void* ptr, struct QtCore_PackedString fileName); +char QDir_RemoveRecursively(void* ptr); +char QDir_Rename(void* ptr, struct QtCore_PackedString oldName, struct QtCore_PackedString newName); +char QDir_Rmdir(void* ptr, struct QtCore_PackedString dirName); +char QDir_Rmpath(void* ptr, struct QtCore_PackedString dirPath); +void* QDir_QDir_Root(); +struct QtCore_PackedString QDir_QDir_RootPath(); +struct QtCore_PackedString QDir_QDir_SearchPaths(struct QtCore_PackedString prefix); +void* QDir_QDir_Separator(); +char QDir_QDir_SetCurrent(struct QtCore_PackedString path); +void QDir_SetFilter(void* ptr, long long filters); +void QDir_SetNameFilters(void* ptr, struct QtCore_PackedString nameFilters); +void QDir_SetPath(void* ptr, struct QtCore_PackedString path); +void QDir_QDir_SetSearchPaths(struct QtCore_PackedString prefix, struct QtCore_PackedString searchPaths); +void QDir_SetSorting(void* ptr, long long sort); +long long QDir_Sorting(void* ptr); +void QDir_Swap(void* ptr, void* other); +void* QDir_QDir_Temp(); +struct QtCore_PackedString QDir_QDir_TempPath(); +struct QtCore_PackedString QDir_QDir_ToNativeSeparators(struct QtCore_PackedString pathName); +void QDir_DestroyQDir(void* ptr); +void* QDir___drives_atList(void* ptr, int i); +void QDir___drives_setList(void* ptr, void* i); +void* QDir___drives_newList(void* ptr); +void* QDir___entryInfoList_atList(void* ptr, int i); +void QDir___entryInfoList_setList(void* ptr, void* i); +void* QDir___entryInfoList_newList(void* ptr); +void* QDir___entryInfoList_atList2(void* ptr, int i); +void QDir___entryInfoList_setList2(void* ptr, void* i); +void* QDir___entryInfoList_newList2(void* ptr); +void* QDynamicPropertyChangeEvent_NewQDynamicPropertyChangeEvent(void* name); +void* QDynamicPropertyChangeEvent_PropertyName(void* ptr); +void* QEasingCurve_NewQEasingCurve(long long ty); +void* QEasingCurve_NewQEasingCurve2(void* other); +void* QEasingCurve_NewQEasingCurve3(void* other); +void QEasingCurve_AddCubicBezierSegment(void* ptr, void* c1, void* c2, void* endPoint); +void QEasingCurve_AddTCBSegment(void* ptr, void* nextPoint, double t, double c, double b); +double QEasingCurve_Amplitude(void* ptr); +double QEasingCurve_Overshoot(void* ptr); +double QEasingCurve_Period(void* ptr); +void QEasingCurve_SetAmplitude(void* ptr, double amplitude); +void QEasingCurve_SetOvershoot(void* ptr, double overshoot); +void QEasingCurve_SetPeriod(void* ptr, double period); +void QEasingCurve_SetType(void* ptr, long long ty); +void QEasingCurve_Swap(void* ptr, void* other); +struct QtCore_PackedList QEasingCurve_ToCubicSpline(void* ptr); +long long QEasingCurve_Type(void* ptr); +double QEasingCurve_ValueForProgress(void* ptr, double progress); +void QEasingCurve_DestroyQEasingCurve(void* ptr); +void* QEasingCurve___cubicBezierSpline_atList(void* ptr, int i); +void QEasingCurve___cubicBezierSpline_setList(void* ptr, void* i); +void* QEasingCurve___cubicBezierSpline_newList(void* ptr); +void* QEasingCurve___toCubicSpline_atList(void* ptr, int i); +void QEasingCurve___toCubicSpline_setList(void* ptr, void* i); +void* QEasingCurve___toCubicSpline_newList(void* ptr); +void* QElapsedTimer_NewQElapsedTimer(); +long long QElapsedTimer_QElapsedTimer_ClockType(); +long long QElapsedTimer_Elapsed(void* ptr); +char QElapsedTimer_HasExpired(void* ptr, long long timeout); +void QElapsedTimer_Invalidate(void* ptr); +char QElapsedTimer_QElapsedTimer_IsMonotonic(); +char QElapsedTimer_IsValid(void* ptr); +long long QElapsedTimer_MsecsSinceReference(void* ptr); +long long QElapsedTimer_MsecsTo(void* ptr, void* other); +long long QElapsedTimer_NsecsElapsed(void* ptr); +long long QElapsedTimer_Restart(void* ptr); +long long QElapsedTimer_SecsTo(void* ptr, void* other); +void QElapsedTimer_Start(void* ptr); +void* QEvent_NewQEvent(long long ty); +void QEvent_Accept(void* ptr); +void QEvent_Ignore(void* ptr); +char QEvent_IsAccepted(void* ptr); +int QEvent_QEvent_RegisterEventType(int hint); +void QEvent_SetAccepted(void* ptr, char accepted); +char QEvent_Spontaneous(void* ptr); +long long QEvent_Type(void* ptr); +void QEvent_DestroyQEvent(void* ptr); +void QEvent_DestroyQEventDefault(void* ptr); +void* QEventLoop_NewQEventLoop(void* parent); +int QEventLoop_Exec(void* ptr, long long flags); +void QEventLoop_Exit(void* ptr, int returnCode); +char QEventLoop_IsRunning(void* ptr); +char QEventLoop_ProcessEvents(void* ptr, long long flags); +void QEventLoop_ProcessEvents2(void* ptr, long long flags, int maxTime); +void QEventLoop_Quit(void* ptr); +void QEventLoop_QuitDefault(void* ptr); +void QEventLoop_WakeUp(void* ptr); +void QEventLoop_DestroyQEventLoop(void* ptr); +void QEventLoop_DestroyQEventLoopDefault(void* ptr); +void* QEventLoopLocker_NewQEventLoopLocker(); +void* QEventLoopLocker_NewQEventLoopLocker2(void* loop); +void* QEventLoopLocker_NewQEventLoopLocker3(void* thread); +void QEventLoopLocker_DestroyQEventLoopLocker(void* ptr); +void* QEventTransition_NewQEventTransition(void* sourceState); +void* QEventTransition_NewQEventTransition2(void* object, long long ty, void* sourceState); +void* QEventTransition_EventSource(void* ptr); +char QEventTransition_EventTest(void* ptr, void* event); +char QEventTransition_EventTestDefault(void* ptr, void* event); +long long QEventTransition_EventType(void* ptr); +void QEventTransition_OnTransition(void* ptr, void* event); +void QEventTransition_OnTransitionDefault(void* ptr, void* event); +void QEventTransition_SetEventSource(void* ptr, void* object); +void QEventTransition_SetEventType(void* ptr, long long ty); +void QEventTransition_DestroyQEventTransition(void* ptr); +void QEventTransition_DestroyQEventTransitionDefault(void* ptr); +void* QFile_NewQFile(); +void* QFile_NewQFile2(struct QtCore_PackedString name); +void* QFile_NewQFile3(void* parent); +void* QFile_NewQFile4(struct QtCore_PackedString name, void* parent); +char QFile_Copy(void* ptr, struct QtCore_PackedString newName); +char QFile_QFile_Copy2(struct QtCore_PackedString fileName, struct QtCore_PackedString newName); +struct QtCore_PackedString QFile_QFile_DecodeName(void* localFileName); +struct QtCore_PackedString QFile_QFile_DecodeName2(char* localFileName); +void* QFile_QFile_EncodeName(struct QtCore_PackedString fileName); +char QFile_QFile_Exists(struct QtCore_PackedString fileName); +char QFile_Exists2(void* ptr); +char QFile_Link(void* ptr, struct QtCore_PackedString linkName); +char QFile_QFile_Link2(struct QtCore_PackedString fileName, struct QtCore_PackedString linkName); +char QFile_Open3(void* ptr, int fd, long long mode, long long handleFlags); +long long QFile_QFile_Permissions2(struct QtCore_PackedString fileName); +char QFile_Remove(void* ptr); +char QFile_QFile_Remove2(struct QtCore_PackedString fileName); +char QFile_Rename(void* ptr, struct QtCore_PackedString newName); +char QFile_QFile_Rename2(struct QtCore_PackedString oldName, struct QtCore_PackedString newName); +char QFile_QFile_Resize2(struct QtCore_PackedString fileName, long long sz); +void QFile_SetFileName(void* ptr, struct QtCore_PackedString name); +char QFile_QFile_SetPermissions2(struct QtCore_PackedString fileName, long long permissions); +struct QtCore_PackedString QFile_QFile_SymLinkTarget(struct QtCore_PackedString fileName); +struct QtCore_PackedString QFile_SymLinkTarget2(void* ptr); +void QFile_DestroyQFile(void* ptr); +void QFile_DestroyQFileDefault(void* ptr); +long long QFileDevice_Error(void* ptr); +struct QtCore_PackedString QFileDevice_FileName(void* ptr); +struct QtCore_PackedString QFileDevice_FileNameDefault(void* ptr); +void* QFileDevice_FileTime(void* ptr, long long ti); +char QFileDevice_Flush(void* ptr); +int QFileDevice_Handle(void* ptr); +struct QtCore_PackedString QFileDevice_Map(void* ptr, long long offset, long long size, long long flags); +long long QFileDevice_Permissions(void* ptr); +long long QFileDevice_PermissionsDefault(void* ptr); +long long QFileDevice_ReadData(void* ptr, char* data, long long l); +long long QFileDevice_ReadDataDefault(void* ptr, char* data, long long l); +char QFileDevice_Resize(void* ptr, long long sz); +char QFileDevice_ResizeDefault(void* ptr, long long sz); +char QFileDevice_SetFileTime(void* ptr, void* newDate, long long fileTime); +char QFileDevice_SetPermissions(void* ptr, long long permissions); +char QFileDevice_SetPermissionsDefault(void* ptr, long long permissions); +char QFileDevice_Unmap(void* ptr, char* address); +void QFileDevice_UnsetError(void* ptr); +long long QFileDevice_WriteData(void* ptr, char* data, long long l); +long long QFileDevice_WriteDataDefault(void* ptr, char* data, long long l); +void QFileDevice_DestroyQFileDevice(void* ptr); +void QFileDevice_DestroyQFileDeviceDefault(void* ptr); +void* QFileInfo_NewQFileInfo2(); +void* QFileInfo_NewQFileInfo3(struct QtCore_PackedString file); +void* QFileInfo_NewQFileInfo4(void* file); +void* QFileInfo_NewQFileInfo5(void* dir, struct QtCore_PackedString file); +void* QFileInfo_NewQFileInfo6(void* fileinfo); +void* QFileInfo_AbsoluteDir(void* ptr); +struct QtCore_PackedString QFileInfo_AbsoluteFilePath(void* ptr); +struct QtCore_PackedString QFileInfo_AbsolutePath(void* ptr); +struct QtCore_PackedString QFileInfo_BaseName(void* ptr); +void* QFileInfo_BirthTime(void* ptr); +struct QtCore_PackedString QFileInfo_BundleName(void* ptr); +char QFileInfo_Caching(void* ptr); +struct QtCore_PackedString QFileInfo_CanonicalFilePath(void* ptr); +struct QtCore_PackedString QFileInfo_CanonicalPath(void* ptr); +struct QtCore_PackedString QFileInfo_CompleteBaseName(void* ptr); +struct QtCore_PackedString QFileInfo_CompleteSuffix(void* ptr); +void* QFileInfo_Dir(void* ptr); +char QFileInfo_Exists(void* ptr); +char QFileInfo_QFileInfo_Exists2(struct QtCore_PackedString file); +struct QtCore_PackedString QFileInfo_FileName(void* ptr); +struct QtCore_PackedString QFileInfo_FilePath(void* ptr); +struct QtCore_PackedString QFileInfo_Group(void* ptr); +unsigned int QFileInfo_GroupId(void* ptr); +char QFileInfo_IsAbsolute(void* ptr); +char QFileInfo_IsBundle(void* ptr); +char QFileInfo_IsDir(void* ptr); +char QFileInfo_IsExecutable(void* ptr); +char QFileInfo_IsFile(void* ptr); +char QFileInfo_IsHidden(void* ptr); +char QFileInfo_IsNativePath(void* ptr); +char QFileInfo_IsReadable(void* ptr); +char QFileInfo_IsRelative(void* ptr); +char QFileInfo_IsRoot(void* ptr); +char QFileInfo_IsSymLink(void* ptr); +char QFileInfo_IsWritable(void* ptr); +void* QFileInfo_LastModified(void* ptr); +void* QFileInfo_LastRead(void* ptr); +char QFileInfo_MakeAbsolute(void* ptr); +void* QFileInfo_MetadataChangeTime(void* ptr); +struct QtCore_PackedString QFileInfo_Owner(void* ptr); +unsigned int QFileInfo_OwnerId(void* ptr); +struct QtCore_PackedString QFileInfo_Path(void* ptr); +void QFileInfo_Refresh(void* ptr); +void QFileInfo_SetCaching(void* ptr, char enable); +void QFileInfo_SetFile(void* ptr, struct QtCore_PackedString file); +void QFileInfo_SetFile2(void* ptr, void* file); +void QFileInfo_SetFile3(void* ptr, void* dir, struct QtCore_PackedString file); +long long QFileInfo_Size(void* ptr); +struct QtCore_PackedString QFileInfo_Suffix(void* ptr); +void QFileInfo_Swap(void* ptr, void* other); +struct QtCore_PackedString QFileInfo_SymLinkTarget(void* ptr); +void QFileInfo_DestroyQFileInfo(void* ptr); +void* QFileSelector_NewQFileSelector(void* parent); +struct QtCore_PackedString QFileSelector_AllSelectors(void* ptr); +struct QtCore_PackedString QFileSelector_ExtraSelectors(void* ptr); +struct QtCore_PackedString QFileSelector_Select(void* ptr, struct QtCore_PackedString filePath); +void* QFileSelector_Select2(void* ptr, void* filePath); +void QFileSelector_SetExtraSelectors(void* ptr, struct QtCore_PackedString list); +void QFileSelector_DestroyQFileSelector(void* ptr); +void QFileSelector_DestroyQFileSelectorDefault(void* ptr); +void* QFileSystemWatcher_NewQFileSystemWatcher(void* parent); +void* QFileSystemWatcher_NewQFileSystemWatcher2(struct QtCore_PackedString paths, void* parent); +char QFileSystemWatcher_AddPath(void* ptr, struct QtCore_PackedString path); +struct QtCore_PackedString QFileSystemWatcher_AddPaths(void* ptr, struct QtCore_PackedString paths); +struct QtCore_PackedString QFileSystemWatcher_Directories(void* ptr); +void QFileSystemWatcher_ConnectDirectoryChanged(void* ptr, long long t); +void QFileSystemWatcher_DisconnectDirectoryChanged(void* ptr); +void QFileSystemWatcher_ConnectFileChanged(void* ptr, long long t); +void QFileSystemWatcher_DisconnectFileChanged(void* ptr); +struct QtCore_PackedString QFileSystemWatcher_Files(void* ptr); +char QFileSystemWatcher_RemovePath(void* ptr, struct QtCore_PackedString path); +struct QtCore_PackedString QFileSystemWatcher_RemovePaths(void* ptr, struct QtCore_PackedString paths); +void QFileSystemWatcher_DestroyQFileSystemWatcher(void* ptr); +void QFileSystemWatcher_DestroyQFileSystemWatcherDefault(void* ptr); +void* QFinalState_NewQFinalState(void* parent); +void QFinalState_OnEntry(void* ptr, void* event); +void QFinalState_OnEntryDefault(void* ptr, void* event); +void QFinalState_OnExit(void* ptr, void* event); +void QFinalState_OnExitDefault(void* ptr, void* event); +void QFinalState_DestroyQFinalState(void* ptr); +void QFinalState_DestroyQFinalStateDefault(void* ptr); +void* QFlag_NewQFlag(int value); +void* QFlag_NewQFlag2(unsigned int value); +void* QFlag_NewQFlag3(short value); +void* QFlag_NewQFlag4(unsigned short value); +void* QFutureInterface___reportResults_results_atList(void* ptr, int i); +void QFutureInterface___reportResults_results_setList(void* ptr, void* i); +void* QFutureInterface___reportResults_results_newList(void* ptr); +void* QFutureInterface___results_atList(void* ptr, int i); +void QFutureInterface___results_setList(void* ptr, void* i); +void* QFutureInterface___results_newList(void* ptr); +void* QGenericArgument_NewQGenericArgument(char* name, void* data); +void* QGenericArgument_Data(void* ptr); +struct QtCore_PackedString QGenericArgument_Name(void* ptr); +void* QGenericReturnArgument_NewQGenericReturnArgument(char* name, void* data); +void* QHistoryState_NewQHistoryState(void* parent); +void* QHistoryState_NewQHistoryState2(long long ty, void* parent); +void* QHistoryState_DefaultState(void* ptr); +void QHistoryState_ConnectDefaultStateChanged(void* ptr, long long t); +void QHistoryState_DisconnectDefaultStateChanged(void* ptr); +void* QHistoryState_DefaultTransition(void* ptr); +void QHistoryState_ConnectDefaultTransitionChanged(void* ptr, long long t); +void QHistoryState_DisconnectDefaultTransitionChanged(void* ptr); +long long QHistoryState_HistoryType(void* ptr); +void QHistoryState_ConnectHistoryTypeChanged(void* ptr, long long t); +void QHistoryState_DisconnectHistoryTypeChanged(void* ptr); +void QHistoryState_OnEntry(void* ptr, void* event); +void QHistoryState_OnEntryDefault(void* ptr, void* event); +void QHistoryState_OnExit(void* ptr, void* event); +void QHistoryState_OnExitDefault(void* ptr, void* event); +void QHistoryState_SetDefaultState(void* ptr, void* state); +void QHistoryState_SetDefaultTransition(void* ptr, void* transition); +void QHistoryState_SetHistoryType(void* ptr, long long ty); +void QHistoryState_DestroyQHistoryState(void* ptr); +void QHistoryState_DestroyQHistoryStateDefault(void* ptr); +void* QIODevice_NewQIODevice(); +void* QIODevice_NewQIODevice2(void* parent); +void QIODevice_ConnectAboutToClose(void* ptr, long long t); +void QIODevice_DisconnectAboutToClose(void* ptr); +void QIODevice_AboutToClose(void* ptr); +char QIODevice_AtEnd(void* ptr); +char QIODevice_AtEndDefault(void* ptr); +long long QIODevice_BytesAvailable(void* ptr); +long long QIODevice_BytesAvailableDefault(void* ptr); +long long QIODevice_BytesToWrite(void* ptr); +long long QIODevice_BytesToWriteDefault(void* ptr); +void QIODevice_ConnectBytesWritten(void* ptr, long long t); +void QIODevice_DisconnectBytesWritten(void* ptr); +void QIODevice_BytesWritten(void* ptr, long long bytes); +char QIODevice_CanReadLine(void* ptr); +char QIODevice_CanReadLineDefault(void* ptr); +void QIODevice_ConnectChannelBytesWritten(void* ptr, long long t); +void QIODevice_DisconnectChannelBytesWritten(void* ptr); +void QIODevice_ChannelBytesWritten(void* ptr, int channel, long long bytes); +void QIODevice_ConnectChannelReadyRead(void* ptr, long long t); +void QIODevice_DisconnectChannelReadyRead(void* ptr); +void QIODevice_ChannelReadyRead(void* ptr, int channel); +void QIODevice_Close(void* ptr); +void QIODevice_CloseDefault(void* ptr); +void QIODevice_CommitTransaction(void* ptr); +int QIODevice_CurrentReadChannel(void* ptr); +int QIODevice_CurrentWriteChannel(void* ptr); +struct QtCore_PackedString QIODevice_ErrorString(void* ptr); +char QIODevice_GetChar(void* ptr, char* c); +char QIODevice_IsOpen(void* ptr); +char QIODevice_IsReadable(void* ptr); +char QIODevice_IsSequential(void* ptr); +char QIODevice_IsSequentialDefault(void* ptr); +char QIODevice_IsTextModeEnabled(void* ptr); +char QIODevice_IsTransactionStarted(void* ptr); +char QIODevice_IsWritable(void* ptr); +char QIODevice_Open(void* ptr, long long mode); +char QIODevice_OpenDefault(void* ptr, long long mode); +long long QIODevice_OpenMode(void* ptr); +long long QIODevice_Peek(void* ptr, char* data, long long maxSize); +void* QIODevice_Peek2(void* ptr, long long maxSize); +long long QIODevice_Pos(void* ptr); +long long QIODevice_PosDefault(void* ptr); +char QIODevice_PutChar(void* ptr, char* c); +long long QIODevice_Read(void* ptr, char* data, long long maxSize); +void* QIODevice_Read2(void* ptr, long long maxSize); +void* QIODevice_ReadAll(void* ptr); +int QIODevice_ReadChannelCount(void* ptr); +void QIODevice_ConnectReadChannelFinished(void* ptr, long long t); +void QIODevice_DisconnectReadChannelFinished(void* ptr); +void QIODevice_ReadChannelFinished(void* ptr); +long long QIODevice_ReadData(void* ptr, char* data, long long maxSize); +long long QIODevice_ReadLine(void* ptr, char* data, long long maxSize); +void* QIODevice_ReadLine2(void* ptr, long long maxSize); +long long QIODevice_ReadLineData(void* ptr, char* data, long long maxSize); +long long QIODevice_ReadLineDataDefault(void* ptr, char* data, long long maxSize); +void QIODevice_ConnectReadyRead(void* ptr, long long t); +void QIODevice_DisconnectReadyRead(void* ptr); +void QIODevice_ReadyRead(void* ptr); +char QIODevice_Reset(void* ptr); +char QIODevice_ResetDefault(void* ptr); +void QIODevice_RollbackTransaction(void* ptr); +char QIODevice_Seek(void* ptr, long long pos); +char QIODevice_SeekDefault(void* ptr, long long pos); +void QIODevice_SetCurrentReadChannel(void* ptr, int channel); +void QIODevice_SetCurrentWriteChannel(void* ptr, int channel); +void QIODevice_SetErrorString(void* ptr, struct QtCore_PackedString str); +void QIODevice_SetOpenMode(void* ptr, long long openMode); +void QIODevice_SetTextModeEnabled(void* ptr, char enabled); +long long QIODevice_Size(void* ptr); +long long QIODevice_SizeDefault(void* ptr); +long long QIODevice_Skip(void* ptr, long long maxSize); +void QIODevice_StartTransaction(void* ptr); +void QIODevice_UngetChar(void* ptr, char* c); +char QIODevice_WaitForBytesWritten(void* ptr, int msecs); +char QIODevice_WaitForBytesWrittenDefault(void* ptr, int msecs); +char QIODevice_WaitForReadyRead(void* ptr, int msecs); +char QIODevice_WaitForReadyReadDefault(void* ptr, int msecs); +long long QIODevice_Write(void* ptr, char* data, long long maxSize); +long long QIODevice_Write2(void* ptr, char* data); +long long QIODevice_Write3(void* ptr, void* byteArray); +int QIODevice_WriteChannelCount(void* ptr); +long long QIODevice_WriteData(void* ptr, char* data, long long maxSize); +void QIODevice_DestroyQIODevice(void* ptr); +void QIODevice_DestroyQIODeviceDefault(void* ptr); +void* QIdentityProxyModel_NewQIdentityProxyModel(void* parent); +int QIdentityProxyModel_ColumnCount(void* ptr, void* parent); +int QIdentityProxyModel_ColumnCountDefault(void* ptr, void* parent); +void* QIdentityProxyModel_Index(void* ptr, int row, int column, void* parent); +void* QIdentityProxyModel_IndexDefault(void* ptr, int row, int column, void* parent); +void* QIdentityProxyModel_MapFromSource(void* ptr, void* sourceIndex); +void* QIdentityProxyModel_MapFromSourceDefault(void* ptr, void* sourceIndex); +void* QIdentityProxyModel_MapToSource(void* ptr, void* proxyIndex); +void* QIdentityProxyModel_MapToSourceDefault(void* ptr, void* proxyIndex); +void* QIdentityProxyModel_Parent(void* ptr, void* child); +void* QIdentityProxyModel_ParentDefault(void* ptr, void* child); +int QIdentityProxyModel_RowCount(void* ptr, void* parent); +int QIdentityProxyModel_RowCountDefault(void* ptr, void* parent); +void QIdentityProxyModel_DestroyQIdentityProxyModel(void* ptr); +void QIdentityProxyModel_DestroyQIdentityProxyModelDefault(void* ptr); +void* QItemSelection_NewQItemSelection(); +void* QItemSelection_NewQItemSelection2(void* topLeft, void* bottomRight); +char QItemSelection_Contains(void* ptr, void* index); +struct QtCore_PackedList QItemSelection_Indexes(void* ptr); +void QItemSelection_Merge(void* ptr, void* other, long long command); +void QItemSelection_Select(void* ptr, void* topLeft, void* bottomRight); +void QItemSelection_QItemSelection_Split(void* ran, void* other, void* result); +void* QItemSelection___indexes_atList(void* ptr, int i); +void QItemSelection___indexes_setList(void* ptr, void* i); +void* QItemSelection___indexes_newList(void* ptr); +void* QItemSelectionModel_NewQItemSelectionModel(void* model); +void* QItemSelectionModel_NewQItemSelectionModel2(void* model, void* parent); +void QItemSelectionModel_Clear(void* ptr); +void QItemSelectionModel_ClearDefault(void* ptr); +void QItemSelectionModel_ClearCurrentIndex(void* ptr); +void QItemSelectionModel_ClearCurrentIndexDefault(void* ptr); +void QItemSelectionModel_ClearSelection(void* ptr); +void QItemSelectionModel_ClearSelectionDefault(void* ptr); +char QItemSelectionModel_ColumnIntersectsSelection(void* ptr, int column, void* parent); +void QItemSelectionModel_ConnectCurrentChanged(void* ptr, long long t); +void QItemSelectionModel_DisconnectCurrentChanged(void* ptr); +void QItemSelectionModel_CurrentChanged(void* ptr, void* current, void* previous); +void QItemSelectionModel_ConnectCurrentColumnChanged(void* ptr, long long t); +void QItemSelectionModel_DisconnectCurrentColumnChanged(void* ptr); +void QItemSelectionModel_CurrentColumnChanged(void* ptr, void* current, void* previous); +void* QItemSelectionModel_CurrentIndex(void* ptr); +void QItemSelectionModel_ConnectCurrentRowChanged(void* ptr, long long t); +void QItemSelectionModel_DisconnectCurrentRowChanged(void* ptr); +void QItemSelectionModel_CurrentRowChanged(void* ptr, void* current, void* previous); +void QItemSelectionModel_EmitSelectionChanged(void* ptr, void* newSelection, void* oldSelection); +char QItemSelectionModel_HasSelection(void* ptr); +char QItemSelectionModel_IsColumnSelected(void* ptr, int column, void* parent); +char QItemSelectionModel_IsRowSelected(void* ptr, int row, void* parent); +char QItemSelectionModel_IsSelected(void* ptr, void* index); +void* QItemSelectionModel_Model(void* ptr); +void* QItemSelectionModel_Model2(void* ptr); +void QItemSelectionModel_ConnectModelChanged(void* ptr, long long t); +void QItemSelectionModel_DisconnectModelChanged(void* ptr); +void QItemSelectionModel_ModelChanged(void* ptr, void* model); +void QItemSelectionModel_Reset(void* ptr); +void QItemSelectionModel_ResetDefault(void* ptr); +char QItemSelectionModel_RowIntersectsSelection(void* ptr, int row, void* parent); +void QItemSelectionModel_Select(void* ptr, void* index, long long command); +void QItemSelectionModel_SelectDefault(void* ptr, void* index, long long command); +void QItemSelectionModel_Select2(void* ptr, void* selection, long long command); +void QItemSelectionModel_Select2Default(void* ptr, void* selection, long long command); +struct QtCore_PackedList QItemSelectionModel_SelectedColumns(void* ptr, int row); +struct QtCore_PackedList QItemSelectionModel_SelectedIndexes(void* ptr); +struct QtCore_PackedList QItemSelectionModel_SelectedRows(void* ptr, int column); +void* QItemSelectionModel_Selection(void* ptr); +void QItemSelectionModel_ConnectSelectionChanged(void* ptr, long long t); +void QItemSelectionModel_DisconnectSelectionChanged(void* ptr); +void QItemSelectionModel_SelectionChanged(void* ptr, void* selected, void* deselected); +void QItemSelectionModel_SetCurrentIndex(void* ptr, void* index, long long command); +void QItemSelectionModel_SetCurrentIndexDefault(void* ptr, void* index, long long command); +void QItemSelectionModel_SetModel(void* ptr, void* model); +void QItemSelectionModel_DestroyQItemSelectionModel(void* ptr); +void QItemSelectionModel_DestroyQItemSelectionModelDefault(void* ptr); +void* QItemSelectionModel___selectedColumns_atList(void* ptr, int i); +void QItemSelectionModel___selectedColumns_setList(void* ptr, void* i); +void* QItemSelectionModel___selectedColumns_newList(void* ptr); +void* QItemSelectionModel___selectedIndexes_atList(void* ptr, int i); +void QItemSelectionModel___selectedIndexes_setList(void* ptr, void* i); +void* QItemSelectionModel___selectedIndexes_newList(void* ptr); +void* QItemSelectionModel___selectedRows_atList(void* ptr, int i); +void QItemSelectionModel___selectedRows_setList(void* ptr, void* i); +void* QItemSelectionModel___selectedRows_newList(void* ptr); +void* QItemSelectionRange_NewQItemSelectionRange(); +void* QItemSelectionRange_NewQItemSelectionRange2(void* other); +void* QItemSelectionRange_NewQItemSelectionRange4(void* topLeft, void* bottomRight); +void* QItemSelectionRange_NewQItemSelectionRange5(void* index); +int QItemSelectionRange_Bottom(void* ptr); +void* QItemSelectionRange_BottomRight(void* ptr); +char QItemSelectionRange_Contains(void* ptr, void* index); +char QItemSelectionRange_Contains2(void* ptr, int row, int column, void* parentIndex); +int QItemSelectionRange_Height(void* ptr); +struct QtCore_PackedList QItemSelectionRange_Indexes(void* ptr); +void* QItemSelectionRange_Intersected(void* ptr, void* other); +char QItemSelectionRange_Intersects(void* ptr, void* other); +char QItemSelectionRange_IsEmpty(void* ptr); +char QItemSelectionRange_IsValid(void* ptr); +int QItemSelectionRange_Left(void* ptr); +void* QItemSelectionRange_Model(void* ptr); +void* QItemSelectionRange_Parent(void* ptr); +int QItemSelectionRange_Right(void* ptr); +void QItemSelectionRange_Swap(void* ptr, void* other); +int QItemSelectionRange_Top(void* ptr); +void* QItemSelectionRange_TopLeft(void* ptr); +int QItemSelectionRange_Width(void* ptr); +void* QItemSelectionRange___indexes_atList(void* ptr, int i); +void QItemSelectionRange___indexes_setList(void* ptr, void* i); +void* QItemSelectionRange___indexes_newList(void* ptr); +void* QJsonArray_NewQJsonArray(); +void* QJsonArray_NewQJsonArray3(void* other); +void* QJsonArray_NewQJsonArray4(void* other); +void QJsonArray_Append(void* ptr, void* value); +void* QJsonArray_At(void* ptr, int i); +char QJsonArray_Contains(void* ptr, void* value); +int QJsonArray_Count(void* ptr); +char QJsonArray_Empty(void* ptr); +void* QJsonArray_First(void* ptr); +void* QJsonArray_QJsonArray_FromStringList(struct QtCore_PackedString list); +void* QJsonArray_QJsonArray_FromVariantList(void* list); +void QJsonArray_Insert(void* ptr, int i, void* value); +char QJsonArray_IsEmpty(void* ptr); +void* QJsonArray_Last(void* ptr); +void QJsonArray_Pop_back(void* ptr); +void QJsonArray_Pop_front(void* ptr); +void QJsonArray_Prepend(void* ptr, void* value); +void QJsonArray_Push_back(void* ptr, void* value); +void QJsonArray_Push_front(void* ptr, void* value); +void QJsonArray_RemoveAt(void* ptr, int i); +void QJsonArray_RemoveFirst(void* ptr); +void QJsonArray_RemoveLast(void* ptr); +void QJsonArray_Replace(void* ptr, int i, void* value); +int QJsonArray_Size(void* ptr); +void QJsonArray_Swap(void* ptr, void* other); +void* QJsonArray_TakeAt(void* ptr, int i); +struct QtCore_PackedList QJsonArray_ToVariantList(void* ptr); +void QJsonArray_DestroyQJsonArray(void* ptr); +void* QJsonArray___fromVariantList_list_atList(void* ptr, int i); +void QJsonArray___fromVariantList_list_setList(void* ptr, void* i); +void* QJsonArray___fromVariantList_list_newList(void* ptr); +void* QJsonArray___toVariantList_atList(void* ptr, int i); +void QJsonArray___toVariantList_setList(void* ptr, void* i); +void* QJsonArray___toVariantList_newList(void* ptr); +void* QJsonDocument_NewQJsonDocument(); +void* QJsonDocument_NewQJsonDocument2(void* object); +void* QJsonDocument_NewQJsonDocument3(void* array); +void* QJsonDocument_NewQJsonDocument4(void* other); +void* QJsonDocument_NewQJsonDocument5(void* other); +void* QJsonDocument_Array(void* ptr); +void* QJsonDocument_QJsonDocument_FromBinaryData(void* data, long long validation); +void* QJsonDocument_QJsonDocument_FromJson(void* json, void* error); +void* QJsonDocument_QJsonDocument_FromRawData(char* data, int size, long long validation); +void* QJsonDocument_QJsonDocument_FromVariant(void* variant); +char QJsonDocument_IsArray(void* ptr); +char QJsonDocument_IsEmpty(void* ptr); +char QJsonDocument_IsNull(void* ptr); +char QJsonDocument_IsObject(void* ptr); +void* QJsonDocument_Object(void* ptr); +struct QtCore_PackedString QJsonDocument_RawData(void* ptr, int size); +void QJsonDocument_SetArray(void* ptr, void* array); +void QJsonDocument_SetObject(void* ptr, void* object); +void QJsonDocument_Swap(void* ptr, void* other); +void* QJsonDocument_ToBinaryData(void* ptr); +void* QJsonDocument_ToJson(void* ptr); +void* QJsonDocument_ToJson2(void* ptr, long long format); +void* QJsonDocument_ToVariant(void* ptr); +void QJsonDocument_DestroyQJsonDocument(void* ptr); +void* QJsonObject_NewQJsonObject(); +void* QJsonObject_NewQJsonObject3(void* other); +void* QJsonObject_NewQJsonObject4(void* other); +char QJsonObject_Contains(void* ptr, struct QtCore_PackedString key); +char QJsonObject_Contains2(void* ptr, void* key); +int QJsonObject_Count(void* ptr); +char QJsonObject_Empty(void* ptr); +void* QJsonObject_QJsonObject_FromVariantHash(void* hash); +char QJsonObject_IsEmpty(void* ptr); +struct QtCore_PackedString QJsonObject_Keys(void* ptr); +int QJsonObject_Length(void* ptr); +void QJsonObject_Remove(void* ptr, struct QtCore_PackedString key); +int QJsonObject_Size(void* ptr); +void QJsonObject_Swap(void* ptr, void* other); +void* QJsonObject_Take(void* ptr, struct QtCore_PackedString key); +struct QtCore_PackedList QJsonObject_ToVariantHash(void* ptr); +struct QtCore_PackedList QJsonObject_ToVariantMap(void* ptr); +void* QJsonObject_Value(void* ptr, struct QtCore_PackedString key); +void* QJsonObject_Value2(void* ptr, void* key); +void QJsonObject_DestroyQJsonObject(void* ptr); +void* QJsonObject___fromVariantHash_hash_atList(void* ptr, struct QtCore_PackedString v, int i); +void QJsonObject___fromVariantHash_hash_setList(void* ptr, struct QtCore_PackedString key, void* i); +void* QJsonObject___fromVariantHash_hash_newList(void* ptr); +struct QtCore_PackedList QJsonObject___fromVariantHash_hash_keyList(void* ptr); +void* QJsonObject___toVariantHash_atList(void* ptr, struct QtCore_PackedString v, int i); +void QJsonObject___toVariantHash_setList(void* ptr, struct QtCore_PackedString key, void* i); +void* QJsonObject___toVariantHash_newList(void* ptr); +struct QtCore_PackedList QJsonObject___toVariantHash_keyList(void* ptr); +void* QJsonObject___toVariantMap_atList(void* ptr, struct QtCore_PackedString v, int i); +void QJsonObject___toVariantMap_setList(void* ptr, struct QtCore_PackedString key, void* i); +void* QJsonObject___toVariantMap_newList(void* ptr); +struct QtCore_PackedList QJsonObject___toVariantMap_keyList(void* ptr); +struct QtCore_PackedString QJsonObject_____fromVariantHash_hash_keyList_atList(void* ptr, int i); +void QJsonObject_____fromVariantHash_hash_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QJsonObject_____fromVariantHash_hash_keyList_newList(void* ptr); +struct QtCore_PackedString QJsonObject_____fromVariantMap_map_keyList_atList(void* ptr, int i); +void QJsonObject_____fromVariantMap_map_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QJsonObject_____fromVariantMap_map_keyList_newList(void* ptr); +struct QtCore_PackedString QJsonObject_____toVariantHash_keyList_atList(void* ptr, int i); +void QJsonObject_____toVariantHash_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QJsonObject_____toVariantHash_keyList_newList(void* ptr); +struct QtCore_PackedString QJsonObject_____toVariantMap_keyList_atList(void* ptr, int i); +void QJsonObject_____toVariantMap_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QJsonObject_____toVariantMap_keyList_newList(void* ptr); +struct QtCore_PackedString QJsonParseError_ErrorString(void* ptr); +int QJsonParseError_Offset(void* ptr); +void QJsonParseError_SetOffset(void* ptr, int vin); +long long QJsonParseError_Error(void* ptr); +void QJsonParseError_SetError(void* ptr, long long vqj); +void* QJsonValue_NewQJsonValue(long long ty); +void* QJsonValue_NewQJsonValue2(char b); +void* QJsonValue_NewQJsonValue3(double n); +void* QJsonValue_NewQJsonValue4(int n); +void* QJsonValue_NewQJsonValue5(long long n); +void* QJsonValue_NewQJsonValue6(struct QtCore_PackedString s); +void* QJsonValue_NewQJsonValue7(void* s); +void* QJsonValue_NewQJsonValue8(char* s); +void* QJsonValue_NewQJsonValue9(void* a); +void* QJsonValue_NewQJsonValue10(void* o); +void* QJsonValue_NewQJsonValue11(void* other); +void* QJsonValue_NewQJsonValue12(void* other); +void* QJsonValue_QJsonValue_FromVariant(void* variant); +char QJsonValue_IsArray(void* ptr); +char QJsonValue_IsBool(void* ptr); +char QJsonValue_IsDouble(void* ptr); +char QJsonValue_IsNull(void* ptr); +char QJsonValue_IsObject(void* ptr); +char QJsonValue_IsString(void* ptr); +char QJsonValue_IsUndefined(void* ptr); +void QJsonValue_Swap(void* ptr, void* other); +void* QJsonValue_ToArray(void* ptr, void* defaultValue); +void* QJsonValue_ToArray2(void* ptr); +char QJsonValue_ToBool(void* ptr, char defaultValue); +double QJsonValue_ToDouble(void* ptr, double defaultValue); +int QJsonValue_ToInt(void* ptr, int defaultValue); +void* QJsonValue_ToObject(void* ptr, void* defaultValue); +void* QJsonValue_ToObject2(void* ptr); +struct QtCore_PackedString QJsonValue_ToString(void* ptr); +struct QtCore_PackedString QJsonValue_ToString2(void* ptr, struct QtCore_PackedString defaultValue); +void* QJsonValue_ToVariant(void* ptr); +long long QJsonValue_Type(void* ptr); +void QJsonValue_DestroyQJsonValue(void* ptr); +void* QLatin1Char_NewQLatin1Char(char* c); +struct QtCore_PackedString QLatin1Char_ToLatin1(void* ptr); +unsigned short QLatin1Char_Unicode(void* ptr); +void* QLatin1String_NewQLatin1String(); +void* QLatin1String_NewQLatin1String2(char* str); +void* QLatin1String_NewQLatin1String3(char* first, char* last); +void* QLatin1String_NewQLatin1String4(char* str, int size); +void* QLatin1String_NewQLatin1String5(void* str); +void QLatin1String_Chop(void* ptr, int length); +void* QLatin1String_Chopped(void* ptr, int length); +struct QtCore_PackedString QLatin1String_Data(void* ptr); +char QLatin1String_EndsWith(void* ptr, void* str, long long cs); +char QLatin1String_EndsWith2(void* ptr, void* l1, long long cs); +char QLatin1String_EndsWith3(void* ptr, void* ch); +char QLatin1String_EndsWith4(void* ptr, void* ch, long long cs); +char QLatin1String_IsEmpty(void* ptr); +char QLatin1String_IsNull(void* ptr); +struct QtCore_PackedString QLatin1String_Latin1(void* ptr); +void* QLatin1String_Left(void* ptr, int length); +void* QLatin1String_Mid(void* ptr, int start); +void* QLatin1String_Mid2(void* ptr, int start, int length); +void* QLatin1String_Right(void* ptr, int length); +int QLatin1String_Size(void* ptr); +char QLatin1String_StartsWith(void* ptr, void* str, long long cs); +char QLatin1String_StartsWith2(void* ptr, void* l1, long long cs); +char QLatin1String_StartsWith3(void* ptr, void* ch); +char QLatin1String_StartsWith4(void* ptr, void* ch, long long cs); +void* QLatin1String_Trimmed(void* ptr); +void QLatin1String_Truncate(void* ptr, int length); +void* QLibrary_NewQLibrary(void* parent); +void* QLibrary_NewQLibrary2(struct QtCore_PackedString fileName, void* parent); +void* QLibrary_NewQLibrary3(struct QtCore_PackedString fileName, int verNum, void* parent); +void* QLibrary_NewQLibrary4(struct QtCore_PackedString fileName, struct QtCore_PackedString version, void* parent); +struct QtCore_PackedString QLibrary_ErrorString(void* ptr); +struct QtCore_PackedString QLibrary_FileName(void* ptr); +char QLibrary_QLibrary_IsLibrary(struct QtCore_PackedString fileName); +char QLibrary_IsLoaded(void* ptr); +char QLibrary_Load(void* ptr); +long long QLibrary_LoadHints(void* ptr); +void QLibrary_SetFileName(void* ptr, struct QtCore_PackedString fileName); +void QLibrary_SetFileNameAndVersion(void* ptr, struct QtCore_PackedString fileName, int versionNumber); +void QLibrary_SetFileNameAndVersion2(void* ptr, struct QtCore_PackedString fileName, struct QtCore_PackedString version); +void QLibrary_SetLoadHints(void* ptr, long long hints); +char QLibrary_Unload(void* ptr); +void QLibrary_DestroyQLibrary(void* ptr); +void QLibrary_DestroyQLibraryDefault(void* ptr); +char QLibraryInfo_QLibraryInfo_IsDebugBuild(); +struct QtCore_PackedString QLibraryInfo_QLibraryInfo_Location(long long loc); +void* QLibraryInfo_QLibraryInfo_Version(); +void* QLine_NewQLine(); +void* QLine_NewQLine2(void* p1, void* p2); +void* QLine_NewQLine3(int x1, int y1, int x2, int y2); +void* QLine_Center(void* ptr); +int QLine_Dx(void* ptr); +int QLine_Dy(void* ptr); +char QLine_IsNull(void* ptr); +void* QLine_P1(void* ptr); +void* QLine_P2(void* ptr); +void QLine_SetLine(void* ptr, int x1, int y1, int x2, int y2); +void QLine_SetP1(void* ptr, void* p1); +void QLine_SetP2(void* ptr, void* p2); +void QLine_SetPoints(void* ptr, void* p1, void* p2); +void QLine_Translate(void* ptr, void* offset); +void QLine_Translate2(void* ptr, int dx, int dy); +void* QLine_Translated(void* ptr, void* offset); +void* QLine_Translated2(void* ptr, int dx, int dy); +int QLine_X1(void* ptr); +int QLine_X2(void* ptr); +int QLine_Y1(void* ptr); +int QLine_Y2(void* ptr); +void* QLineF_NewQLineF(); +void* QLineF_NewQLineF2(void* p1, void* p2); +void* QLineF_NewQLineF3(double x1, double y1, double x2, double y2); +void* QLineF_NewQLineF4(void* line); +double QLineF_Angle(void* ptr); +double QLineF_AngleTo(void* ptr, void* line); +void* QLineF_Center(void* ptr); +double QLineF_Dx(void* ptr); +double QLineF_Dy(void* ptr); +void* QLineF_QLineF_FromPolar(double length, double angle); +long long QLineF_Intersect(void* ptr, void* line, void* intersectionPoint); +char QLineF_IsNull(void* ptr); +double QLineF_Length(void* ptr); +void* QLineF_NormalVector(void* ptr); +void* QLineF_P1(void* ptr); +void* QLineF_P2(void* ptr); +void* QLineF_PointAt(void* ptr, double t); +void QLineF_SetAngle(void* ptr, double angle); +void QLineF_SetLength(void* ptr, double length); +void QLineF_SetLine(void* ptr, double x1, double y1, double x2, double y2); +void QLineF_SetP1(void* ptr, void* p1); +void QLineF_SetP2(void* ptr, void* p2); +void QLineF_SetPoints(void* ptr, void* p1, void* p2); +void* QLineF_ToLine(void* ptr); +void QLineF_Translate(void* ptr, void* offset); +void QLineF_Translate2(void* ptr, double dx, double dy); +void* QLineF_Translated(void* ptr, void* offset); +void* QLineF_Translated2(void* ptr, double dx, double dy); +void* QLineF_UnitVector(void* ptr); +double QLineF_X1(void* ptr); +double QLineF_X2(void* ptr); +double QLineF_Y1(void* ptr); +double QLineF_Y2(void* ptr); +void* QLocale_NewQLocale(); +void* QLocale_NewQLocale2(struct QtCore_PackedString name); +void* QLocale_NewQLocale3(long long language, long long country); +void* QLocale_NewQLocale4(long long language, long long scri, long long country); +void* QLocale_NewQLocale5(void* other); +struct QtCore_PackedString QLocale_AmText(void* ptr); +struct QtCore_PackedString QLocale_Bcp47Name(void* ptr); +void* QLocale_QLocale_C(); +long long QLocale_Country(void* ptr); +struct QtCore_PackedString QLocale_QLocale_CountryToString(long long country); +struct QtCore_PackedString QLocale_CreateSeparatedList(void* ptr, struct QtCore_PackedString list); +struct QtCore_PackedString QLocale_CurrencySymbol(void* ptr, long long format); +struct QtCore_PackedString QLocale_DateFormat(void* ptr, long long format); +struct QtCore_PackedString QLocale_DateTimeFormat(void* ptr, long long format); +struct QtCore_PackedString QLocale_DayName(void* ptr, int day, long long ty); +void* QLocale_DecimalPoint(void* ptr); +void* QLocale_Exponential(void* ptr); +long long QLocale_FirstDayOfWeek(void* ptr); +struct QtCore_PackedString QLocale_FormattedDataSize2(void* ptr, long long bytes, int precision, long long format); +void* QLocale_GroupSeparator(void* ptr); +long long QLocale_Language(void* ptr); +struct QtCore_PackedString QLocale_QLocale_LanguageToString(long long language); +struct QtCore_PackedList QLocale_QLocale_MatchingLocales(long long language, long long scri, long long country); +long long QLocale_MeasurementSystem(void* ptr); +struct QtCore_PackedString QLocale_MonthName(void* ptr, int month, long long ty); +struct QtCore_PackedString QLocale_Name(void* ptr); +struct QtCore_PackedString QLocale_NativeCountryName(void* ptr); +struct QtCore_PackedString QLocale_NativeLanguageName(void* ptr); +void* QLocale_NegativeSign(void* ptr); +long long QLocale_NumberOptions(void* ptr); +void* QLocale_Percent(void* ptr); +struct QtCore_PackedString QLocale_PmText(void* ptr); +void* QLocale_PositiveSign(void* ptr); +struct QtCore_PackedString QLocale_QuoteString(void* ptr, struct QtCore_PackedString str, long long style); +struct QtCore_PackedString QLocale_QuoteString2(void* ptr, void* str, long long style); +long long QLocale_Script(void* ptr); +struct QtCore_PackedString QLocale_QLocale_ScriptToString(long long scri); +void QLocale_QLocale_SetDefault(void* locale); +void QLocale_SetNumberOptions(void* ptr, long long options); +struct QtCore_PackedString QLocale_StandaloneDayName(void* ptr, int day, long long ty); +struct QtCore_PackedString QLocale_StandaloneMonthName(void* ptr, int month, long long ty); +void QLocale_Swap(void* ptr, void* other); +void* QLocale_QLocale_System(); +long long QLocale_TextDirection(void* ptr); +struct QtCore_PackedString QLocale_TimeFormat(void* ptr, long long format); +struct QtCore_PackedString QLocale_ToCurrencyString(void* ptr, long long value, struct QtCore_PackedString symbol); +struct QtCore_PackedString QLocale_ToCurrencyString2(void* ptr, unsigned long long value, struct QtCore_PackedString symbol); +struct QtCore_PackedString QLocale_ToCurrencyString3(void* ptr, short value, struct QtCore_PackedString symbol); +struct QtCore_PackedString QLocale_ToCurrencyString4(void* ptr, unsigned short value, struct QtCore_PackedString symbol); +struct QtCore_PackedString QLocale_ToCurrencyString5(void* ptr, int value, struct QtCore_PackedString symbol); +struct QtCore_PackedString QLocale_ToCurrencyString6(void* ptr, unsigned int value, struct QtCore_PackedString symbol); +struct QtCore_PackedString QLocale_ToCurrencyString7(void* ptr, double value, struct QtCore_PackedString symbol); +struct QtCore_PackedString QLocale_ToCurrencyString8(void* ptr, double value, struct QtCore_PackedString symbol, int precision); +struct QtCore_PackedString QLocale_ToCurrencyString9(void* ptr, float value, struct QtCore_PackedString symbol); +struct QtCore_PackedString QLocale_ToCurrencyString10(void* ptr, float i, struct QtCore_PackedString symbol, int precision); +void* QLocale_ToDate(void* ptr, struct QtCore_PackedString stri, long long format); +void* QLocale_ToDate2(void* ptr, struct QtCore_PackedString stri, struct QtCore_PackedString format); +void* QLocale_ToDateTime(void* ptr, struct QtCore_PackedString stri, long long format); +void* QLocale_ToDateTime2(void* ptr, struct QtCore_PackedString stri, struct QtCore_PackedString format); +double QLocale_ToDouble(void* ptr, struct QtCore_PackedString s, char* ok); +double QLocale_ToDouble2(void* ptr, void* s, char* ok); +double QLocale_ToDouble3(void* ptr, void* s, char* ok); +float QLocale_ToFloat(void* ptr, struct QtCore_PackedString s, char* ok); +float QLocale_ToFloat2(void* ptr, void* s, char* ok); +float QLocale_ToFloat3(void* ptr, void* s, char* ok); +int QLocale_ToInt(void* ptr, struct QtCore_PackedString s, char* ok); +int QLocale_ToInt2(void* ptr, void* s, char* ok); +int QLocale_ToInt3(void* ptr, void* s, char* ok); +long QLocale_ToLong(void* ptr, struct QtCore_PackedString s, char* ok); +long QLocale_ToLong2(void* ptr, void* s, char* ok); +long QLocale_ToLong3(void* ptr, void* s, char* ok); +long long QLocale_ToLongLong(void* ptr, struct QtCore_PackedString s, char* ok); +long long QLocale_ToLongLong2(void* ptr, void* s, char* ok); +long long QLocale_ToLongLong3(void* ptr, void* s, char* ok); +struct QtCore_PackedString QLocale_ToLower(void* ptr, struct QtCore_PackedString str); +short QLocale_ToShort(void* ptr, struct QtCore_PackedString s, char* ok); +short QLocale_ToShort2(void* ptr, void* s, char* ok); +short QLocale_ToShort3(void* ptr, void* s, char* ok); +struct QtCore_PackedString QLocale_ToString(void* ptr, long long i); +struct QtCore_PackedString QLocale_ToString2(void* ptr, unsigned long long i); +struct QtCore_PackedString QLocale_ToString3(void* ptr, long i); +struct QtCore_PackedString QLocale_ToString4(void* ptr, unsigned long i); +struct QtCore_PackedString QLocale_ToString5(void* ptr, short i); +struct QtCore_PackedString QLocale_ToString6(void* ptr, unsigned short i); +struct QtCore_PackedString QLocale_ToString7(void* ptr, int i); +struct QtCore_PackedString QLocale_ToString8(void* ptr, unsigned int i); +struct QtCore_PackedString QLocale_ToString9(void* ptr, double i, char* ff, int prec); +struct QtCore_PackedString QLocale_ToString10(void* ptr, float i, char* ff, int prec); +struct QtCore_PackedString QLocale_ToString11(void* ptr, void* date, struct QtCore_PackedString format); +struct QtCore_PackedString QLocale_ToString12(void* ptr, void* ti, struct QtCore_PackedString format); +struct QtCore_PackedString QLocale_ToString13(void* ptr, void* dateTime, struct QtCore_PackedString format); +struct QtCore_PackedString QLocale_ToString14(void* ptr, void* date, void* format); +struct QtCore_PackedString QLocale_ToString15(void* ptr, void* ti, void* format); +struct QtCore_PackedString QLocale_ToString16(void* ptr, void* dateTime, void* format); +struct QtCore_PackedString QLocale_ToString17(void* ptr, void* date, long long format); +struct QtCore_PackedString QLocale_ToString18(void* ptr, void* ti, long long format); +struct QtCore_PackedString QLocale_ToString19(void* ptr, void* dateTime, long long format); +void* QLocale_ToTime(void* ptr, struct QtCore_PackedString stri, long long format); +void* QLocale_ToTime2(void* ptr, struct QtCore_PackedString stri, struct QtCore_PackedString format); +unsigned int QLocale_ToUInt(void* ptr, struct QtCore_PackedString s, char* ok); +unsigned int QLocale_ToUInt2(void* ptr, void* s, char* ok); +unsigned int QLocale_ToUInt3(void* ptr, void* s, char* ok); +unsigned long QLocale_ToULong(void* ptr, struct QtCore_PackedString s, char* ok); +unsigned long QLocale_ToULong2(void* ptr, void* s, char* ok); +unsigned long QLocale_ToULong3(void* ptr, void* s, char* ok); +unsigned long long QLocale_ToULongLong(void* ptr, struct QtCore_PackedString s, char* ok); +unsigned long long QLocale_ToULongLong2(void* ptr, void* s, char* ok); +unsigned long long QLocale_ToULongLong3(void* ptr, void* s, char* ok); +unsigned short QLocale_ToUShort(void* ptr, struct QtCore_PackedString s, char* ok); +unsigned short QLocale_ToUShort2(void* ptr, void* s, char* ok); +unsigned short QLocale_ToUShort3(void* ptr, void* s, char* ok); +struct QtCore_PackedString QLocale_ToUpper(void* ptr, struct QtCore_PackedString str); +struct QtCore_PackedString QLocale_UiLanguages(void* ptr); +struct QtCore_PackedList QLocale_Weekdays(void* ptr); +void* QLocale_ZeroDigit(void* ptr); +void QLocale_DestroyQLocale(void* ptr); +void* QLocale___matchingLocales_atList(void* ptr, int i); +void QLocale___matchingLocales_setList(void* ptr, void* i); +void* QLocale___matchingLocales_newList(void* ptr); +long long QLocale___weekdays_atList(void* ptr, int i); +void QLocale___weekdays_setList(void* ptr, long long i); +void* QLocale___weekdays_newList(void* ptr); +void* QLockFile_NewQLockFile(struct QtCore_PackedString fileName); +long long QLockFile_Error(void* ptr); +char QLockFile_GetLockInfo(void* ptr, long long pid, struct QtCore_PackedString hostname, struct QtCore_PackedString appname); +char QLockFile_IsLocked(void* ptr); +char QLockFile_Lock(void* ptr); +char QLockFile_RemoveStaleLockFile(void* ptr); +void QLockFile_SetStaleLockTime(void* ptr, int staleLockTime); +int QLockFile_StaleLockTime(void* ptr); +char QLockFile_TryLock(void* ptr, int timeout); +void QLockFile_Unlock(void* ptr); +void QLockFile_DestroyQLockFile(void* ptr); +void* QLoggingCategory_NewQLoggingCategory2(char* category); +struct QtCore_PackedString QLoggingCategory_CategoryName(void* ptr); +void* QLoggingCategory_QLoggingCategory_DefaultCategory(); +char QLoggingCategory_IsCriticalEnabled(void* ptr); +char QLoggingCategory_IsDebugEnabled(void* ptr); +char QLoggingCategory_IsInfoEnabled(void* ptr); +char QLoggingCategory_IsWarningEnabled(void* ptr); +void QLoggingCategory_QLoggingCategory_SetFilterRules(struct QtCore_PackedString rules); +void QLoggingCategory_DestroyQLoggingCategory(void* ptr); +void* QMargins_NewQMargins(); +void* QMargins_NewQMargins2(int left, int top, int right, int bottom); +int QMargins_Bottom(void* ptr); +char QMargins_IsNull(void* ptr); +int QMargins_Left(void* ptr); +int QMargins_Right(void* ptr); +void QMargins_SetBottom(void* ptr, int bottom); +void QMargins_SetLeft(void* ptr, int left); +void QMargins_SetRight(void* ptr, int right); +void QMargins_SetTop(void* ptr, int Top); +int QMargins_Top(void* ptr); +void* QMarginsF_NewQMarginsF(); +void* QMarginsF_NewQMarginsF2(double left, double top, double right, double bottom); +void* QMarginsF_NewQMarginsF3(void* margins); +double QMarginsF_Bottom(void* ptr); +char QMarginsF_IsNull(void* ptr); +double QMarginsF_Left(void* ptr); +double QMarginsF_Right(void* ptr); +void QMarginsF_SetBottom(void* ptr, double bottom); +void QMarginsF_SetLeft(void* ptr, double left); +void QMarginsF_SetRight(void* ptr, double right); +void QMarginsF_SetTop(void* ptr, double Top); +void* QMarginsF_ToMargins(void* ptr); +double QMarginsF_Top(void* ptr); +void* QMessageAuthenticationCode_NewQMessageAuthenticationCode(long long method, void* key); +void QMessageAuthenticationCode_AddData(void* ptr, char* data, int length); +void QMessageAuthenticationCode_AddData2(void* ptr, void* data); +char QMessageAuthenticationCode_AddData3(void* ptr, void* device); +void* QMessageAuthenticationCode_QMessageAuthenticationCode_Hash(void* message, void* key, long long method); +void QMessageAuthenticationCode_Reset(void* ptr); +void* QMessageAuthenticationCode_Result(void* ptr); +void QMessageAuthenticationCode_SetKey(void* ptr, void* key); +void QMessageAuthenticationCode_DestroyQMessageAuthenticationCode(void* ptr); +void* QMessageLogger_NewQMessageLogger2(); +void* QMessageLogger_NewQMessageLogger3(char* file, int line, char* function); +void* QMessageLogger_NewQMessageLogger4(char* file, int line, char* function, char* category); +void* QMessageLogger_Critical4(void* ptr); +void* QMessageLogger_Critical5(void* ptr, void* cat); +void* QMessageLogger_Debug4(void* ptr); +void* QMessageLogger_Debug5(void* ptr, void* cat); +void* QMessageLogger_Info4(void* ptr); +void* QMessageLogger_Info5(void* ptr, void* cat); +void* QMessageLogger_Warning4(void* ptr); +void* QMessageLogger_Warning5(void* ptr, void* cat); +struct QtCore_PackedString QMetaClassInfo_Name(void* ptr); +struct QtCore_PackedString QMetaClassInfo_Value(void* ptr); +struct QtCore_PackedString QMetaEnum_EnumName(void* ptr); +char QMetaEnum_IsFlag(void* ptr); +char QMetaEnum_IsScoped(void* ptr); +char QMetaEnum_IsValid(void* ptr); +struct QtCore_PackedString QMetaEnum_Key(void* ptr, int index); +int QMetaEnum_KeyCount(void* ptr); +int QMetaEnum_KeyToValue(void* ptr, char* key, char* ok); +int QMetaEnum_KeysToValue(void* ptr, char* keys, char* ok); +struct QtCore_PackedString QMetaEnum_Name(void* ptr); +struct QtCore_PackedString QMetaEnum_Scope(void* ptr); +int QMetaEnum_Value(void* ptr, int index); +struct QtCore_PackedString QMetaEnum_ValueToKey(void* ptr, int value); +void* QMetaEnum_ValueToKeys(void* ptr, int value); +long long QMetaMethod_Access(void* ptr); +char QMetaMethod_Invoke(void* ptr, void* object, long long connectionType, void* returnValue, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +char QMetaMethod_Invoke2(void* ptr, void* object, void* returnValue, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +char QMetaMethod_Invoke3(void* ptr, void* object, long long connectionType, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +char QMetaMethod_Invoke4(void* ptr, void* object, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +char QMetaMethod_InvokeOnGadget(void* ptr, void* gadget, void* returnValue, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +char QMetaMethod_InvokeOnGadget2(void* ptr, void* gadget, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +char QMetaMethod_IsValid(void* ptr); +int QMetaMethod_MethodIndex(void* ptr); +void* QMetaMethod_MethodSignature(void* ptr); +long long QMetaMethod_MethodType(void* ptr); +void* QMetaMethod_Name(void* ptr); +int QMetaMethod_ParameterCount(void* ptr); +struct QtCore_PackedList QMetaMethod_ParameterNames(void* ptr); +int QMetaMethod_ParameterType(void* ptr, int index); +struct QtCore_PackedList QMetaMethod_ParameterTypes(void* ptr); +int QMetaMethod_ReturnType(void* ptr); +int QMetaMethod_Revision(void* ptr); +struct QtCore_PackedString QMetaMethod_Tag(void* ptr); +struct QtCore_PackedString QMetaMethod_TypeName(void* ptr); +void* QMetaMethod___parameterNames_atList(void* ptr, int i); +void QMetaMethod___parameterNames_setList(void* ptr, void* i); +void* QMetaMethod___parameterNames_newList(void* ptr); +void* QMetaMethod___parameterTypes_atList(void* ptr, int i); +void QMetaMethod___parameterTypes_setList(void* ptr, void* i); +void* QMetaMethod___parameterTypes_newList(void* ptr); +char QMetaObject_QMetaObject_CheckConnectArgs(char* sign, char* method); +char QMetaObject_QMetaObject_CheckConnectArgs2(void* sign, void* method); +int QMetaObject_ClassInfoCount(void* ptr); +int QMetaObject_ClassInfoOffset(void* ptr); +struct QtCore_PackedString QMetaObject_ClassName(void* ptr); +void QMetaObject_QMetaObject_ConnectSlotsByName(void* object); +void* QMetaObject_Constructor(void* ptr, int index); +int QMetaObject_ConstructorCount(void* ptr); +int QMetaObject_EnumeratorCount(void* ptr); +int QMetaObject_EnumeratorOffset(void* ptr); +int QMetaObject_IndexOfClassInfo(void* ptr, char* name); +int QMetaObject_IndexOfConstructor(void* ptr, char* constructor); +int QMetaObject_IndexOfEnumerator(void* ptr, char* name); +int QMetaObject_IndexOfMethod(void* ptr, char* method); +int QMetaObject_IndexOfProperty(void* ptr, char* name); +int QMetaObject_IndexOfSignal(void* ptr, char* sign); +int QMetaObject_IndexOfSlot(void* ptr, char* slot); +char QMetaObject_Inherits(void* ptr, void* metaObject); +char QMetaObject_QMetaObject_InvokeMethod(void* obj, char* member, long long ty, void* ret, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +char QMetaObject_QMetaObject_InvokeMethod2(void* obj, char* member, void* ret, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +char QMetaObject_QMetaObject_InvokeMethod3(void* obj, char* member, long long ty, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +char QMetaObject_QMetaObject_InvokeMethod4(void* obj, char* member, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +void* QMetaObject_Method(void* ptr, int index); +int QMetaObject_MethodCount(void* ptr); +int QMetaObject_MethodOffset(void* ptr); +void* QMetaObject_NewInstance(void* ptr, void* val0, void* val1, void* val2, void* val3, void* val4, void* val5, void* val6, void* val7, void* val8, void* val9); +void* QMetaObject_QMetaObject_NormalizedSignature(char* method); +void* QMetaObject_QMetaObject_NormalizedType(char* ty); +int QMetaObject_PropertyCount(void* ptr); +int QMetaObject_PropertyOffset(void* ptr); +void* QMetaObject_SuperClass(void* ptr); +char QMetaProperty_HasNotifySignal(void* ptr); +char QMetaProperty_IsConstant(void* ptr); +char QMetaProperty_IsDesignable(void* ptr, void* object); +char QMetaProperty_IsEnumType(void* ptr); +char QMetaProperty_IsFinal(void* ptr); +char QMetaProperty_IsFlagType(void* ptr); +char QMetaProperty_IsReadable(void* ptr); +char QMetaProperty_IsResettable(void* ptr); +char QMetaProperty_IsScriptable(void* ptr, void* object); +char QMetaProperty_IsStored(void* ptr, void* object); +char QMetaProperty_IsUser(void* ptr, void* object); +char QMetaProperty_IsValid(void* ptr); +char QMetaProperty_IsWritable(void* ptr); +struct QtCore_PackedString QMetaProperty_Name(void* ptr); +void* QMetaProperty_NotifySignal(void* ptr); +int QMetaProperty_NotifySignalIndex(void* ptr); +int QMetaProperty_PropertyIndex(void* ptr); +void* QMetaProperty_Read(void* ptr, void* object); +void* QMetaProperty_ReadOnGadget(void* ptr, void* gadget); +char QMetaProperty_Reset(void* ptr, void* object); +char QMetaProperty_ResetOnGadget(void* ptr, void* gadget); +int QMetaProperty_Revision(void* ptr); +long long QMetaProperty_Type(void* ptr); +struct QtCore_PackedString QMetaProperty_TypeName(void* ptr); +int QMetaProperty_UserType(void* ptr); +char QMetaProperty_Write(void* ptr, void* object, void* value); +char QMetaProperty_WriteOnGadget(void* ptr, void* gadget, void* value); +void* QMetaType_NewQMetaType(int typeId); +char QMetaType_QMetaType_Compare(void* lhs, void* rhs, int typeId, int result); +void* QMetaType_QMetaType_Construct2(int ty, void* where, void* copy); +void* QMetaType_Construct3(void* ptr, void* where, void* copy); +char QMetaType_QMetaType_Convert(void* from, int fromTypeId, void* to, int toTypeId); +void* QMetaType_QMetaType_Create(int ty, void* copy); +void* QMetaType_Create2(void* ptr, void* copy); +char QMetaType_QMetaType_DebugStream(void* dbg, void* rhs, int typeId); +void QMetaType_QMetaType_Destroy(int ty, void* data); +void QMetaType_Destroy2(void* ptr, void* data); +void QMetaType_QMetaType_Destruct(int ty, void* where); +void QMetaType_Destruct2(void* ptr, void* data); +char QMetaType_QMetaType_Equals(void* lhs, void* rhs, int typeId, int result); +long long QMetaType_Flags(void* ptr); +int QMetaType_Id(void* ptr); +char QMetaType_QMetaType_IsRegistered(int ty); +char QMetaType_IsRegistered2(void* ptr); +char QMetaType_IsValid(void* ptr); +char QMetaType_QMetaType_Load(void* stream, int ty, void* data); +void* QMetaType_MetaObject(void* ptr); +void* QMetaType_QMetaType_MetaObjectForType(int ty); +char QMetaType_QMetaType_Save(void* stream, int ty, void* data); +int QMetaType_QMetaType_SizeOf(int ty); +int QMetaType_SizeOf2(void* ptr); +int QMetaType_QMetaType_Type(char* typeName); +int QMetaType_QMetaType_Type2(void* typeName); +long long QMetaType_QMetaType_TypeFlags(int ty); +struct QtCore_PackedString QMetaType_QMetaType_TypeName(int typeId); +void QMetaType_DestroyQMetaType(void* ptr); +void* QMimeData_NewQMimeData(); +void QMimeData_Clear(void* ptr); +void* QMimeData_ColorData(void* ptr); +void* QMimeData_Data(void* ptr, struct QtCore_PackedString mimeType); +struct QtCore_PackedString QMimeData_Formats(void* ptr); +struct QtCore_PackedString QMimeData_FormatsDefault(void* ptr); +char QMimeData_HasColor(void* ptr); +char QMimeData_HasFormat(void* ptr, struct QtCore_PackedString mimeType); +char QMimeData_HasFormatDefault(void* ptr, struct QtCore_PackedString mimeType); +char QMimeData_HasHtml(void* ptr); +char QMimeData_HasImage(void* ptr); +char QMimeData_HasText(void* ptr); +char QMimeData_HasUrls(void* ptr); +struct QtCore_PackedString QMimeData_Html(void* ptr); +void* QMimeData_ImageData(void* ptr); +void QMimeData_RemoveFormat(void* ptr, struct QtCore_PackedString mimeType); +void* QMimeData_RetrieveData(void* ptr, struct QtCore_PackedString mimeType, long long ty); +void* QMimeData_RetrieveDataDefault(void* ptr, struct QtCore_PackedString mimeType, long long ty); +void QMimeData_SetColorData(void* ptr, void* color); +void QMimeData_SetData(void* ptr, struct QtCore_PackedString mimeType, void* data); +void QMimeData_SetHtml(void* ptr, struct QtCore_PackedString html); +void QMimeData_SetImageData(void* ptr, void* image); +void QMimeData_SetText(void* ptr, struct QtCore_PackedString text); +void QMimeData_SetUrls(void* ptr, void* urls); +struct QtCore_PackedString QMimeData_Text(void* ptr); +struct QtCore_PackedList QMimeData_Urls(void* ptr); +void QMimeData_DestroyQMimeData(void* ptr); +void QMimeData_DestroyQMimeDataDefault(void* ptr); +void* QMimeData___setUrls_urls_atList(void* ptr, int i); +void QMimeData___setUrls_urls_setList(void* ptr, void* i); +void* QMimeData___setUrls_urls_newList(void* ptr); +void* QMimeData___urls_atList(void* ptr, int i); +void QMimeData___urls_setList(void* ptr, void* i); +void* QMimeData___urls_newList(void* ptr); +void* QMimeDatabase_NewQMimeDatabase2(); +struct QtCore_PackedList QMimeDatabase_AllMimeTypes(void* ptr); +void* QMimeDatabase_MimeTypeForData(void* ptr, void* data); +void* QMimeDatabase_MimeTypeForData2(void* ptr, void* device); +void* QMimeDatabase_MimeTypeForFile(void* ptr, void* fileInfo, long long mode); +void* QMimeDatabase_MimeTypeForFile2(void* ptr, struct QtCore_PackedString fileName, long long mode); +void* QMimeDatabase_MimeTypeForFileNameAndData(void* ptr, struct QtCore_PackedString fileName, void* device); +void* QMimeDatabase_MimeTypeForFileNameAndData2(void* ptr, struct QtCore_PackedString fileName, void* data); +void* QMimeDatabase_MimeTypeForName(void* ptr, struct QtCore_PackedString nameOrAlias); +void* QMimeDatabase_MimeTypeForUrl(void* ptr, void* url); +struct QtCore_PackedList QMimeDatabase_MimeTypesForFileName(void* ptr, struct QtCore_PackedString fileName); +struct QtCore_PackedString QMimeDatabase_SuffixForFileName(void* ptr, struct QtCore_PackedString fileName); +void QMimeDatabase_DestroyQMimeDatabase(void* ptr); +void* QMimeDatabase___allMimeTypes_atList(void* ptr, int i); +void QMimeDatabase___allMimeTypes_setList(void* ptr, void* i); +void* QMimeDatabase___allMimeTypes_newList(void* ptr); +void* QMimeDatabase___mimeTypesForFileName_atList(void* ptr, int i); +void QMimeDatabase___mimeTypesForFileName_setList(void* ptr, void* i); +void* QMimeDatabase___mimeTypesForFileName_newList(void* ptr); +void* QMimeType_NewQMimeType(); +void* QMimeType_NewQMimeType2(void* other); +struct QtCore_PackedString QMimeType_Aliases(void* ptr); +struct QtCore_PackedString QMimeType_AllAncestors(void* ptr); +struct QtCore_PackedString QMimeType_Comment(void* ptr); +struct QtCore_PackedString QMimeType_FilterString(void* ptr); +struct QtCore_PackedString QMimeType_GenericIconName(void* ptr); +struct QtCore_PackedString QMimeType_GlobPatterns(void* ptr); +struct QtCore_PackedString QMimeType_IconName(void* ptr); +char QMimeType_Inherits(void* ptr, struct QtCore_PackedString mimeTypeName); +char QMimeType_IsDefault(void* ptr); +char QMimeType_IsValid(void* ptr); +struct QtCore_PackedString QMimeType_Name(void* ptr); +struct QtCore_PackedString QMimeType_ParentMimeTypes(void* ptr); +struct QtCore_PackedString QMimeType_PreferredSuffix(void* ptr); +struct QtCore_PackedString QMimeType_Suffixes(void* ptr); +void QMimeType_Swap(void* ptr, void* other); +void QMimeType_DestroyQMimeType(void* ptr); +void* QModelIndex_NewQModelIndex(); +int QModelIndex_Column(void* ptr); +void* QModelIndex_Data(void* ptr, int role); +long long QModelIndex_Flags(void* ptr); +uintptr_t QModelIndex_InternalId(void* ptr); +void* QModelIndex_InternalPointer(void* ptr); +char QModelIndex_IsValid(void* ptr); +void* QModelIndex_Model(void* ptr); +void* QModelIndex_Parent(void* ptr); +int QModelIndex_Row(void* ptr); +void* QModelIndex_Sibling(void* ptr, int row, int column); +void* QModelIndex_SiblingAtColumn(void* ptr, int column); +void* QModelIndex_SiblingAtRow(void* ptr, int row); +void* QMutex_NewQMutex(long long mode); +void QMutex_Lock(void* ptr); +char QMutex_TryLock(void* ptr, int timeout); +char QMutex_Try_lock(void* ptr); +void QMutex_Unlock(void* ptr); +void QMutex_DestroyQMutex(void* ptr); +void* QMutexLocker_NewQMutexLocker(void* mutex); +void* QMutexLocker_Mutex(void* ptr); +void QMutexLocker_Relock(void* ptr); +void QMutexLocker_Unlock(void* ptr); +void QMutexLocker_DestroyQMutexLocker(void* ptr); +void* QObject_NewQObject(void* parent); +char QObject_BlockSignals(void* ptr, char block); +void QObject_ChildEvent(void* ptr, void* event); +void QObject_ChildEventDefault(void* ptr, void* event); +struct QtCore_PackedList QObject_Children(void* ptr); +void QObject_ConnectNotify(void* ptr, void* sign); +void QObject_ConnectNotifyDefault(void* ptr, void* sign); +void QObject_CustomEvent(void* ptr, void* event); +void QObject_CustomEventDefault(void* ptr, void* event); +void QObject_DeleteLater(void* ptr); +void QObject_DeleteLaterDefault(void* ptr); +void QObject_ConnectDestroyed(void* ptr, long long t); +void QObject_DisconnectDestroyed(void* ptr); +void QObject_Destroyed(void* ptr, void* obj); +char QObject_QObject_Disconnect(void* sender, char* sign, void* receiver, char* method); +char QObject_QObject_Disconnect2(void* sender, void* sign, void* receiver, void* method); +char QObject_Disconnect3(void* ptr, char* sign, void* receiver, char* method); +char QObject_Disconnect4(void* ptr, void* receiver, char* method); +void QObject_DisconnectNotify(void* ptr, void* sign); +void QObject_DisconnectNotifyDefault(void* ptr, void* sign); +void QObject_DumpObjectInfo(void* ptr); +void QObject_DumpObjectTree(void* ptr); +struct QtCore_PackedList QObject_DynamicPropertyNames(void* ptr); +char QObject_Event(void* ptr, void* e); +char QObject_EventDefault(void* ptr, void* e); +char QObject_EventFilter(void* ptr, void* watched, void* event); +char QObject_EventFilterDefault(void* ptr, void* watched, void* event); +void* QObject_FindChild(void* ptr, struct QtCore_PackedString name, long long options); +struct QtCore_PackedList QObject_FindChildren(void* ptr, struct QtCore_PackedString name, long long options); +struct QtCore_PackedList QObject_FindChildren3(void* ptr, void* re, long long options); +char QObject_Inherits(void* ptr, char* className); +void QObject_InstallEventFilter(void* ptr, void* filterObj); +char QObject_IsSignalConnected(void* ptr, void* sign); +char QObject_IsWidgetType(void* ptr); +char QObject_IsWindowType(void* ptr); +void QObject_KillTimer(void* ptr, int id); +void* QObject_MetaObject(void* ptr); +void* QObject_MetaObjectDefault(void* ptr); +void QObject_MoveToThread(void* ptr, void* targetThread); +struct QtCore_PackedString QObject_ObjectName(void* ptr); +void QObject_ConnectObjectNameChanged(void* ptr, long long t); +void QObject_DisconnectObjectNameChanged(void* ptr); +void* QObject_Parent(void* ptr); +void* QObject_Property(void* ptr, char* name); +int QObject_Receivers(void* ptr, char* sign); +void QObject_RemoveEventFilter(void* ptr, void* obj); +void* QObject_Sender(void* ptr); +int QObject_SenderSignalIndex(void* ptr); +void QObject_SetObjectName(void* ptr, struct QtCore_PackedString name); +void QObject_SetParent(void* ptr, void* parent); +char QObject_SetProperty(void* ptr, char* name, void* value); +char QObject_SignalsBlocked(void* ptr); +int QObject_StartTimer(void* ptr, int interval, long long timerType); +void* QObject_Thread(void* ptr); +void QObject_TimerEvent(void* ptr, void* event); +void QObject_TimerEventDefault(void* ptr, void* event); +struct QtCore_PackedString QObject_QObject_Tr(char* sourceText, char* disambiguation, int n); +void QObject_DestroyQObject(void* ptr); +void QObject_DestroyQObjectDefault(void* ptr); +void* QObject_InvokeMethod(void* ptr, char* name, void* arg); +void* QObject_ToVariant(void* ptr); +void* QObject___children_atList(void* ptr, int i); +void QObject___children_setList(void* ptr, void* i); +void* QObject___children_newList(void* ptr); +void* QObject___dynamicPropertyNames_atList(void* ptr, int i); +void QObject___dynamicPropertyNames_setList(void* ptr, void* i); +void* QObject___dynamicPropertyNames_newList(void* ptr); +void* QObject___findChildren_atList(void* ptr, int i); +void QObject___findChildren_setList(void* ptr, void* i); +void* QObject___findChildren_newList(void* ptr); +void* QObject___findChildren_atList2(void* ptr, int i); +void QObject___findChildren_setList2(void* ptr, void* i); +void* QObject___findChildren_newList2(void* ptr); +void* QObject___findChildren_atList3(void* ptr, int i); +void QObject___findChildren_setList3(void* ptr, void* i); +void* QObject___findChildren_newList3(void* ptr); +void* QObject___qFindChildren_atList(void* ptr, int i); +void QObject___qFindChildren_setList(void* ptr, void* i); +void* QObject___qFindChildren_newList(void* ptr); +void* QObject___qFindChildren_atList2(void* ptr, int i); +void QObject___qFindChildren_setList2(void* ptr, void* i); +void* QObject___qFindChildren_newList2(void* ptr); +void* QObjectCleanupHandler_NewQObjectCleanupHandler(); +void* QObjectCleanupHandler_Add(void* ptr, void* object); +void QObjectCleanupHandler_Clear(void* ptr); +char QObjectCleanupHandler_IsEmpty(void* ptr); +void QObjectCleanupHandler_Remove(void* ptr, void* object); +void QObjectCleanupHandler_DestroyQObjectCleanupHandler(void* ptr); +void QObjectCleanupHandler_DestroyQObjectCleanupHandlerDefault(void* ptr); +void* QObjectCleanupHandler___cleanupObjects_atList(void* ptr, int i); +void QObjectCleanupHandler___cleanupObjects_setList(void* ptr, void* i); +void* QObjectCleanupHandler___cleanupObjects_newList(void* ptr); +void* QObjectCleanupHandler___setCleanupObjects__atList(void* ptr, int i); +void QObjectCleanupHandler___setCleanupObjects__setList(void* ptr, void* i); +void* QObjectCleanupHandler___setCleanupObjects__newList(void* ptr); +void* QObjectData___children_atList(void* ptr, int i); +void QObjectData___children_setList(void* ptr, void* i); +void* QObjectData___children_newList(void* ptr); +void* QObjectData___setChildren__atList(void* ptr, int i); +void QObjectData___setChildren__setList(void* ptr, void* i); +void* QObjectData___setChildren__newList(void* ptr); +void* QOperatingSystemVersion_NewQOperatingSystemVersion2(long long osType, int vmajor, int vminor, int vmicro); +void* QOperatingSystemVersion_QOperatingSystemVersion_Current(); +long long QOperatingSystemVersion_QOperatingSystemVersion_CurrentType(); +int QOperatingSystemVersion_MajorVersion(void* ptr); +int QOperatingSystemVersion_MicroVersion(void* ptr); +int QOperatingSystemVersion_MinorVersion(void* ptr); +struct QtCore_PackedString QOperatingSystemVersion_Name(void* ptr); +int QOperatingSystemVersion_SegmentCount(void* ptr); +long long QOperatingSystemVersion_Type(void* ptr); +void* QOperatingSystemVersion_QOperatingSystemVersion_Windows7(); +void* QOperatingSystemVersion_QOperatingSystemVersion_Windows8(); +void* QOperatingSystemVersion_QOperatingSystemVersion_Windows8_1(); +void* QOperatingSystemVersion_QOperatingSystemVersion_Windows10(); +void* QOperatingSystemVersion_QOperatingSystemVersion_OSXMavericks(); +void* QOperatingSystemVersion_QOperatingSystemVersion_OSXYosemite(); +void* QOperatingSystemVersion_QOperatingSystemVersion_OSXElCapitan(); +void* QOperatingSystemVersion_QOperatingSystemVersion_MacOSSierra(); +void* QOperatingSystemVersion_QOperatingSystemVersion_MacOSHighSierra(); +void* QOperatingSystemVersion_QOperatingSystemVersion_MacOSMojave(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean_MR1(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidJellyBean_MR2(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidKitKat(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidLollipop(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidLollipop_MR1(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidMarshmallow(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidNougat(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidNougat_MR1(); +void* QOperatingSystemVersion_QOperatingSystemVersion_AndroidOreo(); +void* QOperatingSystemVersion_NewQOperatingSystemVersion(void* other); +void* QParallelAnimationGroup_NewQParallelAnimationGroup(void* parent); +int QParallelAnimationGroup_Duration(void* ptr); +int QParallelAnimationGroup_DurationDefault(void* ptr); +void QParallelAnimationGroup_UpdateCurrentTime(void* ptr, int currentTime); +void QParallelAnimationGroup_UpdateCurrentTimeDefault(void* ptr, int currentTime); +void QParallelAnimationGroup_DestroyQParallelAnimationGroup(void* ptr); +void QParallelAnimationGroup_DestroyQParallelAnimationGroupDefault(void* ptr); +void* QPauseAnimation_NewQPauseAnimation(void* parent); +void* QPauseAnimation_NewQPauseAnimation2(int msecs, void* parent); +int QPauseAnimation_Duration(void* ptr); +int QPauseAnimation_DurationDefault(void* ptr); +void QPauseAnimation_SetDuration(void* ptr, int msecs); +void QPauseAnimation_UpdateCurrentTime(void* ptr, int vin); +void QPauseAnimation_UpdateCurrentTimeDefault(void* ptr, int vin); +void QPauseAnimation_DestroyQPauseAnimation(void* ptr); +void QPauseAnimation_DestroyQPauseAnimationDefault(void* ptr); +void* QPersistentModelIndex_NewQPersistentModelIndex2(void* index); +void* QPersistentModelIndex_NewQPersistentModelIndex3(void* other); +void* QPersistentModelIndex_NewQPersistentModelIndex4(void* other); +int QPersistentModelIndex_Column(void* ptr); +void* QPersistentModelIndex_Data(void* ptr, int role); +long long QPersistentModelIndex_Flags(void* ptr); +char QPersistentModelIndex_IsValid(void* ptr); +void* QPersistentModelIndex_Model(void* ptr); +void* QPersistentModelIndex_Parent(void* ptr); +int QPersistentModelIndex_Row(void* ptr); +void* QPersistentModelIndex_Sibling(void* ptr, int row, int column); +void QPersistentModelIndex_Swap(void* ptr, void* other); +void* QPluginLoader_NewQPluginLoader(void* parent); +void* QPluginLoader_NewQPluginLoader2(struct QtCore_PackedString fileName, void* parent); +struct QtCore_PackedString QPluginLoader_ErrorString(void* ptr); +struct QtCore_PackedString QPluginLoader_FileName(void* ptr); +void* QPluginLoader_Instance(void* ptr); +char QPluginLoader_IsLoaded(void* ptr); +char QPluginLoader_Load(void* ptr); +long long QPluginLoader_LoadHints(void* ptr); +void* QPluginLoader_MetaData(void* ptr); +void QPluginLoader_SetFileName(void* ptr, struct QtCore_PackedString fileName); +void QPluginLoader_SetLoadHints(void* ptr, long long loadHints); +struct QtCore_PackedList QPluginLoader_QPluginLoader_StaticInstances(); +char QPluginLoader_Unload(void* ptr); +void QPluginLoader_DestroyQPluginLoader(void* ptr); +void QPluginLoader_DestroyQPluginLoaderDefault(void* ptr); +void* QPluginLoader___staticInstances_atList(void* ptr, int i); +void QPluginLoader___staticInstances_setList(void* ptr, void* i); +void* QPluginLoader___staticInstances_newList(void* ptr); +void QPluginLoader___staticPlugins_setList(void* ptr, void* i); +void* QPluginLoader___staticPlugins_newList(void* ptr); +void* QPoint_NewQPoint(); +void* QPoint_NewQPoint2(int xpos, int ypos); +int QPoint_QPoint_DotProduct(void* p1, void* p2); +char QPoint_IsNull(void* ptr); +int QPoint_ManhattanLength(void* ptr); +int QPoint_Rx(void* ptr); +int QPoint_Ry(void* ptr); +void QPoint_SetX(void* ptr, int x); +void QPoint_SetY(void* ptr, int y); +int QPoint_X(void* ptr); +int QPoint_Y(void* ptr); +void* QPointF_NewQPointF(); +void* QPointF_NewQPointF2(void* point); +void* QPointF_NewQPointF3(double xpos, double ypos); +double QPointF_QPointF_DotProduct(void* p1, void* p2); +char QPointF_IsNull(void* ptr); +double QPointF_ManhattanLength(void* ptr); +double QPointF_Rx(void* ptr); +double QPointF_Ry(void* ptr); +void QPointF_SetX(void* ptr, double x); +void QPointF_SetY(void* ptr, double y); +void* QPointF_ToPoint(void* ptr); +double QPointF_X(void* ptr); +double QPointF_Y(void* ptr); +void* QProcess_NewQProcess(void* parent); +struct QtCore_PackedString QProcess_Arguments(void* ptr); +void QProcess_CloseReadChannel(void* ptr, long long channel); +void QProcess_CloseWriteChannel(void* ptr); +long long QProcess_Error(void* ptr); +void QProcess_ConnectErrorOccurred(void* ptr, long long t); +void QProcess_DisconnectErrorOccurred(void* ptr); +void QProcess_ErrorOccurred(void* ptr, long long error); +int QProcess_QProcess_Execute(struct QtCore_PackedString program, struct QtCore_PackedString arguments); +int QProcess_QProcess_Execute2(struct QtCore_PackedString command); +int QProcess_ExitCode(void* ptr); +long long QProcess_ExitStatus(void* ptr); +void QProcess_ConnectFinished(void* ptr, long long t); +void QProcess_DisconnectFinished(void* ptr); +void QProcess_Finished(void* ptr, int exitCode, long long exitStatus); +long long QProcess_InputChannelMode(void* ptr); +void QProcess_Kill(void* ptr); +void QProcess_KillDefault(void* ptr); +struct QtCore_PackedString QProcess_NativeArguments(void* ptr); +struct QtCore_PackedString QProcess_QProcess_NullDevice(); +long long QProcess_ProcessChannelMode(void* ptr); +void* QProcess_ProcessEnvironment(void* ptr); +long long QProcess_ProcessId(void* ptr); +struct QtCore_PackedString QProcess_Program(void* ptr); +void* QProcess_ReadAllStandardError(void* ptr); +void* QProcess_ReadAllStandardOutput(void* ptr); +long long QProcess_ReadChannel(void* ptr); +long long QProcess_ReadData(void* ptr, char* data, long long maxlen); +long long QProcess_ReadDataDefault(void* ptr, char* data, long long maxlen); +void QProcess_ConnectReadyReadStandardError(void* ptr, long long t); +void QProcess_DisconnectReadyReadStandardError(void* ptr); +void QProcess_ConnectReadyReadStandardOutput(void* ptr, long long t); +void QProcess_DisconnectReadyReadStandardOutput(void* ptr); +void QProcess_SetArguments(void* ptr, struct QtCore_PackedString arguments); +void QProcess_SetInputChannelMode(void* ptr, long long mode); +void QProcess_SetNativeArguments(void* ptr, struct QtCore_PackedString arguments); +void QProcess_SetProcessChannelMode(void* ptr, long long mode); +void QProcess_SetProcessEnvironment(void* ptr, void* environment); +void QProcess_SetProcessState(void* ptr, long long state); +void QProcess_SetProgram(void* ptr, struct QtCore_PackedString program); +void QProcess_SetReadChannel(void* ptr, long long channel); +void QProcess_SetStandardErrorFile(void* ptr, struct QtCore_PackedString fileName, long long mode); +void QProcess_SetStandardInputFile(void* ptr, struct QtCore_PackedString fileName); +void QProcess_SetStandardOutputFile(void* ptr, struct QtCore_PackedString fileName, long long mode); +void QProcess_SetStandardOutputProcess(void* ptr, void* destination); +void QProcess_SetWorkingDirectory(void* ptr, struct QtCore_PackedString dir); +void QProcess_SetupChildProcess(void* ptr); +void QProcess_SetupChildProcessDefault(void* ptr); +void QProcess_Start(void* ptr, struct QtCore_PackedString program, struct QtCore_PackedString arguments, long long mode); +void QProcess_Start2(void* ptr, struct QtCore_PackedString command, long long mode); +void QProcess_Start3(void* ptr, long long mode); +char QProcess_StartDetached(void* ptr, long long pid); +char QProcess_QProcess_StartDetached2(struct QtCore_PackedString program, struct QtCore_PackedString arguments, struct QtCore_PackedString workingDirectory, long long pid); +char QProcess_QProcess_StartDetached3(struct QtCore_PackedString command); +void QProcess_ConnectStarted(void* ptr, long long t); +void QProcess_DisconnectStarted(void* ptr); +long long QProcess_State(void* ptr); +void QProcess_ConnectStateChanged(void* ptr, long long t); +void QProcess_DisconnectStateChanged(void* ptr); +struct QtCore_PackedString QProcess_QProcess_SystemEnvironment(); +void QProcess_Terminate(void* ptr); +void QProcess_TerminateDefault(void* ptr); +char QProcess_WaitForFinished(void* ptr, int msecs); +char QProcess_WaitForStarted(void* ptr, int msecs); +struct QtCore_PackedString QProcess_WorkingDirectory(void* ptr); +long long QProcess_WriteData(void* ptr, char* data, long long l); +long long QProcess_WriteDataDefault(void* ptr, char* data, long long l); +void QProcess_DestroyQProcess(void* ptr); +void QProcess_DestroyQProcessDefault(void* ptr); +void* QProcessEnvironment_NewQProcessEnvironment(); +void* QProcessEnvironment_NewQProcessEnvironment2(void* other); +void QProcessEnvironment_Clear(void* ptr); +char QProcessEnvironment_Contains(void* ptr, struct QtCore_PackedString name); +void QProcessEnvironment_Insert(void* ptr, struct QtCore_PackedString name, struct QtCore_PackedString value); +void QProcessEnvironment_Insert2(void* ptr, void* e); +char QProcessEnvironment_IsEmpty(void* ptr); +struct QtCore_PackedString QProcessEnvironment_Keys(void* ptr); +void QProcessEnvironment_Remove(void* ptr, struct QtCore_PackedString name); +void QProcessEnvironment_Swap(void* ptr, void* other); +void* QProcessEnvironment_QProcessEnvironment_SystemEnvironment(); +struct QtCore_PackedString QProcessEnvironment_ToStringList(void* ptr); +struct QtCore_PackedString QProcessEnvironment_Value(void* ptr, struct QtCore_PackedString name, struct QtCore_PackedString defaultValue); +void QProcessEnvironment_DestroyQProcessEnvironment(void* ptr); +void* QPropertyAnimation_NewQPropertyAnimation(void* parent); +void* QPropertyAnimation_NewQPropertyAnimation2(void* target, void* propertyName, void* parent); +void* QPropertyAnimation_PropertyName(void* ptr); +void QPropertyAnimation_SetPropertyName(void* ptr, void* propertyName); +void QPropertyAnimation_SetTargetObject(void* ptr, void* target); +void* QPropertyAnimation_TargetObject(void* ptr); +void QPropertyAnimation_DestroyQPropertyAnimation(void* ptr); +void QPropertyAnimation_DestroyQPropertyAnimationDefault(void* ptr); +void* QRandomGenerator_NewQRandomGenerator(unsigned int seedValue); +void* QRandomGenerator_NewQRandomGenerator5(unsigned int begin, unsigned int end); +void* QRandomGenerator_NewQRandomGenerator6(void* other); +double QRandomGenerator_Bounded(void* ptr, double highest); +unsigned int QRandomGenerator_Bounded2(void* ptr, unsigned int highest); +int QRandomGenerator_Bounded3(void* ptr, int highest); +unsigned int QRandomGenerator_Bounded4(void* ptr, unsigned int lowest, unsigned int highest); +int QRandomGenerator_Bounded5(void* ptr, int lowest, int highest); +void QRandomGenerator_Discard(void* ptr, unsigned long long z); +unsigned int QRandomGenerator_Generate(void* ptr); +unsigned long long QRandomGenerator_Generate64(void* ptr); +double QRandomGenerator_GenerateDouble(void* ptr); +void* QRandomGenerator_QRandomGenerator_Global(); +void* QRandomGenerator_QRandomGenerator_SecurelySeeded(); +void QRandomGenerator_Seed(void* ptr, unsigned int seed); +void* QRandomGenerator_QRandomGenerator_System(); +unsigned long long QRandomGenerator64_Generate(void* ptr); +void* QReadLocker_NewQReadLocker(void* lock); +void* QReadLocker_ReadWriteLock(void* ptr); +void QReadLocker_Relock(void* ptr); +void QReadLocker_Unlock(void* ptr); +void QReadLocker_DestroyQReadLocker(void* ptr); +void* QReadWriteLock_NewQReadWriteLock(long long recursionMode); +void QReadWriteLock_LockForRead(void* ptr); +void QReadWriteLock_LockForWrite(void* ptr); +char QReadWriteLock_TryLockForRead(void* ptr); +char QReadWriteLock_TryLockForRead2(void* ptr, int timeout); +char QReadWriteLock_TryLockForWrite(void* ptr); +char QReadWriteLock_TryLockForWrite2(void* ptr, int timeout); +void QReadWriteLock_Unlock(void* ptr); +void QReadWriteLock_DestroyQReadWriteLock(void* ptr); +void* QRect_NewQRect(); +void* QRect_NewQRect2(void* topLeft, void* bottomRight); +void* QRect_NewQRect3(void* topLeft, void* size); +void* QRect_NewQRect4(int x, int y, int width, int height); +void QRect_Adjust(void* ptr, int dx1, int dy1, int dx2, int dy2); +void* QRect_Adjusted(void* ptr, int dx1, int dy1, int dx2, int dy2); +int QRect_Bottom(void* ptr); +void* QRect_BottomLeft(void* ptr); +void* QRect_BottomRight(void* ptr); +void* QRect_Center(void* ptr); +char QRect_Contains(void* ptr, void* point, char proper); +char QRect_Contains2(void* ptr, void* rectangle, char proper); +char QRect_Contains3(void* ptr, int x, int y); +char QRect_Contains4(void* ptr, int x, int y, char proper); +void QRect_GetCoords(void* ptr, int x1, int y1, int x2, int y2); +void QRect_GetRect(void* ptr, int x, int y, int width, int height); +int QRect_Height(void* ptr); +void* QRect_Intersected(void* ptr, void* rectangle); +char QRect_Intersects(void* ptr, void* rectangle); +char QRect_IsEmpty(void* ptr); +char QRect_IsNull(void* ptr); +char QRect_IsValid(void* ptr); +int QRect_Left(void* ptr); +void* QRect_MarginsAdded(void* ptr, void* margins); +void* QRect_MarginsRemoved(void* ptr, void* margins); +void QRect_MoveBottom(void* ptr, int y); +void QRect_MoveBottomLeft(void* ptr, void* position); +void QRect_MoveBottomRight(void* ptr, void* position); +void QRect_MoveCenter(void* ptr, void* position); +void QRect_MoveLeft(void* ptr, int x); +void QRect_MoveRight(void* ptr, int x); +void QRect_MoveTo(void* ptr, int x, int y); +void QRect_MoveTo2(void* ptr, void* position); +void QRect_MoveTop(void* ptr, int y); +void QRect_MoveTopLeft(void* ptr, void* position); +void QRect_MoveTopRight(void* ptr, void* position); +void* QRect_Normalized(void* ptr); +int QRect_Right(void* ptr); +void QRect_SetBottom(void* ptr, int y); +void QRect_SetBottomLeft(void* ptr, void* position); +void QRect_SetBottomRight(void* ptr, void* position); +void QRect_SetCoords(void* ptr, int x1, int y1, int x2, int y2); +void QRect_SetHeight(void* ptr, int height); +void QRect_SetLeft(void* ptr, int x); +void QRect_SetRect(void* ptr, int x, int y, int width, int height); +void QRect_SetRight(void* ptr, int x); +void QRect_SetSize(void* ptr, void* size); +void QRect_SetTop(void* ptr, int y); +void QRect_SetTopLeft(void* ptr, void* position); +void QRect_SetTopRight(void* ptr, void* position); +void QRect_SetWidth(void* ptr, int width); +void QRect_SetX(void* ptr, int x); +void QRect_SetY(void* ptr, int y); +void* QRect_Size(void* ptr); +int QRect_Top(void* ptr); +void* QRect_TopLeft(void* ptr); +void* QRect_TopRight(void* ptr); +void QRect_Translate(void* ptr, int dx, int dy); +void QRect_Translate2(void* ptr, void* offset); +void* QRect_Translated(void* ptr, int dx, int dy); +void* QRect_Translated2(void* ptr, void* offset); +void* QRect_Transposed(void* ptr); +void* QRect_United(void* ptr, void* rectangle); +int QRect_Width(void* ptr); +int QRect_X(void* ptr); +int QRect_Y(void* ptr); +void* QRectF_NewQRectF(); +void* QRectF_NewQRectF2(void* topLeft, void* size); +void* QRectF_NewQRectF3(void* topLeft, void* bottomRight); +void* QRectF_NewQRectF4(double x, double y, double width, double height); +void* QRectF_NewQRectF5(void* rectangle); +void QRectF_Adjust(void* ptr, double dx1, double dy1, double dx2, double dy2); +void* QRectF_Adjusted(void* ptr, double dx1, double dy1, double dx2, double dy2); +double QRectF_Bottom(void* ptr); +void* QRectF_BottomLeft(void* ptr); +void* QRectF_BottomRight(void* ptr); +void* QRectF_Center(void* ptr); +char QRectF_Contains(void* ptr, void* point); +char QRectF_Contains2(void* ptr, void* rectangle); +char QRectF_Contains3(void* ptr, double x, double y); +void QRectF_GetCoords(void* ptr, double x1, double y1, double x2, double y2); +void QRectF_GetRect(void* ptr, double x, double y, double width, double height); +double QRectF_Height(void* ptr); +void* QRectF_Intersected(void* ptr, void* rectangle); +char QRectF_Intersects(void* ptr, void* rectangle); +char QRectF_IsEmpty(void* ptr); +char QRectF_IsNull(void* ptr); +char QRectF_IsValid(void* ptr); +double QRectF_Left(void* ptr); +void* QRectF_MarginsAdded(void* ptr, void* margins); +void* QRectF_MarginsRemoved(void* ptr, void* margins); +void QRectF_MoveBottom(void* ptr, double y); +void QRectF_MoveBottomLeft(void* ptr, void* position); +void QRectF_MoveBottomRight(void* ptr, void* position); +void QRectF_MoveCenter(void* ptr, void* position); +void QRectF_MoveLeft(void* ptr, double x); +void QRectF_MoveRight(void* ptr, double x); +void QRectF_MoveTo(void* ptr, double x, double y); +void QRectF_MoveTo2(void* ptr, void* position); +void QRectF_MoveTop(void* ptr, double y); +void QRectF_MoveTopLeft(void* ptr, void* position); +void QRectF_MoveTopRight(void* ptr, void* position); +void* QRectF_Normalized(void* ptr); +double QRectF_Right(void* ptr); +void QRectF_SetBottom(void* ptr, double y); +void QRectF_SetBottomLeft(void* ptr, void* position); +void QRectF_SetBottomRight(void* ptr, void* position); +void QRectF_SetCoords(void* ptr, double x1, double y1, double x2, double y2); +void QRectF_SetHeight(void* ptr, double height); +void QRectF_SetLeft(void* ptr, double x); +void QRectF_SetRect(void* ptr, double x, double y, double width, double height); +void QRectF_SetRight(void* ptr, double x); +void QRectF_SetSize(void* ptr, void* size); +void QRectF_SetTop(void* ptr, double y); +void QRectF_SetTopLeft(void* ptr, void* position); +void QRectF_SetTopRight(void* ptr, void* position); +void QRectF_SetWidth(void* ptr, double width); +void QRectF_SetX(void* ptr, double x); +void QRectF_SetY(void* ptr, double y); +void* QRectF_Size(void* ptr); +void* QRectF_ToAlignedRect(void* ptr); +void* QRectF_ToRect(void* ptr); +double QRectF_Top(void* ptr); +void* QRectF_TopLeft(void* ptr); +void* QRectF_TopRight(void* ptr); +void QRectF_Translate(void* ptr, double dx, double dy); +void QRectF_Translate2(void* ptr, void* offset); +void* QRectF_Translated(void* ptr, double dx, double dy); +void* QRectF_Translated2(void* ptr, void* offset); +void* QRectF_Transposed(void* ptr); +void* QRectF_United(void* ptr, void* rectangle); +double QRectF_Width(void* ptr); +double QRectF_X(void* ptr); +double QRectF_Y(void* ptr); +void* QRegExp_NewQRegExp(); +void* QRegExp_NewQRegExp2(struct QtCore_PackedString pattern, long long cs, long long syntax); +void* QRegExp_NewQRegExp3(void* rx); +struct QtCore_PackedString QRegExp_Cap(void* ptr, int nth); +int QRegExp_CaptureCount(void* ptr); +struct QtCore_PackedString QRegExp_CapturedTexts(void* ptr); +long long QRegExp_CaseSensitivity(void* ptr); +struct QtCore_PackedString QRegExp_ErrorString(void* ptr); +struct QtCore_PackedString QRegExp_QRegExp_Escape(struct QtCore_PackedString str); +char QRegExp_ExactMatch(void* ptr, struct QtCore_PackedString str); +int QRegExp_IndexIn(void* ptr, struct QtCore_PackedString str, int offset, long long caretMode); +char QRegExp_IsEmpty(void* ptr); +char QRegExp_IsMinimal(void* ptr); +char QRegExp_IsValid(void* ptr); +int QRegExp_LastIndexIn(void* ptr, struct QtCore_PackedString str, int offset, long long caretMode); +int QRegExp_MatchedLength(void* ptr); +struct QtCore_PackedString QRegExp_Pattern(void* ptr); +long long QRegExp_PatternSyntax(void* ptr); +int QRegExp_Pos(void* ptr, int nth); +void QRegExp_SetCaseSensitivity(void* ptr, long long cs); +void QRegExp_SetMinimal(void* ptr, char minimal); +void QRegExp_SetPattern(void* ptr, struct QtCore_PackedString pattern); +void QRegExp_SetPatternSyntax(void* ptr, long long syntax); +void QRegExp_Swap(void* ptr, void* other); +void QRegExp_DestroyQRegExp(void* ptr); +void* QRegularExpression_NewQRegularExpression(); +void* QRegularExpression_NewQRegularExpression2(struct QtCore_PackedString pattern, long long options); +void* QRegularExpression_NewQRegularExpression3(void* re); +struct QtCore_PackedString QRegularExpression_QRegularExpression_AnchoredPattern(struct QtCore_PackedString expression); +int QRegularExpression_CaptureCount(void* ptr); +struct QtCore_PackedString QRegularExpression_ErrorString(void* ptr); +struct QtCore_PackedString QRegularExpression_QRegularExpression_Escape(struct QtCore_PackedString str); +void* QRegularExpression_GlobalMatch(void* ptr, struct QtCore_PackedString subject, int offset, long long matchType, long long matchOptions); +void* QRegularExpression_GlobalMatch2(void* ptr, void* subjectRef, int offset, long long matchType, long long matchOptions); +char QRegularExpression_IsValid(void* ptr); +void* QRegularExpression_Match(void* ptr, struct QtCore_PackedString subject, int offset, long long matchType, long long matchOptions); +void* QRegularExpression_Match2(void* ptr, void* subjectRef, int offset, long long matchType, long long matchOptions); +struct QtCore_PackedString QRegularExpression_NamedCaptureGroups(void* ptr); +void QRegularExpression_Optimize(void* ptr); +struct QtCore_PackedString QRegularExpression_Pattern(void* ptr); +int QRegularExpression_PatternErrorOffset(void* ptr); +long long QRegularExpression_PatternOptions(void* ptr); +void QRegularExpression_SetPattern(void* ptr, struct QtCore_PackedString pattern); +void QRegularExpression_SetPatternOptions(void* ptr, long long options); +void QRegularExpression_Swap(void* ptr, void* other); +struct QtCore_PackedString QRegularExpression_QRegularExpression_WildcardToRegularExpression(struct QtCore_PackedString pattern); +void QRegularExpression_DestroyQRegularExpression(void* ptr); +void* QRegularExpressionMatch_NewQRegularExpressionMatch(); +void* QRegularExpressionMatch_NewQRegularExpressionMatch2(void* match); +struct QtCore_PackedString QRegularExpressionMatch_Captured(void* ptr, int nth); +struct QtCore_PackedString QRegularExpressionMatch_Captured2(void* ptr, struct QtCore_PackedString name); +struct QtCore_PackedString QRegularExpressionMatch_Captured3(void* ptr, void* name); +int QRegularExpressionMatch_CapturedEnd(void* ptr, int nth); +int QRegularExpressionMatch_CapturedEnd2(void* ptr, struct QtCore_PackedString name); +int QRegularExpressionMatch_CapturedEnd3(void* ptr, void* name); +int QRegularExpressionMatch_CapturedLength(void* ptr, int nth); +int QRegularExpressionMatch_CapturedLength2(void* ptr, struct QtCore_PackedString name); +int QRegularExpressionMatch_CapturedLength3(void* ptr, void* name); +void* QRegularExpressionMatch_CapturedRef(void* ptr, int nth); +void* QRegularExpressionMatch_CapturedRef2(void* ptr, struct QtCore_PackedString name); +void* QRegularExpressionMatch_CapturedRef3(void* ptr, void* name); +int QRegularExpressionMatch_CapturedStart(void* ptr, int nth); +int QRegularExpressionMatch_CapturedStart2(void* ptr, struct QtCore_PackedString name); +int QRegularExpressionMatch_CapturedStart3(void* ptr, void* name); +struct QtCore_PackedString QRegularExpressionMatch_CapturedTexts(void* ptr); +void* QRegularExpressionMatch_CapturedView(void* ptr, int nth); +void* QRegularExpressionMatch_CapturedView2(void* ptr, void* name); +char QRegularExpressionMatch_HasMatch(void* ptr); +char QRegularExpressionMatch_HasPartialMatch(void* ptr); +char QRegularExpressionMatch_IsValid(void* ptr); +int QRegularExpressionMatch_LastCapturedIndex(void* ptr); +long long QRegularExpressionMatch_MatchOptions(void* ptr); +long long QRegularExpressionMatch_MatchType(void* ptr); +void* QRegularExpressionMatch_RegularExpression(void* ptr); +void QRegularExpressionMatch_Swap(void* ptr, void* other); +void QRegularExpressionMatch_DestroyQRegularExpressionMatch(void* ptr); +void* QResource_NewQResource(struct QtCore_PackedString file, void* locale); +struct QtCore_PackedString QResource_AbsoluteFilePath(void* ptr); +struct QtCore_PackedString QResource_Children(void* ptr); +long long QResource_CompressionAlgorithm(void* ptr); +struct QtCore_PackedString QResource_Data(void* ptr); +struct QtCore_PackedString QResource_FileName(void* ptr); +char QResource_IsCompressed(void* ptr); +char QResource_IsDir(void* ptr); +char QResource_IsFile(void* ptr); +char QResource_IsValid(void* ptr); +void* QResource_LastModified(void* ptr); +void* QResource_Locale(void* ptr); +char QResource_QResource_RegisterResource(struct QtCore_PackedString rccFileName, struct QtCore_PackedString mapRoot); +char QResource_QResource_RegisterResource2(char* rccData, struct QtCore_PackedString mapRoot); +void QResource_SetFileName(void* ptr, struct QtCore_PackedString file); +void QResource_SetLocale(void* ptr, void* locale); +long long QResource_Size(void* ptr); +char QResource_QResource_UnregisterResource(struct QtCore_PackedString rccFileName, struct QtCore_PackedString mapRoot); +char QResource_QResource_UnregisterResource2(char* rccData, struct QtCore_PackedString mapRoot); +void QResource_DestroyQResource(void* ptr); +void* QRunnable_NewQRunnable(); +char QRunnable_AutoDelete(void* ptr); +void QRunnable_Run(void* ptr); +void QRunnable_SetAutoDelete(void* ptr, char autoDelete); +void QRunnable_DestroyQRunnable(void* ptr); +void QRunnable_DestroyQRunnableDefault(void* ptr); +void* QSaveFile_NewQSaveFile(struct QtCore_PackedString name); +void* QSaveFile_NewQSaveFile2(void* parent); +void* QSaveFile_NewQSaveFile3(struct QtCore_PackedString name, void* parent); +void QSaveFile_CancelWriting(void* ptr); +char QSaveFile_Commit(void* ptr); +char QSaveFile_DirectWriteFallback(void* ptr); +void QSaveFile_SetDirectWriteFallback(void* ptr, char enabled); +void QSaveFile_SetFileName(void* ptr, struct QtCore_PackedString name); +void QSaveFile_DestroyQSaveFile(void* ptr); +void QSaveFile_DestroyQSaveFileDefault(void* ptr); +void* QSemaphore_NewQSemaphore(int n); +void QSemaphore_Acquire(void* ptr, int n); +int QSemaphore_Available(void* ptr); +void QSemaphore_Release(void* ptr, int n); +char QSemaphore_TryAcquire(void* ptr, int n); +char QSemaphore_TryAcquire2(void* ptr, int n, int timeout); +void QSemaphore_DestroyQSemaphore(void* ptr); +void* QSemaphoreReleaser_NewQSemaphoreReleaser(); +void* QSemaphoreReleaser_NewQSemaphoreReleaser2(void* sem, int n); +void* QSemaphoreReleaser_NewQSemaphoreReleaser3(void* sem, int n); +void* QSemaphoreReleaser_Cancel(void* ptr); +void* QSemaphoreReleaser_Semaphore(void* ptr); +void QSemaphoreReleaser_Swap(void* ptr, void* other); +void QSemaphoreReleaser_DestroyQSemaphoreReleaser(void* ptr); +void* QSequentialAnimationGroup_NewQSequentialAnimationGroup(void* parent); +void* QSequentialAnimationGroup_AddPause(void* ptr, int msecs); +void* QSequentialAnimationGroup_CurrentAnimation(void* ptr); +void QSequentialAnimationGroup_ConnectCurrentAnimationChanged(void* ptr, long long t); +void QSequentialAnimationGroup_DisconnectCurrentAnimationChanged(void* ptr); +void QSequentialAnimationGroup_CurrentAnimationChanged(void* ptr, void* current); +int QSequentialAnimationGroup_Duration(void* ptr); +int QSequentialAnimationGroup_DurationDefault(void* ptr); +void* QSequentialAnimationGroup_InsertPause(void* ptr, int index, int msecs); +void QSequentialAnimationGroup_UpdateCurrentTime(void* ptr, int currentTime); +void QSequentialAnimationGroup_UpdateCurrentTimeDefault(void* ptr, int currentTime); +void QSequentialAnimationGroup_DestroyQSequentialAnimationGroup(void* ptr); +void QSequentialAnimationGroup_DestroyQSequentialAnimationGroupDefault(void* ptr); +void* QSequentialIterable_At(void* ptr, int idx); +char QSequentialIterable_CanReverseIterate(void* ptr); +int QSequentialIterable_Size(void* ptr); +void* QSettings_NewQSettings(struct QtCore_PackedString organization, struct QtCore_PackedString application, void* parent); +void* QSettings_NewQSettings2(long long scope, struct QtCore_PackedString organization, struct QtCore_PackedString application, void* parent); +void* QSettings_NewQSettings3(long long format, long long scope, struct QtCore_PackedString organization, struct QtCore_PackedString application, void* parent); +void* QSettings_NewQSettings4(struct QtCore_PackedString fileName, long long format, void* parent); +void* QSettings_NewQSettings5(void* parent); +void* QSettings_NewQSettings6(long long scope, void* parent); +struct QtCore_PackedString QSettings_AllKeys(void* ptr); +struct QtCore_PackedString QSettings_ApplicationName(void* ptr); +void QSettings_BeginGroup(void* ptr, struct QtCore_PackedString prefix); +int QSettings_BeginReadArray(void* ptr, struct QtCore_PackedString prefix); +void QSettings_BeginWriteArray(void* ptr, struct QtCore_PackedString prefix, int size); +struct QtCore_PackedString QSettings_ChildGroups(void* ptr); +struct QtCore_PackedString QSettings_ChildKeys(void* ptr); +void QSettings_Clear(void* ptr); +char QSettings_Contains(void* ptr, struct QtCore_PackedString key); +long long QSettings_QSettings_DefaultFormat(); +void QSettings_EndArray(void* ptr); +void QSettings_EndGroup(void* ptr); +char QSettings_FallbacksEnabled(void* ptr); +struct QtCore_PackedString QSettings_FileName(void* ptr); +long long QSettings_Format(void* ptr); +struct QtCore_PackedString QSettings_Group(void* ptr); +void* QSettings_IniCodec(void* ptr); +char QSettings_IsAtomicSyncRequired(void* ptr); +char QSettings_IsWritable(void* ptr); +struct QtCore_PackedString QSettings_OrganizationName(void* ptr); +void QSettings_Remove(void* ptr, struct QtCore_PackedString key); +long long QSettings_Scope(void* ptr); +void QSettings_SetArrayIndex(void* ptr, int i); +void QSettings_SetAtomicSyncRequired(void* ptr, char enable); +void QSettings_QSettings_SetDefaultFormat(long long format); +void QSettings_SetFallbacksEnabled(void* ptr, char b); +void QSettings_SetIniCodec(void* ptr, void* codec); +void QSettings_SetIniCodec2(void* ptr, char* codecName); +void QSettings_QSettings_SetPath(long long format, long long scope, struct QtCore_PackedString path); +void QSettings_SetValue(void* ptr, struct QtCore_PackedString key, void* value); +long long QSettings_Status(void* ptr); +void QSettings_Sync(void* ptr); +void* QSettings_Value(void* ptr, struct QtCore_PackedString key, void* defaultValue); +void QSettings_DestroyQSettings(void* ptr); +void QSettings_DestroyQSettingsDefault(void* ptr); +void* QSharedData_NewQSharedData(); +void* QSharedData_NewQSharedData2(void* vqs); +void* QSharedMemory_NewQSharedMemory(struct QtCore_PackedString key, void* parent); +void* QSharedMemory_NewQSharedMemory2(void* parent); +char QSharedMemory_Attach(void* ptr, long long mode); +void* QSharedMemory_ConstData(void* ptr); +char QSharedMemory_Create(void* ptr, int size, long long mode); +void* QSharedMemory_Data(void* ptr); +void* QSharedMemory_Data2(void* ptr); +char QSharedMemory_Detach(void* ptr); +long long QSharedMemory_Error(void* ptr); +struct QtCore_PackedString QSharedMemory_ErrorString(void* ptr); +char QSharedMemory_IsAttached(void* ptr); +struct QtCore_PackedString QSharedMemory_Key(void* ptr); +char QSharedMemory_Lock(void* ptr); +struct QtCore_PackedString QSharedMemory_NativeKey(void* ptr); +void QSharedMemory_SetKey(void* ptr, struct QtCore_PackedString key); +void QSharedMemory_SetNativeKey(void* ptr, struct QtCore_PackedString key); +int QSharedMemory_Size(void* ptr); +char QSharedMemory_Unlock(void* ptr); +void QSharedMemory_DestroyQSharedMemory(void* ptr); +void QSharedMemory_DestroyQSharedMemoryDefault(void* ptr); +void* QSignalBlocker_NewQSignalBlocker(void* object); +void* QSignalBlocker_NewQSignalBlocker2(void* object); +void QSignalBlocker_Reblock(void* ptr); +void QSignalBlocker_Unblock(void* ptr); +void QSignalBlocker_DestroyQSignalBlocker(void* ptr); +void* QSignalTransition_NewQSignalTransition(void* sourceState); +void* QSignalTransition_NewQSignalTransition2(void* sender, char* sign, void* sourceState); +char QSignalTransition_EventTest(void* ptr, void* event); +char QSignalTransition_EventTestDefault(void* ptr, void* event); +void QSignalTransition_OnTransition(void* ptr, void* event); +void QSignalTransition_OnTransitionDefault(void* ptr, void* event); +void* QSignalTransition_SenderObject(void* ptr); +void QSignalTransition_ConnectSenderObjectChanged(void* ptr, long long t); +void QSignalTransition_DisconnectSenderObjectChanged(void* ptr); +void QSignalTransition_SetSenderObject(void* ptr, void* sender); +void QSignalTransition_SetSignal(void* ptr, void* sign); +void* QSignalTransition_Signal(void* ptr); +void QSignalTransition_ConnectSignalChanged(void* ptr, long long t); +void QSignalTransition_DisconnectSignalChanged(void* ptr); +void QSignalTransition_DestroyQSignalTransition(void* ptr); +void QSignalTransition_DestroyQSignalTransitionDefault(void* ptr); +void* QSize_NewQSize(); +void* QSize_NewQSize2(int width, int height); +void* QSize_BoundedTo(void* ptr, void* otherSize); +void* QSize_ExpandedTo(void* ptr, void* otherSize); +int QSize_Height(void* ptr); +char QSize_IsEmpty(void* ptr); +char QSize_IsNull(void* ptr); +char QSize_IsValid(void* ptr); +int QSize_Rheight(void* ptr); +int QSize_Rwidth(void* ptr); +void QSize_Scale(void* ptr, int width, int height, long long mode); +void QSize_Scale2(void* ptr, void* size, long long mode); +void* QSize_Scaled(void* ptr, int width, int height, long long mode); +void* QSize_Scaled2(void* ptr, void* s, long long mode); +void QSize_SetHeight(void* ptr, int height); +void QSize_SetWidth(void* ptr, int width); +void QSize_Transpose(void* ptr); +void* QSize_Transposed(void* ptr); +int QSize_Width(void* ptr); +void* QSizeF_NewQSizeF(); +void* QSizeF_NewQSizeF2(void* size); +void* QSizeF_NewQSizeF3(double width, double height); +void* QSizeF_BoundedTo(void* ptr, void* otherSize); +void* QSizeF_ExpandedTo(void* ptr, void* otherSize); +double QSizeF_Height(void* ptr); +char QSizeF_IsEmpty(void* ptr); +char QSizeF_IsNull(void* ptr); +char QSizeF_IsValid(void* ptr); +double QSizeF_Rheight(void* ptr); +double QSizeF_Rwidth(void* ptr); +void QSizeF_Scale(void* ptr, double width, double height, long long mode); +void QSizeF_Scale2(void* ptr, void* size, long long mode); +void* QSizeF_Scaled(void* ptr, double width, double height, long long mode); +void* QSizeF_Scaled2(void* ptr, void* s, long long mode); +void QSizeF_SetHeight(void* ptr, double height); +void QSizeF_SetWidth(void* ptr, double width); +void* QSizeF_ToSize(void* ptr); +void QSizeF_Transpose(void* ptr); +void* QSizeF_Transposed(void* ptr); +double QSizeF_Width(void* ptr); +void QSocketNotifier_ConnectActivated(void* ptr, long long t); +void QSocketNotifier_DisconnectActivated(void* ptr); +char QSocketNotifier_IsEnabled(void* ptr); +void QSocketNotifier_SetEnabled(void* ptr, char enable); +void QSocketNotifier_SetEnabledDefault(void* ptr, char enable); +long long QSocketNotifier_Type(void* ptr); +void QSocketNotifier_DestroyQSocketNotifier(void* ptr); +void QSocketNotifier_DestroyQSocketNotifierDefault(void* ptr); +void* QSortFilterProxyModel_NewQSortFilterProxyModel(void* parent); +int QSortFilterProxyModel_ColumnCount(void* ptr, void* parent); +int QSortFilterProxyModel_ColumnCountDefault(void* ptr, void* parent); +char QSortFilterProxyModel_DynamicSortFilter(void* ptr); +char QSortFilterProxyModel_FilterAcceptsColumn(void* ptr, int source_column, void* source_parent); +char QSortFilterProxyModel_FilterAcceptsColumnDefault(void* ptr, int source_column, void* source_parent); +char QSortFilterProxyModel_FilterAcceptsRow(void* ptr, int source_row, void* source_parent); +char QSortFilterProxyModel_FilterAcceptsRowDefault(void* ptr, int source_row, void* source_parent); +long long QSortFilterProxyModel_FilterCaseSensitivity(void* ptr); +int QSortFilterProxyModel_FilterKeyColumn(void* ptr); +void* QSortFilterProxyModel_FilterRegExp(void* ptr); +void* QSortFilterProxyModel_FilterRegularExpression(void* ptr); +int QSortFilterProxyModel_FilterRole(void* ptr); +void* QSortFilterProxyModel_Index(void* ptr, int row, int column, void* parent); +void* QSortFilterProxyModel_IndexDefault(void* ptr, int row, int column, void* parent); +void QSortFilterProxyModel_Invalidate(void* ptr); +void QSortFilterProxyModel_InvalidateDefault(void* ptr); +void QSortFilterProxyModel_InvalidateFilter(void* ptr); +char QSortFilterProxyModel_IsRecursiveFilteringEnabled(void* ptr); +char QSortFilterProxyModel_IsSortLocaleAware(void* ptr); +char QSortFilterProxyModel_LessThan(void* ptr, void* source_left, void* source_right); +char QSortFilterProxyModel_LessThanDefault(void* ptr, void* source_left, void* source_right); +void* QSortFilterProxyModel_MapFromSource(void* ptr, void* sourceIndex); +void* QSortFilterProxyModel_MapFromSourceDefault(void* ptr, void* sourceIndex); +void* QSortFilterProxyModel_MapToSource(void* ptr, void* proxyIndex); +void* QSortFilterProxyModel_MapToSourceDefault(void* ptr, void* proxyIndex); +void* QSortFilterProxyModel_Parent(void* ptr, void* child); +void* QSortFilterProxyModel_ParentDefault(void* ptr, void* child); +int QSortFilterProxyModel_RowCount(void* ptr, void* parent); +int QSortFilterProxyModel_RowCountDefault(void* ptr, void* parent); +void QSortFilterProxyModel_SetDynamicSortFilter(void* ptr, char enable); +void QSortFilterProxyModel_SetFilterCaseSensitivity(void* ptr, long long cs); +void QSortFilterProxyModel_SetFilterFixedString(void* ptr, struct QtCore_PackedString pattern); +void QSortFilterProxyModel_SetFilterFixedStringDefault(void* ptr, struct QtCore_PackedString pattern); +void QSortFilterProxyModel_SetFilterKeyColumn(void* ptr, int column); +void QSortFilterProxyModel_SetFilterRegExp(void* ptr, void* regExp); +void QSortFilterProxyModel_SetFilterRegExpDefault(void* ptr, void* regExp); +void QSortFilterProxyModel_SetFilterRegExp2(void* ptr, struct QtCore_PackedString pattern); +void QSortFilterProxyModel_SetFilterRegExp2Default(void* ptr, struct QtCore_PackedString pattern); +void QSortFilterProxyModel_SetFilterRegularExpression(void* ptr, struct QtCore_PackedString pattern); +void QSortFilterProxyModel_SetFilterRegularExpressionDefault(void* ptr, struct QtCore_PackedString pattern); +void QSortFilterProxyModel_SetFilterRegularExpression2(void* ptr, void* regularExpression); +void QSortFilterProxyModel_SetFilterRegularExpression2Default(void* ptr, void* regularExpression); +void QSortFilterProxyModel_SetFilterRole(void* ptr, int role); +void QSortFilterProxyModel_SetFilterWildcard(void* ptr, struct QtCore_PackedString pattern); +void QSortFilterProxyModel_SetFilterWildcardDefault(void* ptr, struct QtCore_PackedString pattern); +void QSortFilterProxyModel_SetRecursiveFilteringEnabled(void* ptr, char recursive); +void QSortFilterProxyModel_SetSortCaseSensitivity(void* ptr, long long cs); +void QSortFilterProxyModel_SetSortLocaleAware(void* ptr, char on); +void QSortFilterProxyModel_SetSortRole(void* ptr, int role); +long long QSortFilterProxyModel_SortCaseSensitivity(void* ptr); +int QSortFilterProxyModel_SortColumn(void* ptr); +long long QSortFilterProxyModel_SortOrder(void* ptr); +int QSortFilterProxyModel_SortRole(void* ptr); +void QSortFilterProxyModel_DestroyQSortFilterProxyModel(void* ptr); +void QSortFilterProxyModel_DestroyQSortFilterProxyModelDefault(void* ptr); +struct QtCore_PackedString QStandardPaths_QStandardPaths_DisplayName(long long ty); +struct QtCore_PackedString QStandardPaths_QStandardPaths_FindExecutable(struct QtCore_PackedString executableName, struct QtCore_PackedString paths); +struct QtCore_PackedString QStandardPaths_QStandardPaths_Locate(long long ty, struct QtCore_PackedString fileName, long long options); +struct QtCore_PackedString QStandardPaths_QStandardPaths_LocateAll(long long ty, struct QtCore_PackedString fileName, long long options); +void QStandardPaths_QStandardPaths_SetTestModeEnabled(char testMode); +struct QtCore_PackedString QStandardPaths_QStandardPaths_StandardLocations(long long ty); +struct QtCore_PackedString QStandardPaths_QStandardPaths_WritableLocation(long long ty); +void* QState_NewQState(void* parent); +void* QState_NewQState2(long long childMode, void* parent); +void QState_AddTransition(void* ptr, void* transition); +void* QState_AddTransition2(void* ptr, void* sender, char* sign, void* target); +void* QState_AddTransition4(void* ptr, void* target); +void QState_AssignProperty(void* ptr, void* object, char* name, void* value); +long long QState_ChildMode(void* ptr); +void QState_ConnectChildModeChanged(void* ptr, long long t); +void QState_DisconnectChildModeChanged(void* ptr); +void* QState_ErrorState(void* ptr); +void QState_ConnectErrorStateChanged(void* ptr, long long t); +void QState_DisconnectErrorStateChanged(void* ptr); +void QState_ConnectFinished(void* ptr, long long t); +void QState_DisconnectFinished(void* ptr); +void* QState_InitialState(void* ptr); +void QState_ConnectInitialStateChanged(void* ptr, long long t); +void QState_DisconnectInitialStateChanged(void* ptr); +void QState_OnEntry(void* ptr, void* event); +void QState_OnEntryDefault(void* ptr, void* event); +void QState_OnExit(void* ptr, void* event); +void QState_OnExitDefault(void* ptr, void* event); +void QState_ConnectPropertiesAssigned(void* ptr, long long t); +void QState_DisconnectPropertiesAssigned(void* ptr); +void QState_RemoveTransition(void* ptr, void* transition); +void QState_SetChildMode(void* ptr, long long mode); +void QState_SetErrorState(void* ptr, void* state); +void QState_SetInitialState(void* ptr, void* state); +struct QtCore_PackedList QState_Transitions(void* ptr); +void QState_DestroyQState(void* ptr); +void QState_DestroyQStateDefault(void* ptr); +void* QState___transitions_atList(void* ptr, int i); +void QState___transitions_setList(void* ptr, void* i); +void* QState___transitions_newList(void* ptr); +void* QStateMachine_NewQStateMachine(void* parent); +void* QStateMachine_NewQStateMachine2(long long childMode, void* parent); +void QStateMachine_AddDefaultAnimation(void* ptr, void* animation); +void QStateMachine_AddState(void* ptr, void* state); +char QStateMachine_CancelDelayedEvent(void* ptr, int id); +void QStateMachine_ClearError(void* ptr); +struct QtCore_PackedList QStateMachine_DefaultAnimations(void* ptr); +long long QStateMachine_Error(void* ptr); +struct QtCore_PackedString QStateMachine_ErrorString(void* ptr); +long long QStateMachine_GlobalRestorePolicy(void* ptr); +char QStateMachine_IsAnimated(void* ptr); +char QStateMachine_IsRunning(void* ptr); +int QStateMachine_PostDelayedEvent(void* ptr, void* event, int delay); +void QStateMachine_PostEvent(void* ptr, void* event, long long priority); +void QStateMachine_RemoveDefaultAnimation(void* ptr, void* animation); +void QStateMachine_RemoveState(void* ptr, void* state); +void QStateMachine_ConnectRunningChanged(void* ptr, long long t); +void QStateMachine_DisconnectRunningChanged(void* ptr); +void QStateMachine_RunningChanged(void* ptr, char running); +void QStateMachine_SetAnimated(void* ptr, char enabled); +void QStateMachine_SetGlobalRestorePolicy(void* ptr, long long restorePolicy); +void QStateMachine_SetRunning(void* ptr, char running); +void QStateMachine_SetRunningDefault(void* ptr, char running); +void QStateMachine_Start(void* ptr); +void QStateMachine_StartDefault(void* ptr); +void QStateMachine_ConnectStarted(void* ptr, long long t); +void QStateMachine_DisconnectStarted(void* ptr); +void QStateMachine_Stop(void* ptr); +void QStateMachine_StopDefault(void* ptr); +void QStateMachine_ConnectStopped(void* ptr, long long t); +void QStateMachine_DisconnectStopped(void* ptr); +void QStateMachine_DestroyQStateMachine(void* ptr); +void QStateMachine_DestroyQStateMachineDefault(void* ptr); +void* QStateMachine___defaultAnimations_atList(void* ptr, int i); +void QStateMachine___defaultAnimations_setList(void* ptr, void* i); +void* QStateMachine___defaultAnimations_newList(void* ptr); +void* QStaticPlugin_Instance(void* ptr); +void* QStaticPlugin_MetaData(void* ptr); +struct QtCore_PackedString QStaticPlugin_RawMetaData(void* ptr); +void* QStorageInfo_NewQStorageInfo(); +void* QStorageInfo_NewQStorageInfo2(struct QtCore_PackedString path); +void* QStorageInfo_NewQStorageInfo3(void* dir); +void* QStorageInfo_NewQStorageInfo4(void* other); +int QStorageInfo_BlockSize(void* ptr); +long long QStorageInfo_BytesAvailable(void* ptr); +long long QStorageInfo_BytesFree(void* ptr); +long long QStorageInfo_BytesTotal(void* ptr); +void* QStorageInfo_Device(void* ptr); +struct QtCore_PackedString QStorageInfo_DisplayName(void* ptr); +void* QStorageInfo_FileSystemType(void* ptr); +char QStorageInfo_IsReadOnly(void* ptr); +char QStorageInfo_IsReady(void* ptr); +char QStorageInfo_IsRoot(void* ptr); +char QStorageInfo_IsValid(void* ptr); +struct QtCore_PackedList QStorageInfo_QStorageInfo_MountedVolumes(); +struct QtCore_PackedString QStorageInfo_Name(void* ptr); +void QStorageInfo_Refresh(void* ptr); +void* QStorageInfo_QStorageInfo_Root(); +struct QtCore_PackedString QStorageInfo_RootPath(void* ptr); +void QStorageInfo_SetPath(void* ptr, struct QtCore_PackedString path); +void* QStorageInfo_Subvolume(void* ptr); +void QStorageInfo_Swap(void* ptr, void* other); +void QStorageInfo_DestroyQStorageInfo(void* ptr); +void* QStorageInfo___mountedVolumes_atList(void* ptr, int i); +void QStorageInfo___mountedVolumes_setList(void* ptr, void* i); +void* QStorageInfo___mountedVolumes_newList(void* ptr); +void* QStringListModel_NewQStringListModel(void* parent); +void* QStringListModel_NewQStringListModel2(struct QtCore_PackedString strin, void* parent); +void* QStringListModel_Data(void* ptr, void* index, int role); +void* QStringListModel_DataDefault(void* ptr, void* index, int role); +int QStringListModel_RowCount(void* ptr, void* parent); +int QStringListModel_RowCountDefault(void* ptr, void* parent); +void QStringListModel_SetStringList(void* ptr, struct QtCore_PackedString strin); +struct QtCore_PackedString QStringListModel_StringList(void* ptr); +void* QStringMatcher_NewQStringMatcher(); +void* QStringMatcher_NewQStringMatcher2(struct QtCore_PackedString pattern, long long cs); +void* QStringMatcher_NewQStringMatcher3(void* uc, int length, long long cs); +void* QStringMatcher_NewQStringMatcher4(void* other); +long long QStringMatcher_CaseSensitivity(void* ptr); +int QStringMatcher_IndexIn(void* ptr, struct QtCore_PackedString str, int from); +int QStringMatcher_IndexIn2(void* ptr, void* str, int length, int from); +struct QtCore_PackedString QStringMatcher_Pattern(void* ptr); +void QStringMatcher_SetCaseSensitivity(void* ptr, long long cs); +void QStringMatcher_SetPattern(void* ptr, struct QtCore_PackedString pattern); +void QStringMatcher_DestroyQStringMatcher(void* ptr); +void* QStringRef_NewQStringRef(); +void* QStringRef_NewQStringRef2(struct QtCore_PackedString stri, int position, int length); +void* QStringRef_NewQStringRef3(struct QtCore_PackedString stri); +void* QStringRef_NewQStringRef4(void* other); +void* QStringRef_AppendTo(void* ptr, struct QtCore_PackedString stri); +void* QStringRef_At(void* ptr, int position); +void* QStringRef_Back(void* ptr); +void QStringRef_Chop(void* ptr, int n); +void* QStringRef_Chopped(void* ptr, int l); +void QStringRef_Clear(void* ptr); +int QStringRef_QStringRef_Compare(void* s1, struct QtCore_PackedString s2, long long cs); +int QStringRef_Compare2(void* ptr, struct QtCore_PackedString other, long long cs); +int QStringRef_Compare3(void* ptr, void* other, long long cs); +int QStringRef_Compare4(void* ptr, void* other, long long cs); +int QStringRef_Compare5(void* ptr, void* other, long long cs); +int QStringRef_QStringRef_Compare6(void* s1, void* s2, long long cs); +int QStringRef_QStringRef_Compare7(void* s1, void* s2, long long cs); +void* QStringRef_ConstData(void* ptr); +char QStringRef_Contains(void* ptr, struct QtCore_PackedString str, long long cs); +char QStringRef_Contains2(void* ptr, void* ch, long long cs); +char QStringRef_Contains3(void* ptr, void* str, long long cs); +char QStringRef_Contains4(void* ptr, void* str, long long cs); +int QStringRef_Count(void* ptr); +int QStringRef_Count2(void* ptr, struct QtCore_PackedString str, long long cs); +int QStringRef_Count3(void* ptr, void* ch, long long cs); +int QStringRef_Count4(void* ptr, void* str, long long cs); +void* QStringRef_Data(void* ptr); +char QStringRef_EndsWith(void* ptr, struct QtCore_PackedString str, long long cs); +char QStringRef_EndsWith2(void* ptr, void* str, long long cs); +char QStringRef_EndsWith3(void* ptr, void* str, long long cs); +char QStringRef_EndsWith4(void* ptr, void* ch, long long cs); +char QStringRef_EndsWith5(void* ptr, void* str, long long cs); +void* QStringRef_Front(void* ptr); +int QStringRef_IndexOf(void* ptr, struct QtCore_PackedString str, int from, long long cs); +int QStringRef_IndexOf2(void* ptr, void* ch, int from, long long cs); +int QStringRef_IndexOf3(void* ptr, void* str, int from, long long cs); +int QStringRef_IndexOf4(void* ptr, void* str, int from, long long cs); +char QStringRef_IsEmpty(void* ptr); +char QStringRef_IsNull(void* ptr); +char QStringRef_IsRightToLeft(void* ptr); +int QStringRef_LastIndexOf(void* ptr, struct QtCore_PackedString str, int from, long long cs); +int QStringRef_LastIndexOf2(void* ptr, void* ch, int from, long long cs); +int QStringRef_LastIndexOf3(void* ptr, void* str, int from, long long cs); +int QStringRef_LastIndexOf4(void* ptr, void* str, int from, long long cs); +void* QStringRef_Left(void* ptr, int n); +int QStringRef_Length(void* ptr); +int QStringRef_QStringRef_LocaleAwareCompare(void* s1, struct QtCore_PackedString s2); +int QStringRef_LocaleAwareCompare2(void* ptr, struct QtCore_PackedString other); +int QStringRef_LocaleAwareCompare3(void* ptr, void* other); +int QStringRef_QStringRef_LocaleAwareCompare4(void* s1, void* s2); +void* QStringRef_Mid(void* ptr, int position, int n); +int QStringRef_Position(void* ptr); +void* QStringRef_Right(void* ptr, int n); +int QStringRef_Size(void* ptr); +struct QtCore_PackedList QStringRef_Split(void* ptr, struct QtCore_PackedString sep, long long behavior, long long cs); +struct QtCore_PackedList QStringRef_Split2(void* ptr, void* sep, long long behavior, long long cs); +char QStringRef_StartsWith(void* ptr, struct QtCore_PackedString str, long long cs); +char QStringRef_StartsWith2(void* ptr, void* str, long long cs); +char QStringRef_StartsWith3(void* ptr, void* str, long long cs); +char QStringRef_StartsWith4(void* ptr, void* ch, long long cs); +char QStringRef_StartsWith5(void* ptr, void* str, long long cs); +struct QtCore_PackedString QStringRef_String(void* ptr); +double QStringRef_ToDouble(void* ptr, char* ok); +float QStringRef_ToFloat(void* ptr, char* ok); +int QStringRef_ToInt(void* ptr, char* ok, int base); +void* QStringRef_ToLatin1(void* ptr); +void* QStringRef_ToLocal8Bit(void* ptr); +long QStringRef_ToLong(void* ptr, char* ok, int base); +long long QStringRef_ToLongLong(void* ptr, char* ok, int base); +short QStringRef_ToShort(void* ptr, char* ok, int base); +struct QtCore_PackedString QStringRef_ToString(void* ptr); +unsigned int QStringRef_ToUInt(void* ptr, char* ok, int base); +unsigned long QStringRef_ToULong(void* ptr, char* ok, int base); +unsigned long long QStringRef_ToULongLong(void* ptr, char* ok, int base); +unsigned short QStringRef_ToUShort(void* ptr, char* ok, int base); +struct QtCore_PackedList QStringRef_ToUcs4(void* ptr); +void* QStringRef_ToUtf8(void* ptr); +void* QStringRef_Trimmed(void* ptr); +void QStringRef_Truncate(void* ptr, int position); +void* QStringRef_Unicode(void* ptr); +void QStringRef_DestroyQStringRef(void* ptr); +void* QStringRef___split_atList(void* ptr, int i); +void QStringRef___split_setList(void* ptr, void* i); +void* QStringRef___split_newList(void* ptr); +void* QStringRef___split_atList2(void* ptr, int i); +void QStringRef___split_setList2(void* ptr, void* i); +void* QStringRef___split_newList2(void* ptr); +unsigned int QStringRef___toUcs4_atList(void* ptr, int i); +void QStringRef___toUcs4_setList(void* ptr, unsigned int i); +void* QStringRef___toUcs4_newList(void* ptr); +void* QStringView_NewQStringView(); +void* QStringView_NewQStringView7(struct QtCore_PackedString str); +void* QStringView_NewQStringView8(void* str); +void* QStringView_Back(void* ptr); +int QStringView_Compare(void* ptr, void* other, long long cs); +char QStringView_Empty(void* ptr); +char QStringView_EndsWith(void* ptr, void* str, long long cs); +char QStringView_EndsWith2(void* ptr, void* l1, long long cs); +char QStringView_EndsWith3(void* ptr, void* ch); +char QStringView_EndsWith4(void* ptr, void* ch, long long cs); +void* QStringView_First(void* ptr); +void* QStringView_Front(void* ptr); +char QStringView_IsEmpty(void* ptr); +char QStringView_IsNull(void* ptr); +char QStringView_IsRightToLeft(void* ptr); +void* QStringView_Last(void* ptr); +int QStringView_Length(void* ptr); +char QStringView_StartsWith(void* ptr, void* str, long long cs); +char QStringView_StartsWith2(void* ptr, void* l1, long long cs); +char QStringView_StartsWith3(void* ptr, void* ch); +char QStringView_StartsWith4(void* ptr, void* ch, long long cs); +void* QStringView_ToLatin1(void* ptr); +void* QStringView_ToLocal8Bit(void* ptr); +struct QtCore_PackedString QStringView_ToString(void* ptr); +struct QtCore_PackedList QStringView_ToUcs4(void* ptr); +void* QStringView_ToUtf8(void* ptr); +void* QStringView_Trimmed(void* ptr); +unsigned int QStringView___convertToUcs4_atList(void* ptr, int i); +void QStringView___convertToUcs4_setList(void* ptr, unsigned int i); +void* QStringView___convertToUcs4_newList(void* ptr); +unsigned int QStringView___toUcs4_atList(void* ptr, int i); +void QStringView___toUcs4_setList(void* ptr, unsigned int i); +void* QStringView___toUcs4_newList(void* ptr); +int QSysInfo_WordSize_Type(); +void* QSysInfo_QSysInfo_BootUniqueId(); +struct QtCore_PackedString QSysInfo_QSysInfo_BuildAbi(); +struct QtCore_PackedString QSysInfo_QSysInfo_BuildCpuArchitecture(); +struct QtCore_PackedString QSysInfo_QSysInfo_CurrentCpuArchitecture(); +struct QtCore_PackedString QSysInfo_QSysInfo_KernelType(); +struct QtCore_PackedString QSysInfo_QSysInfo_KernelVersion(); +struct QtCore_PackedString QSysInfo_QSysInfo_MachineHostName(); +void* QSysInfo_QSysInfo_MachineUniqueId(); +struct QtCore_PackedString QSysInfo_QSysInfo_PrettyProductName(); +struct QtCore_PackedString QSysInfo_QSysInfo_ProductType(); +struct QtCore_PackedString QSysInfo_QSysInfo_ProductVersion(); +void* QSystemSemaphore_NewQSystemSemaphore(struct QtCore_PackedString key, int initialValue, long long mode); +char QSystemSemaphore_Acquire(void* ptr); +long long QSystemSemaphore_Error(void* ptr); +struct QtCore_PackedString QSystemSemaphore_ErrorString(void* ptr); +struct QtCore_PackedString QSystemSemaphore_Key(void* ptr); +char QSystemSemaphore_Release(void* ptr, int n); +void QSystemSemaphore_SetKey(void* ptr, struct QtCore_PackedString key, int initialValue, long long mode); +void QSystemSemaphore_DestroyQSystemSemaphore(void* ptr); +void* QTemporaryDir_NewQTemporaryDir(); +void* QTemporaryDir_NewQTemporaryDir2(struct QtCore_PackedString templatePath); +char QTemporaryDir_AutoRemove(void* ptr); +struct QtCore_PackedString QTemporaryDir_ErrorString(void* ptr); +struct QtCore_PackedString QTemporaryDir_FilePath(void* ptr, struct QtCore_PackedString fileName); +char QTemporaryDir_IsValid(void* ptr); +struct QtCore_PackedString QTemporaryDir_Path(void* ptr); +char QTemporaryDir_Remove(void* ptr); +void QTemporaryDir_SetAutoRemove(void* ptr, char b); +void QTemporaryDir_DestroyQTemporaryDir(void* ptr); +void* QTemporaryFile_NewQTemporaryFile(); +void* QTemporaryFile_NewQTemporaryFile2(struct QtCore_PackedString templateName); +void* QTemporaryFile_NewQTemporaryFile3(void* parent); +void* QTemporaryFile_NewQTemporaryFile4(struct QtCore_PackedString templateName, void* parent); +char QTemporaryFile_AutoRemove(void* ptr); +void* QTemporaryFile_QTemporaryFile_CreateNativeFile(void* file); +void* QTemporaryFile_QTemporaryFile_CreateNativeFile2(struct QtCore_PackedString fileName); +struct QtCore_PackedString QTemporaryFile_FileTemplate(void* ptr); +char QTemporaryFile_Open(void* ptr); +void QTemporaryFile_SetAutoRemove(void* ptr, char b); +void QTemporaryFile_SetFileTemplate(void* ptr, struct QtCore_PackedString name); +void QTemporaryFile_DestroyQTemporaryFile(void* ptr); +void QTemporaryFile_DestroyQTemporaryFileDefault(void* ptr); +void* QTextBoundaryFinder_NewQTextBoundaryFinder(); +void* QTextBoundaryFinder_NewQTextBoundaryFinder2(void* other); +void* QTextBoundaryFinder_NewQTextBoundaryFinder3(long long ty, struct QtCore_PackedString stri); +long long QTextBoundaryFinder_BoundaryReasons(void* ptr); +char QTextBoundaryFinder_IsAtBoundary(void* ptr); +char QTextBoundaryFinder_IsValid(void* ptr); +int QTextBoundaryFinder_Position(void* ptr); +void QTextBoundaryFinder_SetPosition(void* ptr, int position); +struct QtCore_PackedString QTextBoundaryFinder_String(void* ptr); +void QTextBoundaryFinder_ToEnd(void* ptr); +int QTextBoundaryFinder_ToNextBoundary(void* ptr); +int QTextBoundaryFinder_ToPreviousBoundary(void* ptr); +void QTextBoundaryFinder_ToStart(void* ptr); +long long QTextBoundaryFinder_Type(void* ptr); +void QTextBoundaryFinder_DestroyQTextBoundaryFinder(void* ptr); +struct QtCore_PackedList QTextCodec_Aliases(void* ptr); +struct QtCore_PackedList QTextCodec_AliasesDefault(void* ptr); +struct QtCore_PackedList QTextCodec_QTextCodec_AvailableCodecs(); +struct QtCore_PackedList QTextCodec_QTextCodec_AvailableMibs(); +char QTextCodec_CanEncode(void* ptr, void* ch); +char QTextCodec_CanEncode2(void* ptr, struct QtCore_PackedString s); +char QTextCodec_CanEncode3(void* ptr, void* s); +void* QTextCodec_QTextCodec_CodecForHtml(void* ba, void* defaultCodec); +void* QTextCodec_QTextCodec_CodecForHtml2(void* ba); +void* QTextCodec_QTextCodec_CodecForLocale(); +void* QTextCodec_QTextCodec_CodecForMib(int mib); +void* QTextCodec_QTextCodec_CodecForName(void* name); +void* QTextCodec_QTextCodec_CodecForName2(char* name); +void* QTextCodec_QTextCodec_CodecForUtfText(void* ba, void* defaultCodec); +void* QTextCodec_QTextCodec_CodecForUtfText2(void* ba); +void* QTextCodec_FromUnicode(void* ptr, struct QtCore_PackedString str); +void* QTextCodec_FromUnicode2(void* ptr, void* str); +void* QTextCodec_MakeDecoder(void* ptr, long long flags); +void* QTextCodec_MakeEncoder(void* ptr, long long flags); +int QTextCodec_MibEnum(void* ptr); +void* QTextCodec_Name(void* ptr); +void QTextCodec_QTextCodec_SetCodecForLocale(void* c); +struct QtCore_PackedString QTextCodec_ToUnicode(void* ptr, void* a); +struct QtCore_PackedString QTextCodec_ToUnicode2(void* ptr, char* chars); +void QTextCodec_DestroyQTextCodec(void* ptr); +void QTextCodec_DestroyQTextCodecDefault(void* ptr); +void* QTextCodec___aliases_atList(void* ptr, int i); +void QTextCodec___aliases_setList(void* ptr, void* i); +void* QTextCodec___aliases_newList(void* ptr); +void* QTextCodec___availableCodecs_atList(void* ptr, int i); +void QTextCodec___availableCodecs_setList(void* ptr, void* i); +void* QTextCodec___availableCodecs_newList(void* ptr); +int QTextCodec___availableMibs_atList(void* ptr, int i); +void QTextCodec___availableMibs_setList(void* ptr, int i); +void* QTextCodec___availableMibs_newList(void* ptr); +void* QTextDecoder_NewQTextDecoder2(void* codec); +void* QTextDecoder_NewQTextDecoder3(void* codec, long long flags); +struct QtCore_PackedString QTextDecoder_ToUnicode(void* ptr, char* chars, int l); +struct QtCore_PackedString QTextDecoder_ToUnicode2(void* ptr, void* ba); +void QTextDecoder_ToUnicode3(void* ptr, struct QtCore_PackedString target, char* chars, int l); +void QTextDecoder_DestroyQTextDecoder(void* ptr); +void* QTextEncoder_NewQTextEncoder2(void* codec); +void* QTextEncoder_NewQTextEncoder3(void* codec, long long flags); +void* QTextEncoder_FromUnicode(void* ptr, struct QtCore_PackedString str); +void* QTextEncoder_FromUnicode2(void* ptr, void* str); +void* QTextEncoder_FromUnicode3(void* ptr, void* uc, int l); +void QTextEncoder_DestroyQTextEncoder(void* ptr); +void* QTextStream_NewQTextStream(); +void* QTextStream_NewQTextStream2(void* device); +void* QTextStream_NewQTextStream4(struct QtCore_PackedString stri, long long openMode); +void* QTextStream_NewQTextStream5(void* array, long long openMode); +void* QTextStream_NewQTextStream6(void* array, long long openMode); +char QTextStream_AtEnd(void* ptr); +char QTextStream_AutoDetectUnicode(void* ptr); +void* QTextStream_Codec(void* ptr); +void* QTextStream_Device(void* ptr); +long long QTextStream_FieldAlignment(void* ptr); +int QTextStream_FieldWidth(void* ptr); +void QTextStream_Flush(void* ptr); +char QTextStream_GenerateByteOrderMark(void* ptr); +int QTextStream_IntegerBase(void* ptr); +void* QTextStream_Locale(void* ptr); +long long QTextStream_NumberFlags(void* ptr); +void* QTextStream_PadChar(void* ptr); +long long QTextStream_Pos(void* ptr); +struct QtCore_PackedString QTextStream_Read(void* ptr, long long maxlen); +struct QtCore_PackedString QTextStream_ReadAll(void* ptr); +struct QtCore_PackedString QTextStream_ReadLine(void* ptr, long long maxlen); +char QTextStream_ReadLineInto(void* ptr, struct QtCore_PackedString line, long long maxlen); +long long QTextStream_RealNumberNotation(void* ptr); +int QTextStream_RealNumberPrecision(void* ptr); +void QTextStream_Reset(void* ptr); +void QTextStream_ResetStatus(void* ptr); +char QTextStream_Seek(void* ptr, long long pos); +void QTextStream_SetAutoDetectUnicode(void* ptr, char enabled); +void QTextStream_SetCodec(void* ptr, void* codec); +void QTextStream_SetCodec2(void* ptr, char* codecName); +void QTextStream_SetDevice(void* ptr, void* device); +void QTextStream_SetFieldAlignment(void* ptr, long long mode); +void QTextStream_SetFieldWidth(void* ptr, int width); +void QTextStream_SetGenerateByteOrderMark(void* ptr, char generate); +void QTextStream_SetIntegerBase(void* ptr, int base); +void QTextStream_SetLocale(void* ptr, void* locale); +void QTextStream_SetNumberFlags(void* ptr, long long flags); +void QTextStream_SetPadChar(void* ptr, void* ch); +void QTextStream_SetRealNumberNotation(void* ptr, long long notation); +void QTextStream_SetRealNumberPrecision(void* ptr, int precision); +void QTextStream_SetStatus(void* ptr, long long status); +void QTextStream_SetString(void* ptr, struct QtCore_PackedString stri, long long openMode); +void QTextStream_SkipWhiteSpace(void* ptr); +long long QTextStream_Status(void* ptr); +struct QtCore_PackedString QTextStream_String(void* ptr); +void QTextStream_DestroyQTextStream(void* ptr); +void QTextStream_DestroyQTextStreamDefault(void* ptr); +void* QThread_NewQThread(void* parent); +void* QThread_QThread_CurrentThread(); +void* QThread_EventDispatcher(void* ptr); +int QThread_Exec(void* ptr); +void QThread_Exit(void* ptr, int returnCode); +void QThread_ConnectFinished(void* ptr, long long t); +void QThread_DisconnectFinished(void* ptr); +int QThread_QThread_IdealThreadCount(); +char QThread_IsFinished(void* ptr); +char QThread_IsInterruptionRequested(void* ptr); +char QThread_IsRunning(void* ptr); +int QThread_LoopLevel(void* ptr); +void QThread_QThread_Msleep(unsigned long msecs); +long long QThread_Priority(void* ptr); +void QThread_Quit(void* ptr); +void QThread_QuitDefault(void* ptr); +void QThread_RequestInterruption(void* ptr); +void QThread_Run(void* ptr); +void QThread_RunDefault(void* ptr); +void QThread_SetEventDispatcher(void* ptr, void* eventDispatcher); +void QThread_SetPriority(void* ptr, long long priority); +void QThread_SetStackSize(void* ptr, unsigned int stackSize); +void QThread_QThread_SetTerminationEnabled(char enabled); +void QThread_QThread_Sleep(unsigned long secs); +unsigned int QThread_StackSize(void* ptr); +void QThread_Start(void* ptr); +void QThread_StartDefault(void* ptr); +void QThread_ConnectStarted(void* ptr, long long t); +void QThread_DisconnectStarted(void* ptr); +void QThread_Terminate(void* ptr); +void QThread_TerminateDefault(void* ptr); +void QThread_QThread_Usleep(unsigned long usecs); +char QThread_Wait(void* ptr, unsigned long ti); +void QThread_QThread_YieldCurrentThread(); +void QThread_DestroyQThread(void* ptr); +void QThread_DestroyQThreadDefault(void* ptr); +void* QThreadPool_NewQThreadPool(void* parent); +int QThreadPool_ActiveThreadCount(void* ptr); +void QThreadPool_Clear(void* ptr); +int QThreadPool_ExpiryTimeout(void* ptr); +void* QThreadPool_QThreadPool_GlobalInstance(); +int QThreadPool_MaxThreadCount(void* ptr); +void QThreadPool_ReleaseThread(void* ptr); +void QThreadPool_ReserveThread(void* ptr); +void QThreadPool_SetExpiryTimeout(void* ptr, int expiryTimeout); +void QThreadPool_SetMaxThreadCount(void* ptr, int maxThreadCount); +void QThreadPool_SetStackSize(void* ptr, unsigned int stackSize); +unsigned int QThreadPool_StackSize(void* ptr); +void QThreadPool_Start(void* ptr, void* runnable, int priority); +char QThreadPool_TryStart(void* ptr, void* runnable); +char QThreadPool_TryTake(void* ptr, void* runnable); +char QThreadPool_WaitForDone(void* ptr, int msecs); +void QThreadPool_DestroyQThreadPool(void* ptr); +void QThreadPool_DestroyQThreadPoolDefault(void* ptr); +void* QTime_NewQTime2(); +void* QTime_NewQTime3(int h, int m, int s, int ms); +void* QTime_AddMSecs(void* ptr, int ms); +void* QTime_AddSecs(void* ptr, int s); +void* QTime_QTime_CurrentTime(); +int QTime_Elapsed(void* ptr); +void* QTime_QTime_FromMSecsSinceStartOfDay(int msecs); +void* QTime_QTime_FromString(struct QtCore_PackedString stri, long long format); +void* QTime_QTime_FromString2(struct QtCore_PackedString stri, struct QtCore_PackedString format); +int QTime_Hour(void* ptr); +char QTime_IsNull(void* ptr); +char QTime_IsValid(void* ptr); +char QTime_QTime_IsValid2(int h, int m, int s, int ms); +int QTime_Minute(void* ptr); +int QTime_Msec(void* ptr); +int QTime_MsecsSinceStartOfDay(void* ptr); +int QTime_MsecsTo(void* ptr, void* t); +int QTime_Restart(void* ptr); +int QTime_Second(void* ptr); +int QTime_SecsTo(void* ptr, void* t); +char QTime_SetHMS(void* ptr, int h, int m, int s, int ms); +void QTime_Start(void* ptr); +struct QtCore_PackedString QTime_ToString(void* ptr, struct QtCore_PackedString format); +struct QtCore_PackedString QTime_ToString2(void* ptr, long long format); +struct QtCore_PackedString QTime_ToString3(void* ptr, void* format); +void* QTimeLine_NewQTimeLine(int duration, void* parent); +int QTimeLine_CurrentFrame(void* ptr); +int QTimeLine_CurrentTime(void* ptr); +double QTimeLine_CurrentValue(void* ptr); +long long QTimeLine_CurveShape(void* ptr); +long long QTimeLine_Direction(void* ptr); +int QTimeLine_Duration(void* ptr); +void* QTimeLine_EasingCurve(void* ptr); +int QTimeLine_EndFrame(void* ptr); +void QTimeLine_ConnectFinished(void* ptr, long long t); +void QTimeLine_DisconnectFinished(void* ptr); +void QTimeLine_ConnectFrameChanged(void* ptr, long long t); +void QTimeLine_DisconnectFrameChanged(void* ptr); +int QTimeLine_FrameForTime(void* ptr, int msec); +int QTimeLine_LoopCount(void* ptr); +void QTimeLine_Resume(void* ptr); +void QTimeLine_ResumeDefault(void* ptr); +void QTimeLine_SetCurrentTime(void* ptr, int msec); +void QTimeLine_SetCurrentTimeDefault(void* ptr, int msec); +void QTimeLine_SetCurveShape(void* ptr, long long shape); +void QTimeLine_SetDirection(void* ptr, long long direction); +void QTimeLine_SetDuration(void* ptr, int duration); +void QTimeLine_SetEasingCurve(void* ptr, void* curve); +void QTimeLine_SetEndFrame(void* ptr, int frame); +void QTimeLine_SetFrameRange(void* ptr, int startFrame, int endFrame); +void QTimeLine_SetLoopCount(void* ptr, int count); +void QTimeLine_SetPaused(void* ptr, char paused); +void QTimeLine_SetPausedDefault(void* ptr, char paused); +void QTimeLine_SetStartFrame(void* ptr, int frame); +void QTimeLine_SetUpdateInterval(void* ptr, int interval); +void QTimeLine_Start(void* ptr); +void QTimeLine_StartDefault(void* ptr); +int QTimeLine_StartFrame(void* ptr); +long long QTimeLine_State(void* ptr); +void QTimeLine_ConnectStateChanged(void* ptr, long long t); +void QTimeLine_DisconnectStateChanged(void* ptr); +void QTimeLine_Stop(void* ptr); +void QTimeLine_StopDefault(void* ptr); +void QTimeLine_ToggleDirection(void* ptr); +void QTimeLine_ToggleDirectionDefault(void* ptr); +int QTimeLine_UpdateInterval(void* ptr); +void QTimeLine_ConnectValueChanged(void* ptr, long long t); +void QTimeLine_DisconnectValueChanged(void* ptr); +double QTimeLine_ValueForTime(void* ptr, int msec); +double QTimeLine_ValueForTimeDefault(void* ptr, int msec); +void QTimeLine_DestroyQTimeLine(void* ptr); +void QTimeLine_DestroyQTimeLineDefault(void* ptr); +void* QTimeZone_NewQTimeZone(); +void* QTimeZone_NewQTimeZone2(void* ianaId); +void* QTimeZone_NewQTimeZone3(int offsetSeconds); +void* QTimeZone_NewQTimeZone4(void* ianaId, int offsetSeconds, struct QtCore_PackedString name, struct QtCore_PackedString abbreviation, long long country, struct QtCore_PackedString comment); +void* QTimeZone_NewQTimeZone5(void* other); +struct QtCore_PackedString QTimeZone_Abbreviation(void* ptr, void* atDateTime); +struct QtCore_PackedList QTimeZone_QTimeZone_AvailableTimeZoneIds(); +struct QtCore_PackedList QTimeZone_QTimeZone_AvailableTimeZoneIds2(long long country); +struct QtCore_PackedList QTimeZone_QTimeZone_AvailableTimeZoneIds3(int offsetSeconds); +struct QtCore_PackedString QTimeZone_Comment(void* ptr); +long long QTimeZone_Country(void* ptr); +int QTimeZone_DaylightTimeOffset(void* ptr, void* atDateTime); +struct QtCore_PackedString QTimeZone_DisplayName(void* ptr, void* atDateTime, long long nameType, void* locale); +struct QtCore_PackedString QTimeZone_DisplayName2(void* ptr, long long timeType, long long nameType, void* locale); +char QTimeZone_HasDaylightTime(void* ptr); +char QTimeZone_HasTransitions(void* ptr); +void* QTimeZone_QTimeZone_IanaIdToWindowsId(void* ianaId); +void* QTimeZone_Id(void* ptr); +char QTimeZone_IsDaylightTime(void* ptr, void* atDateTime); +char QTimeZone_QTimeZone_IsTimeZoneIdAvailable(void* ianaId); +char QTimeZone_IsValid(void* ptr); +int QTimeZone_OffsetFromUtc(void* ptr, void* atDateTime); +int QTimeZone_StandardTimeOffset(void* ptr, void* atDateTime); +void QTimeZone_Swap(void* ptr, void* other); +void* QTimeZone_QTimeZone_SystemTimeZone(); +void* QTimeZone_QTimeZone_SystemTimeZoneId(); +void* QTimeZone_QTimeZone_Utc(); +void* QTimeZone_QTimeZone_WindowsIdToDefaultIanaId(void* windowsId); +void* QTimeZone_QTimeZone_WindowsIdToDefaultIanaId2(void* windowsId, long long country); +struct QtCore_PackedList QTimeZone_QTimeZone_WindowsIdToIanaIds(void* windowsId); +struct QtCore_PackedList QTimeZone_QTimeZone_WindowsIdToIanaIds2(void* windowsId, long long country); +void QTimeZone_DestroyQTimeZone(void* ptr); +void* QTimeZone___availableTimeZoneIds_atList(void* ptr, int i); +void QTimeZone___availableTimeZoneIds_setList(void* ptr, void* i); +void* QTimeZone___availableTimeZoneIds_newList(void* ptr); +void* QTimeZone___availableTimeZoneIds_atList2(void* ptr, int i); +void QTimeZone___availableTimeZoneIds_setList2(void* ptr, void* i); +void* QTimeZone___availableTimeZoneIds_newList2(void* ptr); +void* QTimeZone___availableTimeZoneIds_atList3(void* ptr, int i); +void QTimeZone___availableTimeZoneIds_setList3(void* ptr, void* i); +void* QTimeZone___availableTimeZoneIds_newList3(void* ptr); +void* QTimeZone___windowsIdToIanaIds_atList(void* ptr, int i); +void QTimeZone___windowsIdToIanaIds_setList(void* ptr, void* i); +void* QTimeZone___windowsIdToIanaIds_newList(void* ptr); +void* QTimeZone___windowsIdToIanaIds_atList2(void* ptr, int i); +void QTimeZone___windowsIdToIanaIds_setList2(void* ptr, void* i); +void* QTimeZone___windowsIdToIanaIds_newList2(void* ptr); +void* QTimer_NewQTimer(void* parent); +int QTimer_Interval(void* ptr); +char QTimer_IsActive(void* ptr); +char QTimer_IsSingleShot(void* ptr); +int QTimer_RemainingTime(void* ptr); +void QTimer_SetInterval(void* ptr, int msec); +void QTimer_SetSingleShot(void* ptr, char singleShot); +void QTimer_SetTimerType(void* ptr, long long atype); +void QTimer_QTimer_SingleShot(int msec, void* receiver, char* member); +void QTimer_QTimer_SingleShot2(int msec, long long timerType, void* receiver, char* member); +void QTimer_Start(void* ptr, int msec); +void QTimer_StartDefault(void* ptr, int msec); +void QTimer_Start2(void* ptr); +void QTimer_Start2Default(void* ptr); +void QTimer_Stop(void* ptr); +void QTimer_StopDefault(void* ptr); +void QTimer_ConnectTimeout(void* ptr, long long t); +void QTimer_DisconnectTimeout(void* ptr); +int QTimer_TimerId(void* ptr); +long long QTimer_TimerType(void* ptr); +void QTimer_DestroyQTimer(void* ptr); +void QTimer_DestroyQTimerDefault(void* ptr); +void* QTimerEvent_NewQTimerEvent(int timerId); +int QTimerEvent_TimerId(void* ptr); +void* QTranslator_NewQTranslator(void* parent); +char QTranslator_IsEmpty(void* ptr); +char QTranslator_IsEmptyDefault(void* ptr); +char QTranslator_Load(void* ptr, struct QtCore_PackedString filename, struct QtCore_PackedString directory, struct QtCore_PackedString search_delimiters, struct QtCore_PackedString suffix); +char QTranslator_Load2(void* ptr, void* locale, struct QtCore_PackedString filename, struct QtCore_PackedString prefix, struct QtCore_PackedString directory, struct QtCore_PackedString suffix); +char QTranslator_Load3(void* ptr, char* data, int l, struct QtCore_PackedString directory); +struct QtCore_PackedString QTranslator_Translate(void* ptr, char* context, char* sourceText, char* disambiguation, int n); +struct QtCore_PackedString QTranslator_TranslateDefault(void* ptr, char* context, char* sourceText, char* disambiguation, int n); +void QTranslator_DestroyQTranslator(void* ptr); +void QTranslator_DestroyQTranslatorDefault(void* ptr); +void* QTransposeProxyModel_NewQTransposeProxyModel2(void* parent); +int QTransposeProxyModel_ColumnCount(void* ptr, void* parent); +int QTransposeProxyModel_ColumnCountDefault(void* ptr, void* parent); +void* QTransposeProxyModel_Index(void* ptr, int row, int column, void* parent); +void* QTransposeProxyModel_IndexDefault(void* ptr, int row, int column, void* parent); +void* QTransposeProxyModel_MapFromSource(void* ptr, void* sourceIndex); +void* QTransposeProxyModel_MapFromSourceDefault(void* ptr, void* sourceIndex); +void* QTransposeProxyModel_MapToSource(void* ptr, void* proxyIndex); +void* QTransposeProxyModel_MapToSourceDefault(void* ptr, void* proxyIndex); +void* QTransposeProxyModel_Parent(void* ptr, void* index); +void* QTransposeProxyModel_ParentDefault(void* ptr, void* index); +int QTransposeProxyModel_RowCount(void* ptr, void* parent); +int QTransposeProxyModel_RowCountDefault(void* ptr, void* parent); +void QTransposeProxyModel_DestroyQTransposeProxyModel(void* ptr); +void QTransposeProxyModel_DestroyQTransposeProxyModelDefault(void* ptr); +void* QUrl_NewQUrl(); +void* QUrl_NewQUrl2(void* other); +void* QUrl_NewQUrl3(struct QtCore_PackedString url, long long parsingMode); +void* QUrl_NewQUrl4(void* other); +void* QUrl_Adjusted(void* ptr, long long options); +struct QtCore_PackedString QUrl_Authority(void* ptr, long long options); +void QUrl_Clear(void* ptr); +struct QtCore_PackedString QUrl_ErrorString(void* ptr); +struct QtCore_PackedString QUrl_FileName(void* ptr, long long options); +struct QtCore_PackedString QUrl_Fragment(void* ptr, long long options); +struct QtCore_PackedString QUrl_QUrl_FromAce(void* domain); +void* QUrl_QUrl_FromEncoded(void* input, long long parsingMode); +void* QUrl_QUrl_FromLocalFile(struct QtCore_PackedString localFile); +struct QtCore_PackedString QUrl_QUrl_FromPercentEncoding(void* input); +struct QtCore_PackedList QUrl_QUrl_FromStringList(struct QtCore_PackedString urls, long long mode); +void* QUrl_QUrl_FromUserInput(struct QtCore_PackedString userInput); +void* QUrl_QUrl_FromUserInput2(struct QtCore_PackedString userInput, struct QtCore_PackedString workingDirectory, long long options); +char QUrl_HasFragment(void* ptr); +char QUrl_HasQuery(void* ptr); +struct QtCore_PackedString QUrl_Host(void* ptr, long long options); +struct QtCore_PackedString QUrl_QUrl_IdnWhitelist(); +char QUrl_IsEmpty(void* ptr); +char QUrl_IsLocalFile(void* ptr); +char QUrl_IsParentOf(void* ptr, void* childUrl); +char QUrl_IsRelative(void* ptr); +char QUrl_IsValid(void* ptr); +char QUrl_Matches(void* ptr, void* url, long long options); +struct QtCore_PackedString QUrl_Password(void* ptr, long long options); +struct QtCore_PackedString QUrl_Path(void* ptr, long long options); +int QUrl_Port(void* ptr, int defaultPort); +struct QtCore_PackedString QUrl_Query(void* ptr, long long options); +void* QUrl_Resolved(void* ptr, void* relative); +struct QtCore_PackedString QUrl_Scheme(void* ptr); +void QUrl_SetAuthority(void* ptr, struct QtCore_PackedString authority, long long mode); +void QUrl_SetFragment(void* ptr, struct QtCore_PackedString fragment, long long mode); +void QUrl_SetHost(void* ptr, struct QtCore_PackedString host, long long mode); +void QUrl_QUrl_SetIdnWhitelist(struct QtCore_PackedString list); +void QUrl_SetPassword(void* ptr, struct QtCore_PackedString password, long long mode); +void QUrl_SetPath(void* ptr, struct QtCore_PackedString path, long long mode); +void QUrl_SetPort(void* ptr, int port); +void QUrl_SetQuery(void* ptr, struct QtCore_PackedString query, long long mode); +void QUrl_SetQuery2(void* ptr, void* query); +void QUrl_SetScheme(void* ptr, struct QtCore_PackedString scheme); +void QUrl_SetUrl(void* ptr, struct QtCore_PackedString url, long long parsingMode); +void QUrl_SetUserInfo(void* ptr, struct QtCore_PackedString userInfo, long long mode); +void QUrl_SetUserName(void* ptr, struct QtCore_PackedString userName, long long mode); +void QUrl_Swap(void* ptr, void* other); +void* QUrl_QUrl_ToAce(struct QtCore_PackedString domain); +struct QtCore_PackedString QUrl_ToDisplayString(void* ptr, long long options); +void* QUrl_ToEncoded(void* ptr, long long options); +struct QtCore_PackedString QUrl_ToLocalFile(void* ptr); +void* QUrl_QUrl_ToPercentEncoding(struct QtCore_PackedString input, void* exclude, void* include); +struct QtCore_PackedString QUrl_ToString(void* ptr, long long options); +struct QtCore_PackedString QUrl_QUrl_ToStringList(void* urls, long long options); +struct QtCore_PackedString QUrl_TopLevelDomain(void* ptr, long long options); +struct QtCore_PackedString QUrl_Url(void* ptr, long long options); +struct QtCore_PackedString QUrl_UserInfo(void* ptr, long long options); +struct QtCore_PackedString QUrl_UserName(void* ptr, long long options); +void QUrl_DestroyQUrl(void* ptr); +void* QUrl___allEncodedQueryItemValues_atList(void* ptr, int i); +void QUrl___allEncodedQueryItemValues_setList(void* ptr, void* i); +void* QUrl___allEncodedQueryItemValues_newList(void* ptr); +void* QUrl___fromStringList_atList(void* ptr, int i); +void QUrl___fromStringList_setList(void* ptr, void* i); +void* QUrl___fromStringList_newList(void* ptr); +void* QUrl___toStringList_urls_atList(void* ptr, int i); +void QUrl___toStringList_urls_setList(void* ptr, void* i); +void* QUrl___toStringList_urls_newList(void* ptr); +void* QUrlQuery_NewQUrlQuery(); +void* QUrlQuery_NewQUrlQuery2(void* url); +void* QUrlQuery_NewQUrlQuery3(struct QtCore_PackedString queryString); +void* QUrlQuery_NewQUrlQuery5(void* other); +void QUrlQuery_AddQueryItem(void* ptr, struct QtCore_PackedString key, struct QtCore_PackedString value); +struct QtCore_PackedString QUrlQuery_AllQueryItemValues(void* ptr, struct QtCore_PackedString key, long long encoding); +void QUrlQuery_Clear(void* ptr); +void* QUrlQuery_QUrlQuery_DefaultQueryPairDelimiter(); +void* QUrlQuery_QUrlQuery_DefaultQueryValueDelimiter(); +char QUrlQuery_HasQueryItem(void* ptr, struct QtCore_PackedString key); +char QUrlQuery_IsEmpty(void* ptr); +struct QtCore_PackedString QUrlQuery_Query(void* ptr, long long encoding); +struct QtCore_PackedString QUrlQuery_QueryItemValue(void* ptr, struct QtCore_PackedString key, long long encoding); +void* QUrlQuery_QueryPairDelimiter(void* ptr); +void* QUrlQuery_QueryValueDelimiter(void* ptr); +void QUrlQuery_RemoveAllQueryItems(void* ptr, struct QtCore_PackedString key); +void QUrlQuery_RemoveQueryItem(void* ptr, struct QtCore_PackedString key); +void QUrlQuery_SetQuery(void* ptr, struct QtCore_PackedString queryString); +void QUrlQuery_SetQueryDelimiters(void* ptr, void* valueDelimiter, void* pairDelimiter); +void QUrlQuery_Swap(void* ptr, void* other); +struct QtCore_PackedString QUrlQuery_ToString(void* ptr, long long encoding); +void QUrlQuery_DestroyQUrlQuery(void* ptr); +void* QUuid_NewQUuid2(); +void* QUuid_NewQUuid3(unsigned int l, unsigned short w1, unsigned short w2, char* b1, char* b2, char* b3, char* b4, char* b5, char* b6, char* b7, char* b8); +void* QUuid_NewQUuid4(struct QtCore_PackedString text); +void* QUuid_NewQUuid(void* text); +void* QUuid_QUuid_CreateUuid(); +void* QUuid_QUuid_CreateUuidV3(void* ns, void* baseData); +void* QUuid_QUuid_CreateUuidV32(void* ns, struct QtCore_PackedString baseData); +void* QUuid_QUuid_CreateUuidV5(void* ns, void* baseData); +void* QUuid_QUuid_CreateUuidV52(void* ns, struct QtCore_PackedString baseData); +void* QUuid_QUuid_FromRfc4122(void* bytes); +void* QUuid_QUuid_FromString(void* text); +void* QUuid_QUuid_FromString2(void* text); +char QUuid_IsNull(void* ptr); +void* QUuid_ToByteArray(void* ptr); +void* QUuid_ToByteArray2(void* ptr, long long mode); +void* QUuid_ToRfc4122(void* ptr); +struct QtCore_PackedString QUuid_ToString(void* ptr); +struct QtCore_PackedString QUuid_ToString2(void* ptr, long long mode); +long long QUuid_Variant(void* ptr); +long long QUuid_Version(void* ptr); +void* QVariant_NewQVariant(); +void* QVariant_NewQVariant2(long long ty); +void* QVariant_NewQVariant3(int typeId, void* copy); +void* QVariant_NewQVariant4(void* s); +void* QVariant_NewQVariant5(int val); +void* QVariant_NewQVariant6(unsigned int val); +void* QVariant_NewQVariant7(long long val); +void* QVariant_NewQVariant8(unsigned long long val); +void* QVariant_NewQVariant9(char val); +void* QVariant_NewQVariant10(double val); +void* QVariant_NewQVariant11(float val); +void* QVariant_NewQVariant12(char* val); +void* QVariant_NewQVariant13(void* val); +void* QVariant_NewQVariant14(void* val); +void* QVariant_NewQVariant15(struct QtCore_PackedString val); +void* QVariant_NewQVariant16(void* val); +void* QVariant_NewQVariant17(struct QtCore_PackedString val); +void* QVariant_NewQVariant18(void* c); +void* QVariant_NewQVariant19(void* val); +void* QVariant_NewQVariant20(void* val); +void* QVariant_NewQVariant21(void* val); +void* QVariant_NewQVariant22(void* val); +void* QVariant_NewQVariant23(void* val); +void* QVariant_NewQVariant24(void* val); +void* QVariant_NewQVariant25(void* val); +void* QVariant_NewQVariant26(void* val); +void* QVariant_NewQVariant27(void* val); +void* QVariant_NewQVariant28(void* val); +void* QVariant_NewQVariant29(void* val); +void* QVariant_NewQVariant30(void* val); +void* QVariant_NewQVariant31(void* val); +void* QVariant_NewQVariant32(void* val); +void* QVariant_NewQVariant33(void* l); +void* QVariant_NewQVariant34(void* regExp); +void* QVariant_NewQVariant35(void* re); +void* QVariant_NewQVariant36(void* val); +void* QVariant_NewQVariant37(void* val); +void* QVariant_NewQVariant38(void* val); +void* QVariant_NewQVariant39(void* val); +void* QVariant_NewQVariant40(void* val); +void* QVariant_NewQVariant41(void* val); +void* QVariant_NewQVariant42(void* val); +void* QVariant_NewQVariant43(void* val); +void* QVariant_NewQVariant44(void* val); +void* QVariant_NewQVariant45(void* other); +void QVariant_Clear(void* ptr); +char QVariant_Convert(void* ptr, int targetTypeId); +char QVariant_IsNull(void* ptr); +char QVariant_IsValid(void* ptr); +long long QVariant_QVariant_NameToType(char* name); +void QVariant_Swap(void* ptr, void* other); +void* QVariant_ToBitArray(void* ptr); +char QVariant_ToBool(void* ptr); +void* QVariant_ToByteArray(void* ptr); +void* QVariant_ToChar(void* ptr); +void* QVariant_ToDate(void* ptr); +void* QVariant_ToDateTime(void* ptr); +double QVariant_ToDouble(void* ptr, char* ok); +void* QVariant_ToEasingCurve(void* ptr); +float QVariant_ToFloat(void* ptr, char* ok); +struct QtCore_PackedList QVariant_ToHash(void* ptr); +int QVariant_ToInt(void* ptr, char* ok); +void* QVariant_ToJsonArray(void* ptr); +void* QVariant_ToJsonDocument(void* ptr); +void* QVariant_ToJsonObject(void* ptr); +void* QVariant_ToJsonValue(void* ptr); +void* QVariant_ToLine(void* ptr); +void* QVariant_ToLineF(void* ptr); +struct QtCore_PackedList QVariant_ToList(void* ptr); +void* QVariant_ToLocale(void* ptr); +long long QVariant_ToLongLong(void* ptr, char* ok); +struct QtCore_PackedList QVariant_ToMap(void* ptr); +void* QVariant_ToModelIndex(void* ptr); +void* QVariant_ToPersistentModelIndex(void* ptr); +void* QVariant_ToPoint(void* ptr); +void* QVariant_ToPointF(void* ptr); +double QVariant_ToReal(void* ptr, char* ok); +void* QVariant_ToRect(void* ptr); +void* QVariant_ToRectF(void* ptr); +void* QVariant_ToRegExp(void* ptr); +void* QVariant_ToRegularExpression(void* ptr); +void* QVariant_ToSize(void* ptr); +void* QVariant_ToSizeF(void* ptr); +struct QtCore_PackedString QVariant_ToString(void* ptr); +struct QtCore_PackedString QVariant_ToStringList(void* ptr); +void* QVariant_ToTime(void* ptr); +unsigned int QVariant_ToUInt(void* ptr, char* ok); +unsigned long long QVariant_ToULongLong(void* ptr, char* ok); +void* QVariant_ToUrl(void* ptr); +void* QVariant_ToUuid(void* ptr); +long long QVariant_Type(void* ptr); +struct QtCore_PackedString QVariant_TypeName(void* ptr); +struct QtCore_PackedString QVariant_QVariant_TypeToName(int typeId); +int QVariant_UserType(void* ptr); +void QVariant_DestroyQVariant(void* ptr); +void* QVariant_ToColor(void* ptr); +void* QVariant_ToFont(void* ptr); +void* QVariant_ToImage(void* ptr); +void* QVariant_ToObject(void* ptr); +void* QVariant_ToIcon(void* ptr); +void* QVariant_ToBrush(void* ptr); +void* QVariant___QVariant_val_atList22(void* ptr, int i); +void QVariant___QVariant_val_setList22(void* ptr, void* i); +void* QVariant___QVariant_val_newList22(void* ptr); +void* QVariant___QVariant_val_atList23(void* ptr, struct QtCore_PackedString v, int i); +void QVariant___QVariant_val_setList23(void* ptr, struct QtCore_PackedString key, void* i); +void* QVariant___QVariant_val_newList23(void* ptr); +struct QtCore_PackedList QVariant___QVariant_val_keyList23(void* ptr); +void* QVariant___QVariant_val_atList24(void* ptr, struct QtCore_PackedString v, int i); +void QVariant___QVariant_val_setList24(void* ptr, struct QtCore_PackedString key, void* i); +void* QVariant___QVariant_val_newList24(void* ptr); +struct QtCore_PackedList QVariant___QVariant_val_keyList24(void* ptr); +void* QVariant___toHash_atList(void* ptr, struct QtCore_PackedString v, int i); +void QVariant___toHash_setList(void* ptr, struct QtCore_PackedString key, void* i); +void* QVariant___toHash_newList(void* ptr); +struct QtCore_PackedList QVariant___toHash_keyList(void* ptr); +void* QVariant___toList_atList(void* ptr, int i); +void QVariant___toList_setList(void* ptr, void* i); +void* QVariant___toList_newList(void* ptr); +void* QVariant___toMap_atList(void* ptr, struct QtCore_PackedString v, int i); +void QVariant___toMap_setList(void* ptr, struct QtCore_PackedString key, void* i); +void* QVariant___toMap_newList(void* ptr); +struct QtCore_PackedList QVariant___toMap_keyList(void* ptr); +struct QtCore_PackedString QVariant_____QVariant_val_keyList_atList23(void* ptr, int i); +void QVariant_____QVariant_val_keyList_setList23(void* ptr, struct QtCore_PackedString i); +void* QVariant_____QVariant_val_keyList_newList23(void* ptr); +struct QtCore_PackedString QVariant_____QVariant_val_keyList_atList24(void* ptr, int i); +void QVariant_____QVariant_val_keyList_setList24(void* ptr, struct QtCore_PackedString i); +void* QVariant_____QVariant_val_keyList_newList24(void* ptr); +struct QtCore_PackedString QVariant_____toHash_keyList_atList(void* ptr, int i); +void QVariant_____toHash_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QVariant_____toHash_keyList_newList(void* ptr); +struct QtCore_PackedString QVariant_____toMap_keyList_atList(void* ptr, int i); +void QVariant_____toMap_keyList_setList(void* ptr, struct QtCore_PackedString i); +void* QVariant_____toMap_keyList_newList(void* ptr); +void* QVariantAnimation_NewQVariantAnimation(void* parent); +void* QVariantAnimation_CurrentValue(void* ptr); +int QVariantAnimation_Duration(void* ptr); +int QVariantAnimation_DurationDefault(void* ptr); +void* QVariantAnimation_EasingCurve(void* ptr); +void* QVariantAnimation_EndValue(void* ptr); +void* QVariantAnimation_Interpolated(void* ptr, void* from, void* to, double progress); +void* QVariantAnimation_InterpolatedDefault(void* ptr, void* from, void* to, double progress); +void* QVariantAnimation_KeyValueAt(void* ptr, double step); +void QVariantAnimation_SetDuration(void* ptr, int msecs); +void QVariantAnimation_SetEasingCurve(void* ptr, void* easing); +void QVariantAnimation_SetEndValue(void* ptr, void* value); +void QVariantAnimation_SetKeyValueAt(void* ptr, double step, void* value); +void QVariantAnimation_SetStartValue(void* ptr, void* value); +void* QVariantAnimation_StartValue(void* ptr); +void QVariantAnimation_UpdateCurrentTime(void* ptr, int vin); +void QVariantAnimation_UpdateCurrentTimeDefault(void* ptr, int vin); +void QVariantAnimation_UpdateCurrentValue(void* ptr, void* value); +void QVariantAnimation_UpdateCurrentValueDefault(void* ptr, void* value); +void QVariantAnimation_ConnectValueChanged(void* ptr, long long t); +void QVariantAnimation_DisconnectValueChanged(void* ptr); +void QVariantAnimation_ValueChanged(void* ptr, void* value); +void QVariantAnimation_DestroyQVariantAnimation(void* ptr); +void QVariantAnimation_DestroyQVariantAnimationDefault(void* ptr); +void* QVersionNumber_NewQVersionNumber(); +void* QVersionNumber_NewQVersionNumber2(void* seg); +void* QVersionNumber_NewQVersionNumber3(void* seg); +void* QVersionNumber_NewQVersionNumber5(int maj); +void* QVersionNumber_NewQVersionNumber6(int maj, int min); +void* QVersionNumber_NewQVersionNumber7(int maj, int min, int mic); +void* QVersionNumber_QVersionNumber_CommonPrefix(void* v1, void* v2); +int QVersionNumber_QVersionNumber_Compare(void* v1, void* v2); +void* QVersionNumber_QVersionNumber_FromString(struct QtCore_PackedString stri, int suffixIndex); +void* QVersionNumber_QVersionNumber_FromString2(void* stri, int suffixIndex); +void* QVersionNumber_QVersionNumber_FromString3(void* stri, int suffixIndex); +char QVersionNumber_IsNormalized(void* ptr); +char QVersionNumber_IsNull(void* ptr); +char QVersionNumber_IsPrefixOf(void* ptr, void* other); +int QVersionNumber_MajorVersion(void* ptr); +int QVersionNumber_MicroVersion(void* ptr); +int QVersionNumber_MinorVersion(void* ptr); +void* QVersionNumber_Normalized(void* ptr); +int QVersionNumber_SegmentAt(void* ptr, int index); +int QVersionNumber_SegmentCount(void* ptr); +struct QtCore_PackedList QVersionNumber_Segments(void* ptr); +struct QtCore_PackedString QVersionNumber_ToString(void* ptr); +int QVersionNumber___QVersionNumber_seg_atList2(void* ptr, int i); +void QVersionNumber___QVersionNumber_seg_setList2(void* ptr, int i); +void* QVersionNumber___QVersionNumber_seg_newList2(void* ptr); +int QVersionNumber___QVersionNumber_seg_atList3(void* ptr, int i); +void QVersionNumber___QVersionNumber_seg_setList3(void* ptr, int i); +void* QVersionNumber___QVersionNumber_seg_newList3(void* ptr); +int QVersionNumber___segments_atList(void* ptr, int i); +void QVersionNumber___segments_setList(void* ptr, int i); +void* QVersionNumber___segments_newList(void* ptr); +void* QWaitCondition_NewQWaitCondition(); +void QWaitCondition_Notify_all(void* ptr); +void QWaitCondition_Notify_one(void* ptr); +char QWaitCondition_Wait(void* ptr, void* lockedMutex, unsigned long ti); +char QWaitCondition_Wait3(void* ptr, void* lockedReadWriteLock, unsigned long ti); +void QWaitCondition_WakeAll(void* ptr); +void QWaitCondition_WakeOne(void* ptr); +void QWaitCondition_DestroyQWaitCondition(void* ptr); +void* QWriteLocker_NewQWriteLocker(void* lock); +void* QWriteLocker_ReadWriteLock(void* ptr); +void QWriteLocker_Relock(void* ptr); +void QWriteLocker_Unlock(void* ptr); +void QWriteLocker_DestroyQWriteLocker(void* ptr); +void* QXmlStreamAttribute_NewQXmlStreamAttribute(); +void* QXmlStreamAttribute_NewQXmlStreamAttribute2(struct QtCore_PackedString qualifiedName, struct QtCore_PackedString value); +void* QXmlStreamAttribute_NewQXmlStreamAttribute3(struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name, struct QtCore_PackedString value); +void* QXmlStreamAttribute_NewQXmlStreamAttribute4(void* other); +char QXmlStreamAttribute_IsDefault(void* ptr); +void* QXmlStreamAttribute_Name(void* ptr); +void* QXmlStreamAttribute_NamespaceUri(void* ptr); +void* QXmlStreamAttribute_Prefix(void* ptr); +void* QXmlStreamAttribute_QualifiedName(void* ptr); +void* QXmlStreamAttribute_Value(void* ptr); +void QXmlStreamAttribute_DestroyQXmlStreamAttribute(void* ptr); +void* QXmlStreamAttributes_NewQXmlStreamAttributes(); +void QXmlStreamAttributes_Append(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name, struct QtCore_PackedString value); +void QXmlStreamAttributes_Append2(void* ptr, struct QtCore_PackedString qualifiedName, struct QtCore_PackedString value); +char QXmlStreamAttributes_HasAttribute(void* ptr, struct QtCore_PackedString qualifiedName); +char QXmlStreamAttributes_HasAttribute2(void* ptr, void* qualifiedName); +char QXmlStreamAttributes_HasAttribute3(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name); +void* QXmlStreamAttributes_Value(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name); +void* QXmlStreamAttributes_Value2(void* ptr, struct QtCore_PackedString namespaceUri, void* name); +void* QXmlStreamAttributes_Value3(void* ptr, void* namespaceUri, void* name); +void* QXmlStreamAttributes_Value4(void* ptr, struct QtCore_PackedString qualifiedName); +void* QXmlStreamAttributes_Value5(void* ptr, void* qualifiedName); +void* QXmlStreamEntityDeclaration_NewQXmlStreamEntityDeclaration(); +void* QXmlStreamEntityDeclaration_NewQXmlStreamEntityDeclaration2(void* other); +void* QXmlStreamEntityDeclaration_Name(void* ptr); +void* QXmlStreamEntityDeclaration_NotationName(void* ptr); +void* QXmlStreamEntityDeclaration_PublicId(void* ptr); +void* QXmlStreamEntityDeclaration_SystemId(void* ptr); +void* QXmlStreamEntityDeclaration_Value(void* ptr); +void QXmlStreamEntityDeclaration_DestroyQXmlStreamEntityDeclaration(void* ptr); +struct QtCore_PackedString QXmlStreamEntityResolver_ResolveUndeclaredEntity(void* ptr, struct QtCore_PackedString name); +struct QtCore_PackedString QXmlStreamEntityResolver_ResolveUndeclaredEntityDefault(void* ptr, struct QtCore_PackedString name); +void QXmlStreamEntityResolver_DestroyQXmlStreamEntityResolver(void* ptr); +void QXmlStreamEntityResolver_DestroyQXmlStreamEntityResolverDefault(void* ptr); +void* QXmlStreamNamespaceDeclaration_NewQXmlStreamNamespaceDeclaration(); +void* QXmlStreamNamespaceDeclaration_NewQXmlStreamNamespaceDeclaration2(void* other); +void* QXmlStreamNamespaceDeclaration_NewQXmlStreamNamespaceDeclaration4(struct QtCore_PackedString prefix, struct QtCore_PackedString namespaceUri); +void* QXmlStreamNamespaceDeclaration_NamespaceUri(void* ptr); +void* QXmlStreamNamespaceDeclaration_Prefix(void* ptr); +void QXmlStreamNamespaceDeclaration_DestroyQXmlStreamNamespaceDeclaration(void* ptr); +void* QXmlStreamNotationDeclaration_NewQXmlStreamNotationDeclaration(); +void* QXmlStreamNotationDeclaration_NewQXmlStreamNotationDeclaration2(void* other); +void* QXmlStreamNotationDeclaration_Name(void* ptr); +void* QXmlStreamNotationDeclaration_PublicId(void* ptr); +void* QXmlStreamNotationDeclaration_SystemId(void* ptr); +void QXmlStreamNotationDeclaration_DestroyQXmlStreamNotationDeclaration(void* ptr); +void* QXmlStreamReader_NewQXmlStreamReader(); +void* QXmlStreamReader_NewQXmlStreamReader2(void* device); +void* QXmlStreamReader_NewQXmlStreamReader3(void* data); +void* QXmlStreamReader_NewQXmlStreamReader4(struct QtCore_PackedString data); +void* QXmlStreamReader_NewQXmlStreamReader5(char* data); +void QXmlStreamReader_AddData(void* ptr, void* data); +void QXmlStreamReader_AddData2(void* ptr, struct QtCore_PackedString data); +void QXmlStreamReader_AddData3(void* ptr, char* data); +void QXmlStreamReader_AddExtraNamespaceDeclaration(void* ptr, void* extraNamespaceDeclaration); +char QXmlStreamReader_AtEnd(void* ptr); +long long QXmlStreamReader_CharacterOffset(void* ptr); +void QXmlStreamReader_Clear(void* ptr); +long long QXmlStreamReader_ColumnNumber(void* ptr); +void* QXmlStreamReader_Device(void* ptr); +void* QXmlStreamReader_DocumentEncoding(void* ptr); +void* QXmlStreamReader_DocumentVersion(void* ptr); +void* QXmlStreamReader_DtdName(void* ptr); +void* QXmlStreamReader_DtdPublicId(void* ptr); +void* QXmlStreamReader_DtdSystemId(void* ptr); +void* QXmlStreamReader_EntityResolver(void* ptr); +long long QXmlStreamReader_Error(void* ptr); +struct QtCore_PackedString QXmlStreamReader_ErrorString(void* ptr); +char QXmlStreamReader_HasError(void* ptr); +char QXmlStreamReader_IsCDATA(void* ptr); +char QXmlStreamReader_IsCharacters(void* ptr); +char QXmlStreamReader_IsComment(void* ptr); +char QXmlStreamReader_IsDTD(void* ptr); +char QXmlStreamReader_IsEndDocument(void* ptr); +char QXmlStreamReader_IsEndElement(void* ptr); +char QXmlStreamReader_IsEntityReference(void* ptr); +char QXmlStreamReader_IsProcessingInstruction(void* ptr); +char QXmlStreamReader_IsStandaloneDocument(void* ptr); +char QXmlStreamReader_IsStartDocument(void* ptr); +char QXmlStreamReader_IsStartElement(void* ptr); +char QXmlStreamReader_IsWhitespace(void* ptr); +long long QXmlStreamReader_LineNumber(void* ptr); +void* QXmlStreamReader_Name(void* ptr); +char QXmlStreamReader_NamespaceProcessing(void* ptr); +void* QXmlStreamReader_NamespaceUri(void* ptr); +void* QXmlStreamReader_Prefix(void* ptr); +void* QXmlStreamReader_ProcessingInstructionData(void* ptr); +void* QXmlStreamReader_ProcessingInstructionTarget(void* ptr); +void* QXmlStreamReader_QualifiedName(void* ptr); +void QXmlStreamReader_RaiseError(void* ptr, struct QtCore_PackedString message); +struct QtCore_PackedString QXmlStreamReader_ReadElementText(void* ptr, long long behaviour); +long long QXmlStreamReader_ReadNext(void* ptr); +char QXmlStreamReader_ReadNextStartElement(void* ptr); +void QXmlStreamReader_SetDevice(void* ptr, void* device); +void QXmlStreamReader_SetEntityResolver(void* ptr, void* resolver); +void QXmlStreamReader_SetNamespaceProcessing(void* ptr, char vbo); +void QXmlStreamReader_SkipCurrentElement(void* ptr); +void* QXmlStreamReader_Text(void* ptr); +struct QtCore_PackedString QXmlStreamReader_TokenString(void* ptr); +long long QXmlStreamReader_TokenType(void* ptr); +void QXmlStreamReader_DestroyQXmlStreamReader(void* ptr); +void* QXmlStreamWriter_NewQXmlStreamWriter(); +void* QXmlStreamWriter_NewQXmlStreamWriter2(void* device); +void* QXmlStreamWriter_NewQXmlStreamWriter3(void* array); +void* QXmlStreamWriter_NewQXmlStreamWriter4(struct QtCore_PackedString stri); +char QXmlStreamWriter_AutoFormatting(void* ptr); +int QXmlStreamWriter_AutoFormattingIndent(void* ptr); +void* QXmlStreamWriter_Codec(void* ptr); +void* QXmlStreamWriter_Device(void* ptr); +char QXmlStreamWriter_HasError(void* ptr); +void QXmlStreamWriter_SetAutoFormatting(void* ptr, char enable); +void QXmlStreamWriter_SetAutoFormattingIndent(void* ptr, int spacesOrTabs); +void QXmlStreamWriter_SetCodec(void* ptr, void* codec); +void QXmlStreamWriter_SetCodec2(void* ptr, char* codecName); +void QXmlStreamWriter_SetDevice(void* ptr, void* device); +void QXmlStreamWriter_WriteAttribute(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name, struct QtCore_PackedString value); +void QXmlStreamWriter_WriteAttribute2(void* ptr, struct QtCore_PackedString qualifiedName, struct QtCore_PackedString value); +void QXmlStreamWriter_WriteAttribute3(void* ptr, void* attribute); +void QXmlStreamWriter_WriteAttributes(void* ptr, void* attributes); +void QXmlStreamWriter_WriteCDATA(void* ptr, struct QtCore_PackedString text); +void QXmlStreamWriter_WriteCharacters(void* ptr, struct QtCore_PackedString text); +void QXmlStreamWriter_WriteComment(void* ptr, struct QtCore_PackedString text); +void QXmlStreamWriter_WriteCurrentToken(void* ptr, void* reader); +void QXmlStreamWriter_WriteDTD(void* ptr, struct QtCore_PackedString dtd); +void QXmlStreamWriter_WriteDefaultNamespace(void* ptr, struct QtCore_PackedString namespaceUri); +void QXmlStreamWriter_WriteEmptyElement(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name); +void QXmlStreamWriter_WriteEmptyElement2(void* ptr, struct QtCore_PackedString qualifiedName); +void QXmlStreamWriter_WriteEndDocument(void* ptr); +void QXmlStreamWriter_WriteEndElement(void* ptr); +void QXmlStreamWriter_WriteEntityReference(void* ptr, struct QtCore_PackedString name); +void QXmlStreamWriter_WriteNamespace(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString prefix); +void QXmlStreamWriter_WriteProcessingInstruction(void* ptr, struct QtCore_PackedString target, struct QtCore_PackedString data); +void QXmlStreamWriter_WriteStartDocument(void* ptr, struct QtCore_PackedString version); +void QXmlStreamWriter_WriteStartDocument2(void* ptr); +void QXmlStreamWriter_WriteStartDocument3(void* ptr, struct QtCore_PackedString version, char standalone); +void QXmlStreamWriter_WriteStartElement(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name); +void QXmlStreamWriter_WriteStartElement2(void* ptr, struct QtCore_PackedString qualifiedName); +void QXmlStreamWriter_WriteTextElement(void* ptr, struct QtCore_PackedString namespaceUri, struct QtCore_PackedString name, struct QtCore_PackedString text); +void QXmlStreamWriter_WriteTextElement2(void* ptr, struct QtCore_PackedString qualifiedName, struct QtCore_PackedString text); +void QXmlStreamWriter_DestroyQXmlStreamWriter(void* ptr); +int Qt_LastGestureType_Type(); +struct QtCore_PackedString Qt_Qt_ConvertFromPlainText(struct QtCore_PackedString plain, long long mode); +char Qt_Qt_MightBeRichText(struct QtCore_PackedString text); +struct QtCore_PackedString QtGlobal_QtGlobal_qEnvironmentVariable(char* varName); +struct QtCore_PackedString QtGlobal_QtGlobal_qEnvironmentVariable2(char* varName, struct QtCore_PackedString defaultValue); +int QtGlobal_QtGlobal_qEnvironmentVariableIntValue(char* varName, char* ok); +char QtGlobal_QtGlobal_qEnvironmentVariableIsEmpty(char* varName); +char QtGlobal_QtGlobal_qEnvironmentVariableIsSet(char* varName); +struct QtCore_PackedString QtGlobal_QtGlobal_qVersion(); +void* QtGlobal_QtGlobal_qgetenv(char* varName); +char QtGlobal_QtGlobal_qputenv(char* varName, void* value); +char QtGlobal_QtGlobal_qunsetenv(char* varName); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/go.mod b/vendor/github.com/therecipe/qt/go.mod new file mode 100644 index 00000000..fa25889f --- /dev/null +++ b/vendor/github.com/therecipe/qt/go.mod @@ -0,0 +1,23 @@ +module github.com/therecipe/qt + +require ( + github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e + github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect + github.com/sirupsen/logrus v1.4.1 + github.com/stretchr/objx v0.2.0 // indirect + github.com/stretchr/testify v1.3.0 + golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480 + golang.org/x/net v0.0.0-20190420063019-afa5a82059c6 // indirect + golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a // indirect + golang.org/x/tools v0.0.0-20190420181800-aa740d480789 +) + +replace golang.org/x/crypto => github.com/golang/crypto v0.0.0-20190418165655-df01cb2cc480 + +replace golang.org/x/net => github.com/golang/net v0.0.0-20190420063019-afa5a82059c6 + +replace golang.org/x/sys => github.com/golang/sys v0.0.0-20190419153524-e8e3143a4f4a + +replace golang.org/x/tools => github.com/golang/tools v0.0.0-20190420181800-aa740d480789 + +replace golang.org/x/text => github.com/golang/text v0.3.1-0.20190410012825-f4905fbd45b6 diff --git a/vendor/github.com/therecipe/qt/go.sum b/vendor/github.com/therecipe/qt/go.sum new file mode 100644 index 00000000..b99d30ad --- /dev/null +++ b/vendor/github.com/therecipe/qt/go.sum @@ -0,0 +1,19 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/golang/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +github.com/golang/net v0.0.0-20190420063019-afa5a82059c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +github.com/golang/sys v0.0.0-20190419153524-e8e3143a4f4a h1:5bYuhgnDII4NSAAw1wRU+pCovYhB/AqYVmsK2JDnK2k= +github.com/golang/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +github.com/golang/text v0.3.1-0.20190410012825-f4905fbd45b6/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +github.com/golang/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= diff --git a/vendor/github.com/therecipe/qt/gui/gui.cpp b/vendor/github.com/therecipe/qt/gui/gui.cpp new file mode 100644 index 00000000..0203c977 --- /dev/null +++ b/vendor/github.com/therecipe/qt/gui/gui.cpp @@ -0,0 +1,37225 @@ +// +build !minimal + +#define protected public +#define private public + +#include "gui.h" +#include "_cgo_export.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class MyQAbstractTextDocumentLayout: public QAbstractTextDocumentLayout +{ +public: + QRectF blockBoundingRect(const QTextBlock & block) const { return *static_cast(callbackQAbstractTextDocumentLayout_BlockBoundingRect(const_cast(static_cast(this)), const_cast(&block))); }; + void documentChanged(int position, int charsRemoved, int charsAdded) { callbackQAbstractTextDocumentLayout_DocumentChanged(this, position, charsRemoved, charsAdded); }; + QSizeF documentSize() const { return *static_cast(callbackQAbstractTextDocumentLayout_DocumentSize(const_cast(static_cast(this)))); }; + void Signal_DocumentSizeChanged(const QSizeF & newSize) { callbackQAbstractTextDocumentLayout_DocumentSizeChanged(this, const_cast(&newSize)); }; + QRectF frameBoundingRect(QTextFrame * frame) const { return *static_cast(callbackQAbstractTextDocumentLayout_FrameBoundingRect(const_cast(static_cast(this)), frame)); }; + int hitTest(const QPointF & point, Qt::HitTestAccuracy accuracy) const { return callbackQAbstractTextDocumentLayout_HitTest(const_cast(static_cast(this)), const_cast(&point), accuracy); }; + int pageCount() const { return callbackQAbstractTextDocumentLayout_PageCount(const_cast(static_cast(this))); }; + void Signal_PageCountChanged(int newPages) { callbackQAbstractTextDocumentLayout_PageCountChanged(this, newPages); }; + void Signal_Update(const QRectF & rect) { callbackQAbstractTextDocumentLayout_Update(this, const_cast(&rect)); }; + void Signal_UpdateBlock(const QTextBlock & block) { callbackQAbstractTextDocumentLayout_UpdateBlock(this, const_cast(&block)); }; + void childEvent(QChildEvent * event) { callbackQAbstractTextDocumentLayout_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQAbstractTextDocumentLayout_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQAbstractTextDocumentLayout_CustomEvent(this, event); }; + void deleteLater() { callbackQAbstractTextDocumentLayout_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQAbstractTextDocumentLayout_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQAbstractTextDocumentLayout_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQAbstractTextDocumentLayout_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQAbstractTextDocumentLayout_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQAbstractTextDocumentLayout_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQAbstractTextDocumentLayout_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQAbstractTextDocumentLayout_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractTextDocumentLayout*) + +int QAbstractTextDocumentLayout_QAbstractTextDocumentLayout_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +struct QtGui_PackedString QAbstractTextDocumentLayout_AnchorAt(void* ptr, void* position) +{ + return ({ QByteArray t81dfdf = static_cast(ptr)->anchorAt(*static_cast(position)).toUtf8(); QtGui_PackedString { const_cast(t81dfdf.prepend("WHITESPACE").constData()+10), t81dfdf.size()-10 }; }); +} + +void* QAbstractTextDocumentLayout_BlockBoundingRect(void* ptr, void* block) +{ + return ({ QRectF tmpValue = static_cast(ptr)->blockBoundingRect(*static_cast(block)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QAbstractTextDocumentLayout_Document(void* ptr) +{ + return static_cast(ptr)->document(); +} + +void QAbstractTextDocumentLayout_DocumentChanged(void* ptr, int position, int charsRemoved, int charsAdded) +{ + static_cast(ptr)->documentChanged(position, charsRemoved, charsAdded); +} + +void* QAbstractTextDocumentLayout_DocumentSize(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->documentSize(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void QAbstractTextDocumentLayout_ConnectDocumentSizeChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractTextDocumentLayout::documentSizeChanged), static_cast(ptr), static_cast(&MyQAbstractTextDocumentLayout::Signal_DocumentSizeChanged), static_cast(t)); +} + +void QAbstractTextDocumentLayout_DisconnectDocumentSizeChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractTextDocumentLayout::documentSizeChanged), static_cast(ptr), static_cast(&MyQAbstractTextDocumentLayout::Signal_DocumentSizeChanged)); +} + +void QAbstractTextDocumentLayout_DocumentSizeChanged(void* ptr, void* newSize) +{ + static_cast(ptr)->documentSizeChanged(*static_cast(newSize)); +} + +void QAbstractTextDocumentLayout_DrawInlineObject(void* ptr, void* painter, void* rect, void* object, int posInDocument, void* format) +{ + static_cast(ptr)->drawInlineObject(static_cast(painter), *static_cast(rect), *static_cast(object), posInDocument, *static_cast(format)); +} + +void QAbstractTextDocumentLayout_DrawInlineObjectDefault(void* ptr, void* painter, void* rect, void* object, int posInDocument, void* format) +{ + static_cast(ptr)->QAbstractTextDocumentLayout::drawInlineObject(static_cast(painter), *static_cast(rect), *static_cast(object), posInDocument, *static_cast(format)); +} + +void* QAbstractTextDocumentLayout_Format(void* ptr, int position) +{ + return new QTextCharFormat(static_cast(ptr)->format(position)); +} + +void* QAbstractTextDocumentLayout_FormatAt(void* ptr, void* pos) +{ + return new QTextFormat(static_cast(ptr)->formatAt(*static_cast(pos))); +} + +void* QAbstractTextDocumentLayout_FrameBoundingRect(void* ptr, void* frame) +{ + return ({ QRectF tmpValue = static_cast(ptr)->frameBoundingRect(static_cast(frame)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QAbstractTextDocumentLayout_HandlerForObject(void* ptr, int objectType) +{ + return static_cast(ptr)->handlerForObject(objectType); +} + +int QAbstractTextDocumentLayout_HitTest(void* ptr, void* point, long long accuracy) +{ + return static_cast(ptr)->hitTest(*static_cast(point), static_cast(accuracy)); +} + +struct QtGui_PackedString QAbstractTextDocumentLayout_ImageAt(void* ptr, void* pos) +{ + return ({ QByteArray t0eaa79 = static_cast(ptr)->imageAt(*static_cast(pos)).toUtf8(); QtGui_PackedString { const_cast(t0eaa79.prepend("WHITESPACE").constData()+10), t0eaa79.size()-10 }; }); +} + +int QAbstractTextDocumentLayout_PageCount(void* ptr) +{ + return static_cast(ptr)->pageCount(); +} + +void QAbstractTextDocumentLayout_ConnectPageCountChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractTextDocumentLayout::pageCountChanged), static_cast(ptr), static_cast(&MyQAbstractTextDocumentLayout::Signal_PageCountChanged), static_cast(t)); +} + +void QAbstractTextDocumentLayout_DisconnectPageCountChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractTextDocumentLayout::pageCountChanged), static_cast(ptr), static_cast(&MyQAbstractTextDocumentLayout::Signal_PageCountChanged)); +} + +void QAbstractTextDocumentLayout_PageCountChanged(void* ptr, int newPages) +{ + static_cast(ptr)->pageCountChanged(newPages); +} + +void* QAbstractTextDocumentLayout_PaintDevice(void* ptr) +{ + return static_cast(ptr)->paintDevice(); +} + +void QAbstractTextDocumentLayout_PositionInlineObject(void* ptr, void* item, int posInDocument, void* format) +{ + static_cast(ptr)->positionInlineObject(*static_cast(item), posInDocument, *static_cast(format)); +} + +void QAbstractTextDocumentLayout_PositionInlineObjectDefault(void* ptr, void* item, int posInDocument, void* format) +{ + static_cast(ptr)->QAbstractTextDocumentLayout::positionInlineObject(*static_cast(item), posInDocument, *static_cast(format)); +} + +void QAbstractTextDocumentLayout_RegisterHandler(void* ptr, int objectType, void* component) +{ + if (dynamic_cast(static_cast(component))) { + static_cast(ptr)->registerHandler(objectType, static_cast(component)); + } else if (dynamic_cast(static_cast(component))) { + static_cast(ptr)->registerHandler(objectType, static_cast(component)); + } else if (dynamic_cast(static_cast(component))) { + static_cast(ptr)->registerHandler(objectType, static_cast(component)); + } else if (dynamic_cast(static_cast(component))) { + static_cast(ptr)->registerHandler(objectType, static_cast(component)); + } else { + static_cast(ptr)->registerHandler(objectType, static_cast(component)); + } +} + +void QAbstractTextDocumentLayout_ResizeInlineObject(void* ptr, void* item, int posInDocument, void* format) +{ + static_cast(ptr)->resizeInlineObject(*static_cast(item), posInDocument, *static_cast(format)); +} + +void QAbstractTextDocumentLayout_ResizeInlineObjectDefault(void* ptr, void* item, int posInDocument, void* format) +{ + static_cast(ptr)->QAbstractTextDocumentLayout::resizeInlineObject(*static_cast(item), posInDocument, *static_cast(format)); +} + +void QAbstractTextDocumentLayout_SetPaintDevice(void* ptr, void* device) +{ + if (dynamic_cast(static_cast(device))) { + static_cast(ptr)->setPaintDevice(static_cast(device)); + } else if (dynamic_cast(static_cast(device))) { + static_cast(ptr)->setPaintDevice(static_cast(device)); + } else { + static_cast(ptr)->setPaintDevice(static_cast(device)); + } +} + +void QAbstractTextDocumentLayout_UnregisterHandler(void* ptr, int objectType, void* component) +{ + if (dynamic_cast(static_cast(component))) { + static_cast(ptr)->unregisterHandler(objectType, static_cast(component)); + } else if (dynamic_cast(static_cast(component))) { + static_cast(ptr)->unregisterHandler(objectType, static_cast(component)); + } else if (dynamic_cast(static_cast(component))) { + static_cast(ptr)->unregisterHandler(objectType, static_cast(component)); + } else if (dynamic_cast(static_cast(component))) { + static_cast(ptr)->unregisterHandler(objectType, static_cast(component)); + } else { + static_cast(ptr)->unregisterHandler(objectType, static_cast(component)); + } +} + +void QAbstractTextDocumentLayout_ConnectUpdate(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractTextDocumentLayout::update), static_cast(ptr), static_cast(&MyQAbstractTextDocumentLayout::Signal_Update), static_cast(t)); +} + +void QAbstractTextDocumentLayout_DisconnectUpdate(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractTextDocumentLayout::update), static_cast(ptr), static_cast(&MyQAbstractTextDocumentLayout::Signal_Update)); +} + +void QAbstractTextDocumentLayout_Update(void* ptr, void* rect) +{ + static_cast(ptr)->update(*static_cast(rect)); +} + +void QAbstractTextDocumentLayout_ConnectUpdateBlock(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractTextDocumentLayout::updateBlock), static_cast(ptr), static_cast(&MyQAbstractTextDocumentLayout::Signal_UpdateBlock), static_cast(t)); +} + +void QAbstractTextDocumentLayout_DisconnectUpdateBlock(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractTextDocumentLayout::updateBlock), static_cast(ptr), static_cast(&MyQAbstractTextDocumentLayout::Signal_UpdateBlock)); +} + +void QAbstractTextDocumentLayout_UpdateBlock(void* ptr, void* block) +{ + static_cast(ptr)->updateBlock(*static_cast(block)); +} + +void* QAbstractTextDocumentLayout___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractTextDocumentLayout___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QAbstractTextDocumentLayout___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractTextDocumentLayout___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractTextDocumentLayout___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractTextDocumentLayout___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractTextDocumentLayout___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractTextDocumentLayout___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QAbstractTextDocumentLayout___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractTextDocumentLayout___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractTextDocumentLayout___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QAbstractTextDocumentLayout___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractTextDocumentLayout___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractTextDocumentLayout___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QAbstractTextDocumentLayout___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QAbstractTextDocumentLayout_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QAbstractTextDocumentLayout::childEvent(static_cast(event)); +} + +void QAbstractTextDocumentLayout_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QAbstractTextDocumentLayout::connectNotify(*static_cast(sign)); +} + +void QAbstractTextDocumentLayout_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QAbstractTextDocumentLayout::customEvent(static_cast(event)); +} + +void QAbstractTextDocumentLayout_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QAbstractTextDocumentLayout::deleteLater(); +} + +void QAbstractTextDocumentLayout_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QAbstractTextDocumentLayout::disconnectNotify(*static_cast(sign)); +} + +char QAbstractTextDocumentLayout_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QAbstractTextDocumentLayout::event(static_cast(e)); +} + +char QAbstractTextDocumentLayout_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QAbstractTextDocumentLayout::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QAbstractTextDocumentLayout::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QAbstractTextDocumentLayout::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QAbstractTextDocumentLayout::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QAbstractTextDocumentLayout::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QAbstractTextDocumentLayout_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QAbstractTextDocumentLayout::metaObject()); +} + +void QAbstractTextDocumentLayout_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QAbstractTextDocumentLayout::timerEvent(static_cast(event)); +} + +char QAccessible_QAccessible_IsActive() +{ + return QAccessible::isActive(); +} + +void* QAccessible_QAccessible_QueryAccessibleInterface(void* object) +{ + if (dynamic_cast(static_cast(object))) { + return QAccessible::queryAccessibleInterface(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return QAccessible::queryAccessibleInterface(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return QAccessible::queryAccessibleInterface(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return QAccessible::queryAccessibleInterface(static_cast(object)); + } else { + return QAccessible::queryAccessibleInterface(static_cast(object)); + } +} + +void QAccessible_QAccessible_SetRootObject(void* object) +{ + if (dynamic_cast(static_cast(object))) { + QAccessible::setRootObject(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + QAccessible::setRootObject(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + QAccessible::setRootObject(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + QAccessible::setRootObject(static_cast(object)); + } else { + QAccessible::setRootObject(static_cast(object)); + } +} + +void QAccessible_QAccessible_UpdateAccessibility2(void* event) +{ + QAccessible::updateAccessibility(static_cast(event)); +} + +class MyQAccessibleActionInterface: public QAccessibleActionInterface +{ +public: + QStringList actionNames() const { return ({ QtGui_PackedString tempVal = callbackQAccessibleActionInterface_ActionNames(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + void doAction(const QString & actionName) { QByteArray tcd1a8c = actionName.toUtf8(); QtGui_PackedString actionNamePacked = { const_cast(tcd1a8c.prepend("WHITESPACE").constData()+10), tcd1a8c.size()-10 };callbackQAccessibleActionInterface_DoAction(this, actionNamePacked); }; + QStringList keyBindingsForAction(const QString & actionName) const { QByteArray tcd1a8c = actionName.toUtf8(); QtGui_PackedString actionNamePacked = { const_cast(tcd1a8c.prepend("WHITESPACE").constData()+10), tcd1a8c.size()-10 };return ({ QtGui_PackedString tempVal = callbackQAccessibleActionInterface_KeyBindingsForAction(const_cast(static_cast(this)), actionNamePacked); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + QString localizedActionDescription(const QString & actionName) const { QByteArray tcd1a8c = actionName.toUtf8(); QtGui_PackedString actionNamePacked = { const_cast(tcd1a8c.prepend("WHITESPACE").constData()+10), tcd1a8c.size()-10 };return ({ QtGui_PackedString tempVal = callbackQAccessibleActionInterface_LocalizedActionDescription(const_cast(static_cast(this)), actionNamePacked); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + QString localizedActionName(const QString & actionName) const { QByteArray tcd1a8c = actionName.toUtf8(); QtGui_PackedString actionNamePacked = { const_cast(tcd1a8c.prepend("WHITESPACE").constData()+10), tcd1a8c.size()-10 };return ({ QtGui_PackedString tempVal = callbackQAccessibleActionInterface_LocalizedActionName(const_cast(static_cast(this)), actionNamePacked); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + ~MyQAccessibleActionInterface() { callbackQAccessibleActionInterface_DestroyQAccessibleActionInterface(this); }; +}; + +struct QtGui_PackedString QAccessibleActionInterface_ActionNames(void* ptr) +{ + return ({ QByteArray t71e118 = static_cast(ptr)->actionNames().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t71e118.prepend("WHITESPACE").constData()+10), t71e118.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_DecreaseAction() +{ + return ({ QByteArray t572cdb = QAccessibleActionInterface::decreaseAction().toUtf8(); QtGui_PackedString { const_cast(t572cdb.prepend("WHITESPACE").constData()+10), t572cdb.size()-10 }; }); +} + +void QAccessibleActionInterface_DoAction(void* ptr, struct QtGui_PackedString actionName) +{ + static_cast(ptr)->doAction(QString::fromUtf8(actionName.data, actionName.len)); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_IncreaseAction() +{ + return ({ QByteArray tf61c5c = QAccessibleActionInterface::increaseAction().toUtf8(); QtGui_PackedString { const_cast(tf61c5c.prepend("WHITESPACE").constData()+10), tf61c5c.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_KeyBindingsForAction(void* ptr, struct QtGui_PackedString actionName) +{ + return ({ QByteArray te37e4d = static_cast(ptr)->keyBindingsForAction(QString::fromUtf8(actionName.data, actionName.len)).join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(te37e4d.prepend("WHITESPACE").constData()+10), te37e4d.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_LocalizedActionDescription(void* ptr, struct QtGui_PackedString actionName) +{ + return ({ QByteArray tbea3be = static_cast(ptr)->localizedActionDescription(QString::fromUtf8(actionName.data, actionName.len)).toUtf8(); QtGui_PackedString { const_cast(tbea3be.prepend("WHITESPACE").constData()+10), tbea3be.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_LocalizedActionDescriptionDefault(void* ptr, struct QtGui_PackedString actionName) +{ + return ({ QByteArray t62e182 = static_cast(ptr)->QAccessibleActionInterface::localizedActionDescription(QString::fromUtf8(actionName.data, actionName.len)).toUtf8(); QtGui_PackedString { const_cast(t62e182.prepend("WHITESPACE").constData()+10), t62e182.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_LocalizedActionName(void* ptr, struct QtGui_PackedString actionName) +{ + return ({ QByteArray t0ed8e5 = static_cast(ptr)->localizedActionName(QString::fromUtf8(actionName.data, actionName.len)).toUtf8(); QtGui_PackedString { const_cast(t0ed8e5.prepend("WHITESPACE").constData()+10), t0ed8e5.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_LocalizedActionNameDefault(void* ptr, struct QtGui_PackedString actionName) +{ + return ({ QByteArray t96c424 = static_cast(ptr)->QAccessibleActionInterface::localizedActionName(QString::fromUtf8(actionName.data, actionName.len)).toUtf8(); QtGui_PackedString { const_cast(t96c424.prepend("WHITESPACE").constData()+10), t96c424.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_NextPageAction() +{ + return ({ QByteArray t1ad988 = QAccessibleActionInterface::nextPageAction().toUtf8(); QtGui_PackedString { const_cast(t1ad988.prepend("WHITESPACE").constData()+10), t1ad988.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_PressAction() +{ + return ({ QByteArray t899f7e = QAccessibleActionInterface::pressAction().toUtf8(); QtGui_PackedString { const_cast(t899f7e.prepend("WHITESPACE").constData()+10), t899f7e.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_PreviousPageAction() +{ + return ({ QByteArray t44741f = QAccessibleActionInterface::previousPageAction().toUtf8(); QtGui_PackedString { const_cast(t44741f.prepend("WHITESPACE").constData()+10), t44741f.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ScrollDownAction() +{ + return ({ QByteArray tf765c1 = QAccessibleActionInterface::scrollDownAction().toUtf8(); QtGui_PackedString { const_cast(tf765c1.prepend("WHITESPACE").constData()+10), tf765c1.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ScrollLeftAction() +{ + return ({ QByteArray t35286b = QAccessibleActionInterface::scrollLeftAction().toUtf8(); QtGui_PackedString { const_cast(t35286b.prepend("WHITESPACE").constData()+10), t35286b.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ScrollRightAction() +{ + return ({ QByteArray taa7ac9 = QAccessibleActionInterface::scrollRightAction().toUtf8(); QtGui_PackedString { const_cast(taa7ac9.prepend("WHITESPACE").constData()+10), taa7ac9.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ScrollUpAction() +{ + return ({ QByteArray t6e10e7 = QAccessibleActionInterface::scrollUpAction().toUtf8(); QtGui_PackedString { const_cast(t6e10e7.prepend("WHITESPACE").constData()+10), t6e10e7.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_SetFocusAction() +{ + return ({ QByteArray t8516d1 = QAccessibleActionInterface::setFocusAction().toUtf8(); QtGui_PackedString { const_cast(t8516d1.prepend("WHITESPACE").constData()+10), t8516d1.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ShowMenuAction() +{ + return ({ QByteArray tfc8b6a = QAccessibleActionInterface::showMenuAction().toUtf8(); QtGui_PackedString { const_cast(tfc8b6a.prepend("WHITESPACE").constData()+10), tfc8b6a.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ToggleAction() +{ + return ({ QByteArray tc0e2c4 = QAccessibleActionInterface::toggleAction().toUtf8(); QtGui_PackedString { const_cast(tc0e2c4.prepend("WHITESPACE").constData()+10), tc0e2c4.size()-10 }; }); +} + +void QAccessibleActionInterface_DestroyQAccessibleActionInterface(void* ptr) +{ + static_cast(ptr)->~QAccessibleActionInterface(); +} + +void QAccessibleActionInterface_DestroyQAccessibleActionInterfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQAccessibleEditableTextInterface: public QAccessibleEditableTextInterface +{ +public: + void deleteText(int startOffset, int endOffset) { callbackQAccessibleEditableTextInterface_DeleteText(this, startOffset, endOffset); }; + void insertText(int offset, const QString & text) { QByteArray t372ea0 = text.toUtf8(); QtGui_PackedString textPacked = { const_cast(t372ea0.prepend("WHITESPACE").constData()+10), t372ea0.size()-10 };callbackQAccessibleEditableTextInterface_InsertText(this, offset, textPacked); }; + void replaceText(int startOffset, int endOffset, const QString & text) { QByteArray t372ea0 = text.toUtf8(); QtGui_PackedString textPacked = { const_cast(t372ea0.prepend("WHITESPACE").constData()+10), t372ea0.size()-10 };callbackQAccessibleEditableTextInterface_ReplaceText(this, startOffset, endOffset, textPacked); }; + ~MyQAccessibleEditableTextInterface() { callbackQAccessibleEditableTextInterface_DestroyQAccessibleEditableTextInterface(this); }; +}; + +void QAccessibleEditableTextInterface_DeleteText(void* ptr, int startOffset, int endOffset) +{ + static_cast(ptr)->deleteText(startOffset, endOffset); +} + +void QAccessibleEditableTextInterface_InsertText(void* ptr, int offset, struct QtGui_PackedString text) +{ + static_cast(ptr)->insertText(offset, QString::fromUtf8(text.data, text.len)); +} + +void QAccessibleEditableTextInterface_ReplaceText(void* ptr, int startOffset, int endOffset, struct QtGui_PackedString text) +{ + static_cast(ptr)->replaceText(startOffset, endOffset, QString::fromUtf8(text.data, text.len)); +} + +void QAccessibleEditableTextInterface_DestroyQAccessibleEditableTextInterface(void* ptr) +{ + static_cast(ptr)->~QAccessibleEditableTextInterface(); +} + +void QAccessibleEditableTextInterface_DestroyQAccessibleEditableTextInterfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQAccessibleEvent: public QAccessibleEvent +{ +public: + MyQAccessibleEvent(QObject *object, QAccessible::Event ty) : QAccessibleEvent(object, ty) {}; + MyQAccessibleEvent(QAccessibleInterface *interfa, QAccessible::Event ty) : QAccessibleEvent(interfa, ty) {}; + QAccessibleInterface * accessibleInterface() const { return static_cast(callbackQAccessibleEvent_AccessibleInterface(const_cast(static_cast(this)))); }; + ~MyQAccessibleEvent() { callbackQAccessibleEvent_DestroyQAccessibleEvent(this); }; +}; + +void* QAccessibleEvent_NewQAccessibleEvent2(void* object, long long ty) +{ + if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } else { + return new MyQAccessibleEvent(static_cast(object), static_cast(ty)); + } +} + +void* QAccessibleEvent_NewQAccessibleEvent3(void* interfa, long long ty) +{ + if (dynamic_cast(static_cast(interfa))) { + return new MyQAccessibleEvent(static_cast(interfa), static_cast(ty)); + } else { + return new MyQAccessibleEvent(static_cast(interfa), static_cast(ty)); + } +} + +void* QAccessibleEvent_AccessibleInterface(void* ptr) +{ + return static_cast(ptr)->accessibleInterface(); +} + +void* QAccessibleEvent_AccessibleInterfaceDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleTableModelChangeEvent::accessibleInterface(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleValueChangeEvent::accessibleInterface(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleTextUpdateEvent::accessibleInterface(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleTextRemoveEvent::accessibleInterface(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleTextInsertEvent::accessibleInterface(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleTextSelectionEvent::accessibleInterface(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleTextCursorEvent::accessibleInterface(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleStateChangeEvent::accessibleInterface(); + } else { + return static_cast(ptr)->QAccessibleEvent::accessibleInterface(); + } +} + +int QAccessibleEvent_Child(void* ptr) +{ + return static_cast(ptr)->child(); +} + +void* QAccessibleEvent_Object(void* ptr) +{ + return static_cast(ptr)->object(); +} + +void QAccessibleEvent_SetChild(void* ptr, int child) +{ + static_cast(ptr)->setChild(child); +} + +long long QAccessibleEvent_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QAccessibleEvent_DestroyQAccessibleEvent(void* ptr) +{ + static_cast(ptr)->~QAccessibleEvent(); +} + +void QAccessibleEvent_DestroyQAccessibleEventDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQAccessibleInterface: public QAccessibleInterface +{ +public: + QColor backgroundColor() const { return *static_cast(callbackQAccessibleInterface_BackgroundColor(const_cast(static_cast(this)))); }; + QAccessibleInterface * child(int index) const { return static_cast(callbackQAccessibleInterface_Child(const_cast(static_cast(this)), index)); }; + QAccessibleInterface * childAt(int x, int y) const { return static_cast(callbackQAccessibleInterface_ChildAt(const_cast(static_cast(this)), x, y)); }; + int childCount() const { return callbackQAccessibleInterface_ChildCount(const_cast(static_cast(this))); }; + QAccessibleInterface * focusChild() const { return static_cast(callbackQAccessibleInterface_FocusChild(const_cast(static_cast(this)))); }; + QColor foregroundColor() const { return *static_cast(callbackQAccessibleInterface_ForegroundColor(const_cast(static_cast(this)))); }; + int indexOfChild(const QAccessibleInterface * child) const { return callbackQAccessibleInterface_IndexOfChild(const_cast(static_cast(this)), const_cast(child)); }; + void * interface_cast(QAccessible::InterfaceType ty) { return callbackQAccessibleInterface_Interface_cast(this, ty); }; + bool isValid() const { return callbackQAccessibleInterface_IsValid(const_cast(static_cast(this))) != 0; }; + QObject * object() const { return static_cast(callbackQAccessibleInterface_Object(const_cast(static_cast(this)))); }; + QAccessibleInterface * parent() const { return static_cast(callbackQAccessibleInterface_Parent(const_cast(static_cast(this)))); }; + QRect rect() const { return *static_cast(callbackQAccessibleInterface_Rect(const_cast(static_cast(this)))); }; + QAccessible::Role role() const { return static_cast(callbackQAccessibleInterface_Role(const_cast(static_cast(this)))); }; + void setText(QAccessible::Text t, const QString & text) { QByteArray t372ea0 = text.toUtf8(); QtGui_PackedString textPacked = { const_cast(t372ea0.prepend("WHITESPACE").constData()+10), t372ea0.size()-10 };callbackQAccessibleInterface_SetText(this, t, textPacked); }; + QString text(QAccessible::Text t) const { return ({ QtGui_PackedString tempVal = callbackQAccessibleInterface_Text(const_cast(static_cast(this)), t); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + QWindow * window() const { return static_cast(callbackQAccessibleInterface_Window(const_cast(static_cast(this)))); }; + ~MyQAccessibleInterface() { callbackQAccessibleInterface_DestroyQAccessibleInterface(this); }; +}; + +void* QAccessibleInterface_ActionInterface(void* ptr) +{ + return static_cast(ptr)->actionInterface(); +} + +void* QAccessibleInterface_BackgroundColor(void* ptr) +{ + return new QColor(static_cast(ptr)->backgroundColor()); +} + +void* QAccessibleInterface_BackgroundColorDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QColor(static_cast(ptr)->QAccessibleObject::backgroundColor()); + } else { + return new QColor(static_cast(ptr)->QAccessibleInterface::backgroundColor()); + } +} + +void* QAccessibleInterface_Child(void* ptr, int index) +{ + return static_cast(ptr)->child(index); +} + +void* QAccessibleInterface_ChildAt(void* ptr, int x, int y) +{ + return static_cast(ptr)->childAt(x, y); +} + +int QAccessibleInterface_ChildCount(void* ptr) +{ + return static_cast(ptr)->childCount(); +} + +void* QAccessibleInterface_FocusChild(void* ptr) +{ + return static_cast(ptr)->focusChild(); +} + +void* QAccessibleInterface_FocusChildDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleObject::focusChild(); + } else { + return static_cast(ptr)->QAccessibleInterface::focusChild(); + } +} + +void* QAccessibleInterface_ForegroundColor(void* ptr) +{ + return new QColor(static_cast(ptr)->foregroundColor()); +} + +void* QAccessibleInterface_ForegroundColorDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QColor(static_cast(ptr)->QAccessibleObject::foregroundColor()); + } else { + return new QColor(static_cast(ptr)->QAccessibleInterface::foregroundColor()); + } +} + +int QAccessibleInterface_IndexOfChild(void* ptr, void* child) +{ + return static_cast(ptr)->indexOfChild(static_cast(child)); +} + +void* QAccessibleInterface_Interface_cast(void* ptr, long long ty) +{ + return static_cast(ptr)->interface_cast(static_cast(ty)); +} + +void* QAccessibleInterface_Interface_castDefault(void* ptr, long long ty) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleObject::interface_cast(static_cast(ty)); + } else { + return static_cast(ptr)->QAccessibleInterface::interface_cast(static_cast(ty)); + } +} + +char QAccessibleInterface_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QAccessibleInterface_Object(void* ptr) +{ + return static_cast(ptr)->object(); +} + +void* QAccessibleInterface_Parent(void* ptr) +{ + return static_cast(ptr)->parent(); +} + +void* QAccessibleInterface_Rect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->rect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +long long QAccessibleInterface_Role(void* ptr) +{ + return static_cast(ptr)->role(); +} + +void QAccessibleInterface_SetText(void* ptr, long long t, struct QtGui_PackedString text) +{ + static_cast(ptr)->setText(static_cast(t), QString::fromUtf8(text.data, text.len)); +} + +void* QAccessibleInterface_TableCellInterface(void* ptr) +{ + return static_cast(ptr)->tableCellInterface(); +} + +void* QAccessibleInterface_TableInterface(void* ptr) +{ + return static_cast(ptr)->tableInterface(); +} + +struct QtGui_PackedString QAccessibleInterface_Text(void* ptr, long long t) +{ + return ({ QByteArray t0d7711 = static_cast(ptr)->text(static_cast(t)).toUtf8(); QtGui_PackedString { const_cast(t0d7711.prepend("WHITESPACE").constData()+10), t0d7711.size()-10 }; }); +} + +void* QAccessibleInterface_TextInterface(void* ptr) +{ + return static_cast(ptr)->textInterface(); +} + +void* QAccessibleInterface_ValueInterface(void* ptr) +{ + return static_cast(ptr)->valueInterface(); +} + +void* QAccessibleInterface_Window(void* ptr) +{ + return static_cast(ptr)->window(); +} + +void* QAccessibleInterface_WindowDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QAccessibleObject::window(); + } else { + return static_cast(ptr)->QAccessibleInterface::window(); + } +} + +void QAccessibleInterface_DestroyQAccessibleInterface(void* ptr) +{ + static_cast(ptr)->~QAccessibleInterface(); +} + +void QAccessibleInterface_DestroyQAccessibleInterfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQAccessibleObject: public QAccessibleObject +{ +public: + QAccessibleInterface * childAt(int x, int y) const { return static_cast(callbackQAccessibleObject_ChildAt(const_cast(static_cast(this)), x, y)); }; + bool isValid() const { return callbackQAccessibleObject_IsValid(const_cast(static_cast(this))) != 0; }; + QObject * object() const { return static_cast(callbackQAccessibleObject_Object(const_cast(static_cast(this)))); }; + QRect rect() const { return *static_cast(callbackQAccessibleObject_Rect(const_cast(static_cast(this)))); }; + void setText(QAccessible::Text t, const QString & text) { QByteArray t372ea0 = text.toUtf8(); QtGui_PackedString textPacked = { const_cast(t372ea0.prepend("WHITESPACE").constData()+10), t372ea0.size()-10 };callbackQAccessibleObject_SetText(this, t, textPacked); }; + ~MyQAccessibleObject() { callbackQAccessibleObject_DestroyQAccessibleObject(this); }; + QColor backgroundColor() const { return *static_cast(callbackQAccessibleInterface_BackgroundColor(const_cast(static_cast(this)))); }; + QAccessibleInterface * child(int index) const { return static_cast(callbackQAccessibleObject_Child(const_cast(static_cast(this)), index)); }; + int childCount() const { return callbackQAccessibleObject_ChildCount(const_cast(static_cast(this))); }; + QAccessibleInterface * focusChild() const { return static_cast(callbackQAccessibleInterface_FocusChild(const_cast(static_cast(this)))); }; + QColor foregroundColor() const { return *static_cast(callbackQAccessibleInterface_ForegroundColor(const_cast(static_cast(this)))); }; + int indexOfChild(const QAccessibleInterface * child) const { return callbackQAccessibleObject_IndexOfChild(const_cast(static_cast(this)), const_cast(child)); }; + void * interface_cast(QAccessible::InterfaceType ty) { return callbackQAccessibleInterface_Interface_cast(this, ty); }; + QAccessibleInterface * parent() const { return static_cast(callbackQAccessibleObject_Parent(const_cast(static_cast(this)))); }; + QAccessible::Role role() const { return static_cast(callbackQAccessibleObject_Role(const_cast(static_cast(this)))); }; + QString text(QAccessible::Text t) const { return ({ QtGui_PackedString tempVal = callbackQAccessibleObject_Text(const_cast(static_cast(this)), t); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + QWindow * window() const { return static_cast(callbackQAccessibleInterface_Window(const_cast(static_cast(this)))); }; +}; + +void* QAccessibleObject_ChildAt(void* ptr, int x, int y) +{ + return static_cast(ptr)->childAt(x, y); +} + +void* QAccessibleObject_ChildAtDefault(void* ptr, int x, int y) +{ + return static_cast(ptr)->QAccessibleObject::childAt(x, y); +} + +char QAccessibleObject_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QAccessibleObject_IsValidDefault(void* ptr) +{ + return static_cast(ptr)->QAccessibleObject::isValid(); +} + +void* QAccessibleObject_Object(void* ptr) +{ + return static_cast(ptr)->object(); +} + +void* QAccessibleObject_ObjectDefault(void* ptr) +{ + return static_cast(ptr)->QAccessibleObject::object(); +} + +void* QAccessibleObject_Rect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->rect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QAccessibleObject_RectDefault(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->QAccessibleObject::rect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QAccessibleObject_SetText(void* ptr, long long t, struct QtGui_PackedString text) +{ + static_cast(ptr)->setText(static_cast(t), QString::fromUtf8(text.data, text.len)); +} + +void QAccessibleObject_SetTextDefault(void* ptr, long long t, struct QtGui_PackedString text) +{ + static_cast(ptr)->QAccessibleObject::setText(static_cast(t), QString::fromUtf8(text.data, text.len)); +} + +void QAccessibleObject_DestroyQAccessibleObject(void* ptr) +{ + static_cast(ptr)->~QAccessibleObject(); +} + +void QAccessibleObject_DestroyQAccessibleObjectDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QAccessibleObject_Child(void* ptr, int index) +{ + return static_cast(ptr)->child(index); +} + +void* QAccessibleObject_ChildDefault(void* ptr, int index) +{ + Q_UNUSED(ptr); + Q_UNUSED(index); + +} + +int QAccessibleObject_ChildCount(void* ptr) +{ + return static_cast(ptr)->childCount(); +} + +int QAccessibleObject_ChildCountDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +int QAccessibleObject_IndexOfChild(void* ptr, void* child) +{ + return static_cast(ptr)->indexOfChild(static_cast(child)); +} + +int QAccessibleObject_IndexOfChildDefault(void* ptr, void* child) +{ + Q_UNUSED(ptr); + Q_UNUSED(child); + +} + +void* QAccessibleObject_Parent(void* ptr) +{ + return static_cast(ptr)->parent(); +} + +void* QAccessibleObject_ParentDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +long long QAccessibleObject_Role(void* ptr) +{ + return static_cast(ptr)->role(); +} + +long long QAccessibleObject_RoleDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +struct QtGui_PackedString QAccessibleObject_Text(void* ptr, long long t) +{ + return ({ QByteArray td7ef98 = static_cast(ptr)->text(static_cast(t)).toUtf8(); QtGui_PackedString { const_cast(td7ef98.prepend("WHITESPACE").constData()+10), td7ef98.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleObject_TextDefault(void* ptr, long long t) +{ + Q_UNUSED(ptr); + Q_UNUSED(t); + +} + +class MyQAccessiblePlugin: public QAccessiblePlugin +{ +public: + MyQAccessiblePlugin(QObject *parent = Q_NULLPTR) : QAccessiblePlugin(parent) {QAccessiblePlugin_QAccessiblePlugin_QRegisterMetaType();}; + QAccessibleInterface * create(const QString & key, QObject * object) { QByteArray ta62f22 = key.toUtf8(); QtGui_PackedString keyPacked = { const_cast(ta62f22.prepend("WHITESPACE").constData()+10), ta62f22.size()-10 };return static_cast(callbackQAccessiblePlugin_Create(this, keyPacked, object)); }; + ~MyQAccessiblePlugin() { callbackQAccessiblePlugin_DestroyQAccessiblePlugin(this); }; + void childEvent(QChildEvent * event) { callbackQAccessiblePlugin_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQAccessiblePlugin_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQAccessiblePlugin_CustomEvent(this, event); }; + void deleteLater() { callbackQAccessiblePlugin_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQAccessiblePlugin_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQAccessiblePlugin_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQAccessiblePlugin_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQAccessiblePlugin_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQAccessiblePlugin_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQAccessiblePlugin_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQAccessiblePlugin_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAccessiblePlugin*) + +int QAccessiblePlugin_QAccessiblePlugin_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAccessiblePlugin_NewQAccessiblePlugin(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAccessiblePlugin(static_cast(parent)); + } else { + return new MyQAccessiblePlugin(static_cast(parent)); + } +} + +void* QAccessiblePlugin_Create(void* ptr, struct QtGui_PackedString key, void* object) +{ + if (dynamic_cast(static_cast(object))) { + return static_cast(ptr)->create(QString::fromUtf8(key.data, key.len), static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return static_cast(ptr)->create(QString::fromUtf8(key.data, key.len), static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return static_cast(ptr)->create(QString::fromUtf8(key.data, key.len), static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + return static_cast(ptr)->create(QString::fromUtf8(key.data, key.len), static_cast(object)); + } else { + return static_cast(ptr)->create(QString::fromUtf8(key.data, key.len), static_cast(object)); + } +} + +void QAccessiblePlugin_DestroyQAccessiblePlugin(void* ptr) +{ + static_cast(ptr)->~QAccessiblePlugin(); +} + +void QAccessiblePlugin_DestroyQAccessiblePluginDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QAccessiblePlugin___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAccessiblePlugin___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QAccessiblePlugin___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAccessiblePlugin___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAccessiblePlugin___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAccessiblePlugin___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAccessiblePlugin___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAccessiblePlugin___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QAccessiblePlugin___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAccessiblePlugin___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAccessiblePlugin___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QAccessiblePlugin___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAccessiblePlugin___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAccessiblePlugin___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QAccessiblePlugin___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QAccessiblePlugin_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QAccessiblePlugin::childEvent(static_cast(event)); +} + +void QAccessiblePlugin_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QAccessiblePlugin::connectNotify(*static_cast(sign)); +} + +void QAccessiblePlugin_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QAccessiblePlugin::customEvent(static_cast(event)); +} + +void QAccessiblePlugin_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QAccessiblePlugin::deleteLater(); +} + +void QAccessiblePlugin_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QAccessiblePlugin::disconnectNotify(*static_cast(sign)); +} + +char QAccessiblePlugin_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QAccessiblePlugin::event(static_cast(e)); +} + +char QAccessiblePlugin_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QAccessiblePlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QAccessiblePlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QAccessiblePlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QAccessiblePlugin::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QAccessiblePlugin::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QAccessiblePlugin_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QAccessiblePlugin::metaObject()); +} + +void QAccessiblePlugin_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QAccessiblePlugin::timerEvent(static_cast(event)); +} + +class MyQAccessibleStateChangeEvent: public QAccessibleStateChangeEvent +{ +public: + QAccessibleInterface * accessibleInterface() const { return static_cast(callbackQAccessibleEvent_AccessibleInterface(const_cast(static_cast(this)))); }; +}; + +class MyQAccessibleTableCellInterface: public QAccessibleTableCellInterface +{ +public: + int columnExtent() const { return callbackQAccessibleTableCellInterface_ColumnExtent(const_cast(static_cast(this))); }; + QList columnHeaderCells() const { return ({ QList* tmpP = static_cast*>(callbackQAccessibleTableCellInterface_ColumnHeaderCells(const_cast(static_cast(this)))); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + int columnIndex() const { return callbackQAccessibleTableCellInterface_ColumnIndex(const_cast(static_cast(this))); }; + bool isSelected() const { return callbackQAccessibleTableCellInterface_IsSelected(const_cast(static_cast(this))) != 0; }; + int rowExtent() const { return callbackQAccessibleTableCellInterface_RowExtent(const_cast(static_cast(this))); }; + QList rowHeaderCells() const { return ({ QList* tmpP = static_cast*>(callbackQAccessibleTableCellInterface_RowHeaderCells(const_cast(static_cast(this)))); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + int rowIndex() const { return callbackQAccessibleTableCellInterface_RowIndex(const_cast(static_cast(this))); }; + QAccessibleInterface * table() const { return static_cast(callbackQAccessibleTableCellInterface_Table(const_cast(static_cast(this)))); }; + ~MyQAccessibleTableCellInterface() { callbackQAccessibleTableCellInterface_DestroyQAccessibleTableCellInterface(this); }; +}; + +int QAccessibleTableCellInterface_ColumnExtent(void* ptr) +{ + return static_cast(ptr)->columnExtent(); +} + +struct QtGui_PackedList QAccessibleTableCellInterface_ColumnHeaderCells(void* ptr) +{ + return ({ QList* tmpValue68eb1f = new QList(static_cast(ptr)->columnHeaderCells()); QtGui_PackedList { tmpValue68eb1f, tmpValue68eb1f->size() }; }); +} + +int QAccessibleTableCellInterface_ColumnIndex(void* ptr) +{ + return static_cast(ptr)->columnIndex(); +} + +char QAccessibleTableCellInterface_IsSelected(void* ptr) +{ + return static_cast(ptr)->isSelected(); +} + +int QAccessibleTableCellInterface_RowExtent(void* ptr) +{ + return static_cast(ptr)->rowExtent(); +} + +struct QtGui_PackedList QAccessibleTableCellInterface_RowHeaderCells(void* ptr) +{ + return ({ QList* tmpValueab8f05 = new QList(static_cast(ptr)->rowHeaderCells()); QtGui_PackedList { tmpValueab8f05, tmpValueab8f05->size() }; }); +} + +int QAccessibleTableCellInterface_RowIndex(void* ptr) +{ + return static_cast(ptr)->rowIndex(); +} + +void* QAccessibleTableCellInterface_Table(void* ptr) +{ + return static_cast(ptr)->table(); +} + +void QAccessibleTableCellInterface_DestroyQAccessibleTableCellInterface(void* ptr) +{ + static_cast(ptr)->~QAccessibleTableCellInterface(); +} + +void QAccessibleTableCellInterface_DestroyQAccessibleTableCellInterfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QAccessibleTableCellInterface___columnHeaderCells_atList(void* ptr, int i) +{ + return ({QAccessibleInterface * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAccessibleTableCellInterface___columnHeaderCells_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAccessibleTableCellInterface___columnHeaderCells_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAccessibleTableCellInterface___rowHeaderCells_atList(void* ptr, int i) +{ + return ({QAccessibleInterface * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAccessibleTableCellInterface___rowHeaderCells_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAccessibleTableCellInterface___rowHeaderCells_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQAccessibleTableInterface: public QAccessibleTableInterface +{ +public: + QAccessibleInterface * caption() const { return static_cast(callbackQAccessibleTableInterface_Caption(const_cast(static_cast(this)))); }; + QAccessibleInterface * cellAt(int row, int column) const { return static_cast(callbackQAccessibleTableInterface_CellAt(const_cast(static_cast(this)), row, column)); }; + int columnCount() const { return callbackQAccessibleTableInterface_ColumnCount(const_cast(static_cast(this))); }; + QString columnDescription(int column) const { return ({ QtGui_PackedString tempVal = callbackQAccessibleTableInterface_ColumnDescription(const_cast(static_cast(this)), column); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + bool isColumnSelected(int column) const { return callbackQAccessibleTableInterface_IsColumnSelected(const_cast(static_cast(this)), column) != 0; }; + bool isRowSelected(int row) const { return callbackQAccessibleTableInterface_IsRowSelected(const_cast(static_cast(this)), row) != 0; }; + void modelChange(QAccessibleTableModelChangeEvent * event) { callbackQAccessibleTableInterface_ModelChange(this, event); }; + int rowCount() const { return callbackQAccessibleTableInterface_RowCount(const_cast(static_cast(this))); }; + QString rowDescription(int row) const { return ({ QtGui_PackedString tempVal = callbackQAccessibleTableInterface_RowDescription(const_cast(static_cast(this)), row); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + bool selectColumn(int column) { return callbackQAccessibleTableInterface_SelectColumn(this, column) != 0; }; + bool selectRow(int row) { return callbackQAccessibleTableInterface_SelectRow(this, row) != 0; }; + int selectedCellCount() const { return callbackQAccessibleTableInterface_SelectedCellCount(const_cast(static_cast(this))); }; + QList selectedCells() const { return ({ QList* tmpP = static_cast*>(callbackQAccessibleTableInterface_SelectedCells(const_cast(static_cast(this)))); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + int selectedColumnCount() const { return callbackQAccessibleTableInterface_SelectedColumnCount(const_cast(static_cast(this))); }; + QList selectedColumns() const { return ({ QList* tmpP = static_cast*>(callbackQAccessibleTableInterface_SelectedColumns(const_cast(static_cast(this)))); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + int selectedRowCount() const { return callbackQAccessibleTableInterface_SelectedRowCount(const_cast(static_cast(this))); }; + QList selectedRows() const { return ({ QList* tmpP = static_cast*>(callbackQAccessibleTableInterface_SelectedRows(const_cast(static_cast(this)))); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + QAccessibleInterface * summary() const { return static_cast(callbackQAccessibleTableInterface_Summary(const_cast(static_cast(this)))); }; + bool unselectColumn(int column) { return callbackQAccessibleTableInterface_UnselectColumn(this, column) != 0; }; + bool unselectRow(int row) { return callbackQAccessibleTableInterface_UnselectRow(this, row) != 0; }; + ~MyQAccessibleTableInterface() { callbackQAccessibleTableInterface_DestroyQAccessibleTableInterface(this); }; +}; + +void* QAccessibleTableInterface_Caption(void* ptr) +{ + return static_cast(ptr)->caption(); +} + +void* QAccessibleTableInterface_CellAt(void* ptr, int row, int column) +{ + return static_cast(ptr)->cellAt(row, column); +} + +int QAccessibleTableInterface_ColumnCount(void* ptr) +{ + return static_cast(ptr)->columnCount(); +} + +struct QtGui_PackedString QAccessibleTableInterface_ColumnDescription(void* ptr, int column) +{ + return ({ QByteArray t31bac7 = static_cast(ptr)->columnDescription(column).toUtf8(); QtGui_PackedString { const_cast(t31bac7.prepend("WHITESPACE").constData()+10), t31bac7.size()-10 }; }); +} + +char QAccessibleTableInterface_IsColumnSelected(void* ptr, int column) +{ + return static_cast(ptr)->isColumnSelected(column); +} + +char QAccessibleTableInterface_IsRowSelected(void* ptr, int row) +{ + return static_cast(ptr)->isRowSelected(row); +} + +void QAccessibleTableInterface_ModelChange(void* ptr, void* event) +{ + static_cast(ptr)->modelChange(static_cast(event)); +} + +int QAccessibleTableInterface_RowCount(void* ptr) +{ + return static_cast(ptr)->rowCount(); +} + +struct QtGui_PackedString QAccessibleTableInterface_RowDescription(void* ptr, int row) +{ + return ({ QByteArray t5db49c = static_cast(ptr)->rowDescription(row).toUtf8(); QtGui_PackedString { const_cast(t5db49c.prepend("WHITESPACE").constData()+10), t5db49c.size()-10 }; }); +} + +char QAccessibleTableInterface_SelectColumn(void* ptr, int column) +{ + return static_cast(ptr)->selectColumn(column); +} + +char QAccessibleTableInterface_SelectRow(void* ptr, int row) +{ + return static_cast(ptr)->selectRow(row); +} + +int QAccessibleTableInterface_SelectedCellCount(void* ptr) +{ + return static_cast(ptr)->selectedCellCount(); +} + +struct QtGui_PackedList QAccessibleTableInterface_SelectedCells(void* ptr) +{ + return ({ QList* tmpValuebc7554 = new QList(static_cast(ptr)->selectedCells()); QtGui_PackedList { tmpValuebc7554, tmpValuebc7554->size() }; }); +} + +int QAccessibleTableInterface_SelectedColumnCount(void* ptr) +{ + return static_cast(ptr)->selectedColumnCount(); +} + +struct QtGui_PackedList QAccessibleTableInterface_SelectedColumns(void* ptr) +{ + return ({ QList* tmpValue8dbd0b = new QList(static_cast(ptr)->selectedColumns()); QtGui_PackedList { tmpValue8dbd0b, tmpValue8dbd0b->size() }; }); +} + +int QAccessibleTableInterface_SelectedRowCount(void* ptr) +{ + return static_cast(ptr)->selectedRowCount(); +} + +struct QtGui_PackedList QAccessibleTableInterface_SelectedRows(void* ptr) +{ + return ({ QList* tmpValue094a24 = new QList(static_cast(ptr)->selectedRows()); QtGui_PackedList { tmpValue094a24, tmpValue094a24->size() }; }); +} + +void* QAccessibleTableInterface_Summary(void* ptr) +{ + return static_cast(ptr)->summary(); +} + +char QAccessibleTableInterface_UnselectColumn(void* ptr, int column) +{ + return static_cast(ptr)->unselectColumn(column); +} + +char QAccessibleTableInterface_UnselectRow(void* ptr, int row) +{ + return static_cast(ptr)->unselectRow(row); +} + +void QAccessibleTableInterface_DestroyQAccessibleTableInterface(void* ptr) +{ + static_cast(ptr)->~QAccessibleTableInterface(); +} + +void QAccessibleTableInterface_DestroyQAccessibleTableInterfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QAccessibleTableInterface___selectedCells_atList(void* ptr, int i) +{ + return ({QAccessibleInterface * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAccessibleTableInterface___selectedCells_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAccessibleTableInterface___selectedCells_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QAccessibleTableInterface___selectedColumns_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAccessibleTableInterface___selectedColumns_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QAccessibleTableInterface___selectedColumns_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QAccessibleTableInterface___selectedRows_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAccessibleTableInterface___selectedRows_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QAccessibleTableInterface___selectedRows_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQAccessibleTableModelChangeEvent: public QAccessibleTableModelChangeEvent +{ +public: + MyQAccessibleTableModelChangeEvent(QObject *object, QAccessibleTableModelChangeEvent::ModelChangeType changeType) : QAccessibleTableModelChangeEvent(object, changeType) {}; + MyQAccessibleTableModelChangeEvent(QAccessibleInterface *iface, QAccessibleTableModelChangeEvent::ModelChangeType changeType) : QAccessibleTableModelChangeEvent(iface, changeType) {}; + QAccessibleInterface * accessibleInterface() const { return static_cast(callbackQAccessibleEvent_AccessibleInterface(const_cast(static_cast(this)))); }; +}; + +void* QAccessibleTableModelChangeEvent_NewQAccessibleTableModelChangeEvent(void* object, long long changeType) +{ + if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } else { + return new MyQAccessibleTableModelChangeEvent(static_cast(object), static_cast(changeType)); + } +} + +void* QAccessibleTableModelChangeEvent_NewQAccessibleTableModelChangeEvent2(void* iface, long long changeType) +{ + if (dynamic_cast(static_cast(iface))) { + return new MyQAccessibleTableModelChangeEvent(static_cast(iface), static_cast(changeType)); + } else { + return new MyQAccessibleTableModelChangeEvent(static_cast(iface), static_cast(changeType)); + } +} + +int QAccessibleTableModelChangeEvent_FirstColumn(void* ptr) +{ + return static_cast(ptr)->firstColumn(); +} + +int QAccessibleTableModelChangeEvent_FirstRow(void* ptr) +{ + return static_cast(ptr)->firstRow(); +} + +int QAccessibleTableModelChangeEvent_LastColumn(void* ptr) +{ + return static_cast(ptr)->lastColumn(); +} + +int QAccessibleTableModelChangeEvent_LastRow(void* ptr) +{ + return static_cast(ptr)->lastRow(); +} + +long long QAccessibleTableModelChangeEvent_ModelChangeType(void* ptr) +{ + return static_cast(ptr)->modelChangeType(); +} + +void QAccessibleTableModelChangeEvent_SetFirstColumn(void* ptr, int column) +{ + static_cast(ptr)->setFirstColumn(column); +} + +void QAccessibleTableModelChangeEvent_SetFirstRow(void* ptr, int row) +{ + static_cast(ptr)->setFirstRow(row); +} + +void QAccessibleTableModelChangeEvent_SetLastColumn(void* ptr, int column) +{ + static_cast(ptr)->setLastColumn(column); +} + +void QAccessibleTableModelChangeEvent_SetLastRow(void* ptr, int row) +{ + static_cast(ptr)->setLastRow(row); +} + +void QAccessibleTableModelChangeEvent_SetModelChangeType(void* ptr, long long changeType) +{ + static_cast(ptr)->setModelChangeType(static_cast(changeType)); +} + +class MyQAccessibleTextCursorEvent: public QAccessibleTextCursorEvent +{ +public: + MyQAccessibleTextCursorEvent(QObject *object, int cursorPos) : QAccessibleTextCursorEvent(object, cursorPos) {}; + MyQAccessibleTextCursorEvent(QAccessibleInterface *iface, int cursorPos) : QAccessibleTextCursorEvent(iface, cursorPos) {}; + QAccessibleInterface * accessibleInterface() const { return static_cast(callbackQAccessibleEvent_AccessibleInterface(const_cast(static_cast(this)))); }; +}; + +void* QAccessibleTextCursorEvent_NewQAccessibleTextCursorEvent(void* object, int cursorPos) +{ + if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } else { + return new MyQAccessibleTextCursorEvent(static_cast(object), cursorPos); + } +} + +void* QAccessibleTextCursorEvent_NewQAccessibleTextCursorEvent2(void* iface, int cursorPos) +{ + if (dynamic_cast(static_cast(iface))) { + return new MyQAccessibleTextCursorEvent(static_cast(iface), cursorPos); + } else { + return new MyQAccessibleTextCursorEvent(static_cast(iface), cursorPos); + } +} + +int QAccessibleTextCursorEvent_CursorPosition(void* ptr) +{ + return static_cast(ptr)->cursorPosition(); +} + +void QAccessibleTextCursorEvent_SetCursorPosition(void* ptr, int position) +{ + static_cast(ptr)->setCursorPosition(position); +} + +class MyQAccessibleTextInsertEvent: public QAccessibleTextInsertEvent +{ +public: + MyQAccessibleTextInsertEvent(QObject *object, int position, const QString &text) : QAccessibleTextInsertEvent(object, position, text) {}; + MyQAccessibleTextInsertEvent(QAccessibleInterface *iface, int position, const QString &text) : QAccessibleTextInsertEvent(iface, position, text) {}; + QAccessibleInterface * accessibleInterface() const { return static_cast(callbackQAccessibleEvent_AccessibleInterface(const_cast(static_cast(this)))); }; +}; + +void* QAccessibleTextInsertEvent_NewQAccessibleTextInsertEvent(void* object, int position, struct QtGui_PackedString text) +{ + if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else { + return new MyQAccessibleTextInsertEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } +} + +void* QAccessibleTextInsertEvent_NewQAccessibleTextInsertEvent2(void* iface, int position, struct QtGui_PackedString text) +{ + if (dynamic_cast(static_cast(iface))) { + return new MyQAccessibleTextInsertEvent(static_cast(iface), position, QString::fromUtf8(text.data, text.len)); + } else { + return new MyQAccessibleTextInsertEvent(static_cast(iface), position, QString::fromUtf8(text.data, text.len)); + } +} + +int QAccessibleTextInsertEvent_ChangePosition(void* ptr) +{ + return static_cast(ptr)->changePosition(); +} + +struct QtGui_PackedString QAccessibleTextInsertEvent_TextInserted(void* ptr) +{ + return ({ QByteArray te79f7b = static_cast(ptr)->textInserted().toUtf8(); QtGui_PackedString { const_cast(te79f7b.prepend("WHITESPACE").constData()+10), te79f7b.size()-10 }; }); +} + +class MyQAccessibleTextInterface: public QAccessibleTextInterface +{ +public: + void addSelection(int startOffset, int endOffset) { callbackQAccessibleTextInterface_AddSelection(this, startOffset, endOffset); }; + int characterCount() const { return callbackQAccessibleTextInterface_CharacterCount(const_cast(static_cast(this))); }; + QRect characterRect(int offset) const { return *static_cast(callbackQAccessibleTextInterface_CharacterRect(const_cast(static_cast(this)), offset)); }; + int cursorPosition() const { return callbackQAccessibleTextInterface_CursorPosition(const_cast(static_cast(this))); }; + int offsetAtPoint(const QPoint & point) const { return callbackQAccessibleTextInterface_OffsetAtPoint(const_cast(static_cast(this)), const_cast(&point)); }; + void removeSelection(int selectionIndex) { callbackQAccessibleTextInterface_RemoveSelection(this, selectionIndex); }; + void scrollToSubstring(int startIndex, int endIndex) { callbackQAccessibleTextInterface_ScrollToSubstring(this, startIndex, endIndex); }; + void selection(int selectionIndex, int * startOffset, int * endOffset) const { callbackQAccessibleTextInterface_Selection(const_cast(static_cast(this)), selectionIndex, *startOffset, *endOffset); }; + int selectionCount() const { return callbackQAccessibleTextInterface_SelectionCount(const_cast(static_cast(this))); }; + void setCursorPosition(int position) { callbackQAccessibleTextInterface_SetCursorPosition(this, position); }; + void setSelection(int selectionIndex, int startOffset, int endOffset) { callbackQAccessibleTextInterface_SetSelection(this, selectionIndex, startOffset, endOffset); }; + QString text(int startOffset, int endOffset) const { return ({ QtGui_PackedString tempVal = callbackQAccessibleTextInterface_Text(const_cast(static_cast(this)), startOffset, endOffset); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + QString textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType, int * startOffset, int * endOffset) const { return ({ QtGui_PackedString tempVal = callbackQAccessibleTextInterface_TextAfterOffset(const_cast(static_cast(this)), offset, boundaryType, *startOffset, *endOffset); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + QString textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType, int * startOffset, int * endOffset) const { return ({ QtGui_PackedString tempVal = callbackQAccessibleTextInterface_TextAtOffset(const_cast(static_cast(this)), offset, boundaryType, *startOffset, *endOffset); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + QString textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType, int * startOffset, int * endOffset) const { return ({ QtGui_PackedString tempVal = callbackQAccessibleTextInterface_TextBeforeOffset(const_cast(static_cast(this)), offset, boundaryType, *startOffset, *endOffset); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + ~MyQAccessibleTextInterface() { callbackQAccessibleTextInterface_DestroyQAccessibleTextInterface(this); }; +}; + +void QAccessibleTextInterface_AddSelection(void* ptr, int startOffset, int endOffset) +{ + static_cast(ptr)->addSelection(startOffset, endOffset); +} + +int QAccessibleTextInterface_CharacterCount(void* ptr) +{ + return static_cast(ptr)->characterCount(); +} + +void* QAccessibleTextInterface_CharacterRect(void* ptr, int offset) +{ + return ({ QRect tmpValue = static_cast(ptr)->characterRect(offset); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +int QAccessibleTextInterface_CursorPosition(void* ptr) +{ + return static_cast(ptr)->cursorPosition(); +} + +int QAccessibleTextInterface_OffsetAtPoint(void* ptr, void* point) +{ + return static_cast(ptr)->offsetAtPoint(*static_cast(point)); +} + +void QAccessibleTextInterface_RemoveSelection(void* ptr, int selectionIndex) +{ + static_cast(ptr)->removeSelection(selectionIndex); +} + +void QAccessibleTextInterface_ScrollToSubstring(void* ptr, int startIndex, int endIndex) +{ + static_cast(ptr)->scrollToSubstring(startIndex, endIndex); +} + +void QAccessibleTextInterface_Selection(void* ptr, int selectionIndex, int startOffset, int endOffset) +{ + static_cast(ptr)->selection(selectionIndex, &startOffset, &endOffset); +} + +int QAccessibleTextInterface_SelectionCount(void* ptr) +{ + return static_cast(ptr)->selectionCount(); +} + +void QAccessibleTextInterface_SetCursorPosition(void* ptr, int position) +{ + static_cast(ptr)->setCursorPosition(position); +} + +void QAccessibleTextInterface_SetSelection(void* ptr, int selectionIndex, int startOffset, int endOffset) +{ + static_cast(ptr)->setSelection(selectionIndex, startOffset, endOffset); +} + +struct QtGui_PackedString QAccessibleTextInterface_Text(void* ptr, int startOffset, int endOffset) +{ + return ({ QByteArray td7097f = static_cast(ptr)->text(startOffset, endOffset).toUtf8(); QtGui_PackedString { const_cast(td7097f.prepend("WHITESPACE").constData()+10), td7097f.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleTextInterface_TextAfterOffset(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset) +{ + return ({ QByteArray t56e464 = static_cast(ptr)->textAfterOffset(offset, static_cast(boundaryType), &startOffset, &endOffset).toUtf8(); QtGui_PackedString { const_cast(t56e464.prepend("WHITESPACE").constData()+10), t56e464.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleTextInterface_TextAfterOffsetDefault(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset) +{ + return ({ QByteArray t495d09 = static_cast(ptr)->QAccessibleTextInterface::textAfterOffset(offset, static_cast(boundaryType), &startOffset, &endOffset).toUtf8(); QtGui_PackedString { const_cast(t495d09.prepend("WHITESPACE").constData()+10), t495d09.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleTextInterface_TextAtOffset(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset) +{ + return ({ QByteArray t01d82d = static_cast(ptr)->textAtOffset(offset, static_cast(boundaryType), &startOffset, &endOffset).toUtf8(); QtGui_PackedString { const_cast(t01d82d.prepend("WHITESPACE").constData()+10), t01d82d.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleTextInterface_TextAtOffsetDefault(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset) +{ + return ({ QByteArray tb855b8 = static_cast(ptr)->QAccessibleTextInterface::textAtOffset(offset, static_cast(boundaryType), &startOffset, &endOffset).toUtf8(); QtGui_PackedString { const_cast(tb855b8.prepend("WHITESPACE").constData()+10), tb855b8.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleTextInterface_TextBeforeOffset(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset) +{ + return ({ QByteArray tde81ca = static_cast(ptr)->textBeforeOffset(offset, static_cast(boundaryType), &startOffset, &endOffset).toUtf8(); QtGui_PackedString { const_cast(tde81ca.prepend("WHITESPACE").constData()+10), tde81ca.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleTextInterface_TextBeforeOffsetDefault(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset) +{ + return ({ QByteArray tb76866 = static_cast(ptr)->QAccessibleTextInterface::textBeforeOffset(offset, static_cast(boundaryType), &startOffset, &endOffset).toUtf8(); QtGui_PackedString { const_cast(tb76866.prepend("WHITESPACE").constData()+10), tb76866.size()-10 }; }); +} + +void QAccessibleTextInterface_DestroyQAccessibleTextInterface(void* ptr) +{ + static_cast(ptr)->~QAccessibleTextInterface(); +} + +void QAccessibleTextInterface_DestroyQAccessibleTextInterfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQAccessibleTextRemoveEvent: public QAccessibleTextRemoveEvent +{ +public: + MyQAccessibleTextRemoveEvent(QObject *object, int position, const QString &text) : QAccessibleTextRemoveEvent(object, position, text) {}; + MyQAccessibleTextRemoveEvent(QAccessibleInterface *iface, int position, const QString &text) : QAccessibleTextRemoveEvent(iface, position, text) {}; + QAccessibleInterface * accessibleInterface() const { return static_cast(callbackQAccessibleEvent_AccessibleInterface(const_cast(static_cast(this)))); }; +}; + +void* QAccessibleTextRemoveEvent_NewQAccessibleTextRemoveEvent(void* object, int position, struct QtGui_PackedString text) +{ + if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } else { + return new MyQAccessibleTextRemoveEvent(static_cast(object), position, QString::fromUtf8(text.data, text.len)); + } +} + +void* QAccessibleTextRemoveEvent_NewQAccessibleTextRemoveEvent2(void* iface, int position, struct QtGui_PackedString text) +{ + if (dynamic_cast(static_cast(iface))) { + return new MyQAccessibleTextRemoveEvent(static_cast(iface), position, QString::fromUtf8(text.data, text.len)); + } else { + return new MyQAccessibleTextRemoveEvent(static_cast(iface), position, QString::fromUtf8(text.data, text.len)); + } +} + +int QAccessibleTextRemoveEvent_ChangePosition(void* ptr) +{ + return static_cast(ptr)->changePosition(); +} + +struct QtGui_PackedString QAccessibleTextRemoveEvent_TextRemoved(void* ptr) +{ + return ({ QByteArray t7bb24c = static_cast(ptr)->textRemoved().toUtf8(); QtGui_PackedString { const_cast(t7bb24c.prepend("WHITESPACE").constData()+10), t7bb24c.size()-10 }; }); +} + +class MyQAccessibleTextSelectionEvent: public QAccessibleTextSelectionEvent +{ +public: + MyQAccessibleTextSelectionEvent(QObject *object, int start, int end) : QAccessibleTextSelectionEvent(object, start, end) {}; + MyQAccessibleTextSelectionEvent(QAccessibleInterface *iface, int start, int end) : QAccessibleTextSelectionEvent(iface, start, end) {}; + QAccessibleInterface * accessibleInterface() const { return static_cast(callbackQAccessibleEvent_AccessibleInterface(const_cast(static_cast(this)))); }; +}; + +void* QAccessibleTextSelectionEvent_NewQAccessibleTextSelectionEvent(void* object, int start, int end) +{ + if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } else { + return new MyQAccessibleTextSelectionEvent(static_cast(object), start, end); + } +} + +void* QAccessibleTextSelectionEvent_NewQAccessibleTextSelectionEvent2(void* iface, int start, int end) +{ + if (dynamic_cast(static_cast(iface))) { + return new MyQAccessibleTextSelectionEvent(static_cast(iface), start, end); + } else { + return new MyQAccessibleTextSelectionEvent(static_cast(iface), start, end); + } +} + +int QAccessibleTextSelectionEvent_SelectionEnd(void* ptr) +{ + return static_cast(ptr)->selectionEnd(); +} + +int QAccessibleTextSelectionEvent_SelectionStart(void* ptr) +{ + return static_cast(ptr)->selectionStart(); +} + +void QAccessibleTextSelectionEvent_SetSelection(void* ptr, int start, int end) +{ + static_cast(ptr)->setSelection(start, end); +} + +class MyQAccessibleTextUpdateEvent: public QAccessibleTextUpdateEvent +{ +public: + MyQAccessibleTextUpdateEvent(QObject *object, int position, const QString &oldText, const QString &text) : QAccessibleTextUpdateEvent(object, position, oldText, text) {}; + MyQAccessibleTextUpdateEvent(QAccessibleInterface *iface, int position, const QString &oldText, const QString &text) : QAccessibleTextUpdateEvent(iface, position, oldText, text) {}; + QAccessibleInterface * accessibleInterface() const { return static_cast(callbackQAccessibleEvent_AccessibleInterface(const_cast(static_cast(this)))); }; +}; + +void* QAccessibleTextUpdateEvent_NewQAccessibleTextUpdateEvent(void* object, int position, struct QtGui_PackedString oldText, struct QtGui_PackedString text) +{ + if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else { + return new MyQAccessibleTextUpdateEvent(static_cast(object), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } +} + +void* QAccessibleTextUpdateEvent_NewQAccessibleTextUpdateEvent2(void* iface, int position, struct QtGui_PackedString oldText, struct QtGui_PackedString text) +{ + if (dynamic_cast(static_cast(iface))) { + return new MyQAccessibleTextUpdateEvent(static_cast(iface), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } else { + return new MyQAccessibleTextUpdateEvent(static_cast(iface), position, QString::fromUtf8(oldText.data, oldText.len), QString::fromUtf8(text.data, text.len)); + } +} + +int QAccessibleTextUpdateEvent_ChangePosition(void* ptr) +{ + return static_cast(ptr)->changePosition(); +} + +struct QtGui_PackedString QAccessibleTextUpdateEvent_TextInserted(void* ptr) +{ + return ({ QByteArray t055e50 = static_cast(ptr)->textInserted().toUtf8(); QtGui_PackedString { const_cast(t055e50.prepend("WHITESPACE").constData()+10), t055e50.size()-10 }; }); +} + +struct QtGui_PackedString QAccessibleTextUpdateEvent_TextRemoved(void* ptr) +{ + return ({ QByteArray t313b9a = static_cast(ptr)->textRemoved().toUtf8(); QtGui_PackedString { const_cast(t313b9a.prepend("WHITESPACE").constData()+10), t313b9a.size()-10 }; }); +} + +class MyQAccessibleValueChangeEvent: public QAccessibleValueChangeEvent +{ +public: + MyQAccessibleValueChangeEvent(QObject *object, const QVariant &value) : QAccessibleValueChangeEvent(object, value) {}; + MyQAccessibleValueChangeEvent(QAccessibleInterface *iface, const QVariant &val) : QAccessibleValueChangeEvent(iface, val) {}; + QAccessibleInterface * accessibleInterface() const { return static_cast(callbackQAccessibleEvent_AccessibleInterface(const_cast(static_cast(this)))); }; +}; + +void* QAccessibleValueChangeEvent_NewQAccessibleValueChangeEvent(void* object, void* value) +{ + if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else if (dynamic_cast(static_cast(object))) { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } else { + return new MyQAccessibleValueChangeEvent(static_cast(object), *static_cast(value)); + } +} + +void* QAccessibleValueChangeEvent_NewQAccessibleValueChangeEvent2(void* iface, void* val) +{ + if (dynamic_cast(static_cast(iface))) { + return new MyQAccessibleValueChangeEvent(static_cast(iface), *static_cast(val)); + } else { + return new MyQAccessibleValueChangeEvent(static_cast(iface), *static_cast(val)); + } +} + +void QAccessibleValueChangeEvent_SetValue(void* ptr, void* value) +{ + static_cast(ptr)->setValue(*static_cast(value)); +} + +void* QAccessibleValueChangeEvent_Value(void* ptr) +{ + return new QVariant(static_cast(ptr)->value()); +} + +class MyQAccessibleValueInterface: public QAccessibleValueInterface +{ +public: + QVariant currentValue() const { return *static_cast(callbackQAccessibleValueInterface_CurrentValue(const_cast(static_cast(this)))); }; + QVariant maximumValue() const { return *static_cast(callbackQAccessibleValueInterface_MaximumValue(const_cast(static_cast(this)))); }; + QVariant minimumStepSize() const { return *static_cast(callbackQAccessibleValueInterface_MinimumStepSize(const_cast(static_cast(this)))); }; + QVariant minimumValue() const { return *static_cast(callbackQAccessibleValueInterface_MinimumValue(const_cast(static_cast(this)))); }; + void setCurrentValue(const QVariant & value) { callbackQAccessibleValueInterface_SetCurrentValue(this, const_cast(&value)); }; + ~MyQAccessibleValueInterface() { callbackQAccessibleValueInterface_DestroyQAccessibleValueInterface(this); }; +}; + +void* QAccessibleValueInterface_CurrentValue(void* ptr) +{ + return new QVariant(static_cast(ptr)->currentValue()); +} + +void* QAccessibleValueInterface_MaximumValue(void* ptr) +{ + return new QVariant(static_cast(ptr)->maximumValue()); +} + +void* QAccessibleValueInterface_MinimumStepSize(void* ptr) +{ + return new QVariant(static_cast(ptr)->minimumStepSize()); +} + +void* QAccessibleValueInterface_MinimumValue(void* ptr) +{ + return new QVariant(static_cast(ptr)->minimumValue()); +} + +void QAccessibleValueInterface_SetCurrentValue(void* ptr, void* value) +{ + static_cast(ptr)->setCurrentValue(*static_cast(value)); +} + +void QAccessibleValueInterface_DestroyQAccessibleValueInterface(void* ptr) +{ + static_cast(ptr)->~QAccessibleValueInterface(); +} + +void QAccessibleValueInterface_DestroyQAccessibleValueInterfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQActionEvent: public QActionEvent +{ +public: + MyQActionEvent(int ty, QAction *action, QAction *before = Q_NULLPTR) : QActionEvent(ty, action, before) {}; +}; + +void* QActionEvent_NewQActionEvent(int ty, void* action, void* before) +{ + return new MyQActionEvent(ty, static_cast(action), static_cast(before)); +} + +void* QActionEvent_Action(void* ptr) +{ + return static_cast(ptr)->action(); +} + +void* QActionEvent_Before(void* ptr) +{ + return static_cast(ptr)->before(); +} + +class MyQApplicationStateChangeEvent: public QApplicationStateChangeEvent +{ +public: + MyQApplicationStateChangeEvent(Qt::ApplicationState applicationState) : QApplicationStateChangeEvent(applicationState) {}; +}; + +void* QApplicationStateChangeEvent_NewQApplicationStateChangeEvent(long long applicationState) +{ + return new MyQApplicationStateChangeEvent(static_cast(applicationState)); +} + +long long QApplicationStateChangeEvent_ApplicationState(void* ptr) +{ + return static_cast(ptr)->applicationState(); +} + +void* QBackingStore_NewQBackingStore(void* window) +{ + if (dynamic_cast(static_cast(window))) { + return new QBackingStore(static_cast(window)); + } else { + return new QBackingStore(static_cast(window)); + } +} + +void QBackingStore_BeginPaint(void* ptr, void* region) +{ + static_cast(ptr)->beginPaint(*static_cast(region)); +} + +void QBackingStore_EndPaint(void* ptr) +{ + static_cast(ptr)->endPaint(); +} + +void QBackingStore_Flush(void* ptr, void* region, void* window, void* offset) +{ + if (dynamic_cast(static_cast(window))) { + static_cast(ptr)->flush(*static_cast(region), static_cast(window), *static_cast(offset)); + } else { + static_cast(ptr)->flush(*static_cast(region), static_cast(window), *static_cast(offset)); + } +} + +char QBackingStore_HasStaticContents(void* ptr) +{ + return static_cast(ptr)->hasStaticContents(); +} + +void* QBackingStore_PaintDevice(void* ptr) +{ + return static_cast(ptr)->paintDevice(); +} + +void QBackingStore_Resize(void* ptr, void* size) +{ + static_cast(ptr)->resize(*static_cast(size)); +} + +char QBackingStore_Scroll(void* ptr, void* area, int dx, int dy) +{ + return static_cast(ptr)->scroll(*static_cast(area), dx, dy); +} + +void QBackingStore_SetStaticContents(void* ptr, void* region) +{ + static_cast(ptr)->setStaticContents(*static_cast(region)); +} + +void* QBackingStore_Size(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QBackingStore_StaticContents(void* ptr) +{ + return new QRegion(static_cast(ptr)->staticContents()); +} + +void* QBackingStore_Window(void* ptr) +{ + return static_cast(ptr)->window(); +} + +void QBackingStore_DestroyQBackingStore(void* ptr) +{ + static_cast(ptr)->~QBackingStore(); +} + +class MyQBitmap: public QBitmap +{ +public: + MyQBitmap() : QBitmap() {}; + MyQBitmap(const QPixmap &pixmap) : QBitmap(pixmap) {}; + MyQBitmap(int width, int height) : QBitmap(width, height) {}; + MyQBitmap(const QSize &size) : QBitmap(size) {}; + MyQBitmap(const QString &fileName, const char *format = Q_NULLPTR) : QBitmap(fileName, format) {}; + ~MyQBitmap() { callbackQBitmap_DestroyQBitmap(this); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQPixmap_PaintEngine(const_cast(static_cast(this)))); }; +}; + +void* QBitmap_NewQBitmap() +{ + return new MyQBitmap(); +} + +void* QBitmap_NewQBitmap2(void* pixmap) +{ + return new MyQBitmap(*static_cast(pixmap)); +} + +void* QBitmap_NewQBitmap3(int width, int height) +{ + return new MyQBitmap(width, height); +} + +void* QBitmap_NewQBitmap4(void* size) +{ + return new MyQBitmap(*static_cast(size)); +} + +void* QBitmap_NewQBitmap5(struct QtGui_PackedString fileName, char* format) +{ + return new MyQBitmap(QString::fromUtf8(fileName.data, fileName.len), const_cast(format)); +} + +void QBitmap_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +void* QBitmap_QBitmap_FromData(void* size, char* bits, long long monoFormat) +{ + return new QBitmap(QBitmap::fromData(*static_cast(size), const_cast(static_cast(static_cast(bits))), static_cast(monoFormat))); +} + +void* QBitmap_QBitmap_FromImage(void* image, long long flags) +{ + return new QBitmap(QBitmap::fromImage(*static_cast(image), static_cast(flags))); +} + +void* QBitmap_QBitmap_FromImage2(void* image, long long flags) +{ + return new QBitmap(QBitmap::fromImage(*static_cast(image), static_cast(flags))); +} + +void QBitmap_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QBitmap_Transformed(void* ptr, void* matrix) +{ + return new QBitmap(static_cast(ptr)->transformed(*static_cast(matrix))); +} + +void QBitmap_DestroyQBitmap(void* ptr) +{ + static_cast(ptr)->~QBitmap(); +} + +void QBitmap_DestroyQBitmapDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QBrush_NewQBrush() +{ + return new QBrush(); +} + +void* QBrush_NewQBrush2(long long style) +{ + return new QBrush(static_cast(style)); +} + +void* QBrush_NewQBrush3(void* color, long long style) +{ + return new QBrush(*static_cast(color), static_cast(style)); +} + +void* QBrush_NewQBrush4(long long color, long long style) +{ + return new QBrush(static_cast(color), static_cast(style)); +} + +void* QBrush_NewQBrush5(void* color, void* pixmap) +{ + return new QBrush(*static_cast(color), *static_cast(pixmap)); +} + +void* QBrush_NewQBrush6(long long color, void* pixmap) +{ + return new QBrush(static_cast(color), *static_cast(pixmap)); +} + +void* QBrush_NewQBrush7(void* pixmap) +{ + return new QBrush(*static_cast(pixmap)); +} + +void* QBrush_NewQBrush8(void* image) +{ + return new QBrush(*static_cast(image)); +} + +void* QBrush_NewQBrush9(void* other) +{ + return new QBrush(*static_cast(other)); +} + +void* QBrush_NewQBrush10(void* gradient) +{ + return new QBrush(*static_cast(gradient)); +} + +void* QBrush_Color(void* ptr) +{ + return const_cast(&static_cast(ptr)->color()); +} + +void* QBrush_Gradient(void* ptr) +{ + return const_cast(static_cast(ptr)->gradient()); +} + +char QBrush_IsOpaque(void* ptr) +{ + return static_cast(ptr)->isOpaque(); +} + +void* QBrush_Matrix(void* ptr) +{ + return const_cast(&static_cast(ptr)->matrix()); +} + +void QBrush_SetColor(void* ptr, void* color) +{ + static_cast(ptr)->setColor(*static_cast(color)); +} + +void QBrush_SetColor2(void* ptr, long long color) +{ + static_cast(ptr)->setColor(static_cast(color)); +} + +void QBrush_SetMatrix(void* ptr, void* matrix) +{ + static_cast(ptr)->setMatrix(*static_cast(matrix)); +} + +void QBrush_SetStyle(void* ptr, long long style) +{ + static_cast(ptr)->setStyle(static_cast(style)); +} + +void QBrush_SetTexture(void* ptr, void* pixmap) +{ + static_cast(ptr)->setTexture(*static_cast(pixmap)); +} + +void QBrush_SetTextureImage(void* ptr, void* image) +{ + static_cast(ptr)->setTextureImage(*static_cast(image)); +} + +void QBrush_SetTransform(void* ptr, void* matrix) +{ + static_cast(ptr)->setTransform(*static_cast(matrix)); +} + +long long QBrush_Style(void* ptr) +{ + return static_cast(ptr)->style(); +} + +void QBrush_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QBrush_Texture(void* ptr) +{ + return new QPixmap(static_cast(ptr)->texture()); +} + +void* QBrush_TextureImage(void* ptr) +{ + return new QImage(static_cast(ptr)->textureImage()); +} + +void* QBrush_Transform(void* ptr) +{ + return new QTransform(static_cast(ptr)->transform()); +} + +void QBrush_DestroyQBrush(void* ptr) +{ + static_cast(ptr)->~QBrush(); +} + +void* QBrush_ToVariant(void* ptr) +{ + return new QVariant(*static_cast(ptr)); +} + +class MyQClipboard: public QClipboard +{ +public: + void Signal_Changed(QClipboard::Mode mode) { callbackQClipboard_Changed(this, mode); }; + void Signal_DataChanged() { callbackQClipboard_DataChanged(this); }; + void Signal_FindBufferChanged() { callbackQClipboard_FindBufferChanged(this); }; + void Signal_SelectionChanged() { callbackQClipboard_SelectionChanged(this); }; + void childEvent(QChildEvent * event) { callbackQClipboard_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQClipboard_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQClipboard_CustomEvent(this, event); }; + void deleteLater() { callbackQClipboard_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQClipboard_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQClipboard_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQClipboard_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQClipboard_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQClipboard_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQClipboard_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQClipboard_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQClipboard*) + +int QClipboard_QClipboard_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void QClipboard_ConnectChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QClipboard::changed), static_cast(ptr), static_cast(&MyQClipboard::Signal_Changed), static_cast(t)); +} + +void QClipboard_DisconnectChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QClipboard::changed), static_cast(ptr), static_cast(&MyQClipboard::Signal_Changed)); +} + +void QClipboard_Changed(void* ptr, long long mode) +{ + static_cast(ptr)->changed(static_cast(mode)); +} + +void QClipboard_Clear(void* ptr, long long mode) +{ + static_cast(ptr)->clear(static_cast(mode)); +} + +void QClipboard_ConnectDataChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QClipboard::dataChanged), static_cast(ptr), static_cast(&MyQClipboard::Signal_DataChanged), static_cast(t)); +} + +void QClipboard_DisconnectDataChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QClipboard::dataChanged), static_cast(ptr), static_cast(&MyQClipboard::Signal_DataChanged)); +} + +void QClipboard_DataChanged(void* ptr) +{ + static_cast(ptr)->dataChanged(); +} + +void QClipboard_ConnectFindBufferChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QClipboard::findBufferChanged), static_cast(ptr), static_cast(&MyQClipboard::Signal_FindBufferChanged), static_cast(t)); +} + +void QClipboard_DisconnectFindBufferChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QClipboard::findBufferChanged), static_cast(ptr), static_cast(&MyQClipboard::Signal_FindBufferChanged)); +} + +void QClipboard_FindBufferChanged(void* ptr) +{ + static_cast(ptr)->findBufferChanged(); +} + +void* QClipboard_Image(void* ptr, long long mode) +{ + return new QImage(static_cast(ptr)->image(static_cast(mode))); +} + +void* QClipboard_MimeData(void* ptr, long long mode) +{ + return const_cast(static_cast(ptr)->mimeData(static_cast(mode))); +} + +char QClipboard_OwnsClipboard(void* ptr) +{ + return static_cast(ptr)->ownsClipboard(); +} + +char QClipboard_OwnsFindBuffer(void* ptr) +{ + return static_cast(ptr)->ownsFindBuffer(); +} + +char QClipboard_OwnsSelection(void* ptr) +{ + return static_cast(ptr)->ownsSelection(); +} + +void* QClipboard_Pixmap(void* ptr, long long mode) +{ + return new QPixmap(static_cast(ptr)->pixmap(static_cast(mode))); +} + +void QClipboard_ConnectSelectionChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QClipboard::selectionChanged), static_cast(ptr), static_cast(&MyQClipboard::Signal_SelectionChanged), static_cast(t)); +} + +void QClipboard_DisconnectSelectionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QClipboard::selectionChanged), static_cast(ptr), static_cast(&MyQClipboard::Signal_SelectionChanged)); +} + +void QClipboard_SelectionChanged(void* ptr) +{ + static_cast(ptr)->selectionChanged(); +} + +void QClipboard_SetImage(void* ptr, void* image, long long mode) +{ + static_cast(ptr)->setImage(*static_cast(image), static_cast(mode)); +} + +void QClipboard_SetMimeData(void* ptr, void* src, long long mode) +{ + static_cast(ptr)->setMimeData(static_cast(src), static_cast(mode)); +} + +void QClipboard_SetPixmap(void* ptr, void* pixmap, long long mode) +{ + static_cast(ptr)->setPixmap(*static_cast(pixmap), static_cast(mode)); +} + +void QClipboard_SetText(void* ptr, struct QtGui_PackedString text, long long mode) +{ + static_cast(ptr)->setText(QString::fromUtf8(text.data, text.len), static_cast(mode)); +} + +char QClipboard_SupportsFindBuffer(void* ptr) +{ + return static_cast(ptr)->supportsFindBuffer(); +} + +char QClipboard_SupportsSelection(void* ptr) +{ + return static_cast(ptr)->supportsSelection(); +} + +struct QtGui_PackedString QClipboard_Text(void* ptr, long long mode) +{ + return ({ QByteArray tc36a83 = static_cast(ptr)->text(static_cast(mode)).toUtf8(); QtGui_PackedString { const_cast(tc36a83.prepend("WHITESPACE").constData()+10), tc36a83.size()-10 }; }); +} + +struct QtGui_PackedString QClipboard_Text2(void* ptr, struct QtGui_PackedString subtype, long long mode) +{ + return ({ QByteArray tde8270 = static_cast(ptr)->text(*(new QString(QString::fromUtf8(subtype.data, subtype.len))), static_cast(mode)).toUtf8(); QtGui_PackedString { const_cast(tde8270.prepend("WHITESPACE").constData()+10), tde8270.size()-10 }; }); +} + +void* QClipboard___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QClipboard___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QClipboard___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QClipboard___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QClipboard___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QClipboard___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QClipboard___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QClipboard___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QClipboard___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QClipboard___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QClipboard___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QClipboard___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QClipboard___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QClipboard___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QClipboard___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QClipboard_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QClipboard::childEvent(static_cast(event)); +} + +void QClipboard_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QClipboard::connectNotify(*static_cast(sign)); +} + +void QClipboard_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QClipboard::customEvent(static_cast(event)); +} + +void QClipboard_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QClipboard::deleteLater(); +} + +void QClipboard_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QClipboard::disconnectNotify(*static_cast(sign)); +} + +char QClipboard_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QClipboard::event(static_cast(e)); +} + +char QClipboard_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QClipboard::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QClipboard::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QClipboard::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QClipboard::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QClipboard::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QClipboard_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QClipboard::metaObject()); +} + +void QClipboard_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QClipboard::timerEvent(static_cast(event)); +} + +class MyQCloseEvent: public QCloseEvent +{ +public: + MyQCloseEvent() : QCloseEvent() {}; +}; + +void* QCloseEvent_NewQCloseEvent() +{ + return new MyQCloseEvent(); +} + +void* QColor_NewQColor() +{ + return new QColor(); +} + +void* QColor_NewQColor2(long long color) +{ + return new QColor(static_cast(color)); +} + +void* QColor_NewQColor3(int r, int g, int b, int a) +{ + return new QColor(r, g, b, a); +} + +void* QColor_NewQColor4(unsigned int color) +{ + return new QColor(color); +} + +void* QColor_NewQColor5(void* rgba64) +{ + return new QColor(*static_cast(rgba64)); +} + +void* QColor_NewQColor6(struct QtGui_PackedString name) +{ + return new QColor(QString::fromUtf8(name.data, name.len)); +} + +void* QColor_NewQColor8(char* name) +{ + return new QColor(const_cast(name)); +} + +void* QColor_NewQColor9(void* name) +{ + return new QColor(*static_cast(name)); +} + +int QColor_Alpha(void* ptr) +{ + return static_cast(ptr)->alpha(); +} + +double QColor_AlphaF(void* ptr) +{ + return static_cast(ptr)->alphaF(); +} + +int QColor_Black(void* ptr) +{ + return static_cast(ptr)->black(); +} + +double QColor_BlackF(void* ptr) +{ + return static_cast(ptr)->blackF(); +} + +int QColor_Blue(void* ptr) +{ + return static_cast(ptr)->blue(); +} + +double QColor_BlueF(void* ptr) +{ + return static_cast(ptr)->blueF(); +} + +struct QtGui_PackedString QColor_QColor_ColorNames() +{ + return ({ QByteArray t1b28c6 = QColor::colorNames().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t1b28c6.prepend("WHITESPACE").constData()+10), t1b28c6.size()-10 }; }); +} + +void* QColor_ConvertTo(void* ptr, long long colorSpec) +{ + return new QColor(static_cast(ptr)->convertTo(static_cast(colorSpec))); +} + +int QColor_Cyan(void* ptr) +{ + return static_cast(ptr)->cyan(); +} + +double QColor_CyanF(void* ptr) +{ + return static_cast(ptr)->cyanF(); +} + +void* QColor_Darker(void* ptr, int factor) +{ + return new QColor(static_cast(ptr)->darker(factor)); +} + +void* QColor_QColor_FromCmyk(int c, int m, int y, int k, int a) +{ + return new QColor(QColor::fromCmyk(c, m, y, k, a)); +} + +void* QColor_QColor_FromCmykF(double c, double m, double y, double k, double a) +{ + return new QColor(QColor::fromCmykF(c, m, y, k, a)); +} + +void* QColor_QColor_FromHsl(int h, int s, int l, int a) +{ + return new QColor(QColor::fromHsl(h, s, l, a)); +} + +void* QColor_QColor_FromHslF(double h, double s, double l, double a) +{ + return new QColor(QColor::fromHslF(h, s, l, a)); +} + +void* QColor_QColor_FromHsv(int h, int s, int v, int a) +{ + return new QColor(QColor::fromHsv(h, s, v, a)); +} + +void* QColor_QColor_FromHsvF(double h, double s, double v, double a) +{ + return new QColor(QColor::fromHsvF(h, s, v, a)); +} + +void* QColor_QColor_FromRgb(unsigned int rgb) +{ + return new QColor(QColor::fromRgb(rgb)); +} + +void* QColor_QColor_FromRgb2(int r, int g, int b, int a) +{ + return new QColor(QColor::fromRgb(r, g, b, a)); +} + +void* QColor_QColor_FromRgbF(double r, double g, double b, double a) +{ + return new QColor(QColor::fromRgbF(r, g, b, a)); +} + +void* QColor_QColor_FromRgba(unsigned int rgba) +{ + return new QColor(QColor::fromRgba(rgba)); +} + +void* QColor_QColor_FromRgba64(unsigned short r, unsigned short g, unsigned short b, unsigned short a) +{ + return new QColor(QColor::fromRgba64(r, g, b, a)); +} + +void* QColor_QColor_FromRgba642(void* rgba64) +{ + return new QColor(QColor::fromRgba64(*static_cast(rgba64))); +} + +void QColor_GetCmyk2(void* ptr, int c, int m, int y, int k, int a) +{ + static_cast(ptr)->getCmyk(&c, &m, &y, &k, &a); +} + +void QColor_GetCmykF2(void* ptr, double c, double m, double y, double k, double a) +{ + static_cast(ptr)->getCmykF(&c, &m, &y, &k, &a); +} + +void QColor_GetHsl(void* ptr, int h, int s, int l, int a) +{ + static_cast(ptr)->getHsl(&h, &s, &l, &a); +} + +void QColor_GetHslF(void* ptr, double h, double s, double l, double a) +{ + static_cast(ptr)->getHslF(&h, &s, &l, &a); +} + +void QColor_GetHsv(void* ptr, int h, int s, int v, int a) +{ + static_cast(ptr)->getHsv(&h, &s, &v, &a); +} + +void QColor_GetHsvF(void* ptr, double h, double s, double v, double a) +{ + static_cast(ptr)->getHsvF(&h, &s, &v, &a); +} + +void QColor_GetRgb(void* ptr, int r, int g, int b, int a) +{ + static_cast(ptr)->getRgb(&r, &g, &b, &a); +} + +void QColor_GetRgbF(void* ptr, double r, double g, double b, double a) +{ + static_cast(ptr)->getRgbF(&r, &g, &b, &a); +} + +int QColor_Green(void* ptr) +{ + return static_cast(ptr)->green(); +} + +double QColor_GreenF(void* ptr) +{ + return static_cast(ptr)->greenF(); +} + +int QColor_HslHue(void* ptr) +{ + return static_cast(ptr)->hslHue(); +} + +double QColor_HslHueF(void* ptr) +{ + return static_cast(ptr)->hslHueF(); +} + +int QColor_HslSaturation(void* ptr) +{ + return static_cast(ptr)->hslSaturation(); +} + +double QColor_HslSaturationF(void* ptr) +{ + return static_cast(ptr)->hslSaturationF(); +} + +int QColor_HsvHue(void* ptr) +{ + return static_cast(ptr)->hsvHue(); +} + +double QColor_HsvHueF(void* ptr) +{ + return static_cast(ptr)->hsvHueF(); +} + +int QColor_HsvSaturation(void* ptr) +{ + return static_cast(ptr)->hsvSaturation(); +} + +double QColor_HsvSaturationF(void* ptr) +{ + return static_cast(ptr)->hsvSaturationF(); +} + +int QColor_Hue(void* ptr) +{ + return static_cast(ptr)->hue(); +} + +double QColor_HueF(void* ptr) +{ + return static_cast(ptr)->hueF(); +} + +char QColor_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QColor_QColor_IsValidColor(struct QtGui_PackedString name) +{ + return QColor::isValidColor(QString::fromUtf8(name.data, name.len)); +} + +char QColor_QColor_IsValidColor2(void* name) +{ + return QColor::isValidColor(*static_cast(name)); +} + +char QColor_QColor_IsValidColor3(void* name) +{ + return QColor::isValidColor(*static_cast(name)); +} + +void* QColor_Lighter(void* ptr, int factor) +{ + return new QColor(static_cast(ptr)->lighter(factor)); +} + +int QColor_Lightness(void* ptr) +{ + return static_cast(ptr)->lightness(); +} + +double QColor_LightnessF(void* ptr) +{ + return static_cast(ptr)->lightnessF(); +} + +int QColor_Magenta(void* ptr) +{ + return static_cast(ptr)->magenta(); +} + +double QColor_MagentaF(void* ptr) +{ + return static_cast(ptr)->magentaF(); +} + +struct QtGui_PackedString QColor_Name(void* ptr) +{ + return ({ QByteArray t9b3be4 = static_cast(ptr)->name().toUtf8(); QtGui_PackedString { const_cast(t9b3be4.prepend("WHITESPACE").constData()+10), t9b3be4.size()-10 }; }); +} + +struct QtGui_PackedString QColor_Name2(void* ptr, long long format) +{ + return ({ QByteArray t4331f3 = static_cast(ptr)->name(static_cast(format)).toUtf8(); QtGui_PackedString { const_cast(t4331f3.prepend("WHITESPACE").constData()+10), t4331f3.size()-10 }; }); +} + +int QColor_Red(void* ptr) +{ + return static_cast(ptr)->red(); +} + +double QColor_RedF(void* ptr) +{ + return static_cast(ptr)->redF(); +} + +unsigned int QColor_Rgb(void* ptr) +{ + return static_cast(ptr)->rgb(); +} + +unsigned int QColor_Rgba(void* ptr) +{ + return static_cast(ptr)->rgba(); +} + +int QColor_Saturation(void* ptr) +{ + return static_cast(ptr)->saturation(); +} + +double QColor_SaturationF(void* ptr) +{ + return static_cast(ptr)->saturationF(); +} + +void QColor_SetAlpha(void* ptr, int alpha) +{ + static_cast(ptr)->setAlpha(alpha); +} + +void QColor_SetAlphaF(void* ptr, double alpha) +{ + static_cast(ptr)->setAlphaF(alpha); +} + +void QColor_SetBlue(void* ptr, int blue) +{ + static_cast(ptr)->setBlue(blue); +} + +void QColor_SetBlueF(void* ptr, double blue) +{ + static_cast(ptr)->setBlueF(blue); +} + +void QColor_SetCmyk(void* ptr, int c, int m, int y, int k, int a) +{ + static_cast(ptr)->setCmyk(c, m, y, k, a); +} + +void QColor_SetCmykF(void* ptr, double c, double m, double y, double k, double a) +{ + static_cast(ptr)->setCmykF(c, m, y, k, a); +} + +void QColor_SetGreen(void* ptr, int green) +{ + static_cast(ptr)->setGreen(green); +} + +void QColor_SetGreenF(void* ptr, double green) +{ + static_cast(ptr)->setGreenF(green); +} + +void QColor_SetHsl(void* ptr, int h, int s, int l, int a) +{ + static_cast(ptr)->setHsl(h, s, l, a); +} + +void QColor_SetHslF(void* ptr, double h, double s, double l, double a) +{ + static_cast(ptr)->setHslF(h, s, l, a); +} + +void QColor_SetHsv(void* ptr, int h, int s, int v, int a) +{ + static_cast(ptr)->setHsv(h, s, v, a); +} + +void QColor_SetHsvF(void* ptr, double h, double s, double v, double a) +{ + static_cast(ptr)->setHsvF(h, s, v, a); +} + +void QColor_SetNamedColor(void* ptr, struct QtGui_PackedString name) +{ + static_cast(ptr)->setNamedColor(QString::fromUtf8(name.data, name.len)); +} + +void QColor_SetNamedColor2(void* ptr, void* name) +{ + static_cast(ptr)->setNamedColor(*static_cast(name)); +} + +void QColor_SetNamedColor3(void* ptr, void* name) +{ + static_cast(ptr)->setNamedColor(*static_cast(name)); +} + +void QColor_SetRed(void* ptr, int red) +{ + static_cast(ptr)->setRed(red); +} + +void QColor_SetRedF(void* ptr, double red) +{ + static_cast(ptr)->setRedF(red); +} + +void QColor_SetRgb(void* ptr, int r, int g, int b, int a) +{ + static_cast(ptr)->setRgb(r, g, b, a); +} + +void QColor_SetRgb2(void* ptr, unsigned int rgb) +{ + static_cast(ptr)->setRgb(rgb); +} + +void QColor_SetRgbF(void* ptr, double r, double g, double b, double a) +{ + static_cast(ptr)->setRgbF(r, g, b, a); +} + +void QColor_SetRgba(void* ptr, unsigned int rgba) +{ + static_cast(ptr)->setRgba(rgba); +} + +void QColor_SetRgba64(void* ptr, void* rgba) +{ + static_cast(ptr)->setRgba64(*static_cast(rgba)); +} + +long long QColor_Spec(void* ptr) +{ + return static_cast(ptr)->spec(); +} + +void* QColor_ToCmyk(void* ptr) +{ + return new QColor(static_cast(ptr)->toCmyk()); +} + +void* QColor_ToHsl(void* ptr) +{ + return new QColor(static_cast(ptr)->toHsl()); +} + +void* QColor_ToHsv(void* ptr) +{ + return new QColor(static_cast(ptr)->toHsv()); +} + +void* QColor_ToRgb(void* ptr) +{ + return new QColor(static_cast(ptr)->toRgb()); +} + +int QColor_Value(void* ptr) +{ + return static_cast(ptr)->value(); +} + +double QColor_ValueF(void* ptr) +{ + return static_cast(ptr)->valueF(); +} + +int QColor_Yellow(void* ptr) +{ + return static_cast(ptr)->yellow(); +} + +double QColor_YellowF(void* ptr) +{ + return static_cast(ptr)->yellowF(); +} + +void* QColor_ToVariant(void* ptr) +{ + return new QVariant(*static_cast(ptr)); +} + +void* QConicalGradient_NewQConicalGradient() +{ + return new QConicalGradient(); +} + +void* QConicalGradient_NewQConicalGradient2(void* center, double angle) +{ + return new QConicalGradient(*static_cast(center), angle); +} + +void* QConicalGradient_NewQConicalGradient3(double cx, double cy, double angle) +{ + return new QConicalGradient(cx, cy, angle); +} + +double QConicalGradient_Angle(void* ptr) +{ + return static_cast(ptr)->angle(); +} + +void* QConicalGradient_Center(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->center(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QConicalGradient_SetAngle(void* ptr, double angle) +{ + static_cast(ptr)->setAngle(angle); +} + +void QConicalGradient_SetCenter(void* ptr, void* center) +{ + static_cast(ptr)->setCenter(*static_cast(center)); +} + +void QConicalGradient_SetCenter2(void* ptr, double x, double y) +{ + static_cast(ptr)->setCenter(x, y); +} + +class MyQContextMenuEvent: public QContextMenuEvent +{ +public: + MyQContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos, const QPoint &globalPos, Qt::KeyboardModifiers modifiers) : QContextMenuEvent(reason, pos, globalPos, modifiers) {}; + MyQContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos, const QPoint &globalPos) : QContextMenuEvent(reason, pos, globalPos) {}; + MyQContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos) : QContextMenuEvent(reason, pos) {}; +}; + +void* QContextMenuEvent_NewQContextMenuEvent(long long reason, void* pos, void* globalPos, long long modifiers) +{ + return new MyQContextMenuEvent(static_cast(reason), *static_cast(pos), *static_cast(globalPos), static_cast(modifiers)); +} + +void* QContextMenuEvent_NewQContextMenuEvent2(long long reason, void* pos, void* globalPos) +{ + return new MyQContextMenuEvent(static_cast(reason), *static_cast(pos), *static_cast(globalPos)); +} + +void* QContextMenuEvent_NewQContextMenuEvent3(long long reason, void* pos) +{ + return new MyQContextMenuEvent(static_cast(reason), *static_cast(pos)); +} + +void* QContextMenuEvent_GlobalPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->globalPos()); +} + +int QContextMenuEvent_GlobalX(void* ptr) +{ + return static_cast(ptr)->globalX(); +} + +int QContextMenuEvent_GlobalY(void* ptr) +{ + return static_cast(ptr)->globalY(); +} + +void* QContextMenuEvent_Pos(void* ptr) +{ + return const_cast(&static_cast(ptr)->pos()); +} + +long long QContextMenuEvent_Reason(void* ptr) +{ + return static_cast(ptr)->reason(); +} + +int QContextMenuEvent_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +int QContextMenuEvent_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +void* QCursor_NewQCursor() +{ + return new QCursor(); +} + +void* QCursor_NewQCursor2(long long shape) +{ + return new QCursor(static_cast(shape)); +} + +void* QCursor_NewQCursor3(void* bitmap, void* mask, int hotX, int hotY) +{ + return new QCursor(*static_cast(bitmap), *static_cast(mask), hotX, hotY); +} + +void* QCursor_NewQCursor4(void* pixmap, int hotX, int hotY) +{ + return new QCursor(*static_cast(pixmap), hotX, hotY); +} + +void* QCursor_NewQCursor5(void* c) +{ + return new QCursor(*static_cast(c)); +} + +void* QCursor_NewQCursor6(void* other) +{ + return new QCursor(*static_cast(other)); +} + +void* QCursor_Bitmap(void* ptr) +{ + return const_cast(static_cast(ptr)->bitmap()); +} + +void* QCursor_HotSpot(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->hotSpot(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QCursor_Mask(void* ptr) +{ + return const_cast(static_cast(ptr)->mask()); +} + +void* QCursor_Pixmap(void* ptr) +{ + return new QPixmap(static_cast(ptr)->pixmap()); +} + +void* QCursor_QCursor_Pos() +{ + return ({ QPoint tmpValue = QCursor::pos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QCursor_QCursor_Pos2(void* screen) +{ + return ({ QPoint tmpValue = QCursor::pos(static_cast(screen)); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void QCursor_QCursor_SetPos(int x, int y) +{ + QCursor::setPos(x, y); +} + +void QCursor_QCursor_SetPos2(void* screen, int x, int y) +{ + QCursor::setPos(static_cast(screen), x, y); +} + +void QCursor_QCursor_SetPos3(void* p) +{ + QCursor::setPos(*static_cast(p)); +} + +void QCursor_QCursor_SetPos4(void* screen, void* p) +{ + QCursor::setPos(static_cast(screen), *static_cast(p)); +} + +void QCursor_SetShape(void* ptr, long long shape) +{ + static_cast(ptr)->setShape(static_cast(shape)); +} + +long long QCursor_Shape(void* ptr) +{ + return static_cast(ptr)->shape(); +} + +void QCursor_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QCursor_DestroyQCursor(void* ptr) +{ + static_cast(ptr)->~QCursor(); +} + +char QDesktopServices_QDesktopServices_OpenUrl(void* url) +{ + return QDesktopServices::openUrl(*static_cast(url)); +} + +void QDesktopServices_QDesktopServices_SetUrlHandler(struct QtGui_PackedString scheme, void* receiver, char* method) +{ + if (dynamic_cast(static_cast(receiver))) { + QDesktopServices::setUrlHandler(QString::fromUtf8(scheme.data, scheme.len), static_cast(receiver), const_cast(method)); + } else if (dynamic_cast(static_cast(receiver))) { + QDesktopServices::setUrlHandler(QString::fromUtf8(scheme.data, scheme.len), static_cast(receiver), const_cast(method)); + } else if (dynamic_cast(static_cast(receiver))) { + QDesktopServices::setUrlHandler(QString::fromUtf8(scheme.data, scheme.len), static_cast(receiver), const_cast(method)); + } else if (dynamic_cast(static_cast(receiver))) { + QDesktopServices::setUrlHandler(QString::fromUtf8(scheme.data, scheme.len), static_cast(receiver), const_cast(method)); + } else { + QDesktopServices::setUrlHandler(QString::fromUtf8(scheme.data, scheme.len), static_cast(receiver), const_cast(method)); + } +} + +void QDesktopServices_QDesktopServices_UnsetUrlHandler(struct QtGui_PackedString scheme) +{ + QDesktopServices::unsetUrlHandler(QString::fromUtf8(scheme.data, scheme.len)); +} + +class MyQDoubleValidator: public QDoubleValidator +{ +public: + MyQDoubleValidator(QObject *parent = Q_NULLPTR) : QDoubleValidator(parent) {QDoubleValidator_QDoubleValidator_QRegisterMetaType();}; + MyQDoubleValidator(double bottom, double top, int decimals, QObject *parent = Q_NULLPTR) : QDoubleValidator(bottom, top, decimals, parent) {QDoubleValidator_QDoubleValidator_QRegisterMetaType();}; + void Signal_BottomChanged(double bottom) { callbackQDoubleValidator_BottomChanged(this, bottom); }; + void Signal_DecimalsChanged(int decimals) { callbackQDoubleValidator_DecimalsChanged(this, decimals); }; + void Signal_NotationChanged(QDoubleValidator::Notation notation) { callbackQDoubleValidator_NotationChanged(this, notation); }; + void setRange(double minimum, double maximum, int decimals) { callbackQDoubleValidator_SetRange(this, minimum, maximum, decimals); }; + void Signal_TopChanged(double top) { callbackQDoubleValidator_TopChanged(this, top); }; + QValidator::State validate(QString & input, int & pos) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };return static_cast(callbackQDoubleValidator_Validate(const_cast(static_cast(this)), inputPacked, pos)); }; + ~MyQDoubleValidator() { callbackQDoubleValidator_DestroyQDoubleValidator(this); }; + void Signal_Changed() { callbackQValidator_Changed(this); }; + void fixup(QString & input) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };callbackQValidator_Fixup(const_cast(static_cast(this)), inputPacked); }; + void childEvent(QChildEvent * event) { callbackQValidator_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQValidator_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQValidator_CustomEvent(this, event); }; + void deleteLater() { callbackQValidator_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQValidator_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQValidator_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQValidator_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQValidator_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQValidator_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQValidator_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQValidator_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQDoubleValidator*) + +int QDoubleValidator_QDoubleValidator_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QDoubleValidator_NewQDoubleValidator(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(static_cast(parent)); + } else { + return new MyQDoubleValidator(static_cast(parent)); + } +} + +void* QDoubleValidator_NewQDoubleValidator2(double bottom, double top, int decimals, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } else { + return new MyQDoubleValidator(bottom, top, decimals, static_cast(parent)); + } +} + +double QDoubleValidator_Bottom(void* ptr) +{ + return static_cast(ptr)->bottom(); +} + +void QDoubleValidator_ConnectBottomChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QDoubleValidator::bottomChanged), static_cast(ptr), static_cast(&MyQDoubleValidator::Signal_BottomChanged), static_cast(t)); +} + +void QDoubleValidator_DisconnectBottomChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDoubleValidator::bottomChanged), static_cast(ptr), static_cast(&MyQDoubleValidator::Signal_BottomChanged)); +} + +void QDoubleValidator_BottomChanged(void* ptr, double bottom) +{ + static_cast(ptr)->bottomChanged(bottom); +} + +int QDoubleValidator_Decimals(void* ptr) +{ + return static_cast(ptr)->decimals(); +} + +void QDoubleValidator_ConnectDecimalsChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QDoubleValidator::decimalsChanged), static_cast(ptr), static_cast(&MyQDoubleValidator::Signal_DecimalsChanged), static_cast(t)); +} + +void QDoubleValidator_DisconnectDecimalsChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDoubleValidator::decimalsChanged), static_cast(ptr), static_cast(&MyQDoubleValidator::Signal_DecimalsChanged)); +} + +void QDoubleValidator_DecimalsChanged(void* ptr, int decimals) +{ + static_cast(ptr)->decimalsChanged(decimals); +} + +long long QDoubleValidator_Notation(void* ptr) +{ + return static_cast(ptr)->notation(); +} + +void QDoubleValidator_ConnectNotationChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QDoubleValidator::notationChanged), static_cast(ptr), static_cast(&MyQDoubleValidator::Signal_NotationChanged), static_cast(t)); +} + +void QDoubleValidator_DisconnectNotationChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDoubleValidator::notationChanged), static_cast(ptr), static_cast(&MyQDoubleValidator::Signal_NotationChanged)); +} + +void QDoubleValidator_NotationChanged(void* ptr, long long notation) +{ + static_cast(ptr)->notationChanged(static_cast(notation)); +} + +void QDoubleValidator_SetBottom(void* ptr, double vdo) +{ + static_cast(ptr)->setBottom(vdo); +} + +void QDoubleValidator_SetDecimals(void* ptr, int vin) +{ + static_cast(ptr)->setDecimals(vin); +} + +void QDoubleValidator_SetNotation(void* ptr, long long vqd) +{ + static_cast(ptr)->setNotation(static_cast(vqd)); +} + +void QDoubleValidator_SetRange(void* ptr, double minimum, double maximum, int decimals) +{ + static_cast(ptr)->setRange(minimum, maximum, decimals); +} + +void QDoubleValidator_SetRangeDefault(void* ptr, double minimum, double maximum, int decimals) +{ + static_cast(ptr)->QDoubleValidator::setRange(minimum, maximum, decimals); +} + +void QDoubleValidator_SetTop(void* ptr, double vdo) +{ + static_cast(ptr)->setTop(vdo); +} + +double QDoubleValidator_Top(void* ptr) +{ + return static_cast(ptr)->top(); +} + +void QDoubleValidator_ConnectTopChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QDoubleValidator::topChanged), static_cast(ptr), static_cast(&MyQDoubleValidator::Signal_TopChanged), static_cast(t)); +} + +void QDoubleValidator_DisconnectTopChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDoubleValidator::topChanged), static_cast(ptr), static_cast(&MyQDoubleValidator::Signal_TopChanged)); +} + +void QDoubleValidator_TopChanged(void* ptr, double top) +{ + static_cast(ptr)->topChanged(top); +} + +long long QDoubleValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos) +{ + return static_cast(ptr)->validate(*(new QString(QString::fromUtf8(input.data, input.len))), pos); +} + +long long QDoubleValidator_ValidateDefault(void* ptr, struct QtGui_PackedString input, int pos) +{ + return static_cast(ptr)->QDoubleValidator::validate(*(new QString(QString::fromUtf8(input.data, input.len))), pos); +} + +void QDoubleValidator_DestroyQDoubleValidator(void* ptr) +{ + static_cast(ptr)->~QDoubleValidator(); +} + +void QDoubleValidator_DestroyQDoubleValidatorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQDrag: public QDrag +{ +public: + MyQDrag(QObject *dragSource) : QDrag(dragSource) {QDrag_QDrag_QRegisterMetaType();}; + void Signal_ActionChanged(Qt::DropAction action) { callbackQDrag_ActionChanged(this, action); }; + void Signal_TargetChanged(QObject * newTarget) { callbackQDrag_TargetChanged(this, newTarget); }; + ~MyQDrag() { callbackQDrag_DestroyQDrag(this); }; + void childEvent(QChildEvent * event) { callbackQDrag_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQDrag_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQDrag_CustomEvent(this, event); }; + void deleteLater() { callbackQDrag_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQDrag_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQDrag_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQDrag_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQDrag_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQDrag_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQDrag_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQDrag_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQDrag*) + +int QDrag_QDrag_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QDrag_NewQDrag(void* dragSource) +{ + if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else if (dynamic_cast(static_cast(dragSource))) { + return new MyQDrag(static_cast(dragSource)); + } else { + return new MyQDrag(static_cast(dragSource)); + } +} + +void QDrag_ConnectActionChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QDrag::actionChanged), static_cast(ptr), static_cast(&MyQDrag::Signal_ActionChanged), static_cast(t)); +} + +void QDrag_DisconnectActionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDrag::actionChanged), static_cast(ptr), static_cast(&MyQDrag::Signal_ActionChanged)); +} + +void QDrag_ActionChanged(void* ptr, long long action) +{ + static_cast(ptr)->actionChanged(static_cast(action)); +} + +void QDrag_QDrag_Cancel() +{ + QDrag::cancel(); +} + +long long QDrag_DefaultAction(void* ptr) +{ + return static_cast(ptr)->defaultAction(); +} + +void* QDrag_DragCursor(void* ptr, long long action) +{ + return new QPixmap(static_cast(ptr)->dragCursor(static_cast(action))); +} + +long long QDrag_Exec(void* ptr, long long supportedActions) +{ + return static_cast(ptr)->exec(static_cast(supportedActions)); +} + +long long QDrag_Exec2(void* ptr, long long supportedActions, long long defaultDropAction) +{ + return static_cast(ptr)->exec(static_cast(supportedActions), static_cast(defaultDropAction)); +} + +void* QDrag_HotSpot(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->hotSpot(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QDrag_MimeData(void* ptr) +{ + return static_cast(ptr)->mimeData(); +} + +void* QDrag_Pixmap(void* ptr) +{ + return new QPixmap(static_cast(ptr)->pixmap()); +} + +void QDrag_SetDragCursor(void* ptr, void* cursor, long long action) +{ + static_cast(ptr)->setDragCursor(*static_cast(cursor), static_cast(action)); +} + +void QDrag_SetHotSpot(void* ptr, void* hotspot) +{ + static_cast(ptr)->setHotSpot(*static_cast(hotspot)); +} + +void QDrag_SetMimeData(void* ptr, void* data) +{ + static_cast(ptr)->setMimeData(static_cast(data)); +} + +void QDrag_SetPixmap(void* ptr, void* pixmap) +{ + static_cast(ptr)->setPixmap(*static_cast(pixmap)); +} + +void* QDrag_Source(void* ptr) +{ + return static_cast(ptr)->source(); +} + +long long QDrag_SupportedActions(void* ptr) +{ + return static_cast(ptr)->supportedActions(); +} + +void* QDrag_Target(void* ptr) +{ + return static_cast(ptr)->target(); +} + +void QDrag_ConnectTargetChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QDrag::targetChanged), static_cast(ptr), static_cast(&MyQDrag::Signal_TargetChanged), static_cast(t)); +} + +void QDrag_DisconnectTargetChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDrag::targetChanged), static_cast(ptr), static_cast(&MyQDrag::Signal_TargetChanged)); +} + +void QDrag_TargetChanged(void* ptr, void* newTarget) +{ + if (dynamic_cast(static_cast(newTarget))) { + static_cast(ptr)->targetChanged(static_cast(newTarget)); + } else if (dynamic_cast(static_cast(newTarget))) { + static_cast(ptr)->targetChanged(static_cast(newTarget)); + } else if (dynamic_cast(static_cast(newTarget))) { + static_cast(ptr)->targetChanged(static_cast(newTarget)); + } else if (dynamic_cast(static_cast(newTarget))) { + static_cast(ptr)->targetChanged(static_cast(newTarget)); + } else { + static_cast(ptr)->targetChanged(static_cast(newTarget)); + } +} + +void QDrag_DestroyQDrag(void* ptr) +{ + static_cast(ptr)->~QDrag(); +} + +void QDrag_DestroyQDragDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QDrag___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QDrag___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QDrag___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDrag___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDrag___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDrag___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDrag___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QDrag___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QDrag___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDrag___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QDrag___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QDrag___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDrag___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QDrag___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QDrag___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QDrag_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QDrag::childEvent(static_cast(event)); +} + +void QDrag_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QDrag::connectNotify(*static_cast(sign)); +} + +void QDrag_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QDrag::customEvent(static_cast(event)); +} + +void QDrag_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QDrag::deleteLater(); +} + +void QDrag_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QDrag::disconnectNotify(*static_cast(sign)); +} + +char QDrag_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QDrag::event(static_cast(e)); +} + +char QDrag_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QDrag::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QDrag::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QDrag::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QDrag::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QDrag::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QDrag_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QDrag::metaObject()); +} + +void QDrag_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QDrag::timerEvent(static_cast(event)); +} + +class MyQDragEnterEvent: public QDragEnterEvent +{ +public: + MyQDragEnterEvent(const QPoint &point, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) : QDragEnterEvent(point, actions, data, buttons, modifiers) {}; +}; + +void* QDragEnterEvent_NewQDragEnterEvent(void* point, long long actions, void* data, long long buttons, long long modifiers) +{ + return new MyQDragEnterEvent(*static_cast(point), static_cast(actions), static_cast(data), static_cast(buttons), static_cast(modifiers)); +} + +class MyQDragLeaveEvent: public QDragLeaveEvent +{ +public: + MyQDragLeaveEvent() : QDragLeaveEvent() {}; +}; + +void* QDragLeaveEvent_NewQDragLeaveEvent() +{ + return new MyQDragLeaveEvent(); +} + +class MyQDragMoveEvent: public QDragMoveEvent +{ +public: + MyQDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type ty = DragMove) : QDragMoveEvent(pos, actions, data, buttons, modifiers, ty) {}; + ~MyQDragMoveEvent() { callbackQDragMoveEvent_DestroyQDragMoveEvent(this); }; +}; + +void* QDragMoveEvent_NewQDragMoveEvent(void* pos, long long actions, void* data, long long buttons, long long modifiers, long long ty) +{ + return new MyQDragMoveEvent(*static_cast(pos), static_cast(actions), static_cast(data), static_cast(buttons), static_cast(modifiers), static_cast(ty)); +} + +void QDragMoveEvent_Accept(void* ptr, void* rectangle) +{ + static_cast(ptr)->accept(*static_cast(rectangle)); +} + +void* QDragMoveEvent_AnswerRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->answerRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QDragMoveEvent_Ignore(void* ptr, void* rectangle) +{ + static_cast(ptr)->ignore(*static_cast(rectangle)); +} + +void QDragMoveEvent_DestroyQDragMoveEvent(void* ptr) +{ + static_cast(ptr)->~QDragMoveEvent(); +} + +void QDragMoveEvent_DestroyQDragMoveEventDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQDropEvent: public QDropEvent +{ +public: + MyQDropEvent(const QPointF &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type ty = Drop) : QDropEvent(pos, actions, data, buttons, modifiers, ty) {}; +}; + +void* QDropEvent_NewQDropEvent(void* pos, long long actions, void* data, long long buttons, long long modifiers, long long ty) +{ + return new MyQDropEvent(*static_cast(pos), static_cast(actions), static_cast(data), static_cast(buttons), static_cast(modifiers), static_cast(ty)); +} + +void QDropEvent_AcceptProposedAction(void* ptr) +{ + static_cast(ptr)->acceptProposedAction(); +} + +long long QDropEvent_DropAction(void* ptr) +{ + return static_cast(ptr)->dropAction(); +} + +long long QDropEvent_KeyboardModifiers(void* ptr) +{ + return static_cast(ptr)->keyboardModifiers(); +} + +void* QDropEvent_MimeData(void* ptr) +{ + return const_cast(static_cast(ptr)->mimeData()); +} + +long long QDropEvent_MouseButtons(void* ptr) +{ + return static_cast(ptr)->mouseButtons(); +} + +void* QDropEvent_Pos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->pos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QDropEvent_PosF(void* ptr) +{ + return const_cast(&static_cast(ptr)->posF()); +} + +long long QDropEvent_PossibleActions(void* ptr) +{ + return static_cast(ptr)->possibleActions(); +} + +long long QDropEvent_ProposedAction(void* ptr) +{ + return static_cast(ptr)->proposedAction(); +} + +void QDropEvent_SetDropAction(void* ptr, long long action) +{ + static_cast(ptr)->setDropAction(static_cast(action)); +} + +void* QDropEvent_Source(void* ptr) +{ + return static_cast(ptr)->source(); +} + +class MyQEnterEvent: public QEnterEvent +{ +public: + MyQEnterEvent(const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos) : QEnterEvent(localPos, windowPos, screenPos) {}; +}; + +void* QEnterEvent_NewQEnterEvent(void* localPos, void* windowPos, void* screenPos) +{ + return new MyQEnterEvent(*static_cast(localPos), *static_cast(windowPos), *static_cast(screenPos)); +} + +void* QEnterEvent_GlobalPos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->globalPos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +int QEnterEvent_GlobalX(void* ptr) +{ + return static_cast(ptr)->globalX(); +} + +int QEnterEvent_GlobalY(void* ptr) +{ + return static_cast(ptr)->globalY(); +} + +void* QEnterEvent_LocalPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->localPos()); +} + +void* QEnterEvent_Pos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->pos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QEnterEvent_ScreenPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->screenPos()); +} + +void* QEnterEvent_WindowPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->windowPos()); +} + +int QEnterEvent_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +int QEnterEvent_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +class MyQExposeEvent: public QExposeEvent +{ +public: + MyQExposeEvent(const QRegion &exposeRegion) : QExposeEvent(exposeRegion) {}; +}; + +void* QExposeEvent_NewQExposeEvent(void* exposeRegion) +{ + return new MyQExposeEvent(*static_cast(exposeRegion)); +} + +void* QExposeEvent_Region(void* ptr) +{ + return const_cast(&static_cast(ptr)->region()); +} + +class MyQFileOpenEvent: public QFileOpenEvent +{ +public: +}; + +struct QtGui_PackedString QFileOpenEvent_File(void* ptr) +{ + return ({ QByteArray t25f76f = static_cast(ptr)->file().toUtf8(); QtGui_PackedString { const_cast(t25f76f.prepend("WHITESPACE").constData()+10), t25f76f.size()-10 }; }); +} + +char QFileOpenEvent_OpenFile(void* ptr, void* file, long long flags) +{ + return static_cast(ptr)->openFile(*static_cast(file), static_cast(flags)); +} + +void* QFileOpenEvent_Url(void* ptr) +{ + return new QUrl(static_cast(ptr)->url()); +} + +class MyQFocusEvent: public QFocusEvent +{ +public: + MyQFocusEvent(QEvent::Type ty, Qt::FocusReason reason = Qt::OtherFocusReason) : QFocusEvent(ty, reason) {}; +}; + +void* QFocusEvent_NewQFocusEvent(long long ty, long long reason) +{ + return new MyQFocusEvent(static_cast(ty), static_cast(reason)); +} + +char QFocusEvent_GotFocus(void* ptr) +{ + return static_cast(ptr)->gotFocus(); +} + +char QFocusEvent_LostFocus(void* ptr) +{ + return static_cast(ptr)->lostFocus(); +} + +long long QFocusEvent_Reason(void* ptr) +{ + return static_cast(ptr)->reason(); +} + +void* QFont_NewQFont() +{ + return new QFont(); +} + +void* QFont_NewQFont2(struct QtGui_PackedString family, int pointSize, int weight, char italic) +{ + return new QFont(QString::fromUtf8(family.data, family.len), pointSize, weight, italic != 0); +} + +void* QFont_NewQFont4(void* font, void* pd) +{ + if (dynamic_cast(static_cast(pd))) { + return new QFont(*static_cast(font), static_cast(pd)); + } else if (dynamic_cast(static_cast(pd))) { + return new QFont(*static_cast(font), static_cast(pd)); + } else if (dynamic_cast(static_cast(pd))) { + return new QFont(*static_cast(font), static_cast(pd)); + } else { + return new QFont(*static_cast(font), static_cast(pd)); + } +} + +void* QFont_NewQFont5(void* font) +{ + return new QFont(*static_cast(font)); +} + +char QFont_Bold(void* ptr) +{ + return static_cast(ptr)->bold(); +} + +long long QFont_Capitalization(void* ptr) +{ + return static_cast(ptr)->capitalization(); +} + +struct QtGui_PackedString QFont_DefaultFamily(void* ptr) +{ + return ({ QByteArray t141ea0 = static_cast(ptr)->defaultFamily().toUtf8(); QtGui_PackedString { const_cast(t141ea0.prepend("WHITESPACE").constData()+10), t141ea0.size()-10 }; }); +} + +char QFont_ExactMatch(void* ptr) +{ + return static_cast(ptr)->exactMatch(); +} + +struct QtGui_PackedString QFont_Families(void* ptr) +{ + return ({ QByteArray tb16a9c = static_cast(ptr)->families().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(tb16a9c.prepend("WHITESPACE").constData()+10), tb16a9c.size()-10 }; }); +} + +struct QtGui_PackedString QFont_Family(void* ptr) +{ + return ({ QByteArray t52247e = static_cast(ptr)->family().toUtf8(); QtGui_PackedString { const_cast(t52247e.prepend("WHITESPACE").constData()+10), t52247e.size()-10 }; }); +} + +char QFont_FixedPitch(void* ptr) +{ + return static_cast(ptr)->fixedPitch(); +} + +char QFont_FromString(void* ptr, struct QtGui_PackedString descrip) +{ + return static_cast(ptr)->fromString(QString::fromUtf8(descrip.data, descrip.len)); +} + +long long QFont_HintingPreference(void* ptr) +{ + return static_cast(ptr)->hintingPreference(); +} + +void QFont_QFont_InsertSubstitution(struct QtGui_PackedString familyName, struct QtGui_PackedString substituteName) +{ + QFont::insertSubstitution(QString::fromUtf8(familyName.data, familyName.len), QString::fromUtf8(substituteName.data, substituteName.len)); +} + +void QFont_QFont_InsertSubstitutions(struct QtGui_PackedString familyName, struct QtGui_PackedString substituteNames) +{ + QFont::insertSubstitutions(QString::fromUtf8(familyName.data, familyName.len), QString::fromUtf8(substituteNames.data, substituteNames.len).split("¡¦!", QString::SkipEmptyParts)); +} + +char QFont_IsCopyOf(void* ptr, void* ff) +{ + return static_cast(ptr)->isCopyOf(*static_cast(ff)); +} + +char QFont_Italic(void* ptr) +{ + return static_cast(ptr)->italic(); +} + +char QFont_Kerning(void* ptr) +{ + return static_cast(ptr)->kerning(); +} + +struct QtGui_PackedString QFont_Key(void* ptr) +{ + return ({ QByteArray t9324a4 = static_cast(ptr)->key().toUtf8(); QtGui_PackedString { const_cast(t9324a4.prepend("WHITESPACE").constData()+10), t9324a4.size()-10 }; }); +} + +double QFont_LetterSpacing(void* ptr) +{ + return static_cast(ptr)->letterSpacing(); +} + +long long QFont_LetterSpacingType(void* ptr) +{ + return static_cast(ptr)->letterSpacingType(); +} + +char QFont_Overline(void* ptr) +{ + return static_cast(ptr)->overline(); +} + +int QFont_PixelSize(void* ptr) +{ + return static_cast(ptr)->pixelSize(); +} + +int QFont_PointSize(void* ptr) +{ + return static_cast(ptr)->pointSize(); +} + +double QFont_PointSizeF(void* ptr) +{ + return static_cast(ptr)->pointSizeF(); +} + +void QFont_QFont_RemoveSubstitutions(struct QtGui_PackedString familyName) +{ + QFont::removeSubstitutions(QString::fromUtf8(familyName.data, familyName.len)); +} + +void* QFont_Resolve(void* ptr, void* other) +{ + return new QFont(static_cast(ptr)->resolve(*static_cast(other))); +} + +void QFont_SetBold(void* ptr, char enable) +{ + static_cast(ptr)->setBold(enable != 0); +} + +void QFont_SetCapitalization(void* ptr, long long caps) +{ + static_cast(ptr)->setCapitalization(static_cast(caps)); +} + +void QFont_SetFamilies(void* ptr, struct QtGui_PackedString families) +{ + static_cast(ptr)->setFamilies(QString::fromUtf8(families.data, families.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QFont_SetFamily(void* ptr, struct QtGui_PackedString family) +{ + static_cast(ptr)->setFamily(QString::fromUtf8(family.data, family.len)); +} + +void QFont_SetFixedPitch(void* ptr, char enable) +{ + static_cast(ptr)->setFixedPitch(enable != 0); +} + +void QFont_SetHintingPreference(void* ptr, long long hintingPreference) +{ + static_cast(ptr)->setHintingPreference(static_cast(hintingPreference)); +} + +void QFont_SetItalic(void* ptr, char enable) +{ + static_cast(ptr)->setItalic(enable != 0); +} + +void QFont_SetKerning(void* ptr, char enable) +{ + static_cast(ptr)->setKerning(enable != 0); +} + +void QFont_SetLetterSpacing(void* ptr, long long ty, double spacing) +{ + static_cast(ptr)->setLetterSpacing(static_cast(ty), spacing); +} + +void QFont_SetOverline(void* ptr, char enable) +{ + static_cast(ptr)->setOverline(enable != 0); +} + +void QFont_SetPixelSize(void* ptr, int pixelSize) +{ + static_cast(ptr)->setPixelSize(pixelSize); +} + +void QFont_SetPointSize(void* ptr, int pointSize) +{ + static_cast(ptr)->setPointSize(pointSize); +} + +void QFont_SetPointSizeF(void* ptr, double pointSize) +{ + static_cast(ptr)->setPointSizeF(pointSize); +} + +void QFont_SetStretch(void* ptr, int factor) +{ + static_cast(ptr)->setStretch(factor); +} + +void QFont_SetStrikeOut(void* ptr, char enable) +{ + static_cast(ptr)->setStrikeOut(enable != 0); +} + +void QFont_SetStyle(void* ptr, long long style) +{ + static_cast(ptr)->setStyle(static_cast(style)); +} + +void QFont_SetStyleHint(void* ptr, long long hint, long long strategy) +{ + static_cast(ptr)->setStyleHint(static_cast(hint), static_cast(strategy)); +} + +void QFont_SetStyleName(void* ptr, struct QtGui_PackedString styleName) +{ + static_cast(ptr)->setStyleName(QString::fromUtf8(styleName.data, styleName.len)); +} + +void QFont_SetStyleStrategy(void* ptr, long long s) +{ + static_cast(ptr)->setStyleStrategy(static_cast(s)); +} + +void QFont_SetUnderline(void* ptr, char enable) +{ + static_cast(ptr)->setUnderline(enable != 0); +} + +void QFont_SetWeight(void* ptr, int weight) +{ + static_cast(ptr)->setWeight(weight); +} + +void QFont_SetWordSpacing(void* ptr, double spacing) +{ + static_cast(ptr)->setWordSpacing(spacing); +} + +int QFont_Stretch(void* ptr) +{ + return static_cast(ptr)->stretch(); +} + +char QFont_StrikeOut(void* ptr) +{ + return static_cast(ptr)->strikeOut(); +} + +long long QFont_Style(void* ptr) +{ + return static_cast(ptr)->style(); +} + +long long QFont_StyleHint(void* ptr) +{ + return static_cast(ptr)->styleHint(); +} + +struct QtGui_PackedString QFont_StyleName(void* ptr) +{ + return ({ QByteArray t8d3474 = static_cast(ptr)->styleName().toUtf8(); QtGui_PackedString { const_cast(t8d3474.prepend("WHITESPACE").constData()+10), t8d3474.size()-10 }; }); +} + +long long QFont_StyleStrategy(void* ptr) +{ + return static_cast(ptr)->styleStrategy(); +} + +struct QtGui_PackedString QFont_QFont_Substitute(struct QtGui_PackedString familyName) +{ + return ({ QByteArray tf3cb14 = QFont::substitute(QString::fromUtf8(familyName.data, familyName.len)).toUtf8(); QtGui_PackedString { const_cast(tf3cb14.prepend("WHITESPACE").constData()+10), tf3cb14.size()-10 }; }); +} + +struct QtGui_PackedString QFont_QFont_Substitutes(struct QtGui_PackedString familyName) +{ + return ({ QByteArray t1934ac = QFont::substitutes(QString::fromUtf8(familyName.data, familyName.len)).join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t1934ac.prepend("WHITESPACE").constData()+10), t1934ac.size()-10 }; }); +} + +struct QtGui_PackedString QFont_QFont_Substitutions() +{ + return ({ QByteArray t300c5a = QFont::substitutions().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t300c5a.prepend("WHITESPACE").constData()+10), t300c5a.size()-10 }; }); +} + +void QFont_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtGui_PackedString QFont_ToString(void* ptr) +{ + return ({ QByteArray t32ab86 = static_cast(ptr)->toString().toUtf8(); QtGui_PackedString { const_cast(t32ab86.prepend("WHITESPACE").constData()+10), t32ab86.size()-10 }; }); +} + +char QFont_Underline(void* ptr) +{ + return static_cast(ptr)->underline(); +} + +int QFont_Weight(void* ptr) +{ + return static_cast(ptr)->weight(); +} + +double QFont_WordSpacing(void* ptr) +{ + return static_cast(ptr)->wordSpacing(); +} + +void QFont_DestroyQFont(void* ptr) +{ + static_cast(ptr)->~QFont(); +} + +void* QFont_ToVariant(void* ptr) +{ + return new QVariant(*static_cast(ptr)); +} + +void* QFontDatabase_NewQFontDatabase() +{ + return new QFontDatabase(); +} + +int QFontDatabase_QFontDatabase_AddApplicationFont(struct QtGui_PackedString fileName) +{ + return QFontDatabase::addApplicationFont(QString::fromUtf8(fileName.data, fileName.len)); +} + +int QFontDatabase_QFontDatabase_AddApplicationFontFromData(void* fontData) +{ + return QFontDatabase::addApplicationFontFromData(*static_cast(fontData)); +} + +struct QtGui_PackedString QFontDatabase_QFontDatabase_ApplicationFontFamilies(int id) +{ + return ({ QByteArray tf75c72 = QFontDatabase::applicationFontFamilies(id).join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(tf75c72.prepend("WHITESPACE").constData()+10), tf75c72.size()-10 }; }); +} + +char QFontDatabase_Bold(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style) +{ + return static_cast(ptr)->bold(QString::fromUtf8(family.data, family.len), QString::fromUtf8(style.data, style.len)); +} + +struct QtGui_PackedString QFontDatabase_Families(void* ptr, long long writingSystem) +{ + return ({ QByteArray t8f80b0 = static_cast(ptr)->families(static_cast(writingSystem)).join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t8f80b0.prepend("WHITESPACE").constData()+10), t8f80b0.size()-10 }; }); +} + +void* QFontDatabase_Font(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style, int pointSize) +{ + return new QFont(static_cast(ptr)->font(QString::fromUtf8(family.data, family.len), QString::fromUtf8(style.data, style.len), pointSize)); +} + +char QFontDatabase_IsBitmapScalable(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style) +{ + return static_cast(ptr)->isBitmapScalable(QString::fromUtf8(family.data, family.len), QString::fromUtf8(style.data, style.len)); +} + +char QFontDatabase_IsFixedPitch(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style) +{ + return static_cast(ptr)->isFixedPitch(QString::fromUtf8(family.data, family.len), QString::fromUtf8(style.data, style.len)); +} + +char QFontDatabase_IsPrivateFamily(void* ptr, struct QtGui_PackedString family) +{ + return static_cast(ptr)->isPrivateFamily(QString::fromUtf8(family.data, family.len)); +} + +char QFontDatabase_IsScalable(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style) +{ + return static_cast(ptr)->isScalable(QString::fromUtf8(family.data, family.len), QString::fromUtf8(style.data, style.len)); +} + +char QFontDatabase_IsSmoothlyScalable(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style) +{ + return static_cast(ptr)->isSmoothlyScalable(QString::fromUtf8(family.data, family.len), QString::fromUtf8(style.data, style.len)); +} + +char QFontDatabase_Italic(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style) +{ + return static_cast(ptr)->italic(QString::fromUtf8(family.data, family.len), QString::fromUtf8(style.data, style.len)); +} + +struct QtGui_PackedList QFontDatabase_PointSizes(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString styleName) +{ + return ({ QList* tmpValue27d093 = new QList(static_cast(ptr)->pointSizes(QString::fromUtf8(family.data, family.len), QString::fromUtf8(styleName.data, styleName.len))); QtGui_PackedList { tmpValue27d093, tmpValue27d093->size() }; }); +} + +char QFontDatabase_QFontDatabase_RemoveAllApplicationFonts() +{ + return QFontDatabase::removeAllApplicationFonts(); +} + +char QFontDatabase_QFontDatabase_RemoveApplicationFont(int id) +{ + return QFontDatabase::removeApplicationFont(id); +} + +struct QtGui_PackedList QFontDatabase_SmoothSizes(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString styleName) +{ + return ({ QList* tmpValueab12a8 = new QList(static_cast(ptr)->smoothSizes(QString::fromUtf8(family.data, family.len), QString::fromUtf8(styleName.data, styleName.len))); QtGui_PackedList { tmpValueab12a8, tmpValueab12a8->size() }; }); +} + +struct QtGui_PackedList QFontDatabase_QFontDatabase_StandardSizes() +{ + return ({ QList* tmpValue70838a = new QList(QFontDatabase::standardSizes()); QtGui_PackedList { tmpValue70838a, tmpValue70838a->size() }; }); +} + +struct QtGui_PackedString QFontDatabase_StyleString(void* ptr, void* font) +{ + return ({ QByteArray tdc7da2 = static_cast(ptr)->styleString(*static_cast(font)).toUtf8(); QtGui_PackedString { const_cast(tdc7da2.prepend("WHITESPACE").constData()+10), tdc7da2.size()-10 }; }); +} + +struct QtGui_PackedString QFontDatabase_StyleString2(void* ptr, void* fontInfo) +{ + return ({ QByteArray t17e039 = static_cast(ptr)->styleString(*static_cast(fontInfo)).toUtf8(); QtGui_PackedString { const_cast(t17e039.prepend("WHITESPACE").constData()+10), t17e039.size()-10 }; }); +} + +struct QtGui_PackedString QFontDatabase_Styles(void* ptr, struct QtGui_PackedString family) +{ + return ({ QByteArray ta1e1bf = static_cast(ptr)->styles(QString::fromUtf8(family.data, family.len)).join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(ta1e1bf.prepend("WHITESPACE").constData()+10), ta1e1bf.size()-10 }; }); +} + +void* QFontDatabase_QFontDatabase_SystemFont(long long ty) +{ + return new QFont(QFontDatabase::systemFont(static_cast(ty))); +} + +int QFontDatabase_Weight(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style) +{ + return static_cast(ptr)->weight(QString::fromUtf8(family.data, family.len), QString::fromUtf8(style.data, style.len)); +} + +int QFontDatabase___pointSizes_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QFontDatabase___pointSizes_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QFontDatabase___pointSizes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QFontDatabase___smoothSizes_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QFontDatabase___smoothSizes_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QFontDatabase___smoothSizes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QFontDatabase___standardSizes_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QFontDatabase___standardSizes_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QFontDatabase___standardSizes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QFontInfo_NewQFontInfo(void* font) +{ + return new QFontInfo(*static_cast(font)); +} + +void* QFontInfo_NewQFontInfo2(void* fi) +{ + return new QFontInfo(*static_cast(fi)); +} + +char QFontInfo_Bold(void* ptr) +{ + return static_cast(ptr)->bold(); +} + +char QFontInfo_ExactMatch(void* ptr) +{ + return static_cast(ptr)->exactMatch(); +} + +struct QtGui_PackedString QFontInfo_Family(void* ptr) +{ + return ({ QByteArray t7b458f = static_cast(ptr)->family().toUtf8(); QtGui_PackedString { const_cast(t7b458f.prepend("WHITESPACE").constData()+10), t7b458f.size()-10 }; }); +} + +char QFontInfo_FixedPitch(void* ptr) +{ + return static_cast(ptr)->fixedPitch(); +} + +char QFontInfo_Italic(void* ptr) +{ + return static_cast(ptr)->italic(); +} + +int QFontInfo_PixelSize(void* ptr) +{ + return static_cast(ptr)->pixelSize(); +} + +int QFontInfo_PointSize(void* ptr) +{ + return static_cast(ptr)->pointSize(); +} + +double QFontInfo_PointSizeF(void* ptr) +{ + return static_cast(ptr)->pointSizeF(); +} + +long long QFontInfo_Style(void* ptr) +{ + return static_cast(ptr)->style(); +} + +long long QFontInfo_StyleHint(void* ptr) +{ + return static_cast(ptr)->styleHint(); +} + +struct QtGui_PackedString QFontInfo_StyleName(void* ptr) +{ + return ({ QByteArray t231b30 = static_cast(ptr)->styleName().toUtf8(); QtGui_PackedString { const_cast(t231b30.prepend("WHITESPACE").constData()+10), t231b30.size()-10 }; }); +} + +void QFontInfo_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +int QFontInfo_Weight(void* ptr) +{ + return static_cast(ptr)->weight(); +} + +void QFontInfo_DestroyQFontInfo(void* ptr) +{ + static_cast(ptr)->~QFontInfo(); +} + +void* QFontMetrics_NewQFontMetrics(void* font) +{ + return new QFontMetrics(*static_cast(font)); +} + +void* QFontMetrics_NewQFontMetrics3(void* font, void* paintdevice) +{ + if (dynamic_cast(static_cast(paintdevice))) { + return new QFontMetrics(*static_cast(font), static_cast(paintdevice)); + } else if (dynamic_cast(static_cast(paintdevice))) { + return new QFontMetrics(*static_cast(font), static_cast(paintdevice)); + } else if (dynamic_cast(static_cast(paintdevice))) { + return new QFontMetrics(*static_cast(font), static_cast(paintdevice)); + } else { + return new QFontMetrics(*static_cast(font), static_cast(paintdevice)); + } +} + +void* QFontMetrics_NewQFontMetrics4(void* fm) +{ + return new QFontMetrics(*static_cast(fm)); +} + +int QFontMetrics_Ascent(void* ptr) +{ + return static_cast(ptr)->ascent(); +} + +int QFontMetrics_AverageCharWidth(void* ptr) +{ + return static_cast(ptr)->averageCharWidth(); +} + +void* QFontMetrics_BoundingRect(void* ptr, void* ch) +{ + return ({ QRect tmpValue = static_cast(ptr)->boundingRect(*static_cast(ch)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QFontMetrics_BoundingRect2(void* ptr, struct QtGui_PackedString text) +{ + return ({ QRect tmpValue = static_cast(ptr)->boundingRect(QString::fromUtf8(text.data, text.len)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QFontMetrics_BoundingRect3(void* ptr, void* rect, int flags, struct QtGui_PackedString text, int tabStops, int tabArray) +{ + return ({ QRect tmpValue = static_cast(ptr)->boundingRect(*static_cast(rect), flags, QString::fromUtf8(text.data, text.len), tabStops, &tabArray); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QFontMetrics_BoundingRect4(void* ptr, int x, int y, int width, int height, int flags, struct QtGui_PackedString text, int tabStops, int tabArray) +{ + return ({ QRect tmpValue = static_cast(ptr)->boundingRect(x, y, width, height, flags, QString::fromUtf8(text.data, text.len), tabStops, &tabArray); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +int QFontMetrics_CapHeight(void* ptr) +{ + return static_cast(ptr)->capHeight(); +} + +int QFontMetrics_Descent(void* ptr) +{ + return static_cast(ptr)->descent(); +} + +struct QtGui_PackedString QFontMetrics_ElidedText(void* ptr, struct QtGui_PackedString text, long long mode, int width, int flags) +{ + return ({ QByteArray tff5810 = static_cast(ptr)->elidedText(QString::fromUtf8(text.data, text.len), static_cast(mode), width, flags).toUtf8(); QtGui_PackedString { const_cast(tff5810.prepend("WHITESPACE").constData()+10), tff5810.size()-10 }; }); +} + +int QFontMetrics_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +int QFontMetrics_HorizontalAdvance(void* ptr, struct QtGui_PackedString text, int l) +{ + return static_cast(ptr)->horizontalAdvance(QString::fromUtf8(text.data, text.len), l); +} + +int QFontMetrics_HorizontalAdvance2(void* ptr, void* ch) +{ + return static_cast(ptr)->horizontalAdvance(*static_cast(ch)); +} + +char QFontMetrics_InFont(void* ptr, void* ch) +{ + return static_cast(ptr)->inFont(*static_cast(ch)); +} + +char QFontMetrics_InFontUcs4(void* ptr, unsigned int ucs4) +{ + return static_cast(ptr)->inFontUcs4(ucs4); +} + +int QFontMetrics_Leading(void* ptr) +{ + return static_cast(ptr)->leading(); +} + +int QFontMetrics_LeftBearing(void* ptr, void* ch) +{ + return static_cast(ptr)->leftBearing(*static_cast(ch)); +} + +int QFontMetrics_LineSpacing(void* ptr) +{ + return static_cast(ptr)->lineSpacing(); +} + +int QFontMetrics_LineWidth(void* ptr) +{ + return static_cast(ptr)->lineWidth(); +} + +int QFontMetrics_MaxWidth(void* ptr) +{ + return static_cast(ptr)->maxWidth(); +} + +int QFontMetrics_MinLeftBearing(void* ptr) +{ + return static_cast(ptr)->minLeftBearing(); +} + +int QFontMetrics_MinRightBearing(void* ptr) +{ + return static_cast(ptr)->minRightBearing(); +} + +int QFontMetrics_OverlinePos(void* ptr) +{ + return static_cast(ptr)->overlinePos(); +} + +int QFontMetrics_RightBearing(void* ptr, void* ch) +{ + return static_cast(ptr)->rightBearing(*static_cast(ch)); +} + +void* QFontMetrics_Size(void* ptr, int flags, struct QtGui_PackedString text, int tabStops, int tabArray) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(flags, QString::fromUtf8(text.data, text.len), tabStops, &tabArray); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +int QFontMetrics_StrikeOutPos(void* ptr) +{ + return static_cast(ptr)->strikeOutPos(); +} + +void QFontMetrics_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QFontMetrics_TightBoundingRect(void* ptr, struct QtGui_PackedString text) +{ + return ({ QRect tmpValue = static_cast(ptr)->tightBoundingRect(QString::fromUtf8(text.data, text.len)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +int QFontMetrics_UnderlinePos(void* ptr) +{ + return static_cast(ptr)->underlinePos(); +} + +int QFontMetrics_XHeight(void* ptr) +{ + return static_cast(ptr)->xHeight(); +} + +void QFontMetrics_DestroyQFontMetrics(void* ptr) +{ + static_cast(ptr)->~QFontMetrics(); +} + +void* QFontMetricsF_NewQFontMetricsF(void* font) +{ + return new QFontMetricsF(*static_cast(font)); +} + +void* QFontMetricsF_NewQFontMetricsF3(void* font, void* paintdevice) +{ + if (dynamic_cast(static_cast(paintdevice))) { + return new QFontMetricsF(*static_cast(font), static_cast(paintdevice)); + } else if (dynamic_cast(static_cast(paintdevice))) { + return new QFontMetricsF(*static_cast(font), static_cast(paintdevice)); + } else if (dynamic_cast(static_cast(paintdevice))) { + return new QFontMetricsF(*static_cast(font), static_cast(paintdevice)); + } else { + return new QFontMetricsF(*static_cast(font), static_cast(paintdevice)); + } +} + +void* QFontMetricsF_NewQFontMetricsF4(void* fontMetrics) +{ + return new QFontMetricsF(*static_cast(fontMetrics)); +} + +void* QFontMetricsF_NewQFontMetricsF5(void* fm) +{ + return new QFontMetricsF(*static_cast(fm)); +} + +double QFontMetricsF_Ascent(void* ptr) +{ + return static_cast(ptr)->ascent(); +} + +double QFontMetricsF_AverageCharWidth(void* ptr) +{ + return static_cast(ptr)->averageCharWidth(); +} + +void* QFontMetricsF_BoundingRect(void* ptr, struct QtGui_PackedString text) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(QString::fromUtf8(text.data, text.len)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QFontMetricsF_BoundingRect2(void* ptr, void* ch) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(*static_cast(ch)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QFontMetricsF_BoundingRect3(void* ptr, void* rect, int flags, struct QtGui_PackedString text, int tabStops, int tabArray) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(*static_cast(rect), flags, QString::fromUtf8(text.data, text.len), tabStops, &tabArray); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +double QFontMetricsF_CapHeight(void* ptr) +{ + return static_cast(ptr)->capHeight(); +} + +double QFontMetricsF_Descent(void* ptr) +{ + return static_cast(ptr)->descent(); +} + +struct QtGui_PackedString QFontMetricsF_ElidedText(void* ptr, struct QtGui_PackedString text, long long mode, double width, int flags) +{ + return ({ QByteArray teb7a10 = static_cast(ptr)->elidedText(QString::fromUtf8(text.data, text.len), static_cast(mode), width, flags).toUtf8(); QtGui_PackedString { const_cast(teb7a10.prepend("WHITESPACE").constData()+10), teb7a10.size()-10 }; }); +} + +double QFontMetricsF_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +double QFontMetricsF_HorizontalAdvance(void* ptr, struct QtGui_PackedString text, int length) +{ + return static_cast(ptr)->horizontalAdvance(QString::fromUtf8(text.data, text.len), length); +} + +double QFontMetricsF_HorizontalAdvance2(void* ptr, void* ch) +{ + return static_cast(ptr)->horizontalAdvance(*static_cast(ch)); +} + +char QFontMetricsF_InFont(void* ptr, void* ch) +{ + return static_cast(ptr)->inFont(*static_cast(ch)); +} + +char QFontMetricsF_InFontUcs4(void* ptr, unsigned int ch) +{ + return static_cast(ptr)->inFontUcs4(ch); +} + +double QFontMetricsF_Leading(void* ptr) +{ + return static_cast(ptr)->leading(); +} + +double QFontMetricsF_LeftBearing(void* ptr, void* ch) +{ + return static_cast(ptr)->leftBearing(*static_cast(ch)); +} + +double QFontMetricsF_LineSpacing(void* ptr) +{ + return static_cast(ptr)->lineSpacing(); +} + +double QFontMetricsF_LineWidth(void* ptr) +{ + return static_cast(ptr)->lineWidth(); +} + +double QFontMetricsF_MaxWidth(void* ptr) +{ + return static_cast(ptr)->maxWidth(); +} + +double QFontMetricsF_MinLeftBearing(void* ptr) +{ + return static_cast(ptr)->minLeftBearing(); +} + +double QFontMetricsF_MinRightBearing(void* ptr) +{ + return static_cast(ptr)->minRightBearing(); +} + +double QFontMetricsF_OverlinePos(void* ptr) +{ + return static_cast(ptr)->overlinePos(); +} + +double QFontMetricsF_RightBearing(void* ptr, void* ch) +{ + return static_cast(ptr)->rightBearing(*static_cast(ch)); +} + +void* QFontMetricsF_Size(void* ptr, int flags, struct QtGui_PackedString text, int tabStops, int tabArray) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->size(flags, QString::fromUtf8(text.data, text.len), tabStops, &tabArray); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +double QFontMetricsF_StrikeOutPos(void* ptr) +{ + return static_cast(ptr)->strikeOutPos(); +} + +void QFontMetricsF_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QFontMetricsF_TightBoundingRect(void* ptr, struct QtGui_PackedString text) +{ + return ({ QRectF tmpValue = static_cast(ptr)->tightBoundingRect(QString::fromUtf8(text.data, text.len)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +double QFontMetricsF_UnderlinePos(void* ptr) +{ + return static_cast(ptr)->underlinePos(); +} + +double QFontMetricsF_XHeight(void* ptr) +{ + return static_cast(ptr)->xHeight(); +} + +void QFontMetricsF_DestroyQFontMetricsF(void* ptr) +{ + static_cast(ptr)->~QFontMetricsF(); +} + +class MyQGenericPlugin: public QGenericPlugin +{ +public: + MyQGenericPlugin(QObject *parent = Q_NULLPTR) : QGenericPlugin(parent) {QGenericPlugin_QGenericPlugin_QRegisterMetaType();}; + QObject * create(const QString & key, const QString & specification) { QByteArray ta62f22 = key.toUtf8(); QtGui_PackedString keyPacked = { const_cast(ta62f22.prepend("WHITESPACE").constData()+10), ta62f22.size()-10 };QByteArray t03d6a1 = specification.toUtf8(); QtGui_PackedString specificationPacked = { const_cast(t03d6a1.prepend("WHITESPACE").constData()+10), t03d6a1.size()-10 };return static_cast(callbackQGenericPlugin_Create(this, keyPacked, specificationPacked)); }; + ~MyQGenericPlugin() { callbackQGenericPlugin_DestroyQGenericPlugin(this); }; + void childEvent(QChildEvent * event) { callbackQGenericPlugin_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQGenericPlugin_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQGenericPlugin_CustomEvent(this, event); }; + void deleteLater() { callbackQGenericPlugin_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQGenericPlugin_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQGenericPlugin_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQGenericPlugin_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQGenericPlugin_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQGenericPlugin_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQGenericPlugin_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQGenericPlugin_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQGenericPlugin*) + +int QGenericPlugin_QGenericPlugin_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QGenericPlugin_NewQGenericPlugin(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQGenericPlugin(static_cast(parent)); + } else { + return new MyQGenericPlugin(static_cast(parent)); + } +} + +void* QGenericPlugin_Create(void* ptr, struct QtGui_PackedString key, struct QtGui_PackedString specification) +{ + return static_cast(ptr)->create(QString::fromUtf8(key.data, key.len), QString::fromUtf8(specification.data, specification.len)); +} + +void QGenericPlugin_DestroyQGenericPlugin(void* ptr) +{ + static_cast(ptr)->~QGenericPlugin(); +} + +void QGenericPlugin_DestroyQGenericPluginDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QGenericPlugin___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QGenericPlugin___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QGenericPlugin___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QGenericPlugin___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QGenericPlugin___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QGenericPlugin___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QGenericPlugin___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QGenericPlugin___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QGenericPlugin___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QGenericPlugin___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QGenericPlugin___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QGenericPlugin___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QGenericPlugin___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QGenericPlugin___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QGenericPlugin___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QGenericPlugin_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QGenericPlugin::childEvent(static_cast(event)); +} + +void QGenericPlugin_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QGenericPlugin::connectNotify(*static_cast(sign)); +} + +void QGenericPlugin_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QGenericPlugin::customEvent(static_cast(event)); +} + +void QGenericPlugin_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QGenericPlugin::deleteLater(); +} + +void QGenericPlugin_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QGenericPlugin::disconnectNotify(*static_cast(sign)); +} + +char QGenericPlugin_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QGenericPlugin::event(static_cast(e)); +} + +char QGenericPlugin_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QGenericPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QGenericPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QGenericPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QGenericPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QGenericPlugin::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QGenericPlugin_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QGenericPlugin::metaObject()); +} + +void QGenericPlugin_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QGenericPlugin::timerEvent(static_cast(event)); +} + +void* QGenericPluginFactory_QGenericPluginFactory_Create(struct QtGui_PackedString key, struct QtGui_PackedString specification) +{ + return QGenericPluginFactory::create(QString::fromUtf8(key.data, key.len), QString::fromUtf8(specification.data, specification.len)); +} + +struct QtGui_PackedString QGenericPluginFactory_QGenericPluginFactory_Keys() +{ + return ({ QByteArray t692cb7 = QGenericPluginFactory::keys().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t692cb7.prepend("WHITESPACE").constData()+10), t692cb7.size()-10 }; }); +} + +void* QGlyphRun_NewQGlyphRun() +{ + return new QGlyphRun(); +} + +void* QGlyphRun_NewQGlyphRun2(void* other) +{ + return new QGlyphRun(*static_cast(other)); +} + +void* QGlyphRun_BoundingRect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QGlyphRun_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +long long QGlyphRun_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +struct QtGui_PackedList QGlyphRun_GlyphIndexes(void* ptr) +{ + return ({ QVector* tmpValuec798fb = new QVector(static_cast(ptr)->glyphIndexes()); QtGui_PackedList { tmpValuec798fb, tmpValuec798fb->size() }; }); +} + +char QGlyphRun_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QGlyphRun_IsRightToLeft(void* ptr) +{ + return static_cast(ptr)->isRightToLeft(); +} + +char QGlyphRun_Overline(void* ptr) +{ + return static_cast(ptr)->overline(); +} + +struct QtGui_PackedList QGlyphRun_Positions(void* ptr) +{ + return ({ QVector* tmpValuefabb88 = new QVector(static_cast(ptr)->positions()); QtGui_PackedList { tmpValuefabb88, tmpValuefabb88->size() }; }); +} + +void* QGlyphRun_RawFont(void* ptr) +{ + return new QRawFont(static_cast(ptr)->rawFont()); +} + +void QGlyphRun_SetBoundingRect(void* ptr, void* boundingRect) +{ + static_cast(ptr)->setBoundingRect(*static_cast(boundingRect)); +} + +void QGlyphRun_SetFlag(void* ptr, long long flag, char enabled) +{ + static_cast(ptr)->setFlag(static_cast(flag), enabled != 0); +} + +void QGlyphRun_SetFlags(void* ptr, long long flags) +{ + static_cast(ptr)->setFlags(static_cast(flags)); +} + +void QGlyphRun_SetGlyphIndexes(void* ptr, void* glyphIndexes) +{ + static_cast(ptr)->setGlyphIndexes(*static_cast*>(glyphIndexes)); +} + +void QGlyphRun_SetOverline(void* ptr, char overline) +{ + static_cast(ptr)->setOverline(overline != 0); +} + +void QGlyphRun_SetPositions(void* ptr, void* positions) +{ + static_cast(ptr)->setPositions(*static_cast*>(positions)); +} + +void QGlyphRun_SetRawData(void* ptr, unsigned int glyphIndexArray, void* glyphPositionArray, int size) +{ + static_cast(ptr)->setRawData(const_cast(&glyphIndexArray), static_cast(glyphPositionArray), size); +} + +void QGlyphRun_SetRawFont(void* ptr, void* rawFont) +{ + static_cast(ptr)->setRawFont(*static_cast(rawFont)); +} + +void QGlyphRun_SetRightToLeft(void* ptr, char rightToLeft) +{ + static_cast(ptr)->setRightToLeft(rightToLeft != 0); +} + +void QGlyphRun_SetStrikeOut(void* ptr, char strikeOut) +{ + static_cast(ptr)->setStrikeOut(strikeOut != 0); +} + +void QGlyphRun_SetUnderline(void* ptr, char underline) +{ + static_cast(ptr)->setUnderline(underline != 0); +} + +char QGlyphRun_StrikeOut(void* ptr) +{ + return static_cast(ptr)->strikeOut(); +} + +void QGlyphRun_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +char QGlyphRun_Underline(void* ptr) +{ + return static_cast(ptr)->underline(); +} + +void QGlyphRun_DestroyQGlyphRun(void* ptr) +{ + static_cast(ptr)->~QGlyphRun(); +} + +unsigned int QGlyphRun___glyphIndexes_atList(void* ptr, int i) +{ + return ({quint32 tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QGlyphRun___glyphIndexes_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QGlyphRun___glyphIndexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QGlyphRun___positions_atList(void* ptr, int i) +{ + return ({ QPointF tmpValue = ({QPointF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QGlyphRun___positions_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QGlyphRun___positions_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QGlyphRun___setGlyphIndexes_glyphIndexes_atList(void* ptr, int i) +{ + return ({quint32 tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QGlyphRun___setGlyphIndexes_glyphIndexes_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QGlyphRun___setGlyphIndexes_glyphIndexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QGlyphRun___setPositions_positions_atList(void* ptr, int i) +{ + return ({ QPointF tmpValue = ({QPointF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QGlyphRun___setPositions_positions_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QGlyphRun___setPositions_positions_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QGradient_NewQGradient2(long long preset) +{ + return new QGradient(static_cast(preset)); +} + +long long QGradient_CoordinateMode(void* ptr) +{ + return static_cast(ptr)->coordinateMode(); +} + +void QGradient_SetColorAt(void* ptr, double position, void* color) +{ + static_cast(ptr)->setColorAt(position, *static_cast(color)); +} + +void QGradient_SetCoordinateMode(void* ptr, long long mode) +{ + static_cast(ptr)->setCoordinateMode(static_cast(mode)); +} + +void QGradient_SetSpread(void* ptr, long long method) +{ + static_cast(ptr)->setSpread(static_cast(method)); +} + +long long QGradient_Spread(void* ptr) +{ + return static_cast(ptr)->spread(); +} + +long long QGradient_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +class MyQGuiApplication: public QGuiApplication +{ +public: + MyQGuiApplication(int &argc, char **argv) : QGuiApplication(argc, argv) {QGuiApplication_QGuiApplication_QRegisterMetaType();}; + void Signal_ApplicationDisplayNameChanged() { callbackQGuiApplication_ApplicationDisplayNameChanged(this); }; + void Signal_ApplicationStateChanged(Qt::ApplicationState state) { callbackQGuiApplication_ApplicationStateChanged(this, state); }; + void Signal_CommitDataRequest(QSessionManager & manager) { callbackQGuiApplication_CommitDataRequest(this, static_cast(&manager)); }; + bool event(QEvent * e) { return callbackQGuiApplication_Event(this, e) != 0; }; + void Signal_FocusObjectChanged(QObject * focusObject) { callbackQGuiApplication_FocusObjectChanged(this, focusObject); }; + void Signal_FocusWindowChanged(QWindow * focusWindow) { callbackQGuiApplication_FocusWindowChanged(this, focusWindow); }; + void Signal_FontChanged(const QFont & font) { callbackQGuiApplication_FontChanged(this, const_cast(&font)); }; + void Signal_FontDatabaseChanged() { callbackQGuiApplication_FontDatabaseChanged(this); }; + void Signal_LastWindowClosed() { callbackQGuiApplication_LastWindowClosed(this); }; + void Signal_LayoutDirectionChanged(Qt::LayoutDirection direction) { callbackQGuiApplication_LayoutDirectionChanged(this, direction); }; + void Signal_PaletteChanged(const QPalette & palette) { callbackQGuiApplication_PaletteChanged(this, const_cast(&palette)); }; + void Signal_PrimaryScreenChanged(QScreen * screen) { callbackQGuiApplication_PrimaryScreenChanged(this, screen); }; + void Signal_SaveStateRequest(QSessionManager & manager) { callbackQGuiApplication_SaveStateRequest(this, static_cast(&manager)); }; + void Signal_ScreenAdded(QScreen * screen) { callbackQGuiApplication_ScreenAdded(this, screen); }; + void Signal_ScreenRemoved(QScreen * screen) { callbackQGuiApplication_ScreenRemoved(this, screen); }; + ~MyQGuiApplication() { callbackQGuiApplication_DestroyQGuiApplication(this); }; + void Signal_AboutToQuit() { callbackQGuiApplication_AboutToQuit(this); }; + void Signal_ApplicationNameChanged() { callbackQGuiApplication_ApplicationNameChanged(this); }; + void Signal_ApplicationVersionChanged() { callbackQGuiApplication_ApplicationVersionChanged(this); }; + void Signal_OrganizationDomainChanged() { callbackQGuiApplication_OrganizationDomainChanged(this); }; + void Signal_OrganizationNameChanged() { callbackQGuiApplication_OrganizationNameChanged(this); }; + void quit() { callbackQGuiApplication_Quit(this); }; + void childEvent(QChildEvent * event) { callbackQGuiApplication_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQGuiApplication_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQGuiApplication_CustomEvent(this, event); }; + void deleteLater() { callbackQGuiApplication_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQGuiApplication_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQGuiApplication_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQGuiApplication_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQGuiApplication_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQGuiApplication_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQGuiApplication_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQGuiApplication*) + +int QGuiApplication_QGuiApplication_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QGuiApplication_NewQGuiApplication(int argc, char* argv) +{ + static int argcs = argc; + static char** argvs = static_cast(malloc(argcs * sizeof(char*))); + + QList aList = QByteArray(argv).split('|'); + for (int i = 0; i < argcs; i++) + argvs[i] = (new QByteArray(aList.at(i)))->data(); + + return new MyQGuiApplication(argcs, argvs); +} + +struct QtGui_PackedString QGuiApplication_QGuiApplication_ApplicationDisplayName() +{ + return ({ QByteArray tb2b492 = QGuiApplication::applicationDisplayName().toUtf8(); QtGui_PackedString { const_cast(tb2b492.prepend("WHITESPACE").constData()+10), tb2b492.size()-10 }; }); +} + +void QGuiApplication_ConnectApplicationDisplayNameChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::applicationDisplayNameChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_ApplicationDisplayNameChanged), static_cast(t)); +} + +void QGuiApplication_DisconnectApplicationDisplayNameChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::applicationDisplayNameChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_ApplicationDisplayNameChanged)); +} + +void QGuiApplication_ApplicationDisplayNameChanged(void* ptr) +{ + static_cast(ptr)->applicationDisplayNameChanged(); +} + +long long QGuiApplication_QGuiApplication_ApplicationState() +{ + return QGuiApplication::applicationState(); +} + +void QGuiApplication_ConnectApplicationStateChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::applicationStateChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_ApplicationStateChanged), static_cast(t)); +} + +void QGuiApplication_DisconnectApplicationStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::applicationStateChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_ApplicationStateChanged)); +} + +void QGuiApplication_ApplicationStateChanged(void* ptr, long long state) +{ + static_cast(ptr)->applicationStateChanged(static_cast(state)); +} + +void QGuiApplication_QGuiApplication_ChangeOverrideCursor(void* cursor) +{ + QGuiApplication::changeOverrideCursor(*static_cast(cursor)); +} + +void* QGuiApplication_QGuiApplication_Clipboard() +{ + return QGuiApplication::clipboard(); +} + +void QGuiApplication_ConnectCommitDataRequest(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::commitDataRequest), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_CommitDataRequest), static_cast(t)); +} + +void QGuiApplication_DisconnectCommitDataRequest(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::commitDataRequest), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_CommitDataRequest)); +} + +void QGuiApplication_CommitDataRequest(void* ptr, void* manager) +{ + static_cast(ptr)->commitDataRequest(*static_cast(manager)); +} + +struct QtGui_PackedString QGuiApplication_QGuiApplication_DesktopFileName() +{ + return ({ QByteArray t174649 = QGuiApplication::desktopFileName().toUtf8(); QtGui_PackedString { const_cast(t174649.prepend("WHITESPACE").constData()+10), t174649.size()-10 }; }); +} + +char QGuiApplication_QGuiApplication_DesktopSettingsAware() +{ + return QGuiApplication::desktopSettingsAware(); +} + +double QGuiApplication_DevicePixelRatio(void* ptr) +{ + return static_cast(ptr)->devicePixelRatio(); +} + +char QGuiApplication_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QGuiApplication::event(static_cast(e)); +} + +int QGuiApplication_QGuiApplication_Exec() +{ + return QGuiApplication::exec(); +} + +void* QGuiApplication_QGuiApplication_FocusObject() +{ + return QGuiApplication::focusObject(); +} + +void QGuiApplication_ConnectFocusObjectChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::focusObjectChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_FocusObjectChanged), static_cast(t)); +} + +void QGuiApplication_DisconnectFocusObjectChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::focusObjectChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_FocusObjectChanged)); +} + +void QGuiApplication_FocusObjectChanged(void* ptr, void* focusObject) +{ + if (dynamic_cast(static_cast(focusObject))) { + static_cast(ptr)->focusObjectChanged(static_cast(focusObject)); + } else if (dynamic_cast(static_cast(focusObject))) { + static_cast(ptr)->focusObjectChanged(static_cast(focusObject)); + } else if (dynamic_cast(static_cast(focusObject))) { + static_cast(ptr)->focusObjectChanged(static_cast(focusObject)); + } else if (dynamic_cast(static_cast(focusObject))) { + static_cast(ptr)->focusObjectChanged(static_cast(focusObject)); + } else { + static_cast(ptr)->focusObjectChanged(static_cast(focusObject)); + } +} + +void* QGuiApplication_QGuiApplication_FocusWindow() +{ + return QGuiApplication::focusWindow(); +} + +void QGuiApplication_ConnectFocusWindowChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::focusWindowChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_FocusWindowChanged), static_cast(t)); +} + +void QGuiApplication_DisconnectFocusWindowChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::focusWindowChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_FocusWindowChanged)); +} + +void QGuiApplication_FocusWindowChanged(void* ptr, void* focusWindow) +{ + if (dynamic_cast(static_cast(focusWindow))) { + static_cast(ptr)->focusWindowChanged(static_cast(focusWindow)); + } else { + static_cast(ptr)->focusWindowChanged(static_cast(focusWindow)); + } +} + +void* QGuiApplication_QGuiApplication_Font() +{ + return new QFont(QGuiApplication::font()); +} + +void QGuiApplication_ConnectFontChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::fontChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_FontChanged), static_cast(t)); +} + +void QGuiApplication_DisconnectFontChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::fontChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_FontChanged)); +} + +void QGuiApplication_FontChanged(void* ptr, void* font) +{ + static_cast(ptr)->fontChanged(*static_cast(font)); +} + +void QGuiApplication_ConnectFontDatabaseChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::fontDatabaseChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_FontDatabaseChanged), static_cast(t)); +} + +void QGuiApplication_DisconnectFontDatabaseChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::fontDatabaseChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_FontDatabaseChanged)); +} + +void QGuiApplication_FontDatabaseChanged(void* ptr) +{ + static_cast(ptr)->fontDatabaseChanged(); +} + +void* QGuiApplication_QGuiApplication_InputMethod() +{ + return QGuiApplication::inputMethod(); +} + +char QGuiApplication_QGuiApplication_IsFallbackSessionManagementEnabled() +{ + return QGuiApplication::isFallbackSessionManagementEnabled(); +} + +char QGuiApplication_QGuiApplication_IsLeftToRight() +{ + return QGuiApplication::isLeftToRight(); +} + +char QGuiApplication_QGuiApplication_IsRightToLeft() +{ + return QGuiApplication::isRightToLeft(); +} + +char QGuiApplication_IsSavingSession(void* ptr) +{ + return static_cast(ptr)->isSavingSession(); +} + +char QGuiApplication_IsSessionRestored(void* ptr) +{ + return static_cast(ptr)->isSessionRestored(); +} + +long long QGuiApplication_QGuiApplication_KeyboardModifiers() +{ + return QGuiApplication::keyboardModifiers(); +} + +void QGuiApplication_ConnectLastWindowClosed(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::lastWindowClosed), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_LastWindowClosed), static_cast(t)); +} + +void QGuiApplication_DisconnectLastWindowClosed(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::lastWindowClosed), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_LastWindowClosed)); +} + +void QGuiApplication_LastWindowClosed(void* ptr) +{ + static_cast(ptr)->lastWindowClosed(); +} + +long long QGuiApplication_QGuiApplication_LayoutDirection() +{ + return QGuiApplication::layoutDirection(); +} + +void QGuiApplication_ConnectLayoutDirectionChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::layoutDirectionChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_LayoutDirectionChanged), static_cast(t)); +} + +void QGuiApplication_DisconnectLayoutDirectionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::layoutDirectionChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_LayoutDirectionChanged)); +} + +void QGuiApplication_LayoutDirectionChanged(void* ptr, long long direction) +{ + static_cast(ptr)->layoutDirectionChanged(static_cast(direction)); +} + +void* QGuiApplication_QGuiApplication_ModalWindow() +{ + return QGuiApplication::modalWindow(); +} + +long long QGuiApplication_QGuiApplication_MouseButtons() +{ + return QGuiApplication::mouseButtons(); +} + +void* QGuiApplication_QGuiApplication_OverrideCursor() +{ + return QGuiApplication::overrideCursor(); +} + +void* QGuiApplication_QGuiApplication_Palette() +{ + return new QPalette(QGuiApplication::palette()); +} + +void QGuiApplication_ConnectPaletteChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::paletteChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_PaletteChanged), static_cast(t)); +} + +void QGuiApplication_DisconnectPaletteChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::paletteChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_PaletteChanged)); +} + +void QGuiApplication_PaletteChanged(void* ptr, void* palette) +{ + static_cast(ptr)->paletteChanged(*static_cast(palette)); +} + +struct QtGui_PackedString QGuiApplication_QGuiApplication_PlatformName() +{ + return ({ QByteArray t498934 = QGuiApplication::platformName().toUtf8(); QtGui_PackedString { const_cast(t498934.prepend("WHITESPACE").constData()+10), t498934.size()-10 }; }); +} + +void* QGuiApplication_QGuiApplication_PrimaryScreen() +{ + return QGuiApplication::primaryScreen(); +} + +void QGuiApplication_ConnectPrimaryScreenChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::primaryScreenChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_PrimaryScreenChanged), static_cast(t)); +} + +void QGuiApplication_DisconnectPrimaryScreenChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::primaryScreenChanged), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_PrimaryScreenChanged)); +} + +void QGuiApplication_PrimaryScreenChanged(void* ptr, void* screen) +{ + static_cast(ptr)->primaryScreenChanged(static_cast(screen)); +} + +long long QGuiApplication_QGuiApplication_QueryKeyboardModifiers() +{ + return QGuiApplication::queryKeyboardModifiers(); +} + +char QGuiApplication_QGuiApplication_QuitOnLastWindowClosed() +{ + return QGuiApplication::quitOnLastWindowClosed(); +} + +void QGuiApplication_QGuiApplication_RestoreOverrideCursor() +{ + QGuiApplication::restoreOverrideCursor(); +} + +void QGuiApplication_ConnectSaveStateRequest(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::saveStateRequest), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_SaveStateRequest), static_cast(t)); +} + +void QGuiApplication_DisconnectSaveStateRequest(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::saveStateRequest), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_SaveStateRequest)); +} + +void QGuiApplication_SaveStateRequest(void* ptr, void* manager) +{ + static_cast(ptr)->saveStateRequest(*static_cast(manager)); +} + +void QGuiApplication_ConnectScreenAdded(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::screenAdded), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_ScreenAdded), static_cast(t)); +} + +void QGuiApplication_DisconnectScreenAdded(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::screenAdded), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_ScreenAdded)); +} + +void QGuiApplication_ScreenAdded(void* ptr, void* screen) +{ + static_cast(ptr)->screenAdded(static_cast(screen)); +} + +void* QGuiApplication_QGuiApplication_ScreenAt(void* point) +{ + return QGuiApplication::screenAt(*static_cast(point)); +} + +void QGuiApplication_ConnectScreenRemoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QGuiApplication::screenRemoved), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_ScreenRemoved), static_cast(t)); +} + +void QGuiApplication_DisconnectScreenRemoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QGuiApplication::screenRemoved), static_cast(ptr), static_cast(&MyQGuiApplication::Signal_ScreenRemoved)); +} + +void QGuiApplication_ScreenRemoved(void* ptr, void* screen) +{ + static_cast(ptr)->screenRemoved(static_cast(screen)); +} + +struct QtGui_PackedList QGuiApplication_QGuiApplication_Screens() +{ + return ({ QList* tmpValuea63f6f = new QList(QGuiApplication::screens()); QtGui_PackedList { tmpValuea63f6f, tmpValuea63f6f->size() }; }); +} + +struct QtGui_PackedString QGuiApplication_SessionId(void* ptr) +{ + return ({ QByteArray td2baef = static_cast(ptr)->sessionId().toUtf8(); QtGui_PackedString { const_cast(td2baef.prepend("WHITESPACE").constData()+10), td2baef.size()-10 }; }); +} + +struct QtGui_PackedString QGuiApplication_SessionKey(void* ptr) +{ + return ({ QByteArray t076332 = static_cast(ptr)->sessionKey().toUtf8(); QtGui_PackedString { const_cast(t076332.prepend("WHITESPACE").constData()+10), t076332.size()-10 }; }); +} + +void QGuiApplication_QGuiApplication_SetApplicationDisplayName(struct QtGui_PackedString name) +{ + QGuiApplication::setApplicationDisplayName(QString::fromUtf8(name.data, name.len)); +} + +void QGuiApplication_QGuiApplication_SetDesktopFileName(struct QtGui_PackedString name) +{ + QGuiApplication::setDesktopFileName(QString::fromUtf8(name.data, name.len)); +} + +void QGuiApplication_QGuiApplication_SetDesktopSettingsAware(char on) +{ + QGuiApplication::setDesktopSettingsAware(on != 0); +} + +void QGuiApplication_QGuiApplication_SetFallbackSessionManagementEnabled(char enabled) +{ + QGuiApplication::setFallbackSessionManagementEnabled(enabled != 0); +} + +void QGuiApplication_QGuiApplication_SetFont(void* font) +{ + QGuiApplication::setFont(*static_cast(font)); +} + +void QGuiApplication_QGuiApplication_SetLayoutDirection(long long direction) +{ + QGuiApplication::setLayoutDirection(static_cast(direction)); +} + +void QGuiApplication_QGuiApplication_SetOverrideCursor(void* cursor) +{ + QGuiApplication::setOverrideCursor(*static_cast(cursor)); +} + +void QGuiApplication_QGuiApplication_SetPalette(void* pal) +{ + QGuiApplication::setPalette(*static_cast(pal)); +} + +void QGuiApplication_QGuiApplication_SetQuitOnLastWindowClosed(char quit) +{ + QGuiApplication::setQuitOnLastWindowClosed(quit != 0); +} + +void QGuiApplication_QGuiApplication_SetWindowIcon(void* icon) +{ + QGuiApplication::setWindowIcon(*static_cast(icon)); +} + +void* QGuiApplication_QGuiApplication_StyleHints() +{ + return QGuiApplication::styleHints(); +} + +void QGuiApplication_QGuiApplication_Sync() +{ + QGuiApplication::sync(); +} + +void* QGuiApplication_QGuiApplication_TopLevelAt(void* pos) +{ + return QGuiApplication::topLevelAt(*static_cast(pos)); +} + +void* QGuiApplication_QGuiApplication_WindowIcon() +{ + return new QIcon(QGuiApplication::windowIcon()); +} + +void QGuiApplication_DestroyQGuiApplication(void* ptr) +{ + static_cast(ptr)->~QGuiApplication(); +} + +void QGuiApplication_DestroyQGuiApplicationDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QGuiApplication___screens_atList(void* ptr, int i) +{ + return ({QScreen * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QGuiApplication___screens_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QGuiApplication___screens_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QGuiApplication___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QGuiApplication___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QGuiApplication___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QGuiApplication___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QGuiApplication___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QGuiApplication___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QGuiApplication___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QGuiApplication___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QGuiApplication___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QGuiApplication___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QGuiApplication___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QGuiApplication___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QGuiApplication___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QGuiApplication___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QGuiApplication___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QGuiApplication_QuitDefault(void* ptr) +{ + static_cast(ptr)->QGuiApplication::quit(); +} + +void QGuiApplication_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QGuiApplication::childEvent(static_cast(event)); +} + +void QGuiApplication_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QGuiApplication::connectNotify(*static_cast(sign)); +} + +void QGuiApplication_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QGuiApplication::customEvent(static_cast(event)); +} + +void QGuiApplication_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QGuiApplication::deleteLater(); +} + +void QGuiApplication_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QGuiApplication::disconnectNotify(*static_cast(sign)); +} + +char QGuiApplication_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QGuiApplication::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QGuiApplication::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QGuiApplication::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QGuiApplication::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QGuiApplication::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QGuiApplication_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QGuiApplication::metaObject()); +} + +void QGuiApplication_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QGuiApplication::timerEvent(static_cast(event)); +} + +class MyQHelpEvent: public QHelpEvent +{ +public: + MyQHelpEvent(QEvent::Type ty, const QPoint &pos, const QPoint &globalPos) : QHelpEvent(ty, pos, globalPos) {}; +}; + +void* QHelpEvent_NewQHelpEvent(long long ty, void* pos, void* globalPos) +{ + return new MyQHelpEvent(static_cast(ty), *static_cast(pos), *static_cast(globalPos)); +} + +void* QHelpEvent_GlobalPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->globalPos()); +} + +int QHelpEvent_GlobalX(void* ptr) +{ + return static_cast(ptr)->globalX(); +} + +int QHelpEvent_GlobalY(void* ptr) +{ + return static_cast(ptr)->globalY(); +} + +void* QHelpEvent_Pos(void* ptr) +{ + return const_cast(&static_cast(ptr)->pos()); +} + +int QHelpEvent_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +int QHelpEvent_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +class MyQHideEvent: public QHideEvent +{ +public: + MyQHideEvent() : QHideEvent() {}; +}; + +void* QHideEvent_NewQHideEvent() +{ + return new MyQHideEvent(); +} + +class MyQHoverEvent: public QHoverEvent +{ +public: + MyQHoverEvent(QEvent::Type ty, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier) : QHoverEvent(ty, pos, oldPos, modifiers) {}; +}; + +void* QHoverEvent_NewQHoverEvent(long long ty, void* pos, void* oldPos, long long modifiers) +{ + return new MyQHoverEvent(static_cast(ty), *static_cast(pos), *static_cast(oldPos), static_cast(modifiers)); +} + +void* QHoverEvent_OldPos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->oldPos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QHoverEvent_OldPosF(void* ptr) +{ + return const_cast(&static_cast(ptr)->oldPosF()); +} + +void* QHoverEvent_Pos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->pos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QHoverEvent_PosF(void* ptr) +{ + return const_cast(&static_cast(ptr)->posF()); +} + +void* QIcon_NewQIcon() +{ + return new QIcon(); +} + +void* QIcon_NewQIcon2(void* pixmap) +{ + return new QIcon(*static_cast(pixmap)); +} + +void* QIcon_NewQIcon3(void* other) +{ + return new QIcon(*static_cast(other)); +} + +void* QIcon_NewQIcon4(void* other) +{ + return new QIcon(*static_cast(other)); +} + +void* QIcon_NewQIcon5(struct QtGui_PackedString fileName) +{ + return new QIcon(QString::fromUtf8(fileName.data, fileName.len)); +} + +void* QIcon_NewQIcon6(void* engine) +{ + return new QIcon(static_cast(engine)); +} + +void* QIcon_ActualSize(void* ptr, void* size, long long mode, long long state) +{ + return ({ QSize tmpValue = static_cast(ptr)->actualSize(*static_cast(size), static_cast(mode), static_cast(state)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QIcon_ActualSize2(void* ptr, void* window, void* size, long long mode, long long state) +{ + if (dynamic_cast(static_cast(window))) { + return ({ QSize tmpValue = static_cast(ptr)->actualSize(static_cast(window), *static_cast(size), static_cast(mode), static_cast(state)); new QSize(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSize tmpValue = static_cast(ptr)->actualSize(static_cast(window), *static_cast(size), static_cast(mode), static_cast(state)); new QSize(tmpValue.width(), tmpValue.height()); }); + } +} + +void QIcon_AddFile(void* ptr, struct QtGui_PackedString fileName, void* size, long long mode, long long state) +{ + static_cast(ptr)->addFile(QString::fromUtf8(fileName.data, fileName.len), *static_cast(size), static_cast(mode), static_cast(state)); +} + +void QIcon_AddPixmap(void* ptr, void* pixmap, long long mode, long long state) +{ + static_cast(ptr)->addPixmap(*static_cast(pixmap), static_cast(mode), static_cast(state)); +} + +struct QtGui_PackedList QIcon_AvailableSizes(void* ptr, long long mode, long long state) +{ + return ({ QList* tmpValue9573b1 = new QList(static_cast(ptr)->availableSizes(static_cast(mode), static_cast(state))); QtGui_PackedList { tmpValue9573b1, tmpValue9573b1->size() }; }); +} + +long long QIcon_CacheKey(void* ptr) +{ + return static_cast(ptr)->cacheKey(); +} + +struct QtGui_PackedString QIcon_QIcon_FallbackSearchPaths() +{ + return ({ QByteArray t74e953 = QIcon::fallbackSearchPaths().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t74e953.prepend("WHITESPACE").constData()+10), t74e953.size()-10 }; }); +} + +struct QtGui_PackedString QIcon_QIcon_FallbackThemeName() +{ + return ({ QByteArray tbb461c = QIcon::fallbackThemeName().toUtf8(); QtGui_PackedString { const_cast(tbb461c.prepend("WHITESPACE").constData()+10), tbb461c.size()-10 }; }); +} + +void* QIcon_QIcon_FromTheme(struct QtGui_PackedString name) +{ + return new QIcon(QIcon::fromTheme(QString::fromUtf8(name.data, name.len))); +} + +void* QIcon_QIcon_FromTheme2(struct QtGui_PackedString name, void* fallback) +{ + return new QIcon(QIcon::fromTheme(QString::fromUtf8(name.data, name.len), *static_cast(fallback))); +} + +char QIcon_QIcon_HasThemeIcon(struct QtGui_PackedString name) +{ + return QIcon::hasThemeIcon(QString::fromUtf8(name.data, name.len)); +} + +char QIcon_IsMask(void* ptr) +{ + return static_cast(ptr)->isMask(); +} + +char QIcon_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +struct QtGui_PackedString QIcon_Name(void* ptr) +{ + return ({ QByteArray t03700a = static_cast(ptr)->name().toUtf8(); QtGui_PackedString { const_cast(t03700a.prepend("WHITESPACE").constData()+10), t03700a.size()-10 }; }); +} + +void QIcon_Paint(void* ptr, void* painter, void* rect, long long alignment, long long mode, long long state) +{ + static_cast(ptr)->paint(static_cast(painter), *static_cast(rect), static_cast(alignment), static_cast(mode), static_cast(state)); +} + +void QIcon_Paint2(void* ptr, void* painter, int x, int y, int w, int h, long long alignment, long long mode, long long state) +{ + static_cast(ptr)->paint(static_cast(painter), x, y, w, h, static_cast(alignment), static_cast(mode), static_cast(state)); +} + +void* QIcon_Pixmap(void* ptr, void* size, long long mode, long long state) +{ + return new QPixmap(static_cast(ptr)->pixmap(*static_cast(size), static_cast(mode), static_cast(state))); +} + +void* QIcon_Pixmap2(void* ptr, int w, int h, long long mode, long long state) +{ + return new QPixmap(static_cast(ptr)->pixmap(w, h, static_cast(mode), static_cast(state))); +} + +void* QIcon_Pixmap3(void* ptr, int extent, long long mode, long long state) +{ + return new QPixmap(static_cast(ptr)->pixmap(extent, static_cast(mode), static_cast(state))); +} + +void* QIcon_Pixmap4(void* ptr, void* window, void* size, long long mode, long long state) +{ + if (dynamic_cast(static_cast(window))) { + return new QPixmap(static_cast(ptr)->pixmap(static_cast(window), *static_cast(size), static_cast(mode), static_cast(state))); + } else { + return new QPixmap(static_cast(ptr)->pixmap(static_cast(window), *static_cast(size), static_cast(mode), static_cast(state))); + } +} + +void QIcon_QIcon_SetFallbackSearchPaths(struct QtGui_PackedString paths) +{ + QIcon::setFallbackSearchPaths(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QIcon_QIcon_SetFallbackThemeName(struct QtGui_PackedString name) +{ + QIcon::setFallbackThemeName(QString::fromUtf8(name.data, name.len)); +} + +void QIcon_SetIsMask(void* ptr, char isMask) +{ + static_cast(ptr)->setIsMask(isMask != 0); +} + +void QIcon_QIcon_SetThemeName(struct QtGui_PackedString name) +{ + QIcon::setThemeName(QString::fromUtf8(name.data, name.len)); +} + +void QIcon_QIcon_SetThemeSearchPaths(struct QtGui_PackedString paths) +{ + QIcon::setThemeSearchPaths(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QIcon_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtGui_PackedString QIcon_QIcon_ThemeName() +{ + return ({ QByteArray tf4fe63 = QIcon::themeName().toUtf8(); QtGui_PackedString { const_cast(tf4fe63.prepend("WHITESPACE").constData()+10), tf4fe63.size()-10 }; }); +} + +struct QtGui_PackedString QIcon_QIcon_ThemeSearchPaths() +{ + return ({ QByteArray t9c13b7 = QIcon::themeSearchPaths().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t9c13b7.prepend("WHITESPACE").constData()+10), t9c13b7.size()-10 }; }); +} + +void QIcon_DestroyQIcon(void* ptr) +{ + static_cast(ptr)->~QIcon(); +} + +void* QIcon_ToVariant(void* ptr) +{ + return new QVariant(*static_cast(ptr)); +} + +void* QIcon___availableSizes_atList(void* ptr, int i) +{ + return ({ QSize tmpValue = ({QSize tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QIcon___availableSizes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QIcon___availableSizes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQIconDragEvent: public QIconDragEvent +{ +public: + MyQIconDragEvent() : QIconDragEvent() {}; +}; + +void* QIconDragEvent_NewQIconDragEvent() +{ + return new MyQIconDragEvent(); +} + +class MyQIconEngine: public QIconEngine +{ +public: + MyQIconEngine() : QIconEngine() {}; + QSize actualSize(const QSize & size, QIcon::Mode mode, QIcon::State state) { return *static_cast(callbackQIconEngine_ActualSize(this, const_cast(&size), mode, state)); }; + void addFile(const QString & fileName, const QSize & size, QIcon::Mode mode, QIcon::State state) { QByteArray td83e09 = fileName.toUtf8(); QtGui_PackedString fileNamePacked = { const_cast(td83e09.prepend("WHITESPACE").constData()+10), td83e09.size()-10 };callbackQIconEngine_AddFile(this, fileNamePacked, const_cast(&size), mode, state); }; + void addPixmap(const QPixmap & pixmap, QIcon::Mode mode, QIcon::State state) { callbackQIconEngine_AddPixmap(this, const_cast(&pixmap), mode, state); }; + QList availableSizes(QIcon::Mode mode, QIcon::State state) const { return ({ QList* tmpP = static_cast*>(callbackQIconEngine_AvailableSizes(const_cast(static_cast(this)), mode, state)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + QIconEngine * clone() const { return static_cast(callbackQIconEngine_Clone(const_cast(static_cast(this)))); }; + QString iconName() const { return ({ QtGui_PackedString tempVal = callbackQIconEngine_IconName(const_cast(static_cast(this))); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + QString key() const { return ({ QtGui_PackedString tempVal = callbackQIconEngine_Key(const_cast(static_cast(this))); QString ret = QString::fromUtf8(tempVal.data, tempVal.len); free(tempVal.data); ret; }); }; + void paint(QPainter * painter, const QRect & rect, QIcon::Mode mode, QIcon::State state) { callbackQIconEngine_Paint(this, painter, const_cast(&rect), mode, state); }; + QPixmap pixmap(const QSize & size, QIcon::Mode mode, QIcon::State state) { return *static_cast(callbackQIconEngine_Pixmap(this, const_cast(&size), mode, state)); }; + bool read(QDataStream & in) { return callbackQIconEngine_Read(this, static_cast(&in)) != 0; }; + void virtual_hook(int id, void * data) { callbackQIconEngine_Virtual_hook(this, id, data); }; + bool write(QDataStream & out) const { return callbackQIconEngine_Write(const_cast(static_cast(this)), static_cast(&out)) != 0; }; + ~MyQIconEngine() { callbackQIconEngine_DestroyQIconEngine(this); }; +}; + +void* QIconEngine_NewQIconEngine() +{ + return new MyQIconEngine(); +} + +void* QIconEngine_ActualSize(void* ptr, void* size, long long mode, long long state) +{ + return ({ QSize tmpValue = static_cast(ptr)->actualSize(*static_cast(size), static_cast(mode), static_cast(state)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QIconEngine_ActualSizeDefault(void* ptr, void* size, long long mode, long long state) +{ + return ({ QSize tmpValue = static_cast(ptr)->QIconEngine::actualSize(*static_cast(size), static_cast(mode), static_cast(state)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QIconEngine_AddFile(void* ptr, struct QtGui_PackedString fileName, void* size, long long mode, long long state) +{ + static_cast(ptr)->addFile(QString::fromUtf8(fileName.data, fileName.len), *static_cast(size), static_cast(mode), static_cast(state)); +} + +void QIconEngine_AddFileDefault(void* ptr, struct QtGui_PackedString fileName, void* size, long long mode, long long state) +{ + static_cast(ptr)->QIconEngine::addFile(QString::fromUtf8(fileName.data, fileName.len), *static_cast(size), static_cast(mode), static_cast(state)); +} + +void QIconEngine_AddPixmap(void* ptr, void* pixmap, long long mode, long long state) +{ + static_cast(ptr)->addPixmap(*static_cast(pixmap), static_cast(mode), static_cast(state)); +} + +void QIconEngine_AddPixmapDefault(void* ptr, void* pixmap, long long mode, long long state) +{ + static_cast(ptr)->QIconEngine::addPixmap(*static_cast(pixmap), static_cast(mode), static_cast(state)); +} + +struct QtGui_PackedList QIconEngine_AvailableSizes(void* ptr, long long mode, long long state) +{ + return ({ QList* tmpValueeb1d9a = new QList(static_cast(ptr)->availableSizes(static_cast(mode), static_cast(state))); QtGui_PackedList { tmpValueeb1d9a, tmpValueeb1d9a->size() }; }); +} + +struct QtGui_PackedList QIconEngine_AvailableSizesDefault(void* ptr, long long mode, long long state) +{ + return ({ QList* tmpValue16303c = new QList(static_cast(ptr)->QIconEngine::availableSizes(static_cast(mode), static_cast(state))); QtGui_PackedList { tmpValue16303c, tmpValue16303c->size() }; }); +} + +void* QIconEngine_Clone(void* ptr) +{ + return static_cast(ptr)->clone(); +} + +struct QtGui_PackedString QIconEngine_IconName(void* ptr) +{ + return ({ QByteArray te81faa = static_cast(ptr)->iconName().toUtf8(); QtGui_PackedString { const_cast(te81faa.prepend("WHITESPACE").constData()+10), te81faa.size()-10 }; }); +} + +struct QtGui_PackedString QIconEngine_IconNameDefault(void* ptr) +{ + return ({ QByteArray t0024e2 = static_cast(ptr)->QIconEngine::iconName().toUtf8(); QtGui_PackedString { const_cast(t0024e2.prepend("WHITESPACE").constData()+10), t0024e2.size()-10 }; }); +} + +char QIconEngine_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +struct QtGui_PackedString QIconEngine_Key(void* ptr) +{ + return ({ QByteArray tfa2543 = static_cast(ptr)->key().toUtf8(); QtGui_PackedString { const_cast(tfa2543.prepend("WHITESPACE").constData()+10), tfa2543.size()-10 }; }); +} + +struct QtGui_PackedString QIconEngine_KeyDefault(void* ptr) +{ + return ({ QByteArray t9979b6 = static_cast(ptr)->QIconEngine::key().toUtf8(); QtGui_PackedString { const_cast(t9979b6.prepend("WHITESPACE").constData()+10), t9979b6.size()-10 }; }); +} + +void QIconEngine_Paint(void* ptr, void* painter, void* rect, long long mode, long long state) +{ + static_cast(ptr)->paint(static_cast(painter), *static_cast(rect), static_cast(mode), static_cast(state)); +} + +void* QIconEngine_Pixmap(void* ptr, void* size, long long mode, long long state) +{ + return new QPixmap(static_cast(ptr)->pixmap(*static_cast(size), static_cast(mode), static_cast(state))); +} + +void* QIconEngine_PixmapDefault(void* ptr, void* size, long long mode, long long state) +{ + return new QPixmap(static_cast(ptr)->QIconEngine::pixmap(*static_cast(size), static_cast(mode), static_cast(state))); +} + +char QIconEngine_Read(void* ptr, void* in) +{ + return static_cast(ptr)->read(*static_cast(in)); +} + +char QIconEngine_ReadDefault(void* ptr, void* in) +{ + return static_cast(ptr)->QIconEngine::read(*static_cast(in)); +} + +void* QIconEngine_ScaledPixmap(void* ptr, void* size, long long mode, long long state, double scale) +{ + return new QPixmap(static_cast(ptr)->scaledPixmap(*static_cast(size), static_cast(mode), static_cast(state), scale)); +} + +void QIconEngine_Virtual_hook(void* ptr, int id, void* data) +{ + static_cast(ptr)->virtual_hook(id, data); +} + +void QIconEngine_Virtual_hookDefault(void* ptr, int id, void* data) +{ + static_cast(ptr)->QIconEngine::virtual_hook(id, data); +} + +char QIconEngine_Write(void* ptr, void* out) +{ + return static_cast(ptr)->write(*static_cast(out)); +} + +char QIconEngine_WriteDefault(void* ptr, void* out) +{ + return static_cast(ptr)->QIconEngine::write(*static_cast(out)); +} + +void QIconEngine_DestroyQIconEngine(void* ptr) +{ + static_cast(ptr)->~QIconEngine(); +} + +void QIconEngine_DestroyQIconEngineDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QIconEngine___availableSizes_atList(void* ptr, int i) +{ + return ({ QSize tmpValue = ({QSize tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QIconEngine___availableSizes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QIconEngine___availableSizes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQIconEnginePlugin: public QIconEnginePlugin +{ +public: + MyQIconEnginePlugin(QObject *parent = Q_NULLPTR) : QIconEnginePlugin(parent) {QIconEnginePlugin_QIconEnginePlugin_QRegisterMetaType();}; + QIconEngine * create(const QString & filename) { QByteArray t08deae = filename.toUtf8(); QtGui_PackedString filenamePacked = { const_cast(t08deae.prepend("WHITESPACE").constData()+10), t08deae.size()-10 };return static_cast(callbackQIconEnginePlugin_Create(this, filenamePacked)); }; + ~MyQIconEnginePlugin() { callbackQIconEnginePlugin_DestroyQIconEnginePlugin(this); }; + void childEvent(QChildEvent * event) { callbackQIconEnginePlugin_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQIconEnginePlugin_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQIconEnginePlugin_CustomEvent(this, event); }; + void deleteLater() { callbackQIconEnginePlugin_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQIconEnginePlugin_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQIconEnginePlugin_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQIconEnginePlugin_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQIconEnginePlugin_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQIconEnginePlugin_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQIconEnginePlugin_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQIconEnginePlugin_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQIconEnginePlugin*) + +int QIconEnginePlugin_QIconEnginePlugin_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QIconEnginePlugin_NewQIconEnginePlugin(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIconEnginePlugin(static_cast(parent)); + } else { + return new MyQIconEnginePlugin(static_cast(parent)); + } +} + +void* QIconEnginePlugin_Create(void* ptr, struct QtGui_PackedString filename) +{ + return static_cast(ptr)->create(QString::fromUtf8(filename.data, filename.len)); +} + +void QIconEnginePlugin_DestroyQIconEnginePlugin(void* ptr) +{ + static_cast(ptr)->~QIconEnginePlugin(); +} + +void QIconEnginePlugin_DestroyQIconEnginePluginDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QIconEnginePlugin___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QIconEnginePlugin___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QIconEnginePlugin___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QIconEnginePlugin___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QIconEnginePlugin___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QIconEnginePlugin___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QIconEnginePlugin___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QIconEnginePlugin___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QIconEnginePlugin___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QIconEnginePlugin___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QIconEnginePlugin___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QIconEnginePlugin___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QIconEnginePlugin___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QIconEnginePlugin___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QIconEnginePlugin___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QIconEnginePlugin_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QIconEnginePlugin::childEvent(static_cast(event)); +} + +void QIconEnginePlugin_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QIconEnginePlugin::connectNotify(*static_cast(sign)); +} + +void QIconEnginePlugin_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QIconEnginePlugin::customEvent(static_cast(event)); +} + +void QIconEnginePlugin_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QIconEnginePlugin::deleteLater(); +} + +void QIconEnginePlugin_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QIconEnginePlugin::disconnectNotify(*static_cast(sign)); +} + +char QIconEnginePlugin_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QIconEnginePlugin::event(static_cast(e)); +} + +char QIconEnginePlugin_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QIconEnginePlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QIconEnginePlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QIconEnginePlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QIconEnginePlugin::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QIconEnginePlugin::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QIconEnginePlugin_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QIconEnginePlugin::metaObject()); +} + +void QIconEnginePlugin_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QIconEnginePlugin::timerEvent(static_cast(event)); +} + +class MyQImage: public QImage +{ +public: + MyQImage() : QImage() {}; + MyQImage(const QSize &size, QImage::Format format) : QImage(size, format) {}; + MyQImage(int width, int height, QImage::Format format) : QImage(width, height, format) {}; + MyQImage(uchar *data, int width, int height, QImage::Format format) : QImage(data, width, height, format) {}; + MyQImage(const uchar *data, int width, int height, QImage::Format format) : QImage(data, width, height, format) {}; + MyQImage(uchar *data, int width, int height, int bytesPerLine, QImage::Format format) : QImage(data, width, height, bytesPerLine, format) {}; + MyQImage(const uchar *data, int width, int height, int bytesPerLine, QImage::Format format) : QImage(data, width, height, bytesPerLine, format) {}; + MyQImage(const QString &fileName, const char *format = Q_NULLPTR) : QImage(fileName, format) {}; + MyQImage(const QImage &image) : QImage(image) {}; + MyQImage(QImage &&other) : QImage(other) {}; + ~MyQImage() { callbackQImage_DestroyQImage(this); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQImage_PaintEngine(const_cast(static_cast(this)))); }; +}; + +void* QImage_NewQImage() +{ + return new MyQImage(); +} + +void* QImage_NewQImage2(void* size, long long format) +{ + return new MyQImage(*static_cast(size), static_cast(format)); +} + +void* QImage_NewQImage3(int width, int height, long long format) +{ + return new MyQImage(width, height, static_cast(format)); +} + +void* QImage_NewQImage4(char* data, int width, int height, long long format) +{ + return new MyQImage(static_cast(static_cast(data)), width, height, static_cast(format)); +} + +void* QImage_NewQImage5(char* data, int width, int height, long long format) +{ + return new MyQImage(const_cast(static_cast(static_cast(data))), width, height, static_cast(format)); +} + +void* QImage_NewQImage6(char* data, int width, int height, int bytesPerLine, long long format) +{ + return new MyQImage(static_cast(static_cast(data)), width, height, bytesPerLine, static_cast(format)); +} + +void* QImage_NewQImage7(char* data, int width, int height, int bytesPerLine, long long format) +{ + return new MyQImage(const_cast(static_cast(static_cast(data))), width, height, bytesPerLine, static_cast(format)); +} + +void* QImage_NewQImage9(struct QtGui_PackedString fileName, char* format) +{ + return new MyQImage(QString::fromUtf8(fileName.data, fileName.len), const_cast(format)); +} + +void* QImage_NewQImage10(void* image) +{ + return new MyQImage(*static_cast(image)); +} + +void* QImage_NewQImage11(void* other) +{ + return new MyQImage(*static_cast(other)); +} + +char QImage_AllGray(void* ptr) +{ + return static_cast(ptr)->allGray(); +} + +int QImage_BitPlaneCount(void* ptr) +{ + return static_cast(ptr)->bitPlaneCount(); +} + +struct QtGui_PackedString QImage_Bits(void* ptr) +{ + return ({ char* te11021 = static_cast(static_cast(static_cast(ptr)->bits())); QtGui_PackedString { te11021, -1 }; }); +} + +struct QtGui_PackedString QImage_Bits2(void* ptr) +{ + return ({ char* te11021 = static_cast(static_cast(const_cast(static_cast(ptr)->bits()))); QtGui_PackedString { te11021, -1 }; }); +} + +int QImage_BytesPerLine(void* ptr) +{ + return static_cast(ptr)->bytesPerLine(); +} + +long long QImage_CacheKey(void* ptr) +{ + return static_cast(ptr)->cacheKey(); +} + +unsigned int QImage_Color(void* ptr, int i) +{ + return static_cast(ptr)->color(i); +} + +struct QtGui_PackedList QImage_ColorTable(void* ptr) +{ + return ({ QVector* tmpValue37f65e = new QVector(static_cast(ptr)->colorTable()); QtGui_PackedList { tmpValue37f65e, tmpValue37f65e->size() }; }); +} + +struct QtGui_PackedString QImage_ConstBits(void* ptr) +{ + return ({ char* t467df0 = static_cast(static_cast(const_cast(static_cast(ptr)->constBits()))); QtGui_PackedString { t467df0, -1 }; }); +} + +struct QtGui_PackedString QImage_ConstScanLine(void* ptr, int i) +{ + return ({ char* t2457d1 = static_cast(static_cast(const_cast(static_cast(ptr)->constScanLine(i)))); QtGui_PackedString { t2457d1, -1 }; }); +} + +void QImage_ConvertTo(void* ptr, long long format, long long flags) +{ + static_cast(ptr)->convertTo(static_cast(format), static_cast(flags)); +} + +void* QImage_ConvertToFormat(void* ptr, long long format, long long flags) +{ + return new QImage(static_cast(ptr)->convertToFormat(static_cast(format), static_cast(flags))); +} + +void* QImage_ConvertToFormat2(void* ptr, long long format, long long flags) +{ + return new QImage(static_cast(ptr)->convertToFormat(static_cast(format), static_cast(flags))); +} + +void* QImage_ConvertToFormat3(void* ptr, long long format, void* colorTable, long long flags) +{ + return new QImage(static_cast(ptr)->convertToFormat(static_cast(format), *static_cast*>(colorTable), static_cast(flags))); +} + +void* QImage_Copy(void* ptr, void* rectangle) +{ + return new QImage(static_cast(ptr)->copy(*static_cast(rectangle))); +} + +void* QImage_Copy2(void* ptr, int x, int y, int width, int height) +{ + return new QImage(static_cast(ptr)->copy(x, y, width, height)); +} + +void* QImage_CreateAlphaMask(void* ptr, long long flags) +{ + return new QImage(static_cast(ptr)->createAlphaMask(static_cast(flags))); +} + +void* QImage_CreateHeuristicMask(void* ptr, char clipTight) +{ + return new QImage(static_cast(ptr)->createHeuristicMask(clipTight != 0)); +} + +void* QImage_CreateMaskFromColor(void* ptr, unsigned int color, long long mode) +{ + return new QImage(static_cast(ptr)->createMaskFromColor(color, static_cast(mode))); +} + +double QImage_DevicePixelRatio(void* ptr) +{ + return static_cast(ptr)->devicePixelRatio(); +} + +int QImage_DotsPerMeterX(void* ptr) +{ + return static_cast(ptr)->dotsPerMeterX(); +} + +int QImage_DotsPerMeterY(void* ptr) +{ + return static_cast(ptr)->dotsPerMeterY(); +} + +void QImage_Fill(void* ptr, unsigned int pixelValue) +{ + static_cast(ptr)->fill(pixelValue); +} + +void QImage_Fill2(void* ptr, void* color) +{ + static_cast(ptr)->fill(*static_cast(color)); +} + +void QImage_Fill3(void* ptr, long long color) +{ + static_cast(ptr)->fill(static_cast(color)); +} + +long long QImage_Format(void* ptr) +{ + return static_cast(ptr)->format(); +} + +void* QImage_QImage_FromData(char* data, int size, char* format) +{ + return new QImage(QImage::fromData(const_cast(static_cast(static_cast(data))), size, const_cast(format))); +} + +void* QImage_QImage_FromData2(void* data, char* format) +{ + return new QImage(QImage::fromData(*static_cast(data), const_cast(format))); +} + +char QImage_HasAlphaChannel(void* ptr) +{ + return static_cast(ptr)->hasAlphaChannel(); +} + +void QImage_InvertPixels(void* ptr, long long mode) +{ + static_cast(ptr)->invertPixels(static_cast(mode)); +} + +char QImage_IsGrayscale(void* ptr) +{ + return static_cast(ptr)->isGrayscale(); +} + +char QImage_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QImage_Load(void* ptr, struct QtGui_PackedString fileName, char* format) +{ + return static_cast(ptr)->load(QString::fromUtf8(fileName.data, fileName.len), const_cast(format)); +} + +char QImage_Load2(void* ptr, void* device, char* format) +{ + return static_cast(ptr)->load(static_cast(device), const_cast(format)); +} + +char QImage_LoadFromData(void* ptr, char* data, int l, char* format) +{ + return static_cast(ptr)->loadFromData(const_cast(static_cast(static_cast(data))), l, const_cast(format)); +} + +char QImage_LoadFromData2(void* ptr, void* data, char* format) +{ + return static_cast(ptr)->loadFromData(*static_cast(data), const_cast(format)); +} + +void* QImage_Mirrored(void* ptr, char horizontal, char vertical) +{ + return new QImage(static_cast(ptr)->mirrored(horizontal != 0, vertical != 0)); +} + +void* QImage_Mirrored2(void* ptr, char horizontal, char vertical) +{ + return new QImage(static_cast(ptr)->mirrored(horizontal != 0, vertical != 0)); +} + +void* QImage_Offset(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->offset(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +unsigned int QImage_Pixel(void* ptr, void* position) +{ + return static_cast(ptr)->pixel(*static_cast(position)); +} + +unsigned int QImage_Pixel2(void* ptr, int x, int y) +{ + return static_cast(ptr)->pixel(x, y); +} + +void* QImage_PixelColor(void* ptr, void* position) +{ + return new QColor(static_cast(ptr)->pixelColor(*static_cast(position))); +} + +void* QImage_PixelColor2(void* ptr, int x, int y) +{ + return new QColor(static_cast(ptr)->pixelColor(x, y)); +} + +void* QImage_PixelFormat(void* ptr) +{ + return new QPixelFormat(static_cast(ptr)->pixelFormat()); +} + +int QImage_PixelIndex(void* ptr, void* position) +{ + return static_cast(ptr)->pixelIndex(*static_cast(position)); +} + +int QImage_PixelIndex2(void* ptr, int x, int y) +{ + return static_cast(ptr)->pixelIndex(x, y); +} + +void* QImage_Rect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->rect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QImage_ReinterpretAsFormat(void* ptr, long long format) +{ + return static_cast(ptr)->reinterpretAsFormat(static_cast(format)); +} + +void* QImage_RgbSwapped(void* ptr) +{ + return new QImage(static_cast(ptr)->rgbSwapped()); +} + +void* QImage_RgbSwapped2(void* ptr) +{ + return new QImage(static_cast(ptr)->rgbSwapped()); +} + +char QImage_Save(void* ptr, struct QtGui_PackedString fileName, char* format, int quality) +{ + return static_cast(ptr)->save(QString::fromUtf8(fileName.data, fileName.len), const_cast(format), quality); +} + +char QImage_Save2(void* ptr, void* device, char* format, int quality) +{ + return static_cast(ptr)->save(static_cast(device), const_cast(format), quality); +} + +void* QImage_Scaled(void* ptr, void* size, long long aspectRatioMode, long long transformMode) +{ + return new QImage(static_cast(ptr)->scaled(*static_cast(size), static_cast(aspectRatioMode), static_cast(transformMode))); +} + +void* QImage_Scaled2(void* ptr, int width, int height, long long aspectRatioMode, long long transformMode) +{ + return new QImage(static_cast(ptr)->scaled(width, height, static_cast(aspectRatioMode), static_cast(transformMode))); +} + +void* QImage_ScaledToHeight(void* ptr, int height, long long mode) +{ + return new QImage(static_cast(ptr)->scaledToHeight(height, static_cast(mode))); +} + +void* QImage_ScaledToWidth(void* ptr, int width, long long mode) +{ + return new QImage(static_cast(ptr)->scaledToWidth(width, static_cast(mode))); +} + +struct QtGui_PackedString QImage_ScanLine(void* ptr, int i) +{ + return ({ char* t3248e5 = static_cast(static_cast(static_cast(ptr)->scanLine(i))); QtGui_PackedString { t3248e5, -1 }; }); +} + +struct QtGui_PackedString QImage_ScanLine2(void* ptr, int i) +{ + return ({ char* t3248e5 = static_cast(static_cast(const_cast(static_cast(ptr)->scanLine(i)))); QtGui_PackedString { t3248e5, -1 }; }); +} + +void QImage_SetColor(void* ptr, int index, unsigned int colorValue) +{ + static_cast(ptr)->setColor(index, colorValue); +} + +void QImage_SetColorCount(void* ptr, int colorCount) +{ + static_cast(ptr)->setColorCount(colorCount); +} + +void QImage_SetColorTable(void* ptr, void* colors) +{ + static_cast(ptr)->setColorTable(*static_cast*>(colors)); +} + +void QImage_SetDevicePixelRatio(void* ptr, double scaleFactor) +{ + static_cast(ptr)->setDevicePixelRatio(scaleFactor); +} + +void QImage_SetDotsPerMeterX(void* ptr, int x) +{ + static_cast(ptr)->setDotsPerMeterX(x); +} + +void QImage_SetDotsPerMeterY(void* ptr, int y) +{ + static_cast(ptr)->setDotsPerMeterY(y); +} + +void QImage_SetOffset(void* ptr, void* offset) +{ + static_cast(ptr)->setOffset(*static_cast(offset)); +} + +void QImage_SetPixel(void* ptr, void* position, unsigned int index_or_rgb) +{ + static_cast(ptr)->setPixel(*static_cast(position), index_or_rgb); +} + +void QImage_SetPixel2(void* ptr, int x, int y, unsigned int index_or_rgb) +{ + static_cast(ptr)->setPixel(x, y, index_or_rgb); +} + +void QImage_SetPixelColor(void* ptr, void* position, void* color) +{ + static_cast(ptr)->setPixelColor(*static_cast(position), *static_cast(color)); +} + +void QImage_SetPixelColor2(void* ptr, int x, int y, void* color) +{ + static_cast(ptr)->setPixelColor(x, y, *static_cast(color)); +} + +void QImage_SetText(void* ptr, struct QtGui_PackedString key, struct QtGui_PackedString text) +{ + static_cast(ptr)->setText(QString::fromUtf8(key.data, key.len), QString::fromUtf8(text.data, text.len)); +} + +void* QImage_Size(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QImage_SmoothScaled(void* ptr, int w, int h) +{ + return new QImage(static_cast(ptr)->smoothScaled(w, h)); +} + +void QImage_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtGui_PackedString QImage_Text(void* ptr, struct QtGui_PackedString key) +{ + return ({ QByteArray t3cc0e5 = static_cast(ptr)->text(QString::fromUtf8(key.data, key.len)).toUtf8(); QtGui_PackedString { const_cast(t3cc0e5.prepend("WHITESPACE").constData()+10), t3cc0e5.size()-10 }; }); +} + +struct QtGui_PackedString QImage_TextKeys(void* ptr) +{ + return ({ QByteArray t71d2ff = static_cast(ptr)->textKeys().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t71d2ff.prepend("WHITESPACE").constData()+10), t71d2ff.size()-10 }; }); +} + +long long QImage_QImage_ToImageFormat(void* format) +{ + return QImage::toImageFormat(*static_cast(format)); +} + +void* QImage_QImage_ToPixelFormat(long long format) +{ + return new QPixelFormat(QImage::toPixelFormat(static_cast(format))); +} + +void* QImage_Transformed(void* ptr, void* matrix, long long mode) +{ + return new QImage(static_cast(ptr)->transformed(*static_cast(matrix), static_cast(mode))); +} + +void* QImage_Transformed2(void* ptr, void* matrix, long long mode) +{ + return new QImage(static_cast(ptr)->transformed(*static_cast(matrix), static_cast(mode))); +} + +void* QImage_QImage_TrueMatrix(void* matrix, int width, int height) +{ + return new QMatrix(QImage::trueMatrix(*static_cast(matrix), width, height)); +} + +void* QImage_QImage_TrueMatrix2(void* matrix, int width, int height) +{ + return new QTransform(QImage::trueMatrix(*static_cast(matrix), width, height)); +} + +char QImage_Valid(void* ptr, void* pos) +{ + return static_cast(ptr)->valid(*static_cast(pos)); +} + +char QImage_Valid2(void* ptr, int x, int y) +{ + return static_cast(ptr)->valid(x, y); +} + +void QImage_DestroyQImage(void* ptr) +{ + static_cast(ptr)->~QImage(); +} + +void QImage_DestroyQImageDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QImage_ToVariant(void* ptr) +{ + return new QVariant(*static_cast(ptr)); +} + +unsigned int QImage___colorTable_atList(void* ptr, int i) +{ + return ({QRgb tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QImage___colorTable_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QImage___colorTable_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QImage___convertToFormat_colorTable_atList3(void* ptr, int i) +{ + return ({QRgb tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QImage___convertToFormat_colorTable_setList3(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QImage___convertToFormat_colorTable_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QImage___setColorTable_colors_atList(void* ptr, int i) +{ + return ({QRgb tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QImage___setColorTable_colors_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QImage___setColorTable_colors_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QImage_PaintEngine(void* ptr) +{ + return static_cast(ptr)->paintEngine(); +} + +void* QImage_PaintEngineDefault(void* ptr) +{ + return static_cast(ptr)->QImage::paintEngine(); +} + +class MyQImageIOHandler: public QImageIOHandler +{ +public: + MyQImageIOHandler() : QImageIOHandler() {}; + bool canRead() const { return callbackQImageIOHandler_CanRead(const_cast(static_cast(this))) != 0; }; + int currentImageNumber() const { return callbackQImageIOHandler_CurrentImageNumber(const_cast(static_cast(this))); }; + QRect currentImageRect() const { return *static_cast(callbackQImageIOHandler_CurrentImageRect(const_cast(static_cast(this)))); }; + int imageCount() const { return callbackQImageIOHandler_ImageCount(const_cast(static_cast(this))); }; + bool jumpToImage(int imageNumber) { return callbackQImageIOHandler_JumpToImage(this, imageNumber) != 0; }; + bool jumpToNextImage() { return callbackQImageIOHandler_JumpToNextImage(this) != 0; }; + int loopCount() const { return callbackQImageIOHandler_LoopCount(const_cast(static_cast(this))); }; + int nextImageDelay() const { return callbackQImageIOHandler_NextImageDelay(const_cast(static_cast(this))); }; + QVariant option(QImageIOHandler::ImageOption option) const { return *static_cast(callbackQImageIOHandler_Option(const_cast(static_cast(this)), option)); }; + bool read(QImage * image) { return callbackQImageIOHandler_Read(this, image) != 0; }; + void setOption(QImageIOHandler::ImageOption option, const QVariant & value) { callbackQImageIOHandler_SetOption(this, option, const_cast(&value)); }; + bool supportsOption(QImageIOHandler::ImageOption option) const { return callbackQImageIOHandler_SupportsOption(const_cast(static_cast(this)), option) != 0; }; + bool write(const QImage & image) { return callbackQImageIOHandler_Write(this, const_cast(&image)) != 0; }; + ~MyQImageIOHandler() { callbackQImageIOHandler_DestroyQImageIOHandler(this); }; +}; + +void* QImageIOHandler_NewQImageIOHandler() +{ + return new MyQImageIOHandler(); +} + +char QImageIOHandler_CanRead(void* ptr) +{ + return static_cast(ptr)->canRead(); +} + +int QImageIOHandler_CurrentImageNumber(void* ptr) +{ + return static_cast(ptr)->currentImageNumber(); +} + +int QImageIOHandler_CurrentImageNumberDefault(void* ptr) +{ + return static_cast(ptr)->QImageIOHandler::currentImageNumber(); +} + +void* QImageIOHandler_CurrentImageRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->currentImageRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QImageIOHandler_CurrentImageRectDefault(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->QImageIOHandler::currentImageRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QImageIOHandler_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +void* QImageIOHandler_Format(void* ptr) +{ + return new QByteArray(static_cast(ptr)->format()); +} + +int QImageIOHandler_ImageCount(void* ptr) +{ + return static_cast(ptr)->imageCount(); +} + +int QImageIOHandler_ImageCountDefault(void* ptr) +{ + return static_cast(ptr)->QImageIOHandler::imageCount(); +} + +char QImageIOHandler_JumpToImage(void* ptr, int imageNumber) +{ + return static_cast(ptr)->jumpToImage(imageNumber); +} + +char QImageIOHandler_JumpToImageDefault(void* ptr, int imageNumber) +{ + return static_cast(ptr)->QImageIOHandler::jumpToImage(imageNumber); +} + +char QImageIOHandler_JumpToNextImage(void* ptr) +{ + return static_cast(ptr)->jumpToNextImage(); +} + +char QImageIOHandler_JumpToNextImageDefault(void* ptr) +{ + return static_cast(ptr)->QImageIOHandler::jumpToNextImage(); +} + +int QImageIOHandler_LoopCount(void* ptr) +{ + return static_cast(ptr)->loopCount(); +} + +int QImageIOHandler_LoopCountDefault(void* ptr) +{ + return static_cast(ptr)->QImageIOHandler::loopCount(); +} + +int QImageIOHandler_NextImageDelay(void* ptr) +{ + return static_cast(ptr)->nextImageDelay(); +} + +int QImageIOHandler_NextImageDelayDefault(void* ptr) +{ + return static_cast(ptr)->QImageIOHandler::nextImageDelay(); +} + +void* QImageIOHandler_Option(void* ptr, long long option) +{ + return new QVariant(static_cast(ptr)->option(static_cast(option))); +} + +void* QImageIOHandler_OptionDefault(void* ptr, long long option) +{ + return new QVariant(static_cast(ptr)->QImageIOHandler::option(static_cast(option))); +} + +char QImageIOHandler_Read(void* ptr, void* image) +{ + return static_cast(ptr)->read(static_cast(image)); +} + +void QImageIOHandler_SetDevice(void* ptr, void* device) +{ + static_cast(ptr)->setDevice(static_cast(device)); +} + +void QImageIOHandler_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void QImageIOHandler_SetFormat2(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void QImageIOHandler_SetOption(void* ptr, long long option, void* value) +{ + static_cast(ptr)->setOption(static_cast(option), *static_cast(value)); +} + +void QImageIOHandler_SetOptionDefault(void* ptr, long long option, void* value) +{ + static_cast(ptr)->QImageIOHandler::setOption(static_cast(option), *static_cast(value)); +} + +char QImageIOHandler_SupportsOption(void* ptr, long long option) +{ + return static_cast(ptr)->supportsOption(static_cast(option)); +} + +char QImageIOHandler_SupportsOptionDefault(void* ptr, long long option) +{ + return static_cast(ptr)->QImageIOHandler::supportsOption(static_cast(option)); +} + +char QImageIOHandler_Write(void* ptr, void* image) +{ + return static_cast(ptr)->write(*static_cast(image)); +} + +char QImageIOHandler_WriteDefault(void* ptr, void* image) +{ + return static_cast(ptr)->QImageIOHandler::write(*static_cast(image)); +} + +void QImageIOHandler_DestroyQImageIOHandler(void* ptr) +{ + static_cast(ptr)->~QImageIOHandler(); +} + +void QImageIOHandler_DestroyQImageIOHandlerDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQImageIOPlugin: public QImageIOPlugin +{ +public: + MyQImageIOPlugin(QObject *parent = Q_NULLPTR) : QImageIOPlugin(parent) {QImageIOPlugin_QImageIOPlugin_QRegisterMetaType();}; + QImageIOPlugin::Capabilities capabilities(QIODevice * device, const QByteArray & format) const { return static_cast(callbackQImageIOPlugin_Capabilities(const_cast(static_cast(this)), device, const_cast(&format))); }; + QImageIOHandler * create(QIODevice * device, const QByteArray & format) const { return static_cast(callbackQImageIOPlugin_Create(const_cast(static_cast(this)), device, const_cast(&format))); }; + ~MyQImageIOPlugin() { callbackQImageIOPlugin_DestroyQImageIOPlugin(this); }; + void childEvent(QChildEvent * event) { callbackQImageIOPlugin_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQImageIOPlugin_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQImageIOPlugin_CustomEvent(this, event); }; + void deleteLater() { callbackQImageIOPlugin_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQImageIOPlugin_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQImageIOPlugin_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQImageIOPlugin_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQImageIOPlugin_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQImageIOPlugin_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQImageIOPlugin_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQImageIOPlugin_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQImageIOPlugin*) + +int QImageIOPlugin_QImageIOPlugin_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QImageIOPlugin_NewQImageIOPlugin(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQImageIOPlugin(static_cast(parent)); + } else { + return new MyQImageIOPlugin(static_cast(parent)); + } +} + +long long QImageIOPlugin_Capabilities(void* ptr, void* device, void* format) +{ + return static_cast(ptr)->capabilities(static_cast(device), *static_cast(format)); +} + +void* QImageIOPlugin_Create(void* ptr, void* device, void* format) +{ + return static_cast(ptr)->create(static_cast(device), *static_cast(format)); +} + +void QImageIOPlugin_DestroyQImageIOPlugin(void* ptr) +{ + static_cast(ptr)->~QImageIOPlugin(); +} + +void QImageIOPlugin_DestroyQImageIOPluginDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QImageIOPlugin___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QImageIOPlugin___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QImageIOPlugin___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageIOPlugin___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QImageIOPlugin___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QImageIOPlugin___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageIOPlugin___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QImageIOPlugin___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QImageIOPlugin___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageIOPlugin___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QImageIOPlugin___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QImageIOPlugin___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageIOPlugin___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QImageIOPlugin___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QImageIOPlugin___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QImageIOPlugin_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QImageIOPlugin::childEvent(static_cast(event)); +} + +void QImageIOPlugin_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QImageIOPlugin::connectNotify(*static_cast(sign)); +} + +void QImageIOPlugin_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QImageIOPlugin::customEvent(static_cast(event)); +} + +void QImageIOPlugin_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QImageIOPlugin::deleteLater(); +} + +void QImageIOPlugin_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QImageIOPlugin::disconnectNotify(*static_cast(sign)); +} + +char QImageIOPlugin_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QImageIOPlugin::event(static_cast(e)); +} + +char QImageIOPlugin_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QImageIOPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QImageIOPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QImageIOPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QImageIOPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QImageIOPlugin::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QImageIOPlugin_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QImageIOPlugin::metaObject()); +} + +void QImageIOPlugin_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QImageIOPlugin::timerEvent(static_cast(event)); +} + +void* QImageReader_NewQImageReader() +{ + return new QImageReader(); +} + +void* QImageReader_NewQImageReader2(void* device, void* format) +{ + return new QImageReader(static_cast(device), *static_cast(format)); +} + +void* QImageReader_NewQImageReader3(struct QtGui_PackedString fileName, void* format) +{ + return new QImageReader(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format)); +} + +char QImageReader_AutoDetectImageFormat(void* ptr) +{ + return static_cast(ptr)->autoDetectImageFormat(); +} + +char QImageReader_AutoTransform(void* ptr) +{ + return static_cast(ptr)->autoTransform(); +} + +void* QImageReader_BackgroundColor(void* ptr) +{ + return new QColor(static_cast(ptr)->backgroundColor()); +} + +char QImageReader_CanRead(void* ptr) +{ + return static_cast(ptr)->canRead(); +} + +void* QImageReader_ClipRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->clipRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +int QImageReader_CurrentImageNumber(void* ptr) +{ + return static_cast(ptr)->currentImageNumber(); +} + +void* QImageReader_CurrentImageRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->currentImageRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QImageReader_DecideFormatFromContent(void* ptr) +{ + return static_cast(ptr)->decideFormatFromContent(); +} + +void* QImageReader_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +long long QImageReader_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtGui_PackedString QImageReader_ErrorString(void* ptr) +{ + return ({ QByteArray t444465 = static_cast(ptr)->errorString().toUtf8(); QtGui_PackedString { const_cast(t444465.prepend("WHITESPACE").constData()+10), t444465.size()-10 }; }); +} + +struct QtGui_PackedString QImageReader_FileName(void* ptr) +{ + return ({ QByteArray t78ed9f = static_cast(ptr)->fileName().toUtf8(); QtGui_PackedString { const_cast(t78ed9f.prepend("WHITESPACE").constData()+10), t78ed9f.size()-10 }; }); +} + +void* QImageReader_Format(void* ptr) +{ + return new QByteArray(static_cast(ptr)->format()); +} + +float QImageReader_Gamma(void* ptr) +{ + return static_cast(ptr)->gamma(); +} + +int QImageReader_ImageCount(void* ptr) +{ + return static_cast(ptr)->imageCount(); +} + +long long QImageReader_ImageFormat(void* ptr) +{ + return static_cast(ptr)->imageFormat(); +} + +void* QImageReader_QImageReader_ImageFormat2(struct QtGui_PackedString fileName) +{ + return new QByteArray(QImageReader::imageFormat(QString::fromUtf8(fileName.data, fileName.len))); +} + +void* QImageReader_QImageReader_ImageFormat3(void* device) +{ + return new QByteArray(QImageReader::imageFormat(static_cast(device))); +} + +struct QtGui_PackedList QImageReader_QImageReader_ImageFormatsForMimeType(void* mimeType) +{ + return ({ QList* tmpValuea96946 = new QList(QImageReader::imageFormatsForMimeType(*static_cast(mimeType))); QtGui_PackedList { tmpValuea96946, tmpValuea96946->size() }; }); +} + +char QImageReader_JumpToImage(void* ptr, int imageNumber) +{ + return static_cast(ptr)->jumpToImage(imageNumber); +} + +char QImageReader_JumpToNextImage(void* ptr) +{ + return static_cast(ptr)->jumpToNextImage(); +} + +int QImageReader_LoopCount(void* ptr) +{ + return static_cast(ptr)->loopCount(); +} + +int QImageReader_NextImageDelay(void* ptr) +{ + return static_cast(ptr)->nextImageDelay(); +} + +int QImageReader_Quality(void* ptr) +{ + return static_cast(ptr)->quality(); +} + +void* QImageReader_Read(void* ptr) +{ + return new QImage(static_cast(ptr)->read()); +} + +char QImageReader_Read2(void* ptr, void* image) +{ + return static_cast(ptr)->read(static_cast(image)); +} + +void* QImageReader_ScaledClipRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->scaledClipRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QImageReader_ScaledSize(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->scaledSize(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QImageReader_SetAutoDetectImageFormat(void* ptr, char enabled) +{ + static_cast(ptr)->setAutoDetectImageFormat(enabled != 0); +} + +void QImageReader_SetAutoTransform(void* ptr, char enabled) +{ + static_cast(ptr)->setAutoTransform(enabled != 0); +} + +void QImageReader_SetBackgroundColor(void* ptr, void* color) +{ + static_cast(ptr)->setBackgroundColor(*static_cast(color)); +} + +void QImageReader_SetClipRect(void* ptr, void* rect) +{ + static_cast(ptr)->setClipRect(*static_cast(rect)); +} + +void QImageReader_SetDecideFormatFromContent(void* ptr, char ignored) +{ + static_cast(ptr)->setDecideFormatFromContent(ignored != 0); +} + +void QImageReader_SetDevice(void* ptr, void* device) +{ + static_cast(ptr)->setDevice(static_cast(device)); +} + +void QImageReader_SetFileName(void* ptr, struct QtGui_PackedString fileName) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(fileName.data, fileName.len)); +} + +void QImageReader_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void QImageReader_SetGamma(void* ptr, float gamma) +{ + static_cast(ptr)->setGamma(gamma); +} + +void QImageReader_SetQuality(void* ptr, int quality) +{ + static_cast(ptr)->setQuality(quality); +} + +void QImageReader_SetScaledClipRect(void* ptr, void* rect) +{ + static_cast(ptr)->setScaledClipRect(*static_cast(rect)); +} + +void QImageReader_SetScaledSize(void* ptr, void* size) +{ + static_cast(ptr)->setScaledSize(*static_cast(size)); +} + +void* QImageReader_Size(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QImageReader_SubType(void* ptr) +{ + return new QByteArray(static_cast(ptr)->subType()); +} + +struct QtGui_PackedList QImageReader_QImageReader_SupportedImageFormats() +{ + return ({ QList* tmpValue0ee4ca = new QList(QImageReader::supportedImageFormats()); QtGui_PackedList { tmpValue0ee4ca, tmpValue0ee4ca->size() }; }); +} + +struct QtGui_PackedList QImageReader_QImageReader_SupportedMimeTypes() +{ + return ({ QList* tmpValueaf60c6 = new QList(QImageReader::supportedMimeTypes()); QtGui_PackedList { tmpValueaf60c6, tmpValueaf60c6->size() }; }); +} + +struct QtGui_PackedList QImageReader_SupportedSubTypes(void* ptr) +{ + return ({ QList* tmpValuead2d7a = new QList(static_cast(ptr)->supportedSubTypes()); QtGui_PackedList { tmpValuead2d7a, tmpValuead2d7a->size() }; }); +} + +char QImageReader_SupportsAnimation(void* ptr) +{ + return static_cast(ptr)->supportsAnimation(); +} + +char QImageReader_SupportsOption(void* ptr, long long option) +{ + return static_cast(ptr)->supportsOption(static_cast(option)); +} + +struct QtGui_PackedString QImageReader_Text(void* ptr, struct QtGui_PackedString key) +{ + return ({ QByteArray t392633 = static_cast(ptr)->text(QString::fromUtf8(key.data, key.len)).toUtf8(); QtGui_PackedString { const_cast(t392633.prepend("WHITESPACE").constData()+10), t392633.size()-10 }; }); +} + +struct QtGui_PackedString QImageReader_TextKeys(void* ptr) +{ + return ({ QByteArray t436ca8 = static_cast(ptr)->textKeys().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t436ca8.prepend("WHITESPACE").constData()+10), t436ca8.size()-10 }; }); +} + +long long QImageReader_Transformation(void* ptr) +{ + return static_cast(ptr)->transformation(); +} + +void QImageReader_DestroyQImageReader(void* ptr) +{ + static_cast(ptr)->~QImageReader(); +} + +void* QImageReader___imageFormatsForMimeType_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QImageReader___imageFormatsForMimeType_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QImageReader___imageFormatsForMimeType_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageReader___supportedImageFormats_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QImageReader___supportedImageFormats_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QImageReader___supportedImageFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageReader___supportedMimeTypes_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QImageReader___supportedMimeTypes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QImageReader___supportedMimeTypes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageReader___supportedSubTypes_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QImageReader___supportedSubTypes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QImageReader___supportedSubTypes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageWriter_NewQImageWriter() +{ + return new QImageWriter(); +} + +void* QImageWriter_NewQImageWriter2(void* device, void* format) +{ + return new QImageWriter(static_cast(device), *static_cast(format)); +} + +void* QImageWriter_NewQImageWriter3(struct QtGui_PackedString fileName, void* format) +{ + return new QImageWriter(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format)); +} + +char QImageWriter_CanWrite(void* ptr) +{ + return static_cast(ptr)->canWrite(); +} + +int QImageWriter_Compression(void* ptr) +{ + return static_cast(ptr)->compression(); +} + +void* QImageWriter_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +long long QImageWriter_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtGui_PackedString QImageWriter_ErrorString(void* ptr) +{ + return ({ QByteArray t4f91d9 = static_cast(ptr)->errorString().toUtf8(); QtGui_PackedString { const_cast(t4f91d9.prepend("WHITESPACE").constData()+10), t4f91d9.size()-10 }; }); +} + +struct QtGui_PackedString QImageWriter_FileName(void* ptr) +{ + return ({ QByteArray tb587a3 = static_cast(ptr)->fileName().toUtf8(); QtGui_PackedString { const_cast(tb587a3.prepend("WHITESPACE").constData()+10), tb587a3.size()-10 }; }); +} + +void* QImageWriter_Format(void* ptr) +{ + return new QByteArray(static_cast(ptr)->format()); +} + +float QImageWriter_Gamma(void* ptr) +{ + return static_cast(ptr)->gamma(); +} + +struct QtGui_PackedList QImageWriter_QImageWriter_ImageFormatsForMimeType(void* mimeType) +{ + return ({ QList* tmpValue84c90f = new QList(QImageWriter::imageFormatsForMimeType(*static_cast(mimeType))); QtGui_PackedList { tmpValue84c90f, tmpValue84c90f->size() }; }); +} + +char QImageWriter_OptimizedWrite(void* ptr) +{ + return static_cast(ptr)->optimizedWrite(); +} + +char QImageWriter_ProgressiveScanWrite(void* ptr) +{ + return static_cast(ptr)->progressiveScanWrite(); +} + +int QImageWriter_Quality(void* ptr) +{ + return static_cast(ptr)->quality(); +} + +void QImageWriter_SetCompression(void* ptr, int compression) +{ + static_cast(ptr)->setCompression(compression); +} + +void QImageWriter_SetDevice(void* ptr, void* device) +{ + static_cast(ptr)->setDevice(static_cast(device)); +} + +void QImageWriter_SetFileName(void* ptr, struct QtGui_PackedString fileName) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(fileName.data, fileName.len)); +} + +void QImageWriter_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void QImageWriter_SetGamma(void* ptr, float gamma) +{ + static_cast(ptr)->setGamma(gamma); +} + +void QImageWriter_SetOptimizedWrite(void* ptr, char optimize) +{ + static_cast(ptr)->setOptimizedWrite(optimize != 0); +} + +void QImageWriter_SetProgressiveScanWrite(void* ptr, char progressive) +{ + static_cast(ptr)->setProgressiveScanWrite(progressive != 0); +} + +void QImageWriter_SetQuality(void* ptr, int quality) +{ + static_cast(ptr)->setQuality(quality); +} + +void QImageWriter_SetSubType(void* ptr, void* ty) +{ + static_cast(ptr)->setSubType(*static_cast(ty)); +} + +void QImageWriter_SetText(void* ptr, struct QtGui_PackedString key, struct QtGui_PackedString text) +{ + static_cast(ptr)->setText(QString::fromUtf8(key.data, key.len), QString::fromUtf8(text.data, text.len)); +} + +void QImageWriter_SetTransformation(void* ptr, long long transform) +{ + static_cast(ptr)->setTransformation(static_cast(transform)); +} + +void* QImageWriter_SubType(void* ptr) +{ + return new QByteArray(static_cast(ptr)->subType()); +} + +struct QtGui_PackedList QImageWriter_QImageWriter_SupportedImageFormats() +{ + return ({ QList* tmpValue0d09bb = new QList(QImageWriter::supportedImageFormats()); QtGui_PackedList { tmpValue0d09bb, tmpValue0d09bb->size() }; }); +} + +struct QtGui_PackedList QImageWriter_QImageWriter_SupportedMimeTypes() +{ + return ({ QList* tmpValue58bbbe = new QList(QImageWriter::supportedMimeTypes()); QtGui_PackedList { tmpValue58bbbe, tmpValue58bbbe->size() }; }); +} + +struct QtGui_PackedList QImageWriter_SupportedSubTypes(void* ptr) +{ + return ({ QList* tmpValue401023 = new QList(static_cast(ptr)->supportedSubTypes()); QtGui_PackedList { tmpValue401023, tmpValue401023->size() }; }); +} + +char QImageWriter_SupportsOption(void* ptr, long long option) +{ + return static_cast(ptr)->supportsOption(static_cast(option)); +} + +long long QImageWriter_Transformation(void* ptr) +{ + return static_cast(ptr)->transformation(); +} + +char QImageWriter_Write(void* ptr, void* image) +{ + return static_cast(ptr)->write(*static_cast(image)); +} + +void QImageWriter_DestroyQImageWriter(void* ptr) +{ + static_cast(ptr)->~QImageWriter(); +} + +void* QImageWriter___imageFormatsForMimeType_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QImageWriter___imageFormatsForMimeType_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QImageWriter___imageFormatsForMimeType_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageWriter___supportedImageFormats_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QImageWriter___supportedImageFormats_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QImageWriter___supportedImageFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageWriter___supportedMimeTypes_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QImageWriter___supportedMimeTypes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QImageWriter___supportedMimeTypes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QImageWriter___supportedSubTypes_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QImageWriter___supportedSubTypes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QImageWriter___supportedSubTypes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQInputEvent: public QInputEvent +{ +public: +}; + +long long QInputEvent_Modifiers(void* ptr) +{ + return static_cast(ptr)->modifiers(); +} + +unsigned long QInputEvent_Timestamp(void* ptr) +{ + return static_cast(ptr)->timestamp(); +} + +class MyQInputMethod: public QInputMethod +{ +public: + void Signal_AnchorRectangleChanged() { callbackQInputMethod_AnchorRectangleChanged(this); }; + void Signal_AnimatingChanged() { callbackQInputMethod_AnimatingChanged(this); }; + void commit() { callbackQInputMethod_Commit(this); }; + void Signal_CursorRectangleChanged() { callbackQInputMethod_CursorRectangleChanged(this); }; + void hide() { callbackQInputMethod_Hide(this); }; + void Signal_InputDirectionChanged(Qt::LayoutDirection newDirection) { callbackQInputMethod_InputDirectionChanged(this, newDirection); }; + void Signal_InputItemClipRectangleChanged() { callbackQInputMethod_InputItemClipRectangleChanged(this); }; + void invokeAction(QInputMethod::Action a, int cursorPosition) { callbackQInputMethod_InvokeAction(this, a, cursorPosition); }; + void Signal_KeyboardRectangleChanged() { callbackQInputMethod_KeyboardRectangleChanged(this); }; + void Signal_LocaleChanged() { callbackQInputMethod_LocaleChanged(this); }; + void reset() { callbackQInputMethod_Reset(this); }; + void show() { callbackQInputMethod_Show(this); }; + void update(Qt::InputMethodQueries queries) { callbackQInputMethod_Update(this, queries); }; + void Signal_VisibleChanged() { callbackQInputMethod_VisibleChanged(this); }; + void childEvent(QChildEvent * event) { callbackQInputMethod_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQInputMethod_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQInputMethod_CustomEvent(this, event); }; + void deleteLater() { callbackQInputMethod_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQInputMethod_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQInputMethod_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQInputMethod_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQInputMethod_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQInputMethod_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQInputMethod_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQInputMethod_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQInputMethod*) + +int QInputMethod_QInputMethod_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QInputMethod_AnchorRectangle(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->anchorRectangle(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QInputMethod_ConnectAnchorRectangleChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QInputMethod::anchorRectangleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_AnchorRectangleChanged), static_cast(t)); +} + +void QInputMethod_DisconnectAnchorRectangleChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QInputMethod::anchorRectangleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_AnchorRectangleChanged)); +} + +void QInputMethod_AnchorRectangleChanged(void* ptr) +{ + static_cast(ptr)->anchorRectangleChanged(); +} + +void QInputMethod_ConnectAnimatingChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QInputMethod::animatingChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_AnimatingChanged), static_cast(t)); +} + +void QInputMethod_DisconnectAnimatingChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QInputMethod::animatingChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_AnimatingChanged)); +} + +void QInputMethod_AnimatingChanged(void* ptr) +{ + static_cast(ptr)->animatingChanged(); +} + +void QInputMethod_Commit(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "commit"); +} + +void QInputMethod_CommitDefault(void* ptr) +{ + static_cast(ptr)->QInputMethod::commit(); +} + +void* QInputMethod_CursorRectangle(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->cursorRectangle(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QInputMethod_ConnectCursorRectangleChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QInputMethod::cursorRectangleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_CursorRectangleChanged), static_cast(t)); +} + +void QInputMethod_DisconnectCursorRectangleChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QInputMethod::cursorRectangleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_CursorRectangleChanged)); +} + +void QInputMethod_CursorRectangleChanged(void* ptr) +{ + static_cast(ptr)->cursorRectangleChanged(); +} + +void QInputMethod_Hide(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "hide"); +} + +void QInputMethod_HideDefault(void* ptr) +{ + static_cast(ptr)->QInputMethod::hide(); +} + +long long QInputMethod_InputDirection(void* ptr) +{ + return static_cast(ptr)->inputDirection(); +} + +void QInputMethod_ConnectInputDirectionChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QInputMethod::inputDirectionChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_InputDirectionChanged), static_cast(t)); +} + +void QInputMethod_DisconnectInputDirectionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QInputMethod::inputDirectionChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_InputDirectionChanged)); +} + +void QInputMethod_InputDirectionChanged(void* ptr, long long newDirection) +{ + static_cast(ptr)->inputDirectionChanged(static_cast(newDirection)); +} + +void* QInputMethod_InputItemClipRectangle(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->inputItemClipRectangle(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QInputMethod_ConnectInputItemClipRectangleChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QInputMethod::inputItemClipRectangleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_InputItemClipRectangleChanged), static_cast(t)); +} + +void QInputMethod_DisconnectInputItemClipRectangleChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QInputMethod::inputItemClipRectangleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_InputItemClipRectangleChanged)); +} + +void QInputMethod_InputItemClipRectangleChanged(void* ptr) +{ + static_cast(ptr)->inputItemClipRectangleChanged(); +} + +void* QInputMethod_InputItemRectangle(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->inputItemRectangle(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QInputMethod_InputItemTransform(void* ptr) +{ + return new QTransform(static_cast(ptr)->inputItemTransform()); +} + +void QInputMethod_InvokeAction(void* ptr, long long a, int cursorPosition) +{ + qRegisterMetaType(); + QMetaObject::invokeMethod(static_cast(ptr), "invokeAction", Q_ARG(QInputMethod::Action, static_cast(a)), Q_ARG(int, cursorPosition)); +} + +void QInputMethod_InvokeActionDefault(void* ptr, long long a, int cursorPosition) +{ + static_cast(ptr)->QInputMethod::invokeAction(static_cast(a), cursorPosition); +} + +char QInputMethod_IsAnimating(void* ptr) +{ + return static_cast(ptr)->isAnimating(); +} + +char QInputMethod_IsVisible(void* ptr) +{ + return static_cast(ptr)->isVisible(); +} + +void* QInputMethod_KeyboardRectangle(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->keyboardRectangle(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QInputMethod_ConnectKeyboardRectangleChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QInputMethod::keyboardRectangleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_KeyboardRectangleChanged), static_cast(t)); +} + +void QInputMethod_DisconnectKeyboardRectangleChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QInputMethod::keyboardRectangleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_KeyboardRectangleChanged)); +} + +void QInputMethod_KeyboardRectangleChanged(void* ptr) +{ + static_cast(ptr)->keyboardRectangleChanged(); +} + +void* QInputMethod_Locale(void* ptr) +{ + return new QLocale(static_cast(ptr)->locale()); +} + +void QInputMethod_ConnectLocaleChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QInputMethod::localeChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_LocaleChanged), static_cast(t)); +} + +void QInputMethod_DisconnectLocaleChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QInputMethod::localeChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_LocaleChanged)); +} + +void QInputMethod_LocaleChanged(void* ptr) +{ + static_cast(ptr)->localeChanged(); +} + +void* QInputMethod_QInputMethod_QueryFocusObject(long long query, void* argument) +{ + return new QVariant(QInputMethod::queryFocusObject(static_cast(query), *static_cast(argument))); +} + +void QInputMethod_Reset(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "reset"); +} + +void QInputMethod_ResetDefault(void* ptr) +{ + static_cast(ptr)->QInputMethod::reset(); +} + +void QInputMethod_SetInputItemRectangle(void* ptr, void* rect) +{ + static_cast(ptr)->setInputItemRectangle(*static_cast(rect)); +} + +void QInputMethod_SetInputItemTransform(void* ptr, void* transform) +{ + static_cast(ptr)->setInputItemTransform(*static_cast(transform)); +} + +void QInputMethod_SetVisible(void* ptr, char visible) +{ + static_cast(ptr)->setVisible(visible != 0); +} + +void QInputMethod_Show(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "show"); +} + +void QInputMethod_ShowDefault(void* ptr) +{ + static_cast(ptr)->QInputMethod::show(); +} + +void QInputMethod_Update(void* ptr, long long queries) +{ + qRegisterMetaType(); + QMetaObject::invokeMethod(static_cast(ptr), "update", Q_ARG(Qt::InputMethodQueries, static_cast(queries))); +} + +void QInputMethod_UpdateDefault(void* ptr, long long queries) +{ + static_cast(ptr)->QInputMethod::update(static_cast(queries)); +} + +void QInputMethod_ConnectVisibleChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QInputMethod::visibleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_VisibleChanged), static_cast(t)); +} + +void QInputMethod_DisconnectVisibleChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QInputMethod::visibleChanged), static_cast(ptr), static_cast(&MyQInputMethod::Signal_VisibleChanged)); +} + +void QInputMethod_VisibleChanged(void* ptr) +{ + static_cast(ptr)->visibleChanged(); +} + +void* QInputMethod___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QInputMethod___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QInputMethod___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QInputMethod___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QInputMethod___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QInputMethod___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QInputMethod___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QInputMethod___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QInputMethod___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QInputMethod___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QInputMethod___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QInputMethod___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QInputMethod___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QInputMethod___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QInputMethod___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QInputMethod_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QInputMethod::childEvent(static_cast(event)); +} + +void QInputMethod_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QInputMethod::connectNotify(*static_cast(sign)); +} + +void QInputMethod_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QInputMethod::customEvent(static_cast(event)); +} + +void QInputMethod_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QInputMethod::deleteLater(); +} + +void QInputMethod_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QInputMethod::disconnectNotify(*static_cast(sign)); +} + +char QInputMethod_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QInputMethod::event(static_cast(e)); +} + +char QInputMethod_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QInputMethod::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QInputMethod::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QInputMethod::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QInputMethod::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QInputMethod::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QInputMethod_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QInputMethod::metaObject()); +} + +void QInputMethod_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QInputMethod::timerEvent(static_cast(event)); +} + +class MyQInputMethodEvent: public QInputMethodEvent +{ +public: + MyQInputMethodEvent() : QInputMethodEvent() {}; + MyQInputMethodEvent(const QInputMethodEvent &other) : QInputMethodEvent(other) {}; +}; + +void* QInputMethodEvent_NewQInputMethodEvent() +{ + return new MyQInputMethodEvent(); +} + +void* QInputMethodEvent_NewQInputMethodEvent3(void* other) +{ + return new MyQInputMethodEvent(*static_cast(other)); +} + +struct QtGui_PackedString QInputMethodEvent_CommitString(void* ptr) +{ + return ({ QByteArray t69832e = static_cast(ptr)->commitString().toUtf8(); QtGui_PackedString { const_cast(t69832e.prepend("WHITESPACE").constData()+10), t69832e.size()-10 }; }); +} + +struct QtGui_PackedString QInputMethodEvent_PreeditString(void* ptr) +{ + return ({ QByteArray t9860e5 = static_cast(ptr)->preeditString().toUtf8(); QtGui_PackedString { const_cast(t9860e5.prepend("WHITESPACE").constData()+10), t9860e5.size()-10 }; }); +} + +int QInputMethodEvent_ReplacementLength(void* ptr) +{ + return static_cast(ptr)->replacementLength(); +} + +int QInputMethodEvent_ReplacementStart(void* ptr) +{ + return static_cast(ptr)->replacementStart(); +} + +void QInputMethodEvent_SetCommitString(void* ptr, struct QtGui_PackedString commitString, int replaceFrom, int replaceLength) +{ + static_cast(ptr)->setCommitString(QString::fromUtf8(commitString.data, commitString.len), replaceFrom, replaceLength); +} + +void* QInputMethodEvent___attrs_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QInputMethodEvent___setAttrs__newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQInputMethodQueryEvent: public QInputMethodQueryEvent +{ +public: + MyQInputMethodQueryEvent(Qt::InputMethodQueries queries) : QInputMethodQueryEvent(queries) {}; +}; + +void* QInputMethodQueryEvent_NewQInputMethodQueryEvent(long long queries) +{ + return new MyQInputMethodQueryEvent(static_cast(queries)); +} + +long long QInputMethodQueryEvent_Queries(void* ptr) +{ + return static_cast(ptr)->queries(); +} + +void QInputMethodQueryEvent_SetValue(void* ptr, long long query, void* value) +{ + static_cast(ptr)->setValue(static_cast(query), *static_cast(value)); +} + +void* QInputMethodQueryEvent_Value(void* ptr, long long query) +{ + return new QVariant(static_cast(ptr)->value(static_cast(query))); +} + +void* QInputMethodQueryEvent___m_values_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QInputMethodQueryEvent___setM_values__newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +class MyQIntValidator: public QIntValidator +{ +public: + MyQIntValidator(QObject *parent = Q_NULLPTR) : QIntValidator(parent) {QIntValidator_QIntValidator_QRegisterMetaType();}; + MyQIntValidator(int minimum, int maximum, QObject *parent = Q_NULLPTR) : QIntValidator(minimum, maximum, parent) {QIntValidator_QIntValidator_QRegisterMetaType();}; + void Signal_BottomChanged(int bottom) { callbackQIntValidator_BottomChanged(this, bottom); }; + void fixup(QString & input) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };callbackQValidator_Fixup(const_cast(static_cast(this)), inputPacked); }; + void setRange(int bottom, int top) { callbackQIntValidator_SetRange(this, bottom, top); }; + void Signal_TopChanged(int top) { callbackQIntValidator_TopChanged(this, top); }; + QValidator::State validate(QString & input, int & pos) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };return static_cast(callbackQIntValidator_Validate(const_cast(static_cast(this)), inputPacked, pos)); }; + ~MyQIntValidator() { callbackQIntValidator_DestroyQIntValidator(this); }; + void Signal_Changed() { callbackQValidator_Changed(this); }; + void childEvent(QChildEvent * event) { callbackQValidator_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQValidator_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQValidator_CustomEvent(this, event); }; + void deleteLater() { callbackQValidator_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQValidator_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQValidator_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQValidator_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQValidator_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQValidator_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQValidator_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQValidator_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQIntValidator*) + +int QIntValidator_QIntValidator_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QIntValidator_NewQIntValidator(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(static_cast(parent)); + } else { + return new MyQIntValidator(static_cast(parent)); + } +} + +void* QIntValidator_NewQIntValidator2(int minimum, int maximum, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } else { + return new MyQIntValidator(minimum, maximum, static_cast(parent)); + } +} + +int QIntValidator_Bottom(void* ptr) +{ + return static_cast(ptr)->bottom(); +} + +void QIntValidator_ConnectBottomChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QIntValidator::bottomChanged), static_cast(ptr), static_cast(&MyQIntValidator::Signal_BottomChanged), static_cast(t)); +} + +void QIntValidator_DisconnectBottomChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QIntValidator::bottomChanged), static_cast(ptr), static_cast(&MyQIntValidator::Signal_BottomChanged)); +} + +void QIntValidator_BottomChanged(void* ptr, int bottom) +{ + static_cast(ptr)->bottomChanged(bottom); +} + +void QIntValidator_SetBottom(void* ptr, int vin) +{ + static_cast(ptr)->setBottom(vin); +} + +void QIntValidator_SetRange(void* ptr, int bottom, int top) +{ + static_cast(ptr)->setRange(bottom, top); +} + +void QIntValidator_SetRangeDefault(void* ptr, int bottom, int top) +{ + static_cast(ptr)->QIntValidator::setRange(bottom, top); +} + +void QIntValidator_SetTop(void* ptr, int vin) +{ + static_cast(ptr)->setTop(vin); +} + +int QIntValidator_Top(void* ptr) +{ + return static_cast(ptr)->top(); +} + +void QIntValidator_ConnectTopChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QIntValidator::topChanged), static_cast(ptr), static_cast(&MyQIntValidator::Signal_TopChanged), static_cast(t)); +} + +void QIntValidator_DisconnectTopChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QIntValidator::topChanged), static_cast(ptr), static_cast(&MyQIntValidator::Signal_TopChanged)); +} + +void QIntValidator_TopChanged(void* ptr, int top) +{ + static_cast(ptr)->topChanged(top); +} + +long long QIntValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos) +{ + return static_cast(ptr)->validate(*(new QString(QString::fromUtf8(input.data, input.len))), pos); +} + +long long QIntValidator_ValidateDefault(void* ptr, struct QtGui_PackedString input, int pos) +{ + return static_cast(ptr)->QIntValidator::validate(*(new QString(QString::fromUtf8(input.data, input.len))), pos); +} + +void QIntValidator_DestroyQIntValidator(void* ptr) +{ + static_cast(ptr)->~QIntValidator(); +} + +void QIntValidator_DestroyQIntValidatorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQKeyEvent: public QKeyEvent +{ +public: + MyQKeyEvent(QEvent::Type ty, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, ushort count = 1) : QKeyEvent(ty, key, modifiers, text, autorep, count) {}; + MyQKeyEvent(QEvent::Type ty, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, ushort count = 1) : QKeyEvent(ty, key, modifiers, nativeScanCode, nativeVirtualKey, nativeModifiers, text, autorep, count) {}; +}; + +void* QKeyEvent_NewQKeyEvent(long long ty, int key, long long modifiers, struct QtGui_PackedString text, char autorep, unsigned short count) +{ + return new MyQKeyEvent(static_cast(ty), key, static_cast(modifiers), QString::fromUtf8(text.data, text.len), autorep != 0, count); +} + +void* QKeyEvent_NewQKeyEvent2(long long ty, int key, long long modifiers, unsigned int nativeScanCode, unsigned int nativeVirtualKey, unsigned int nativeModifiers, struct QtGui_PackedString text, char autorep, unsigned short count) +{ + return new MyQKeyEvent(static_cast(ty), key, static_cast(modifiers), nativeScanCode, nativeVirtualKey, nativeModifiers, QString::fromUtf8(text.data, text.len), autorep != 0, count); +} + +int QKeyEvent_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +char QKeyEvent_IsAutoRepeat(void* ptr) +{ + return static_cast(ptr)->isAutoRepeat(); +} + +int QKeyEvent_Key(void* ptr) +{ + return static_cast(ptr)->key(); +} + +char QKeyEvent_Matches(void* ptr, long long key) +{ + return static_cast(ptr)->matches(static_cast(key)); +} + +unsigned int QKeyEvent_NativeModifiers(void* ptr) +{ + return static_cast(ptr)->nativeModifiers(); +} + +unsigned int QKeyEvent_NativeScanCode(void* ptr) +{ + return static_cast(ptr)->nativeScanCode(); +} + +unsigned int QKeyEvent_NativeVirtualKey(void* ptr) +{ + return static_cast(ptr)->nativeVirtualKey(); +} + +struct QtGui_PackedString QKeyEvent_Text(void* ptr) +{ + return ({ QByteArray tac962f = static_cast(ptr)->text().toUtf8(); QtGui_PackedString { const_cast(tac962f.prepend("WHITESPACE").constData()+10), tac962f.size()-10 }; }); +} + +void* QKeySequence_NewQKeySequence() +{ + return new QKeySequence(); +} + +void* QKeySequence_NewQKeySequence2(struct QtGui_PackedString key, long long format) +{ + return new QKeySequence(QString::fromUtf8(key.data, key.len), static_cast(format)); +} + +void* QKeySequence_NewQKeySequence3(int k1, int k2, int k3, int k4) +{ + return new QKeySequence(k1, k2, k3, k4); +} + +void* QKeySequence_NewQKeySequence4(void* keysequence) +{ + return new QKeySequence(*static_cast(keysequence)); +} + +void* QKeySequence_NewQKeySequence5(long long key) +{ + return new QKeySequence(static_cast(key)); +} + +int QKeySequence_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +void* QKeySequence_QKeySequence_FromString(struct QtGui_PackedString str, long long format) +{ + return new QKeySequence(QKeySequence::fromString(QString::fromUtf8(str.data, str.len), static_cast(format))); +} + +char QKeySequence_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +struct QtGui_PackedList QKeySequence_QKeySequence_KeyBindings(long long key) +{ + return ({ QList* tmpValue0650c1 = new QList(QKeySequence::keyBindings(static_cast(key))); QtGui_PackedList { tmpValue0650c1, tmpValue0650c1->size() }; }); +} + +struct QtGui_PackedList QKeySequence_QKeySequence_ListFromString(struct QtGui_PackedString str, long long format) +{ + return ({ QList* tmpValuedec9d9 = new QList(QKeySequence::listFromString(QString::fromUtf8(str.data, str.len), static_cast(format))); QtGui_PackedList { tmpValuedec9d9, tmpValuedec9d9->size() }; }); +} + +struct QtGui_PackedString QKeySequence_QKeySequence_ListToString(void* list, long long format) +{ + return ({ QByteArray tdd68e7 = QKeySequence::listToString(*static_cast*>(list), static_cast(format)).toUtf8(); QtGui_PackedString { const_cast(tdd68e7.prepend("WHITESPACE").constData()+10), tdd68e7.size()-10 }; }); +} + +long long QKeySequence_Matches(void* ptr, void* seq) +{ + return static_cast(ptr)->matches(*static_cast(seq)); +} + +void* QKeySequence_QKeySequence_Mnemonic(struct QtGui_PackedString text) +{ + return new QKeySequence(QKeySequence::mnemonic(QString::fromUtf8(text.data, text.len))); +} + +void QKeySequence_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtGui_PackedString QKeySequence_ToString(void* ptr, long long format) +{ + return ({ QByteArray t3bf8a8 = static_cast(ptr)->toString(static_cast(format)).toUtf8(); QtGui_PackedString { const_cast(t3bf8a8.prepend("WHITESPACE").constData()+10), t3bf8a8.size()-10 }; }); +} + +void QKeySequence_DestroyQKeySequence(void* ptr) +{ + static_cast(ptr)->~QKeySequence(); +} + +void* QKeySequence___keyBindings_atList(void* ptr, int i) +{ + return new QKeySequence(({QKeySequence tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QKeySequence___keyBindings_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QKeySequence___keyBindings_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QKeySequence___listFromString_atList(void* ptr, int i) +{ + return new QKeySequence(({QKeySequence tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QKeySequence___listFromString_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QKeySequence___listFromString_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QKeySequence___listToString_list_atList(void* ptr, int i) +{ + return new QKeySequence(({QKeySequence tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QKeySequence___listToString_list_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QKeySequence___listToString_list_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLinearGradient_NewQLinearGradient() +{ + return new QLinearGradient(); +} + +void* QLinearGradient_NewQLinearGradient2(void* start, void* finalStop) +{ + return new QLinearGradient(*static_cast(start), *static_cast(finalStop)); +} + +void* QLinearGradient_NewQLinearGradient3(double x1, double y1, double x2, double y2) +{ + return new QLinearGradient(x1, y1, x2, y2); +} + +void* QLinearGradient_FinalStop(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->finalStop(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QLinearGradient_SetFinalStop(void* ptr, void* stop) +{ + static_cast(ptr)->setFinalStop(*static_cast(stop)); +} + +void QLinearGradient_SetFinalStop2(void* ptr, double x, double y) +{ + static_cast(ptr)->setFinalStop(x, y); +} + +void QLinearGradient_SetStart(void* ptr, void* start) +{ + static_cast(ptr)->setStart(*static_cast(start)); +} + +void QLinearGradient_SetStart2(void* ptr, double x, double y) +{ + static_cast(ptr)->setStart(x, y); +} + +void* QLinearGradient_Start(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->start(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QMatrix_NewQMatrix2() +{ + return new QMatrix(); +} + +void* QMatrix_NewQMatrix3(double m11, double m12, double m21, double m22, double dx, double dy) +{ + return new QMatrix(m11, m12, m21, m22, dx, dy); +} + +void* QMatrix_NewQMatrix5(void* matrix) +{ + return new QMatrix(*static_cast(matrix)); +} + +double QMatrix_Determinant(void* ptr) +{ + return static_cast(ptr)->determinant(); +} + +double QMatrix_Dx(void* ptr) +{ + return static_cast(ptr)->dx(); +} + +double QMatrix_Dy(void* ptr) +{ + return static_cast(ptr)->dy(); +} + +void* QMatrix_Inverted(void* ptr, char* invertible) +{ + return new QMatrix(static_cast(ptr)->inverted(reinterpret_cast(invertible))); +} + +char QMatrix_IsIdentity(void* ptr) +{ + return static_cast(ptr)->isIdentity(); +} + +char QMatrix_IsInvertible(void* ptr) +{ + return static_cast(ptr)->isInvertible(); +} + +double QMatrix_M11(void* ptr) +{ + return static_cast(ptr)->m11(); +} + +double QMatrix_M12(void* ptr) +{ + return static_cast(ptr)->m12(); +} + +double QMatrix_M21(void* ptr) +{ + return static_cast(ptr)->m21(); +} + +double QMatrix_M22(void* ptr) +{ + return static_cast(ptr)->m22(); +} + +void QMatrix_Map(void* ptr, double x, double y, double tx, double ty) +{ + static_cast(ptr)->map(x, y, &tx, &ty); +} + +void QMatrix_Map2(void* ptr, int x, int y, int tx, int ty) +{ + static_cast(ptr)->map(x, y, &tx, &ty); +} + +void* QMatrix_Map3(void* ptr, void* point) +{ + return ({ QPoint tmpValue = static_cast(ptr)->map(*static_cast(point)); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QMatrix_Map4(void* ptr, void* point) +{ + return ({ QPointF tmpValue = static_cast(ptr)->map(*static_cast(point)); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QMatrix_Map5(void* ptr, void* line) +{ + return ({ QLine tmpValue = static_cast(ptr)->map(*static_cast(line)); new QLine(tmpValue.p1(), tmpValue.p2()); }); +} + +void* QMatrix_Map6(void* ptr, void* line) +{ + return ({ QLineF tmpValue = static_cast(ptr)->map(*static_cast(line)); new QLineF(tmpValue.p1(), tmpValue.p2()); }); +} + +void* QMatrix_Map7(void* ptr, void* polygon) +{ + return new QPolygonF(static_cast(ptr)->map(*static_cast(polygon))); +} + +void* QMatrix_Map8(void* ptr, void* polygon) +{ + return new QPolygon(static_cast(ptr)->map(*static_cast(polygon))); +} + +void* QMatrix_Map9(void* ptr, void* region) +{ + return new QRegion(static_cast(ptr)->map(*static_cast(region))); +} + +void* QMatrix_Map10(void* ptr, void* path) +{ + return new QPainterPath(static_cast(ptr)->map(*static_cast(path))); +} + +void* QMatrix_MapRect(void* ptr, void* rectangle) +{ + return ({ QRectF tmpValue = static_cast(ptr)->mapRect(*static_cast(rectangle)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QMatrix_MapRect2(void* ptr, void* rectangle) +{ + return ({ QRect tmpValue = static_cast(ptr)->mapRect(*static_cast(rectangle)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QMatrix_MapToPolygon(void* ptr, void* rectangle) +{ + return new QPolygon(static_cast(ptr)->mapToPolygon(*static_cast(rectangle))); +} + +void QMatrix_Reset(void* ptr) +{ + static_cast(ptr)->reset(); +} + +void* QMatrix_Rotate(void* ptr, double degrees) +{ + return new QMatrix(static_cast(ptr)->rotate(degrees)); +} + +void* QMatrix_Scale(void* ptr, double sx, double sy) +{ + return new QMatrix(static_cast(ptr)->scale(sx, sy)); +} + +void QMatrix_SetMatrix(void* ptr, double m11, double m12, double m21, double m22, double dx, double dy) +{ + static_cast(ptr)->setMatrix(m11, m12, m21, m22, dx, dy); +} + +void* QMatrix_Shear(void* ptr, double sh, double sv) +{ + return new QMatrix(static_cast(ptr)->shear(sh, sv)); +} + +void* QMatrix_Translate(void* ptr, double dx, double dy) +{ + return new QMatrix(static_cast(ptr)->translate(dx, dy)); +} + +void* QMatrix4x4_NewQMatrix4x4() +{ + return new QMatrix4x4(); +} + +void* QMatrix4x4_NewQMatrix4x43(float values) +{ + return new QMatrix4x4(const_cast(&values)); +} + +void* QMatrix4x4_NewQMatrix4x44(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44) +{ + return new QMatrix4x4(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44); +} + +void* QMatrix4x4_NewQMatrix4x46(void* matrix) +{ + return new QMatrix4x4(*static_cast(matrix)); +} + +void* QMatrix4x4_Column(void* ptr, int index) +{ + return new QVector4D(static_cast(ptr)->column(index)); +} + +float QMatrix4x4_ConstData(void* ptr) +{ + return *static_cast(ptr)->constData(); +} + +void QMatrix4x4_CopyDataTo(void* ptr, float values) +{ + static_cast(ptr)->copyDataTo(&values); +} + +float QMatrix4x4_Data(void* ptr) +{ + return *static_cast(ptr)->data(); +} + +float QMatrix4x4_Data2(void* ptr) +{ + return *static_cast(ptr)->data(); +} + +double QMatrix4x4_Determinant(void* ptr) +{ + return static_cast(ptr)->determinant(); +} + +void QMatrix4x4_Fill(void* ptr, float value) +{ + static_cast(ptr)->fill(value); +} + +void QMatrix4x4_Frustum(void* ptr, float left, float right, float bottom, float top, float nearPlane, float farPlane) +{ + static_cast(ptr)->frustum(left, right, bottom, top, nearPlane, farPlane); +} + +void* QMatrix4x4_Inverted(void* ptr, char* invertible) +{ + return new QMatrix4x4(static_cast(ptr)->inverted(reinterpret_cast(invertible))); +} + +char QMatrix4x4_IsAffine(void* ptr) +{ + return static_cast(ptr)->isAffine(); +} + +char QMatrix4x4_IsIdentity(void* ptr) +{ + return static_cast(ptr)->isIdentity(); +} + +void QMatrix4x4_LookAt(void* ptr, void* eye, void* center, void* up) +{ + static_cast(ptr)->lookAt(*static_cast(eye), *static_cast(center), *static_cast(up)); +} + +void* QMatrix4x4_Map(void* ptr, void* point) +{ + return ({ QPoint tmpValue = static_cast(ptr)->map(*static_cast(point)); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QMatrix4x4_Map2(void* ptr, void* point) +{ + return ({ QPointF tmpValue = static_cast(ptr)->map(*static_cast(point)); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QMatrix4x4_Map3(void* ptr, void* point) +{ + return new QVector3D(static_cast(ptr)->map(*static_cast(point))); +} + +void* QMatrix4x4_Map4(void* ptr, void* point) +{ + return new QVector4D(static_cast(ptr)->map(*static_cast(point))); +} + +void* QMatrix4x4_MapRect(void* ptr, void* rect) +{ + return ({ QRect tmpValue = static_cast(ptr)->mapRect(*static_cast(rect)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QMatrix4x4_MapRect2(void* ptr, void* rect) +{ + return ({ QRectF tmpValue = static_cast(ptr)->mapRect(*static_cast(rect)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QMatrix4x4_MapVector(void* ptr, void* vector) +{ + return new QVector3D(static_cast(ptr)->mapVector(*static_cast(vector))); +} + +void QMatrix4x4_Optimize(void* ptr) +{ + static_cast(ptr)->optimize(); +} + +void QMatrix4x4_Ortho(void* ptr, float left, float right, float bottom, float top, float nearPlane, float farPlane) +{ + static_cast(ptr)->ortho(left, right, bottom, top, nearPlane, farPlane); +} + +void QMatrix4x4_Ortho2(void* ptr, void* rect) +{ + static_cast(ptr)->ortho(*static_cast(rect)); +} + +void QMatrix4x4_Ortho3(void* ptr, void* rect) +{ + static_cast(ptr)->ortho(*static_cast(rect)); +} + +void QMatrix4x4_Perspective(void* ptr, float verticalAngle, float aspectRatio, float nearPlane, float farPlane) +{ + static_cast(ptr)->perspective(verticalAngle, aspectRatio, nearPlane, farPlane); +} + +void QMatrix4x4_Rotate(void* ptr, float angle, void* vector) +{ + static_cast(ptr)->rotate(angle, *static_cast(vector)); +} + +void QMatrix4x4_Rotate2(void* ptr, float angle, float x, float y, float z) +{ + static_cast(ptr)->rotate(angle, x, y, z); +} + +void QMatrix4x4_Rotate3(void* ptr, void* quaternion) +{ + static_cast(ptr)->rotate(*static_cast(quaternion)); +} + +void* QMatrix4x4_Row(void* ptr, int index) +{ + return new QVector4D(static_cast(ptr)->row(index)); +} + +void QMatrix4x4_Scale(void* ptr, void* vector) +{ + static_cast(ptr)->scale(*static_cast(vector)); +} + +void QMatrix4x4_Scale2(void* ptr, float x, float y) +{ + static_cast(ptr)->scale(x, y); +} + +void QMatrix4x4_Scale3(void* ptr, float x, float y, float z) +{ + static_cast(ptr)->scale(x, y, z); +} + +void QMatrix4x4_Scale4(void* ptr, float factor) +{ + static_cast(ptr)->scale(factor); +} + +void QMatrix4x4_SetColumn(void* ptr, int index, void* value) +{ + static_cast(ptr)->setColumn(index, *static_cast(value)); +} + +void QMatrix4x4_SetRow(void* ptr, int index, void* value) +{ + static_cast(ptr)->setRow(index, *static_cast(value)); +} + +void QMatrix4x4_SetToIdentity(void* ptr) +{ + static_cast(ptr)->setToIdentity(); +} + +void* QMatrix4x4_ToAffine(void* ptr) +{ + return new QMatrix(static_cast(ptr)->toAffine()); +} + +void* QMatrix4x4_ToTransform(void* ptr) +{ + return new QTransform(static_cast(ptr)->toTransform()); +} + +void* QMatrix4x4_ToTransform2(void* ptr, float distanceToPlane) +{ + return new QTransform(static_cast(ptr)->toTransform(distanceToPlane)); +} + +void QMatrix4x4_Translate(void* ptr, void* vector) +{ + static_cast(ptr)->translate(*static_cast(vector)); +} + +void QMatrix4x4_Translate2(void* ptr, float x, float y) +{ + static_cast(ptr)->translate(x, y); +} + +void QMatrix4x4_Translate3(void* ptr, float x, float y, float z) +{ + static_cast(ptr)->translate(x, y, z); +} + +void* QMatrix4x4_Transposed(void* ptr) +{ + return new QMatrix4x4(static_cast(ptr)->transposed()); +} + +void QMatrix4x4_Viewport(void* ptr, float left, float bottom, float width, float height, float nearPlane, float farPlane) +{ + static_cast(ptr)->viewport(left, bottom, width, height, nearPlane, farPlane); +} + +void QMatrix4x4_Viewport2(void* ptr, void* rect) +{ + static_cast(ptr)->viewport(*static_cast(rect)); +} + +class MyQMouseEvent: public QMouseEvent +{ +public: + MyQMouseEvent(QEvent::Type ty, const QPointF &localPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) : QMouseEvent(ty, localPos, button, buttons, modifiers) {}; + MyQMouseEvent(QEvent::Type ty, const QPointF &localPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) : QMouseEvent(ty, localPos, screenPos, button, buttons, modifiers) {}; + MyQMouseEvent(QEvent::Type ty, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) : QMouseEvent(ty, localPos, windowPos, screenPos, button, buttons, modifiers) {}; + MyQMouseEvent(QEvent::Type ty, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source) : QMouseEvent(ty, localPos, windowPos, screenPos, button, buttons, modifiers, source) {}; +}; + +void* QMouseEvent_NewQMouseEvent(long long ty, void* localPos, long long button, long long buttons, long long modifiers) +{ + return new MyQMouseEvent(static_cast(ty), *static_cast(localPos), static_cast(button), static_cast(buttons), static_cast(modifiers)); +} + +void* QMouseEvent_NewQMouseEvent2(long long ty, void* localPos, void* screenPos, long long button, long long buttons, long long modifiers) +{ + return new MyQMouseEvent(static_cast(ty), *static_cast(localPos), *static_cast(screenPos), static_cast(button), static_cast(buttons), static_cast(modifiers)); +} + +void* QMouseEvent_NewQMouseEvent3(long long ty, void* localPos, void* windowPos, void* screenPos, long long button, long long buttons, long long modifiers) +{ + return new MyQMouseEvent(static_cast(ty), *static_cast(localPos), *static_cast(windowPos), *static_cast(screenPos), static_cast(button), static_cast(buttons), static_cast(modifiers)); +} + +void* QMouseEvent_NewQMouseEvent4(long long ty, void* localPos, void* windowPos, void* screenPos, long long button, long long buttons, long long modifiers, long long source) +{ + return new MyQMouseEvent(static_cast(ty), *static_cast(localPos), *static_cast(windowPos), *static_cast(screenPos), static_cast(button), static_cast(buttons), static_cast(modifiers), static_cast(source)); +} + +long long QMouseEvent_Button(void* ptr) +{ + return static_cast(ptr)->button(); +} + +long long QMouseEvent_Buttons(void* ptr) +{ + return static_cast(ptr)->buttons(); +} + +long long QMouseEvent_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +void* QMouseEvent_GlobalPos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->globalPos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +int QMouseEvent_GlobalX(void* ptr) +{ + return static_cast(ptr)->globalX(); +} + +int QMouseEvent_GlobalY(void* ptr) +{ + return static_cast(ptr)->globalY(); +} + +void* QMouseEvent_LocalPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->localPos()); +} + +void* QMouseEvent_Pos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->pos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QMouseEvent_ScreenPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->screenPos()); +} + +long long QMouseEvent_Source(void* ptr) +{ + return static_cast(ptr)->source(); +} + +void* QMouseEvent_WindowPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->windowPos()); +} + +int QMouseEvent_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +int QMouseEvent_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +class MyQMoveEvent: public QMoveEvent +{ +public: + MyQMoveEvent(const QPoint &pos, const QPoint &oldPos) : QMoveEvent(pos, oldPos) {}; +}; + +void* QMoveEvent_NewQMoveEvent(void* pos, void* oldPos) +{ + return new MyQMoveEvent(*static_cast(pos), *static_cast(oldPos)); +} + +void* QMoveEvent_OldPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->oldPos()); +} + +void* QMoveEvent_Pos(void* ptr) +{ + return const_cast(&static_cast(ptr)->pos()); +} + +class MyQMovie: public QMovie +{ +public: + MyQMovie(QObject *parent = Q_NULLPTR) : QMovie(parent) {QMovie_QMovie_QRegisterMetaType();}; + MyQMovie(QIODevice *device, const QByteArray &format = QByteArray(), QObject *parent = Q_NULLPTR) : QMovie(device, format, parent) {QMovie_QMovie_QRegisterMetaType();}; + MyQMovie(const QString &fileName, const QByteArray &format = QByteArray(), QObject *parent = Q_NULLPTR) : QMovie(fileName, format, parent) {QMovie_QMovie_QRegisterMetaType();}; + void Signal_Error(QImageReader::ImageReaderError error) { callbackQMovie_Error(this, error); }; + void Signal_Finished() { callbackQMovie_Finished(this); }; + void Signal_FrameChanged(int frameNumber) { callbackQMovie_FrameChanged(this, frameNumber); }; + bool jumpToNextFrame() { return callbackQMovie_JumpToNextFrame(this) != 0; }; + void Signal_Resized(const QSize & size) { callbackQMovie_Resized(this, const_cast(&size)); }; + void setPaused(bool paused) { callbackQMovie_SetPaused(this, paused); }; + void setSpeed(int percentSpeed) { callbackQMovie_SetSpeed(this, percentSpeed); }; + void start() { callbackQMovie_Start(this); }; + void Signal_Started() { callbackQMovie_Started(this); }; + void Signal_StateChanged(QMovie::MovieState state) { callbackQMovie_StateChanged(this, state); }; + void stop() { callbackQMovie_Stop(this); }; + void Signal_Updated(const QRect & rect) { callbackQMovie_Updated(this, const_cast(&rect)); }; + ~MyQMovie() { callbackQMovie_DestroyQMovie(this); }; + void childEvent(QChildEvent * event) { callbackQMovie_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQMovie_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQMovie_CustomEvent(this, event); }; + void deleteLater() { callbackQMovie_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQMovie_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQMovie_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQMovie_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQMovie_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQMovie_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQMovie_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQMovie_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQMovie*) + +int QMovie_QMovie_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QMovie_NewQMovie(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(parent)); + } else { + return new MyQMovie(static_cast(parent)); + } +} + +void* QMovie_NewQMovie2(void* device, void* format, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } else { + return new MyQMovie(static_cast(device), *static_cast(format), static_cast(parent)); + } +} + +void* QMovie_NewQMovie3(struct QtGui_PackedString fileName, void* format, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } else { + return new MyQMovie(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format), static_cast(parent)); + } +} + +void* QMovie_BackgroundColor(void* ptr) +{ + return new QColor(static_cast(ptr)->backgroundColor()); +} + +long long QMovie_CacheMode(void* ptr) +{ + return static_cast(ptr)->cacheMode(); +} + +int QMovie_CurrentFrameNumber(void* ptr) +{ + return static_cast(ptr)->currentFrameNumber(); +} + +void* QMovie_CurrentImage(void* ptr) +{ + return new QImage(static_cast(ptr)->currentImage()); +} + +void* QMovie_CurrentPixmap(void* ptr) +{ + return new QPixmap(static_cast(ptr)->currentPixmap()); +} + +void* QMovie_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +void QMovie_ConnectError(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QMovie::error), static_cast(ptr), static_cast(&MyQMovie::Signal_Error), static_cast(t)); +} + +void QMovie_DisconnectError(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QMovie::error), static_cast(ptr), static_cast(&MyQMovie::Signal_Error)); +} + +void QMovie_Error(void* ptr, long long error) +{ + static_cast(ptr)->error(static_cast(error)); +} + +struct QtGui_PackedString QMovie_FileName(void* ptr) +{ + return ({ QByteArray t73bc7e = static_cast(ptr)->fileName().toUtf8(); QtGui_PackedString { const_cast(t73bc7e.prepend("WHITESPACE").constData()+10), t73bc7e.size()-10 }; }); +} + +void QMovie_ConnectFinished(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QMovie::finished), static_cast(ptr), static_cast(&MyQMovie::Signal_Finished), static_cast(t)); +} + +void QMovie_DisconnectFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QMovie::finished), static_cast(ptr), static_cast(&MyQMovie::Signal_Finished)); +} + +void QMovie_Finished(void* ptr) +{ + static_cast(ptr)->finished(); +} + +void* QMovie_Format(void* ptr) +{ + return new QByteArray(static_cast(ptr)->format()); +} + +void QMovie_ConnectFrameChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QMovie::frameChanged), static_cast(ptr), static_cast(&MyQMovie::Signal_FrameChanged), static_cast(t)); +} + +void QMovie_DisconnectFrameChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QMovie::frameChanged), static_cast(ptr), static_cast(&MyQMovie::Signal_FrameChanged)); +} + +void QMovie_FrameChanged(void* ptr, int frameNumber) +{ + static_cast(ptr)->frameChanged(frameNumber); +} + +int QMovie_FrameCount(void* ptr) +{ + return static_cast(ptr)->frameCount(); +} + +void* QMovie_FrameRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->frameRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QMovie_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QMovie_JumpToFrame(void* ptr, int frameNumber) +{ + return static_cast(ptr)->jumpToFrame(frameNumber); +} + +char QMovie_JumpToNextFrame(void* ptr) +{ + bool returnArg; + QMetaObject::invokeMethod(static_cast(ptr), "jumpToNextFrame", Q_RETURN_ARG(bool, returnArg)); + return returnArg; +} + +char QMovie_JumpToNextFrameDefault(void* ptr) +{ + return static_cast(ptr)->QMovie::jumpToNextFrame(); +} + +long long QMovie_LastError(void* ptr) +{ + return static_cast(ptr)->lastError(); +} + +struct QtGui_PackedString QMovie_LastErrorString(void* ptr) +{ + return ({ QByteArray tc1e035 = static_cast(ptr)->lastErrorString().toUtf8(); QtGui_PackedString { const_cast(tc1e035.prepend("WHITESPACE").constData()+10), tc1e035.size()-10 }; }); +} + +int QMovie_LoopCount(void* ptr) +{ + return static_cast(ptr)->loopCount(); +} + +int QMovie_NextFrameDelay(void* ptr) +{ + return static_cast(ptr)->nextFrameDelay(); +} + +void QMovie_ConnectResized(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QMovie::resized), static_cast(ptr), static_cast(&MyQMovie::Signal_Resized), static_cast(t)); +} + +void QMovie_DisconnectResized(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QMovie::resized), static_cast(ptr), static_cast(&MyQMovie::Signal_Resized)); +} + +void QMovie_Resized(void* ptr, void* size) +{ + static_cast(ptr)->resized(*static_cast(size)); +} + +void* QMovie_ScaledSize(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->scaledSize(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QMovie_SetBackgroundColor(void* ptr, void* color) +{ + static_cast(ptr)->setBackgroundColor(*static_cast(color)); +} + +void QMovie_SetCacheMode(void* ptr, long long mode) +{ + static_cast(ptr)->setCacheMode(static_cast(mode)); +} + +void QMovie_SetDevice(void* ptr, void* device) +{ + static_cast(ptr)->setDevice(static_cast(device)); +} + +void QMovie_SetFileName(void* ptr, struct QtGui_PackedString fileName) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(fileName.data, fileName.len)); +} + +void QMovie_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void QMovie_SetPaused(void* ptr, char paused) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setPaused", Q_ARG(bool, paused != 0)); +} + +void QMovie_SetPausedDefault(void* ptr, char paused) +{ + static_cast(ptr)->QMovie::setPaused(paused != 0); +} + +void QMovie_SetScaledSize(void* ptr, void* size) +{ + static_cast(ptr)->setScaledSize(*static_cast(size)); +} + +void QMovie_SetSpeed(void* ptr, int percentSpeed) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setSpeed", Q_ARG(int, percentSpeed)); +} + +void QMovie_SetSpeedDefault(void* ptr, int percentSpeed) +{ + static_cast(ptr)->QMovie::setSpeed(percentSpeed); +} + +int QMovie_Speed(void* ptr) +{ + return static_cast(ptr)->speed(); +} + +void QMovie_Start(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "start"); +} + +void QMovie_StartDefault(void* ptr) +{ + static_cast(ptr)->QMovie::start(); +} + +void QMovie_ConnectStarted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QMovie::started), static_cast(ptr), static_cast(&MyQMovie::Signal_Started), static_cast(t)); +} + +void QMovie_DisconnectStarted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QMovie::started), static_cast(ptr), static_cast(&MyQMovie::Signal_Started)); +} + +void QMovie_Started(void* ptr) +{ + static_cast(ptr)->started(); +} + +long long QMovie_State(void* ptr) +{ + return static_cast(ptr)->state(); +} + +void QMovie_ConnectStateChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QMovie::stateChanged), static_cast(ptr), static_cast(&MyQMovie::Signal_StateChanged), static_cast(t)); +} + +void QMovie_DisconnectStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QMovie::stateChanged), static_cast(ptr), static_cast(&MyQMovie::Signal_StateChanged)); +} + +void QMovie_StateChanged(void* ptr, long long state) +{ + static_cast(ptr)->stateChanged(static_cast(state)); +} + +void QMovie_Stop(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "stop"); +} + +void QMovie_StopDefault(void* ptr) +{ + static_cast(ptr)->QMovie::stop(); +} + +struct QtGui_PackedList QMovie_QMovie_SupportedFormats() +{ + return ({ QList* tmpValue6b4223 = new QList(QMovie::supportedFormats()); QtGui_PackedList { tmpValue6b4223, tmpValue6b4223->size() }; }); +} + +void QMovie_ConnectUpdated(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QMovie::updated), static_cast(ptr), static_cast(&MyQMovie::Signal_Updated), static_cast(t)); +} + +void QMovie_DisconnectUpdated(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QMovie::updated), static_cast(ptr), static_cast(&MyQMovie::Signal_Updated)); +} + +void QMovie_Updated(void* ptr, void* rect) +{ + static_cast(ptr)->updated(*static_cast(rect)); +} + +void QMovie_DestroyQMovie(void* ptr) +{ + static_cast(ptr)->~QMovie(); +} + +void QMovie_DestroyQMovieDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QMovie___supportedFormats_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QMovie___supportedFormats_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QMovie___supportedFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMovie___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QMovie___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QMovie___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMovie___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QMovie___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QMovie___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMovie___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QMovie___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QMovie___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMovie___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QMovie___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QMovie___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QMovie___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QMovie___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QMovie___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QMovie_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QMovie::childEvent(static_cast(event)); +} + +void QMovie_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QMovie::connectNotify(*static_cast(sign)); +} + +void QMovie_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QMovie::customEvent(static_cast(event)); +} + +void QMovie_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QMovie::deleteLater(); +} + +void QMovie_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QMovie::disconnectNotify(*static_cast(sign)); +} + +char QMovie_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QMovie::event(static_cast(e)); +} + +char QMovie_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QMovie::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QMovie::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QMovie::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QMovie::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QMovie::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QMovie_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QMovie::metaObject()); +} + +void QMovie_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QMovie::timerEvent(static_cast(event)); +} + +class MyQNativeGestureEvent: public QNativeGestureEvent +{ +public: + MyQNativeGestureEvent(Qt::NativeGestureType ty, const QTouchDevice *device, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, qreal realValue, ulong sequenceId, quint64 intValue) : QNativeGestureEvent(ty, device, localPos, windowPos, screenPos, realValue, sequenceId, intValue) {}; +}; + +void* QNativeGestureEvent_NewQNativeGestureEvent2(long long ty, void* device, void* localPos, void* windowPos, void* screenPos, double realValue, unsigned long sequenceId, unsigned long long intValue) +{ + return new MyQNativeGestureEvent(static_cast(ty), static_cast(device), *static_cast(localPos), *static_cast(windowPos), *static_cast(screenPos), realValue, sequenceId, intValue); +} + +void* QNativeGestureEvent_Device(void* ptr) +{ + return const_cast(static_cast(ptr)->device()); +} + +long long QNativeGestureEvent_GestureType(void* ptr) +{ + return static_cast(ptr)->gestureType(); +} + +void* QNativeGestureEvent_GlobalPos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->globalPos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QNativeGestureEvent_LocalPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->localPos()); +} + +void* QNativeGestureEvent_Pos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->pos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QNativeGestureEvent_ScreenPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->screenPos()); +} + +double QNativeGestureEvent_Value(void* ptr) +{ + return static_cast(ptr)->value(); +} + +void* QNativeGestureEvent_WindowPos(void* ptr) +{ + return const_cast(&static_cast(ptr)->windowPos()); +} + +class MyQOffscreenSurface: public QOffscreenSurface +{ +public: + MyQOffscreenSurface(QScreen *targetScreen, QObject *parent) : QOffscreenSurface(targetScreen, parent) {QOffscreenSurface_QOffscreenSurface_QRegisterMetaType();}; + MyQOffscreenSurface(QScreen *targetScreen = Q_NULLPTR) : QOffscreenSurface(targetScreen) {QOffscreenSurface_QOffscreenSurface_QRegisterMetaType();}; + QSurfaceFormat format() const { return *static_cast(callbackQOffscreenSurface_Format(const_cast(static_cast(this)))); }; + void Signal_ScreenChanged(QScreen * screen) { callbackQOffscreenSurface_ScreenChanged(this, screen); }; + QSize size() const { return *static_cast(callbackQOffscreenSurface_Size(const_cast(static_cast(this)))); }; + QSurface::SurfaceType surfaceType() const { return static_cast(callbackQOffscreenSurface_SurfaceType(const_cast(static_cast(this)))); }; + ~MyQOffscreenSurface() { callbackQOffscreenSurface_DestroyQOffscreenSurface(this); }; + void childEvent(QChildEvent * event) { callbackQOffscreenSurface_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQOffscreenSurface_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQOffscreenSurface_CustomEvent(this, event); }; + void deleteLater() { callbackQOffscreenSurface_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQOffscreenSurface_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQOffscreenSurface_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQOffscreenSurface_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQOffscreenSurface_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQOffscreenSurface_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQOffscreenSurface_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQOffscreenSurface_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQOffscreenSurface*) + +int QOffscreenSurface_QOffscreenSurface_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOffscreenSurface_NewQOffscreenSurface(void* targetScreen, void* parent) +{ + return new MyQOffscreenSurface(static_cast(targetScreen), static_cast(parent)); +} + +void* QOffscreenSurface_NewQOffscreenSurface2(void* targetScreen) +{ + return new MyQOffscreenSurface(static_cast(targetScreen)); +} + +void QOffscreenSurface_Create(void* ptr) +{ + static_cast(ptr)->create(); +} + +void QOffscreenSurface_Destroy(void* ptr) +{ + static_cast(ptr)->destroy(); +} + +void* QOffscreenSurface_Format(void* ptr) +{ + return new QSurfaceFormat(static_cast(ptr)->format()); +} + +void* QOffscreenSurface_FormatDefault(void* ptr) +{ + return new QSurfaceFormat(static_cast(ptr)->QOffscreenSurface::format()); +} + +char QOffscreenSurface_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QOffscreenSurface_NativeHandle(void* ptr) +{ + return static_cast(ptr)->nativeHandle(); +} + +void* QOffscreenSurface_RequestedFormat(void* ptr) +{ + return new QSurfaceFormat(static_cast(ptr)->requestedFormat()); +} + +void* QOffscreenSurface_Screen(void* ptr) +{ + return static_cast(ptr)->screen(); +} + +void QOffscreenSurface_ConnectScreenChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QOffscreenSurface::screenChanged), static_cast(ptr), static_cast(&MyQOffscreenSurface::Signal_ScreenChanged), static_cast(t)); +} + +void QOffscreenSurface_DisconnectScreenChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QOffscreenSurface::screenChanged), static_cast(ptr), static_cast(&MyQOffscreenSurface::Signal_ScreenChanged)); +} + +void QOffscreenSurface_ScreenChanged(void* ptr, void* screen) +{ + static_cast(ptr)->screenChanged(static_cast(screen)); +} + +void QOffscreenSurface_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void QOffscreenSurface_SetNativeHandle(void* ptr, void* handle) +{ + static_cast(ptr)->setNativeHandle(handle); +} + +void QOffscreenSurface_SetScreen(void* ptr, void* newScreen) +{ + static_cast(ptr)->setScreen(static_cast(newScreen)); +} + +void* QOffscreenSurface_Size(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QOffscreenSurface_SizeDefault(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->QOffscreenSurface::size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +long long QOffscreenSurface_SurfaceType(void* ptr) +{ + return static_cast(ptr)->surfaceType(); +} + +long long QOffscreenSurface_SurfaceTypeDefault(void* ptr) +{ + return static_cast(ptr)->QOffscreenSurface::surfaceType(); +} + +void QOffscreenSurface_DestroyQOffscreenSurface(void* ptr) +{ + static_cast(ptr)->~QOffscreenSurface(); +} + +void QOffscreenSurface_DestroyQOffscreenSurfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QOffscreenSurface___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOffscreenSurface___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOffscreenSurface___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOffscreenSurface___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOffscreenSurface___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOffscreenSurface___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOffscreenSurface___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOffscreenSurface___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOffscreenSurface___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOffscreenSurface___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOffscreenSurface___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOffscreenSurface___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOffscreenSurface___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOffscreenSurface___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOffscreenSurface___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QOffscreenSurface_ChildEvent(void* ptr, void* event) +{ + static_cast(ptr)->childEvent(static_cast(event)); +} + +void QOffscreenSurface_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOffscreenSurface::childEvent(static_cast(event)); +} + +void QOffscreenSurface_ConnectNotify(void* ptr, void* sign) +{ + static_cast(ptr)->connectNotify(*static_cast(sign)); +} + +void QOffscreenSurface_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOffscreenSurface::connectNotify(*static_cast(sign)); +} + +void QOffscreenSurface_CustomEvent(void* ptr, void* event) +{ + static_cast(ptr)->customEvent(static_cast(event)); +} + +void QOffscreenSurface_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOffscreenSurface::customEvent(static_cast(event)); +} + +void QOffscreenSurface_DeleteLater(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "deleteLater"); +} + +void QOffscreenSurface_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QOffscreenSurface::deleteLater(); +} + +void QOffscreenSurface_DisconnectNotify(void* ptr, void* sign) +{ + static_cast(ptr)->disconnectNotify(*static_cast(sign)); +} + +void QOffscreenSurface_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOffscreenSurface::disconnectNotify(*static_cast(sign)); +} + +char QOffscreenSurface_Event(void* ptr, void* e) +{ + return static_cast(ptr)->event(static_cast(e)); +} + +char QOffscreenSurface_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QOffscreenSurface::event(static_cast(e)); +} + +char QOffscreenSurface_EventFilter(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } +} + +char QOffscreenSurface_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOffscreenSurface::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOffscreenSurface::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOffscreenSurface::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOffscreenSurface::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOffscreenSurface::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QOffscreenSurface_MetaObject(void* ptr) +{ + return const_cast(static_cast(ptr)->metaObject()); +} + +void* QOffscreenSurface_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QOffscreenSurface::metaObject()); +} + +void QOffscreenSurface_TimerEvent(void* ptr, void* event) +{ + static_cast(ptr)->timerEvent(static_cast(event)); +} + +void QOffscreenSurface_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOffscreenSurface::timerEvent(static_cast(event)); +} + +void* QOpenGLBuffer_NewQOpenGLBuffer() +{ + return new QOpenGLBuffer(); +} + +void* QOpenGLBuffer_NewQOpenGLBuffer2(long long ty) +{ + return new QOpenGLBuffer(static_cast(ty)); +} + +void* QOpenGLBuffer_NewQOpenGLBuffer3(void* other) +{ + return new QOpenGLBuffer(*static_cast(other)); +} + +void QOpenGLBuffer_Allocate(void* ptr, void* data, int count) +{ + static_cast(ptr)->allocate(data, count); +} + +void QOpenGLBuffer_Allocate2(void* ptr, int count) +{ + static_cast(ptr)->allocate(count); +} + +char QOpenGLBuffer_Bind(void* ptr) +{ + return static_cast(ptr)->bind(); +} + +unsigned int QOpenGLBuffer_BufferId(void* ptr) +{ + return static_cast(ptr)->bufferId(); +} + +char QOpenGLBuffer_Create(void* ptr) +{ + return static_cast(ptr)->create(); +} + +void QOpenGLBuffer_Destroy(void* ptr) +{ + static_cast(ptr)->destroy(); +} + +char QOpenGLBuffer_IsCreated(void* ptr) +{ + return static_cast(ptr)->isCreated(); +} + +void* QOpenGLBuffer_Map(void* ptr, long long access) +{ + return static_cast(ptr)->map(static_cast(access)); +} + +void* QOpenGLBuffer_MapRange(void* ptr, int offset, int count, long long access) +{ + return static_cast(ptr)->mapRange(offset, count, static_cast(access)); +} + +char QOpenGLBuffer_Read(void* ptr, int offset, void* data, int count) +{ + return static_cast(ptr)->read(offset, data, count); +} + +void QOpenGLBuffer_Release(void* ptr) +{ + static_cast(ptr)->release(); +} + +void QOpenGLBuffer_QOpenGLBuffer_Release2(long long ty) +{ + QOpenGLBuffer::release(static_cast(ty)); +} + +void QOpenGLBuffer_SetUsagePattern(void* ptr, long long value) +{ + static_cast(ptr)->setUsagePattern(static_cast(value)); +} + +int QOpenGLBuffer_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +long long QOpenGLBuffer_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +char QOpenGLBuffer_Unmap(void* ptr) +{ + return static_cast(ptr)->unmap(); +} + +long long QOpenGLBuffer_UsagePattern(void* ptr) +{ + return static_cast(ptr)->usagePattern(); +} + +void QOpenGLBuffer_Write(void* ptr, int offset, void* data, int count) +{ + static_cast(ptr)->write(offset, data, count); +} + +void QOpenGLBuffer_DestroyQOpenGLBuffer(void* ptr) +{ + static_cast(ptr)->~QOpenGLBuffer(); +} + +class MyQOpenGLContext: public QOpenGLContext +{ +public: + MyQOpenGLContext(QObject *parent = Q_NULLPTR) : QOpenGLContext(parent) {QOpenGLContext_QOpenGLContext_QRegisterMetaType();}; + void Signal_AboutToBeDestroyed() { callbackQOpenGLContext_AboutToBeDestroyed(this); }; + ~MyQOpenGLContext() { callbackQOpenGLContext_DestroyQOpenGLContext(this); }; + void childEvent(QChildEvent * event) { callbackQOpenGLContext_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQOpenGLContext_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQOpenGLContext_CustomEvent(this, event); }; + void deleteLater() { callbackQOpenGLContext_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQOpenGLContext_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQOpenGLContext_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQOpenGLContext_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQOpenGLContext_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQOpenGLContext_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQOpenGLContext_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQOpenGLContext_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQOpenGLContext*) + +int QOpenGLContext_QOpenGLContext_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOpenGLContext_NewQOpenGLContext(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLContext(static_cast(parent)); + } else { + return new MyQOpenGLContext(static_cast(parent)); + } +} + +void QOpenGLContext_ConnectAboutToBeDestroyed(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QOpenGLContext::aboutToBeDestroyed), static_cast(ptr), static_cast(&MyQOpenGLContext::Signal_AboutToBeDestroyed), static_cast(t)); +} + +void QOpenGLContext_DisconnectAboutToBeDestroyed(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QOpenGLContext::aboutToBeDestroyed), static_cast(ptr), static_cast(&MyQOpenGLContext::Signal_AboutToBeDestroyed)); +} + +void QOpenGLContext_AboutToBeDestroyed(void* ptr) +{ + static_cast(ptr)->aboutToBeDestroyed(); +} + +char QOpenGLContext_QOpenGLContext_AreSharing(void* first, void* second) +{ + return QOpenGLContext::areSharing(static_cast(first), static_cast(second)); +} + +char QOpenGLContext_Create(void* ptr) +{ + return static_cast(ptr)->create(); +} + +void* QOpenGLContext_QOpenGLContext_CurrentContext() +{ + return QOpenGLContext::currentContext(); +} + +unsigned int QOpenGLContext_DefaultFramebufferObject(void* ptr) +{ + return static_cast(ptr)->defaultFramebufferObject(); +} + +void QOpenGLContext_DoneCurrent(void* ptr) +{ + static_cast(ptr)->doneCurrent(); +} + +void* QOpenGLContext_ExtraFunctions(void* ptr) +{ + return static_cast(ptr)->extraFunctions(); +} + +void* QOpenGLContext_Format(void* ptr) +{ + return new QSurfaceFormat(static_cast(ptr)->format()); +} + +void* QOpenGLContext_Functions(void* ptr) +{ + return static_cast(ptr)->functions(); +} + +void* QOpenGLContext_QOpenGLContext_GlobalShareContext() +{ + return QOpenGLContext::globalShareContext(); +} + +char QOpenGLContext_HasExtension(void* ptr, void* extension) +{ + return static_cast(ptr)->hasExtension(*static_cast(extension)); +} + +char QOpenGLContext_IsOpenGLES(void* ptr) +{ + return static_cast(ptr)->isOpenGLES(); +} + +char QOpenGLContext_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QOpenGLContext_MakeCurrent(void* ptr, void* surface) +{ + if (dynamic_cast(static_cast(surface))) { + return static_cast(ptr)->makeCurrent(static_cast(surface)); + } else if (dynamic_cast(static_cast(surface))) { + return static_cast(ptr)->makeCurrent(static_cast(surface)); + } else if (dynamic_cast(static_cast(surface))) { + return static_cast(ptr)->makeCurrent(static_cast(surface)); + } else { + return static_cast(ptr)->makeCurrent(static_cast(surface)); + } +} + +void* QOpenGLContext_NativeHandle(void* ptr) +{ + return new QVariant(static_cast(ptr)->nativeHandle()); +} + +void* QOpenGLContext_QOpenGLContext_OpenGLModuleHandle() +{ + return QOpenGLContext::openGLModuleHandle(); +} + +long long QOpenGLContext_QOpenGLContext_OpenGLModuleType() +{ + return QOpenGLContext::openGLModuleType(); +} + +void* QOpenGLContext_Screen(void* ptr) +{ + return static_cast(ptr)->screen(); +} + +void QOpenGLContext_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void QOpenGLContext_SetNativeHandle(void* ptr, void* handle) +{ + static_cast(ptr)->setNativeHandle(*static_cast(handle)); +} + +void QOpenGLContext_SetScreen(void* ptr, void* screen) +{ + static_cast(ptr)->setScreen(static_cast(screen)); +} + +void QOpenGLContext_SetShareContext(void* ptr, void* shareContext) +{ + static_cast(ptr)->setShareContext(static_cast(shareContext)); +} + +void* QOpenGLContext_ShareContext(void* ptr) +{ + return static_cast(ptr)->shareContext(); +} + +void* QOpenGLContext_ShareGroup(void* ptr) +{ + return static_cast(ptr)->shareGroup(); +} + +char QOpenGLContext_QOpenGLContext_SupportsThreadedOpenGL() +{ + return QOpenGLContext::supportsThreadedOpenGL(); +} + +void* QOpenGLContext_Surface(void* ptr) +{ + return static_cast(ptr)->surface(); +} + +void QOpenGLContext_SwapBuffers(void* ptr, void* surface) +{ + if (dynamic_cast(static_cast(surface))) { + static_cast(ptr)->swapBuffers(static_cast(surface)); + } else if (dynamic_cast(static_cast(surface))) { + static_cast(ptr)->swapBuffers(static_cast(surface)); + } else if (dynamic_cast(static_cast(surface))) { + static_cast(ptr)->swapBuffers(static_cast(surface)); + } else { + static_cast(ptr)->swapBuffers(static_cast(surface)); + } +} + +void* QOpenGLContext_VersionFunctions(void* ptr, void* versionProfile) +{ + return static_cast(ptr)->versionFunctions(*static_cast(versionProfile)); +} + +void QOpenGLContext_DestroyQOpenGLContext(void* ptr) +{ + static_cast(ptr)->~QOpenGLContext(); +} + +void QOpenGLContext_DestroyQOpenGLContextDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QOpenGLContext___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLContext___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLContext___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLContext___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOpenGLContext___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLContext___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLContext___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLContext___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLContext___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLContext___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLContext___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLContext___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLContext___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLContext___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLContext___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QOpenGLContext_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLContext::childEvent(static_cast(event)); +} + +void QOpenGLContext_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLContext::connectNotify(*static_cast(sign)); +} + +void QOpenGLContext_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLContext::customEvent(static_cast(event)); +} + +void QOpenGLContext_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLContext::deleteLater(); +} + +void QOpenGLContext_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLContext::disconnectNotify(*static_cast(sign)); +} + +char QOpenGLContext_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QOpenGLContext::event(static_cast(e)); +} + +char QOpenGLContext_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLContext::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLContext::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLContext::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLContext::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOpenGLContext::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QOpenGLContext_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QOpenGLContext::metaObject()); +} + +void QOpenGLContext_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLContext::timerEvent(static_cast(event)); +} + +class MyQOpenGLContextGroup: public QOpenGLContextGroup +{ +public: + void childEvent(QChildEvent * event) { callbackQOpenGLContextGroup_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQOpenGLContextGroup_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQOpenGLContextGroup_CustomEvent(this, event); }; + void deleteLater() { callbackQOpenGLContextGroup_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQOpenGLContextGroup_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQOpenGLContextGroup_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQOpenGLContextGroup_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQOpenGLContextGroup_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQOpenGLContextGroup_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQOpenGLContextGroup_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQOpenGLContextGroup_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQOpenGLContextGroup*) + +int QOpenGLContextGroup_QOpenGLContextGroup_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOpenGLContextGroup_QOpenGLContextGroup_CurrentContextGroup() +{ + return QOpenGLContextGroup::currentContextGroup(); +} + +struct QtGui_PackedList QOpenGLContextGroup_Shares(void* ptr) +{ + return ({ QList* tmpValuec31b07 = new QList(static_cast(ptr)->shares()); QtGui_PackedList { tmpValuec31b07, tmpValuec31b07->size() }; }); +} + +void* QOpenGLContextGroup___shares_atList(void* ptr, int i) +{ + return ({QOpenGLContext * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLContextGroup___shares_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QOpenGLContextGroup___shares_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLContextGroup___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLContextGroup___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLContextGroup___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLContextGroup___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOpenGLContextGroup___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLContextGroup___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLContextGroup___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLContextGroup___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLContextGroup___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLContextGroup___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLContextGroup___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLContextGroup___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLContextGroup___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLContextGroup___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLContextGroup___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QOpenGLContextGroup_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLContextGroup::childEvent(static_cast(event)); +} + +void QOpenGLContextGroup_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLContextGroup::connectNotify(*static_cast(sign)); +} + +void QOpenGLContextGroup_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLContextGroup::customEvent(static_cast(event)); +} + +void QOpenGLContextGroup_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLContextGroup::deleteLater(); +} + +void QOpenGLContextGroup_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLContextGroup::disconnectNotify(*static_cast(sign)); +} + +char QOpenGLContextGroup_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QOpenGLContextGroup::event(static_cast(e)); +} + +char QOpenGLContextGroup_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLContextGroup::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLContextGroup::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLContextGroup::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLContextGroup::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOpenGLContextGroup::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QOpenGLContextGroup_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QOpenGLContextGroup::metaObject()); +} + +void QOpenGLContextGroup_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLContextGroup::timerEvent(static_cast(event)); +} + +class MyQOpenGLDebugLogger: public QOpenGLDebugLogger +{ +public: + MyQOpenGLDebugLogger(QObject *parent = Q_NULLPTR) : QOpenGLDebugLogger(parent) {QOpenGLDebugLogger_QOpenGLDebugLogger_QRegisterMetaType();}; + void logMessage(const QOpenGLDebugMessage & debugMessage) { callbackQOpenGLDebugLogger_LogMessage(this, const_cast(&debugMessage)); }; + void Signal_MessageLogged(const QOpenGLDebugMessage & debugMessage) { callbackQOpenGLDebugLogger_MessageLogged(this, const_cast(&debugMessage)); }; + void startLogging(QOpenGLDebugLogger::LoggingMode loggingMode) { callbackQOpenGLDebugLogger_StartLogging(this, loggingMode); }; + void stopLogging() { callbackQOpenGLDebugLogger_StopLogging(this); }; + ~MyQOpenGLDebugLogger() { callbackQOpenGLDebugLogger_DestroyQOpenGLDebugLogger(this); }; + void childEvent(QChildEvent * event) { callbackQOpenGLDebugLogger_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQOpenGLDebugLogger_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQOpenGLDebugLogger_CustomEvent(this, event); }; + void deleteLater() { callbackQOpenGLDebugLogger_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQOpenGLDebugLogger_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQOpenGLDebugLogger_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQOpenGLDebugLogger_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQOpenGLDebugLogger_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQOpenGLDebugLogger_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQOpenGLDebugLogger_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQOpenGLDebugLogger_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQOpenGLDebugLogger*) + +int QOpenGLDebugLogger_QOpenGLDebugLogger_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOpenGLDebugLogger_NewQOpenGLDebugLogger(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } else { + return new MyQOpenGLDebugLogger(static_cast(parent)); + } +} + +void QOpenGLDebugLogger_DisableMessages(void* ptr, long long sources, long long types, long long severities) +{ + static_cast(ptr)->disableMessages(static_cast(sources), static_cast(types), static_cast(severities)); +} + +void QOpenGLDebugLogger_DisableMessages2(void* ptr, void* ids, long long sources, long long types) +{ + static_cast(ptr)->disableMessages(*static_cast*>(ids), static_cast(sources), static_cast(types)); +} + +void QOpenGLDebugLogger_EnableMessages(void* ptr, long long sources, long long types, long long severities) +{ + static_cast(ptr)->enableMessages(static_cast(sources), static_cast(types), static_cast(severities)); +} + +void QOpenGLDebugLogger_EnableMessages2(void* ptr, void* ids, long long sources, long long types) +{ + static_cast(ptr)->enableMessages(*static_cast*>(ids), static_cast(sources), static_cast(types)); +} + +char QOpenGLDebugLogger_Initialize(void* ptr) +{ + return static_cast(ptr)->initialize(); +} + +char QOpenGLDebugLogger_IsLogging(void* ptr) +{ + return static_cast(ptr)->isLogging(); +} + +void QOpenGLDebugLogger_LogMessage(void* ptr, void* debugMessage) +{ + QMetaObject::invokeMethod(static_cast(ptr), "logMessage", Q_ARG(const QOpenGLDebugMessage, *static_cast(debugMessage))); +} + +void QOpenGLDebugLogger_LogMessageDefault(void* ptr, void* debugMessage) +{ + static_cast(ptr)->QOpenGLDebugLogger::logMessage(*static_cast(debugMessage)); +} + +struct QtGui_PackedList QOpenGLDebugLogger_LoggedMessages(void* ptr) +{ + return ({ QList* tmpValuefdab42 = new QList(static_cast(ptr)->loggedMessages()); QtGui_PackedList { tmpValuefdab42, tmpValuefdab42->size() }; }); +} + +long long QOpenGLDebugLogger_LoggingMode(void* ptr) +{ + return static_cast(ptr)->loggingMode(); +} + +long long QOpenGLDebugLogger_MaximumMessageLength(void* ptr) +{ + return static_cast(ptr)->maximumMessageLength(); +} + +void QOpenGLDebugLogger_ConnectMessageLogged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QOpenGLDebugLogger::messageLogged), static_cast(ptr), static_cast(&MyQOpenGLDebugLogger::Signal_MessageLogged), static_cast(t)); +} + +void QOpenGLDebugLogger_DisconnectMessageLogged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QOpenGLDebugLogger::messageLogged), static_cast(ptr), static_cast(&MyQOpenGLDebugLogger::Signal_MessageLogged)); +} + +void QOpenGLDebugLogger_MessageLogged(void* ptr, void* debugMessage) +{ + static_cast(ptr)->messageLogged(*static_cast(debugMessage)); +} + +void QOpenGLDebugLogger_PopGroup(void* ptr) +{ + static_cast(ptr)->popGroup(); +} + +void QOpenGLDebugLogger_PushGroup(void* ptr, struct QtGui_PackedString name, unsigned int id, long long source) +{ + static_cast(ptr)->pushGroup(QString::fromUtf8(name.data, name.len), id, static_cast(source)); +} + +void QOpenGLDebugLogger_StartLogging(void* ptr, long long loggingMode) +{ + qRegisterMetaType(); + QMetaObject::invokeMethod(static_cast(ptr), "startLogging", Q_ARG(QOpenGLDebugLogger::LoggingMode, static_cast(loggingMode))); +} + +void QOpenGLDebugLogger_StartLoggingDefault(void* ptr, long long loggingMode) +{ + static_cast(ptr)->QOpenGLDebugLogger::startLogging(static_cast(loggingMode)); +} + +void QOpenGLDebugLogger_StopLogging(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "stopLogging"); +} + +void QOpenGLDebugLogger_StopLoggingDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLDebugLogger::stopLogging(); +} + +void QOpenGLDebugLogger_DestroyQOpenGLDebugLogger(void* ptr) +{ + static_cast(ptr)->~QOpenGLDebugLogger(); +} + +void QOpenGLDebugLogger_DestroyQOpenGLDebugLoggerDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +unsigned int QOpenGLDebugLogger___disableMessages_ids_atList2(void* ptr, int i) +{ + return ({GLuint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QOpenGLDebugLogger___disableMessages_ids_setList2(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QOpenGLDebugLogger___disableMessages_ids_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QOpenGLDebugLogger___enableMessages_ids_atList2(void* ptr, int i) +{ + return ({GLuint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QOpenGLDebugLogger___enableMessages_ids_setList2(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QOpenGLDebugLogger___enableMessages_ids_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QOpenGLDebugLogger___loggedMessages_atList(void* ptr, int i) +{ + return new QOpenGLDebugMessage(({QOpenGLDebugMessage tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOpenGLDebugLogger___loggedMessages_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLDebugLogger___loggedMessages_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLDebugLogger___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLDebugLogger___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLDebugLogger___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLDebugLogger___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOpenGLDebugLogger___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLDebugLogger___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLDebugLogger___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLDebugLogger___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLDebugLogger___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLDebugLogger___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLDebugLogger___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLDebugLogger___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLDebugLogger___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLDebugLogger___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLDebugLogger___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QOpenGLDebugLogger_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLDebugLogger::childEvent(static_cast(event)); +} + +void QOpenGLDebugLogger_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLDebugLogger::connectNotify(*static_cast(sign)); +} + +void QOpenGLDebugLogger_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLDebugLogger::customEvent(static_cast(event)); +} + +void QOpenGLDebugLogger_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLDebugLogger::deleteLater(); +} + +void QOpenGLDebugLogger_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLDebugLogger::disconnectNotify(*static_cast(sign)); +} + +char QOpenGLDebugLogger_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QOpenGLDebugLogger::event(static_cast(e)); +} + +char QOpenGLDebugLogger_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLDebugLogger::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLDebugLogger::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLDebugLogger::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLDebugLogger::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOpenGLDebugLogger::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QOpenGLDebugLogger_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QOpenGLDebugLogger::metaObject()); +} + +void QOpenGLDebugLogger_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLDebugLogger::timerEvent(static_cast(event)); +} + +void* QOpenGLDebugMessage_NewQOpenGLDebugMessage() +{ + return new QOpenGLDebugMessage(); +} + +void* QOpenGLDebugMessage_NewQOpenGLDebugMessage2(void* debugMessage) +{ + return new QOpenGLDebugMessage(*static_cast(debugMessage)); +} + +void* QOpenGLDebugMessage_QOpenGLDebugMessage_CreateApplicationMessage(struct QtGui_PackedString text, unsigned int id, long long severity, long long ty) +{ + return new QOpenGLDebugMessage(QOpenGLDebugMessage::createApplicationMessage(QString::fromUtf8(text.data, text.len), id, static_cast(severity), static_cast(ty))); +} + +void* QOpenGLDebugMessage_QOpenGLDebugMessage_CreateThirdPartyMessage(struct QtGui_PackedString text, unsigned int id, long long severity, long long ty) +{ + return new QOpenGLDebugMessage(QOpenGLDebugMessage::createThirdPartyMessage(QString::fromUtf8(text.data, text.len), id, static_cast(severity), static_cast(ty))); +} + +unsigned int QOpenGLDebugMessage_Id(void* ptr) +{ + return static_cast(ptr)->id(); +} + +struct QtGui_PackedString QOpenGLDebugMessage_Message(void* ptr) +{ + return ({ QByteArray t195421 = static_cast(ptr)->message().toUtf8(); QtGui_PackedString { const_cast(t195421.prepend("WHITESPACE").constData()+10), t195421.size()-10 }; }); +} + +long long QOpenGLDebugMessage_Severity(void* ptr) +{ + return static_cast(ptr)->severity(); +} + +long long QOpenGLDebugMessage_Source(void* ptr) +{ + return static_cast(ptr)->source(); +} + +void QOpenGLDebugMessage_Swap(void* ptr, void* debugMessage) +{ + static_cast(ptr)->swap(*static_cast(debugMessage)); +} + +long long QOpenGLDebugMessage_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QOpenGLDebugMessage_DestroyQOpenGLDebugMessage(void* ptr) +{ + static_cast(ptr)->~QOpenGLDebugMessage(); +} + +void* QOpenGLExtraFunctions_NewQOpenGLExtraFunctions() +{ + return new QOpenGLExtraFunctions(); +} + +void* QOpenGLExtraFunctions_NewQOpenGLExtraFunctions2(void* context) +{ + return new QOpenGLExtraFunctions(static_cast(context)); +} + +void QOpenGLExtraFunctions_GlActiveShaderProgram(void* ptr, unsigned int pipeline, unsigned int program) +{ + static_cast(ptr)->glActiveShaderProgram(pipeline, program); +} + +void QOpenGLExtraFunctions_GlBeginQuery(void* ptr, unsigned int target, unsigned int id) +{ + static_cast(ptr)->glBeginQuery(target, id); +} + +void QOpenGLExtraFunctions_GlBeginTransformFeedback(void* ptr, unsigned int primitiveMode) +{ + static_cast(ptr)->glBeginTransformFeedback(primitiveMode); +} + +void QOpenGLExtraFunctions_GlBindBufferBase(void* ptr, unsigned int target, unsigned int index, unsigned int buffer) +{ + static_cast(ptr)->glBindBufferBase(target, index, buffer); +} + +void QOpenGLExtraFunctions_GlBindImageTexture(void* ptr, unsigned int unit, unsigned int texture, int level, char layered, int layer, unsigned int access, unsigned int format) +{ + static_cast(ptr)->glBindImageTexture(unit, texture, level, layered != 0, layer, access, format); +} + +void QOpenGLExtraFunctions_GlBindProgramPipeline(void* ptr, unsigned int pipeline) +{ + static_cast(ptr)->glBindProgramPipeline(pipeline); +} + +void QOpenGLExtraFunctions_GlBindSampler(void* ptr, unsigned int unit, unsigned int sampler) +{ + static_cast(ptr)->glBindSampler(unit, sampler); +} + +void QOpenGLExtraFunctions_GlBindTransformFeedback(void* ptr, unsigned int target, unsigned int id) +{ + static_cast(ptr)->glBindTransformFeedback(target, id); +} + +void QOpenGLExtraFunctions_GlBindVertexArray(void* ptr, unsigned int array) +{ + static_cast(ptr)->glBindVertexArray(array); +} + +void QOpenGLExtraFunctions_GlBlendBarrier(void* ptr) +{ + static_cast(ptr)->glBlendBarrier(); +} + +void QOpenGLExtraFunctions_GlBlendEquationSeparatei(void* ptr, unsigned int buf, unsigned int modeRGB, unsigned int modeAlpha) +{ + static_cast(ptr)->glBlendEquationSeparatei(buf, modeRGB, modeAlpha); +} + +void QOpenGLExtraFunctions_GlBlendEquationi(void* ptr, unsigned int buf, unsigned int mode) +{ + static_cast(ptr)->glBlendEquationi(buf, mode); +} + +void QOpenGLExtraFunctions_GlBlendFuncSeparatei(void* ptr, unsigned int buf, unsigned int srcRGB, unsigned int dstRGB, unsigned int srcAlpha, unsigned int dstAlpha) +{ + static_cast(ptr)->glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); +} + +void QOpenGLExtraFunctions_GlBlendFunci(void* ptr, unsigned int buf, unsigned int src, unsigned int dst) +{ + static_cast(ptr)->glBlendFunci(buf, src, dst); +} + +void QOpenGLExtraFunctions_GlBlitFramebuffer(void* ptr, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, unsigned int mask, unsigned int filter) +{ + static_cast(ptr)->glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); +} + +void QOpenGLExtraFunctions_GlClearBufferfi(void* ptr, unsigned int buffer, int drawbuffer, float depth, int stencil) +{ + static_cast(ptr)->glClearBufferfi(buffer, drawbuffer, depth, stencil); +} + +void QOpenGLExtraFunctions_GlClearBufferfv(void* ptr, unsigned int buffer, int drawbuffer, float value) +{ + static_cast(ptr)->glClearBufferfv(buffer, drawbuffer, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlClearBufferiv(void* ptr, unsigned int buffer, int drawbuffer, int value) +{ + static_cast(ptr)->glClearBufferiv(buffer, drawbuffer, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlClearBufferuiv(void* ptr, unsigned int buffer, int drawbuffer, unsigned int value) +{ + static_cast(ptr)->glClearBufferuiv(buffer, drawbuffer, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlColorMaski(void* ptr, unsigned int index, char r, char g, char b, char a) +{ + static_cast(ptr)->glColorMaski(index, r != 0, g != 0, b != 0, a != 0); +} + +void QOpenGLExtraFunctions_GlCompressedTexImage3D(void* ptr, unsigned int target, int level, unsigned int internalformat, int width, int height, int depth, int border, int imageSize, void* data) +{ + static_cast(ptr)->glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); +} + +void QOpenGLExtraFunctions_GlCompressedTexSubImage3D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, unsigned int format, int imageSize, void* data) +{ + static_cast(ptr)->glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); +} + +void QOpenGLExtraFunctions_GlCopyImageSubData(void* ptr, unsigned int srcName, unsigned int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, unsigned int dstName, unsigned int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth) +{ + static_cast(ptr)->glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); +} + +void QOpenGLExtraFunctions_GlCopyTexSubImage3D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) +{ + static_cast(ptr)->glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); +} + +void QOpenGLExtraFunctions_GlDebugMessageControl(void* ptr, unsigned int source, unsigned int ty, unsigned int severity, int count, unsigned int ids, char enabled) +{ + static_cast(ptr)->glDebugMessageControl(source, ty, severity, count, const_cast(&ids), enabled != 0); +} + +void QOpenGLExtraFunctions_GlDeleteProgramPipelines(void* ptr, int n, unsigned int pipelines) +{ + static_cast(ptr)->glDeleteProgramPipelines(n, const_cast(&pipelines)); +} + +void QOpenGLExtraFunctions_GlDeleteQueries(void* ptr, int n, unsigned int ids) +{ + static_cast(ptr)->glDeleteQueries(n, const_cast(&ids)); +} + +void QOpenGLExtraFunctions_GlDeleteSamplers(void* ptr, int count, unsigned int samplers) +{ + static_cast(ptr)->glDeleteSamplers(count, const_cast(&samplers)); +} + +void QOpenGLExtraFunctions_GlDeleteTransformFeedbacks(void* ptr, int n, unsigned int ids) +{ + static_cast(ptr)->glDeleteTransformFeedbacks(n, const_cast(&ids)); +} + +void QOpenGLExtraFunctions_GlDeleteVertexArrays(void* ptr, int n, unsigned int arrays) +{ + static_cast(ptr)->glDeleteVertexArrays(n, const_cast(&arrays)); +} + +void QOpenGLExtraFunctions_GlDisablei(void* ptr, unsigned int target, unsigned int index) +{ + static_cast(ptr)->glDisablei(target, index); +} + +void QOpenGLExtraFunctions_GlDispatchCompute(void* ptr, unsigned int num_groups_x, unsigned int num_groups_y, unsigned int num_groups_z) +{ + static_cast(ptr)->glDispatchCompute(num_groups_x, num_groups_y, num_groups_z); +} + +void QOpenGLExtraFunctions_GlDrawArraysIndirect(void* ptr, unsigned int mode, void* indirect) +{ + static_cast(ptr)->glDrawArraysIndirect(mode, indirect); +} + +void QOpenGLExtraFunctions_GlDrawArraysInstanced(void* ptr, unsigned int mode, int first, int count, int instancecount) +{ + static_cast(ptr)->glDrawArraysInstanced(mode, first, count, instancecount); +} + +void QOpenGLExtraFunctions_GlDrawBuffers(void* ptr, int n, unsigned int bufs) +{ + static_cast(ptr)->glDrawBuffers(n, const_cast(&bufs)); +} + +void QOpenGLExtraFunctions_GlDrawElementsBaseVertex(void* ptr, unsigned int mode, int count, unsigned int ty, void* indices, int basevertex) +{ + static_cast(ptr)->glDrawElementsBaseVertex(mode, count, ty, indices, basevertex); +} + +void QOpenGLExtraFunctions_GlDrawElementsIndirect(void* ptr, unsigned int mode, unsigned int ty, void* indirect) +{ + static_cast(ptr)->glDrawElementsIndirect(mode, ty, indirect); +} + +void QOpenGLExtraFunctions_GlDrawElementsInstanced(void* ptr, unsigned int mode, int count, unsigned int ty, void* indices, int instancecount) +{ + static_cast(ptr)->glDrawElementsInstanced(mode, count, ty, indices, instancecount); +} + +void QOpenGLExtraFunctions_GlDrawElementsInstancedBaseVertex(void* ptr, unsigned int mode, int count, unsigned int ty, void* indices, int instancecount, int basevertex) +{ + static_cast(ptr)->glDrawElementsInstancedBaseVertex(mode, count, ty, indices, instancecount, basevertex); +} + +void QOpenGLExtraFunctions_GlDrawRangeElements(void* ptr, unsigned int mode, unsigned int start, unsigned int end, int count, unsigned int ty, void* indices) +{ + static_cast(ptr)->glDrawRangeElements(mode, start, end, count, ty, indices); +} + +void QOpenGLExtraFunctions_GlDrawRangeElementsBaseVertex(void* ptr, unsigned int mode, unsigned int start, unsigned int end, int count, unsigned int ty, void* indices, int basevertex) +{ + static_cast(ptr)->glDrawRangeElementsBaseVertex(mode, start, end, count, ty, indices, basevertex); +} + +void QOpenGLExtraFunctions_GlEnablei(void* ptr, unsigned int target, unsigned int index) +{ + static_cast(ptr)->glEnablei(target, index); +} + +void QOpenGLExtraFunctions_GlEndQuery(void* ptr, unsigned int target) +{ + static_cast(ptr)->glEndQuery(target); +} + +void QOpenGLExtraFunctions_GlEndTransformFeedback(void* ptr) +{ + static_cast(ptr)->glEndTransformFeedback(); +} + +void QOpenGLExtraFunctions_GlFramebufferParameteri(void* ptr, unsigned int target, unsigned int pname, int param) +{ + static_cast(ptr)->glFramebufferParameteri(target, pname, param); +} + +void QOpenGLExtraFunctions_GlFramebufferTexture(void* ptr, unsigned int target, unsigned int attachment, unsigned int texture, int level) +{ + static_cast(ptr)->glFramebufferTexture(target, attachment, texture, level); +} + +void QOpenGLExtraFunctions_GlFramebufferTextureLayer(void* ptr, unsigned int target, unsigned int attachment, unsigned int texture, int level, int layer) +{ + static_cast(ptr)->glFramebufferTextureLayer(target, attachment, texture, level, layer); +} + +void QOpenGLExtraFunctions_GlGenProgramPipelines(void* ptr, int n, unsigned int pipelines) +{ + static_cast(ptr)->glGenProgramPipelines(n, &pipelines); +} + +void QOpenGLExtraFunctions_GlGenQueries(void* ptr, int n, unsigned int ids) +{ + static_cast(ptr)->glGenQueries(n, &ids); +} + +void QOpenGLExtraFunctions_GlGenSamplers(void* ptr, int count, unsigned int samplers) +{ + static_cast(ptr)->glGenSamplers(count, &samplers); +} + +void QOpenGLExtraFunctions_GlGenTransformFeedbacks(void* ptr, int n, unsigned int ids) +{ + static_cast(ptr)->glGenTransformFeedbacks(n, &ids); +} + +void QOpenGLExtraFunctions_GlGenVertexArrays(void* ptr, int n, unsigned int arrays) +{ + static_cast(ptr)->glGenVertexArrays(n, &arrays); +} + +void QOpenGLExtraFunctions_GlGetActiveUniformBlockiv(void* ptr, unsigned int program, unsigned int uniformBlockIndex, unsigned int pname, int params) +{ + static_cast(ptr)->glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetActiveUniformsiv(void* ptr, unsigned int program, int uniformCount, unsigned int uniformIndices, unsigned int pname, int params) +{ + static_cast(ptr)->glGetActiveUniformsiv(program, uniformCount, const_cast(&uniformIndices), pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetBooleani_v(void* ptr, unsigned int target, unsigned int index, char* data) +{ + static_cast(ptr)->glGetBooleani_v(target, index, reinterpret_cast(data)); +} + +void QOpenGLExtraFunctions_GlGetBufferPointerv(void* ptr, unsigned int target, unsigned int pname, void* params) +{ + static_cast(ptr)->glGetBufferPointerv(target, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetFramebufferParameteriv(void* ptr, unsigned int target, unsigned int pname, int params) +{ + static_cast(ptr)->glGetFramebufferParameteriv(target, pname, ¶ms); +} + +unsigned int QOpenGLExtraFunctions_GlGetGraphicsResetStatus(void* ptr) +{ + return static_cast(ptr)->glGetGraphicsResetStatus(); +} + +void QOpenGLExtraFunctions_GlGetIntegeri_v(void* ptr, unsigned int target, unsigned int index, int data) +{ + static_cast(ptr)->glGetIntegeri_v(target, index, &data); +} + +void QOpenGLExtraFunctions_GlGetInternalformativ(void* ptr, unsigned int target, unsigned int internalformat, unsigned int pname, int bufSize, int params) +{ + static_cast(ptr)->glGetInternalformativ(target, internalformat, pname, bufSize, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetMultisamplefv(void* ptr, unsigned int pname, unsigned int index, float val) +{ + static_cast(ptr)->glGetMultisamplefv(pname, index, &val); +} + +void QOpenGLExtraFunctions_GlGetPointerv(void* ptr, unsigned int pname, void* params) +{ + static_cast(ptr)->glGetPointerv(pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetProgramBinary(void* ptr, unsigned int program, int bufSize, int length, unsigned int binaryFormat, void* binary) +{ + static_cast(ptr)->glGetProgramBinary(program, bufSize, &length, &binaryFormat, binary); +} + +void QOpenGLExtraFunctions_GlGetProgramInterfaceiv(void* ptr, unsigned int program, unsigned int programInterface, unsigned int pname, int params) +{ + static_cast(ptr)->glGetProgramInterfaceiv(program, programInterface, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetProgramPipelineiv(void* ptr, unsigned int pipeline, unsigned int pname, int params) +{ + static_cast(ptr)->glGetProgramPipelineiv(pipeline, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetProgramResourceiv(void* ptr, unsigned int program, unsigned int programInterface, unsigned int index, int propCount, unsigned int props, int bufSize, int length, int params) +{ + static_cast(ptr)->glGetProgramResourceiv(program, programInterface, index, propCount, const_cast(&props), bufSize, &length, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetQueryObjectuiv(void* ptr, unsigned int id, unsigned int pname, unsigned int params) +{ + static_cast(ptr)->glGetQueryObjectuiv(id, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetQueryiv(void* ptr, unsigned int target, unsigned int pname, int params) +{ + static_cast(ptr)->glGetQueryiv(target, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetSamplerParameterIiv(void* ptr, unsigned int sampler, unsigned int pname, int params) +{ + static_cast(ptr)->glGetSamplerParameterIiv(sampler, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetSamplerParameterIuiv(void* ptr, unsigned int sampler, unsigned int pname, unsigned int params) +{ + static_cast(ptr)->glGetSamplerParameterIuiv(sampler, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetSamplerParameterfv(void* ptr, unsigned int sampler, unsigned int pname, float params) +{ + static_cast(ptr)->glGetSamplerParameterfv(sampler, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetSamplerParameteriv(void* ptr, unsigned int sampler, unsigned int pname, int params) +{ + static_cast(ptr)->glGetSamplerParameteriv(sampler, pname, ¶ms); +} + +struct QtGui_PackedString QOpenGLExtraFunctions_GlGetStringi(void* ptr, unsigned int name, unsigned int index) +{ + return ({ char* t7c422e = static_cast(static_cast(const_cast(static_cast(ptr)->glGetStringi(name, index)))); QtGui_PackedString { t7c422e, -1 }; }); +} + +void QOpenGLExtraFunctions_GlGetTexLevelParameterfv(void* ptr, unsigned int target, int level, unsigned int pname, float params) +{ + static_cast(ptr)->glGetTexLevelParameterfv(target, level, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetTexLevelParameteriv(void* ptr, unsigned int target, int level, unsigned int pname, int params) +{ + static_cast(ptr)->glGetTexLevelParameteriv(target, level, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetTexParameterIiv(void* ptr, unsigned int target, unsigned int pname, int params) +{ + static_cast(ptr)->glGetTexParameterIiv(target, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetTexParameterIuiv(void* ptr, unsigned int target, unsigned int pname, unsigned int params) +{ + static_cast(ptr)->glGetTexParameterIuiv(target, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetUniformuiv(void* ptr, unsigned int program, int location, unsigned int params) +{ + static_cast(ptr)->glGetUniformuiv(program, location, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetVertexAttribIiv(void* ptr, unsigned int index, unsigned int pname, int params) +{ + static_cast(ptr)->glGetVertexAttribIiv(index, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetVertexAttribIuiv(void* ptr, unsigned int index, unsigned int pname, unsigned int params) +{ + static_cast(ptr)->glGetVertexAttribIuiv(index, pname, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetnUniformfv(void* ptr, unsigned int program, int location, int bufSize, float params) +{ + static_cast(ptr)->glGetnUniformfv(program, location, bufSize, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetnUniformiv(void* ptr, unsigned int program, int location, int bufSize, int params) +{ + static_cast(ptr)->glGetnUniformiv(program, location, bufSize, ¶ms); +} + +void QOpenGLExtraFunctions_GlGetnUniformuiv(void* ptr, unsigned int program, int location, int bufSize, unsigned int params) +{ + static_cast(ptr)->glGetnUniformuiv(program, location, bufSize, ¶ms); +} + +void QOpenGLExtraFunctions_GlInvalidateFramebuffer(void* ptr, unsigned int target, int numAttachments, unsigned int attachments) +{ + static_cast(ptr)->glInvalidateFramebuffer(target, numAttachments, const_cast(&attachments)); +} + +void QOpenGLExtraFunctions_GlInvalidateSubFramebuffer(void* ptr, unsigned int target, int numAttachments, unsigned int attachments, int x, int y, int width, int height) +{ + static_cast(ptr)->glInvalidateSubFramebuffer(target, numAttachments, const_cast(&attachments), x, y, width, height); +} + +char QOpenGLExtraFunctions_GlIsEnabledi(void* ptr, unsigned int target, unsigned int index) +{ + return static_cast(ptr)->glIsEnabledi(target, index); +} + +char QOpenGLExtraFunctions_GlIsProgramPipeline(void* ptr, unsigned int pipeline) +{ + return static_cast(ptr)->glIsProgramPipeline(pipeline); +} + +char QOpenGLExtraFunctions_GlIsQuery(void* ptr, unsigned int id) +{ + return static_cast(ptr)->glIsQuery(id); +} + +char QOpenGLExtraFunctions_GlIsSampler(void* ptr, unsigned int sampler) +{ + return static_cast(ptr)->glIsSampler(sampler); +} + +char QOpenGLExtraFunctions_GlIsTransformFeedback(void* ptr, unsigned int id) +{ + return static_cast(ptr)->glIsTransformFeedback(id); +} + +char QOpenGLExtraFunctions_GlIsVertexArray(void* ptr, unsigned int array) +{ + return static_cast(ptr)->glIsVertexArray(array); +} + +void QOpenGLExtraFunctions_GlMemoryBarrier(void* ptr, unsigned int barriers) +{ + static_cast(ptr)->glMemoryBarrier(barriers); +} + +void QOpenGLExtraFunctions_GlMemoryBarrierByRegion(void* ptr, unsigned int barriers) +{ + static_cast(ptr)->glMemoryBarrierByRegion(barriers); +} + +void QOpenGLExtraFunctions_GlMinSampleShading(void* ptr, float value) +{ + static_cast(ptr)->glMinSampleShading(value); +} + +void QOpenGLExtraFunctions_GlPatchParameteri(void* ptr, unsigned int pname, int value) +{ + static_cast(ptr)->glPatchParameteri(pname, value); +} + +void QOpenGLExtraFunctions_GlPauseTransformFeedback(void* ptr) +{ + static_cast(ptr)->glPauseTransformFeedback(); +} + +void QOpenGLExtraFunctions_GlPopDebugGroup(void* ptr) +{ + static_cast(ptr)->glPopDebugGroup(); +} + +void QOpenGLExtraFunctions_GlPrimitiveBoundingBox(void* ptr, float minX, float minY, float minZ, float minW, float maxX, float maxY, float maxZ, float maxW) +{ + static_cast(ptr)->glPrimitiveBoundingBox(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); +} + +void QOpenGLExtraFunctions_GlProgramBinary(void* ptr, unsigned int program, unsigned int binaryFormat, void* binary, int length) +{ + static_cast(ptr)->glProgramBinary(program, binaryFormat, binary, length); +} + +void QOpenGLExtraFunctions_GlProgramParameteri(void* ptr, unsigned int program, unsigned int pname, int value) +{ + static_cast(ptr)->glProgramParameteri(program, pname, value); +} + +void QOpenGLExtraFunctions_GlProgramUniform1f(void* ptr, unsigned int program, int location, float v0) +{ + static_cast(ptr)->glProgramUniform1f(program, location, v0); +} + +void QOpenGLExtraFunctions_GlProgramUniform1fv(void* ptr, unsigned int program, int location, int count, float value) +{ + static_cast(ptr)->glProgramUniform1fv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform1i(void* ptr, unsigned int program, int location, int v0) +{ + static_cast(ptr)->glProgramUniform1i(program, location, v0); +} + +void QOpenGLExtraFunctions_GlProgramUniform1iv(void* ptr, unsigned int program, int location, int count, int value) +{ + static_cast(ptr)->glProgramUniform1iv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform1ui(void* ptr, unsigned int program, int location, unsigned int v0) +{ + static_cast(ptr)->glProgramUniform1ui(program, location, v0); +} + +void QOpenGLExtraFunctions_GlProgramUniform1uiv(void* ptr, unsigned int program, int location, int count, unsigned int value) +{ + static_cast(ptr)->glProgramUniform1uiv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform2f(void* ptr, unsigned int program, int location, float v0, float v1) +{ + static_cast(ptr)->glProgramUniform2f(program, location, v0, v1); +} + +void QOpenGLExtraFunctions_GlProgramUniform2fv(void* ptr, unsigned int program, int location, int count, float value) +{ + static_cast(ptr)->glProgramUniform2fv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform2i(void* ptr, unsigned int program, int location, int v0, int v1) +{ + static_cast(ptr)->glProgramUniform2i(program, location, v0, v1); +} + +void QOpenGLExtraFunctions_GlProgramUniform2iv(void* ptr, unsigned int program, int location, int count, int value) +{ + static_cast(ptr)->glProgramUniform2iv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform2ui(void* ptr, unsigned int program, int location, unsigned int v0, unsigned int v1) +{ + static_cast(ptr)->glProgramUniform2ui(program, location, v0, v1); +} + +void QOpenGLExtraFunctions_GlProgramUniform2uiv(void* ptr, unsigned int program, int location, int count, unsigned int value) +{ + static_cast(ptr)->glProgramUniform2uiv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform3f(void* ptr, unsigned int program, int location, float v0, float v1, float v2) +{ + static_cast(ptr)->glProgramUniform3f(program, location, v0, v1, v2); +} + +void QOpenGLExtraFunctions_GlProgramUniform3fv(void* ptr, unsigned int program, int location, int count, float value) +{ + static_cast(ptr)->glProgramUniform3fv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform3i(void* ptr, unsigned int program, int location, int v0, int v1, int v2) +{ + static_cast(ptr)->glProgramUniform3i(program, location, v0, v1, v2); +} + +void QOpenGLExtraFunctions_GlProgramUniform3iv(void* ptr, unsigned int program, int location, int count, int value) +{ + static_cast(ptr)->glProgramUniform3iv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform3ui(void* ptr, unsigned int program, int location, unsigned int v0, unsigned int v1, unsigned int v2) +{ + static_cast(ptr)->glProgramUniform3ui(program, location, v0, v1, v2); +} + +void QOpenGLExtraFunctions_GlProgramUniform3uiv(void* ptr, unsigned int program, int location, int count, unsigned int value) +{ + static_cast(ptr)->glProgramUniform3uiv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform4f(void* ptr, unsigned int program, int location, float v0, float v1, float v2, float v3) +{ + static_cast(ptr)->glProgramUniform4f(program, location, v0, v1, v2, v3); +} + +void QOpenGLExtraFunctions_GlProgramUniform4fv(void* ptr, unsigned int program, int location, int count, float value) +{ + static_cast(ptr)->glProgramUniform4fv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform4i(void* ptr, unsigned int program, int location, int v0, int v1, int v2, int v3) +{ + static_cast(ptr)->glProgramUniform4i(program, location, v0, v1, v2, v3); +} + +void QOpenGLExtraFunctions_GlProgramUniform4iv(void* ptr, unsigned int program, int location, int count, int value) +{ + static_cast(ptr)->glProgramUniform4iv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniform4ui(void* ptr, unsigned int program, int location, unsigned int v0, unsigned int v1, unsigned int v2, unsigned int v3) +{ + static_cast(ptr)->glProgramUniform4ui(program, location, v0, v1, v2, v3); +} + +void QOpenGLExtraFunctions_GlProgramUniform4uiv(void* ptr, unsigned int program, int location, int count, unsigned int value) +{ + static_cast(ptr)->glProgramUniform4uiv(program, location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniformMatrix2fv(void* ptr, unsigned int program, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glProgramUniformMatrix2fv(program, location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniformMatrix2x3fv(void* ptr, unsigned int program, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glProgramUniformMatrix2x3fv(program, location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniformMatrix2x4fv(void* ptr, unsigned int program, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glProgramUniformMatrix2x4fv(program, location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniformMatrix3fv(void* ptr, unsigned int program, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glProgramUniformMatrix3fv(program, location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniformMatrix3x2fv(void* ptr, unsigned int program, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glProgramUniformMatrix3x2fv(program, location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniformMatrix3x4fv(void* ptr, unsigned int program, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glProgramUniformMatrix3x4fv(program, location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniformMatrix4fv(void* ptr, unsigned int program, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glProgramUniformMatrix4fv(program, location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniformMatrix4x2fv(void* ptr, unsigned int program, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glProgramUniformMatrix4x2fv(program, location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlProgramUniformMatrix4x3fv(void* ptr, unsigned int program, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glProgramUniformMatrix4x3fv(program, location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlReadBuffer(void* ptr, unsigned int src) +{ + static_cast(ptr)->glReadBuffer(src); +} + +void QOpenGLExtraFunctions_GlReadnPixels(void* ptr, int x, int y, int width, int height, unsigned int format, unsigned int ty, int bufSize, void* data) +{ + static_cast(ptr)->glReadnPixels(x, y, width, height, format, ty, bufSize, data); +} + +void QOpenGLExtraFunctions_GlRenderbufferStorageMultisample(void* ptr, unsigned int target, int samples, unsigned int internalformat, int width, int height) +{ + static_cast(ptr)->glRenderbufferStorageMultisample(target, samples, internalformat, width, height); +} + +void QOpenGLExtraFunctions_GlResumeTransformFeedback(void* ptr) +{ + static_cast(ptr)->glResumeTransformFeedback(); +} + +void QOpenGLExtraFunctions_GlSampleMaski(void* ptr, unsigned int maskNumber, unsigned int mask) +{ + static_cast(ptr)->glSampleMaski(maskNumber, mask); +} + +void QOpenGLExtraFunctions_GlSamplerParameterIiv(void* ptr, unsigned int sampler, unsigned int pname, int param) +{ + static_cast(ptr)->glSamplerParameterIiv(sampler, pname, const_cast(¶m)); +} + +void QOpenGLExtraFunctions_GlSamplerParameterIuiv(void* ptr, unsigned int sampler, unsigned int pname, unsigned int param) +{ + static_cast(ptr)->glSamplerParameterIuiv(sampler, pname, const_cast(¶m)); +} + +void QOpenGLExtraFunctions_GlSamplerParameterf(void* ptr, unsigned int sampler, unsigned int pname, float param) +{ + static_cast(ptr)->glSamplerParameterf(sampler, pname, param); +} + +void QOpenGLExtraFunctions_GlSamplerParameterfv(void* ptr, unsigned int sampler, unsigned int pname, float param) +{ + static_cast(ptr)->glSamplerParameterfv(sampler, pname, const_cast(¶m)); +} + +void QOpenGLExtraFunctions_GlSamplerParameteri(void* ptr, unsigned int sampler, unsigned int pname, int param) +{ + static_cast(ptr)->glSamplerParameteri(sampler, pname, param); +} + +void QOpenGLExtraFunctions_GlSamplerParameteriv(void* ptr, unsigned int sampler, unsigned int pname, int param) +{ + static_cast(ptr)->glSamplerParameteriv(sampler, pname, const_cast(¶m)); +} + +void QOpenGLExtraFunctions_GlTexBuffer(void* ptr, unsigned int target, unsigned int internalformat, unsigned int buffer) +{ + static_cast(ptr)->glTexBuffer(target, internalformat, buffer); +} + +void QOpenGLExtraFunctions_GlTexImage3D(void* ptr, unsigned int target, int level, int internalformat, int width, int height, int depth, int border, unsigned int format, unsigned int ty, void* pixels) +{ + static_cast(ptr)->glTexImage3D(target, level, internalformat, width, height, depth, border, format, ty, pixels); +} + +void QOpenGLExtraFunctions_GlTexParameterIiv(void* ptr, unsigned int target, unsigned int pname, int params) +{ + static_cast(ptr)->glTexParameterIiv(target, pname, const_cast(¶ms)); +} + +void QOpenGLExtraFunctions_GlTexParameterIuiv(void* ptr, unsigned int target, unsigned int pname, unsigned int params) +{ + static_cast(ptr)->glTexParameterIuiv(target, pname, const_cast(¶ms)); +} + +void QOpenGLExtraFunctions_GlTexStorage2D(void* ptr, unsigned int target, int levels, unsigned int internalformat, int width, int height) +{ + static_cast(ptr)->glTexStorage2D(target, levels, internalformat, width, height); +} + +void QOpenGLExtraFunctions_GlTexStorage2DMultisample(void* ptr, unsigned int target, int samples, unsigned int internalformat, int width, int height, char fixedsamplelocations) +{ + static_cast(ptr)->glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations != 0); +} + +void QOpenGLExtraFunctions_GlTexStorage3D(void* ptr, unsigned int target, int levels, unsigned int internalformat, int width, int height, int depth) +{ + static_cast(ptr)->glTexStorage3D(target, levels, internalformat, width, height, depth); +} + +void QOpenGLExtraFunctions_GlTexStorage3DMultisample(void* ptr, unsigned int target, int samples, unsigned int internalformat, int width, int height, int depth, char fixedsamplelocations) +{ + static_cast(ptr)->glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations != 0); +} + +void QOpenGLExtraFunctions_GlTexSubImage3D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, unsigned int format, unsigned int ty, void* pixels) +{ + static_cast(ptr)->glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, ty, pixels); +} + +void QOpenGLExtraFunctions_GlUniform1ui(void* ptr, int location, unsigned int v0) +{ + static_cast(ptr)->glUniform1ui(location, v0); +} + +void QOpenGLExtraFunctions_GlUniform1uiv(void* ptr, int location, int count, unsigned int value) +{ + static_cast(ptr)->glUniform1uiv(location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlUniform2ui(void* ptr, int location, unsigned int v0, unsigned int v1) +{ + static_cast(ptr)->glUniform2ui(location, v0, v1); +} + +void QOpenGLExtraFunctions_GlUniform2uiv(void* ptr, int location, int count, unsigned int value) +{ + static_cast(ptr)->glUniform2uiv(location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlUniform3ui(void* ptr, int location, unsigned int v0, unsigned int v1, unsigned int v2) +{ + static_cast(ptr)->glUniform3ui(location, v0, v1, v2); +} + +void QOpenGLExtraFunctions_GlUniform3uiv(void* ptr, int location, int count, unsigned int value) +{ + static_cast(ptr)->glUniform3uiv(location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlUniform4ui(void* ptr, int location, unsigned int v0, unsigned int v1, unsigned int v2, unsigned int v3) +{ + static_cast(ptr)->glUniform4ui(location, v0, v1, v2, v3); +} + +void QOpenGLExtraFunctions_GlUniform4uiv(void* ptr, int location, int count, unsigned int value) +{ + static_cast(ptr)->glUniform4uiv(location, count, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlUniformBlockBinding(void* ptr, unsigned int program, unsigned int uniformBlockIndex, unsigned int uniformBlockBinding) +{ + static_cast(ptr)->glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); +} + +void QOpenGLExtraFunctions_GlUniformMatrix2x3fv(void* ptr, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glUniformMatrix2x3fv(location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlUniformMatrix2x4fv(void* ptr, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glUniformMatrix2x4fv(location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlUniformMatrix3x2fv(void* ptr, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glUniformMatrix3x2fv(location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlUniformMatrix3x4fv(void* ptr, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glUniformMatrix3x4fv(location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlUniformMatrix4x2fv(void* ptr, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glUniformMatrix4x2fv(location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLExtraFunctions_GlUniformMatrix4x3fv(void* ptr, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glUniformMatrix4x3fv(location, count, transpose != 0, const_cast(&value)); +} + +char QOpenGLExtraFunctions_GlUnmapBuffer(void* ptr, unsigned int target) +{ + return static_cast(ptr)->glUnmapBuffer(target); +} + +void QOpenGLExtraFunctions_GlUseProgramStages(void* ptr, unsigned int pipeline, unsigned int stages, unsigned int program) +{ + static_cast(ptr)->glUseProgramStages(pipeline, stages, program); +} + +void QOpenGLExtraFunctions_GlValidateProgramPipeline(void* ptr, unsigned int pipeline) +{ + static_cast(ptr)->glValidateProgramPipeline(pipeline); +} + +void QOpenGLExtraFunctions_GlVertexAttribBinding(void* ptr, unsigned int attribindex, unsigned int bindingindex) +{ + static_cast(ptr)->glVertexAttribBinding(attribindex, bindingindex); +} + +void QOpenGLExtraFunctions_GlVertexAttribDivisor(void* ptr, unsigned int index, unsigned int divisor) +{ + static_cast(ptr)->glVertexAttribDivisor(index, divisor); +} + +void QOpenGLExtraFunctions_GlVertexAttribFormat(void* ptr, unsigned int attribindex, int size, unsigned int ty, char normalized, unsigned int relativeoffset) +{ + static_cast(ptr)->glVertexAttribFormat(attribindex, size, ty, normalized != 0, relativeoffset); +} + +void QOpenGLExtraFunctions_GlVertexAttribI4i(void* ptr, unsigned int index, int x, int y, int z, int w) +{ + static_cast(ptr)->glVertexAttribI4i(index, x, y, z, w); +} + +void QOpenGLExtraFunctions_GlVertexAttribI4iv(void* ptr, unsigned int index, int v) +{ + static_cast(ptr)->glVertexAttribI4iv(index, const_cast(&v)); +} + +void QOpenGLExtraFunctions_GlVertexAttribI4ui(void* ptr, unsigned int index, unsigned int x, unsigned int y, unsigned int z, unsigned int w) +{ + static_cast(ptr)->glVertexAttribI4ui(index, x, y, z, w); +} + +void QOpenGLExtraFunctions_GlVertexAttribI4uiv(void* ptr, unsigned int index, unsigned int v) +{ + static_cast(ptr)->glVertexAttribI4uiv(index, const_cast(&v)); +} + +void QOpenGLExtraFunctions_GlVertexAttribIFormat(void* ptr, unsigned int attribindex, int size, unsigned int ty, unsigned int relativeoffset) +{ + static_cast(ptr)->glVertexAttribIFormat(attribindex, size, ty, relativeoffset); +} + +void QOpenGLExtraFunctions_GlVertexAttribIPointer(void* ptr, unsigned int index, int size, unsigned int ty, int stride, void* pointer) +{ + static_cast(ptr)->glVertexAttribIPointer(index, size, ty, stride, pointer); +} + +void QOpenGLExtraFunctions_GlVertexBindingDivisor(void* ptr, unsigned int bindingindex, unsigned int divisor) +{ + static_cast(ptr)->glVertexBindingDivisor(bindingindex, divisor); +} + +class MyQOpenGLFramebufferObject: public QOpenGLFramebufferObject +{ +public: + MyQOpenGLFramebufferObject(const QSize &size, GLenum target = GL_TEXTURE_2D) : QOpenGLFramebufferObject(size, target) {}; + MyQOpenGLFramebufferObject(int width, int height, GLenum target = GL_TEXTURE_2D) : QOpenGLFramebufferObject(width, height, target) {}; + MyQOpenGLFramebufferObject(const QSize &size, QOpenGLFramebufferObject::Attachment attachment, GLenum target = GL_TEXTURE_2D, GLenum internalFormat = 0) : QOpenGLFramebufferObject(size, attachment, target, internalFormat) {}; + MyQOpenGLFramebufferObject(int width, int height, QOpenGLFramebufferObject::Attachment attachment, GLenum target = GL_TEXTURE_2D, GLenum internalFormat = 0) : QOpenGLFramebufferObject(width, height, attachment, target, internalFormat) {}; + MyQOpenGLFramebufferObject(const QSize &size, const QOpenGLFramebufferObjectFormat &format) : QOpenGLFramebufferObject(size, format) {}; + MyQOpenGLFramebufferObject(int width, int height, const QOpenGLFramebufferObjectFormat &format) : QOpenGLFramebufferObject(width, height, format) {}; + ~MyQOpenGLFramebufferObject() { callbackQOpenGLFramebufferObject_DestroyQOpenGLFramebufferObject(this); }; +}; + +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject(void* size, unsigned int target) +{ + return new MyQOpenGLFramebufferObject(*static_cast(size), target); +} + +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject2(int width, int height, unsigned int target) +{ + return new MyQOpenGLFramebufferObject(width, height, target); +} + +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject3(void* size, long long attachment, unsigned int target, unsigned int internalFormat) +{ + return new MyQOpenGLFramebufferObject(*static_cast(size), static_cast(attachment), target, internalFormat); +} + +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject4(int width, int height, long long attachment, unsigned int target, unsigned int internalFormat) +{ + return new MyQOpenGLFramebufferObject(width, height, static_cast(attachment), target, internalFormat); +} + +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject5(void* size, void* format) +{ + return new MyQOpenGLFramebufferObject(*static_cast(size), *static_cast(format)); +} + +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject6(int width, int height, void* format) +{ + return new MyQOpenGLFramebufferObject(width, height, *static_cast(format)); +} + +void QOpenGLFramebufferObject_AddColorAttachment(void* ptr, void* size, unsigned int internalFormat) +{ + static_cast(ptr)->addColorAttachment(*static_cast(size), internalFormat); +} + +void QOpenGLFramebufferObject_AddColorAttachment2(void* ptr, int width, int height, unsigned int internalFormat) +{ + static_cast(ptr)->addColorAttachment(width, height, internalFormat); +} + +long long QOpenGLFramebufferObject_Attachment(void* ptr) +{ + return static_cast(ptr)->attachment(); +} + +char QOpenGLFramebufferObject_Bind(void* ptr) +{ + return static_cast(ptr)->bind(); +} + +char QOpenGLFramebufferObject_QOpenGLFramebufferObject_BindDefault() +{ + return QOpenGLFramebufferObject::bindDefault(); +} + +void QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer(void* target, void* targetRect, void* source, void* sourceRect, unsigned int buffers, unsigned int filter, int readColorAttachmentIndex, int drawColorAttachmentIndex, long long restorePolicy) +{ + QOpenGLFramebufferObject::blitFramebuffer(static_cast(target), *static_cast(targetRect), static_cast(source), *static_cast(sourceRect), buffers, filter, readColorAttachmentIndex, drawColorAttachmentIndex, static_cast(restorePolicy)); +} + +void QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer2(void* target, void* targetRect, void* source, void* sourceRect, unsigned int buffers, unsigned int filter, int readColorAttachmentIndex, int drawColorAttachmentIndex) +{ + QOpenGLFramebufferObject::blitFramebuffer(static_cast(target), *static_cast(targetRect), static_cast(source), *static_cast(sourceRect), buffers, filter, readColorAttachmentIndex, drawColorAttachmentIndex); +} + +void QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer3(void* target, void* targetRect, void* source, void* sourceRect, unsigned int buffers, unsigned int filter) +{ + QOpenGLFramebufferObject::blitFramebuffer(static_cast(target), *static_cast(targetRect), static_cast(source), *static_cast(sourceRect), buffers, filter); +} + +void QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer4(void* target, void* source, unsigned int buffers, unsigned int filter) +{ + QOpenGLFramebufferObject::blitFramebuffer(static_cast(target), static_cast(source), buffers, filter); +} + +void* QOpenGLFramebufferObject_Format(void* ptr) +{ + return new QOpenGLFramebufferObjectFormat(static_cast(ptr)->format()); +} + +unsigned int QOpenGLFramebufferObject_Handle(void* ptr) +{ + return static_cast(ptr)->handle(); +} + +char QOpenGLFramebufferObject_QOpenGLFramebufferObject_HasOpenGLFramebufferBlit() +{ + return QOpenGLFramebufferObject::hasOpenGLFramebufferBlit(); +} + +char QOpenGLFramebufferObject_QOpenGLFramebufferObject_HasOpenGLFramebufferObjects() +{ + return QOpenGLFramebufferObject::hasOpenGLFramebufferObjects(); +} + +int QOpenGLFramebufferObject_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +char QOpenGLFramebufferObject_IsBound(void* ptr) +{ + return static_cast(ptr)->isBound(); +} + +char QOpenGLFramebufferObject_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QOpenGLFramebufferObject_Release(void* ptr) +{ + return static_cast(ptr)->release(); +} + +void QOpenGLFramebufferObject_SetAttachment(void* ptr, long long attachment) +{ + static_cast(ptr)->setAttachment(static_cast(attachment)); +} + +void* QOpenGLFramebufferObject_Size(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +struct QtGui_PackedList QOpenGLFramebufferObject_Sizes(void* ptr) +{ + return ({ QVector* tmpValued3b21f = new QVector(static_cast(ptr)->sizes()); QtGui_PackedList { tmpValued3b21f, tmpValued3b21f->size() }; }); +} + +unsigned int QOpenGLFramebufferObject_TakeTexture(void* ptr) +{ + return static_cast(ptr)->takeTexture(); +} + +unsigned int QOpenGLFramebufferObject_TakeTexture2(void* ptr, int colorAttachmentIndex) +{ + return static_cast(ptr)->takeTexture(colorAttachmentIndex); +} + +unsigned int QOpenGLFramebufferObject_Texture(void* ptr) +{ + return static_cast(ptr)->texture(); +} + +struct QtGui_PackedList QOpenGLFramebufferObject_Textures(void* ptr) +{ + return ({ QVector* tmpValue0c5676 = new QVector(static_cast(ptr)->textures()); QtGui_PackedList { tmpValue0c5676, tmpValue0c5676->size() }; }); +} + +void* QOpenGLFramebufferObject_ToImage(void* ptr, char flipped) +{ + return new QImage(static_cast(ptr)->toImage(flipped != 0)); +} + +void* QOpenGLFramebufferObject_ToImage2(void* ptr) +{ + return new QImage(static_cast(ptr)->toImage()); +} + +void* QOpenGLFramebufferObject_ToImage3(void* ptr, char flipped, int colorAttachmentIndex) +{ + return new QImage(static_cast(ptr)->toImage(flipped != 0, colorAttachmentIndex)); +} + +int QOpenGLFramebufferObject_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +void QOpenGLFramebufferObject_DestroyQOpenGLFramebufferObject(void* ptr) +{ + static_cast(ptr)->~QOpenGLFramebufferObject(); +} + +void QOpenGLFramebufferObject_DestroyQOpenGLFramebufferObjectDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QOpenGLFramebufferObject___sizes_atList(void* ptr, int i) +{ + return ({ QSize tmpValue = ({QSize tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QOpenGLFramebufferObject___sizes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLFramebufferObject___sizes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QOpenGLFramebufferObject___textures_atList(void* ptr, int i) +{ + return ({GLuint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QOpenGLFramebufferObject___textures_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QOpenGLFramebufferObject___textures_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QOpenGLFramebufferObjectFormat_NewQOpenGLFramebufferObjectFormat() +{ + return new QOpenGLFramebufferObjectFormat(); +} + +void* QOpenGLFramebufferObjectFormat_NewQOpenGLFramebufferObjectFormat2(void* other) +{ + return new QOpenGLFramebufferObjectFormat(*static_cast(other)); +} + +long long QOpenGLFramebufferObjectFormat_Attachment(void* ptr) +{ + return static_cast(ptr)->attachment(); +} + +unsigned int QOpenGLFramebufferObjectFormat_InternalTextureFormat(void* ptr) +{ + return static_cast(ptr)->internalTextureFormat(); +} + +char QOpenGLFramebufferObjectFormat_Mipmap(void* ptr) +{ + return static_cast(ptr)->mipmap(); +} + +int QOpenGLFramebufferObjectFormat_Samples(void* ptr) +{ + return static_cast(ptr)->samples(); +} + +void QOpenGLFramebufferObjectFormat_SetAttachment(void* ptr, long long attachment) +{ + static_cast(ptr)->setAttachment(static_cast(attachment)); +} + +void QOpenGLFramebufferObjectFormat_SetInternalTextureFormat(void* ptr, unsigned int internalTextureFormat) +{ + static_cast(ptr)->setInternalTextureFormat(internalTextureFormat); +} + +void QOpenGLFramebufferObjectFormat_SetMipmap(void* ptr, char enabled) +{ + static_cast(ptr)->setMipmap(enabled != 0); +} + +void QOpenGLFramebufferObjectFormat_SetSamples(void* ptr, int samples) +{ + static_cast(ptr)->setSamples(samples); +} + +void QOpenGLFramebufferObjectFormat_SetTextureTarget(void* ptr, unsigned int target) +{ + static_cast(ptr)->setTextureTarget(target); +} + +unsigned int QOpenGLFramebufferObjectFormat_TextureTarget(void* ptr) +{ + return static_cast(ptr)->textureTarget(); +} + +void QOpenGLFramebufferObjectFormat_DestroyQOpenGLFramebufferObjectFormat(void* ptr) +{ + static_cast(ptr)->~QOpenGLFramebufferObjectFormat(); +} + +void* QOpenGLFunctions_NewQOpenGLFunctions() +{ + return new QOpenGLFunctions(); +} + +void* QOpenGLFunctions_NewQOpenGLFunctions2(void* context) +{ + return new QOpenGLFunctions(static_cast(context)); +} + +void QOpenGLFunctions_GlActiveTexture(void* ptr, unsigned int texture) +{ + static_cast(ptr)->glActiveTexture(texture); +} + +void QOpenGLFunctions_GlAttachShader(void* ptr, unsigned int program, unsigned int shader) +{ + static_cast(ptr)->glAttachShader(program, shader); +} + +void QOpenGLFunctions_GlBindAttribLocation(void* ptr, unsigned int program, unsigned int index, char* name) +{ + static_cast(ptr)->glBindAttribLocation(program, index, const_cast(name)); +} + +void QOpenGLFunctions_GlBindBuffer(void* ptr, unsigned int target, unsigned int buffer) +{ + static_cast(ptr)->glBindBuffer(target, buffer); +} + +void QOpenGLFunctions_GlBindFramebuffer(void* ptr, unsigned int target, unsigned int framebuffer) +{ + static_cast(ptr)->glBindFramebuffer(target, framebuffer); +} + +void QOpenGLFunctions_GlBindRenderbuffer(void* ptr, unsigned int target, unsigned int renderbuffer) +{ + static_cast(ptr)->glBindRenderbuffer(target, renderbuffer); +} + +void QOpenGLFunctions_GlBindTexture(void* ptr, unsigned int target, unsigned int texture) +{ + static_cast(ptr)->glBindTexture(target, texture); +} + +void QOpenGLFunctions_GlBlendColor(void* ptr, float red, float green, float blue, float alpha) +{ + static_cast(ptr)->glBlendColor(red, green, blue, alpha); +} + +void QOpenGLFunctions_GlBlendEquation(void* ptr, unsigned int mode) +{ + static_cast(ptr)->glBlendEquation(mode); +} + +void QOpenGLFunctions_GlBlendEquationSeparate(void* ptr, unsigned int modeRGB, unsigned int modeAlpha) +{ + static_cast(ptr)->glBlendEquationSeparate(modeRGB, modeAlpha); +} + +void QOpenGLFunctions_GlBlendFunc(void* ptr, unsigned int sfactor, unsigned int dfactor) +{ + static_cast(ptr)->glBlendFunc(sfactor, dfactor); +} + +void QOpenGLFunctions_GlBlendFuncSeparate(void* ptr, unsigned int srcRGB, unsigned int dstRGB, unsigned int srcAlpha, unsigned int dstAlpha) +{ + static_cast(ptr)->glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); +} + +unsigned int QOpenGLFunctions_GlCheckFramebufferStatus(void* ptr, unsigned int target) +{ + return static_cast(ptr)->glCheckFramebufferStatus(target); +} + +void QOpenGLFunctions_GlClear(void* ptr, unsigned int mask) +{ + static_cast(ptr)->glClear(mask); +} + +void QOpenGLFunctions_GlClearColor(void* ptr, float red, float green, float blue, float alpha) +{ + static_cast(ptr)->glClearColor(red, green, blue, alpha); +} + +void QOpenGLFunctions_GlClearDepthf(void* ptr, float depth) +{ + static_cast(ptr)->glClearDepthf(depth); +} + +void QOpenGLFunctions_GlClearStencil(void* ptr, int s) +{ + static_cast(ptr)->glClearStencil(s); +} + +void QOpenGLFunctions_GlColorMask(void* ptr, char red, char green, char blue, char alpha) +{ + static_cast(ptr)->glColorMask(red != 0, green != 0, blue != 0, alpha != 0); +} + +void QOpenGLFunctions_GlCompileShader(void* ptr, unsigned int shader) +{ + static_cast(ptr)->glCompileShader(shader); +} + +void QOpenGLFunctions_GlCompressedTexImage2D(void* ptr, unsigned int target, int level, unsigned int internalformat, int width, int height, int border, int imageSize, void* data) +{ + static_cast(ptr)->glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); +} + +void QOpenGLFunctions_GlCompressedTexSubImage2D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, int imageSize, void* data) +{ + static_cast(ptr)->glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); +} + +void QOpenGLFunctions_GlCopyTexImage2D(void* ptr, unsigned int target, int level, unsigned int internalformat, int x, int y, int width, int height, int border) +{ + static_cast(ptr)->glCopyTexImage2D(target, level, internalformat, x, y, width, height, border); +} + +void QOpenGLFunctions_GlCopyTexSubImage2D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) +{ + static_cast(ptr)->glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); +} + +unsigned int QOpenGLFunctions_GlCreateProgram(void* ptr) +{ + return static_cast(ptr)->glCreateProgram(); +} + +unsigned int QOpenGLFunctions_GlCreateShader(void* ptr, unsigned int ty) +{ + return static_cast(ptr)->glCreateShader(ty); +} + +void QOpenGLFunctions_GlCullFace(void* ptr, unsigned int mode) +{ + static_cast(ptr)->glCullFace(mode); +} + +void QOpenGLFunctions_GlDeleteBuffers(void* ptr, int n, unsigned int buffers) +{ + static_cast(ptr)->glDeleteBuffers(n, const_cast(&buffers)); +} + +void QOpenGLFunctions_GlDeleteFramebuffers(void* ptr, int n, unsigned int framebuffers) +{ + static_cast(ptr)->glDeleteFramebuffers(n, const_cast(&framebuffers)); +} + +void QOpenGLFunctions_GlDeleteProgram(void* ptr, unsigned int program) +{ + static_cast(ptr)->glDeleteProgram(program); +} + +void QOpenGLFunctions_GlDeleteRenderbuffers(void* ptr, int n, unsigned int renderbuffers) +{ + static_cast(ptr)->glDeleteRenderbuffers(n, const_cast(&renderbuffers)); +} + +void QOpenGLFunctions_GlDeleteShader(void* ptr, unsigned int shader) +{ + static_cast(ptr)->glDeleteShader(shader); +} + +void QOpenGLFunctions_GlDeleteTextures(void* ptr, int n, unsigned int textures) +{ + static_cast(ptr)->glDeleteTextures(n, const_cast(&textures)); +} + +void QOpenGLFunctions_GlDepthFunc(void* ptr, unsigned int fu) +{ + static_cast(ptr)->glDepthFunc(fu); +} + +void QOpenGLFunctions_GlDepthMask(void* ptr, char flag) +{ + static_cast(ptr)->glDepthMask(flag != 0); +} + +void QOpenGLFunctions_GlDepthRangef(void* ptr, float zNear, float zFar) +{ + static_cast(ptr)->glDepthRangef(zNear, zFar); +} + +void QOpenGLFunctions_GlDetachShader(void* ptr, unsigned int program, unsigned int shader) +{ + static_cast(ptr)->glDetachShader(program, shader); +} + +void QOpenGLFunctions_GlDisable(void* ptr, unsigned int cap) +{ + static_cast(ptr)->glDisable(cap); +} + +void QOpenGLFunctions_GlDisableVertexAttribArray(void* ptr, unsigned int index) +{ + static_cast(ptr)->glDisableVertexAttribArray(index); +} + +void QOpenGLFunctions_GlDrawArrays(void* ptr, unsigned int mode, int first, int count) +{ + static_cast(ptr)->glDrawArrays(mode, first, count); +} + +void QOpenGLFunctions_GlDrawElements(void* ptr, unsigned int mode, int count, unsigned int ty, void* indices) +{ + static_cast(ptr)->glDrawElements(mode, count, ty, indices); +} + +void QOpenGLFunctions_GlEnable(void* ptr, unsigned int cap) +{ + static_cast(ptr)->glEnable(cap); +} + +void QOpenGLFunctions_GlEnableVertexAttribArray(void* ptr, unsigned int index) +{ + static_cast(ptr)->glEnableVertexAttribArray(index); +} + +void QOpenGLFunctions_GlFinish(void* ptr) +{ + static_cast(ptr)->glFinish(); +} + +void QOpenGLFunctions_GlFlush(void* ptr) +{ + static_cast(ptr)->glFlush(); +} + +void QOpenGLFunctions_GlFramebufferRenderbuffer(void* ptr, unsigned int target, unsigned int attachment, unsigned int renderbuffertarget, unsigned int renderbuffer) +{ + static_cast(ptr)->glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); +} + +void QOpenGLFunctions_GlFramebufferTexture2D(void* ptr, unsigned int target, unsigned int attachment, unsigned int textarget, unsigned int texture, int level) +{ + static_cast(ptr)->glFramebufferTexture2D(target, attachment, textarget, texture, level); +} + +void QOpenGLFunctions_GlFrontFace(void* ptr, unsigned int mode) +{ + static_cast(ptr)->glFrontFace(mode); +} + +void QOpenGLFunctions_GlGenBuffers(void* ptr, int n, unsigned int buffers) +{ + static_cast(ptr)->glGenBuffers(n, &buffers); +} + +void QOpenGLFunctions_GlGenFramebuffers(void* ptr, int n, unsigned int framebuffers) +{ + static_cast(ptr)->glGenFramebuffers(n, &framebuffers); +} + +void QOpenGLFunctions_GlGenRenderbuffers(void* ptr, int n, unsigned int renderbuffers) +{ + static_cast(ptr)->glGenRenderbuffers(n, &renderbuffers); +} + +void QOpenGLFunctions_GlGenTextures(void* ptr, int n, unsigned int textures) +{ + static_cast(ptr)->glGenTextures(n, &textures); +} + +void QOpenGLFunctions_GlGenerateMipmap(void* ptr, unsigned int target) +{ + static_cast(ptr)->glGenerateMipmap(target); +} + +void QOpenGLFunctions_GlGetActiveAttrib(void* ptr, unsigned int program, unsigned int index, int bufsize, int length, int size, unsigned int ty, char* name) +{ + static_cast(ptr)->glGetActiveAttrib(program, index, bufsize, &length, &size, &ty, name); +} + +void QOpenGLFunctions_GlGetActiveUniform(void* ptr, unsigned int program, unsigned int index, int bufsize, int length, int size, unsigned int ty, char* name) +{ + static_cast(ptr)->glGetActiveUniform(program, index, bufsize, &length, &size, &ty, name); +} + +void QOpenGLFunctions_GlGetAttachedShaders(void* ptr, unsigned int program, int maxcount, int count, unsigned int shaders) +{ + static_cast(ptr)->glGetAttachedShaders(program, maxcount, &count, &shaders); +} + +int QOpenGLFunctions_GlGetAttribLocation(void* ptr, unsigned int program, char* name) +{ + return static_cast(ptr)->glGetAttribLocation(program, const_cast(name)); +} + +void QOpenGLFunctions_GlGetBooleanv(void* ptr, unsigned int pname, char* params) +{ + static_cast(ptr)->glGetBooleanv(pname, reinterpret_cast(params)); +} + +void QOpenGLFunctions_GlGetBufferParameteriv(void* ptr, unsigned int target, unsigned int pname, int params) +{ + static_cast(ptr)->glGetBufferParameteriv(target, pname, ¶ms); +} + +unsigned int QOpenGLFunctions_GlGetError(void* ptr) +{ + return static_cast(ptr)->glGetError(); +} + +void QOpenGLFunctions_GlGetFloatv(void* ptr, unsigned int pname, float params) +{ + static_cast(ptr)->glGetFloatv(pname, ¶ms); +} + +void QOpenGLFunctions_GlGetFramebufferAttachmentParameteriv(void* ptr, unsigned int target, unsigned int attachment, unsigned int pname, int params) +{ + static_cast(ptr)->glGetFramebufferAttachmentParameteriv(target, attachment, pname, ¶ms); +} + +void QOpenGLFunctions_GlGetIntegerv(void* ptr, unsigned int pname, int params) +{ + static_cast(ptr)->glGetIntegerv(pname, ¶ms); +} + +void QOpenGLFunctions_GlGetProgramInfoLog(void* ptr, unsigned int program, int bufsize, int length, char* infolog) +{ + static_cast(ptr)->glGetProgramInfoLog(program, bufsize, &length, infolog); +} + +void QOpenGLFunctions_GlGetProgramiv(void* ptr, unsigned int program, unsigned int pname, int params) +{ + static_cast(ptr)->glGetProgramiv(program, pname, ¶ms); +} + +void QOpenGLFunctions_GlGetRenderbufferParameteriv(void* ptr, unsigned int target, unsigned int pname, int params) +{ + static_cast(ptr)->glGetRenderbufferParameteriv(target, pname, ¶ms); +} + +void QOpenGLFunctions_GlGetShaderInfoLog(void* ptr, unsigned int shader, int bufsize, int length, char* infolog) +{ + static_cast(ptr)->glGetShaderInfoLog(shader, bufsize, &length, infolog); +} + +void QOpenGLFunctions_GlGetShaderPrecisionFormat(void* ptr, unsigned int shadertype, unsigned int precisiontype, int ran, int precision) +{ + static_cast(ptr)->glGetShaderPrecisionFormat(shadertype, precisiontype, &ran, &precision); +} + +void QOpenGLFunctions_GlGetShaderSource(void* ptr, unsigned int shader, int bufsize, int length, char* source) +{ + static_cast(ptr)->glGetShaderSource(shader, bufsize, &length, source); +} + +void QOpenGLFunctions_GlGetShaderiv(void* ptr, unsigned int shader, unsigned int pname, int params) +{ + static_cast(ptr)->glGetShaderiv(shader, pname, ¶ms); +} + +struct QtGui_PackedString QOpenGLFunctions_GlGetString(void* ptr, unsigned int name) +{ + return ({ char* t88dc64 = static_cast(static_cast(const_cast(static_cast(ptr)->glGetString(name)))); QtGui_PackedString { t88dc64, -1 }; }); +} + +void QOpenGLFunctions_GlGetTexParameterfv(void* ptr, unsigned int target, unsigned int pname, float params) +{ + static_cast(ptr)->glGetTexParameterfv(target, pname, ¶ms); +} + +void QOpenGLFunctions_GlGetTexParameteriv(void* ptr, unsigned int target, unsigned int pname, int params) +{ + static_cast(ptr)->glGetTexParameteriv(target, pname, ¶ms); +} + +int QOpenGLFunctions_GlGetUniformLocation(void* ptr, unsigned int program, char* name) +{ + return static_cast(ptr)->glGetUniformLocation(program, const_cast(name)); +} + +void QOpenGLFunctions_GlGetUniformfv(void* ptr, unsigned int program, int location, float params) +{ + static_cast(ptr)->glGetUniformfv(program, location, ¶ms); +} + +void QOpenGLFunctions_GlGetUniformiv(void* ptr, unsigned int program, int location, int params) +{ + static_cast(ptr)->glGetUniformiv(program, location, ¶ms); +} + +void QOpenGLFunctions_GlGetVertexAttribPointerv(void* ptr, unsigned int index, unsigned int pname, void* pointer) +{ + static_cast(ptr)->glGetVertexAttribPointerv(index, pname, &pointer); +} + +void QOpenGLFunctions_GlGetVertexAttribfv(void* ptr, unsigned int index, unsigned int pname, float params) +{ + static_cast(ptr)->glGetVertexAttribfv(index, pname, ¶ms); +} + +void QOpenGLFunctions_GlGetVertexAttribiv(void* ptr, unsigned int index, unsigned int pname, int params) +{ + static_cast(ptr)->glGetVertexAttribiv(index, pname, ¶ms); +} + +void QOpenGLFunctions_GlHint(void* ptr, unsigned int target, unsigned int mode) +{ + static_cast(ptr)->glHint(target, mode); +} + +char QOpenGLFunctions_GlIsBuffer(void* ptr, unsigned int buffer) +{ + return static_cast(ptr)->glIsBuffer(buffer); +} + +char QOpenGLFunctions_GlIsEnabled(void* ptr, unsigned int cap) +{ + return static_cast(ptr)->glIsEnabled(cap); +} + +char QOpenGLFunctions_GlIsFramebuffer(void* ptr, unsigned int framebuffer) +{ + return static_cast(ptr)->glIsFramebuffer(framebuffer); +} + +char QOpenGLFunctions_GlIsProgram(void* ptr, unsigned int program) +{ + return static_cast(ptr)->glIsProgram(program); +} + +char QOpenGLFunctions_GlIsRenderbuffer(void* ptr, unsigned int renderbuffer) +{ + return static_cast(ptr)->glIsRenderbuffer(renderbuffer); +} + +char QOpenGLFunctions_GlIsShader(void* ptr, unsigned int shader) +{ + return static_cast(ptr)->glIsShader(shader); +} + +char QOpenGLFunctions_GlIsTexture(void* ptr, unsigned int texture) +{ + return static_cast(ptr)->glIsTexture(texture); +} + +void QOpenGLFunctions_GlLineWidth(void* ptr, float width) +{ + static_cast(ptr)->glLineWidth(width); +} + +void QOpenGLFunctions_GlLinkProgram(void* ptr, unsigned int program) +{ + static_cast(ptr)->glLinkProgram(program); +} + +void QOpenGLFunctions_GlPixelStorei(void* ptr, unsigned int pname, int param) +{ + static_cast(ptr)->glPixelStorei(pname, param); +} + +void QOpenGLFunctions_GlPolygonOffset(void* ptr, float factor, float units) +{ + static_cast(ptr)->glPolygonOffset(factor, units); +} + +void QOpenGLFunctions_GlReadPixels(void* ptr, int x, int y, int width, int height, unsigned int format, unsigned int ty, void* pixels) +{ + static_cast(ptr)->glReadPixels(x, y, width, height, format, ty, pixels); +} + +void QOpenGLFunctions_GlReleaseShaderCompiler(void* ptr) +{ + static_cast(ptr)->glReleaseShaderCompiler(); +} + +void QOpenGLFunctions_GlRenderbufferStorage(void* ptr, unsigned int target, unsigned int internalformat, int width, int height) +{ + static_cast(ptr)->glRenderbufferStorage(target, internalformat, width, height); +} + +void QOpenGLFunctions_GlSampleCoverage(void* ptr, float value, char invert) +{ + static_cast(ptr)->glSampleCoverage(value, invert != 0); +} + +void QOpenGLFunctions_GlScissor(void* ptr, int x, int y, int width, int height) +{ + static_cast(ptr)->glScissor(x, y, width, height); +} + +void QOpenGLFunctions_GlShaderBinary(void* ptr, int n, unsigned int shaders, unsigned int binaryformat, void* binary, int length) +{ + static_cast(ptr)->glShaderBinary(n, const_cast(&shaders), binaryformat, binary, length); +} + +void QOpenGLFunctions_GlStencilFunc(void* ptr, unsigned int fu, int ref, unsigned int mask) +{ + static_cast(ptr)->glStencilFunc(fu, ref, mask); +} + +void QOpenGLFunctions_GlStencilFuncSeparate(void* ptr, unsigned int face, unsigned int fu, int ref, unsigned int mask) +{ + static_cast(ptr)->glStencilFuncSeparate(face, fu, ref, mask); +} + +void QOpenGLFunctions_GlStencilMask(void* ptr, unsigned int mask) +{ + static_cast(ptr)->glStencilMask(mask); +} + +void QOpenGLFunctions_GlStencilMaskSeparate(void* ptr, unsigned int face, unsigned int mask) +{ + static_cast(ptr)->glStencilMaskSeparate(face, mask); +} + +void QOpenGLFunctions_GlStencilOp(void* ptr, unsigned int fail, unsigned int zfail, unsigned int zpass) +{ + static_cast(ptr)->glStencilOp(fail, zfail, zpass); +} + +void QOpenGLFunctions_GlStencilOpSeparate(void* ptr, unsigned int face, unsigned int fail, unsigned int zfail, unsigned int zpass) +{ + static_cast(ptr)->glStencilOpSeparate(face, fail, zfail, zpass); +} + +void QOpenGLFunctions_GlTexImage2D(void* ptr, unsigned int target, int level, int internalformat, int width, int height, int border, unsigned int format, unsigned int ty, void* pixels) +{ + static_cast(ptr)->glTexImage2D(target, level, internalformat, width, height, border, format, ty, pixels); +} + +void QOpenGLFunctions_GlTexParameterf(void* ptr, unsigned int target, unsigned int pname, float param) +{ + static_cast(ptr)->glTexParameterf(target, pname, param); +} + +void QOpenGLFunctions_GlTexParameterfv(void* ptr, unsigned int target, unsigned int pname, float params) +{ + static_cast(ptr)->glTexParameterfv(target, pname, const_cast(¶ms)); +} + +void QOpenGLFunctions_GlTexParameteri(void* ptr, unsigned int target, unsigned int pname, int param) +{ + static_cast(ptr)->glTexParameteri(target, pname, param); +} + +void QOpenGLFunctions_GlTexParameteriv(void* ptr, unsigned int target, unsigned int pname, int params) +{ + static_cast(ptr)->glTexParameteriv(target, pname, const_cast(¶ms)); +} + +void QOpenGLFunctions_GlTexSubImage2D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, unsigned int ty, void* pixels) +{ + static_cast(ptr)->glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, ty, pixels); +} + +void QOpenGLFunctions_GlUniform1f(void* ptr, int location, float x) +{ + static_cast(ptr)->glUniform1f(location, x); +} + +void QOpenGLFunctions_GlUniform1fv(void* ptr, int location, int count, float v) +{ + static_cast(ptr)->glUniform1fv(location, count, const_cast(&v)); +} + +void QOpenGLFunctions_GlUniform1i(void* ptr, int location, int x) +{ + static_cast(ptr)->glUniform1i(location, x); +} + +void QOpenGLFunctions_GlUniform1iv(void* ptr, int location, int count, int v) +{ + static_cast(ptr)->glUniform1iv(location, count, const_cast(&v)); +} + +void QOpenGLFunctions_GlUniform2f(void* ptr, int location, float x, float y) +{ + static_cast(ptr)->glUniform2f(location, x, y); +} + +void QOpenGLFunctions_GlUniform2fv(void* ptr, int location, int count, float v) +{ + static_cast(ptr)->glUniform2fv(location, count, const_cast(&v)); +} + +void QOpenGLFunctions_GlUniform2i(void* ptr, int location, int x, int y) +{ + static_cast(ptr)->glUniform2i(location, x, y); +} + +void QOpenGLFunctions_GlUniform2iv(void* ptr, int location, int count, int v) +{ + static_cast(ptr)->glUniform2iv(location, count, const_cast(&v)); +} + +void QOpenGLFunctions_GlUniform3f(void* ptr, int location, float x, float y, float z) +{ + static_cast(ptr)->glUniform3f(location, x, y, z); +} + +void QOpenGLFunctions_GlUniform3fv(void* ptr, int location, int count, float v) +{ + static_cast(ptr)->glUniform3fv(location, count, const_cast(&v)); +} + +void QOpenGLFunctions_GlUniform3i(void* ptr, int location, int x, int y, int z) +{ + static_cast(ptr)->glUniform3i(location, x, y, z); +} + +void QOpenGLFunctions_GlUniform3iv(void* ptr, int location, int count, int v) +{ + static_cast(ptr)->glUniform3iv(location, count, const_cast(&v)); +} + +void QOpenGLFunctions_GlUniform4f(void* ptr, int location, float x, float y, float z, float w) +{ + static_cast(ptr)->glUniform4f(location, x, y, z, w); +} + +void QOpenGLFunctions_GlUniform4fv(void* ptr, int location, int count, float v) +{ + static_cast(ptr)->glUniform4fv(location, count, const_cast(&v)); +} + +void QOpenGLFunctions_GlUniform4i(void* ptr, int location, int x, int y, int z, int w) +{ + static_cast(ptr)->glUniform4i(location, x, y, z, w); +} + +void QOpenGLFunctions_GlUniform4iv(void* ptr, int location, int count, int v) +{ + static_cast(ptr)->glUniform4iv(location, count, const_cast(&v)); +} + +void QOpenGLFunctions_GlUniformMatrix2fv(void* ptr, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glUniformMatrix2fv(location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLFunctions_GlUniformMatrix3fv(void* ptr, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glUniformMatrix3fv(location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLFunctions_GlUniformMatrix4fv(void* ptr, int location, int count, char transpose, float value) +{ + static_cast(ptr)->glUniformMatrix4fv(location, count, transpose != 0, const_cast(&value)); +} + +void QOpenGLFunctions_GlUseProgram(void* ptr, unsigned int program) +{ + static_cast(ptr)->glUseProgram(program); +} + +void QOpenGLFunctions_GlValidateProgram(void* ptr, unsigned int program) +{ + static_cast(ptr)->glValidateProgram(program); +} + +void QOpenGLFunctions_GlVertexAttrib1f(void* ptr, unsigned int indx, float x) +{ + static_cast(ptr)->glVertexAttrib1f(indx, x); +} + +void QOpenGLFunctions_GlVertexAttrib1fv(void* ptr, unsigned int indx, float values) +{ + static_cast(ptr)->glVertexAttrib1fv(indx, const_cast(&values)); +} + +void QOpenGLFunctions_GlVertexAttrib2f(void* ptr, unsigned int indx, float x, float y) +{ + static_cast(ptr)->glVertexAttrib2f(indx, x, y); +} + +void QOpenGLFunctions_GlVertexAttrib2fv(void* ptr, unsigned int indx, float values) +{ + static_cast(ptr)->glVertexAttrib2fv(indx, const_cast(&values)); +} + +void QOpenGLFunctions_GlVertexAttrib3f(void* ptr, unsigned int indx, float x, float y, float z) +{ + static_cast(ptr)->glVertexAttrib3f(indx, x, y, z); +} + +void QOpenGLFunctions_GlVertexAttrib3fv(void* ptr, unsigned int indx, float values) +{ + static_cast(ptr)->glVertexAttrib3fv(indx, const_cast(&values)); +} + +void QOpenGLFunctions_GlVertexAttrib4f(void* ptr, unsigned int indx, float x, float y, float z, float w) +{ + static_cast(ptr)->glVertexAttrib4f(indx, x, y, z, w); +} + +void QOpenGLFunctions_GlVertexAttrib4fv(void* ptr, unsigned int indx, float values) +{ + static_cast(ptr)->glVertexAttrib4fv(indx, const_cast(&values)); +} + +void QOpenGLFunctions_GlVertexAttribPointer(void* ptr, unsigned int indx, int size, unsigned int ty, char normalized, int stride, void* p) +{ + static_cast(ptr)->glVertexAttribPointer(indx, size, ty, normalized != 0, stride, p); +} + +void QOpenGLFunctions_GlViewport(void* ptr, int x, int y, int width, int height) +{ + static_cast(ptr)->glViewport(x, y, width, height); +} + +char QOpenGLFunctions_HasOpenGLFeature(void* ptr, long long feature) +{ + return static_cast(ptr)->hasOpenGLFeature(static_cast(feature)); +} + +void QOpenGLFunctions_InitializeOpenGLFunctions(void* ptr) +{ + static_cast(ptr)->initializeOpenGLFunctions(); +} + +long long QOpenGLFunctions_OpenGLFeatures(void* ptr) +{ + return static_cast(ptr)->openGLFeatures(); +} + +void QOpenGLFunctions_DestroyQOpenGLFunctions(void* ptr) +{ + static_cast(ptr)->~QOpenGLFunctions(); +} + +class MyQOpenGLPaintDevice: public QOpenGLPaintDevice +{ +public: + MyQOpenGLPaintDevice() : QOpenGLPaintDevice() {}; + MyQOpenGLPaintDevice(const QSize &size) : QOpenGLPaintDevice(size) {}; + MyQOpenGLPaintDevice(int width, int height) : QOpenGLPaintDevice(width, height) {}; + void ensureActiveTarget() { callbackQOpenGLPaintDevice_EnsureActiveTarget(this); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQOpenGLPaintDevice_PaintEngine(const_cast(static_cast(this)))); }; + ~MyQOpenGLPaintDevice() { callbackQOpenGLPaintDevice_DestroyQOpenGLPaintDevice(this); }; +}; + +void* QOpenGLPaintDevice_NewQOpenGLPaintDevice() +{ + return new MyQOpenGLPaintDevice(); +} + +void* QOpenGLPaintDevice_NewQOpenGLPaintDevice2(void* size) +{ + return new MyQOpenGLPaintDevice(*static_cast(size)); +} + +void* QOpenGLPaintDevice_NewQOpenGLPaintDevice3(int width, int height) +{ + return new MyQOpenGLPaintDevice(width, height); +} + +void* QOpenGLPaintDevice_Context(void* ptr) +{ + return static_cast(ptr)->context(); +} + +double QOpenGLPaintDevice_DotsPerMeterX(void* ptr) +{ + return static_cast(ptr)->dotsPerMeterX(); +} + +double QOpenGLPaintDevice_DotsPerMeterY(void* ptr) +{ + return static_cast(ptr)->dotsPerMeterY(); +} + +void QOpenGLPaintDevice_EnsureActiveTarget(void* ptr) +{ + static_cast(ptr)->ensureActiveTarget(); +} + +void QOpenGLPaintDevice_EnsureActiveTargetDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLPaintDevice::ensureActiveTarget(); +} + +void* QOpenGLPaintDevice_PaintEngine(void* ptr) +{ + return static_cast(ptr)->paintEngine(); +} + +void* QOpenGLPaintDevice_PaintEngineDefault(void* ptr) +{ + return static_cast(ptr)->QOpenGLPaintDevice::paintEngine(); +} + +char QOpenGLPaintDevice_PaintFlipped(void* ptr) +{ + return static_cast(ptr)->paintFlipped(); +} + +void QOpenGLPaintDevice_SetDevicePixelRatio(void* ptr, double devicePixelRatio) +{ + static_cast(ptr)->setDevicePixelRatio(devicePixelRatio); +} + +void QOpenGLPaintDevice_SetDotsPerMeterX(void* ptr, double dpmx) +{ + static_cast(ptr)->setDotsPerMeterX(dpmx); +} + +void QOpenGLPaintDevice_SetDotsPerMeterY(void* ptr, double dpmy) +{ + static_cast(ptr)->setDotsPerMeterY(dpmy); +} + +void QOpenGLPaintDevice_SetPaintFlipped(void* ptr, char flipped) +{ + static_cast(ptr)->setPaintFlipped(flipped != 0); +} + +void QOpenGLPaintDevice_SetSize(void* ptr, void* size) +{ + static_cast(ptr)->setSize(*static_cast(size)); +} + +void* QOpenGLPaintDevice_Size(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QOpenGLPaintDevice_DestroyQOpenGLPaintDevice(void* ptr) +{ + static_cast(ptr)->~QOpenGLPaintDevice(); +} + +void QOpenGLPaintDevice_DestroyQOpenGLPaintDeviceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QOpenGLPixelTransferOptions_NewQOpenGLPixelTransferOptions() +{ + return new QOpenGLPixelTransferOptions(); +} + +int QOpenGLPixelTransferOptions_Alignment(void* ptr) +{ + return static_cast(ptr)->alignment(); +} + +int QOpenGLPixelTransferOptions_ImageHeight(void* ptr) +{ + return static_cast(ptr)->imageHeight(); +} + +char QOpenGLPixelTransferOptions_IsLeastSignificantBitFirst(void* ptr) +{ + return static_cast(ptr)->isLeastSignificantBitFirst(); +} + +char QOpenGLPixelTransferOptions_IsSwapBytesEnabled(void* ptr) +{ + return static_cast(ptr)->isSwapBytesEnabled(); +} + +int QOpenGLPixelTransferOptions_RowLength(void* ptr) +{ + return static_cast(ptr)->rowLength(); +} + +void QOpenGLPixelTransferOptions_SetAlignment(void* ptr, int alignment) +{ + static_cast(ptr)->setAlignment(alignment); +} + +void QOpenGLPixelTransferOptions_SetImageHeight(void* ptr, int imageHeight) +{ + static_cast(ptr)->setImageHeight(imageHeight); +} + +void QOpenGLPixelTransferOptions_SetLeastSignificantByteFirst(void* ptr, char lsbFirst) +{ + static_cast(ptr)->setLeastSignificantByteFirst(lsbFirst != 0); +} + +void QOpenGLPixelTransferOptions_SetRowLength(void* ptr, int rowLength) +{ + static_cast(ptr)->setRowLength(rowLength); +} + +void QOpenGLPixelTransferOptions_SetSkipImages(void* ptr, int skipImages) +{ + static_cast(ptr)->setSkipImages(skipImages); +} + +void QOpenGLPixelTransferOptions_SetSkipPixels(void* ptr, int skipPixels) +{ + static_cast(ptr)->setSkipPixels(skipPixels); +} + +void QOpenGLPixelTransferOptions_SetSkipRows(void* ptr, int skipRows) +{ + static_cast(ptr)->setSkipRows(skipRows); +} + +void QOpenGLPixelTransferOptions_SetSwapBytesEnabled(void* ptr, char swapBytes) +{ + static_cast(ptr)->setSwapBytesEnabled(swapBytes != 0); +} + +int QOpenGLPixelTransferOptions_SkipImages(void* ptr) +{ + return static_cast(ptr)->skipImages(); +} + +int QOpenGLPixelTransferOptions_SkipPixels(void* ptr) +{ + return static_cast(ptr)->skipPixels(); +} + +int QOpenGLPixelTransferOptions_SkipRows(void* ptr) +{ + return static_cast(ptr)->skipRows(); +} + +void QOpenGLPixelTransferOptions_DestroyQOpenGLPixelTransferOptions(void* ptr) +{ + static_cast(ptr)->~QOpenGLPixelTransferOptions(); +} + +class MyQOpenGLShader: public QOpenGLShader +{ +public: + MyQOpenGLShader(QOpenGLShader::ShaderType ty, QObject *parent = Q_NULLPTR) : QOpenGLShader(ty, parent) {QOpenGLShader_QOpenGLShader_QRegisterMetaType();}; + ~MyQOpenGLShader() { callbackQOpenGLShader_DestroyQOpenGLShader(this); }; + void childEvent(QChildEvent * event) { callbackQOpenGLShader_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQOpenGLShader_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQOpenGLShader_CustomEvent(this, event); }; + void deleteLater() { callbackQOpenGLShader_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQOpenGLShader_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQOpenGLShader_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQOpenGLShader_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQOpenGLShader_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQOpenGLShader_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQOpenGLShader_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQOpenGLShader_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQOpenGLShader*) + +int QOpenGLShader_QOpenGLShader_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOpenGLShader_NewQOpenGLShader(long long ty, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } else { + return new MyQOpenGLShader(static_cast(ty), static_cast(parent)); + } +} + +char QOpenGLShader_CompileSourceCode(void* ptr, char* source) +{ + return static_cast(ptr)->compileSourceCode(const_cast(source)); +} + +char QOpenGLShader_CompileSourceCode2(void* ptr, void* source) +{ + return static_cast(ptr)->compileSourceCode(*static_cast(source)); +} + +char QOpenGLShader_CompileSourceCode3(void* ptr, struct QtGui_PackedString source) +{ + return static_cast(ptr)->compileSourceCode(QString::fromUtf8(source.data, source.len)); +} + +char QOpenGLShader_CompileSourceFile(void* ptr, struct QtGui_PackedString fileName) +{ + return static_cast(ptr)->compileSourceFile(QString::fromUtf8(fileName.data, fileName.len)); +} + +char QOpenGLShader_QOpenGLShader_HasOpenGLShaders(long long ty, void* context) +{ + return QOpenGLShader::hasOpenGLShaders(static_cast(ty), static_cast(context)); +} + +char QOpenGLShader_IsCompiled(void* ptr) +{ + return static_cast(ptr)->isCompiled(); +} + +struct QtGui_PackedString QOpenGLShader_Log(void* ptr) +{ + return ({ QByteArray t6038d9 = static_cast(ptr)->log().toUtf8(); QtGui_PackedString { const_cast(t6038d9.prepend("WHITESPACE").constData()+10), t6038d9.size()-10 }; }); +} + +unsigned int QOpenGLShader_ShaderId(void* ptr) +{ + return static_cast(ptr)->shaderId(); +} + +long long QOpenGLShader_ShaderType(void* ptr) +{ + return static_cast(ptr)->shaderType(); +} + +void* QOpenGLShader_SourceCode(void* ptr) +{ + return new QByteArray(static_cast(ptr)->sourceCode()); +} + +void QOpenGLShader_DestroyQOpenGLShader(void* ptr) +{ + static_cast(ptr)->~QOpenGLShader(); +} + +void QOpenGLShader_DestroyQOpenGLShaderDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QOpenGLShader___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLShader___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLShader___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLShader___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOpenGLShader___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLShader___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLShader___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLShader___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLShader___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLShader___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLShader___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLShader___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLShader___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLShader___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLShader___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QOpenGLShader_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLShader::childEvent(static_cast(event)); +} + +void QOpenGLShader_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLShader::connectNotify(*static_cast(sign)); +} + +void QOpenGLShader_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLShader::customEvent(static_cast(event)); +} + +void QOpenGLShader_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLShader::deleteLater(); +} + +void QOpenGLShader_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLShader::disconnectNotify(*static_cast(sign)); +} + +char QOpenGLShader_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QOpenGLShader::event(static_cast(e)); +} + +char QOpenGLShader_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLShader::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLShader::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLShader::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLShader::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOpenGLShader::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QOpenGLShader_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QOpenGLShader::metaObject()); +} + +void QOpenGLShader_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLShader::timerEvent(static_cast(event)); +} + +class MyQOpenGLShaderProgram: public QOpenGLShaderProgram +{ +public: + MyQOpenGLShaderProgram(QObject *parent = Q_NULLPTR) : QOpenGLShaderProgram(parent) {QOpenGLShaderProgram_QOpenGLShaderProgram_QRegisterMetaType();}; + bool link() { return callbackQOpenGLShaderProgram_Link(this) != 0; }; + ~MyQOpenGLShaderProgram() { callbackQOpenGLShaderProgram_DestroyQOpenGLShaderProgram(this); }; + void childEvent(QChildEvent * event) { callbackQOpenGLShaderProgram_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQOpenGLShaderProgram_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQOpenGLShaderProgram_CustomEvent(this, event); }; + void deleteLater() { callbackQOpenGLShaderProgram_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQOpenGLShaderProgram_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQOpenGLShaderProgram_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQOpenGLShaderProgram_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQOpenGLShaderProgram_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQOpenGLShaderProgram_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQOpenGLShaderProgram_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQOpenGLShaderProgram_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQOpenGLShaderProgram*) + +int QOpenGLShaderProgram_QOpenGLShaderProgram_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOpenGLShaderProgram_NewQOpenGLShaderProgram(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } else { + return new MyQOpenGLShaderProgram(static_cast(parent)); + } +} + +char QOpenGLShaderProgram_AddCacheableShaderFromSourceCode(void* ptr, long long ty, char* source) +{ + return static_cast(ptr)->addCacheableShaderFromSourceCode(static_cast(ty), const_cast(source)); +} + +char QOpenGLShaderProgram_AddCacheableShaderFromSourceCode2(void* ptr, long long ty, void* source) +{ + return static_cast(ptr)->addCacheableShaderFromSourceCode(static_cast(ty), *static_cast(source)); +} + +char QOpenGLShaderProgram_AddCacheableShaderFromSourceCode3(void* ptr, long long ty, struct QtGui_PackedString source) +{ + return static_cast(ptr)->addCacheableShaderFromSourceCode(static_cast(ty), QString::fromUtf8(source.data, source.len)); +} + +char QOpenGLShaderProgram_AddCacheableShaderFromSourceFile(void* ptr, long long ty, struct QtGui_PackedString fileName) +{ + return static_cast(ptr)->addCacheableShaderFromSourceFile(static_cast(ty), QString::fromUtf8(fileName.data, fileName.len)); +} + +char QOpenGLShaderProgram_AddShader(void* ptr, void* shader) +{ + return static_cast(ptr)->addShader(static_cast(shader)); +} + +char QOpenGLShaderProgram_AddShaderFromSourceCode(void* ptr, long long ty, char* source) +{ + return static_cast(ptr)->addShaderFromSourceCode(static_cast(ty), const_cast(source)); +} + +char QOpenGLShaderProgram_AddShaderFromSourceCode2(void* ptr, long long ty, void* source) +{ + return static_cast(ptr)->addShaderFromSourceCode(static_cast(ty), *static_cast(source)); +} + +char QOpenGLShaderProgram_AddShaderFromSourceCode3(void* ptr, long long ty, struct QtGui_PackedString source) +{ + return static_cast(ptr)->addShaderFromSourceCode(static_cast(ty), QString::fromUtf8(source.data, source.len)); +} + +char QOpenGLShaderProgram_AddShaderFromSourceFile(void* ptr, long long ty, struct QtGui_PackedString fileName) +{ + return static_cast(ptr)->addShaderFromSourceFile(static_cast(ty), QString::fromUtf8(fileName.data, fileName.len)); +} + +int QOpenGLShaderProgram_AttributeLocation(void* ptr, char* name) +{ + return static_cast(ptr)->attributeLocation(const_cast(name)); +} + +int QOpenGLShaderProgram_AttributeLocation2(void* ptr, void* name) +{ + return static_cast(ptr)->attributeLocation(*static_cast(name)); +} + +int QOpenGLShaderProgram_AttributeLocation3(void* ptr, struct QtGui_PackedString name) +{ + return static_cast(ptr)->attributeLocation(QString::fromUtf8(name.data, name.len)); +} + +char QOpenGLShaderProgram_Bind(void* ptr) +{ + return static_cast(ptr)->bind(); +} + +void QOpenGLShaderProgram_BindAttributeLocation(void* ptr, char* name, int location) +{ + static_cast(ptr)->bindAttributeLocation(const_cast(name), location); +} + +void QOpenGLShaderProgram_BindAttributeLocation2(void* ptr, void* name, int location) +{ + static_cast(ptr)->bindAttributeLocation(*static_cast(name), location); +} + +void QOpenGLShaderProgram_BindAttributeLocation3(void* ptr, struct QtGui_PackedString name, int location) +{ + static_cast(ptr)->bindAttributeLocation(QString::fromUtf8(name.data, name.len), location); +} + +char QOpenGLShaderProgram_Create(void* ptr) +{ + return static_cast(ptr)->create(); +} + +struct QtGui_PackedList QOpenGLShaderProgram_DefaultInnerTessellationLevels(void* ptr) +{ + return ({ QVector* tmpValued1ea02 = new QVector(static_cast(ptr)->defaultInnerTessellationLevels()); QtGui_PackedList { tmpValued1ea02, tmpValued1ea02->size() }; }); +} + +struct QtGui_PackedList QOpenGLShaderProgram_DefaultOuterTessellationLevels(void* ptr) +{ + return ({ QVector* tmpValue63d866 = new QVector(static_cast(ptr)->defaultOuterTessellationLevels()); QtGui_PackedList { tmpValue63d866, tmpValue63d866->size() }; }); +} + +void QOpenGLShaderProgram_DisableAttributeArray(void* ptr, int location) +{ + static_cast(ptr)->disableAttributeArray(location); +} + +void QOpenGLShaderProgram_DisableAttributeArray2(void* ptr, char* name) +{ + static_cast(ptr)->disableAttributeArray(const_cast(name)); +} + +void QOpenGLShaderProgram_EnableAttributeArray(void* ptr, int location) +{ + static_cast(ptr)->enableAttributeArray(location); +} + +void QOpenGLShaderProgram_EnableAttributeArray2(void* ptr, char* name) +{ + static_cast(ptr)->enableAttributeArray(const_cast(name)); +} + +char QOpenGLShaderProgram_QOpenGLShaderProgram_HasOpenGLShaderPrograms(void* context) +{ + return QOpenGLShaderProgram::hasOpenGLShaderPrograms(static_cast(context)); +} + +char QOpenGLShaderProgram_IsLinked(void* ptr) +{ + return static_cast(ptr)->isLinked(); +} + +char QOpenGLShaderProgram_Link(void* ptr) +{ + return static_cast(ptr)->link(); +} + +char QOpenGLShaderProgram_LinkDefault(void* ptr) +{ + return static_cast(ptr)->QOpenGLShaderProgram::link(); +} + +struct QtGui_PackedString QOpenGLShaderProgram_Log(void* ptr) +{ + return ({ QByteArray t6e5a96 = static_cast(ptr)->log().toUtf8(); QtGui_PackedString { const_cast(t6e5a96.prepend("WHITESPACE").constData()+10), t6e5a96.size()-10 }; }); +} + +int QOpenGLShaderProgram_MaxGeometryOutputVertices(void* ptr) +{ + return static_cast(ptr)->maxGeometryOutputVertices(); +} + +int QOpenGLShaderProgram_PatchVertexCount(void* ptr) +{ + return static_cast(ptr)->patchVertexCount(); +} + +unsigned int QOpenGLShaderProgram_ProgramId(void* ptr) +{ + return static_cast(ptr)->programId(); +} + +void QOpenGLShaderProgram_Release(void* ptr) +{ + static_cast(ptr)->release(); +} + +void QOpenGLShaderProgram_RemoveAllShaders(void* ptr) +{ + static_cast(ptr)->removeAllShaders(); +} + +void QOpenGLShaderProgram_RemoveShader(void* ptr, void* shader) +{ + static_cast(ptr)->removeShader(static_cast(shader)); +} + +void QOpenGLShaderProgram_SetAttributeArray(void* ptr, int location, float values, int tupleSize, int stride) +{ + static_cast(ptr)->setAttributeArray(location, const_cast(&values), tupleSize, stride); +} + +void QOpenGLShaderProgram_SetAttributeArray2(void* ptr, int location, void* values, int stride) +{ + static_cast(ptr)->setAttributeArray(location, static_cast(values), stride); +} + +void QOpenGLShaderProgram_SetAttributeArray3(void* ptr, int location, void* values, int stride) +{ + static_cast(ptr)->setAttributeArray(location, static_cast(values), stride); +} + +void QOpenGLShaderProgram_SetAttributeArray4(void* ptr, int location, void* values, int stride) +{ + static_cast(ptr)->setAttributeArray(location, static_cast(values), stride); +} + +void QOpenGLShaderProgram_SetAttributeArray5(void* ptr, int location, unsigned int ty, void* values, int tupleSize, int stride) +{ + static_cast(ptr)->setAttributeArray(location, ty, values, tupleSize, stride); +} + +void QOpenGLShaderProgram_SetAttributeArray6(void* ptr, char* name, float values, int tupleSize, int stride) +{ + static_cast(ptr)->setAttributeArray(const_cast(name), const_cast(&values), tupleSize, stride); +} + +void QOpenGLShaderProgram_SetAttributeArray7(void* ptr, char* name, void* values, int stride) +{ + static_cast(ptr)->setAttributeArray(const_cast(name), static_cast(values), stride); +} + +void QOpenGLShaderProgram_SetAttributeArray8(void* ptr, char* name, void* values, int stride) +{ + static_cast(ptr)->setAttributeArray(const_cast(name), static_cast(values), stride); +} + +void QOpenGLShaderProgram_SetAttributeArray9(void* ptr, char* name, void* values, int stride) +{ + static_cast(ptr)->setAttributeArray(const_cast(name), static_cast(values), stride); +} + +void QOpenGLShaderProgram_SetAttributeArray10(void* ptr, char* name, unsigned int ty, void* values, int tupleSize, int stride) +{ + static_cast(ptr)->setAttributeArray(const_cast(name), ty, values, tupleSize, stride); +} + +void QOpenGLShaderProgram_SetAttributeBuffer(void* ptr, int location, unsigned int ty, int offset, int tupleSize, int stride) +{ + static_cast(ptr)->setAttributeBuffer(location, ty, offset, tupleSize, stride); +} + +void QOpenGLShaderProgram_SetAttributeBuffer2(void* ptr, char* name, unsigned int ty, int offset, int tupleSize, int stride) +{ + static_cast(ptr)->setAttributeBuffer(const_cast(name), ty, offset, tupleSize, stride); +} + +void QOpenGLShaderProgram_SetAttributeValue(void* ptr, int location, float value) +{ + static_cast(ptr)->setAttributeValue(location, value); +} + +void QOpenGLShaderProgram_SetAttributeValue2(void* ptr, int location, float x, float y) +{ + static_cast(ptr)->setAttributeValue(location, x, y); +} + +void QOpenGLShaderProgram_SetAttributeValue3(void* ptr, int location, float x, float y, float z) +{ + static_cast(ptr)->setAttributeValue(location, x, y, z); +} + +void QOpenGLShaderProgram_SetAttributeValue4(void* ptr, int location, float x, float y, float z, float w) +{ + static_cast(ptr)->setAttributeValue(location, x, y, z, w); +} + +void QOpenGLShaderProgram_SetAttributeValue5(void* ptr, int location, void* value) +{ + static_cast(ptr)->setAttributeValue(location, *static_cast(value)); +} + +void QOpenGLShaderProgram_SetAttributeValue6(void* ptr, int location, void* value) +{ + static_cast(ptr)->setAttributeValue(location, *static_cast(value)); +} + +void QOpenGLShaderProgram_SetAttributeValue7(void* ptr, int location, void* value) +{ + static_cast(ptr)->setAttributeValue(location, *static_cast(value)); +} + +void QOpenGLShaderProgram_SetAttributeValue8(void* ptr, int location, void* value) +{ + static_cast(ptr)->setAttributeValue(location, *static_cast(value)); +} + +void QOpenGLShaderProgram_SetAttributeValue9(void* ptr, int location, float values, int columns, int rows) +{ + static_cast(ptr)->setAttributeValue(location, const_cast(&values), columns, rows); +} + +void QOpenGLShaderProgram_SetAttributeValue10(void* ptr, char* name, float value) +{ + static_cast(ptr)->setAttributeValue(const_cast(name), value); +} + +void QOpenGLShaderProgram_SetAttributeValue11(void* ptr, char* name, float x, float y) +{ + static_cast(ptr)->setAttributeValue(const_cast(name), x, y); +} + +void QOpenGLShaderProgram_SetAttributeValue12(void* ptr, char* name, float x, float y, float z) +{ + static_cast(ptr)->setAttributeValue(const_cast(name), x, y, z); +} + +void QOpenGLShaderProgram_SetAttributeValue13(void* ptr, char* name, float x, float y, float z, float w) +{ + static_cast(ptr)->setAttributeValue(const_cast(name), x, y, z, w); +} + +void QOpenGLShaderProgram_SetAttributeValue14(void* ptr, char* name, void* value) +{ + static_cast(ptr)->setAttributeValue(const_cast(name), *static_cast(value)); +} + +void QOpenGLShaderProgram_SetAttributeValue15(void* ptr, char* name, void* value) +{ + static_cast(ptr)->setAttributeValue(const_cast(name), *static_cast(value)); +} + +void QOpenGLShaderProgram_SetAttributeValue16(void* ptr, char* name, void* value) +{ + static_cast(ptr)->setAttributeValue(const_cast(name), *static_cast(value)); +} + +void QOpenGLShaderProgram_SetAttributeValue17(void* ptr, char* name, void* value) +{ + static_cast(ptr)->setAttributeValue(const_cast(name), *static_cast(value)); +} + +void QOpenGLShaderProgram_SetAttributeValue18(void* ptr, char* name, float values, int columns, int rows) +{ + static_cast(ptr)->setAttributeValue(const_cast(name), const_cast(&values), columns, rows); +} + +void QOpenGLShaderProgram_SetDefaultInnerTessellationLevels(void* ptr, void* levels) +{ + static_cast(ptr)->setDefaultInnerTessellationLevels(*static_cast*>(levels)); +} + +void QOpenGLShaderProgram_SetDefaultOuterTessellationLevels(void* ptr, void* levels) +{ + static_cast(ptr)->setDefaultOuterTessellationLevels(*static_cast*>(levels)); +} + +void QOpenGLShaderProgram_SetPatchVertexCount(void* ptr, int count) +{ + static_cast(ptr)->setPatchVertexCount(count); +} + +void QOpenGLShaderProgram_SetUniformValue(void* ptr, int location, float value) +{ + static_cast(ptr)->setUniformValue(location, value); +} + +void QOpenGLShaderProgram_SetUniformValue2(void* ptr, int location, int value) +{ + static_cast(ptr)->setUniformValue(location, value); +} + +void QOpenGLShaderProgram_SetUniformValue3(void* ptr, int location, unsigned int value) +{ + static_cast(ptr)->setUniformValue(location, value); +} + +void QOpenGLShaderProgram_SetUniformValue4(void* ptr, int location, float x, float y) +{ + static_cast(ptr)->setUniformValue(location, x, y); +} + +void QOpenGLShaderProgram_SetUniformValue5(void* ptr, int location, float x, float y, float z) +{ + static_cast(ptr)->setUniformValue(location, x, y, z); +} + +void QOpenGLShaderProgram_SetUniformValue6(void* ptr, int location, float x, float y, float z, float w) +{ + static_cast(ptr)->setUniformValue(location, x, y, z, w); +} + +void QOpenGLShaderProgram_SetUniformValue7(void* ptr, int location, void* value) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValue8(void* ptr, int location, void* value) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValue9(void* ptr, int location, void* value) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValue10(void* ptr, int location, void* color) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(color)); +} + +void QOpenGLShaderProgram_SetUniformValue11(void* ptr, int location, void* point) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(point)); +} + +void QOpenGLShaderProgram_SetUniformValue12(void* ptr, int location, void* point) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(point)); +} + +void QOpenGLShaderProgram_SetUniformValue13(void* ptr, int location, void* size) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(size)); +} + +void QOpenGLShaderProgram_SetUniformValue14(void* ptr, int location, void* size) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(size)); +} + +void QOpenGLShaderProgram_SetUniformValue23(void* ptr, int location, void* value) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValue27(void* ptr, int location, void* value) +{ + static_cast(ptr)->setUniformValue(location, *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValue28(void* ptr, char* name, float value) +{ + static_cast(ptr)->setUniformValue(const_cast(name), value); +} + +void QOpenGLShaderProgram_SetUniformValue29(void* ptr, char* name, int value) +{ + static_cast(ptr)->setUniformValue(const_cast(name), value); +} + +void QOpenGLShaderProgram_SetUniformValue30(void* ptr, char* name, unsigned int value) +{ + static_cast(ptr)->setUniformValue(const_cast(name), value); +} + +void QOpenGLShaderProgram_SetUniformValue31(void* ptr, char* name, float x, float y) +{ + static_cast(ptr)->setUniformValue(const_cast(name), x, y); +} + +void QOpenGLShaderProgram_SetUniformValue32(void* ptr, char* name, float x, float y, float z) +{ + static_cast(ptr)->setUniformValue(const_cast(name), x, y, z); +} + +void QOpenGLShaderProgram_SetUniformValue33(void* ptr, char* name, float x, float y, float z, float w) +{ + static_cast(ptr)->setUniformValue(const_cast(name), x, y, z, w); +} + +void QOpenGLShaderProgram_SetUniformValue34(void* ptr, char* name, void* value) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValue35(void* ptr, char* name, void* value) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValue36(void* ptr, char* name, void* value) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValue37(void* ptr, char* name, void* color) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(color)); +} + +void QOpenGLShaderProgram_SetUniformValue38(void* ptr, char* name, void* point) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(point)); +} + +void QOpenGLShaderProgram_SetUniformValue39(void* ptr, char* name, void* point) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(point)); +} + +void QOpenGLShaderProgram_SetUniformValue40(void* ptr, char* name, void* size) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(size)); +} + +void QOpenGLShaderProgram_SetUniformValue41(void* ptr, char* name, void* size) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(size)); +} + +void QOpenGLShaderProgram_SetUniformValue50(void* ptr, char* name, void* value) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValue54(void* ptr, char* name, void* value) +{ + static_cast(ptr)->setUniformValue(const_cast(name), *static_cast(value)); +} + +void QOpenGLShaderProgram_SetUniformValueArray(void* ptr, int location, float values, int count, int tupleSize) +{ + static_cast(ptr)->setUniformValueArray(location, const_cast(&values), count, tupleSize); +} + +void QOpenGLShaderProgram_SetUniformValueArray2(void* ptr, int location, int values, int count) +{ + static_cast(ptr)->setUniformValueArray(location, const_cast(&values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray3(void* ptr, int location, unsigned int values, int count) +{ + static_cast(ptr)->setUniformValueArray(location, const_cast(&values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray4(void* ptr, int location, void* values, int count) +{ + static_cast(ptr)->setUniformValueArray(location, static_cast(values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray5(void* ptr, int location, void* values, int count) +{ + static_cast(ptr)->setUniformValueArray(location, static_cast(values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray6(void* ptr, int location, void* values, int count) +{ + static_cast(ptr)->setUniformValueArray(location, static_cast(values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray15(void* ptr, int location, void* values, int count) +{ + static_cast(ptr)->setUniformValueArray(location, static_cast(values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray16(void* ptr, char* name, float values, int count, int tupleSize) +{ + static_cast(ptr)->setUniformValueArray(const_cast(name), const_cast(&values), count, tupleSize); +} + +void QOpenGLShaderProgram_SetUniformValueArray17(void* ptr, char* name, int values, int count) +{ + static_cast(ptr)->setUniformValueArray(const_cast(name), const_cast(&values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray18(void* ptr, char* name, unsigned int values, int count) +{ + static_cast(ptr)->setUniformValueArray(const_cast(name), const_cast(&values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray19(void* ptr, char* name, void* values, int count) +{ + static_cast(ptr)->setUniformValueArray(const_cast(name), static_cast(values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray20(void* ptr, char* name, void* values, int count) +{ + static_cast(ptr)->setUniformValueArray(const_cast(name), static_cast(values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray21(void* ptr, char* name, void* values, int count) +{ + static_cast(ptr)->setUniformValueArray(const_cast(name), static_cast(values), count); +} + +void QOpenGLShaderProgram_SetUniformValueArray30(void* ptr, char* name, void* values, int count) +{ + static_cast(ptr)->setUniformValueArray(const_cast(name), static_cast(values), count); +} + +struct QtGui_PackedList QOpenGLShaderProgram_Shaders(void* ptr) +{ + return ({ QList* tmpValuee656ce = new QList(static_cast(ptr)->shaders()); QtGui_PackedList { tmpValuee656ce, tmpValuee656ce->size() }; }); +} + +int QOpenGLShaderProgram_UniformLocation(void* ptr, char* name) +{ + return static_cast(ptr)->uniformLocation(const_cast(name)); +} + +int QOpenGLShaderProgram_UniformLocation2(void* ptr, void* name) +{ + return static_cast(ptr)->uniformLocation(*static_cast(name)); +} + +int QOpenGLShaderProgram_UniformLocation3(void* ptr, struct QtGui_PackedString name) +{ + return static_cast(ptr)->uniformLocation(QString::fromUtf8(name.data, name.len)); +} + +void QOpenGLShaderProgram_DestroyQOpenGLShaderProgram(void* ptr) +{ + static_cast(ptr)->~QOpenGLShaderProgram(); +} + +void QOpenGLShaderProgram_DestroyQOpenGLShaderProgramDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +float QOpenGLShaderProgram___defaultInnerTessellationLevels_atList(void* ptr, int i) +{ + return ({float tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QOpenGLShaderProgram___defaultInnerTessellationLevels_setList(void* ptr, float i) +{ + static_cast*>(ptr)->append(i); +} + +void* QOpenGLShaderProgram___defaultInnerTessellationLevels_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +float QOpenGLShaderProgram___defaultOuterTessellationLevels_atList(void* ptr, int i) +{ + return ({float tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QOpenGLShaderProgram___defaultOuterTessellationLevels_setList(void* ptr, float i) +{ + static_cast*>(ptr)->append(i); +} + +void* QOpenGLShaderProgram___defaultOuterTessellationLevels_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +float QOpenGLShaderProgram___setDefaultInnerTessellationLevels_levels_atList(void* ptr, int i) +{ + return ({float tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QOpenGLShaderProgram___setDefaultInnerTessellationLevels_levels_setList(void* ptr, float i) +{ + static_cast*>(ptr)->append(i); +} + +void* QOpenGLShaderProgram___setDefaultInnerTessellationLevels_levels_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +float QOpenGLShaderProgram___setDefaultOuterTessellationLevels_levels_atList(void* ptr, int i) +{ + return ({float tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QOpenGLShaderProgram___setDefaultOuterTessellationLevels_levels_setList(void* ptr, float i) +{ + static_cast*>(ptr)->append(i); +} + +void* QOpenGLShaderProgram___setDefaultOuterTessellationLevels_levels_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QOpenGLShaderProgram___shaders_atList(void* ptr, int i) +{ + return ({QOpenGLShader * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLShaderProgram___shaders_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QOpenGLShaderProgram___shaders_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLShaderProgram___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLShaderProgram___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLShaderProgram___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLShaderProgram___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOpenGLShaderProgram___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLShaderProgram___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLShaderProgram___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLShaderProgram___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLShaderProgram___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLShaderProgram___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLShaderProgram___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLShaderProgram___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLShaderProgram___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLShaderProgram___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLShaderProgram___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QOpenGLShaderProgram_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLShaderProgram::childEvent(static_cast(event)); +} + +void QOpenGLShaderProgram_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLShaderProgram::connectNotify(*static_cast(sign)); +} + +void QOpenGLShaderProgram_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLShaderProgram::customEvent(static_cast(event)); +} + +void QOpenGLShaderProgram_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLShaderProgram::deleteLater(); +} + +void QOpenGLShaderProgram_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLShaderProgram::disconnectNotify(*static_cast(sign)); +} + +char QOpenGLShaderProgram_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QOpenGLShaderProgram::event(static_cast(e)); +} + +char QOpenGLShaderProgram_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLShaderProgram::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLShaderProgram::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLShaderProgram::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLShaderProgram::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOpenGLShaderProgram::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QOpenGLShaderProgram_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QOpenGLShaderProgram::metaObject()); +} + +void QOpenGLShaderProgram_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLShaderProgram::timerEvent(static_cast(event)); +} + +void* QOpenGLTexture_NewQOpenGLTexture(long long target) +{ + return new QOpenGLTexture(static_cast(target)); +} + +void* QOpenGLTexture_NewQOpenGLTexture2(void* image, long long genMipMaps) +{ + return new QOpenGLTexture(*static_cast(image), static_cast(genMipMaps)); +} + +void QOpenGLTexture_AllocateStorage(void* ptr) +{ + static_cast(ptr)->allocateStorage(); +} + +void QOpenGLTexture_AllocateStorage2(void* ptr, long long pixelFormat, long long pixelType) +{ + static_cast(ptr)->allocateStorage(static_cast(pixelFormat), static_cast(pixelType)); +} + +void QOpenGLTexture_Bind(void* ptr) +{ + static_cast(ptr)->bind(); +} + +void QOpenGLTexture_Bind2(void* ptr, unsigned int unit, long long reset) +{ + static_cast(ptr)->bind(unit, static_cast(reset)); +} + +void* QOpenGLTexture_BorderColor(void* ptr) +{ + return new QColor(static_cast(ptr)->borderColor()); +} + +void QOpenGLTexture_BorderColor2(void* ptr, float border) +{ + static_cast(ptr)->borderColor(&border); +} + +void QOpenGLTexture_BorderColor3(void* ptr, int border) +{ + static_cast(ptr)->borderColor(&border); +} + +void QOpenGLTexture_BorderColor4(void* ptr, unsigned int border) +{ + static_cast(ptr)->borderColor(&border); +} + +unsigned int QOpenGLTexture_QOpenGLTexture_BoundTextureId(long long target) +{ + return QOpenGLTexture::boundTextureId(static_cast(target)); +} + +unsigned int QOpenGLTexture_QOpenGLTexture_BoundTextureId2(unsigned int unit, long long target) +{ + return QOpenGLTexture::boundTextureId(unit, static_cast(target)); +} + +long long QOpenGLTexture_ComparisonFunction(void* ptr) +{ + return static_cast(ptr)->comparisonFunction(); +} + +long long QOpenGLTexture_ComparisonMode(void* ptr) +{ + return static_cast(ptr)->comparisonMode(); +} + +char QOpenGLTexture_Create(void* ptr) +{ + return static_cast(ptr)->create(); +} + +void* QOpenGLTexture_CreateTextureView(void* ptr, long long target, long long viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) +{ + return static_cast(ptr)->createTextureView(static_cast(target), static_cast(viewFormat), minimumMipmapLevel, maximumMipmapLevel, minimumLayer, maximumLayer); +} + +int QOpenGLTexture_Depth(void* ptr) +{ + return static_cast(ptr)->depth(); +} + +long long QOpenGLTexture_DepthStencilMode(void* ptr) +{ + return static_cast(ptr)->depthStencilMode(); +} + +void QOpenGLTexture_Destroy(void* ptr) +{ + static_cast(ptr)->destroy(); +} + +int QOpenGLTexture_Faces(void* ptr) +{ + return static_cast(ptr)->faces(); +} + +long long QOpenGLTexture_Format(void* ptr) +{ + return static_cast(ptr)->format(); +} + +void QOpenGLTexture_GenerateMipMaps(void* ptr) +{ + static_cast(ptr)->generateMipMaps(); +} + +void QOpenGLTexture_GenerateMipMaps2(void* ptr, int baseLevel, char resetBaseLevel) +{ + static_cast(ptr)->generateMipMaps(baseLevel, resetBaseLevel != 0); +} + +char QOpenGLTexture_QOpenGLTexture_HasFeature(long long feature) +{ + return QOpenGLTexture::hasFeature(static_cast(feature)); +} + +int QOpenGLTexture_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +char QOpenGLTexture_IsAutoMipMapGenerationEnabled(void* ptr) +{ + return static_cast(ptr)->isAutoMipMapGenerationEnabled(); +} + +char QOpenGLTexture_IsBound(void* ptr) +{ + return static_cast(ptr)->isBound(); +} + +char QOpenGLTexture_IsBound2(void* ptr, unsigned int unit) +{ + return static_cast(ptr)->isBound(unit); +} + +char QOpenGLTexture_IsCreated(void* ptr) +{ + return static_cast(ptr)->isCreated(); +} + +char QOpenGLTexture_IsFixedSamplePositions(void* ptr) +{ + return static_cast(ptr)->isFixedSamplePositions(); +} + +char QOpenGLTexture_IsStorageAllocated(void* ptr) +{ + return static_cast(ptr)->isStorageAllocated(); +} + +char QOpenGLTexture_IsTextureView(void* ptr) +{ + return static_cast(ptr)->isTextureView(); +} + +int QOpenGLTexture_Layers(void* ptr) +{ + return static_cast(ptr)->layers(); +} + +float QOpenGLTexture_LevelofDetailBias(void* ptr) +{ + return static_cast(ptr)->levelofDetailBias(); +} + +long long QOpenGLTexture_MagnificationFilter(void* ptr) +{ + return static_cast(ptr)->magnificationFilter(); +} + +float QOpenGLTexture_MaximumAnisotropy(void* ptr) +{ + return static_cast(ptr)->maximumAnisotropy(); +} + +float QOpenGLTexture_MaximumLevelOfDetail(void* ptr) +{ + return static_cast(ptr)->maximumLevelOfDetail(); +} + +int QOpenGLTexture_MaximumMipLevels(void* ptr) +{ + return static_cast(ptr)->maximumMipLevels(); +} + +long long QOpenGLTexture_MinificationFilter(void* ptr) +{ + return static_cast(ptr)->minificationFilter(); +} + +float QOpenGLTexture_MinimumLevelOfDetail(void* ptr) +{ + return static_cast(ptr)->minimumLevelOfDetail(); +} + +int QOpenGLTexture_MipBaseLevel(void* ptr) +{ + return static_cast(ptr)->mipBaseLevel(); +} + +int QOpenGLTexture_MipLevels(void* ptr) +{ + return static_cast(ptr)->mipLevels(); +} + +int QOpenGLTexture_MipMaxLevel(void* ptr) +{ + return static_cast(ptr)->mipMaxLevel(); +} + +void QOpenGLTexture_Release(void* ptr) +{ + static_cast(ptr)->release(); +} + +void QOpenGLTexture_Release2(void* ptr, unsigned int unit, long long reset) +{ + static_cast(ptr)->release(unit, static_cast(reset)); +} + +int QOpenGLTexture_Samples(void* ptr) +{ + return static_cast(ptr)->samples(); +} + +void QOpenGLTexture_SetAutoMipMapGenerationEnabled(void* ptr, char enabled) +{ + static_cast(ptr)->setAutoMipMapGenerationEnabled(enabled != 0); +} + +void QOpenGLTexture_SetBorderColor(void* ptr, void* color) +{ + static_cast(ptr)->setBorderColor(*static_cast(color)); +} + +void QOpenGLTexture_SetBorderColor2(void* ptr, float r, float g, float b, float a) +{ + static_cast(ptr)->setBorderColor(r, g, b, a); +} + +void QOpenGLTexture_SetBorderColor3(void* ptr, int r, int g, int b, int a) +{ + static_cast(ptr)->setBorderColor(r, g, b, a); +} + +void QOpenGLTexture_SetBorderColor4(void* ptr, unsigned int r, unsigned int g, unsigned int b, unsigned int a) +{ + static_cast(ptr)->setBorderColor(r, g, b, a); +} + +void QOpenGLTexture_SetComparisonFunction(void* ptr, long long function) +{ + static_cast(ptr)->setComparisonFunction(static_cast(function)); +} + +void QOpenGLTexture_SetComparisonMode(void* ptr, long long mode) +{ + static_cast(ptr)->setComparisonMode(static_cast(mode)); +} + +void QOpenGLTexture_SetCompressedData(void* ptr, int mipLevel, int layer, long long cubeFace, int dataSize, void* data, void* options) +{ + static_cast(ptr)->setCompressedData(mipLevel, layer, static_cast(cubeFace), dataSize, data, static_cast(options)); +} + +void QOpenGLTexture_SetCompressedData6(void* ptr, int mipLevel, int layer, int layerCount, long long cubeFace, int dataSize, void* data, void* options) +{ + static_cast(ptr)->setCompressedData(mipLevel, layer, layerCount, static_cast(cubeFace), dataSize, data, static_cast(options)); +} + +void QOpenGLTexture_SetCompressedData7(void* ptr, int mipLevel, int layer, int dataSize, void* data, void* options) +{ + static_cast(ptr)->setCompressedData(mipLevel, layer, dataSize, data, static_cast(options)); +} + +void QOpenGLTexture_SetCompressedData8(void* ptr, int mipLevel, int dataSize, void* data, void* options) +{ + static_cast(ptr)->setCompressedData(mipLevel, dataSize, data, static_cast(options)); +} + +void QOpenGLTexture_SetCompressedData9(void* ptr, int dataSize, void* data, void* options) +{ + static_cast(ptr)->setCompressedData(dataSize, data, static_cast(options)); +} + +void QOpenGLTexture_SetData(void* ptr, int mipLevel, int layer, long long cubeFace, long long sourceFormat, long long sourceType, void* data, void* options) +{ + static_cast(ptr)->setData(mipLevel, layer, static_cast(cubeFace), static_cast(sourceFormat), static_cast(sourceType), data, static_cast(options)); +} + +void QOpenGLTexture_SetData6(void* ptr, int mipLevel, int layer, int layerCount, long long cubeFace, long long sourceFormat, long long sourceType, void* data, void* options) +{ + static_cast(ptr)->setData(mipLevel, layer, layerCount, static_cast(cubeFace), static_cast(sourceFormat), static_cast(sourceType), data, static_cast(options)); +} + +void QOpenGLTexture_SetData7(void* ptr, int mipLevel, int layer, long long sourceFormat, long long sourceType, void* data, void* options) +{ + static_cast(ptr)->setData(mipLevel, layer, static_cast(sourceFormat), static_cast(sourceType), data, static_cast(options)); +} + +void QOpenGLTexture_SetData8(void* ptr, int mipLevel, long long sourceFormat, long long sourceType, void* data, void* options) +{ + static_cast(ptr)->setData(mipLevel, static_cast(sourceFormat), static_cast(sourceType), data, static_cast(options)); +} + +void QOpenGLTexture_SetData9(void* ptr, long long sourceFormat, long long sourceType, void* data, void* options) +{ + static_cast(ptr)->setData(static_cast(sourceFormat), static_cast(sourceType), data, static_cast(options)); +} + +void QOpenGLTexture_SetData10(void* ptr, void* image, long long genMipMaps) +{ + static_cast(ptr)->setData(*static_cast(image), static_cast(genMipMaps)); +} + +void QOpenGLTexture_SetDepthStencilMode(void* ptr, long long mode) +{ + static_cast(ptr)->setDepthStencilMode(static_cast(mode)); +} + +void QOpenGLTexture_SetFixedSamplePositions(void* ptr, char fixed) +{ + static_cast(ptr)->setFixedSamplePositions(fixed != 0); +} + +void QOpenGLTexture_SetFormat(void* ptr, long long format) +{ + static_cast(ptr)->setFormat(static_cast(format)); +} + +void QOpenGLTexture_SetLayers(void* ptr, int layers) +{ + static_cast(ptr)->setLayers(layers); +} + +void QOpenGLTexture_SetLevelOfDetailRange(void* ptr, float min, float max) +{ + static_cast(ptr)->setLevelOfDetailRange(min, max); +} + +void QOpenGLTexture_SetLevelofDetailBias(void* ptr, float bias) +{ + static_cast(ptr)->setLevelofDetailBias(bias); +} + +void QOpenGLTexture_SetMagnificationFilter(void* ptr, long long filter) +{ + static_cast(ptr)->setMagnificationFilter(static_cast(filter)); +} + +void QOpenGLTexture_SetMaximumAnisotropy(void* ptr, float anisotropy) +{ + static_cast(ptr)->setMaximumAnisotropy(anisotropy); +} + +void QOpenGLTexture_SetMaximumLevelOfDetail(void* ptr, float value) +{ + static_cast(ptr)->setMaximumLevelOfDetail(value); +} + +void QOpenGLTexture_SetMinMagFilters(void* ptr, long long minificationFilter, long long magnificationFilter) +{ + static_cast(ptr)->setMinMagFilters(static_cast(minificationFilter), static_cast(magnificationFilter)); +} + +void QOpenGLTexture_SetMinificationFilter(void* ptr, long long filter) +{ + static_cast(ptr)->setMinificationFilter(static_cast(filter)); +} + +void QOpenGLTexture_SetMinimumLevelOfDetail(void* ptr, float value) +{ + static_cast(ptr)->setMinimumLevelOfDetail(value); +} + +void QOpenGLTexture_SetMipBaseLevel(void* ptr, int baseLevel) +{ + static_cast(ptr)->setMipBaseLevel(baseLevel); +} + +void QOpenGLTexture_SetMipLevelRange(void* ptr, int baseLevel, int maxLevel) +{ + static_cast(ptr)->setMipLevelRange(baseLevel, maxLevel); +} + +void QOpenGLTexture_SetMipLevels(void* ptr, int levels) +{ + static_cast(ptr)->setMipLevels(levels); +} + +void QOpenGLTexture_SetMipMaxLevel(void* ptr, int maxLevel) +{ + static_cast(ptr)->setMipMaxLevel(maxLevel); +} + +void QOpenGLTexture_SetSamples(void* ptr, int samples) +{ + static_cast(ptr)->setSamples(samples); +} + +void QOpenGLTexture_SetSize(void* ptr, int width, int height, int depth) +{ + static_cast(ptr)->setSize(width, height, depth); +} + +void QOpenGLTexture_SetSwizzleMask(void* ptr, long long component, long long value) +{ + static_cast(ptr)->setSwizzleMask(static_cast(component), static_cast(value)); +} + +void QOpenGLTexture_SetSwizzleMask2(void* ptr, long long r, long long g, long long b, long long a) +{ + static_cast(ptr)->setSwizzleMask(static_cast(r), static_cast(g), static_cast(b), static_cast(a)); +} + +void QOpenGLTexture_SetWrapMode(void* ptr, long long mode) +{ + static_cast(ptr)->setWrapMode(static_cast(mode)); +} + +void QOpenGLTexture_SetWrapMode2(void* ptr, long long direction, long long mode) +{ + static_cast(ptr)->setWrapMode(static_cast(direction), static_cast(mode)); +} + +long long QOpenGLTexture_SwizzleMask(void* ptr, long long component) +{ + return static_cast(ptr)->swizzleMask(static_cast(component)); +} + +long long QOpenGLTexture_Target(void* ptr) +{ + return static_cast(ptr)->target(); +} + +unsigned int QOpenGLTexture_TextureId(void* ptr) +{ + return static_cast(ptr)->textureId(); +} + +int QOpenGLTexture_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +long long QOpenGLTexture_WrapMode(void* ptr, long long direction) +{ + return static_cast(ptr)->wrapMode(static_cast(direction)); +} + +void* QOpenGLTextureBlitter_NewQOpenGLTextureBlitter() +{ + return new QOpenGLTextureBlitter(); +} + +void QOpenGLTextureBlitter_Bind(void* ptr, unsigned int target) +{ + static_cast(ptr)->bind(target); +} + +void QOpenGLTextureBlitter_Blit(void* ptr, unsigned int texture, void* targetTransform, long long sourceOrigin) +{ + static_cast(ptr)->blit(texture, *static_cast(targetTransform), static_cast(sourceOrigin)); +} + +char QOpenGLTextureBlitter_Create(void* ptr) +{ + return static_cast(ptr)->create(); +} + +void QOpenGLTextureBlitter_Destroy(void* ptr) +{ + static_cast(ptr)->destroy(); +} + +char QOpenGLTextureBlitter_IsCreated(void* ptr) +{ + return static_cast(ptr)->isCreated(); +} + +void QOpenGLTextureBlitter_Release(void* ptr) +{ + static_cast(ptr)->release(); +} + +void QOpenGLTextureBlitter_SetOpacity(void* ptr, float opacity) +{ + static_cast(ptr)->setOpacity(opacity); +} + +void QOpenGLTextureBlitter_SetRedBlueSwizzle(void* ptr, char swizzle) +{ + static_cast(ptr)->setRedBlueSwizzle(swizzle != 0); +} + +char QOpenGLTextureBlitter_SupportsExternalOESTarget(void* ptr) +{ + return static_cast(ptr)->supportsExternalOESTarget(); +} + +void* QOpenGLTextureBlitter_QOpenGLTextureBlitter_TargetTransform(void* target, void* viewport) +{ + return new QMatrix4x4(QOpenGLTextureBlitter::targetTransform(*static_cast(target), *static_cast(viewport))); +} + +void QOpenGLTextureBlitter_DestroyQOpenGLTextureBlitter(void* ptr) +{ + static_cast(ptr)->~QOpenGLTextureBlitter(); +} + +class MyQOpenGLTimeMonitor: public QOpenGLTimeMonitor +{ +public: + MyQOpenGLTimeMonitor(QObject *parent = Q_NULLPTR) : QOpenGLTimeMonitor(parent) {QOpenGLTimeMonitor_QOpenGLTimeMonitor_QRegisterMetaType();}; + ~MyQOpenGLTimeMonitor() { callbackQOpenGLTimeMonitor_DestroyQOpenGLTimeMonitor(this); }; + void childEvent(QChildEvent * event) { callbackQOpenGLTimeMonitor_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQOpenGLTimeMonitor_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQOpenGLTimeMonitor_CustomEvent(this, event); }; + void deleteLater() { callbackQOpenGLTimeMonitor_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQOpenGLTimeMonitor_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQOpenGLTimeMonitor_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQOpenGLTimeMonitor_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQOpenGLTimeMonitor_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQOpenGLTimeMonitor_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQOpenGLTimeMonitor_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQOpenGLTimeMonitor_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQOpenGLTimeMonitor*) + +int QOpenGLTimeMonitor_QOpenGLTimeMonitor_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOpenGLTimeMonitor_NewQOpenGLTimeMonitor(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } else { + return new MyQOpenGLTimeMonitor(static_cast(parent)); + } +} + +char QOpenGLTimeMonitor_Create(void* ptr) +{ + return static_cast(ptr)->create(); +} + +void QOpenGLTimeMonitor_Destroy(void* ptr) +{ + static_cast(ptr)->destroy(); +} + +char QOpenGLTimeMonitor_IsCreated(void* ptr) +{ + return static_cast(ptr)->isCreated(); +} + +char QOpenGLTimeMonitor_IsResultAvailable(void* ptr) +{ + return static_cast(ptr)->isResultAvailable(); +} + +struct QtGui_PackedList QOpenGLTimeMonitor_ObjectIds(void* ptr) +{ + return ({ QVector* tmpValueef0adc = new QVector(static_cast(ptr)->objectIds()); QtGui_PackedList { tmpValueef0adc, tmpValueef0adc->size() }; }); +} + +int QOpenGLTimeMonitor_RecordSample(void* ptr) +{ + return static_cast(ptr)->recordSample(); +} + +void QOpenGLTimeMonitor_Reset(void* ptr) +{ + static_cast(ptr)->reset(); +} + +int QOpenGLTimeMonitor_SampleCount(void* ptr) +{ + return static_cast(ptr)->sampleCount(); +} + +void QOpenGLTimeMonitor_SetSampleCount(void* ptr, int sampleCount) +{ + static_cast(ptr)->setSampleCount(sampleCount); +} + +void QOpenGLTimeMonitor_DestroyQOpenGLTimeMonitor(void* ptr) +{ + static_cast(ptr)->~QOpenGLTimeMonitor(); +} + +void QOpenGLTimeMonitor_DestroyQOpenGLTimeMonitorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +unsigned int QOpenGLTimeMonitor___objectIds_atList(void* ptr, int i) +{ + return ({GLuint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QOpenGLTimeMonitor___objectIds_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QOpenGLTimeMonitor___objectIds_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QOpenGLTimeMonitor___waitForIntervals_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QOpenGLTimeMonitor___waitForSamples_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QOpenGLTimeMonitor___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLTimeMonitor___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLTimeMonitor___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLTimeMonitor___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOpenGLTimeMonitor___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLTimeMonitor___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLTimeMonitor___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLTimeMonitor___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLTimeMonitor___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLTimeMonitor___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLTimeMonitor___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLTimeMonitor___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLTimeMonitor___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLTimeMonitor___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLTimeMonitor___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QOpenGLTimeMonitor_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLTimeMonitor::childEvent(static_cast(event)); +} + +void QOpenGLTimeMonitor_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLTimeMonitor::connectNotify(*static_cast(sign)); +} + +void QOpenGLTimeMonitor_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLTimeMonitor::customEvent(static_cast(event)); +} + +void QOpenGLTimeMonitor_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLTimeMonitor::deleteLater(); +} + +void QOpenGLTimeMonitor_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLTimeMonitor::disconnectNotify(*static_cast(sign)); +} + +char QOpenGLTimeMonitor_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QOpenGLTimeMonitor::event(static_cast(e)); +} + +char QOpenGLTimeMonitor_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLTimeMonitor::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLTimeMonitor::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLTimeMonitor::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLTimeMonitor::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOpenGLTimeMonitor::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QOpenGLTimeMonitor_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QOpenGLTimeMonitor::metaObject()); +} + +void QOpenGLTimeMonitor_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLTimeMonitor::timerEvent(static_cast(event)); +} + +class MyQOpenGLTimerQuery: public QOpenGLTimerQuery +{ +public: + MyQOpenGLTimerQuery(QObject *parent = Q_NULLPTR) : QOpenGLTimerQuery(parent) {QOpenGLTimerQuery_QOpenGLTimerQuery_QRegisterMetaType();}; + ~MyQOpenGLTimerQuery() { callbackQOpenGLTimerQuery_DestroyQOpenGLTimerQuery(this); }; + void childEvent(QChildEvent * event) { callbackQOpenGLTimerQuery_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQOpenGLTimerQuery_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQOpenGLTimerQuery_CustomEvent(this, event); }; + void deleteLater() { callbackQOpenGLTimerQuery_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQOpenGLTimerQuery_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQOpenGLTimerQuery_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQOpenGLTimerQuery_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQOpenGLTimerQuery_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQOpenGLTimerQuery_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQOpenGLTimerQuery_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQOpenGLTimerQuery_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQOpenGLTimerQuery*) + +int QOpenGLTimerQuery_QOpenGLTimerQuery_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOpenGLTimerQuery_NewQOpenGLTimerQuery(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } else { + return new MyQOpenGLTimerQuery(static_cast(parent)); + } +} + +void QOpenGLTimerQuery_Begin(void* ptr) +{ + static_cast(ptr)->begin(); +} + +char QOpenGLTimerQuery_Create(void* ptr) +{ + return static_cast(ptr)->create(); +} + +void QOpenGLTimerQuery_Destroy(void* ptr) +{ + static_cast(ptr)->destroy(); +} + +void QOpenGLTimerQuery_End(void* ptr) +{ + static_cast(ptr)->end(); +} + +char QOpenGLTimerQuery_IsCreated(void* ptr) +{ + return static_cast(ptr)->isCreated(); +} + +char QOpenGLTimerQuery_IsResultAvailable(void* ptr) +{ + return static_cast(ptr)->isResultAvailable(); +} + +unsigned int QOpenGLTimerQuery_ObjectId(void* ptr) +{ + return static_cast(ptr)->objectId(); +} + +void QOpenGLTimerQuery_RecordTimestamp(void* ptr) +{ + static_cast(ptr)->recordTimestamp(); +} + +void QOpenGLTimerQuery_DestroyQOpenGLTimerQuery(void* ptr) +{ + static_cast(ptr)->~QOpenGLTimerQuery(); +} + +void QOpenGLTimerQuery_DestroyQOpenGLTimerQueryDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QOpenGLTimerQuery___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLTimerQuery___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLTimerQuery___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLTimerQuery___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOpenGLTimerQuery___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLTimerQuery___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLTimerQuery___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLTimerQuery___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLTimerQuery___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLTimerQuery___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLTimerQuery___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLTimerQuery___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLTimerQuery___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLTimerQuery___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLTimerQuery___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QOpenGLTimerQuery_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLTimerQuery::childEvent(static_cast(event)); +} + +void QOpenGLTimerQuery_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLTimerQuery::connectNotify(*static_cast(sign)); +} + +void QOpenGLTimerQuery_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLTimerQuery::customEvent(static_cast(event)); +} + +void QOpenGLTimerQuery_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLTimerQuery::deleteLater(); +} + +void QOpenGLTimerQuery_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLTimerQuery::disconnectNotify(*static_cast(sign)); +} + +char QOpenGLTimerQuery_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QOpenGLTimerQuery::event(static_cast(e)); +} + +char QOpenGLTimerQuery_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLTimerQuery::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLTimerQuery::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLTimerQuery::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLTimerQuery::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOpenGLTimerQuery::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QOpenGLTimerQuery_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QOpenGLTimerQuery::metaObject()); +} + +void QOpenGLTimerQuery_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLTimerQuery::timerEvent(static_cast(event)); +} + +void* QOpenGLVersionProfile_NewQOpenGLVersionProfile() +{ + return new QOpenGLVersionProfile(); +} + +void* QOpenGLVersionProfile_NewQOpenGLVersionProfile2(void* format) +{ + return new QOpenGLVersionProfile(*static_cast(format)); +} + +void* QOpenGLVersionProfile_NewQOpenGLVersionProfile3(void* other) +{ + return new QOpenGLVersionProfile(*static_cast(other)); +} + +char QOpenGLVersionProfile_HasProfiles(void* ptr) +{ + return static_cast(ptr)->hasProfiles(); +} + +char QOpenGLVersionProfile_IsLegacyVersion(void* ptr) +{ + return static_cast(ptr)->isLegacyVersion(); +} + +char QOpenGLVersionProfile_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +long long QOpenGLVersionProfile_Profile(void* ptr) +{ + return static_cast(ptr)->profile(); +} + +void QOpenGLVersionProfile_SetProfile(void* ptr, long long profile) +{ + static_cast(ptr)->setProfile(static_cast(profile)); +} + +void QOpenGLVersionProfile_SetVersion(void* ptr, int majorVersion, int minorVersion) +{ + static_cast(ptr)->setVersion(majorVersion, minorVersion); +} + +void QOpenGLVersionProfile_DestroyQOpenGLVersionProfile(void* ptr) +{ + static_cast(ptr)->~QOpenGLVersionProfile(); +} + +class MyQOpenGLVertexArrayObject: public QOpenGLVertexArrayObject +{ +public: + MyQOpenGLVertexArrayObject(QObject *parent = Q_NULLPTR) : QOpenGLVertexArrayObject(parent) {QOpenGLVertexArrayObject_QOpenGLVertexArrayObject_QRegisterMetaType();}; + ~MyQOpenGLVertexArrayObject() { callbackQOpenGLVertexArrayObject_DestroyQOpenGLVertexArrayObject(this); }; + void childEvent(QChildEvent * event) { callbackQOpenGLVertexArrayObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQOpenGLVertexArrayObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQOpenGLVertexArrayObject_CustomEvent(this, event); }; + void deleteLater() { callbackQOpenGLVertexArrayObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQOpenGLVertexArrayObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQOpenGLVertexArrayObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQOpenGLVertexArrayObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQOpenGLVertexArrayObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQOpenGLVertexArrayObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQOpenGLVertexArrayObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQOpenGLVertexArrayObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQOpenGLVertexArrayObject*) + +int QOpenGLVertexArrayObject_QOpenGLVertexArrayObject_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOpenGLVertexArrayObject_NewQOpenGLVertexArrayObject(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } else { + return new MyQOpenGLVertexArrayObject(static_cast(parent)); + } +} + +void QOpenGLVertexArrayObject_Bind(void* ptr) +{ + static_cast(ptr)->bind(); +} + +char QOpenGLVertexArrayObject_Create(void* ptr) +{ + return static_cast(ptr)->create(); +} + +void QOpenGLVertexArrayObject_Destroy(void* ptr) +{ + static_cast(ptr)->destroy(); +} + +char QOpenGLVertexArrayObject_IsCreated(void* ptr) +{ + return static_cast(ptr)->isCreated(); +} + +unsigned int QOpenGLVertexArrayObject_ObjectId(void* ptr) +{ + return static_cast(ptr)->objectId(); +} + +void QOpenGLVertexArrayObject_Release(void* ptr) +{ + static_cast(ptr)->release(); +} + +void QOpenGLVertexArrayObject_DestroyQOpenGLVertexArrayObject(void* ptr) +{ + static_cast(ptr)->~QOpenGLVertexArrayObject(); +} + +void QOpenGLVertexArrayObject_DestroyQOpenGLVertexArrayObjectDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QOpenGLVertexArrayObject___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLVertexArrayObject___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLVertexArrayObject___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLVertexArrayObject___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QOpenGLVertexArrayObject___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QOpenGLVertexArrayObject___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLVertexArrayObject___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLVertexArrayObject___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLVertexArrayObject___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLVertexArrayObject___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLVertexArrayObject___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLVertexArrayObject___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QOpenGLVertexArrayObject___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QOpenGLVertexArrayObject___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QOpenGLVertexArrayObject___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QOpenGLVertexArrayObject_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLVertexArrayObject::childEvent(static_cast(event)); +} + +void QOpenGLVertexArrayObject_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLVertexArrayObject::connectNotify(*static_cast(sign)); +} + +void QOpenGLVertexArrayObject_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLVertexArrayObject::customEvent(static_cast(event)); +} + +void QOpenGLVertexArrayObject_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLVertexArrayObject::deleteLater(); +} + +void QOpenGLVertexArrayObject_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QOpenGLVertexArrayObject::disconnectNotify(*static_cast(sign)); +} + +char QOpenGLVertexArrayObject_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QOpenGLVertexArrayObject::event(static_cast(e)); +} + +char QOpenGLVertexArrayObject_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLVertexArrayObject::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLVertexArrayObject::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLVertexArrayObject::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLVertexArrayObject::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOpenGLVertexArrayObject::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QOpenGLVertexArrayObject_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QOpenGLVertexArrayObject::metaObject()); +} + +void QOpenGLVertexArrayObject_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QOpenGLVertexArrayObject::timerEvent(static_cast(event)); +} + +class MyQOpenGLWindow: public QOpenGLWindow +{ +public: + MyQOpenGLWindow(QOpenGLWindow::UpdateBehavior updateBehavior = NoPartialUpdate, QWindow *parent = Q_NULLPTR) : QOpenGLWindow(updateBehavior, parent) {QOpenGLWindow_QOpenGLWindow_QRegisterMetaType();}; + MyQOpenGLWindow(QOpenGLContext *shareContext, QOpenGLWindow::UpdateBehavior updateBehavior = NoPartialUpdate, QWindow *parent = Q_NULLPTR) : QOpenGLWindow(shareContext, updateBehavior, parent) {QOpenGLWindow_QOpenGLWindow_QRegisterMetaType();}; + void Signal_FrameSwapped() { callbackQOpenGLWindow_FrameSwapped(this); }; + void initializeGL() { callbackQOpenGLWindow_InitializeGL(this); }; + void paintEvent(QPaintEvent * event) { callbackQPaintDeviceWindow_PaintEvent(this, event); }; + void paintGL() { callbackQOpenGLWindow_PaintGL(this); }; + void paintOverGL() { callbackQOpenGLWindow_PaintOverGL(this); }; + void paintUnderGL() { callbackQOpenGLWindow_PaintUnderGL(this); }; + void resizeEvent(QResizeEvent * event) { callbackQWindow_ResizeEvent(this, event); }; + void resizeGL(int w, int h) { callbackQOpenGLWindow_ResizeGL(this, w, h); }; + ~MyQOpenGLWindow() { callbackQOpenGLWindow_DestroyQOpenGLWindow(this); }; + void update() { callbackQPaintDeviceWindow_Update3(this); }; + void Signal_ActiveChanged() { callbackQWindow_ActiveChanged(this); }; + void alert(int msec) { callbackQWindow_Alert(this, msec); }; + bool close() { return callbackQWindow_Close(this) != 0; }; + void Signal_ContentOrientationChanged(Qt::ScreenOrientation orientation) { callbackQWindow_ContentOrientationChanged(this, orientation); }; + bool event(QEvent * ev) { return callbackQWindow_Event(this, ev) != 0; }; + void exposeEvent(QExposeEvent * ev) { callbackQWindow_ExposeEvent(this, ev); }; + void focusInEvent(QFocusEvent * ev) { callbackQWindow_FocusInEvent(this, ev); }; + QObject * focusObject() const { return static_cast(callbackQWindow_FocusObject(const_cast(static_cast(this)))); }; + void Signal_FocusObjectChanged(QObject * object) { callbackQWindow_FocusObjectChanged(this, object); }; + void focusOutEvent(QFocusEvent * ev) { callbackQWindow_FocusOutEvent(this, ev); }; + QSurfaceFormat format() const { return *static_cast(callbackQWindow_Format(const_cast(static_cast(this)))); }; + void Signal_HeightChanged(int arg) { callbackQWindow_HeightChanged(this, arg); }; + void hide() { callbackQWindow_Hide(this); }; + void hideEvent(QHideEvent * ev) { callbackQWindow_HideEvent(this, ev); }; + void keyPressEvent(QKeyEvent * ev) { callbackQWindow_KeyPressEvent(this, ev); }; + void keyReleaseEvent(QKeyEvent * ev) { callbackQWindow_KeyReleaseEvent(this, ev); }; + void lower() { callbackQWindow_Lower(this); }; + void Signal_MaximumHeightChanged(int arg) { callbackQWindow_MaximumHeightChanged(this, arg); }; + void Signal_MaximumWidthChanged(int arg) { callbackQWindow_MaximumWidthChanged(this, arg); }; + void Signal_MinimumHeightChanged(int arg) { callbackQWindow_MinimumHeightChanged(this, arg); }; + void Signal_MinimumWidthChanged(int arg) { callbackQWindow_MinimumWidthChanged(this, arg); }; + void Signal_ModalityChanged(Qt::WindowModality modality) { callbackQWindow_ModalityChanged(this, modality); }; + void mouseDoubleClickEvent(QMouseEvent * ev) { callbackQWindow_MouseDoubleClickEvent(this, ev); }; + void mouseMoveEvent(QMouseEvent * ev) { callbackQWindow_MouseMoveEvent(this, ev); }; + void mousePressEvent(QMouseEvent * ev) { callbackQWindow_MousePressEvent(this, ev); }; + void mouseReleaseEvent(QMouseEvent * ev) { callbackQWindow_MouseReleaseEvent(this, ev); }; + void moveEvent(QMoveEvent * ev) { callbackQWindow_MoveEvent(this, ev); }; + bool nativeEvent(const QByteArray & eventType, void * message, long * result) { return callbackQWindow_NativeEvent(this, const_cast(&eventType), message, result) != 0; }; + void Signal_OpacityChanged(qreal opacity) { callbackQWindow_OpacityChanged(this, opacity); }; + void raise() { callbackQWindow_Raise(this); }; + void requestActivate() { callbackQWindow_RequestActivate(this); }; + void requestUpdate() { callbackQWindow_RequestUpdate(this); }; + void Signal_ScreenChanged(QScreen * screen) { callbackQWindow_ScreenChanged(this, screen); }; + void setGeometry(int posx, int posy, int w, int h) { callbackQWindow_SetGeometry(this, posx, posy, w, h); }; + void setGeometry(const QRect & rect) { callbackQWindow_SetGeometry2(this, const_cast(&rect)); }; + void setHeight(int arg) { callbackQWindow_SetHeight(this, arg); }; + void setMaximumHeight(int h) { callbackQWindow_SetMaximumHeight(this, h); }; + void setMaximumWidth(int w) { callbackQWindow_SetMaximumWidth(this, w); }; + void setMinimumHeight(int h) { callbackQWindow_SetMinimumHeight(this, h); }; + void setMinimumWidth(int w) { callbackQWindow_SetMinimumWidth(this, w); }; + void setTitle(const QString & vqs) { QByteArray tda39a3 = vqs.toUtf8(); QtGui_PackedString vqsPacked = { const_cast(tda39a3.prepend("WHITESPACE").constData()+10), tda39a3.size()-10 };callbackQWindow_SetTitle(this, vqsPacked); }; + void setVisible(bool visible) { callbackQWindow_SetVisible(this, visible); }; + void setWidth(int arg) { callbackQWindow_SetWidth(this, arg); }; + void setX(int arg) { callbackQWindow_SetX(this, arg); }; + void setY(int arg) { callbackQWindow_SetY(this, arg); }; + void show() { callbackQWindow_Show(this); }; + void showEvent(QShowEvent * ev) { callbackQWindow_ShowEvent(this, ev); }; + void showFullScreen() { callbackQWindow_ShowFullScreen(this); }; + void showMaximized() { callbackQWindow_ShowMaximized(this); }; + void showMinimized() { callbackQWindow_ShowMinimized(this); }; + void showNormal() { callbackQWindow_ShowNormal(this); }; + QSize size() const { return *static_cast(callbackQWindow_Size(const_cast(static_cast(this)))); }; + QSurface::SurfaceType surfaceType() const { return static_cast(callbackQWindow_SurfaceType(const_cast(static_cast(this)))); }; + void tabletEvent(QTabletEvent * ev) { callbackQWindow_TabletEvent(this, ev); }; + void touchEvent(QTouchEvent * ev) { callbackQWindow_TouchEvent(this, ev); }; + void Signal_VisibilityChanged(QWindow::Visibility visibility) { callbackQWindow_VisibilityChanged(this, visibility); }; + void Signal_VisibleChanged(bool arg) { callbackQWindow_VisibleChanged(this, arg); }; + void wheelEvent(QWheelEvent * ev) { callbackQWindow_WheelEvent(this, ev); }; + void Signal_WidthChanged(int arg) { callbackQWindow_WidthChanged(this, arg); }; + void Signal_WindowStateChanged(Qt::WindowState windowState) { callbackQWindow_WindowStateChanged(this, windowState); }; + void Signal_WindowTitleChanged(const QString & title) { QByteArray t3c6de1 = title.toUtf8(); QtGui_PackedString titlePacked = { const_cast(t3c6de1.prepend("WHITESPACE").constData()+10), t3c6de1.size()-10 };callbackQWindow_WindowTitleChanged(this, titlePacked); }; + void Signal_XChanged(int arg) { callbackQWindow_XChanged(this, arg); }; + void Signal_YChanged(int arg) { callbackQWindow_YChanged(this, arg); }; + void childEvent(QChildEvent * event) { callbackQWindow_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQWindow_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQWindow_CustomEvent(this, event); }; + void deleteLater() { callbackQWindow_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQWindow_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQWindow_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQWindow_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQWindow_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQWindow_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQWindow_TimerEvent(this, event); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQPaintDeviceWindow_PaintEngine(const_cast(static_cast(this)))); }; +}; + +Q_DECLARE_METATYPE(MyQOpenGLWindow*) + +int QOpenGLWindow_QOpenGLWindow_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QOpenGLWindow_NewQOpenGLWindow(long long updateBehavior, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLWindow(static_cast(updateBehavior), static_cast(parent)); + } else { + return new MyQOpenGLWindow(static_cast(updateBehavior), static_cast(parent)); + } +} + +void* QOpenGLWindow_NewQOpenGLWindow2(void* shareContext, long long updateBehavior, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQOpenGLWindow(static_cast(shareContext), static_cast(updateBehavior), static_cast(parent)); + } else { + return new MyQOpenGLWindow(static_cast(shareContext), static_cast(updateBehavior), static_cast(parent)); + } +} + +void* QOpenGLWindow_Context(void* ptr) +{ + return static_cast(ptr)->context(); +} + +unsigned int QOpenGLWindow_DefaultFramebufferObject(void* ptr) +{ + return static_cast(ptr)->defaultFramebufferObject(); +} + +void QOpenGLWindow_DoneCurrent(void* ptr) +{ + static_cast(ptr)->doneCurrent(); +} + +void QOpenGLWindow_ConnectFrameSwapped(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QOpenGLWindow::frameSwapped), static_cast(ptr), static_cast(&MyQOpenGLWindow::Signal_FrameSwapped), static_cast(t)); +} + +void QOpenGLWindow_DisconnectFrameSwapped(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QOpenGLWindow::frameSwapped), static_cast(ptr), static_cast(&MyQOpenGLWindow::Signal_FrameSwapped)); +} + +void QOpenGLWindow_FrameSwapped(void* ptr) +{ + static_cast(ptr)->frameSwapped(); +} + +void* QOpenGLWindow_GrabFramebuffer(void* ptr) +{ + return new QImage(static_cast(ptr)->grabFramebuffer()); +} + +void QOpenGLWindow_InitializeGL(void* ptr) +{ + static_cast(ptr)->initializeGL(); +} + +void QOpenGLWindow_InitializeGLDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLWindow::initializeGL(); +} + +char QOpenGLWindow_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void QOpenGLWindow_MakeCurrent(void* ptr) +{ + static_cast(ptr)->makeCurrent(); +} + +void QOpenGLWindow_PaintGL(void* ptr) +{ + static_cast(ptr)->paintGL(); +} + +void QOpenGLWindow_PaintGLDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLWindow::paintGL(); +} + +void QOpenGLWindow_PaintOverGL(void* ptr) +{ + static_cast(ptr)->paintOverGL(); +} + +void QOpenGLWindow_PaintOverGLDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLWindow::paintOverGL(); +} + +void QOpenGLWindow_PaintUnderGL(void* ptr) +{ + static_cast(ptr)->paintUnderGL(); +} + +void QOpenGLWindow_PaintUnderGLDefault(void* ptr) +{ + static_cast(ptr)->QOpenGLWindow::paintUnderGL(); +} + +void QOpenGLWindow_ResizeGL(void* ptr, int w, int h) +{ + static_cast(ptr)->resizeGL(w, h); +} + +void QOpenGLWindow_ResizeGLDefault(void* ptr, int w, int h) +{ + static_cast(ptr)->QOpenGLWindow::resizeGL(w, h); +} + +void* QOpenGLWindow_ShareContext(void* ptr) +{ + return static_cast(ptr)->shareContext(); +} + +long long QOpenGLWindow_UpdateBehavior(void* ptr) +{ + return static_cast(ptr)->updateBehavior(); +} + +void QOpenGLWindow_DestroyQOpenGLWindow(void* ptr) +{ + static_cast(ptr)->~QOpenGLWindow(); +} + +void QOpenGLWindow_DestroyQOpenGLWindowDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QPageLayout_NewQPageLayout() +{ + return new QPageLayout(); +} + +void* QPageLayout_NewQPageLayout2(void* pageSize, long long orientation, void* margins, long long units, void* minMargins) +{ + return new QPageLayout(*static_cast(pageSize), static_cast(orientation), *static_cast(margins), static_cast(units), *static_cast(minMargins)); +} + +void* QPageLayout_NewQPageLayout3(void* other) +{ + return new QPageLayout(*static_cast(other)); +} + +void* QPageLayout_FullRect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->fullRect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPageLayout_FullRect2(void* ptr, long long units) +{ + return ({ QRectF tmpValue = static_cast(ptr)->fullRect(static_cast(units)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPageLayout_FullRectPixels(void* ptr, int resolution) +{ + return ({ QRect tmpValue = static_cast(ptr)->fullRectPixels(resolution); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPageLayout_FullRectPoints(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->fullRectPoints(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QPageLayout_IsEquivalentTo(void* ptr, void* other) +{ + return static_cast(ptr)->isEquivalentTo(*static_cast(other)); +} + +char QPageLayout_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QPageLayout_Margins(void* ptr) +{ + return ({ QMarginsF tmpValue = static_cast(ptr)->margins(); new QMarginsF(tmpValue.left(), tmpValue.top(), tmpValue.right(), tmpValue.bottom()); }); +} + +void* QPageLayout_Margins2(void* ptr, long long units) +{ + return ({ QMarginsF tmpValue = static_cast(ptr)->margins(static_cast(units)); new QMarginsF(tmpValue.left(), tmpValue.top(), tmpValue.right(), tmpValue.bottom()); }); +} + +void* QPageLayout_MarginsPixels(void* ptr, int resolution) +{ + return ({ QMargins tmpValue = static_cast(ptr)->marginsPixels(resolution); new QMargins(tmpValue.left(), tmpValue.top(), tmpValue.right(), tmpValue.bottom()); }); +} + +void* QPageLayout_MarginsPoints(void* ptr) +{ + return ({ QMargins tmpValue = static_cast(ptr)->marginsPoints(); new QMargins(tmpValue.left(), tmpValue.top(), tmpValue.right(), tmpValue.bottom()); }); +} + +void* QPageLayout_MaximumMargins(void* ptr) +{ + return ({ QMarginsF tmpValue = static_cast(ptr)->maximumMargins(); new QMarginsF(tmpValue.left(), tmpValue.top(), tmpValue.right(), tmpValue.bottom()); }); +} + +void* QPageLayout_MinimumMargins(void* ptr) +{ + return ({ QMarginsF tmpValue = static_cast(ptr)->minimumMargins(); new QMarginsF(tmpValue.left(), tmpValue.top(), tmpValue.right(), tmpValue.bottom()); }); +} + +long long QPageLayout_Mode(void* ptr) +{ + return static_cast(ptr)->mode(); +} + +long long QPageLayout_Orientation(void* ptr) +{ + return static_cast(ptr)->orientation(); +} + +void* QPageLayout_PageSize(void* ptr) +{ + return new QPageSize(static_cast(ptr)->pageSize()); +} + +void* QPageLayout_PaintRect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->paintRect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPageLayout_PaintRect2(void* ptr, long long units) +{ + return ({ QRectF tmpValue = static_cast(ptr)->paintRect(static_cast(units)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPageLayout_PaintRectPixels(void* ptr, int resolution) +{ + return ({ QRect tmpValue = static_cast(ptr)->paintRectPixels(resolution); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPageLayout_PaintRectPoints(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->paintRectPoints(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QPageLayout_SetBottomMargin(void* ptr, double bottomMargin) +{ + return static_cast(ptr)->setBottomMargin(bottomMargin); +} + +char QPageLayout_SetLeftMargin(void* ptr, double leftMargin) +{ + return static_cast(ptr)->setLeftMargin(leftMargin); +} + +char QPageLayout_SetMargins(void* ptr, void* margins) +{ + return static_cast(ptr)->setMargins(*static_cast(margins)); +} + +void QPageLayout_SetMinimumMargins(void* ptr, void* minMargins) +{ + static_cast(ptr)->setMinimumMargins(*static_cast(minMargins)); +} + +void QPageLayout_SetMode(void* ptr, long long mode) +{ + static_cast(ptr)->setMode(static_cast(mode)); +} + +void QPageLayout_SetOrientation(void* ptr, long long orientation) +{ + static_cast(ptr)->setOrientation(static_cast(orientation)); +} + +void QPageLayout_SetPageSize(void* ptr, void* pageSize, void* minMargins) +{ + static_cast(ptr)->setPageSize(*static_cast(pageSize), *static_cast(minMargins)); +} + +char QPageLayout_SetRightMargin(void* ptr, double rightMargin) +{ + return static_cast(ptr)->setRightMargin(rightMargin); +} + +char QPageLayout_SetTopMargin(void* ptr, double topMargin) +{ + return static_cast(ptr)->setTopMargin(topMargin); +} + +void QPageLayout_SetUnits(void* ptr, long long units) +{ + static_cast(ptr)->setUnits(static_cast(units)); +} + +void QPageLayout_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +long long QPageLayout_Units(void* ptr) +{ + return static_cast(ptr)->units(); +} + +void QPageLayout_DestroyQPageLayout(void* ptr) +{ + static_cast(ptr)->~QPageLayout(); +} + +void* QPageSize_NewQPageSize() +{ + return new QPageSize(); +} + +void* QPageSize_NewQPageSize2(long long pageSize) +{ + return new QPageSize(static_cast(pageSize)); +} + +void* QPageSize_NewQPageSize3(void* pointSize, struct QtGui_PackedString name, long long matchPolicy) +{ + return new QPageSize(*static_cast(pointSize), QString::fromUtf8(name.data, name.len), static_cast(matchPolicy)); +} + +void* QPageSize_NewQPageSize4(void* size, long long units, struct QtGui_PackedString name, long long matchPolicy) +{ + return new QPageSize(*static_cast(size), static_cast(units), QString::fromUtf8(name.data, name.len), static_cast(matchPolicy)); +} + +void* QPageSize_NewQPageSize5(void* other) +{ + return new QPageSize(*static_cast(other)); +} + +void* QPageSize_DefinitionSize(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->definitionSize(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void* QPageSize_QPageSize_DefinitionSize2(long long pageSizeId) +{ + return ({ QSizeF tmpValue = QPageSize::definitionSize(static_cast(pageSizeId)); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +long long QPageSize_DefinitionUnits(void* ptr) +{ + return static_cast(ptr)->definitionUnits(); +} + +long long QPageSize_QPageSize_DefinitionUnits2(long long pageSizeId) +{ + return QPageSize::definitionUnits(static_cast(pageSizeId)); +} + +long long QPageSize_Id(void* ptr) +{ + return static_cast(ptr)->id(); +} + +long long QPageSize_QPageSize_Id2(void* pointSize, long long matchPolicy) +{ + return QPageSize::id(*static_cast(pointSize), static_cast(matchPolicy)); +} + +long long QPageSize_QPageSize_Id3(void* size, long long units, long long matchPolicy) +{ + return QPageSize::id(*static_cast(size), static_cast(units), static_cast(matchPolicy)); +} + +long long QPageSize_QPageSize_Id4(int windowsId) +{ + return QPageSize::id(windowsId); +} + +char QPageSize_IsEquivalentTo(void* ptr, void* other) +{ + return static_cast(ptr)->isEquivalentTo(*static_cast(other)); +} + +char QPageSize_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +struct QtGui_PackedString QPageSize_Key(void* ptr) +{ + return ({ QByteArray t01da2c = static_cast(ptr)->key().toUtf8(); QtGui_PackedString { const_cast(t01da2c.prepend("WHITESPACE").constData()+10), t01da2c.size()-10 }; }); +} + +struct QtGui_PackedString QPageSize_QPageSize_Key2(long long pageSizeId) +{ + return ({ QByteArray tba9d4f = QPageSize::key(static_cast(pageSizeId)).toUtf8(); QtGui_PackedString { const_cast(tba9d4f.prepend("WHITESPACE").constData()+10), tba9d4f.size()-10 }; }); +} + +struct QtGui_PackedString QPageSize_Name(void* ptr) +{ + return ({ QByteArray t2620ab = static_cast(ptr)->name().toUtf8(); QtGui_PackedString { const_cast(t2620ab.prepend("WHITESPACE").constData()+10), t2620ab.size()-10 }; }); +} + +struct QtGui_PackedString QPageSize_QPageSize_Name2(long long pageSizeId) +{ + return ({ QByteArray t8d3c9f = QPageSize::name(static_cast(pageSizeId)).toUtf8(); QtGui_PackedString { const_cast(t8d3c9f.prepend("WHITESPACE").constData()+10), t8d3c9f.size()-10 }; }); +} + +void* QPageSize_Rect(void* ptr, long long units) +{ + return ({ QRectF tmpValue = static_cast(ptr)->rect(static_cast(units)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPageSize_RectPixels(void* ptr, int resolution) +{ + return ({ QRect tmpValue = static_cast(ptr)->rectPixels(resolution); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPageSize_RectPoints(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->rectPoints(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPageSize_Size(void* ptr, long long units) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->size(static_cast(units)); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void* QPageSize_QPageSize_Size2(long long pageSizeId, long long units) +{ + return ({ QSizeF tmpValue = QPageSize::size(static_cast(pageSizeId), static_cast(units)); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void* QPageSize_SizePixels(void* ptr, int resolution) +{ + return ({ QSize tmpValue = static_cast(ptr)->sizePixels(resolution); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QPageSize_QPageSize_SizePixels2(long long pageSizeId, int resolution) +{ + return ({ QSize tmpValue = QPageSize::sizePixels(static_cast(pageSizeId), resolution); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QPageSize_SizePoints(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->sizePoints(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QPageSize_QPageSize_SizePoints2(long long pageSizeId) +{ + return ({ QSize tmpValue = QPageSize::sizePoints(static_cast(pageSizeId)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QPageSize_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +int QPageSize_WindowsId(void* ptr) +{ + return static_cast(ptr)->windowsId(); +} + +int QPageSize_QPageSize_WindowsId2(long long pageSizeId) +{ + return QPageSize::windowsId(static_cast(pageSizeId)); +} + +void QPageSize_DestroyQPageSize(void* ptr) +{ + static_cast(ptr)->~QPageSize(); +} + +class MyQPagedPaintDevice: public QPagedPaintDevice +{ +public: + bool newPage() { return callbackQPagedPaintDevice_NewPage(this) != 0; }; + void setPageSize(QPagedPaintDevice::PageSize size) { callbackQPagedPaintDevice_SetPageSize2(this, size); }; + void setPageSizeMM(const QSizeF & size) { callbackQPagedPaintDevice_SetPageSizeMM(this, const_cast(&size)); }; + ~MyQPagedPaintDevice() { callbackQPagedPaintDevice_DestroyQPagedPaintDevice(this); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQPagedPaintDevice_PaintEngine(const_cast(static_cast(this)))); }; +}; + +char QPagedPaintDevice_NewPage(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->newPage(); + } else { + return static_cast(ptr)->newPage(); + } +} + +void* QPagedPaintDevice_PageLayout(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QPageLayout(static_cast(ptr)->pageLayout()); + } else { + return new QPageLayout(static_cast(ptr)->pageLayout()); + } +} + +long long QPagedPaintDevice_PageSize(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->pageSize(); + } else { + return static_cast(ptr)->pageSize(); + } +} + +void* QPagedPaintDevice_PageSizeMM(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QSizeF tmpValue = static_cast(ptr)->pageSizeMM(); new QSizeF(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSizeF tmpValue = static_cast(ptr)->pageSizeMM(); new QSizeF(tmpValue.width(), tmpValue.height()); }); + } +} + +char QPagedPaintDevice_SetPageLayout(void* ptr, void* newPageLayout) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->setPageLayout(*static_cast(newPageLayout)); + } else { + return static_cast(ptr)->setPageLayout(*static_cast(newPageLayout)); + } +} + +char QPagedPaintDevice_SetPageMargins(void* ptr, void* margins) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->setPageMargins(*static_cast(margins)); + } else { + return static_cast(ptr)->setPageMargins(*static_cast(margins)); + } +} + +char QPagedPaintDevice_SetPageMargins2(void* ptr, void* margins, long long units) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->setPageMargins(*static_cast(margins), static_cast(units)); + } else { + return static_cast(ptr)->setPageMargins(*static_cast(margins), static_cast(units)); + } +} + +char QPagedPaintDevice_SetPageOrientation(void* ptr, long long orientation) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->setPageOrientation(static_cast(orientation)); + } else { + return static_cast(ptr)->setPageOrientation(static_cast(orientation)); + } +} + +char QPagedPaintDevice_SetPageSize(void* ptr, void* pageSize) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->setPageSize(*static_cast(pageSize)); + } else { + return static_cast(ptr)->setPageSize(*static_cast(pageSize)); + } +} + +void QPagedPaintDevice_SetPageSize2(void* ptr, long long size) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setPageSize(static_cast(size)); + } else { + static_cast(ptr)->setPageSize(static_cast(size)); + } +} + +void QPagedPaintDevice_SetPageSize2Default(void* ptr, long long size) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPdfWriter::setPageSize(static_cast(size)); + } else { + static_cast(ptr)->QPagedPaintDevice::setPageSize(static_cast(size)); + } +} + +void QPagedPaintDevice_SetPageSizeMM(void* ptr, void* size) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setPageSizeMM(*static_cast(size)); + } else { + static_cast(ptr)->setPageSizeMM(*static_cast(size)); + } +} + +void QPagedPaintDevice_SetPageSizeMMDefault(void* ptr, void* size) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPdfWriter::setPageSizeMM(*static_cast(size)); + } else { + static_cast(ptr)->QPagedPaintDevice::setPageSizeMM(*static_cast(size)); + } +} + +void QPagedPaintDevice_DestroyQPagedPaintDevice(void* ptr) +{ + static_cast(ptr)->~QPagedPaintDevice(); +} + +void QPagedPaintDevice_DestroyQPagedPaintDeviceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QPagedPaintDevice_PaintEngine(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->paintEngine(); + } else { + + } +} + +void* QPagedPaintDevice_PaintEngineDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPdfWriter::paintEngine(); + } else { + + } +} + +class MyQPaintDevice: public QPaintDevice +{ +public: + MyQPaintDevice() : QPaintDevice() {}; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQPaintDevice_PaintEngine(const_cast(static_cast(this)))); }; + ~MyQPaintDevice() { callbackQPaintDevice_DestroyQPaintDevice(this); }; +}; + +void* QPaintDevice_NewQPaintDevice() +{ + return new MyQPaintDevice(); +} + +int QPaintDevice_ColorCount(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->colorCount(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->colorCount(); + } else { + return static_cast(ptr)->colorCount(); + } +} + +int QPaintDevice_Depth(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->depth(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->depth(); + } else { + return static_cast(ptr)->depth(); + } +} + +int QPaintDevice_DevicePixelRatio(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->devicePixelRatio(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->devicePixelRatio(); + } else { + return static_cast(ptr)->devicePixelRatio(); + } +} + +double QPaintDevice_DevicePixelRatioF(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->devicePixelRatioF(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->devicePixelRatioF(); + } else { + return static_cast(ptr)->devicePixelRatioF(); + } +} + +int QPaintDevice_Height(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->height(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->height(); + } else { + return static_cast(ptr)->height(); + } +} + +int QPaintDevice_HeightMM(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->heightMM(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->heightMM(); + } else { + return static_cast(ptr)->heightMM(); + } +} + +int QPaintDevice_LogicalDpiX(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->logicalDpiX(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->logicalDpiX(); + } else { + return static_cast(ptr)->logicalDpiX(); + } +} + +int QPaintDevice_LogicalDpiY(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->logicalDpiY(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->logicalDpiY(); + } else { + return static_cast(ptr)->logicalDpiY(); + } +} + +int QPaintDevice_Metric(void* ptr, long long metric) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->metric(static_cast(metric)); + } else { + return static_cast(ptr)->metric(static_cast(metric)); + } +} + +int QPaintDevice_MetricDefault(void* ptr, long long metric) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPdfWriter::metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPagedPaintDevice::metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QRasterWindow::metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QOpenGLWindow::metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPaintDeviceWindow::metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QOpenGLPaintDevice::metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPicture::metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBitmap::metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPixmap::metric(static_cast(metric)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QImage::metric(static_cast(metric)); + } else { + return static_cast(ptr)->QPaintDevice::metric(static_cast(metric)); + } +} + +void* QPaintDevice_PaintEngine(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->paintEngine(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->paintEngine(); + } else { + return static_cast(ptr)->paintEngine(); + } +} + +char QPaintDevice_PaintingActive(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->paintingActive(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->paintingActive(); + } else { + return static_cast(ptr)->paintingActive(); + } +} + +int QPaintDevice_PhysicalDpiX(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->physicalDpiX(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->physicalDpiX(); + } else { + return static_cast(ptr)->physicalDpiX(); + } +} + +int QPaintDevice_PhysicalDpiY(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->physicalDpiY(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->physicalDpiY(); + } else { + return static_cast(ptr)->physicalDpiY(); + } +} + +int QPaintDevice_Width(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->width(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->width(); + } else { + return static_cast(ptr)->width(); + } +} + +int QPaintDevice_WidthMM(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->widthMM(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->widthMM(); + } else { + return static_cast(ptr)->widthMM(); + } +} + +void QPaintDevice_DestroyQPaintDevice(void* ptr) +{ + static_cast(ptr)->~QPaintDevice(); +} + +void QPaintDevice_DestroyQPaintDeviceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQPaintDeviceWindow: public QPaintDeviceWindow +{ +public: + void paintEvent(QPaintEvent * event) { callbackQPaintDeviceWindow_PaintEvent(this, event); }; + void update() { callbackQPaintDeviceWindow_Update3(this); }; + void Signal_ActiveChanged() { callbackQWindow_ActiveChanged(this); }; + void alert(int msec) { callbackQWindow_Alert(this, msec); }; + bool close() { return callbackQWindow_Close(this) != 0; }; + void Signal_ContentOrientationChanged(Qt::ScreenOrientation orientation) { callbackQWindow_ContentOrientationChanged(this, orientation); }; + bool event(QEvent * ev) { return callbackQWindow_Event(this, ev) != 0; }; + void exposeEvent(QExposeEvent * ev) { callbackQWindow_ExposeEvent(this, ev); }; + void focusInEvent(QFocusEvent * ev) { callbackQWindow_FocusInEvent(this, ev); }; + QObject * focusObject() const { return static_cast(callbackQWindow_FocusObject(const_cast(static_cast(this)))); }; + void Signal_FocusObjectChanged(QObject * object) { callbackQWindow_FocusObjectChanged(this, object); }; + void focusOutEvent(QFocusEvent * ev) { callbackQWindow_FocusOutEvent(this, ev); }; + QSurfaceFormat format() const { return *static_cast(callbackQWindow_Format(const_cast(static_cast(this)))); }; + void Signal_HeightChanged(int arg) { callbackQWindow_HeightChanged(this, arg); }; + void hide() { callbackQWindow_Hide(this); }; + void hideEvent(QHideEvent * ev) { callbackQWindow_HideEvent(this, ev); }; + void keyPressEvent(QKeyEvent * ev) { callbackQWindow_KeyPressEvent(this, ev); }; + void keyReleaseEvent(QKeyEvent * ev) { callbackQWindow_KeyReleaseEvent(this, ev); }; + void lower() { callbackQWindow_Lower(this); }; + void Signal_MaximumHeightChanged(int arg) { callbackQWindow_MaximumHeightChanged(this, arg); }; + void Signal_MaximumWidthChanged(int arg) { callbackQWindow_MaximumWidthChanged(this, arg); }; + void Signal_MinimumHeightChanged(int arg) { callbackQWindow_MinimumHeightChanged(this, arg); }; + void Signal_MinimumWidthChanged(int arg) { callbackQWindow_MinimumWidthChanged(this, arg); }; + void Signal_ModalityChanged(Qt::WindowModality modality) { callbackQWindow_ModalityChanged(this, modality); }; + void mouseDoubleClickEvent(QMouseEvent * ev) { callbackQWindow_MouseDoubleClickEvent(this, ev); }; + void mouseMoveEvent(QMouseEvent * ev) { callbackQWindow_MouseMoveEvent(this, ev); }; + void mousePressEvent(QMouseEvent * ev) { callbackQWindow_MousePressEvent(this, ev); }; + void mouseReleaseEvent(QMouseEvent * ev) { callbackQWindow_MouseReleaseEvent(this, ev); }; + void moveEvent(QMoveEvent * ev) { callbackQWindow_MoveEvent(this, ev); }; + bool nativeEvent(const QByteArray & eventType, void * message, long * result) { return callbackQWindow_NativeEvent(this, const_cast(&eventType), message, result) != 0; }; + void Signal_OpacityChanged(qreal opacity) { callbackQWindow_OpacityChanged(this, opacity); }; + void raise() { callbackQWindow_Raise(this); }; + void requestActivate() { callbackQWindow_RequestActivate(this); }; + void requestUpdate() { callbackQWindow_RequestUpdate(this); }; + void resizeEvent(QResizeEvent * ev) { callbackQWindow_ResizeEvent(this, ev); }; + void Signal_ScreenChanged(QScreen * screen) { callbackQWindow_ScreenChanged(this, screen); }; + void setGeometry(int posx, int posy, int w, int h) { callbackQWindow_SetGeometry(this, posx, posy, w, h); }; + void setGeometry(const QRect & rect) { callbackQWindow_SetGeometry2(this, const_cast(&rect)); }; + void setHeight(int arg) { callbackQWindow_SetHeight(this, arg); }; + void setMaximumHeight(int h) { callbackQWindow_SetMaximumHeight(this, h); }; + void setMaximumWidth(int w) { callbackQWindow_SetMaximumWidth(this, w); }; + void setMinimumHeight(int h) { callbackQWindow_SetMinimumHeight(this, h); }; + void setMinimumWidth(int w) { callbackQWindow_SetMinimumWidth(this, w); }; + void setTitle(const QString & vqs) { QByteArray tda39a3 = vqs.toUtf8(); QtGui_PackedString vqsPacked = { const_cast(tda39a3.prepend("WHITESPACE").constData()+10), tda39a3.size()-10 };callbackQWindow_SetTitle(this, vqsPacked); }; + void setVisible(bool visible) { callbackQWindow_SetVisible(this, visible); }; + void setWidth(int arg) { callbackQWindow_SetWidth(this, arg); }; + void setX(int arg) { callbackQWindow_SetX(this, arg); }; + void setY(int arg) { callbackQWindow_SetY(this, arg); }; + void show() { callbackQWindow_Show(this); }; + void showEvent(QShowEvent * ev) { callbackQWindow_ShowEvent(this, ev); }; + void showFullScreen() { callbackQWindow_ShowFullScreen(this); }; + void showMaximized() { callbackQWindow_ShowMaximized(this); }; + void showMinimized() { callbackQWindow_ShowMinimized(this); }; + void showNormal() { callbackQWindow_ShowNormal(this); }; + QSize size() const { return *static_cast(callbackQWindow_Size(const_cast(static_cast(this)))); }; + QSurface::SurfaceType surfaceType() const { return static_cast(callbackQWindow_SurfaceType(const_cast(static_cast(this)))); }; + void tabletEvent(QTabletEvent * ev) { callbackQWindow_TabletEvent(this, ev); }; + void touchEvent(QTouchEvent * ev) { callbackQWindow_TouchEvent(this, ev); }; + void Signal_VisibilityChanged(QWindow::Visibility visibility) { callbackQWindow_VisibilityChanged(this, visibility); }; + void Signal_VisibleChanged(bool arg) { callbackQWindow_VisibleChanged(this, arg); }; + void wheelEvent(QWheelEvent * ev) { callbackQWindow_WheelEvent(this, ev); }; + void Signal_WidthChanged(int arg) { callbackQWindow_WidthChanged(this, arg); }; + void Signal_WindowStateChanged(Qt::WindowState windowState) { callbackQWindow_WindowStateChanged(this, windowState); }; + void Signal_WindowTitleChanged(const QString & title) { QByteArray t3c6de1 = title.toUtf8(); QtGui_PackedString titlePacked = { const_cast(t3c6de1.prepend("WHITESPACE").constData()+10), t3c6de1.size()-10 };callbackQWindow_WindowTitleChanged(this, titlePacked); }; + void Signal_XChanged(int arg) { callbackQWindow_XChanged(this, arg); }; + void Signal_YChanged(int arg) { callbackQWindow_YChanged(this, arg); }; + void childEvent(QChildEvent * event) { callbackQWindow_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQWindow_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQWindow_CustomEvent(this, event); }; + void deleteLater() { callbackQWindow_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQWindow_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQWindow_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQWindow_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQWindow_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQWindow_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQWindow_TimerEvent(this, event); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQPaintDeviceWindow_PaintEngine(const_cast(static_cast(this)))); }; +}; + +Q_DECLARE_METATYPE(MyQPaintDeviceWindow*) + +int QPaintDeviceWindow_QPaintDeviceWindow_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void QPaintDeviceWindow_PaintEvent(void* ptr, void* event) +{ + static_cast(ptr)->paintEvent(static_cast(event)); +} + +void QPaintDeviceWindow_PaintEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::paintEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::paintEvent(static_cast(event)); + } else { + static_cast(ptr)->QPaintDeviceWindow::paintEvent(static_cast(event)); + } +} + +void QPaintDeviceWindow_Update(void* ptr, void* rect) +{ + static_cast(ptr)->update(*static_cast(rect)); +} + +void QPaintDeviceWindow_Update2(void* ptr, void* region) +{ + static_cast(ptr)->update(*static_cast(region)); +} + +void QPaintDeviceWindow_Update3(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "update"); +} + +void QPaintDeviceWindow_Update3Default(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::update(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::update(); + } else { + static_cast(ptr)->QPaintDeviceWindow::update(); + } +} + +void* QPaintDeviceWindow_PaintEngine(void* ptr) +{ + return static_cast(ptr)->paintEngine(); +} + +void* QPaintDeviceWindow_PaintEngineDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QRasterWindow::paintEngine(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QOpenGLWindow::paintEngine(); + } else { + return static_cast(ptr)->QPaintDeviceWindow::paintEngine(); + } +} + +class MyQPaintEngine: public QPaintEngine +{ +public: + MyQPaintEngine(QPaintEngine::PaintEngineFeatures caps = PaintEngineFeatures()) : QPaintEngine(caps) {}; + bool begin(QPaintDevice * pdev) { return callbackQPaintEngine_Begin(this, pdev) != 0; }; + void drawEllipse(const QRectF & rect) { callbackQPaintEngine_DrawEllipse(this, const_cast(&rect)); }; + void drawEllipse(const QRect & rect) { callbackQPaintEngine_DrawEllipse2(this, const_cast(&rect)); }; + void drawImage(const QRectF & rectangle, const QImage & image, const QRectF & sr, Qt::ImageConversionFlags flags) { callbackQPaintEngine_DrawImage(this, const_cast(&rectangle), const_cast(&image), const_cast(&sr), flags); }; + void drawLines(const QLineF * lines, int lineCount) { callbackQPaintEngine_DrawLines(this, const_cast(lines), lineCount); }; + void drawLines(const QLine * lines, int lineCount) { callbackQPaintEngine_DrawLines2(this, const_cast(lines), lineCount); }; + void drawPath(const QPainterPath & path) { callbackQPaintEngine_DrawPath(this, const_cast(&path)); }; + void drawPixmap(const QRectF & r, const QPixmap & pm, const QRectF & sr) { callbackQPaintEngine_DrawPixmap(this, const_cast(&r), const_cast(&pm), const_cast(&sr)); }; + void drawPoints(const QPointF * points, int pointCount) { callbackQPaintEngine_DrawPoints(this, const_cast(points), pointCount); }; + void drawPoints(const QPoint * points, int pointCount) { callbackQPaintEngine_DrawPoints2(this, const_cast(points), pointCount); }; + void drawPolygon(const QPointF * points, int pointCount, QPaintEngine::PolygonDrawMode mode) { callbackQPaintEngine_DrawPolygon(this, const_cast(points), pointCount, mode); }; + void drawPolygon(const QPoint * points, int pointCount, QPaintEngine::PolygonDrawMode mode) { callbackQPaintEngine_DrawPolygon2(this, const_cast(points), pointCount, mode); }; + void drawRects(const QRectF * rects, int rectCount) { callbackQPaintEngine_DrawRects(this, const_cast(rects), rectCount); }; + void drawRects(const QRect * rects, int rectCount) { callbackQPaintEngine_DrawRects2(this, const_cast(rects), rectCount); }; + void drawTextItem(const QPointF & p, const QTextItem & textItem) { callbackQPaintEngine_DrawTextItem(this, const_cast(&p), const_cast(&textItem)); }; + void drawTiledPixmap(const QRectF & rect, const QPixmap & pixmap, const QPointF & p) { callbackQPaintEngine_DrawTiledPixmap(this, const_cast(&rect), const_cast(&pixmap), const_cast(&p)); }; + bool end() { return callbackQPaintEngine_End(this) != 0; }; + QPaintEngine::Type type() const { return static_cast(callbackQPaintEngine_Type(const_cast(static_cast(this)))); }; + void updateState(const QPaintEngineState & state) { callbackQPaintEngine_UpdateState(this, const_cast(&state)); }; + ~MyQPaintEngine() { callbackQPaintEngine_DestroyQPaintEngine(this); }; +}; + +void* QPaintEngine_NewQPaintEngine(long long caps) +{ + return new MyQPaintEngine(static_cast(caps)); +} + +char QPaintEngine_Begin(void* ptr, void* pdev) +{ + if (dynamic_cast(static_cast(pdev))) { + return static_cast(ptr)->begin(static_cast(pdev)); + } else if (dynamic_cast(static_cast(pdev))) { + return static_cast(ptr)->begin(static_cast(pdev)); + } else { + return static_cast(ptr)->begin(static_cast(pdev)); + } +} + +void QPaintEngine_DrawEllipse(void* ptr, void* rect) +{ + static_cast(ptr)->drawEllipse(*static_cast(rect)); +} + +void QPaintEngine_DrawEllipseDefault(void* ptr, void* rect) +{ + static_cast(ptr)->QPaintEngine::drawEllipse(*static_cast(rect)); +} + +void QPaintEngine_DrawEllipse2(void* ptr, void* rect) +{ + static_cast(ptr)->drawEllipse(*static_cast(rect)); +} + +void QPaintEngine_DrawEllipse2Default(void* ptr, void* rect) +{ + static_cast(ptr)->QPaintEngine::drawEllipse(*static_cast(rect)); +} + +void QPaintEngine_DrawImage(void* ptr, void* rectangle, void* image, void* sr, long long flags) +{ + static_cast(ptr)->drawImage(*static_cast(rectangle), *static_cast(image), *static_cast(sr), static_cast(flags)); +} + +void QPaintEngine_DrawImageDefault(void* ptr, void* rectangle, void* image, void* sr, long long flags) +{ + static_cast(ptr)->QPaintEngine::drawImage(*static_cast(rectangle), *static_cast(image), *static_cast(sr), static_cast(flags)); +} + +void QPaintEngine_DrawLines(void* ptr, void* lines, int lineCount) +{ + static_cast(ptr)->drawLines(static_cast(lines), lineCount); +} + +void QPaintEngine_DrawLinesDefault(void* ptr, void* lines, int lineCount) +{ + static_cast(ptr)->QPaintEngine::drawLines(static_cast(lines), lineCount); +} + +void QPaintEngine_DrawLines2(void* ptr, void* lines, int lineCount) +{ + static_cast(ptr)->drawLines(static_cast(lines), lineCount); +} + +void QPaintEngine_DrawLines2Default(void* ptr, void* lines, int lineCount) +{ + static_cast(ptr)->QPaintEngine::drawLines(static_cast(lines), lineCount); +} + +void QPaintEngine_DrawPath(void* ptr, void* path) +{ + static_cast(ptr)->drawPath(*static_cast(path)); +} + +void QPaintEngine_DrawPathDefault(void* ptr, void* path) +{ + static_cast(ptr)->QPaintEngine::drawPath(*static_cast(path)); +} + +void QPaintEngine_DrawPixmap(void* ptr, void* r, void* pm, void* sr) +{ + static_cast(ptr)->drawPixmap(*static_cast(r), *static_cast(pm), *static_cast(sr)); +} + +void QPaintEngine_DrawPoints(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->drawPoints(static_cast(points), pointCount); +} + +void QPaintEngine_DrawPointsDefault(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->QPaintEngine::drawPoints(static_cast(points), pointCount); +} + +void QPaintEngine_DrawPoints2(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->drawPoints(static_cast(points), pointCount); +} + +void QPaintEngine_DrawPoints2Default(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->QPaintEngine::drawPoints(static_cast(points), pointCount); +} + +void QPaintEngine_DrawPolygon(void* ptr, void* points, int pointCount, long long mode) +{ + static_cast(ptr)->drawPolygon(static_cast(points), pointCount, static_cast(mode)); +} + +void QPaintEngine_DrawPolygonDefault(void* ptr, void* points, int pointCount, long long mode) +{ + static_cast(ptr)->QPaintEngine::drawPolygon(static_cast(points), pointCount, static_cast(mode)); +} + +void QPaintEngine_DrawPolygon2(void* ptr, void* points, int pointCount, long long mode) +{ + static_cast(ptr)->drawPolygon(static_cast(points), pointCount, static_cast(mode)); +} + +void QPaintEngine_DrawPolygon2Default(void* ptr, void* points, int pointCount, long long mode) +{ + static_cast(ptr)->QPaintEngine::drawPolygon(static_cast(points), pointCount, static_cast(mode)); +} + +void QPaintEngine_DrawRects(void* ptr, void* rects, int rectCount) +{ + static_cast(ptr)->drawRects(static_cast(rects), rectCount); +} + +void QPaintEngine_DrawRectsDefault(void* ptr, void* rects, int rectCount) +{ + static_cast(ptr)->QPaintEngine::drawRects(static_cast(rects), rectCount); +} + +void QPaintEngine_DrawRects2(void* ptr, void* rects, int rectCount) +{ + static_cast(ptr)->drawRects(static_cast(rects), rectCount); +} + +void QPaintEngine_DrawRects2Default(void* ptr, void* rects, int rectCount) +{ + static_cast(ptr)->QPaintEngine::drawRects(static_cast(rects), rectCount); +} + +void QPaintEngine_DrawTextItem(void* ptr, void* p, void* textItem) +{ + static_cast(ptr)->drawTextItem(*static_cast(p), *static_cast(textItem)); +} + +void QPaintEngine_DrawTextItemDefault(void* ptr, void* p, void* textItem) +{ + static_cast(ptr)->QPaintEngine::drawTextItem(*static_cast(p), *static_cast(textItem)); +} + +void QPaintEngine_DrawTiledPixmap(void* ptr, void* rect, void* pixmap, void* p) +{ + static_cast(ptr)->drawTiledPixmap(*static_cast(rect), *static_cast(pixmap), *static_cast(p)); +} + +void QPaintEngine_DrawTiledPixmapDefault(void* ptr, void* rect, void* pixmap, void* p) +{ + static_cast(ptr)->QPaintEngine::drawTiledPixmap(*static_cast(rect), *static_cast(pixmap), *static_cast(p)); +} + +char QPaintEngine_End(void* ptr) +{ + return static_cast(ptr)->end(); +} + +char QPaintEngine_HasFeature(void* ptr, long long feature) +{ + return static_cast(ptr)->hasFeature(static_cast(feature)); +} + +char QPaintEngine_IsActive(void* ptr) +{ + return static_cast(ptr)->isActive(); +} + +void* QPaintEngine_PaintDevice(void* ptr) +{ + return static_cast(ptr)->paintDevice(); +} + +void* QPaintEngine_Painter(void* ptr) +{ + return static_cast(ptr)->painter(); +} + +void QPaintEngine_SetActive(void* ptr, char state) +{ + static_cast(ptr)->setActive(state != 0); +} + +long long QPaintEngine_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QPaintEngine_UpdateState(void* ptr, void* state) +{ + static_cast(ptr)->updateState(*static_cast(state)); +} + +void QPaintEngine_DestroyQPaintEngine(void* ptr) +{ + static_cast(ptr)->~QPaintEngine(); +} + +void QPaintEngine_DestroyQPaintEngineDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QPaintEngineState_BackgroundBrush(void* ptr) +{ + return new QBrush(static_cast(ptr)->backgroundBrush()); +} + +long long QPaintEngineState_BackgroundMode(void* ptr) +{ + return static_cast(ptr)->backgroundMode(); +} + +void* QPaintEngineState_Brush(void* ptr) +{ + return new QBrush(static_cast(ptr)->brush()); +} + +char QPaintEngineState_BrushNeedsResolving(void* ptr) +{ + return static_cast(ptr)->brushNeedsResolving(); +} + +void* QPaintEngineState_BrushOrigin(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->brushOrigin(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +long long QPaintEngineState_ClipOperation(void* ptr) +{ + return static_cast(ptr)->clipOperation(); +} + +void* QPaintEngineState_ClipPath(void* ptr) +{ + return new QPainterPath(static_cast(ptr)->clipPath()); +} + +void* QPaintEngineState_ClipRegion(void* ptr) +{ + return new QRegion(static_cast(ptr)->clipRegion()); +} + +long long QPaintEngineState_CompositionMode(void* ptr) +{ + return static_cast(ptr)->compositionMode(); +} + +void* QPaintEngineState_Font(void* ptr) +{ + return new QFont(static_cast(ptr)->font()); +} + +char QPaintEngineState_IsClipEnabled(void* ptr) +{ + return static_cast(ptr)->isClipEnabled(); +} + +double QPaintEngineState_Opacity(void* ptr) +{ + return static_cast(ptr)->opacity(); +} + +void* QPaintEngineState_Painter(void* ptr) +{ + return static_cast(ptr)->painter(); +} + +void* QPaintEngineState_Pen(void* ptr) +{ + return new QPen(static_cast(ptr)->pen()); +} + +char QPaintEngineState_PenNeedsResolving(void* ptr) +{ + return static_cast(ptr)->penNeedsResolving(); +} + +long long QPaintEngineState_RenderHints(void* ptr) +{ + return static_cast(ptr)->renderHints(); +} + +long long QPaintEngineState_State(void* ptr) +{ + return static_cast(ptr)->state(); +} + +void* QPaintEngineState_Transform(void* ptr) +{ + return new QTransform(static_cast(ptr)->transform()); +} + +class MyQPaintEvent: public QPaintEvent +{ +public: + MyQPaintEvent(const QRegion &paintRegion) : QPaintEvent(paintRegion) {}; + MyQPaintEvent(const QRect &paintRect) : QPaintEvent(paintRect) {}; +}; + +void* QPaintEvent_NewQPaintEvent(void* paintRegion) +{ + return new MyQPaintEvent(*static_cast(paintRegion)); +} + +void* QPaintEvent_NewQPaintEvent2(void* paintRect) +{ + return new MyQPaintEvent(*static_cast(paintRect)); +} + +void* QPaintEvent_Rect(void* ptr) +{ + return const_cast(&static_cast(ptr)->rect()); +} + +void* QPaintEvent_Region(void* ptr) +{ + return const_cast(&static_cast(ptr)->region()); +} + +void* QPainter_NewQPainter() +{ + return new QPainter(); +} + +void* QPainter_NewQPainter2(void* device) +{ + if (dynamic_cast(static_cast(device))) { + return new QPainter(static_cast(device)); + } else if (dynamic_cast(static_cast(device))) { + return new QPainter(static_cast(device)); + } else if (dynamic_cast(static_cast(device))) { + return new QPainter(static_cast(device)); + } else { + return new QPainter(static_cast(device)); + } +} + +void* QPainter_Background(void* ptr) +{ + return const_cast(&static_cast(ptr)->background()); +} + +long long QPainter_BackgroundMode(void* ptr) +{ + return static_cast(ptr)->backgroundMode(); +} + +char QPainter_Begin(void* ptr, void* device) +{ + if (dynamic_cast(static_cast(device))) { + return static_cast(ptr)->begin(static_cast(device)); + } else if (dynamic_cast(static_cast(device))) { + return static_cast(ptr)->begin(static_cast(device)); + } else { + return static_cast(ptr)->begin(static_cast(device)); + } +} + +void QPainter_BeginNativePainting(void* ptr) +{ + static_cast(ptr)->beginNativePainting(); +} + +void* QPainter_BoundingRect(void* ptr, void* rectangle, int flags, struct QtGui_PackedString text) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(*static_cast(rectangle), flags, QString::fromUtf8(text.data, text.len)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPainter_BoundingRect2(void* ptr, void* rectangle, int flags, struct QtGui_PackedString text) +{ + return ({ QRect tmpValue = static_cast(ptr)->boundingRect(*static_cast(rectangle), flags, QString::fromUtf8(text.data, text.len)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPainter_BoundingRect3(void* ptr, int x, int y, int w, int h, int flags, struct QtGui_PackedString text) +{ + return ({ QRect tmpValue = static_cast(ptr)->boundingRect(x, y, w, h, flags, QString::fromUtf8(text.data, text.len)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPainter_BoundingRect4(void* ptr, void* rectangle, struct QtGui_PackedString text, void* option) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(*static_cast(rectangle), QString::fromUtf8(text.data, text.len), *static_cast(option)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPainter_Brush(void* ptr) +{ + return const_cast(&static_cast(ptr)->brush()); +} + +void* QPainter_BrushOrigin(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->brushOrigin(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QPainter_ClipBoundingRect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->clipBoundingRect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPainter_ClipPath(void* ptr) +{ + return new QPainterPath(static_cast(ptr)->clipPath()); +} + +void* QPainter_ClipRegion(void* ptr) +{ + return new QRegion(static_cast(ptr)->clipRegion()); +} + +void* QPainter_CombinedTransform(void* ptr) +{ + return new QTransform(static_cast(ptr)->combinedTransform()); +} + +long long QPainter_CompositionMode(void* ptr) +{ + return static_cast(ptr)->compositionMode(); +} + +void* QPainter_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +void* QPainter_DeviceTransform(void* ptr) +{ + return const_cast(&static_cast(ptr)->deviceTransform()); +} + +void QPainter_DrawArc(void* ptr, void* rectangle, int startAngle, int spanAngle) +{ + static_cast(ptr)->drawArc(*static_cast(rectangle), startAngle, spanAngle); +} + +void QPainter_DrawArc2(void* ptr, void* rectangle, int startAngle, int spanAngle) +{ + static_cast(ptr)->drawArc(*static_cast(rectangle), startAngle, spanAngle); +} + +void QPainter_DrawArc3(void* ptr, int x, int y, int width, int height, int startAngle, int spanAngle) +{ + static_cast(ptr)->drawArc(x, y, width, height, startAngle, spanAngle); +} + +void QPainter_DrawChord(void* ptr, void* rectangle, int startAngle, int spanAngle) +{ + static_cast(ptr)->drawChord(*static_cast(rectangle), startAngle, spanAngle); +} + +void QPainter_DrawChord2(void* ptr, int x, int y, int width, int height, int startAngle, int spanAngle) +{ + static_cast(ptr)->drawChord(x, y, width, height, startAngle, spanAngle); +} + +void QPainter_DrawChord3(void* ptr, void* rectangle, int startAngle, int spanAngle) +{ + static_cast(ptr)->drawChord(*static_cast(rectangle), startAngle, spanAngle); +} + +void QPainter_DrawConvexPolygon(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->drawConvexPolygon(static_cast(points), pointCount); +} + +void QPainter_DrawConvexPolygon2(void* ptr, void* polygon) +{ + static_cast(ptr)->drawConvexPolygon(*static_cast(polygon)); +} + +void QPainter_DrawConvexPolygon3(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->drawConvexPolygon(static_cast(points), pointCount); +} + +void QPainter_DrawConvexPolygon4(void* ptr, void* polygon) +{ + static_cast(ptr)->drawConvexPolygon(*static_cast(polygon)); +} + +void QPainter_DrawEllipse(void* ptr, void* rectangle) +{ + static_cast(ptr)->drawEllipse(*static_cast(rectangle)); +} + +void QPainter_DrawEllipse2(void* ptr, void* rectangle) +{ + static_cast(ptr)->drawEllipse(*static_cast(rectangle)); +} + +void QPainter_DrawEllipse3(void* ptr, int x, int y, int width, int height) +{ + static_cast(ptr)->drawEllipse(x, y, width, height); +} + +void QPainter_DrawEllipse4(void* ptr, void* center, double rx, double ry) +{ + static_cast(ptr)->drawEllipse(*static_cast(center), rx, ry); +} + +void QPainter_DrawEllipse5(void* ptr, void* center, int rx, int ry) +{ + static_cast(ptr)->drawEllipse(*static_cast(center), rx, ry); +} + +void QPainter_DrawGlyphRun(void* ptr, void* position, void* glyphs) +{ + static_cast(ptr)->drawGlyphRun(*static_cast(position), *static_cast(glyphs)); +} + +void QPainter_DrawImage(void* ptr, void* target, void* image, void* source, long long flags) +{ + static_cast(ptr)->drawImage(*static_cast(target), *static_cast(image), *static_cast(source), static_cast(flags)); +} + +void QPainter_DrawImage2(void* ptr, void* target, void* image, void* source, long long flags) +{ + static_cast(ptr)->drawImage(*static_cast(target), *static_cast(image), *static_cast(source), static_cast(flags)); +} + +void QPainter_DrawImage3(void* ptr, void* point, void* image, void* source, long long flags) +{ + static_cast(ptr)->drawImage(*static_cast(point), *static_cast(image), *static_cast(source), static_cast(flags)); +} + +void QPainter_DrawImage4(void* ptr, void* point, void* image, void* source, long long flags) +{ + static_cast(ptr)->drawImage(*static_cast(point), *static_cast(image), *static_cast(source), static_cast(flags)); +} + +void QPainter_DrawImage5(void* ptr, void* rectangle, void* image) +{ + static_cast(ptr)->drawImage(*static_cast(rectangle), *static_cast(image)); +} + +void QPainter_DrawImage6(void* ptr, void* rectangle, void* image) +{ + static_cast(ptr)->drawImage(*static_cast(rectangle), *static_cast(image)); +} + +void QPainter_DrawImage7(void* ptr, void* point, void* image) +{ + static_cast(ptr)->drawImage(*static_cast(point), *static_cast(image)); +} + +void QPainter_DrawImage8(void* ptr, void* point, void* image) +{ + static_cast(ptr)->drawImage(*static_cast(point), *static_cast(image)); +} + +void QPainter_DrawImage9(void* ptr, int x, int y, void* image, int sx, int sy, int sw, int sh, long long flags) +{ + static_cast(ptr)->drawImage(x, y, *static_cast(image), sx, sy, sw, sh, static_cast(flags)); +} + +void QPainter_DrawLine(void* ptr, void* line) +{ + static_cast(ptr)->drawLine(*static_cast(line)); +} + +void QPainter_DrawLine2(void* ptr, void* line) +{ + static_cast(ptr)->drawLine(*static_cast(line)); +} + +void QPainter_DrawLine3(void* ptr, int x1, int y1, int x2, int y2) +{ + static_cast(ptr)->drawLine(x1, y1, x2, y2); +} + +void QPainter_DrawLine4(void* ptr, void* p1, void* p2) +{ + static_cast(ptr)->drawLine(*static_cast(p1), *static_cast(p2)); +} + +void QPainter_DrawLine5(void* ptr, void* p1, void* p2) +{ + static_cast(ptr)->drawLine(*static_cast(p1), *static_cast(p2)); +} + +void QPainter_DrawLines(void* ptr, void* lines, int lineCount) +{ + static_cast(ptr)->drawLines(static_cast(lines), lineCount); +} + +void QPainter_DrawLines2(void* ptr, void* lines) +{ + static_cast(ptr)->drawLines(*static_cast*>(lines)); +} + +void QPainter_DrawLines3(void* ptr, void* pointPairs, int lineCount) +{ + static_cast(ptr)->drawLines(static_cast(pointPairs), lineCount); +} + +void QPainter_DrawLines4(void* ptr, void* pointPairs) +{ + static_cast(ptr)->drawLines(*static_cast*>(pointPairs)); +} + +void QPainter_DrawLines5(void* ptr, void* lines, int lineCount) +{ + static_cast(ptr)->drawLines(static_cast(lines), lineCount); +} + +void QPainter_DrawLines6(void* ptr, void* lines) +{ + static_cast(ptr)->drawLines(*static_cast*>(lines)); +} + +void QPainter_DrawLines7(void* ptr, void* pointPairs, int lineCount) +{ + static_cast(ptr)->drawLines(static_cast(pointPairs), lineCount); +} + +void QPainter_DrawLines8(void* ptr, void* pointPairs) +{ + static_cast(ptr)->drawLines(*static_cast*>(pointPairs)); +} + +void QPainter_DrawPath(void* ptr, void* path) +{ + static_cast(ptr)->drawPath(*static_cast(path)); +} + +void QPainter_DrawPicture(void* ptr, void* point, void* picture) +{ + static_cast(ptr)->drawPicture(*static_cast(point), *static_cast(picture)); +} + +void QPainter_DrawPicture2(void* ptr, int x, int y, void* picture) +{ + static_cast(ptr)->drawPicture(x, y, *static_cast(picture)); +} + +void QPainter_DrawPicture3(void* ptr, void* point, void* picture) +{ + static_cast(ptr)->drawPicture(*static_cast(point), *static_cast(picture)); +} + +void QPainter_DrawPie(void* ptr, void* rectangle, int startAngle, int spanAngle) +{ + static_cast(ptr)->drawPie(*static_cast(rectangle), startAngle, spanAngle); +} + +void QPainter_DrawPie2(void* ptr, int x, int y, int width, int height, int startAngle, int spanAngle) +{ + static_cast(ptr)->drawPie(x, y, width, height, startAngle, spanAngle); +} + +void QPainter_DrawPie3(void* ptr, void* rectangle, int startAngle, int spanAngle) +{ + static_cast(ptr)->drawPie(*static_cast(rectangle), startAngle, spanAngle); +} + +void QPainter_DrawPixmap(void* ptr, void* target, void* pixmap, void* source) +{ + static_cast(ptr)->drawPixmap(*static_cast(target), *static_cast(pixmap), *static_cast(source)); +} + +void QPainter_DrawPixmap2(void* ptr, void* target, void* pixmap, void* source) +{ + static_cast(ptr)->drawPixmap(*static_cast(target), *static_cast(pixmap), *static_cast(source)); +} + +void QPainter_DrawPixmap3(void* ptr, int x, int y, int w, int h, void* pixmap, int sx, int sy, int sw, int sh) +{ + static_cast(ptr)->drawPixmap(x, y, w, h, *static_cast(pixmap), sx, sy, sw, sh); +} + +void QPainter_DrawPixmap4(void* ptr, int x, int y, void* pixmap, int sx, int sy, int sw, int sh) +{ + static_cast(ptr)->drawPixmap(x, y, *static_cast(pixmap), sx, sy, sw, sh); +} + +void QPainter_DrawPixmap5(void* ptr, void* point, void* pixmap, void* source) +{ + static_cast(ptr)->drawPixmap(*static_cast(point), *static_cast(pixmap), *static_cast(source)); +} + +void QPainter_DrawPixmap6(void* ptr, void* point, void* pixmap, void* source) +{ + static_cast(ptr)->drawPixmap(*static_cast(point), *static_cast(pixmap), *static_cast(source)); +} + +void QPainter_DrawPixmap7(void* ptr, void* point, void* pixmap) +{ + static_cast(ptr)->drawPixmap(*static_cast(point), *static_cast(pixmap)); +} + +void QPainter_DrawPixmap8(void* ptr, void* point, void* pixmap) +{ + static_cast(ptr)->drawPixmap(*static_cast(point), *static_cast(pixmap)); +} + +void QPainter_DrawPixmap9(void* ptr, int x, int y, void* pixmap) +{ + static_cast(ptr)->drawPixmap(x, y, *static_cast(pixmap)); +} + +void QPainter_DrawPixmap10(void* ptr, void* rectangle, void* pixmap) +{ + static_cast(ptr)->drawPixmap(*static_cast(rectangle), *static_cast(pixmap)); +} + +void QPainter_DrawPixmap11(void* ptr, int x, int y, int width, int height, void* pixmap) +{ + static_cast(ptr)->drawPixmap(x, y, width, height, *static_cast(pixmap)); +} + +void QPainter_DrawPoint(void* ptr, void* position) +{ + static_cast(ptr)->drawPoint(*static_cast(position)); +} + +void QPainter_DrawPoint2(void* ptr, void* position) +{ + static_cast(ptr)->drawPoint(*static_cast(position)); +} + +void QPainter_DrawPoint3(void* ptr, int x, int y) +{ + static_cast(ptr)->drawPoint(x, y); +} + +void QPainter_DrawPoints(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->drawPoints(static_cast(points), pointCount); +} + +void QPainter_DrawPoints2(void* ptr, void* points) +{ + static_cast(ptr)->drawPoints(*static_cast(points)); +} + +void QPainter_DrawPoints3(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->drawPoints(static_cast(points), pointCount); +} + +void QPainter_DrawPoints4(void* ptr, void* points) +{ + static_cast(ptr)->drawPoints(*static_cast(points)); +} + +void QPainter_DrawPolygon(void* ptr, void* points, int pointCount, long long fillRule) +{ + static_cast(ptr)->drawPolygon(static_cast(points), pointCount, static_cast(fillRule)); +} + +void QPainter_DrawPolygon2(void* ptr, void* points, long long fillRule) +{ + static_cast(ptr)->drawPolygon(*static_cast(points), static_cast(fillRule)); +} + +void QPainter_DrawPolygon3(void* ptr, void* points, int pointCount, long long fillRule) +{ + static_cast(ptr)->drawPolygon(static_cast(points), pointCount, static_cast(fillRule)); +} + +void QPainter_DrawPolygon4(void* ptr, void* points, long long fillRule) +{ + static_cast(ptr)->drawPolygon(*static_cast(points), static_cast(fillRule)); +} + +void QPainter_DrawPolyline(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->drawPolyline(static_cast(points), pointCount); +} + +void QPainter_DrawPolyline2(void* ptr, void* points) +{ + static_cast(ptr)->drawPolyline(*static_cast(points)); +} + +void QPainter_DrawPolyline3(void* ptr, void* points, int pointCount) +{ + static_cast(ptr)->drawPolyline(static_cast(points), pointCount); +} + +void QPainter_DrawPolyline4(void* ptr, void* points) +{ + static_cast(ptr)->drawPolyline(*static_cast(points)); +} + +void QPainter_DrawRect(void* ptr, void* rectangle) +{ + static_cast(ptr)->drawRect(*static_cast(rectangle)); +} + +void QPainter_DrawRect2(void* ptr, int x, int y, int width, int height) +{ + static_cast(ptr)->drawRect(x, y, width, height); +} + +void QPainter_DrawRect3(void* ptr, void* rectangle) +{ + static_cast(ptr)->drawRect(*static_cast(rectangle)); +} + +void QPainter_DrawRects(void* ptr, void* rectangles, int rectCount) +{ + static_cast(ptr)->drawRects(static_cast(rectangles), rectCount); +} + +void QPainter_DrawRects2(void* ptr, void* rectangles) +{ + static_cast(ptr)->drawRects(*static_cast*>(rectangles)); +} + +void QPainter_DrawRects3(void* ptr, void* rectangles, int rectCount) +{ + static_cast(ptr)->drawRects(static_cast(rectangles), rectCount); +} + +void QPainter_DrawRects4(void* ptr, void* rectangles) +{ + static_cast(ptr)->drawRects(*static_cast*>(rectangles)); +} + +void QPainter_DrawRoundedRect(void* ptr, void* rect, double xRadius, double yRadius, long long mode) +{ + static_cast(ptr)->drawRoundedRect(*static_cast(rect), xRadius, yRadius, static_cast(mode)); +} + +void QPainter_DrawRoundedRect2(void* ptr, int x, int y, int w, int h, double xRadius, double yRadius, long long mode) +{ + static_cast(ptr)->drawRoundedRect(x, y, w, h, xRadius, yRadius, static_cast(mode)); +} + +void QPainter_DrawRoundedRect3(void* ptr, void* rect, double xRadius, double yRadius, long long mode) +{ + static_cast(ptr)->drawRoundedRect(*static_cast(rect), xRadius, yRadius, static_cast(mode)); +} + +void QPainter_DrawStaticText(void* ptr, void* topLeftPosition, void* staticText) +{ + static_cast(ptr)->drawStaticText(*static_cast(topLeftPosition), *static_cast(staticText)); +} + +void QPainter_DrawStaticText2(void* ptr, void* topLeftPosition, void* staticText) +{ + static_cast(ptr)->drawStaticText(*static_cast(topLeftPosition), *static_cast(staticText)); +} + +void QPainter_DrawStaticText3(void* ptr, int left, int top, void* staticText) +{ + static_cast(ptr)->drawStaticText(left, top, *static_cast(staticText)); +} + +void QPainter_DrawText(void* ptr, void* position, struct QtGui_PackedString text) +{ + static_cast(ptr)->drawText(*static_cast(position), QString::fromUtf8(text.data, text.len)); +} + +void QPainter_DrawText2(void* ptr, void* position, struct QtGui_PackedString text) +{ + static_cast(ptr)->drawText(*static_cast(position), QString::fromUtf8(text.data, text.len)); +} + +void QPainter_DrawText3(void* ptr, int x, int y, struct QtGui_PackedString text) +{ + static_cast(ptr)->drawText(x, y, QString::fromUtf8(text.data, text.len)); +} + +void QPainter_DrawText4(void* ptr, void* rectangle, int flags, struct QtGui_PackedString text, void* boundingRect) +{ + static_cast(ptr)->drawText(*static_cast(rectangle), flags, QString::fromUtf8(text.data, text.len), static_cast(boundingRect)); +} + +void QPainter_DrawText5(void* ptr, int x, int y, int width, int height, int flags, struct QtGui_PackedString text, void* boundingRect) +{ + static_cast(ptr)->drawText(x, y, width, height, flags, QString::fromUtf8(text.data, text.len), static_cast(boundingRect)); +} + +void QPainter_DrawText6(void* ptr, void* rectangle, struct QtGui_PackedString text, void* option) +{ + static_cast(ptr)->drawText(*static_cast(rectangle), QString::fromUtf8(text.data, text.len), *static_cast(option)); +} + +void QPainter_DrawTiledPixmap(void* ptr, void* rectangle, void* pixmap, void* position) +{ + static_cast(ptr)->drawTiledPixmap(*static_cast(rectangle), *static_cast(pixmap), *static_cast(position)); +} + +void QPainter_DrawTiledPixmap2(void* ptr, int x, int y, int width, int height, void* pixmap, int sx, int sy) +{ + static_cast(ptr)->drawTiledPixmap(x, y, width, height, *static_cast(pixmap), sx, sy); +} + +void QPainter_DrawTiledPixmap3(void* ptr, void* rectangle, void* pixmap, void* position) +{ + static_cast(ptr)->drawTiledPixmap(*static_cast(rectangle), *static_cast(pixmap), *static_cast(position)); +} + +char QPainter_End(void* ptr) +{ + return static_cast(ptr)->end(); +} + +void QPainter_EndNativePainting(void* ptr) +{ + static_cast(ptr)->endNativePainting(); +} + +void QPainter_EraseRect(void* ptr, void* rectangle) +{ + static_cast(ptr)->eraseRect(*static_cast(rectangle)); +} + +void QPainter_EraseRect2(void* ptr, int x, int y, int width, int height) +{ + static_cast(ptr)->eraseRect(x, y, width, height); +} + +void QPainter_EraseRect3(void* ptr, void* rectangle) +{ + static_cast(ptr)->eraseRect(*static_cast(rectangle)); +} + +void QPainter_FillPath(void* ptr, void* path, void* brush) +{ + static_cast(ptr)->fillPath(*static_cast(path), *static_cast(brush)); +} + +void QPainter_FillRect(void* ptr, void* rectangle, void* brush) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), *static_cast(brush)); +} + +void QPainter_FillRect2(void* ptr, int x, int y, int width, int height, void* brush) +{ + static_cast(ptr)->fillRect(x, y, width, height, *static_cast(brush)); +} + +void QPainter_FillRect3(void* ptr, void* rectangle, void* brush) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), *static_cast(brush)); +} + +void QPainter_FillRect4(void* ptr, void* rectangle, void* color) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), *static_cast(color)); +} + +void QPainter_FillRect5(void* ptr, int x, int y, int width, int height, void* color) +{ + static_cast(ptr)->fillRect(x, y, width, height, *static_cast(color)); +} + +void QPainter_FillRect6(void* ptr, void* rectangle, void* color) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), *static_cast(color)); +} + +void QPainter_FillRect7(void* ptr, int x, int y, int width, int height, long long color) +{ + static_cast(ptr)->fillRect(x, y, width, height, static_cast(color)); +} + +void QPainter_FillRect8(void* ptr, void* rectangle, long long color) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), static_cast(color)); +} + +void QPainter_FillRect9(void* ptr, void* rectangle, long long color) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), static_cast(color)); +} + +void QPainter_FillRect10(void* ptr, int x, int y, int width, int height, long long style) +{ + static_cast(ptr)->fillRect(x, y, width, height, static_cast(style)); +} + +void QPainter_FillRect11(void* ptr, void* rectangle, long long style) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), static_cast(style)); +} + +void QPainter_FillRect12(void* ptr, void* rectangle, long long style) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), static_cast(style)); +} + +void QPainter_FillRect13(void* ptr, int x, int y, int width, int height, long long preset) +{ + static_cast(ptr)->fillRect(x, y, width, height, static_cast(preset)); +} + +void QPainter_FillRect14(void* ptr, void* rectangle, long long preset) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), static_cast(preset)); +} + +void QPainter_FillRect15(void* ptr, void* rectangle, long long preset) +{ + static_cast(ptr)->fillRect(*static_cast(rectangle), static_cast(preset)); +} + +void* QPainter_Font(void* ptr) +{ + return const_cast(&static_cast(ptr)->font()); +} + +void* QPainter_FontInfo(void* ptr) +{ + return new QFontInfo(static_cast(ptr)->fontInfo()); +} + +void* QPainter_FontMetrics(void* ptr) +{ + return new QFontMetrics(static_cast(ptr)->fontMetrics()); +} + +char QPainter_HasClipping(void* ptr) +{ + return static_cast(ptr)->hasClipping(); +} + +char QPainter_IsActive(void* ptr) +{ + return static_cast(ptr)->isActive(); +} + +long long QPainter_LayoutDirection(void* ptr) +{ + return static_cast(ptr)->layoutDirection(); +} + +double QPainter_Opacity(void* ptr) +{ + return static_cast(ptr)->opacity(); +} + +void* QPainter_PaintEngine(void* ptr) +{ + return static_cast(ptr)->paintEngine(); +} + +void* QPainter_Pen(void* ptr) +{ + return const_cast(&static_cast(ptr)->pen()); +} + +long long QPainter_RenderHints(void* ptr) +{ + return static_cast(ptr)->renderHints(); +} + +void QPainter_ResetTransform(void* ptr) +{ + static_cast(ptr)->resetTransform(); +} + +void QPainter_Restore(void* ptr) +{ + static_cast(ptr)->restore(); +} + +void QPainter_Rotate(void* ptr, double angle) +{ + static_cast(ptr)->rotate(angle); +} + +void QPainter_Save(void* ptr) +{ + static_cast(ptr)->save(); +} + +void QPainter_Scale(void* ptr, double sx, double sy) +{ + static_cast(ptr)->scale(sx, sy); +} + +void QPainter_SetBackground(void* ptr, void* brush) +{ + static_cast(ptr)->setBackground(*static_cast(brush)); +} + +void QPainter_SetBackgroundMode(void* ptr, long long mode) +{ + static_cast(ptr)->setBackgroundMode(static_cast(mode)); +} + +void QPainter_SetBrush(void* ptr, void* brush) +{ + static_cast(ptr)->setBrush(*static_cast(brush)); +} + +void QPainter_SetBrush2(void* ptr, long long style) +{ + static_cast(ptr)->setBrush(static_cast(style)); +} + +void QPainter_SetBrushOrigin(void* ptr, void* position) +{ + static_cast(ptr)->setBrushOrigin(*static_cast(position)); +} + +void QPainter_SetBrushOrigin2(void* ptr, int x, int y) +{ + static_cast(ptr)->setBrushOrigin(x, y); +} + +void QPainter_SetBrushOrigin3(void* ptr, void* position) +{ + static_cast(ptr)->setBrushOrigin(*static_cast(position)); +} + +void QPainter_SetClipPath(void* ptr, void* path, long long operation) +{ + static_cast(ptr)->setClipPath(*static_cast(path), static_cast(operation)); +} + +void QPainter_SetClipRect(void* ptr, void* rectangle, long long operation) +{ + static_cast(ptr)->setClipRect(*static_cast(rectangle), static_cast(operation)); +} + +void QPainter_SetClipRect2(void* ptr, void* rectangle, long long operation) +{ + static_cast(ptr)->setClipRect(*static_cast(rectangle), static_cast(operation)); +} + +void QPainter_SetClipRect3(void* ptr, int x, int y, int width, int height, long long operation) +{ + static_cast(ptr)->setClipRect(x, y, width, height, static_cast(operation)); +} + +void QPainter_SetClipRegion(void* ptr, void* region, long long operation) +{ + static_cast(ptr)->setClipRegion(*static_cast(region), static_cast(operation)); +} + +void QPainter_SetClipping(void* ptr, char enable) +{ + static_cast(ptr)->setClipping(enable != 0); +} + +void QPainter_SetCompositionMode(void* ptr, long long mode) +{ + static_cast(ptr)->setCompositionMode(static_cast(mode)); +} + +void QPainter_SetFont(void* ptr, void* font) +{ + static_cast(ptr)->setFont(*static_cast(font)); +} + +void QPainter_SetLayoutDirection(void* ptr, long long direction) +{ + static_cast(ptr)->setLayoutDirection(static_cast(direction)); +} + +void QPainter_SetOpacity(void* ptr, double opacity) +{ + static_cast(ptr)->setOpacity(opacity); +} + +void QPainter_SetPen(void* ptr, void* pen) +{ + static_cast(ptr)->setPen(*static_cast(pen)); +} + +void QPainter_SetPen2(void* ptr, void* color) +{ + static_cast(ptr)->setPen(*static_cast(color)); +} + +void QPainter_SetPen3(void* ptr, long long style) +{ + static_cast(ptr)->setPen(static_cast(style)); +} + +void QPainter_SetRenderHint(void* ptr, long long hint, char on) +{ + static_cast(ptr)->setRenderHint(static_cast(hint), on != 0); +} + +void QPainter_SetRenderHints(void* ptr, long long hints, char on) +{ + static_cast(ptr)->setRenderHints(static_cast(hints), on != 0); +} + +void QPainter_SetTransform(void* ptr, void* transform, char combine) +{ + static_cast(ptr)->setTransform(*static_cast(transform), combine != 0); +} + +void QPainter_SetViewTransformEnabled(void* ptr, char enable) +{ + static_cast(ptr)->setViewTransformEnabled(enable != 0); +} + +void QPainter_SetViewport(void* ptr, void* rectangle) +{ + static_cast(ptr)->setViewport(*static_cast(rectangle)); +} + +void QPainter_SetViewport2(void* ptr, int x, int y, int width, int height) +{ + static_cast(ptr)->setViewport(x, y, width, height); +} + +void QPainter_SetWindow(void* ptr, void* rectangle) +{ + static_cast(ptr)->setWindow(*static_cast(rectangle)); +} + +void QPainter_SetWindow2(void* ptr, int x, int y, int width, int height) +{ + static_cast(ptr)->setWindow(x, y, width, height); +} + +void QPainter_SetWorldMatrixEnabled(void* ptr, char enable) +{ + static_cast(ptr)->setWorldMatrixEnabled(enable != 0); +} + +void QPainter_SetWorldTransform(void* ptr, void* matrix, char combine) +{ + static_cast(ptr)->setWorldTransform(*static_cast(matrix), combine != 0); +} + +void QPainter_Shear(void* ptr, double sh, double sv) +{ + static_cast(ptr)->shear(sh, sv); +} + +void QPainter_StrokePath(void* ptr, void* path, void* pen) +{ + static_cast(ptr)->strokePath(*static_cast(path), *static_cast(pen)); +} + +char QPainter_TestRenderHint(void* ptr, long long hint) +{ + return static_cast(ptr)->testRenderHint(static_cast(hint)); +} + +void* QPainter_Transform(void* ptr) +{ + return const_cast(&static_cast(ptr)->transform()); +} + +void QPainter_Translate(void* ptr, void* offset) +{ + static_cast(ptr)->translate(*static_cast(offset)); +} + +void QPainter_Translate2(void* ptr, void* offset) +{ + static_cast(ptr)->translate(*static_cast(offset)); +} + +void QPainter_Translate3(void* ptr, double dx, double dy) +{ + static_cast(ptr)->translate(dx, dy); +} + +char QPainter_ViewTransformEnabled(void* ptr) +{ + return static_cast(ptr)->viewTransformEnabled(); +} + +void* QPainter_Viewport(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->viewport(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QPainter_Window(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->window(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QPainter_WorldMatrixEnabled(void* ptr) +{ + return static_cast(ptr)->worldMatrixEnabled(); +} + +void* QPainter_WorldTransform(void* ptr) +{ + return const_cast(&static_cast(ptr)->worldTransform()); +} + +void QPainter_DestroyQPainter(void* ptr) +{ + static_cast(ptr)->~QPainter(); +} + +void* QPainter___drawLines_lines_atList2(void* ptr, int i) +{ + return ({ QLineF tmpValue = ({QLineF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QLineF(tmpValue.p1(), tmpValue.p2()); }); +} + +void QPainter___drawLines_lines_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainter___drawLines_lines_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPainter___drawLines_pointPairs_atList4(void* ptr, int i) +{ + return ({ QPointF tmpValue = ({QPointF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QPainter___drawLines_pointPairs_setList4(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainter___drawLines_pointPairs_newList4(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPainter___drawLines_lines_atList6(void* ptr, int i) +{ + return ({ QLine tmpValue = ({QLine tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QLine(tmpValue.p1(), tmpValue.p2()); }); +} + +void QPainter___drawLines_lines_setList6(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainter___drawLines_lines_newList6(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPainter___drawLines_pointPairs_atList8(void* ptr, int i) +{ + return ({ QPoint tmpValue = ({QPoint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void QPainter___drawLines_pointPairs_setList8(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainter___drawLines_pointPairs_newList8(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPainter___drawRects_rectangles_atList2(void* ptr, int i) +{ + return ({ QRectF tmpValue = ({QRectF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QPainter___drawRects_rectangles_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainter___drawRects_rectangles_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPainter___drawRects_rectangles_atList4(void* ptr, int i) +{ + return ({ QRect tmpValue = ({QRect tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QPainter___drawRects_rectangles_setList4(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainter___drawRects_rectangles_newList4(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPainterPath_NewQPainterPath() +{ + return new QPainterPath(); +} + +void* QPainterPath_NewQPainterPath2(void* startPoint) +{ + return new QPainterPath(*static_cast(startPoint)); +} + +void* QPainterPath_NewQPainterPath3(void* path) +{ + return new QPainterPath(*static_cast(path)); +} + +void QPainterPath_AddEllipse(void* ptr, void* boundingRectangle) +{ + static_cast(ptr)->addEllipse(*static_cast(boundingRectangle)); +} + +void QPainterPath_AddEllipse2(void* ptr, double x, double y, double width, double height) +{ + static_cast(ptr)->addEllipse(x, y, width, height); +} + +void QPainterPath_AddEllipse3(void* ptr, void* center, double rx, double ry) +{ + static_cast(ptr)->addEllipse(*static_cast(center), rx, ry); +} + +void QPainterPath_AddPath(void* ptr, void* path) +{ + static_cast(ptr)->addPath(*static_cast(path)); +} + +void QPainterPath_AddPolygon(void* ptr, void* polygon) +{ + static_cast(ptr)->addPolygon(*static_cast(polygon)); +} + +void QPainterPath_AddRect(void* ptr, void* rectangle) +{ + static_cast(ptr)->addRect(*static_cast(rectangle)); +} + +void QPainterPath_AddRect2(void* ptr, double x, double y, double width, double height) +{ + static_cast(ptr)->addRect(x, y, width, height); +} + +void QPainterPath_AddRegion(void* ptr, void* region) +{ + static_cast(ptr)->addRegion(*static_cast(region)); +} + +void QPainterPath_AddRoundedRect(void* ptr, void* rect, double xRadius, double yRadius, long long mode) +{ + static_cast(ptr)->addRoundedRect(*static_cast(rect), xRadius, yRadius, static_cast(mode)); +} + +void QPainterPath_AddRoundedRect2(void* ptr, double x, double y, double w, double h, double xRadius, double yRadius, long long mode) +{ + static_cast(ptr)->addRoundedRect(x, y, w, h, xRadius, yRadius, static_cast(mode)); +} + +void QPainterPath_AddText(void* ptr, void* point, void* font, struct QtGui_PackedString text) +{ + static_cast(ptr)->addText(*static_cast(point), *static_cast(font), QString::fromUtf8(text.data, text.len)); +} + +void QPainterPath_AddText2(void* ptr, double x, double y, void* font, struct QtGui_PackedString text) +{ + static_cast(ptr)->addText(x, y, *static_cast(font), QString::fromUtf8(text.data, text.len)); +} + +double QPainterPath_AngleAtPercent(void* ptr, double t) +{ + return static_cast(ptr)->angleAtPercent(t); +} + +void QPainterPath_ArcMoveTo(void* ptr, void* rectangle, double angle) +{ + static_cast(ptr)->arcMoveTo(*static_cast(rectangle), angle); +} + +void QPainterPath_ArcMoveTo2(void* ptr, double x, double y, double width, double height, double angle) +{ + static_cast(ptr)->arcMoveTo(x, y, width, height, angle); +} + +void QPainterPath_ArcTo(void* ptr, void* rectangle, double startAngle, double sweepLength) +{ + static_cast(ptr)->arcTo(*static_cast(rectangle), startAngle, sweepLength); +} + +void QPainterPath_ArcTo2(void* ptr, double x, double y, double width, double height, double startAngle, double sweepLength) +{ + static_cast(ptr)->arcTo(x, y, width, height, startAngle, sweepLength); +} + +void* QPainterPath_BoundingRect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +int QPainterPath_Capacity(void* ptr) +{ + return static_cast(ptr)->capacity(); +} + +void QPainterPath_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +void QPainterPath_CloseSubpath(void* ptr) +{ + static_cast(ptr)->closeSubpath(); +} + +void QPainterPath_ConnectPath(void* ptr, void* path) +{ + static_cast(ptr)->connectPath(*static_cast(path)); +} + +char QPainterPath_Contains(void* ptr, void* point) +{ + return static_cast(ptr)->contains(*static_cast(point)); +} + +char QPainterPath_Contains2(void* ptr, void* rectangle) +{ + return static_cast(ptr)->contains(*static_cast(rectangle)); +} + +char QPainterPath_Contains3(void* ptr, void* p) +{ + return static_cast(ptr)->contains(*static_cast(p)); +} + +void* QPainterPath_ControlPointRect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->controlPointRect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QPainterPath_CubicTo(void* ptr, void* c1, void* c2, void* endPoint) +{ + static_cast(ptr)->cubicTo(*static_cast(c1), *static_cast(c2), *static_cast(endPoint)); +} + +void QPainterPath_CubicTo2(void* ptr, double c1X, double c1Y, double c2X, double c2Y, double endPointX, double endPointY) +{ + static_cast(ptr)->cubicTo(c1X, c1Y, c2X, c2Y, endPointX, endPointY); +} + +void* QPainterPath_CurrentPosition(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->currentPosition(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +int QPainterPath_ElementCount(void* ptr) +{ + return static_cast(ptr)->elementCount(); +} + +long long QPainterPath_FillRule(void* ptr) +{ + return static_cast(ptr)->fillRule(); +} + +void* QPainterPath_Intersected(void* ptr, void* p) +{ + return new QPainterPath(static_cast(ptr)->intersected(*static_cast(p))); +} + +char QPainterPath_Intersects(void* ptr, void* rectangle) +{ + return static_cast(ptr)->intersects(*static_cast(rectangle)); +} + +char QPainterPath_Intersects2(void* ptr, void* p) +{ + return static_cast(ptr)->intersects(*static_cast(p)); +} + +char QPainterPath_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +double QPainterPath_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +void QPainterPath_LineTo(void* ptr, void* endPoint) +{ + static_cast(ptr)->lineTo(*static_cast(endPoint)); +} + +void QPainterPath_LineTo2(void* ptr, double x, double y) +{ + static_cast(ptr)->lineTo(x, y); +} + +void QPainterPath_MoveTo(void* ptr, void* point) +{ + static_cast(ptr)->moveTo(*static_cast(point)); +} + +void QPainterPath_MoveTo2(void* ptr, double x, double y) +{ + static_cast(ptr)->moveTo(x, y); +} + +double QPainterPath_PercentAtLength(void* ptr, double l) +{ + return static_cast(ptr)->percentAtLength(l); +} + +void* QPainterPath_PointAtPercent(void* ptr, double t) +{ + return ({ QPointF tmpValue = static_cast(ptr)->pointAtPercent(t); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QPainterPath_QuadTo(void* ptr, void* c, void* endPoint) +{ + static_cast(ptr)->quadTo(*static_cast(c), *static_cast(endPoint)); +} + +void QPainterPath_QuadTo2(void* ptr, double cx, double cy, double endPointX, double endPointY) +{ + static_cast(ptr)->quadTo(cx, cy, endPointX, endPointY); +} + +void QPainterPath_Reserve(void* ptr, int size) +{ + static_cast(ptr)->reserve(size); +} + +void QPainterPath_SetElementPositionAt(void* ptr, int index, double x, double y) +{ + static_cast(ptr)->setElementPositionAt(index, x, y); +} + +void QPainterPath_SetFillRule(void* ptr, long long fillRule) +{ + static_cast(ptr)->setFillRule(static_cast(fillRule)); +} + +void* QPainterPath_Simplified(void* ptr) +{ + return new QPainterPath(static_cast(ptr)->simplified()); +} + +double QPainterPath_SlopeAtPercent(void* ptr, double t) +{ + return static_cast(ptr)->slopeAtPercent(t); +} + +void* QPainterPath_Subtracted(void* ptr, void* p) +{ + return new QPainterPath(static_cast(ptr)->subtracted(*static_cast(p))); +} + +void QPainterPath_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QPainterPath_ToFillPolygon(void* ptr, void* matrix) +{ + return new QPolygonF(static_cast(ptr)->toFillPolygon(*static_cast(matrix))); +} + +void* QPainterPath_ToFillPolygon2(void* ptr, void* matrix) +{ + return new QPolygonF(static_cast(ptr)->toFillPolygon(*static_cast(matrix))); +} + +struct QtGui_PackedList QPainterPath_ToFillPolygons(void* ptr, void* matrix) +{ + return ({ QList* tmpValueba9cbe = new QList(static_cast(ptr)->toFillPolygons(*static_cast(matrix))); QtGui_PackedList { tmpValueba9cbe, tmpValueba9cbe->size() }; }); +} + +struct QtGui_PackedList QPainterPath_ToFillPolygons2(void* ptr, void* matrix) +{ + return ({ QList* tmpValueec0ac3 = new QList(static_cast(ptr)->toFillPolygons(*static_cast(matrix))); QtGui_PackedList { tmpValueec0ac3, tmpValueec0ac3->size() }; }); +} + +void* QPainterPath_ToReversed(void* ptr) +{ + return new QPainterPath(static_cast(ptr)->toReversed()); +} + +struct QtGui_PackedList QPainterPath_ToSubpathPolygons(void* ptr, void* matrix) +{ + return ({ QList* tmpValue6b8e75 = new QList(static_cast(ptr)->toSubpathPolygons(*static_cast(matrix))); QtGui_PackedList { tmpValue6b8e75, tmpValue6b8e75->size() }; }); +} + +struct QtGui_PackedList QPainterPath_ToSubpathPolygons2(void* ptr, void* matrix) +{ + return ({ QList* tmpValue1c94c6 = new QList(static_cast(ptr)->toSubpathPolygons(*static_cast(matrix))); QtGui_PackedList { tmpValue1c94c6, tmpValue1c94c6->size() }; }); +} + +void QPainterPath_Translate(void* ptr, double dx, double dy) +{ + static_cast(ptr)->translate(dx, dy); +} + +void QPainterPath_Translate2(void* ptr, void* offset) +{ + static_cast(ptr)->translate(*static_cast(offset)); +} + +void* QPainterPath_Translated(void* ptr, double dx, double dy) +{ + return new QPainterPath(static_cast(ptr)->translated(dx, dy)); +} + +void* QPainterPath_Translated2(void* ptr, void* offset) +{ + return new QPainterPath(static_cast(ptr)->translated(*static_cast(offset))); +} + +void* QPainterPath_United(void* ptr, void* p) +{ + return new QPainterPath(static_cast(ptr)->united(*static_cast(p))); +} + +void QPainterPath_DestroyQPainterPath(void* ptr) +{ + static_cast(ptr)->~QPainterPath(); +} + +void* QPainterPath___toFillPolygons_atList(void* ptr, int i) +{ + return new QPolygonF(({QPolygonF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPainterPath___toFillPolygons_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainterPath___toFillPolygons_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPainterPath___toFillPolygons_atList2(void* ptr, int i) +{ + return new QPolygonF(({QPolygonF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPainterPath___toFillPolygons_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainterPath___toFillPolygons_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPainterPath___toSubpathPolygons_atList(void* ptr, int i) +{ + return new QPolygonF(({QPolygonF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPainterPath___toSubpathPolygons_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainterPath___toSubpathPolygons_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPainterPath___toSubpathPolygons_atList2(void* ptr, int i) +{ + return new QPolygonF(({QPolygonF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPainterPath___toSubpathPolygons_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPainterPath___toSubpathPolygons_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPainterPathStroker_NewQPainterPathStroker() +{ + return new QPainterPathStroker(); +} + +void* QPainterPathStroker_NewQPainterPathStroker2(void* pen) +{ + return new QPainterPathStroker(*static_cast(pen)); +} + +long long QPainterPathStroker_CapStyle(void* ptr) +{ + return static_cast(ptr)->capStyle(); +} + +void* QPainterPathStroker_CreateStroke(void* ptr, void* path) +{ + return new QPainterPath(static_cast(ptr)->createStroke(*static_cast(path))); +} + +double QPainterPathStroker_CurveThreshold(void* ptr) +{ + return static_cast(ptr)->curveThreshold(); +} + +double QPainterPathStroker_DashOffset(void* ptr) +{ + return static_cast(ptr)->dashOffset(); +} + +struct QtGui_PackedList QPainterPathStroker_DashPattern(void* ptr) +{ + return ({ QVector* tmpValueffbacb = new QVector(static_cast(ptr)->dashPattern()); QtGui_PackedList { tmpValueffbacb, tmpValueffbacb->size() }; }); +} + +long long QPainterPathStroker_JoinStyle(void* ptr) +{ + return static_cast(ptr)->joinStyle(); +} + +double QPainterPathStroker_MiterLimit(void* ptr) +{ + return static_cast(ptr)->miterLimit(); +} + +void QPainterPathStroker_SetCapStyle(void* ptr, long long style) +{ + static_cast(ptr)->setCapStyle(static_cast(style)); +} + +void QPainterPathStroker_SetCurveThreshold(void* ptr, double threshold) +{ + static_cast(ptr)->setCurveThreshold(threshold); +} + +void QPainterPathStroker_SetDashOffset(void* ptr, double offset) +{ + static_cast(ptr)->setDashOffset(offset); +} + +void QPainterPathStroker_SetDashPattern(void* ptr, long long style) +{ + static_cast(ptr)->setDashPattern(static_cast(style)); +} + +void QPainterPathStroker_SetDashPattern2(void* ptr, void* dashPattern) +{ + static_cast(ptr)->setDashPattern(*static_cast*>(dashPattern)); +} + +void QPainterPathStroker_SetJoinStyle(void* ptr, long long style) +{ + static_cast(ptr)->setJoinStyle(static_cast(style)); +} + +void QPainterPathStroker_SetMiterLimit(void* ptr, double limit) +{ + static_cast(ptr)->setMiterLimit(limit); +} + +void QPainterPathStroker_SetWidth(void* ptr, double width) +{ + static_cast(ptr)->setWidth(width); +} + +double QPainterPathStroker_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +void QPainterPathStroker_DestroyQPainterPathStroker(void* ptr) +{ + static_cast(ptr)->~QPainterPathStroker(); +} + +double QPainterPathStroker___dashPattern_atList(void* ptr, int i) +{ + return ({qreal tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QPainterPathStroker___dashPattern_setList(void* ptr, double i) +{ + static_cast*>(ptr)->append(i); +} + +void* QPainterPathStroker___dashPattern_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +double QPainterPathStroker___setDashPattern_dashPattern_atList2(void* ptr, int i) +{ + return ({qreal tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QPainterPathStroker___setDashPattern_dashPattern_setList2(void* ptr, double i) +{ + static_cast*>(ptr)->append(i); +} + +void* QPainterPathStroker___setDashPattern_dashPattern_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +int QPalette_NColorRoles_Type() +{ + return QPalette::NColorRoles; +} + +void* QPalette_NewQPalette() +{ + return new QPalette(); +} + +void* QPalette_NewQPalette2(void* button) +{ + return new QPalette(*static_cast(button)); +} + +void* QPalette_NewQPalette3(long long button) +{ + return new QPalette(static_cast(button)); +} + +void* QPalette_NewQPalette4(void* button, void* window) +{ + return new QPalette(*static_cast(button), *static_cast(window)); +} + +void* QPalette_NewQPalette5(void* windowText, void* button, void* light, void* dark, void* mid, void* text, void* bright_text, void* base, void* window) +{ + return new QPalette(*static_cast(windowText), *static_cast(button), *static_cast(light), *static_cast(dark), *static_cast(mid), *static_cast(text), *static_cast(bright_text), *static_cast(base), *static_cast(window)); +} + +void* QPalette_NewQPalette7(void* p) +{ + return new QPalette(*static_cast(p)); +} + +void* QPalette_NewQPalette8(void* other) +{ + return new QPalette(*static_cast(other)); +} + +void* QPalette_AlternateBase(void* ptr) +{ + return const_cast(&static_cast(ptr)->alternateBase()); +} + +void* QPalette_Base(void* ptr) +{ + return const_cast(&static_cast(ptr)->base()); +} + +void* QPalette_BrightText(void* ptr) +{ + return const_cast(&static_cast(ptr)->brightText()); +} + +void* QPalette_Brush(void* ptr, long long group, long long role) +{ + return const_cast(&static_cast(ptr)->brush(static_cast(group), static_cast(role))); +} + +void* QPalette_Brush2(void* ptr, long long role) +{ + return const_cast(&static_cast(ptr)->brush(static_cast(role))); +} + +void* QPalette_Button(void* ptr) +{ + return const_cast(&static_cast(ptr)->button()); +} + +void* QPalette_ButtonText(void* ptr) +{ + return const_cast(&static_cast(ptr)->buttonText()); +} + +long long QPalette_CacheKey(void* ptr) +{ + return static_cast(ptr)->cacheKey(); +} + +void* QPalette_Color(void* ptr, long long group, long long role) +{ + return const_cast(&static_cast(ptr)->color(static_cast(group), static_cast(role))); +} + +void* QPalette_Color2(void* ptr, long long role) +{ + return const_cast(&static_cast(ptr)->color(static_cast(role))); +} + +long long QPalette_CurrentColorGroup(void* ptr) +{ + return static_cast(ptr)->currentColorGroup(); +} + +void* QPalette_Dark(void* ptr) +{ + return const_cast(&static_cast(ptr)->dark()); +} + +void* QPalette_Highlight(void* ptr) +{ + return const_cast(&static_cast(ptr)->highlight()); +} + +void* QPalette_HighlightedText(void* ptr) +{ + return const_cast(&static_cast(ptr)->highlightedText()); +} + +char QPalette_IsBrushSet(void* ptr, long long cg, long long cr) +{ + return static_cast(ptr)->isBrushSet(static_cast(cg), static_cast(cr)); +} + +char QPalette_IsCopyOf(void* ptr, void* p) +{ + return static_cast(ptr)->isCopyOf(*static_cast(p)); +} + +char QPalette_IsEqual(void* ptr, long long cg1, long long cg2) +{ + return static_cast(ptr)->isEqual(static_cast(cg1), static_cast(cg2)); +} + +void* QPalette_Light(void* ptr) +{ + return const_cast(&static_cast(ptr)->light()); +} + +void* QPalette_Link(void* ptr) +{ + return const_cast(&static_cast(ptr)->link()); +} + +void* QPalette_LinkVisited(void* ptr) +{ + return const_cast(&static_cast(ptr)->linkVisited()); +} + +void* QPalette_Mid(void* ptr) +{ + return const_cast(&static_cast(ptr)->mid()); +} + +void* QPalette_Midlight(void* ptr) +{ + return const_cast(&static_cast(ptr)->midlight()); +} + +void* QPalette_PlaceholderText(void* ptr) +{ + return const_cast(&static_cast(ptr)->placeholderText()); +} + +void* QPalette_Resolve(void* ptr, void* other) +{ + return new QPalette(static_cast(ptr)->resolve(*static_cast(other))); +} + +void QPalette_SetBrush(void* ptr, long long role, void* brush) +{ + static_cast(ptr)->setBrush(static_cast(role), *static_cast(brush)); +} + +void QPalette_SetBrush2(void* ptr, long long group, long long role, void* brush) +{ + static_cast(ptr)->setBrush(static_cast(group), static_cast(role), *static_cast(brush)); +} + +void QPalette_SetColor(void* ptr, long long group, long long role, void* color) +{ + static_cast(ptr)->setColor(static_cast(group), static_cast(role), *static_cast(color)); +} + +void QPalette_SetColor2(void* ptr, long long role, void* color) +{ + static_cast(ptr)->setColor(static_cast(role), *static_cast(color)); +} + +void QPalette_SetColorGroup(void* ptr, long long cg, void* windowText, void* button, void* light, void* dark, void* mid, void* text, void* bright_text, void* base, void* window) +{ + static_cast(ptr)->setColorGroup(static_cast(cg), *static_cast(windowText), *static_cast(button), *static_cast(light), *static_cast(dark), *static_cast(mid), *static_cast(text), *static_cast(bright_text), *static_cast(base), *static_cast(window)); +} + +void QPalette_SetCurrentColorGroup(void* ptr, long long cg) +{ + static_cast(ptr)->setCurrentColorGroup(static_cast(cg)); +} + +void* QPalette_Shadow(void* ptr) +{ + return const_cast(&static_cast(ptr)->shadow()); +} + +void QPalette_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QPalette_Text(void* ptr) +{ + return const_cast(&static_cast(ptr)->text()); +} + +void* QPalette_ToolTipBase(void* ptr) +{ + return const_cast(&static_cast(ptr)->toolTipBase()); +} + +void* QPalette_ToolTipText(void* ptr) +{ + return const_cast(&static_cast(ptr)->toolTipText()); +} + +void* QPalette_Window(void* ptr) +{ + return const_cast(&static_cast(ptr)->window()); +} + +void* QPalette_WindowText(void* ptr) +{ + return const_cast(&static_cast(ptr)->windowText()); +} + +void QPalette_DestroyQPalette(void* ptr) +{ + static_cast(ptr)->~QPalette(); +} + +class MyQPdfWriter: public QPdfWriter +{ +public: + MyQPdfWriter(const QString &filename) : QPdfWriter(filename) {QPdfWriter_QPdfWriter_QRegisterMetaType();}; + MyQPdfWriter(QIODevice *device) : QPdfWriter(device) {QPdfWriter_QPdfWriter_QRegisterMetaType();}; + bool newPage() { return callbackQPdfWriter_NewPage(this) != 0; }; + QPaintEngine * paintEngine() const { return static_cast(callbackQPdfWriter_PaintEngine(const_cast(static_cast(this)))); }; + ~MyQPdfWriter() { callbackQPdfWriter_DestroyQPdfWriter(this); }; + void childEvent(QChildEvent * event) { callbackQPdfWriter_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQPdfWriter_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQPdfWriter_CustomEvent(this, event); }; + void deleteLater() { callbackQPdfWriter_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQPdfWriter_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQPdfWriter_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQPdfWriter_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQPdfWriter_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQPdfWriter_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQPdfWriter_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQPdfWriter_TimerEvent(this, event); }; + void setPageSize(QPagedPaintDevice::PageSize size) { callbackQPagedPaintDevice_SetPageSize2(this, size); }; + void setPageSizeMM(const QSizeF & size) { callbackQPagedPaintDevice_SetPageSizeMM(this, const_cast(&size)); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; +}; + +Q_DECLARE_METATYPE(MyQPdfWriter*) + +int QPdfWriter_QPdfWriter_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QPdfWriter_NewQPdfWriter(struct QtGui_PackedString filename) +{ + return new MyQPdfWriter(QString::fromUtf8(filename.data, filename.len)); +} + +void* QPdfWriter_NewQPdfWriter2(void* device) +{ + return new MyQPdfWriter(static_cast(device)); +} + +struct QtGui_PackedString QPdfWriter_Creator(void* ptr) +{ + return ({ QByteArray te95fa2 = static_cast(ptr)->creator().toUtf8(); QtGui_PackedString { const_cast(te95fa2.prepend("WHITESPACE").constData()+10), te95fa2.size()-10 }; }); +} + +char QPdfWriter_NewPage(void* ptr) +{ + return static_cast(ptr)->newPage(); +} + +char QPdfWriter_NewPageDefault(void* ptr) +{ + return static_cast(ptr)->QPdfWriter::newPage(); +} + +void* QPdfWriter_PaintEngine(void* ptr) +{ + return static_cast(ptr)->paintEngine(); +} + +void* QPdfWriter_PaintEngineDefault(void* ptr) +{ + return static_cast(ptr)->QPdfWriter::paintEngine(); +} + +long long QPdfWriter_PdfVersion(void* ptr) +{ + return static_cast(ptr)->pdfVersion(); +} + +int QPdfWriter_Resolution(void* ptr) +{ + return static_cast(ptr)->resolution(); +} + +void QPdfWriter_SetCreator(void* ptr, struct QtGui_PackedString creator) +{ + static_cast(ptr)->setCreator(QString::fromUtf8(creator.data, creator.len)); +} + +void QPdfWriter_SetPdfVersion(void* ptr, long long version) +{ + static_cast(ptr)->setPdfVersion(static_cast(version)); +} + +void QPdfWriter_SetResolution(void* ptr, int resolution) +{ + static_cast(ptr)->setResolution(resolution); +} + +void QPdfWriter_SetTitle(void* ptr, struct QtGui_PackedString title) +{ + static_cast(ptr)->setTitle(QString::fromUtf8(title.data, title.len)); +} + +struct QtGui_PackedString QPdfWriter_Title(void* ptr) +{ + return ({ QByteArray t5cd62a = static_cast(ptr)->title().toUtf8(); QtGui_PackedString { const_cast(t5cd62a.prepend("WHITESPACE").constData()+10), t5cd62a.size()-10 }; }); +} + +void QPdfWriter_DestroyQPdfWriter(void* ptr) +{ + static_cast(ptr)->~QPdfWriter(); +} + +void QPdfWriter_DestroyQPdfWriterDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QPdfWriter___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPdfWriter___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPdfWriter___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPdfWriter___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPdfWriter___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPdfWriter___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPdfWriter___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPdfWriter___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPdfWriter___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPdfWriter___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPdfWriter___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPdfWriter___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPdfWriter___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPdfWriter___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPdfWriter___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QPdfWriter_ChildEvent(void* ptr, void* event) +{ + static_cast(ptr)->childEvent(static_cast(event)); +} + +void QPdfWriter_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QPdfWriter::childEvent(static_cast(event)); +} + +void QPdfWriter_ConnectNotify(void* ptr, void* sign) +{ + static_cast(ptr)->connectNotify(*static_cast(sign)); +} + +void QPdfWriter_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QPdfWriter::connectNotify(*static_cast(sign)); +} + +void QPdfWriter_CustomEvent(void* ptr, void* event) +{ + static_cast(ptr)->customEvent(static_cast(event)); +} + +void QPdfWriter_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QPdfWriter::customEvent(static_cast(event)); +} + +void QPdfWriter_DeleteLater(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "deleteLater"); +} + +void QPdfWriter_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QPdfWriter::deleteLater(); +} + +void QPdfWriter_DisconnectNotify(void* ptr, void* sign) +{ + static_cast(ptr)->disconnectNotify(*static_cast(sign)); +} + +void QPdfWriter_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QPdfWriter::disconnectNotify(*static_cast(sign)); +} + +char QPdfWriter_Event(void* ptr, void* e) +{ + return static_cast(ptr)->event(static_cast(e)); +} + +char QPdfWriter_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QPdfWriter::event(static_cast(e)); +} + +char QPdfWriter_EventFilter(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } +} + +char QPdfWriter_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPdfWriter::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPdfWriter::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPdfWriter::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPdfWriter::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QPdfWriter::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QPdfWriter_MetaObject(void* ptr) +{ + return const_cast(static_cast(ptr)->metaObject()); +} + +void* QPdfWriter_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QPdfWriter::metaObject()); +} + +void QPdfWriter_TimerEvent(void* ptr, void* event) +{ + static_cast(ptr)->timerEvent(static_cast(event)); +} + +void QPdfWriter_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QPdfWriter::timerEvent(static_cast(event)); +} + +void* QPen_NewQPen() +{ + return new QPen(); +} + +void* QPen_NewQPen2(long long style) +{ + return new QPen(static_cast(style)); +} + +void* QPen_NewQPen3(void* color) +{ + return new QPen(*static_cast(color)); +} + +void* QPen_NewQPen4(void* brush, double width, long long style, long long cap, long long join) +{ + return new QPen(*static_cast(brush), width, static_cast(style), static_cast(cap), static_cast(join)); +} + +void* QPen_NewQPen5(void* pen) +{ + return new QPen(*static_cast(pen)); +} + +void* QPen_NewQPen6(void* pen) +{ + return new QPen(*static_cast(pen)); +} + +void* QPen_Brush(void* ptr) +{ + return new QBrush(static_cast(ptr)->brush()); +} + +long long QPen_CapStyle(void* ptr) +{ + return static_cast(ptr)->capStyle(); +} + +void* QPen_Color(void* ptr) +{ + return new QColor(static_cast(ptr)->color()); +} + +double QPen_DashOffset(void* ptr) +{ + return static_cast(ptr)->dashOffset(); +} + +struct QtGui_PackedList QPen_DashPattern(void* ptr) +{ + return ({ QVector* tmpValuec446ec = new QVector(static_cast(ptr)->dashPattern()); QtGui_PackedList { tmpValuec446ec, tmpValuec446ec->size() }; }); +} + +char QPen_IsCosmetic(void* ptr) +{ + return static_cast(ptr)->isCosmetic(); +} + +char QPen_IsSolid(void* ptr) +{ + return static_cast(ptr)->isSolid(); +} + +long long QPen_JoinStyle(void* ptr) +{ + return static_cast(ptr)->joinStyle(); +} + +double QPen_MiterLimit(void* ptr) +{ + return static_cast(ptr)->miterLimit(); +} + +void QPen_SetBrush(void* ptr, void* brush) +{ + static_cast(ptr)->setBrush(*static_cast(brush)); +} + +void QPen_SetCapStyle(void* ptr, long long style) +{ + static_cast(ptr)->setCapStyle(static_cast(style)); +} + +void QPen_SetColor(void* ptr, void* color) +{ + static_cast(ptr)->setColor(*static_cast(color)); +} + +void QPen_SetCosmetic(void* ptr, char cosmetic) +{ + static_cast(ptr)->setCosmetic(cosmetic != 0); +} + +void QPen_SetDashOffset(void* ptr, double offset) +{ + static_cast(ptr)->setDashOffset(offset); +} + +void QPen_SetDashPattern(void* ptr, void* pattern) +{ + static_cast(ptr)->setDashPattern(*static_cast*>(pattern)); +} + +void QPen_SetJoinStyle(void* ptr, long long style) +{ + static_cast(ptr)->setJoinStyle(static_cast(style)); +} + +void QPen_SetMiterLimit(void* ptr, double limit) +{ + static_cast(ptr)->setMiterLimit(limit); +} + +void QPen_SetStyle(void* ptr, long long style) +{ + static_cast(ptr)->setStyle(static_cast(style)); +} + +void QPen_SetWidth(void* ptr, int width) +{ + static_cast(ptr)->setWidth(width); +} + +void QPen_SetWidthF(void* ptr, double width) +{ + static_cast(ptr)->setWidthF(width); +} + +long long QPen_Style(void* ptr) +{ + return static_cast(ptr)->style(); +} + +void QPen_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +int QPen_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +double QPen_WidthF(void* ptr) +{ + return static_cast(ptr)->widthF(); +} + +void QPen_DestroyQPen(void* ptr) +{ + static_cast(ptr)->~QPen(); +} + +double QPen___dashPattern_atList(void* ptr, int i) +{ + return ({qreal tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QPen___dashPattern_setList(void* ptr, double i) +{ + static_cast*>(ptr)->append(i); +} + +void* QPen___dashPattern_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +double QPen___setDashPattern_pattern_atList(void* ptr, int i) +{ + return ({qreal tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QPen___setDashPattern_pattern_setList(void* ptr, double i) +{ + static_cast*>(ptr)->append(i); +} + +void* QPen___setDashPattern_pattern_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +class MyQPicture: public QPicture +{ +public: + MyQPicture(int formatVersion = -1) : QPicture(formatVersion) {}; + MyQPicture(const QPicture &pic) : QPicture(pic) {}; + void setData(const char * data, uint size) { QtGui_PackedString dataPacked = { const_cast(data), size };callbackQPicture_SetData(this, dataPacked, size); }; + ~MyQPicture() { callbackQPicture_DestroyQPicture(this); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQPicture_PaintEngine(const_cast(static_cast(this)))); }; +}; + +void* QPicture_NewQPicture(int formatVersion) +{ + return new MyQPicture(formatVersion); +} + +void* QPicture_NewQPicture2(void* pic) +{ + return new MyQPicture(*static_cast(pic)); +} + +void* QPicture_BoundingRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->boundingRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +struct QtGui_PackedString QPicture_Data(void* ptr) +{ + return QtGui_PackedString { const_cast(static_cast(ptr)->data()), static_cast(ptr)->size() }; +} + +char QPicture_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QPicture_Load(void* ptr, struct QtGui_PackedString fileName, char* format) +{ + return static_cast(ptr)->load(QString::fromUtf8(fileName.data, fileName.len), const_cast(format)); +} + +char QPicture_Load2(void* ptr, void* dev, char* format) +{ + return static_cast(ptr)->load(static_cast(dev), const_cast(format)); +} + +char QPicture_Play(void* ptr, void* painter) +{ + return static_cast(ptr)->play(static_cast(painter)); +} + +char QPicture_Save(void* ptr, struct QtGui_PackedString fileName, char* format) +{ + return static_cast(ptr)->save(QString::fromUtf8(fileName.data, fileName.len), const_cast(format)); +} + +char QPicture_Save2(void* ptr, void* dev, char* format) +{ + return static_cast(ptr)->save(static_cast(dev), const_cast(format)); +} + +void QPicture_SetBoundingRect(void* ptr, void* r) +{ + static_cast(ptr)->setBoundingRect(*static_cast(r)); +} + +void QPicture_SetData(void* ptr, char* data, unsigned int size) +{ + static_cast(ptr)->setData(const_cast(data), size); +} + +void QPicture_SetDataDefault(void* ptr, char* data, unsigned int size) +{ + static_cast(ptr)->QPicture::setData(const_cast(data), size); +} + +unsigned int QPicture_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +void QPicture_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QPicture_DestroyQPicture(void* ptr) +{ + static_cast(ptr)->~QPicture(); +} + +void QPicture_DestroyQPictureDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QPicture___inputFormats_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPicture___inputFormats_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPicture___inputFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPicture___outputFormats_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPicture___outputFormats_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPicture___outputFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPicture_PaintEngine(void* ptr) +{ + return static_cast(ptr)->paintEngine(); +} + +void* QPicture_PaintEngineDefault(void* ptr) +{ + return static_cast(ptr)->QPicture::paintEngine(); +} + +class MyQPictureFormatPlugin: public QPictureFormatPlugin +{ +public: + MyQPictureFormatPlugin(QObject *parent = Q_NULLPTR) : QPictureFormatPlugin(parent) {QPictureFormatPlugin_QPictureFormatPlugin_QRegisterMetaType();}; + bool installIOHandler(const QString & format) { QByteArray t785987 = format.toUtf8(); QtGui_PackedString formatPacked = { const_cast(t785987.prepend("WHITESPACE").constData()+10), t785987.size()-10 };return callbackQPictureFormatPlugin_InstallIOHandler(this, formatPacked) != 0; }; + bool loadPicture(const QString & format, const QString & fileName, QPicture * picture) { QByteArray t785987 = format.toUtf8(); QtGui_PackedString formatPacked = { const_cast(t785987.prepend("WHITESPACE").constData()+10), t785987.size()-10 };QByteArray td83e09 = fileName.toUtf8(); QtGui_PackedString fileNamePacked = { const_cast(td83e09.prepend("WHITESPACE").constData()+10), td83e09.size()-10 };return callbackQPictureFormatPlugin_LoadPicture(this, formatPacked, fileNamePacked, picture) != 0; }; + bool savePicture(const QString & format, const QString & fileName, const QPicture & picture) { QByteArray t785987 = format.toUtf8(); QtGui_PackedString formatPacked = { const_cast(t785987.prepend("WHITESPACE").constData()+10), t785987.size()-10 };QByteArray td83e09 = fileName.toUtf8(); QtGui_PackedString fileNamePacked = { const_cast(td83e09.prepend("WHITESPACE").constData()+10), td83e09.size()-10 };return callbackQPictureFormatPlugin_SavePicture(this, formatPacked, fileNamePacked, const_cast(&picture)) != 0; }; + ~MyQPictureFormatPlugin() { callbackQPictureFormatPlugin_DestroyQPictureFormatPlugin(this); }; + void childEvent(QChildEvent * event) { callbackQPictureFormatPlugin_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQPictureFormatPlugin_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQPictureFormatPlugin_CustomEvent(this, event); }; + void deleteLater() { callbackQPictureFormatPlugin_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQPictureFormatPlugin_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQPictureFormatPlugin_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQPictureFormatPlugin_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQPictureFormatPlugin_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQPictureFormatPlugin_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQPictureFormatPlugin_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQPictureFormatPlugin_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQPictureFormatPlugin*) + +int QPictureFormatPlugin_QPictureFormatPlugin_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QPictureFormatPlugin_NewQPictureFormatPlugin(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQPictureFormatPlugin(static_cast(parent)); + } else { + return new MyQPictureFormatPlugin(static_cast(parent)); + } +} + +char QPictureFormatPlugin_InstallIOHandler(void* ptr, struct QtGui_PackedString format) +{ + return static_cast(ptr)->installIOHandler(QString::fromUtf8(format.data, format.len)); +} + +char QPictureFormatPlugin_LoadPicture(void* ptr, struct QtGui_PackedString format, struct QtGui_PackedString fileName, void* picture) +{ + return static_cast(ptr)->loadPicture(QString::fromUtf8(format.data, format.len), QString::fromUtf8(fileName.data, fileName.len), static_cast(picture)); +} + +char QPictureFormatPlugin_LoadPictureDefault(void* ptr, struct QtGui_PackedString format, struct QtGui_PackedString fileName, void* picture) +{ + return static_cast(ptr)->QPictureFormatPlugin::loadPicture(QString::fromUtf8(format.data, format.len), QString::fromUtf8(fileName.data, fileName.len), static_cast(picture)); +} + +char QPictureFormatPlugin_SavePicture(void* ptr, struct QtGui_PackedString format, struct QtGui_PackedString fileName, void* picture) +{ + return static_cast(ptr)->savePicture(QString::fromUtf8(format.data, format.len), QString::fromUtf8(fileName.data, fileName.len), *static_cast(picture)); +} + +char QPictureFormatPlugin_SavePictureDefault(void* ptr, struct QtGui_PackedString format, struct QtGui_PackedString fileName, void* picture) +{ + return static_cast(ptr)->QPictureFormatPlugin::savePicture(QString::fromUtf8(format.data, format.len), QString::fromUtf8(fileName.data, fileName.len), *static_cast(picture)); +} + +void QPictureFormatPlugin_DestroyQPictureFormatPlugin(void* ptr) +{ + static_cast(ptr)->~QPictureFormatPlugin(); +} + +void QPictureFormatPlugin_DestroyQPictureFormatPluginDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QPictureFormatPlugin___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPictureFormatPlugin___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPictureFormatPlugin___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPictureFormatPlugin___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPictureFormatPlugin___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPictureFormatPlugin___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPictureFormatPlugin___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPictureFormatPlugin___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPictureFormatPlugin___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPictureFormatPlugin___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPictureFormatPlugin___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPictureFormatPlugin___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPictureFormatPlugin___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPictureFormatPlugin___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPictureFormatPlugin___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QPictureFormatPlugin_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QPictureFormatPlugin::childEvent(static_cast(event)); +} + +void QPictureFormatPlugin_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QPictureFormatPlugin::connectNotify(*static_cast(sign)); +} + +void QPictureFormatPlugin_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QPictureFormatPlugin::customEvent(static_cast(event)); +} + +void QPictureFormatPlugin_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QPictureFormatPlugin::deleteLater(); +} + +void QPictureFormatPlugin_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QPictureFormatPlugin::disconnectNotify(*static_cast(sign)); +} + +char QPictureFormatPlugin_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QPictureFormatPlugin::event(static_cast(e)); +} + +char QPictureFormatPlugin_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPictureFormatPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPictureFormatPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPictureFormatPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPictureFormatPlugin::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QPictureFormatPlugin::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QPictureFormatPlugin_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QPictureFormatPlugin::metaObject()); +} + +void QPictureFormatPlugin_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QPictureFormatPlugin::timerEvent(static_cast(event)); +} + +void* QPictureIO_NewQPictureIO() +{ + return new QPictureIO(); +} + +void* QPictureIO_NewQPictureIO2(void* ioDevice, char* format) +{ + return new QPictureIO(static_cast(ioDevice), const_cast(format)); +} + +void* QPictureIO_NewQPictureIO3(struct QtGui_PackedString fileName, char* format) +{ + return new QPictureIO(QString::fromUtf8(fileName.data, fileName.len), const_cast(format)); +} + +struct QtGui_PackedString QPictureIO_Description(void* ptr) +{ + return ({ QByteArray te4ace0 = static_cast(ptr)->description().toUtf8(); QtGui_PackedString { const_cast(te4ace0.prepend("WHITESPACE").constData()+10), te4ace0.size()-10 }; }); +} + +struct QtGui_PackedString QPictureIO_FileName(void* ptr) +{ + return ({ QByteArray t48ef9a = static_cast(ptr)->fileName().toUtf8(); QtGui_PackedString { const_cast(t48ef9a.prepend("WHITESPACE").constData()+10), t48ef9a.size()-10 }; }); +} + +struct QtGui_PackedString QPictureIO_Format(void* ptr) +{ + return QtGui_PackedString { const_cast(static_cast(ptr)->format()), -1 }; +} + +float QPictureIO_Gamma(void* ptr) +{ + return static_cast(ptr)->gamma(); +} + +struct QtGui_PackedList QPictureIO_QPictureIO_InputFormats() +{ + return ({ QList* tmpValue5b9754 = new QList(QPictureIO::inputFormats()); QtGui_PackedList { tmpValue5b9754, tmpValue5b9754->size() }; }); +} + +void* QPictureIO_IoDevice(void* ptr) +{ + return static_cast(ptr)->ioDevice(); +} + +struct QtGui_PackedList QPictureIO_QPictureIO_OutputFormats() +{ + return ({ QList* tmpValue7d3873 = new QList(QPictureIO::outputFormats()); QtGui_PackedList { tmpValue7d3873, tmpValue7d3873->size() }; }); +} + +struct QtGui_PackedString QPictureIO_Parameters(void* ptr) +{ + return QtGui_PackedString { const_cast(static_cast(ptr)->parameters()), -1 }; +} + +void* QPictureIO_Picture(void* ptr) +{ + return const_cast(&static_cast(ptr)->picture()); +} + +void* QPictureIO_QPictureIO_PictureFormat(struct QtGui_PackedString fileName) +{ + return new QByteArray(QPictureIO::pictureFormat(QString::fromUtf8(fileName.data, fileName.len))); +} + +void* QPictureIO_QPictureIO_PictureFormat2(void* d) +{ + return new QByteArray(QPictureIO::pictureFormat(static_cast(d))); +} + +int QPictureIO_Quality(void* ptr) +{ + return static_cast(ptr)->quality(); +} + +char QPictureIO_Read(void* ptr) +{ + return static_cast(ptr)->read(); +} + +void QPictureIO_SetDescription(void* ptr, struct QtGui_PackedString description) +{ + static_cast(ptr)->setDescription(QString::fromUtf8(description.data, description.len)); +} + +void QPictureIO_SetFileName(void* ptr, struct QtGui_PackedString fileName) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(fileName.data, fileName.len)); +} + +void QPictureIO_SetFormat(void* ptr, char* format) +{ + static_cast(ptr)->setFormat(const_cast(format)); +} + +void QPictureIO_SetGamma(void* ptr, float gamma) +{ + static_cast(ptr)->setGamma(gamma); +} + +void QPictureIO_SetIODevice(void* ptr, void* ioDevice) +{ + static_cast(ptr)->setIODevice(static_cast(ioDevice)); +} + +void QPictureIO_SetParameters(void* ptr, char* parameters) +{ + static_cast(ptr)->setParameters(const_cast(parameters)); +} + +void QPictureIO_SetPicture(void* ptr, void* picture) +{ + static_cast(ptr)->setPicture(*static_cast(picture)); +} + +void QPictureIO_SetQuality(void* ptr, int q) +{ + static_cast(ptr)->setQuality(q); +} + +void QPictureIO_SetStatus(void* ptr, int status) +{ + static_cast(ptr)->setStatus(status); +} + +int QPictureIO_Status(void* ptr) +{ + return static_cast(ptr)->status(); +} + +char QPictureIO_Write(void* ptr) +{ + return static_cast(ptr)->write(); +} + +void QPictureIO_DestroyQPictureIO(void* ptr) +{ + static_cast(ptr)->~QPictureIO(); +} + +void* QPictureIO___inputFormats_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPictureIO___inputFormats_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPictureIO___inputFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPictureIO___outputFormats_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QPictureIO___outputFormats_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPictureIO___outputFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPixelFormat_NewQPixelFormat() +{ + return new QPixelFormat(); +} + +void* QPixelFormat_NewQPixelFormat2(long long colorModel, char* firstSize, char* secondSize, char* thirdSize, char* fourthSize, char* fifthSize, char* alphaSize, long long alphaUsage, long long alphaPosition, long long premultiplied, long long typeInterpretation, long long byteOrder, char* subEnum) +{ + return new QPixelFormat(static_cast(colorModel), *static_cast(static_cast(firstSize)), *static_cast(static_cast(secondSize)), *static_cast(static_cast(thirdSize)), *static_cast(static_cast(fourthSize)), *static_cast(static_cast(fifthSize)), *static_cast(static_cast(alphaSize)), static_cast(alphaUsage), static_cast(alphaPosition), static_cast(premultiplied), static_cast(typeInterpretation), static_cast(byteOrder), *static_cast(static_cast(subEnum))); +} + +long long QPixelFormat_AlphaPosition(void* ptr) +{ + return static_cast(ptr)->alphaPosition(); +} + +struct QtGui_PackedString QPixelFormat_AlphaSize(void* ptr) +{ + return ({ uchar pret9daa6f = static_cast(ptr)->alphaSize(); char* t9daa6f = static_cast(static_cast(&pret9daa6f)); QtGui_PackedString { t9daa6f, -1 }; }); +} + +long long QPixelFormat_AlphaUsage(void* ptr) +{ + return static_cast(ptr)->alphaUsage(); +} + +struct QtGui_PackedString QPixelFormat_BitsPerPixel(void* ptr) +{ + return ({ uchar preta6a744 = static_cast(ptr)->bitsPerPixel(); char* ta6a744 = static_cast(static_cast(&preta6a744)); QtGui_PackedString { ta6a744, -1 }; }); +} + +struct QtGui_PackedString QPixelFormat_BlackSize(void* ptr) +{ + return ({ uchar pretb1416d = static_cast(ptr)->blackSize(); char* tb1416d = static_cast(static_cast(&pretb1416d)); QtGui_PackedString { tb1416d, -1 }; }); +} + +struct QtGui_PackedString QPixelFormat_BlueSize(void* ptr) +{ + return ({ uchar pretf9134a = static_cast(ptr)->blueSize(); char* tf9134a = static_cast(static_cast(&pretf9134a)); QtGui_PackedString { tf9134a, -1 }; }); +} + +struct QtGui_PackedString QPixelFormat_BrightnessSize(void* ptr) +{ + return ({ uchar pretd53fac = static_cast(ptr)->brightnessSize(); char* td53fac = static_cast(static_cast(&pretd53fac)); QtGui_PackedString { td53fac, -1 }; }); +} + +long long QPixelFormat_ByteOrder(void* ptr) +{ + return static_cast(ptr)->byteOrder(); +} + +struct QtGui_PackedString QPixelFormat_ChannelCount(void* ptr) +{ + return ({ uchar pret704cf3 = static_cast(ptr)->channelCount(); char* t704cf3 = static_cast(static_cast(&pret704cf3)); QtGui_PackedString { t704cf3, -1 }; }); +} + +long long QPixelFormat_ColorModel(void* ptr) +{ + return static_cast(ptr)->colorModel(); +} + +struct QtGui_PackedString QPixelFormat_CyanSize(void* ptr) +{ + return ({ uchar pret19e508 = static_cast(ptr)->cyanSize(); char* t19e508 = static_cast(static_cast(&pret19e508)); QtGui_PackedString { t19e508, -1 }; }); +} + +struct QtGui_PackedString QPixelFormat_GreenSize(void* ptr) +{ + return ({ uchar pret2cbd5e = static_cast(ptr)->greenSize(); char* t2cbd5e = static_cast(static_cast(&pret2cbd5e)); QtGui_PackedString { t2cbd5e, -1 }; }); +} + +struct QtGui_PackedString QPixelFormat_HueSize(void* ptr) +{ + return ({ uchar pret0f029c = static_cast(ptr)->hueSize(); char* t0f029c = static_cast(static_cast(&pret0f029c)); QtGui_PackedString { t0f029c, -1 }; }); +} + +struct QtGui_PackedString QPixelFormat_LightnessSize(void* ptr) +{ + return ({ uchar pretdfc9b5 = static_cast(ptr)->lightnessSize(); char* tdfc9b5 = static_cast(static_cast(&pretdfc9b5)); QtGui_PackedString { tdfc9b5, -1 }; }); +} + +struct QtGui_PackedString QPixelFormat_MagentaSize(void* ptr) +{ + return ({ uchar pret78ac06 = static_cast(ptr)->magentaSize(); char* t78ac06 = static_cast(static_cast(&pret78ac06)); QtGui_PackedString { t78ac06, -1 }; }); +} + +long long QPixelFormat_Premultiplied(void* ptr) +{ + return static_cast(ptr)->premultiplied(); +} + +struct QtGui_PackedString QPixelFormat_RedSize(void* ptr) +{ + return ({ uchar pret1a20f5 = static_cast(ptr)->redSize(); char* t1a20f5 = static_cast(static_cast(&pret1a20f5)); QtGui_PackedString { t1a20f5, -1 }; }); +} + +struct QtGui_PackedString QPixelFormat_SaturationSize(void* ptr) +{ + return ({ uchar pretff1cd0 = static_cast(ptr)->saturationSize(); char* tff1cd0 = static_cast(static_cast(&pretff1cd0)); QtGui_PackedString { tff1cd0, -1 }; }); +} + +long long QPixelFormat_TypeInterpretation(void* ptr) +{ + return static_cast(ptr)->typeInterpretation(); +} + +struct QtGui_PackedString QPixelFormat_YellowSize(void* ptr) +{ + return ({ uchar pret7b52e4 = static_cast(ptr)->yellowSize(); char* t7b52e4 = static_cast(static_cast(&pret7b52e4)); QtGui_PackedString { t7b52e4, -1 }; }); +} + +long long QPixelFormat_YuvLayout(void* ptr) +{ + return static_cast(ptr)->yuvLayout(); +} + +class MyQPixmap: public QPixmap +{ +public: + MyQPixmap() : QPixmap() {}; + MyQPixmap(int width, int height) : QPixmap(width, height) {}; + MyQPixmap(const QSize &size) : QPixmap(size) {}; + MyQPixmap(const QString &fileName, const char *format = Q_NULLPTR, Qt::ImageConversionFlags flags = Qt::AutoColor) : QPixmap(fileName, format, flags) {}; + MyQPixmap(const QPixmap &pixmap) : QPixmap(pixmap) {}; + ~MyQPixmap() { callbackQPixmap_DestroyQPixmap(this); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQPixmap_PaintEngine(const_cast(static_cast(this)))); }; +}; + +void* QPixmap_NewQPixmap() +{ + return new MyQPixmap(); +} + +void* QPixmap_NewQPixmap2(void* size) +{ + return new MyQPixmap(*static_cast(size)); +} + +void* QPixmap_NewQPixmap3(struct QtGui_PackedString fileName, char* format, long long flags) +{ + return new MyQPixmap(QString::fromUtf8(fileName.data, fileName.len), const_cast(format), static_cast(flags)); +} + +void* QPixmap_NewQPixmap5(void* pixmap) +{ + return new MyQPixmap(*static_cast(pixmap)); +} + +long long QPixmap_CacheKey(void* ptr) +{ + return static_cast(ptr)->cacheKey(); +} + +char QPixmap_ConvertFromImage(void* ptr, void* image, long long flags) +{ + return static_cast(ptr)->convertFromImage(*static_cast(image), static_cast(flags)); +} + +void* QPixmap_Copy(void* ptr, void* rectangle) +{ + return new QPixmap(static_cast(ptr)->copy(*static_cast(rectangle))); +} + +void* QPixmap_Copy2(void* ptr, int x, int y, int width, int height) +{ + return new QPixmap(static_cast(ptr)->copy(x, y, width, height)); +} + +void* QPixmap_CreateHeuristicMask(void* ptr, char clipTight) +{ + return new QBitmap(static_cast(ptr)->createHeuristicMask(clipTight != 0)); +} + +void* QPixmap_CreateMaskFromColor(void* ptr, void* maskColor, long long mode) +{ + return new QBitmap(static_cast(ptr)->createMaskFromColor(*static_cast(maskColor), static_cast(mode))); +} + +int QPixmap_QPixmap_DefaultDepth() +{ + return QPixmap::defaultDepth(); +} + +void QPixmap_Detach(void* ptr) +{ + static_cast(ptr)->detach(); +} + +double QPixmap_DevicePixelRatio(void* ptr) +{ + return static_cast(ptr)->devicePixelRatio(); +} + +void QPixmap_Fill(void* ptr, void* color) +{ + static_cast(ptr)->fill(*static_cast(color)); +} + +void* QPixmap_QPixmap_FromImage(void* image, long long flags) +{ + return new QPixmap(QPixmap::fromImage(*static_cast(image), static_cast(flags))); +} + +void* QPixmap_QPixmap_FromImage2(void* image, long long flags) +{ + return new QPixmap(QPixmap::fromImage(*static_cast(image), static_cast(flags))); +} + +void* QPixmap_QPixmap_FromImageReader(void* imageReader, long long flags) +{ + return new QPixmap(QPixmap::fromImageReader(static_cast(imageReader), static_cast(flags))); +} + +char QPixmap_HasAlpha(void* ptr) +{ + return static_cast(ptr)->hasAlpha(); +} + +char QPixmap_HasAlphaChannel(void* ptr) +{ + return static_cast(ptr)->hasAlphaChannel(); +} + +char QPixmap_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QPixmap_IsQBitmap(void* ptr) +{ + return static_cast(ptr)->isQBitmap(); +} + +char QPixmap_Load(void* ptr, struct QtGui_PackedString fileName, char* format, long long flags) +{ + return static_cast(ptr)->load(QString::fromUtf8(fileName.data, fileName.len), const_cast(format), static_cast(flags)); +} + +char QPixmap_LoadFromData(void* ptr, char* data, unsigned int l, char* format, long long flags) +{ + return static_cast(ptr)->loadFromData(const_cast(static_cast(static_cast(data))), l, const_cast(format), static_cast(flags)); +} + +char QPixmap_LoadFromData2(void* ptr, void* data, char* format, long long flags) +{ + return static_cast(ptr)->loadFromData(*static_cast(data), const_cast(format), static_cast(flags)); +} + +void* QPixmap_Mask(void* ptr) +{ + return new QBitmap(static_cast(ptr)->mask()); +} + +void* QPixmap_Rect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->rect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QPixmap_Save(void* ptr, struct QtGui_PackedString fileName, char* format, int quality) +{ + return static_cast(ptr)->save(QString::fromUtf8(fileName.data, fileName.len), const_cast(format), quality); +} + +char QPixmap_Save2(void* ptr, void* device, char* format, int quality) +{ + return static_cast(ptr)->save(static_cast(device), const_cast(format), quality); +} + +void* QPixmap_Scaled(void* ptr, void* size, long long aspectRatioMode, long long transformMode) +{ + return new QPixmap(static_cast(ptr)->scaled(*static_cast(size), static_cast(aspectRatioMode), static_cast(transformMode))); +} + +void* QPixmap_Scaled2(void* ptr, int width, int height, long long aspectRatioMode, long long transformMode) +{ + return new QPixmap(static_cast(ptr)->scaled(width, height, static_cast(aspectRatioMode), static_cast(transformMode))); +} + +void* QPixmap_ScaledToHeight(void* ptr, int height, long long mode) +{ + return new QPixmap(static_cast(ptr)->scaledToHeight(height, static_cast(mode))); +} + +void* QPixmap_ScaledToWidth(void* ptr, int width, long long mode) +{ + return new QPixmap(static_cast(ptr)->scaledToWidth(width, static_cast(mode))); +} + +void QPixmap_Scroll(void* ptr, int dx, int dy, int x, int y, int width, int height, void* exposed) +{ + static_cast(ptr)->scroll(dx, dy, x, y, width, height, static_cast(exposed)); +} + +void QPixmap_Scroll2(void* ptr, int dx, int dy, void* rect, void* exposed) +{ + static_cast(ptr)->scroll(dx, dy, *static_cast(rect), static_cast(exposed)); +} + +void QPixmap_SetDevicePixelRatio(void* ptr, double scaleFactor) +{ + static_cast(ptr)->setDevicePixelRatio(scaleFactor); +} + +void QPixmap_SetMask(void* ptr, void* mask) +{ + static_cast(ptr)->setMask(*static_cast(mask)); +} + +void* QPixmap_Size(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QPixmap_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QPixmap_ToImage(void* ptr) +{ + return new QImage(static_cast(ptr)->toImage()); +} + +void* QPixmap_Transformed(void* ptr, void* transform, long long mode) +{ + return new QPixmap(static_cast(ptr)->transformed(*static_cast(transform), static_cast(mode))); +} + +void* QPixmap_Transformed2(void* ptr, void* matrix, long long mode) +{ + return new QPixmap(static_cast(ptr)->transformed(*static_cast(matrix), static_cast(mode))); +} + +void* QPixmap_QPixmap_TrueMatrix(void* matrix, int width, int height) +{ + return new QTransform(QPixmap::trueMatrix(*static_cast(matrix), width, height)); +} + +void* QPixmap_QPixmap_TrueMatrix2(void* m, int w, int h) +{ + return new QMatrix(QPixmap::trueMatrix(*static_cast(m), w, h)); +} + +void QPixmap_DestroyQPixmap(void* ptr) +{ + static_cast(ptr)->~QPixmap(); +} + +void QPixmap_DestroyQPixmapDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QPixmap_PaintEngine(void* ptr) +{ + return static_cast(ptr)->paintEngine(); +} + +void* QPixmap_PaintEngineDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QBitmap::paintEngine(); + } else { + return static_cast(ptr)->QPixmap::paintEngine(); + } +} + +int QPixmapCache_QPixmapCache_CacheLimit() +{ + return QPixmapCache::cacheLimit(); +} + +void QPixmapCache_QPixmapCache_Clear() +{ + QPixmapCache::clear(); +} + +char QPixmapCache_QPixmapCache_Find3(struct QtGui_PackedString key, void* pixmap) +{ + return QPixmapCache::find(QString::fromUtf8(key.data, key.len), static_cast(pixmap)); +} + +char QPixmapCache_QPixmapCache_Insert(struct QtGui_PackedString key, void* pixmap) +{ + return QPixmapCache::insert(QString::fromUtf8(key.data, key.len), *static_cast(pixmap)); +} + +void QPixmapCache_QPixmapCache_Remove(struct QtGui_PackedString key) +{ + QPixmapCache::remove(QString::fromUtf8(key.data, key.len)); +} + +void QPixmapCache_QPixmapCache_SetCacheLimit(int n) +{ + QPixmapCache::setCacheLimit(n); +} + +class MyQPlatformSurfaceEvent: public QPlatformSurfaceEvent +{ +public: + MyQPlatformSurfaceEvent(QPlatformSurfaceEvent::SurfaceEventType surfaceEventType) : QPlatformSurfaceEvent(surfaceEventType) {}; +}; + +void* QPlatformSurfaceEvent_NewQPlatformSurfaceEvent(long long surfaceEventType) +{ + return new MyQPlatformSurfaceEvent(static_cast(surfaceEventType)); +} + +long long QPlatformSurfaceEvent_SurfaceEventType(void* ptr) +{ + return static_cast(ptr)->surfaceEventType(); +} + +void* QPointingDeviceUniqueId_NewQPointingDeviceUniqueId() +{ + return new QPointingDeviceUniqueId(); +} + +void* QPointingDeviceUniqueId_QPointingDeviceUniqueId_FromNumericId(long long id) +{ + return new QPointingDeviceUniqueId(QPointingDeviceUniqueId::fromNumericId(id)); +} + +char QPointingDeviceUniqueId_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +long long QPointingDeviceUniqueId_NumericId(void* ptr) +{ + return static_cast(ptr)->numericId(); +} + +void* QPolygon_NewQPolygon() +{ + return new QPolygon(); +} + +void* QPolygon_NewQPolygon2(int size) +{ + return new QPolygon(size); +} + +void* QPolygon_NewQPolygon3(void* points) +{ + return new QPolygon(*static_cast*>(points)); +} + +void* QPolygon_NewQPolygon5(void* rectangle, char closed) +{ + return new QPolygon(*static_cast(rectangle), closed != 0); +} + +void* QPolygon_BoundingRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->boundingRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QPolygon_ContainsPoint(void* ptr, void* point, long long fillRule) +{ + return static_cast(ptr)->containsPoint(*static_cast(point), static_cast(fillRule)); +} + +void* QPolygon_Intersected(void* ptr, void* r) +{ + return new QPolygon(static_cast(ptr)->intersected(*static_cast(r))); +} + +char QPolygon_Intersects(void* ptr, void* p) +{ + return static_cast(ptr)->intersects(*static_cast(p)); +} + +void QPolygon_Point(void* ptr, int index, int x, int y) +{ + static_cast(ptr)->point(index, &x, &y); +} + +void* QPolygon_Point2(void* ptr, int index) +{ + return ({ QPoint tmpValue = static_cast(ptr)->point(index); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void QPolygon_PutPoints(void* ptr, int index, int nPoints, void* fromPolygon, int fromIndex) +{ + static_cast(ptr)->putPoints(index, nPoints, *static_cast(fromPolygon), fromIndex); +} + +void QPolygon_SetPoint(void* ptr, int index, int x, int y) +{ + static_cast(ptr)->setPoint(index, x, y); +} + +void QPolygon_SetPoint2(void* ptr, int index, void* point) +{ + static_cast(ptr)->setPoint(index, *static_cast(point)); +} + +void QPolygon_SetPoints(void* ptr, int nPoints, int points) +{ + static_cast(ptr)->setPoints(nPoints, const_cast(&points)); +} + +void* QPolygon_Subtracted(void* ptr, void* r) +{ + return new QPolygon(static_cast(ptr)->subtracted(*static_cast(r))); +} + +void QPolygon_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QPolygon_Translate(void* ptr, int dx, int dy) +{ + static_cast(ptr)->translate(dx, dy); +} + +void QPolygon_Translate2(void* ptr, void* offset) +{ + static_cast(ptr)->translate(*static_cast(offset)); +} + +void* QPolygon_Translated(void* ptr, int dx, int dy) +{ + return new QPolygon(static_cast(ptr)->translated(dx, dy)); +} + +void* QPolygon_Translated2(void* ptr, void* offset) +{ + return new QPolygon(static_cast(ptr)->translated(*static_cast(offset))); +} + +void* QPolygon_United(void* ptr, void* r) +{ + return new QPolygon(static_cast(ptr)->united(*static_cast(r))); +} + +void QPolygon_DestroyQPolygon(void* ptr) +{ + static_cast(ptr)->~QPolygon(); +} + +void* QPolygon___QPolygon_points_atList3(void* ptr, int i) +{ + return ({ QPoint tmpValue = ({QPoint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void QPolygon___QPolygon_points_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPolygon___QPolygon_points_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPolygon___QPolygon_v_atList4(void* ptr, int i) +{ + return ({ QPoint tmpValue = ({QPoint tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void QPolygon___QPolygon_v_setList4(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPolygon___QPolygon_v_newList4(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPolygon___QVector_other_atList4(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___QVector_other_setList4(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___QVector_other_newList4(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygon___QVector_other_atList5(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___QVector_other_setList5(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___QVector_other_newList5(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygon___append_value_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___append_value_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___append_value_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygon___fill_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___fill_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___fill_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygon___fromList_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___fromList_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___fromList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygon___fromList_list_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___fromList_list_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___fromList_list_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygon___fromStdVector_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___fromStdVector_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___fromStdVector_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygon___mid_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___mid_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___mid_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygon___swap_other_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___swap_other_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___swap_other_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygon___toList_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygon___toList_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygon___toList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF_NewQPolygonF() +{ + return new QPolygonF(); +} + +void* QPolygonF_NewQPolygonF2(int size) +{ + return new QPolygonF(size); +} + +void* QPolygonF_NewQPolygonF3(void* points) +{ + return new QPolygonF(*static_cast*>(points)); +} + +void* QPolygonF_NewQPolygonF5(void* rectangle) +{ + return new QPolygonF(*static_cast(rectangle)); +} + +void* QPolygonF_NewQPolygonF6(void* polygon) +{ + return new QPolygonF(*static_cast(polygon)); +} + +void* QPolygonF_NewQPolygonF7(void* polygon) +{ + return new QPolygonF(*static_cast(polygon)); +} + +void* QPolygonF_BoundingRect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QPolygonF_ContainsPoint(void* ptr, void* point, long long fillRule) +{ + return static_cast(ptr)->containsPoint(*static_cast(point), static_cast(fillRule)); +} + +void* QPolygonF_Intersected(void* ptr, void* r) +{ + return new QPolygonF(static_cast(ptr)->intersected(*static_cast(r))); +} + +char QPolygonF_Intersects(void* ptr, void* p) +{ + return static_cast(ptr)->intersects(*static_cast(p)); +} + +char QPolygonF_IsClosed(void* ptr) +{ + return static_cast(ptr)->isClosed(); +} + +void* QPolygonF_Subtracted(void* ptr, void* r) +{ + return new QPolygonF(static_cast(ptr)->subtracted(*static_cast(r))); +} + +void QPolygonF_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QPolygonF_ToPolygon(void* ptr) +{ + return new QPolygon(static_cast(ptr)->toPolygon()); +} + +void QPolygonF_Translate(void* ptr, void* offset) +{ + static_cast(ptr)->translate(*static_cast(offset)); +} + +void QPolygonF_Translate2(void* ptr, double dx, double dy) +{ + static_cast(ptr)->translate(dx, dy); +} + +void* QPolygonF_Translated(void* ptr, void* offset) +{ + return new QPolygonF(static_cast(ptr)->translated(*static_cast(offset))); +} + +void* QPolygonF_Translated2(void* ptr, double dx, double dy) +{ + return new QPolygonF(static_cast(ptr)->translated(dx, dy)); +} + +void* QPolygonF_United(void* ptr, void* r) +{ + return new QPolygonF(static_cast(ptr)->united(*static_cast(r))); +} + +void QPolygonF_DestroyQPolygonF(void* ptr) +{ + static_cast(ptr)->~QPolygonF(); +} + +void* QPolygonF___QPolygonF_points_atList3(void* ptr, int i) +{ + return ({ QPointF tmpValue = ({QPointF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QPolygonF___QPolygonF_points_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPolygonF___QPolygonF_points_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPolygonF___QPolygonF_v_atList4(void* ptr, int i) +{ + return ({ QPointF tmpValue = ({QPointF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QPolygonF___QPolygonF_v_setList4(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QPolygonF___QPolygonF_v_newList4(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QPolygonF___QVector_other_atList4(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___QVector_other_setList4(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___QVector_other_newList4(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF___QVector_other_atList5(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___QVector_other_setList5(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___QVector_other_newList5(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF___append_value_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___append_value_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___append_value_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF___fill_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___fill_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___fill_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF___fromList_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___fromList_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___fromList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF___fromList_list_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___fromList_list_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___fromList_list_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF___fromStdVector_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___fromStdVector_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___fromStdVector_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF___mid_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___mid_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___mid_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF___swap_other_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___swap_other_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___swap_other_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QPolygonF___toList_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QPolygonF___toList_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QPolygonF___toList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQuaternion_NewQQuaternion() +{ + return new QQuaternion(); +} + +void* QQuaternion_NewQQuaternion3(float scalar, float xpos, float ypos, float zpos) +{ + return new QQuaternion(scalar, xpos, ypos, zpos); +} + +void* QQuaternion_NewQQuaternion4(float scalar, void* vector) +{ + return new QQuaternion(scalar, *static_cast(vector)); +} + +void* QQuaternion_NewQQuaternion5(void* vector) +{ + return new QQuaternion(*static_cast(vector)); +} + +void* QQuaternion_Conjugated(void* ptr) +{ + return new QQuaternion(static_cast(ptr)->conjugated()); +} + +float QQuaternion_QQuaternion_DotProduct(void* q1, void* q2) +{ + return QQuaternion::dotProduct(*static_cast(q1), *static_cast(q2)); +} + +void* QQuaternion_QQuaternion_FromAxes(void* xAxis, void* yAxis, void* zAxis) +{ + return new QQuaternion(QQuaternion::fromAxes(*static_cast(xAxis), *static_cast(yAxis), *static_cast(zAxis))); +} + +void* QQuaternion_QQuaternion_FromAxisAndAngle(void* axis, float angle) +{ + return new QQuaternion(QQuaternion::fromAxisAndAngle(*static_cast(axis), angle)); +} + +void* QQuaternion_QQuaternion_FromAxisAndAngle2(float x, float y, float z, float angle) +{ + return new QQuaternion(QQuaternion::fromAxisAndAngle(x, y, z, angle)); +} + +void* QQuaternion_QQuaternion_FromDirection(void* direction, void* up) +{ + return new QQuaternion(QQuaternion::fromDirection(*static_cast(direction), *static_cast(up))); +} + +void* QQuaternion_QQuaternion_FromEulerAngles(float pitch, float yaw, float roll) +{ + return new QQuaternion(QQuaternion::fromEulerAngles(pitch, yaw, roll)); +} + +void* QQuaternion_QQuaternion_FromEulerAngles2(void* eulerAngles) +{ + return new QQuaternion(QQuaternion::fromEulerAngles(*static_cast(eulerAngles))); +} + +void QQuaternion_GetAxes(void* ptr, void* xAxis, void* yAxis, void* zAxis) +{ + static_cast(ptr)->getAxes(static_cast(xAxis), static_cast(yAxis), static_cast(zAxis)); +} + +void QQuaternion_GetAxisAndAngle(void* ptr, float x, float y, float z, float angle) +{ + static_cast(ptr)->getAxisAndAngle(&x, &y, &z, &angle); +} + +void QQuaternion_GetAxisAndAngle2(void* ptr, void* axis, float angle) +{ + static_cast(ptr)->getAxisAndAngle(static_cast(axis), &angle); +} + +void QQuaternion_GetEulerAngles(void* ptr, float pitch, float yaw, float roll) +{ + static_cast(ptr)->getEulerAngles(&pitch, &yaw, &roll); +} + +void* QQuaternion_Inverted(void* ptr) +{ + return new QQuaternion(static_cast(ptr)->inverted()); +} + +char QQuaternion_IsIdentity(void* ptr) +{ + return static_cast(ptr)->isIdentity(); +} + +char QQuaternion_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +float QQuaternion_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +float QQuaternion_LengthSquared(void* ptr) +{ + return static_cast(ptr)->lengthSquared(); +} + +void* QQuaternion_QQuaternion_Nlerp(void* q1, void* q2, float t) +{ + return new QQuaternion(QQuaternion::nlerp(*static_cast(q1), *static_cast(q2), t)); +} + +void QQuaternion_Normalize(void* ptr) +{ + static_cast(ptr)->normalize(); +} + +void* QQuaternion_Normalized(void* ptr) +{ + return new QQuaternion(static_cast(ptr)->normalized()); +} + +void* QQuaternion_RotatedVector(void* ptr, void* vector) +{ + return new QVector3D(static_cast(ptr)->rotatedVector(*static_cast(vector))); +} + +void* QQuaternion_QQuaternion_RotationTo(void* from, void* to) +{ + return new QQuaternion(QQuaternion::rotationTo(*static_cast(from), *static_cast(to))); +} + +float QQuaternion_Scalar(void* ptr) +{ + return static_cast(ptr)->scalar(); +} + +void QQuaternion_SetScalar(void* ptr, float scalar) +{ + static_cast(ptr)->setScalar(scalar); +} + +void QQuaternion_SetVector(void* ptr, void* vector) +{ + static_cast(ptr)->setVector(*static_cast(vector)); +} + +void QQuaternion_SetVector2(void* ptr, float x, float y, float z) +{ + static_cast(ptr)->setVector(x, y, z); +} + +void QQuaternion_SetX(void* ptr, float x) +{ + static_cast(ptr)->setX(x); +} + +void QQuaternion_SetY(void* ptr, float y) +{ + static_cast(ptr)->setY(y); +} + +void QQuaternion_SetZ(void* ptr, float z) +{ + static_cast(ptr)->setZ(z); +} + +void* QQuaternion_QQuaternion_Slerp(void* q1, void* q2, float t) +{ + return new QQuaternion(QQuaternion::slerp(*static_cast(q1), *static_cast(q2), t)); +} + +void* QQuaternion_ToEulerAngles(void* ptr) +{ + return new QVector3D(static_cast(ptr)->toEulerAngles()); +} + +void* QQuaternion_ToVector4D(void* ptr) +{ + return new QVector4D(static_cast(ptr)->toVector4D()); +} + +void* QQuaternion_Vector(void* ptr) +{ + return new QVector3D(static_cast(ptr)->vector()); +} + +float QQuaternion_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +float QQuaternion_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +float QQuaternion_Z(void* ptr) +{ + return static_cast(ptr)->z(); +} + +void* QRadialGradient_NewQRadialGradient() +{ + return new QRadialGradient(); +} + +void* QRadialGradient_NewQRadialGradient2(void* center, double radius, void* focalPoint) +{ + return new QRadialGradient(*static_cast(center), radius, *static_cast(focalPoint)); +} + +void* QRadialGradient_NewQRadialGradient3(double cx, double cy, double radius, double fx, double fy) +{ + return new QRadialGradient(cx, cy, radius, fx, fy); +} + +void* QRadialGradient_NewQRadialGradient4(void* center, double radius) +{ + return new QRadialGradient(*static_cast(center), radius); +} + +void* QRadialGradient_NewQRadialGradient5(double cx, double cy, double radius) +{ + return new QRadialGradient(cx, cy, radius); +} + +void* QRadialGradient_NewQRadialGradient6(void* center, double centerRadius, void* focalPoint, double focalRadius) +{ + return new QRadialGradient(*static_cast(center), centerRadius, *static_cast(focalPoint), focalRadius); +} + +void* QRadialGradient_NewQRadialGradient7(double cx, double cy, double centerRadius, double fx, double fy, double focalRadius) +{ + return new QRadialGradient(cx, cy, centerRadius, fx, fy, focalRadius); +} + +void* QRadialGradient_Center(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->center(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +double QRadialGradient_CenterRadius(void* ptr) +{ + return static_cast(ptr)->centerRadius(); +} + +void* QRadialGradient_FocalPoint(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->focalPoint(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +double QRadialGradient_FocalRadius(void* ptr) +{ + return static_cast(ptr)->focalRadius(); +} + +double QRadialGradient_Radius(void* ptr) +{ + return static_cast(ptr)->radius(); +} + +void QRadialGradient_SetCenter(void* ptr, void* center) +{ + static_cast(ptr)->setCenter(*static_cast(center)); +} + +void QRadialGradient_SetCenter2(void* ptr, double x, double y) +{ + static_cast(ptr)->setCenter(x, y); +} + +void QRadialGradient_SetCenterRadius(void* ptr, double radius) +{ + static_cast(ptr)->setCenterRadius(radius); +} + +void QRadialGradient_SetFocalPoint(void* ptr, void* focalPoint) +{ + static_cast(ptr)->setFocalPoint(*static_cast(focalPoint)); +} + +void QRadialGradient_SetFocalPoint2(void* ptr, double x, double y) +{ + static_cast(ptr)->setFocalPoint(x, y); +} + +void QRadialGradient_SetFocalRadius(void* ptr, double radius) +{ + static_cast(ptr)->setFocalRadius(radius); +} + +void QRadialGradient_SetRadius(void* ptr, double radius) +{ + static_cast(ptr)->setRadius(radius); +} + +class MyQRasterWindow: public QRasterWindow +{ +public: + MyQRasterWindow(QWindow *parent = Q_NULLPTR) : QRasterWindow(parent) {QRasterWindow_QRasterWindow_QRegisterMetaType();}; + void paintEvent(QPaintEvent * event) { callbackQPaintDeviceWindow_PaintEvent(this, event); }; + void update() { callbackQPaintDeviceWindow_Update3(this); }; + void Signal_ActiveChanged() { callbackQWindow_ActiveChanged(this); }; + void alert(int msec) { callbackQWindow_Alert(this, msec); }; + bool close() { return callbackQWindow_Close(this) != 0; }; + void Signal_ContentOrientationChanged(Qt::ScreenOrientation orientation) { callbackQWindow_ContentOrientationChanged(this, orientation); }; + bool event(QEvent * ev) { return callbackQWindow_Event(this, ev) != 0; }; + void exposeEvent(QExposeEvent * ev) { callbackQWindow_ExposeEvent(this, ev); }; + void focusInEvent(QFocusEvent * ev) { callbackQWindow_FocusInEvent(this, ev); }; + QObject * focusObject() const { return static_cast(callbackQWindow_FocusObject(const_cast(static_cast(this)))); }; + void Signal_FocusObjectChanged(QObject * object) { callbackQWindow_FocusObjectChanged(this, object); }; + void focusOutEvent(QFocusEvent * ev) { callbackQWindow_FocusOutEvent(this, ev); }; + QSurfaceFormat format() const { return *static_cast(callbackQWindow_Format(const_cast(static_cast(this)))); }; + void Signal_HeightChanged(int arg) { callbackQWindow_HeightChanged(this, arg); }; + void hide() { callbackQWindow_Hide(this); }; + void hideEvent(QHideEvent * ev) { callbackQWindow_HideEvent(this, ev); }; + void keyPressEvent(QKeyEvent * ev) { callbackQWindow_KeyPressEvent(this, ev); }; + void keyReleaseEvent(QKeyEvent * ev) { callbackQWindow_KeyReleaseEvent(this, ev); }; + void lower() { callbackQWindow_Lower(this); }; + void Signal_MaximumHeightChanged(int arg) { callbackQWindow_MaximumHeightChanged(this, arg); }; + void Signal_MaximumWidthChanged(int arg) { callbackQWindow_MaximumWidthChanged(this, arg); }; + void Signal_MinimumHeightChanged(int arg) { callbackQWindow_MinimumHeightChanged(this, arg); }; + void Signal_MinimumWidthChanged(int arg) { callbackQWindow_MinimumWidthChanged(this, arg); }; + void Signal_ModalityChanged(Qt::WindowModality modality) { callbackQWindow_ModalityChanged(this, modality); }; + void mouseDoubleClickEvent(QMouseEvent * ev) { callbackQWindow_MouseDoubleClickEvent(this, ev); }; + void mouseMoveEvent(QMouseEvent * ev) { callbackQWindow_MouseMoveEvent(this, ev); }; + void mousePressEvent(QMouseEvent * ev) { callbackQWindow_MousePressEvent(this, ev); }; + void mouseReleaseEvent(QMouseEvent * ev) { callbackQWindow_MouseReleaseEvent(this, ev); }; + void moveEvent(QMoveEvent * ev) { callbackQWindow_MoveEvent(this, ev); }; + bool nativeEvent(const QByteArray & eventType, void * message, long * result) { return callbackQWindow_NativeEvent(this, const_cast(&eventType), message, result) != 0; }; + void Signal_OpacityChanged(qreal opacity) { callbackQWindow_OpacityChanged(this, opacity); }; + void raise() { callbackQWindow_Raise(this); }; + void requestActivate() { callbackQWindow_RequestActivate(this); }; + void requestUpdate() { callbackQWindow_RequestUpdate(this); }; + void resizeEvent(QResizeEvent * ev) { callbackQWindow_ResizeEvent(this, ev); }; + void Signal_ScreenChanged(QScreen * screen) { callbackQWindow_ScreenChanged(this, screen); }; + void setGeometry(int posx, int posy, int w, int h) { callbackQWindow_SetGeometry(this, posx, posy, w, h); }; + void setGeometry(const QRect & rect) { callbackQWindow_SetGeometry2(this, const_cast(&rect)); }; + void setHeight(int arg) { callbackQWindow_SetHeight(this, arg); }; + void setMaximumHeight(int h) { callbackQWindow_SetMaximumHeight(this, h); }; + void setMaximumWidth(int w) { callbackQWindow_SetMaximumWidth(this, w); }; + void setMinimumHeight(int h) { callbackQWindow_SetMinimumHeight(this, h); }; + void setMinimumWidth(int w) { callbackQWindow_SetMinimumWidth(this, w); }; + void setTitle(const QString & vqs) { QByteArray tda39a3 = vqs.toUtf8(); QtGui_PackedString vqsPacked = { const_cast(tda39a3.prepend("WHITESPACE").constData()+10), tda39a3.size()-10 };callbackQWindow_SetTitle(this, vqsPacked); }; + void setVisible(bool visible) { callbackQWindow_SetVisible(this, visible); }; + void setWidth(int arg) { callbackQWindow_SetWidth(this, arg); }; + void setX(int arg) { callbackQWindow_SetX(this, arg); }; + void setY(int arg) { callbackQWindow_SetY(this, arg); }; + void show() { callbackQWindow_Show(this); }; + void showEvent(QShowEvent * ev) { callbackQWindow_ShowEvent(this, ev); }; + void showFullScreen() { callbackQWindow_ShowFullScreen(this); }; + void showMaximized() { callbackQWindow_ShowMaximized(this); }; + void showMinimized() { callbackQWindow_ShowMinimized(this); }; + void showNormal() { callbackQWindow_ShowNormal(this); }; + QSize size() const { return *static_cast(callbackQWindow_Size(const_cast(static_cast(this)))); }; + QSurface::SurfaceType surfaceType() const { return static_cast(callbackQWindow_SurfaceType(const_cast(static_cast(this)))); }; + void tabletEvent(QTabletEvent * ev) { callbackQWindow_TabletEvent(this, ev); }; + void touchEvent(QTouchEvent * ev) { callbackQWindow_TouchEvent(this, ev); }; + void Signal_VisibilityChanged(QWindow::Visibility visibility) { callbackQWindow_VisibilityChanged(this, visibility); }; + void Signal_VisibleChanged(bool arg) { callbackQWindow_VisibleChanged(this, arg); }; + void wheelEvent(QWheelEvent * ev) { callbackQWindow_WheelEvent(this, ev); }; + void Signal_WidthChanged(int arg) { callbackQWindow_WidthChanged(this, arg); }; + void Signal_WindowStateChanged(Qt::WindowState windowState) { callbackQWindow_WindowStateChanged(this, windowState); }; + void Signal_WindowTitleChanged(const QString & title) { QByteArray t3c6de1 = title.toUtf8(); QtGui_PackedString titlePacked = { const_cast(t3c6de1.prepend("WHITESPACE").constData()+10), t3c6de1.size()-10 };callbackQWindow_WindowTitleChanged(this, titlePacked); }; + void Signal_XChanged(int arg) { callbackQWindow_XChanged(this, arg); }; + void Signal_YChanged(int arg) { callbackQWindow_YChanged(this, arg); }; + void childEvent(QChildEvent * event) { callbackQWindow_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQWindow_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQWindow_CustomEvent(this, event); }; + void deleteLater() { callbackQWindow_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQWindow_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQWindow_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQWindow_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQWindow_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQWindow_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQWindow_TimerEvent(this, event); }; + int metric(QPaintDevice::PaintDeviceMetric metric) const { return callbackQPaintDevice_Metric(const_cast(static_cast(this)), metric); }; + QPaintEngine * paintEngine() const { return static_cast(callbackQPaintDeviceWindow_PaintEngine(const_cast(static_cast(this)))); }; +}; + +Q_DECLARE_METATYPE(MyQRasterWindow*) + +int QRasterWindow_QRasterWindow_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QRasterWindow_NewQRasterWindow(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQRasterWindow(static_cast(parent)); + } else { + return new MyQRasterWindow(static_cast(parent)); + } +} + +void* QRawFont_NewQRawFont() +{ + return new QRawFont(); +} + +void* QRawFont_NewQRawFont2(struct QtGui_PackedString fileName, double pixelSize, long long hintingPreference) +{ + return new QRawFont(QString::fromUtf8(fileName.data, fileName.len), pixelSize, static_cast(hintingPreference)); +} + +void* QRawFont_NewQRawFont3(void* fontData, double pixelSize, long long hintingPreference) +{ + return new QRawFont(*static_cast(fontData), pixelSize, static_cast(hintingPreference)); +} + +void* QRawFont_NewQRawFont4(void* other) +{ + return new QRawFont(*static_cast(other)); +} + +struct QtGui_PackedList QRawFont_AdvancesForGlyphIndexes(void* ptr, void* glyphIndexes, long long layoutFlags) +{ + return ({ QVector* tmpValue120c50 = new QVector(static_cast(ptr)->advancesForGlyphIndexes(*static_cast*>(glyphIndexes), static_cast(layoutFlags))); QtGui_PackedList { tmpValue120c50, tmpValue120c50->size() }; }); +} + +struct QtGui_PackedList QRawFont_AdvancesForGlyphIndexes2(void* ptr, void* glyphIndexes) +{ + return ({ QVector* tmpValuea4108b = new QVector(static_cast(ptr)->advancesForGlyphIndexes(*static_cast*>(glyphIndexes))); QtGui_PackedList { tmpValuea4108b, tmpValuea4108b->size() }; }); +} + +char QRawFont_AdvancesForGlyphIndexes3(void* ptr, unsigned int glyphIndexes, void* advances, int numGlyphs) +{ + return static_cast(ptr)->advancesForGlyphIndexes(const_cast(&glyphIndexes), static_cast(advances), numGlyphs); +} + +char QRawFont_AdvancesForGlyphIndexes4(void* ptr, unsigned int glyphIndexes, void* advances, int numGlyphs, long long layoutFlags) +{ + return static_cast(ptr)->advancesForGlyphIndexes(const_cast(&glyphIndexes), static_cast(advances), numGlyphs, static_cast(layoutFlags)); +} + +void* QRawFont_AlphaMapForGlyph(void* ptr, unsigned int glyphIndex, long long antialiasingType, void* transform) +{ + return new QImage(static_cast(ptr)->alphaMapForGlyph(glyphIndex, static_cast(antialiasingType), *static_cast(transform))); +} + +double QRawFont_Ascent(void* ptr) +{ + return static_cast(ptr)->ascent(); +} + +double QRawFont_AverageCharWidth(void* ptr) +{ + return static_cast(ptr)->averageCharWidth(); +} + +void* QRawFont_BoundingRect(void* ptr, unsigned int glyphIndex) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(glyphIndex); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +double QRawFont_CapHeight(void* ptr) +{ + return static_cast(ptr)->capHeight(); +} + +double QRawFont_Descent(void* ptr) +{ + return static_cast(ptr)->descent(); +} + +struct QtGui_PackedString QRawFont_FamilyName(void* ptr) +{ + return ({ QByteArray t8c920d = static_cast(ptr)->familyName().toUtf8(); QtGui_PackedString { const_cast(t8c920d.prepend("WHITESPACE").constData()+10), t8c920d.size()-10 }; }); +} + +void* QRawFont_FontTable(void* ptr, char* tagName) +{ + return new QByteArray(static_cast(ptr)->fontTable(const_cast(tagName))); +} + +void* QRawFont_QRawFont_FromFont(void* font, long long writingSystem) +{ + return new QRawFont(QRawFont::fromFont(*static_cast(font), static_cast(writingSystem))); +} + +char QRawFont_GlyphIndexesForChars(void* ptr, void* chars, int numChars, unsigned int glyphIndexes, int numGlyphs) +{ + return static_cast(ptr)->glyphIndexesForChars(static_cast(chars), numChars, &glyphIndexes, &numGlyphs); +} + +struct QtGui_PackedList QRawFont_GlyphIndexesForString(void* ptr, struct QtGui_PackedString text) +{ + return ({ QVector* tmpValuefd5581 = new QVector(static_cast(ptr)->glyphIndexesForString(QString::fromUtf8(text.data, text.len))); QtGui_PackedList { tmpValuefd5581, tmpValuefd5581->size() }; }); +} + +long long QRawFont_HintingPreference(void* ptr) +{ + return static_cast(ptr)->hintingPreference(); +} + +char QRawFont_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +double QRawFont_Leading(void* ptr) +{ + return static_cast(ptr)->leading(); +} + +double QRawFont_LineThickness(void* ptr) +{ + return static_cast(ptr)->lineThickness(); +} + +void QRawFont_LoadFromData(void* ptr, void* fontData, double pixelSize, long long hintingPreference) +{ + static_cast(ptr)->loadFromData(*static_cast(fontData), pixelSize, static_cast(hintingPreference)); +} + +void QRawFont_LoadFromFile(void* ptr, struct QtGui_PackedString fileName, double pixelSize, long long hintingPreference) +{ + static_cast(ptr)->loadFromFile(QString::fromUtf8(fileName.data, fileName.len), pixelSize, static_cast(hintingPreference)); +} + +double QRawFont_MaxCharWidth(void* ptr) +{ + return static_cast(ptr)->maxCharWidth(); +} + +void* QRawFont_PathForGlyph(void* ptr, unsigned int glyphIndex) +{ + return new QPainterPath(static_cast(ptr)->pathForGlyph(glyphIndex)); +} + +double QRawFont_PixelSize(void* ptr) +{ + return static_cast(ptr)->pixelSize(); +} + +void QRawFont_SetPixelSize(void* ptr, double pixelSize) +{ + static_cast(ptr)->setPixelSize(pixelSize); +} + +long long QRawFont_Style(void* ptr) +{ + return static_cast(ptr)->style(); +} + +struct QtGui_PackedString QRawFont_StyleName(void* ptr) +{ + return ({ QByteArray t6b9c52 = static_cast(ptr)->styleName().toUtf8(); QtGui_PackedString { const_cast(t6b9c52.prepend("WHITESPACE").constData()+10), t6b9c52.size()-10 }; }); +} + +struct QtGui_PackedList QRawFont_SupportedWritingSystems(void* ptr) +{ + return ({ QList* tmpValue90f470 = new QList(static_cast(ptr)->supportedWritingSystems()); QtGui_PackedList { tmpValue90f470, tmpValue90f470->size() }; }); +} + +char QRawFont_SupportsCharacter(void* ptr, void* character) +{ + return static_cast(ptr)->supportsCharacter(*static_cast(character)); +} + +char QRawFont_SupportsCharacter2(void* ptr, unsigned int ucs4) +{ + return static_cast(ptr)->supportsCharacter(ucs4); +} + +void QRawFont_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +double QRawFont_UnderlinePosition(void* ptr) +{ + return static_cast(ptr)->underlinePosition(); +} + +double QRawFont_UnitsPerEm(void* ptr) +{ + return static_cast(ptr)->unitsPerEm(); +} + +int QRawFont_Weight(void* ptr) +{ + return static_cast(ptr)->weight(); +} + +double QRawFont_XHeight(void* ptr) +{ + return static_cast(ptr)->xHeight(); +} + +void QRawFont_DestroyQRawFont(void* ptr) +{ + static_cast(ptr)->~QRawFont(); +} + +void* QRawFont___advancesForGlyphIndexes_atList(void* ptr, int i) +{ + return ({ QPointF tmpValue = ({QPointF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QRawFont___advancesForGlyphIndexes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QRawFont___advancesForGlyphIndexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QRawFont___advancesForGlyphIndexes_glyphIndexes_atList(void* ptr, int i) +{ + return ({quint32 tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QRawFont___advancesForGlyphIndexes_glyphIndexes_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QRawFont___advancesForGlyphIndexes_glyphIndexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QRawFont___advancesForGlyphIndexes_atList2(void* ptr, int i) +{ + return ({ QPointF tmpValue = ({QPointF tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void QRawFont___advancesForGlyphIndexes_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QRawFont___advancesForGlyphIndexes_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QRawFont___advancesForGlyphIndexes_glyphIndexes_atList2(void* ptr, int i) +{ + return ({quint32 tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QRawFont___advancesForGlyphIndexes_glyphIndexes_setList2(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QRawFont___advancesForGlyphIndexes_glyphIndexes_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +unsigned int QRawFont___glyphIndexesForString_atList(void* ptr, int i) +{ + return ({quint32 tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QRawFont___glyphIndexesForString_setList(void* ptr, unsigned int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QRawFont___glyphIndexesForString_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +long long QRawFont___supportedWritingSystems_atList(void* ptr, int i) +{ + return ({QFontDatabase::WritingSystem tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QRawFont___supportedWritingSystems_setList(void* ptr, long long i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QRawFont___supportedWritingSystems_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQRegExpValidator: public QRegExpValidator +{ +public: + MyQRegExpValidator(QObject *parent = Q_NULLPTR) : QRegExpValidator(parent) {QRegExpValidator_QRegExpValidator_QRegisterMetaType();}; + MyQRegExpValidator(const QRegExp &rx, QObject *parent = Q_NULLPTR) : QRegExpValidator(rx, parent) {QRegExpValidator_QRegExpValidator_QRegisterMetaType();}; + void Signal_RegExpChanged(const QRegExp & regExp) { callbackQRegExpValidator_RegExpChanged(this, const_cast(®Exp)); }; + QValidator::State validate(QString & input, int & pos) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };return static_cast(callbackQRegExpValidator_Validate(const_cast(static_cast(this)), inputPacked, pos)); }; + ~MyQRegExpValidator() { callbackQRegExpValidator_DestroyQRegExpValidator(this); }; + void Signal_Changed() { callbackQValidator_Changed(this); }; + void fixup(QString & input) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };callbackQValidator_Fixup(const_cast(static_cast(this)), inputPacked); }; + void childEvent(QChildEvent * event) { callbackQValidator_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQValidator_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQValidator_CustomEvent(this, event); }; + void deleteLater() { callbackQValidator_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQValidator_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQValidator_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQValidator_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQValidator_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQValidator_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQValidator_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQValidator_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQRegExpValidator*) + +int QRegExpValidator_QRegExpValidator_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QRegExpValidator_NewQRegExpValidator(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(static_cast(parent)); + } else { + return new MyQRegExpValidator(static_cast(parent)); + } +} + +void* QRegExpValidator_NewQRegExpValidator2(void* rx, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } else { + return new MyQRegExpValidator(*static_cast(rx), static_cast(parent)); + } +} + +void* QRegExpValidator_RegExp(void* ptr) +{ + return const_cast(&static_cast(ptr)->regExp()); +} + +void QRegExpValidator_ConnectRegExpChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QRegExpValidator::regExpChanged), static_cast(ptr), static_cast(&MyQRegExpValidator::Signal_RegExpChanged), static_cast(t)); +} + +void QRegExpValidator_DisconnectRegExpChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QRegExpValidator::regExpChanged), static_cast(ptr), static_cast(&MyQRegExpValidator::Signal_RegExpChanged)); +} + +void QRegExpValidator_RegExpChanged(void* ptr, void* regExp) +{ + static_cast(ptr)->regExpChanged(*static_cast(regExp)); +} + +void QRegExpValidator_SetRegExp(void* ptr, void* rx) +{ + static_cast(ptr)->setRegExp(*static_cast(rx)); +} + +long long QRegExpValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos) +{ + return static_cast(ptr)->validate(*(new QString(QString::fromUtf8(input.data, input.len))), pos); +} + +long long QRegExpValidator_ValidateDefault(void* ptr, struct QtGui_PackedString input, int pos) +{ + return static_cast(ptr)->QRegExpValidator::validate(*(new QString(QString::fromUtf8(input.data, input.len))), pos); +} + +void QRegExpValidator_DestroyQRegExpValidator(void* ptr) +{ + static_cast(ptr)->~QRegExpValidator(); +} + +void QRegExpValidator_DestroyQRegExpValidatorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QRegion_NewQRegion() +{ + return new QRegion(); +} + +void* QRegion_NewQRegion2(int x, int y, int w, int h, long long t) +{ + return new QRegion(x, y, w, h, static_cast(t)); +} + +void* QRegion_NewQRegion3(void* r, long long t) +{ + return new QRegion(*static_cast(r), static_cast(t)); +} + +void* QRegion_NewQRegion4(void* a, long long fillRule) +{ + return new QRegion(*static_cast(a), static_cast(fillRule)); +} + +void* QRegion_NewQRegion5(void* r) +{ + return new QRegion(*static_cast(r)); +} + +void* QRegion_NewQRegion6(void* other) +{ + return new QRegion(*static_cast(other)); +} + +void* QRegion_NewQRegion7(void* bm) +{ + return new QRegion(*static_cast(bm)); +} + +void* QRegion_BoundingRect(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->boundingRect(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QRegion_Contains(void* ptr, void* p) +{ + return static_cast(ptr)->contains(*static_cast(p)); +} + +char QRegion_Contains2(void* ptr, void* r) +{ + return static_cast(ptr)->contains(*static_cast(r)); +} + +void* QRegion_Intersected(void* ptr, void* r) +{ + return new QRegion(static_cast(ptr)->intersected(*static_cast(r))); +} + +void* QRegion_Intersected2(void* ptr, void* rect) +{ + return new QRegion(static_cast(ptr)->intersected(*static_cast(rect))); +} + +char QRegion_Intersects(void* ptr, void* region) +{ + return static_cast(ptr)->intersects(*static_cast(region)); +} + +char QRegion_Intersects2(void* ptr, void* rect) +{ + return static_cast(ptr)->intersects(*static_cast(rect)); +} + +char QRegion_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QRegion_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +int QRegion_RectCount(void* ptr) +{ + return static_cast(ptr)->rectCount(); +} + +void QRegion_SetRects(void* ptr, void* rects, int number) +{ + static_cast(ptr)->setRects(static_cast(rects), number); +} + +void* QRegion_Subtracted(void* ptr, void* r) +{ + return new QRegion(static_cast(ptr)->subtracted(*static_cast(r))); +} + +void QRegion_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QRegion_Translate(void* ptr, int dx, int dy) +{ + static_cast(ptr)->translate(dx, dy); +} + +void QRegion_Translate2(void* ptr, void* point) +{ + static_cast(ptr)->translate(*static_cast(point)); +} + +void* QRegion_Translated(void* ptr, int dx, int dy) +{ + return new QRegion(static_cast(ptr)->translated(dx, dy)); +} + +void* QRegion_Translated2(void* ptr, void* p) +{ + return new QRegion(static_cast(ptr)->translated(*static_cast(p))); +} + +void* QRegion_United(void* ptr, void* r) +{ + return new QRegion(static_cast(ptr)->united(*static_cast(r))); +} + +void* QRegion_United2(void* ptr, void* rect) +{ + return new QRegion(static_cast(ptr)->united(*static_cast(rect))); +} + +void* QRegion_Xored(void* ptr, void* r) +{ + return new QRegion(static_cast(ptr)->xored(*static_cast(r))); +} + +void* QRegion___rects_atList(void* ptr, int i) +{ + return ({ QRect tmpValue = ({QRect tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QRegion___rects_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QRegion___rects_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +class MyQRegularExpressionValidator: public QRegularExpressionValidator +{ +public: + MyQRegularExpressionValidator(QObject *parent = Q_NULLPTR) : QRegularExpressionValidator(parent) {QRegularExpressionValidator_QRegularExpressionValidator_QRegisterMetaType();}; + MyQRegularExpressionValidator(const QRegularExpression &re, QObject *parent = Q_NULLPTR) : QRegularExpressionValidator(re, parent) {QRegularExpressionValidator_QRegularExpressionValidator_QRegisterMetaType();}; + void Signal_RegularExpressionChanged(const QRegularExpression & re) { callbackQRegularExpressionValidator_RegularExpressionChanged(this, const_cast(&re)); }; + void setRegularExpression(const QRegularExpression & re) { callbackQRegularExpressionValidator_SetRegularExpression(this, const_cast(&re)); }; + QValidator::State validate(QString & input, int & pos) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };return static_cast(callbackQRegularExpressionValidator_Validate(const_cast(static_cast(this)), inputPacked, pos)); }; + ~MyQRegularExpressionValidator() { callbackQRegularExpressionValidator_DestroyQRegularExpressionValidator(this); }; + void Signal_Changed() { callbackQValidator_Changed(this); }; + void fixup(QString & input) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };callbackQValidator_Fixup(const_cast(static_cast(this)), inputPacked); }; + void childEvent(QChildEvent * event) { callbackQValidator_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQValidator_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQValidator_CustomEvent(this, event); }; + void deleteLater() { callbackQValidator_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQValidator_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQValidator_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQValidator_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQValidator_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQValidator_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQValidator_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQValidator_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQRegularExpressionValidator*) + +int QRegularExpressionValidator_QRegularExpressionValidator_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QRegularExpressionValidator_NewQRegularExpressionValidator(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(static_cast(parent)); + } else { + return new MyQRegularExpressionValidator(static_cast(parent)); + } +} + +void* QRegularExpressionValidator_NewQRegularExpressionValidator2(void* re, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } else { + return new MyQRegularExpressionValidator(*static_cast(re), static_cast(parent)); + } +} + +void* QRegularExpressionValidator_RegularExpression(void* ptr) +{ + return new QRegularExpression(static_cast(ptr)->regularExpression()); +} + +void QRegularExpressionValidator_ConnectRegularExpressionChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QRegularExpressionValidator::regularExpressionChanged), static_cast(ptr), static_cast(&MyQRegularExpressionValidator::Signal_RegularExpressionChanged), static_cast(t)); +} + +void QRegularExpressionValidator_DisconnectRegularExpressionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QRegularExpressionValidator::regularExpressionChanged), static_cast(ptr), static_cast(&MyQRegularExpressionValidator::Signal_RegularExpressionChanged)); +} + +void QRegularExpressionValidator_RegularExpressionChanged(void* ptr, void* re) +{ + static_cast(ptr)->regularExpressionChanged(*static_cast(re)); +} + +void QRegularExpressionValidator_SetRegularExpression(void* ptr, void* re) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setRegularExpression", Q_ARG(const QRegularExpression, *static_cast(re))); +} + +void QRegularExpressionValidator_SetRegularExpressionDefault(void* ptr, void* re) +{ + static_cast(ptr)->QRegularExpressionValidator::setRegularExpression(*static_cast(re)); +} + +long long QRegularExpressionValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos) +{ + return static_cast(ptr)->validate(*(new QString(QString::fromUtf8(input.data, input.len))), pos); +} + +long long QRegularExpressionValidator_ValidateDefault(void* ptr, struct QtGui_PackedString input, int pos) +{ + return static_cast(ptr)->QRegularExpressionValidator::validate(*(new QString(QString::fromUtf8(input.data, input.len))), pos); +} + +void QRegularExpressionValidator_DestroyQRegularExpressionValidator(void* ptr) +{ + static_cast(ptr)->~QRegularExpressionValidator(); +} + +void QRegularExpressionValidator_DestroyQRegularExpressionValidatorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQResizeEvent: public QResizeEvent +{ +public: + MyQResizeEvent(const QSize &size, const QSize &oldSize) : QResizeEvent(size, oldSize) {}; +}; + +void* QResizeEvent_NewQResizeEvent(void* size, void* oldSize) +{ + return new MyQResizeEvent(*static_cast(size), *static_cast(oldSize)); +} + +void* QResizeEvent_OldSize(void* ptr) +{ + return const_cast(&static_cast(ptr)->oldSize()); +} + +void* QResizeEvent_Size(void* ptr) +{ + return const_cast(&static_cast(ptr)->size()); +} + +unsigned short QRgba64_Alpha(void* ptr) +{ + return static_cast(ptr)->alpha(); +} + +struct QtGui_PackedString QRgba64_Alpha8(void* ptr) +{ + return ({ quint8 pret13de7c = static_cast(ptr)->alpha8(); char* t13de7c = static_cast(static_cast(&pret13de7c)); QtGui_PackedString { t13de7c, -1 }; }); +} + +unsigned short QRgba64_Blue(void* ptr) +{ + return static_cast(ptr)->blue(); +} + +struct QtGui_PackedString QRgba64_Blue8(void* ptr) +{ + return ({ quint8 pret2116e7 = static_cast(ptr)->blue8(); char* t2116e7 = static_cast(static_cast(&pret2116e7)); QtGui_PackedString { t2116e7, -1 }; }); +} + +unsigned short QRgba64_Green(void* ptr) +{ + return static_cast(ptr)->green(); +} + +struct QtGui_PackedString QRgba64_Green8(void* ptr) +{ + return ({ quint8 pret72b7b3 = static_cast(ptr)->green8(); char* t72b7b3 = static_cast(static_cast(&pret72b7b3)); QtGui_PackedString { t72b7b3, -1 }; }); +} + +char QRgba64_IsOpaque(void* ptr) +{ + return static_cast(ptr)->isOpaque(); +} + +char QRgba64_IsTransparent(void* ptr) +{ + return static_cast(ptr)->isTransparent(); +} + +unsigned short QRgba64_Red(void* ptr) +{ + return static_cast(ptr)->red(); +} + +struct QtGui_PackedString QRgba64_Red8(void* ptr) +{ + return ({ quint8 pretd7bc71 = static_cast(ptr)->red8(); char* td7bc71 = static_cast(static_cast(&pretd7bc71)); QtGui_PackedString { td7bc71, -1 }; }); +} + +void QRgba64_SetAlpha(void* ptr, unsigned short alpha) +{ + static_cast(ptr)->setAlpha(alpha); +} + +void QRgba64_SetBlue(void* ptr, unsigned short blue) +{ + static_cast(ptr)->setBlue(blue); +} + +void QRgba64_SetGreen(void* ptr, unsigned short green) +{ + static_cast(ptr)->setGreen(green); +} + +void QRgba64_SetRed(void* ptr, unsigned short red) +{ + static_cast(ptr)->setRed(red); +} + +unsigned int QRgba64_ToArgb32(void* ptr) +{ + return static_cast(ptr)->toArgb32(); +} + +unsigned short QRgba64_ToRgb16(void* ptr) +{ + return static_cast(ptr)->toRgb16(); +} + +class MyQScreen: public QScreen +{ +public: + void Signal_AvailableGeometryChanged(const QRect & geometry) { callbackQScreen_AvailableGeometryChanged(this, const_cast(&geometry)); }; + void Signal_GeometryChanged(const QRect & geometry) { callbackQScreen_GeometryChanged(this, const_cast(&geometry)); }; + void Signal_LogicalDotsPerInchChanged(qreal dpi) { callbackQScreen_LogicalDotsPerInchChanged(this, dpi); }; + void Signal_OrientationChanged(Qt::ScreenOrientation orientation) { callbackQScreen_OrientationChanged(this, orientation); }; + void Signal_PhysicalDotsPerInchChanged(qreal dpi) { callbackQScreen_PhysicalDotsPerInchChanged(this, dpi); }; + void Signal_PhysicalSizeChanged(const QSizeF & size) { callbackQScreen_PhysicalSizeChanged(this, const_cast(&size)); }; + void Signal_PrimaryOrientationChanged(Qt::ScreenOrientation orientation) { callbackQScreen_PrimaryOrientationChanged(this, orientation); }; + void Signal_RefreshRateChanged(qreal refreshRate) { callbackQScreen_RefreshRateChanged(this, refreshRate); }; + void Signal_VirtualGeometryChanged(const QRect & rect) { callbackQScreen_VirtualGeometryChanged(this, const_cast(&rect)); }; + ~MyQScreen() { callbackQScreen_DestroyQScreen(this); }; + void childEvent(QChildEvent * event) { callbackQScreen_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQScreen_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQScreen_CustomEvent(this, event); }; + void deleteLater() { callbackQScreen_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQScreen_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQScreen_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQScreen_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQScreen_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQScreen_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQScreen_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQScreen_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQScreen*) + +int QScreen_QScreen_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +int QScreen_AngleBetween(void* ptr, long long a, long long b) +{ + return static_cast(ptr)->angleBetween(static_cast(a), static_cast(b)); +} + +void* QScreen_AvailableGeometry(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->availableGeometry(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QScreen_ConnectAvailableGeometryChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QScreen::availableGeometryChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_AvailableGeometryChanged), static_cast(t)); +} + +void QScreen_DisconnectAvailableGeometryChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QScreen::availableGeometryChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_AvailableGeometryChanged)); +} + +void QScreen_AvailableGeometryChanged(void* ptr, void* geometry) +{ + static_cast(ptr)->availableGeometryChanged(*static_cast(geometry)); +} + +void* QScreen_AvailableSize(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->availableSize(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QScreen_AvailableVirtualGeometry(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->availableVirtualGeometry(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QScreen_AvailableVirtualSize(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->availableVirtualSize(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +int QScreen_Depth(void* ptr) +{ + return static_cast(ptr)->depth(); +} + +double QScreen_DevicePixelRatio(void* ptr) +{ + return static_cast(ptr)->devicePixelRatio(); +} + +void* QScreen_Geometry(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->geometry(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QScreen_ConnectGeometryChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QScreen::geometryChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_GeometryChanged), static_cast(t)); +} + +void QScreen_DisconnectGeometryChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QScreen::geometryChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_GeometryChanged)); +} + +void QScreen_GeometryChanged(void* ptr, void* geometry) +{ + static_cast(ptr)->geometryChanged(*static_cast(geometry)); +} + +void* QScreen_GrabWindow(void* ptr, uintptr_t window, int x, int y, int width, int height) +{ + return new QPixmap(static_cast(ptr)->grabWindow(window, x, y, width, height)); +} + +char QScreen_IsLandscape(void* ptr, long long o) +{ + return static_cast(ptr)->isLandscape(static_cast(o)); +} + +char QScreen_IsPortrait(void* ptr, long long o) +{ + return static_cast(ptr)->isPortrait(static_cast(o)); +} + +double QScreen_LogicalDotsPerInch(void* ptr) +{ + return static_cast(ptr)->logicalDotsPerInch(); +} + +void QScreen_ConnectLogicalDotsPerInchChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QScreen::logicalDotsPerInchChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_LogicalDotsPerInchChanged), static_cast(t)); +} + +void QScreen_DisconnectLogicalDotsPerInchChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QScreen::logicalDotsPerInchChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_LogicalDotsPerInchChanged)); +} + +void QScreen_LogicalDotsPerInchChanged(void* ptr, double dpi) +{ + static_cast(ptr)->logicalDotsPerInchChanged(dpi); +} + +double QScreen_LogicalDotsPerInchX(void* ptr) +{ + return static_cast(ptr)->logicalDotsPerInchX(); +} + +double QScreen_LogicalDotsPerInchY(void* ptr) +{ + return static_cast(ptr)->logicalDotsPerInchY(); +} + +struct QtGui_PackedString QScreen_Manufacturer(void* ptr) +{ + return ({ QByteArray tb12da7 = static_cast(ptr)->manufacturer().toUtf8(); QtGui_PackedString { const_cast(tb12da7.prepend("WHITESPACE").constData()+10), tb12da7.size()-10 }; }); +} + +void* QScreen_MapBetween(void* ptr, long long a, long long b, void* rect) +{ + return ({ QRect tmpValue = static_cast(ptr)->mapBetween(static_cast(a), static_cast(b), *static_cast(rect)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +struct QtGui_PackedString QScreen_Model(void* ptr) +{ +#ifndef Q_OS_WIN + return ({ QByteArray t131f94 = static_cast(ptr)->model().toUtf8(); QtGui_PackedString { const_cast(t131f94.prepend("WHITESPACE").constData()+10), t131f94.size()-10 }; }); +#endif +} + +struct QtGui_PackedString QScreen_Name(void* ptr) +{ + return ({ QByteArray tc60f02 = static_cast(ptr)->name().toUtf8(); QtGui_PackedString { const_cast(tc60f02.prepend("WHITESPACE").constData()+10), tc60f02.size()-10 }; }); +} + +long long QScreen_NativeOrientation(void* ptr) +{ + return static_cast(ptr)->nativeOrientation(); +} + +long long QScreen_Orientation(void* ptr) +{ + return static_cast(ptr)->orientation(); +} + +void QScreen_ConnectOrientationChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QScreen::orientationChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_OrientationChanged), static_cast(t)); +} + +void QScreen_DisconnectOrientationChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QScreen::orientationChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_OrientationChanged)); +} + +void QScreen_OrientationChanged(void* ptr, long long orientation) +{ + static_cast(ptr)->orientationChanged(static_cast(orientation)); +} + +long long QScreen_OrientationUpdateMask(void* ptr) +{ + return static_cast(ptr)->orientationUpdateMask(); +} + +double QScreen_PhysicalDotsPerInch(void* ptr) +{ + return static_cast(ptr)->physicalDotsPerInch(); +} + +void QScreen_ConnectPhysicalDotsPerInchChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QScreen::physicalDotsPerInchChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_PhysicalDotsPerInchChanged), static_cast(t)); +} + +void QScreen_DisconnectPhysicalDotsPerInchChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QScreen::physicalDotsPerInchChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_PhysicalDotsPerInchChanged)); +} + +void QScreen_PhysicalDotsPerInchChanged(void* ptr, double dpi) +{ + static_cast(ptr)->physicalDotsPerInchChanged(dpi); +} + +double QScreen_PhysicalDotsPerInchX(void* ptr) +{ + return static_cast(ptr)->physicalDotsPerInchX(); +} + +double QScreen_PhysicalDotsPerInchY(void* ptr) +{ + return static_cast(ptr)->physicalDotsPerInchY(); +} + +void* QScreen_PhysicalSize(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->physicalSize(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void QScreen_ConnectPhysicalSizeChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QScreen::physicalSizeChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_PhysicalSizeChanged), static_cast(t)); +} + +void QScreen_DisconnectPhysicalSizeChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QScreen::physicalSizeChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_PhysicalSizeChanged)); +} + +void QScreen_PhysicalSizeChanged(void* ptr, void* size) +{ + static_cast(ptr)->physicalSizeChanged(*static_cast(size)); +} + +long long QScreen_PrimaryOrientation(void* ptr) +{ + return static_cast(ptr)->primaryOrientation(); +} + +void QScreen_ConnectPrimaryOrientationChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QScreen::primaryOrientationChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_PrimaryOrientationChanged), static_cast(t)); +} + +void QScreen_DisconnectPrimaryOrientationChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QScreen::primaryOrientationChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_PrimaryOrientationChanged)); +} + +void QScreen_PrimaryOrientationChanged(void* ptr, long long orientation) +{ + static_cast(ptr)->primaryOrientationChanged(static_cast(orientation)); +} + +double QScreen_RefreshRate(void* ptr) +{ + return static_cast(ptr)->refreshRate(); +} + +void QScreen_ConnectRefreshRateChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QScreen::refreshRateChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_RefreshRateChanged), static_cast(t)); +} + +void QScreen_DisconnectRefreshRateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QScreen::refreshRateChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_RefreshRateChanged)); +} + +void QScreen_RefreshRateChanged(void* ptr, double refreshRate) +{ + static_cast(ptr)->refreshRateChanged(refreshRate); +} + +struct QtGui_PackedString QScreen_SerialNumber(void* ptr) +{ + return ({ QByteArray tff6367 = static_cast(ptr)->serialNumber().toUtf8(); QtGui_PackedString { const_cast(tff6367.prepend("WHITESPACE").constData()+10), tff6367.size()-10 }; }); +} + +void QScreen_SetOrientationUpdateMask(void* ptr, long long mask) +{ + static_cast(ptr)->setOrientationUpdateMask(static_cast(mask)); +} + +void* QScreen_Size(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void* QScreen_TransformBetween(void* ptr, long long a, long long b, void* target) +{ + return new QTransform(static_cast(ptr)->transformBetween(static_cast(a), static_cast(b), *static_cast(target))); +} + +void* QScreen_VirtualGeometry(void* ptr) +{ + return ({ QRect tmpValue = static_cast(ptr)->virtualGeometry(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QScreen_ConnectVirtualGeometryChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QScreen::virtualGeometryChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_VirtualGeometryChanged), static_cast(t)); +} + +void QScreen_DisconnectVirtualGeometryChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QScreen::virtualGeometryChanged), static_cast(ptr), static_cast(&MyQScreen::Signal_VirtualGeometryChanged)); +} + +void QScreen_VirtualGeometryChanged(void* ptr, void* rect) +{ + static_cast(ptr)->virtualGeometryChanged(*static_cast(rect)); +} + +struct QtGui_PackedList QScreen_VirtualSiblings(void* ptr) +{ + return ({ QList* tmpValue1258f7 = new QList(static_cast(ptr)->virtualSiblings()); QtGui_PackedList { tmpValue1258f7, tmpValue1258f7->size() }; }); +} + +void* QScreen_VirtualSize(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->virtualSize(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QScreen_DestroyQScreen(void* ptr) +{ + static_cast(ptr)->~QScreen(); +} + +void QScreen_DestroyQScreenDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QScreen___virtualSiblings_atList(void* ptr, int i) +{ + return ({QScreen * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QScreen___virtualSiblings_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QScreen___virtualSiblings_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QScreen___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QScreen___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QScreen___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QScreen___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QScreen___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QScreen___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QScreen___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QScreen___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QScreen___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QScreen___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QScreen___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QScreen___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QScreen___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QScreen___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QScreen___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QScreen_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QScreen::childEvent(static_cast(event)); +} + +void QScreen_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QScreen::connectNotify(*static_cast(sign)); +} + +void QScreen_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QScreen::customEvent(static_cast(event)); +} + +void QScreen_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QScreen::deleteLater(); +} + +void QScreen_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QScreen::disconnectNotify(*static_cast(sign)); +} + +char QScreen_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QScreen::event(static_cast(e)); +} + +char QScreen_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QScreen::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QScreen::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QScreen::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QScreen::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QScreen::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QScreen_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QScreen::metaObject()); +} + +void QScreen_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QScreen::timerEvent(static_cast(event)); +} + +class MyQScreenOrientationChangeEvent: public QScreenOrientationChangeEvent +{ +public: + MyQScreenOrientationChangeEvent(QScreen *screen, Qt::ScreenOrientation screenOrientation) : QScreenOrientationChangeEvent(screen, screenOrientation) {}; + ~MyQScreenOrientationChangeEvent() { callbackQScreenOrientationChangeEvent_DestroyQScreenOrientationChangeEvent(this); }; +}; + +void* QScreenOrientationChangeEvent_NewQScreenOrientationChangeEvent(void* screen, long long screenOrientation) +{ + return new MyQScreenOrientationChangeEvent(static_cast(screen), static_cast(screenOrientation)); +} + +long long QScreenOrientationChangeEvent_Orientation(void* ptr) +{ + return static_cast(ptr)->orientation(); +} + +void* QScreenOrientationChangeEvent_Screen(void* ptr) +{ + return static_cast(ptr)->screen(); +} + +void QScreenOrientationChangeEvent_DestroyQScreenOrientationChangeEvent(void* ptr) +{ + static_cast(ptr)->~QScreenOrientationChangeEvent(); +} + +void QScreenOrientationChangeEvent_DestroyQScreenOrientationChangeEventDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQScrollEvent: public QScrollEvent +{ +public: + MyQScrollEvent(const QPointF &contentPos, const QPointF &overshootDistance, QScrollEvent::ScrollState scrollState) : QScrollEvent(contentPos, overshootDistance, scrollState) {}; + ~MyQScrollEvent() { callbackQScrollEvent_DestroyQScrollEvent(this); }; +}; + +void* QScrollEvent_NewQScrollEvent(void* contentPos, void* overshootDistance, long long scrollState) +{ + return new MyQScrollEvent(*static_cast(contentPos), *static_cast(overshootDistance), static_cast(scrollState)); +} + +void* QScrollEvent_ContentPos(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->contentPos(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QScrollEvent_OvershootDistance(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->overshootDistance(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +long long QScrollEvent_ScrollState(void* ptr) +{ + return static_cast(ptr)->scrollState(); +} + +void QScrollEvent_DestroyQScrollEvent(void* ptr) +{ + static_cast(ptr)->~QScrollEvent(); +} + +void QScrollEvent_DestroyQScrollEventDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQScrollPrepareEvent: public QScrollPrepareEvent +{ +public: + MyQScrollPrepareEvent(const QPointF &startPos) : QScrollPrepareEvent(startPos) {}; + ~MyQScrollPrepareEvent() { callbackQScrollPrepareEvent_DestroyQScrollPrepareEvent(this); }; +}; + +void* QScrollPrepareEvent_NewQScrollPrepareEvent(void* startPos) +{ + return new MyQScrollPrepareEvent(*static_cast(startPos)); +} + +void* QScrollPrepareEvent_ContentPos(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->contentPos(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QScrollPrepareEvent_ContentPosRange(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->contentPosRange(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QScrollPrepareEvent_SetContentPos(void* ptr, void* pos) +{ + static_cast(ptr)->setContentPos(*static_cast(pos)); +} + +void QScrollPrepareEvent_SetContentPosRange(void* ptr, void* rect) +{ + static_cast(ptr)->setContentPosRange(*static_cast(rect)); +} + +void QScrollPrepareEvent_SetViewportSize(void* ptr, void* size) +{ + static_cast(ptr)->setViewportSize(*static_cast(size)); +} + +void* QScrollPrepareEvent_StartPos(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->startPos(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QScrollPrepareEvent_ViewportSize(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->viewportSize(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void QScrollPrepareEvent_DestroyQScrollPrepareEvent(void* ptr) +{ + static_cast(ptr)->~QScrollPrepareEvent(); +} + +void QScrollPrepareEvent_DestroyQScrollPrepareEventDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQSessionManager: public QSessionManager +{ +public: + void childEvent(QChildEvent * event) { callbackQSessionManager_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQSessionManager_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQSessionManager_CustomEvent(this, event); }; + void deleteLater() { callbackQSessionManager_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQSessionManager_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQSessionManager_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQSessionManager_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQSessionManager_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQSessionManager_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQSessionManager_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQSessionManager_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSessionManager*) + +int QSessionManager_QSessionManager_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +char QSessionManager_AllowsErrorInteraction(void* ptr) +{ + return static_cast(ptr)->allowsErrorInteraction(); +} + +char QSessionManager_AllowsInteraction(void* ptr) +{ + return static_cast(ptr)->allowsInteraction(); +} + +void QSessionManager_Cancel(void* ptr) +{ + static_cast(ptr)->cancel(); +} + +struct QtGui_PackedString QSessionManager_DiscardCommand(void* ptr) +{ + return ({ QByteArray t7ed2e8 = static_cast(ptr)->discardCommand().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t7ed2e8.prepend("WHITESPACE").constData()+10), t7ed2e8.size()-10 }; }); +} + +char QSessionManager_IsPhase2(void* ptr) +{ + return static_cast(ptr)->isPhase2(); +} + +void QSessionManager_Release(void* ptr) +{ + static_cast(ptr)->release(); +} + +void QSessionManager_RequestPhase2(void* ptr) +{ + static_cast(ptr)->requestPhase2(); +} + +struct QtGui_PackedString QSessionManager_RestartCommand(void* ptr) +{ + return ({ QByteArray t8b3c52 = static_cast(ptr)->restartCommand().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t8b3c52.prepend("WHITESPACE").constData()+10), t8b3c52.size()-10 }; }); +} + +long long QSessionManager_RestartHint(void* ptr) +{ + return static_cast(ptr)->restartHint(); +} + +struct QtGui_PackedString QSessionManager_SessionId(void* ptr) +{ + return ({ QByteArray t8eaf8d = static_cast(ptr)->sessionId().toUtf8(); QtGui_PackedString { const_cast(t8eaf8d.prepend("WHITESPACE").constData()+10), t8eaf8d.size()-10 }; }); +} + +struct QtGui_PackedString QSessionManager_SessionKey(void* ptr) +{ + return ({ QByteArray tb1e419 = static_cast(ptr)->sessionKey().toUtf8(); QtGui_PackedString { const_cast(tb1e419.prepend("WHITESPACE").constData()+10), tb1e419.size()-10 }; }); +} + +void QSessionManager_SetDiscardCommand(void* ptr, struct QtGui_PackedString command) +{ + static_cast(ptr)->setDiscardCommand(QString::fromUtf8(command.data, command.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QSessionManager_SetManagerProperty(void* ptr, struct QtGui_PackedString name, struct QtGui_PackedString value) +{ + static_cast(ptr)->setManagerProperty(QString::fromUtf8(name.data, name.len), QString::fromUtf8(value.data, value.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QSessionManager_SetManagerProperty2(void* ptr, struct QtGui_PackedString name, struct QtGui_PackedString value) +{ + static_cast(ptr)->setManagerProperty(QString::fromUtf8(name.data, name.len), QString::fromUtf8(value.data, value.len)); +} + +void QSessionManager_SetRestartCommand(void* ptr, struct QtGui_PackedString command) +{ + static_cast(ptr)->setRestartCommand(QString::fromUtf8(command.data, command.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QSessionManager_SetRestartHint(void* ptr, long long hint) +{ + static_cast(ptr)->setRestartHint(static_cast(hint)); +} + +void* QSessionManager___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QSessionManager___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QSessionManager___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSessionManager___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSessionManager___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSessionManager___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSessionManager___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QSessionManager___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QSessionManager___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSessionManager___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QSessionManager___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QSessionManager___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSessionManager___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QSessionManager___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QSessionManager___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QSessionManager_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QSessionManager::childEvent(static_cast(event)); +} + +void QSessionManager_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QSessionManager::connectNotify(*static_cast(sign)); +} + +void QSessionManager_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QSessionManager::customEvent(static_cast(event)); +} + +void QSessionManager_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QSessionManager::deleteLater(); +} + +void QSessionManager_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QSessionManager::disconnectNotify(*static_cast(sign)); +} + +char QSessionManager_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QSessionManager::event(static_cast(e)); +} + +char QSessionManager_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QSessionManager::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QSessionManager::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QSessionManager::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QSessionManager::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QSessionManager::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QSessionManager_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QSessionManager::metaObject()); +} + +void QSessionManager_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QSessionManager::timerEvent(static_cast(event)); +} + +class MyQShortcutEvent: public QShortcutEvent +{ +public: + MyQShortcutEvent(const QKeySequence &key, int id, bool ambiguous = false) : QShortcutEvent(key, id, ambiguous) {}; + ~MyQShortcutEvent() { callbackQShortcutEvent_DestroyQShortcutEvent(this); }; +}; + +void* QShortcutEvent_NewQShortcutEvent(void* key, int id, char ambiguous) +{ + return new MyQShortcutEvent(*static_cast(key), id, ambiguous != 0); +} + +char QShortcutEvent_IsAmbiguous(void* ptr) +{ + return static_cast(ptr)->isAmbiguous(); +} + +void* QShortcutEvent_Key(void* ptr) +{ + return const_cast(&static_cast(ptr)->key()); +} + +int QShortcutEvent_ShortcutId(void* ptr) +{ + return static_cast(ptr)->shortcutId(); +} + +void QShortcutEvent_DestroyQShortcutEvent(void* ptr) +{ + static_cast(ptr)->~QShortcutEvent(); +} + +void QShortcutEvent_DestroyQShortcutEventDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQShowEvent: public QShowEvent +{ +public: + MyQShowEvent() : QShowEvent() {}; +}; + +void* QShowEvent_NewQShowEvent() +{ + return new MyQShowEvent(); +} + +class MyQStandardItem: public QStandardItem +{ +public: + MyQStandardItem() : QStandardItem() {}; + MyQStandardItem(const QString &text) : QStandardItem(text) {}; + MyQStandardItem(const QIcon &icon, const QString &text) : QStandardItem(icon, text) {}; + MyQStandardItem(int rows, int columns = 1) : QStandardItem(rows, columns) {}; + MyQStandardItem(const QStandardItem &other) : QStandardItem(other) {}; + QStandardItem * clone() const { return static_cast(callbackQStandardItem_Clone(const_cast(static_cast(this)))); }; + QVariant data(int role) const { return *static_cast(callbackQStandardItem_Data(const_cast(static_cast(this)), role)); }; + void read(QDataStream & in) { callbackQStandardItem_Read(this, static_cast(&in)); }; + void setData(const QVariant & value, int role) { callbackQStandardItem_SetData(this, const_cast(&value), role); }; + int type() const { return callbackQStandardItem_Type(const_cast(static_cast(this))); }; + void write(QDataStream & out) const { callbackQStandardItem_Write(const_cast(static_cast(this)), static_cast(&out)); }; + ~MyQStandardItem() { callbackQStandardItem_DestroyQStandardItem(this); }; +}; + +void* QStandardItem_NewQStandardItem() +{ + return new MyQStandardItem(); +} + +void* QStandardItem_NewQStandardItem2(struct QtGui_PackedString text) +{ + return new MyQStandardItem(QString::fromUtf8(text.data, text.len)); +} + +void* QStandardItem_NewQStandardItem3(void* icon, struct QtGui_PackedString text) +{ + return new MyQStandardItem(*static_cast(icon), QString::fromUtf8(text.data, text.len)); +} + +void* QStandardItem_NewQStandardItem4(int rows, int columns) +{ + return new MyQStandardItem(rows, columns); +} + +void* QStandardItem_NewQStandardItem5(void* other) +{ + return new MyQStandardItem(*static_cast(other)); +} + +struct QtGui_PackedString QStandardItem_AccessibleDescription(void* ptr) +{ + return ({ QByteArray t03d242 = static_cast(ptr)->accessibleDescription().toUtf8(); QtGui_PackedString { const_cast(t03d242.prepend("WHITESPACE").constData()+10), t03d242.size()-10 }; }); +} + +struct QtGui_PackedString QStandardItem_AccessibleText(void* ptr) +{ + return ({ QByteArray t3ec2e5 = static_cast(ptr)->accessibleText().toUtf8(); QtGui_PackedString { const_cast(t3ec2e5.prepend("WHITESPACE").constData()+10), t3ec2e5.size()-10 }; }); +} + +void QStandardItem_AppendColumn(void* ptr, void* items) +{ + static_cast(ptr)->appendColumn(*static_cast*>(items)); +} + +void QStandardItem_AppendRow(void* ptr, void* items) +{ + static_cast(ptr)->appendRow(*static_cast*>(items)); +} + +void QStandardItem_AppendRow2(void* ptr, void* item) +{ + static_cast(ptr)->appendRow(static_cast(item)); +} + +void QStandardItem_AppendRows(void* ptr, void* items) +{ + static_cast(ptr)->appendRows(*static_cast*>(items)); +} + +void* QStandardItem_Background(void* ptr) +{ + return new QBrush(static_cast(ptr)->background()); +} + +long long QStandardItem_CheckState(void* ptr) +{ + return static_cast(ptr)->checkState(); +} + +void* QStandardItem_Child(void* ptr, int row, int column) +{ + return static_cast(ptr)->child(row, column); +} + +void QStandardItem_ClearData(void* ptr) +{ + static_cast(ptr)->clearData(); +} + +void* QStandardItem_Clone(void* ptr) +{ + return static_cast(ptr)->clone(); +} + +void* QStandardItem_CloneDefault(void* ptr) +{ + return static_cast(ptr)->QStandardItem::clone(); +} + +int QStandardItem_Column(void* ptr) +{ + return static_cast(ptr)->column(); +} + +int QStandardItem_ColumnCount(void* ptr) +{ + return static_cast(ptr)->columnCount(); +} + +void* QStandardItem_Data(void* ptr, int role) +{ + return new QVariant(static_cast(ptr)->data(role)); +} + +void* QStandardItem_DataDefault(void* ptr, int role) +{ + return new QVariant(static_cast(ptr)->QStandardItem::data(role)); +} + +void QStandardItem_EmitDataChanged(void* ptr) +{ + static_cast(ptr)->emitDataChanged(); +} + +long long QStandardItem_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +void* QStandardItem_Font(void* ptr) +{ + return new QFont(static_cast(ptr)->font()); +} + +void* QStandardItem_Foreground(void* ptr) +{ + return new QBrush(static_cast(ptr)->foreground()); +} + +char QStandardItem_HasChildren(void* ptr) +{ + return static_cast(ptr)->hasChildren(); +} + +void* QStandardItem_Icon(void* ptr) +{ + return new QIcon(static_cast(ptr)->icon()); +} + +void* QStandardItem_Index(void* ptr) +{ + return new QModelIndex(static_cast(ptr)->index()); +} + +void QStandardItem_InsertColumn(void* ptr, int column, void* items) +{ + static_cast(ptr)->insertColumn(column, *static_cast*>(items)); +} + +void QStandardItem_InsertColumns(void* ptr, int column, int count) +{ + static_cast(ptr)->insertColumns(column, count); +} + +void QStandardItem_InsertRow(void* ptr, int row, void* items) +{ + static_cast(ptr)->insertRow(row, *static_cast*>(items)); +} + +void QStandardItem_InsertRow2(void* ptr, int row, void* item) +{ + static_cast(ptr)->insertRow(row, static_cast(item)); +} + +void QStandardItem_InsertRows(void* ptr, int row, void* items) +{ + static_cast(ptr)->insertRows(row, *static_cast*>(items)); +} + +void QStandardItem_InsertRows2(void* ptr, int row, int count) +{ + static_cast(ptr)->insertRows(row, count); +} + +char QStandardItem_IsAutoTristate(void* ptr) +{ + return static_cast(ptr)->isAutoTristate(); +} + +char QStandardItem_IsCheckable(void* ptr) +{ + return static_cast(ptr)->isCheckable(); +} + +char QStandardItem_IsDragEnabled(void* ptr) +{ + return static_cast(ptr)->isDragEnabled(); +} + +char QStandardItem_IsDropEnabled(void* ptr) +{ + return static_cast(ptr)->isDropEnabled(); +} + +char QStandardItem_IsEditable(void* ptr) +{ + return static_cast(ptr)->isEditable(); +} + +char QStandardItem_IsEnabled(void* ptr) +{ + return static_cast(ptr)->isEnabled(); +} + +char QStandardItem_IsSelectable(void* ptr) +{ + return static_cast(ptr)->isSelectable(); +} + +char QStandardItem_IsUserTristate(void* ptr) +{ + return static_cast(ptr)->isUserTristate(); +} + +void* QStandardItem_Model(void* ptr) +{ + return static_cast(ptr)->model(); +} + +void* QStandardItem_Parent(void* ptr) +{ + return static_cast(ptr)->parent(); +} + +void QStandardItem_Read(void* ptr, void* in) +{ + static_cast(ptr)->read(*static_cast(in)); +} + +void QStandardItem_ReadDefault(void* ptr, void* in) +{ + static_cast(ptr)->QStandardItem::read(*static_cast(in)); +} + +void QStandardItem_RemoveColumn(void* ptr, int column) +{ + static_cast(ptr)->removeColumn(column); +} + +void QStandardItem_RemoveColumns(void* ptr, int column, int count) +{ + static_cast(ptr)->removeColumns(column, count); +} + +void QStandardItem_RemoveRow(void* ptr, int row) +{ + static_cast(ptr)->removeRow(row); +} + +void QStandardItem_RemoveRows(void* ptr, int row, int count) +{ + static_cast(ptr)->removeRows(row, count); +} + +int QStandardItem_Row(void* ptr) +{ + return static_cast(ptr)->row(); +} + +int QStandardItem_RowCount(void* ptr) +{ + return static_cast(ptr)->rowCount(); +} + +void QStandardItem_SetAccessibleDescription(void* ptr, struct QtGui_PackedString accessibleDescription) +{ + static_cast(ptr)->setAccessibleDescription(QString::fromUtf8(accessibleDescription.data, accessibleDescription.len)); +} + +void QStandardItem_SetAccessibleText(void* ptr, struct QtGui_PackedString accessibleText) +{ + static_cast(ptr)->setAccessibleText(QString::fromUtf8(accessibleText.data, accessibleText.len)); +} + +void QStandardItem_SetAutoTristate(void* ptr, char tristate) +{ + static_cast(ptr)->setAutoTristate(tristate != 0); +} + +void QStandardItem_SetBackground(void* ptr, void* brush) +{ + static_cast(ptr)->setBackground(*static_cast(brush)); +} + +void QStandardItem_SetCheckState(void* ptr, long long state) +{ + static_cast(ptr)->setCheckState(static_cast(state)); +} + +void QStandardItem_SetCheckable(void* ptr, char checkable) +{ + static_cast(ptr)->setCheckable(checkable != 0); +} + +void QStandardItem_SetChild(void* ptr, int row, int column, void* item) +{ + static_cast(ptr)->setChild(row, column, static_cast(item)); +} + +void QStandardItem_SetChild2(void* ptr, int row, void* item) +{ + static_cast(ptr)->setChild(row, static_cast(item)); +} + +void QStandardItem_SetColumnCount(void* ptr, int columns) +{ + static_cast(ptr)->setColumnCount(columns); +} + +void QStandardItem_SetData(void* ptr, void* value, int role) +{ + static_cast(ptr)->setData(*static_cast(value), role); +} + +void QStandardItem_SetDataDefault(void* ptr, void* value, int role) +{ + static_cast(ptr)->QStandardItem::setData(*static_cast(value), role); +} + +void QStandardItem_SetDragEnabled(void* ptr, char dragEnabled) +{ + static_cast(ptr)->setDragEnabled(dragEnabled != 0); +} + +void QStandardItem_SetDropEnabled(void* ptr, char dropEnabled) +{ + static_cast(ptr)->setDropEnabled(dropEnabled != 0); +} + +void QStandardItem_SetEditable(void* ptr, char editable) +{ + static_cast(ptr)->setEditable(editable != 0); +} + +void QStandardItem_SetEnabled(void* ptr, char enabled) +{ + static_cast(ptr)->setEnabled(enabled != 0); +} + +void QStandardItem_SetFlags(void* ptr, long long flags) +{ + static_cast(ptr)->setFlags(static_cast(flags)); +} + +void QStandardItem_SetFont(void* ptr, void* font) +{ + static_cast(ptr)->setFont(*static_cast(font)); +} + +void QStandardItem_SetForeground(void* ptr, void* brush) +{ + static_cast(ptr)->setForeground(*static_cast(brush)); +} + +void QStandardItem_SetIcon(void* ptr, void* icon) +{ + static_cast(ptr)->setIcon(*static_cast(icon)); +} + +void QStandardItem_SetRowCount(void* ptr, int rows) +{ + static_cast(ptr)->setRowCount(rows); +} + +void QStandardItem_SetSelectable(void* ptr, char selectable) +{ + static_cast(ptr)->setSelectable(selectable != 0); +} + +void QStandardItem_SetSizeHint(void* ptr, void* size) +{ + static_cast(ptr)->setSizeHint(*static_cast(size)); +} + +void QStandardItem_SetStatusTip(void* ptr, struct QtGui_PackedString statusTip) +{ + static_cast(ptr)->setStatusTip(QString::fromUtf8(statusTip.data, statusTip.len)); +} + +void QStandardItem_SetText(void* ptr, struct QtGui_PackedString text) +{ + static_cast(ptr)->setText(QString::fromUtf8(text.data, text.len)); +} + +void QStandardItem_SetTextAlignment(void* ptr, long long alignment) +{ + static_cast(ptr)->setTextAlignment(static_cast(alignment)); +} + +void QStandardItem_SetToolTip(void* ptr, struct QtGui_PackedString toolTip) +{ + static_cast(ptr)->setToolTip(QString::fromUtf8(toolTip.data, toolTip.len)); +} + +void QStandardItem_SetUserTristate(void* ptr, char tristate) +{ + static_cast(ptr)->setUserTristate(tristate != 0); +} + +void QStandardItem_SetWhatsThis(void* ptr, struct QtGui_PackedString whatsThis) +{ + static_cast(ptr)->setWhatsThis(QString::fromUtf8(whatsThis.data, whatsThis.len)); +} + +void* QStandardItem_SizeHint(void* ptr) +{ + return ({ QSize tmpValue = static_cast(ptr)->sizeHint(); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +void QStandardItem_SortChildren(void* ptr, int column, long long order) +{ + static_cast(ptr)->sortChildren(column, static_cast(order)); +} + +struct QtGui_PackedString QStandardItem_StatusTip(void* ptr) +{ + return ({ QByteArray t534fca = static_cast(ptr)->statusTip().toUtf8(); QtGui_PackedString { const_cast(t534fca.prepend("WHITESPACE").constData()+10), t534fca.size()-10 }; }); +} + +void* QStandardItem_TakeChild(void* ptr, int row, int column) +{ + return static_cast(ptr)->takeChild(row, column); +} + +struct QtGui_PackedList QStandardItem_TakeColumn(void* ptr, int column) +{ + return ({ QList* tmpValue1c492f = new QList(static_cast(ptr)->takeColumn(column)); QtGui_PackedList { tmpValue1c492f, tmpValue1c492f->size() }; }); +} + +struct QtGui_PackedList QStandardItem_TakeRow(void* ptr, int row) +{ + return ({ QList* tmpValue58484c = new QList(static_cast(ptr)->takeRow(row)); QtGui_PackedList { tmpValue58484c, tmpValue58484c->size() }; }); +} + +struct QtGui_PackedString QStandardItem_Text(void* ptr) +{ + return ({ QByteArray t847a7a = static_cast(ptr)->text().toUtf8(); QtGui_PackedString { const_cast(t847a7a.prepend("WHITESPACE").constData()+10), t847a7a.size()-10 }; }); +} + +long long QStandardItem_TextAlignment(void* ptr) +{ + return static_cast(ptr)->textAlignment(); +} + +struct QtGui_PackedString QStandardItem_ToolTip(void* ptr) +{ + return ({ QByteArray t938860 = static_cast(ptr)->toolTip().toUtf8(); QtGui_PackedString { const_cast(t938860.prepend("WHITESPACE").constData()+10), t938860.size()-10 }; }); +} + +int QStandardItem_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +int QStandardItem_TypeDefault(void* ptr) +{ + return static_cast(ptr)->QStandardItem::type(); +} + +struct QtGui_PackedString QStandardItem_WhatsThis(void* ptr) +{ + return ({ QByteArray taa28dd = static_cast(ptr)->whatsThis().toUtf8(); QtGui_PackedString { const_cast(taa28dd.prepend("WHITESPACE").constData()+10), taa28dd.size()-10 }; }); +} + +void QStandardItem_Write(void* ptr, void* out) +{ + static_cast(ptr)->write(*static_cast(out)); +} + +void QStandardItem_WriteDefault(void* ptr, void* out) +{ + static_cast(ptr)->QStandardItem::write(*static_cast(out)); +} + +void QStandardItem_DestroyQStandardItem(void* ptr) +{ + static_cast(ptr)->~QStandardItem(); +} + +void QStandardItem_DestroyQStandardItemDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QStandardItem___appendColumn_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItem___appendColumn_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItem___appendColumn_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItem___appendRow_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItem___appendRow_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItem___appendRow_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItem___appendRows_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItem___appendRows_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItem___appendRows_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItem___insertColumn_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItem___insertColumn_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItem___insertColumn_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItem___insertRow_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItem___insertRow_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItem___insertRow_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItem___insertRows_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItem___insertRows_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItem___insertRows_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItem___takeColumn_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItem___takeColumn_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItem___takeColumn_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItem___takeRow_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItem___takeRow_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItem___takeRow_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQStandardItemModel: public QStandardItemModel +{ +public: + MyQStandardItemModel(QObject *parent = Q_NULLPTR) : QStandardItemModel(parent) {QStandardItemModel_QStandardItemModel_QRegisterMetaType();}; + MyQStandardItemModel(int rows, int columns, QObject *parent = Q_NULLPTR) : QStandardItemModel(rows, columns, parent) {QStandardItemModel_QStandardItemModel_QRegisterMetaType();}; + int columnCount(const QModelIndex & parent) const { return callbackQStandardItemModel_ColumnCount(const_cast(static_cast(this)), const_cast(&parent)); }; + QVariant data(const QModelIndex & index, int role) const { return *static_cast(callbackQStandardItemModel_Data(const_cast(static_cast(this)), const_cast(&index), role)); }; + bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) { return callbackQStandardItemModel_DropMimeData(this, const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + Qt::ItemFlags flags(const QModelIndex & index) const { return static_cast(callbackQStandardItemModel_Flags(const_cast(static_cast(this)), const_cast(&index))); }; + bool hasChildren(const QModelIndex & parent) const { return callbackQStandardItemModel_HasChildren(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + QVariant headerData(int section, Qt::Orientation orientation, int role) const { return *static_cast(callbackQStandardItemModel_HeaderData(const_cast(static_cast(this)), section, orientation, role)); }; + QModelIndex index(int row, int column, const QModelIndex & parent) const { return *static_cast(callbackQStandardItemModel_Index(const_cast(static_cast(this)), row, column, const_cast(&parent))); }; + bool insertColumns(int column, int count, const QModelIndex & parent) { return callbackQStandardItemModel_InsertColumns(this, column, count, const_cast(&parent)) != 0; }; + bool insertRows(int row, int count, const QModelIndex & parent) { return callbackQStandardItemModel_InsertRows(this, row, count, const_cast(&parent)) != 0; }; + void Signal_ItemChanged(QStandardItem * item) { callbackQStandardItemModel_ItemChanged(this, item); }; + QMap itemData(const QModelIndex & index) const { return ({ QMap* tmpP = static_cast*>(callbackQStandardItemModel_ItemData(const_cast(static_cast(this)), const_cast(&index))); QMap tmpV = *tmpP; tmpP->~QMap(); free(tmpP); tmpV; }); }; + QMimeData * mimeData(const QModelIndexList & indexes) const { return static_cast(callbackQStandardItemModel_MimeData(const_cast(static_cast(this)), ({ QList* tmpValuee0adf2 = new QList(indexes); QtGui_PackedList { tmpValuee0adf2, tmpValuee0adf2->size() }; }))); }; + QStringList mimeTypes() const { return ({ QtGui_PackedString tempVal = callbackQStandardItemModel_MimeTypes(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + QModelIndex parent(const QModelIndex & child) const { return *static_cast(callbackQStandardItemModel_Parent(const_cast(static_cast(this)), const_cast(&child))); }; + bool removeColumns(int column, int count, const QModelIndex & parent) { return callbackQStandardItemModel_RemoveColumns(this, column, count, const_cast(&parent)) != 0; }; + bool removeRows(int row, int count, const QModelIndex & parent) { return callbackQStandardItemModel_RemoveRows(this, row, count, const_cast(&parent)) != 0; }; + int rowCount(const QModelIndex & parent) const { return callbackQStandardItemModel_RowCount(const_cast(static_cast(this)), const_cast(&parent)); }; + bool setData(const QModelIndex & index, const QVariant & value, int role) { return callbackQStandardItemModel_SetData(this, const_cast(&index), const_cast(&value), role) != 0; }; + bool setHeaderData(int section, Qt::Orientation orientation, const QVariant & value, int role) { return callbackQStandardItemModel_SetHeaderData(this, section, orientation, const_cast(&value), role) != 0; }; + bool setItemData(const QModelIndex & index, const QMap & roles) { return callbackQStandardItemModel_SetItemData(this, const_cast(&index), ({ QMap* tmpValue037c88 = new QMap(roles); QtGui_PackedList { tmpValue037c88, tmpValue037c88->size() }; })) != 0; }; + QModelIndex sibling(int row, int column, const QModelIndex & idx) const { return *static_cast(callbackQStandardItemModel_Sibling(const_cast(static_cast(this)), row, column, const_cast(&idx))); }; + void sort(int column, Qt::SortOrder order) { callbackQStandardItemModel_Sort(this, column, order); }; + Qt::DropActions supportedDropActions() const { return static_cast(callbackQStandardItemModel_SupportedDropActions(const_cast(static_cast(this)))); }; + ~MyQStandardItemModel() { callbackQStandardItemModel_DestroyQStandardItemModel(this); }; + QModelIndex buddy(const QModelIndex & index) const { return *static_cast(callbackQStandardItemModel_Buddy(const_cast(static_cast(this)), const_cast(&index))); }; + bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const { return callbackQStandardItemModel_CanDropMimeData(const_cast(static_cast(this)), const_cast(data), action, row, column, const_cast(&parent)) != 0; }; + bool canFetchMore(const QModelIndex & parent) const { return callbackQStandardItemModel_CanFetchMore(const_cast(static_cast(this)), const_cast(&parent)) != 0; }; + void Signal_ColumnsAboutToBeInserted(const QModelIndex & parent, int first, int last) { callbackQStandardItemModel_ColumnsAboutToBeInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationColumn) { callbackQStandardItemModel_ColumnsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationColumn); }; + void Signal_ColumnsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQStandardItemModel_ColumnsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_ColumnsInserted(const QModelIndex & parent, int first, int last) { callbackQStandardItemModel_ColumnsInserted(this, const_cast(&parent), first, last); }; + void Signal_ColumnsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int column) { callbackQStandardItemModel_ColumnsMoved(this, const_cast(&parent), start, end, const_cast(&destination), column); }; + void Signal_ColumnsRemoved(const QModelIndex & parent, int first, int last) { callbackQStandardItemModel_ColumnsRemoved(this, const_cast(&parent), first, last); }; + void Signal_DataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector & roles) { callbackQStandardItemModel_DataChanged(this, const_cast(&topLeft), const_cast(&bottomRight), ({ QVector* tmpValue037c88 = new QVector(roles); QtGui_PackedList { tmpValue037c88, tmpValue037c88->size() }; })); }; + void fetchMore(const QModelIndex & parent) { callbackQStandardItemModel_FetchMore(this, const_cast(&parent)); }; + void Signal_HeaderDataChanged(Qt::Orientation orientation, int first, int last) { callbackQStandardItemModel_HeaderDataChanged(this, orientation, first, last); }; + void Signal_LayoutAboutToBeChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQStandardItemModel_LayoutAboutToBeChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtGui_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + void Signal_LayoutChanged(const QList & parents, QAbstractItemModel::LayoutChangeHint hint) { callbackQStandardItemModel_LayoutChanged(this, ({ QList* tmpValuea664f1 = new QList(parents); QtGui_PackedList { tmpValuea664f1, tmpValuea664f1->size() }; }), hint); }; + QList match(const QModelIndex & start, int role, const QVariant & value, int hits, Qt::MatchFlags flags) const { return ({ QList* tmpP = static_cast*>(callbackQStandardItemModel_Match(const_cast(static_cast(this)), const_cast(&start), role, const_cast(&value), hits, flags)); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + void Signal_ModelAboutToBeReset() { callbackQStandardItemModel_ModelAboutToBeReset(this); }; + void Signal_ModelReset() { callbackQStandardItemModel_ModelReset(this); }; + bool moveColumns(const QModelIndex & sourceParent, int sourceColumn, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQStandardItemModel_MoveColumns(this, const_cast(&sourceParent), sourceColumn, count, const_cast(&destinationParent), destinationChild) != 0; }; + bool moveRows(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) { return callbackQStandardItemModel_MoveRows(this, const_cast(&sourceParent), sourceRow, count, const_cast(&destinationParent), destinationChild) != 0; }; + void resetInternalData() { callbackQStandardItemModel_ResetInternalData(this); }; + void revert() { callbackQStandardItemModel_Revert(this); }; + QHash roleNames() const { return ({ QHash* tmpP = static_cast*>(callbackQStandardItemModel_RoleNames(const_cast(static_cast(this)))); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; }); }; + void Signal_RowsAboutToBeInserted(const QModelIndex & parent, int start, int end) { callbackQStandardItemModel_RowsAboutToBeInserted(this, const_cast(&parent), start, end); }; + void Signal_RowsAboutToBeMoved(const QModelIndex & sourceParent, int sourceStart, int sourceEnd, const QModelIndex & destinationParent, int destinationRow) { callbackQStandardItemModel_RowsAboutToBeMoved(this, const_cast(&sourceParent), sourceStart, sourceEnd, const_cast(&destinationParent), destinationRow); }; + void Signal_RowsAboutToBeRemoved(const QModelIndex & parent, int first, int last) { callbackQStandardItemModel_RowsAboutToBeRemoved(this, const_cast(&parent), first, last); }; + void Signal_RowsInserted(const QModelIndex & parent, int first, int last) { callbackQStandardItemModel_RowsInserted(this, const_cast(&parent), first, last); }; + void Signal_RowsMoved(const QModelIndex & parent, int start, int end, const QModelIndex & destination, int row) { callbackQStandardItemModel_RowsMoved(this, const_cast(&parent), start, end, const_cast(&destination), row); }; + void Signal_RowsRemoved(const QModelIndex & parent, int first, int last) { callbackQStandardItemModel_RowsRemoved(this, const_cast(&parent), first, last); }; + QSize span(const QModelIndex & index) const { return *static_cast(callbackQStandardItemModel_Span(const_cast(static_cast(this)), const_cast(&index))); }; + bool submit() { return callbackQStandardItemModel_Submit(this) != 0; }; + Qt::DropActions supportedDragActions() const { return static_cast(callbackQStandardItemModel_SupportedDragActions(const_cast(static_cast(this)))); }; + void childEvent(QChildEvent * event) { callbackQStandardItemModel_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQStandardItemModel_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQStandardItemModel_CustomEvent(this, event); }; + void deleteLater() { callbackQStandardItemModel_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQStandardItemModel_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQStandardItemModel_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQStandardItemModel_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQStandardItemModel_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQStandardItemModel_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQStandardItemModel_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQStandardItemModel_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQStandardItemModel*) + +int QStandardItemModel_QStandardItemModel_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QStandardItemModel_NewQStandardItemModel(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(static_cast(parent)); + } else { + return new MyQStandardItemModel(static_cast(parent)); + } +} + +void* QStandardItemModel_NewQStandardItemModel2(int rows, int columns, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } else { + return new MyQStandardItemModel(rows, columns, static_cast(parent)); + } +} + +void QStandardItemModel_AppendColumn(void* ptr, void* items) +{ + static_cast(ptr)->appendColumn(*static_cast*>(items)); +} + +void QStandardItemModel_AppendRow(void* ptr, void* items) +{ + static_cast(ptr)->appendRow(*static_cast*>(items)); +} + +void QStandardItemModel_AppendRow2(void* ptr, void* item) +{ + static_cast(ptr)->appendRow(static_cast(item)); +} + +void QStandardItemModel_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +char QStandardItemModel_ClearItemData(void* ptr, void* index) +{ + return static_cast(ptr)->clearItemData(*static_cast(index)); +} + +int QStandardItemModel_ColumnCount(void* ptr, void* parent) +{ + return static_cast(ptr)->columnCount(*static_cast(parent)); +} + +int QStandardItemModel_ColumnCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::columnCount(*static_cast(parent)); +} + +void* QStandardItemModel_Data(void* ptr, void* index, int role) +{ + return new QVariant(static_cast(ptr)->data(*static_cast(index), role)); +} + +void* QStandardItemModel_DataDefault(void* ptr, void* index, int role) +{ + return new QVariant(static_cast(ptr)->QStandardItemModel::data(*static_cast(index), role)); +} + +char QStandardItemModel_DropMimeDataDefault(void* ptr, void* data, long long action, int row, int column, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::dropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); +} + +struct QtGui_PackedList QStandardItemModel_FindItems(void* ptr, struct QtGui_PackedString text, long long flags, int column) +{ + return ({ QList* tmpValue345f6e = new QList(static_cast(ptr)->findItems(QString::fromUtf8(text.data, text.len), static_cast(flags), column)); QtGui_PackedList { tmpValue345f6e, tmpValue345f6e->size() }; }); +} + +long long QStandardItemModel_FlagsDefault(void* ptr, void* index) +{ + return static_cast(ptr)->QStandardItemModel::flags(*static_cast(index)); +} + +char QStandardItemModel_HasChildrenDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::hasChildren(*static_cast(parent)); +} + +void* QStandardItemModel_HeaderDataDefault(void* ptr, int section, long long orientation, int role) +{ + return new QVariant(static_cast(ptr)->QStandardItemModel::headerData(section, static_cast(orientation), role)); +} + +void* QStandardItemModel_HorizontalHeaderItem(void* ptr, int column) +{ + return static_cast(ptr)->horizontalHeaderItem(column); +} + +void* QStandardItemModel_Index(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->index(row, column, *static_cast(parent))); +} + +void* QStandardItemModel_IndexDefault(void* ptr, int row, int column, void* parent) +{ + return new QModelIndex(static_cast(ptr)->QStandardItemModel::index(row, column, *static_cast(parent))); +} + +void* QStandardItemModel_IndexFromItem(void* ptr, void* item) +{ + return new QModelIndex(static_cast(ptr)->indexFromItem(static_cast(item))); +} + +void QStandardItemModel_InsertColumn(void* ptr, int column, void* items) +{ + static_cast(ptr)->insertColumn(column, *static_cast*>(items)); +} + +char QStandardItemModel_InsertColumnsDefault(void* ptr, int column, int count, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::insertColumns(column, count, *static_cast(parent)); +} + +void QStandardItemModel_InsertRow(void* ptr, int row, void* items) +{ + static_cast(ptr)->insertRow(row, *static_cast*>(items)); +} + +void QStandardItemModel_InsertRow2(void* ptr, int row, void* item) +{ + static_cast(ptr)->insertRow(row, static_cast(item)); +} + +char QStandardItemModel_InsertRowsDefault(void* ptr, int row, int count, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::insertRows(row, count, *static_cast(parent)); +} + +void* QStandardItemModel_InvisibleRootItem(void* ptr) +{ + return static_cast(ptr)->invisibleRootItem(); +} + +void* QStandardItemModel_Item(void* ptr, int row, int column) +{ + return static_cast(ptr)->item(row, column); +} + +void QStandardItemModel_ConnectItemChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStandardItemModel::itemChanged), static_cast(ptr), static_cast(&MyQStandardItemModel::Signal_ItemChanged), static_cast(t)); +} + +void QStandardItemModel_DisconnectItemChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStandardItemModel::itemChanged), static_cast(ptr), static_cast(&MyQStandardItemModel::Signal_ItemChanged)); +} + +void QStandardItemModel_ItemChanged(void* ptr, void* item) +{ + static_cast(ptr)->itemChanged(static_cast(item)); +} + +struct QtGui_PackedList QStandardItemModel_ItemDataDefault(void* ptr, void* index) +{ + return ({ QMap* tmpValuea1d4ef = new QMap(static_cast(ptr)->QStandardItemModel::itemData(*static_cast(index))); QtGui_PackedList { tmpValuea1d4ef, tmpValuea1d4ef->size() }; }); +} + +void* QStandardItemModel_ItemFromIndex(void* ptr, void* index) +{ + return static_cast(ptr)->itemFromIndex(*static_cast(index)); +} + +void* QStandardItemModel_ItemPrototype(void* ptr) +{ + return const_cast(static_cast(ptr)->itemPrototype()); +} + +void* QStandardItemModel_MimeDataDefault(void* ptr, void* indexes) +{ + return static_cast(ptr)->QStandardItemModel::mimeData(({ QList* tmpP = static_cast*>(indexes); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); +} + +struct QtGui_PackedString QStandardItemModel_MimeTypesDefault(void* ptr) +{ + return ({ QByteArray t83a37d = static_cast(ptr)->QStandardItemModel::mimeTypes().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t83a37d.prepend("WHITESPACE").constData()+10), t83a37d.size()-10 }; }); +} + +void* QStandardItemModel_Parent(void* ptr, void* child) +{ + return new QModelIndex(static_cast(ptr)->parent(*static_cast(child))); +} + +void* QStandardItemModel_ParentDefault(void* ptr, void* child) +{ + return new QModelIndex(static_cast(ptr)->QStandardItemModel::parent(*static_cast(child))); +} + +char QStandardItemModel_RemoveColumnsDefault(void* ptr, int column, int count, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::removeColumns(column, count, *static_cast(parent)); +} + +char QStandardItemModel_RemoveRowsDefault(void* ptr, int row, int count, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::removeRows(row, count, *static_cast(parent)); +} + +int QStandardItemModel_RowCount(void* ptr, void* parent) +{ + return static_cast(ptr)->rowCount(*static_cast(parent)); +} + +int QStandardItemModel_RowCountDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::rowCount(*static_cast(parent)); +} + +void QStandardItemModel_SetColumnCount(void* ptr, int columns) +{ + static_cast(ptr)->setColumnCount(columns); +} + +char QStandardItemModel_SetDataDefault(void* ptr, void* index, void* value, int role) +{ + return static_cast(ptr)->QStandardItemModel::setData(*static_cast(index), *static_cast(value), role); +} + +char QStandardItemModel_SetHeaderDataDefault(void* ptr, int section, long long orientation, void* value, int role) +{ + return static_cast(ptr)->QStandardItemModel::setHeaderData(section, static_cast(orientation), *static_cast(value), role); +} + +void QStandardItemModel_SetHorizontalHeaderItem(void* ptr, int column, void* item) +{ + static_cast(ptr)->setHorizontalHeaderItem(column, static_cast(item)); +} + +void QStandardItemModel_SetHorizontalHeaderLabels(void* ptr, struct QtGui_PackedString labels) +{ + static_cast(ptr)->setHorizontalHeaderLabels(QString::fromUtf8(labels.data, labels.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QStandardItemModel_SetItem(void* ptr, int row, int column, void* item) +{ + static_cast(ptr)->setItem(row, column, static_cast(item)); +} + +void QStandardItemModel_SetItem2(void* ptr, int row, void* item) +{ + static_cast(ptr)->setItem(row, static_cast(item)); +} + +char QStandardItemModel_SetItemDataDefault(void* ptr, void* index, void* roles) +{ + return static_cast(ptr)->QStandardItemModel::setItemData(*static_cast(index), *static_cast*>(roles)); +} + +void QStandardItemModel_SetItemPrototype(void* ptr, void* item) +{ + static_cast(ptr)->setItemPrototype(static_cast(item)); +} + +void QStandardItemModel_SetItemRoleNames(void* ptr, void* roleNames) +{ + static_cast(ptr)->setItemRoleNames(*static_cast*>(roleNames)); +} + +void QStandardItemModel_SetRowCount(void* ptr, int rows) +{ + static_cast(ptr)->setRowCount(rows); +} + +void QStandardItemModel_SetSortRole(void* ptr, int role) +{ + static_cast(ptr)->setSortRole(role); +} + +void QStandardItemModel_SetVerticalHeaderItem(void* ptr, int row, void* item) +{ + static_cast(ptr)->setVerticalHeaderItem(row, static_cast(item)); +} + +void QStandardItemModel_SetVerticalHeaderLabels(void* ptr, struct QtGui_PackedString labels) +{ + static_cast(ptr)->setVerticalHeaderLabels(QString::fromUtf8(labels.data, labels.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void* QStandardItemModel_SiblingDefault(void* ptr, int row, int column, void* idx) +{ + return new QModelIndex(static_cast(ptr)->QStandardItemModel::sibling(row, column, *static_cast(idx))); +} + +void QStandardItemModel_SortDefault(void* ptr, int column, long long order) +{ + static_cast(ptr)->QStandardItemModel::sort(column, static_cast(order)); +} + +int QStandardItemModel_SortRole(void* ptr) +{ + return static_cast(ptr)->sortRole(); +} + +long long QStandardItemModel_SupportedDropActionsDefault(void* ptr) +{ + return static_cast(ptr)->QStandardItemModel::supportedDropActions(); +} + +struct QtGui_PackedList QStandardItemModel_TakeColumn(void* ptr, int column) +{ + return ({ QList* tmpValuecf2c85 = new QList(static_cast(ptr)->takeColumn(column)); QtGui_PackedList { tmpValuecf2c85, tmpValuecf2c85->size() }; }); +} + +void* QStandardItemModel_TakeHorizontalHeaderItem(void* ptr, int column) +{ + return static_cast(ptr)->takeHorizontalHeaderItem(column); +} + +void* QStandardItemModel_TakeItem(void* ptr, int row, int column) +{ + return static_cast(ptr)->takeItem(row, column); +} + +struct QtGui_PackedList QStandardItemModel_TakeRow(void* ptr, int row) +{ + return ({ QList* tmpValue064593 = new QList(static_cast(ptr)->takeRow(row)); QtGui_PackedList { tmpValue064593, tmpValue064593->size() }; }); +} + +void* QStandardItemModel_TakeVerticalHeaderItem(void* ptr, int row) +{ + return static_cast(ptr)->takeVerticalHeaderItem(row); +} + +void* QStandardItemModel_VerticalHeaderItem(void* ptr, int row) +{ + return static_cast(ptr)->verticalHeaderItem(row); +} + +void QStandardItemModel_DestroyQStandardItemModel(void* ptr) +{ + static_cast(ptr)->~QStandardItemModel(); +} + +void QStandardItemModel_DestroyQStandardItemModelDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QStandardItemModel___appendColumn_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___appendColumn_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItemModel___appendColumn_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___appendRow_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___appendRow_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItemModel___appendRow_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___findItems_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___findItems_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItemModel___findItems_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___insertColumn_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___insertColumn_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItemModel___insertColumn_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___insertRow_items_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___insertRow_items_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItemModel___insertRow_items_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___itemData_atList(void* ptr, int v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___itemData_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QStandardItemModel___itemData_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtGui_PackedList QStandardItemModel___itemData_keyList(void* ptr) +{ + return ({ QList* tmpValue249128 = new QList(static_cast*>(ptr)->keys()); QtGui_PackedList { tmpValue249128, tmpValue249128->size() }; }); +} + +void* QStandardItemModel___mimeData_indexes_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___mimeData_indexes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStandardItemModel___mimeData_indexes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___setItemData_roles_atList(void* ptr, int v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___setItemData_roles_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QStandardItemModel___setItemData_roles_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtGui_PackedList QStandardItemModel___setItemData_roles_keyList(void* ptr) +{ + return ({ QList* tmpValue249128 = new QList(static_cast*>(ptr)->keys()); QtGui_PackedList { tmpValue249128, tmpValue249128->size() }; }); +} + +void* QStandardItemModel___setItemRoleNames_roleNames_atList(void* ptr, int v, int i) +{ + return new QByteArray(({ QByteArray tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___setItemRoleNames_roleNames_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QStandardItemModel___setItemRoleNames_roleNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtGui_PackedList QStandardItemModel___setItemRoleNames_roleNames_keyList(void* ptr) +{ + return ({ QList* tmpValue7fc3bb = new QList(static_cast*>(ptr)->keys()); QtGui_PackedList { tmpValue7fc3bb, tmpValue7fc3bb->size() }; }); +} + +void* QStandardItemModel___takeColumn_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___takeColumn_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItemModel___takeColumn_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___takeRow_atList(void* ptr, int i) +{ + return ({QStandardItem * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___takeRow_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QStandardItemModel___takeRow_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QStandardItemModel_____itemData_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel_____itemData_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStandardItemModel_____itemData_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QStandardItemModel_____setItemData_roles_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel_____setItemData_roles_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStandardItemModel_____setItemData_roles_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QStandardItemModel_____setItemRoleNames_roleNames_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel_____setItemRoleNames_roleNames_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStandardItemModel_____setItemRoleNames_roleNames_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___changePersistentIndexList_from_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___changePersistentIndexList_from_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStandardItemModel___changePersistentIndexList_from_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___changePersistentIndexList_to_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___changePersistentIndexList_to_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStandardItemModel___changePersistentIndexList_to_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QStandardItemModel___dataChanged_roles_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___dataChanged_roles_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStandardItemModel___dataChanged_roles_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QStandardItemModel___layoutAboutToBeChanged_parents_atList(void* ptr, int i) +{ + return new QPersistentModelIndex(({QPersistentModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___layoutAboutToBeChanged_parents_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStandardItemModel___layoutAboutToBeChanged_parents_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___layoutChanged_parents_atList(void* ptr, int i) +{ + return new QPersistentModelIndex(({QPersistentModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___layoutChanged_parents_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStandardItemModel___layoutChanged_parents_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___match_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___match_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStandardItemModel___match_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___persistentIndexList_atList(void* ptr, int i) +{ + return new QModelIndex(({QModelIndex tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___persistentIndexList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStandardItemModel___persistentIndexList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___roleNames_atList(void* ptr, int v, int i) +{ + return new QByteArray(({ QByteArray tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___roleNames_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QStandardItemModel___roleNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtGui_PackedList QStandardItemModel___roleNames_keyList(void* ptr) +{ + return ({ QList* tmpValue7fc3bb = new QList(static_cast*>(ptr)->keys()); QtGui_PackedList { tmpValue7fc3bb, tmpValue7fc3bb->size() }; }); +} + +int QStandardItemModel_____doSetRoleNames_roleNames_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel_____doSetRoleNames_roleNames_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStandardItemModel_____doSetRoleNames_roleNames_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QStandardItemModel_____roleNames_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel_____roleNames_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStandardItemModel_____roleNames_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +int QStandardItemModel_____setRoleNames_roleNames_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel_____setRoleNames_roleNames_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QStandardItemModel_____setRoleNames_roleNames_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QStandardItemModel___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStandardItemModel___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStandardItemModel___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QStandardItemModel___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QStandardItemModel___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStandardItemModel___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QStandardItemModel___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStandardItemModel_BuddyDefault(void* ptr, void* index) +{ + return new QModelIndex(static_cast(ptr)->QStandardItemModel::buddy(*static_cast(index))); +} + +char QStandardItemModel_CanDropMimeDataDefault(void* ptr, void* data, long long action, int row, int column, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::canDropMimeData(static_cast(data), static_cast(action), row, column, *static_cast(parent)); +} + +char QStandardItemModel_CanFetchMoreDefault(void* ptr, void* parent) +{ + return static_cast(ptr)->QStandardItemModel::canFetchMore(*static_cast(parent)); +} + +void QStandardItemModel_FetchMoreDefault(void* ptr, void* parent) +{ + static_cast(ptr)->QStandardItemModel::fetchMore(*static_cast(parent)); +} + +struct QtGui_PackedList QStandardItemModel_MatchDefault(void* ptr, void* start, int role, void* value, int hits, long long flags) +{ + return ({ QList* tmpValue0c2bda = new QList(static_cast(ptr)->QStandardItemModel::match(*static_cast(start), role, *static_cast(value), hits, static_cast(flags))); QtGui_PackedList { tmpValue0c2bda, tmpValue0c2bda->size() }; }); +} + +char QStandardItemModel_MoveColumnsDefault(void* ptr, void* sourceParent, int sourceColumn, int count, void* destinationParent, int destinationChild) +{ + return static_cast(ptr)->QStandardItemModel::moveColumns(*static_cast(sourceParent), sourceColumn, count, *static_cast(destinationParent), destinationChild); +} + +char QStandardItemModel_MoveRowsDefault(void* ptr, void* sourceParent, int sourceRow, int count, void* destinationParent, int destinationChild) +{ + return static_cast(ptr)->QStandardItemModel::moveRows(*static_cast(sourceParent), sourceRow, count, *static_cast(destinationParent), destinationChild); +} + +void QStandardItemModel_ResetInternalDataDefault(void* ptr) +{ + static_cast(ptr)->QStandardItemModel::resetInternalData(); +} + +void QStandardItemModel_RevertDefault(void* ptr) +{ + static_cast(ptr)->QStandardItemModel::revert(); +} + +struct QtGui_PackedList QStandardItemModel_RoleNamesDefault(void* ptr) +{ + return ({ QHash* tmpValuece7c38 = new QHash(static_cast(ptr)->QStandardItemModel::roleNames()); QtGui_PackedList { tmpValuece7c38, tmpValuece7c38->size() }; }); +} + +void* QStandardItemModel_SpanDefault(void* ptr, void* index) +{ + return ({ QSize tmpValue = static_cast(ptr)->QStandardItemModel::span(*static_cast(index)); new QSize(tmpValue.width(), tmpValue.height()); }); +} + +char QStandardItemModel_SubmitDefault(void* ptr) +{ + return static_cast(ptr)->QStandardItemModel::submit(); +} + +long long QStandardItemModel_SupportedDragActionsDefault(void* ptr) +{ + return static_cast(ptr)->QStandardItemModel::supportedDragActions(); +} + +void QStandardItemModel_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QStandardItemModel::childEvent(static_cast(event)); +} + +void QStandardItemModel_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QStandardItemModel::connectNotify(*static_cast(sign)); +} + +void QStandardItemModel_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QStandardItemModel::customEvent(static_cast(event)); +} + +void QStandardItemModel_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QStandardItemModel::deleteLater(); +} + +void QStandardItemModel_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QStandardItemModel::disconnectNotify(*static_cast(sign)); +} + +char QStandardItemModel_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QStandardItemModel::event(static_cast(e)); +} + +char QStandardItemModel_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QStandardItemModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QStandardItemModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QStandardItemModel::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QStandardItemModel::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QStandardItemModel::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QStandardItemModel_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QStandardItemModel::metaObject()); +} + +void QStandardItemModel_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QStandardItemModel::timerEvent(static_cast(event)); +} + +void* QStaticText_NewQStaticText() +{ + return new QStaticText(); +} + +void* QStaticText_NewQStaticText2(struct QtGui_PackedString text) +{ + return new QStaticText(QString::fromUtf8(text.data, text.len)); +} + +void* QStaticText_NewQStaticText3(void* other) +{ + return new QStaticText(*static_cast(other)); +} + +long long QStaticText_PerformanceHint(void* ptr) +{ + return static_cast(ptr)->performanceHint(); +} + +void QStaticText_Prepare(void* ptr, void* matrix, void* font) +{ + static_cast(ptr)->prepare(*static_cast(matrix), *static_cast(font)); +} + +void QStaticText_SetPerformanceHint(void* ptr, long long performanceHint) +{ + static_cast(ptr)->setPerformanceHint(static_cast(performanceHint)); +} + +void QStaticText_SetText(void* ptr, struct QtGui_PackedString text) +{ + static_cast(ptr)->setText(QString::fromUtf8(text.data, text.len)); +} + +void QStaticText_SetTextFormat(void* ptr, long long textFormat) +{ + static_cast(ptr)->setTextFormat(static_cast(textFormat)); +} + +void QStaticText_SetTextOption(void* ptr, void* textOption) +{ + static_cast(ptr)->setTextOption(*static_cast(textOption)); +} + +void QStaticText_SetTextWidth(void* ptr, double textWidth) +{ + static_cast(ptr)->setTextWidth(textWidth); +} + +void* QStaticText_Size(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->size(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void QStaticText_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtGui_PackedString QStaticText_Text(void* ptr) +{ + return ({ QByteArray t6fe556 = static_cast(ptr)->text().toUtf8(); QtGui_PackedString { const_cast(t6fe556.prepend("WHITESPACE").constData()+10), t6fe556.size()-10 }; }); +} + +long long QStaticText_TextFormat(void* ptr) +{ + return static_cast(ptr)->textFormat(); +} + +void* QStaticText_TextOption(void* ptr) +{ + return new QTextOption(static_cast(ptr)->textOption()); +} + +double QStaticText_TextWidth(void* ptr) +{ + return static_cast(ptr)->textWidth(); +} + +void QStaticText_DestroyQStaticText(void* ptr) +{ + static_cast(ptr)->~QStaticText(); +} + +class MyQStatusTipEvent: public QStatusTipEvent +{ +public: + MyQStatusTipEvent(const QString &tip) : QStatusTipEvent(tip) {}; +}; + +void* QStatusTipEvent_NewQStatusTipEvent(struct QtGui_PackedString tip) +{ + return new MyQStatusTipEvent(QString::fromUtf8(tip.data, tip.len)); +} + +struct QtGui_PackedString QStatusTipEvent_Tip(void* ptr) +{ + return ({ QByteArray t663d3b = static_cast(ptr)->tip().toUtf8(); QtGui_PackedString { const_cast(t663d3b.prepend("WHITESPACE").constData()+10), t663d3b.size()-10 }; }); +} + +class MyQStyleHints: public QStyleHints +{ +public: + void Signal_CursorFlashTimeChanged(int cursorFlashTime) { callbackQStyleHints_CursorFlashTimeChanged(this, cursorFlashTime); }; + void Signal_KeyboardInputIntervalChanged(int keyboardInputInterval) { callbackQStyleHints_KeyboardInputIntervalChanged(this, keyboardInputInterval); }; + void Signal_MouseDoubleClickIntervalChanged(int mouseDoubleClickInterval) { callbackQStyleHints_MouseDoubleClickIntervalChanged(this, mouseDoubleClickInterval); }; + void Signal_MousePressAndHoldIntervalChanged(int mousePressAndHoldInterval) { callbackQStyleHints_MousePressAndHoldIntervalChanged(this, mousePressAndHoldInterval); }; + void Signal_MouseQuickSelectionThresholdChanged(int threshold) { callbackQStyleHints_MouseQuickSelectionThresholdChanged(this, threshold); }; + void Signal_ShowShortcutsInContextMenusChanged(bool vbo) { callbackQStyleHints_ShowShortcutsInContextMenusChanged(this, vbo); }; + void Signal_StartDragDistanceChanged(int startDragDistance) { callbackQStyleHints_StartDragDistanceChanged(this, startDragDistance); }; + void Signal_StartDragTimeChanged(int startDragTime) { callbackQStyleHints_StartDragTimeChanged(this, startDragTime); }; + void Signal_TabFocusBehaviorChanged(Qt::TabFocusBehavior tabFocusBehavior) { callbackQStyleHints_TabFocusBehaviorChanged(this, tabFocusBehavior); }; + void Signal_UseHoverEffectsChanged(bool useHoverEffects) { callbackQStyleHints_UseHoverEffectsChanged(this, useHoverEffects); }; + void Signal_WheelScrollLinesChanged(int scrollLines) { callbackQStyleHints_WheelScrollLinesChanged(this, scrollLines); }; + void childEvent(QChildEvent * event) { callbackQStyleHints_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQStyleHints_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQStyleHints_CustomEvent(this, event); }; + void deleteLater() { callbackQStyleHints_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQStyleHints_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQStyleHints_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQStyleHints_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQStyleHints_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQStyleHints_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQStyleHints_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQStyleHints_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQStyleHints*) + +int QStyleHints_QStyleHints_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +int QStyleHints_CursorFlashTime(void* ptr) +{ + return static_cast(ptr)->cursorFlashTime(); +} + +void QStyleHints_ConnectCursorFlashTimeChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::cursorFlashTimeChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_CursorFlashTimeChanged), static_cast(t)); +} + +void QStyleHints_DisconnectCursorFlashTimeChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::cursorFlashTimeChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_CursorFlashTimeChanged)); +} + +void QStyleHints_CursorFlashTimeChanged(void* ptr, int cursorFlashTime) +{ + static_cast(ptr)->cursorFlashTimeChanged(cursorFlashTime); +} + +double QStyleHints_FontSmoothingGamma(void* ptr) +{ + return static_cast(ptr)->fontSmoothingGamma(); +} + +int QStyleHints_KeyboardAutoRepeatRate(void* ptr) +{ + return static_cast(ptr)->keyboardAutoRepeatRate(); +} + +int QStyleHints_KeyboardInputInterval(void* ptr) +{ + return static_cast(ptr)->keyboardInputInterval(); +} + +void QStyleHints_ConnectKeyboardInputIntervalChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::keyboardInputIntervalChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_KeyboardInputIntervalChanged), static_cast(t)); +} + +void QStyleHints_DisconnectKeyboardInputIntervalChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::keyboardInputIntervalChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_KeyboardInputIntervalChanged)); +} + +void QStyleHints_KeyboardInputIntervalChanged(void* ptr, int keyboardInputInterval) +{ + static_cast(ptr)->keyboardInputIntervalChanged(keyboardInputInterval); +} + +int QStyleHints_MouseDoubleClickInterval(void* ptr) +{ + return static_cast(ptr)->mouseDoubleClickInterval(); +} + +void QStyleHints_ConnectMouseDoubleClickIntervalChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::mouseDoubleClickIntervalChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_MouseDoubleClickIntervalChanged), static_cast(t)); +} + +void QStyleHints_DisconnectMouseDoubleClickIntervalChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::mouseDoubleClickIntervalChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_MouseDoubleClickIntervalChanged)); +} + +void QStyleHints_MouseDoubleClickIntervalChanged(void* ptr, int mouseDoubleClickInterval) +{ + static_cast(ptr)->mouseDoubleClickIntervalChanged(mouseDoubleClickInterval); +} + +int QStyleHints_MousePressAndHoldInterval(void* ptr) +{ + return static_cast(ptr)->mousePressAndHoldInterval(); +} + +void QStyleHints_ConnectMousePressAndHoldIntervalChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::mousePressAndHoldIntervalChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_MousePressAndHoldIntervalChanged), static_cast(t)); +} + +void QStyleHints_DisconnectMousePressAndHoldIntervalChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::mousePressAndHoldIntervalChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_MousePressAndHoldIntervalChanged)); +} + +void QStyleHints_MousePressAndHoldIntervalChanged(void* ptr, int mousePressAndHoldInterval) +{ + static_cast(ptr)->mousePressAndHoldIntervalChanged(mousePressAndHoldInterval); +} + +int QStyleHints_MouseQuickSelectionThreshold(void* ptr) +{ + return static_cast(ptr)->mouseQuickSelectionThreshold(); +} + +void QStyleHints_ConnectMouseQuickSelectionThresholdChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::mouseQuickSelectionThresholdChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_MouseQuickSelectionThresholdChanged), static_cast(t)); +} + +void QStyleHints_DisconnectMouseQuickSelectionThresholdChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::mouseQuickSelectionThresholdChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_MouseQuickSelectionThresholdChanged)); +} + +void QStyleHints_MouseQuickSelectionThresholdChanged(void* ptr, int threshold) +{ + static_cast(ptr)->mouseQuickSelectionThresholdChanged(threshold); +} + +void* QStyleHints_PasswordMaskCharacter(void* ptr) +{ + return new QChar(static_cast(ptr)->passwordMaskCharacter()); +} + +int QStyleHints_PasswordMaskDelay(void* ptr) +{ + return static_cast(ptr)->passwordMaskDelay(); +} + +char QStyleHints_SetFocusOnTouchRelease(void* ptr) +{ + return static_cast(ptr)->setFocusOnTouchRelease(); +} + +void QStyleHints_SetShowShortcutsInContextMenus(void* ptr, char showShortcutsInContextMenus) +{ + static_cast(ptr)->setShowShortcutsInContextMenus(showShortcutsInContextMenus != 0); +} + +void QStyleHints_SetUseHoverEffects(void* ptr, char useHoverEffects) +{ + static_cast(ptr)->setUseHoverEffects(useHoverEffects != 0); +} + +char QStyleHints_ShowIsFullScreen(void* ptr) +{ + return static_cast(ptr)->showIsFullScreen(); +} + +char QStyleHints_ShowIsMaximized(void* ptr) +{ + return static_cast(ptr)->showIsMaximized(); +} + +char QStyleHints_ShowShortcutsInContextMenus(void* ptr) +{ + return static_cast(ptr)->showShortcutsInContextMenus(); +} + +void QStyleHints_ConnectShowShortcutsInContextMenusChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::showShortcutsInContextMenusChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_ShowShortcutsInContextMenusChanged), static_cast(t)); +} + +void QStyleHints_DisconnectShowShortcutsInContextMenusChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::showShortcutsInContextMenusChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_ShowShortcutsInContextMenusChanged)); +} + +void QStyleHints_ShowShortcutsInContextMenusChanged(void* ptr, char vbo) +{ + static_cast(ptr)->showShortcutsInContextMenusChanged(vbo != 0); +} + +char QStyleHints_SingleClickActivation(void* ptr) +{ + return static_cast(ptr)->singleClickActivation(); +} + +int QStyleHints_StartDragDistance(void* ptr) +{ + return static_cast(ptr)->startDragDistance(); +} + +void QStyleHints_ConnectStartDragDistanceChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::startDragDistanceChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_StartDragDistanceChanged), static_cast(t)); +} + +void QStyleHints_DisconnectStartDragDistanceChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::startDragDistanceChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_StartDragDistanceChanged)); +} + +void QStyleHints_StartDragDistanceChanged(void* ptr, int startDragDistance) +{ + static_cast(ptr)->startDragDistanceChanged(startDragDistance); +} + +int QStyleHints_StartDragTime(void* ptr) +{ + return static_cast(ptr)->startDragTime(); +} + +void QStyleHints_ConnectStartDragTimeChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::startDragTimeChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_StartDragTimeChanged), static_cast(t)); +} + +void QStyleHints_DisconnectStartDragTimeChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::startDragTimeChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_StartDragTimeChanged)); +} + +void QStyleHints_StartDragTimeChanged(void* ptr, int startDragTime) +{ + static_cast(ptr)->startDragTimeChanged(startDragTime); +} + +int QStyleHints_StartDragVelocity(void* ptr) +{ + return static_cast(ptr)->startDragVelocity(); +} + +long long QStyleHints_TabFocusBehavior(void* ptr) +{ + return static_cast(ptr)->tabFocusBehavior(); +} + +void QStyleHints_ConnectTabFocusBehaviorChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::tabFocusBehaviorChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_TabFocusBehaviorChanged), static_cast(t)); +} + +void QStyleHints_DisconnectTabFocusBehaviorChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::tabFocusBehaviorChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_TabFocusBehaviorChanged)); +} + +void QStyleHints_TabFocusBehaviorChanged(void* ptr, long long tabFocusBehavior) +{ + static_cast(ptr)->tabFocusBehaviorChanged(static_cast(tabFocusBehavior)); +} + +char QStyleHints_UseHoverEffects(void* ptr) +{ + return static_cast(ptr)->useHoverEffects(); +} + +void QStyleHints_ConnectUseHoverEffectsChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::useHoverEffectsChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_UseHoverEffectsChanged), static_cast(t)); +} + +void QStyleHints_DisconnectUseHoverEffectsChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::useHoverEffectsChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_UseHoverEffectsChanged)); +} + +void QStyleHints_UseHoverEffectsChanged(void* ptr, char useHoverEffects) +{ + static_cast(ptr)->useHoverEffectsChanged(useHoverEffects != 0); +} + +char QStyleHints_UseRtlExtensions(void* ptr) +{ + return static_cast(ptr)->useRtlExtensions(); +} + +int QStyleHints_WheelScrollLines(void* ptr) +{ + return static_cast(ptr)->wheelScrollLines(); +} + +void QStyleHints_ConnectWheelScrollLinesChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QStyleHints::wheelScrollLinesChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_WheelScrollLinesChanged), static_cast(t)); +} + +void QStyleHints_DisconnectWheelScrollLinesChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QStyleHints::wheelScrollLinesChanged), static_cast(ptr), static_cast(&MyQStyleHints::Signal_WheelScrollLinesChanged)); +} + +void QStyleHints_WheelScrollLinesChanged(void* ptr, int scrollLines) +{ + static_cast(ptr)->wheelScrollLinesChanged(scrollLines); +} + +void* QStyleHints___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStyleHints___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QStyleHints___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStyleHints___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QStyleHints___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QStyleHints___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStyleHints___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStyleHints___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QStyleHints___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStyleHints___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStyleHints___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QStyleHints___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QStyleHints___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QStyleHints___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QStyleHints___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QStyleHints_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QStyleHints::childEvent(static_cast(event)); +} + +void QStyleHints_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QStyleHints::connectNotify(*static_cast(sign)); +} + +void QStyleHints_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QStyleHints::customEvent(static_cast(event)); +} + +void QStyleHints_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QStyleHints::deleteLater(); +} + +void QStyleHints_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QStyleHints::disconnectNotify(*static_cast(sign)); +} + +char QStyleHints_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QStyleHints::event(static_cast(e)); +} + +char QStyleHints_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QStyleHints::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QStyleHints::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QStyleHints::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QStyleHints::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QStyleHints::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QStyleHints_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QStyleHints::metaObject()); +} + +void QStyleHints_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QStyleHints::timerEvent(static_cast(event)); +} + +class MyQSurface: public QSurface +{ +public: + QSurfaceFormat format() const { return *static_cast(callbackQSurface_Format(const_cast(static_cast(this)))); }; + QSize size() const { return *static_cast(callbackQSurface_Size(const_cast(static_cast(this)))); }; + QSurface::SurfaceType surfaceType() const { return static_cast(callbackQSurface_SurfaceType(const_cast(static_cast(this)))); }; + ~MyQSurface() { callbackQSurface_DestroyQSurface(this); }; +}; + +void* QSurface_Format(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QSurfaceFormat(static_cast(ptr)->format()); + } else if (dynamic_cast(static_cast(ptr))) { + return new QSurfaceFormat(static_cast(ptr)->format()); + } else if (dynamic_cast(static_cast(ptr))) { + return new QSurfaceFormat(static_cast(ptr)->format()); + } else { + return new QSurfaceFormat(static_cast(ptr)->format()); + } +} + +void* QSurface_Size(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } +} + +char QSurface_SupportsOpenGL(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->supportsOpenGL(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->supportsOpenGL(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->supportsOpenGL(); + } else { + return static_cast(ptr)->supportsOpenGL(); + } +} + +long long QSurface_SurfaceClass(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->surfaceClass(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->surfaceClass(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->surfaceClass(); + } else { + return static_cast(ptr)->surfaceClass(); + } +} + +long long QSurface_SurfaceType(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->surfaceType(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->surfaceType(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->surfaceType(); + } else { + return static_cast(ptr)->surfaceType(); + } +} + +void QSurface_DestroyQSurface(void* ptr) +{ + static_cast(ptr)->~QSurface(); +} + +void QSurface_DestroyQSurfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QSurfaceFormat_NewQSurfaceFormat() +{ + return new QSurfaceFormat(); +} + +void* QSurfaceFormat_NewQSurfaceFormat2(long long options) +{ + return new QSurfaceFormat(static_cast(options)); +} + +void* QSurfaceFormat_NewQSurfaceFormat3(void* other) +{ + return new QSurfaceFormat(*static_cast(other)); +} + +int QSurfaceFormat_AlphaBufferSize(void* ptr) +{ + return static_cast(ptr)->alphaBufferSize(); +} + +int QSurfaceFormat_BlueBufferSize(void* ptr) +{ + return static_cast(ptr)->blueBufferSize(); +} + +long long QSurfaceFormat_ColorSpace(void* ptr) +{ + return static_cast(ptr)->colorSpace(); +} + +void* QSurfaceFormat_QSurfaceFormat_DefaultFormat() +{ + return new QSurfaceFormat(QSurfaceFormat::defaultFormat()); +} + +int QSurfaceFormat_DepthBufferSize(void* ptr) +{ + return static_cast(ptr)->depthBufferSize(); +} + +int QSurfaceFormat_GreenBufferSize(void* ptr) +{ + return static_cast(ptr)->greenBufferSize(); +} + +char QSurfaceFormat_HasAlpha(void* ptr) +{ + return static_cast(ptr)->hasAlpha(); +} + +int QSurfaceFormat_MajorVersion(void* ptr) +{ + return static_cast(ptr)->majorVersion(); +} + +int QSurfaceFormat_MinorVersion(void* ptr) +{ + return static_cast(ptr)->minorVersion(); +} + +long long QSurfaceFormat_Options(void* ptr) +{ + return static_cast(ptr)->options(); +} + +long long QSurfaceFormat_Profile(void* ptr) +{ + return static_cast(ptr)->profile(); +} + +int QSurfaceFormat_RedBufferSize(void* ptr) +{ + return static_cast(ptr)->redBufferSize(); +} + +long long QSurfaceFormat_RenderableType(void* ptr) +{ + return static_cast(ptr)->renderableType(); +} + +int QSurfaceFormat_Samples(void* ptr) +{ + return static_cast(ptr)->samples(); +} + +void QSurfaceFormat_SetAlphaBufferSize(void* ptr, int size) +{ + static_cast(ptr)->setAlphaBufferSize(size); +} + +void QSurfaceFormat_SetBlueBufferSize(void* ptr, int size) +{ + static_cast(ptr)->setBlueBufferSize(size); +} + +void QSurfaceFormat_SetColorSpace(void* ptr, long long colorSpace) +{ + static_cast(ptr)->setColorSpace(static_cast(colorSpace)); +} + +void QSurfaceFormat_QSurfaceFormat_SetDefaultFormat(void* format) +{ + QSurfaceFormat::setDefaultFormat(*static_cast(format)); +} + +void QSurfaceFormat_SetDepthBufferSize(void* ptr, int size) +{ + static_cast(ptr)->setDepthBufferSize(size); +} + +void QSurfaceFormat_SetGreenBufferSize(void* ptr, int size) +{ + static_cast(ptr)->setGreenBufferSize(size); +} + +void QSurfaceFormat_SetMajorVersion(void* ptr, int major) +{ + static_cast(ptr)->setMajorVersion(major); +} + +void QSurfaceFormat_SetMinorVersion(void* ptr, int minor) +{ + static_cast(ptr)->setMinorVersion(minor); +} + +void QSurfaceFormat_SetOption(void* ptr, long long option, char on) +{ + static_cast(ptr)->setOption(static_cast(option), on != 0); +} + +void QSurfaceFormat_SetOptions(void* ptr, long long options) +{ + static_cast(ptr)->setOptions(static_cast(options)); +} + +void QSurfaceFormat_SetProfile(void* ptr, long long profile) +{ + static_cast(ptr)->setProfile(static_cast(profile)); +} + +void QSurfaceFormat_SetRedBufferSize(void* ptr, int size) +{ + static_cast(ptr)->setRedBufferSize(size); +} + +void QSurfaceFormat_SetRenderableType(void* ptr, long long ty) +{ + static_cast(ptr)->setRenderableType(static_cast(ty)); +} + +void QSurfaceFormat_SetSamples(void* ptr, int numSamples) +{ + static_cast(ptr)->setSamples(numSamples); +} + +void QSurfaceFormat_SetStencilBufferSize(void* ptr, int size) +{ + static_cast(ptr)->setStencilBufferSize(size); +} + +void QSurfaceFormat_SetStereo(void* ptr, char enable) +{ + static_cast(ptr)->setStereo(enable != 0); +} + +void QSurfaceFormat_SetSwapBehavior(void* ptr, long long behavior) +{ + static_cast(ptr)->setSwapBehavior(static_cast(behavior)); +} + +void QSurfaceFormat_SetSwapInterval(void* ptr, int interval) +{ + static_cast(ptr)->setSwapInterval(interval); +} + +void QSurfaceFormat_SetVersion(void* ptr, int major, int minor) +{ + static_cast(ptr)->setVersion(major, minor); +} + +int QSurfaceFormat_StencilBufferSize(void* ptr) +{ + return static_cast(ptr)->stencilBufferSize(); +} + +char QSurfaceFormat_Stereo(void* ptr) +{ + return static_cast(ptr)->stereo(); +} + +long long QSurfaceFormat_SwapBehavior(void* ptr) +{ + return static_cast(ptr)->swapBehavior(); +} + +int QSurfaceFormat_SwapInterval(void* ptr) +{ + return static_cast(ptr)->swapInterval(); +} + +char QSurfaceFormat_TestOption(void* ptr, long long option) +{ + return static_cast(ptr)->testOption(static_cast(option)); +} + +void QSurfaceFormat_DestroyQSurfaceFormat(void* ptr) +{ + static_cast(ptr)->~QSurfaceFormat(); +} + +class MyQSyntaxHighlighter: public QSyntaxHighlighter +{ +public: + MyQSyntaxHighlighter(QObject *parent) : QSyntaxHighlighter(parent) {QSyntaxHighlighter_QSyntaxHighlighter_QRegisterMetaType();}; + MyQSyntaxHighlighter(QTextDocument *parent) : QSyntaxHighlighter(parent) {QSyntaxHighlighter_QSyntaxHighlighter_QRegisterMetaType();}; + void highlightBlock(const QString & text) { QByteArray t372ea0 = text.toUtf8(); QtGui_PackedString textPacked = { const_cast(t372ea0.prepend("WHITESPACE").constData()+10), t372ea0.size()-10 };callbackQSyntaxHighlighter_HighlightBlock(this, textPacked); }; + void rehighlight() { callbackQSyntaxHighlighter_Rehighlight(this); }; + void rehighlightBlock(const QTextBlock & block) { callbackQSyntaxHighlighter_RehighlightBlock(this, const_cast(&block)); }; + ~MyQSyntaxHighlighter() { callbackQSyntaxHighlighter_DestroyQSyntaxHighlighter(this); }; + void childEvent(QChildEvent * event) { callbackQSyntaxHighlighter_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQSyntaxHighlighter_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQSyntaxHighlighter_CustomEvent(this, event); }; + void deleteLater() { callbackQSyntaxHighlighter_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQSyntaxHighlighter_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQSyntaxHighlighter_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQSyntaxHighlighter_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQSyntaxHighlighter_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQSyntaxHighlighter_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQSyntaxHighlighter_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQSyntaxHighlighter_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSyntaxHighlighter*) + +int QSyntaxHighlighter_QSyntaxHighlighter_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QSyntaxHighlighter_NewQSyntaxHighlighter(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSyntaxHighlighter(static_cast(parent)); + } else { + return new MyQSyntaxHighlighter(static_cast(parent)); + } +} + +void* QSyntaxHighlighter_NewQSyntaxHighlighter2(void* parent) +{ + return new MyQSyntaxHighlighter(static_cast(parent)); +} + +void* QSyntaxHighlighter_CurrentBlock(void* ptr) +{ + return new QTextBlock(static_cast(ptr)->currentBlock()); +} + +int QSyntaxHighlighter_CurrentBlockState(void* ptr) +{ + return static_cast(ptr)->currentBlockState(); +} + +void* QSyntaxHighlighter_CurrentBlockUserData(void* ptr) +{ + return static_cast(ptr)->currentBlockUserData(); +} + +void* QSyntaxHighlighter_Document(void* ptr) +{ + return static_cast(ptr)->document(); +} + +void* QSyntaxHighlighter_Format(void* ptr, int position) +{ + return new QTextCharFormat(static_cast(ptr)->format(position)); +} + +void QSyntaxHighlighter_HighlightBlock(void* ptr, struct QtGui_PackedString text) +{ + static_cast(ptr)->highlightBlock(QString::fromUtf8(text.data, text.len)); +} + +int QSyntaxHighlighter_PreviousBlockState(void* ptr) +{ + return static_cast(ptr)->previousBlockState(); +} + +void QSyntaxHighlighter_Rehighlight(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "rehighlight"); +} + +void QSyntaxHighlighter_RehighlightDefault(void* ptr) +{ + static_cast(ptr)->QSyntaxHighlighter::rehighlight(); +} + +void QSyntaxHighlighter_RehighlightBlock(void* ptr, void* block) +{ + QMetaObject::invokeMethod(static_cast(ptr), "rehighlightBlock", Q_ARG(const QTextBlock, *static_cast(block))); +} + +void QSyntaxHighlighter_RehighlightBlockDefault(void* ptr, void* block) +{ + static_cast(ptr)->QSyntaxHighlighter::rehighlightBlock(*static_cast(block)); +} + +void QSyntaxHighlighter_SetCurrentBlockState(void* ptr, int newState) +{ + static_cast(ptr)->setCurrentBlockState(newState); +} + +void QSyntaxHighlighter_SetCurrentBlockUserData(void* ptr, void* data) +{ + static_cast(ptr)->setCurrentBlockUserData(static_cast(data)); +} + +void QSyntaxHighlighter_SetDocument(void* ptr, void* doc) +{ + static_cast(ptr)->setDocument(static_cast(doc)); +} + +void QSyntaxHighlighter_SetFormat(void* ptr, int start, int count, void* format) +{ + static_cast(ptr)->setFormat(start, count, *static_cast(format)); +} + +void QSyntaxHighlighter_SetFormat2(void* ptr, int start, int count, void* color) +{ + static_cast(ptr)->setFormat(start, count, *static_cast(color)); +} + +void QSyntaxHighlighter_SetFormat3(void* ptr, int start, int count, void* font) +{ + static_cast(ptr)->setFormat(start, count, *static_cast(font)); +} + +void QSyntaxHighlighter_DestroyQSyntaxHighlighter(void* ptr) +{ + static_cast(ptr)->~QSyntaxHighlighter(); +} + +void QSyntaxHighlighter_DestroyQSyntaxHighlighterDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QSyntaxHighlighter___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QSyntaxHighlighter___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QSyntaxHighlighter___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSyntaxHighlighter___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSyntaxHighlighter___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSyntaxHighlighter___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSyntaxHighlighter___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QSyntaxHighlighter___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QSyntaxHighlighter___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSyntaxHighlighter___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QSyntaxHighlighter___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QSyntaxHighlighter___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSyntaxHighlighter___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QSyntaxHighlighter___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QSyntaxHighlighter___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QSyntaxHighlighter_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QSyntaxHighlighter::childEvent(static_cast(event)); +} + +void QSyntaxHighlighter_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QSyntaxHighlighter::connectNotify(*static_cast(sign)); +} + +void QSyntaxHighlighter_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QSyntaxHighlighter::customEvent(static_cast(event)); +} + +void QSyntaxHighlighter_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QSyntaxHighlighter::deleteLater(); +} + +void QSyntaxHighlighter_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QSyntaxHighlighter::disconnectNotify(*static_cast(sign)); +} + +char QSyntaxHighlighter_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QSyntaxHighlighter::event(static_cast(e)); +} + +char QSyntaxHighlighter_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QSyntaxHighlighter::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QSyntaxHighlighter::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QSyntaxHighlighter::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QSyntaxHighlighter::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QSyntaxHighlighter::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QSyntaxHighlighter_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QSyntaxHighlighter::metaObject()); +} + +void QSyntaxHighlighter_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QSyntaxHighlighter::timerEvent(static_cast(event)); +} + +class MyQTabletEvent: public QTabletEvent +{ +public: + MyQTabletEvent(QEvent::Type ty, const QPointF &pos, const QPointF &globalPos, int device, int pointerType, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, Qt::KeyboardModifiers keyState, qint64 uniqueID, Qt::MouseButton button, Qt::MouseButtons buttons) : QTabletEvent(ty, pos, globalPos, device, pointerType, pressure, xTilt, yTilt, tangentialPressure, rotation, z, keyState, uniqueID, button, buttons) {}; +}; + +void* QTabletEvent_NewQTabletEvent2(long long ty, void* pos, void* globalPos, int device, int pointerType, double pressure, int xTilt, int yTilt, double tangentialPressure, double rotation, int z, long long keyState, long long uniqueID, long long button, long long buttons) +{ + return new MyQTabletEvent(static_cast(ty), *static_cast(pos), *static_cast(globalPos), device, pointerType, pressure, xTilt, yTilt, tangentialPressure, rotation, z, static_cast(keyState), uniqueID, static_cast(button), static_cast(buttons)); +} + +long long QTabletEvent_Button(void* ptr) +{ + return static_cast(ptr)->button(); +} + +long long QTabletEvent_Buttons(void* ptr) +{ + return static_cast(ptr)->buttons(); +} + +long long QTabletEvent_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +void* QTabletEvent_GlobalPos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->globalPos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QTabletEvent_GlobalPosF(void* ptr) +{ + return const_cast(&static_cast(ptr)->globalPosF()); +} + +int QTabletEvent_GlobalX(void* ptr) +{ + return static_cast(ptr)->globalX(); +} + +int QTabletEvent_GlobalY(void* ptr) +{ + return static_cast(ptr)->globalY(); +} + +double QTabletEvent_HiResGlobalX(void* ptr) +{ + return static_cast(ptr)->hiResGlobalX(); +} + +double QTabletEvent_HiResGlobalY(void* ptr) +{ + return static_cast(ptr)->hiResGlobalY(); +} + +long long QTabletEvent_PointerType(void* ptr) +{ + return static_cast(ptr)->pointerType(); +} + +void* QTabletEvent_Pos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->pos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QTabletEvent_PosF(void* ptr) +{ + return const_cast(&static_cast(ptr)->posF()); +} + +double QTabletEvent_Pressure(void* ptr) +{ + return static_cast(ptr)->pressure(); +} + +double QTabletEvent_Rotation(void* ptr) +{ + return static_cast(ptr)->rotation(); +} + +double QTabletEvent_TangentialPressure(void* ptr) +{ + return static_cast(ptr)->tangentialPressure(); +} + +long long QTabletEvent_UniqueId(void* ptr) +{ + return static_cast(ptr)->uniqueId(); +} + +int QTabletEvent_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +int QTabletEvent_XTilt(void* ptr) +{ + return static_cast(ptr)->xTilt(); +} + +int QTabletEvent_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +int QTabletEvent_YTilt(void* ptr) +{ + return static_cast(ptr)->yTilt(); +} + +int QTabletEvent_Z(void* ptr) +{ + return static_cast(ptr)->z(); +} + +void* QTextBlock_NewQTextBlock3(void* other) +{ + return new QTextBlock(*static_cast(other)); +} + +void* QTextBlock_BlockFormat(void* ptr) +{ + return new QTextBlockFormat(static_cast(ptr)->blockFormat()); +} + +int QTextBlock_BlockFormatIndex(void* ptr) +{ + return static_cast(ptr)->blockFormatIndex(); +} + +int QTextBlock_BlockNumber(void* ptr) +{ + return static_cast(ptr)->blockNumber(); +} + +void* QTextBlock_CharFormat(void* ptr) +{ + return new QTextCharFormat(static_cast(ptr)->charFormat()); +} + +int QTextBlock_CharFormatIndex(void* ptr) +{ + return static_cast(ptr)->charFormatIndex(); +} + +void QTextBlock_ClearLayout(void* ptr) +{ + static_cast(ptr)->clearLayout(); +} + +char QTextBlock_Contains(void* ptr, int position) +{ + return static_cast(ptr)->contains(position); +} + +void* QTextBlock_Document(void* ptr) +{ + return const_cast(static_cast(ptr)->document()); +} + +int QTextBlock_FirstLineNumber(void* ptr) +{ + return static_cast(ptr)->firstLineNumber(); +} + +char QTextBlock_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QTextBlock_IsVisible(void* ptr) +{ + return static_cast(ptr)->isVisible(); +} + +void* QTextBlock_Layout(void* ptr) +{ + return static_cast(ptr)->layout(); +} + +int QTextBlock_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +int QTextBlock_LineCount(void* ptr) +{ + return static_cast(ptr)->lineCount(); +} + +void* QTextBlock_Next(void* ptr) +{ + return new QTextBlock(static_cast(ptr)->next()); +} + +int QTextBlock_Position(void* ptr) +{ + return static_cast(ptr)->position(); +} + +void* QTextBlock_Previous(void* ptr) +{ + return new QTextBlock(static_cast(ptr)->previous()); +} + +int QTextBlock_Revision(void* ptr) +{ + return static_cast(ptr)->revision(); +} + +void QTextBlock_SetLineCount(void* ptr, int count) +{ + static_cast(ptr)->setLineCount(count); +} + +void QTextBlock_SetRevision(void* ptr, int rev) +{ + static_cast(ptr)->setRevision(rev); +} + +void QTextBlock_SetUserData(void* ptr, void* data) +{ + static_cast(ptr)->setUserData(static_cast(data)); +} + +void QTextBlock_SetUserState(void* ptr, int state) +{ + static_cast(ptr)->setUserState(state); +} + +void QTextBlock_SetVisible(void* ptr, char visible) +{ + static_cast(ptr)->setVisible(visible != 0); +} + +struct QtGui_PackedString QTextBlock_Text(void* ptr) +{ + return ({ QByteArray t4bcf6c = static_cast(ptr)->text().toUtf8(); QtGui_PackedString { const_cast(t4bcf6c.prepend("WHITESPACE").constData()+10), t4bcf6c.size()-10 }; }); +} + +long long QTextBlock_TextDirection(void* ptr) +{ + return static_cast(ptr)->textDirection(); +} + +void* QTextBlock_UserData(void* ptr) +{ + return static_cast(ptr)->userData(); +} + +int QTextBlock_UserState(void* ptr) +{ + return static_cast(ptr)->userState(); +} + +void* QTextBlock___textFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QTextBlockFormat_NewQTextBlockFormat() +{ + return new QTextBlockFormat(); +} + +long long QTextBlockFormat_Alignment(void* ptr) +{ + return static_cast(ptr)->alignment(); +} + +double QTextBlockFormat_BottomMargin(void* ptr) +{ + return static_cast(ptr)->bottomMargin(); +} + +int QTextBlockFormat_HeadingLevel(void* ptr) +{ + return static_cast(ptr)->headingLevel(); +} + +int QTextBlockFormat_Indent(void* ptr) +{ + return static_cast(ptr)->indent(); +} + +double QTextBlockFormat_LeftMargin(void* ptr) +{ + return static_cast(ptr)->leftMargin(); +} + +double QTextBlockFormat_LineHeight(void* ptr, double scriptLineHeight, double scaling) +{ + return static_cast(ptr)->lineHeight(scriptLineHeight, scaling); +} + +double QTextBlockFormat_LineHeight2(void* ptr) +{ + return static_cast(ptr)->lineHeight(); +} + +int QTextBlockFormat_LineHeightType(void* ptr) +{ + return static_cast(ptr)->lineHeightType(); +} + +char QTextBlockFormat_NonBreakableLines(void* ptr) +{ + return static_cast(ptr)->nonBreakableLines(); +} + +long long QTextBlockFormat_PageBreakPolicy(void* ptr) +{ + return static_cast(ptr)->pageBreakPolicy(); +} + +double QTextBlockFormat_RightMargin(void* ptr) +{ + return static_cast(ptr)->rightMargin(); +} + +void QTextBlockFormat_SetAlignment(void* ptr, long long alignment) +{ + static_cast(ptr)->setAlignment(static_cast(alignment)); +} + +void QTextBlockFormat_SetBottomMargin(void* ptr, double margin) +{ + static_cast(ptr)->setBottomMargin(margin); +} + +void QTextBlockFormat_SetHeadingLevel(void* ptr, int level) +{ + static_cast(ptr)->setHeadingLevel(level); +} + +void QTextBlockFormat_SetIndent(void* ptr, int indentation) +{ + static_cast(ptr)->setIndent(indentation); +} + +void QTextBlockFormat_SetLeftMargin(void* ptr, double margin) +{ + static_cast(ptr)->setLeftMargin(margin); +} + +void QTextBlockFormat_SetLineHeight(void* ptr, double height, int heightType) +{ + static_cast(ptr)->setLineHeight(height, heightType); +} + +void QTextBlockFormat_SetNonBreakableLines(void* ptr, char b) +{ + static_cast(ptr)->setNonBreakableLines(b != 0); +} + +void QTextBlockFormat_SetPageBreakPolicy(void* ptr, long long policy) +{ + static_cast(ptr)->setPageBreakPolicy(static_cast(policy)); +} + +void QTextBlockFormat_SetRightMargin(void* ptr, double margin) +{ + static_cast(ptr)->setRightMargin(margin); +} + +void QTextBlockFormat_SetTextIndent(void* ptr, double indent) +{ + static_cast(ptr)->setTextIndent(indent); +} + +void QTextBlockFormat_SetTopMargin(void* ptr, double margin) +{ + static_cast(ptr)->setTopMargin(margin); +} + +double QTextBlockFormat_TextIndent(void* ptr) +{ + return static_cast(ptr)->textIndent(); +} + +double QTextBlockFormat_TopMargin(void* ptr) +{ + return static_cast(ptr)->topMargin(); +} + +void* QTextBlockFormat___setTabPositions_tabs_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextBlockFormat___tabPositions_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQTextBlockGroup: public QTextBlockGroup +{ +public: + MyQTextBlockGroup(QTextDocument *document) : QTextBlockGroup(document) {QTextBlockGroup_QTextBlockGroup_QRegisterMetaType();}; + void blockFormatChanged(const QTextBlock & block) { callbackQTextBlockGroup_BlockFormatChanged(this, const_cast(&block)); }; + void blockInserted(const QTextBlock & block) { callbackQTextBlockGroup_BlockInserted(this, const_cast(&block)); }; + void blockRemoved(const QTextBlock & block) { callbackQTextBlockGroup_BlockRemoved(this, const_cast(&block)); }; + ~MyQTextBlockGroup() { callbackQTextBlockGroup_DestroyQTextBlockGroup(this); }; + void childEvent(QChildEvent * event) { callbackQTextObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQTextObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQTextObject_CustomEvent(this, event); }; + void deleteLater() { callbackQTextObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQTextObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQTextObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQTextObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQTextObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQTextObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQTextObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQTextObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTextBlockGroup*) + +int QTextBlockGroup_QTextBlockGroup_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTextBlockGroup_NewQTextBlockGroup(void* document) +{ + return new MyQTextBlockGroup(static_cast(document)); +} + +void QTextBlockGroup_BlockFormatChanged(void* ptr, void* block) +{ + static_cast(ptr)->blockFormatChanged(*static_cast(block)); +} + +void QTextBlockGroup_BlockFormatChangedDefault(void* ptr, void* block) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextList::blockFormatChanged(*static_cast(block)); + } else { + static_cast(ptr)->QTextBlockGroup::blockFormatChanged(*static_cast(block)); + } +} + +void QTextBlockGroup_BlockInserted(void* ptr, void* block) +{ + static_cast(ptr)->blockInserted(*static_cast(block)); +} + +void QTextBlockGroup_BlockInsertedDefault(void* ptr, void* block) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextList::blockInserted(*static_cast(block)); + } else { + static_cast(ptr)->QTextBlockGroup::blockInserted(*static_cast(block)); + } +} + +struct QtGui_PackedList QTextBlockGroup_BlockList(void* ptr) +{ + return ({ QList* tmpValue9018b9 = new QList(static_cast(ptr)->blockList()); QtGui_PackedList { tmpValue9018b9, tmpValue9018b9->size() }; }); +} + +void QTextBlockGroup_BlockRemoved(void* ptr, void* block) +{ + static_cast(ptr)->blockRemoved(*static_cast(block)); +} + +void QTextBlockGroup_BlockRemovedDefault(void* ptr, void* block) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextList::blockRemoved(*static_cast(block)); + } else { + static_cast(ptr)->QTextBlockGroup::blockRemoved(*static_cast(block)); + } +} + +void QTextBlockGroup_DestroyQTextBlockGroup(void* ptr) +{ + static_cast(ptr)->~QTextBlockGroup(); +} + +void QTextBlockGroup_DestroyQTextBlockGroupDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTextBlockGroup___blockList_atList(void* ptr, int i) +{ + return new QTextBlock(({QTextBlock tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTextBlockGroup___blockList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextBlockGroup___blockList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQTextBlockUserData: public QTextBlockUserData +{ +public: + ~MyQTextBlockUserData() { callbackQTextBlockUserData_DestroyQTextBlockUserData(this); }; +}; + +void QTextBlockUserData_DestroyQTextBlockUserData(void* ptr) +{ + static_cast(ptr)->~QTextBlockUserData(); +} + +void QTextBlockUserData_DestroyQTextBlockUserDataDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTextCharFormat_NewQTextCharFormat() +{ + return new QTextCharFormat(); +} + +struct QtGui_PackedString QTextCharFormat_AnchorHref(void* ptr) +{ + return ({ QByteArray t7b8d88 = static_cast(ptr)->anchorHref().toUtf8(); QtGui_PackedString { const_cast(t7b8d88.prepend("WHITESPACE").constData()+10), t7b8d88.size()-10 }; }); +} + +struct QtGui_PackedString QTextCharFormat_AnchorNames(void* ptr) +{ + return ({ QByteArray t55bd77 = static_cast(ptr)->anchorNames().join("¡¦!").toUtf8(); QtGui_PackedString { const_cast(t55bd77.prepend("WHITESPACE").constData()+10), t55bd77.size()-10 }; }); +} + +void* QTextCharFormat_Font(void* ptr) +{ + return new QFont(static_cast(ptr)->font()); +} + +long long QTextCharFormat_FontCapitalization(void* ptr) +{ + return static_cast(ptr)->fontCapitalization(); +} + +void* QTextCharFormat_FontFamilies(void* ptr) +{ + return new QVariant(static_cast(ptr)->fontFamilies()); +} + +struct QtGui_PackedString QTextCharFormat_FontFamily(void* ptr) +{ + return ({ QByteArray t087f3f = static_cast(ptr)->fontFamily().toUtf8(); QtGui_PackedString { const_cast(t087f3f.prepend("WHITESPACE").constData()+10), t087f3f.size()-10 }; }); +} + +char QTextCharFormat_FontFixedPitch(void* ptr) +{ + return static_cast(ptr)->fontFixedPitch(); +} + +long long QTextCharFormat_FontHintingPreference(void* ptr) +{ + return static_cast(ptr)->fontHintingPreference(); +} + +char QTextCharFormat_FontItalic(void* ptr) +{ + return static_cast(ptr)->fontItalic(); +} + +char QTextCharFormat_FontKerning(void* ptr) +{ + return static_cast(ptr)->fontKerning(); +} + +double QTextCharFormat_FontLetterSpacing(void* ptr) +{ + return static_cast(ptr)->fontLetterSpacing(); +} + +long long QTextCharFormat_FontLetterSpacingType(void* ptr) +{ + return static_cast(ptr)->fontLetterSpacingType(); +} + +char QTextCharFormat_FontOverline(void* ptr) +{ + return static_cast(ptr)->fontOverline(); +} + +double QTextCharFormat_FontPointSize(void* ptr) +{ + return static_cast(ptr)->fontPointSize(); +} + +int QTextCharFormat_FontStretch(void* ptr) +{ + return static_cast(ptr)->fontStretch(); +} + +char QTextCharFormat_FontStrikeOut(void* ptr) +{ + return static_cast(ptr)->fontStrikeOut(); +} + +long long QTextCharFormat_FontStyleHint(void* ptr) +{ + return static_cast(ptr)->fontStyleHint(); +} + +void* QTextCharFormat_FontStyleName(void* ptr) +{ + return new QVariant(static_cast(ptr)->fontStyleName()); +} + +long long QTextCharFormat_FontStyleStrategy(void* ptr) +{ + return static_cast(ptr)->fontStyleStrategy(); +} + +char QTextCharFormat_FontUnderline(void* ptr) +{ + return static_cast(ptr)->fontUnderline(); +} + +int QTextCharFormat_FontWeight(void* ptr) +{ + return static_cast(ptr)->fontWeight(); +} + +double QTextCharFormat_FontWordSpacing(void* ptr) +{ + return static_cast(ptr)->fontWordSpacing(); +} + +char QTextCharFormat_IsAnchor(void* ptr) +{ + return static_cast(ptr)->isAnchor(); +} + +void QTextCharFormat_SetAnchor(void* ptr, char anchor) +{ + static_cast(ptr)->setAnchor(anchor != 0); +} + +void QTextCharFormat_SetAnchorHref(void* ptr, struct QtGui_PackedString value) +{ + static_cast(ptr)->setAnchorHref(QString::fromUtf8(value.data, value.len)); +} + +void QTextCharFormat_SetAnchorNames(void* ptr, struct QtGui_PackedString names) +{ + static_cast(ptr)->setAnchorNames(QString::fromUtf8(names.data, names.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QTextCharFormat_SetFont(void* ptr, void* font, long long behavior) +{ + static_cast(ptr)->setFont(*static_cast(font), static_cast(behavior)); +} + +void QTextCharFormat_SetFont2(void* ptr, void* font) +{ + static_cast(ptr)->setFont(*static_cast(font)); +} + +void QTextCharFormat_SetFontCapitalization(void* ptr, long long capitalization) +{ + static_cast(ptr)->setFontCapitalization(static_cast(capitalization)); +} + +void QTextCharFormat_SetFontFamilies(void* ptr, struct QtGui_PackedString families) +{ + static_cast(ptr)->setFontFamilies(QString::fromUtf8(families.data, families.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QTextCharFormat_SetFontFamily(void* ptr, struct QtGui_PackedString family) +{ + static_cast(ptr)->setFontFamily(QString::fromUtf8(family.data, family.len)); +} + +void QTextCharFormat_SetFontFixedPitch(void* ptr, char fixedPitch) +{ + static_cast(ptr)->setFontFixedPitch(fixedPitch != 0); +} + +void QTextCharFormat_SetFontHintingPreference(void* ptr, long long hintingPreference) +{ + static_cast(ptr)->setFontHintingPreference(static_cast(hintingPreference)); +} + +void QTextCharFormat_SetFontItalic(void* ptr, char italic) +{ + static_cast(ptr)->setFontItalic(italic != 0); +} + +void QTextCharFormat_SetFontKerning(void* ptr, char enable) +{ + static_cast(ptr)->setFontKerning(enable != 0); +} + +void QTextCharFormat_SetFontLetterSpacing(void* ptr, double spacing) +{ + static_cast(ptr)->setFontLetterSpacing(spacing); +} + +void QTextCharFormat_SetFontLetterSpacingType(void* ptr, long long letterSpacingType) +{ + static_cast(ptr)->setFontLetterSpacingType(static_cast(letterSpacingType)); +} + +void QTextCharFormat_SetFontOverline(void* ptr, char overline) +{ + static_cast(ptr)->setFontOverline(overline != 0); +} + +void QTextCharFormat_SetFontPointSize(void* ptr, double size) +{ + static_cast(ptr)->setFontPointSize(size); +} + +void QTextCharFormat_SetFontStretch(void* ptr, int factor) +{ + static_cast(ptr)->setFontStretch(factor); +} + +void QTextCharFormat_SetFontStrikeOut(void* ptr, char strikeOut) +{ + static_cast(ptr)->setFontStrikeOut(strikeOut != 0); +} + +void QTextCharFormat_SetFontStyleHint(void* ptr, long long hint, long long strategy) +{ + static_cast(ptr)->setFontStyleHint(static_cast(hint), static_cast(strategy)); +} + +void QTextCharFormat_SetFontStyleName(void* ptr, struct QtGui_PackedString styleName) +{ + static_cast(ptr)->setFontStyleName(QString::fromUtf8(styleName.data, styleName.len)); +} + +void QTextCharFormat_SetFontStyleStrategy(void* ptr, long long strategy) +{ + static_cast(ptr)->setFontStyleStrategy(static_cast(strategy)); +} + +void QTextCharFormat_SetFontUnderline(void* ptr, char underline) +{ + static_cast(ptr)->setFontUnderline(underline != 0); +} + +void QTextCharFormat_SetFontWeight(void* ptr, int weight) +{ + static_cast(ptr)->setFontWeight(weight); +} + +void QTextCharFormat_SetFontWordSpacing(void* ptr, double spacing) +{ + static_cast(ptr)->setFontWordSpacing(spacing); +} + +void QTextCharFormat_SetTextOutline(void* ptr, void* pen) +{ + static_cast(ptr)->setTextOutline(*static_cast(pen)); +} + +void QTextCharFormat_SetToolTip(void* ptr, struct QtGui_PackedString text) +{ + static_cast(ptr)->setToolTip(QString::fromUtf8(text.data, text.len)); +} + +void QTextCharFormat_SetUnderlineColor(void* ptr, void* color) +{ + static_cast(ptr)->setUnderlineColor(*static_cast(color)); +} + +void QTextCharFormat_SetUnderlineStyle(void* ptr, long long style) +{ + static_cast(ptr)->setUnderlineStyle(static_cast(style)); +} + +void QTextCharFormat_SetVerticalAlignment(void* ptr, long long alignment) +{ + static_cast(ptr)->setVerticalAlignment(static_cast(alignment)); +} + +void* QTextCharFormat_TextOutline(void* ptr) +{ + return new QPen(static_cast(ptr)->textOutline()); +} + +struct QtGui_PackedString QTextCharFormat_ToolTip(void* ptr) +{ + return ({ QByteArray t7e7f7f = static_cast(ptr)->toolTip().toUtf8(); QtGui_PackedString { const_cast(t7e7f7f.prepend("WHITESPACE").constData()+10), t7e7f7f.size()-10 }; }); +} + +void* QTextCharFormat_UnderlineColor(void* ptr) +{ + return new QColor(static_cast(ptr)->underlineColor()); +} + +long long QTextCharFormat_UnderlineStyle(void* ptr) +{ + return static_cast(ptr)->underlineStyle(); +} + +long long QTextCharFormat_VerticalAlignment(void* ptr) +{ + return static_cast(ptr)->verticalAlignment(); +} + +void* QTextCursor_NewQTextCursor() +{ + return new QTextCursor(); +} + +void* QTextCursor_NewQTextCursor2(void* document) +{ + return new QTextCursor(static_cast(document)); +} + +void* QTextCursor_NewQTextCursor3(void* frame) +{ + return new QTextCursor(static_cast(frame)); +} + +void* QTextCursor_NewQTextCursor4(void* block) +{ + return new QTextCursor(*static_cast(block)); +} + +void* QTextCursor_NewQTextCursor5(void* cursor) +{ + return new QTextCursor(*static_cast(cursor)); +} + +int QTextCursor_Anchor(void* ptr) +{ + return static_cast(ptr)->anchor(); +} + +char QTextCursor_AtBlockEnd(void* ptr) +{ + return static_cast(ptr)->atBlockEnd(); +} + +char QTextCursor_AtBlockStart(void* ptr) +{ + return static_cast(ptr)->atBlockStart(); +} + +char QTextCursor_AtEnd(void* ptr) +{ + return static_cast(ptr)->atEnd(); +} + +char QTextCursor_AtStart(void* ptr) +{ + return static_cast(ptr)->atStart(); +} + +void QTextCursor_BeginEditBlock(void* ptr) +{ + static_cast(ptr)->beginEditBlock(); +} + +void* QTextCursor_Block(void* ptr) +{ + return new QTextBlock(static_cast(ptr)->block()); +} + +void* QTextCursor_BlockCharFormat(void* ptr) +{ + return new QTextCharFormat(static_cast(ptr)->blockCharFormat()); +} + +void* QTextCursor_BlockFormat(void* ptr) +{ + return new QTextBlockFormat(static_cast(ptr)->blockFormat()); +} + +int QTextCursor_BlockNumber(void* ptr) +{ + return static_cast(ptr)->blockNumber(); +} + +void* QTextCursor_CharFormat(void* ptr) +{ + return new QTextCharFormat(static_cast(ptr)->charFormat()); +} + +void QTextCursor_ClearSelection(void* ptr) +{ + static_cast(ptr)->clearSelection(); +} + +int QTextCursor_ColumnNumber(void* ptr) +{ + return static_cast(ptr)->columnNumber(); +} + +void* QTextCursor_CreateList(void* ptr, void* format) +{ + return static_cast(ptr)->createList(*static_cast(format)); +} + +void* QTextCursor_CreateList2(void* ptr, long long style) +{ + return static_cast(ptr)->createList(static_cast(style)); +} + +void* QTextCursor_CurrentFrame(void* ptr) +{ + return static_cast(ptr)->currentFrame(); +} + +void* QTextCursor_CurrentList(void* ptr) +{ + return static_cast(ptr)->currentList(); +} + +void* QTextCursor_CurrentTable(void* ptr) +{ + return static_cast(ptr)->currentTable(); +} + +void QTextCursor_DeleteChar(void* ptr) +{ + static_cast(ptr)->deleteChar(); +} + +void QTextCursor_DeletePreviousChar(void* ptr) +{ + static_cast(ptr)->deletePreviousChar(); +} + +void* QTextCursor_Document(void* ptr) +{ + return static_cast(ptr)->document(); +} + +void QTextCursor_EndEditBlock(void* ptr) +{ + static_cast(ptr)->endEditBlock(); +} + +char QTextCursor_HasComplexSelection(void* ptr) +{ + return static_cast(ptr)->hasComplexSelection(); +} + +char QTextCursor_HasSelection(void* ptr) +{ + return static_cast(ptr)->hasSelection(); +} + +void QTextCursor_InsertBlock(void* ptr) +{ + static_cast(ptr)->insertBlock(); +} + +void QTextCursor_InsertBlock2(void* ptr, void* format) +{ + static_cast(ptr)->insertBlock(*static_cast(format)); +} + +void QTextCursor_InsertBlock3(void* ptr, void* format, void* charFormat) +{ + static_cast(ptr)->insertBlock(*static_cast(format), *static_cast(charFormat)); +} + +void QTextCursor_InsertFragment(void* ptr, void* fragment) +{ + static_cast(ptr)->insertFragment(*static_cast(fragment)); +} + +void* QTextCursor_InsertFrame(void* ptr, void* format) +{ + return static_cast(ptr)->insertFrame(*static_cast(format)); +} + +void QTextCursor_InsertHtml(void* ptr, struct QtGui_PackedString html) +{ + static_cast(ptr)->insertHtml(QString::fromUtf8(html.data, html.len)); +} + +void QTextCursor_InsertImage(void* ptr, void* format) +{ + static_cast(ptr)->insertImage(*static_cast(format)); +} + +void QTextCursor_InsertImage2(void* ptr, void* format, long long alignment) +{ + static_cast(ptr)->insertImage(*static_cast(format), static_cast(alignment)); +} + +void QTextCursor_InsertImage3(void* ptr, struct QtGui_PackedString name) +{ + static_cast(ptr)->insertImage(QString::fromUtf8(name.data, name.len)); +} + +void QTextCursor_InsertImage4(void* ptr, void* image, struct QtGui_PackedString name) +{ + static_cast(ptr)->insertImage(*static_cast(image), QString::fromUtf8(name.data, name.len)); +} + +void* QTextCursor_InsertList(void* ptr, void* format) +{ + return static_cast(ptr)->insertList(*static_cast(format)); +} + +void* QTextCursor_InsertList2(void* ptr, long long style) +{ + return static_cast(ptr)->insertList(static_cast(style)); +} + +void* QTextCursor_InsertTable(void* ptr, int rows, int columns, void* format) +{ + return static_cast(ptr)->insertTable(rows, columns, *static_cast(format)); +} + +void* QTextCursor_InsertTable2(void* ptr, int rows, int columns) +{ + return static_cast(ptr)->insertTable(rows, columns); +} + +void QTextCursor_InsertText(void* ptr, struct QtGui_PackedString text) +{ + static_cast(ptr)->insertText(QString::fromUtf8(text.data, text.len)); +} + +void QTextCursor_InsertText2(void* ptr, struct QtGui_PackedString text, void* format) +{ + static_cast(ptr)->insertText(QString::fromUtf8(text.data, text.len), *static_cast(format)); +} + +char QTextCursor_IsCopyOf(void* ptr, void* other) +{ + return static_cast(ptr)->isCopyOf(*static_cast(other)); +} + +char QTextCursor_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +void QTextCursor_JoinPreviousEditBlock(void* ptr) +{ + static_cast(ptr)->joinPreviousEditBlock(); +} + +char QTextCursor_KeepPositionOnInsert(void* ptr) +{ + return static_cast(ptr)->keepPositionOnInsert(); +} + +void QTextCursor_MergeBlockCharFormat(void* ptr, void* modifier) +{ + static_cast(ptr)->mergeBlockCharFormat(*static_cast(modifier)); +} + +void QTextCursor_MergeBlockFormat(void* ptr, void* modifier) +{ + static_cast(ptr)->mergeBlockFormat(*static_cast(modifier)); +} + +void QTextCursor_MergeCharFormat(void* ptr, void* modifier) +{ + static_cast(ptr)->mergeCharFormat(*static_cast(modifier)); +} + +char QTextCursor_MovePosition(void* ptr, long long operation, long long mode, int n) +{ + return static_cast(ptr)->movePosition(static_cast(operation), static_cast(mode), n); +} + +int QTextCursor_Position(void* ptr) +{ + return static_cast(ptr)->position(); +} + +int QTextCursor_PositionInBlock(void* ptr) +{ + return static_cast(ptr)->positionInBlock(); +} + +void QTextCursor_RemoveSelectedText(void* ptr) +{ + static_cast(ptr)->removeSelectedText(); +} + +void QTextCursor_Select(void* ptr, long long selection) +{ + static_cast(ptr)->select(static_cast(selection)); +} + +void QTextCursor_SelectedTableCells(void* ptr, int firstRow, int numRows, int firstColumn, int numColumns) +{ + static_cast(ptr)->selectedTableCells(&firstRow, &numRows, &firstColumn, &numColumns); +} + +struct QtGui_PackedString QTextCursor_SelectedText(void* ptr) +{ + return ({ QByteArray t495ef8 = static_cast(ptr)->selectedText().toUtf8(); QtGui_PackedString { const_cast(t495ef8.prepend("WHITESPACE").constData()+10), t495ef8.size()-10 }; }); +} + +void* QTextCursor_Selection(void* ptr) +{ + return new QTextDocumentFragment(static_cast(ptr)->selection()); +} + +int QTextCursor_SelectionEnd(void* ptr) +{ + return static_cast(ptr)->selectionEnd(); +} + +int QTextCursor_SelectionStart(void* ptr) +{ + return static_cast(ptr)->selectionStart(); +} + +void QTextCursor_SetBlockCharFormat(void* ptr, void* format) +{ + static_cast(ptr)->setBlockCharFormat(*static_cast(format)); +} + +void QTextCursor_SetBlockFormat(void* ptr, void* format) +{ + static_cast(ptr)->setBlockFormat(*static_cast(format)); +} + +void QTextCursor_SetCharFormat(void* ptr, void* format) +{ + static_cast(ptr)->setCharFormat(*static_cast(format)); +} + +void QTextCursor_SetKeepPositionOnInsert(void* ptr, char b) +{ + static_cast(ptr)->setKeepPositionOnInsert(b != 0); +} + +void QTextCursor_SetPosition(void* ptr, int pos, long long m) +{ + static_cast(ptr)->setPosition(pos, static_cast(m)); +} + +void QTextCursor_SetVerticalMovementX(void* ptr, int x) +{ + static_cast(ptr)->setVerticalMovementX(x); +} + +void QTextCursor_SetVisualNavigation(void* ptr, char b) +{ + static_cast(ptr)->setVisualNavigation(b != 0); +} + +void QTextCursor_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +int QTextCursor_VerticalMovementX(void* ptr) +{ + return static_cast(ptr)->verticalMovementX(); +} + +char QTextCursor_VisualNavigation(void* ptr) +{ + return static_cast(ptr)->visualNavigation(); +} + +void QTextCursor_DestroyQTextCursor(void* ptr) +{ + static_cast(ptr)->~QTextCursor(); +} + +class MyQTextDocument: public QTextDocument +{ +public: + MyQTextDocument(QObject *parent = Q_NULLPTR) : QTextDocument(parent) {QTextDocument_QTextDocument_QRegisterMetaType();}; + MyQTextDocument(const QString &text, QObject *parent = Q_NULLPTR) : QTextDocument(text, parent) {QTextDocument_QTextDocument_QRegisterMetaType();}; + void Signal_BaseUrlChanged(const QUrl & url) { callbackQTextDocument_BaseUrlChanged(this, const_cast(&url)); }; + void Signal_BlockCountChanged(int newBlockCount) { callbackQTextDocument_BlockCountChanged(this, newBlockCount); }; + void clear() { callbackQTextDocument_Clear(this); }; + void Signal_ContentsChange(int position, int charsRemoved, int charsAdded) { callbackQTextDocument_ContentsChange(this, position, charsRemoved, charsAdded); }; + void Signal_ContentsChanged() { callbackQTextDocument_ContentsChanged(this); }; + QTextObject * createObject(const QTextFormat & format) { return static_cast(callbackQTextDocument_CreateObject(this, const_cast(&format))); }; + void Signal_CursorPositionChanged(const QTextCursor & cursor) { callbackQTextDocument_CursorPositionChanged(this, const_cast(&cursor)); }; + void Signal_DocumentLayoutChanged() { callbackQTextDocument_DocumentLayoutChanged(this); }; + QVariant loadResource(int ty, const QUrl & name) { return *static_cast(callbackQTextDocument_LoadResource(this, ty, const_cast(&name))); }; + void Signal_ModificationChanged(bool changed) { callbackQTextDocument_ModificationChanged(this, changed); }; + void redo() { callbackQTextDocument_Redo2(this); }; + void Signal_RedoAvailable(bool available) { callbackQTextDocument_RedoAvailable(this, available); }; + void setModified(bool m) { callbackQTextDocument_SetModified(this, m); }; + void undo() { callbackQTextDocument_Undo2(this); }; + void Signal_UndoAvailable(bool available) { callbackQTextDocument_UndoAvailable(this, available); }; + void Signal_UndoCommandAdded() { callbackQTextDocument_UndoCommandAdded(this); }; + ~MyQTextDocument() { callbackQTextDocument_DestroyQTextDocument(this); }; + void childEvent(QChildEvent * event) { callbackQTextDocument_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQTextDocument_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQTextDocument_CustomEvent(this, event); }; + void deleteLater() { callbackQTextDocument_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQTextDocument_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQTextDocument_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQTextDocument_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQTextDocument_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQTextDocument_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQTextDocument_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQTextDocument_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTextDocument*) + +int QTextDocument_QTextDocument_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTextDocument_NewQTextDocument(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(static_cast(parent)); + } else { + return new MyQTextDocument(static_cast(parent)); + } +} + +void* QTextDocument_NewQTextDocument2(struct QtGui_PackedString text, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } else { + return new MyQTextDocument(QString::fromUtf8(text.data, text.len), static_cast(parent)); + } +} + +void QTextDocument_AddResource(void* ptr, int ty, void* name, void* resource) +{ + static_cast(ptr)->addResource(ty, *static_cast(name), *static_cast(resource)); +} + +void QTextDocument_AdjustSize(void* ptr) +{ + static_cast(ptr)->adjustSize(); +} + +struct QtGui_PackedList QTextDocument_AllFormats(void* ptr) +{ + return ({ QVector* tmpValued4e73f = new QVector(static_cast(ptr)->allFormats()); QtGui_PackedList { tmpValued4e73f, tmpValued4e73f->size() }; }); +} + +int QTextDocument_AvailableRedoSteps(void* ptr) +{ + return static_cast(ptr)->availableRedoSteps(); +} + +int QTextDocument_AvailableUndoSteps(void* ptr) +{ + return static_cast(ptr)->availableUndoSteps(); +} + +void* QTextDocument_BaseUrl(void* ptr) +{ + return new QUrl(static_cast(ptr)->baseUrl()); +} + +void QTextDocument_ConnectBaseUrlChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::baseUrlChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_BaseUrlChanged), static_cast(t)); +} + +void QTextDocument_DisconnectBaseUrlChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::baseUrlChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_BaseUrlChanged)); +} + +void QTextDocument_BaseUrlChanged(void* ptr, void* url) +{ + static_cast(ptr)->baseUrlChanged(*static_cast(url)); +} + +void* QTextDocument_Begin(void* ptr) +{ + return new QTextBlock(static_cast(ptr)->begin()); +} + +int QTextDocument_BlockCount(void* ptr) +{ + return static_cast(ptr)->blockCount(); +} + +void QTextDocument_ConnectBlockCountChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::blockCountChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_BlockCountChanged), static_cast(t)); +} + +void QTextDocument_DisconnectBlockCountChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::blockCountChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_BlockCountChanged)); +} + +void QTextDocument_BlockCountChanged(void* ptr, int newBlockCount) +{ + static_cast(ptr)->blockCountChanged(newBlockCount); +} + +void* QTextDocument_CharacterAt(void* ptr, int pos) +{ + return new QChar(static_cast(ptr)->characterAt(pos)); +} + +int QTextDocument_CharacterCount(void* ptr) +{ + return static_cast(ptr)->characterCount(); +} + +void QTextDocument_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +void QTextDocument_ClearDefault(void* ptr) +{ + static_cast(ptr)->QTextDocument::clear(); +} + +void QTextDocument_ClearUndoRedoStacks(void* ptr, long long stacksToClear) +{ + static_cast(ptr)->clearUndoRedoStacks(static_cast(stacksToClear)); +} + +void* QTextDocument_Clone(void* ptr, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return static_cast(ptr)->clone(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return static_cast(ptr)->clone(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return static_cast(ptr)->clone(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return static_cast(ptr)->clone(static_cast(parent)); + } else { + return static_cast(ptr)->clone(static_cast(parent)); + } +} + +void QTextDocument_ConnectContentsChange(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::contentsChange), static_cast(ptr), static_cast(&MyQTextDocument::Signal_ContentsChange), static_cast(t)); +} + +void QTextDocument_DisconnectContentsChange(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::contentsChange), static_cast(ptr), static_cast(&MyQTextDocument::Signal_ContentsChange)); +} + +void QTextDocument_ContentsChange(void* ptr, int position, int charsRemoved, int charsAdded) +{ + static_cast(ptr)->contentsChange(position, charsRemoved, charsAdded); +} + +void QTextDocument_ConnectContentsChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::contentsChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_ContentsChanged), static_cast(t)); +} + +void QTextDocument_DisconnectContentsChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::contentsChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_ContentsChanged)); +} + +void QTextDocument_ContentsChanged(void* ptr) +{ + static_cast(ptr)->contentsChanged(); +} + +void* QTextDocument_CreateObject(void* ptr, void* format) +{ + return static_cast(ptr)->createObject(*static_cast(format)); +} + +void* QTextDocument_CreateObjectDefault(void* ptr, void* format) +{ + return static_cast(ptr)->QTextDocument::createObject(*static_cast(format)); +} + +void QTextDocument_ConnectCursorPositionChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::cursorPositionChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_CursorPositionChanged), static_cast(t)); +} + +void QTextDocument_DisconnectCursorPositionChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::cursorPositionChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_CursorPositionChanged)); +} + +void QTextDocument_CursorPositionChanged(void* ptr, void* cursor) +{ + static_cast(ptr)->cursorPositionChanged(*static_cast(cursor)); +} + +long long QTextDocument_DefaultCursorMoveStyle(void* ptr) +{ + return static_cast(ptr)->defaultCursorMoveStyle(); +} + +void* QTextDocument_DefaultFont(void* ptr) +{ + return new QFont(static_cast(ptr)->defaultFont()); +} + +struct QtGui_PackedString QTextDocument_DefaultStyleSheet(void* ptr) +{ + return ({ QByteArray t95f0f4 = static_cast(ptr)->defaultStyleSheet().toUtf8(); QtGui_PackedString { const_cast(t95f0f4.prepend("WHITESPACE").constData()+10), t95f0f4.size()-10 }; }); +} + +void* QTextDocument_DefaultTextOption(void* ptr) +{ + return new QTextOption(static_cast(ptr)->defaultTextOption()); +} + +void* QTextDocument_DocumentLayout(void* ptr) +{ + return static_cast(ptr)->documentLayout(); +} + +void QTextDocument_ConnectDocumentLayoutChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::documentLayoutChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_DocumentLayoutChanged), static_cast(t)); +} + +void QTextDocument_DisconnectDocumentLayoutChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::documentLayoutChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_DocumentLayoutChanged)); +} + +void QTextDocument_DocumentLayoutChanged(void* ptr) +{ + static_cast(ptr)->documentLayoutChanged(); +} + +double QTextDocument_DocumentMargin(void* ptr) +{ + return static_cast(ptr)->documentMargin(); +} + +void QTextDocument_DrawContents(void* ptr, void* p, void* rect) +{ + static_cast(ptr)->drawContents(static_cast(p), *static_cast(rect)); +} + +void* QTextDocument_End(void* ptr) +{ + return new QTextBlock(static_cast(ptr)->end()); +} + +void* QTextDocument_Find(void* ptr, struct QtGui_PackedString subString, void* cursor, long long options) +{ + return new QTextCursor(static_cast(ptr)->find(QString::fromUtf8(subString.data, subString.len), *static_cast(cursor), static_cast(options))); +} + +void* QTextDocument_Find2(void* ptr, struct QtGui_PackedString subString, int position, long long options) +{ + return new QTextCursor(static_cast(ptr)->find(QString::fromUtf8(subString.data, subString.len), position, static_cast(options))); +} + +void* QTextDocument_Find3(void* ptr, void* expr, int from, long long options) +{ + return new QTextCursor(static_cast(ptr)->find(*static_cast(expr), from, static_cast(options))); +} + +void* QTextDocument_Find4(void* ptr, void* expr, void* cursor, long long options) +{ + return new QTextCursor(static_cast(ptr)->find(*static_cast(expr), *static_cast(cursor), static_cast(options))); +} + +void* QTextDocument_Find5(void* ptr, void* expr, int from, long long options) +{ + return new QTextCursor(static_cast(ptr)->find(*static_cast(expr), from, static_cast(options))); +} + +void* QTextDocument_Find6(void* ptr, void* expr, void* cursor, long long options) +{ + return new QTextCursor(static_cast(ptr)->find(*static_cast(expr), *static_cast(cursor), static_cast(options))); +} + +void* QTextDocument_FindBlock(void* ptr, int pos) +{ + return new QTextBlock(static_cast(ptr)->findBlock(pos)); +} + +void* QTextDocument_FindBlockByLineNumber(void* ptr, int lineNumber) +{ + return new QTextBlock(static_cast(ptr)->findBlockByLineNumber(lineNumber)); +} + +void* QTextDocument_FindBlockByNumber(void* ptr, int blockNumber) +{ + return new QTextBlock(static_cast(ptr)->findBlockByNumber(blockNumber)); +} + +void* QTextDocument_FirstBlock(void* ptr) +{ + return new QTextBlock(static_cast(ptr)->firstBlock()); +} + +double QTextDocument_IdealWidth(void* ptr) +{ + return static_cast(ptr)->idealWidth(); +} + +double QTextDocument_IndentWidth(void* ptr) +{ + return static_cast(ptr)->indentWidth(); +} + +char QTextDocument_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QTextDocument_IsModified(void* ptr) +{ + return static_cast(ptr)->isModified(); +} + +char QTextDocument_IsRedoAvailable(void* ptr) +{ + return static_cast(ptr)->isRedoAvailable(); +} + +char QTextDocument_IsUndoAvailable(void* ptr) +{ + return static_cast(ptr)->isUndoAvailable(); +} + +char QTextDocument_IsUndoRedoEnabled(void* ptr) +{ + return static_cast(ptr)->isUndoRedoEnabled(); +} + +void* QTextDocument_LastBlock(void* ptr) +{ + return new QTextBlock(static_cast(ptr)->lastBlock()); +} + +int QTextDocument_LineCount(void* ptr) +{ + return static_cast(ptr)->lineCount(); +} + +void* QTextDocument_LoadResource(void* ptr, int ty, void* name) +{ + return new QVariant(static_cast(ptr)->loadResource(ty, *static_cast(name))); +} + +void* QTextDocument_LoadResourceDefault(void* ptr, int ty, void* name) +{ + return new QVariant(static_cast(ptr)->QTextDocument::loadResource(ty, *static_cast(name))); +} + +void QTextDocument_MarkContentsDirty(void* ptr, int position, int length) +{ + static_cast(ptr)->markContentsDirty(position, length); +} + +int QTextDocument_MaximumBlockCount(void* ptr) +{ + return static_cast(ptr)->maximumBlockCount(); +} + +struct QtGui_PackedString QTextDocument_MetaInformation(void* ptr, long long info) +{ + return ({ QByteArray ta91ae2 = static_cast(ptr)->metaInformation(static_cast(info)).toUtf8(); QtGui_PackedString { const_cast(ta91ae2.prepend("WHITESPACE").constData()+10), ta91ae2.size()-10 }; }); +} + +void QTextDocument_ConnectModificationChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::modificationChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_ModificationChanged), static_cast(t)); +} + +void QTextDocument_DisconnectModificationChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::modificationChanged), static_cast(ptr), static_cast(&MyQTextDocument::Signal_ModificationChanged)); +} + +void QTextDocument_ModificationChanged(void* ptr, char changed) +{ + static_cast(ptr)->modificationChanged(changed != 0); +} + +void* QTextDocument_Object(void* ptr, int objectIndex) +{ + return static_cast(ptr)->object(objectIndex); +} + +void* QTextDocument_ObjectForFormat(void* ptr, void* ff) +{ + return static_cast(ptr)->objectForFormat(*static_cast(ff)); +} + +int QTextDocument_PageCount(void* ptr) +{ + return static_cast(ptr)->pageCount(); +} + +void* QTextDocument_PageSize(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->pageSize(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void QTextDocument_Print(void* ptr, void* printer) +{ +#ifndef Q_OS_IOS + if (dynamic_cast(static_cast(printer))) { + static_cast(ptr)->print(static_cast(printer)); + } else { + static_cast(ptr)->print(static_cast(printer)); + } +#endif +} + +void QTextDocument_Redo(void* ptr, void* cursor) +{ + static_cast(ptr)->redo(static_cast(cursor)); +} + +void QTextDocument_Redo2(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "redo"); +} + +void QTextDocument_Redo2Default(void* ptr) +{ + static_cast(ptr)->QTextDocument::redo(); +} + +void QTextDocument_ConnectRedoAvailable(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::redoAvailable), static_cast(ptr), static_cast(&MyQTextDocument::Signal_RedoAvailable), static_cast(t)); +} + +void QTextDocument_DisconnectRedoAvailable(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::redoAvailable), static_cast(ptr), static_cast(&MyQTextDocument::Signal_RedoAvailable)); +} + +void QTextDocument_RedoAvailable(void* ptr, char available) +{ + static_cast(ptr)->redoAvailable(available != 0); +} + +void* QTextDocument_Resource(void* ptr, int ty, void* name) +{ + return new QVariant(static_cast(ptr)->resource(ty, *static_cast(name))); +} + +int QTextDocument_Revision(void* ptr) +{ + return static_cast(ptr)->revision(); +} + +void* QTextDocument_RootFrame(void* ptr) +{ + return static_cast(ptr)->rootFrame(); +} + +void QTextDocument_SetBaseUrl(void* ptr, void* url) +{ + static_cast(ptr)->setBaseUrl(*static_cast(url)); +} + +void QTextDocument_SetDefaultCursorMoveStyle(void* ptr, long long style) +{ + static_cast(ptr)->setDefaultCursorMoveStyle(static_cast(style)); +} + +void QTextDocument_SetDefaultFont(void* ptr, void* font) +{ + static_cast(ptr)->setDefaultFont(*static_cast(font)); +} + +void QTextDocument_SetDefaultStyleSheet(void* ptr, struct QtGui_PackedString sheet) +{ + static_cast(ptr)->setDefaultStyleSheet(QString::fromUtf8(sheet.data, sheet.len)); +} + +void QTextDocument_SetDefaultTextOption(void* ptr, void* option) +{ + static_cast(ptr)->setDefaultTextOption(*static_cast(option)); +} + +void QTextDocument_SetDocumentLayout(void* ptr, void* layout) +{ + static_cast(ptr)->setDocumentLayout(static_cast(layout)); +} + +void QTextDocument_SetDocumentMargin(void* ptr, double margin) +{ + static_cast(ptr)->setDocumentMargin(margin); +} + +void QTextDocument_SetHtml(void* ptr, struct QtGui_PackedString html) +{ + static_cast(ptr)->setHtml(QString::fromUtf8(html.data, html.len)); +} + +void QTextDocument_SetIndentWidth(void* ptr, double width) +{ + static_cast(ptr)->setIndentWidth(width); +} + +void QTextDocument_SetMaximumBlockCount(void* ptr, int maximum) +{ + static_cast(ptr)->setMaximumBlockCount(maximum); +} + +void QTextDocument_SetMetaInformation(void* ptr, long long info, struct QtGui_PackedString stri) +{ + static_cast(ptr)->setMetaInformation(static_cast(info), QString::fromUtf8(stri.data, stri.len)); +} + +void QTextDocument_SetModified(void* ptr, char m) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setModified", Q_ARG(bool, m != 0)); +} + +void QTextDocument_SetModifiedDefault(void* ptr, char m) +{ + static_cast(ptr)->QTextDocument::setModified(m != 0); +} + +void QTextDocument_SetPageSize(void* ptr, void* size) +{ + static_cast(ptr)->setPageSize(*static_cast(size)); +} + +void QTextDocument_SetPlainText(void* ptr, struct QtGui_PackedString text) +{ + static_cast(ptr)->setPlainText(QString::fromUtf8(text.data, text.len)); +} + +void QTextDocument_SetTextWidth(void* ptr, double width) +{ + static_cast(ptr)->setTextWidth(width); +} + +void QTextDocument_SetUndoRedoEnabled(void* ptr, char enable) +{ + static_cast(ptr)->setUndoRedoEnabled(enable != 0); +} + +void QTextDocument_SetUseDesignMetrics(void* ptr, char b) +{ + static_cast(ptr)->setUseDesignMetrics(b != 0); +} + +void* QTextDocument_Size(void* ptr) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->size(); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +double QTextDocument_TextWidth(void* ptr) +{ + return static_cast(ptr)->textWidth(); +} + +struct QtGui_PackedString QTextDocument_ToHtml(void* ptr, void* encoding) +{ + return ({ QByteArray t48be10 = static_cast(ptr)->toHtml(*static_cast(encoding)).toUtf8(); QtGui_PackedString { const_cast(t48be10.prepend("WHITESPACE").constData()+10), t48be10.size()-10 }; }); +} + +struct QtGui_PackedString QTextDocument_ToPlainText(void* ptr) +{ + return ({ QByteArray t7d8da3 = static_cast(ptr)->toPlainText().toUtf8(); QtGui_PackedString { const_cast(t7d8da3.prepend("WHITESPACE").constData()+10), t7d8da3.size()-10 }; }); +} + +struct QtGui_PackedString QTextDocument_ToRawText(void* ptr) +{ + return ({ QByteArray td710b1 = static_cast(ptr)->toRawText().toUtf8(); QtGui_PackedString { const_cast(td710b1.prepend("WHITESPACE").constData()+10), td710b1.size()-10 }; }); +} + +void QTextDocument_Undo(void* ptr, void* cursor) +{ + static_cast(ptr)->undo(static_cast(cursor)); +} + +void QTextDocument_Undo2(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "undo"); +} + +void QTextDocument_Undo2Default(void* ptr) +{ + static_cast(ptr)->QTextDocument::undo(); +} + +void QTextDocument_ConnectUndoAvailable(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::undoAvailable), static_cast(ptr), static_cast(&MyQTextDocument::Signal_UndoAvailable), static_cast(t)); +} + +void QTextDocument_DisconnectUndoAvailable(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::undoAvailable), static_cast(ptr), static_cast(&MyQTextDocument::Signal_UndoAvailable)); +} + +void QTextDocument_UndoAvailable(void* ptr, char available) +{ + static_cast(ptr)->undoAvailable(available != 0); +} + +void QTextDocument_ConnectUndoCommandAdded(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTextDocument::undoCommandAdded), static_cast(ptr), static_cast(&MyQTextDocument::Signal_UndoCommandAdded), static_cast(t)); +} + +void QTextDocument_DisconnectUndoCommandAdded(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTextDocument::undoCommandAdded), static_cast(ptr), static_cast(&MyQTextDocument::Signal_UndoCommandAdded)); +} + +void QTextDocument_UndoCommandAdded(void* ptr) +{ + static_cast(ptr)->undoCommandAdded(); +} + +char QTextDocument_UseDesignMetrics(void* ptr) +{ + return static_cast(ptr)->useDesignMetrics(); +} + +void QTextDocument_DestroyQTextDocument(void* ptr) +{ + static_cast(ptr)->~QTextDocument(); +} + +void QTextDocument_DestroyQTextDocumentDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTextDocument___allFormats_atList(void* ptr, int i) +{ + return new QTextFormat(({QTextFormat tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QTextDocument___allFormats_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextDocument___allFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QTextDocument___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextDocument___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QTextDocument___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextDocument___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTextDocument___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextDocument___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextDocument___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextDocument___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QTextDocument___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextDocument___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextDocument___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QTextDocument___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextDocument___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextDocument___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QTextDocument___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QTextDocument_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QTextDocument::childEvent(static_cast(event)); +} + +void QTextDocument_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QTextDocument::connectNotify(*static_cast(sign)); +} + +void QTextDocument_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QTextDocument::customEvent(static_cast(event)); +} + +void QTextDocument_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QTextDocument::deleteLater(); +} + +void QTextDocument_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QTextDocument::disconnectNotify(*static_cast(sign)); +} + +char QTextDocument_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QTextDocument::event(static_cast(e)); +} + +char QTextDocument_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextDocument::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextDocument::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextDocument::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextDocument::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QTextDocument::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QTextDocument_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QTextDocument::metaObject()); +} + +void QTextDocument_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QTextDocument::timerEvent(static_cast(event)); +} + +void* QTextDocumentFragment_NewQTextDocumentFragment() +{ + return new QTextDocumentFragment(); +} + +void* QTextDocumentFragment_NewQTextDocumentFragment2(void* document) +{ + return new QTextDocumentFragment(static_cast(document)); +} + +void* QTextDocumentFragment_NewQTextDocumentFragment3(void* cursor) +{ + return new QTextDocumentFragment(*static_cast(cursor)); +} + +void* QTextDocumentFragment_NewQTextDocumentFragment4(void* other) +{ + return new QTextDocumentFragment(*static_cast(other)); +} + +void* QTextDocumentFragment_QTextDocumentFragment_FromHtml(struct QtGui_PackedString text) +{ + return new QTextDocumentFragment(QTextDocumentFragment::fromHtml(QString::fromUtf8(text.data, text.len))); +} + +void* QTextDocumentFragment_QTextDocumentFragment_FromHtml2(struct QtGui_PackedString text, void* resourceProvider) +{ + return new QTextDocumentFragment(QTextDocumentFragment::fromHtml(QString::fromUtf8(text.data, text.len), static_cast(resourceProvider))); +} + +void* QTextDocumentFragment_QTextDocumentFragment_FromPlainText(struct QtGui_PackedString plainText) +{ + return new QTextDocumentFragment(QTextDocumentFragment::fromPlainText(QString::fromUtf8(plainText.data, plainText.len))); +} + +char QTextDocumentFragment_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +struct QtGui_PackedString QTextDocumentFragment_ToHtml(void* ptr, void* encoding) +{ + return ({ QByteArray t6dea0f = static_cast(ptr)->toHtml(*static_cast(encoding)).toUtf8(); QtGui_PackedString { const_cast(t6dea0f.prepend("WHITESPACE").constData()+10), t6dea0f.size()-10 }; }); +} + +struct QtGui_PackedString QTextDocumentFragment_ToPlainText(void* ptr) +{ + return ({ QByteArray td3666e = static_cast(ptr)->toPlainText().toUtf8(); QtGui_PackedString { const_cast(td3666e.prepend("WHITESPACE").constData()+10), td3666e.size()-10 }; }); +} + +void QTextDocumentFragment_DestroyQTextDocumentFragment(void* ptr) +{ + static_cast(ptr)->~QTextDocumentFragment(); +} + +void* QTextDocumentWriter_NewQTextDocumentWriter() +{ + return new QTextDocumentWriter(); +} + +void* QTextDocumentWriter_NewQTextDocumentWriter2(void* device, void* format) +{ + return new QTextDocumentWriter(static_cast(device), *static_cast(format)); +} + +void* QTextDocumentWriter_NewQTextDocumentWriter3(struct QtGui_PackedString fileName, void* format) +{ + return new QTextDocumentWriter(QString::fromUtf8(fileName.data, fileName.len), *static_cast(format)); +} + +void* QTextDocumentWriter_Codec(void* ptr) +{ + return static_cast(ptr)->codec(); +} + +void* QTextDocumentWriter_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +struct QtGui_PackedString QTextDocumentWriter_FileName(void* ptr) +{ + return ({ QByteArray tbc6b5c = static_cast(ptr)->fileName().toUtf8(); QtGui_PackedString { const_cast(tbc6b5c.prepend("WHITESPACE").constData()+10), tbc6b5c.size()-10 }; }); +} + +void* QTextDocumentWriter_Format(void* ptr) +{ + return new QByteArray(static_cast(ptr)->format()); +} + +void QTextDocumentWriter_SetCodec(void* ptr, void* codec) +{ + static_cast(ptr)->setCodec(static_cast(codec)); +} + +void QTextDocumentWriter_SetDevice(void* ptr, void* device) +{ + static_cast(ptr)->setDevice(static_cast(device)); +} + +void QTextDocumentWriter_SetFileName(void* ptr, struct QtGui_PackedString fileName) +{ + static_cast(ptr)->setFileName(QString::fromUtf8(fileName.data, fileName.len)); +} + +void QTextDocumentWriter_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +struct QtGui_PackedList QTextDocumentWriter_QTextDocumentWriter_SupportedDocumentFormats() +{ + return ({ QList* tmpValue35469a = new QList(QTextDocumentWriter::supportedDocumentFormats()); QtGui_PackedList { tmpValue35469a, tmpValue35469a->size() }; }); +} + +char QTextDocumentWriter_Write(void* ptr, void* document) +{ + return static_cast(ptr)->write(static_cast(document)); +} + +char QTextDocumentWriter_Write2(void* ptr, void* fragment) +{ + return static_cast(ptr)->write(*static_cast(fragment)); +} + +void QTextDocumentWriter_DestroyQTextDocumentWriter(void* ptr) +{ + static_cast(ptr)->~QTextDocumentWriter(); +} + +void* QTextDocumentWriter___supportedDocumentFormats_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTextDocumentWriter___supportedDocumentFormats_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextDocumentWriter___supportedDocumentFormats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextFormat_NewQTextFormat() +{ + return new QTextFormat(); +} + +void* QTextFormat_NewQTextFormat2(int ty) +{ + return new QTextFormat(ty); +} + +void* QTextFormat_NewQTextFormat3(void* other) +{ + return new QTextFormat(*static_cast(other)); +} + +void* QTextFormat_Background(void* ptr) +{ + return new QBrush(static_cast(ptr)->background()); +} + +char QTextFormat_BoolProperty(void* ptr, int propertyId) +{ + return static_cast(ptr)->boolProperty(propertyId); +} + +void* QTextFormat_BrushProperty(void* ptr, int propertyId) +{ + return new QBrush(static_cast(ptr)->brushProperty(propertyId)); +} + +void QTextFormat_ClearBackground(void* ptr) +{ + static_cast(ptr)->clearBackground(); +} + +void QTextFormat_ClearForeground(void* ptr) +{ + static_cast(ptr)->clearForeground(); +} + +void QTextFormat_ClearProperty(void* ptr, int propertyId) +{ + static_cast(ptr)->clearProperty(propertyId); +} + +void* QTextFormat_ColorProperty(void* ptr, int propertyId) +{ + return new QColor(static_cast(ptr)->colorProperty(propertyId)); +} + +double QTextFormat_DoubleProperty(void* ptr, int propertyId) +{ + return static_cast(ptr)->doubleProperty(propertyId); +} + +void* QTextFormat_Foreground(void* ptr) +{ + return new QBrush(static_cast(ptr)->foreground()); +} + +char QTextFormat_HasProperty(void* ptr, int propertyId) +{ + return static_cast(ptr)->hasProperty(propertyId); +} + +int QTextFormat_IntProperty(void* ptr, int propertyId) +{ + return static_cast(ptr)->intProperty(propertyId); +} + +char QTextFormat_IsBlockFormat(void* ptr) +{ + return static_cast(ptr)->isBlockFormat(); +} + +char QTextFormat_IsCharFormat(void* ptr) +{ + return static_cast(ptr)->isCharFormat(); +} + +char QTextFormat_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QTextFormat_IsFrameFormat(void* ptr) +{ + return static_cast(ptr)->isFrameFormat(); +} + +char QTextFormat_IsImageFormat(void* ptr) +{ + return static_cast(ptr)->isImageFormat(); +} + +char QTextFormat_IsListFormat(void* ptr) +{ + return static_cast(ptr)->isListFormat(); +} + +char QTextFormat_IsTableCellFormat(void* ptr) +{ + return static_cast(ptr)->isTableCellFormat(); +} + +char QTextFormat_IsTableFormat(void* ptr) +{ + return static_cast(ptr)->isTableFormat(); +} + +char QTextFormat_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +long long QTextFormat_LayoutDirection(void* ptr) +{ + return static_cast(ptr)->layoutDirection(); +} + +void* QTextFormat_LengthProperty(void* ptr, int propertyId) +{ + return new QTextLength(static_cast(ptr)->lengthProperty(propertyId)); +} + +void QTextFormat_Merge(void* ptr, void* other) +{ + static_cast(ptr)->merge(*static_cast(other)); +} + +int QTextFormat_ObjectIndex(void* ptr) +{ + return static_cast(ptr)->objectIndex(); +} + +int QTextFormat_ObjectType(void* ptr) +{ + return static_cast(ptr)->objectType(); +} + +void* QTextFormat_PenProperty(void* ptr, int propertyId) +{ + return new QPen(static_cast(ptr)->penProperty(propertyId)); +} + +struct QtGui_PackedList QTextFormat_Properties(void* ptr) +{ + return ({ QMap* tmpValue43f710 = new QMap(static_cast(ptr)->properties()); QtGui_PackedList { tmpValue43f710, tmpValue43f710->size() }; }); +} + +void* QTextFormat_Property(void* ptr, int propertyId) +{ + return new QVariant(static_cast(ptr)->property(propertyId)); +} + +int QTextFormat_PropertyCount(void* ptr) +{ + return static_cast(ptr)->propertyCount(); +} + +void QTextFormat_SetBackground(void* ptr, void* brush) +{ + static_cast(ptr)->setBackground(*static_cast(brush)); +} + +void QTextFormat_SetForeground(void* ptr, void* brush) +{ + static_cast(ptr)->setForeground(*static_cast(brush)); +} + +void QTextFormat_SetLayoutDirection(void* ptr, long long direction) +{ + static_cast(ptr)->setLayoutDirection(static_cast(direction)); +} + +void QTextFormat_SetObjectIndex(void* ptr, int index) +{ + static_cast(ptr)->setObjectIndex(index); +} + +void QTextFormat_SetObjectType(void* ptr, int ty) +{ + static_cast(ptr)->setObjectType(ty); +} + +void QTextFormat_SetProperty(void* ptr, int propertyId, void* value) +{ + static_cast(ptr)->setProperty(propertyId, *static_cast(value)); +} + +void QTextFormat_SetProperty2(void* ptr, int propertyId, void* value) +{ + static_cast(ptr)->setProperty(propertyId, *static_cast*>(value)); +} + +struct QtGui_PackedString QTextFormat_StringProperty(void* ptr, int propertyId) +{ + return ({ QByteArray tb40d27 = static_cast(ptr)->stringProperty(propertyId).toUtf8(); QtGui_PackedString { const_cast(tb40d27.prepend("WHITESPACE").constData()+10), tb40d27.size()-10 }; }); +} + +void QTextFormat_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QTextFormat_ToBlockFormat(void* ptr) +{ + return new QTextBlockFormat(static_cast(ptr)->toBlockFormat()); +} + +void* QTextFormat_ToCharFormat(void* ptr) +{ + return new QTextCharFormat(static_cast(ptr)->toCharFormat()); +} + +void* QTextFormat_ToFrameFormat(void* ptr) +{ + return new QTextFrameFormat(static_cast(ptr)->toFrameFormat()); +} + +void* QTextFormat_ToImageFormat(void* ptr) +{ + return new QTextImageFormat(static_cast(ptr)->toImageFormat()); +} + +void* QTextFormat_ToListFormat(void* ptr) +{ + return new QTextListFormat(static_cast(ptr)->toListFormat()); +} + +void* QTextFormat_ToTableCellFormat(void* ptr) +{ + return new QTextTableCellFormat(static_cast(ptr)->toTableCellFormat()); +} + +void* QTextFormat_ToTableFormat(void* ptr) +{ + return new QTextTableFormat(static_cast(ptr)->toTableFormat()); +} + +int QTextFormat_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QTextFormat_DestroyQTextFormat(void* ptr) +{ + static_cast(ptr)->~QTextFormat(); +} + +void* QTextFormat___lengthVectorProperty_atList(void* ptr, int i) +{ + return new QTextLength(({QTextLength tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QTextFormat___lengthVectorProperty_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextFormat___lengthVectorProperty_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QTextFormat___properties_atList(void* ptr, int v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(v); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QTextFormat___properties_setList(void* ptr, int key, void* i) +{ + static_cast*>(ptr)->insert(key, *static_cast(i)); +} + +void* QTextFormat___properties_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtGui_PackedList QTextFormat___properties_keyList(void* ptr) +{ + return ({ QList* tmpValue249128 = new QList(static_cast*>(ptr)->keys()); QtGui_PackedList { tmpValue249128, tmpValue249128->size() }; }); +} + +void* QTextFormat___setProperty_value_atList2(void* ptr, int i) +{ + return new QTextLength(({QTextLength tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QTextFormat___setProperty_value_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextFormat___setProperty_value_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +int QTextFormat_____properties_keyList_atList(void* ptr, int i) +{ + return ({int tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextFormat_____properties_keyList_setList(void* ptr, int i) +{ + static_cast*>(ptr)->append(i); +} + +void* QTextFormat_____properties_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextFragment_NewQTextFragment2() +{ + return new QTextFragment(); +} + +void* QTextFragment_NewQTextFragment3(void* other) +{ + return new QTextFragment(*static_cast(other)); +} + +void* QTextFragment_CharFormat(void* ptr) +{ + return new QTextCharFormat(static_cast(ptr)->charFormat()); +} + +int QTextFragment_CharFormatIndex(void* ptr) +{ + return static_cast(ptr)->charFormatIndex(); +} + +char QTextFragment_Contains(void* ptr, int position) +{ + return static_cast(ptr)->contains(position); +} + +struct QtGui_PackedList QTextFragment_GlyphRuns(void* ptr, int pos, int l) +{ + return ({ QList* tmpValue2a9765 = new QList(static_cast(ptr)->glyphRuns(pos, l)); QtGui_PackedList { tmpValue2a9765, tmpValue2a9765->size() }; }); +} + +char QTextFragment_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QTextFragment_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +int QTextFragment_Position(void* ptr) +{ + return static_cast(ptr)->position(); +} + +struct QtGui_PackedString QTextFragment_Text(void* ptr) +{ + return ({ QByteArray t644af9 = static_cast(ptr)->text().toUtf8(); QtGui_PackedString { const_cast(t644af9.prepend("WHITESPACE").constData()+10), t644af9.size()-10 }; }); +} + +void* QTextFragment___glyphRuns_atList(void* ptr, int i) +{ + return new QGlyphRun(({QGlyphRun tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTextFragment___glyphRuns_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextFragment___glyphRuns_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQTextFrame: public QTextFrame +{ +public: + MyQTextFrame(QTextDocument *document) : QTextFrame(document) {QTextFrame_QTextFrame_QRegisterMetaType();}; + ~MyQTextFrame() { callbackQTextFrame_DestroyQTextFrame(this); }; + void childEvent(QChildEvent * event) { callbackQTextObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQTextObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQTextObject_CustomEvent(this, event); }; + void deleteLater() { callbackQTextObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQTextObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQTextObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQTextObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQTextObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQTextObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQTextObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQTextObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTextFrame*) + +int QTextFrame_QTextFrame_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTextFrame_NewQTextFrame(void* document) +{ + return new MyQTextFrame(static_cast(document)); +} + +struct QtGui_PackedList QTextFrame_ChildFrames(void* ptr) +{ + return ({ QList* tmpValue45166f = new QList(static_cast(ptr)->childFrames()); QtGui_PackedList { tmpValue45166f, tmpValue45166f->size() }; }); +} + +void* QTextFrame_FirstCursorPosition(void* ptr) +{ + return new QTextCursor(static_cast(ptr)->firstCursorPosition()); +} + +int QTextFrame_FirstPosition(void* ptr) +{ + return static_cast(ptr)->firstPosition(); +} + +void* QTextFrame_FrameFormat(void* ptr) +{ + return new QTextFrameFormat(static_cast(ptr)->frameFormat()); +} + +void* QTextFrame_LastCursorPosition(void* ptr) +{ + return new QTextCursor(static_cast(ptr)->lastCursorPosition()); +} + +int QTextFrame_LastPosition(void* ptr) +{ + return static_cast(ptr)->lastPosition(); +} + +void* QTextFrame_ParentFrame(void* ptr) +{ + return static_cast(ptr)->parentFrame(); +} + +void QTextFrame_SetFrameFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFrameFormat(*static_cast(format)); +} + +void QTextFrame_DestroyQTextFrame(void* ptr) +{ + static_cast(ptr)->~QTextFrame(); +} + +void QTextFrame_DestroyQTextFrameDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTextFrame___childFrames_atList(void* ptr, int i) +{ + return ({QTextFrame * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextFrame___childFrames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QTextFrame___childFrames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextFrameFormat_NewQTextFrameFormat() +{ + return new QTextFrameFormat(); +} + +double QTextFrameFormat_Border(void* ptr) +{ + return static_cast(ptr)->border(); +} + +void* QTextFrameFormat_BorderBrush(void* ptr) +{ + return new QBrush(static_cast(ptr)->borderBrush()); +} + +long long QTextFrameFormat_BorderStyle(void* ptr) +{ + return static_cast(ptr)->borderStyle(); +} + +double QTextFrameFormat_BottomMargin(void* ptr) +{ + return static_cast(ptr)->bottomMargin(); +} + +void* QTextFrameFormat_Height(void* ptr) +{ + return new QTextLength(static_cast(ptr)->height()); +} + +double QTextFrameFormat_LeftMargin(void* ptr) +{ + return static_cast(ptr)->leftMargin(); +} + +double QTextFrameFormat_Margin(void* ptr) +{ + return static_cast(ptr)->margin(); +} + +double QTextFrameFormat_Padding(void* ptr) +{ + return static_cast(ptr)->padding(); +} + +long long QTextFrameFormat_PageBreakPolicy(void* ptr) +{ + return static_cast(ptr)->pageBreakPolicy(); +} + +long long QTextFrameFormat_Position(void* ptr) +{ + return static_cast(ptr)->position(); +} + +double QTextFrameFormat_RightMargin(void* ptr) +{ + return static_cast(ptr)->rightMargin(); +} + +void QTextFrameFormat_SetBorder(void* ptr, double width) +{ + static_cast(ptr)->setBorder(width); +} + +void QTextFrameFormat_SetBorderBrush(void* ptr, void* brush) +{ + static_cast(ptr)->setBorderBrush(*static_cast(brush)); +} + +void QTextFrameFormat_SetBorderStyle(void* ptr, long long style) +{ + static_cast(ptr)->setBorderStyle(static_cast(style)); +} + +void QTextFrameFormat_SetBottomMargin(void* ptr, double margin) +{ + static_cast(ptr)->setBottomMargin(margin); +} + +void QTextFrameFormat_SetHeight(void* ptr, void* height) +{ + static_cast(ptr)->setHeight(*static_cast(height)); +} + +void QTextFrameFormat_SetHeight2(void* ptr, double height) +{ + static_cast(ptr)->setHeight(height); +} + +void QTextFrameFormat_SetLeftMargin(void* ptr, double margin) +{ + static_cast(ptr)->setLeftMargin(margin); +} + +void QTextFrameFormat_SetMargin(void* ptr, double margin) +{ + static_cast(ptr)->setMargin(margin); +} + +void QTextFrameFormat_SetPadding(void* ptr, double width) +{ + static_cast(ptr)->setPadding(width); +} + +void QTextFrameFormat_SetPageBreakPolicy(void* ptr, long long policy) +{ + static_cast(ptr)->setPageBreakPolicy(static_cast(policy)); +} + +void QTextFrameFormat_SetPosition(void* ptr, long long policy) +{ + static_cast(ptr)->setPosition(static_cast(policy)); +} + +void QTextFrameFormat_SetRightMargin(void* ptr, double margin) +{ + static_cast(ptr)->setRightMargin(margin); +} + +void QTextFrameFormat_SetTopMargin(void* ptr, double margin) +{ + static_cast(ptr)->setTopMargin(margin); +} + +void QTextFrameFormat_SetWidth(void* ptr, void* width) +{ + static_cast(ptr)->setWidth(*static_cast(width)); +} + +void QTextFrameFormat_SetWidth2(void* ptr, double width) +{ + static_cast(ptr)->setWidth(width); +} + +double QTextFrameFormat_TopMargin(void* ptr) +{ + return static_cast(ptr)->topMargin(); +} + +void* QTextFrameFormat_Width(void* ptr) +{ + return new QTextLength(static_cast(ptr)->width()); +} + +void* QTextImageFormat_NewQTextImageFormat() +{ + return new QTextImageFormat(); +} + +double QTextImageFormat_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +struct QtGui_PackedString QTextImageFormat_Name(void* ptr) +{ + return ({ QByteArray t290038 = static_cast(ptr)->name().toUtf8(); QtGui_PackedString { const_cast(t290038.prepend("WHITESPACE").constData()+10), t290038.size()-10 }; }); +} + +int QTextImageFormat_Quality(void* ptr) +{ + return static_cast(ptr)->quality(); +} + +void QTextImageFormat_SetHeight(void* ptr, double height) +{ + static_cast(ptr)->setHeight(height); +} + +void QTextImageFormat_SetName(void* ptr, struct QtGui_PackedString name) +{ + static_cast(ptr)->setName(QString::fromUtf8(name.data, name.len)); +} + +void QTextImageFormat_SetQuality(void* ptr, int quality) +{ + static_cast(ptr)->setQuality(quality); +} + +void QTextImageFormat_SetWidth(void* ptr, double width) +{ + static_cast(ptr)->setWidth(width); +} + +double QTextImageFormat_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +double QTextInlineObject_Ascent(void* ptr) +{ + return static_cast(ptr)->ascent(); +} + +double QTextInlineObject_Descent(void* ptr) +{ + return static_cast(ptr)->descent(); +} + +void* QTextInlineObject_Format(void* ptr) +{ + return new QTextFormat(static_cast(ptr)->format()); +} + +int QTextInlineObject_FormatIndex(void* ptr) +{ + return static_cast(ptr)->formatIndex(); +} + +double QTextInlineObject_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +char QTextInlineObject_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QTextInlineObject_Rect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->rect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QTextInlineObject_SetAscent(void* ptr, double a) +{ + static_cast(ptr)->setAscent(a); +} + +void QTextInlineObject_SetDescent(void* ptr, double d) +{ + static_cast(ptr)->setDescent(d); +} + +void QTextInlineObject_SetWidth(void* ptr, double w) +{ + static_cast(ptr)->setWidth(w); +} + +long long QTextInlineObject_TextDirection(void* ptr) +{ + return static_cast(ptr)->textDirection(); +} + +int QTextInlineObject_TextPosition(void* ptr) +{ + return static_cast(ptr)->textPosition(); +} + +double QTextInlineObject_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +double QTextItem_Ascent(void* ptr) +{ + return static_cast(ptr)->ascent(); +} + +double QTextItem_Descent(void* ptr) +{ + return static_cast(ptr)->descent(); +} + +void* QTextItem_Font(void* ptr) +{ + return new QFont(static_cast(ptr)->font()); +} + +long long QTextItem_RenderFlags(void* ptr) +{ + return static_cast(ptr)->renderFlags(); +} + +struct QtGui_PackedString QTextItem_Text(void* ptr) +{ + return ({ QByteArray te8cb06 = static_cast(ptr)->text().toUtf8(); QtGui_PackedString { const_cast(te8cb06.prepend("WHITESPACE").constData()+10), te8cb06.size()-10 }; }); +} + +double QTextItem_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +void* QTextLayout_NewQTextLayout() +{ + return new QTextLayout(); +} + +void* QTextLayout_NewQTextLayout2(struct QtGui_PackedString text) +{ + return new QTextLayout(QString::fromUtf8(text.data, text.len)); +} + +void* QTextLayout_NewQTextLayout4(struct QtGui_PackedString text, void* font, void* paintdevice) +{ + if (dynamic_cast(static_cast(paintdevice))) { + return new QTextLayout(QString::fromUtf8(text.data, text.len), *static_cast(font), static_cast(paintdevice)); + } else if (dynamic_cast(static_cast(paintdevice))) { + return new QTextLayout(QString::fromUtf8(text.data, text.len), *static_cast(font), static_cast(paintdevice)); + } else if (dynamic_cast(static_cast(paintdevice))) { + return new QTextLayout(QString::fromUtf8(text.data, text.len), *static_cast(font), static_cast(paintdevice)); + } else { + return new QTextLayout(QString::fromUtf8(text.data, text.len), *static_cast(font), static_cast(paintdevice)); + } +} + +void QTextLayout_BeginLayout(void* ptr) +{ + static_cast(ptr)->beginLayout(); +} + +void* QTextLayout_BoundingRect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->boundingRect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +char QTextLayout_CacheEnabled(void* ptr) +{ + return static_cast(ptr)->cacheEnabled(); +} + +void QTextLayout_ClearFormats(void* ptr) +{ + static_cast(ptr)->clearFormats(); +} + +void QTextLayout_ClearLayout(void* ptr) +{ + static_cast(ptr)->clearLayout(); +} + +void* QTextLayout_CreateLine(void* ptr) +{ + return new QTextLine(static_cast(ptr)->createLine()); +} + +long long QTextLayout_CursorMoveStyle(void* ptr) +{ + return static_cast(ptr)->cursorMoveStyle(); +} + +void QTextLayout_DrawCursor(void* ptr, void* painter, void* position, int cursorPosition, int width) +{ + static_cast(ptr)->drawCursor(static_cast(painter), *static_cast(position), cursorPosition, width); +} + +void QTextLayout_DrawCursor2(void* ptr, void* painter, void* position, int cursorPosition) +{ + static_cast(ptr)->drawCursor(static_cast(painter), *static_cast(position), cursorPosition); +} + +void QTextLayout_EndLayout(void* ptr) +{ + static_cast(ptr)->endLayout(); +} + +void* QTextLayout_Font(void* ptr) +{ + return new QFont(static_cast(ptr)->font()); +} + +struct QtGui_PackedList QTextLayout_GlyphRuns(void* ptr, int from, int length) +{ + return ({ QList* tmpValueac7edb = new QList(static_cast(ptr)->glyphRuns(from, length)); QtGui_PackedList { tmpValueac7edb, tmpValueac7edb->size() }; }); +} + +char QTextLayout_IsValidCursorPosition(void* ptr, int pos) +{ + return static_cast(ptr)->isValidCursorPosition(pos); +} + +int QTextLayout_LeftCursorPosition(void* ptr, int oldPos) +{ + return static_cast(ptr)->leftCursorPosition(oldPos); +} + +void* QTextLayout_LineAt(void* ptr, int i) +{ + return new QTextLine(static_cast(ptr)->lineAt(i)); +} + +int QTextLayout_LineCount(void* ptr) +{ + return static_cast(ptr)->lineCount(); +} + +void* QTextLayout_LineForTextPosition(void* ptr, int pos) +{ + return new QTextLine(static_cast(ptr)->lineForTextPosition(pos)); +} + +double QTextLayout_MaximumWidth(void* ptr) +{ + return static_cast(ptr)->maximumWidth(); +} + +double QTextLayout_MinimumWidth(void* ptr) +{ + return static_cast(ptr)->minimumWidth(); +} + +int QTextLayout_NextCursorPosition(void* ptr, int oldPos, long long mode) +{ + return static_cast(ptr)->nextCursorPosition(oldPos, static_cast(mode)); +} + +void* QTextLayout_Position(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->position(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +int QTextLayout_PreeditAreaPosition(void* ptr) +{ + return static_cast(ptr)->preeditAreaPosition(); +} + +struct QtGui_PackedString QTextLayout_PreeditAreaText(void* ptr) +{ + return ({ QByteArray t04bdaa = static_cast(ptr)->preeditAreaText().toUtf8(); QtGui_PackedString { const_cast(t04bdaa.prepend("WHITESPACE").constData()+10), t04bdaa.size()-10 }; }); +} + +int QTextLayout_PreviousCursorPosition(void* ptr, int oldPos, long long mode) +{ + return static_cast(ptr)->previousCursorPosition(oldPos, static_cast(mode)); +} + +int QTextLayout_RightCursorPosition(void* ptr, int oldPos) +{ + return static_cast(ptr)->rightCursorPosition(oldPos); +} + +void QTextLayout_SetCacheEnabled(void* ptr, char enable) +{ + static_cast(ptr)->setCacheEnabled(enable != 0); +} + +void QTextLayout_SetCursorMoveStyle(void* ptr, long long style) +{ + static_cast(ptr)->setCursorMoveStyle(static_cast(style)); +} + +void QTextLayout_SetFont(void* ptr, void* font) +{ + static_cast(ptr)->setFont(*static_cast(font)); +} + +void QTextLayout_SetPosition(void* ptr, void* p) +{ + static_cast(ptr)->setPosition(*static_cast(p)); +} + +void QTextLayout_SetPreeditArea(void* ptr, int position, struct QtGui_PackedString text) +{ + static_cast(ptr)->setPreeditArea(position, QString::fromUtf8(text.data, text.len)); +} + +void QTextLayout_SetText(void* ptr, struct QtGui_PackedString stri) +{ + static_cast(ptr)->setText(QString::fromUtf8(stri.data, stri.len)); +} + +void QTextLayout_SetTextOption(void* ptr, void* option) +{ + static_cast(ptr)->setTextOption(*static_cast(option)); +} + +struct QtGui_PackedString QTextLayout_Text(void* ptr) +{ + return ({ QByteArray t7e8d3c = static_cast(ptr)->text().toUtf8(); QtGui_PackedString { const_cast(t7e8d3c.prepend("WHITESPACE").constData()+10), t7e8d3c.size()-10 }; }); +} + +void* QTextLayout_TextOption(void* ptr) +{ + return const_cast(&static_cast(ptr)->textOption()); +} + +void QTextLayout_DestroyQTextLayout(void* ptr) +{ + static_cast(ptr)->~QTextLayout(); +} + +void* QTextLayout___formats_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QTextLayout___glyphRuns_atList(void* ptr, int i) +{ + return new QGlyphRun(({QGlyphRun tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTextLayout___glyphRuns_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextLayout___glyphRuns_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextLength_NewQTextLength() +{ + return new QTextLength(); +} + +void* QTextLength_NewQTextLength2(long long ty, double value) +{ + return new QTextLength(static_cast(ty), value); +} + +double QTextLength_RawValue(void* ptr) +{ + return static_cast(ptr)->rawValue(); +} + +long long QTextLength_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +double QTextLength_Value(void* ptr, double maximumLength) +{ + return static_cast(ptr)->value(maximumLength); +} + +void* QTextLine_NewQTextLine() +{ + return new QTextLine(); +} + +double QTextLine_Ascent(void* ptr) +{ + return static_cast(ptr)->ascent(); +} + +double QTextLine_CursorToX(void* ptr, int cursorPos, long long edge) +{ + return static_cast(ptr)->cursorToX(&cursorPos, static_cast(edge)); +} + +double QTextLine_CursorToX2(void* ptr, int cursorPos, long long edge) +{ + return static_cast(ptr)->cursorToX(cursorPos, static_cast(edge)); +} + +double QTextLine_Descent(void* ptr) +{ + return static_cast(ptr)->descent(); +} + +struct QtGui_PackedList QTextLine_GlyphRuns(void* ptr, int from, int length) +{ + return ({ QList* tmpValue88c652 = new QList(static_cast(ptr)->glyphRuns(from, length)); QtGui_PackedList { tmpValue88c652, tmpValue88c652->size() }; }); +} + +double QTextLine_Height(void* ptr) +{ + return static_cast(ptr)->height(); +} + +double QTextLine_HorizontalAdvance(void* ptr) +{ + return static_cast(ptr)->horizontalAdvance(); +} + +char QTextLine_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +double QTextLine_Leading(void* ptr) +{ + return static_cast(ptr)->leading(); +} + +char QTextLine_LeadingIncluded(void* ptr) +{ + return static_cast(ptr)->leadingIncluded(); +} + +int QTextLine_LineNumber(void* ptr) +{ + return static_cast(ptr)->lineNumber(); +} + +void* QTextLine_NaturalTextRect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->naturalTextRect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +double QTextLine_NaturalTextWidth(void* ptr) +{ + return static_cast(ptr)->naturalTextWidth(); +} + +void* QTextLine_Position(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->position(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QTextLine_Rect(void* ptr) +{ + return ({ QRectF tmpValue = static_cast(ptr)->rect(); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void QTextLine_SetLeadingIncluded(void* ptr, char included) +{ + static_cast(ptr)->setLeadingIncluded(included != 0); +} + +void QTextLine_SetLineWidth(void* ptr, double width) +{ + static_cast(ptr)->setLineWidth(width); +} + +void QTextLine_SetNumColumns(void* ptr, int numColumns) +{ + static_cast(ptr)->setNumColumns(numColumns); +} + +void QTextLine_SetNumColumns2(void* ptr, int numColumns, double alignmentWidth) +{ + static_cast(ptr)->setNumColumns(numColumns, alignmentWidth); +} + +void QTextLine_SetPosition(void* ptr, void* pos) +{ + static_cast(ptr)->setPosition(*static_cast(pos)); +} + +int QTextLine_TextLength(void* ptr) +{ + return static_cast(ptr)->textLength(); +} + +int QTextLine_TextStart(void* ptr) +{ + return static_cast(ptr)->textStart(); +} + +double QTextLine_Width(void* ptr) +{ + return static_cast(ptr)->width(); +} + +double QTextLine_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +int QTextLine_XToCursor(void* ptr, double x, long long cpos) +{ + return static_cast(ptr)->xToCursor(x, static_cast(cpos)); +} + +double QTextLine_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +void* QTextLine___glyphRuns_atList(void* ptr, int i) +{ + return new QGlyphRun(({QGlyphRun tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTextLine___glyphRuns_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextLine___glyphRuns_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQTextList: public QTextList +{ +public: + void blockFormatChanged(const QTextBlock & block) { callbackQTextBlockGroup_BlockFormatChanged(this, const_cast(&block)); }; + void blockInserted(const QTextBlock & block) { callbackQTextBlockGroup_BlockInserted(this, const_cast(&block)); }; + void blockRemoved(const QTextBlock & block) { callbackQTextBlockGroup_BlockRemoved(this, const_cast(&block)); }; + void childEvent(QChildEvent * event) { callbackQTextObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQTextObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQTextObject_CustomEvent(this, event); }; + void deleteLater() { callbackQTextObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQTextObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQTextObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQTextObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQTextObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQTextObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQTextObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQTextObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTextList*) + +int QTextList_QTextList_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void QTextList_Add(void* ptr, void* block) +{ + static_cast(ptr)->add(*static_cast(block)); +} + +int QTextList_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +void* QTextList_Format(void* ptr) +{ + return new QTextListFormat(static_cast(ptr)->format()); +} + +void* QTextList_Item(void* ptr, int i) +{ + return new QTextBlock(static_cast(ptr)->item(i)); +} + +int QTextList_ItemNumber(void* ptr, void* block) +{ + return static_cast(ptr)->itemNumber(*static_cast(block)); +} + +struct QtGui_PackedString QTextList_ItemText(void* ptr, void* block) +{ + return ({ QByteArray tedd0af = static_cast(ptr)->itemText(*static_cast(block)).toUtf8(); QtGui_PackedString { const_cast(tedd0af.prepend("WHITESPACE").constData()+10), tedd0af.size()-10 }; }); +} + +void QTextList_Remove(void* ptr, void* block) +{ + static_cast(ptr)->remove(*static_cast(block)); +} + +void QTextList_RemoveItem(void* ptr, int i) +{ + static_cast(ptr)->removeItem(i); +} + +void QTextList_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void* QTextListFormat_NewQTextListFormat() +{ + return new QTextListFormat(); +} + +int QTextListFormat_Indent(void* ptr) +{ + return static_cast(ptr)->indent(); +} + +struct QtGui_PackedString QTextListFormat_NumberPrefix(void* ptr) +{ + return ({ QByteArray t46a4a3 = static_cast(ptr)->numberPrefix().toUtf8(); QtGui_PackedString { const_cast(t46a4a3.prepend("WHITESPACE").constData()+10), t46a4a3.size()-10 }; }); +} + +struct QtGui_PackedString QTextListFormat_NumberSuffix(void* ptr) +{ + return ({ QByteArray t6ba6a5 = static_cast(ptr)->numberSuffix().toUtf8(); QtGui_PackedString { const_cast(t6ba6a5.prepend("WHITESPACE").constData()+10), t6ba6a5.size()-10 }; }); +} + +void QTextListFormat_SetIndent(void* ptr, int indentation) +{ + static_cast(ptr)->setIndent(indentation); +} + +void QTextListFormat_SetNumberPrefix(void* ptr, struct QtGui_PackedString numberPrefix) +{ + static_cast(ptr)->setNumberPrefix(QString::fromUtf8(numberPrefix.data, numberPrefix.len)); +} + +void QTextListFormat_SetNumberSuffix(void* ptr, struct QtGui_PackedString numberSuffix) +{ + static_cast(ptr)->setNumberSuffix(QString::fromUtf8(numberSuffix.data, numberSuffix.len)); +} + +void QTextListFormat_SetStyle(void* ptr, long long style) +{ + static_cast(ptr)->setStyle(static_cast(style)); +} + +long long QTextListFormat_Style(void* ptr) +{ + return static_cast(ptr)->style(); +} + +class MyQTextObject: public QTextObject +{ +public: + MyQTextObject(QTextDocument *document) : QTextObject(document) {QTextObject_QTextObject_QRegisterMetaType();}; + ~MyQTextObject() { callbackQTextObject_DestroyQTextObject(this); }; + void childEvent(QChildEvent * event) { callbackQTextObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQTextObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQTextObject_CustomEvent(this, event); }; + void deleteLater() { callbackQTextObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQTextObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQTextObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQTextObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQTextObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQTextObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQTextObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQTextObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTextObject*) + +int QTextObject_QTextObject_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTextObject_NewQTextObject(void* document) +{ + return new MyQTextObject(static_cast(document)); +} + +void* QTextObject_Document(void* ptr) +{ + return static_cast(ptr)->document(); +} + +void* QTextObject_Format(void* ptr) +{ + return new QTextFormat(static_cast(ptr)->format()); +} + +int QTextObject_FormatIndex(void* ptr) +{ + return static_cast(ptr)->formatIndex(); +} + +int QTextObject_ObjectIndex(void* ptr) +{ + return static_cast(ptr)->objectIndex(); +} + +void QTextObject_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void QTextObject_DestroyQTextObject(void* ptr) +{ + static_cast(ptr)->~QTextObject(); +} + +void QTextObject_DestroyQTextObjectDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTextObject___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextObject___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QTextObject___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextObject___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTextObject___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextObject___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextObject___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextObject___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QTextObject___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextObject___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextObject___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QTextObject___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTextObject___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextObject___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QTextObject___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QTextObject_ChildEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextTable::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextFrame::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextList::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextBlockGroup::childEvent(static_cast(event)); + } else { + static_cast(ptr)->QTextObject::childEvent(static_cast(event)); + } +} + +void QTextObject_ConnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextTable::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextFrame::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextList::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextBlockGroup::connectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QTextObject::connectNotify(*static_cast(sign)); + } +} + +void QTextObject_CustomEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextTable::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextFrame::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextList::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextBlockGroup::customEvent(static_cast(event)); + } else { + static_cast(ptr)->QTextObject::customEvent(static_cast(event)); + } +} + +void QTextObject_DeleteLaterDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextTable::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextFrame::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextList::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextBlockGroup::deleteLater(); + } else { + static_cast(ptr)->QTextObject::deleteLater(); + } +} + +void QTextObject_DisconnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextTable::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextFrame::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextList::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextBlockGroup::disconnectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QTextObject::disconnectNotify(*static_cast(sign)); + } +} + +char QTextObject_EventDefault(void* ptr, void* e) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTextTable::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTextFrame::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTextList::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTextBlockGroup::event(static_cast(e)); + } else { + return static_cast(ptr)->QTextObject::event(static_cast(e)); + } +} + +char QTextObject_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextTable::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextTable::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextTable::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextTable::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QTextTable::eventFilter(static_cast(watched), static_cast(event)); + } + } else if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextFrame::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextFrame::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextFrame::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextFrame::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QTextFrame::eventFilter(static_cast(watched), static_cast(event)); + } + } else if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextList::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextList::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextList::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextList::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QTextList::eventFilter(static_cast(watched), static_cast(event)); + } + } else if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextBlockGroup::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextBlockGroup::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextBlockGroup::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextBlockGroup::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QTextBlockGroup::eventFilter(static_cast(watched), static_cast(event)); + } + } else { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextObject::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextObject::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextObject::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QTextObject::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QTextObject::eventFilter(static_cast(watched), static_cast(event)); + } + } +} + +void* QTextObject_MetaObjectDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTextTable::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTextFrame::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTextList::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTextBlockGroup::metaObject()); + } else { + return const_cast(static_cast(ptr)->QTextObject::metaObject()); + } +} + +void QTextObject_TimerEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextTable::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextFrame::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextList::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTextBlockGroup::timerEvent(static_cast(event)); + } else { + static_cast(ptr)->QTextObject::timerEvent(static_cast(event)); + } +} + +class MyQTextObjectInterface: public QTextObjectInterface +{ +public: + void drawObject(QPainter * painter, const QRectF & rect, QTextDocument * doc, int posInDocument, const QTextFormat & format) { callbackQTextObjectInterface_DrawObject(this, painter, const_cast(&rect), doc, posInDocument, const_cast(&format)); }; + QSizeF intrinsicSize(QTextDocument * doc, int posInDocument, const QTextFormat & format) { return *static_cast(callbackQTextObjectInterface_IntrinsicSize(this, doc, posInDocument, const_cast(&format))); }; + ~MyQTextObjectInterface() { callbackQTextObjectInterface_DestroyQTextObjectInterface(this); }; +}; + +void QTextObjectInterface_DrawObject(void* ptr, void* painter, void* rect, void* doc, int posInDocument, void* format) +{ + static_cast(ptr)->drawObject(static_cast(painter), *static_cast(rect), static_cast(doc), posInDocument, *static_cast(format)); +} + +void* QTextObjectInterface_IntrinsicSize(void* ptr, void* doc, int posInDocument, void* format) +{ + return ({ QSizeF tmpValue = static_cast(ptr)->intrinsicSize(static_cast(doc), posInDocument, *static_cast(format)); new QSizeF(tmpValue.width(), tmpValue.height()); }); +} + +void QTextObjectInterface_DestroyQTextObjectInterface(void* ptr) +{ + static_cast(ptr)->~QTextObjectInterface(); +} + +void QTextObjectInterface_DestroyQTextObjectInterfaceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTextOption_NewQTextOption() +{ + return new QTextOption(); +} + +void* QTextOption_NewQTextOption2(long long alignment) +{ + return new QTextOption(static_cast(alignment)); +} + +void* QTextOption_NewQTextOption3(void* other) +{ + return new QTextOption(*static_cast(other)); +} + +long long QTextOption_Alignment(void* ptr) +{ + return static_cast(ptr)->alignment(); +} + +long long QTextOption_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +void QTextOption_SetAlignment(void* ptr, long long alignment) +{ + static_cast(ptr)->setAlignment(static_cast(alignment)); +} + +void QTextOption_SetFlags(void* ptr, long long flags) +{ + static_cast(ptr)->setFlags(static_cast(flags)); +} + +void QTextOption_SetTabArray(void* ptr, void* tabStops) +{ + static_cast(ptr)->setTabArray(*static_cast*>(tabStops)); +} + +void QTextOption_SetTabStopDistance(void* ptr, double tabStopDistance) +{ + static_cast(ptr)->setTabStopDistance(tabStopDistance); +} + +void QTextOption_SetTextDirection(void* ptr, long long direction) +{ + static_cast(ptr)->setTextDirection(static_cast(direction)); +} + +void QTextOption_SetUseDesignMetrics(void* ptr, char enable) +{ + static_cast(ptr)->setUseDesignMetrics(enable != 0); +} + +void QTextOption_SetWrapMode(void* ptr, long long mode) +{ + static_cast(ptr)->setWrapMode(static_cast(mode)); +} + +struct QtGui_PackedList QTextOption_TabArray(void* ptr) +{ + return ({ QList* tmpValue64baae = new QList(static_cast(ptr)->tabArray()); QtGui_PackedList { tmpValue64baae, tmpValue64baae->size() }; }); +} + +double QTextOption_TabStopDistance(void* ptr) +{ + return static_cast(ptr)->tabStopDistance(); +} + +long long QTextOption_TextDirection(void* ptr) +{ + return static_cast(ptr)->textDirection(); +} + +char QTextOption_UseDesignMetrics(void* ptr) +{ + return static_cast(ptr)->useDesignMetrics(); +} + +long long QTextOption_WrapMode(void* ptr) +{ + return static_cast(ptr)->wrapMode(); +} + +void QTextOption_DestroyQTextOption(void* ptr) +{ + static_cast(ptr)->~QTextOption(); +} + +double QTextOption___setTabArray_tabStops_atList(void* ptr, int i) +{ + return ({qreal tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextOption___setTabArray_tabStops_setList(void* ptr, double i) +{ + static_cast*>(ptr)->append(i); +} + +void* QTextOption___setTabArray_tabStops_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +double QTextOption___tabArray_atList(void* ptr, int i) +{ + return ({qreal tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTextOption___tabArray_setList(void* ptr, double i) +{ + static_cast*>(ptr)->append(i); +} + +void* QTextOption___tabArray_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQTextTable: public QTextTable +{ +public: + void childEvent(QChildEvent * event) { callbackQTextObject_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQTextObject_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQTextObject_CustomEvent(this, event); }; + void deleteLater() { callbackQTextObject_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQTextObject_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQTextObject_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQTextObject_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQTextObject_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQTextObject_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQTextObject_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQTextObject_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTextTable*) + +int QTextTable_QTextTable_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void QTextTable_AppendColumns(void* ptr, int count) +{ + static_cast(ptr)->appendColumns(count); +} + +void QTextTable_AppendRows(void* ptr, int count) +{ + static_cast(ptr)->appendRows(count); +} + +void* QTextTable_CellAt(void* ptr, int row, int column) +{ + return new QTextTableCell(static_cast(ptr)->cellAt(row, column)); +} + +void* QTextTable_CellAt2(void* ptr, int position) +{ + return new QTextTableCell(static_cast(ptr)->cellAt(position)); +} + +void* QTextTable_CellAt3(void* ptr, void* cursor) +{ + return new QTextTableCell(static_cast(ptr)->cellAt(*static_cast(cursor))); +} + +int QTextTable_Columns(void* ptr) +{ + return static_cast(ptr)->columns(); +} + +void* QTextTable_Format(void* ptr) +{ + return new QTextTableFormat(static_cast(ptr)->format()); +} + +void QTextTable_InsertColumns(void* ptr, int index, int columns) +{ + static_cast(ptr)->insertColumns(index, columns); +} + +void QTextTable_InsertRows(void* ptr, int index, int rows) +{ + static_cast(ptr)->insertRows(index, rows); +} + +void QTextTable_MergeCells(void* ptr, int row, int column, int numRows, int numCols) +{ + static_cast(ptr)->mergeCells(row, column, numRows, numCols); +} + +void QTextTable_MergeCells2(void* ptr, void* cursor) +{ + static_cast(ptr)->mergeCells(*static_cast(cursor)); +} + +void QTextTable_RemoveColumns(void* ptr, int index, int columns) +{ + static_cast(ptr)->removeColumns(index, columns); +} + +void QTextTable_RemoveRows(void* ptr, int index, int rows) +{ + static_cast(ptr)->removeRows(index, rows); +} + +void QTextTable_Resize(void* ptr, int rows, int columns) +{ + static_cast(ptr)->resize(rows, columns); +} + +void* QTextTable_RowEnd(void* ptr, void* cursor) +{ + return new QTextCursor(static_cast(ptr)->rowEnd(*static_cast(cursor))); +} + +void* QTextTable_RowStart(void* ptr, void* cursor) +{ + return new QTextCursor(static_cast(ptr)->rowStart(*static_cast(cursor))); +} + +int QTextTable_Rows(void* ptr) +{ + return static_cast(ptr)->rows(); +} + +void QTextTable_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +void QTextTable_SplitCell(void* ptr, int row, int column, int numRows, int numCols) +{ + static_cast(ptr)->splitCell(row, column, numRows, numCols); +} + +void* QTextTableCell_NewQTextTableCell() +{ + return new QTextTableCell(); +} + +void* QTextTableCell_NewQTextTableCell2(void* other) +{ + return new QTextTableCell(*static_cast(other)); +} + +int QTextTableCell_Column(void* ptr) +{ + return static_cast(ptr)->column(); +} + +int QTextTableCell_ColumnSpan(void* ptr) +{ + return static_cast(ptr)->columnSpan(); +} + +void* QTextTableCell_FirstCursorPosition(void* ptr) +{ + return new QTextCursor(static_cast(ptr)->firstCursorPosition()); +} + +void* QTextTableCell_Format(void* ptr) +{ + return new QTextCharFormat(static_cast(ptr)->format()); +} + +char QTextTableCell_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QTextTableCell_LastCursorPosition(void* ptr) +{ + return new QTextCursor(static_cast(ptr)->lastCursorPosition()); +} + +int QTextTableCell_Row(void* ptr) +{ + return static_cast(ptr)->row(); +} + +int QTextTableCell_RowSpan(void* ptr) +{ + return static_cast(ptr)->rowSpan(); +} + +void QTextTableCell_SetFormat(void* ptr, void* format) +{ + static_cast(ptr)->setFormat(*static_cast(format)); +} + +int QTextTableCell_TableCellFormatIndex(void* ptr) +{ + return static_cast(ptr)->tableCellFormatIndex(); +} + +void QTextTableCell_DestroyQTextTableCell(void* ptr) +{ + static_cast(ptr)->~QTextTableCell(); +} + +void* QTextTableCellFormat_NewQTextTableCellFormat() +{ + return new QTextTableCellFormat(); +} + +double QTextTableCellFormat_BottomPadding(void* ptr) +{ + return static_cast(ptr)->bottomPadding(); +} + +double QTextTableCellFormat_LeftPadding(void* ptr) +{ + return static_cast(ptr)->leftPadding(); +} + +double QTextTableCellFormat_RightPadding(void* ptr) +{ + return static_cast(ptr)->rightPadding(); +} + +void QTextTableCellFormat_SetBottomPadding(void* ptr, double padding) +{ + static_cast(ptr)->setBottomPadding(padding); +} + +void QTextTableCellFormat_SetLeftPadding(void* ptr, double padding) +{ + static_cast(ptr)->setLeftPadding(padding); +} + +void QTextTableCellFormat_SetPadding(void* ptr, double padding) +{ + static_cast(ptr)->setPadding(padding); +} + +void QTextTableCellFormat_SetRightPadding(void* ptr, double padding) +{ + static_cast(ptr)->setRightPadding(padding); +} + +void QTextTableCellFormat_SetTopPadding(void* ptr, double padding) +{ + static_cast(ptr)->setTopPadding(padding); +} + +double QTextTableCellFormat_TopPadding(void* ptr) +{ + return static_cast(ptr)->topPadding(); +} + +void* QTextTableFormat_NewQTextTableFormat() +{ + return new QTextTableFormat(); +} + +long long QTextTableFormat_Alignment(void* ptr) +{ + return static_cast(ptr)->alignment(); +} + +double QTextTableFormat_CellPadding(void* ptr) +{ + return static_cast(ptr)->cellPadding(); +} + +double QTextTableFormat_CellSpacing(void* ptr) +{ + return static_cast(ptr)->cellSpacing(); +} + +void QTextTableFormat_ClearColumnWidthConstraints(void* ptr) +{ + static_cast(ptr)->clearColumnWidthConstraints(); +} + +int QTextTableFormat_Columns(void* ptr) +{ + return static_cast(ptr)->columns(); +} + +int QTextTableFormat_HeaderRowCount(void* ptr) +{ + return static_cast(ptr)->headerRowCount(); +} + +void QTextTableFormat_SetAlignment(void* ptr, long long alignment) +{ + static_cast(ptr)->setAlignment(static_cast(alignment)); +} + +void QTextTableFormat_SetCellPadding(void* ptr, double padding) +{ + static_cast(ptr)->setCellPadding(padding); +} + +void QTextTableFormat_SetCellSpacing(void* ptr, double spacing) +{ + static_cast(ptr)->setCellSpacing(spacing); +} + +void QTextTableFormat_SetColumnWidthConstraints(void* ptr, void* constraints) +{ + static_cast(ptr)->setColumnWidthConstraints(*static_cast*>(constraints)); +} + +void QTextTableFormat_SetHeaderRowCount(void* ptr, int count) +{ + static_cast(ptr)->setHeaderRowCount(count); +} + +void* QTextTableFormat___columnWidthConstraints_atList(void* ptr, int i) +{ + return new QTextLength(({QTextLength tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QTextTableFormat___columnWidthConstraints_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextTableFormat___columnWidthConstraints_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QTextTableFormat___setColumnWidthConstraints_constraints_atList(void* ptr, int i) +{ + return new QTextLength(({QTextLength tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QTextTableFormat___setColumnWidthConstraints_constraints_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTextTableFormat___setColumnWidthConstraints_constraints_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QTouchDevice_NewQTouchDevice() +{ + return new QTouchDevice(); +} + +long long QTouchDevice_Capabilities(void* ptr) +{ + return static_cast(ptr)->capabilities(); +} + +struct QtGui_PackedList QTouchDevice_QTouchDevice_Devices() +{ + return ({ QList* tmpValueaad5dc = new QList(QTouchDevice::devices()); QtGui_PackedList { tmpValueaad5dc, tmpValueaad5dc->size() }; }); +} + +int QTouchDevice_MaximumTouchPoints(void* ptr) +{ + return static_cast(ptr)->maximumTouchPoints(); +} + +struct QtGui_PackedString QTouchDevice_Name(void* ptr) +{ + return ({ QByteArray td71303 = static_cast(ptr)->name().toUtf8(); QtGui_PackedString { const_cast(td71303.prepend("WHITESPACE").constData()+10), td71303.size()-10 }; }); +} + +void QTouchDevice_SetCapabilities(void* ptr, long long caps) +{ + static_cast(ptr)->setCapabilities(static_cast(caps)); +} + +void QTouchDevice_SetMaximumTouchPoints(void* ptr, int max) +{ + static_cast(ptr)->setMaximumTouchPoints(max); +} + +void QTouchDevice_SetName(void* ptr, struct QtGui_PackedString name) +{ + static_cast(ptr)->setName(QString::fromUtf8(name.data, name.len)); +} + +void QTouchDevice_SetType(void* ptr, long long devType) +{ + static_cast(ptr)->setType(static_cast(devType)); +} + +long long QTouchDevice_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QTouchDevice_DestroyQTouchDevice(void* ptr) +{ + static_cast(ptr)->~QTouchDevice(); +} + +void* QTouchDevice___devices_atList(void* ptr, int i) +{ + return const_cast(({const QTouchDevice * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTouchDevice___devices_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QTouchDevice___devices_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQTouchEvent: public QTouchEvent +{ +public: + ~MyQTouchEvent() { callbackQTouchEvent_DestroyQTouchEvent(this); }; +}; + +void* QTouchEvent_Device(void* ptr) +{ + return static_cast(ptr)->device(); +} + +void* QTouchEvent_Target(void* ptr) +{ + return static_cast(ptr)->target(); +} + +long long QTouchEvent_TouchPointStates(void* ptr) +{ + return static_cast(ptr)->touchPointStates(); +} + +void* QTouchEvent_Window(void* ptr) +{ + return static_cast(ptr)->window(); +} + +void QTouchEvent_DestroyQTouchEvent(void* ptr) +{ + static_cast(ptr)->~QTouchEvent(); +} + +void QTouchEvent_DestroyQTouchEventDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTouchEvent___QTouchEvent_touchPoints_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTouchEvent___setTouchPoints_atouchPoints_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTouchEvent___touchPoints_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTouchEvent____touchPoints_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTouchEvent___set_touchPoints__newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTransform_NewQTransform2() +{ + return new QTransform(); +} + +void* QTransform_NewQTransform3(double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33) +{ + return new QTransform(m11, m12, m13, m21, m22, m23, m31, m32, m33); +} + +void* QTransform_NewQTransform4(double m11, double m12, double m21, double m22, double dx, double dy) +{ + return new QTransform(m11, m12, m21, m22, dx, dy); +} + +void* QTransform_NewQTransform5(void* matrix) +{ + return new QTransform(*static_cast(matrix)); +} + +void* QTransform_Adjoint(void* ptr) +{ + return new QTransform(static_cast(ptr)->adjoint()); +} + +double QTransform_Determinant(void* ptr) +{ + return static_cast(ptr)->determinant(); +} + +double QTransform_Dx(void* ptr) +{ + return static_cast(ptr)->dx(); +} + +double QTransform_Dy(void* ptr) +{ + return static_cast(ptr)->dy(); +} + +void* QTransform_QTransform_FromScale(double sx, double sy) +{ + return new QTransform(QTransform::fromScale(sx, sy)); +} + +void* QTransform_QTransform_FromTranslate(double dx, double dy) +{ + return new QTransform(QTransform::fromTranslate(dx, dy)); +} + +void* QTransform_Inverted(void* ptr, char* invertible) +{ + return new QTransform(static_cast(ptr)->inverted(reinterpret_cast(invertible))); +} + +char QTransform_IsAffine(void* ptr) +{ + return static_cast(ptr)->isAffine(); +} + +char QTransform_IsIdentity(void* ptr) +{ + return static_cast(ptr)->isIdentity(); +} + +char QTransform_IsInvertible(void* ptr) +{ + return static_cast(ptr)->isInvertible(); +} + +char QTransform_IsRotating(void* ptr) +{ + return static_cast(ptr)->isRotating(); +} + +char QTransform_IsScaling(void* ptr) +{ + return static_cast(ptr)->isScaling(); +} + +char QTransform_IsTranslating(void* ptr) +{ + return static_cast(ptr)->isTranslating(); +} + +double QTransform_M11(void* ptr) +{ + return static_cast(ptr)->m11(); +} + +double QTransform_M12(void* ptr) +{ + return static_cast(ptr)->m12(); +} + +double QTransform_M13(void* ptr) +{ + return static_cast(ptr)->m13(); +} + +double QTransform_M21(void* ptr) +{ + return static_cast(ptr)->m21(); +} + +double QTransform_M22(void* ptr) +{ + return static_cast(ptr)->m22(); +} + +double QTransform_M23(void* ptr) +{ + return static_cast(ptr)->m23(); +} + +double QTransform_M31(void* ptr) +{ + return static_cast(ptr)->m31(); +} + +double QTransform_M32(void* ptr) +{ + return static_cast(ptr)->m32(); +} + +double QTransform_M33(void* ptr) +{ + return static_cast(ptr)->m33(); +} + +void QTransform_Map(void* ptr, double x, double y, double tx, double ty) +{ + static_cast(ptr)->map(x, y, &tx, &ty); +} + +void* QTransform_Map2(void* ptr, void* point) +{ + return ({ QPoint tmpValue = static_cast(ptr)->map(*static_cast(point)); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QTransform_Map3(void* ptr, void* p) +{ + return ({ QPointF tmpValue = static_cast(ptr)->map(*static_cast(p)); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QTransform_Map4(void* ptr, void* l) +{ + return ({ QLine tmpValue = static_cast(ptr)->map(*static_cast(l)); new QLine(tmpValue.p1(), tmpValue.p2()); }); +} + +void* QTransform_Map5(void* ptr, void* line) +{ + return ({ QLineF tmpValue = static_cast(ptr)->map(*static_cast(line)); new QLineF(tmpValue.p1(), tmpValue.p2()); }); +} + +void* QTransform_Map6(void* ptr, void* polygon) +{ + return new QPolygonF(static_cast(ptr)->map(*static_cast(polygon))); +} + +void* QTransform_Map7(void* ptr, void* polygon) +{ + return new QPolygon(static_cast(ptr)->map(*static_cast(polygon))); +} + +void* QTransform_Map8(void* ptr, void* region) +{ + return new QRegion(static_cast(ptr)->map(*static_cast(region))); +} + +void* QTransform_Map9(void* ptr, void* path) +{ + return new QPainterPath(static_cast(ptr)->map(*static_cast(path))); +} + +void QTransform_Map10(void* ptr, int x, int y, int tx, int ty) +{ + static_cast(ptr)->map(x, y, &tx, &ty); +} + +void* QTransform_MapRect(void* ptr, void* rectangle) +{ + return ({ QRectF tmpValue = static_cast(ptr)->mapRect(*static_cast(rectangle)); new QRectF(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QTransform_MapRect2(void* ptr, void* rectangle) +{ + return ({ QRect tmpValue = static_cast(ptr)->mapRect(*static_cast(rectangle)); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); +} + +void* QTransform_MapToPolygon(void* ptr, void* rectangle) +{ + return new QPolygon(static_cast(ptr)->mapToPolygon(*static_cast(rectangle))); +} + +char QTransform_QTransform_QuadToQuad(void* one, void* two, void* trans) +{ + return QTransform::quadToQuad(*static_cast(one), *static_cast(two), *static_cast(trans)); +} + +char QTransform_QTransform_QuadToSquare(void* quad, void* trans) +{ + return QTransform::quadToSquare(*static_cast(quad), *static_cast(trans)); +} + +void QTransform_Reset(void* ptr) +{ + static_cast(ptr)->reset(); +} + +void* QTransform_Rotate(void* ptr, double angle, long long axis) +{ + return new QTransform(static_cast(ptr)->rotate(angle, static_cast(axis))); +} + +void* QTransform_RotateRadians(void* ptr, double angle, long long axis) +{ + return new QTransform(static_cast(ptr)->rotateRadians(angle, static_cast(axis))); +} + +void* QTransform_Scale(void* ptr, double sx, double sy) +{ + return new QTransform(static_cast(ptr)->scale(sx, sy)); +} + +void QTransform_SetMatrix(void* ptr, double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33) +{ + static_cast(ptr)->setMatrix(m11, m12, m13, m21, m22, m23, m31, m32, m33); +} + +void* QTransform_Shear(void* ptr, double sh, double sv) +{ + return new QTransform(static_cast(ptr)->shear(sh, sv)); +} + +char QTransform_QTransform_SquareToQuad(void* quad, void* trans) +{ + return QTransform::squareToQuad(*static_cast(quad), *static_cast(trans)); +} + +void* QTransform_ToAffine(void* ptr) +{ + return const_cast(&static_cast(ptr)->toAffine()); +} + +void* QTransform_Translate(void* ptr, double dx, double dy) +{ + return new QTransform(static_cast(ptr)->translate(dx, dy)); +} + +void* QTransform_Transposed(void* ptr) +{ + return new QTransform(static_cast(ptr)->transposed()); +} + +long long QTransform_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +class MyQValidator: public QValidator +{ +public: + MyQValidator(QObject *parent = Q_NULLPTR) : QValidator(parent) {QValidator_QValidator_QRegisterMetaType();}; + void Signal_Changed() { callbackQValidator_Changed(this); }; + void fixup(QString & input) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };callbackQValidator_Fixup(const_cast(static_cast(this)), inputPacked); }; + QValidator::State validate(QString & input, int & pos) const { QByteArray t140f86 = input.toUtf8(); QtGui_PackedString inputPacked = { const_cast(t140f86.prepend("WHITESPACE").constData()+10), t140f86.size()-10 };return static_cast(callbackQValidator_Validate(const_cast(static_cast(this)), inputPacked, pos)); }; + ~MyQValidator() { callbackQValidator_DestroyQValidator(this); }; + void childEvent(QChildEvent * event) { callbackQValidator_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQValidator_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQValidator_CustomEvent(this, event); }; + void deleteLater() { callbackQValidator_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQValidator_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQValidator_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQValidator_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQValidator_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQValidator_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQValidator_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQValidator_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQValidator*) + +int QValidator_QValidator_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QValidator_NewQValidator(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQValidator(static_cast(parent)); + } else { + return new MyQValidator(static_cast(parent)); + } +} + +void QValidator_ConnectChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QValidator::changed), static_cast(ptr), static_cast(&MyQValidator::Signal_Changed), static_cast(t)); +} + +void QValidator_DisconnectChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QValidator::changed), static_cast(ptr), static_cast(&MyQValidator::Signal_Changed)); +} + +void QValidator_Changed(void* ptr) +{ + static_cast(ptr)->changed(); +} + +void QValidator_Fixup(void* ptr, struct QtGui_PackedString input) +{ + static_cast(ptr)->fixup(*(new QString(QString::fromUtf8(input.data, input.len)))); +} + +void QValidator_FixupDefault(void* ptr, struct QtGui_PackedString input) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegularExpressionValidator::fixup(*(new QString(QString::fromUtf8(input.data, input.len)))); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegExpValidator::fixup(*(new QString(QString::fromUtf8(input.data, input.len)))); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QDoubleValidator::fixup(*(new QString(QString::fromUtf8(input.data, input.len)))); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIntValidator::fixup(*(new QString(QString::fromUtf8(input.data, input.len)))); + } else { + static_cast(ptr)->QValidator::fixup(*(new QString(QString::fromUtf8(input.data, input.len)))); + } +} + +void* QValidator_Locale(void* ptr) +{ + return new QLocale(static_cast(ptr)->locale()); +} + +void QValidator_SetLocale(void* ptr, void* locale) +{ + static_cast(ptr)->setLocale(*static_cast(locale)); +} + +long long QValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos) +{ + return static_cast(ptr)->validate(*(new QString(QString::fromUtf8(input.data, input.len))), pos); +} + +void QValidator_DestroyQValidator(void* ptr) +{ + static_cast(ptr)->~QValidator(); +} + +void QValidator_DestroyQValidatorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QValidator___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QValidator___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QValidator___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QValidator___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QValidator___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QValidator___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QValidator___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QValidator___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QValidator___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QValidator___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QValidator___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QValidator___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QValidator___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QValidator___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } +} + +void* QValidator___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QValidator_ChildEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegularExpressionValidator::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegExpValidator::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QDoubleValidator::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIntValidator::childEvent(static_cast(event)); + } else { + static_cast(ptr)->QValidator::childEvent(static_cast(event)); + } +} + +void QValidator_ConnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegularExpressionValidator::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegExpValidator::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QDoubleValidator::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIntValidator::connectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QValidator::connectNotify(*static_cast(sign)); + } +} + +void QValidator_CustomEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegularExpressionValidator::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegExpValidator::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QDoubleValidator::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIntValidator::customEvent(static_cast(event)); + } else { + static_cast(ptr)->QValidator::customEvent(static_cast(event)); + } +} + +void QValidator_DeleteLaterDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegularExpressionValidator::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegExpValidator::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QDoubleValidator::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIntValidator::deleteLater(); + } else { + static_cast(ptr)->QValidator::deleteLater(); + } +} + +void QValidator_DisconnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegularExpressionValidator::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegExpValidator::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QDoubleValidator::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIntValidator::disconnectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QValidator::disconnectNotify(*static_cast(sign)); + } +} + +char QValidator_EventDefault(void* ptr, void* e) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QRegularExpressionValidator::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QRegExpValidator::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QDoubleValidator::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QIntValidator::event(static_cast(e)); + } else { + return static_cast(ptr)->QValidator::event(static_cast(e)); + } +} + +char QValidator_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRegularExpressionValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRegularExpressionValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRegularExpressionValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRegularExpressionValidator::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QRegularExpressionValidator::eventFilter(static_cast(watched), static_cast(event)); + } + } else if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRegExpValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRegExpValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRegExpValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRegExpValidator::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QRegExpValidator::eventFilter(static_cast(watched), static_cast(event)); + } + } else if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QDoubleValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QDoubleValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QDoubleValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QDoubleValidator::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QDoubleValidator::eventFilter(static_cast(watched), static_cast(event)); + } + } else if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QIntValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QIntValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QIntValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QIntValidator::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QIntValidator::eventFilter(static_cast(watched), static_cast(event)); + } + } else { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QValidator::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QValidator::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QValidator::eventFilter(static_cast(watched), static_cast(event)); + } + } +} + +void* QValidator_MetaObjectDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QRegularExpressionValidator::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QRegExpValidator::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QDoubleValidator::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QIntValidator::metaObject()); + } else { + return const_cast(static_cast(ptr)->QValidator::metaObject()); + } +} + +void QValidator_TimerEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegularExpressionValidator::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRegExpValidator::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QDoubleValidator::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QIntValidator::timerEvent(static_cast(event)); + } else { + static_cast(ptr)->QValidator::timerEvent(static_cast(event)); + } +} + +void* QVector2D_NewQVector2D() +{ + return new QVector2D(); +} + +void* QVector2D_NewQVector2D3(float xpos, float ypos) +{ + return new QVector2D(xpos, ypos); +} + +void* QVector2D_NewQVector2D4(void* point) +{ + return new QVector2D(*static_cast(point)); +} + +void* QVector2D_NewQVector2D5(void* point) +{ + return new QVector2D(*static_cast(point)); +} + +void* QVector2D_NewQVector2D6(void* vector) +{ + return new QVector2D(*static_cast(vector)); +} + +void* QVector2D_NewQVector2D7(void* vector) +{ + return new QVector2D(*static_cast(vector)); +} + +float QVector2D_DistanceToLine(void* ptr, void* point, void* direction) +{ + return static_cast(ptr)->distanceToLine(*static_cast(point), *static_cast(direction)); +} + +float QVector2D_DistanceToPoint(void* ptr, void* point) +{ + return static_cast(ptr)->distanceToPoint(*static_cast(point)); +} + +float QVector2D_QVector2D_DotProduct(void* v1, void* v2) +{ + return QVector2D::dotProduct(*static_cast(v1), *static_cast(v2)); +} + +char QVector2D_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +float QVector2D_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +float QVector2D_LengthSquared(void* ptr) +{ + return static_cast(ptr)->lengthSquared(); +} + +void QVector2D_Normalize(void* ptr) +{ + static_cast(ptr)->normalize(); +} + +void* QVector2D_Normalized(void* ptr) +{ + return new QVector2D(static_cast(ptr)->normalized()); +} + +void QVector2D_SetX(void* ptr, float x) +{ + static_cast(ptr)->setX(x); +} + +void QVector2D_SetY(void* ptr, float y) +{ + static_cast(ptr)->setY(y); +} + +void* QVector2D_ToPoint(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->toPoint(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QVector2D_ToPointF(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->toPointF(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QVector2D_ToVector3D(void* ptr) +{ + return new QVector3D(static_cast(ptr)->toVector3D()); +} + +void* QVector2D_ToVector4D(void* ptr) +{ + return new QVector4D(static_cast(ptr)->toVector4D()); +} + +float QVector2D_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +float QVector2D_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +void* QVector3D_NewQVector3D() +{ + return new QVector3D(); +} + +void* QVector3D_NewQVector3D3(float xpos, float ypos, float zpos) +{ + return new QVector3D(xpos, ypos, zpos); +} + +void* QVector3D_NewQVector3D4(void* point) +{ + return new QVector3D(*static_cast(point)); +} + +void* QVector3D_NewQVector3D5(void* point) +{ + return new QVector3D(*static_cast(point)); +} + +void* QVector3D_NewQVector3D6(void* vector) +{ + return new QVector3D(*static_cast(vector)); +} + +void* QVector3D_NewQVector3D7(void* vector, float zpos) +{ + return new QVector3D(*static_cast(vector), zpos); +} + +void* QVector3D_NewQVector3D8(void* vector) +{ + return new QVector3D(*static_cast(vector)); +} + +void* QVector3D_QVector3D_CrossProduct(void* v1, void* v2) +{ + return new QVector3D(QVector3D::crossProduct(*static_cast(v1), *static_cast(v2))); +} + +float QVector3D_DistanceToLine(void* ptr, void* point, void* direction) +{ + return static_cast(ptr)->distanceToLine(*static_cast(point), *static_cast(direction)); +} + +float QVector3D_DistanceToPlane(void* ptr, void* plane, void* normal) +{ + return static_cast(ptr)->distanceToPlane(*static_cast(plane), *static_cast(normal)); +} + +float QVector3D_DistanceToPlane2(void* ptr, void* plane1, void* plane2, void* plane3) +{ + return static_cast(ptr)->distanceToPlane(*static_cast(plane1), *static_cast(plane2), *static_cast(plane3)); +} + +float QVector3D_DistanceToPoint(void* ptr, void* point) +{ + return static_cast(ptr)->distanceToPoint(*static_cast(point)); +} + +float QVector3D_QVector3D_DotProduct(void* v1, void* v2) +{ + return QVector3D::dotProduct(*static_cast(v1), *static_cast(v2)); +} + +char QVector3D_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +float QVector3D_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +float QVector3D_LengthSquared(void* ptr) +{ + return static_cast(ptr)->lengthSquared(); +} + +void* QVector3D_QVector3D_Normal(void* v1, void* v2) +{ + return new QVector3D(QVector3D::normal(*static_cast(v1), *static_cast(v2))); +} + +void* QVector3D_QVector3D_Normal2(void* v1, void* v2, void* v3) +{ + return new QVector3D(QVector3D::normal(*static_cast(v1), *static_cast(v2), *static_cast(v3))); +} + +void QVector3D_Normalize(void* ptr) +{ + static_cast(ptr)->normalize(); +} + +void* QVector3D_Normalized(void* ptr) +{ + return new QVector3D(static_cast(ptr)->normalized()); +} + +void* QVector3D_Project(void* ptr, void* modelView, void* projection, void* viewport) +{ + return new QVector3D(static_cast(ptr)->project(*static_cast(modelView), *static_cast(projection), *static_cast(viewport))); +} + +void QVector3D_SetX(void* ptr, float x) +{ + static_cast(ptr)->setX(x); +} + +void QVector3D_SetY(void* ptr, float y) +{ + static_cast(ptr)->setY(y); +} + +void QVector3D_SetZ(void* ptr, float z) +{ + static_cast(ptr)->setZ(z); +} + +void* QVector3D_ToPoint(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->toPoint(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QVector3D_ToPointF(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->toPointF(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QVector3D_ToVector2D(void* ptr) +{ + return new QVector2D(static_cast(ptr)->toVector2D()); +} + +void* QVector3D_ToVector4D(void* ptr) +{ + return new QVector4D(static_cast(ptr)->toVector4D()); +} + +void* QVector3D_Unproject(void* ptr, void* modelView, void* projection, void* viewport) +{ + return new QVector3D(static_cast(ptr)->unproject(*static_cast(modelView), *static_cast(projection), *static_cast(viewport))); +} + +float QVector3D_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +float QVector3D_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +float QVector3D_Z(void* ptr) +{ + return static_cast(ptr)->z(); +} + +void* QVector4D_NewQVector4D() +{ + return new QVector4D(); +} + +void* QVector4D_NewQVector4D3(float xpos, float ypos, float zpos, float wpos) +{ + return new QVector4D(xpos, ypos, zpos, wpos); +} + +void* QVector4D_NewQVector4D4(void* point) +{ + return new QVector4D(*static_cast(point)); +} + +void* QVector4D_NewQVector4D5(void* point) +{ + return new QVector4D(*static_cast(point)); +} + +void* QVector4D_NewQVector4D6(void* vector) +{ + return new QVector4D(*static_cast(vector)); +} + +void* QVector4D_NewQVector4D7(void* vector, float zpos, float wpos) +{ + return new QVector4D(*static_cast(vector), zpos, wpos); +} + +void* QVector4D_NewQVector4D8(void* vector) +{ + return new QVector4D(*static_cast(vector)); +} + +void* QVector4D_NewQVector4D9(void* vector, float wpos) +{ + return new QVector4D(*static_cast(vector), wpos); +} + +float QVector4D_QVector4D_DotProduct(void* v1, void* v2) +{ + return QVector4D::dotProduct(*static_cast(v1), *static_cast(v2)); +} + +char QVector4D_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +float QVector4D_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +float QVector4D_LengthSquared(void* ptr) +{ + return static_cast(ptr)->lengthSquared(); +} + +void QVector4D_Normalize(void* ptr) +{ + static_cast(ptr)->normalize(); +} + +void* QVector4D_Normalized(void* ptr) +{ + return new QVector4D(static_cast(ptr)->normalized()); +} + +void QVector4D_SetW(void* ptr, float w) +{ + static_cast(ptr)->setW(w); +} + +void QVector4D_SetX(void* ptr, float x) +{ + static_cast(ptr)->setX(x); +} + +void QVector4D_SetY(void* ptr, float y) +{ + static_cast(ptr)->setY(y); +} + +void QVector4D_SetZ(void* ptr, float z) +{ + static_cast(ptr)->setZ(z); +} + +void* QVector4D_ToPoint(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->toPoint(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QVector4D_ToPointF(void* ptr) +{ + return ({ QPointF tmpValue = static_cast(ptr)->toPointF(); new QPointF(tmpValue.x(), tmpValue.y()); }); +} + +void* QVector4D_ToVector2D(void* ptr) +{ + return new QVector2D(static_cast(ptr)->toVector2D()); +} + +void* QVector4D_ToVector2DAffine(void* ptr) +{ + return new QVector2D(static_cast(ptr)->toVector2DAffine()); +} + +void* QVector4D_ToVector3D(void* ptr) +{ + return new QVector3D(static_cast(ptr)->toVector3D()); +} + +void* QVector4D_ToVector3DAffine(void* ptr) +{ + return new QVector3D(static_cast(ptr)->toVector3DAffine()); +} + +float QVector4D_W(void* ptr) +{ + return static_cast(ptr)->w(); +} + +float QVector4D_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +float QVector4D_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +float QVector4D_Z(void* ptr) +{ + return static_cast(ptr)->z(); +} + +class MyQWhatsThisClickedEvent: public QWhatsThisClickedEvent +{ +public: + MyQWhatsThisClickedEvent(const QString &href) : QWhatsThisClickedEvent(href) {}; +}; + +void* QWhatsThisClickedEvent_NewQWhatsThisClickedEvent(struct QtGui_PackedString href) +{ + return new MyQWhatsThisClickedEvent(QString::fromUtf8(href.data, href.len)); +} + +struct QtGui_PackedString QWhatsThisClickedEvent_Href(void* ptr) +{ + return ({ QByteArray tc87a51 = static_cast(ptr)->href().toUtf8(); QtGui_PackedString { const_cast(tc87a51.prepend("WHITESPACE").constData()+10), tc87a51.size()-10 }; }); +} + +class MyQWheelEvent: public QWheelEvent +{ +public: + MyQWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) : QWheelEvent(pos, globalPos, pixelDelta, angleDelta, qt4Delta, qt4Orientation, buttons, modifiers) {}; + MyQWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase) : QWheelEvent(pos, globalPos, pixelDelta, angleDelta, qt4Delta, qt4Orientation, buttons, modifiers, phase) {}; + MyQWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source) : QWheelEvent(pos, globalPos, pixelDelta, angleDelta, qt4Delta, qt4Orientation, buttons, modifiers, phase, source) {}; + MyQWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool inverted) : QWheelEvent(pos, globalPos, pixelDelta, angleDelta, qt4Delta, qt4Orientation, buttons, modifiers, phase, source, inverted) {}; + MyQWheelEvent(QPointF pos, QPointF globalPos, QPoint pixelDelta, QPoint angleDelta, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, bool inverted, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized) : QWheelEvent(pos, globalPos, pixelDelta, angleDelta, buttons, modifiers, phase, inverted, source) {}; +}; + +void* QWheelEvent_NewQWheelEvent3(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, int qt4Delta, long long qt4Orientation, long long buttons, long long modifiers) +{ + return new MyQWheelEvent(*static_cast(pos), *static_cast(globalPos), *static_cast(pixelDelta), *static_cast(angleDelta), qt4Delta, static_cast(qt4Orientation), static_cast(buttons), static_cast(modifiers)); +} + +void* QWheelEvent_NewQWheelEvent4(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, int qt4Delta, long long qt4Orientation, long long buttons, long long modifiers, long long phase) +{ + return new MyQWheelEvent(*static_cast(pos), *static_cast(globalPos), *static_cast(pixelDelta), *static_cast(angleDelta), qt4Delta, static_cast(qt4Orientation), static_cast(buttons), static_cast(modifiers), static_cast(phase)); +} + +void* QWheelEvent_NewQWheelEvent5(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, int qt4Delta, long long qt4Orientation, long long buttons, long long modifiers, long long phase, long long source) +{ + return new MyQWheelEvent(*static_cast(pos), *static_cast(globalPos), *static_cast(pixelDelta), *static_cast(angleDelta), qt4Delta, static_cast(qt4Orientation), static_cast(buttons), static_cast(modifiers), static_cast(phase), static_cast(source)); +} + +void* QWheelEvent_NewQWheelEvent6(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, int qt4Delta, long long qt4Orientation, long long buttons, long long modifiers, long long phase, long long source, char inverted) +{ + return new MyQWheelEvent(*static_cast(pos), *static_cast(globalPos), *static_cast(pixelDelta), *static_cast(angleDelta), qt4Delta, static_cast(qt4Orientation), static_cast(buttons), static_cast(modifiers), static_cast(phase), static_cast(source), inverted != 0); +} + +void* QWheelEvent_NewQWheelEvent7(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, long long buttons, long long modifiers, long long phase, char inverted, long long source) +{ + return new MyQWheelEvent(*static_cast(pos), *static_cast(globalPos), *static_cast(pixelDelta), *static_cast(angleDelta), static_cast(buttons), static_cast(modifiers), static_cast(phase), inverted != 0, static_cast(source)); +} + +void* QWheelEvent_AngleDelta(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->angleDelta(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +long long QWheelEvent_Buttons(void* ptr) +{ + return static_cast(ptr)->buttons(); +} + +void* QWheelEvent_GlobalPos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->globalPos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QWheelEvent_GlobalPosF(void* ptr) +{ + return const_cast(&static_cast(ptr)->globalPosF()); +} + +int QWheelEvent_GlobalX(void* ptr) +{ + return static_cast(ptr)->globalX(); +} + +int QWheelEvent_GlobalY(void* ptr) +{ + return static_cast(ptr)->globalY(); +} + +char QWheelEvent_Inverted(void* ptr) +{ + return static_cast(ptr)->inverted(); +} + +long long QWheelEvent_Phase(void* ptr) +{ + return static_cast(ptr)->phase(); +} + +void* QWheelEvent_PixelDelta(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->pixelDelta(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QWheelEvent_Pos(void* ptr) +{ + return ({ QPoint tmpValue = static_cast(ptr)->pos(); new QPoint(tmpValue.x(), tmpValue.y()); }); +} + +void* QWheelEvent_PosF(void* ptr) +{ + return const_cast(&static_cast(ptr)->posF()); +} + +long long QWheelEvent_Source(void* ptr) +{ + return static_cast(ptr)->source(); +} + +int QWheelEvent_X(void* ptr) +{ + return static_cast(ptr)->x(); +} + +int QWheelEvent_Y(void* ptr) +{ + return static_cast(ptr)->y(); +} + +class MyQWindow: public QWindow +{ +public: + MyQWindow(QScreen *targetScreen = Q_NULLPTR) : QWindow(targetScreen) {QWindow_QWindow_QRegisterMetaType();}; + MyQWindow(QWindow *parent) : QWindow(parent) {QWindow_QWindow_QRegisterMetaType();}; + void Signal_ActiveChanged() { callbackQWindow_ActiveChanged(this); }; + void alert(int msec) { callbackQWindow_Alert(this, msec); }; + bool close() { return callbackQWindow_Close(this) != 0; }; + void Signal_ContentOrientationChanged(Qt::ScreenOrientation orientation) { callbackQWindow_ContentOrientationChanged(this, orientation); }; + bool event(QEvent * ev) { return callbackQWindow_Event(this, ev) != 0; }; + void exposeEvent(QExposeEvent * ev) { callbackQWindow_ExposeEvent(this, ev); }; + void focusInEvent(QFocusEvent * ev) { callbackQWindow_FocusInEvent(this, ev); }; + QObject * focusObject() const { return static_cast(callbackQWindow_FocusObject(const_cast(static_cast(this)))); }; + void Signal_FocusObjectChanged(QObject * object) { callbackQWindow_FocusObjectChanged(this, object); }; + void focusOutEvent(QFocusEvent * ev) { callbackQWindow_FocusOutEvent(this, ev); }; + QSurfaceFormat format() const { return *static_cast(callbackQWindow_Format(const_cast(static_cast(this)))); }; + void Signal_HeightChanged(int arg) { callbackQWindow_HeightChanged(this, arg); }; + void hide() { callbackQWindow_Hide(this); }; + void hideEvent(QHideEvent * ev) { callbackQWindow_HideEvent(this, ev); }; + void keyPressEvent(QKeyEvent * ev) { callbackQWindow_KeyPressEvent(this, ev); }; + void keyReleaseEvent(QKeyEvent * ev) { callbackQWindow_KeyReleaseEvent(this, ev); }; + void lower() { callbackQWindow_Lower(this); }; + void Signal_MaximumHeightChanged(int arg) { callbackQWindow_MaximumHeightChanged(this, arg); }; + void Signal_MaximumWidthChanged(int arg) { callbackQWindow_MaximumWidthChanged(this, arg); }; + void Signal_MinimumHeightChanged(int arg) { callbackQWindow_MinimumHeightChanged(this, arg); }; + void Signal_MinimumWidthChanged(int arg) { callbackQWindow_MinimumWidthChanged(this, arg); }; + void Signal_ModalityChanged(Qt::WindowModality modality) { callbackQWindow_ModalityChanged(this, modality); }; + void mouseDoubleClickEvent(QMouseEvent * ev) { callbackQWindow_MouseDoubleClickEvent(this, ev); }; + void mouseMoveEvent(QMouseEvent * ev) { callbackQWindow_MouseMoveEvent(this, ev); }; + void mousePressEvent(QMouseEvent * ev) { callbackQWindow_MousePressEvent(this, ev); }; + void mouseReleaseEvent(QMouseEvent * ev) { callbackQWindow_MouseReleaseEvent(this, ev); }; + void moveEvent(QMoveEvent * ev) { callbackQWindow_MoveEvent(this, ev); }; + bool nativeEvent(const QByteArray & eventType, void * message, long * result) { return callbackQWindow_NativeEvent(this, const_cast(&eventType), message, result) != 0; }; + void Signal_OpacityChanged(qreal opacity) { callbackQWindow_OpacityChanged(this, opacity); }; + void raise() { callbackQWindow_Raise(this); }; + void requestActivate() { callbackQWindow_RequestActivate(this); }; + void requestUpdate() { callbackQWindow_RequestUpdate(this); }; + void resizeEvent(QResizeEvent * ev) { callbackQWindow_ResizeEvent(this, ev); }; + void Signal_ScreenChanged(QScreen * screen) { callbackQWindow_ScreenChanged(this, screen); }; + void setGeometry(int posx, int posy, int w, int h) { callbackQWindow_SetGeometry(this, posx, posy, w, h); }; + void setGeometry(const QRect & rect) { callbackQWindow_SetGeometry2(this, const_cast(&rect)); }; + void setHeight(int arg) { callbackQWindow_SetHeight(this, arg); }; + void setMaximumHeight(int h) { callbackQWindow_SetMaximumHeight(this, h); }; + void setMaximumWidth(int w) { callbackQWindow_SetMaximumWidth(this, w); }; + void setMinimumHeight(int h) { callbackQWindow_SetMinimumHeight(this, h); }; + void setMinimumWidth(int w) { callbackQWindow_SetMinimumWidth(this, w); }; + void setTitle(const QString & vqs) { QByteArray tda39a3 = vqs.toUtf8(); QtGui_PackedString vqsPacked = { const_cast(tda39a3.prepend("WHITESPACE").constData()+10), tda39a3.size()-10 };callbackQWindow_SetTitle(this, vqsPacked); }; + void setVisible(bool visible) { callbackQWindow_SetVisible(this, visible); }; + void setWidth(int arg) { callbackQWindow_SetWidth(this, arg); }; + void setX(int arg) { callbackQWindow_SetX(this, arg); }; + void setY(int arg) { callbackQWindow_SetY(this, arg); }; + void show() { callbackQWindow_Show(this); }; + void showEvent(QShowEvent * ev) { callbackQWindow_ShowEvent(this, ev); }; + void showFullScreen() { callbackQWindow_ShowFullScreen(this); }; + void showMaximized() { callbackQWindow_ShowMaximized(this); }; + void showMinimized() { callbackQWindow_ShowMinimized(this); }; + void showNormal() { callbackQWindow_ShowNormal(this); }; + QSize size() const { return *static_cast(callbackQWindow_Size(const_cast(static_cast(this)))); }; + QSurface::SurfaceType surfaceType() const { return static_cast(callbackQWindow_SurfaceType(const_cast(static_cast(this)))); }; + void tabletEvent(QTabletEvent * ev) { callbackQWindow_TabletEvent(this, ev); }; + void touchEvent(QTouchEvent * ev) { callbackQWindow_TouchEvent(this, ev); }; + void Signal_VisibilityChanged(QWindow::Visibility visibility) { callbackQWindow_VisibilityChanged(this, visibility); }; + void Signal_VisibleChanged(bool arg) { callbackQWindow_VisibleChanged(this, arg); }; + void wheelEvent(QWheelEvent * ev) { callbackQWindow_WheelEvent(this, ev); }; + void Signal_WidthChanged(int arg) { callbackQWindow_WidthChanged(this, arg); }; + void Signal_WindowStateChanged(Qt::WindowState windowState) { callbackQWindow_WindowStateChanged(this, windowState); }; + void Signal_WindowTitleChanged(const QString & title) { QByteArray t3c6de1 = title.toUtf8(); QtGui_PackedString titlePacked = { const_cast(t3c6de1.prepend("WHITESPACE").constData()+10), t3c6de1.size()-10 };callbackQWindow_WindowTitleChanged(this, titlePacked); }; + void Signal_XChanged(int arg) { callbackQWindow_XChanged(this, arg); }; + void Signal_YChanged(int arg) { callbackQWindow_YChanged(this, arg); }; + ~MyQWindow() { callbackQWindow_DestroyQWindow(this); }; + void childEvent(QChildEvent * event) { callbackQWindow_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQWindow_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQWindow_CustomEvent(this, event); }; + void deleteLater() { callbackQWindow_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQWindow_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQWindow_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQWindow_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQWindow_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtGui_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQWindow_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQWindow_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQWindow*) + +int QWindow_QWindow_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QWindow_NewQWindow(void* targetScreen) +{ + return new MyQWindow(static_cast(targetScreen)); +} + +void* QWindow_NewQWindow2(void* parent) +{ + return new MyQWindow(static_cast(parent)); +} + +void QWindow_ConnectActiveChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::activeChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_ActiveChanged), static_cast(t)); +} + +void QWindow_DisconnectActiveChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::activeChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_ActiveChanged)); +} + +void QWindow_ActiveChanged(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->activeChanged(); + } else { + static_cast(ptr)->activeChanged(); + } +} + +void QWindow_Alert(void* ptr, int msec) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "alert", Q_ARG(int, msec)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "alert", Q_ARG(int, msec)); + } +} + +void QWindow_AlertDefault(void* ptr, int msec) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::alert(msec); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::alert(msec); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::alert(msec); + } else { + static_cast(ptr)->QWindow::alert(msec); + } +} + +void* QWindow_BaseSize(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->baseSize(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSize tmpValue = static_cast(ptr)->baseSize(); new QSize(tmpValue.width(), tmpValue.height()); }); + } +} + +char QWindow_Close(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + bool returnArg; + QMetaObject::invokeMethod(static_cast(ptr), "close", Q_RETURN_ARG(bool, returnArg)); + return returnArg; + } else { + bool returnArg; + QMetaObject::invokeMethod(static_cast(ptr), "close", Q_RETURN_ARG(bool, returnArg)); + return returnArg; + } +} + +char QWindow_CloseDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QRasterWindow::close(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QOpenGLWindow::close(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPaintDeviceWindow::close(); + } else { + return static_cast(ptr)->QWindow::close(); + } +} + +long long QWindow_ContentOrientation(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->contentOrientation(); + } else { + return static_cast(ptr)->contentOrientation(); + } +} + +void QWindow_ConnectContentOrientationChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QWindow::contentOrientationChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_ContentOrientationChanged), static_cast(t)); +} + +void QWindow_DisconnectContentOrientationChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::contentOrientationChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_ContentOrientationChanged)); +} + +void QWindow_ContentOrientationChanged(void* ptr, long long orientation) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->contentOrientationChanged(static_cast(orientation)); + } else { + static_cast(ptr)->contentOrientationChanged(static_cast(orientation)); + } +} + +void QWindow_Create(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->create(); + } else { + static_cast(ptr)->create(); + } +} + +void* QWindow_Cursor(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QCursor(static_cast(ptr)->cursor()); + } else { + return new QCursor(static_cast(ptr)->cursor()); + } +} + +void QWindow_Destroy(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->destroy(); + } else { + static_cast(ptr)->destroy(); + } +} + +double QWindow_DevicePixelRatio(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->devicePixelRatio(); + } else { + return static_cast(ptr)->devicePixelRatio(); + } +} + +char QWindow_Event(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->event(static_cast(ev)); + } else { + return static_cast(ptr)->event(static_cast(ev)); + } +} + +char QWindow_EventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QRasterWindow::event(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QOpenGLWindow::event(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPaintDeviceWindow::event(static_cast(ev)); + } else { + return static_cast(ptr)->QWindow::event(static_cast(ev)); + } +} + +void QWindow_ExposeEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->exposeEvent(static_cast(ev)); + } else { + static_cast(ptr)->exposeEvent(static_cast(ev)); + } +} + +void QWindow_ExposeEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::exposeEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::exposeEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::exposeEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::exposeEvent(static_cast(ev)); + } +} + +struct QtGui_PackedString QWindow_FilePath(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray t7116fb = static_cast(ptr)->filePath().toUtf8(); QtGui_PackedString { const_cast(t7116fb.prepend("WHITESPACE").constData()+10), t7116fb.size()-10 }; }); + } else { + return ({ QByteArray t7116fb = static_cast(ptr)->filePath().toUtf8(); QtGui_PackedString { const_cast(t7116fb.prepend("WHITESPACE").constData()+10), t7116fb.size()-10 }; }); + } +} + +long long QWindow_Flags(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->flags(); + } else { + return static_cast(ptr)->flags(); + } +} + +void QWindow_FocusInEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->focusInEvent(static_cast(ev)); + } else { + static_cast(ptr)->focusInEvent(static_cast(ev)); + } +} + +void QWindow_FocusInEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::focusInEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::focusInEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::focusInEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::focusInEvent(static_cast(ev)); + } +} + +void* QWindow_FocusObject(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->focusObject(); + } else { + return static_cast(ptr)->focusObject(); + } +} + +void* QWindow_FocusObjectDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QRasterWindow::focusObject(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QOpenGLWindow::focusObject(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPaintDeviceWindow::focusObject(); + } else { + return static_cast(ptr)->QWindow::focusObject(); + } +} + +void QWindow_ConnectFocusObjectChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::focusObjectChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_FocusObjectChanged), static_cast(t)); +} + +void QWindow_DisconnectFocusObjectChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::focusObjectChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_FocusObjectChanged)); +} + +void QWindow_FocusObjectChanged(void* ptr, void* object) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(object))) { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } else { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } + } else { + if (dynamic_cast(static_cast(object))) { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } else if (dynamic_cast(static_cast(object))) { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } else { + static_cast(ptr)->focusObjectChanged(static_cast(object)); + } + } +} + +void QWindow_FocusOutEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->focusOutEvent(static_cast(ev)); + } else { + static_cast(ptr)->focusOutEvent(static_cast(ev)); + } +} + +void QWindow_FocusOutEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::focusOutEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::focusOutEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::focusOutEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::focusOutEvent(static_cast(ev)); + } +} + +void* QWindow_Format(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QSurfaceFormat(static_cast(ptr)->format()); + } else { + return new QSurfaceFormat(static_cast(ptr)->format()); + } +} + +void* QWindow_FormatDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QSurfaceFormat(static_cast(ptr)->QRasterWindow::format()); + } else if (dynamic_cast(static_cast(ptr))) { + return new QSurfaceFormat(static_cast(ptr)->QOpenGLWindow::format()); + } else if (dynamic_cast(static_cast(ptr))) { + return new QSurfaceFormat(static_cast(ptr)->QPaintDeviceWindow::format()); + } else { + return new QSurfaceFormat(static_cast(ptr)->QWindow::format()); + } +} + +void* QWindow_FrameGeometry(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QRect tmpValue = static_cast(ptr)->frameGeometry(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QRect tmpValue = static_cast(ptr)->frameGeometry(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); + } +} + +void* QWindow_FrameMargins(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QMargins tmpValue = static_cast(ptr)->frameMargins(); new QMargins(tmpValue.left(), tmpValue.top(), tmpValue.right(), tmpValue.bottom()); }); + } else { + return ({ QMargins tmpValue = static_cast(ptr)->frameMargins(); new QMargins(tmpValue.left(), tmpValue.top(), tmpValue.right(), tmpValue.bottom()); }); + } +} + +void* QWindow_FramePosition(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QPoint tmpValue = static_cast(ptr)->framePosition(); new QPoint(tmpValue.x(), tmpValue.y()); }); + } else { + return ({ QPoint tmpValue = static_cast(ptr)->framePosition(); new QPoint(tmpValue.x(), tmpValue.y()); }); + } +} + +void* QWindow_QWindow_FromWinId(uintptr_t id) +{ + return QWindow::fromWinId(id); +} + +void* QWindow_Geometry(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QRect tmpValue = static_cast(ptr)->geometry(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QRect tmpValue = static_cast(ptr)->geometry(); new QRect(tmpValue.x(), tmpValue.y(), tmpValue.width(), tmpValue.height()); }); + } +} + +int QWindow_Height(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->height(); + } else { + return static_cast(ptr)->height(); + } +} + +void QWindow_ConnectHeightChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::heightChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_HeightChanged), static_cast(t)); +} + +void QWindow_DisconnectHeightChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::heightChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_HeightChanged)); +} + +void QWindow_HeightChanged(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->heightChanged(arg); + } else { + static_cast(ptr)->heightChanged(arg); + } +} + +void QWindow_Hide(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "hide"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "hide"); + } +} + +void QWindow_HideDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::hide(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::hide(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::hide(); + } else { + static_cast(ptr)->QWindow::hide(); + } +} + +void QWindow_HideEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->hideEvent(static_cast(ev)); + } else { + static_cast(ptr)->hideEvent(static_cast(ev)); + } +} + +void QWindow_HideEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::hideEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::hideEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::hideEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::hideEvent(static_cast(ev)); + } +} + +void* QWindow_Icon(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QIcon(static_cast(ptr)->icon()); + } else { + return new QIcon(static_cast(ptr)->icon()); + } +} + +char QWindow_IsActive(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->isActive(); + } else { + return static_cast(ptr)->isActive(); + } +} + +char QWindow_IsAncestorOf(void* ptr, void* child, long long mode) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(child))) { + return static_cast(ptr)->isAncestorOf(static_cast(child), static_cast(mode)); + } else { + return static_cast(ptr)->isAncestorOf(static_cast(child), static_cast(mode)); + } + } else { + if (dynamic_cast(static_cast(child))) { + return static_cast(ptr)->isAncestorOf(static_cast(child), static_cast(mode)); + } else { + return static_cast(ptr)->isAncestorOf(static_cast(child), static_cast(mode)); + } + } +} + +char QWindow_IsExposed(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->isExposed(); + } else { + return static_cast(ptr)->isExposed(); + } +} + +char QWindow_IsModal(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->isModal(); + } else { + return static_cast(ptr)->isModal(); + } +} + +char QWindow_IsTopLevel(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->isTopLevel(); + } else { + return static_cast(ptr)->isTopLevel(); + } +} + +char QWindow_IsVisible(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->isVisible(); + } else { + return static_cast(ptr)->isVisible(); + } +} + +void QWindow_KeyPressEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->keyPressEvent(static_cast(ev)); + } else { + static_cast(ptr)->keyPressEvent(static_cast(ev)); + } +} + +void QWindow_KeyPressEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::keyPressEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::keyPressEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::keyPressEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::keyPressEvent(static_cast(ev)); + } +} + +void QWindow_KeyReleaseEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->keyReleaseEvent(static_cast(ev)); + } else { + static_cast(ptr)->keyReleaseEvent(static_cast(ev)); + } +} + +void QWindow_KeyReleaseEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::keyReleaseEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::keyReleaseEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::keyReleaseEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::keyReleaseEvent(static_cast(ev)); + } +} + +void QWindow_Lower(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "lower"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "lower"); + } +} + +void QWindow_LowerDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::lower(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::lower(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::lower(); + } else { + static_cast(ptr)->QWindow::lower(); + } +} + +void* QWindow_MapFromGlobal(void* ptr, void* pos) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QPoint tmpValue = static_cast(ptr)->mapFromGlobal(*static_cast(pos)); new QPoint(tmpValue.x(), tmpValue.y()); }); + } else { + return ({ QPoint tmpValue = static_cast(ptr)->mapFromGlobal(*static_cast(pos)); new QPoint(tmpValue.x(), tmpValue.y()); }); + } +} + +void* QWindow_MapToGlobal(void* ptr, void* pos) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QPoint tmpValue = static_cast(ptr)->mapToGlobal(*static_cast(pos)); new QPoint(tmpValue.x(), tmpValue.y()); }); + } else { + return ({ QPoint tmpValue = static_cast(ptr)->mapToGlobal(*static_cast(pos)); new QPoint(tmpValue.x(), tmpValue.y()); }); + } +} + +void* QWindow_Mask(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QRegion(static_cast(ptr)->mask()); + } else { + return new QRegion(static_cast(ptr)->mask()); + } +} + +int QWindow_MaximumHeight(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->maximumHeight(); + } else { + return static_cast(ptr)->maximumHeight(); + } +} + +void QWindow_ConnectMaximumHeightChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::maximumHeightChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_MaximumHeightChanged), static_cast(t)); +} + +void QWindow_DisconnectMaximumHeightChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::maximumHeightChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_MaximumHeightChanged)); +} + +void QWindow_MaximumHeightChanged(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->maximumHeightChanged(arg); + } else { + static_cast(ptr)->maximumHeightChanged(arg); + } +} + +void* QWindow_MaximumSize(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->maximumSize(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSize tmpValue = static_cast(ptr)->maximumSize(); new QSize(tmpValue.width(), tmpValue.height()); }); + } +} + +int QWindow_MaximumWidth(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->maximumWidth(); + } else { + return static_cast(ptr)->maximumWidth(); + } +} + +void QWindow_ConnectMaximumWidthChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::maximumWidthChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_MaximumWidthChanged), static_cast(t)); +} + +void QWindow_DisconnectMaximumWidthChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::maximumWidthChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_MaximumWidthChanged)); +} + +void QWindow_MaximumWidthChanged(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->maximumWidthChanged(arg); + } else { + static_cast(ptr)->maximumWidthChanged(arg); + } +} + +int QWindow_MinimumHeight(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->minimumHeight(); + } else { + return static_cast(ptr)->minimumHeight(); + } +} + +void QWindow_ConnectMinimumHeightChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::minimumHeightChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_MinimumHeightChanged), static_cast(t)); +} + +void QWindow_DisconnectMinimumHeightChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::minimumHeightChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_MinimumHeightChanged)); +} + +void QWindow_MinimumHeightChanged(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->minimumHeightChanged(arg); + } else { + static_cast(ptr)->minimumHeightChanged(arg); + } +} + +void* QWindow_MinimumSize(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->minimumSize(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSize tmpValue = static_cast(ptr)->minimumSize(); new QSize(tmpValue.width(), tmpValue.height()); }); + } +} + +int QWindow_MinimumWidth(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->minimumWidth(); + } else { + return static_cast(ptr)->minimumWidth(); + } +} + +void QWindow_ConnectMinimumWidthChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::minimumWidthChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_MinimumWidthChanged), static_cast(t)); +} + +void QWindow_DisconnectMinimumWidthChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::minimumWidthChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_MinimumWidthChanged)); +} + +void QWindow_MinimumWidthChanged(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->minimumWidthChanged(arg); + } else { + static_cast(ptr)->minimumWidthChanged(arg); + } +} + +long long QWindow_Modality(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->modality(); + } else { + return static_cast(ptr)->modality(); + } +} + +void QWindow_ConnectModalityChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QWindow::modalityChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_ModalityChanged), static_cast(t)); +} + +void QWindow_DisconnectModalityChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::modalityChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_ModalityChanged)); +} + +void QWindow_ModalityChanged(void* ptr, long long modality) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->modalityChanged(static_cast(modality)); + } else { + static_cast(ptr)->modalityChanged(static_cast(modality)); + } +} + +void QWindow_MouseDoubleClickEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->mouseDoubleClickEvent(static_cast(ev)); + } else { + static_cast(ptr)->mouseDoubleClickEvent(static_cast(ev)); + } +} + +void QWindow_MouseDoubleClickEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::mouseDoubleClickEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::mouseDoubleClickEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::mouseDoubleClickEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::mouseDoubleClickEvent(static_cast(ev)); + } +} + +void QWindow_MouseMoveEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->mouseMoveEvent(static_cast(ev)); + } else { + static_cast(ptr)->mouseMoveEvent(static_cast(ev)); + } +} + +void QWindow_MouseMoveEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::mouseMoveEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::mouseMoveEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::mouseMoveEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::mouseMoveEvent(static_cast(ev)); + } +} + +void QWindow_MousePressEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->mousePressEvent(static_cast(ev)); + } else { + static_cast(ptr)->mousePressEvent(static_cast(ev)); + } +} + +void QWindow_MousePressEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::mousePressEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::mousePressEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::mousePressEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::mousePressEvent(static_cast(ev)); + } +} + +void QWindow_MouseReleaseEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->mouseReleaseEvent(static_cast(ev)); + } else { + static_cast(ptr)->mouseReleaseEvent(static_cast(ev)); + } +} + +void QWindow_MouseReleaseEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::mouseReleaseEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::mouseReleaseEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::mouseReleaseEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::mouseReleaseEvent(static_cast(ev)); + } +} + +void QWindow_MoveEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->moveEvent(static_cast(ev)); + } else { + static_cast(ptr)->moveEvent(static_cast(ev)); + } +} + +void QWindow_MoveEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::moveEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::moveEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::moveEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::moveEvent(static_cast(ev)); + } +} + +char QWindow_NativeEvent(void* ptr, void* eventType, void* message, long* result) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->nativeEvent(*static_cast(eventType), message, result); + } else { + return static_cast(ptr)->nativeEvent(*static_cast(eventType), message, result); + } +} + +char QWindow_NativeEventDefault(void* ptr, void* eventType, void* message, long* result) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QRasterWindow::nativeEvent(*static_cast(eventType), message, result); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QOpenGLWindow::nativeEvent(*static_cast(eventType), message, result); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPaintDeviceWindow::nativeEvent(*static_cast(eventType), message, result); + } else { + return static_cast(ptr)->QWindow::nativeEvent(*static_cast(eventType), message, result); + } +} + +double QWindow_Opacity(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->opacity(); + } else { + return static_cast(ptr)->opacity(); + } +} + +void QWindow_ConnectOpacityChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::opacityChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_OpacityChanged), static_cast(t)); +} + +void QWindow_DisconnectOpacityChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::opacityChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_OpacityChanged)); +} + +void QWindow_OpacityChanged(void* ptr, double opacity) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->opacityChanged(opacity); + } else { + static_cast(ptr)->opacityChanged(opacity); + } +} + +void* QWindow_Parent(void* ptr, long long mode) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->parent(static_cast(mode)); + } else { + return static_cast(ptr)->parent(static_cast(mode)); + } +} + +void* QWindow_Parent2(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->parent(); + } else { + return static_cast(ptr)->parent(); + } +} + +void* QWindow_Position(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QPoint tmpValue = static_cast(ptr)->position(); new QPoint(tmpValue.x(), tmpValue.y()); }); + } else { + return ({ QPoint tmpValue = static_cast(ptr)->position(); new QPoint(tmpValue.x(), tmpValue.y()); }); + } +} + +void QWindow_Raise(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "raise"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "raise"); + } +} + +void QWindow_RaiseDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::raise(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::raise(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::raise(); + } else { + static_cast(ptr)->QWindow::raise(); + } +} + +void QWindow_ReportContentOrientationChange(void* ptr, long long orientation) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->reportContentOrientationChange(static_cast(orientation)); + } else { + static_cast(ptr)->reportContentOrientationChange(static_cast(orientation)); + } +} + +void QWindow_RequestActivate(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "requestActivate"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "requestActivate"); + } +} + +void QWindow_RequestActivateDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::requestActivate(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::requestActivate(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::requestActivate(); + } else { + static_cast(ptr)->QWindow::requestActivate(); + } +} + +void QWindow_RequestUpdate(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "requestUpdate"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "requestUpdate"); + } +} + +void QWindow_RequestUpdateDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::requestUpdate(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::requestUpdate(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::requestUpdate(); + } else { + static_cast(ptr)->QWindow::requestUpdate(); + } +} + +void* QWindow_RequestedFormat(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QSurfaceFormat(static_cast(ptr)->requestedFormat()); + } else { + return new QSurfaceFormat(static_cast(ptr)->requestedFormat()); + } +} + +void QWindow_Resize(void* ptr, void* newSize) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->resize(*static_cast(newSize)); + } else { + static_cast(ptr)->resize(*static_cast(newSize)); + } +} + +void QWindow_Resize2(void* ptr, int w, int h) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->resize(w, h); + } else { + static_cast(ptr)->resize(w, h); + } +} + +void QWindow_ResizeEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->resizeEvent(static_cast(ev)); + } else { + static_cast(ptr)->resizeEvent(static_cast(ev)); + } +} + +void QWindow_ResizeEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::resizeEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::resizeEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::resizeEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::resizeEvent(static_cast(ev)); + } +} + +void* QWindow_Screen(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->screen(); + } else { + return static_cast(ptr)->screen(); + } +} + +void QWindow_ConnectScreenChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::screenChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_ScreenChanged), static_cast(t)); +} + +void QWindow_DisconnectScreenChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::screenChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_ScreenChanged)); +} + +void QWindow_ScreenChanged(void* ptr, void* screen) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->screenChanged(static_cast(screen)); + } else { + static_cast(ptr)->screenChanged(static_cast(screen)); + } +} + +void QWindow_SetBaseSize(void* ptr, void* size) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setBaseSize(*static_cast(size)); + } else { + static_cast(ptr)->setBaseSize(*static_cast(size)); + } +} + +void QWindow_SetCursor(void* ptr, void* cursor) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setCursor(*static_cast(cursor)); + } else { + static_cast(ptr)->setCursor(*static_cast(cursor)); + } +} + +void QWindow_SetFilePath(void* ptr, struct QtGui_PackedString filePath) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setFilePath(QString::fromUtf8(filePath.data, filePath.len)); + } else { + static_cast(ptr)->setFilePath(QString::fromUtf8(filePath.data, filePath.len)); + } +} + +void QWindow_SetFlag(void* ptr, long long flag, char on) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setFlag(static_cast(flag), on != 0); + } else { + static_cast(ptr)->setFlag(static_cast(flag), on != 0); + } +} + +void QWindow_SetFlags(void* ptr, long long flags) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setFlags(static_cast(flags)); + } else { + static_cast(ptr)->setFlags(static_cast(flags)); + } +} + +void QWindow_SetFormat(void* ptr, void* format) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setFormat(*static_cast(format)); + } else { + static_cast(ptr)->setFormat(*static_cast(format)); + } +} + +void QWindow_SetFramePosition(void* ptr, void* point) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setFramePosition(*static_cast(point)); + } else { + static_cast(ptr)->setFramePosition(*static_cast(point)); + } +} + +void QWindow_SetGeometry(void* ptr, int posx, int posy, int w, int h) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setGeometry", Q_ARG(int, posx), Q_ARG(int, posy), Q_ARG(int, w), Q_ARG(int, h)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setGeometry", Q_ARG(int, posx), Q_ARG(int, posy), Q_ARG(int, w), Q_ARG(int, h)); + } +} + +void QWindow_SetGeometryDefault(void* ptr, int posx, int posy, int w, int h) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setGeometry(posx, posy, w, h); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setGeometry(posx, posy, w, h); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setGeometry(posx, posy, w, h); + } else { + static_cast(ptr)->QWindow::setGeometry(posx, posy, w, h); + } +} + +void QWindow_SetGeometry2(void* ptr, void* rect) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setGeometry", Q_ARG(const QRect, *static_cast(rect))); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setGeometry", Q_ARG(const QRect, *static_cast(rect))); + } +} + +void QWindow_SetGeometry2Default(void* ptr, void* rect) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setGeometry(*static_cast(rect)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setGeometry(*static_cast(rect)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setGeometry(*static_cast(rect)); + } else { + static_cast(ptr)->QWindow::setGeometry(*static_cast(rect)); + } +} + +void QWindow_SetHeight(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setHeight", Q_ARG(int, arg)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setHeight", Q_ARG(int, arg)); + } +} + +void QWindow_SetHeightDefault(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setHeight(arg); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setHeight(arg); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setHeight(arg); + } else { + static_cast(ptr)->QWindow::setHeight(arg); + } +} + +void QWindow_SetIcon(void* ptr, void* icon) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setIcon(*static_cast(icon)); + } else { + static_cast(ptr)->setIcon(*static_cast(icon)); + } +} + +char QWindow_SetKeyboardGrabEnabled(void* ptr, char grab) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->setKeyboardGrabEnabled(grab != 0); + } else { + return static_cast(ptr)->setKeyboardGrabEnabled(grab != 0); + } +} + +void QWindow_SetMask(void* ptr, void* region) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setMask(*static_cast(region)); + } else { + static_cast(ptr)->setMask(*static_cast(region)); + } +} + +void QWindow_SetMaximumHeight(void* ptr, int h) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setMaximumHeight", Q_ARG(int, h)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setMaximumHeight", Q_ARG(int, h)); + } +} + +void QWindow_SetMaximumHeightDefault(void* ptr, int h) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setMaximumHeight(h); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setMaximumHeight(h); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setMaximumHeight(h); + } else { + static_cast(ptr)->QWindow::setMaximumHeight(h); + } +} + +void QWindow_SetMaximumSize(void* ptr, void* size) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setMaximumSize(*static_cast(size)); + } else { + static_cast(ptr)->setMaximumSize(*static_cast(size)); + } +} + +void QWindow_SetMaximumWidth(void* ptr, int w) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setMaximumWidth", Q_ARG(int, w)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setMaximumWidth", Q_ARG(int, w)); + } +} + +void QWindow_SetMaximumWidthDefault(void* ptr, int w) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setMaximumWidth(w); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setMaximumWidth(w); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setMaximumWidth(w); + } else { + static_cast(ptr)->QWindow::setMaximumWidth(w); + } +} + +void QWindow_SetMinimumHeight(void* ptr, int h) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setMinimumHeight", Q_ARG(int, h)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setMinimumHeight", Q_ARG(int, h)); + } +} + +void QWindow_SetMinimumHeightDefault(void* ptr, int h) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setMinimumHeight(h); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setMinimumHeight(h); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setMinimumHeight(h); + } else { + static_cast(ptr)->QWindow::setMinimumHeight(h); + } +} + +void QWindow_SetMinimumSize(void* ptr, void* size) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setMinimumSize(*static_cast(size)); + } else { + static_cast(ptr)->setMinimumSize(*static_cast(size)); + } +} + +void QWindow_SetMinimumWidth(void* ptr, int w) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setMinimumWidth", Q_ARG(int, w)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setMinimumWidth", Q_ARG(int, w)); + } +} + +void QWindow_SetMinimumWidthDefault(void* ptr, int w) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setMinimumWidth(w); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setMinimumWidth(w); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setMinimumWidth(w); + } else { + static_cast(ptr)->QWindow::setMinimumWidth(w); + } +} + +void QWindow_SetModality(void* ptr, long long modality) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setModality(static_cast(modality)); + } else { + static_cast(ptr)->setModality(static_cast(modality)); + } +} + +char QWindow_SetMouseGrabEnabled(void* ptr, char grab) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->setMouseGrabEnabled(grab != 0); + } else { + return static_cast(ptr)->setMouseGrabEnabled(grab != 0); + } +} + +void QWindow_SetOpacity(void* ptr, double level) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setOpacity(level); + } else { + static_cast(ptr)->setOpacity(level); + } +} + +void QWindow_SetParent(void* ptr, void* parent) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(parent))) { + static_cast(ptr)->setParent(static_cast(parent)); + } else { + static_cast(ptr)->setParent(static_cast(parent)); + } + } else { + if (dynamic_cast(static_cast(parent))) { + static_cast(ptr)->setParent(static_cast(parent)); + } else { + static_cast(ptr)->setParent(static_cast(parent)); + } + } +} + +void QWindow_SetPosition(void* ptr, void* pt) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setPosition(*static_cast(pt)); + } else { + static_cast(ptr)->setPosition(*static_cast(pt)); + } +} + +void QWindow_SetPosition2(void* ptr, int posx, int posy) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setPosition(posx, posy); + } else { + static_cast(ptr)->setPosition(posx, posy); + } +} + +void QWindow_SetScreen(void* ptr, void* newScreen) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setScreen(static_cast(newScreen)); + } else { + static_cast(ptr)->setScreen(static_cast(newScreen)); + } +} + +void QWindow_SetSizeIncrement(void* ptr, void* size) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setSizeIncrement(*static_cast(size)); + } else { + static_cast(ptr)->setSizeIncrement(*static_cast(size)); + } +} + +void QWindow_SetSurfaceType(void* ptr, long long surfaceType) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setSurfaceType(static_cast(surfaceType)); + } else { + static_cast(ptr)->setSurfaceType(static_cast(surfaceType)); + } +} + +void QWindow_SetTitle(void* ptr, struct QtGui_PackedString vqs) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setTitle", Q_ARG(const QString, QString::fromUtf8(vqs.data, vqs.len))); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setTitle", Q_ARG(const QString, QString::fromUtf8(vqs.data, vqs.len))); + } +} + +void QWindow_SetTitleDefault(void* ptr, struct QtGui_PackedString vqs) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setTitle(QString::fromUtf8(vqs.data, vqs.len)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setTitle(QString::fromUtf8(vqs.data, vqs.len)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setTitle(QString::fromUtf8(vqs.data, vqs.len)); + } else { + static_cast(ptr)->QWindow::setTitle(QString::fromUtf8(vqs.data, vqs.len)); + } +} + +void QWindow_SetVisibility(void* ptr, long long v) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setVisibility(static_cast(v)); + } else { + static_cast(ptr)->setVisibility(static_cast(v)); + } +} + +void QWindow_SetVisible(void* ptr, char visible) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setVisible", Q_ARG(bool, visible != 0)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setVisible", Q_ARG(bool, visible != 0)); + } +} + +void QWindow_SetVisibleDefault(void* ptr, char visible) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setVisible(visible != 0); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setVisible(visible != 0); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setVisible(visible != 0); + } else { + static_cast(ptr)->QWindow::setVisible(visible != 0); + } +} + +void QWindow_SetWidth(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setWidth", Q_ARG(int, arg)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setWidth", Q_ARG(int, arg)); + } +} + +void QWindow_SetWidthDefault(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setWidth(arg); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setWidth(arg); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setWidth(arg); + } else { + static_cast(ptr)->QWindow::setWidth(arg); + } +} + +void QWindow_SetWindowState(void* ptr, long long state) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setWindowState(static_cast(state)); + } else { + static_cast(ptr)->setWindowState(static_cast(state)); + } +} + +void QWindow_SetWindowStates(void* ptr, long long state) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->setWindowStates(static_cast(state)); + } else { + static_cast(ptr)->setWindowStates(static_cast(state)); + } +} + +void QWindow_SetX(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setX", Q_ARG(int, arg)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setX", Q_ARG(int, arg)); + } +} + +void QWindow_SetXDefault(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setX(arg); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setX(arg); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setX(arg); + } else { + static_cast(ptr)->QWindow::setX(arg); + } +} + +void QWindow_SetY(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "setY", Q_ARG(int, arg)); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "setY", Q_ARG(int, arg)); + } +} + +void QWindow_SetYDefault(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::setY(arg); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::setY(arg); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::setY(arg); + } else { + static_cast(ptr)->QWindow::setY(arg); + } +} + +void QWindow_Show(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "show"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "show"); + } +} + +void QWindow_ShowDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::show(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::show(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::show(); + } else { + static_cast(ptr)->QWindow::show(); + } +} + +void QWindow_ShowEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->showEvent(static_cast(ev)); + } else { + static_cast(ptr)->showEvent(static_cast(ev)); + } +} + +void QWindow_ShowEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::showEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::showEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::showEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::showEvent(static_cast(ev)); + } +} + +void QWindow_ShowFullScreen(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "showFullScreen"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "showFullScreen"); + } +} + +void QWindow_ShowFullScreenDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::showFullScreen(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::showFullScreen(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::showFullScreen(); + } else { + static_cast(ptr)->QWindow::showFullScreen(); + } +} + +void QWindow_ShowMaximized(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "showMaximized"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "showMaximized"); + } +} + +void QWindow_ShowMaximizedDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::showMaximized(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::showMaximized(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::showMaximized(); + } else { + static_cast(ptr)->QWindow::showMaximized(); + } +} + +void QWindow_ShowMinimized(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "showMinimized"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "showMinimized"); + } +} + +void QWindow_ShowMinimizedDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::showMinimized(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::showMinimized(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::showMinimized(); + } else { + static_cast(ptr)->QWindow::showMinimized(); + } +} + +void QWindow_ShowNormal(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "showNormal"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "showNormal"); + } +} + +void QWindow_ShowNormalDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::showNormal(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::showNormal(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::showNormal(); + } else { + static_cast(ptr)->QWindow::showNormal(); + } +} + +void* QWindow_Size(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSize tmpValue = static_cast(ptr)->size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } +} + +void* QWindow_SizeDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QRasterWindow::size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QOpenGLWindow::size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->QPaintDeviceWindow::size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSize tmpValue = static_cast(ptr)->QWindow::size(); new QSize(tmpValue.width(), tmpValue.height()); }); + } +} + +void* QWindow_SizeIncrement(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QSize tmpValue = static_cast(ptr)->sizeIncrement(); new QSize(tmpValue.width(), tmpValue.height()); }); + } else { + return ({ QSize tmpValue = static_cast(ptr)->sizeIncrement(); new QSize(tmpValue.width(), tmpValue.height()); }); + } +} + +long long QWindow_SurfaceType(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->surfaceType(); + } else { + return static_cast(ptr)->surfaceType(); + } +} + +long long QWindow_SurfaceTypeDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QRasterWindow::surfaceType(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QOpenGLWindow::surfaceType(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QPaintDeviceWindow::surfaceType(); + } else { + return static_cast(ptr)->QWindow::surfaceType(); + } +} + +void QWindow_TabletEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->tabletEvent(static_cast(ev)); + } else { + static_cast(ptr)->tabletEvent(static_cast(ev)); + } +} + +void QWindow_TabletEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::tabletEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::tabletEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::tabletEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::tabletEvent(static_cast(ev)); + } +} + +struct QtGui_PackedString QWindow_Title(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({ QByteArray t3f590b = static_cast(ptr)->title().toUtf8(); QtGui_PackedString { const_cast(t3f590b.prepend("WHITESPACE").constData()+10), t3f590b.size()-10 }; }); + } else { + return ({ QByteArray t3f590b = static_cast(ptr)->title().toUtf8(); QtGui_PackedString { const_cast(t3f590b.prepend("WHITESPACE").constData()+10), t3f590b.size()-10 }; }); + } +} + +void QWindow_TouchEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->touchEvent(static_cast(ev)); + } else { + static_cast(ptr)->touchEvent(static_cast(ev)); + } +} + +void QWindow_TouchEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::touchEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::touchEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::touchEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::touchEvent(static_cast(ev)); + } +} + +long long QWindow_Type(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->type(); + } else { + return static_cast(ptr)->type(); + } +} + +void QWindow_UnsetCursor(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->unsetCursor(); + } else { + static_cast(ptr)->unsetCursor(); + } +} + +long long QWindow_Visibility(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->visibility(); + } else { + return static_cast(ptr)->visibility(); + } +} + +void QWindow_ConnectVisibilityChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QWindow::visibilityChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_VisibilityChanged), static_cast(t)); +} + +void QWindow_DisconnectVisibilityChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::visibilityChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_VisibilityChanged)); +} + +void QWindow_VisibilityChanged(void* ptr, long long visibility) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->visibilityChanged(static_cast(visibility)); + } else { + static_cast(ptr)->visibilityChanged(static_cast(visibility)); + } +} + +void QWindow_ConnectVisibleChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::visibleChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_VisibleChanged), static_cast(t)); +} + +void QWindow_DisconnectVisibleChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::visibleChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_VisibleChanged)); +} + +void QWindow_VisibleChanged(void* ptr, char arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->visibleChanged(arg != 0); + } else { + static_cast(ptr)->visibleChanged(arg != 0); + } +} + +void QWindow_WheelEvent(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->wheelEvent(static_cast(ev)); + } else { + static_cast(ptr)->wheelEvent(static_cast(ev)); + } +} + +void QWindow_WheelEventDefault(void* ptr, void* ev) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::wheelEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::wheelEvent(static_cast(ev)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::wheelEvent(static_cast(ev)); + } else { + static_cast(ptr)->QWindow::wheelEvent(static_cast(ev)); + } +} + +int QWindow_Width(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->width(); + } else { + return static_cast(ptr)->width(); + } +} + +void QWindow_ConnectWidthChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::widthChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_WidthChanged), static_cast(t)); +} + +void QWindow_DisconnectWidthChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::widthChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_WidthChanged)); +} + +void QWindow_WidthChanged(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->widthChanged(arg); + } else { + static_cast(ptr)->widthChanged(arg); + } +} + +uintptr_t QWindow_WinId(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->winId(); + } else { + return static_cast(ptr)->winId(); + } +} + +long long QWindow_WindowState(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->windowState(); + } else { + return static_cast(ptr)->windowState(); + } +} + +void QWindow_ConnectWindowStateChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QWindow::windowStateChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_WindowStateChanged), static_cast(t)); +} + +void QWindow_DisconnectWindowStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::windowStateChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_WindowStateChanged)); +} + +void QWindow_WindowStateChanged(void* ptr, long long windowState) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->windowStateChanged(static_cast(windowState)); + } else { + static_cast(ptr)->windowStateChanged(static_cast(windowState)); + } +} + +long long QWindow_WindowStates(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->windowStates(); + } else { + return static_cast(ptr)->windowStates(); + } +} + +void QWindow_ConnectWindowTitleChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::windowTitleChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_WindowTitleChanged), static_cast(t)); +} + +void QWindow_DisconnectWindowTitleChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::windowTitleChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_WindowTitleChanged)); +} + +void QWindow_WindowTitleChanged(void* ptr, struct QtGui_PackedString title) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->windowTitleChanged(QString::fromUtf8(title.data, title.len)); + } else { + static_cast(ptr)->windowTitleChanged(QString::fromUtf8(title.data, title.len)); + } +} + +int QWindow_X(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->x(); + } else { + return static_cast(ptr)->x(); + } +} + +void QWindow_ConnectXChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::xChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_XChanged), static_cast(t)); +} + +void QWindow_DisconnectXChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::xChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_XChanged)); +} + +void QWindow_XChanged(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->xChanged(arg); + } else { + static_cast(ptr)->xChanged(arg); + } +} + +int QWindow_Y(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->y(); + } else { + return static_cast(ptr)->y(); + } +} + +void QWindow_ConnectYChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QWindow::yChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_YChanged), static_cast(t)); +} + +void QWindow_DisconnectYChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QWindow::yChanged), static_cast(ptr), static_cast(&MyQWindow::Signal_YChanged)); +} + +void QWindow_YChanged(void* ptr, int arg) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->yChanged(arg); + } else { + static_cast(ptr)->yChanged(arg); + } +} + +void QWindow_DestroyQWindow(void* ptr) +{ + static_cast(ptr)->~QWindow(); +} + +void QWindow_DestroyQWindowDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QWindow___children_atList(void* ptr, int i) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); + } else { + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); + } +} + +void QWindow___children_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } + } else { + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } + } +} + +void* QWindow___children_newList(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QList(); + } else { + return new QList(); + } +} + +void* QWindow___dynamicPropertyNames_atList(void* ptr, int i) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); + } else { + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); + } +} + +void QWindow___dynamicPropertyNames_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast*>(ptr)->append(*static_cast(i)); + } else { + static_cast*>(ptr)->append(*static_cast(i)); + } +} + +void* QWindow___dynamicPropertyNames_newList(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QList(); + } else { + return new QList(); + } +} + +void* QWindow___findChildren_atList(void* ptr, int i) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); + } else { + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); + } +} + +void QWindow___findChildren_setList(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } + } else { + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } + } +} + +void* QWindow___findChildren_newList(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QList(); + } else { + return new QList(); + } +} + +void* QWindow___findChildren_atList3(void* ptr, int i) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); + } else { + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); + } +} + +void QWindow___findChildren_setList3(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } + } else { + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } + } +} + +void* QWindow___findChildren_newList3(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QList(); + } else { + return new QList(); + } +} + +void* QWindow___qFindChildren_atList2(void* ptr, int i) +{ + if (dynamic_cast(static_cast(ptr))) { + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); + } else { + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); + } +} + +void QWindow___qFindChildren_setList2(void* ptr, void* i) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } + } else { + if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else if (dynamic_cast(static_cast(i))) { + static_cast*>(ptr)->append(static_cast(i)); + } else { + static_cast*>(ptr)->append(static_cast(i)); + } + } +} + +void* QWindow___qFindChildren_newList2(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QList(); + } else { + return new QList(); + } +} + +void QWindow_ChildEvent(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->childEvent(static_cast(event)); + } else { + static_cast(ptr)->childEvent(static_cast(event)); + } +} + +void QWindow_ChildEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::childEvent(static_cast(event)); + } else { + static_cast(ptr)->QWindow::childEvent(static_cast(event)); + } +} + +void QWindow_ConnectNotify(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->connectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->connectNotify(*static_cast(sign)); + } +} + +void QWindow_ConnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::connectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QWindow::connectNotify(*static_cast(sign)); + } +} + +void QWindow_CustomEvent(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->customEvent(static_cast(event)); + } else { + static_cast(ptr)->customEvent(static_cast(event)); + } +} + +void QWindow_CustomEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::customEvent(static_cast(event)); + } else { + static_cast(ptr)->QWindow::customEvent(static_cast(event)); + } +} + +void QWindow_DeleteLater(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + QMetaObject::invokeMethod(static_cast(ptr), "deleteLater"); + } else { + QMetaObject::invokeMethod(static_cast(ptr), "deleteLater"); + } +} + +void QWindow_DeleteLaterDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::deleteLater(); + } else { + static_cast(ptr)->QWindow::deleteLater(); + } +} + +void QWindow_DisconnectNotify(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->disconnectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->disconnectNotify(*static_cast(sign)); + } +} + +void QWindow_DisconnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::disconnectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QWindow::disconnectNotify(*static_cast(sign)); + } +} + +char QWindow_EventFilter(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } + } else { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->eventFilter(static_cast(watched), static_cast(event)); + } + } +} + +char QWindow_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRasterWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRasterWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRasterWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QRasterWindow::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QRasterWindow::eventFilter(static_cast(watched), static_cast(event)); + } + } else if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QOpenGLWindow::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QOpenGLWindow::eventFilter(static_cast(watched), static_cast(event)); + } + } else if (dynamic_cast(static_cast(ptr))) { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPaintDeviceWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPaintDeviceWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPaintDeviceWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QPaintDeviceWindow::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QPaintDeviceWindow::eventFilter(static_cast(watched), static_cast(event)); + } + } else { + if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QWindow::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(watched))) { + return static_cast(ptr)->QWindow::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QWindow::eventFilter(static_cast(watched), static_cast(event)); + } + } +} + +void* QWindow_MetaObject(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->metaObject()); + } else { + return const_cast(static_cast(ptr)->metaObject()); + } +} + +void* QWindow_MetaObjectDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QRasterWindow::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QOpenGLWindow::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QPaintDeviceWindow::metaObject()); + } else { + return const_cast(static_cast(ptr)->QWindow::metaObject()); + } +} + +void QWindow_TimerEvent(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->timerEvent(static_cast(event)); + } else { + static_cast(ptr)->timerEvent(static_cast(event)); + } +} + +void QWindow_TimerEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QRasterWindow::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QOpenGLWindow::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QPaintDeviceWindow::timerEvent(static_cast(event)); + } else { + static_cast(ptr)->QWindow::timerEvent(static_cast(event)); + } +} + +class MyQWindowStateChangeEvent: public QWindowStateChangeEvent +{ +public: +}; + +long long QWindowStateChangeEvent_OldState(void* ptr) +{ + return static_cast(ptr)->oldState(); +} + diff --git a/vendor/github.com/therecipe/qt/gui/gui.go b/vendor/github.com/therecipe/qt/gui/gui.go new file mode 100644 index 00000000..4aac903a --- /dev/null +++ b/vendor/github.com/therecipe/qt/gui/gui.go @@ -0,0 +1,72997 @@ +// +build !minimal + +package gui + +//#include +//#include +//#include +//#include "gui.h" +import "C" +import ( + "github.com/therecipe/qt" + "github.com/therecipe/qt/core" + "runtime" + "strings" + "unsafe" +) + +func cGoUnpackString(s C.struct_QtGui_PackedString) string { + if int(s.len) == -1 { + return C.GoString(s.data) + } + return C.GoStringN(s.data, C.int(s.len)) +} +func cGoUnpackBytes(s C.struct_QtGui_PackedString) []byte { + if int(s.len) == -1 { + gs := C.GoString(s.data) + return *(*[]byte)(unsafe.Pointer(&gs)) + } + return C.GoBytes(unsafe.Pointer(s.data), C.int(s.len)) +} +func unpackStringList(s string) []string { + if len(s) == 0 { + return make([]string, 0) + } + return strings.Split(s, "¡¦!") +} + +type QAbstractOpenGLFunctions struct { + ptr unsafe.Pointer +} + +type QAbstractOpenGLFunctions_ITF interface { + QAbstractOpenGLFunctions_PTR() *QAbstractOpenGLFunctions +} + +func (ptr *QAbstractOpenGLFunctions) QAbstractOpenGLFunctions_PTR() *QAbstractOpenGLFunctions { + return ptr +} + +func (ptr *QAbstractOpenGLFunctions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAbstractOpenGLFunctions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAbstractOpenGLFunctions(ptr QAbstractOpenGLFunctions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func NewQAbstractOpenGLFunctionsFromPointer(ptr unsafe.Pointer) (n *QAbstractOpenGLFunctions) { + n = new(QAbstractOpenGLFunctions) + n.SetPointer(ptr) + return +} + +type QAbstractTextDocumentLayout struct { + core.QObject +} + +type QAbstractTextDocumentLayout_ITF interface { + core.QObject_ITF + QAbstractTextDocumentLayout_PTR() *QAbstractTextDocumentLayout +} + +func (ptr *QAbstractTextDocumentLayout) QAbstractTextDocumentLayout_PTR() *QAbstractTextDocumentLayout { + return ptr +} + +func (ptr *QAbstractTextDocumentLayout) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractTextDocumentLayout) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractTextDocumentLayout(ptr QAbstractTextDocumentLayout_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractTextDocumentLayout_PTR().Pointer() + } + return nil +} + +func NewQAbstractTextDocumentLayoutFromPointer(ptr unsafe.Pointer) (n *QAbstractTextDocumentLayout) { + n = new(QAbstractTextDocumentLayout) + n.SetPointer(ptr) + return +} +func (ptr *QAbstractTextDocumentLayout) AnchorAt(position core.QPointF_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAbstractTextDocumentLayout_AnchorAt(ptr.Pointer(), core.PointerFromQPointF(position))) + } + return "" +} + +//export callbackQAbstractTextDocumentLayout_BlockBoundingRect +func callbackQAbstractTextDocumentLayout_BlockBoundingRect(ptr unsafe.Pointer, block unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "blockBoundingRect"); signal != nil { + return core.PointerFromQRectF((*(*func(*QTextBlock) *core.QRectF)(signal))(NewQTextBlockFromPointer(block))) + } + + return core.PointerFromQRectF(core.NewQRectF()) +} + +func (ptr *QAbstractTextDocumentLayout) ConnectBlockBoundingRect(f func(block *QTextBlock) *core.QRectF) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "blockBoundingRect"); signal != nil { + f := func(block *QTextBlock) *core.QRectF { + (*(*func(*QTextBlock) *core.QRectF)(signal))(block) + return f(block) + } + qt.ConnectSignal(ptr.Pointer(), "blockBoundingRect", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "blockBoundingRect", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectBlockBoundingRect() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "blockBoundingRect") + } +} + +func (ptr *QAbstractTextDocumentLayout) BlockBoundingRect(block QTextBlock_ITF) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QAbstractTextDocumentLayout_BlockBoundingRect(ptr.Pointer(), PointerFromQTextBlock(block))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QAbstractTextDocumentLayout) Document() *QTextDocument { + if ptr.Pointer() != nil { + tmpValue := NewQTextDocumentFromPointer(C.QAbstractTextDocumentLayout_Document(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAbstractTextDocumentLayout_DocumentChanged +func callbackQAbstractTextDocumentLayout_DocumentChanged(ptr unsafe.Pointer, position C.int, charsRemoved C.int, charsAdded C.int) { + if signal := qt.GetSignal(ptr, "documentChanged"); signal != nil { + (*(*func(int, int, int))(signal))(int(int32(position)), int(int32(charsRemoved)), int(int32(charsAdded))) + } + +} + +func (ptr *QAbstractTextDocumentLayout) ConnectDocumentChanged(f func(position int, charsRemoved int, charsAdded int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "documentChanged"); signal != nil { + f := func(position int, charsRemoved int, charsAdded int) { + (*(*func(int, int, int))(signal))(position, charsRemoved, charsAdded) + f(position, charsRemoved, charsAdded) + } + qt.ConnectSignal(ptr.Pointer(), "documentChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "documentChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectDocumentChanged() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "documentChanged") + } +} + +func (ptr *QAbstractTextDocumentLayout) DocumentChanged(position int, charsRemoved int, charsAdded int) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DocumentChanged(ptr.Pointer(), C.int(int32(position)), C.int(int32(charsRemoved)), C.int(int32(charsAdded))) + } +} + +//export callbackQAbstractTextDocumentLayout_DocumentSize +func callbackQAbstractTextDocumentLayout_DocumentSize(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "documentSize"); signal != nil { + return core.PointerFromQSizeF((*(*func() *core.QSizeF)(signal))()) + } + + return core.PointerFromQSizeF(core.NewQSizeF()) +} + +func (ptr *QAbstractTextDocumentLayout) ConnectDocumentSize(f func() *core.QSizeF) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "documentSize"); signal != nil { + f := func() *core.QSizeF { + (*(*func() *core.QSizeF)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "documentSize", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "documentSize", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectDocumentSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "documentSize") + } +} + +func (ptr *QAbstractTextDocumentLayout) DocumentSize() *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QAbstractTextDocumentLayout_DocumentSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +//export callbackQAbstractTextDocumentLayout_DocumentSizeChanged +func callbackQAbstractTextDocumentLayout_DocumentSizeChanged(ptr unsafe.Pointer, newSize unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "documentSizeChanged"); signal != nil { + (*(*func(*core.QSizeF))(signal))(core.NewQSizeFFromPointer(newSize)) + } + +} + +func (ptr *QAbstractTextDocumentLayout) ConnectDocumentSizeChanged(f func(newSize *core.QSizeF)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "documentSizeChanged") { + C.QAbstractTextDocumentLayout_ConnectDocumentSizeChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "documentSizeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "documentSizeChanged"); signal != nil { + f := func(newSize *core.QSizeF) { + (*(*func(*core.QSizeF))(signal))(newSize) + f(newSize) + } + qt.ConnectSignal(ptr.Pointer(), "documentSizeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "documentSizeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectDocumentSizeChanged() { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DisconnectDocumentSizeChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "documentSizeChanged") + } +} + +func (ptr *QAbstractTextDocumentLayout) DocumentSizeChanged(newSize core.QSizeF_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DocumentSizeChanged(ptr.Pointer(), core.PointerFromQSizeF(newSize)) + } +} + +//export callbackQAbstractTextDocumentLayout_DrawInlineObject +func callbackQAbstractTextDocumentLayout_DrawInlineObject(ptr unsafe.Pointer, painter unsafe.Pointer, rect unsafe.Pointer, object unsafe.Pointer, posInDocument C.int, format unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "drawInlineObject"); signal != nil { + (*(*func(*QPainter, *core.QRectF, *QTextInlineObject, int, *QTextFormat))(signal))(NewQPainterFromPointer(painter), core.NewQRectFFromPointer(rect), NewQTextInlineObjectFromPointer(object), int(int32(posInDocument)), NewQTextFormatFromPointer(format)) + } else { + NewQAbstractTextDocumentLayoutFromPointer(ptr).DrawInlineObjectDefault(NewQPainterFromPointer(painter), core.NewQRectFFromPointer(rect), NewQTextInlineObjectFromPointer(object), int(int32(posInDocument)), NewQTextFormatFromPointer(format)) + } +} + +func (ptr *QAbstractTextDocumentLayout) ConnectDrawInlineObject(f func(painter *QPainter, rect *core.QRectF, object *QTextInlineObject, posInDocument int, format *QTextFormat)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawInlineObject"); signal != nil { + f := func(painter *QPainter, rect *core.QRectF, object *QTextInlineObject, posInDocument int, format *QTextFormat) { + (*(*func(*QPainter, *core.QRectF, *QTextInlineObject, int, *QTextFormat))(signal))(painter, rect, object, posInDocument, format) + f(painter, rect, object, posInDocument, format) + } + qt.ConnectSignal(ptr.Pointer(), "drawInlineObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawInlineObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectDrawInlineObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawInlineObject") + } +} + +func (ptr *QAbstractTextDocumentLayout) DrawInlineObject(painter QPainter_ITF, rect core.QRectF_ITF, object QTextInlineObject_ITF, posInDocument int, format QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DrawInlineObject(ptr.Pointer(), PointerFromQPainter(painter), core.PointerFromQRectF(rect), PointerFromQTextInlineObject(object), C.int(int32(posInDocument)), PointerFromQTextFormat(format)) + } +} + +func (ptr *QAbstractTextDocumentLayout) DrawInlineObjectDefault(painter QPainter_ITF, rect core.QRectF_ITF, object QTextInlineObject_ITF, posInDocument int, format QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DrawInlineObjectDefault(ptr.Pointer(), PointerFromQPainter(painter), core.PointerFromQRectF(rect), PointerFromQTextInlineObject(object), C.int(int32(posInDocument)), PointerFromQTextFormat(format)) + } +} + +func (ptr *QAbstractTextDocumentLayout) Format(position int) *QTextCharFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextCharFormatFromPointer(C.QAbstractTextDocumentLayout_Format(ptr.Pointer(), C.int(int32(position)))) + runtime.SetFinalizer(tmpValue, (*QTextCharFormat).DestroyQTextCharFormat) + return tmpValue + } + return nil +} + +func (ptr *QAbstractTextDocumentLayout) FormatAt(pos core.QPointF_ITF) *QTextFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextFormatFromPointer(C.QAbstractTextDocumentLayout_FormatAt(ptr.Pointer(), core.PointerFromQPointF(pos))) + runtime.SetFinalizer(tmpValue, (*QTextFormat).DestroyQTextFormat) + return tmpValue + } + return nil +} + +//export callbackQAbstractTextDocumentLayout_FrameBoundingRect +func callbackQAbstractTextDocumentLayout_FrameBoundingRect(ptr unsafe.Pointer, frame unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "frameBoundingRect"); signal != nil { + return core.PointerFromQRectF((*(*func(*QTextFrame) *core.QRectF)(signal))(NewQTextFrameFromPointer(frame))) + } + + return core.PointerFromQRectF(core.NewQRectF()) +} + +func (ptr *QAbstractTextDocumentLayout) ConnectFrameBoundingRect(f func(frame *QTextFrame) *core.QRectF) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "frameBoundingRect"); signal != nil { + f := func(frame *QTextFrame) *core.QRectF { + (*(*func(*QTextFrame) *core.QRectF)(signal))(frame) + return f(frame) + } + qt.ConnectSignal(ptr.Pointer(), "frameBoundingRect", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "frameBoundingRect", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectFrameBoundingRect() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "frameBoundingRect") + } +} + +func (ptr *QAbstractTextDocumentLayout) FrameBoundingRect(frame QTextFrame_ITF) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QAbstractTextDocumentLayout_FrameBoundingRect(ptr.Pointer(), PointerFromQTextFrame(frame))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QAbstractTextDocumentLayout) HandlerForObject(objectType int) *QTextObjectInterface { + if ptr.Pointer() != nil { + return NewQTextObjectInterfaceFromPointer(C.QAbstractTextDocumentLayout_HandlerForObject(ptr.Pointer(), C.int(int32(objectType)))) + } + return nil +} + +//export callbackQAbstractTextDocumentLayout_HitTest +func callbackQAbstractTextDocumentLayout_HitTest(ptr unsafe.Pointer, point unsafe.Pointer, accuracy C.longlong) C.int { + if signal := qt.GetSignal(ptr, "hitTest"); signal != nil { + return C.int(int32((*(*func(*core.QPointF, core.Qt__HitTestAccuracy) int)(signal))(core.NewQPointFFromPointer(point), core.Qt__HitTestAccuracy(accuracy)))) + } + + return C.int(int32(0)) +} + +func (ptr *QAbstractTextDocumentLayout) ConnectHitTest(f func(point *core.QPointF, accuracy core.Qt__HitTestAccuracy) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "hitTest"); signal != nil { + f := func(point *core.QPointF, accuracy core.Qt__HitTestAccuracy) int { + (*(*func(*core.QPointF, core.Qt__HitTestAccuracy) int)(signal))(point, accuracy) + return f(point, accuracy) + } + qt.ConnectSignal(ptr.Pointer(), "hitTest", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "hitTest", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectHitTest() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "hitTest") + } +} + +func (ptr *QAbstractTextDocumentLayout) HitTest(point core.QPointF_ITF, accuracy core.Qt__HitTestAccuracy) int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractTextDocumentLayout_HitTest(ptr.Pointer(), core.PointerFromQPointF(point), C.longlong(accuracy)))) + } + return 0 +} + +func (ptr *QAbstractTextDocumentLayout) ImageAt(pos core.QPointF_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAbstractTextDocumentLayout_ImageAt(ptr.Pointer(), core.PointerFromQPointF(pos))) + } + return "" +} + +//export callbackQAbstractTextDocumentLayout_PageCount +func callbackQAbstractTextDocumentLayout_PageCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "pageCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAbstractTextDocumentLayout) ConnectPageCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "pageCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "pageCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "pageCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectPageCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "pageCount") + } +} + +func (ptr *QAbstractTextDocumentLayout) PageCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAbstractTextDocumentLayout_PageCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAbstractTextDocumentLayout_PageCountChanged +func callbackQAbstractTextDocumentLayout_PageCountChanged(ptr unsafe.Pointer, newPages C.int) { + if signal := qt.GetSignal(ptr, "pageCountChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(newPages))) + } + +} + +func (ptr *QAbstractTextDocumentLayout) ConnectPageCountChanged(f func(newPages int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "pageCountChanged") { + C.QAbstractTextDocumentLayout_ConnectPageCountChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "pageCountChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "pageCountChanged"); signal != nil { + f := func(newPages int) { + (*(*func(int))(signal))(newPages) + f(newPages) + } + qt.ConnectSignal(ptr.Pointer(), "pageCountChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "pageCountChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectPageCountChanged() { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DisconnectPageCountChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "pageCountChanged") + } +} + +func (ptr *QAbstractTextDocumentLayout) PageCountChanged(newPages int) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_PageCountChanged(ptr.Pointer(), C.int(int32(newPages))) + } +} + +func (ptr *QAbstractTextDocumentLayout) PaintDevice() *QPaintDevice { + if ptr.Pointer() != nil { + return NewQPaintDeviceFromPointer(C.QAbstractTextDocumentLayout_PaintDevice(ptr.Pointer())) + } + return nil +} + +//export callbackQAbstractTextDocumentLayout_PositionInlineObject +func callbackQAbstractTextDocumentLayout_PositionInlineObject(ptr unsafe.Pointer, item unsafe.Pointer, posInDocument C.int, format unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "positionInlineObject"); signal != nil { + (*(*func(*QTextInlineObject, int, *QTextFormat))(signal))(NewQTextInlineObjectFromPointer(item), int(int32(posInDocument)), NewQTextFormatFromPointer(format)) + } else { + NewQAbstractTextDocumentLayoutFromPointer(ptr).PositionInlineObjectDefault(NewQTextInlineObjectFromPointer(item), int(int32(posInDocument)), NewQTextFormatFromPointer(format)) + } +} + +func (ptr *QAbstractTextDocumentLayout) ConnectPositionInlineObject(f func(item *QTextInlineObject, posInDocument int, format *QTextFormat)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "positionInlineObject"); signal != nil { + f := func(item *QTextInlineObject, posInDocument int, format *QTextFormat) { + (*(*func(*QTextInlineObject, int, *QTextFormat))(signal))(item, posInDocument, format) + f(item, posInDocument, format) + } + qt.ConnectSignal(ptr.Pointer(), "positionInlineObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "positionInlineObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectPositionInlineObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "positionInlineObject") + } +} + +func (ptr *QAbstractTextDocumentLayout) PositionInlineObject(item QTextInlineObject_ITF, posInDocument int, format QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_PositionInlineObject(ptr.Pointer(), PointerFromQTextInlineObject(item), C.int(int32(posInDocument)), PointerFromQTextFormat(format)) + } +} + +func (ptr *QAbstractTextDocumentLayout) PositionInlineObjectDefault(item QTextInlineObject_ITF, posInDocument int, format QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_PositionInlineObjectDefault(ptr.Pointer(), PointerFromQTextInlineObject(item), C.int(int32(posInDocument)), PointerFromQTextFormat(format)) + } +} + +func (ptr *QAbstractTextDocumentLayout) RegisterHandler(objectType int, component core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_RegisterHandler(ptr.Pointer(), C.int(int32(objectType)), core.PointerFromQObject(component)) + } +} + +//export callbackQAbstractTextDocumentLayout_ResizeInlineObject +func callbackQAbstractTextDocumentLayout_ResizeInlineObject(ptr unsafe.Pointer, item unsafe.Pointer, posInDocument C.int, format unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "resizeInlineObject"); signal != nil { + (*(*func(*QTextInlineObject, int, *QTextFormat))(signal))(NewQTextInlineObjectFromPointer(item), int(int32(posInDocument)), NewQTextFormatFromPointer(format)) + } else { + NewQAbstractTextDocumentLayoutFromPointer(ptr).ResizeInlineObjectDefault(NewQTextInlineObjectFromPointer(item), int(int32(posInDocument)), NewQTextFormatFromPointer(format)) + } +} + +func (ptr *QAbstractTextDocumentLayout) ConnectResizeInlineObject(f func(item *QTextInlineObject, posInDocument int, format *QTextFormat)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "resizeInlineObject"); signal != nil { + f := func(item *QTextInlineObject, posInDocument int, format *QTextFormat) { + (*(*func(*QTextInlineObject, int, *QTextFormat))(signal))(item, posInDocument, format) + f(item, posInDocument, format) + } + qt.ConnectSignal(ptr.Pointer(), "resizeInlineObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resizeInlineObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectResizeInlineObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "resizeInlineObject") + } +} + +func (ptr *QAbstractTextDocumentLayout) ResizeInlineObject(item QTextInlineObject_ITF, posInDocument int, format QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_ResizeInlineObject(ptr.Pointer(), PointerFromQTextInlineObject(item), C.int(int32(posInDocument)), PointerFromQTextFormat(format)) + } +} + +func (ptr *QAbstractTextDocumentLayout) ResizeInlineObjectDefault(item QTextInlineObject_ITF, posInDocument int, format QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_ResizeInlineObjectDefault(ptr.Pointer(), PointerFromQTextInlineObject(item), C.int(int32(posInDocument)), PointerFromQTextFormat(format)) + } +} + +func (ptr *QAbstractTextDocumentLayout) SetPaintDevice(device QPaintDevice_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_SetPaintDevice(ptr.Pointer(), PointerFromQPaintDevice(device)) + } +} + +func (ptr *QAbstractTextDocumentLayout) UnregisterHandler(objectType int, component core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_UnregisterHandler(ptr.Pointer(), C.int(int32(objectType)), core.PointerFromQObject(component)) + } +} + +//export callbackQAbstractTextDocumentLayout_Update +func callbackQAbstractTextDocumentLayout_Update(ptr unsafe.Pointer, rect unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "update"); signal != nil { + (*(*func(*core.QRectF))(signal))(core.NewQRectFFromPointer(rect)) + } + +} + +func (ptr *QAbstractTextDocumentLayout) ConnectUpdate(f func(rect *core.QRectF)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "update") { + C.QAbstractTextDocumentLayout_ConnectUpdate(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "update"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "update"); signal != nil { + f := func(rect *core.QRectF) { + (*(*func(*core.QRectF))(signal))(rect) + f(rect) + } + qt.ConnectSignal(ptr.Pointer(), "update", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "update", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectUpdate() { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DisconnectUpdate(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "update") + } +} + +func (ptr *QAbstractTextDocumentLayout) Update(rect core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_Update(ptr.Pointer(), core.PointerFromQRectF(rect)) + } +} + +//export callbackQAbstractTextDocumentLayout_UpdateBlock +func callbackQAbstractTextDocumentLayout_UpdateBlock(ptr unsafe.Pointer, block unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "updateBlock"); signal != nil { + (*(*func(*QTextBlock))(signal))(NewQTextBlockFromPointer(block)) + } + +} + +func (ptr *QAbstractTextDocumentLayout) ConnectUpdateBlock(f func(block *QTextBlock)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "updateBlock") { + C.QAbstractTextDocumentLayout_ConnectUpdateBlock(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "updateBlock"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "updateBlock"); signal != nil { + f := func(block *QTextBlock) { + (*(*func(*QTextBlock))(signal))(block) + f(block) + } + qt.ConnectSignal(ptr.Pointer(), "updateBlock", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateBlock", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectUpdateBlock() { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DisconnectUpdateBlock(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "updateBlock") + } +} + +func (ptr *QAbstractTextDocumentLayout) UpdateBlock(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_UpdateBlock(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +func (ptr *QAbstractTextDocumentLayout) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractTextDocumentLayout___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractTextDocumentLayout) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractTextDocumentLayout) __children_newList() unsafe.Pointer { + return C.QAbstractTextDocumentLayout___children_newList(ptr.Pointer()) +} + +func (ptr *QAbstractTextDocumentLayout) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QAbstractTextDocumentLayout___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QAbstractTextDocumentLayout) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QAbstractTextDocumentLayout) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QAbstractTextDocumentLayout___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QAbstractTextDocumentLayout) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractTextDocumentLayout___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractTextDocumentLayout) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractTextDocumentLayout) __findChildren_newList() unsafe.Pointer { + return C.QAbstractTextDocumentLayout___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QAbstractTextDocumentLayout) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractTextDocumentLayout___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractTextDocumentLayout) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractTextDocumentLayout) __findChildren_newList3() unsafe.Pointer { + return C.QAbstractTextDocumentLayout___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QAbstractTextDocumentLayout) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractTextDocumentLayout___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractTextDocumentLayout) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractTextDocumentLayout) __qFindChildren_newList2() unsafe.Pointer { + return C.QAbstractTextDocumentLayout___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQAbstractTextDocumentLayout_ChildEvent +func callbackQAbstractTextDocumentLayout_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQAbstractTextDocumentLayoutFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QAbstractTextDocumentLayout) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQAbstractTextDocumentLayout_ConnectNotify +func callbackQAbstractTextDocumentLayout_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQAbstractTextDocumentLayoutFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QAbstractTextDocumentLayout) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQAbstractTextDocumentLayout_CustomEvent +func callbackQAbstractTextDocumentLayout_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQAbstractTextDocumentLayoutFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QAbstractTextDocumentLayout) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQAbstractTextDocumentLayout_DeleteLater +func callbackQAbstractTextDocumentLayout_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractTextDocumentLayoutFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QAbstractTextDocumentLayout) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQAbstractTextDocumentLayout_Destroyed +func callbackQAbstractTextDocumentLayout_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQAbstractTextDocumentLayout_DisconnectNotify +func callbackQAbstractTextDocumentLayout_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQAbstractTextDocumentLayoutFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QAbstractTextDocumentLayout) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQAbstractTextDocumentLayout_Event +func callbackQAbstractTextDocumentLayout_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractTextDocumentLayoutFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QAbstractTextDocumentLayout) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractTextDocumentLayout_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQAbstractTextDocumentLayout_EventFilter +func callbackQAbstractTextDocumentLayout_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractTextDocumentLayoutFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QAbstractTextDocumentLayout) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractTextDocumentLayout_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQAbstractTextDocumentLayout_MetaObject +func callbackQAbstractTextDocumentLayout_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQAbstractTextDocumentLayoutFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QAbstractTextDocumentLayout) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QAbstractTextDocumentLayout_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQAbstractTextDocumentLayout_ObjectNameChanged +func callbackQAbstractTextDocumentLayout_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQAbstractTextDocumentLayout_TimerEvent +func callbackQAbstractTextDocumentLayout_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQAbstractTextDocumentLayoutFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QAbstractTextDocumentLayout) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractTextDocumentLayout_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QAbstractUndoItem struct { + ptr unsafe.Pointer +} + +type QAbstractUndoItem_ITF interface { + QAbstractUndoItem_PTR() *QAbstractUndoItem +} + +func (ptr *QAbstractUndoItem) QAbstractUndoItem_PTR() *QAbstractUndoItem { + return ptr +} + +func (ptr *QAbstractUndoItem) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAbstractUndoItem) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAbstractUndoItem(ptr QAbstractUndoItem_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractUndoItem_PTR().Pointer() + } + return nil +} + +func NewQAbstractUndoItemFromPointer(ptr unsafe.Pointer) (n *QAbstractUndoItem) { + n = new(QAbstractUndoItem) + n.SetPointer(ptr) + return +} + +func (ptr *QAbstractUndoItem) DestroyQAbstractUndoItem() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAccessible struct { + ptr unsafe.Pointer +} + +type QAccessible_ITF interface { + QAccessible_PTR() *QAccessible +} + +func (ptr *QAccessible) QAccessible_PTR() *QAccessible { + return ptr +} + +func (ptr *QAccessible) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAccessible) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAccessible(ptr QAccessible_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessible_PTR().Pointer() + } + return nil +} + +func NewQAccessibleFromPointer(ptr unsafe.Pointer) (n *QAccessible) { + n = new(QAccessible) + n.SetPointer(ptr) + return +} + +func (ptr *QAccessible) DestroyQAccessible() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QAccessible__Event +//QAccessible::Event +type QAccessible__Event int64 + +const ( + QAccessible__SoundPlayed QAccessible__Event = QAccessible__Event(0x0001) + QAccessible__Alert QAccessible__Event = QAccessible__Event(0x0002) + QAccessible__ForegroundChanged QAccessible__Event = QAccessible__Event(0x0003) + QAccessible__MenuStart QAccessible__Event = QAccessible__Event(0x0004) + QAccessible__MenuEnd QAccessible__Event = QAccessible__Event(0x0005) + QAccessible__PopupMenuStart QAccessible__Event = QAccessible__Event(0x0006) + QAccessible__PopupMenuEnd QAccessible__Event = QAccessible__Event(0x0007) + QAccessible__ContextHelpStart QAccessible__Event = QAccessible__Event(0x000C) + QAccessible__ContextHelpEnd QAccessible__Event = QAccessible__Event(0x000D) + QAccessible__DragDropStart QAccessible__Event = QAccessible__Event(0x000E) + QAccessible__DragDropEnd QAccessible__Event = QAccessible__Event(0x000F) + QAccessible__DialogStart QAccessible__Event = QAccessible__Event(0x0010) + QAccessible__DialogEnd QAccessible__Event = QAccessible__Event(0x0011) + QAccessible__ScrollingStart QAccessible__Event = QAccessible__Event(0x0012) + QAccessible__ScrollingEnd QAccessible__Event = QAccessible__Event(0x0013) + QAccessible__MenuCommand QAccessible__Event = QAccessible__Event(0x0018) + QAccessible__ActionChanged QAccessible__Event = QAccessible__Event(0x0101) + QAccessible__ActiveDescendantChanged QAccessible__Event = QAccessible__Event(0x0102) + QAccessible__AttributeChanged QAccessible__Event = QAccessible__Event(0x0103) + QAccessible__DocumentContentChanged QAccessible__Event = QAccessible__Event(0x0104) + QAccessible__DocumentLoadComplete QAccessible__Event = QAccessible__Event(0x0105) + QAccessible__DocumentLoadStopped QAccessible__Event = QAccessible__Event(0x0106) + QAccessible__DocumentReload QAccessible__Event = QAccessible__Event(0x0107) + QAccessible__HyperlinkEndIndexChanged QAccessible__Event = QAccessible__Event(0x0108) + QAccessible__HyperlinkNumberOfAnchorsChanged QAccessible__Event = QAccessible__Event(0x0109) + QAccessible__HyperlinkSelectedLinkChanged QAccessible__Event = QAccessible__Event(0x010A) + QAccessible__HypertextLinkActivated QAccessible__Event = QAccessible__Event(0x010B) + QAccessible__HypertextLinkSelected QAccessible__Event = QAccessible__Event(0x010C) + QAccessible__HyperlinkStartIndexChanged QAccessible__Event = QAccessible__Event(0x010D) + QAccessible__HypertextChanged QAccessible__Event = QAccessible__Event(0x010E) + QAccessible__HypertextNLinksChanged QAccessible__Event = QAccessible__Event(0x010F) + QAccessible__ObjectAttributeChanged QAccessible__Event = QAccessible__Event(0x0110) + QAccessible__PageChanged QAccessible__Event = QAccessible__Event(0x0111) + QAccessible__SectionChanged QAccessible__Event = QAccessible__Event(0x0112) + QAccessible__TableCaptionChanged QAccessible__Event = QAccessible__Event(0x0113) + QAccessible__TableColumnDescriptionChanged QAccessible__Event = QAccessible__Event(0x0114) + QAccessible__TableColumnHeaderChanged QAccessible__Event = QAccessible__Event(0x0115) + QAccessible__TableModelChanged QAccessible__Event = QAccessible__Event(0x0116) + QAccessible__TableRowDescriptionChanged QAccessible__Event = QAccessible__Event(0x0117) + QAccessible__TableRowHeaderChanged QAccessible__Event = QAccessible__Event(0x0118) + QAccessible__TableSummaryChanged QAccessible__Event = QAccessible__Event(0x0119) + QAccessible__TextAttributeChanged QAccessible__Event = QAccessible__Event(0x011A) + QAccessible__TextCaretMoved QAccessible__Event = QAccessible__Event(0x011B) + QAccessible__TextColumnChanged QAccessible__Event = QAccessible__Event(0x011D) + QAccessible__TextInserted QAccessible__Event = QAccessible__Event(0x011E) + QAccessible__TextRemoved QAccessible__Event = QAccessible__Event(0x011F) + QAccessible__TextUpdated QAccessible__Event = QAccessible__Event(0x0120) + QAccessible__TextSelectionChanged QAccessible__Event = QAccessible__Event(0x0121) + QAccessible__VisibleDataChanged QAccessible__Event = QAccessible__Event(0x0122) + QAccessible__ObjectCreated QAccessible__Event = QAccessible__Event(0x8000) + QAccessible__ObjectDestroyed QAccessible__Event = QAccessible__Event(0x8001) + QAccessible__ObjectShow QAccessible__Event = QAccessible__Event(0x8002) + QAccessible__ObjectHide QAccessible__Event = QAccessible__Event(0x8003) + QAccessible__ObjectReorder QAccessible__Event = QAccessible__Event(0x8004) + QAccessible__Focus QAccessible__Event = QAccessible__Event(0x8005) + QAccessible__Selection QAccessible__Event = QAccessible__Event(0x8006) + QAccessible__SelectionAdd QAccessible__Event = QAccessible__Event(0x8007) + QAccessible__SelectionRemove QAccessible__Event = QAccessible__Event(0x8008) + QAccessible__SelectionWithin QAccessible__Event = QAccessible__Event(0x8009) + QAccessible__StateChanged QAccessible__Event = QAccessible__Event(0x800A) + QAccessible__LocationChanged QAccessible__Event = QAccessible__Event(0x800B) + QAccessible__NameChanged QAccessible__Event = QAccessible__Event(0x800C) + QAccessible__DescriptionChanged QAccessible__Event = QAccessible__Event(0x800D) + QAccessible__ValueChanged QAccessible__Event = QAccessible__Event(0x800E) + QAccessible__ParentChanged QAccessible__Event = QAccessible__Event(0x800F) + QAccessible__HelpChanged QAccessible__Event = QAccessible__Event(0x80A0) + QAccessible__DefaultActionChanged QAccessible__Event = QAccessible__Event(0x80B0) + QAccessible__AcceleratorChanged QAccessible__Event = QAccessible__Event(0x80C0) + QAccessible__InvalidEvent QAccessible__Event = QAccessible__Event(0x80c1) +) + +//go:generate stringer -type=QAccessible__Role +//QAccessible::Role +type QAccessible__Role int64 + +const ( + QAccessible__NoRole QAccessible__Role = QAccessible__Role(0x00000000) + QAccessible__TitleBar QAccessible__Role = QAccessible__Role(0x00000001) + QAccessible__MenuBar QAccessible__Role = QAccessible__Role(0x00000002) + QAccessible__ScrollBar QAccessible__Role = QAccessible__Role(0x00000003) + QAccessible__Grip QAccessible__Role = QAccessible__Role(0x00000004) + QAccessible__Sound QAccessible__Role = QAccessible__Role(0x00000005) + QAccessible__Cursor QAccessible__Role = QAccessible__Role(0x00000006) + QAccessible__Caret QAccessible__Role = QAccessible__Role(0x00000007) + QAccessible__AlertMessage QAccessible__Role = QAccessible__Role(0x00000008) + QAccessible__Window QAccessible__Role = QAccessible__Role(0x00000009) + QAccessible__Client QAccessible__Role = QAccessible__Role(0x0000000A) + QAccessible__PopupMenu QAccessible__Role = QAccessible__Role(0x0000000B) + QAccessible__MenuItem QAccessible__Role = QAccessible__Role(0x0000000C) + QAccessible__ToolTip QAccessible__Role = QAccessible__Role(0x0000000D) + QAccessible__Application QAccessible__Role = QAccessible__Role(0x0000000E) + QAccessible__Document QAccessible__Role = QAccessible__Role(0x0000000F) + QAccessible__Pane QAccessible__Role = QAccessible__Role(0x00000010) + QAccessible__Chart QAccessible__Role = QAccessible__Role(0x00000011) + QAccessible__Dialog QAccessible__Role = QAccessible__Role(0x00000012) + QAccessible__Border QAccessible__Role = QAccessible__Role(0x00000013) + QAccessible__Grouping QAccessible__Role = QAccessible__Role(0x00000014) + QAccessible__Separator QAccessible__Role = QAccessible__Role(0x00000015) + QAccessible__ToolBar QAccessible__Role = QAccessible__Role(0x00000016) + QAccessible__StatusBar QAccessible__Role = QAccessible__Role(0x00000017) + QAccessible__Table QAccessible__Role = QAccessible__Role(0x00000018) + QAccessible__ColumnHeader QAccessible__Role = QAccessible__Role(0x00000019) + QAccessible__RowHeader QAccessible__Role = QAccessible__Role(0x0000001A) + QAccessible__Column QAccessible__Role = QAccessible__Role(0x0000001B) + QAccessible__Row QAccessible__Role = QAccessible__Role(0x0000001C) + QAccessible__Cell QAccessible__Role = QAccessible__Role(0x0000001D) + QAccessible__Link QAccessible__Role = QAccessible__Role(0x0000001E) + QAccessible__HelpBalloon QAccessible__Role = QAccessible__Role(0x0000001F) + QAccessible__Assistant QAccessible__Role = QAccessible__Role(0x00000020) + QAccessible__List QAccessible__Role = QAccessible__Role(0x00000021) + QAccessible__ListItem QAccessible__Role = QAccessible__Role(0x00000022) + QAccessible__Tree QAccessible__Role = QAccessible__Role(0x00000023) + QAccessible__TreeItem QAccessible__Role = QAccessible__Role(0x00000024) + QAccessible__PageTab QAccessible__Role = QAccessible__Role(0x00000025) + QAccessible__PropertyPage QAccessible__Role = QAccessible__Role(0x00000026) + QAccessible__Indicator QAccessible__Role = QAccessible__Role(0x00000027) + QAccessible__Graphic QAccessible__Role = QAccessible__Role(0x00000028) + QAccessible__StaticText QAccessible__Role = QAccessible__Role(0x00000029) + QAccessible__EditableText QAccessible__Role = QAccessible__Role(0x0000002A) + QAccessible__Button QAccessible__Role = QAccessible__Role(0x0000002B) + QAccessible__CheckBox QAccessible__Role = QAccessible__Role(0x0000002C) + QAccessible__RadioButton QAccessible__Role = QAccessible__Role(0x0000002D) + QAccessible__ComboBox QAccessible__Role = QAccessible__Role(0x0000002E) + QAccessible__ProgressBar QAccessible__Role = QAccessible__Role(0x00000030) + QAccessible__Dial QAccessible__Role = QAccessible__Role(0x00000031) + QAccessible__HotkeyField QAccessible__Role = QAccessible__Role(0x00000032) + QAccessible__Slider QAccessible__Role = QAccessible__Role(0x00000033) + QAccessible__SpinBox QAccessible__Role = QAccessible__Role(0x00000034) + QAccessible__Canvas QAccessible__Role = QAccessible__Role(0x00000035) + QAccessible__Animation QAccessible__Role = QAccessible__Role(0x00000036) + QAccessible__Equation QAccessible__Role = QAccessible__Role(0x00000037) + QAccessible__ButtonDropDown QAccessible__Role = QAccessible__Role(0x00000038) + QAccessible__ButtonMenu QAccessible__Role = QAccessible__Role(0x00000039) + QAccessible__ButtonDropGrid QAccessible__Role = QAccessible__Role(0x0000003A) + QAccessible__Whitespace QAccessible__Role = QAccessible__Role(0x0000003B) + QAccessible__PageTabList QAccessible__Role = QAccessible__Role(0x0000003C) + QAccessible__Clock QAccessible__Role = QAccessible__Role(0x0000003D) + QAccessible__Splitter QAccessible__Role = QAccessible__Role(0x0000003E) + QAccessible__LayeredPane QAccessible__Role = QAccessible__Role(0x00000080) + QAccessible__Terminal QAccessible__Role = QAccessible__Role(0x00000081) + QAccessible__Desktop QAccessible__Role = QAccessible__Role(0x00000082) + QAccessible__Paragraph QAccessible__Role = QAccessible__Role(0x00000083) + QAccessible__WebDocument QAccessible__Role = QAccessible__Role(0x00000084) + QAccessible__Section QAccessible__Role = QAccessible__Role(0x00000085) + QAccessible__ColorChooser QAccessible__Role = QAccessible__Role(0x404) + QAccessible__Footer QAccessible__Role = QAccessible__Role(0x40E) + QAccessible__Form QAccessible__Role = QAccessible__Role(0x410) + QAccessible__Heading QAccessible__Role = QAccessible__Role(0x414) + QAccessible__Note QAccessible__Role = QAccessible__Role(0x41B) + QAccessible__ComplementaryContent QAccessible__Role = QAccessible__Role(0x42C) + QAccessible__UserRole QAccessible__Role = QAccessible__Role(0x0000ffff) +) + +//go:generate stringer -type=QAccessible__Text +//QAccessible::Text +type QAccessible__Text int64 + +const ( + QAccessible__Name QAccessible__Text = QAccessible__Text(0) + QAccessible__Description QAccessible__Text = QAccessible__Text(1) + QAccessible__Value QAccessible__Text = QAccessible__Text(2) + QAccessible__Help QAccessible__Text = QAccessible__Text(3) + QAccessible__Accelerator QAccessible__Text = QAccessible__Text(4) + QAccessible__DebugDescription QAccessible__Text = QAccessible__Text(5) + QAccessible__UserText QAccessible__Text = QAccessible__Text(0x0000ffff) +) + +//go:generate stringer -type=QAccessible__RelationFlag +//QAccessible::RelationFlag +type QAccessible__RelationFlag int64 + +const ( + QAccessible__Label QAccessible__RelationFlag = QAccessible__RelationFlag(0x00000001) + QAccessible__Labelled QAccessible__RelationFlag = QAccessible__RelationFlag(0x00000002) + QAccessible__Controller QAccessible__RelationFlag = QAccessible__RelationFlag(0x00000004) + QAccessible__Controlled QAccessible__RelationFlag = QAccessible__RelationFlag(0x00000008) + QAccessible__AllRelations QAccessible__RelationFlag = QAccessible__RelationFlag(0xffffffff) +) + +//go:generate stringer -type=QAccessible__InterfaceType +//QAccessible::InterfaceType +type QAccessible__InterfaceType int64 + +const ( + QAccessible__TextInterface QAccessible__InterfaceType = QAccessible__InterfaceType(0) + QAccessible__EditableTextInterface QAccessible__InterfaceType = QAccessible__InterfaceType(1) + QAccessible__ValueInterface QAccessible__InterfaceType = QAccessible__InterfaceType(2) + QAccessible__ActionInterface QAccessible__InterfaceType = QAccessible__InterfaceType(3) + QAccessible__ImageInterface QAccessible__InterfaceType = QAccessible__InterfaceType(4) + QAccessible__TableInterface QAccessible__InterfaceType = QAccessible__InterfaceType(5) + QAccessible__TableCellInterface QAccessible__InterfaceType = QAccessible__InterfaceType(6) +) + +//go:generate stringer -type=QAccessible__TextBoundaryType +//QAccessible::TextBoundaryType +type QAccessible__TextBoundaryType int64 + +const ( + QAccessible__CharBoundary QAccessible__TextBoundaryType = QAccessible__TextBoundaryType(0) + QAccessible__WordBoundary QAccessible__TextBoundaryType = QAccessible__TextBoundaryType(1) + QAccessible__SentenceBoundary QAccessible__TextBoundaryType = QAccessible__TextBoundaryType(2) + QAccessible__ParagraphBoundary QAccessible__TextBoundaryType = QAccessible__TextBoundaryType(3) + QAccessible__LineBoundary QAccessible__TextBoundaryType = QAccessible__TextBoundaryType(4) + QAccessible__NoBoundary QAccessible__TextBoundaryType = QAccessible__TextBoundaryType(5) +) + +func QAccessible_IsActive() bool { + return int8(C.QAccessible_QAccessible_IsActive()) != 0 +} + +func (ptr *QAccessible) IsActive() bool { + return int8(C.QAccessible_QAccessible_IsActive()) != 0 +} + +func QAccessible_QueryAccessibleInterface(object core.QObject_ITF) *QAccessibleInterface { + return NewQAccessibleInterfaceFromPointer(C.QAccessible_QAccessible_QueryAccessibleInterface(core.PointerFromQObject(object))) +} + +func (ptr *QAccessible) QueryAccessibleInterface(object core.QObject_ITF) *QAccessibleInterface { + return NewQAccessibleInterfaceFromPointer(C.QAccessible_QAccessible_QueryAccessibleInterface(core.PointerFromQObject(object))) +} + +func QAccessible_SetRootObject(object core.QObject_ITF) { + C.QAccessible_QAccessible_SetRootObject(core.PointerFromQObject(object)) +} + +func (ptr *QAccessible) SetRootObject(object core.QObject_ITF) { + C.QAccessible_QAccessible_SetRootObject(core.PointerFromQObject(object)) +} + +func QAccessible_UpdateAccessibility2(event QAccessibleEvent_ITF) { + C.QAccessible_QAccessible_UpdateAccessibility2(PointerFromQAccessibleEvent(event)) +} + +func (ptr *QAccessible) UpdateAccessibility2(event QAccessibleEvent_ITF) { + C.QAccessible_QAccessible_UpdateAccessibility2(PointerFromQAccessibleEvent(event)) +} + +type QAccessibleActionInterface struct { + ptr unsafe.Pointer +} + +type QAccessibleActionInterface_ITF interface { + QAccessibleActionInterface_PTR() *QAccessibleActionInterface +} + +func (ptr *QAccessibleActionInterface) QAccessibleActionInterface_PTR() *QAccessibleActionInterface { + return ptr +} + +func (ptr *QAccessibleActionInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAccessibleActionInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAccessibleActionInterface(ptr QAccessibleActionInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleActionInterface_PTR().Pointer() + } + return nil +} + +func NewQAccessibleActionInterfaceFromPointer(ptr unsafe.Pointer) (n *QAccessibleActionInterface) { + n = new(QAccessibleActionInterface) + n.SetPointer(ptr) + return +} + +//export callbackQAccessibleActionInterface_ActionNames +func callbackQAccessibleActionInterface_ActionNames(ptr unsafe.Pointer) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "actionNames"); signal != nil { + tempVal := (*(*func() []string)(signal))() + return C.struct_QtGui_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} + } + tempVal := make([]string, 0) + return C.struct_QtGui_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} +} + +func (ptr *QAccessibleActionInterface) ConnectActionNames(f func() []string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "actionNames"); signal != nil { + f := func() []string { + (*(*func() []string)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "actionNames", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "actionNames", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleActionInterface) DisconnectActionNames() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "actionNames") + } +} + +func (ptr *QAccessibleActionInterface) ActionNames() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QAccessibleActionInterface_ActionNames(ptr.Pointer()))) + } + return make([]string, 0) +} + +func QAccessibleActionInterface_DecreaseAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_DecreaseAction()) +} + +func (ptr *QAccessibleActionInterface) DecreaseAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_DecreaseAction()) +} + +//export callbackQAccessibleActionInterface_DoAction +func callbackQAccessibleActionInterface_DoAction(ptr unsafe.Pointer, actionName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "doAction"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(actionName)) + } + +} + +func (ptr *QAccessibleActionInterface) ConnectDoAction(f func(actionName string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "doAction"); signal != nil { + f := func(actionName string) { + (*(*func(string))(signal))(actionName) + f(actionName) + } + qt.ConnectSignal(ptr.Pointer(), "doAction", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "doAction", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleActionInterface) DisconnectDoAction() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "doAction") + } +} + +func (ptr *QAccessibleActionInterface) DoAction(actionName string) { + if ptr.Pointer() != nil { + var actionNameC *C.char + if actionName != "" { + actionNameC = C.CString(actionName) + defer C.free(unsafe.Pointer(actionNameC)) + } + C.QAccessibleActionInterface_DoAction(ptr.Pointer(), C.struct_QtGui_PackedString{data: actionNameC, len: C.longlong(len(actionName))}) + } +} + +func QAccessibleActionInterface_IncreaseAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_IncreaseAction()) +} + +func (ptr *QAccessibleActionInterface) IncreaseAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_IncreaseAction()) +} + +//export callbackQAccessibleActionInterface_KeyBindingsForAction +func callbackQAccessibleActionInterface_KeyBindingsForAction(ptr unsafe.Pointer, actionName C.struct_QtGui_PackedString) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "keyBindingsForAction"); signal != nil { + tempVal := (*(*func(string) []string)(signal))(cGoUnpackString(actionName)) + return C.struct_QtGui_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} + } + tempVal := make([]string, 0) + return C.struct_QtGui_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} +} + +func (ptr *QAccessibleActionInterface) ConnectKeyBindingsForAction(f func(actionName string) []string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "keyBindingsForAction"); signal != nil { + f := func(actionName string) []string { + (*(*func(string) []string)(signal))(actionName) + return f(actionName) + } + qt.ConnectSignal(ptr.Pointer(), "keyBindingsForAction", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "keyBindingsForAction", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleActionInterface) DisconnectKeyBindingsForAction() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "keyBindingsForAction") + } +} + +func (ptr *QAccessibleActionInterface) KeyBindingsForAction(actionName string) []string { + if ptr.Pointer() != nil { + var actionNameC *C.char + if actionName != "" { + actionNameC = C.CString(actionName) + defer C.free(unsafe.Pointer(actionNameC)) + } + return unpackStringList(cGoUnpackString(C.QAccessibleActionInterface_KeyBindingsForAction(ptr.Pointer(), C.struct_QtGui_PackedString{data: actionNameC, len: C.longlong(len(actionName))}))) + } + return make([]string, 0) +} + +//export callbackQAccessibleActionInterface_LocalizedActionDescription +func callbackQAccessibleActionInterface_LocalizedActionDescription(ptr unsafe.Pointer, actionName C.struct_QtGui_PackedString) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "localizedActionDescription"); signal != nil { + tempVal := (*(*func(string) string)(signal))(cGoUnpackString(actionName)) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQAccessibleActionInterfaceFromPointer(ptr).LocalizedActionDescriptionDefault(cGoUnpackString(actionName)) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleActionInterface) ConnectLocalizedActionDescription(f func(actionName string) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "localizedActionDescription"); signal != nil { + f := func(actionName string) string { + (*(*func(string) string)(signal))(actionName) + return f(actionName) + } + qt.ConnectSignal(ptr.Pointer(), "localizedActionDescription", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "localizedActionDescription", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleActionInterface) DisconnectLocalizedActionDescription() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "localizedActionDescription") + } +} + +func (ptr *QAccessibleActionInterface) LocalizedActionDescription(actionName string) string { + if ptr.Pointer() != nil { + var actionNameC *C.char + if actionName != "" { + actionNameC = C.CString(actionName) + defer C.free(unsafe.Pointer(actionNameC)) + } + return cGoUnpackString(C.QAccessibleActionInterface_LocalizedActionDescription(ptr.Pointer(), C.struct_QtGui_PackedString{data: actionNameC, len: C.longlong(len(actionName))})) + } + return "" +} + +func (ptr *QAccessibleActionInterface) LocalizedActionDescriptionDefault(actionName string) string { + if ptr.Pointer() != nil { + var actionNameC *C.char + if actionName != "" { + actionNameC = C.CString(actionName) + defer C.free(unsafe.Pointer(actionNameC)) + } + return cGoUnpackString(C.QAccessibleActionInterface_LocalizedActionDescriptionDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: actionNameC, len: C.longlong(len(actionName))})) + } + return "" +} + +//export callbackQAccessibleActionInterface_LocalizedActionName +func callbackQAccessibleActionInterface_LocalizedActionName(ptr unsafe.Pointer, actionName C.struct_QtGui_PackedString) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "localizedActionName"); signal != nil { + tempVal := (*(*func(string) string)(signal))(cGoUnpackString(actionName)) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQAccessibleActionInterfaceFromPointer(ptr).LocalizedActionNameDefault(cGoUnpackString(actionName)) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleActionInterface) ConnectLocalizedActionName(f func(actionName string) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "localizedActionName"); signal != nil { + f := func(actionName string) string { + (*(*func(string) string)(signal))(actionName) + return f(actionName) + } + qt.ConnectSignal(ptr.Pointer(), "localizedActionName", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "localizedActionName", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleActionInterface) DisconnectLocalizedActionName() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "localizedActionName") + } +} + +func (ptr *QAccessibleActionInterface) LocalizedActionName(actionName string) string { + if ptr.Pointer() != nil { + var actionNameC *C.char + if actionName != "" { + actionNameC = C.CString(actionName) + defer C.free(unsafe.Pointer(actionNameC)) + } + return cGoUnpackString(C.QAccessibleActionInterface_LocalizedActionName(ptr.Pointer(), C.struct_QtGui_PackedString{data: actionNameC, len: C.longlong(len(actionName))})) + } + return "" +} + +func (ptr *QAccessibleActionInterface) LocalizedActionNameDefault(actionName string) string { + if ptr.Pointer() != nil { + var actionNameC *C.char + if actionName != "" { + actionNameC = C.CString(actionName) + defer C.free(unsafe.Pointer(actionNameC)) + } + return cGoUnpackString(C.QAccessibleActionInterface_LocalizedActionNameDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: actionNameC, len: C.longlong(len(actionName))})) + } + return "" +} + +func QAccessibleActionInterface_NextPageAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_NextPageAction()) +} + +func (ptr *QAccessibleActionInterface) NextPageAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_NextPageAction()) +} + +func QAccessibleActionInterface_PressAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_PressAction()) +} + +func (ptr *QAccessibleActionInterface) PressAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_PressAction()) +} + +func QAccessibleActionInterface_PreviousPageAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_PreviousPageAction()) +} + +func (ptr *QAccessibleActionInterface) PreviousPageAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_PreviousPageAction()) +} + +func QAccessibleActionInterface_ScrollDownAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ScrollDownAction()) +} + +func (ptr *QAccessibleActionInterface) ScrollDownAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ScrollDownAction()) +} + +func QAccessibleActionInterface_ScrollLeftAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ScrollLeftAction()) +} + +func (ptr *QAccessibleActionInterface) ScrollLeftAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ScrollLeftAction()) +} + +func QAccessibleActionInterface_ScrollRightAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ScrollRightAction()) +} + +func (ptr *QAccessibleActionInterface) ScrollRightAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ScrollRightAction()) +} + +func QAccessibleActionInterface_ScrollUpAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ScrollUpAction()) +} + +func (ptr *QAccessibleActionInterface) ScrollUpAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ScrollUpAction()) +} + +func QAccessibleActionInterface_SetFocusAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_SetFocusAction()) +} + +func (ptr *QAccessibleActionInterface) SetFocusAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_SetFocusAction()) +} + +func QAccessibleActionInterface_ShowMenuAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ShowMenuAction()) +} + +func (ptr *QAccessibleActionInterface) ShowMenuAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ShowMenuAction()) +} + +func QAccessibleActionInterface_ToggleAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ToggleAction()) +} + +func (ptr *QAccessibleActionInterface) ToggleAction() string { + return cGoUnpackString(C.QAccessibleActionInterface_QAccessibleActionInterface_ToggleAction()) +} + +//export callbackQAccessibleActionInterface_DestroyQAccessibleActionInterface +func callbackQAccessibleActionInterface_DestroyQAccessibleActionInterface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessibleActionInterface"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessibleActionInterfaceFromPointer(ptr).DestroyQAccessibleActionInterfaceDefault() + } +} + +func (ptr *QAccessibleActionInterface) ConnectDestroyQAccessibleActionInterface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessibleActionInterface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleActionInterface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleActionInterface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleActionInterface) DisconnectDestroyQAccessibleActionInterface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessibleActionInterface") + } +} + +func (ptr *QAccessibleActionInterface) DestroyQAccessibleActionInterface() { + if ptr.Pointer() != nil { + C.QAccessibleActionInterface_DestroyQAccessibleActionInterface(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QAccessibleActionInterface) DestroyQAccessibleActionInterfaceDefault() { + if ptr.Pointer() != nil { + C.QAccessibleActionInterface_DestroyQAccessibleActionInterfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QAccessibleEditableTextInterface struct { + ptr unsafe.Pointer +} + +type QAccessibleEditableTextInterface_ITF interface { + QAccessibleEditableTextInterface_PTR() *QAccessibleEditableTextInterface +} + +func (ptr *QAccessibleEditableTextInterface) QAccessibleEditableTextInterface_PTR() *QAccessibleEditableTextInterface { + return ptr +} + +func (ptr *QAccessibleEditableTextInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAccessibleEditableTextInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAccessibleEditableTextInterface(ptr QAccessibleEditableTextInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleEditableTextInterface_PTR().Pointer() + } + return nil +} + +func NewQAccessibleEditableTextInterfaceFromPointer(ptr unsafe.Pointer) (n *QAccessibleEditableTextInterface) { + n = new(QAccessibleEditableTextInterface) + n.SetPointer(ptr) + return +} + +//export callbackQAccessibleEditableTextInterface_DeleteText +func callbackQAccessibleEditableTextInterface_DeleteText(ptr unsafe.Pointer, startOffset C.int, endOffset C.int) { + if signal := qt.GetSignal(ptr, "deleteText"); signal != nil { + (*(*func(int, int))(signal))(int(int32(startOffset)), int(int32(endOffset))) + } + +} + +func (ptr *QAccessibleEditableTextInterface) ConnectDeleteText(f func(startOffset int, endOffset int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "deleteText"); signal != nil { + f := func(startOffset int, endOffset int) { + (*(*func(int, int))(signal))(startOffset, endOffset) + f(startOffset, endOffset) + } + qt.ConnectSignal(ptr.Pointer(), "deleteText", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "deleteText", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleEditableTextInterface) DisconnectDeleteText() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "deleteText") + } +} + +func (ptr *QAccessibleEditableTextInterface) DeleteText(startOffset int, endOffset int) { + if ptr.Pointer() != nil { + C.QAccessibleEditableTextInterface_DeleteText(ptr.Pointer(), C.int(int32(startOffset)), C.int(int32(endOffset))) + } +} + +//export callbackQAccessibleEditableTextInterface_InsertText +func callbackQAccessibleEditableTextInterface_InsertText(ptr unsafe.Pointer, offset C.int, text C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "insertText"); signal != nil { + (*(*func(int, string))(signal))(int(int32(offset)), cGoUnpackString(text)) + } + +} + +func (ptr *QAccessibleEditableTextInterface) ConnectInsertText(f func(offset int, text string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "insertText"); signal != nil { + f := func(offset int, text string) { + (*(*func(int, string))(signal))(offset, text) + f(offset, text) + } + qt.ConnectSignal(ptr.Pointer(), "insertText", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "insertText", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleEditableTextInterface) DisconnectInsertText() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "insertText") + } +} + +func (ptr *QAccessibleEditableTextInterface) InsertText(offset int, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QAccessibleEditableTextInterface_InsertText(ptr.Pointer(), C.int(int32(offset)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +//export callbackQAccessibleEditableTextInterface_ReplaceText +func callbackQAccessibleEditableTextInterface_ReplaceText(ptr unsafe.Pointer, startOffset C.int, endOffset C.int, text C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "replaceText"); signal != nil { + (*(*func(int, int, string))(signal))(int(int32(startOffset)), int(int32(endOffset)), cGoUnpackString(text)) + } + +} + +func (ptr *QAccessibleEditableTextInterface) ConnectReplaceText(f func(startOffset int, endOffset int, text string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "replaceText"); signal != nil { + f := func(startOffset int, endOffset int, text string) { + (*(*func(int, int, string))(signal))(startOffset, endOffset, text) + f(startOffset, endOffset, text) + } + qt.ConnectSignal(ptr.Pointer(), "replaceText", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "replaceText", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleEditableTextInterface) DisconnectReplaceText() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "replaceText") + } +} + +func (ptr *QAccessibleEditableTextInterface) ReplaceText(startOffset int, endOffset int, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QAccessibleEditableTextInterface_ReplaceText(ptr.Pointer(), C.int(int32(startOffset)), C.int(int32(endOffset)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +//export callbackQAccessibleEditableTextInterface_DestroyQAccessibleEditableTextInterface +func callbackQAccessibleEditableTextInterface_DestroyQAccessibleEditableTextInterface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessibleEditableTextInterface"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessibleEditableTextInterfaceFromPointer(ptr).DestroyQAccessibleEditableTextInterfaceDefault() + } +} + +func (ptr *QAccessibleEditableTextInterface) ConnectDestroyQAccessibleEditableTextInterface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessibleEditableTextInterface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleEditableTextInterface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleEditableTextInterface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleEditableTextInterface) DisconnectDestroyQAccessibleEditableTextInterface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessibleEditableTextInterface") + } +} + +func (ptr *QAccessibleEditableTextInterface) DestroyQAccessibleEditableTextInterface() { + if ptr.Pointer() != nil { + C.QAccessibleEditableTextInterface_DestroyQAccessibleEditableTextInterface(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QAccessibleEditableTextInterface) DestroyQAccessibleEditableTextInterfaceDefault() { + if ptr.Pointer() != nil { + C.QAccessibleEditableTextInterface_DestroyQAccessibleEditableTextInterfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QAccessibleEvent struct { + ptr unsafe.Pointer +} + +type QAccessibleEvent_ITF interface { + QAccessibleEvent_PTR() *QAccessibleEvent +} + +func (ptr *QAccessibleEvent) QAccessibleEvent_PTR() *QAccessibleEvent { + return ptr +} + +func (ptr *QAccessibleEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAccessibleEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAccessibleEvent(ptr QAccessibleEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleEvent_PTR().Pointer() + } + return nil +} + +func NewQAccessibleEventFromPointer(ptr unsafe.Pointer) (n *QAccessibleEvent) { + n = new(QAccessibleEvent) + n.SetPointer(ptr) + return +} +func NewQAccessibleEvent2(object core.QObject_ITF, ty QAccessible__Event) *QAccessibleEvent { + return NewQAccessibleEventFromPointer(C.QAccessibleEvent_NewQAccessibleEvent2(core.PointerFromQObject(object), C.longlong(ty))) +} + +func NewQAccessibleEvent3(interfa QAccessibleInterface_ITF, ty QAccessible__Event) *QAccessibleEvent { + return NewQAccessibleEventFromPointer(C.QAccessibleEvent_NewQAccessibleEvent3(PointerFromQAccessibleInterface(interfa), C.longlong(ty))) +} + +//export callbackQAccessibleEvent_AccessibleInterface +func callbackQAccessibleEvent_AccessibleInterface(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "accessibleInterface"); signal != nil { + return PointerFromQAccessibleInterface((*(*func() *QAccessibleInterface)(signal))()) + } + + return PointerFromQAccessibleInterface(NewQAccessibleEventFromPointer(ptr).AccessibleInterfaceDefault()) +} + +func (ptr *QAccessibleEvent) ConnectAccessibleInterface(f func() *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "accessibleInterface"); signal != nil { + f := func() *QAccessibleInterface { + (*(*func() *QAccessibleInterface)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "accessibleInterface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "accessibleInterface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleEvent) DisconnectAccessibleInterface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "accessibleInterface") + } +} + +func (ptr *QAccessibleEvent) AccessibleInterface() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleEvent_AccessibleInterface(ptr.Pointer())) + } + return nil +} + +func (ptr *QAccessibleEvent) AccessibleInterfaceDefault() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleEvent_AccessibleInterfaceDefault(ptr.Pointer())) + } + return nil +} + +func (ptr *QAccessibleEvent) Child() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleEvent_Child(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleEvent) Object() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAccessibleEvent_Object(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAccessibleEvent) SetChild(child int) { + if ptr.Pointer() != nil { + C.QAccessibleEvent_SetChild(ptr.Pointer(), C.int(int32(child))) + } +} + +func (ptr *QAccessibleEvent) Type() QAccessible__Event { + if ptr.Pointer() != nil { + return QAccessible__Event(C.QAccessibleEvent_Type(ptr.Pointer())) + } + return 0 +} + +//export callbackQAccessibleEvent_DestroyQAccessibleEvent +func callbackQAccessibleEvent_DestroyQAccessibleEvent(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessibleEvent"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessibleEventFromPointer(ptr).DestroyQAccessibleEventDefault() + } +} + +func (ptr *QAccessibleEvent) ConnectDestroyQAccessibleEvent(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessibleEvent"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleEvent) DisconnectDestroyQAccessibleEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessibleEvent") + } +} + +func (ptr *QAccessibleEvent) DestroyQAccessibleEvent() { + if ptr.Pointer() != nil { + C.QAccessibleEvent_DestroyQAccessibleEvent(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QAccessibleEvent) DestroyQAccessibleEventDefault() { + if ptr.Pointer() != nil { + C.QAccessibleEvent_DestroyQAccessibleEventDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QAccessibleInterface struct { + ptr unsafe.Pointer +} + +type QAccessibleInterface_ITF interface { + QAccessibleInterface_PTR() *QAccessibleInterface +} + +func (ptr *QAccessibleInterface) QAccessibleInterface_PTR() *QAccessibleInterface { + return ptr +} + +func (ptr *QAccessibleInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAccessibleInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAccessibleInterface(ptr QAccessibleInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleInterface_PTR().Pointer() + } + return nil +} + +func NewQAccessibleInterfaceFromPointer(ptr unsafe.Pointer) (n *QAccessibleInterface) { + n = new(QAccessibleInterface) + n.SetPointer(ptr) + return +} +func (ptr *QAccessibleInterface) ActionInterface() *QAccessibleActionInterface { + if ptr.Pointer() != nil { + return NewQAccessibleActionInterfaceFromPointer(C.QAccessibleInterface_ActionInterface(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessibleInterface_BackgroundColor +func callbackQAccessibleInterface_BackgroundColor(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "backgroundColor"); signal != nil { + return PointerFromQColor((*(*func() *QColor)(signal))()) + } + + return PointerFromQColor(NewQAccessibleInterfaceFromPointer(ptr).BackgroundColorDefault()) +} + +func (ptr *QAccessibleInterface) ConnectBackgroundColor(f func() *QColor) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "backgroundColor"); signal != nil { + f := func() *QColor { + (*(*func() *QColor)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "backgroundColor", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "backgroundColor", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectBackgroundColor() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "backgroundColor") + } +} + +func (ptr *QAccessibleInterface) BackgroundColor() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QAccessibleInterface_BackgroundColor(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QAccessibleInterface) BackgroundColorDefault() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QAccessibleInterface_BackgroundColorDefault(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +//export callbackQAccessibleInterface_Child +func callbackQAccessibleInterface_Child(ptr unsafe.Pointer, index C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "child"); signal != nil { + return PointerFromQAccessibleInterface((*(*func(int) *QAccessibleInterface)(signal))(int(int32(index)))) + } + + return PointerFromQAccessibleInterface(nil) +} + +func (ptr *QAccessibleInterface) ConnectChild(f func(index int) *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "child"); signal != nil { + f := func(index int) *QAccessibleInterface { + (*(*func(int) *QAccessibleInterface)(signal))(index) + return f(index) + } + qt.ConnectSignal(ptr.Pointer(), "child", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "child", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectChild() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "child") + } +} + +func (ptr *QAccessibleInterface) Child(index int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleInterface_Child(ptr.Pointer(), C.int(int32(index)))) + } + return nil +} + +//export callbackQAccessibleInterface_ChildAt +func callbackQAccessibleInterface_ChildAt(ptr unsafe.Pointer, x C.int, y C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "childAt"); signal != nil { + return PointerFromQAccessibleInterface((*(*func(int, int) *QAccessibleInterface)(signal))(int(int32(x)), int(int32(y)))) + } + + return PointerFromQAccessibleInterface(nil) +} + +func (ptr *QAccessibleInterface) ConnectChildAt(f func(x int, y int) *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "childAt"); signal != nil { + f := func(x int, y int) *QAccessibleInterface { + (*(*func(int, int) *QAccessibleInterface)(signal))(x, y) + return f(x, y) + } + qt.ConnectSignal(ptr.Pointer(), "childAt", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "childAt", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectChildAt() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "childAt") + } +} + +func (ptr *QAccessibleInterface) ChildAt(x int, y int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleInterface_ChildAt(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)))) + } + return nil +} + +//export callbackQAccessibleInterface_ChildCount +func callbackQAccessibleInterface_ChildCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "childCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleInterface) ConnectChildCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "childCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "childCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "childCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectChildCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "childCount") + } +} + +func (ptr *QAccessibleInterface) ChildCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleInterface_ChildCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleInterface_FocusChild +func callbackQAccessibleInterface_FocusChild(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "focusChild"); signal != nil { + return PointerFromQAccessibleInterface((*(*func() *QAccessibleInterface)(signal))()) + } + + return PointerFromQAccessibleInterface(NewQAccessibleInterfaceFromPointer(ptr).FocusChildDefault()) +} + +func (ptr *QAccessibleInterface) ConnectFocusChild(f func() *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "focusChild"); signal != nil { + f := func() *QAccessibleInterface { + (*(*func() *QAccessibleInterface)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "focusChild", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "focusChild", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectFocusChild() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "focusChild") + } +} + +func (ptr *QAccessibleInterface) FocusChild() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleInterface_FocusChild(ptr.Pointer())) + } + return nil +} + +func (ptr *QAccessibleInterface) FocusChildDefault() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleInterface_FocusChildDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessibleInterface_ForegroundColor +func callbackQAccessibleInterface_ForegroundColor(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "foregroundColor"); signal != nil { + return PointerFromQColor((*(*func() *QColor)(signal))()) + } + + return PointerFromQColor(NewQAccessibleInterfaceFromPointer(ptr).ForegroundColorDefault()) +} + +func (ptr *QAccessibleInterface) ConnectForegroundColor(f func() *QColor) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "foregroundColor"); signal != nil { + f := func() *QColor { + (*(*func() *QColor)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "foregroundColor", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "foregroundColor", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectForegroundColor() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "foregroundColor") + } +} + +func (ptr *QAccessibleInterface) ForegroundColor() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QAccessibleInterface_ForegroundColor(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QAccessibleInterface) ForegroundColorDefault() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QAccessibleInterface_ForegroundColorDefault(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +//export callbackQAccessibleInterface_IndexOfChild +func callbackQAccessibleInterface_IndexOfChild(ptr unsafe.Pointer, child unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "indexOfChild"); signal != nil { + return C.int(int32((*(*func(*QAccessibleInterface) int)(signal))(NewQAccessibleInterfaceFromPointer(child)))) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleInterface) ConnectIndexOfChild(f func(child *QAccessibleInterface) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "indexOfChild"); signal != nil { + f := func(child *QAccessibleInterface) int { + (*(*func(*QAccessibleInterface) int)(signal))(child) + return f(child) + } + qt.ConnectSignal(ptr.Pointer(), "indexOfChild", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "indexOfChild", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectIndexOfChild() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "indexOfChild") + } +} + +func (ptr *QAccessibleInterface) IndexOfChild(child QAccessibleInterface_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleInterface_IndexOfChild(ptr.Pointer(), PointerFromQAccessibleInterface(child)))) + } + return 0 +} + +//export callbackQAccessibleInterface_Interface_cast +func callbackQAccessibleInterface_Interface_cast(ptr unsafe.Pointer, ty C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "interface_cast"); signal != nil { + return (*(*func(QAccessible__InterfaceType) unsafe.Pointer)(signal))(QAccessible__InterfaceType(ty)) + } + + return NewQAccessibleInterfaceFromPointer(ptr).Interface_castDefault(QAccessible__InterfaceType(ty)) +} + +func (ptr *QAccessibleInterface) ConnectInterface_cast(f func(ty QAccessible__InterfaceType) unsafe.Pointer) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "interface_cast"); signal != nil { + f := func(ty QAccessible__InterfaceType) unsafe.Pointer { + (*(*func(QAccessible__InterfaceType) unsafe.Pointer)(signal))(ty) + return f(ty) + } + qt.ConnectSignal(ptr.Pointer(), "interface_cast", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "interface_cast", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectInterface_cast() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "interface_cast") + } +} + +func (ptr *QAccessibleInterface) Interface_cast(ty QAccessible__InterfaceType) unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QAccessibleInterface_Interface_cast(ptr.Pointer(), C.longlong(ty)) + } + return nil +} + +func (ptr *QAccessibleInterface) Interface_castDefault(ty QAccessible__InterfaceType) unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QAccessibleInterface_Interface_castDefault(ptr.Pointer(), C.longlong(ty)) + } + return nil +} + +//export callbackQAccessibleInterface_IsValid +func callbackQAccessibleInterface_IsValid(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "isValid"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAccessibleInterface) ConnectIsValid(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "isValid"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "isValid", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "isValid", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectIsValid() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "isValid") + } +} + +func (ptr *QAccessibleInterface) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleInterface_IsValid(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQAccessibleInterface_Object +func callbackQAccessibleInterface_Object(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "object"); signal != nil { + return core.PointerFromQObject((*(*func() *core.QObject)(signal))()) + } + + return core.PointerFromQObject(core.NewQObject(nil)) +} + +func (ptr *QAccessibleInterface) ConnectObject(f func() *core.QObject) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "object"); signal != nil { + f := func() *core.QObject { + (*(*func() *core.QObject)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "object", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "object", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "object") + } +} + +func (ptr *QAccessibleInterface) Object() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAccessibleInterface_Object(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAccessibleInterface_Parent +func callbackQAccessibleInterface_Parent(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQAccessibleInterface((*(*func() *QAccessibleInterface)(signal))()) + } + + return PointerFromQAccessibleInterface(nil) +} + +func (ptr *QAccessibleInterface) ConnectParent(f func() *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "parent"); signal != nil { + f := func() *QAccessibleInterface { + (*(*func() *QAccessibleInterface)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectParent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "parent") + } +} + +func (ptr *QAccessibleInterface) Parent() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleInterface_Parent(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessibleInterface_Rect +func callbackQAccessibleInterface_Rect(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "rect"); signal != nil { + return core.PointerFromQRect((*(*func() *core.QRect)(signal))()) + } + + return core.PointerFromQRect(core.NewQRect()) +} + +func (ptr *QAccessibleInterface) ConnectRect(f func() *core.QRect) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rect"); signal != nil { + f := func() *core.QRect { + (*(*func() *core.QRect)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "rect", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rect", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectRect() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rect") + } +} + +func (ptr *QAccessibleInterface) Rect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QAccessibleInterface_Rect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +//export callbackQAccessibleInterface_Role +func callbackQAccessibleInterface_Role(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "role"); signal != nil { + return C.longlong((*(*func() QAccessible__Role)(signal))()) + } + + return C.longlong(0) +} + +func (ptr *QAccessibleInterface) ConnectRole(f func() QAccessible__Role) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "role"); signal != nil { + f := func() QAccessible__Role { + (*(*func() QAccessible__Role)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "role", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "role", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectRole() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "role") + } +} + +func (ptr *QAccessibleInterface) Role() QAccessible__Role { + if ptr.Pointer() != nil { + return QAccessible__Role(C.QAccessibleInterface_Role(ptr.Pointer())) + } + return 0 +} + +//export callbackQAccessibleInterface_SetText +func callbackQAccessibleInterface_SetText(ptr unsafe.Pointer, t C.longlong, text C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "setText"); signal != nil { + (*(*func(QAccessible__Text, string))(signal))(QAccessible__Text(t), cGoUnpackString(text)) + } + +} + +func (ptr *QAccessibleInterface) ConnectSetText(f func(t QAccessible__Text, text string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setText"); signal != nil { + f := func(t QAccessible__Text, text string) { + (*(*func(QAccessible__Text, string))(signal))(t, text) + f(t, text) + } + qt.ConnectSignal(ptr.Pointer(), "setText", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setText", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectSetText() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setText") + } +} + +func (ptr *QAccessibleInterface) SetText(t QAccessible__Text, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QAccessibleInterface_SetText(ptr.Pointer(), C.longlong(t), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QAccessibleInterface) TableCellInterface() *QAccessibleTableCellInterface { + if ptr.Pointer() != nil { + return NewQAccessibleTableCellInterfaceFromPointer(C.QAccessibleInterface_TableCellInterface(ptr.Pointer())) + } + return nil +} + +func (ptr *QAccessibleInterface) TableInterface() *QAccessibleTableInterface { + if ptr.Pointer() != nil { + return NewQAccessibleTableInterfaceFromPointer(C.QAccessibleInterface_TableInterface(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessibleInterface_Text +func callbackQAccessibleInterface_Text(ptr unsafe.Pointer, t C.longlong) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "text"); signal != nil { + tempVal := (*(*func(QAccessible__Text) string)(signal))(QAccessible__Text(t)) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := "" + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleInterface) ConnectText(f func(t QAccessible__Text) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "text"); signal != nil { + f := func(t QAccessible__Text) string { + (*(*func(QAccessible__Text) string)(signal))(t) + return f(t) + } + qt.ConnectSignal(ptr.Pointer(), "text", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "text", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectText() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "text") + } +} + +func (ptr *QAccessibleInterface) Text(t QAccessible__Text) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleInterface_Text(ptr.Pointer(), C.longlong(t))) + } + return "" +} + +func (ptr *QAccessibleInterface) TextInterface() *QAccessibleTextInterface { + if ptr.Pointer() != nil { + return NewQAccessibleTextInterfaceFromPointer(C.QAccessibleInterface_TextInterface(ptr.Pointer())) + } + return nil +} + +func (ptr *QAccessibleInterface) ValueInterface() *QAccessibleValueInterface { + if ptr.Pointer() != nil { + return NewQAccessibleValueInterfaceFromPointer(C.QAccessibleInterface_ValueInterface(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessibleInterface_Window +func callbackQAccessibleInterface_Window(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "window"); signal != nil { + return PointerFromQWindow((*(*func() *QWindow)(signal))()) + } + + return PointerFromQWindow(NewQAccessibleInterfaceFromPointer(ptr).WindowDefault()) +} + +func (ptr *QAccessibleInterface) ConnectWindow(f func() *QWindow) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "window"); signal != nil { + f := func() *QWindow { + (*(*func() *QWindow)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "window", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "window", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectWindow() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "window") + } +} + +func (ptr *QAccessibleInterface) Window() *QWindow { + if ptr.Pointer() != nil { + tmpValue := NewQWindowFromPointer(C.QAccessibleInterface_Window(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAccessibleInterface) WindowDefault() *QWindow { + if ptr.Pointer() != nil { + tmpValue := NewQWindowFromPointer(C.QAccessibleInterface_WindowDefault(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAccessibleInterface_DestroyQAccessibleInterface +func callbackQAccessibleInterface_DestroyQAccessibleInterface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessibleInterface"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessibleInterfaceFromPointer(ptr).DestroyQAccessibleInterfaceDefault() + } +} + +func (ptr *QAccessibleInterface) ConnectDestroyQAccessibleInterface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessibleInterface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleInterface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleInterface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleInterface) DisconnectDestroyQAccessibleInterface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessibleInterface") + } +} + +func (ptr *QAccessibleInterface) DestroyQAccessibleInterface() { + if ptr.Pointer() != nil { + C.QAccessibleInterface_DestroyQAccessibleInterface(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAccessibleInterface) DestroyQAccessibleInterfaceDefault() { + if ptr.Pointer() != nil { + C.QAccessibleInterface_DestroyQAccessibleInterfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAccessibleObject struct { + QAccessibleInterface +} + +type QAccessibleObject_ITF interface { + QAccessibleInterface_ITF + QAccessibleObject_PTR() *QAccessibleObject +} + +func (ptr *QAccessibleObject) QAccessibleObject_PTR() *QAccessibleObject { + return ptr +} + +func (ptr *QAccessibleObject) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleInterface_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessibleObject) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAccessibleInterface_PTR().SetPointer(p) + } +} + +func PointerFromQAccessibleObject(ptr QAccessibleObject_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleObject_PTR().Pointer() + } + return nil +} + +func NewQAccessibleObjectFromPointer(ptr unsafe.Pointer) (n *QAccessibleObject) { + n = new(QAccessibleObject) + n.SetPointer(ptr) + return +} + +//export callbackQAccessibleObject_ChildAt +func callbackQAccessibleObject_ChildAt(ptr unsafe.Pointer, x C.int, y C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "childAt"); signal != nil { + return PointerFromQAccessibleInterface((*(*func(int, int) *QAccessibleInterface)(signal))(int(int32(x)), int(int32(y)))) + } + + return PointerFromQAccessibleInterface(NewQAccessibleObjectFromPointer(ptr).ChildAtDefault(int(int32(x)), int(int32(y)))) +} + +func (ptr *QAccessibleObject) ConnectChildAt(f func(x int, y int) *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "childAt"); signal != nil { + f := func(x int, y int) *QAccessibleInterface { + (*(*func(int, int) *QAccessibleInterface)(signal))(x, y) + return f(x, y) + } + qt.ConnectSignal(ptr.Pointer(), "childAt", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "childAt", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleObject) DisconnectChildAt() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "childAt") + } +} + +func (ptr *QAccessibleObject) ChildAt(x int, y int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleObject_ChildAt(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)))) + } + return nil +} + +func (ptr *QAccessibleObject) ChildAtDefault(x int, y int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleObject_ChildAtDefault(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)))) + } + return nil +} + +//export callbackQAccessibleObject_IsValid +func callbackQAccessibleObject_IsValid(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "isValid"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAccessibleObjectFromPointer(ptr).IsValidDefault()))) +} + +func (ptr *QAccessibleObject) ConnectIsValid(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "isValid"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "isValid", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "isValid", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleObject) DisconnectIsValid() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "isValid") + } +} + +func (ptr *QAccessibleObject) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleObject_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QAccessibleObject) IsValidDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleObject_IsValidDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQAccessibleObject_Object +func callbackQAccessibleObject_Object(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "object"); signal != nil { + return core.PointerFromQObject((*(*func() *core.QObject)(signal))()) + } + + return core.PointerFromQObject(NewQAccessibleObjectFromPointer(ptr).ObjectDefault()) +} + +func (ptr *QAccessibleObject) ConnectObject(f func() *core.QObject) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "object"); signal != nil { + f := func() *core.QObject { + (*(*func() *core.QObject)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "object", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "object", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleObject) DisconnectObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "object") + } +} + +func (ptr *QAccessibleObject) Object() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAccessibleObject_Object(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAccessibleObject) ObjectDefault() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAccessibleObject_ObjectDefault(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAccessibleObject_Rect +func callbackQAccessibleObject_Rect(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "rect"); signal != nil { + return core.PointerFromQRect((*(*func() *core.QRect)(signal))()) + } + + return core.PointerFromQRect(NewQAccessibleObjectFromPointer(ptr).RectDefault()) +} + +func (ptr *QAccessibleObject) ConnectRect(f func() *core.QRect) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rect"); signal != nil { + f := func() *core.QRect { + (*(*func() *core.QRect)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "rect", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rect", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleObject) DisconnectRect() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rect") + } +} + +func (ptr *QAccessibleObject) Rect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QAccessibleObject_Rect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QAccessibleObject) RectDefault() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QAccessibleObject_RectDefault(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +//export callbackQAccessibleObject_SetText +func callbackQAccessibleObject_SetText(ptr unsafe.Pointer, t C.longlong, text C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "setText"); signal != nil { + (*(*func(QAccessible__Text, string))(signal))(QAccessible__Text(t), cGoUnpackString(text)) + } else { + NewQAccessibleObjectFromPointer(ptr).SetTextDefault(QAccessible__Text(t), cGoUnpackString(text)) + } +} + +func (ptr *QAccessibleObject) ConnectSetText(f func(t QAccessible__Text, text string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setText"); signal != nil { + f := func(t QAccessible__Text, text string) { + (*(*func(QAccessible__Text, string))(signal))(t, text) + f(t, text) + } + qt.ConnectSignal(ptr.Pointer(), "setText", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setText", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleObject) DisconnectSetText() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setText") + } +} + +func (ptr *QAccessibleObject) SetText(t QAccessible__Text, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QAccessibleObject_SetText(ptr.Pointer(), C.longlong(t), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QAccessibleObject) SetTextDefault(t QAccessible__Text, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QAccessibleObject_SetTextDefault(ptr.Pointer(), C.longlong(t), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +//export callbackQAccessibleObject_DestroyQAccessibleObject +func callbackQAccessibleObject_DestroyQAccessibleObject(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessibleObject"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessibleObjectFromPointer(ptr).DestroyQAccessibleObjectDefault() + } +} + +func (ptr *QAccessibleObject) ConnectDestroyQAccessibleObject(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessibleObject"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleObject) DisconnectDestroyQAccessibleObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessibleObject") + } +} + +func (ptr *QAccessibleObject) DestroyQAccessibleObject() { + if ptr.Pointer() != nil { + C.QAccessibleObject_DestroyQAccessibleObject(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAccessibleObject) DestroyQAccessibleObjectDefault() { + if ptr.Pointer() != nil { + C.QAccessibleObject_DestroyQAccessibleObjectDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQAccessibleObject_Child +func callbackQAccessibleObject_Child(ptr unsafe.Pointer, index C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "child"); signal != nil { + return PointerFromQAccessibleInterface((*(*func(int) *QAccessibleInterface)(signal))(int(int32(index)))) + } + + return PointerFromQAccessibleInterface(NewQAccessibleObjectFromPointer(ptr).ChildDefault(int(int32(index)))) +} + +func (ptr *QAccessibleObject) Child(index int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleObject_Child(ptr.Pointer(), C.int(int32(index)))) + } + return nil +} + +func (ptr *QAccessibleObject) ChildDefault(index int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleObject_ChildDefault(ptr.Pointer(), C.int(int32(index)))) + } + return nil +} + +//export callbackQAccessibleObject_ChildCount +func callbackQAccessibleObject_ChildCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "childCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQAccessibleObjectFromPointer(ptr).ChildCountDefault())) +} + +func (ptr *QAccessibleObject) ChildCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleObject_ChildCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleObject) ChildCountDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleObject_ChildCountDefault(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleObject_IndexOfChild +func callbackQAccessibleObject_IndexOfChild(ptr unsafe.Pointer, child unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "indexOfChild"); signal != nil { + return C.int(int32((*(*func(*QAccessibleInterface) int)(signal))(NewQAccessibleInterfaceFromPointer(child)))) + } + + return C.int(int32(NewQAccessibleObjectFromPointer(ptr).IndexOfChildDefault(NewQAccessibleInterfaceFromPointer(child)))) +} + +func (ptr *QAccessibleObject) IndexOfChild(child QAccessibleInterface_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleObject_IndexOfChild(ptr.Pointer(), PointerFromQAccessibleInterface(child)))) + } + return 0 +} + +func (ptr *QAccessibleObject) IndexOfChildDefault(child QAccessibleInterface_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleObject_IndexOfChildDefault(ptr.Pointer(), PointerFromQAccessibleInterface(child)))) + } + return 0 +} + +//export callbackQAccessibleObject_Parent +func callbackQAccessibleObject_Parent(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return PointerFromQAccessibleInterface((*(*func() *QAccessibleInterface)(signal))()) + } + + return PointerFromQAccessibleInterface(NewQAccessibleObjectFromPointer(ptr).ParentDefault()) +} + +func (ptr *QAccessibleObject) Parent() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleObject_Parent(ptr.Pointer())) + } + return nil +} + +func (ptr *QAccessibleObject) ParentDefault() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleObject_ParentDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessibleObject_Role +func callbackQAccessibleObject_Role(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "role"); signal != nil { + return C.longlong((*(*func() QAccessible__Role)(signal))()) + } + + return C.longlong(NewQAccessibleObjectFromPointer(ptr).RoleDefault()) +} + +func (ptr *QAccessibleObject) Role() QAccessible__Role { + if ptr.Pointer() != nil { + return QAccessible__Role(C.QAccessibleObject_Role(ptr.Pointer())) + } + return 0 +} + +func (ptr *QAccessibleObject) RoleDefault() QAccessible__Role { + if ptr.Pointer() != nil { + return QAccessible__Role(C.QAccessibleObject_RoleDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQAccessibleObject_Text +func callbackQAccessibleObject_Text(ptr unsafe.Pointer, t C.longlong) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "text"); signal != nil { + tempVal := (*(*func(QAccessible__Text) string)(signal))(QAccessible__Text(t)) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQAccessibleObjectFromPointer(ptr).TextDefault(QAccessible__Text(t)) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleObject) Text(t QAccessible__Text) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleObject_Text(ptr.Pointer(), C.longlong(t))) + } + return "" +} + +func (ptr *QAccessibleObject) TextDefault(t QAccessible__Text) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleObject_TextDefault(ptr.Pointer(), C.longlong(t))) + } + return "" +} + +type QAccessiblePlugin struct { + core.QObject +} + +type QAccessiblePlugin_ITF interface { + core.QObject_ITF + QAccessiblePlugin_PTR() *QAccessiblePlugin +} + +func (ptr *QAccessiblePlugin) QAccessiblePlugin_PTR() *QAccessiblePlugin { + return ptr +} + +func (ptr *QAccessiblePlugin) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessiblePlugin) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQAccessiblePlugin(ptr QAccessiblePlugin_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessiblePlugin_PTR().Pointer() + } + return nil +} + +func NewQAccessiblePluginFromPointer(ptr unsafe.Pointer) (n *QAccessiblePlugin) { + n = new(QAccessiblePlugin) + n.SetPointer(ptr) + return +} +func NewQAccessiblePlugin(parent core.QObject_ITF) *QAccessiblePlugin { + tmpValue := NewQAccessiblePluginFromPointer(C.QAccessiblePlugin_NewQAccessiblePlugin(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQAccessiblePlugin_Create +func callbackQAccessiblePlugin_Create(ptr unsafe.Pointer, key C.struct_QtGui_PackedString, object unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "create"); signal != nil { + return PointerFromQAccessibleInterface((*(*func(string, *core.QObject) *QAccessibleInterface)(signal))(cGoUnpackString(key), core.NewQObjectFromPointer(object))) + } + + return PointerFromQAccessibleInterface(nil) +} + +func (ptr *QAccessiblePlugin) ConnectCreate(f func(key string, object *core.QObject) *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "create"); signal != nil { + f := func(key string, object *core.QObject) *QAccessibleInterface { + (*(*func(string, *core.QObject) *QAccessibleInterface)(signal))(key, object) + return f(key, object) + } + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessiblePlugin) DisconnectCreate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "create") + } +} + +func (ptr *QAccessiblePlugin) Create(key string, object core.QObject_ITF) *QAccessibleInterface { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return NewQAccessibleInterfaceFromPointer(C.QAccessiblePlugin_Create(ptr.Pointer(), C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, core.PointerFromQObject(object))) + } + return nil +} + +//export callbackQAccessiblePlugin_DestroyQAccessiblePlugin +func callbackQAccessiblePlugin_DestroyQAccessiblePlugin(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessiblePlugin"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessiblePluginFromPointer(ptr).DestroyQAccessiblePluginDefault() + } +} + +func (ptr *QAccessiblePlugin) ConnectDestroyQAccessiblePlugin(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessiblePlugin"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessiblePlugin", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessiblePlugin", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessiblePlugin) DisconnectDestroyQAccessiblePlugin() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessiblePlugin") + } +} + +func (ptr *QAccessiblePlugin) DestroyQAccessiblePlugin() { + if ptr.Pointer() != nil { + C.QAccessiblePlugin_DestroyQAccessiblePlugin(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAccessiblePlugin) DestroyQAccessiblePluginDefault() { + if ptr.Pointer() != nil { + C.QAccessiblePlugin_DestroyQAccessiblePluginDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAccessiblePlugin) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAccessiblePlugin___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAccessiblePlugin) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAccessiblePlugin) __children_newList() unsafe.Pointer { + return C.QAccessiblePlugin___children_newList(ptr.Pointer()) +} + +func (ptr *QAccessiblePlugin) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QAccessiblePlugin___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QAccessiblePlugin) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QAccessiblePlugin) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QAccessiblePlugin___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QAccessiblePlugin) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAccessiblePlugin___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAccessiblePlugin) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAccessiblePlugin) __findChildren_newList() unsafe.Pointer { + return C.QAccessiblePlugin___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QAccessiblePlugin) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAccessiblePlugin___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAccessiblePlugin) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAccessiblePlugin) __findChildren_newList3() unsafe.Pointer { + return C.QAccessiblePlugin___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QAccessiblePlugin) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAccessiblePlugin___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAccessiblePlugin) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAccessiblePlugin) __qFindChildren_newList2() unsafe.Pointer { + return C.QAccessiblePlugin___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQAccessiblePlugin_ChildEvent +func callbackQAccessiblePlugin_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQAccessiblePluginFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QAccessiblePlugin) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQAccessiblePlugin_ConnectNotify +func callbackQAccessiblePlugin_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQAccessiblePluginFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QAccessiblePlugin) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQAccessiblePlugin_CustomEvent +func callbackQAccessiblePlugin_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQAccessiblePluginFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QAccessiblePlugin) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQAccessiblePlugin_DeleteLater +func callbackQAccessiblePlugin_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessiblePluginFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QAccessiblePlugin) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QAccessiblePlugin_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQAccessiblePlugin_Destroyed +func callbackQAccessiblePlugin_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQAccessiblePlugin_DisconnectNotify +func callbackQAccessiblePlugin_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQAccessiblePluginFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QAccessiblePlugin) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQAccessiblePlugin_Event +func callbackQAccessiblePlugin_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAccessiblePluginFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QAccessiblePlugin) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAccessiblePlugin_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQAccessiblePlugin_EventFilter +func callbackQAccessiblePlugin_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAccessiblePluginFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QAccessiblePlugin) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAccessiblePlugin_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQAccessiblePlugin_MetaObject +func callbackQAccessiblePlugin_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQAccessiblePluginFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QAccessiblePlugin) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QAccessiblePlugin_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessiblePlugin_ObjectNameChanged +func callbackQAccessiblePlugin_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQAccessiblePlugin_TimerEvent +func callbackQAccessiblePlugin_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQAccessiblePluginFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QAccessiblePlugin) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QAccessiblePlugin_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QAccessibleStateChangeEvent struct { + QAccessibleEvent +} + +type QAccessibleStateChangeEvent_ITF interface { + QAccessibleEvent_ITF + QAccessibleStateChangeEvent_PTR() *QAccessibleStateChangeEvent +} + +func (ptr *QAccessibleStateChangeEvent) QAccessibleStateChangeEvent_PTR() *QAccessibleStateChangeEvent { + return ptr +} + +func (ptr *QAccessibleStateChangeEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessibleStateChangeEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAccessibleEvent_PTR().SetPointer(p) + } +} + +func PointerFromQAccessibleStateChangeEvent(ptr QAccessibleStateChangeEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleStateChangeEvent_PTR().Pointer() + } + return nil +} + +func NewQAccessibleStateChangeEventFromPointer(ptr unsafe.Pointer) (n *QAccessibleStateChangeEvent) { + n = new(QAccessibleStateChangeEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QAccessibleStateChangeEvent) DestroyQAccessibleStateChangeEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAccessibleTableCellInterface struct { + ptr unsafe.Pointer +} + +type QAccessibleTableCellInterface_ITF interface { + QAccessibleTableCellInterface_PTR() *QAccessibleTableCellInterface +} + +func (ptr *QAccessibleTableCellInterface) QAccessibleTableCellInterface_PTR() *QAccessibleTableCellInterface { + return ptr +} + +func (ptr *QAccessibleTableCellInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAccessibleTableCellInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAccessibleTableCellInterface(ptr QAccessibleTableCellInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTableCellInterface_PTR().Pointer() + } + return nil +} + +func NewQAccessibleTableCellInterfaceFromPointer(ptr unsafe.Pointer) (n *QAccessibleTableCellInterface) { + n = new(QAccessibleTableCellInterface) + n.SetPointer(ptr) + return +} + +//export callbackQAccessibleTableCellInterface_ColumnExtent +func callbackQAccessibleTableCellInterface_ColumnExtent(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnExtent"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTableCellInterface) ConnectColumnExtent(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnExtent"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "columnExtent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnExtent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableCellInterface) DisconnectColumnExtent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnExtent") + } +} + +func (ptr *QAccessibleTableCellInterface) ColumnExtent() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableCellInterface_ColumnExtent(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTableCellInterface_ColumnHeaderCells +func callbackQAccessibleTableCellInterface_ColumnHeaderCells(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "columnHeaderCells"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableCellInterfaceFromPointer(NewQAccessibleTableCellInterfaceFromPointer(nil).__columnHeaderCells_newList()) + for _, v := range (*(*func() []*QAccessibleInterface)(signal))() { + tmpList.__columnHeaderCells_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableCellInterfaceFromPointer(NewQAccessibleTableCellInterfaceFromPointer(nil).__columnHeaderCells_newList()) + for _, v := range make([]*QAccessibleInterface, 0) { + tmpList.__columnHeaderCells_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QAccessibleTableCellInterface) ConnectColumnHeaderCells(f func() []*QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnHeaderCells"); signal != nil { + f := func() []*QAccessibleInterface { + (*(*func() []*QAccessibleInterface)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "columnHeaderCells", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnHeaderCells", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableCellInterface) DisconnectColumnHeaderCells() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnHeaderCells") + } +} + +func (ptr *QAccessibleTableCellInterface) ColumnHeaderCells() []*QAccessibleInterface { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QAccessibleInterface { + out := make([]*QAccessibleInterface, int(l.len)) + tmpList := NewQAccessibleTableCellInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__columnHeaderCells_atList(i) + } + return out + }(C.QAccessibleTableCellInterface_ColumnHeaderCells(ptr.Pointer())) + } + return make([]*QAccessibleInterface, 0) +} + +//export callbackQAccessibleTableCellInterface_ColumnIndex +func callbackQAccessibleTableCellInterface_ColumnIndex(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnIndex"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTableCellInterface) ConnectColumnIndex(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnIndex"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "columnIndex", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnIndex", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableCellInterface) DisconnectColumnIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnIndex") + } +} + +func (ptr *QAccessibleTableCellInterface) ColumnIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableCellInterface_ColumnIndex(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTableCellInterface_IsSelected +func callbackQAccessibleTableCellInterface_IsSelected(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "isSelected"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAccessibleTableCellInterface) ConnectIsSelected(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "isSelected"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "isSelected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "isSelected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableCellInterface) DisconnectIsSelected() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "isSelected") + } +} + +func (ptr *QAccessibleTableCellInterface) IsSelected() bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleTableCellInterface_IsSelected(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQAccessibleTableCellInterface_RowExtent +func callbackQAccessibleTableCellInterface_RowExtent(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowExtent"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTableCellInterface) ConnectRowExtent(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowExtent"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "rowExtent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowExtent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableCellInterface) DisconnectRowExtent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowExtent") + } +} + +func (ptr *QAccessibleTableCellInterface) RowExtent() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableCellInterface_RowExtent(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTableCellInterface_RowHeaderCells +func callbackQAccessibleTableCellInterface_RowHeaderCells(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "rowHeaderCells"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableCellInterfaceFromPointer(NewQAccessibleTableCellInterfaceFromPointer(nil).__rowHeaderCells_newList()) + for _, v := range (*(*func() []*QAccessibleInterface)(signal))() { + tmpList.__rowHeaderCells_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableCellInterfaceFromPointer(NewQAccessibleTableCellInterfaceFromPointer(nil).__rowHeaderCells_newList()) + for _, v := range make([]*QAccessibleInterface, 0) { + tmpList.__rowHeaderCells_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QAccessibleTableCellInterface) ConnectRowHeaderCells(f func() []*QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowHeaderCells"); signal != nil { + f := func() []*QAccessibleInterface { + (*(*func() []*QAccessibleInterface)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "rowHeaderCells", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowHeaderCells", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableCellInterface) DisconnectRowHeaderCells() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowHeaderCells") + } +} + +func (ptr *QAccessibleTableCellInterface) RowHeaderCells() []*QAccessibleInterface { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QAccessibleInterface { + out := make([]*QAccessibleInterface, int(l.len)) + tmpList := NewQAccessibleTableCellInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__rowHeaderCells_atList(i) + } + return out + }(C.QAccessibleTableCellInterface_RowHeaderCells(ptr.Pointer())) + } + return make([]*QAccessibleInterface, 0) +} + +//export callbackQAccessibleTableCellInterface_RowIndex +func callbackQAccessibleTableCellInterface_RowIndex(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowIndex"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTableCellInterface) ConnectRowIndex(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowIndex"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "rowIndex", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowIndex", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableCellInterface) DisconnectRowIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowIndex") + } +} + +func (ptr *QAccessibleTableCellInterface) RowIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableCellInterface_RowIndex(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTableCellInterface_Table +func callbackQAccessibleTableCellInterface_Table(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "table"); signal != nil { + return PointerFromQAccessibleInterface((*(*func() *QAccessibleInterface)(signal))()) + } + + return PointerFromQAccessibleInterface(nil) +} + +func (ptr *QAccessibleTableCellInterface) ConnectTable(f func() *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "table"); signal != nil { + f := func() *QAccessibleInterface { + (*(*func() *QAccessibleInterface)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "table", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "table", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableCellInterface) DisconnectTable() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "table") + } +} + +func (ptr *QAccessibleTableCellInterface) Table() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleTableCellInterface_Table(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessibleTableCellInterface_DestroyQAccessibleTableCellInterface +func callbackQAccessibleTableCellInterface_DestroyQAccessibleTableCellInterface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessibleTableCellInterface"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessibleTableCellInterfaceFromPointer(ptr).DestroyQAccessibleTableCellInterfaceDefault() + } +} + +func (ptr *QAccessibleTableCellInterface) ConnectDestroyQAccessibleTableCellInterface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessibleTableCellInterface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleTableCellInterface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleTableCellInterface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableCellInterface) DisconnectDestroyQAccessibleTableCellInterface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessibleTableCellInterface") + } +} + +func (ptr *QAccessibleTableCellInterface) DestroyQAccessibleTableCellInterface() { + if ptr.Pointer() != nil { + C.QAccessibleTableCellInterface_DestroyQAccessibleTableCellInterface(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QAccessibleTableCellInterface) DestroyQAccessibleTableCellInterfaceDefault() { + if ptr.Pointer() != nil { + C.QAccessibleTableCellInterface_DestroyQAccessibleTableCellInterfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QAccessibleTableCellInterface) __columnHeaderCells_atList(i int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleTableCellInterface___columnHeaderCells_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QAccessibleTableCellInterface) __columnHeaderCells_setList(i QAccessibleInterface_ITF) { + if ptr.Pointer() != nil { + C.QAccessibleTableCellInterface___columnHeaderCells_setList(ptr.Pointer(), PointerFromQAccessibleInterface(i)) + } +} + +func (ptr *QAccessibleTableCellInterface) __columnHeaderCells_newList() unsafe.Pointer { + return C.QAccessibleTableCellInterface___columnHeaderCells_newList(ptr.Pointer()) +} + +func (ptr *QAccessibleTableCellInterface) __rowHeaderCells_atList(i int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleTableCellInterface___rowHeaderCells_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QAccessibleTableCellInterface) __rowHeaderCells_setList(i QAccessibleInterface_ITF) { + if ptr.Pointer() != nil { + C.QAccessibleTableCellInterface___rowHeaderCells_setList(ptr.Pointer(), PointerFromQAccessibleInterface(i)) + } +} + +func (ptr *QAccessibleTableCellInterface) __rowHeaderCells_newList() unsafe.Pointer { + return C.QAccessibleTableCellInterface___rowHeaderCells_newList(ptr.Pointer()) +} + +type QAccessibleTableInterface struct { + ptr unsafe.Pointer +} + +type QAccessibleTableInterface_ITF interface { + QAccessibleTableInterface_PTR() *QAccessibleTableInterface +} + +func (ptr *QAccessibleTableInterface) QAccessibleTableInterface_PTR() *QAccessibleTableInterface { + return ptr +} + +func (ptr *QAccessibleTableInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAccessibleTableInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAccessibleTableInterface(ptr QAccessibleTableInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTableInterface_PTR().Pointer() + } + return nil +} + +func NewQAccessibleTableInterfaceFromPointer(ptr unsafe.Pointer) (n *QAccessibleTableInterface) { + n = new(QAccessibleTableInterface) + n.SetPointer(ptr) + return +} + +//export callbackQAccessibleTableInterface_Caption +func callbackQAccessibleTableInterface_Caption(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "caption"); signal != nil { + return PointerFromQAccessibleInterface((*(*func() *QAccessibleInterface)(signal))()) + } + + return PointerFromQAccessibleInterface(nil) +} + +func (ptr *QAccessibleTableInterface) ConnectCaption(f func() *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "caption"); signal != nil { + f := func() *QAccessibleInterface { + (*(*func() *QAccessibleInterface)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "caption", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "caption", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectCaption() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "caption") + } +} + +func (ptr *QAccessibleTableInterface) Caption() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleTableInterface_Caption(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessibleTableInterface_CellAt +func callbackQAccessibleTableInterface_CellAt(ptr unsafe.Pointer, row C.int, column C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "cellAt"); signal != nil { + return PointerFromQAccessibleInterface((*(*func(int, int) *QAccessibleInterface)(signal))(int(int32(row)), int(int32(column)))) + } + + return PointerFromQAccessibleInterface(nil) +} + +func (ptr *QAccessibleTableInterface) ConnectCellAt(f func(row int, column int) *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "cellAt"); signal != nil { + f := func(row int, column int) *QAccessibleInterface { + (*(*func(int, int) *QAccessibleInterface)(signal))(row, column) + return f(row, column) + } + qt.ConnectSignal(ptr.Pointer(), "cellAt", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "cellAt", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectCellAt() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "cellAt") + } +} + +func (ptr *QAccessibleTableInterface) CellAt(row int, column int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleTableInterface_CellAt(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)))) + } + return nil +} + +//export callbackQAccessibleTableInterface_ColumnCount +func callbackQAccessibleTableInterface_ColumnCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTableInterface) ConnectColumnCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectColumnCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnCount") + } +} + +func (ptr *QAccessibleTableInterface) ColumnCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableInterface_ColumnCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTableInterface_ColumnDescription +func callbackQAccessibleTableInterface_ColumnDescription(ptr unsafe.Pointer, column C.int) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "columnDescription"); signal != nil { + tempVal := (*(*func(int) string)(signal))(int(int32(column))) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := "" + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleTableInterface) ConnectColumnDescription(f func(column int) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnDescription"); signal != nil { + f := func(column int) string { + (*(*func(int) string)(signal))(column) + return f(column) + } + qt.ConnectSignal(ptr.Pointer(), "columnDescription", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnDescription", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectColumnDescription() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnDescription") + } +} + +func (ptr *QAccessibleTableInterface) ColumnDescription(column int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTableInterface_ColumnDescription(ptr.Pointer(), C.int(int32(column)))) + } + return "" +} + +//export callbackQAccessibleTableInterface_IsColumnSelected +func callbackQAccessibleTableInterface_IsColumnSelected(ptr unsafe.Pointer, column C.int) C.char { + if signal := qt.GetSignal(ptr, "isColumnSelected"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(column)))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAccessibleTableInterface) ConnectIsColumnSelected(f func(column int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "isColumnSelected"); signal != nil { + f := func(column int) bool { + (*(*func(int) bool)(signal))(column) + return f(column) + } + qt.ConnectSignal(ptr.Pointer(), "isColumnSelected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "isColumnSelected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectIsColumnSelected() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "isColumnSelected") + } +} + +func (ptr *QAccessibleTableInterface) IsColumnSelected(column int) bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleTableInterface_IsColumnSelected(ptr.Pointer(), C.int(int32(column)))) != 0 + } + return false +} + +//export callbackQAccessibleTableInterface_IsRowSelected +func callbackQAccessibleTableInterface_IsRowSelected(ptr unsafe.Pointer, row C.int) C.char { + if signal := qt.GetSignal(ptr, "isRowSelected"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(row)))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAccessibleTableInterface) ConnectIsRowSelected(f func(row int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "isRowSelected"); signal != nil { + f := func(row int) bool { + (*(*func(int) bool)(signal))(row) + return f(row) + } + qt.ConnectSignal(ptr.Pointer(), "isRowSelected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "isRowSelected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectIsRowSelected() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "isRowSelected") + } +} + +func (ptr *QAccessibleTableInterface) IsRowSelected(row int) bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleTableInterface_IsRowSelected(ptr.Pointer(), C.int(int32(row)))) != 0 + } + return false +} + +//export callbackQAccessibleTableInterface_ModelChange +func callbackQAccessibleTableInterface_ModelChange(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "modelChange"); signal != nil { + (*(*func(*QAccessibleTableModelChangeEvent))(signal))(NewQAccessibleTableModelChangeEventFromPointer(event)) + } + +} + +func (ptr *QAccessibleTableInterface) ConnectModelChange(f func(event *QAccessibleTableModelChangeEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "modelChange"); signal != nil { + f := func(event *QAccessibleTableModelChangeEvent) { + (*(*func(*QAccessibleTableModelChangeEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "modelChange", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "modelChange", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectModelChange() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "modelChange") + } +} + +func (ptr *QAccessibleTableInterface) ModelChange(event QAccessibleTableModelChangeEvent_ITF) { + if ptr.Pointer() != nil { + C.QAccessibleTableInterface_ModelChange(ptr.Pointer(), PointerFromQAccessibleTableModelChangeEvent(event)) + } +} + +//export callbackQAccessibleTableInterface_RowCount +func callbackQAccessibleTableInterface_RowCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTableInterface) ConnectRowCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectRowCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowCount") + } +} + +func (ptr *QAccessibleTableInterface) RowCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableInterface_RowCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTableInterface_RowDescription +func callbackQAccessibleTableInterface_RowDescription(ptr unsafe.Pointer, row C.int) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "rowDescription"); signal != nil { + tempVal := (*(*func(int) string)(signal))(int(int32(row))) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := "" + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleTableInterface) ConnectRowDescription(f func(row int) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowDescription"); signal != nil { + f := func(row int) string { + (*(*func(int) string)(signal))(row) + return f(row) + } + qt.ConnectSignal(ptr.Pointer(), "rowDescription", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowDescription", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectRowDescription() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowDescription") + } +} + +func (ptr *QAccessibleTableInterface) RowDescription(row int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTableInterface_RowDescription(ptr.Pointer(), C.int(int32(row)))) + } + return "" +} + +//export callbackQAccessibleTableInterface_SelectColumn +func callbackQAccessibleTableInterface_SelectColumn(ptr unsafe.Pointer, column C.int) C.char { + if signal := qt.GetSignal(ptr, "selectColumn"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(column)))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAccessibleTableInterface) ConnectSelectColumn(f func(column int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selectColumn"); signal != nil { + f := func(column int) bool { + (*(*func(int) bool)(signal))(column) + return f(column) + } + qt.ConnectSignal(ptr.Pointer(), "selectColumn", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectColumn", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectSelectColumn() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selectColumn") + } +} + +func (ptr *QAccessibleTableInterface) SelectColumn(column int) bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleTableInterface_SelectColumn(ptr.Pointer(), C.int(int32(column)))) != 0 + } + return false +} + +//export callbackQAccessibleTableInterface_SelectRow +func callbackQAccessibleTableInterface_SelectRow(ptr unsafe.Pointer, row C.int) C.char { + if signal := qt.GetSignal(ptr, "selectRow"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(row)))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAccessibleTableInterface) ConnectSelectRow(f func(row int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selectRow"); signal != nil { + f := func(row int) bool { + (*(*func(int) bool)(signal))(row) + return f(row) + } + qt.ConnectSignal(ptr.Pointer(), "selectRow", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectRow", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectSelectRow() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selectRow") + } +} + +func (ptr *QAccessibleTableInterface) SelectRow(row int) bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleTableInterface_SelectRow(ptr.Pointer(), C.int(int32(row)))) != 0 + } + return false +} + +//export callbackQAccessibleTableInterface_SelectedCellCount +func callbackQAccessibleTableInterface_SelectedCellCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "selectedCellCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTableInterface) ConnectSelectedCellCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selectedCellCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "selectedCellCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectedCellCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectSelectedCellCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selectedCellCount") + } +} + +func (ptr *QAccessibleTableInterface) SelectedCellCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableInterface_SelectedCellCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTableInterface_SelectedCells +func callbackQAccessibleTableInterface_SelectedCells(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "selectedCells"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableInterfaceFromPointer(NewQAccessibleTableInterfaceFromPointer(nil).__selectedCells_newList()) + for _, v := range (*(*func() []*QAccessibleInterface)(signal))() { + tmpList.__selectedCells_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableInterfaceFromPointer(NewQAccessibleTableInterfaceFromPointer(nil).__selectedCells_newList()) + for _, v := range make([]*QAccessibleInterface, 0) { + tmpList.__selectedCells_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QAccessibleTableInterface) ConnectSelectedCells(f func() []*QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selectedCells"); signal != nil { + f := func() []*QAccessibleInterface { + (*(*func() []*QAccessibleInterface)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "selectedCells", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectedCells", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectSelectedCells() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selectedCells") + } +} + +func (ptr *QAccessibleTableInterface) SelectedCells() []*QAccessibleInterface { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QAccessibleInterface { + out := make([]*QAccessibleInterface, int(l.len)) + tmpList := NewQAccessibleTableInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__selectedCells_atList(i) + } + return out + }(C.QAccessibleTableInterface_SelectedCells(ptr.Pointer())) + } + return make([]*QAccessibleInterface, 0) +} + +//export callbackQAccessibleTableInterface_SelectedColumnCount +func callbackQAccessibleTableInterface_SelectedColumnCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "selectedColumnCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTableInterface) ConnectSelectedColumnCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selectedColumnCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "selectedColumnCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectedColumnCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectSelectedColumnCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selectedColumnCount") + } +} + +func (ptr *QAccessibleTableInterface) SelectedColumnCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableInterface_SelectedColumnCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTableInterface_SelectedColumns +func callbackQAccessibleTableInterface_SelectedColumns(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "selectedColumns"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableInterfaceFromPointer(NewQAccessibleTableInterfaceFromPointer(nil).__selectedColumns_newList()) + for _, v := range (*(*func() []int)(signal))() { + tmpList.__selectedColumns_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableInterfaceFromPointer(NewQAccessibleTableInterfaceFromPointer(nil).__selectedColumns_newList()) + for _, v := range make([]int, 0) { + tmpList.__selectedColumns_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QAccessibleTableInterface) ConnectSelectedColumns(f func() []int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selectedColumns"); signal != nil { + f := func() []int { + (*(*func() []int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "selectedColumns", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectedColumns", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectSelectedColumns() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selectedColumns") + } +} + +func (ptr *QAccessibleTableInterface) SelectedColumns() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQAccessibleTableInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__selectedColumns_atList(i) + } + return out + }(C.QAccessibleTableInterface_SelectedColumns(ptr.Pointer())) + } + return make([]int, 0) +} + +//export callbackQAccessibleTableInterface_SelectedRowCount +func callbackQAccessibleTableInterface_SelectedRowCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "selectedRowCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTableInterface) ConnectSelectedRowCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selectedRowCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "selectedRowCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectedRowCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectSelectedRowCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selectedRowCount") + } +} + +func (ptr *QAccessibleTableInterface) SelectedRowCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableInterface_SelectedRowCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTableInterface_SelectedRows +func callbackQAccessibleTableInterface_SelectedRows(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "selectedRows"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableInterfaceFromPointer(NewQAccessibleTableInterfaceFromPointer(nil).__selectedRows_newList()) + for _, v := range (*(*func() []int)(signal))() { + tmpList.__selectedRows_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQAccessibleTableInterfaceFromPointer(NewQAccessibleTableInterfaceFromPointer(nil).__selectedRows_newList()) + for _, v := range make([]int, 0) { + tmpList.__selectedRows_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QAccessibleTableInterface) ConnectSelectedRows(f func() []int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selectedRows"); signal != nil { + f := func() []int { + (*(*func() []int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "selectedRows", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectedRows", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectSelectedRows() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selectedRows") + } +} + +func (ptr *QAccessibleTableInterface) SelectedRows() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQAccessibleTableInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__selectedRows_atList(i) + } + return out + }(C.QAccessibleTableInterface_SelectedRows(ptr.Pointer())) + } + return make([]int, 0) +} + +//export callbackQAccessibleTableInterface_Summary +func callbackQAccessibleTableInterface_Summary(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "summary"); signal != nil { + return PointerFromQAccessibleInterface((*(*func() *QAccessibleInterface)(signal))()) + } + + return PointerFromQAccessibleInterface(nil) +} + +func (ptr *QAccessibleTableInterface) ConnectSummary(f func() *QAccessibleInterface) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "summary"); signal != nil { + f := func() *QAccessibleInterface { + (*(*func() *QAccessibleInterface)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "summary", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "summary", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectSummary() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "summary") + } +} + +func (ptr *QAccessibleTableInterface) Summary() *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleTableInterface_Summary(ptr.Pointer())) + } + return nil +} + +//export callbackQAccessibleTableInterface_UnselectColumn +func callbackQAccessibleTableInterface_UnselectColumn(ptr unsafe.Pointer, column C.int) C.char { + if signal := qt.GetSignal(ptr, "unselectColumn"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(column)))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAccessibleTableInterface) ConnectUnselectColumn(f func(column int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "unselectColumn"); signal != nil { + f := func(column int) bool { + (*(*func(int) bool)(signal))(column) + return f(column) + } + qt.ConnectSignal(ptr.Pointer(), "unselectColumn", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "unselectColumn", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectUnselectColumn() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "unselectColumn") + } +} + +func (ptr *QAccessibleTableInterface) UnselectColumn(column int) bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleTableInterface_UnselectColumn(ptr.Pointer(), C.int(int32(column)))) != 0 + } + return false +} + +//export callbackQAccessibleTableInterface_UnselectRow +func callbackQAccessibleTableInterface_UnselectRow(ptr unsafe.Pointer, row C.int) C.char { + if signal := qt.GetSignal(ptr, "unselectRow"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(row)))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAccessibleTableInterface) ConnectUnselectRow(f func(row int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "unselectRow"); signal != nil { + f := func(row int) bool { + (*(*func(int) bool)(signal))(row) + return f(row) + } + qt.ConnectSignal(ptr.Pointer(), "unselectRow", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "unselectRow", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectUnselectRow() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "unselectRow") + } +} + +func (ptr *QAccessibleTableInterface) UnselectRow(row int) bool { + if ptr.Pointer() != nil { + return int8(C.QAccessibleTableInterface_UnselectRow(ptr.Pointer(), C.int(int32(row)))) != 0 + } + return false +} + +//export callbackQAccessibleTableInterface_DestroyQAccessibleTableInterface +func callbackQAccessibleTableInterface_DestroyQAccessibleTableInterface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessibleTableInterface"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessibleTableInterfaceFromPointer(ptr).DestroyQAccessibleTableInterfaceDefault() + } +} + +func (ptr *QAccessibleTableInterface) ConnectDestroyQAccessibleTableInterface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessibleTableInterface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleTableInterface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleTableInterface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTableInterface) DisconnectDestroyQAccessibleTableInterface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessibleTableInterface") + } +} + +func (ptr *QAccessibleTableInterface) DestroyQAccessibleTableInterface() { + if ptr.Pointer() != nil { + C.QAccessibleTableInterface_DestroyQAccessibleTableInterface(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QAccessibleTableInterface) DestroyQAccessibleTableInterfaceDefault() { + if ptr.Pointer() != nil { + C.QAccessibleTableInterface_DestroyQAccessibleTableInterfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QAccessibleTableInterface) __selectedCells_atList(i int) *QAccessibleInterface { + if ptr.Pointer() != nil { + return NewQAccessibleInterfaceFromPointer(C.QAccessibleTableInterface___selectedCells_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QAccessibleTableInterface) __selectedCells_setList(i QAccessibleInterface_ITF) { + if ptr.Pointer() != nil { + C.QAccessibleTableInterface___selectedCells_setList(ptr.Pointer(), PointerFromQAccessibleInterface(i)) + } +} + +func (ptr *QAccessibleTableInterface) __selectedCells_newList() unsafe.Pointer { + return C.QAccessibleTableInterface___selectedCells_newList(ptr.Pointer()) +} + +func (ptr *QAccessibleTableInterface) __selectedColumns_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableInterface___selectedColumns_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QAccessibleTableInterface) __selectedColumns_setList(i int) { + if ptr.Pointer() != nil { + C.QAccessibleTableInterface___selectedColumns_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QAccessibleTableInterface) __selectedColumns_newList() unsafe.Pointer { + return C.QAccessibleTableInterface___selectedColumns_newList(ptr.Pointer()) +} + +func (ptr *QAccessibleTableInterface) __selectedRows_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableInterface___selectedRows_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QAccessibleTableInterface) __selectedRows_setList(i int) { + if ptr.Pointer() != nil { + C.QAccessibleTableInterface___selectedRows_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QAccessibleTableInterface) __selectedRows_newList() unsafe.Pointer { + return C.QAccessibleTableInterface___selectedRows_newList(ptr.Pointer()) +} + +type QAccessibleTableModelChangeEvent struct { + QAccessibleEvent +} + +type QAccessibleTableModelChangeEvent_ITF interface { + QAccessibleEvent_ITF + QAccessibleTableModelChangeEvent_PTR() *QAccessibleTableModelChangeEvent +} + +func (ptr *QAccessibleTableModelChangeEvent) QAccessibleTableModelChangeEvent_PTR() *QAccessibleTableModelChangeEvent { + return ptr +} + +func (ptr *QAccessibleTableModelChangeEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessibleTableModelChangeEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAccessibleEvent_PTR().SetPointer(p) + } +} + +func PointerFromQAccessibleTableModelChangeEvent(ptr QAccessibleTableModelChangeEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTableModelChangeEvent_PTR().Pointer() + } + return nil +} + +func NewQAccessibleTableModelChangeEventFromPointer(ptr unsafe.Pointer) (n *QAccessibleTableModelChangeEvent) { + n = new(QAccessibleTableModelChangeEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QAccessibleTableModelChangeEvent) DestroyQAccessibleTableModelChangeEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QAccessibleTableModelChangeEvent__ModelChangeType +//QAccessibleTableModelChangeEvent::ModelChangeType +type QAccessibleTableModelChangeEvent__ModelChangeType int64 + +const ( + QAccessibleTableModelChangeEvent__ModelReset QAccessibleTableModelChangeEvent__ModelChangeType = QAccessibleTableModelChangeEvent__ModelChangeType(0) + QAccessibleTableModelChangeEvent__DataChanged QAccessibleTableModelChangeEvent__ModelChangeType = QAccessibleTableModelChangeEvent__ModelChangeType(1) + QAccessibleTableModelChangeEvent__RowsInserted QAccessibleTableModelChangeEvent__ModelChangeType = QAccessibleTableModelChangeEvent__ModelChangeType(2) + QAccessibleTableModelChangeEvent__ColumnsInserted QAccessibleTableModelChangeEvent__ModelChangeType = QAccessibleTableModelChangeEvent__ModelChangeType(3) + QAccessibleTableModelChangeEvent__RowsRemoved QAccessibleTableModelChangeEvent__ModelChangeType = QAccessibleTableModelChangeEvent__ModelChangeType(4) + QAccessibleTableModelChangeEvent__ColumnsRemoved QAccessibleTableModelChangeEvent__ModelChangeType = QAccessibleTableModelChangeEvent__ModelChangeType(5) +) + +func NewQAccessibleTableModelChangeEvent(object core.QObject_ITF, changeType QAccessibleTableModelChangeEvent__ModelChangeType) *QAccessibleTableModelChangeEvent { + return NewQAccessibleTableModelChangeEventFromPointer(C.QAccessibleTableModelChangeEvent_NewQAccessibleTableModelChangeEvent(core.PointerFromQObject(object), C.longlong(changeType))) +} + +func NewQAccessibleTableModelChangeEvent2(iface QAccessibleInterface_ITF, changeType QAccessibleTableModelChangeEvent__ModelChangeType) *QAccessibleTableModelChangeEvent { + return NewQAccessibleTableModelChangeEventFromPointer(C.QAccessibleTableModelChangeEvent_NewQAccessibleTableModelChangeEvent2(PointerFromQAccessibleInterface(iface), C.longlong(changeType))) +} + +func (ptr *QAccessibleTableModelChangeEvent) FirstColumn() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableModelChangeEvent_FirstColumn(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTableModelChangeEvent) FirstRow() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableModelChangeEvent_FirstRow(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTableModelChangeEvent) LastColumn() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableModelChangeEvent_LastColumn(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTableModelChangeEvent) LastRow() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTableModelChangeEvent_LastRow(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTableModelChangeEvent) ModelChangeType() QAccessibleTableModelChangeEvent__ModelChangeType { + if ptr.Pointer() != nil { + return QAccessibleTableModelChangeEvent__ModelChangeType(C.QAccessibleTableModelChangeEvent_ModelChangeType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QAccessibleTableModelChangeEvent) SetFirstColumn(column int) { + if ptr.Pointer() != nil { + C.QAccessibleTableModelChangeEvent_SetFirstColumn(ptr.Pointer(), C.int(int32(column))) + } +} + +func (ptr *QAccessibleTableModelChangeEvent) SetFirstRow(row int) { + if ptr.Pointer() != nil { + C.QAccessibleTableModelChangeEvent_SetFirstRow(ptr.Pointer(), C.int(int32(row))) + } +} + +func (ptr *QAccessibleTableModelChangeEvent) SetLastColumn(column int) { + if ptr.Pointer() != nil { + C.QAccessibleTableModelChangeEvent_SetLastColumn(ptr.Pointer(), C.int(int32(column))) + } +} + +func (ptr *QAccessibleTableModelChangeEvent) SetLastRow(row int) { + if ptr.Pointer() != nil { + C.QAccessibleTableModelChangeEvent_SetLastRow(ptr.Pointer(), C.int(int32(row))) + } +} + +func (ptr *QAccessibleTableModelChangeEvent) SetModelChangeType(changeType QAccessibleTableModelChangeEvent__ModelChangeType) { + if ptr.Pointer() != nil { + C.QAccessibleTableModelChangeEvent_SetModelChangeType(ptr.Pointer(), C.longlong(changeType)) + } +} + +type QAccessibleTextCursorEvent struct { + QAccessibleEvent +} + +type QAccessibleTextCursorEvent_ITF interface { + QAccessibleEvent_ITF + QAccessibleTextCursorEvent_PTR() *QAccessibleTextCursorEvent +} + +func (ptr *QAccessibleTextCursorEvent) QAccessibleTextCursorEvent_PTR() *QAccessibleTextCursorEvent { + return ptr +} + +func (ptr *QAccessibleTextCursorEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessibleTextCursorEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAccessibleEvent_PTR().SetPointer(p) + } +} + +func PointerFromQAccessibleTextCursorEvent(ptr QAccessibleTextCursorEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextCursorEvent_PTR().Pointer() + } + return nil +} + +func NewQAccessibleTextCursorEventFromPointer(ptr unsafe.Pointer) (n *QAccessibleTextCursorEvent) { + n = new(QAccessibleTextCursorEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QAccessibleTextCursorEvent) DestroyQAccessibleTextCursorEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQAccessibleTextCursorEvent(object core.QObject_ITF, cursorPos int) *QAccessibleTextCursorEvent { + return NewQAccessibleTextCursorEventFromPointer(C.QAccessibleTextCursorEvent_NewQAccessibleTextCursorEvent(core.PointerFromQObject(object), C.int(int32(cursorPos)))) +} + +func NewQAccessibleTextCursorEvent2(iface QAccessibleInterface_ITF, cursorPos int) *QAccessibleTextCursorEvent { + return NewQAccessibleTextCursorEventFromPointer(C.QAccessibleTextCursorEvent_NewQAccessibleTextCursorEvent2(PointerFromQAccessibleInterface(iface), C.int(int32(cursorPos)))) +} + +func (ptr *QAccessibleTextCursorEvent) CursorPosition() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextCursorEvent_CursorPosition(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTextCursorEvent) SetCursorPosition(position int) { + if ptr.Pointer() != nil { + C.QAccessibleTextCursorEvent_SetCursorPosition(ptr.Pointer(), C.int(int32(position))) + } +} + +type QAccessibleTextInsertEvent struct { + QAccessibleTextCursorEvent +} + +type QAccessibleTextInsertEvent_ITF interface { + QAccessibleTextCursorEvent_ITF + QAccessibleTextInsertEvent_PTR() *QAccessibleTextInsertEvent +} + +func (ptr *QAccessibleTextInsertEvent) QAccessibleTextInsertEvent_PTR() *QAccessibleTextInsertEvent { + return ptr +} + +func (ptr *QAccessibleTextInsertEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextCursorEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessibleTextInsertEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAccessibleTextCursorEvent_PTR().SetPointer(p) + } +} + +func PointerFromQAccessibleTextInsertEvent(ptr QAccessibleTextInsertEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextInsertEvent_PTR().Pointer() + } + return nil +} + +func NewQAccessibleTextInsertEventFromPointer(ptr unsafe.Pointer) (n *QAccessibleTextInsertEvent) { + n = new(QAccessibleTextInsertEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QAccessibleTextInsertEvent) DestroyQAccessibleTextInsertEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQAccessibleTextInsertEvent(object core.QObject_ITF, position int, text string) *QAccessibleTextInsertEvent { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return NewQAccessibleTextInsertEventFromPointer(C.QAccessibleTextInsertEvent_NewQAccessibleTextInsertEvent(core.PointerFromQObject(object), C.int(int32(position)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) +} + +func NewQAccessibleTextInsertEvent2(iface QAccessibleInterface_ITF, position int, text string) *QAccessibleTextInsertEvent { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return NewQAccessibleTextInsertEventFromPointer(C.QAccessibleTextInsertEvent_NewQAccessibleTextInsertEvent2(PointerFromQAccessibleInterface(iface), C.int(int32(position)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) +} + +func (ptr *QAccessibleTextInsertEvent) ChangePosition() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextInsertEvent_ChangePosition(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTextInsertEvent) TextInserted() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextInsertEvent_TextInserted(ptr.Pointer())) + } + return "" +} + +type QAccessibleTextInterface struct { + ptr unsafe.Pointer +} + +type QAccessibleTextInterface_ITF interface { + QAccessibleTextInterface_PTR() *QAccessibleTextInterface +} + +func (ptr *QAccessibleTextInterface) QAccessibleTextInterface_PTR() *QAccessibleTextInterface { + return ptr +} + +func (ptr *QAccessibleTextInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAccessibleTextInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAccessibleTextInterface(ptr QAccessibleTextInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextInterface_PTR().Pointer() + } + return nil +} + +func NewQAccessibleTextInterfaceFromPointer(ptr unsafe.Pointer) (n *QAccessibleTextInterface) { + n = new(QAccessibleTextInterface) + n.SetPointer(ptr) + return +} + +//export callbackQAccessibleTextInterface_AddSelection +func callbackQAccessibleTextInterface_AddSelection(ptr unsafe.Pointer, startOffset C.int, endOffset C.int) { + if signal := qt.GetSignal(ptr, "addSelection"); signal != nil { + (*(*func(int, int))(signal))(int(int32(startOffset)), int(int32(endOffset))) + } + +} + +func (ptr *QAccessibleTextInterface) ConnectAddSelection(f func(startOffset int, endOffset int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "addSelection"); signal != nil { + f := func(startOffset int, endOffset int) { + (*(*func(int, int))(signal))(startOffset, endOffset) + f(startOffset, endOffset) + } + qt.ConnectSignal(ptr.Pointer(), "addSelection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "addSelection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectAddSelection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "addSelection") + } +} + +func (ptr *QAccessibleTextInterface) AddSelection(startOffset int, endOffset int) { + if ptr.Pointer() != nil { + C.QAccessibleTextInterface_AddSelection(ptr.Pointer(), C.int(int32(startOffset)), C.int(int32(endOffset))) + } +} + +//export callbackQAccessibleTextInterface_CharacterCount +func callbackQAccessibleTextInterface_CharacterCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "characterCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTextInterface) ConnectCharacterCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "characterCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "characterCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "characterCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectCharacterCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "characterCount") + } +} + +func (ptr *QAccessibleTextInterface) CharacterCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextInterface_CharacterCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTextInterface_CharacterRect +func callbackQAccessibleTextInterface_CharacterRect(ptr unsafe.Pointer, offset C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "characterRect"); signal != nil { + return core.PointerFromQRect((*(*func(int) *core.QRect)(signal))(int(int32(offset)))) + } + + return core.PointerFromQRect(core.NewQRect()) +} + +func (ptr *QAccessibleTextInterface) ConnectCharacterRect(f func(offset int) *core.QRect) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "characterRect"); signal != nil { + f := func(offset int) *core.QRect { + (*(*func(int) *core.QRect)(signal))(offset) + return f(offset) + } + qt.ConnectSignal(ptr.Pointer(), "characterRect", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "characterRect", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectCharacterRect() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "characterRect") + } +} + +func (ptr *QAccessibleTextInterface) CharacterRect(offset int) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QAccessibleTextInterface_CharacterRect(ptr.Pointer(), C.int(int32(offset)))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +//export callbackQAccessibleTextInterface_CursorPosition +func callbackQAccessibleTextInterface_CursorPosition(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "cursorPosition"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTextInterface) ConnectCursorPosition(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "cursorPosition"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "cursorPosition", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "cursorPosition", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectCursorPosition() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "cursorPosition") + } +} + +func (ptr *QAccessibleTextInterface) CursorPosition() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextInterface_CursorPosition(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTextInterface_OffsetAtPoint +func callbackQAccessibleTextInterface_OffsetAtPoint(ptr unsafe.Pointer, point unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "offsetAtPoint"); signal != nil { + return C.int(int32((*(*func(*core.QPoint) int)(signal))(core.NewQPointFromPointer(point)))) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTextInterface) ConnectOffsetAtPoint(f func(point *core.QPoint) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "offsetAtPoint"); signal != nil { + f := func(point *core.QPoint) int { + (*(*func(*core.QPoint) int)(signal))(point) + return f(point) + } + qt.ConnectSignal(ptr.Pointer(), "offsetAtPoint", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "offsetAtPoint", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectOffsetAtPoint() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "offsetAtPoint") + } +} + +func (ptr *QAccessibleTextInterface) OffsetAtPoint(point core.QPoint_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextInterface_OffsetAtPoint(ptr.Pointer(), core.PointerFromQPoint(point)))) + } + return 0 +} + +//export callbackQAccessibleTextInterface_RemoveSelection +func callbackQAccessibleTextInterface_RemoveSelection(ptr unsafe.Pointer, selectionIndex C.int) { + if signal := qt.GetSignal(ptr, "removeSelection"); signal != nil { + (*(*func(int))(signal))(int(int32(selectionIndex))) + } + +} + +func (ptr *QAccessibleTextInterface) ConnectRemoveSelection(f func(selectionIndex int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "removeSelection"); signal != nil { + f := func(selectionIndex int) { + (*(*func(int))(signal))(selectionIndex) + f(selectionIndex) + } + qt.ConnectSignal(ptr.Pointer(), "removeSelection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "removeSelection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectRemoveSelection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "removeSelection") + } +} + +func (ptr *QAccessibleTextInterface) RemoveSelection(selectionIndex int) { + if ptr.Pointer() != nil { + C.QAccessibleTextInterface_RemoveSelection(ptr.Pointer(), C.int(int32(selectionIndex))) + } +} + +//export callbackQAccessibleTextInterface_ScrollToSubstring +func callbackQAccessibleTextInterface_ScrollToSubstring(ptr unsafe.Pointer, startIndex C.int, endIndex C.int) { + if signal := qt.GetSignal(ptr, "scrollToSubstring"); signal != nil { + (*(*func(int, int))(signal))(int(int32(startIndex)), int(int32(endIndex))) + } + +} + +func (ptr *QAccessibleTextInterface) ConnectScrollToSubstring(f func(startIndex int, endIndex int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "scrollToSubstring"); signal != nil { + f := func(startIndex int, endIndex int) { + (*(*func(int, int))(signal))(startIndex, endIndex) + f(startIndex, endIndex) + } + qt.ConnectSignal(ptr.Pointer(), "scrollToSubstring", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "scrollToSubstring", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectScrollToSubstring() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "scrollToSubstring") + } +} + +func (ptr *QAccessibleTextInterface) ScrollToSubstring(startIndex int, endIndex int) { + if ptr.Pointer() != nil { + C.QAccessibleTextInterface_ScrollToSubstring(ptr.Pointer(), C.int(int32(startIndex)), C.int(int32(endIndex))) + } +} + +//export callbackQAccessibleTextInterface_Selection +func callbackQAccessibleTextInterface_Selection(ptr unsafe.Pointer, selectionIndex C.int, startOffset C.int, endOffset C.int) { + if signal := qt.GetSignal(ptr, "selection"); signal != nil { + (*(*func(int, int, int))(signal))(int(int32(selectionIndex)), int(int32(startOffset)), int(int32(endOffset))) + } + +} + +func (ptr *QAccessibleTextInterface) ConnectSelection(f func(selectionIndex int, startOffset int, endOffset int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selection"); signal != nil { + f := func(selectionIndex int, startOffset int, endOffset int) { + (*(*func(int, int, int))(signal))(selectionIndex, startOffset, endOffset) + f(selectionIndex, startOffset, endOffset) + } + qt.ConnectSignal(ptr.Pointer(), "selection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectSelection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selection") + } +} + +func (ptr *QAccessibleTextInterface) Selection(selectionIndex int, startOffset int, endOffset int) { + if ptr.Pointer() != nil { + C.QAccessibleTextInterface_Selection(ptr.Pointer(), C.int(int32(selectionIndex)), C.int(int32(startOffset)), C.int(int32(endOffset))) + } +} + +//export callbackQAccessibleTextInterface_SelectionCount +func callbackQAccessibleTextInterface_SelectionCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "selectionCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(0)) +} + +func (ptr *QAccessibleTextInterface) ConnectSelectionCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "selectionCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "selectionCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectionCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectSelectionCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "selectionCount") + } +} + +func (ptr *QAccessibleTextInterface) SelectionCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextInterface_SelectionCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQAccessibleTextInterface_SetCursorPosition +func callbackQAccessibleTextInterface_SetCursorPosition(ptr unsafe.Pointer, position C.int) { + if signal := qt.GetSignal(ptr, "setCursorPosition"); signal != nil { + (*(*func(int))(signal))(int(int32(position))) + } + +} + +func (ptr *QAccessibleTextInterface) ConnectSetCursorPosition(f func(position int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setCursorPosition"); signal != nil { + f := func(position int) { + (*(*func(int))(signal))(position) + f(position) + } + qt.ConnectSignal(ptr.Pointer(), "setCursorPosition", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setCursorPosition", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectSetCursorPosition() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setCursorPosition") + } +} + +func (ptr *QAccessibleTextInterface) SetCursorPosition(position int) { + if ptr.Pointer() != nil { + C.QAccessibleTextInterface_SetCursorPosition(ptr.Pointer(), C.int(int32(position))) + } +} + +//export callbackQAccessibleTextInterface_SetSelection +func callbackQAccessibleTextInterface_SetSelection(ptr unsafe.Pointer, selectionIndex C.int, startOffset C.int, endOffset C.int) { + if signal := qt.GetSignal(ptr, "setSelection"); signal != nil { + (*(*func(int, int, int))(signal))(int(int32(selectionIndex)), int(int32(startOffset)), int(int32(endOffset))) + } + +} + +func (ptr *QAccessibleTextInterface) ConnectSetSelection(f func(selectionIndex int, startOffset int, endOffset int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setSelection"); signal != nil { + f := func(selectionIndex int, startOffset int, endOffset int) { + (*(*func(int, int, int))(signal))(selectionIndex, startOffset, endOffset) + f(selectionIndex, startOffset, endOffset) + } + qt.ConnectSignal(ptr.Pointer(), "setSelection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setSelection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectSetSelection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setSelection") + } +} + +func (ptr *QAccessibleTextInterface) SetSelection(selectionIndex int, startOffset int, endOffset int) { + if ptr.Pointer() != nil { + C.QAccessibleTextInterface_SetSelection(ptr.Pointer(), C.int(int32(selectionIndex)), C.int(int32(startOffset)), C.int(int32(endOffset))) + } +} + +//export callbackQAccessibleTextInterface_Text +func callbackQAccessibleTextInterface_Text(ptr unsafe.Pointer, startOffset C.int, endOffset C.int) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "text"); signal != nil { + tempVal := (*(*func(int, int) string)(signal))(int(int32(startOffset)), int(int32(endOffset))) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := "" + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleTextInterface) ConnectText(f func(startOffset int, endOffset int) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "text"); signal != nil { + f := func(startOffset int, endOffset int) string { + (*(*func(int, int) string)(signal))(startOffset, endOffset) + return f(startOffset, endOffset) + } + qt.ConnectSignal(ptr.Pointer(), "text", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "text", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectText() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "text") + } +} + +func (ptr *QAccessibleTextInterface) Text(startOffset int, endOffset int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextInterface_Text(ptr.Pointer(), C.int(int32(startOffset)), C.int(int32(endOffset)))) + } + return "" +} + +//export callbackQAccessibleTextInterface_TextAfterOffset +func callbackQAccessibleTextInterface_TextAfterOffset(ptr unsafe.Pointer, offset C.int, boundaryType C.longlong, startOffset C.int, endOffset C.int) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "textAfterOffset"); signal != nil { + tempVal := (*(*func(int, QAccessible__TextBoundaryType, int, int) string)(signal))(int(int32(offset)), QAccessible__TextBoundaryType(boundaryType), int(int32(startOffset)), int(int32(endOffset))) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQAccessibleTextInterfaceFromPointer(ptr).TextAfterOffsetDefault(int(int32(offset)), QAccessible__TextBoundaryType(boundaryType), int(int32(startOffset)), int(int32(endOffset))) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleTextInterface) ConnectTextAfterOffset(f func(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "textAfterOffset"); signal != nil { + f := func(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string { + (*(*func(int, QAccessible__TextBoundaryType, int, int) string)(signal))(offset, boundaryType, startOffset, endOffset) + return f(offset, boundaryType, startOffset, endOffset) + } + qt.ConnectSignal(ptr.Pointer(), "textAfterOffset", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "textAfterOffset", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectTextAfterOffset() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "textAfterOffset") + } +} + +func (ptr *QAccessibleTextInterface) TextAfterOffset(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextInterface_TextAfterOffset(ptr.Pointer(), C.int(int32(offset)), C.longlong(boundaryType), C.int(int32(startOffset)), C.int(int32(endOffset)))) + } + return "" +} + +func (ptr *QAccessibleTextInterface) TextAfterOffsetDefault(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextInterface_TextAfterOffsetDefault(ptr.Pointer(), C.int(int32(offset)), C.longlong(boundaryType), C.int(int32(startOffset)), C.int(int32(endOffset)))) + } + return "" +} + +//export callbackQAccessibleTextInterface_TextAtOffset +func callbackQAccessibleTextInterface_TextAtOffset(ptr unsafe.Pointer, offset C.int, boundaryType C.longlong, startOffset C.int, endOffset C.int) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "textAtOffset"); signal != nil { + tempVal := (*(*func(int, QAccessible__TextBoundaryType, int, int) string)(signal))(int(int32(offset)), QAccessible__TextBoundaryType(boundaryType), int(int32(startOffset)), int(int32(endOffset))) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQAccessibleTextInterfaceFromPointer(ptr).TextAtOffsetDefault(int(int32(offset)), QAccessible__TextBoundaryType(boundaryType), int(int32(startOffset)), int(int32(endOffset))) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleTextInterface) ConnectTextAtOffset(f func(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "textAtOffset"); signal != nil { + f := func(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string { + (*(*func(int, QAccessible__TextBoundaryType, int, int) string)(signal))(offset, boundaryType, startOffset, endOffset) + return f(offset, boundaryType, startOffset, endOffset) + } + qt.ConnectSignal(ptr.Pointer(), "textAtOffset", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "textAtOffset", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectTextAtOffset() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "textAtOffset") + } +} + +func (ptr *QAccessibleTextInterface) TextAtOffset(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextInterface_TextAtOffset(ptr.Pointer(), C.int(int32(offset)), C.longlong(boundaryType), C.int(int32(startOffset)), C.int(int32(endOffset)))) + } + return "" +} + +func (ptr *QAccessibleTextInterface) TextAtOffsetDefault(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextInterface_TextAtOffsetDefault(ptr.Pointer(), C.int(int32(offset)), C.longlong(boundaryType), C.int(int32(startOffset)), C.int(int32(endOffset)))) + } + return "" +} + +//export callbackQAccessibleTextInterface_TextBeforeOffset +func callbackQAccessibleTextInterface_TextBeforeOffset(ptr unsafe.Pointer, offset C.int, boundaryType C.longlong, startOffset C.int, endOffset C.int) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "textBeforeOffset"); signal != nil { + tempVal := (*(*func(int, QAccessible__TextBoundaryType, int, int) string)(signal))(int(int32(offset)), QAccessible__TextBoundaryType(boundaryType), int(int32(startOffset)), int(int32(endOffset))) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQAccessibleTextInterfaceFromPointer(ptr).TextBeforeOffsetDefault(int(int32(offset)), QAccessible__TextBoundaryType(boundaryType), int(int32(startOffset)), int(int32(endOffset))) + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QAccessibleTextInterface) ConnectTextBeforeOffset(f func(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "textBeforeOffset"); signal != nil { + f := func(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string { + (*(*func(int, QAccessible__TextBoundaryType, int, int) string)(signal))(offset, boundaryType, startOffset, endOffset) + return f(offset, boundaryType, startOffset, endOffset) + } + qt.ConnectSignal(ptr.Pointer(), "textBeforeOffset", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "textBeforeOffset", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectTextBeforeOffset() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "textBeforeOffset") + } +} + +func (ptr *QAccessibleTextInterface) TextBeforeOffset(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextInterface_TextBeforeOffset(ptr.Pointer(), C.int(int32(offset)), C.longlong(boundaryType), C.int(int32(startOffset)), C.int(int32(endOffset)))) + } + return "" +} + +func (ptr *QAccessibleTextInterface) TextBeforeOffsetDefault(offset int, boundaryType QAccessible__TextBoundaryType, startOffset int, endOffset int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextInterface_TextBeforeOffsetDefault(ptr.Pointer(), C.int(int32(offset)), C.longlong(boundaryType), C.int(int32(startOffset)), C.int(int32(endOffset)))) + } + return "" +} + +//export callbackQAccessibleTextInterface_DestroyQAccessibleTextInterface +func callbackQAccessibleTextInterface_DestroyQAccessibleTextInterface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessibleTextInterface"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessibleTextInterfaceFromPointer(ptr).DestroyQAccessibleTextInterfaceDefault() + } +} + +func (ptr *QAccessibleTextInterface) ConnectDestroyQAccessibleTextInterface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessibleTextInterface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleTextInterface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleTextInterface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleTextInterface) DisconnectDestroyQAccessibleTextInterface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessibleTextInterface") + } +} + +func (ptr *QAccessibleTextInterface) DestroyQAccessibleTextInterface() { + if ptr.Pointer() != nil { + C.QAccessibleTextInterface_DestroyQAccessibleTextInterface(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAccessibleTextInterface) DestroyQAccessibleTextInterfaceDefault() { + if ptr.Pointer() != nil { + C.QAccessibleTextInterface_DestroyQAccessibleTextInterfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QAccessibleTextRemoveEvent struct { + QAccessibleTextCursorEvent +} + +type QAccessibleTextRemoveEvent_ITF interface { + QAccessibleTextCursorEvent_ITF + QAccessibleTextRemoveEvent_PTR() *QAccessibleTextRemoveEvent +} + +func (ptr *QAccessibleTextRemoveEvent) QAccessibleTextRemoveEvent_PTR() *QAccessibleTextRemoveEvent { + return ptr +} + +func (ptr *QAccessibleTextRemoveEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextCursorEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessibleTextRemoveEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAccessibleTextCursorEvent_PTR().SetPointer(p) + } +} + +func PointerFromQAccessibleTextRemoveEvent(ptr QAccessibleTextRemoveEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextRemoveEvent_PTR().Pointer() + } + return nil +} + +func NewQAccessibleTextRemoveEventFromPointer(ptr unsafe.Pointer) (n *QAccessibleTextRemoveEvent) { + n = new(QAccessibleTextRemoveEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QAccessibleTextRemoveEvent) DestroyQAccessibleTextRemoveEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQAccessibleTextRemoveEvent(object core.QObject_ITF, position int, text string) *QAccessibleTextRemoveEvent { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return NewQAccessibleTextRemoveEventFromPointer(C.QAccessibleTextRemoveEvent_NewQAccessibleTextRemoveEvent(core.PointerFromQObject(object), C.int(int32(position)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) +} + +func NewQAccessibleTextRemoveEvent2(iface QAccessibleInterface_ITF, position int, text string) *QAccessibleTextRemoveEvent { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return NewQAccessibleTextRemoveEventFromPointer(C.QAccessibleTextRemoveEvent_NewQAccessibleTextRemoveEvent2(PointerFromQAccessibleInterface(iface), C.int(int32(position)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) +} + +func (ptr *QAccessibleTextRemoveEvent) ChangePosition() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextRemoveEvent_ChangePosition(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTextRemoveEvent) TextRemoved() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextRemoveEvent_TextRemoved(ptr.Pointer())) + } + return "" +} + +type QAccessibleTextSelectionEvent struct { + QAccessibleTextCursorEvent +} + +type QAccessibleTextSelectionEvent_ITF interface { + QAccessibleTextCursorEvent_ITF + QAccessibleTextSelectionEvent_PTR() *QAccessibleTextSelectionEvent +} + +func (ptr *QAccessibleTextSelectionEvent) QAccessibleTextSelectionEvent_PTR() *QAccessibleTextSelectionEvent { + return ptr +} + +func (ptr *QAccessibleTextSelectionEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextCursorEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessibleTextSelectionEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAccessibleTextCursorEvent_PTR().SetPointer(p) + } +} + +func PointerFromQAccessibleTextSelectionEvent(ptr QAccessibleTextSelectionEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextSelectionEvent_PTR().Pointer() + } + return nil +} + +func NewQAccessibleTextSelectionEventFromPointer(ptr unsafe.Pointer) (n *QAccessibleTextSelectionEvent) { + n = new(QAccessibleTextSelectionEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QAccessibleTextSelectionEvent) DestroyQAccessibleTextSelectionEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQAccessibleTextSelectionEvent(object core.QObject_ITF, start int, end int) *QAccessibleTextSelectionEvent { + return NewQAccessibleTextSelectionEventFromPointer(C.QAccessibleTextSelectionEvent_NewQAccessibleTextSelectionEvent(core.PointerFromQObject(object), C.int(int32(start)), C.int(int32(end)))) +} + +func NewQAccessibleTextSelectionEvent2(iface QAccessibleInterface_ITF, start int, end int) *QAccessibleTextSelectionEvent { + return NewQAccessibleTextSelectionEventFromPointer(C.QAccessibleTextSelectionEvent_NewQAccessibleTextSelectionEvent2(PointerFromQAccessibleInterface(iface), C.int(int32(start)), C.int(int32(end)))) +} + +func (ptr *QAccessibleTextSelectionEvent) SelectionEnd() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextSelectionEvent_SelectionEnd(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTextSelectionEvent) SelectionStart() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextSelectionEvent_SelectionStart(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTextSelectionEvent) SetSelection(start int, end int) { + if ptr.Pointer() != nil { + C.QAccessibleTextSelectionEvent_SetSelection(ptr.Pointer(), C.int(int32(start)), C.int(int32(end))) + } +} + +type QAccessibleTextUpdateEvent struct { + QAccessibleTextCursorEvent +} + +type QAccessibleTextUpdateEvent_ITF interface { + QAccessibleTextCursorEvent_ITF + QAccessibleTextUpdateEvent_PTR() *QAccessibleTextUpdateEvent +} + +func (ptr *QAccessibleTextUpdateEvent) QAccessibleTextUpdateEvent_PTR() *QAccessibleTextUpdateEvent { + return ptr +} + +func (ptr *QAccessibleTextUpdateEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextCursorEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessibleTextUpdateEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAccessibleTextCursorEvent_PTR().SetPointer(p) + } +} + +func PointerFromQAccessibleTextUpdateEvent(ptr QAccessibleTextUpdateEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleTextUpdateEvent_PTR().Pointer() + } + return nil +} + +func NewQAccessibleTextUpdateEventFromPointer(ptr unsafe.Pointer) (n *QAccessibleTextUpdateEvent) { + n = new(QAccessibleTextUpdateEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QAccessibleTextUpdateEvent) DestroyQAccessibleTextUpdateEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQAccessibleTextUpdateEvent(object core.QObject_ITF, position int, oldText string, text string) *QAccessibleTextUpdateEvent { + var oldTextC *C.char + if oldText != "" { + oldTextC = C.CString(oldText) + defer C.free(unsafe.Pointer(oldTextC)) + } + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return NewQAccessibleTextUpdateEventFromPointer(C.QAccessibleTextUpdateEvent_NewQAccessibleTextUpdateEvent(core.PointerFromQObject(object), C.int(int32(position)), C.struct_QtGui_PackedString{data: oldTextC, len: C.longlong(len(oldText))}, C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) +} + +func NewQAccessibleTextUpdateEvent2(iface QAccessibleInterface_ITF, position int, oldText string, text string) *QAccessibleTextUpdateEvent { + var oldTextC *C.char + if oldText != "" { + oldTextC = C.CString(oldText) + defer C.free(unsafe.Pointer(oldTextC)) + } + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return NewQAccessibleTextUpdateEventFromPointer(C.QAccessibleTextUpdateEvent_NewQAccessibleTextUpdateEvent2(PointerFromQAccessibleInterface(iface), C.int(int32(position)), C.struct_QtGui_PackedString{data: oldTextC, len: C.longlong(len(oldText))}, C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) +} + +func (ptr *QAccessibleTextUpdateEvent) ChangePosition() int { + if ptr.Pointer() != nil { + return int(int32(C.QAccessibleTextUpdateEvent_ChangePosition(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QAccessibleTextUpdateEvent) TextInserted() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextUpdateEvent_TextInserted(ptr.Pointer())) + } + return "" +} + +func (ptr *QAccessibleTextUpdateEvent) TextRemoved() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAccessibleTextUpdateEvent_TextRemoved(ptr.Pointer())) + } + return "" +} + +type QAccessibleValueChangeEvent struct { + QAccessibleEvent +} + +type QAccessibleValueChangeEvent_ITF interface { + QAccessibleEvent_ITF + QAccessibleValueChangeEvent_PTR() *QAccessibleValueChangeEvent +} + +func (ptr *QAccessibleValueChangeEvent) QAccessibleValueChangeEvent_PTR() *QAccessibleValueChangeEvent { + return ptr +} + +func (ptr *QAccessibleValueChangeEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QAccessibleValueChangeEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAccessibleEvent_PTR().SetPointer(p) + } +} + +func PointerFromQAccessibleValueChangeEvent(ptr QAccessibleValueChangeEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleValueChangeEvent_PTR().Pointer() + } + return nil +} + +func NewQAccessibleValueChangeEventFromPointer(ptr unsafe.Pointer) (n *QAccessibleValueChangeEvent) { + n = new(QAccessibleValueChangeEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QAccessibleValueChangeEvent) DestroyQAccessibleValueChangeEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQAccessibleValueChangeEvent(object core.QObject_ITF, value core.QVariant_ITF) *QAccessibleValueChangeEvent { + return NewQAccessibleValueChangeEventFromPointer(C.QAccessibleValueChangeEvent_NewQAccessibleValueChangeEvent(core.PointerFromQObject(object), core.PointerFromQVariant(value))) +} + +func NewQAccessibleValueChangeEvent2(iface QAccessibleInterface_ITF, val core.QVariant_ITF) *QAccessibleValueChangeEvent { + return NewQAccessibleValueChangeEventFromPointer(C.QAccessibleValueChangeEvent_NewQAccessibleValueChangeEvent2(PointerFromQAccessibleInterface(iface), core.PointerFromQVariant(val))) +} + +func (ptr *QAccessibleValueChangeEvent) SetValue(value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QAccessibleValueChangeEvent_SetValue(ptr.Pointer(), core.PointerFromQVariant(value)) + } +} + +func (ptr *QAccessibleValueChangeEvent) Value() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QAccessibleValueChangeEvent_Value(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +type QAccessibleValueInterface struct { + ptr unsafe.Pointer +} + +type QAccessibleValueInterface_ITF interface { + QAccessibleValueInterface_PTR() *QAccessibleValueInterface +} + +func (ptr *QAccessibleValueInterface) QAccessibleValueInterface_PTR() *QAccessibleValueInterface { + return ptr +} + +func (ptr *QAccessibleValueInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAccessibleValueInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAccessibleValueInterface(ptr QAccessibleValueInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAccessibleValueInterface_PTR().Pointer() + } + return nil +} + +func NewQAccessibleValueInterfaceFromPointer(ptr unsafe.Pointer) (n *QAccessibleValueInterface) { + n = new(QAccessibleValueInterface) + n.SetPointer(ptr) + return +} + +//export callbackQAccessibleValueInterface_CurrentValue +func callbackQAccessibleValueInterface_CurrentValue(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "currentValue"); signal != nil { + return core.PointerFromQVariant((*(*func() *core.QVariant)(signal))()) + } + + return core.PointerFromQVariant(core.NewQVariant()) +} + +func (ptr *QAccessibleValueInterface) ConnectCurrentValue(f func() *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "currentValue"); signal != nil { + f := func() *core.QVariant { + (*(*func() *core.QVariant)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "currentValue", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "currentValue", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleValueInterface) DisconnectCurrentValue() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "currentValue") + } +} + +func (ptr *QAccessibleValueInterface) CurrentValue() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QAccessibleValueInterface_CurrentValue(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQAccessibleValueInterface_MaximumValue +func callbackQAccessibleValueInterface_MaximumValue(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "maximumValue"); signal != nil { + return core.PointerFromQVariant((*(*func() *core.QVariant)(signal))()) + } + + return core.PointerFromQVariant(core.NewQVariant()) +} + +func (ptr *QAccessibleValueInterface) ConnectMaximumValue(f func() *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "maximumValue"); signal != nil { + f := func() *core.QVariant { + (*(*func() *core.QVariant)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "maximumValue", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "maximumValue", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleValueInterface) DisconnectMaximumValue() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "maximumValue") + } +} + +func (ptr *QAccessibleValueInterface) MaximumValue() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QAccessibleValueInterface_MaximumValue(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQAccessibleValueInterface_MinimumStepSize +func callbackQAccessibleValueInterface_MinimumStepSize(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "minimumStepSize"); signal != nil { + return core.PointerFromQVariant((*(*func() *core.QVariant)(signal))()) + } + + return core.PointerFromQVariant(core.NewQVariant()) +} + +func (ptr *QAccessibleValueInterface) ConnectMinimumStepSize(f func() *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "minimumStepSize"); signal != nil { + f := func() *core.QVariant { + (*(*func() *core.QVariant)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "minimumStepSize", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "minimumStepSize", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleValueInterface) DisconnectMinimumStepSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "minimumStepSize") + } +} + +func (ptr *QAccessibleValueInterface) MinimumStepSize() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QAccessibleValueInterface_MinimumStepSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQAccessibleValueInterface_MinimumValue +func callbackQAccessibleValueInterface_MinimumValue(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "minimumValue"); signal != nil { + return core.PointerFromQVariant((*(*func() *core.QVariant)(signal))()) + } + + return core.PointerFromQVariant(core.NewQVariant()) +} + +func (ptr *QAccessibleValueInterface) ConnectMinimumValue(f func() *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "minimumValue"); signal != nil { + f := func() *core.QVariant { + (*(*func() *core.QVariant)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "minimumValue", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "minimumValue", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleValueInterface) DisconnectMinimumValue() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "minimumValue") + } +} + +func (ptr *QAccessibleValueInterface) MinimumValue() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QAccessibleValueInterface_MinimumValue(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQAccessibleValueInterface_SetCurrentValue +func callbackQAccessibleValueInterface_SetCurrentValue(ptr unsafe.Pointer, value unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setCurrentValue"); signal != nil { + (*(*func(*core.QVariant))(signal))(core.NewQVariantFromPointer(value)) + } + +} + +func (ptr *QAccessibleValueInterface) ConnectSetCurrentValue(f func(value *core.QVariant)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setCurrentValue"); signal != nil { + f := func(value *core.QVariant) { + (*(*func(*core.QVariant))(signal))(value) + f(value) + } + qt.ConnectSignal(ptr.Pointer(), "setCurrentValue", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setCurrentValue", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleValueInterface) DisconnectSetCurrentValue() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setCurrentValue") + } +} + +func (ptr *QAccessibleValueInterface) SetCurrentValue(value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QAccessibleValueInterface_SetCurrentValue(ptr.Pointer(), core.PointerFromQVariant(value)) + } +} + +//export callbackQAccessibleValueInterface_DestroyQAccessibleValueInterface +func callbackQAccessibleValueInterface_DestroyQAccessibleValueInterface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAccessibleValueInterface"); signal != nil { + (*(*func())(signal))() + } else { + NewQAccessibleValueInterfaceFromPointer(ptr).DestroyQAccessibleValueInterfaceDefault() + } +} + +func (ptr *QAccessibleValueInterface) ConnectDestroyQAccessibleValueInterface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAccessibleValueInterface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleValueInterface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAccessibleValueInterface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAccessibleValueInterface) DisconnectDestroyQAccessibleValueInterface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAccessibleValueInterface") + } +} + +func (ptr *QAccessibleValueInterface) DestroyQAccessibleValueInterface() { + if ptr.Pointer() != nil { + C.QAccessibleValueInterface_DestroyQAccessibleValueInterface(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAccessibleValueInterface) DestroyQAccessibleValueInterfaceDefault() { + if ptr.Pointer() != nil { + C.QAccessibleValueInterface_DestroyQAccessibleValueInterfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QActionEvent struct { + core.QEvent +} + +type QActionEvent_ITF interface { + core.QEvent_ITF + QActionEvent_PTR() *QActionEvent +} + +func (ptr *QActionEvent) QActionEvent_PTR() *QActionEvent { + return ptr +} + +func (ptr *QActionEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QActionEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQActionEvent(ptr QActionEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QActionEvent_PTR().Pointer() + } + return nil +} + +func NewQActionEventFromPointer(ptr unsafe.Pointer) (n *QActionEvent) { + n = new(QActionEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QActionEvent) DestroyQActionEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQActionEvent(ty int, action unsafe.Pointer, before unsafe.Pointer) *QActionEvent { + tmpValue := NewQActionEventFromPointer(C.QActionEvent_NewQActionEvent(C.int(int32(ty)), action, before)) + runtime.SetFinalizer(tmpValue, (*QActionEvent).DestroyQActionEvent) + return tmpValue +} + +func (ptr *QActionEvent) Action() unsafe.Pointer { + if ptr.Pointer() != nil { + return unsafe.Pointer(C.QActionEvent_Action(ptr.Pointer())) + } + return nil +} + +func (ptr *QActionEvent) Before() unsafe.Pointer { + if ptr.Pointer() != nil { + return unsafe.Pointer(C.QActionEvent_Before(ptr.Pointer())) + } + return nil +} + +type QApplicationStateChangeEvent struct { + core.QEvent +} + +type QApplicationStateChangeEvent_ITF interface { + core.QEvent_ITF + QApplicationStateChangeEvent_PTR() *QApplicationStateChangeEvent +} + +func (ptr *QApplicationStateChangeEvent) QApplicationStateChangeEvent_PTR() *QApplicationStateChangeEvent { + return ptr +} + +func (ptr *QApplicationStateChangeEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QApplicationStateChangeEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQApplicationStateChangeEvent(ptr QApplicationStateChangeEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QApplicationStateChangeEvent_PTR().Pointer() + } + return nil +} + +func NewQApplicationStateChangeEventFromPointer(ptr unsafe.Pointer) (n *QApplicationStateChangeEvent) { + n = new(QApplicationStateChangeEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QApplicationStateChangeEvent) DestroyQApplicationStateChangeEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQApplicationStateChangeEvent(applicationState core.Qt__ApplicationState) *QApplicationStateChangeEvent { + tmpValue := NewQApplicationStateChangeEventFromPointer(C.QApplicationStateChangeEvent_NewQApplicationStateChangeEvent(C.longlong(applicationState))) + runtime.SetFinalizer(tmpValue, (*QApplicationStateChangeEvent).DestroyQApplicationStateChangeEvent) + return tmpValue +} + +func (ptr *QApplicationStateChangeEvent) ApplicationState() core.Qt__ApplicationState { + if ptr.Pointer() != nil { + return core.Qt__ApplicationState(C.QApplicationStateChangeEvent_ApplicationState(ptr.Pointer())) + } + return 0 +} + +type QBackingStore struct { + ptr unsafe.Pointer +} + +type QBackingStore_ITF interface { + QBackingStore_PTR() *QBackingStore +} + +func (ptr *QBackingStore) QBackingStore_PTR() *QBackingStore { + return ptr +} + +func (ptr *QBackingStore) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QBackingStore) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQBackingStore(ptr QBackingStore_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBackingStore_PTR().Pointer() + } + return nil +} + +func NewQBackingStoreFromPointer(ptr unsafe.Pointer) (n *QBackingStore) { + n = new(QBackingStore) + n.SetPointer(ptr) + return +} +func NewQBackingStore(window QWindow_ITF) *QBackingStore { + tmpValue := NewQBackingStoreFromPointer(C.QBackingStore_NewQBackingStore(PointerFromQWindow(window))) + runtime.SetFinalizer(tmpValue, (*QBackingStore).DestroyQBackingStore) + return tmpValue +} + +func (ptr *QBackingStore) BeginPaint(region QRegion_ITF) { + if ptr.Pointer() != nil { + C.QBackingStore_BeginPaint(ptr.Pointer(), PointerFromQRegion(region)) + } +} + +func (ptr *QBackingStore) EndPaint() { + if ptr.Pointer() != nil { + C.QBackingStore_EndPaint(ptr.Pointer()) + } +} + +func (ptr *QBackingStore) Flush(region QRegion_ITF, window QWindow_ITF, offset core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QBackingStore_Flush(ptr.Pointer(), PointerFromQRegion(region), PointerFromQWindow(window), core.PointerFromQPoint(offset)) + } +} + +func (ptr *QBackingStore) HasStaticContents() bool { + if ptr.Pointer() != nil { + return int8(C.QBackingStore_HasStaticContents(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QBackingStore) PaintDevice() *QPaintDevice { + if ptr.Pointer() != nil { + return NewQPaintDeviceFromPointer(C.QBackingStore_PaintDevice(ptr.Pointer())) + } + return nil +} + +func (ptr *QBackingStore) Resize(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QBackingStore_Resize(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +func (ptr *QBackingStore) Scroll(area QRegion_ITF, dx int, dy int) bool { + if ptr.Pointer() != nil { + return int8(C.QBackingStore_Scroll(ptr.Pointer(), PointerFromQRegion(area), C.int(int32(dx)), C.int(int32(dy)))) != 0 + } + return false +} + +func (ptr *QBackingStore) SetStaticContents(region QRegion_ITF) { + if ptr.Pointer() != nil { + C.QBackingStore_SetStaticContents(ptr.Pointer(), PointerFromQRegion(region)) + } +} + +func (ptr *QBackingStore) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QBackingStore_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QBackingStore) StaticContents() *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QBackingStore_StaticContents(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QBackingStore) Window() *QWindow { + if ptr.Pointer() != nil { + tmpValue := NewQWindowFromPointer(C.QBackingStore_Window(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QBackingStore) DestroyQBackingStore() { + if ptr.Pointer() != nil { + C.QBackingStore_DestroyQBackingStore(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QBitmap struct { + QPixmap +} + +type QBitmap_ITF interface { + QPixmap_ITF + QBitmap_PTR() *QBitmap +} + +func (ptr *QBitmap) QBitmap_PTR() *QBitmap { + return ptr +} + +func (ptr *QBitmap) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPixmap_PTR().Pointer() + } + return nil +} + +func (ptr *QBitmap) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPixmap_PTR().SetPointer(p) + } +} + +func PointerFromQBitmap(ptr QBitmap_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBitmap_PTR().Pointer() + } + return nil +} + +func NewQBitmapFromPointer(ptr unsafe.Pointer) (n *QBitmap) { + n = new(QBitmap) + n.SetPointer(ptr) + return +} +func NewQBitmap() *QBitmap { + return NewQBitmapFromPointer(C.QBitmap_NewQBitmap()) +} + +func NewQBitmap2(pixmap QPixmap_ITF) *QBitmap { + return NewQBitmapFromPointer(C.QBitmap_NewQBitmap2(PointerFromQPixmap(pixmap))) +} + +func NewQBitmap3(width int, height int) *QBitmap { + return NewQBitmapFromPointer(C.QBitmap_NewQBitmap3(C.int(int32(width)), C.int(int32(height)))) +} + +func NewQBitmap4(size core.QSize_ITF) *QBitmap { + return NewQBitmapFromPointer(C.QBitmap_NewQBitmap4(core.PointerFromQSize(size))) +} + +func NewQBitmap5(fileName string, format string) *QBitmap { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return NewQBitmapFromPointer(C.QBitmap_NewQBitmap5(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC)) +} + +func (ptr *QBitmap) Clear() { + if ptr.Pointer() != nil { + C.QBitmap_Clear(ptr.Pointer()) + } +} + +func QBitmap_FromData(size core.QSize_ITF, bits string, monoFormat QImage__Format) *QBitmap { + var bitsC *C.char + if bits != "" { + bitsC = C.CString(bits) + defer C.free(unsafe.Pointer(bitsC)) + } + tmpValue := NewQBitmapFromPointer(C.QBitmap_QBitmap_FromData(core.PointerFromQSize(size), bitsC, C.longlong(monoFormat))) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue +} + +func (ptr *QBitmap) FromData(size core.QSize_ITF, bits string, monoFormat QImage__Format) *QBitmap { + var bitsC *C.char + if bits != "" { + bitsC = C.CString(bits) + defer C.free(unsafe.Pointer(bitsC)) + } + tmpValue := NewQBitmapFromPointer(C.QBitmap_QBitmap_FromData(core.PointerFromQSize(size), bitsC, C.longlong(monoFormat))) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue +} + +func QBitmap_FromImage(image QImage_ITF, flags core.Qt__ImageConversionFlag) *QBitmap { + tmpValue := NewQBitmapFromPointer(C.QBitmap_QBitmap_FromImage(PointerFromQImage(image), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue +} + +func (ptr *QBitmap) FromImage(image QImage_ITF, flags core.Qt__ImageConversionFlag) *QBitmap { + tmpValue := NewQBitmapFromPointer(C.QBitmap_QBitmap_FromImage(PointerFromQImage(image), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue +} + +func QBitmap_FromImage2(image QImage_ITF, flags core.Qt__ImageConversionFlag) *QBitmap { + tmpValue := NewQBitmapFromPointer(C.QBitmap_QBitmap_FromImage2(PointerFromQImage(image), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue +} + +func (ptr *QBitmap) FromImage2(image QImage_ITF, flags core.Qt__ImageConversionFlag) *QBitmap { + tmpValue := NewQBitmapFromPointer(C.QBitmap_QBitmap_FromImage2(PointerFromQImage(image), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue +} + +func (ptr *QBitmap) Swap(other QBitmap_ITF) { + if ptr.Pointer() != nil { + C.QBitmap_Swap(ptr.Pointer(), PointerFromQBitmap(other)) + } +} + +func (ptr *QBitmap) Transformed(matrix QTransform_ITF) *QBitmap { + if ptr.Pointer() != nil { + tmpValue := NewQBitmapFromPointer(C.QBitmap_Transformed(ptr.Pointer(), PointerFromQTransform(matrix))) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue + } + return nil +} + +//export callbackQBitmap_DestroyQBitmap +func callbackQBitmap_DestroyQBitmap(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QBitmap"); signal != nil { + (*(*func())(signal))() + } else { + NewQBitmapFromPointer(ptr).DestroyQBitmapDefault() + } +} + +func (ptr *QBitmap) ConnectDestroyQBitmap(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QBitmap"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QBitmap", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QBitmap", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QBitmap) DisconnectDestroyQBitmap() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QBitmap") + } +} + +func (ptr *QBitmap) DestroyQBitmap() { + if ptr.Pointer() != nil { + C.QBitmap_DestroyQBitmap(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QBitmap) DestroyQBitmapDefault() { + if ptr.Pointer() != nil { + C.QBitmap_DestroyQBitmapDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QBrush struct { + ptr unsafe.Pointer +} + +type QBrush_ITF interface { + QBrush_PTR() *QBrush +} + +func (ptr *QBrush) QBrush_PTR() *QBrush { + return ptr +} + +func (ptr *QBrush) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QBrush) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQBrush(ptr QBrush_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QBrush_PTR().Pointer() + } + return nil +} + +func NewQBrushFromPointer(ptr unsafe.Pointer) (n *QBrush) { + n = new(QBrush) + n.SetPointer(ptr) + return +} +func NewQBrush() *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush()) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func NewQBrush2(style core.Qt__BrushStyle) *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush2(C.longlong(style))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func NewQBrush3(color QColor_ITF, style core.Qt__BrushStyle) *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush3(PointerFromQColor(color), C.longlong(style))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func NewQBrush4(color core.Qt__GlobalColor, style core.Qt__BrushStyle) *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush4(C.longlong(color), C.longlong(style))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func NewQBrush5(color QColor_ITF, pixmap QPixmap_ITF) *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush5(PointerFromQColor(color), PointerFromQPixmap(pixmap))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func NewQBrush6(color core.Qt__GlobalColor, pixmap QPixmap_ITF) *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush6(C.longlong(color), PointerFromQPixmap(pixmap))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func NewQBrush7(pixmap QPixmap_ITF) *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush7(PointerFromQPixmap(pixmap))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func NewQBrush8(image QImage_ITF) *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush8(PointerFromQImage(image))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func NewQBrush9(other QBrush_ITF) *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush9(PointerFromQBrush(other))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func NewQBrush10(gradient QGradient_ITF) *QBrush { + tmpValue := NewQBrushFromPointer(C.QBrush_NewQBrush10(PointerFromQGradient(gradient))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue +} + +func (ptr *QBrush) Color() *QColor { + if ptr.Pointer() != nil { + return NewQColorFromPointer(C.QBrush_Color(ptr.Pointer())) + } + return nil +} + +func (ptr *QBrush) Gradient() *QGradient { + if ptr.Pointer() != nil { + return NewQGradientFromPointer(C.QBrush_Gradient(ptr.Pointer())) + } + return nil +} + +func (ptr *QBrush) IsOpaque() bool { + if ptr.Pointer() != nil { + return int8(C.QBrush_IsOpaque(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QBrush) Matrix() *QMatrix { + if ptr.Pointer() != nil { + return NewQMatrixFromPointer(C.QBrush_Matrix(ptr.Pointer())) + } + return nil +} + +func (ptr *QBrush) SetColor(color QColor_ITF) { + if ptr.Pointer() != nil { + C.QBrush_SetColor(ptr.Pointer(), PointerFromQColor(color)) + } +} + +func (ptr *QBrush) SetColor2(color core.Qt__GlobalColor) { + if ptr.Pointer() != nil { + C.QBrush_SetColor2(ptr.Pointer(), C.longlong(color)) + } +} + +func (ptr *QBrush) SetMatrix(matrix QMatrix_ITF) { + if ptr.Pointer() != nil { + C.QBrush_SetMatrix(ptr.Pointer(), PointerFromQMatrix(matrix)) + } +} + +func (ptr *QBrush) SetStyle(style core.Qt__BrushStyle) { + if ptr.Pointer() != nil { + C.QBrush_SetStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QBrush) SetTexture(pixmap QPixmap_ITF) { + if ptr.Pointer() != nil { + C.QBrush_SetTexture(ptr.Pointer(), PointerFromQPixmap(pixmap)) + } +} + +func (ptr *QBrush) SetTextureImage(image QImage_ITF) { + if ptr.Pointer() != nil { + C.QBrush_SetTextureImage(ptr.Pointer(), PointerFromQImage(image)) + } +} + +func (ptr *QBrush) SetTransform(matrix QTransform_ITF) { + if ptr.Pointer() != nil { + C.QBrush_SetTransform(ptr.Pointer(), PointerFromQTransform(matrix)) + } +} + +func (ptr *QBrush) Style() core.Qt__BrushStyle { + if ptr.Pointer() != nil { + return core.Qt__BrushStyle(C.QBrush_Style(ptr.Pointer())) + } + return 0 +} + +func (ptr *QBrush) Swap(other QBrush_ITF) { + if ptr.Pointer() != nil { + C.QBrush_Swap(ptr.Pointer(), PointerFromQBrush(other)) + } +} + +func (ptr *QBrush) Texture() *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QBrush_Texture(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QBrush) TextureImage() *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QBrush_TextureImage(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QBrush) Transform() *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QBrush_Transform(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QBrush) DestroyQBrush() { + if ptr.Pointer() != nil { + C.QBrush_DestroyQBrush(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QBrush) ToVariant() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QBrush_ToVariant(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +type QClipboard struct { + core.QObject +} + +type QClipboard_ITF interface { + core.QObject_ITF + QClipboard_PTR() *QClipboard +} + +func (ptr *QClipboard) QClipboard_PTR() *QClipboard { + return ptr +} + +func (ptr *QClipboard) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QClipboard) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQClipboard(ptr QClipboard_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QClipboard_PTR().Pointer() + } + return nil +} + +func NewQClipboardFromPointer(ptr unsafe.Pointer) (n *QClipboard) { + n = new(QClipboard) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QClipboard__Mode +//QClipboard::Mode +type QClipboard__Mode int64 + +const ( + QClipboard__Clipboard QClipboard__Mode = QClipboard__Mode(0) + QClipboard__Selection QClipboard__Mode = QClipboard__Mode(1) + QClipboard__FindBuffer QClipboard__Mode = QClipboard__Mode(2) + QClipboard__LastMode QClipboard__Mode = QClipboard__Mode(QClipboard__FindBuffer) +) + +//export callbackQClipboard_Changed +func callbackQClipboard_Changed(ptr unsafe.Pointer, mode C.longlong) { + if signal := qt.GetSignal(ptr, "changed"); signal != nil { + (*(*func(QClipboard__Mode))(signal))(QClipboard__Mode(mode)) + } + +} + +func (ptr *QClipboard) ConnectChanged(f func(mode QClipboard__Mode)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "changed") { + C.QClipboard_ConnectChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "changed"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "changed"); signal != nil { + f := func(mode QClipboard__Mode) { + (*(*func(QClipboard__Mode))(signal))(mode) + f(mode) + } + qt.ConnectSignal(ptr.Pointer(), "changed", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "changed", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QClipboard) DisconnectChanged() { + if ptr.Pointer() != nil { + C.QClipboard_DisconnectChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "changed") + } +} + +func (ptr *QClipboard) Changed(mode QClipboard__Mode) { + if ptr.Pointer() != nil { + C.QClipboard_Changed(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QClipboard) Clear(mode QClipboard__Mode) { + if ptr.Pointer() != nil { + C.QClipboard_Clear(ptr.Pointer(), C.longlong(mode)) + } +} + +//export callbackQClipboard_DataChanged +func callbackQClipboard_DataChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "dataChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QClipboard) ConnectDataChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "dataChanged") { + C.QClipboard_ConnectDataChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "dataChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "dataChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "dataChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "dataChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QClipboard) DisconnectDataChanged() { + if ptr.Pointer() != nil { + C.QClipboard_DisconnectDataChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "dataChanged") + } +} + +func (ptr *QClipboard) DataChanged() { + if ptr.Pointer() != nil { + C.QClipboard_DataChanged(ptr.Pointer()) + } +} + +//export callbackQClipboard_FindBufferChanged +func callbackQClipboard_FindBufferChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "findBufferChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QClipboard) ConnectFindBufferChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "findBufferChanged") { + C.QClipboard_ConnectFindBufferChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "findBufferChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "findBufferChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "findBufferChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "findBufferChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QClipboard) DisconnectFindBufferChanged() { + if ptr.Pointer() != nil { + C.QClipboard_DisconnectFindBufferChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "findBufferChanged") + } +} + +func (ptr *QClipboard) FindBufferChanged() { + if ptr.Pointer() != nil { + C.QClipboard_FindBufferChanged(ptr.Pointer()) + } +} + +func (ptr *QClipboard) Image(mode QClipboard__Mode) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QClipboard_Image(ptr.Pointer(), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QClipboard) MimeData(mode QClipboard__Mode) *core.QMimeData { + if ptr.Pointer() != nil { + tmpValue := core.NewQMimeDataFromPointer(C.QClipboard_MimeData(ptr.Pointer(), C.longlong(mode))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QClipboard) OwnsClipboard() bool { + if ptr.Pointer() != nil { + return int8(C.QClipboard_OwnsClipboard(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QClipboard) OwnsFindBuffer() bool { + if ptr.Pointer() != nil { + return int8(C.QClipboard_OwnsFindBuffer(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QClipboard) OwnsSelection() bool { + if ptr.Pointer() != nil { + return int8(C.QClipboard_OwnsSelection(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QClipboard) Pixmap(mode QClipboard__Mode) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QClipboard_Pixmap(ptr.Pointer(), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +//export callbackQClipboard_SelectionChanged +func callbackQClipboard_SelectionChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "selectionChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QClipboard) ConnectSelectionChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "selectionChanged") { + C.QClipboard_ConnectSelectionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "selectionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "selectionChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "selectionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "selectionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QClipboard) DisconnectSelectionChanged() { + if ptr.Pointer() != nil { + C.QClipboard_DisconnectSelectionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "selectionChanged") + } +} + +func (ptr *QClipboard) SelectionChanged() { + if ptr.Pointer() != nil { + C.QClipboard_SelectionChanged(ptr.Pointer()) + } +} + +func (ptr *QClipboard) SetImage(image QImage_ITF, mode QClipboard__Mode) { + if ptr.Pointer() != nil { + C.QClipboard_SetImage(ptr.Pointer(), PointerFromQImage(image), C.longlong(mode)) + } +} + +func (ptr *QClipboard) SetMimeData(src core.QMimeData_ITF, mode QClipboard__Mode) { + if ptr.Pointer() != nil { + C.QClipboard_SetMimeData(ptr.Pointer(), core.PointerFromQMimeData(src), C.longlong(mode)) + } +} + +func (ptr *QClipboard) SetPixmap(pixmap QPixmap_ITF, mode QClipboard__Mode) { + if ptr.Pointer() != nil { + C.QClipboard_SetPixmap(ptr.Pointer(), PointerFromQPixmap(pixmap), C.longlong(mode)) + } +} + +func (ptr *QClipboard) SetText(text string, mode QClipboard__Mode) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QClipboard_SetText(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.longlong(mode)) + } +} + +func (ptr *QClipboard) SupportsFindBuffer() bool { + if ptr.Pointer() != nil { + return int8(C.QClipboard_SupportsFindBuffer(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QClipboard) SupportsSelection() bool { + if ptr.Pointer() != nil { + return int8(C.QClipboard_SupportsSelection(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QClipboard) Text(mode QClipboard__Mode) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QClipboard_Text(ptr.Pointer(), C.longlong(mode))) + } + return "" +} + +func (ptr *QClipboard) Text2(subtype string, mode QClipboard__Mode) string { + if ptr.Pointer() != nil { + var subtypeC *C.char + if subtype != "" { + subtypeC = C.CString(subtype) + defer C.free(unsafe.Pointer(subtypeC)) + } + return cGoUnpackString(C.QClipboard_Text2(ptr.Pointer(), C.struct_QtGui_PackedString{data: subtypeC, len: C.longlong(len(subtype))}, C.longlong(mode))) + } + return "" +} + +func (ptr *QClipboard) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QClipboard___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QClipboard) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QClipboard___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QClipboard) __children_newList() unsafe.Pointer { + return C.QClipboard___children_newList(ptr.Pointer()) +} + +func (ptr *QClipboard) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QClipboard___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QClipboard) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QClipboard___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QClipboard) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QClipboard___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QClipboard) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QClipboard___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QClipboard) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QClipboard___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QClipboard) __findChildren_newList() unsafe.Pointer { + return C.QClipboard___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QClipboard) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QClipboard___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QClipboard) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QClipboard___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QClipboard) __findChildren_newList3() unsafe.Pointer { + return C.QClipboard___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QClipboard) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QClipboard___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QClipboard) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QClipboard___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QClipboard) __qFindChildren_newList2() unsafe.Pointer { + return C.QClipboard___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQClipboard_ChildEvent +func callbackQClipboard_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQClipboardFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QClipboard) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QClipboard_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQClipboard_ConnectNotify +func callbackQClipboard_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQClipboardFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QClipboard) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QClipboard_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQClipboard_CustomEvent +func callbackQClipboard_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQClipboardFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QClipboard) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QClipboard_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQClipboard_DeleteLater +func callbackQClipboard_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQClipboardFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QClipboard) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QClipboard_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQClipboard_Destroyed +func callbackQClipboard_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQClipboard_DisconnectNotify +func callbackQClipboard_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQClipboardFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QClipboard) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QClipboard_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQClipboard_Event +func callbackQClipboard_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQClipboardFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QClipboard) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QClipboard_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQClipboard_EventFilter +func callbackQClipboard_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQClipboardFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QClipboard) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QClipboard_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQClipboard_MetaObject +func callbackQClipboard_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQClipboardFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QClipboard) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QClipboard_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQClipboard_ObjectNameChanged +func callbackQClipboard_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQClipboard_TimerEvent +func callbackQClipboard_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQClipboardFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QClipboard) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QClipboard_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QCloseEvent struct { + core.QEvent +} + +type QCloseEvent_ITF interface { + core.QEvent_ITF + QCloseEvent_PTR() *QCloseEvent +} + +func (ptr *QCloseEvent) QCloseEvent_PTR() *QCloseEvent { + return ptr +} + +func (ptr *QCloseEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QCloseEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQCloseEvent(ptr QCloseEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCloseEvent_PTR().Pointer() + } + return nil +} + +func NewQCloseEventFromPointer(ptr unsafe.Pointer) (n *QCloseEvent) { + n = new(QCloseEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QCloseEvent) DestroyQCloseEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQCloseEvent() *QCloseEvent { + tmpValue := NewQCloseEventFromPointer(C.QCloseEvent_NewQCloseEvent()) + runtime.SetFinalizer(tmpValue, (*QCloseEvent).DestroyQCloseEvent) + return tmpValue +} + +type QColor struct { + ptr unsafe.Pointer +} + +type QColor_ITF interface { + QColor_PTR() *QColor +} + +func (ptr *QColor) QColor_PTR() *QColor { + return ptr +} + +func (ptr *QColor) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QColor) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQColor(ptr QColor_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QColor_PTR().Pointer() + } + return nil +} + +func NewQColorFromPointer(ptr unsafe.Pointer) (n *QColor) { + n = new(QColor) + n.SetPointer(ptr) + return +} + +func (ptr *QColor) DestroyQColor() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QColor__Spec +//QColor::Spec +type QColor__Spec int64 + +const ( + QColor__Invalid QColor__Spec = QColor__Spec(0) + QColor__Rgb QColor__Spec = QColor__Spec(1) + QColor__Hsv QColor__Spec = QColor__Spec(2) + QColor__Cmyk QColor__Spec = QColor__Spec(3) + QColor__Hsl QColor__Spec = QColor__Spec(4) +) + +//go:generate stringer -type=QColor__NameFormat +//QColor::NameFormat +type QColor__NameFormat int64 + +const ( + QColor__HexRgb QColor__NameFormat = QColor__NameFormat(0) + QColor__HexArgb QColor__NameFormat = QColor__NameFormat(1) +) + +func NewQColor() *QColor { + tmpValue := NewQColorFromPointer(C.QColor_NewQColor()) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func NewQColor2(color core.Qt__GlobalColor) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_NewQColor2(C.longlong(color))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func NewQColor3(r int, g int, b int, a int) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_NewQColor3(C.int(int32(r)), C.int(int32(g)), C.int(int32(b)), C.int(int32(a)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func NewQColor4(color uint) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_NewQColor4(C.uint(uint32(color)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func NewQColor5(rgba64 QRgba64_ITF) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_NewQColor5(PointerFromQRgba64(rgba64))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func NewQColor6(name string) *QColor { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQColorFromPointer(C.QColor_NewQColor6(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func NewQColor8(name string) *QColor { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQColorFromPointer(C.QColor_NewQColor8(nameC)) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func NewQColor9(name core.QLatin1String_ITF) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_NewQColor9(core.PointerFromQLatin1String(name))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) Alpha() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Alpha(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) AlphaF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_AlphaF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) Black() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Black(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) BlackF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_BlackF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) Blue() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Blue(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) BlueF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_BlueF(ptr.Pointer())) + } + return 0 +} + +func QColor_ColorNames() []string { + return unpackStringList(cGoUnpackString(C.QColor_QColor_ColorNames())) +} + +func (ptr *QColor) ColorNames() []string { + return unpackStringList(cGoUnpackString(C.QColor_QColor_ColorNames())) +} + +func (ptr *QColor) ConvertTo(colorSpec QColor__Spec) *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QColor_ConvertTo(ptr.Pointer(), C.longlong(colorSpec))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QColor) Cyan() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Cyan(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) CyanF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_CyanF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) Darker(factor int) *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QColor_Darker(ptr.Pointer(), C.int(int32(factor)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func QColor_FromCmyk(c int, m int, y int, k int, a int) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromCmyk(C.int(int32(c)), C.int(int32(m)), C.int(int32(y)), C.int(int32(k)), C.int(int32(a)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromCmyk(c int, m int, y int, k int, a int) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromCmyk(C.int(int32(c)), C.int(int32(m)), C.int(int32(y)), C.int(int32(k)), C.int(int32(a)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromCmykF(c float64, m float64, y float64, k float64, a float64) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromCmykF(C.double(c), C.double(m), C.double(y), C.double(k), C.double(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromCmykF(c float64, m float64, y float64, k float64, a float64) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromCmykF(C.double(c), C.double(m), C.double(y), C.double(k), C.double(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromHsl(h int, s int, l int, a int) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromHsl(C.int(int32(h)), C.int(int32(s)), C.int(int32(l)), C.int(int32(a)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromHsl(h int, s int, l int, a int) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromHsl(C.int(int32(h)), C.int(int32(s)), C.int(int32(l)), C.int(int32(a)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromHslF(h float64, s float64, l float64, a float64) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromHslF(C.double(h), C.double(s), C.double(l), C.double(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromHslF(h float64, s float64, l float64, a float64) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromHslF(C.double(h), C.double(s), C.double(l), C.double(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromHsv(h int, s int, v int, a int) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromHsv(C.int(int32(h)), C.int(int32(s)), C.int(int32(v)), C.int(int32(a)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromHsv(h int, s int, v int, a int) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromHsv(C.int(int32(h)), C.int(int32(s)), C.int(int32(v)), C.int(int32(a)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromHsvF(h float64, s float64, v float64, a float64) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromHsvF(C.double(h), C.double(s), C.double(v), C.double(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromHsvF(h float64, s float64, v float64, a float64) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromHsvF(C.double(h), C.double(s), C.double(v), C.double(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromRgb(rgb uint) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgb(C.uint(uint32(rgb)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromRgb(rgb uint) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgb(C.uint(uint32(rgb)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromRgb2(r int, g int, b int, a int) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgb2(C.int(int32(r)), C.int(int32(g)), C.int(int32(b)), C.int(int32(a)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromRgb2(r int, g int, b int, a int) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgb2(C.int(int32(r)), C.int(int32(g)), C.int(int32(b)), C.int(int32(a)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromRgbF(r float64, g float64, b float64, a float64) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgbF(C.double(r), C.double(g), C.double(b), C.double(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromRgbF(r float64, g float64, b float64, a float64) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgbF(C.double(r), C.double(g), C.double(b), C.double(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromRgba(rgba uint) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgba(C.uint(uint32(rgba)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromRgba(rgba uint) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgba(C.uint(uint32(rgba)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromRgba64(r uint16, g uint16, b uint16, a uint16) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgba64(C.ushort(r), C.ushort(g), C.ushort(b), C.ushort(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromRgba64(r uint16, g uint16, b uint16, a uint16) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgba64(C.ushort(r), C.ushort(g), C.ushort(b), C.ushort(a))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func QColor_FromRgba642(rgba64 QRgba64_ITF) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgba642(PointerFromQRgba64(rgba64))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) FromRgba642(rgba64 QRgba64_ITF) *QColor { + tmpValue := NewQColorFromPointer(C.QColor_QColor_FromRgba642(PointerFromQRgba64(rgba64))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue +} + +func (ptr *QColor) GetCmyk2(c int, m int, y int, k int, a int) { + if ptr.Pointer() != nil { + C.QColor_GetCmyk2(ptr.Pointer(), C.int(int32(c)), C.int(int32(m)), C.int(int32(y)), C.int(int32(k)), C.int(int32(a))) + } +} + +func (ptr *QColor) GetCmykF2(c float64, m float64, y float64, k float64, a float64) { + if ptr.Pointer() != nil { + C.QColor_GetCmykF2(ptr.Pointer(), C.double(c), C.double(m), C.double(y), C.double(k), C.double(a)) + } +} + +func (ptr *QColor) GetHsl(h int, s int, l int, a int) { + if ptr.Pointer() != nil { + C.QColor_GetHsl(ptr.Pointer(), C.int(int32(h)), C.int(int32(s)), C.int(int32(l)), C.int(int32(a))) + } +} + +func (ptr *QColor) GetHslF(h float64, s float64, l float64, a float64) { + if ptr.Pointer() != nil { + C.QColor_GetHslF(ptr.Pointer(), C.double(h), C.double(s), C.double(l), C.double(a)) + } +} + +func (ptr *QColor) GetHsv(h int, s int, v int, a int) { + if ptr.Pointer() != nil { + C.QColor_GetHsv(ptr.Pointer(), C.int(int32(h)), C.int(int32(s)), C.int(int32(v)), C.int(int32(a))) + } +} + +func (ptr *QColor) GetHsvF(h float64, s float64, v float64, a float64) { + if ptr.Pointer() != nil { + C.QColor_GetHsvF(ptr.Pointer(), C.double(h), C.double(s), C.double(v), C.double(a)) + } +} + +func (ptr *QColor) GetRgb(r int, g int, b int, a int) { + if ptr.Pointer() != nil { + C.QColor_GetRgb(ptr.Pointer(), C.int(int32(r)), C.int(int32(g)), C.int(int32(b)), C.int(int32(a))) + } +} + +func (ptr *QColor) GetRgbF(r float64, g float64, b float64, a float64) { + if ptr.Pointer() != nil { + C.QColor_GetRgbF(ptr.Pointer(), C.double(r), C.double(g), C.double(b), C.double(a)) + } +} + +func (ptr *QColor) Green() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Green(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) GreenF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_GreenF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) HslHue() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_HslHue(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) HslHueF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_HslHueF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) HslSaturation() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_HslSaturation(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) HslSaturationF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_HslSaturationF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) HsvHue() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_HsvHue(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) HsvHueF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_HsvHueF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) HsvSaturation() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_HsvSaturation(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) HsvSaturationF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_HsvSaturationF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) Hue() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Hue(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) HueF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_HueF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QColor_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func QColor_IsValidColor(name string) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QColor_QColor_IsValidColor(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 +} + +func (ptr *QColor) IsValidColor(name string) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QColor_QColor_IsValidColor(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 +} + +func QColor_IsValidColor2(name core.QStringView_ITF) bool { + return int8(C.QColor_QColor_IsValidColor2(core.PointerFromQStringView(name))) != 0 +} + +func (ptr *QColor) IsValidColor2(name core.QStringView_ITF) bool { + return int8(C.QColor_QColor_IsValidColor2(core.PointerFromQStringView(name))) != 0 +} + +func QColor_IsValidColor3(name core.QLatin1String_ITF) bool { + return int8(C.QColor_QColor_IsValidColor3(core.PointerFromQLatin1String(name))) != 0 +} + +func (ptr *QColor) IsValidColor3(name core.QLatin1String_ITF) bool { + return int8(C.QColor_QColor_IsValidColor3(core.PointerFromQLatin1String(name))) != 0 +} + +func (ptr *QColor) Lighter(factor int) *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QColor_Lighter(ptr.Pointer(), C.int(int32(factor)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QColor) Lightness() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Lightness(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) LightnessF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_LightnessF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) Magenta() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Magenta(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) MagentaF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_MagentaF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QColor_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QColor) Name2(format QColor__NameFormat) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QColor_Name2(ptr.Pointer(), C.longlong(format))) + } + return "" +} + +func (ptr *QColor) Red() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Red(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) RedF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_RedF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) Rgb() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QColor_Rgb(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) Rgba() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QColor_Rgba(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) Saturation() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Saturation(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) SaturationF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_SaturationF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) SetAlpha(alpha int) { + if ptr.Pointer() != nil { + C.QColor_SetAlpha(ptr.Pointer(), C.int(int32(alpha))) + } +} + +func (ptr *QColor) SetAlphaF(alpha float64) { + if ptr.Pointer() != nil { + C.QColor_SetAlphaF(ptr.Pointer(), C.double(alpha)) + } +} + +func (ptr *QColor) SetBlue(blue int) { + if ptr.Pointer() != nil { + C.QColor_SetBlue(ptr.Pointer(), C.int(int32(blue))) + } +} + +func (ptr *QColor) SetBlueF(blue float64) { + if ptr.Pointer() != nil { + C.QColor_SetBlueF(ptr.Pointer(), C.double(blue)) + } +} + +func (ptr *QColor) SetCmyk(c int, m int, y int, k int, a int) { + if ptr.Pointer() != nil { + C.QColor_SetCmyk(ptr.Pointer(), C.int(int32(c)), C.int(int32(m)), C.int(int32(y)), C.int(int32(k)), C.int(int32(a))) + } +} + +func (ptr *QColor) SetCmykF(c float64, m float64, y float64, k float64, a float64) { + if ptr.Pointer() != nil { + C.QColor_SetCmykF(ptr.Pointer(), C.double(c), C.double(m), C.double(y), C.double(k), C.double(a)) + } +} + +func (ptr *QColor) SetGreen(green int) { + if ptr.Pointer() != nil { + C.QColor_SetGreen(ptr.Pointer(), C.int(int32(green))) + } +} + +func (ptr *QColor) SetGreenF(green float64) { + if ptr.Pointer() != nil { + C.QColor_SetGreenF(ptr.Pointer(), C.double(green)) + } +} + +func (ptr *QColor) SetHsl(h int, s int, l int, a int) { + if ptr.Pointer() != nil { + C.QColor_SetHsl(ptr.Pointer(), C.int(int32(h)), C.int(int32(s)), C.int(int32(l)), C.int(int32(a))) + } +} + +func (ptr *QColor) SetHslF(h float64, s float64, l float64, a float64) { + if ptr.Pointer() != nil { + C.QColor_SetHslF(ptr.Pointer(), C.double(h), C.double(s), C.double(l), C.double(a)) + } +} + +func (ptr *QColor) SetHsv(h int, s int, v int, a int) { + if ptr.Pointer() != nil { + C.QColor_SetHsv(ptr.Pointer(), C.int(int32(h)), C.int(int32(s)), C.int(int32(v)), C.int(int32(a))) + } +} + +func (ptr *QColor) SetHsvF(h float64, s float64, v float64, a float64) { + if ptr.Pointer() != nil { + C.QColor_SetHsvF(ptr.Pointer(), C.double(h), C.double(s), C.double(v), C.double(a)) + } +} + +func (ptr *QColor) SetNamedColor(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QColor_SetNamedColor(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QColor) SetNamedColor2(name core.QStringView_ITF) { + if ptr.Pointer() != nil { + C.QColor_SetNamedColor2(ptr.Pointer(), core.PointerFromQStringView(name)) + } +} + +func (ptr *QColor) SetNamedColor3(name core.QLatin1String_ITF) { + if ptr.Pointer() != nil { + C.QColor_SetNamedColor3(ptr.Pointer(), core.PointerFromQLatin1String(name)) + } +} + +func (ptr *QColor) SetRed(red int) { + if ptr.Pointer() != nil { + C.QColor_SetRed(ptr.Pointer(), C.int(int32(red))) + } +} + +func (ptr *QColor) SetRedF(red float64) { + if ptr.Pointer() != nil { + C.QColor_SetRedF(ptr.Pointer(), C.double(red)) + } +} + +func (ptr *QColor) SetRgb(r int, g int, b int, a int) { + if ptr.Pointer() != nil { + C.QColor_SetRgb(ptr.Pointer(), C.int(int32(r)), C.int(int32(g)), C.int(int32(b)), C.int(int32(a))) + } +} + +func (ptr *QColor) SetRgb2(rgb uint) { + if ptr.Pointer() != nil { + C.QColor_SetRgb2(ptr.Pointer(), C.uint(uint32(rgb))) + } +} + +func (ptr *QColor) SetRgbF(r float64, g float64, b float64, a float64) { + if ptr.Pointer() != nil { + C.QColor_SetRgbF(ptr.Pointer(), C.double(r), C.double(g), C.double(b), C.double(a)) + } +} + +func (ptr *QColor) SetRgba(rgba uint) { + if ptr.Pointer() != nil { + C.QColor_SetRgba(ptr.Pointer(), C.uint(uint32(rgba))) + } +} + +func (ptr *QColor) SetRgba64(rgba QRgba64_ITF) { + if ptr.Pointer() != nil { + C.QColor_SetRgba64(ptr.Pointer(), PointerFromQRgba64(rgba)) + } +} + +func (ptr *QColor) Spec() QColor__Spec { + if ptr.Pointer() != nil { + return QColor__Spec(C.QColor_Spec(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) ToCmyk() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QColor_ToCmyk(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QColor) ToHsl() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QColor_ToHsl(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QColor) ToHsv() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QColor_ToHsv(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QColor) ToRgb() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QColor_ToRgb(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QColor) Value() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Value(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) ValueF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_ValueF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) Yellow() int { + if ptr.Pointer() != nil { + return int(int32(C.QColor_Yellow(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QColor) YellowF() float64 { + if ptr.Pointer() != nil { + return float64(C.QColor_YellowF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QColor) ToVariant() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QColor_ToVariant(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +type QColorDialogOptions struct { + ptr unsafe.Pointer +} + +type QColorDialogOptions_ITF interface { + QColorDialogOptions_PTR() *QColorDialogOptions +} + +func (ptr *QColorDialogOptions) QColorDialogOptions_PTR() *QColorDialogOptions { + return ptr +} + +func (ptr *QColorDialogOptions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QColorDialogOptions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQColorDialogOptions(ptr QColorDialogOptions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QColorDialogOptions_PTR().Pointer() + } + return nil +} + +func NewQColorDialogOptionsFromPointer(ptr unsafe.Pointer) (n *QColorDialogOptions) { + n = new(QColorDialogOptions) + n.SetPointer(ptr) + return +} + +func (ptr *QColorDialogOptions) DestroyQColorDialogOptions() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QConicalGradient struct { + QGradient +} + +type QConicalGradient_ITF interface { + QGradient_ITF + QConicalGradient_PTR() *QConicalGradient +} + +func (ptr *QConicalGradient) QConicalGradient_PTR() *QConicalGradient { + return ptr +} + +func (ptr *QConicalGradient) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QGradient_PTR().Pointer() + } + return nil +} + +func (ptr *QConicalGradient) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QGradient_PTR().SetPointer(p) + } +} + +func PointerFromQConicalGradient(ptr QConicalGradient_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QConicalGradient_PTR().Pointer() + } + return nil +} + +func NewQConicalGradientFromPointer(ptr unsafe.Pointer) (n *QConicalGradient) { + n = new(QConicalGradient) + n.SetPointer(ptr) + return +} + +func (ptr *QConicalGradient) DestroyQConicalGradient() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQConicalGradient() *QConicalGradient { + tmpValue := NewQConicalGradientFromPointer(C.QConicalGradient_NewQConicalGradient()) + runtime.SetFinalizer(tmpValue, (*QConicalGradient).DestroyQConicalGradient) + return tmpValue +} + +func NewQConicalGradient2(center core.QPointF_ITF, angle float64) *QConicalGradient { + tmpValue := NewQConicalGradientFromPointer(C.QConicalGradient_NewQConicalGradient2(core.PointerFromQPointF(center), C.double(angle))) + runtime.SetFinalizer(tmpValue, (*QConicalGradient).DestroyQConicalGradient) + return tmpValue +} + +func NewQConicalGradient3(cx float64, cy float64, angle float64) *QConicalGradient { + tmpValue := NewQConicalGradientFromPointer(C.QConicalGradient_NewQConicalGradient3(C.double(cx), C.double(cy), C.double(angle))) + runtime.SetFinalizer(tmpValue, (*QConicalGradient).DestroyQConicalGradient) + return tmpValue +} + +func (ptr *QConicalGradient) Angle() float64 { + if ptr.Pointer() != nil { + return float64(C.QConicalGradient_Angle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QConicalGradient) Center() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QConicalGradient_Center(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QConicalGradient) SetAngle(angle float64) { + if ptr.Pointer() != nil { + C.QConicalGradient_SetAngle(ptr.Pointer(), C.double(angle)) + } +} + +func (ptr *QConicalGradient) SetCenter(center core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QConicalGradient_SetCenter(ptr.Pointer(), core.PointerFromQPointF(center)) + } +} + +func (ptr *QConicalGradient) SetCenter2(x float64, y float64) { + if ptr.Pointer() != nil { + C.QConicalGradient_SetCenter2(ptr.Pointer(), C.double(x), C.double(y)) + } +} + +type QContextMenuEvent struct { + QInputEvent +} + +type QContextMenuEvent_ITF interface { + QInputEvent_ITF + QContextMenuEvent_PTR() *QContextMenuEvent +} + +func (ptr *QContextMenuEvent) QContextMenuEvent_PTR() *QContextMenuEvent { + return ptr +} + +func (ptr *QContextMenuEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QInputEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QContextMenuEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QInputEvent_PTR().SetPointer(p) + } +} + +func PointerFromQContextMenuEvent(ptr QContextMenuEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QContextMenuEvent_PTR().Pointer() + } + return nil +} + +func NewQContextMenuEventFromPointer(ptr unsafe.Pointer) (n *QContextMenuEvent) { + n = new(QContextMenuEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QContextMenuEvent) DestroyQContextMenuEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QContextMenuEvent__Reason +//QContextMenuEvent::Reason +type QContextMenuEvent__Reason int64 + +const ( + QContextMenuEvent__Mouse QContextMenuEvent__Reason = QContextMenuEvent__Reason(0) + QContextMenuEvent__Keyboard QContextMenuEvent__Reason = QContextMenuEvent__Reason(1) + QContextMenuEvent__Other QContextMenuEvent__Reason = QContextMenuEvent__Reason(2) +) + +func NewQContextMenuEvent(reason QContextMenuEvent__Reason, pos core.QPoint_ITF, globalPos core.QPoint_ITF, modifiers core.Qt__KeyboardModifier) *QContextMenuEvent { + tmpValue := NewQContextMenuEventFromPointer(C.QContextMenuEvent_NewQContextMenuEvent(C.longlong(reason), core.PointerFromQPoint(pos), core.PointerFromQPoint(globalPos), C.longlong(modifiers))) + runtime.SetFinalizer(tmpValue, (*QContextMenuEvent).DestroyQContextMenuEvent) + return tmpValue +} + +func NewQContextMenuEvent2(reason QContextMenuEvent__Reason, pos core.QPoint_ITF, globalPos core.QPoint_ITF) *QContextMenuEvent { + tmpValue := NewQContextMenuEventFromPointer(C.QContextMenuEvent_NewQContextMenuEvent2(C.longlong(reason), core.PointerFromQPoint(pos), core.PointerFromQPoint(globalPos))) + runtime.SetFinalizer(tmpValue, (*QContextMenuEvent).DestroyQContextMenuEvent) + return tmpValue +} + +func NewQContextMenuEvent3(reason QContextMenuEvent__Reason, pos core.QPoint_ITF) *QContextMenuEvent { + tmpValue := NewQContextMenuEventFromPointer(C.QContextMenuEvent_NewQContextMenuEvent3(C.longlong(reason), core.PointerFromQPoint(pos))) + runtime.SetFinalizer(tmpValue, (*QContextMenuEvent).DestroyQContextMenuEvent) + return tmpValue +} + +func (ptr *QContextMenuEvent) GlobalPos() *core.QPoint { + if ptr.Pointer() != nil { + return core.NewQPointFromPointer(C.QContextMenuEvent_GlobalPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QContextMenuEvent) GlobalX() int { + if ptr.Pointer() != nil { + return int(int32(C.QContextMenuEvent_GlobalX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QContextMenuEvent) GlobalY() int { + if ptr.Pointer() != nil { + return int(int32(C.QContextMenuEvent_GlobalY(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QContextMenuEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + return core.NewQPointFromPointer(C.QContextMenuEvent_Pos(ptr.Pointer())) + } + return nil +} + +func (ptr *QContextMenuEvent) Reason() QContextMenuEvent__Reason { + if ptr.Pointer() != nil { + return QContextMenuEvent__Reason(C.QContextMenuEvent_Reason(ptr.Pointer())) + } + return 0 +} + +func (ptr *QContextMenuEvent) X() int { + if ptr.Pointer() != nil { + return int(int32(C.QContextMenuEvent_X(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QContextMenuEvent) Y() int { + if ptr.Pointer() != nil { + return int(int32(C.QContextMenuEvent_Y(ptr.Pointer()))) + } + return 0 +} + +type QCursor struct { + ptr unsafe.Pointer +} + +type QCursor_ITF interface { + QCursor_PTR() *QCursor +} + +func (ptr *QCursor) QCursor_PTR() *QCursor { + return ptr +} + +func (ptr *QCursor) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QCursor) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQCursor(ptr QCursor_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QCursor_PTR().Pointer() + } + return nil +} + +func NewQCursorFromPointer(ptr unsafe.Pointer) (n *QCursor) { + n = new(QCursor) + n.SetPointer(ptr) + return +} +func NewQCursor() *QCursor { + tmpValue := NewQCursorFromPointer(C.QCursor_NewQCursor()) + runtime.SetFinalizer(tmpValue, (*QCursor).DestroyQCursor) + return tmpValue +} + +func NewQCursor2(shape core.Qt__CursorShape) *QCursor { + tmpValue := NewQCursorFromPointer(C.QCursor_NewQCursor2(C.longlong(shape))) + runtime.SetFinalizer(tmpValue, (*QCursor).DestroyQCursor) + return tmpValue +} + +func NewQCursor3(bitmap QBitmap_ITF, mask QBitmap_ITF, hotX int, hotY int) *QCursor { + tmpValue := NewQCursorFromPointer(C.QCursor_NewQCursor3(PointerFromQBitmap(bitmap), PointerFromQBitmap(mask), C.int(int32(hotX)), C.int(int32(hotY)))) + runtime.SetFinalizer(tmpValue, (*QCursor).DestroyQCursor) + return tmpValue +} + +func NewQCursor4(pixmap QPixmap_ITF, hotX int, hotY int) *QCursor { + tmpValue := NewQCursorFromPointer(C.QCursor_NewQCursor4(PointerFromQPixmap(pixmap), C.int(int32(hotX)), C.int(int32(hotY)))) + runtime.SetFinalizer(tmpValue, (*QCursor).DestroyQCursor) + return tmpValue +} + +func NewQCursor5(c QCursor_ITF) *QCursor { + tmpValue := NewQCursorFromPointer(C.QCursor_NewQCursor5(PointerFromQCursor(c))) + runtime.SetFinalizer(tmpValue, (*QCursor).DestroyQCursor) + return tmpValue +} + +func NewQCursor6(other QCursor_ITF) *QCursor { + tmpValue := NewQCursorFromPointer(C.QCursor_NewQCursor6(PointerFromQCursor(other))) + runtime.SetFinalizer(tmpValue, (*QCursor).DestroyQCursor) + return tmpValue +} + +func (ptr *QCursor) Bitmap() *QBitmap { + if ptr.Pointer() != nil { + return NewQBitmapFromPointer(C.QCursor_Bitmap(ptr.Pointer())) + } + return nil +} + +func (ptr *QCursor) HotSpot() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QCursor_HotSpot(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QCursor) Mask() *QBitmap { + if ptr.Pointer() != nil { + return NewQBitmapFromPointer(C.QCursor_Mask(ptr.Pointer())) + } + return nil +} + +func (ptr *QCursor) Pixmap() *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QCursor_Pixmap(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func QCursor_Pos() *core.QPoint { + tmpValue := core.NewQPointFromPointer(C.QCursor_QCursor_Pos()) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue +} + +func (ptr *QCursor) Pos() *core.QPoint { + tmpValue := core.NewQPointFromPointer(C.QCursor_QCursor_Pos()) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue +} + +func QCursor_Pos2(screen QScreen_ITF) *core.QPoint { + tmpValue := core.NewQPointFromPointer(C.QCursor_QCursor_Pos2(PointerFromQScreen(screen))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue +} + +func (ptr *QCursor) Pos2(screen QScreen_ITF) *core.QPoint { + tmpValue := core.NewQPointFromPointer(C.QCursor_QCursor_Pos2(PointerFromQScreen(screen))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue +} + +func QCursor_SetPos(x int, y int) { + C.QCursor_QCursor_SetPos(C.int(int32(x)), C.int(int32(y))) +} + +func (ptr *QCursor) SetPos(x int, y int) { + C.QCursor_QCursor_SetPos(C.int(int32(x)), C.int(int32(y))) +} + +func QCursor_SetPos2(screen QScreen_ITF, x int, y int) { + C.QCursor_QCursor_SetPos2(PointerFromQScreen(screen), C.int(int32(x)), C.int(int32(y))) +} + +func (ptr *QCursor) SetPos2(screen QScreen_ITF, x int, y int) { + C.QCursor_QCursor_SetPos2(PointerFromQScreen(screen), C.int(int32(x)), C.int(int32(y))) +} + +func QCursor_SetPos3(p core.QPoint_ITF) { + C.QCursor_QCursor_SetPos3(core.PointerFromQPoint(p)) +} + +func (ptr *QCursor) SetPos3(p core.QPoint_ITF) { + C.QCursor_QCursor_SetPos3(core.PointerFromQPoint(p)) +} + +func QCursor_SetPos4(screen QScreen_ITF, p core.QPoint_ITF) { + C.QCursor_QCursor_SetPos4(PointerFromQScreen(screen), core.PointerFromQPoint(p)) +} + +func (ptr *QCursor) SetPos4(screen QScreen_ITF, p core.QPoint_ITF) { + C.QCursor_QCursor_SetPos4(PointerFromQScreen(screen), core.PointerFromQPoint(p)) +} + +func (ptr *QCursor) SetShape(shape core.Qt__CursorShape) { + if ptr.Pointer() != nil { + C.QCursor_SetShape(ptr.Pointer(), C.longlong(shape)) + } +} + +func (ptr *QCursor) Shape() core.Qt__CursorShape { + if ptr.Pointer() != nil { + return core.Qt__CursorShape(C.QCursor_Shape(ptr.Pointer())) + } + return 0 +} + +func (ptr *QCursor) Swap(other QCursor_ITF) { + if ptr.Pointer() != nil { + C.QCursor_Swap(ptr.Pointer(), PointerFromQCursor(other)) + } +} + +func (ptr *QCursor) DestroyQCursor() { + if ptr.Pointer() != nil { + C.QCursor_DestroyQCursor(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDesktopServices struct { + ptr unsafe.Pointer +} + +type QDesktopServices_ITF interface { + QDesktopServices_PTR() *QDesktopServices +} + +func (ptr *QDesktopServices) QDesktopServices_PTR() *QDesktopServices { + return ptr +} + +func (ptr *QDesktopServices) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDesktopServices) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDesktopServices(ptr QDesktopServices_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDesktopServices_PTR().Pointer() + } + return nil +} + +func NewQDesktopServicesFromPointer(ptr unsafe.Pointer) (n *QDesktopServices) { + n = new(QDesktopServices) + n.SetPointer(ptr) + return +} + +func (ptr *QDesktopServices) DestroyQDesktopServices() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func QDesktopServices_OpenUrl(url core.QUrl_ITF) bool { + return int8(C.QDesktopServices_QDesktopServices_OpenUrl(core.PointerFromQUrl(url))) != 0 +} + +func (ptr *QDesktopServices) OpenUrl(url core.QUrl_ITF) bool { + return int8(C.QDesktopServices_QDesktopServices_OpenUrl(core.PointerFromQUrl(url))) != 0 +} + +func QDesktopServices_SetUrlHandler(scheme string, receiver core.QObject_ITF, method string) { + var schemeC *C.char + if scheme != "" { + schemeC = C.CString(scheme) + defer C.free(unsafe.Pointer(schemeC)) + } + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + C.QDesktopServices_QDesktopServices_SetUrlHandler(C.struct_QtGui_PackedString{data: schemeC, len: C.longlong(len(scheme))}, core.PointerFromQObject(receiver), methodC) +} + +func (ptr *QDesktopServices) SetUrlHandler(scheme string, receiver core.QObject_ITF, method string) { + var schemeC *C.char + if scheme != "" { + schemeC = C.CString(scheme) + defer C.free(unsafe.Pointer(schemeC)) + } + var methodC *C.char + if method != "" { + methodC = C.CString(method) + defer C.free(unsafe.Pointer(methodC)) + } + C.QDesktopServices_QDesktopServices_SetUrlHandler(C.struct_QtGui_PackedString{data: schemeC, len: C.longlong(len(scheme))}, core.PointerFromQObject(receiver), methodC) +} + +func QDesktopServices_UnsetUrlHandler(scheme string) { + var schemeC *C.char + if scheme != "" { + schemeC = C.CString(scheme) + defer C.free(unsafe.Pointer(schemeC)) + } + C.QDesktopServices_QDesktopServices_UnsetUrlHandler(C.struct_QtGui_PackedString{data: schemeC, len: C.longlong(len(scheme))}) +} + +func (ptr *QDesktopServices) UnsetUrlHandler(scheme string) { + var schemeC *C.char + if scheme != "" { + schemeC = C.CString(scheme) + defer C.free(unsafe.Pointer(schemeC)) + } + C.QDesktopServices_QDesktopServices_UnsetUrlHandler(C.struct_QtGui_PackedString{data: schemeC, len: C.longlong(len(scheme))}) +} + +type QDoubleValidator struct { + QValidator +} + +type QDoubleValidator_ITF interface { + QValidator_ITF + QDoubleValidator_PTR() *QDoubleValidator +} + +func (ptr *QDoubleValidator) QDoubleValidator_PTR() *QDoubleValidator { + return ptr +} + +func (ptr *QDoubleValidator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QValidator_PTR().Pointer() + } + return nil +} + +func (ptr *QDoubleValidator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QValidator_PTR().SetPointer(p) + } +} + +func PointerFromQDoubleValidator(ptr QDoubleValidator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDoubleValidator_PTR().Pointer() + } + return nil +} + +func NewQDoubleValidatorFromPointer(ptr unsafe.Pointer) (n *QDoubleValidator) { + n = new(QDoubleValidator) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QDoubleValidator__Notation +//QDoubleValidator::Notation +type QDoubleValidator__Notation int64 + +const ( + QDoubleValidator__StandardNotation QDoubleValidator__Notation = QDoubleValidator__Notation(0) + QDoubleValidator__ScientificNotation QDoubleValidator__Notation = QDoubleValidator__Notation(1) +) + +func NewQDoubleValidator(parent core.QObject_ITF) *QDoubleValidator { + tmpValue := NewQDoubleValidatorFromPointer(C.QDoubleValidator_NewQDoubleValidator(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQDoubleValidator2(bottom float64, top float64, decimals int, parent core.QObject_ITF) *QDoubleValidator { + tmpValue := NewQDoubleValidatorFromPointer(C.QDoubleValidator_NewQDoubleValidator2(C.double(bottom), C.double(top), C.int(int32(decimals)), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QDoubleValidator) Bottom() float64 { + if ptr.Pointer() != nil { + return float64(C.QDoubleValidator_Bottom(ptr.Pointer())) + } + return 0 +} + +//export callbackQDoubleValidator_BottomChanged +func callbackQDoubleValidator_BottomChanged(ptr unsafe.Pointer, bottom C.double) { + if signal := qt.GetSignal(ptr, "bottomChanged"); signal != nil { + (*(*func(float64))(signal))(float64(bottom)) + } + +} + +func (ptr *QDoubleValidator) ConnectBottomChanged(f func(bottom float64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "bottomChanged") { + C.QDoubleValidator_ConnectBottomChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "bottomChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "bottomChanged"); signal != nil { + f := func(bottom float64) { + (*(*func(float64))(signal))(bottom) + f(bottom) + } + qt.ConnectSignal(ptr.Pointer(), "bottomChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "bottomChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDoubleValidator) DisconnectBottomChanged() { + if ptr.Pointer() != nil { + C.QDoubleValidator_DisconnectBottomChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "bottomChanged") + } +} + +func (ptr *QDoubleValidator) BottomChanged(bottom float64) { + if ptr.Pointer() != nil { + C.QDoubleValidator_BottomChanged(ptr.Pointer(), C.double(bottom)) + } +} + +func (ptr *QDoubleValidator) Decimals() int { + if ptr.Pointer() != nil { + return int(int32(C.QDoubleValidator_Decimals(ptr.Pointer()))) + } + return 0 +} + +//export callbackQDoubleValidator_DecimalsChanged +func callbackQDoubleValidator_DecimalsChanged(ptr unsafe.Pointer, decimals C.int) { + if signal := qt.GetSignal(ptr, "decimalsChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(decimals))) + } + +} + +func (ptr *QDoubleValidator) ConnectDecimalsChanged(f func(decimals int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "decimalsChanged") { + C.QDoubleValidator_ConnectDecimalsChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "decimalsChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "decimalsChanged"); signal != nil { + f := func(decimals int) { + (*(*func(int))(signal))(decimals) + f(decimals) + } + qt.ConnectSignal(ptr.Pointer(), "decimalsChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "decimalsChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDoubleValidator) DisconnectDecimalsChanged() { + if ptr.Pointer() != nil { + C.QDoubleValidator_DisconnectDecimalsChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "decimalsChanged") + } +} + +func (ptr *QDoubleValidator) DecimalsChanged(decimals int) { + if ptr.Pointer() != nil { + C.QDoubleValidator_DecimalsChanged(ptr.Pointer(), C.int(int32(decimals))) + } +} + +func (ptr *QDoubleValidator) Notation() QDoubleValidator__Notation { + if ptr.Pointer() != nil { + return QDoubleValidator__Notation(C.QDoubleValidator_Notation(ptr.Pointer())) + } + return 0 +} + +//export callbackQDoubleValidator_NotationChanged +func callbackQDoubleValidator_NotationChanged(ptr unsafe.Pointer, notation C.longlong) { + if signal := qt.GetSignal(ptr, "notationChanged"); signal != nil { + (*(*func(QDoubleValidator__Notation))(signal))(QDoubleValidator__Notation(notation)) + } + +} + +func (ptr *QDoubleValidator) ConnectNotationChanged(f func(notation QDoubleValidator__Notation)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "notationChanged") { + C.QDoubleValidator_ConnectNotationChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "notationChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "notationChanged"); signal != nil { + f := func(notation QDoubleValidator__Notation) { + (*(*func(QDoubleValidator__Notation))(signal))(notation) + f(notation) + } + qt.ConnectSignal(ptr.Pointer(), "notationChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "notationChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDoubleValidator) DisconnectNotationChanged() { + if ptr.Pointer() != nil { + C.QDoubleValidator_DisconnectNotationChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "notationChanged") + } +} + +func (ptr *QDoubleValidator) NotationChanged(notation QDoubleValidator__Notation) { + if ptr.Pointer() != nil { + C.QDoubleValidator_NotationChanged(ptr.Pointer(), C.longlong(notation)) + } +} + +func (ptr *QDoubleValidator) SetBottom(vdo float64) { + if ptr.Pointer() != nil { + C.QDoubleValidator_SetBottom(ptr.Pointer(), C.double(vdo)) + } +} + +func (ptr *QDoubleValidator) SetDecimals(vin int) { + if ptr.Pointer() != nil { + C.QDoubleValidator_SetDecimals(ptr.Pointer(), C.int(int32(vin))) + } +} + +func (ptr *QDoubleValidator) SetNotation(vqd QDoubleValidator__Notation) { + if ptr.Pointer() != nil { + C.QDoubleValidator_SetNotation(ptr.Pointer(), C.longlong(vqd)) + } +} + +//export callbackQDoubleValidator_SetRange +func callbackQDoubleValidator_SetRange(ptr unsafe.Pointer, minimum C.double, maximum C.double, decimals C.int) { + if signal := qt.GetSignal(ptr, "setRange"); signal != nil { + (*(*func(float64, float64, int))(signal))(float64(minimum), float64(maximum), int(int32(decimals))) + } else { + NewQDoubleValidatorFromPointer(ptr).SetRangeDefault(float64(minimum), float64(maximum), int(int32(decimals))) + } +} + +func (ptr *QDoubleValidator) ConnectSetRange(f func(minimum float64, maximum float64, decimals int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setRange"); signal != nil { + f := func(minimum float64, maximum float64, decimals int) { + (*(*func(float64, float64, int))(signal))(minimum, maximum, decimals) + f(minimum, maximum, decimals) + } + qt.ConnectSignal(ptr.Pointer(), "setRange", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setRange", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDoubleValidator) DisconnectSetRange() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setRange") + } +} + +func (ptr *QDoubleValidator) SetRange(minimum float64, maximum float64, decimals int) { + if ptr.Pointer() != nil { + C.QDoubleValidator_SetRange(ptr.Pointer(), C.double(minimum), C.double(maximum), C.int(int32(decimals))) + } +} + +func (ptr *QDoubleValidator) SetRangeDefault(minimum float64, maximum float64, decimals int) { + if ptr.Pointer() != nil { + C.QDoubleValidator_SetRangeDefault(ptr.Pointer(), C.double(minimum), C.double(maximum), C.int(int32(decimals))) + } +} + +func (ptr *QDoubleValidator) SetTop(vdo float64) { + if ptr.Pointer() != nil { + C.QDoubleValidator_SetTop(ptr.Pointer(), C.double(vdo)) + } +} + +func (ptr *QDoubleValidator) Top() float64 { + if ptr.Pointer() != nil { + return float64(C.QDoubleValidator_Top(ptr.Pointer())) + } + return 0 +} + +//export callbackQDoubleValidator_TopChanged +func callbackQDoubleValidator_TopChanged(ptr unsafe.Pointer, top C.double) { + if signal := qt.GetSignal(ptr, "topChanged"); signal != nil { + (*(*func(float64))(signal))(float64(top)) + } + +} + +func (ptr *QDoubleValidator) ConnectTopChanged(f func(top float64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "topChanged") { + C.QDoubleValidator_ConnectTopChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "topChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "topChanged"); signal != nil { + f := func(top float64) { + (*(*func(float64))(signal))(top) + f(top) + } + qt.ConnectSignal(ptr.Pointer(), "topChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "topChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDoubleValidator) DisconnectTopChanged() { + if ptr.Pointer() != nil { + C.QDoubleValidator_DisconnectTopChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "topChanged") + } +} + +func (ptr *QDoubleValidator) TopChanged(top float64) { + if ptr.Pointer() != nil { + C.QDoubleValidator_TopChanged(ptr.Pointer(), C.double(top)) + } +} + +//export callbackQDoubleValidator_Validate +func callbackQDoubleValidator_Validate(ptr unsafe.Pointer, input C.struct_QtGui_PackedString, pos C.int) C.longlong { + if signal := qt.GetSignal(ptr, "validate"); signal != nil { + return C.longlong((*(*func(string, int) QValidator__State)(signal))(cGoUnpackString(input), int(int32(pos)))) + } + + return C.longlong(NewQDoubleValidatorFromPointer(ptr).ValidateDefault(cGoUnpackString(input), int(int32(pos)))) +} + +func (ptr *QDoubleValidator) ConnectValidate(f func(input string, pos int) QValidator__State) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "validate"); signal != nil { + f := func(input string, pos int) QValidator__State { + (*(*func(string, int) QValidator__State)(signal))(input, pos) + return f(input, pos) + } + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDoubleValidator) DisconnectValidate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "validate") + } +} + +func (ptr *QDoubleValidator) Validate(input string, pos int) QValidator__State { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + return QValidator__State(C.QDoubleValidator_Validate(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}, C.int(int32(pos)))) + } + return 0 +} + +func (ptr *QDoubleValidator) ValidateDefault(input string, pos int) QValidator__State { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + return QValidator__State(C.QDoubleValidator_ValidateDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}, C.int(int32(pos)))) + } + return 0 +} + +//export callbackQDoubleValidator_DestroyQDoubleValidator +func callbackQDoubleValidator_DestroyQDoubleValidator(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QDoubleValidator"); signal != nil { + (*(*func())(signal))() + } else { + NewQDoubleValidatorFromPointer(ptr).DestroyQDoubleValidatorDefault() + } +} + +func (ptr *QDoubleValidator) ConnectDestroyQDoubleValidator(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QDoubleValidator"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QDoubleValidator", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QDoubleValidator", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDoubleValidator) DisconnectDestroyQDoubleValidator() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QDoubleValidator") + } +} + +func (ptr *QDoubleValidator) DestroyQDoubleValidator() { + if ptr.Pointer() != nil { + C.QDoubleValidator_DestroyQDoubleValidator(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QDoubleValidator) DestroyQDoubleValidatorDefault() { + if ptr.Pointer() != nil { + C.QDoubleValidator_DestroyQDoubleValidatorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDrag struct { + core.QObject +} + +type QDrag_ITF interface { + core.QObject_ITF + QDrag_PTR() *QDrag +} + +func (ptr *QDrag) QDrag_PTR() *QDrag { + return ptr +} + +func (ptr *QDrag) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QDrag) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQDrag(ptr QDrag_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDrag_PTR().Pointer() + } + return nil +} + +func NewQDragFromPointer(ptr unsafe.Pointer) (n *QDrag) { + n = new(QDrag) + n.SetPointer(ptr) + return +} +func NewQDrag(dragSource core.QObject_ITF) *QDrag { + tmpValue := NewQDragFromPointer(C.QDrag_NewQDrag(core.PointerFromQObject(dragSource))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQDrag_ActionChanged +func callbackQDrag_ActionChanged(ptr unsafe.Pointer, action C.longlong) { + if signal := qt.GetSignal(ptr, "actionChanged"); signal != nil { + (*(*func(core.Qt__DropAction))(signal))(core.Qt__DropAction(action)) + } + +} + +func (ptr *QDrag) ConnectActionChanged(f func(action core.Qt__DropAction)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "actionChanged") { + C.QDrag_ConnectActionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "actionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "actionChanged"); signal != nil { + f := func(action core.Qt__DropAction) { + (*(*func(core.Qt__DropAction))(signal))(action) + f(action) + } + qt.ConnectSignal(ptr.Pointer(), "actionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "actionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDrag) DisconnectActionChanged() { + if ptr.Pointer() != nil { + C.QDrag_DisconnectActionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "actionChanged") + } +} + +func (ptr *QDrag) ActionChanged(action core.Qt__DropAction) { + if ptr.Pointer() != nil { + C.QDrag_ActionChanged(ptr.Pointer(), C.longlong(action)) + } +} + +func QDrag_Cancel() { + C.QDrag_QDrag_Cancel() +} + +func (ptr *QDrag) Cancel() { + C.QDrag_QDrag_Cancel() +} + +func (ptr *QDrag) DefaultAction() core.Qt__DropAction { + if ptr.Pointer() != nil { + return core.Qt__DropAction(C.QDrag_DefaultAction(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDrag) DragCursor(action core.Qt__DropAction) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QDrag_DragCursor(ptr.Pointer(), C.longlong(action))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QDrag) Exec(supportedActions core.Qt__DropAction) core.Qt__DropAction { + if ptr.Pointer() != nil { + return core.Qt__DropAction(C.QDrag_Exec(ptr.Pointer(), C.longlong(supportedActions))) + } + return 0 +} + +func (ptr *QDrag) Exec2(supportedActions core.Qt__DropAction, defaultDropAction core.Qt__DropAction) core.Qt__DropAction { + if ptr.Pointer() != nil { + return core.Qt__DropAction(C.QDrag_Exec2(ptr.Pointer(), C.longlong(supportedActions), C.longlong(defaultDropAction))) + } + return 0 +} + +func (ptr *QDrag) HotSpot() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QDrag_HotSpot(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QDrag) MimeData() *core.QMimeData { + if ptr.Pointer() != nil { + tmpValue := core.NewQMimeDataFromPointer(C.QDrag_MimeData(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDrag) Pixmap() *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QDrag_Pixmap(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QDrag) SetDragCursor(cursor QPixmap_ITF, action core.Qt__DropAction) { + if ptr.Pointer() != nil { + C.QDrag_SetDragCursor(ptr.Pointer(), PointerFromQPixmap(cursor), C.longlong(action)) + } +} + +func (ptr *QDrag) SetHotSpot(hotspot core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QDrag_SetHotSpot(ptr.Pointer(), core.PointerFromQPoint(hotspot)) + } +} + +func (ptr *QDrag) SetMimeData(data core.QMimeData_ITF) { + if ptr.Pointer() != nil { + C.QDrag_SetMimeData(ptr.Pointer(), core.PointerFromQMimeData(data)) + } +} + +func (ptr *QDrag) SetPixmap(pixmap QPixmap_ITF) { + if ptr.Pointer() != nil { + C.QDrag_SetPixmap(ptr.Pointer(), PointerFromQPixmap(pixmap)) + } +} + +func (ptr *QDrag) Source() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDrag_Source(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDrag) SupportedActions() core.Qt__DropAction { + if ptr.Pointer() != nil { + return core.Qt__DropAction(C.QDrag_SupportedActions(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDrag) Target() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDrag_Target(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQDrag_TargetChanged +func callbackQDrag_TargetChanged(ptr unsafe.Pointer, newTarget unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "targetChanged"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(newTarget)) + } + +} + +func (ptr *QDrag) ConnectTargetChanged(f func(newTarget *core.QObject)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "targetChanged") { + C.QDrag_ConnectTargetChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "targetChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "targetChanged"); signal != nil { + f := func(newTarget *core.QObject) { + (*(*func(*core.QObject))(signal))(newTarget) + f(newTarget) + } + qt.ConnectSignal(ptr.Pointer(), "targetChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "targetChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDrag) DisconnectTargetChanged() { + if ptr.Pointer() != nil { + C.QDrag_DisconnectTargetChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "targetChanged") + } +} + +func (ptr *QDrag) TargetChanged(newTarget core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QDrag_TargetChanged(ptr.Pointer(), core.PointerFromQObject(newTarget)) + } +} + +//export callbackQDrag_DestroyQDrag +func callbackQDrag_DestroyQDrag(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QDrag"); signal != nil { + (*(*func())(signal))() + } else { + NewQDragFromPointer(ptr).DestroyQDragDefault() + } +} + +func (ptr *QDrag) ConnectDestroyQDrag(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QDrag"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QDrag", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QDrag", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDrag) DisconnectDestroyQDrag() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QDrag") + } +} + +func (ptr *QDrag) DestroyQDrag() { + if ptr.Pointer() != nil { + C.QDrag_DestroyQDrag(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QDrag) DestroyQDragDefault() { + if ptr.Pointer() != nil { + C.QDrag_DestroyQDragDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QDrag) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDrag___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDrag) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QDrag___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QDrag) __children_newList() unsafe.Pointer { + return C.QDrag___children_newList(ptr.Pointer()) +} + +func (ptr *QDrag) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QDrag___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QDrag) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QDrag___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QDrag) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QDrag___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QDrag) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDrag___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDrag) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QDrag___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QDrag) __findChildren_newList() unsafe.Pointer { + return C.QDrag___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QDrag) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDrag___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDrag) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QDrag___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QDrag) __findChildren_newList3() unsafe.Pointer { + return C.QDrag___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QDrag) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDrag___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDrag) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QDrag___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QDrag) __qFindChildren_newList2() unsafe.Pointer { + return C.QDrag___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQDrag_ChildEvent +func callbackQDrag_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQDragFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QDrag) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QDrag_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQDrag_ConnectNotify +func callbackQDrag_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQDragFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QDrag) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QDrag_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQDrag_CustomEvent +func callbackQDrag_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQDragFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QDrag) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QDrag_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQDrag_DeleteLater +func callbackQDrag_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQDragFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QDrag) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QDrag_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQDrag_Destroyed +func callbackQDrag_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQDrag_DisconnectNotify +func callbackQDrag_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQDragFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QDrag) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QDrag_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQDrag_Event +func callbackQDrag_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQDragFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QDrag) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QDrag_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQDrag_EventFilter +func callbackQDrag_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQDragFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QDrag) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QDrag_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQDrag_MetaObject +func callbackQDrag_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQDragFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QDrag) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QDrag_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQDrag_ObjectNameChanged +func callbackQDrag_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQDrag_TimerEvent +func callbackQDrag_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQDragFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QDrag) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QDrag_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QDragEnterEvent struct { + QDragMoveEvent +} + +type QDragEnterEvent_ITF interface { + QDragMoveEvent_ITF + QDragEnterEvent_PTR() *QDragEnterEvent +} + +func (ptr *QDragEnterEvent) QDragEnterEvent_PTR() *QDragEnterEvent { + return ptr +} + +func (ptr *QDragEnterEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QDragMoveEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QDragEnterEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QDragMoveEvent_PTR().SetPointer(p) + } +} + +func PointerFromQDragEnterEvent(ptr QDragEnterEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDragEnterEvent_PTR().Pointer() + } + return nil +} + +func NewQDragEnterEventFromPointer(ptr unsafe.Pointer) (n *QDragEnterEvent) { + n = new(QDragEnterEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QDragEnterEvent) DestroyQDragEnterEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQDragEnterEvent(point core.QPoint_ITF, actions core.Qt__DropAction, data core.QMimeData_ITF, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier) *QDragEnterEvent { + tmpValue := NewQDragEnterEventFromPointer(C.QDragEnterEvent_NewQDragEnterEvent(core.PointerFromQPoint(point), C.longlong(actions), core.PointerFromQMimeData(data), C.longlong(buttons), C.longlong(modifiers))) + runtime.SetFinalizer(tmpValue, (*QDragEnterEvent).DestroyQDragEnterEvent) + return tmpValue +} + +type QDragLeaveEvent struct { + core.QEvent +} + +type QDragLeaveEvent_ITF interface { + core.QEvent_ITF + QDragLeaveEvent_PTR() *QDragLeaveEvent +} + +func (ptr *QDragLeaveEvent) QDragLeaveEvent_PTR() *QDragLeaveEvent { + return ptr +} + +func (ptr *QDragLeaveEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QDragLeaveEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQDragLeaveEvent(ptr QDragLeaveEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDragLeaveEvent_PTR().Pointer() + } + return nil +} + +func NewQDragLeaveEventFromPointer(ptr unsafe.Pointer) (n *QDragLeaveEvent) { + n = new(QDragLeaveEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QDragLeaveEvent) DestroyQDragLeaveEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQDragLeaveEvent() *QDragLeaveEvent { + tmpValue := NewQDragLeaveEventFromPointer(C.QDragLeaveEvent_NewQDragLeaveEvent()) + runtime.SetFinalizer(tmpValue, (*QDragLeaveEvent).DestroyQDragLeaveEvent) + return tmpValue +} + +type QDragMoveEvent struct { + QDropEvent +} + +type QDragMoveEvent_ITF interface { + QDropEvent_ITF + QDragMoveEvent_PTR() *QDragMoveEvent +} + +func (ptr *QDragMoveEvent) QDragMoveEvent_PTR() *QDragMoveEvent { + return ptr +} + +func (ptr *QDragMoveEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QDropEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QDragMoveEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QDropEvent_PTR().SetPointer(p) + } +} + +func PointerFromQDragMoveEvent(ptr QDragMoveEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDragMoveEvent_PTR().Pointer() + } + return nil +} + +func NewQDragMoveEventFromPointer(ptr unsafe.Pointer) (n *QDragMoveEvent) { + n = new(QDragMoveEvent) + n.SetPointer(ptr) + return +} +func NewQDragMoveEvent(pos core.QPoint_ITF, actions core.Qt__DropAction, data core.QMimeData_ITF, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier, ty core.QEvent__Type) *QDragMoveEvent { + tmpValue := NewQDragMoveEventFromPointer(C.QDragMoveEvent_NewQDragMoveEvent(core.PointerFromQPoint(pos), C.longlong(actions), core.PointerFromQMimeData(data), C.longlong(buttons), C.longlong(modifiers), C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QDragMoveEvent).DestroyQDragMoveEvent) + return tmpValue +} + +func (ptr *QDragMoveEvent) Accept(rectangle core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QDragMoveEvent_Accept(ptr.Pointer(), core.PointerFromQRect(rectangle)) + } +} + +func (ptr *QDragMoveEvent) AnswerRect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QDragMoveEvent_AnswerRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QDragMoveEvent) Ignore(rectangle core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QDragMoveEvent_Ignore(ptr.Pointer(), core.PointerFromQRect(rectangle)) + } +} + +//export callbackQDragMoveEvent_DestroyQDragMoveEvent +func callbackQDragMoveEvent_DestroyQDragMoveEvent(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QDragMoveEvent"); signal != nil { + (*(*func())(signal))() + } else { + NewQDragMoveEventFromPointer(ptr).DestroyQDragMoveEventDefault() + } +} + +func (ptr *QDragMoveEvent) ConnectDestroyQDragMoveEvent(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QDragMoveEvent"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QDragMoveEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QDragMoveEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDragMoveEvent) DisconnectDestroyQDragMoveEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QDragMoveEvent") + } +} + +func (ptr *QDragMoveEvent) DestroyQDragMoveEvent() { + if ptr.Pointer() != nil { + C.QDragMoveEvent_DestroyQDragMoveEvent(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QDragMoveEvent) DestroyQDragMoveEventDefault() { + if ptr.Pointer() != nil { + C.QDragMoveEvent_DestroyQDragMoveEventDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDropEvent struct { + core.QEvent +} + +type QDropEvent_ITF interface { + core.QEvent_ITF + QDropEvent_PTR() *QDropEvent +} + +func (ptr *QDropEvent) QDropEvent_PTR() *QDropEvent { + return ptr +} + +func (ptr *QDropEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QDropEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQDropEvent(ptr QDropEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDropEvent_PTR().Pointer() + } + return nil +} + +func NewQDropEventFromPointer(ptr unsafe.Pointer) (n *QDropEvent) { + n = new(QDropEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QDropEvent) DestroyQDropEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQDropEvent(pos core.QPointF_ITF, actions core.Qt__DropAction, data core.QMimeData_ITF, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier, ty core.QEvent__Type) *QDropEvent { + tmpValue := NewQDropEventFromPointer(C.QDropEvent_NewQDropEvent(core.PointerFromQPointF(pos), C.longlong(actions), core.PointerFromQMimeData(data), C.longlong(buttons), C.longlong(modifiers), C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QDropEvent).DestroyQDropEvent) + return tmpValue +} + +func (ptr *QDropEvent) AcceptProposedAction() { + if ptr.Pointer() != nil { + C.QDropEvent_AcceptProposedAction(ptr.Pointer()) + } +} + +func (ptr *QDropEvent) DropAction() core.Qt__DropAction { + if ptr.Pointer() != nil { + return core.Qt__DropAction(C.QDropEvent_DropAction(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDropEvent) KeyboardModifiers() core.Qt__KeyboardModifier { + if ptr.Pointer() != nil { + return core.Qt__KeyboardModifier(C.QDropEvent_KeyboardModifiers(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDropEvent) MimeData() *core.QMimeData { + if ptr.Pointer() != nil { + tmpValue := core.NewQMimeDataFromPointer(C.QDropEvent_MimeData(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDropEvent) MouseButtons() core.Qt__MouseButton { + if ptr.Pointer() != nil { + return core.Qt__MouseButton(C.QDropEvent_MouseButtons(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDropEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QDropEvent_Pos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QDropEvent) PosF() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QDropEvent_PosF(ptr.Pointer())) + } + return nil +} + +func (ptr *QDropEvent) PossibleActions() core.Qt__DropAction { + if ptr.Pointer() != nil { + return core.Qt__DropAction(C.QDropEvent_PossibleActions(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDropEvent) ProposedAction() core.Qt__DropAction { + if ptr.Pointer() != nil { + return core.Qt__DropAction(C.QDropEvent_ProposedAction(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDropEvent) SetDropAction(action core.Qt__DropAction) { + if ptr.Pointer() != nil { + C.QDropEvent_SetDropAction(ptr.Pointer(), C.longlong(action)) + } +} + +func (ptr *QDropEvent) Source() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDropEvent_Source(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +type QEnterEvent struct { + core.QEvent +} + +type QEnterEvent_ITF interface { + core.QEvent_ITF + QEnterEvent_PTR() *QEnterEvent +} + +func (ptr *QEnterEvent) QEnterEvent_PTR() *QEnterEvent { + return ptr +} + +func (ptr *QEnterEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QEnterEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQEnterEvent(ptr QEnterEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QEnterEvent_PTR().Pointer() + } + return nil +} + +func NewQEnterEventFromPointer(ptr unsafe.Pointer) (n *QEnterEvent) { + n = new(QEnterEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QEnterEvent) DestroyQEnterEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQEnterEvent(localPos core.QPointF_ITF, windowPos core.QPointF_ITF, screenPos core.QPointF_ITF) *QEnterEvent { + tmpValue := NewQEnterEventFromPointer(C.QEnterEvent_NewQEnterEvent(core.PointerFromQPointF(localPos), core.PointerFromQPointF(windowPos), core.PointerFromQPointF(screenPos))) + runtime.SetFinalizer(tmpValue, (*QEnterEvent).DestroyQEnterEvent) + return tmpValue +} + +func (ptr *QEnterEvent) GlobalPos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QEnterEvent_GlobalPos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QEnterEvent) GlobalX() int { + if ptr.Pointer() != nil { + return int(int32(C.QEnterEvent_GlobalX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QEnterEvent) GlobalY() int { + if ptr.Pointer() != nil { + return int(int32(C.QEnterEvent_GlobalY(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QEnterEvent) LocalPos() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QEnterEvent_LocalPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QEnterEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QEnterEvent_Pos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QEnterEvent) ScreenPos() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QEnterEvent_ScreenPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QEnterEvent) WindowPos() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QEnterEvent_WindowPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QEnterEvent) X() int { + if ptr.Pointer() != nil { + return int(int32(C.QEnterEvent_X(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QEnterEvent) Y() int { + if ptr.Pointer() != nil { + return int(int32(C.QEnterEvent_Y(ptr.Pointer()))) + } + return 0 +} + +type QExposeEvent struct { + core.QEvent +} + +type QExposeEvent_ITF interface { + core.QEvent_ITF + QExposeEvent_PTR() *QExposeEvent +} + +func (ptr *QExposeEvent) QExposeEvent_PTR() *QExposeEvent { + return ptr +} + +func (ptr *QExposeEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QExposeEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQExposeEvent(ptr QExposeEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QExposeEvent_PTR().Pointer() + } + return nil +} + +func NewQExposeEventFromPointer(ptr unsafe.Pointer) (n *QExposeEvent) { + n = new(QExposeEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QExposeEvent) DestroyQExposeEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQExposeEvent(exposeRegion QRegion_ITF) *QExposeEvent { + tmpValue := NewQExposeEventFromPointer(C.QExposeEvent_NewQExposeEvent(PointerFromQRegion(exposeRegion))) + runtime.SetFinalizer(tmpValue, (*QExposeEvent).DestroyQExposeEvent) + return tmpValue +} + +func (ptr *QExposeEvent) Region() *QRegion { + if ptr.Pointer() != nil { + return NewQRegionFromPointer(C.QExposeEvent_Region(ptr.Pointer())) + } + return nil +} + +type QFileDialogOptions struct { + ptr unsafe.Pointer +} + +type QFileDialogOptions_ITF interface { + QFileDialogOptions_PTR() *QFileDialogOptions +} + +func (ptr *QFileDialogOptions) QFileDialogOptions_PTR() *QFileDialogOptions { + return ptr +} + +func (ptr *QFileDialogOptions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFileDialogOptions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFileDialogOptions(ptr QFileDialogOptions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFileDialogOptions_PTR().Pointer() + } + return nil +} + +func NewQFileDialogOptionsFromPointer(ptr unsafe.Pointer) (n *QFileDialogOptions) { + n = new(QFileDialogOptions) + n.SetPointer(ptr) + return +} + +func (ptr *QFileDialogOptions) DestroyQFileDialogOptions() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFileOpenEvent struct { + core.QEvent +} + +type QFileOpenEvent_ITF interface { + core.QEvent_ITF + QFileOpenEvent_PTR() *QFileOpenEvent +} + +func (ptr *QFileOpenEvent) QFileOpenEvent_PTR() *QFileOpenEvent { + return ptr +} + +func (ptr *QFileOpenEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QFileOpenEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQFileOpenEvent(ptr QFileOpenEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFileOpenEvent_PTR().Pointer() + } + return nil +} + +func NewQFileOpenEventFromPointer(ptr unsafe.Pointer) (n *QFileOpenEvent) { + n = new(QFileOpenEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QFileOpenEvent) DestroyQFileOpenEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QFileOpenEvent) File() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFileOpenEvent_File(ptr.Pointer())) + } + return "" +} + +func (ptr *QFileOpenEvent) OpenFile(file core.QFile_ITF, flags core.QIODevice__OpenModeFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QFileOpenEvent_OpenFile(ptr.Pointer(), core.PointerFromQFile(file), C.longlong(flags))) != 0 + } + return false +} + +func (ptr *QFileOpenEvent) Url() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QFileOpenEvent_Url(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +type QFocusEvent struct { + core.QEvent +} + +type QFocusEvent_ITF interface { + core.QEvent_ITF + QFocusEvent_PTR() *QFocusEvent +} + +func (ptr *QFocusEvent) QFocusEvent_PTR() *QFocusEvent { + return ptr +} + +func (ptr *QFocusEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QFocusEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQFocusEvent(ptr QFocusEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFocusEvent_PTR().Pointer() + } + return nil +} + +func NewQFocusEventFromPointer(ptr unsafe.Pointer) (n *QFocusEvent) { + n = new(QFocusEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QFocusEvent) DestroyQFocusEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQFocusEvent(ty core.QEvent__Type, reason core.Qt__FocusReason) *QFocusEvent { + tmpValue := NewQFocusEventFromPointer(C.QFocusEvent_NewQFocusEvent(C.longlong(ty), C.longlong(reason))) + runtime.SetFinalizer(tmpValue, (*QFocusEvent).DestroyQFocusEvent) + return tmpValue +} + +func (ptr *QFocusEvent) GotFocus() bool { + if ptr.Pointer() != nil { + return int8(C.QFocusEvent_GotFocus(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFocusEvent) LostFocus() bool { + if ptr.Pointer() != nil { + return int8(C.QFocusEvent_LostFocus(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFocusEvent) Reason() core.Qt__FocusReason { + if ptr.Pointer() != nil { + return core.Qt__FocusReason(C.QFocusEvent_Reason(ptr.Pointer())) + } + return 0 +} + +type QFont struct { + ptr unsafe.Pointer +} + +type QFont_ITF interface { + QFont_PTR() *QFont +} + +func (ptr *QFont) QFont_PTR() *QFont { + return ptr +} + +func (ptr *QFont) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFont) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFont(ptr QFont_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFont_PTR().Pointer() + } + return nil +} + +func NewQFontFromPointer(ptr unsafe.Pointer) (n *QFont) { + n = new(QFont) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QFont__StyleHint +//QFont::StyleHint +type QFont__StyleHint int64 + +var ( + QFont__Helvetica QFont__StyleHint = QFont__StyleHint(0) + QFont__SansSerif QFont__StyleHint = QFont__StyleHint(QFont__Helvetica) + QFont__Times QFont__StyleHint = QFont__StyleHint(1) + QFont__Serif QFont__StyleHint = QFont__StyleHint(QFont__Times) + QFont__Courier QFont__StyleHint = QFont__StyleHint(2) + QFont__TypeWriter QFont__StyleHint = QFont__StyleHint(QFont__Courier) + QFont__OldEnglish QFont__StyleHint = QFont__StyleHint(3) + QFont__Decorative QFont__StyleHint = QFont__StyleHint(QFont__OldEnglish) + QFont__System QFont__StyleHint = QFont__StyleHint(4) + QFont__AnyStyle QFont__StyleHint = QFont__StyleHint(5) + QFont__Cursive QFont__StyleHint = QFont__StyleHint(6) + QFont__Monospace QFont__StyleHint = QFont__StyleHint(7) + QFont__Fantasy QFont__StyleHint = QFont__StyleHint(8) +) + +//go:generate stringer -type=QFont__StyleStrategy +//QFont::StyleStrategy +type QFont__StyleStrategy int64 + +var ( + QFont__PreferDefault QFont__StyleStrategy = QFont__StyleStrategy(0x0001) + QFont__PreferBitmap QFont__StyleStrategy = QFont__StyleStrategy(0x0002) + QFont__PreferDevice QFont__StyleStrategy = QFont__StyleStrategy(0x0004) + QFont__PreferOutline QFont__StyleStrategy = QFont__StyleStrategy(0x0008) + QFont__ForceOutline QFont__StyleStrategy = QFont__StyleStrategy(0x0010) + QFont__PreferMatch QFont__StyleStrategy = QFont__StyleStrategy(0x0020) + QFont__PreferQuality QFont__StyleStrategy = QFont__StyleStrategy(0x0040) + QFont__PreferAntialias QFont__StyleStrategy = QFont__StyleStrategy(0x0080) + QFont__NoAntialias QFont__StyleStrategy = QFont__StyleStrategy(0x0100) + QFont__OpenGLCompatible QFont__StyleStrategy = QFont__StyleStrategy(0x0200) + QFont__ForceIntegerMetrics QFont__StyleStrategy = QFont__StyleStrategy(0x0400) + QFont__NoSubpixelAntialias QFont__StyleStrategy = QFont__StyleStrategy(0x0800) + QFont__PreferNoShaping QFont__StyleStrategy = QFont__StyleStrategy(0x1000) + QFont__NoFontMerging QFont__StyleStrategy = QFont__StyleStrategy(0x8000) +) + +//go:generate stringer -type=QFont__HintingPreference +//QFont::HintingPreference +type QFont__HintingPreference int64 + +const ( + QFont__PreferDefaultHinting QFont__HintingPreference = QFont__HintingPreference(0) + QFont__PreferNoHinting QFont__HintingPreference = QFont__HintingPreference(1) + QFont__PreferVerticalHinting QFont__HintingPreference = QFont__HintingPreference(2) + QFont__PreferFullHinting QFont__HintingPreference = QFont__HintingPreference(3) +) + +//go:generate stringer -type=QFont__Weight +//QFont::Weight +type QFont__Weight int64 + +const ( + QFont__Thin QFont__Weight = QFont__Weight(0) + QFont__ExtraLight QFont__Weight = QFont__Weight(12) + QFont__Light QFont__Weight = QFont__Weight(25) + QFont__Normal QFont__Weight = QFont__Weight(50) + QFont__Medium QFont__Weight = QFont__Weight(57) + QFont__DemiBold QFont__Weight = QFont__Weight(63) + QFont__Bold QFont__Weight = QFont__Weight(75) + QFont__ExtraBold QFont__Weight = QFont__Weight(81) + QFont__Black QFont__Weight = QFont__Weight(87) +) + +//go:generate stringer -type=QFont__Style +//QFont::Style +type QFont__Style int64 + +var ( + QFont__StyleNormal QFont__Style = QFont__Style(0) + QFont__StyleItalic QFont__Style = QFont__Style(1) + QFont__StyleOblique QFont__Style = QFont__Style(2) +) + +//go:generate stringer -type=QFont__Stretch +//QFont::Stretch +type QFont__Stretch int64 + +const ( + QFont__AnyStretch QFont__Stretch = QFont__Stretch(0) + QFont__UltraCondensed QFont__Stretch = QFont__Stretch(50) + QFont__ExtraCondensed QFont__Stretch = QFont__Stretch(62) + QFont__Condensed QFont__Stretch = QFont__Stretch(75) + QFont__SemiCondensed QFont__Stretch = QFont__Stretch(87) + QFont__Unstretched QFont__Stretch = QFont__Stretch(100) + QFont__SemiExpanded QFont__Stretch = QFont__Stretch(112) + QFont__Expanded QFont__Stretch = QFont__Stretch(125) + QFont__ExtraExpanded QFont__Stretch = QFont__Stretch(150) + QFont__UltraExpanded QFont__Stretch = QFont__Stretch(200) +) + +//go:generate stringer -type=QFont__Capitalization +//QFont::Capitalization +type QFont__Capitalization int64 + +const ( + QFont__MixedCase QFont__Capitalization = QFont__Capitalization(0) + QFont__AllUppercase QFont__Capitalization = QFont__Capitalization(1) + QFont__AllLowercase QFont__Capitalization = QFont__Capitalization(2) + QFont__SmallCaps QFont__Capitalization = QFont__Capitalization(3) + QFont__Capitalize QFont__Capitalization = QFont__Capitalization(4) +) + +//go:generate stringer -type=QFont__SpacingType +//QFont::SpacingType +type QFont__SpacingType int64 + +const ( + QFont__PercentageSpacing QFont__SpacingType = QFont__SpacingType(0) + QFont__AbsoluteSpacing QFont__SpacingType = QFont__SpacingType(1) +) + +func NewQFont() *QFont { + tmpValue := NewQFontFromPointer(C.QFont_NewQFont()) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue +} + +func NewQFont2(family string, pointSize int, weight int, italic bool) *QFont { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + tmpValue := NewQFontFromPointer(C.QFont_NewQFont2(C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.int(int32(pointSize)), C.int(int32(weight)), C.char(int8(qt.GoBoolToInt(italic))))) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue +} + +func NewQFont4(font QFont_ITF, pd QPaintDevice_ITF) *QFont { + tmpValue := NewQFontFromPointer(C.QFont_NewQFont4(PointerFromQFont(font), PointerFromQPaintDevice(pd))) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue +} + +func NewQFont5(font QFont_ITF) *QFont { + tmpValue := NewQFontFromPointer(C.QFont_NewQFont5(PointerFromQFont(font))) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue +} + +func (ptr *QFont) Bold() bool { + if ptr.Pointer() != nil { + return int8(C.QFont_Bold(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFont) Capitalization() QFont__Capitalization { + if ptr.Pointer() != nil { + return QFont__Capitalization(C.QFont_Capitalization(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFont) DefaultFamily() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFont_DefaultFamily(ptr.Pointer())) + } + return "" +} + +func (ptr *QFont) ExactMatch() bool { + if ptr.Pointer() != nil { + return int8(C.QFont_ExactMatch(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFont) Families() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QFont_Families(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QFont) Family() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFont_Family(ptr.Pointer())) + } + return "" +} + +func (ptr *QFont) FixedPitch() bool { + if ptr.Pointer() != nil { + return int8(C.QFont_FixedPitch(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFont) FromString(descrip string) bool { + if ptr.Pointer() != nil { + var descripC *C.char + if descrip != "" { + descripC = C.CString(descrip) + defer C.free(unsafe.Pointer(descripC)) + } + return int8(C.QFont_FromString(ptr.Pointer(), C.struct_QtGui_PackedString{data: descripC, len: C.longlong(len(descrip))})) != 0 + } + return false +} + +func (ptr *QFont) HintingPreference() QFont__HintingPreference { + if ptr.Pointer() != nil { + return QFont__HintingPreference(C.QFont_HintingPreference(ptr.Pointer())) + } + return 0 +} + +func QFont_InsertSubstitution(familyName string, substituteName string) { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + var substituteNameC *C.char + if substituteName != "" { + substituteNameC = C.CString(substituteName) + defer C.free(unsafe.Pointer(substituteNameC)) + } + C.QFont_QFont_InsertSubstitution(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))}, C.struct_QtGui_PackedString{data: substituteNameC, len: C.longlong(len(substituteName))}) +} + +func (ptr *QFont) InsertSubstitution(familyName string, substituteName string) { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + var substituteNameC *C.char + if substituteName != "" { + substituteNameC = C.CString(substituteName) + defer C.free(unsafe.Pointer(substituteNameC)) + } + C.QFont_QFont_InsertSubstitution(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))}, C.struct_QtGui_PackedString{data: substituteNameC, len: C.longlong(len(substituteName))}) +} + +func QFont_InsertSubstitutions(familyName string, substituteNames []string) { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + substituteNamesC := C.CString(strings.Join(substituteNames, "¡¦!")) + defer C.free(unsafe.Pointer(substituteNamesC)) + C.QFont_QFont_InsertSubstitutions(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))}, C.struct_QtGui_PackedString{data: substituteNamesC, len: C.longlong(len(strings.Join(substituteNames, "¡¦!")))}) +} + +func (ptr *QFont) InsertSubstitutions(familyName string, substituteNames []string) { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + substituteNamesC := C.CString(strings.Join(substituteNames, "¡¦!")) + defer C.free(unsafe.Pointer(substituteNamesC)) + C.QFont_QFont_InsertSubstitutions(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))}, C.struct_QtGui_PackedString{data: substituteNamesC, len: C.longlong(len(strings.Join(substituteNames, "¡¦!")))}) +} + +func (ptr *QFont) IsCopyOf(ff QFont_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QFont_IsCopyOf(ptr.Pointer(), PointerFromQFont(ff))) != 0 + } + return false +} + +func (ptr *QFont) Italic() bool { + if ptr.Pointer() != nil { + return int8(C.QFont_Italic(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFont) Kerning() bool { + if ptr.Pointer() != nil { + return int8(C.QFont_Kerning(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFont) Key() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFont_Key(ptr.Pointer())) + } + return "" +} + +func (ptr *QFont) LetterSpacing() float64 { + if ptr.Pointer() != nil { + return float64(C.QFont_LetterSpacing(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFont) LetterSpacingType() QFont__SpacingType { + if ptr.Pointer() != nil { + return QFont__SpacingType(C.QFont_LetterSpacingType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFont) Overline() bool { + if ptr.Pointer() != nil { + return int8(C.QFont_Overline(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFont) PixelSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QFont_PixelSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFont) PointSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QFont_PointSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFont) PointSizeF() float64 { + if ptr.Pointer() != nil { + return float64(C.QFont_PointSizeF(ptr.Pointer())) + } + return 0 +} + +func QFont_RemoveSubstitutions(familyName string) { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + C.QFont_QFont_RemoveSubstitutions(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))}) +} + +func (ptr *QFont) RemoveSubstitutions(familyName string) { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + C.QFont_QFont_RemoveSubstitutions(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))}) +} + +func (ptr *QFont) Resolve(other QFont_ITF) *QFont { + if ptr.Pointer() != nil { + tmpValue := NewQFontFromPointer(C.QFont_Resolve(ptr.Pointer(), PointerFromQFont(other))) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue + } + return nil +} + +func (ptr *QFont) SetBold(enable bool) { + if ptr.Pointer() != nil { + C.QFont_SetBold(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QFont) SetCapitalization(caps QFont__Capitalization) { + if ptr.Pointer() != nil { + C.QFont_SetCapitalization(ptr.Pointer(), C.longlong(caps)) + } +} + +func (ptr *QFont) SetFamilies(families []string) { + if ptr.Pointer() != nil { + familiesC := C.CString(strings.Join(families, "¡¦!")) + defer C.free(unsafe.Pointer(familiesC)) + C.QFont_SetFamilies(ptr.Pointer(), C.struct_QtGui_PackedString{data: familiesC, len: C.longlong(len(strings.Join(families, "¡¦!")))}) + } +} + +func (ptr *QFont) SetFamily(family string) { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + C.QFont_SetFamily(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}) + } +} + +func (ptr *QFont) SetFixedPitch(enable bool) { + if ptr.Pointer() != nil { + C.QFont_SetFixedPitch(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QFont) SetHintingPreference(hintingPreference QFont__HintingPreference) { + if ptr.Pointer() != nil { + C.QFont_SetHintingPreference(ptr.Pointer(), C.longlong(hintingPreference)) + } +} + +func (ptr *QFont) SetItalic(enable bool) { + if ptr.Pointer() != nil { + C.QFont_SetItalic(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QFont) SetKerning(enable bool) { + if ptr.Pointer() != nil { + C.QFont_SetKerning(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QFont) SetLetterSpacing(ty QFont__SpacingType, spacing float64) { + if ptr.Pointer() != nil { + C.QFont_SetLetterSpacing(ptr.Pointer(), C.longlong(ty), C.double(spacing)) + } +} + +func (ptr *QFont) SetOverline(enable bool) { + if ptr.Pointer() != nil { + C.QFont_SetOverline(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QFont) SetPixelSize(pixelSize int) { + if ptr.Pointer() != nil { + C.QFont_SetPixelSize(ptr.Pointer(), C.int(int32(pixelSize))) + } +} + +func (ptr *QFont) SetPointSize(pointSize int) { + if ptr.Pointer() != nil { + C.QFont_SetPointSize(ptr.Pointer(), C.int(int32(pointSize))) + } +} + +func (ptr *QFont) SetPointSizeF(pointSize float64) { + if ptr.Pointer() != nil { + C.QFont_SetPointSizeF(ptr.Pointer(), C.double(pointSize)) + } +} + +func (ptr *QFont) SetStretch(factor int) { + if ptr.Pointer() != nil { + C.QFont_SetStretch(ptr.Pointer(), C.int(int32(factor))) + } +} + +func (ptr *QFont) SetStrikeOut(enable bool) { + if ptr.Pointer() != nil { + C.QFont_SetStrikeOut(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QFont) SetStyle(style QFont__Style) { + if ptr.Pointer() != nil { + C.QFont_SetStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QFont) SetStyleHint(hint QFont__StyleHint, strategy QFont__StyleStrategy) { + if ptr.Pointer() != nil { + C.QFont_SetStyleHint(ptr.Pointer(), C.longlong(hint), C.longlong(strategy)) + } +} + +func (ptr *QFont) SetStyleName(styleName string) { + if ptr.Pointer() != nil { + var styleNameC *C.char + if styleName != "" { + styleNameC = C.CString(styleName) + defer C.free(unsafe.Pointer(styleNameC)) + } + C.QFont_SetStyleName(ptr.Pointer(), C.struct_QtGui_PackedString{data: styleNameC, len: C.longlong(len(styleName))}) + } +} + +func (ptr *QFont) SetStyleStrategy(s QFont__StyleStrategy) { + if ptr.Pointer() != nil { + C.QFont_SetStyleStrategy(ptr.Pointer(), C.longlong(s)) + } +} + +func (ptr *QFont) SetUnderline(enable bool) { + if ptr.Pointer() != nil { + C.QFont_SetUnderline(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QFont) SetWeight(weight int) { + if ptr.Pointer() != nil { + C.QFont_SetWeight(ptr.Pointer(), C.int(int32(weight))) + } +} + +func (ptr *QFont) SetWordSpacing(spacing float64) { + if ptr.Pointer() != nil { + C.QFont_SetWordSpacing(ptr.Pointer(), C.double(spacing)) + } +} + +func (ptr *QFont) Stretch() int { + if ptr.Pointer() != nil { + return int(int32(C.QFont_Stretch(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFont) StrikeOut() bool { + if ptr.Pointer() != nil { + return int8(C.QFont_StrikeOut(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFont) Style() QFont__Style { + if ptr.Pointer() != nil { + return QFont__Style(C.QFont_Style(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFont) StyleHint() QFont__StyleHint { + if ptr.Pointer() != nil { + return QFont__StyleHint(C.QFont_StyleHint(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFont) StyleName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFont_StyleName(ptr.Pointer())) + } + return "" +} + +func (ptr *QFont) StyleStrategy() QFont__StyleStrategy { + if ptr.Pointer() != nil { + return QFont__StyleStrategy(C.QFont_StyleStrategy(ptr.Pointer())) + } + return 0 +} + +func QFont_Substitute(familyName string) string { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + return cGoUnpackString(C.QFont_QFont_Substitute(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))})) +} + +func (ptr *QFont) Substitute(familyName string) string { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + return cGoUnpackString(C.QFont_QFont_Substitute(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))})) +} + +func QFont_Substitutes(familyName string) []string { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + return unpackStringList(cGoUnpackString(C.QFont_QFont_Substitutes(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))}))) +} + +func (ptr *QFont) Substitutes(familyName string) []string { + var familyNameC *C.char + if familyName != "" { + familyNameC = C.CString(familyName) + defer C.free(unsafe.Pointer(familyNameC)) + } + return unpackStringList(cGoUnpackString(C.QFont_QFont_Substitutes(C.struct_QtGui_PackedString{data: familyNameC, len: C.longlong(len(familyName))}))) +} + +func QFont_Substitutions() []string { + return unpackStringList(cGoUnpackString(C.QFont_QFont_Substitutions())) +} + +func (ptr *QFont) Substitutions() []string { + return unpackStringList(cGoUnpackString(C.QFont_QFont_Substitutions())) +} + +func (ptr *QFont) Swap(other QFont_ITF) { + if ptr.Pointer() != nil { + C.QFont_Swap(ptr.Pointer(), PointerFromQFont(other)) + } +} + +func (ptr *QFont) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFont_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QFont) Underline() bool { + if ptr.Pointer() != nil { + return int8(C.QFont_Underline(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFont) Weight() int { + if ptr.Pointer() != nil { + return int(int32(C.QFont_Weight(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFont) WordSpacing() float64 { + if ptr.Pointer() != nil { + return float64(C.QFont_WordSpacing(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFont) DestroyQFont() { + if ptr.Pointer() != nil { + C.QFont_DestroyQFont(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QFont) ToVariant() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QFont_ToVariant(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +type QFontDatabase struct { + ptr unsafe.Pointer +} + +type QFontDatabase_ITF interface { + QFontDatabase_PTR() *QFontDatabase +} + +func (ptr *QFontDatabase) QFontDatabase_PTR() *QFontDatabase { + return ptr +} + +func (ptr *QFontDatabase) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFontDatabase) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFontDatabase(ptr QFontDatabase_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFontDatabase_PTR().Pointer() + } + return nil +} + +func NewQFontDatabaseFromPointer(ptr unsafe.Pointer) (n *QFontDatabase) { + n = new(QFontDatabase) + n.SetPointer(ptr) + return +} + +func (ptr *QFontDatabase) DestroyQFontDatabase() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QFontDatabase__WritingSystem +//QFontDatabase::WritingSystem +type QFontDatabase__WritingSystem int64 + +const ( + QFontDatabase__Any QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(0) + QFontDatabase__Latin QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(1) + QFontDatabase__Greek QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(2) + QFontDatabase__Cyrillic QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(3) + QFontDatabase__Armenian QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(4) + QFontDatabase__Hebrew QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(5) + QFontDatabase__Arabic QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(6) + QFontDatabase__Syriac QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(7) + QFontDatabase__Thaana QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(8) + QFontDatabase__Devanagari QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(9) + QFontDatabase__Bengali QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(10) + QFontDatabase__Gurmukhi QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(11) + QFontDatabase__Gujarati QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(12) + QFontDatabase__Oriya QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(13) + QFontDatabase__Tamil QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(14) + QFontDatabase__Telugu QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(15) + QFontDatabase__Kannada QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(16) + QFontDatabase__Malayalam QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(17) + QFontDatabase__Sinhala QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(18) + QFontDatabase__Thai QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(19) + QFontDatabase__Lao QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(20) + QFontDatabase__Tibetan QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(21) + QFontDatabase__Myanmar QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(22) + QFontDatabase__Georgian QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(23) + QFontDatabase__Khmer QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(24) + QFontDatabase__SimplifiedChinese QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(25) + QFontDatabase__TraditionalChinese QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(26) + QFontDatabase__Japanese QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(27) + QFontDatabase__Korean QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(28) + QFontDatabase__Vietnamese QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(29) + QFontDatabase__Symbol QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(30) + QFontDatabase__Other QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(QFontDatabase__Symbol) + QFontDatabase__Ogham QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(31) + QFontDatabase__Runic QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(32) + QFontDatabase__Nko QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(33) + QFontDatabase__WritingSystemsCount QFontDatabase__WritingSystem = QFontDatabase__WritingSystem(34) +) + +//go:generate stringer -type=QFontDatabase__SystemFont +//QFontDatabase::SystemFont +type QFontDatabase__SystemFont int64 + +const ( + QFontDatabase__GeneralFont QFontDatabase__SystemFont = QFontDatabase__SystemFont(0) + QFontDatabase__FixedFont QFontDatabase__SystemFont = QFontDatabase__SystemFont(1) + QFontDatabase__TitleFont QFontDatabase__SystemFont = QFontDatabase__SystemFont(2) + QFontDatabase__SmallestReadableFont QFontDatabase__SystemFont = QFontDatabase__SystemFont(3) +) + +func NewQFontDatabase() *QFontDatabase { + tmpValue := NewQFontDatabaseFromPointer(C.QFontDatabase_NewQFontDatabase()) + runtime.SetFinalizer(tmpValue, (*QFontDatabase).DestroyQFontDatabase) + return tmpValue +} + +func QFontDatabase_AddApplicationFont(fileName string) int { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int(int32(C.QFontDatabase_QFontDatabase_AddApplicationFont(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}))) +} + +func (ptr *QFontDatabase) AddApplicationFont(fileName string) int { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int(int32(C.QFontDatabase_QFontDatabase_AddApplicationFont(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}))) +} + +func QFontDatabase_AddApplicationFontFromData(fontData core.QByteArray_ITF) int { + return int(int32(C.QFontDatabase_QFontDatabase_AddApplicationFontFromData(core.PointerFromQByteArray(fontData)))) +} + +func (ptr *QFontDatabase) AddApplicationFontFromData(fontData core.QByteArray_ITF) int { + return int(int32(C.QFontDatabase_QFontDatabase_AddApplicationFontFromData(core.PointerFromQByteArray(fontData)))) +} + +func QFontDatabase_ApplicationFontFamilies(id int) []string { + return unpackStringList(cGoUnpackString(C.QFontDatabase_QFontDatabase_ApplicationFontFamilies(C.int(int32(id))))) +} + +func (ptr *QFontDatabase) ApplicationFontFamilies(id int) []string { + return unpackStringList(cGoUnpackString(C.QFontDatabase_QFontDatabase_ApplicationFontFamilies(C.int(int32(id))))) +} + +func (ptr *QFontDatabase) Bold(family string, style string) bool { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleC *C.char + if style != "" { + styleC = C.CString(style) + defer C.free(unsafe.Pointer(styleC)) + } + return int8(C.QFontDatabase_Bold(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleC, len: C.longlong(len(style))})) != 0 + } + return false +} + +func (ptr *QFontDatabase) Families(writingSystem QFontDatabase__WritingSystem) []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QFontDatabase_Families(ptr.Pointer(), C.longlong(writingSystem)))) + } + return make([]string, 0) +} + +func (ptr *QFontDatabase) Font(family string, style string, pointSize int) *QFont { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleC *C.char + if style != "" { + styleC = C.CString(style) + defer C.free(unsafe.Pointer(styleC)) + } + tmpValue := NewQFontFromPointer(C.QFontDatabase_Font(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleC, len: C.longlong(len(style))}, C.int(int32(pointSize)))) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue + } + return nil +} + +func (ptr *QFontDatabase) IsBitmapScalable(family string, style string) bool { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleC *C.char + if style != "" { + styleC = C.CString(style) + defer C.free(unsafe.Pointer(styleC)) + } + return int8(C.QFontDatabase_IsBitmapScalable(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleC, len: C.longlong(len(style))})) != 0 + } + return false +} + +func (ptr *QFontDatabase) IsFixedPitch(family string, style string) bool { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleC *C.char + if style != "" { + styleC = C.CString(style) + defer C.free(unsafe.Pointer(styleC)) + } + return int8(C.QFontDatabase_IsFixedPitch(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleC, len: C.longlong(len(style))})) != 0 + } + return false +} + +func (ptr *QFontDatabase) IsPrivateFamily(family string) bool { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + return int8(C.QFontDatabase_IsPrivateFamily(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))})) != 0 + } + return false +} + +func (ptr *QFontDatabase) IsScalable(family string, style string) bool { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleC *C.char + if style != "" { + styleC = C.CString(style) + defer C.free(unsafe.Pointer(styleC)) + } + return int8(C.QFontDatabase_IsScalable(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleC, len: C.longlong(len(style))})) != 0 + } + return false +} + +func (ptr *QFontDatabase) IsSmoothlyScalable(family string, style string) bool { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleC *C.char + if style != "" { + styleC = C.CString(style) + defer C.free(unsafe.Pointer(styleC)) + } + return int8(C.QFontDatabase_IsSmoothlyScalable(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleC, len: C.longlong(len(style))})) != 0 + } + return false +} + +func (ptr *QFontDatabase) Italic(family string, style string) bool { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleC *C.char + if style != "" { + styleC = C.CString(style) + defer C.free(unsafe.Pointer(styleC)) + } + return int8(C.QFontDatabase_Italic(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleC, len: C.longlong(len(style))})) != 0 + } + return false +} + +func (ptr *QFontDatabase) PointSizes(family string, styleName string) []int { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleNameC *C.char + if styleName != "" { + styleNameC = C.CString(styleName) + defer C.free(unsafe.Pointer(styleNameC)) + } + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQFontDatabaseFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__pointSizes_atList(i) + } + return out + }(C.QFontDatabase_PointSizes(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleNameC, len: C.longlong(len(styleName))})) + } + return make([]int, 0) +} + +func QFontDatabase_RemoveAllApplicationFonts() bool { + return int8(C.QFontDatabase_QFontDatabase_RemoveAllApplicationFonts()) != 0 +} + +func (ptr *QFontDatabase) RemoveAllApplicationFonts() bool { + return int8(C.QFontDatabase_QFontDatabase_RemoveAllApplicationFonts()) != 0 +} + +func QFontDatabase_RemoveApplicationFont(id int) bool { + return int8(C.QFontDatabase_QFontDatabase_RemoveApplicationFont(C.int(int32(id)))) != 0 +} + +func (ptr *QFontDatabase) RemoveApplicationFont(id int) bool { + return int8(C.QFontDatabase_QFontDatabase_RemoveApplicationFont(C.int(int32(id)))) != 0 +} + +func (ptr *QFontDatabase) SmoothSizes(family string, styleName string) []int { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleNameC *C.char + if styleName != "" { + styleNameC = C.CString(styleName) + defer C.free(unsafe.Pointer(styleNameC)) + } + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQFontDatabaseFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__smoothSizes_atList(i) + } + return out + }(C.QFontDatabase_SmoothSizes(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleNameC, len: C.longlong(len(styleName))})) + } + return make([]int, 0) +} + +func QFontDatabase_StandardSizes() []int { + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQFontDatabaseFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__standardSizes_atList(i) + } + return out + }(C.QFontDatabase_QFontDatabase_StandardSizes()) +} + +func (ptr *QFontDatabase) StandardSizes() []int { + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQFontDatabaseFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__standardSizes_atList(i) + } + return out + }(C.QFontDatabase_QFontDatabase_StandardSizes()) +} + +func (ptr *QFontDatabase) StyleString(font QFont_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFontDatabase_StyleString(ptr.Pointer(), PointerFromQFont(font))) + } + return "" +} + +func (ptr *QFontDatabase) StyleString2(fontInfo QFontInfo_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFontDatabase_StyleString2(ptr.Pointer(), PointerFromQFontInfo(fontInfo))) + } + return "" +} + +func (ptr *QFontDatabase) Styles(family string) []string { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + return unpackStringList(cGoUnpackString(C.QFontDatabase_Styles(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}))) + } + return make([]string, 0) +} + +func QFontDatabase_SystemFont(ty QFontDatabase__SystemFont) *QFont { + tmpValue := NewQFontFromPointer(C.QFontDatabase_QFontDatabase_SystemFont(C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue +} + +func (ptr *QFontDatabase) SystemFont(ty QFontDatabase__SystemFont) *QFont { + tmpValue := NewQFontFromPointer(C.QFontDatabase_QFontDatabase_SystemFont(C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue +} + +func (ptr *QFontDatabase) Weight(family string, style string) int { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + var styleC *C.char + if style != "" { + styleC = C.CString(style) + defer C.free(unsafe.Pointer(styleC)) + } + return int(int32(C.QFontDatabase_Weight(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}, C.struct_QtGui_PackedString{data: styleC, len: C.longlong(len(style))}))) + } + return 0 +} + +func (ptr *QFontDatabase) __pointSizes_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QFontDatabase___pointSizes_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QFontDatabase) __pointSizes_setList(i int) { + if ptr.Pointer() != nil { + C.QFontDatabase___pointSizes_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QFontDatabase) __pointSizes_newList() unsafe.Pointer { + return C.QFontDatabase___pointSizes_newList(ptr.Pointer()) +} + +func (ptr *QFontDatabase) __smoothSizes_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QFontDatabase___smoothSizes_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QFontDatabase) __smoothSizes_setList(i int) { + if ptr.Pointer() != nil { + C.QFontDatabase___smoothSizes_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QFontDatabase) __smoothSizes_newList() unsafe.Pointer { + return C.QFontDatabase___smoothSizes_newList(ptr.Pointer()) +} + +func (ptr *QFontDatabase) __standardSizes_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QFontDatabase___standardSizes_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QFontDatabase) __standardSizes_setList(i int) { + if ptr.Pointer() != nil { + C.QFontDatabase___standardSizes_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QFontDatabase) __standardSizes_newList() unsafe.Pointer { + return C.QFontDatabase___standardSizes_newList(ptr.Pointer()) +} + +type QFontDialogOptions struct { + ptr unsafe.Pointer +} + +type QFontDialogOptions_ITF interface { + QFontDialogOptions_PTR() *QFontDialogOptions +} + +func (ptr *QFontDialogOptions) QFontDialogOptions_PTR() *QFontDialogOptions { + return ptr +} + +func (ptr *QFontDialogOptions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFontDialogOptions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFontDialogOptions(ptr QFontDialogOptions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFontDialogOptions_PTR().Pointer() + } + return nil +} + +func NewQFontDialogOptionsFromPointer(ptr unsafe.Pointer) (n *QFontDialogOptions) { + n = new(QFontDialogOptions) + n.SetPointer(ptr) + return +} + +func (ptr *QFontDialogOptions) DestroyQFontDialogOptions() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFontInfo struct { + ptr unsafe.Pointer +} + +type QFontInfo_ITF interface { + QFontInfo_PTR() *QFontInfo +} + +func (ptr *QFontInfo) QFontInfo_PTR() *QFontInfo { + return ptr +} + +func (ptr *QFontInfo) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFontInfo) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFontInfo(ptr QFontInfo_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFontInfo_PTR().Pointer() + } + return nil +} + +func NewQFontInfoFromPointer(ptr unsafe.Pointer) (n *QFontInfo) { + n = new(QFontInfo) + n.SetPointer(ptr) + return +} +func NewQFontInfo(font QFont_ITF) *QFontInfo { + tmpValue := NewQFontInfoFromPointer(C.QFontInfo_NewQFontInfo(PointerFromQFont(font))) + runtime.SetFinalizer(tmpValue, (*QFontInfo).DestroyQFontInfo) + return tmpValue +} + +func NewQFontInfo2(fi QFontInfo_ITF) *QFontInfo { + tmpValue := NewQFontInfoFromPointer(C.QFontInfo_NewQFontInfo2(PointerFromQFontInfo(fi))) + runtime.SetFinalizer(tmpValue, (*QFontInfo).DestroyQFontInfo) + return tmpValue +} + +func (ptr *QFontInfo) Bold() bool { + if ptr.Pointer() != nil { + return int8(C.QFontInfo_Bold(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFontInfo) ExactMatch() bool { + if ptr.Pointer() != nil { + return int8(C.QFontInfo_ExactMatch(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFontInfo) Family() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFontInfo_Family(ptr.Pointer())) + } + return "" +} + +func (ptr *QFontInfo) FixedPitch() bool { + if ptr.Pointer() != nil { + return int8(C.QFontInfo_FixedPitch(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFontInfo) Italic() bool { + if ptr.Pointer() != nil { + return int8(C.QFontInfo_Italic(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QFontInfo) PixelSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontInfo_PixelSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontInfo) PointSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontInfo_PointSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontInfo) PointSizeF() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontInfo_PointSizeF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontInfo) Style() QFont__Style { + if ptr.Pointer() != nil { + return QFont__Style(C.QFontInfo_Style(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontInfo) StyleHint() QFont__StyleHint { + if ptr.Pointer() != nil { + return QFont__StyleHint(C.QFontInfo_StyleHint(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontInfo) StyleName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QFontInfo_StyleName(ptr.Pointer())) + } + return "" +} + +func (ptr *QFontInfo) Swap(other QFontInfo_ITF) { + if ptr.Pointer() != nil { + C.QFontInfo_Swap(ptr.Pointer(), PointerFromQFontInfo(other)) + } +} + +func (ptr *QFontInfo) Weight() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontInfo_Weight(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontInfo) DestroyQFontInfo() { + if ptr.Pointer() != nil { + C.QFontInfo_DestroyQFontInfo(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFontMetrics struct { + ptr unsafe.Pointer +} + +type QFontMetrics_ITF interface { + QFontMetrics_PTR() *QFontMetrics +} + +func (ptr *QFontMetrics) QFontMetrics_PTR() *QFontMetrics { + return ptr +} + +func (ptr *QFontMetrics) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFontMetrics) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFontMetrics(ptr QFontMetrics_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFontMetrics_PTR().Pointer() + } + return nil +} + +func NewQFontMetricsFromPointer(ptr unsafe.Pointer) (n *QFontMetrics) { + n = new(QFontMetrics) + n.SetPointer(ptr) + return +} +func NewQFontMetrics(font QFont_ITF) *QFontMetrics { + tmpValue := NewQFontMetricsFromPointer(C.QFontMetrics_NewQFontMetrics(PointerFromQFont(font))) + runtime.SetFinalizer(tmpValue, (*QFontMetrics).DestroyQFontMetrics) + return tmpValue +} + +func NewQFontMetrics3(font QFont_ITF, paintdevice QPaintDevice_ITF) *QFontMetrics { + tmpValue := NewQFontMetricsFromPointer(C.QFontMetrics_NewQFontMetrics3(PointerFromQFont(font), PointerFromQPaintDevice(paintdevice))) + runtime.SetFinalizer(tmpValue, (*QFontMetrics).DestroyQFontMetrics) + return tmpValue +} + +func NewQFontMetrics4(fm QFontMetrics_ITF) *QFontMetrics { + tmpValue := NewQFontMetricsFromPointer(C.QFontMetrics_NewQFontMetrics4(PointerFromQFontMetrics(fm))) + runtime.SetFinalizer(tmpValue, (*QFontMetrics).DestroyQFontMetrics) + return tmpValue +} + +func (ptr *QFontMetrics) Ascent() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_Ascent(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) AverageCharWidth() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_AverageCharWidth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) BoundingRect(ch core.QChar_ITF) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QFontMetrics_BoundingRect(ptr.Pointer(), core.PointerFromQChar(ch))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QFontMetrics) BoundingRect2(text string) *core.QRect { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFromPointer(C.QFontMetrics_BoundingRect2(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QFontMetrics) BoundingRect3(rect core.QRect_ITF, flags int, text string, tabStops int, tabArray int) *core.QRect { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFromPointer(C.QFontMetrics_BoundingRect3(ptr.Pointer(), core.PointerFromQRect(rect), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.int(int32(tabStops)), C.int(int32(tabArray)))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QFontMetrics) BoundingRect4(x int, y int, width int, height int, flags int, text string, tabStops int, tabArray int) *core.QRect { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFromPointer(C.QFontMetrics_BoundingRect4(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.int(int32(tabStops)), C.int(int32(tabArray)))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QFontMetrics) CapHeight() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_CapHeight(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) Descent() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_Descent(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) ElidedText(text string, mode core.Qt__TextElideMode, width int, flags int) string { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return cGoUnpackString(C.QFontMetrics_ElidedText(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.longlong(mode), C.int(int32(width)), C.int(int32(flags)))) + } + return "" +} + +func (ptr *QFontMetrics) Height() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_Height(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) HorizontalAdvance(text string, l int) int { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return int(int32(C.QFontMetrics_HorizontalAdvance(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.int(int32(l))))) + } + return 0 +} + +func (ptr *QFontMetrics) HorizontalAdvance2(ch core.QChar_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_HorizontalAdvance2(ptr.Pointer(), core.PointerFromQChar(ch)))) + } + return 0 +} + +func (ptr *QFontMetrics) InFont(ch core.QChar_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QFontMetrics_InFont(ptr.Pointer(), core.PointerFromQChar(ch))) != 0 + } + return false +} + +func (ptr *QFontMetrics) InFontUcs4(ucs4 uint) bool { + if ptr.Pointer() != nil { + return int8(C.QFontMetrics_InFontUcs4(ptr.Pointer(), C.uint(uint32(ucs4)))) != 0 + } + return false +} + +func (ptr *QFontMetrics) Leading() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_Leading(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) LeftBearing(ch core.QChar_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_LeftBearing(ptr.Pointer(), core.PointerFromQChar(ch)))) + } + return 0 +} + +func (ptr *QFontMetrics) LineSpacing() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_LineSpacing(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) LineWidth() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_LineWidth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) MaxWidth() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_MaxWidth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) MinLeftBearing() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_MinLeftBearing(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) MinRightBearing() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_MinRightBearing(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) OverlinePos() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_OverlinePos(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) RightBearing(ch core.QChar_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_RightBearing(ptr.Pointer(), core.PointerFromQChar(ch)))) + } + return 0 +} + +func (ptr *QFontMetrics) Size(flags int, text string, tabStops int, tabArray int) *core.QSize { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQSizeFromPointer(C.QFontMetrics_Size(ptr.Pointer(), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.int(int32(tabStops)), C.int(int32(tabArray)))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QFontMetrics) StrikeOutPos() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_StrikeOutPos(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) Swap(other QFontMetrics_ITF) { + if ptr.Pointer() != nil { + C.QFontMetrics_Swap(ptr.Pointer(), PointerFromQFontMetrics(other)) + } +} + +func (ptr *QFontMetrics) TightBoundingRect(text string) *core.QRect { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFromPointer(C.QFontMetrics_TightBoundingRect(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QFontMetrics) UnderlinePos() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_UnderlinePos(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) XHeight() int { + if ptr.Pointer() != nil { + return int(int32(C.QFontMetrics_XHeight(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QFontMetrics) DestroyQFontMetrics() { + if ptr.Pointer() != nil { + C.QFontMetrics_DestroyQFontMetrics(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QFontMetricsF struct { + ptr unsafe.Pointer +} + +type QFontMetricsF_ITF interface { + QFontMetricsF_PTR() *QFontMetricsF +} + +func (ptr *QFontMetricsF) QFontMetricsF_PTR() *QFontMetricsF { + return ptr +} + +func (ptr *QFontMetricsF) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QFontMetricsF) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQFontMetricsF(ptr QFontMetricsF_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QFontMetricsF_PTR().Pointer() + } + return nil +} + +func NewQFontMetricsFFromPointer(ptr unsafe.Pointer) (n *QFontMetricsF) { + n = new(QFontMetricsF) + n.SetPointer(ptr) + return +} +func NewQFontMetricsF(font QFont_ITF) *QFontMetricsF { + tmpValue := NewQFontMetricsFFromPointer(C.QFontMetricsF_NewQFontMetricsF(PointerFromQFont(font))) + runtime.SetFinalizer(tmpValue, (*QFontMetricsF).DestroyQFontMetricsF) + return tmpValue +} + +func NewQFontMetricsF3(font QFont_ITF, paintdevice QPaintDevice_ITF) *QFontMetricsF { + tmpValue := NewQFontMetricsFFromPointer(C.QFontMetricsF_NewQFontMetricsF3(PointerFromQFont(font), PointerFromQPaintDevice(paintdevice))) + runtime.SetFinalizer(tmpValue, (*QFontMetricsF).DestroyQFontMetricsF) + return tmpValue +} + +func NewQFontMetricsF4(fontMetrics QFontMetrics_ITF) *QFontMetricsF { + tmpValue := NewQFontMetricsFFromPointer(C.QFontMetricsF_NewQFontMetricsF4(PointerFromQFontMetrics(fontMetrics))) + runtime.SetFinalizer(tmpValue, (*QFontMetricsF).DestroyQFontMetricsF) + return tmpValue +} + +func NewQFontMetricsF5(fm QFontMetricsF_ITF) *QFontMetricsF { + tmpValue := NewQFontMetricsFFromPointer(C.QFontMetricsF_NewQFontMetricsF5(PointerFromQFontMetricsF(fm))) + runtime.SetFinalizer(tmpValue, (*QFontMetricsF).DestroyQFontMetricsF) + return tmpValue +} + +func (ptr *QFontMetricsF) Ascent() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_Ascent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) AverageCharWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_AverageCharWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) BoundingRect(text string) *core.QRectF { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFFromPointer(C.QFontMetricsF_BoundingRect(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QFontMetricsF) BoundingRect2(ch core.QChar_ITF) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QFontMetricsF_BoundingRect2(ptr.Pointer(), core.PointerFromQChar(ch))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QFontMetricsF) BoundingRect3(rect core.QRectF_ITF, flags int, text string, tabStops int, tabArray int) *core.QRectF { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFFromPointer(C.QFontMetricsF_BoundingRect3(ptr.Pointer(), core.PointerFromQRectF(rect), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.int(int32(tabStops)), C.int(int32(tabArray)))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QFontMetricsF) CapHeight() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_CapHeight(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) Descent() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_Descent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) ElidedText(text string, mode core.Qt__TextElideMode, width float64, flags int) string { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return cGoUnpackString(C.QFontMetricsF_ElidedText(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.longlong(mode), C.double(width), C.int(int32(flags)))) + } + return "" +} + +func (ptr *QFontMetricsF) Height() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_Height(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) HorizontalAdvance(text string, length int) float64 { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return float64(C.QFontMetricsF_HorizontalAdvance(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.int(int32(length)))) + } + return 0 +} + +func (ptr *QFontMetricsF) HorizontalAdvance2(ch core.QChar_ITF) float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_HorizontalAdvance2(ptr.Pointer(), core.PointerFromQChar(ch))) + } + return 0 +} + +func (ptr *QFontMetricsF) InFont(ch core.QChar_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QFontMetricsF_InFont(ptr.Pointer(), core.PointerFromQChar(ch))) != 0 + } + return false +} + +func (ptr *QFontMetricsF) InFontUcs4(ch uint) bool { + if ptr.Pointer() != nil { + return int8(C.QFontMetricsF_InFontUcs4(ptr.Pointer(), C.uint(uint32(ch)))) != 0 + } + return false +} + +func (ptr *QFontMetricsF) Leading() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_Leading(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) LeftBearing(ch core.QChar_ITF) float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_LeftBearing(ptr.Pointer(), core.PointerFromQChar(ch))) + } + return 0 +} + +func (ptr *QFontMetricsF) LineSpacing() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_LineSpacing(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) LineWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_LineWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) MaxWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_MaxWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) MinLeftBearing() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_MinLeftBearing(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) MinRightBearing() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_MinRightBearing(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) OverlinePos() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_OverlinePos(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) RightBearing(ch core.QChar_ITF) float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_RightBearing(ptr.Pointer(), core.PointerFromQChar(ch))) + } + return 0 +} + +func (ptr *QFontMetricsF) Size(flags int, text string, tabStops int, tabArray int) *core.QSizeF { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQSizeFFromPointer(C.QFontMetricsF_Size(ptr.Pointer(), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.int(int32(tabStops)), C.int(int32(tabArray)))) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QFontMetricsF) StrikeOutPos() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_StrikeOutPos(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) Swap(other QFontMetricsF_ITF) { + if ptr.Pointer() != nil { + C.QFontMetricsF_Swap(ptr.Pointer(), PointerFromQFontMetricsF(other)) + } +} + +func (ptr *QFontMetricsF) TightBoundingRect(text string) *core.QRectF { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFFromPointer(C.QFontMetricsF_TightBoundingRect(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QFontMetricsF) UnderlinePos() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_UnderlinePos(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) XHeight() float64 { + if ptr.Pointer() != nil { + return float64(C.QFontMetricsF_XHeight(ptr.Pointer())) + } + return 0 +} + +func (ptr *QFontMetricsF) DestroyQFontMetricsF() { + if ptr.Pointer() != nil { + C.QFontMetricsF_DestroyQFontMetricsF(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QGenericMatrix struct { + ptr unsafe.Pointer +} + +type QGenericMatrix_ITF interface { + QGenericMatrix_PTR() *QGenericMatrix +} + +func (ptr *QGenericMatrix) QGenericMatrix_PTR() *QGenericMatrix { + return ptr +} + +func (ptr *QGenericMatrix) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QGenericMatrix) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQGenericMatrix(ptr QGenericMatrix_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGenericMatrix_PTR().Pointer() + } + return nil +} + +func NewQGenericMatrixFromPointer(ptr unsafe.Pointer) (n *QGenericMatrix) { + n = new(QGenericMatrix) + n.SetPointer(ptr) + return +} + +func (ptr *QGenericMatrix) DestroyQGenericMatrix() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QGenericPlugin struct { + core.QObject +} + +type QGenericPlugin_ITF interface { + core.QObject_ITF + QGenericPlugin_PTR() *QGenericPlugin +} + +func (ptr *QGenericPlugin) QGenericPlugin_PTR() *QGenericPlugin { + return ptr +} + +func (ptr *QGenericPlugin) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QGenericPlugin) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQGenericPlugin(ptr QGenericPlugin_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGenericPlugin_PTR().Pointer() + } + return nil +} + +func NewQGenericPluginFromPointer(ptr unsafe.Pointer) (n *QGenericPlugin) { + n = new(QGenericPlugin) + n.SetPointer(ptr) + return +} +func NewQGenericPlugin(parent core.QObject_ITF) *QGenericPlugin { + tmpValue := NewQGenericPluginFromPointer(C.QGenericPlugin_NewQGenericPlugin(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQGenericPlugin_Create +func callbackQGenericPlugin_Create(ptr unsafe.Pointer, key C.struct_QtGui_PackedString, specification C.struct_QtGui_PackedString) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "create"); signal != nil { + return core.PointerFromQObject((*(*func(string, string) *core.QObject)(signal))(cGoUnpackString(key), cGoUnpackString(specification))) + } + + return core.PointerFromQObject(core.NewQObject(nil)) +} + +func (ptr *QGenericPlugin) ConnectCreate(f func(key string, specification string) *core.QObject) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "create"); signal != nil { + f := func(key string, specification string) *core.QObject { + (*(*func(string, string) *core.QObject)(signal))(key, specification) + return f(key, specification) + } + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGenericPlugin) DisconnectCreate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "create") + } +} + +func (ptr *QGenericPlugin) Create(key string, specification string) *core.QObject { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + var specificationC *C.char + if specification != "" { + specificationC = C.CString(specification) + defer C.free(unsafe.Pointer(specificationC)) + } + tmpValue := core.NewQObjectFromPointer(C.QGenericPlugin_Create(ptr.Pointer(), C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, C.struct_QtGui_PackedString{data: specificationC, len: C.longlong(len(specification))})) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQGenericPlugin_DestroyQGenericPlugin +func callbackQGenericPlugin_DestroyQGenericPlugin(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QGenericPlugin"); signal != nil { + (*(*func())(signal))() + } else { + NewQGenericPluginFromPointer(ptr).DestroyQGenericPluginDefault() + } +} + +func (ptr *QGenericPlugin) ConnectDestroyQGenericPlugin(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QGenericPlugin"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QGenericPlugin", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QGenericPlugin", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGenericPlugin) DisconnectDestroyQGenericPlugin() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QGenericPlugin") + } +} + +func (ptr *QGenericPlugin) DestroyQGenericPlugin() { + if ptr.Pointer() != nil { + C.QGenericPlugin_DestroyQGenericPlugin(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QGenericPlugin) DestroyQGenericPluginDefault() { + if ptr.Pointer() != nil { + C.QGenericPlugin_DestroyQGenericPluginDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QGenericPlugin) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QGenericPlugin___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QGenericPlugin) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QGenericPlugin) __children_newList() unsafe.Pointer { + return C.QGenericPlugin___children_newList(ptr.Pointer()) +} + +func (ptr *QGenericPlugin) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QGenericPlugin___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QGenericPlugin) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QGenericPlugin) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QGenericPlugin___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QGenericPlugin) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QGenericPlugin___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QGenericPlugin) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QGenericPlugin) __findChildren_newList() unsafe.Pointer { + return C.QGenericPlugin___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QGenericPlugin) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QGenericPlugin___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QGenericPlugin) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QGenericPlugin) __findChildren_newList3() unsafe.Pointer { + return C.QGenericPlugin___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QGenericPlugin) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QGenericPlugin___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QGenericPlugin) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QGenericPlugin) __qFindChildren_newList2() unsafe.Pointer { + return C.QGenericPlugin___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQGenericPlugin_ChildEvent +func callbackQGenericPlugin_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQGenericPluginFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QGenericPlugin) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQGenericPlugin_ConnectNotify +func callbackQGenericPlugin_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQGenericPluginFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QGenericPlugin) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQGenericPlugin_CustomEvent +func callbackQGenericPlugin_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQGenericPluginFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QGenericPlugin) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQGenericPlugin_DeleteLater +func callbackQGenericPlugin_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQGenericPluginFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QGenericPlugin) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QGenericPlugin_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQGenericPlugin_Destroyed +func callbackQGenericPlugin_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQGenericPlugin_DisconnectNotify +func callbackQGenericPlugin_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQGenericPluginFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QGenericPlugin) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQGenericPlugin_Event +func callbackQGenericPlugin_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQGenericPluginFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QGenericPlugin) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QGenericPlugin_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQGenericPlugin_EventFilter +func callbackQGenericPlugin_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQGenericPluginFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QGenericPlugin) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QGenericPlugin_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQGenericPlugin_MetaObject +func callbackQGenericPlugin_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQGenericPluginFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QGenericPlugin) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QGenericPlugin_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQGenericPlugin_ObjectNameChanged +func callbackQGenericPlugin_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQGenericPlugin_TimerEvent +func callbackQGenericPlugin_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQGenericPluginFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QGenericPlugin) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QGenericPlugin_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QGenericPluginFactory struct { + ptr unsafe.Pointer +} + +type QGenericPluginFactory_ITF interface { + QGenericPluginFactory_PTR() *QGenericPluginFactory +} + +func (ptr *QGenericPluginFactory) QGenericPluginFactory_PTR() *QGenericPluginFactory { + return ptr +} + +func (ptr *QGenericPluginFactory) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QGenericPluginFactory) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQGenericPluginFactory(ptr QGenericPluginFactory_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGenericPluginFactory_PTR().Pointer() + } + return nil +} + +func NewQGenericPluginFactoryFromPointer(ptr unsafe.Pointer) (n *QGenericPluginFactory) { + n = new(QGenericPluginFactory) + n.SetPointer(ptr) + return +} + +func (ptr *QGenericPluginFactory) DestroyQGenericPluginFactory() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func QGenericPluginFactory_Create(key string, specification string) *core.QObject { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + var specificationC *C.char + if specification != "" { + specificationC = C.CString(specification) + defer C.free(unsafe.Pointer(specificationC)) + } + tmpValue := core.NewQObjectFromPointer(C.QGenericPluginFactory_QGenericPluginFactory_Create(C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, C.struct_QtGui_PackedString{data: specificationC, len: C.longlong(len(specification))})) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGenericPluginFactory) Create(key string, specification string) *core.QObject { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + var specificationC *C.char + if specification != "" { + specificationC = C.CString(specification) + defer C.free(unsafe.Pointer(specificationC)) + } + tmpValue := core.NewQObjectFromPointer(C.QGenericPluginFactory_QGenericPluginFactory_Create(C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, C.struct_QtGui_PackedString{data: specificationC, len: C.longlong(len(specification))})) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QGenericPluginFactory_Keys() []string { + return unpackStringList(cGoUnpackString(C.QGenericPluginFactory_QGenericPluginFactory_Keys())) +} + +func (ptr *QGenericPluginFactory) Keys() []string { + return unpackStringList(cGoUnpackString(C.QGenericPluginFactory_QGenericPluginFactory_Keys())) +} + +type QGlyphRun struct { + ptr unsafe.Pointer +} + +type QGlyphRun_ITF interface { + QGlyphRun_PTR() *QGlyphRun +} + +func (ptr *QGlyphRun) QGlyphRun_PTR() *QGlyphRun { + return ptr +} + +func (ptr *QGlyphRun) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QGlyphRun) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQGlyphRun(ptr QGlyphRun_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGlyphRun_PTR().Pointer() + } + return nil +} + +func NewQGlyphRunFromPointer(ptr unsafe.Pointer) (n *QGlyphRun) { + n = new(QGlyphRun) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QGlyphRun__GlyphRunFlag +//QGlyphRun::GlyphRunFlag +type QGlyphRun__GlyphRunFlag int64 + +const ( + QGlyphRun__Overline QGlyphRun__GlyphRunFlag = QGlyphRun__GlyphRunFlag(0x01) + QGlyphRun__Underline QGlyphRun__GlyphRunFlag = QGlyphRun__GlyphRunFlag(0x02) + QGlyphRun__StrikeOut QGlyphRun__GlyphRunFlag = QGlyphRun__GlyphRunFlag(0x04) + QGlyphRun__RightToLeft QGlyphRun__GlyphRunFlag = QGlyphRun__GlyphRunFlag(0x08) + QGlyphRun__SplitLigature QGlyphRun__GlyphRunFlag = QGlyphRun__GlyphRunFlag(0x10) +) + +func NewQGlyphRun() *QGlyphRun { + tmpValue := NewQGlyphRunFromPointer(C.QGlyphRun_NewQGlyphRun()) + runtime.SetFinalizer(tmpValue, (*QGlyphRun).DestroyQGlyphRun) + return tmpValue +} + +func NewQGlyphRun2(other QGlyphRun_ITF) *QGlyphRun { + tmpValue := NewQGlyphRunFromPointer(C.QGlyphRun_NewQGlyphRun2(PointerFromQGlyphRun(other))) + runtime.SetFinalizer(tmpValue, (*QGlyphRun).DestroyQGlyphRun) + return tmpValue +} + +func (ptr *QGlyphRun) BoundingRect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QGlyphRun_BoundingRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QGlyphRun) Clear() { + if ptr.Pointer() != nil { + C.QGlyphRun_Clear(ptr.Pointer()) + } +} + +func (ptr *QGlyphRun) Flags() QGlyphRun__GlyphRunFlag { + if ptr.Pointer() != nil { + return QGlyphRun__GlyphRunFlag(C.QGlyphRun_Flags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QGlyphRun) GlyphIndexes() []uint { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []uint { + out := make([]uint, int(l.len)) + tmpList := NewQGlyphRunFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__glyphIndexes_atList(i) + } + return out + }(C.QGlyphRun_GlyphIndexes(ptr.Pointer())) + } + return make([]uint, 0) +} + +func (ptr *QGlyphRun) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QGlyphRun_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QGlyphRun) IsRightToLeft() bool { + if ptr.Pointer() != nil { + return int8(C.QGlyphRun_IsRightToLeft(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QGlyphRun) Overline() bool { + if ptr.Pointer() != nil { + return int8(C.QGlyphRun_Overline(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QGlyphRun) Positions() []*core.QPointF { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QPointF { + out := make([]*core.QPointF, int(l.len)) + tmpList := NewQGlyphRunFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__positions_atList(i) + } + return out + }(C.QGlyphRun_Positions(ptr.Pointer())) + } + return make([]*core.QPointF, 0) +} + +func (ptr *QGlyphRun) RawFont() *QRawFont { + if ptr.Pointer() != nil { + tmpValue := NewQRawFontFromPointer(C.QGlyphRun_RawFont(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRawFont).DestroyQRawFont) + return tmpValue + } + return nil +} + +func (ptr *QGlyphRun) SetBoundingRect(boundingRect core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetBoundingRect(ptr.Pointer(), core.PointerFromQRectF(boundingRect)) + } +} + +func (ptr *QGlyphRun) SetFlag(flag QGlyphRun__GlyphRunFlag, enabled bool) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetFlag(ptr.Pointer(), C.longlong(flag), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QGlyphRun) SetFlags(flags QGlyphRun__GlyphRunFlag) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetFlags(ptr.Pointer(), C.longlong(flags)) + } +} + +func (ptr *QGlyphRun) SetGlyphIndexes(glyphIndexes []uint) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetGlyphIndexes(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQGlyphRunFromPointer(NewQGlyphRunFromPointer(nil).__setGlyphIndexes_glyphIndexes_newList()) + for _, v := range glyphIndexes { + tmpList.__setGlyphIndexes_glyphIndexes_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QGlyphRun) SetOverline(overline bool) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetOverline(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(overline)))) + } +} + +func (ptr *QGlyphRun) SetPositions(positions []*core.QPointF) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetPositions(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQGlyphRunFromPointer(NewQGlyphRunFromPointer(nil).__setPositions_positions_newList()) + for _, v := range positions { + tmpList.__setPositions_positions_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QGlyphRun) SetRawData(glyphIndexArray uint, glyphPositionArray core.QPointF_ITF, size int) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetRawData(ptr.Pointer(), C.uint(uint32(glyphIndexArray)), core.PointerFromQPointF(glyphPositionArray), C.int(int32(size))) + } +} + +func (ptr *QGlyphRun) SetRawFont(rawFont QRawFont_ITF) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetRawFont(ptr.Pointer(), PointerFromQRawFont(rawFont)) + } +} + +func (ptr *QGlyphRun) SetRightToLeft(rightToLeft bool) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetRightToLeft(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(rightToLeft)))) + } +} + +func (ptr *QGlyphRun) SetStrikeOut(strikeOut bool) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetStrikeOut(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(strikeOut)))) + } +} + +func (ptr *QGlyphRun) SetUnderline(underline bool) { + if ptr.Pointer() != nil { + C.QGlyphRun_SetUnderline(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(underline)))) + } +} + +func (ptr *QGlyphRun) StrikeOut() bool { + if ptr.Pointer() != nil { + return int8(C.QGlyphRun_StrikeOut(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QGlyphRun) Swap(other QGlyphRun_ITF) { + if ptr.Pointer() != nil { + C.QGlyphRun_Swap(ptr.Pointer(), PointerFromQGlyphRun(other)) + } +} + +func (ptr *QGlyphRun) Underline() bool { + if ptr.Pointer() != nil { + return int8(C.QGlyphRun_Underline(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QGlyphRun) DestroyQGlyphRun() { + if ptr.Pointer() != nil { + C.QGlyphRun_DestroyQGlyphRun(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QGlyphRun) __glyphIndexes_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QGlyphRun___glyphIndexes_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QGlyphRun) __glyphIndexes_setList(i uint) { + if ptr.Pointer() != nil { + C.QGlyphRun___glyphIndexes_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QGlyphRun) __glyphIndexes_newList() unsafe.Pointer { + return C.QGlyphRun___glyphIndexes_newList(ptr.Pointer()) +} + +func (ptr *QGlyphRun) __positions_atList(i int) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QGlyphRun___positions_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QGlyphRun) __positions_setList(i core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QGlyphRun___positions_setList(ptr.Pointer(), core.PointerFromQPointF(i)) + } +} + +func (ptr *QGlyphRun) __positions_newList() unsafe.Pointer { + return C.QGlyphRun___positions_newList(ptr.Pointer()) +} + +func (ptr *QGlyphRun) __setGlyphIndexes_glyphIndexes_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QGlyphRun___setGlyphIndexes_glyphIndexes_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QGlyphRun) __setGlyphIndexes_glyphIndexes_setList(i uint) { + if ptr.Pointer() != nil { + C.QGlyphRun___setGlyphIndexes_glyphIndexes_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QGlyphRun) __setGlyphIndexes_glyphIndexes_newList() unsafe.Pointer { + return C.QGlyphRun___setGlyphIndexes_glyphIndexes_newList(ptr.Pointer()) +} + +func (ptr *QGlyphRun) __setPositions_positions_atList(i int) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QGlyphRun___setPositions_positions_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QGlyphRun) __setPositions_positions_setList(i core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QGlyphRun___setPositions_positions_setList(ptr.Pointer(), core.PointerFromQPointF(i)) + } +} + +func (ptr *QGlyphRun) __setPositions_positions_newList() unsafe.Pointer { + return C.QGlyphRun___setPositions_positions_newList(ptr.Pointer()) +} + +type QGradient struct { + ptr unsafe.Pointer +} + +type QGradient_ITF interface { + QGradient_PTR() *QGradient +} + +func (ptr *QGradient) QGradient_PTR() *QGradient { + return ptr +} + +func (ptr *QGradient) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QGradient) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQGradient(ptr QGradient_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGradient_PTR().Pointer() + } + return nil +} + +func NewQGradientFromPointer(ptr unsafe.Pointer) (n *QGradient) { + n = new(QGradient) + n.SetPointer(ptr) + return +} + +func (ptr *QGradient) DestroyQGradient() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QGradient__Type +//QGradient::Type +type QGradient__Type int64 + +const ( + QGradient__LinearGradient QGradient__Type = QGradient__Type(0) + QGradient__RadialGradient QGradient__Type = QGradient__Type(1) + QGradient__ConicalGradient QGradient__Type = QGradient__Type(2) + QGradient__NoGradient QGradient__Type = QGradient__Type(3) +) + +//go:generate stringer -type=QGradient__Spread +//QGradient::Spread +type QGradient__Spread int64 + +const ( + QGradient__PadSpread QGradient__Spread = QGradient__Spread(0) + QGradient__ReflectSpread QGradient__Spread = QGradient__Spread(1) + QGradient__RepeatSpread QGradient__Spread = QGradient__Spread(2) +) + +//go:generate stringer -type=QGradient__CoordinateMode +//QGradient::CoordinateMode +type QGradient__CoordinateMode int64 + +const ( + QGradient__LogicalMode QGradient__CoordinateMode = QGradient__CoordinateMode(0) + QGradient__StretchToDeviceMode QGradient__CoordinateMode = QGradient__CoordinateMode(1) + QGradient__ObjectBoundingMode QGradient__CoordinateMode = QGradient__CoordinateMode(2) + QGradient__ObjectMode QGradient__CoordinateMode = QGradient__CoordinateMode(3) +) + +//go:generate stringer -type=QGradient__Preset +//QGradient::Preset +type QGradient__Preset int64 + +const ( + QGradient__WarmFlame QGradient__Preset = QGradient__Preset(1) + QGradient__NightFade QGradient__Preset = QGradient__Preset(2) + QGradient__SpringWarmth QGradient__Preset = QGradient__Preset(3) + QGradient__JuicyPeach QGradient__Preset = QGradient__Preset(4) + QGradient__YoungPassion QGradient__Preset = QGradient__Preset(5) + QGradient__LadyLips QGradient__Preset = QGradient__Preset(6) + QGradient__SunnyMorning QGradient__Preset = QGradient__Preset(7) + QGradient__RainyAshville QGradient__Preset = QGradient__Preset(8) + QGradient__FrozenDreams QGradient__Preset = QGradient__Preset(9) + QGradient__WinterNeva QGradient__Preset = QGradient__Preset(10) + QGradient__DustyGrass QGradient__Preset = QGradient__Preset(11) + QGradient__TemptingAzure QGradient__Preset = QGradient__Preset(12) + QGradient__HeavyRain QGradient__Preset = QGradient__Preset(13) + QGradient__AmyCrisp QGradient__Preset = QGradient__Preset(14) + QGradient__MeanFruit QGradient__Preset = QGradient__Preset(15) + QGradient__DeepBlue QGradient__Preset = QGradient__Preset(16) + QGradient__RipeMalinka QGradient__Preset = QGradient__Preset(17) + QGradient__CloudyKnoxville QGradient__Preset = QGradient__Preset(18) + QGradient__MalibuBeach QGradient__Preset = QGradient__Preset(19) + QGradient__NewLife QGradient__Preset = QGradient__Preset(20) + QGradient__TrueSunset QGradient__Preset = QGradient__Preset(21) + QGradient__MorpheusDen QGradient__Preset = QGradient__Preset(22) + QGradient__RareWind QGradient__Preset = QGradient__Preset(23) + QGradient__NearMoon QGradient__Preset = QGradient__Preset(24) + QGradient__WildApple QGradient__Preset = QGradient__Preset(25) + QGradient__SaintPetersburg QGradient__Preset = QGradient__Preset(26) + QGradient__PlumPlate QGradient__Preset = QGradient__Preset(28) + QGradient__EverlastingSky QGradient__Preset = QGradient__Preset(29) + QGradient__HappyFisher QGradient__Preset = QGradient__Preset(30) + QGradient__Blessing QGradient__Preset = QGradient__Preset(31) + QGradient__SharpeyeEagle QGradient__Preset = QGradient__Preset(32) + QGradient__LadogaBottom QGradient__Preset = QGradient__Preset(33) + QGradient__LemonGate QGradient__Preset = QGradient__Preset(34) + QGradient__ItmeoBranding QGradient__Preset = QGradient__Preset(35) + QGradient__ZeusMiracle QGradient__Preset = QGradient__Preset(36) + QGradient__OldHat QGradient__Preset = QGradient__Preset(37) + QGradient__StarWine QGradient__Preset = QGradient__Preset(38) + QGradient__HappyAcid QGradient__Preset = QGradient__Preset(41) + QGradient__AwesomePine QGradient__Preset = QGradient__Preset(42) + QGradient__NewYork QGradient__Preset = QGradient__Preset(43) + QGradient__ShyRainbow QGradient__Preset = QGradient__Preset(44) + QGradient__MixedHopes QGradient__Preset = QGradient__Preset(46) + QGradient__FlyHigh QGradient__Preset = QGradient__Preset(47) + QGradient__StrongBliss QGradient__Preset = QGradient__Preset(48) + QGradient__FreshMilk QGradient__Preset = QGradient__Preset(49) + QGradient__SnowAgain QGradient__Preset = QGradient__Preset(50) + QGradient__FebruaryInk QGradient__Preset = QGradient__Preset(51) + QGradient__KindSteel QGradient__Preset = QGradient__Preset(52) + QGradient__SoftGrass QGradient__Preset = QGradient__Preset(53) + QGradient__GrownEarly QGradient__Preset = QGradient__Preset(54) + QGradient__SharpBlues QGradient__Preset = QGradient__Preset(55) + QGradient__ShadyWater QGradient__Preset = QGradient__Preset(56) + QGradient__DirtyBeauty QGradient__Preset = QGradient__Preset(57) + QGradient__GreatWhale QGradient__Preset = QGradient__Preset(58) + QGradient__TeenNotebook QGradient__Preset = QGradient__Preset(59) + QGradient__PoliteRumors QGradient__Preset = QGradient__Preset(60) + QGradient__SweetPeriod QGradient__Preset = QGradient__Preset(61) + QGradient__WideMatrix QGradient__Preset = QGradient__Preset(62) + QGradient__SoftCherish QGradient__Preset = QGradient__Preset(63) + QGradient__RedSalvation QGradient__Preset = QGradient__Preset(64) + QGradient__BurningSpring QGradient__Preset = QGradient__Preset(65) + QGradient__NightParty QGradient__Preset = QGradient__Preset(66) + QGradient__SkyGlider QGradient__Preset = QGradient__Preset(67) + QGradient__HeavenPeach QGradient__Preset = QGradient__Preset(68) + QGradient__PurpleDivision QGradient__Preset = QGradient__Preset(69) + QGradient__AquaSplash QGradient__Preset = QGradient__Preset(70) + QGradient__SpikyNaga QGradient__Preset = QGradient__Preset(72) + QGradient__LoveKiss QGradient__Preset = QGradient__Preset(73) + QGradient__CleanMirror QGradient__Preset = QGradient__Preset(75) + QGradient__PremiumDark QGradient__Preset = QGradient__Preset(76) + QGradient__ColdEvening QGradient__Preset = QGradient__Preset(77) + QGradient__CochitiLake QGradient__Preset = QGradient__Preset(78) + QGradient__SummerGames QGradient__Preset = QGradient__Preset(79) + QGradient__PassionateBed QGradient__Preset = QGradient__Preset(80) + QGradient__MountainRock QGradient__Preset = QGradient__Preset(81) + QGradient__DesertHump QGradient__Preset = QGradient__Preset(82) + QGradient__JungleDay QGradient__Preset = QGradient__Preset(83) + QGradient__PhoenixStart QGradient__Preset = QGradient__Preset(84) + QGradient__OctoberSilence QGradient__Preset = QGradient__Preset(85) + QGradient__FarawayRiver QGradient__Preset = QGradient__Preset(86) + QGradient__AlchemistLab QGradient__Preset = QGradient__Preset(87) + QGradient__OverSun QGradient__Preset = QGradient__Preset(88) + QGradient__PremiumWhite QGradient__Preset = QGradient__Preset(89) + QGradient__MarsParty QGradient__Preset = QGradient__Preset(90) + QGradient__EternalConstance QGradient__Preset = QGradient__Preset(91) + QGradient__JapanBlush QGradient__Preset = QGradient__Preset(92) + QGradient__SmilingRain QGradient__Preset = QGradient__Preset(93) + QGradient__CloudyApple QGradient__Preset = QGradient__Preset(94) + QGradient__BigMango QGradient__Preset = QGradient__Preset(95) + QGradient__HealthyWater QGradient__Preset = QGradient__Preset(96) + QGradient__AmourAmour QGradient__Preset = QGradient__Preset(97) + QGradient__RiskyConcrete QGradient__Preset = QGradient__Preset(98) + QGradient__StrongStick QGradient__Preset = QGradient__Preset(99) + QGradient__ViciousStance QGradient__Preset = QGradient__Preset(100) + QGradient__PaloAlto QGradient__Preset = QGradient__Preset(101) + QGradient__HappyMemories QGradient__Preset = QGradient__Preset(102) + QGradient__MidnightBloom QGradient__Preset = QGradient__Preset(103) + QGradient__Crystalline QGradient__Preset = QGradient__Preset(104) + QGradient__PartyBliss QGradient__Preset = QGradient__Preset(106) + QGradient__ConfidentCloud QGradient__Preset = QGradient__Preset(107) + QGradient__LeCocktail QGradient__Preset = QGradient__Preset(108) + QGradient__RiverCity QGradient__Preset = QGradient__Preset(109) + QGradient__FrozenBerry QGradient__Preset = QGradient__Preset(110) + QGradient__ChildCare QGradient__Preset = QGradient__Preset(112) + QGradient__FlyingLemon QGradient__Preset = QGradient__Preset(113) + QGradient__NewRetrowave QGradient__Preset = QGradient__Preset(114) + QGradient__HiddenJaguar QGradient__Preset = QGradient__Preset(115) + QGradient__AboveTheSky QGradient__Preset = QGradient__Preset(116) + QGradient__Nega QGradient__Preset = QGradient__Preset(117) + QGradient__DenseWater QGradient__Preset = QGradient__Preset(118) + QGradient__Seashore QGradient__Preset = QGradient__Preset(120) + QGradient__MarbleWall QGradient__Preset = QGradient__Preset(121) + QGradient__CheerfulCaramel QGradient__Preset = QGradient__Preset(122) + QGradient__NightSky QGradient__Preset = QGradient__Preset(123) + QGradient__MagicLake QGradient__Preset = QGradient__Preset(124) + QGradient__YoungGrass QGradient__Preset = QGradient__Preset(125) + QGradient__ColorfulPeach QGradient__Preset = QGradient__Preset(126) + QGradient__GentleCare QGradient__Preset = QGradient__Preset(127) + QGradient__PlumBath QGradient__Preset = QGradient__Preset(128) + QGradient__HappyUnicorn QGradient__Preset = QGradient__Preset(129) + QGradient__AfricanField QGradient__Preset = QGradient__Preset(131) + QGradient__SolidStone QGradient__Preset = QGradient__Preset(132) + QGradient__OrangeJuice QGradient__Preset = QGradient__Preset(133) + QGradient__GlassWater QGradient__Preset = QGradient__Preset(134) + QGradient__NorthMiracle QGradient__Preset = QGradient__Preset(136) + QGradient__FruitBlend QGradient__Preset = QGradient__Preset(137) + QGradient__MillenniumPine QGradient__Preset = QGradient__Preset(138) + QGradient__HighFlight QGradient__Preset = QGradient__Preset(139) + QGradient__MoleHall QGradient__Preset = QGradient__Preset(140) + QGradient__SpaceShift QGradient__Preset = QGradient__Preset(142) + QGradient__ForestInei QGradient__Preset = QGradient__Preset(143) + QGradient__RoyalGarden QGradient__Preset = QGradient__Preset(144) + QGradient__RichMetal QGradient__Preset = QGradient__Preset(145) + QGradient__JuicyCake QGradient__Preset = QGradient__Preset(146) + QGradient__SmartIndigo QGradient__Preset = QGradient__Preset(147) + QGradient__SandStrike QGradient__Preset = QGradient__Preset(148) + QGradient__NorseBeauty QGradient__Preset = QGradient__Preset(149) + QGradient__AquaGuidance QGradient__Preset = QGradient__Preset(150) + QGradient__SunVeggie QGradient__Preset = QGradient__Preset(151) + QGradient__SeaLord QGradient__Preset = QGradient__Preset(152) + QGradient__BlackSea QGradient__Preset = QGradient__Preset(153) + QGradient__GrassShampoo QGradient__Preset = QGradient__Preset(154) + QGradient__LandingAircraft QGradient__Preset = QGradient__Preset(155) + QGradient__WitchDance QGradient__Preset = QGradient__Preset(156) + QGradient__SleeplessNight QGradient__Preset = QGradient__Preset(157) + QGradient__AngelCare QGradient__Preset = QGradient__Preset(158) + QGradient__CrystalRiver QGradient__Preset = QGradient__Preset(159) + QGradient__SoftLipstick QGradient__Preset = QGradient__Preset(160) + QGradient__SaltMountain QGradient__Preset = QGradient__Preset(161) + QGradient__PerfectWhite QGradient__Preset = QGradient__Preset(162) + QGradient__FreshOasis QGradient__Preset = QGradient__Preset(163) + QGradient__StrictNovember QGradient__Preset = QGradient__Preset(164) + QGradient__MorningSalad QGradient__Preset = QGradient__Preset(165) + QGradient__DeepRelief QGradient__Preset = QGradient__Preset(166) + QGradient__SeaStrike QGradient__Preset = QGradient__Preset(167) + QGradient__NightCall QGradient__Preset = QGradient__Preset(168) + QGradient__SupremeSky QGradient__Preset = QGradient__Preset(169) + QGradient__LightBlue QGradient__Preset = QGradient__Preset(170) + QGradient__MindCrawl QGradient__Preset = QGradient__Preset(171) + QGradient__LilyMeadow QGradient__Preset = QGradient__Preset(172) + QGradient__SugarLollipop QGradient__Preset = QGradient__Preset(173) + QGradient__SweetDessert QGradient__Preset = QGradient__Preset(174) + QGradient__MagicRay QGradient__Preset = QGradient__Preset(175) + QGradient__TeenParty QGradient__Preset = QGradient__Preset(176) + QGradient__FrozenHeat QGradient__Preset = QGradient__Preset(177) + QGradient__GagarinView QGradient__Preset = QGradient__Preset(178) + QGradient__FabledSunset QGradient__Preset = QGradient__Preset(179) + QGradient__PerfectBlue QGradient__Preset = QGradient__Preset(180) +) + +func NewQGradient2(preset QGradient__Preset) *QGradient { + tmpValue := NewQGradientFromPointer(C.QGradient_NewQGradient2(C.longlong(preset))) + runtime.SetFinalizer(tmpValue, (*QGradient).DestroyQGradient) + return tmpValue +} + +func (ptr *QGradient) CoordinateMode() QGradient__CoordinateMode { + if ptr.Pointer() != nil { + return QGradient__CoordinateMode(C.QGradient_CoordinateMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QGradient) SetColorAt(position float64, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QGradient_SetColorAt(ptr.Pointer(), C.double(position), PointerFromQColor(color)) + } +} + +func (ptr *QGradient) SetCoordinateMode(mode QGradient__CoordinateMode) { + if ptr.Pointer() != nil { + C.QGradient_SetCoordinateMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QGradient) SetSpread(method QGradient__Spread) { + if ptr.Pointer() != nil { + C.QGradient_SetSpread(ptr.Pointer(), C.longlong(method)) + } +} + +func (ptr *QGradient) Spread() QGradient__Spread { + if ptr.Pointer() != nil { + return QGradient__Spread(C.QGradient_Spread(ptr.Pointer())) + } + return 0 +} + +func (ptr *QGradient) Type() QGradient__Type { + if ptr.Pointer() != nil { + return QGradient__Type(C.QGradient_Type(ptr.Pointer())) + } + return 0 +} + +type QGuiApplication struct { + core.QCoreApplication +} + +type QGuiApplication_ITF interface { + core.QCoreApplication_ITF + QGuiApplication_PTR() *QGuiApplication +} + +func (ptr *QGuiApplication) QGuiApplication_PTR() *QGuiApplication { + return ptr +} + +func (ptr *QGuiApplication) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QCoreApplication_PTR().Pointer() + } + return nil +} + +func (ptr *QGuiApplication) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QCoreApplication_PTR().SetPointer(p) + } +} + +func PointerFromQGuiApplication(ptr QGuiApplication_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QGuiApplication_PTR().Pointer() + } + return nil +} + +func NewQGuiApplicationFromPointer(ptr unsafe.Pointer) (n *QGuiApplication) { + n = new(QGuiApplication) + n.SetPointer(ptr) + return +} +func NewQGuiApplication(argc int, argv []string) *QGuiApplication { + argvC := C.CString(strings.Join(argv, "|")) + defer C.free(unsafe.Pointer(argvC)) + tmpValue := NewQGuiApplicationFromPointer(C.QGuiApplication_NewQGuiApplication(C.int(int32(argc)), argvC)) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QGuiApplication_ApplicationDisplayName() string { + return cGoUnpackString(C.QGuiApplication_QGuiApplication_ApplicationDisplayName()) +} + +func (ptr *QGuiApplication) ApplicationDisplayName() string { + return cGoUnpackString(C.QGuiApplication_QGuiApplication_ApplicationDisplayName()) +} + +//export callbackQGuiApplication_ApplicationDisplayNameChanged +func callbackQGuiApplication_ApplicationDisplayNameChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "applicationDisplayNameChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QGuiApplication) ConnectApplicationDisplayNameChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "applicationDisplayNameChanged") { + C.QGuiApplication_ConnectApplicationDisplayNameChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "applicationDisplayNameChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "applicationDisplayNameChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "applicationDisplayNameChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "applicationDisplayNameChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectApplicationDisplayNameChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectApplicationDisplayNameChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "applicationDisplayNameChanged") + } +} + +func (ptr *QGuiApplication) ApplicationDisplayNameChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_ApplicationDisplayNameChanged(ptr.Pointer()) + } +} + +func QGuiApplication_ApplicationState() core.Qt__ApplicationState { + return core.Qt__ApplicationState(C.QGuiApplication_QGuiApplication_ApplicationState()) +} + +func (ptr *QGuiApplication) ApplicationState() core.Qt__ApplicationState { + return core.Qt__ApplicationState(C.QGuiApplication_QGuiApplication_ApplicationState()) +} + +//export callbackQGuiApplication_ApplicationStateChanged +func callbackQGuiApplication_ApplicationStateChanged(ptr unsafe.Pointer, state C.longlong) { + if signal := qt.GetSignal(ptr, "applicationStateChanged"); signal != nil { + (*(*func(core.Qt__ApplicationState))(signal))(core.Qt__ApplicationState(state)) + } + +} + +func (ptr *QGuiApplication) ConnectApplicationStateChanged(f func(state core.Qt__ApplicationState)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "applicationStateChanged") { + C.QGuiApplication_ConnectApplicationStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "applicationStateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "applicationStateChanged"); signal != nil { + f := func(state core.Qt__ApplicationState) { + (*(*func(core.Qt__ApplicationState))(signal))(state) + f(state) + } + qt.ConnectSignal(ptr.Pointer(), "applicationStateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "applicationStateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectApplicationStateChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectApplicationStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "applicationStateChanged") + } +} + +func (ptr *QGuiApplication) ApplicationStateChanged(state core.Qt__ApplicationState) { + if ptr.Pointer() != nil { + C.QGuiApplication_ApplicationStateChanged(ptr.Pointer(), C.longlong(state)) + } +} + +func QGuiApplication_ChangeOverrideCursor(cursor QCursor_ITF) { + C.QGuiApplication_QGuiApplication_ChangeOverrideCursor(PointerFromQCursor(cursor)) +} + +func (ptr *QGuiApplication) ChangeOverrideCursor(cursor QCursor_ITF) { + C.QGuiApplication_QGuiApplication_ChangeOverrideCursor(PointerFromQCursor(cursor)) +} + +func QGuiApplication_Clipboard() *QClipboard { + tmpValue := NewQClipboardFromPointer(C.QGuiApplication_QGuiApplication_Clipboard()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGuiApplication) Clipboard() *QClipboard { + tmpValue := NewQClipboardFromPointer(C.QGuiApplication_QGuiApplication_Clipboard()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQGuiApplication_CommitDataRequest +func callbackQGuiApplication_CommitDataRequest(ptr unsafe.Pointer, manager unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "commitDataRequest"); signal != nil { + (*(*func(*QSessionManager))(signal))(NewQSessionManagerFromPointer(manager)) + } + +} + +func (ptr *QGuiApplication) ConnectCommitDataRequest(f func(manager *QSessionManager)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "commitDataRequest") { + C.QGuiApplication_ConnectCommitDataRequest(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "commitDataRequest"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "commitDataRequest"); signal != nil { + f := func(manager *QSessionManager) { + (*(*func(*QSessionManager))(signal))(manager) + f(manager) + } + qt.ConnectSignal(ptr.Pointer(), "commitDataRequest", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "commitDataRequest", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectCommitDataRequest() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectCommitDataRequest(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "commitDataRequest") + } +} + +func (ptr *QGuiApplication) CommitDataRequest(manager QSessionManager_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_CommitDataRequest(ptr.Pointer(), PointerFromQSessionManager(manager)) + } +} + +func QGuiApplication_DesktopFileName() string { + return cGoUnpackString(C.QGuiApplication_QGuiApplication_DesktopFileName()) +} + +func (ptr *QGuiApplication) DesktopFileName() string { + return cGoUnpackString(C.QGuiApplication_QGuiApplication_DesktopFileName()) +} + +func QGuiApplication_DesktopSettingsAware() bool { + return int8(C.QGuiApplication_QGuiApplication_DesktopSettingsAware()) != 0 +} + +func (ptr *QGuiApplication) DesktopSettingsAware() bool { + return int8(C.QGuiApplication_QGuiApplication_DesktopSettingsAware()) != 0 +} + +func (ptr *QGuiApplication) DevicePixelRatio() float64 { + if ptr.Pointer() != nil { + return float64(C.QGuiApplication_DevicePixelRatio(ptr.Pointer())) + } + return 0 +} + +//export callbackQGuiApplication_Event +func callbackQGuiApplication_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQGuiApplicationFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QGuiApplication) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QGuiApplication_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +func QGuiApplication_Exec() int { + return int(int32(C.QGuiApplication_QGuiApplication_Exec())) +} + +func (ptr *QGuiApplication) Exec() int { + return int(int32(C.QGuiApplication_QGuiApplication_Exec())) +} + +func QGuiApplication_FocusObject() *core.QObject { + tmpValue := core.NewQObjectFromPointer(C.QGuiApplication_QGuiApplication_FocusObject()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGuiApplication) FocusObject() *core.QObject { + tmpValue := core.NewQObjectFromPointer(C.QGuiApplication_QGuiApplication_FocusObject()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQGuiApplication_FocusObjectChanged +func callbackQGuiApplication_FocusObjectChanged(ptr unsafe.Pointer, focusObject unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "focusObjectChanged"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(focusObject)) + } + +} + +func (ptr *QGuiApplication) ConnectFocusObjectChanged(f func(focusObject *core.QObject)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "focusObjectChanged") { + C.QGuiApplication_ConnectFocusObjectChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "focusObjectChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "focusObjectChanged"); signal != nil { + f := func(focusObject *core.QObject) { + (*(*func(*core.QObject))(signal))(focusObject) + f(focusObject) + } + qt.ConnectSignal(ptr.Pointer(), "focusObjectChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "focusObjectChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectFocusObjectChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectFocusObjectChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "focusObjectChanged") + } +} + +func (ptr *QGuiApplication) FocusObjectChanged(focusObject core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_FocusObjectChanged(ptr.Pointer(), core.PointerFromQObject(focusObject)) + } +} + +func QGuiApplication_FocusWindow() *QWindow { + tmpValue := NewQWindowFromPointer(C.QGuiApplication_QGuiApplication_FocusWindow()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGuiApplication) FocusWindow() *QWindow { + tmpValue := NewQWindowFromPointer(C.QGuiApplication_QGuiApplication_FocusWindow()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQGuiApplication_FocusWindowChanged +func callbackQGuiApplication_FocusWindowChanged(ptr unsafe.Pointer, focusWindow unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "focusWindowChanged"); signal != nil { + (*(*func(*QWindow))(signal))(NewQWindowFromPointer(focusWindow)) + } + +} + +func (ptr *QGuiApplication) ConnectFocusWindowChanged(f func(focusWindow *QWindow)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "focusWindowChanged") { + C.QGuiApplication_ConnectFocusWindowChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "focusWindowChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "focusWindowChanged"); signal != nil { + f := func(focusWindow *QWindow) { + (*(*func(*QWindow))(signal))(focusWindow) + f(focusWindow) + } + qt.ConnectSignal(ptr.Pointer(), "focusWindowChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "focusWindowChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectFocusWindowChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectFocusWindowChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "focusWindowChanged") + } +} + +func (ptr *QGuiApplication) FocusWindowChanged(focusWindow QWindow_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_FocusWindowChanged(ptr.Pointer(), PointerFromQWindow(focusWindow)) + } +} + +func QGuiApplication_Font() *QFont { + tmpValue := NewQFontFromPointer(C.QGuiApplication_QGuiApplication_Font()) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue +} + +func (ptr *QGuiApplication) Font() *QFont { + tmpValue := NewQFontFromPointer(C.QGuiApplication_QGuiApplication_Font()) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue +} + +//export callbackQGuiApplication_FontChanged +func callbackQGuiApplication_FontChanged(ptr unsafe.Pointer, font unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "fontChanged"); signal != nil { + (*(*func(*QFont))(signal))(NewQFontFromPointer(font)) + } + +} + +func (ptr *QGuiApplication) ConnectFontChanged(f func(font *QFont)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "fontChanged") { + C.QGuiApplication_ConnectFontChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "fontChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "fontChanged"); signal != nil { + f := func(font *QFont) { + (*(*func(*QFont))(signal))(font) + f(font) + } + qt.ConnectSignal(ptr.Pointer(), "fontChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "fontChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectFontChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectFontChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "fontChanged") + } +} + +func (ptr *QGuiApplication) FontChanged(font QFont_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_FontChanged(ptr.Pointer(), PointerFromQFont(font)) + } +} + +//export callbackQGuiApplication_FontDatabaseChanged +func callbackQGuiApplication_FontDatabaseChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "fontDatabaseChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QGuiApplication) ConnectFontDatabaseChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "fontDatabaseChanged") { + C.QGuiApplication_ConnectFontDatabaseChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "fontDatabaseChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "fontDatabaseChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "fontDatabaseChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "fontDatabaseChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectFontDatabaseChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectFontDatabaseChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "fontDatabaseChanged") + } +} + +func (ptr *QGuiApplication) FontDatabaseChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_FontDatabaseChanged(ptr.Pointer()) + } +} + +func QGuiApplication_InputMethod() *QInputMethod { + tmpValue := NewQInputMethodFromPointer(C.QGuiApplication_QGuiApplication_InputMethod()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGuiApplication) InputMethod() *QInputMethod { + tmpValue := NewQInputMethodFromPointer(C.QGuiApplication_QGuiApplication_InputMethod()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QGuiApplication_IsFallbackSessionManagementEnabled() bool { + return int8(C.QGuiApplication_QGuiApplication_IsFallbackSessionManagementEnabled()) != 0 +} + +func (ptr *QGuiApplication) IsFallbackSessionManagementEnabled() bool { + return int8(C.QGuiApplication_QGuiApplication_IsFallbackSessionManagementEnabled()) != 0 +} + +func QGuiApplication_IsLeftToRight() bool { + return int8(C.QGuiApplication_QGuiApplication_IsLeftToRight()) != 0 +} + +func (ptr *QGuiApplication) IsLeftToRight() bool { + return int8(C.QGuiApplication_QGuiApplication_IsLeftToRight()) != 0 +} + +func QGuiApplication_IsRightToLeft() bool { + return int8(C.QGuiApplication_QGuiApplication_IsRightToLeft()) != 0 +} + +func (ptr *QGuiApplication) IsRightToLeft() bool { + return int8(C.QGuiApplication_QGuiApplication_IsRightToLeft()) != 0 +} + +func (ptr *QGuiApplication) IsSavingSession() bool { + if ptr.Pointer() != nil { + return int8(C.QGuiApplication_IsSavingSession(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QGuiApplication) IsSessionRestored() bool { + if ptr.Pointer() != nil { + return int8(C.QGuiApplication_IsSessionRestored(ptr.Pointer())) != 0 + } + return false +} + +func QGuiApplication_KeyboardModifiers() core.Qt__KeyboardModifier { + return core.Qt__KeyboardModifier(C.QGuiApplication_QGuiApplication_KeyboardModifiers()) +} + +func (ptr *QGuiApplication) KeyboardModifiers() core.Qt__KeyboardModifier { + return core.Qt__KeyboardModifier(C.QGuiApplication_QGuiApplication_KeyboardModifiers()) +} + +//export callbackQGuiApplication_LastWindowClosed +func callbackQGuiApplication_LastWindowClosed(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "lastWindowClosed"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QGuiApplication) ConnectLastWindowClosed(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "lastWindowClosed") { + C.QGuiApplication_ConnectLastWindowClosed(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "lastWindowClosed"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "lastWindowClosed"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "lastWindowClosed", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "lastWindowClosed", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectLastWindowClosed() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectLastWindowClosed(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "lastWindowClosed") + } +} + +func (ptr *QGuiApplication) LastWindowClosed() { + if ptr.Pointer() != nil { + C.QGuiApplication_LastWindowClosed(ptr.Pointer()) + } +} + +func QGuiApplication_LayoutDirection() core.Qt__LayoutDirection { + return core.Qt__LayoutDirection(C.QGuiApplication_QGuiApplication_LayoutDirection()) +} + +func (ptr *QGuiApplication) LayoutDirection() core.Qt__LayoutDirection { + return core.Qt__LayoutDirection(C.QGuiApplication_QGuiApplication_LayoutDirection()) +} + +//export callbackQGuiApplication_LayoutDirectionChanged +func callbackQGuiApplication_LayoutDirectionChanged(ptr unsafe.Pointer, direction C.longlong) { + if signal := qt.GetSignal(ptr, "layoutDirectionChanged"); signal != nil { + (*(*func(core.Qt__LayoutDirection))(signal))(core.Qt__LayoutDirection(direction)) + } + +} + +func (ptr *QGuiApplication) ConnectLayoutDirectionChanged(f func(direction core.Qt__LayoutDirection)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "layoutDirectionChanged") { + C.QGuiApplication_ConnectLayoutDirectionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "layoutDirectionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "layoutDirectionChanged"); signal != nil { + f := func(direction core.Qt__LayoutDirection) { + (*(*func(core.Qt__LayoutDirection))(signal))(direction) + f(direction) + } + qt.ConnectSignal(ptr.Pointer(), "layoutDirectionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "layoutDirectionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectLayoutDirectionChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectLayoutDirectionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "layoutDirectionChanged") + } +} + +func (ptr *QGuiApplication) LayoutDirectionChanged(direction core.Qt__LayoutDirection) { + if ptr.Pointer() != nil { + C.QGuiApplication_LayoutDirectionChanged(ptr.Pointer(), C.longlong(direction)) + } +} + +func QGuiApplication_ModalWindow() *QWindow { + tmpValue := NewQWindowFromPointer(C.QGuiApplication_QGuiApplication_ModalWindow()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGuiApplication) ModalWindow() *QWindow { + tmpValue := NewQWindowFromPointer(C.QGuiApplication_QGuiApplication_ModalWindow()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QGuiApplication_MouseButtons() core.Qt__MouseButton { + return core.Qt__MouseButton(C.QGuiApplication_QGuiApplication_MouseButtons()) +} + +func (ptr *QGuiApplication) MouseButtons() core.Qt__MouseButton { + return core.Qt__MouseButton(C.QGuiApplication_QGuiApplication_MouseButtons()) +} + +func QGuiApplication_OverrideCursor() *QCursor { + return NewQCursorFromPointer(C.QGuiApplication_QGuiApplication_OverrideCursor()) +} + +func (ptr *QGuiApplication) OverrideCursor() *QCursor { + return NewQCursorFromPointer(C.QGuiApplication_QGuiApplication_OverrideCursor()) +} + +func QGuiApplication_Palette() *QPalette { + tmpValue := NewQPaletteFromPointer(C.QGuiApplication_QGuiApplication_Palette()) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue +} + +func (ptr *QGuiApplication) Palette() *QPalette { + tmpValue := NewQPaletteFromPointer(C.QGuiApplication_QGuiApplication_Palette()) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue +} + +//export callbackQGuiApplication_PaletteChanged +func callbackQGuiApplication_PaletteChanged(ptr unsafe.Pointer, palette unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "paletteChanged"); signal != nil { + (*(*func(*QPalette))(signal))(NewQPaletteFromPointer(palette)) + } + +} + +func (ptr *QGuiApplication) ConnectPaletteChanged(f func(palette *QPalette)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "paletteChanged") { + C.QGuiApplication_ConnectPaletteChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "paletteChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "paletteChanged"); signal != nil { + f := func(palette *QPalette) { + (*(*func(*QPalette))(signal))(palette) + f(palette) + } + qt.ConnectSignal(ptr.Pointer(), "paletteChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "paletteChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectPaletteChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectPaletteChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "paletteChanged") + } +} + +func (ptr *QGuiApplication) PaletteChanged(palette QPalette_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_PaletteChanged(ptr.Pointer(), PointerFromQPalette(palette)) + } +} + +func QGuiApplication_PlatformName() string { + return cGoUnpackString(C.QGuiApplication_QGuiApplication_PlatformName()) +} + +func (ptr *QGuiApplication) PlatformName() string { + return cGoUnpackString(C.QGuiApplication_QGuiApplication_PlatformName()) +} + +func QGuiApplication_PrimaryScreen() *QScreen { + tmpValue := NewQScreenFromPointer(C.QGuiApplication_QGuiApplication_PrimaryScreen()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGuiApplication) PrimaryScreen() *QScreen { + tmpValue := NewQScreenFromPointer(C.QGuiApplication_QGuiApplication_PrimaryScreen()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQGuiApplication_PrimaryScreenChanged +func callbackQGuiApplication_PrimaryScreenChanged(ptr unsafe.Pointer, screen unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "primaryScreenChanged"); signal != nil { + (*(*func(*QScreen))(signal))(NewQScreenFromPointer(screen)) + } + +} + +func (ptr *QGuiApplication) ConnectPrimaryScreenChanged(f func(screen *QScreen)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "primaryScreenChanged") { + C.QGuiApplication_ConnectPrimaryScreenChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "primaryScreenChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "primaryScreenChanged"); signal != nil { + f := func(screen *QScreen) { + (*(*func(*QScreen))(signal))(screen) + f(screen) + } + qt.ConnectSignal(ptr.Pointer(), "primaryScreenChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "primaryScreenChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectPrimaryScreenChanged() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectPrimaryScreenChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "primaryScreenChanged") + } +} + +func (ptr *QGuiApplication) PrimaryScreenChanged(screen QScreen_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_PrimaryScreenChanged(ptr.Pointer(), PointerFromQScreen(screen)) + } +} + +func QGuiApplication_QueryKeyboardModifiers() core.Qt__KeyboardModifier { + return core.Qt__KeyboardModifier(C.QGuiApplication_QGuiApplication_QueryKeyboardModifiers()) +} + +func (ptr *QGuiApplication) QueryKeyboardModifiers() core.Qt__KeyboardModifier { + return core.Qt__KeyboardModifier(C.QGuiApplication_QGuiApplication_QueryKeyboardModifiers()) +} + +func QGuiApplication_QuitOnLastWindowClosed() bool { + return int8(C.QGuiApplication_QGuiApplication_QuitOnLastWindowClosed()) != 0 +} + +func (ptr *QGuiApplication) QuitOnLastWindowClosed() bool { + return int8(C.QGuiApplication_QGuiApplication_QuitOnLastWindowClosed()) != 0 +} + +func QGuiApplication_RestoreOverrideCursor() { + C.QGuiApplication_QGuiApplication_RestoreOverrideCursor() +} + +func (ptr *QGuiApplication) RestoreOverrideCursor() { + C.QGuiApplication_QGuiApplication_RestoreOverrideCursor() +} + +//export callbackQGuiApplication_SaveStateRequest +func callbackQGuiApplication_SaveStateRequest(ptr unsafe.Pointer, manager unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "saveStateRequest"); signal != nil { + (*(*func(*QSessionManager))(signal))(NewQSessionManagerFromPointer(manager)) + } + +} + +func (ptr *QGuiApplication) ConnectSaveStateRequest(f func(manager *QSessionManager)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "saveStateRequest") { + C.QGuiApplication_ConnectSaveStateRequest(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "saveStateRequest"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "saveStateRequest"); signal != nil { + f := func(manager *QSessionManager) { + (*(*func(*QSessionManager))(signal))(manager) + f(manager) + } + qt.ConnectSignal(ptr.Pointer(), "saveStateRequest", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "saveStateRequest", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectSaveStateRequest() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectSaveStateRequest(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "saveStateRequest") + } +} + +func (ptr *QGuiApplication) SaveStateRequest(manager QSessionManager_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_SaveStateRequest(ptr.Pointer(), PointerFromQSessionManager(manager)) + } +} + +//export callbackQGuiApplication_ScreenAdded +func callbackQGuiApplication_ScreenAdded(ptr unsafe.Pointer, screen unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "screenAdded"); signal != nil { + (*(*func(*QScreen))(signal))(NewQScreenFromPointer(screen)) + } + +} + +func (ptr *QGuiApplication) ConnectScreenAdded(f func(screen *QScreen)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "screenAdded") { + C.QGuiApplication_ConnectScreenAdded(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "screenAdded"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "screenAdded"); signal != nil { + f := func(screen *QScreen) { + (*(*func(*QScreen))(signal))(screen) + f(screen) + } + qt.ConnectSignal(ptr.Pointer(), "screenAdded", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "screenAdded", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectScreenAdded() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectScreenAdded(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "screenAdded") + } +} + +func (ptr *QGuiApplication) ScreenAdded(screen QScreen_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_ScreenAdded(ptr.Pointer(), PointerFromQScreen(screen)) + } +} + +func QGuiApplication_ScreenAt(point core.QPoint_ITF) *QScreen { + tmpValue := NewQScreenFromPointer(C.QGuiApplication_QGuiApplication_ScreenAt(core.PointerFromQPoint(point))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGuiApplication) ScreenAt(point core.QPoint_ITF) *QScreen { + tmpValue := NewQScreenFromPointer(C.QGuiApplication_QGuiApplication_ScreenAt(core.PointerFromQPoint(point))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQGuiApplication_ScreenRemoved +func callbackQGuiApplication_ScreenRemoved(ptr unsafe.Pointer, screen unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "screenRemoved"); signal != nil { + (*(*func(*QScreen))(signal))(NewQScreenFromPointer(screen)) + } + +} + +func (ptr *QGuiApplication) ConnectScreenRemoved(f func(screen *QScreen)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "screenRemoved") { + C.QGuiApplication_ConnectScreenRemoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "screenRemoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "screenRemoved"); signal != nil { + f := func(screen *QScreen) { + (*(*func(*QScreen))(signal))(screen) + f(screen) + } + qt.ConnectSignal(ptr.Pointer(), "screenRemoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "screenRemoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectScreenRemoved() { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectScreenRemoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "screenRemoved") + } +} + +func (ptr *QGuiApplication) ScreenRemoved(screen QScreen_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_ScreenRemoved(ptr.Pointer(), PointerFromQScreen(screen)) + } +} + +func QGuiApplication_Screens() []*QScreen { + return func(l C.struct_QtGui_PackedList) []*QScreen { + out := make([]*QScreen, int(l.len)) + tmpList := NewQGuiApplicationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__screens_atList(i) + } + return out + }(C.QGuiApplication_QGuiApplication_Screens()) +} + +func (ptr *QGuiApplication) Screens() []*QScreen { + return func(l C.struct_QtGui_PackedList) []*QScreen { + out := make([]*QScreen, int(l.len)) + tmpList := NewQGuiApplicationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__screens_atList(i) + } + return out + }(C.QGuiApplication_QGuiApplication_Screens()) +} + +func (ptr *QGuiApplication) SessionId() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QGuiApplication_SessionId(ptr.Pointer())) + } + return "" +} + +func (ptr *QGuiApplication) SessionKey() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QGuiApplication_SessionKey(ptr.Pointer())) + } + return "" +} + +func QGuiApplication_SetApplicationDisplayName(name string) { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QGuiApplication_QGuiApplication_SetApplicationDisplayName(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) +} + +func (ptr *QGuiApplication) SetApplicationDisplayName(name string) { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QGuiApplication_QGuiApplication_SetApplicationDisplayName(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) +} + +func QGuiApplication_SetDesktopFileName(name string) { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QGuiApplication_QGuiApplication_SetDesktopFileName(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) +} + +func (ptr *QGuiApplication) SetDesktopFileName(name string) { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QGuiApplication_QGuiApplication_SetDesktopFileName(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) +} + +func QGuiApplication_SetDesktopSettingsAware(on bool) { + C.QGuiApplication_QGuiApplication_SetDesktopSettingsAware(C.char(int8(qt.GoBoolToInt(on)))) +} + +func (ptr *QGuiApplication) SetDesktopSettingsAware(on bool) { + C.QGuiApplication_QGuiApplication_SetDesktopSettingsAware(C.char(int8(qt.GoBoolToInt(on)))) +} + +func QGuiApplication_SetFallbackSessionManagementEnabled(enabled bool) { + C.QGuiApplication_QGuiApplication_SetFallbackSessionManagementEnabled(C.char(int8(qt.GoBoolToInt(enabled)))) +} + +func (ptr *QGuiApplication) SetFallbackSessionManagementEnabled(enabled bool) { + C.QGuiApplication_QGuiApplication_SetFallbackSessionManagementEnabled(C.char(int8(qt.GoBoolToInt(enabled)))) +} + +func QGuiApplication_SetFont(font QFont_ITF) { + C.QGuiApplication_QGuiApplication_SetFont(PointerFromQFont(font)) +} + +func (ptr *QGuiApplication) SetFont(font QFont_ITF) { + C.QGuiApplication_QGuiApplication_SetFont(PointerFromQFont(font)) +} + +func QGuiApplication_SetLayoutDirection(direction core.Qt__LayoutDirection) { + C.QGuiApplication_QGuiApplication_SetLayoutDirection(C.longlong(direction)) +} + +func (ptr *QGuiApplication) SetLayoutDirection(direction core.Qt__LayoutDirection) { + C.QGuiApplication_QGuiApplication_SetLayoutDirection(C.longlong(direction)) +} + +func QGuiApplication_SetOverrideCursor(cursor QCursor_ITF) { + C.QGuiApplication_QGuiApplication_SetOverrideCursor(PointerFromQCursor(cursor)) +} + +func (ptr *QGuiApplication) SetOverrideCursor(cursor QCursor_ITF) { + C.QGuiApplication_QGuiApplication_SetOverrideCursor(PointerFromQCursor(cursor)) +} + +func QGuiApplication_SetPalette(pal QPalette_ITF) { + C.QGuiApplication_QGuiApplication_SetPalette(PointerFromQPalette(pal)) +} + +func (ptr *QGuiApplication) SetPalette(pal QPalette_ITF) { + C.QGuiApplication_QGuiApplication_SetPalette(PointerFromQPalette(pal)) +} + +func QGuiApplication_SetQuitOnLastWindowClosed(quit bool) { + C.QGuiApplication_QGuiApplication_SetQuitOnLastWindowClosed(C.char(int8(qt.GoBoolToInt(quit)))) +} + +func (ptr *QGuiApplication) SetQuitOnLastWindowClosed(quit bool) { + C.QGuiApplication_QGuiApplication_SetQuitOnLastWindowClosed(C.char(int8(qt.GoBoolToInt(quit)))) +} + +func QGuiApplication_SetWindowIcon(icon QIcon_ITF) { + C.QGuiApplication_QGuiApplication_SetWindowIcon(PointerFromQIcon(icon)) +} + +func (ptr *QGuiApplication) SetWindowIcon(icon QIcon_ITF) { + C.QGuiApplication_QGuiApplication_SetWindowIcon(PointerFromQIcon(icon)) +} + +func QGuiApplication_StyleHints() *QStyleHints { + tmpValue := NewQStyleHintsFromPointer(C.QGuiApplication_QGuiApplication_StyleHints()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGuiApplication) StyleHints() *QStyleHints { + tmpValue := NewQStyleHintsFromPointer(C.QGuiApplication_QGuiApplication_StyleHints()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QGuiApplication_Sync() { + C.QGuiApplication_QGuiApplication_Sync() +} + +func (ptr *QGuiApplication) Sync() { + C.QGuiApplication_QGuiApplication_Sync() +} + +func QGuiApplication_TopLevelAt(pos core.QPoint_ITF) *QWindow { + tmpValue := NewQWindowFromPointer(C.QGuiApplication_QGuiApplication_TopLevelAt(core.PointerFromQPoint(pos))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QGuiApplication) TopLevelAt(pos core.QPoint_ITF) *QWindow { + tmpValue := NewQWindowFromPointer(C.QGuiApplication_QGuiApplication_TopLevelAt(core.PointerFromQPoint(pos))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QGuiApplication_WindowIcon() *QIcon { + tmpValue := NewQIconFromPointer(C.QGuiApplication_QGuiApplication_WindowIcon()) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func (ptr *QGuiApplication) WindowIcon() *QIcon { + tmpValue := NewQIconFromPointer(C.QGuiApplication_QGuiApplication_WindowIcon()) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +//export callbackQGuiApplication_DestroyQGuiApplication +func callbackQGuiApplication_DestroyQGuiApplication(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QGuiApplication"); signal != nil { + (*(*func())(signal))() + } else { + NewQGuiApplicationFromPointer(ptr).DestroyQGuiApplicationDefault() + } +} + +func (ptr *QGuiApplication) ConnectDestroyQGuiApplication(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QGuiApplication"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QGuiApplication", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QGuiApplication", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QGuiApplication) DisconnectDestroyQGuiApplication() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QGuiApplication") + } +} + +func (ptr *QGuiApplication) DestroyQGuiApplication() { + if ptr.Pointer() != nil { + C.QGuiApplication_DestroyQGuiApplication(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QGuiApplication) DestroyQGuiApplicationDefault() { + if ptr.Pointer() != nil { + C.QGuiApplication_DestroyQGuiApplicationDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QGuiApplication) __screens_atList(i int) *QScreen { + if ptr.Pointer() != nil { + tmpValue := NewQScreenFromPointer(C.QGuiApplication___screens_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QGuiApplication) __screens_setList(i QScreen_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication___screens_setList(ptr.Pointer(), PointerFromQScreen(i)) + } +} + +func (ptr *QGuiApplication) __screens_newList() unsafe.Pointer { + return C.QGuiApplication___screens_newList(ptr.Pointer()) +} + +func (ptr *QGuiApplication) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QGuiApplication___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QGuiApplication) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QGuiApplication) __children_newList() unsafe.Pointer { + return C.QGuiApplication___children_newList(ptr.Pointer()) +} + +func (ptr *QGuiApplication) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QGuiApplication___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QGuiApplication) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QGuiApplication) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QGuiApplication___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QGuiApplication) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QGuiApplication___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QGuiApplication) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QGuiApplication) __findChildren_newList() unsafe.Pointer { + return C.QGuiApplication___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QGuiApplication) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QGuiApplication___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QGuiApplication) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QGuiApplication) __findChildren_newList3() unsafe.Pointer { + return C.QGuiApplication___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QGuiApplication) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QGuiApplication___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QGuiApplication) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QGuiApplication) __qFindChildren_newList2() unsafe.Pointer { + return C.QGuiApplication___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQGuiApplication_AboutToQuit +func callbackQGuiApplication_AboutToQuit(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "aboutToQuit"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQGuiApplication_ApplicationNameChanged +func callbackQGuiApplication_ApplicationNameChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "applicationNameChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQGuiApplication_ApplicationVersionChanged +func callbackQGuiApplication_ApplicationVersionChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "applicationVersionChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQGuiApplication_OrganizationDomainChanged +func callbackQGuiApplication_OrganizationDomainChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "organizationDomainChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQGuiApplication_OrganizationNameChanged +func callbackQGuiApplication_OrganizationNameChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "organizationNameChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQGuiApplication_Quit +func callbackQGuiApplication_Quit(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "quit"); signal != nil { + (*(*func())(signal))() + } else { + NewQGuiApplicationFromPointer(ptr).QuitDefault() + } +} + +func (ptr *QGuiApplication) QuitDefault() { + if ptr.Pointer() != nil { + C.QGuiApplication_QuitDefault(ptr.Pointer()) + } +} + +//export callbackQGuiApplication_ChildEvent +func callbackQGuiApplication_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQGuiApplicationFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QGuiApplication) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQGuiApplication_ConnectNotify +func callbackQGuiApplication_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQGuiApplicationFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QGuiApplication) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQGuiApplication_CustomEvent +func callbackQGuiApplication_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQGuiApplicationFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QGuiApplication) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQGuiApplication_DeleteLater +func callbackQGuiApplication_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQGuiApplicationFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QGuiApplication) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QGuiApplication_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQGuiApplication_Destroyed +func callbackQGuiApplication_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQGuiApplication_DisconnectNotify +func callbackQGuiApplication_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQGuiApplicationFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QGuiApplication) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQGuiApplication_EventFilter +func callbackQGuiApplication_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQGuiApplicationFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QGuiApplication) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QGuiApplication_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQGuiApplication_MetaObject +func callbackQGuiApplication_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQGuiApplicationFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QGuiApplication) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QGuiApplication_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQGuiApplication_ObjectNameChanged +func callbackQGuiApplication_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQGuiApplication_TimerEvent +func callbackQGuiApplication_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQGuiApplicationFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QGuiApplication) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QGuiApplication_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QHelpEvent struct { + core.QEvent +} + +type QHelpEvent_ITF interface { + core.QEvent_ITF + QHelpEvent_PTR() *QHelpEvent +} + +func (ptr *QHelpEvent) QHelpEvent_PTR() *QHelpEvent { + return ptr +} + +func (ptr *QHelpEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QHelpEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQHelpEvent(ptr QHelpEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHelpEvent_PTR().Pointer() + } + return nil +} + +func NewQHelpEventFromPointer(ptr unsafe.Pointer) (n *QHelpEvent) { + n = new(QHelpEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QHelpEvent) DestroyQHelpEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQHelpEvent(ty core.QEvent__Type, pos core.QPoint_ITF, globalPos core.QPoint_ITF) *QHelpEvent { + tmpValue := NewQHelpEventFromPointer(C.QHelpEvent_NewQHelpEvent(C.longlong(ty), core.PointerFromQPoint(pos), core.PointerFromQPoint(globalPos))) + runtime.SetFinalizer(tmpValue, (*QHelpEvent).DestroyQHelpEvent) + return tmpValue +} + +func (ptr *QHelpEvent) GlobalPos() *core.QPoint { + if ptr.Pointer() != nil { + return core.NewQPointFromPointer(C.QHelpEvent_GlobalPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QHelpEvent) GlobalX() int { + if ptr.Pointer() != nil { + return int(int32(C.QHelpEvent_GlobalX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QHelpEvent) GlobalY() int { + if ptr.Pointer() != nil { + return int(int32(C.QHelpEvent_GlobalY(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QHelpEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + return core.NewQPointFromPointer(C.QHelpEvent_Pos(ptr.Pointer())) + } + return nil +} + +func (ptr *QHelpEvent) X() int { + if ptr.Pointer() != nil { + return int(int32(C.QHelpEvent_X(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QHelpEvent) Y() int { + if ptr.Pointer() != nil { + return int(int32(C.QHelpEvent_Y(ptr.Pointer()))) + } + return 0 +} + +type QHideEvent struct { + core.QEvent +} + +type QHideEvent_ITF interface { + core.QEvent_ITF + QHideEvent_PTR() *QHideEvent +} + +func (ptr *QHideEvent) QHideEvent_PTR() *QHideEvent { + return ptr +} + +func (ptr *QHideEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QHideEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQHideEvent(ptr QHideEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHideEvent_PTR().Pointer() + } + return nil +} + +func NewQHideEventFromPointer(ptr unsafe.Pointer) (n *QHideEvent) { + n = new(QHideEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QHideEvent) DestroyQHideEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQHideEvent() *QHideEvent { + tmpValue := NewQHideEventFromPointer(C.QHideEvent_NewQHideEvent()) + runtime.SetFinalizer(tmpValue, (*QHideEvent).DestroyQHideEvent) + return tmpValue +} + +type QHoverEvent struct { + QInputEvent +} + +type QHoverEvent_ITF interface { + QInputEvent_ITF + QHoverEvent_PTR() *QHoverEvent +} + +func (ptr *QHoverEvent) QHoverEvent_PTR() *QHoverEvent { + return ptr +} + +func (ptr *QHoverEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QInputEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QHoverEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QInputEvent_PTR().SetPointer(p) + } +} + +func PointerFromQHoverEvent(ptr QHoverEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHoverEvent_PTR().Pointer() + } + return nil +} + +func NewQHoverEventFromPointer(ptr unsafe.Pointer) (n *QHoverEvent) { + n = new(QHoverEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QHoverEvent) DestroyQHoverEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQHoverEvent(ty core.QEvent__Type, pos core.QPointF_ITF, oldPos core.QPointF_ITF, modifiers core.Qt__KeyboardModifier) *QHoverEvent { + tmpValue := NewQHoverEventFromPointer(C.QHoverEvent_NewQHoverEvent(C.longlong(ty), core.PointerFromQPointF(pos), core.PointerFromQPointF(oldPos), C.longlong(modifiers))) + runtime.SetFinalizer(tmpValue, (*QHoverEvent).DestroyQHoverEvent) + return tmpValue +} + +func (ptr *QHoverEvent) OldPos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QHoverEvent_OldPos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QHoverEvent) OldPosF() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QHoverEvent_OldPosF(ptr.Pointer())) + } + return nil +} + +func (ptr *QHoverEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QHoverEvent_Pos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QHoverEvent) PosF() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QHoverEvent_PosF(ptr.Pointer())) + } + return nil +} + +type QIcon struct { + ptr unsafe.Pointer +} + +type QIcon_ITF interface { + QIcon_PTR() *QIcon +} + +func (ptr *QIcon) QIcon_PTR() *QIcon { + return ptr +} + +func (ptr *QIcon) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QIcon) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQIcon(ptr QIcon_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QIcon_PTR().Pointer() + } + return nil +} + +func NewQIconFromPointer(ptr unsafe.Pointer) (n *QIcon) { + n = new(QIcon) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QIcon__Mode +//QIcon::Mode +type QIcon__Mode int64 + +const ( + QIcon__Normal QIcon__Mode = QIcon__Mode(0) + QIcon__Disabled QIcon__Mode = QIcon__Mode(1) + QIcon__Active QIcon__Mode = QIcon__Mode(2) + QIcon__Selected QIcon__Mode = QIcon__Mode(3) +) + +//go:generate stringer -type=QIcon__State +//QIcon::State +type QIcon__State int64 + +const ( + QIcon__On QIcon__State = QIcon__State(0) + QIcon__Off QIcon__State = QIcon__State(1) +) + +func NewQIcon() *QIcon { + tmpValue := NewQIconFromPointer(C.QIcon_NewQIcon()) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func NewQIcon2(pixmap QPixmap_ITF) *QIcon { + tmpValue := NewQIconFromPointer(C.QIcon_NewQIcon2(PointerFromQPixmap(pixmap))) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func NewQIcon3(other QIcon_ITF) *QIcon { + tmpValue := NewQIconFromPointer(C.QIcon_NewQIcon3(PointerFromQIcon(other))) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func NewQIcon4(other QIcon_ITF) *QIcon { + tmpValue := NewQIconFromPointer(C.QIcon_NewQIcon4(PointerFromQIcon(other))) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func NewQIcon5(fileName string) *QIcon { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQIconFromPointer(C.QIcon_NewQIcon5(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func NewQIcon6(engine QIconEngine_ITF) *QIcon { + tmpValue := NewQIconFromPointer(C.QIcon_NewQIcon6(PointerFromQIconEngine(engine))) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func (ptr *QIcon) ActualSize(size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QIcon_ActualSize(ptr.Pointer(), core.PointerFromQSize(size), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QIcon) ActualSize2(window QWindow_ITF, size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QIcon_ActualSize2(ptr.Pointer(), PointerFromQWindow(window), core.PointerFromQSize(size), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QIcon) AddFile(fileName string, size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QIcon_AddFile(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, core.PointerFromQSize(size), C.longlong(mode), C.longlong(state)) + } +} + +func (ptr *QIcon) AddPixmap(pixmap QPixmap_ITF, mode QIcon__Mode, state QIcon__State) { + if ptr.Pointer() != nil { + C.QIcon_AddPixmap(ptr.Pointer(), PointerFromQPixmap(pixmap), C.longlong(mode), C.longlong(state)) + } +} + +func (ptr *QIcon) AvailableSizes(mode QIcon__Mode, state QIcon__State) []*core.QSize { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QSize { + out := make([]*core.QSize, int(l.len)) + tmpList := NewQIconFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableSizes_atList(i) + } + return out + }(C.QIcon_AvailableSizes(ptr.Pointer(), C.longlong(mode), C.longlong(state))) + } + return make([]*core.QSize, 0) +} + +func (ptr *QIcon) CacheKey() int64 { + if ptr.Pointer() != nil { + return int64(C.QIcon_CacheKey(ptr.Pointer())) + } + return 0 +} + +func QIcon_FallbackSearchPaths() []string { + return unpackStringList(cGoUnpackString(C.QIcon_QIcon_FallbackSearchPaths())) +} + +func (ptr *QIcon) FallbackSearchPaths() []string { + return unpackStringList(cGoUnpackString(C.QIcon_QIcon_FallbackSearchPaths())) +} + +func QIcon_FallbackThemeName() string { + return cGoUnpackString(C.QIcon_QIcon_FallbackThemeName()) +} + +func (ptr *QIcon) FallbackThemeName() string { + return cGoUnpackString(C.QIcon_QIcon_FallbackThemeName()) +} + +func QIcon_FromTheme(name string) *QIcon { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQIconFromPointer(C.QIcon_QIcon_FromTheme(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func (ptr *QIcon) FromTheme(name string) *QIcon { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQIconFromPointer(C.QIcon_QIcon_FromTheme(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func QIcon_FromTheme2(name string, fallback QIcon_ITF) *QIcon { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQIconFromPointer(C.QIcon_QIcon_FromTheme2(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQIcon(fallback))) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func (ptr *QIcon) FromTheme2(name string, fallback QIcon_ITF) *QIcon { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQIconFromPointer(C.QIcon_QIcon_FromTheme2(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQIcon(fallback))) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue +} + +func QIcon_HasThemeIcon(name string) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QIcon_QIcon_HasThemeIcon(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 +} + +func (ptr *QIcon) HasThemeIcon(name string) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QIcon_QIcon_HasThemeIcon(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 +} + +func (ptr *QIcon) IsMask() bool { + if ptr.Pointer() != nil { + return int8(C.QIcon_IsMask(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIcon) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QIcon_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QIcon) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QIcon_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QIcon) Paint(painter QPainter_ITF, rect core.QRect_ITF, alignment core.Qt__AlignmentFlag, mode QIcon__Mode, state QIcon__State) { + if ptr.Pointer() != nil { + C.QIcon_Paint(ptr.Pointer(), PointerFromQPainter(painter), core.PointerFromQRect(rect), C.longlong(alignment), C.longlong(mode), C.longlong(state)) + } +} + +func (ptr *QIcon) Paint2(painter QPainter_ITF, x int, y int, w int, h int, alignment core.Qt__AlignmentFlag, mode QIcon__Mode, state QIcon__State) { + if ptr.Pointer() != nil { + C.QIcon_Paint2(ptr.Pointer(), PointerFromQPainter(painter), C.int(int32(x)), C.int(int32(y)), C.int(int32(w)), C.int(int32(h)), C.longlong(alignment), C.longlong(mode), C.longlong(state)) + } +} + +func (ptr *QIcon) Pixmap(size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QIcon_Pixmap(ptr.Pointer(), core.PointerFromQSize(size), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QIcon) Pixmap2(w int, h int, mode QIcon__Mode, state QIcon__State) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QIcon_Pixmap2(ptr.Pointer(), C.int(int32(w)), C.int(int32(h)), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QIcon) Pixmap3(extent int, mode QIcon__Mode, state QIcon__State) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QIcon_Pixmap3(ptr.Pointer(), C.int(int32(extent)), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QIcon) Pixmap4(window QWindow_ITF, size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QIcon_Pixmap4(ptr.Pointer(), PointerFromQWindow(window), core.PointerFromQSize(size), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func QIcon_SetFallbackSearchPaths(paths []string) { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + C.QIcon_QIcon_SetFallbackSearchPaths(C.struct_QtGui_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}) +} + +func (ptr *QIcon) SetFallbackSearchPaths(paths []string) { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + C.QIcon_QIcon_SetFallbackSearchPaths(C.struct_QtGui_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}) +} + +func QIcon_SetFallbackThemeName(name string) { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QIcon_QIcon_SetFallbackThemeName(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) +} + +func (ptr *QIcon) SetFallbackThemeName(name string) { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QIcon_QIcon_SetFallbackThemeName(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) +} + +func (ptr *QIcon) SetIsMask(isMask bool) { + if ptr.Pointer() != nil { + C.QIcon_SetIsMask(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(isMask)))) + } +} + +func QIcon_SetThemeName(name string) { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QIcon_QIcon_SetThemeName(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) +} + +func (ptr *QIcon) SetThemeName(name string) { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QIcon_QIcon_SetThemeName(C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) +} + +func QIcon_SetThemeSearchPaths(paths []string) { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + C.QIcon_QIcon_SetThemeSearchPaths(C.struct_QtGui_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}) +} + +func (ptr *QIcon) SetThemeSearchPaths(paths []string) { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + C.QIcon_QIcon_SetThemeSearchPaths(C.struct_QtGui_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}) +} + +func (ptr *QIcon) Swap(other QIcon_ITF) { + if ptr.Pointer() != nil { + C.QIcon_Swap(ptr.Pointer(), PointerFromQIcon(other)) + } +} + +func QIcon_ThemeName() string { + return cGoUnpackString(C.QIcon_QIcon_ThemeName()) +} + +func (ptr *QIcon) ThemeName() string { + return cGoUnpackString(C.QIcon_QIcon_ThemeName()) +} + +func QIcon_ThemeSearchPaths() []string { + return unpackStringList(cGoUnpackString(C.QIcon_QIcon_ThemeSearchPaths())) +} + +func (ptr *QIcon) ThemeSearchPaths() []string { + return unpackStringList(cGoUnpackString(C.QIcon_QIcon_ThemeSearchPaths())) +} + +func (ptr *QIcon) DestroyQIcon() { + if ptr.Pointer() != nil { + C.QIcon_DestroyQIcon(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QIcon) ToVariant() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QIcon_ToVariant(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QIcon) __availableSizes_atList(i int) *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QIcon___availableSizes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QIcon) __availableSizes_setList(i core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QIcon___availableSizes_setList(ptr.Pointer(), core.PointerFromQSize(i)) + } +} + +func (ptr *QIcon) __availableSizes_newList() unsafe.Pointer { + return C.QIcon___availableSizes_newList(ptr.Pointer()) +} + +type QIconDragEvent struct { + core.QEvent +} + +type QIconDragEvent_ITF interface { + core.QEvent_ITF + QIconDragEvent_PTR() *QIconDragEvent +} + +func (ptr *QIconDragEvent) QIconDragEvent_PTR() *QIconDragEvent { + return ptr +} + +func (ptr *QIconDragEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QIconDragEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQIconDragEvent(ptr QIconDragEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QIconDragEvent_PTR().Pointer() + } + return nil +} + +func NewQIconDragEventFromPointer(ptr unsafe.Pointer) (n *QIconDragEvent) { + n = new(QIconDragEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QIconDragEvent) DestroyQIconDragEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQIconDragEvent() *QIconDragEvent { + tmpValue := NewQIconDragEventFromPointer(C.QIconDragEvent_NewQIconDragEvent()) + runtime.SetFinalizer(tmpValue, (*QIconDragEvent).DestroyQIconDragEvent) + return tmpValue +} + +type QIconEngine struct { + ptr unsafe.Pointer +} + +type QIconEngine_ITF interface { + QIconEngine_PTR() *QIconEngine +} + +func (ptr *QIconEngine) QIconEngine_PTR() *QIconEngine { + return ptr +} + +func (ptr *QIconEngine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QIconEngine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQIconEngine(ptr QIconEngine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QIconEngine_PTR().Pointer() + } + return nil +} + +func NewQIconEngineFromPointer(ptr unsafe.Pointer) (n *QIconEngine) { + n = new(QIconEngine) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QIconEngine__IconEngineHook +//QIconEngine::IconEngineHook +type QIconEngine__IconEngineHook int64 + +const ( + QIconEngine__AvailableSizesHook QIconEngine__IconEngineHook = QIconEngine__IconEngineHook(1) + QIconEngine__IconNameHook QIconEngine__IconEngineHook = QIconEngine__IconEngineHook(2) + QIconEngine__IsNullHook QIconEngine__IconEngineHook = QIconEngine__IconEngineHook(3) + QIconEngine__ScaledPixmapHook QIconEngine__IconEngineHook = QIconEngine__IconEngineHook(4) +) + +func NewQIconEngine() *QIconEngine { + return NewQIconEngineFromPointer(C.QIconEngine_NewQIconEngine()) +} + +//export callbackQIconEngine_ActualSize +func callbackQIconEngine_ActualSize(ptr unsafe.Pointer, size unsafe.Pointer, mode C.longlong, state C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "actualSize"); signal != nil { + return core.PointerFromQSize((*(*func(*core.QSize, QIcon__Mode, QIcon__State) *core.QSize)(signal))(core.NewQSizeFromPointer(size), QIcon__Mode(mode), QIcon__State(state))) + } + + return core.PointerFromQSize(NewQIconEngineFromPointer(ptr).ActualSizeDefault(core.NewQSizeFromPointer(size), QIcon__Mode(mode), QIcon__State(state))) +} + +func (ptr *QIconEngine) ConnectActualSize(f func(size *core.QSize, mode QIcon__Mode, state QIcon__State) *core.QSize) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "actualSize"); signal != nil { + f := func(size *core.QSize, mode QIcon__Mode, state QIcon__State) *core.QSize { + (*(*func(*core.QSize, QIcon__Mode, QIcon__State) *core.QSize)(signal))(size, mode, state) + return f(size, mode, state) + } + qt.ConnectSignal(ptr.Pointer(), "actualSize", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "actualSize", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectActualSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "actualSize") + } +} + +func (ptr *QIconEngine) ActualSize(size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QIconEngine_ActualSize(ptr.Pointer(), core.PointerFromQSize(size), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QIconEngine) ActualSizeDefault(size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QIconEngine_ActualSizeDefault(ptr.Pointer(), core.PointerFromQSize(size), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +//export callbackQIconEngine_AddFile +func callbackQIconEngine_AddFile(ptr unsafe.Pointer, fileName C.struct_QtGui_PackedString, size unsafe.Pointer, mode C.longlong, state C.longlong) { + if signal := qt.GetSignal(ptr, "addFile"); signal != nil { + (*(*func(string, *core.QSize, QIcon__Mode, QIcon__State))(signal))(cGoUnpackString(fileName), core.NewQSizeFromPointer(size), QIcon__Mode(mode), QIcon__State(state)) + } else { + NewQIconEngineFromPointer(ptr).AddFileDefault(cGoUnpackString(fileName), core.NewQSizeFromPointer(size), QIcon__Mode(mode), QIcon__State(state)) + } +} + +func (ptr *QIconEngine) ConnectAddFile(f func(fileName string, size *core.QSize, mode QIcon__Mode, state QIcon__State)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "addFile"); signal != nil { + f := func(fileName string, size *core.QSize, mode QIcon__Mode, state QIcon__State) { + (*(*func(string, *core.QSize, QIcon__Mode, QIcon__State))(signal))(fileName, size, mode, state) + f(fileName, size, mode, state) + } + qt.ConnectSignal(ptr.Pointer(), "addFile", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "addFile", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectAddFile() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "addFile") + } +} + +func (ptr *QIconEngine) AddFile(fileName string, size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QIconEngine_AddFile(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, core.PointerFromQSize(size), C.longlong(mode), C.longlong(state)) + } +} + +func (ptr *QIconEngine) AddFileDefault(fileName string, size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QIconEngine_AddFileDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, core.PointerFromQSize(size), C.longlong(mode), C.longlong(state)) + } +} + +//export callbackQIconEngine_AddPixmap +func callbackQIconEngine_AddPixmap(ptr unsafe.Pointer, pixmap unsafe.Pointer, mode C.longlong, state C.longlong) { + if signal := qt.GetSignal(ptr, "addPixmap"); signal != nil { + (*(*func(*QPixmap, QIcon__Mode, QIcon__State))(signal))(NewQPixmapFromPointer(pixmap), QIcon__Mode(mode), QIcon__State(state)) + } else { + NewQIconEngineFromPointer(ptr).AddPixmapDefault(NewQPixmapFromPointer(pixmap), QIcon__Mode(mode), QIcon__State(state)) + } +} + +func (ptr *QIconEngine) ConnectAddPixmap(f func(pixmap *QPixmap, mode QIcon__Mode, state QIcon__State)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "addPixmap"); signal != nil { + f := func(pixmap *QPixmap, mode QIcon__Mode, state QIcon__State) { + (*(*func(*QPixmap, QIcon__Mode, QIcon__State))(signal))(pixmap, mode, state) + f(pixmap, mode, state) + } + qt.ConnectSignal(ptr.Pointer(), "addPixmap", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "addPixmap", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectAddPixmap() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "addPixmap") + } +} + +func (ptr *QIconEngine) AddPixmap(pixmap QPixmap_ITF, mode QIcon__Mode, state QIcon__State) { + if ptr.Pointer() != nil { + C.QIconEngine_AddPixmap(ptr.Pointer(), PointerFromQPixmap(pixmap), C.longlong(mode), C.longlong(state)) + } +} + +func (ptr *QIconEngine) AddPixmapDefault(pixmap QPixmap_ITF, mode QIcon__Mode, state QIcon__State) { + if ptr.Pointer() != nil { + C.QIconEngine_AddPixmapDefault(ptr.Pointer(), PointerFromQPixmap(pixmap), C.longlong(mode), C.longlong(state)) + } +} + +//export callbackQIconEngine_AvailableSizes +func callbackQIconEngine_AvailableSizes(ptr unsafe.Pointer, mode C.longlong, state C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "availableSizes"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQIconEngineFromPointer(NewQIconEngineFromPointer(nil).__availableSizes_newList()) + for _, v := range (*(*func(QIcon__Mode, QIcon__State) []*core.QSize)(signal))(QIcon__Mode(mode), QIcon__State(state)) { + tmpList.__availableSizes_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQIconEngineFromPointer(NewQIconEngineFromPointer(nil).__availableSizes_newList()) + for _, v := range NewQIconEngineFromPointer(ptr).AvailableSizesDefault(QIcon__Mode(mode), QIcon__State(state)) { + tmpList.__availableSizes_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QIconEngine) ConnectAvailableSizes(f func(mode QIcon__Mode, state QIcon__State) []*core.QSize) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "availableSizes"); signal != nil { + f := func(mode QIcon__Mode, state QIcon__State) []*core.QSize { + (*(*func(QIcon__Mode, QIcon__State) []*core.QSize)(signal))(mode, state) + return f(mode, state) + } + qt.ConnectSignal(ptr.Pointer(), "availableSizes", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "availableSizes", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectAvailableSizes() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "availableSizes") + } +} + +func (ptr *QIconEngine) AvailableSizes(mode QIcon__Mode, state QIcon__State) []*core.QSize { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QSize { + out := make([]*core.QSize, int(l.len)) + tmpList := NewQIconEngineFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableSizes_atList(i) + } + return out + }(C.QIconEngine_AvailableSizes(ptr.Pointer(), C.longlong(mode), C.longlong(state))) + } + return make([]*core.QSize, 0) +} + +func (ptr *QIconEngine) AvailableSizesDefault(mode QIcon__Mode, state QIcon__State) []*core.QSize { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QSize { + out := make([]*core.QSize, int(l.len)) + tmpList := NewQIconEngineFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__availableSizes_atList(i) + } + return out + }(C.QIconEngine_AvailableSizesDefault(ptr.Pointer(), C.longlong(mode), C.longlong(state))) + } + return make([]*core.QSize, 0) +} + +//export callbackQIconEngine_Clone +func callbackQIconEngine_Clone(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "clone"); signal != nil { + return PointerFromQIconEngine((*(*func() *QIconEngine)(signal))()) + } + + return PointerFromQIconEngine(NewQIconEngine()) +} + +func (ptr *QIconEngine) ConnectClone(f func() *QIconEngine) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "clone"); signal != nil { + f := func() *QIconEngine { + (*(*func() *QIconEngine)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "clone", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "clone", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectClone() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "clone") + } +} + +func (ptr *QIconEngine) Clone() *QIconEngine { + if ptr.Pointer() != nil { + return NewQIconEngineFromPointer(C.QIconEngine_Clone(ptr.Pointer())) + } + return nil +} + +//export callbackQIconEngine_IconName +func callbackQIconEngine_IconName(ptr unsafe.Pointer) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "iconName"); signal != nil { + tempVal := (*(*func() string)(signal))() + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQIconEngineFromPointer(ptr).IconNameDefault() + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QIconEngine) ConnectIconName(f func() string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "iconName"); signal != nil { + f := func() string { + (*(*func() string)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "iconName", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "iconName", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectIconName() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "iconName") + } +} + +func (ptr *QIconEngine) IconName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QIconEngine_IconName(ptr.Pointer())) + } + return "" +} + +func (ptr *QIconEngine) IconNameDefault() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QIconEngine_IconNameDefault(ptr.Pointer())) + } + return "" +} + +func (ptr *QIconEngine) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QIconEngine_IsNull(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQIconEngine_Key +func callbackQIconEngine_Key(ptr unsafe.Pointer) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "key"); signal != nil { + tempVal := (*(*func() string)(signal))() + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} + } + tempVal := NewQIconEngineFromPointer(ptr).KeyDefault() + return C.struct_QtGui_PackedString{data: C.CString(tempVal), len: C.longlong(len(tempVal))} +} + +func (ptr *QIconEngine) ConnectKey(f func() string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "key"); signal != nil { + f := func() string { + (*(*func() string)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "key", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "key", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectKey() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "key") + } +} + +func (ptr *QIconEngine) Key() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QIconEngine_Key(ptr.Pointer())) + } + return "" +} + +func (ptr *QIconEngine) KeyDefault() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QIconEngine_KeyDefault(ptr.Pointer())) + } + return "" +} + +//export callbackQIconEngine_Paint +func callbackQIconEngine_Paint(ptr unsafe.Pointer, painter unsafe.Pointer, rect unsafe.Pointer, mode C.longlong, state C.longlong) { + if signal := qt.GetSignal(ptr, "paint"); signal != nil { + (*(*func(*QPainter, *core.QRect, QIcon__Mode, QIcon__State))(signal))(NewQPainterFromPointer(painter), core.NewQRectFromPointer(rect), QIcon__Mode(mode), QIcon__State(state)) + } + +} + +func (ptr *QIconEngine) ConnectPaint(f func(painter *QPainter, rect *core.QRect, mode QIcon__Mode, state QIcon__State)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "paint"); signal != nil { + f := func(painter *QPainter, rect *core.QRect, mode QIcon__Mode, state QIcon__State) { + (*(*func(*QPainter, *core.QRect, QIcon__Mode, QIcon__State))(signal))(painter, rect, mode, state) + f(painter, rect, mode, state) + } + qt.ConnectSignal(ptr.Pointer(), "paint", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "paint", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectPaint() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "paint") + } +} + +func (ptr *QIconEngine) Paint(painter QPainter_ITF, rect core.QRect_ITF, mode QIcon__Mode, state QIcon__State) { + if ptr.Pointer() != nil { + C.QIconEngine_Paint(ptr.Pointer(), PointerFromQPainter(painter), core.PointerFromQRect(rect), C.longlong(mode), C.longlong(state)) + } +} + +//export callbackQIconEngine_Pixmap +func callbackQIconEngine_Pixmap(ptr unsafe.Pointer, size unsafe.Pointer, mode C.longlong, state C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "pixmap"); signal != nil { + return PointerFromQPixmap((*(*func(*core.QSize, QIcon__Mode, QIcon__State) *QPixmap)(signal))(core.NewQSizeFromPointer(size), QIcon__Mode(mode), QIcon__State(state))) + } + + return PointerFromQPixmap(NewQIconEngineFromPointer(ptr).PixmapDefault(core.NewQSizeFromPointer(size), QIcon__Mode(mode), QIcon__State(state))) +} + +func (ptr *QIconEngine) ConnectPixmap(f func(size *core.QSize, mode QIcon__Mode, state QIcon__State) *QPixmap) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "pixmap"); signal != nil { + f := func(size *core.QSize, mode QIcon__Mode, state QIcon__State) *QPixmap { + (*(*func(*core.QSize, QIcon__Mode, QIcon__State) *QPixmap)(signal))(size, mode, state) + return f(size, mode, state) + } + qt.ConnectSignal(ptr.Pointer(), "pixmap", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "pixmap", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectPixmap() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "pixmap") + } +} + +func (ptr *QIconEngine) Pixmap(size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QIconEngine_Pixmap(ptr.Pointer(), core.PointerFromQSize(size), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QIconEngine) PixmapDefault(size core.QSize_ITF, mode QIcon__Mode, state QIcon__State) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QIconEngine_PixmapDefault(ptr.Pointer(), core.PointerFromQSize(size), C.longlong(mode), C.longlong(state))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +//export callbackQIconEngine_Read +func callbackQIconEngine_Read(ptr unsafe.Pointer, in unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "read"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QDataStream) bool)(signal))(core.NewQDataStreamFromPointer(in))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIconEngineFromPointer(ptr).ReadDefault(core.NewQDataStreamFromPointer(in))))) +} + +func (ptr *QIconEngine) ConnectRead(f func(in *core.QDataStream) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "read"); signal != nil { + f := func(in *core.QDataStream) bool { + (*(*func(*core.QDataStream) bool)(signal))(in) + return f(in) + } + qt.ConnectSignal(ptr.Pointer(), "read", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "read", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectRead() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "read") + } +} + +func (ptr *QIconEngine) Read(in core.QDataStream_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QIconEngine_Read(ptr.Pointer(), core.PointerFromQDataStream(in))) != 0 + } + return false +} + +func (ptr *QIconEngine) ReadDefault(in core.QDataStream_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QIconEngine_ReadDefault(ptr.Pointer(), core.PointerFromQDataStream(in))) != 0 + } + return false +} + +func (ptr *QIconEngine) ScaledPixmap(size core.QSize_ITF, mode QIcon__Mode, state QIcon__State, scale float64) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QIconEngine_ScaledPixmap(ptr.Pointer(), core.PointerFromQSize(size), C.longlong(mode), C.longlong(state), C.double(scale))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +//export callbackQIconEngine_Virtual_hook +func callbackQIconEngine_Virtual_hook(ptr unsafe.Pointer, id C.int, data unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "virtual_hook"); signal != nil { + (*(*func(int, unsafe.Pointer))(signal))(int(int32(id)), data) + } else { + NewQIconEngineFromPointer(ptr).Virtual_hookDefault(int(int32(id)), data) + } +} + +func (ptr *QIconEngine) ConnectVirtual_hook(f func(id int, data unsafe.Pointer)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "virtual_hook"); signal != nil { + f := func(id int, data unsafe.Pointer) { + (*(*func(int, unsafe.Pointer))(signal))(id, data) + f(id, data) + } + qt.ConnectSignal(ptr.Pointer(), "virtual_hook", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "virtual_hook", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectVirtual_hook() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "virtual_hook") + } +} + +func (ptr *QIconEngine) Virtual_hook(id int, data unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QIconEngine_Virtual_hook(ptr.Pointer(), C.int(int32(id)), data) + } +} + +func (ptr *QIconEngine) Virtual_hookDefault(id int, data unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QIconEngine_Virtual_hookDefault(ptr.Pointer(), C.int(int32(id)), data) + } +} + +//export callbackQIconEngine_Write +func callbackQIconEngine_Write(ptr unsafe.Pointer, out unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "write"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QDataStream) bool)(signal))(core.NewQDataStreamFromPointer(out))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIconEngineFromPointer(ptr).WriteDefault(core.NewQDataStreamFromPointer(out))))) +} + +func (ptr *QIconEngine) ConnectWrite(f func(out *core.QDataStream) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "write"); signal != nil { + f := func(out *core.QDataStream) bool { + (*(*func(*core.QDataStream) bool)(signal))(out) + return f(out) + } + qt.ConnectSignal(ptr.Pointer(), "write", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "write", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectWrite() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "write") + } +} + +func (ptr *QIconEngine) Write(out core.QDataStream_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QIconEngine_Write(ptr.Pointer(), core.PointerFromQDataStream(out))) != 0 + } + return false +} + +func (ptr *QIconEngine) WriteDefault(out core.QDataStream_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QIconEngine_WriteDefault(ptr.Pointer(), core.PointerFromQDataStream(out))) != 0 + } + return false +} + +//export callbackQIconEngine_DestroyQIconEngine +func callbackQIconEngine_DestroyQIconEngine(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QIconEngine"); signal != nil { + (*(*func())(signal))() + } else { + NewQIconEngineFromPointer(ptr).DestroyQIconEngineDefault() + } +} + +func (ptr *QIconEngine) ConnectDestroyQIconEngine(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QIconEngine"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QIconEngine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QIconEngine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEngine) DisconnectDestroyQIconEngine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QIconEngine") + } +} + +func (ptr *QIconEngine) DestroyQIconEngine() { + if ptr.Pointer() != nil { + C.QIconEngine_DestroyQIconEngine(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QIconEngine) DestroyQIconEngineDefault() { + if ptr.Pointer() != nil { + C.QIconEngine_DestroyQIconEngineDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QIconEngine) __availableSizes_atList(i int) *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QIconEngine___availableSizes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QIconEngine) __availableSizes_setList(i core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QIconEngine___availableSizes_setList(ptr.Pointer(), core.PointerFromQSize(i)) + } +} + +func (ptr *QIconEngine) __availableSizes_newList() unsafe.Pointer { + return C.QIconEngine___availableSizes_newList(ptr.Pointer()) +} + +type QIconEnginePlugin struct { + core.QObject +} + +type QIconEnginePlugin_ITF interface { + core.QObject_ITF + QIconEnginePlugin_PTR() *QIconEnginePlugin +} + +func (ptr *QIconEnginePlugin) QIconEnginePlugin_PTR() *QIconEnginePlugin { + return ptr +} + +func (ptr *QIconEnginePlugin) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QIconEnginePlugin) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQIconEnginePlugin(ptr QIconEnginePlugin_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QIconEnginePlugin_PTR().Pointer() + } + return nil +} + +func NewQIconEnginePluginFromPointer(ptr unsafe.Pointer) (n *QIconEnginePlugin) { + n = new(QIconEnginePlugin) + n.SetPointer(ptr) + return +} +func NewQIconEnginePlugin(parent core.QObject_ITF) *QIconEnginePlugin { + tmpValue := NewQIconEnginePluginFromPointer(C.QIconEnginePlugin_NewQIconEnginePlugin(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQIconEnginePlugin_Create +func callbackQIconEnginePlugin_Create(ptr unsafe.Pointer, filename C.struct_QtGui_PackedString) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "create"); signal != nil { + return PointerFromQIconEngine((*(*func(string) *QIconEngine)(signal))(cGoUnpackString(filename))) + } + + return PointerFromQIconEngine(NewQIconEngine()) +} + +func (ptr *QIconEnginePlugin) ConnectCreate(f func(filename string) *QIconEngine) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "create"); signal != nil { + f := func(filename string) *QIconEngine { + (*(*func(string) *QIconEngine)(signal))(filename) + return f(filename) + } + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEnginePlugin) DisconnectCreate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "create") + } +} + +func (ptr *QIconEnginePlugin) Create(filename string) *QIconEngine { + if ptr.Pointer() != nil { + var filenameC *C.char + if filename != "" { + filenameC = C.CString(filename) + defer C.free(unsafe.Pointer(filenameC)) + } + return NewQIconEngineFromPointer(C.QIconEnginePlugin_Create(ptr.Pointer(), C.struct_QtGui_PackedString{data: filenameC, len: C.longlong(len(filename))})) + } + return nil +} + +//export callbackQIconEnginePlugin_DestroyQIconEnginePlugin +func callbackQIconEnginePlugin_DestroyQIconEnginePlugin(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QIconEnginePlugin"); signal != nil { + (*(*func())(signal))() + } else { + NewQIconEnginePluginFromPointer(ptr).DestroyQIconEnginePluginDefault() + } +} + +func (ptr *QIconEnginePlugin) ConnectDestroyQIconEnginePlugin(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QIconEnginePlugin"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QIconEnginePlugin", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QIconEnginePlugin", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIconEnginePlugin) DisconnectDestroyQIconEnginePlugin() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QIconEnginePlugin") + } +} + +func (ptr *QIconEnginePlugin) DestroyQIconEnginePlugin() { + if ptr.Pointer() != nil { + C.QIconEnginePlugin_DestroyQIconEnginePlugin(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QIconEnginePlugin) DestroyQIconEnginePluginDefault() { + if ptr.Pointer() != nil { + C.QIconEnginePlugin_DestroyQIconEnginePluginDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QIconEnginePlugin) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QIconEnginePlugin___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QIconEnginePlugin) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QIconEnginePlugin) __children_newList() unsafe.Pointer { + return C.QIconEnginePlugin___children_newList(ptr.Pointer()) +} + +func (ptr *QIconEnginePlugin) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QIconEnginePlugin___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QIconEnginePlugin) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QIconEnginePlugin) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QIconEnginePlugin___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QIconEnginePlugin) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QIconEnginePlugin___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QIconEnginePlugin) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QIconEnginePlugin) __findChildren_newList() unsafe.Pointer { + return C.QIconEnginePlugin___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QIconEnginePlugin) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QIconEnginePlugin___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QIconEnginePlugin) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QIconEnginePlugin) __findChildren_newList3() unsafe.Pointer { + return C.QIconEnginePlugin___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QIconEnginePlugin) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QIconEnginePlugin___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QIconEnginePlugin) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QIconEnginePlugin) __qFindChildren_newList2() unsafe.Pointer { + return C.QIconEnginePlugin___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQIconEnginePlugin_ChildEvent +func callbackQIconEnginePlugin_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQIconEnginePluginFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QIconEnginePlugin) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQIconEnginePlugin_ConnectNotify +func callbackQIconEnginePlugin_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQIconEnginePluginFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QIconEnginePlugin) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQIconEnginePlugin_CustomEvent +func callbackQIconEnginePlugin_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQIconEnginePluginFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QIconEnginePlugin) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQIconEnginePlugin_DeleteLater +func callbackQIconEnginePlugin_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQIconEnginePluginFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QIconEnginePlugin) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QIconEnginePlugin_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQIconEnginePlugin_Destroyed +func callbackQIconEnginePlugin_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQIconEnginePlugin_DisconnectNotify +func callbackQIconEnginePlugin_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQIconEnginePluginFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QIconEnginePlugin) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQIconEnginePlugin_Event +func callbackQIconEnginePlugin_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIconEnginePluginFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QIconEnginePlugin) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QIconEnginePlugin_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQIconEnginePlugin_EventFilter +func callbackQIconEnginePlugin_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQIconEnginePluginFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QIconEnginePlugin) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QIconEnginePlugin_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQIconEnginePlugin_MetaObject +func callbackQIconEnginePlugin_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQIconEnginePluginFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QIconEnginePlugin) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QIconEnginePlugin_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQIconEnginePlugin_ObjectNameChanged +func callbackQIconEnginePlugin_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQIconEnginePlugin_TimerEvent +func callbackQIconEnginePlugin_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQIconEnginePluginFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QIconEnginePlugin) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QIconEnginePlugin_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QImage struct { + QPaintDevice +} + +type QImage_ITF interface { + QPaintDevice_ITF + QImage_PTR() *QImage +} + +func (ptr *QImage) QImage_PTR() *QImage { + return ptr +} + +func (ptr *QImage) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPaintDevice_PTR().Pointer() + } + return nil +} + +func (ptr *QImage) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPaintDevice_PTR().SetPointer(p) + } +} + +func PointerFromQImage(ptr QImage_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QImage_PTR().Pointer() + } + return nil +} + +func NewQImageFromPointer(ptr unsafe.Pointer) (n *QImage) { + n = new(QImage) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QImage__InvertMode +//QImage::InvertMode +type QImage__InvertMode int64 + +const ( + QImage__InvertRgb QImage__InvertMode = QImage__InvertMode(0) + QImage__InvertRgba QImage__InvertMode = QImage__InvertMode(1) +) + +//go:generate stringer -type=QImage__Format +//QImage::Format +type QImage__Format int64 + +const ( + QImage__Format_Invalid QImage__Format = QImage__Format(0) + QImage__Format_Mono QImage__Format = QImage__Format(1) + QImage__Format_MonoLSB QImage__Format = QImage__Format(2) + QImage__Format_Indexed8 QImage__Format = QImage__Format(3) + QImage__Format_RGB32 QImage__Format = QImage__Format(4) + QImage__Format_ARGB32 QImage__Format = QImage__Format(5) + QImage__Format_ARGB32_Premultiplied QImage__Format = QImage__Format(6) + QImage__Format_RGB16 QImage__Format = QImage__Format(7) + QImage__Format_ARGB8565_Premultiplied QImage__Format = QImage__Format(8) + QImage__Format_RGB666 QImage__Format = QImage__Format(9) + QImage__Format_ARGB6666_Premultiplied QImage__Format = QImage__Format(10) + QImage__Format_RGB555 QImage__Format = QImage__Format(11) + QImage__Format_ARGB8555_Premultiplied QImage__Format = QImage__Format(12) + QImage__Format_RGB888 QImage__Format = QImage__Format(13) + QImage__Format_RGB444 QImage__Format = QImage__Format(14) + QImage__Format_ARGB4444_Premultiplied QImage__Format = QImage__Format(15) + QImage__Format_RGBX8888 QImage__Format = QImage__Format(16) + QImage__Format_RGBA8888 QImage__Format = QImage__Format(17) + QImage__Format_RGBA8888_Premultiplied QImage__Format = QImage__Format(18) + QImage__Format_BGR30 QImage__Format = QImage__Format(19) + QImage__Format_A2BGR30_Premultiplied QImage__Format = QImage__Format(20) + QImage__Format_RGB30 QImage__Format = QImage__Format(21) + QImage__Format_A2RGB30_Premultiplied QImage__Format = QImage__Format(22) + QImage__Format_Alpha8 QImage__Format = QImage__Format(23) + QImage__Format_Grayscale8 QImage__Format = QImage__Format(24) + QImage__Format_RGBX64 QImage__Format = QImage__Format(25) + QImage__Format_RGBA64 QImage__Format = QImage__Format(26) + QImage__Format_RGBA64_Premultiplied QImage__Format = QImage__Format(27) + QImage__Format_Grayscale16 QImage__Format = QImage__Format(28) +) + +func NewQImage() *QImage { + return NewQImageFromPointer(C.QImage_NewQImage()) +} + +func NewQImage2(size core.QSize_ITF, format QImage__Format) *QImage { + return NewQImageFromPointer(C.QImage_NewQImage2(core.PointerFromQSize(size), C.longlong(format))) +} + +func NewQImage3(width int, height int, format QImage__Format) *QImage { + return NewQImageFromPointer(C.QImage_NewQImage3(C.int(int32(width)), C.int(int32(height)), C.longlong(format))) +} + +func NewQImage4(data string, width int, height int, format QImage__Format) *QImage { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + return NewQImageFromPointer(C.QImage_NewQImage4(dataC, C.int(int32(width)), C.int(int32(height)), C.longlong(format))) +} + +func NewQImage5(data string, width int, height int, format QImage__Format) *QImage { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + return NewQImageFromPointer(C.QImage_NewQImage5(dataC, C.int(int32(width)), C.int(int32(height)), C.longlong(format))) +} + +func NewQImage6(data string, width int, height int, bytesPerLine int, format QImage__Format) *QImage { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + return NewQImageFromPointer(C.QImage_NewQImage6(dataC, C.int(int32(width)), C.int(int32(height)), C.int(int32(bytesPerLine)), C.longlong(format))) +} + +func NewQImage7(data string, width int, height int, bytesPerLine int, format QImage__Format) *QImage { + var dataC *C.char + if data != "" { + dataC = C.CString(data) + defer C.free(unsafe.Pointer(dataC)) + } + return NewQImageFromPointer(C.QImage_NewQImage7(dataC, C.int(int32(width)), C.int(int32(height)), C.int(int32(bytesPerLine)), C.longlong(format))) +} + +func NewQImage9(fileName string, format string) *QImage { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return NewQImageFromPointer(C.QImage_NewQImage9(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC)) +} + +func NewQImage10(image QImage_ITF) *QImage { + return NewQImageFromPointer(C.QImage_NewQImage10(PointerFromQImage(image))) +} + +func NewQImage11(other QImage_ITF) *QImage { + return NewQImageFromPointer(C.QImage_NewQImage11(PointerFromQImage(other))) +} + +func (ptr *QImage) AllGray() bool { + if ptr.Pointer() != nil { + return int8(C.QImage_AllGray(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImage) BitPlaneCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QImage_BitPlaneCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImage) Bits() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImage_Bits(ptr.Pointer())) + } + return "" +} + +func (ptr *QImage) Bits2() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImage_Bits2(ptr.Pointer())) + } + return "" +} + +func (ptr *QImage) BytesPerLine() int { + if ptr.Pointer() != nil { + return int(int32(C.QImage_BytesPerLine(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImage) CacheKey() int64 { + if ptr.Pointer() != nil { + return int64(C.QImage_CacheKey(ptr.Pointer())) + } + return 0 +} + +func (ptr *QImage) Color(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QImage_Color(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QImage) ColorTable() []uint { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []uint { + out := make([]uint, int(l.len)) + tmpList := NewQImageFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__colorTable_atList(i) + } + return out + }(C.QImage_ColorTable(ptr.Pointer())) + } + return make([]uint, 0) +} + +func (ptr *QImage) ConstBits() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImage_ConstBits(ptr.Pointer())) + } + return "" +} + +func (ptr *QImage) ConstScanLine(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImage_ConstScanLine(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QImage) ConvertTo(format QImage__Format, flags core.Qt__ImageConversionFlag) { + if ptr.Pointer() != nil { + C.QImage_ConvertTo(ptr.Pointer(), C.longlong(format), C.longlong(flags)) + } +} + +func (ptr *QImage) ConvertToFormat(format QImage__Format, flags core.Qt__ImageConversionFlag) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_ConvertToFormat(ptr.Pointer(), C.longlong(format), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) ConvertToFormat2(format QImage__Format, flags core.Qt__ImageConversionFlag) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_ConvertToFormat2(ptr.Pointer(), C.longlong(format), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) ConvertToFormat3(format QImage__Format, colorTable []uint, flags core.Qt__ImageConversionFlag) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_ConvertToFormat3(ptr.Pointer(), C.longlong(format), func() unsafe.Pointer { + tmpList := NewQImageFromPointer(NewQImageFromPointer(nil).__convertToFormat_colorTable_newList3()) + for _, v := range colorTable { + tmpList.__convertToFormat_colorTable_setList3(v) + } + return tmpList.Pointer() + }(), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) Copy(rectangle core.QRect_ITF) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_Copy(ptr.Pointer(), core.PointerFromQRect(rectangle))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) Copy2(x int, y int, width int, height int) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_Copy2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) CreateAlphaMask(flags core.Qt__ImageConversionFlag) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_CreateAlphaMask(ptr.Pointer(), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) CreateHeuristicMask(clipTight bool) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_CreateHeuristicMask(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(clipTight))))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) CreateMaskFromColor(color uint, mode core.Qt__MaskMode) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_CreateMaskFromColor(ptr.Pointer(), C.uint(uint32(color)), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) DevicePixelRatio() float64 { + if ptr.Pointer() != nil { + return float64(C.QImage_DevicePixelRatio(ptr.Pointer())) + } + return 0 +} + +func (ptr *QImage) DotsPerMeterX() int { + if ptr.Pointer() != nil { + return int(int32(C.QImage_DotsPerMeterX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImage) DotsPerMeterY() int { + if ptr.Pointer() != nil { + return int(int32(C.QImage_DotsPerMeterY(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImage) Fill(pixelValue uint) { + if ptr.Pointer() != nil { + C.QImage_Fill(ptr.Pointer(), C.uint(uint32(pixelValue))) + } +} + +func (ptr *QImage) Fill2(color QColor_ITF) { + if ptr.Pointer() != nil { + C.QImage_Fill2(ptr.Pointer(), PointerFromQColor(color)) + } +} + +func (ptr *QImage) Fill3(color core.Qt__GlobalColor) { + if ptr.Pointer() != nil { + C.QImage_Fill3(ptr.Pointer(), C.longlong(color)) + } +} + +func (ptr *QImage) Format() QImage__Format { + if ptr.Pointer() != nil { + return QImage__Format(C.QImage_Format(ptr.Pointer())) + } + return 0 +} + +func QImage_FromData(data []byte, size int, format string) *QImage { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQImageFromPointer(C.QImage_QImage_FromData(dataC, C.int(int32(size)), formatC)) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue +} + +func (ptr *QImage) FromData(data []byte, size int, format string) *QImage { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQImageFromPointer(C.QImage_QImage_FromData(dataC, C.int(int32(size)), formatC)) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue +} + +func QImage_FromData2(data core.QByteArray_ITF, format string) *QImage { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQImageFromPointer(C.QImage_QImage_FromData2(core.PointerFromQByteArray(data), formatC)) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue +} + +func (ptr *QImage) FromData2(data core.QByteArray_ITF, format string) *QImage { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQImageFromPointer(C.QImage_QImage_FromData2(core.PointerFromQByteArray(data), formatC)) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue +} + +func (ptr *QImage) HasAlphaChannel() bool { + if ptr.Pointer() != nil { + return int8(C.QImage_HasAlphaChannel(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImage) InvertPixels(mode QImage__InvertMode) { + if ptr.Pointer() != nil { + C.QImage_InvertPixels(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QImage) IsGrayscale() bool { + if ptr.Pointer() != nil { + return int8(C.QImage_IsGrayscale(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImage) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QImage_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImage) Load(fileName string, format string) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QImage_Load(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC)) != 0 + } + return false +} + +func (ptr *QImage) Load2(device core.QIODevice_ITF, format string) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QImage_Load2(ptr.Pointer(), core.PointerFromQIODevice(device), formatC)) != 0 + } + return false +} + +func (ptr *QImage) LoadFromData(data []byte, l int, format string) bool { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QImage_LoadFromData(ptr.Pointer(), dataC, C.int(int32(l)), formatC)) != 0 + } + return false +} + +func (ptr *QImage) LoadFromData2(data core.QByteArray_ITF, format string) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QImage_LoadFromData2(ptr.Pointer(), core.PointerFromQByteArray(data), formatC)) != 0 + } + return false +} + +func (ptr *QImage) Mirrored(horizontal bool, vertical bool) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_Mirrored(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(horizontal))), C.char(int8(qt.GoBoolToInt(vertical))))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) Mirrored2(horizontal bool, vertical bool) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_Mirrored2(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(horizontal))), C.char(int8(qt.GoBoolToInt(vertical))))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) Offset() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QImage_Offset(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QImage) Pixel(position core.QPoint_ITF) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QImage_Pixel(ptr.Pointer(), core.PointerFromQPoint(position)))) + } + return 0 +} + +func (ptr *QImage) Pixel2(x int, y int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QImage_Pixel2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y))))) + } + return 0 +} + +func (ptr *QImage) PixelColor(position core.QPoint_ITF) *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QImage_PixelColor(ptr.Pointer(), core.PointerFromQPoint(position))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QImage) PixelColor2(x int, y int) *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QImage_PixelColor2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QImage) PixelFormat() *QPixelFormat { + if ptr.Pointer() != nil { + tmpValue := NewQPixelFormatFromPointer(C.QImage_PixelFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPixelFormat).DestroyQPixelFormat) + return tmpValue + } + return nil +} + +func (ptr *QImage) PixelIndex(position core.QPoint_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QImage_PixelIndex(ptr.Pointer(), core.PointerFromQPoint(position)))) + } + return 0 +} + +func (ptr *QImage) PixelIndex2(x int, y int) int { + if ptr.Pointer() != nil { + return int(int32(C.QImage_PixelIndex2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y))))) + } + return 0 +} + +func (ptr *QImage) Rect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QImage_Rect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QImage) ReinterpretAsFormat(format QImage__Format) bool { + if ptr.Pointer() != nil { + return int8(C.QImage_ReinterpretAsFormat(ptr.Pointer(), C.longlong(format))) != 0 + } + return false +} + +func (ptr *QImage) RgbSwapped() *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_RgbSwapped(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) RgbSwapped2() *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_RgbSwapped2(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) Save(fileName string, format string, quality int) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QImage_Save(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC, C.int(int32(quality)))) != 0 + } + return false +} + +func (ptr *QImage) Save2(device core.QIODevice_ITF, format string, quality int) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QImage_Save2(ptr.Pointer(), core.PointerFromQIODevice(device), formatC, C.int(int32(quality)))) != 0 + } + return false +} + +func (ptr *QImage) Scaled(size core.QSize_ITF, aspectRatioMode core.Qt__AspectRatioMode, transformMode core.Qt__TransformationMode) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_Scaled(ptr.Pointer(), core.PointerFromQSize(size), C.longlong(aspectRatioMode), C.longlong(transformMode))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) Scaled2(width int, height int, aspectRatioMode core.Qt__AspectRatioMode, transformMode core.Qt__TransformationMode) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_Scaled2(ptr.Pointer(), C.int(int32(width)), C.int(int32(height)), C.longlong(aspectRatioMode), C.longlong(transformMode))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) ScaledToHeight(height int, mode core.Qt__TransformationMode) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_ScaledToHeight(ptr.Pointer(), C.int(int32(height)), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) ScaledToWidth(width int, mode core.Qt__TransformationMode) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_ScaledToWidth(ptr.Pointer(), C.int(int32(width)), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) ScanLine(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImage_ScanLine(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QImage) ScanLine2(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImage_ScanLine2(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QImage) SetColor(index int, colorValue uint) { + if ptr.Pointer() != nil { + C.QImage_SetColor(ptr.Pointer(), C.int(int32(index)), C.uint(uint32(colorValue))) + } +} + +func (ptr *QImage) SetColorCount(colorCount int) { + if ptr.Pointer() != nil { + C.QImage_SetColorCount(ptr.Pointer(), C.int(int32(colorCount))) + } +} + +func (ptr *QImage) SetColorTable(colors []uint) { + if ptr.Pointer() != nil { + C.QImage_SetColorTable(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQImageFromPointer(NewQImageFromPointer(nil).__setColorTable_colors_newList()) + for _, v := range colors { + tmpList.__setColorTable_colors_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QImage) SetDevicePixelRatio(scaleFactor float64) { + if ptr.Pointer() != nil { + C.QImage_SetDevicePixelRatio(ptr.Pointer(), C.double(scaleFactor)) + } +} + +func (ptr *QImage) SetDotsPerMeterX(x int) { + if ptr.Pointer() != nil { + C.QImage_SetDotsPerMeterX(ptr.Pointer(), C.int(int32(x))) + } +} + +func (ptr *QImage) SetDotsPerMeterY(y int) { + if ptr.Pointer() != nil { + C.QImage_SetDotsPerMeterY(ptr.Pointer(), C.int(int32(y))) + } +} + +func (ptr *QImage) SetOffset(offset core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QImage_SetOffset(ptr.Pointer(), core.PointerFromQPoint(offset)) + } +} + +func (ptr *QImage) SetPixel(position core.QPoint_ITF, index_or_rgb uint) { + if ptr.Pointer() != nil { + C.QImage_SetPixel(ptr.Pointer(), core.PointerFromQPoint(position), C.uint(uint32(index_or_rgb))) + } +} + +func (ptr *QImage) SetPixel2(x int, y int, index_or_rgb uint) { + if ptr.Pointer() != nil { + C.QImage_SetPixel2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.uint(uint32(index_or_rgb))) + } +} + +func (ptr *QImage) SetPixelColor(position core.QPoint_ITF, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QImage_SetPixelColor(ptr.Pointer(), core.PointerFromQPoint(position), PointerFromQColor(color)) + } +} + +func (ptr *QImage) SetPixelColor2(x int, y int, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QImage_SetPixelColor2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), PointerFromQColor(color)) + } +} + +func (ptr *QImage) SetText(key string, text string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QImage_SetText(ptr.Pointer(), C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QImage) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QImage_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QImage) SmoothScaled(w int, h int) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_SmoothScaled(ptr.Pointer(), C.int(int32(w)), C.int(int32(h)))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) Swap(other QImage_ITF) { + if ptr.Pointer() != nil { + C.QImage_Swap(ptr.Pointer(), PointerFromQImage(other)) + } +} + +func (ptr *QImage) Text(key string) string { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return cGoUnpackString(C.QImage_Text(ptr.Pointer(), C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))})) + } + return "" +} + +func (ptr *QImage) TextKeys() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QImage_TextKeys(ptr.Pointer()))) + } + return make([]string, 0) +} + +func QImage_ToImageFormat(format QPixelFormat_ITF) QImage__Format { + return QImage__Format(C.QImage_QImage_ToImageFormat(PointerFromQPixelFormat(format))) +} + +func (ptr *QImage) ToImageFormat(format QPixelFormat_ITF) QImage__Format { + return QImage__Format(C.QImage_QImage_ToImageFormat(PointerFromQPixelFormat(format))) +} + +func QImage_ToPixelFormat(format QImage__Format) *QPixelFormat { + tmpValue := NewQPixelFormatFromPointer(C.QImage_QImage_ToPixelFormat(C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QPixelFormat).DestroyQPixelFormat) + return tmpValue +} + +func (ptr *QImage) ToPixelFormat(format QImage__Format) *QPixelFormat { + tmpValue := NewQPixelFormatFromPointer(C.QImage_QImage_ToPixelFormat(C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QPixelFormat).DestroyQPixelFormat) + return tmpValue +} + +func (ptr *QImage) Transformed(matrix QMatrix_ITF, mode core.Qt__TransformationMode) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_Transformed(ptr.Pointer(), PointerFromQMatrix(matrix), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImage) Transformed2(matrix QTransform_ITF, mode core.Qt__TransformationMode) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImage_Transformed2(ptr.Pointer(), PointerFromQTransform(matrix), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func QImage_TrueMatrix(matrix QMatrix_ITF, width int, height int) *QMatrix { + tmpValue := NewQMatrixFromPointer(C.QImage_QImage_TrueMatrix(PointerFromQMatrix(matrix), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue +} + +func (ptr *QImage) TrueMatrix(matrix QMatrix_ITF, width int, height int) *QMatrix { + tmpValue := NewQMatrixFromPointer(C.QImage_QImage_TrueMatrix(PointerFromQMatrix(matrix), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue +} + +func QImage_TrueMatrix2(matrix QTransform_ITF, width int, height int) *QTransform { + tmpValue := NewQTransformFromPointer(C.QImage_QImage_TrueMatrix2(PointerFromQTransform(matrix), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func (ptr *QImage) TrueMatrix2(matrix QTransform_ITF, width int, height int) *QTransform { + tmpValue := NewQTransformFromPointer(C.QImage_QImage_TrueMatrix2(PointerFromQTransform(matrix), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func (ptr *QImage) Valid(pos core.QPoint_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QImage_Valid(ptr.Pointer(), core.PointerFromQPoint(pos))) != 0 + } + return false +} + +func (ptr *QImage) Valid2(x int, y int) bool { + if ptr.Pointer() != nil { + return int8(C.QImage_Valid2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)))) != 0 + } + return false +} + +//export callbackQImage_DestroyQImage +func callbackQImage_DestroyQImage(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QImage"); signal != nil { + (*(*func())(signal))() + } else { + NewQImageFromPointer(ptr).DestroyQImageDefault() + } +} + +func (ptr *QImage) ConnectDestroyQImage(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QImage"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QImage", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QImage", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImage) DisconnectDestroyQImage() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QImage") + } +} + +func (ptr *QImage) DestroyQImage() { + if ptr.Pointer() != nil { + C.QImage_DestroyQImage(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QImage) DestroyQImageDefault() { + if ptr.Pointer() != nil { + C.QImage_DestroyQImageDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QImage) ToVariant() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QImage_ToVariant(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QImage) __colorTable_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QImage___colorTable_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QImage) __colorTable_setList(i uint) { + if ptr.Pointer() != nil { + C.QImage___colorTable_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QImage) __colorTable_newList() unsafe.Pointer { + return C.QImage___colorTable_newList(ptr.Pointer()) +} + +func (ptr *QImage) __convertToFormat_colorTable_atList3(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QImage___convertToFormat_colorTable_atList3(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QImage) __convertToFormat_colorTable_setList3(i uint) { + if ptr.Pointer() != nil { + C.QImage___convertToFormat_colorTable_setList3(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QImage) __convertToFormat_colorTable_newList3() unsafe.Pointer { + return C.QImage___convertToFormat_colorTable_newList3(ptr.Pointer()) +} + +func (ptr *QImage) __setColorTable_colors_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QImage___setColorTable_colors_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QImage) __setColorTable_colors_setList(i uint) { + if ptr.Pointer() != nil { + C.QImage___setColorTable_colors_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QImage) __setColorTable_colors_newList() unsafe.Pointer { + return C.QImage___setColorTable_colors_newList(ptr.Pointer()) +} + +//export callbackQImage_PaintEngine +func callbackQImage_PaintEngine(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "paintEngine"); signal != nil { + return PointerFromQPaintEngine((*(*func() *QPaintEngine)(signal))()) + } + + return PointerFromQPaintEngine(NewQImageFromPointer(ptr).PaintEngineDefault()) +} + +func (ptr *QImage) PaintEngine() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QImage_PaintEngine(ptr.Pointer())) + } + return nil +} + +func (ptr *QImage) PaintEngineDefault() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QImage_PaintEngineDefault(ptr.Pointer())) + } + return nil +} + +type QImageIOHandler struct { + ptr unsafe.Pointer +} + +type QImageIOHandler_ITF interface { + QImageIOHandler_PTR() *QImageIOHandler +} + +func (ptr *QImageIOHandler) QImageIOHandler_PTR() *QImageIOHandler { + return ptr +} + +func (ptr *QImageIOHandler) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QImageIOHandler) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQImageIOHandler(ptr QImageIOHandler_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QImageIOHandler_PTR().Pointer() + } + return nil +} + +func NewQImageIOHandlerFromPointer(ptr unsafe.Pointer) (n *QImageIOHandler) { + n = new(QImageIOHandler) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QImageIOHandler__ImageOption +//QImageIOHandler::ImageOption +type QImageIOHandler__ImageOption int64 + +const ( + QImageIOHandler__Size QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(0) + QImageIOHandler__ClipRect QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(1) + QImageIOHandler__Description QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(2) + QImageIOHandler__ScaledClipRect QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(3) + QImageIOHandler__ScaledSize QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(4) + QImageIOHandler__CompressionRatio QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(5) + QImageIOHandler__Gamma QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(6) + QImageIOHandler__Quality QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(7) + QImageIOHandler__Name QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(8) + QImageIOHandler__SubType QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(9) + QImageIOHandler__IncrementalReading QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(10) + QImageIOHandler__Endianness QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(11) + QImageIOHandler__Animation QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(12) + QImageIOHandler__BackgroundColor QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(13) + QImageIOHandler__ImageFormat QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(14) + QImageIOHandler__SupportedSubTypes QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(15) + QImageIOHandler__OptimizedWrite QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(16) + QImageIOHandler__ProgressiveScanWrite QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(17) + QImageIOHandler__ImageTransformation QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(18) + QImageIOHandler__TransformedByDefault QImageIOHandler__ImageOption = QImageIOHandler__ImageOption(19) +) + +//go:generate stringer -type=QImageIOHandler__Transformation +//QImageIOHandler::Transformation +type QImageIOHandler__Transformation int64 + +const ( + QImageIOHandler__TransformationNone QImageIOHandler__Transformation = QImageIOHandler__Transformation(0) + QImageIOHandler__TransformationMirror QImageIOHandler__Transformation = QImageIOHandler__Transformation(1) + QImageIOHandler__TransformationFlip QImageIOHandler__Transformation = QImageIOHandler__Transformation(2) + QImageIOHandler__TransformationRotate180 QImageIOHandler__Transformation = QImageIOHandler__Transformation(QImageIOHandler__TransformationMirror | QImageIOHandler__TransformationFlip) + QImageIOHandler__TransformationRotate90 QImageIOHandler__Transformation = QImageIOHandler__Transformation(4) + QImageIOHandler__TransformationMirrorAndRotate90 QImageIOHandler__Transformation = QImageIOHandler__Transformation(QImageIOHandler__TransformationMirror | QImageIOHandler__TransformationRotate90) + QImageIOHandler__TransformationFlipAndRotate90 QImageIOHandler__Transformation = QImageIOHandler__Transformation(QImageIOHandler__TransformationFlip | QImageIOHandler__TransformationRotate90) + QImageIOHandler__TransformationRotate270 QImageIOHandler__Transformation = QImageIOHandler__Transformation(QImageIOHandler__TransformationRotate180 | QImageIOHandler__TransformationRotate90) +) + +func NewQImageIOHandler() *QImageIOHandler { + return NewQImageIOHandlerFromPointer(C.QImageIOHandler_NewQImageIOHandler()) +} + +//export callbackQImageIOHandler_CanRead +func callbackQImageIOHandler_CanRead(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "canRead"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QImageIOHandler) ConnectCanRead(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "canRead"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "canRead", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "canRead", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectCanRead() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "canRead") + } +} + +func (ptr *QImageIOHandler) CanRead() bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_CanRead(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQImageIOHandler_CurrentImageNumber +func callbackQImageIOHandler_CurrentImageNumber(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "currentImageNumber"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQImageIOHandlerFromPointer(ptr).CurrentImageNumberDefault())) +} + +func (ptr *QImageIOHandler) ConnectCurrentImageNumber(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "currentImageNumber"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "currentImageNumber", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "currentImageNumber", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectCurrentImageNumber() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "currentImageNumber") + } +} + +func (ptr *QImageIOHandler) CurrentImageNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageIOHandler_CurrentImageNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageIOHandler) CurrentImageNumberDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageIOHandler_CurrentImageNumberDefault(ptr.Pointer()))) + } + return 0 +} + +//export callbackQImageIOHandler_CurrentImageRect +func callbackQImageIOHandler_CurrentImageRect(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "currentImageRect"); signal != nil { + return core.PointerFromQRect((*(*func() *core.QRect)(signal))()) + } + + return core.PointerFromQRect(NewQImageIOHandlerFromPointer(ptr).CurrentImageRectDefault()) +} + +func (ptr *QImageIOHandler) ConnectCurrentImageRect(f func() *core.QRect) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "currentImageRect"); signal != nil { + f := func() *core.QRect { + (*(*func() *core.QRect)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "currentImageRect", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "currentImageRect", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectCurrentImageRect() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "currentImageRect") + } +} + +func (ptr *QImageIOHandler) CurrentImageRect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QImageIOHandler_CurrentImageRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QImageIOHandler) CurrentImageRectDefault() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QImageIOHandler_CurrentImageRectDefault(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QImageIOHandler) Device() *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QImageIOHandler_Device(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QImageIOHandler) Format() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageIOHandler_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +//export callbackQImageIOHandler_ImageCount +func callbackQImageIOHandler_ImageCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "imageCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQImageIOHandlerFromPointer(ptr).ImageCountDefault())) +} + +func (ptr *QImageIOHandler) ConnectImageCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "imageCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "imageCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "imageCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectImageCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "imageCount") + } +} + +func (ptr *QImageIOHandler) ImageCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageIOHandler_ImageCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageIOHandler) ImageCountDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageIOHandler_ImageCountDefault(ptr.Pointer()))) + } + return 0 +} + +//export callbackQImageIOHandler_JumpToImage +func callbackQImageIOHandler_JumpToImage(ptr unsafe.Pointer, imageNumber C.int) C.char { + if signal := qt.GetSignal(ptr, "jumpToImage"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(imageNumber)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQImageIOHandlerFromPointer(ptr).JumpToImageDefault(int(int32(imageNumber)))))) +} + +func (ptr *QImageIOHandler) ConnectJumpToImage(f func(imageNumber int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "jumpToImage"); signal != nil { + f := func(imageNumber int) bool { + (*(*func(int) bool)(signal))(imageNumber) + return f(imageNumber) + } + qt.ConnectSignal(ptr.Pointer(), "jumpToImage", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "jumpToImage", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectJumpToImage() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "jumpToImage") + } +} + +func (ptr *QImageIOHandler) JumpToImage(imageNumber int) bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_JumpToImage(ptr.Pointer(), C.int(int32(imageNumber)))) != 0 + } + return false +} + +func (ptr *QImageIOHandler) JumpToImageDefault(imageNumber int) bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_JumpToImageDefault(ptr.Pointer(), C.int(int32(imageNumber)))) != 0 + } + return false +} + +//export callbackQImageIOHandler_JumpToNextImage +func callbackQImageIOHandler_JumpToNextImage(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "jumpToNextImage"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQImageIOHandlerFromPointer(ptr).JumpToNextImageDefault()))) +} + +func (ptr *QImageIOHandler) ConnectJumpToNextImage(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "jumpToNextImage"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "jumpToNextImage", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "jumpToNextImage", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectJumpToNextImage() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "jumpToNextImage") + } +} + +func (ptr *QImageIOHandler) JumpToNextImage() bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_JumpToNextImage(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageIOHandler) JumpToNextImageDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_JumpToNextImageDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQImageIOHandler_LoopCount +func callbackQImageIOHandler_LoopCount(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "loopCount"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQImageIOHandlerFromPointer(ptr).LoopCountDefault())) +} + +func (ptr *QImageIOHandler) ConnectLoopCount(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "loopCount"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "loopCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "loopCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectLoopCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "loopCount") + } +} + +func (ptr *QImageIOHandler) LoopCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageIOHandler_LoopCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageIOHandler) LoopCountDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageIOHandler_LoopCountDefault(ptr.Pointer()))) + } + return 0 +} + +//export callbackQImageIOHandler_NextImageDelay +func callbackQImageIOHandler_NextImageDelay(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "nextImageDelay"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQImageIOHandlerFromPointer(ptr).NextImageDelayDefault())) +} + +func (ptr *QImageIOHandler) ConnectNextImageDelay(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "nextImageDelay"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "nextImageDelay", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "nextImageDelay", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectNextImageDelay() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "nextImageDelay") + } +} + +func (ptr *QImageIOHandler) NextImageDelay() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageIOHandler_NextImageDelay(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageIOHandler) NextImageDelayDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageIOHandler_NextImageDelayDefault(ptr.Pointer()))) + } + return 0 +} + +//export callbackQImageIOHandler_Option +func callbackQImageIOHandler_Option(ptr unsafe.Pointer, option C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "option"); signal != nil { + return core.PointerFromQVariant((*(*func(QImageIOHandler__ImageOption) *core.QVariant)(signal))(QImageIOHandler__ImageOption(option))) + } + + return core.PointerFromQVariant(NewQImageIOHandlerFromPointer(ptr).OptionDefault(QImageIOHandler__ImageOption(option))) +} + +func (ptr *QImageIOHandler) ConnectOption(f func(option QImageIOHandler__ImageOption) *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "option"); signal != nil { + f := func(option QImageIOHandler__ImageOption) *core.QVariant { + (*(*func(QImageIOHandler__ImageOption) *core.QVariant)(signal))(option) + return f(option) + } + qt.ConnectSignal(ptr.Pointer(), "option", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "option", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectOption() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "option") + } +} + +func (ptr *QImageIOHandler) Option(option QImageIOHandler__ImageOption) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QImageIOHandler_Option(ptr.Pointer(), C.longlong(option))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QImageIOHandler) OptionDefault(option QImageIOHandler__ImageOption) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QImageIOHandler_OptionDefault(ptr.Pointer(), C.longlong(option))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQImageIOHandler_Read +func callbackQImageIOHandler_Read(ptr unsafe.Pointer, image unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "read"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QImage) bool)(signal))(NewQImageFromPointer(image))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QImageIOHandler) ConnectRead(f func(image *QImage) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "read"); signal != nil { + f := func(image *QImage) bool { + (*(*func(*QImage) bool)(signal))(image) + return f(image) + } + qt.ConnectSignal(ptr.Pointer(), "read", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "read", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectRead() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "read") + } +} + +func (ptr *QImageIOHandler) Read(image QImage_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_Read(ptr.Pointer(), PointerFromQImage(image))) != 0 + } + return false +} + +func (ptr *QImageIOHandler) SetDevice(device core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QImageIOHandler_SetDevice(ptr.Pointer(), core.PointerFromQIODevice(device)) + } +} + +func (ptr *QImageIOHandler) SetFormat(format core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageIOHandler_SetFormat(ptr.Pointer(), core.PointerFromQByteArray(format)) + } +} + +func (ptr *QImageIOHandler) SetFormat2(format core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageIOHandler_SetFormat2(ptr.Pointer(), core.PointerFromQByteArray(format)) + } +} + +//export callbackQImageIOHandler_SetOption +func callbackQImageIOHandler_SetOption(ptr unsafe.Pointer, option C.longlong, value unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setOption"); signal != nil { + (*(*func(QImageIOHandler__ImageOption, *core.QVariant))(signal))(QImageIOHandler__ImageOption(option), core.NewQVariantFromPointer(value)) + } else { + NewQImageIOHandlerFromPointer(ptr).SetOptionDefault(QImageIOHandler__ImageOption(option), core.NewQVariantFromPointer(value)) + } +} + +func (ptr *QImageIOHandler) ConnectSetOption(f func(option QImageIOHandler__ImageOption, value *core.QVariant)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setOption"); signal != nil { + f := func(option QImageIOHandler__ImageOption, value *core.QVariant) { + (*(*func(QImageIOHandler__ImageOption, *core.QVariant))(signal))(option, value) + f(option, value) + } + qt.ConnectSignal(ptr.Pointer(), "setOption", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setOption", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectSetOption() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setOption") + } +} + +func (ptr *QImageIOHandler) SetOption(option QImageIOHandler__ImageOption, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QImageIOHandler_SetOption(ptr.Pointer(), C.longlong(option), core.PointerFromQVariant(value)) + } +} + +func (ptr *QImageIOHandler) SetOptionDefault(option QImageIOHandler__ImageOption, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QImageIOHandler_SetOptionDefault(ptr.Pointer(), C.longlong(option), core.PointerFromQVariant(value)) + } +} + +//export callbackQImageIOHandler_SupportsOption +func callbackQImageIOHandler_SupportsOption(ptr unsafe.Pointer, option C.longlong) C.char { + if signal := qt.GetSignal(ptr, "supportsOption"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(QImageIOHandler__ImageOption) bool)(signal))(QImageIOHandler__ImageOption(option))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQImageIOHandlerFromPointer(ptr).SupportsOptionDefault(QImageIOHandler__ImageOption(option))))) +} + +func (ptr *QImageIOHandler) ConnectSupportsOption(f func(option QImageIOHandler__ImageOption) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "supportsOption"); signal != nil { + f := func(option QImageIOHandler__ImageOption) bool { + (*(*func(QImageIOHandler__ImageOption) bool)(signal))(option) + return f(option) + } + qt.ConnectSignal(ptr.Pointer(), "supportsOption", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "supportsOption", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectSupportsOption() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "supportsOption") + } +} + +func (ptr *QImageIOHandler) SupportsOption(option QImageIOHandler__ImageOption) bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_SupportsOption(ptr.Pointer(), C.longlong(option))) != 0 + } + return false +} + +func (ptr *QImageIOHandler) SupportsOptionDefault(option QImageIOHandler__ImageOption) bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_SupportsOptionDefault(ptr.Pointer(), C.longlong(option))) != 0 + } + return false +} + +//export callbackQImageIOHandler_Write +func callbackQImageIOHandler_Write(ptr unsafe.Pointer, image unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "write"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QImage) bool)(signal))(NewQImageFromPointer(image))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQImageIOHandlerFromPointer(ptr).WriteDefault(NewQImageFromPointer(image))))) +} + +func (ptr *QImageIOHandler) ConnectWrite(f func(image *QImage) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "write"); signal != nil { + f := func(image *QImage) bool { + (*(*func(*QImage) bool)(signal))(image) + return f(image) + } + qt.ConnectSignal(ptr.Pointer(), "write", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "write", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectWrite() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "write") + } +} + +func (ptr *QImageIOHandler) Write(image QImage_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_Write(ptr.Pointer(), PointerFromQImage(image))) != 0 + } + return false +} + +func (ptr *QImageIOHandler) WriteDefault(image QImage_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOHandler_WriteDefault(ptr.Pointer(), PointerFromQImage(image))) != 0 + } + return false +} + +//export callbackQImageIOHandler_DestroyQImageIOHandler +func callbackQImageIOHandler_DestroyQImageIOHandler(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QImageIOHandler"); signal != nil { + (*(*func())(signal))() + } else { + NewQImageIOHandlerFromPointer(ptr).DestroyQImageIOHandlerDefault() + } +} + +func (ptr *QImageIOHandler) ConnectDestroyQImageIOHandler(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QImageIOHandler"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QImageIOHandler", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QImageIOHandler", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOHandler) DisconnectDestroyQImageIOHandler() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QImageIOHandler") + } +} + +func (ptr *QImageIOHandler) DestroyQImageIOHandler() { + if ptr.Pointer() != nil { + C.QImageIOHandler_DestroyQImageIOHandler(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QImageIOHandler) DestroyQImageIOHandlerDefault() { + if ptr.Pointer() != nil { + C.QImageIOHandler_DestroyQImageIOHandlerDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QImageIOPlugin struct { + core.QObject +} + +type QImageIOPlugin_ITF interface { + core.QObject_ITF + QImageIOPlugin_PTR() *QImageIOPlugin +} + +func (ptr *QImageIOPlugin) QImageIOPlugin_PTR() *QImageIOPlugin { + return ptr +} + +func (ptr *QImageIOPlugin) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QImageIOPlugin) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQImageIOPlugin(ptr QImageIOPlugin_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QImageIOPlugin_PTR().Pointer() + } + return nil +} + +func NewQImageIOPluginFromPointer(ptr unsafe.Pointer) (n *QImageIOPlugin) { + n = new(QImageIOPlugin) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QImageIOPlugin__Capability +//QImageIOPlugin::Capability +type QImageIOPlugin__Capability int64 + +const ( + QImageIOPlugin__CanRead QImageIOPlugin__Capability = QImageIOPlugin__Capability(0x1) + QImageIOPlugin__CanWrite QImageIOPlugin__Capability = QImageIOPlugin__Capability(0x2) + QImageIOPlugin__CanReadIncremental QImageIOPlugin__Capability = QImageIOPlugin__Capability(0x4) +) + +func NewQImageIOPlugin(parent core.QObject_ITF) *QImageIOPlugin { + tmpValue := NewQImageIOPluginFromPointer(C.QImageIOPlugin_NewQImageIOPlugin(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQImageIOPlugin_Capabilities +func callbackQImageIOPlugin_Capabilities(ptr unsafe.Pointer, device unsafe.Pointer, format unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "capabilities"); signal != nil { + return C.longlong((*(*func(*core.QIODevice, *core.QByteArray) QImageIOPlugin__Capability)(signal))(core.NewQIODeviceFromPointer(device), core.NewQByteArrayFromPointer(format))) + } + + return C.longlong(0) +} + +func (ptr *QImageIOPlugin) ConnectCapabilities(f func(device *core.QIODevice, format *core.QByteArray) QImageIOPlugin__Capability) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "capabilities"); signal != nil { + f := func(device *core.QIODevice, format *core.QByteArray) QImageIOPlugin__Capability { + (*(*func(*core.QIODevice, *core.QByteArray) QImageIOPlugin__Capability)(signal))(device, format) + return f(device, format) + } + qt.ConnectSignal(ptr.Pointer(), "capabilities", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "capabilities", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOPlugin) DisconnectCapabilities() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "capabilities") + } +} + +func (ptr *QImageIOPlugin) Capabilities(device core.QIODevice_ITF, format core.QByteArray_ITF) QImageIOPlugin__Capability { + if ptr.Pointer() != nil { + return QImageIOPlugin__Capability(C.QImageIOPlugin_Capabilities(ptr.Pointer(), core.PointerFromQIODevice(device), core.PointerFromQByteArray(format))) + } + return 0 +} + +//export callbackQImageIOPlugin_Create +func callbackQImageIOPlugin_Create(ptr unsafe.Pointer, device unsafe.Pointer, format unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "create"); signal != nil { + return PointerFromQImageIOHandler((*(*func(*core.QIODevice, *core.QByteArray) *QImageIOHandler)(signal))(core.NewQIODeviceFromPointer(device), core.NewQByteArrayFromPointer(format))) + } + + return PointerFromQImageIOHandler(NewQImageIOHandler()) +} + +func (ptr *QImageIOPlugin) ConnectCreate(f func(device *core.QIODevice, format *core.QByteArray) *QImageIOHandler) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "create"); signal != nil { + f := func(device *core.QIODevice, format *core.QByteArray) *QImageIOHandler { + (*(*func(*core.QIODevice, *core.QByteArray) *QImageIOHandler)(signal))(device, format) + return f(device, format) + } + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOPlugin) DisconnectCreate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "create") + } +} + +func (ptr *QImageIOPlugin) Create(device core.QIODevice_ITF, format core.QByteArray_ITF) *QImageIOHandler { + if ptr.Pointer() != nil { + return NewQImageIOHandlerFromPointer(C.QImageIOPlugin_Create(ptr.Pointer(), core.PointerFromQIODevice(device), core.PointerFromQByteArray(format))) + } + return nil +} + +//export callbackQImageIOPlugin_DestroyQImageIOPlugin +func callbackQImageIOPlugin_DestroyQImageIOPlugin(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QImageIOPlugin"); signal != nil { + (*(*func())(signal))() + } else { + NewQImageIOPluginFromPointer(ptr).DestroyQImageIOPluginDefault() + } +} + +func (ptr *QImageIOPlugin) ConnectDestroyQImageIOPlugin(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QImageIOPlugin"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QImageIOPlugin", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QImageIOPlugin", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QImageIOPlugin) DisconnectDestroyQImageIOPlugin() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QImageIOPlugin") + } +} + +func (ptr *QImageIOPlugin) DestroyQImageIOPlugin() { + if ptr.Pointer() != nil { + C.QImageIOPlugin_DestroyQImageIOPlugin(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QImageIOPlugin) DestroyQImageIOPluginDefault() { + if ptr.Pointer() != nil { + C.QImageIOPlugin_DestroyQImageIOPluginDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QImageIOPlugin) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QImageIOPlugin___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QImageIOPlugin) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QImageIOPlugin) __children_newList() unsafe.Pointer { + return C.QImageIOPlugin___children_newList(ptr.Pointer()) +} + +func (ptr *QImageIOPlugin) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageIOPlugin___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageIOPlugin) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QImageIOPlugin) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QImageIOPlugin___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QImageIOPlugin) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QImageIOPlugin___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QImageIOPlugin) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QImageIOPlugin) __findChildren_newList() unsafe.Pointer { + return C.QImageIOPlugin___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QImageIOPlugin) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QImageIOPlugin___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QImageIOPlugin) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QImageIOPlugin) __findChildren_newList3() unsafe.Pointer { + return C.QImageIOPlugin___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QImageIOPlugin) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QImageIOPlugin___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QImageIOPlugin) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QImageIOPlugin) __qFindChildren_newList2() unsafe.Pointer { + return C.QImageIOPlugin___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQImageIOPlugin_ChildEvent +func callbackQImageIOPlugin_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQImageIOPluginFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QImageIOPlugin) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQImageIOPlugin_ConnectNotify +func callbackQImageIOPlugin_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQImageIOPluginFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QImageIOPlugin) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQImageIOPlugin_CustomEvent +func callbackQImageIOPlugin_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQImageIOPluginFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QImageIOPlugin) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQImageIOPlugin_DeleteLater +func callbackQImageIOPlugin_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQImageIOPluginFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QImageIOPlugin) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QImageIOPlugin_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQImageIOPlugin_Destroyed +func callbackQImageIOPlugin_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQImageIOPlugin_DisconnectNotify +func callbackQImageIOPlugin_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQImageIOPluginFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QImageIOPlugin) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQImageIOPlugin_Event +func callbackQImageIOPlugin_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQImageIOPluginFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QImageIOPlugin) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOPlugin_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQImageIOPlugin_EventFilter +func callbackQImageIOPlugin_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQImageIOPluginFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QImageIOPlugin) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QImageIOPlugin_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQImageIOPlugin_MetaObject +func callbackQImageIOPlugin_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQImageIOPluginFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QImageIOPlugin) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QImageIOPlugin_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQImageIOPlugin_ObjectNameChanged +func callbackQImageIOPlugin_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQImageIOPlugin_TimerEvent +func callbackQImageIOPlugin_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQImageIOPluginFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QImageIOPlugin) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QImageIOPlugin_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QImageReader struct { + ptr unsafe.Pointer +} + +type QImageReader_ITF interface { + QImageReader_PTR() *QImageReader +} + +func (ptr *QImageReader) QImageReader_PTR() *QImageReader { + return ptr +} + +func (ptr *QImageReader) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QImageReader) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQImageReader(ptr QImageReader_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QImageReader_PTR().Pointer() + } + return nil +} + +func NewQImageReaderFromPointer(ptr unsafe.Pointer) (n *QImageReader) { + n = new(QImageReader) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QImageReader__ImageReaderError +//QImageReader::ImageReaderError +type QImageReader__ImageReaderError int64 + +const ( + QImageReader__UnknownError QImageReader__ImageReaderError = QImageReader__ImageReaderError(0) + QImageReader__FileNotFoundError QImageReader__ImageReaderError = QImageReader__ImageReaderError(1) + QImageReader__DeviceError QImageReader__ImageReaderError = QImageReader__ImageReaderError(2) + QImageReader__UnsupportedFormatError QImageReader__ImageReaderError = QImageReader__ImageReaderError(3) + QImageReader__InvalidDataError QImageReader__ImageReaderError = QImageReader__ImageReaderError(4) +) + +func NewQImageReader() *QImageReader { + tmpValue := NewQImageReaderFromPointer(C.QImageReader_NewQImageReader()) + runtime.SetFinalizer(tmpValue, (*QImageReader).DestroyQImageReader) + return tmpValue +} + +func NewQImageReader2(device core.QIODevice_ITF, format core.QByteArray_ITF) *QImageReader { + tmpValue := NewQImageReaderFromPointer(C.QImageReader_NewQImageReader2(core.PointerFromQIODevice(device), core.PointerFromQByteArray(format))) + runtime.SetFinalizer(tmpValue, (*QImageReader).DestroyQImageReader) + return tmpValue +} + +func NewQImageReader3(fileName string, format core.QByteArray_ITF) *QImageReader { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQImageReaderFromPointer(C.QImageReader_NewQImageReader3(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, core.PointerFromQByteArray(format))) + runtime.SetFinalizer(tmpValue, (*QImageReader).DestroyQImageReader) + return tmpValue +} + +func (ptr *QImageReader) AutoDetectImageFormat() bool { + if ptr.Pointer() != nil { + return int8(C.QImageReader_AutoDetectImageFormat(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageReader) AutoTransform() bool { + if ptr.Pointer() != nil { + return int8(C.QImageReader_AutoTransform(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageReader) BackgroundColor() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QImageReader_BackgroundColor(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) CanRead() bool { + if ptr.Pointer() != nil { + return int8(C.QImageReader_CanRead(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageReader) ClipRect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QImageReader_ClipRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) CurrentImageNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageReader_CurrentImageNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageReader) CurrentImageRect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QImageReader_CurrentImageRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) DecideFormatFromContent() bool { + if ptr.Pointer() != nil { + return int8(C.QImageReader_DecideFormatFromContent(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageReader) Device() *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QImageReader_Device(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QImageReader) Error() QImageReader__ImageReaderError { + if ptr.Pointer() != nil { + return QImageReader__ImageReaderError(C.QImageReader_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QImageReader) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImageReader_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QImageReader) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImageReader_FileName(ptr.Pointer())) + } + return "" +} + +func (ptr *QImageReader) Format() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) Gamma() float32 { + if ptr.Pointer() != nil { + return float32(C.QImageReader_Gamma(ptr.Pointer())) + } + return 0 +} + +func (ptr *QImageReader) ImageCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageReader_ImageCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageReader) ImageFormat() QImage__Format { + if ptr.Pointer() != nil { + return QImage__Format(C.QImageReader_ImageFormat(ptr.Pointer())) + } + return 0 +} + +func QImageReader_ImageFormat2(fileName string) *core.QByteArray { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader_QImageReader_ImageFormat2(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QImageReader) ImageFormat2(fileName string) *core.QByteArray { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader_QImageReader_ImageFormat2(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue +} + +func QImageReader_ImageFormat3(device core.QIODevice_ITF) *core.QByteArray { + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader_QImageReader_ImageFormat3(core.PointerFromQIODevice(device))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QImageReader) ImageFormat3(device core.QIODevice_ITF) *core.QByteArray { + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader_QImageReader_ImageFormat3(core.PointerFromQIODevice(device))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue +} + +func QImageReader_ImageFormatsForMimeType(mimeType core.QByteArray_ITF) []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageReaderFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__imageFormatsForMimeType_atList(i) + } + return out + }(C.QImageReader_QImageReader_ImageFormatsForMimeType(core.PointerFromQByteArray(mimeType))) +} + +func (ptr *QImageReader) ImageFormatsForMimeType(mimeType core.QByteArray_ITF) []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageReaderFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__imageFormatsForMimeType_atList(i) + } + return out + }(C.QImageReader_QImageReader_ImageFormatsForMimeType(core.PointerFromQByteArray(mimeType))) +} + +func (ptr *QImageReader) JumpToImage(imageNumber int) bool { + if ptr.Pointer() != nil { + return int8(C.QImageReader_JumpToImage(ptr.Pointer(), C.int(int32(imageNumber)))) != 0 + } + return false +} + +func (ptr *QImageReader) JumpToNextImage() bool { + if ptr.Pointer() != nil { + return int8(C.QImageReader_JumpToNextImage(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageReader) LoopCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageReader_LoopCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageReader) NextImageDelay() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageReader_NextImageDelay(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageReader) Quality() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageReader_Quality(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageReader) Read() *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QImageReader_Read(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) Read2(image QImage_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QImageReader_Read2(ptr.Pointer(), PointerFromQImage(image))) != 0 + } + return false +} + +func (ptr *QImageReader) ScaledClipRect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QImageReader_ScaledClipRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) ScaledSize() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QImageReader_ScaledSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) SetAutoDetectImageFormat(enabled bool) { + if ptr.Pointer() != nil { + C.QImageReader_SetAutoDetectImageFormat(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QImageReader) SetAutoTransform(enabled bool) { + if ptr.Pointer() != nil { + C.QImageReader_SetAutoTransform(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QImageReader) SetBackgroundColor(color QColor_ITF) { + if ptr.Pointer() != nil { + C.QImageReader_SetBackgroundColor(ptr.Pointer(), PointerFromQColor(color)) + } +} + +func (ptr *QImageReader) SetClipRect(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QImageReader_SetClipRect(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +func (ptr *QImageReader) SetDecideFormatFromContent(ignored bool) { + if ptr.Pointer() != nil { + C.QImageReader_SetDecideFormatFromContent(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(ignored)))) + } +} + +func (ptr *QImageReader) SetDevice(device core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QImageReader_SetDevice(ptr.Pointer(), core.PointerFromQIODevice(device)) + } +} + +func (ptr *QImageReader) SetFileName(fileName string) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QImageReader_SetFileName(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}) + } +} + +func (ptr *QImageReader) SetFormat(format core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageReader_SetFormat(ptr.Pointer(), core.PointerFromQByteArray(format)) + } +} + +func (ptr *QImageReader) SetGamma(gamma float32) { + if ptr.Pointer() != nil { + C.QImageReader_SetGamma(ptr.Pointer(), C.float(gamma)) + } +} + +func (ptr *QImageReader) SetQuality(quality int) { + if ptr.Pointer() != nil { + C.QImageReader_SetQuality(ptr.Pointer(), C.int(int32(quality))) + } +} + +func (ptr *QImageReader) SetScaledClipRect(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QImageReader_SetScaledClipRect(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +func (ptr *QImageReader) SetScaledSize(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QImageReader_SetScaledSize(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +func (ptr *QImageReader) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QImageReader_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) SubType() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader_SubType(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func QImageReader_SupportedImageFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageReaderFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedImageFormats_atList(i) + } + return out + }(C.QImageReader_QImageReader_SupportedImageFormats()) +} + +func (ptr *QImageReader) SupportedImageFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageReaderFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedImageFormats_atList(i) + } + return out + }(C.QImageReader_QImageReader_SupportedImageFormats()) +} + +func QImageReader_SupportedMimeTypes() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageReaderFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedMimeTypes_atList(i) + } + return out + }(C.QImageReader_QImageReader_SupportedMimeTypes()) +} + +func (ptr *QImageReader) SupportedMimeTypes() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageReaderFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedMimeTypes_atList(i) + } + return out + }(C.QImageReader_QImageReader_SupportedMimeTypes()) +} + +func (ptr *QImageReader) SupportedSubTypes() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageReaderFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedSubTypes_atList(i) + } + return out + }(C.QImageReader_SupportedSubTypes(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QImageReader) SupportsAnimation() bool { + if ptr.Pointer() != nil { + return int8(C.QImageReader_SupportsAnimation(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageReader) SupportsOption(option QImageIOHandler__ImageOption) bool { + if ptr.Pointer() != nil { + return int8(C.QImageReader_SupportsOption(ptr.Pointer(), C.longlong(option))) != 0 + } + return false +} + +func (ptr *QImageReader) Text(key string) string { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return cGoUnpackString(C.QImageReader_Text(ptr.Pointer(), C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))})) + } + return "" +} + +func (ptr *QImageReader) TextKeys() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QImageReader_TextKeys(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QImageReader) Transformation() QImageIOHandler__Transformation { + if ptr.Pointer() != nil { + return QImageIOHandler__Transformation(C.QImageReader_Transformation(ptr.Pointer())) + } + return 0 +} + +func (ptr *QImageReader) DestroyQImageReader() { + if ptr.Pointer() != nil { + C.QImageReader_DestroyQImageReader(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QImageReader) __imageFormatsForMimeType_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader___imageFormatsForMimeType_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) __imageFormatsForMimeType_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageReader___imageFormatsForMimeType_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QImageReader) __imageFormatsForMimeType_newList() unsafe.Pointer { + return C.QImageReader___imageFormatsForMimeType_newList(ptr.Pointer()) +} + +func (ptr *QImageReader) __supportedImageFormats_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader___supportedImageFormats_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) __supportedImageFormats_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageReader___supportedImageFormats_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QImageReader) __supportedImageFormats_newList() unsafe.Pointer { + return C.QImageReader___supportedImageFormats_newList(ptr.Pointer()) +} + +func (ptr *QImageReader) __supportedMimeTypes_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader___supportedMimeTypes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) __supportedMimeTypes_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageReader___supportedMimeTypes_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QImageReader) __supportedMimeTypes_newList() unsafe.Pointer { + return C.QImageReader___supportedMimeTypes_newList(ptr.Pointer()) +} + +func (ptr *QImageReader) __supportedSubTypes_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageReader___supportedSubTypes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageReader) __supportedSubTypes_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageReader___supportedSubTypes_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QImageReader) __supportedSubTypes_newList() unsafe.Pointer { + return C.QImageReader___supportedSubTypes_newList(ptr.Pointer()) +} + +type QImageTextKeyLang struct { + ptr unsafe.Pointer +} + +type QImageTextKeyLang_ITF interface { + QImageTextKeyLang_PTR() *QImageTextKeyLang +} + +func (ptr *QImageTextKeyLang) QImageTextKeyLang_PTR() *QImageTextKeyLang { + return ptr +} + +func (ptr *QImageTextKeyLang) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QImageTextKeyLang) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQImageTextKeyLang(ptr QImageTextKeyLang_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QImageTextKeyLang_PTR().Pointer() + } + return nil +} + +func NewQImageTextKeyLangFromPointer(ptr unsafe.Pointer) (n *QImageTextKeyLang) { + n = new(QImageTextKeyLang) + n.SetPointer(ptr) + return +} + +func (ptr *QImageTextKeyLang) DestroyQImageTextKeyLang() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QImageWriter struct { + ptr unsafe.Pointer +} + +type QImageWriter_ITF interface { + QImageWriter_PTR() *QImageWriter +} + +func (ptr *QImageWriter) QImageWriter_PTR() *QImageWriter { + return ptr +} + +func (ptr *QImageWriter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QImageWriter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQImageWriter(ptr QImageWriter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QImageWriter_PTR().Pointer() + } + return nil +} + +func NewQImageWriterFromPointer(ptr unsafe.Pointer) (n *QImageWriter) { + n = new(QImageWriter) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QImageWriter__ImageWriterError +//QImageWriter::ImageWriterError +type QImageWriter__ImageWriterError int64 + +const ( + QImageWriter__UnknownError QImageWriter__ImageWriterError = QImageWriter__ImageWriterError(0) + QImageWriter__DeviceError QImageWriter__ImageWriterError = QImageWriter__ImageWriterError(1) + QImageWriter__UnsupportedFormatError QImageWriter__ImageWriterError = QImageWriter__ImageWriterError(2) + QImageWriter__InvalidImageError QImageWriter__ImageWriterError = QImageWriter__ImageWriterError(3) +) + +func NewQImageWriter() *QImageWriter { + tmpValue := NewQImageWriterFromPointer(C.QImageWriter_NewQImageWriter()) + runtime.SetFinalizer(tmpValue, (*QImageWriter).DestroyQImageWriter) + return tmpValue +} + +func NewQImageWriter2(device core.QIODevice_ITF, format core.QByteArray_ITF) *QImageWriter { + tmpValue := NewQImageWriterFromPointer(C.QImageWriter_NewQImageWriter2(core.PointerFromQIODevice(device), core.PointerFromQByteArray(format))) + runtime.SetFinalizer(tmpValue, (*QImageWriter).DestroyQImageWriter) + return tmpValue +} + +func NewQImageWriter3(fileName string, format core.QByteArray_ITF) *QImageWriter { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQImageWriterFromPointer(C.QImageWriter_NewQImageWriter3(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, core.PointerFromQByteArray(format))) + runtime.SetFinalizer(tmpValue, (*QImageWriter).DestroyQImageWriter) + return tmpValue +} + +func (ptr *QImageWriter) CanWrite() bool { + if ptr.Pointer() != nil { + return int8(C.QImageWriter_CanWrite(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageWriter) Compression() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageWriter_Compression(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageWriter) Device() *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QImageWriter_Device(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QImageWriter) Error() QImageWriter__ImageWriterError { + if ptr.Pointer() != nil { + return QImageWriter__ImageWriterError(C.QImageWriter_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QImageWriter) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImageWriter_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QImageWriter) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QImageWriter_FileName(ptr.Pointer())) + } + return "" +} + +func (ptr *QImageWriter) Format() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageWriter_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageWriter) Gamma() float32 { + if ptr.Pointer() != nil { + return float32(C.QImageWriter_Gamma(ptr.Pointer())) + } + return 0 +} + +func QImageWriter_ImageFormatsForMimeType(mimeType core.QByteArray_ITF) []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageWriterFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__imageFormatsForMimeType_atList(i) + } + return out + }(C.QImageWriter_QImageWriter_ImageFormatsForMimeType(core.PointerFromQByteArray(mimeType))) +} + +func (ptr *QImageWriter) ImageFormatsForMimeType(mimeType core.QByteArray_ITF) []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageWriterFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__imageFormatsForMimeType_atList(i) + } + return out + }(C.QImageWriter_QImageWriter_ImageFormatsForMimeType(core.PointerFromQByteArray(mimeType))) +} + +func (ptr *QImageWriter) OptimizedWrite() bool { + if ptr.Pointer() != nil { + return int8(C.QImageWriter_OptimizedWrite(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageWriter) ProgressiveScanWrite() bool { + if ptr.Pointer() != nil { + return int8(C.QImageWriter_ProgressiveScanWrite(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QImageWriter) Quality() int { + if ptr.Pointer() != nil { + return int(int32(C.QImageWriter_Quality(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QImageWriter) SetCompression(compression int) { + if ptr.Pointer() != nil { + C.QImageWriter_SetCompression(ptr.Pointer(), C.int(int32(compression))) + } +} + +func (ptr *QImageWriter) SetDevice(device core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QImageWriter_SetDevice(ptr.Pointer(), core.PointerFromQIODevice(device)) + } +} + +func (ptr *QImageWriter) SetFileName(fileName string) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QImageWriter_SetFileName(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}) + } +} + +func (ptr *QImageWriter) SetFormat(format core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageWriter_SetFormat(ptr.Pointer(), core.PointerFromQByteArray(format)) + } +} + +func (ptr *QImageWriter) SetGamma(gamma float32) { + if ptr.Pointer() != nil { + C.QImageWriter_SetGamma(ptr.Pointer(), C.float(gamma)) + } +} + +func (ptr *QImageWriter) SetOptimizedWrite(optimize bool) { + if ptr.Pointer() != nil { + C.QImageWriter_SetOptimizedWrite(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(optimize)))) + } +} + +func (ptr *QImageWriter) SetProgressiveScanWrite(progressive bool) { + if ptr.Pointer() != nil { + C.QImageWriter_SetProgressiveScanWrite(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(progressive)))) + } +} + +func (ptr *QImageWriter) SetQuality(quality int) { + if ptr.Pointer() != nil { + C.QImageWriter_SetQuality(ptr.Pointer(), C.int(int32(quality))) + } +} + +func (ptr *QImageWriter) SetSubType(ty core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageWriter_SetSubType(ptr.Pointer(), core.PointerFromQByteArray(ty)) + } +} + +func (ptr *QImageWriter) SetText(key string, text string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QImageWriter_SetText(ptr.Pointer(), C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QImageWriter) SetTransformation(transform QImageIOHandler__Transformation) { + if ptr.Pointer() != nil { + C.QImageWriter_SetTransformation(ptr.Pointer(), C.longlong(transform)) + } +} + +func (ptr *QImageWriter) SubType() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageWriter_SubType(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func QImageWriter_SupportedImageFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageWriterFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedImageFormats_atList(i) + } + return out + }(C.QImageWriter_QImageWriter_SupportedImageFormats()) +} + +func (ptr *QImageWriter) SupportedImageFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageWriterFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedImageFormats_atList(i) + } + return out + }(C.QImageWriter_QImageWriter_SupportedImageFormats()) +} + +func QImageWriter_SupportedMimeTypes() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageWriterFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedMimeTypes_atList(i) + } + return out + }(C.QImageWriter_QImageWriter_SupportedMimeTypes()) +} + +func (ptr *QImageWriter) SupportedMimeTypes() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageWriterFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedMimeTypes_atList(i) + } + return out + }(C.QImageWriter_QImageWriter_SupportedMimeTypes()) +} + +func (ptr *QImageWriter) SupportedSubTypes() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQImageWriterFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedSubTypes_atList(i) + } + return out + }(C.QImageWriter_SupportedSubTypes(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QImageWriter) SupportsOption(option QImageIOHandler__ImageOption) bool { + if ptr.Pointer() != nil { + return int8(C.QImageWriter_SupportsOption(ptr.Pointer(), C.longlong(option))) != 0 + } + return false +} + +func (ptr *QImageWriter) Transformation() QImageIOHandler__Transformation { + if ptr.Pointer() != nil { + return QImageIOHandler__Transformation(C.QImageWriter_Transformation(ptr.Pointer())) + } + return 0 +} + +func (ptr *QImageWriter) Write(image QImage_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QImageWriter_Write(ptr.Pointer(), PointerFromQImage(image))) != 0 + } + return false +} + +func (ptr *QImageWriter) DestroyQImageWriter() { + if ptr.Pointer() != nil { + C.QImageWriter_DestroyQImageWriter(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QImageWriter) __imageFormatsForMimeType_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageWriter___imageFormatsForMimeType_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageWriter) __imageFormatsForMimeType_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageWriter___imageFormatsForMimeType_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QImageWriter) __imageFormatsForMimeType_newList() unsafe.Pointer { + return C.QImageWriter___imageFormatsForMimeType_newList(ptr.Pointer()) +} + +func (ptr *QImageWriter) __supportedImageFormats_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageWriter___supportedImageFormats_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageWriter) __supportedImageFormats_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageWriter___supportedImageFormats_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QImageWriter) __supportedImageFormats_newList() unsafe.Pointer { + return C.QImageWriter___supportedImageFormats_newList(ptr.Pointer()) +} + +func (ptr *QImageWriter) __supportedMimeTypes_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageWriter___supportedMimeTypes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageWriter) __supportedMimeTypes_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageWriter___supportedMimeTypes_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QImageWriter) __supportedMimeTypes_newList() unsafe.Pointer { + return C.QImageWriter___supportedMimeTypes_newList(ptr.Pointer()) +} + +func (ptr *QImageWriter) __supportedSubTypes_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QImageWriter___supportedSubTypes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QImageWriter) __supportedSubTypes_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QImageWriter___supportedSubTypes_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QImageWriter) __supportedSubTypes_newList() unsafe.Pointer { + return C.QImageWriter___supportedSubTypes_newList(ptr.Pointer()) +} + +type QInputEvent struct { + core.QEvent +} + +type QInputEvent_ITF interface { + core.QEvent_ITF + QInputEvent_PTR() *QInputEvent +} + +func (ptr *QInputEvent) QInputEvent_PTR() *QInputEvent { + return ptr +} + +func (ptr *QInputEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QInputEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQInputEvent(ptr QInputEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QInputEvent_PTR().Pointer() + } + return nil +} + +func NewQInputEventFromPointer(ptr unsafe.Pointer) (n *QInputEvent) { + n = new(QInputEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QInputEvent) DestroyQInputEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QInputEvent) Modifiers() core.Qt__KeyboardModifier { + if ptr.Pointer() != nil { + return core.Qt__KeyboardModifier(C.QInputEvent_Modifiers(ptr.Pointer())) + } + return 0 +} + +func (ptr *QInputEvent) Timestamp() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QInputEvent_Timestamp(ptr.Pointer()))) + } + return 0 +} + +type QInputMethod struct { + core.QObject +} + +type QInputMethod_ITF interface { + core.QObject_ITF + QInputMethod_PTR() *QInputMethod +} + +func (ptr *QInputMethod) QInputMethod_PTR() *QInputMethod { + return ptr +} + +func (ptr *QInputMethod) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QInputMethod) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQInputMethod(ptr QInputMethod_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QInputMethod_PTR().Pointer() + } + return nil +} + +func NewQInputMethodFromPointer(ptr unsafe.Pointer) (n *QInputMethod) { + n = new(QInputMethod) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QInputMethod__Action +//QInputMethod::Action +type QInputMethod__Action int64 + +const ( + QInputMethod__Click QInputMethod__Action = QInputMethod__Action(0) + QInputMethod__ContextMenu QInputMethod__Action = QInputMethod__Action(1) +) + +func (ptr *QInputMethod) AnchorRectangle() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QInputMethod_AnchorRectangle(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +//export callbackQInputMethod_AnchorRectangleChanged +func callbackQInputMethod_AnchorRectangleChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "anchorRectangleChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QInputMethod) ConnectAnchorRectangleChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "anchorRectangleChanged") { + C.QInputMethod_ConnectAnchorRectangleChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "anchorRectangleChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "anchorRectangleChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "anchorRectangleChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "anchorRectangleChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectAnchorRectangleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_DisconnectAnchorRectangleChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "anchorRectangleChanged") + } +} + +func (ptr *QInputMethod) AnchorRectangleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_AnchorRectangleChanged(ptr.Pointer()) + } +} + +//export callbackQInputMethod_AnimatingChanged +func callbackQInputMethod_AnimatingChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "animatingChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QInputMethod) ConnectAnimatingChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "animatingChanged") { + C.QInputMethod_ConnectAnimatingChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "animatingChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "animatingChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "animatingChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "animatingChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectAnimatingChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_DisconnectAnimatingChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "animatingChanged") + } +} + +func (ptr *QInputMethod) AnimatingChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_AnimatingChanged(ptr.Pointer()) + } +} + +//export callbackQInputMethod_Commit +func callbackQInputMethod_Commit(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "commit"); signal != nil { + (*(*func())(signal))() + } else { + NewQInputMethodFromPointer(ptr).CommitDefault() + } +} + +func (ptr *QInputMethod) ConnectCommit(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "commit"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "commit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "commit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectCommit() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "commit") + } +} + +func (ptr *QInputMethod) Commit() { + if ptr.Pointer() != nil { + C.QInputMethod_Commit(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) CommitDefault() { + if ptr.Pointer() != nil { + C.QInputMethod_CommitDefault(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) CursorRectangle() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QInputMethod_CursorRectangle(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +//export callbackQInputMethod_CursorRectangleChanged +func callbackQInputMethod_CursorRectangleChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "cursorRectangleChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QInputMethod) ConnectCursorRectangleChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "cursorRectangleChanged") { + C.QInputMethod_ConnectCursorRectangleChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "cursorRectangleChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "cursorRectangleChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "cursorRectangleChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "cursorRectangleChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectCursorRectangleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_DisconnectCursorRectangleChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "cursorRectangleChanged") + } +} + +func (ptr *QInputMethod) CursorRectangleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_CursorRectangleChanged(ptr.Pointer()) + } +} + +//export callbackQInputMethod_Hide +func callbackQInputMethod_Hide(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "hide"); signal != nil { + (*(*func())(signal))() + } else { + NewQInputMethodFromPointer(ptr).HideDefault() + } +} + +func (ptr *QInputMethod) ConnectHide(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "hide"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "hide", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "hide", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectHide() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "hide") + } +} + +func (ptr *QInputMethod) Hide() { + if ptr.Pointer() != nil { + C.QInputMethod_Hide(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) HideDefault() { + if ptr.Pointer() != nil { + C.QInputMethod_HideDefault(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) InputDirection() core.Qt__LayoutDirection { + if ptr.Pointer() != nil { + return core.Qt__LayoutDirection(C.QInputMethod_InputDirection(ptr.Pointer())) + } + return 0 +} + +//export callbackQInputMethod_InputDirectionChanged +func callbackQInputMethod_InputDirectionChanged(ptr unsafe.Pointer, newDirection C.longlong) { + if signal := qt.GetSignal(ptr, "inputDirectionChanged"); signal != nil { + (*(*func(core.Qt__LayoutDirection))(signal))(core.Qt__LayoutDirection(newDirection)) + } + +} + +func (ptr *QInputMethod) ConnectInputDirectionChanged(f func(newDirection core.Qt__LayoutDirection)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "inputDirectionChanged") { + C.QInputMethod_ConnectInputDirectionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "inputDirectionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "inputDirectionChanged"); signal != nil { + f := func(newDirection core.Qt__LayoutDirection) { + (*(*func(core.Qt__LayoutDirection))(signal))(newDirection) + f(newDirection) + } + qt.ConnectSignal(ptr.Pointer(), "inputDirectionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "inputDirectionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectInputDirectionChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_DisconnectInputDirectionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "inputDirectionChanged") + } +} + +func (ptr *QInputMethod) InputDirectionChanged(newDirection core.Qt__LayoutDirection) { + if ptr.Pointer() != nil { + C.QInputMethod_InputDirectionChanged(ptr.Pointer(), C.longlong(newDirection)) + } +} + +func (ptr *QInputMethod) InputItemClipRectangle() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QInputMethod_InputItemClipRectangle(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +//export callbackQInputMethod_InputItemClipRectangleChanged +func callbackQInputMethod_InputItemClipRectangleChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "inputItemClipRectangleChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QInputMethod) ConnectInputItemClipRectangleChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "inputItemClipRectangleChanged") { + C.QInputMethod_ConnectInputItemClipRectangleChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "inputItemClipRectangleChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "inputItemClipRectangleChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "inputItemClipRectangleChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "inputItemClipRectangleChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectInputItemClipRectangleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_DisconnectInputItemClipRectangleChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "inputItemClipRectangleChanged") + } +} + +func (ptr *QInputMethod) InputItemClipRectangleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_InputItemClipRectangleChanged(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) InputItemRectangle() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QInputMethod_InputItemRectangle(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QInputMethod) InputItemTransform() *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QInputMethod_InputItemTransform(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +//export callbackQInputMethod_InvokeAction +func callbackQInputMethod_InvokeAction(ptr unsafe.Pointer, a C.longlong, cursorPosition C.int) { + if signal := qt.GetSignal(ptr, "invokeAction"); signal != nil { + (*(*func(QInputMethod__Action, int))(signal))(QInputMethod__Action(a), int(int32(cursorPosition))) + } else { + NewQInputMethodFromPointer(ptr).InvokeActionDefault(QInputMethod__Action(a), int(int32(cursorPosition))) + } +} + +func (ptr *QInputMethod) ConnectInvokeAction(f func(a QInputMethod__Action, cursorPosition int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "invokeAction"); signal != nil { + f := func(a QInputMethod__Action, cursorPosition int) { + (*(*func(QInputMethod__Action, int))(signal))(a, cursorPosition) + f(a, cursorPosition) + } + qt.ConnectSignal(ptr.Pointer(), "invokeAction", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "invokeAction", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectInvokeAction() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "invokeAction") + } +} + +func (ptr *QInputMethod) InvokeAction(a QInputMethod__Action, cursorPosition int) { + if ptr.Pointer() != nil { + C.QInputMethod_InvokeAction(ptr.Pointer(), C.longlong(a), C.int(int32(cursorPosition))) + } +} + +func (ptr *QInputMethod) InvokeActionDefault(a QInputMethod__Action, cursorPosition int) { + if ptr.Pointer() != nil { + C.QInputMethod_InvokeActionDefault(ptr.Pointer(), C.longlong(a), C.int(int32(cursorPosition))) + } +} + +func (ptr *QInputMethod) IsAnimating() bool { + if ptr.Pointer() != nil { + return int8(C.QInputMethod_IsAnimating(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QInputMethod) IsVisible() bool { + if ptr.Pointer() != nil { + return int8(C.QInputMethod_IsVisible(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QInputMethod) KeyboardRectangle() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QInputMethod_KeyboardRectangle(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +//export callbackQInputMethod_KeyboardRectangleChanged +func callbackQInputMethod_KeyboardRectangleChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "keyboardRectangleChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QInputMethod) ConnectKeyboardRectangleChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "keyboardRectangleChanged") { + C.QInputMethod_ConnectKeyboardRectangleChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "keyboardRectangleChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "keyboardRectangleChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "keyboardRectangleChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "keyboardRectangleChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectKeyboardRectangleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_DisconnectKeyboardRectangleChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "keyboardRectangleChanged") + } +} + +func (ptr *QInputMethod) KeyboardRectangleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_KeyboardRectangleChanged(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) Locale() *core.QLocale { + if ptr.Pointer() != nil { + tmpValue := core.NewQLocaleFromPointer(C.QInputMethod_Locale(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QLocale).DestroyQLocale) + return tmpValue + } + return nil +} + +//export callbackQInputMethod_LocaleChanged +func callbackQInputMethod_LocaleChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "localeChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QInputMethod) ConnectLocaleChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "localeChanged") { + C.QInputMethod_ConnectLocaleChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "localeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "localeChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "localeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "localeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectLocaleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_DisconnectLocaleChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "localeChanged") + } +} + +func (ptr *QInputMethod) LocaleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_LocaleChanged(ptr.Pointer()) + } +} + +func QInputMethod_QueryFocusObject(query core.Qt__InputMethodQuery, argument core.QVariant_ITF) *core.QVariant { + tmpValue := core.NewQVariantFromPointer(C.QInputMethod_QInputMethod_QueryFocusObject(C.longlong(query), core.PointerFromQVariant(argument))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue +} + +func (ptr *QInputMethod) QueryFocusObject(query core.Qt__InputMethodQuery, argument core.QVariant_ITF) *core.QVariant { + tmpValue := core.NewQVariantFromPointer(C.QInputMethod_QInputMethod_QueryFocusObject(C.longlong(query), core.PointerFromQVariant(argument))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue +} + +//export callbackQInputMethod_Reset +func callbackQInputMethod_Reset(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "reset"); signal != nil { + (*(*func())(signal))() + } else { + NewQInputMethodFromPointer(ptr).ResetDefault() + } +} + +func (ptr *QInputMethod) ConnectReset(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "reset"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "reset", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "reset", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectReset() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "reset") + } +} + +func (ptr *QInputMethod) Reset() { + if ptr.Pointer() != nil { + C.QInputMethod_Reset(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) ResetDefault() { + if ptr.Pointer() != nil { + C.QInputMethod_ResetDefault(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) SetInputItemRectangle(rect core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod_SetInputItemRectangle(ptr.Pointer(), core.PointerFromQRectF(rect)) + } +} + +func (ptr *QInputMethod) SetInputItemTransform(transform QTransform_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod_SetInputItemTransform(ptr.Pointer(), PointerFromQTransform(transform)) + } +} + +func (ptr *QInputMethod) SetVisible(visible bool) { + if ptr.Pointer() != nil { + C.QInputMethod_SetVisible(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(visible)))) + } +} + +//export callbackQInputMethod_Show +func callbackQInputMethod_Show(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "show"); signal != nil { + (*(*func())(signal))() + } else { + NewQInputMethodFromPointer(ptr).ShowDefault() + } +} + +func (ptr *QInputMethod) ConnectShow(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "show"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "show", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "show", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectShow() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "show") + } +} + +func (ptr *QInputMethod) Show() { + if ptr.Pointer() != nil { + C.QInputMethod_Show(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) ShowDefault() { + if ptr.Pointer() != nil { + C.QInputMethod_ShowDefault(ptr.Pointer()) + } +} + +//export callbackQInputMethod_Update +func callbackQInputMethod_Update(ptr unsafe.Pointer, queries C.longlong) { + if signal := qt.GetSignal(ptr, "update"); signal != nil { + (*(*func(core.Qt__InputMethodQuery))(signal))(core.Qt__InputMethodQuery(queries)) + } else { + NewQInputMethodFromPointer(ptr).UpdateDefault(core.Qt__InputMethodQuery(queries)) + } +} + +func (ptr *QInputMethod) ConnectUpdate(f func(queries core.Qt__InputMethodQuery)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "update"); signal != nil { + f := func(queries core.Qt__InputMethodQuery) { + (*(*func(core.Qt__InputMethodQuery))(signal))(queries) + f(queries) + } + qt.ConnectSignal(ptr.Pointer(), "update", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "update", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectUpdate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "update") + } +} + +func (ptr *QInputMethod) Update(queries core.Qt__InputMethodQuery) { + if ptr.Pointer() != nil { + C.QInputMethod_Update(ptr.Pointer(), C.longlong(queries)) + } +} + +func (ptr *QInputMethod) UpdateDefault(queries core.Qt__InputMethodQuery) { + if ptr.Pointer() != nil { + C.QInputMethod_UpdateDefault(ptr.Pointer(), C.longlong(queries)) + } +} + +//export callbackQInputMethod_VisibleChanged +func callbackQInputMethod_VisibleChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "visibleChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QInputMethod) ConnectVisibleChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "visibleChanged") { + C.QInputMethod_ConnectVisibleChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "visibleChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "visibleChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "visibleChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "visibleChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QInputMethod) DisconnectVisibleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_DisconnectVisibleChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "visibleChanged") + } +} + +func (ptr *QInputMethod) VisibleChanged() { + if ptr.Pointer() != nil { + C.QInputMethod_VisibleChanged(ptr.Pointer()) + } +} + +func (ptr *QInputMethod) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QInputMethod___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QInputMethod) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QInputMethod) __children_newList() unsafe.Pointer { + return C.QInputMethod___children_newList(ptr.Pointer()) +} + +func (ptr *QInputMethod) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QInputMethod___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QInputMethod) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QInputMethod) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QInputMethod___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QInputMethod) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QInputMethod___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QInputMethod) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QInputMethod) __findChildren_newList() unsafe.Pointer { + return C.QInputMethod___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QInputMethod) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QInputMethod___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QInputMethod) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QInputMethod) __findChildren_newList3() unsafe.Pointer { + return C.QInputMethod___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QInputMethod) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QInputMethod___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QInputMethod) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QInputMethod) __qFindChildren_newList2() unsafe.Pointer { + return C.QInputMethod___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQInputMethod_ChildEvent +func callbackQInputMethod_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQInputMethodFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QInputMethod) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQInputMethod_ConnectNotify +func callbackQInputMethod_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQInputMethodFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QInputMethod) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQInputMethod_CustomEvent +func callbackQInputMethod_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQInputMethodFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QInputMethod) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQInputMethod_DeleteLater +func callbackQInputMethod_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQInputMethodFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QInputMethod) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QInputMethod_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQInputMethod_Destroyed +func callbackQInputMethod_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQInputMethod_DisconnectNotify +func callbackQInputMethod_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQInputMethodFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QInputMethod) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQInputMethod_Event +func callbackQInputMethod_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQInputMethodFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QInputMethod) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QInputMethod_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQInputMethod_EventFilter +func callbackQInputMethod_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQInputMethodFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QInputMethod) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QInputMethod_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQInputMethod_MetaObject +func callbackQInputMethod_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQInputMethodFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QInputMethod) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QInputMethod_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQInputMethod_ObjectNameChanged +func callbackQInputMethod_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQInputMethod_TimerEvent +func callbackQInputMethod_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQInputMethodFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QInputMethod) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QInputMethod_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QInputMethodEvent struct { + core.QEvent +} + +type QInputMethodEvent_ITF interface { + core.QEvent_ITF + QInputMethodEvent_PTR() *QInputMethodEvent +} + +func (ptr *QInputMethodEvent) QInputMethodEvent_PTR() *QInputMethodEvent { + return ptr +} + +func (ptr *QInputMethodEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QInputMethodEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQInputMethodEvent(ptr QInputMethodEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QInputMethodEvent_PTR().Pointer() + } + return nil +} + +func NewQInputMethodEventFromPointer(ptr unsafe.Pointer) (n *QInputMethodEvent) { + n = new(QInputMethodEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QInputMethodEvent) DestroyQInputMethodEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QInputMethodEvent__AttributeType +//QInputMethodEvent::AttributeType +type QInputMethodEvent__AttributeType int64 + +const ( + QInputMethodEvent__TextFormat QInputMethodEvent__AttributeType = QInputMethodEvent__AttributeType(0) + QInputMethodEvent__Cursor QInputMethodEvent__AttributeType = QInputMethodEvent__AttributeType(1) + QInputMethodEvent__Language QInputMethodEvent__AttributeType = QInputMethodEvent__AttributeType(2) + QInputMethodEvent__Ruby QInputMethodEvent__AttributeType = QInputMethodEvent__AttributeType(3) + QInputMethodEvent__Selection QInputMethodEvent__AttributeType = QInputMethodEvent__AttributeType(4) +) + +func NewQInputMethodEvent() *QInputMethodEvent { + tmpValue := NewQInputMethodEventFromPointer(C.QInputMethodEvent_NewQInputMethodEvent()) + runtime.SetFinalizer(tmpValue, (*QInputMethodEvent).DestroyQInputMethodEvent) + return tmpValue +} + +func NewQInputMethodEvent3(other QInputMethodEvent_ITF) *QInputMethodEvent { + tmpValue := NewQInputMethodEventFromPointer(C.QInputMethodEvent_NewQInputMethodEvent3(PointerFromQInputMethodEvent(other))) + runtime.SetFinalizer(tmpValue, (*QInputMethodEvent).DestroyQInputMethodEvent) + return tmpValue +} + +func (ptr *QInputMethodEvent) CommitString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QInputMethodEvent_CommitString(ptr.Pointer())) + } + return "" +} + +func (ptr *QInputMethodEvent) PreeditString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QInputMethodEvent_PreeditString(ptr.Pointer())) + } + return "" +} + +func (ptr *QInputMethodEvent) ReplacementLength() int { + if ptr.Pointer() != nil { + return int(int32(C.QInputMethodEvent_ReplacementLength(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QInputMethodEvent) ReplacementStart() int { + if ptr.Pointer() != nil { + return int(int32(C.QInputMethodEvent_ReplacementStart(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QInputMethodEvent) SetCommitString(commitString string, replaceFrom int, replaceLength int) { + if ptr.Pointer() != nil { + var commitStringC *C.char + if commitString != "" { + commitStringC = C.CString(commitString) + defer C.free(unsafe.Pointer(commitStringC)) + } + C.QInputMethodEvent_SetCommitString(ptr.Pointer(), C.struct_QtGui_PackedString{data: commitStringC, len: C.longlong(len(commitString))}, C.int(int32(replaceFrom)), C.int(int32(replaceLength))) + } +} + +func (ptr *QInputMethodEvent) __attrs_newList() unsafe.Pointer { + return C.QInputMethodEvent___attrs_newList(ptr.Pointer()) +} + +func (ptr *QInputMethodEvent) __setAttrs__newList() unsafe.Pointer { + return C.QInputMethodEvent___setAttrs__newList(ptr.Pointer()) +} + +type QInputMethodQueryEvent struct { + core.QEvent +} + +type QInputMethodQueryEvent_ITF interface { + core.QEvent_ITF + QInputMethodQueryEvent_PTR() *QInputMethodQueryEvent +} + +func (ptr *QInputMethodQueryEvent) QInputMethodQueryEvent_PTR() *QInputMethodQueryEvent { + return ptr +} + +func (ptr *QInputMethodQueryEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QInputMethodQueryEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQInputMethodQueryEvent(ptr QInputMethodQueryEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QInputMethodQueryEvent_PTR().Pointer() + } + return nil +} + +func NewQInputMethodQueryEventFromPointer(ptr unsafe.Pointer) (n *QInputMethodQueryEvent) { + n = new(QInputMethodQueryEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QInputMethodQueryEvent) DestroyQInputMethodQueryEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQInputMethodQueryEvent(queries core.Qt__InputMethodQuery) *QInputMethodQueryEvent { + tmpValue := NewQInputMethodQueryEventFromPointer(C.QInputMethodQueryEvent_NewQInputMethodQueryEvent(C.longlong(queries))) + runtime.SetFinalizer(tmpValue, (*QInputMethodQueryEvent).DestroyQInputMethodQueryEvent) + return tmpValue +} + +func (ptr *QInputMethodQueryEvent) Queries() core.Qt__InputMethodQuery { + if ptr.Pointer() != nil { + return core.Qt__InputMethodQuery(C.QInputMethodQueryEvent_Queries(ptr.Pointer())) + } + return 0 +} + +func (ptr *QInputMethodQueryEvent) SetValue(query core.Qt__InputMethodQuery, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QInputMethodQueryEvent_SetValue(ptr.Pointer(), C.longlong(query), core.PointerFromQVariant(value)) + } +} + +func (ptr *QInputMethodQueryEvent) Value(query core.Qt__InputMethodQuery) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QInputMethodQueryEvent_Value(ptr.Pointer(), C.longlong(query))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QInputMethodQueryEvent) __m_values_newList() unsafe.Pointer { + return C.QInputMethodQueryEvent___m_values_newList(ptr.Pointer()) +} + +func (ptr *QInputMethodQueryEvent) __setM_values__newList() unsafe.Pointer { + return C.QInputMethodQueryEvent___setM_values__newList(ptr.Pointer()) +} + +type QIntValidator struct { + QValidator +} + +type QIntValidator_ITF interface { + QValidator_ITF + QIntValidator_PTR() *QIntValidator +} + +func (ptr *QIntValidator) QIntValidator_PTR() *QIntValidator { + return ptr +} + +func (ptr *QIntValidator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QValidator_PTR().Pointer() + } + return nil +} + +func (ptr *QIntValidator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QValidator_PTR().SetPointer(p) + } +} + +func PointerFromQIntValidator(ptr QIntValidator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QIntValidator_PTR().Pointer() + } + return nil +} + +func NewQIntValidatorFromPointer(ptr unsafe.Pointer) (n *QIntValidator) { + n = new(QIntValidator) + n.SetPointer(ptr) + return +} +func NewQIntValidator(parent core.QObject_ITF) *QIntValidator { + tmpValue := NewQIntValidatorFromPointer(C.QIntValidator_NewQIntValidator(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQIntValidator2(minimum int, maximum int, parent core.QObject_ITF) *QIntValidator { + tmpValue := NewQIntValidatorFromPointer(C.QIntValidator_NewQIntValidator2(C.int(int32(minimum)), C.int(int32(maximum)), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QIntValidator) Bottom() int { + if ptr.Pointer() != nil { + return int(int32(C.QIntValidator_Bottom(ptr.Pointer()))) + } + return 0 +} + +//export callbackQIntValidator_BottomChanged +func callbackQIntValidator_BottomChanged(ptr unsafe.Pointer, bottom C.int) { + if signal := qt.GetSignal(ptr, "bottomChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(bottom))) + } + +} + +func (ptr *QIntValidator) ConnectBottomChanged(f func(bottom int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "bottomChanged") { + C.QIntValidator_ConnectBottomChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "bottomChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "bottomChanged"); signal != nil { + f := func(bottom int) { + (*(*func(int))(signal))(bottom) + f(bottom) + } + qt.ConnectSignal(ptr.Pointer(), "bottomChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "bottomChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIntValidator) DisconnectBottomChanged() { + if ptr.Pointer() != nil { + C.QIntValidator_DisconnectBottomChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "bottomChanged") + } +} + +func (ptr *QIntValidator) BottomChanged(bottom int) { + if ptr.Pointer() != nil { + C.QIntValidator_BottomChanged(ptr.Pointer(), C.int(int32(bottom))) + } +} + +func (ptr *QIntValidator) SetBottom(vin int) { + if ptr.Pointer() != nil { + C.QIntValidator_SetBottom(ptr.Pointer(), C.int(int32(vin))) + } +} + +//export callbackQIntValidator_SetRange +func callbackQIntValidator_SetRange(ptr unsafe.Pointer, bottom C.int, top C.int) { + if signal := qt.GetSignal(ptr, "setRange"); signal != nil { + (*(*func(int, int))(signal))(int(int32(bottom)), int(int32(top))) + } else { + NewQIntValidatorFromPointer(ptr).SetRangeDefault(int(int32(bottom)), int(int32(top))) + } +} + +func (ptr *QIntValidator) ConnectSetRange(f func(bottom int, top int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setRange"); signal != nil { + f := func(bottom int, top int) { + (*(*func(int, int))(signal))(bottom, top) + f(bottom, top) + } + qt.ConnectSignal(ptr.Pointer(), "setRange", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setRange", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIntValidator) DisconnectSetRange() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setRange") + } +} + +func (ptr *QIntValidator) SetRange(bottom int, top int) { + if ptr.Pointer() != nil { + C.QIntValidator_SetRange(ptr.Pointer(), C.int(int32(bottom)), C.int(int32(top))) + } +} + +func (ptr *QIntValidator) SetRangeDefault(bottom int, top int) { + if ptr.Pointer() != nil { + C.QIntValidator_SetRangeDefault(ptr.Pointer(), C.int(int32(bottom)), C.int(int32(top))) + } +} + +func (ptr *QIntValidator) SetTop(vin int) { + if ptr.Pointer() != nil { + C.QIntValidator_SetTop(ptr.Pointer(), C.int(int32(vin))) + } +} + +func (ptr *QIntValidator) Top() int { + if ptr.Pointer() != nil { + return int(int32(C.QIntValidator_Top(ptr.Pointer()))) + } + return 0 +} + +//export callbackQIntValidator_TopChanged +func callbackQIntValidator_TopChanged(ptr unsafe.Pointer, top C.int) { + if signal := qt.GetSignal(ptr, "topChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(top))) + } + +} + +func (ptr *QIntValidator) ConnectTopChanged(f func(top int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "topChanged") { + C.QIntValidator_ConnectTopChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "topChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "topChanged"); signal != nil { + f := func(top int) { + (*(*func(int))(signal))(top) + f(top) + } + qt.ConnectSignal(ptr.Pointer(), "topChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "topChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIntValidator) DisconnectTopChanged() { + if ptr.Pointer() != nil { + C.QIntValidator_DisconnectTopChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "topChanged") + } +} + +func (ptr *QIntValidator) TopChanged(top int) { + if ptr.Pointer() != nil { + C.QIntValidator_TopChanged(ptr.Pointer(), C.int(int32(top))) + } +} + +//export callbackQIntValidator_Validate +func callbackQIntValidator_Validate(ptr unsafe.Pointer, input C.struct_QtGui_PackedString, pos C.int) C.longlong { + if signal := qt.GetSignal(ptr, "validate"); signal != nil { + return C.longlong((*(*func(string, int) QValidator__State)(signal))(cGoUnpackString(input), int(int32(pos)))) + } + + return C.longlong(NewQIntValidatorFromPointer(ptr).ValidateDefault(cGoUnpackString(input), int(int32(pos)))) +} + +func (ptr *QIntValidator) ConnectValidate(f func(input string, pos int) QValidator__State) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "validate"); signal != nil { + f := func(input string, pos int) QValidator__State { + (*(*func(string, int) QValidator__State)(signal))(input, pos) + return f(input, pos) + } + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIntValidator) DisconnectValidate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "validate") + } +} + +func (ptr *QIntValidator) Validate(input string, pos int) QValidator__State { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + return QValidator__State(C.QIntValidator_Validate(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}, C.int(int32(pos)))) + } + return 0 +} + +func (ptr *QIntValidator) ValidateDefault(input string, pos int) QValidator__State { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + return QValidator__State(C.QIntValidator_ValidateDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}, C.int(int32(pos)))) + } + return 0 +} + +//export callbackQIntValidator_DestroyQIntValidator +func callbackQIntValidator_DestroyQIntValidator(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QIntValidator"); signal != nil { + (*(*func())(signal))() + } else { + NewQIntValidatorFromPointer(ptr).DestroyQIntValidatorDefault() + } +} + +func (ptr *QIntValidator) ConnectDestroyQIntValidator(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QIntValidator"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QIntValidator", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QIntValidator", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QIntValidator) DisconnectDestroyQIntValidator() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QIntValidator") + } +} + +func (ptr *QIntValidator) DestroyQIntValidator() { + if ptr.Pointer() != nil { + C.QIntValidator_DestroyQIntValidator(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QIntValidator) DestroyQIntValidatorDefault() { + if ptr.Pointer() != nil { + C.QIntValidator_DestroyQIntValidatorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QKeyEvent struct { + QInputEvent +} + +type QKeyEvent_ITF interface { + QInputEvent_ITF + QKeyEvent_PTR() *QKeyEvent +} + +func (ptr *QKeyEvent) QKeyEvent_PTR() *QKeyEvent { + return ptr +} + +func (ptr *QKeyEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QInputEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QKeyEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QInputEvent_PTR().SetPointer(p) + } +} + +func PointerFromQKeyEvent(ptr QKeyEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QKeyEvent_PTR().Pointer() + } + return nil +} + +func NewQKeyEventFromPointer(ptr unsafe.Pointer) (n *QKeyEvent) { + n = new(QKeyEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QKeyEvent) DestroyQKeyEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQKeyEvent(ty core.QEvent__Type, key int, modifiers core.Qt__KeyboardModifier, text string, autorep bool, count uint16) *QKeyEvent { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQKeyEventFromPointer(C.QKeyEvent_NewQKeyEvent(C.longlong(ty), C.int(int32(key)), C.longlong(modifiers), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.char(int8(qt.GoBoolToInt(autorep))), C.ushort(count))) + runtime.SetFinalizer(tmpValue, (*QKeyEvent).DestroyQKeyEvent) + return tmpValue +} + +func NewQKeyEvent2(ty core.QEvent__Type, key int, modifiers core.Qt__KeyboardModifier, nativeScanCode uint, nativeVirtualKey uint, nativeModifiers uint, text string, autorep bool, count uint16) *QKeyEvent { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQKeyEventFromPointer(C.QKeyEvent_NewQKeyEvent2(C.longlong(ty), C.int(int32(key)), C.longlong(modifiers), C.uint(uint32(nativeScanCode)), C.uint(uint32(nativeVirtualKey)), C.uint(uint32(nativeModifiers)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.char(int8(qt.GoBoolToInt(autorep))), C.ushort(count))) + runtime.SetFinalizer(tmpValue, (*QKeyEvent).DestroyQKeyEvent) + return tmpValue +} + +func (ptr *QKeyEvent) Count() int { + if ptr.Pointer() != nil { + return int(int32(C.QKeyEvent_Count(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QKeyEvent) IsAutoRepeat() bool { + if ptr.Pointer() != nil { + return int8(C.QKeyEvent_IsAutoRepeat(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QKeyEvent) Key() int { + if ptr.Pointer() != nil { + return int(int32(C.QKeyEvent_Key(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QKeyEvent) Matches(key QKeySequence__StandardKey) bool { + if ptr.Pointer() != nil { + return int8(C.QKeyEvent_Matches(ptr.Pointer(), C.longlong(key))) != 0 + } + return false +} + +func (ptr *QKeyEvent) NativeModifiers() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QKeyEvent_NativeModifiers(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QKeyEvent) NativeScanCode() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QKeyEvent_NativeScanCode(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QKeyEvent) NativeVirtualKey() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QKeyEvent_NativeVirtualKey(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QKeyEvent) Text() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QKeyEvent_Text(ptr.Pointer())) + } + return "" +} + +type QKeySequence struct { + ptr unsafe.Pointer +} + +type QKeySequence_ITF interface { + QKeySequence_PTR() *QKeySequence +} + +func (ptr *QKeySequence) QKeySequence_PTR() *QKeySequence { + return ptr +} + +func (ptr *QKeySequence) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QKeySequence) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQKeySequence(ptr QKeySequence_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QKeySequence_PTR().Pointer() + } + return nil +} + +func NewQKeySequenceFromPointer(ptr unsafe.Pointer) (n *QKeySequence) { + n = new(QKeySequence) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QKeySequence__StandardKey +//QKeySequence::StandardKey +type QKeySequence__StandardKey int64 + +const ( + QKeySequence__UnknownKey QKeySequence__StandardKey = QKeySequence__StandardKey(0) + QKeySequence__HelpContents QKeySequence__StandardKey = QKeySequence__StandardKey(1) + QKeySequence__WhatsThis QKeySequence__StandardKey = QKeySequence__StandardKey(2) + QKeySequence__Open QKeySequence__StandardKey = QKeySequence__StandardKey(3) + QKeySequence__Close QKeySequence__StandardKey = QKeySequence__StandardKey(4) + QKeySequence__Save QKeySequence__StandardKey = QKeySequence__StandardKey(5) + QKeySequence__New QKeySequence__StandardKey = QKeySequence__StandardKey(6) + QKeySequence__Delete QKeySequence__StandardKey = QKeySequence__StandardKey(7) + QKeySequence__Cut QKeySequence__StandardKey = QKeySequence__StandardKey(8) + QKeySequence__Copy QKeySequence__StandardKey = QKeySequence__StandardKey(9) + QKeySequence__Paste QKeySequence__StandardKey = QKeySequence__StandardKey(10) + QKeySequence__Undo QKeySequence__StandardKey = QKeySequence__StandardKey(11) + QKeySequence__Redo QKeySequence__StandardKey = QKeySequence__StandardKey(12) + QKeySequence__Back QKeySequence__StandardKey = QKeySequence__StandardKey(13) + QKeySequence__Forward QKeySequence__StandardKey = QKeySequence__StandardKey(14) + QKeySequence__Refresh QKeySequence__StandardKey = QKeySequence__StandardKey(15) + QKeySequence__ZoomIn QKeySequence__StandardKey = QKeySequence__StandardKey(16) + QKeySequence__ZoomOut QKeySequence__StandardKey = QKeySequence__StandardKey(17) + QKeySequence__Print QKeySequence__StandardKey = QKeySequence__StandardKey(18) + QKeySequence__AddTab QKeySequence__StandardKey = QKeySequence__StandardKey(19) + QKeySequence__NextChild QKeySequence__StandardKey = QKeySequence__StandardKey(20) + QKeySequence__PreviousChild QKeySequence__StandardKey = QKeySequence__StandardKey(21) + QKeySequence__Find QKeySequence__StandardKey = QKeySequence__StandardKey(22) + QKeySequence__FindNext QKeySequence__StandardKey = QKeySequence__StandardKey(23) + QKeySequence__FindPrevious QKeySequence__StandardKey = QKeySequence__StandardKey(24) + QKeySequence__Replace QKeySequence__StandardKey = QKeySequence__StandardKey(25) + QKeySequence__SelectAll QKeySequence__StandardKey = QKeySequence__StandardKey(26) + QKeySequence__Bold QKeySequence__StandardKey = QKeySequence__StandardKey(27) + QKeySequence__Italic QKeySequence__StandardKey = QKeySequence__StandardKey(28) + QKeySequence__Underline QKeySequence__StandardKey = QKeySequence__StandardKey(29) + QKeySequence__MoveToNextChar QKeySequence__StandardKey = QKeySequence__StandardKey(30) + QKeySequence__MoveToPreviousChar QKeySequence__StandardKey = QKeySequence__StandardKey(31) + QKeySequence__MoveToNextWord QKeySequence__StandardKey = QKeySequence__StandardKey(32) + QKeySequence__MoveToPreviousWord QKeySequence__StandardKey = QKeySequence__StandardKey(33) + QKeySequence__MoveToNextLine QKeySequence__StandardKey = QKeySequence__StandardKey(34) + QKeySequence__MoveToPreviousLine QKeySequence__StandardKey = QKeySequence__StandardKey(35) + QKeySequence__MoveToNextPage QKeySequence__StandardKey = QKeySequence__StandardKey(36) + QKeySequence__MoveToPreviousPage QKeySequence__StandardKey = QKeySequence__StandardKey(37) + QKeySequence__MoveToStartOfLine QKeySequence__StandardKey = QKeySequence__StandardKey(38) + QKeySequence__MoveToEndOfLine QKeySequence__StandardKey = QKeySequence__StandardKey(39) + QKeySequence__MoveToStartOfBlock QKeySequence__StandardKey = QKeySequence__StandardKey(40) + QKeySequence__MoveToEndOfBlock QKeySequence__StandardKey = QKeySequence__StandardKey(41) + QKeySequence__MoveToStartOfDocument QKeySequence__StandardKey = QKeySequence__StandardKey(42) + QKeySequence__MoveToEndOfDocument QKeySequence__StandardKey = QKeySequence__StandardKey(43) + QKeySequence__SelectNextChar QKeySequence__StandardKey = QKeySequence__StandardKey(44) + QKeySequence__SelectPreviousChar QKeySequence__StandardKey = QKeySequence__StandardKey(45) + QKeySequence__SelectNextWord QKeySequence__StandardKey = QKeySequence__StandardKey(46) + QKeySequence__SelectPreviousWord QKeySequence__StandardKey = QKeySequence__StandardKey(47) + QKeySequence__SelectNextLine QKeySequence__StandardKey = QKeySequence__StandardKey(48) + QKeySequence__SelectPreviousLine QKeySequence__StandardKey = QKeySequence__StandardKey(49) + QKeySequence__SelectNextPage QKeySequence__StandardKey = QKeySequence__StandardKey(50) + QKeySequence__SelectPreviousPage QKeySequence__StandardKey = QKeySequence__StandardKey(51) + QKeySequence__SelectStartOfLine QKeySequence__StandardKey = QKeySequence__StandardKey(52) + QKeySequence__SelectEndOfLine QKeySequence__StandardKey = QKeySequence__StandardKey(53) + QKeySequence__SelectStartOfBlock QKeySequence__StandardKey = QKeySequence__StandardKey(54) + QKeySequence__SelectEndOfBlock QKeySequence__StandardKey = QKeySequence__StandardKey(55) + QKeySequence__SelectStartOfDocument QKeySequence__StandardKey = QKeySequence__StandardKey(56) + QKeySequence__SelectEndOfDocument QKeySequence__StandardKey = QKeySequence__StandardKey(57) + QKeySequence__DeleteStartOfWord QKeySequence__StandardKey = QKeySequence__StandardKey(58) + QKeySequence__DeleteEndOfWord QKeySequence__StandardKey = QKeySequence__StandardKey(59) + QKeySequence__DeleteEndOfLine QKeySequence__StandardKey = QKeySequence__StandardKey(60) + QKeySequence__InsertParagraphSeparator QKeySequence__StandardKey = QKeySequence__StandardKey(61) + QKeySequence__InsertLineSeparator QKeySequence__StandardKey = QKeySequence__StandardKey(62) + QKeySequence__SaveAs QKeySequence__StandardKey = QKeySequence__StandardKey(63) + QKeySequence__Preferences QKeySequence__StandardKey = QKeySequence__StandardKey(64) + QKeySequence__Quit QKeySequence__StandardKey = QKeySequence__StandardKey(65) + QKeySequence__FullScreen QKeySequence__StandardKey = QKeySequence__StandardKey(66) + QKeySequence__Deselect QKeySequence__StandardKey = QKeySequence__StandardKey(67) + QKeySequence__DeleteCompleteLine QKeySequence__StandardKey = QKeySequence__StandardKey(68) + QKeySequence__Backspace QKeySequence__StandardKey = QKeySequence__StandardKey(69) + QKeySequence__Cancel QKeySequence__StandardKey = QKeySequence__StandardKey(70) +) + +//go:generate stringer -type=QKeySequence__SequenceFormat +//QKeySequence::SequenceFormat +type QKeySequence__SequenceFormat int64 + +const ( + QKeySequence__NativeText QKeySequence__SequenceFormat = QKeySequence__SequenceFormat(0) + QKeySequence__PortableText QKeySequence__SequenceFormat = QKeySequence__SequenceFormat(1) +) + +//go:generate stringer -type=QKeySequence__SequenceMatch +//QKeySequence::SequenceMatch +type QKeySequence__SequenceMatch int64 + +const ( + QKeySequence__NoMatch QKeySequence__SequenceMatch = QKeySequence__SequenceMatch(0) + QKeySequence__PartialMatch QKeySequence__SequenceMatch = QKeySequence__SequenceMatch(1) + QKeySequence__ExactMatch QKeySequence__SequenceMatch = QKeySequence__SequenceMatch(2) +) + +func NewQKeySequence() *QKeySequence { + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence_NewQKeySequence()) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue +} + +func NewQKeySequence2(key string, format QKeySequence__SequenceFormat) *QKeySequence { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence_NewQKeySequence2(C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue +} + +func NewQKeySequence3(k1 int, k2 int, k3 int, k4 int) *QKeySequence { + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence_NewQKeySequence3(C.int(int32(k1)), C.int(int32(k2)), C.int(int32(k3)), C.int(int32(k4)))) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue +} + +func NewQKeySequence4(keysequence QKeySequence_ITF) *QKeySequence { + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence_NewQKeySequence4(PointerFromQKeySequence(keysequence))) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue +} + +func NewQKeySequence5(key QKeySequence__StandardKey) *QKeySequence { + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence_NewQKeySequence5(C.longlong(key))) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue +} + +func (ptr *QKeySequence) Count() int { + if ptr.Pointer() != nil { + return int(int32(C.QKeySequence_Count(ptr.Pointer()))) + } + return 0 +} + +func QKeySequence_FromString(str string, format QKeySequence__SequenceFormat) *QKeySequence { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence_QKeySequence_FromString(C.struct_QtGui_PackedString{data: strC, len: C.longlong(len(str))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue +} + +func (ptr *QKeySequence) FromString(str string, format QKeySequence__SequenceFormat) *QKeySequence { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence_QKeySequence_FromString(C.struct_QtGui_PackedString{data: strC, len: C.longlong(len(str))}, C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue +} + +func (ptr *QKeySequence) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QKeySequence_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func QKeySequence_KeyBindings(key QKeySequence__StandardKey) []*QKeySequence { + return func(l C.struct_QtGui_PackedList) []*QKeySequence { + out := make([]*QKeySequence, int(l.len)) + tmpList := NewQKeySequenceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__keyBindings_atList(i) + } + return out + }(C.QKeySequence_QKeySequence_KeyBindings(C.longlong(key))) +} + +func (ptr *QKeySequence) KeyBindings(key QKeySequence__StandardKey) []*QKeySequence { + return func(l C.struct_QtGui_PackedList) []*QKeySequence { + out := make([]*QKeySequence, int(l.len)) + tmpList := NewQKeySequenceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__keyBindings_atList(i) + } + return out + }(C.QKeySequence_QKeySequence_KeyBindings(C.longlong(key))) +} + +func QKeySequence_ListFromString(str string, format QKeySequence__SequenceFormat) []*QKeySequence { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return func(l C.struct_QtGui_PackedList) []*QKeySequence { + out := make([]*QKeySequence, int(l.len)) + tmpList := NewQKeySequenceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__listFromString_atList(i) + } + return out + }(C.QKeySequence_QKeySequence_ListFromString(C.struct_QtGui_PackedString{data: strC, len: C.longlong(len(str))}, C.longlong(format))) +} + +func (ptr *QKeySequence) ListFromString(str string, format QKeySequence__SequenceFormat) []*QKeySequence { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + return func(l C.struct_QtGui_PackedList) []*QKeySequence { + out := make([]*QKeySequence, int(l.len)) + tmpList := NewQKeySequenceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__listFromString_atList(i) + } + return out + }(C.QKeySequence_QKeySequence_ListFromString(C.struct_QtGui_PackedString{data: strC, len: C.longlong(len(str))}, C.longlong(format))) +} + +func QKeySequence_ListToString(list []*QKeySequence, format QKeySequence__SequenceFormat) string { + return cGoUnpackString(C.QKeySequence_QKeySequence_ListToString(func() unsafe.Pointer { + tmpList := NewQKeySequenceFromPointer(NewQKeySequenceFromPointer(nil).__listToString_list_newList()) + for _, v := range list { + tmpList.__listToString_list_setList(v) + } + return tmpList.Pointer() + }(), C.longlong(format))) +} + +func (ptr *QKeySequence) ListToString(list []*QKeySequence, format QKeySequence__SequenceFormat) string { + return cGoUnpackString(C.QKeySequence_QKeySequence_ListToString(func() unsafe.Pointer { + tmpList := NewQKeySequenceFromPointer(NewQKeySequenceFromPointer(nil).__listToString_list_newList()) + for _, v := range list { + tmpList.__listToString_list_setList(v) + } + return tmpList.Pointer() + }(), C.longlong(format))) +} + +func (ptr *QKeySequence) Matches(seq QKeySequence_ITF) QKeySequence__SequenceMatch { + if ptr.Pointer() != nil { + return QKeySequence__SequenceMatch(C.QKeySequence_Matches(ptr.Pointer(), PointerFromQKeySequence(seq))) + } + return 0 +} + +func QKeySequence_Mnemonic(text string) *QKeySequence { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence_QKeySequence_Mnemonic(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue +} + +func (ptr *QKeySequence) Mnemonic(text string) *QKeySequence { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence_QKeySequence_Mnemonic(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue +} + +func (ptr *QKeySequence) Swap(other QKeySequence_ITF) { + if ptr.Pointer() != nil { + C.QKeySequence_Swap(ptr.Pointer(), PointerFromQKeySequence(other)) + } +} + +func (ptr *QKeySequence) ToString(format QKeySequence__SequenceFormat) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QKeySequence_ToString(ptr.Pointer(), C.longlong(format))) + } + return "" +} + +func (ptr *QKeySequence) DestroyQKeySequence() { + if ptr.Pointer() != nil { + C.QKeySequence_DestroyQKeySequence(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QKeySequence) __keyBindings_atList(i int) *QKeySequence { + if ptr.Pointer() != nil { + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence___keyBindings_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue + } + return nil +} + +func (ptr *QKeySequence) __keyBindings_setList(i QKeySequence_ITF) { + if ptr.Pointer() != nil { + C.QKeySequence___keyBindings_setList(ptr.Pointer(), PointerFromQKeySequence(i)) + } +} + +func (ptr *QKeySequence) __keyBindings_newList() unsafe.Pointer { + return C.QKeySequence___keyBindings_newList(ptr.Pointer()) +} + +func (ptr *QKeySequence) __listFromString_atList(i int) *QKeySequence { + if ptr.Pointer() != nil { + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence___listFromString_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue + } + return nil +} + +func (ptr *QKeySequence) __listFromString_setList(i QKeySequence_ITF) { + if ptr.Pointer() != nil { + C.QKeySequence___listFromString_setList(ptr.Pointer(), PointerFromQKeySequence(i)) + } +} + +func (ptr *QKeySequence) __listFromString_newList() unsafe.Pointer { + return C.QKeySequence___listFromString_newList(ptr.Pointer()) +} + +func (ptr *QKeySequence) __listToString_list_atList(i int) *QKeySequence { + if ptr.Pointer() != nil { + tmpValue := NewQKeySequenceFromPointer(C.QKeySequence___listToString_list_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QKeySequence).DestroyQKeySequence) + return tmpValue + } + return nil +} + +func (ptr *QKeySequence) __listToString_list_setList(i QKeySequence_ITF) { + if ptr.Pointer() != nil { + C.QKeySequence___listToString_list_setList(ptr.Pointer(), PointerFromQKeySequence(i)) + } +} + +func (ptr *QKeySequence) __listToString_list_newList() unsafe.Pointer { + return C.QKeySequence___listToString_list_newList(ptr.Pointer()) +} + +type QLinearGradient struct { + QGradient +} + +type QLinearGradient_ITF interface { + QGradient_ITF + QLinearGradient_PTR() *QLinearGradient +} + +func (ptr *QLinearGradient) QLinearGradient_PTR() *QLinearGradient { + return ptr +} + +func (ptr *QLinearGradient) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QGradient_PTR().Pointer() + } + return nil +} + +func (ptr *QLinearGradient) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QGradient_PTR().SetPointer(p) + } +} + +func PointerFromQLinearGradient(ptr QLinearGradient_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLinearGradient_PTR().Pointer() + } + return nil +} + +func NewQLinearGradientFromPointer(ptr unsafe.Pointer) (n *QLinearGradient) { + n = new(QLinearGradient) + n.SetPointer(ptr) + return +} + +func (ptr *QLinearGradient) DestroyQLinearGradient() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQLinearGradient() *QLinearGradient { + tmpValue := NewQLinearGradientFromPointer(C.QLinearGradient_NewQLinearGradient()) + runtime.SetFinalizer(tmpValue, (*QLinearGradient).DestroyQLinearGradient) + return tmpValue +} + +func NewQLinearGradient2(start core.QPointF_ITF, finalStop core.QPointF_ITF) *QLinearGradient { + tmpValue := NewQLinearGradientFromPointer(C.QLinearGradient_NewQLinearGradient2(core.PointerFromQPointF(start), core.PointerFromQPointF(finalStop))) + runtime.SetFinalizer(tmpValue, (*QLinearGradient).DestroyQLinearGradient) + return tmpValue +} + +func NewQLinearGradient3(x1 float64, y1 float64, x2 float64, y2 float64) *QLinearGradient { + tmpValue := NewQLinearGradientFromPointer(C.QLinearGradient_NewQLinearGradient3(C.double(x1), C.double(y1), C.double(x2), C.double(y2))) + runtime.SetFinalizer(tmpValue, (*QLinearGradient).DestroyQLinearGradient) + return tmpValue +} + +func (ptr *QLinearGradient) FinalStop() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QLinearGradient_FinalStop(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QLinearGradient) SetFinalStop(stop core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QLinearGradient_SetFinalStop(ptr.Pointer(), core.PointerFromQPointF(stop)) + } +} + +func (ptr *QLinearGradient) SetFinalStop2(x float64, y float64) { + if ptr.Pointer() != nil { + C.QLinearGradient_SetFinalStop2(ptr.Pointer(), C.double(x), C.double(y)) + } +} + +func (ptr *QLinearGradient) SetStart(start core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QLinearGradient_SetStart(ptr.Pointer(), core.PointerFromQPointF(start)) + } +} + +func (ptr *QLinearGradient) SetStart2(x float64, y float64) { + if ptr.Pointer() != nil { + C.QLinearGradient_SetStart2(ptr.Pointer(), C.double(x), C.double(y)) + } +} + +func (ptr *QLinearGradient) Start() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QLinearGradient_Start(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +type QMatrix struct { + ptr unsafe.Pointer +} + +type QMatrix_ITF interface { + QMatrix_PTR() *QMatrix +} + +func (ptr *QMatrix) QMatrix_PTR() *QMatrix { + return ptr +} + +func (ptr *QMatrix) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMatrix) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMatrix(ptr QMatrix_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMatrix_PTR().Pointer() + } + return nil +} + +func NewQMatrixFromPointer(ptr unsafe.Pointer) (n *QMatrix) { + n = new(QMatrix) + n.SetPointer(ptr) + return +} + +func (ptr *QMatrix) DestroyQMatrix() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQMatrix2() *QMatrix { + tmpValue := NewQMatrixFromPointer(C.QMatrix_NewQMatrix2()) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue +} + +func NewQMatrix3(m11 float64, m12 float64, m21 float64, m22 float64, dx float64, dy float64) *QMatrix { + tmpValue := NewQMatrixFromPointer(C.QMatrix_NewQMatrix3(C.double(m11), C.double(m12), C.double(m21), C.double(m22), C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue +} + +func NewQMatrix5(matrix QMatrix_ITF) *QMatrix { + tmpValue := NewQMatrixFromPointer(C.QMatrix_NewQMatrix5(PointerFromQMatrix(matrix))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue +} + +func (ptr *QMatrix) Determinant() float64 { + if ptr.Pointer() != nil { + return float64(C.QMatrix_Determinant(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix) Dx() float64 { + if ptr.Pointer() != nil { + return float64(C.QMatrix_Dx(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix) Dy() float64 { + if ptr.Pointer() != nil { + return float64(C.QMatrix_Dy(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix) Inverted(invertible *bool) *QMatrix { + if ptr.Pointer() != nil { + var invertibleC C.char + if invertible != nil { + invertibleC = C.char(int8(qt.GoBoolToInt(*invertible))) + defer func() { *invertible = int8(invertibleC) != 0 }() + } + tmpValue := NewQMatrixFromPointer(C.QMatrix_Inverted(ptr.Pointer(), &invertibleC)) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) IsIdentity() bool { + if ptr.Pointer() != nil { + return int8(C.QMatrix_IsIdentity(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMatrix) IsInvertible() bool { + if ptr.Pointer() != nil { + return int8(C.QMatrix_IsInvertible(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMatrix) M11() float64 { + if ptr.Pointer() != nil { + return float64(C.QMatrix_M11(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix) M12() float64 { + if ptr.Pointer() != nil { + return float64(C.QMatrix_M12(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix) M21() float64 { + if ptr.Pointer() != nil { + return float64(C.QMatrix_M21(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix) M22() float64 { + if ptr.Pointer() != nil { + return float64(C.QMatrix_M22(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix) Map(x float64, y float64, tx float64, ty float64) { + if ptr.Pointer() != nil { + C.QMatrix_Map(ptr.Pointer(), C.double(x), C.double(y), C.double(tx), C.double(ty)) + } +} + +func (ptr *QMatrix) Map2(x int, y int, tx int, ty int) { + if ptr.Pointer() != nil { + C.QMatrix_Map2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(tx)), C.int(int32(ty))) + } +} + +func (ptr *QMatrix) Map3(point core.QPoint_ITF) *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QMatrix_Map3(ptr.Pointer(), core.PointerFromQPoint(point))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Map4(point core.QPointF_ITF) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QMatrix_Map4(ptr.Pointer(), core.PointerFromQPointF(point))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Map5(line core.QLine_ITF) *core.QLine { + if ptr.Pointer() != nil { + tmpValue := core.NewQLineFromPointer(C.QMatrix_Map5(ptr.Pointer(), core.PointerFromQLine(line))) + runtime.SetFinalizer(tmpValue, (*core.QLine).DestroyQLine) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Map6(line core.QLineF_ITF) *core.QLineF { + if ptr.Pointer() != nil { + tmpValue := core.NewQLineFFromPointer(C.QMatrix_Map6(ptr.Pointer(), core.PointerFromQLineF(line))) + runtime.SetFinalizer(tmpValue, (*core.QLineF).DestroyQLineF) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Map7(polygon QPolygonF_ITF) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QMatrix_Map7(ptr.Pointer(), PointerFromQPolygonF(polygon))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Map8(polygon QPolygon_ITF) *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QMatrix_Map8(ptr.Pointer(), PointerFromQPolygon(polygon))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Map9(region QRegion_ITF) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QMatrix_Map9(ptr.Pointer(), PointerFromQRegion(region))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Map10(path QPainterPath_ITF) *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QMatrix_Map10(ptr.Pointer(), PointerFromQPainterPath(path))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) MapRect(rectangle core.QRectF_ITF) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QMatrix_MapRect(ptr.Pointer(), core.PointerFromQRectF(rectangle))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) MapRect2(rectangle core.QRect_ITF) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QMatrix_MapRect2(ptr.Pointer(), core.PointerFromQRect(rectangle))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) MapToPolygon(rectangle core.QRect_ITF) *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QMatrix_MapToPolygon(ptr.Pointer(), core.PointerFromQRect(rectangle))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Reset() { + if ptr.Pointer() != nil { + C.QMatrix_Reset(ptr.Pointer()) + } +} + +func (ptr *QMatrix) Rotate(degrees float64) *QMatrix { + if ptr.Pointer() != nil { + tmpValue := NewQMatrixFromPointer(C.QMatrix_Rotate(ptr.Pointer(), C.double(degrees))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Scale(sx float64, sy float64) *QMatrix { + if ptr.Pointer() != nil { + tmpValue := NewQMatrixFromPointer(C.QMatrix_Scale(ptr.Pointer(), C.double(sx), C.double(sy))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) SetMatrix(m11 float64, m12 float64, m21 float64, m22 float64, dx float64, dy float64) { + if ptr.Pointer() != nil { + C.QMatrix_SetMatrix(ptr.Pointer(), C.double(m11), C.double(m12), C.double(m21), C.double(m22), C.double(dx), C.double(dy)) + } +} + +func (ptr *QMatrix) Shear(sh float64, sv float64) *QMatrix { + if ptr.Pointer() != nil { + tmpValue := NewQMatrixFromPointer(C.QMatrix_Shear(ptr.Pointer(), C.double(sh), C.double(sv))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue + } + return nil +} + +func (ptr *QMatrix) Translate(dx float64, dy float64) *QMatrix { + if ptr.Pointer() != nil { + tmpValue := NewQMatrixFromPointer(C.QMatrix_Translate(ptr.Pointer(), C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue + } + return nil +} + +type QMatrix4x4 struct { + ptr unsafe.Pointer +} + +type QMatrix4x4_ITF interface { + QMatrix4x4_PTR() *QMatrix4x4 +} + +func (ptr *QMatrix4x4) QMatrix4x4_PTR() *QMatrix4x4 { + return ptr +} + +func (ptr *QMatrix4x4) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMatrix4x4) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMatrix4x4(ptr QMatrix4x4_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMatrix4x4_PTR().Pointer() + } + return nil +} + +func NewQMatrix4x4FromPointer(ptr unsafe.Pointer) (n *QMatrix4x4) { + n = new(QMatrix4x4) + n.SetPointer(ptr) + return +} + +func (ptr *QMatrix4x4) DestroyQMatrix4x4() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQMatrix4x4() *QMatrix4x4 { + tmpValue := NewQMatrix4x4FromPointer(C.QMatrix4x4_NewQMatrix4x4()) + runtime.SetFinalizer(tmpValue, (*QMatrix4x4).DestroyQMatrix4x4) + return tmpValue +} + +func NewQMatrix4x43(values float32) *QMatrix4x4 { + tmpValue := NewQMatrix4x4FromPointer(C.QMatrix4x4_NewQMatrix4x43(C.float(values))) + runtime.SetFinalizer(tmpValue, (*QMatrix4x4).DestroyQMatrix4x4) + return tmpValue +} + +func NewQMatrix4x44(m11 float32, m12 float32, m13 float32, m14 float32, m21 float32, m22 float32, m23 float32, m24 float32, m31 float32, m32 float32, m33 float32, m34 float32, m41 float32, m42 float32, m43 float32, m44 float32) *QMatrix4x4 { + tmpValue := NewQMatrix4x4FromPointer(C.QMatrix4x4_NewQMatrix4x44(C.float(m11), C.float(m12), C.float(m13), C.float(m14), C.float(m21), C.float(m22), C.float(m23), C.float(m24), C.float(m31), C.float(m32), C.float(m33), C.float(m34), C.float(m41), C.float(m42), C.float(m43), C.float(m44))) + runtime.SetFinalizer(tmpValue, (*QMatrix4x4).DestroyQMatrix4x4) + return tmpValue +} + +func NewQMatrix4x46(matrix QMatrix_ITF) *QMatrix4x4 { + tmpValue := NewQMatrix4x4FromPointer(C.QMatrix4x4_NewQMatrix4x46(PointerFromQMatrix(matrix))) + runtime.SetFinalizer(tmpValue, (*QMatrix4x4).DestroyQMatrix4x4) + return tmpValue +} + +func (ptr *QMatrix4x4) Column(index int) *QVector4D { + if ptr.Pointer() != nil { + tmpValue := NewQVector4DFromPointer(C.QMatrix4x4_Column(ptr.Pointer(), C.int(int32(index)))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) ConstData() float32 { + if ptr.Pointer() != nil { + return float32(C.QMatrix4x4_ConstData(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix4x4) CopyDataTo(values float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_CopyDataTo(ptr.Pointer(), C.float(values)) + } +} + +func (ptr *QMatrix4x4) Data() float32 { + if ptr.Pointer() != nil { + return float32(C.QMatrix4x4_Data(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix4x4) Data2() float32 { + if ptr.Pointer() != nil { + return float32(C.QMatrix4x4_Data2(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix4x4) Determinant() float64 { + if ptr.Pointer() != nil { + return float64(C.QMatrix4x4_Determinant(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMatrix4x4) Fill(value float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Fill(ptr.Pointer(), C.float(value)) + } +} + +func (ptr *QMatrix4x4) Frustum(left float32, right float32, bottom float32, top float32, nearPlane float32, farPlane float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Frustum(ptr.Pointer(), C.float(left), C.float(right), C.float(bottom), C.float(top), C.float(nearPlane), C.float(farPlane)) + } +} + +func (ptr *QMatrix4x4) Inverted(invertible *bool) *QMatrix4x4 { + if ptr.Pointer() != nil { + var invertibleC C.char + if invertible != nil { + invertibleC = C.char(int8(qt.GoBoolToInt(*invertible))) + defer func() { *invertible = int8(invertibleC) != 0 }() + } + tmpValue := NewQMatrix4x4FromPointer(C.QMatrix4x4_Inverted(ptr.Pointer(), &invertibleC)) + runtime.SetFinalizer(tmpValue, (*QMatrix4x4).DestroyQMatrix4x4) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) IsAffine() bool { + if ptr.Pointer() != nil { + return int8(C.QMatrix4x4_IsAffine(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMatrix4x4) IsIdentity() bool { + if ptr.Pointer() != nil { + return int8(C.QMatrix4x4_IsIdentity(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMatrix4x4) LookAt(eye QVector3D_ITF, center QVector3D_ITF, up QVector3D_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_LookAt(ptr.Pointer(), PointerFromQVector3D(eye), PointerFromQVector3D(center), PointerFromQVector3D(up)) + } +} + +func (ptr *QMatrix4x4) Map(point core.QPoint_ITF) *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QMatrix4x4_Map(ptr.Pointer(), core.PointerFromQPoint(point))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) Map2(point core.QPointF_ITF) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QMatrix4x4_Map2(ptr.Pointer(), core.PointerFromQPointF(point))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) Map3(point QVector3D_ITF) *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QMatrix4x4_Map3(ptr.Pointer(), PointerFromQVector3D(point))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) Map4(point QVector4D_ITF) *QVector4D { + if ptr.Pointer() != nil { + tmpValue := NewQVector4DFromPointer(C.QMatrix4x4_Map4(ptr.Pointer(), PointerFromQVector4D(point))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) MapRect(rect core.QRect_ITF) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QMatrix4x4_MapRect(ptr.Pointer(), core.PointerFromQRect(rect))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) MapRect2(rect core.QRectF_ITF) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QMatrix4x4_MapRect2(ptr.Pointer(), core.PointerFromQRectF(rect))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) MapVector(vector QVector3D_ITF) *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QMatrix4x4_MapVector(ptr.Pointer(), PointerFromQVector3D(vector))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) Optimize() { + if ptr.Pointer() != nil { + C.QMatrix4x4_Optimize(ptr.Pointer()) + } +} + +func (ptr *QMatrix4x4) Ortho(left float32, right float32, bottom float32, top float32, nearPlane float32, farPlane float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Ortho(ptr.Pointer(), C.float(left), C.float(right), C.float(bottom), C.float(top), C.float(nearPlane), C.float(farPlane)) + } +} + +func (ptr *QMatrix4x4) Ortho2(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Ortho2(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +func (ptr *QMatrix4x4) Ortho3(rect core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Ortho3(ptr.Pointer(), core.PointerFromQRectF(rect)) + } +} + +func (ptr *QMatrix4x4) Perspective(verticalAngle float32, aspectRatio float32, nearPlane float32, farPlane float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Perspective(ptr.Pointer(), C.float(verticalAngle), C.float(aspectRatio), C.float(nearPlane), C.float(farPlane)) + } +} + +func (ptr *QMatrix4x4) Rotate(angle float32, vector QVector3D_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Rotate(ptr.Pointer(), C.float(angle), PointerFromQVector3D(vector)) + } +} + +func (ptr *QMatrix4x4) Rotate2(angle float32, x float32, y float32, z float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Rotate2(ptr.Pointer(), C.float(angle), C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QMatrix4x4) Rotate3(quaternion QQuaternion_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Rotate3(ptr.Pointer(), PointerFromQQuaternion(quaternion)) + } +} + +func (ptr *QMatrix4x4) Row(index int) *QVector4D { + if ptr.Pointer() != nil { + tmpValue := NewQVector4DFromPointer(C.QMatrix4x4_Row(ptr.Pointer(), C.int(int32(index)))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) Scale(vector QVector3D_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Scale(ptr.Pointer(), PointerFromQVector3D(vector)) + } +} + +func (ptr *QMatrix4x4) Scale2(x float32, y float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Scale2(ptr.Pointer(), C.float(x), C.float(y)) + } +} + +func (ptr *QMatrix4x4) Scale3(x float32, y float32, z float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Scale3(ptr.Pointer(), C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QMatrix4x4) Scale4(factor float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Scale4(ptr.Pointer(), C.float(factor)) + } +} + +func (ptr *QMatrix4x4) SetColumn(index int, value QVector4D_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_SetColumn(ptr.Pointer(), C.int(int32(index)), PointerFromQVector4D(value)) + } +} + +func (ptr *QMatrix4x4) SetRow(index int, value QVector4D_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_SetRow(ptr.Pointer(), C.int(int32(index)), PointerFromQVector4D(value)) + } +} + +func (ptr *QMatrix4x4) SetToIdentity() { + if ptr.Pointer() != nil { + C.QMatrix4x4_SetToIdentity(ptr.Pointer()) + } +} + +func (ptr *QMatrix4x4) ToAffine() *QMatrix { + if ptr.Pointer() != nil { + tmpValue := NewQMatrixFromPointer(C.QMatrix4x4_ToAffine(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) ToTransform() *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QMatrix4x4_ToTransform(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) ToTransform2(distanceToPlane float32) *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QMatrix4x4_ToTransform2(ptr.Pointer(), C.float(distanceToPlane))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) Translate(vector QVector3D_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Translate(ptr.Pointer(), PointerFromQVector3D(vector)) + } +} + +func (ptr *QMatrix4x4) Translate2(x float32, y float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Translate2(ptr.Pointer(), C.float(x), C.float(y)) + } +} + +func (ptr *QMatrix4x4) Translate3(x float32, y float32, z float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Translate3(ptr.Pointer(), C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QMatrix4x4) Transposed() *QMatrix4x4 { + if ptr.Pointer() != nil { + tmpValue := NewQMatrix4x4FromPointer(C.QMatrix4x4_Transposed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QMatrix4x4).DestroyQMatrix4x4) + return tmpValue + } + return nil +} + +func (ptr *QMatrix4x4) Viewport(left float32, bottom float32, width float32, height float32, nearPlane float32, farPlane float32) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Viewport(ptr.Pointer(), C.float(left), C.float(bottom), C.float(width), C.float(height), C.float(nearPlane), C.float(farPlane)) + } +} + +func (ptr *QMatrix4x4) Viewport2(rect core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QMatrix4x4_Viewport2(ptr.Pointer(), core.PointerFromQRectF(rect)) + } +} + +type QMessageDialogOptions struct { + ptr unsafe.Pointer +} + +type QMessageDialogOptions_ITF interface { + QMessageDialogOptions_PTR() *QMessageDialogOptions +} + +func (ptr *QMessageDialogOptions) QMessageDialogOptions_PTR() *QMessageDialogOptions { + return ptr +} + +func (ptr *QMessageDialogOptions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QMessageDialogOptions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQMessageDialogOptions(ptr QMessageDialogOptions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMessageDialogOptions_PTR().Pointer() + } + return nil +} + +func NewQMessageDialogOptionsFromPointer(ptr unsafe.Pointer) (n *QMessageDialogOptions) { + n = new(QMessageDialogOptions) + n.SetPointer(ptr) + return +} + +func (ptr *QMessageDialogOptions) DestroyQMessageDialogOptions() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QMouseEvent struct { + QInputEvent +} + +type QMouseEvent_ITF interface { + QInputEvent_ITF + QMouseEvent_PTR() *QMouseEvent +} + +func (ptr *QMouseEvent) QMouseEvent_PTR() *QMouseEvent { + return ptr +} + +func (ptr *QMouseEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QInputEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QMouseEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QInputEvent_PTR().SetPointer(p) + } +} + +func PointerFromQMouseEvent(ptr QMouseEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMouseEvent_PTR().Pointer() + } + return nil +} + +func NewQMouseEventFromPointer(ptr unsafe.Pointer) (n *QMouseEvent) { + n = new(QMouseEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QMouseEvent) DestroyQMouseEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQMouseEvent(ty core.QEvent__Type, localPos core.QPointF_ITF, button core.Qt__MouseButton, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier) *QMouseEvent { + tmpValue := NewQMouseEventFromPointer(C.QMouseEvent_NewQMouseEvent(C.longlong(ty), core.PointerFromQPointF(localPos), C.longlong(button), C.longlong(buttons), C.longlong(modifiers))) + runtime.SetFinalizer(tmpValue, (*QMouseEvent).DestroyQMouseEvent) + return tmpValue +} + +func NewQMouseEvent2(ty core.QEvent__Type, localPos core.QPointF_ITF, screenPos core.QPointF_ITF, button core.Qt__MouseButton, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier) *QMouseEvent { + tmpValue := NewQMouseEventFromPointer(C.QMouseEvent_NewQMouseEvent2(C.longlong(ty), core.PointerFromQPointF(localPos), core.PointerFromQPointF(screenPos), C.longlong(button), C.longlong(buttons), C.longlong(modifiers))) + runtime.SetFinalizer(tmpValue, (*QMouseEvent).DestroyQMouseEvent) + return tmpValue +} + +func NewQMouseEvent3(ty core.QEvent__Type, localPos core.QPointF_ITF, windowPos core.QPointF_ITF, screenPos core.QPointF_ITF, button core.Qt__MouseButton, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier) *QMouseEvent { + tmpValue := NewQMouseEventFromPointer(C.QMouseEvent_NewQMouseEvent3(C.longlong(ty), core.PointerFromQPointF(localPos), core.PointerFromQPointF(windowPos), core.PointerFromQPointF(screenPos), C.longlong(button), C.longlong(buttons), C.longlong(modifiers))) + runtime.SetFinalizer(tmpValue, (*QMouseEvent).DestroyQMouseEvent) + return tmpValue +} + +func NewQMouseEvent4(ty core.QEvent__Type, localPos core.QPointF_ITF, windowPos core.QPointF_ITF, screenPos core.QPointF_ITF, button core.Qt__MouseButton, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier, source core.Qt__MouseEventSource) *QMouseEvent { + tmpValue := NewQMouseEventFromPointer(C.QMouseEvent_NewQMouseEvent4(C.longlong(ty), core.PointerFromQPointF(localPos), core.PointerFromQPointF(windowPos), core.PointerFromQPointF(screenPos), C.longlong(button), C.longlong(buttons), C.longlong(modifiers), C.longlong(source))) + runtime.SetFinalizer(tmpValue, (*QMouseEvent).DestroyQMouseEvent) + return tmpValue +} + +func (ptr *QMouseEvent) Button() core.Qt__MouseButton { + if ptr.Pointer() != nil { + return core.Qt__MouseButton(C.QMouseEvent_Button(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMouseEvent) Buttons() core.Qt__MouseButton { + if ptr.Pointer() != nil { + return core.Qt__MouseButton(C.QMouseEvent_Buttons(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMouseEvent) Flags() core.Qt__MouseEventFlag { + if ptr.Pointer() != nil { + return core.Qt__MouseEventFlag(C.QMouseEvent_Flags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMouseEvent) GlobalPos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QMouseEvent_GlobalPos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QMouseEvent) GlobalX() int { + if ptr.Pointer() != nil { + return int(int32(C.QMouseEvent_GlobalX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMouseEvent) GlobalY() int { + if ptr.Pointer() != nil { + return int(int32(C.QMouseEvent_GlobalY(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMouseEvent) LocalPos() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QMouseEvent_LocalPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QMouseEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QMouseEvent_Pos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QMouseEvent) ScreenPos() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QMouseEvent_ScreenPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QMouseEvent) Source() core.Qt__MouseEventSource { + if ptr.Pointer() != nil { + return core.Qt__MouseEventSource(C.QMouseEvent_Source(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMouseEvent) WindowPos() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QMouseEvent_WindowPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QMouseEvent) X() int { + if ptr.Pointer() != nil { + return int(int32(C.QMouseEvent_X(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMouseEvent) Y() int { + if ptr.Pointer() != nil { + return int(int32(C.QMouseEvent_Y(ptr.Pointer()))) + } + return 0 +} + +type QMoveEvent struct { + core.QEvent +} + +type QMoveEvent_ITF interface { + core.QEvent_ITF + QMoveEvent_PTR() *QMoveEvent +} + +func (ptr *QMoveEvent) QMoveEvent_PTR() *QMoveEvent { + return ptr +} + +func (ptr *QMoveEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QMoveEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQMoveEvent(ptr QMoveEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMoveEvent_PTR().Pointer() + } + return nil +} + +func NewQMoveEventFromPointer(ptr unsafe.Pointer) (n *QMoveEvent) { + n = new(QMoveEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QMoveEvent) DestroyQMoveEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQMoveEvent(pos core.QPoint_ITF, oldPos core.QPoint_ITF) *QMoveEvent { + tmpValue := NewQMoveEventFromPointer(C.QMoveEvent_NewQMoveEvent(core.PointerFromQPoint(pos), core.PointerFromQPoint(oldPos))) + runtime.SetFinalizer(tmpValue, (*QMoveEvent).DestroyQMoveEvent) + return tmpValue +} + +func (ptr *QMoveEvent) OldPos() *core.QPoint { + if ptr.Pointer() != nil { + return core.NewQPointFromPointer(C.QMoveEvent_OldPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QMoveEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + return core.NewQPointFromPointer(C.QMoveEvent_Pos(ptr.Pointer())) + } + return nil +} + +type QMovie struct { + core.QObject +} + +type QMovie_ITF interface { + core.QObject_ITF + QMovie_PTR() *QMovie +} + +func (ptr *QMovie) QMovie_PTR() *QMovie { + return ptr +} + +func (ptr *QMovie) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QMovie) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQMovie(ptr QMovie_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QMovie_PTR().Pointer() + } + return nil +} + +func NewQMovieFromPointer(ptr unsafe.Pointer) (n *QMovie) { + n = new(QMovie) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QMovie__MovieState +//QMovie::MovieState +type QMovie__MovieState int64 + +const ( + QMovie__NotRunning QMovie__MovieState = QMovie__MovieState(0) + QMovie__Paused QMovie__MovieState = QMovie__MovieState(1) + QMovie__Running QMovie__MovieState = QMovie__MovieState(2) +) + +//go:generate stringer -type=QMovie__CacheMode +//QMovie::CacheMode +type QMovie__CacheMode int64 + +const ( + QMovie__CacheNone QMovie__CacheMode = QMovie__CacheMode(0) + QMovie__CacheAll QMovie__CacheMode = QMovie__CacheMode(1) +) + +func NewQMovie(parent core.QObject_ITF) *QMovie { + tmpValue := NewQMovieFromPointer(C.QMovie_NewQMovie(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQMovie2(device core.QIODevice_ITF, format core.QByteArray_ITF, parent core.QObject_ITF) *QMovie { + tmpValue := NewQMovieFromPointer(C.QMovie_NewQMovie2(core.PointerFromQIODevice(device), core.PointerFromQByteArray(format), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQMovie3(fileName string, format core.QByteArray_ITF, parent core.QObject_ITF) *QMovie { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQMovieFromPointer(C.QMovie_NewQMovie3(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, core.PointerFromQByteArray(format), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QMovie) BackgroundColor() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QMovie_BackgroundColor(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QMovie) CacheMode() QMovie__CacheMode { + if ptr.Pointer() != nil { + return QMovie__CacheMode(C.QMovie_CacheMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMovie) CurrentFrameNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QMovie_CurrentFrameNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMovie) CurrentImage() *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QMovie_CurrentImage(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QMovie) CurrentPixmap() *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QMovie_CurrentPixmap(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QMovie) Device() *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QMovie_Device(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQMovie_Error +func callbackQMovie_Error(ptr unsafe.Pointer, error C.longlong) { + if signal := qt.GetSignal(ptr, "error"); signal != nil { + (*(*func(QImageReader__ImageReaderError))(signal))(QImageReader__ImageReaderError(error)) + } + +} + +func (ptr *QMovie) ConnectError(f func(error QImageReader__ImageReaderError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "error") { + C.QMovie_ConnectError(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "error"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "error"); signal != nil { + f := func(error QImageReader__ImageReaderError) { + (*(*func(QImageReader__ImageReaderError))(signal))(error) + f(error) + } + qt.ConnectSignal(ptr.Pointer(), "error", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "error", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectError() { + if ptr.Pointer() != nil { + C.QMovie_DisconnectError(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "error") + } +} + +func (ptr *QMovie) Error(error QImageReader__ImageReaderError) { + if ptr.Pointer() != nil { + C.QMovie_Error(ptr.Pointer(), C.longlong(error)) + } +} + +func (ptr *QMovie) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMovie_FileName(ptr.Pointer())) + } + return "" +} + +//export callbackQMovie_Finished +func callbackQMovie_Finished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "finished"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QMovie) ConnectFinished(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "finished") { + C.QMovie_ConnectFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "finished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "finished"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectFinished() { + if ptr.Pointer() != nil { + C.QMovie_DisconnectFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "finished") + } +} + +func (ptr *QMovie) Finished() { + if ptr.Pointer() != nil { + C.QMovie_Finished(ptr.Pointer()) + } +} + +func (ptr *QMovie) Format() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QMovie_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +//export callbackQMovie_FrameChanged +func callbackQMovie_FrameChanged(ptr unsafe.Pointer, frameNumber C.int) { + if signal := qt.GetSignal(ptr, "frameChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(frameNumber))) + } + +} + +func (ptr *QMovie) ConnectFrameChanged(f func(frameNumber int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "frameChanged") { + C.QMovie_ConnectFrameChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "frameChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "frameChanged"); signal != nil { + f := func(frameNumber int) { + (*(*func(int))(signal))(frameNumber) + f(frameNumber) + } + qt.ConnectSignal(ptr.Pointer(), "frameChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "frameChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectFrameChanged() { + if ptr.Pointer() != nil { + C.QMovie_DisconnectFrameChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "frameChanged") + } +} + +func (ptr *QMovie) FrameChanged(frameNumber int) { + if ptr.Pointer() != nil { + C.QMovie_FrameChanged(ptr.Pointer(), C.int(int32(frameNumber))) + } +} + +func (ptr *QMovie) FrameCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QMovie_FrameCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMovie) FrameRect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QMovie_FrameRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QMovie) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QMovie_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMovie) JumpToFrame(frameNumber int) bool { + if ptr.Pointer() != nil { + return int8(C.QMovie_JumpToFrame(ptr.Pointer(), C.int(int32(frameNumber)))) != 0 + } + return false +} + +//export callbackQMovie_JumpToNextFrame +func callbackQMovie_JumpToNextFrame(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "jumpToNextFrame"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQMovieFromPointer(ptr).JumpToNextFrameDefault()))) +} + +func (ptr *QMovie) ConnectJumpToNextFrame(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "jumpToNextFrame"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "jumpToNextFrame", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "jumpToNextFrame", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectJumpToNextFrame() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "jumpToNextFrame") + } +} + +func (ptr *QMovie) JumpToNextFrame() bool { + if ptr.Pointer() != nil { + return int8(C.QMovie_JumpToNextFrame(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMovie) JumpToNextFrameDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QMovie_JumpToNextFrameDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QMovie) LastError() QImageReader__ImageReaderError { + if ptr.Pointer() != nil { + return QImageReader__ImageReaderError(C.QMovie_LastError(ptr.Pointer())) + } + return 0 +} + +func (ptr *QMovie) LastErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QMovie_LastErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QMovie) LoopCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QMovie_LoopCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QMovie) NextFrameDelay() int { + if ptr.Pointer() != nil { + return int(int32(C.QMovie_NextFrameDelay(ptr.Pointer()))) + } + return 0 +} + +//export callbackQMovie_Resized +func callbackQMovie_Resized(ptr unsafe.Pointer, size unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "resized"); signal != nil { + (*(*func(*core.QSize))(signal))(core.NewQSizeFromPointer(size)) + } + +} + +func (ptr *QMovie) ConnectResized(f func(size *core.QSize)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "resized") { + C.QMovie_ConnectResized(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "resized"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "resized"); signal != nil { + f := func(size *core.QSize) { + (*(*func(*core.QSize))(signal))(size) + f(size) + } + qt.ConnectSignal(ptr.Pointer(), "resized", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resized", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectResized() { + if ptr.Pointer() != nil { + C.QMovie_DisconnectResized(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "resized") + } +} + +func (ptr *QMovie) Resized(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QMovie_Resized(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +func (ptr *QMovie) ScaledSize() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QMovie_ScaledSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QMovie) SetBackgroundColor(color QColor_ITF) { + if ptr.Pointer() != nil { + C.QMovie_SetBackgroundColor(ptr.Pointer(), PointerFromQColor(color)) + } +} + +func (ptr *QMovie) SetCacheMode(mode QMovie__CacheMode) { + if ptr.Pointer() != nil { + C.QMovie_SetCacheMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QMovie) SetDevice(device core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QMovie_SetDevice(ptr.Pointer(), core.PointerFromQIODevice(device)) + } +} + +func (ptr *QMovie) SetFileName(fileName string) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QMovie_SetFileName(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}) + } +} + +func (ptr *QMovie) SetFormat(format core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QMovie_SetFormat(ptr.Pointer(), core.PointerFromQByteArray(format)) + } +} + +//export callbackQMovie_SetPaused +func callbackQMovie_SetPaused(ptr unsafe.Pointer, paused C.char) { + if signal := qt.GetSignal(ptr, "setPaused"); signal != nil { + (*(*func(bool))(signal))(int8(paused) != 0) + } else { + NewQMovieFromPointer(ptr).SetPausedDefault(int8(paused) != 0) + } +} + +func (ptr *QMovie) ConnectSetPaused(f func(paused bool)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setPaused"); signal != nil { + f := func(paused bool) { + (*(*func(bool))(signal))(paused) + f(paused) + } + qt.ConnectSignal(ptr.Pointer(), "setPaused", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setPaused", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectSetPaused() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setPaused") + } +} + +func (ptr *QMovie) SetPaused(paused bool) { + if ptr.Pointer() != nil { + C.QMovie_SetPaused(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(paused)))) + } +} + +func (ptr *QMovie) SetPausedDefault(paused bool) { + if ptr.Pointer() != nil { + C.QMovie_SetPausedDefault(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(paused)))) + } +} + +func (ptr *QMovie) SetScaledSize(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QMovie_SetScaledSize(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +//export callbackQMovie_SetSpeed +func callbackQMovie_SetSpeed(ptr unsafe.Pointer, percentSpeed C.int) { + if signal := qt.GetSignal(ptr, "setSpeed"); signal != nil { + (*(*func(int))(signal))(int(int32(percentSpeed))) + } else { + NewQMovieFromPointer(ptr).SetSpeedDefault(int(int32(percentSpeed))) + } +} + +func (ptr *QMovie) ConnectSetSpeed(f func(percentSpeed int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setSpeed"); signal != nil { + f := func(percentSpeed int) { + (*(*func(int))(signal))(percentSpeed) + f(percentSpeed) + } + qt.ConnectSignal(ptr.Pointer(), "setSpeed", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setSpeed", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectSetSpeed() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setSpeed") + } +} + +func (ptr *QMovie) SetSpeed(percentSpeed int) { + if ptr.Pointer() != nil { + C.QMovie_SetSpeed(ptr.Pointer(), C.int(int32(percentSpeed))) + } +} + +func (ptr *QMovie) SetSpeedDefault(percentSpeed int) { + if ptr.Pointer() != nil { + C.QMovie_SetSpeedDefault(ptr.Pointer(), C.int(int32(percentSpeed))) + } +} + +func (ptr *QMovie) Speed() int { + if ptr.Pointer() != nil { + return int(int32(C.QMovie_Speed(ptr.Pointer()))) + } + return 0 +} + +//export callbackQMovie_Start +func callbackQMovie_Start(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "start"); signal != nil { + (*(*func())(signal))() + } else { + NewQMovieFromPointer(ptr).StartDefault() + } +} + +func (ptr *QMovie) ConnectStart(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "start"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "start", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectStart() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "start") + } +} + +func (ptr *QMovie) Start() { + if ptr.Pointer() != nil { + C.QMovie_Start(ptr.Pointer()) + } +} + +func (ptr *QMovie) StartDefault() { + if ptr.Pointer() != nil { + C.QMovie_StartDefault(ptr.Pointer()) + } +} + +//export callbackQMovie_Started +func callbackQMovie_Started(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "started"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QMovie) ConnectStarted(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "started") { + C.QMovie_ConnectStarted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "started"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "started"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "started", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "started", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectStarted() { + if ptr.Pointer() != nil { + C.QMovie_DisconnectStarted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "started") + } +} + +func (ptr *QMovie) Started() { + if ptr.Pointer() != nil { + C.QMovie_Started(ptr.Pointer()) + } +} + +func (ptr *QMovie) State() QMovie__MovieState { + if ptr.Pointer() != nil { + return QMovie__MovieState(C.QMovie_State(ptr.Pointer())) + } + return 0 +} + +//export callbackQMovie_StateChanged +func callbackQMovie_StateChanged(ptr unsafe.Pointer, state C.longlong) { + if signal := qt.GetSignal(ptr, "stateChanged"); signal != nil { + (*(*func(QMovie__MovieState))(signal))(QMovie__MovieState(state)) + } + +} + +func (ptr *QMovie) ConnectStateChanged(f func(state QMovie__MovieState)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "stateChanged") { + C.QMovie_ConnectStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "stateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "stateChanged"); signal != nil { + f := func(state QMovie__MovieState) { + (*(*func(QMovie__MovieState))(signal))(state) + f(state) + } + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectStateChanged() { + if ptr.Pointer() != nil { + C.QMovie_DisconnectStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "stateChanged") + } +} + +func (ptr *QMovie) StateChanged(state QMovie__MovieState) { + if ptr.Pointer() != nil { + C.QMovie_StateChanged(ptr.Pointer(), C.longlong(state)) + } +} + +//export callbackQMovie_Stop +func callbackQMovie_Stop(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "stop"); signal != nil { + (*(*func())(signal))() + } else { + NewQMovieFromPointer(ptr).StopDefault() + } +} + +func (ptr *QMovie) ConnectStop(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "stop"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectStop() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "stop") + } +} + +func (ptr *QMovie) Stop() { + if ptr.Pointer() != nil { + C.QMovie_Stop(ptr.Pointer()) + } +} + +func (ptr *QMovie) StopDefault() { + if ptr.Pointer() != nil { + C.QMovie_StopDefault(ptr.Pointer()) + } +} + +func QMovie_SupportedFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQMovieFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedFormats_atList(i) + } + return out + }(C.QMovie_QMovie_SupportedFormats()) +} + +func (ptr *QMovie) SupportedFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQMovieFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedFormats_atList(i) + } + return out + }(C.QMovie_QMovie_SupportedFormats()) +} + +//export callbackQMovie_Updated +func callbackQMovie_Updated(ptr unsafe.Pointer, rect unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "updated"); signal != nil { + (*(*func(*core.QRect))(signal))(core.NewQRectFromPointer(rect)) + } + +} + +func (ptr *QMovie) ConnectUpdated(f func(rect *core.QRect)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "updated") { + C.QMovie_ConnectUpdated(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "updated"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "updated"); signal != nil { + f := func(rect *core.QRect) { + (*(*func(*core.QRect))(signal))(rect) + f(rect) + } + qt.ConnectSignal(ptr.Pointer(), "updated", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updated", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectUpdated() { + if ptr.Pointer() != nil { + C.QMovie_DisconnectUpdated(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "updated") + } +} + +func (ptr *QMovie) Updated(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QMovie_Updated(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +//export callbackQMovie_DestroyQMovie +func callbackQMovie_DestroyQMovie(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QMovie"); signal != nil { + (*(*func())(signal))() + } else { + NewQMovieFromPointer(ptr).DestroyQMovieDefault() + } +} + +func (ptr *QMovie) ConnectDestroyQMovie(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QMovie"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QMovie", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QMovie", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QMovie) DisconnectDestroyQMovie() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QMovie") + } +} + +func (ptr *QMovie) DestroyQMovie() { + if ptr.Pointer() != nil { + C.QMovie_DestroyQMovie(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QMovie) DestroyQMovieDefault() { + if ptr.Pointer() != nil { + C.QMovie_DestroyQMovieDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QMovie) __supportedFormats_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QMovie___supportedFormats_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QMovie) __supportedFormats_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QMovie___supportedFormats_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QMovie) __supportedFormats_newList() unsafe.Pointer { + return C.QMovie___supportedFormats_newList(ptr.Pointer()) +} + +func (ptr *QMovie) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QMovie___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QMovie) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QMovie___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QMovie) __children_newList() unsafe.Pointer { + return C.QMovie___children_newList(ptr.Pointer()) +} + +func (ptr *QMovie) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QMovie___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QMovie) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QMovie___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QMovie) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QMovie___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QMovie) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QMovie___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QMovie) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QMovie___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QMovie) __findChildren_newList() unsafe.Pointer { + return C.QMovie___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QMovie) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QMovie___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QMovie) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QMovie___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QMovie) __findChildren_newList3() unsafe.Pointer { + return C.QMovie___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QMovie) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QMovie___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QMovie) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QMovie___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QMovie) __qFindChildren_newList2() unsafe.Pointer { + return C.QMovie___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQMovie_ChildEvent +func callbackQMovie_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQMovieFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QMovie) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QMovie_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQMovie_ConnectNotify +func callbackQMovie_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQMovieFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QMovie) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QMovie_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQMovie_CustomEvent +func callbackQMovie_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQMovieFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QMovie) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QMovie_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQMovie_DeleteLater +func callbackQMovie_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQMovieFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QMovie) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QMovie_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQMovie_Destroyed +func callbackQMovie_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQMovie_DisconnectNotify +func callbackQMovie_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQMovieFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QMovie) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QMovie_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQMovie_Event +func callbackQMovie_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQMovieFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QMovie) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMovie_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQMovie_EventFilter +func callbackQMovie_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQMovieFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QMovie) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QMovie_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQMovie_MetaObject +func callbackQMovie_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQMovieFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QMovie) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QMovie_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQMovie_ObjectNameChanged +func callbackQMovie_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQMovie_TimerEvent +func callbackQMovie_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQMovieFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QMovie) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QMovie_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QNativeGestureEvent struct { + QInputEvent +} + +type QNativeGestureEvent_ITF interface { + QInputEvent_ITF + QNativeGestureEvent_PTR() *QNativeGestureEvent +} + +func (ptr *QNativeGestureEvent) QNativeGestureEvent_PTR() *QNativeGestureEvent { + return ptr +} + +func (ptr *QNativeGestureEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QInputEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QNativeGestureEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QInputEvent_PTR().SetPointer(p) + } +} + +func PointerFromQNativeGestureEvent(ptr QNativeGestureEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNativeGestureEvent_PTR().Pointer() + } + return nil +} + +func NewQNativeGestureEventFromPointer(ptr unsafe.Pointer) (n *QNativeGestureEvent) { + n = new(QNativeGestureEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QNativeGestureEvent) DestroyQNativeGestureEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQNativeGestureEvent2(ty core.Qt__NativeGestureType, device QTouchDevice_ITF, localPos core.QPointF_ITF, windowPos core.QPointF_ITF, screenPos core.QPointF_ITF, realValue float64, sequenceId uint, intValue uint64) *QNativeGestureEvent { + tmpValue := NewQNativeGestureEventFromPointer(C.QNativeGestureEvent_NewQNativeGestureEvent2(C.longlong(ty), PointerFromQTouchDevice(device), core.PointerFromQPointF(localPos), core.PointerFromQPointF(windowPos), core.PointerFromQPointF(screenPos), C.double(realValue), C.ulong(uint32(sequenceId)), C.ulonglong(intValue))) + runtime.SetFinalizer(tmpValue, (*QNativeGestureEvent).DestroyQNativeGestureEvent) + return tmpValue +} + +func (ptr *QNativeGestureEvent) Device() *QTouchDevice { + if ptr.Pointer() != nil { + return NewQTouchDeviceFromPointer(C.QNativeGestureEvent_Device(ptr.Pointer())) + } + return nil +} + +func (ptr *QNativeGestureEvent) GestureType() core.Qt__NativeGestureType { + if ptr.Pointer() != nil { + return core.Qt__NativeGestureType(C.QNativeGestureEvent_GestureType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNativeGestureEvent) GlobalPos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QNativeGestureEvent_GlobalPos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QNativeGestureEvent) LocalPos() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QNativeGestureEvent_LocalPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QNativeGestureEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QNativeGestureEvent_Pos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QNativeGestureEvent) ScreenPos() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QNativeGestureEvent_ScreenPos(ptr.Pointer())) + } + return nil +} + +func (ptr *QNativeGestureEvent) Value() float64 { + if ptr.Pointer() != nil { + return float64(C.QNativeGestureEvent_Value(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNativeGestureEvent) WindowPos() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QNativeGestureEvent_WindowPos(ptr.Pointer())) + } + return nil +} + +type QOffscreenSurface struct { + core.QObject + QSurface +} + +type QOffscreenSurface_ITF interface { + core.QObject_ITF + QSurface_ITF + QOffscreenSurface_PTR() *QOffscreenSurface +} + +func (ptr *QOffscreenSurface) QOffscreenSurface_PTR() *QOffscreenSurface { + return ptr +} + +func (ptr *QOffscreenSurface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QOffscreenSurface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + ptr.QSurface_PTR().SetPointer(p) + } +} + +func PointerFromQOffscreenSurface(ptr QOffscreenSurface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOffscreenSurface_PTR().Pointer() + } + return nil +} + +func NewQOffscreenSurfaceFromPointer(ptr unsafe.Pointer) (n *QOffscreenSurface) { + n = new(QOffscreenSurface) + n.SetPointer(ptr) + return +} +func NewQOffscreenSurface(targetScreen QScreen_ITF, parent core.QObject_ITF) *QOffscreenSurface { + tmpValue := NewQOffscreenSurfaceFromPointer(C.QOffscreenSurface_NewQOffscreenSurface(PointerFromQScreen(targetScreen), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQOffscreenSurface2(targetScreen QScreen_ITF) *QOffscreenSurface { + tmpValue := NewQOffscreenSurfaceFromPointer(C.QOffscreenSurface_NewQOffscreenSurface2(PointerFromQScreen(targetScreen))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOffscreenSurface) Create() { + if ptr.Pointer() != nil { + C.QOffscreenSurface_Create(ptr.Pointer()) + } +} + +func (ptr *QOffscreenSurface) Destroy() { + if ptr.Pointer() != nil { + C.QOffscreenSurface_Destroy(ptr.Pointer()) + } +} + +//export callbackQOffscreenSurface_Format +func callbackQOffscreenSurface_Format(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "format"); signal != nil { + return PointerFromQSurfaceFormat((*(*func() *QSurfaceFormat)(signal))()) + } + + return PointerFromQSurfaceFormat(NewQOffscreenSurfaceFromPointer(ptr).FormatDefault()) +} + +func (ptr *QOffscreenSurface) ConnectFormat(f func() *QSurfaceFormat) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "format"); signal != nil { + f := func() *QSurfaceFormat { + (*(*func() *QSurfaceFormat)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "format", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "format", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOffscreenSurface) DisconnectFormat() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "format") + } +} + +func (ptr *QOffscreenSurface) Format() *QSurfaceFormat { + if ptr.Pointer() != nil { + tmpValue := NewQSurfaceFormatFromPointer(C.QOffscreenSurface_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue + } + return nil +} + +func (ptr *QOffscreenSurface) FormatDefault() *QSurfaceFormat { + if ptr.Pointer() != nil { + tmpValue := NewQSurfaceFormatFromPointer(C.QOffscreenSurface_FormatDefault(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue + } + return nil +} + +func (ptr *QOffscreenSurface) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QOffscreenSurface_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOffscreenSurface) NativeHandle() unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QOffscreenSurface_NativeHandle(ptr.Pointer()) + } + return nil +} + +func (ptr *QOffscreenSurface) RequestedFormat() *QSurfaceFormat { + if ptr.Pointer() != nil { + tmpValue := NewQSurfaceFormatFromPointer(C.QOffscreenSurface_RequestedFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue + } + return nil +} + +func (ptr *QOffscreenSurface) Screen() *QScreen { + if ptr.Pointer() != nil { + tmpValue := NewQScreenFromPointer(C.QOffscreenSurface_Screen(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQOffscreenSurface_ScreenChanged +func callbackQOffscreenSurface_ScreenChanged(ptr unsafe.Pointer, screen unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "screenChanged"); signal != nil { + (*(*func(*QScreen))(signal))(NewQScreenFromPointer(screen)) + } + +} + +func (ptr *QOffscreenSurface) ConnectScreenChanged(f func(screen *QScreen)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "screenChanged") { + C.QOffscreenSurface_ConnectScreenChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "screenChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "screenChanged"); signal != nil { + f := func(screen *QScreen) { + (*(*func(*QScreen))(signal))(screen) + f(screen) + } + qt.ConnectSignal(ptr.Pointer(), "screenChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "screenChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOffscreenSurface) DisconnectScreenChanged() { + if ptr.Pointer() != nil { + C.QOffscreenSurface_DisconnectScreenChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "screenChanged") + } +} + +func (ptr *QOffscreenSurface) ScreenChanged(screen QScreen_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_ScreenChanged(ptr.Pointer(), PointerFromQScreen(screen)) + } +} + +func (ptr *QOffscreenSurface) SetFormat(format QSurfaceFormat_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_SetFormat(ptr.Pointer(), PointerFromQSurfaceFormat(format)) + } +} + +func (ptr *QOffscreenSurface) SetNativeHandle(handle unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_SetNativeHandle(ptr.Pointer(), handle) + } +} + +func (ptr *QOffscreenSurface) SetScreen(newScreen QScreen_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_SetScreen(ptr.Pointer(), PointerFromQScreen(newScreen)) + } +} + +//export callbackQOffscreenSurface_Size +func callbackQOffscreenSurface_Size(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "size"); signal != nil { + return core.PointerFromQSize((*(*func() *core.QSize)(signal))()) + } + + return core.PointerFromQSize(NewQOffscreenSurfaceFromPointer(ptr).SizeDefault()) +} + +func (ptr *QOffscreenSurface) ConnectSize(f func() *core.QSize) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "size"); signal != nil { + f := func() *core.QSize { + (*(*func() *core.QSize)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "size", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "size", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOffscreenSurface) DisconnectSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "size") + } +} + +func (ptr *QOffscreenSurface) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QOffscreenSurface_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QOffscreenSurface) SizeDefault() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QOffscreenSurface_SizeDefault(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +//export callbackQOffscreenSurface_SurfaceType +func callbackQOffscreenSurface_SurfaceType(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "surfaceType"); signal != nil { + return C.longlong((*(*func() QSurface__SurfaceType)(signal))()) + } + + return C.longlong(NewQOffscreenSurfaceFromPointer(ptr).SurfaceTypeDefault()) +} + +func (ptr *QOffscreenSurface) ConnectSurfaceType(f func() QSurface__SurfaceType) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "surfaceType"); signal != nil { + f := func() QSurface__SurfaceType { + (*(*func() QSurface__SurfaceType)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "surfaceType", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "surfaceType", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOffscreenSurface) DisconnectSurfaceType() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "surfaceType") + } +} + +func (ptr *QOffscreenSurface) SurfaceType() QSurface__SurfaceType { + if ptr.Pointer() != nil { + return QSurface__SurfaceType(C.QOffscreenSurface_SurfaceType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOffscreenSurface) SurfaceTypeDefault() QSurface__SurfaceType { + if ptr.Pointer() != nil { + return QSurface__SurfaceType(C.QOffscreenSurface_SurfaceTypeDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQOffscreenSurface_DestroyQOffscreenSurface +func callbackQOffscreenSurface_DestroyQOffscreenSurface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOffscreenSurface"); signal != nil { + (*(*func())(signal))() + } else { + NewQOffscreenSurfaceFromPointer(ptr).DestroyQOffscreenSurfaceDefault() + } +} + +func (ptr *QOffscreenSurface) ConnectDestroyQOffscreenSurface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOffscreenSurface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOffscreenSurface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOffscreenSurface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOffscreenSurface) DisconnectDestroyQOffscreenSurface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOffscreenSurface") + } +} + +func (ptr *QOffscreenSurface) DestroyQOffscreenSurface() { + if ptr.Pointer() != nil { + C.QOffscreenSurface_DestroyQOffscreenSurface(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOffscreenSurface) DestroyQOffscreenSurfaceDefault() { + if ptr.Pointer() != nil { + C.QOffscreenSurface_DestroyQOffscreenSurfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOffscreenSurface) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOffscreenSurface___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOffscreenSurface) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOffscreenSurface) __children_newList() unsafe.Pointer { + return C.QOffscreenSurface___children_newList(ptr.Pointer()) +} + +func (ptr *QOffscreenSurface) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOffscreenSurface___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QOffscreenSurface) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QOffscreenSurface) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QOffscreenSurface___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QOffscreenSurface) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOffscreenSurface___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOffscreenSurface) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOffscreenSurface) __findChildren_newList() unsafe.Pointer { + return C.QOffscreenSurface___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QOffscreenSurface) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOffscreenSurface___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOffscreenSurface) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOffscreenSurface) __findChildren_newList3() unsafe.Pointer { + return C.QOffscreenSurface___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QOffscreenSurface) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOffscreenSurface___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOffscreenSurface) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOffscreenSurface) __qFindChildren_newList2() unsafe.Pointer { + return C.QOffscreenSurface___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQOffscreenSurface_ChildEvent +func callbackQOffscreenSurface_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQOffscreenSurfaceFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QOffscreenSurface) ChildEvent(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_ChildEvent(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +func (ptr *QOffscreenSurface) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQOffscreenSurface_ConnectNotify +func callbackQOffscreenSurface_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOffscreenSurfaceFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOffscreenSurface) ConnectNotify(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_ConnectNotify(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +func (ptr *QOffscreenSurface) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOffscreenSurface_CustomEvent +func callbackQOffscreenSurface_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQOffscreenSurfaceFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QOffscreenSurface) CustomEvent(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_CustomEvent(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +func (ptr *QOffscreenSurface) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQOffscreenSurface_DeleteLater +func callbackQOffscreenSurface_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQOffscreenSurfaceFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QOffscreenSurface) DeleteLater() { + if ptr.Pointer() != nil { + C.QOffscreenSurface_DeleteLater(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOffscreenSurface) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QOffscreenSurface_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQOffscreenSurface_Destroyed +func callbackQOffscreenSurface_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQOffscreenSurface_DisconnectNotify +func callbackQOffscreenSurface_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOffscreenSurfaceFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOffscreenSurface) DisconnectNotify(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_DisconnectNotify(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +func (ptr *QOffscreenSurface) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOffscreenSurface_Event +func callbackQOffscreenSurface_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOffscreenSurfaceFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QOffscreenSurface) Event(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOffscreenSurface_Event(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +func (ptr *QOffscreenSurface) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOffscreenSurface_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQOffscreenSurface_EventFilter +func callbackQOffscreenSurface_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOffscreenSurfaceFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QOffscreenSurface) EventFilter(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOffscreenSurface_EventFilter(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +func (ptr *QOffscreenSurface) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOffscreenSurface_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQOffscreenSurface_MetaObject +func callbackQOffscreenSurface_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQOffscreenSurfaceFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QOffscreenSurface) MetaObject() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOffscreenSurface_MetaObject(ptr.Pointer())) + } + return nil +} + +func (ptr *QOffscreenSurface) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOffscreenSurface_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQOffscreenSurface_ObjectNameChanged +func callbackQOffscreenSurface_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQOffscreenSurface_TimerEvent +func callbackQOffscreenSurface_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQOffscreenSurfaceFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QOffscreenSurface) TimerEvent(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_TimerEvent(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +func (ptr *QOffscreenSurface) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOffscreenSurface_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOpenGLBuffer struct { + ptr unsafe.Pointer +} + +type QOpenGLBuffer_ITF interface { + QOpenGLBuffer_PTR() *QOpenGLBuffer +} + +func (ptr *QOpenGLBuffer) QOpenGLBuffer_PTR() *QOpenGLBuffer { + return ptr +} + +func (ptr *QOpenGLBuffer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLBuffer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLBuffer(ptr QOpenGLBuffer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLBuffer_PTR().Pointer() + } + return nil +} + +func NewQOpenGLBufferFromPointer(ptr unsafe.Pointer) (n *QOpenGLBuffer) { + n = new(QOpenGLBuffer) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOpenGLBuffer__Type +//QOpenGLBuffer::Type +type QOpenGLBuffer__Type int64 + +const ( + QOpenGLBuffer__VertexBuffer QOpenGLBuffer__Type = QOpenGLBuffer__Type(0x8892) + QOpenGLBuffer__IndexBuffer QOpenGLBuffer__Type = QOpenGLBuffer__Type(0x8893) + QOpenGLBuffer__PixelPackBuffer QOpenGLBuffer__Type = QOpenGLBuffer__Type(0x88EB) + QOpenGLBuffer__PixelUnpackBuffer QOpenGLBuffer__Type = QOpenGLBuffer__Type(0x88EC) +) + +//go:generate stringer -type=QOpenGLBuffer__UsagePattern +//QOpenGLBuffer::UsagePattern +type QOpenGLBuffer__UsagePattern int64 + +const ( + QOpenGLBuffer__StreamDraw QOpenGLBuffer__UsagePattern = QOpenGLBuffer__UsagePattern(0x88E0) + QOpenGLBuffer__StreamRead QOpenGLBuffer__UsagePattern = QOpenGLBuffer__UsagePattern(0x88E1) + QOpenGLBuffer__StreamCopy QOpenGLBuffer__UsagePattern = QOpenGLBuffer__UsagePattern(0x88E2) + QOpenGLBuffer__StaticDraw QOpenGLBuffer__UsagePattern = QOpenGLBuffer__UsagePattern(0x88E4) + QOpenGLBuffer__StaticRead QOpenGLBuffer__UsagePattern = QOpenGLBuffer__UsagePattern(0x88E5) + QOpenGLBuffer__StaticCopy QOpenGLBuffer__UsagePattern = QOpenGLBuffer__UsagePattern(0x88E6) + QOpenGLBuffer__DynamicDraw QOpenGLBuffer__UsagePattern = QOpenGLBuffer__UsagePattern(0x88E8) + QOpenGLBuffer__DynamicRead QOpenGLBuffer__UsagePattern = QOpenGLBuffer__UsagePattern(0x88E9) + QOpenGLBuffer__DynamicCopy QOpenGLBuffer__UsagePattern = QOpenGLBuffer__UsagePattern(0x88EA) +) + +//go:generate stringer -type=QOpenGLBuffer__Access +//QOpenGLBuffer::Access +type QOpenGLBuffer__Access int64 + +const ( + QOpenGLBuffer__ReadOnly QOpenGLBuffer__Access = QOpenGLBuffer__Access(0x88B8) + QOpenGLBuffer__WriteOnly QOpenGLBuffer__Access = QOpenGLBuffer__Access(0x88B9) + QOpenGLBuffer__ReadWrite QOpenGLBuffer__Access = QOpenGLBuffer__Access(0x88BA) +) + +//go:generate stringer -type=QOpenGLBuffer__RangeAccessFlag +//QOpenGLBuffer::RangeAccessFlag +type QOpenGLBuffer__RangeAccessFlag int64 + +const ( + QOpenGLBuffer__RangeRead QOpenGLBuffer__RangeAccessFlag = QOpenGLBuffer__RangeAccessFlag(0x0001) + QOpenGLBuffer__RangeWrite QOpenGLBuffer__RangeAccessFlag = QOpenGLBuffer__RangeAccessFlag(0x0002) + QOpenGLBuffer__RangeInvalidate QOpenGLBuffer__RangeAccessFlag = QOpenGLBuffer__RangeAccessFlag(0x0004) + QOpenGLBuffer__RangeInvalidateBuffer QOpenGLBuffer__RangeAccessFlag = QOpenGLBuffer__RangeAccessFlag(0x0008) + QOpenGLBuffer__RangeFlushExplicit QOpenGLBuffer__RangeAccessFlag = QOpenGLBuffer__RangeAccessFlag(0x0010) + QOpenGLBuffer__RangeUnsynchronized QOpenGLBuffer__RangeAccessFlag = QOpenGLBuffer__RangeAccessFlag(0x0020) +) + +func NewQOpenGLBuffer() *QOpenGLBuffer { + tmpValue := NewQOpenGLBufferFromPointer(C.QOpenGLBuffer_NewQOpenGLBuffer()) + runtime.SetFinalizer(tmpValue, (*QOpenGLBuffer).DestroyQOpenGLBuffer) + return tmpValue +} + +func NewQOpenGLBuffer2(ty QOpenGLBuffer__Type) *QOpenGLBuffer { + tmpValue := NewQOpenGLBufferFromPointer(C.QOpenGLBuffer_NewQOpenGLBuffer2(C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QOpenGLBuffer).DestroyQOpenGLBuffer) + return tmpValue +} + +func NewQOpenGLBuffer3(other QOpenGLBuffer_ITF) *QOpenGLBuffer { + tmpValue := NewQOpenGLBufferFromPointer(C.QOpenGLBuffer_NewQOpenGLBuffer3(PointerFromQOpenGLBuffer(other))) + runtime.SetFinalizer(tmpValue, (*QOpenGLBuffer).DestroyQOpenGLBuffer) + return tmpValue +} + +func (ptr *QOpenGLBuffer) Allocate(data unsafe.Pointer, count int) { + if ptr.Pointer() != nil { + C.QOpenGLBuffer_Allocate(ptr.Pointer(), data, C.int(int32(count))) + } +} + +func (ptr *QOpenGLBuffer) Allocate2(count int) { + if ptr.Pointer() != nil { + C.QOpenGLBuffer_Allocate2(ptr.Pointer(), C.int(int32(count))) + } +} + +func (ptr *QOpenGLBuffer) Bind() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLBuffer_Bind(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLBuffer) BufferId() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLBuffer_BufferId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLBuffer) Create() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLBuffer_Create(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLBuffer) Destroy() { + if ptr.Pointer() != nil { + C.QOpenGLBuffer_Destroy(ptr.Pointer()) + } +} + +func (ptr *QOpenGLBuffer) IsCreated() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLBuffer_IsCreated(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLBuffer) Map(access QOpenGLBuffer__Access) unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QOpenGLBuffer_Map(ptr.Pointer(), C.longlong(access)) + } + return nil +} + +func (ptr *QOpenGLBuffer) MapRange(offset int, count int, access QOpenGLBuffer__RangeAccessFlag) unsafe.Pointer { + if ptr.Pointer() != nil { + return C.QOpenGLBuffer_MapRange(ptr.Pointer(), C.int(int32(offset)), C.int(int32(count)), C.longlong(access)) + } + return nil +} + +func (ptr *QOpenGLBuffer) Read(offset int, data unsafe.Pointer, count int) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLBuffer_Read(ptr.Pointer(), C.int(int32(offset)), data, C.int(int32(count)))) != 0 + } + return false +} + +func (ptr *QOpenGLBuffer) Release() { + if ptr.Pointer() != nil { + C.QOpenGLBuffer_Release(ptr.Pointer()) + } +} + +func QOpenGLBuffer_Release2(ty QOpenGLBuffer__Type) { + C.QOpenGLBuffer_QOpenGLBuffer_Release2(C.longlong(ty)) +} + +func (ptr *QOpenGLBuffer) Release2(ty QOpenGLBuffer__Type) { + C.QOpenGLBuffer_QOpenGLBuffer_Release2(C.longlong(ty)) +} + +func (ptr *QOpenGLBuffer) SetUsagePattern(value QOpenGLBuffer__UsagePattern) { + if ptr.Pointer() != nil { + C.QOpenGLBuffer_SetUsagePattern(ptr.Pointer(), C.longlong(value)) + } +} + +func (ptr *QOpenGLBuffer) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLBuffer_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLBuffer) Type() QOpenGLBuffer__Type { + if ptr.Pointer() != nil { + return QOpenGLBuffer__Type(C.QOpenGLBuffer_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLBuffer) Unmap() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLBuffer_Unmap(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLBuffer) UsagePattern() QOpenGLBuffer__UsagePattern { + if ptr.Pointer() != nil { + return QOpenGLBuffer__UsagePattern(C.QOpenGLBuffer_UsagePattern(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLBuffer) Write(offset int, data unsafe.Pointer, count int) { + if ptr.Pointer() != nil { + C.QOpenGLBuffer_Write(ptr.Pointer(), C.int(int32(offset)), data, C.int(int32(count))) + } +} + +func (ptr *QOpenGLBuffer) DestroyQOpenGLBuffer() { + if ptr.Pointer() != nil { + C.QOpenGLBuffer_DestroyQOpenGLBuffer(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLContext struct { + core.QObject +} + +type QOpenGLContext_ITF interface { + core.QObject_ITF + QOpenGLContext_PTR() *QOpenGLContext +} + +func (ptr *QOpenGLContext) QOpenGLContext_PTR() *QOpenGLContext { + return ptr +} + +func (ptr *QOpenGLContext) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLContext) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLContext(ptr QOpenGLContext_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLContext_PTR().Pointer() + } + return nil +} + +func NewQOpenGLContextFromPointer(ptr unsafe.Pointer) (n *QOpenGLContext) { + n = new(QOpenGLContext) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOpenGLContext__OpenGLModuleType +//QOpenGLContext::OpenGLModuleType +type QOpenGLContext__OpenGLModuleType int64 + +const ( + QOpenGLContext__LibGL QOpenGLContext__OpenGLModuleType = QOpenGLContext__OpenGLModuleType(0) + QOpenGLContext__LibGLES QOpenGLContext__OpenGLModuleType = QOpenGLContext__OpenGLModuleType(1) +) + +func NewQOpenGLContext(parent core.QObject_ITF) *QOpenGLContext { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLContext_NewQOpenGLContext(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQOpenGLContext_AboutToBeDestroyed +func callbackQOpenGLContext_AboutToBeDestroyed(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "aboutToBeDestroyed"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QOpenGLContext) ConnectAboutToBeDestroyed(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "aboutToBeDestroyed") { + C.QOpenGLContext_ConnectAboutToBeDestroyed(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "aboutToBeDestroyed"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "aboutToBeDestroyed"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "aboutToBeDestroyed", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "aboutToBeDestroyed", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLContext) DisconnectAboutToBeDestroyed() { + if ptr.Pointer() != nil { + C.QOpenGLContext_DisconnectAboutToBeDestroyed(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "aboutToBeDestroyed") + } +} + +func (ptr *QOpenGLContext) AboutToBeDestroyed() { + if ptr.Pointer() != nil { + C.QOpenGLContext_AboutToBeDestroyed(ptr.Pointer()) + } +} + +func QOpenGLContext_AreSharing(first QOpenGLContext_ITF, second QOpenGLContext_ITF) bool { + return int8(C.QOpenGLContext_QOpenGLContext_AreSharing(PointerFromQOpenGLContext(first), PointerFromQOpenGLContext(second))) != 0 +} + +func (ptr *QOpenGLContext) AreSharing(first QOpenGLContext_ITF, second QOpenGLContext_ITF) bool { + return int8(C.QOpenGLContext_QOpenGLContext_AreSharing(PointerFromQOpenGLContext(first), PointerFromQOpenGLContext(second))) != 0 +} + +func (ptr *QOpenGLContext) Create() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLContext_Create(ptr.Pointer())) != 0 + } + return false +} + +func QOpenGLContext_CurrentContext() *QOpenGLContext { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLContext_QOpenGLContext_CurrentContext()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLContext) CurrentContext() *QOpenGLContext { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLContext_QOpenGLContext_CurrentContext()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLContext) DefaultFramebufferObject() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLContext_DefaultFramebufferObject(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLContext) DoneCurrent() { + if ptr.Pointer() != nil { + C.QOpenGLContext_DoneCurrent(ptr.Pointer()) + } +} + +func (ptr *QOpenGLContext) ExtraFunctions() *QOpenGLExtraFunctions { + if ptr.Pointer() != nil { + return NewQOpenGLExtraFunctionsFromPointer(C.QOpenGLContext_ExtraFunctions(ptr.Pointer())) + } + return nil +} + +func (ptr *QOpenGLContext) Format() *QSurfaceFormat { + if ptr.Pointer() != nil { + tmpValue := NewQSurfaceFormatFromPointer(C.QOpenGLContext_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContext) Functions() *QOpenGLFunctions { + if ptr.Pointer() != nil { + return NewQOpenGLFunctionsFromPointer(C.QOpenGLContext_Functions(ptr.Pointer())) + } + return nil +} + +func QOpenGLContext_GlobalShareContext() *QOpenGLContext { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLContext_QOpenGLContext_GlobalShareContext()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLContext) GlobalShareContext() *QOpenGLContext { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLContext_QOpenGLContext_GlobalShareContext()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLContext) HasExtension(extension core.QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLContext_HasExtension(ptr.Pointer(), core.PointerFromQByteArray(extension))) != 0 + } + return false +} + +func (ptr *QOpenGLContext) IsOpenGLES() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLContext_IsOpenGLES(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLContext) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLContext_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLContext) MakeCurrent(surface QSurface_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLContext_MakeCurrent(ptr.Pointer(), PointerFromQSurface(surface))) != 0 + } + return false +} + +func (ptr *QOpenGLContext) NativeHandle() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QOpenGLContext_NativeHandle(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func QOpenGLContext_OpenGLModuleHandle() unsafe.Pointer { + return C.QOpenGLContext_QOpenGLContext_OpenGLModuleHandle() +} + +func (ptr *QOpenGLContext) OpenGLModuleHandle() unsafe.Pointer { + return C.QOpenGLContext_QOpenGLContext_OpenGLModuleHandle() +} + +func QOpenGLContext_OpenGLModuleType() QOpenGLContext__OpenGLModuleType { + return QOpenGLContext__OpenGLModuleType(C.QOpenGLContext_QOpenGLContext_OpenGLModuleType()) +} + +func (ptr *QOpenGLContext) OpenGLModuleType() QOpenGLContext__OpenGLModuleType { + return QOpenGLContext__OpenGLModuleType(C.QOpenGLContext_QOpenGLContext_OpenGLModuleType()) +} + +func (ptr *QOpenGLContext) Screen() *QScreen { + if ptr.Pointer() != nil { + tmpValue := NewQScreenFromPointer(C.QOpenGLContext_Screen(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContext) SetFormat(format QSurfaceFormat_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_SetFormat(ptr.Pointer(), PointerFromQSurfaceFormat(format)) + } +} + +func (ptr *QOpenGLContext) SetNativeHandle(handle core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_SetNativeHandle(ptr.Pointer(), core.PointerFromQVariant(handle)) + } +} + +func (ptr *QOpenGLContext) SetScreen(screen QScreen_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_SetScreen(ptr.Pointer(), PointerFromQScreen(screen)) + } +} + +func (ptr *QOpenGLContext) SetShareContext(shareContext QOpenGLContext_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_SetShareContext(ptr.Pointer(), PointerFromQOpenGLContext(shareContext)) + } +} + +func (ptr *QOpenGLContext) ShareContext() *QOpenGLContext { + if ptr.Pointer() != nil { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLContext_ShareContext(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContext) ShareGroup() *QOpenGLContextGroup { + if ptr.Pointer() != nil { + tmpValue := NewQOpenGLContextGroupFromPointer(C.QOpenGLContext_ShareGroup(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func QOpenGLContext_SupportsThreadedOpenGL() bool { + return int8(C.QOpenGLContext_QOpenGLContext_SupportsThreadedOpenGL()) != 0 +} + +func (ptr *QOpenGLContext) SupportsThreadedOpenGL() bool { + return int8(C.QOpenGLContext_QOpenGLContext_SupportsThreadedOpenGL()) != 0 +} + +func (ptr *QOpenGLContext) Surface() *QSurface { + if ptr.Pointer() != nil { + return NewQSurfaceFromPointer(C.QOpenGLContext_Surface(ptr.Pointer())) + } + return nil +} + +func (ptr *QOpenGLContext) SwapBuffers(surface QSurface_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_SwapBuffers(ptr.Pointer(), PointerFromQSurface(surface)) + } +} + +func (ptr *QOpenGLContext) VersionFunctions(versionProfile QOpenGLVersionProfile_ITF) *QAbstractOpenGLFunctions { + if ptr.Pointer() != nil { + return NewQAbstractOpenGLFunctionsFromPointer(C.QOpenGLContext_VersionFunctions(ptr.Pointer(), PointerFromQOpenGLVersionProfile(versionProfile))) + } + return nil +} + +//export callbackQOpenGLContext_DestroyQOpenGLContext +func callbackQOpenGLContext_DestroyQOpenGLContext(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLContext"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLContextFromPointer(ptr).DestroyQOpenGLContextDefault() + } +} + +func (ptr *QOpenGLContext) ConnectDestroyQOpenGLContext(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLContext"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLContext", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLContext", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLContext) DisconnectDestroyQOpenGLContext() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLContext") + } +} + +func (ptr *QOpenGLContext) DestroyQOpenGLContext() { + if ptr.Pointer() != nil { + C.QOpenGLContext_DestroyQOpenGLContext(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLContext) DestroyQOpenGLContextDefault() { + if ptr.Pointer() != nil { + C.QOpenGLContext_DestroyQOpenGLContextDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLContext) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLContext___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContext) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLContext) __children_newList() unsafe.Pointer { + return C.QOpenGLContext___children_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLContext) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOpenGLContext___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContext) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QOpenGLContext) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QOpenGLContext___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLContext) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLContext___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContext) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLContext) __findChildren_newList() unsafe.Pointer { + return C.QOpenGLContext___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLContext) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLContext___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContext) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLContext) __findChildren_newList3() unsafe.Pointer { + return C.QOpenGLContext___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QOpenGLContext) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLContext___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContext) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLContext) __qFindChildren_newList2() unsafe.Pointer { + return C.QOpenGLContext___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQOpenGLContext_ChildEvent +func callbackQOpenGLContext_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQOpenGLContextFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QOpenGLContext) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQOpenGLContext_ConnectNotify +func callbackQOpenGLContext_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLContextFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLContext) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLContext_CustomEvent +func callbackQOpenGLContext_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQOpenGLContextFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QOpenGLContext) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQOpenGLContext_DeleteLater +func callbackQOpenGLContext_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLContextFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QOpenGLContext) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QOpenGLContext_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQOpenGLContext_Destroyed +func callbackQOpenGLContext_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQOpenGLContext_DisconnectNotify +func callbackQOpenGLContext_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLContextFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLContext) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLContext_Event +func callbackQOpenGLContext_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLContextFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QOpenGLContext) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLContext_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQOpenGLContext_EventFilter +func callbackQOpenGLContext_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLContextFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QOpenGLContext) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLContext_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQOpenGLContext_MetaObject +func callbackQOpenGLContext_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQOpenGLContextFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QOpenGLContext) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOpenGLContext_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQOpenGLContext_ObjectNameChanged +func callbackQOpenGLContext_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQOpenGLContext_TimerEvent +func callbackQOpenGLContext_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQOpenGLContextFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QOpenGLContext) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContext_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOpenGLContextGroup struct { + core.QObject +} + +type QOpenGLContextGroup_ITF interface { + core.QObject_ITF + QOpenGLContextGroup_PTR() *QOpenGLContextGroup +} + +func (ptr *QOpenGLContextGroup) QOpenGLContextGroup_PTR() *QOpenGLContextGroup { + return ptr +} + +func (ptr *QOpenGLContextGroup) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLContextGroup) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLContextGroup(ptr QOpenGLContextGroup_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLContextGroup_PTR().Pointer() + } + return nil +} + +func NewQOpenGLContextGroupFromPointer(ptr unsafe.Pointer) (n *QOpenGLContextGroup) { + n = new(QOpenGLContextGroup) + n.SetPointer(ptr) + return +} +func QOpenGLContextGroup_CurrentContextGroup() *QOpenGLContextGroup { + tmpValue := NewQOpenGLContextGroupFromPointer(C.QOpenGLContextGroup_QOpenGLContextGroup_CurrentContextGroup()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLContextGroup) CurrentContextGroup() *QOpenGLContextGroup { + tmpValue := NewQOpenGLContextGroupFromPointer(C.QOpenGLContextGroup_QOpenGLContextGroup_CurrentContextGroup()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLContextGroup) Shares() []*QOpenGLContext { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QOpenGLContext { + out := make([]*QOpenGLContext, int(l.len)) + tmpList := NewQOpenGLContextGroupFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__shares_atList(i) + } + return out + }(C.QOpenGLContextGroup_Shares(ptr.Pointer())) + } + return make([]*QOpenGLContext, 0) +} + +func (ptr *QOpenGLContextGroup) __shares_atList(i int) *QOpenGLContext { + if ptr.Pointer() != nil { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLContextGroup___shares_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContextGroup) __shares_setList(i QOpenGLContext_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup___shares_setList(ptr.Pointer(), PointerFromQOpenGLContext(i)) + } +} + +func (ptr *QOpenGLContextGroup) __shares_newList() unsafe.Pointer { + return C.QOpenGLContextGroup___shares_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLContextGroup) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLContextGroup___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContextGroup) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLContextGroup) __children_newList() unsafe.Pointer { + return C.QOpenGLContextGroup___children_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLContextGroup) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOpenGLContextGroup___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContextGroup) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QOpenGLContextGroup) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QOpenGLContextGroup___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLContextGroup) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLContextGroup___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContextGroup) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLContextGroup) __findChildren_newList() unsafe.Pointer { + return C.QOpenGLContextGroup___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLContextGroup) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLContextGroup___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContextGroup) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLContextGroup) __findChildren_newList3() unsafe.Pointer { + return C.QOpenGLContextGroup___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QOpenGLContextGroup) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLContextGroup___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLContextGroup) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLContextGroup) __qFindChildren_newList2() unsafe.Pointer { + return C.QOpenGLContextGroup___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQOpenGLContextGroup_ChildEvent +func callbackQOpenGLContextGroup_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQOpenGLContextGroupFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QOpenGLContextGroup) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQOpenGLContextGroup_ConnectNotify +func callbackQOpenGLContextGroup_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLContextGroupFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLContextGroup) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLContextGroup_CustomEvent +func callbackQOpenGLContextGroup_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQOpenGLContextGroupFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QOpenGLContextGroup) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQOpenGLContextGroup_DeleteLater +func callbackQOpenGLContextGroup_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLContextGroupFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QOpenGLContextGroup) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQOpenGLContextGroup_Destroyed +func callbackQOpenGLContextGroup_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQOpenGLContextGroup_DisconnectNotify +func callbackQOpenGLContextGroup_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLContextGroupFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLContextGroup) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLContextGroup_Event +func callbackQOpenGLContextGroup_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLContextGroupFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QOpenGLContextGroup) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLContextGroup_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQOpenGLContextGroup_EventFilter +func callbackQOpenGLContextGroup_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLContextGroupFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QOpenGLContextGroup) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLContextGroup_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQOpenGLContextGroup_MetaObject +func callbackQOpenGLContextGroup_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQOpenGLContextGroupFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QOpenGLContextGroup) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOpenGLContextGroup_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQOpenGLContextGroup_ObjectNameChanged +func callbackQOpenGLContextGroup_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQOpenGLContextGroup_TimerEvent +func callbackQOpenGLContextGroup_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQOpenGLContextGroupFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QOpenGLContextGroup) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLContextGroup_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOpenGLDebugLogger struct { + core.QObject +} + +type QOpenGLDebugLogger_ITF interface { + core.QObject_ITF + QOpenGLDebugLogger_PTR() *QOpenGLDebugLogger +} + +func (ptr *QOpenGLDebugLogger) QOpenGLDebugLogger_PTR() *QOpenGLDebugLogger { + return ptr +} + +func (ptr *QOpenGLDebugLogger) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLDebugLogger) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLDebugLogger(ptr QOpenGLDebugLogger_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLDebugLogger_PTR().Pointer() + } + return nil +} + +func NewQOpenGLDebugLoggerFromPointer(ptr unsafe.Pointer) (n *QOpenGLDebugLogger) { + n = new(QOpenGLDebugLogger) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOpenGLDebugLogger__LoggingMode +//QOpenGLDebugLogger::LoggingMode +type QOpenGLDebugLogger__LoggingMode int64 + +const ( + QOpenGLDebugLogger__AsynchronousLogging QOpenGLDebugLogger__LoggingMode = QOpenGLDebugLogger__LoggingMode(0) + QOpenGLDebugLogger__SynchronousLogging QOpenGLDebugLogger__LoggingMode = QOpenGLDebugLogger__LoggingMode(1) +) + +func NewQOpenGLDebugLogger(parent core.QObject_ITF) *QOpenGLDebugLogger { + tmpValue := NewQOpenGLDebugLoggerFromPointer(C.QOpenGLDebugLogger_NewQOpenGLDebugLogger(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLDebugLogger) DisableMessages(sources QOpenGLDebugMessage__Source, types QOpenGLDebugMessage__Type, severities QOpenGLDebugMessage__Severity) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_DisableMessages(ptr.Pointer(), C.longlong(sources), C.longlong(types), C.longlong(severities)) + } +} + +func (ptr *QOpenGLDebugLogger) DisableMessages2(ids []uint, sources QOpenGLDebugMessage__Source, types QOpenGLDebugMessage__Type) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_DisableMessages2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQOpenGLDebugLoggerFromPointer(NewQOpenGLDebugLoggerFromPointer(nil).__disableMessages_ids_newList2()) + for _, v := range ids { + tmpList.__disableMessages_ids_setList2(v) + } + return tmpList.Pointer() + }(), C.longlong(sources), C.longlong(types)) + } +} + +func (ptr *QOpenGLDebugLogger) EnableMessages(sources QOpenGLDebugMessage__Source, types QOpenGLDebugMessage__Type, severities QOpenGLDebugMessage__Severity) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_EnableMessages(ptr.Pointer(), C.longlong(sources), C.longlong(types), C.longlong(severities)) + } +} + +func (ptr *QOpenGLDebugLogger) EnableMessages2(ids []uint, sources QOpenGLDebugMessage__Source, types QOpenGLDebugMessage__Type) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_EnableMessages2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQOpenGLDebugLoggerFromPointer(NewQOpenGLDebugLoggerFromPointer(nil).__enableMessages_ids_newList2()) + for _, v := range ids { + tmpList.__enableMessages_ids_setList2(v) + } + return tmpList.Pointer() + }(), C.longlong(sources), C.longlong(types)) + } +} + +func (ptr *QOpenGLDebugLogger) Initialize() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLDebugLogger_Initialize(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLDebugLogger) IsLogging() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLDebugLogger_IsLogging(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQOpenGLDebugLogger_LogMessage +func callbackQOpenGLDebugLogger_LogMessage(ptr unsafe.Pointer, debugMessage unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "logMessage"); signal != nil { + (*(*func(*QOpenGLDebugMessage))(signal))(NewQOpenGLDebugMessageFromPointer(debugMessage)) + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).LogMessageDefault(NewQOpenGLDebugMessageFromPointer(debugMessage)) + } +} + +func (ptr *QOpenGLDebugLogger) ConnectLogMessage(f func(debugMessage *QOpenGLDebugMessage)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "logMessage"); signal != nil { + f := func(debugMessage *QOpenGLDebugMessage) { + (*(*func(*QOpenGLDebugMessage))(signal))(debugMessage) + f(debugMessage) + } + qt.ConnectSignal(ptr.Pointer(), "logMessage", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "logMessage", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLDebugLogger) DisconnectLogMessage() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "logMessage") + } +} + +func (ptr *QOpenGLDebugLogger) LogMessage(debugMessage QOpenGLDebugMessage_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_LogMessage(ptr.Pointer(), PointerFromQOpenGLDebugMessage(debugMessage)) + } +} + +func (ptr *QOpenGLDebugLogger) LogMessageDefault(debugMessage QOpenGLDebugMessage_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_LogMessageDefault(ptr.Pointer(), PointerFromQOpenGLDebugMessage(debugMessage)) + } +} + +func (ptr *QOpenGLDebugLogger) LoggedMessages() []*QOpenGLDebugMessage { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QOpenGLDebugMessage { + out := make([]*QOpenGLDebugMessage, int(l.len)) + tmpList := NewQOpenGLDebugLoggerFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__loggedMessages_atList(i) + } + return out + }(C.QOpenGLDebugLogger_LoggedMessages(ptr.Pointer())) + } + return make([]*QOpenGLDebugMessage, 0) +} + +func (ptr *QOpenGLDebugLogger) LoggingMode() QOpenGLDebugLogger__LoggingMode { + if ptr.Pointer() != nil { + return QOpenGLDebugLogger__LoggingMode(C.QOpenGLDebugLogger_LoggingMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLDebugLogger) MaximumMessageLength() int64 { + if ptr.Pointer() != nil { + return int64(C.QOpenGLDebugLogger_MaximumMessageLength(ptr.Pointer())) + } + return 0 +} + +//export callbackQOpenGLDebugLogger_MessageLogged +func callbackQOpenGLDebugLogger_MessageLogged(ptr unsafe.Pointer, debugMessage unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "messageLogged"); signal != nil { + (*(*func(*QOpenGLDebugMessage))(signal))(NewQOpenGLDebugMessageFromPointer(debugMessage)) + } + +} + +func (ptr *QOpenGLDebugLogger) ConnectMessageLogged(f func(debugMessage *QOpenGLDebugMessage)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "messageLogged") { + C.QOpenGLDebugLogger_ConnectMessageLogged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "messageLogged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "messageLogged"); signal != nil { + f := func(debugMessage *QOpenGLDebugMessage) { + (*(*func(*QOpenGLDebugMessage))(signal))(debugMessage) + f(debugMessage) + } + qt.ConnectSignal(ptr.Pointer(), "messageLogged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "messageLogged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLDebugLogger) DisconnectMessageLogged() { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_DisconnectMessageLogged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "messageLogged") + } +} + +func (ptr *QOpenGLDebugLogger) MessageLogged(debugMessage QOpenGLDebugMessage_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_MessageLogged(ptr.Pointer(), PointerFromQOpenGLDebugMessage(debugMessage)) + } +} + +func (ptr *QOpenGLDebugLogger) PopGroup() { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_PopGroup(ptr.Pointer()) + } +} + +func (ptr *QOpenGLDebugLogger) PushGroup(name string, id uint, source QOpenGLDebugMessage__Source) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLDebugLogger_PushGroup(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}, C.uint(uint32(id)), C.longlong(source)) + } +} + +//export callbackQOpenGLDebugLogger_StartLogging +func callbackQOpenGLDebugLogger_StartLogging(ptr unsafe.Pointer, loggingMode C.longlong) { + if signal := qt.GetSignal(ptr, "startLogging"); signal != nil { + (*(*func(QOpenGLDebugLogger__LoggingMode))(signal))(QOpenGLDebugLogger__LoggingMode(loggingMode)) + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).StartLoggingDefault(QOpenGLDebugLogger__LoggingMode(loggingMode)) + } +} + +func (ptr *QOpenGLDebugLogger) ConnectStartLogging(f func(loggingMode QOpenGLDebugLogger__LoggingMode)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "startLogging"); signal != nil { + f := func(loggingMode QOpenGLDebugLogger__LoggingMode) { + (*(*func(QOpenGLDebugLogger__LoggingMode))(signal))(loggingMode) + f(loggingMode) + } + qt.ConnectSignal(ptr.Pointer(), "startLogging", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "startLogging", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLDebugLogger) DisconnectStartLogging() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "startLogging") + } +} + +func (ptr *QOpenGLDebugLogger) StartLogging(loggingMode QOpenGLDebugLogger__LoggingMode) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_StartLogging(ptr.Pointer(), C.longlong(loggingMode)) + } +} + +func (ptr *QOpenGLDebugLogger) StartLoggingDefault(loggingMode QOpenGLDebugLogger__LoggingMode) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_StartLoggingDefault(ptr.Pointer(), C.longlong(loggingMode)) + } +} + +//export callbackQOpenGLDebugLogger_StopLogging +func callbackQOpenGLDebugLogger_StopLogging(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "stopLogging"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).StopLoggingDefault() + } +} + +func (ptr *QOpenGLDebugLogger) ConnectStopLogging(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "stopLogging"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "stopLogging", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stopLogging", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLDebugLogger) DisconnectStopLogging() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "stopLogging") + } +} + +func (ptr *QOpenGLDebugLogger) StopLogging() { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_StopLogging(ptr.Pointer()) + } +} + +func (ptr *QOpenGLDebugLogger) StopLoggingDefault() { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_StopLoggingDefault(ptr.Pointer()) + } +} + +//export callbackQOpenGLDebugLogger_DestroyQOpenGLDebugLogger +func callbackQOpenGLDebugLogger_DestroyQOpenGLDebugLogger(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLDebugLogger"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).DestroyQOpenGLDebugLoggerDefault() + } +} + +func (ptr *QOpenGLDebugLogger) ConnectDestroyQOpenGLDebugLogger(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLDebugLogger"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLDebugLogger", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLDebugLogger", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLDebugLogger) DisconnectDestroyQOpenGLDebugLogger() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLDebugLogger") + } +} + +func (ptr *QOpenGLDebugLogger) DestroyQOpenGLDebugLogger() { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_DestroyQOpenGLDebugLogger(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLDebugLogger) DestroyQOpenGLDebugLoggerDefault() { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_DestroyQOpenGLDebugLoggerDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLDebugLogger) __disableMessages_ids_atList2(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLDebugLogger___disableMessages_ids_atList2(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QOpenGLDebugLogger) __disableMessages_ids_setList2(i uint) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger___disableMessages_ids_setList2(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QOpenGLDebugLogger) __disableMessages_ids_newList2() unsafe.Pointer { + return C.QOpenGLDebugLogger___disableMessages_ids_newList2(ptr.Pointer()) +} + +func (ptr *QOpenGLDebugLogger) __enableMessages_ids_atList2(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLDebugLogger___enableMessages_ids_atList2(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QOpenGLDebugLogger) __enableMessages_ids_setList2(i uint) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger___enableMessages_ids_setList2(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QOpenGLDebugLogger) __enableMessages_ids_newList2() unsafe.Pointer { + return C.QOpenGLDebugLogger___enableMessages_ids_newList2(ptr.Pointer()) +} + +func (ptr *QOpenGLDebugLogger) __loggedMessages_atList(i int) *QOpenGLDebugMessage { + if ptr.Pointer() != nil { + tmpValue := NewQOpenGLDebugMessageFromPointer(C.QOpenGLDebugLogger___loggedMessages_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QOpenGLDebugMessage).DestroyQOpenGLDebugMessage) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLDebugLogger) __loggedMessages_setList(i QOpenGLDebugMessage_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger___loggedMessages_setList(ptr.Pointer(), PointerFromQOpenGLDebugMessage(i)) + } +} + +func (ptr *QOpenGLDebugLogger) __loggedMessages_newList() unsafe.Pointer { + return C.QOpenGLDebugLogger___loggedMessages_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLDebugLogger) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLDebugLogger___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLDebugLogger) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLDebugLogger) __children_newList() unsafe.Pointer { + return C.QOpenGLDebugLogger___children_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLDebugLogger) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOpenGLDebugLogger___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLDebugLogger) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QOpenGLDebugLogger) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QOpenGLDebugLogger___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLDebugLogger) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLDebugLogger___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLDebugLogger) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLDebugLogger) __findChildren_newList() unsafe.Pointer { + return C.QOpenGLDebugLogger___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLDebugLogger) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLDebugLogger___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLDebugLogger) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLDebugLogger) __findChildren_newList3() unsafe.Pointer { + return C.QOpenGLDebugLogger___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QOpenGLDebugLogger) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLDebugLogger___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLDebugLogger) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLDebugLogger) __qFindChildren_newList2() unsafe.Pointer { + return C.QOpenGLDebugLogger___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQOpenGLDebugLogger_ChildEvent +func callbackQOpenGLDebugLogger_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QOpenGLDebugLogger) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQOpenGLDebugLogger_ConnectNotify +func callbackQOpenGLDebugLogger_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLDebugLogger) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLDebugLogger_CustomEvent +func callbackQOpenGLDebugLogger_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QOpenGLDebugLogger) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQOpenGLDebugLogger_DeleteLater +func callbackQOpenGLDebugLogger_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QOpenGLDebugLogger) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQOpenGLDebugLogger_Destroyed +func callbackQOpenGLDebugLogger_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQOpenGLDebugLogger_DisconnectNotify +func callbackQOpenGLDebugLogger_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLDebugLogger) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLDebugLogger_Event +func callbackQOpenGLDebugLogger_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLDebugLoggerFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QOpenGLDebugLogger) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLDebugLogger_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQOpenGLDebugLogger_EventFilter +func callbackQOpenGLDebugLogger_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLDebugLoggerFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QOpenGLDebugLogger) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLDebugLogger_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQOpenGLDebugLogger_MetaObject +func callbackQOpenGLDebugLogger_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQOpenGLDebugLoggerFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QOpenGLDebugLogger) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOpenGLDebugLogger_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQOpenGLDebugLogger_ObjectNameChanged +func callbackQOpenGLDebugLogger_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQOpenGLDebugLogger_TimerEvent +func callbackQOpenGLDebugLogger_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQOpenGLDebugLoggerFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QOpenGLDebugLogger) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugLogger_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOpenGLDebugMessage struct { + ptr unsafe.Pointer +} + +type QOpenGLDebugMessage_ITF interface { + QOpenGLDebugMessage_PTR() *QOpenGLDebugMessage +} + +func (ptr *QOpenGLDebugMessage) QOpenGLDebugMessage_PTR() *QOpenGLDebugMessage { + return ptr +} + +func (ptr *QOpenGLDebugMessage) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLDebugMessage) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLDebugMessage(ptr QOpenGLDebugMessage_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLDebugMessage_PTR().Pointer() + } + return nil +} + +func NewQOpenGLDebugMessageFromPointer(ptr unsafe.Pointer) (n *QOpenGLDebugMessage) { + n = new(QOpenGLDebugMessage) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOpenGLDebugMessage__Source +//QOpenGLDebugMessage::Source +type QOpenGLDebugMessage__Source int64 + +const ( + QOpenGLDebugMessage__InvalidSource QOpenGLDebugMessage__Source = QOpenGLDebugMessage__Source(0x00000000) + QOpenGLDebugMessage__APISource QOpenGLDebugMessage__Source = QOpenGLDebugMessage__Source(0x00000001) + QOpenGLDebugMessage__WindowSystemSource QOpenGLDebugMessage__Source = QOpenGLDebugMessage__Source(0x00000002) + QOpenGLDebugMessage__ShaderCompilerSource QOpenGLDebugMessage__Source = QOpenGLDebugMessage__Source(0x00000004) + QOpenGLDebugMessage__ThirdPartySource QOpenGLDebugMessage__Source = QOpenGLDebugMessage__Source(0x00000008) + QOpenGLDebugMessage__ApplicationSource QOpenGLDebugMessage__Source = QOpenGLDebugMessage__Source(0x00000010) + QOpenGLDebugMessage__OtherSource QOpenGLDebugMessage__Source = QOpenGLDebugMessage__Source(0x00000020) + QOpenGLDebugMessage__LastSource QOpenGLDebugMessage__Source = QOpenGLDebugMessage__Source(QOpenGLDebugMessage__OtherSource) + QOpenGLDebugMessage__AnySource QOpenGLDebugMessage__Source = QOpenGLDebugMessage__Source(0xffffffff) +) + +//go:generate stringer -type=QOpenGLDebugMessage__Type +//QOpenGLDebugMessage::Type +type QOpenGLDebugMessage__Type int64 + +const ( + QOpenGLDebugMessage__InvalidType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000000) + QOpenGLDebugMessage__ErrorType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000001) + QOpenGLDebugMessage__DeprecatedBehaviorType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000002) + QOpenGLDebugMessage__UndefinedBehaviorType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000004) + QOpenGLDebugMessage__PortabilityType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000008) + QOpenGLDebugMessage__PerformanceType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000010) + QOpenGLDebugMessage__OtherType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000020) + QOpenGLDebugMessage__MarkerType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000040) + QOpenGLDebugMessage__GroupPushType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000080) + QOpenGLDebugMessage__GroupPopType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0x00000100) + QOpenGLDebugMessage__LastType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(QOpenGLDebugMessage__GroupPopType) + QOpenGLDebugMessage__AnyType QOpenGLDebugMessage__Type = QOpenGLDebugMessage__Type(0xffffffff) +) + +//go:generate stringer -type=QOpenGLDebugMessage__Severity +//QOpenGLDebugMessage::Severity +type QOpenGLDebugMessage__Severity int64 + +const ( + QOpenGLDebugMessage__InvalidSeverity QOpenGLDebugMessage__Severity = QOpenGLDebugMessage__Severity(0x00000000) + QOpenGLDebugMessage__HighSeverity QOpenGLDebugMessage__Severity = QOpenGLDebugMessage__Severity(0x00000001) + QOpenGLDebugMessage__MediumSeverity QOpenGLDebugMessage__Severity = QOpenGLDebugMessage__Severity(0x00000002) + QOpenGLDebugMessage__LowSeverity QOpenGLDebugMessage__Severity = QOpenGLDebugMessage__Severity(0x00000004) + QOpenGLDebugMessage__NotificationSeverity QOpenGLDebugMessage__Severity = QOpenGLDebugMessage__Severity(0x00000008) + QOpenGLDebugMessage__LastSeverity QOpenGLDebugMessage__Severity = QOpenGLDebugMessage__Severity(QOpenGLDebugMessage__NotificationSeverity) + QOpenGLDebugMessage__AnySeverity QOpenGLDebugMessage__Severity = QOpenGLDebugMessage__Severity(0xffffffff) +) + +func NewQOpenGLDebugMessage() *QOpenGLDebugMessage { + tmpValue := NewQOpenGLDebugMessageFromPointer(C.QOpenGLDebugMessage_NewQOpenGLDebugMessage()) + runtime.SetFinalizer(tmpValue, (*QOpenGLDebugMessage).DestroyQOpenGLDebugMessage) + return tmpValue +} + +func NewQOpenGLDebugMessage2(debugMessage QOpenGLDebugMessage_ITF) *QOpenGLDebugMessage { + tmpValue := NewQOpenGLDebugMessageFromPointer(C.QOpenGLDebugMessage_NewQOpenGLDebugMessage2(PointerFromQOpenGLDebugMessage(debugMessage))) + runtime.SetFinalizer(tmpValue, (*QOpenGLDebugMessage).DestroyQOpenGLDebugMessage) + return tmpValue +} + +func QOpenGLDebugMessage_CreateApplicationMessage(text string, id uint, severity QOpenGLDebugMessage__Severity, ty QOpenGLDebugMessage__Type) *QOpenGLDebugMessage { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQOpenGLDebugMessageFromPointer(C.QOpenGLDebugMessage_QOpenGLDebugMessage_CreateApplicationMessage(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.uint(uint32(id)), C.longlong(severity), C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QOpenGLDebugMessage).DestroyQOpenGLDebugMessage) + return tmpValue +} + +func (ptr *QOpenGLDebugMessage) CreateApplicationMessage(text string, id uint, severity QOpenGLDebugMessage__Severity, ty QOpenGLDebugMessage__Type) *QOpenGLDebugMessage { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQOpenGLDebugMessageFromPointer(C.QOpenGLDebugMessage_QOpenGLDebugMessage_CreateApplicationMessage(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.uint(uint32(id)), C.longlong(severity), C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QOpenGLDebugMessage).DestroyQOpenGLDebugMessage) + return tmpValue +} + +func QOpenGLDebugMessage_CreateThirdPartyMessage(text string, id uint, severity QOpenGLDebugMessage__Severity, ty QOpenGLDebugMessage__Type) *QOpenGLDebugMessage { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQOpenGLDebugMessageFromPointer(C.QOpenGLDebugMessage_QOpenGLDebugMessage_CreateThirdPartyMessage(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.uint(uint32(id)), C.longlong(severity), C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QOpenGLDebugMessage).DestroyQOpenGLDebugMessage) + return tmpValue +} + +func (ptr *QOpenGLDebugMessage) CreateThirdPartyMessage(text string, id uint, severity QOpenGLDebugMessage__Severity, ty QOpenGLDebugMessage__Type) *QOpenGLDebugMessage { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQOpenGLDebugMessageFromPointer(C.QOpenGLDebugMessage_QOpenGLDebugMessage_CreateThirdPartyMessage(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.uint(uint32(id)), C.longlong(severity), C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*QOpenGLDebugMessage).DestroyQOpenGLDebugMessage) + return tmpValue +} + +func (ptr *QOpenGLDebugMessage) Id() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLDebugMessage_Id(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLDebugMessage) Message() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QOpenGLDebugMessage_Message(ptr.Pointer())) + } + return "" +} + +func (ptr *QOpenGLDebugMessage) Severity() QOpenGLDebugMessage__Severity { + if ptr.Pointer() != nil { + return QOpenGLDebugMessage__Severity(C.QOpenGLDebugMessage_Severity(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLDebugMessage) Source() QOpenGLDebugMessage__Source { + if ptr.Pointer() != nil { + return QOpenGLDebugMessage__Source(C.QOpenGLDebugMessage_Source(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLDebugMessage) Swap(debugMessage QOpenGLDebugMessage_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLDebugMessage_Swap(ptr.Pointer(), PointerFromQOpenGLDebugMessage(debugMessage)) + } +} + +func (ptr *QOpenGLDebugMessage) Type() QOpenGLDebugMessage__Type { + if ptr.Pointer() != nil { + return QOpenGLDebugMessage__Type(C.QOpenGLDebugMessage_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLDebugMessage) DestroyQOpenGLDebugMessage() { + if ptr.Pointer() != nil { + C.QOpenGLDebugMessage_DestroyQOpenGLDebugMessage(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLExtraFunctions struct { + QOpenGLFunctions +} + +type QOpenGLExtraFunctions_ITF interface { + QOpenGLFunctions_ITF + QOpenGLExtraFunctions_PTR() *QOpenGLExtraFunctions +} + +func (ptr *QOpenGLExtraFunctions) QOpenGLExtraFunctions_PTR() *QOpenGLExtraFunctions { + return ptr +} + +func (ptr *QOpenGLExtraFunctions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLExtraFunctions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLExtraFunctions(ptr QOpenGLExtraFunctions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLExtraFunctions_PTR().Pointer() + } + return nil +} + +func NewQOpenGLExtraFunctionsFromPointer(ptr unsafe.Pointer) (n *QOpenGLExtraFunctions) { + n = new(QOpenGLExtraFunctions) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLExtraFunctions) DestroyQOpenGLExtraFunctions() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQOpenGLExtraFunctions() *QOpenGLExtraFunctions { + tmpValue := NewQOpenGLExtraFunctionsFromPointer(C.QOpenGLExtraFunctions_NewQOpenGLExtraFunctions()) + runtime.SetFinalizer(tmpValue, (*QOpenGLExtraFunctions).DestroyQOpenGLExtraFunctions) + return tmpValue +} + +func NewQOpenGLExtraFunctions2(context QOpenGLContext_ITF) *QOpenGLExtraFunctions { + tmpValue := NewQOpenGLExtraFunctionsFromPointer(C.QOpenGLExtraFunctions_NewQOpenGLExtraFunctions2(PointerFromQOpenGLContext(context))) + runtime.SetFinalizer(tmpValue, (*QOpenGLExtraFunctions).DestroyQOpenGLExtraFunctions) + return tmpValue +} + +func (ptr *QOpenGLExtraFunctions) GlActiveShaderProgram(pipeline uint, program uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlActiveShaderProgram(ptr.Pointer(), C.uint(uint32(pipeline)), C.uint(uint32(program))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBeginQuery(target uint, id uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBeginQuery(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(id))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBeginTransformFeedback(primitiveMode uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBeginTransformFeedback(ptr.Pointer(), C.uint(uint32(primitiveMode))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBindBufferBase(target uint, index uint, buffer uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBindBufferBase(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(index)), C.uint(uint32(buffer))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBindImageTexture(unit uint, texture uint, level int, layered bool, layer int, access uint, format uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBindImageTexture(ptr.Pointer(), C.uint(uint32(unit)), C.uint(uint32(texture)), C.int(int32(level)), C.char(int8(qt.GoBoolToInt(layered))), C.int(int32(layer)), C.uint(uint32(access)), C.uint(uint32(format))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBindProgramPipeline(pipeline uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBindProgramPipeline(ptr.Pointer(), C.uint(uint32(pipeline))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBindSampler(unit uint, sampler uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBindSampler(ptr.Pointer(), C.uint(uint32(unit)), C.uint(uint32(sampler))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBindTransformFeedback(target uint, id uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBindTransformFeedback(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(id))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBindVertexArray(array uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBindVertexArray(ptr.Pointer(), C.uint(uint32(array))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBlendBarrier() { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBlendBarrier(ptr.Pointer()) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBlendEquationSeparatei(buf uint, modeRGB uint, modeAlpha uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBlendEquationSeparatei(ptr.Pointer(), C.uint(uint32(buf)), C.uint(uint32(modeRGB)), C.uint(uint32(modeAlpha))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBlendEquationi(buf uint, mode uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBlendEquationi(ptr.Pointer(), C.uint(uint32(buf)), C.uint(uint32(mode))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBlendFuncSeparatei(buf uint, srcRGB uint, dstRGB uint, srcAlpha uint, dstAlpha uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBlendFuncSeparatei(ptr.Pointer(), C.uint(uint32(buf)), C.uint(uint32(srcRGB)), C.uint(uint32(dstRGB)), C.uint(uint32(srcAlpha)), C.uint(uint32(dstAlpha))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBlendFunci(buf uint, src uint, dst uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBlendFunci(ptr.Pointer(), C.uint(uint32(buf)), C.uint(uint32(src)), C.uint(uint32(dst))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlBlitFramebuffer(srcX0 int, srcY0 int, srcX1 int, srcY1 int, dstX0 int, dstY0 int, dstX1 int, dstY1 int, mask uint, filter uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlBlitFramebuffer(ptr.Pointer(), C.int(int32(srcX0)), C.int(int32(srcY0)), C.int(int32(srcX1)), C.int(int32(srcY1)), C.int(int32(dstX0)), C.int(int32(dstY0)), C.int(int32(dstX1)), C.int(int32(dstY1)), C.uint(uint32(mask)), C.uint(uint32(filter))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlClearBufferfi(buffer uint, drawbuffer int, depth float32, stencil int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlClearBufferfi(ptr.Pointer(), C.uint(uint32(buffer)), C.int(int32(drawbuffer)), C.float(depth), C.int(int32(stencil))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlClearBufferfv(buffer uint, drawbuffer int, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlClearBufferfv(ptr.Pointer(), C.uint(uint32(buffer)), C.int(int32(drawbuffer)), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlClearBufferiv(buffer uint, drawbuffer int, value int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlClearBufferiv(ptr.Pointer(), C.uint(uint32(buffer)), C.int(int32(drawbuffer)), C.int(int32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlClearBufferuiv(buffer uint, drawbuffer int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlClearBufferuiv(ptr.Pointer(), C.uint(uint32(buffer)), C.int(int32(drawbuffer)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlColorMaski(index uint, r bool, g bool, b bool, a bool) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlColorMaski(ptr.Pointer(), C.uint(uint32(index)), C.char(int8(qt.GoBoolToInt(r))), C.char(int8(qt.GoBoolToInt(g))), C.char(int8(qt.GoBoolToInt(b))), C.char(int8(qt.GoBoolToInt(a)))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlCompressedTexImage3D(target uint, level int, internalformat uint, width int, height int, depth int, border int, imageSize int, data unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlCompressedTexImage3D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.uint(uint32(internalformat)), C.int(int32(width)), C.int(int32(height)), C.int(int32(depth)), C.int(int32(border)), C.int(int32(imageSize)), data) + } +} + +func (ptr *QOpenGLExtraFunctions) GlCompressedTexSubImage3D(target uint, level int, xoffset int, yoffset int, zoffset int, width int, height int, depth int, format uint, imageSize int, data unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlCompressedTexSubImage3D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.int(int32(xoffset)), C.int(int32(yoffset)), C.int(int32(zoffset)), C.int(int32(width)), C.int(int32(height)), C.int(int32(depth)), C.uint(uint32(format)), C.int(int32(imageSize)), data) + } +} + +func (ptr *QOpenGLExtraFunctions) GlCopyImageSubData(srcName uint, srcTarget uint, srcLevel int, srcX int, srcY int, srcZ int, dstName uint, dstTarget uint, dstLevel int, dstX int, dstY int, dstZ int, srcWidth int, srcHeight int, srcDepth int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlCopyImageSubData(ptr.Pointer(), C.uint(uint32(srcName)), C.uint(uint32(srcTarget)), C.int(int32(srcLevel)), C.int(int32(srcX)), C.int(int32(srcY)), C.int(int32(srcZ)), C.uint(uint32(dstName)), C.uint(uint32(dstTarget)), C.int(int32(dstLevel)), C.int(int32(dstX)), C.int(int32(dstY)), C.int(int32(dstZ)), C.int(int32(srcWidth)), C.int(int32(srcHeight)), C.int(int32(srcDepth))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlCopyTexSubImage3D(target uint, level int, xoffset int, yoffset int, zoffset int, x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlCopyTexSubImage3D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.int(int32(xoffset)), C.int(int32(yoffset)), C.int(int32(zoffset)), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDebugMessageControl(source uint, ty uint, severity uint, count int, ids uint, enabled bool) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDebugMessageControl(ptr.Pointer(), C.uint(uint32(source)), C.uint(uint32(ty)), C.uint(uint32(severity)), C.int(int32(count)), C.uint(uint32(ids)), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDeleteProgramPipelines(n int, pipelines uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDeleteProgramPipelines(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(pipelines))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDeleteQueries(n int, ids uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDeleteQueries(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(ids))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDeleteSamplers(count int, samplers uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDeleteSamplers(ptr.Pointer(), C.int(int32(count)), C.uint(uint32(samplers))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDeleteTransformFeedbacks(n int, ids uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDeleteTransformFeedbacks(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(ids))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDeleteVertexArrays(n int, arrays uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDeleteVertexArrays(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(arrays))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDisablei(target uint, index uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDisablei(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(index))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDispatchCompute(num_groups_x uint, num_groups_y uint, num_groups_z uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDispatchCompute(ptr.Pointer(), C.uint(uint32(num_groups_x)), C.uint(uint32(num_groups_y)), C.uint(uint32(num_groups_z))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDrawArraysIndirect(mode uint, indirect unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDrawArraysIndirect(ptr.Pointer(), C.uint(uint32(mode)), indirect) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDrawArraysInstanced(mode uint, first int, count int, instancecount int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDrawArraysInstanced(ptr.Pointer(), C.uint(uint32(mode)), C.int(int32(first)), C.int(int32(count)), C.int(int32(instancecount))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDrawBuffers(n int, bufs uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDrawBuffers(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(bufs))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDrawElementsBaseVertex(mode uint, count int, ty uint, indices unsafe.Pointer, basevertex int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDrawElementsBaseVertex(ptr.Pointer(), C.uint(uint32(mode)), C.int(int32(count)), C.uint(uint32(ty)), indices, C.int(int32(basevertex))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDrawElementsIndirect(mode uint, ty uint, indirect unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDrawElementsIndirect(ptr.Pointer(), C.uint(uint32(mode)), C.uint(uint32(ty)), indirect) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDrawElementsInstanced(mode uint, count int, ty uint, indices unsafe.Pointer, instancecount int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDrawElementsInstanced(ptr.Pointer(), C.uint(uint32(mode)), C.int(int32(count)), C.uint(uint32(ty)), indices, C.int(int32(instancecount))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDrawElementsInstancedBaseVertex(mode uint, count int, ty uint, indices unsafe.Pointer, instancecount int, basevertex int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDrawElementsInstancedBaseVertex(ptr.Pointer(), C.uint(uint32(mode)), C.int(int32(count)), C.uint(uint32(ty)), indices, C.int(int32(instancecount)), C.int(int32(basevertex))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDrawRangeElements(mode uint, start uint, end uint, count int, ty uint, indices unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDrawRangeElements(ptr.Pointer(), C.uint(uint32(mode)), C.uint(uint32(start)), C.uint(uint32(end)), C.int(int32(count)), C.uint(uint32(ty)), indices) + } +} + +func (ptr *QOpenGLExtraFunctions) GlDrawRangeElementsBaseVertex(mode uint, start uint, end uint, count int, ty uint, indices unsafe.Pointer, basevertex int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlDrawRangeElementsBaseVertex(ptr.Pointer(), C.uint(uint32(mode)), C.uint(uint32(start)), C.uint(uint32(end)), C.int(int32(count)), C.uint(uint32(ty)), indices, C.int(int32(basevertex))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlEnablei(target uint, index uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlEnablei(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(index))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlEndQuery(target uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlEndQuery(ptr.Pointer(), C.uint(uint32(target))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlEndTransformFeedback() { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlEndTransformFeedback(ptr.Pointer()) + } +} + +func (ptr *QOpenGLExtraFunctions) GlFramebufferParameteri(target uint, pname uint, param int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlFramebufferParameteri(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(param))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlFramebufferTexture(target uint, attachment uint, texture uint, level int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlFramebufferTexture(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(attachment)), C.uint(uint32(texture)), C.int(int32(level))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlFramebufferTextureLayer(target uint, attachment uint, texture uint, level int, layer int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlFramebufferTextureLayer(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(attachment)), C.uint(uint32(texture)), C.int(int32(level)), C.int(int32(layer))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGenProgramPipelines(n int, pipelines uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGenProgramPipelines(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(pipelines))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGenQueries(n int, ids uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGenQueries(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(ids))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGenSamplers(count int, samplers uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGenSamplers(ptr.Pointer(), C.int(int32(count)), C.uint(uint32(samplers))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGenTransformFeedbacks(n int, ids uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGenTransformFeedbacks(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(ids))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGenVertexArrays(n int, arrays uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGenVertexArrays(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(arrays))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetActiveUniformBlockiv(program uint, uniformBlockIndex uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetActiveUniformBlockiv(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(uniformBlockIndex)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetActiveUniformsiv(program uint, uniformCount int, uniformIndices uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetActiveUniformsiv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(uniformCount)), C.uint(uint32(uniformIndices)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetBooleani_v(target uint, index uint, data *bool) { + if ptr.Pointer() != nil { + var dataC C.char + if data != nil { + dataC = C.char(int8(qt.GoBoolToInt(*data))) + defer func() { *data = int8(dataC) != 0 }() + } + C.QOpenGLExtraFunctions_GlGetBooleani_v(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(index)), &dataC) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetBufferPointerv(target uint, pname uint, params unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetBufferPointerv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), params) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetFramebufferParameteriv(target uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetFramebufferParameteriv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetGraphicsResetStatus() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLExtraFunctions_GlGetGraphicsResetStatus(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLExtraFunctions) GlGetIntegeri_v(target uint, index uint, data int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetIntegeri_v(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(index)), C.int(int32(data))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetInternalformativ(target uint, internalformat uint, pname uint, bufSize int, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetInternalformativ(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(internalformat)), C.uint(uint32(pname)), C.int(int32(bufSize)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetMultisamplefv(pname uint, index uint, val float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetMultisamplefv(ptr.Pointer(), C.uint(uint32(pname)), C.uint(uint32(index)), C.float(val)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetPointerv(pname uint, params unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetPointerv(ptr.Pointer(), C.uint(uint32(pname)), params) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetProgramBinary(program uint, bufSize int, length int, binaryFormat uint, binary unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetProgramBinary(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(bufSize)), C.int(int32(length)), C.uint(uint32(binaryFormat)), binary) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetProgramInterfaceiv(program uint, programInterface uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetProgramInterfaceiv(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(programInterface)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetProgramPipelineiv(pipeline uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetProgramPipelineiv(ptr.Pointer(), C.uint(uint32(pipeline)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetProgramResourceiv(program uint, programInterface uint, index uint, propCount int, props uint, bufSize int, length int, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetProgramResourceiv(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(programInterface)), C.uint(uint32(index)), C.int(int32(propCount)), C.uint(uint32(props)), C.int(int32(bufSize)), C.int(int32(length)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetQueryObjectuiv(id uint, pname uint, params uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetQueryObjectuiv(ptr.Pointer(), C.uint(uint32(id)), C.uint(uint32(pname)), C.uint(uint32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetQueryiv(target uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetQueryiv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetSamplerParameterIiv(sampler uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetSamplerParameterIiv(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetSamplerParameterIuiv(sampler uint, pname uint, params uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetSamplerParameterIuiv(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.uint(uint32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetSamplerParameterfv(sampler uint, pname uint, params float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetSamplerParameterfv(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.float(params)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetSamplerParameteriv(sampler uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetSamplerParameteriv(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetStringi(name uint, index uint) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QOpenGLExtraFunctions_GlGetStringi(ptr.Pointer(), C.uint(uint32(name)), C.uint(uint32(index)))) + } + return "" +} + +func (ptr *QOpenGLExtraFunctions) GlGetTexLevelParameterfv(target uint, level int, pname uint, params float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetTexLevelParameterfv(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.uint(uint32(pname)), C.float(params)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetTexLevelParameteriv(target uint, level int, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetTexLevelParameteriv(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetTexParameterIiv(target uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetTexParameterIiv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetTexParameterIuiv(target uint, pname uint, params uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetTexParameterIuiv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.uint(uint32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetUniformuiv(program uint, location int, params uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetUniformuiv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.uint(uint32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetVertexAttribIiv(index uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetVertexAttribIiv(ptr.Pointer(), C.uint(uint32(index)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetVertexAttribIuiv(index uint, pname uint, params uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetVertexAttribIuiv(ptr.Pointer(), C.uint(uint32(index)), C.uint(uint32(pname)), C.uint(uint32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetnUniformfv(program uint, location int, bufSize int, params float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetnUniformfv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(bufSize)), C.float(params)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetnUniformiv(program uint, location int, bufSize int, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetnUniformiv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(bufSize)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlGetnUniformuiv(program uint, location int, bufSize int, params uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlGetnUniformuiv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(bufSize)), C.uint(uint32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlInvalidateFramebuffer(target uint, numAttachments int, attachments uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlInvalidateFramebuffer(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(numAttachments)), C.uint(uint32(attachments))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlInvalidateSubFramebuffer(target uint, numAttachments int, attachments uint, x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlInvalidateSubFramebuffer(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(numAttachments)), C.uint(uint32(attachments)), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlIsEnabledi(target uint, index uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLExtraFunctions_GlIsEnabledi(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(index)))) != 0 + } + return false +} + +func (ptr *QOpenGLExtraFunctions) GlIsProgramPipeline(pipeline uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLExtraFunctions_GlIsProgramPipeline(ptr.Pointer(), C.uint(uint32(pipeline)))) != 0 + } + return false +} + +func (ptr *QOpenGLExtraFunctions) GlIsQuery(id uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLExtraFunctions_GlIsQuery(ptr.Pointer(), C.uint(uint32(id)))) != 0 + } + return false +} + +func (ptr *QOpenGLExtraFunctions) GlIsSampler(sampler uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLExtraFunctions_GlIsSampler(ptr.Pointer(), C.uint(uint32(sampler)))) != 0 + } + return false +} + +func (ptr *QOpenGLExtraFunctions) GlIsTransformFeedback(id uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLExtraFunctions_GlIsTransformFeedback(ptr.Pointer(), C.uint(uint32(id)))) != 0 + } + return false +} + +func (ptr *QOpenGLExtraFunctions) GlIsVertexArray(array uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLExtraFunctions_GlIsVertexArray(ptr.Pointer(), C.uint(uint32(array)))) != 0 + } + return false +} + +func (ptr *QOpenGLExtraFunctions) GlMemoryBarrier(barriers uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlMemoryBarrier(ptr.Pointer(), C.uint(uint32(barriers))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlMemoryBarrierByRegion(barriers uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlMemoryBarrierByRegion(ptr.Pointer(), C.uint(uint32(barriers))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlMinSampleShading(value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlMinSampleShading(ptr.Pointer(), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlPatchParameteri(pname uint, value int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlPatchParameteri(ptr.Pointer(), C.uint(uint32(pname)), C.int(int32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlPauseTransformFeedback() { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlPauseTransformFeedback(ptr.Pointer()) + } +} + +func (ptr *QOpenGLExtraFunctions) GlPopDebugGroup() { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlPopDebugGroup(ptr.Pointer()) + } +} + +func (ptr *QOpenGLExtraFunctions) GlPrimitiveBoundingBox(minX float32, minY float32, minZ float32, minW float32, maxX float32, maxY float32, maxZ float32, maxW float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlPrimitiveBoundingBox(ptr.Pointer(), C.float(minX), C.float(minY), C.float(minZ), C.float(minW), C.float(maxX), C.float(maxY), C.float(maxZ), C.float(maxW)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramBinary(program uint, binaryFormat uint, binary unsafe.Pointer, length int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramBinary(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(binaryFormat)), binary, C.int(int32(length))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramParameteri(program uint, pname uint, value int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramParameteri(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(pname)), C.int(int32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform1f(program uint, location int, v0 float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform1f(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.float(v0)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform1fv(program uint, location int, count int, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform1fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform1i(program uint, location int, v0 int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform1i(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(v0))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform1iv(program uint, location int, count int, value int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform1iv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.int(int32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform1ui(program uint, location int, v0 uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform1ui(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.uint(uint32(v0))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform1uiv(program uint, location int, count int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform1uiv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform2f(program uint, location int, v0 float32, v1 float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform2f(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.float(v0), C.float(v1)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform2fv(program uint, location int, count int, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform2fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform2i(program uint, location int, v0 int, v1 int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform2i(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(v0)), C.int(int32(v1))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform2iv(program uint, location int, count int, value int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform2iv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.int(int32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform2ui(program uint, location int, v0 uint, v1 uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform2ui(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.uint(uint32(v0)), C.uint(uint32(v1))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform2uiv(program uint, location int, count int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform2uiv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform3f(program uint, location int, v0 float32, v1 float32, v2 float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform3f(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.float(v0), C.float(v1), C.float(v2)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform3fv(program uint, location int, count int, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform3fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform3i(program uint, location int, v0 int, v1 int, v2 int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform3i(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(v0)), C.int(int32(v1)), C.int(int32(v2))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform3iv(program uint, location int, count int, value int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform3iv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.int(int32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform3ui(program uint, location int, v0 uint, v1 uint, v2 uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform3ui(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.uint(uint32(v0)), C.uint(uint32(v1)), C.uint(uint32(v2))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform3uiv(program uint, location int, count int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform3uiv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform4f(program uint, location int, v0 float32, v1 float32, v2 float32, v3 float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform4f(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.float(v0), C.float(v1), C.float(v2), C.float(v3)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform4fv(program uint, location int, count int, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform4fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform4i(program uint, location int, v0 int, v1 int, v2 int, v3 int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform4i(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(v0)), C.int(int32(v1)), C.int(int32(v2)), C.int(int32(v3))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform4iv(program uint, location int, count int, value int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform4iv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.int(int32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform4ui(program uint, location int, v0 uint, v1 uint, v2 uint, v3 uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform4ui(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.uint(uint32(v0)), C.uint(uint32(v1)), C.uint(uint32(v2)), C.uint(uint32(v3))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniform4uiv(program uint, location int, count int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniform4uiv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniformMatrix2fv(program uint, location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniformMatrix2fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniformMatrix2x3fv(program uint, location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniformMatrix2x3fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniformMatrix2x4fv(program uint, location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniformMatrix2x4fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniformMatrix3fv(program uint, location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniformMatrix3fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniformMatrix3x2fv(program uint, location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniformMatrix3x2fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniformMatrix3x4fv(program uint, location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniformMatrix3x4fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniformMatrix4fv(program uint, location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniformMatrix4fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniformMatrix4x2fv(program uint, location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniformMatrix4x2fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlProgramUniformMatrix4x3fv(program uint, location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlProgramUniformMatrix4x3fv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlReadBuffer(src uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlReadBuffer(ptr.Pointer(), C.uint(uint32(src))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlReadnPixels(x int, y int, width int, height int, format uint, ty uint, bufSize int, data unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlReadnPixels(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.uint(uint32(format)), C.uint(uint32(ty)), C.int(int32(bufSize)), data) + } +} + +func (ptr *QOpenGLExtraFunctions) GlRenderbufferStorageMultisample(target uint, samples int, internalformat uint, width int, height int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlRenderbufferStorageMultisample(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(samples)), C.uint(uint32(internalformat)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlResumeTransformFeedback() { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlResumeTransformFeedback(ptr.Pointer()) + } +} + +func (ptr *QOpenGLExtraFunctions) GlSampleMaski(maskNumber uint, mask uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlSampleMaski(ptr.Pointer(), C.uint(uint32(maskNumber)), C.uint(uint32(mask))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlSamplerParameterIiv(sampler uint, pname uint, param int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlSamplerParameterIiv(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.int(int32(param))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlSamplerParameterIuiv(sampler uint, pname uint, param uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlSamplerParameterIuiv(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.uint(uint32(param))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlSamplerParameterf(sampler uint, pname uint, param float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlSamplerParameterf(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.float(param)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlSamplerParameterfv(sampler uint, pname uint, param float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlSamplerParameterfv(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.float(param)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlSamplerParameteri(sampler uint, pname uint, param int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlSamplerParameteri(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.int(int32(param))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlSamplerParameteriv(sampler uint, pname uint, param int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlSamplerParameteriv(ptr.Pointer(), C.uint(uint32(sampler)), C.uint(uint32(pname)), C.int(int32(param))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlTexBuffer(target uint, internalformat uint, buffer uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlTexBuffer(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(internalformat)), C.uint(uint32(buffer))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlTexImage3D(target uint, level int, internalformat int, width int, height int, depth int, border int, format uint, ty uint, pixels unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlTexImage3D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.int(int32(internalformat)), C.int(int32(width)), C.int(int32(height)), C.int(int32(depth)), C.int(int32(border)), C.uint(uint32(format)), C.uint(uint32(ty)), pixels) + } +} + +func (ptr *QOpenGLExtraFunctions) GlTexParameterIiv(target uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlTexParameterIiv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlTexParameterIuiv(target uint, pname uint, params uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlTexParameterIuiv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.uint(uint32(params))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlTexStorage2D(target uint, levels int, internalformat uint, width int, height int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlTexStorage2D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(levels)), C.uint(uint32(internalformat)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlTexStorage2DMultisample(target uint, samples int, internalformat uint, width int, height int, fixedsamplelocations bool) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlTexStorage2DMultisample(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(samples)), C.uint(uint32(internalformat)), C.int(int32(width)), C.int(int32(height)), C.char(int8(qt.GoBoolToInt(fixedsamplelocations)))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlTexStorage3D(target uint, levels int, internalformat uint, width int, height int, depth int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlTexStorage3D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(levels)), C.uint(uint32(internalformat)), C.int(int32(width)), C.int(int32(height)), C.int(int32(depth))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlTexStorage3DMultisample(target uint, samples int, internalformat uint, width int, height int, depth int, fixedsamplelocations bool) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlTexStorage3DMultisample(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(samples)), C.uint(uint32(internalformat)), C.int(int32(width)), C.int(int32(height)), C.int(int32(depth)), C.char(int8(qt.GoBoolToInt(fixedsamplelocations)))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlTexSubImage3D(target uint, level int, xoffset int, yoffset int, zoffset int, width int, height int, depth int, format uint, ty uint, pixels unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlTexSubImage3D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.int(int32(xoffset)), C.int(int32(yoffset)), C.int(int32(zoffset)), C.int(int32(width)), C.int(int32(height)), C.int(int32(depth)), C.uint(uint32(format)), C.uint(uint32(ty)), pixels) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniform1ui(location int, v0 uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniform1ui(ptr.Pointer(), C.int(int32(location)), C.uint(uint32(v0))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniform1uiv(location int, count int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniform1uiv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniform2ui(location int, v0 uint, v1 uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniform2ui(ptr.Pointer(), C.int(int32(location)), C.uint(uint32(v0)), C.uint(uint32(v1))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniform2uiv(location int, count int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniform2uiv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniform3ui(location int, v0 uint, v1 uint, v2 uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniform3ui(ptr.Pointer(), C.int(int32(location)), C.uint(uint32(v0)), C.uint(uint32(v1)), C.uint(uint32(v2))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniform3uiv(location int, count int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniform3uiv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniform4ui(location int, v0 uint, v1 uint, v2 uint, v3 uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniform4ui(ptr.Pointer(), C.int(int32(location)), C.uint(uint32(v0)), C.uint(uint32(v1)), C.uint(uint32(v2)), C.uint(uint32(v3))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniform4uiv(location int, count int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniform4uiv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniformBlockBinding(program uint, uniformBlockIndex uint, uniformBlockBinding uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniformBlockBinding(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(uniformBlockIndex)), C.uint(uint32(uniformBlockBinding))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniformMatrix2x3fv(location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniformMatrix2x3fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniformMatrix2x4fv(location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniformMatrix2x4fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniformMatrix3x2fv(location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniformMatrix3x2fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniformMatrix3x4fv(location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniformMatrix3x4fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniformMatrix4x2fv(location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniformMatrix4x2fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUniformMatrix4x3fv(location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUniformMatrix4x3fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLExtraFunctions) GlUnmapBuffer(target uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLExtraFunctions_GlUnmapBuffer(ptr.Pointer(), C.uint(uint32(target)))) != 0 + } + return false +} + +func (ptr *QOpenGLExtraFunctions) GlUseProgramStages(pipeline uint, stages uint, program uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlUseProgramStages(ptr.Pointer(), C.uint(uint32(pipeline)), C.uint(uint32(stages)), C.uint(uint32(program))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlValidateProgramPipeline(pipeline uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlValidateProgramPipeline(ptr.Pointer(), C.uint(uint32(pipeline))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexAttribBinding(attribindex uint, bindingindex uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexAttribBinding(ptr.Pointer(), C.uint(uint32(attribindex)), C.uint(uint32(bindingindex))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexAttribDivisor(index uint, divisor uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexAttribDivisor(ptr.Pointer(), C.uint(uint32(index)), C.uint(uint32(divisor))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexAttribFormat(attribindex uint, size int, ty uint, normalized bool, relativeoffset uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexAttribFormat(ptr.Pointer(), C.uint(uint32(attribindex)), C.int(int32(size)), C.uint(uint32(ty)), C.char(int8(qt.GoBoolToInt(normalized))), C.uint(uint32(relativeoffset))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexAttribI4i(index uint, x int, y int, z int, w int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexAttribI4i(ptr.Pointer(), C.uint(uint32(index)), C.int(int32(x)), C.int(int32(y)), C.int(int32(z)), C.int(int32(w))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexAttribI4iv(index uint, v int) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexAttribI4iv(ptr.Pointer(), C.uint(uint32(index)), C.int(int32(v))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexAttribI4ui(index uint, x uint, y uint, z uint, w uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexAttribI4ui(ptr.Pointer(), C.uint(uint32(index)), C.uint(uint32(x)), C.uint(uint32(y)), C.uint(uint32(z)), C.uint(uint32(w))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexAttribI4uiv(index uint, v uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexAttribI4uiv(ptr.Pointer(), C.uint(uint32(index)), C.uint(uint32(v))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexAttribIFormat(attribindex uint, size int, ty uint, relativeoffset uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexAttribIFormat(ptr.Pointer(), C.uint(uint32(attribindex)), C.int(int32(size)), C.uint(uint32(ty)), C.uint(uint32(relativeoffset))) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexAttribIPointer(index uint, size int, ty uint, stride int, pointer unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexAttribIPointer(ptr.Pointer(), C.uint(uint32(index)), C.int(int32(size)), C.uint(uint32(ty)), C.int(int32(stride)), pointer) + } +} + +func (ptr *QOpenGLExtraFunctions) GlVertexBindingDivisor(bindingindex uint, divisor uint) { + if ptr.Pointer() != nil { + C.QOpenGLExtraFunctions_GlVertexBindingDivisor(ptr.Pointer(), C.uint(uint32(bindingindex)), C.uint(uint32(divisor))) + } +} + +type QOpenGLFramebufferObject struct { + ptr unsafe.Pointer +} + +type QOpenGLFramebufferObject_ITF interface { + QOpenGLFramebufferObject_PTR() *QOpenGLFramebufferObject +} + +func (ptr *QOpenGLFramebufferObject) QOpenGLFramebufferObject_PTR() *QOpenGLFramebufferObject { + return ptr +} + +func (ptr *QOpenGLFramebufferObject) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLFramebufferObject) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLFramebufferObject(ptr QOpenGLFramebufferObject_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFramebufferObject_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFramebufferObjectFromPointer(ptr unsafe.Pointer) (n *QOpenGLFramebufferObject) { + n = new(QOpenGLFramebufferObject) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOpenGLFramebufferObject__Attachment +//QOpenGLFramebufferObject::Attachment +type QOpenGLFramebufferObject__Attachment int64 + +const ( + QOpenGLFramebufferObject__NoAttachment QOpenGLFramebufferObject__Attachment = QOpenGLFramebufferObject__Attachment(0) + QOpenGLFramebufferObject__CombinedDepthStencil QOpenGLFramebufferObject__Attachment = QOpenGLFramebufferObject__Attachment(1) + QOpenGLFramebufferObject__Depth QOpenGLFramebufferObject__Attachment = QOpenGLFramebufferObject__Attachment(2) +) + +//go:generate stringer -type=QOpenGLFramebufferObject__FramebufferRestorePolicy +//QOpenGLFramebufferObject::FramebufferRestorePolicy +type QOpenGLFramebufferObject__FramebufferRestorePolicy int64 + +const ( + QOpenGLFramebufferObject__DontRestoreFramebufferBinding QOpenGLFramebufferObject__FramebufferRestorePolicy = QOpenGLFramebufferObject__FramebufferRestorePolicy(0) + QOpenGLFramebufferObject__RestoreFramebufferBindingToDefault QOpenGLFramebufferObject__FramebufferRestorePolicy = QOpenGLFramebufferObject__FramebufferRestorePolicy(1) + QOpenGLFramebufferObject__RestoreFrameBufferBinding QOpenGLFramebufferObject__FramebufferRestorePolicy = QOpenGLFramebufferObject__FramebufferRestorePolicy(2) +) + +func NewQOpenGLFramebufferObject(size core.QSize_ITF, target uint) *QOpenGLFramebufferObject { + tmpValue := NewQOpenGLFramebufferObjectFromPointer(C.QOpenGLFramebufferObject_NewQOpenGLFramebufferObject(core.PointerFromQSize(size), C.uint(uint32(target)))) + runtime.SetFinalizer(tmpValue, (*QOpenGLFramebufferObject).DestroyQOpenGLFramebufferObject) + return tmpValue +} + +func NewQOpenGLFramebufferObject2(width int, height int, target uint) *QOpenGLFramebufferObject { + tmpValue := NewQOpenGLFramebufferObjectFromPointer(C.QOpenGLFramebufferObject_NewQOpenGLFramebufferObject2(C.int(int32(width)), C.int(int32(height)), C.uint(uint32(target)))) + runtime.SetFinalizer(tmpValue, (*QOpenGLFramebufferObject).DestroyQOpenGLFramebufferObject) + return tmpValue +} + +func NewQOpenGLFramebufferObject3(size core.QSize_ITF, attachment QOpenGLFramebufferObject__Attachment, target uint, internalFormat uint) *QOpenGLFramebufferObject { + tmpValue := NewQOpenGLFramebufferObjectFromPointer(C.QOpenGLFramebufferObject_NewQOpenGLFramebufferObject3(core.PointerFromQSize(size), C.longlong(attachment), C.uint(uint32(target)), C.uint(uint32(internalFormat)))) + runtime.SetFinalizer(tmpValue, (*QOpenGLFramebufferObject).DestroyQOpenGLFramebufferObject) + return tmpValue +} + +func NewQOpenGLFramebufferObject4(width int, height int, attachment QOpenGLFramebufferObject__Attachment, target uint, internalFormat uint) *QOpenGLFramebufferObject { + tmpValue := NewQOpenGLFramebufferObjectFromPointer(C.QOpenGLFramebufferObject_NewQOpenGLFramebufferObject4(C.int(int32(width)), C.int(int32(height)), C.longlong(attachment), C.uint(uint32(target)), C.uint(uint32(internalFormat)))) + runtime.SetFinalizer(tmpValue, (*QOpenGLFramebufferObject).DestroyQOpenGLFramebufferObject) + return tmpValue +} + +func NewQOpenGLFramebufferObject5(size core.QSize_ITF, format QOpenGLFramebufferObjectFormat_ITF) *QOpenGLFramebufferObject { + tmpValue := NewQOpenGLFramebufferObjectFromPointer(C.QOpenGLFramebufferObject_NewQOpenGLFramebufferObject5(core.PointerFromQSize(size), PointerFromQOpenGLFramebufferObjectFormat(format))) + runtime.SetFinalizer(tmpValue, (*QOpenGLFramebufferObject).DestroyQOpenGLFramebufferObject) + return tmpValue +} + +func NewQOpenGLFramebufferObject6(width int, height int, format QOpenGLFramebufferObjectFormat_ITF) *QOpenGLFramebufferObject { + tmpValue := NewQOpenGLFramebufferObjectFromPointer(C.QOpenGLFramebufferObject_NewQOpenGLFramebufferObject6(C.int(int32(width)), C.int(int32(height)), PointerFromQOpenGLFramebufferObjectFormat(format))) + runtime.SetFinalizer(tmpValue, (*QOpenGLFramebufferObject).DestroyQOpenGLFramebufferObject) + return tmpValue +} + +func (ptr *QOpenGLFramebufferObject) AddColorAttachment(size core.QSize_ITF, internalFormat uint) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObject_AddColorAttachment(ptr.Pointer(), core.PointerFromQSize(size), C.uint(uint32(internalFormat))) + } +} + +func (ptr *QOpenGLFramebufferObject) AddColorAttachment2(width int, height int, internalFormat uint) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObject_AddColorAttachment2(ptr.Pointer(), C.int(int32(width)), C.int(int32(height)), C.uint(uint32(internalFormat))) + } +} + +func (ptr *QOpenGLFramebufferObject) Attachment() QOpenGLFramebufferObject__Attachment { + if ptr.Pointer() != nil { + return QOpenGLFramebufferObject__Attachment(C.QOpenGLFramebufferObject_Attachment(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObject) Bind() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFramebufferObject_Bind(ptr.Pointer())) != 0 + } + return false +} + +func QOpenGLFramebufferObject_BindDefault() bool { + return int8(C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BindDefault()) != 0 +} + +func (ptr *QOpenGLFramebufferObject) BindDefault() bool { + return int8(C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BindDefault()) != 0 +} + +func QOpenGLFramebufferObject_BlitFramebuffer(target QOpenGLFramebufferObject_ITF, targetRect core.QRect_ITF, source QOpenGLFramebufferObject_ITF, sourceRect core.QRect_ITF, buffers uint, filter uint, readColorAttachmentIndex int, drawColorAttachmentIndex int, restorePolicy QOpenGLFramebufferObject__FramebufferRestorePolicy) { + C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer(PointerFromQOpenGLFramebufferObject(target), core.PointerFromQRect(targetRect), PointerFromQOpenGLFramebufferObject(source), core.PointerFromQRect(sourceRect), C.uint(uint32(buffers)), C.uint(uint32(filter)), C.int(int32(readColorAttachmentIndex)), C.int(int32(drawColorAttachmentIndex)), C.longlong(restorePolicy)) +} + +func (ptr *QOpenGLFramebufferObject) BlitFramebuffer(target QOpenGLFramebufferObject_ITF, targetRect core.QRect_ITF, source QOpenGLFramebufferObject_ITF, sourceRect core.QRect_ITF, buffers uint, filter uint, readColorAttachmentIndex int, drawColorAttachmentIndex int, restorePolicy QOpenGLFramebufferObject__FramebufferRestorePolicy) { + C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer(PointerFromQOpenGLFramebufferObject(target), core.PointerFromQRect(targetRect), PointerFromQOpenGLFramebufferObject(source), core.PointerFromQRect(sourceRect), C.uint(uint32(buffers)), C.uint(uint32(filter)), C.int(int32(readColorAttachmentIndex)), C.int(int32(drawColorAttachmentIndex)), C.longlong(restorePolicy)) +} + +func QOpenGLFramebufferObject_BlitFramebuffer2(target QOpenGLFramebufferObject_ITF, targetRect core.QRect_ITF, source QOpenGLFramebufferObject_ITF, sourceRect core.QRect_ITF, buffers uint, filter uint, readColorAttachmentIndex int, drawColorAttachmentIndex int) { + C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer2(PointerFromQOpenGLFramebufferObject(target), core.PointerFromQRect(targetRect), PointerFromQOpenGLFramebufferObject(source), core.PointerFromQRect(sourceRect), C.uint(uint32(buffers)), C.uint(uint32(filter)), C.int(int32(readColorAttachmentIndex)), C.int(int32(drawColorAttachmentIndex))) +} + +func (ptr *QOpenGLFramebufferObject) BlitFramebuffer2(target QOpenGLFramebufferObject_ITF, targetRect core.QRect_ITF, source QOpenGLFramebufferObject_ITF, sourceRect core.QRect_ITF, buffers uint, filter uint, readColorAttachmentIndex int, drawColorAttachmentIndex int) { + C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer2(PointerFromQOpenGLFramebufferObject(target), core.PointerFromQRect(targetRect), PointerFromQOpenGLFramebufferObject(source), core.PointerFromQRect(sourceRect), C.uint(uint32(buffers)), C.uint(uint32(filter)), C.int(int32(readColorAttachmentIndex)), C.int(int32(drawColorAttachmentIndex))) +} + +func QOpenGLFramebufferObject_BlitFramebuffer3(target QOpenGLFramebufferObject_ITF, targetRect core.QRect_ITF, source QOpenGLFramebufferObject_ITF, sourceRect core.QRect_ITF, buffers uint, filter uint) { + C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer3(PointerFromQOpenGLFramebufferObject(target), core.PointerFromQRect(targetRect), PointerFromQOpenGLFramebufferObject(source), core.PointerFromQRect(sourceRect), C.uint(uint32(buffers)), C.uint(uint32(filter))) +} + +func (ptr *QOpenGLFramebufferObject) BlitFramebuffer3(target QOpenGLFramebufferObject_ITF, targetRect core.QRect_ITF, source QOpenGLFramebufferObject_ITF, sourceRect core.QRect_ITF, buffers uint, filter uint) { + C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer3(PointerFromQOpenGLFramebufferObject(target), core.PointerFromQRect(targetRect), PointerFromQOpenGLFramebufferObject(source), core.PointerFromQRect(sourceRect), C.uint(uint32(buffers)), C.uint(uint32(filter))) +} + +func QOpenGLFramebufferObject_BlitFramebuffer4(target QOpenGLFramebufferObject_ITF, source QOpenGLFramebufferObject_ITF, buffers uint, filter uint) { + C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer4(PointerFromQOpenGLFramebufferObject(target), PointerFromQOpenGLFramebufferObject(source), C.uint(uint32(buffers)), C.uint(uint32(filter))) +} + +func (ptr *QOpenGLFramebufferObject) BlitFramebuffer4(target QOpenGLFramebufferObject_ITF, source QOpenGLFramebufferObject_ITF, buffers uint, filter uint) { + C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer4(PointerFromQOpenGLFramebufferObject(target), PointerFromQOpenGLFramebufferObject(source), C.uint(uint32(buffers)), C.uint(uint32(filter))) +} + +func (ptr *QOpenGLFramebufferObject) Format() *QOpenGLFramebufferObjectFormat { + if ptr.Pointer() != nil { + tmpValue := NewQOpenGLFramebufferObjectFormatFromPointer(C.QOpenGLFramebufferObject_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QOpenGLFramebufferObjectFormat).DestroyQOpenGLFramebufferObjectFormat) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLFramebufferObject) Handle() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFramebufferObject_Handle(ptr.Pointer()))) + } + return 0 +} + +func QOpenGLFramebufferObject_HasOpenGLFramebufferBlit() bool { + return int8(C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_HasOpenGLFramebufferBlit()) != 0 +} + +func (ptr *QOpenGLFramebufferObject) HasOpenGLFramebufferBlit() bool { + return int8(C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_HasOpenGLFramebufferBlit()) != 0 +} + +func QOpenGLFramebufferObject_HasOpenGLFramebufferObjects() bool { + return int8(C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_HasOpenGLFramebufferObjects()) != 0 +} + +func (ptr *QOpenGLFramebufferObject) HasOpenGLFramebufferObjects() bool { + return int8(C.QOpenGLFramebufferObject_QOpenGLFramebufferObject_HasOpenGLFramebufferObjects()) != 0 +} + +func (ptr *QOpenGLFramebufferObject) Height() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLFramebufferObject_Height(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObject) IsBound() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFramebufferObject_IsBound(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLFramebufferObject) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFramebufferObject_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLFramebufferObject) Release() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFramebufferObject_Release(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLFramebufferObject) SetAttachment(attachment QOpenGLFramebufferObject__Attachment) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObject_SetAttachment(ptr.Pointer(), C.longlong(attachment)) + } +} + +func (ptr *QOpenGLFramebufferObject) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QOpenGLFramebufferObject_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLFramebufferObject) Sizes() []*core.QSize { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QSize { + out := make([]*core.QSize, int(l.len)) + tmpList := NewQOpenGLFramebufferObjectFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__sizes_atList(i) + } + return out + }(C.QOpenGLFramebufferObject_Sizes(ptr.Pointer())) + } + return make([]*core.QSize, 0) +} + +func (ptr *QOpenGLFramebufferObject) TakeTexture() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFramebufferObject_TakeTexture(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObject) TakeTexture2(colorAttachmentIndex int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFramebufferObject_TakeTexture2(ptr.Pointer(), C.int(int32(colorAttachmentIndex))))) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObject) Texture() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFramebufferObject_Texture(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObject) Textures() []uint { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []uint { + out := make([]uint, int(l.len)) + tmpList := NewQOpenGLFramebufferObjectFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__textures_atList(i) + } + return out + }(C.QOpenGLFramebufferObject_Textures(ptr.Pointer())) + } + return make([]uint, 0) +} + +func (ptr *QOpenGLFramebufferObject) ToImage(flipped bool) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QOpenGLFramebufferObject_ToImage(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(flipped))))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLFramebufferObject) ToImage2() *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QOpenGLFramebufferObject_ToImage2(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLFramebufferObject) ToImage3(flipped bool, colorAttachmentIndex int) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QOpenGLFramebufferObject_ToImage3(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(flipped))), C.int(int32(colorAttachmentIndex)))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLFramebufferObject) Width() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLFramebufferObject_Width(ptr.Pointer()))) + } + return 0 +} + +//export callbackQOpenGLFramebufferObject_DestroyQOpenGLFramebufferObject +func callbackQOpenGLFramebufferObject_DestroyQOpenGLFramebufferObject(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLFramebufferObject"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLFramebufferObjectFromPointer(ptr).DestroyQOpenGLFramebufferObjectDefault() + } +} + +func (ptr *QOpenGLFramebufferObject) ConnectDestroyQOpenGLFramebufferObject(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLFramebufferObject"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLFramebufferObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLFramebufferObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLFramebufferObject) DisconnectDestroyQOpenGLFramebufferObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLFramebufferObject") + } +} + +func (ptr *QOpenGLFramebufferObject) DestroyQOpenGLFramebufferObject() { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObject_DestroyQOpenGLFramebufferObject(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLFramebufferObject) DestroyQOpenGLFramebufferObjectDefault() { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObject_DestroyQOpenGLFramebufferObjectDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLFramebufferObject) __sizes_atList(i int) *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QOpenGLFramebufferObject___sizes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLFramebufferObject) __sizes_setList(i core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObject___sizes_setList(ptr.Pointer(), core.PointerFromQSize(i)) + } +} + +func (ptr *QOpenGLFramebufferObject) __sizes_newList() unsafe.Pointer { + return C.QOpenGLFramebufferObject___sizes_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLFramebufferObject) __textures_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFramebufferObject___textures_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObject) __textures_setList(i uint) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObject___textures_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QOpenGLFramebufferObject) __textures_newList() unsafe.Pointer { + return C.QOpenGLFramebufferObject___textures_newList(ptr.Pointer()) +} + +type QOpenGLFramebufferObjectFormat struct { + ptr unsafe.Pointer +} + +type QOpenGLFramebufferObjectFormat_ITF interface { + QOpenGLFramebufferObjectFormat_PTR() *QOpenGLFramebufferObjectFormat +} + +func (ptr *QOpenGLFramebufferObjectFormat) QOpenGLFramebufferObjectFormat_PTR() *QOpenGLFramebufferObjectFormat { + return ptr +} + +func (ptr *QOpenGLFramebufferObjectFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLFramebufferObjectFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLFramebufferObjectFormat(ptr QOpenGLFramebufferObjectFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFramebufferObjectFormat_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFramebufferObjectFormatFromPointer(ptr unsafe.Pointer) (n *QOpenGLFramebufferObjectFormat) { + n = new(QOpenGLFramebufferObjectFormat) + n.SetPointer(ptr) + return +} +func NewQOpenGLFramebufferObjectFormat() *QOpenGLFramebufferObjectFormat { + tmpValue := NewQOpenGLFramebufferObjectFormatFromPointer(C.QOpenGLFramebufferObjectFormat_NewQOpenGLFramebufferObjectFormat()) + runtime.SetFinalizer(tmpValue, (*QOpenGLFramebufferObjectFormat).DestroyQOpenGLFramebufferObjectFormat) + return tmpValue +} + +func NewQOpenGLFramebufferObjectFormat2(other QOpenGLFramebufferObjectFormat_ITF) *QOpenGLFramebufferObjectFormat { + tmpValue := NewQOpenGLFramebufferObjectFormatFromPointer(C.QOpenGLFramebufferObjectFormat_NewQOpenGLFramebufferObjectFormat2(PointerFromQOpenGLFramebufferObjectFormat(other))) + runtime.SetFinalizer(tmpValue, (*QOpenGLFramebufferObjectFormat).DestroyQOpenGLFramebufferObjectFormat) + return tmpValue +} + +func (ptr *QOpenGLFramebufferObjectFormat) Attachment() QOpenGLFramebufferObject__Attachment { + if ptr.Pointer() != nil { + return QOpenGLFramebufferObject__Attachment(C.QOpenGLFramebufferObjectFormat_Attachment(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObjectFormat) InternalTextureFormat() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFramebufferObjectFormat_InternalTextureFormat(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObjectFormat) Mipmap() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFramebufferObjectFormat_Mipmap(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLFramebufferObjectFormat) Samples() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLFramebufferObjectFormat_Samples(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObjectFormat) SetAttachment(attachment QOpenGLFramebufferObject__Attachment) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObjectFormat_SetAttachment(ptr.Pointer(), C.longlong(attachment)) + } +} + +func (ptr *QOpenGLFramebufferObjectFormat) SetInternalTextureFormat(internalTextureFormat uint) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObjectFormat_SetInternalTextureFormat(ptr.Pointer(), C.uint(uint32(internalTextureFormat))) + } +} + +func (ptr *QOpenGLFramebufferObjectFormat) SetMipmap(enabled bool) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObjectFormat_SetMipmap(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QOpenGLFramebufferObjectFormat) SetSamples(samples int) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObjectFormat_SetSamples(ptr.Pointer(), C.int(int32(samples))) + } +} + +func (ptr *QOpenGLFramebufferObjectFormat) SetTextureTarget(target uint) { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObjectFormat_SetTextureTarget(ptr.Pointer(), C.uint(uint32(target))) + } +} + +func (ptr *QOpenGLFramebufferObjectFormat) TextureTarget() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFramebufferObjectFormat_TextureTarget(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLFramebufferObjectFormat) DestroyQOpenGLFramebufferObjectFormat() { + if ptr.Pointer() != nil { + C.QOpenGLFramebufferObjectFormat_DestroyQOpenGLFramebufferObjectFormat(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions struct { + ptr unsafe.Pointer +} + +type QOpenGLFunctions_ITF interface { + QOpenGLFunctions_PTR() *QOpenGLFunctions +} + +func (ptr *QOpenGLFunctions) QOpenGLFunctions_PTR() *QOpenGLFunctions { + return ptr +} + +func (ptr *QOpenGLFunctions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLFunctions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLFunctions(ptr QOpenGLFunctions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctionsFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions) { + n = new(QOpenGLFunctions) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOpenGLFunctions__OpenGLFeature +//QOpenGLFunctions::OpenGLFeature +type QOpenGLFunctions__OpenGLFeature int64 + +const ( + QOpenGLFunctions__Multitexture QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0001) + QOpenGLFunctions__Shaders QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0002) + QOpenGLFunctions__Buffers QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0004) + QOpenGLFunctions__Framebuffers QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0008) + QOpenGLFunctions__BlendColor QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0010) + QOpenGLFunctions__BlendEquation QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0020) + QOpenGLFunctions__BlendEquationSeparate QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0040) + QOpenGLFunctions__BlendFuncSeparate QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0080) + QOpenGLFunctions__BlendSubtract QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0100) + QOpenGLFunctions__CompressedTextures QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0200) + QOpenGLFunctions__Multisample QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0400) + QOpenGLFunctions__StencilSeparate QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x0800) + QOpenGLFunctions__NPOTTextures QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x1000) + QOpenGLFunctions__NPOTTextureRepeat QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x2000) + QOpenGLFunctions__FixedFunctionPipeline QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x4000) + QOpenGLFunctions__TextureRGFormats QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x8000) + QOpenGLFunctions__MultipleRenderTargets QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x10000) + QOpenGLFunctions__BlendEquationAdvanced QOpenGLFunctions__OpenGLFeature = QOpenGLFunctions__OpenGLFeature(0x20000) +) + +func NewQOpenGLFunctions() *QOpenGLFunctions { + tmpValue := NewQOpenGLFunctionsFromPointer(C.QOpenGLFunctions_NewQOpenGLFunctions()) + runtime.SetFinalizer(tmpValue, (*QOpenGLFunctions).DestroyQOpenGLFunctions) + return tmpValue +} + +func NewQOpenGLFunctions2(context QOpenGLContext_ITF) *QOpenGLFunctions { + tmpValue := NewQOpenGLFunctionsFromPointer(C.QOpenGLFunctions_NewQOpenGLFunctions2(PointerFromQOpenGLContext(context))) + runtime.SetFinalizer(tmpValue, (*QOpenGLFunctions).DestroyQOpenGLFunctions) + return tmpValue +} + +func (ptr *QOpenGLFunctions) GlActiveTexture(texture uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlActiveTexture(ptr.Pointer(), C.uint(uint32(texture))) + } +} + +func (ptr *QOpenGLFunctions) GlAttachShader(program uint, shader uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlAttachShader(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(shader))) + } +} + +func (ptr *QOpenGLFunctions) GlBindAttribLocation(program uint, index uint, name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLFunctions_GlBindAttribLocation(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(index)), nameC) + } +} + +func (ptr *QOpenGLFunctions) GlBindBuffer(target uint, buffer uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlBindBuffer(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(buffer))) + } +} + +func (ptr *QOpenGLFunctions) GlBindFramebuffer(target uint, framebuffer uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlBindFramebuffer(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(framebuffer))) + } +} + +func (ptr *QOpenGLFunctions) GlBindRenderbuffer(target uint, renderbuffer uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlBindRenderbuffer(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(renderbuffer))) + } +} + +func (ptr *QOpenGLFunctions) GlBindTexture(target uint, texture uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlBindTexture(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(texture))) + } +} + +func (ptr *QOpenGLFunctions) GlBlendColor(red float32, green float32, blue float32, alpha float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlBlendColor(ptr.Pointer(), C.float(red), C.float(green), C.float(blue), C.float(alpha)) + } +} + +func (ptr *QOpenGLFunctions) GlBlendEquation(mode uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlBlendEquation(ptr.Pointer(), C.uint(uint32(mode))) + } +} + +func (ptr *QOpenGLFunctions) GlBlendEquationSeparate(modeRGB uint, modeAlpha uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlBlendEquationSeparate(ptr.Pointer(), C.uint(uint32(modeRGB)), C.uint(uint32(modeAlpha))) + } +} + +func (ptr *QOpenGLFunctions) GlBlendFunc(sfactor uint, dfactor uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlBlendFunc(ptr.Pointer(), C.uint(uint32(sfactor)), C.uint(uint32(dfactor))) + } +} + +func (ptr *QOpenGLFunctions) GlBlendFuncSeparate(srcRGB uint, dstRGB uint, srcAlpha uint, dstAlpha uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlBlendFuncSeparate(ptr.Pointer(), C.uint(uint32(srcRGB)), C.uint(uint32(dstRGB)), C.uint(uint32(srcAlpha)), C.uint(uint32(dstAlpha))) + } +} + +func (ptr *QOpenGLFunctions) GlCheckFramebufferStatus(target uint) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFunctions_GlCheckFramebufferStatus(ptr.Pointer(), C.uint(uint32(target))))) + } + return 0 +} + +func (ptr *QOpenGLFunctions) GlClear(mask uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlClear(ptr.Pointer(), C.uint(uint32(mask))) + } +} + +func (ptr *QOpenGLFunctions) GlClearColor(red float32, green float32, blue float32, alpha float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlClearColor(ptr.Pointer(), C.float(red), C.float(green), C.float(blue), C.float(alpha)) + } +} + +func (ptr *QOpenGLFunctions) GlClearDepthf(depth float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlClearDepthf(ptr.Pointer(), C.float(depth)) + } +} + +func (ptr *QOpenGLFunctions) GlClearStencil(s int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlClearStencil(ptr.Pointer(), C.int(int32(s))) + } +} + +func (ptr *QOpenGLFunctions) GlColorMask(red bool, green bool, blue bool, alpha bool) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlColorMask(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(red))), C.char(int8(qt.GoBoolToInt(green))), C.char(int8(qt.GoBoolToInt(blue))), C.char(int8(qt.GoBoolToInt(alpha)))) + } +} + +func (ptr *QOpenGLFunctions) GlCompileShader(shader uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlCompileShader(ptr.Pointer(), C.uint(uint32(shader))) + } +} + +func (ptr *QOpenGLFunctions) GlCompressedTexImage2D(target uint, level int, internalformat uint, width int, height int, border int, imageSize int, data unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlCompressedTexImage2D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.uint(uint32(internalformat)), C.int(int32(width)), C.int(int32(height)), C.int(int32(border)), C.int(int32(imageSize)), data) + } +} + +func (ptr *QOpenGLFunctions) GlCompressedTexSubImage2D(target uint, level int, xoffset int, yoffset int, width int, height int, format uint, imageSize int, data unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlCompressedTexSubImage2D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.int(int32(xoffset)), C.int(int32(yoffset)), C.int(int32(width)), C.int(int32(height)), C.uint(uint32(format)), C.int(int32(imageSize)), data) + } +} + +func (ptr *QOpenGLFunctions) GlCopyTexImage2D(target uint, level int, internalformat uint, x int, y int, width int, height int, border int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlCopyTexImage2D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.uint(uint32(internalformat)), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.int(int32(border))) + } +} + +func (ptr *QOpenGLFunctions) GlCopyTexSubImage2D(target uint, level int, xoffset int, yoffset int, x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlCopyTexSubImage2D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.int(int32(xoffset)), C.int(int32(yoffset)), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QOpenGLFunctions) GlCreateProgram() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFunctions_GlCreateProgram(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLFunctions) GlCreateShader(ty uint) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFunctions_GlCreateShader(ptr.Pointer(), C.uint(uint32(ty))))) + } + return 0 +} + +func (ptr *QOpenGLFunctions) GlCullFace(mode uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlCullFace(ptr.Pointer(), C.uint(uint32(mode))) + } +} + +func (ptr *QOpenGLFunctions) GlDeleteBuffers(n int, buffers uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDeleteBuffers(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(buffers))) + } +} + +func (ptr *QOpenGLFunctions) GlDeleteFramebuffers(n int, framebuffers uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDeleteFramebuffers(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(framebuffers))) + } +} + +func (ptr *QOpenGLFunctions) GlDeleteProgram(program uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDeleteProgram(ptr.Pointer(), C.uint(uint32(program))) + } +} + +func (ptr *QOpenGLFunctions) GlDeleteRenderbuffers(n int, renderbuffers uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDeleteRenderbuffers(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(renderbuffers))) + } +} + +func (ptr *QOpenGLFunctions) GlDeleteShader(shader uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDeleteShader(ptr.Pointer(), C.uint(uint32(shader))) + } +} + +func (ptr *QOpenGLFunctions) GlDeleteTextures(n int, textures uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDeleteTextures(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(textures))) + } +} + +func (ptr *QOpenGLFunctions) GlDepthFunc(fu uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDepthFunc(ptr.Pointer(), C.uint(uint32(fu))) + } +} + +func (ptr *QOpenGLFunctions) GlDepthMask(flag bool) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDepthMask(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(flag)))) + } +} + +func (ptr *QOpenGLFunctions) GlDepthRangef(zNear float32, zFar float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDepthRangef(ptr.Pointer(), C.float(zNear), C.float(zFar)) + } +} + +func (ptr *QOpenGLFunctions) GlDetachShader(program uint, shader uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDetachShader(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(shader))) + } +} + +func (ptr *QOpenGLFunctions) GlDisable(cap uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDisable(ptr.Pointer(), C.uint(uint32(cap))) + } +} + +func (ptr *QOpenGLFunctions) GlDisableVertexAttribArray(index uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDisableVertexAttribArray(ptr.Pointer(), C.uint(uint32(index))) + } +} + +func (ptr *QOpenGLFunctions) GlDrawArrays(mode uint, first int, count int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDrawArrays(ptr.Pointer(), C.uint(uint32(mode)), C.int(int32(first)), C.int(int32(count))) + } +} + +func (ptr *QOpenGLFunctions) GlDrawElements(mode uint, count int, ty uint, indices unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlDrawElements(ptr.Pointer(), C.uint(uint32(mode)), C.int(int32(count)), C.uint(uint32(ty)), indices) + } +} + +func (ptr *QOpenGLFunctions) GlEnable(cap uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlEnable(ptr.Pointer(), C.uint(uint32(cap))) + } +} + +func (ptr *QOpenGLFunctions) GlEnableVertexAttribArray(index uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlEnableVertexAttribArray(ptr.Pointer(), C.uint(uint32(index))) + } +} + +func (ptr *QOpenGLFunctions) GlFinish() { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlFinish(ptr.Pointer()) + } +} + +func (ptr *QOpenGLFunctions) GlFlush() { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlFlush(ptr.Pointer()) + } +} + +func (ptr *QOpenGLFunctions) GlFramebufferRenderbuffer(target uint, attachment uint, renderbuffertarget uint, renderbuffer uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlFramebufferRenderbuffer(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(attachment)), C.uint(uint32(renderbuffertarget)), C.uint(uint32(renderbuffer))) + } +} + +func (ptr *QOpenGLFunctions) GlFramebufferTexture2D(target uint, attachment uint, textarget uint, texture uint, level int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlFramebufferTexture2D(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(attachment)), C.uint(uint32(textarget)), C.uint(uint32(texture)), C.int(int32(level))) + } +} + +func (ptr *QOpenGLFunctions) GlFrontFace(mode uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlFrontFace(ptr.Pointer(), C.uint(uint32(mode))) + } +} + +func (ptr *QOpenGLFunctions) GlGenBuffers(n int, buffers uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGenBuffers(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(buffers))) + } +} + +func (ptr *QOpenGLFunctions) GlGenFramebuffers(n int, framebuffers uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGenFramebuffers(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(framebuffers))) + } +} + +func (ptr *QOpenGLFunctions) GlGenRenderbuffers(n int, renderbuffers uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGenRenderbuffers(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(renderbuffers))) + } +} + +func (ptr *QOpenGLFunctions) GlGenTextures(n int, textures uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGenTextures(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(textures))) + } +} + +func (ptr *QOpenGLFunctions) GlGenerateMipmap(target uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGenerateMipmap(ptr.Pointer(), C.uint(uint32(target))) + } +} + +func (ptr *QOpenGLFunctions) GlGetActiveAttrib(program uint, index uint, bufsize int, length int, size int, ty uint, name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLFunctions_GlGetActiveAttrib(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(index)), C.int(int32(bufsize)), C.int(int32(length)), C.int(int32(size)), C.uint(uint32(ty)), nameC) + } +} + +func (ptr *QOpenGLFunctions) GlGetActiveUniform(program uint, index uint, bufsize int, length int, size int, ty uint, name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLFunctions_GlGetActiveUniform(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(index)), C.int(int32(bufsize)), C.int(int32(length)), C.int(int32(size)), C.uint(uint32(ty)), nameC) + } +} + +func (ptr *QOpenGLFunctions) GlGetAttachedShaders(program uint, maxcount int, count int, shaders uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetAttachedShaders(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(maxcount)), C.int(int32(count)), C.uint(uint32(shaders))) + } +} + +func (ptr *QOpenGLFunctions) GlGetAttribLocation(program uint, name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QOpenGLFunctions_GlGetAttribLocation(ptr.Pointer(), C.uint(uint32(program)), nameC))) + } + return 0 +} + +func (ptr *QOpenGLFunctions) GlGetBooleanv(pname uint, params *bool) { + if ptr.Pointer() != nil { + var paramsC C.char + if params != nil { + paramsC = C.char(int8(qt.GoBoolToInt(*params))) + defer func() { *params = int8(paramsC) != 0 }() + } + C.QOpenGLFunctions_GlGetBooleanv(ptr.Pointer(), C.uint(uint32(pname)), ¶msC) + } +} + +func (ptr *QOpenGLFunctions) GlGetBufferParameteriv(target uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetBufferParameteriv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlGetError() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLFunctions_GlGetError(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLFunctions) GlGetFloatv(pname uint, params float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetFloatv(ptr.Pointer(), C.uint(uint32(pname)), C.float(params)) + } +} + +func (ptr *QOpenGLFunctions) GlGetFramebufferAttachmentParameteriv(target uint, attachment uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetFramebufferAttachmentParameteriv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(attachment)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlGetIntegerv(pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetIntegerv(ptr.Pointer(), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlGetProgramInfoLog(program uint, bufsize int, length int, infolog string) { + if ptr.Pointer() != nil { + var infologC *C.char + if infolog != "" { + infologC = C.CString(infolog) + defer C.free(unsafe.Pointer(infologC)) + } + C.QOpenGLFunctions_GlGetProgramInfoLog(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(bufsize)), C.int(int32(length)), infologC) + } +} + +func (ptr *QOpenGLFunctions) GlGetProgramiv(program uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetProgramiv(ptr.Pointer(), C.uint(uint32(program)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlGetRenderbufferParameteriv(target uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetRenderbufferParameteriv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlGetShaderInfoLog(shader uint, bufsize int, length int, infolog string) { + if ptr.Pointer() != nil { + var infologC *C.char + if infolog != "" { + infologC = C.CString(infolog) + defer C.free(unsafe.Pointer(infologC)) + } + C.QOpenGLFunctions_GlGetShaderInfoLog(ptr.Pointer(), C.uint(uint32(shader)), C.int(int32(bufsize)), C.int(int32(length)), infologC) + } +} + +func (ptr *QOpenGLFunctions) GlGetShaderPrecisionFormat(shadertype uint, precisiontype uint, ran int, precision int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetShaderPrecisionFormat(ptr.Pointer(), C.uint(uint32(shadertype)), C.uint(uint32(precisiontype)), C.int(int32(ran)), C.int(int32(precision))) + } +} + +func (ptr *QOpenGLFunctions) GlGetShaderSource(shader uint, bufsize int, length int, source string) { + if ptr.Pointer() != nil { + var sourceC *C.char + if source != "" { + sourceC = C.CString(source) + defer C.free(unsafe.Pointer(sourceC)) + } + C.QOpenGLFunctions_GlGetShaderSource(ptr.Pointer(), C.uint(uint32(shader)), C.int(int32(bufsize)), C.int(int32(length)), sourceC) + } +} + +func (ptr *QOpenGLFunctions) GlGetShaderiv(shader uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetShaderiv(ptr.Pointer(), C.uint(uint32(shader)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlGetString(name uint) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QOpenGLFunctions_GlGetString(ptr.Pointer(), C.uint(uint32(name)))) + } + return "" +} + +func (ptr *QOpenGLFunctions) GlGetTexParameterfv(target uint, pname uint, params float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetTexParameterfv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.float(params)) + } +} + +func (ptr *QOpenGLFunctions) GlGetTexParameteriv(target uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetTexParameteriv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlGetUniformLocation(program uint, name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QOpenGLFunctions_GlGetUniformLocation(ptr.Pointer(), C.uint(uint32(program)), nameC))) + } + return 0 +} + +func (ptr *QOpenGLFunctions) GlGetUniformfv(program uint, location int, params float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetUniformfv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.float(params)) + } +} + +func (ptr *QOpenGLFunctions) GlGetUniformiv(program uint, location int, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetUniformiv(ptr.Pointer(), C.uint(uint32(program)), C.int(int32(location)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlGetVertexAttribPointerv(index uint, pname uint, pointer unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetVertexAttribPointerv(ptr.Pointer(), C.uint(uint32(index)), C.uint(uint32(pname)), pointer) + } +} + +func (ptr *QOpenGLFunctions) GlGetVertexAttribfv(index uint, pname uint, params float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetVertexAttribfv(ptr.Pointer(), C.uint(uint32(index)), C.uint(uint32(pname)), C.float(params)) + } +} + +func (ptr *QOpenGLFunctions) GlGetVertexAttribiv(index uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlGetVertexAttribiv(ptr.Pointer(), C.uint(uint32(index)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlHint(target uint, mode uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlHint(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(mode))) + } +} + +func (ptr *QOpenGLFunctions) GlIsBuffer(buffer uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFunctions_GlIsBuffer(ptr.Pointer(), C.uint(uint32(buffer)))) != 0 + } + return false +} + +func (ptr *QOpenGLFunctions) GlIsEnabled(cap uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFunctions_GlIsEnabled(ptr.Pointer(), C.uint(uint32(cap)))) != 0 + } + return false +} + +func (ptr *QOpenGLFunctions) GlIsFramebuffer(framebuffer uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFunctions_GlIsFramebuffer(ptr.Pointer(), C.uint(uint32(framebuffer)))) != 0 + } + return false +} + +func (ptr *QOpenGLFunctions) GlIsProgram(program uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFunctions_GlIsProgram(ptr.Pointer(), C.uint(uint32(program)))) != 0 + } + return false +} + +func (ptr *QOpenGLFunctions) GlIsRenderbuffer(renderbuffer uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFunctions_GlIsRenderbuffer(ptr.Pointer(), C.uint(uint32(renderbuffer)))) != 0 + } + return false +} + +func (ptr *QOpenGLFunctions) GlIsShader(shader uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFunctions_GlIsShader(ptr.Pointer(), C.uint(uint32(shader)))) != 0 + } + return false +} + +func (ptr *QOpenGLFunctions) GlIsTexture(texture uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFunctions_GlIsTexture(ptr.Pointer(), C.uint(uint32(texture)))) != 0 + } + return false +} + +func (ptr *QOpenGLFunctions) GlLineWidth(width float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlLineWidth(ptr.Pointer(), C.float(width)) + } +} + +func (ptr *QOpenGLFunctions) GlLinkProgram(program uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlLinkProgram(ptr.Pointer(), C.uint(uint32(program))) + } +} + +func (ptr *QOpenGLFunctions) GlPixelStorei(pname uint, param int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlPixelStorei(ptr.Pointer(), C.uint(uint32(pname)), C.int(int32(param))) + } +} + +func (ptr *QOpenGLFunctions) GlPolygonOffset(factor float32, units float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlPolygonOffset(ptr.Pointer(), C.float(factor), C.float(units)) + } +} + +func (ptr *QOpenGLFunctions) GlReadPixels(x int, y int, width int, height int, format uint, ty uint, pixels unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlReadPixels(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.uint(uint32(format)), C.uint(uint32(ty)), pixels) + } +} + +func (ptr *QOpenGLFunctions) GlReleaseShaderCompiler() { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlReleaseShaderCompiler(ptr.Pointer()) + } +} + +func (ptr *QOpenGLFunctions) GlRenderbufferStorage(target uint, internalformat uint, width int, height int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlRenderbufferStorage(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(internalformat)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QOpenGLFunctions) GlSampleCoverage(value float32, invert bool) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlSampleCoverage(ptr.Pointer(), C.float(value), C.char(int8(qt.GoBoolToInt(invert)))) + } +} + +func (ptr *QOpenGLFunctions) GlScissor(x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlScissor(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QOpenGLFunctions) GlShaderBinary(n int, shaders uint, binaryformat uint, binary unsafe.Pointer, length int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlShaderBinary(ptr.Pointer(), C.int(int32(n)), C.uint(uint32(shaders)), C.uint(uint32(binaryformat)), binary, C.int(int32(length))) + } +} + +func (ptr *QOpenGLFunctions) GlStencilFunc(fu uint, ref int, mask uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlStencilFunc(ptr.Pointer(), C.uint(uint32(fu)), C.int(int32(ref)), C.uint(uint32(mask))) + } +} + +func (ptr *QOpenGLFunctions) GlStencilFuncSeparate(face uint, fu uint, ref int, mask uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlStencilFuncSeparate(ptr.Pointer(), C.uint(uint32(face)), C.uint(uint32(fu)), C.int(int32(ref)), C.uint(uint32(mask))) + } +} + +func (ptr *QOpenGLFunctions) GlStencilMask(mask uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlStencilMask(ptr.Pointer(), C.uint(uint32(mask))) + } +} + +func (ptr *QOpenGLFunctions) GlStencilMaskSeparate(face uint, mask uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlStencilMaskSeparate(ptr.Pointer(), C.uint(uint32(face)), C.uint(uint32(mask))) + } +} + +func (ptr *QOpenGLFunctions) GlStencilOp(fail uint, zfail uint, zpass uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlStencilOp(ptr.Pointer(), C.uint(uint32(fail)), C.uint(uint32(zfail)), C.uint(uint32(zpass))) + } +} + +func (ptr *QOpenGLFunctions) GlStencilOpSeparate(face uint, fail uint, zfail uint, zpass uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlStencilOpSeparate(ptr.Pointer(), C.uint(uint32(face)), C.uint(uint32(fail)), C.uint(uint32(zfail)), C.uint(uint32(zpass))) + } +} + +func (ptr *QOpenGLFunctions) GlTexImage2D(target uint, level int, internalformat int, width int, height int, border int, format uint, ty uint, pixels unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlTexImage2D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.int(int32(internalformat)), C.int(int32(width)), C.int(int32(height)), C.int(int32(border)), C.uint(uint32(format)), C.uint(uint32(ty)), pixels) + } +} + +func (ptr *QOpenGLFunctions) GlTexParameterf(target uint, pname uint, param float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlTexParameterf(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.float(param)) + } +} + +func (ptr *QOpenGLFunctions) GlTexParameterfv(target uint, pname uint, params float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlTexParameterfv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.float(params)) + } +} + +func (ptr *QOpenGLFunctions) GlTexParameteri(target uint, pname uint, param int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlTexParameteri(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(param))) + } +} + +func (ptr *QOpenGLFunctions) GlTexParameteriv(target uint, pname uint, params int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlTexParameteriv(ptr.Pointer(), C.uint(uint32(target)), C.uint(uint32(pname)), C.int(int32(params))) + } +} + +func (ptr *QOpenGLFunctions) GlTexSubImage2D(target uint, level int, xoffset int, yoffset int, width int, height int, format uint, ty uint, pixels unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlTexSubImage2D(ptr.Pointer(), C.uint(uint32(target)), C.int(int32(level)), C.int(int32(xoffset)), C.int(int32(yoffset)), C.int(int32(width)), C.int(int32(height)), C.uint(uint32(format)), C.uint(uint32(ty)), pixels) + } +} + +func (ptr *QOpenGLFunctions) GlUniform1f(location int, x float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform1f(ptr.Pointer(), C.int(int32(location)), C.float(x)) + } +} + +func (ptr *QOpenGLFunctions) GlUniform1fv(location int, count int, v float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform1fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.float(v)) + } +} + +func (ptr *QOpenGLFunctions) GlUniform1i(location int, x int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform1i(ptr.Pointer(), C.int(int32(location)), C.int(int32(x))) + } +} + +func (ptr *QOpenGLFunctions) GlUniform1iv(location int, count int, v int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform1iv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.int(int32(v))) + } +} + +func (ptr *QOpenGLFunctions) GlUniform2f(location int, x float32, y float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform2f(ptr.Pointer(), C.int(int32(location)), C.float(x), C.float(y)) + } +} + +func (ptr *QOpenGLFunctions) GlUniform2fv(location int, count int, v float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform2fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.float(v)) + } +} + +func (ptr *QOpenGLFunctions) GlUniform2i(location int, x int, y int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform2i(ptr.Pointer(), C.int(int32(location)), C.int(int32(x)), C.int(int32(y))) + } +} + +func (ptr *QOpenGLFunctions) GlUniform2iv(location int, count int, v int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform2iv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.int(int32(v))) + } +} + +func (ptr *QOpenGLFunctions) GlUniform3f(location int, x float32, y float32, z float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform3f(ptr.Pointer(), C.int(int32(location)), C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QOpenGLFunctions) GlUniform3fv(location int, count int, v float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform3fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.float(v)) + } +} + +func (ptr *QOpenGLFunctions) GlUniform3i(location int, x int, y int, z int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform3i(ptr.Pointer(), C.int(int32(location)), C.int(int32(x)), C.int(int32(y)), C.int(int32(z))) + } +} + +func (ptr *QOpenGLFunctions) GlUniform3iv(location int, count int, v int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform3iv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.int(int32(v))) + } +} + +func (ptr *QOpenGLFunctions) GlUniform4f(location int, x float32, y float32, z float32, w float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform4f(ptr.Pointer(), C.int(int32(location)), C.float(x), C.float(y), C.float(z), C.float(w)) + } +} + +func (ptr *QOpenGLFunctions) GlUniform4fv(location int, count int, v float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform4fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.float(v)) + } +} + +func (ptr *QOpenGLFunctions) GlUniform4i(location int, x int, y int, z int, w int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform4i(ptr.Pointer(), C.int(int32(location)), C.int(int32(x)), C.int(int32(y)), C.int(int32(z)), C.int(int32(w))) + } +} + +func (ptr *QOpenGLFunctions) GlUniform4iv(location int, count int, v int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniform4iv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.int(int32(v))) + } +} + +func (ptr *QOpenGLFunctions) GlUniformMatrix2fv(location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniformMatrix2fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLFunctions) GlUniformMatrix3fv(location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniformMatrix3fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLFunctions) GlUniformMatrix4fv(location int, count int, transpose bool, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUniformMatrix4fv(ptr.Pointer(), C.int(int32(location)), C.int(int32(count)), C.char(int8(qt.GoBoolToInt(transpose))), C.float(value)) + } +} + +func (ptr *QOpenGLFunctions) GlUseProgram(program uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlUseProgram(ptr.Pointer(), C.uint(uint32(program))) + } +} + +func (ptr *QOpenGLFunctions) GlValidateProgram(program uint) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlValidateProgram(ptr.Pointer(), C.uint(uint32(program))) + } +} + +func (ptr *QOpenGLFunctions) GlVertexAttrib1f(indx uint, x float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlVertexAttrib1f(ptr.Pointer(), C.uint(uint32(indx)), C.float(x)) + } +} + +func (ptr *QOpenGLFunctions) GlVertexAttrib1fv(indx uint, values float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlVertexAttrib1fv(ptr.Pointer(), C.uint(uint32(indx)), C.float(values)) + } +} + +func (ptr *QOpenGLFunctions) GlVertexAttrib2f(indx uint, x float32, y float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlVertexAttrib2f(ptr.Pointer(), C.uint(uint32(indx)), C.float(x), C.float(y)) + } +} + +func (ptr *QOpenGLFunctions) GlVertexAttrib2fv(indx uint, values float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlVertexAttrib2fv(ptr.Pointer(), C.uint(uint32(indx)), C.float(values)) + } +} + +func (ptr *QOpenGLFunctions) GlVertexAttrib3f(indx uint, x float32, y float32, z float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlVertexAttrib3f(ptr.Pointer(), C.uint(uint32(indx)), C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QOpenGLFunctions) GlVertexAttrib3fv(indx uint, values float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlVertexAttrib3fv(ptr.Pointer(), C.uint(uint32(indx)), C.float(values)) + } +} + +func (ptr *QOpenGLFunctions) GlVertexAttrib4f(indx uint, x float32, y float32, z float32, w float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlVertexAttrib4f(ptr.Pointer(), C.uint(uint32(indx)), C.float(x), C.float(y), C.float(z), C.float(w)) + } +} + +func (ptr *QOpenGLFunctions) GlVertexAttrib4fv(indx uint, values float32) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlVertexAttrib4fv(ptr.Pointer(), C.uint(uint32(indx)), C.float(values)) + } +} + +func (ptr *QOpenGLFunctions) GlVertexAttribPointer(indx uint, size int, ty uint, normalized bool, stride int, p unsafe.Pointer) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlVertexAttribPointer(ptr.Pointer(), C.uint(uint32(indx)), C.int(int32(size)), C.uint(uint32(ty)), C.char(int8(qt.GoBoolToInt(normalized))), C.int(int32(stride)), p) + } +} + +func (ptr *QOpenGLFunctions) GlViewport(x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_GlViewport(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QOpenGLFunctions) HasOpenGLFeature(feature QOpenGLFunctions__OpenGLFeature) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLFunctions_HasOpenGLFeature(ptr.Pointer(), C.longlong(feature))) != 0 + } + return false +} + +func (ptr *QOpenGLFunctions) InitializeOpenGLFunctions() { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_InitializeOpenGLFunctions(ptr.Pointer()) + } +} + +func (ptr *QOpenGLFunctions) OpenGLFeatures() QOpenGLFunctions__OpenGLFeature { + if ptr.Pointer() != nil { + return QOpenGLFunctions__OpenGLFeature(C.QOpenGLFunctions_OpenGLFeatures(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLFunctions) DestroyQOpenGLFunctions() { + if ptr.Pointer() != nil { + C.QOpenGLFunctions_DestroyQOpenGLFunctions(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_0 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_1_0_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_1_0_PTR() *QOpenGLFunctions_1_0 +} + +func (ptr *QOpenGLFunctions_1_0) QOpenGLFunctions_1_0_PTR() *QOpenGLFunctions_1_0 { + return ptr +} + +func (ptr *QOpenGLFunctions_1_0) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_0) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_0(ptr QOpenGLFunctions_1_0_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_0_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_0FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_0) { + n = new(QOpenGLFunctions_1_0) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_0) DestroyQOpenGLFunctions_1_0() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_0_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_0_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_0_CoreBackend_PTR() *QOpenGLFunctions_1_0_CoreBackend +} + +func (ptr *QOpenGLFunctions_1_0_CoreBackend) QOpenGLFunctions_1_0_CoreBackend_PTR() *QOpenGLFunctions_1_0_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_0_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_0_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_0_CoreBackend(ptr QOpenGLFunctions_1_0_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_0_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_0_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_0_CoreBackend) { + n = new(QOpenGLFunctions_1_0_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_0_CoreBackend) DestroyQOpenGLFunctions_1_0_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_0_DeprecatedBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_0_DeprecatedBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_0_DeprecatedBackend_PTR() *QOpenGLFunctions_1_0_DeprecatedBackend +} + +func (ptr *QOpenGLFunctions_1_0_DeprecatedBackend) QOpenGLFunctions_1_0_DeprecatedBackend_PTR() *QOpenGLFunctions_1_0_DeprecatedBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_0_DeprecatedBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_0_DeprecatedBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_0_DeprecatedBackend(ptr QOpenGLFunctions_1_0_DeprecatedBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_0_DeprecatedBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_0_DeprecatedBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_0_DeprecatedBackend) { + n = new(QOpenGLFunctions_1_0_DeprecatedBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_0_DeprecatedBackend) DestroyQOpenGLFunctions_1_0_DeprecatedBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_1 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_1_1_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_1_1_PTR() *QOpenGLFunctions_1_1 +} + +func (ptr *QOpenGLFunctions_1_1) QOpenGLFunctions_1_1_PTR() *QOpenGLFunctions_1_1 { + return ptr +} + +func (ptr *QOpenGLFunctions_1_1) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_1) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_1(ptr QOpenGLFunctions_1_1_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_1_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_1FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_1) { + n = new(QOpenGLFunctions_1_1) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_1) DestroyQOpenGLFunctions_1_1() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_1_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_1_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_1_CoreBackend_PTR() *QOpenGLFunctions_1_1_CoreBackend +} + +func (ptr *QOpenGLFunctions_1_1_CoreBackend) QOpenGLFunctions_1_1_CoreBackend_PTR() *QOpenGLFunctions_1_1_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_1_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_1_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_1_CoreBackend(ptr QOpenGLFunctions_1_1_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_1_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_1_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_1_CoreBackend) { + n = new(QOpenGLFunctions_1_1_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_1_CoreBackend) DestroyQOpenGLFunctions_1_1_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_1_DeprecatedBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_1_DeprecatedBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_1_DeprecatedBackend_PTR() *QOpenGLFunctions_1_1_DeprecatedBackend +} + +func (ptr *QOpenGLFunctions_1_1_DeprecatedBackend) QOpenGLFunctions_1_1_DeprecatedBackend_PTR() *QOpenGLFunctions_1_1_DeprecatedBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_1_DeprecatedBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_1_DeprecatedBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_1_DeprecatedBackend(ptr QOpenGLFunctions_1_1_DeprecatedBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_1_DeprecatedBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_1_DeprecatedBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_1_DeprecatedBackend) { + n = new(QOpenGLFunctions_1_1_DeprecatedBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_1_DeprecatedBackend) DestroyQOpenGLFunctions_1_1_DeprecatedBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_2 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_1_2_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_1_2_PTR() *QOpenGLFunctions_1_2 +} + +func (ptr *QOpenGLFunctions_1_2) QOpenGLFunctions_1_2_PTR() *QOpenGLFunctions_1_2 { + return ptr +} + +func (ptr *QOpenGLFunctions_1_2) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_2) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_2(ptr QOpenGLFunctions_1_2_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_2_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_2FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_2) { + n = new(QOpenGLFunctions_1_2) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_2) DestroyQOpenGLFunctions_1_2() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_2_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_2_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_2_CoreBackend_PTR() *QOpenGLFunctions_1_2_CoreBackend +} + +func (ptr *QOpenGLFunctions_1_2_CoreBackend) QOpenGLFunctions_1_2_CoreBackend_PTR() *QOpenGLFunctions_1_2_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_2_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_2_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_2_CoreBackend(ptr QOpenGLFunctions_1_2_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_2_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_2_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_2_CoreBackend) { + n = new(QOpenGLFunctions_1_2_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_2_CoreBackend) DestroyQOpenGLFunctions_1_2_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_2_DeprecatedBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_2_DeprecatedBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_2_DeprecatedBackend_PTR() *QOpenGLFunctions_1_2_DeprecatedBackend +} + +func (ptr *QOpenGLFunctions_1_2_DeprecatedBackend) QOpenGLFunctions_1_2_DeprecatedBackend_PTR() *QOpenGLFunctions_1_2_DeprecatedBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_2_DeprecatedBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_2_DeprecatedBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_2_DeprecatedBackend(ptr QOpenGLFunctions_1_2_DeprecatedBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_2_DeprecatedBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_2_DeprecatedBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_2_DeprecatedBackend) { + n = new(QOpenGLFunctions_1_2_DeprecatedBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_2_DeprecatedBackend) DestroyQOpenGLFunctions_1_2_DeprecatedBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_3 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_1_3_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_1_3_PTR() *QOpenGLFunctions_1_3 +} + +func (ptr *QOpenGLFunctions_1_3) QOpenGLFunctions_1_3_PTR() *QOpenGLFunctions_1_3 { + return ptr +} + +func (ptr *QOpenGLFunctions_1_3) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_3) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_3(ptr QOpenGLFunctions_1_3_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_3_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_3FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_3) { + n = new(QOpenGLFunctions_1_3) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_3) DestroyQOpenGLFunctions_1_3() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_3_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_3_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_3_CoreBackend_PTR() *QOpenGLFunctions_1_3_CoreBackend +} + +func (ptr *QOpenGLFunctions_1_3_CoreBackend) QOpenGLFunctions_1_3_CoreBackend_PTR() *QOpenGLFunctions_1_3_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_3_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_3_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_3_CoreBackend(ptr QOpenGLFunctions_1_3_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_3_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_3_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_3_CoreBackend) { + n = new(QOpenGLFunctions_1_3_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_3_CoreBackend) DestroyQOpenGLFunctions_1_3_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_3_DeprecatedBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_3_DeprecatedBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_3_DeprecatedBackend_PTR() *QOpenGLFunctions_1_3_DeprecatedBackend +} + +func (ptr *QOpenGLFunctions_1_3_DeprecatedBackend) QOpenGLFunctions_1_3_DeprecatedBackend_PTR() *QOpenGLFunctions_1_3_DeprecatedBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_3_DeprecatedBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_3_DeprecatedBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_3_DeprecatedBackend(ptr QOpenGLFunctions_1_3_DeprecatedBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_3_DeprecatedBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_3_DeprecatedBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_3_DeprecatedBackend) { + n = new(QOpenGLFunctions_1_3_DeprecatedBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_3_DeprecatedBackend) DestroyQOpenGLFunctions_1_3_DeprecatedBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_4 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_1_4_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_1_4_PTR() *QOpenGLFunctions_1_4 +} + +func (ptr *QOpenGLFunctions_1_4) QOpenGLFunctions_1_4_PTR() *QOpenGLFunctions_1_4 { + return ptr +} + +func (ptr *QOpenGLFunctions_1_4) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_4) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_4(ptr QOpenGLFunctions_1_4_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_4_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_4FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_4) { + n = new(QOpenGLFunctions_1_4) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_4) DestroyQOpenGLFunctions_1_4() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_4_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_4_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_4_CoreBackend_PTR() *QOpenGLFunctions_1_4_CoreBackend +} + +func (ptr *QOpenGLFunctions_1_4_CoreBackend) QOpenGLFunctions_1_4_CoreBackend_PTR() *QOpenGLFunctions_1_4_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_4_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_4_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_4_CoreBackend(ptr QOpenGLFunctions_1_4_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_4_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_4_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_4_CoreBackend) { + n = new(QOpenGLFunctions_1_4_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_4_CoreBackend) DestroyQOpenGLFunctions_1_4_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_4_DeprecatedBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_4_DeprecatedBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_4_DeprecatedBackend_PTR() *QOpenGLFunctions_1_4_DeprecatedBackend +} + +func (ptr *QOpenGLFunctions_1_4_DeprecatedBackend) QOpenGLFunctions_1_4_DeprecatedBackend_PTR() *QOpenGLFunctions_1_4_DeprecatedBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_4_DeprecatedBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_4_DeprecatedBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_4_DeprecatedBackend(ptr QOpenGLFunctions_1_4_DeprecatedBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_4_DeprecatedBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_4_DeprecatedBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_4_DeprecatedBackend) { + n = new(QOpenGLFunctions_1_4_DeprecatedBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_4_DeprecatedBackend) DestroyQOpenGLFunctions_1_4_DeprecatedBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_5 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_1_5_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_1_5_PTR() *QOpenGLFunctions_1_5 +} + +func (ptr *QOpenGLFunctions_1_5) QOpenGLFunctions_1_5_PTR() *QOpenGLFunctions_1_5 { + return ptr +} + +func (ptr *QOpenGLFunctions_1_5) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_5) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_5(ptr QOpenGLFunctions_1_5_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_5_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_5FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_5) { + n = new(QOpenGLFunctions_1_5) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_5) DestroyQOpenGLFunctions_1_5() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_1_5_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_1_5_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_1_5_CoreBackend_PTR() *QOpenGLFunctions_1_5_CoreBackend +} + +func (ptr *QOpenGLFunctions_1_5_CoreBackend) QOpenGLFunctions_1_5_CoreBackend_PTR() *QOpenGLFunctions_1_5_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_1_5_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_1_5_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_1_5_CoreBackend(ptr QOpenGLFunctions_1_5_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_1_5_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_1_5_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_1_5_CoreBackend) { + n = new(QOpenGLFunctions_1_5_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_1_5_CoreBackend) DestroyQOpenGLFunctions_1_5_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_2_0 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_2_0_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_2_0_PTR() *QOpenGLFunctions_2_0 +} + +func (ptr *QOpenGLFunctions_2_0) QOpenGLFunctions_2_0_PTR() *QOpenGLFunctions_2_0 { + return ptr +} + +func (ptr *QOpenGLFunctions_2_0) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_2_0) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_2_0(ptr QOpenGLFunctions_2_0_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_2_0_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_2_0FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_2_0) { + n = new(QOpenGLFunctions_2_0) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_2_0) DestroyQOpenGLFunctions_2_0() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_2_0_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_2_0_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_2_0_CoreBackend_PTR() *QOpenGLFunctions_2_0_CoreBackend +} + +func (ptr *QOpenGLFunctions_2_0_CoreBackend) QOpenGLFunctions_2_0_CoreBackend_PTR() *QOpenGLFunctions_2_0_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_2_0_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_2_0_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_2_0_CoreBackend(ptr QOpenGLFunctions_2_0_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_2_0_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_2_0_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_2_0_CoreBackend) { + n = new(QOpenGLFunctions_2_0_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_2_0_CoreBackend) DestroyQOpenGLFunctions_2_0_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_2_0_DeprecatedBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_2_0_DeprecatedBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_2_0_DeprecatedBackend_PTR() *QOpenGLFunctions_2_0_DeprecatedBackend +} + +func (ptr *QOpenGLFunctions_2_0_DeprecatedBackend) QOpenGLFunctions_2_0_DeprecatedBackend_PTR() *QOpenGLFunctions_2_0_DeprecatedBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_2_0_DeprecatedBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_2_0_DeprecatedBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_2_0_DeprecatedBackend(ptr QOpenGLFunctions_2_0_DeprecatedBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_2_0_DeprecatedBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_2_0_DeprecatedBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_2_0_DeprecatedBackend) { + n = new(QOpenGLFunctions_2_0_DeprecatedBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_2_0_DeprecatedBackend) DestroyQOpenGLFunctions_2_0_DeprecatedBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_2_1 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_2_1_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_2_1_PTR() *QOpenGLFunctions_2_1 +} + +func (ptr *QOpenGLFunctions_2_1) QOpenGLFunctions_2_1_PTR() *QOpenGLFunctions_2_1 { + return ptr +} + +func (ptr *QOpenGLFunctions_2_1) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_2_1) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_2_1(ptr QOpenGLFunctions_2_1_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_2_1_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_2_1FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_2_1) { + n = new(QOpenGLFunctions_2_1) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_2_1) DestroyQOpenGLFunctions_2_1() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_2_1_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_2_1_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_2_1_CoreBackend_PTR() *QOpenGLFunctions_2_1_CoreBackend +} + +func (ptr *QOpenGLFunctions_2_1_CoreBackend) QOpenGLFunctions_2_1_CoreBackend_PTR() *QOpenGLFunctions_2_1_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_2_1_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_2_1_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_2_1_CoreBackend(ptr QOpenGLFunctions_2_1_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_2_1_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_2_1_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_2_1_CoreBackend) { + n = new(QOpenGLFunctions_2_1_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_2_1_CoreBackend) DestroyQOpenGLFunctions_2_1_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_0 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_3_0_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_3_0_PTR() *QOpenGLFunctions_3_0 +} + +func (ptr *QOpenGLFunctions_3_0) QOpenGLFunctions_3_0_PTR() *QOpenGLFunctions_3_0 { + return ptr +} + +func (ptr *QOpenGLFunctions_3_0) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_0) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_0(ptr QOpenGLFunctions_3_0_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_0_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_0FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_0) { + n = new(QOpenGLFunctions_3_0) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_0) DestroyQOpenGLFunctions_3_0() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_0_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_3_0_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_3_0_CoreBackend_PTR() *QOpenGLFunctions_3_0_CoreBackend +} + +func (ptr *QOpenGLFunctions_3_0_CoreBackend) QOpenGLFunctions_3_0_CoreBackend_PTR() *QOpenGLFunctions_3_0_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_3_0_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_0_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_0_CoreBackend(ptr QOpenGLFunctions_3_0_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_0_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_0_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_0_CoreBackend) { + n = new(QOpenGLFunctions_3_0_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_0_CoreBackend) DestroyQOpenGLFunctions_3_0_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_0_DeprecatedBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_3_0_DeprecatedBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_3_0_DeprecatedBackend_PTR() *QOpenGLFunctions_3_0_DeprecatedBackend +} + +func (ptr *QOpenGLFunctions_3_0_DeprecatedBackend) QOpenGLFunctions_3_0_DeprecatedBackend_PTR() *QOpenGLFunctions_3_0_DeprecatedBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_3_0_DeprecatedBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_0_DeprecatedBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_0_DeprecatedBackend(ptr QOpenGLFunctions_3_0_DeprecatedBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_0_DeprecatedBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_0_DeprecatedBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_0_DeprecatedBackend) { + n = new(QOpenGLFunctions_3_0_DeprecatedBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_0_DeprecatedBackend) DestroyQOpenGLFunctions_3_0_DeprecatedBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_1 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_3_1_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_3_1_PTR() *QOpenGLFunctions_3_1 +} + +func (ptr *QOpenGLFunctions_3_1) QOpenGLFunctions_3_1_PTR() *QOpenGLFunctions_3_1 { + return ptr +} + +func (ptr *QOpenGLFunctions_3_1) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_1) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_1(ptr QOpenGLFunctions_3_1_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_1_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_1FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_1) { + n = new(QOpenGLFunctions_3_1) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_1) DestroyQOpenGLFunctions_3_1() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_1_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_3_1_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_3_1_CoreBackend_PTR() *QOpenGLFunctions_3_1_CoreBackend +} + +func (ptr *QOpenGLFunctions_3_1_CoreBackend) QOpenGLFunctions_3_1_CoreBackend_PTR() *QOpenGLFunctions_3_1_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_3_1_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_1_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_1_CoreBackend(ptr QOpenGLFunctions_3_1_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_1_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_1_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_1_CoreBackend) { + n = new(QOpenGLFunctions_3_1_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_1_CoreBackend) DestroyQOpenGLFunctions_3_1_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_2_Compatibility struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_3_2_Compatibility_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_3_2_Compatibility_PTR() *QOpenGLFunctions_3_2_Compatibility +} + +func (ptr *QOpenGLFunctions_3_2_Compatibility) QOpenGLFunctions_3_2_Compatibility_PTR() *QOpenGLFunctions_3_2_Compatibility { + return ptr +} + +func (ptr *QOpenGLFunctions_3_2_Compatibility) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_2_Compatibility) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_2_Compatibility(ptr QOpenGLFunctions_3_2_Compatibility_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_2_Compatibility_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_2_CompatibilityFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_2_Compatibility) { + n = new(QOpenGLFunctions_3_2_Compatibility) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_2_Compatibility) DestroyQOpenGLFunctions_3_2_Compatibility() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_2_Core struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_3_2_Core_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_3_2_Core_PTR() *QOpenGLFunctions_3_2_Core +} + +func (ptr *QOpenGLFunctions_3_2_Core) QOpenGLFunctions_3_2_Core_PTR() *QOpenGLFunctions_3_2_Core { + return ptr +} + +func (ptr *QOpenGLFunctions_3_2_Core) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_2_Core) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_2_Core(ptr QOpenGLFunctions_3_2_Core_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_2_Core_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_2_CoreFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_2_Core) { + n = new(QOpenGLFunctions_3_2_Core) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_2_Core) DestroyQOpenGLFunctions_3_2_Core() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_2_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_3_2_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_3_2_CoreBackend_PTR() *QOpenGLFunctions_3_2_CoreBackend +} + +func (ptr *QOpenGLFunctions_3_2_CoreBackend) QOpenGLFunctions_3_2_CoreBackend_PTR() *QOpenGLFunctions_3_2_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_3_2_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_2_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_2_CoreBackend(ptr QOpenGLFunctions_3_2_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_2_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_2_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_2_CoreBackend) { + n = new(QOpenGLFunctions_3_2_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_2_CoreBackend) DestroyQOpenGLFunctions_3_2_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_3_Compatibility struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_3_3_Compatibility_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_3_3_Compatibility_PTR() *QOpenGLFunctions_3_3_Compatibility +} + +func (ptr *QOpenGLFunctions_3_3_Compatibility) QOpenGLFunctions_3_3_Compatibility_PTR() *QOpenGLFunctions_3_3_Compatibility { + return ptr +} + +func (ptr *QOpenGLFunctions_3_3_Compatibility) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_3_Compatibility) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_3_Compatibility(ptr QOpenGLFunctions_3_3_Compatibility_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_3_Compatibility_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_3_CompatibilityFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_3_Compatibility) { + n = new(QOpenGLFunctions_3_3_Compatibility) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_3_Compatibility) DestroyQOpenGLFunctions_3_3_Compatibility() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_3_Core struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_3_3_Core_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_3_3_Core_PTR() *QOpenGLFunctions_3_3_Core +} + +func (ptr *QOpenGLFunctions_3_3_Core) QOpenGLFunctions_3_3_Core_PTR() *QOpenGLFunctions_3_3_Core { + return ptr +} + +func (ptr *QOpenGLFunctions_3_3_Core) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_3_Core) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_3_Core(ptr QOpenGLFunctions_3_3_Core_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_3_Core_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_3_CoreFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_3_Core) { + n = new(QOpenGLFunctions_3_3_Core) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_3_Core) DestroyQOpenGLFunctions_3_3_Core() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_3_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_3_3_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_3_3_CoreBackend_PTR() *QOpenGLFunctions_3_3_CoreBackend +} + +func (ptr *QOpenGLFunctions_3_3_CoreBackend) QOpenGLFunctions_3_3_CoreBackend_PTR() *QOpenGLFunctions_3_3_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_3_3_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_3_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_3_CoreBackend(ptr QOpenGLFunctions_3_3_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_3_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_3_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_3_CoreBackend) { + n = new(QOpenGLFunctions_3_3_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_3_CoreBackend) DestroyQOpenGLFunctions_3_3_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_3_3_DeprecatedBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_3_3_DeprecatedBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_3_3_DeprecatedBackend_PTR() *QOpenGLFunctions_3_3_DeprecatedBackend +} + +func (ptr *QOpenGLFunctions_3_3_DeprecatedBackend) QOpenGLFunctions_3_3_DeprecatedBackend_PTR() *QOpenGLFunctions_3_3_DeprecatedBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_3_3_DeprecatedBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_3_3_DeprecatedBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_3_3_DeprecatedBackend(ptr QOpenGLFunctions_3_3_DeprecatedBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_3_3_DeprecatedBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_3_3_DeprecatedBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_3_3_DeprecatedBackend) { + n = new(QOpenGLFunctions_3_3_DeprecatedBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_3_3_DeprecatedBackend) DestroyQOpenGLFunctions_3_3_DeprecatedBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_0_Compatibility struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_0_Compatibility_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_0_Compatibility_PTR() *QOpenGLFunctions_4_0_Compatibility +} + +func (ptr *QOpenGLFunctions_4_0_Compatibility) QOpenGLFunctions_4_0_Compatibility_PTR() *QOpenGLFunctions_4_0_Compatibility { + return ptr +} + +func (ptr *QOpenGLFunctions_4_0_Compatibility) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_0_Compatibility) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_0_Compatibility(ptr QOpenGLFunctions_4_0_Compatibility_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_0_Compatibility_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_0_CompatibilityFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_0_Compatibility) { + n = new(QOpenGLFunctions_4_0_Compatibility) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_0_Compatibility) DestroyQOpenGLFunctions_4_0_Compatibility() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_0_Core struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_0_Core_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_0_Core_PTR() *QOpenGLFunctions_4_0_Core +} + +func (ptr *QOpenGLFunctions_4_0_Core) QOpenGLFunctions_4_0_Core_PTR() *QOpenGLFunctions_4_0_Core { + return ptr +} + +func (ptr *QOpenGLFunctions_4_0_Core) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_0_Core) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_0_Core(ptr QOpenGLFunctions_4_0_Core_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_0_Core_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_0_CoreFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_0_Core) { + n = new(QOpenGLFunctions_4_0_Core) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_0_Core) DestroyQOpenGLFunctions_4_0_Core() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_0_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_4_0_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_4_0_CoreBackend_PTR() *QOpenGLFunctions_4_0_CoreBackend +} + +func (ptr *QOpenGLFunctions_4_0_CoreBackend) QOpenGLFunctions_4_0_CoreBackend_PTR() *QOpenGLFunctions_4_0_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_4_0_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_0_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_0_CoreBackend(ptr QOpenGLFunctions_4_0_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_0_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_0_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_0_CoreBackend) { + n = new(QOpenGLFunctions_4_0_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_0_CoreBackend) DestroyQOpenGLFunctions_4_0_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_1_Compatibility struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_1_Compatibility_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_1_Compatibility_PTR() *QOpenGLFunctions_4_1_Compatibility +} + +func (ptr *QOpenGLFunctions_4_1_Compatibility) QOpenGLFunctions_4_1_Compatibility_PTR() *QOpenGLFunctions_4_1_Compatibility { + return ptr +} + +func (ptr *QOpenGLFunctions_4_1_Compatibility) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_1_Compatibility) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_1_Compatibility(ptr QOpenGLFunctions_4_1_Compatibility_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_1_Compatibility_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_1_CompatibilityFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_1_Compatibility) { + n = new(QOpenGLFunctions_4_1_Compatibility) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_1_Compatibility) DestroyQOpenGLFunctions_4_1_Compatibility() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_1_Core struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_1_Core_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_1_Core_PTR() *QOpenGLFunctions_4_1_Core +} + +func (ptr *QOpenGLFunctions_4_1_Core) QOpenGLFunctions_4_1_Core_PTR() *QOpenGLFunctions_4_1_Core { + return ptr +} + +func (ptr *QOpenGLFunctions_4_1_Core) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_1_Core) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_1_Core(ptr QOpenGLFunctions_4_1_Core_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_1_Core_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_1_CoreFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_1_Core) { + n = new(QOpenGLFunctions_4_1_Core) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_1_Core) DestroyQOpenGLFunctions_4_1_Core() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_1_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_4_1_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_4_1_CoreBackend_PTR() *QOpenGLFunctions_4_1_CoreBackend +} + +func (ptr *QOpenGLFunctions_4_1_CoreBackend) QOpenGLFunctions_4_1_CoreBackend_PTR() *QOpenGLFunctions_4_1_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_4_1_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_1_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_1_CoreBackend(ptr QOpenGLFunctions_4_1_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_1_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_1_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_1_CoreBackend) { + n = new(QOpenGLFunctions_4_1_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_1_CoreBackend) DestroyQOpenGLFunctions_4_1_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_2_Compatibility struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_2_Compatibility_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_2_Compatibility_PTR() *QOpenGLFunctions_4_2_Compatibility +} + +func (ptr *QOpenGLFunctions_4_2_Compatibility) QOpenGLFunctions_4_2_Compatibility_PTR() *QOpenGLFunctions_4_2_Compatibility { + return ptr +} + +func (ptr *QOpenGLFunctions_4_2_Compatibility) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_2_Compatibility) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_2_Compatibility(ptr QOpenGLFunctions_4_2_Compatibility_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_2_Compatibility_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_2_CompatibilityFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_2_Compatibility) { + n = new(QOpenGLFunctions_4_2_Compatibility) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_2_Compatibility) DestroyQOpenGLFunctions_4_2_Compatibility() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_2_Core struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_2_Core_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_2_Core_PTR() *QOpenGLFunctions_4_2_Core +} + +func (ptr *QOpenGLFunctions_4_2_Core) QOpenGLFunctions_4_2_Core_PTR() *QOpenGLFunctions_4_2_Core { + return ptr +} + +func (ptr *QOpenGLFunctions_4_2_Core) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_2_Core) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_2_Core(ptr QOpenGLFunctions_4_2_Core_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_2_Core_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_2_CoreFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_2_Core) { + n = new(QOpenGLFunctions_4_2_Core) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_2_Core) DestroyQOpenGLFunctions_4_2_Core() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_2_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_4_2_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_4_2_CoreBackend_PTR() *QOpenGLFunctions_4_2_CoreBackend +} + +func (ptr *QOpenGLFunctions_4_2_CoreBackend) QOpenGLFunctions_4_2_CoreBackend_PTR() *QOpenGLFunctions_4_2_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_4_2_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_2_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_2_CoreBackend(ptr QOpenGLFunctions_4_2_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_2_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_2_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_2_CoreBackend) { + n = new(QOpenGLFunctions_4_2_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_2_CoreBackend) DestroyQOpenGLFunctions_4_2_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_3_Compatibility struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_3_Compatibility_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_3_Compatibility_PTR() *QOpenGLFunctions_4_3_Compatibility +} + +func (ptr *QOpenGLFunctions_4_3_Compatibility) QOpenGLFunctions_4_3_Compatibility_PTR() *QOpenGLFunctions_4_3_Compatibility { + return ptr +} + +func (ptr *QOpenGLFunctions_4_3_Compatibility) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_3_Compatibility) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_3_Compatibility(ptr QOpenGLFunctions_4_3_Compatibility_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_3_Compatibility_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_3_CompatibilityFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_3_Compatibility) { + n = new(QOpenGLFunctions_4_3_Compatibility) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_3_Compatibility) DestroyQOpenGLFunctions_4_3_Compatibility() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_3_Core struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_3_Core_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_3_Core_PTR() *QOpenGLFunctions_4_3_Core +} + +func (ptr *QOpenGLFunctions_4_3_Core) QOpenGLFunctions_4_3_Core_PTR() *QOpenGLFunctions_4_3_Core { + return ptr +} + +func (ptr *QOpenGLFunctions_4_3_Core) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_3_Core) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_3_Core(ptr QOpenGLFunctions_4_3_Core_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_3_Core_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_3_CoreFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_3_Core) { + n = new(QOpenGLFunctions_4_3_Core) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_3_Core) DestroyQOpenGLFunctions_4_3_Core() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_3_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_4_3_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_4_3_CoreBackend_PTR() *QOpenGLFunctions_4_3_CoreBackend +} + +func (ptr *QOpenGLFunctions_4_3_CoreBackend) QOpenGLFunctions_4_3_CoreBackend_PTR() *QOpenGLFunctions_4_3_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_4_3_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_3_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_3_CoreBackend(ptr QOpenGLFunctions_4_3_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_3_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_3_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_3_CoreBackend) { + n = new(QOpenGLFunctions_4_3_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_3_CoreBackend) DestroyQOpenGLFunctions_4_3_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_4_Compatibility struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_4_Compatibility_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_4_Compatibility_PTR() *QOpenGLFunctions_4_4_Compatibility +} + +func (ptr *QOpenGLFunctions_4_4_Compatibility) QOpenGLFunctions_4_4_Compatibility_PTR() *QOpenGLFunctions_4_4_Compatibility { + return ptr +} + +func (ptr *QOpenGLFunctions_4_4_Compatibility) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_4_Compatibility) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_4_Compatibility(ptr QOpenGLFunctions_4_4_Compatibility_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_4_Compatibility_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_4_CompatibilityFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_4_Compatibility) { + n = new(QOpenGLFunctions_4_4_Compatibility) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_4_Compatibility) DestroyQOpenGLFunctions_4_4_Compatibility() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_4_Core struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_4_Core_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_4_Core_PTR() *QOpenGLFunctions_4_4_Core +} + +func (ptr *QOpenGLFunctions_4_4_Core) QOpenGLFunctions_4_4_Core_PTR() *QOpenGLFunctions_4_4_Core { + return ptr +} + +func (ptr *QOpenGLFunctions_4_4_Core) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_4_Core) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_4_Core(ptr QOpenGLFunctions_4_4_Core_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_4_Core_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_4_CoreFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_4_Core) { + n = new(QOpenGLFunctions_4_4_Core) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_4_Core) DestroyQOpenGLFunctions_4_4_Core() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_4_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_4_4_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_4_4_CoreBackend_PTR() *QOpenGLFunctions_4_4_CoreBackend +} + +func (ptr *QOpenGLFunctions_4_4_CoreBackend) QOpenGLFunctions_4_4_CoreBackend_PTR() *QOpenGLFunctions_4_4_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_4_4_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_4_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_4_CoreBackend(ptr QOpenGLFunctions_4_4_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_4_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_4_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_4_CoreBackend) { + n = new(QOpenGLFunctions_4_4_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_4_CoreBackend) DestroyQOpenGLFunctions_4_4_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_5_Compatibility struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_5_Compatibility_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_5_Compatibility_PTR() *QOpenGLFunctions_4_5_Compatibility +} + +func (ptr *QOpenGLFunctions_4_5_Compatibility) QOpenGLFunctions_4_5_Compatibility_PTR() *QOpenGLFunctions_4_5_Compatibility { + return ptr +} + +func (ptr *QOpenGLFunctions_4_5_Compatibility) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_5_Compatibility) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_5_Compatibility(ptr QOpenGLFunctions_4_5_Compatibility_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_5_Compatibility_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_5_CompatibilityFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_5_Compatibility) { + n = new(QOpenGLFunctions_4_5_Compatibility) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_5_Compatibility) DestroyQOpenGLFunctions_4_5_Compatibility() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_5_Core struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_4_5_Core_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_4_5_Core_PTR() *QOpenGLFunctions_4_5_Core +} + +func (ptr *QOpenGLFunctions_4_5_Core) QOpenGLFunctions_4_5_Core_PTR() *QOpenGLFunctions_4_5_Core { + return ptr +} + +func (ptr *QOpenGLFunctions_4_5_Core) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_5_Core) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_5_Core(ptr QOpenGLFunctions_4_5_Core_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_5_Core_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_5_CoreFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_5_Core) { + n = new(QOpenGLFunctions_4_5_Core) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_5_Core) DestroyQOpenGLFunctions_4_5_Core() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_5_CoreBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_4_5_CoreBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_4_5_CoreBackend_PTR() *QOpenGLFunctions_4_5_CoreBackend +} + +func (ptr *QOpenGLFunctions_4_5_CoreBackend) QOpenGLFunctions_4_5_CoreBackend_PTR() *QOpenGLFunctions_4_5_CoreBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_4_5_CoreBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_5_CoreBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_5_CoreBackend(ptr QOpenGLFunctions_4_5_CoreBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_5_CoreBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_5_CoreBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_5_CoreBackend) { + n = new(QOpenGLFunctions_4_5_CoreBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_5_CoreBackend) DestroyQOpenGLFunctions_4_5_CoreBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_4_5_DeprecatedBackend struct { + QOpenGLVersionFunctionsBackend +} + +type QOpenGLFunctions_4_5_DeprecatedBackend_ITF interface { + QOpenGLVersionFunctionsBackend_ITF + QOpenGLFunctions_4_5_DeprecatedBackend_PTR() *QOpenGLFunctions_4_5_DeprecatedBackend +} + +func (ptr *QOpenGLFunctions_4_5_DeprecatedBackend) QOpenGLFunctions_4_5_DeprecatedBackend_PTR() *QOpenGLFunctions_4_5_DeprecatedBackend { + return ptr +} + +func (ptr *QOpenGLFunctions_4_5_DeprecatedBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_4_5_DeprecatedBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QOpenGLVersionFunctionsBackend_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_4_5_DeprecatedBackend(ptr QOpenGLFunctions_4_5_DeprecatedBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_4_5_DeprecatedBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_4_5_DeprecatedBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_4_5_DeprecatedBackend) { + n = new(QOpenGLFunctions_4_5_DeprecatedBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_4_5_DeprecatedBackend) DestroyQOpenGLFunctions_4_5_DeprecatedBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLFunctions_ES2 struct { + QAbstractOpenGLFunctions +} + +type QOpenGLFunctions_ES2_ITF interface { + QAbstractOpenGLFunctions_ITF + QOpenGLFunctions_ES2_PTR() *QOpenGLFunctions_ES2 +} + +func (ptr *QOpenGLFunctions_ES2) QOpenGLFunctions_ES2_PTR() *QOpenGLFunctions_ES2 { + return ptr +} + +func (ptr *QOpenGLFunctions_ES2) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractOpenGLFunctions_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLFunctions_ES2) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractOpenGLFunctions_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLFunctions_ES2(ptr QOpenGLFunctions_ES2_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLFunctions_ES2_PTR().Pointer() + } + return nil +} + +func NewQOpenGLFunctions_ES2FromPointer(ptr unsafe.Pointer) (n *QOpenGLFunctions_ES2) { + n = new(QOpenGLFunctions_ES2) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLFunctions_ES2) DestroyQOpenGLFunctions_ES2() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLPaintDevice struct { + QPaintDevice +} + +type QOpenGLPaintDevice_ITF interface { + QPaintDevice_ITF + QOpenGLPaintDevice_PTR() *QOpenGLPaintDevice +} + +func (ptr *QOpenGLPaintDevice) QOpenGLPaintDevice_PTR() *QOpenGLPaintDevice { + return ptr +} + +func (ptr *QOpenGLPaintDevice) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPaintDevice_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLPaintDevice) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPaintDevice_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLPaintDevice(ptr QOpenGLPaintDevice_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLPaintDevice_PTR().Pointer() + } + return nil +} + +func NewQOpenGLPaintDeviceFromPointer(ptr unsafe.Pointer) (n *QOpenGLPaintDevice) { + n = new(QOpenGLPaintDevice) + n.SetPointer(ptr) + return +} +func NewQOpenGLPaintDevice() *QOpenGLPaintDevice { + return NewQOpenGLPaintDeviceFromPointer(C.QOpenGLPaintDevice_NewQOpenGLPaintDevice()) +} + +func NewQOpenGLPaintDevice2(size core.QSize_ITF) *QOpenGLPaintDevice { + return NewQOpenGLPaintDeviceFromPointer(C.QOpenGLPaintDevice_NewQOpenGLPaintDevice2(core.PointerFromQSize(size))) +} + +func NewQOpenGLPaintDevice3(width int, height int) *QOpenGLPaintDevice { + return NewQOpenGLPaintDeviceFromPointer(C.QOpenGLPaintDevice_NewQOpenGLPaintDevice3(C.int(int32(width)), C.int(int32(height)))) +} + +func (ptr *QOpenGLPaintDevice) Context() *QOpenGLContext { + if ptr.Pointer() != nil { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLPaintDevice_Context(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLPaintDevice) DotsPerMeterX() float64 { + if ptr.Pointer() != nil { + return float64(C.QOpenGLPaintDevice_DotsPerMeterX(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLPaintDevice) DotsPerMeterY() float64 { + if ptr.Pointer() != nil { + return float64(C.QOpenGLPaintDevice_DotsPerMeterY(ptr.Pointer())) + } + return 0 +} + +//export callbackQOpenGLPaintDevice_EnsureActiveTarget +func callbackQOpenGLPaintDevice_EnsureActiveTarget(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "ensureActiveTarget"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLPaintDeviceFromPointer(ptr).EnsureActiveTargetDefault() + } +} + +func (ptr *QOpenGLPaintDevice) ConnectEnsureActiveTarget(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "ensureActiveTarget"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "ensureActiveTarget", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "ensureActiveTarget", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLPaintDevice) DisconnectEnsureActiveTarget() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "ensureActiveTarget") + } +} + +func (ptr *QOpenGLPaintDevice) EnsureActiveTarget() { + if ptr.Pointer() != nil { + C.QOpenGLPaintDevice_EnsureActiveTarget(ptr.Pointer()) + } +} + +func (ptr *QOpenGLPaintDevice) EnsureActiveTargetDefault() { + if ptr.Pointer() != nil { + C.QOpenGLPaintDevice_EnsureActiveTargetDefault(ptr.Pointer()) + } +} + +//export callbackQOpenGLPaintDevice_PaintEngine +func callbackQOpenGLPaintDevice_PaintEngine(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "paintEngine"); signal != nil { + return PointerFromQPaintEngine((*(*func() *QPaintEngine)(signal))()) + } + + return PointerFromQPaintEngine(NewQOpenGLPaintDeviceFromPointer(ptr).PaintEngineDefault()) +} + +func (ptr *QOpenGLPaintDevice) ConnectPaintEngine(f func() *QPaintEngine) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "paintEngine"); signal != nil { + f := func() *QPaintEngine { + (*(*func() *QPaintEngine)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "paintEngine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "paintEngine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLPaintDevice) DisconnectPaintEngine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "paintEngine") + } +} + +func (ptr *QOpenGLPaintDevice) PaintEngine() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QOpenGLPaintDevice_PaintEngine(ptr.Pointer())) + } + return nil +} + +func (ptr *QOpenGLPaintDevice) PaintEngineDefault() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QOpenGLPaintDevice_PaintEngineDefault(ptr.Pointer())) + } + return nil +} + +func (ptr *QOpenGLPaintDevice) PaintFlipped() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLPaintDevice_PaintFlipped(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLPaintDevice) SetDevicePixelRatio(devicePixelRatio float64) { + if ptr.Pointer() != nil { + C.QOpenGLPaintDevice_SetDevicePixelRatio(ptr.Pointer(), C.double(devicePixelRatio)) + } +} + +func (ptr *QOpenGLPaintDevice) SetDotsPerMeterX(dpmx float64) { + if ptr.Pointer() != nil { + C.QOpenGLPaintDevice_SetDotsPerMeterX(ptr.Pointer(), C.double(dpmx)) + } +} + +func (ptr *QOpenGLPaintDevice) SetDotsPerMeterY(dpmy float64) { + if ptr.Pointer() != nil { + C.QOpenGLPaintDevice_SetDotsPerMeterY(ptr.Pointer(), C.double(dpmy)) + } +} + +func (ptr *QOpenGLPaintDevice) SetPaintFlipped(flipped bool) { + if ptr.Pointer() != nil { + C.QOpenGLPaintDevice_SetPaintFlipped(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(flipped)))) + } +} + +func (ptr *QOpenGLPaintDevice) SetSize(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLPaintDevice_SetSize(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +func (ptr *QOpenGLPaintDevice) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QOpenGLPaintDevice_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +//export callbackQOpenGLPaintDevice_DestroyQOpenGLPaintDevice +func callbackQOpenGLPaintDevice_DestroyQOpenGLPaintDevice(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLPaintDevice"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLPaintDeviceFromPointer(ptr).DestroyQOpenGLPaintDeviceDefault() + } +} + +func (ptr *QOpenGLPaintDevice) ConnectDestroyQOpenGLPaintDevice(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLPaintDevice"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLPaintDevice", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLPaintDevice", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLPaintDevice) DisconnectDestroyQOpenGLPaintDevice() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLPaintDevice") + } +} + +func (ptr *QOpenGLPaintDevice) DestroyQOpenGLPaintDevice() { + if ptr.Pointer() != nil { + C.QOpenGLPaintDevice_DestroyQOpenGLPaintDevice(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLPaintDevice) DestroyQOpenGLPaintDeviceDefault() { + if ptr.Pointer() != nil { + C.QOpenGLPaintDevice_DestroyQOpenGLPaintDeviceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLPixelTransferOptions struct { + ptr unsafe.Pointer +} + +type QOpenGLPixelTransferOptions_ITF interface { + QOpenGLPixelTransferOptions_PTR() *QOpenGLPixelTransferOptions +} + +func (ptr *QOpenGLPixelTransferOptions) QOpenGLPixelTransferOptions_PTR() *QOpenGLPixelTransferOptions { + return ptr +} + +func (ptr *QOpenGLPixelTransferOptions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLPixelTransferOptions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLPixelTransferOptions(ptr QOpenGLPixelTransferOptions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLPixelTransferOptions_PTR().Pointer() + } + return nil +} + +func NewQOpenGLPixelTransferOptionsFromPointer(ptr unsafe.Pointer) (n *QOpenGLPixelTransferOptions) { + n = new(QOpenGLPixelTransferOptions) + n.SetPointer(ptr) + return +} +func NewQOpenGLPixelTransferOptions() *QOpenGLPixelTransferOptions { + tmpValue := NewQOpenGLPixelTransferOptionsFromPointer(C.QOpenGLPixelTransferOptions_NewQOpenGLPixelTransferOptions()) + runtime.SetFinalizer(tmpValue, (*QOpenGLPixelTransferOptions).DestroyQOpenGLPixelTransferOptions) + return tmpValue +} + +func (ptr *QOpenGLPixelTransferOptions) Alignment() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLPixelTransferOptions_Alignment(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLPixelTransferOptions) ImageHeight() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLPixelTransferOptions_ImageHeight(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLPixelTransferOptions) IsLeastSignificantBitFirst() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLPixelTransferOptions_IsLeastSignificantBitFirst(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLPixelTransferOptions) IsSwapBytesEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLPixelTransferOptions_IsSwapBytesEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLPixelTransferOptions) RowLength() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLPixelTransferOptions_RowLength(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLPixelTransferOptions) SetAlignment(alignment int) { + if ptr.Pointer() != nil { + C.QOpenGLPixelTransferOptions_SetAlignment(ptr.Pointer(), C.int(int32(alignment))) + } +} + +func (ptr *QOpenGLPixelTransferOptions) SetImageHeight(imageHeight int) { + if ptr.Pointer() != nil { + C.QOpenGLPixelTransferOptions_SetImageHeight(ptr.Pointer(), C.int(int32(imageHeight))) + } +} + +func (ptr *QOpenGLPixelTransferOptions) SetLeastSignificantByteFirst(lsbFirst bool) { + if ptr.Pointer() != nil { + C.QOpenGLPixelTransferOptions_SetLeastSignificantByteFirst(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(lsbFirst)))) + } +} + +func (ptr *QOpenGLPixelTransferOptions) SetRowLength(rowLength int) { + if ptr.Pointer() != nil { + C.QOpenGLPixelTransferOptions_SetRowLength(ptr.Pointer(), C.int(int32(rowLength))) + } +} + +func (ptr *QOpenGLPixelTransferOptions) SetSkipImages(skipImages int) { + if ptr.Pointer() != nil { + C.QOpenGLPixelTransferOptions_SetSkipImages(ptr.Pointer(), C.int(int32(skipImages))) + } +} + +func (ptr *QOpenGLPixelTransferOptions) SetSkipPixels(skipPixels int) { + if ptr.Pointer() != nil { + C.QOpenGLPixelTransferOptions_SetSkipPixels(ptr.Pointer(), C.int(int32(skipPixels))) + } +} + +func (ptr *QOpenGLPixelTransferOptions) SetSkipRows(skipRows int) { + if ptr.Pointer() != nil { + C.QOpenGLPixelTransferOptions_SetSkipRows(ptr.Pointer(), C.int(int32(skipRows))) + } +} + +func (ptr *QOpenGLPixelTransferOptions) SetSwapBytesEnabled(swapBytes bool) { + if ptr.Pointer() != nil { + C.QOpenGLPixelTransferOptions_SetSwapBytesEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(swapBytes)))) + } +} + +func (ptr *QOpenGLPixelTransferOptions) SkipImages() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLPixelTransferOptions_SkipImages(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLPixelTransferOptions) SkipPixels() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLPixelTransferOptions_SkipPixels(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLPixelTransferOptions) SkipRows() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLPixelTransferOptions_SkipRows(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLPixelTransferOptions) DestroyQOpenGLPixelTransferOptions() { + if ptr.Pointer() != nil { + C.QOpenGLPixelTransferOptions_DestroyQOpenGLPixelTransferOptions(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLShader struct { + core.QObject +} + +type QOpenGLShader_ITF interface { + core.QObject_ITF + QOpenGLShader_PTR() *QOpenGLShader +} + +func (ptr *QOpenGLShader) QOpenGLShader_PTR() *QOpenGLShader { + return ptr +} + +func (ptr *QOpenGLShader) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLShader) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLShader(ptr QOpenGLShader_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLShader_PTR().Pointer() + } + return nil +} + +func NewQOpenGLShaderFromPointer(ptr unsafe.Pointer) (n *QOpenGLShader) { + n = new(QOpenGLShader) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOpenGLShader__ShaderTypeBit +//QOpenGLShader::ShaderTypeBit +type QOpenGLShader__ShaderTypeBit int64 + +const ( + QOpenGLShader__Vertex QOpenGLShader__ShaderTypeBit = QOpenGLShader__ShaderTypeBit(0x0001) + QOpenGLShader__Fragment QOpenGLShader__ShaderTypeBit = QOpenGLShader__ShaderTypeBit(0x0002) + QOpenGLShader__Geometry QOpenGLShader__ShaderTypeBit = QOpenGLShader__ShaderTypeBit(0x0004) + QOpenGLShader__TessellationControl QOpenGLShader__ShaderTypeBit = QOpenGLShader__ShaderTypeBit(0x0008) + QOpenGLShader__TessellationEvaluation QOpenGLShader__ShaderTypeBit = QOpenGLShader__ShaderTypeBit(0x0010) + QOpenGLShader__Compute QOpenGLShader__ShaderTypeBit = QOpenGLShader__ShaderTypeBit(0x0020) +) + +func NewQOpenGLShader(ty QOpenGLShader__ShaderTypeBit, parent core.QObject_ITF) *QOpenGLShader { + tmpValue := NewQOpenGLShaderFromPointer(C.QOpenGLShader_NewQOpenGLShader(C.longlong(ty), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLShader) CompileSourceCode(source string) bool { + if ptr.Pointer() != nil { + var sourceC *C.char + if source != "" { + sourceC = C.CString(source) + defer C.free(unsafe.Pointer(sourceC)) + } + return int8(C.QOpenGLShader_CompileSourceCode(ptr.Pointer(), sourceC)) != 0 + } + return false +} + +func (ptr *QOpenGLShader) CompileSourceCode2(source core.QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShader_CompileSourceCode2(ptr.Pointer(), core.PointerFromQByteArray(source))) != 0 + } + return false +} + +func (ptr *QOpenGLShader) CompileSourceCode3(source string) bool { + if ptr.Pointer() != nil { + var sourceC *C.char + if source != "" { + sourceC = C.CString(source) + defer C.free(unsafe.Pointer(sourceC)) + } + return int8(C.QOpenGLShader_CompileSourceCode3(ptr.Pointer(), C.struct_QtGui_PackedString{data: sourceC, len: C.longlong(len(source))})) != 0 + } + return false +} + +func (ptr *QOpenGLShader) CompileSourceFile(fileName string) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QOpenGLShader_CompileSourceFile(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 + } + return false +} + +func QOpenGLShader_HasOpenGLShaders(ty QOpenGLShader__ShaderTypeBit, context QOpenGLContext_ITF) bool { + return int8(C.QOpenGLShader_QOpenGLShader_HasOpenGLShaders(C.longlong(ty), PointerFromQOpenGLContext(context))) != 0 +} + +func (ptr *QOpenGLShader) HasOpenGLShaders(ty QOpenGLShader__ShaderTypeBit, context QOpenGLContext_ITF) bool { + return int8(C.QOpenGLShader_QOpenGLShader_HasOpenGLShaders(C.longlong(ty), PointerFromQOpenGLContext(context))) != 0 +} + +func (ptr *QOpenGLShader) IsCompiled() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShader_IsCompiled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLShader) Log() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QOpenGLShader_Log(ptr.Pointer())) + } + return "" +} + +func (ptr *QOpenGLShader) ShaderId() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLShader_ShaderId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLShader) ShaderType() QOpenGLShader__ShaderTypeBit { + if ptr.Pointer() != nil { + return QOpenGLShader__ShaderTypeBit(C.QOpenGLShader_ShaderType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLShader) SourceCode() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOpenGLShader_SourceCode(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +//export callbackQOpenGLShader_DestroyQOpenGLShader +func callbackQOpenGLShader_DestroyQOpenGLShader(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLShader"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLShaderFromPointer(ptr).DestroyQOpenGLShaderDefault() + } +} + +func (ptr *QOpenGLShader) ConnectDestroyQOpenGLShader(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLShader"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLShader", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLShader", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLShader) DisconnectDestroyQOpenGLShader() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLShader") + } +} + +func (ptr *QOpenGLShader) DestroyQOpenGLShader() { + if ptr.Pointer() != nil { + C.QOpenGLShader_DestroyQOpenGLShader(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLShader) DestroyQOpenGLShaderDefault() { + if ptr.Pointer() != nil { + C.QOpenGLShader_DestroyQOpenGLShaderDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLShader) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLShader___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShader) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLShader) __children_newList() unsafe.Pointer { + return C.QOpenGLShader___children_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShader) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOpenGLShader___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShader) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QOpenGLShader) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QOpenGLShader___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShader) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLShader___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShader) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLShader) __findChildren_newList() unsafe.Pointer { + return C.QOpenGLShader___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShader) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLShader___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShader) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLShader) __findChildren_newList3() unsafe.Pointer { + return C.QOpenGLShader___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QOpenGLShader) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLShader___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShader) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLShader) __qFindChildren_newList2() unsafe.Pointer { + return C.QOpenGLShader___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQOpenGLShader_ChildEvent +func callbackQOpenGLShader_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQOpenGLShaderFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QOpenGLShader) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQOpenGLShader_ConnectNotify +func callbackQOpenGLShader_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLShaderFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLShader) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLShader_CustomEvent +func callbackQOpenGLShader_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQOpenGLShaderFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QOpenGLShader) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQOpenGLShader_DeleteLater +func callbackQOpenGLShader_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLShaderFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QOpenGLShader) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QOpenGLShader_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQOpenGLShader_Destroyed +func callbackQOpenGLShader_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQOpenGLShader_DisconnectNotify +func callbackQOpenGLShader_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLShaderFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLShader) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLShader_Event +func callbackQOpenGLShader_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLShaderFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QOpenGLShader) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShader_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQOpenGLShader_EventFilter +func callbackQOpenGLShader_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLShaderFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QOpenGLShader) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShader_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQOpenGLShader_MetaObject +func callbackQOpenGLShader_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQOpenGLShaderFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QOpenGLShader) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOpenGLShader_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQOpenGLShader_ObjectNameChanged +func callbackQOpenGLShader_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQOpenGLShader_TimerEvent +func callbackQOpenGLShader_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQOpenGLShaderFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QOpenGLShader) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShader_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOpenGLShaderProgram struct { + core.QObject +} + +type QOpenGLShaderProgram_ITF interface { + core.QObject_ITF + QOpenGLShaderProgram_PTR() *QOpenGLShaderProgram +} + +func (ptr *QOpenGLShaderProgram) QOpenGLShaderProgram_PTR() *QOpenGLShaderProgram { + return ptr +} + +func (ptr *QOpenGLShaderProgram) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLShaderProgram) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLShaderProgram(ptr QOpenGLShaderProgram_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLShaderProgram_PTR().Pointer() + } + return nil +} + +func NewQOpenGLShaderProgramFromPointer(ptr unsafe.Pointer) (n *QOpenGLShaderProgram) { + n = new(QOpenGLShaderProgram) + n.SetPointer(ptr) + return +} +func NewQOpenGLShaderProgram(parent core.QObject_ITF) *QOpenGLShaderProgram { + tmpValue := NewQOpenGLShaderProgramFromPointer(C.QOpenGLShaderProgram_NewQOpenGLShaderProgram(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLShaderProgram) AddCacheableShaderFromSourceCode(ty QOpenGLShader__ShaderTypeBit, source string) bool { + if ptr.Pointer() != nil { + var sourceC *C.char + if source != "" { + sourceC = C.CString(source) + defer C.free(unsafe.Pointer(sourceC)) + } + return int8(C.QOpenGLShaderProgram_AddCacheableShaderFromSourceCode(ptr.Pointer(), C.longlong(ty), sourceC)) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) AddCacheableShaderFromSourceCode2(ty QOpenGLShader__ShaderTypeBit, source core.QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_AddCacheableShaderFromSourceCode2(ptr.Pointer(), C.longlong(ty), core.PointerFromQByteArray(source))) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) AddCacheableShaderFromSourceCode3(ty QOpenGLShader__ShaderTypeBit, source string) bool { + if ptr.Pointer() != nil { + var sourceC *C.char + if source != "" { + sourceC = C.CString(source) + defer C.free(unsafe.Pointer(sourceC)) + } + return int8(C.QOpenGLShaderProgram_AddCacheableShaderFromSourceCode3(ptr.Pointer(), C.longlong(ty), C.struct_QtGui_PackedString{data: sourceC, len: C.longlong(len(source))})) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) AddCacheableShaderFromSourceFile(ty QOpenGLShader__ShaderTypeBit, fileName string) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QOpenGLShaderProgram_AddCacheableShaderFromSourceFile(ptr.Pointer(), C.longlong(ty), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) AddShader(shader QOpenGLShader_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_AddShader(ptr.Pointer(), PointerFromQOpenGLShader(shader))) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) AddShaderFromSourceCode(ty QOpenGLShader__ShaderTypeBit, source string) bool { + if ptr.Pointer() != nil { + var sourceC *C.char + if source != "" { + sourceC = C.CString(source) + defer C.free(unsafe.Pointer(sourceC)) + } + return int8(C.QOpenGLShaderProgram_AddShaderFromSourceCode(ptr.Pointer(), C.longlong(ty), sourceC)) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) AddShaderFromSourceCode2(ty QOpenGLShader__ShaderTypeBit, source core.QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_AddShaderFromSourceCode2(ptr.Pointer(), C.longlong(ty), core.PointerFromQByteArray(source))) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) AddShaderFromSourceCode3(ty QOpenGLShader__ShaderTypeBit, source string) bool { + if ptr.Pointer() != nil { + var sourceC *C.char + if source != "" { + sourceC = C.CString(source) + defer C.free(unsafe.Pointer(sourceC)) + } + return int8(C.QOpenGLShaderProgram_AddShaderFromSourceCode3(ptr.Pointer(), C.longlong(ty), C.struct_QtGui_PackedString{data: sourceC, len: C.longlong(len(source))})) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) AddShaderFromSourceFile(ty QOpenGLShader__ShaderTypeBit, fileName string) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QOpenGLShaderProgram_AddShaderFromSourceFile(ptr.Pointer(), C.longlong(ty), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) AttributeLocation(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QOpenGLShaderProgram_AttributeLocation(ptr.Pointer(), nameC))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) AttributeLocation2(name core.QByteArray_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLShaderProgram_AttributeLocation2(ptr.Pointer(), core.PointerFromQByteArray(name)))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) AttributeLocation3(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QOpenGLShaderProgram_AttributeLocation3(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) Bind() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_Bind(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) BindAttributeLocation(name string, location int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_BindAttributeLocation(ptr.Pointer(), nameC, C.int(int32(location))) + } +} + +func (ptr *QOpenGLShaderProgram) BindAttributeLocation2(name core.QByteArray_ITF, location int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_BindAttributeLocation2(ptr.Pointer(), core.PointerFromQByteArray(name), C.int(int32(location))) + } +} + +func (ptr *QOpenGLShaderProgram) BindAttributeLocation3(name string, location int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_BindAttributeLocation3(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}, C.int(int32(location))) + } +} + +func (ptr *QOpenGLShaderProgram) Create() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_Create(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) DefaultInnerTessellationLevels() []float32 { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []float32 { + out := make([]float32, int(l.len)) + tmpList := NewQOpenGLShaderProgramFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__defaultInnerTessellationLevels_atList(i) + } + return out + }(C.QOpenGLShaderProgram_DefaultInnerTessellationLevels(ptr.Pointer())) + } + return make([]float32, 0) +} + +func (ptr *QOpenGLShaderProgram) DefaultOuterTessellationLevels() []float32 { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []float32 { + out := make([]float32, int(l.len)) + tmpList := NewQOpenGLShaderProgramFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__defaultOuterTessellationLevels_atList(i) + } + return out + }(C.QOpenGLShaderProgram_DefaultOuterTessellationLevels(ptr.Pointer())) + } + return make([]float32, 0) +} + +func (ptr *QOpenGLShaderProgram) DisableAttributeArray(location int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_DisableAttributeArray(ptr.Pointer(), C.int(int32(location))) + } +} + +func (ptr *QOpenGLShaderProgram) DisableAttributeArray2(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_DisableAttributeArray2(ptr.Pointer(), nameC) + } +} + +func (ptr *QOpenGLShaderProgram) EnableAttributeArray(location int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_EnableAttributeArray(ptr.Pointer(), C.int(int32(location))) + } +} + +func (ptr *QOpenGLShaderProgram) EnableAttributeArray2(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_EnableAttributeArray2(ptr.Pointer(), nameC) + } +} + +func QOpenGLShaderProgram_HasOpenGLShaderPrograms(context QOpenGLContext_ITF) bool { + return int8(C.QOpenGLShaderProgram_QOpenGLShaderProgram_HasOpenGLShaderPrograms(PointerFromQOpenGLContext(context))) != 0 +} + +func (ptr *QOpenGLShaderProgram) HasOpenGLShaderPrograms(context QOpenGLContext_ITF) bool { + return int8(C.QOpenGLShaderProgram_QOpenGLShaderProgram_HasOpenGLShaderPrograms(PointerFromQOpenGLContext(context))) != 0 +} + +func (ptr *QOpenGLShaderProgram) IsLinked() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_IsLinked(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQOpenGLShaderProgram_Link +func callbackQOpenGLShaderProgram_Link(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "link"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLShaderProgramFromPointer(ptr).LinkDefault()))) +} + +func (ptr *QOpenGLShaderProgram) ConnectLink(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "link"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "link", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "link", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLShaderProgram) DisconnectLink() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "link") + } +} + +func (ptr *QOpenGLShaderProgram) Link() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_Link(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) LinkDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_LinkDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLShaderProgram) Log() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QOpenGLShaderProgram_Log(ptr.Pointer())) + } + return "" +} + +func (ptr *QOpenGLShaderProgram) MaxGeometryOutputVertices() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLShaderProgram_MaxGeometryOutputVertices(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) PatchVertexCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLShaderProgram_PatchVertexCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) ProgramId() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLShaderProgram_ProgramId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) Release() { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_Release(ptr.Pointer()) + } +} + +func (ptr *QOpenGLShaderProgram) RemoveAllShaders() { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_RemoveAllShaders(ptr.Pointer()) + } +} + +func (ptr *QOpenGLShaderProgram) RemoveShader(shader QOpenGLShader_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_RemoveShader(ptr.Pointer(), PointerFromQOpenGLShader(shader)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray(location int, values float32, tupleSize int, stride int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeArray(ptr.Pointer(), C.int(int32(location)), C.float(values), C.int(int32(tupleSize)), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray2(location int, values QVector2D_ITF, stride int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeArray2(ptr.Pointer(), C.int(int32(location)), PointerFromQVector2D(values), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray3(location int, values QVector3D_ITF, stride int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeArray3(ptr.Pointer(), C.int(int32(location)), PointerFromQVector3D(values), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray4(location int, values QVector4D_ITF, stride int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeArray4(ptr.Pointer(), C.int(int32(location)), PointerFromQVector4D(values), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray5(location int, ty uint, values unsafe.Pointer, tupleSize int, stride int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeArray5(ptr.Pointer(), C.int(int32(location)), C.uint(uint32(ty)), values, C.int(int32(tupleSize)), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray6(name string, values float32, tupleSize int, stride int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeArray6(ptr.Pointer(), nameC, C.float(values), C.int(int32(tupleSize)), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray7(name string, values QVector2D_ITF, stride int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeArray7(ptr.Pointer(), nameC, PointerFromQVector2D(values), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray8(name string, values QVector3D_ITF, stride int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeArray8(ptr.Pointer(), nameC, PointerFromQVector3D(values), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray9(name string, values QVector4D_ITF, stride int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeArray9(ptr.Pointer(), nameC, PointerFromQVector4D(values), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeArray10(name string, ty uint, values unsafe.Pointer, tupleSize int, stride int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeArray10(ptr.Pointer(), nameC, C.uint(uint32(ty)), values, C.int(int32(tupleSize)), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeBuffer(location int, ty uint, offset int, tupleSize int, stride int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeBuffer(ptr.Pointer(), C.int(int32(location)), C.uint(uint32(ty)), C.int(int32(offset)), C.int(int32(tupleSize)), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeBuffer2(name string, ty uint, offset int, tupleSize int, stride int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeBuffer2(ptr.Pointer(), nameC, C.uint(uint32(ty)), C.int(int32(offset)), C.int(int32(tupleSize)), C.int(int32(stride))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue(location int, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeValue(ptr.Pointer(), C.int(int32(location)), C.float(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue2(location int, x float32, y float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeValue2(ptr.Pointer(), C.int(int32(location)), C.float(x), C.float(y)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue3(location int, x float32, y float32, z float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeValue3(ptr.Pointer(), C.int(int32(location)), C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue4(location int, x float32, y float32, z float32, w float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeValue4(ptr.Pointer(), C.int(int32(location)), C.float(x), C.float(y), C.float(z), C.float(w)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue5(location int, value QVector2D_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeValue5(ptr.Pointer(), C.int(int32(location)), PointerFromQVector2D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue6(location int, value QVector3D_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeValue6(ptr.Pointer(), C.int(int32(location)), PointerFromQVector3D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue7(location int, value QVector4D_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeValue7(ptr.Pointer(), C.int(int32(location)), PointerFromQVector4D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue8(location int, value QColor_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeValue8(ptr.Pointer(), C.int(int32(location)), PointerFromQColor(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue9(location int, values float32, columns int, rows int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetAttributeValue9(ptr.Pointer(), C.int(int32(location)), C.float(values), C.int(int32(columns)), C.int(int32(rows))) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue10(name string, value float32) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeValue10(ptr.Pointer(), nameC, C.float(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue11(name string, x float32, y float32) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeValue11(ptr.Pointer(), nameC, C.float(x), C.float(y)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue12(name string, x float32, y float32, z float32) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeValue12(ptr.Pointer(), nameC, C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue13(name string, x float32, y float32, z float32, w float32) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeValue13(ptr.Pointer(), nameC, C.float(x), C.float(y), C.float(z), C.float(w)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue14(name string, value QVector2D_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeValue14(ptr.Pointer(), nameC, PointerFromQVector2D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue15(name string, value QVector3D_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeValue15(ptr.Pointer(), nameC, PointerFromQVector3D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue16(name string, value QVector4D_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeValue16(ptr.Pointer(), nameC, PointerFromQVector4D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue17(name string, value QColor_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeValue17(ptr.Pointer(), nameC, PointerFromQColor(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetAttributeValue18(name string, values float32, columns int, rows int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetAttributeValue18(ptr.Pointer(), nameC, C.float(values), C.int(int32(columns)), C.int(int32(rows))) + } +} + +func (ptr *QOpenGLShaderProgram) SetDefaultInnerTessellationLevels(levels []float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetDefaultInnerTessellationLevels(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQOpenGLShaderProgramFromPointer(NewQOpenGLShaderProgramFromPointer(nil).__setDefaultInnerTessellationLevels_levels_newList()) + for _, v := range levels { + tmpList.__setDefaultInnerTessellationLevels_levels_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QOpenGLShaderProgram) SetDefaultOuterTessellationLevels(levels []float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetDefaultOuterTessellationLevels(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQOpenGLShaderProgramFromPointer(NewQOpenGLShaderProgramFromPointer(nil).__setDefaultOuterTessellationLevels_levels_newList()) + for _, v := range levels { + tmpList.__setDefaultOuterTessellationLevels_levels_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QOpenGLShaderProgram) SetPatchVertexCount(count int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetPatchVertexCount(ptr.Pointer(), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue(location int, value float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue(ptr.Pointer(), C.int(int32(location)), C.float(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue2(location int, value int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue2(ptr.Pointer(), C.int(int32(location)), C.int(int32(value))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue3(location int, value uint) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue3(ptr.Pointer(), C.int(int32(location)), C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue4(location int, x float32, y float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue4(ptr.Pointer(), C.int(int32(location)), C.float(x), C.float(y)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue5(location int, x float32, y float32, z float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue5(ptr.Pointer(), C.int(int32(location)), C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue6(location int, x float32, y float32, z float32, w float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue6(ptr.Pointer(), C.int(int32(location)), C.float(x), C.float(y), C.float(z), C.float(w)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue7(location int, value QVector2D_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue7(ptr.Pointer(), C.int(int32(location)), PointerFromQVector2D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue8(location int, value QVector3D_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue8(ptr.Pointer(), C.int(int32(location)), PointerFromQVector3D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue9(location int, value QVector4D_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue9(ptr.Pointer(), C.int(int32(location)), PointerFromQVector4D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue10(location int, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue10(ptr.Pointer(), C.int(int32(location)), PointerFromQColor(color)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue11(location int, point core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue11(ptr.Pointer(), C.int(int32(location)), core.PointerFromQPoint(point)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue12(location int, point core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue12(ptr.Pointer(), C.int(int32(location)), core.PointerFromQPointF(point)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue13(location int, size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue13(ptr.Pointer(), C.int(int32(location)), core.PointerFromQSize(size)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue14(location int, size core.QSizeF_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue14(ptr.Pointer(), C.int(int32(location)), core.PointerFromQSizeF(size)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue23(location int, value QMatrix4x4_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue23(ptr.Pointer(), C.int(int32(location)), PointerFromQMatrix4x4(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue27(location int, value QTransform_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValue27(ptr.Pointer(), C.int(int32(location)), PointerFromQTransform(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue28(name string, value float32) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue28(ptr.Pointer(), nameC, C.float(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue29(name string, value int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue29(ptr.Pointer(), nameC, C.int(int32(value))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue30(name string, value uint) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue30(ptr.Pointer(), nameC, C.uint(uint32(value))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue31(name string, x float32, y float32) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue31(ptr.Pointer(), nameC, C.float(x), C.float(y)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue32(name string, x float32, y float32, z float32) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue32(ptr.Pointer(), nameC, C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue33(name string, x float32, y float32, z float32, w float32) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue33(ptr.Pointer(), nameC, C.float(x), C.float(y), C.float(z), C.float(w)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue34(name string, value QVector2D_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue34(ptr.Pointer(), nameC, PointerFromQVector2D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue35(name string, value QVector3D_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue35(ptr.Pointer(), nameC, PointerFromQVector3D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue36(name string, value QVector4D_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue36(ptr.Pointer(), nameC, PointerFromQVector4D(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue37(name string, color QColor_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue37(ptr.Pointer(), nameC, PointerFromQColor(color)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue38(name string, point core.QPoint_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue38(ptr.Pointer(), nameC, core.PointerFromQPoint(point)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue39(name string, point core.QPointF_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue39(ptr.Pointer(), nameC, core.PointerFromQPointF(point)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue40(name string, size core.QSize_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue40(ptr.Pointer(), nameC, core.PointerFromQSize(size)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue41(name string, size core.QSizeF_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue41(ptr.Pointer(), nameC, core.PointerFromQSizeF(size)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue50(name string, value QMatrix4x4_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue50(ptr.Pointer(), nameC, PointerFromQMatrix4x4(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValue54(name string, value QTransform_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValue54(ptr.Pointer(), nameC, PointerFromQTransform(value)) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray(location int, values float32, count int, tupleSize int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValueArray(ptr.Pointer(), C.int(int32(location)), C.float(values), C.int(int32(count)), C.int(int32(tupleSize))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray2(location int, values int, count int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValueArray2(ptr.Pointer(), C.int(int32(location)), C.int(int32(values)), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray3(location int, values uint, count int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValueArray3(ptr.Pointer(), C.int(int32(location)), C.uint(uint32(values)), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray4(location int, values QVector2D_ITF, count int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValueArray4(ptr.Pointer(), C.int(int32(location)), PointerFromQVector2D(values), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray5(location int, values QVector3D_ITF, count int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValueArray5(ptr.Pointer(), C.int(int32(location)), PointerFromQVector3D(values), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray6(location int, values QVector4D_ITF, count int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValueArray6(ptr.Pointer(), C.int(int32(location)), PointerFromQVector4D(values), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray15(location int, values QMatrix4x4_ITF, count int) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_SetUniformValueArray15(ptr.Pointer(), C.int(int32(location)), PointerFromQMatrix4x4(values), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray16(name string, values float32, count int, tupleSize int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValueArray16(ptr.Pointer(), nameC, C.float(values), C.int(int32(count)), C.int(int32(tupleSize))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray17(name string, values int, count int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValueArray17(ptr.Pointer(), nameC, C.int(int32(values)), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray18(name string, values uint, count int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValueArray18(ptr.Pointer(), nameC, C.uint(uint32(values)), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray19(name string, values QVector2D_ITF, count int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValueArray19(ptr.Pointer(), nameC, PointerFromQVector2D(values), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray20(name string, values QVector3D_ITF, count int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValueArray20(ptr.Pointer(), nameC, PointerFromQVector3D(values), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray21(name string, values QVector4D_ITF, count int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValueArray21(ptr.Pointer(), nameC, PointerFromQVector4D(values), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) SetUniformValueArray30(name string, values QMatrix4x4_ITF, count int) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QOpenGLShaderProgram_SetUniformValueArray30(ptr.Pointer(), nameC, PointerFromQMatrix4x4(values), C.int(int32(count))) + } +} + +func (ptr *QOpenGLShaderProgram) Shaders() []*QOpenGLShader { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QOpenGLShader { + out := make([]*QOpenGLShader, int(l.len)) + tmpList := NewQOpenGLShaderProgramFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__shaders_atList(i) + } + return out + }(C.QOpenGLShaderProgram_Shaders(ptr.Pointer())) + } + return make([]*QOpenGLShader, 0) +} + +func (ptr *QOpenGLShaderProgram) UniformLocation(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QOpenGLShaderProgram_UniformLocation(ptr.Pointer(), nameC))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) UniformLocation2(name core.QByteArray_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLShaderProgram_UniformLocation2(ptr.Pointer(), core.PointerFromQByteArray(name)))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) UniformLocation3(name string) int { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QOpenGLShaderProgram_UniformLocation3(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}))) + } + return 0 +} + +//export callbackQOpenGLShaderProgram_DestroyQOpenGLShaderProgram +func callbackQOpenGLShaderProgram_DestroyQOpenGLShaderProgram(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLShaderProgram"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLShaderProgramFromPointer(ptr).DestroyQOpenGLShaderProgramDefault() + } +} + +func (ptr *QOpenGLShaderProgram) ConnectDestroyQOpenGLShaderProgram(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLShaderProgram"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLShaderProgram", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLShaderProgram", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLShaderProgram) DisconnectDestroyQOpenGLShaderProgram() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLShaderProgram") + } +} + +func (ptr *QOpenGLShaderProgram) DestroyQOpenGLShaderProgram() { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_DestroyQOpenGLShaderProgram(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLShaderProgram) DestroyQOpenGLShaderProgramDefault() { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_DestroyQOpenGLShaderProgramDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLShaderProgram) __defaultInnerTessellationLevels_atList(i int) float32 { + if ptr.Pointer() != nil { + return float32(C.QOpenGLShaderProgram___defaultInnerTessellationLevels_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) __defaultInnerTessellationLevels_setList(i float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___defaultInnerTessellationLevels_setList(ptr.Pointer(), C.float(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __defaultInnerTessellationLevels_newList() unsafe.Pointer { + return C.QOpenGLShaderProgram___defaultInnerTessellationLevels_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShaderProgram) __defaultOuterTessellationLevels_atList(i int) float32 { + if ptr.Pointer() != nil { + return float32(C.QOpenGLShaderProgram___defaultOuterTessellationLevels_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) __defaultOuterTessellationLevels_setList(i float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___defaultOuterTessellationLevels_setList(ptr.Pointer(), C.float(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __defaultOuterTessellationLevels_newList() unsafe.Pointer { + return C.QOpenGLShaderProgram___defaultOuterTessellationLevels_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShaderProgram) __setDefaultInnerTessellationLevels_levels_atList(i int) float32 { + if ptr.Pointer() != nil { + return float32(C.QOpenGLShaderProgram___setDefaultInnerTessellationLevels_levels_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) __setDefaultInnerTessellationLevels_levels_setList(i float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___setDefaultInnerTessellationLevels_levels_setList(ptr.Pointer(), C.float(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __setDefaultInnerTessellationLevels_levels_newList() unsafe.Pointer { + return C.QOpenGLShaderProgram___setDefaultInnerTessellationLevels_levels_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShaderProgram) __setDefaultOuterTessellationLevels_levels_atList(i int) float32 { + if ptr.Pointer() != nil { + return float32(C.QOpenGLShaderProgram___setDefaultOuterTessellationLevels_levels_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QOpenGLShaderProgram) __setDefaultOuterTessellationLevels_levels_setList(i float32) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___setDefaultOuterTessellationLevels_levels_setList(ptr.Pointer(), C.float(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __setDefaultOuterTessellationLevels_levels_newList() unsafe.Pointer { + return C.QOpenGLShaderProgram___setDefaultOuterTessellationLevels_levels_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShaderProgram) __shaders_atList(i int) *QOpenGLShader { + if ptr.Pointer() != nil { + tmpValue := NewQOpenGLShaderFromPointer(C.QOpenGLShaderProgram___shaders_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShaderProgram) __shaders_setList(i QOpenGLShader_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___shaders_setList(ptr.Pointer(), PointerFromQOpenGLShader(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __shaders_newList() unsafe.Pointer { + return C.QOpenGLShaderProgram___shaders_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShaderProgram) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLShaderProgram___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShaderProgram) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __children_newList() unsafe.Pointer { + return C.QOpenGLShaderProgram___children_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShaderProgram) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOpenGLShaderProgram___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShaderProgram) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QOpenGLShaderProgram___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShaderProgram) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLShaderProgram___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShaderProgram) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __findChildren_newList() unsafe.Pointer { + return C.QOpenGLShaderProgram___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLShaderProgram) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLShaderProgram___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShaderProgram) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __findChildren_newList3() unsafe.Pointer { + return C.QOpenGLShaderProgram___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QOpenGLShaderProgram) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLShaderProgram___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLShaderProgram) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLShaderProgram) __qFindChildren_newList2() unsafe.Pointer { + return C.QOpenGLShaderProgram___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQOpenGLShaderProgram_ChildEvent +func callbackQOpenGLShaderProgram_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQOpenGLShaderProgramFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QOpenGLShaderProgram) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQOpenGLShaderProgram_ConnectNotify +func callbackQOpenGLShaderProgram_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLShaderProgramFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLShaderProgram) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLShaderProgram_CustomEvent +func callbackQOpenGLShaderProgram_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQOpenGLShaderProgramFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QOpenGLShaderProgram) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQOpenGLShaderProgram_DeleteLater +func callbackQOpenGLShaderProgram_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLShaderProgramFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QOpenGLShaderProgram) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQOpenGLShaderProgram_Destroyed +func callbackQOpenGLShaderProgram_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQOpenGLShaderProgram_DisconnectNotify +func callbackQOpenGLShaderProgram_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLShaderProgramFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLShaderProgram) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLShaderProgram_Event +func callbackQOpenGLShaderProgram_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLShaderProgramFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QOpenGLShaderProgram) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQOpenGLShaderProgram_EventFilter +func callbackQOpenGLShaderProgram_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLShaderProgramFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QOpenGLShaderProgram) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLShaderProgram_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQOpenGLShaderProgram_MetaObject +func callbackQOpenGLShaderProgram_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQOpenGLShaderProgramFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QOpenGLShaderProgram) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOpenGLShaderProgram_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQOpenGLShaderProgram_ObjectNameChanged +func callbackQOpenGLShaderProgram_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQOpenGLShaderProgram_TimerEvent +func callbackQOpenGLShaderProgram_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQOpenGLShaderProgramFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QOpenGLShaderProgram) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLShaderProgram_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOpenGLTexture struct { + ptr unsafe.Pointer +} + +type QOpenGLTexture_ITF interface { + QOpenGLTexture_PTR() *QOpenGLTexture +} + +func (ptr *QOpenGLTexture) QOpenGLTexture_PTR() *QOpenGLTexture { + return ptr +} + +func (ptr *QOpenGLTexture) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLTexture) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLTexture(ptr QOpenGLTexture_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLTexture_PTR().Pointer() + } + return nil +} + +func NewQOpenGLTextureFromPointer(ptr unsafe.Pointer) (n *QOpenGLTexture) { + n = new(QOpenGLTexture) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLTexture) DestroyQOpenGLTexture() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QOpenGLTexture__Target +//QOpenGLTexture::Target +type QOpenGLTexture__Target int64 + +const ( + QOpenGLTexture__Target1D QOpenGLTexture__Target = QOpenGLTexture__Target(0x0DE0) + QOpenGLTexture__Target1DArray QOpenGLTexture__Target = QOpenGLTexture__Target(0x8C18) + QOpenGLTexture__Target2D QOpenGLTexture__Target = QOpenGLTexture__Target(0x0DE1) + QOpenGLTexture__Target2DArray QOpenGLTexture__Target = QOpenGLTexture__Target(0x8C1A) + QOpenGLTexture__Target3D QOpenGLTexture__Target = QOpenGLTexture__Target(0x806F) + QOpenGLTexture__TargetCubeMap QOpenGLTexture__Target = QOpenGLTexture__Target(0x8513) + QOpenGLTexture__TargetCubeMapArray QOpenGLTexture__Target = QOpenGLTexture__Target(0x9009) + QOpenGLTexture__Target2DMultisample QOpenGLTexture__Target = QOpenGLTexture__Target(0x9100) + QOpenGLTexture__Target2DMultisampleArray QOpenGLTexture__Target = QOpenGLTexture__Target(0x9102) + QOpenGLTexture__TargetRectangle QOpenGLTexture__Target = QOpenGLTexture__Target(0x84F5) + QOpenGLTexture__TargetBuffer QOpenGLTexture__Target = QOpenGLTexture__Target(0x8C2A) +) + +//go:generate stringer -type=QOpenGLTexture__BindingTarget +//QOpenGLTexture::BindingTarget +type QOpenGLTexture__BindingTarget int64 + +const ( + QOpenGLTexture__BindingTarget1D QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x8068) + QOpenGLTexture__BindingTarget1DArray QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x8C1C) + QOpenGLTexture__BindingTarget2D QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x8069) + QOpenGLTexture__BindingTarget2DArray QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x8C1D) + QOpenGLTexture__BindingTarget3D QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x806A) + QOpenGLTexture__BindingTargetCubeMap QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x8514) + QOpenGLTexture__BindingTargetCubeMapArray QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x900A) + QOpenGLTexture__BindingTarget2DMultisample QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x9104) + QOpenGLTexture__BindingTarget2DMultisampleArray QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x9105) + QOpenGLTexture__BindingTargetRectangle QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x84F6) + QOpenGLTexture__BindingTargetBuffer QOpenGLTexture__BindingTarget = QOpenGLTexture__BindingTarget(0x8C2C) +) + +//go:generate stringer -type=QOpenGLTexture__MipMapGeneration +//QOpenGLTexture::MipMapGeneration +type QOpenGLTexture__MipMapGeneration int64 + +const ( + QOpenGLTexture__GenerateMipMaps QOpenGLTexture__MipMapGeneration = QOpenGLTexture__MipMapGeneration(0) + QOpenGLTexture__DontGenerateMipMaps QOpenGLTexture__MipMapGeneration = QOpenGLTexture__MipMapGeneration(1) +) + +//go:generate stringer -type=QOpenGLTexture__TextureUnitReset +//QOpenGLTexture::TextureUnitReset +type QOpenGLTexture__TextureUnitReset int64 + +const ( + QOpenGLTexture__ResetTextureUnit QOpenGLTexture__TextureUnitReset = QOpenGLTexture__TextureUnitReset(0) + QOpenGLTexture__DontResetTextureUnit QOpenGLTexture__TextureUnitReset = QOpenGLTexture__TextureUnitReset(1) +) + +//go:generate stringer -type=QOpenGLTexture__TextureFormat +//QOpenGLTexture::TextureFormat +type QOpenGLTexture__TextureFormat int64 + +const ( + QOpenGLTexture__NoFormat QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0) + QOpenGLTexture__R8_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8229) + QOpenGLTexture__RG8_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x822B) + QOpenGLTexture__RGB8_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8051) + QOpenGLTexture__RGBA8_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8058) + QOpenGLTexture__R16_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x822A) + QOpenGLTexture__RG16_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x822C) + QOpenGLTexture__RGB16_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8054) + QOpenGLTexture__RGBA16_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x805B) + QOpenGLTexture__R8_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8F94) + QOpenGLTexture__RG8_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8F95) + QOpenGLTexture__RGB8_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8F96) + QOpenGLTexture__RGBA8_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8F97) + QOpenGLTexture__R16_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8F98) + QOpenGLTexture__RG16_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8F99) + QOpenGLTexture__RGB16_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8F9A) + QOpenGLTexture__RGBA16_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8F9B) + QOpenGLTexture__R8U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8232) + QOpenGLTexture__RG8U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8238) + QOpenGLTexture__RGB8U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D7D) + QOpenGLTexture__RGBA8U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D7C) + QOpenGLTexture__R16U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8234) + QOpenGLTexture__RG16U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x823A) + QOpenGLTexture__RGB16U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D77) + QOpenGLTexture__RGBA16U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D76) + QOpenGLTexture__R32U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8236) + QOpenGLTexture__RG32U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x823C) + QOpenGLTexture__RGB32U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D71) + QOpenGLTexture__RGBA32U QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D70) + QOpenGLTexture__R8I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8231) + QOpenGLTexture__RG8I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8237) + QOpenGLTexture__RGB8I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D8F) + QOpenGLTexture__RGBA8I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D8E) + QOpenGLTexture__R16I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8233) + QOpenGLTexture__RG16I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8239) + QOpenGLTexture__RGB16I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D89) + QOpenGLTexture__RGBA16I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D88) + QOpenGLTexture__R32I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8235) + QOpenGLTexture__RG32I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x823B) + QOpenGLTexture__RGB32I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D83) + QOpenGLTexture__RGBA32I QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D82) + QOpenGLTexture__R16F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x822D) + QOpenGLTexture__RG16F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x822F) + QOpenGLTexture__RGB16F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x881B) + QOpenGLTexture__RGBA16F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x881A) + QOpenGLTexture__R32F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x822E) + QOpenGLTexture__RG32F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8230) + QOpenGLTexture__RGB32F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8815) + QOpenGLTexture__RGBA32F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8814) + QOpenGLTexture__RGB9E5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8C3D) + QOpenGLTexture__RG11B10F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8C3A) + QOpenGLTexture__RG3B2 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x2A10) + QOpenGLTexture__R5G6B5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D62) + QOpenGLTexture__RGB5A1 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8057) + QOpenGLTexture__RGBA4 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8056) + QOpenGLTexture__RGB10A2 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x906F) + QOpenGLTexture__D16 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x81A5) + QOpenGLTexture__D24 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x81A6) + QOpenGLTexture__D24S8 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x88F0) + QOpenGLTexture__D32 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x81A7) + QOpenGLTexture__D32F QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8CAC) + QOpenGLTexture__D32FS8X24 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8CAD) + QOpenGLTexture__S8 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D48) + QOpenGLTexture__RGB_DXT1 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x83F0) + QOpenGLTexture__RGBA_DXT1 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x83F1) + QOpenGLTexture__RGBA_DXT3 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x83F2) + QOpenGLTexture__RGBA_DXT5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x83F3) + QOpenGLTexture__R_ATI1N_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8DBB) + QOpenGLTexture__R_ATI1N_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8DBC) + QOpenGLTexture__RG_ATI2N_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8DBD) + QOpenGLTexture__RG_ATI2N_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8DBE) + QOpenGLTexture__RGB_BP_UNSIGNED_FLOAT QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8E8F) + QOpenGLTexture__RGB_BP_SIGNED_FLOAT QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8E8E) + QOpenGLTexture__RGB_BP_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8E8C) + QOpenGLTexture__R11_EAC_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9270) + QOpenGLTexture__R11_EAC_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9271) + QOpenGLTexture__RG11_EAC_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9272) + QOpenGLTexture__RG11_EAC_SNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9273) + QOpenGLTexture__RGB8_ETC2 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9274) + QOpenGLTexture__SRGB8_ETC2 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9275) + QOpenGLTexture__RGB8_PunchThrough_Alpha1_ETC2 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9276) + QOpenGLTexture__SRGB8_PunchThrough_Alpha1_ETC2 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9277) + QOpenGLTexture__RGBA8_ETC2_EAC QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9278) + QOpenGLTexture__SRGB8_Alpha8_ETC2_EAC QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x9279) + QOpenGLTexture__RGB8_ETC1 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8D64) + QOpenGLTexture__RGBA_ASTC_4x4 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B0) + QOpenGLTexture__RGBA_ASTC_5x4 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B1) + QOpenGLTexture__RGBA_ASTC_5x5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B2) + QOpenGLTexture__RGBA_ASTC_6x5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B3) + QOpenGLTexture__RGBA_ASTC_6x6 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B4) + QOpenGLTexture__RGBA_ASTC_8x5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B5) + QOpenGLTexture__RGBA_ASTC_8x6 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B6) + QOpenGLTexture__RGBA_ASTC_8x8 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B7) + QOpenGLTexture__RGBA_ASTC_10x5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B8) + QOpenGLTexture__RGBA_ASTC_10x6 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93B9) + QOpenGLTexture__RGBA_ASTC_10x8 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93BA) + QOpenGLTexture__RGBA_ASTC_10x10 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93BB) + QOpenGLTexture__RGBA_ASTC_12x10 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93BC) + QOpenGLTexture__RGBA_ASTC_12x12 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93BD) + QOpenGLTexture__SRGB8_Alpha8_ASTC_4x4 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D0) + QOpenGLTexture__SRGB8_Alpha8_ASTC_5x4 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D1) + QOpenGLTexture__SRGB8_Alpha8_ASTC_5x5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D2) + QOpenGLTexture__SRGB8_Alpha8_ASTC_6x5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D3) + QOpenGLTexture__SRGB8_Alpha8_ASTC_6x6 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D4) + QOpenGLTexture__SRGB8_Alpha8_ASTC_8x5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D5) + QOpenGLTexture__SRGB8_Alpha8_ASTC_8x6 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D6) + QOpenGLTexture__SRGB8_Alpha8_ASTC_8x8 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D7) + QOpenGLTexture__SRGB8_Alpha8_ASTC_10x5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D8) + QOpenGLTexture__SRGB8_Alpha8_ASTC_10x6 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93D9) + QOpenGLTexture__SRGB8_Alpha8_ASTC_10x8 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93DA) + QOpenGLTexture__SRGB8_Alpha8_ASTC_10x10 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93DB) + QOpenGLTexture__SRGB8_Alpha8_ASTC_12x10 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93DC) + QOpenGLTexture__SRGB8_Alpha8_ASTC_12x12 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x93DD) + QOpenGLTexture__SRGB8 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8C41) + QOpenGLTexture__SRGB8_Alpha8 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8C43) + QOpenGLTexture__SRGB_DXT1 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8C4C) + QOpenGLTexture__SRGB_Alpha_DXT1 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8C4D) + QOpenGLTexture__SRGB_Alpha_DXT3 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8C4E) + QOpenGLTexture__SRGB_Alpha_DXT5 QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8C4F) + QOpenGLTexture__SRGB_BP_UNorm QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x8E8D) + QOpenGLTexture__DepthFormat QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x1902) + QOpenGLTexture__AlphaFormat QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x1906) + QOpenGLTexture__RGBFormat QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x1907) + QOpenGLTexture__RGBAFormat QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x1908) + QOpenGLTexture__LuminanceFormat QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x1909) + QOpenGLTexture__LuminanceAlphaFormat QOpenGLTexture__TextureFormat = QOpenGLTexture__TextureFormat(0x190A) +) + +//go:generate stringer -type=QOpenGLTexture__CubeMapFace +//QOpenGLTexture::CubeMapFace +type QOpenGLTexture__CubeMapFace int64 + +const ( + QOpenGLTexture__CubeMapPositiveX QOpenGLTexture__CubeMapFace = QOpenGLTexture__CubeMapFace(0x8515) + QOpenGLTexture__CubeMapNegativeX QOpenGLTexture__CubeMapFace = QOpenGLTexture__CubeMapFace(0x8516) + QOpenGLTexture__CubeMapPositiveY QOpenGLTexture__CubeMapFace = QOpenGLTexture__CubeMapFace(0x8517) + QOpenGLTexture__CubeMapNegativeY QOpenGLTexture__CubeMapFace = QOpenGLTexture__CubeMapFace(0x8518) + QOpenGLTexture__CubeMapPositiveZ QOpenGLTexture__CubeMapFace = QOpenGLTexture__CubeMapFace(0x8519) + QOpenGLTexture__CubeMapNegativeZ QOpenGLTexture__CubeMapFace = QOpenGLTexture__CubeMapFace(0x851A) +) + +//go:generate stringer -type=QOpenGLTexture__PixelFormat +//QOpenGLTexture::PixelFormat +type QOpenGLTexture__PixelFormat int64 + +const ( + QOpenGLTexture__NoSourceFormat QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0) + QOpenGLTexture__Red QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x1903) + QOpenGLTexture__RG QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x8227) + QOpenGLTexture__RGB QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x1907) + QOpenGLTexture__BGR QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x80E0) + QOpenGLTexture__RGBA QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x1908) + QOpenGLTexture__BGRA QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x80E1) + QOpenGLTexture__Red_Integer QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x8D94) + QOpenGLTexture__RG_Integer QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x8228) + QOpenGLTexture__RGB_Integer QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x8D98) + QOpenGLTexture__BGR_Integer QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x8D9A) + QOpenGLTexture__RGBA_Integer QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x8D99) + QOpenGLTexture__BGRA_Integer QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x8D9B) + QOpenGLTexture__Stencil QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x1901) + QOpenGLTexture__Depth QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x1902) + QOpenGLTexture__DepthStencil QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x84F9) + QOpenGLTexture__Alpha QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x1906) + QOpenGLTexture__Luminance QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x1909) + QOpenGLTexture__LuminanceAlpha QOpenGLTexture__PixelFormat = QOpenGLTexture__PixelFormat(0x190A) +) + +//go:generate stringer -type=QOpenGLTexture__PixelType +//QOpenGLTexture::PixelType +type QOpenGLTexture__PixelType int64 + +const ( + QOpenGLTexture__NoPixelType QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0) + QOpenGLTexture__Int8 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x1400) + QOpenGLTexture__UInt8 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x1401) + QOpenGLTexture__Int16 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x1402) + QOpenGLTexture__UInt16 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x1403) + QOpenGLTexture__Int32 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x1404) + QOpenGLTexture__UInt32 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x1405) + QOpenGLTexture__Float16 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x140B) + QOpenGLTexture__Float16OES QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8D61) + QOpenGLTexture__Float32 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x1406) + QOpenGLTexture__UInt32_RGB9_E5 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8C3E) + QOpenGLTexture__UInt32_RG11B10F QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8C3B) + QOpenGLTexture__UInt8_RG3B2 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8032) + QOpenGLTexture__UInt8_RG3B2_Rev QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8362) + QOpenGLTexture__UInt16_RGB5A1 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8034) + QOpenGLTexture__UInt16_RGB5A1_Rev QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8366) + QOpenGLTexture__UInt16_R5G6B5 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8363) + QOpenGLTexture__UInt16_R5G6B5_Rev QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8364) + QOpenGLTexture__UInt16_RGBA4 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8033) + QOpenGLTexture__UInt16_RGBA4_Rev QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8365) + QOpenGLTexture__UInt32_RGBA8 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8035) + QOpenGLTexture__UInt32_RGBA8_Rev QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8367) + QOpenGLTexture__UInt32_RGB10A2 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8036) + QOpenGLTexture__UInt32_RGB10A2_Rev QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8368) + QOpenGLTexture__UInt32_D24S8 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x84FA) + QOpenGLTexture__Float32_D32_UInt32_S8_X24 QOpenGLTexture__PixelType = QOpenGLTexture__PixelType(0x8DAD) +) + +//go:generate stringer -type=QOpenGLTexture__SwizzleComponent +//QOpenGLTexture::SwizzleComponent +type QOpenGLTexture__SwizzleComponent int64 + +const ( + QOpenGLTexture__SwizzleRed QOpenGLTexture__SwizzleComponent = QOpenGLTexture__SwizzleComponent(0x8E42) + QOpenGLTexture__SwizzleGreen QOpenGLTexture__SwizzleComponent = QOpenGLTexture__SwizzleComponent(0x8E43) + QOpenGLTexture__SwizzleBlue QOpenGLTexture__SwizzleComponent = QOpenGLTexture__SwizzleComponent(0x8E44) + QOpenGLTexture__SwizzleAlpha QOpenGLTexture__SwizzleComponent = QOpenGLTexture__SwizzleComponent(0x8E45) +) + +//go:generate stringer -type=QOpenGLTexture__SwizzleValue +//QOpenGLTexture::SwizzleValue +type QOpenGLTexture__SwizzleValue int64 + +const ( + QOpenGLTexture__RedValue QOpenGLTexture__SwizzleValue = QOpenGLTexture__SwizzleValue(0x1903) + QOpenGLTexture__GreenValue QOpenGLTexture__SwizzleValue = QOpenGLTexture__SwizzleValue(0x1904) + QOpenGLTexture__BlueValue QOpenGLTexture__SwizzleValue = QOpenGLTexture__SwizzleValue(0x1905) + QOpenGLTexture__AlphaValue QOpenGLTexture__SwizzleValue = QOpenGLTexture__SwizzleValue(0x1906) + QOpenGLTexture__ZeroValue QOpenGLTexture__SwizzleValue = QOpenGLTexture__SwizzleValue(0) + QOpenGLTexture__OneValue QOpenGLTexture__SwizzleValue = QOpenGLTexture__SwizzleValue(1) +) + +//go:generate stringer -type=QOpenGLTexture__WrapMode +//QOpenGLTexture::WrapMode +type QOpenGLTexture__WrapMode int64 + +const ( + QOpenGLTexture__Repeat QOpenGLTexture__WrapMode = QOpenGLTexture__WrapMode(0x2901) + QOpenGLTexture__MirroredRepeat QOpenGLTexture__WrapMode = QOpenGLTexture__WrapMode(0x8370) + QOpenGLTexture__ClampToEdge QOpenGLTexture__WrapMode = QOpenGLTexture__WrapMode(0x812F) + QOpenGLTexture__ClampToBorder QOpenGLTexture__WrapMode = QOpenGLTexture__WrapMode(0x812D) +) + +//go:generate stringer -type=QOpenGLTexture__CoordinateDirection +//QOpenGLTexture::CoordinateDirection +type QOpenGLTexture__CoordinateDirection int64 + +const ( + QOpenGLTexture__DirectionS QOpenGLTexture__CoordinateDirection = QOpenGLTexture__CoordinateDirection(0x2802) + QOpenGLTexture__DirectionT QOpenGLTexture__CoordinateDirection = QOpenGLTexture__CoordinateDirection(0x2803) + QOpenGLTexture__DirectionR QOpenGLTexture__CoordinateDirection = QOpenGLTexture__CoordinateDirection(0x8072) +) + +//go:generate stringer -type=QOpenGLTexture__Feature +//QOpenGLTexture::Feature +type QOpenGLTexture__Feature int64 + +const ( + QOpenGLTexture__ImmutableStorage QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000001) + QOpenGLTexture__ImmutableMultisampleStorage QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000002) + QOpenGLTexture__TextureRectangle QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000004) + QOpenGLTexture__TextureArrays QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000008) + QOpenGLTexture__Texture3D QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000010) + QOpenGLTexture__TextureMultisample QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000020) + QOpenGLTexture__TextureBuffer QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000040) + QOpenGLTexture__TextureCubeMapArrays QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000080) + QOpenGLTexture__Swizzle QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000100) + QOpenGLTexture__StencilTexturing QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000200) + QOpenGLTexture__AnisotropicFiltering QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000400) + QOpenGLTexture__NPOTTextures QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00000800) + QOpenGLTexture__NPOTTextureRepeat QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00001000) + QOpenGLTexture__Texture1D QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00002000) + QOpenGLTexture__TextureComparisonOperators QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00004000) + QOpenGLTexture__TextureMipMapLevel QOpenGLTexture__Feature = QOpenGLTexture__Feature(0x00008000) +) + +//go:generate stringer -type=QOpenGLTexture__DepthStencilMode +//QOpenGLTexture::DepthStencilMode +type QOpenGLTexture__DepthStencilMode int64 + +const ( + QOpenGLTexture__DepthMode QOpenGLTexture__DepthStencilMode = QOpenGLTexture__DepthStencilMode(0x1902) + QOpenGLTexture__StencilMode QOpenGLTexture__DepthStencilMode = QOpenGLTexture__DepthStencilMode(0x1901) +) + +//go:generate stringer -type=QOpenGLTexture__ComparisonFunction +//QOpenGLTexture::ComparisonFunction +type QOpenGLTexture__ComparisonFunction int64 + +const ( + QOpenGLTexture__CompareLessEqual QOpenGLTexture__ComparisonFunction = QOpenGLTexture__ComparisonFunction(0x0203) + QOpenGLTexture__CompareGreaterEqual QOpenGLTexture__ComparisonFunction = QOpenGLTexture__ComparisonFunction(0x0206) + QOpenGLTexture__CompareLess QOpenGLTexture__ComparisonFunction = QOpenGLTexture__ComparisonFunction(0x0201) + QOpenGLTexture__CompareGreater QOpenGLTexture__ComparisonFunction = QOpenGLTexture__ComparisonFunction(0x0204) + QOpenGLTexture__CompareEqual QOpenGLTexture__ComparisonFunction = QOpenGLTexture__ComparisonFunction(0x0202) + QOpenGLTexture__CommpareNotEqual QOpenGLTexture__ComparisonFunction = QOpenGLTexture__ComparisonFunction(0x0205) + QOpenGLTexture__CompareAlways QOpenGLTexture__ComparisonFunction = QOpenGLTexture__ComparisonFunction(0x0207) + QOpenGLTexture__CompareNever QOpenGLTexture__ComparisonFunction = QOpenGLTexture__ComparisonFunction(0x0200) +) + +//go:generate stringer -type=QOpenGLTexture__ComparisonMode +//QOpenGLTexture::ComparisonMode +type QOpenGLTexture__ComparisonMode int64 + +const ( + QOpenGLTexture__CompareRefToTexture QOpenGLTexture__ComparisonMode = QOpenGLTexture__ComparisonMode(0x884E) + QOpenGLTexture__CompareNone QOpenGLTexture__ComparisonMode = QOpenGLTexture__ComparisonMode(0x0000) +) + +//go:generate stringer -type=QOpenGLTexture__Filter +//QOpenGLTexture::Filter +type QOpenGLTexture__Filter int64 + +const ( + QOpenGLTexture__Nearest QOpenGLTexture__Filter = QOpenGLTexture__Filter(0x2600) + QOpenGLTexture__Linear QOpenGLTexture__Filter = QOpenGLTexture__Filter(0x2601) + QOpenGLTexture__NearestMipMapNearest QOpenGLTexture__Filter = QOpenGLTexture__Filter(0x2700) + QOpenGLTexture__NearestMipMapLinear QOpenGLTexture__Filter = QOpenGLTexture__Filter(0x2702) + QOpenGLTexture__LinearMipMapNearest QOpenGLTexture__Filter = QOpenGLTexture__Filter(0x2701) + QOpenGLTexture__LinearMipMapLinear QOpenGLTexture__Filter = QOpenGLTexture__Filter(0x2703) +) + +func NewQOpenGLTexture(target QOpenGLTexture__Target) *QOpenGLTexture { + tmpValue := NewQOpenGLTextureFromPointer(C.QOpenGLTexture_NewQOpenGLTexture(C.longlong(target))) + runtime.SetFinalizer(tmpValue, (*QOpenGLTexture).DestroyQOpenGLTexture) + return tmpValue +} + +func NewQOpenGLTexture2(image QImage_ITF, genMipMaps QOpenGLTexture__MipMapGeneration) *QOpenGLTexture { + tmpValue := NewQOpenGLTextureFromPointer(C.QOpenGLTexture_NewQOpenGLTexture2(PointerFromQImage(image), C.longlong(genMipMaps))) + runtime.SetFinalizer(tmpValue, (*QOpenGLTexture).DestroyQOpenGLTexture) + return tmpValue +} + +func (ptr *QOpenGLTexture) AllocateStorage() { + if ptr.Pointer() != nil { + C.QOpenGLTexture_AllocateStorage(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTexture) AllocateStorage2(pixelFormat QOpenGLTexture__PixelFormat, pixelType QOpenGLTexture__PixelType) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_AllocateStorage2(ptr.Pointer(), C.longlong(pixelFormat), C.longlong(pixelType)) + } +} + +func (ptr *QOpenGLTexture) Bind() { + if ptr.Pointer() != nil { + C.QOpenGLTexture_Bind(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTexture) Bind2(unit uint, reset QOpenGLTexture__TextureUnitReset) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_Bind2(ptr.Pointer(), C.uint(uint32(unit)), C.longlong(reset)) + } +} + +func (ptr *QOpenGLTexture) BorderColor() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QOpenGLTexture_BorderColor(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTexture) BorderColor2(border float32) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_BorderColor2(ptr.Pointer(), C.float(border)) + } +} + +func (ptr *QOpenGLTexture) BorderColor3(border int) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_BorderColor3(ptr.Pointer(), C.int(int32(border))) + } +} + +func (ptr *QOpenGLTexture) BorderColor4(border uint) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_BorderColor4(ptr.Pointer(), C.uint(uint32(border))) + } +} + +func QOpenGLTexture_BoundTextureId(target QOpenGLTexture__BindingTarget) uint { + return uint(uint32(C.QOpenGLTexture_QOpenGLTexture_BoundTextureId(C.longlong(target)))) +} + +func (ptr *QOpenGLTexture) BoundTextureId(target QOpenGLTexture__BindingTarget) uint { + return uint(uint32(C.QOpenGLTexture_QOpenGLTexture_BoundTextureId(C.longlong(target)))) +} + +func QOpenGLTexture_BoundTextureId2(unit uint, target QOpenGLTexture__BindingTarget) uint { + return uint(uint32(C.QOpenGLTexture_QOpenGLTexture_BoundTextureId2(C.uint(uint32(unit)), C.longlong(target)))) +} + +func (ptr *QOpenGLTexture) BoundTextureId2(unit uint, target QOpenGLTexture__BindingTarget) uint { + return uint(uint32(C.QOpenGLTexture_QOpenGLTexture_BoundTextureId2(C.uint(uint32(unit)), C.longlong(target)))) +} + +func (ptr *QOpenGLTexture) ComparisonFunction() QOpenGLTexture__ComparisonFunction { + if ptr.Pointer() != nil { + return QOpenGLTexture__ComparisonFunction(C.QOpenGLTexture_ComparisonFunction(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) ComparisonMode() QOpenGLTexture__ComparisonMode { + if ptr.Pointer() != nil { + return QOpenGLTexture__ComparisonMode(C.QOpenGLTexture_ComparisonMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) Create() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTexture_Create(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTexture) CreateTextureView(target QOpenGLTexture__Target, viewFormat QOpenGLTexture__TextureFormat, minimumMipmapLevel int, maximumMipmapLevel int, minimumLayer int, maximumLayer int) *QOpenGLTexture { + if ptr.Pointer() != nil { + return NewQOpenGLTextureFromPointer(C.QOpenGLTexture_CreateTextureView(ptr.Pointer(), C.longlong(target), C.longlong(viewFormat), C.int(int32(minimumMipmapLevel)), C.int(int32(maximumMipmapLevel)), C.int(int32(minimumLayer)), C.int(int32(maximumLayer)))) + } + return nil +} + +func (ptr *QOpenGLTexture) Depth() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_Depth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) DepthStencilMode() QOpenGLTexture__DepthStencilMode { + if ptr.Pointer() != nil { + return QOpenGLTexture__DepthStencilMode(C.QOpenGLTexture_DepthStencilMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) Destroy() { + if ptr.Pointer() != nil { + C.QOpenGLTexture_Destroy(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTexture) Faces() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_Faces(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) Format() QOpenGLTexture__TextureFormat { + if ptr.Pointer() != nil { + return QOpenGLTexture__TextureFormat(C.QOpenGLTexture_Format(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) GenerateMipMaps() { + if ptr.Pointer() != nil { + C.QOpenGLTexture_GenerateMipMaps(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTexture) GenerateMipMaps2(baseLevel int, resetBaseLevel bool) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_GenerateMipMaps2(ptr.Pointer(), C.int(int32(baseLevel)), C.char(int8(qt.GoBoolToInt(resetBaseLevel)))) + } +} + +func QOpenGLTexture_HasFeature(feature QOpenGLTexture__Feature) bool { + return int8(C.QOpenGLTexture_QOpenGLTexture_HasFeature(C.longlong(feature))) != 0 +} + +func (ptr *QOpenGLTexture) HasFeature(feature QOpenGLTexture__Feature) bool { + return int8(C.QOpenGLTexture_QOpenGLTexture_HasFeature(C.longlong(feature))) != 0 +} + +func (ptr *QOpenGLTexture) Height() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_Height(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) IsAutoMipMapGenerationEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTexture_IsAutoMipMapGenerationEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTexture) IsBound() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTexture_IsBound(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTexture) IsBound2(unit uint) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTexture_IsBound2(ptr.Pointer(), C.uint(uint32(unit)))) != 0 + } + return false +} + +func (ptr *QOpenGLTexture) IsCreated() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTexture_IsCreated(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTexture) IsFixedSamplePositions() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTexture_IsFixedSamplePositions(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTexture) IsStorageAllocated() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTexture_IsStorageAllocated(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTexture) IsTextureView() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTexture_IsTextureView(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTexture) Layers() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_Layers(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) LevelofDetailBias() float32 { + if ptr.Pointer() != nil { + return float32(C.QOpenGLTexture_LevelofDetailBias(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) MagnificationFilter() QOpenGLTexture__Filter { + if ptr.Pointer() != nil { + return QOpenGLTexture__Filter(C.QOpenGLTexture_MagnificationFilter(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) MaximumAnisotropy() float32 { + if ptr.Pointer() != nil { + return float32(C.QOpenGLTexture_MaximumAnisotropy(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) MaximumLevelOfDetail() float32 { + if ptr.Pointer() != nil { + return float32(C.QOpenGLTexture_MaximumLevelOfDetail(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) MaximumMipLevels() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_MaximumMipLevels(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) MinificationFilter() QOpenGLTexture__Filter { + if ptr.Pointer() != nil { + return QOpenGLTexture__Filter(C.QOpenGLTexture_MinificationFilter(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) MinimumLevelOfDetail() float32 { + if ptr.Pointer() != nil { + return float32(C.QOpenGLTexture_MinimumLevelOfDetail(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) MipBaseLevel() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_MipBaseLevel(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) MipLevels() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_MipLevels(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) MipMaxLevel() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_MipMaxLevel(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) Release() { + if ptr.Pointer() != nil { + C.QOpenGLTexture_Release(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTexture) Release2(unit uint, reset QOpenGLTexture__TextureUnitReset) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_Release2(ptr.Pointer(), C.uint(uint32(unit)), C.longlong(reset)) + } +} + +func (ptr *QOpenGLTexture) Samples() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_Samples(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) SetAutoMipMapGenerationEnabled(enabled bool) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetAutoMipMapGenerationEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QOpenGLTexture) SetBorderColor(color QColor_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetBorderColor(ptr.Pointer(), PointerFromQColor(color)) + } +} + +func (ptr *QOpenGLTexture) SetBorderColor2(r float32, g float32, b float32, a float32) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetBorderColor2(ptr.Pointer(), C.float(r), C.float(g), C.float(b), C.float(a)) + } +} + +func (ptr *QOpenGLTexture) SetBorderColor3(r int, g int, b int, a int) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetBorderColor3(ptr.Pointer(), C.int(int32(r)), C.int(int32(g)), C.int(int32(b)), C.int(int32(a))) + } +} + +func (ptr *QOpenGLTexture) SetBorderColor4(r uint, g uint, b uint, a uint) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetBorderColor4(ptr.Pointer(), C.uint(uint32(r)), C.uint(uint32(g)), C.uint(uint32(b)), C.uint(uint32(a))) + } +} + +func (ptr *QOpenGLTexture) SetComparisonFunction(function QOpenGLTexture__ComparisonFunction) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetComparisonFunction(ptr.Pointer(), C.longlong(function)) + } +} + +func (ptr *QOpenGLTexture) SetComparisonMode(mode QOpenGLTexture__ComparisonMode) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetComparisonMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QOpenGLTexture) SetCompressedData(mipLevel int, layer int, cubeFace QOpenGLTexture__CubeMapFace, dataSize int, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetCompressedData(ptr.Pointer(), C.int(int32(mipLevel)), C.int(int32(layer)), C.longlong(cubeFace), C.int(int32(dataSize)), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetCompressedData6(mipLevel int, layer int, layerCount int, cubeFace QOpenGLTexture__CubeMapFace, dataSize int, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetCompressedData6(ptr.Pointer(), C.int(int32(mipLevel)), C.int(int32(layer)), C.int(int32(layerCount)), C.longlong(cubeFace), C.int(int32(dataSize)), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetCompressedData7(mipLevel int, layer int, dataSize int, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetCompressedData7(ptr.Pointer(), C.int(int32(mipLevel)), C.int(int32(layer)), C.int(int32(dataSize)), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetCompressedData8(mipLevel int, dataSize int, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetCompressedData8(ptr.Pointer(), C.int(int32(mipLevel)), C.int(int32(dataSize)), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetCompressedData9(dataSize int, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetCompressedData9(ptr.Pointer(), C.int(int32(dataSize)), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetData(mipLevel int, layer int, cubeFace QOpenGLTexture__CubeMapFace, sourceFormat QOpenGLTexture__PixelFormat, sourceType QOpenGLTexture__PixelType, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetData(ptr.Pointer(), C.int(int32(mipLevel)), C.int(int32(layer)), C.longlong(cubeFace), C.longlong(sourceFormat), C.longlong(sourceType), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetData6(mipLevel int, layer int, layerCount int, cubeFace QOpenGLTexture__CubeMapFace, sourceFormat QOpenGLTexture__PixelFormat, sourceType QOpenGLTexture__PixelType, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetData6(ptr.Pointer(), C.int(int32(mipLevel)), C.int(int32(layer)), C.int(int32(layerCount)), C.longlong(cubeFace), C.longlong(sourceFormat), C.longlong(sourceType), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetData7(mipLevel int, layer int, sourceFormat QOpenGLTexture__PixelFormat, sourceType QOpenGLTexture__PixelType, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetData7(ptr.Pointer(), C.int(int32(mipLevel)), C.int(int32(layer)), C.longlong(sourceFormat), C.longlong(sourceType), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetData8(mipLevel int, sourceFormat QOpenGLTexture__PixelFormat, sourceType QOpenGLTexture__PixelType, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetData8(ptr.Pointer(), C.int(int32(mipLevel)), C.longlong(sourceFormat), C.longlong(sourceType), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetData9(sourceFormat QOpenGLTexture__PixelFormat, sourceType QOpenGLTexture__PixelType, data unsafe.Pointer, options QOpenGLPixelTransferOptions_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetData9(ptr.Pointer(), C.longlong(sourceFormat), C.longlong(sourceType), data, PointerFromQOpenGLPixelTransferOptions(options)) + } +} + +func (ptr *QOpenGLTexture) SetData10(image QImage_ITF, genMipMaps QOpenGLTexture__MipMapGeneration) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetData10(ptr.Pointer(), PointerFromQImage(image), C.longlong(genMipMaps)) + } +} + +func (ptr *QOpenGLTexture) SetDepthStencilMode(mode QOpenGLTexture__DepthStencilMode) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetDepthStencilMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QOpenGLTexture) SetFixedSamplePositions(fixed bool) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetFixedSamplePositions(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(fixed)))) + } +} + +func (ptr *QOpenGLTexture) SetFormat(format QOpenGLTexture__TextureFormat) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetFormat(ptr.Pointer(), C.longlong(format)) + } +} + +func (ptr *QOpenGLTexture) SetLayers(layers int) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetLayers(ptr.Pointer(), C.int(int32(layers))) + } +} + +func (ptr *QOpenGLTexture) SetLevelOfDetailRange(min float32, max float32) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetLevelOfDetailRange(ptr.Pointer(), C.float(min), C.float(max)) + } +} + +func (ptr *QOpenGLTexture) SetLevelofDetailBias(bias float32) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetLevelofDetailBias(ptr.Pointer(), C.float(bias)) + } +} + +func (ptr *QOpenGLTexture) SetMagnificationFilter(filter QOpenGLTexture__Filter) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMagnificationFilter(ptr.Pointer(), C.longlong(filter)) + } +} + +func (ptr *QOpenGLTexture) SetMaximumAnisotropy(anisotropy float32) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMaximumAnisotropy(ptr.Pointer(), C.float(anisotropy)) + } +} + +func (ptr *QOpenGLTexture) SetMaximumLevelOfDetail(value float32) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMaximumLevelOfDetail(ptr.Pointer(), C.float(value)) + } +} + +func (ptr *QOpenGLTexture) SetMinMagFilters(minificationFilter QOpenGLTexture__Filter, magnificationFilter QOpenGLTexture__Filter) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMinMagFilters(ptr.Pointer(), C.longlong(minificationFilter), C.longlong(magnificationFilter)) + } +} + +func (ptr *QOpenGLTexture) SetMinificationFilter(filter QOpenGLTexture__Filter) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMinificationFilter(ptr.Pointer(), C.longlong(filter)) + } +} + +func (ptr *QOpenGLTexture) SetMinimumLevelOfDetail(value float32) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMinimumLevelOfDetail(ptr.Pointer(), C.float(value)) + } +} + +func (ptr *QOpenGLTexture) SetMipBaseLevel(baseLevel int) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMipBaseLevel(ptr.Pointer(), C.int(int32(baseLevel))) + } +} + +func (ptr *QOpenGLTexture) SetMipLevelRange(baseLevel int, maxLevel int) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMipLevelRange(ptr.Pointer(), C.int(int32(baseLevel)), C.int(int32(maxLevel))) + } +} + +func (ptr *QOpenGLTexture) SetMipLevels(levels int) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMipLevels(ptr.Pointer(), C.int(int32(levels))) + } +} + +func (ptr *QOpenGLTexture) SetMipMaxLevel(maxLevel int) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetMipMaxLevel(ptr.Pointer(), C.int(int32(maxLevel))) + } +} + +func (ptr *QOpenGLTexture) SetSamples(samples int) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetSamples(ptr.Pointer(), C.int(int32(samples))) + } +} + +func (ptr *QOpenGLTexture) SetSize(width int, height int, depth int) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetSize(ptr.Pointer(), C.int(int32(width)), C.int(int32(height)), C.int(int32(depth))) + } +} + +func (ptr *QOpenGLTexture) SetSwizzleMask(component QOpenGLTexture__SwizzleComponent, value QOpenGLTexture__SwizzleValue) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetSwizzleMask(ptr.Pointer(), C.longlong(component), C.longlong(value)) + } +} + +func (ptr *QOpenGLTexture) SetSwizzleMask2(r QOpenGLTexture__SwizzleValue, g QOpenGLTexture__SwizzleValue, b QOpenGLTexture__SwizzleValue, a QOpenGLTexture__SwizzleValue) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetSwizzleMask2(ptr.Pointer(), C.longlong(r), C.longlong(g), C.longlong(b), C.longlong(a)) + } +} + +func (ptr *QOpenGLTexture) SetWrapMode(mode QOpenGLTexture__WrapMode) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetWrapMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QOpenGLTexture) SetWrapMode2(direction QOpenGLTexture__CoordinateDirection, mode QOpenGLTexture__WrapMode) { + if ptr.Pointer() != nil { + C.QOpenGLTexture_SetWrapMode2(ptr.Pointer(), C.longlong(direction), C.longlong(mode)) + } +} + +func (ptr *QOpenGLTexture) SwizzleMask(component QOpenGLTexture__SwizzleComponent) QOpenGLTexture__SwizzleValue { + if ptr.Pointer() != nil { + return QOpenGLTexture__SwizzleValue(C.QOpenGLTexture_SwizzleMask(ptr.Pointer(), C.longlong(component))) + } + return 0 +} + +func (ptr *QOpenGLTexture) Target() QOpenGLTexture__Target { + if ptr.Pointer() != nil { + return QOpenGLTexture__Target(C.QOpenGLTexture_Target(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLTexture) TextureId() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLTexture_TextureId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) Width() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTexture_Width(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTexture) WrapMode(direction QOpenGLTexture__CoordinateDirection) QOpenGLTexture__WrapMode { + if ptr.Pointer() != nil { + return QOpenGLTexture__WrapMode(C.QOpenGLTexture_WrapMode(ptr.Pointer(), C.longlong(direction))) + } + return 0 +} + +type QOpenGLTextureBlitter struct { + ptr unsafe.Pointer +} + +type QOpenGLTextureBlitter_ITF interface { + QOpenGLTextureBlitter_PTR() *QOpenGLTextureBlitter +} + +func (ptr *QOpenGLTextureBlitter) QOpenGLTextureBlitter_PTR() *QOpenGLTextureBlitter { + return ptr +} + +func (ptr *QOpenGLTextureBlitter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLTextureBlitter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLTextureBlitter(ptr QOpenGLTextureBlitter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLTextureBlitter_PTR().Pointer() + } + return nil +} + +func NewQOpenGLTextureBlitterFromPointer(ptr unsafe.Pointer) (n *QOpenGLTextureBlitter) { + n = new(QOpenGLTextureBlitter) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOpenGLTextureBlitter__Origin +//QOpenGLTextureBlitter::Origin +type QOpenGLTextureBlitter__Origin int64 + +const ( + QOpenGLTextureBlitter__OriginBottomLeft QOpenGLTextureBlitter__Origin = QOpenGLTextureBlitter__Origin(0) + QOpenGLTextureBlitter__OriginTopLeft QOpenGLTextureBlitter__Origin = QOpenGLTextureBlitter__Origin(1) +) + +func NewQOpenGLTextureBlitter() *QOpenGLTextureBlitter { + tmpValue := NewQOpenGLTextureBlitterFromPointer(C.QOpenGLTextureBlitter_NewQOpenGLTextureBlitter()) + runtime.SetFinalizer(tmpValue, (*QOpenGLTextureBlitter).DestroyQOpenGLTextureBlitter) + return tmpValue +} + +func (ptr *QOpenGLTextureBlitter) Bind(target uint) { + if ptr.Pointer() != nil { + C.QOpenGLTextureBlitter_Bind(ptr.Pointer(), C.uint(uint32(target))) + } +} + +func (ptr *QOpenGLTextureBlitter) Blit(texture uint, targetTransform QMatrix4x4_ITF, sourceOrigin QOpenGLTextureBlitter__Origin) { + if ptr.Pointer() != nil { + C.QOpenGLTextureBlitter_Blit(ptr.Pointer(), C.uint(uint32(texture)), PointerFromQMatrix4x4(targetTransform), C.longlong(sourceOrigin)) + } +} + +func (ptr *QOpenGLTextureBlitter) Create() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTextureBlitter_Create(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTextureBlitter) Destroy() { + if ptr.Pointer() != nil { + C.QOpenGLTextureBlitter_Destroy(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTextureBlitter) IsCreated() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTextureBlitter_IsCreated(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTextureBlitter) Release() { + if ptr.Pointer() != nil { + C.QOpenGLTextureBlitter_Release(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTextureBlitter) SetOpacity(opacity float32) { + if ptr.Pointer() != nil { + C.QOpenGLTextureBlitter_SetOpacity(ptr.Pointer(), C.float(opacity)) + } +} + +func (ptr *QOpenGLTextureBlitter) SetRedBlueSwizzle(swizzle bool) { + if ptr.Pointer() != nil { + C.QOpenGLTextureBlitter_SetRedBlueSwizzle(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(swizzle)))) + } +} + +func (ptr *QOpenGLTextureBlitter) SupportsExternalOESTarget() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTextureBlitter_SupportsExternalOESTarget(ptr.Pointer())) != 0 + } + return false +} + +func QOpenGLTextureBlitter_TargetTransform(target core.QRectF_ITF, viewport core.QRect_ITF) *QMatrix4x4 { + tmpValue := NewQMatrix4x4FromPointer(C.QOpenGLTextureBlitter_QOpenGLTextureBlitter_TargetTransform(core.PointerFromQRectF(target), core.PointerFromQRect(viewport))) + runtime.SetFinalizer(tmpValue, (*QMatrix4x4).DestroyQMatrix4x4) + return tmpValue +} + +func (ptr *QOpenGLTextureBlitter) TargetTransform(target core.QRectF_ITF, viewport core.QRect_ITF) *QMatrix4x4 { + tmpValue := NewQMatrix4x4FromPointer(C.QOpenGLTextureBlitter_QOpenGLTextureBlitter_TargetTransform(core.PointerFromQRectF(target), core.PointerFromQRect(viewport))) + runtime.SetFinalizer(tmpValue, (*QMatrix4x4).DestroyQMatrix4x4) + return tmpValue +} + +func (ptr *QOpenGLTextureBlitter) DestroyQOpenGLTextureBlitter() { + if ptr.Pointer() != nil { + C.QOpenGLTextureBlitter_DestroyQOpenGLTextureBlitter(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLTimeMonitor struct { + core.QObject +} + +type QOpenGLTimeMonitor_ITF interface { + core.QObject_ITF + QOpenGLTimeMonitor_PTR() *QOpenGLTimeMonitor +} + +func (ptr *QOpenGLTimeMonitor) QOpenGLTimeMonitor_PTR() *QOpenGLTimeMonitor { + return ptr +} + +func (ptr *QOpenGLTimeMonitor) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLTimeMonitor) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLTimeMonitor(ptr QOpenGLTimeMonitor_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLTimeMonitor_PTR().Pointer() + } + return nil +} + +func NewQOpenGLTimeMonitorFromPointer(ptr unsafe.Pointer) (n *QOpenGLTimeMonitor) { + n = new(QOpenGLTimeMonitor) + n.SetPointer(ptr) + return +} +func NewQOpenGLTimeMonitor(parent core.QObject_ITF) *QOpenGLTimeMonitor { + tmpValue := NewQOpenGLTimeMonitorFromPointer(C.QOpenGLTimeMonitor_NewQOpenGLTimeMonitor(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLTimeMonitor) Create() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimeMonitor_Create(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTimeMonitor) Destroy() { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_Destroy(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTimeMonitor) IsCreated() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimeMonitor_IsCreated(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTimeMonitor) IsResultAvailable() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimeMonitor_IsResultAvailable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTimeMonitor) ObjectIds() []uint { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []uint { + out := make([]uint, int(l.len)) + tmpList := NewQOpenGLTimeMonitorFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__objectIds_atList(i) + } + return out + }(C.QOpenGLTimeMonitor_ObjectIds(ptr.Pointer())) + } + return make([]uint, 0) +} + +func (ptr *QOpenGLTimeMonitor) RecordSample() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTimeMonitor_RecordSample(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTimeMonitor) Reset() { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_Reset(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTimeMonitor) SampleCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QOpenGLTimeMonitor_SampleCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTimeMonitor) SetSampleCount(sampleCount int) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_SetSampleCount(ptr.Pointer(), C.int(int32(sampleCount))) + } +} + +//export callbackQOpenGLTimeMonitor_DestroyQOpenGLTimeMonitor +func callbackQOpenGLTimeMonitor_DestroyQOpenGLTimeMonitor(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLTimeMonitor"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLTimeMonitorFromPointer(ptr).DestroyQOpenGLTimeMonitorDefault() + } +} + +func (ptr *QOpenGLTimeMonitor) ConnectDestroyQOpenGLTimeMonitor(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLTimeMonitor"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLTimeMonitor", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLTimeMonitor", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLTimeMonitor) DisconnectDestroyQOpenGLTimeMonitor() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLTimeMonitor") + } +} + +func (ptr *QOpenGLTimeMonitor) DestroyQOpenGLTimeMonitor() { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_DestroyQOpenGLTimeMonitor(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLTimeMonitor) DestroyQOpenGLTimeMonitorDefault() { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_DestroyQOpenGLTimeMonitorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLTimeMonitor) __objectIds_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLTimeMonitor___objectIds_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QOpenGLTimeMonitor) __objectIds_setList(i uint) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor___objectIds_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QOpenGLTimeMonitor) __objectIds_newList() unsafe.Pointer { + return C.QOpenGLTimeMonitor___objectIds_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLTimeMonitor) __waitForIntervals_newList() unsafe.Pointer { + return C.QOpenGLTimeMonitor___waitForIntervals_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLTimeMonitor) __waitForSamples_newList() unsafe.Pointer { + return C.QOpenGLTimeMonitor___waitForSamples_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLTimeMonitor) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLTimeMonitor___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimeMonitor) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLTimeMonitor) __children_newList() unsafe.Pointer { + return C.QOpenGLTimeMonitor___children_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLTimeMonitor) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOpenGLTimeMonitor___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimeMonitor) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QOpenGLTimeMonitor) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QOpenGLTimeMonitor___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLTimeMonitor) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLTimeMonitor___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimeMonitor) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLTimeMonitor) __findChildren_newList() unsafe.Pointer { + return C.QOpenGLTimeMonitor___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLTimeMonitor) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLTimeMonitor___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimeMonitor) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLTimeMonitor) __findChildren_newList3() unsafe.Pointer { + return C.QOpenGLTimeMonitor___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QOpenGLTimeMonitor) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLTimeMonitor___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimeMonitor) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLTimeMonitor) __qFindChildren_newList2() unsafe.Pointer { + return C.QOpenGLTimeMonitor___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQOpenGLTimeMonitor_ChildEvent +func callbackQOpenGLTimeMonitor_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQOpenGLTimeMonitorFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QOpenGLTimeMonitor) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQOpenGLTimeMonitor_ConnectNotify +func callbackQOpenGLTimeMonitor_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLTimeMonitorFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLTimeMonitor) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLTimeMonitor_CustomEvent +func callbackQOpenGLTimeMonitor_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQOpenGLTimeMonitorFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QOpenGLTimeMonitor) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQOpenGLTimeMonitor_DeleteLater +func callbackQOpenGLTimeMonitor_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLTimeMonitorFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QOpenGLTimeMonitor) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQOpenGLTimeMonitor_Destroyed +func callbackQOpenGLTimeMonitor_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQOpenGLTimeMonitor_DisconnectNotify +func callbackQOpenGLTimeMonitor_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLTimeMonitorFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLTimeMonitor) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLTimeMonitor_Event +func callbackQOpenGLTimeMonitor_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLTimeMonitorFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QOpenGLTimeMonitor) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimeMonitor_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQOpenGLTimeMonitor_EventFilter +func callbackQOpenGLTimeMonitor_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLTimeMonitorFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QOpenGLTimeMonitor) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimeMonitor_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQOpenGLTimeMonitor_MetaObject +func callbackQOpenGLTimeMonitor_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQOpenGLTimeMonitorFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QOpenGLTimeMonitor) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOpenGLTimeMonitor_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQOpenGLTimeMonitor_ObjectNameChanged +func callbackQOpenGLTimeMonitor_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQOpenGLTimeMonitor_TimerEvent +func callbackQOpenGLTimeMonitor_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQOpenGLTimeMonitorFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QOpenGLTimeMonitor) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimeMonitor_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOpenGLTimerQuery struct { + core.QObject +} + +type QOpenGLTimerQuery_ITF interface { + core.QObject_ITF + QOpenGLTimerQuery_PTR() *QOpenGLTimerQuery +} + +func (ptr *QOpenGLTimerQuery) QOpenGLTimerQuery_PTR() *QOpenGLTimerQuery { + return ptr +} + +func (ptr *QOpenGLTimerQuery) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLTimerQuery) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLTimerQuery(ptr QOpenGLTimerQuery_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLTimerQuery_PTR().Pointer() + } + return nil +} + +func NewQOpenGLTimerQueryFromPointer(ptr unsafe.Pointer) (n *QOpenGLTimerQuery) { + n = new(QOpenGLTimerQuery) + n.SetPointer(ptr) + return +} +func NewQOpenGLTimerQuery(parent core.QObject_ITF) *QOpenGLTimerQuery { + tmpValue := NewQOpenGLTimerQueryFromPointer(C.QOpenGLTimerQuery_NewQOpenGLTimerQuery(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLTimerQuery) Begin() { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_Begin(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTimerQuery) Create() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimerQuery_Create(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTimerQuery) Destroy() { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_Destroy(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTimerQuery) End() { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_End(ptr.Pointer()) + } +} + +func (ptr *QOpenGLTimerQuery) IsCreated() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimerQuery_IsCreated(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTimerQuery) IsResultAvailable() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimerQuery_IsResultAvailable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLTimerQuery) ObjectId() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLTimerQuery_ObjectId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLTimerQuery) RecordTimestamp() { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_RecordTimestamp(ptr.Pointer()) + } +} + +//export callbackQOpenGLTimerQuery_DestroyQOpenGLTimerQuery +func callbackQOpenGLTimerQuery_DestroyQOpenGLTimerQuery(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLTimerQuery"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLTimerQueryFromPointer(ptr).DestroyQOpenGLTimerQueryDefault() + } +} + +func (ptr *QOpenGLTimerQuery) ConnectDestroyQOpenGLTimerQuery(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLTimerQuery"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLTimerQuery", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLTimerQuery", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLTimerQuery) DisconnectDestroyQOpenGLTimerQuery() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLTimerQuery") + } +} + +func (ptr *QOpenGLTimerQuery) DestroyQOpenGLTimerQuery() { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_DestroyQOpenGLTimerQuery(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLTimerQuery) DestroyQOpenGLTimerQueryDefault() { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_DestroyQOpenGLTimerQueryDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLTimerQuery) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLTimerQuery___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimerQuery) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLTimerQuery) __children_newList() unsafe.Pointer { + return C.QOpenGLTimerQuery___children_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLTimerQuery) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOpenGLTimerQuery___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimerQuery) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QOpenGLTimerQuery) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QOpenGLTimerQuery___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLTimerQuery) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLTimerQuery___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimerQuery) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLTimerQuery) __findChildren_newList() unsafe.Pointer { + return C.QOpenGLTimerQuery___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLTimerQuery) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLTimerQuery___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimerQuery) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLTimerQuery) __findChildren_newList3() unsafe.Pointer { + return C.QOpenGLTimerQuery___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QOpenGLTimerQuery) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLTimerQuery___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLTimerQuery) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLTimerQuery) __qFindChildren_newList2() unsafe.Pointer { + return C.QOpenGLTimerQuery___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQOpenGLTimerQuery_ChildEvent +func callbackQOpenGLTimerQuery_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQOpenGLTimerQueryFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QOpenGLTimerQuery) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQOpenGLTimerQuery_ConnectNotify +func callbackQOpenGLTimerQuery_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLTimerQueryFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLTimerQuery) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLTimerQuery_CustomEvent +func callbackQOpenGLTimerQuery_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQOpenGLTimerQueryFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QOpenGLTimerQuery) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQOpenGLTimerQuery_DeleteLater +func callbackQOpenGLTimerQuery_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLTimerQueryFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QOpenGLTimerQuery) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQOpenGLTimerQuery_Destroyed +func callbackQOpenGLTimerQuery_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQOpenGLTimerQuery_DisconnectNotify +func callbackQOpenGLTimerQuery_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLTimerQueryFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLTimerQuery) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLTimerQuery_Event +func callbackQOpenGLTimerQuery_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLTimerQueryFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QOpenGLTimerQuery) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimerQuery_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQOpenGLTimerQuery_EventFilter +func callbackQOpenGLTimerQuery_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLTimerQueryFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QOpenGLTimerQuery) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLTimerQuery_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQOpenGLTimerQuery_MetaObject +func callbackQOpenGLTimerQuery_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQOpenGLTimerQueryFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QOpenGLTimerQuery) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOpenGLTimerQuery_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQOpenGLTimerQuery_ObjectNameChanged +func callbackQOpenGLTimerQuery_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQOpenGLTimerQuery_TimerEvent +func callbackQOpenGLTimerQuery_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQOpenGLTimerQueryFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QOpenGLTimerQuery) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLTimerQuery_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOpenGLVersionFunctionsBackend struct { + ptr unsafe.Pointer +} + +type QOpenGLVersionFunctionsBackend_ITF interface { + QOpenGLVersionFunctionsBackend_PTR() *QOpenGLVersionFunctionsBackend +} + +func (ptr *QOpenGLVersionFunctionsBackend) QOpenGLVersionFunctionsBackend_PTR() *QOpenGLVersionFunctionsBackend { + return ptr +} + +func (ptr *QOpenGLVersionFunctionsBackend) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLVersionFunctionsBackend) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLVersionFunctionsBackend(ptr QOpenGLVersionFunctionsBackend_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsBackend_PTR().Pointer() + } + return nil +} + +func NewQOpenGLVersionFunctionsBackendFromPointer(ptr unsafe.Pointer) (n *QOpenGLVersionFunctionsBackend) { + n = new(QOpenGLVersionFunctionsBackend) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLVersionFunctionsBackend) DestroyQOpenGLVersionFunctionsBackend() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLVersionFunctionsStorage struct { + ptr unsafe.Pointer +} + +type QOpenGLVersionFunctionsStorage_ITF interface { + QOpenGLVersionFunctionsStorage_PTR() *QOpenGLVersionFunctionsStorage +} + +func (ptr *QOpenGLVersionFunctionsStorage) QOpenGLVersionFunctionsStorage_PTR() *QOpenGLVersionFunctionsStorage { + return ptr +} + +func (ptr *QOpenGLVersionFunctionsStorage) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLVersionFunctionsStorage) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLVersionFunctionsStorage(ptr QOpenGLVersionFunctionsStorage_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionFunctionsStorage_PTR().Pointer() + } + return nil +} + +func NewQOpenGLVersionFunctionsStorageFromPointer(ptr unsafe.Pointer) (n *QOpenGLVersionFunctionsStorage) { + n = new(QOpenGLVersionFunctionsStorage) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLVersionFunctionsStorage) DestroyQOpenGLVersionFunctionsStorage() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLVersionProfile struct { + ptr unsafe.Pointer +} + +type QOpenGLVersionProfile_ITF interface { + QOpenGLVersionProfile_PTR() *QOpenGLVersionProfile +} + +func (ptr *QOpenGLVersionProfile) QOpenGLVersionProfile_PTR() *QOpenGLVersionProfile { + return ptr +} + +func (ptr *QOpenGLVersionProfile) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLVersionProfile) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLVersionProfile(ptr QOpenGLVersionProfile_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionProfile_PTR().Pointer() + } + return nil +} + +func NewQOpenGLVersionProfileFromPointer(ptr unsafe.Pointer) (n *QOpenGLVersionProfile) { + n = new(QOpenGLVersionProfile) + n.SetPointer(ptr) + return +} +func NewQOpenGLVersionProfile() *QOpenGLVersionProfile { + tmpValue := NewQOpenGLVersionProfileFromPointer(C.QOpenGLVersionProfile_NewQOpenGLVersionProfile()) + runtime.SetFinalizer(tmpValue, (*QOpenGLVersionProfile).DestroyQOpenGLVersionProfile) + return tmpValue +} + +func NewQOpenGLVersionProfile2(format QSurfaceFormat_ITF) *QOpenGLVersionProfile { + tmpValue := NewQOpenGLVersionProfileFromPointer(C.QOpenGLVersionProfile_NewQOpenGLVersionProfile2(PointerFromQSurfaceFormat(format))) + runtime.SetFinalizer(tmpValue, (*QOpenGLVersionProfile).DestroyQOpenGLVersionProfile) + return tmpValue +} + +func NewQOpenGLVersionProfile3(other QOpenGLVersionProfile_ITF) *QOpenGLVersionProfile { + tmpValue := NewQOpenGLVersionProfileFromPointer(C.QOpenGLVersionProfile_NewQOpenGLVersionProfile3(PointerFromQOpenGLVersionProfile(other))) + runtime.SetFinalizer(tmpValue, (*QOpenGLVersionProfile).DestroyQOpenGLVersionProfile) + return tmpValue +} + +func (ptr *QOpenGLVersionProfile) HasProfiles() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLVersionProfile_HasProfiles(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLVersionProfile) IsLegacyVersion() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLVersionProfile_IsLegacyVersion(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLVersionProfile) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLVersionProfile_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLVersionProfile) Profile() QSurfaceFormat__OpenGLContextProfile { + if ptr.Pointer() != nil { + return QSurfaceFormat__OpenGLContextProfile(C.QOpenGLVersionProfile_Profile(ptr.Pointer())) + } + return 0 +} + +func (ptr *QOpenGLVersionProfile) SetProfile(profile QSurfaceFormat__OpenGLContextProfile) { + if ptr.Pointer() != nil { + C.QOpenGLVersionProfile_SetProfile(ptr.Pointer(), C.longlong(profile)) + } +} + +func (ptr *QOpenGLVersionProfile) SetVersion(majorVersion int, minorVersion int) { + if ptr.Pointer() != nil { + C.QOpenGLVersionProfile_SetVersion(ptr.Pointer(), C.int(int32(majorVersion)), C.int(int32(minorVersion))) + } +} + +func (ptr *QOpenGLVersionProfile) DestroyQOpenGLVersionProfile() { + if ptr.Pointer() != nil { + C.QOpenGLVersionProfile_DestroyQOpenGLVersionProfile(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLVersionStatus struct { + ptr unsafe.Pointer +} + +type QOpenGLVersionStatus_ITF interface { + QOpenGLVersionStatus_PTR() *QOpenGLVersionStatus +} + +func (ptr *QOpenGLVersionStatus) QOpenGLVersionStatus_PTR() *QOpenGLVersionStatus { + return ptr +} + +func (ptr *QOpenGLVersionStatus) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOpenGLVersionStatus) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOpenGLVersionStatus(ptr QOpenGLVersionStatus_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVersionStatus_PTR().Pointer() + } + return nil +} + +func NewQOpenGLVersionStatusFromPointer(ptr unsafe.Pointer) (n *QOpenGLVersionStatus) { + n = new(QOpenGLVersionStatus) + n.SetPointer(ptr) + return +} + +func (ptr *QOpenGLVersionStatus) DestroyQOpenGLVersionStatus() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QOpenGLVertexArrayObject struct { + core.QObject +} + +type QOpenGLVertexArrayObject_ITF interface { + core.QObject_ITF + QOpenGLVertexArrayObject_PTR() *QOpenGLVertexArrayObject +} + +func (ptr *QOpenGLVertexArrayObject) QOpenGLVertexArrayObject_PTR() *QOpenGLVertexArrayObject { + return ptr +} + +func (ptr *QOpenGLVertexArrayObject) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLVertexArrayObject) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLVertexArrayObject(ptr QOpenGLVertexArrayObject_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLVertexArrayObject_PTR().Pointer() + } + return nil +} + +func NewQOpenGLVertexArrayObjectFromPointer(ptr unsafe.Pointer) (n *QOpenGLVertexArrayObject) { + n = new(QOpenGLVertexArrayObject) + n.SetPointer(ptr) + return +} +func NewQOpenGLVertexArrayObject(parent core.QObject_ITF) *QOpenGLVertexArrayObject { + tmpValue := NewQOpenGLVertexArrayObjectFromPointer(C.QOpenGLVertexArrayObject_NewQOpenGLVertexArrayObject(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLVertexArrayObject) Bind() { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_Bind(ptr.Pointer()) + } +} + +func (ptr *QOpenGLVertexArrayObject) Create() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLVertexArrayObject_Create(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLVertexArrayObject) Destroy() { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_Destroy(ptr.Pointer()) + } +} + +func (ptr *QOpenGLVertexArrayObject) IsCreated() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLVertexArrayObject_IsCreated(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLVertexArrayObject) ObjectId() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLVertexArrayObject_ObjectId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLVertexArrayObject) Release() { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_Release(ptr.Pointer()) + } +} + +//export callbackQOpenGLVertexArrayObject_DestroyQOpenGLVertexArrayObject +func callbackQOpenGLVertexArrayObject_DestroyQOpenGLVertexArrayObject(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLVertexArrayObject"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLVertexArrayObjectFromPointer(ptr).DestroyQOpenGLVertexArrayObjectDefault() + } +} + +func (ptr *QOpenGLVertexArrayObject) ConnectDestroyQOpenGLVertexArrayObject(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLVertexArrayObject"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLVertexArrayObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLVertexArrayObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLVertexArrayObject) DisconnectDestroyQOpenGLVertexArrayObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLVertexArrayObject") + } +} + +func (ptr *QOpenGLVertexArrayObject) DestroyQOpenGLVertexArrayObject() { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_DestroyQOpenGLVertexArrayObject(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLVertexArrayObject) DestroyQOpenGLVertexArrayObjectDefault() { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_DestroyQOpenGLVertexArrayObjectDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLVertexArrayObject) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLVertexArrayObject___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLVertexArrayObject) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLVertexArrayObject) __children_newList() unsafe.Pointer { + return C.QOpenGLVertexArrayObject___children_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLVertexArrayObject) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QOpenGLVertexArrayObject___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QOpenGLVertexArrayObject) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QOpenGLVertexArrayObject) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QOpenGLVertexArrayObject___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLVertexArrayObject) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLVertexArrayObject___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLVertexArrayObject) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLVertexArrayObject) __findChildren_newList() unsafe.Pointer { + return C.QOpenGLVertexArrayObject___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QOpenGLVertexArrayObject) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLVertexArrayObject___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLVertexArrayObject) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLVertexArrayObject) __findChildren_newList3() unsafe.Pointer { + return C.QOpenGLVertexArrayObject___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QOpenGLVertexArrayObject) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QOpenGLVertexArrayObject___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLVertexArrayObject) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QOpenGLVertexArrayObject) __qFindChildren_newList2() unsafe.Pointer { + return C.QOpenGLVertexArrayObject___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQOpenGLVertexArrayObject_ChildEvent +func callbackQOpenGLVertexArrayObject_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQOpenGLVertexArrayObjectFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QOpenGLVertexArrayObject) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQOpenGLVertexArrayObject_ConnectNotify +func callbackQOpenGLVertexArrayObject_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLVertexArrayObjectFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLVertexArrayObject) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLVertexArrayObject_CustomEvent +func callbackQOpenGLVertexArrayObject_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQOpenGLVertexArrayObjectFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QOpenGLVertexArrayObject) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQOpenGLVertexArrayObject_DeleteLater +func callbackQOpenGLVertexArrayObject_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLVertexArrayObjectFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QOpenGLVertexArrayObject) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQOpenGLVertexArrayObject_Destroyed +func callbackQOpenGLVertexArrayObject_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQOpenGLVertexArrayObject_DisconnectNotify +func callbackQOpenGLVertexArrayObject_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQOpenGLVertexArrayObjectFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QOpenGLVertexArrayObject) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQOpenGLVertexArrayObject_Event +func callbackQOpenGLVertexArrayObject_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLVertexArrayObjectFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QOpenGLVertexArrayObject) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLVertexArrayObject_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQOpenGLVertexArrayObject_EventFilter +func callbackQOpenGLVertexArrayObject_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQOpenGLVertexArrayObjectFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QOpenGLVertexArrayObject) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLVertexArrayObject_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQOpenGLVertexArrayObject_MetaObject +func callbackQOpenGLVertexArrayObject_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQOpenGLVertexArrayObjectFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QOpenGLVertexArrayObject) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QOpenGLVertexArrayObject_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQOpenGLVertexArrayObject_ObjectNameChanged +func callbackQOpenGLVertexArrayObject_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQOpenGLVertexArrayObject_TimerEvent +func callbackQOpenGLVertexArrayObject_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQOpenGLVertexArrayObjectFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QOpenGLVertexArrayObject) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QOpenGLVertexArrayObject_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOpenGLWindow struct { + QPaintDeviceWindow +} + +type QOpenGLWindow_ITF interface { + QPaintDeviceWindow_ITF + QOpenGLWindow_PTR() *QOpenGLWindow +} + +func (ptr *QOpenGLWindow) QOpenGLWindow_PTR() *QOpenGLWindow { + return ptr +} + +func (ptr *QOpenGLWindow) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPaintDeviceWindow_PTR().Pointer() + } + return nil +} + +func (ptr *QOpenGLWindow) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPaintDeviceWindow_PTR().SetPointer(p) + } +} + +func PointerFromQOpenGLWindow(ptr QOpenGLWindow_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOpenGLWindow_PTR().Pointer() + } + return nil +} + +func NewQOpenGLWindowFromPointer(ptr unsafe.Pointer) (n *QOpenGLWindow) { + n = new(QOpenGLWindow) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOpenGLWindow__UpdateBehavior +//QOpenGLWindow::UpdateBehavior +type QOpenGLWindow__UpdateBehavior int64 + +const ( + QOpenGLWindow__NoPartialUpdate QOpenGLWindow__UpdateBehavior = QOpenGLWindow__UpdateBehavior(0) + QOpenGLWindow__PartialUpdateBlit QOpenGLWindow__UpdateBehavior = QOpenGLWindow__UpdateBehavior(1) + QOpenGLWindow__PartialUpdateBlend QOpenGLWindow__UpdateBehavior = QOpenGLWindow__UpdateBehavior(2) +) + +func NewQOpenGLWindow(updateBehavior QOpenGLWindow__UpdateBehavior, parent QWindow_ITF) *QOpenGLWindow { + tmpValue := NewQOpenGLWindowFromPointer(C.QOpenGLWindow_NewQOpenGLWindow(C.longlong(updateBehavior), PointerFromQWindow(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQOpenGLWindow2(shareContext QOpenGLContext_ITF, updateBehavior QOpenGLWindow__UpdateBehavior, parent QWindow_ITF) *QOpenGLWindow { + tmpValue := NewQOpenGLWindowFromPointer(C.QOpenGLWindow_NewQOpenGLWindow2(PointerFromQOpenGLContext(shareContext), C.longlong(updateBehavior), PointerFromQWindow(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QOpenGLWindow) Context() *QOpenGLContext { + if ptr.Pointer() != nil { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLWindow_Context(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLWindow) DefaultFramebufferObject() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QOpenGLWindow_DefaultFramebufferObject(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QOpenGLWindow) DoneCurrent() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_DoneCurrent(ptr.Pointer()) + } +} + +//export callbackQOpenGLWindow_FrameSwapped +func callbackQOpenGLWindow_FrameSwapped(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "frameSwapped"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QOpenGLWindow) ConnectFrameSwapped(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "frameSwapped") { + C.QOpenGLWindow_ConnectFrameSwapped(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "frameSwapped"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "frameSwapped"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "frameSwapped", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "frameSwapped", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLWindow) DisconnectFrameSwapped() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_DisconnectFrameSwapped(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "frameSwapped") + } +} + +func (ptr *QOpenGLWindow) FrameSwapped() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_FrameSwapped(ptr.Pointer()) + } +} + +func (ptr *QOpenGLWindow) GrabFramebuffer() *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QOpenGLWindow_GrabFramebuffer(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +//export callbackQOpenGLWindow_InitializeGL +func callbackQOpenGLWindow_InitializeGL(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "initializeGL"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLWindowFromPointer(ptr).InitializeGLDefault() + } +} + +func (ptr *QOpenGLWindow) ConnectInitializeGL(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "initializeGL"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "initializeGL", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "initializeGL", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLWindow) DisconnectInitializeGL() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "initializeGL") + } +} + +func (ptr *QOpenGLWindow) InitializeGL() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_InitializeGL(ptr.Pointer()) + } +} + +func (ptr *QOpenGLWindow) InitializeGLDefault() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_InitializeGLDefault(ptr.Pointer()) + } +} + +func (ptr *QOpenGLWindow) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QOpenGLWindow_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QOpenGLWindow) MakeCurrent() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_MakeCurrent(ptr.Pointer()) + } +} + +//export callbackQOpenGLWindow_PaintGL +func callbackQOpenGLWindow_PaintGL(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "paintGL"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLWindowFromPointer(ptr).PaintGLDefault() + } +} + +func (ptr *QOpenGLWindow) ConnectPaintGL(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "paintGL"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "paintGL", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "paintGL", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLWindow) DisconnectPaintGL() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "paintGL") + } +} + +func (ptr *QOpenGLWindow) PaintGL() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_PaintGL(ptr.Pointer()) + } +} + +func (ptr *QOpenGLWindow) PaintGLDefault() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_PaintGLDefault(ptr.Pointer()) + } +} + +//export callbackQOpenGLWindow_PaintOverGL +func callbackQOpenGLWindow_PaintOverGL(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "paintOverGL"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLWindowFromPointer(ptr).PaintOverGLDefault() + } +} + +func (ptr *QOpenGLWindow) ConnectPaintOverGL(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "paintOverGL"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "paintOverGL", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "paintOverGL", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLWindow) DisconnectPaintOverGL() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "paintOverGL") + } +} + +func (ptr *QOpenGLWindow) PaintOverGL() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_PaintOverGL(ptr.Pointer()) + } +} + +func (ptr *QOpenGLWindow) PaintOverGLDefault() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_PaintOverGLDefault(ptr.Pointer()) + } +} + +//export callbackQOpenGLWindow_PaintUnderGL +func callbackQOpenGLWindow_PaintUnderGL(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "paintUnderGL"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLWindowFromPointer(ptr).PaintUnderGLDefault() + } +} + +func (ptr *QOpenGLWindow) ConnectPaintUnderGL(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "paintUnderGL"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "paintUnderGL", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "paintUnderGL", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLWindow) DisconnectPaintUnderGL() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "paintUnderGL") + } +} + +func (ptr *QOpenGLWindow) PaintUnderGL() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_PaintUnderGL(ptr.Pointer()) + } +} + +func (ptr *QOpenGLWindow) PaintUnderGLDefault() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_PaintUnderGLDefault(ptr.Pointer()) + } +} + +//export callbackQOpenGLWindow_ResizeGL +func callbackQOpenGLWindow_ResizeGL(ptr unsafe.Pointer, w C.int, h C.int) { + if signal := qt.GetSignal(ptr, "resizeGL"); signal != nil { + (*(*func(int, int))(signal))(int(int32(w)), int(int32(h))) + } else { + NewQOpenGLWindowFromPointer(ptr).ResizeGLDefault(int(int32(w)), int(int32(h))) + } +} + +func (ptr *QOpenGLWindow) ConnectResizeGL(f func(w int, h int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "resizeGL"); signal != nil { + f := func(w int, h int) { + (*(*func(int, int))(signal))(w, h) + f(w, h) + } + qt.ConnectSignal(ptr.Pointer(), "resizeGL", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resizeGL", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLWindow) DisconnectResizeGL() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "resizeGL") + } +} + +func (ptr *QOpenGLWindow) ResizeGL(w int, h int) { + if ptr.Pointer() != nil { + C.QOpenGLWindow_ResizeGL(ptr.Pointer(), C.int(int32(w)), C.int(int32(h))) + } +} + +func (ptr *QOpenGLWindow) ResizeGLDefault(w int, h int) { + if ptr.Pointer() != nil { + C.QOpenGLWindow_ResizeGLDefault(ptr.Pointer(), C.int(int32(w)), C.int(int32(h))) + } +} + +func (ptr *QOpenGLWindow) ShareContext() *QOpenGLContext { + if ptr.Pointer() != nil { + tmpValue := NewQOpenGLContextFromPointer(C.QOpenGLWindow_ShareContext(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QOpenGLWindow) UpdateBehavior() QOpenGLWindow__UpdateBehavior { + if ptr.Pointer() != nil { + return QOpenGLWindow__UpdateBehavior(C.QOpenGLWindow_UpdateBehavior(ptr.Pointer())) + } + return 0 +} + +//export callbackQOpenGLWindow_DestroyQOpenGLWindow +func callbackQOpenGLWindow_DestroyQOpenGLWindow(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QOpenGLWindow"); signal != nil { + (*(*func())(signal))() + } else { + NewQOpenGLWindowFromPointer(ptr).DestroyQOpenGLWindowDefault() + } +} + +func (ptr *QOpenGLWindow) ConnectDestroyQOpenGLWindow(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QOpenGLWindow"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLWindow", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QOpenGLWindow", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QOpenGLWindow) DisconnectDestroyQOpenGLWindow() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QOpenGLWindow") + } +} + +func (ptr *QOpenGLWindow) DestroyQOpenGLWindow() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_DestroyQOpenGLWindow(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QOpenGLWindow) DestroyQOpenGLWindowDefault() { + if ptr.Pointer() != nil { + C.QOpenGLWindow_DestroyQOpenGLWindowDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPageLayout struct { + ptr unsafe.Pointer +} + +type QPageLayout_ITF interface { + QPageLayout_PTR() *QPageLayout +} + +func (ptr *QPageLayout) QPageLayout_PTR() *QPageLayout { + return ptr +} + +func (ptr *QPageLayout) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPageLayout) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPageLayout(ptr QPageLayout_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPageLayout_PTR().Pointer() + } + return nil +} + +func NewQPageLayoutFromPointer(ptr unsafe.Pointer) (n *QPageLayout) { + n = new(QPageLayout) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QPageLayout__Unit +//QPageLayout::Unit +type QPageLayout__Unit int64 + +const ( + QPageLayout__Millimeter QPageLayout__Unit = QPageLayout__Unit(0) + QPageLayout__Point QPageLayout__Unit = QPageLayout__Unit(1) + QPageLayout__Inch QPageLayout__Unit = QPageLayout__Unit(2) + QPageLayout__Pica QPageLayout__Unit = QPageLayout__Unit(3) + QPageLayout__Didot QPageLayout__Unit = QPageLayout__Unit(4) + QPageLayout__Cicero QPageLayout__Unit = QPageLayout__Unit(5) +) + +//go:generate stringer -type=QPageLayout__Orientation +//QPageLayout::Orientation +type QPageLayout__Orientation int64 + +const ( + QPageLayout__Portrait QPageLayout__Orientation = QPageLayout__Orientation(0) + QPageLayout__Landscape QPageLayout__Orientation = QPageLayout__Orientation(1) +) + +//go:generate stringer -type=QPageLayout__Mode +//QPageLayout::Mode +type QPageLayout__Mode int64 + +const ( + QPageLayout__StandardMode QPageLayout__Mode = QPageLayout__Mode(0) + QPageLayout__FullPageMode QPageLayout__Mode = QPageLayout__Mode(1) +) + +func NewQPageLayout() *QPageLayout { + tmpValue := NewQPageLayoutFromPointer(C.QPageLayout_NewQPageLayout()) + runtime.SetFinalizer(tmpValue, (*QPageLayout).DestroyQPageLayout) + return tmpValue +} + +func NewQPageLayout2(pageSize QPageSize_ITF, orientation QPageLayout__Orientation, margins core.QMarginsF_ITF, units QPageLayout__Unit, minMargins core.QMarginsF_ITF) *QPageLayout { + tmpValue := NewQPageLayoutFromPointer(C.QPageLayout_NewQPageLayout2(PointerFromQPageSize(pageSize), C.longlong(orientation), core.PointerFromQMarginsF(margins), C.longlong(units), core.PointerFromQMarginsF(minMargins))) + runtime.SetFinalizer(tmpValue, (*QPageLayout).DestroyQPageLayout) + return tmpValue +} + +func NewQPageLayout3(other QPageLayout_ITF) *QPageLayout { + tmpValue := NewQPageLayoutFromPointer(C.QPageLayout_NewQPageLayout3(PointerFromQPageLayout(other))) + runtime.SetFinalizer(tmpValue, (*QPageLayout).DestroyQPageLayout) + return tmpValue +} + +func (ptr *QPageLayout) FullRect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPageLayout_FullRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) FullRect2(units QPageLayout__Unit) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPageLayout_FullRect2(ptr.Pointer(), C.longlong(units))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) FullRectPixels(resolution int) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPageLayout_FullRectPixels(ptr.Pointer(), C.int(int32(resolution)))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) FullRectPoints() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPageLayout_FullRectPoints(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) IsEquivalentTo(other QPageLayout_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPageLayout_IsEquivalentTo(ptr.Pointer(), PointerFromQPageLayout(other))) != 0 + } + return false +} + +func (ptr *QPageLayout) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QPageLayout_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPageLayout) Margins() *core.QMarginsF { + if ptr.Pointer() != nil { + tmpValue := core.NewQMarginsFFromPointer(C.QPageLayout_Margins(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QMarginsF).DestroyQMarginsF) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) Margins2(units QPageLayout__Unit) *core.QMarginsF { + if ptr.Pointer() != nil { + tmpValue := core.NewQMarginsFFromPointer(C.QPageLayout_Margins2(ptr.Pointer(), C.longlong(units))) + runtime.SetFinalizer(tmpValue, (*core.QMarginsF).DestroyQMarginsF) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) MarginsPixels(resolution int) *core.QMargins { + if ptr.Pointer() != nil { + tmpValue := core.NewQMarginsFromPointer(C.QPageLayout_MarginsPixels(ptr.Pointer(), C.int(int32(resolution)))) + runtime.SetFinalizer(tmpValue, (*core.QMargins).DestroyQMargins) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) MarginsPoints() *core.QMargins { + if ptr.Pointer() != nil { + tmpValue := core.NewQMarginsFromPointer(C.QPageLayout_MarginsPoints(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QMargins).DestroyQMargins) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) MaximumMargins() *core.QMarginsF { + if ptr.Pointer() != nil { + tmpValue := core.NewQMarginsFFromPointer(C.QPageLayout_MaximumMargins(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QMarginsF).DestroyQMarginsF) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) MinimumMargins() *core.QMarginsF { + if ptr.Pointer() != nil { + tmpValue := core.NewQMarginsFFromPointer(C.QPageLayout_MinimumMargins(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QMarginsF).DestroyQMarginsF) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) Mode() QPageLayout__Mode { + if ptr.Pointer() != nil { + return QPageLayout__Mode(C.QPageLayout_Mode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPageLayout) Orientation() QPageLayout__Orientation { + if ptr.Pointer() != nil { + return QPageLayout__Orientation(C.QPageLayout_Orientation(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPageLayout) PageSize() *QPageSize { + if ptr.Pointer() != nil { + tmpValue := NewQPageSizeFromPointer(C.QPageLayout_PageSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPageSize).DestroyQPageSize) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) PaintRect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPageLayout_PaintRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) PaintRect2(units QPageLayout__Unit) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPageLayout_PaintRect2(ptr.Pointer(), C.longlong(units))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) PaintRectPixels(resolution int) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPageLayout_PaintRectPixels(ptr.Pointer(), C.int(int32(resolution)))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) PaintRectPoints() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPageLayout_PaintRectPoints(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPageLayout) SetBottomMargin(bottomMargin float64) bool { + if ptr.Pointer() != nil { + return int8(C.QPageLayout_SetBottomMargin(ptr.Pointer(), C.double(bottomMargin))) != 0 + } + return false +} + +func (ptr *QPageLayout) SetLeftMargin(leftMargin float64) bool { + if ptr.Pointer() != nil { + return int8(C.QPageLayout_SetLeftMargin(ptr.Pointer(), C.double(leftMargin))) != 0 + } + return false +} + +func (ptr *QPageLayout) SetMargins(margins core.QMarginsF_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPageLayout_SetMargins(ptr.Pointer(), core.PointerFromQMarginsF(margins))) != 0 + } + return false +} + +func (ptr *QPageLayout) SetMinimumMargins(minMargins core.QMarginsF_ITF) { + if ptr.Pointer() != nil { + C.QPageLayout_SetMinimumMargins(ptr.Pointer(), core.PointerFromQMarginsF(minMargins)) + } +} + +func (ptr *QPageLayout) SetMode(mode QPageLayout__Mode) { + if ptr.Pointer() != nil { + C.QPageLayout_SetMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QPageLayout) SetOrientation(orientation QPageLayout__Orientation) { + if ptr.Pointer() != nil { + C.QPageLayout_SetOrientation(ptr.Pointer(), C.longlong(orientation)) + } +} + +func (ptr *QPageLayout) SetPageSize(pageSize QPageSize_ITF, minMargins core.QMarginsF_ITF) { + if ptr.Pointer() != nil { + C.QPageLayout_SetPageSize(ptr.Pointer(), PointerFromQPageSize(pageSize), core.PointerFromQMarginsF(minMargins)) + } +} + +func (ptr *QPageLayout) SetRightMargin(rightMargin float64) bool { + if ptr.Pointer() != nil { + return int8(C.QPageLayout_SetRightMargin(ptr.Pointer(), C.double(rightMargin))) != 0 + } + return false +} + +func (ptr *QPageLayout) SetTopMargin(topMargin float64) bool { + if ptr.Pointer() != nil { + return int8(C.QPageLayout_SetTopMargin(ptr.Pointer(), C.double(topMargin))) != 0 + } + return false +} + +func (ptr *QPageLayout) SetUnits(units QPageLayout__Unit) { + if ptr.Pointer() != nil { + C.QPageLayout_SetUnits(ptr.Pointer(), C.longlong(units)) + } +} + +func (ptr *QPageLayout) Swap(other QPageLayout_ITF) { + if ptr.Pointer() != nil { + C.QPageLayout_Swap(ptr.Pointer(), PointerFromQPageLayout(other)) + } +} + +func (ptr *QPageLayout) Units() QPageLayout__Unit { + if ptr.Pointer() != nil { + return QPageLayout__Unit(C.QPageLayout_Units(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPageLayout) DestroyQPageLayout() { + if ptr.Pointer() != nil { + C.QPageLayout_DestroyQPageLayout(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPageSize struct { + ptr unsafe.Pointer +} + +type QPageSize_ITF interface { + QPageSize_PTR() *QPageSize +} + +func (ptr *QPageSize) QPageSize_PTR() *QPageSize { + return ptr +} + +func (ptr *QPageSize) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPageSize) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPageSize(ptr QPageSize_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPageSize_PTR().Pointer() + } + return nil +} + +func NewQPageSizeFromPointer(ptr unsafe.Pointer) (n *QPageSize) { + n = new(QPageSize) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QPageSize__PageSizeId +//QPageSize::PageSizeId +type QPageSize__PageSizeId int64 + +const ( + QPageSize__A4 QPageSize__PageSizeId = QPageSize__PageSizeId(0) + QPageSize__B5 QPageSize__PageSizeId = QPageSize__PageSizeId(1) + QPageSize__Letter QPageSize__PageSizeId = QPageSize__PageSizeId(2) + QPageSize__Legal QPageSize__PageSizeId = QPageSize__PageSizeId(3) + QPageSize__Executive QPageSize__PageSizeId = QPageSize__PageSizeId(4) + QPageSize__A0 QPageSize__PageSizeId = QPageSize__PageSizeId(5) + QPageSize__A1 QPageSize__PageSizeId = QPageSize__PageSizeId(6) + QPageSize__A2 QPageSize__PageSizeId = QPageSize__PageSizeId(7) + QPageSize__A3 QPageSize__PageSizeId = QPageSize__PageSizeId(8) + QPageSize__A5 QPageSize__PageSizeId = QPageSize__PageSizeId(9) + QPageSize__A6 QPageSize__PageSizeId = QPageSize__PageSizeId(10) + QPageSize__A7 QPageSize__PageSizeId = QPageSize__PageSizeId(11) + QPageSize__A8 QPageSize__PageSizeId = QPageSize__PageSizeId(12) + QPageSize__A9 QPageSize__PageSizeId = QPageSize__PageSizeId(13) + QPageSize__B0 QPageSize__PageSizeId = QPageSize__PageSizeId(14) + QPageSize__B1 QPageSize__PageSizeId = QPageSize__PageSizeId(15) + QPageSize__B10 QPageSize__PageSizeId = QPageSize__PageSizeId(16) + QPageSize__B2 QPageSize__PageSizeId = QPageSize__PageSizeId(17) + QPageSize__B3 QPageSize__PageSizeId = QPageSize__PageSizeId(18) + QPageSize__B4 QPageSize__PageSizeId = QPageSize__PageSizeId(19) + QPageSize__B6 QPageSize__PageSizeId = QPageSize__PageSizeId(20) + QPageSize__B7 QPageSize__PageSizeId = QPageSize__PageSizeId(21) + QPageSize__B8 QPageSize__PageSizeId = QPageSize__PageSizeId(22) + QPageSize__B9 QPageSize__PageSizeId = QPageSize__PageSizeId(23) + QPageSize__C5E QPageSize__PageSizeId = QPageSize__PageSizeId(24) + QPageSize__Comm10E QPageSize__PageSizeId = QPageSize__PageSizeId(25) + QPageSize__DLE QPageSize__PageSizeId = QPageSize__PageSizeId(26) + QPageSize__Folio QPageSize__PageSizeId = QPageSize__PageSizeId(27) + QPageSize__Ledger QPageSize__PageSizeId = QPageSize__PageSizeId(28) + QPageSize__Tabloid QPageSize__PageSizeId = QPageSize__PageSizeId(29) + QPageSize__Custom QPageSize__PageSizeId = QPageSize__PageSizeId(30) + QPageSize__A10 QPageSize__PageSizeId = QPageSize__PageSizeId(31) + QPageSize__A3Extra QPageSize__PageSizeId = QPageSize__PageSizeId(32) + QPageSize__A4Extra QPageSize__PageSizeId = QPageSize__PageSizeId(33) + QPageSize__A4Plus QPageSize__PageSizeId = QPageSize__PageSizeId(34) + QPageSize__A4Small QPageSize__PageSizeId = QPageSize__PageSizeId(35) + QPageSize__A5Extra QPageSize__PageSizeId = QPageSize__PageSizeId(36) + QPageSize__B5Extra QPageSize__PageSizeId = QPageSize__PageSizeId(37) + QPageSize__JisB0 QPageSize__PageSizeId = QPageSize__PageSizeId(38) + QPageSize__JisB1 QPageSize__PageSizeId = QPageSize__PageSizeId(39) + QPageSize__JisB2 QPageSize__PageSizeId = QPageSize__PageSizeId(40) + QPageSize__JisB3 QPageSize__PageSizeId = QPageSize__PageSizeId(41) + QPageSize__JisB4 QPageSize__PageSizeId = QPageSize__PageSizeId(42) + QPageSize__JisB5 QPageSize__PageSizeId = QPageSize__PageSizeId(43) + QPageSize__JisB6 QPageSize__PageSizeId = QPageSize__PageSizeId(44) + QPageSize__JisB7 QPageSize__PageSizeId = QPageSize__PageSizeId(45) + QPageSize__JisB8 QPageSize__PageSizeId = QPageSize__PageSizeId(46) + QPageSize__JisB9 QPageSize__PageSizeId = QPageSize__PageSizeId(47) + QPageSize__JisB10 QPageSize__PageSizeId = QPageSize__PageSizeId(48) + QPageSize__AnsiC QPageSize__PageSizeId = QPageSize__PageSizeId(49) + QPageSize__AnsiD QPageSize__PageSizeId = QPageSize__PageSizeId(50) + QPageSize__AnsiE QPageSize__PageSizeId = QPageSize__PageSizeId(51) + QPageSize__LegalExtra QPageSize__PageSizeId = QPageSize__PageSizeId(52) + QPageSize__LetterExtra QPageSize__PageSizeId = QPageSize__PageSizeId(53) + QPageSize__LetterPlus QPageSize__PageSizeId = QPageSize__PageSizeId(54) + QPageSize__LetterSmall QPageSize__PageSizeId = QPageSize__PageSizeId(55) + QPageSize__TabloidExtra QPageSize__PageSizeId = QPageSize__PageSizeId(56) + QPageSize__ArchA QPageSize__PageSizeId = QPageSize__PageSizeId(57) + QPageSize__ArchB QPageSize__PageSizeId = QPageSize__PageSizeId(58) + QPageSize__ArchC QPageSize__PageSizeId = QPageSize__PageSizeId(59) + QPageSize__ArchD QPageSize__PageSizeId = QPageSize__PageSizeId(60) + QPageSize__ArchE QPageSize__PageSizeId = QPageSize__PageSizeId(61) + QPageSize__Imperial7x9 QPageSize__PageSizeId = QPageSize__PageSizeId(62) + QPageSize__Imperial8x10 QPageSize__PageSizeId = QPageSize__PageSizeId(63) + QPageSize__Imperial9x11 QPageSize__PageSizeId = QPageSize__PageSizeId(64) + QPageSize__Imperial9x12 QPageSize__PageSizeId = QPageSize__PageSizeId(65) + QPageSize__Imperial10x11 QPageSize__PageSizeId = QPageSize__PageSizeId(66) + QPageSize__Imperial10x13 QPageSize__PageSizeId = QPageSize__PageSizeId(67) + QPageSize__Imperial10x14 QPageSize__PageSizeId = QPageSize__PageSizeId(68) + QPageSize__Imperial12x11 QPageSize__PageSizeId = QPageSize__PageSizeId(69) + QPageSize__Imperial15x11 QPageSize__PageSizeId = QPageSize__PageSizeId(70) + QPageSize__ExecutiveStandard QPageSize__PageSizeId = QPageSize__PageSizeId(71) + QPageSize__Note QPageSize__PageSizeId = QPageSize__PageSizeId(72) + QPageSize__Quarto QPageSize__PageSizeId = QPageSize__PageSizeId(73) + QPageSize__Statement QPageSize__PageSizeId = QPageSize__PageSizeId(74) + QPageSize__SuperA QPageSize__PageSizeId = QPageSize__PageSizeId(75) + QPageSize__SuperB QPageSize__PageSizeId = QPageSize__PageSizeId(76) + QPageSize__Postcard QPageSize__PageSizeId = QPageSize__PageSizeId(77) + QPageSize__DoublePostcard QPageSize__PageSizeId = QPageSize__PageSizeId(78) + QPageSize__Prc16K QPageSize__PageSizeId = QPageSize__PageSizeId(79) + QPageSize__Prc32K QPageSize__PageSizeId = QPageSize__PageSizeId(80) + QPageSize__Prc32KBig QPageSize__PageSizeId = QPageSize__PageSizeId(81) + QPageSize__FanFoldUS QPageSize__PageSizeId = QPageSize__PageSizeId(82) + QPageSize__FanFoldGerman QPageSize__PageSizeId = QPageSize__PageSizeId(83) + QPageSize__FanFoldGermanLegal QPageSize__PageSizeId = QPageSize__PageSizeId(84) + QPageSize__EnvelopeB4 QPageSize__PageSizeId = QPageSize__PageSizeId(85) + QPageSize__EnvelopeB5 QPageSize__PageSizeId = QPageSize__PageSizeId(86) + QPageSize__EnvelopeB6 QPageSize__PageSizeId = QPageSize__PageSizeId(87) + QPageSize__EnvelopeC0 QPageSize__PageSizeId = QPageSize__PageSizeId(88) + QPageSize__EnvelopeC1 QPageSize__PageSizeId = QPageSize__PageSizeId(89) + QPageSize__EnvelopeC2 QPageSize__PageSizeId = QPageSize__PageSizeId(90) + QPageSize__EnvelopeC3 QPageSize__PageSizeId = QPageSize__PageSizeId(91) + QPageSize__EnvelopeC4 QPageSize__PageSizeId = QPageSize__PageSizeId(92) + QPageSize__EnvelopeC6 QPageSize__PageSizeId = QPageSize__PageSizeId(93) + QPageSize__EnvelopeC65 QPageSize__PageSizeId = QPageSize__PageSizeId(94) + QPageSize__EnvelopeC7 QPageSize__PageSizeId = QPageSize__PageSizeId(95) + QPageSize__Envelope9 QPageSize__PageSizeId = QPageSize__PageSizeId(96) + QPageSize__Envelope11 QPageSize__PageSizeId = QPageSize__PageSizeId(97) + QPageSize__Envelope12 QPageSize__PageSizeId = QPageSize__PageSizeId(98) + QPageSize__Envelope14 QPageSize__PageSizeId = QPageSize__PageSizeId(99) + QPageSize__EnvelopeMonarch QPageSize__PageSizeId = QPageSize__PageSizeId(100) + QPageSize__EnvelopePersonal QPageSize__PageSizeId = QPageSize__PageSizeId(101) + QPageSize__EnvelopeChou3 QPageSize__PageSizeId = QPageSize__PageSizeId(102) + QPageSize__EnvelopeChou4 QPageSize__PageSizeId = QPageSize__PageSizeId(103) + QPageSize__EnvelopeInvite QPageSize__PageSizeId = QPageSize__PageSizeId(104) + QPageSize__EnvelopeItalian QPageSize__PageSizeId = QPageSize__PageSizeId(105) + QPageSize__EnvelopeKaku2 QPageSize__PageSizeId = QPageSize__PageSizeId(106) + QPageSize__EnvelopeKaku3 QPageSize__PageSizeId = QPageSize__PageSizeId(107) + QPageSize__EnvelopePrc1 QPageSize__PageSizeId = QPageSize__PageSizeId(108) + QPageSize__EnvelopePrc2 QPageSize__PageSizeId = QPageSize__PageSizeId(109) + QPageSize__EnvelopePrc3 QPageSize__PageSizeId = QPageSize__PageSizeId(110) + QPageSize__EnvelopePrc4 QPageSize__PageSizeId = QPageSize__PageSizeId(111) + QPageSize__EnvelopePrc5 QPageSize__PageSizeId = QPageSize__PageSizeId(112) + QPageSize__EnvelopePrc6 QPageSize__PageSizeId = QPageSize__PageSizeId(113) + QPageSize__EnvelopePrc7 QPageSize__PageSizeId = QPageSize__PageSizeId(114) + QPageSize__EnvelopePrc8 QPageSize__PageSizeId = QPageSize__PageSizeId(115) + QPageSize__EnvelopePrc9 QPageSize__PageSizeId = QPageSize__PageSizeId(116) + QPageSize__EnvelopePrc10 QPageSize__PageSizeId = QPageSize__PageSizeId(117) + QPageSize__EnvelopeYou4 QPageSize__PageSizeId = QPageSize__PageSizeId(118) + QPageSize__LastPageSize QPageSize__PageSizeId = QPageSize__PageSizeId(QPageSize__EnvelopeYou4) + QPageSize__NPageSize QPageSize__PageSizeId = QPageSize__PageSizeId(QPageSize__LastPageSize) + QPageSize__NPaperSize QPageSize__PageSizeId = QPageSize__PageSizeId(QPageSize__LastPageSize) + QPageSize__AnsiA QPageSize__PageSizeId = QPageSize__PageSizeId(QPageSize__Letter) + QPageSize__AnsiB QPageSize__PageSizeId = QPageSize__PageSizeId(QPageSize__Ledger) + QPageSize__EnvelopeC5 QPageSize__PageSizeId = QPageSize__PageSizeId(QPageSize__C5E) + QPageSize__EnvelopeDL QPageSize__PageSizeId = QPageSize__PageSizeId(QPageSize__DLE) + QPageSize__Envelope10 QPageSize__PageSizeId = QPageSize__PageSizeId(QPageSize__Comm10E) +) + +//go:generate stringer -type=QPageSize__Unit +//QPageSize::Unit +type QPageSize__Unit int64 + +const ( + QPageSize__Millimeter QPageSize__Unit = QPageSize__Unit(0) + QPageSize__Point QPageSize__Unit = QPageSize__Unit(1) + QPageSize__Inch QPageSize__Unit = QPageSize__Unit(2) + QPageSize__Pica QPageSize__Unit = QPageSize__Unit(3) + QPageSize__Didot QPageSize__Unit = QPageSize__Unit(4) + QPageSize__Cicero QPageSize__Unit = QPageSize__Unit(5) +) + +//go:generate stringer -type=QPageSize__SizeMatchPolicy +//QPageSize::SizeMatchPolicy +type QPageSize__SizeMatchPolicy int64 + +const ( + QPageSize__FuzzyMatch QPageSize__SizeMatchPolicy = QPageSize__SizeMatchPolicy(0) + QPageSize__FuzzyOrientationMatch QPageSize__SizeMatchPolicy = QPageSize__SizeMatchPolicy(1) + QPageSize__ExactMatch QPageSize__SizeMatchPolicy = QPageSize__SizeMatchPolicy(2) +) + +func NewQPageSize() *QPageSize { + tmpValue := NewQPageSizeFromPointer(C.QPageSize_NewQPageSize()) + runtime.SetFinalizer(tmpValue, (*QPageSize).DestroyQPageSize) + return tmpValue +} + +func NewQPageSize2(pageSize QPageSize__PageSizeId) *QPageSize { + tmpValue := NewQPageSizeFromPointer(C.QPageSize_NewQPageSize2(C.longlong(pageSize))) + runtime.SetFinalizer(tmpValue, (*QPageSize).DestroyQPageSize) + return tmpValue +} + +func NewQPageSize3(pointSize core.QSize_ITF, name string, matchPolicy QPageSize__SizeMatchPolicy) *QPageSize { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQPageSizeFromPointer(C.QPageSize_NewQPageSize3(core.PointerFromQSize(pointSize), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}, C.longlong(matchPolicy))) + runtime.SetFinalizer(tmpValue, (*QPageSize).DestroyQPageSize) + return tmpValue +} + +func NewQPageSize4(size core.QSizeF_ITF, units QPageSize__Unit, name string, matchPolicy QPageSize__SizeMatchPolicy) *QPageSize { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQPageSizeFromPointer(C.QPageSize_NewQPageSize4(core.PointerFromQSizeF(size), C.longlong(units), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}, C.longlong(matchPolicy))) + runtime.SetFinalizer(tmpValue, (*QPageSize).DestroyQPageSize) + return tmpValue +} + +func NewQPageSize5(other QPageSize_ITF) *QPageSize { + tmpValue := NewQPageSizeFromPointer(C.QPageSize_NewQPageSize5(PointerFromQPageSize(other))) + runtime.SetFinalizer(tmpValue, (*QPageSize).DestroyQPageSize) + return tmpValue +} + +func (ptr *QPageSize) DefinitionSize() *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QPageSize_DefinitionSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func QPageSize_DefinitionSize2(pageSizeId QPageSize__PageSizeId) *core.QSizeF { + tmpValue := core.NewQSizeFFromPointer(C.QPageSize_QPageSize_DefinitionSize2(C.longlong(pageSizeId))) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue +} + +func (ptr *QPageSize) DefinitionSize2(pageSizeId QPageSize__PageSizeId) *core.QSizeF { + tmpValue := core.NewQSizeFFromPointer(C.QPageSize_QPageSize_DefinitionSize2(C.longlong(pageSizeId))) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue +} + +func (ptr *QPageSize) DefinitionUnits() QPageSize__Unit { + if ptr.Pointer() != nil { + return QPageSize__Unit(C.QPageSize_DefinitionUnits(ptr.Pointer())) + } + return 0 +} + +func QPageSize_DefinitionUnits2(pageSizeId QPageSize__PageSizeId) QPageSize__Unit { + return QPageSize__Unit(C.QPageSize_QPageSize_DefinitionUnits2(C.longlong(pageSizeId))) +} + +func (ptr *QPageSize) DefinitionUnits2(pageSizeId QPageSize__PageSizeId) QPageSize__Unit { + return QPageSize__Unit(C.QPageSize_QPageSize_DefinitionUnits2(C.longlong(pageSizeId))) +} + +func (ptr *QPageSize) Id() QPageSize__PageSizeId { + if ptr.Pointer() != nil { + return QPageSize__PageSizeId(C.QPageSize_Id(ptr.Pointer())) + } + return 0 +} + +func QPageSize_Id2(pointSize core.QSize_ITF, matchPolicy QPageSize__SizeMatchPolicy) QPageSize__PageSizeId { + return QPageSize__PageSizeId(C.QPageSize_QPageSize_Id2(core.PointerFromQSize(pointSize), C.longlong(matchPolicy))) +} + +func (ptr *QPageSize) Id2(pointSize core.QSize_ITF, matchPolicy QPageSize__SizeMatchPolicy) QPageSize__PageSizeId { + return QPageSize__PageSizeId(C.QPageSize_QPageSize_Id2(core.PointerFromQSize(pointSize), C.longlong(matchPolicy))) +} + +func QPageSize_Id3(size core.QSizeF_ITF, units QPageSize__Unit, matchPolicy QPageSize__SizeMatchPolicy) QPageSize__PageSizeId { + return QPageSize__PageSizeId(C.QPageSize_QPageSize_Id3(core.PointerFromQSizeF(size), C.longlong(units), C.longlong(matchPolicy))) +} + +func (ptr *QPageSize) Id3(size core.QSizeF_ITF, units QPageSize__Unit, matchPolicy QPageSize__SizeMatchPolicy) QPageSize__PageSizeId { + return QPageSize__PageSizeId(C.QPageSize_QPageSize_Id3(core.PointerFromQSizeF(size), C.longlong(units), C.longlong(matchPolicy))) +} + +func QPageSize_Id4(windowsId int) QPageSize__PageSizeId { + return QPageSize__PageSizeId(C.QPageSize_QPageSize_Id4(C.int(int32(windowsId)))) +} + +func (ptr *QPageSize) Id4(windowsId int) QPageSize__PageSizeId { + return QPageSize__PageSizeId(C.QPageSize_QPageSize_Id4(C.int(int32(windowsId)))) +} + +func (ptr *QPageSize) IsEquivalentTo(other QPageSize_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPageSize_IsEquivalentTo(ptr.Pointer(), PointerFromQPageSize(other))) != 0 + } + return false +} + +func (ptr *QPageSize) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QPageSize_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPageSize) Key() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPageSize_Key(ptr.Pointer())) + } + return "" +} + +func QPageSize_Key2(pageSizeId QPageSize__PageSizeId) string { + return cGoUnpackString(C.QPageSize_QPageSize_Key2(C.longlong(pageSizeId))) +} + +func (ptr *QPageSize) Key2(pageSizeId QPageSize__PageSizeId) string { + return cGoUnpackString(C.QPageSize_QPageSize_Key2(C.longlong(pageSizeId))) +} + +func (ptr *QPageSize) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPageSize_Name(ptr.Pointer())) + } + return "" +} + +func QPageSize_Name2(pageSizeId QPageSize__PageSizeId) string { + return cGoUnpackString(C.QPageSize_QPageSize_Name2(C.longlong(pageSizeId))) +} + +func (ptr *QPageSize) Name2(pageSizeId QPageSize__PageSizeId) string { + return cGoUnpackString(C.QPageSize_QPageSize_Name2(C.longlong(pageSizeId))) +} + +func (ptr *QPageSize) Rect(units QPageSize__Unit) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPageSize_Rect(ptr.Pointer(), C.longlong(units))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPageSize) RectPixels(resolution int) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPageSize_RectPixels(ptr.Pointer(), C.int(int32(resolution)))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPageSize) RectPoints() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPageSize_RectPoints(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPageSize) Size(units QPageSize__Unit) *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QPageSize_Size(ptr.Pointer(), C.longlong(units))) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func QPageSize_Size2(pageSizeId QPageSize__PageSizeId, units QPageSize__Unit) *core.QSizeF { + tmpValue := core.NewQSizeFFromPointer(C.QPageSize_QPageSize_Size2(C.longlong(pageSizeId), C.longlong(units))) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue +} + +func (ptr *QPageSize) Size2(pageSizeId QPageSize__PageSizeId, units QPageSize__Unit) *core.QSizeF { + tmpValue := core.NewQSizeFFromPointer(C.QPageSize_QPageSize_Size2(C.longlong(pageSizeId), C.longlong(units))) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue +} + +func (ptr *QPageSize) SizePixels(resolution int) *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QPageSize_SizePixels(ptr.Pointer(), C.int(int32(resolution)))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func QPageSize_SizePixels2(pageSizeId QPageSize__PageSizeId, resolution int) *core.QSize { + tmpValue := core.NewQSizeFromPointer(C.QPageSize_QPageSize_SizePixels2(C.longlong(pageSizeId), C.int(int32(resolution)))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue +} + +func (ptr *QPageSize) SizePixels2(pageSizeId QPageSize__PageSizeId, resolution int) *core.QSize { + tmpValue := core.NewQSizeFromPointer(C.QPageSize_QPageSize_SizePixels2(C.longlong(pageSizeId), C.int(int32(resolution)))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue +} + +func (ptr *QPageSize) SizePoints() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QPageSize_SizePoints(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func QPageSize_SizePoints2(pageSizeId QPageSize__PageSizeId) *core.QSize { + tmpValue := core.NewQSizeFromPointer(C.QPageSize_QPageSize_SizePoints2(C.longlong(pageSizeId))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue +} + +func (ptr *QPageSize) SizePoints2(pageSizeId QPageSize__PageSizeId) *core.QSize { + tmpValue := core.NewQSizeFromPointer(C.QPageSize_QPageSize_SizePoints2(C.longlong(pageSizeId))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue +} + +func (ptr *QPageSize) Swap(other QPageSize_ITF) { + if ptr.Pointer() != nil { + C.QPageSize_Swap(ptr.Pointer(), PointerFromQPageSize(other)) + } +} + +func (ptr *QPageSize) WindowsId() int { + if ptr.Pointer() != nil { + return int(int32(C.QPageSize_WindowsId(ptr.Pointer()))) + } + return 0 +} + +func QPageSize_WindowsId2(pageSizeId QPageSize__PageSizeId) int { + return int(int32(C.QPageSize_QPageSize_WindowsId2(C.longlong(pageSizeId)))) +} + +func (ptr *QPageSize) WindowsId2(pageSizeId QPageSize__PageSizeId) int { + return int(int32(C.QPageSize_QPageSize_WindowsId2(C.longlong(pageSizeId)))) +} + +func (ptr *QPageSize) DestroyQPageSize() { + if ptr.Pointer() != nil { + C.QPageSize_DestroyQPageSize(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPagedPaintDevice struct { + QPaintDevice +} + +type QPagedPaintDevice_ITF interface { + QPaintDevice_ITF + QPagedPaintDevice_PTR() *QPagedPaintDevice +} + +func (ptr *QPagedPaintDevice) QPagedPaintDevice_PTR() *QPagedPaintDevice { + return ptr +} + +func (ptr *QPagedPaintDevice) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPaintDevice_PTR().Pointer() + } + return nil +} + +func (ptr *QPagedPaintDevice) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPaintDevice_PTR().SetPointer(p) + } +} + +func PointerFromQPagedPaintDevice(ptr QPagedPaintDevice_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPagedPaintDevice_PTR().Pointer() + } + return nil +} + +func NewQPagedPaintDeviceFromPointer(ptr unsafe.Pointer) (n *QPagedPaintDevice) { + n = new(QPagedPaintDevice) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QPagedPaintDevice__PageSize +//QPagedPaintDevice::PageSize +type QPagedPaintDevice__PageSize int64 + +const ( + QPagedPaintDevice__A4 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(0) + QPagedPaintDevice__B5 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(1) + QPagedPaintDevice__Letter QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(2) + QPagedPaintDevice__Legal QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(3) + QPagedPaintDevice__Executive QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(4) + QPagedPaintDevice__A0 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(5) + QPagedPaintDevice__A1 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(6) + QPagedPaintDevice__A2 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(7) + QPagedPaintDevice__A3 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(8) + QPagedPaintDevice__A5 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(9) + QPagedPaintDevice__A6 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(10) + QPagedPaintDevice__A7 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(11) + QPagedPaintDevice__A8 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(12) + QPagedPaintDevice__A9 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(13) + QPagedPaintDevice__B0 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(14) + QPagedPaintDevice__B1 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(15) + QPagedPaintDevice__B10 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(16) + QPagedPaintDevice__B2 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(17) + QPagedPaintDevice__B3 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(18) + QPagedPaintDevice__B4 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(19) + QPagedPaintDevice__B6 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(20) + QPagedPaintDevice__B7 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(21) + QPagedPaintDevice__B8 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(22) + QPagedPaintDevice__B9 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(23) + QPagedPaintDevice__C5E QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(24) + QPagedPaintDevice__Comm10E QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(25) + QPagedPaintDevice__DLE QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(26) + QPagedPaintDevice__Folio QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(27) + QPagedPaintDevice__Ledger QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(28) + QPagedPaintDevice__Tabloid QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(29) + QPagedPaintDevice__Custom QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(30) + QPagedPaintDevice__A10 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(31) + QPagedPaintDevice__A3Extra QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(32) + QPagedPaintDevice__A4Extra QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(33) + QPagedPaintDevice__A4Plus QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(34) + QPagedPaintDevice__A4Small QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(35) + QPagedPaintDevice__A5Extra QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(36) + QPagedPaintDevice__B5Extra QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(37) + QPagedPaintDevice__JisB0 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(38) + QPagedPaintDevice__JisB1 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(39) + QPagedPaintDevice__JisB2 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(40) + QPagedPaintDevice__JisB3 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(41) + QPagedPaintDevice__JisB4 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(42) + QPagedPaintDevice__JisB5 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(43) + QPagedPaintDevice__JisB6 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(44) + QPagedPaintDevice__JisB7 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(45) + QPagedPaintDevice__JisB8 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(46) + QPagedPaintDevice__JisB9 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(47) + QPagedPaintDevice__JisB10 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(48) + QPagedPaintDevice__AnsiC QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(49) + QPagedPaintDevice__AnsiD QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(50) + QPagedPaintDevice__AnsiE QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(51) + QPagedPaintDevice__LegalExtra QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(52) + QPagedPaintDevice__LetterExtra QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(53) + QPagedPaintDevice__LetterPlus QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(54) + QPagedPaintDevice__LetterSmall QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(55) + QPagedPaintDevice__TabloidExtra QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(56) + QPagedPaintDevice__ArchA QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(57) + QPagedPaintDevice__ArchB QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(58) + QPagedPaintDevice__ArchC QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(59) + QPagedPaintDevice__ArchD QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(60) + QPagedPaintDevice__ArchE QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(61) + QPagedPaintDevice__Imperial7x9 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(62) + QPagedPaintDevice__Imperial8x10 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(63) + QPagedPaintDevice__Imperial9x11 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(64) + QPagedPaintDevice__Imperial9x12 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(65) + QPagedPaintDevice__Imperial10x11 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(66) + QPagedPaintDevice__Imperial10x13 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(67) + QPagedPaintDevice__Imperial10x14 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(68) + QPagedPaintDevice__Imperial12x11 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(69) + QPagedPaintDevice__Imperial15x11 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(70) + QPagedPaintDevice__ExecutiveStandard QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(71) + QPagedPaintDevice__Note QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(72) + QPagedPaintDevice__Quarto QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(73) + QPagedPaintDevice__Statement QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(74) + QPagedPaintDevice__SuperA QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(75) + QPagedPaintDevice__SuperB QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(76) + QPagedPaintDevice__Postcard QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(77) + QPagedPaintDevice__DoublePostcard QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(78) + QPagedPaintDevice__Prc16K QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(79) + QPagedPaintDevice__Prc32K QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(80) + QPagedPaintDevice__Prc32KBig QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(81) + QPagedPaintDevice__FanFoldUS QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(82) + QPagedPaintDevice__FanFoldGerman QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(83) + QPagedPaintDevice__FanFoldGermanLegal QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(84) + QPagedPaintDevice__EnvelopeB4 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(85) + QPagedPaintDevice__EnvelopeB5 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(86) + QPagedPaintDevice__EnvelopeB6 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(87) + QPagedPaintDevice__EnvelopeC0 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(88) + QPagedPaintDevice__EnvelopeC1 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(89) + QPagedPaintDevice__EnvelopeC2 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(90) + QPagedPaintDevice__EnvelopeC3 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(91) + QPagedPaintDevice__EnvelopeC4 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(92) + QPagedPaintDevice__EnvelopeC6 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(93) + QPagedPaintDevice__EnvelopeC65 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(94) + QPagedPaintDevice__EnvelopeC7 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(95) + QPagedPaintDevice__Envelope9 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(96) + QPagedPaintDevice__Envelope11 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(97) + QPagedPaintDevice__Envelope12 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(98) + QPagedPaintDevice__Envelope14 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(99) + QPagedPaintDevice__EnvelopeMonarch QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(100) + QPagedPaintDevice__EnvelopePersonal QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(101) + QPagedPaintDevice__EnvelopeChou3 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(102) + QPagedPaintDevice__EnvelopeChou4 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(103) + QPagedPaintDevice__EnvelopeInvite QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(104) + QPagedPaintDevice__EnvelopeItalian QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(105) + QPagedPaintDevice__EnvelopeKaku2 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(106) + QPagedPaintDevice__EnvelopeKaku3 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(107) + QPagedPaintDevice__EnvelopePrc1 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(108) + QPagedPaintDevice__EnvelopePrc2 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(109) + QPagedPaintDevice__EnvelopePrc3 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(110) + QPagedPaintDevice__EnvelopePrc4 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(111) + QPagedPaintDevice__EnvelopePrc5 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(112) + QPagedPaintDevice__EnvelopePrc6 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(113) + QPagedPaintDevice__EnvelopePrc7 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(114) + QPagedPaintDevice__EnvelopePrc8 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(115) + QPagedPaintDevice__EnvelopePrc9 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(116) + QPagedPaintDevice__EnvelopePrc10 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(117) + QPagedPaintDevice__EnvelopeYou4 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(118) + QPagedPaintDevice__LastPageSize QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(QPagedPaintDevice__EnvelopeYou4) + QPagedPaintDevice__NPageSize QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(QPagedPaintDevice__LastPageSize) + QPagedPaintDevice__NPaperSize QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(QPagedPaintDevice__LastPageSize) + QPagedPaintDevice__AnsiA QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(QPagedPaintDevice__Letter) + QPagedPaintDevice__AnsiB QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(QPagedPaintDevice__Ledger) + QPagedPaintDevice__EnvelopeC5 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(QPagedPaintDevice__C5E) + QPagedPaintDevice__EnvelopeDL QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(QPagedPaintDevice__DLE) + QPagedPaintDevice__Envelope10 QPagedPaintDevice__PageSize = QPagedPaintDevice__PageSize(QPagedPaintDevice__Comm10E) +) + +//go:generate stringer -type=QPagedPaintDevice__PdfVersion +//QPagedPaintDevice::PdfVersion +type QPagedPaintDevice__PdfVersion int64 + +const ( + QPagedPaintDevice__PdfVersion_1_4 QPagedPaintDevice__PdfVersion = QPagedPaintDevice__PdfVersion(0) + QPagedPaintDevice__PdfVersion_A1b QPagedPaintDevice__PdfVersion = QPagedPaintDevice__PdfVersion(1) + QPagedPaintDevice__PdfVersion_1_6 QPagedPaintDevice__PdfVersion = QPagedPaintDevice__PdfVersion(2) +) + +//export callbackQPagedPaintDevice_NewPage +func callbackQPagedPaintDevice_NewPage(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "newPage"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QPagedPaintDevice) ConnectNewPage(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "newPage"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "newPage", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "newPage", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPagedPaintDevice) DisconnectNewPage() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "newPage") + } +} + +func (ptr *QPagedPaintDevice) NewPage() bool { + if ptr.Pointer() != nil { + return int8(C.QPagedPaintDevice_NewPage(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPagedPaintDevice) PageLayout() *QPageLayout { + if ptr.Pointer() != nil { + tmpValue := NewQPageLayoutFromPointer(C.QPagedPaintDevice_PageLayout(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPageLayout).DestroyQPageLayout) + return tmpValue + } + return nil +} + +func (ptr *QPagedPaintDevice) PageSize() QPagedPaintDevice__PageSize { + if ptr.Pointer() != nil { + return QPagedPaintDevice__PageSize(C.QPagedPaintDevice_PageSize(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPagedPaintDevice) PageSizeMM() *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QPagedPaintDevice_PageSizeMM(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QPagedPaintDevice) SetPageLayout(newPageLayout QPageLayout_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPagedPaintDevice_SetPageLayout(ptr.Pointer(), PointerFromQPageLayout(newPageLayout))) != 0 + } + return false +} + +func (ptr *QPagedPaintDevice) SetPageMargins(margins core.QMarginsF_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPagedPaintDevice_SetPageMargins(ptr.Pointer(), core.PointerFromQMarginsF(margins))) != 0 + } + return false +} + +func (ptr *QPagedPaintDevice) SetPageMargins2(margins core.QMarginsF_ITF, units QPageLayout__Unit) bool { + if ptr.Pointer() != nil { + return int8(C.QPagedPaintDevice_SetPageMargins2(ptr.Pointer(), core.PointerFromQMarginsF(margins), C.longlong(units))) != 0 + } + return false +} + +func (ptr *QPagedPaintDevice) SetPageOrientation(orientation QPageLayout__Orientation) bool { + if ptr.Pointer() != nil { + return int8(C.QPagedPaintDevice_SetPageOrientation(ptr.Pointer(), C.longlong(orientation))) != 0 + } + return false +} + +func (ptr *QPagedPaintDevice) SetPageSize(pageSize QPageSize_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPagedPaintDevice_SetPageSize(ptr.Pointer(), PointerFromQPageSize(pageSize))) != 0 + } + return false +} + +//export callbackQPagedPaintDevice_SetPageSize2 +func callbackQPagedPaintDevice_SetPageSize2(ptr unsafe.Pointer, size C.longlong) { + if signal := qt.GetSignal(ptr, "setPageSize2"); signal != nil { + (*(*func(QPagedPaintDevice__PageSize))(signal))(QPagedPaintDevice__PageSize(size)) + } else { + NewQPagedPaintDeviceFromPointer(ptr).SetPageSize2Default(QPagedPaintDevice__PageSize(size)) + } +} + +func (ptr *QPagedPaintDevice) ConnectSetPageSize2(f func(size QPagedPaintDevice__PageSize)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setPageSize2"); signal != nil { + f := func(size QPagedPaintDevice__PageSize) { + (*(*func(QPagedPaintDevice__PageSize))(signal))(size) + f(size) + } + qt.ConnectSignal(ptr.Pointer(), "setPageSize2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setPageSize2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPagedPaintDevice) DisconnectSetPageSize2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setPageSize2") + } +} + +func (ptr *QPagedPaintDevice) SetPageSize2(size QPagedPaintDevice__PageSize) { + if ptr.Pointer() != nil { + C.QPagedPaintDevice_SetPageSize2(ptr.Pointer(), C.longlong(size)) + } +} + +func (ptr *QPagedPaintDevice) SetPageSize2Default(size QPagedPaintDevice__PageSize) { + if ptr.Pointer() != nil { + C.QPagedPaintDevice_SetPageSize2Default(ptr.Pointer(), C.longlong(size)) + } +} + +//export callbackQPagedPaintDevice_SetPageSizeMM +func callbackQPagedPaintDevice_SetPageSizeMM(ptr unsafe.Pointer, size unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setPageSizeMM"); signal != nil { + (*(*func(*core.QSizeF))(signal))(core.NewQSizeFFromPointer(size)) + } else { + NewQPagedPaintDeviceFromPointer(ptr).SetPageSizeMMDefault(core.NewQSizeFFromPointer(size)) + } +} + +func (ptr *QPagedPaintDevice) ConnectSetPageSizeMM(f func(size *core.QSizeF)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setPageSizeMM"); signal != nil { + f := func(size *core.QSizeF) { + (*(*func(*core.QSizeF))(signal))(size) + f(size) + } + qt.ConnectSignal(ptr.Pointer(), "setPageSizeMM", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setPageSizeMM", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPagedPaintDevice) DisconnectSetPageSizeMM() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setPageSizeMM") + } +} + +func (ptr *QPagedPaintDevice) SetPageSizeMM(size core.QSizeF_ITF) { + if ptr.Pointer() != nil { + C.QPagedPaintDevice_SetPageSizeMM(ptr.Pointer(), core.PointerFromQSizeF(size)) + } +} + +func (ptr *QPagedPaintDevice) SetPageSizeMMDefault(size core.QSizeF_ITF) { + if ptr.Pointer() != nil { + C.QPagedPaintDevice_SetPageSizeMMDefault(ptr.Pointer(), core.PointerFromQSizeF(size)) + } +} + +//export callbackQPagedPaintDevice_DestroyQPagedPaintDevice +func callbackQPagedPaintDevice_DestroyQPagedPaintDevice(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPagedPaintDevice"); signal != nil { + (*(*func())(signal))() + } else { + NewQPagedPaintDeviceFromPointer(ptr).DestroyQPagedPaintDeviceDefault() + } +} + +func (ptr *QPagedPaintDevice) ConnectDestroyQPagedPaintDevice(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPagedPaintDevice"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPagedPaintDevice", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPagedPaintDevice", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPagedPaintDevice) DisconnectDestroyQPagedPaintDevice() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPagedPaintDevice") + } +} + +func (ptr *QPagedPaintDevice) DestroyQPagedPaintDevice() { + if ptr.Pointer() != nil { + C.QPagedPaintDevice_DestroyQPagedPaintDevice(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPagedPaintDevice) DestroyQPagedPaintDeviceDefault() { + if ptr.Pointer() != nil { + C.QPagedPaintDevice_DestroyQPagedPaintDeviceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQPagedPaintDevice_PaintEngine +func callbackQPagedPaintDevice_PaintEngine(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "paintEngine"); signal != nil { + return PointerFromQPaintEngine((*(*func() *QPaintEngine)(signal))()) + } + + return PointerFromQPaintEngine(NewQPagedPaintDeviceFromPointer(ptr).PaintEngineDefault()) +} + +func (ptr *QPagedPaintDevice) PaintEngine() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPagedPaintDevice_PaintEngine(ptr.Pointer())) + } + return nil +} + +func (ptr *QPagedPaintDevice) PaintEngineDefault() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPagedPaintDevice_PaintEngineDefault(ptr.Pointer())) + } + return nil +} + +type QPaintDevice struct { + ptr unsafe.Pointer +} + +type QPaintDevice_ITF interface { + QPaintDevice_PTR() *QPaintDevice +} + +func (ptr *QPaintDevice) QPaintDevice_PTR() *QPaintDevice { + return ptr +} + +func (ptr *QPaintDevice) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPaintDevice) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPaintDevice(ptr QPaintDevice_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPaintDevice_PTR().Pointer() + } + return nil +} + +func NewQPaintDeviceFromPointer(ptr unsafe.Pointer) (n *QPaintDevice) { + n = new(QPaintDevice) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QPaintDevice__PaintDeviceMetric +//QPaintDevice::PaintDeviceMetric +type QPaintDevice__PaintDeviceMetric int64 + +const ( + QPaintDevice__PdmWidth QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(1) + QPaintDevice__PdmHeight QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(2) + QPaintDevice__PdmWidthMM QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(3) + QPaintDevice__PdmHeightMM QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(4) + QPaintDevice__PdmNumColors QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(5) + QPaintDevice__PdmDepth QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(6) + QPaintDevice__PdmDpiX QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(7) + QPaintDevice__PdmDpiY QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(8) + QPaintDevice__PdmPhysicalDpiX QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(9) + QPaintDevice__PdmPhysicalDpiY QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(10) + QPaintDevice__PdmDevicePixelRatio QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(11) + QPaintDevice__PdmDevicePixelRatioScaled QPaintDevice__PaintDeviceMetric = QPaintDevice__PaintDeviceMetric(12) +) + +func NewQPaintDevice() *QPaintDevice { + return NewQPaintDeviceFromPointer(C.QPaintDevice_NewQPaintDevice()) +} + +func (ptr *QPaintDevice) ColorCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_ColorCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPaintDevice) Depth() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_Depth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPaintDevice) DevicePixelRatio() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_DevicePixelRatio(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPaintDevice) DevicePixelRatioF() float64 { + if ptr.Pointer() != nil { + return float64(C.QPaintDevice_DevicePixelRatioF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPaintDevice) Height() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_Height(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPaintDevice) HeightMM() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_HeightMM(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPaintDevice) LogicalDpiX() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_LogicalDpiX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPaintDevice) LogicalDpiY() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_LogicalDpiY(ptr.Pointer()))) + } + return 0 +} + +//export callbackQPaintDevice_Metric +func callbackQPaintDevice_Metric(ptr unsafe.Pointer, metric C.longlong) C.int { + if signal := qt.GetSignal(ptr, "metric"); signal != nil { + return C.int(int32((*(*func(QPaintDevice__PaintDeviceMetric) int)(signal))(QPaintDevice__PaintDeviceMetric(metric)))) + } + + return C.int(int32(NewQPaintDeviceFromPointer(ptr).MetricDefault(QPaintDevice__PaintDeviceMetric(metric)))) +} + +func (ptr *QPaintDevice) ConnectMetric(f func(metric QPaintDevice__PaintDeviceMetric) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "metric"); signal != nil { + f := func(metric QPaintDevice__PaintDeviceMetric) int { + (*(*func(QPaintDevice__PaintDeviceMetric) int)(signal))(metric) + return f(metric) + } + qt.ConnectSignal(ptr.Pointer(), "metric", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "metric", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintDevice) DisconnectMetric() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "metric") + } +} + +func (ptr *QPaintDevice) Metric(metric QPaintDevice__PaintDeviceMetric) int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_Metric(ptr.Pointer(), C.longlong(metric)))) + } + return 0 +} + +func (ptr *QPaintDevice) MetricDefault(metric QPaintDevice__PaintDeviceMetric) int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_MetricDefault(ptr.Pointer(), C.longlong(metric)))) + } + return 0 +} + +//export callbackQPaintDevice_PaintEngine +func callbackQPaintDevice_PaintEngine(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "paintEngine"); signal != nil { + return PointerFromQPaintEngine((*(*func() *QPaintEngine)(signal))()) + } + + return PointerFromQPaintEngine(NewQPaintEngine(0)) +} + +func (ptr *QPaintDevice) ConnectPaintEngine(f func() *QPaintEngine) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "paintEngine"); signal != nil { + f := func() *QPaintEngine { + (*(*func() *QPaintEngine)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "paintEngine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "paintEngine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintDevice) DisconnectPaintEngine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "paintEngine") + } +} + +func (ptr *QPaintDevice) PaintEngine() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPaintDevice_PaintEngine(ptr.Pointer())) + } + return nil +} + +func (ptr *QPaintDevice) PaintingActive() bool { + if ptr.Pointer() != nil { + return int8(C.QPaintDevice_PaintingActive(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPaintDevice) PhysicalDpiX() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_PhysicalDpiX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPaintDevice) PhysicalDpiY() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_PhysicalDpiY(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPaintDevice) Width() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_Width(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPaintDevice) WidthMM() int { + if ptr.Pointer() != nil { + return int(int32(C.QPaintDevice_WidthMM(ptr.Pointer()))) + } + return 0 +} + +//export callbackQPaintDevice_DestroyQPaintDevice +func callbackQPaintDevice_DestroyQPaintDevice(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPaintDevice"); signal != nil { + (*(*func())(signal))() + } else { + NewQPaintDeviceFromPointer(ptr).DestroyQPaintDeviceDefault() + } +} + +func (ptr *QPaintDevice) ConnectDestroyQPaintDevice(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPaintDevice"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPaintDevice", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPaintDevice", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintDevice) DisconnectDestroyQPaintDevice() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPaintDevice") + } +} + +func (ptr *QPaintDevice) DestroyQPaintDevice() { + if ptr.Pointer() != nil { + C.QPaintDevice_DestroyQPaintDevice(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QPaintDevice) DestroyQPaintDeviceDefault() { + if ptr.Pointer() != nil { + C.QPaintDevice_DestroyQPaintDeviceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QPaintDeviceWindow struct { + QWindow + QPaintDevice +} + +type QPaintDeviceWindow_ITF interface { + QWindow_ITF + QPaintDevice_ITF + QPaintDeviceWindow_PTR() *QPaintDeviceWindow +} + +func (ptr *QPaintDeviceWindow) QPaintDeviceWindow_PTR() *QPaintDeviceWindow { + return ptr +} + +func (ptr *QPaintDeviceWindow) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QWindow_PTR().Pointer() + } + return nil +} + +func (ptr *QPaintDeviceWindow) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QWindow_PTR().SetPointer(p) + ptr.QPaintDevice_PTR().SetPointer(p) + } +} + +func PointerFromQPaintDeviceWindow(ptr QPaintDeviceWindow_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPaintDeviceWindow_PTR().Pointer() + } + return nil +} + +func NewQPaintDeviceWindowFromPointer(ptr unsafe.Pointer) (n *QPaintDeviceWindow) { + n = new(QPaintDeviceWindow) + n.SetPointer(ptr) + return +} + +//export callbackQPaintDeviceWindow_PaintEvent +func callbackQPaintDeviceWindow_PaintEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "paintEvent"); signal != nil { + (*(*func(*QPaintEvent))(signal))(NewQPaintEventFromPointer(event)) + } else { + NewQPaintDeviceWindowFromPointer(ptr).PaintEventDefault(NewQPaintEventFromPointer(event)) + } +} + +func (ptr *QPaintDeviceWindow) ConnectPaintEvent(f func(event *QPaintEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "paintEvent"); signal != nil { + f := func(event *QPaintEvent) { + (*(*func(*QPaintEvent))(signal))(event) + f(event) + } + qt.ConnectSignal(ptr.Pointer(), "paintEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "paintEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintDeviceWindow) DisconnectPaintEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "paintEvent") + } +} + +func (ptr *QPaintDeviceWindow) PaintEvent(event QPaintEvent_ITF) { + if ptr.Pointer() != nil { + C.QPaintDeviceWindow_PaintEvent(ptr.Pointer(), PointerFromQPaintEvent(event)) + } +} + +func (ptr *QPaintDeviceWindow) PaintEventDefault(event QPaintEvent_ITF) { + if ptr.Pointer() != nil { + C.QPaintDeviceWindow_PaintEventDefault(ptr.Pointer(), PointerFromQPaintEvent(event)) + } +} + +func (ptr *QPaintDeviceWindow) Update(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPaintDeviceWindow_Update(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +func (ptr *QPaintDeviceWindow) Update2(region QRegion_ITF) { + if ptr.Pointer() != nil { + C.QPaintDeviceWindow_Update2(ptr.Pointer(), PointerFromQRegion(region)) + } +} + +//export callbackQPaintDeviceWindow_Update3 +func callbackQPaintDeviceWindow_Update3(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "update3"); signal != nil { + (*(*func())(signal))() + } else { + NewQPaintDeviceWindowFromPointer(ptr).Update3Default() + } +} + +func (ptr *QPaintDeviceWindow) ConnectUpdate3(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "update3"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "update3", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "update3", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintDeviceWindow) DisconnectUpdate3() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "update3") + } +} + +func (ptr *QPaintDeviceWindow) Update3() { + if ptr.Pointer() != nil { + C.QPaintDeviceWindow_Update3(ptr.Pointer()) + } +} + +func (ptr *QPaintDeviceWindow) Update3Default() { + if ptr.Pointer() != nil { + C.QPaintDeviceWindow_Update3Default(ptr.Pointer()) + } +} + +//export callbackQPaintDeviceWindow_PaintEngine +func callbackQPaintDeviceWindow_PaintEngine(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "paintEngine"); signal != nil { + return PointerFromQPaintEngine((*(*func() *QPaintEngine)(signal))()) + } + + return PointerFromQPaintEngine(NewQPaintDeviceWindowFromPointer(ptr).PaintEngineDefault()) +} + +func (ptr *QPaintDeviceWindow) PaintEngine() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPaintDeviceWindow_PaintEngine(ptr.Pointer())) + } + return nil +} + +func (ptr *QPaintDeviceWindow) PaintEngineDefault() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPaintDeviceWindow_PaintEngineDefault(ptr.Pointer())) + } + return nil +} + +type QPaintEngine struct { + ptr unsafe.Pointer +} + +type QPaintEngine_ITF interface { + QPaintEngine_PTR() *QPaintEngine +} + +func (ptr *QPaintEngine) QPaintEngine_PTR() *QPaintEngine { + return ptr +} + +func (ptr *QPaintEngine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPaintEngine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPaintEngine(ptr QPaintEngine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPaintEngine_PTR().Pointer() + } + return nil +} + +func NewQPaintEngineFromPointer(ptr unsafe.Pointer) (n *QPaintEngine) { + n = new(QPaintEngine) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QPaintEngine__PaintEngineFeature +//QPaintEngine::PaintEngineFeature +type QPaintEngine__PaintEngineFeature int64 + +const ( + QPaintEngine__PrimitiveTransform QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000001) + QPaintEngine__PatternTransform QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000002) + QPaintEngine__PixmapTransform QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000004) + QPaintEngine__PatternBrush QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000008) + QPaintEngine__LinearGradientFill QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000010) + QPaintEngine__RadialGradientFill QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000020) + QPaintEngine__ConicalGradientFill QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000040) + QPaintEngine__AlphaBlend QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000080) + QPaintEngine__PorterDuff QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000100) + QPaintEngine__PainterPaths QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000200) + QPaintEngine__Antialiasing QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000400) + QPaintEngine__BrushStroke QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00000800) + QPaintEngine__ConstantOpacity QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00001000) + QPaintEngine__MaskedBrush QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00002000) + QPaintEngine__PerspectiveTransform QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00004000) + QPaintEngine__BlendModes QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00008000) + QPaintEngine__ObjectBoundingModeGradients QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00010000) + QPaintEngine__RasterOpModes QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x00020000) + QPaintEngine__PaintOutsidePaintEvent QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0x20000000) + QPaintEngine__AllFeatures QPaintEngine__PaintEngineFeature = QPaintEngine__PaintEngineFeature(0xffffffff) +) + +//go:generate stringer -type=QPaintEngine__DirtyFlag +//QPaintEngine::DirtyFlag +type QPaintEngine__DirtyFlag int64 + +const ( + QPaintEngine__DirtyPen QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0001) + QPaintEngine__DirtyBrush QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0002) + QPaintEngine__DirtyBrushOrigin QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0004) + QPaintEngine__DirtyFont QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0008) + QPaintEngine__DirtyBackground QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0010) + QPaintEngine__DirtyBackgroundMode QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0020) + QPaintEngine__DirtyTransform QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0040) + QPaintEngine__DirtyClipRegion QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0080) + QPaintEngine__DirtyClipPath QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0100) + QPaintEngine__DirtyHints QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0200) + QPaintEngine__DirtyCompositionMode QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0400) + QPaintEngine__DirtyClipEnabled QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x0800) + QPaintEngine__DirtyOpacity QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0x1000) + QPaintEngine__AllDirty QPaintEngine__DirtyFlag = QPaintEngine__DirtyFlag(0xffff) +) + +//go:generate stringer -type=QPaintEngine__PolygonDrawMode +//QPaintEngine::PolygonDrawMode +type QPaintEngine__PolygonDrawMode int64 + +const ( + QPaintEngine__OddEvenMode QPaintEngine__PolygonDrawMode = QPaintEngine__PolygonDrawMode(0) + QPaintEngine__WindingMode QPaintEngine__PolygonDrawMode = QPaintEngine__PolygonDrawMode(1) + QPaintEngine__ConvexMode QPaintEngine__PolygonDrawMode = QPaintEngine__PolygonDrawMode(2) + QPaintEngine__PolylineMode QPaintEngine__PolygonDrawMode = QPaintEngine__PolygonDrawMode(3) +) + +//go:generate stringer -type=QPaintEngine__Type +//QPaintEngine::Type +type QPaintEngine__Type int64 + +const ( + QPaintEngine__X11 QPaintEngine__Type = QPaintEngine__Type(0) + QPaintEngine__Windows QPaintEngine__Type = QPaintEngine__Type(1) + QPaintEngine__QuickDraw QPaintEngine__Type = QPaintEngine__Type(2) + QPaintEngine__CoreGraphics QPaintEngine__Type = QPaintEngine__Type(3) + QPaintEngine__MacPrinter QPaintEngine__Type = QPaintEngine__Type(4) + QPaintEngine__QWindowSystem QPaintEngine__Type = QPaintEngine__Type(5) + QPaintEngine__PostScript QPaintEngine__Type = QPaintEngine__Type(6) + QPaintEngine__OpenGL QPaintEngine__Type = QPaintEngine__Type(7) + QPaintEngine__Picture QPaintEngine__Type = QPaintEngine__Type(8) + QPaintEngine__SVG QPaintEngine__Type = QPaintEngine__Type(9) + QPaintEngine__Raster QPaintEngine__Type = QPaintEngine__Type(10) + QPaintEngine__Direct3D QPaintEngine__Type = QPaintEngine__Type(11) + QPaintEngine__Pdf QPaintEngine__Type = QPaintEngine__Type(12) + QPaintEngine__OpenVG QPaintEngine__Type = QPaintEngine__Type(13) + QPaintEngine__OpenGL2 QPaintEngine__Type = QPaintEngine__Type(14) + QPaintEngine__PaintBuffer QPaintEngine__Type = QPaintEngine__Type(15) + QPaintEngine__Blitter QPaintEngine__Type = QPaintEngine__Type(16) + QPaintEngine__Direct2D QPaintEngine__Type = QPaintEngine__Type(17) + QPaintEngine__User QPaintEngine__Type = QPaintEngine__Type(50) + QPaintEngine__MaxUser QPaintEngine__Type = QPaintEngine__Type(100) +) + +func NewQPaintEngine(caps QPaintEngine__PaintEngineFeature) *QPaintEngine { + return NewQPaintEngineFromPointer(C.QPaintEngine_NewQPaintEngine(C.longlong(caps))) +} + +//export callbackQPaintEngine_Begin +func callbackQPaintEngine_Begin(ptr unsafe.Pointer, pdev unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "begin"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QPaintDevice) bool)(signal))(NewQPaintDeviceFromPointer(pdev))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QPaintEngine) ConnectBegin(f func(pdev *QPaintDevice) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "begin"); signal != nil { + f := func(pdev *QPaintDevice) bool { + (*(*func(*QPaintDevice) bool)(signal))(pdev) + return f(pdev) + } + qt.ConnectSignal(ptr.Pointer(), "begin", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "begin", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectBegin() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "begin") + } +} + +func (ptr *QPaintEngine) Begin(pdev QPaintDevice_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPaintEngine_Begin(ptr.Pointer(), PointerFromQPaintDevice(pdev))) != 0 + } + return false +} + +//export callbackQPaintEngine_DrawEllipse +func callbackQPaintEngine_DrawEllipse(ptr unsafe.Pointer, rect unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "drawEllipse"); signal != nil { + (*(*func(*core.QRectF))(signal))(core.NewQRectFFromPointer(rect)) + } else { + NewQPaintEngineFromPointer(ptr).DrawEllipseDefault(core.NewQRectFFromPointer(rect)) + } +} + +func (ptr *QPaintEngine) ConnectDrawEllipse(f func(rect *core.QRectF)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawEllipse"); signal != nil { + f := func(rect *core.QRectF) { + (*(*func(*core.QRectF))(signal))(rect) + f(rect) + } + qt.ConnectSignal(ptr.Pointer(), "drawEllipse", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawEllipse", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawEllipse() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawEllipse") + } +} + +func (ptr *QPaintEngine) DrawEllipse(rect core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawEllipse(ptr.Pointer(), core.PointerFromQRectF(rect)) + } +} + +func (ptr *QPaintEngine) DrawEllipseDefault(rect core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawEllipseDefault(ptr.Pointer(), core.PointerFromQRectF(rect)) + } +} + +//export callbackQPaintEngine_DrawEllipse2 +func callbackQPaintEngine_DrawEllipse2(ptr unsafe.Pointer, rect unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "drawEllipse2"); signal != nil { + (*(*func(*core.QRect))(signal))(core.NewQRectFromPointer(rect)) + } else { + NewQPaintEngineFromPointer(ptr).DrawEllipse2Default(core.NewQRectFromPointer(rect)) + } +} + +func (ptr *QPaintEngine) ConnectDrawEllipse2(f func(rect *core.QRect)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawEllipse2"); signal != nil { + f := func(rect *core.QRect) { + (*(*func(*core.QRect))(signal))(rect) + f(rect) + } + qt.ConnectSignal(ptr.Pointer(), "drawEllipse2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawEllipse2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawEllipse2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawEllipse2") + } +} + +func (ptr *QPaintEngine) DrawEllipse2(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawEllipse2(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +func (ptr *QPaintEngine) DrawEllipse2Default(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawEllipse2Default(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +//export callbackQPaintEngine_DrawImage +func callbackQPaintEngine_DrawImage(ptr unsafe.Pointer, rectangle unsafe.Pointer, image unsafe.Pointer, sr unsafe.Pointer, flags C.longlong) { + if signal := qt.GetSignal(ptr, "drawImage"); signal != nil { + (*(*func(*core.QRectF, *QImage, *core.QRectF, core.Qt__ImageConversionFlag))(signal))(core.NewQRectFFromPointer(rectangle), NewQImageFromPointer(image), core.NewQRectFFromPointer(sr), core.Qt__ImageConversionFlag(flags)) + } else { + NewQPaintEngineFromPointer(ptr).DrawImageDefault(core.NewQRectFFromPointer(rectangle), NewQImageFromPointer(image), core.NewQRectFFromPointer(sr), core.Qt__ImageConversionFlag(flags)) + } +} + +func (ptr *QPaintEngine) ConnectDrawImage(f func(rectangle *core.QRectF, image *QImage, sr *core.QRectF, flags core.Qt__ImageConversionFlag)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawImage"); signal != nil { + f := func(rectangle *core.QRectF, image *QImage, sr *core.QRectF, flags core.Qt__ImageConversionFlag) { + (*(*func(*core.QRectF, *QImage, *core.QRectF, core.Qt__ImageConversionFlag))(signal))(rectangle, image, sr, flags) + f(rectangle, image, sr, flags) + } + qt.ConnectSignal(ptr.Pointer(), "drawImage", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawImage", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawImage() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawImage") + } +} + +func (ptr *QPaintEngine) DrawImage(rectangle core.QRectF_ITF, image QImage_ITF, sr core.QRectF_ITF, flags core.Qt__ImageConversionFlag) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawImage(ptr.Pointer(), core.PointerFromQRectF(rectangle), PointerFromQImage(image), core.PointerFromQRectF(sr), C.longlong(flags)) + } +} + +func (ptr *QPaintEngine) DrawImageDefault(rectangle core.QRectF_ITF, image QImage_ITF, sr core.QRectF_ITF, flags core.Qt__ImageConversionFlag) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawImageDefault(ptr.Pointer(), core.PointerFromQRectF(rectangle), PointerFromQImage(image), core.PointerFromQRectF(sr), C.longlong(flags)) + } +} + +//export callbackQPaintEngine_DrawLines +func callbackQPaintEngine_DrawLines(ptr unsafe.Pointer, lines unsafe.Pointer, lineCount C.int) { + if signal := qt.GetSignal(ptr, "drawLines"); signal != nil { + (*(*func(*core.QLineF, int))(signal))(core.NewQLineFFromPointer(lines), int(int32(lineCount))) + } else { + NewQPaintEngineFromPointer(ptr).DrawLinesDefault(core.NewQLineFFromPointer(lines), int(int32(lineCount))) + } +} + +func (ptr *QPaintEngine) ConnectDrawLines(f func(lines *core.QLineF, lineCount int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawLines"); signal != nil { + f := func(lines *core.QLineF, lineCount int) { + (*(*func(*core.QLineF, int))(signal))(lines, lineCount) + f(lines, lineCount) + } + qt.ConnectSignal(ptr.Pointer(), "drawLines", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawLines", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawLines() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawLines") + } +} + +func (ptr *QPaintEngine) DrawLines(lines core.QLineF_ITF, lineCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawLines(ptr.Pointer(), core.PointerFromQLineF(lines), C.int(int32(lineCount))) + } +} + +func (ptr *QPaintEngine) DrawLinesDefault(lines core.QLineF_ITF, lineCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawLinesDefault(ptr.Pointer(), core.PointerFromQLineF(lines), C.int(int32(lineCount))) + } +} + +//export callbackQPaintEngine_DrawLines2 +func callbackQPaintEngine_DrawLines2(ptr unsafe.Pointer, lines unsafe.Pointer, lineCount C.int) { + if signal := qt.GetSignal(ptr, "drawLines2"); signal != nil { + (*(*func(*core.QLine, int))(signal))(core.NewQLineFromPointer(lines), int(int32(lineCount))) + } else { + NewQPaintEngineFromPointer(ptr).DrawLines2Default(core.NewQLineFromPointer(lines), int(int32(lineCount))) + } +} + +func (ptr *QPaintEngine) ConnectDrawLines2(f func(lines *core.QLine, lineCount int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawLines2"); signal != nil { + f := func(lines *core.QLine, lineCount int) { + (*(*func(*core.QLine, int))(signal))(lines, lineCount) + f(lines, lineCount) + } + qt.ConnectSignal(ptr.Pointer(), "drawLines2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawLines2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawLines2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawLines2") + } +} + +func (ptr *QPaintEngine) DrawLines2(lines core.QLine_ITF, lineCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawLines2(ptr.Pointer(), core.PointerFromQLine(lines), C.int(int32(lineCount))) + } +} + +func (ptr *QPaintEngine) DrawLines2Default(lines core.QLine_ITF, lineCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawLines2Default(ptr.Pointer(), core.PointerFromQLine(lines), C.int(int32(lineCount))) + } +} + +//export callbackQPaintEngine_DrawPath +func callbackQPaintEngine_DrawPath(ptr unsafe.Pointer, path unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "drawPath"); signal != nil { + (*(*func(*QPainterPath))(signal))(NewQPainterPathFromPointer(path)) + } else { + NewQPaintEngineFromPointer(ptr).DrawPathDefault(NewQPainterPathFromPointer(path)) + } +} + +func (ptr *QPaintEngine) ConnectDrawPath(f func(path *QPainterPath)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawPath"); signal != nil { + f := func(path *QPainterPath) { + (*(*func(*QPainterPath))(signal))(path) + f(path) + } + qt.ConnectSignal(ptr.Pointer(), "drawPath", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawPath", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawPath() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawPath") + } +} + +func (ptr *QPaintEngine) DrawPath(path QPainterPath_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPath(ptr.Pointer(), PointerFromQPainterPath(path)) + } +} + +func (ptr *QPaintEngine) DrawPathDefault(path QPainterPath_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPathDefault(ptr.Pointer(), PointerFromQPainterPath(path)) + } +} + +//export callbackQPaintEngine_DrawPixmap +func callbackQPaintEngine_DrawPixmap(ptr unsafe.Pointer, r unsafe.Pointer, pm unsafe.Pointer, sr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "drawPixmap"); signal != nil { + (*(*func(*core.QRectF, *QPixmap, *core.QRectF))(signal))(core.NewQRectFFromPointer(r), NewQPixmapFromPointer(pm), core.NewQRectFFromPointer(sr)) + } + +} + +func (ptr *QPaintEngine) ConnectDrawPixmap(f func(r *core.QRectF, pm *QPixmap, sr *core.QRectF)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawPixmap"); signal != nil { + f := func(r *core.QRectF, pm *QPixmap, sr *core.QRectF) { + (*(*func(*core.QRectF, *QPixmap, *core.QRectF))(signal))(r, pm, sr) + f(r, pm, sr) + } + qt.ConnectSignal(ptr.Pointer(), "drawPixmap", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawPixmap", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawPixmap() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawPixmap") + } +} + +func (ptr *QPaintEngine) DrawPixmap(r core.QRectF_ITF, pm QPixmap_ITF, sr core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPixmap(ptr.Pointer(), core.PointerFromQRectF(r), PointerFromQPixmap(pm), core.PointerFromQRectF(sr)) + } +} + +//export callbackQPaintEngine_DrawPoints +func callbackQPaintEngine_DrawPoints(ptr unsafe.Pointer, points unsafe.Pointer, pointCount C.int) { + if signal := qt.GetSignal(ptr, "drawPoints"); signal != nil { + (*(*func(*core.QPointF, int))(signal))(core.NewQPointFFromPointer(points), int(int32(pointCount))) + } else { + NewQPaintEngineFromPointer(ptr).DrawPointsDefault(core.NewQPointFFromPointer(points), int(int32(pointCount))) + } +} + +func (ptr *QPaintEngine) ConnectDrawPoints(f func(points *core.QPointF, pointCount int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawPoints"); signal != nil { + f := func(points *core.QPointF, pointCount int) { + (*(*func(*core.QPointF, int))(signal))(points, pointCount) + f(points, pointCount) + } + qt.ConnectSignal(ptr.Pointer(), "drawPoints", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawPoints", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawPoints() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawPoints") + } +} + +func (ptr *QPaintEngine) DrawPoints(points core.QPointF_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPoints(ptr.Pointer(), core.PointerFromQPointF(points), C.int(int32(pointCount))) + } +} + +func (ptr *QPaintEngine) DrawPointsDefault(points core.QPointF_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPointsDefault(ptr.Pointer(), core.PointerFromQPointF(points), C.int(int32(pointCount))) + } +} + +//export callbackQPaintEngine_DrawPoints2 +func callbackQPaintEngine_DrawPoints2(ptr unsafe.Pointer, points unsafe.Pointer, pointCount C.int) { + if signal := qt.GetSignal(ptr, "drawPoints2"); signal != nil { + (*(*func(*core.QPoint, int))(signal))(core.NewQPointFromPointer(points), int(int32(pointCount))) + } else { + NewQPaintEngineFromPointer(ptr).DrawPoints2Default(core.NewQPointFromPointer(points), int(int32(pointCount))) + } +} + +func (ptr *QPaintEngine) ConnectDrawPoints2(f func(points *core.QPoint, pointCount int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawPoints2"); signal != nil { + f := func(points *core.QPoint, pointCount int) { + (*(*func(*core.QPoint, int))(signal))(points, pointCount) + f(points, pointCount) + } + qt.ConnectSignal(ptr.Pointer(), "drawPoints2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawPoints2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawPoints2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawPoints2") + } +} + +func (ptr *QPaintEngine) DrawPoints2(points core.QPoint_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPoints2(ptr.Pointer(), core.PointerFromQPoint(points), C.int(int32(pointCount))) + } +} + +func (ptr *QPaintEngine) DrawPoints2Default(points core.QPoint_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPoints2Default(ptr.Pointer(), core.PointerFromQPoint(points), C.int(int32(pointCount))) + } +} + +//export callbackQPaintEngine_DrawPolygon +func callbackQPaintEngine_DrawPolygon(ptr unsafe.Pointer, points unsafe.Pointer, pointCount C.int, mode C.longlong) { + if signal := qt.GetSignal(ptr, "drawPolygon"); signal != nil { + (*(*func(*core.QPointF, int, QPaintEngine__PolygonDrawMode))(signal))(core.NewQPointFFromPointer(points), int(int32(pointCount)), QPaintEngine__PolygonDrawMode(mode)) + } else { + NewQPaintEngineFromPointer(ptr).DrawPolygonDefault(core.NewQPointFFromPointer(points), int(int32(pointCount)), QPaintEngine__PolygonDrawMode(mode)) + } +} + +func (ptr *QPaintEngine) ConnectDrawPolygon(f func(points *core.QPointF, pointCount int, mode QPaintEngine__PolygonDrawMode)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawPolygon"); signal != nil { + f := func(points *core.QPointF, pointCount int, mode QPaintEngine__PolygonDrawMode) { + (*(*func(*core.QPointF, int, QPaintEngine__PolygonDrawMode))(signal))(points, pointCount, mode) + f(points, pointCount, mode) + } + qt.ConnectSignal(ptr.Pointer(), "drawPolygon", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawPolygon", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawPolygon() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawPolygon") + } +} + +func (ptr *QPaintEngine) DrawPolygon(points core.QPointF_ITF, pointCount int, mode QPaintEngine__PolygonDrawMode) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPolygon(ptr.Pointer(), core.PointerFromQPointF(points), C.int(int32(pointCount)), C.longlong(mode)) + } +} + +func (ptr *QPaintEngine) DrawPolygonDefault(points core.QPointF_ITF, pointCount int, mode QPaintEngine__PolygonDrawMode) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPolygonDefault(ptr.Pointer(), core.PointerFromQPointF(points), C.int(int32(pointCount)), C.longlong(mode)) + } +} + +//export callbackQPaintEngine_DrawPolygon2 +func callbackQPaintEngine_DrawPolygon2(ptr unsafe.Pointer, points unsafe.Pointer, pointCount C.int, mode C.longlong) { + if signal := qt.GetSignal(ptr, "drawPolygon2"); signal != nil { + (*(*func(*core.QPoint, int, QPaintEngine__PolygonDrawMode))(signal))(core.NewQPointFromPointer(points), int(int32(pointCount)), QPaintEngine__PolygonDrawMode(mode)) + } else { + NewQPaintEngineFromPointer(ptr).DrawPolygon2Default(core.NewQPointFromPointer(points), int(int32(pointCount)), QPaintEngine__PolygonDrawMode(mode)) + } +} + +func (ptr *QPaintEngine) ConnectDrawPolygon2(f func(points *core.QPoint, pointCount int, mode QPaintEngine__PolygonDrawMode)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawPolygon2"); signal != nil { + f := func(points *core.QPoint, pointCount int, mode QPaintEngine__PolygonDrawMode) { + (*(*func(*core.QPoint, int, QPaintEngine__PolygonDrawMode))(signal))(points, pointCount, mode) + f(points, pointCount, mode) + } + qt.ConnectSignal(ptr.Pointer(), "drawPolygon2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawPolygon2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawPolygon2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawPolygon2") + } +} + +func (ptr *QPaintEngine) DrawPolygon2(points core.QPoint_ITF, pointCount int, mode QPaintEngine__PolygonDrawMode) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPolygon2(ptr.Pointer(), core.PointerFromQPoint(points), C.int(int32(pointCount)), C.longlong(mode)) + } +} + +func (ptr *QPaintEngine) DrawPolygon2Default(points core.QPoint_ITF, pointCount int, mode QPaintEngine__PolygonDrawMode) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawPolygon2Default(ptr.Pointer(), core.PointerFromQPoint(points), C.int(int32(pointCount)), C.longlong(mode)) + } +} + +//export callbackQPaintEngine_DrawRects +func callbackQPaintEngine_DrawRects(ptr unsafe.Pointer, rects unsafe.Pointer, rectCount C.int) { + if signal := qt.GetSignal(ptr, "drawRects"); signal != nil { + (*(*func(*core.QRectF, int))(signal))(core.NewQRectFFromPointer(rects), int(int32(rectCount))) + } else { + NewQPaintEngineFromPointer(ptr).DrawRectsDefault(core.NewQRectFFromPointer(rects), int(int32(rectCount))) + } +} + +func (ptr *QPaintEngine) ConnectDrawRects(f func(rects *core.QRectF, rectCount int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawRects"); signal != nil { + f := func(rects *core.QRectF, rectCount int) { + (*(*func(*core.QRectF, int))(signal))(rects, rectCount) + f(rects, rectCount) + } + qt.ConnectSignal(ptr.Pointer(), "drawRects", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawRects", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawRects() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawRects") + } +} + +func (ptr *QPaintEngine) DrawRects(rects core.QRectF_ITF, rectCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawRects(ptr.Pointer(), core.PointerFromQRectF(rects), C.int(int32(rectCount))) + } +} + +func (ptr *QPaintEngine) DrawRectsDefault(rects core.QRectF_ITF, rectCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawRectsDefault(ptr.Pointer(), core.PointerFromQRectF(rects), C.int(int32(rectCount))) + } +} + +//export callbackQPaintEngine_DrawRects2 +func callbackQPaintEngine_DrawRects2(ptr unsafe.Pointer, rects unsafe.Pointer, rectCount C.int) { + if signal := qt.GetSignal(ptr, "drawRects2"); signal != nil { + (*(*func(*core.QRect, int))(signal))(core.NewQRectFromPointer(rects), int(int32(rectCount))) + } else { + NewQPaintEngineFromPointer(ptr).DrawRects2Default(core.NewQRectFromPointer(rects), int(int32(rectCount))) + } +} + +func (ptr *QPaintEngine) ConnectDrawRects2(f func(rects *core.QRect, rectCount int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawRects2"); signal != nil { + f := func(rects *core.QRect, rectCount int) { + (*(*func(*core.QRect, int))(signal))(rects, rectCount) + f(rects, rectCount) + } + qt.ConnectSignal(ptr.Pointer(), "drawRects2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawRects2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawRects2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawRects2") + } +} + +func (ptr *QPaintEngine) DrawRects2(rects core.QRect_ITF, rectCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawRects2(ptr.Pointer(), core.PointerFromQRect(rects), C.int(int32(rectCount))) + } +} + +func (ptr *QPaintEngine) DrawRects2Default(rects core.QRect_ITF, rectCount int) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawRects2Default(ptr.Pointer(), core.PointerFromQRect(rects), C.int(int32(rectCount))) + } +} + +//export callbackQPaintEngine_DrawTextItem +func callbackQPaintEngine_DrawTextItem(ptr unsafe.Pointer, p unsafe.Pointer, textItem unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "drawTextItem"); signal != nil { + (*(*func(*core.QPointF, *QTextItem))(signal))(core.NewQPointFFromPointer(p), NewQTextItemFromPointer(textItem)) + } else { + NewQPaintEngineFromPointer(ptr).DrawTextItemDefault(core.NewQPointFFromPointer(p), NewQTextItemFromPointer(textItem)) + } +} + +func (ptr *QPaintEngine) ConnectDrawTextItem(f func(p *core.QPointF, textItem *QTextItem)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawTextItem"); signal != nil { + f := func(p *core.QPointF, textItem *QTextItem) { + (*(*func(*core.QPointF, *QTextItem))(signal))(p, textItem) + f(p, textItem) + } + qt.ConnectSignal(ptr.Pointer(), "drawTextItem", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawTextItem", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawTextItem() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawTextItem") + } +} + +func (ptr *QPaintEngine) DrawTextItem(p core.QPointF_ITF, textItem QTextItem_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawTextItem(ptr.Pointer(), core.PointerFromQPointF(p), PointerFromQTextItem(textItem)) + } +} + +func (ptr *QPaintEngine) DrawTextItemDefault(p core.QPointF_ITF, textItem QTextItem_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawTextItemDefault(ptr.Pointer(), core.PointerFromQPointF(p), PointerFromQTextItem(textItem)) + } +} + +//export callbackQPaintEngine_DrawTiledPixmap +func callbackQPaintEngine_DrawTiledPixmap(ptr unsafe.Pointer, rect unsafe.Pointer, pixmap unsafe.Pointer, p unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "drawTiledPixmap"); signal != nil { + (*(*func(*core.QRectF, *QPixmap, *core.QPointF))(signal))(core.NewQRectFFromPointer(rect), NewQPixmapFromPointer(pixmap), core.NewQPointFFromPointer(p)) + } else { + NewQPaintEngineFromPointer(ptr).DrawTiledPixmapDefault(core.NewQRectFFromPointer(rect), NewQPixmapFromPointer(pixmap), core.NewQPointFFromPointer(p)) + } +} + +func (ptr *QPaintEngine) ConnectDrawTiledPixmap(f func(rect *core.QRectF, pixmap *QPixmap, p *core.QPointF)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawTiledPixmap"); signal != nil { + f := func(rect *core.QRectF, pixmap *QPixmap, p *core.QPointF) { + (*(*func(*core.QRectF, *QPixmap, *core.QPointF))(signal))(rect, pixmap, p) + f(rect, pixmap, p) + } + qt.ConnectSignal(ptr.Pointer(), "drawTiledPixmap", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawTiledPixmap", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDrawTiledPixmap() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawTiledPixmap") + } +} + +func (ptr *QPaintEngine) DrawTiledPixmap(rect core.QRectF_ITF, pixmap QPixmap_ITF, p core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawTiledPixmap(ptr.Pointer(), core.PointerFromQRectF(rect), PointerFromQPixmap(pixmap), core.PointerFromQPointF(p)) + } +} + +func (ptr *QPaintEngine) DrawTiledPixmapDefault(rect core.QRectF_ITF, pixmap QPixmap_ITF, p core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_DrawTiledPixmapDefault(ptr.Pointer(), core.PointerFromQRectF(rect), PointerFromQPixmap(pixmap), core.PointerFromQPointF(p)) + } +} + +//export callbackQPaintEngine_End +func callbackQPaintEngine_End(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "end"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QPaintEngine) ConnectEnd(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "end"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "end", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "end", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectEnd() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "end") + } +} + +func (ptr *QPaintEngine) End() bool { + if ptr.Pointer() != nil { + return int8(C.QPaintEngine_End(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPaintEngine) HasFeature(feature QPaintEngine__PaintEngineFeature) bool { + if ptr.Pointer() != nil { + return int8(C.QPaintEngine_HasFeature(ptr.Pointer(), C.longlong(feature))) != 0 + } + return false +} + +func (ptr *QPaintEngine) IsActive() bool { + if ptr.Pointer() != nil { + return int8(C.QPaintEngine_IsActive(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPaintEngine) PaintDevice() *QPaintDevice { + if ptr.Pointer() != nil { + return NewQPaintDeviceFromPointer(C.QPaintEngine_PaintDevice(ptr.Pointer())) + } + return nil +} + +func (ptr *QPaintEngine) Painter() *QPainter { + if ptr.Pointer() != nil { + return NewQPainterFromPointer(C.QPaintEngine_Painter(ptr.Pointer())) + } + return nil +} + +func (ptr *QPaintEngine) SetActive(state bool) { + if ptr.Pointer() != nil { + C.QPaintEngine_SetActive(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(state)))) + } +} + +//export callbackQPaintEngine_Type +func callbackQPaintEngine_Type(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "type"); signal != nil { + return C.longlong((*(*func() QPaintEngine__Type)(signal))()) + } + + return C.longlong(0) +} + +func (ptr *QPaintEngine) ConnectType(f func() QPaintEngine__Type) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "type"); signal != nil { + f := func() QPaintEngine__Type { + (*(*func() QPaintEngine__Type)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "type", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "type", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectType() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "type") + } +} + +func (ptr *QPaintEngine) Type() QPaintEngine__Type { + if ptr.Pointer() != nil { + return QPaintEngine__Type(C.QPaintEngine_Type(ptr.Pointer())) + } + return 0 +} + +//export callbackQPaintEngine_UpdateState +func callbackQPaintEngine_UpdateState(ptr unsafe.Pointer, state unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "updateState"); signal != nil { + (*(*func(*QPaintEngineState))(signal))(NewQPaintEngineStateFromPointer(state)) + } + +} + +func (ptr *QPaintEngine) ConnectUpdateState(f func(state *QPaintEngineState)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateState"); signal != nil { + f := func(state *QPaintEngineState) { + (*(*func(*QPaintEngineState))(signal))(state) + f(state) + } + qt.ConnectSignal(ptr.Pointer(), "updateState", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateState", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectUpdateState() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateState") + } +} + +func (ptr *QPaintEngine) UpdateState(state QPaintEngineState_ITF) { + if ptr.Pointer() != nil { + C.QPaintEngine_UpdateState(ptr.Pointer(), PointerFromQPaintEngineState(state)) + } +} + +//export callbackQPaintEngine_DestroyQPaintEngine +func callbackQPaintEngine_DestroyQPaintEngine(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPaintEngine"); signal != nil { + (*(*func())(signal))() + } else { + NewQPaintEngineFromPointer(ptr).DestroyQPaintEngineDefault() + } +} + +func (ptr *QPaintEngine) ConnectDestroyQPaintEngine(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPaintEngine"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPaintEngine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPaintEngine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPaintEngine) DisconnectDestroyQPaintEngine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPaintEngine") + } +} + +func (ptr *QPaintEngine) DestroyQPaintEngine() { + if ptr.Pointer() != nil { + C.QPaintEngine_DestroyQPaintEngine(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QPaintEngine) DestroyQPaintEngineDefault() { + if ptr.Pointer() != nil { + C.QPaintEngine_DestroyQPaintEngineDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QPaintEngineState struct { + ptr unsafe.Pointer +} + +type QPaintEngineState_ITF interface { + QPaintEngineState_PTR() *QPaintEngineState +} + +func (ptr *QPaintEngineState) QPaintEngineState_PTR() *QPaintEngineState { + return ptr +} + +func (ptr *QPaintEngineState) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPaintEngineState) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPaintEngineState(ptr QPaintEngineState_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPaintEngineState_PTR().Pointer() + } + return nil +} + +func NewQPaintEngineStateFromPointer(ptr unsafe.Pointer) (n *QPaintEngineState) { + n = new(QPaintEngineState) + n.SetPointer(ptr) + return +} + +func (ptr *QPaintEngineState) DestroyQPaintEngineState() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPaintEngineState) BackgroundBrush() *QBrush { + if ptr.Pointer() != nil { + tmpValue := NewQBrushFromPointer(C.QPaintEngineState_BackgroundBrush(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue + } + return nil +} + +func (ptr *QPaintEngineState) BackgroundMode() core.Qt__BGMode { + if ptr.Pointer() != nil { + return core.Qt__BGMode(C.QPaintEngineState_BackgroundMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPaintEngineState) Brush() *QBrush { + if ptr.Pointer() != nil { + tmpValue := NewQBrushFromPointer(C.QPaintEngineState_Brush(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue + } + return nil +} + +func (ptr *QPaintEngineState) BrushNeedsResolving() bool { + if ptr.Pointer() != nil { + return int8(C.QPaintEngineState_BrushNeedsResolving(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPaintEngineState) BrushOrigin() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QPaintEngineState_BrushOrigin(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QPaintEngineState) ClipOperation() core.Qt__ClipOperation { + if ptr.Pointer() != nil { + return core.Qt__ClipOperation(C.QPaintEngineState_ClipOperation(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPaintEngineState) ClipPath() *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPaintEngineState_ClipPath(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPaintEngineState) ClipRegion() *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QPaintEngineState_ClipRegion(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QPaintEngineState) CompositionMode() QPainter__CompositionMode { + if ptr.Pointer() != nil { + return QPainter__CompositionMode(C.QPaintEngineState_CompositionMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPaintEngineState) Font() *QFont { + if ptr.Pointer() != nil { + tmpValue := NewQFontFromPointer(C.QPaintEngineState_Font(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue + } + return nil +} + +func (ptr *QPaintEngineState) IsClipEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QPaintEngineState_IsClipEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPaintEngineState) Opacity() float64 { + if ptr.Pointer() != nil { + return float64(C.QPaintEngineState_Opacity(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPaintEngineState) Painter() *QPainter { + if ptr.Pointer() != nil { + return NewQPainterFromPointer(C.QPaintEngineState_Painter(ptr.Pointer())) + } + return nil +} + +func (ptr *QPaintEngineState) Pen() *QPen { + if ptr.Pointer() != nil { + tmpValue := NewQPenFromPointer(C.QPaintEngineState_Pen(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPen).DestroyQPen) + return tmpValue + } + return nil +} + +func (ptr *QPaintEngineState) PenNeedsResolving() bool { + if ptr.Pointer() != nil { + return int8(C.QPaintEngineState_PenNeedsResolving(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPaintEngineState) RenderHints() QPainter__RenderHint { + if ptr.Pointer() != nil { + return QPainter__RenderHint(C.QPaintEngineState_RenderHints(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPaintEngineState) State() QPaintEngine__DirtyFlag { + if ptr.Pointer() != nil { + return QPaintEngine__DirtyFlag(C.QPaintEngineState_State(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPaintEngineState) Transform() *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QPaintEngineState_Transform(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +type QPaintEvent struct { + core.QEvent +} + +type QPaintEvent_ITF interface { + core.QEvent_ITF + QPaintEvent_PTR() *QPaintEvent +} + +func (ptr *QPaintEvent) QPaintEvent_PTR() *QPaintEvent { + return ptr +} + +func (ptr *QPaintEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QPaintEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQPaintEvent(ptr QPaintEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPaintEvent_PTR().Pointer() + } + return nil +} + +func NewQPaintEventFromPointer(ptr unsafe.Pointer) (n *QPaintEvent) { + n = new(QPaintEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QPaintEvent) DestroyQPaintEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQPaintEvent(paintRegion QRegion_ITF) *QPaintEvent { + tmpValue := NewQPaintEventFromPointer(C.QPaintEvent_NewQPaintEvent(PointerFromQRegion(paintRegion))) + runtime.SetFinalizer(tmpValue, (*QPaintEvent).DestroyQPaintEvent) + return tmpValue +} + +func NewQPaintEvent2(paintRect core.QRect_ITF) *QPaintEvent { + tmpValue := NewQPaintEventFromPointer(C.QPaintEvent_NewQPaintEvent2(core.PointerFromQRect(paintRect))) + runtime.SetFinalizer(tmpValue, (*QPaintEvent).DestroyQPaintEvent) + return tmpValue +} + +func (ptr *QPaintEvent) Rect() *core.QRect { + if ptr.Pointer() != nil { + return core.NewQRectFromPointer(C.QPaintEvent_Rect(ptr.Pointer())) + } + return nil +} + +func (ptr *QPaintEvent) Region() *QRegion { + if ptr.Pointer() != nil { + return NewQRegionFromPointer(C.QPaintEvent_Region(ptr.Pointer())) + } + return nil +} + +type QPainter struct { + ptr unsafe.Pointer +} + +type QPainter_ITF interface { + QPainter_PTR() *QPainter +} + +func (ptr *QPainter) QPainter_PTR() *QPainter { + return ptr +} + +func (ptr *QPainter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPainter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPainter(ptr QPainter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPainter_PTR().Pointer() + } + return nil +} + +func NewQPainterFromPointer(ptr unsafe.Pointer) (n *QPainter) { + n = new(QPainter) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QPainter__RenderHint +//QPainter::RenderHint +type QPainter__RenderHint int64 + +const ( + QPainter__Antialiasing QPainter__RenderHint = QPainter__RenderHint(0x01) + QPainter__TextAntialiasing QPainter__RenderHint = QPainter__RenderHint(0x02) + QPainter__SmoothPixmapTransform QPainter__RenderHint = QPainter__RenderHint(0x04) + QPainter__HighQualityAntialiasing QPainter__RenderHint = QPainter__RenderHint(0x08) + QPainter__NonCosmeticDefaultPen QPainter__RenderHint = QPainter__RenderHint(0x10) + QPainter__Qt4CompatiblePainting QPainter__RenderHint = QPainter__RenderHint(0x20) + QPainter__LosslessImageRendering QPainter__RenderHint = QPainter__RenderHint(0x40) +) + +//go:generate stringer -type=QPainter__PixmapFragmentHint +//QPainter::PixmapFragmentHint +type QPainter__PixmapFragmentHint int64 + +const ( + QPainter__OpaqueHint QPainter__PixmapFragmentHint = QPainter__PixmapFragmentHint(0x01) +) + +//go:generate stringer -type=QPainter__CompositionMode +//QPainter::CompositionMode +type QPainter__CompositionMode int64 + +const ( + QPainter__CompositionMode_SourceOver QPainter__CompositionMode = QPainter__CompositionMode(0) + QPainter__CompositionMode_DestinationOver QPainter__CompositionMode = QPainter__CompositionMode(1) + QPainter__CompositionMode_Clear QPainter__CompositionMode = QPainter__CompositionMode(2) + QPainter__CompositionMode_Source QPainter__CompositionMode = QPainter__CompositionMode(3) + QPainter__CompositionMode_Destination QPainter__CompositionMode = QPainter__CompositionMode(4) + QPainter__CompositionMode_SourceIn QPainter__CompositionMode = QPainter__CompositionMode(5) + QPainter__CompositionMode_DestinationIn QPainter__CompositionMode = QPainter__CompositionMode(6) + QPainter__CompositionMode_SourceOut QPainter__CompositionMode = QPainter__CompositionMode(7) + QPainter__CompositionMode_DestinationOut QPainter__CompositionMode = QPainter__CompositionMode(8) + QPainter__CompositionMode_SourceAtop QPainter__CompositionMode = QPainter__CompositionMode(9) + QPainter__CompositionMode_DestinationAtop QPainter__CompositionMode = QPainter__CompositionMode(10) + QPainter__CompositionMode_Xor QPainter__CompositionMode = QPainter__CompositionMode(11) + QPainter__CompositionMode_Plus QPainter__CompositionMode = QPainter__CompositionMode(12) + QPainter__CompositionMode_Multiply QPainter__CompositionMode = QPainter__CompositionMode(13) + QPainter__CompositionMode_Screen QPainter__CompositionMode = QPainter__CompositionMode(14) + QPainter__CompositionMode_Overlay QPainter__CompositionMode = QPainter__CompositionMode(15) + QPainter__CompositionMode_Darken QPainter__CompositionMode = QPainter__CompositionMode(16) + QPainter__CompositionMode_Lighten QPainter__CompositionMode = QPainter__CompositionMode(17) + QPainter__CompositionMode_ColorDodge QPainter__CompositionMode = QPainter__CompositionMode(18) + QPainter__CompositionMode_ColorBurn QPainter__CompositionMode = QPainter__CompositionMode(19) + QPainter__CompositionMode_HardLight QPainter__CompositionMode = QPainter__CompositionMode(20) + QPainter__CompositionMode_SoftLight QPainter__CompositionMode = QPainter__CompositionMode(21) + QPainter__CompositionMode_Difference QPainter__CompositionMode = QPainter__CompositionMode(22) + QPainter__CompositionMode_Exclusion QPainter__CompositionMode = QPainter__CompositionMode(23) + QPainter__RasterOp_SourceOrDestination QPainter__CompositionMode = QPainter__CompositionMode(24) + QPainter__RasterOp_SourceAndDestination QPainter__CompositionMode = QPainter__CompositionMode(25) + QPainter__RasterOp_SourceXorDestination QPainter__CompositionMode = QPainter__CompositionMode(26) + QPainter__RasterOp_NotSourceAndNotDestination QPainter__CompositionMode = QPainter__CompositionMode(27) + QPainter__RasterOp_NotSourceOrNotDestination QPainter__CompositionMode = QPainter__CompositionMode(28) + QPainter__RasterOp_NotSourceXorDestination QPainter__CompositionMode = QPainter__CompositionMode(29) + QPainter__RasterOp_NotSource QPainter__CompositionMode = QPainter__CompositionMode(30) + QPainter__RasterOp_NotSourceAndDestination QPainter__CompositionMode = QPainter__CompositionMode(31) + QPainter__RasterOp_SourceAndNotDestination QPainter__CompositionMode = QPainter__CompositionMode(32) + QPainter__RasterOp_NotSourceOrDestination QPainter__CompositionMode = QPainter__CompositionMode(33) + QPainter__RasterOp_SourceOrNotDestination QPainter__CompositionMode = QPainter__CompositionMode(34) + QPainter__RasterOp_ClearDestination QPainter__CompositionMode = QPainter__CompositionMode(35) + QPainter__RasterOp_SetDestination QPainter__CompositionMode = QPainter__CompositionMode(36) + QPainter__RasterOp_NotDestination QPainter__CompositionMode = QPainter__CompositionMode(37) +) + +func NewQPainter() *QPainter { + tmpValue := NewQPainterFromPointer(C.QPainter_NewQPainter()) + runtime.SetFinalizer(tmpValue, (*QPainter).DestroyQPainter) + return tmpValue +} + +func NewQPainter2(device QPaintDevice_ITF) *QPainter { + tmpValue := NewQPainterFromPointer(C.QPainter_NewQPainter2(PointerFromQPaintDevice(device))) + runtime.SetFinalizer(tmpValue, (*QPainter).DestroyQPainter) + return tmpValue +} + +func (ptr *QPainter) Background() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPainter_Background(ptr.Pointer())) + } + return nil +} + +func (ptr *QPainter) BackgroundMode() core.Qt__BGMode { + if ptr.Pointer() != nil { + return core.Qt__BGMode(C.QPainter_BackgroundMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainter) Begin(device QPaintDevice_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPainter_Begin(ptr.Pointer(), PointerFromQPaintDevice(device))) != 0 + } + return false +} + +func (ptr *QPainter) BeginNativePainting() { + if ptr.Pointer() != nil { + C.QPainter_BeginNativePainting(ptr.Pointer()) + } +} + +func (ptr *QPainter) BoundingRect(rectangle core.QRectF_ITF, flags int, text string) *core.QRectF { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFFromPointer(C.QPainter_BoundingRect(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPainter) BoundingRect2(rectangle core.QRect_ITF, flags int, text string) *core.QRect { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFromPointer(C.QPainter_BoundingRect2(ptr.Pointer(), core.PointerFromQRect(rectangle), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPainter) BoundingRect3(x int, y int, w int, h int, flags int, text string) *core.QRect { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFromPointer(C.QPainter_BoundingRect3(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(w)), C.int(int32(h)), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPainter) BoundingRect4(rectangle core.QRectF_ITF, text string, option QTextOption_ITF) *core.QRectF { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := core.NewQRectFFromPointer(C.QPainter_BoundingRect4(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, PointerFromQTextOption(option))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPainter) Brush() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPainter_Brush(ptr.Pointer())) + } + return nil +} + +func (ptr *QPainter) BrushOrigin() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QPainter_BrushOrigin(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QPainter) ClipBoundingRect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPainter_ClipBoundingRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPainter) ClipPath() *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPainter_ClipPath(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPainter) ClipRegion() *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QPainter_ClipRegion(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QPainter) CombinedTransform() *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QPainter_CombinedTransform(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QPainter) CompositionMode() QPainter__CompositionMode { + if ptr.Pointer() != nil { + return QPainter__CompositionMode(C.QPainter_CompositionMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainter) Device() *QPaintDevice { + if ptr.Pointer() != nil { + return NewQPaintDeviceFromPointer(C.QPainter_Device(ptr.Pointer())) + } + return nil +} + +func (ptr *QPainter) DeviceTransform() *QTransform { + if ptr.Pointer() != nil { + return NewQTransformFromPointer(C.QPainter_DeviceTransform(ptr.Pointer())) + } + return nil +} + +func (ptr *QPainter) DrawArc(rectangle core.QRectF_ITF, startAngle int, spanAngle int) { + if ptr.Pointer() != nil { + C.QPainter_DrawArc(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.int(int32(startAngle)), C.int(int32(spanAngle))) + } +} + +func (ptr *QPainter) DrawArc2(rectangle core.QRect_ITF, startAngle int, spanAngle int) { + if ptr.Pointer() != nil { + C.QPainter_DrawArc2(ptr.Pointer(), core.PointerFromQRect(rectangle), C.int(int32(startAngle)), C.int(int32(spanAngle))) + } +} + +func (ptr *QPainter) DrawArc3(x int, y int, width int, height int, startAngle int, spanAngle int) { + if ptr.Pointer() != nil { + C.QPainter_DrawArc3(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.int(int32(startAngle)), C.int(int32(spanAngle))) + } +} + +func (ptr *QPainter) DrawChord(rectangle core.QRectF_ITF, startAngle int, spanAngle int) { + if ptr.Pointer() != nil { + C.QPainter_DrawChord(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.int(int32(startAngle)), C.int(int32(spanAngle))) + } +} + +func (ptr *QPainter) DrawChord2(x int, y int, width int, height int, startAngle int, spanAngle int) { + if ptr.Pointer() != nil { + C.QPainter_DrawChord2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.int(int32(startAngle)), C.int(int32(spanAngle))) + } +} + +func (ptr *QPainter) DrawChord3(rectangle core.QRect_ITF, startAngle int, spanAngle int) { + if ptr.Pointer() != nil { + C.QPainter_DrawChord3(ptr.Pointer(), core.PointerFromQRect(rectangle), C.int(int32(startAngle)), C.int(int32(spanAngle))) + } +} + +func (ptr *QPainter) DrawConvexPolygon(points core.QPointF_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawConvexPolygon(ptr.Pointer(), core.PointerFromQPointF(points), C.int(int32(pointCount))) + } +} + +func (ptr *QPainter) DrawConvexPolygon2(polygon QPolygonF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawConvexPolygon2(ptr.Pointer(), PointerFromQPolygonF(polygon)) + } +} + +func (ptr *QPainter) DrawConvexPolygon3(points core.QPoint_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawConvexPolygon3(ptr.Pointer(), core.PointerFromQPoint(points), C.int(int32(pointCount))) + } +} + +func (ptr *QPainter) DrawConvexPolygon4(polygon QPolygon_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawConvexPolygon4(ptr.Pointer(), PointerFromQPolygon(polygon)) + } +} + +func (ptr *QPainter) DrawEllipse(rectangle core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawEllipse(ptr.Pointer(), core.PointerFromQRectF(rectangle)) + } +} + +func (ptr *QPainter) DrawEllipse2(rectangle core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawEllipse2(ptr.Pointer(), core.PointerFromQRect(rectangle)) + } +} + +func (ptr *QPainter) DrawEllipse3(x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QPainter_DrawEllipse3(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QPainter) DrawEllipse4(center core.QPointF_ITF, rx float64, ry float64) { + if ptr.Pointer() != nil { + C.QPainter_DrawEllipse4(ptr.Pointer(), core.PointerFromQPointF(center), C.double(rx), C.double(ry)) + } +} + +func (ptr *QPainter) DrawEllipse5(center core.QPoint_ITF, rx int, ry int) { + if ptr.Pointer() != nil { + C.QPainter_DrawEllipse5(ptr.Pointer(), core.PointerFromQPoint(center), C.int(int32(rx)), C.int(int32(ry))) + } +} + +func (ptr *QPainter) DrawGlyphRun(position core.QPointF_ITF, glyphs QGlyphRun_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawGlyphRun(ptr.Pointer(), core.PointerFromQPointF(position), PointerFromQGlyphRun(glyphs)) + } +} + +func (ptr *QPainter) DrawImage(target core.QRectF_ITF, image QImage_ITF, source core.QRectF_ITF, flags core.Qt__ImageConversionFlag) { + if ptr.Pointer() != nil { + C.QPainter_DrawImage(ptr.Pointer(), core.PointerFromQRectF(target), PointerFromQImage(image), core.PointerFromQRectF(source), C.longlong(flags)) + } +} + +func (ptr *QPainter) DrawImage2(target core.QRect_ITF, image QImage_ITF, source core.QRect_ITF, flags core.Qt__ImageConversionFlag) { + if ptr.Pointer() != nil { + C.QPainter_DrawImage2(ptr.Pointer(), core.PointerFromQRect(target), PointerFromQImage(image), core.PointerFromQRect(source), C.longlong(flags)) + } +} + +func (ptr *QPainter) DrawImage3(point core.QPointF_ITF, image QImage_ITF, source core.QRectF_ITF, flags core.Qt__ImageConversionFlag) { + if ptr.Pointer() != nil { + C.QPainter_DrawImage3(ptr.Pointer(), core.PointerFromQPointF(point), PointerFromQImage(image), core.PointerFromQRectF(source), C.longlong(flags)) + } +} + +func (ptr *QPainter) DrawImage4(point core.QPoint_ITF, image QImage_ITF, source core.QRect_ITF, flags core.Qt__ImageConversionFlag) { + if ptr.Pointer() != nil { + C.QPainter_DrawImage4(ptr.Pointer(), core.PointerFromQPoint(point), PointerFromQImage(image), core.PointerFromQRect(source), C.longlong(flags)) + } +} + +func (ptr *QPainter) DrawImage5(rectangle core.QRectF_ITF, image QImage_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawImage5(ptr.Pointer(), core.PointerFromQRectF(rectangle), PointerFromQImage(image)) + } +} + +func (ptr *QPainter) DrawImage6(rectangle core.QRect_ITF, image QImage_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawImage6(ptr.Pointer(), core.PointerFromQRect(rectangle), PointerFromQImage(image)) + } +} + +func (ptr *QPainter) DrawImage7(point core.QPointF_ITF, image QImage_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawImage7(ptr.Pointer(), core.PointerFromQPointF(point), PointerFromQImage(image)) + } +} + +func (ptr *QPainter) DrawImage8(point core.QPoint_ITF, image QImage_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawImage8(ptr.Pointer(), core.PointerFromQPoint(point), PointerFromQImage(image)) + } +} + +func (ptr *QPainter) DrawImage9(x int, y int, image QImage_ITF, sx int, sy int, sw int, sh int, flags core.Qt__ImageConversionFlag) { + if ptr.Pointer() != nil { + C.QPainter_DrawImage9(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), PointerFromQImage(image), C.int(int32(sx)), C.int(int32(sy)), C.int(int32(sw)), C.int(int32(sh)), C.longlong(flags)) + } +} + +func (ptr *QPainter) DrawLine(line core.QLineF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawLine(ptr.Pointer(), core.PointerFromQLineF(line)) + } +} + +func (ptr *QPainter) DrawLine2(line core.QLine_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawLine2(ptr.Pointer(), core.PointerFromQLine(line)) + } +} + +func (ptr *QPainter) DrawLine3(x1 int, y1 int, x2 int, y2 int) { + if ptr.Pointer() != nil { + C.QPainter_DrawLine3(ptr.Pointer(), C.int(int32(x1)), C.int(int32(y1)), C.int(int32(x2)), C.int(int32(y2))) + } +} + +func (ptr *QPainter) DrawLine4(p1 core.QPoint_ITF, p2 core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawLine4(ptr.Pointer(), core.PointerFromQPoint(p1), core.PointerFromQPoint(p2)) + } +} + +func (ptr *QPainter) DrawLine5(p1 core.QPointF_ITF, p2 core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawLine5(ptr.Pointer(), core.PointerFromQPointF(p1), core.PointerFromQPointF(p2)) + } +} + +func (ptr *QPainter) DrawLines(lines core.QLineF_ITF, lineCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawLines(ptr.Pointer(), core.PointerFromQLineF(lines), C.int(int32(lineCount))) + } +} + +func (ptr *QPainter) DrawLines2(lines []*core.QLineF) { + if ptr.Pointer() != nil { + C.QPainter_DrawLines2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQPainterFromPointer(NewQPainterFromPointer(nil).__drawLines_lines_newList2()) + for _, v := range lines { + tmpList.__drawLines_lines_setList2(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QPainter) DrawLines3(pointPairs core.QPointF_ITF, lineCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawLines3(ptr.Pointer(), core.PointerFromQPointF(pointPairs), C.int(int32(lineCount))) + } +} + +func (ptr *QPainter) DrawLines4(pointPairs []*core.QPointF) { + if ptr.Pointer() != nil { + C.QPainter_DrawLines4(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQPainterFromPointer(NewQPainterFromPointer(nil).__drawLines_pointPairs_newList4()) + for _, v := range pointPairs { + tmpList.__drawLines_pointPairs_setList4(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QPainter) DrawLines5(lines core.QLine_ITF, lineCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawLines5(ptr.Pointer(), core.PointerFromQLine(lines), C.int(int32(lineCount))) + } +} + +func (ptr *QPainter) DrawLines6(lines []*core.QLine) { + if ptr.Pointer() != nil { + C.QPainter_DrawLines6(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQPainterFromPointer(NewQPainterFromPointer(nil).__drawLines_lines_newList6()) + for _, v := range lines { + tmpList.__drawLines_lines_setList6(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QPainter) DrawLines7(pointPairs core.QPoint_ITF, lineCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawLines7(ptr.Pointer(), core.PointerFromQPoint(pointPairs), C.int(int32(lineCount))) + } +} + +func (ptr *QPainter) DrawLines8(pointPairs []*core.QPoint) { + if ptr.Pointer() != nil { + C.QPainter_DrawLines8(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQPainterFromPointer(NewQPainterFromPointer(nil).__drawLines_pointPairs_newList8()) + for _, v := range pointPairs { + tmpList.__drawLines_pointPairs_setList8(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QPainter) DrawPath(path QPainterPath_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPath(ptr.Pointer(), PointerFromQPainterPath(path)) + } +} + +func (ptr *QPainter) DrawPicture(point core.QPointF_ITF, picture QPicture_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPicture(ptr.Pointer(), core.PointerFromQPointF(point), PointerFromQPicture(picture)) + } +} + +func (ptr *QPainter) DrawPicture2(x int, y int, picture QPicture_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPicture2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), PointerFromQPicture(picture)) + } +} + +func (ptr *QPainter) DrawPicture3(point core.QPoint_ITF, picture QPicture_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPicture3(ptr.Pointer(), core.PointerFromQPoint(point), PointerFromQPicture(picture)) + } +} + +func (ptr *QPainter) DrawPie(rectangle core.QRectF_ITF, startAngle int, spanAngle int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPie(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.int(int32(startAngle)), C.int(int32(spanAngle))) + } +} + +func (ptr *QPainter) DrawPie2(x int, y int, width int, height int, startAngle int, spanAngle int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPie2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.int(int32(startAngle)), C.int(int32(spanAngle))) + } +} + +func (ptr *QPainter) DrawPie3(rectangle core.QRect_ITF, startAngle int, spanAngle int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPie3(ptr.Pointer(), core.PointerFromQRect(rectangle), C.int(int32(startAngle)), C.int(int32(spanAngle))) + } +} + +func (ptr *QPainter) DrawPixmap(target core.QRectF_ITF, pixmap QPixmap_ITF, source core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap(ptr.Pointer(), core.PointerFromQRectF(target), PointerFromQPixmap(pixmap), core.PointerFromQRectF(source)) + } +} + +func (ptr *QPainter) DrawPixmap2(target core.QRect_ITF, pixmap QPixmap_ITF, source core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap2(ptr.Pointer(), core.PointerFromQRect(target), PointerFromQPixmap(pixmap), core.PointerFromQRect(source)) + } +} + +func (ptr *QPainter) DrawPixmap3(x int, y int, w int, h int, pixmap QPixmap_ITF, sx int, sy int, sw int, sh int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap3(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(w)), C.int(int32(h)), PointerFromQPixmap(pixmap), C.int(int32(sx)), C.int(int32(sy)), C.int(int32(sw)), C.int(int32(sh))) + } +} + +func (ptr *QPainter) DrawPixmap4(x int, y int, pixmap QPixmap_ITF, sx int, sy int, sw int, sh int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap4(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), PointerFromQPixmap(pixmap), C.int(int32(sx)), C.int(int32(sy)), C.int(int32(sw)), C.int(int32(sh))) + } +} + +func (ptr *QPainter) DrawPixmap5(point core.QPointF_ITF, pixmap QPixmap_ITF, source core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap5(ptr.Pointer(), core.PointerFromQPointF(point), PointerFromQPixmap(pixmap), core.PointerFromQRectF(source)) + } +} + +func (ptr *QPainter) DrawPixmap6(point core.QPoint_ITF, pixmap QPixmap_ITF, source core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap6(ptr.Pointer(), core.PointerFromQPoint(point), PointerFromQPixmap(pixmap), core.PointerFromQRect(source)) + } +} + +func (ptr *QPainter) DrawPixmap7(point core.QPointF_ITF, pixmap QPixmap_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap7(ptr.Pointer(), core.PointerFromQPointF(point), PointerFromQPixmap(pixmap)) + } +} + +func (ptr *QPainter) DrawPixmap8(point core.QPoint_ITF, pixmap QPixmap_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap8(ptr.Pointer(), core.PointerFromQPoint(point), PointerFromQPixmap(pixmap)) + } +} + +func (ptr *QPainter) DrawPixmap9(x int, y int, pixmap QPixmap_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap9(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), PointerFromQPixmap(pixmap)) + } +} + +func (ptr *QPainter) DrawPixmap10(rectangle core.QRect_ITF, pixmap QPixmap_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap10(ptr.Pointer(), core.PointerFromQRect(rectangle), PointerFromQPixmap(pixmap)) + } +} + +func (ptr *QPainter) DrawPixmap11(x int, y int, width int, height int, pixmap QPixmap_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPixmap11(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), PointerFromQPixmap(pixmap)) + } +} + +func (ptr *QPainter) DrawPoint(position core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPoint(ptr.Pointer(), core.PointerFromQPointF(position)) + } +} + +func (ptr *QPainter) DrawPoint2(position core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPoint2(ptr.Pointer(), core.PointerFromQPoint(position)) + } +} + +func (ptr *QPainter) DrawPoint3(x int, y int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPoint3(ptr.Pointer(), C.int(int32(x)), C.int(int32(y))) + } +} + +func (ptr *QPainter) DrawPoints(points core.QPointF_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPoints(ptr.Pointer(), core.PointerFromQPointF(points), C.int(int32(pointCount))) + } +} + +func (ptr *QPainter) DrawPoints2(points QPolygonF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPoints2(ptr.Pointer(), PointerFromQPolygonF(points)) + } +} + +func (ptr *QPainter) DrawPoints3(points core.QPoint_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPoints3(ptr.Pointer(), core.PointerFromQPoint(points), C.int(int32(pointCount))) + } +} + +func (ptr *QPainter) DrawPoints4(points QPolygon_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPoints4(ptr.Pointer(), PointerFromQPolygon(points)) + } +} + +func (ptr *QPainter) DrawPolygon(points core.QPointF_ITF, pointCount int, fillRule core.Qt__FillRule) { + if ptr.Pointer() != nil { + C.QPainter_DrawPolygon(ptr.Pointer(), core.PointerFromQPointF(points), C.int(int32(pointCount)), C.longlong(fillRule)) + } +} + +func (ptr *QPainter) DrawPolygon2(points QPolygonF_ITF, fillRule core.Qt__FillRule) { + if ptr.Pointer() != nil { + C.QPainter_DrawPolygon2(ptr.Pointer(), PointerFromQPolygonF(points), C.longlong(fillRule)) + } +} + +func (ptr *QPainter) DrawPolygon3(points core.QPoint_ITF, pointCount int, fillRule core.Qt__FillRule) { + if ptr.Pointer() != nil { + C.QPainter_DrawPolygon3(ptr.Pointer(), core.PointerFromQPoint(points), C.int(int32(pointCount)), C.longlong(fillRule)) + } +} + +func (ptr *QPainter) DrawPolygon4(points QPolygon_ITF, fillRule core.Qt__FillRule) { + if ptr.Pointer() != nil { + C.QPainter_DrawPolygon4(ptr.Pointer(), PointerFromQPolygon(points), C.longlong(fillRule)) + } +} + +func (ptr *QPainter) DrawPolyline(points core.QPointF_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPolyline(ptr.Pointer(), core.PointerFromQPointF(points), C.int(int32(pointCount))) + } +} + +func (ptr *QPainter) DrawPolyline2(points QPolygonF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPolyline2(ptr.Pointer(), PointerFromQPolygonF(points)) + } +} + +func (ptr *QPainter) DrawPolyline3(points core.QPoint_ITF, pointCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawPolyline3(ptr.Pointer(), core.PointerFromQPoint(points), C.int(int32(pointCount))) + } +} + +func (ptr *QPainter) DrawPolyline4(points QPolygon_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawPolyline4(ptr.Pointer(), PointerFromQPolygon(points)) + } +} + +func (ptr *QPainter) DrawRect(rectangle core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawRect(ptr.Pointer(), core.PointerFromQRectF(rectangle)) + } +} + +func (ptr *QPainter) DrawRect2(x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QPainter_DrawRect2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QPainter) DrawRect3(rectangle core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawRect3(ptr.Pointer(), core.PointerFromQRect(rectangle)) + } +} + +func (ptr *QPainter) DrawRects(rectangles core.QRectF_ITF, rectCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawRects(ptr.Pointer(), core.PointerFromQRectF(rectangles), C.int(int32(rectCount))) + } +} + +func (ptr *QPainter) DrawRects2(rectangles []*core.QRectF) { + if ptr.Pointer() != nil { + C.QPainter_DrawRects2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQPainterFromPointer(NewQPainterFromPointer(nil).__drawRects_rectangles_newList2()) + for _, v := range rectangles { + tmpList.__drawRects_rectangles_setList2(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QPainter) DrawRects3(rectangles core.QRect_ITF, rectCount int) { + if ptr.Pointer() != nil { + C.QPainter_DrawRects3(ptr.Pointer(), core.PointerFromQRect(rectangles), C.int(int32(rectCount))) + } +} + +func (ptr *QPainter) DrawRects4(rectangles []*core.QRect) { + if ptr.Pointer() != nil { + C.QPainter_DrawRects4(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQPainterFromPointer(NewQPainterFromPointer(nil).__drawRects_rectangles_newList4()) + for _, v := range rectangles { + tmpList.__drawRects_rectangles_setList4(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QPainter) DrawRoundedRect(rect core.QRectF_ITF, xRadius float64, yRadius float64, mode core.Qt__SizeMode) { + if ptr.Pointer() != nil { + C.QPainter_DrawRoundedRect(ptr.Pointer(), core.PointerFromQRectF(rect), C.double(xRadius), C.double(yRadius), C.longlong(mode)) + } +} + +func (ptr *QPainter) DrawRoundedRect2(x int, y int, w int, h int, xRadius float64, yRadius float64, mode core.Qt__SizeMode) { + if ptr.Pointer() != nil { + C.QPainter_DrawRoundedRect2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(w)), C.int(int32(h)), C.double(xRadius), C.double(yRadius), C.longlong(mode)) + } +} + +func (ptr *QPainter) DrawRoundedRect3(rect core.QRect_ITF, xRadius float64, yRadius float64, mode core.Qt__SizeMode) { + if ptr.Pointer() != nil { + C.QPainter_DrawRoundedRect3(ptr.Pointer(), core.PointerFromQRect(rect), C.double(xRadius), C.double(yRadius), C.longlong(mode)) + } +} + +func (ptr *QPainter) DrawStaticText(topLeftPosition core.QPointF_ITF, staticText QStaticText_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawStaticText(ptr.Pointer(), core.PointerFromQPointF(topLeftPosition), PointerFromQStaticText(staticText)) + } +} + +func (ptr *QPainter) DrawStaticText2(topLeftPosition core.QPoint_ITF, staticText QStaticText_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawStaticText2(ptr.Pointer(), core.PointerFromQPoint(topLeftPosition), PointerFromQStaticText(staticText)) + } +} + +func (ptr *QPainter) DrawStaticText3(left int, top int, staticText QStaticText_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawStaticText3(ptr.Pointer(), C.int(int32(left)), C.int(int32(top)), PointerFromQStaticText(staticText)) + } +} + +func (ptr *QPainter) DrawText(position core.QPointF_ITF, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QPainter_DrawText(ptr.Pointer(), core.PointerFromQPointF(position), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QPainter) DrawText2(position core.QPoint_ITF, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QPainter_DrawText2(ptr.Pointer(), core.PointerFromQPoint(position), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QPainter) DrawText3(x int, y int, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QPainter_DrawText3(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QPainter) DrawText4(rectangle core.QRect_ITF, flags int, text string, boundingRect core.QRect_ITF) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QPainter_DrawText4(ptr.Pointer(), core.PointerFromQRect(rectangle), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, core.PointerFromQRect(boundingRect)) + } +} + +func (ptr *QPainter) DrawText5(x int, y int, width int, height int, flags int, text string, boundingRect core.QRect_ITF) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QPainter_DrawText5(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.int(int32(flags)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, core.PointerFromQRect(boundingRect)) + } +} + +func (ptr *QPainter) DrawText6(rectangle core.QRectF_ITF, text string, option QTextOption_ITF) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QPainter_DrawText6(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, PointerFromQTextOption(option)) + } +} + +func (ptr *QPainter) DrawTiledPixmap(rectangle core.QRectF_ITF, pixmap QPixmap_ITF, position core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawTiledPixmap(ptr.Pointer(), core.PointerFromQRectF(rectangle), PointerFromQPixmap(pixmap), core.PointerFromQPointF(position)) + } +} + +func (ptr *QPainter) DrawTiledPixmap2(x int, y int, width int, height int, pixmap QPixmap_ITF, sx int, sy int) { + if ptr.Pointer() != nil { + C.QPainter_DrawTiledPixmap2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), PointerFromQPixmap(pixmap), C.int(int32(sx)), C.int(int32(sy))) + } +} + +func (ptr *QPainter) DrawTiledPixmap3(rectangle core.QRect_ITF, pixmap QPixmap_ITF, position core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPainter_DrawTiledPixmap3(ptr.Pointer(), core.PointerFromQRect(rectangle), PointerFromQPixmap(pixmap), core.PointerFromQPoint(position)) + } +} + +func (ptr *QPainter) End() bool { + if ptr.Pointer() != nil { + return int8(C.QPainter_End(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPainter) EndNativePainting() { + if ptr.Pointer() != nil { + C.QPainter_EndNativePainting(ptr.Pointer()) + } +} + +func (ptr *QPainter) EraseRect(rectangle core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_EraseRect(ptr.Pointer(), core.PointerFromQRectF(rectangle)) + } +} + +func (ptr *QPainter) EraseRect2(x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QPainter_EraseRect2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QPainter) EraseRect3(rectangle core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPainter_EraseRect3(ptr.Pointer(), core.PointerFromQRect(rectangle)) + } +} + +func (ptr *QPainter) FillPath(path QPainterPath_ITF, brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPainter_FillPath(ptr.Pointer(), PointerFromQPainterPath(path), PointerFromQBrush(brush)) + } +} + +func (ptr *QPainter) FillRect(rectangle core.QRectF_ITF, brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPainter_FillRect(ptr.Pointer(), core.PointerFromQRectF(rectangle), PointerFromQBrush(brush)) + } +} + +func (ptr *QPainter) FillRect2(x int, y int, width int, height int, brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPainter_FillRect2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), PointerFromQBrush(brush)) + } +} + +func (ptr *QPainter) FillRect3(rectangle core.QRect_ITF, brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPainter_FillRect3(ptr.Pointer(), core.PointerFromQRect(rectangle), PointerFromQBrush(brush)) + } +} + +func (ptr *QPainter) FillRect4(rectangle core.QRectF_ITF, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QPainter_FillRect4(ptr.Pointer(), core.PointerFromQRectF(rectangle), PointerFromQColor(color)) + } +} + +func (ptr *QPainter) FillRect5(x int, y int, width int, height int, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QPainter_FillRect5(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), PointerFromQColor(color)) + } +} + +func (ptr *QPainter) FillRect6(rectangle core.QRect_ITF, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QPainter_FillRect6(ptr.Pointer(), core.PointerFromQRect(rectangle), PointerFromQColor(color)) + } +} + +func (ptr *QPainter) FillRect7(x int, y int, width int, height int, color core.Qt__GlobalColor) { + if ptr.Pointer() != nil { + C.QPainter_FillRect7(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.longlong(color)) + } +} + +func (ptr *QPainter) FillRect8(rectangle core.QRect_ITF, color core.Qt__GlobalColor) { + if ptr.Pointer() != nil { + C.QPainter_FillRect8(ptr.Pointer(), core.PointerFromQRect(rectangle), C.longlong(color)) + } +} + +func (ptr *QPainter) FillRect9(rectangle core.QRectF_ITF, color core.Qt__GlobalColor) { + if ptr.Pointer() != nil { + C.QPainter_FillRect9(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.longlong(color)) + } +} + +func (ptr *QPainter) FillRect10(x int, y int, width int, height int, style core.Qt__BrushStyle) { + if ptr.Pointer() != nil { + C.QPainter_FillRect10(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.longlong(style)) + } +} + +func (ptr *QPainter) FillRect11(rectangle core.QRect_ITF, style core.Qt__BrushStyle) { + if ptr.Pointer() != nil { + C.QPainter_FillRect11(ptr.Pointer(), core.PointerFromQRect(rectangle), C.longlong(style)) + } +} + +func (ptr *QPainter) FillRect12(rectangle core.QRectF_ITF, style core.Qt__BrushStyle) { + if ptr.Pointer() != nil { + C.QPainter_FillRect12(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.longlong(style)) + } +} + +func (ptr *QPainter) FillRect13(x int, y int, width int, height int, preset QGradient__Preset) { + if ptr.Pointer() != nil { + C.QPainter_FillRect13(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.longlong(preset)) + } +} + +func (ptr *QPainter) FillRect14(rectangle core.QRect_ITF, preset QGradient__Preset) { + if ptr.Pointer() != nil { + C.QPainter_FillRect14(ptr.Pointer(), core.PointerFromQRect(rectangle), C.longlong(preset)) + } +} + +func (ptr *QPainter) FillRect15(rectangle core.QRectF_ITF, preset QGradient__Preset) { + if ptr.Pointer() != nil { + C.QPainter_FillRect15(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.longlong(preset)) + } +} + +func (ptr *QPainter) Font() *QFont { + if ptr.Pointer() != nil { + return NewQFontFromPointer(C.QPainter_Font(ptr.Pointer())) + } + return nil +} + +func (ptr *QPainter) FontInfo() *QFontInfo { + if ptr.Pointer() != nil { + tmpValue := NewQFontInfoFromPointer(C.QPainter_FontInfo(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QFontInfo).DestroyQFontInfo) + return tmpValue + } + return nil +} + +func (ptr *QPainter) FontMetrics() *QFontMetrics { + if ptr.Pointer() != nil { + tmpValue := NewQFontMetricsFromPointer(C.QPainter_FontMetrics(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QFontMetrics).DestroyQFontMetrics) + return tmpValue + } + return nil +} + +func (ptr *QPainter) HasClipping() bool { + if ptr.Pointer() != nil { + return int8(C.QPainter_HasClipping(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPainter) IsActive() bool { + if ptr.Pointer() != nil { + return int8(C.QPainter_IsActive(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPainter) LayoutDirection() core.Qt__LayoutDirection { + if ptr.Pointer() != nil { + return core.Qt__LayoutDirection(C.QPainter_LayoutDirection(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainter) Opacity() float64 { + if ptr.Pointer() != nil { + return float64(C.QPainter_Opacity(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainter) PaintEngine() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPainter_PaintEngine(ptr.Pointer())) + } + return nil +} + +func (ptr *QPainter) Pen() *QPen { + if ptr.Pointer() != nil { + return NewQPenFromPointer(C.QPainter_Pen(ptr.Pointer())) + } + return nil +} + +func (ptr *QPainter) RenderHints() QPainter__RenderHint { + if ptr.Pointer() != nil { + return QPainter__RenderHint(C.QPainter_RenderHints(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainter) ResetTransform() { + if ptr.Pointer() != nil { + C.QPainter_ResetTransform(ptr.Pointer()) + } +} + +func (ptr *QPainter) Restore() { + if ptr.Pointer() != nil { + C.QPainter_Restore(ptr.Pointer()) + } +} + +func (ptr *QPainter) Rotate(angle float64) { + if ptr.Pointer() != nil { + C.QPainter_Rotate(ptr.Pointer(), C.double(angle)) + } +} + +func (ptr *QPainter) Save() { + if ptr.Pointer() != nil { + C.QPainter_Save(ptr.Pointer()) + } +} + +func (ptr *QPainter) Scale(sx float64, sy float64) { + if ptr.Pointer() != nil { + C.QPainter_Scale(ptr.Pointer(), C.double(sx), C.double(sy)) + } +} + +func (ptr *QPainter) SetBackground(brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPainter_SetBackground(ptr.Pointer(), PointerFromQBrush(brush)) + } +} + +func (ptr *QPainter) SetBackgroundMode(mode core.Qt__BGMode) { + if ptr.Pointer() != nil { + C.QPainter_SetBackgroundMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QPainter) SetBrush(brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPainter_SetBrush(ptr.Pointer(), PointerFromQBrush(brush)) + } +} + +func (ptr *QPainter) SetBrush2(style core.Qt__BrushStyle) { + if ptr.Pointer() != nil { + C.QPainter_SetBrush2(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QPainter) SetBrushOrigin(position core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_SetBrushOrigin(ptr.Pointer(), core.PointerFromQPointF(position)) + } +} + +func (ptr *QPainter) SetBrushOrigin2(x int, y int) { + if ptr.Pointer() != nil { + C.QPainter_SetBrushOrigin2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y))) + } +} + +func (ptr *QPainter) SetBrushOrigin3(position core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPainter_SetBrushOrigin3(ptr.Pointer(), core.PointerFromQPoint(position)) + } +} + +func (ptr *QPainter) SetClipPath(path QPainterPath_ITF, operation core.Qt__ClipOperation) { + if ptr.Pointer() != nil { + C.QPainter_SetClipPath(ptr.Pointer(), PointerFromQPainterPath(path), C.longlong(operation)) + } +} + +func (ptr *QPainter) SetClipRect(rectangle core.QRectF_ITF, operation core.Qt__ClipOperation) { + if ptr.Pointer() != nil { + C.QPainter_SetClipRect(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.longlong(operation)) + } +} + +func (ptr *QPainter) SetClipRect2(rectangle core.QRect_ITF, operation core.Qt__ClipOperation) { + if ptr.Pointer() != nil { + C.QPainter_SetClipRect2(ptr.Pointer(), core.PointerFromQRect(rectangle), C.longlong(operation)) + } +} + +func (ptr *QPainter) SetClipRect3(x int, y int, width int, height int, operation core.Qt__ClipOperation) { + if ptr.Pointer() != nil { + C.QPainter_SetClipRect3(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), C.longlong(operation)) + } +} + +func (ptr *QPainter) SetClipRegion(region QRegion_ITF, operation core.Qt__ClipOperation) { + if ptr.Pointer() != nil { + C.QPainter_SetClipRegion(ptr.Pointer(), PointerFromQRegion(region), C.longlong(operation)) + } +} + +func (ptr *QPainter) SetClipping(enable bool) { + if ptr.Pointer() != nil { + C.QPainter_SetClipping(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QPainter) SetCompositionMode(mode QPainter__CompositionMode) { + if ptr.Pointer() != nil { + C.QPainter_SetCompositionMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QPainter) SetFont(font QFont_ITF) { + if ptr.Pointer() != nil { + C.QPainter_SetFont(ptr.Pointer(), PointerFromQFont(font)) + } +} + +func (ptr *QPainter) SetLayoutDirection(direction core.Qt__LayoutDirection) { + if ptr.Pointer() != nil { + C.QPainter_SetLayoutDirection(ptr.Pointer(), C.longlong(direction)) + } +} + +func (ptr *QPainter) SetOpacity(opacity float64) { + if ptr.Pointer() != nil { + C.QPainter_SetOpacity(ptr.Pointer(), C.double(opacity)) + } +} + +func (ptr *QPainter) SetPen(pen QPen_ITF) { + if ptr.Pointer() != nil { + C.QPainter_SetPen(ptr.Pointer(), PointerFromQPen(pen)) + } +} + +func (ptr *QPainter) SetPen2(color QColor_ITF) { + if ptr.Pointer() != nil { + C.QPainter_SetPen2(ptr.Pointer(), PointerFromQColor(color)) + } +} + +func (ptr *QPainter) SetPen3(style core.Qt__PenStyle) { + if ptr.Pointer() != nil { + C.QPainter_SetPen3(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QPainter) SetRenderHint(hint QPainter__RenderHint, on bool) { + if ptr.Pointer() != nil { + C.QPainter_SetRenderHint(ptr.Pointer(), C.longlong(hint), C.char(int8(qt.GoBoolToInt(on)))) + } +} + +func (ptr *QPainter) SetRenderHints(hints QPainter__RenderHint, on bool) { + if ptr.Pointer() != nil { + C.QPainter_SetRenderHints(ptr.Pointer(), C.longlong(hints), C.char(int8(qt.GoBoolToInt(on)))) + } +} + +func (ptr *QPainter) SetTransform(transform QTransform_ITF, combine bool) { + if ptr.Pointer() != nil { + C.QPainter_SetTransform(ptr.Pointer(), PointerFromQTransform(transform), C.char(int8(qt.GoBoolToInt(combine)))) + } +} + +func (ptr *QPainter) SetViewTransformEnabled(enable bool) { + if ptr.Pointer() != nil { + C.QPainter_SetViewTransformEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QPainter) SetViewport(rectangle core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPainter_SetViewport(ptr.Pointer(), core.PointerFromQRect(rectangle)) + } +} + +func (ptr *QPainter) SetViewport2(x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QPainter_SetViewport2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QPainter) SetWindow(rectangle core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPainter_SetWindow(ptr.Pointer(), core.PointerFromQRect(rectangle)) + } +} + +func (ptr *QPainter) SetWindow2(x int, y int, width int, height int) { + if ptr.Pointer() != nil { + C.QPainter_SetWindow2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height))) + } +} + +func (ptr *QPainter) SetWorldMatrixEnabled(enable bool) { + if ptr.Pointer() != nil { + C.QPainter_SetWorldMatrixEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QPainter) SetWorldTransform(matrix QTransform_ITF, combine bool) { + if ptr.Pointer() != nil { + C.QPainter_SetWorldTransform(ptr.Pointer(), PointerFromQTransform(matrix), C.char(int8(qt.GoBoolToInt(combine)))) + } +} + +func (ptr *QPainter) Shear(sh float64, sv float64) { + if ptr.Pointer() != nil { + C.QPainter_Shear(ptr.Pointer(), C.double(sh), C.double(sv)) + } +} + +func (ptr *QPainter) StrokePath(path QPainterPath_ITF, pen QPen_ITF) { + if ptr.Pointer() != nil { + C.QPainter_StrokePath(ptr.Pointer(), PointerFromQPainterPath(path), PointerFromQPen(pen)) + } +} + +func (ptr *QPainter) TestRenderHint(hint QPainter__RenderHint) bool { + if ptr.Pointer() != nil { + return int8(C.QPainter_TestRenderHint(ptr.Pointer(), C.longlong(hint))) != 0 + } + return false +} + +func (ptr *QPainter) Transform() *QTransform { + if ptr.Pointer() != nil { + return NewQTransformFromPointer(C.QPainter_Transform(ptr.Pointer())) + } + return nil +} + +func (ptr *QPainter) Translate(offset core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainter_Translate(ptr.Pointer(), core.PointerFromQPointF(offset)) + } +} + +func (ptr *QPainter) Translate2(offset core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPainter_Translate2(ptr.Pointer(), core.PointerFromQPoint(offset)) + } +} + +func (ptr *QPainter) Translate3(dx float64, dy float64) { + if ptr.Pointer() != nil { + C.QPainter_Translate3(ptr.Pointer(), C.double(dx), C.double(dy)) + } +} + +func (ptr *QPainter) ViewTransformEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QPainter_ViewTransformEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPainter) Viewport() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPainter_Viewport(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPainter) Window() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPainter_Window(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPainter) WorldMatrixEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QPainter_WorldMatrixEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPainter) WorldTransform() *QTransform { + if ptr.Pointer() != nil { + return NewQTransformFromPointer(C.QPainter_WorldTransform(ptr.Pointer())) + } + return nil +} + +func (ptr *QPainter) DestroyQPainter() { + if ptr.Pointer() != nil { + C.QPainter_DestroyQPainter(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPainter) __drawLines_lines_atList2(i int) *core.QLineF { + if ptr.Pointer() != nil { + tmpValue := core.NewQLineFFromPointer(C.QPainter___drawLines_lines_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QLineF).DestroyQLineF) + return tmpValue + } + return nil +} + +func (ptr *QPainter) __drawLines_lines_setList2(i core.QLineF_ITF) { + if ptr.Pointer() != nil { + C.QPainter___drawLines_lines_setList2(ptr.Pointer(), core.PointerFromQLineF(i)) + } +} + +func (ptr *QPainter) __drawLines_lines_newList2() unsafe.Pointer { + return C.QPainter___drawLines_lines_newList2(ptr.Pointer()) +} + +func (ptr *QPainter) __drawLines_pointPairs_atList4(i int) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QPainter___drawLines_pointPairs_atList4(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QPainter) __drawLines_pointPairs_setList4(i core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainter___drawLines_pointPairs_setList4(ptr.Pointer(), core.PointerFromQPointF(i)) + } +} + +func (ptr *QPainter) __drawLines_pointPairs_newList4() unsafe.Pointer { + return C.QPainter___drawLines_pointPairs_newList4(ptr.Pointer()) +} + +func (ptr *QPainter) __drawLines_lines_atList6(i int) *core.QLine { + if ptr.Pointer() != nil { + tmpValue := core.NewQLineFromPointer(C.QPainter___drawLines_lines_atList6(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QLine).DestroyQLine) + return tmpValue + } + return nil +} + +func (ptr *QPainter) __drawLines_lines_setList6(i core.QLine_ITF) { + if ptr.Pointer() != nil { + C.QPainter___drawLines_lines_setList6(ptr.Pointer(), core.PointerFromQLine(i)) + } +} + +func (ptr *QPainter) __drawLines_lines_newList6() unsafe.Pointer { + return C.QPainter___drawLines_lines_newList6(ptr.Pointer()) +} + +func (ptr *QPainter) __drawLines_pointPairs_atList8(i int) *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QPainter___drawLines_pointPairs_atList8(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QPainter) __drawLines_pointPairs_setList8(i core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPainter___drawLines_pointPairs_setList8(ptr.Pointer(), core.PointerFromQPoint(i)) + } +} + +func (ptr *QPainter) __drawLines_pointPairs_newList8() unsafe.Pointer { + return C.QPainter___drawLines_pointPairs_newList8(ptr.Pointer()) +} + +func (ptr *QPainter) __drawRects_rectangles_atList2(i int) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPainter___drawRects_rectangles_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPainter) __drawRects_rectangles_setList2(i core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPainter___drawRects_rectangles_setList2(ptr.Pointer(), core.PointerFromQRectF(i)) + } +} + +func (ptr *QPainter) __drawRects_rectangles_newList2() unsafe.Pointer { + return C.QPainter___drawRects_rectangles_newList2(ptr.Pointer()) +} + +func (ptr *QPainter) __drawRects_rectangles_atList4(i int) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPainter___drawRects_rectangles_atList4(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPainter) __drawRects_rectangles_setList4(i core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPainter___drawRects_rectangles_setList4(ptr.Pointer(), core.PointerFromQRect(i)) + } +} + +func (ptr *QPainter) __drawRects_rectangles_newList4() unsafe.Pointer { + return C.QPainter___drawRects_rectangles_newList4(ptr.Pointer()) +} + +type QPainterPath struct { + ptr unsafe.Pointer +} + +type QPainterPath_ITF interface { + QPainterPath_PTR() *QPainterPath +} + +func (ptr *QPainterPath) QPainterPath_PTR() *QPainterPath { + return ptr +} + +func (ptr *QPainterPath) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPainterPath) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPainterPath(ptr QPainterPath_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPainterPath_PTR().Pointer() + } + return nil +} + +func NewQPainterPathFromPointer(ptr unsafe.Pointer) (n *QPainterPath) { + n = new(QPainterPath) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QPainterPath__ElementType +//QPainterPath::ElementType +type QPainterPath__ElementType int64 + +const ( + QPainterPath__MoveToElement QPainterPath__ElementType = QPainterPath__ElementType(0) + QPainterPath__LineToElement QPainterPath__ElementType = QPainterPath__ElementType(1) + QPainterPath__CurveToElement QPainterPath__ElementType = QPainterPath__ElementType(2) + QPainterPath__CurveToDataElement QPainterPath__ElementType = QPainterPath__ElementType(3) +) + +func NewQPainterPath() *QPainterPath { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_NewQPainterPath()) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue +} + +func NewQPainterPath2(startPoint core.QPointF_ITF) *QPainterPath { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_NewQPainterPath2(core.PointerFromQPointF(startPoint))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue +} + +func NewQPainterPath3(path QPainterPath_ITF) *QPainterPath { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_NewQPainterPath3(PointerFromQPainterPath(path))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue +} + +func (ptr *QPainterPath) AddEllipse(boundingRectangle core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_AddEllipse(ptr.Pointer(), core.PointerFromQRectF(boundingRectangle)) + } +} + +func (ptr *QPainterPath) AddEllipse2(x float64, y float64, width float64, height float64) { + if ptr.Pointer() != nil { + C.QPainterPath_AddEllipse2(ptr.Pointer(), C.double(x), C.double(y), C.double(width), C.double(height)) + } +} + +func (ptr *QPainterPath) AddEllipse3(center core.QPointF_ITF, rx float64, ry float64) { + if ptr.Pointer() != nil { + C.QPainterPath_AddEllipse3(ptr.Pointer(), core.PointerFromQPointF(center), C.double(rx), C.double(ry)) + } +} + +func (ptr *QPainterPath) AddPath(path QPainterPath_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_AddPath(ptr.Pointer(), PointerFromQPainterPath(path)) + } +} + +func (ptr *QPainterPath) AddPolygon(polygon QPolygonF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_AddPolygon(ptr.Pointer(), PointerFromQPolygonF(polygon)) + } +} + +func (ptr *QPainterPath) AddRect(rectangle core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_AddRect(ptr.Pointer(), core.PointerFromQRectF(rectangle)) + } +} + +func (ptr *QPainterPath) AddRect2(x float64, y float64, width float64, height float64) { + if ptr.Pointer() != nil { + C.QPainterPath_AddRect2(ptr.Pointer(), C.double(x), C.double(y), C.double(width), C.double(height)) + } +} + +func (ptr *QPainterPath) AddRegion(region QRegion_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_AddRegion(ptr.Pointer(), PointerFromQRegion(region)) + } +} + +func (ptr *QPainterPath) AddRoundedRect(rect core.QRectF_ITF, xRadius float64, yRadius float64, mode core.Qt__SizeMode) { + if ptr.Pointer() != nil { + C.QPainterPath_AddRoundedRect(ptr.Pointer(), core.PointerFromQRectF(rect), C.double(xRadius), C.double(yRadius), C.longlong(mode)) + } +} + +func (ptr *QPainterPath) AddRoundedRect2(x float64, y float64, w float64, h float64, xRadius float64, yRadius float64, mode core.Qt__SizeMode) { + if ptr.Pointer() != nil { + C.QPainterPath_AddRoundedRect2(ptr.Pointer(), C.double(x), C.double(y), C.double(w), C.double(h), C.double(xRadius), C.double(yRadius), C.longlong(mode)) + } +} + +func (ptr *QPainterPath) AddText(point core.QPointF_ITF, font QFont_ITF, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QPainterPath_AddText(ptr.Pointer(), core.PointerFromQPointF(point), PointerFromQFont(font), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QPainterPath) AddText2(x float64, y float64, font QFont_ITF, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QPainterPath_AddText2(ptr.Pointer(), C.double(x), C.double(y), PointerFromQFont(font), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QPainterPath) AngleAtPercent(t float64) float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPath_AngleAtPercent(ptr.Pointer(), C.double(t))) + } + return 0 +} + +func (ptr *QPainterPath) ArcMoveTo(rectangle core.QRectF_ITF, angle float64) { + if ptr.Pointer() != nil { + C.QPainterPath_ArcMoveTo(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.double(angle)) + } +} + +func (ptr *QPainterPath) ArcMoveTo2(x float64, y float64, width float64, height float64, angle float64) { + if ptr.Pointer() != nil { + C.QPainterPath_ArcMoveTo2(ptr.Pointer(), C.double(x), C.double(y), C.double(width), C.double(height), C.double(angle)) + } +} + +func (ptr *QPainterPath) ArcTo(rectangle core.QRectF_ITF, startAngle float64, sweepLength float64) { + if ptr.Pointer() != nil { + C.QPainterPath_ArcTo(ptr.Pointer(), core.PointerFromQRectF(rectangle), C.double(startAngle), C.double(sweepLength)) + } +} + +func (ptr *QPainterPath) ArcTo2(x float64, y float64, width float64, height float64, startAngle float64, sweepLength float64) { + if ptr.Pointer() != nil { + C.QPainterPath_ArcTo2(ptr.Pointer(), C.double(x), C.double(y), C.double(width), C.double(height), C.double(startAngle), C.double(sweepLength)) + } +} + +func (ptr *QPainterPath) BoundingRect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPainterPath_BoundingRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) Capacity() int { + if ptr.Pointer() != nil { + return int(int32(C.QPainterPath_Capacity(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPainterPath) Clear() { + if ptr.Pointer() != nil { + C.QPainterPath_Clear(ptr.Pointer()) + } +} + +func (ptr *QPainterPath) CloseSubpath() { + if ptr.Pointer() != nil { + C.QPainterPath_CloseSubpath(ptr.Pointer()) + } +} + +func (ptr *QPainterPath) ConnectPath(path QPainterPath_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_ConnectPath(ptr.Pointer(), PointerFromQPainterPath(path)) + } +} + +func (ptr *QPainterPath) Contains(point core.QPointF_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPainterPath_Contains(ptr.Pointer(), core.PointerFromQPointF(point))) != 0 + } + return false +} + +func (ptr *QPainterPath) Contains2(rectangle core.QRectF_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPainterPath_Contains2(ptr.Pointer(), core.PointerFromQRectF(rectangle))) != 0 + } + return false +} + +func (ptr *QPainterPath) Contains3(p QPainterPath_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPainterPath_Contains3(ptr.Pointer(), PointerFromQPainterPath(p))) != 0 + } + return false +} + +func (ptr *QPainterPath) ControlPointRect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPainterPath_ControlPointRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) CubicTo(c1 core.QPointF_ITF, c2 core.QPointF_ITF, endPoint core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_CubicTo(ptr.Pointer(), core.PointerFromQPointF(c1), core.PointerFromQPointF(c2), core.PointerFromQPointF(endPoint)) + } +} + +func (ptr *QPainterPath) CubicTo2(c1X float64, c1Y float64, c2X float64, c2Y float64, endPointX float64, endPointY float64) { + if ptr.Pointer() != nil { + C.QPainterPath_CubicTo2(ptr.Pointer(), C.double(c1X), C.double(c1Y), C.double(c2X), C.double(c2Y), C.double(endPointX), C.double(endPointY)) + } +} + +func (ptr *QPainterPath) CurrentPosition() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QPainterPath_CurrentPosition(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) ElementCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QPainterPath_ElementCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPainterPath) FillRule() core.Qt__FillRule { + if ptr.Pointer() != nil { + return core.Qt__FillRule(C.QPainterPath_FillRule(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainterPath) Intersected(p QPainterPath_ITF) *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_Intersected(ptr.Pointer(), PointerFromQPainterPath(p))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) Intersects(rectangle core.QRectF_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPainterPath_Intersects(ptr.Pointer(), core.PointerFromQRectF(rectangle))) != 0 + } + return false +} + +func (ptr *QPainterPath) Intersects2(p QPainterPath_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPainterPath_Intersects2(ptr.Pointer(), PointerFromQPainterPath(p))) != 0 + } + return false +} + +func (ptr *QPainterPath) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QPainterPath_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPainterPath) Length() float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPath_Length(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainterPath) LineTo(endPoint core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_LineTo(ptr.Pointer(), core.PointerFromQPointF(endPoint)) + } +} + +func (ptr *QPainterPath) LineTo2(x float64, y float64) { + if ptr.Pointer() != nil { + C.QPainterPath_LineTo2(ptr.Pointer(), C.double(x), C.double(y)) + } +} + +func (ptr *QPainterPath) MoveTo(point core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_MoveTo(ptr.Pointer(), core.PointerFromQPointF(point)) + } +} + +func (ptr *QPainterPath) MoveTo2(x float64, y float64) { + if ptr.Pointer() != nil { + C.QPainterPath_MoveTo2(ptr.Pointer(), C.double(x), C.double(y)) + } +} + +func (ptr *QPainterPath) PercentAtLength(l float64) float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPath_PercentAtLength(ptr.Pointer(), C.double(l))) + } + return 0 +} + +func (ptr *QPainterPath) PointAtPercent(t float64) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QPainterPath_PointAtPercent(ptr.Pointer(), C.double(t))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) QuadTo(c core.QPointF_ITF, endPoint core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_QuadTo(ptr.Pointer(), core.PointerFromQPointF(c), core.PointerFromQPointF(endPoint)) + } +} + +func (ptr *QPainterPath) QuadTo2(cx float64, cy float64, endPointX float64, endPointY float64) { + if ptr.Pointer() != nil { + C.QPainterPath_QuadTo2(ptr.Pointer(), C.double(cx), C.double(cy), C.double(endPointX), C.double(endPointY)) + } +} + +func (ptr *QPainterPath) Reserve(size int) { + if ptr.Pointer() != nil { + C.QPainterPath_Reserve(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QPainterPath) SetElementPositionAt(index int, x float64, y float64) { + if ptr.Pointer() != nil { + C.QPainterPath_SetElementPositionAt(ptr.Pointer(), C.int(int32(index)), C.double(x), C.double(y)) + } +} + +func (ptr *QPainterPath) SetFillRule(fillRule core.Qt__FillRule) { + if ptr.Pointer() != nil { + C.QPainterPath_SetFillRule(ptr.Pointer(), C.longlong(fillRule)) + } +} + +func (ptr *QPainterPath) Simplified() *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_Simplified(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) SlopeAtPercent(t float64) float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPath_SlopeAtPercent(ptr.Pointer(), C.double(t))) + } + return 0 +} + +func (ptr *QPainterPath) Subtracted(p QPainterPath_ITF) *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_Subtracted(ptr.Pointer(), PointerFromQPainterPath(p))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) Swap(other QPainterPath_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_Swap(ptr.Pointer(), PointerFromQPainterPath(other)) + } +} + +func (ptr *QPainterPath) ToFillPolygon(matrix QTransform_ITF) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPainterPath_ToFillPolygon(ptr.Pointer(), PointerFromQTransform(matrix))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) ToFillPolygon2(matrix QMatrix_ITF) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPainterPath_ToFillPolygon2(ptr.Pointer(), PointerFromQMatrix(matrix))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) ToFillPolygons(matrix QTransform_ITF) []*QPolygonF { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QPolygonF { + out := make([]*QPolygonF, int(l.len)) + tmpList := NewQPainterPathFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toFillPolygons_atList(i) + } + return out + }(C.QPainterPath_ToFillPolygons(ptr.Pointer(), PointerFromQTransform(matrix))) + } + return make([]*QPolygonF, 0) +} + +func (ptr *QPainterPath) ToFillPolygons2(matrix QMatrix_ITF) []*QPolygonF { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QPolygonF { + out := make([]*QPolygonF, int(l.len)) + tmpList := NewQPainterPathFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toFillPolygons_atList2(i) + } + return out + }(C.QPainterPath_ToFillPolygons2(ptr.Pointer(), PointerFromQMatrix(matrix))) + } + return make([]*QPolygonF, 0) +} + +func (ptr *QPainterPath) ToReversed() *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_ToReversed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) ToSubpathPolygons(matrix QTransform_ITF) []*QPolygonF { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QPolygonF { + out := make([]*QPolygonF, int(l.len)) + tmpList := NewQPainterPathFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toSubpathPolygons_atList(i) + } + return out + }(C.QPainterPath_ToSubpathPolygons(ptr.Pointer(), PointerFromQTransform(matrix))) + } + return make([]*QPolygonF, 0) +} + +func (ptr *QPainterPath) ToSubpathPolygons2(matrix QMatrix_ITF) []*QPolygonF { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QPolygonF { + out := make([]*QPolygonF, int(l.len)) + tmpList := NewQPainterPathFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__toSubpathPolygons_atList2(i) + } + return out + }(C.QPainterPath_ToSubpathPolygons2(ptr.Pointer(), PointerFromQMatrix(matrix))) + } + return make([]*QPolygonF, 0) +} + +func (ptr *QPainterPath) Translate(dx float64, dy float64) { + if ptr.Pointer() != nil { + C.QPainterPath_Translate(ptr.Pointer(), C.double(dx), C.double(dy)) + } +} + +func (ptr *QPainterPath) Translate2(offset core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath_Translate2(ptr.Pointer(), core.PointerFromQPointF(offset)) + } +} + +func (ptr *QPainterPath) Translated(dx float64, dy float64) *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_Translated(ptr.Pointer(), C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) Translated2(offset core.QPointF_ITF) *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_Translated2(ptr.Pointer(), core.PointerFromQPointF(offset))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) United(p QPainterPath_ITF) *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPainterPath_United(ptr.Pointer(), PointerFromQPainterPath(p))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) DestroyQPainterPath() { + if ptr.Pointer() != nil { + C.QPainterPath_DestroyQPainterPath(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPainterPath) __toFillPolygons_atList(i int) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPainterPath___toFillPolygons_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) __toFillPolygons_setList(i QPolygonF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath___toFillPolygons_setList(ptr.Pointer(), PointerFromQPolygonF(i)) + } +} + +func (ptr *QPainterPath) __toFillPolygons_newList() unsafe.Pointer { + return C.QPainterPath___toFillPolygons_newList(ptr.Pointer()) +} + +func (ptr *QPainterPath) __toFillPolygons_atList2(i int) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPainterPath___toFillPolygons_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) __toFillPolygons_setList2(i QPolygonF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath___toFillPolygons_setList2(ptr.Pointer(), PointerFromQPolygonF(i)) + } +} + +func (ptr *QPainterPath) __toFillPolygons_newList2() unsafe.Pointer { + return C.QPainterPath___toFillPolygons_newList2(ptr.Pointer()) +} + +func (ptr *QPainterPath) __toSubpathPolygons_atList(i int) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPainterPath___toSubpathPolygons_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) __toSubpathPolygons_setList(i QPolygonF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath___toSubpathPolygons_setList(ptr.Pointer(), PointerFromQPolygonF(i)) + } +} + +func (ptr *QPainterPath) __toSubpathPolygons_newList() unsafe.Pointer { + return C.QPainterPath___toSubpathPolygons_newList(ptr.Pointer()) +} + +func (ptr *QPainterPath) __toSubpathPolygons_atList2(i int) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPainterPath___toSubpathPolygons_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPainterPath) __toSubpathPolygons_setList2(i QPolygonF_ITF) { + if ptr.Pointer() != nil { + C.QPainterPath___toSubpathPolygons_setList2(ptr.Pointer(), PointerFromQPolygonF(i)) + } +} + +func (ptr *QPainterPath) __toSubpathPolygons_newList2() unsafe.Pointer { + return C.QPainterPath___toSubpathPolygons_newList2(ptr.Pointer()) +} + +type QPainterPathStroker struct { + ptr unsafe.Pointer +} + +type QPainterPathStroker_ITF interface { + QPainterPathStroker_PTR() *QPainterPathStroker +} + +func (ptr *QPainterPathStroker) QPainterPathStroker_PTR() *QPainterPathStroker { + return ptr +} + +func (ptr *QPainterPathStroker) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPainterPathStroker) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPainterPathStroker(ptr QPainterPathStroker_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPainterPathStroker_PTR().Pointer() + } + return nil +} + +func NewQPainterPathStrokerFromPointer(ptr unsafe.Pointer) (n *QPainterPathStroker) { + n = new(QPainterPathStroker) + n.SetPointer(ptr) + return +} +func NewQPainterPathStroker() *QPainterPathStroker { + tmpValue := NewQPainterPathStrokerFromPointer(C.QPainterPathStroker_NewQPainterPathStroker()) + runtime.SetFinalizer(tmpValue, (*QPainterPathStroker).DestroyQPainterPathStroker) + return tmpValue +} + +func NewQPainterPathStroker2(pen QPen_ITF) *QPainterPathStroker { + tmpValue := NewQPainterPathStrokerFromPointer(C.QPainterPathStroker_NewQPainterPathStroker2(PointerFromQPen(pen))) + runtime.SetFinalizer(tmpValue, (*QPainterPathStroker).DestroyQPainterPathStroker) + return tmpValue +} + +func (ptr *QPainterPathStroker) CapStyle() core.Qt__PenCapStyle { + if ptr.Pointer() != nil { + return core.Qt__PenCapStyle(C.QPainterPathStroker_CapStyle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainterPathStroker) CreateStroke(path QPainterPath_ITF) *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QPainterPathStroker_CreateStroke(ptr.Pointer(), PointerFromQPainterPath(path))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QPainterPathStroker) CurveThreshold() float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPathStroker_CurveThreshold(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainterPathStroker) DashOffset() float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPathStroker_DashOffset(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainterPathStroker) DashPattern() []float64 { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []float64 { + out := make([]float64, int(l.len)) + tmpList := NewQPainterPathStrokerFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__dashPattern_atList(i) + } + return out + }(C.QPainterPathStroker_DashPattern(ptr.Pointer())) + } + return make([]float64, 0) +} + +func (ptr *QPainterPathStroker) JoinStyle() core.Qt__PenJoinStyle { + if ptr.Pointer() != nil { + return core.Qt__PenJoinStyle(C.QPainterPathStroker_JoinStyle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainterPathStroker) MiterLimit() float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPathStroker_MiterLimit(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainterPathStroker) SetCapStyle(style core.Qt__PenCapStyle) { + if ptr.Pointer() != nil { + C.QPainterPathStroker_SetCapStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QPainterPathStroker) SetCurveThreshold(threshold float64) { + if ptr.Pointer() != nil { + C.QPainterPathStroker_SetCurveThreshold(ptr.Pointer(), C.double(threshold)) + } +} + +func (ptr *QPainterPathStroker) SetDashOffset(offset float64) { + if ptr.Pointer() != nil { + C.QPainterPathStroker_SetDashOffset(ptr.Pointer(), C.double(offset)) + } +} + +func (ptr *QPainterPathStroker) SetDashPattern(style core.Qt__PenStyle) { + if ptr.Pointer() != nil { + C.QPainterPathStroker_SetDashPattern(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QPainterPathStroker) SetDashPattern2(dashPattern []float64) { + if ptr.Pointer() != nil { + C.QPainterPathStroker_SetDashPattern2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQPainterPathStrokerFromPointer(NewQPainterPathStrokerFromPointer(nil).__setDashPattern_dashPattern_newList2()) + for _, v := range dashPattern { + tmpList.__setDashPattern_dashPattern_setList2(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QPainterPathStroker) SetJoinStyle(style core.Qt__PenJoinStyle) { + if ptr.Pointer() != nil { + C.QPainterPathStroker_SetJoinStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QPainterPathStroker) SetMiterLimit(limit float64) { + if ptr.Pointer() != nil { + C.QPainterPathStroker_SetMiterLimit(ptr.Pointer(), C.double(limit)) + } +} + +func (ptr *QPainterPathStroker) SetWidth(width float64) { + if ptr.Pointer() != nil { + C.QPainterPathStroker_SetWidth(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QPainterPathStroker) Width() float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPathStroker_Width(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPainterPathStroker) DestroyQPainterPathStroker() { + if ptr.Pointer() != nil { + C.QPainterPathStroker_DestroyQPainterPathStroker(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPainterPathStroker) __dashPattern_atList(i int) float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPathStroker___dashPattern_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QPainterPathStroker) __dashPattern_setList(i float64) { + if ptr.Pointer() != nil { + C.QPainterPathStroker___dashPattern_setList(ptr.Pointer(), C.double(i)) + } +} + +func (ptr *QPainterPathStroker) __dashPattern_newList() unsafe.Pointer { + return C.QPainterPathStroker___dashPattern_newList(ptr.Pointer()) +} + +func (ptr *QPainterPathStroker) __setDashPattern_dashPattern_atList2(i int) float64 { + if ptr.Pointer() != nil { + return float64(C.QPainterPathStroker___setDashPattern_dashPattern_atList2(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QPainterPathStroker) __setDashPattern_dashPattern_setList2(i float64) { + if ptr.Pointer() != nil { + C.QPainterPathStroker___setDashPattern_dashPattern_setList2(ptr.Pointer(), C.double(i)) + } +} + +func (ptr *QPainterPathStroker) __setDashPattern_dashPattern_newList2() unsafe.Pointer { + return C.QPainterPathStroker___setDashPattern_dashPattern_newList2(ptr.Pointer()) +} + +type QPalette struct { + ptr unsafe.Pointer +} + +type QPalette_ITF interface { + QPalette_PTR() *QPalette +} + +func (ptr *QPalette) QPalette_PTR() *QPalette { + return ptr +} + +func (ptr *QPalette) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPalette) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPalette(ptr QPalette_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPalette_PTR().Pointer() + } + return nil +} + +func NewQPaletteFromPointer(ptr unsafe.Pointer) (n *QPalette) { + n = new(QPalette) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QPalette__ColorGroup +//QPalette::ColorGroup +type QPalette__ColorGroup int64 + +const ( + QPalette__Active QPalette__ColorGroup = QPalette__ColorGroup(0) + QPalette__Disabled QPalette__ColorGroup = QPalette__ColorGroup(1) + QPalette__Inactive QPalette__ColorGroup = QPalette__ColorGroup(2) + QPalette__NColorGroups QPalette__ColorGroup = QPalette__ColorGroup(3) + QPalette__Current QPalette__ColorGroup = QPalette__ColorGroup(4) + QPalette__All QPalette__ColorGroup = QPalette__ColorGroup(5) + QPalette__Normal QPalette__ColorGroup = QPalette__ColorGroup(QPalette__Active) +) + +//go:generate stringer -type=QPalette__ColorRole +//QPalette::ColorRole +type QPalette__ColorRole int64 + +var ( + QPalette__WindowText QPalette__ColorRole = QPalette__ColorRole(0) + QPalette__Button QPalette__ColorRole = QPalette__ColorRole(1) + QPalette__Light QPalette__ColorRole = QPalette__ColorRole(2) + QPalette__Midlight QPalette__ColorRole = QPalette__ColorRole(3) + QPalette__Dark QPalette__ColorRole = QPalette__ColorRole(4) + QPalette__Mid QPalette__ColorRole = QPalette__ColorRole(5) + QPalette__Text QPalette__ColorRole = QPalette__ColorRole(6) + QPalette__BrightText QPalette__ColorRole = QPalette__ColorRole(7) + QPalette__ButtonText QPalette__ColorRole = QPalette__ColorRole(8) + QPalette__Base QPalette__ColorRole = QPalette__ColorRole(9) + QPalette__Window QPalette__ColorRole = QPalette__ColorRole(10) + QPalette__Shadow QPalette__ColorRole = QPalette__ColorRole(11) + QPalette__Highlight QPalette__ColorRole = QPalette__ColorRole(12) + QPalette__HighlightedText QPalette__ColorRole = QPalette__ColorRole(13) + QPalette__Link QPalette__ColorRole = QPalette__ColorRole(14) + QPalette__LinkVisited QPalette__ColorRole = QPalette__ColorRole(15) + QPalette__AlternateBase QPalette__ColorRole = QPalette__ColorRole(16) + QPalette__NoRole QPalette__ColorRole = QPalette__ColorRole(17) + QPalette__ToolTipBase QPalette__ColorRole = QPalette__ColorRole(18) + QPalette__ToolTipText QPalette__ColorRole = QPalette__ColorRole(19) + QPalette__PlaceholderText QPalette__ColorRole = QPalette__ColorRole(20) + QPalette__NColorRoles QPalette__ColorRole = QPalette__ColorRole(C.QPalette_NColorRoles_Type()) + QPalette__Foreground QPalette__ColorRole = QPalette__ColorRole(QPalette__WindowText) + QPalette__Background QPalette__ColorRole = QPalette__ColorRole(QPalette__Window) +) + +func NewQPalette() *QPalette { + tmpValue := NewQPaletteFromPointer(C.QPalette_NewQPalette()) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue +} + +func NewQPalette2(button QColor_ITF) *QPalette { + tmpValue := NewQPaletteFromPointer(C.QPalette_NewQPalette2(PointerFromQColor(button))) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue +} + +func NewQPalette3(button core.Qt__GlobalColor) *QPalette { + tmpValue := NewQPaletteFromPointer(C.QPalette_NewQPalette3(C.longlong(button))) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue +} + +func NewQPalette4(button QColor_ITF, window QColor_ITF) *QPalette { + tmpValue := NewQPaletteFromPointer(C.QPalette_NewQPalette4(PointerFromQColor(button), PointerFromQColor(window))) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue +} + +func NewQPalette5(windowText QBrush_ITF, button QBrush_ITF, light QBrush_ITF, dark QBrush_ITF, mid QBrush_ITF, text QBrush_ITF, bright_text QBrush_ITF, base QBrush_ITF, window QBrush_ITF) *QPalette { + tmpValue := NewQPaletteFromPointer(C.QPalette_NewQPalette5(PointerFromQBrush(windowText), PointerFromQBrush(button), PointerFromQBrush(light), PointerFromQBrush(dark), PointerFromQBrush(mid), PointerFromQBrush(text), PointerFromQBrush(bright_text), PointerFromQBrush(base), PointerFromQBrush(window))) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue +} + +func NewQPalette7(p QPalette_ITF) *QPalette { + tmpValue := NewQPaletteFromPointer(C.QPalette_NewQPalette7(PointerFromQPalette(p))) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue +} + +func NewQPalette8(other QPalette_ITF) *QPalette { + tmpValue := NewQPaletteFromPointer(C.QPalette_NewQPalette8(PointerFromQPalette(other))) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue +} + +func (ptr *QPalette) AlternateBase() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_AlternateBase(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) Base() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Base(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) BrightText() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_BrightText(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) Brush(group QPalette__ColorGroup, role QPalette__ColorRole) *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Brush(ptr.Pointer(), C.longlong(group), C.longlong(role))) + } + return nil +} + +func (ptr *QPalette) Brush2(role QPalette__ColorRole) *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Brush2(ptr.Pointer(), C.longlong(role))) + } + return nil +} + +func (ptr *QPalette) Button() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Button(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) ButtonText() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_ButtonText(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) CacheKey() int64 { + if ptr.Pointer() != nil { + return int64(C.QPalette_CacheKey(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPalette) Color(group QPalette__ColorGroup, role QPalette__ColorRole) *QColor { + if ptr.Pointer() != nil { + return NewQColorFromPointer(C.QPalette_Color(ptr.Pointer(), C.longlong(group), C.longlong(role))) + } + return nil +} + +func (ptr *QPalette) Color2(role QPalette__ColorRole) *QColor { + if ptr.Pointer() != nil { + return NewQColorFromPointer(C.QPalette_Color2(ptr.Pointer(), C.longlong(role))) + } + return nil +} + +func (ptr *QPalette) CurrentColorGroup() QPalette__ColorGroup { + if ptr.Pointer() != nil { + return QPalette__ColorGroup(C.QPalette_CurrentColorGroup(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPalette) Dark() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Dark(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) Highlight() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Highlight(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) HighlightedText() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_HighlightedText(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) IsBrushSet(cg QPalette__ColorGroup, cr QPalette__ColorRole) bool { + if ptr.Pointer() != nil { + return int8(C.QPalette_IsBrushSet(ptr.Pointer(), C.longlong(cg), C.longlong(cr))) != 0 + } + return false +} + +func (ptr *QPalette) IsCopyOf(p QPalette_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPalette_IsCopyOf(ptr.Pointer(), PointerFromQPalette(p))) != 0 + } + return false +} + +func (ptr *QPalette) IsEqual(cg1 QPalette__ColorGroup, cg2 QPalette__ColorGroup) bool { + if ptr.Pointer() != nil { + return int8(C.QPalette_IsEqual(ptr.Pointer(), C.longlong(cg1), C.longlong(cg2))) != 0 + } + return false +} + +func (ptr *QPalette) Light() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Light(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) Link() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Link(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) LinkVisited() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_LinkVisited(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) Mid() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Mid(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) Midlight() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Midlight(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) PlaceholderText() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_PlaceholderText(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) Resolve(other QPalette_ITF) *QPalette { + if ptr.Pointer() != nil { + tmpValue := NewQPaletteFromPointer(C.QPalette_Resolve(ptr.Pointer(), PointerFromQPalette(other))) + runtime.SetFinalizer(tmpValue, (*QPalette).DestroyQPalette) + return tmpValue + } + return nil +} + +func (ptr *QPalette) SetBrush(role QPalette__ColorRole, brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPalette_SetBrush(ptr.Pointer(), C.longlong(role), PointerFromQBrush(brush)) + } +} + +func (ptr *QPalette) SetBrush2(group QPalette__ColorGroup, role QPalette__ColorRole, brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPalette_SetBrush2(ptr.Pointer(), C.longlong(group), C.longlong(role), PointerFromQBrush(brush)) + } +} + +func (ptr *QPalette) SetColor(group QPalette__ColorGroup, role QPalette__ColorRole, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QPalette_SetColor(ptr.Pointer(), C.longlong(group), C.longlong(role), PointerFromQColor(color)) + } +} + +func (ptr *QPalette) SetColor2(role QPalette__ColorRole, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QPalette_SetColor2(ptr.Pointer(), C.longlong(role), PointerFromQColor(color)) + } +} + +func (ptr *QPalette) SetColorGroup(cg QPalette__ColorGroup, windowText QBrush_ITF, button QBrush_ITF, light QBrush_ITF, dark QBrush_ITF, mid QBrush_ITF, text QBrush_ITF, bright_text QBrush_ITF, base QBrush_ITF, window QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPalette_SetColorGroup(ptr.Pointer(), C.longlong(cg), PointerFromQBrush(windowText), PointerFromQBrush(button), PointerFromQBrush(light), PointerFromQBrush(dark), PointerFromQBrush(mid), PointerFromQBrush(text), PointerFromQBrush(bright_text), PointerFromQBrush(base), PointerFromQBrush(window)) + } +} + +func (ptr *QPalette) SetCurrentColorGroup(cg QPalette__ColorGroup) { + if ptr.Pointer() != nil { + C.QPalette_SetCurrentColorGroup(ptr.Pointer(), C.longlong(cg)) + } +} + +func (ptr *QPalette) Shadow() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Shadow(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) Swap(other QPalette_ITF) { + if ptr.Pointer() != nil { + C.QPalette_Swap(ptr.Pointer(), PointerFromQPalette(other)) + } +} + +func (ptr *QPalette) Text() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Text(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) ToolTipBase() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_ToolTipBase(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) ToolTipText() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_ToolTipText(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) Window() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_Window(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) WindowText() *QBrush { + if ptr.Pointer() != nil { + return NewQBrushFromPointer(C.QPalette_WindowText(ptr.Pointer())) + } + return nil +} + +func (ptr *QPalette) DestroyQPalette() { + if ptr.Pointer() != nil { + C.QPalette_DestroyQPalette(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPdfWriter struct { + core.QObject + QPagedPaintDevice +} + +type QPdfWriter_ITF interface { + core.QObject_ITF + QPagedPaintDevice_ITF + QPdfWriter_PTR() *QPdfWriter +} + +func (ptr *QPdfWriter) QPdfWriter_PTR() *QPdfWriter { + return ptr +} + +func (ptr *QPdfWriter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QPdfWriter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + ptr.QPagedPaintDevice_PTR().SetPointer(p) + } +} + +func PointerFromQPdfWriter(ptr QPdfWriter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPdfWriter_PTR().Pointer() + } + return nil +} + +func NewQPdfWriterFromPointer(ptr unsafe.Pointer) (n *QPdfWriter) { + n = new(QPdfWriter) + n.SetPointer(ptr) + return +} +func NewQPdfWriter(filename string) *QPdfWriter { + var filenameC *C.char + if filename != "" { + filenameC = C.CString(filename) + defer C.free(unsafe.Pointer(filenameC)) + } + tmpValue := NewQPdfWriterFromPointer(C.QPdfWriter_NewQPdfWriter(C.struct_QtGui_PackedString{data: filenameC, len: C.longlong(len(filename))})) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQPdfWriter2(device core.QIODevice_ITF) *QPdfWriter { + tmpValue := NewQPdfWriterFromPointer(C.QPdfWriter_NewQPdfWriter2(core.PointerFromQIODevice(device))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QPdfWriter) Creator() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPdfWriter_Creator(ptr.Pointer())) + } + return "" +} + +//export callbackQPdfWriter_NewPage +func callbackQPdfWriter_NewPage(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "newPage"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQPdfWriterFromPointer(ptr).NewPageDefault()))) +} + +func (ptr *QPdfWriter) ConnectNewPage(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "newPage"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "newPage", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "newPage", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPdfWriter) DisconnectNewPage() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "newPage") + } +} + +func (ptr *QPdfWriter) NewPage() bool { + if ptr.Pointer() != nil { + return int8(C.QPdfWriter_NewPage(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPdfWriter) NewPageDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QPdfWriter_NewPageDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQPdfWriter_PaintEngine +func callbackQPdfWriter_PaintEngine(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "paintEngine"); signal != nil { + return PointerFromQPaintEngine((*(*func() *QPaintEngine)(signal))()) + } + + return PointerFromQPaintEngine(NewQPdfWriterFromPointer(ptr).PaintEngineDefault()) +} + +func (ptr *QPdfWriter) ConnectPaintEngine(f func() *QPaintEngine) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "paintEngine"); signal != nil { + f := func() *QPaintEngine { + (*(*func() *QPaintEngine)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "paintEngine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "paintEngine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPdfWriter) DisconnectPaintEngine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "paintEngine") + } +} + +func (ptr *QPdfWriter) PaintEngine() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPdfWriter_PaintEngine(ptr.Pointer())) + } + return nil +} + +func (ptr *QPdfWriter) PaintEngineDefault() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPdfWriter_PaintEngineDefault(ptr.Pointer())) + } + return nil +} + +func (ptr *QPdfWriter) PdfVersion() QPagedPaintDevice__PdfVersion { + if ptr.Pointer() != nil { + return QPagedPaintDevice__PdfVersion(C.QPdfWriter_PdfVersion(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPdfWriter) Resolution() int { + if ptr.Pointer() != nil { + return int(int32(C.QPdfWriter_Resolution(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPdfWriter) SetCreator(creator string) { + if ptr.Pointer() != nil { + var creatorC *C.char + if creator != "" { + creatorC = C.CString(creator) + defer C.free(unsafe.Pointer(creatorC)) + } + C.QPdfWriter_SetCreator(ptr.Pointer(), C.struct_QtGui_PackedString{data: creatorC, len: C.longlong(len(creator))}) + } +} + +func (ptr *QPdfWriter) SetPdfVersion(version QPagedPaintDevice__PdfVersion) { + if ptr.Pointer() != nil { + C.QPdfWriter_SetPdfVersion(ptr.Pointer(), C.longlong(version)) + } +} + +func (ptr *QPdfWriter) SetResolution(resolution int) { + if ptr.Pointer() != nil { + C.QPdfWriter_SetResolution(ptr.Pointer(), C.int(int32(resolution))) + } +} + +func (ptr *QPdfWriter) SetTitle(title string) { + if ptr.Pointer() != nil { + var titleC *C.char + if title != "" { + titleC = C.CString(title) + defer C.free(unsafe.Pointer(titleC)) + } + C.QPdfWriter_SetTitle(ptr.Pointer(), C.struct_QtGui_PackedString{data: titleC, len: C.longlong(len(title))}) + } +} + +func (ptr *QPdfWriter) Title() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPdfWriter_Title(ptr.Pointer())) + } + return "" +} + +//export callbackQPdfWriter_DestroyQPdfWriter +func callbackQPdfWriter_DestroyQPdfWriter(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPdfWriter"); signal != nil { + (*(*func())(signal))() + } else { + NewQPdfWriterFromPointer(ptr).DestroyQPdfWriterDefault() + } +} + +func (ptr *QPdfWriter) ConnectDestroyQPdfWriter(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPdfWriter"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPdfWriter", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPdfWriter", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPdfWriter) DisconnectDestroyQPdfWriter() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPdfWriter") + } +} + +func (ptr *QPdfWriter) DestroyQPdfWriter() { + if ptr.Pointer() != nil { + C.QPdfWriter_DestroyQPdfWriter(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPdfWriter) DestroyQPdfWriterDefault() { + if ptr.Pointer() != nil { + C.QPdfWriter_DestroyQPdfWriterDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPdfWriter) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPdfWriter___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPdfWriter) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPdfWriter) __children_newList() unsafe.Pointer { + return C.QPdfWriter___children_newList(ptr.Pointer()) +} + +func (ptr *QPdfWriter) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QPdfWriter___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QPdfWriter) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QPdfWriter) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QPdfWriter___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QPdfWriter) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPdfWriter___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPdfWriter) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPdfWriter) __findChildren_newList() unsafe.Pointer { + return C.QPdfWriter___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QPdfWriter) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPdfWriter___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPdfWriter) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPdfWriter) __findChildren_newList3() unsafe.Pointer { + return C.QPdfWriter___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QPdfWriter) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPdfWriter___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPdfWriter) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPdfWriter) __qFindChildren_newList2() unsafe.Pointer { + return C.QPdfWriter___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQPdfWriter_ChildEvent +func callbackQPdfWriter_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQPdfWriterFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QPdfWriter) ChildEvent(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_ChildEvent(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +func (ptr *QPdfWriter) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQPdfWriter_ConnectNotify +func callbackQPdfWriter_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQPdfWriterFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QPdfWriter) ConnectNotify(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_ConnectNotify(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +func (ptr *QPdfWriter) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQPdfWriter_CustomEvent +func callbackQPdfWriter_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQPdfWriterFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QPdfWriter) CustomEvent(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_CustomEvent(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +func (ptr *QPdfWriter) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQPdfWriter_DeleteLater +func callbackQPdfWriter_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQPdfWriterFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QPdfWriter) DeleteLater() { + if ptr.Pointer() != nil { + C.QPdfWriter_DeleteLater(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPdfWriter) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QPdfWriter_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQPdfWriter_Destroyed +func callbackQPdfWriter_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQPdfWriter_DisconnectNotify +func callbackQPdfWriter_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQPdfWriterFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QPdfWriter) DisconnectNotify(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_DisconnectNotify(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +func (ptr *QPdfWriter) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQPdfWriter_Event +func callbackQPdfWriter_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQPdfWriterFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QPdfWriter) Event(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPdfWriter_Event(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +func (ptr *QPdfWriter) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPdfWriter_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQPdfWriter_EventFilter +func callbackQPdfWriter_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQPdfWriterFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QPdfWriter) EventFilter(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPdfWriter_EventFilter(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +func (ptr *QPdfWriter) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPdfWriter_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQPdfWriter_MetaObject +func callbackQPdfWriter_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQPdfWriterFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QPdfWriter) MetaObject() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QPdfWriter_MetaObject(ptr.Pointer())) + } + return nil +} + +func (ptr *QPdfWriter) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QPdfWriter_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQPdfWriter_ObjectNameChanged +func callbackQPdfWriter_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQPdfWriter_TimerEvent +func callbackQPdfWriter_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQPdfWriterFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QPdfWriter) TimerEvent(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_TimerEvent(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +func (ptr *QPdfWriter) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QPdfWriter_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QPen struct { + ptr unsafe.Pointer +} + +type QPen_ITF interface { + QPen_PTR() *QPen +} + +func (ptr *QPen) QPen_PTR() *QPen { + return ptr +} + +func (ptr *QPen) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPen) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPen(ptr QPen_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPen_PTR().Pointer() + } + return nil +} + +func NewQPenFromPointer(ptr unsafe.Pointer) (n *QPen) { + n = new(QPen) + n.SetPointer(ptr) + return +} +func NewQPen() *QPen { + tmpValue := NewQPenFromPointer(C.QPen_NewQPen()) + runtime.SetFinalizer(tmpValue, (*QPen).DestroyQPen) + return tmpValue +} + +func NewQPen2(style core.Qt__PenStyle) *QPen { + tmpValue := NewQPenFromPointer(C.QPen_NewQPen2(C.longlong(style))) + runtime.SetFinalizer(tmpValue, (*QPen).DestroyQPen) + return tmpValue +} + +func NewQPen3(color QColor_ITF) *QPen { + tmpValue := NewQPenFromPointer(C.QPen_NewQPen3(PointerFromQColor(color))) + runtime.SetFinalizer(tmpValue, (*QPen).DestroyQPen) + return tmpValue +} + +func NewQPen4(brush QBrush_ITF, width float64, style core.Qt__PenStyle, cap core.Qt__PenCapStyle, join core.Qt__PenJoinStyle) *QPen { + tmpValue := NewQPenFromPointer(C.QPen_NewQPen4(PointerFromQBrush(brush), C.double(width), C.longlong(style), C.longlong(cap), C.longlong(join))) + runtime.SetFinalizer(tmpValue, (*QPen).DestroyQPen) + return tmpValue +} + +func NewQPen5(pen QPen_ITF) *QPen { + tmpValue := NewQPenFromPointer(C.QPen_NewQPen5(PointerFromQPen(pen))) + runtime.SetFinalizer(tmpValue, (*QPen).DestroyQPen) + return tmpValue +} + +func NewQPen6(pen QPen_ITF) *QPen { + tmpValue := NewQPenFromPointer(C.QPen_NewQPen6(PointerFromQPen(pen))) + runtime.SetFinalizer(tmpValue, (*QPen).DestroyQPen) + return tmpValue +} + +func (ptr *QPen) Brush() *QBrush { + if ptr.Pointer() != nil { + tmpValue := NewQBrushFromPointer(C.QPen_Brush(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue + } + return nil +} + +func (ptr *QPen) CapStyle() core.Qt__PenCapStyle { + if ptr.Pointer() != nil { + return core.Qt__PenCapStyle(C.QPen_CapStyle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPen) Color() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QPen_Color(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QPen) DashOffset() float64 { + if ptr.Pointer() != nil { + return float64(C.QPen_DashOffset(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPen) DashPattern() []float64 { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []float64 { + out := make([]float64, int(l.len)) + tmpList := NewQPenFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__dashPattern_atList(i) + } + return out + }(C.QPen_DashPattern(ptr.Pointer())) + } + return make([]float64, 0) +} + +func (ptr *QPen) IsCosmetic() bool { + if ptr.Pointer() != nil { + return int8(C.QPen_IsCosmetic(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPen) IsSolid() bool { + if ptr.Pointer() != nil { + return int8(C.QPen_IsSolid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPen) JoinStyle() core.Qt__PenJoinStyle { + if ptr.Pointer() != nil { + return core.Qt__PenJoinStyle(C.QPen_JoinStyle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPen) MiterLimit() float64 { + if ptr.Pointer() != nil { + return float64(C.QPen_MiterLimit(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPen) SetBrush(brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QPen_SetBrush(ptr.Pointer(), PointerFromQBrush(brush)) + } +} + +func (ptr *QPen) SetCapStyle(style core.Qt__PenCapStyle) { + if ptr.Pointer() != nil { + C.QPen_SetCapStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QPen) SetColor(color QColor_ITF) { + if ptr.Pointer() != nil { + C.QPen_SetColor(ptr.Pointer(), PointerFromQColor(color)) + } +} + +func (ptr *QPen) SetCosmetic(cosmetic bool) { + if ptr.Pointer() != nil { + C.QPen_SetCosmetic(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(cosmetic)))) + } +} + +func (ptr *QPen) SetDashOffset(offset float64) { + if ptr.Pointer() != nil { + C.QPen_SetDashOffset(ptr.Pointer(), C.double(offset)) + } +} + +func (ptr *QPen) SetDashPattern(pattern []float64) { + if ptr.Pointer() != nil { + C.QPen_SetDashPattern(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQPenFromPointer(NewQPenFromPointer(nil).__setDashPattern_pattern_newList()) + for _, v := range pattern { + tmpList.__setDashPattern_pattern_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QPen) SetJoinStyle(style core.Qt__PenJoinStyle) { + if ptr.Pointer() != nil { + C.QPen_SetJoinStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QPen) SetMiterLimit(limit float64) { + if ptr.Pointer() != nil { + C.QPen_SetMiterLimit(ptr.Pointer(), C.double(limit)) + } +} + +func (ptr *QPen) SetStyle(style core.Qt__PenStyle) { + if ptr.Pointer() != nil { + C.QPen_SetStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QPen) SetWidth(width int) { + if ptr.Pointer() != nil { + C.QPen_SetWidth(ptr.Pointer(), C.int(int32(width))) + } +} + +func (ptr *QPen) SetWidthF(width float64) { + if ptr.Pointer() != nil { + C.QPen_SetWidthF(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QPen) Style() core.Qt__PenStyle { + if ptr.Pointer() != nil { + return core.Qt__PenStyle(C.QPen_Style(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPen) Swap(other QPen_ITF) { + if ptr.Pointer() != nil { + C.QPen_Swap(ptr.Pointer(), PointerFromQPen(other)) + } +} + +func (ptr *QPen) Width() int { + if ptr.Pointer() != nil { + return int(int32(C.QPen_Width(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPen) WidthF() float64 { + if ptr.Pointer() != nil { + return float64(C.QPen_WidthF(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPen) DestroyQPen() { + if ptr.Pointer() != nil { + C.QPen_DestroyQPen(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPen) __dashPattern_atList(i int) float64 { + if ptr.Pointer() != nil { + return float64(C.QPen___dashPattern_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QPen) __dashPattern_setList(i float64) { + if ptr.Pointer() != nil { + C.QPen___dashPattern_setList(ptr.Pointer(), C.double(i)) + } +} + +func (ptr *QPen) __dashPattern_newList() unsafe.Pointer { + return C.QPen___dashPattern_newList(ptr.Pointer()) +} + +func (ptr *QPen) __setDashPattern_pattern_atList(i int) float64 { + if ptr.Pointer() != nil { + return float64(C.QPen___setDashPattern_pattern_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QPen) __setDashPattern_pattern_setList(i float64) { + if ptr.Pointer() != nil { + C.QPen___setDashPattern_pattern_setList(ptr.Pointer(), C.double(i)) + } +} + +func (ptr *QPen) __setDashPattern_pattern_newList() unsafe.Pointer { + return C.QPen___setDashPattern_pattern_newList(ptr.Pointer()) +} + +type QPicture struct { + QPaintDevice +} + +type QPicture_ITF interface { + QPaintDevice_ITF + QPicture_PTR() *QPicture +} + +func (ptr *QPicture) QPicture_PTR() *QPicture { + return ptr +} + +func (ptr *QPicture) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPaintDevice_PTR().Pointer() + } + return nil +} + +func (ptr *QPicture) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPaintDevice_PTR().SetPointer(p) + } +} + +func PointerFromQPicture(ptr QPicture_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPicture_PTR().Pointer() + } + return nil +} + +func NewQPictureFromPointer(ptr unsafe.Pointer) (n *QPicture) { + n = new(QPicture) + n.SetPointer(ptr) + return +} +func NewQPicture(formatVersion int) *QPicture { + return NewQPictureFromPointer(C.QPicture_NewQPicture(C.int(int32(formatVersion)))) +} + +func NewQPicture2(pic QPicture_ITF) *QPicture { + return NewQPictureFromPointer(C.QPicture_NewQPicture2(PointerFromQPicture(pic))) +} + +func (ptr *QPicture) BoundingRect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPicture_BoundingRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPicture) Data() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPicture_Data(ptr.Pointer())) + } + return "" +} + +func (ptr *QPicture) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QPicture_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPicture) Load(fileName string, format string) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPicture_Load(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC)) != 0 + } + return false +} + +func (ptr *QPicture) Load2(dev core.QIODevice_ITF, format string) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPicture_Load2(ptr.Pointer(), core.PointerFromQIODevice(dev), formatC)) != 0 + } + return false +} + +func (ptr *QPicture) Play(painter QPainter_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPicture_Play(ptr.Pointer(), PointerFromQPainter(painter))) != 0 + } + return false +} + +func (ptr *QPicture) Save(fileName string, format string) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPicture_Save(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC)) != 0 + } + return false +} + +func (ptr *QPicture) Save2(dev core.QIODevice_ITF, format string) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPicture_Save2(ptr.Pointer(), core.PointerFromQIODevice(dev), formatC)) != 0 + } + return false +} + +func (ptr *QPicture) SetBoundingRect(r core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QPicture_SetBoundingRect(ptr.Pointer(), core.PointerFromQRect(r)) + } +} + +//export callbackQPicture_SetData +func callbackQPicture_SetData(ptr unsafe.Pointer, data C.struct_QtGui_PackedString, size C.uint) { + if signal := qt.GetSignal(ptr, "setData"); signal != nil { + (*(*func([]byte, uint))(signal))(cGoUnpackBytes(data), uint(uint32(size))) + } else { + NewQPictureFromPointer(ptr).SetDataDefault(cGoUnpackBytes(data), uint(uint32(size))) + } +} + +func (ptr *QPicture) ConnectSetData(f func(data []byte, size uint)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setData"); signal != nil { + f := func(data []byte, size uint) { + (*(*func([]byte, uint))(signal))(data, size) + f(data, size) + } + qt.ConnectSignal(ptr.Pointer(), "setData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPicture) DisconnectSetData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setData") + } +} + +func (ptr *QPicture) SetData(data []byte, size uint) { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + C.QPicture_SetData(ptr.Pointer(), dataC, C.uint(uint32(size))) + } +} + +func (ptr *QPicture) SetDataDefault(data []byte, size uint) { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + C.QPicture_SetDataDefault(ptr.Pointer(), dataC, C.uint(uint32(size))) + } +} + +func (ptr *QPicture) Size() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QPicture_Size(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPicture) Swap(other QPicture_ITF) { + if ptr.Pointer() != nil { + C.QPicture_Swap(ptr.Pointer(), PointerFromQPicture(other)) + } +} + +//export callbackQPicture_DestroyQPicture +func callbackQPicture_DestroyQPicture(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPicture"); signal != nil { + (*(*func())(signal))() + } else { + NewQPictureFromPointer(ptr).DestroyQPictureDefault() + } +} + +func (ptr *QPicture) ConnectDestroyQPicture(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPicture"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPicture", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPicture", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPicture) DisconnectDestroyQPicture() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPicture") + } +} + +func (ptr *QPicture) DestroyQPicture() { + if ptr.Pointer() != nil { + C.QPicture_DestroyQPicture(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPicture) DestroyQPictureDefault() { + if ptr.Pointer() != nil { + C.QPicture_DestroyQPictureDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPicture) __inputFormats_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QPicture___inputFormats_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QPicture) __inputFormats_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QPicture___inputFormats_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QPicture) __inputFormats_newList() unsafe.Pointer { + return C.QPicture___inputFormats_newList(ptr.Pointer()) +} + +func (ptr *QPicture) __outputFormats_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QPicture___outputFormats_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QPicture) __outputFormats_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QPicture___outputFormats_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QPicture) __outputFormats_newList() unsafe.Pointer { + return C.QPicture___outputFormats_newList(ptr.Pointer()) +} + +//export callbackQPicture_PaintEngine +func callbackQPicture_PaintEngine(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "paintEngine"); signal != nil { + return PointerFromQPaintEngine((*(*func() *QPaintEngine)(signal))()) + } + + return PointerFromQPaintEngine(NewQPictureFromPointer(ptr).PaintEngineDefault()) +} + +func (ptr *QPicture) PaintEngine() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPicture_PaintEngine(ptr.Pointer())) + } + return nil +} + +func (ptr *QPicture) PaintEngineDefault() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPicture_PaintEngineDefault(ptr.Pointer())) + } + return nil +} + +type QPictureFormatPlugin struct { + core.QObject +} + +type QPictureFormatPlugin_ITF interface { + core.QObject_ITF + QPictureFormatPlugin_PTR() *QPictureFormatPlugin +} + +func (ptr *QPictureFormatPlugin) QPictureFormatPlugin_PTR() *QPictureFormatPlugin { + return ptr +} + +func (ptr *QPictureFormatPlugin) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QPictureFormatPlugin) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQPictureFormatPlugin(ptr QPictureFormatPlugin_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPictureFormatPlugin_PTR().Pointer() + } + return nil +} + +func NewQPictureFormatPluginFromPointer(ptr unsafe.Pointer) (n *QPictureFormatPlugin) { + n = new(QPictureFormatPlugin) + n.SetPointer(ptr) + return +} +func NewQPictureFormatPlugin(parent core.QObject_ITF) *QPictureFormatPlugin { + tmpValue := NewQPictureFormatPluginFromPointer(C.QPictureFormatPlugin_NewQPictureFormatPlugin(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQPictureFormatPlugin_InstallIOHandler +func callbackQPictureFormatPlugin_InstallIOHandler(ptr unsafe.Pointer, format C.struct_QtGui_PackedString) C.char { + if signal := qt.GetSignal(ptr, "installIOHandler"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(string) bool)(signal))(cGoUnpackString(format))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QPictureFormatPlugin) ConnectInstallIOHandler(f func(format string) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "installIOHandler"); signal != nil { + f := func(format string) bool { + (*(*func(string) bool)(signal))(format) + return f(format) + } + qt.ConnectSignal(ptr.Pointer(), "installIOHandler", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "installIOHandler", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPictureFormatPlugin) DisconnectInstallIOHandler() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "installIOHandler") + } +} + +func (ptr *QPictureFormatPlugin) InstallIOHandler(format string) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPictureFormatPlugin_InstallIOHandler(ptr.Pointer(), C.struct_QtGui_PackedString{data: formatC, len: C.longlong(len(format))})) != 0 + } + return false +} + +//export callbackQPictureFormatPlugin_LoadPicture +func callbackQPictureFormatPlugin_LoadPicture(ptr unsafe.Pointer, format C.struct_QtGui_PackedString, fileName C.struct_QtGui_PackedString, picture unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "loadPicture"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(string, string, *QPicture) bool)(signal))(cGoUnpackString(format), cGoUnpackString(fileName), NewQPictureFromPointer(picture))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQPictureFormatPluginFromPointer(ptr).LoadPictureDefault(cGoUnpackString(format), cGoUnpackString(fileName), NewQPictureFromPointer(picture))))) +} + +func (ptr *QPictureFormatPlugin) ConnectLoadPicture(f func(format string, fileName string, picture *QPicture) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "loadPicture"); signal != nil { + f := func(format string, fileName string, picture *QPicture) bool { + (*(*func(string, string, *QPicture) bool)(signal))(format, fileName, picture) + return f(format, fileName, picture) + } + qt.ConnectSignal(ptr.Pointer(), "loadPicture", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "loadPicture", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPictureFormatPlugin) DisconnectLoadPicture() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "loadPicture") + } +} + +func (ptr *QPictureFormatPlugin) LoadPicture(format string, fileName string, picture QPicture_ITF) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QPictureFormatPlugin_LoadPicture(ptr.Pointer(), C.struct_QtGui_PackedString{data: formatC, len: C.longlong(len(format))}, C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, PointerFromQPicture(picture))) != 0 + } + return false +} + +func (ptr *QPictureFormatPlugin) LoadPictureDefault(format string, fileName string, picture QPicture_ITF) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QPictureFormatPlugin_LoadPictureDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: formatC, len: C.longlong(len(format))}, C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, PointerFromQPicture(picture))) != 0 + } + return false +} + +//export callbackQPictureFormatPlugin_SavePicture +func callbackQPictureFormatPlugin_SavePicture(ptr unsafe.Pointer, format C.struct_QtGui_PackedString, fileName C.struct_QtGui_PackedString, picture unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "savePicture"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(string, string, *QPicture) bool)(signal))(cGoUnpackString(format), cGoUnpackString(fileName), NewQPictureFromPointer(picture))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQPictureFormatPluginFromPointer(ptr).SavePictureDefault(cGoUnpackString(format), cGoUnpackString(fileName), NewQPictureFromPointer(picture))))) +} + +func (ptr *QPictureFormatPlugin) ConnectSavePicture(f func(format string, fileName string, picture *QPicture) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "savePicture"); signal != nil { + f := func(format string, fileName string, picture *QPicture) bool { + (*(*func(string, string, *QPicture) bool)(signal))(format, fileName, picture) + return f(format, fileName, picture) + } + qt.ConnectSignal(ptr.Pointer(), "savePicture", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "savePicture", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPictureFormatPlugin) DisconnectSavePicture() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "savePicture") + } +} + +func (ptr *QPictureFormatPlugin) SavePicture(format string, fileName string, picture QPicture_ITF) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QPictureFormatPlugin_SavePicture(ptr.Pointer(), C.struct_QtGui_PackedString{data: formatC, len: C.longlong(len(format))}, C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, PointerFromQPicture(picture))) != 0 + } + return false +} + +func (ptr *QPictureFormatPlugin) SavePictureDefault(format string, fileName string, picture QPicture_ITF) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + return int8(C.QPictureFormatPlugin_SavePictureDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: formatC, len: C.longlong(len(format))}, C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, PointerFromQPicture(picture))) != 0 + } + return false +} + +//export callbackQPictureFormatPlugin_DestroyQPictureFormatPlugin +func callbackQPictureFormatPlugin_DestroyQPictureFormatPlugin(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPictureFormatPlugin"); signal != nil { + (*(*func())(signal))() + } else { + NewQPictureFormatPluginFromPointer(ptr).DestroyQPictureFormatPluginDefault() + } +} + +func (ptr *QPictureFormatPlugin) ConnectDestroyQPictureFormatPlugin(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPictureFormatPlugin"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPictureFormatPlugin", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPictureFormatPlugin", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPictureFormatPlugin) DisconnectDestroyQPictureFormatPlugin() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPictureFormatPlugin") + } +} + +func (ptr *QPictureFormatPlugin) DestroyQPictureFormatPlugin() { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin_DestroyQPictureFormatPlugin(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPictureFormatPlugin) DestroyQPictureFormatPluginDefault() { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin_DestroyQPictureFormatPluginDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPictureFormatPlugin) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPictureFormatPlugin___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPictureFormatPlugin) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPictureFormatPlugin) __children_newList() unsafe.Pointer { + return C.QPictureFormatPlugin___children_newList(ptr.Pointer()) +} + +func (ptr *QPictureFormatPlugin) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QPictureFormatPlugin___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QPictureFormatPlugin) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QPictureFormatPlugin) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QPictureFormatPlugin___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QPictureFormatPlugin) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPictureFormatPlugin___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPictureFormatPlugin) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPictureFormatPlugin) __findChildren_newList() unsafe.Pointer { + return C.QPictureFormatPlugin___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QPictureFormatPlugin) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPictureFormatPlugin___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPictureFormatPlugin) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPictureFormatPlugin) __findChildren_newList3() unsafe.Pointer { + return C.QPictureFormatPlugin___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QPictureFormatPlugin) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPictureFormatPlugin___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPictureFormatPlugin) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPictureFormatPlugin) __qFindChildren_newList2() unsafe.Pointer { + return C.QPictureFormatPlugin___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQPictureFormatPlugin_ChildEvent +func callbackQPictureFormatPlugin_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQPictureFormatPluginFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QPictureFormatPlugin) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQPictureFormatPlugin_ConnectNotify +func callbackQPictureFormatPlugin_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQPictureFormatPluginFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QPictureFormatPlugin) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQPictureFormatPlugin_CustomEvent +func callbackQPictureFormatPlugin_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQPictureFormatPluginFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QPictureFormatPlugin) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQPictureFormatPlugin_DeleteLater +func callbackQPictureFormatPlugin_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQPictureFormatPluginFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QPictureFormatPlugin) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQPictureFormatPlugin_Destroyed +func callbackQPictureFormatPlugin_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQPictureFormatPlugin_DisconnectNotify +func callbackQPictureFormatPlugin_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQPictureFormatPluginFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QPictureFormatPlugin) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQPictureFormatPlugin_Event +func callbackQPictureFormatPlugin_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQPictureFormatPluginFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QPictureFormatPlugin) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPictureFormatPlugin_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQPictureFormatPlugin_EventFilter +func callbackQPictureFormatPlugin_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQPictureFormatPluginFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QPictureFormatPlugin) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPictureFormatPlugin_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQPictureFormatPlugin_MetaObject +func callbackQPictureFormatPlugin_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQPictureFormatPluginFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QPictureFormatPlugin) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QPictureFormatPlugin_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQPictureFormatPlugin_ObjectNameChanged +func callbackQPictureFormatPlugin_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQPictureFormatPlugin_TimerEvent +func callbackQPictureFormatPlugin_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQPictureFormatPluginFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QPictureFormatPlugin) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QPictureFormatPlugin_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QPictureIO struct { + ptr unsafe.Pointer +} + +type QPictureIO_ITF interface { + QPictureIO_PTR() *QPictureIO +} + +func (ptr *QPictureIO) QPictureIO_PTR() *QPictureIO { + return ptr +} + +func (ptr *QPictureIO) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPictureIO) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPictureIO(ptr QPictureIO_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPictureIO_PTR().Pointer() + } + return nil +} + +func NewQPictureIOFromPointer(ptr unsafe.Pointer) (n *QPictureIO) { + n = new(QPictureIO) + n.SetPointer(ptr) + return +} +func NewQPictureIO() *QPictureIO { + tmpValue := NewQPictureIOFromPointer(C.QPictureIO_NewQPictureIO()) + runtime.SetFinalizer(tmpValue, (*QPictureIO).DestroyQPictureIO) + return tmpValue +} + +func NewQPictureIO2(ioDevice core.QIODevice_ITF, format string) *QPictureIO { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQPictureIOFromPointer(C.QPictureIO_NewQPictureIO2(core.PointerFromQIODevice(ioDevice), formatC)) + runtime.SetFinalizer(tmpValue, (*QPictureIO).DestroyQPictureIO) + return tmpValue +} + +func NewQPictureIO3(fileName string, format string) *QPictureIO { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + tmpValue := NewQPictureIOFromPointer(C.QPictureIO_NewQPictureIO3(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC)) + runtime.SetFinalizer(tmpValue, (*QPictureIO).DestroyQPictureIO) + return tmpValue +} + +func (ptr *QPictureIO) Description() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPictureIO_Description(ptr.Pointer())) + } + return "" +} + +func (ptr *QPictureIO) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPictureIO_FileName(ptr.Pointer())) + } + return "" +} + +func (ptr *QPictureIO) Format() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPictureIO_Format(ptr.Pointer())) + } + return "" +} + +func (ptr *QPictureIO) Gamma() float32 { + if ptr.Pointer() != nil { + return float32(C.QPictureIO_Gamma(ptr.Pointer())) + } + return 0 +} + +func QPictureIO_InputFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQPictureIOFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__inputFormats_atList(i) + } + return out + }(C.QPictureIO_QPictureIO_InputFormats()) +} + +func (ptr *QPictureIO) InputFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQPictureIOFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__inputFormats_atList(i) + } + return out + }(C.QPictureIO_QPictureIO_InputFormats()) +} + +func (ptr *QPictureIO) IoDevice() *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QPictureIO_IoDevice(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func QPictureIO_OutputFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQPictureIOFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__outputFormats_atList(i) + } + return out + }(C.QPictureIO_QPictureIO_OutputFormats()) +} + +func (ptr *QPictureIO) OutputFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQPictureIOFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__outputFormats_atList(i) + } + return out + }(C.QPictureIO_QPictureIO_OutputFormats()) +} + +func (ptr *QPictureIO) Parameters() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPictureIO_Parameters(ptr.Pointer())) + } + return "" +} + +func (ptr *QPictureIO) Picture() *QPicture { + if ptr.Pointer() != nil { + return NewQPictureFromPointer(C.QPictureIO_Picture(ptr.Pointer())) + } + return nil +} + +func QPictureIO_PictureFormat(fileName string) *core.QByteArray { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := core.NewQByteArrayFromPointer(C.QPictureIO_QPictureIO_PictureFormat(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QPictureIO) PictureFormat(fileName string) *core.QByteArray { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := core.NewQByteArrayFromPointer(C.QPictureIO_QPictureIO_PictureFormat(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue +} + +func QPictureIO_PictureFormat2(d core.QIODevice_ITF) *core.QByteArray { + tmpValue := core.NewQByteArrayFromPointer(C.QPictureIO_QPictureIO_PictureFormat2(core.PointerFromQIODevice(d))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QPictureIO) PictureFormat2(d core.QIODevice_ITF) *core.QByteArray { + tmpValue := core.NewQByteArrayFromPointer(C.QPictureIO_QPictureIO_PictureFormat2(core.PointerFromQIODevice(d))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue +} + +func (ptr *QPictureIO) Quality() int { + if ptr.Pointer() != nil { + return int(int32(C.QPictureIO_Quality(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPictureIO) Read() bool { + if ptr.Pointer() != nil { + return int8(C.QPictureIO_Read(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPictureIO) SetDescription(description string) { + if ptr.Pointer() != nil { + var descriptionC *C.char + if description != "" { + descriptionC = C.CString(description) + defer C.free(unsafe.Pointer(descriptionC)) + } + C.QPictureIO_SetDescription(ptr.Pointer(), C.struct_QtGui_PackedString{data: descriptionC, len: C.longlong(len(description))}) + } +} + +func (ptr *QPictureIO) SetFileName(fileName string) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QPictureIO_SetFileName(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}) + } +} + +func (ptr *QPictureIO) SetFormat(format string) { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + C.QPictureIO_SetFormat(ptr.Pointer(), formatC) + } +} + +func (ptr *QPictureIO) SetGamma(gamma float32) { + if ptr.Pointer() != nil { + C.QPictureIO_SetGamma(ptr.Pointer(), C.float(gamma)) + } +} + +func (ptr *QPictureIO) SetIODevice(ioDevice core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QPictureIO_SetIODevice(ptr.Pointer(), core.PointerFromQIODevice(ioDevice)) + } +} + +func (ptr *QPictureIO) SetParameters(parameters string) { + if ptr.Pointer() != nil { + var parametersC *C.char + if parameters != "" { + parametersC = C.CString(parameters) + defer C.free(unsafe.Pointer(parametersC)) + } + C.QPictureIO_SetParameters(ptr.Pointer(), parametersC) + } +} + +func (ptr *QPictureIO) SetPicture(picture QPicture_ITF) { + if ptr.Pointer() != nil { + C.QPictureIO_SetPicture(ptr.Pointer(), PointerFromQPicture(picture)) + } +} + +func (ptr *QPictureIO) SetQuality(q int) { + if ptr.Pointer() != nil { + C.QPictureIO_SetQuality(ptr.Pointer(), C.int(int32(q))) + } +} + +func (ptr *QPictureIO) SetStatus(status int) { + if ptr.Pointer() != nil { + C.QPictureIO_SetStatus(ptr.Pointer(), C.int(int32(status))) + } +} + +func (ptr *QPictureIO) Status() int { + if ptr.Pointer() != nil { + return int(int32(C.QPictureIO_Status(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QPictureIO) Write() bool { + if ptr.Pointer() != nil { + return int8(C.QPictureIO_Write(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPictureIO) DestroyQPictureIO() { + if ptr.Pointer() != nil { + C.QPictureIO_DestroyQPictureIO(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPictureIO) __inputFormats_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QPictureIO___inputFormats_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QPictureIO) __inputFormats_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QPictureIO___inputFormats_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QPictureIO) __inputFormats_newList() unsafe.Pointer { + return C.QPictureIO___inputFormats_newList(ptr.Pointer()) +} + +func (ptr *QPictureIO) __outputFormats_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QPictureIO___outputFormats_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QPictureIO) __outputFormats_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QPictureIO___outputFormats_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QPictureIO) __outputFormats_newList() unsafe.Pointer { + return C.QPictureIO___outputFormats_newList(ptr.Pointer()) +} + +type QPixelFormat struct { + ptr unsafe.Pointer +} + +type QPixelFormat_ITF interface { + QPixelFormat_PTR() *QPixelFormat +} + +func (ptr *QPixelFormat) QPixelFormat_PTR() *QPixelFormat { + return ptr +} + +func (ptr *QPixelFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPixelFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPixelFormat(ptr QPixelFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPixelFormat_PTR().Pointer() + } + return nil +} + +func NewQPixelFormatFromPointer(ptr unsafe.Pointer) (n *QPixelFormat) { + n = new(QPixelFormat) + n.SetPointer(ptr) + return +} + +func (ptr *QPixelFormat) DestroyQPixelFormat() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QPixelFormat__ColorModel +//QPixelFormat::ColorModel +type QPixelFormat__ColorModel int64 + +const ( + QPixelFormat__RGB QPixelFormat__ColorModel = QPixelFormat__ColorModel(0) + QPixelFormat__BGR QPixelFormat__ColorModel = QPixelFormat__ColorModel(1) + QPixelFormat__Indexed QPixelFormat__ColorModel = QPixelFormat__ColorModel(2) + QPixelFormat__Grayscale QPixelFormat__ColorModel = QPixelFormat__ColorModel(3) + QPixelFormat__CMYK QPixelFormat__ColorModel = QPixelFormat__ColorModel(4) + QPixelFormat__HSL QPixelFormat__ColorModel = QPixelFormat__ColorModel(5) + QPixelFormat__HSV QPixelFormat__ColorModel = QPixelFormat__ColorModel(6) + QPixelFormat__YUV QPixelFormat__ColorModel = QPixelFormat__ColorModel(7) + QPixelFormat__Alpha QPixelFormat__ColorModel = QPixelFormat__ColorModel(8) +) + +//go:generate stringer -type=QPixelFormat__AlphaUsage +//QPixelFormat::AlphaUsage +type QPixelFormat__AlphaUsage int64 + +const ( + QPixelFormat__UsesAlpha QPixelFormat__AlphaUsage = QPixelFormat__AlphaUsage(0) + QPixelFormat__IgnoresAlpha QPixelFormat__AlphaUsage = QPixelFormat__AlphaUsage(1) +) + +//go:generate stringer -type=QPixelFormat__AlphaPosition +//QPixelFormat::AlphaPosition +type QPixelFormat__AlphaPosition int64 + +const ( + QPixelFormat__AtBeginning QPixelFormat__AlphaPosition = QPixelFormat__AlphaPosition(0) + QPixelFormat__AtEnd QPixelFormat__AlphaPosition = QPixelFormat__AlphaPosition(1) +) + +//go:generate stringer -type=QPixelFormat__AlphaPremultiplied +//QPixelFormat::AlphaPremultiplied +type QPixelFormat__AlphaPremultiplied int64 + +const ( + QPixelFormat__NotPremultiplied QPixelFormat__AlphaPremultiplied = QPixelFormat__AlphaPremultiplied(0) + QPixelFormat__Premultiplied QPixelFormat__AlphaPremultiplied = QPixelFormat__AlphaPremultiplied(1) +) + +//go:generate stringer -type=QPixelFormat__TypeInterpretation +//QPixelFormat::TypeInterpretation +type QPixelFormat__TypeInterpretation int64 + +const ( + QPixelFormat__UnsignedInteger QPixelFormat__TypeInterpretation = QPixelFormat__TypeInterpretation(0) + QPixelFormat__UnsignedShort QPixelFormat__TypeInterpretation = QPixelFormat__TypeInterpretation(1) + QPixelFormat__UnsignedByte QPixelFormat__TypeInterpretation = QPixelFormat__TypeInterpretation(2) + QPixelFormat__FloatingPoint QPixelFormat__TypeInterpretation = QPixelFormat__TypeInterpretation(3) +) + +//go:generate stringer -type=QPixelFormat__YUVLayout +//QPixelFormat::YUVLayout +type QPixelFormat__YUVLayout int64 + +const ( + QPixelFormat__YUV444 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(0) + QPixelFormat__YUV422 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(1) + QPixelFormat__YUV411 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(2) + QPixelFormat__YUV420P QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(3) + QPixelFormat__YUV420SP QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(4) + QPixelFormat__YV12 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(5) + QPixelFormat__UYVY QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(6) + QPixelFormat__YUYV QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(7) + QPixelFormat__NV12 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(8) + QPixelFormat__NV21 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(9) + QPixelFormat__IMC1 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(10) + QPixelFormat__IMC2 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(11) + QPixelFormat__IMC3 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(12) + QPixelFormat__IMC4 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(13) + QPixelFormat__Y8 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(14) + QPixelFormat__Y16 QPixelFormat__YUVLayout = QPixelFormat__YUVLayout(15) +) + +//go:generate stringer -type=QPixelFormat__ByteOrder +//QPixelFormat::ByteOrder +type QPixelFormat__ByteOrder int64 + +const ( + QPixelFormat__LittleEndian QPixelFormat__ByteOrder = QPixelFormat__ByteOrder(0) + QPixelFormat__BigEndian QPixelFormat__ByteOrder = QPixelFormat__ByteOrder(1) + QPixelFormat__CurrentSystemEndian QPixelFormat__ByteOrder = QPixelFormat__ByteOrder(2) +) + +func NewQPixelFormat() *QPixelFormat { + tmpValue := NewQPixelFormatFromPointer(C.QPixelFormat_NewQPixelFormat()) + runtime.SetFinalizer(tmpValue, (*QPixelFormat).DestroyQPixelFormat) + return tmpValue +} + +func NewQPixelFormat2(colorModel QPixelFormat__ColorModel, firstSize string, secondSize string, thirdSize string, fourthSize string, fifthSize string, alphaSize string, alphaUsage QPixelFormat__AlphaUsage, alphaPosition QPixelFormat__AlphaPosition, premultiplied QPixelFormat__AlphaPremultiplied, typeInterpretation QPixelFormat__TypeInterpretation, byteOrder QPixelFormat__ByteOrder, subEnum string) *QPixelFormat { + var firstSizeC *C.char + if firstSize != "" { + firstSizeC = C.CString(firstSize) + defer C.free(unsafe.Pointer(firstSizeC)) + } + var secondSizeC *C.char + if secondSize != "" { + secondSizeC = C.CString(secondSize) + defer C.free(unsafe.Pointer(secondSizeC)) + } + var thirdSizeC *C.char + if thirdSize != "" { + thirdSizeC = C.CString(thirdSize) + defer C.free(unsafe.Pointer(thirdSizeC)) + } + var fourthSizeC *C.char + if fourthSize != "" { + fourthSizeC = C.CString(fourthSize) + defer C.free(unsafe.Pointer(fourthSizeC)) + } + var fifthSizeC *C.char + if fifthSize != "" { + fifthSizeC = C.CString(fifthSize) + defer C.free(unsafe.Pointer(fifthSizeC)) + } + var alphaSizeC *C.char + if alphaSize != "" { + alphaSizeC = C.CString(alphaSize) + defer C.free(unsafe.Pointer(alphaSizeC)) + } + var subEnumC *C.char + if subEnum != "" { + subEnumC = C.CString(subEnum) + defer C.free(unsafe.Pointer(subEnumC)) + } + tmpValue := NewQPixelFormatFromPointer(C.QPixelFormat_NewQPixelFormat2(C.longlong(colorModel), firstSizeC, secondSizeC, thirdSizeC, fourthSizeC, fifthSizeC, alphaSizeC, C.longlong(alphaUsage), C.longlong(alphaPosition), C.longlong(premultiplied), C.longlong(typeInterpretation), C.longlong(byteOrder), subEnumC)) + runtime.SetFinalizer(tmpValue, (*QPixelFormat).DestroyQPixelFormat) + return tmpValue +} + +func (ptr *QPixelFormat) AlphaPosition() QPixelFormat__AlphaPosition { + if ptr.Pointer() != nil { + return QPixelFormat__AlphaPosition(C.QPixelFormat_AlphaPosition(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPixelFormat) AlphaSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_AlphaSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) AlphaUsage() QPixelFormat__AlphaUsage { + if ptr.Pointer() != nil { + return QPixelFormat__AlphaUsage(C.QPixelFormat_AlphaUsage(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPixelFormat) BitsPerPixel() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_BitsPerPixel(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) BlackSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_BlackSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) BlueSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_BlueSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) BrightnessSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_BrightnessSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) ByteOrder() QPixelFormat__ByteOrder { + if ptr.Pointer() != nil { + return QPixelFormat__ByteOrder(C.QPixelFormat_ByteOrder(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPixelFormat) ChannelCount() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_ChannelCount(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) ColorModel() QPixelFormat__ColorModel { + if ptr.Pointer() != nil { + return QPixelFormat__ColorModel(C.QPixelFormat_ColorModel(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPixelFormat) CyanSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_CyanSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) GreenSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_GreenSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) HueSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_HueSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) LightnessSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_LightnessSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) MagentaSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_MagentaSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) Premultiplied() QPixelFormat__AlphaPremultiplied { + if ptr.Pointer() != nil { + return QPixelFormat__AlphaPremultiplied(C.QPixelFormat_Premultiplied(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPixelFormat) RedSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_RedSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) SaturationSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_SaturationSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) TypeInterpretation() QPixelFormat__TypeInterpretation { + if ptr.Pointer() != nil { + return QPixelFormat__TypeInterpretation(C.QPixelFormat_TypeInterpretation(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPixelFormat) YellowSize() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QPixelFormat_YellowSize(ptr.Pointer())) + } + return "" +} + +func (ptr *QPixelFormat) YuvLayout() QPixelFormat__YUVLayout { + if ptr.Pointer() != nil { + return QPixelFormat__YUVLayout(C.QPixelFormat_YuvLayout(ptr.Pointer())) + } + return 0 +} + +type QPixmap struct { + QPaintDevice +} + +type QPixmap_ITF interface { + QPaintDevice_ITF + QPixmap_PTR() *QPixmap +} + +func (ptr *QPixmap) QPixmap_PTR() *QPixmap { + return ptr +} + +func (ptr *QPixmap) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPaintDevice_PTR().Pointer() + } + return nil +} + +func (ptr *QPixmap) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPaintDevice_PTR().SetPointer(p) + } +} + +func PointerFromQPixmap(ptr QPixmap_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPixmap_PTR().Pointer() + } + return nil +} + +func NewQPixmapFromPointer(ptr unsafe.Pointer) (n *QPixmap) { + n = new(QPixmap) + n.SetPointer(ptr) + return +} +func NewQPixmap() *QPixmap { + return NewQPixmapFromPointer(C.QPixmap_NewQPixmap()) +} + +func NewQPixmap2(size core.QSize_ITF) *QPixmap { + return NewQPixmapFromPointer(C.QPixmap_NewQPixmap2(core.PointerFromQSize(size))) +} + +func NewQPixmap3(fileName string, format string, flags core.Qt__ImageConversionFlag) *QPixmap { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return NewQPixmapFromPointer(C.QPixmap_NewQPixmap3(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC, C.longlong(flags))) +} + +func NewQPixmap5(pixmap QPixmap_ITF) *QPixmap { + return NewQPixmapFromPointer(C.QPixmap_NewQPixmap5(PointerFromQPixmap(pixmap))) +} + +func (ptr *QPixmap) CacheKey() int64 { + if ptr.Pointer() != nil { + return int64(C.QPixmap_CacheKey(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPixmap) ConvertFromImage(image QImage_ITF, flags core.Qt__ImageConversionFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QPixmap_ConvertFromImage(ptr.Pointer(), PointerFromQImage(image), C.longlong(flags))) != 0 + } + return false +} + +func (ptr *QPixmap) Copy(rectangle core.QRect_ITF) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QPixmap_Copy(ptr.Pointer(), core.PointerFromQRect(rectangle))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) Copy2(x int, y int, width int, height int) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QPixmap_Copy2(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) CreateHeuristicMask(clipTight bool) *QBitmap { + if ptr.Pointer() != nil { + tmpValue := NewQBitmapFromPointer(C.QPixmap_CreateHeuristicMask(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(clipTight))))) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) CreateMaskFromColor(maskColor QColor_ITF, mode core.Qt__MaskMode) *QBitmap { + if ptr.Pointer() != nil { + tmpValue := NewQBitmapFromPointer(C.QPixmap_CreateMaskFromColor(ptr.Pointer(), PointerFromQColor(maskColor), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue + } + return nil +} + +func QPixmap_DefaultDepth() int { + return int(int32(C.QPixmap_QPixmap_DefaultDepth())) +} + +func (ptr *QPixmap) DefaultDepth() int { + return int(int32(C.QPixmap_QPixmap_DefaultDepth())) +} + +func (ptr *QPixmap) Detach() { + if ptr.Pointer() != nil { + C.QPixmap_Detach(ptr.Pointer()) + } +} + +func (ptr *QPixmap) DevicePixelRatio() float64 { + if ptr.Pointer() != nil { + return float64(C.QPixmap_DevicePixelRatio(ptr.Pointer())) + } + return 0 +} + +func (ptr *QPixmap) Fill(color QColor_ITF) { + if ptr.Pointer() != nil { + C.QPixmap_Fill(ptr.Pointer(), PointerFromQColor(color)) + } +} + +func QPixmap_FromImage(image QImage_ITF, flags core.Qt__ImageConversionFlag) *QPixmap { + tmpValue := NewQPixmapFromPointer(C.QPixmap_QPixmap_FromImage(PointerFromQImage(image), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue +} + +func (ptr *QPixmap) FromImage(image QImage_ITF, flags core.Qt__ImageConversionFlag) *QPixmap { + tmpValue := NewQPixmapFromPointer(C.QPixmap_QPixmap_FromImage(PointerFromQImage(image), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue +} + +func QPixmap_FromImage2(image QImage_ITF, flags core.Qt__ImageConversionFlag) *QPixmap { + tmpValue := NewQPixmapFromPointer(C.QPixmap_QPixmap_FromImage2(PointerFromQImage(image), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue +} + +func (ptr *QPixmap) FromImage2(image QImage_ITF, flags core.Qt__ImageConversionFlag) *QPixmap { + tmpValue := NewQPixmapFromPointer(C.QPixmap_QPixmap_FromImage2(PointerFromQImage(image), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue +} + +func QPixmap_FromImageReader(imageReader QImageReader_ITF, flags core.Qt__ImageConversionFlag) *QPixmap { + tmpValue := NewQPixmapFromPointer(C.QPixmap_QPixmap_FromImageReader(PointerFromQImageReader(imageReader), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue +} + +func (ptr *QPixmap) FromImageReader(imageReader QImageReader_ITF, flags core.Qt__ImageConversionFlag) *QPixmap { + tmpValue := NewQPixmapFromPointer(C.QPixmap_QPixmap_FromImageReader(PointerFromQImageReader(imageReader), C.longlong(flags))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue +} + +func (ptr *QPixmap) HasAlpha() bool { + if ptr.Pointer() != nil { + return int8(C.QPixmap_HasAlpha(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPixmap) HasAlphaChannel() bool { + if ptr.Pointer() != nil { + return int8(C.QPixmap_HasAlphaChannel(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPixmap) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QPixmap_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPixmap) IsQBitmap() bool { + if ptr.Pointer() != nil { + return int8(C.QPixmap_IsQBitmap(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPixmap) Load(fileName string, format string, flags core.Qt__ImageConversionFlag) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPixmap_Load(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC, C.longlong(flags))) != 0 + } + return false +} + +func (ptr *QPixmap) LoadFromData(data []byte, l uint, format string, flags core.Qt__ImageConversionFlag) bool { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPixmap_LoadFromData(ptr.Pointer(), dataC, C.uint(uint32(l)), formatC, C.longlong(flags))) != 0 + } + return false +} + +func (ptr *QPixmap) LoadFromData2(data core.QByteArray_ITF, format string, flags core.Qt__ImageConversionFlag) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPixmap_LoadFromData2(ptr.Pointer(), core.PointerFromQByteArray(data), formatC, C.longlong(flags))) != 0 + } + return false +} + +func (ptr *QPixmap) Mask() *QBitmap { + if ptr.Pointer() != nil { + tmpValue := NewQBitmapFromPointer(C.QPixmap_Mask(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBitmap).DestroyQBitmap) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) Rect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPixmap_Rect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) Save(fileName string, format string, quality int) bool { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPixmap_Save(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, formatC, C.int(int32(quality)))) != 0 + } + return false +} + +func (ptr *QPixmap) Save2(device core.QIODevice_ITF, format string, quality int) bool { + if ptr.Pointer() != nil { + var formatC *C.char + if format != "" { + formatC = C.CString(format) + defer C.free(unsafe.Pointer(formatC)) + } + return int8(C.QPixmap_Save2(ptr.Pointer(), core.PointerFromQIODevice(device), formatC, C.int(int32(quality)))) != 0 + } + return false +} + +func (ptr *QPixmap) Scaled(size core.QSize_ITF, aspectRatioMode core.Qt__AspectRatioMode, transformMode core.Qt__TransformationMode) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QPixmap_Scaled(ptr.Pointer(), core.PointerFromQSize(size), C.longlong(aspectRatioMode), C.longlong(transformMode))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) Scaled2(width int, height int, aspectRatioMode core.Qt__AspectRatioMode, transformMode core.Qt__TransformationMode) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QPixmap_Scaled2(ptr.Pointer(), C.int(int32(width)), C.int(int32(height)), C.longlong(aspectRatioMode), C.longlong(transformMode))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) ScaledToHeight(height int, mode core.Qt__TransformationMode) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QPixmap_ScaledToHeight(ptr.Pointer(), C.int(int32(height)), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) ScaledToWidth(width int, mode core.Qt__TransformationMode) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QPixmap_ScaledToWidth(ptr.Pointer(), C.int(int32(width)), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) Scroll(dx int, dy int, x int, y int, width int, height int, exposed QRegion_ITF) { + if ptr.Pointer() != nil { + C.QPixmap_Scroll(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy)), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)), PointerFromQRegion(exposed)) + } +} + +func (ptr *QPixmap) Scroll2(dx int, dy int, rect core.QRect_ITF, exposed QRegion_ITF) { + if ptr.Pointer() != nil { + C.QPixmap_Scroll2(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy)), core.PointerFromQRect(rect), PointerFromQRegion(exposed)) + } +} + +func (ptr *QPixmap) SetDevicePixelRatio(scaleFactor float64) { + if ptr.Pointer() != nil { + C.QPixmap_SetDevicePixelRatio(ptr.Pointer(), C.double(scaleFactor)) + } +} + +func (ptr *QPixmap) SetMask(mask QBitmap_ITF) { + if ptr.Pointer() != nil { + C.QPixmap_SetMask(ptr.Pointer(), PointerFromQBitmap(mask)) + } +} + +func (ptr *QPixmap) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QPixmap_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) Swap(other QPixmap_ITF) { + if ptr.Pointer() != nil { + C.QPixmap_Swap(ptr.Pointer(), PointerFromQPixmap(other)) + } +} + +func (ptr *QPixmap) ToImage() *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QPixmap_ToImage(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) Transformed(transform QTransform_ITF, mode core.Qt__TransformationMode) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QPixmap_Transformed(ptr.Pointer(), PointerFromQTransform(transform), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QPixmap) Transformed2(matrix QMatrix_ITF, mode core.Qt__TransformationMode) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QPixmap_Transformed2(ptr.Pointer(), PointerFromQMatrix(matrix), C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func QPixmap_TrueMatrix(matrix QTransform_ITF, width int, height int) *QTransform { + tmpValue := NewQTransformFromPointer(C.QPixmap_QPixmap_TrueMatrix(PointerFromQTransform(matrix), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func (ptr *QPixmap) TrueMatrix(matrix QTransform_ITF, width int, height int) *QTransform { + tmpValue := NewQTransformFromPointer(C.QPixmap_QPixmap_TrueMatrix(PointerFromQTransform(matrix), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func QPixmap_TrueMatrix2(m QMatrix_ITF, w int, h int) *QMatrix { + tmpValue := NewQMatrixFromPointer(C.QPixmap_QPixmap_TrueMatrix2(PointerFromQMatrix(m), C.int(int32(w)), C.int(int32(h)))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue +} + +func (ptr *QPixmap) TrueMatrix2(m QMatrix_ITF, w int, h int) *QMatrix { + tmpValue := NewQMatrixFromPointer(C.QPixmap_QPixmap_TrueMatrix2(PointerFromQMatrix(m), C.int(int32(w)), C.int(int32(h)))) + runtime.SetFinalizer(tmpValue, (*QMatrix).DestroyQMatrix) + return tmpValue +} + +//export callbackQPixmap_DestroyQPixmap +func callbackQPixmap_DestroyQPixmap(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QPixmap"); signal != nil { + (*(*func())(signal))() + } else { + NewQPixmapFromPointer(ptr).DestroyQPixmapDefault() + } +} + +func (ptr *QPixmap) ConnectDestroyQPixmap(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QPixmap"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QPixmap", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QPixmap", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QPixmap) DisconnectDestroyQPixmap() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QPixmap") + } +} + +func (ptr *QPixmap) DestroyQPixmap() { + if ptr.Pointer() != nil { + C.QPixmap_DestroyQPixmap(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPixmap) DestroyQPixmapDefault() { + if ptr.Pointer() != nil { + C.QPixmap_DestroyQPixmapDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQPixmap_PaintEngine +func callbackQPixmap_PaintEngine(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "paintEngine"); signal != nil { + return PointerFromQPaintEngine((*(*func() *QPaintEngine)(signal))()) + } + + return PointerFromQPaintEngine(NewQPixmapFromPointer(ptr).PaintEngineDefault()) +} + +func (ptr *QPixmap) PaintEngine() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPixmap_PaintEngine(ptr.Pointer())) + } + return nil +} + +func (ptr *QPixmap) PaintEngineDefault() *QPaintEngine { + if ptr.Pointer() != nil { + return NewQPaintEngineFromPointer(C.QPixmap_PaintEngineDefault(ptr.Pointer())) + } + return nil +} + +type QPixmapCache struct { + ptr unsafe.Pointer +} + +type QPixmapCache_ITF interface { + QPixmapCache_PTR() *QPixmapCache +} + +func (ptr *QPixmapCache) QPixmapCache_PTR() *QPixmapCache { + return ptr +} + +func (ptr *QPixmapCache) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPixmapCache) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPixmapCache(ptr QPixmapCache_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPixmapCache_PTR().Pointer() + } + return nil +} + +func NewQPixmapCacheFromPointer(ptr unsafe.Pointer) (n *QPixmapCache) { + n = new(QPixmapCache) + n.SetPointer(ptr) + return +} + +func (ptr *QPixmapCache) DestroyQPixmapCache() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func QPixmapCache_CacheLimit() int { + return int(int32(C.QPixmapCache_QPixmapCache_CacheLimit())) +} + +func (ptr *QPixmapCache) CacheLimit() int { + return int(int32(C.QPixmapCache_QPixmapCache_CacheLimit())) +} + +func QPixmapCache_Clear() { + C.QPixmapCache_QPixmapCache_Clear() +} + +func (ptr *QPixmapCache) Clear() { + C.QPixmapCache_QPixmapCache_Clear() +} + +func QPixmapCache_Find3(key string, pixmap QPixmap_ITF) bool { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return int8(C.QPixmapCache_QPixmapCache_Find3(C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQPixmap(pixmap))) != 0 +} + +func (ptr *QPixmapCache) Find3(key string, pixmap QPixmap_ITF) bool { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return int8(C.QPixmapCache_QPixmapCache_Find3(C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQPixmap(pixmap))) != 0 +} + +func QPixmapCache_Insert(key string, pixmap QPixmap_ITF) bool { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return int8(C.QPixmapCache_QPixmapCache_Insert(C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQPixmap(pixmap))) != 0 +} + +func (ptr *QPixmapCache) Insert(key string, pixmap QPixmap_ITF) bool { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return int8(C.QPixmapCache_QPixmapCache_Insert(C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}, PointerFromQPixmap(pixmap))) != 0 +} + +func QPixmapCache_Remove(key string) { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QPixmapCache_QPixmapCache_Remove(C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}) +} + +func (ptr *QPixmapCache) Remove(key string) { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QPixmapCache_QPixmapCache_Remove(C.struct_QtGui_PackedString{data: keyC, len: C.longlong(len(key))}) +} + +func QPixmapCache_SetCacheLimit(n int) { + C.QPixmapCache_QPixmapCache_SetCacheLimit(C.int(int32(n))) +} + +func (ptr *QPixmapCache) SetCacheLimit(n int) { + C.QPixmapCache_QPixmapCache_SetCacheLimit(C.int(int32(n))) +} + +type QPlatformDragQtResponse struct { + QPlatformDropQtResponse +} + +type QPlatformDragQtResponse_ITF interface { + QPlatformDropQtResponse_ITF + QPlatformDragQtResponse_PTR() *QPlatformDragQtResponse +} + +func (ptr *QPlatformDragQtResponse) QPlatformDragQtResponse_PTR() *QPlatformDragQtResponse { + return ptr +} + +func (ptr *QPlatformDragQtResponse) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformDropQtResponse_PTR().Pointer() + } + return nil +} + +func (ptr *QPlatformDragQtResponse) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPlatformDropQtResponse_PTR().SetPointer(p) + } +} + +func PointerFromQPlatformDragQtResponse(ptr QPlatformDragQtResponse_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformDragQtResponse_PTR().Pointer() + } + return nil +} + +func NewQPlatformDragQtResponseFromPointer(ptr unsafe.Pointer) (n *QPlatformDragQtResponse) { + n = new(QPlatformDragQtResponse) + n.SetPointer(ptr) + return +} + +func (ptr *QPlatformDragQtResponse) DestroyQPlatformDragQtResponse() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPlatformDropQtResponse struct { + ptr unsafe.Pointer +} + +type QPlatformDropQtResponse_ITF interface { + QPlatformDropQtResponse_PTR() *QPlatformDropQtResponse +} + +func (ptr *QPlatformDropQtResponse) QPlatformDropQtResponse_PTR() *QPlatformDropQtResponse { + return ptr +} + +func (ptr *QPlatformDropQtResponse) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPlatformDropQtResponse) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPlatformDropQtResponse(ptr QPlatformDropQtResponse_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformDropQtResponse_PTR().Pointer() + } + return nil +} + +func NewQPlatformDropQtResponseFromPointer(ptr unsafe.Pointer) (n *QPlatformDropQtResponse) { + n = new(QPlatformDropQtResponse) + n.SetPointer(ptr) + return +} + +func (ptr *QPlatformDropQtResponse) DestroyQPlatformDropQtResponse() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPlatformIntegrationPlugin struct { + core.QObject +} + +type QPlatformIntegrationPlugin_ITF interface { + core.QObject_ITF + QPlatformIntegrationPlugin_PTR() *QPlatformIntegrationPlugin +} + +func (ptr *QPlatformIntegrationPlugin) QPlatformIntegrationPlugin_PTR() *QPlatformIntegrationPlugin { + return ptr +} + +func (ptr *QPlatformIntegrationPlugin) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QPlatformIntegrationPlugin) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQPlatformIntegrationPlugin(ptr QPlatformIntegrationPlugin_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformIntegrationPlugin_PTR().Pointer() + } + return nil +} + +func NewQPlatformIntegrationPluginFromPointer(ptr unsafe.Pointer) (n *QPlatformIntegrationPlugin) { + n = new(QPlatformIntegrationPlugin) + n.SetPointer(ptr) + return +} + +type QPlatformMenu struct { + core.QObject +} + +type QPlatformMenu_ITF interface { + core.QObject_ITF + QPlatformMenu_PTR() *QPlatformMenu +} + +func (ptr *QPlatformMenu) QPlatformMenu_PTR() *QPlatformMenu { + return ptr +} + +func (ptr *QPlatformMenu) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QPlatformMenu) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQPlatformMenu(ptr QPlatformMenu_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformMenu_PTR().Pointer() + } + return nil +} + +func NewQPlatformMenuFromPointer(ptr unsafe.Pointer) (n *QPlatformMenu) { + n = new(QPlatformMenu) + n.SetPointer(ptr) + return +} + +type QPlatformMenuBar struct { + core.QObject +} + +type QPlatformMenuBar_ITF interface { + core.QObject_ITF + QPlatformMenuBar_PTR() *QPlatformMenuBar +} + +func (ptr *QPlatformMenuBar) QPlatformMenuBar_PTR() *QPlatformMenuBar { + return ptr +} + +func (ptr *QPlatformMenuBar) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QPlatformMenuBar) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQPlatformMenuBar(ptr QPlatformMenuBar_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformMenuBar_PTR().Pointer() + } + return nil +} + +func NewQPlatformMenuBarFromPointer(ptr unsafe.Pointer) (n *QPlatformMenuBar) { + n = new(QPlatformMenuBar) + n.SetPointer(ptr) + return +} + +type QPlatformMenuItem struct { + core.QObject +} + +type QPlatformMenuItem_ITF interface { + core.QObject_ITF + QPlatformMenuItem_PTR() *QPlatformMenuItem +} + +func (ptr *QPlatformMenuItem) QPlatformMenuItem_PTR() *QPlatformMenuItem { + return ptr +} + +func (ptr *QPlatformMenuItem) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QPlatformMenuItem) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQPlatformMenuItem(ptr QPlatformMenuItem_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformMenuItem_PTR().Pointer() + } + return nil +} + +func NewQPlatformMenuItemFromPointer(ptr unsafe.Pointer) (n *QPlatformMenuItem) { + n = new(QPlatformMenuItem) + n.SetPointer(ptr) + return +} + +type QPlatformOffscreenSurface struct { + ptr unsafe.Pointer +} + +type QPlatformOffscreenSurface_ITF interface { + QPlatformOffscreenSurface_PTR() *QPlatformOffscreenSurface +} + +func (ptr *QPlatformOffscreenSurface) QPlatformOffscreenSurface_PTR() *QPlatformOffscreenSurface { + return ptr +} + +func (ptr *QPlatformOffscreenSurface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPlatformOffscreenSurface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPlatformOffscreenSurface(ptr QPlatformOffscreenSurface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformOffscreenSurface_PTR().Pointer() + } + return nil +} + +func NewQPlatformOffscreenSurfaceFromPointer(ptr unsafe.Pointer) (n *QPlatformOffscreenSurface) { + n = new(QPlatformOffscreenSurface) + n.SetPointer(ptr) + return +} + +func (ptr *QPlatformOffscreenSurface) DestroyQPlatformOffscreenSurface() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPlatformSessionManager struct { + ptr unsafe.Pointer +} + +type QPlatformSessionManager_ITF interface { + QPlatformSessionManager_PTR() *QPlatformSessionManager +} + +func (ptr *QPlatformSessionManager) QPlatformSessionManager_PTR() *QPlatformSessionManager { + return ptr +} + +func (ptr *QPlatformSessionManager) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPlatformSessionManager) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPlatformSessionManager(ptr QPlatformSessionManager_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformSessionManager_PTR().Pointer() + } + return nil +} + +func NewQPlatformSessionManagerFromPointer(ptr unsafe.Pointer) (n *QPlatformSessionManager) { + n = new(QPlatformSessionManager) + n.SetPointer(ptr) + return +} + +func (ptr *QPlatformSessionManager) DestroyQPlatformSessionManager() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPlatformSurfaceEvent struct { + core.QEvent +} + +type QPlatformSurfaceEvent_ITF interface { + core.QEvent_ITF + QPlatformSurfaceEvent_PTR() *QPlatformSurfaceEvent +} + +func (ptr *QPlatformSurfaceEvent) QPlatformSurfaceEvent_PTR() *QPlatformSurfaceEvent { + return ptr +} + +func (ptr *QPlatformSurfaceEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QPlatformSurfaceEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQPlatformSurfaceEvent(ptr QPlatformSurfaceEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformSurfaceEvent_PTR().Pointer() + } + return nil +} + +func NewQPlatformSurfaceEventFromPointer(ptr unsafe.Pointer) (n *QPlatformSurfaceEvent) { + n = new(QPlatformSurfaceEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QPlatformSurfaceEvent) DestroyQPlatformSurfaceEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QPlatformSurfaceEvent__SurfaceEventType +//QPlatformSurfaceEvent::SurfaceEventType +type QPlatformSurfaceEvent__SurfaceEventType int64 + +const ( + QPlatformSurfaceEvent__SurfaceCreated QPlatformSurfaceEvent__SurfaceEventType = QPlatformSurfaceEvent__SurfaceEventType(0) + QPlatformSurfaceEvent__SurfaceAboutToBeDestroyed QPlatformSurfaceEvent__SurfaceEventType = QPlatformSurfaceEvent__SurfaceEventType(1) +) + +func NewQPlatformSurfaceEvent(surfaceEventType QPlatformSurfaceEvent__SurfaceEventType) *QPlatformSurfaceEvent { + tmpValue := NewQPlatformSurfaceEventFromPointer(C.QPlatformSurfaceEvent_NewQPlatformSurfaceEvent(C.longlong(surfaceEventType))) + runtime.SetFinalizer(tmpValue, (*QPlatformSurfaceEvent).DestroyQPlatformSurfaceEvent) + return tmpValue +} + +func (ptr *QPlatformSurfaceEvent) SurfaceEventType() QPlatformSurfaceEvent__SurfaceEventType { + if ptr.Pointer() != nil { + return QPlatformSurfaceEvent__SurfaceEventType(C.QPlatformSurfaceEvent_SurfaceEventType(ptr.Pointer())) + } + return 0 +} + +type QPlatformTextureList struct { + core.QObject +} + +type QPlatformTextureList_ITF interface { + core.QObject_ITF + QPlatformTextureList_PTR() *QPlatformTextureList +} + +func (ptr *QPlatformTextureList) QPlatformTextureList_PTR() *QPlatformTextureList { + return ptr +} + +func (ptr *QPlatformTextureList) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QPlatformTextureList) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQPlatformTextureList(ptr QPlatformTextureList_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPlatformTextureList_PTR().Pointer() + } + return nil +} + +func NewQPlatformTextureListFromPointer(ptr unsafe.Pointer) (n *QPlatformTextureList) { + n = new(QPlatformTextureList) + n.SetPointer(ptr) + return +} + +type QPointingDeviceUniqueId struct { + ptr unsafe.Pointer +} + +type QPointingDeviceUniqueId_ITF interface { + QPointingDeviceUniqueId_PTR() *QPointingDeviceUniqueId +} + +func (ptr *QPointingDeviceUniqueId) QPointingDeviceUniqueId_PTR() *QPointingDeviceUniqueId { + return ptr +} + +func (ptr *QPointingDeviceUniqueId) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPointingDeviceUniqueId) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPointingDeviceUniqueId(ptr QPointingDeviceUniqueId_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPointingDeviceUniqueId_PTR().Pointer() + } + return nil +} + +func NewQPointingDeviceUniqueIdFromPointer(ptr unsafe.Pointer) (n *QPointingDeviceUniqueId) { + n = new(QPointingDeviceUniqueId) + n.SetPointer(ptr) + return +} + +func (ptr *QPointingDeviceUniqueId) DestroyQPointingDeviceUniqueId() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQPointingDeviceUniqueId() *QPointingDeviceUniqueId { + tmpValue := NewQPointingDeviceUniqueIdFromPointer(C.QPointingDeviceUniqueId_NewQPointingDeviceUniqueId()) + runtime.SetFinalizer(tmpValue, (*QPointingDeviceUniqueId).DestroyQPointingDeviceUniqueId) + return tmpValue +} + +func QPointingDeviceUniqueId_FromNumericId(id int64) *QPointingDeviceUniqueId { + tmpValue := NewQPointingDeviceUniqueIdFromPointer(C.QPointingDeviceUniqueId_QPointingDeviceUniqueId_FromNumericId(C.longlong(id))) + runtime.SetFinalizer(tmpValue, (*QPointingDeviceUniqueId).DestroyQPointingDeviceUniqueId) + return tmpValue +} + +func (ptr *QPointingDeviceUniqueId) FromNumericId(id int64) *QPointingDeviceUniqueId { + tmpValue := NewQPointingDeviceUniqueIdFromPointer(C.QPointingDeviceUniqueId_QPointingDeviceUniqueId_FromNumericId(C.longlong(id))) + runtime.SetFinalizer(tmpValue, (*QPointingDeviceUniqueId).DestroyQPointingDeviceUniqueId) + return tmpValue +} + +func (ptr *QPointingDeviceUniqueId) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QPointingDeviceUniqueId_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPointingDeviceUniqueId) NumericId() int64 { + if ptr.Pointer() != nil { + return int64(C.QPointingDeviceUniqueId_NumericId(ptr.Pointer())) + } + return 0 +} + +type QPolygon struct { + core.QVector +} + +type QPolygon_ITF interface { + core.QVector_ITF + QPolygon_PTR() *QPolygon +} + +func (ptr *QPolygon) QPolygon_PTR() *QPolygon { + return ptr +} + +func (ptr *QPolygon) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QVector_PTR().Pointer() + } + return nil +} + +func (ptr *QPolygon) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QVector_PTR().SetPointer(p) + } +} + +func PointerFromQPolygon(ptr QPolygon_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPolygon_PTR().Pointer() + } + return nil +} + +func NewQPolygonFromPointer(ptr unsafe.Pointer) (n *QPolygon) { + n = new(QPolygon) + n.SetPointer(ptr) + return +} +func NewQPolygon() *QPolygon { + tmpValue := NewQPolygonFromPointer(C.QPolygon_NewQPolygon()) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue +} + +func NewQPolygon2(size int) *QPolygon { + tmpValue := NewQPolygonFromPointer(C.QPolygon_NewQPolygon2(C.int(int32(size)))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue +} + +func NewQPolygon3(points []*core.QPoint) *QPolygon { + tmpValue := NewQPolygonFromPointer(C.QPolygon_NewQPolygon3(func() unsafe.Pointer { + tmpList := NewQPolygonFromPointer(NewQPolygonFromPointer(nil).__QPolygon_points_newList3()) + for _, v := range points { + tmpList.__QPolygon_points_setList3(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue +} + +func NewQPolygon5(rectangle core.QRect_ITF, closed bool) *QPolygon { + tmpValue := NewQPolygonFromPointer(C.QPolygon_NewQPolygon5(core.PointerFromQRect(rectangle), C.char(int8(qt.GoBoolToInt(closed))))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue +} + +func (ptr *QPolygon) BoundingRect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QPolygon_BoundingRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QPolygon) ContainsPoint(point core.QPoint_ITF, fillRule core.Qt__FillRule) bool { + if ptr.Pointer() != nil { + return int8(C.QPolygon_ContainsPoint(ptr.Pointer(), core.PointerFromQPoint(point), C.longlong(fillRule))) != 0 + } + return false +} + +func (ptr *QPolygon) Intersected(r QPolygon_ITF) *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QPolygon_Intersected(ptr.Pointer(), PointerFromQPolygon(r))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func (ptr *QPolygon) Intersects(p QPolygon_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPolygon_Intersects(ptr.Pointer(), PointerFromQPolygon(p))) != 0 + } + return false +} + +func (ptr *QPolygon) Point(index int, x int, y int) { + if ptr.Pointer() != nil { + C.QPolygon_Point(ptr.Pointer(), C.int(int32(index)), C.int(int32(x)), C.int(int32(y))) + } +} + +func (ptr *QPolygon) Point2(index int) *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QPolygon_Point2(ptr.Pointer(), C.int(int32(index)))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QPolygon) PutPoints(index int, nPoints int, fromPolygon QPolygon_ITF, fromIndex int) { + if ptr.Pointer() != nil { + C.QPolygon_PutPoints(ptr.Pointer(), C.int(int32(index)), C.int(int32(nPoints)), PointerFromQPolygon(fromPolygon), C.int(int32(fromIndex))) + } +} + +func (ptr *QPolygon) SetPoint(index int, x int, y int) { + if ptr.Pointer() != nil { + C.QPolygon_SetPoint(ptr.Pointer(), C.int(int32(index)), C.int(int32(x)), C.int(int32(y))) + } +} + +func (ptr *QPolygon) SetPoint2(index int, point core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPolygon_SetPoint2(ptr.Pointer(), C.int(int32(index)), core.PointerFromQPoint(point)) + } +} + +func (ptr *QPolygon) SetPoints(nPoints int, points int) { + if ptr.Pointer() != nil { + C.QPolygon_SetPoints(ptr.Pointer(), C.int(int32(nPoints)), C.int(int32(points))) + } +} + +func (ptr *QPolygon) Subtracted(r QPolygon_ITF) *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QPolygon_Subtracted(ptr.Pointer(), PointerFromQPolygon(r))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func (ptr *QPolygon) Swap(other QPolygon_ITF) { + if ptr.Pointer() != nil { + C.QPolygon_Swap(ptr.Pointer(), PointerFromQPolygon(other)) + } +} + +func (ptr *QPolygon) Translate(dx int, dy int) { + if ptr.Pointer() != nil { + C.QPolygon_Translate(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy))) + } +} + +func (ptr *QPolygon) Translate2(offset core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPolygon_Translate2(ptr.Pointer(), core.PointerFromQPoint(offset)) + } +} + +func (ptr *QPolygon) Translated(dx int, dy int) *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QPolygon_Translated(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy)))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func (ptr *QPolygon) Translated2(offset core.QPoint_ITF) *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QPolygon_Translated2(ptr.Pointer(), core.PointerFromQPoint(offset))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func (ptr *QPolygon) United(r QPolygon_ITF) *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QPolygon_United(ptr.Pointer(), PointerFromQPolygon(r))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func (ptr *QPolygon) DestroyQPolygon() { + if ptr.Pointer() != nil { + C.QPolygon_DestroyQPolygon(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPolygon) __QPolygon_points_atList3(i int) *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QPolygon___QPolygon_points_atList3(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __QPolygon_points_setList3(i core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___QPolygon_points_setList3(ptr.Pointer(), core.PointerFromQPoint(i)) + } +} + +func (ptr *QPolygon) __QPolygon_points_newList3() unsafe.Pointer { + return C.QPolygon___QPolygon_points_newList3(ptr.Pointer()) +} + +func (ptr *QPolygon) __QPolygon_v_atList4(i int) *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QPolygon___QPolygon_v_atList4(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __QPolygon_v_setList4(i core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___QPolygon_v_setList4(ptr.Pointer(), core.PointerFromQPoint(i)) + } +} + +func (ptr *QPolygon) __QPolygon_v_newList4() unsafe.Pointer { + return C.QPolygon___QPolygon_v_newList4(ptr.Pointer()) +} + +func (ptr *QPolygon) __QVector_other_atList4(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___QVector_other_atList4(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __QVector_other_setList4(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___QVector_other_setList4(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __QVector_other_newList4() unsafe.Pointer { + return C.QPolygon___QVector_other_newList4(ptr.Pointer()) +} + +func (ptr *QPolygon) __QVector_other_atList5(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___QVector_other_atList5(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __QVector_other_setList5(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___QVector_other_setList5(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __QVector_other_newList5() unsafe.Pointer { + return C.QPolygon___QVector_other_newList5(ptr.Pointer()) +} + +func (ptr *QPolygon) __append_value_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___append_value_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __append_value_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___append_value_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __append_value_newList3() unsafe.Pointer { + return C.QPolygon___append_value_newList3(ptr.Pointer()) +} + +func (ptr *QPolygon) __fill_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___fill_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __fill_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___fill_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __fill_newList() unsafe.Pointer { + return C.QPolygon___fill_newList(ptr.Pointer()) +} + +func (ptr *QPolygon) __fromList_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___fromList_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __fromList_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___fromList_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __fromList_newList() unsafe.Pointer { + return C.QPolygon___fromList_newList(ptr.Pointer()) +} + +func (ptr *QPolygon) __fromList_list_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___fromList_list_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __fromList_list_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___fromList_list_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __fromList_list_newList() unsafe.Pointer { + return C.QPolygon___fromList_list_newList(ptr.Pointer()) +} + +func (ptr *QPolygon) __fromStdVector_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___fromStdVector_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __fromStdVector_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___fromStdVector_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __fromStdVector_newList() unsafe.Pointer { + return C.QPolygon___fromStdVector_newList(ptr.Pointer()) +} + +func (ptr *QPolygon) __mid_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___mid_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __mid_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___mid_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __mid_newList() unsafe.Pointer { + return C.QPolygon___mid_newList(ptr.Pointer()) +} + +func (ptr *QPolygon) __swap_other_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___swap_other_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __swap_other_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___swap_other_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __swap_other_newList() unsafe.Pointer { + return C.QPolygon___swap_other_newList(ptr.Pointer()) +} + +func (ptr *QPolygon) __toList_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygon___toList_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygon) __toList_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygon___toList_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygon) __toList_newList() unsafe.Pointer { + return C.QPolygon___toList_newList(ptr.Pointer()) +} + +type QPolygonF struct { + core.QVector +} + +type QPolygonF_ITF interface { + core.QVector_ITF + QPolygonF_PTR() *QPolygonF +} + +func (ptr *QPolygonF) QPolygonF_PTR() *QPolygonF { + return ptr +} + +func (ptr *QPolygonF) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QVector_PTR().Pointer() + } + return nil +} + +func (ptr *QPolygonF) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QVector_PTR().SetPointer(p) + } +} + +func PointerFromQPolygonF(ptr QPolygonF_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPolygonF_PTR().Pointer() + } + return nil +} + +func NewQPolygonFFromPointer(ptr unsafe.Pointer) (n *QPolygonF) { + n = new(QPolygonF) + n.SetPointer(ptr) + return +} +func NewQPolygonF() *QPolygonF { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_NewQPolygonF()) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue +} + +func NewQPolygonF2(size int) *QPolygonF { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_NewQPolygonF2(C.int(int32(size)))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue +} + +func NewQPolygonF3(points []*core.QPointF) *QPolygonF { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_NewQPolygonF3(func() unsafe.Pointer { + tmpList := NewQPolygonFFromPointer(NewQPolygonFFromPointer(nil).__QPolygonF_points_newList3()) + for _, v := range points { + tmpList.__QPolygonF_points_setList3(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue +} + +func NewQPolygonF5(rectangle core.QRectF_ITF) *QPolygonF { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_NewQPolygonF5(core.PointerFromQRectF(rectangle))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue +} + +func NewQPolygonF6(polygon QPolygon_ITF) *QPolygonF { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_NewQPolygonF6(PointerFromQPolygon(polygon))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue +} + +func NewQPolygonF7(polygon QPolygonF_ITF) *QPolygonF { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_NewQPolygonF7(PointerFromQPolygonF(polygon))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue +} + +func (ptr *QPolygonF) BoundingRect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QPolygonF_BoundingRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) ContainsPoint(point core.QPointF_ITF, fillRule core.Qt__FillRule) bool { + if ptr.Pointer() != nil { + return int8(C.QPolygonF_ContainsPoint(ptr.Pointer(), core.PointerFromQPointF(point), C.longlong(fillRule))) != 0 + } + return false +} + +func (ptr *QPolygonF) Intersected(r QPolygonF_ITF) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_Intersected(ptr.Pointer(), PointerFromQPolygonF(r))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) Intersects(p QPolygonF_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QPolygonF_Intersects(ptr.Pointer(), PointerFromQPolygonF(p))) != 0 + } + return false +} + +func (ptr *QPolygonF) IsClosed() bool { + if ptr.Pointer() != nil { + return int8(C.QPolygonF_IsClosed(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QPolygonF) Subtracted(r QPolygonF_ITF) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_Subtracted(ptr.Pointer(), PointerFromQPolygonF(r))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) Swap(other QPolygonF_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF_Swap(ptr.Pointer(), PointerFromQPolygonF(other)) + } +} + +func (ptr *QPolygonF) ToPolygon() *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QPolygonF_ToPolygon(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) Translate(offset core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF_Translate(ptr.Pointer(), core.PointerFromQPointF(offset)) + } +} + +func (ptr *QPolygonF) Translate2(dx float64, dy float64) { + if ptr.Pointer() != nil { + C.QPolygonF_Translate2(ptr.Pointer(), C.double(dx), C.double(dy)) + } +} + +func (ptr *QPolygonF) Translated(offset core.QPointF_ITF) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_Translated(ptr.Pointer(), core.PointerFromQPointF(offset))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) Translated2(dx float64, dy float64) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_Translated2(ptr.Pointer(), C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) United(r QPolygonF_ITF) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QPolygonF_United(ptr.Pointer(), PointerFromQPolygonF(r))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) DestroyQPolygonF() { + if ptr.Pointer() != nil { + C.QPolygonF_DestroyQPolygonF(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QPolygonF) __QPolygonF_points_atList3(i int) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QPolygonF___QPolygonF_points_atList3(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __QPolygonF_points_setList3(i core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___QPolygonF_points_setList3(ptr.Pointer(), core.PointerFromQPointF(i)) + } +} + +func (ptr *QPolygonF) __QPolygonF_points_newList3() unsafe.Pointer { + return C.QPolygonF___QPolygonF_points_newList3(ptr.Pointer()) +} + +func (ptr *QPolygonF) __QPolygonF_v_atList4(i int) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QPolygonF___QPolygonF_v_atList4(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __QPolygonF_v_setList4(i core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___QPolygonF_v_setList4(ptr.Pointer(), core.PointerFromQPointF(i)) + } +} + +func (ptr *QPolygonF) __QPolygonF_v_newList4() unsafe.Pointer { + return C.QPolygonF___QPolygonF_v_newList4(ptr.Pointer()) +} + +func (ptr *QPolygonF) __QVector_other_atList4(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___QVector_other_atList4(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __QVector_other_setList4(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___QVector_other_setList4(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __QVector_other_newList4() unsafe.Pointer { + return C.QPolygonF___QVector_other_newList4(ptr.Pointer()) +} + +func (ptr *QPolygonF) __QVector_other_atList5(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___QVector_other_atList5(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __QVector_other_setList5(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___QVector_other_setList5(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __QVector_other_newList5() unsafe.Pointer { + return C.QPolygonF___QVector_other_newList5(ptr.Pointer()) +} + +func (ptr *QPolygonF) __append_value_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___append_value_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __append_value_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___append_value_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __append_value_newList3() unsafe.Pointer { + return C.QPolygonF___append_value_newList3(ptr.Pointer()) +} + +func (ptr *QPolygonF) __fill_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___fill_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __fill_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___fill_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __fill_newList() unsafe.Pointer { + return C.QPolygonF___fill_newList(ptr.Pointer()) +} + +func (ptr *QPolygonF) __fromList_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___fromList_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __fromList_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___fromList_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __fromList_newList() unsafe.Pointer { + return C.QPolygonF___fromList_newList(ptr.Pointer()) +} + +func (ptr *QPolygonF) __fromList_list_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___fromList_list_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __fromList_list_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___fromList_list_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __fromList_list_newList() unsafe.Pointer { + return C.QPolygonF___fromList_list_newList(ptr.Pointer()) +} + +func (ptr *QPolygonF) __fromStdVector_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___fromStdVector_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __fromStdVector_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___fromStdVector_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __fromStdVector_newList() unsafe.Pointer { + return C.QPolygonF___fromStdVector_newList(ptr.Pointer()) +} + +func (ptr *QPolygonF) __mid_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___mid_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __mid_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___mid_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __mid_newList() unsafe.Pointer { + return C.QPolygonF___mid_newList(ptr.Pointer()) +} + +func (ptr *QPolygonF) __swap_other_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___swap_other_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __swap_other_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___swap_other_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __swap_other_newList() unsafe.Pointer { + return C.QPolygonF___swap_other_newList(ptr.Pointer()) +} + +func (ptr *QPolygonF) __toList_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QPolygonF___toList_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QPolygonF) __toList_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QPolygonF___toList_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QPolygonF) __toList_newList() unsafe.Pointer { + return C.QPolygonF___toList_newList(ptr.Pointer()) +} + +type QQuaternion struct { + ptr unsafe.Pointer +} + +type QQuaternion_ITF interface { + QQuaternion_PTR() *QQuaternion +} + +func (ptr *QQuaternion) QQuaternion_PTR() *QQuaternion { + return ptr +} + +func (ptr *QQuaternion) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQuaternion) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQuaternion(ptr QQuaternion_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQuaternion_PTR().Pointer() + } + return nil +} + +func NewQQuaternionFromPointer(ptr unsafe.Pointer) (n *QQuaternion) { + n = new(QQuaternion) + n.SetPointer(ptr) + return +} + +func (ptr *QQuaternion) DestroyQQuaternion() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQQuaternion() *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_NewQQuaternion()) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func NewQQuaternion3(scalar float32, xpos float32, ypos float32, zpos float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_NewQQuaternion3(C.float(scalar), C.float(xpos), C.float(ypos), C.float(zpos))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func NewQQuaternion4(scalar float32, vector QVector3D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_NewQQuaternion4(C.float(scalar), PointerFromQVector3D(vector))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func NewQQuaternion5(vector QVector4D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_NewQQuaternion5(PointerFromQVector4D(vector))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) Conjugated() *QQuaternion { + if ptr.Pointer() != nil { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_Conjugated(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue + } + return nil +} + +func QQuaternion_DotProduct(q1 QQuaternion_ITF, q2 QQuaternion_ITF) float32 { + return float32(C.QQuaternion_QQuaternion_DotProduct(PointerFromQQuaternion(q1), PointerFromQQuaternion(q2))) +} + +func (ptr *QQuaternion) DotProduct(q1 QQuaternion_ITF, q2 QQuaternion_ITF) float32 { + return float32(C.QQuaternion_QQuaternion_DotProduct(PointerFromQQuaternion(q1), PointerFromQQuaternion(q2))) +} + +func QQuaternion_FromAxes(xAxis QVector3D_ITF, yAxis QVector3D_ITF, zAxis QVector3D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromAxes(PointerFromQVector3D(xAxis), PointerFromQVector3D(yAxis), PointerFromQVector3D(zAxis))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) FromAxes(xAxis QVector3D_ITF, yAxis QVector3D_ITF, zAxis QVector3D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromAxes(PointerFromQVector3D(xAxis), PointerFromQVector3D(yAxis), PointerFromQVector3D(zAxis))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func QQuaternion_FromAxisAndAngle(axis QVector3D_ITF, angle float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromAxisAndAngle(PointerFromQVector3D(axis), C.float(angle))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) FromAxisAndAngle(axis QVector3D_ITF, angle float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromAxisAndAngle(PointerFromQVector3D(axis), C.float(angle))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func QQuaternion_FromAxisAndAngle2(x float32, y float32, z float32, angle float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromAxisAndAngle2(C.float(x), C.float(y), C.float(z), C.float(angle))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) FromAxisAndAngle2(x float32, y float32, z float32, angle float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromAxisAndAngle2(C.float(x), C.float(y), C.float(z), C.float(angle))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func QQuaternion_FromDirection(direction QVector3D_ITF, up QVector3D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromDirection(PointerFromQVector3D(direction), PointerFromQVector3D(up))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) FromDirection(direction QVector3D_ITF, up QVector3D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromDirection(PointerFromQVector3D(direction), PointerFromQVector3D(up))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func QQuaternion_FromEulerAngles(pitch float32, yaw float32, roll float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromEulerAngles(C.float(pitch), C.float(yaw), C.float(roll))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) FromEulerAngles(pitch float32, yaw float32, roll float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromEulerAngles(C.float(pitch), C.float(yaw), C.float(roll))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func QQuaternion_FromEulerAngles2(eulerAngles QVector3D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromEulerAngles2(PointerFromQVector3D(eulerAngles))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) FromEulerAngles2(eulerAngles QVector3D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_FromEulerAngles2(PointerFromQVector3D(eulerAngles))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) GetAxes(xAxis QVector3D_ITF, yAxis QVector3D_ITF, zAxis QVector3D_ITF) { + if ptr.Pointer() != nil { + C.QQuaternion_GetAxes(ptr.Pointer(), PointerFromQVector3D(xAxis), PointerFromQVector3D(yAxis), PointerFromQVector3D(zAxis)) + } +} + +func (ptr *QQuaternion) GetAxisAndAngle(x float32, y float32, z float32, angle float32) { + if ptr.Pointer() != nil { + C.QQuaternion_GetAxisAndAngle(ptr.Pointer(), C.float(x), C.float(y), C.float(z), C.float(angle)) + } +} + +func (ptr *QQuaternion) GetAxisAndAngle2(axis QVector3D_ITF, angle float32) { + if ptr.Pointer() != nil { + C.QQuaternion_GetAxisAndAngle2(ptr.Pointer(), PointerFromQVector3D(axis), C.float(angle)) + } +} + +func (ptr *QQuaternion) GetEulerAngles(pitch float32, yaw float32, roll float32) { + if ptr.Pointer() != nil { + C.QQuaternion_GetEulerAngles(ptr.Pointer(), C.float(pitch), C.float(yaw), C.float(roll)) + } +} + +func (ptr *QQuaternion) Inverted() *QQuaternion { + if ptr.Pointer() != nil { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_Inverted(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue + } + return nil +} + +func (ptr *QQuaternion) IsIdentity() bool { + if ptr.Pointer() != nil { + return int8(C.QQuaternion_IsIdentity(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQuaternion) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QQuaternion_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQuaternion) Length() float32 { + if ptr.Pointer() != nil { + return float32(C.QQuaternion_Length(ptr.Pointer())) + } + return 0 +} + +func (ptr *QQuaternion) LengthSquared() float32 { + if ptr.Pointer() != nil { + return float32(C.QQuaternion_LengthSquared(ptr.Pointer())) + } + return 0 +} + +func QQuaternion_Nlerp(q1 QQuaternion_ITF, q2 QQuaternion_ITF, t float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_Nlerp(PointerFromQQuaternion(q1), PointerFromQQuaternion(q2), C.float(t))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) Nlerp(q1 QQuaternion_ITF, q2 QQuaternion_ITF, t float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_Nlerp(PointerFromQQuaternion(q1), PointerFromQQuaternion(q2), C.float(t))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) Normalize() { + if ptr.Pointer() != nil { + C.QQuaternion_Normalize(ptr.Pointer()) + } +} + +func (ptr *QQuaternion) Normalized() *QQuaternion { + if ptr.Pointer() != nil { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_Normalized(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue + } + return nil +} + +func (ptr *QQuaternion) RotatedVector(vector QVector3D_ITF) *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QQuaternion_RotatedVector(ptr.Pointer(), PointerFromQVector3D(vector))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func QQuaternion_RotationTo(from QVector3D_ITF, to QVector3D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_RotationTo(PointerFromQVector3D(from), PointerFromQVector3D(to))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) RotationTo(from QVector3D_ITF, to QVector3D_ITF) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_RotationTo(PointerFromQVector3D(from), PointerFromQVector3D(to))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) Scalar() float32 { + if ptr.Pointer() != nil { + return float32(C.QQuaternion_Scalar(ptr.Pointer())) + } + return 0 +} + +func (ptr *QQuaternion) SetScalar(scalar float32) { + if ptr.Pointer() != nil { + C.QQuaternion_SetScalar(ptr.Pointer(), C.float(scalar)) + } +} + +func (ptr *QQuaternion) SetVector(vector QVector3D_ITF) { + if ptr.Pointer() != nil { + C.QQuaternion_SetVector(ptr.Pointer(), PointerFromQVector3D(vector)) + } +} + +func (ptr *QQuaternion) SetVector2(x float32, y float32, z float32) { + if ptr.Pointer() != nil { + C.QQuaternion_SetVector2(ptr.Pointer(), C.float(x), C.float(y), C.float(z)) + } +} + +func (ptr *QQuaternion) SetX(x float32) { + if ptr.Pointer() != nil { + C.QQuaternion_SetX(ptr.Pointer(), C.float(x)) + } +} + +func (ptr *QQuaternion) SetY(y float32) { + if ptr.Pointer() != nil { + C.QQuaternion_SetY(ptr.Pointer(), C.float(y)) + } +} + +func (ptr *QQuaternion) SetZ(z float32) { + if ptr.Pointer() != nil { + C.QQuaternion_SetZ(ptr.Pointer(), C.float(z)) + } +} + +func QQuaternion_Slerp(q1 QQuaternion_ITF, q2 QQuaternion_ITF, t float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_Slerp(PointerFromQQuaternion(q1), PointerFromQQuaternion(q2), C.float(t))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) Slerp(q1 QQuaternion_ITF, q2 QQuaternion_ITF, t float32) *QQuaternion { + tmpValue := NewQQuaternionFromPointer(C.QQuaternion_QQuaternion_Slerp(PointerFromQQuaternion(q1), PointerFromQQuaternion(q2), C.float(t))) + runtime.SetFinalizer(tmpValue, (*QQuaternion).DestroyQQuaternion) + return tmpValue +} + +func (ptr *QQuaternion) ToEulerAngles() *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QQuaternion_ToEulerAngles(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QQuaternion) ToVector4D() *QVector4D { + if ptr.Pointer() != nil { + tmpValue := NewQVector4DFromPointer(C.QQuaternion_ToVector4D(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue + } + return nil +} + +func (ptr *QQuaternion) Vector() *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QQuaternion_Vector(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QQuaternion) X() float32 { + if ptr.Pointer() != nil { + return float32(C.QQuaternion_X(ptr.Pointer())) + } + return 0 +} + +func (ptr *QQuaternion) Y() float32 { + if ptr.Pointer() != nil { + return float32(C.QQuaternion_Y(ptr.Pointer())) + } + return 0 +} + +func (ptr *QQuaternion) Z() float32 { + if ptr.Pointer() != nil { + return float32(C.QQuaternion_Z(ptr.Pointer())) + } + return 0 +} + +type QRadialGradient struct { + QGradient +} + +type QRadialGradient_ITF interface { + QGradient_ITF + QRadialGradient_PTR() *QRadialGradient +} + +func (ptr *QRadialGradient) QRadialGradient_PTR() *QRadialGradient { + return ptr +} + +func (ptr *QRadialGradient) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QGradient_PTR().Pointer() + } + return nil +} + +func (ptr *QRadialGradient) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QGradient_PTR().SetPointer(p) + } +} + +func PointerFromQRadialGradient(ptr QRadialGradient_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRadialGradient_PTR().Pointer() + } + return nil +} + +func NewQRadialGradientFromPointer(ptr unsafe.Pointer) (n *QRadialGradient) { + n = new(QRadialGradient) + n.SetPointer(ptr) + return +} + +func (ptr *QRadialGradient) DestroyQRadialGradient() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQRadialGradient() *QRadialGradient { + tmpValue := NewQRadialGradientFromPointer(C.QRadialGradient_NewQRadialGradient()) + runtime.SetFinalizer(tmpValue, (*QRadialGradient).DestroyQRadialGradient) + return tmpValue +} + +func NewQRadialGradient2(center core.QPointF_ITF, radius float64, focalPoint core.QPointF_ITF) *QRadialGradient { + tmpValue := NewQRadialGradientFromPointer(C.QRadialGradient_NewQRadialGradient2(core.PointerFromQPointF(center), C.double(radius), core.PointerFromQPointF(focalPoint))) + runtime.SetFinalizer(tmpValue, (*QRadialGradient).DestroyQRadialGradient) + return tmpValue +} + +func NewQRadialGradient3(cx float64, cy float64, radius float64, fx float64, fy float64) *QRadialGradient { + tmpValue := NewQRadialGradientFromPointer(C.QRadialGradient_NewQRadialGradient3(C.double(cx), C.double(cy), C.double(radius), C.double(fx), C.double(fy))) + runtime.SetFinalizer(tmpValue, (*QRadialGradient).DestroyQRadialGradient) + return tmpValue +} + +func NewQRadialGradient4(center core.QPointF_ITF, radius float64) *QRadialGradient { + tmpValue := NewQRadialGradientFromPointer(C.QRadialGradient_NewQRadialGradient4(core.PointerFromQPointF(center), C.double(radius))) + runtime.SetFinalizer(tmpValue, (*QRadialGradient).DestroyQRadialGradient) + return tmpValue +} + +func NewQRadialGradient5(cx float64, cy float64, radius float64) *QRadialGradient { + tmpValue := NewQRadialGradientFromPointer(C.QRadialGradient_NewQRadialGradient5(C.double(cx), C.double(cy), C.double(radius))) + runtime.SetFinalizer(tmpValue, (*QRadialGradient).DestroyQRadialGradient) + return tmpValue +} + +func NewQRadialGradient6(center core.QPointF_ITF, centerRadius float64, focalPoint core.QPointF_ITF, focalRadius float64) *QRadialGradient { + tmpValue := NewQRadialGradientFromPointer(C.QRadialGradient_NewQRadialGradient6(core.PointerFromQPointF(center), C.double(centerRadius), core.PointerFromQPointF(focalPoint), C.double(focalRadius))) + runtime.SetFinalizer(tmpValue, (*QRadialGradient).DestroyQRadialGradient) + return tmpValue +} + +func NewQRadialGradient7(cx float64, cy float64, centerRadius float64, fx float64, fy float64, focalRadius float64) *QRadialGradient { + tmpValue := NewQRadialGradientFromPointer(C.QRadialGradient_NewQRadialGradient7(C.double(cx), C.double(cy), C.double(centerRadius), C.double(fx), C.double(fy), C.double(focalRadius))) + runtime.SetFinalizer(tmpValue, (*QRadialGradient).DestroyQRadialGradient) + return tmpValue +} + +func (ptr *QRadialGradient) Center() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QRadialGradient_Center(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QRadialGradient) CenterRadius() float64 { + if ptr.Pointer() != nil { + return float64(C.QRadialGradient_CenterRadius(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRadialGradient) FocalPoint() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QRadialGradient_FocalPoint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QRadialGradient) FocalRadius() float64 { + if ptr.Pointer() != nil { + return float64(C.QRadialGradient_FocalRadius(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRadialGradient) Radius() float64 { + if ptr.Pointer() != nil { + return float64(C.QRadialGradient_Radius(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRadialGradient) SetCenter(center core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRadialGradient_SetCenter(ptr.Pointer(), core.PointerFromQPointF(center)) + } +} + +func (ptr *QRadialGradient) SetCenter2(x float64, y float64) { + if ptr.Pointer() != nil { + C.QRadialGradient_SetCenter2(ptr.Pointer(), C.double(x), C.double(y)) + } +} + +func (ptr *QRadialGradient) SetCenterRadius(radius float64) { + if ptr.Pointer() != nil { + C.QRadialGradient_SetCenterRadius(ptr.Pointer(), C.double(radius)) + } +} + +func (ptr *QRadialGradient) SetFocalPoint(focalPoint core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRadialGradient_SetFocalPoint(ptr.Pointer(), core.PointerFromQPointF(focalPoint)) + } +} + +func (ptr *QRadialGradient) SetFocalPoint2(x float64, y float64) { + if ptr.Pointer() != nil { + C.QRadialGradient_SetFocalPoint2(ptr.Pointer(), C.double(x), C.double(y)) + } +} + +func (ptr *QRadialGradient) SetFocalRadius(radius float64) { + if ptr.Pointer() != nil { + C.QRadialGradient_SetFocalRadius(ptr.Pointer(), C.double(radius)) + } +} + +func (ptr *QRadialGradient) SetRadius(radius float64) { + if ptr.Pointer() != nil { + C.QRadialGradient_SetRadius(ptr.Pointer(), C.double(radius)) + } +} + +type QRasterPaintEngine struct { + QPaintEngine +} + +type QRasterPaintEngine_ITF interface { + QPaintEngine_ITF + QRasterPaintEngine_PTR() *QRasterPaintEngine +} + +func (ptr *QRasterPaintEngine) QRasterPaintEngine_PTR() *QRasterPaintEngine { + return ptr +} + +func (ptr *QRasterPaintEngine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPaintEngine_PTR().Pointer() + } + return nil +} + +func (ptr *QRasterPaintEngine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPaintEngine_PTR().SetPointer(p) + } +} + +func PointerFromQRasterPaintEngine(ptr QRasterPaintEngine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRasterPaintEngine_PTR().Pointer() + } + return nil +} + +func NewQRasterPaintEngineFromPointer(ptr unsafe.Pointer) (n *QRasterPaintEngine) { + n = new(QRasterPaintEngine) + n.SetPointer(ptr) + return +} + +type QRasterWindow struct { + QPaintDeviceWindow +} + +type QRasterWindow_ITF interface { + QPaintDeviceWindow_ITF + QRasterWindow_PTR() *QRasterWindow +} + +func (ptr *QRasterWindow) QRasterWindow_PTR() *QRasterWindow { + return ptr +} + +func (ptr *QRasterWindow) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QPaintDeviceWindow_PTR().Pointer() + } + return nil +} + +func (ptr *QRasterWindow) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QPaintDeviceWindow_PTR().SetPointer(p) + } +} + +func PointerFromQRasterWindow(ptr QRasterWindow_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRasterWindow_PTR().Pointer() + } + return nil +} + +func NewQRasterWindowFromPointer(ptr unsafe.Pointer) (n *QRasterWindow) { + n = new(QRasterWindow) + n.SetPointer(ptr) + return +} +func NewQRasterWindow(parent QWindow_ITF) *QRasterWindow { + tmpValue := NewQRasterWindowFromPointer(C.QRasterWindow_NewQRasterWindow(PointerFromQWindow(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +type QRawFont struct { + ptr unsafe.Pointer +} + +type QRawFont_ITF interface { + QRawFont_PTR() *QRawFont +} + +func (ptr *QRawFont) QRawFont_PTR() *QRawFont { + return ptr +} + +func (ptr *QRawFont) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRawFont) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRawFont(ptr QRawFont_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRawFont_PTR().Pointer() + } + return nil +} + +func NewQRawFontFromPointer(ptr unsafe.Pointer) (n *QRawFont) { + n = new(QRawFont) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QRawFont__AntialiasingType +//QRawFont::AntialiasingType +type QRawFont__AntialiasingType int64 + +const ( + QRawFont__PixelAntialiasing QRawFont__AntialiasingType = QRawFont__AntialiasingType(0) + QRawFont__SubPixelAntialiasing QRawFont__AntialiasingType = QRawFont__AntialiasingType(1) +) + +//go:generate stringer -type=QRawFont__LayoutFlag +//QRawFont::LayoutFlag +type QRawFont__LayoutFlag int64 + +const ( + QRawFont__SeparateAdvances QRawFont__LayoutFlag = QRawFont__LayoutFlag(0) + QRawFont__KernedAdvances QRawFont__LayoutFlag = QRawFont__LayoutFlag(1) + QRawFont__UseDesignMetrics QRawFont__LayoutFlag = QRawFont__LayoutFlag(2) +) + +func NewQRawFont() *QRawFont { + tmpValue := NewQRawFontFromPointer(C.QRawFont_NewQRawFont()) + runtime.SetFinalizer(tmpValue, (*QRawFont).DestroyQRawFont) + return tmpValue +} + +func NewQRawFont2(fileName string, pixelSize float64, hintingPreference QFont__HintingPreference) *QRawFont { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQRawFontFromPointer(C.QRawFont_NewQRawFont2(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.double(pixelSize), C.longlong(hintingPreference))) + runtime.SetFinalizer(tmpValue, (*QRawFont).DestroyQRawFont) + return tmpValue +} + +func NewQRawFont3(fontData core.QByteArray_ITF, pixelSize float64, hintingPreference QFont__HintingPreference) *QRawFont { + tmpValue := NewQRawFontFromPointer(C.QRawFont_NewQRawFont3(core.PointerFromQByteArray(fontData), C.double(pixelSize), C.longlong(hintingPreference))) + runtime.SetFinalizer(tmpValue, (*QRawFont).DestroyQRawFont) + return tmpValue +} + +func NewQRawFont4(other QRawFont_ITF) *QRawFont { + tmpValue := NewQRawFontFromPointer(C.QRawFont_NewQRawFont4(PointerFromQRawFont(other))) + runtime.SetFinalizer(tmpValue, (*QRawFont).DestroyQRawFont) + return tmpValue +} + +func (ptr *QRawFont) AdvancesForGlyphIndexes(glyphIndexes []uint, layoutFlags QRawFont__LayoutFlag) []*core.QPointF { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QPointF { + out := make([]*core.QPointF, int(l.len)) + tmpList := NewQRawFontFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__advancesForGlyphIndexes_atList(i) + } + return out + }(C.QRawFont_AdvancesForGlyphIndexes(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQRawFontFromPointer(NewQRawFontFromPointer(nil).__advancesForGlyphIndexes_glyphIndexes_newList()) + for _, v := range glyphIndexes { + tmpList.__advancesForGlyphIndexes_glyphIndexes_setList(v) + } + return tmpList.Pointer() + }(), C.longlong(layoutFlags))) + } + return make([]*core.QPointF, 0) +} + +func (ptr *QRawFont) AdvancesForGlyphIndexes2(glyphIndexes []uint) []*core.QPointF { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QPointF { + out := make([]*core.QPointF, int(l.len)) + tmpList := NewQRawFontFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__advancesForGlyphIndexes_atList2(i) + } + return out + }(C.QRawFont_AdvancesForGlyphIndexes2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQRawFontFromPointer(NewQRawFontFromPointer(nil).__advancesForGlyphIndexes_glyphIndexes_newList2()) + for _, v := range glyphIndexes { + tmpList.__advancesForGlyphIndexes_glyphIndexes_setList2(v) + } + return tmpList.Pointer() + }())) + } + return make([]*core.QPointF, 0) +} + +func (ptr *QRawFont) AdvancesForGlyphIndexes3(glyphIndexes uint, advances core.QPointF_ITF, numGlyphs int) bool { + if ptr.Pointer() != nil { + return int8(C.QRawFont_AdvancesForGlyphIndexes3(ptr.Pointer(), C.uint(uint32(glyphIndexes)), core.PointerFromQPointF(advances), C.int(int32(numGlyphs)))) != 0 + } + return false +} + +func (ptr *QRawFont) AdvancesForGlyphIndexes4(glyphIndexes uint, advances core.QPointF_ITF, numGlyphs int, layoutFlags QRawFont__LayoutFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QRawFont_AdvancesForGlyphIndexes4(ptr.Pointer(), C.uint(uint32(glyphIndexes)), core.PointerFromQPointF(advances), C.int(int32(numGlyphs)), C.longlong(layoutFlags))) != 0 + } + return false +} + +func (ptr *QRawFont) AlphaMapForGlyph(glyphIndex uint, antialiasingType QRawFont__AntialiasingType, transform QTransform_ITF) *QImage { + if ptr.Pointer() != nil { + tmpValue := NewQImageFromPointer(C.QRawFont_AlphaMapForGlyph(ptr.Pointer(), C.uint(uint32(glyphIndex)), C.longlong(antialiasingType), PointerFromQTransform(transform))) + runtime.SetFinalizer(tmpValue, (*QImage).DestroyQImage) + return tmpValue + } + return nil +} + +func (ptr *QRawFont) Ascent() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_Ascent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) AverageCharWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_AverageCharWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) BoundingRect(glyphIndex uint) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QRawFont_BoundingRect(ptr.Pointer(), C.uint(uint32(glyphIndex)))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QRawFont) CapHeight() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_CapHeight(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) Descent() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_Descent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) FamilyName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRawFont_FamilyName(ptr.Pointer())) + } + return "" +} + +func (ptr *QRawFont) FontTable(tagName string) *core.QByteArray { + if ptr.Pointer() != nil { + var tagNameC *C.char + if tagName != "" { + tagNameC = C.CString(tagName) + defer C.free(unsafe.Pointer(tagNameC)) + } + tmpValue := core.NewQByteArrayFromPointer(C.QRawFont_FontTable(ptr.Pointer(), tagNameC)) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func QRawFont_FromFont(font QFont_ITF, writingSystem QFontDatabase__WritingSystem) *QRawFont { + tmpValue := NewQRawFontFromPointer(C.QRawFont_QRawFont_FromFont(PointerFromQFont(font), C.longlong(writingSystem))) + runtime.SetFinalizer(tmpValue, (*QRawFont).DestroyQRawFont) + return tmpValue +} + +func (ptr *QRawFont) FromFont(font QFont_ITF, writingSystem QFontDatabase__WritingSystem) *QRawFont { + tmpValue := NewQRawFontFromPointer(C.QRawFont_QRawFont_FromFont(PointerFromQFont(font), C.longlong(writingSystem))) + runtime.SetFinalizer(tmpValue, (*QRawFont).DestroyQRawFont) + return tmpValue +} + +func (ptr *QRawFont) GlyphIndexesForChars(chars core.QChar_ITF, numChars int, glyphIndexes uint, numGlyphs int) bool { + if ptr.Pointer() != nil { + return int8(C.QRawFont_GlyphIndexesForChars(ptr.Pointer(), core.PointerFromQChar(chars), C.int(int32(numChars)), C.uint(uint32(glyphIndexes)), C.int(int32(numGlyphs)))) != 0 + } + return false +} + +func (ptr *QRawFont) GlyphIndexesForString(text string) []uint { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return func(l C.struct_QtGui_PackedList) []uint { + out := make([]uint, int(l.len)) + tmpList := NewQRawFontFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__glyphIndexesForString_atList(i) + } + return out + }(C.QRawFont_GlyphIndexesForString(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + } + return make([]uint, 0) +} + +func (ptr *QRawFont) HintingPreference() QFont__HintingPreference { + if ptr.Pointer() != nil { + return QFont__HintingPreference(C.QRawFont_HintingPreference(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QRawFont_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRawFont) Leading() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_Leading(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) LineThickness() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_LineThickness(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) LoadFromData(fontData core.QByteArray_ITF, pixelSize float64, hintingPreference QFont__HintingPreference) { + if ptr.Pointer() != nil { + C.QRawFont_LoadFromData(ptr.Pointer(), core.PointerFromQByteArray(fontData), C.double(pixelSize), C.longlong(hintingPreference)) + } +} + +func (ptr *QRawFont) LoadFromFile(fileName string, pixelSize float64, hintingPreference QFont__HintingPreference) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QRawFont_LoadFromFile(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.double(pixelSize), C.longlong(hintingPreference)) + } +} + +func (ptr *QRawFont) MaxCharWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_MaxCharWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) PathForGlyph(glyphIndex uint) *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QRawFont_PathForGlyph(ptr.Pointer(), C.uint(uint32(glyphIndex)))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QRawFont) PixelSize() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_PixelSize(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) SetPixelSize(pixelSize float64) { + if ptr.Pointer() != nil { + C.QRawFont_SetPixelSize(ptr.Pointer(), C.double(pixelSize)) + } +} + +func (ptr *QRawFont) Style() QFont__Style { + if ptr.Pointer() != nil { + return QFont__Style(C.QRawFont_Style(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) StyleName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRawFont_StyleName(ptr.Pointer())) + } + return "" +} + +func (ptr *QRawFont) SupportedWritingSystems() []QFontDatabase__WritingSystem { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []QFontDatabase__WritingSystem { + out := make([]QFontDatabase__WritingSystem, int(l.len)) + tmpList := NewQRawFontFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedWritingSystems_atList(i) + } + return out + }(C.QRawFont_SupportedWritingSystems(ptr.Pointer())) + } + return make([]QFontDatabase__WritingSystem, 0) +} + +func (ptr *QRawFont) SupportsCharacter(character core.QChar_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QRawFont_SupportsCharacter(ptr.Pointer(), core.PointerFromQChar(character))) != 0 + } + return false +} + +func (ptr *QRawFont) SupportsCharacter2(ucs4 uint) bool { + if ptr.Pointer() != nil { + return int8(C.QRawFont_SupportsCharacter2(ptr.Pointer(), C.uint(uint32(ucs4)))) != 0 + } + return false +} + +func (ptr *QRawFont) Swap(other QRawFont_ITF) { + if ptr.Pointer() != nil { + C.QRawFont_Swap(ptr.Pointer(), PointerFromQRawFont(other)) + } +} + +func (ptr *QRawFont) UnderlinePosition() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_UnderlinePosition(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) UnitsPerEm() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_UnitsPerEm(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) Weight() int { + if ptr.Pointer() != nil { + return int(int32(C.QRawFont_Weight(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRawFont) XHeight() float64 { + if ptr.Pointer() != nil { + return float64(C.QRawFont_XHeight(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRawFont) DestroyQRawFont() { + if ptr.Pointer() != nil { + C.QRawFont_DestroyQRawFont(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_atList(i int) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QRawFont___advancesForGlyphIndexes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_setList(i core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRawFont___advancesForGlyphIndexes_setList(ptr.Pointer(), core.PointerFromQPointF(i)) + } +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_newList() unsafe.Pointer { + return C.QRawFont___advancesForGlyphIndexes_newList(ptr.Pointer()) +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_glyphIndexes_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QRawFont___advancesForGlyphIndexes_glyphIndexes_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_glyphIndexes_setList(i uint) { + if ptr.Pointer() != nil { + C.QRawFont___advancesForGlyphIndexes_glyphIndexes_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_glyphIndexes_newList() unsafe.Pointer { + return C.QRawFont___advancesForGlyphIndexes_glyphIndexes_newList(ptr.Pointer()) +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_atList2(i int) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QRawFont___advancesForGlyphIndexes_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_setList2(i core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QRawFont___advancesForGlyphIndexes_setList2(ptr.Pointer(), core.PointerFromQPointF(i)) + } +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_newList2() unsafe.Pointer { + return C.QRawFont___advancesForGlyphIndexes_newList2(ptr.Pointer()) +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_glyphIndexes_atList2(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QRawFont___advancesForGlyphIndexes_glyphIndexes_atList2(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_glyphIndexes_setList2(i uint) { + if ptr.Pointer() != nil { + C.QRawFont___advancesForGlyphIndexes_glyphIndexes_setList2(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QRawFont) __advancesForGlyphIndexes_glyphIndexes_newList2() unsafe.Pointer { + return C.QRawFont___advancesForGlyphIndexes_glyphIndexes_newList2(ptr.Pointer()) +} + +func (ptr *QRawFont) __glyphIndexesForString_atList(i int) uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QRawFont___glyphIndexesForString_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QRawFont) __glyphIndexesForString_setList(i uint) { + if ptr.Pointer() != nil { + C.QRawFont___glyphIndexesForString_setList(ptr.Pointer(), C.uint(uint32(i))) + } +} + +func (ptr *QRawFont) __glyphIndexesForString_newList() unsafe.Pointer { + return C.QRawFont___glyphIndexesForString_newList(ptr.Pointer()) +} + +func (ptr *QRawFont) __supportedWritingSystems_atList(i int) QFontDatabase__WritingSystem { + if ptr.Pointer() != nil { + return QFontDatabase__WritingSystem(C.QRawFont___supportedWritingSystems_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QRawFont) __supportedWritingSystems_setList(i QFontDatabase__WritingSystem) { + if ptr.Pointer() != nil { + C.QRawFont___supportedWritingSystems_setList(ptr.Pointer(), C.longlong(i)) + } +} + +func (ptr *QRawFont) __supportedWritingSystems_newList() unsafe.Pointer { + return C.QRawFont___supportedWritingSystems_newList(ptr.Pointer()) +} + +type QRegExpValidator struct { + QValidator +} + +type QRegExpValidator_ITF interface { + QValidator_ITF + QRegExpValidator_PTR() *QRegExpValidator +} + +func (ptr *QRegExpValidator) QRegExpValidator_PTR() *QRegExpValidator { + return ptr +} + +func (ptr *QRegExpValidator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QValidator_PTR().Pointer() + } + return nil +} + +func (ptr *QRegExpValidator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QValidator_PTR().SetPointer(p) + } +} + +func PointerFromQRegExpValidator(ptr QRegExpValidator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRegExpValidator_PTR().Pointer() + } + return nil +} + +func NewQRegExpValidatorFromPointer(ptr unsafe.Pointer) (n *QRegExpValidator) { + n = new(QRegExpValidator) + n.SetPointer(ptr) + return +} +func NewQRegExpValidator(parent core.QObject_ITF) *QRegExpValidator { + tmpValue := NewQRegExpValidatorFromPointer(C.QRegExpValidator_NewQRegExpValidator(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQRegExpValidator2(rx core.QRegExp_ITF, parent core.QObject_ITF) *QRegExpValidator { + tmpValue := NewQRegExpValidatorFromPointer(C.QRegExpValidator_NewQRegExpValidator2(core.PointerFromQRegExp(rx), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QRegExpValidator) RegExp() *core.QRegExp { + if ptr.Pointer() != nil { + return core.NewQRegExpFromPointer(C.QRegExpValidator_RegExp(ptr.Pointer())) + } + return nil +} + +//export callbackQRegExpValidator_RegExpChanged +func callbackQRegExpValidator_RegExpChanged(ptr unsafe.Pointer, regExp unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "regExpChanged"); signal != nil { + (*(*func(*core.QRegExp))(signal))(core.NewQRegExpFromPointer(regExp)) + } + +} + +func (ptr *QRegExpValidator) ConnectRegExpChanged(f func(regExp *core.QRegExp)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "regExpChanged") { + C.QRegExpValidator_ConnectRegExpChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "regExpChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "regExpChanged"); signal != nil { + f := func(regExp *core.QRegExp) { + (*(*func(*core.QRegExp))(signal))(regExp) + f(regExp) + } + qt.ConnectSignal(ptr.Pointer(), "regExpChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "regExpChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QRegExpValidator) DisconnectRegExpChanged() { + if ptr.Pointer() != nil { + C.QRegExpValidator_DisconnectRegExpChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "regExpChanged") + } +} + +func (ptr *QRegExpValidator) RegExpChanged(regExp core.QRegExp_ITF) { + if ptr.Pointer() != nil { + C.QRegExpValidator_RegExpChanged(ptr.Pointer(), core.PointerFromQRegExp(regExp)) + } +} + +func (ptr *QRegExpValidator) SetRegExp(rx core.QRegExp_ITF) { + if ptr.Pointer() != nil { + C.QRegExpValidator_SetRegExp(ptr.Pointer(), core.PointerFromQRegExp(rx)) + } +} + +//export callbackQRegExpValidator_Validate +func callbackQRegExpValidator_Validate(ptr unsafe.Pointer, input C.struct_QtGui_PackedString, pos C.int) C.longlong { + if signal := qt.GetSignal(ptr, "validate"); signal != nil { + return C.longlong((*(*func(string, int) QValidator__State)(signal))(cGoUnpackString(input), int(int32(pos)))) + } + + return C.longlong(NewQRegExpValidatorFromPointer(ptr).ValidateDefault(cGoUnpackString(input), int(int32(pos)))) +} + +func (ptr *QRegExpValidator) ConnectValidate(f func(input string, pos int) QValidator__State) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "validate"); signal != nil { + f := func(input string, pos int) QValidator__State { + (*(*func(string, int) QValidator__State)(signal))(input, pos) + return f(input, pos) + } + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QRegExpValidator) DisconnectValidate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "validate") + } +} + +func (ptr *QRegExpValidator) Validate(input string, pos int) QValidator__State { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + return QValidator__State(C.QRegExpValidator_Validate(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}, C.int(int32(pos)))) + } + return 0 +} + +func (ptr *QRegExpValidator) ValidateDefault(input string, pos int) QValidator__State { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + return QValidator__State(C.QRegExpValidator_ValidateDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}, C.int(int32(pos)))) + } + return 0 +} + +//export callbackQRegExpValidator_DestroyQRegExpValidator +func callbackQRegExpValidator_DestroyQRegExpValidator(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QRegExpValidator"); signal != nil { + (*(*func())(signal))() + } else { + NewQRegExpValidatorFromPointer(ptr).DestroyQRegExpValidatorDefault() + } +} + +func (ptr *QRegExpValidator) ConnectDestroyQRegExpValidator(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QRegExpValidator"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QRegExpValidator", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QRegExpValidator", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QRegExpValidator) DisconnectDestroyQRegExpValidator() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QRegExpValidator") + } +} + +func (ptr *QRegExpValidator) DestroyQRegExpValidator() { + if ptr.Pointer() != nil { + C.QRegExpValidator_DestroyQRegExpValidator(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QRegExpValidator) DestroyQRegExpValidatorDefault() { + if ptr.Pointer() != nil { + C.QRegExpValidator_DestroyQRegExpValidatorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QRegion struct { + ptr unsafe.Pointer +} + +type QRegion_ITF interface { + QRegion_PTR() *QRegion +} + +func (ptr *QRegion) QRegion_PTR() *QRegion { + return ptr +} + +func (ptr *QRegion) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRegion) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRegion(ptr QRegion_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRegion_PTR().Pointer() + } + return nil +} + +func NewQRegionFromPointer(ptr unsafe.Pointer) (n *QRegion) { + n = new(QRegion) + n.SetPointer(ptr) + return +} + +func (ptr *QRegion) DestroyQRegion() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QRegion__RegionType +//QRegion::RegionType +type QRegion__RegionType int64 + +const ( + QRegion__Rectangle QRegion__RegionType = QRegion__RegionType(0) + QRegion__Ellipse QRegion__RegionType = QRegion__RegionType(1) +) + +func NewQRegion() *QRegion { + tmpValue := NewQRegionFromPointer(C.QRegion_NewQRegion()) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue +} + +func NewQRegion2(x int, y int, w int, h int, t QRegion__RegionType) *QRegion { + tmpValue := NewQRegionFromPointer(C.QRegion_NewQRegion2(C.int(int32(x)), C.int(int32(y)), C.int(int32(w)), C.int(int32(h)), C.longlong(t))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue +} + +func NewQRegion3(r core.QRect_ITF, t QRegion__RegionType) *QRegion { + tmpValue := NewQRegionFromPointer(C.QRegion_NewQRegion3(core.PointerFromQRect(r), C.longlong(t))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue +} + +func NewQRegion4(a QPolygon_ITF, fillRule core.Qt__FillRule) *QRegion { + tmpValue := NewQRegionFromPointer(C.QRegion_NewQRegion4(PointerFromQPolygon(a), C.longlong(fillRule))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue +} + +func NewQRegion5(r QRegion_ITF) *QRegion { + tmpValue := NewQRegionFromPointer(C.QRegion_NewQRegion5(PointerFromQRegion(r))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue +} + +func NewQRegion6(other QRegion_ITF) *QRegion { + tmpValue := NewQRegionFromPointer(C.QRegion_NewQRegion6(PointerFromQRegion(other))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue +} + +func NewQRegion7(bm QBitmap_ITF) *QRegion { + tmpValue := NewQRegionFromPointer(C.QRegion_NewQRegion7(PointerFromQBitmap(bm))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue +} + +func (ptr *QRegion) BoundingRect() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QRegion_BoundingRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRegion) Contains(p core.QPoint_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QRegion_Contains(ptr.Pointer(), core.PointerFromQPoint(p))) != 0 + } + return false +} + +func (ptr *QRegion) Contains2(r core.QRect_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QRegion_Contains2(ptr.Pointer(), core.PointerFromQRect(r))) != 0 + } + return false +} + +func (ptr *QRegion) Intersected(r QRegion_ITF) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QRegion_Intersected(ptr.Pointer(), PointerFromQRegion(r))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QRegion) Intersected2(rect core.QRect_ITF) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QRegion_Intersected2(ptr.Pointer(), core.PointerFromQRect(rect))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QRegion) Intersects(region QRegion_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QRegion_Intersects(ptr.Pointer(), PointerFromQRegion(region))) != 0 + } + return false +} + +func (ptr *QRegion) Intersects2(rect core.QRect_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QRegion_Intersects2(ptr.Pointer(), core.PointerFromQRect(rect))) != 0 + } + return false +} + +func (ptr *QRegion) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QRegion_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRegion) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QRegion_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRegion) RectCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QRegion_RectCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRegion) SetRects(rects core.QRect_ITF, number int) { + if ptr.Pointer() != nil { + C.QRegion_SetRects(ptr.Pointer(), core.PointerFromQRect(rects), C.int(int32(number))) + } +} + +func (ptr *QRegion) Subtracted(r QRegion_ITF) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QRegion_Subtracted(ptr.Pointer(), PointerFromQRegion(r))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QRegion) Swap(other QRegion_ITF) { + if ptr.Pointer() != nil { + C.QRegion_Swap(ptr.Pointer(), PointerFromQRegion(other)) + } +} + +func (ptr *QRegion) Translate(dx int, dy int) { + if ptr.Pointer() != nil { + C.QRegion_Translate(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy))) + } +} + +func (ptr *QRegion) Translate2(point core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QRegion_Translate2(ptr.Pointer(), core.PointerFromQPoint(point)) + } +} + +func (ptr *QRegion) Translated(dx int, dy int) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QRegion_Translated(ptr.Pointer(), C.int(int32(dx)), C.int(int32(dy)))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QRegion) Translated2(p core.QPoint_ITF) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QRegion_Translated2(ptr.Pointer(), core.PointerFromQPoint(p))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QRegion) United(r QRegion_ITF) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QRegion_United(ptr.Pointer(), PointerFromQRegion(r))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QRegion) United2(rect core.QRect_ITF) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QRegion_United2(ptr.Pointer(), core.PointerFromQRect(rect))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QRegion) Xored(r QRegion_ITF) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QRegion_Xored(ptr.Pointer(), PointerFromQRegion(r))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QRegion) __rects_atList(i int) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QRegion___rects_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QRegion) __rects_setList(i core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QRegion___rects_setList(ptr.Pointer(), core.PointerFromQRect(i)) + } +} + +func (ptr *QRegion) __rects_newList() unsafe.Pointer { + return C.QRegion___rects_newList(ptr.Pointer()) +} + +type QRegularExpressionValidator struct { + QValidator +} + +type QRegularExpressionValidator_ITF interface { + QValidator_ITF + QRegularExpressionValidator_PTR() *QRegularExpressionValidator +} + +func (ptr *QRegularExpressionValidator) QRegularExpressionValidator_PTR() *QRegularExpressionValidator { + return ptr +} + +func (ptr *QRegularExpressionValidator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QValidator_PTR().Pointer() + } + return nil +} + +func (ptr *QRegularExpressionValidator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QValidator_PTR().SetPointer(p) + } +} + +func PointerFromQRegularExpressionValidator(ptr QRegularExpressionValidator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRegularExpressionValidator_PTR().Pointer() + } + return nil +} + +func NewQRegularExpressionValidatorFromPointer(ptr unsafe.Pointer) (n *QRegularExpressionValidator) { + n = new(QRegularExpressionValidator) + n.SetPointer(ptr) + return +} +func NewQRegularExpressionValidator(parent core.QObject_ITF) *QRegularExpressionValidator { + tmpValue := NewQRegularExpressionValidatorFromPointer(C.QRegularExpressionValidator_NewQRegularExpressionValidator(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQRegularExpressionValidator2(re core.QRegularExpression_ITF, parent core.QObject_ITF) *QRegularExpressionValidator { + tmpValue := NewQRegularExpressionValidatorFromPointer(C.QRegularExpressionValidator_NewQRegularExpressionValidator2(core.PointerFromQRegularExpression(re), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QRegularExpressionValidator) RegularExpression() *core.QRegularExpression { + if ptr.Pointer() != nil { + tmpValue := core.NewQRegularExpressionFromPointer(C.QRegularExpressionValidator_RegularExpression(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRegularExpression).DestroyQRegularExpression) + return tmpValue + } + return nil +} + +//export callbackQRegularExpressionValidator_RegularExpressionChanged +func callbackQRegularExpressionValidator_RegularExpressionChanged(ptr unsafe.Pointer, re unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "regularExpressionChanged"); signal != nil { + (*(*func(*core.QRegularExpression))(signal))(core.NewQRegularExpressionFromPointer(re)) + } + +} + +func (ptr *QRegularExpressionValidator) ConnectRegularExpressionChanged(f func(re *core.QRegularExpression)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "regularExpressionChanged") { + C.QRegularExpressionValidator_ConnectRegularExpressionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "regularExpressionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "regularExpressionChanged"); signal != nil { + f := func(re *core.QRegularExpression) { + (*(*func(*core.QRegularExpression))(signal))(re) + f(re) + } + qt.ConnectSignal(ptr.Pointer(), "regularExpressionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "regularExpressionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QRegularExpressionValidator) DisconnectRegularExpressionChanged() { + if ptr.Pointer() != nil { + C.QRegularExpressionValidator_DisconnectRegularExpressionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "regularExpressionChanged") + } +} + +func (ptr *QRegularExpressionValidator) RegularExpressionChanged(re core.QRegularExpression_ITF) { + if ptr.Pointer() != nil { + C.QRegularExpressionValidator_RegularExpressionChanged(ptr.Pointer(), core.PointerFromQRegularExpression(re)) + } +} + +//export callbackQRegularExpressionValidator_SetRegularExpression +func callbackQRegularExpressionValidator_SetRegularExpression(ptr unsafe.Pointer, re unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setRegularExpression"); signal != nil { + (*(*func(*core.QRegularExpression))(signal))(core.NewQRegularExpressionFromPointer(re)) + } else { + NewQRegularExpressionValidatorFromPointer(ptr).SetRegularExpressionDefault(core.NewQRegularExpressionFromPointer(re)) + } +} + +func (ptr *QRegularExpressionValidator) ConnectSetRegularExpression(f func(re *core.QRegularExpression)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setRegularExpression"); signal != nil { + f := func(re *core.QRegularExpression) { + (*(*func(*core.QRegularExpression))(signal))(re) + f(re) + } + qt.ConnectSignal(ptr.Pointer(), "setRegularExpression", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setRegularExpression", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QRegularExpressionValidator) DisconnectSetRegularExpression() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setRegularExpression") + } +} + +func (ptr *QRegularExpressionValidator) SetRegularExpression(re core.QRegularExpression_ITF) { + if ptr.Pointer() != nil { + C.QRegularExpressionValidator_SetRegularExpression(ptr.Pointer(), core.PointerFromQRegularExpression(re)) + } +} + +func (ptr *QRegularExpressionValidator) SetRegularExpressionDefault(re core.QRegularExpression_ITF) { + if ptr.Pointer() != nil { + C.QRegularExpressionValidator_SetRegularExpressionDefault(ptr.Pointer(), core.PointerFromQRegularExpression(re)) + } +} + +//export callbackQRegularExpressionValidator_Validate +func callbackQRegularExpressionValidator_Validate(ptr unsafe.Pointer, input C.struct_QtGui_PackedString, pos C.int) C.longlong { + if signal := qt.GetSignal(ptr, "validate"); signal != nil { + return C.longlong((*(*func(string, int) QValidator__State)(signal))(cGoUnpackString(input), int(int32(pos)))) + } + + return C.longlong(NewQRegularExpressionValidatorFromPointer(ptr).ValidateDefault(cGoUnpackString(input), int(int32(pos)))) +} + +func (ptr *QRegularExpressionValidator) ConnectValidate(f func(input string, pos int) QValidator__State) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "validate"); signal != nil { + f := func(input string, pos int) QValidator__State { + (*(*func(string, int) QValidator__State)(signal))(input, pos) + return f(input, pos) + } + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QRegularExpressionValidator) DisconnectValidate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "validate") + } +} + +func (ptr *QRegularExpressionValidator) Validate(input string, pos int) QValidator__State { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + return QValidator__State(C.QRegularExpressionValidator_Validate(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}, C.int(int32(pos)))) + } + return 0 +} + +func (ptr *QRegularExpressionValidator) ValidateDefault(input string, pos int) QValidator__State { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + return QValidator__State(C.QRegularExpressionValidator_ValidateDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}, C.int(int32(pos)))) + } + return 0 +} + +//export callbackQRegularExpressionValidator_DestroyQRegularExpressionValidator +func callbackQRegularExpressionValidator_DestroyQRegularExpressionValidator(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QRegularExpressionValidator"); signal != nil { + (*(*func())(signal))() + } else { + NewQRegularExpressionValidatorFromPointer(ptr).DestroyQRegularExpressionValidatorDefault() + } +} + +func (ptr *QRegularExpressionValidator) ConnectDestroyQRegularExpressionValidator(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QRegularExpressionValidator"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QRegularExpressionValidator", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QRegularExpressionValidator", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QRegularExpressionValidator) DisconnectDestroyQRegularExpressionValidator() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QRegularExpressionValidator") + } +} + +func (ptr *QRegularExpressionValidator) DestroyQRegularExpressionValidator() { + if ptr.Pointer() != nil { + C.QRegularExpressionValidator_DestroyQRegularExpressionValidator(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QRegularExpressionValidator) DestroyQRegularExpressionValidatorDefault() { + if ptr.Pointer() != nil { + C.QRegularExpressionValidator_DestroyQRegularExpressionValidatorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QResizeEvent struct { + core.QEvent +} + +type QResizeEvent_ITF interface { + core.QEvent_ITF + QResizeEvent_PTR() *QResizeEvent +} + +func (ptr *QResizeEvent) QResizeEvent_PTR() *QResizeEvent { + return ptr +} + +func (ptr *QResizeEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QResizeEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQResizeEvent(ptr QResizeEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QResizeEvent_PTR().Pointer() + } + return nil +} + +func NewQResizeEventFromPointer(ptr unsafe.Pointer) (n *QResizeEvent) { + n = new(QResizeEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QResizeEvent) DestroyQResizeEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQResizeEvent(size core.QSize_ITF, oldSize core.QSize_ITF) *QResizeEvent { + tmpValue := NewQResizeEventFromPointer(C.QResizeEvent_NewQResizeEvent(core.PointerFromQSize(size), core.PointerFromQSize(oldSize))) + runtime.SetFinalizer(tmpValue, (*QResizeEvent).DestroyQResizeEvent) + return tmpValue +} + +func (ptr *QResizeEvent) OldSize() *core.QSize { + if ptr.Pointer() != nil { + return core.NewQSizeFromPointer(C.QResizeEvent_OldSize(ptr.Pointer())) + } + return nil +} + +func (ptr *QResizeEvent) Size() *core.QSize { + if ptr.Pointer() != nil { + return core.NewQSizeFromPointer(C.QResizeEvent_Size(ptr.Pointer())) + } + return nil +} + +type QRgba64 struct { + ptr unsafe.Pointer +} + +type QRgba64_ITF interface { + QRgba64_PTR() *QRgba64 +} + +func (ptr *QRgba64) QRgba64_PTR() *QRgba64 { + return ptr +} + +func (ptr *QRgba64) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QRgba64) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQRgba64(ptr QRgba64_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QRgba64_PTR().Pointer() + } + return nil +} + +func NewQRgba64FromPointer(ptr unsafe.Pointer) (n *QRgba64) { + n = new(QRgba64) + n.SetPointer(ptr) + return +} + +func (ptr *QRgba64) DestroyQRgba64() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QRgba64) Alpha() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QRgba64_Alpha(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRgba64) Alpha8() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRgba64_Alpha8(ptr.Pointer())) + } + return "" +} + +func (ptr *QRgba64) Blue() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QRgba64_Blue(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRgba64) Blue8() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRgba64_Blue8(ptr.Pointer())) + } + return "" +} + +func (ptr *QRgba64) Green() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QRgba64_Green(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRgba64) Green8() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRgba64_Green8(ptr.Pointer())) + } + return "" +} + +func (ptr *QRgba64) IsOpaque() bool { + if ptr.Pointer() != nil { + return int8(C.QRgba64_IsOpaque(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRgba64) IsTransparent() bool { + if ptr.Pointer() != nil { + return int8(C.QRgba64_IsTransparent(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QRgba64) Red() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QRgba64_Red(ptr.Pointer())) + } + return 0 +} + +func (ptr *QRgba64) Red8() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QRgba64_Red8(ptr.Pointer())) + } + return "" +} + +func (ptr *QRgba64) SetAlpha(alpha uint16) { + if ptr.Pointer() != nil { + C.QRgba64_SetAlpha(ptr.Pointer(), C.ushort(alpha)) + } +} + +func (ptr *QRgba64) SetBlue(blue uint16) { + if ptr.Pointer() != nil { + C.QRgba64_SetBlue(ptr.Pointer(), C.ushort(blue)) + } +} + +func (ptr *QRgba64) SetGreen(green uint16) { + if ptr.Pointer() != nil { + C.QRgba64_SetGreen(ptr.Pointer(), C.ushort(green)) + } +} + +func (ptr *QRgba64) SetRed(red uint16) { + if ptr.Pointer() != nil { + C.QRgba64_SetRed(ptr.Pointer(), C.ushort(red)) + } +} + +func (ptr *QRgba64) ToArgb32() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QRgba64_ToArgb32(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QRgba64) ToRgb16() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QRgba64_ToRgb16(ptr.Pointer())) + } + return 0 +} + +type QScreen struct { + core.QObject +} + +type QScreen_ITF interface { + core.QObject_ITF + QScreen_PTR() *QScreen +} + +func (ptr *QScreen) QScreen_PTR() *QScreen { + return ptr +} + +func (ptr *QScreen) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QScreen) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQScreen(ptr QScreen_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScreen_PTR().Pointer() + } + return nil +} + +func NewQScreenFromPointer(ptr unsafe.Pointer) (n *QScreen) { + n = new(QScreen) + n.SetPointer(ptr) + return +} +func (ptr *QScreen) AngleBetween(a core.Qt__ScreenOrientation, b core.Qt__ScreenOrientation) int { + if ptr.Pointer() != nil { + return int(int32(C.QScreen_AngleBetween(ptr.Pointer(), C.longlong(a), C.longlong(b)))) + } + return 0 +} + +func (ptr *QScreen) AvailableGeometry() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QScreen_AvailableGeometry(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +//export callbackQScreen_AvailableGeometryChanged +func callbackQScreen_AvailableGeometryChanged(ptr unsafe.Pointer, geometry unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "availableGeometryChanged"); signal != nil { + (*(*func(*core.QRect))(signal))(core.NewQRectFromPointer(geometry)) + } + +} + +func (ptr *QScreen) ConnectAvailableGeometryChanged(f func(geometry *core.QRect)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "availableGeometryChanged") { + C.QScreen_ConnectAvailableGeometryChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "availableGeometryChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "availableGeometryChanged"); signal != nil { + f := func(geometry *core.QRect) { + (*(*func(*core.QRect))(signal))(geometry) + f(geometry) + } + qt.ConnectSignal(ptr.Pointer(), "availableGeometryChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "availableGeometryChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectAvailableGeometryChanged() { + if ptr.Pointer() != nil { + C.QScreen_DisconnectAvailableGeometryChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "availableGeometryChanged") + } +} + +func (ptr *QScreen) AvailableGeometryChanged(geometry core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QScreen_AvailableGeometryChanged(ptr.Pointer(), core.PointerFromQRect(geometry)) + } +} + +func (ptr *QScreen) AvailableSize() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QScreen_AvailableSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QScreen) AvailableVirtualGeometry() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QScreen_AvailableVirtualGeometry(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QScreen) AvailableVirtualSize() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QScreen_AvailableVirtualSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QScreen) Depth() int { + if ptr.Pointer() != nil { + return int(int32(C.QScreen_Depth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QScreen) DevicePixelRatio() float64 { + if ptr.Pointer() != nil { + return float64(C.QScreen_DevicePixelRatio(ptr.Pointer())) + } + return 0 +} + +func (ptr *QScreen) Geometry() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QScreen_Geometry(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +//export callbackQScreen_GeometryChanged +func callbackQScreen_GeometryChanged(ptr unsafe.Pointer, geometry unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "geometryChanged"); signal != nil { + (*(*func(*core.QRect))(signal))(core.NewQRectFromPointer(geometry)) + } + +} + +func (ptr *QScreen) ConnectGeometryChanged(f func(geometry *core.QRect)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "geometryChanged") { + C.QScreen_ConnectGeometryChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "geometryChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "geometryChanged"); signal != nil { + f := func(geometry *core.QRect) { + (*(*func(*core.QRect))(signal))(geometry) + f(geometry) + } + qt.ConnectSignal(ptr.Pointer(), "geometryChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "geometryChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectGeometryChanged() { + if ptr.Pointer() != nil { + C.QScreen_DisconnectGeometryChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "geometryChanged") + } +} + +func (ptr *QScreen) GeometryChanged(geometry core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QScreen_GeometryChanged(ptr.Pointer(), core.PointerFromQRect(geometry)) + } +} + +func (ptr *QScreen) GrabWindow(window uintptr, x int, y int, width int, height int) *QPixmap { + if ptr.Pointer() != nil { + tmpValue := NewQPixmapFromPointer(C.QScreen_GrabWindow(ptr.Pointer(), C.uintptr_t(window), C.int(int32(x)), C.int(int32(y)), C.int(int32(width)), C.int(int32(height)))) + runtime.SetFinalizer(tmpValue, (*QPixmap).DestroyQPixmap) + return tmpValue + } + return nil +} + +func (ptr *QScreen) IsLandscape(o core.Qt__ScreenOrientation) bool { + if ptr.Pointer() != nil { + return int8(C.QScreen_IsLandscape(ptr.Pointer(), C.longlong(o))) != 0 + } + return false +} + +func (ptr *QScreen) IsPortrait(o core.Qt__ScreenOrientation) bool { + if ptr.Pointer() != nil { + return int8(C.QScreen_IsPortrait(ptr.Pointer(), C.longlong(o))) != 0 + } + return false +} + +func (ptr *QScreen) LogicalDotsPerInch() float64 { + if ptr.Pointer() != nil { + return float64(C.QScreen_LogicalDotsPerInch(ptr.Pointer())) + } + return 0 +} + +//export callbackQScreen_LogicalDotsPerInchChanged +func callbackQScreen_LogicalDotsPerInchChanged(ptr unsafe.Pointer, dpi C.double) { + if signal := qt.GetSignal(ptr, "logicalDotsPerInchChanged"); signal != nil { + (*(*func(float64))(signal))(float64(dpi)) + } + +} + +func (ptr *QScreen) ConnectLogicalDotsPerInchChanged(f func(dpi float64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "logicalDotsPerInchChanged") { + C.QScreen_ConnectLogicalDotsPerInchChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "logicalDotsPerInchChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "logicalDotsPerInchChanged"); signal != nil { + f := func(dpi float64) { + (*(*func(float64))(signal))(dpi) + f(dpi) + } + qt.ConnectSignal(ptr.Pointer(), "logicalDotsPerInchChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "logicalDotsPerInchChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectLogicalDotsPerInchChanged() { + if ptr.Pointer() != nil { + C.QScreen_DisconnectLogicalDotsPerInchChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "logicalDotsPerInchChanged") + } +} + +func (ptr *QScreen) LogicalDotsPerInchChanged(dpi float64) { + if ptr.Pointer() != nil { + C.QScreen_LogicalDotsPerInchChanged(ptr.Pointer(), C.double(dpi)) + } +} + +func (ptr *QScreen) LogicalDotsPerInchX() float64 { + if ptr.Pointer() != nil { + return float64(C.QScreen_LogicalDotsPerInchX(ptr.Pointer())) + } + return 0 +} + +func (ptr *QScreen) LogicalDotsPerInchY() float64 { + if ptr.Pointer() != nil { + return float64(C.QScreen_LogicalDotsPerInchY(ptr.Pointer())) + } + return 0 +} + +func (ptr *QScreen) Manufacturer() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QScreen_Manufacturer(ptr.Pointer())) + } + return "" +} + +func (ptr *QScreen) MapBetween(a core.Qt__ScreenOrientation, b core.Qt__ScreenOrientation, rect core.QRect_ITF) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QScreen_MapBetween(ptr.Pointer(), C.longlong(a), C.longlong(b), core.PointerFromQRect(rect))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QScreen) Model() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QScreen_Model(ptr.Pointer())) + } + return "" +} + +func (ptr *QScreen) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QScreen_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QScreen) NativeOrientation() core.Qt__ScreenOrientation { + if ptr.Pointer() != nil { + return core.Qt__ScreenOrientation(C.QScreen_NativeOrientation(ptr.Pointer())) + } + return 0 +} + +func (ptr *QScreen) Orientation() core.Qt__ScreenOrientation { + if ptr.Pointer() != nil { + return core.Qt__ScreenOrientation(C.QScreen_Orientation(ptr.Pointer())) + } + return 0 +} + +//export callbackQScreen_OrientationChanged +func callbackQScreen_OrientationChanged(ptr unsafe.Pointer, orientation C.longlong) { + if signal := qt.GetSignal(ptr, "orientationChanged"); signal != nil { + (*(*func(core.Qt__ScreenOrientation))(signal))(core.Qt__ScreenOrientation(orientation)) + } + +} + +func (ptr *QScreen) ConnectOrientationChanged(f func(orientation core.Qt__ScreenOrientation)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "orientationChanged") { + C.QScreen_ConnectOrientationChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "orientationChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "orientationChanged"); signal != nil { + f := func(orientation core.Qt__ScreenOrientation) { + (*(*func(core.Qt__ScreenOrientation))(signal))(orientation) + f(orientation) + } + qt.ConnectSignal(ptr.Pointer(), "orientationChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "orientationChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectOrientationChanged() { + if ptr.Pointer() != nil { + C.QScreen_DisconnectOrientationChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "orientationChanged") + } +} + +func (ptr *QScreen) OrientationChanged(orientation core.Qt__ScreenOrientation) { + if ptr.Pointer() != nil { + C.QScreen_OrientationChanged(ptr.Pointer(), C.longlong(orientation)) + } +} + +func (ptr *QScreen) OrientationUpdateMask() core.Qt__ScreenOrientation { + if ptr.Pointer() != nil { + return core.Qt__ScreenOrientation(C.QScreen_OrientationUpdateMask(ptr.Pointer())) + } + return 0 +} + +func (ptr *QScreen) PhysicalDotsPerInch() float64 { + if ptr.Pointer() != nil { + return float64(C.QScreen_PhysicalDotsPerInch(ptr.Pointer())) + } + return 0 +} + +//export callbackQScreen_PhysicalDotsPerInchChanged +func callbackQScreen_PhysicalDotsPerInchChanged(ptr unsafe.Pointer, dpi C.double) { + if signal := qt.GetSignal(ptr, "physicalDotsPerInchChanged"); signal != nil { + (*(*func(float64))(signal))(float64(dpi)) + } + +} + +func (ptr *QScreen) ConnectPhysicalDotsPerInchChanged(f func(dpi float64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "physicalDotsPerInchChanged") { + C.QScreen_ConnectPhysicalDotsPerInchChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "physicalDotsPerInchChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "physicalDotsPerInchChanged"); signal != nil { + f := func(dpi float64) { + (*(*func(float64))(signal))(dpi) + f(dpi) + } + qt.ConnectSignal(ptr.Pointer(), "physicalDotsPerInchChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "physicalDotsPerInchChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectPhysicalDotsPerInchChanged() { + if ptr.Pointer() != nil { + C.QScreen_DisconnectPhysicalDotsPerInchChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "physicalDotsPerInchChanged") + } +} + +func (ptr *QScreen) PhysicalDotsPerInchChanged(dpi float64) { + if ptr.Pointer() != nil { + C.QScreen_PhysicalDotsPerInchChanged(ptr.Pointer(), C.double(dpi)) + } +} + +func (ptr *QScreen) PhysicalDotsPerInchX() float64 { + if ptr.Pointer() != nil { + return float64(C.QScreen_PhysicalDotsPerInchX(ptr.Pointer())) + } + return 0 +} + +func (ptr *QScreen) PhysicalDotsPerInchY() float64 { + if ptr.Pointer() != nil { + return float64(C.QScreen_PhysicalDotsPerInchY(ptr.Pointer())) + } + return 0 +} + +func (ptr *QScreen) PhysicalSize() *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QScreen_PhysicalSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +//export callbackQScreen_PhysicalSizeChanged +func callbackQScreen_PhysicalSizeChanged(ptr unsafe.Pointer, size unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "physicalSizeChanged"); signal != nil { + (*(*func(*core.QSizeF))(signal))(core.NewQSizeFFromPointer(size)) + } + +} + +func (ptr *QScreen) ConnectPhysicalSizeChanged(f func(size *core.QSizeF)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "physicalSizeChanged") { + C.QScreen_ConnectPhysicalSizeChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "physicalSizeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "physicalSizeChanged"); signal != nil { + f := func(size *core.QSizeF) { + (*(*func(*core.QSizeF))(signal))(size) + f(size) + } + qt.ConnectSignal(ptr.Pointer(), "physicalSizeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "physicalSizeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectPhysicalSizeChanged() { + if ptr.Pointer() != nil { + C.QScreen_DisconnectPhysicalSizeChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "physicalSizeChanged") + } +} + +func (ptr *QScreen) PhysicalSizeChanged(size core.QSizeF_ITF) { + if ptr.Pointer() != nil { + C.QScreen_PhysicalSizeChanged(ptr.Pointer(), core.PointerFromQSizeF(size)) + } +} + +func (ptr *QScreen) PrimaryOrientation() core.Qt__ScreenOrientation { + if ptr.Pointer() != nil { + return core.Qt__ScreenOrientation(C.QScreen_PrimaryOrientation(ptr.Pointer())) + } + return 0 +} + +//export callbackQScreen_PrimaryOrientationChanged +func callbackQScreen_PrimaryOrientationChanged(ptr unsafe.Pointer, orientation C.longlong) { + if signal := qt.GetSignal(ptr, "primaryOrientationChanged"); signal != nil { + (*(*func(core.Qt__ScreenOrientation))(signal))(core.Qt__ScreenOrientation(orientation)) + } + +} + +func (ptr *QScreen) ConnectPrimaryOrientationChanged(f func(orientation core.Qt__ScreenOrientation)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "primaryOrientationChanged") { + C.QScreen_ConnectPrimaryOrientationChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "primaryOrientationChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "primaryOrientationChanged"); signal != nil { + f := func(orientation core.Qt__ScreenOrientation) { + (*(*func(core.Qt__ScreenOrientation))(signal))(orientation) + f(orientation) + } + qt.ConnectSignal(ptr.Pointer(), "primaryOrientationChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "primaryOrientationChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectPrimaryOrientationChanged() { + if ptr.Pointer() != nil { + C.QScreen_DisconnectPrimaryOrientationChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "primaryOrientationChanged") + } +} + +func (ptr *QScreen) PrimaryOrientationChanged(orientation core.Qt__ScreenOrientation) { + if ptr.Pointer() != nil { + C.QScreen_PrimaryOrientationChanged(ptr.Pointer(), C.longlong(orientation)) + } +} + +func (ptr *QScreen) RefreshRate() float64 { + if ptr.Pointer() != nil { + return float64(C.QScreen_RefreshRate(ptr.Pointer())) + } + return 0 +} + +//export callbackQScreen_RefreshRateChanged +func callbackQScreen_RefreshRateChanged(ptr unsafe.Pointer, refreshRate C.double) { + if signal := qt.GetSignal(ptr, "refreshRateChanged"); signal != nil { + (*(*func(float64))(signal))(float64(refreshRate)) + } + +} + +func (ptr *QScreen) ConnectRefreshRateChanged(f func(refreshRate float64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "refreshRateChanged") { + C.QScreen_ConnectRefreshRateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "refreshRateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "refreshRateChanged"); signal != nil { + f := func(refreshRate float64) { + (*(*func(float64))(signal))(refreshRate) + f(refreshRate) + } + qt.ConnectSignal(ptr.Pointer(), "refreshRateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "refreshRateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectRefreshRateChanged() { + if ptr.Pointer() != nil { + C.QScreen_DisconnectRefreshRateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "refreshRateChanged") + } +} + +func (ptr *QScreen) RefreshRateChanged(refreshRate float64) { + if ptr.Pointer() != nil { + C.QScreen_RefreshRateChanged(ptr.Pointer(), C.double(refreshRate)) + } +} + +func (ptr *QScreen) SerialNumber() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QScreen_SerialNumber(ptr.Pointer())) + } + return "" +} + +func (ptr *QScreen) SetOrientationUpdateMask(mask core.Qt__ScreenOrientation) { + if ptr.Pointer() != nil { + C.QScreen_SetOrientationUpdateMask(ptr.Pointer(), C.longlong(mask)) + } +} + +func (ptr *QScreen) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QScreen_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QScreen) TransformBetween(a core.Qt__ScreenOrientation, b core.Qt__ScreenOrientation, target core.QRect_ITF) *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QScreen_TransformBetween(ptr.Pointer(), C.longlong(a), C.longlong(b), core.PointerFromQRect(target))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QScreen) VirtualGeometry() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QScreen_VirtualGeometry(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +//export callbackQScreen_VirtualGeometryChanged +func callbackQScreen_VirtualGeometryChanged(ptr unsafe.Pointer, rect unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "virtualGeometryChanged"); signal != nil { + (*(*func(*core.QRect))(signal))(core.NewQRectFromPointer(rect)) + } + +} + +func (ptr *QScreen) ConnectVirtualGeometryChanged(f func(rect *core.QRect)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "virtualGeometryChanged") { + C.QScreen_ConnectVirtualGeometryChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "virtualGeometryChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "virtualGeometryChanged"); signal != nil { + f := func(rect *core.QRect) { + (*(*func(*core.QRect))(signal))(rect) + f(rect) + } + qt.ConnectSignal(ptr.Pointer(), "virtualGeometryChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "virtualGeometryChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectVirtualGeometryChanged() { + if ptr.Pointer() != nil { + C.QScreen_DisconnectVirtualGeometryChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "virtualGeometryChanged") + } +} + +func (ptr *QScreen) VirtualGeometryChanged(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QScreen_VirtualGeometryChanged(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +func (ptr *QScreen) VirtualSiblings() []*QScreen { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QScreen { + out := make([]*QScreen, int(l.len)) + tmpList := NewQScreenFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__virtualSiblings_atList(i) + } + return out + }(C.QScreen_VirtualSiblings(ptr.Pointer())) + } + return make([]*QScreen, 0) +} + +func (ptr *QScreen) VirtualSize() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QScreen_VirtualSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +//export callbackQScreen_DestroyQScreen +func callbackQScreen_DestroyQScreen(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QScreen"); signal != nil { + (*(*func())(signal))() + } else { + NewQScreenFromPointer(ptr).DestroyQScreenDefault() + } +} + +func (ptr *QScreen) ConnectDestroyQScreen(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QScreen"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QScreen", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QScreen", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreen) DisconnectDestroyQScreen() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QScreen") + } +} + +func (ptr *QScreen) DestroyQScreen() { + if ptr.Pointer() != nil { + C.QScreen_DestroyQScreen(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QScreen) DestroyQScreenDefault() { + if ptr.Pointer() != nil { + C.QScreen_DestroyQScreenDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QScreen) __virtualSiblings_atList(i int) *QScreen { + if ptr.Pointer() != nil { + tmpValue := NewQScreenFromPointer(C.QScreen___virtualSiblings_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QScreen) __virtualSiblings_setList(i QScreen_ITF) { + if ptr.Pointer() != nil { + C.QScreen___virtualSiblings_setList(ptr.Pointer(), PointerFromQScreen(i)) + } +} + +func (ptr *QScreen) __virtualSiblings_newList() unsafe.Pointer { + return C.QScreen___virtualSiblings_newList(ptr.Pointer()) +} + +func (ptr *QScreen) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QScreen___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QScreen) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QScreen___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QScreen) __children_newList() unsafe.Pointer { + return C.QScreen___children_newList(ptr.Pointer()) +} + +func (ptr *QScreen) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QScreen___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QScreen) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QScreen___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QScreen) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QScreen___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QScreen) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QScreen___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QScreen) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QScreen___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QScreen) __findChildren_newList() unsafe.Pointer { + return C.QScreen___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QScreen) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QScreen___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QScreen) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QScreen___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QScreen) __findChildren_newList3() unsafe.Pointer { + return C.QScreen___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QScreen) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QScreen___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QScreen) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QScreen___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QScreen) __qFindChildren_newList2() unsafe.Pointer { + return C.QScreen___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQScreen_ChildEvent +func callbackQScreen_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQScreenFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QScreen) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QScreen_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQScreen_ConnectNotify +func callbackQScreen_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQScreenFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QScreen) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QScreen_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQScreen_CustomEvent +func callbackQScreen_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQScreenFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QScreen) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QScreen_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQScreen_DeleteLater +func callbackQScreen_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQScreenFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QScreen) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QScreen_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQScreen_Destroyed +func callbackQScreen_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQScreen_DisconnectNotify +func callbackQScreen_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQScreenFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QScreen) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QScreen_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQScreen_Event +func callbackQScreen_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQScreenFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QScreen) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QScreen_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQScreen_EventFilter +func callbackQScreen_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQScreenFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QScreen) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QScreen_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQScreen_MetaObject +func callbackQScreen_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQScreenFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QScreen) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QScreen_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQScreen_ObjectNameChanged +func callbackQScreen_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQScreen_TimerEvent +func callbackQScreen_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQScreenFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QScreen) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QScreen_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QScreenOrientationChangeEvent struct { + core.QEvent +} + +type QScreenOrientationChangeEvent_ITF interface { + core.QEvent_ITF + QScreenOrientationChangeEvent_PTR() *QScreenOrientationChangeEvent +} + +func (ptr *QScreenOrientationChangeEvent) QScreenOrientationChangeEvent_PTR() *QScreenOrientationChangeEvent { + return ptr +} + +func (ptr *QScreenOrientationChangeEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QScreenOrientationChangeEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQScreenOrientationChangeEvent(ptr QScreenOrientationChangeEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScreenOrientationChangeEvent_PTR().Pointer() + } + return nil +} + +func NewQScreenOrientationChangeEventFromPointer(ptr unsafe.Pointer) (n *QScreenOrientationChangeEvent) { + n = new(QScreenOrientationChangeEvent) + n.SetPointer(ptr) + return +} +func NewQScreenOrientationChangeEvent(screen QScreen_ITF, screenOrientation core.Qt__ScreenOrientation) *QScreenOrientationChangeEvent { + tmpValue := NewQScreenOrientationChangeEventFromPointer(C.QScreenOrientationChangeEvent_NewQScreenOrientationChangeEvent(PointerFromQScreen(screen), C.longlong(screenOrientation))) + runtime.SetFinalizer(tmpValue, (*QScreenOrientationChangeEvent).DestroyQScreenOrientationChangeEvent) + return tmpValue +} + +func (ptr *QScreenOrientationChangeEvent) Orientation() core.Qt__ScreenOrientation { + if ptr.Pointer() != nil { + return core.Qt__ScreenOrientation(C.QScreenOrientationChangeEvent_Orientation(ptr.Pointer())) + } + return 0 +} + +func (ptr *QScreenOrientationChangeEvent) Screen() *QScreen { + if ptr.Pointer() != nil { + tmpValue := NewQScreenFromPointer(C.QScreenOrientationChangeEvent_Screen(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQScreenOrientationChangeEvent_DestroyQScreenOrientationChangeEvent +func callbackQScreenOrientationChangeEvent_DestroyQScreenOrientationChangeEvent(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QScreenOrientationChangeEvent"); signal != nil { + (*(*func())(signal))() + } else { + NewQScreenOrientationChangeEventFromPointer(ptr).DestroyQScreenOrientationChangeEventDefault() + } +} + +func (ptr *QScreenOrientationChangeEvent) ConnectDestroyQScreenOrientationChangeEvent(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QScreenOrientationChangeEvent"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QScreenOrientationChangeEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QScreenOrientationChangeEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScreenOrientationChangeEvent) DisconnectDestroyQScreenOrientationChangeEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QScreenOrientationChangeEvent") + } +} + +func (ptr *QScreenOrientationChangeEvent) DestroyQScreenOrientationChangeEvent() { + if ptr.Pointer() != nil { + C.QScreenOrientationChangeEvent_DestroyQScreenOrientationChangeEvent(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QScreenOrientationChangeEvent) DestroyQScreenOrientationChangeEventDefault() { + if ptr.Pointer() != nil { + C.QScreenOrientationChangeEvent_DestroyQScreenOrientationChangeEventDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QScrollEvent struct { + core.QEvent +} + +type QScrollEvent_ITF interface { + core.QEvent_ITF + QScrollEvent_PTR() *QScrollEvent +} + +func (ptr *QScrollEvent) QScrollEvent_PTR() *QScrollEvent { + return ptr +} + +func (ptr *QScrollEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QScrollEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQScrollEvent(ptr QScrollEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScrollEvent_PTR().Pointer() + } + return nil +} + +func NewQScrollEventFromPointer(ptr unsafe.Pointer) (n *QScrollEvent) { + n = new(QScrollEvent) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QScrollEvent__ScrollState +//QScrollEvent::ScrollState +type QScrollEvent__ScrollState int64 + +const ( + QScrollEvent__ScrollStarted QScrollEvent__ScrollState = QScrollEvent__ScrollState(0) + QScrollEvent__ScrollUpdated QScrollEvent__ScrollState = QScrollEvent__ScrollState(1) + QScrollEvent__ScrollFinished QScrollEvent__ScrollState = QScrollEvent__ScrollState(2) +) + +func NewQScrollEvent(contentPos core.QPointF_ITF, overshootDistance core.QPointF_ITF, scrollState QScrollEvent__ScrollState) *QScrollEvent { + tmpValue := NewQScrollEventFromPointer(C.QScrollEvent_NewQScrollEvent(core.PointerFromQPointF(contentPos), core.PointerFromQPointF(overshootDistance), C.longlong(scrollState))) + runtime.SetFinalizer(tmpValue, (*QScrollEvent).DestroyQScrollEvent) + return tmpValue +} + +func (ptr *QScrollEvent) ContentPos() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QScrollEvent_ContentPos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QScrollEvent) OvershootDistance() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QScrollEvent_OvershootDistance(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QScrollEvent) ScrollState() QScrollEvent__ScrollState { + if ptr.Pointer() != nil { + return QScrollEvent__ScrollState(C.QScrollEvent_ScrollState(ptr.Pointer())) + } + return 0 +} + +//export callbackQScrollEvent_DestroyQScrollEvent +func callbackQScrollEvent_DestroyQScrollEvent(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QScrollEvent"); signal != nil { + (*(*func())(signal))() + } else { + NewQScrollEventFromPointer(ptr).DestroyQScrollEventDefault() + } +} + +func (ptr *QScrollEvent) ConnectDestroyQScrollEvent(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QScrollEvent"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QScrollEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QScrollEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScrollEvent) DisconnectDestroyQScrollEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QScrollEvent") + } +} + +func (ptr *QScrollEvent) DestroyQScrollEvent() { + if ptr.Pointer() != nil { + C.QScrollEvent_DestroyQScrollEvent(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QScrollEvent) DestroyQScrollEventDefault() { + if ptr.Pointer() != nil { + C.QScrollEvent_DestroyQScrollEventDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QScrollPrepareEvent struct { + core.QEvent +} + +type QScrollPrepareEvent_ITF interface { + core.QEvent_ITF + QScrollPrepareEvent_PTR() *QScrollPrepareEvent +} + +func (ptr *QScrollPrepareEvent) QScrollPrepareEvent_PTR() *QScrollPrepareEvent { + return ptr +} + +func (ptr *QScrollPrepareEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QScrollPrepareEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQScrollPrepareEvent(ptr QScrollPrepareEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QScrollPrepareEvent_PTR().Pointer() + } + return nil +} + +func NewQScrollPrepareEventFromPointer(ptr unsafe.Pointer) (n *QScrollPrepareEvent) { + n = new(QScrollPrepareEvent) + n.SetPointer(ptr) + return +} +func NewQScrollPrepareEvent(startPos core.QPointF_ITF) *QScrollPrepareEvent { + tmpValue := NewQScrollPrepareEventFromPointer(C.QScrollPrepareEvent_NewQScrollPrepareEvent(core.PointerFromQPointF(startPos))) + runtime.SetFinalizer(tmpValue, (*QScrollPrepareEvent).DestroyQScrollPrepareEvent) + return tmpValue +} + +func (ptr *QScrollPrepareEvent) ContentPos() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QScrollPrepareEvent_ContentPos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QScrollPrepareEvent) ContentPosRange() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QScrollPrepareEvent_ContentPosRange(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QScrollPrepareEvent) SetContentPos(pos core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QScrollPrepareEvent_SetContentPos(ptr.Pointer(), core.PointerFromQPointF(pos)) + } +} + +func (ptr *QScrollPrepareEvent) SetContentPosRange(rect core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QScrollPrepareEvent_SetContentPosRange(ptr.Pointer(), core.PointerFromQRectF(rect)) + } +} + +func (ptr *QScrollPrepareEvent) SetViewportSize(size core.QSizeF_ITF) { + if ptr.Pointer() != nil { + C.QScrollPrepareEvent_SetViewportSize(ptr.Pointer(), core.PointerFromQSizeF(size)) + } +} + +func (ptr *QScrollPrepareEvent) StartPos() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QScrollPrepareEvent_StartPos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QScrollPrepareEvent) ViewportSize() *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QScrollPrepareEvent_ViewportSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +//export callbackQScrollPrepareEvent_DestroyQScrollPrepareEvent +func callbackQScrollPrepareEvent_DestroyQScrollPrepareEvent(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QScrollPrepareEvent"); signal != nil { + (*(*func())(signal))() + } else { + NewQScrollPrepareEventFromPointer(ptr).DestroyQScrollPrepareEventDefault() + } +} + +func (ptr *QScrollPrepareEvent) ConnectDestroyQScrollPrepareEvent(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QScrollPrepareEvent"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QScrollPrepareEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QScrollPrepareEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QScrollPrepareEvent) DisconnectDestroyQScrollPrepareEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QScrollPrepareEvent") + } +} + +func (ptr *QScrollPrepareEvent) DestroyQScrollPrepareEvent() { + if ptr.Pointer() != nil { + C.QScrollPrepareEvent_DestroyQScrollPrepareEvent(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QScrollPrepareEvent) DestroyQScrollPrepareEventDefault() { + if ptr.Pointer() != nil { + C.QScrollPrepareEvent_DestroyQScrollPrepareEventDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSessionManager struct { + core.QObject +} + +type QSessionManager_ITF interface { + core.QObject_ITF + QSessionManager_PTR() *QSessionManager +} + +func (ptr *QSessionManager) QSessionManager_PTR() *QSessionManager { + return ptr +} + +func (ptr *QSessionManager) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QSessionManager) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQSessionManager(ptr QSessionManager_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSessionManager_PTR().Pointer() + } + return nil +} + +func NewQSessionManagerFromPointer(ptr unsafe.Pointer) (n *QSessionManager) { + n = new(QSessionManager) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSessionManager__RestartHint +//QSessionManager::RestartHint +type QSessionManager__RestartHint int64 + +const ( + QSessionManager__RestartIfRunning QSessionManager__RestartHint = QSessionManager__RestartHint(0) + QSessionManager__RestartAnyway QSessionManager__RestartHint = QSessionManager__RestartHint(1) + QSessionManager__RestartImmediately QSessionManager__RestartHint = QSessionManager__RestartHint(2) + QSessionManager__RestartNever QSessionManager__RestartHint = QSessionManager__RestartHint(3) +) + +func (ptr *QSessionManager) AllowsErrorInteraction() bool { + if ptr.Pointer() != nil { + return int8(C.QSessionManager_AllowsErrorInteraction(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSessionManager) AllowsInteraction() bool { + if ptr.Pointer() != nil { + return int8(C.QSessionManager_AllowsInteraction(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSessionManager) Cancel() { + if ptr.Pointer() != nil { + C.QSessionManager_Cancel(ptr.Pointer()) + } +} + +func (ptr *QSessionManager) DiscardCommand() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QSessionManager_DiscardCommand(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QSessionManager) IsPhase2() bool { + if ptr.Pointer() != nil { + return int8(C.QSessionManager_IsPhase2(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSessionManager) Release() { + if ptr.Pointer() != nil { + C.QSessionManager_Release(ptr.Pointer()) + } +} + +func (ptr *QSessionManager) RequestPhase2() { + if ptr.Pointer() != nil { + C.QSessionManager_RequestPhase2(ptr.Pointer()) + } +} + +func (ptr *QSessionManager) RestartCommand() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QSessionManager_RestartCommand(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QSessionManager) RestartHint() QSessionManager__RestartHint { + if ptr.Pointer() != nil { + return QSessionManager__RestartHint(C.QSessionManager_RestartHint(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSessionManager) SessionId() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSessionManager_SessionId(ptr.Pointer())) + } + return "" +} + +func (ptr *QSessionManager) SessionKey() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSessionManager_SessionKey(ptr.Pointer())) + } + return "" +} + +func (ptr *QSessionManager) SetDiscardCommand(command []string) { + if ptr.Pointer() != nil { + commandC := C.CString(strings.Join(command, "¡¦!")) + defer C.free(unsafe.Pointer(commandC)) + C.QSessionManager_SetDiscardCommand(ptr.Pointer(), C.struct_QtGui_PackedString{data: commandC, len: C.longlong(len(strings.Join(command, "¡¦!")))}) + } +} + +func (ptr *QSessionManager) SetManagerProperty(name string, value []string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + valueC := C.CString(strings.Join(value, "¡¦!")) + defer C.free(unsafe.Pointer(valueC)) + C.QSessionManager_SetManagerProperty(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtGui_PackedString{data: valueC, len: C.longlong(len(strings.Join(value, "¡¦!")))}) + } +} + +func (ptr *QSessionManager) SetManagerProperty2(name string, value string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + C.QSessionManager_SetManagerProperty2(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}, C.struct_QtGui_PackedString{data: valueC, len: C.longlong(len(value))}) + } +} + +func (ptr *QSessionManager) SetRestartCommand(command []string) { + if ptr.Pointer() != nil { + commandC := C.CString(strings.Join(command, "¡¦!")) + defer C.free(unsafe.Pointer(commandC)) + C.QSessionManager_SetRestartCommand(ptr.Pointer(), C.struct_QtGui_PackedString{data: commandC, len: C.longlong(len(strings.Join(command, "¡¦!")))}) + } +} + +func (ptr *QSessionManager) SetRestartHint(hint QSessionManager__RestartHint) { + if ptr.Pointer() != nil { + C.QSessionManager_SetRestartHint(ptr.Pointer(), C.longlong(hint)) + } +} + +func (ptr *QSessionManager) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QSessionManager___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSessionManager) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QSessionManager) __children_newList() unsafe.Pointer { + return C.QSessionManager___children_newList(ptr.Pointer()) +} + +func (ptr *QSessionManager) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSessionManager___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSessionManager) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QSessionManager) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QSessionManager___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QSessionManager) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QSessionManager___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSessionManager) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QSessionManager) __findChildren_newList() unsafe.Pointer { + return C.QSessionManager___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QSessionManager) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QSessionManager___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSessionManager) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QSessionManager) __findChildren_newList3() unsafe.Pointer { + return C.QSessionManager___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QSessionManager) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QSessionManager___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSessionManager) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QSessionManager) __qFindChildren_newList2() unsafe.Pointer { + return C.QSessionManager___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQSessionManager_ChildEvent +func callbackQSessionManager_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQSessionManagerFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QSessionManager) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQSessionManager_ConnectNotify +func callbackQSessionManager_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQSessionManagerFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QSessionManager) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQSessionManager_CustomEvent +func callbackQSessionManager_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQSessionManagerFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QSessionManager) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQSessionManager_DeleteLater +func callbackQSessionManager_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQSessionManagerFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QSessionManager) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QSessionManager_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQSessionManager_Destroyed +func callbackQSessionManager_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQSessionManager_DisconnectNotify +func callbackQSessionManager_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQSessionManagerFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QSessionManager) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQSessionManager_Event +func callbackQSessionManager_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQSessionManagerFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QSessionManager) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSessionManager_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQSessionManager_EventFilter +func callbackQSessionManager_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQSessionManagerFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QSessionManager) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSessionManager_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQSessionManager_MetaObject +func callbackQSessionManager_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQSessionManagerFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QSessionManager) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QSessionManager_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQSessionManager_ObjectNameChanged +func callbackQSessionManager_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQSessionManager_TimerEvent +func callbackQSessionManager_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQSessionManagerFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QSessionManager) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QSessionManager_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QShortcutEvent struct { + core.QEvent +} + +type QShortcutEvent_ITF interface { + core.QEvent_ITF + QShortcutEvent_PTR() *QShortcutEvent +} + +func (ptr *QShortcutEvent) QShortcutEvent_PTR() *QShortcutEvent { + return ptr +} + +func (ptr *QShortcutEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QShortcutEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQShortcutEvent(ptr QShortcutEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QShortcutEvent_PTR().Pointer() + } + return nil +} + +func NewQShortcutEventFromPointer(ptr unsafe.Pointer) (n *QShortcutEvent) { + n = new(QShortcutEvent) + n.SetPointer(ptr) + return +} +func NewQShortcutEvent(key QKeySequence_ITF, id int, ambiguous bool) *QShortcutEvent { + tmpValue := NewQShortcutEventFromPointer(C.QShortcutEvent_NewQShortcutEvent(PointerFromQKeySequence(key), C.int(int32(id)), C.char(int8(qt.GoBoolToInt(ambiguous))))) + runtime.SetFinalizer(tmpValue, (*QShortcutEvent).DestroyQShortcutEvent) + return tmpValue +} + +func (ptr *QShortcutEvent) IsAmbiguous() bool { + if ptr.Pointer() != nil { + return int8(C.QShortcutEvent_IsAmbiguous(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QShortcutEvent) Key() *QKeySequence { + if ptr.Pointer() != nil { + return NewQKeySequenceFromPointer(C.QShortcutEvent_Key(ptr.Pointer())) + } + return nil +} + +func (ptr *QShortcutEvent) ShortcutId() int { + if ptr.Pointer() != nil { + return int(int32(C.QShortcutEvent_ShortcutId(ptr.Pointer()))) + } + return 0 +} + +//export callbackQShortcutEvent_DestroyQShortcutEvent +func callbackQShortcutEvent_DestroyQShortcutEvent(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QShortcutEvent"); signal != nil { + (*(*func())(signal))() + } else { + NewQShortcutEventFromPointer(ptr).DestroyQShortcutEventDefault() + } +} + +func (ptr *QShortcutEvent) ConnectDestroyQShortcutEvent(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QShortcutEvent"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QShortcutEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QShortcutEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QShortcutEvent) DisconnectDestroyQShortcutEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QShortcutEvent") + } +} + +func (ptr *QShortcutEvent) DestroyQShortcutEvent() { + if ptr.Pointer() != nil { + C.QShortcutEvent_DestroyQShortcutEvent(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QShortcutEvent) DestroyQShortcutEventDefault() { + if ptr.Pointer() != nil { + C.QShortcutEvent_DestroyQShortcutEventDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QShowEvent struct { + core.QEvent +} + +type QShowEvent_ITF interface { + core.QEvent_ITF + QShowEvent_PTR() *QShowEvent +} + +func (ptr *QShowEvent) QShowEvent_PTR() *QShowEvent { + return ptr +} + +func (ptr *QShowEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QShowEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQShowEvent(ptr QShowEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QShowEvent_PTR().Pointer() + } + return nil +} + +func NewQShowEventFromPointer(ptr unsafe.Pointer) (n *QShowEvent) { + n = new(QShowEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QShowEvent) DestroyQShowEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQShowEvent() *QShowEvent { + tmpValue := NewQShowEventFromPointer(C.QShowEvent_NewQShowEvent()) + runtime.SetFinalizer(tmpValue, (*QShowEvent).DestroyQShowEvent) + return tmpValue +} + +type QStandardItem struct { + ptr unsafe.Pointer +} + +type QStandardItem_ITF interface { + QStandardItem_PTR() *QStandardItem +} + +func (ptr *QStandardItem) QStandardItem_PTR() *QStandardItem { + return ptr +} + +func (ptr *QStandardItem) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStandardItem) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStandardItem(ptr QStandardItem_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStandardItem_PTR().Pointer() + } + return nil +} + +func NewQStandardItemFromPointer(ptr unsafe.Pointer) (n *QStandardItem) { + n = new(QStandardItem) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QStandardItem__ItemType +//QStandardItem::ItemType +type QStandardItem__ItemType int64 + +const ( + QStandardItem__Type QStandardItem__ItemType = QStandardItem__ItemType(0) + QStandardItem__UserType QStandardItem__ItemType = QStandardItem__ItemType(1000) +) + +func NewQStandardItem() *QStandardItem { + return NewQStandardItemFromPointer(C.QStandardItem_NewQStandardItem()) +} + +func NewQStandardItem2(text string) *QStandardItem { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return NewQStandardItemFromPointer(C.QStandardItem_NewQStandardItem2(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) +} + +func NewQStandardItem3(icon QIcon_ITF, text string) *QStandardItem { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return NewQStandardItemFromPointer(C.QStandardItem_NewQStandardItem3(PointerFromQIcon(icon), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) +} + +func NewQStandardItem4(rows int, columns int) *QStandardItem { + return NewQStandardItemFromPointer(C.QStandardItem_NewQStandardItem4(C.int(int32(rows)), C.int(int32(columns)))) +} + +func NewQStandardItem5(other QStandardItem_ITF) *QStandardItem { + return NewQStandardItemFromPointer(C.QStandardItem_NewQStandardItem5(PointerFromQStandardItem(other))) +} + +func (ptr *QStandardItem) AccessibleDescription() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStandardItem_AccessibleDescription(ptr.Pointer())) + } + return "" +} + +func (ptr *QStandardItem) AccessibleText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStandardItem_AccessibleText(ptr.Pointer())) + } + return "" +} + +func (ptr *QStandardItem) AppendColumn(items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItem_AppendColumn(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQStandardItemFromPointer(NewQStandardItemFromPointer(nil).__appendColumn_items_newList()) + for _, v := range items { + tmpList.__appendColumn_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItem) AppendRow(items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItem_AppendRow(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQStandardItemFromPointer(NewQStandardItemFromPointer(nil).__appendRow_items_newList()) + for _, v := range items { + tmpList.__appendRow_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItem) AppendRow2(item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_AppendRow2(ptr.Pointer(), PointerFromQStandardItem(item)) + } +} + +func (ptr *QStandardItem) AppendRows(items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItem_AppendRows(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQStandardItemFromPointer(NewQStandardItemFromPointer(nil).__appendRows_items_newList()) + for _, v := range items { + tmpList.__appendRows_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItem) Background() *QBrush { + if ptr.Pointer() != nil { + tmpValue := NewQBrushFromPointer(C.QStandardItem_Background(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue + } + return nil +} + +func (ptr *QStandardItem) CheckState() core.Qt__CheckState { + if ptr.Pointer() != nil { + return core.Qt__CheckState(C.QStandardItem_CheckState(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStandardItem) Child(row int, column int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem_Child(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)))) + } + return nil +} + +func (ptr *QStandardItem) ClearData() { + if ptr.Pointer() != nil { + C.QStandardItem_ClearData(ptr.Pointer()) + } +} + +//export callbackQStandardItem_Clone +func callbackQStandardItem_Clone(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "clone"); signal != nil { + return PointerFromQStandardItem((*(*func() *QStandardItem)(signal))()) + } + + return PointerFromQStandardItem(NewQStandardItemFromPointer(ptr).CloneDefault()) +} + +func (ptr *QStandardItem) ConnectClone(f func() *QStandardItem) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "clone"); signal != nil { + f := func() *QStandardItem { + (*(*func() *QStandardItem)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "clone", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "clone", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItem) DisconnectClone() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "clone") + } +} + +func (ptr *QStandardItem) Clone() *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem_Clone(ptr.Pointer())) + } + return nil +} + +func (ptr *QStandardItem) CloneDefault() *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem_CloneDefault(ptr.Pointer())) + } + return nil +} + +func (ptr *QStandardItem) Column() int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItem_Column(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStandardItem) ColumnCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItem_ColumnCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStandardItem_Data +func callbackQStandardItem_Data(ptr unsafe.Pointer, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return core.PointerFromQVariant((*(*func(int) *core.QVariant)(signal))(int(int32(role)))) + } + + return core.PointerFromQVariant(NewQStandardItemFromPointer(ptr).DataDefault(int(int32(role)))) +} + +func (ptr *QStandardItem) ConnectData(f func(role int) *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "data"); signal != nil { + f := func(role int) *core.QVariant { + (*(*func(int) *core.QVariant)(signal))(role) + return f(role) + } + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItem) DisconnectData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "data") + } +} + +func (ptr *QStandardItem) Data(role int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QStandardItem_Data(ptr.Pointer(), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QStandardItem) DataDefault(role int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QStandardItem_DataDefault(ptr.Pointer(), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QStandardItem) EmitDataChanged() { + if ptr.Pointer() != nil { + C.QStandardItem_EmitDataChanged(ptr.Pointer()) + } +} + +func (ptr *QStandardItem) Flags() core.Qt__ItemFlag { + if ptr.Pointer() != nil { + return core.Qt__ItemFlag(C.QStandardItem_Flags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStandardItem) Font() *QFont { + if ptr.Pointer() != nil { + tmpValue := NewQFontFromPointer(C.QStandardItem_Font(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue + } + return nil +} + +func (ptr *QStandardItem) Foreground() *QBrush { + if ptr.Pointer() != nil { + tmpValue := NewQBrushFromPointer(C.QStandardItem_Foreground(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue + } + return nil +} + +func (ptr *QStandardItem) HasChildren() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItem_HasChildren(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStandardItem) Icon() *QIcon { + if ptr.Pointer() != nil { + tmpValue := NewQIconFromPointer(C.QStandardItem_Icon(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue + } + return nil +} + +func (ptr *QStandardItem) Index() *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItem_Index(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItem) InsertColumn(column int, items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItem_InsertColumn(ptr.Pointer(), C.int(int32(column)), func() unsafe.Pointer { + tmpList := NewQStandardItemFromPointer(NewQStandardItemFromPointer(nil).__insertColumn_items_newList()) + for _, v := range items { + tmpList.__insertColumn_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItem) InsertColumns(column int, count int) { + if ptr.Pointer() != nil { + C.QStandardItem_InsertColumns(ptr.Pointer(), C.int(int32(column)), C.int(int32(count))) + } +} + +func (ptr *QStandardItem) InsertRow(row int, items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItem_InsertRow(ptr.Pointer(), C.int(int32(row)), func() unsafe.Pointer { + tmpList := NewQStandardItemFromPointer(NewQStandardItemFromPointer(nil).__insertRow_items_newList()) + for _, v := range items { + tmpList.__insertRow_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItem) InsertRow2(row int, item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_InsertRow2(ptr.Pointer(), C.int(int32(row)), PointerFromQStandardItem(item)) + } +} + +func (ptr *QStandardItem) InsertRows(row int, items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItem_InsertRows(ptr.Pointer(), C.int(int32(row)), func() unsafe.Pointer { + tmpList := NewQStandardItemFromPointer(NewQStandardItemFromPointer(nil).__insertRows_items_newList()) + for _, v := range items { + tmpList.__insertRows_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItem) InsertRows2(row int, count int) { + if ptr.Pointer() != nil { + C.QStandardItem_InsertRows2(ptr.Pointer(), C.int(int32(row)), C.int(int32(count))) + } +} + +func (ptr *QStandardItem) IsAutoTristate() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItem_IsAutoTristate(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStandardItem) IsCheckable() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItem_IsCheckable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStandardItem) IsDragEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItem_IsDragEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStandardItem) IsDropEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItem_IsDropEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStandardItem) IsEditable() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItem_IsEditable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStandardItem) IsEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItem_IsEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStandardItem) IsSelectable() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItem_IsSelectable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStandardItem) IsUserTristate() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItem_IsUserTristate(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStandardItem) Model() *QStandardItemModel { + if ptr.Pointer() != nil { + tmpValue := NewQStandardItemModelFromPointer(C.QStandardItem_Model(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStandardItem) Parent() *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem_Parent(ptr.Pointer())) + } + return nil +} + +//export callbackQStandardItem_Read +func callbackQStandardItem_Read(ptr unsafe.Pointer, in unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "read"); signal != nil { + (*(*func(*core.QDataStream))(signal))(core.NewQDataStreamFromPointer(in)) + } else { + NewQStandardItemFromPointer(ptr).ReadDefault(core.NewQDataStreamFromPointer(in)) + } +} + +func (ptr *QStandardItem) ConnectRead(f func(in *core.QDataStream)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "read"); signal != nil { + f := func(in *core.QDataStream) { + (*(*func(*core.QDataStream))(signal))(in) + f(in) + } + qt.ConnectSignal(ptr.Pointer(), "read", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "read", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItem) DisconnectRead() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "read") + } +} + +func (ptr *QStandardItem) Read(in core.QDataStream_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_Read(ptr.Pointer(), core.PointerFromQDataStream(in)) + } +} + +func (ptr *QStandardItem) ReadDefault(in core.QDataStream_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_ReadDefault(ptr.Pointer(), core.PointerFromQDataStream(in)) + } +} + +func (ptr *QStandardItem) RemoveColumn(column int) { + if ptr.Pointer() != nil { + C.QStandardItem_RemoveColumn(ptr.Pointer(), C.int(int32(column))) + } +} + +func (ptr *QStandardItem) RemoveColumns(column int, count int) { + if ptr.Pointer() != nil { + C.QStandardItem_RemoveColumns(ptr.Pointer(), C.int(int32(column)), C.int(int32(count))) + } +} + +func (ptr *QStandardItem) RemoveRow(row int) { + if ptr.Pointer() != nil { + C.QStandardItem_RemoveRow(ptr.Pointer(), C.int(int32(row))) + } +} + +func (ptr *QStandardItem) RemoveRows(row int, count int) { + if ptr.Pointer() != nil { + C.QStandardItem_RemoveRows(ptr.Pointer(), C.int(int32(row)), C.int(int32(count))) + } +} + +func (ptr *QStandardItem) Row() int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItem_Row(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStandardItem) RowCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItem_RowCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStandardItem) SetAccessibleDescription(accessibleDescription string) { + if ptr.Pointer() != nil { + var accessibleDescriptionC *C.char + if accessibleDescription != "" { + accessibleDescriptionC = C.CString(accessibleDescription) + defer C.free(unsafe.Pointer(accessibleDescriptionC)) + } + C.QStandardItem_SetAccessibleDescription(ptr.Pointer(), C.struct_QtGui_PackedString{data: accessibleDescriptionC, len: C.longlong(len(accessibleDescription))}) + } +} + +func (ptr *QStandardItem) SetAccessibleText(accessibleText string) { + if ptr.Pointer() != nil { + var accessibleTextC *C.char + if accessibleText != "" { + accessibleTextC = C.CString(accessibleText) + defer C.free(unsafe.Pointer(accessibleTextC)) + } + C.QStandardItem_SetAccessibleText(ptr.Pointer(), C.struct_QtGui_PackedString{data: accessibleTextC, len: C.longlong(len(accessibleText))}) + } +} + +func (ptr *QStandardItem) SetAutoTristate(tristate bool) { + if ptr.Pointer() != nil { + C.QStandardItem_SetAutoTristate(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(tristate)))) + } +} + +func (ptr *QStandardItem) SetBackground(brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_SetBackground(ptr.Pointer(), PointerFromQBrush(brush)) + } +} + +func (ptr *QStandardItem) SetCheckState(state core.Qt__CheckState) { + if ptr.Pointer() != nil { + C.QStandardItem_SetCheckState(ptr.Pointer(), C.longlong(state)) + } +} + +func (ptr *QStandardItem) SetCheckable(checkable bool) { + if ptr.Pointer() != nil { + C.QStandardItem_SetCheckable(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(checkable)))) + } +} + +func (ptr *QStandardItem) SetChild(row int, column int, item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_SetChild(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQStandardItem(item)) + } +} + +func (ptr *QStandardItem) SetChild2(row int, item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_SetChild2(ptr.Pointer(), C.int(int32(row)), PointerFromQStandardItem(item)) + } +} + +func (ptr *QStandardItem) SetColumnCount(columns int) { + if ptr.Pointer() != nil { + C.QStandardItem_SetColumnCount(ptr.Pointer(), C.int(int32(columns))) + } +} + +//export callbackQStandardItem_SetData +func callbackQStandardItem_SetData(ptr unsafe.Pointer, value unsafe.Pointer, role C.int) { + if signal := qt.GetSignal(ptr, "setData"); signal != nil { + (*(*func(*core.QVariant, int))(signal))(core.NewQVariantFromPointer(value), int(int32(role))) + } else { + NewQStandardItemFromPointer(ptr).SetDataDefault(core.NewQVariantFromPointer(value), int(int32(role))) + } +} + +func (ptr *QStandardItem) ConnectSetData(f func(value *core.QVariant, role int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setData"); signal != nil { + f := func(value *core.QVariant, role int) { + (*(*func(*core.QVariant, int))(signal))(value, role) + f(value, role) + } + qt.ConnectSignal(ptr.Pointer(), "setData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItem) DisconnectSetData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setData") + } +} + +func (ptr *QStandardItem) SetData(value core.QVariant_ITF, role int) { + if ptr.Pointer() != nil { + C.QStandardItem_SetData(ptr.Pointer(), core.PointerFromQVariant(value), C.int(int32(role))) + } +} + +func (ptr *QStandardItem) SetDataDefault(value core.QVariant_ITF, role int) { + if ptr.Pointer() != nil { + C.QStandardItem_SetDataDefault(ptr.Pointer(), core.PointerFromQVariant(value), C.int(int32(role))) + } +} + +func (ptr *QStandardItem) SetDragEnabled(dragEnabled bool) { + if ptr.Pointer() != nil { + C.QStandardItem_SetDragEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(dragEnabled)))) + } +} + +func (ptr *QStandardItem) SetDropEnabled(dropEnabled bool) { + if ptr.Pointer() != nil { + C.QStandardItem_SetDropEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(dropEnabled)))) + } +} + +func (ptr *QStandardItem) SetEditable(editable bool) { + if ptr.Pointer() != nil { + C.QStandardItem_SetEditable(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(editable)))) + } +} + +func (ptr *QStandardItem) SetEnabled(enabled bool) { + if ptr.Pointer() != nil { + C.QStandardItem_SetEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QStandardItem) SetFlags(flags core.Qt__ItemFlag) { + if ptr.Pointer() != nil { + C.QStandardItem_SetFlags(ptr.Pointer(), C.longlong(flags)) + } +} + +func (ptr *QStandardItem) SetFont(font QFont_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_SetFont(ptr.Pointer(), PointerFromQFont(font)) + } +} + +func (ptr *QStandardItem) SetForeground(brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_SetForeground(ptr.Pointer(), PointerFromQBrush(brush)) + } +} + +func (ptr *QStandardItem) SetIcon(icon QIcon_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_SetIcon(ptr.Pointer(), PointerFromQIcon(icon)) + } +} + +func (ptr *QStandardItem) SetRowCount(rows int) { + if ptr.Pointer() != nil { + C.QStandardItem_SetRowCount(ptr.Pointer(), C.int(int32(rows))) + } +} + +func (ptr *QStandardItem) SetSelectable(selectable bool) { + if ptr.Pointer() != nil { + C.QStandardItem_SetSelectable(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(selectable)))) + } +} + +func (ptr *QStandardItem) SetSizeHint(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_SetSizeHint(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +func (ptr *QStandardItem) SetStatusTip(statusTip string) { + if ptr.Pointer() != nil { + var statusTipC *C.char + if statusTip != "" { + statusTipC = C.CString(statusTip) + defer C.free(unsafe.Pointer(statusTipC)) + } + C.QStandardItem_SetStatusTip(ptr.Pointer(), C.struct_QtGui_PackedString{data: statusTipC, len: C.longlong(len(statusTip))}) + } +} + +func (ptr *QStandardItem) SetText(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QStandardItem_SetText(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QStandardItem) SetTextAlignment(alignment core.Qt__AlignmentFlag) { + if ptr.Pointer() != nil { + C.QStandardItem_SetTextAlignment(ptr.Pointer(), C.longlong(alignment)) + } +} + +func (ptr *QStandardItem) SetToolTip(toolTip string) { + if ptr.Pointer() != nil { + var toolTipC *C.char + if toolTip != "" { + toolTipC = C.CString(toolTip) + defer C.free(unsafe.Pointer(toolTipC)) + } + C.QStandardItem_SetToolTip(ptr.Pointer(), C.struct_QtGui_PackedString{data: toolTipC, len: C.longlong(len(toolTip))}) + } +} + +func (ptr *QStandardItem) SetUserTristate(tristate bool) { + if ptr.Pointer() != nil { + C.QStandardItem_SetUserTristate(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(tristate)))) + } +} + +func (ptr *QStandardItem) SetWhatsThis(whatsThis string) { + if ptr.Pointer() != nil { + var whatsThisC *C.char + if whatsThis != "" { + whatsThisC = C.CString(whatsThis) + defer C.free(unsafe.Pointer(whatsThisC)) + } + C.QStandardItem_SetWhatsThis(ptr.Pointer(), C.struct_QtGui_PackedString{data: whatsThisC, len: C.longlong(len(whatsThis))}) + } +} + +func (ptr *QStandardItem) SizeHint() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QStandardItem_SizeHint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QStandardItem) SortChildren(column int, order core.Qt__SortOrder) { + if ptr.Pointer() != nil { + C.QStandardItem_SortChildren(ptr.Pointer(), C.int(int32(column)), C.longlong(order)) + } +} + +func (ptr *QStandardItem) StatusTip() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStandardItem_StatusTip(ptr.Pointer())) + } + return "" +} + +func (ptr *QStandardItem) TakeChild(row int, column int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem_TakeChild(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)))) + } + return nil +} + +func (ptr *QStandardItem) TakeColumn(column int) []*QStandardItem { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QStandardItem { + out := make([]*QStandardItem, int(l.len)) + tmpList := NewQStandardItemFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__takeColumn_atList(i) + } + return out + }(C.QStandardItem_TakeColumn(ptr.Pointer(), C.int(int32(column)))) + } + return make([]*QStandardItem, 0) +} + +func (ptr *QStandardItem) TakeRow(row int) []*QStandardItem { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QStandardItem { + out := make([]*QStandardItem, int(l.len)) + tmpList := NewQStandardItemFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__takeRow_atList(i) + } + return out + }(C.QStandardItem_TakeRow(ptr.Pointer(), C.int(int32(row)))) + } + return make([]*QStandardItem, 0) +} + +func (ptr *QStandardItem) Text() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStandardItem_Text(ptr.Pointer())) + } + return "" +} + +func (ptr *QStandardItem) TextAlignment() core.Qt__AlignmentFlag { + if ptr.Pointer() != nil { + return core.Qt__AlignmentFlag(C.QStandardItem_TextAlignment(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStandardItem) ToolTip() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStandardItem_ToolTip(ptr.Pointer())) + } + return "" +} + +//export callbackQStandardItem_Type +func callbackQStandardItem_Type(ptr unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "type"); signal != nil { + return C.int(int32((*(*func() int)(signal))())) + } + + return C.int(int32(NewQStandardItemFromPointer(ptr).TypeDefault())) +} + +func (ptr *QStandardItem) ConnectType(f func() int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "type"); signal != nil { + f := func() int { + (*(*func() int)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "type", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "type", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItem) DisconnectType() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "type") + } +} + +func (ptr *QStandardItem) Type() int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItem_Type(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStandardItem) TypeDefault() int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItem_TypeDefault(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStandardItem) WhatsThis() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStandardItem_WhatsThis(ptr.Pointer())) + } + return "" +} + +//export callbackQStandardItem_Write +func callbackQStandardItem_Write(ptr unsafe.Pointer, out unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "write"); signal != nil { + (*(*func(*core.QDataStream))(signal))(core.NewQDataStreamFromPointer(out)) + } else { + NewQStandardItemFromPointer(ptr).WriteDefault(core.NewQDataStreamFromPointer(out)) + } +} + +func (ptr *QStandardItem) ConnectWrite(f func(out *core.QDataStream)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "write"); signal != nil { + f := func(out *core.QDataStream) { + (*(*func(*core.QDataStream))(signal))(out) + f(out) + } + qt.ConnectSignal(ptr.Pointer(), "write", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "write", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItem) DisconnectWrite() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "write") + } +} + +func (ptr *QStandardItem) Write(out core.QDataStream_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_Write(ptr.Pointer(), core.PointerFromQDataStream(out)) + } +} + +func (ptr *QStandardItem) WriteDefault(out core.QDataStream_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem_WriteDefault(ptr.Pointer(), core.PointerFromQDataStream(out)) + } +} + +//export callbackQStandardItem_DestroyQStandardItem +func callbackQStandardItem_DestroyQStandardItem(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QStandardItem"); signal != nil { + (*(*func())(signal))() + } else { + NewQStandardItemFromPointer(ptr).DestroyQStandardItemDefault() + } +} + +func (ptr *QStandardItem) ConnectDestroyQStandardItem(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QStandardItem"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QStandardItem", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QStandardItem", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItem) DisconnectDestroyQStandardItem() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QStandardItem") + } +} + +func (ptr *QStandardItem) DestroyQStandardItem() { + if ptr.Pointer() != nil { + C.QStandardItem_DestroyQStandardItem(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QStandardItem) DestroyQStandardItemDefault() { + if ptr.Pointer() != nil { + C.QStandardItem_DestroyQStandardItemDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QStandardItem) __appendColumn_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem___appendColumn_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItem) __appendColumn_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem___appendColumn_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItem) __appendColumn_items_newList() unsafe.Pointer { + return C.QStandardItem___appendColumn_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItem) __appendRow_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem___appendRow_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItem) __appendRow_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem___appendRow_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItem) __appendRow_items_newList() unsafe.Pointer { + return C.QStandardItem___appendRow_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItem) __appendRows_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem___appendRows_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItem) __appendRows_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem___appendRows_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItem) __appendRows_items_newList() unsafe.Pointer { + return C.QStandardItem___appendRows_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItem) __insertColumn_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem___insertColumn_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItem) __insertColumn_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem___insertColumn_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItem) __insertColumn_items_newList() unsafe.Pointer { + return C.QStandardItem___insertColumn_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItem) __insertRow_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem___insertRow_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItem) __insertRow_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem___insertRow_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItem) __insertRow_items_newList() unsafe.Pointer { + return C.QStandardItem___insertRow_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItem) __insertRows_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem___insertRows_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItem) __insertRows_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem___insertRows_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItem) __insertRows_items_newList() unsafe.Pointer { + return C.QStandardItem___insertRows_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItem) __takeColumn_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem___takeColumn_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItem) __takeColumn_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem___takeColumn_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItem) __takeColumn_newList() unsafe.Pointer { + return C.QStandardItem___takeColumn_newList(ptr.Pointer()) +} + +func (ptr *QStandardItem) __takeRow_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItem___takeRow_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItem) __takeRow_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItem___takeRow_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItem) __takeRow_newList() unsafe.Pointer { + return C.QStandardItem___takeRow_newList(ptr.Pointer()) +} + +type QStandardItemModel struct { + core.QAbstractItemModel +} + +type QStandardItemModel_ITF interface { + core.QAbstractItemModel_ITF + QStandardItemModel_PTR() *QStandardItemModel +} + +func (ptr *QStandardItemModel) QStandardItemModel_PTR() *QStandardItemModel { + return ptr +} + +func (ptr *QStandardItemModel) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractItemModel_PTR().Pointer() + } + return nil +} + +func (ptr *QStandardItemModel) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractItemModel_PTR().SetPointer(p) + } +} + +func PointerFromQStandardItemModel(ptr QStandardItemModel_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStandardItemModel_PTR().Pointer() + } + return nil +} + +func NewQStandardItemModelFromPointer(ptr unsafe.Pointer) (n *QStandardItemModel) { + n = new(QStandardItemModel) + n.SetPointer(ptr) + return +} +func NewQStandardItemModel(parent core.QObject_ITF) *QStandardItemModel { + tmpValue := NewQStandardItemModelFromPointer(C.QStandardItemModel_NewQStandardItemModel(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQStandardItemModel2(rows int, columns int, parent core.QObject_ITF) *QStandardItemModel { + tmpValue := NewQStandardItemModelFromPointer(C.QStandardItemModel_NewQStandardItemModel2(C.int(int32(rows)), C.int(int32(columns)), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QStandardItemModel) AppendColumn(items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItemModel_AppendColumn(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__appendColumn_items_newList()) + for _, v := range items { + tmpList.__appendColumn_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItemModel) AppendRow(items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItemModel_AppendRow(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__appendRow_items_newList()) + for _, v := range items { + tmpList.__appendRow_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItemModel) AppendRow2(item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_AppendRow2(ptr.Pointer(), PointerFromQStandardItem(item)) + } +} + +func (ptr *QStandardItemModel) Clear() { + if ptr.Pointer() != nil { + C.QStandardItemModel_Clear(ptr.Pointer()) + } +} + +func (ptr *QStandardItemModel) ClearItemData(index core.QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_ClearItemData(ptr.Pointer(), core.PointerFromQModelIndex(index))) != 0 + } + return false +} + +//export callbackQStandardItemModel_ColumnCount +func callbackQStandardItemModel_ColumnCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "columnCount"); signal != nil { + return C.int(int32((*(*func(*core.QModelIndex) int)(signal))(core.NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQStandardItemModelFromPointer(ptr).ColumnCountDefault(core.NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QStandardItemModel) ConnectColumnCount(f func(parent *core.QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "columnCount"); signal != nil { + f := func(parent *core.QModelIndex) int { + (*(*func(*core.QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "columnCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItemModel) DisconnectColumnCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "columnCount") + } +} + +func (ptr *QStandardItemModel) ColumnCount(parent core.QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_ColumnCount(ptr.Pointer(), core.PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QStandardItemModel) ColumnCountDefault(parent core.QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_ColumnCountDefault(ptr.Pointer(), core.PointerFromQModelIndex(parent)))) + } + return 0 +} + +//export callbackQStandardItemModel_Data +func callbackQStandardItemModel_Data(ptr unsafe.Pointer, index unsafe.Pointer, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return core.PointerFromQVariant((*(*func(*core.QModelIndex, int) *core.QVariant)(signal))(core.NewQModelIndexFromPointer(index), int(int32(role)))) + } + + return core.PointerFromQVariant(NewQStandardItemModelFromPointer(ptr).DataDefault(core.NewQModelIndexFromPointer(index), int(int32(role)))) +} + +func (ptr *QStandardItemModel) ConnectData(f func(index *core.QModelIndex, role int) *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "data"); signal != nil { + f := func(index *core.QModelIndex, role int) *core.QVariant { + (*(*func(*core.QModelIndex, int) *core.QVariant)(signal))(index, role) + return f(index, role) + } + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItemModel) DisconnectData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "data") + } +} + +func (ptr *QStandardItemModel) Data(index core.QModelIndex_ITF, role int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QStandardItemModel_Data(ptr.Pointer(), core.PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) DataDefault(index core.QModelIndex_ITF, role int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QStandardItemModel_DataDefault(ptr.Pointer(), core.PointerFromQModelIndex(index), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQStandardItemModel_DropMimeData +func callbackQStandardItemModel_DropMimeData(ptr unsafe.Pointer, data unsafe.Pointer, action C.longlong, row C.int, column C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "dropMimeData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QMimeData, core.Qt__DropAction, int, int, *core.QModelIndex) bool)(signal))(core.NewQMimeDataFromPointer(data), core.Qt__DropAction(action), int(int32(row)), int(int32(column)), core.NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).DropMimeDataDefault(core.NewQMimeDataFromPointer(data), core.Qt__DropAction(action), int(int32(row)), int(int32(column)), core.NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QStandardItemModel) DropMimeDataDefault(data core.QMimeData_ITF, action core.Qt__DropAction, row int, column int, parent core.QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_DropMimeDataDefault(ptr.Pointer(), core.PointerFromQMimeData(data), C.longlong(action), C.int(int32(row)), C.int(int32(column)), core.PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QStandardItemModel) FindItems(text string, flags core.Qt__MatchFlag, column int) []*QStandardItem { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + return func(l C.struct_QtGui_PackedList) []*QStandardItem { + out := make([]*QStandardItem, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__findItems_atList(i) + } + return out + }(C.QStandardItemModel_FindItems(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, C.longlong(flags), C.int(int32(column)))) + } + return make([]*QStandardItem, 0) +} + +//export callbackQStandardItemModel_Flags +func callbackQStandardItemModel_Flags(ptr unsafe.Pointer, index unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "flags"); signal != nil { + return C.longlong((*(*func(*core.QModelIndex) core.Qt__ItemFlag)(signal))(core.NewQModelIndexFromPointer(index))) + } + + return C.longlong(NewQStandardItemModelFromPointer(ptr).FlagsDefault(core.NewQModelIndexFromPointer(index))) +} + +func (ptr *QStandardItemModel) FlagsDefault(index core.QModelIndex_ITF) core.Qt__ItemFlag { + if ptr.Pointer() != nil { + return core.Qt__ItemFlag(C.QStandardItemModel_FlagsDefault(ptr.Pointer(), core.PointerFromQModelIndex(index))) + } + return 0 +} + +//export callbackQStandardItemModel_HasChildren +func callbackQStandardItemModel_HasChildren(ptr unsafe.Pointer, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "hasChildren"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QModelIndex) bool)(signal))(core.NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).HasChildrenDefault(core.NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QStandardItemModel) HasChildrenDefault(parent core.QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_HasChildrenDefault(ptr.Pointer(), core.PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQStandardItemModel_HeaderData +func callbackQStandardItemModel_HeaderData(ptr unsafe.Pointer, section C.int, orientation C.longlong, role C.int) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "headerData"); signal != nil { + return core.PointerFromQVariant((*(*func(int, core.Qt__Orientation, int) *core.QVariant)(signal))(int(int32(section)), core.Qt__Orientation(orientation), int(int32(role)))) + } + + return core.PointerFromQVariant(NewQStandardItemModelFromPointer(ptr).HeaderDataDefault(int(int32(section)), core.Qt__Orientation(orientation), int(int32(role)))) +} + +func (ptr *QStandardItemModel) HeaderDataDefault(section int, orientation core.Qt__Orientation, role int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QStandardItemModel_HeaderDataDefault(ptr.Pointer(), C.int(int32(section)), C.longlong(orientation), C.int(int32(role)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) HorizontalHeaderItem(column int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel_HorizontalHeaderItem(ptr.Pointer(), C.int(int32(column)))) + } + return nil +} + +//export callbackQStandardItemModel_Index +func callbackQStandardItemModel_Index(ptr unsafe.Pointer, row C.int, column C.int, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "index"); signal != nil { + return core.PointerFromQModelIndex((*(*func(int, int, *core.QModelIndex) *core.QModelIndex)(signal))(int(int32(row)), int(int32(column)), core.NewQModelIndexFromPointer(parent))) + } + + return core.PointerFromQModelIndex(NewQStandardItemModelFromPointer(ptr).IndexDefault(int(int32(row)), int(int32(column)), core.NewQModelIndexFromPointer(parent))) +} + +func (ptr *QStandardItemModel) ConnectIndex(f func(row int, column int, parent *core.QModelIndex) *core.QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "index"); signal != nil { + f := func(row int, column int, parent *core.QModelIndex) *core.QModelIndex { + (*(*func(int, int, *core.QModelIndex) *core.QModelIndex)(signal))(row, column, parent) + return f(row, column, parent) + } + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "index", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItemModel) DisconnectIndex() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "index") + } +} + +func (ptr *QStandardItemModel) Index(row int, column int, parent core.QModelIndex_ITF) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel_Index(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), core.PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) IndexDefault(row int, column int, parent core.QModelIndex_ITF) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel_IndexDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), core.PointerFromQModelIndex(parent))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) IndexFromItem(item QStandardItem_ITF) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel_IndexFromItem(ptr.Pointer(), PointerFromQStandardItem(item))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) InsertColumn(column int, items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItemModel_InsertColumn(ptr.Pointer(), C.int(int32(column)), func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__insertColumn_items_newList()) + for _, v := range items { + tmpList.__insertColumn_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +//export callbackQStandardItemModel_InsertColumns +func callbackQStandardItemModel_InsertColumns(ptr unsafe.Pointer, column C.int, count C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "insertColumns"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, int, *core.QModelIndex) bool)(signal))(int(int32(column)), int(int32(count)), core.NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).InsertColumnsDefault(int(int32(column)), int(int32(count)), core.NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QStandardItemModel) InsertColumnsDefault(column int, count int, parent core.QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_InsertColumnsDefault(ptr.Pointer(), C.int(int32(column)), C.int(int32(count)), core.PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QStandardItemModel) InsertRow(row int, items []*QStandardItem) { + if ptr.Pointer() != nil { + C.QStandardItemModel_InsertRow(ptr.Pointer(), C.int(int32(row)), func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__insertRow_items_newList()) + for _, v := range items { + tmpList.__insertRow_items_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItemModel) InsertRow2(row int, item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_InsertRow2(ptr.Pointer(), C.int(int32(row)), PointerFromQStandardItem(item)) + } +} + +//export callbackQStandardItemModel_InsertRows +func callbackQStandardItemModel_InsertRows(ptr unsafe.Pointer, row C.int, count C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "insertRows"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, int, *core.QModelIndex) bool)(signal))(int(int32(row)), int(int32(count)), core.NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).InsertRowsDefault(int(int32(row)), int(int32(count)), core.NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QStandardItemModel) InsertRowsDefault(row int, count int, parent core.QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_InsertRowsDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(count)), core.PointerFromQModelIndex(parent))) != 0 + } + return false +} + +func (ptr *QStandardItemModel) InvisibleRootItem() *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel_InvisibleRootItem(ptr.Pointer())) + } + return nil +} + +func (ptr *QStandardItemModel) Item(row int, column int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel_Item(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)))) + } + return nil +} + +//export callbackQStandardItemModel_ItemChanged +func callbackQStandardItemModel_ItemChanged(ptr unsafe.Pointer, item unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "itemChanged"); signal != nil { + (*(*func(*QStandardItem))(signal))(NewQStandardItemFromPointer(item)) + } + +} + +func (ptr *QStandardItemModel) ConnectItemChanged(f func(item *QStandardItem)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "itemChanged") { + C.QStandardItemModel_ConnectItemChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "itemChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "itemChanged"); signal != nil { + f := func(item *QStandardItem) { + (*(*func(*QStandardItem))(signal))(item) + f(item) + } + qt.ConnectSignal(ptr.Pointer(), "itemChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "itemChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItemModel) DisconnectItemChanged() { + if ptr.Pointer() != nil { + C.QStandardItemModel_DisconnectItemChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "itemChanged") + } +} + +func (ptr *QStandardItemModel) ItemChanged(item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_ItemChanged(ptr.Pointer(), PointerFromQStandardItem(item)) + } +} + +//export callbackQStandardItemModel_ItemData +func callbackQStandardItemModel_ItemData(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "itemData"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__itemData_newList()) + for k, v := range (*(*func(*core.QModelIndex) map[int]*core.QVariant)(signal))(core.NewQModelIndexFromPointer(index)) { + tmpList.__itemData_setList(k, v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__itemData_newList()) + for k, v := range NewQStandardItemModelFromPointer(ptr).ItemDataDefault(core.NewQModelIndexFromPointer(index)) { + tmpList.__itemData_setList(k, v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QStandardItemModel) ItemDataDefault(index core.QModelIndex_ITF) map[int]*core.QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) map[int]*core.QVariant { + out := make(map[int]*core.QVariant, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i, v := range tmpList.__itemData_keyList() { + out[v] = tmpList.__itemData_atList(v, i) + } + return out + }(C.QStandardItemModel_ItemDataDefault(ptr.Pointer(), core.PointerFromQModelIndex(index))) + } + return make(map[int]*core.QVariant, 0) +} + +func (ptr *QStandardItemModel) ItemFromIndex(index core.QModelIndex_ITF) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel_ItemFromIndex(ptr.Pointer(), core.PointerFromQModelIndex(index))) + } + return nil +} + +func (ptr *QStandardItemModel) ItemPrototype() *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel_ItemPrototype(ptr.Pointer())) + } + return nil +} + +//export callbackQStandardItemModel_MimeData +func callbackQStandardItemModel_MimeData(ptr unsafe.Pointer, indexes C.struct_QtGui_PackedList) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "mimeData"); signal != nil { + return core.PointerFromQMimeData((*(*func([]*core.QModelIndex) *core.QMimeData)(signal))(func(l C.struct_QtGui_PackedList) []*core.QModelIndex { + out := make([]*core.QModelIndex, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__mimeData_indexes_atList(i) + } + return out + }(indexes))) + } + + return core.PointerFromQMimeData(NewQStandardItemModelFromPointer(ptr).MimeDataDefault(func(l C.struct_QtGui_PackedList) []*core.QModelIndex { + out := make([]*core.QModelIndex, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__mimeData_indexes_atList(i) + } + return out + }(indexes))) +} + +func (ptr *QStandardItemModel) MimeDataDefault(indexes []*core.QModelIndex) *core.QMimeData { + if ptr.Pointer() != nil { + tmpValue := core.NewQMimeDataFromPointer(C.QStandardItemModel_MimeDataDefault(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__mimeData_indexes_newList()) + for _, v := range indexes { + tmpList.__mimeData_indexes_setList(v) + } + return tmpList.Pointer() + }())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQStandardItemModel_MimeTypes +func callbackQStandardItemModel_MimeTypes(ptr unsafe.Pointer) C.struct_QtGui_PackedString { + if signal := qt.GetSignal(ptr, "mimeTypes"); signal != nil { + tempVal := (*(*func() []string)(signal))() + return C.struct_QtGui_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} + } + tempVal := NewQStandardItemModelFromPointer(ptr).MimeTypesDefault() + return C.struct_QtGui_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} +} + +func (ptr *QStandardItemModel) MimeTypesDefault() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QStandardItemModel_MimeTypesDefault(ptr.Pointer()))) + } + return make([]string, 0) +} + +//export callbackQStandardItemModel_Parent +func callbackQStandardItemModel_Parent(ptr unsafe.Pointer, child unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "parent"); signal != nil { + return core.PointerFromQModelIndex((*(*func(*core.QModelIndex) *core.QModelIndex)(signal))(core.NewQModelIndexFromPointer(child))) + } + + return core.PointerFromQModelIndex(NewQStandardItemModelFromPointer(ptr).ParentDefault(core.NewQModelIndexFromPointer(child))) +} + +func (ptr *QStandardItemModel) ConnectParent(f func(child *core.QModelIndex) *core.QModelIndex) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "parent"); signal != nil { + f := func(child *core.QModelIndex) *core.QModelIndex { + (*(*func(*core.QModelIndex) *core.QModelIndex)(signal))(child) + return f(child) + } + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "parent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItemModel) DisconnectParent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "parent") + } +} + +func (ptr *QStandardItemModel) Parent(child core.QModelIndex_ITF) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel_Parent(ptr.Pointer(), core.PointerFromQModelIndex(child))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) ParentDefault(child core.QModelIndex_ITF) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel_ParentDefault(ptr.Pointer(), core.PointerFromQModelIndex(child))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQStandardItemModel_RemoveColumns +func callbackQStandardItemModel_RemoveColumns(ptr unsafe.Pointer, column C.int, count C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "removeColumns"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, int, *core.QModelIndex) bool)(signal))(int(int32(column)), int(int32(count)), core.NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).RemoveColumnsDefault(int(int32(column)), int(int32(count)), core.NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QStandardItemModel) RemoveColumnsDefault(column int, count int, parent core.QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_RemoveColumnsDefault(ptr.Pointer(), C.int(int32(column)), C.int(int32(count)), core.PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQStandardItemModel_RemoveRows +func callbackQStandardItemModel_RemoveRows(ptr unsafe.Pointer, row C.int, count C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "removeRows"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, int, *core.QModelIndex) bool)(signal))(int(int32(row)), int(int32(count)), core.NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).RemoveRowsDefault(int(int32(row)), int(int32(count)), core.NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QStandardItemModel) RemoveRowsDefault(row int, count int, parent core.QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_RemoveRowsDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(count)), core.PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQStandardItemModel_RowCount +func callbackQStandardItemModel_RowCount(ptr unsafe.Pointer, parent unsafe.Pointer) C.int { + if signal := qt.GetSignal(ptr, "rowCount"); signal != nil { + return C.int(int32((*(*func(*core.QModelIndex) int)(signal))(core.NewQModelIndexFromPointer(parent)))) + } + + return C.int(int32(NewQStandardItemModelFromPointer(ptr).RowCountDefault(core.NewQModelIndexFromPointer(parent)))) +} + +func (ptr *QStandardItemModel) ConnectRowCount(f func(parent *core.QModelIndex) int) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rowCount"); signal != nil { + f := func(parent *core.QModelIndex) int { + (*(*func(*core.QModelIndex) int)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rowCount", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItemModel) DisconnectRowCount() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rowCount") + } +} + +func (ptr *QStandardItemModel) RowCount(parent core.QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_RowCount(ptr.Pointer(), core.PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QStandardItemModel) RowCountDefault(parent core.QModelIndex_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_RowCountDefault(ptr.Pointer(), core.PointerFromQModelIndex(parent)))) + } + return 0 +} + +func (ptr *QStandardItemModel) SetColumnCount(columns int) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SetColumnCount(ptr.Pointer(), C.int(int32(columns))) + } +} + +//export callbackQStandardItemModel_SetData +func callbackQStandardItemModel_SetData(ptr unsafe.Pointer, index unsafe.Pointer, value unsafe.Pointer, role C.int) C.char { + if signal := qt.GetSignal(ptr, "setData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QModelIndex, *core.QVariant, int) bool)(signal))(core.NewQModelIndexFromPointer(index), core.NewQVariantFromPointer(value), int(int32(role)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).SetDataDefault(core.NewQModelIndexFromPointer(index), core.NewQVariantFromPointer(value), int(int32(role)))))) +} + +func (ptr *QStandardItemModel) SetDataDefault(index core.QModelIndex_ITF, value core.QVariant_ITF, role int) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_SetDataDefault(ptr.Pointer(), core.PointerFromQModelIndex(index), core.PointerFromQVariant(value), C.int(int32(role)))) != 0 + } + return false +} + +//export callbackQStandardItemModel_SetHeaderData +func callbackQStandardItemModel_SetHeaderData(ptr unsafe.Pointer, section C.int, orientation C.longlong, value unsafe.Pointer, role C.int) C.char { + if signal := qt.GetSignal(ptr, "setHeaderData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int, core.Qt__Orientation, *core.QVariant, int) bool)(signal))(int(int32(section)), core.Qt__Orientation(orientation), core.NewQVariantFromPointer(value), int(int32(role)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).SetHeaderDataDefault(int(int32(section)), core.Qt__Orientation(orientation), core.NewQVariantFromPointer(value), int(int32(role)))))) +} + +func (ptr *QStandardItemModel) SetHeaderDataDefault(section int, orientation core.Qt__Orientation, value core.QVariant_ITF, role int) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_SetHeaderDataDefault(ptr.Pointer(), C.int(int32(section)), C.longlong(orientation), core.PointerFromQVariant(value), C.int(int32(role)))) != 0 + } + return false +} + +func (ptr *QStandardItemModel) SetHorizontalHeaderItem(column int, item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SetHorizontalHeaderItem(ptr.Pointer(), C.int(int32(column)), PointerFromQStandardItem(item)) + } +} + +func (ptr *QStandardItemModel) SetHorizontalHeaderLabels(labels []string) { + if ptr.Pointer() != nil { + labelsC := C.CString(strings.Join(labels, "¡¦!")) + defer C.free(unsafe.Pointer(labelsC)) + C.QStandardItemModel_SetHorizontalHeaderLabels(ptr.Pointer(), C.struct_QtGui_PackedString{data: labelsC, len: C.longlong(len(strings.Join(labels, "¡¦!")))}) + } +} + +func (ptr *QStandardItemModel) SetItem(row int, column int, item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SetItem(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), PointerFromQStandardItem(item)) + } +} + +func (ptr *QStandardItemModel) SetItem2(row int, item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SetItem2(ptr.Pointer(), C.int(int32(row)), PointerFromQStandardItem(item)) + } +} + +//export callbackQStandardItemModel_SetItemData +func callbackQStandardItemModel_SetItemData(ptr unsafe.Pointer, index unsafe.Pointer, roles C.struct_QtGui_PackedList) C.char { + if signal := qt.GetSignal(ptr, "setItemData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QModelIndex, map[int]*core.QVariant) bool)(signal))(core.NewQModelIndexFromPointer(index), func(l C.struct_QtGui_PackedList) map[int]*core.QVariant { + out := make(map[int]*core.QVariant, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i, v := range tmpList.__setItemData_roles_keyList() { + out[v] = tmpList.__setItemData_roles_atList(v, i) + } + return out + }(roles))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).SetItemDataDefault(core.NewQModelIndexFromPointer(index), func(l C.struct_QtGui_PackedList) map[int]*core.QVariant { + out := make(map[int]*core.QVariant, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i, v := range tmpList.__setItemData_roles_keyList() { + out[v] = tmpList.__setItemData_roles_atList(v, i) + } + return out + }(roles))))) +} + +func (ptr *QStandardItemModel) SetItemDataDefault(index core.QModelIndex_ITF, roles map[int]*core.QVariant) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_SetItemDataDefault(ptr.Pointer(), core.PointerFromQModelIndex(index), func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__setItemData_roles_newList()) + for k, v := range roles { + tmpList.__setItemData_roles_setList(k, v) + } + return tmpList.Pointer() + }())) != 0 + } + return false +} + +func (ptr *QStandardItemModel) SetItemPrototype(item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SetItemPrototype(ptr.Pointer(), PointerFromQStandardItem(item)) + } +} + +func (ptr *QStandardItemModel) SetItemRoleNames(roleNames map[int]*core.QByteArray) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SetItemRoleNames(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__setItemRoleNames_roleNames_newList()) + for k, v := range roleNames { + tmpList.__setItemRoleNames_roleNames_setList(k, v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QStandardItemModel) SetRowCount(rows int) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SetRowCount(ptr.Pointer(), C.int(int32(rows))) + } +} + +func (ptr *QStandardItemModel) SetSortRole(role int) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SetSortRole(ptr.Pointer(), C.int(int32(role))) + } +} + +func (ptr *QStandardItemModel) SetVerticalHeaderItem(row int, item QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SetVerticalHeaderItem(ptr.Pointer(), C.int(int32(row)), PointerFromQStandardItem(item)) + } +} + +func (ptr *QStandardItemModel) SetVerticalHeaderLabels(labels []string) { + if ptr.Pointer() != nil { + labelsC := C.CString(strings.Join(labels, "¡¦!")) + defer C.free(unsafe.Pointer(labelsC)) + C.QStandardItemModel_SetVerticalHeaderLabels(ptr.Pointer(), C.struct_QtGui_PackedString{data: labelsC, len: C.longlong(len(strings.Join(labels, "¡¦!")))}) + } +} + +//export callbackQStandardItemModel_Sibling +func callbackQStandardItemModel_Sibling(ptr unsafe.Pointer, row C.int, column C.int, idx unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "sibling"); signal != nil { + return core.PointerFromQModelIndex((*(*func(int, int, *core.QModelIndex) *core.QModelIndex)(signal))(int(int32(row)), int(int32(column)), core.NewQModelIndexFromPointer(idx))) + } + + return core.PointerFromQModelIndex(NewQStandardItemModelFromPointer(ptr).SiblingDefault(int(int32(row)), int(int32(column)), core.NewQModelIndexFromPointer(idx))) +} + +func (ptr *QStandardItemModel) SiblingDefault(row int, column int, idx core.QModelIndex_ITF) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel_SiblingDefault(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), core.PointerFromQModelIndex(idx))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQStandardItemModel_Sort +func callbackQStandardItemModel_Sort(ptr unsafe.Pointer, column C.int, order C.longlong) { + if signal := qt.GetSignal(ptr, "sort"); signal != nil { + (*(*func(int, core.Qt__SortOrder))(signal))(int(int32(column)), core.Qt__SortOrder(order)) + } else { + NewQStandardItemModelFromPointer(ptr).SortDefault(int(int32(column)), core.Qt__SortOrder(order)) + } +} + +func (ptr *QStandardItemModel) SortDefault(column int, order core.Qt__SortOrder) { + if ptr.Pointer() != nil { + C.QStandardItemModel_SortDefault(ptr.Pointer(), C.int(int32(column)), C.longlong(order)) + } +} + +func (ptr *QStandardItemModel) SortRole() int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_SortRole(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStandardItemModel_SupportedDropActions +func callbackQStandardItemModel_SupportedDropActions(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "supportedDropActions"); signal != nil { + return C.longlong((*(*func() core.Qt__DropAction)(signal))()) + } + + return C.longlong(NewQStandardItemModelFromPointer(ptr).SupportedDropActionsDefault()) +} + +func (ptr *QStandardItemModel) SupportedDropActionsDefault() core.Qt__DropAction { + if ptr.Pointer() != nil { + return core.Qt__DropAction(C.QStandardItemModel_SupportedDropActionsDefault(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStandardItemModel) TakeColumn(column int) []*QStandardItem { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QStandardItem { + out := make([]*QStandardItem, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__takeColumn_atList(i) + } + return out + }(C.QStandardItemModel_TakeColumn(ptr.Pointer(), C.int(int32(column)))) + } + return make([]*QStandardItem, 0) +} + +func (ptr *QStandardItemModel) TakeHorizontalHeaderItem(column int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel_TakeHorizontalHeaderItem(ptr.Pointer(), C.int(int32(column)))) + } + return nil +} + +func (ptr *QStandardItemModel) TakeItem(row int, column int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel_TakeItem(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)))) + } + return nil +} + +func (ptr *QStandardItemModel) TakeRow(row int) []*QStandardItem { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QStandardItem { + out := make([]*QStandardItem, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__takeRow_atList(i) + } + return out + }(C.QStandardItemModel_TakeRow(ptr.Pointer(), C.int(int32(row)))) + } + return make([]*QStandardItem, 0) +} + +func (ptr *QStandardItemModel) TakeVerticalHeaderItem(row int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel_TakeVerticalHeaderItem(ptr.Pointer(), C.int(int32(row)))) + } + return nil +} + +func (ptr *QStandardItemModel) VerticalHeaderItem(row int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel_VerticalHeaderItem(ptr.Pointer(), C.int(int32(row)))) + } + return nil +} + +//export callbackQStandardItemModel_DestroyQStandardItemModel +func callbackQStandardItemModel_DestroyQStandardItemModel(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QStandardItemModel"); signal != nil { + (*(*func())(signal))() + } else { + NewQStandardItemModelFromPointer(ptr).DestroyQStandardItemModelDefault() + } +} + +func (ptr *QStandardItemModel) ConnectDestroyQStandardItemModel(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QStandardItemModel"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QStandardItemModel", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QStandardItemModel", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStandardItemModel) DisconnectDestroyQStandardItemModel() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QStandardItemModel") + } +} + +func (ptr *QStandardItemModel) DestroyQStandardItemModel() { + if ptr.Pointer() != nil { + C.QStandardItemModel_DestroyQStandardItemModel(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QStandardItemModel) DestroyQStandardItemModelDefault() { + if ptr.Pointer() != nil { + C.QStandardItemModel_DestroyQStandardItemModelDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QStandardItemModel) __appendColumn_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel___appendColumn_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItemModel) __appendColumn_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___appendColumn_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItemModel) __appendColumn_items_newList() unsafe.Pointer { + return C.QStandardItemModel___appendColumn_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __appendRow_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel___appendRow_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItemModel) __appendRow_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___appendRow_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItemModel) __appendRow_items_newList() unsafe.Pointer { + return C.QStandardItemModel___appendRow_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __findItems_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel___findItems_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItemModel) __findItems_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___findItems_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItemModel) __findItems_newList() unsafe.Pointer { + return C.QStandardItemModel___findItems_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __insertColumn_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel___insertColumn_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItemModel) __insertColumn_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___insertColumn_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItemModel) __insertColumn_items_newList() unsafe.Pointer { + return C.QStandardItemModel___insertColumn_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __insertRow_items_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel___insertRow_items_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItemModel) __insertRow_items_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___insertRow_items_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItemModel) __insertRow_items_newList() unsafe.Pointer { + return C.QStandardItemModel___insertRow_items_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __itemData_atList(v int, i int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QStandardItemModel___itemData_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __itemData_setList(key int, i core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___itemData_setList(ptr.Pointer(), C.int(int32(key)), core.PointerFromQVariant(i)) + } +} + +func (ptr *QStandardItemModel) __itemData_newList() unsafe.Pointer { + return C.QStandardItemModel___itemData_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __itemData_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____itemData_keyList_atList(i) + } + return out + }(C.QStandardItemModel___itemData_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QStandardItemModel) __mimeData_indexes_atList(i int) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel___mimeData_indexes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __mimeData_indexes_setList(i core.QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___mimeData_indexes_setList(ptr.Pointer(), core.PointerFromQModelIndex(i)) + } +} + +func (ptr *QStandardItemModel) __mimeData_indexes_newList() unsafe.Pointer { + return C.QStandardItemModel___mimeData_indexes_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __setItemData_roles_atList(v int, i int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QStandardItemModel___setItemData_roles_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __setItemData_roles_setList(key int, i core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___setItemData_roles_setList(ptr.Pointer(), C.int(int32(key)), core.PointerFromQVariant(i)) + } +} + +func (ptr *QStandardItemModel) __setItemData_roles_newList() unsafe.Pointer { + return C.QStandardItemModel___setItemData_roles_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __setItemData_roles_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____setItemData_roles_keyList_atList(i) + } + return out + }(C.QStandardItemModel___setItemData_roles_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QStandardItemModel) __setItemRoleNames_roleNames_atList(v int, i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QStandardItemModel___setItemRoleNames_roleNames_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __setItemRoleNames_roleNames_setList(key int, i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___setItemRoleNames_roleNames_setList(ptr.Pointer(), C.int(int32(key)), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QStandardItemModel) __setItemRoleNames_roleNames_newList() unsafe.Pointer { + return C.QStandardItemModel___setItemRoleNames_roleNames_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __setItemRoleNames_roleNames_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____setItemRoleNames_roleNames_keyList_atList(i) + } + return out + }(C.QStandardItemModel___setItemRoleNames_roleNames_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QStandardItemModel) __takeColumn_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel___takeColumn_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItemModel) __takeColumn_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___takeColumn_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItemModel) __takeColumn_newList() unsafe.Pointer { + return C.QStandardItemModel___takeColumn_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __takeRow_atList(i int) *QStandardItem { + if ptr.Pointer() != nil { + return NewQStandardItemFromPointer(C.QStandardItemModel___takeRow_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QStandardItemModel) __takeRow_setList(i QStandardItem_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___takeRow_setList(ptr.Pointer(), PointerFromQStandardItem(i)) + } +} + +func (ptr *QStandardItemModel) __takeRow_newList() unsafe.Pointer { + return C.QStandardItemModel___takeRow_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) ____itemData_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_____itemData_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStandardItemModel) ____itemData_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QStandardItemModel_____itemData_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QStandardItemModel) ____itemData_keyList_newList() unsafe.Pointer { + return C.QStandardItemModel_____itemData_keyList_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) ____setItemData_roles_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_____setItemData_roles_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStandardItemModel) ____setItemData_roles_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QStandardItemModel_____setItemData_roles_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QStandardItemModel) ____setItemData_roles_keyList_newList() unsafe.Pointer { + return C.QStandardItemModel_____setItemData_roles_keyList_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) ____setItemRoleNames_roleNames_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_____setItemRoleNames_roleNames_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStandardItemModel) ____setItemRoleNames_roleNames_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QStandardItemModel_____setItemRoleNames_roleNames_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QStandardItemModel) ____setItemRoleNames_roleNames_keyList_newList() unsafe.Pointer { + return C.QStandardItemModel_____setItemRoleNames_roleNames_keyList_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __changePersistentIndexList_from_atList(i int) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel___changePersistentIndexList_from_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __changePersistentIndexList_from_setList(i core.QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___changePersistentIndexList_from_setList(ptr.Pointer(), core.PointerFromQModelIndex(i)) + } +} + +func (ptr *QStandardItemModel) __changePersistentIndexList_from_newList() unsafe.Pointer { + return C.QStandardItemModel___changePersistentIndexList_from_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __changePersistentIndexList_to_atList(i int) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel___changePersistentIndexList_to_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __changePersistentIndexList_to_setList(i core.QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___changePersistentIndexList_to_setList(ptr.Pointer(), core.PointerFromQModelIndex(i)) + } +} + +func (ptr *QStandardItemModel) __changePersistentIndexList_to_newList() unsafe.Pointer { + return C.QStandardItemModel___changePersistentIndexList_to_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __dataChanged_roles_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel___dataChanged_roles_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStandardItemModel) __dataChanged_roles_setList(i int) { + if ptr.Pointer() != nil { + C.QStandardItemModel___dataChanged_roles_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QStandardItemModel) __dataChanged_roles_newList() unsafe.Pointer { + return C.QStandardItemModel___dataChanged_roles_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __layoutAboutToBeChanged_parents_atList(i int) *core.QPersistentModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQPersistentModelIndexFromPointer(C.QStandardItemModel___layoutAboutToBeChanged_parents_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPersistentModelIndex).DestroyQPersistentModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __layoutAboutToBeChanged_parents_setList(i core.QPersistentModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___layoutAboutToBeChanged_parents_setList(ptr.Pointer(), core.PointerFromQPersistentModelIndex(i)) + } +} + +func (ptr *QStandardItemModel) __layoutAboutToBeChanged_parents_newList() unsafe.Pointer { + return C.QStandardItemModel___layoutAboutToBeChanged_parents_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __layoutChanged_parents_atList(i int) *core.QPersistentModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQPersistentModelIndexFromPointer(C.QStandardItemModel___layoutChanged_parents_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QPersistentModelIndex).DestroyQPersistentModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __layoutChanged_parents_setList(i core.QPersistentModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___layoutChanged_parents_setList(ptr.Pointer(), core.PointerFromQPersistentModelIndex(i)) + } +} + +func (ptr *QStandardItemModel) __layoutChanged_parents_newList() unsafe.Pointer { + return C.QStandardItemModel___layoutChanged_parents_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __match_atList(i int) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel___match_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __match_setList(i core.QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___match_setList(ptr.Pointer(), core.PointerFromQModelIndex(i)) + } +} + +func (ptr *QStandardItemModel) __match_newList() unsafe.Pointer { + return C.QStandardItemModel___match_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __persistentIndexList_atList(i int) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel___persistentIndexList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __persistentIndexList_setList(i core.QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___persistentIndexList_setList(ptr.Pointer(), core.PointerFromQModelIndex(i)) + } +} + +func (ptr *QStandardItemModel) __persistentIndexList_newList() unsafe.Pointer { + return C.QStandardItemModel___persistentIndexList_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __roleNames_atList(v int, i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QStandardItemModel___roleNames_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __roleNames_setList(key int, i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___roleNames_setList(ptr.Pointer(), C.int(int32(key)), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QStandardItemModel) __roleNames_newList() unsafe.Pointer { + return C.QStandardItemModel___roleNames_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __roleNames_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____roleNames_keyList_atList(i) + } + return out + }(C.QStandardItemModel___roleNames_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QStandardItemModel) ____doSetRoleNames_roleNames_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_____doSetRoleNames_roleNames_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStandardItemModel) ____doSetRoleNames_roleNames_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QStandardItemModel_____doSetRoleNames_roleNames_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QStandardItemModel) ____doSetRoleNames_roleNames_keyList_newList() unsafe.Pointer { + return C.QStandardItemModel_____doSetRoleNames_roleNames_keyList_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) ____roleNames_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_____roleNames_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStandardItemModel) ____roleNames_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QStandardItemModel_____roleNames_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QStandardItemModel) ____roleNames_keyList_newList() unsafe.Pointer { + return C.QStandardItemModel_____roleNames_keyList_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) ____setRoleNames_roleNames_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QStandardItemModel_____setRoleNames_roleNames_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QStandardItemModel) ____setRoleNames_roleNames_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QStandardItemModel_____setRoleNames_roleNames_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QStandardItemModel) ____setRoleNames_roleNames_keyList_newList() unsafe.Pointer { + return C.QStandardItemModel_____setRoleNames_roleNames_keyList_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QStandardItemModel___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QStandardItemModel) __children_newList() unsafe.Pointer { + return C.QStandardItemModel___children_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QStandardItemModel___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QStandardItemModel) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QStandardItemModel___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QStandardItemModel___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QStandardItemModel) __findChildren_newList() unsafe.Pointer { + return C.QStandardItemModel___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QStandardItemModel___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QStandardItemModel) __findChildren_newList3() unsafe.Pointer { + return C.QStandardItemModel___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QStandardItemModel) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QStandardItemModel___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStandardItemModel) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QStandardItemModel) __qFindChildren_newList2() unsafe.Pointer { + return C.QStandardItemModel___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQStandardItemModel_Buddy +func callbackQStandardItemModel_Buddy(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "buddy"); signal != nil { + return core.PointerFromQModelIndex((*(*func(*core.QModelIndex) *core.QModelIndex)(signal))(core.NewQModelIndexFromPointer(index))) + } + + return core.PointerFromQModelIndex(NewQStandardItemModelFromPointer(ptr).BuddyDefault(core.NewQModelIndexFromPointer(index))) +} + +func (ptr *QStandardItemModel) BuddyDefault(index core.QModelIndex_ITF) *core.QModelIndex { + if ptr.Pointer() != nil { + tmpValue := core.NewQModelIndexFromPointer(C.QStandardItemModel_BuddyDefault(ptr.Pointer(), core.PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*core.QModelIndex).DestroyQModelIndex) + return tmpValue + } + return nil +} + +//export callbackQStandardItemModel_CanDropMimeData +func callbackQStandardItemModel_CanDropMimeData(ptr unsafe.Pointer, data unsafe.Pointer, action C.longlong, row C.int, column C.int, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "canDropMimeData"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QMimeData, core.Qt__DropAction, int, int, *core.QModelIndex) bool)(signal))(core.NewQMimeDataFromPointer(data), core.Qt__DropAction(action), int(int32(row)), int(int32(column)), core.NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).CanDropMimeDataDefault(core.NewQMimeDataFromPointer(data), core.Qt__DropAction(action), int(int32(row)), int(int32(column)), core.NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QStandardItemModel) CanDropMimeDataDefault(data core.QMimeData_ITF, action core.Qt__DropAction, row int, column int, parent core.QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_CanDropMimeDataDefault(ptr.Pointer(), core.PointerFromQMimeData(data), C.longlong(action), C.int(int32(row)), C.int(int32(column)), core.PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQStandardItemModel_CanFetchMore +func callbackQStandardItemModel_CanFetchMore(ptr unsafe.Pointer, parent unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "canFetchMore"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QModelIndex) bool)(signal))(core.NewQModelIndexFromPointer(parent))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).CanFetchMoreDefault(core.NewQModelIndexFromPointer(parent))))) +} + +func (ptr *QStandardItemModel) CanFetchMoreDefault(parent core.QModelIndex_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_CanFetchMoreDefault(ptr.Pointer(), core.PointerFromQModelIndex(parent))) != 0 + } + return false +} + +//export callbackQStandardItemModel_ColumnsAboutToBeInserted +func callbackQStandardItemModel_ColumnsAboutToBeInserted(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "columnsAboutToBeInserted"); signal != nil { + (*(*func(*core.QModelIndex, int, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +//export callbackQStandardItemModel_ColumnsAboutToBeMoved +func callbackQStandardItemModel_ColumnsAboutToBeMoved(ptr unsafe.Pointer, sourceParent unsafe.Pointer, sourceStart C.int, sourceEnd C.int, destinationParent unsafe.Pointer, destinationColumn C.int) { + if signal := qt.GetSignal(ptr, "columnsAboutToBeMoved"); signal != nil { + (*(*func(*core.QModelIndex, int, int, *core.QModelIndex, int))(signal))(core.NewQModelIndexFromPointer(sourceParent), int(int32(sourceStart)), int(int32(sourceEnd)), core.NewQModelIndexFromPointer(destinationParent), int(int32(destinationColumn))) + } + +} + +//export callbackQStandardItemModel_ColumnsAboutToBeRemoved +func callbackQStandardItemModel_ColumnsAboutToBeRemoved(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "columnsAboutToBeRemoved"); signal != nil { + (*(*func(*core.QModelIndex, int, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +//export callbackQStandardItemModel_ColumnsInserted +func callbackQStandardItemModel_ColumnsInserted(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "columnsInserted"); signal != nil { + (*(*func(*core.QModelIndex, int, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +//export callbackQStandardItemModel_ColumnsMoved +func callbackQStandardItemModel_ColumnsMoved(ptr unsafe.Pointer, parent unsafe.Pointer, start C.int, end C.int, destination unsafe.Pointer, column C.int) { + if signal := qt.GetSignal(ptr, "columnsMoved"); signal != nil { + (*(*func(*core.QModelIndex, int, int, *core.QModelIndex, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(start)), int(int32(end)), core.NewQModelIndexFromPointer(destination), int(int32(column))) + } + +} + +//export callbackQStandardItemModel_ColumnsRemoved +func callbackQStandardItemModel_ColumnsRemoved(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "columnsRemoved"); signal != nil { + (*(*func(*core.QModelIndex, int, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +//export callbackQStandardItemModel_DataChanged +func callbackQStandardItemModel_DataChanged(ptr unsafe.Pointer, topLeft unsafe.Pointer, bottomRight unsafe.Pointer, roles C.struct_QtGui_PackedList) { + if signal := qt.GetSignal(ptr, "dataChanged"); signal != nil { + (*(*func(*core.QModelIndex, *core.QModelIndex, []int))(signal))(core.NewQModelIndexFromPointer(topLeft), core.NewQModelIndexFromPointer(bottomRight), func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__dataChanged_roles_atList(i) + } + return out + }(roles)) + } + +} + +//export callbackQStandardItemModel_FetchMore +func callbackQStandardItemModel_FetchMore(ptr unsafe.Pointer, parent unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "fetchMore"); signal != nil { + (*(*func(*core.QModelIndex))(signal))(core.NewQModelIndexFromPointer(parent)) + } else { + NewQStandardItemModelFromPointer(ptr).FetchMoreDefault(core.NewQModelIndexFromPointer(parent)) + } +} + +func (ptr *QStandardItemModel) FetchMoreDefault(parent core.QModelIndex_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_FetchMoreDefault(ptr.Pointer(), core.PointerFromQModelIndex(parent)) + } +} + +//export callbackQStandardItemModel_HeaderDataChanged +func callbackQStandardItemModel_HeaderDataChanged(ptr unsafe.Pointer, orientation C.longlong, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "headerDataChanged"); signal != nil { + (*(*func(core.Qt__Orientation, int, int))(signal))(core.Qt__Orientation(orientation), int(int32(first)), int(int32(last))) + } + +} + +//export callbackQStandardItemModel_LayoutAboutToBeChanged +func callbackQStandardItemModel_LayoutAboutToBeChanged(ptr unsafe.Pointer, parents C.struct_QtGui_PackedList, hint C.longlong) { + if signal := qt.GetSignal(ptr, "layoutAboutToBeChanged"); signal != nil { + (*(*func([]*core.QPersistentModelIndex, core.QAbstractItemModel__LayoutChangeHint))(signal))(func(l C.struct_QtGui_PackedList) []*core.QPersistentModelIndex { + out := make([]*core.QPersistentModelIndex, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__layoutAboutToBeChanged_parents_atList(i) + } + return out + }(parents), core.QAbstractItemModel__LayoutChangeHint(hint)) + } + +} + +//export callbackQStandardItemModel_LayoutChanged +func callbackQStandardItemModel_LayoutChanged(ptr unsafe.Pointer, parents C.struct_QtGui_PackedList, hint C.longlong) { + if signal := qt.GetSignal(ptr, "layoutChanged"); signal != nil { + (*(*func([]*core.QPersistentModelIndex, core.QAbstractItemModel__LayoutChangeHint))(signal))(func(l C.struct_QtGui_PackedList) []*core.QPersistentModelIndex { + out := make([]*core.QPersistentModelIndex, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__layoutChanged_parents_atList(i) + } + return out + }(parents), core.QAbstractItemModel__LayoutChangeHint(hint)) + } + +} + +//export callbackQStandardItemModel_Match +func callbackQStandardItemModel_Match(ptr unsafe.Pointer, start unsafe.Pointer, role C.int, value unsafe.Pointer, hits C.int, flags C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "match"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__match_newList()) + for _, v := range (*(*func(*core.QModelIndex, int, *core.QVariant, int, core.Qt__MatchFlag) []*core.QModelIndex)(signal))(core.NewQModelIndexFromPointer(start), int(int32(role)), core.NewQVariantFromPointer(value), int(int32(hits)), core.Qt__MatchFlag(flags)) { + tmpList.__match_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__match_newList()) + for _, v := range NewQStandardItemModelFromPointer(ptr).MatchDefault(core.NewQModelIndexFromPointer(start), int(int32(role)), core.NewQVariantFromPointer(value), int(int32(hits)), core.Qt__MatchFlag(flags)) { + tmpList.__match_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QStandardItemModel) MatchDefault(start core.QModelIndex_ITF, role int, value core.QVariant_ITF, hits int, flags core.Qt__MatchFlag) []*core.QModelIndex { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*core.QModelIndex { + out := make([]*core.QModelIndex, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__match_atList(i) + } + return out + }(C.QStandardItemModel_MatchDefault(ptr.Pointer(), core.PointerFromQModelIndex(start), C.int(int32(role)), core.PointerFromQVariant(value), C.int(int32(hits)), C.longlong(flags))) + } + return make([]*core.QModelIndex, 0) +} + +//export callbackQStandardItemModel_ModelAboutToBeReset +func callbackQStandardItemModel_ModelAboutToBeReset(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "modelAboutToBeReset"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQStandardItemModel_ModelReset +func callbackQStandardItemModel_ModelReset(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "modelReset"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQStandardItemModel_MoveColumns +func callbackQStandardItemModel_MoveColumns(ptr unsafe.Pointer, sourceParent unsafe.Pointer, sourceColumn C.int, count C.int, destinationParent unsafe.Pointer, destinationChild C.int) C.char { + if signal := qt.GetSignal(ptr, "moveColumns"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QModelIndex, int, int, *core.QModelIndex, int) bool)(signal))(core.NewQModelIndexFromPointer(sourceParent), int(int32(sourceColumn)), int(int32(count)), core.NewQModelIndexFromPointer(destinationParent), int(int32(destinationChild)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).MoveColumnsDefault(core.NewQModelIndexFromPointer(sourceParent), int(int32(sourceColumn)), int(int32(count)), core.NewQModelIndexFromPointer(destinationParent), int(int32(destinationChild)))))) +} + +func (ptr *QStandardItemModel) MoveColumnsDefault(sourceParent core.QModelIndex_ITF, sourceColumn int, count int, destinationParent core.QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_MoveColumnsDefault(ptr.Pointer(), core.PointerFromQModelIndex(sourceParent), C.int(int32(sourceColumn)), C.int(int32(count)), core.PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +//export callbackQStandardItemModel_MoveRows +func callbackQStandardItemModel_MoveRows(ptr unsafe.Pointer, sourceParent unsafe.Pointer, sourceRow C.int, count C.int, destinationParent unsafe.Pointer, destinationChild C.int) C.char { + if signal := qt.GetSignal(ptr, "moveRows"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QModelIndex, int, int, *core.QModelIndex, int) bool)(signal))(core.NewQModelIndexFromPointer(sourceParent), int(int32(sourceRow)), int(int32(count)), core.NewQModelIndexFromPointer(destinationParent), int(int32(destinationChild)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).MoveRowsDefault(core.NewQModelIndexFromPointer(sourceParent), int(int32(sourceRow)), int(int32(count)), core.NewQModelIndexFromPointer(destinationParent), int(int32(destinationChild)))))) +} + +func (ptr *QStandardItemModel) MoveRowsDefault(sourceParent core.QModelIndex_ITF, sourceRow int, count int, destinationParent core.QModelIndex_ITF, destinationChild int) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_MoveRowsDefault(ptr.Pointer(), core.PointerFromQModelIndex(sourceParent), C.int(int32(sourceRow)), C.int(int32(count)), core.PointerFromQModelIndex(destinationParent), C.int(int32(destinationChild)))) != 0 + } + return false +} + +//export callbackQStandardItemModel_ResetInternalData +func callbackQStandardItemModel_ResetInternalData(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "resetInternalData"); signal != nil { + (*(*func())(signal))() + } else { + NewQStandardItemModelFromPointer(ptr).ResetInternalDataDefault() + } +} + +func (ptr *QStandardItemModel) ResetInternalDataDefault() { + if ptr.Pointer() != nil { + C.QStandardItemModel_ResetInternalDataDefault(ptr.Pointer()) + } +} + +//export callbackQStandardItemModel_Revert +func callbackQStandardItemModel_Revert(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "revert"); signal != nil { + (*(*func())(signal))() + } else { + NewQStandardItemModelFromPointer(ptr).RevertDefault() + } +} + +func (ptr *QStandardItemModel) RevertDefault() { + if ptr.Pointer() != nil { + C.QStandardItemModel_RevertDefault(ptr.Pointer()) + } +} + +//export callbackQStandardItemModel_RoleNames +func callbackQStandardItemModel_RoleNames(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "roleNames"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__roleNames_newList()) + for k, v := range (*(*func() map[int]*core.QByteArray)(signal))() { + tmpList.__roleNames_setList(k, v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQStandardItemModelFromPointer(NewQStandardItemModelFromPointer(nil).__roleNames_newList()) + for k, v := range NewQStandardItemModelFromPointer(ptr).RoleNamesDefault() { + tmpList.__roleNames_setList(k, v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QStandardItemModel) RoleNamesDefault() map[int]*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) map[int]*core.QByteArray { + out := make(map[int]*core.QByteArray, int(l.len)) + tmpList := NewQStandardItemModelFromPointer(l.data) + for i, v := range tmpList.__roleNames_keyList() { + out[v] = tmpList.__roleNames_atList(v, i) + } + return out + }(C.QStandardItemModel_RoleNamesDefault(ptr.Pointer())) + } + return make(map[int]*core.QByteArray, 0) +} + +//export callbackQStandardItemModel_RowsAboutToBeInserted +func callbackQStandardItemModel_RowsAboutToBeInserted(ptr unsafe.Pointer, parent unsafe.Pointer, start C.int, end C.int) { + if signal := qt.GetSignal(ptr, "rowsAboutToBeInserted"); signal != nil { + (*(*func(*core.QModelIndex, int, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(start)), int(int32(end))) + } + +} + +//export callbackQStandardItemModel_RowsAboutToBeMoved +func callbackQStandardItemModel_RowsAboutToBeMoved(ptr unsafe.Pointer, sourceParent unsafe.Pointer, sourceStart C.int, sourceEnd C.int, destinationParent unsafe.Pointer, destinationRow C.int) { + if signal := qt.GetSignal(ptr, "rowsAboutToBeMoved"); signal != nil { + (*(*func(*core.QModelIndex, int, int, *core.QModelIndex, int))(signal))(core.NewQModelIndexFromPointer(sourceParent), int(int32(sourceStart)), int(int32(sourceEnd)), core.NewQModelIndexFromPointer(destinationParent), int(int32(destinationRow))) + } + +} + +//export callbackQStandardItemModel_RowsAboutToBeRemoved +func callbackQStandardItemModel_RowsAboutToBeRemoved(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "rowsAboutToBeRemoved"); signal != nil { + (*(*func(*core.QModelIndex, int, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +//export callbackQStandardItemModel_RowsInserted +func callbackQStandardItemModel_RowsInserted(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "rowsInserted"); signal != nil { + (*(*func(*core.QModelIndex, int, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +//export callbackQStandardItemModel_RowsMoved +func callbackQStandardItemModel_RowsMoved(ptr unsafe.Pointer, parent unsafe.Pointer, start C.int, end C.int, destination unsafe.Pointer, row C.int) { + if signal := qt.GetSignal(ptr, "rowsMoved"); signal != nil { + (*(*func(*core.QModelIndex, int, int, *core.QModelIndex, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(start)), int(int32(end)), core.NewQModelIndexFromPointer(destination), int(int32(row))) + } + +} + +//export callbackQStandardItemModel_RowsRemoved +func callbackQStandardItemModel_RowsRemoved(ptr unsafe.Pointer, parent unsafe.Pointer, first C.int, last C.int) { + if signal := qt.GetSignal(ptr, "rowsRemoved"); signal != nil { + (*(*func(*core.QModelIndex, int, int))(signal))(core.NewQModelIndexFromPointer(parent), int(int32(first)), int(int32(last))) + } + +} + +//export callbackQStandardItemModel_Span +func callbackQStandardItemModel_Span(ptr unsafe.Pointer, index unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "span"); signal != nil { + return core.PointerFromQSize((*(*func(*core.QModelIndex) *core.QSize)(signal))(core.NewQModelIndexFromPointer(index))) + } + + return core.PointerFromQSize(NewQStandardItemModelFromPointer(ptr).SpanDefault(core.NewQModelIndexFromPointer(index))) +} + +func (ptr *QStandardItemModel) SpanDefault(index core.QModelIndex_ITF) *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QStandardItemModel_SpanDefault(ptr.Pointer(), core.PointerFromQModelIndex(index))) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +//export callbackQStandardItemModel_Submit +func callbackQStandardItemModel_Submit(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "submit"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).SubmitDefault()))) +} + +func (ptr *QStandardItemModel) SubmitDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_SubmitDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQStandardItemModel_SupportedDragActions +func callbackQStandardItemModel_SupportedDragActions(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "supportedDragActions"); signal != nil { + return C.longlong((*(*func() core.Qt__DropAction)(signal))()) + } + + return C.longlong(NewQStandardItemModelFromPointer(ptr).SupportedDragActionsDefault()) +} + +func (ptr *QStandardItemModel) SupportedDragActionsDefault() core.Qt__DropAction { + if ptr.Pointer() != nil { + return core.Qt__DropAction(C.QStandardItemModel_SupportedDragActionsDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQStandardItemModel_ChildEvent +func callbackQStandardItemModel_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQStandardItemModelFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QStandardItemModel) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQStandardItemModel_ConnectNotify +func callbackQStandardItemModel_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQStandardItemModelFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QStandardItemModel) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQStandardItemModel_CustomEvent +func callbackQStandardItemModel_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQStandardItemModelFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QStandardItemModel) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQStandardItemModel_DeleteLater +func callbackQStandardItemModel_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQStandardItemModelFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QStandardItemModel) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QStandardItemModel_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQStandardItemModel_Destroyed +func callbackQStandardItemModel_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQStandardItemModel_DisconnectNotify +func callbackQStandardItemModel_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQStandardItemModelFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QStandardItemModel) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQStandardItemModel_Event +func callbackQStandardItemModel_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QStandardItemModel) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQStandardItemModel_EventFilter +func callbackQStandardItemModel_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStandardItemModelFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QStandardItemModel) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStandardItemModel_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQStandardItemModel_MetaObject +func callbackQStandardItemModel_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQStandardItemModelFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QStandardItemModel) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QStandardItemModel_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQStandardItemModel_ObjectNameChanged +func callbackQStandardItemModel_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQStandardItemModel_TimerEvent +func callbackQStandardItemModel_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQStandardItemModelFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QStandardItemModel) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QStandardItemModel_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QStaticText struct { + ptr unsafe.Pointer +} + +type QStaticText_ITF interface { + QStaticText_PTR() *QStaticText +} + +func (ptr *QStaticText) QStaticText_PTR() *QStaticText { + return ptr +} + +func (ptr *QStaticText) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QStaticText) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQStaticText(ptr QStaticText_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStaticText_PTR().Pointer() + } + return nil +} + +func NewQStaticTextFromPointer(ptr unsafe.Pointer) (n *QStaticText) { + n = new(QStaticText) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QStaticText__PerformanceHint +//QStaticText::PerformanceHint +type QStaticText__PerformanceHint int64 + +const ( + QStaticText__ModerateCaching QStaticText__PerformanceHint = QStaticText__PerformanceHint(0) + QStaticText__AggressiveCaching QStaticText__PerformanceHint = QStaticText__PerformanceHint(1) +) + +func NewQStaticText() *QStaticText { + tmpValue := NewQStaticTextFromPointer(C.QStaticText_NewQStaticText()) + runtime.SetFinalizer(tmpValue, (*QStaticText).DestroyQStaticText) + return tmpValue +} + +func NewQStaticText2(text string) *QStaticText { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQStaticTextFromPointer(C.QStaticText_NewQStaticText2(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*QStaticText).DestroyQStaticText) + return tmpValue +} + +func NewQStaticText3(other QStaticText_ITF) *QStaticText { + tmpValue := NewQStaticTextFromPointer(C.QStaticText_NewQStaticText3(PointerFromQStaticText(other))) + runtime.SetFinalizer(tmpValue, (*QStaticText).DestroyQStaticText) + return tmpValue +} + +func (ptr *QStaticText) PerformanceHint() QStaticText__PerformanceHint { + if ptr.Pointer() != nil { + return QStaticText__PerformanceHint(C.QStaticText_PerformanceHint(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStaticText) Prepare(matrix QTransform_ITF, font QFont_ITF) { + if ptr.Pointer() != nil { + C.QStaticText_Prepare(ptr.Pointer(), PointerFromQTransform(matrix), PointerFromQFont(font)) + } +} + +func (ptr *QStaticText) SetPerformanceHint(performanceHint QStaticText__PerformanceHint) { + if ptr.Pointer() != nil { + C.QStaticText_SetPerformanceHint(ptr.Pointer(), C.longlong(performanceHint)) + } +} + +func (ptr *QStaticText) SetText(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QStaticText_SetText(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QStaticText) SetTextFormat(textFormat core.Qt__TextFormat) { + if ptr.Pointer() != nil { + C.QStaticText_SetTextFormat(ptr.Pointer(), C.longlong(textFormat)) + } +} + +func (ptr *QStaticText) SetTextOption(textOption QTextOption_ITF) { + if ptr.Pointer() != nil { + C.QStaticText_SetTextOption(ptr.Pointer(), PointerFromQTextOption(textOption)) + } +} + +func (ptr *QStaticText) SetTextWidth(textWidth float64) { + if ptr.Pointer() != nil { + C.QStaticText_SetTextWidth(ptr.Pointer(), C.double(textWidth)) + } +} + +func (ptr *QStaticText) Size() *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QStaticText_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QStaticText) Swap(other QStaticText_ITF) { + if ptr.Pointer() != nil { + C.QStaticText_Swap(ptr.Pointer(), PointerFromQStaticText(other)) + } +} + +func (ptr *QStaticText) Text() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStaticText_Text(ptr.Pointer())) + } + return "" +} + +func (ptr *QStaticText) TextFormat() core.Qt__TextFormat { + if ptr.Pointer() != nil { + return core.Qt__TextFormat(C.QStaticText_TextFormat(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStaticText) TextOption() *QTextOption { + if ptr.Pointer() != nil { + tmpValue := NewQTextOptionFromPointer(C.QStaticText_TextOption(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextOption).DestroyQTextOption) + return tmpValue + } + return nil +} + +func (ptr *QStaticText) TextWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QStaticText_TextWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStaticText) DestroyQStaticText() { + if ptr.Pointer() != nil { + C.QStaticText_DestroyQStaticText(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QStatusTipEvent struct { + core.QEvent +} + +type QStatusTipEvent_ITF interface { + core.QEvent_ITF + QStatusTipEvent_PTR() *QStatusTipEvent +} + +func (ptr *QStatusTipEvent) QStatusTipEvent_PTR() *QStatusTipEvent { + return ptr +} + +func (ptr *QStatusTipEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QStatusTipEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQStatusTipEvent(ptr QStatusTipEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStatusTipEvent_PTR().Pointer() + } + return nil +} + +func NewQStatusTipEventFromPointer(ptr unsafe.Pointer) (n *QStatusTipEvent) { + n = new(QStatusTipEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QStatusTipEvent) DestroyQStatusTipEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQStatusTipEvent(tip string) *QStatusTipEvent { + var tipC *C.char + if tip != "" { + tipC = C.CString(tip) + defer C.free(unsafe.Pointer(tipC)) + } + tmpValue := NewQStatusTipEventFromPointer(C.QStatusTipEvent_NewQStatusTipEvent(C.struct_QtGui_PackedString{data: tipC, len: C.longlong(len(tip))})) + runtime.SetFinalizer(tmpValue, (*QStatusTipEvent).DestroyQStatusTipEvent) + return tmpValue +} + +func (ptr *QStatusTipEvent) Tip() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QStatusTipEvent_Tip(ptr.Pointer())) + } + return "" +} + +type QStyleHints struct { + core.QObject +} + +type QStyleHints_ITF interface { + core.QObject_ITF + QStyleHints_PTR() *QStyleHints +} + +func (ptr *QStyleHints) QStyleHints_PTR() *QStyleHints { + return ptr +} + +func (ptr *QStyleHints) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QStyleHints) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQStyleHints(ptr QStyleHints_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QStyleHints_PTR().Pointer() + } + return nil +} + +func NewQStyleHintsFromPointer(ptr unsafe.Pointer) (n *QStyleHints) { + n = new(QStyleHints) + n.SetPointer(ptr) + return +} +func (ptr *QStyleHints) CursorFlashTime() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_CursorFlashTime(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStyleHints_CursorFlashTimeChanged +func callbackQStyleHints_CursorFlashTimeChanged(ptr unsafe.Pointer, cursorFlashTime C.int) { + if signal := qt.GetSignal(ptr, "cursorFlashTimeChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(cursorFlashTime))) + } + +} + +func (ptr *QStyleHints) ConnectCursorFlashTimeChanged(f func(cursorFlashTime int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "cursorFlashTimeChanged") { + C.QStyleHints_ConnectCursorFlashTimeChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "cursorFlashTimeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "cursorFlashTimeChanged"); signal != nil { + f := func(cursorFlashTime int) { + (*(*func(int))(signal))(cursorFlashTime) + f(cursorFlashTime) + } + qt.ConnectSignal(ptr.Pointer(), "cursorFlashTimeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "cursorFlashTimeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectCursorFlashTimeChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectCursorFlashTimeChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "cursorFlashTimeChanged") + } +} + +func (ptr *QStyleHints) CursorFlashTimeChanged(cursorFlashTime int) { + if ptr.Pointer() != nil { + C.QStyleHints_CursorFlashTimeChanged(ptr.Pointer(), C.int(int32(cursorFlashTime))) + } +} + +func (ptr *QStyleHints) FontSmoothingGamma() float64 { + if ptr.Pointer() != nil { + return float64(C.QStyleHints_FontSmoothingGamma(ptr.Pointer())) + } + return 0 +} + +func (ptr *QStyleHints) KeyboardAutoRepeatRate() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_KeyboardAutoRepeatRate(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStyleHints) KeyboardInputInterval() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_KeyboardInputInterval(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStyleHints_KeyboardInputIntervalChanged +func callbackQStyleHints_KeyboardInputIntervalChanged(ptr unsafe.Pointer, keyboardInputInterval C.int) { + if signal := qt.GetSignal(ptr, "keyboardInputIntervalChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(keyboardInputInterval))) + } + +} + +func (ptr *QStyleHints) ConnectKeyboardInputIntervalChanged(f func(keyboardInputInterval int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "keyboardInputIntervalChanged") { + C.QStyleHints_ConnectKeyboardInputIntervalChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "keyboardInputIntervalChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "keyboardInputIntervalChanged"); signal != nil { + f := func(keyboardInputInterval int) { + (*(*func(int))(signal))(keyboardInputInterval) + f(keyboardInputInterval) + } + qt.ConnectSignal(ptr.Pointer(), "keyboardInputIntervalChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "keyboardInputIntervalChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectKeyboardInputIntervalChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectKeyboardInputIntervalChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "keyboardInputIntervalChanged") + } +} + +func (ptr *QStyleHints) KeyboardInputIntervalChanged(keyboardInputInterval int) { + if ptr.Pointer() != nil { + C.QStyleHints_KeyboardInputIntervalChanged(ptr.Pointer(), C.int(int32(keyboardInputInterval))) + } +} + +func (ptr *QStyleHints) MouseDoubleClickInterval() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_MouseDoubleClickInterval(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStyleHints_MouseDoubleClickIntervalChanged +func callbackQStyleHints_MouseDoubleClickIntervalChanged(ptr unsafe.Pointer, mouseDoubleClickInterval C.int) { + if signal := qt.GetSignal(ptr, "mouseDoubleClickIntervalChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(mouseDoubleClickInterval))) + } + +} + +func (ptr *QStyleHints) ConnectMouseDoubleClickIntervalChanged(f func(mouseDoubleClickInterval int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "mouseDoubleClickIntervalChanged") { + C.QStyleHints_ConnectMouseDoubleClickIntervalChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "mouseDoubleClickIntervalChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "mouseDoubleClickIntervalChanged"); signal != nil { + f := func(mouseDoubleClickInterval int) { + (*(*func(int))(signal))(mouseDoubleClickInterval) + f(mouseDoubleClickInterval) + } + qt.ConnectSignal(ptr.Pointer(), "mouseDoubleClickIntervalChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mouseDoubleClickIntervalChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectMouseDoubleClickIntervalChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectMouseDoubleClickIntervalChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "mouseDoubleClickIntervalChanged") + } +} + +func (ptr *QStyleHints) MouseDoubleClickIntervalChanged(mouseDoubleClickInterval int) { + if ptr.Pointer() != nil { + C.QStyleHints_MouseDoubleClickIntervalChanged(ptr.Pointer(), C.int(int32(mouseDoubleClickInterval))) + } +} + +func (ptr *QStyleHints) MousePressAndHoldInterval() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_MousePressAndHoldInterval(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStyleHints_MousePressAndHoldIntervalChanged +func callbackQStyleHints_MousePressAndHoldIntervalChanged(ptr unsafe.Pointer, mousePressAndHoldInterval C.int) { + if signal := qt.GetSignal(ptr, "mousePressAndHoldIntervalChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(mousePressAndHoldInterval))) + } + +} + +func (ptr *QStyleHints) ConnectMousePressAndHoldIntervalChanged(f func(mousePressAndHoldInterval int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "mousePressAndHoldIntervalChanged") { + C.QStyleHints_ConnectMousePressAndHoldIntervalChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "mousePressAndHoldIntervalChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "mousePressAndHoldIntervalChanged"); signal != nil { + f := func(mousePressAndHoldInterval int) { + (*(*func(int))(signal))(mousePressAndHoldInterval) + f(mousePressAndHoldInterval) + } + qt.ConnectSignal(ptr.Pointer(), "mousePressAndHoldIntervalChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mousePressAndHoldIntervalChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectMousePressAndHoldIntervalChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectMousePressAndHoldIntervalChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "mousePressAndHoldIntervalChanged") + } +} + +func (ptr *QStyleHints) MousePressAndHoldIntervalChanged(mousePressAndHoldInterval int) { + if ptr.Pointer() != nil { + C.QStyleHints_MousePressAndHoldIntervalChanged(ptr.Pointer(), C.int(int32(mousePressAndHoldInterval))) + } +} + +func (ptr *QStyleHints) MouseQuickSelectionThreshold() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_MouseQuickSelectionThreshold(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStyleHints_MouseQuickSelectionThresholdChanged +func callbackQStyleHints_MouseQuickSelectionThresholdChanged(ptr unsafe.Pointer, threshold C.int) { + if signal := qt.GetSignal(ptr, "mouseQuickSelectionThresholdChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(threshold))) + } + +} + +func (ptr *QStyleHints) ConnectMouseQuickSelectionThresholdChanged(f func(threshold int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "mouseQuickSelectionThresholdChanged") { + C.QStyleHints_ConnectMouseQuickSelectionThresholdChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "mouseQuickSelectionThresholdChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "mouseQuickSelectionThresholdChanged"); signal != nil { + f := func(threshold int) { + (*(*func(int))(signal))(threshold) + f(threshold) + } + qt.ConnectSignal(ptr.Pointer(), "mouseQuickSelectionThresholdChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mouseQuickSelectionThresholdChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectMouseQuickSelectionThresholdChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectMouseQuickSelectionThresholdChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "mouseQuickSelectionThresholdChanged") + } +} + +func (ptr *QStyleHints) MouseQuickSelectionThresholdChanged(threshold int) { + if ptr.Pointer() != nil { + C.QStyleHints_MouseQuickSelectionThresholdChanged(ptr.Pointer(), C.int(int32(threshold))) + } +} + +func (ptr *QStyleHints) PasswordMaskCharacter() *core.QChar { + if ptr.Pointer() != nil { + tmpValue := core.NewQCharFromPointer(C.QStyleHints_PasswordMaskCharacter(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QStyleHints) PasswordMaskDelay() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_PasswordMaskDelay(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStyleHints) SetFocusOnTouchRelease() bool { + if ptr.Pointer() != nil { + return int8(C.QStyleHints_SetFocusOnTouchRelease(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStyleHints) SetShowShortcutsInContextMenus(showShortcutsInContextMenus bool) { + if ptr.Pointer() != nil { + C.QStyleHints_SetShowShortcutsInContextMenus(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(showShortcutsInContextMenus)))) + } +} + +func (ptr *QStyleHints) SetUseHoverEffects(useHoverEffects bool) { + if ptr.Pointer() != nil { + C.QStyleHints_SetUseHoverEffects(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(useHoverEffects)))) + } +} + +func (ptr *QStyleHints) ShowIsFullScreen() bool { + if ptr.Pointer() != nil { + return int8(C.QStyleHints_ShowIsFullScreen(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStyleHints) ShowIsMaximized() bool { + if ptr.Pointer() != nil { + return int8(C.QStyleHints_ShowIsMaximized(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStyleHints) ShowShortcutsInContextMenus() bool { + if ptr.Pointer() != nil { + return int8(C.QStyleHints_ShowShortcutsInContextMenus(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQStyleHints_ShowShortcutsInContextMenusChanged +func callbackQStyleHints_ShowShortcutsInContextMenusChanged(ptr unsafe.Pointer, vbo C.char) { + if signal := qt.GetSignal(ptr, "showShortcutsInContextMenusChanged"); signal != nil { + (*(*func(bool))(signal))(int8(vbo) != 0) + } + +} + +func (ptr *QStyleHints) ConnectShowShortcutsInContextMenusChanged(f func(vbo bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "showShortcutsInContextMenusChanged") { + C.QStyleHints_ConnectShowShortcutsInContextMenusChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "showShortcutsInContextMenusChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "showShortcutsInContextMenusChanged"); signal != nil { + f := func(vbo bool) { + (*(*func(bool))(signal))(vbo) + f(vbo) + } + qt.ConnectSignal(ptr.Pointer(), "showShortcutsInContextMenusChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "showShortcutsInContextMenusChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectShowShortcutsInContextMenusChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectShowShortcutsInContextMenusChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "showShortcutsInContextMenusChanged") + } +} + +func (ptr *QStyleHints) ShowShortcutsInContextMenusChanged(vbo bool) { + if ptr.Pointer() != nil { + C.QStyleHints_ShowShortcutsInContextMenusChanged(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(vbo)))) + } +} + +func (ptr *QStyleHints) SingleClickActivation() bool { + if ptr.Pointer() != nil { + return int8(C.QStyleHints_SingleClickActivation(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStyleHints) StartDragDistance() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_StartDragDistance(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStyleHints_StartDragDistanceChanged +func callbackQStyleHints_StartDragDistanceChanged(ptr unsafe.Pointer, startDragDistance C.int) { + if signal := qt.GetSignal(ptr, "startDragDistanceChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(startDragDistance))) + } + +} + +func (ptr *QStyleHints) ConnectStartDragDistanceChanged(f func(startDragDistance int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "startDragDistanceChanged") { + C.QStyleHints_ConnectStartDragDistanceChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "startDragDistanceChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "startDragDistanceChanged"); signal != nil { + f := func(startDragDistance int) { + (*(*func(int))(signal))(startDragDistance) + f(startDragDistance) + } + qt.ConnectSignal(ptr.Pointer(), "startDragDistanceChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "startDragDistanceChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectStartDragDistanceChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectStartDragDistanceChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "startDragDistanceChanged") + } +} + +func (ptr *QStyleHints) StartDragDistanceChanged(startDragDistance int) { + if ptr.Pointer() != nil { + C.QStyleHints_StartDragDistanceChanged(ptr.Pointer(), C.int(int32(startDragDistance))) + } +} + +func (ptr *QStyleHints) StartDragTime() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_StartDragTime(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStyleHints_StartDragTimeChanged +func callbackQStyleHints_StartDragTimeChanged(ptr unsafe.Pointer, startDragTime C.int) { + if signal := qt.GetSignal(ptr, "startDragTimeChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(startDragTime))) + } + +} + +func (ptr *QStyleHints) ConnectStartDragTimeChanged(f func(startDragTime int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "startDragTimeChanged") { + C.QStyleHints_ConnectStartDragTimeChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "startDragTimeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "startDragTimeChanged"); signal != nil { + f := func(startDragTime int) { + (*(*func(int))(signal))(startDragTime) + f(startDragTime) + } + qt.ConnectSignal(ptr.Pointer(), "startDragTimeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "startDragTimeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectStartDragTimeChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectStartDragTimeChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "startDragTimeChanged") + } +} + +func (ptr *QStyleHints) StartDragTimeChanged(startDragTime int) { + if ptr.Pointer() != nil { + C.QStyleHints_StartDragTimeChanged(ptr.Pointer(), C.int(int32(startDragTime))) + } +} + +func (ptr *QStyleHints) StartDragVelocity() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_StartDragVelocity(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QStyleHints) TabFocusBehavior() core.Qt__TabFocusBehavior { + if ptr.Pointer() != nil { + return core.Qt__TabFocusBehavior(C.QStyleHints_TabFocusBehavior(ptr.Pointer())) + } + return 0 +} + +//export callbackQStyleHints_TabFocusBehaviorChanged +func callbackQStyleHints_TabFocusBehaviorChanged(ptr unsafe.Pointer, tabFocusBehavior C.longlong) { + if signal := qt.GetSignal(ptr, "tabFocusBehaviorChanged"); signal != nil { + (*(*func(core.Qt__TabFocusBehavior))(signal))(core.Qt__TabFocusBehavior(tabFocusBehavior)) + } + +} + +func (ptr *QStyleHints) ConnectTabFocusBehaviorChanged(f func(tabFocusBehavior core.Qt__TabFocusBehavior)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "tabFocusBehaviorChanged") { + C.QStyleHints_ConnectTabFocusBehaviorChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "tabFocusBehaviorChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "tabFocusBehaviorChanged"); signal != nil { + f := func(tabFocusBehavior core.Qt__TabFocusBehavior) { + (*(*func(core.Qt__TabFocusBehavior))(signal))(tabFocusBehavior) + f(tabFocusBehavior) + } + qt.ConnectSignal(ptr.Pointer(), "tabFocusBehaviorChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "tabFocusBehaviorChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectTabFocusBehaviorChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectTabFocusBehaviorChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "tabFocusBehaviorChanged") + } +} + +func (ptr *QStyleHints) TabFocusBehaviorChanged(tabFocusBehavior core.Qt__TabFocusBehavior) { + if ptr.Pointer() != nil { + C.QStyleHints_TabFocusBehaviorChanged(ptr.Pointer(), C.longlong(tabFocusBehavior)) + } +} + +func (ptr *QStyleHints) UseHoverEffects() bool { + if ptr.Pointer() != nil { + return int8(C.QStyleHints_UseHoverEffects(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQStyleHints_UseHoverEffectsChanged +func callbackQStyleHints_UseHoverEffectsChanged(ptr unsafe.Pointer, useHoverEffects C.char) { + if signal := qt.GetSignal(ptr, "useHoverEffectsChanged"); signal != nil { + (*(*func(bool))(signal))(int8(useHoverEffects) != 0) + } + +} + +func (ptr *QStyleHints) ConnectUseHoverEffectsChanged(f func(useHoverEffects bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "useHoverEffectsChanged") { + C.QStyleHints_ConnectUseHoverEffectsChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "useHoverEffectsChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "useHoverEffectsChanged"); signal != nil { + f := func(useHoverEffects bool) { + (*(*func(bool))(signal))(useHoverEffects) + f(useHoverEffects) + } + qt.ConnectSignal(ptr.Pointer(), "useHoverEffectsChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "useHoverEffectsChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectUseHoverEffectsChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectUseHoverEffectsChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "useHoverEffectsChanged") + } +} + +func (ptr *QStyleHints) UseHoverEffectsChanged(useHoverEffects bool) { + if ptr.Pointer() != nil { + C.QStyleHints_UseHoverEffectsChanged(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(useHoverEffects)))) + } +} + +func (ptr *QStyleHints) UseRtlExtensions() bool { + if ptr.Pointer() != nil { + return int8(C.QStyleHints_UseRtlExtensions(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QStyleHints) WheelScrollLines() int { + if ptr.Pointer() != nil { + return int(int32(C.QStyleHints_WheelScrollLines(ptr.Pointer()))) + } + return 0 +} + +//export callbackQStyleHints_WheelScrollLinesChanged +func callbackQStyleHints_WheelScrollLinesChanged(ptr unsafe.Pointer, scrollLines C.int) { + if signal := qt.GetSignal(ptr, "wheelScrollLinesChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(scrollLines))) + } + +} + +func (ptr *QStyleHints) ConnectWheelScrollLinesChanged(f func(scrollLines int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "wheelScrollLinesChanged") { + C.QStyleHints_ConnectWheelScrollLinesChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "wheelScrollLinesChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "wheelScrollLinesChanged"); signal != nil { + f := func(scrollLines int) { + (*(*func(int))(signal))(scrollLines) + f(scrollLines) + } + qt.ConnectSignal(ptr.Pointer(), "wheelScrollLinesChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "wheelScrollLinesChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QStyleHints) DisconnectWheelScrollLinesChanged() { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectWheelScrollLinesChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "wheelScrollLinesChanged") + } +} + +func (ptr *QStyleHints) WheelScrollLinesChanged(scrollLines int) { + if ptr.Pointer() != nil { + C.QStyleHints_WheelScrollLinesChanged(ptr.Pointer(), C.int(int32(scrollLines))) + } +} + +func (ptr *QStyleHints) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QStyleHints___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStyleHints) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QStyleHints) __children_newList() unsafe.Pointer { + return C.QStyleHints___children_newList(ptr.Pointer()) +} + +func (ptr *QStyleHints) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QStyleHints___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QStyleHints) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QStyleHints) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QStyleHints___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QStyleHints) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QStyleHints___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStyleHints) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QStyleHints) __findChildren_newList() unsafe.Pointer { + return C.QStyleHints___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QStyleHints) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QStyleHints___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStyleHints) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QStyleHints) __findChildren_newList3() unsafe.Pointer { + return C.QStyleHints___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QStyleHints) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QStyleHints___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QStyleHints) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QStyleHints) __qFindChildren_newList2() unsafe.Pointer { + return C.QStyleHints___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQStyleHints_ChildEvent +func callbackQStyleHints_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQStyleHintsFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QStyleHints) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQStyleHints_ConnectNotify +func callbackQStyleHints_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQStyleHintsFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QStyleHints) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQStyleHints_CustomEvent +func callbackQStyleHints_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQStyleHintsFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QStyleHints) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQStyleHints_DeleteLater +func callbackQStyleHints_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQStyleHintsFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QStyleHints) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QStyleHints_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQStyleHints_Destroyed +func callbackQStyleHints_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQStyleHints_DisconnectNotify +func callbackQStyleHints_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQStyleHintsFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QStyleHints) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQStyleHints_Event +func callbackQStyleHints_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStyleHintsFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QStyleHints) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStyleHints_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQStyleHints_EventFilter +func callbackQStyleHints_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQStyleHintsFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QStyleHints) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QStyleHints_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQStyleHints_MetaObject +func callbackQStyleHints_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQStyleHintsFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QStyleHints) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QStyleHints_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQStyleHints_ObjectNameChanged +func callbackQStyleHints_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQStyleHints_TimerEvent +func callbackQStyleHints_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQStyleHintsFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QStyleHints) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QStyleHints_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QSupportedWritingSystems struct { + ptr unsafe.Pointer +} + +type QSupportedWritingSystems_ITF interface { + QSupportedWritingSystems_PTR() *QSupportedWritingSystems +} + +func (ptr *QSupportedWritingSystems) QSupportedWritingSystems_PTR() *QSupportedWritingSystems { + return ptr +} + +func (ptr *QSupportedWritingSystems) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSupportedWritingSystems) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSupportedWritingSystems(ptr QSupportedWritingSystems_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSupportedWritingSystems_PTR().Pointer() + } + return nil +} + +func NewQSupportedWritingSystemsFromPointer(ptr unsafe.Pointer) (n *QSupportedWritingSystems) { + n = new(QSupportedWritingSystems) + n.SetPointer(ptr) + return +} + +type QSurface struct { + ptr unsafe.Pointer +} + +type QSurface_ITF interface { + QSurface_PTR() *QSurface +} + +func (ptr *QSurface) QSurface_PTR() *QSurface { + return ptr +} + +func (ptr *QSurface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSurface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSurface(ptr QSurface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSurface_PTR().Pointer() + } + return nil +} + +func NewQSurfaceFromPointer(ptr unsafe.Pointer) (n *QSurface) { + n = new(QSurface) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSurface__SurfaceClass +//QSurface::SurfaceClass +type QSurface__SurfaceClass int64 + +const ( + QSurface__Window QSurface__SurfaceClass = QSurface__SurfaceClass(0) + QSurface__Offscreen QSurface__SurfaceClass = QSurface__SurfaceClass(1) +) + +//go:generate stringer -type=QSurface__SurfaceType +//QSurface::SurfaceType +type QSurface__SurfaceType int64 + +const ( + QSurface__RasterSurface QSurface__SurfaceType = QSurface__SurfaceType(0) + QSurface__OpenGLSurface QSurface__SurfaceType = QSurface__SurfaceType(1) + QSurface__RasterGLSurface QSurface__SurfaceType = QSurface__SurfaceType(2) + QSurface__OpenVGSurface QSurface__SurfaceType = QSurface__SurfaceType(3) + QSurface__VulkanSurface QSurface__SurfaceType = QSurface__SurfaceType(4) + QSurface__MetalSurface QSurface__SurfaceType = QSurface__SurfaceType(5) +) + +//export callbackQSurface_Format +func callbackQSurface_Format(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "format"); signal != nil { + return PointerFromQSurfaceFormat((*(*func() *QSurfaceFormat)(signal))()) + } + + return PointerFromQSurfaceFormat(NewQSurfaceFormat()) +} + +func (ptr *QSurface) ConnectFormat(f func() *QSurfaceFormat) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "format"); signal != nil { + f := func() *QSurfaceFormat { + (*(*func() *QSurfaceFormat)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "format", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "format", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSurface) DisconnectFormat() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "format") + } +} + +func (ptr *QSurface) Format() *QSurfaceFormat { + if ptr.Pointer() != nil { + tmpValue := NewQSurfaceFormatFromPointer(C.QSurface_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue + } + return nil +} + +//export callbackQSurface_Size +func callbackQSurface_Size(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "size"); signal != nil { + return core.PointerFromQSize((*(*func() *core.QSize)(signal))()) + } + + return core.PointerFromQSize(core.NewQSize()) +} + +func (ptr *QSurface) ConnectSize(f func() *core.QSize) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "size"); signal != nil { + f := func() *core.QSize { + (*(*func() *core.QSize)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "size", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "size", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSurface) DisconnectSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "size") + } +} + +func (ptr *QSurface) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QSurface_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QSurface) SupportsOpenGL() bool { + if ptr.Pointer() != nil { + return int8(C.QSurface_SupportsOpenGL(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSurface) SurfaceClass() QSurface__SurfaceClass { + if ptr.Pointer() != nil { + return QSurface__SurfaceClass(C.QSurface_SurfaceClass(ptr.Pointer())) + } + return 0 +} + +//export callbackQSurface_SurfaceType +func callbackQSurface_SurfaceType(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "surfaceType"); signal != nil { + return C.longlong((*(*func() QSurface__SurfaceType)(signal))()) + } + + return C.longlong(0) +} + +func (ptr *QSurface) ConnectSurfaceType(f func() QSurface__SurfaceType) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "surfaceType"); signal != nil { + f := func() QSurface__SurfaceType { + (*(*func() QSurface__SurfaceType)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "surfaceType", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "surfaceType", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSurface) DisconnectSurfaceType() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "surfaceType") + } +} + +func (ptr *QSurface) SurfaceType() QSurface__SurfaceType { + if ptr.Pointer() != nil { + return QSurface__SurfaceType(C.QSurface_SurfaceType(ptr.Pointer())) + } + return 0 +} + +//export callbackQSurface_DestroyQSurface +func callbackQSurface_DestroyQSurface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSurface"); signal != nil { + (*(*func())(signal))() + } else { + NewQSurfaceFromPointer(ptr).DestroyQSurfaceDefault() + } +} + +func (ptr *QSurface) ConnectDestroyQSurface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSurface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSurface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSurface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSurface) DisconnectDestroyQSurface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSurface") + } +} + +func (ptr *QSurface) DestroyQSurface() { + if ptr.Pointer() != nil { + C.QSurface_DestroyQSurface(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSurface) DestroyQSurfaceDefault() { + if ptr.Pointer() != nil { + C.QSurface_DestroyQSurfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSurfaceFormat struct { + ptr unsafe.Pointer +} + +type QSurfaceFormat_ITF interface { + QSurfaceFormat_PTR() *QSurfaceFormat +} + +func (ptr *QSurfaceFormat) QSurfaceFormat_PTR() *QSurfaceFormat { + return ptr +} + +func (ptr *QSurfaceFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSurfaceFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSurfaceFormat(ptr QSurfaceFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSurfaceFormat_PTR().Pointer() + } + return nil +} + +func NewQSurfaceFormatFromPointer(ptr unsafe.Pointer) (n *QSurfaceFormat) { + n = new(QSurfaceFormat) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSurfaceFormat__FormatOption +//QSurfaceFormat::FormatOption +type QSurfaceFormat__FormatOption int64 + +const ( + QSurfaceFormat__StereoBuffers QSurfaceFormat__FormatOption = QSurfaceFormat__FormatOption(0x0001) + QSurfaceFormat__DebugContext QSurfaceFormat__FormatOption = QSurfaceFormat__FormatOption(0x0002) + QSurfaceFormat__DeprecatedFunctions QSurfaceFormat__FormatOption = QSurfaceFormat__FormatOption(0x0004) + QSurfaceFormat__ResetNotification QSurfaceFormat__FormatOption = QSurfaceFormat__FormatOption(0x0008) +) + +//go:generate stringer -type=QSurfaceFormat__SwapBehavior +//QSurfaceFormat::SwapBehavior +type QSurfaceFormat__SwapBehavior int64 + +const ( + QSurfaceFormat__DefaultSwapBehavior QSurfaceFormat__SwapBehavior = QSurfaceFormat__SwapBehavior(0) + QSurfaceFormat__SingleBuffer QSurfaceFormat__SwapBehavior = QSurfaceFormat__SwapBehavior(1) + QSurfaceFormat__DoubleBuffer QSurfaceFormat__SwapBehavior = QSurfaceFormat__SwapBehavior(2) + QSurfaceFormat__TripleBuffer QSurfaceFormat__SwapBehavior = QSurfaceFormat__SwapBehavior(3) +) + +//go:generate stringer -type=QSurfaceFormat__RenderableType +//QSurfaceFormat::RenderableType +type QSurfaceFormat__RenderableType int64 + +const ( + QSurfaceFormat__DefaultRenderableType QSurfaceFormat__RenderableType = QSurfaceFormat__RenderableType(0x0) + QSurfaceFormat__OpenGL QSurfaceFormat__RenderableType = QSurfaceFormat__RenderableType(0x1) + QSurfaceFormat__OpenGLES QSurfaceFormat__RenderableType = QSurfaceFormat__RenderableType(0x2) + QSurfaceFormat__OpenVG QSurfaceFormat__RenderableType = QSurfaceFormat__RenderableType(0x4) +) + +//go:generate stringer -type=QSurfaceFormat__OpenGLContextProfile +//QSurfaceFormat::OpenGLContextProfile +type QSurfaceFormat__OpenGLContextProfile int64 + +const ( + QSurfaceFormat__NoProfile QSurfaceFormat__OpenGLContextProfile = QSurfaceFormat__OpenGLContextProfile(0) + QSurfaceFormat__CoreProfile QSurfaceFormat__OpenGLContextProfile = QSurfaceFormat__OpenGLContextProfile(1) + QSurfaceFormat__CompatibilityProfile QSurfaceFormat__OpenGLContextProfile = QSurfaceFormat__OpenGLContextProfile(2) +) + +//go:generate stringer -type=QSurfaceFormat__ColorSpace +//QSurfaceFormat::ColorSpace +type QSurfaceFormat__ColorSpace int64 + +const ( + QSurfaceFormat__DefaultColorSpace QSurfaceFormat__ColorSpace = QSurfaceFormat__ColorSpace(0) + QSurfaceFormat__sRGBColorSpace QSurfaceFormat__ColorSpace = QSurfaceFormat__ColorSpace(1) +) + +func NewQSurfaceFormat() *QSurfaceFormat { + tmpValue := NewQSurfaceFormatFromPointer(C.QSurfaceFormat_NewQSurfaceFormat()) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue +} + +func NewQSurfaceFormat2(options QSurfaceFormat__FormatOption) *QSurfaceFormat { + tmpValue := NewQSurfaceFormatFromPointer(C.QSurfaceFormat_NewQSurfaceFormat2(C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue +} + +func NewQSurfaceFormat3(other QSurfaceFormat_ITF) *QSurfaceFormat { + tmpValue := NewQSurfaceFormatFromPointer(C.QSurfaceFormat_NewQSurfaceFormat3(PointerFromQSurfaceFormat(other))) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue +} + +func (ptr *QSurfaceFormat) AlphaBufferSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_AlphaBufferSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) BlueBufferSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_BlueBufferSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) ColorSpace() QSurfaceFormat__ColorSpace { + if ptr.Pointer() != nil { + return QSurfaceFormat__ColorSpace(C.QSurfaceFormat_ColorSpace(ptr.Pointer())) + } + return 0 +} + +func QSurfaceFormat_DefaultFormat() *QSurfaceFormat { + tmpValue := NewQSurfaceFormatFromPointer(C.QSurfaceFormat_QSurfaceFormat_DefaultFormat()) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue +} + +func (ptr *QSurfaceFormat) DefaultFormat() *QSurfaceFormat { + tmpValue := NewQSurfaceFormatFromPointer(C.QSurfaceFormat_QSurfaceFormat_DefaultFormat()) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue +} + +func (ptr *QSurfaceFormat) DepthBufferSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_DepthBufferSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) GreenBufferSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_GreenBufferSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) HasAlpha() bool { + if ptr.Pointer() != nil { + return int8(C.QSurfaceFormat_HasAlpha(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSurfaceFormat) MajorVersion() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_MajorVersion(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) MinorVersion() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_MinorVersion(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) Options() QSurfaceFormat__FormatOption { + if ptr.Pointer() != nil { + return QSurfaceFormat__FormatOption(C.QSurfaceFormat_Options(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSurfaceFormat) Profile() QSurfaceFormat__OpenGLContextProfile { + if ptr.Pointer() != nil { + return QSurfaceFormat__OpenGLContextProfile(C.QSurfaceFormat_Profile(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSurfaceFormat) RedBufferSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_RedBufferSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) RenderableType() QSurfaceFormat__RenderableType { + if ptr.Pointer() != nil { + return QSurfaceFormat__RenderableType(C.QSurfaceFormat_RenderableType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSurfaceFormat) Samples() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_Samples(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) SetAlphaBufferSize(size int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetAlphaBufferSize(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QSurfaceFormat) SetBlueBufferSize(size int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetBlueBufferSize(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QSurfaceFormat) SetColorSpace(colorSpace QSurfaceFormat__ColorSpace) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetColorSpace(ptr.Pointer(), C.longlong(colorSpace)) + } +} + +func QSurfaceFormat_SetDefaultFormat(format QSurfaceFormat_ITF) { + C.QSurfaceFormat_QSurfaceFormat_SetDefaultFormat(PointerFromQSurfaceFormat(format)) +} + +func (ptr *QSurfaceFormat) SetDefaultFormat(format QSurfaceFormat_ITF) { + C.QSurfaceFormat_QSurfaceFormat_SetDefaultFormat(PointerFromQSurfaceFormat(format)) +} + +func (ptr *QSurfaceFormat) SetDepthBufferSize(size int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetDepthBufferSize(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QSurfaceFormat) SetGreenBufferSize(size int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetGreenBufferSize(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QSurfaceFormat) SetMajorVersion(major int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetMajorVersion(ptr.Pointer(), C.int(int32(major))) + } +} + +func (ptr *QSurfaceFormat) SetMinorVersion(minor int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetMinorVersion(ptr.Pointer(), C.int(int32(minor))) + } +} + +func (ptr *QSurfaceFormat) SetOption(option QSurfaceFormat__FormatOption, on bool) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetOption(ptr.Pointer(), C.longlong(option), C.char(int8(qt.GoBoolToInt(on)))) + } +} + +func (ptr *QSurfaceFormat) SetOptions(options QSurfaceFormat__FormatOption) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetOptions(ptr.Pointer(), C.longlong(options)) + } +} + +func (ptr *QSurfaceFormat) SetProfile(profile QSurfaceFormat__OpenGLContextProfile) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetProfile(ptr.Pointer(), C.longlong(profile)) + } +} + +func (ptr *QSurfaceFormat) SetRedBufferSize(size int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetRedBufferSize(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QSurfaceFormat) SetRenderableType(ty QSurfaceFormat__RenderableType) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetRenderableType(ptr.Pointer(), C.longlong(ty)) + } +} + +func (ptr *QSurfaceFormat) SetSamples(numSamples int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetSamples(ptr.Pointer(), C.int(int32(numSamples))) + } +} + +func (ptr *QSurfaceFormat) SetStencilBufferSize(size int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetStencilBufferSize(ptr.Pointer(), C.int(int32(size))) + } +} + +func (ptr *QSurfaceFormat) SetStereo(enable bool) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetStereo(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QSurfaceFormat) SetSwapBehavior(behavior QSurfaceFormat__SwapBehavior) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetSwapBehavior(ptr.Pointer(), C.longlong(behavior)) + } +} + +func (ptr *QSurfaceFormat) SetSwapInterval(interval int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetSwapInterval(ptr.Pointer(), C.int(int32(interval))) + } +} + +func (ptr *QSurfaceFormat) SetVersion(major int, minor int) { + if ptr.Pointer() != nil { + C.QSurfaceFormat_SetVersion(ptr.Pointer(), C.int(int32(major)), C.int(int32(minor))) + } +} + +func (ptr *QSurfaceFormat) StencilBufferSize() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_StencilBufferSize(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) Stereo() bool { + if ptr.Pointer() != nil { + return int8(C.QSurfaceFormat_Stereo(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSurfaceFormat) SwapBehavior() QSurfaceFormat__SwapBehavior { + if ptr.Pointer() != nil { + return QSurfaceFormat__SwapBehavior(C.QSurfaceFormat_SwapBehavior(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSurfaceFormat) SwapInterval() int { + if ptr.Pointer() != nil { + return int(int32(C.QSurfaceFormat_SwapInterval(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSurfaceFormat) TestOption(option QSurfaceFormat__FormatOption) bool { + if ptr.Pointer() != nil { + return int8(C.QSurfaceFormat_TestOption(ptr.Pointer(), C.longlong(option))) != 0 + } + return false +} + +func (ptr *QSurfaceFormat) DestroyQSurfaceFormat() { + if ptr.Pointer() != nil { + C.QSurfaceFormat_DestroyQSurfaceFormat(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSyntaxHighlighter struct { + core.QObject +} + +type QSyntaxHighlighter_ITF interface { + core.QObject_ITF + QSyntaxHighlighter_PTR() *QSyntaxHighlighter +} + +func (ptr *QSyntaxHighlighter) QSyntaxHighlighter_PTR() *QSyntaxHighlighter { + return ptr +} + +func (ptr *QSyntaxHighlighter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QSyntaxHighlighter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQSyntaxHighlighter(ptr QSyntaxHighlighter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSyntaxHighlighter_PTR().Pointer() + } + return nil +} + +func NewQSyntaxHighlighterFromPointer(ptr unsafe.Pointer) (n *QSyntaxHighlighter) { + n = new(QSyntaxHighlighter) + n.SetPointer(ptr) + return +} +func NewQSyntaxHighlighter(parent core.QObject_ITF) *QSyntaxHighlighter { + tmpValue := NewQSyntaxHighlighterFromPointer(C.QSyntaxHighlighter_NewQSyntaxHighlighter(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQSyntaxHighlighter2(parent QTextDocument_ITF) *QSyntaxHighlighter { + tmpValue := NewQSyntaxHighlighterFromPointer(C.QSyntaxHighlighter_NewQSyntaxHighlighter2(PointerFromQTextDocument(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QSyntaxHighlighter) CurrentBlock() *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QSyntaxHighlighter_CurrentBlock(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QSyntaxHighlighter) CurrentBlockState() int { + if ptr.Pointer() != nil { + return int(int32(C.QSyntaxHighlighter_CurrentBlockState(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSyntaxHighlighter) CurrentBlockUserData() *QTextBlockUserData { + if ptr.Pointer() != nil { + return NewQTextBlockUserDataFromPointer(C.QSyntaxHighlighter_CurrentBlockUserData(ptr.Pointer())) + } + return nil +} + +func (ptr *QSyntaxHighlighter) Document() *QTextDocument { + if ptr.Pointer() != nil { + tmpValue := NewQTextDocumentFromPointer(C.QSyntaxHighlighter_Document(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSyntaxHighlighter) Format(position int) *QTextCharFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextCharFormatFromPointer(C.QSyntaxHighlighter_Format(ptr.Pointer(), C.int(int32(position)))) + runtime.SetFinalizer(tmpValue, (*QTextCharFormat).DestroyQTextCharFormat) + return tmpValue + } + return nil +} + +//export callbackQSyntaxHighlighter_HighlightBlock +func callbackQSyntaxHighlighter_HighlightBlock(ptr unsafe.Pointer, text C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "highlightBlock"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(text)) + } + +} + +func (ptr *QSyntaxHighlighter) ConnectHighlightBlock(f func(text string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "highlightBlock"); signal != nil { + f := func(text string) { + (*(*func(string))(signal))(text) + f(text) + } + qt.ConnectSignal(ptr.Pointer(), "highlightBlock", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "highlightBlock", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSyntaxHighlighter) DisconnectHighlightBlock() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "highlightBlock") + } +} + +func (ptr *QSyntaxHighlighter) HighlightBlock(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QSyntaxHighlighter_HighlightBlock(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QSyntaxHighlighter) PreviousBlockState() int { + if ptr.Pointer() != nil { + return int(int32(C.QSyntaxHighlighter_PreviousBlockState(ptr.Pointer()))) + } + return 0 +} + +//export callbackQSyntaxHighlighter_Rehighlight +func callbackQSyntaxHighlighter_Rehighlight(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "rehighlight"); signal != nil { + (*(*func())(signal))() + } else { + NewQSyntaxHighlighterFromPointer(ptr).RehighlightDefault() + } +} + +func (ptr *QSyntaxHighlighter) ConnectRehighlight(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rehighlight"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "rehighlight", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rehighlight", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSyntaxHighlighter) DisconnectRehighlight() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rehighlight") + } +} + +func (ptr *QSyntaxHighlighter) Rehighlight() { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_Rehighlight(ptr.Pointer()) + } +} + +func (ptr *QSyntaxHighlighter) RehighlightDefault() { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_RehighlightDefault(ptr.Pointer()) + } +} + +//export callbackQSyntaxHighlighter_RehighlightBlock +func callbackQSyntaxHighlighter_RehighlightBlock(ptr unsafe.Pointer, block unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "rehighlightBlock"); signal != nil { + (*(*func(*QTextBlock))(signal))(NewQTextBlockFromPointer(block)) + } else { + NewQSyntaxHighlighterFromPointer(ptr).RehighlightBlockDefault(NewQTextBlockFromPointer(block)) + } +} + +func (ptr *QSyntaxHighlighter) ConnectRehighlightBlock(f func(block *QTextBlock)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "rehighlightBlock"); signal != nil { + f := func(block *QTextBlock) { + (*(*func(*QTextBlock))(signal))(block) + f(block) + } + qt.ConnectSignal(ptr.Pointer(), "rehighlightBlock", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "rehighlightBlock", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSyntaxHighlighter) DisconnectRehighlightBlock() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "rehighlightBlock") + } +} + +func (ptr *QSyntaxHighlighter) RehighlightBlock(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_RehighlightBlock(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +func (ptr *QSyntaxHighlighter) RehighlightBlockDefault(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_RehighlightBlockDefault(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +func (ptr *QSyntaxHighlighter) SetCurrentBlockState(newState int) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_SetCurrentBlockState(ptr.Pointer(), C.int(int32(newState))) + } +} + +func (ptr *QSyntaxHighlighter) SetCurrentBlockUserData(data QTextBlockUserData_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_SetCurrentBlockUserData(ptr.Pointer(), PointerFromQTextBlockUserData(data)) + } +} + +func (ptr *QSyntaxHighlighter) SetDocument(doc QTextDocument_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_SetDocument(ptr.Pointer(), PointerFromQTextDocument(doc)) + } +} + +func (ptr *QSyntaxHighlighter) SetFormat(start int, count int, format QTextCharFormat_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_SetFormat(ptr.Pointer(), C.int(int32(start)), C.int(int32(count)), PointerFromQTextCharFormat(format)) + } +} + +func (ptr *QSyntaxHighlighter) SetFormat2(start int, count int, color QColor_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_SetFormat2(ptr.Pointer(), C.int(int32(start)), C.int(int32(count)), PointerFromQColor(color)) + } +} + +func (ptr *QSyntaxHighlighter) SetFormat3(start int, count int, font QFont_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_SetFormat3(ptr.Pointer(), C.int(int32(start)), C.int(int32(count)), PointerFromQFont(font)) + } +} + +//export callbackQSyntaxHighlighter_DestroyQSyntaxHighlighter +func callbackQSyntaxHighlighter_DestroyQSyntaxHighlighter(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSyntaxHighlighter"); signal != nil { + (*(*func())(signal))() + } else { + NewQSyntaxHighlighterFromPointer(ptr).DestroyQSyntaxHighlighterDefault() + } +} + +func (ptr *QSyntaxHighlighter) ConnectDestroyQSyntaxHighlighter(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSyntaxHighlighter"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSyntaxHighlighter", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSyntaxHighlighter", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSyntaxHighlighter) DisconnectDestroyQSyntaxHighlighter() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSyntaxHighlighter") + } +} + +func (ptr *QSyntaxHighlighter) DestroyQSyntaxHighlighter() { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_DestroyQSyntaxHighlighter(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSyntaxHighlighter) DestroyQSyntaxHighlighterDefault() { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_DestroyQSyntaxHighlighterDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSyntaxHighlighter) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QSyntaxHighlighter___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSyntaxHighlighter) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QSyntaxHighlighter) __children_newList() unsafe.Pointer { + return C.QSyntaxHighlighter___children_newList(ptr.Pointer()) +} + +func (ptr *QSyntaxHighlighter) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSyntaxHighlighter___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSyntaxHighlighter) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QSyntaxHighlighter) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QSyntaxHighlighter___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QSyntaxHighlighter) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QSyntaxHighlighter___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSyntaxHighlighter) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QSyntaxHighlighter) __findChildren_newList() unsafe.Pointer { + return C.QSyntaxHighlighter___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QSyntaxHighlighter) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QSyntaxHighlighter___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSyntaxHighlighter) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QSyntaxHighlighter) __findChildren_newList3() unsafe.Pointer { + return C.QSyntaxHighlighter___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QSyntaxHighlighter) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QSyntaxHighlighter___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QSyntaxHighlighter) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QSyntaxHighlighter) __qFindChildren_newList2() unsafe.Pointer { + return C.QSyntaxHighlighter___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQSyntaxHighlighter_ChildEvent +func callbackQSyntaxHighlighter_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQSyntaxHighlighterFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QSyntaxHighlighter) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQSyntaxHighlighter_ConnectNotify +func callbackQSyntaxHighlighter_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQSyntaxHighlighterFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QSyntaxHighlighter) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQSyntaxHighlighter_CustomEvent +func callbackQSyntaxHighlighter_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQSyntaxHighlighterFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QSyntaxHighlighter) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQSyntaxHighlighter_DeleteLater +func callbackQSyntaxHighlighter_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQSyntaxHighlighterFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QSyntaxHighlighter) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQSyntaxHighlighter_Destroyed +func callbackQSyntaxHighlighter_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQSyntaxHighlighter_DisconnectNotify +func callbackQSyntaxHighlighter_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQSyntaxHighlighterFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QSyntaxHighlighter) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQSyntaxHighlighter_Event +func callbackQSyntaxHighlighter_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQSyntaxHighlighterFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QSyntaxHighlighter) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSyntaxHighlighter_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQSyntaxHighlighter_EventFilter +func callbackQSyntaxHighlighter_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQSyntaxHighlighterFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QSyntaxHighlighter) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QSyntaxHighlighter_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQSyntaxHighlighter_MetaObject +func callbackQSyntaxHighlighter_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQSyntaxHighlighterFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QSyntaxHighlighter) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QSyntaxHighlighter_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQSyntaxHighlighter_ObjectNameChanged +func callbackQSyntaxHighlighter_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQSyntaxHighlighter_TimerEvent +func callbackQSyntaxHighlighter_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQSyntaxHighlighterFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QSyntaxHighlighter) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QSyntaxHighlighter_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QTabletEvent struct { + QInputEvent +} + +type QTabletEvent_ITF interface { + QInputEvent_ITF + QTabletEvent_PTR() *QTabletEvent +} + +func (ptr *QTabletEvent) QTabletEvent_PTR() *QTabletEvent { + return ptr +} + +func (ptr *QTabletEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QInputEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QTabletEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QInputEvent_PTR().SetPointer(p) + } +} + +func PointerFromQTabletEvent(ptr QTabletEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTabletEvent_PTR().Pointer() + } + return nil +} + +func NewQTabletEventFromPointer(ptr unsafe.Pointer) (n *QTabletEvent) { + n = new(QTabletEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QTabletEvent) DestroyQTabletEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QTabletEvent__TabletDevice +//QTabletEvent::TabletDevice +type QTabletEvent__TabletDevice int64 + +const ( + QTabletEvent__NoDevice QTabletEvent__TabletDevice = QTabletEvent__TabletDevice(0) + QTabletEvent__Puck QTabletEvent__TabletDevice = QTabletEvent__TabletDevice(1) + QTabletEvent__Stylus QTabletEvent__TabletDevice = QTabletEvent__TabletDevice(2) + QTabletEvent__Airbrush QTabletEvent__TabletDevice = QTabletEvent__TabletDevice(3) + QTabletEvent__FourDMouse QTabletEvent__TabletDevice = QTabletEvent__TabletDevice(4) + QTabletEvent__XFreeEraser QTabletEvent__TabletDevice = QTabletEvent__TabletDevice(5) + QTabletEvent__RotationStylus QTabletEvent__TabletDevice = QTabletEvent__TabletDevice(6) +) + +//go:generate stringer -type=QTabletEvent__PointerType +//QTabletEvent::PointerType +type QTabletEvent__PointerType int64 + +const ( + QTabletEvent__UnknownPointer QTabletEvent__PointerType = QTabletEvent__PointerType(0) + QTabletEvent__Pen QTabletEvent__PointerType = QTabletEvent__PointerType(1) + QTabletEvent__Cursor QTabletEvent__PointerType = QTabletEvent__PointerType(2) + QTabletEvent__Eraser QTabletEvent__PointerType = QTabletEvent__PointerType(3) +) + +func NewQTabletEvent2(ty core.QEvent__Type, pos core.QPointF_ITF, globalPos core.QPointF_ITF, device int, pointerType int, pressure float64, xTilt int, yTilt int, tangentialPressure float64, rotation float64, z int, keyState core.Qt__KeyboardModifier, uniqueID int64, button core.Qt__MouseButton, buttons core.Qt__MouseButton) *QTabletEvent { + tmpValue := NewQTabletEventFromPointer(C.QTabletEvent_NewQTabletEvent2(C.longlong(ty), core.PointerFromQPointF(pos), core.PointerFromQPointF(globalPos), C.int(int32(device)), C.int(int32(pointerType)), C.double(pressure), C.int(int32(xTilt)), C.int(int32(yTilt)), C.double(tangentialPressure), C.double(rotation), C.int(int32(z)), C.longlong(keyState), C.longlong(uniqueID), C.longlong(button), C.longlong(buttons))) + runtime.SetFinalizer(tmpValue, (*QTabletEvent).DestroyQTabletEvent) + return tmpValue +} + +func (ptr *QTabletEvent) Button() core.Qt__MouseButton { + if ptr.Pointer() != nil { + return core.Qt__MouseButton(C.QTabletEvent_Button(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) Buttons() core.Qt__MouseButton { + if ptr.Pointer() != nil { + return core.Qt__MouseButton(C.QTabletEvent_Buttons(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) Device() QTabletEvent__TabletDevice { + if ptr.Pointer() != nil { + return QTabletEvent__TabletDevice(C.QTabletEvent_Device(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) GlobalPos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QTabletEvent_GlobalPos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QTabletEvent) GlobalPosF() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QTabletEvent_GlobalPosF(ptr.Pointer())) + } + return nil +} + +func (ptr *QTabletEvent) GlobalX() int { + if ptr.Pointer() != nil { + return int(int32(C.QTabletEvent_GlobalX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTabletEvent) GlobalY() int { + if ptr.Pointer() != nil { + return int(int32(C.QTabletEvent_GlobalY(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTabletEvent) HiResGlobalX() float64 { + if ptr.Pointer() != nil { + return float64(C.QTabletEvent_HiResGlobalX(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) HiResGlobalY() float64 { + if ptr.Pointer() != nil { + return float64(C.QTabletEvent_HiResGlobalY(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) PointerType() QTabletEvent__PointerType { + if ptr.Pointer() != nil { + return QTabletEvent__PointerType(C.QTabletEvent_PointerType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QTabletEvent_Pos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QTabletEvent) PosF() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QTabletEvent_PosF(ptr.Pointer())) + } + return nil +} + +func (ptr *QTabletEvent) Pressure() float64 { + if ptr.Pointer() != nil { + return float64(C.QTabletEvent_Pressure(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) Rotation() float64 { + if ptr.Pointer() != nil { + return float64(C.QTabletEvent_Rotation(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) TangentialPressure() float64 { + if ptr.Pointer() != nil { + return float64(C.QTabletEvent_TangentialPressure(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) UniqueId() int64 { + if ptr.Pointer() != nil { + return int64(C.QTabletEvent_UniqueId(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTabletEvent) X() int { + if ptr.Pointer() != nil { + return int(int32(C.QTabletEvent_X(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTabletEvent) XTilt() int { + if ptr.Pointer() != nil { + return int(int32(C.QTabletEvent_XTilt(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTabletEvent) Y() int { + if ptr.Pointer() != nil { + return int(int32(C.QTabletEvent_Y(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTabletEvent) YTilt() int { + if ptr.Pointer() != nil { + return int(int32(C.QTabletEvent_YTilt(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTabletEvent) Z() int { + if ptr.Pointer() != nil { + return int(int32(C.QTabletEvent_Z(ptr.Pointer()))) + } + return 0 +} + +type QTextBlock struct { + ptr unsafe.Pointer +} + +type QTextBlock_ITF interface { + QTextBlock_PTR() *QTextBlock +} + +func (ptr *QTextBlock) QTextBlock_PTR() *QTextBlock { + return ptr +} + +func (ptr *QTextBlock) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextBlock) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextBlock(ptr QTextBlock_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextBlock_PTR().Pointer() + } + return nil +} + +func NewQTextBlockFromPointer(ptr unsafe.Pointer) (n *QTextBlock) { + n = new(QTextBlock) + n.SetPointer(ptr) + return +} + +func (ptr *QTextBlock) DestroyQTextBlock() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQTextBlock3(other QTextBlock_ITF) *QTextBlock { + tmpValue := NewQTextBlockFromPointer(C.QTextBlock_NewQTextBlock3(PointerFromQTextBlock(other))) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue +} + +func (ptr *QTextBlock) BlockFormat() *QTextBlockFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFormatFromPointer(C.QTextBlock_BlockFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlockFormat).DestroyQTextBlockFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextBlock) BlockFormatIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlock_BlockFormatIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlock) BlockNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlock_BlockNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlock) CharFormat() *QTextCharFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextCharFormatFromPointer(C.QTextBlock_CharFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCharFormat).DestroyQTextCharFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextBlock) CharFormatIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlock_CharFormatIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlock) ClearLayout() { + if ptr.Pointer() != nil { + C.QTextBlock_ClearLayout(ptr.Pointer()) + } +} + +func (ptr *QTextBlock) Contains(position int) bool { + if ptr.Pointer() != nil { + return int8(C.QTextBlock_Contains(ptr.Pointer(), C.int(int32(position)))) != 0 + } + return false +} + +func (ptr *QTextBlock) Document() *QTextDocument { + if ptr.Pointer() != nil { + tmpValue := NewQTextDocumentFromPointer(C.QTextBlock_Document(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextBlock) FirstLineNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlock_FirstLineNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlock) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTextBlock_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextBlock) IsVisible() bool { + if ptr.Pointer() != nil { + return int8(C.QTextBlock_IsVisible(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextBlock) Layout() *QTextLayout { + if ptr.Pointer() != nil { + return NewQTextLayoutFromPointer(C.QTextBlock_Layout(ptr.Pointer())) + } + return nil +} + +func (ptr *QTextBlock) Length() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlock_Length(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlock) LineCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlock_LineCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlock) Next() *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextBlock_Next(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextBlock) Position() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlock_Position(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlock) Previous() *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextBlock_Previous(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextBlock) Revision() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlock_Revision(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlock) SetLineCount(count int) { + if ptr.Pointer() != nil { + C.QTextBlock_SetLineCount(ptr.Pointer(), C.int(int32(count))) + } +} + +func (ptr *QTextBlock) SetRevision(rev int) { + if ptr.Pointer() != nil { + C.QTextBlock_SetRevision(ptr.Pointer(), C.int(int32(rev))) + } +} + +func (ptr *QTextBlock) SetUserData(data QTextBlockUserData_ITF) { + if ptr.Pointer() != nil { + C.QTextBlock_SetUserData(ptr.Pointer(), PointerFromQTextBlockUserData(data)) + } +} + +func (ptr *QTextBlock) SetUserState(state int) { + if ptr.Pointer() != nil { + C.QTextBlock_SetUserState(ptr.Pointer(), C.int(int32(state))) + } +} + +func (ptr *QTextBlock) SetVisible(visible bool) { + if ptr.Pointer() != nil { + C.QTextBlock_SetVisible(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(visible)))) + } +} + +func (ptr *QTextBlock) Text() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextBlock_Text(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextBlock) TextDirection() core.Qt__LayoutDirection { + if ptr.Pointer() != nil { + return core.Qt__LayoutDirection(C.QTextBlock_TextDirection(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBlock) UserData() *QTextBlockUserData { + if ptr.Pointer() != nil { + return NewQTextBlockUserDataFromPointer(C.QTextBlock_UserData(ptr.Pointer())) + } + return nil +} + +func (ptr *QTextBlock) UserState() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlock_UserState(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlock) __textFormats_newList() unsafe.Pointer { + return C.QTextBlock___textFormats_newList(ptr.Pointer()) +} + +type QTextBlockFormat struct { + QTextFormat +} + +type QTextBlockFormat_ITF interface { + QTextFormat_ITF + QTextBlockFormat_PTR() *QTextBlockFormat +} + +func (ptr *QTextBlockFormat) QTextBlockFormat_PTR() *QTextBlockFormat { + return ptr +} + +func (ptr *QTextBlockFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextFormat_PTR().Pointer() + } + return nil +} + +func (ptr *QTextBlockFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextFormat_PTR().SetPointer(p) + } +} + +func PointerFromQTextBlockFormat(ptr QTextBlockFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextBlockFormat_PTR().Pointer() + } + return nil +} + +func NewQTextBlockFormatFromPointer(ptr unsafe.Pointer) (n *QTextBlockFormat) { + n = new(QTextBlockFormat) + n.SetPointer(ptr) + return +} + +func (ptr *QTextBlockFormat) DestroyQTextBlockFormat() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QTextBlockFormat__LineHeightTypes +//QTextBlockFormat::LineHeightTypes +type QTextBlockFormat__LineHeightTypes int64 + +const ( + QTextBlockFormat__SingleHeight QTextBlockFormat__LineHeightTypes = QTextBlockFormat__LineHeightTypes(0) + QTextBlockFormat__ProportionalHeight QTextBlockFormat__LineHeightTypes = QTextBlockFormat__LineHeightTypes(1) + QTextBlockFormat__FixedHeight QTextBlockFormat__LineHeightTypes = QTextBlockFormat__LineHeightTypes(2) + QTextBlockFormat__MinimumHeight QTextBlockFormat__LineHeightTypes = QTextBlockFormat__LineHeightTypes(3) + QTextBlockFormat__LineDistanceHeight QTextBlockFormat__LineHeightTypes = QTextBlockFormat__LineHeightTypes(4) +) + +func NewQTextBlockFormat() *QTextBlockFormat { + tmpValue := NewQTextBlockFormatFromPointer(C.QTextBlockFormat_NewQTextBlockFormat()) + runtime.SetFinalizer(tmpValue, (*QTextBlockFormat).DestroyQTextBlockFormat) + return tmpValue +} + +func (ptr *QTextBlockFormat) Alignment() core.Qt__AlignmentFlag { + if ptr.Pointer() != nil { + return core.Qt__AlignmentFlag(C.QTextBlockFormat_Alignment(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBlockFormat) BottomMargin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextBlockFormat_BottomMargin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBlockFormat) HeadingLevel() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlockFormat_HeadingLevel(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlockFormat) Indent() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlockFormat_Indent(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlockFormat) LeftMargin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextBlockFormat_LeftMargin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBlockFormat) LineHeight(scriptLineHeight float64, scaling float64) float64 { + if ptr.Pointer() != nil { + return float64(C.QTextBlockFormat_LineHeight(ptr.Pointer(), C.double(scriptLineHeight), C.double(scaling))) + } + return 0 +} + +func (ptr *QTextBlockFormat) LineHeight2() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextBlockFormat_LineHeight2(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBlockFormat) LineHeightType() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextBlockFormat_LineHeightType(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextBlockFormat) NonBreakableLines() bool { + if ptr.Pointer() != nil { + return int8(C.QTextBlockFormat_NonBreakableLines(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextBlockFormat) PageBreakPolicy() QTextFormat__PageBreakFlag { + if ptr.Pointer() != nil { + return QTextFormat__PageBreakFlag(C.QTextBlockFormat_PageBreakPolicy(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBlockFormat) RightMargin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextBlockFormat_RightMargin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBlockFormat) SetAlignment(alignment core.Qt__AlignmentFlag) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetAlignment(ptr.Pointer(), C.longlong(alignment)) + } +} + +func (ptr *QTextBlockFormat) SetBottomMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetBottomMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextBlockFormat) SetHeadingLevel(level int) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetHeadingLevel(ptr.Pointer(), C.int(int32(level))) + } +} + +func (ptr *QTextBlockFormat) SetIndent(indentation int) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetIndent(ptr.Pointer(), C.int(int32(indentation))) + } +} + +func (ptr *QTextBlockFormat) SetLeftMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetLeftMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextBlockFormat) SetLineHeight(height float64, heightType int) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetLineHeight(ptr.Pointer(), C.double(height), C.int(int32(heightType))) + } +} + +func (ptr *QTextBlockFormat) SetNonBreakableLines(b bool) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetNonBreakableLines(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(b)))) + } +} + +func (ptr *QTextBlockFormat) SetPageBreakPolicy(policy QTextFormat__PageBreakFlag) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetPageBreakPolicy(ptr.Pointer(), C.longlong(policy)) + } +} + +func (ptr *QTextBlockFormat) SetRightMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetRightMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextBlockFormat) SetTextIndent(indent float64) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetTextIndent(ptr.Pointer(), C.double(indent)) + } +} + +func (ptr *QTextBlockFormat) SetTopMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextBlockFormat_SetTopMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextBlockFormat) TextIndent() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextBlockFormat_TextIndent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBlockFormat) TopMargin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextBlockFormat_TopMargin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextBlockFormat) __setTabPositions_tabs_newList() unsafe.Pointer { + return C.QTextBlockFormat___setTabPositions_tabs_newList(ptr.Pointer()) +} + +func (ptr *QTextBlockFormat) __tabPositions_newList() unsafe.Pointer { + return C.QTextBlockFormat___tabPositions_newList(ptr.Pointer()) +} + +type QTextBlockGroup struct { + QTextObject +} + +type QTextBlockGroup_ITF interface { + QTextObject_ITF + QTextBlockGroup_PTR() *QTextBlockGroup +} + +func (ptr *QTextBlockGroup) QTextBlockGroup_PTR() *QTextBlockGroup { + return ptr +} + +func (ptr *QTextBlockGroup) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextObject_PTR().Pointer() + } + return nil +} + +func (ptr *QTextBlockGroup) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextObject_PTR().SetPointer(p) + } +} + +func PointerFromQTextBlockGroup(ptr QTextBlockGroup_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextBlockGroup_PTR().Pointer() + } + return nil +} + +func NewQTextBlockGroupFromPointer(ptr unsafe.Pointer) (n *QTextBlockGroup) { + n = new(QTextBlockGroup) + n.SetPointer(ptr) + return +} +func NewQTextBlockGroup(document QTextDocument_ITF) *QTextBlockGroup { + tmpValue := NewQTextBlockGroupFromPointer(C.QTextBlockGroup_NewQTextBlockGroup(PointerFromQTextDocument(document))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQTextBlockGroup_BlockFormatChanged +func callbackQTextBlockGroup_BlockFormatChanged(ptr unsafe.Pointer, block unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "blockFormatChanged"); signal != nil { + (*(*func(*QTextBlock))(signal))(NewQTextBlockFromPointer(block)) + } else { + NewQTextBlockGroupFromPointer(ptr).BlockFormatChangedDefault(NewQTextBlockFromPointer(block)) + } +} + +func (ptr *QTextBlockGroup) ConnectBlockFormatChanged(f func(block *QTextBlock)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "blockFormatChanged"); signal != nil { + f := func(block *QTextBlock) { + (*(*func(*QTextBlock))(signal))(block) + f(block) + } + qt.ConnectSignal(ptr.Pointer(), "blockFormatChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "blockFormatChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextBlockGroup) DisconnectBlockFormatChanged() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "blockFormatChanged") + } +} + +func (ptr *QTextBlockGroup) BlockFormatChanged(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QTextBlockGroup_BlockFormatChanged(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +func (ptr *QTextBlockGroup) BlockFormatChangedDefault(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QTextBlockGroup_BlockFormatChangedDefault(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +//export callbackQTextBlockGroup_BlockInserted +func callbackQTextBlockGroup_BlockInserted(ptr unsafe.Pointer, block unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "blockInserted"); signal != nil { + (*(*func(*QTextBlock))(signal))(NewQTextBlockFromPointer(block)) + } else { + NewQTextBlockGroupFromPointer(ptr).BlockInsertedDefault(NewQTextBlockFromPointer(block)) + } +} + +func (ptr *QTextBlockGroup) ConnectBlockInserted(f func(block *QTextBlock)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "blockInserted"); signal != nil { + f := func(block *QTextBlock) { + (*(*func(*QTextBlock))(signal))(block) + f(block) + } + qt.ConnectSignal(ptr.Pointer(), "blockInserted", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "blockInserted", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextBlockGroup) DisconnectBlockInserted() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "blockInserted") + } +} + +func (ptr *QTextBlockGroup) BlockInserted(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QTextBlockGroup_BlockInserted(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +func (ptr *QTextBlockGroup) BlockInsertedDefault(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QTextBlockGroup_BlockInsertedDefault(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +func (ptr *QTextBlockGroup) BlockList() []*QTextBlock { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QTextBlock { + out := make([]*QTextBlock, int(l.len)) + tmpList := NewQTextBlockGroupFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__blockList_atList(i) + } + return out + }(C.QTextBlockGroup_BlockList(ptr.Pointer())) + } + return make([]*QTextBlock, 0) +} + +//export callbackQTextBlockGroup_BlockRemoved +func callbackQTextBlockGroup_BlockRemoved(ptr unsafe.Pointer, block unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "blockRemoved"); signal != nil { + (*(*func(*QTextBlock))(signal))(NewQTextBlockFromPointer(block)) + } else { + NewQTextBlockGroupFromPointer(ptr).BlockRemovedDefault(NewQTextBlockFromPointer(block)) + } +} + +func (ptr *QTextBlockGroup) ConnectBlockRemoved(f func(block *QTextBlock)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "blockRemoved"); signal != nil { + f := func(block *QTextBlock) { + (*(*func(*QTextBlock))(signal))(block) + f(block) + } + qt.ConnectSignal(ptr.Pointer(), "blockRemoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "blockRemoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextBlockGroup) DisconnectBlockRemoved() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "blockRemoved") + } +} + +func (ptr *QTextBlockGroup) BlockRemoved(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QTextBlockGroup_BlockRemoved(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +func (ptr *QTextBlockGroup) BlockRemovedDefault(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QTextBlockGroup_BlockRemovedDefault(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +//export callbackQTextBlockGroup_DestroyQTextBlockGroup +func callbackQTextBlockGroup_DestroyQTextBlockGroup(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTextBlockGroup"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextBlockGroupFromPointer(ptr).DestroyQTextBlockGroupDefault() + } +} + +func (ptr *QTextBlockGroup) ConnectDestroyQTextBlockGroup(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTextBlockGroup"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTextBlockGroup", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTextBlockGroup", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextBlockGroup) DisconnectDestroyQTextBlockGroup() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTextBlockGroup") + } +} + +func (ptr *QTextBlockGroup) DestroyQTextBlockGroup() { + if ptr.Pointer() != nil { + C.QTextBlockGroup_DestroyQTextBlockGroup(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextBlockGroup) DestroyQTextBlockGroupDefault() { + if ptr.Pointer() != nil { + C.QTextBlockGroup_DestroyQTextBlockGroupDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextBlockGroup) __blockList_atList(i int) *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextBlockGroup___blockList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextBlockGroup) __blockList_setList(i QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QTextBlockGroup___blockList_setList(ptr.Pointer(), PointerFromQTextBlock(i)) + } +} + +func (ptr *QTextBlockGroup) __blockList_newList() unsafe.Pointer { + return C.QTextBlockGroup___blockList_newList(ptr.Pointer()) +} + +type QTextBlockUserData struct { + ptr unsafe.Pointer +} + +type QTextBlockUserData_ITF interface { + QTextBlockUserData_PTR() *QTextBlockUserData +} + +func (ptr *QTextBlockUserData) QTextBlockUserData_PTR() *QTextBlockUserData { + return ptr +} + +func (ptr *QTextBlockUserData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextBlockUserData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextBlockUserData(ptr QTextBlockUserData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextBlockUserData_PTR().Pointer() + } + return nil +} + +func NewQTextBlockUserDataFromPointer(ptr unsafe.Pointer) (n *QTextBlockUserData) { + n = new(QTextBlockUserData) + n.SetPointer(ptr) + return +} + +//export callbackQTextBlockUserData_DestroyQTextBlockUserData +func callbackQTextBlockUserData_DestroyQTextBlockUserData(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTextBlockUserData"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextBlockUserDataFromPointer(ptr).DestroyQTextBlockUserDataDefault() + } +} + +func (ptr *QTextBlockUserData) ConnectDestroyQTextBlockUserData(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTextBlockUserData"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTextBlockUserData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTextBlockUserData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextBlockUserData) DisconnectDestroyQTextBlockUserData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTextBlockUserData") + } +} + +func (ptr *QTextBlockUserData) DestroyQTextBlockUserData() { + if ptr.Pointer() != nil { + C.QTextBlockUserData_DestroyQTextBlockUserData(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QTextBlockUserData) DestroyQTextBlockUserDataDefault() { + if ptr.Pointer() != nil { + C.QTextBlockUserData_DestroyQTextBlockUserDataDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QTextCharFormat struct { + QTextFormat +} + +type QTextCharFormat_ITF interface { + QTextFormat_ITF + QTextCharFormat_PTR() *QTextCharFormat +} + +func (ptr *QTextCharFormat) QTextCharFormat_PTR() *QTextCharFormat { + return ptr +} + +func (ptr *QTextCharFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextFormat_PTR().Pointer() + } + return nil +} + +func (ptr *QTextCharFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextFormat_PTR().SetPointer(p) + } +} + +func PointerFromQTextCharFormat(ptr QTextCharFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextCharFormat_PTR().Pointer() + } + return nil +} + +func NewQTextCharFormatFromPointer(ptr unsafe.Pointer) (n *QTextCharFormat) { + n = new(QTextCharFormat) + n.SetPointer(ptr) + return +} + +func (ptr *QTextCharFormat) DestroyQTextCharFormat() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QTextCharFormat__VerticalAlignment +//QTextCharFormat::VerticalAlignment +type QTextCharFormat__VerticalAlignment int64 + +const ( + QTextCharFormat__AlignNormal QTextCharFormat__VerticalAlignment = QTextCharFormat__VerticalAlignment(0) + QTextCharFormat__AlignSuperScript QTextCharFormat__VerticalAlignment = QTextCharFormat__VerticalAlignment(1) + QTextCharFormat__AlignSubScript QTextCharFormat__VerticalAlignment = QTextCharFormat__VerticalAlignment(2) + QTextCharFormat__AlignMiddle QTextCharFormat__VerticalAlignment = QTextCharFormat__VerticalAlignment(3) + QTextCharFormat__AlignTop QTextCharFormat__VerticalAlignment = QTextCharFormat__VerticalAlignment(4) + QTextCharFormat__AlignBottom QTextCharFormat__VerticalAlignment = QTextCharFormat__VerticalAlignment(5) + QTextCharFormat__AlignBaseline QTextCharFormat__VerticalAlignment = QTextCharFormat__VerticalAlignment(6) +) + +//go:generate stringer -type=QTextCharFormat__UnderlineStyle +//QTextCharFormat::UnderlineStyle +type QTextCharFormat__UnderlineStyle int64 + +var ( + QTextCharFormat__NoUnderline QTextCharFormat__UnderlineStyle = QTextCharFormat__UnderlineStyle(0) + QTextCharFormat__SingleUnderline QTextCharFormat__UnderlineStyle = QTextCharFormat__UnderlineStyle(1) + QTextCharFormat__DashUnderline QTextCharFormat__UnderlineStyle = QTextCharFormat__UnderlineStyle(2) + QTextCharFormat__DotLine QTextCharFormat__UnderlineStyle = QTextCharFormat__UnderlineStyle(3) + QTextCharFormat__DashDotLine QTextCharFormat__UnderlineStyle = QTextCharFormat__UnderlineStyle(4) + QTextCharFormat__DashDotDotLine QTextCharFormat__UnderlineStyle = QTextCharFormat__UnderlineStyle(5) + QTextCharFormat__WaveUnderline QTextCharFormat__UnderlineStyle = QTextCharFormat__UnderlineStyle(6) + QTextCharFormat__SpellCheckUnderline QTextCharFormat__UnderlineStyle = QTextCharFormat__UnderlineStyle(7) +) + +//go:generate stringer -type=QTextCharFormat__FontPropertiesInheritanceBehavior +//QTextCharFormat::FontPropertiesInheritanceBehavior +type QTextCharFormat__FontPropertiesInheritanceBehavior int64 + +const ( + QTextCharFormat__FontPropertiesSpecifiedOnly QTextCharFormat__FontPropertiesInheritanceBehavior = QTextCharFormat__FontPropertiesInheritanceBehavior(0) + QTextCharFormat__FontPropertiesAll QTextCharFormat__FontPropertiesInheritanceBehavior = QTextCharFormat__FontPropertiesInheritanceBehavior(1) +) + +func NewQTextCharFormat() *QTextCharFormat { + tmpValue := NewQTextCharFormatFromPointer(C.QTextCharFormat_NewQTextCharFormat()) + runtime.SetFinalizer(tmpValue, (*QTextCharFormat).DestroyQTextCharFormat) + return tmpValue +} + +func (ptr *QTextCharFormat) AnchorHref() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextCharFormat_AnchorHref(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextCharFormat) AnchorNames() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QTextCharFormat_AnchorNames(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QTextCharFormat) Font() *QFont { + if ptr.Pointer() != nil { + tmpValue := NewQFontFromPointer(C.QTextCharFormat_Font(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue + } + return nil +} + +func (ptr *QTextCharFormat) FontCapitalization() QFont__Capitalization { + if ptr.Pointer() != nil { + return QFont__Capitalization(C.QTextCharFormat_FontCapitalization(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextCharFormat) FontFamilies() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QTextCharFormat_FontFamilies(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QTextCharFormat) FontFamily() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextCharFormat_FontFamily(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextCharFormat) FontFixedPitch() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCharFormat_FontFixedPitch(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCharFormat) FontHintingPreference() QFont__HintingPreference { + if ptr.Pointer() != nil { + return QFont__HintingPreference(C.QTextCharFormat_FontHintingPreference(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextCharFormat) FontItalic() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCharFormat_FontItalic(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCharFormat) FontKerning() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCharFormat_FontKerning(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCharFormat) FontLetterSpacing() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextCharFormat_FontLetterSpacing(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextCharFormat) FontLetterSpacingType() QFont__SpacingType { + if ptr.Pointer() != nil { + return QFont__SpacingType(C.QTextCharFormat_FontLetterSpacingType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextCharFormat) FontOverline() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCharFormat_FontOverline(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCharFormat) FontPointSize() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextCharFormat_FontPointSize(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextCharFormat) FontStretch() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCharFormat_FontStretch(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCharFormat) FontStrikeOut() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCharFormat_FontStrikeOut(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCharFormat) FontStyleHint() QFont__StyleHint { + if ptr.Pointer() != nil { + return QFont__StyleHint(C.QTextCharFormat_FontStyleHint(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextCharFormat) FontStyleName() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QTextCharFormat_FontStyleName(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QTextCharFormat) FontStyleStrategy() QFont__StyleStrategy { + if ptr.Pointer() != nil { + return QFont__StyleStrategy(C.QTextCharFormat_FontStyleStrategy(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextCharFormat) FontUnderline() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCharFormat_FontUnderline(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCharFormat) FontWeight() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCharFormat_FontWeight(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCharFormat) FontWordSpacing() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextCharFormat_FontWordSpacing(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextCharFormat) IsAnchor() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCharFormat_IsAnchor(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCharFormat) SetAnchor(anchor bool) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetAnchor(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(anchor)))) + } +} + +func (ptr *QTextCharFormat) SetAnchorHref(value string) { + if ptr.Pointer() != nil { + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + C.QTextCharFormat_SetAnchorHref(ptr.Pointer(), C.struct_QtGui_PackedString{data: valueC, len: C.longlong(len(value))}) + } +} + +func (ptr *QTextCharFormat) SetAnchorNames(names []string) { + if ptr.Pointer() != nil { + namesC := C.CString(strings.Join(names, "¡¦!")) + defer C.free(unsafe.Pointer(namesC)) + C.QTextCharFormat_SetAnchorNames(ptr.Pointer(), C.struct_QtGui_PackedString{data: namesC, len: C.longlong(len(strings.Join(names, "¡¦!")))}) + } +} + +func (ptr *QTextCharFormat) SetFont(font QFont_ITF, behavior QTextCharFormat__FontPropertiesInheritanceBehavior) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFont(ptr.Pointer(), PointerFromQFont(font), C.longlong(behavior)) + } +} + +func (ptr *QTextCharFormat) SetFont2(font QFont_ITF) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFont2(ptr.Pointer(), PointerFromQFont(font)) + } +} + +func (ptr *QTextCharFormat) SetFontCapitalization(capitalization QFont__Capitalization) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontCapitalization(ptr.Pointer(), C.longlong(capitalization)) + } +} + +func (ptr *QTextCharFormat) SetFontFamilies(families []string) { + if ptr.Pointer() != nil { + familiesC := C.CString(strings.Join(families, "¡¦!")) + defer C.free(unsafe.Pointer(familiesC)) + C.QTextCharFormat_SetFontFamilies(ptr.Pointer(), C.struct_QtGui_PackedString{data: familiesC, len: C.longlong(len(strings.Join(families, "¡¦!")))}) + } +} + +func (ptr *QTextCharFormat) SetFontFamily(family string) { + if ptr.Pointer() != nil { + var familyC *C.char + if family != "" { + familyC = C.CString(family) + defer C.free(unsafe.Pointer(familyC)) + } + C.QTextCharFormat_SetFontFamily(ptr.Pointer(), C.struct_QtGui_PackedString{data: familyC, len: C.longlong(len(family))}) + } +} + +func (ptr *QTextCharFormat) SetFontFixedPitch(fixedPitch bool) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontFixedPitch(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(fixedPitch)))) + } +} + +func (ptr *QTextCharFormat) SetFontHintingPreference(hintingPreference QFont__HintingPreference) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontHintingPreference(ptr.Pointer(), C.longlong(hintingPreference)) + } +} + +func (ptr *QTextCharFormat) SetFontItalic(italic bool) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontItalic(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(italic)))) + } +} + +func (ptr *QTextCharFormat) SetFontKerning(enable bool) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontKerning(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QTextCharFormat) SetFontLetterSpacing(spacing float64) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontLetterSpacing(ptr.Pointer(), C.double(spacing)) + } +} + +func (ptr *QTextCharFormat) SetFontLetterSpacingType(letterSpacingType QFont__SpacingType) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontLetterSpacingType(ptr.Pointer(), C.longlong(letterSpacingType)) + } +} + +func (ptr *QTextCharFormat) SetFontOverline(overline bool) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontOverline(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(overline)))) + } +} + +func (ptr *QTextCharFormat) SetFontPointSize(size float64) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontPointSize(ptr.Pointer(), C.double(size)) + } +} + +func (ptr *QTextCharFormat) SetFontStretch(factor int) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontStretch(ptr.Pointer(), C.int(int32(factor))) + } +} + +func (ptr *QTextCharFormat) SetFontStrikeOut(strikeOut bool) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontStrikeOut(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(strikeOut)))) + } +} + +func (ptr *QTextCharFormat) SetFontStyleHint(hint QFont__StyleHint, strategy QFont__StyleStrategy) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontStyleHint(ptr.Pointer(), C.longlong(hint), C.longlong(strategy)) + } +} + +func (ptr *QTextCharFormat) SetFontStyleName(styleName string) { + if ptr.Pointer() != nil { + var styleNameC *C.char + if styleName != "" { + styleNameC = C.CString(styleName) + defer C.free(unsafe.Pointer(styleNameC)) + } + C.QTextCharFormat_SetFontStyleName(ptr.Pointer(), C.struct_QtGui_PackedString{data: styleNameC, len: C.longlong(len(styleName))}) + } +} + +func (ptr *QTextCharFormat) SetFontStyleStrategy(strategy QFont__StyleStrategy) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontStyleStrategy(ptr.Pointer(), C.longlong(strategy)) + } +} + +func (ptr *QTextCharFormat) SetFontUnderline(underline bool) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontUnderline(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(underline)))) + } +} + +func (ptr *QTextCharFormat) SetFontWeight(weight int) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontWeight(ptr.Pointer(), C.int(int32(weight))) + } +} + +func (ptr *QTextCharFormat) SetFontWordSpacing(spacing float64) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetFontWordSpacing(ptr.Pointer(), C.double(spacing)) + } +} + +func (ptr *QTextCharFormat) SetTextOutline(pen QPen_ITF) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetTextOutline(ptr.Pointer(), PointerFromQPen(pen)) + } +} + +func (ptr *QTextCharFormat) SetToolTip(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QTextCharFormat_SetToolTip(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QTextCharFormat) SetUnderlineColor(color QColor_ITF) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetUnderlineColor(ptr.Pointer(), PointerFromQColor(color)) + } +} + +func (ptr *QTextCharFormat) SetUnderlineStyle(style QTextCharFormat__UnderlineStyle) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetUnderlineStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QTextCharFormat) SetVerticalAlignment(alignment QTextCharFormat__VerticalAlignment) { + if ptr.Pointer() != nil { + C.QTextCharFormat_SetVerticalAlignment(ptr.Pointer(), C.longlong(alignment)) + } +} + +func (ptr *QTextCharFormat) TextOutline() *QPen { + if ptr.Pointer() != nil { + tmpValue := NewQPenFromPointer(C.QTextCharFormat_TextOutline(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QPen).DestroyQPen) + return tmpValue + } + return nil +} + +func (ptr *QTextCharFormat) ToolTip() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextCharFormat_ToolTip(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextCharFormat) UnderlineColor() *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QTextCharFormat_UnderlineColor(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QTextCharFormat) UnderlineStyle() QTextCharFormat__UnderlineStyle { + if ptr.Pointer() != nil { + return QTextCharFormat__UnderlineStyle(C.QTextCharFormat_UnderlineStyle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextCharFormat) VerticalAlignment() QTextCharFormat__VerticalAlignment { + if ptr.Pointer() != nil { + return QTextCharFormat__VerticalAlignment(C.QTextCharFormat_VerticalAlignment(ptr.Pointer())) + } + return 0 +} + +type QTextCursor struct { + ptr unsafe.Pointer +} + +type QTextCursor_ITF interface { + QTextCursor_PTR() *QTextCursor +} + +func (ptr *QTextCursor) QTextCursor_PTR() *QTextCursor { + return ptr +} + +func (ptr *QTextCursor) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextCursor) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextCursor(ptr QTextCursor_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextCursor_PTR().Pointer() + } + return nil +} + +func NewQTextCursorFromPointer(ptr unsafe.Pointer) (n *QTextCursor) { + n = new(QTextCursor) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTextCursor__MoveMode +//QTextCursor::MoveMode +type QTextCursor__MoveMode int64 + +const ( + QTextCursor__MoveAnchor QTextCursor__MoveMode = QTextCursor__MoveMode(0) + QTextCursor__KeepAnchor QTextCursor__MoveMode = QTextCursor__MoveMode(1) +) + +//go:generate stringer -type=QTextCursor__MoveOperation +//QTextCursor::MoveOperation +type QTextCursor__MoveOperation int64 + +const ( + QTextCursor__NoMove QTextCursor__MoveOperation = QTextCursor__MoveOperation(0) + QTextCursor__Start QTextCursor__MoveOperation = QTextCursor__MoveOperation(1) + QTextCursor__Up QTextCursor__MoveOperation = QTextCursor__MoveOperation(2) + QTextCursor__StartOfLine QTextCursor__MoveOperation = QTextCursor__MoveOperation(3) + QTextCursor__StartOfBlock QTextCursor__MoveOperation = QTextCursor__MoveOperation(4) + QTextCursor__StartOfWord QTextCursor__MoveOperation = QTextCursor__MoveOperation(5) + QTextCursor__PreviousBlock QTextCursor__MoveOperation = QTextCursor__MoveOperation(6) + QTextCursor__PreviousCharacter QTextCursor__MoveOperation = QTextCursor__MoveOperation(7) + QTextCursor__PreviousWord QTextCursor__MoveOperation = QTextCursor__MoveOperation(8) + QTextCursor__Left QTextCursor__MoveOperation = QTextCursor__MoveOperation(9) + QTextCursor__WordLeft QTextCursor__MoveOperation = QTextCursor__MoveOperation(10) + QTextCursor__End QTextCursor__MoveOperation = QTextCursor__MoveOperation(11) + QTextCursor__Down QTextCursor__MoveOperation = QTextCursor__MoveOperation(12) + QTextCursor__EndOfLine QTextCursor__MoveOperation = QTextCursor__MoveOperation(13) + QTextCursor__EndOfWord QTextCursor__MoveOperation = QTextCursor__MoveOperation(14) + QTextCursor__EndOfBlock QTextCursor__MoveOperation = QTextCursor__MoveOperation(15) + QTextCursor__NextBlock QTextCursor__MoveOperation = QTextCursor__MoveOperation(16) + QTextCursor__NextCharacter QTextCursor__MoveOperation = QTextCursor__MoveOperation(17) + QTextCursor__NextWord QTextCursor__MoveOperation = QTextCursor__MoveOperation(18) + QTextCursor__Right QTextCursor__MoveOperation = QTextCursor__MoveOperation(19) + QTextCursor__WordRight QTextCursor__MoveOperation = QTextCursor__MoveOperation(20) + QTextCursor__NextCell QTextCursor__MoveOperation = QTextCursor__MoveOperation(21) + QTextCursor__PreviousCell QTextCursor__MoveOperation = QTextCursor__MoveOperation(22) + QTextCursor__NextRow QTextCursor__MoveOperation = QTextCursor__MoveOperation(23) + QTextCursor__PreviousRow QTextCursor__MoveOperation = QTextCursor__MoveOperation(24) +) + +//go:generate stringer -type=QTextCursor__SelectionType +//QTextCursor::SelectionType +type QTextCursor__SelectionType int64 + +const ( + QTextCursor__WordUnderCursor QTextCursor__SelectionType = QTextCursor__SelectionType(0) + QTextCursor__LineUnderCursor QTextCursor__SelectionType = QTextCursor__SelectionType(1) + QTextCursor__BlockUnderCursor QTextCursor__SelectionType = QTextCursor__SelectionType(2) + QTextCursor__Document QTextCursor__SelectionType = QTextCursor__SelectionType(3) +) + +func NewQTextCursor() *QTextCursor { + tmpValue := NewQTextCursorFromPointer(C.QTextCursor_NewQTextCursor()) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue +} + +func NewQTextCursor2(document QTextDocument_ITF) *QTextCursor { + tmpValue := NewQTextCursorFromPointer(C.QTextCursor_NewQTextCursor2(PointerFromQTextDocument(document))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue +} + +func NewQTextCursor3(frame QTextFrame_ITF) *QTextCursor { + tmpValue := NewQTextCursorFromPointer(C.QTextCursor_NewQTextCursor3(PointerFromQTextFrame(frame))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue +} + +func NewQTextCursor4(block QTextBlock_ITF) *QTextCursor { + tmpValue := NewQTextCursorFromPointer(C.QTextCursor_NewQTextCursor4(PointerFromQTextBlock(block))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue +} + +func NewQTextCursor5(cursor QTextCursor_ITF) *QTextCursor { + tmpValue := NewQTextCursorFromPointer(C.QTextCursor_NewQTextCursor5(PointerFromQTextCursor(cursor))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue +} + +func (ptr *QTextCursor) Anchor() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCursor_Anchor(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCursor) AtBlockEnd() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_AtBlockEnd(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCursor) AtBlockStart() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_AtBlockStart(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCursor) AtEnd() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_AtEnd(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCursor) AtStart() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_AtStart(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCursor) BeginEditBlock() { + if ptr.Pointer() != nil { + C.QTextCursor_BeginEditBlock(ptr.Pointer()) + } +} + +func (ptr *QTextCursor) Block() *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextCursor_Block(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) BlockCharFormat() *QTextCharFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextCharFormatFromPointer(C.QTextCursor_BlockCharFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCharFormat).DestroyQTextCharFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) BlockFormat() *QTextBlockFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFormatFromPointer(C.QTextCursor_BlockFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlockFormat).DestroyQTextBlockFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) BlockNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCursor_BlockNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCursor) CharFormat() *QTextCharFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextCharFormatFromPointer(C.QTextCursor_CharFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCharFormat).DestroyQTextCharFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) ClearSelection() { + if ptr.Pointer() != nil { + C.QTextCursor_ClearSelection(ptr.Pointer()) + } +} + +func (ptr *QTextCursor) ColumnNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCursor_ColumnNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCursor) CreateList(format QTextListFormat_ITF) *QTextList { + if ptr.Pointer() != nil { + tmpValue := NewQTextListFromPointer(C.QTextCursor_CreateList(ptr.Pointer(), PointerFromQTextListFormat(format))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) CreateList2(style QTextListFormat__Style) *QTextList { + if ptr.Pointer() != nil { + tmpValue := NewQTextListFromPointer(C.QTextCursor_CreateList2(ptr.Pointer(), C.longlong(style))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) CurrentFrame() *QTextFrame { + if ptr.Pointer() != nil { + tmpValue := NewQTextFrameFromPointer(C.QTextCursor_CurrentFrame(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) CurrentList() *QTextList { + if ptr.Pointer() != nil { + tmpValue := NewQTextListFromPointer(C.QTextCursor_CurrentList(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) CurrentTable() *QTextTable { + if ptr.Pointer() != nil { + tmpValue := NewQTextTableFromPointer(C.QTextCursor_CurrentTable(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) DeleteChar() { + if ptr.Pointer() != nil { + C.QTextCursor_DeleteChar(ptr.Pointer()) + } +} + +func (ptr *QTextCursor) DeletePreviousChar() { + if ptr.Pointer() != nil { + C.QTextCursor_DeletePreviousChar(ptr.Pointer()) + } +} + +func (ptr *QTextCursor) Document() *QTextDocument { + if ptr.Pointer() != nil { + tmpValue := NewQTextDocumentFromPointer(C.QTextCursor_Document(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) EndEditBlock() { + if ptr.Pointer() != nil { + C.QTextCursor_EndEditBlock(ptr.Pointer()) + } +} + +func (ptr *QTextCursor) HasComplexSelection() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_HasComplexSelection(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCursor) HasSelection() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_HasSelection(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCursor) InsertBlock() { + if ptr.Pointer() != nil { + C.QTextCursor_InsertBlock(ptr.Pointer()) + } +} + +func (ptr *QTextCursor) InsertBlock2(format QTextBlockFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_InsertBlock2(ptr.Pointer(), PointerFromQTextBlockFormat(format)) + } +} + +func (ptr *QTextCursor) InsertBlock3(format QTextBlockFormat_ITF, charFormat QTextCharFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_InsertBlock3(ptr.Pointer(), PointerFromQTextBlockFormat(format), PointerFromQTextCharFormat(charFormat)) + } +} + +func (ptr *QTextCursor) InsertFragment(fragment QTextDocumentFragment_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_InsertFragment(ptr.Pointer(), PointerFromQTextDocumentFragment(fragment)) + } +} + +func (ptr *QTextCursor) InsertFrame(format QTextFrameFormat_ITF) *QTextFrame { + if ptr.Pointer() != nil { + tmpValue := NewQTextFrameFromPointer(C.QTextCursor_InsertFrame(ptr.Pointer(), PointerFromQTextFrameFormat(format))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) InsertHtml(html string) { + if ptr.Pointer() != nil { + var htmlC *C.char + if html != "" { + htmlC = C.CString(html) + defer C.free(unsafe.Pointer(htmlC)) + } + C.QTextCursor_InsertHtml(ptr.Pointer(), C.struct_QtGui_PackedString{data: htmlC, len: C.longlong(len(html))}) + } +} + +func (ptr *QTextCursor) InsertImage(format QTextImageFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_InsertImage(ptr.Pointer(), PointerFromQTextImageFormat(format)) + } +} + +func (ptr *QTextCursor) InsertImage2(format QTextImageFormat_ITF, alignment QTextFrameFormat__Position) { + if ptr.Pointer() != nil { + C.QTextCursor_InsertImage2(ptr.Pointer(), PointerFromQTextImageFormat(format), C.longlong(alignment)) + } +} + +func (ptr *QTextCursor) InsertImage3(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QTextCursor_InsertImage3(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QTextCursor) InsertImage4(image QImage_ITF, name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QTextCursor_InsertImage4(ptr.Pointer(), PointerFromQImage(image), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QTextCursor) InsertList(format QTextListFormat_ITF) *QTextList { + if ptr.Pointer() != nil { + tmpValue := NewQTextListFromPointer(C.QTextCursor_InsertList(ptr.Pointer(), PointerFromQTextListFormat(format))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) InsertList2(style QTextListFormat__Style) *QTextList { + if ptr.Pointer() != nil { + tmpValue := NewQTextListFromPointer(C.QTextCursor_InsertList2(ptr.Pointer(), C.longlong(style))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) InsertTable(rows int, columns int, format QTextTableFormat_ITF) *QTextTable { + if ptr.Pointer() != nil { + tmpValue := NewQTextTableFromPointer(C.QTextCursor_InsertTable(ptr.Pointer(), C.int(int32(rows)), C.int(int32(columns)), PointerFromQTextTableFormat(format))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) InsertTable2(rows int, columns int) *QTextTable { + if ptr.Pointer() != nil { + tmpValue := NewQTextTableFromPointer(C.QTextCursor_InsertTable2(ptr.Pointer(), C.int(int32(rows)), C.int(int32(columns)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) InsertText(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QTextCursor_InsertText(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QTextCursor) InsertText2(text string, format QTextCharFormat_ITF) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QTextCursor_InsertText2(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, PointerFromQTextCharFormat(format)) + } +} + +func (ptr *QTextCursor) IsCopyOf(other QTextCursor_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_IsCopyOf(ptr.Pointer(), PointerFromQTextCursor(other))) != 0 + } + return false +} + +func (ptr *QTextCursor) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCursor) JoinPreviousEditBlock() { + if ptr.Pointer() != nil { + C.QTextCursor_JoinPreviousEditBlock(ptr.Pointer()) + } +} + +func (ptr *QTextCursor) KeepPositionOnInsert() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_KeepPositionOnInsert(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCursor) MergeBlockCharFormat(modifier QTextCharFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_MergeBlockCharFormat(ptr.Pointer(), PointerFromQTextCharFormat(modifier)) + } +} + +func (ptr *QTextCursor) MergeBlockFormat(modifier QTextBlockFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_MergeBlockFormat(ptr.Pointer(), PointerFromQTextBlockFormat(modifier)) + } +} + +func (ptr *QTextCursor) MergeCharFormat(modifier QTextCharFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_MergeCharFormat(ptr.Pointer(), PointerFromQTextCharFormat(modifier)) + } +} + +func (ptr *QTextCursor) MovePosition(operation QTextCursor__MoveOperation, mode QTextCursor__MoveMode, n int) bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_MovePosition(ptr.Pointer(), C.longlong(operation), C.longlong(mode), C.int(int32(n)))) != 0 + } + return false +} + +func (ptr *QTextCursor) Position() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCursor_Position(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCursor) PositionInBlock() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCursor_PositionInBlock(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCursor) RemoveSelectedText() { + if ptr.Pointer() != nil { + C.QTextCursor_RemoveSelectedText(ptr.Pointer()) + } +} + +func (ptr *QTextCursor) Select(selection QTextCursor__SelectionType) { + if ptr.Pointer() != nil { + C.QTextCursor_Select(ptr.Pointer(), C.longlong(selection)) + } +} + +func (ptr *QTextCursor) SelectedTableCells(firstRow int, numRows int, firstColumn int, numColumns int) { + if ptr.Pointer() != nil { + C.QTextCursor_SelectedTableCells(ptr.Pointer(), C.int(int32(firstRow)), C.int(int32(numRows)), C.int(int32(firstColumn)), C.int(int32(numColumns))) + } +} + +func (ptr *QTextCursor) SelectedText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextCursor_SelectedText(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextCursor) Selection() *QTextDocumentFragment { + if ptr.Pointer() != nil { + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextCursor_Selection(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue + } + return nil +} + +func (ptr *QTextCursor) SelectionEnd() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCursor_SelectionEnd(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCursor) SelectionStart() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCursor_SelectionStart(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCursor) SetBlockCharFormat(format QTextCharFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_SetBlockCharFormat(ptr.Pointer(), PointerFromQTextCharFormat(format)) + } +} + +func (ptr *QTextCursor) SetBlockFormat(format QTextBlockFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_SetBlockFormat(ptr.Pointer(), PointerFromQTextBlockFormat(format)) + } +} + +func (ptr *QTextCursor) SetCharFormat(format QTextCharFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_SetCharFormat(ptr.Pointer(), PointerFromQTextCharFormat(format)) + } +} + +func (ptr *QTextCursor) SetKeepPositionOnInsert(b bool) { + if ptr.Pointer() != nil { + C.QTextCursor_SetKeepPositionOnInsert(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(b)))) + } +} + +func (ptr *QTextCursor) SetPosition(pos int, m QTextCursor__MoveMode) { + if ptr.Pointer() != nil { + C.QTextCursor_SetPosition(ptr.Pointer(), C.int(int32(pos)), C.longlong(m)) + } +} + +func (ptr *QTextCursor) SetVerticalMovementX(x int) { + if ptr.Pointer() != nil { + C.QTextCursor_SetVerticalMovementX(ptr.Pointer(), C.int(int32(x))) + } +} + +func (ptr *QTextCursor) SetVisualNavigation(b bool) { + if ptr.Pointer() != nil { + C.QTextCursor_SetVisualNavigation(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(b)))) + } +} + +func (ptr *QTextCursor) Swap(other QTextCursor_ITF) { + if ptr.Pointer() != nil { + C.QTextCursor_Swap(ptr.Pointer(), PointerFromQTextCursor(other)) + } +} + +func (ptr *QTextCursor) VerticalMovementX() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextCursor_VerticalMovementX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextCursor) VisualNavigation() bool { + if ptr.Pointer() != nil { + return int8(C.QTextCursor_VisualNavigation(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextCursor) DestroyQTextCursor() { + if ptr.Pointer() != nil { + C.QTextCursor_DestroyQTextCursor(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextDocument struct { + core.QObject +} + +type QTextDocument_ITF interface { + core.QObject_ITF + QTextDocument_PTR() *QTextDocument +} + +func (ptr *QTextDocument) QTextDocument_PTR() *QTextDocument { + return ptr +} + +func (ptr *QTextDocument) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QTextDocument) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQTextDocument(ptr QTextDocument_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextDocument_PTR().Pointer() + } + return nil +} + +func NewQTextDocumentFromPointer(ptr unsafe.Pointer) (n *QTextDocument) { + n = new(QTextDocument) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTextDocument__MetaInformation +//QTextDocument::MetaInformation +type QTextDocument__MetaInformation int64 + +const ( + QTextDocument__DocumentTitle QTextDocument__MetaInformation = QTextDocument__MetaInformation(0) + QTextDocument__DocumentUrl QTextDocument__MetaInformation = QTextDocument__MetaInformation(1) +) + +//go:generate stringer -type=QTextDocument__FindFlag +//QTextDocument::FindFlag +type QTextDocument__FindFlag int64 + +const ( + QTextDocument__FindBackward QTextDocument__FindFlag = QTextDocument__FindFlag(0x00001) + QTextDocument__FindCaseSensitively QTextDocument__FindFlag = QTextDocument__FindFlag(0x00002) + QTextDocument__FindWholeWords QTextDocument__FindFlag = QTextDocument__FindFlag(0x00004) +) + +//go:generate stringer -type=QTextDocument__ResourceType +//QTextDocument::ResourceType +type QTextDocument__ResourceType int64 + +const ( + QTextDocument__HtmlResource QTextDocument__ResourceType = QTextDocument__ResourceType(1) + QTextDocument__ImageResource QTextDocument__ResourceType = QTextDocument__ResourceType(2) + QTextDocument__StyleSheetResource QTextDocument__ResourceType = QTextDocument__ResourceType(3) + QTextDocument__UserResource QTextDocument__ResourceType = QTextDocument__ResourceType(100) +) + +//go:generate stringer -type=QTextDocument__Stacks +//QTextDocument::Stacks +type QTextDocument__Stacks int64 + +const ( + QTextDocument__UndoStack QTextDocument__Stacks = QTextDocument__Stacks(0x01) + QTextDocument__RedoStack QTextDocument__Stacks = QTextDocument__Stacks(0x02) + QTextDocument__UndoAndRedoStacks QTextDocument__Stacks = QTextDocument__Stacks(QTextDocument__UndoStack | QTextDocument__RedoStack) +) + +func NewQTextDocument(parent core.QObject_ITF) *QTextDocument { + tmpValue := NewQTextDocumentFromPointer(C.QTextDocument_NewQTextDocument(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQTextDocument2(text string, parent core.QObject_ITF) *QTextDocument { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQTextDocumentFromPointer(C.QTextDocument_NewQTextDocument2(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QTextDocument) AddResource(ty int, name core.QUrl_ITF, resource core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_AddResource(ptr.Pointer(), C.int(int32(ty)), core.PointerFromQUrl(name), core.PointerFromQVariant(resource)) + } +} + +func (ptr *QTextDocument) AdjustSize() { + if ptr.Pointer() != nil { + C.QTextDocument_AdjustSize(ptr.Pointer()) + } +} + +func (ptr *QTextDocument) AllFormats() []*QTextFormat { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QTextFormat { + out := make([]*QTextFormat, int(l.len)) + tmpList := NewQTextDocumentFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__allFormats_atList(i) + } + return out + }(C.QTextDocument_AllFormats(ptr.Pointer())) + } + return make([]*QTextFormat, 0) +} + +func (ptr *QTextDocument) AvailableRedoSteps() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextDocument_AvailableRedoSteps(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextDocument) AvailableUndoSteps() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextDocument_AvailableUndoSteps(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextDocument) BaseUrl() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QTextDocument_BaseUrl(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +//export callbackQTextDocument_BaseUrlChanged +func callbackQTextDocument_BaseUrlChanged(ptr unsafe.Pointer, url unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "baseUrlChanged"); signal != nil { + (*(*func(*core.QUrl))(signal))(core.NewQUrlFromPointer(url)) + } + +} + +func (ptr *QTextDocument) ConnectBaseUrlChanged(f func(url *core.QUrl)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "baseUrlChanged") { + C.QTextDocument_ConnectBaseUrlChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "baseUrlChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "baseUrlChanged"); signal != nil { + f := func(url *core.QUrl) { + (*(*func(*core.QUrl))(signal))(url) + f(url) + } + qt.ConnectSignal(ptr.Pointer(), "baseUrlChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "baseUrlChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectBaseUrlChanged() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectBaseUrlChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "baseUrlChanged") + } +} + +func (ptr *QTextDocument) BaseUrlChanged(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_BaseUrlChanged(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QTextDocument) Begin() *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextDocument_Begin(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) BlockCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextDocument_BlockCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQTextDocument_BlockCountChanged +func callbackQTextDocument_BlockCountChanged(ptr unsafe.Pointer, newBlockCount C.int) { + if signal := qt.GetSignal(ptr, "blockCountChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(newBlockCount))) + } + +} + +func (ptr *QTextDocument) ConnectBlockCountChanged(f func(newBlockCount int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "blockCountChanged") { + C.QTextDocument_ConnectBlockCountChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "blockCountChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "blockCountChanged"); signal != nil { + f := func(newBlockCount int) { + (*(*func(int))(signal))(newBlockCount) + f(newBlockCount) + } + qt.ConnectSignal(ptr.Pointer(), "blockCountChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "blockCountChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectBlockCountChanged() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectBlockCountChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "blockCountChanged") + } +} + +func (ptr *QTextDocument) BlockCountChanged(newBlockCount int) { + if ptr.Pointer() != nil { + C.QTextDocument_BlockCountChanged(ptr.Pointer(), C.int(int32(newBlockCount))) + } +} + +func (ptr *QTextDocument) CharacterAt(pos int) *core.QChar { + if ptr.Pointer() != nil { + tmpValue := core.NewQCharFromPointer(C.QTextDocument_CharacterAt(ptr.Pointer(), C.int(int32(pos)))) + runtime.SetFinalizer(tmpValue, (*core.QChar).DestroyQChar) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) CharacterCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextDocument_CharacterCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQTextDocument_Clear +func callbackQTextDocument_Clear(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "clear"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextDocumentFromPointer(ptr).ClearDefault() + } +} + +func (ptr *QTextDocument) ConnectClear(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "clear"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "clear", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "clear", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectClear() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "clear") + } +} + +func (ptr *QTextDocument) Clear() { + if ptr.Pointer() != nil { + C.QTextDocument_Clear(ptr.Pointer()) + } +} + +func (ptr *QTextDocument) ClearDefault() { + if ptr.Pointer() != nil { + C.QTextDocument_ClearDefault(ptr.Pointer()) + } +} + +func (ptr *QTextDocument) ClearUndoRedoStacks(stacksToClear QTextDocument__Stacks) { + if ptr.Pointer() != nil { + C.QTextDocument_ClearUndoRedoStacks(ptr.Pointer(), C.longlong(stacksToClear)) + } +} + +func (ptr *QTextDocument) Clone(parent core.QObject_ITF) *QTextDocument { + if ptr.Pointer() != nil { + tmpValue := NewQTextDocumentFromPointer(C.QTextDocument_Clone(ptr.Pointer(), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQTextDocument_ContentsChange +func callbackQTextDocument_ContentsChange(ptr unsafe.Pointer, position C.int, charsRemoved C.int, charsAdded C.int) { + if signal := qt.GetSignal(ptr, "contentsChange"); signal != nil { + (*(*func(int, int, int))(signal))(int(int32(position)), int(int32(charsRemoved)), int(int32(charsAdded))) + } + +} + +func (ptr *QTextDocument) ConnectContentsChange(f func(position int, charsRemoved int, charsAdded int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "contentsChange") { + C.QTextDocument_ConnectContentsChange(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "contentsChange"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "contentsChange"); signal != nil { + f := func(position int, charsRemoved int, charsAdded int) { + (*(*func(int, int, int))(signal))(position, charsRemoved, charsAdded) + f(position, charsRemoved, charsAdded) + } + qt.ConnectSignal(ptr.Pointer(), "contentsChange", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "contentsChange", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectContentsChange() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectContentsChange(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "contentsChange") + } +} + +func (ptr *QTextDocument) ContentsChange(position int, charsRemoved int, charsAdded int) { + if ptr.Pointer() != nil { + C.QTextDocument_ContentsChange(ptr.Pointer(), C.int(int32(position)), C.int(int32(charsRemoved)), C.int(int32(charsAdded))) + } +} + +//export callbackQTextDocument_ContentsChanged +func callbackQTextDocument_ContentsChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "contentsChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QTextDocument) ConnectContentsChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "contentsChanged") { + C.QTextDocument_ConnectContentsChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "contentsChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "contentsChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "contentsChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "contentsChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectContentsChanged() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectContentsChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "contentsChanged") + } +} + +func (ptr *QTextDocument) ContentsChanged() { + if ptr.Pointer() != nil { + C.QTextDocument_ContentsChanged(ptr.Pointer()) + } +} + +//export callbackQTextDocument_CreateObject +func callbackQTextDocument_CreateObject(ptr unsafe.Pointer, format unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "createObject"); signal != nil { + return PointerFromQTextObject((*(*func(*QTextFormat) *QTextObject)(signal))(NewQTextFormatFromPointer(format))) + } + + return PointerFromQTextObject(NewQTextDocumentFromPointer(ptr).CreateObjectDefault(NewQTextFormatFromPointer(format))) +} + +func (ptr *QTextDocument) ConnectCreateObject(f func(format *QTextFormat) *QTextObject) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "createObject"); signal != nil { + f := func(format *QTextFormat) *QTextObject { + (*(*func(*QTextFormat) *QTextObject)(signal))(format) + return f(format) + } + qt.ConnectSignal(ptr.Pointer(), "createObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "createObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectCreateObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "createObject") + } +} + +func (ptr *QTextDocument) CreateObject(format QTextFormat_ITF) *QTextObject { + if ptr.Pointer() != nil { + tmpValue := NewQTextObjectFromPointer(C.QTextDocument_CreateObject(ptr.Pointer(), PointerFromQTextFormat(format))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) CreateObjectDefault(format QTextFormat_ITF) *QTextObject { + if ptr.Pointer() != nil { + tmpValue := NewQTextObjectFromPointer(C.QTextDocument_CreateObjectDefault(ptr.Pointer(), PointerFromQTextFormat(format))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQTextDocument_CursorPositionChanged +func callbackQTextDocument_CursorPositionChanged(ptr unsafe.Pointer, cursor unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "cursorPositionChanged"); signal != nil { + (*(*func(*QTextCursor))(signal))(NewQTextCursorFromPointer(cursor)) + } + +} + +func (ptr *QTextDocument) ConnectCursorPositionChanged(f func(cursor *QTextCursor)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "cursorPositionChanged") { + C.QTextDocument_ConnectCursorPositionChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "cursorPositionChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "cursorPositionChanged"); signal != nil { + f := func(cursor *QTextCursor) { + (*(*func(*QTextCursor))(signal))(cursor) + f(cursor) + } + qt.ConnectSignal(ptr.Pointer(), "cursorPositionChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "cursorPositionChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectCursorPositionChanged() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectCursorPositionChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "cursorPositionChanged") + } +} + +func (ptr *QTextDocument) CursorPositionChanged(cursor QTextCursor_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_CursorPositionChanged(ptr.Pointer(), PointerFromQTextCursor(cursor)) + } +} + +func (ptr *QTextDocument) DefaultCursorMoveStyle() core.Qt__CursorMoveStyle { + if ptr.Pointer() != nil { + return core.Qt__CursorMoveStyle(C.QTextDocument_DefaultCursorMoveStyle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextDocument) DefaultFont() *QFont { + if ptr.Pointer() != nil { + tmpValue := NewQFontFromPointer(C.QTextDocument_DefaultFont(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) DefaultStyleSheet() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextDocument_DefaultStyleSheet(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextDocument) DefaultTextOption() *QTextOption { + if ptr.Pointer() != nil { + tmpValue := NewQTextOptionFromPointer(C.QTextDocument_DefaultTextOption(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextOption).DestroyQTextOption) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) DocumentLayout() *QAbstractTextDocumentLayout { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractTextDocumentLayoutFromPointer(C.QTextDocument_DocumentLayout(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQTextDocument_DocumentLayoutChanged +func callbackQTextDocument_DocumentLayoutChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "documentLayoutChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QTextDocument) ConnectDocumentLayoutChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "documentLayoutChanged") { + C.QTextDocument_ConnectDocumentLayoutChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "documentLayoutChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "documentLayoutChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "documentLayoutChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "documentLayoutChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectDocumentLayoutChanged() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectDocumentLayoutChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "documentLayoutChanged") + } +} + +func (ptr *QTextDocument) DocumentLayoutChanged() { + if ptr.Pointer() != nil { + C.QTextDocument_DocumentLayoutChanged(ptr.Pointer()) + } +} + +func (ptr *QTextDocument) DocumentMargin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextDocument_DocumentMargin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextDocument) DrawContents(p QPainter_ITF, rect core.QRectF_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_DrawContents(ptr.Pointer(), PointerFromQPainter(p), core.PointerFromQRectF(rect)) + } +} + +func (ptr *QTextDocument) End() *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextDocument_End(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) Find(subString string, cursor QTextCursor_ITF, options QTextDocument__FindFlag) *QTextCursor { + if ptr.Pointer() != nil { + var subStringC *C.char + if subString != "" { + subStringC = C.CString(subString) + defer C.free(unsafe.Pointer(subStringC)) + } + tmpValue := NewQTextCursorFromPointer(C.QTextDocument_Find(ptr.Pointer(), C.struct_QtGui_PackedString{data: subStringC, len: C.longlong(len(subString))}, PointerFromQTextCursor(cursor), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) Find2(subString string, position int, options QTextDocument__FindFlag) *QTextCursor { + if ptr.Pointer() != nil { + var subStringC *C.char + if subString != "" { + subStringC = C.CString(subString) + defer C.free(unsafe.Pointer(subStringC)) + } + tmpValue := NewQTextCursorFromPointer(C.QTextDocument_Find2(ptr.Pointer(), C.struct_QtGui_PackedString{data: subStringC, len: C.longlong(len(subString))}, C.int(int32(position)), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) Find3(expr core.QRegExp_ITF, from int, options QTextDocument__FindFlag) *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextDocument_Find3(ptr.Pointer(), core.PointerFromQRegExp(expr), C.int(int32(from)), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) Find4(expr core.QRegExp_ITF, cursor QTextCursor_ITF, options QTextDocument__FindFlag) *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextDocument_Find4(ptr.Pointer(), core.PointerFromQRegExp(expr), PointerFromQTextCursor(cursor), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) Find5(expr core.QRegularExpression_ITF, from int, options QTextDocument__FindFlag) *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextDocument_Find5(ptr.Pointer(), core.PointerFromQRegularExpression(expr), C.int(int32(from)), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) Find6(expr core.QRegularExpression_ITF, cursor QTextCursor_ITF, options QTextDocument__FindFlag) *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextDocument_Find6(ptr.Pointer(), core.PointerFromQRegularExpression(expr), PointerFromQTextCursor(cursor), C.longlong(options))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) FindBlock(pos int) *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextDocument_FindBlock(ptr.Pointer(), C.int(int32(pos)))) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) FindBlockByLineNumber(lineNumber int) *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextDocument_FindBlockByLineNumber(ptr.Pointer(), C.int(int32(lineNumber)))) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) FindBlockByNumber(blockNumber int) *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextDocument_FindBlockByNumber(ptr.Pointer(), C.int(int32(blockNumber)))) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) FirstBlock() *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextDocument_FirstBlock(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) IdealWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextDocument_IdealWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextDocument) IndentWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextDocument_IndentWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextDocument) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocument_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextDocument) IsModified() bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocument_IsModified(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextDocument) IsRedoAvailable() bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocument_IsRedoAvailable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextDocument) IsUndoAvailable() bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocument_IsUndoAvailable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextDocument) IsUndoRedoEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocument_IsUndoRedoEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextDocument) LastBlock() *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextDocument_LastBlock(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) LineCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextDocument_LineCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQTextDocument_LoadResource +func callbackQTextDocument_LoadResource(ptr unsafe.Pointer, ty C.int, name unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "loadResource"); signal != nil { + return core.PointerFromQVariant((*(*func(int, *core.QUrl) *core.QVariant)(signal))(int(int32(ty)), core.NewQUrlFromPointer(name))) + } + + return core.PointerFromQVariant(NewQTextDocumentFromPointer(ptr).LoadResourceDefault(int(int32(ty)), core.NewQUrlFromPointer(name))) +} + +func (ptr *QTextDocument) ConnectLoadResource(f func(ty int, name *core.QUrl) *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "loadResource"); signal != nil { + f := func(ty int, name *core.QUrl) *core.QVariant { + (*(*func(int, *core.QUrl) *core.QVariant)(signal))(ty, name) + return f(ty, name) + } + qt.ConnectSignal(ptr.Pointer(), "loadResource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "loadResource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectLoadResource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "loadResource") + } +} + +func (ptr *QTextDocument) LoadResource(ty int, name core.QUrl_ITF) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QTextDocument_LoadResource(ptr.Pointer(), C.int(int32(ty)), core.PointerFromQUrl(name))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) LoadResourceDefault(ty int, name core.QUrl_ITF) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QTextDocument_LoadResourceDefault(ptr.Pointer(), C.int(int32(ty)), core.PointerFromQUrl(name))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) MarkContentsDirty(position int, length int) { + if ptr.Pointer() != nil { + C.QTextDocument_MarkContentsDirty(ptr.Pointer(), C.int(int32(position)), C.int(int32(length))) + } +} + +func (ptr *QTextDocument) MaximumBlockCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextDocument_MaximumBlockCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextDocument) MetaInformation(info QTextDocument__MetaInformation) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextDocument_MetaInformation(ptr.Pointer(), C.longlong(info))) + } + return "" +} + +//export callbackQTextDocument_ModificationChanged +func callbackQTextDocument_ModificationChanged(ptr unsafe.Pointer, changed C.char) { + if signal := qt.GetSignal(ptr, "modificationChanged"); signal != nil { + (*(*func(bool))(signal))(int8(changed) != 0) + } + +} + +func (ptr *QTextDocument) ConnectModificationChanged(f func(changed bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "modificationChanged") { + C.QTextDocument_ConnectModificationChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "modificationChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "modificationChanged"); signal != nil { + f := func(changed bool) { + (*(*func(bool))(signal))(changed) + f(changed) + } + qt.ConnectSignal(ptr.Pointer(), "modificationChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "modificationChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectModificationChanged() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectModificationChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "modificationChanged") + } +} + +func (ptr *QTextDocument) ModificationChanged(changed bool) { + if ptr.Pointer() != nil { + C.QTextDocument_ModificationChanged(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(changed)))) + } +} + +func (ptr *QTextDocument) Object(objectIndex int) *QTextObject { + if ptr.Pointer() != nil { + tmpValue := NewQTextObjectFromPointer(C.QTextDocument_Object(ptr.Pointer(), C.int(int32(objectIndex)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) ObjectForFormat(ff QTextFormat_ITF) *QTextObject { + if ptr.Pointer() != nil { + tmpValue := NewQTextObjectFromPointer(C.QTextDocument_ObjectForFormat(ptr.Pointer(), PointerFromQTextFormat(ff))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) PageCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextDocument_PageCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextDocument) PageSize() *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QTextDocument_PageSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) Print(printer QPagedPaintDevice_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_Print(ptr.Pointer(), PointerFromQPagedPaintDevice(printer)) + } +} + +func (ptr *QTextDocument) Redo(cursor QTextCursor_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_Redo(ptr.Pointer(), PointerFromQTextCursor(cursor)) + } +} + +//export callbackQTextDocument_Redo2 +func callbackQTextDocument_Redo2(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "redo2"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextDocumentFromPointer(ptr).Redo2Default() + } +} + +func (ptr *QTextDocument) ConnectRedo2(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "redo2"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "redo2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "redo2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectRedo2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "redo2") + } +} + +func (ptr *QTextDocument) Redo2() { + if ptr.Pointer() != nil { + C.QTextDocument_Redo2(ptr.Pointer()) + } +} + +func (ptr *QTextDocument) Redo2Default() { + if ptr.Pointer() != nil { + C.QTextDocument_Redo2Default(ptr.Pointer()) + } +} + +//export callbackQTextDocument_RedoAvailable +func callbackQTextDocument_RedoAvailable(ptr unsafe.Pointer, available C.char) { + if signal := qt.GetSignal(ptr, "redoAvailable"); signal != nil { + (*(*func(bool))(signal))(int8(available) != 0) + } + +} + +func (ptr *QTextDocument) ConnectRedoAvailable(f func(available bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "redoAvailable") { + C.QTextDocument_ConnectRedoAvailable(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "redoAvailable"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "redoAvailable"); signal != nil { + f := func(available bool) { + (*(*func(bool))(signal))(available) + f(available) + } + qt.ConnectSignal(ptr.Pointer(), "redoAvailable", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "redoAvailable", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectRedoAvailable() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectRedoAvailable(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "redoAvailable") + } +} + +func (ptr *QTextDocument) RedoAvailable(available bool) { + if ptr.Pointer() != nil { + C.QTextDocument_RedoAvailable(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(available)))) + } +} + +func (ptr *QTextDocument) Resource(ty int, name core.QUrl_ITF) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QTextDocument_Resource(ptr.Pointer(), C.int(int32(ty)), core.PointerFromQUrl(name))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) Revision() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextDocument_Revision(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextDocument) RootFrame() *QTextFrame { + if ptr.Pointer() != nil { + tmpValue := NewQTextFrameFromPointer(C.QTextDocument_RootFrame(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) SetBaseUrl(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_SetBaseUrl(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QTextDocument) SetDefaultCursorMoveStyle(style core.Qt__CursorMoveStyle) { + if ptr.Pointer() != nil { + C.QTextDocument_SetDefaultCursorMoveStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QTextDocument) SetDefaultFont(font QFont_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_SetDefaultFont(ptr.Pointer(), PointerFromQFont(font)) + } +} + +func (ptr *QTextDocument) SetDefaultStyleSheet(sheet string) { + if ptr.Pointer() != nil { + var sheetC *C.char + if sheet != "" { + sheetC = C.CString(sheet) + defer C.free(unsafe.Pointer(sheetC)) + } + C.QTextDocument_SetDefaultStyleSheet(ptr.Pointer(), C.struct_QtGui_PackedString{data: sheetC, len: C.longlong(len(sheet))}) + } +} + +func (ptr *QTextDocument) SetDefaultTextOption(option QTextOption_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_SetDefaultTextOption(ptr.Pointer(), PointerFromQTextOption(option)) + } +} + +func (ptr *QTextDocument) SetDocumentLayout(layout QAbstractTextDocumentLayout_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_SetDocumentLayout(ptr.Pointer(), PointerFromQAbstractTextDocumentLayout(layout)) + } +} + +func (ptr *QTextDocument) SetDocumentMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextDocument_SetDocumentMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextDocument) SetHtml(html string) { + if ptr.Pointer() != nil { + var htmlC *C.char + if html != "" { + htmlC = C.CString(html) + defer C.free(unsafe.Pointer(htmlC)) + } + C.QTextDocument_SetHtml(ptr.Pointer(), C.struct_QtGui_PackedString{data: htmlC, len: C.longlong(len(html))}) + } +} + +func (ptr *QTextDocument) SetIndentWidth(width float64) { + if ptr.Pointer() != nil { + C.QTextDocument_SetIndentWidth(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QTextDocument) SetMaximumBlockCount(maximum int) { + if ptr.Pointer() != nil { + C.QTextDocument_SetMaximumBlockCount(ptr.Pointer(), C.int(int32(maximum))) + } +} + +func (ptr *QTextDocument) SetMetaInformation(info QTextDocument__MetaInformation, stri string) { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + C.QTextDocument_SetMetaInformation(ptr.Pointer(), C.longlong(info), C.struct_QtGui_PackedString{data: striC, len: C.longlong(len(stri))}) + } +} + +//export callbackQTextDocument_SetModified +func callbackQTextDocument_SetModified(ptr unsafe.Pointer, m C.char) { + if signal := qt.GetSignal(ptr, "setModified"); signal != nil { + (*(*func(bool))(signal))(int8(m) != 0) + } else { + NewQTextDocumentFromPointer(ptr).SetModifiedDefault(int8(m) != 0) + } +} + +func (ptr *QTextDocument) ConnectSetModified(f func(m bool)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setModified"); signal != nil { + f := func(m bool) { + (*(*func(bool))(signal))(m) + f(m) + } + qt.ConnectSignal(ptr.Pointer(), "setModified", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setModified", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectSetModified() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setModified") + } +} + +func (ptr *QTextDocument) SetModified(m bool) { + if ptr.Pointer() != nil { + C.QTextDocument_SetModified(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(m)))) + } +} + +func (ptr *QTextDocument) SetModifiedDefault(m bool) { + if ptr.Pointer() != nil { + C.QTextDocument_SetModifiedDefault(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(m)))) + } +} + +func (ptr *QTextDocument) SetPageSize(size core.QSizeF_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_SetPageSize(ptr.Pointer(), core.PointerFromQSizeF(size)) + } +} + +func (ptr *QTextDocument) SetPlainText(text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QTextDocument_SetPlainText(ptr.Pointer(), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QTextDocument) SetTextWidth(width float64) { + if ptr.Pointer() != nil { + C.QTextDocument_SetTextWidth(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QTextDocument) SetUndoRedoEnabled(enable bool) { + if ptr.Pointer() != nil { + C.QTextDocument_SetUndoRedoEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QTextDocument) SetUseDesignMetrics(b bool) { + if ptr.Pointer() != nil { + C.QTextDocument_SetUseDesignMetrics(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(b)))) + } +} + +func (ptr *QTextDocument) Size() *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QTextDocument_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) TextWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextDocument_TextWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextDocument) ToHtml(encoding core.QByteArray_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextDocument_ToHtml(ptr.Pointer(), core.PointerFromQByteArray(encoding))) + } + return "" +} + +func (ptr *QTextDocument) ToPlainText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextDocument_ToPlainText(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextDocument) ToRawText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextDocument_ToRawText(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextDocument) Undo(cursor QTextCursor_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_Undo(ptr.Pointer(), PointerFromQTextCursor(cursor)) + } +} + +//export callbackQTextDocument_Undo2 +func callbackQTextDocument_Undo2(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "undo2"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextDocumentFromPointer(ptr).Undo2Default() + } +} + +func (ptr *QTextDocument) ConnectUndo2(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "undo2"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "undo2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "undo2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectUndo2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "undo2") + } +} + +func (ptr *QTextDocument) Undo2() { + if ptr.Pointer() != nil { + C.QTextDocument_Undo2(ptr.Pointer()) + } +} + +func (ptr *QTextDocument) Undo2Default() { + if ptr.Pointer() != nil { + C.QTextDocument_Undo2Default(ptr.Pointer()) + } +} + +//export callbackQTextDocument_UndoAvailable +func callbackQTextDocument_UndoAvailable(ptr unsafe.Pointer, available C.char) { + if signal := qt.GetSignal(ptr, "undoAvailable"); signal != nil { + (*(*func(bool))(signal))(int8(available) != 0) + } + +} + +func (ptr *QTextDocument) ConnectUndoAvailable(f func(available bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "undoAvailable") { + C.QTextDocument_ConnectUndoAvailable(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "undoAvailable"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "undoAvailable"); signal != nil { + f := func(available bool) { + (*(*func(bool))(signal))(available) + f(available) + } + qt.ConnectSignal(ptr.Pointer(), "undoAvailable", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "undoAvailable", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectUndoAvailable() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectUndoAvailable(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "undoAvailable") + } +} + +func (ptr *QTextDocument) UndoAvailable(available bool) { + if ptr.Pointer() != nil { + C.QTextDocument_UndoAvailable(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(available)))) + } +} + +//export callbackQTextDocument_UndoCommandAdded +func callbackQTextDocument_UndoCommandAdded(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "undoCommandAdded"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QTextDocument) ConnectUndoCommandAdded(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "undoCommandAdded") { + C.QTextDocument_ConnectUndoCommandAdded(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "undoCommandAdded"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "undoCommandAdded"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "undoCommandAdded", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "undoCommandAdded", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectUndoCommandAdded() { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectUndoCommandAdded(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "undoCommandAdded") + } +} + +func (ptr *QTextDocument) UndoCommandAdded() { + if ptr.Pointer() != nil { + C.QTextDocument_UndoCommandAdded(ptr.Pointer()) + } +} + +func (ptr *QTextDocument) UseDesignMetrics() bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocument_UseDesignMetrics(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQTextDocument_DestroyQTextDocument +func callbackQTextDocument_DestroyQTextDocument(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTextDocument"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextDocumentFromPointer(ptr).DestroyQTextDocumentDefault() + } +} + +func (ptr *QTextDocument) ConnectDestroyQTextDocument(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTextDocument"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTextDocument", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTextDocument", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextDocument) DisconnectDestroyQTextDocument() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTextDocument") + } +} + +func (ptr *QTextDocument) DestroyQTextDocument() { + if ptr.Pointer() != nil { + C.QTextDocument_DestroyQTextDocument(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextDocument) DestroyQTextDocumentDefault() { + if ptr.Pointer() != nil { + C.QTextDocument_DestroyQTextDocumentDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextDocument) __allFormats_atList(i int) *QTextFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextFormatFromPointer(C.QTextDocument___allFormats_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QTextFormat).DestroyQTextFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) __allFormats_setList(i QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument___allFormats_setList(ptr.Pointer(), PointerFromQTextFormat(i)) + } +} + +func (ptr *QTextDocument) __allFormats_newList() unsafe.Pointer { + return C.QTextDocument___allFormats_newList(ptr.Pointer()) +} + +func (ptr *QTextDocument) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTextDocument___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTextDocument) __children_newList() unsafe.Pointer { + return C.QTextDocument___children_newList(ptr.Pointer()) +} + +func (ptr *QTextDocument) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QTextDocument___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QTextDocument) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QTextDocument___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QTextDocument) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTextDocument___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTextDocument) __findChildren_newList() unsafe.Pointer { + return C.QTextDocument___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QTextDocument) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTextDocument___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTextDocument) __findChildren_newList3() unsafe.Pointer { + return C.QTextDocument___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QTextDocument) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTextDocument___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextDocument) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTextDocument) __qFindChildren_newList2() unsafe.Pointer { + return C.QTextDocument___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQTextDocument_ChildEvent +func callbackQTextDocument_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQTextDocumentFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QTextDocument) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQTextDocument_ConnectNotify +func callbackQTextDocument_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQTextDocumentFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QTextDocument) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQTextDocument_CustomEvent +func callbackQTextDocument_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQTextDocumentFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QTextDocument) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQTextDocument_DeleteLater +func callbackQTextDocument_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextDocumentFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QTextDocument) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QTextDocument_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQTextDocument_Destroyed +func callbackQTextDocument_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQTextDocument_DisconnectNotify +func callbackQTextDocument_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQTextDocumentFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QTextDocument) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQTextDocument_Event +func callbackQTextDocument_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQTextDocumentFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QTextDocument) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocument_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQTextDocument_EventFilter +func callbackQTextDocument_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQTextDocumentFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QTextDocument) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocument_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQTextDocument_MetaObject +func callbackQTextDocument_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQTextDocumentFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QTextDocument) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QTextDocument_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQTextDocument_ObjectNameChanged +func callbackQTextDocument_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQTextDocument_TimerEvent +func callbackQTextDocument_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQTextDocumentFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QTextDocument) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QTextDocument_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QTextDocumentFragment struct { + ptr unsafe.Pointer +} + +type QTextDocumentFragment_ITF interface { + QTextDocumentFragment_PTR() *QTextDocumentFragment +} + +func (ptr *QTextDocumentFragment) QTextDocumentFragment_PTR() *QTextDocumentFragment { + return ptr +} + +func (ptr *QTextDocumentFragment) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextDocumentFragment) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextDocumentFragment(ptr QTextDocumentFragment_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextDocumentFragment_PTR().Pointer() + } + return nil +} + +func NewQTextDocumentFragmentFromPointer(ptr unsafe.Pointer) (n *QTextDocumentFragment) { + n = new(QTextDocumentFragment) + n.SetPointer(ptr) + return +} +func NewQTextDocumentFragment() *QTextDocumentFragment { + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_NewQTextDocumentFragment()) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func NewQTextDocumentFragment2(document QTextDocument_ITF) *QTextDocumentFragment { + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_NewQTextDocumentFragment2(PointerFromQTextDocument(document))) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func NewQTextDocumentFragment3(cursor QTextCursor_ITF) *QTextDocumentFragment { + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_NewQTextDocumentFragment3(PointerFromQTextCursor(cursor))) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func NewQTextDocumentFragment4(other QTextDocumentFragment_ITF) *QTextDocumentFragment { + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_NewQTextDocumentFragment4(PointerFromQTextDocumentFragment(other))) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func QTextDocumentFragment_FromHtml(text string) *QTextDocumentFragment { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_QTextDocumentFragment_FromHtml(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func (ptr *QTextDocumentFragment) FromHtml(text string) *QTextDocumentFragment { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_QTextDocumentFragment_FromHtml(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func QTextDocumentFragment_FromHtml2(text string, resourceProvider QTextDocument_ITF) *QTextDocumentFragment { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_QTextDocumentFragment_FromHtml2(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, PointerFromQTextDocument(resourceProvider))) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func (ptr *QTextDocumentFragment) FromHtml2(text string, resourceProvider QTextDocument_ITF) *QTextDocumentFragment { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_QTextDocumentFragment_FromHtml2(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, PointerFromQTextDocument(resourceProvider))) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func QTextDocumentFragment_FromPlainText(plainText string) *QTextDocumentFragment { + var plainTextC *C.char + if plainText != "" { + plainTextC = C.CString(plainText) + defer C.free(unsafe.Pointer(plainTextC)) + } + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_QTextDocumentFragment_FromPlainText(C.struct_QtGui_PackedString{data: plainTextC, len: C.longlong(len(plainText))})) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func (ptr *QTextDocumentFragment) FromPlainText(plainText string) *QTextDocumentFragment { + var plainTextC *C.char + if plainText != "" { + plainTextC = C.CString(plainText) + defer C.free(unsafe.Pointer(plainTextC)) + } + tmpValue := NewQTextDocumentFragmentFromPointer(C.QTextDocumentFragment_QTextDocumentFragment_FromPlainText(C.struct_QtGui_PackedString{data: plainTextC, len: C.longlong(len(plainText))})) + runtime.SetFinalizer(tmpValue, (*QTextDocumentFragment).DestroyQTextDocumentFragment) + return tmpValue +} + +func (ptr *QTextDocumentFragment) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocumentFragment_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextDocumentFragment) ToHtml(encoding core.QByteArray_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextDocumentFragment_ToHtml(ptr.Pointer(), core.PointerFromQByteArray(encoding))) + } + return "" +} + +func (ptr *QTextDocumentFragment) ToPlainText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextDocumentFragment_ToPlainText(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextDocumentFragment) DestroyQTextDocumentFragment() { + if ptr.Pointer() != nil { + C.QTextDocumentFragment_DestroyQTextDocumentFragment(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextDocumentWriter struct { + ptr unsafe.Pointer +} + +type QTextDocumentWriter_ITF interface { + QTextDocumentWriter_PTR() *QTextDocumentWriter +} + +func (ptr *QTextDocumentWriter) QTextDocumentWriter_PTR() *QTextDocumentWriter { + return ptr +} + +func (ptr *QTextDocumentWriter) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextDocumentWriter) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextDocumentWriter(ptr QTextDocumentWriter_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextDocumentWriter_PTR().Pointer() + } + return nil +} + +func NewQTextDocumentWriterFromPointer(ptr unsafe.Pointer) (n *QTextDocumentWriter) { + n = new(QTextDocumentWriter) + n.SetPointer(ptr) + return +} +func NewQTextDocumentWriter() *QTextDocumentWriter { + tmpValue := NewQTextDocumentWriterFromPointer(C.QTextDocumentWriter_NewQTextDocumentWriter()) + runtime.SetFinalizer(tmpValue, (*QTextDocumentWriter).DestroyQTextDocumentWriter) + return tmpValue +} + +func NewQTextDocumentWriter2(device core.QIODevice_ITF, format core.QByteArray_ITF) *QTextDocumentWriter { + tmpValue := NewQTextDocumentWriterFromPointer(C.QTextDocumentWriter_NewQTextDocumentWriter2(core.PointerFromQIODevice(device), core.PointerFromQByteArray(format))) + runtime.SetFinalizer(tmpValue, (*QTextDocumentWriter).DestroyQTextDocumentWriter) + return tmpValue +} + +func NewQTextDocumentWriter3(fileName string, format core.QByteArray_ITF) *QTextDocumentWriter { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQTextDocumentWriterFromPointer(C.QTextDocumentWriter_NewQTextDocumentWriter3(C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, core.PointerFromQByteArray(format))) + runtime.SetFinalizer(tmpValue, (*QTextDocumentWriter).DestroyQTextDocumentWriter) + return tmpValue +} + +func (ptr *QTextDocumentWriter) Codec() *core.QTextCodec { + if ptr.Pointer() != nil { + return core.NewQTextCodecFromPointer(C.QTextDocumentWriter_Codec(ptr.Pointer())) + } + return nil +} + +func (ptr *QTextDocumentWriter) Device() *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QTextDocumentWriter_Device(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextDocumentWriter) FileName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextDocumentWriter_FileName(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextDocumentWriter) Format() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QTextDocumentWriter_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextDocumentWriter) SetCodec(codec core.QTextCodec_ITF) { + if ptr.Pointer() != nil { + C.QTextDocumentWriter_SetCodec(ptr.Pointer(), core.PointerFromQTextCodec(codec)) + } +} + +func (ptr *QTextDocumentWriter) SetDevice(device core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QTextDocumentWriter_SetDevice(ptr.Pointer(), core.PointerFromQIODevice(device)) + } +} + +func (ptr *QTextDocumentWriter) SetFileName(fileName string) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QTextDocumentWriter_SetFileName(ptr.Pointer(), C.struct_QtGui_PackedString{data: fileNameC, len: C.longlong(len(fileName))}) + } +} + +func (ptr *QTextDocumentWriter) SetFormat(format core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTextDocumentWriter_SetFormat(ptr.Pointer(), core.PointerFromQByteArray(format)) + } +} + +func QTextDocumentWriter_SupportedDocumentFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQTextDocumentWriterFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedDocumentFormats_atList(i) + } + return out + }(C.QTextDocumentWriter_QTextDocumentWriter_SupportedDocumentFormats()) +} + +func (ptr *QTextDocumentWriter) SupportedDocumentFormats() []*core.QByteArray { + return func(l C.struct_QtGui_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQTextDocumentWriterFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedDocumentFormats_atList(i) + } + return out + }(C.QTextDocumentWriter_QTextDocumentWriter_SupportedDocumentFormats()) +} + +func (ptr *QTextDocumentWriter) Write(document QTextDocument_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocumentWriter_Write(ptr.Pointer(), PointerFromQTextDocument(document))) != 0 + } + return false +} + +func (ptr *QTextDocumentWriter) Write2(fragment QTextDocumentFragment_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTextDocumentWriter_Write2(ptr.Pointer(), PointerFromQTextDocumentFragment(fragment))) != 0 + } + return false +} + +func (ptr *QTextDocumentWriter) DestroyQTextDocumentWriter() { + if ptr.Pointer() != nil { + C.QTextDocumentWriter_DestroyQTextDocumentWriter(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextDocumentWriter) __supportedDocumentFormats_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QTextDocumentWriter___supportedDocumentFormats_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextDocumentWriter) __supportedDocumentFormats_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTextDocumentWriter___supportedDocumentFormats_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QTextDocumentWriter) __supportedDocumentFormats_newList() unsafe.Pointer { + return C.QTextDocumentWriter___supportedDocumentFormats_newList(ptr.Pointer()) +} + +type QTextFormat struct { + ptr unsafe.Pointer +} + +type QTextFormat_ITF interface { + QTextFormat_PTR() *QTextFormat +} + +func (ptr *QTextFormat) QTextFormat_PTR() *QTextFormat { + return ptr +} + +func (ptr *QTextFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextFormat(ptr QTextFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextFormat_PTR().Pointer() + } + return nil +} + +func NewQTextFormatFromPointer(ptr unsafe.Pointer) (n *QTextFormat) { + n = new(QTextFormat) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTextFormat__FormatType +//QTextFormat::FormatType +type QTextFormat__FormatType int64 + +const ( + QTextFormat__InvalidFormat QTextFormat__FormatType = QTextFormat__FormatType(-1) + QTextFormat__BlockFormat QTextFormat__FormatType = QTextFormat__FormatType(1) + QTextFormat__CharFormat QTextFormat__FormatType = QTextFormat__FormatType(2) + QTextFormat__ListFormat QTextFormat__FormatType = QTextFormat__FormatType(3) + QTextFormat__TableFormat QTextFormat__FormatType = QTextFormat__FormatType(4) + QTextFormat__FrameFormat QTextFormat__FormatType = QTextFormat__FormatType(5) + QTextFormat__UserFormat QTextFormat__FormatType = QTextFormat__FormatType(100) +) + +//go:generate stringer -type=QTextFormat__Property +//QTextFormat::Property +type QTextFormat__Property int64 + +const ( + QTextFormat__ObjectIndex QTextFormat__Property = QTextFormat__Property(0x0) + QTextFormat__CssFloat QTextFormat__Property = QTextFormat__Property(0x0800) + QTextFormat__LayoutDirection QTextFormat__Property = QTextFormat__Property(0x0801) + QTextFormat__OutlinePen QTextFormat__Property = QTextFormat__Property(0x810) + QTextFormat__BackgroundBrush QTextFormat__Property = QTextFormat__Property(0x820) + QTextFormat__ForegroundBrush QTextFormat__Property = QTextFormat__Property(0x821) + QTextFormat__BackgroundImageUrl QTextFormat__Property = QTextFormat__Property(0x823) + QTextFormat__BlockAlignment QTextFormat__Property = QTextFormat__Property(0x1010) + QTextFormat__BlockTopMargin QTextFormat__Property = QTextFormat__Property(0x1030) + QTextFormat__BlockBottomMargin QTextFormat__Property = QTextFormat__Property(0x1031) + QTextFormat__BlockLeftMargin QTextFormat__Property = QTextFormat__Property(0x1032) + QTextFormat__BlockRightMargin QTextFormat__Property = QTextFormat__Property(0x1033) + QTextFormat__TextIndent QTextFormat__Property = QTextFormat__Property(0x1034) + QTextFormat__TabPositions QTextFormat__Property = QTextFormat__Property(0x1035) + QTextFormat__BlockIndent QTextFormat__Property = QTextFormat__Property(0x1040) + QTextFormat__LineHeight QTextFormat__Property = QTextFormat__Property(0x1048) + QTextFormat__LineHeightType QTextFormat__Property = QTextFormat__Property(0x1049) + QTextFormat__BlockNonBreakableLines QTextFormat__Property = QTextFormat__Property(0x1050) + QTextFormat__BlockTrailingHorizontalRulerWidth QTextFormat__Property = QTextFormat__Property(0x1060) + QTextFormat__HeadingLevel QTextFormat__Property = QTextFormat__Property(0x1070) + QTextFormat__FirstFontProperty QTextFormat__Property = QTextFormat__Property(0x1FE0) + QTextFormat__FontCapitalization QTextFormat__Property = QTextFormat__Property(QTextFormat__FirstFontProperty) + QTextFormat__FontLetterSpacingType QTextFormat__Property = QTextFormat__Property(0x2033) + QTextFormat__FontLetterSpacing QTextFormat__Property = QTextFormat__Property(0x1FE1) + QTextFormat__FontWordSpacing QTextFormat__Property = QTextFormat__Property(0x1FE2) + QTextFormat__FontStretch QTextFormat__Property = QTextFormat__Property(0x2034) + QTextFormat__FontStyleHint QTextFormat__Property = QTextFormat__Property(0x1FE3) + QTextFormat__FontStyleStrategy QTextFormat__Property = QTextFormat__Property(0x1FE4) + QTextFormat__FontKerning QTextFormat__Property = QTextFormat__Property(0x1FE5) + QTextFormat__FontHintingPreference QTextFormat__Property = QTextFormat__Property(0x1FE6) + QTextFormat__FontFamilies QTextFormat__Property = QTextFormat__Property(0x1FE7) + QTextFormat__FontStyleName QTextFormat__Property = QTextFormat__Property(0x1FE8) + QTextFormat__FontFamily QTextFormat__Property = QTextFormat__Property(0x2000) + QTextFormat__FontPointSize QTextFormat__Property = QTextFormat__Property(0x2001) + QTextFormat__FontSizeAdjustment QTextFormat__Property = QTextFormat__Property(0x2002) + QTextFormat__FontSizeIncrement QTextFormat__Property = QTextFormat__Property(QTextFormat__FontSizeAdjustment) + QTextFormat__FontWeight QTextFormat__Property = QTextFormat__Property(0x2003) + QTextFormat__FontItalic QTextFormat__Property = QTextFormat__Property(0x2004) + QTextFormat__FontUnderline QTextFormat__Property = QTextFormat__Property(0x2005) + QTextFormat__FontOverline QTextFormat__Property = QTextFormat__Property(0x2006) + QTextFormat__FontStrikeOut QTextFormat__Property = QTextFormat__Property(0x2007) + QTextFormat__FontFixedPitch QTextFormat__Property = QTextFormat__Property(0x2008) + QTextFormat__FontPixelSize QTextFormat__Property = QTextFormat__Property(0x2009) + QTextFormat__LastFontProperty QTextFormat__Property = QTextFormat__Property(QTextFormat__FontPixelSize) + QTextFormat__TextUnderlineColor QTextFormat__Property = QTextFormat__Property(0x2010) + QTextFormat__TextVerticalAlignment QTextFormat__Property = QTextFormat__Property(0x2021) + QTextFormat__TextOutline QTextFormat__Property = QTextFormat__Property(0x2022) + QTextFormat__TextUnderlineStyle QTextFormat__Property = QTextFormat__Property(0x2023) + QTextFormat__TextToolTip QTextFormat__Property = QTextFormat__Property(0x2024) + QTextFormat__IsAnchor QTextFormat__Property = QTextFormat__Property(0x2030) + QTextFormat__AnchorHref QTextFormat__Property = QTextFormat__Property(0x2031) + QTextFormat__AnchorName QTextFormat__Property = QTextFormat__Property(0x2032) + QTextFormat__ObjectType QTextFormat__Property = QTextFormat__Property(0x2f00) + QTextFormat__ListStyle QTextFormat__Property = QTextFormat__Property(0x3000) + QTextFormat__ListIndent QTextFormat__Property = QTextFormat__Property(0x3001) + QTextFormat__ListNumberPrefix QTextFormat__Property = QTextFormat__Property(0x3002) + QTextFormat__ListNumberSuffix QTextFormat__Property = QTextFormat__Property(0x3003) + QTextFormat__FrameBorder QTextFormat__Property = QTextFormat__Property(0x4000) + QTextFormat__FrameMargin QTextFormat__Property = QTextFormat__Property(0x4001) + QTextFormat__FramePadding QTextFormat__Property = QTextFormat__Property(0x4002) + QTextFormat__FrameWidth QTextFormat__Property = QTextFormat__Property(0x4003) + QTextFormat__FrameHeight QTextFormat__Property = QTextFormat__Property(0x4004) + QTextFormat__FrameTopMargin QTextFormat__Property = QTextFormat__Property(0x4005) + QTextFormat__FrameBottomMargin QTextFormat__Property = QTextFormat__Property(0x4006) + QTextFormat__FrameLeftMargin QTextFormat__Property = QTextFormat__Property(0x4007) + QTextFormat__FrameRightMargin QTextFormat__Property = QTextFormat__Property(0x4008) + QTextFormat__FrameBorderBrush QTextFormat__Property = QTextFormat__Property(0x4009) + QTextFormat__FrameBorderStyle QTextFormat__Property = QTextFormat__Property(0x4010) + QTextFormat__TableColumns QTextFormat__Property = QTextFormat__Property(0x4100) + QTextFormat__TableColumnWidthConstraints QTextFormat__Property = QTextFormat__Property(0x4101) + QTextFormat__TableCellSpacing QTextFormat__Property = QTextFormat__Property(0x4102) + QTextFormat__TableCellPadding QTextFormat__Property = QTextFormat__Property(0x4103) + QTextFormat__TableHeaderRowCount QTextFormat__Property = QTextFormat__Property(0x4104) + QTextFormat__TableCellRowSpan QTextFormat__Property = QTextFormat__Property(0x4810) + QTextFormat__TableCellColumnSpan QTextFormat__Property = QTextFormat__Property(0x4811) + QTextFormat__TableCellTopPadding QTextFormat__Property = QTextFormat__Property(0x4812) + QTextFormat__TableCellBottomPadding QTextFormat__Property = QTextFormat__Property(0x4813) + QTextFormat__TableCellLeftPadding QTextFormat__Property = QTextFormat__Property(0x4814) + QTextFormat__TableCellRightPadding QTextFormat__Property = QTextFormat__Property(0x4815) + QTextFormat__ImageName QTextFormat__Property = QTextFormat__Property(0x5000) + QTextFormat__ImageWidth QTextFormat__Property = QTextFormat__Property(0x5010) + QTextFormat__ImageHeight QTextFormat__Property = QTextFormat__Property(0x5011) + QTextFormat__ImageQuality QTextFormat__Property = QTextFormat__Property(0x5014) + QTextFormat__FullWidthSelection QTextFormat__Property = QTextFormat__Property(0x06000) + QTextFormat__PageBreakPolicy QTextFormat__Property = QTextFormat__Property(0x7000) + QTextFormat__UserProperty QTextFormat__Property = QTextFormat__Property(0x100000) +) + +//go:generate stringer -type=QTextFormat__ObjectTypes +//QTextFormat::ObjectTypes +type QTextFormat__ObjectTypes int64 + +const ( + QTextFormat__NoObject QTextFormat__ObjectTypes = QTextFormat__ObjectTypes(0) + QTextFormat__ImageObject QTextFormat__ObjectTypes = QTextFormat__ObjectTypes(1) + QTextFormat__TableObject QTextFormat__ObjectTypes = QTextFormat__ObjectTypes(2) + QTextFormat__TableCellObject QTextFormat__ObjectTypes = QTextFormat__ObjectTypes(3) + QTextFormat__UserObject QTextFormat__ObjectTypes = QTextFormat__ObjectTypes(0x1000) +) + +//go:generate stringer -type=QTextFormat__PageBreakFlag +//QTextFormat::PageBreakFlag +type QTextFormat__PageBreakFlag int64 + +const ( + QTextFormat__PageBreak_Auto QTextFormat__PageBreakFlag = QTextFormat__PageBreakFlag(0) + QTextFormat__PageBreak_AlwaysBefore QTextFormat__PageBreakFlag = QTextFormat__PageBreakFlag(0x001) + QTextFormat__PageBreak_AlwaysAfter QTextFormat__PageBreakFlag = QTextFormat__PageBreakFlag(0x010) +) + +func NewQTextFormat() *QTextFormat { + tmpValue := NewQTextFormatFromPointer(C.QTextFormat_NewQTextFormat()) + runtime.SetFinalizer(tmpValue, (*QTextFormat).DestroyQTextFormat) + return tmpValue +} + +func NewQTextFormat2(ty int) *QTextFormat { + tmpValue := NewQTextFormatFromPointer(C.QTextFormat_NewQTextFormat2(C.int(int32(ty)))) + runtime.SetFinalizer(tmpValue, (*QTextFormat).DestroyQTextFormat) + return tmpValue +} + +func NewQTextFormat3(other QTextFormat_ITF) *QTextFormat { + tmpValue := NewQTextFormatFromPointer(C.QTextFormat_NewQTextFormat3(PointerFromQTextFormat(other))) + runtime.SetFinalizer(tmpValue, (*QTextFormat).DestroyQTextFormat) + return tmpValue +} + +func (ptr *QTextFormat) Background() *QBrush { + if ptr.Pointer() != nil { + tmpValue := NewQBrushFromPointer(C.QTextFormat_Background(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) BoolProperty(propertyId int) bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_BoolProperty(ptr.Pointer(), C.int(int32(propertyId)))) != 0 + } + return false +} + +func (ptr *QTextFormat) BrushProperty(propertyId int) *QBrush { + if ptr.Pointer() != nil { + tmpValue := NewQBrushFromPointer(C.QTextFormat_BrushProperty(ptr.Pointer(), C.int(int32(propertyId)))) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) ClearBackground() { + if ptr.Pointer() != nil { + C.QTextFormat_ClearBackground(ptr.Pointer()) + } +} + +func (ptr *QTextFormat) ClearForeground() { + if ptr.Pointer() != nil { + C.QTextFormat_ClearForeground(ptr.Pointer()) + } +} + +func (ptr *QTextFormat) ClearProperty(propertyId int) { + if ptr.Pointer() != nil { + C.QTextFormat_ClearProperty(ptr.Pointer(), C.int(int32(propertyId))) + } +} + +func (ptr *QTextFormat) ColorProperty(propertyId int) *QColor { + if ptr.Pointer() != nil { + tmpValue := NewQColorFromPointer(C.QTextFormat_ColorProperty(ptr.Pointer(), C.int(int32(propertyId)))) + runtime.SetFinalizer(tmpValue, (*QColor).DestroyQColor) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) DoubleProperty(propertyId int) float64 { + if ptr.Pointer() != nil { + return float64(C.QTextFormat_DoubleProperty(ptr.Pointer(), C.int(int32(propertyId)))) + } + return 0 +} + +func (ptr *QTextFormat) Foreground() *QBrush { + if ptr.Pointer() != nil { + tmpValue := NewQBrushFromPointer(C.QTextFormat_Foreground(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) HasProperty(propertyId int) bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_HasProperty(ptr.Pointer(), C.int(int32(propertyId)))) != 0 + } + return false +} + +func (ptr *QTextFormat) IntProperty(propertyId int) int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFormat_IntProperty(ptr.Pointer(), C.int(int32(propertyId))))) + } + return 0 +} + +func (ptr *QTextFormat) IsBlockFormat() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_IsBlockFormat(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFormat) IsCharFormat() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_IsCharFormat(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFormat) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFormat) IsFrameFormat() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_IsFrameFormat(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFormat) IsImageFormat() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_IsImageFormat(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFormat) IsListFormat() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_IsListFormat(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFormat) IsTableCellFormat() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_IsTableCellFormat(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFormat) IsTableFormat() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_IsTableFormat(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFormat) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFormat_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFormat) LayoutDirection() core.Qt__LayoutDirection { + if ptr.Pointer() != nil { + return core.Qt__LayoutDirection(C.QTextFormat_LayoutDirection(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFormat) LengthProperty(propertyId int) *QTextLength { + if ptr.Pointer() != nil { + tmpValue := NewQTextLengthFromPointer(C.QTextFormat_LengthProperty(ptr.Pointer(), C.int(int32(propertyId)))) + runtime.SetFinalizer(tmpValue, (*QTextLength).DestroyQTextLength) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) Merge(other QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextFormat_Merge(ptr.Pointer(), PointerFromQTextFormat(other)) + } +} + +func (ptr *QTextFormat) ObjectIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFormat_ObjectIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextFormat) ObjectType() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFormat_ObjectType(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextFormat) PenProperty(propertyId int) *QPen { + if ptr.Pointer() != nil { + tmpValue := NewQPenFromPointer(C.QTextFormat_PenProperty(ptr.Pointer(), C.int(int32(propertyId)))) + runtime.SetFinalizer(tmpValue, (*QPen).DestroyQPen) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) Properties() map[int]*core.QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) map[int]*core.QVariant { + out := make(map[int]*core.QVariant, int(l.len)) + tmpList := NewQTextFormatFromPointer(l.data) + for i, v := range tmpList.__properties_keyList() { + out[v] = tmpList.__properties_atList(v, i) + } + return out + }(C.QTextFormat_Properties(ptr.Pointer())) + } + return make(map[int]*core.QVariant, 0) +} + +func (ptr *QTextFormat) Property(propertyId int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QTextFormat_Property(ptr.Pointer(), C.int(int32(propertyId)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) PropertyCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFormat_PropertyCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextFormat) SetBackground(brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QTextFormat_SetBackground(ptr.Pointer(), PointerFromQBrush(brush)) + } +} + +func (ptr *QTextFormat) SetForeground(brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QTextFormat_SetForeground(ptr.Pointer(), PointerFromQBrush(brush)) + } +} + +func (ptr *QTextFormat) SetLayoutDirection(direction core.Qt__LayoutDirection) { + if ptr.Pointer() != nil { + C.QTextFormat_SetLayoutDirection(ptr.Pointer(), C.longlong(direction)) + } +} + +func (ptr *QTextFormat) SetObjectIndex(index int) { + if ptr.Pointer() != nil { + C.QTextFormat_SetObjectIndex(ptr.Pointer(), C.int(int32(index))) + } +} + +func (ptr *QTextFormat) SetObjectType(ty int) { + if ptr.Pointer() != nil { + C.QTextFormat_SetObjectType(ptr.Pointer(), C.int(int32(ty))) + } +} + +func (ptr *QTextFormat) SetProperty(propertyId int, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QTextFormat_SetProperty(ptr.Pointer(), C.int(int32(propertyId)), core.PointerFromQVariant(value)) + } +} + +func (ptr *QTextFormat) SetProperty2(propertyId int, value []*QTextLength) { + if ptr.Pointer() != nil { + C.QTextFormat_SetProperty2(ptr.Pointer(), C.int(int32(propertyId)), func() unsafe.Pointer { + tmpList := NewQTextFormatFromPointer(NewQTextFormatFromPointer(nil).__setProperty_value_newList2()) + for _, v := range value { + tmpList.__setProperty_value_setList2(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QTextFormat) StringProperty(propertyId int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextFormat_StringProperty(ptr.Pointer(), C.int(int32(propertyId)))) + } + return "" +} + +func (ptr *QTextFormat) Swap(other QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextFormat_Swap(ptr.Pointer(), PointerFromQTextFormat(other)) + } +} + +func (ptr *QTextFormat) ToBlockFormat() *QTextBlockFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFormatFromPointer(C.QTextFormat_ToBlockFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextBlockFormat).DestroyQTextBlockFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) ToCharFormat() *QTextCharFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextCharFormatFromPointer(C.QTextFormat_ToCharFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCharFormat).DestroyQTextCharFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) ToFrameFormat() *QTextFrameFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextFrameFormatFromPointer(C.QTextFormat_ToFrameFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextFrameFormat).DestroyQTextFrameFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) ToImageFormat() *QTextImageFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextImageFormatFromPointer(C.QTextFormat_ToImageFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextImageFormat).DestroyQTextImageFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) ToListFormat() *QTextListFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextListFormatFromPointer(C.QTextFormat_ToListFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextListFormat).DestroyQTextListFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) ToTableCellFormat() *QTextTableCellFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextTableCellFormatFromPointer(C.QTextFormat_ToTableCellFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextTableCellFormat).DestroyQTextTableCellFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) ToTableFormat() *QTextTableFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextTableFormatFromPointer(C.QTextFormat_ToTableFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextTableFormat).DestroyQTextTableFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) Type() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFormat_Type(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextFormat) DestroyQTextFormat() { + if ptr.Pointer() != nil { + C.QTextFormat_DestroyQTextFormat(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextFormat) __lengthVectorProperty_atList(i int) *QTextLength { + if ptr.Pointer() != nil { + tmpValue := NewQTextLengthFromPointer(C.QTextFormat___lengthVectorProperty_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QTextLength).DestroyQTextLength) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) __lengthVectorProperty_setList(i QTextLength_ITF) { + if ptr.Pointer() != nil { + C.QTextFormat___lengthVectorProperty_setList(ptr.Pointer(), PointerFromQTextLength(i)) + } +} + +func (ptr *QTextFormat) __lengthVectorProperty_newList() unsafe.Pointer { + return C.QTextFormat___lengthVectorProperty_newList(ptr.Pointer()) +} + +func (ptr *QTextFormat) __properties_atList(v int, i int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QTextFormat___properties_atList(ptr.Pointer(), C.int(int32(v)), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) __properties_setList(key int, i core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QTextFormat___properties_setList(ptr.Pointer(), C.int(int32(key)), core.PointerFromQVariant(i)) + } +} + +func (ptr *QTextFormat) __properties_newList() unsafe.Pointer { + return C.QTextFormat___properties_newList(ptr.Pointer()) +} + +func (ptr *QTextFormat) __properties_keyList() []int { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []int { + out := make([]int, int(l.len)) + tmpList := NewQTextFormatFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____properties_keyList_atList(i) + } + return out + }(C.QTextFormat___properties_keyList(ptr.Pointer())) + } + return make([]int, 0) +} + +func (ptr *QTextFormat) __setProperty_value_atList2(i int) *QTextLength { + if ptr.Pointer() != nil { + tmpValue := NewQTextLengthFromPointer(C.QTextFormat___setProperty_value_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QTextLength).DestroyQTextLength) + return tmpValue + } + return nil +} + +func (ptr *QTextFormat) __setProperty_value_setList2(i QTextLength_ITF) { + if ptr.Pointer() != nil { + C.QTextFormat___setProperty_value_setList2(ptr.Pointer(), PointerFromQTextLength(i)) + } +} + +func (ptr *QTextFormat) __setProperty_value_newList2() unsafe.Pointer { + return C.QTextFormat___setProperty_value_newList2(ptr.Pointer()) +} + +func (ptr *QTextFormat) ____properties_keyList_atList(i int) int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFormat_____properties_keyList_atList(ptr.Pointer(), C.int(int32(i))))) + } + return 0 +} + +func (ptr *QTextFormat) ____properties_keyList_setList(i int) { + if ptr.Pointer() != nil { + C.QTextFormat_____properties_keyList_setList(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QTextFormat) ____properties_keyList_newList() unsafe.Pointer { + return C.QTextFormat_____properties_keyList_newList(ptr.Pointer()) +} + +type QTextFragment struct { + ptr unsafe.Pointer +} + +type QTextFragment_ITF interface { + QTextFragment_PTR() *QTextFragment +} + +func (ptr *QTextFragment) QTextFragment_PTR() *QTextFragment { + return ptr +} + +func (ptr *QTextFragment) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextFragment) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextFragment(ptr QTextFragment_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextFragment_PTR().Pointer() + } + return nil +} + +func NewQTextFragmentFromPointer(ptr unsafe.Pointer) (n *QTextFragment) { + n = new(QTextFragment) + n.SetPointer(ptr) + return +} + +func (ptr *QTextFragment) DestroyQTextFragment() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQTextFragment2() *QTextFragment { + tmpValue := NewQTextFragmentFromPointer(C.QTextFragment_NewQTextFragment2()) + runtime.SetFinalizer(tmpValue, (*QTextFragment).DestroyQTextFragment) + return tmpValue +} + +func NewQTextFragment3(other QTextFragment_ITF) *QTextFragment { + tmpValue := NewQTextFragmentFromPointer(C.QTextFragment_NewQTextFragment3(PointerFromQTextFragment(other))) + runtime.SetFinalizer(tmpValue, (*QTextFragment).DestroyQTextFragment) + return tmpValue +} + +func (ptr *QTextFragment) CharFormat() *QTextCharFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextCharFormatFromPointer(C.QTextFragment_CharFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCharFormat).DestroyQTextCharFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextFragment) CharFormatIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFragment_CharFormatIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextFragment) Contains(position int) bool { + if ptr.Pointer() != nil { + return int8(C.QTextFragment_Contains(ptr.Pointer(), C.int(int32(position)))) != 0 + } + return false +} + +func (ptr *QTextFragment) GlyphRuns(pos int, l int) []*QGlyphRun { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QGlyphRun { + out := make([]*QGlyphRun, int(l.len)) + tmpList := NewQTextFragmentFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__glyphRuns_atList(i) + } + return out + }(C.QTextFragment_GlyphRuns(ptr.Pointer(), C.int(int32(pos)), C.int(int32(l)))) + } + return make([]*QGlyphRun, 0) +} + +func (ptr *QTextFragment) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTextFragment_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextFragment) Length() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFragment_Length(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextFragment) Position() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFragment_Position(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextFragment) Text() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextFragment_Text(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextFragment) __glyphRuns_atList(i int) *QGlyphRun { + if ptr.Pointer() != nil { + tmpValue := NewQGlyphRunFromPointer(C.QTextFragment___glyphRuns_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QGlyphRun).DestroyQGlyphRun) + return tmpValue + } + return nil +} + +func (ptr *QTextFragment) __glyphRuns_setList(i QGlyphRun_ITF) { + if ptr.Pointer() != nil { + C.QTextFragment___glyphRuns_setList(ptr.Pointer(), PointerFromQGlyphRun(i)) + } +} + +func (ptr *QTextFragment) __glyphRuns_newList() unsafe.Pointer { + return C.QTextFragment___glyphRuns_newList(ptr.Pointer()) +} + +type QTextFrame struct { + QTextObject +} + +type QTextFrame_ITF interface { + QTextObject_ITF + QTextFrame_PTR() *QTextFrame +} + +func (ptr *QTextFrame) QTextFrame_PTR() *QTextFrame { + return ptr +} + +func (ptr *QTextFrame) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextObject_PTR().Pointer() + } + return nil +} + +func (ptr *QTextFrame) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextObject_PTR().SetPointer(p) + } +} + +func PointerFromQTextFrame(ptr QTextFrame_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextFrame_PTR().Pointer() + } + return nil +} + +func NewQTextFrameFromPointer(ptr unsafe.Pointer) (n *QTextFrame) { + n = new(QTextFrame) + n.SetPointer(ptr) + return +} +func NewQTextFrame(document QTextDocument_ITF) *QTextFrame { + tmpValue := NewQTextFrameFromPointer(C.QTextFrame_NewQTextFrame(PointerFromQTextDocument(document))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QTextFrame) ChildFrames() []*QTextFrame { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QTextFrame { + out := make([]*QTextFrame, int(l.len)) + tmpList := NewQTextFrameFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__childFrames_atList(i) + } + return out + }(C.QTextFrame_ChildFrames(ptr.Pointer())) + } + return make([]*QTextFrame, 0) +} + +func (ptr *QTextFrame) FirstCursorPosition() *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextFrame_FirstCursorPosition(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextFrame) FirstPosition() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFrame_FirstPosition(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextFrame) FrameFormat() *QTextFrameFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextFrameFormatFromPointer(C.QTextFrame_FrameFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextFrameFormat).DestroyQTextFrameFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextFrame) LastCursorPosition() *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextFrame_LastCursorPosition(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextFrame) LastPosition() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextFrame_LastPosition(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextFrame) ParentFrame() *QTextFrame { + if ptr.Pointer() != nil { + tmpValue := NewQTextFrameFromPointer(C.QTextFrame_ParentFrame(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextFrame) SetFrameFormat(format QTextFrameFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextFrame_SetFrameFormat(ptr.Pointer(), PointerFromQTextFrameFormat(format)) + } +} + +//export callbackQTextFrame_DestroyQTextFrame +func callbackQTextFrame_DestroyQTextFrame(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTextFrame"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextFrameFromPointer(ptr).DestroyQTextFrameDefault() + } +} + +func (ptr *QTextFrame) ConnectDestroyQTextFrame(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTextFrame"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTextFrame", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTextFrame", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextFrame) DisconnectDestroyQTextFrame() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTextFrame") + } +} + +func (ptr *QTextFrame) DestroyQTextFrame() { + if ptr.Pointer() != nil { + C.QTextFrame_DestroyQTextFrame(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextFrame) DestroyQTextFrameDefault() { + if ptr.Pointer() != nil { + C.QTextFrame_DestroyQTextFrameDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextFrame) __childFrames_atList(i int) *QTextFrame { + if ptr.Pointer() != nil { + tmpValue := NewQTextFrameFromPointer(C.QTextFrame___childFrames_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextFrame) __childFrames_setList(i QTextFrame_ITF) { + if ptr.Pointer() != nil { + C.QTextFrame___childFrames_setList(ptr.Pointer(), PointerFromQTextFrame(i)) + } +} + +func (ptr *QTextFrame) __childFrames_newList() unsafe.Pointer { + return C.QTextFrame___childFrames_newList(ptr.Pointer()) +} + +type QTextFrameFormat struct { + QTextFormat +} + +type QTextFrameFormat_ITF interface { + QTextFormat_ITF + QTextFrameFormat_PTR() *QTextFrameFormat +} + +func (ptr *QTextFrameFormat) QTextFrameFormat_PTR() *QTextFrameFormat { + return ptr +} + +func (ptr *QTextFrameFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextFormat_PTR().Pointer() + } + return nil +} + +func (ptr *QTextFrameFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextFormat_PTR().SetPointer(p) + } +} + +func PointerFromQTextFrameFormat(ptr QTextFrameFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextFrameFormat_PTR().Pointer() + } + return nil +} + +func NewQTextFrameFormatFromPointer(ptr unsafe.Pointer) (n *QTextFrameFormat) { + n = new(QTextFrameFormat) + n.SetPointer(ptr) + return +} + +func (ptr *QTextFrameFormat) DestroyQTextFrameFormat() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QTextFrameFormat__Position +//QTextFrameFormat::Position +type QTextFrameFormat__Position int64 + +const ( + QTextFrameFormat__InFlow QTextFrameFormat__Position = QTextFrameFormat__Position(0) + QTextFrameFormat__FloatLeft QTextFrameFormat__Position = QTextFrameFormat__Position(1) + QTextFrameFormat__FloatRight QTextFrameFormat__Position = QTextFrameFormat__Position(2) +) + +//go:generate stringer -type=QTextFrameFormat__BorderStyle +//QTextFrameFormat::BorderStyle +type QTextFrameFormat__BorderStyle int64 + +var ( + QTextFrameFormat__BorderStyle_None QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(0) + QTextFrameFormat__BorderStyle_Dotted QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(1) + QTextFrameFormat__BorderStyle_Dashed QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(2) + QTextFrameFormat__BorderStyle_Solid QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(3) + QTextFrameFormat__BorderStyle_Double QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(4) + QTextFrameFormat__BorderStyle_DotDash QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(5) + QTextFrameFormat__BorderStyle_DotDotDash QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(6) + QTextFrameFormat__BorderStyle_Groove QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(7) + QTextFrameFormat__BorderStyle_Ridge QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(8) + QTextFrameFormat__BorderStyle_Inset QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(9) + QTextFrameFormat__BorderStyle_Outset QTextFrameFormat__BorderStyle = QTextFrameFormat__BorderStyle(10) +) + +func NewQTextFrameFormat() *QTextFrameFormat { + tmpValue := NewQTextFrameFormatFromPointer(C.QTextFrameFormat_NewQTextFrameFormat()) + runtime.SetFinalizer(tmpValue, (*QTextFrameFormat).DestroyQTextFrameFormat) + return tmpValue +} + +func (ptr *QTextFrameFormat) Border() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextFrameFormat_Border(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) BorderBrush() *QBrush { + if ptr.Pointer() != nil { + tmpValue := NewQBrushFromPointer(C.QTextFrameFormat_BorderBrush(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QBrush).DestroyQBrush) + return tmpValue + } + return nil +} + +func (ptr *QTextFrameFormat) BorderStyle() QTextFrameFormat__BorderStyle { + if ptr.Pointer() != nil { + return QTextFrameFormat__BorderStyle(C.QTextFrameFormat_BorderStyle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) BottomMargin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextFrameFormat_BottomMargin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) Height() *QTextLength { + if ptr.Pointer() != nil { + tmpValue := NewQTextLengthFromPointer(C.QTextFrameFormat_Height(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextLength).DestroyQTextLength) + return tmpValue + } + return nil +} + +func (ptr *QTextFrameFormat) LeftMargin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextFrameFormat_LeftMargin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) Margin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextFrameFormat_Margin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) Padding() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextFrameFormat_Padding(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) PageBreakPolicy() QTextFormat__PageBreakFlag { + if ptr.Pointer() != nil { + return QTextFormat__PageBreakFlag(C.QTextFrameFormat_PageBreakPolicy(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) Position() QTextFrameFormat__Position { + if ptr.Pointer() != nil { + return QTextFrameFormat__Position(C.QTextFrameFormat_Position(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) RightMargin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextFrameFormat_RightMargin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) SetBorder(width float64) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetBorder(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QTextFrameFormat) SetBorderBrush(brush QBrush_ITF) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetBorderBrush(ptr.Pointer(), PointerFromQBrush(brush)) + } +} + +func (ptr *QTextFrameFormat) SetBorderStyle(style QTextFrameFormat__BorderStyle) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetBorderStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QTextFrameFormat) SetBottomMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetBottomMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextFrameFormat) SetHeight(height QTextLength_ITF) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetHeight(ptr.Pointer(), PointerFromQTextLength(height)) + } +} + +func (ptr *QTextFrameFormat) SetHeight2(height float64) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetHeight2(ptr.Pointer(), C.double(height)) + } +} + +func (ptr *QTextFrameFormat) SetLeftMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetLeftMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextFrameFormat) SetMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextFrameFormat) SetPadding(width float64) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetPadding(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QTextFrameFormat) SetPageBreakPolicy(policy QTextFormat__PageBreakFlag) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetPageBreakPolicy(ptr.Pointer(), C.longlong(policy)) + } +} + +func (ptr *QTextFrameFormat) SetPosition(policy QTextFrameFormat__Position) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetPosition(ptr.Pointer(), C.longlong(policy)) + } +} + +func (ptr *QTextFrameFormat) SetRightMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetRightMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextFrameFormat) SetTopMargin(margin float64) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetTopMargin(ptr.Pointer(), C.double(margin)) + } +} + +func (ptr *QTextFrameFormat) SetWidth(width QTextLength_ITF) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetWidth(ptr.Pointer(), PointerFromQTextLength(width)) + } +} + +func (ptr *QTextFrameFormat) SetWidth2(width float64) { + if ptr.Pointer() != nil { + C.QTextFrameFormat_SetWidth2(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QTextFrameFormat) TopMargin() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextFrameFormat_TopMargin(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextFrameFormat) Width() *QTextLength { + if ptr.Pointer() != nil { + tmpValue := NewQTextLengthFromPointer(C.QTextFrameFormat_Width(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextLength).DestroyQTextLength) + return tmpValue + } + return nil +} + +type QTextFrameLayoutData struct { + ptr unsafe.Pointer +} + +type QTextFrameLayoutData_ITF interface { + QTextFrameLayoutData_PTR() *QTextFrameLayoutData +} + +func (ptr *QTextFrameLayoutData) QTextFrameLayoutData_PTR() *QTextFrameLayoutData { + return ptr +} + +func (ptr *QTextFrameLayoutData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextFrameLayoutData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextFrameLayoutData(ptr QTextFrameLayoutData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextFrameLayoutData_PTR().Pointer() + } + return nil +} + +func NewQTextFrameLayoutDataFromPointer(ptr unsafe.Pointer) (n *QTextFrameLayoutData) { + n = new(QTextFrameLayoutData) + n.SetPointer(ptr) + return +} + +func (ptr *QTextFrameLayoutData) DestroyQTextFrameLayoutData() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextImageFormat struct { + QTextCharFormat +} + +type QTextImageFormat_ITF interface { + QTextCharFormat_ITF + QTextImageFormat_PTR() *QTextImageFormat +} + +func (ptr *QTextImageFormat) QTextImageFormat_PTR() *QTextImageFormat { + return ptr +} + +func (ptr *QTextImageFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextCharFormat_PTR().Pointer() + } + return nil +} + +func (ptr *QTextImageFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextCharFormat_PTR().SetPointer(p) + } +} + +func PointerFromQTextImageFormat(ptr QTextImageFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextImageFormat_PTR().Pointer() + } + return nil +} + +func NewQTextImageFormatFromPointer(ptr unsafe.Pointer) (n *QTextImageFormat) { + n = new(QTextImageFormat) + n.SetPointer(ptr) + return +} + +func (ptr *QTextImageFormat) DestroyQTextImageFormat() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQTextImageFormat() *QTextImageFormat { + tmpValue := NewQTextImageFormatFromPointer(C.QTextImageFormat_NewQTextImageFormat()) + runtime.SetFinalizer(tmpValue, (*QTextImageFormat).DestroyQTextImageFormat) + return tmpValue +} + +func (ptr *QTextImageFormat) Height() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextImageFormat_Height(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextImageFormat) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextImageFormat_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextImageFormat) Quality() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextImageFormat_Quality(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextImageFormat) SetHeight(height float64) { + if ptr.Pointer() != nil { + C.QTextImageFormat_SetHeight(ptr.Pointer(), C.double(height)) + } +} + +func (ptr *QTextImageFormat) SetName(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QTextImageFormat_SetName(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QTextImageFormat) SetQuality(quality int) { + if ptr.Pointer() != nil { + C.QTextImageFormat_SetQuality(ptr.Pointer(), C.int(int32(quality))) + } +} + +func (ptr *QTextImageFormat) SetWidth(width float64) { + if ptr.Pointer() != nil { + C.QTextImageFormat_SetWidth(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QTextImageFormat) Width() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextImageFormat_Width(ptr.Pointer())) + } + return 0 +} + +type QTextInlineObject struct { + ptr unsafe.Pointer +} + +type QTextInlineObject_ITF interface { + QTextInlineObject_PTR() *QTextInlineObject +} + +func (ptr *QTextInlineObject) QTextInlineObject_PTR() *QTextInlineObject { + return ptr +} + +func (ptr *QTextInlineObject) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextInlineObject) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextInlineObject(ptr QTextInlineObject_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextInlineObject_PTR().Pointer() + } + return nil +} + +func NewQTextInlineObjectFromPointer(ptr unsafe.Pointer) (n *QTextInlineObject) { + n = new(QTextInlineObject) + n.SetPointer(ptr) + return +} + +func (ptr *QTextInlineObject) DestroyQTextInlineObject() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextInlineObject) Ascent() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextInlineObject_Ascent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextInlineObject) Descent() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextInlineObject_Descent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextInlineObject) Format() *QTextFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextFormatFromPointer(C.QTextInlineObject_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextFormat).DestroyQTextFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextInlineObject) FormatIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextInlineObject_FormatIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextInlineObject) Height() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextInlineObject_Height(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextInlineObject) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTextInlineObject_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextInlineObject) Rect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QTextInlineObject_Rect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QTextInlineObject) SetAscent(a float64) { + if ptr.Pointer() != nil { + C.QTextInlineObject_SetAscent(ptr.Pointer(), C.double(a)) + } +} + +func (ptr *QTextInlineObject) SetDescent(d float64) { + if ptr.Pointer() != nil { + C.QTextInlineObject_SetDescent(ptr.Pointer(), C.double(d)) + } +} + +func (ptr *QTextInlineObject) SetWidth(w float64) { + if ptr.Pointer() != nil { + C.QTextInlineObject_SetWidth(ptr.Pointer(), C.double(w)) + } +} + +func (ptr *QTextInlineObject) TextDirection() core.Qt__LayoutDirection { + if ptr.Pointer() != nil { + return core.Qt__LayoutDirection(C.QTextInlineObject_TextDirection(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextInlineObject) TextPosition() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextInlineObject_TextPosition(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextInlineObject) Width() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextInlineObject_Width(ptr.Pointer())) + } + return 0 +} + +type QTextItem struct { + ptr unsafe.Pointer +} + +type QTextItem_ITF interface { + QTextItem_PTR() *QTextItem +} + +func (ptr *QTextItem) QTextItem_PTR() *QTextItem { + return ptr +} + +func (ptr *QTextItem) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextItem) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextItem(ptr QTextItem_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextItem_PTR().Pointer() + } + return nil +} + +func NewQTextItemFromPointer(ptr unsafe.Pointer) (n *QTextItem) { + n = new(QTextItem) + n.SetPointer(ptr) + return +} + +func (ptr *QTextItem) DestroyQTextItem() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QTextItem__RenderFlag +//QTextItem::RenderFlag +type QTextItem__RenderFlag int64 + +const ( + QTextItem__RightToLeft QTextItem__RenderFlag = QTextItem__RenderFlag(0x1) + QTextItem__Overline QTextItem__RenderFlag = QTextItem__RenderFlag(0x10) + QTextItem__Underline QTextItem__RenderFlag = QTextItem__RenderFlag(0x20) + QTextItem__StrikeOut QTextItem__RenderFlag = QTextItem__RenderFlag(0x40) + QTextItem__Dummy QTextItem__RenderFlag = QTextItem__RenderFlag(0xffffffff) +) + +func (ptr *QTextItem) Ascent() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextItem_Ascent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextItem) Descent() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextItem_Descent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextItem) Font() *QFont { + if ptr.Pointer() != nil { + tmpValue := NewQFontFromPointer(C.QTextItem_Font(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue + } + return nil +} + +func (ptr *QTextItem) RenderFlags() QTextItem__RenderFlag { + if ptr.Pointer() != nil { + return QTextItem__RenderFlag(C.QTextItem_RenderFlags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextItem) Text() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextItem_Text(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextItem) Width() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextItem_Width(ptr.Pointer())) + } + return 0 +} + +type QTextLayout struct { + ptr unsafe.Pointer +} + +type QTextLayout_ITF interface { + QTextLayout_PTR() *QTextLayout +} + +func (ptr *QTextLayout) QTextLayout_PTR() *QTextLayout { + return ptr +} + +func (ptr *QTextLayout) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextLayout) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextLayout(ptr QTextLayout_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextLayout_PTR().Pointer() + } + return nil +} + +func NewQTextLayoutFromPointer(ptr unsafe.Pointer) (n *QTextLayout) { + n = new(QTextLayout) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTextLayout__CursorMode +//QTextLayout::CursorMode +type QTextLayout__CursorMode int64 + +const ( + QTextLayout__SkipCharacters QTextLayout__CursorMode = QTextLayout__CursorMode(0) + QTextLayout__SkipWords QTextLayout__CursorMode = QTextLayout__CursorMode(1) +) + +func NewQTextLayout() *QTextLayout { + tmpValue := NewQTextLayoutFromPointer(C.QTextLayout_NewQTextLayout()) + runtime.SetFinalizer(tmpValue, (*QTextLayout).DestroyQTextLayout) + return tmpValue +} + +func NewQTextLayout2(text string) *QTextLayout { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQTextLayoutFromPointer(C.QTextLayout_NewQTextLayout2(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))})) + runtime.SetFinalizer(tmpValue, (*QTextLayout).DestroyQTextLayout) + return tmpValue +} + +func NewQTextLayout4(text string, font QFont_ITF, paintdevice QPaintDevice_ITF) *QTextLayout { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + tmpValue := NewQTextLayoutFromPointer(C.QTextLayout_NewQTextLayout4(C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}, PointerFromQFont(font), PointerFromQPaintDevice(paintdevice))) + runtime.SetFinalizer(tmpValue, (*QTextLayout).DestroyQTextLayout) + return tmpValue +} + +func (ptr *QTextLayout) BeginLayout() { + if ptr.Pointer() != nil { + C.QTextLayout_BeginLayout(ptr.Pointer()) + } +} + +func (ptr *QTextLayout) BoundingRect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QTextLayout_BoundingRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QTextLayout) CacheEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QTextLayout_CacheEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextLayout) ClearFormats() { + if ptr.Pointer() != nil { + C.QTextLayout_ClearFormats(ptr.Pointer()) + } +} + +func (ptr *QTextLayout) ClearLayout() { + if ptr.Pointer() != nil { + C.QTextLayout_ClearLayout(ptr.Pointer()) + } +} + +func (ptr *QTextLayout) CreateLine() *QTextLine { + if ptr.Pointer() != nil { + tmpValue := NewQTextLineFromPointer(C.QTextLayout_CreateLine(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextLine).DestroyQTextLine) + return tmpValue + } + return nil +} + +func (ptr *QTextLayout) CursorMoveStyle() core.Qt__CursorMoveStyle { + if ptr.Pointer() != nil { + return core.Qt__CursorMoveStyle(C.QTextLayout_CursorMoveStyle(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLayout) DrawCursor(painter QPainter_ITF, position core.QPointF_ITF, cursorPosition int, width int) { + if ptr.Pointer() != nil { + C.QTextLayout_DrawCursor(ptr.Pointer(), PointerFromQPainter(painter), core.PointerFromQPointF(position), C.int(int32(cursorPosition)), C.int(int32(width))) + } +} + +func (ptr *QTextLayout) DrawCursor2(painter QPainter_ITF, position core.QPointF_ITF, cursorPosition int) { + if ptr.Pointer() != nil { + C.QTextLayout_DrawCursor2(ptr.Pointer(), PointerFromQPainter(painter), core.PointerFromQPointF(position), C.int(int32(cursorPosition))) + } +} + +func (ptr *QTextLayout) EndLayout() { + if ptr.Pointer() != nil { + C.QTextLayout_EndLayout(ptr.Pointer()) + } +} + +func (ptr *QTextLayout) Font() *QFont { + if ptr.Pointer() != nil { + tmpValue := NewQFontFromPointer(C.QTextLayout_Font(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QFont).DestroyQFont) + return tmpValue + } + return nil +} + +func (ptr *QTextLayout) GlyphRuns(from int, length int) []*QGlyphRun { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QGlyphRun { + out := make([]*QGlyphRun, int(l.len)) + tmpList := NewQTextLayoutFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__glyphRuns_atList(i) + } + return out + }(C.QTextLayout_GlyphRuns(ptr.Pointer(), C.int(int32(from)), C.int(int32(length)))) + } + return make([]*QGlyphRun, 0) +} + +func (ptr *QTextLayout) IsValidCursorPosition(pos int) bool { + if ptr.Pointer() != nil { + return int8(C.QTextLayout_IsValidCursorPosition(ptr.Pointer(), C.int(int32(pos)))) != 0 + } + return false +} + +func (ptr *QTextLayout) LeftCursorPosition(oldPos int) int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLayout_LeftCursorPosition(ptr.Pointer(), C.int(int32(oldPos))))) + } + return 0 +} + +func (ptr *QTextLayout) LineAt(i int) *QTextLine { + if ptr.Pointer() != nil { + tmpValue := NewQTextLineFromPointer(C.QTextLayout_LineAt(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QTextLine).DestroyQTextLine) + return tmpValue + } + return nil +} + +func (ptr *QTextLayout) LineCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLayout_LineCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextLayout) LineForTextPosition(pos int) *QTextLine { + if ptr.Pointer() != nil { + tmpValue := NewQTextLineFromPointer(C.QTextLayout_LineForTextPosition(ptr.Pointer(), C.int(int32(pos)))) + runtime.SetFinalizer(tmpValue, (*QTextLine).DestroyQTextLine) + return tmpValue + } + return nil +} + +func (ptr *QTextLayout) MaximumWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLayout_MaximumWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLayout) MinimumWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLayout_MinimumWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLayout) NextCursorPosition(oldPos int, mode QTextLayout__CursorMode) int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLayout_NextCursorPosition(ptr.Pointer(), C.int(int32(oldPos)), C.longlong(mode)))) + } + return 0 +} + +func (ptr *QTextLayout) Position() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QTextLayout_Position(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QTextLayout) PreeditAreaPosition() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLayout_PreeditAreaPosition(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextLayout) PreeditAreaText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextLayout_PreeditAreaText(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextLayout) PreviousCursorPosition(oldPos int, mode QTextLayout__CursorMode) int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLayout_PreviousCursorPosition(ptr.Pointer(), C.int(int32(oldPos)), C.longlong(mode)))) + } + return 0 +} + +func (ptr *QTextLayout) RightCursorPosition(oldPos int) int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLayout_RightCursorPosition(ptr.Pointer(), C.int(int32(oldPos))))) + } + return 0 +} + +func (ptr *QTextLayout) SetCacheEnabled(enable bool) { + if ptr.Pointer() != nil { + C.QTextLayout_SetCacheEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QTextLayout) SetCursorMoveStyle(style core.Qt__CursorMoveStyle) { + if ptr.Pointer() != nil { + C.QTextLayout_SetCursorMoveStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QTextLayout) SetFont(font QFont_ITF) { + if ptr.Pointer() != nil { + C.QTextLayout_SetFont(ptr.Pointer(), PointerFromQFont(font)) + } +} + +func (ptr *QTextLayout) SetPosition(p core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QTextLayout_SetPosition(ptr.Pointer(), core.PointerFromQPointF(p)) + } +} + +func (ptr *QTextLayout) SetPreeditArea(position int, text string) { + if ptr.Pointer() != nil { + var textC *C.char + if text != "" { + textC = C.CString(text) + defer C.free(unsafe.Pointer(textC)) + } + C.QTextLayout_SetPreeditArea(ptr.Pointer(), C.int(int32(position)), C.struct_QtGui_PackedString{data: textC, len: C.longlong(len(text))}) + } +} + +func (ptr *QTextLayout) SetText(stri string) { + if ptr.Pointer() != nil { + var striC *C.char + if stri != "" { + striC = C.CString(stri) + defer C.free(unsafe.Pointer(striC)) + } + C.QTextLayout_SetText(ptr.Pointer(), C.struct_QtGui_PackedString{data: striC, len: C.longlong(len(stri))}) + } +} + +func (ptr *QTextLayout) SetTextOption(option QTextOption_ITF) { + if ptr.Pointer() != nil { + C.QTextLayout_SetTextOption(ptr.Pointer(), PointerFromQTextOption(option)) + } +} + +func (ptr *QTextLayout) Text() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextLayout_Text(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextLayout) TextOption() *QTextOption { + if ptr.Pointer() != nil { + return NewQTextOptionFromPointer(C.QTextLayout_TextOption(ptr.Pointer())) + } + return nil +} + +func (ptr *QTextLayout) DestroyQTextLayout() { + if ptr.Pointer() != nil { + C.QTextLayout_DestroyQTextLayout(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextLayout) __formats_newList() unsafe.Pointer { + return C.QTextLayout___formats_newList(ptr.Pointer()) +} + +func (ptr *QTextLayout) __glyphRuns_atList(i int) *QGlyphRun { + if ptr.Pointer() != nil { + tmpValue := NewQGlyphRunFromPointer(C.QTextLayout___glyphRuns_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QGlyphRun).DestroyQGlyphRun) + return tmpValue + } + return nil +} + +func (ptr *QTextLayout) __glyphRuns_setList(i QGlyphRun_ITF) { + if ptr.Pointer() != nil { + C.QTextLayout___glyphRuns_setList(ptr.Pointer(), PointerFromQGlyphRun(i)) + } +} + +func (ptr *QTextLayout) __glyphRuns_newList() unsafe.Pointer { + return C.QTextLayout___glyphRuns_newList(ptr.Pointer()) +} + +type QTextLength struct { + ptr unsafe.Pointer +} + +type QTextLength_ITF interface { + QTextLength_PTR() *QTextLength +} + +func (ptr *QTextLength) QTextLength_PTR() *QTextLength { + return ptr +} + +func (ptr *QTextLength) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextLength) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextLength(ptr QTextLength_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextLength_PTR().Pointer() + } + return nil +} + +func NewQTextLengthFromPointer(ptr unsafe.Pointer) (n *QTextLength) { + n = new(QTextLength) + n.SetPointer(ptr) + return +} + +func (ptr *QTextLength) DestroyQTextLength() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QTextLength__Type +//QTextLength::Type +type QTextLength__Type int64 + +const ( + QTextLength__VariableLength QTextLength__Type = QTextLength__Type(0) + QTextLength__FixedLength QTextLength__Type = QTextLength__Type(1) + QTextLength__PercentageLength QTextLength__Type = QTextLength__Type(2) +) + +func NewQTextLength() *QTextLength { + tmpValue := NewQTextLengthFromPointer(C.QTextLength_NewQTextLength()) + runtime.SetFinalizer(tmpValue, (*QTextLength).DestroyQTextLength) + return tmpValue +} + +func NewQTextLength2(ty QTextLength__Type, value float64) *QTextLength { + tmpValue := NewQTextLengthFromPointer(C.QTextLength_NewQTextLength2(C.longlong(ty), C.double(value))) + runtime.SetFinalizer(tmpValue, (*QTextLength).DestroyQTextLength) + return tmpValue +} + +func (ptr *QTextLength) RawValue() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLength_RawValue(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLength) Type() QTextLength__Type { + if ptr.Pointer() != nil { + return QTextLength__Type(C.QTextLength_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLength) Value(maximumLength float64) float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLength_Value(ptr.Pointer(), C.double(maximumLength))) + } + return 0 +} + +type QTextLine struct { + ptr unsafe.Pointer +} + +type QTextLine_ITF interface { + QTextLine_PTR() *QTextLine +} + +func (ptr *QTextLine) QTextLine_PTR() *QTextLine { + return ptr +} + +func (ptr *QTextLine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextLine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextLine(ptr QTextLine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextLine_PTR().Pointer() + } + return nil +} + +func NewQTextLineFromPointer(ptr unsafe.Pointer) (n *QTextLine) { + n = new(QTextLine) + n.SetPointer(ptr) + return +} + +func (ptr *QTextLine) DestroyQTextLine() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QTextLine__Edge +//QTextLine::Edge +type QTextLine__Edge int64 + +const ( + QTextLine__Leading QTextLine__Edge = QTextLine__Edge(0) + QTextLine__Trailing QTextLine__Edge = QTextLine__Edge(1) +) + +//go:generate stringer -type=QTextLine__CursorPosition +//QTextLine::CursorPosition +type QTextLine__CursorPosition int64 + +const ( + QTextLine__CursorBetweenCharacters QTextLine__CursorPosition = QTextLine__CursorPosition(0) + QTextLine__CursorOnCharacter QTextLine__CursorPosition = QTextLine__CursorPosition(1) +) + +func NewQTextLine() *QTextLine { + tmpValue := NewQTextLineFromPointer(C.QTextLine_NewQTextLine()) + runtime.SetFinalizer(tmpValue, (*QTextLine).DestroyQTextLine) + return tmpValue +} + +func (ptr *QTextLine) Ascent() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_Ascent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLine) CursorToX(cursorPos int, edge QTextLine__Edge) float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_CursorToX(ptr.Pointer(), C.int(int32(cursorPos)), C.longlong(edge))) + } + return 0 +} + +func (ptr *QTextLine) CursorToX2(cursorPos int, edge QTextLine__Edge) float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_CursorToX2(ptr.Pointer(), C.int(int32(cursorPos)), C.longlong(edge))) + } + return 0 +} + +func (ptr *QTextLine) Descent() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_Descent(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLine) GlyphRuns(from int, length int) []*QGlyphRun { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []*QGlyphRun { + out := make([]*QGlyphRun, int(l.len)) + tmpList := NewQTextLineFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__glyphRuns_atList(i) + } + return out + }(C.QTextLine_GlyphRuns(ptr.Pointer(), C.int(int32(from)), C.int(int32(length)))) + } + return make([]*QGlyphRun, 0) +} + +func (ptr *QTextLine) Height() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_Height(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLine) HorizontalAdvance() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_HorizontalAdvance(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLine) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTextLine_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextLine) Leading() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_Leading(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLine) LeadingIncluded() bool { + if ptr.Pointer() != nil { + return int8(C.QTextLine_LeadingIncluded(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextLine) LineNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLine_LineNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextLine) NaturalTextRect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QTextLine_NaturalTextRect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QTextLine) NaturalTextWidth() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_NaturalTextWidth(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLine) Position() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QTextLine_Position(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QTextLine) Rect() *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QTextLine_Rect(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QTextLine) SetLeadingIncluded(included bool) { + if ptr.Pointer() != nil { + C.QTextLine_SetLeadingIncluded(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(included)))) + } +} + +func (ptr *QTextLine) SetLineWidth(width float64) { + if ptr.Pointer() != nil { + C.QTextLine_SetLineWidth(ptr.Pointer(), C.double(width)) + } +} + +func (ptr *QTextLine) SetNumColumns(numColumns int) { + if ptr.Pointer() != nil { + C.QTextLine_SetNumColumns(ptr.Pointer(), C.int(int32(numColumns))) + } +} + +func (ptr *QTextLine) SetNumColumns2(numColumns int, alignmentWidth float64) { + if ptr.Pointer() != nil { + C.QTextLine_SetNumColumns2(ptr.Pointer(), C.int(int32(numColumns)), C.double(alignmentWidth)) + } +} + +func (ptr *QTextLine) SetPosition(pos core.QPointF_ITF) { + if ptr.Pointer() != nil { + C.QTextLine_SetPosition(ptr.Pointer(), core.PointerFromQPointF(pos)) + } +} + +func (ptr *QTextLine) TextLength() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLine_TextLength(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextLine) TextStart() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLine_TextStart(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextLine) Width() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_Width(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLine) X() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_X(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLine) XToCursor(x float64, cpos QTextLine__CursorPosition) int { + if ptr.Pointer() != nil { + return int(int32(C.QTextLine_XToCursor(ptr.Pointer(), C.double(x), C.longlong(cpos)))) + } + return 0 +} + +func (ptr *QTextLine) Y() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextLine_Y(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextLine) __glyphRuns_atList(i int) *QGlyphRun { + if ptr.Pointer() != nil { + tmpValue := NewQGlyphRunFromPointer(C.QTextLine___glyphRuns_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QGlyphRun).DestroyQGlyphRun) + return tmpValue + } + return nil +} + +func (ptr *QTextLine) __glyphRuns_setList(i QGlyphRun_ITF) { + if ptr.Pointer() != nil { + C.QTextLine___glyphRuns_setList(ptr.Pointer(), PointerFromQGlyphRun(i)) + } +} + +func (ptr *QTextLine) __glyphRuns_newList() unsafe.Pointer { + return C.QTextLine___glyphRuns_newList(ptr.Pointer()) +} + +type QTextList struct { + QTextBlockGroup +} + +type QTextList_ITF interface { + QTextBlockGroup_ITF + QTextList_PTR() *QTextList +} + +func (ptr *QTextList) QTextList_PTR() *QTextList { + return ptr +} + +func (ptr *QTextList) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextBlockGroup_PTR().Pointer() + } + return nil +} + +func (ptr *QTextList) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextBlockGroup_PTR().SetPointer(p) + } +} + +func PointerFromQTextList(ptr QTextList_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextList_PTR().Pointer() + } + return nil +} + +func NewQTextListFromPointer(ptr unsafe.Pointer) (n *QTextList) { + n = new(QTextList) + n.SetPointer(ptr) + return +} +func (ptr *QTextList) Add(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QTextList_Add(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +func (ptr *QTextList) Count() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextList_Count(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextList) Format() *QTextListFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextListFormatFromPointer(C.QTextList_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextListFormat).DestroyQTextListFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextList) Item(i int) *QTextBlock { + if ptr.Pointer() != nil { + tmpValue := NewQTextBlockFromPointer(C.QTextList_Item(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QTextBlock).DestroyQTextBlock) + return tmpValue + } + return nil +} + +func (ptr *QTextList) ItemNumber(block QTextBlock_ITF) int { + if ptr.Pointer() != nil { + return int(int32(C.QTextList_ItemNumber(ptr.Pointer(), PointerFromQTextBlock(block)))) + } + return 0 +} + +func (ptr *QTextList) ItemText(block QTextBlock_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextList_ItemText(ptr.Pointer(), PointerFromQTextBlock(block))) + } + return "" +} + +func (ptr *QTextList) Remove(block QTextBlock_ITF) { + if ptr.Pointer() != nil { + C.QTextList_Remove(ptr.Pointer(), PointerFromQTextBlock(block)) + } +} + +func (ptr *QTextList) RemoveItem(i int) { + if ptr.Pointer() != nil { + C.QTextList_RemoveItem(ptr.Pointer(), C.int(int32(i))) + } +} + +func (ptr *QTextList) SetFormat(format QTextListFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextList_SetFormat(ptr.Pointer(), PointerFromQTextListFormat(format)) + } +} + +type QTextListFormat struct { + QTextFormat +} + +type QTextListFormat_ITF interface { + QTextFormat_ITF + QTextListFormat_PTR() *QTextListFormat +} + +func (ptr *QTextListFormat) QTextListFormat_PTR() *QTextListFormat { + return ptr +} + +func (ptr *QTextListFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextFormat_PTR().Pointer() + } + return nil +} + +func (ptr *QTextListFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextFormat_PTR().SetPointer(p) + } +} + +func PointerFromQTextListFormat(ptr QTextListFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextListFormat_PTR().Pointer() + } + return nil +} + +func NewQTextListFormatFromPointer(ptr unsafe.Pointer) (n *QTextListFormat) { + n = new(QTextListFormat) + n.SetPointer(ptr) + return +} + +func (ptr *QTextListFormat) DestroyQTextListFormat() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QTextListFormat__Style +//QTextListFormat::Style +type QTextListFormat__Style int64 + +var ( + QTextListFormat__ListDisc QTextListFormat__Style = QTextListFormat__Style(-1) + QTextListFormat__ListCircle QTextListFormat__Style = QTextListFormat__Style(-2) + QTextListFormat__ListSquare QTextListFormat__Style = QTextListFormat__Style(-3) + QTextListFormat__ListDecimal QTextListFormat__Style = QTextListFormat__Style(-4) + QTextListFormat__ListLowerAlpha QTextListFormat__Style = QTextListFormat__Style(-5) + QTextListFormat__ListUpperAlpha QTextListFormat__Style = QTextListFormat__Style(-6) + QTextListFormat__ListLowerRoman QTextListFormat__Style = QTextListFormat__Style(-7) + QTextListFormat__ListUpperRoman QTextListFormat__Style = QTextListFormat__Style(-8) + QTextListFormat__ListStyleUndefined QTextListFormat__Style = QTextListFormat__Style(0) +) + +func NewQTextListFormat() *QTextListFormat { + tmpValue := NewQTextListFormatFromPointer(C.QTextListFormat_NewQTextListFormat()) + runtime.SetFinalizer(tmpValue, (*QTextListFormat).DestroyQTextListFormat) + return tmpValue +} + +func (ptr *QTextListFormat) Indent() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextListFormat_Indent(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextListFormat) NumberPrefix() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextListFormat_NumberPrefix(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextListFormat) NumberSuffix() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTextListFormat_NumberSuffix(ptr.Pointer())) + } + return "" +} + +func (ptr *QTextListFormat) SetIndent(indentation int) { + if ptr.Pointer() != nil { + C.QTextListFormat_SetIndent(ptr.Pointer(), C.int(int32(indentation))) + } +} + +func (ptr *QTextListFormat) SetNumberPrefix(numberPrefix string) { + if ptr.Pointer() != nil { + var numberPrefixC *C.char + if numberPrefix != "" { + numberPrefixC = C.CString(numberPrefix) + defer C.free(unsafe.Pointer(numberPrefixC)) + } + C.QTextListFormat_SetNumberPrefix(ptr.Pointer(), C.struct_QtGui_PackedString{data: numberPrefixC, len: C.longlong(len(numberPrefix))}) + } +} + +func (ptr *QTextListFormat) SetNumberSuffix(numberSuffix string) { + if ptr.Pointer() != nil { + var numberSuffixC *C.char + if numberSuffix != "" { + numberSuffixC = C.CString(numberSuffix) + defer C.free(unsafe.Pointer(numberSuffixC)) + } + C.QTextListFormat_SetNumberSuffix(ptr.Pointer(), C.struct_QtGui_PackedString{data: numberSuffixC, len: C.longlong(len(numberSuffix))}) + } +} + +func (ptr *QTextListFormat) SetStyle(style QTextListFormat__Style) { + if ptr.Pointer() != nil { + C.QTextListFormat_SetStyle(ptr.Pointer(), C.longlong(style)) + } +} + +func (ptr *QTextListFormat) Style() QTextListFormat__Style { + if ptr.Pointer() != nil { + return QTextListFormat__Style(C.QTextListFormat_Style(ptr.Pointer())) + } + return 0 +} + +type QTextObject struct { + core.QObject +} + +type QTextObject_ITF interface { + core.QObject_ITF + QTextObject_PTR() *QTextObject +} + +func (ptr *QTextObject) QTextObject_PTR() *QTextObject { + return ptr +} + +func (ptr *QTextObject) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QTextObject) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQTextObject(ptr QTextObject_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextObject_PTR().Pointer() + } + return nil +} + +func NewQTextObjectFromPointer(ptr unsafe.Pointer) (n *QTextObject) { + n = new(QTextObject) + n.SetPointer(ptr) + return +} +func NewQTextObject(document QTextDocument_ITF) *QTextObject { + tmpValue := NewQTextObjectFromPointer(C.QTextObject_NewQTextObject(PointerFromQTextDocument(document))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QTextObject) Document() *QTextDocument { + if ptr.Pointer() != nil { + tmpValue := NewQTextDocumentFromPointer(C.QTextObject_Document(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextObject) Format() *QTextFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextFormatFromPointer(C.QTextObject_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextFormat).DestroyQTextFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextObject) FormatIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextObject_FormatIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextObject) ObjectIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextObject_ObjectIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextObject) SetFormat(format QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextObject_SetFormat(ptr.Pointer(), PointerFromQTextFormat(format)) + } +} + +//export callbackQTextObject_DestroyQTextObject +func callbackQTextObject_DestroyQTextObject(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTextObject"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextObjectFromPointer(ptr).DestroyQTextObjectDefault() + } +} + +func (ptr *QTextObject) ConnectDestroyQTextObject(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTextObject"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTextObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTextObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextObject) DisconnectDestroyQTextObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTextObject") + } +} + +func (ptr *QTextObject) DestroyQTextObject() { + if ptr.Pointer() != nil { + C.QTextObject_DestroyQTextObject(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextObject) DestroyQTextObjectDefault() { + if ptr.Pointer() != nil { + C.QTextObject_DestroyQTextObjectDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextObject) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTextObject___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextObject) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTextObject___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTextObject) __children_newList() unsafe.Pointer { + return C.QTextObject___children_newList(ptr.Pointer()) +} + +func (ptr *QTextObject) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QTextObject___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTextObject) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTextObject___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QTextObject) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QTextObject___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QTextObject) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTextObject___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextObject) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTextObject___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTextObject) __findChildren_newList() unsafe.Pointer { + return C.QTextObject___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QTextObject) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTextObject___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextObject) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTextObject___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTextObject) __findChildren_newList3() unsafe.Pointer { + return C.QTextObject___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QTextObject) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTextObject___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTextObject) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTextObject___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTextObject) __qFindChildren_newList2() unsafe.Pointer { + return C.QTextObject___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQTextObject_ChildEvent +func callbackQTextObject_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQTextObjectFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QTextObject) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QTextObject_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQTextObject_ConnectNotify +func callbackQTextObject_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQTextObjectFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QTextObject) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QTextObject_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQTextObject_CustomEvent +func callbackQTextObject_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQTextObjectFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QTextObject) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QTextObject_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQTextObject_DeleteLater +func callbackQTextObject_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextObjectFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QTextObject) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QTextObject_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQTextObject_Destroyed +func callbackQTextObject_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQTextObject_DisconnectNotify +func callbackQTextObject_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQTextObjectFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QTextObject) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QTextObject_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQTextObject_Event +func callbackQTextObject_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQTextObjectFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QTextObject) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTextObject_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQTextObject_EventFilter +func callbackQTextObject_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQTextObjectFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QTextObject) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTextObject_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQTextObject_MetaObject +func callbackQTextObject_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQTextObjectFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QTextObject) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QTextObject_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQTextObject_ObjectNameChanged +func callbackQTextObject_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQTextObject_TimerEvent +func callbackQTextObject_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQTextObjectFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QTextObject) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QTextObject_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QTextObjectInterface struct { + ptr unsafe.Pointer +} + +type QTextObjectInterface_ITF interface { + QTextObjectInterface_PTR() *QTextObjectInterface +} + +func (ptr *QTextObjectInterface) QTextObjectInterface_PTR() *QTextObjectInterface { + return ptr +} + +func (ptr *QTextObjectInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextObjectInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextObjectInterface(ptr QTextObjectInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextObjectInterface_PTR().Pointer() + } + return nil +} + +func NewQTextObjectInterfaceFromPointer(ptr unsafe.Pointer) (n *QTextObjectInterface) { + n = new(QTextObjectInterface) + n.SetPointer(ptr) + return +} + +//export callbackQTextObjectInterface_DrawObject +func callbackQTextObjectInterface_DrawObject(ptr unsafe.Pointer, painter unsafe.Pointer, rect unsafe.Pointer, doc unsafe.Pointer, posInDocument C.int, format unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "drawObject"); signal != nil { + (*(*func(*QPainter, *core.QRectF, *QTextDocument, int, *QTextFormat))(signal))(NewQPainterFromPointer(painter), core.NewQRectFFromPointer(rect), NewQTextDocumentFromPointer(doc), int(int32(posInDocument)), NewQTextFormatFromPointer(format)) + } + +} + +func (ptr *QTextObjectInterface) ConnectDrawObject(f func(painter *QPainter, rect *core.QRectF, doc *QTextDocument, posInDocument int, format *QTextFormat)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "drawObject"); signal != nil { + f := func(painter *QPainter, rect *core.QRectF, doc *QTextDocument, posInDocument int, format *QTextFormat) { + (*(*func(*QPainter, *core.QRectF, *QTextDocument, int, *QTextFormat))(signal))(painter, rect, doc, posInDocument, format) + f(painter, rect, doc, posInDocument, format) + } + qt.ConnectSignal(ptr.Pointer(), "drawObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "drawObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextObjectInterface) DisconnectDrawObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "drawObject") + } +} + +func (ptr *QTextObjectInterface) DrawObject(painter QPainter_ITF, rect core.QRectF_ITF, doc QTextDocument_ITF, posInDocument int, format QTextFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextObjectInterface_DrawObject(ptr.Pointer(), PointerFromQPainter(painter), core.PointerFromQRectF(rect), PointerFromQTextDocument(doc), C.int(int32(posInDocument)), PointerFromQTextFormat(format)) + } +} + +//export callbackQTextObjectInterface_IntrinsicSize +func callbackQTextObjectInterface_IntrinsicSize(ptr unsafe.Pointer, doc unsafe.Pointer, posInDocument C.int, format unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "intrinsicSize"); signal != nil { + return core.PointerFromQSizeF((*(*func(*QTextDocument, int, *QTextFormat) *core.QSizeF)(signal))(NewQTextDocumentFromPointer(doc), int(int32(posInDocument)), NewQTextFormatFromPointer(format))) + } + + return core.PointerFromQSizeF(core.NewQSizeF()) +} + +func (ptr *QTextObjectInterface) ConnectIntrinsicSize(f func(doc *QTextDocument, posInDocument int, format *QTextFormat) *core.QSizeF) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "intrinsicSize"); signal != nil { + f := func(doc *QTextDocument, posInDocument int, format *QTextFormat) *core.QSizeF { + (*(*func(*QTextDocument, int, *QTextFormat) *core.QSizeF)(signal))(doc, posInDocument, format) + return f(doc, posInDocument, format) + } + qt.ConnectSignal(ptr.Pointer(), "intrinsicSize", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "intrinsicSize", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextObjectInterface) DisconnectIntrinsicSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "intrinsicSize") + } +} + +func (ptr *QTextObjectInterface) IntrinsicSize(doc QTextDocument_ITF, posInDocument int, format QTextFormat_ITF) *core.QSizeF { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFFromPointer(C.QTextObjectInterface_IntrinsicSize(ptr.Pointer(), PointerFromQTextDocument(doc), C.int(int32(posInDocument)), PointerFromQTextFormat(format))) + runtime.SetFinalizer(tmpValue, (*core.QSizeF).DestroyQSizeF) + return tmpValue + } + return nil +} + +//export callbackQTextObjectInterface_DestroyQTextObjectInterface +func callbackQTextObjectInterface_DestroyQTextObjectInterface(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTextObjectInterface"); signal != nil { + (*(*func())(signal))() + } else { + NewQTextObjectInterfaceFromPointer(ptr).DestroyQTextObjectInterfaceDefault() + } +} + +func (ptr *QTextObjectInterface) ConnectDestroyQTextObjectInterface(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTextObjectInterface"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTextObjectInterface", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTextObjectInterface", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTextObjectInterface) DisconnectDestroyQTextObjectInterface() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTextObjectInterface") + } +} + +func (ptr *QTextObjectInterface) DestroyQTextObjectInterface() { + if ptr.Pointer() != nil { + C.QTextObjectInterface_DestroyQTextObjectInterface(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextObjectInterface) DestroyQTextObjectInterfaceDefault() { + if ptr.Pointer() != nil { + C.QTextObjectInterface_DestroyQTextObjectInterfaceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextOption struct { + ptr unsafe.Pointer +} + +type QTextOption_ITF interface { + QTextOption_PTR() *QTextOption +} + +func (ptr *QTextOption) QTextOption_PTR() *QTextOption { + return ptr +} + +func (ptr *QTextOption) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextOption) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextOption(ptr QTextOption_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextOption_PTR().Pointer() + } + return nil +} + +func NewQTextOptionFromPointer(ptr unsafe.Pointer) (n *QTextOption) { + n = new(QTextOption) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTextOption__TabType +//QTextOption::TabType +type QTextOption__TabType int64 + +const ( + QTextOption__LeftTab QTextOption__TabType = QTextOption__TabType(0) + QTextOption__RightTab QTextOption__TabType = QTextOption__TabType(1) + QTextOption__CenterTab QTextOption__TabType = QTextOption__TabType(2) + QTextOption__DelimiterTab QTextOption__TabType = QTextOption__TabType(3) +) + +//go:generate stringer -type=QTextOption__WrapMode +//QTextOption::WrapMode +type QTextOption__WrapMode int64 + +const ( + QTextOption__NoWrap QTextOption__WrapMode = QTextOption__WrapMode(0) + QTextOption__WordWrap QTextOption__WrapMode = QTextOption__WrapMode(1) + QTextOption__ManualWrap QTextOption__WrapMode = QTextOption__WrapMode(2) + QTextOption__WrapAnywhere QTextOption__WrapMode = QTextOption__WrapMode(3) + QTextOption__WrapAtWordBoundaryOrAnywhere QTextOption__WrapMode = QTextOption__WrapMode(4) +) + +//go:generate stringer -type=QTextOption__Flag +//QTextOption::Flag +type QTextOption__Flag int64 + +const ( + QTextOption__ShowTabsAndSpaces QTextOption__Flag = QTextOption__Flag(0x1) + QTextOption__ShowLineAndParagraphSeparators QTextOption__Flag = QTextOption__Flag(0x2) + QTextOption__AddSpaceForLineAndParagraphSeparators QTextOption__Flag = QTextOption__Flag(0x4) + QTextOption__SuppressColors QTextOption__Flag = QTextOption__Flag(0x8) + QTextOption__ShowDocumentTerminator QTextOption__Flag = QTextOption__Flag(0x10) + QTextOption__IncludeTrailingSpaces QTextOption__Flag = QTextOption__Flag(0x80000000) +) + +func NewQTextOption() *QTextOption { + tmpValue := NewQTextOptionFromPointer(C.QTextOption_NewQTextOption()) + runtime.SetFinalizer(tmpValue, (*QTextOption).DestroyQTextOption) + return tmpValue +} + +func NewQTextOption2(alignment core.Qt__AlignmentFlag) *QTextOption { + tmpValue := NewQTextOptionFromPointer(C.QTextOption_NewQTextOption2(C.longlong(alignment))) + runtime.SetFinalizer(tmpValue, (*QTextOption).DestroyQTextOption) + return tmpValue +} + +func NewQTextOption3(other QTextOption_ITF) *QTextOption { + tmpValue := NewQTextOptionFromPointer(C.QTextOption_NewQTextOption3(PointerFromQTextOption(other))) + runtime.SetFinalizer(tmpValue, (*QTextOption).DestroyQTextOption) + return tmpValue +} + +func (ptr *QTextOption) Alignment() core.Qt__AlignmentFlag { + if ptr.Pointer() != nil { + return core.Qt__AlignmentFlag(C.QTextOption_Alignment(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextOption) Flags() QTextOption__Flag { + if ptr.Pointer() != nil { + return QTextOption__Flag(C.QTextOption_Flags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextOption) SetAlignment(alignment core.Qt__AlignmentFlag) { + if ptr.Pointer() != nil { + C.QTextOption_SetAlignment(ptr.Pointer(), C.longlong(alignment)) + } +} + +func (ptr *QTextOption) SetFlags(flags QTextOption__Flag) { + if ptr.Pointer() != nil { + C.QTextOption_SetFlags(ptr.Pointer(), C.longlong(flags)) + } +} + +func (ptr *QTextOption) SetTabArray(tabStops []float64) { + if ptr.Pointer() != nil { + C.QTextOption_SetTabArray(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQTextOptionFromPointer(NewQTextOptionFromPointer(nil).__setTabArray_tabStops_newList()) + for _, v := range tabStops { + tmpList.__setTabArray_tabStops_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QTextOption) SetTabStopDistance(tabStopDistance float64) { + if ptr.Pointer() != nil { + C.QTextOption_SetTabStopDistance(ptr.Pointer(), C.double(tabStopDistance)) + } +} + +func (ptr *QTextOption) SetTextDirection(direction core.Qt__LayoutDirection) { + if ptr.Pointer() != nil { + C.QTextOption_SetTextDirection(ptr.Pointer(), C.longlong(direction)) + } +} + +func (ptr *QTextOption) SetUseDesignMetrics(enable bool) { + if ptr.Pointer() != nil { + C.QTextOption_SetUseDesignMetrics(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QTextOption) SetWrapMode(mode QTextOption__WrapMode) { + if ptr.Pointer() != nil { + C.QTextOption_SetWrapMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QTextOption) TabArray() []float64 { + if ptr.Pointer() != nil { + return func(l C.struct_QtGui_PackedList) []float64 { + out := make([]float64, int(l.len)) + tmpList := NewQTextOptionFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__tabArray_atList(i) + } + return out + }(C.QTextOption_TabArray(ptr.Pointer())) + } + return make([]float64, 0) +} + +func (ptr *QTextOption) TabStopDistance() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextOption_TabStopDistance(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextOption) TextDirection() core.Qt__LayoutDirection { + if ptr.Pointer() != nil { + return core.Qt__LayoutDirection(C.QTextOption_TextDirection(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextOption) UseDesignMetrics() bool { + if ptr.Pointer() != nil { + return int8(C.QTextOption_UseDesignMetrics(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextOption) WrapMode() QTextOption__WrapMode { + if ptr.Pointer() != nil { + return QTextOption__WrapMode(C.QTextOption_WrapMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextOption) DestroyQTextOption() { + if ptr.Pointer() != nil { + C.QTextOption_DestroyQTextOption(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTextOption) __setTabArray_tabStops_atList(i int) float64 { + if ptr.Pointer() != nil { + return float64(C.QTextOption___setTabArray_tabStops_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QTextOption) __setTabArray_tabStops_setList(i float64) { + if ptr.Pointer() != nil { + C.QTextOption___setTabArray_tabStops_setList(ptr.Pointer(), C.double(i)) + } +} + +func (ptr *QTextOption) __setTabArray_tabStops_newList() unsafe.Pointer { + return C.QTextOption___setTabArray_tabStops_newList(ptr.Pointer()) +} + +func (ptr *QTextOption) __tabArray_atList(i int) float64 { + if ptr.Pointer() != nil { + return float64(C.QTextOption___tabArray_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QTextOption) __tabArray_setList(i float64) { + if ptr.Pointer() != nil { + C.QTextOption___tabArray_setList(ptr.Pointer(), C.double(i)) + } +} + +func (ptr *QTextOption) __tabArray_newList() unsafe.Pointer { + return C.QTextOption___tabArray_newList(ptr.Pointer()) +} + +type QTextTable struct { + QTextFrame +} + +type QTextTable_ITF interface { + QTextFrame_ITF + QTextTable_PTR() *QTextTable +} + +func (ptr *QTextTable) QTextTable_PTR() *QTextTable { + return ptr +} + +func (ptr *QTextTable) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextFrame_PTR().Pointer() + } + return nil +} + +func (ptr *QTextTable) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextFrame_PTR().SetPointer(p) + } +} + +func PointerFromQTextTable(ptr QTextTable_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextTable_PTR().Pointer() + } + return nil +} + +func NewQTextTableFromPointer(ptr unsafe.Pointer) (n *QTextTable) { + n = new(QTextTable) + n.SetPointer(ptr) + return +} +func (ptr *QTextTable) AppendColumns(count int) { + if ptr.Pointer() != nil { + C.QTextTable_AppendColumns(ptr.Pointer(), C.int(int32(count))) + } +} + +func (ptr *QTextTable) AppendRows(count int) { + if ptr.Pointer() != nil { + C.QTextTable_AppendRows(ptr.Pointer(), C.int(int32(count))) + } +} + +func (ptr *QTextTable) CellAt(row int, column int) *QTextTableCell { + if ptr.Pointer() != nil { + tmpValue := NewQTextTableCellFromPointer(C.QTextTable_CellAt(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)))) + runtime.SetFinalizer(tmpValue, (*QTextTableCell).DestroyQTextTableCell) + return tmpValue + } + return nil +} + +func (ptr *QTextTable) CellAt2(position int) *QTextTableCell { + if ptr.Pointer() != nil { + tmpValue := NewQTextTableCellFromPointer(C.QTextTable_CellAt2(ptr.Pointer(), C.int(int32(position)))) + runtime.SetFinalizer(tmpValue, (*QTextTableCell).DestroyQTextTableCell) + return tmpValue + } + return nil +} + +func (ptr *QTextTable) CellAt3(cursor QTextCursor_ITF) *QTextTableCell { + if ptr.Pointer() != nil { + tmpValue := NewQTextTableCellFromPointer(C.QTextTable_CellAt3(ptr.Pointer(), PointerFromQTextCursor(cursor))) + runtime.SetFinalizer(tmpValue, (*QTextTableCell).DestroyQTextTableCell) + return tmpValue + } + return nil +} + +func (ptr *QTextTable) Columns() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextTable_Columns(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextTable) Format() *QTextTableFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextTableFormatFromPointer(C.QTextTable_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextTableFormat).DestroyQTextTableFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextTable) InsertColumns(index int, columns int) { + if ptr.Pointer() != nil { + C.QTextTable_InsertColumns(ptr.Pointer(), C.int(int32(index)), C.int(int32(columns))) + } +} + +func (ptr *QTextTable) InsertRows(index int, rows int) { + if ptr.Pointer() != nil { + C.QTextTable_InsertRows(ptr.Pointer(), C.int(int32(index)), C.int(int32(rows))) + } +} + +func (ptr *QTextTable) MergeCells(row int, column int, numRows int, numCols int) { + if ptr.Pointer() != nil { + C.QTextTable_MergeCells(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), C.int(int32(numRows)), C.int(int32(numCols))) + } +} + +func (ptr *QTextTable) MergeCells2(cursor QTextCursor_ITF) { + if ptr.Pointer() != nil { + C.QTextTable_MergeCells2(ptr.Pointer(), PointerFromQTextCursor(cursor)) + } +} + +func (ptr *QTextTable) RemoveColumns(index int, columns int) { + if ptr.Pointer() != nil { + C.QTextTable_RemoveColumns(ptr.Pointer(), C.int(int32(index)), C.int(int32(columns))) + } +} + +func (ptr *QTextTable) RemoveRows(index int, rows int) { + if ptr.Pointer() != nil { + C.QTextTable_RemoveRows(ptr.Pointer(), C.int(int32(index)), C.int(int32(rows))) + } +} + +func (ptr *QTextTable) Resize(rows int, columns int) { + if ptr.Pointer() != nil { + C.QTextTable_Resize(ptr.Pointer(), C.int(int32(rows)), C.int(int32(columns))) + } +} + +func (ptr *QTextTable) RowEnd(cursor QTextCursor_ITF) *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextTable_RowEnd(ptr.Pointer(), PointerFromQTextCursor(cursor))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextTable) RowStart(cursor QTextCursor_ITF) *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextTable_RowStart(ptr.Pointer(), PointerFromQTextCursor(cursor))) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextTable) Rows() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextTable_Rows(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextTable) SetFormat(format QTextTableFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextTable_SetFormat(ptr.Pointer(), PointerFromQTextTableFormat(format)) + } +} + +func (ptr *QTextTable) SplitCell(row int, column int, numRows int, numCols int) { + if ptr.Pointer() != nil { + C.QTextTable_SplitCell(ptr.Pointer(), C.int(int32(row)), C.int(int32(column)), C.int(int32(numRows)), C.int(int32(numCols))) + } +} + +type QTextTableCell struct { + ptr unsafe.Pointer +} + +type QTextTableCell_ITF interface { + QTextTableCell_PTR() *QTextTableCell +} + +func (ptr *QTextTableCell) QTextTableCell_PTR() *QTextTableCell { + return ptr +} + +func (ptr *QTextTableCell) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTextTableCell) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTextTableCell(ptr QTextTableCell_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextTableCell_PTR().Pointer() + } + return nil +} + +func NewQTextTableCellFromPointer(ptr unsafe.Pointer) (n *QTextTableCell) { + n = new(QTextTableCell) + n.SetPointer(ptr) + return +} +func NewQTextTableCell() *QTextTableCell { + tmpValue := NewQTextTableCellFromPointer(C.QTextTableCell_NewQTextTableCell()) + runtime.SetFinalizer(tmpValue, (*QTextTableCell).DestroyQTextTableCell) + return tmpValue +} + +func NewQTextTableCell2(other QTextTableCell_ITF) *QTextTableCell { + tmpValue := NewQTextTableCellFromPointer(C.QTextTableCell_NewQTextTableCell2(PointerFromQTextTableCell(other))) + runtime.SetFinalizer(tmpValue, (*QTextTableCell).DestroyQTextTableCell) + return tmpValue +} + +func (ptr *QTextTableCell) Column() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextTableCell_Column(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextTableCell) ColumnSpan() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextTableCell_ColumnSpan(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextTableCell) FirstCursorPosition() *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextTableCell_FirstCursorPosition(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextTableCell) Format() *QTextCharFormat { + if ptr.Pointer() != nil { + tmpValue := NewQTextCharFormatFromPointer(C.QTextTableCell_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCharFormat).DestroyQTextCharFormat) + return tmpValue + } + return nil +} + +func (ptr *QTextTableCell) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QTextTableCell_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTextTableCell) LastCursorPosition() *QTextCursor { + if ptr.Pointer() != nil { + tmpValue := NewQTextCursorFromPointer(C.QTextTableCell_LastCursorPosition(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTextCursor).DestroyQTextCursor) + return tmpValue + } + return nil +} + +func (ptr *QTextTableCell) Row() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextTableCell_Row(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextTableCell) RowSpan() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextTableCell_RowSpan(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextTableCell) SetFormat(format QTextCharFormat_ITF) { + if ptr.Pointer() != nil { + C.QTextTableCell_SetFormat(ptr.Pointer(), PointerFromQTextCharFormat(format)) + } +} + +func (ptr *QTextTableCell) TableCellFormatIndex() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextTableCell_TableCellFormatIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextTableCell) DestroyQTextTableCell() { + if ptr.Pointer() != nil { + C.QTextTableCell_DestroyQTextTableCell(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QTextTableCellFormat struct { + QTextCharFormat +} + +type QTextTableCellFormat_ITF interface { + QTextCharFormat_ITF + QTextTableCellFormat_PTR() *QTextTableCellFormat +} + +func (ptr *QTextTableCellFormat) QTextTableCellFormat_PTR() *QTextTableCellFormat { + return ptr +} + +func (ptr *QTextTableCellFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextCharFormat_PTR().Pointer() + } + return nil +} + +func (ptr *QTextTableCellFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextCharFormat_PTR().SetPointer(p) + } +} + +func PointerFromQTextTableCellFormat(ptr QTextTableCellFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextTableCellFormat_PTR().Pointer() + } + return nil +} + +func NewQTextTableCellFormatFromPointer(ptr unsafe.Pointer) (n *QTextTableCellFormat) { + n = new(QTextTableCellFormat) + n.SetPointer(ptr) + return +} + +func (ptr *QTextTableCellFormat) DestroyQTextTableCellFormat() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQTextTableCellFormat() *QTextTableCellFormat { + tmpValue := NewQTextTableCellFormatFromPointer(C.QTextTableCellFormat_NewQTextTableCellFormat()) + runtime.SetFinalizer(tmpValue, (*QTextTableCellFormat).DestroyQTextTableCellFormat) + return tmpValue +} + +func (ptr *QTextTableCellFormat) BottomPadding() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextTableCellFormat_BottomPadding(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextTableCellFormat) LeftPadding() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextTableCellFormat_LeftPadding(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextTableCellFormat) RightPadding() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextTableCellFormat_RightPadding(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextTableCellFormat) SetBottomPadding(padding float64) { + if ptr.Pointer() != nil { + C.QTextTableCellFormat_SetBottomPadding(ptr.Pointer(), C.double(padding)) + } +} + +func (ptr *QTextTableCellFormat) SetLeftPadding(padding float64) { + if ptr.Pointer() != nil { + C.QTextTableCellFormat_SetLeftPadding(ptr.Pointer(), C.double(padding)) + } +} + +func (ptr *QTextTableCellFormat) SetPadding(padding float64) { + if ptr.Pointer() != nil { + C.QTextTableCellFormat_SetPadding(ptr.Pointer(), C.double(padding)) + } +} + +func (ptr *QTextTableCellFormat) SetRightPadding(padding float64) { + if ptr.Pointer() != nil { + C.QTextTableCellFormat_SetRightPadding(ptr.Pointer(), C.double(padding)) + } +} + +func (ptr *QTextTableCellFormat) SetTopPadding(padding float64) { + if ptr.Pointer() != nil { + C.QTextTableCellFormat_SetTopPadding(ptr.Pointer(), C.double(padding)) + } +} + +func (ptr *QTextTableCellFormat) TopPadding() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextTableCellFormat_TopPadding(ptr.Pointer())) + } + return 0 +} + +type QTextTableFormat struct { + QTextFrameFormat +} + +type QTextTableFormat_ITF interface { + QTextFrameFormat_ITF + QTextTableFormat_PTR() *QTextTableFormat +} + +func (ptr *QTextTableFormat) QTextTableFormat_PTR() *QTextTableFormat { + return ptr +} + +func (ptr *QTextTableFormat) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTextFrameFormat_PTR().Pointer() + } + return nil +} + +func (ptr *QTextTableFormat) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTextFrameFormat_PTR().SetPointer(p) + } +} + +func PointerFromQTextTableFormat(ptr QTextTableFormat_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTextTableFormat_PTR().Pointer() + } + return nil +} + +func NewQTextTableFormatFromPointer(ptr unsafe.Pointer) (n *QTextTableFormat) { + n = new(QTextTableFormat) + n.SetPointer(ptr) + return +} + +func (ptr *QTextTableFormat) DestroyQTextTableFormat() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQTextTableFormat() *QTextTableFormat { + tmpValue := NewQTextTableFormatFromPointer(C.QTextTableFormat_NewQTextTableFormat()) + runtime.SetFinalizer(tmpValue, (*QTextTableFormat).DestroyQTextTableFormat) + return tmpValue +} + +func (ptr *QTextTableFormat) Alignment() core.Qt__AlignmentFlag { + if ptr.Pointer() != nil { + return core.Qt__AlignmentFlag(C.QTextTableFormat_Alignment(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextTableFormat) CellPadding() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextTableFormat_CellPadding(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextTableFormat) CellSpacing() float64 { + if ptr.Pointer() != nil { + return float64(C.QTextTableFormat_CellSpacing(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTextTableFormat) ClearColumnWidthConstraints() { + if ptr.Pointer() != nil { + C.QTextTableFormat_ClearColumnWidthConstraints(ptr.Pointer()) + } +} + +func (ptr *QTextTableFormat) Columns() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextTableFormat_Columns(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextTableFormat) HeaderRowCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QTextTableFormat_HeaderRowCount(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTextTableFormat) SetAlignment(alignment core.Qt__AlignmentFlag) { + if ptr.Pointer() != nil { + C.QTextTableFormat_SetAlignment(ptr.Pointer(), C.longlong(alignment)) + } +} + +func (ptr *QTextTableFormat) SetCellPadding(padding float64) { + if ptr.Pointer() != nil { + C.QTextTableFormat_SetCellPadding(ptr.Pointer(), C.double(padding)) + } +} + +func (ptr *QTextTableFormat) SetCellSpacing(spacing float64) { + if ptr.Pointer() != nil { + C.QTextTableFormat_SetCellSpacing(ptr.Pointer(), C.double(spacing)) + } +} + +func (ptr *QTextTableFormat) SetColumnWidthConstraints(constraints []*QTextLength) { + if ptr.Pointer() != nil { + C.QTextTableFormat_SetColumnWidthConstraints(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQTextTableFormatFromPointer(NewQTextTableFormatFromPointer(nil).__setColumnWidthConstraints_constraints_newList()) + for _, v := range constraints { + tmpList.__setColumnWidthConstraints_constraints_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QTextTableFormat) SetHeaderRowCount(count int) { + if ptr.Pointer() != nil { + C.QTextTableFormat_SetHeaderRowCount(ptr.Pointer(), C.int(int32(count))) + } +} + +func (ptr *QTextTableFormat) __columnWidthConstraints_atList(i int) *QTextLength { + if ptr.Pointer() != nil { + tmpValue := NewQTextLengthFromPointer(C.QTextTableFormat___columnWidthConstraints_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QTextLength).DestroyQTextLength) + return tmpValue + } + return nil +} + +func (ptr *QTextTableFormat) __columnWidthConstraints_setList(i QTextLength_ITF) { + if ptr.Pointer() != nil { + C.QTextTableFormat___columnWidthConstraints_setList(ptr.Pointer(), PointerFromQTextLength(i)) + } +} + +func (ptr *QTextTableFormat) __columnWidthConstraints_newList() unsafe.Pointer { + return C.QTextTableFormat___columnWidthConstraints_newList(ptr.Pointer()) +} + +func (ptr *QTextTableFormat) __setColumnWidthConstraints_constraints_atList(i int) *QTextLength { + if ptr.Pointer() != nil { + tmpValue := NewQTextLengthFromPointer(C.QTextTableFormat___setColumnWidthConstraints_constraints_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QTextLength).DestroyQTextLength) + return tmpValue + } + return nil +} + +func (ptr *QTextTableFormat) __setColumnWidthConstraints_constraints_setList(i QTextLength_ITF) { + if ptr.Pointer() != nil { + C.QTextTableFormat___setColumnWidthConstraints_constraints_setList(ptr.Pointer(), PointerFromQTextLength(i)) + } +} + +func (ptr *QTextTableFormat) __setColumnWidthConstraints_constraints_newList() unsafe.Pointer { + return C.QTextTableFormat___setColumnWidthConstraints_constraints_newList(ptr.Pointer()) +} + +type QTouchDevice struct { + ptr unsafe.Pointer +} + +type QTouchDevice_ITF interface { + QTouchDevice_PTR() *QTouchDevice +} + +func (ptr *QTouchDevice) QTouchDevice_PTR() *QTouchDevice { + return ptr +} + +func (ptr *QTouchDevice) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTouchDevice) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTouchDevice(ptr QTouchDevice_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTouchDevice_PTR().Pointer() + } + return nil +} + +func NewQTouchDeviceFromPointer(ptr unsafe.Pointer) (n *QTouchDevice) { + n = new(QTouchDevice) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QTouchDevice__DeviceType +//QTouchDevice::DeviceType +type QTouchDevice__DeviceType int64 + +const ( + QTouchDevice__TouchScreen QTouchDevice__DeviceType = QTouchDevice__DeviceType(0) + QTouchDevice__TouchPad QTouchDevice__DeviceType = QTouchDevice__DeviceType(1) +) + +//go:generate stringer -type=QTouchDevice__CapabilityFlag +//QTouchDevice::CapabilityFlag +type QTouchDevice__CapabilityFlag int64 + +const ( + QTouchDevice__Position QTouchDevice__CapabilityFlag = QTouchDevice__CapabilityFlag(0x0001) + QTouchDevice__Area QTouchDevice__CapabilityFlag = QTouchDevice__CapabilityFlag(0x0002) + QTouchDevice__Pressure QTouchDevice__CapabilityFlag = QTouchDevice__CapabilityFlag(0x0004) + QTouchDevice__Velocity QTouchDevice__CapabilityFlag = QTouchDevice__CapabilityFlag(0x0008) + QTouchDevice__RawPositions QTouchDevice__CapabilityFlag = QTouchDevice__CapabilityFlag(0x0010) + QTouchDevice__NormalizedPosition QTouchDevice__CapabilityFlag = QTouchDevice__CapabilityFlag(0x0020) + QTouchDevice__MouseEmulation QTouchDevice__CapabilityFlag = QTouchDevice__CapabilityFlag(0x0040) +) + +func NewQTouchDevice() *QTouchDevice { + tmpValue := NewQTouchDeviceFromPointer(C.QTouchDevice_NewQTouchDevice()) + runtime.SetFinalizer(tmpValue, (*QTouchDevice).DestroyQTouchDevice) + return tmpValue +} + +func (ptr *QTouchDevice) Capabilities() QTouchDevice__CapabilityFlag { + if ptr.Pointer() != nil { + return QTouchDevice__CapabilityFlag(C.QTouchDevice_Capabilities(ptr.Pointer())) + } + return 0 +} + +func QTouchDevice_Devices() []*QTouchDevice { + return func(l C.struct_QtGui_PackedList) []*QTouchDevice { + out := make([]*QTouchDevice, int(l.len)) + tmpList := NewQTouchDeviceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__devices_atList(i) + } + return out + }(C.QTouchDevice_QTouchDevice_Devices()) +} + +func (ptr *QTouchDevice) Devices() []*QTouchDevice { + return func(l C.struct_QtGui_PackedList) []*QTouchDevice { + out := make([]*QTouchDevice, int(l.len)) + tmpList := NewQTouchDeviceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__devices_atList(i) + } + return out + }(C.QTouchDevice_QTouchDevice_Devices()) +} + +func (ptr *QTouchDevice) MaximumTouchPoints() int { + if ptr.Pointer() != nil { + return int(int32(C.QTouchDevice_MaximumTouchPoints(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QTouchDevice) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTouchDevice_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QTouchDevice) SetCapabilities(caps QTouchDevice__CapabilityFlag) { + if ptr.Pointer() != nil { + C.QTouchDevice_SetCapabilities(ptr.Pointer(), C.longlong(caps)) + } +} + +func (ptr *QTouchDevice) SetMaximumTouchPoints(max int) { + if ptr.Pointer() != nil { + C.QTouchDevice_SetMaximumTouchPoints(ptr.Pointer(), C.int(int32(max))) + } +} + +func (ptr *QTouchDevice) SetName(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QTouchDevice_SetName(ptr.Pointer(), C.struct_QtGui_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QTouchDevice) SetType(devType QTouchDevice__DeviceType) { + if ptr.Pointer() != nil { + C.QTouchDevice_SetType(ptr.Pointer(), C.longlong(devType)) + } +} + +func (ptr *QTouchDevice) Type() QTouchDevice__DeviceType { + if ptr.Pointer() != nil { + return QTouchDevice__DeviceType(C.QTouchDevice_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTouchDevice) DestroyQTouchDevice() { + if ptr.Pointer() != nil { + C.QTouchDevice_DestroyQTouchDevice(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTouchDevice) __devices_atList(i int) *QTouchDevice { + if ptr.Pointer() != nil { + return NewQTouchDeviceFromPointer(C.QTouchDevice___devices_atList(ptr.Pointer(), C.int(int32(i)))) + } + return nil +} + +func (ptr *QTouchDevice) __devices_setList(i QTouchDevice_ITF) { + if ptr.Pointer() != nil { + C.QTouchDevice___devices_setList(ptr.Pointer(), PointerFromQTouchDevice(i)) + } +} + +func (ptr *QTouchDevice) __devices_newList() unsafe.Pointer { + return C.QTouchDevice___devices_newList(ptr.Pointer()) +} + +type QTouchEvent struct { + QInputEvent +} + +type QTouchEvent_ITF interface { + QInputEvent_ITF + QTouchEvent_PTR() *QTouchEvent +} + +func (ptr *QTouchEvent) QTouchEvent_PTR() *QTouchEvent { + return ptr +} + +func (ptr *QTouchEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QInputEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QTouchEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QInputEvent_PTR().SetPointer(p) + } +} + +func PointerFromQTouchEvent(ptr QTouchEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTouchEvent_PTR().Pointer() + } + return nil +} + +func NewQTouchEventFromPointer(ptr unsafe.Pointer) (n *QTouchEvent) { + n = new(QTouchEvent) + n.SetPointer(ptr) + return +} +func (ptr *QTouchEvent) Device() *QTouchDevice { + if ptr.Pointer() != nil { + return NewQTouchDeviceFromPointer(C.QTouchEvent_Device(ptr.Pointer())) + } + return nil +} + +func (ptr *QTouchEvent) Target() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTouchEvent_Target(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTouchEvent) TouchPointStates() core.Qt__TouchPointState { + if ptr.Pointer() != nil { + return core.Qt__TouchPointState(C.QTouchEvent_TouchPointStates(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTouchEvent) Window() *QWindow { + if ptr.Pointer() != nil { + tmpValue := NewQWindowFromPointer(C.QTouchEvent_Window(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQTouchEvent_DestroyQTouchEvent +func callbackQTouchEvent_DestroyQTouchEvent(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTouchEvent"); signal != nil { + (*(*func())(signal))() + } else { + NewQTouchEventFromPointer(ptr).DestroyQTouchEventDefault() + } +} + +func (ptr *QTouchEvent) ConnectDestroyQTouchEvent(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTouchEvent"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTouchEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTouchEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTouchEvent) DisconnectDestroyQTouchEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTouchEvent") + } +} + +func (ptr *QTouchEvent) DestroyQTouchEvent() { + if ptr.Pointer() != nil { + C.QTouchEvent_DestroyQTouchEvent(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTouchEvent) DestroyQTouchEventDefault() { + if ptr.Pointer() != nil { + C.QTouchEvent_DestroyQTouchEventDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTouchEvent) __QTouchEvent_touchPoints_newList() unsafe.Pointer { + return C.QTouchEvent___QTouchEvent_touchPoints_newList(ptr.Pointer()) +} + +func (ptr *QTouchEvent) __setTouchPoints_atouchPoints_newList() unsafe.Pointer { + return C.QTouchEvent___setTouchPoints_atouchPoints_newList(ptr.Pointer()) +} + +func (ptr *QTouchEvent) __touchPoints_newList() unsafe.Pointer { + return C.QTouchEvent___touchPoints_newList(ptr.Pointer()) +} + +func (ptr *QTouchEvent) ___touchPoints_newList() unsafe.Pointer { + return C.QTouchEvent____touchPoints_newList(ptr.Pointer()) +} + +func (ptr *QTouchEvent) __set_touchPoints__newList() unsafe.Pointer { + return C.QTouchEvent___set_touchPoints__newList(ptr.Pointer()) +} + +type QTransform struct { + ptr unsafe.Pointer +} + +type QTransform_ITF interface { + QTransform_PTR() *QTransform +} + +func (ptr *QTransform) QTransform_PTR() *QTransform { + return ptr +} + +func (ptr *QTransform) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QTransform) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQTransform(ptr QTransform_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTransform_PTR().Pointer() + } + return nil +} + +func NewQTransformFromPointer(ptr unsafe.Pointer) (n *QTransform) { + n = new(QTransform) + n.SetPointer(ptr) + return +} + +func (ptr *QTransform) DestroyQTransform() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QTransform__TransformationType +//QTransform::TransformationType +type QTransform__TransformationType int64 + +const ( + QTransform__TxNone QTransform__TransformationType = QTransform__TransformationType(0x00) + QTransform__TxTranslate QTransform__TransformationType = QTransform__TransformationType(0x01) + QTransform__TxScale QTransform__TransformationType = QTransform__TransformationType(0x02) + QTransform__TxRotate QTransform__TransformationType = QTransform__TransformationType(0x04) + QTransform__TxShear QTransform__TransformationType = QTransform__TransformationType(0x08) + QTransform__TxProject QTransform__TransformationType = QTransform__TransformationType(0x10) +) + +func NewQTransform2() *QTransform { + tmpValue := NewQTransformFromPointer(C.QTransform_NewQTransform2()) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func NewQTransform3(m11 float64, m12 float64, m13 float64, m21 float64, m22 float64, m23 float64, m31 float64, m32 float64, m33 float64) *QTransform { + tmpValue := NewQTransformFromPointer(C.QTransform_NewQTransform3(C.double(m11), C.double(m12), C.double(m13), C.double(m21), C.double(m22), C.double(m23), C.double(m31), C.double(m32), C.double(m33))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func NewQTransform4(m11 float64, m12 float64, m21 float64, m22 float64, dx float64, dy float64) *QTransform { + tmpValue := NewQTransformFromPointer(C.QTransform_NewQTransform4(C.double(m11), C.double(m12), C.double(m21), C.double(m22), C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func NewQTransform5(matrix QMatrix_ITF) *QTransform { + tmpValue := NewQTransformFromPointer(C.QTransform_NewQTransform5(PointerFromQMatrix(matrix))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func (ptr *QTransform) Adjoint() *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QTransform_Adjoint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Determinant() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_Determinant(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) Dx() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_Dx(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) Dy() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_Dy(ptr.Pointer())) + } + return 0 +} + +func QTransform_FromScale(sx float64, sy float64) *QTransform { + tmpValue := NewQTransformFromPointer(C.QTransform_QTransform_FromScale(C.double(sx), C.double(sy))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func (ptr *QTransform) FromScale(sx float64, sy float64) *QTransform { + tmpValue := NewQTransformFromPointer(C.QTransform_QTransform_FromScale(C.double(sx), C.double(sy))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func QTransform_FromTranslate(dx float64, dy float64) *QTransform { + tmpValue := NewQTransformFromPointer(C.QTransform_QTransform_FromTranslate(C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func (ptr *QTransform) FromTranslate(dx float64, dy float64) *QTransform { + tmpValue := NewQTransformFromPointer(C.QTransform_QTransform_FromTranslate(C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue +} + +func (ptr *QTransform) Inverted(invertible *bool) *QTransform { + if ptr.Pointer() != nil { + var invertibleC C.char + if invertible != nil { + invertibleC = C.char(int8(qt.GoBoolToInt(*invertible))) + defer func() { *invertible = int8(invertibleC) != 0 }() + } + tmpValue := NewQTransformFromPointer(C.QTransform_Inverted(ptr.Pointer(), &invertibleC)) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QTransform) IsAffine() bool { + if ptr.Pointer() != nil { + return int8(C.QTransform_IsAffine(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTransform) IsIdentity() bool { + if ptr.Pointer() != nil { + return int8(C.QTransform_IsIdentity(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTransform) IsInvertible() bool { + if ptr.Pointer() != nil { + return int8(C.QTransform_IsInvertible(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTransform) IsRotating() bool { + if ptr.Pointer() != nil { + return int8(C.QTransform_IsRotating(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTransform) IsScaling() bool { + if ptr.Pointer() != nil { + return int8(C.QTransform_IsScaling(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTransform) IsTranslating() bool { + if ptr.Pointer() != nil { + return int8(C.QTransform_IsTranslating(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTransform) M11() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_M11(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) M12() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_M12(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) M13() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_M13(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) M21() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_M21(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) M22() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_M22(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) M23() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_M23(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) M31() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_M31(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) M32() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_M32(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) M33() float64 { + if ptr.Pointer() != nil { + return float64(C.QTransform_M33(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTransform) Map(x float64, y float64, tx float64, ty float64) { + if ptr.Pointer() != nil { + C.QTransform_Map(ptr.Pointer(), C.double(x), C.double(y), C.double(tx), C.double(ty)) + } +} + +func (ptr *QTransform) Map2(point core.QPoint_ITF) *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QTransform_Map2(ptr.Pointer(), core.PointerFromQPoint(point))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Map3(p core.QPointF_ITF) *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QTransform_Map3(ptr.Pointer(), core.PointerFromQPointF(p))) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Map4(l core.QLine_ITF) *core.QLine { + if ptr.Pointer() != nil { + tmpValue := core.NewQLineFromPointer(C.QTransform_Map4(ptr.Pointer(), core.PointerFromQLine(l))) + runtime.SetFinalizer(tmpValue, (*core.QLine).DestroyQLine) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Map5(line core.QLineF_ITF) *core.QLineF { + if ptr.Pointer() != nil { + tmpValue := core.NewQLineFFromPointer(C.QTransform_Map5(ptr.Pointer(), core.PointerFromQLineF(line))) + runtime.SetFinalizer(tmpValue, (*core.QLineF).DestroyQLineF) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Map6(polygon QPolygonF_ITF) *QPolygonF { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFFromPointer(C.QTransform_Map6(ptr.Pointer(), PointerFromQPolygonF(polygon))) + runtime.SetFinalizer(tmpValue, (*QPolygonF).DestroyQPolygonF) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Map7(polygon QPolygon_ITF) *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QTransform_Map7(ptr.Pointer(), PointerFromQPolygon(polygon))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Map8(region QRegion_ITF) *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QTransform_Map8(ptr.Pointer(), PointerFromQRegion(region))) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Map9(path QPainterPath_ITF) *QPainterPath { + if ptr.Pointer() != nil { + tmpValue := NewQPainterPathFromPointer(C.QTransform_Map9(ptr.Pointer(), PointerFromQPainterPath(path))) + runtime.SetFinalizer(tmpValue, (*QPainterPath).DestroyQPainterPath) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Map10(x int, y int, tx int, ty int) { + if ptr.Pointer() != nil { + C.QTransform_Map10(ptr.Pointer(), C.int(int32(x)), C.int(int32(y)), C.int(int32(tx)), C.int(int32(ty))) + } +} + +func (ptr *QTransform) MapRect(rectangle core.QRectF_ITF) *core.QRectF { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFFromPointer(C.QTransform_MapRect(ptr.Pointer(), core.PointerFromQRectF(rectangle))) + runtime.SetFinalizer(tmpValue, (*core.QRectF).DestroyQRectF) + return tmpValue + } + return nil +} + +func (ptr *QTransform) MapRect2(rectangle core.QRect_ITF) *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QTransform_MapRect2(ptr.Pointer(), core.PointerFromQRect(rectangle))) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QTransform) MapToPolygon(rectangle core.QRect_ITF) *QPolygon { + if ptr.Pointer() != nil { + tmpValue := NewQPolygonFromPointer(C.QTransform_MapToPolygon(ptr.Pointer(), core.PointerFromQRect(rectangle))) + runtime.SetFinalizer(tmpValue, (*QPolygon).DestroyQPolygon) + return tmpValue + } + return nil +} + +func QTransform_QuadToQuad(one QPolygonF_ITF, two QPolygonF_ITF, trans QTransform_ITF) bool { + return int8(C.QTransform_QTransform_QuadToQuad(PointerFromQPolygonF(one), PointerFromQPolygonF(two), PointerFromQTransform(trans))) != 0 +} + +func (ptr *QTransform) QuadToQuad(one QPolygonF_ITF, two QPolygonF_ITF, trans QTransform_ITF) bool { + return int8(C.QTransform_QTransform_QuadToQuad(PointerFromQPolygonF(one), PointerFromQPolygonF(two), PointerFromQTransform(trans))) != 0 +} + +func QTransform_QuadToSquare(quad QPolygonF_ITF, trans QTransform_ITF) bool { + return int8(C.QTransform_QTransform_QuadToSquare(PointerFromQPolygonF(quad), PointerFromQTransform(trans))) != 0 +} + +func (ptr *QTransform) QuadToSquare(quad QPolygonF_ITF, trans QTransform_ITF) bool { + return int8(C.QTransform_QTransform_QuadToSquare(PointerFromQPolygonF(quad), PointerFromQTransform(trans))) != 0 +} + +func (ptr *QTransform) Reset() { + if ptr.Pointer() != nil { + C.QTransform_Reset(ptr.Pointer()) + } +} + +func (ptr *QTransform) Rotate(angle float64, axis core.Qt__Axis) *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QTransform_Rotate(ptr.Pointer(), C.double(angle), C.longlong(axis))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QTransform) RotateRadians(angle float64, axis core.Qt__Axis) *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QTransform_RotateRadians(ptr.Pointer(), C.double(angle), C.longlong(axis))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Scale(sx float64, sy float64) *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QTransform_Scale(ptr.Pointer(), C.double(sx), C.double(sy))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QTransform) SetMatrix(m11 float64, m12 float64, m13 float64, m21 float64, m22 float64, m23 float64, m31 float64, m32 float64, m33 float64) { + if ptr.Pointer() != nil { + C.QTransform_SetMatrix(ptr.Pointer(), C.double(m11), C.double(m12), C.double(m13), C.double(m21), C.double(m22), C.double(m23), C.double(m31), C.double(m32), C.double(m33)) + } +} + +func (ptr *QTransform) Shear(sh float64, sv float64) *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QTransform_Shear(ptr.Pointer(), C.double(sh), C.double(sv))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func QTransform_SquareToQuad(quad QPolygonF_ITF, trans QTransform_ITF) bool { + return int8(C.QTransform_QTransform_SquareToQuad(PointerFromQPolygonF(quad), PointerFromQTransform(trans))) != 0 +} + +func (ptr *QTransform) SquareToQuad(quad QPolygonF_ITF, trans QTransform_ITF) bool { + return int8(C.QTransform_QTransform_SquareToQuad(PointerFromQPolygonF(quad), PointerFromQTransform(trans))) != 0 +} + +func (ptr *QTransform) ToAffine() *QMatrix { + if ptr.Pointer() != nil { + return NewQMatrixFromPointer(C.QTransform_ToAffine(ptr.Pointer())) + } + return nil +} + +func (ptr *QTransform) Translate(dx float64, dy float64) *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QTransform_Translate(ptr.Pointer(), C.double(dx), C.double(dy))) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Transposed() *QTransform { + if ptr.Pointer() != nil { + tmpValue := NewQTransformFromPointer(C.QTransform_Transposed(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QTransform).DestroyQTransform) + return tmpValue + } + return nil +} + +func (ptr *QTransform) Type() QTransform__TransformationType { + if ptr.Pointer() != nil { + return QTransform__TransformationType(C.QTransform_Type(ptr.Pointer())) + } + return 0 +} + +type QValidator struct { + core.QObject +} + +type QValidator_ITF interface { + core.QObject_ITF + QValidator_PTR() *QValidator +} + +func (ptr *QValidator) QValidator_PTR() *QValidator { + return ptr +} + +func (ptr *QValidator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QValidator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQValidator(ptr QValidator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QValidator_PTR().Pointer() + } + return nil +} + +func NewQValidatorFromPointer(ptr unsafe.Pointer) (n *QValidator) { + n = new(QValidator) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QValidator__State +//QValidator::State +type QValidator__State int64 + +const ( + QValidator__Invalid QValidator__State = QValidator__State(0) + QValidator__Intermediate QValidator__State = QValidator__State(1) + QValidator__Acceptable QValidator__State = QValidator__State(2) +) + +func NewQValidator(parent core.QObject_ITF) *QValidator { + tmpValue := NewQValidatorFromPointer(C.QValidator_NewQValidator(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQValidator_Changed +func callbackQValidator_Changed(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "changed"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QValidator) ConnectChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "changed") { + C.QValidator_ConnectChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "changed"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "changed"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "changed", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "changed", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QValidator) DisconnectChanged() { + if ptr.Pointer() != nil { + C.QValidator_DisconnectChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "changed") + } +} + +func (ptr *QValidator) Changed() { + if ptr.Pointer() != nil { + C.QValidator_Changed(ptr.Pointer()) + } +} + +//export callbackQValidator_Fixup +func callbackQValidator_Fixup(ptr unsafe.Pointer, input C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "fixup"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(input)) + } else { + NewQValidatorFromPointer(ptr).FixupDefault(cGoUnpackString(input)) + } +} + +func (ptr *QValidator) ConnectFixup(f func(input string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "fixup"); signal != nil { + f := func(input string) { + (*(*func(string))(signal))(input) + f(input) + } + qt.ConnectSignal(ptr.Pointer(), "fixup", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "fixup", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QValidator) DisconnectFixup() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "fixup") + } +} + +func (ptr *QValidator) Fixup(input string) { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + C.QValidator_Fixup(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}) + } +} + +func (ptr *QValidator) FixupDefault(input string) { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + C.QValidator_FixupDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}) + } +} + +func (ptr *QValidator) Locale() *core.QLocale { + if ptr.Pointer() != nil { + tmpValue := core.NewQLocaleFromPointer(C.QValidator_Locale(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QLocale).DestroyQLocale) + return tmpValue + } + return nil +} + +func (ptr *QValidator) SetLocale(locale core.QLocale_ITF) { + if ptr.Pointer() != nil { + C.QValidator_SetLocale(ptr.Pointer(), core.PointerFromQLocale(locale)) + } +} + +//export callbackQValidator_Validate +func callbackQValidator_Validate(ptr unsafe.Pointer, input C.struct_QtGui_PackedString, pos C.int) C.longlong { + if signal := qt.GetSignal(ptr, "validate"); signal != nil { + return C.longlong((*(*func(string, int) QValidator__State)(signal))(cGoUnpackString(input), int(int32(pos)))) + } + + return C.longlong(0) +} + +func (ptr *QValidator) ConnectValidate(f func(input string, pos int) QValidator__State) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "validate"); signal != nil { + f := func(input string, pos int) QValidator__State { + (*(*func(string, int) QValidator__State)(signal))(input, pos) + return f(input, pos) + } + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "validate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QValidator) DisconnectValidate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "validate") + } +} + +func (ptr *QValidator) Validate(input string, pos int) QValidator__State { + if ptr.Pointer() != nil { + var inputC *C.char + if input != "" { + inputC = C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + } + return QValidator__State(C.QValidator_Validate(ptr.Pointer(), C.struct_QtGui_PackedString{data: inputC, len: C.longlong(len(input))}, C.int(int32(pos)))) + } + return 0 +} + +//export callbackQValidator_DestroyQValidator +func callbackQValidator_DestroyQValidator(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QValidator"); signal != nil { + (*(*func())(signal))() + } else { + NewQValidatorFromPointer(ptr).DestroyQValidatorDefault() + } +} + +func (ptr *QValidator) ConnectDestroyQValidator(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QValidator"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QValidator", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QValidator", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QValidator) DisconnectDestroyQValidator() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QValidator") + } +} + +func (ptr *QValidator) DestroyQValidator() { + if ptr.Pointer() != nil { + C.QValidator_DestroyQValidator(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QValidator) DestroyQValidatorDefault() { + if ptr.Pointer() != nil { + C.QValidator_DestroyQValidatorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QValidator) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QValidator___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QValidator) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QValidator___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QValidator) __children_newList() unsafe.Pointer { + return C.QValidator___children_newList(ptr.Pointer()) +} + +func (ptr *QValidator) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QValidator___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QValidator) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QValidator___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QValidator) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QValidator___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QValidator) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QValidator___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QValidator) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QValidator___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QValidator) __findChildren_newList() unsafe.Pointer { + return C.QValidator___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QValidator) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QValidator___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QValidator) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QValidator___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QValidator) __findChildren_newList3() unsafe.Pointer { + return C.QValidator___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QValidator) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QValidator___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QValidator) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QValidator___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QValidator) __qFindChildren_newList2() unsafe.Pointer { + return C.QValidator___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQValidator_ChildEvent +func callbackQValidator_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQValidatorFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QValidator) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QValidator_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQValidator_ConnectNotify +func callbackQValidator_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQValidatorFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QValidator) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QValidator_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQValidator_CustomEvent +func callbackQValidator_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQValidatorFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QValidator) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QValidator_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQValidator_DeleteLater +func callbackQValidator_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQValidatorFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QValidator) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QValidator_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQValidator_Destroyed +func callbackQValidator_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQValidator_DisconnectNotify +func callbackQValidator_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQValidatorFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QValidator) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QValidator_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQValidator_Event +func callbackQValidator_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQValidatorFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QValidator) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QValidator_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQValidator_EventFilter +func callbackQValidator_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQValidatorFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QValidator) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QValidator_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQValidator_MetaObject +func callbackQValidator_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQValidatorFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QValidator) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QValidator_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQValidator_ObjectNameChanged +func callbackQValidator_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQValidator_TimerEvent +func callbackQValidator_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQValidatorFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QValidator) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QValidator_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QVector2D struct { + ptr unsafe.Pointer +} + +type QVector2D_ITF interface { + QVector2D_PTR() *QVector2D +} + +func (ptr *QVector2D) QVector2D_PTR() *QVector2D { + return ptr +} + +func (ptr *QVector2D) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVector2D) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVector2D(ptr QVector2D_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVector2D_PTR().Pointer() + } + return nil +} + +func NewQVector2DFromPointer(ptr unsafe.Pointer) (n *QVector2D) { + n = new(QVector2D) + n.SetPointer(ptr) + return +} + +func (ptr *QVector2D) DestroyQVector2D() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQVector2D() *QVector2D { + tmpValue := NewQVector2DFromPointer(C.QVector2D_NewQVector2D()) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue +} + +func NewQVector2D3(xpos float32, ypos float32) *QVector2D { + tmpValue := NewQVector2DFromPointer(C.QVector2D_NewQVector2D3(C.float(xpos), C.float(ypos))) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue +} + +func NewQVector2D4(point core.QPoint_ITF) *QVector2D { + tmpValue := NewQVector2DFromPointer(C.QVector2D_NewQVector2D4(core.PointerFromQPoint(point))) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue +} + +func NewQVector2D5(point core.QPointF_ITF) *QVector2D { + tmpValue := NewQVector2DFromPointer(C.QVector2D_NewQVector2D5(core.PointerFromQPointF(point))) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue +} + +func NewQVector2D6(vector QVector3D_ITF) *QVector2D { + tmpValue := NewQVector2DFromPointer(C.QVector2D_NewQVector2D6(PointerFromQVector3D(vector))) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue +} + +func NewQVector2D7(vector QVector4D_ITF) *QVector2D { + tmpValue := NewQVector2DFromPointer(C.QVector2D_NewQVector2D7(PointerFromQVector4D(vector))) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue +} + +func (ptr *QVector2D) DistanceToLine(point QVector2D_ITF, direction QVector2D_ITF) float32 { + if ptr.Pointer() != nil { + return float32(C.QVector2D_DistanceToLine(ptr.Pointer(), PointerFromQVector2D(point), PointerFromQVector2D(direction))) + } + return 0 +} + +func (ptr *QVector2D) DistanceToPoint(point QVector2D_ITF) float32 { + if ptr.Pointer() != nil { + return float32(C.QVector2D_DistanceToPoint(ptr.Pointer(), PointerFromQVector2D(point))) + } + return 0 +} + +func QVector2D_DotProduct(v1 QVector2D_ITF, v2 QVector2D_ITF) float32 { + return float32(C.QVector2D_QVector2D_DotProduct(PointerFromQVector2D(v1), PointerFromQVector2D(v2))) +} + +func (ptr *QVector2D) DotProduct(v1 QVector2D_ITF, v2 QVector2D_ITF) float32 { + return float32(C.QVector2D_QVector2D_DotProduct(PointerFromQVector2D(v1), PointerFromQVector2D(v2))) +} + +func (ptr *QVector2D) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QVector2D_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QVector2D) Length() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector2D_Length(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector2D) LengthSquared() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector2D_LengthSquared(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector2D) Normalize() { + if ptr.Pointer() != nil { + C.QVector2D_Normalize(ptr.Pointer()) + } +} + +func (ptr *QVector2D) Normalized() *QVector2D { + if ptr.Pointer() != nil { + tmpValue := NewQVector2DFromPointer(C.QVector2D_Normalized(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue + } + return nil +} + +func (ptr *QVector2D) SetX(x float32) { + if ptr.Pointer() != nil { + C.QVector2D_SetX(ptr.Pointer(), C.float(x)) + } +} + +func (ptr *QVector2D) SetY(y float32) { + if ptr.Pointer() != nil { + C.QVector2D_SetY(ptr.Pointer(), C.float(y)) + } +} + +func (ptr *QVector2D) ToPoint() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QVector2D_ToPoint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QVector2D) ToPointF() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QVector2D_ToPointF(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QVector2D) ToVector3D() *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QVector2D_ToVector3D(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QVector2D) ToVector4D() *QVector4D { + if ptr.Pointer() != nil { + tmpValue := NewQVector4DFromPointer(C.QVector2D_ToVector4D(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue + } + return nil +} + +func (ptr *QVector2D) X() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector2D_X(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector2D) Y() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector2D_Y(ptr.Pointer())) + } + return 0 +} + +type QVector3D struct { + ptr unsafe.Pointer +} + +type QVector3D_ITF interface { + QVector3D_PTR() *QVector3D +} + +func (ptr *QVector3D) QVector3D_PTR() *QVector3D { + return ptr +} + +func (ptr *QVector3D) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVector3D) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVector3D(ptr QVector3D_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVector3D_PTR().Pointer() + } + return nil +} + +func NewQVector3DFromPointer(ptr unsafe.Pointer) (n *QVector3D) { + n = new(QVector3D) + n.SetPointer(ptr) + return +} + +func (ptr *QVector3D) DestroyQVector3D() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQVector3D() *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_NewQVector3D()) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func NewQVector3D3(xpos float32, ypos float32, zpos float32) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_NewQVector3D3(C.float(xpos), C.float(ypos), C.float(zpos))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func NewQVector3D4(point core.QPoint_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_NewQVector3D4(core.PointerFromQPoint(point))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func NewQVector3D5(point core.QPointF_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_NewQVector3D5(core.PointerFromQPointF(point))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func NewQVector3D6(vector QVector2D_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_NewQVector3D6(PointerFromQVector2D(vector))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func NewQVector3D7(vector QVector2D_ITF, zpos float32) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_NewQVector3D7(PointerFromQVector2D(vector), C.float(zpos))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func NewQVector3D8(vector QVector4D_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_NewQVector3D8(PointerFromQVector4D(vector))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func QVector3D_CrossProduct(v1 QVector3D_ITF, v2 QVector3D_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_QVector3D_CrossProduct(PointerFromQVector3D(v1), PointerFromQVector3D(v2))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func (ptr *QVector3D) CrossProduct(v1 QVector3D_ITF, v2 QVector3D_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_QVector3D_CrossProduct(PointerFromQVector3D(v1), PointerFromQVector3D(v2))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func (ptr *QVector3D) DistanceToLine(point QVector3D_ITF, direction QVector3D_ITF) float32 { + if ptr.Pointer() != nil { + return float32(C.QVector3D_DistanceToLine(ptr.Pointer(), PointerFromQVector3D(point), PointerFromQVector3D(direction))) + } + return 0 +} + +func (ptr *QVector3D) DistanceToPlane(plane QVector3D_ITF, normal QVector3D_ITF) float32 { + if ptr.Pointer() != nil { + return float32(C.QVector3D_DistanceToPlane(ptr.Pointer(), PointerFromQVector3D(plane), PointerFromQVector3D(normal))) + } + return 0 +} + +func (ptr *QVector3D) DistanceToPlane2(plane1 QVector3D_ITF, plane2 QVector3D_ITF, plane3 QVector3D_ITF) float32 { + if ptr.Pointer() != nil { + return float32(C.QVector3D_DistanceToPlane2(ptr.Pointer(), PointerFromQVector3D(plane1), PointerFromQVector3D(plane2), PointerFromQVector3D(plane3))) + } + return 0 +} + +func (ptr *QVector3D) DistanceToPoint(point QVector3D_ITF) float32 { + if ptr.Pointer() != nil { + return float32(C.QVector3D_DistanceToPoint(ptr.Pointer(), PointerFromQVector3D(point))) + } + return 0 +} + +func QVector3D_DotProduct(v1 QVector3D_ITF, v2 QVector3D_ITF) float32 { + return float32(C.QVector3D_QVector3D_DotProduct(PointerFromQVector3D(v1), PointerFromQVector3D(v2))) +} + +func (ptr *QVector3D) DotProduct(v1 QVector3D_ITF, v2 QVector3D_ITF) float32 { + return float32(C.QVector3D_QVector3D_DotProduct(PointerFromQVector3D(v1), PointerFromQVector3D(v2))) +} + +func (ptr *QVector3D) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QVector3D_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QVector3D) Length() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector3D_Length(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector3D) LengthSquared() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector3D_LengthSquared(ptr.Pointer())) + } + return 0 +} + +func QVector3D_Normal(v1 QVector3D_ITF, v2 QVector3D_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_QVector3D_Normal(PointerFromQVector3D(v1), PointerFromQVector3D(v2))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func (ptr *QVector3D) Normal(v1 QVector3D_ITF, v2 QVector3D_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_QVector3D_Normal(PointerFromQVector3D(v1), PointerFromQVector3D(v2))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func QVector3D_Normal2(v1 QVector3D_ITF, v2 QVector3D_ITF, v3 QVector3D_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_QVector3D_Normal2(PointerFromQVector3D(v1), PointerFromQVector3D(v2), PointerFromQVector3D(v3))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func (ptr *QVector3D) Normal2(v1 QVector3D_ITF, v2 QVector3D_ITF, v3 QVector3D_ITF) *QVector3D { + tmpValue := NewQVector3DFromPointer(C.QVector3D_QVector3D_Normal2(PointerFromQVector3D(v1), PointerFromQVector3D(v2), PointerFromQVector3D(v3))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue +} + +func (ptr *QVector3D) Normalize() { + if ptr.Pointer() != nil { + C.QVector3D_Normalize(ptr.Pointer()) + } +} + +func (ptr *QVector3D) Normalized() *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QVector3D_Normalized(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QVector3D) Project(modelView QMatrix4x4_ITF, projection QMatrix4x4_ITF, viewport core.QRect_ITF) *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QVector3D_Project(ptr.Pointer(), PointerFromQMatrix4x4(modelView), PointerFromQMatrix4x4(projection), core.PointerFromQRect(viewport))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QVector3D) SetX(x float32) { + if ptr.Pointer() != nil { + C.QVector3D_SetX(ptr.Pointer(), C.float(x)) + } +} + +func (ptr *QVector3D) SetY(y float32) { + if ptr.Pointer() != nil { + C.QVector3D_SetY(ptr.Pointer(), C.float(y)) + } +} + +func (ptr *QVector3D) SetZ(z float32) { + if ptr.Pointer() != nil { + C.QVector3D_SetZ(ptr.Pointer(), C.float(z)) + } +} + +func (ptr *QVector3D) ToPoint() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QVector3D_ToPoint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QVector3D) ToPointF() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QVector3D_ToPointF(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QVector3D) ToVector2D() *QVector2D { + if ptr.Pointer() != nil { + tmpValue := NewQVector2DFromPointer(C.QVector3D_ToVector2D(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue + } + return nil +} + +func (ptr *QVector3D) ToVector4D() *QVector4D { + if ptr.Pointer() != nil { + tmpValue := NewQVector4DFromPointer(C.QVector3D_ToVector4D(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue + } + return nil +} + +func (ptr *QVector3D) Unproject(modelView QMatrix4x4_ITF, projection QMatrix4x4_ITF, viewport core.QRect_ITF) *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QVector3D_Unproject(ptr.Pointer(), PointerFromQMatrix4x4(modelView), PointerFromQMatrix4x4(projection), core.PointerFromQRect(viewport))) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QVector3D) X() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector3D_X(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector3D) Y() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector3D_Y(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector3D) Z() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector3D_Z(ptr.Pointer())) + } + return 0 +} + +type QVector4D struct { + ptr unsafe.Pointer +} + +type QVector4D_ITF interface { + QVector4D_PTR() *QVector4D +} + +func (ptr *QVector4D) QVector4D_PTR() *QVector4D { + return ptr +} + +func (ptr *QVector4D) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVector4D) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVector4D(ptr QVector4D_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVector4D_PTR().Pointer() + } + return nil +} + +func NewQVector4DFromPointer(ptr unsafe.Pointer) (n *QVector4D) { + n = new(QVector4D) + n.SetPointer(ptr) + return +} + +func (ptr *QVector4D) DestroyQVector4D() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQVector4D() *QVector4D { + tmpValue := NewQVector4DFromPointer(C.QVector4D_NewQVector4D()) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue +} + +func NewQVector4D3(xpos float32, ypos float32, zpos float32, wpos float32) *QVector4D { + tmpValue := NewQVector4DFromPointer(C.QVector4D_NewQVector4D3(C.float(xpos), C.float(ypos), C.float(zpos), C.float(wpos))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue +} + +func NewQVector4D4(point core.QPoint_ITF) *QVector4D { + tmpValue := NewQVector4DFromPointer(C.QVector4D_NewQVector4D4(core.PointerFromQPoint(point))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue +} + +func NewQVector4D5(point core.QPointF_ITF) *QVector4D { + tmpValue := NewQVector4DFromPointer(C.QVector4D_NewQVector4D5(core.PointerFromQPointF(point))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue +} + +func NewQVector4D6(vector QVector2D_ITF) *QVector4D { + tmpValue := NewQVector4DFromPointer(C.QVector4D_NewQVector4D6(PointerFromQVector2D(vector))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue +} + +func NewQVector4D7(vector QVector2D_ITF, zpos float32, wpos float32) *QVector4D { + tmpValue := NewQVector4DFromPointer(C.QVector4D_NewQVector4D7(PointerFromQVector2D(vector), C.float(zpos), C.float(wpos))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue +} + +func NewQVector4D8(vector QVector3D_ITF) *QVector4D { + tmpValue := NewQVector4DFromPointer(C.QVector4D_NewQVector4D8(PointerFromQVector3D(vector))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue +} + +func NewQVector4D9(vector QVector3D_ITF, wpos float32) *QVector4D { + tmpValue := NewQVector4DFromPointer(C.QVector4D_NewQVector4D9(PointerFromQVector3D(vector), C.float(wpos))) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue +} + +func QVector4D_DotProduct(v1 QVector4D_ITF, v2 QVector4D_ITF) float32 { + return float32(C.QVector4D_QVector4D_DotProduct(PointerFromQVector4D(v1), PointerFromQVector4D(v2))) +} + +func (ptr *QVector4D) DotProduct(v1 QVector4D_ITF, v2 QVector4D_ITF) float32 { + return float32(C.QVector4D_QVector4D_DotProduct(PointerFromQVector4D(v1), PointerFromQVector4D(v2))) +} + +func (ptr *QVector4D) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QVector4D_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QVector4D) Length() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector4D_Length(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector4D) LengthSquared() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector4D_LengthSquared(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector4D) Normalize() { + if ptr.Pointer() != nil { + C.QVector4D_Normalize(ptr.Pointer()) + } +} + +func (ptr *QVector4D) Normalized() *QVector4D { + if ptr.Pointer() != nil { + tmpValue := NewQVector4DFromPointer(C.QVector4D_Normalized(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector4D).DestroyQVector4D) + return tmpValue + } + return nil +} + +func (ptr *QVector4D) SetW(w float32) { + if ptr.Pointer() != nil { + C.QVector4D_SetW(ptr.Pointer(), C.float(w)) + } +} + +func (ptr *QVector4D) SetX(x float32) { + if ptr.Pointer() != nil { + C.QVector4D_SetX(ptr.Pointer(), C.float(x)) + } +} + +func (ptr *QVector4D) SetY(y float32) { + if ptr.Pointer() != nil { + C.QVector4D_SetY(ptr.Pointer(), C.float(y)) + } +} + +func (ptr *QVector4D) SetZ(z float32) { + if ptr.Pointer() != nil { + C.QVector4D_SetZ(ptr.Pointer(), C.float(z)) + } +} + +func (ptr *QVector4D) ToPoint() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QVector4D_ToPoint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QVector4D) ToPointF() *core.QPointF { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFFromPointer(C.QVector4D_ToPointF(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPointF).DestroyQPointF) + return tmpValue + } + return nil +} + +func (ptr *QVector4D) ToVector2D() *QVector2D { + if ptr.Pointer() != nil { + tmpValue := NewQVector2DFromPointer(C.QVector4D_ToVector2D(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue + } + return nil +} + +func (ptr *QVector4D) ToVector2DAffine() *QVector2D { + if ptr.Pointer() != nil { + tmpValue := NewQVector2DFromPointer(C.QVector4D_ToVector2DAffine(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector2D).DestroyQVector2D) + return tmpValue + } + return nil +} + +func (ptr *QVector4D) ToVector3D() *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QVector4D_ToVector3D(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QVector4D) ToVector3DAffine() *QVector3D { + if ptr.Pointer() != nil { + tmpValue := NewQVector3DFromPointer(C.QVector4D_ToVector3DAffine(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QVector3D).DestroyQVector3D) + return tmpValue + } + return nil +} + +func (ptr *QVector4D) W() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector4D_W(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector4D) X() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector4D_X(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector4D) Y() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector4D_Y(ptr.Pointer())) + } + return 0 +} + +func (ptr *QVector4D) Z() float32 { + if ptr.Pointer() != nil { + return float32(C.QVector4D_Z(ptr.Pointer())) + } + return 0 +} + +type QVulkanDeviceFunctions struct { + ptr unsafe.Pointer +} + +type QVulkanDeviceFunctions_ITF interface { + QVulkanDeviceFunctions_PTR() *QVulkanDeviceFunctions +} + +func (ptr *QVulkanDeviceFunctions) QVulkanDeviceFunctions_PTR() *QVulkanDeviceFunctions { + return ptr +} + +func (ptr *QVulkanDeviceFunctions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVulkanDeviceFunctions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVulkanDeviceFunctions(ptr QVulkanDeviceFunctions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVulkanDeviceFunctions_PTR().Pointer() + } + return nil +} + +func NewQVulkanDeviceFunctionsFromPointer(ptr unsafe.Pointer) (n *QVulkanDeviceFunctions) { + n = new(QVulkanDeviceFunctions) + n.SetPointer(ptr) + return +} + +func (ptr *QVulkanDeviceFunctions) DestroyQVulkanDeviceFunctions() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QVulkanExtension struct { + ptr unsafe.Pointer +} + +type QVulkanExtension_ITF interface { + QVulkanExtension_PTR() *QVulkanExtension +} + +func (ptr *QVulkanExtension) QVulkanExtension_PTR() *QVulkanExtension { + return ptr +} + +func (ptr *QVulkanExtension) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVulkanExtension) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVulkanExtension(ptr QVulkanExtension_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVulkanExtension_PTR().Pointer() + } + return nil +} + +func NewQVulkanExtensionFromPointer(ptr unsafe.Pointer) (n *QVulkanExtension) { + n = new(QVulkanExtension) + n.SetPointer(ptr) + return +} + +func (ptr *QVulkanExtension) DestroyQVulkanExtension() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QVulkanFunctions struct { + ptr unsafe.Pointer +} + +type QVulkanFunctions_ITF interface { + QVulkanFunctions_PTR() *QVulkanFunctions +} + +func (ptr *QVulkanFunctions) QVulkanFunctions_PTR() *QVulkanFunctions { + return ptr +} + +func (ptr *QVulkanFunctions) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVulkanFunctions) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVulkanFunctions(ptr QVulkanFunctions_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVulkanFunctions_PTR().Pointer() + } + return nil +} + +func NewQVulkanFunctionsFromPointer(ptr unsafe.Pointer) (n *QVulkanFunctions) { + n = new(QVulkanFunctions) + n.SetPointer(ptr) + return +} + +func (ptr *QVulkanFunctions) DestroyQVulkanFunctions() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QVulkanInfoVector struct { + core.QVector +} + +type QVulkanInfoVector_ITF interface { + core.QVector_ITF + QVulkanInfoVector_PTR() *QVulkanInfoVector +} + +func (ptr *QVulkanInfoVector) QVulkanInfoVector_PTR() *QVulkanInfoVector { + return ptr +} + +func (ptr *QVulkanInfoVector) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QVector_PTR().Pointer() + } + return nil +} + +func (ptr *QVulkanInfoVector) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QVector_PTR().SetPointer(p) + } +} + +func PointerFromQVulkanInfoVector(ptr QVulkanInfoVector_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVulkanInfoVector_PTR().Pointer() + } + return nil +} + +func NewQVulkanInfoVectorFromPointer(ptr unsafe.Pointer) (n *QVulkanInfoVector) { + n = new(QVulkanInfoVector) + n.SetPointer(ptr) + return +} + +func (ptr *QVulkanInfoVector) DestroyQVulkanInfoVector() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QVulkanInstance struct { + ptr unsafe.Pointer +} + +type QVulkanInstance_ITF interface { + QVulkanInstance_PTR() *QVulkanInstance +} + +func (ptr *QVulkanInstance) QVulkanInstance_PTR() *QVulkanInstance { + return ptr +} + +func (ptr *QVulkanInstance) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVulkanInstance) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVulkanInstance(ptr QVulkanInstance_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVulkanInstance_PTR().Pointer() + } + return nil +} + +func NewQVulkanInstanceFromPointer(ptr unsafe.Pointer) (n *QVulkanInstance) { + n = new(QVulkanInstance) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QVulkanInstance__Flag +//QVulkanInstance::Flag +type QVulkanInstance__Flag int64 + +const ( + QVulkanInstance__NoDebugOutputRedirect QVulkanInstance__Flag = QVulkanInstance__Flag(0x01) +) + +type QVulkanLayer struct { + ptr unsafe.Pointer +} + +type QVulkanLayer_ITF interface { + QVulkanLayer_PTR() *QVulkanLayer +} + +func (ptr *QVulkanLayer) QVulkanLayer_PTR() *QVulkanLayer { + return ptr +} + +func (ptr *QVulkanLayer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVulkanLayer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVulkanLayer(ptr QVulkanLayer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVulkanLayer_PTR().Pointer() + } + return nil +} + +func NewQVulkanLayerFromPointer(ptr unsafe.Pointer) (n *QVulkanLayer) { + n = new(QVulkanLayer) + n.SetPointer(ptr) + return +} + +func (ptr *QVulkanLayer) DestroyQVulkanLayer() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QVulkanWindow struct { + QWindow +} + +type QVulkanWindow_ITF interface { + QWindow_ITF + QVulkanWindow_PTR() *QVulkanWindow +} + +func (ptr *QVulkanWindow) QVulkanWindow_PTR() *QVulkanWindow { + return ptr +} + +func (ptr *QVulkanWindow) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QWindow_PTR().Pointer() + } + return nil +} + +func (ptr *QVulkanWindow) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QWindow_PTR().SetPointer(p) + } +} + +func PointerFromQVulkanWindow(ptr QVulkanWindow_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVulkanWindow_PTR().Pointer() + } + return nil +} + +func NewQVulkanWindowFromPointer(ptr unsafe.Pointer) (n *QVulkanWindow) { + n = new(QVulkanWindow) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QVulkanWindow__Flag +//QVulkanWindow::Flag +type QVulkanWindow__Flag int64 + +const ( + QVulkanWindow__PersistentResources QVulkanWindow__Flag = QVulkanWindow__Flag(0x01) +) + +type QVulkanWindowRenderer struct { + ptr unsafe.Pointer +} + +type QVulkanWindowRenderer_ITF interface { + QVulkanWindowRenderer_PTR() *QVulkanWindowRenderer +} + +func (ptr *QVulkanWindowRenderer) QVulkanWindowRenderer_PTR() *QVulkanWindowRenderer { + return ptr +} + +func (ptr *QVulkanWindowRenderer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QVulkanWindowRenderer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQVulkanWindowRenderer(ptr QVulkanWindowRenderer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QVulkanWindowRenderer_PTR().Pointer() + } + return nil +} + +func NewQVulkanWindowRendererFromPointer(ptr unsafe.Pointer) (n *QVulkanWindowRenderer) { + n = new(QVulkanWindowRenderer) + n.SetPointer(ptr) + return +} + +type QWhatsThisClickedEvent struct { + core.QEvent +} + +type QWhatsThisClickedEvent_ITF interface { + core.QEvent_ITF + QWhatsThisClickedEvent_PTR() *QWhatsThisClickedEvent +} + +func (ptr *QWhatsThisClickedEvent) QWhatsThisClickedEvent_PTR() *QWhatsThisClickedEvent { + return ptr +} + +func (ptr *QWhatsThisClickedEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QWhatsThisClickedEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQWhatsThisClickedEvent(ptr QWhatsThisClickedEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QWhatsThisClickedEvent_PTR().Pointer() + } + return nil +} + +func NewQWhatsThisClickedEventFromPointer(ptr unsafe.Pointer) (n *QWhatsThisClickedEvent) { + n = new(QWhatsThisClickedEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QWhatsThisClickedEvent) DestroyQWhatsThisClickedEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQWhatsThisClickedEvent(href string) *QWhatsThisClickedEvent { + var hrefC *C.char + if href != "" { + hrefC = C.CString(href) + defer C.free(unsafe.Pointer(hrefC)) + } + tmpValue := NewQWhatsThisClickedEventFromPointer(C.QWhatsThisClickedEvent_NewQWhatsThisClickedEvent(C.struct_QtGui_PackedString{data: hrefC, len: C.longlong(len(href))})) + runtime.SetFinalizer(tmpValue, (*QWhatsThisClickedEvent).DestroyQWhatsThisClickedEvent) + return tmpValue +} + +func (ptr *QWhatsThisClickedEvent) Href() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QWhatsThisClickedEvent_Href(ptr.Pointer())) + } + return "" +} + +type QWheelEvent struct { + QInputEvent +} + +type QWheelEvent_ITF interface { + QInputEvent_ITF + QWheelEvent_PTR() *QWheelEvent +} + +func (ptr *QWheelEvent) QWheelEvent_PTR() *QWheelEvent { + return ptr +} + +func (ptr *QWheelEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QInputEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QWheelEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QInputEvent_PTR().SetPointer(p) + } +} + +func PointerFromQWheelEvent(ptr QWheelEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QWheelEvent_PTR().Pointer() + } + return nil +} + +func NewQWheelEventFromPointer(ptr unsafe.Pointer) (n *QWheelEvent) { + n = new(QWheelEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QWheelEvent) DestroyQWheelEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQWheelEvent3(pos core.QPointF_ITF, globalPos core.QPointF_ITF, pixelDelta core.QPoint_ITF, angleDelta core.QPoint_ITF, qt4Delta int, qt4Orientation core.Qt__Orientation, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier) *QWheelEvent { + tmpValue := NewQWheelEventFromPointer(C.QWheelEvent_NewQWheelEvent3(core.PointerFromQPointF(pos), core.PointerFromQPointF(globalPos), core.PointerFromQPoint(pixelDelta), core.PointerFromQPoint(angleDelta), C.int(int32(qt4Delta)), C.longlong(qt4Orientation), C.longlong(buttons), C.longlong(modifiers))) + runtime.SetFinalizer(tmpValue, (*QWheelEvent).DestroyQWheelEvent) + return tmpValue +} + +func NewQWheelEvent4(pos core.QPointF_ITF, globalPos core.QPointF_ITF, pixelDelta core.QPoint_ITF, angleDelta core.QPoint_ITF, qt4Delta int, qt4Orientation core.Qt__Orientation, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier, phase core.Qt__ScrollPhase) *QWheelEvent { + tmpValue := NewQWheelEventFromPointer(C.QWheelEvent_NewQWheelEvent4(core.PointerFromQPointF(pos), core.PointerFromQPointF(globalPos), core.PointerFromQPoint(pixelDelta), core.PointerFromQPoint(angleDelta), C.int(int32(qt4Delta)), C.longlong(qt4Orientation), C.longlong(buttons), C.longlong(modifiers), C.longlong(phase))) + runtime.SetFinalizer(tmpValue, (*QWheelEvent).DestroyQWheelEvent) + return tmpValue +} + +func NewQWheelEvent5(pos core.QPointF_ITF, globalPos core.QPointF_ITF, pixelDelta core.QPoint_ITF, angleDelta core.QPoint_ITF, qt4Delta int, qt4Orientation core.Qt__Orientation, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier, phase core.Qt__ScrollPhase, source core.Qt__MouseEventSource) *QWheelEvent { + tmpValue := NewQWheelEventFromPointer(C.QWheelEvent_NewQWheelEvent5(core.PointerFromQPointF(pos), core.PointerFromQPointF(globalPos), core.PointerFromQPoint(pixelDelta), core.PointerFromQPoint(angleDelta), C.int(int32(qt4Delta)), C.longlong(qt4Orientation), C.longlong(buttons), C.longlong(modifiers), C.longlong(phase), C.longlong(source))) + runtime.SetFinalizer(tmpValue, (*QWheelEvent).DestroyQWheelEvent) + return tmpValue +} + +func NewQWheelEvent6(pos core.QPointF_ITF, globalPos core.QPointF_ITF, pixelDelta core.QPoint_ITF, angleDelta core.QPoint_ITF, qt4Delta int, qt4Orientation core.Qt__Orientation, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier, phase core.Qt__ScrollPhase, source core.Qt__MouseEventSource, inverted bool) *QWheelEvent { + tmpValue := NewQWheelEventFromPointer(C.QWheelEvent_NewQWheelEvent6(core.PointerFromQPointF(pos), core.PointerFromQPointF(globalPos), core.PointerFromQPoint(pixelDelta), core.PointerFromQPoint(angleDelta), C.int(int32(qt4Delta)), C.longlong(qt4Orientation), C.longlong(buttons), C.longlong(modifiers), C.longlong(phase), C.longlong(source), C.char(int8(qt.GoBoolToInt(inverted))))) + runtime.SetFinalizer(tmpValue, (*QWheelEvent).DestroyQWheelEvent) + return tmpValue +} + +func NewQWheelEvent7(pos core.QPointF_ITF, globalPos core.QPointF_ITF, pixelDelta core.QPoint_ITF, angleDelta core.QPoint_ITF, buttons core.Qt__MouseButton, modifiers core.Qt__KeyboardModifier, phase core.Qt__ScrollPhase, inverted bool, source core.Qt__MouseEventSource) *QWheelEvent { + tmpValue := NewQWheelEventFromPointer(C.QWheelEvent_NewQWheelEvent7(core.PointerFromQPointF(pos), core.PointerFromQPointF(globalPos), core.PointerFromQPoint(pixelDelta), core.PointerFromQPoint(angleDelta), C.longlong(buttons), C.longlong(modifiers), C.longlong(phase), C.char(int8(qt.GoBoolToInt(inverted))), C.longlong(source))) + runtime.SetFinalizer(tmpValue, (*QWheelEvent).DestroyQWheelEvent) + return tmpValue +} + +func (ptr *QWheelEvent) AngleDelta() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QWheelEvent_AngleDelta(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QWheelEvent) Buttons() core.Qt__MouseButton { + if ptr.Pointer() != nil { + return core.Qt__MouseButton(C.QWheelEvent_Buttons(ptr.Pointer())) + } + return 0 +} + +func (ptr *QWheelEvent) GlobalPos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QWheelEvent_GlobalPos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QWheelEvent) GlobalPosF() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QWheelEvent_GlobalPosF(ptr.Pointer())) + } + return nil +} + +func (ptr *QWheelEvent) GlobalX() int { + if ptr.Pointer() != nil { + return int(int32(C.QWheelEvent_GlobalX(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QWheelEvent) GlobalY() int { + if ptr.Pointer() != nil { + return int(int32(C.QWheelEvent_GlobalY(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QWheelEvent) Inverted() bool { + if ptr.Pointer() != nil { + return int8(C.QWheelEvent_Inverted(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QWheelEvent) Phase() core.Qt__ScrollPhase { + if ptr.Pointer() != nil { + return core.Qt__ScrollPhase(C.QWheelEvent_Phase(ptr.Pointer())) + } + return 0 +} + +func (ptr *QWheelEvent) PixelDelta() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QWheelEvent_PixelDelta(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QWheelEvent) Pos() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QWheelEvent_Pos(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QWheelEvent) PosF() *core.QPointF { + if ptr.Pointer() != nil { + return core.NewQPointFFromPointer(C.QWheelEvent_PosF(ptr.Pointer())) + } + return nil +} + +func (ptr *QWheelEvent) Source() core.Qt__MouseEventSource { + if ptr.Pointer() != nil { + return core.Qt__MouseEventSource(C.QWheelEvent_Source(ptr.Pointer())) + } + return 0 +} + +func (ptr *QWheelEvent) X() int { + if ptr.Pointer() != nil { + return int(int32(C.QWheelEvent_X(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QWheelEvent) Y() int { + if ptr.Pointer() != nil { + return int(int32(C.QWheelEvent_Y(ptr.Pointer()))) + } + return 0 +} + +type QWindow struct { + core.QObject + QSurface +} + +type QWindow_ITF interface { + core.QObject_ITF + QSurface_ITF + QWindow_PTR() *QWindow +} + +func (ptr *QWindow) QWindow_PTR() *QWindow { + return ptr +} + +func (ptr *QWindow) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QWindow) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + ptr.QSurface_PTR().SetPointer(p) + } +} + +func PointerFromQWindow(ptr QWindow_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QWindow_PTR().Pointer() + } + return nil +} + +func NewQWindowFromPointer(ptr unsafe.Pointer) (n *QWindow) { + n = new(QWindow) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QWindow__Visibility +//QWindow::Visibility +type QWindow__Visibility int64 + +const ( + QWindow__Hidden QWindow__Visibility = QWindow__Visibility(0) + QWindow__AutomaticVisibility QWindow__Visibility = QWindow__Visibility(1) + QWindow__Windowed QWindow__Visibility = QWindow__Visibility(2) + QWindow__Minimized QWindow__Visibility = QWindow__Visibility(3) + QWindow__Maximized QWindow__Visibility = QWindow__Visibility(4) + QWindow__FullScreen QWindow__Visibility = QWindow__Visibility(5) +) + +//go:generate stringer -type=QWindow__AncestorMode +//QWindow::AncestorMode +type QWindow__AncestorMode int64 + +const ( + QWindow__ExcludeTransients QWindow__AncestorMode = QWindow__AncestorMode(0) + QWindow__IncludeTransients QWindow__AncestorMode = QWindow__AncestorMode(1) +) + +func NewQWindow(targetScreen QScreen_ITF) *QWindow { + tmpValue := NewQWindowFromPointer(C.QWindow_NewQWindow(PointerFromQScreen(targetScreen))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQWindow2(parent QWindow_ITF) *QWindow { + tmpValue := NewQWindowFromPointer(C.QWindow_NewQWindow2(PointerFromQWindow(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQWindow_ActiveChanged +func callbackQWindow_ActiveChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "activeChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QWindow) ConnectActiveChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "activeChanged") { + C.QWindow_ConnectActiveChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "activeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "activeChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "activeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "activeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectActiveChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectActiveChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "activeChanged") + } +} + +func (ptr *QWindow) ActiveChanged() { + if ptr.Pointer() != nil { + C.QWindow_ActiveChanged(ptr.Pointer()) + } +} + +//export callbackQWindow_Alert +func callbackQWindow_Alert(ptr unsafe.Pointer, msec C.int) { + if signal := qt.GetSignal(ptr, "alert"); signal != nil { + (*(*func(int))(signal))(int(int32(msec))) + } else { + NewQWindowFromPointer(ptr).AlertDefault(int(int32(msec))) + } +} + +func (ptr *QWindow) ConnectAlert(f func(msec int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "alert"); signal != nil { + f := func(msec int) { + (*(*func(int))(signal))(msec) + f(msec) + } + qt.ConnectSignal(ptr.Pointer(), "alert", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "alert", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectAlert() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "alert") + } +} + +func (ptr *QWindow) Alert(msec int) { + if ptr.Pointer() != nil { + C.QWindow_Alert(ptr.Pointer(), C.int(int32(msec))) + } +} + +func (ptr *QWindow) AlertDefault(msec int) { + if ptr.Pointer() != nil { + C.QWindow_AlertDefault(ptr.Pointer(), C.int(int32(msec))) + } +} + +func (ptr *QWindow) BaseSize() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QWindow_BaseSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +//export callbackQWindow_Close +func callbackQWindow_Close(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "close"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQWindowFromPointer(ptr).CloseDefault()))) +} + +func (ptr *QWindow) ConnectClose(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "close"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "close", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "close", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectClose() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "close") + } +} + +func (ptr *QWindow) Close() bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_Close(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QWindow) CloseDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_CloseDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QWindow) ContentOrientation() core.Qt__ScreenOrientation { + if ptr.Pointer() != nil { + return core.Qt__ScreenOrientation(C.QWindow_ContentOrientation(ptr.Pointer())) + } + return 0 +} + +//export callbackQWindow_ContentOrientationChanged +func callbackQWindow_ContentOrientationChanged(ptr unsafe.Pointer, orientation C.longlong) { + if signal := qt.GetSignal(ptr, "contentOrientationChanged"); signal != nil { + (*(*func(core.Qt__ScreenOrientation))(signal))(core.Qt__ScreenOrientation(orientation)) + } + +} + +func (ptr *QWindow) ConnectContentOrientationChanged(f func(orientation core.Qt__ScreenOrientation)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "contentOrientationChanged") { + C.QWindow_ConnectContentOrientationChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "contentOrientationChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "contentOrientationChanged"); signal != nil { + f := func(orientation core.Qt__ScreenOrientation) { + (*(*func(core.Qt__ScreenOrientation))(signal))(orientation) + f(orientation) + } + qt.ConnectSignal(ptr.Pointer(), "contentOrientationChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "contentOrientationChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectContentOrientationChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectContentOrientationChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "contentOrientationChanged") + } +} + +func (ptr *QWindow) ContentOrientationChanged(orientation core.Qt__ScreenOrientation) { + if ptr.Pointer() != nil { + C.QWindow_ContentOrientationChanged(ptr.Pointer(), C.longlong(orientation)) + } +} + +func (ptr *QWindow) Create() { + if ptr.Pointer() != nil { + C.QWindow_Create(ptr.Pointer()) + } +} + +func (ptr *QWindow) Cursor() *QCursor { + if ptr.Pointer() != nil { + tmpValue := NewQCursorFromPointer(C.QWindow_Cursor(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QCursor).DestroyQCursor) + return tmpValue + } + return nil +} + +func (ptr *QWindow) Destroy() { + if ptr.Pointer() != nil { + C.QWindow_Destroy(ptr.Pointer()) + } +} + +func (ptr *QWindow) DevicePixelRatio() float64 { + if ptr.Pointer() != nil { + return float64(C.QWindow_DevicePixelRatio(ptr.Pointer())) + } + return 0 +} + +//export callbackQWindow_Event +func callbackQWindow_Event(ptr unsafe.Pointer, ev unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(ev))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQWindowFromPointer(ptr).EventDefault(core.NewQEventFromPointer(ev))))) +} + +func (ptr *QWindow) ConnectEvent(f func(ev *core.QEvent) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "event"); signal != nil { + f := func(ev *core.QEvent) bool { + (*(*func(*core.QEvent) bool)(signal))(ev) + return f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "event", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "event", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "event") + } +} + +func (ptr *QWindow) Event(ev core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_Event(ptr.Pointer(), core.PointerFromQEvent(ev))) != 0 + } + return false +} + +func (ptr *QWindow) EventDefault(ev core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_EventDefault(ptr.Pointer(), core.PointerFromQEvent(ev))) != 0 + } + return false +} + +//export callbackQWindow_ExposeEvent +func callbackQWindow_ExposeEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "exposeEvent"); signal != nil { + (*(*func(*QExposeEvent))(signal))(NewQExposeEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).ExposeEventDefault(NewQExposeEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectExposeEvent(f func(ev *QExposeEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "exposeEvent"); signal != nil { + f := func(ev *QExposeEvent) { + (*(*func(*QExposeEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "exposeEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "exposeEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectExposeEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "exposeEvent") + } +} + +func (ptr *QWindow) ExposeEvent(ev QExposeEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ExposeEvent(ptr.Pointer(), PointerFromQExposeEvent(ev)) + } +} + +func (ptr *QWindow) ExposeEventDefault(ev QExposeEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ExposeEventDefault(ptr.Pointer(), PointerFromQExposeEvent(ev)) + } +} + +func (ptr *QWindow) FilePath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QWindow_FilePath(ptr.Pointer())) + } + return "" +} + +func (ptr *QWindow) Flags() core.Qt__WindowType { + if ptr.Pointer() != nil { + return core.Qt__WindowType(C.QWindow_Flags(ptr.Pointer())) + } + return 0 +} + +//export callbackQWindow_FocusInEvent +func callbackQWindow_FocusInEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "focusInEvent"); signal != nil { + (*(*func(*QFocusEvent))(signal))(NewQFocusEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).FocusInEventDefault(NewQFocusEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectFocusInEvent(f func(ev *QFocusEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "focusInEvent"); signal != nil { + f := func(ev *QFocusEvent) { + (*(*func(*QFocusEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "focusInEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "focusInEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectFocusInEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "focusInEvent") + } +} + +func (ptr *QWindow) FocusInEvent(ev QFocusEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_FocusInEvent(ptr.Pointer(), PointerFromQFocusEvent(ev)) + } +} + +func (ptr *QWindow) FocusInEventDefault(ev QFocusEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_FocusInEventDefault(ptr.Pointer(), PointerFromQFocusEvent(ev)) + } +} + +//export callbackQWindow_FocusObject +func callbackQWindow_FocusObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "focusObject"); signal != nil { + return core.PointerFromQObject((*(*func() *core.QObject)(signal))()) + } + + return core.PointerFromQObject(NewQWindowFromPointer(ptr).FocusObjectDefault()) +} + +func (ptr *QWindow) ConnectFocusObject(f func() *core.QObject) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "focusObject"); signal != nil { + f := func() *core.QObject { + (*(*func() *core.QObject)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "focusObject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "focusObject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectFocusObject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "focusObject") + } +} + +func (ptr *QWindow) FocusObject() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QWindow_FocusObject(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QWindow) FocusObjectDefault() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QWindow_FocusObjectDefault(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQWindow_FocusObjectChanged +func callbackQWindow_FocusObjectChanged(ptr unsafe.Pointer, object unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "focusObjectChanged"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(object)) + } + +} + +func (ptr *QWindow) ConnectFocusObjectChanged(f func(object *core.QObject)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "focusObjectChanged") { + C.QWindow_ConnectFocusObjectChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "focusObjectChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "focusObjectChanged"); signal != nil { + f := func(object *core.QObject) { + (*(*func(*core.QObject))(signal))(object) + f(object) + } + qt.ConnectSignal(ptr.Pointer(), "focusObjectChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "focusObjectChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectFocusObjectChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectFocusObjectChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "focusObjectChanged") + } +} + +func (ptr *QWindow) FocusObjectChanged(object core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QWindow_FocusObjectChanged(ptr.Pointer(), core.PointerFromQObject(object)) + } +} + +//export callbackQWindow_FocusOutEvent +func callbackQWindow_FocusOutEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "focusOutEvent"); signal != nil { + (*(*func(*QFocusEvent))(signal))(NewQFocusEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).FocusOutEventDefault(NewQFocusEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectFocusOutEvent(f func(ev *QFocusEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "focusOutEvent"); signal != nil { + f := func(ev *QFocusEvent) { + (*(*func(*QFocusEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "focusOutEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "focusOutEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectFocusOutEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "focusOutEvent") + } +} + +func (ptr *QWindow) FocusOutEvent(ev QFocusEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_FocusOutEvent(ptr.Pointer(), PointerFromQFocusEvent(ev)) + } +} + +func (ptr *QWindow) FocusOutEventDefault(ev QFocusEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_FocusOutEventDefault(ptr.Pointer(), PointerFromQFocusEvent(ev)) + } +} + +//export callbackQWindow_Format +func callbackQWindow_Format(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "format"); signal != nil { + return PointerFromQSurfaceFormat((*(*func() *QSurfaceFormat)(signal))()) + } + + return PointerFromQSurfaceFormat(NewQWindowFromPointer(ptr).FormatDefault()) +} + +func (ptr *QWindow) ConnectFormat(f func() *QSurfaceFormat) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "format"); signal != nil { + f := func() *QSurfaceFormat { + (*(*func() *QSurfaceFormat)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "format", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "format", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectFormat() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "format") + } +} + +func (ptr *QWindow) Format() *QSurfaceFormat { + if ptr.Pointer() != nil { + tmpValue := NewQSurfaceFormatFromPointer(C.QWindow_Format(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue + } + return nil +} + +func (ptr *QWindow) FormatDefault() *QSurfaceFormat { + if ptr.Pointer() != nil { + tmpValue := NewQSurfaceFormatFromPointer(C.QWindow_FormatDefault(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue + } + return nil +} + +func (ptr *QWindow) FrameGeometry() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QWindow_FrameGeometry(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QWindow) FrameMargins() *core.QMargins { + if ptr.Pointer() != nil { + tmpValue := core.NewQMarginsFromPointer(C.QWindow_FrameMargins(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QMargins).DestroyQMargins) + return tmpValue + } + return nil +} + +func (ptr *QWindow) FramePosition() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QWindow_FramePosition(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func QWindow_FromWinId(id uintptr) *QWindow { + tmpValue := NewQWindowFromPointer(C.QWindow_QWindow_FromWinId(C.uintptr_t(id))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QWindow) FromWinId(id uintptr) *QWindow { + tmpValue := NewQWindowFromPointer(C.QWindow_QWindow_FromWinId(C.uintptr_t(id))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QWindow) Geometry() *core.QRect { + if ptr.Pointer() != nil { + tmpValue := core.NewQRectFromPointer(C.QWindow_Geometry(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QRect).DestroyQRect) + return tmpValue + } + return nil +} + +func (ptr *QWindow) Height() int { + if ptr.Pointer() != nil { + return int(int32(C.QWindow_Height(ptr.Pointer()))) + } + return 0 +} + +//export callbackQWindow_HeightChanged +func callbackQWindow_HeightChanged(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "heightChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } + +} + +func (ptr *QWindow) ConnectHeightChanged(f func(arg int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "heightChanged") { + C.QWindow_ConnectHeightChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "heightChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "heightChanged"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "heightChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "heightChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectHeightChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectHeightChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "heightChanged") + } +} + +func (ptr *QWindow) HeightChanged(arg int) { + if ptr.Pointer() != nil { + C.QWindow_HeightChanged(ptr.Pointer(), C.int(int32(arg))) + } +} + +//export callbackQWindow_Hide +func callbackQWindow_Hide(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "hide"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).HideDefault() + } +} + +func (ptr *QWindow) ConnectHide(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "hide"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "hide", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "hide", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectHide() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "hide") + } +} + +func (ptr *QWindow) Hide() { + if ptr.Pointer() != nil { + C.QWindow_Hide(ptr.Pointer()) + } +} + +func (ptr *QWindow) HideDefault() { + if ptr.Pointer() != nil { + C.QWindow_HideDefault(ptr.Pointer()) + } +} + +//export callbackQWindow_HideEvent +func callbackQWindow_HideEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "hideEvent"); signal != nil { + (*(*func(*QHideEvent))(signal))(NewQHideEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).HideEventDefault(NewQHideEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectHideEvent(f func(ev *QHideEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "hideEvent"); signal != nil { + f := func(ev *QHideEvent) { + (*(*func(*QHideEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "hideEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "hideEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectHideEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "hideEvent") + } +} + +func (ptr *QWindow) HideEvent(ev QHideEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_HideEvent(ptr.Pointer(), PointerFromQHideEvent(ev)) + } +} + +func (ptr *QWindow) HideEventDefault(ev QHideEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_HideEventDefault(ptr.Pointer(), PointerFromQHideEvent(ev)) + } +} + +func (ptr *QWindow) Icon() *QIcon { + if ptr.Pointer() != nil { + tmpValue := NewQIconFromPointer(C.QWindow_Icon(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QIcon).DestroyQIcon) + return tmpValue + } + return nil +} + +func (ptr *QWindow) IsActive() bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_IsActive(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QWindow) IsAncestorOf(child QWindow_ITF, mode QWindow__AncestorMode) bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_IsAncestorOf(ptr.Pointer(), PointerFromQWindow(child), C.longlong(mode))) != 0 + } + return false +} + +func (ptr *QWindow) IsExposed() bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_IsExposed(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QWindow) IsModal() bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_IsModal(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QWindow) IsTopLevel() bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_IsTopLevel(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QWindow) IsVisible() bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_IsVisible(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQWindow_KeyPressEvent +func callbackQWindow_KeyPressEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "keyPressEvent"); signal != nil { + (*(*func(*QKeyEvent))(signal))(NewQKeyEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).KeyPressEventDefault(NewQKeyEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectKeyPressEvent(f func(ev *QKeyEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "keyPressEvent"); signal != nil { + f := func(ev *QKeyEvent) { + (*(*func(*QKeyEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "keyPressEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "keyPressEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectKeyPressEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "keyPressEvent") + } +} + +func (ptr *QWindow) KeyPressEvent(ev QKeyEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_KeyPressEvent(ptr.Pointer(), PointerFromQKeyEvent(ev)) + } +} + +func (ptr *QWindow) KeyPressEventDefault(ev QKeyEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_KeyPressEventDefault(ptr.Pointer(), PointerFromQKeyEvent(ev)) + } +} + +//export callbackQWindow_KeyReleaseEvent +func callbackQWindow_KeyReleaseEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "keyReleaseEvent"); signal != nil { + (*(*func(*QKeyEvent))(signal))(NewQKeyEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).KeyReleaseEventDefault(NewQKeyEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectKeyReleaseEvent(f func(ev *QKeyEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "keyReleaseEvent"); signal != nil { + f := func(ev *QKeyEvent) { + (*(*func(*QKeyEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "keyReleaseEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "keyReleaseEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectKeyReleaseEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "keyReleaseEvent") + } +} + +func (ptr *QWindow) KeyReleaseEvent(ev QKeyEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_KeyReleaseEvent(ptr.Pointer(), PointerFromQKeyEvent(ev)) + } +} + +func (ptr *QWindow) KeyReleaseEventDefault(ev QKeyEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_KeyReleaseEventDefault(ptr.Pointer(), PointerFromQKeyEvent(ev)) + } +} + +//export callbackQWindow_Lower +func callbackQWindow_Lower(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "lower"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).LowerDefault() + } +} + +func (ptr *QWindow) ConnectLower(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "lower"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "lower", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "lower", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectLower() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "lower") + } +} + +func (ptr *QWindow) Lower() { + if ptr.Pointer() != nil { + C.QWindow_Lower(ptr.Pointer()) + } +} + +func (ptr *QWindow) LowerDefault() { + if ptr.Pointer() != nil { + C.QWindow_LowerDefault(ptr.Pointer()) + } +} + +func (ptr *QWindow) MapFromGlobal(pos core.QPoint_ITF) *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QWindow_MapFromGlobal(ptr.Pointer(), core.PointerFromQPoint(pos))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QWindow) MapToGlobal(pos core.QPoint_ITF) *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QWindow_MapToGlobal(ptr.Pointer(), core.PointerFromQPoint(pos))) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +func (ptr *QWindow) Mask() *QRegion { + if ptr.Pointer() != nil { + tmpValue := NewQRegionFromPointer(C.QWindow_Mask(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QRegion).DestroyQRegion) + return tmpValue + } + return nil +} + +func (ptr *QWindow) MaximumHeight() int { + if ptr.Pointer() != nil { + return int(int32(C.QWindow_MaximumHeight(ptr.Pointer()))) + } + return 0 +} + +//export callbackQWindow_MaximumHeightChanged +func callbackQWindow_MaximumHeightChanged(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "maximumHeightChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } + +} + +func (ptr *QWindow) ConnectMaximumHeightChanged(f func(arg int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "maximumHeightChanged") { + C.QWindow_ConnectMaximumHeightChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "maximumHeightChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "maximumHeightChanged"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "maximumHeightChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "maximumHeightChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectMaximumHeightChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectMaximumHeightChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "maximumHeightChanged") + } +} + +func (ptr *QWindow) MaximumHeightChanged(arg int) { + if ptr.Pointer() != nil { + C.QWindow_MaximumHeightChanged(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) MaximumSize() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QWindow_MaximumSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QWindow) MaximumWidth() int { + if ptr.Pointer() != nil { + return int(int32(C.QWindow_MaximumWidth(ptr.Pointer()))) + } + return 0 +} + +//export callbackQWindow_MaximumWidthChanged +func callbackQWindow_MaximumWidthChanged(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "maximumWidthChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } + +} + +func (ptr *QWindow) ConnectMaximumWidthChanged(f func(arg int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "maximumWidthChanged") { + C.QWindow_ConnectMaximumWidthChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "maximumWidthChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "maximumWidthChanged"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "maximumWidthChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "maximumWidthChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectMaximumWidthChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectMaximumWidthChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "maximumWidthChanged") + } +} + +func (ptr *QWindow) MaximumWidthChanged(arg int) { + if ptr.Pointer() != nil { + C.QWindow_MaximumWidthChanged(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) MinimumHeight() int { + if ptr.Pointer() != nil { + return int(int32(C.QWindow_MinimumHeight(ptr.Pointer()))) + } + return 0 +} + +//export callbackQWindow_MinimumHeightChanged +func callbackQWindow_MinimumHeightChanged(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "minimumHeightChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } + +} + +func (ptr *QWindow) ConnectMinimumHeightChanged(f func(arg int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "minimumHeightChanged") { + C.QWindow_ConnectMinimumHeightChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "minimumHeightChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "minimumHeightChanged"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "minimumHeightChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "minimumHeightChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectMinimumHeightChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectMinimumHeightChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "minimumHeightChanged") + } +} + +func (ptr *QWindow) MinimumHeightChanged(arg int) { + if ptr.Pointer() != nil { + C.QWindow_MinimumHeightChanged(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) MinimumSize() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QWindow_MinimumSize(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QWindow) MinimumWidth() int { + if ptr.Pointer() != nil { + return int(int32(C.QWindow_MinimumWidth(ptr.Pointer()))) + } + return 0 +} + +//export callbackQWindow_MinimumWidthChanged +func callbackQWindow_MinimumWidthChanged(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "minimumWidthChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } + +} + +func (ptr *QWindow) ConnectMinimumWidthChanged(f func(arg int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "minimumWidthChanged") { + C.QWindow_ConnectMinimumWidthChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "minimumWidthChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "minimumWidthChanged"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "minimumWidthChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "minimumWidthChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectMinimumWidthChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectMinimumWidthChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "minimumWidthChanged") + } +} + +func (ptr *QWindow) MinimumWidthChanged(arg int) { + if ptr.Pointer() != nil { + C.QWindow_MinimumWidthChanged(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) Modality() core.Qt__WindowModality { + if ptr.Pointer() != nil { + return core.Qt__WindowModality(C.QWindow_Modality(ptr.Pointer())) + } + return 0 +} + +//export callbackQWindow_ModalityChanged +func callbackQWindow_ModalityChanged(ptr unsafe.Pointer, modality C.longlong) { + if signal := qt.GetSignal(ptr, "modalityChanged"); signal != nil { + (*(*func(core.Qt__WindowModality))(signal))(core.Qt__WindowModality(modality)) + } + +} + +func (ptr *QWindow) ConnectModalityChanged(f func(modality core.Qt__WindowModality)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "modalityChanged") { + C.QWindow_ConnectModalityChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "modalityChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "modalityChanged"); signal != nil { + f := func(modality core.Qt__WindowModality) { + (*(*func(core.Qt__WindowModality))(signal))(modality) + f(modality) + } + qt.ConnectSignal(ptr.Pointer(), "modalityChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "modalityChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectModalityChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectModalityChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "modalityChanged") + } +} + +func (ptr *QWindow) ModalityChanged(modality core.Qt__WindowModality) { + if ptr.Pointer() != nil { + C.QWindow_ModalityChanged(ptr.Pointer(), C.longlong(modality)) + } +} + +//export callbackQWindow_MouseDoubleClickEvent +func callbackQWindow_MouseDoubleClickEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "mouseDoubleClickEvent"); signal != nil { + (*(*func(*QMouseEvent))(signal))(NewQMouseEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).MouseDoubleClickEventDefault(NewQMouseEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectMouseDoubleClickEvent(f func(ev *QMouseEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mouseDoubleClickEvent"); signal != nil { + f := func(ev *QMouseEvent) { + (*(*func(*QMouseEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "mouseDoubleClickEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mouseDoubleClickEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectMouseDoubleClickEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mouseDoubleClickEvent") + } +} + +func (ptr *QWindow) MouseDoubleClickEvent(ev QMouseEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MouseDoubleClickEvent(ptr.Pointer(), PointerFromQMouseEvent(ev)) + } +} + +func (ptr *QWindow) MouseDoubleClickEventDefault(ev QMouseEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MouseDoubleClickEventDefault(ptr.Pointer(), PointerFromQMouseEvent(ev)) + } +} + +//export callbackQWindow_MouseMoveEvent +func callbackQWindow_MouseMoveEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "mouseMoveEvent"); signal != nil { + (*(*func(*QMouseEvent))(signal))(NewQMouseEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).MouseMoveEventDefault(NewQMouseEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectMouseMoveEvent(f func(ev *QMouseEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mouseMoveEvent"); signal != nil { + f := func(ev *QMouseEvent) { + (*(*func(*QMouseEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "mouseMoveEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mouseMoveEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectMouseMoveEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mouseMoveEvent") + } +} + +func (ptr *QWindow) MouseMoveEvent(ev QMouseEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MouseMoveEvent(ptr.Pointer(), PointerFromQMouseEvent(ev)) + } +} + +func (ptr *QWindow) MouseMoveEventDefault(ev QMouseEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MouseMoveEventDefault(ptr.Pointer(), PointerFromQMouseEvent(ev)) + } +} + +//export callbackQWindow_MousePressEvent +func callbackQWindow_MousePressEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "mousePressEvent"); signal != nil { + (*(*func(*QMouseEvent))(signal))(NewQMouseEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).MousePressEventDefault(NewQMouseEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectMousePressEvent(f func(ev *QMouseEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mousePressEvent"); signal != nil { + f := func(ev *QMouseEvent) { + (*(*func(*QMouseEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "mousePressEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mousePressEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectMousePressEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mousePressEvent") + } +} + +func (ptr *QWindow) MousePressEvent(ev QMouseEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MousePressEvent(ptr.Pointer(), PointerFromQMouseEvent(ev)) + } +} + +func (ptr *QWindow) MousePressEventDefault(ev QMouseEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MousePressEventDefault(ptr.Pointer(), PointerFromQMouseEvent(ev)) + } +} + +//export callbackQWindow_MouseReleaseEvent +func callbackQWindow_MouseReleaseEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "mouseReleaseEvent"); signal != nil { + (*(*func(*QMouseEvent))(signal))(NewQMouseEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).MouseReleaseEventDefault(NewQMouseEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectMouseReleaseEvent(f func(ev *QMouseEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "mouseReleaseEvent"); signal != nil { + f := func(ev *QMouseEvent) { + (*(*func(*QMouseEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "mouseReleaseEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "mouseReleaseEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectMouseReleaseEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "mouseReleaseEvent") + } +} + +func (ptr *QWindow) MouseReleaseEvent(ev QMouseEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MouseReleaseEvent(ptr.Pointer(), PointerFromQMouseEvent(ev)) + } +} + +func (ptr *QWindow) MouseReleaseEventDefault(ev QMouseEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MouseReleaseEventDefault(ptr.Pointer(), PointerFromQMouseEvent(ev)) + } +} + +//export callbackQWindow_MoveEvent +func callbackQWindow_MoveEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "moveEvent"); signal != nil { + (*(*func(*QMoveEvent))(signal))(NewQMoveEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).MoveEventDefault(NewQMoveEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectMoveEvent(f func(ev *QMoveEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "moveEvent"); signal != nil { + f := func(ev *QMoveEvent) { + (*(*func(*QMoveEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "moveEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "moveEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectMoveEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "moveEvent") + } +} + +func (ptr *QWindow) MoveEvent(ev QMoveEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MoveEvent(ptr.Pointer(), PointerFromQMoveEvent(ev)) + } +} + +func (ptr *QWindow) MoveEventDefault(ev QMoveEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_MoveEventDefault(ptr.Pointer(), PointerFromQMoveEvent(ev)) + } +} + +//export callbackQWindow_NativeEvent +func callbackQWindow_NativeEvent(ptr unsafe.Pointer, eventType unsafe.Pointer, message unsafe.Pointer, result *C.long) C.char { + var resultR int + if result != nil { + resultR = int(int32(*result)) + defer func() { *result = C.long(int32(resultR)) }() + } + if signal := qt.GetSignal(ptr, "nativeEvent"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QByteArray, unsafe.Pointer, *int) bool)(signal))(core.NewQByteArrayFromPointer(eventType), message, &resultR)))) + } + + return C.char(int8(qt.GoBoolToInt(NewQWindowFromPointer(ptr).NativeEventDefault(core.NewQByteArrayFromPointer(eventType), message, &resultR)))) +} + +func (ptr *QWindow) ConnectNativeEvent(f func(eventType *core.QByteArray, message unsafe.Pointer, result *int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "nativeEvent"); signal != nil { + f := func(eventType *core.QByteArray, message unsafe.Pointer, result *int) bool { + (*(*func(*core.QByteArray, unsafe.Pointer, *int) bool)(signal))(eventType, message, result) + return f(eventType, message, result) + } + qt.ConnectSignal(ptr.Pointer(), "nativeEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "nativeEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectNativeEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "nativeEvent") + } +} + +func (ptr *QWindow) NativeEvent(eventType core.QByteArray_ITF, message unsafe.Pointer, result *int) bool { + if ptr.Pointer() != nil { + var resultC C.long + if result != nil { + resultC = C.long(int32(*result)) + defer func() { *result = int(int32(resultC)) }() + } + return int8(C.QWindow_NativeEvent(ptr.Pointer(), core.PointerFromQByteArray(eventType), message, &resultC)) != 0 + } + return false +} + +func (ptr *QWindow) NativeEventDefault(eventType core.QByteArray_ITF, message unsafe.Pointer, result *int) bool { + if ptr.Pointer() != nil { + var resultC C.long + if result != nil { + resultC = C.long(int32(*result)) + defer func() { *result = int(int32(resultC)) }() + } + return int8(C.QWindow_NativeEventDefault(ptr.Pointer(), core.PointerFromQByteArray(eventType), message, &resultC)) != 0 + } + return false +} + +func (ptr *QWindow) Opacity() float64 { + if ptr.Pointer() != nil { + return float64(C.QWindow_Opacity(ptr.Pointer())) + } + return 0 +} + +//export callbackQWindow_OpacityChanged +func callbackQWindow_OpacityChanged(ptr unsafe.Pointer, opacity C.double) { + if signal := qt.GetSignal(ptr, "opacityChanged"); signal != nil { + (*(*func(float64))(signal))(float64(opacity)) + } + +} + +func (ptr *QWindow) ConnectOpacityChanged(f func(opacity float64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "opacityChanged") { + C.QWindow_ConnectOpacityChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "opacityChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "opacityChanged"); signal != nil { + f := func(opacity float64) { + (*(*func(float64))(signal))(opacity) + f(opacity) + } + qt.ConnectSignal(ptr.Pointer(), "opacityChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "opacityChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectOpacityChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectOpacityChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "opacityChanged") + } +} + +func (ptr *QWindow) OpacityChanged(opacity float64) { + if ptr.Pointer() != nil { + C.QWindow_OpacityChanged(ptr.Pointer(), C.double(opacity)) + } +} + +func (ptr *QWindow) Parent(mode QWindow__AncestorMode) *QWindow { + if ptr.Pointer() != nil { + tmpValue := NewQWindowFromPointer(C.QWindow_Parent(ptr.Pointer(), C.longlong(mode))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QWindow) Parent2() *QWindow { + if ptr.Pointer() != nil { + tmpValue := NewQWindowFromPointer(C.QWindow_Parent2(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QWindow) Position() *core.QPoint { + if ptr.Pointer() != nil { + tmpValue := core.NewQPointFromPointer(C.QWindow_Position(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QPoint).DestroyQPoint) + return tmpValue + } + return nil +} + +//export callbackQWindow_Raise +func callbackQWindow_Raise(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "raise"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).RaiseDefault() + } +} + +func (ptr *QWindow) ConnectRaise(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "raise"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "raise", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "raise", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectRaise() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "raise") + } +} + +func (ptr *QWindow) Raise() { + if ptr.Pointer() != nil { + C.QWindow_Raise(ptr.Pointer()) + } +} + +func (ptr *QWindow) RaiseDefault() { + if ptr.Pointer() != nil { + C.QWindow_RaiseDefault(ptr.Pointer()) + } +} + +func (ptr *QWindow) ReportContentOrientationChange(orientation core.Qt__ScreenOrientation) { + if ptr.Pointer() != nil { + C.QWindow_ReportContentOrientationChange(ptr.Pointer(), C.longlong(orientation)) + } +} + +//export callbackQWindow_RequestActivate +func callbackQWindow_RequestActivate(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "requestActivate"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).RequestActivateDefault() + } +} + +func (ptr *QWindow) ConnectRequestActivate(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "requestActivate"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "requestActivate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "requestActivate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectRequestActivate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "requestActivate") + } +} + +func (ptr *QWindow) RequestActivate() { + if ptr.Pointer() != nil { + C.QWindow_RequestActivate(ptr.Pointer()) + } +} + +func (ptr *QWindow) RequestActivateDefault() { + if ptr.Pointer() != nil { + C.QWindow_RequestActivateDefault(ptr.Pointer()) + } +} + +//export callbackQWindow_RequestUpdate +func callbackQWindow_RequestUpdate(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "requestUpdate"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).RequestUpdateDefault() + } +} + +func (ptr *QWindow) ConnectRequestUpdate(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "requestUpdate"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "requestUpdate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "requestUpdate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectRequestUpdate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "requestUpdate") + } +} + +func (ptr *QWindow) RequestUpdate() { + if ptr.Pointer() != nil { + C.QWindow_RequestUpdate(ptr.Pointer()) + } +} + +func (ptr *QWindow) RequestUpdateDefault() { + if ptr.Pointer() != nil { + C.QWindow_RequestUpdateDefault(ptr.Pointer()) + } +} + +func (ptr *QWindow) RequestedFormat() *QSurfaceFormat { + if ptr.Pointer() != nil { + tmpValue := NewQSurfaceFormatFromPointer(C.QWindow_RequestedFormat(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSurfaceFormat).DestroyQSurfaceFormat) + return tmpValue + } + return nil +} + +func (ptr *QWindow) Resize(newSize core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QWindow_Resize(ptr.Pointer(), core.PointerFromQSize(newSize)) + } +} + +func (ptr *QWindow) Resize2(w int, h int) { + if ptr.Pointer() != nil { + C.QWindow_Resize2(ptr.Pointer(), C.int(int32(w)), C.int(int32(h))) + } +} + +//export callbackQWindow_ResizeEvent +func callbackQWindow_ResizeEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "resizeEvent"); signal != nil { + (*(*func(*QResizeEvent))(signal))(NewQResizeEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).ResizeEventDefault(NewQResizeEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectResizeEvent(f func(ev *QResizeEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "resizeEvent"); signal != nil { + f := func(ev *QResizeEvent) { + (*(*func(*QResizeEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "resizeEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resizeEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectResizeEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "resizeEvent") + } +} + +func (ptr *QWindow) ResizeEvent(ev QResizeEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ResizeEvent(ptr.Pointer(), PointerFromQResizeEvent(ev)) + } +} + +func (ptr *QWindow) ResizeEventDefault(ev QResizeEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ResizeEventDefault(ptr.Pointer(), PointerFromQResizeEvent(ev)) + } +} + +func (ptr *QWindow) Screen() *QScreen { + if ptr.Pointer() != nil { + tmpValue := NewQScreenFromPointer(C.QWindow_Screen(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQWindow_ScreenChanged +func callbackQWindow_ScreenChanged(ptr unsafe.Pointer, screen unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "screenChanged"); signal != nil { + (*(*func(*QScreen))(signal))(NewQScreenFromPointer(screen)) + } + +} + +func (ptr *QWindow) ConnectScreenChanged(f func(screen *QScreen)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "screenChanged") { + C.QWindow_ConnectScreenChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "screenChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "screenChanged"); signal != nil { + f := func(screen *QScreen) { + (*(*func(*QScreen))(signal))(screen) + f(screen) + } + qt.ConnectSignal(ptr.Pointer(), "screenChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "screenChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectScreenChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectScreenChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "screenChanged") + } +} + +func (ptr *QWindow) ScreenChanged(screen QScreen_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ScreenChanged(ptr.Pointer(), PointerFromQScreen(screen)) + } +} + +func (ptr *QWindow) SetBaseSize(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetBaseSize(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +func (ptr *QWindow) SetCursor(cursor QCursor_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetCursor(ptr.Pointer(), PointerFromQCursor(cursor)) + } +} + +func (ptr *QWindow) SetFilePath(filePath string) { + if ptr.Pointer() != nil { + var filePathC *C.char + if filePath != "" { + filePathC = C.CString(filePath) + defer C.free(unsafe.Pointer(filePathC)) + } + C.QWindow_SetFilePath(ptr.Pointer(), C.struct_QtGui_PackedString{data: filePathC, len: C.longlong(len(filePath))}) + } +} + +func (ptr *QWindow) SetFlag(flag core.Qt__WindowType, on bool) { + if ptr.Pointer() != nil { + C.QWindow_SetFlag(ptr.Pointer(), C.longlong(flag), C.char(int8(qt.GoBoolToInt(on)))) + } +} + +func (ptr *QWindow) SetFlags(flags core.Qt__WindowType) { + if ptr.Pointer() != nil { + C.QWindow_SetFlags(ptr.Pointer(), C.longlong(flags)) + } +} + +func (ptr *QWindow) SetFormat(format QSurfaceFormat_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetFormat(ptr.Pointer(), PointerFromQSurfaceFormat(format)) + } +} + +func (ptr *QWindow) SetFramePosition(point core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetFramePosition(ptr.Pointer(), core.PointerFromQPoint(point)) + } +} + +//export callbackQWindow_SetGeometry +func callbackQWindow_SetGeometry(ptr unsafe.Pointer, posx C.int, posy C.int, w C.int, h C.int) { + if signal := qt.GetSignal(ptr, "setGeometry"); signal != nil { + (*(*func(int, int, int, int))(signal))(int(int32(posx)), int(int32(posy)), int(int32(w)), int(int32(h))) + } else { + NewQWindowFromPointer(ptr).SetGeometryDefault(int(int32(posx)), int(int32(posy)), int(int32(w)), int(int32(h))) + } +} + +func (ptr *QWindow) ConnectSetGeometry(f func(posx int, posy int, w int, h int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setGeometry"); signal != nil { + f := func(posx int, posy int, w int, h int) { + (*(*func(int, int, int, int))(signal))(posx, posy, w, h) + f(posx, posy, w, h) + } + qt.ConnectSignal(ptr.Pointer(), "setGeometry", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setGeometry", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetGeometry() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setGeometry") + } +} + +func (ptr *QWindow) SetGeometry(posx int, posy int, w int, h int) { + if ptr.Pointer() != nil { + C.QWindow_SetGeometry(ptr.Pointer(), C.int(int32(posx)), C.int(int32(posy)), C.int(int32(w)), C.int(int32(h))) + } +} + +func (ptr *QWindow) SetGeometryDefault(posx int, posy int, w int, h int) { + if ptr.Pointer() != nil { + C.QWindow_SetGeometryDefault(ptr.Pointer(), C.int(int32(posx)), C.int(int32(posy)), C.int(int32(w)), C.int(int32(h))) + } +} + +//export callbackQWindow_SetGeometry2 +func callbackQWindow_SetGeometry2(ptr unsafe.Pointer, rect unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setGeometry2"); signal != nil { + (*(*func(*core.QRect))(signal))(core.NewQRectFromPointer(rect)) + } else { + NewQWindowFromPointer(ptr).SetGeometry2Default(core.NewQRectFromPointer(rect)) + } +} + +func (ptr *QWindow) ConnectSetGeometry2(f func(rect *core.QRect)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setGeometry2"); signal != nil { + f := func(rect *core.QRect) { + (*(*func(*core.QRect))(signal))(rect) + f(rect) + } + qt.ConnectSignal(ptr.Pointer(), "setGeometry2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setGeometry2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetGeometry2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setGeometry2") + } +} + +func (ptr *QWindow) SetGeometry2(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetGeometry2(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +func (ptr *QWindow) SetGeometry2Default(rect core.QRect_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetGeometry2Default(ptr.Pointer(), core.PointerFromQRect(rect)) + } +} + +//export callbackQWindow_SetHeight +func callbackQWindow_SetHeight(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "setHeight"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } else { + NewQWindowFromPointer(ptr).SetHeightDefault(int(int32(arg))) + } +} + +func (ptr *QWindow) ConnectSetHeight(f func(arg int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setHeight"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "setHeight", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setHeight", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetHeight() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setHeight") + } +} + +func (ptr *QWindow) SetHeight(arg int) { + if ptr.Pointer() != nil { + C.QWindow_SetHeight(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) SetHeightDefault(arg int) { + if ptr.Pointer() != nil { + C.QWindow_SetHeightDefault(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) SetIcon(icon QIcon_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetIcon(ptr.Pointer(), PointerFromQIcon(icon)) + } +} + +func (ptr *QWindow) SetKeyboardGrabEnabled(grab bool) bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_SetKeyboardGrabEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(grab))))) != 0 + } + return false +} + +func (ptr *QWindow) SetMask(region QRegion_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetMask(ptr.Pointer(), PointerFromQRegion(region)) + } +} + +//export callbackQWindow_SetMaximumHeight +func callbackQWindow_SetMaximumHeight(ptr unsafe.Pointer, h C.int) { + if signal := qt.GetSignal(ptr, "setMaximumHeight"); signal != nil { + (*(*func(int))(signal))(int(int32(h))) + } else { + NewQWindowFromPointer(ptr).SetMaximumHeightDefault(int(int32(h))) + } +} + +func (ptr *QWindow) ConnectSetMaximumHeight(f func(h int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setMaximumHeight"); signal != nil { + f := func(h int) { + (*(*func(int))(signal))(h) + f(h) + } + qt.ConnectSignal(ptr.Pointer(), "setMaximumHeight", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setMaximumHeight", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetMaximumHeight() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setMaximumHeight") + } +} + +func (ptr *QWindow) SetMaximumHeight(h int) { + if ptr.Pointer() != nil { + C.QWindow_SetMaximumHeight(ptr.Pointer(), C.int(int32(h))) + } +} + +func (ptr *QWindow) SetMaximumHeightDefault(h int) { + if ptr.Pointer() != nil { + C.QWindow_SetMaximumHeightDefault(ptr.Pointer(), C.int(int32(h))) + } +} + +func (ptr *QWindow) SetMaximumSize(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetMaximumSize(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +//export callbackQWindow_SetMaximumWidth +func callbackQWindow_SetMaximumWidth(ptr unsafe.Pointer, w C.int) { + if signal := qt.GetSignal(ptr, "setMaximumWidth"); signal != nil { + (*(*func(int))(signal))(int(int32(w))) + } else { + NewQWindowFromPointer(ptr).SetMaximumWidthDefault(int(int32(w))) + } +} + +func (ptr *QWindow) ConnectSetMaximumWidth(f func(w int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setMaximumWidth"); signal != nil { + f := func(w int) { + (*(*func(int))(signal))(w) + f(w) + } + qt.ConnectSignal(ptr.Pointer(), "setMaximumWidth", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setMaximumWidth", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetMaximumWidth() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setMaximumWidth") + } +} + +func (ptr *QWindow) SetMaximumWidth(w int) { + if ptr.Pointer() != nil { + C.QWindow_SetMaximumWidth(ptr.Pointer(), C.int(int32(w))) + } +} + +func (ptr *QWindow) SetMaximumWidthDefault(w int) { + if ptr.Pointer() != nil { + C.QWindow_SetMaximumWidthDefault(ptr.Pointer(), C.int(int32(w))) + } +} + +//export callbackQWindow_SetMinimumHeight +func callbackQWindow_SetMinimumHeight(ptr unsafe.Pointer, h C.int) { + if signal := qt.GetSignal(ptr, "setMinimumHeight"); signal != nil { + (*(*func(int))(signal))(int(int32(h))) + } else { + NewQWindowFromPointer(ptr).SetMinimumHeightDefault(int(int32(h))) + } +} + +func (ptr *QWindow) ConnectSetMinimumHeight(f func(h int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setMinimumHeight"); signal != nil { + f := func(h int) { + (*(*func(int))(signal))(h) + f(h) + } + qt.ConnectSignal(ptr.Pointer(), "setMinimumHeight", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setMinimumHeight", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetMinimumHeight() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setMinimumHeight") + } +} + +func (ptr *QWindow) SetMinimumHeight(h int) { + if ptr.Pointer() != nil { + C.QWindow_SetMinimumHeight(ptr.Pointer(), C.int(int32(h))) + } +} + +func (ptr *QWindow) SetMinimumHeightDefault(h int) { + if ptr.Pointer() != nil { + C.QWindow_SetMinimumHeightDefault(ptr.Pointer(), C.int(int32(h))) + } +} + +func (ptr *QWindow) SetMinimumSize(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetMinimumSize(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +//export callbackQWindow_SetMinimumWidth +func callbackQWindow_SetMinimumWidth(ptr unsafe.Pointer, w C.int) { + if signal := qt.GetSignal(ptr, "setMinimumWidth"); signal != nil { + (*(*func(int))(signal))(int(int32(w))) + } else { + NewQWindowFromPointer(ptr).SetMinimumWidthDefault(int(int32(w))) + } +} + +func (ptr *QWindow) ConnectSetMinimumWidth(f func(w int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setMinimumWidth"); signal != nil { + f := func(w int) { + (*(*func(int))(signal))(w) + f(w) + } + qt.ConnectSignal(ptr.Pointer(), "setMinimumWidth", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setMinimumWidth", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetMinimumWidth() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setMinimumWidth") + } +} + +func (ptr *QWindow) SetMinimumWidth(w int) { + if ptr.Pointer() != nil { + C.QWindow_SetMinimumWidth(ptr.Pointer(), C.int(int32(w))) + } +} + +func (ptr *QWindow) SetMinimumWidthDefault(w int) { + if ptr.Pointer() != nil { + C.QWindow_SetMinimumWidthDefault(ptr.Pointer(), C.int(int32(w))) + } +} + +func (ptr *QWindow) SetModality(modality core.Qt__WindowModality) { + if ptr.Pointer() != nil { + C.QWindow_SetModality(ptr.Pointer(), C.longlong(modality)) + } +} + +func (ptr *QWindow) SetMouseGrabEnabled(grab bool) bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_SetMouseGrabEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(grab))))) != 0 + } + return false +} + +func (ptr *QWindow) SetOpacity(level float64) { + if ptr.Pointer() != nil { + C.QWindow_SetOpacity(ptr.Pointer(), C.double(level)) + } +} + +func (ptr *QWindow) SetParent(parent QWindow_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetParent(ptr.Pointer(), PointerFromQWindow(parent)) + } +} + +func (ptr *QWindow) SetPosition(pt core.QPoint_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetPosition(ptr.Pointer(), core.PointerFromQPoint(pt)) + } +} + +func (ptr *QWindow) SetPosition2(posx int, posy int) { + if ptr.Pointer() != nil { + C.QWindow_SetPosition2(ptr.Pointer(), C.int(int32(posx)), C.int(int32(posy))) + } +} + +func (ptr *QWindow) SetScreen(newScreen QScreen_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetScreen(ptr.Pointer(), PointerFromQScreen(newScreen)) + } +} + +func (ptr *QWindow) SetSizeIncrement(size core.QSize_ITF) { + if ptr.Pointer() != nil { + C.QWindow_SetSizeIncrement(ptr.Pointer(), core.PointerFromQSize(size)) + } +} + +func (ptr *QWindow) SetSurfaceType(surfaceType QSurface__SurfaceType) { + if ptr.Pointer() != nil { + C.QWindow_SetSurfaceType(ptr.Pointer(), C.longlong(surfaceType)) + } +} + +//export callbackQWindow_SetTitle +func callbackQWindow_SetTitle(ptr unsafe.Pointer, vqs C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "setTitle"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(vqs)) + } else { + NewQWindowFromPointer(ptr).SetTitleDefault(cGoUnpackString(vqs)) + } +} + +func (ptr *QWindow) ConnectSetTitle(f func(vqs string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setTitle"); signal != nil { + f := func(vqs string) { + (*(*func(string))(signal))(vqs) + f(vqs) + } + qt.ConnectSignal(ptr.Pointer(), "setTitle", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setTitle", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetTitle() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setTitle") + } +} + +func (ptr *QWindow) SetTitle(vqs string) { + if ptr.Pointer() != nil { + var vqsC *C.char + if vqs != "" { + vqsC = C.CString(vqs) + defer C.free(unsafe.Pointer(vqsC)) + } + C.QWindow_SetTitle(ptr.Pointer(), C.struct_QtGui_PackedString{data: vqsC, len: C.longlong(len(vqs))}) + } +} + +func (ptr *QWindow) SetTitleDefault(vqs string) { + if ptr.Pointer() != nil { + var vqsC *C.char + if vqs != "" { + vqsC = C.CString(vqs) + defer C.free(unsafe.Pointer(vqsC)) + } + C.QWindow_SetTitleDefault(ptr.Pointer(), C.struct_QtGui_PackedString{data: vqsC, len: C.longlong(len(vqs))}) + } +} + +func (ptr *QWindow) SetVisibility(v QWindow__Visibility) { + if ptr.Pointer() != nil { + C.QWindow_SetVisibility(ptr.Pointer(), C.longlong(v)) + } +} + +//export callbackQWindow_SetVisible +func callbackQWindow_SetVisible(ptr unsafe.Pointer, visible C.char) { + if signal := qt.GetSignal(ptr, "setVisible"); signal != nil { + (*(*func(bool))(signal))(int8(visible) != 0) + } else { + NewQWindowFromPointer(ptr).SetVisibleDefault(int8(visible) != 0) + } +} + +func (ptr *QWindow) ConnectSetVisible(f func(visible bool)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setVisible"); signal != nil { + f := func(visible bool) { + (*(*func(bool))(signal))(visible) + f(visible) + } + qt.ConnectSignal(ptr.Pointer(), "setVisible", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setVisible", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetVisible() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setVisible") + } +} + +func (ptr *QWindow) SetVisible(visible bool) { + if ptr.Pointer() != nil { + C.QWindow_SetVisible(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(visible)))) + } +} + +func (ptr *QWindow) SetVisibleDefault(visible bool) { + if ptr.Pointer() != nil { + C.QWindow_SetVisibleDefault(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(visible)))) + } +} + +//export callbackQWindow_SetWidth +func callbackQWindow_SetWidth(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "setWidth"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } else { + NewQWindowFromPointer(ptr).SetWidthDefault(int(int32(arg))) + } +} + +func (ptr *QWindow) ConnectSetWidth(f func(arg int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setWidth"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "setWidth", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setWidth", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetWidth() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setWidth") + } +} + +func (ptr *QWindow) SetWidth(arg int) { + if ptr.Pointer() != nil { + C.QWindow_SetWidth(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) SetWidthDefault(arg int) { + if ptr.Pointer() != nil { + C.QWindow_SetWidthDefault(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) SetWindowState(state core.Qt__WindowState) { + if ptr.Pointer() != nil { + C.QWindow_SetWindowState(ptr.Pointer(), C.longlong(state)) + } +} + +func (ptr *QWindow) SetWindowStates(state core.Qt__WindowState) { + if ptr.Pointer() != nil { + C.QWindow_SetWindowStates(ptr.Pointer(), C.longlong(state)) + } +} + +//export callbackQWindow_SetX +func callbackQWindow_SetX(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "setX"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } else { + NewQWindowFromPointer(ptr).SetXDefault(int(int32(arg))) + } +} + +func (ptr *QWindow) ConnectSetX(f func(arg int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setX"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "setX", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setX", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetX() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setX") + } +} + +func (ptr *QWindow) SetX(arg int) { + if ptr.Pointer() != nil { + C.QWindow_SetX(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) SetXDefault(arg int) { + if ptr.Pointer() != nil { + C.QWindow_SetXDefault(ptr.Pointer(), C.int(int32(arg))) + } +} + +//export callbackQWindow_SetY +func callbackQWindow_SetY(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "setY"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } else { + NewQWindowFromPointer(ptr).SetYDefault(int(int32(arg))) + } +} + +func (ptr *QWindow) ConnectSetY(f func(arg int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setY"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "setY", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setY", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSetY() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setY") + } +} + +func (ptr *QWindow) SetY(arg int) { + if ptr.Pointer() != nil { + C.QWindow_SetY(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) SetYDefault(arg int) { + if ptr.Pointer() != nil { + C.QWindow_SetYDefault(ptr.Pointer(), C.int(int32(arg))) + } +} + +//export callbackQWindow_Show +func callbackQWindow_Show(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "show"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).ShowDefault() + } +} + +func (ptr *QWindow) ConnectShow(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "show"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "show", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "show", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectShow() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "show") + } +} + +func (ptr *QWindow) Show() { + if ptr.Pointer() != nil { + C.QWindow_Show(ptr.Pointer()) + } +} + +func (ptr *QWindow) ShowDefault() { + if ptr.Pointer() != nil { + C.QWindow_ShowDefault(ptr.Pointer()) + } +} + +//export callbackQWindow_ShowEvent +func callbackQWindow_ShowEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "showEvent"); signal != nil { + (*(*func(*QShowEvent))(signal))(NewQShowEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).ShowEventDefault(NewQShowEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectShowEvent(f func(ev *QShowEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "showEvent"); signal != nil { + f := func(ev *QShowEvent) { + (*(*func(*QShowEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "showEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "showEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectShowEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "showEvent") + } +} + +func (ptr *QWindow) ShowEvent(ev QShowEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ShowEvent(ptr.Pointer(), PointerFromQShowEvent(ev)) + } +} + +func (ptr *QWindow) ShowEventDefault(ev QShowEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ShowEventDefault(ptr.Pointer(), PointerFromQShowEvent(ev)) + } +} + +//export callbackQWindow_ShowFullScreen +func callbackQWindow_ShowFullScreen(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "showFullScreen"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).ShowFullScreenDefault() + } +} + +func (ptr *QWindow) ConnectShowFullScreen(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "showFullScreen"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "showFullScreen", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "showFullScreen", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectShowFullScreen() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "showFullScreen") + } +} + +func (ptr *QWindow) ShowFullScreen() { + if ptr.Pointer() != nil { + C.QWindow_ShowFullScreen(ptr.Pointer()) + } +} + +func (ptr *QWindow) ShowFullScreenDefault() { + if ptr.Pointer() != nil { + C.QWindow_ShowFullScreenDefault(ptr.Pointer()) + } +} + +//export callbackQWindow_ShowMaximized +func callbackQWindow_ShowMaximized(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "showMaximized"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).ShowMaximizedDefault() + } +} + +func (ptr *QWindow) ConnectShowMaximized(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "showMaximized"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "showMaximized", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "showMaximized", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectShowMaximized() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "showMaximized") + } +} + +func (ptr *QWindow) ShowMaximized() { + if ptr.Pointer() != nil { + C.QWindow_ShowMaximized(ptr.Pointer()) + } +} + +func (ptr *QWindow) ShowMaximizedDefault() { + if ptr.Pointer() != nil { + C.QWindow_ShowMaximizedDefault(ptr.Pointer()) + } +} + +//export callbackQWindow_ShowMinimized +func callbackQWindow_ShowMinimized(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "showMinimized"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).ShowMinimizedDefault() + } +} + +func (ptr *QWindow) ConnectShowMinimized(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "showMinimized"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "showMinimized", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "showMinimized", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectShowMinimized() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "showMinimized") + } +} + +func (ptr *QWindow) ShowMinimized() { + if ptr.Pointer() != nil { + C.QWindow_ShowMinimized(ptr.Pointer()) + } +} + +func (ptr *QWindow) ShowMinimizedDefault() { + if ptr.Pointer() != nil { + C.QWindow_ShowMinimizedDefault(ptr.Pointer()) + } +} + +//export callbackQWindow_ShowNormal +func callbackQWindow_ShowNormal(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "showNormal"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).ShowNormalDefault() + } +} + +func (ptr *QWindow) ConnectShowNormal(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "showNormal"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "showNormal", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "showNormal", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectShowNormal() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "showNormal") + } +} + +func (ptr *QWindow) ShowNormal() { + if ptr.Pointer() != nil { + C.QWindow_ShowNormal(ptr.Pointer()) + } +} + +func (ptr *QWindow) ShowNormalDefault() { + if ptr.Pointer() != nil { + C.QWindow_ShowNormalDefault(ptr.Pointer()) + } +} + +//export callbackQWindow_Size +func callbackQWindow_Size(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "size"); signal != nil { + return core.PointerFromQSize((*(*func() *core.QSize)(signal))()) + } + + return core.PointerFromQSize(NewQWindowFromPointer(ptr).SizeDefault()) +} + +func (ptr *QWindow) ConnectSize(f func() *core.QSize) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "size"); signal != nil { + f := func() *core.QSize { + (*(*func() *core.QSize)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "size", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "size", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "size") + } +} + +func (ptr *QWindow) Size() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QWindow_Size(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QWindow) SizeDefault() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QWindow_SizeDefault(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +func (ptr *QWindow) SizeIncrement() *core.QSize { + if ptr.Pointer() != nil { + tmpValue := core.NewQSizeFromPointer(C.QWindow_SizeIncrement(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QSize).DestroyQSize) + return tmpValue + } + return nil +} + +//export callbackQWindow_SurfaceType +func callbackQWindow_SurfaceType(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "surfaceType"); signal != nil { + return C.longlong((*(*func() QSurface__SurfaceType)(signal))()) + } + + return C.longlong(NewQWindowFromPointer(ptr).SurfaceTypeDefault()) +} + +func (ptr *QWindow) ConnectSurfaceType(f func() QSurface__SurfaceType) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "surfaceType"); signal != nil { + f := func() QSurface__SurfaceType { + (*(*func() QSurface__SurfaceType)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "surfaceType", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "surfaceType", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectSurfaceType() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "surfaceType") + } +} + +func (ptr *QWindow) SurfaceType() QSurface__SurfaceType { + if ptr.Pointer() != nil { + return QSurface__SurfaceType(C.QWindow_SurfaceType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QWindow) SurfaceTypeDefault() QSurface__SurfaceType { + if ptr.Pointer() != nil { + return QSurface__SurfaceType(C.QWindow_SurfaceTypeDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQWindow_TabletEvent +func callbackQWindow_TabletEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "tabletEvent"); signal != nil { + (*(*func(*QTabletEvent))(signal))(NewQTabletEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).TabletEventDefault(NewQTabletEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectTabletEvent(f func(ev *QTabletEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "tabletEvent"); signal != nil { + f := func(ev *QTabletEvent) { + (*(*func(*QTabletEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "tabletEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "tabletEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectTabletEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "tabletEvent") + } +} + +func (ptr *QWindow) TabletEvent(ev QTabletEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_TabletEvent(ptr.Pointer(), PointerFromQTabletEvent(ev)) + } +} + +func (ptr *QWindow) TabletEventDefault(ev QTabletEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_TabletEventDefault(ptr.Pointer(), PointerFromQTabletEvent(ev)) + } +} + +func (ptr *QWindow) Title() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QWindow_Title(ptr.Pointer())) + } + return "" +} + +//export callbackQWindow_TouchEvent +func callbackQWindow_TouchEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "touchEvent"); signal != nil { + (*(*func(*QTouchEvent))(signal))(NewQTouchEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).TouchEventDefault(NewQTouchEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectTouchEvent(f func(ev *QTouchEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "touchEvent"); signal != nil { + f := func(ev *QTouchEvent) { + (*(*func(*QTouchEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "touchEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "touchEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectTouchEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "touchEvent") + } +} + +func (ptr *QWindow) TouchEvent(ev QTouchEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_TouchEvent(ptr.Pointer(), PointerFromQTouchEvent(ev)) + } +} + +func (ptr *QWindow) TouchEventDefault(ev QTouchEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_TouchEventDefault(ptr.Pointer(), PointerFromQTouchEvent(ev)) + } +} + +func (ptr *QWindow) Type() core.Qt__WindowType { + if ptr.Pointer() != nil { + return core.Qt__WindowType(C.QWindow_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QWindow) UnsetCursor() { + if ptr.Pointer() != nil { + C.QWindow_UnsetCursor(ptr.Pointer()) + } +} + +func (ptr *QWindow) Visibility() QWindow__Visibility { + if ptr.Pointer() != nil { + return QWindow__Visibility(C.QWindow_Visibility(ptr.Pointer())) + } + return 0 +} + +//export callbackQWindow_VisibilityChanged +func callbackQWindow_VisibilityChanged(ptr unsafe.Pointer, visibility C.longlong) { + if signal := qt.GetSignal(ptr, "visibilityChanged"); signal != nil { + (*(*func(QWindow__Visibility))(signal))(QWindow__Visibility(visibility)) + } + +} + +func (ptr *QWindow) ConnectVisibilityChanged(f func(visibility QWindow__Visibility)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "visibilityChanged") { + C.QWindow_ConnectVisibilityChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "visibilityChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "visibilityChanged"); signal != nil { + f := func(visibility QWindow__Visibility) { + (*(*func(QWindow__Visibility))(signal))(visibility) + f(visibility) + } + qt.ConnectSignal(ptr.Pointer(), "visibilityChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "visibilityChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectVisibilityChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectVisibilityChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "visibilityChanged") + } +} + +func (ptr *QWindow) VisibilityChanged(visibility QWindow__Visibility) { + if ptr.Pointer() != nil { + C.QWindow_VisibilityChanged(ptr.Pointer(), C.longlong(visibility)) + } +} + +//export callbackQWindow_VisibleChanged +func callbackQWindow_VisibleChanged(ptr unsafe.Pointer, arg C.char) { + if signal := qt.GetSignal(ptr, "visibleChanged"); signal != nil { + (*(*func(bool))(signal))(int8(arg) != 0) + } + +} + +func (ptr *QWindow) ConnectVisibleChanged(f func(arg bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "visibleChanged") { + C.QWindow_ConnectVisibleChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "visibleChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "visibleChanged"); signal != nil { + f := func(arg bool) { + (*(*func(bool))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "visibleChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "visibleChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectVisibleChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectVisibleChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "visibleChanged") + } +} + +func (ptr *QWindow) VisibleChanged(arg bool) { + if ptr.Pointer() != nil { + C.QWindow_VisibleChanged(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(arg)))) + } +} + +//export callbackQWindow_WheelEvent +func callbackQWindow_WheelEvent(ptr unsafe.Pointer, ev unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "wheelEvent"); signal != nil { + (*(*func(*QWheelEvent))(signal))(NewQWheelEventFromPointer(ev)) + } else { + NewQWindowFromPointer(ptr).WheelEventDefault(NewQWheelEventFromPointer(ev)) + } +} + +func (ptr *QWindow) ConnectWheelEvent(f func(ev *QWheelEvent)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "wheelEvent"); signal != nil { + f := func(ev *QWheelEvent) { + (*(*func(*QWheelEvent))(signal))(ev) + f(ev) + } + qt.ConnectSignal(ptr.Pointer(), "wheelEvent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "wheelEvent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectWheelEvent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "wheelEvent") + } +} + +func (ptr *QWindow) WheelEvent(ev QWheelEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_WheelEvent(ptr.Pointer(), PointerFromQWheelEvent(ev)) + } +} + +func (ptr *QWindow) WheelEventDefault(ev QWheelEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_WheelEventDefault(ptr.Pointer(), PointerFromQWheelEvent(ev)) + } +} + +func (ptr *QWindow) Width() int { + if ptr.Pointer() != nil { + return int(int32(C.QWindow_Width(ptr.Pointer()))) + } + return 0 +} + +//export callbackQWindow_WidthChanged +func callbackQWindow_WidthChanged(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "widthChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } + +} + +func (ptr *QWindow) ConnectWidthChanged(f func(arg int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "widthChanged") { + C.QWindow_ConnectWidthChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "widthChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "widthChanged"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "widthChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "widthChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectWidthChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectWidthChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "widthChanged") + } +} + +func (ptr *QWindow) WidthChanged(arg int) { + if ptr.Pointer() != nil { + C.QWindow_WidthChanged(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) WinId() uintptr { + if ptr.Pointer() != nil { + return uintptr(C.QWindow_WinId(ptr.Pointer())) + } + return 0 +} + +func (ptr *QWindow) WindowState() core.Qt__WindowState { + if ptr.Pointer() != nil { + return core.Qt__WindowState(C.QWindow_WindowState(ptr.Pointer())) + } + return 0 +} + +//export callbackQWindow_WindowStateChanged +func callbackQWindow_WindowStateChanged(ptr unsafe.Pointer, windowState C.longlong) { + if signal := qt.GetSignal(ptr, "windowStateChanged"); signal != nil { + (*(*func(core.Qt__WindowState))(signal))(core.Qt__WindowState(windowState)) + } + +} + +func (ptr *QWindow) ConnectWindowStateChanged(f func(windowState core.Qt__WindowState)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "windowStateChanged") { + C.QWindow_ConnectWindowStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "windowStateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "windowStateChanged"); signal != nil { + f := func(windowState core.Qt__WindowState) { + (*(*func(core.Qt__WindowState))(signal))(windowState) + f(windowState) + } + qt.ConnectSignal(ptr.Pointer(), "windowStateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "windowStateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectWindowStateChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectWindowStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "windowStateChanged") + } +} + +func (ptr *QWindow) WindowStateChanged(windowState core.Qt__WindowState) { + if ptr.Pointer() != nil { + C.QWindow_WindowStateChanged(ptr.Pointer(), C.longlong(windowState)) + } +} + +func (ptr *QWindow) WindowStates() core.Qt__WindowState { + if ptr.Pointer() != nil { + return core.Qt__WindowState(C.QWindow_WindowStates(ptr.Pointer())) + } + return 0 +} + +//export callbackQWindow_WindowTitleChanged +func callbackQWindow_WindowTitleChanged(ptr unsafe.Pointer, title C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "windowTitleChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(title)) + } + +} + +func (ptr *QWindow) ConnectWindowTitleChanged(f func(title string)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "windowTitleChanged") { + C.QWindow_ConnectWindowTitleChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "windowTitleChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "windowTitleChanged"); signal != nil { + f := func(title string) { + (*(*func(string))(signal))(title) + f(title) + } + qt.ConnectSignal(ptr.Pointer(), "windowTitleChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "windowTitleChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectWindowTitleChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectWindowTitleChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "windowTitleChanged") + } +} + +func (ptr *QWindow) WindowTitleChanged(title string) { + if ptr.Pointer() != nil { + var titleC *C.char + if title != "" { + titleC = C.CString(title) + defer C.free(unsafe.Pointer(titleC)) + } + C.QWindow_WindowTitleChanged(ptr.Pointer(), C.struct_QtGui_PackedString{data: titleC, len: C.longlong(len(title))}) + } +} + +func (ptr *QWindow) X() int { + if ptr.Pointer() != nil { + return int(int32(C.QWindow_X(ptr.Pointer()))) + } + return 0 +} + +//export callbackQWindow_XChanged +func callbackQWindow_XChanged(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "xChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } + +} + +func (ptr *QWindow) ConnectXChanged(f func(arg int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "xChanged") { + C.QWindow_ConnectXChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "xChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "xChanged"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "xChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "xChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectXChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectXChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "xChanged") + } +} + +func (ptr *QWindow) XChanged(arg int) { + if ptr.Pointer() != nil { + C.QWindow_XChanged(ptr.Pointer(), C.int(int32(arg))) + } +} + +func (ptr *QWindow) Y() int { + if ptr.Pointer() != nil { + return int(int32(C.QWindow_Y(ptr.Pointer()))) + } + return 0 +} + +//export callbackQWindow_YChanged +func callbackQWindow_YChanged(ptr unsafe.Pointer, arg C.int) { + if signal := qt.GetSignal(ptr, "yChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(arg))) + } + +} + +func (ptr *QWindow) ConnectYChanged(f func(arg int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "yChanged") { + C.QWindow_ConnectYChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "yChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "yChanged"); signal != nil { + f := func(arg int) { + (*(*func(int))(signal))(arg) + f(arg) + } + qt.ConnectSignal(ptr.Pointer(), "yChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "yChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectYChanged() { + if ptr.Pointer() != nil { + C.QWindow_DisconnectYChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "yChanged") + } +} + +func (ptr *QWindow) YChanged(arg int) { + if ptr.Pointer() != nil { + C.QWindow_YChanged(ptr.Pointer(), C.int(int32(arg))) + } +} + +//export callbackQWindow_DestroyQWindow +func callbackQWindow_DestroyQWindow(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QWindow"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).DestroyQWindowDefault() + } +} + +func (ptr *QWindow) ConnectDestroyQWindow(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QWindow"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QWindow", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QWindow", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QWindow) DisconnectDestroyQWindow() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QWindow") + } +} + +func (ptr *QWindow) DestroyQWindow() { + if ptr.Pointer() != nil { + C.QWindow_DestroyQWindow(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QWindow) DestroyQWindowDefault() { + if ptr.Pointer() != nil { + C.QWindow_DestroyQWindowDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QWindow) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QWindow___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QWindow) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QWindow___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QWindow) __children_newList() unsafe.Pointer { + return C.QWindow___children_newList(ptr.Pointer()) +} + +func (ptr *QWindow) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QWindow___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QWindow) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QWindow___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QWindow) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QWindow___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QWindow) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QWindow___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QWindow) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QWindow___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QWindow) __findChildren_newList() unsafe.Pointer { + return C.QWindow___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QWindow) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QWindow___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QWindow) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QWindow___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QWindow) __findChildren_newList3() unsafe.Pointer { + return C.QWindow___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QWindow) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QWindow___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QWindow) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QWindow___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QWindow) __qFindChildren_newList2() unsafe.Pointer { + return C.QWindow___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQWindow_ChildEvent +func callbackQWindow_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQWindowFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QWindow) ChildEvent(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ChildEvent(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +func (ptr *QWindow) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQWindow_ConnectNotify +func callbackQWindow_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQWindowFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QWindow) ConnectNotify(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ConnectNotify(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +func (ptr *QWindow) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QWindow_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQWindow_CustomEvent +func callbackQWindow_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQWindowFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QWindow) CustomEvent(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_CustomEvent(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +func (ptr *QWindow) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQWindow_DeleteLater +func callbackQWindow_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQWindowFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QWindow) DeleteLater() { + if ptr.Pointer() != nil { + C.QWindow_DeleteLater(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QWindow) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QWindow_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQWindow_Destroyed +func callbackQWindow_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQWindow_DisconnectNotify +func callbackQWindow_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQWindowFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QWindow) DisconnectNotify(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QWindow_DisconnectNotify(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +func (ptr *QWindow) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QWindow_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQWindow_EventFilter +func callbackQWindow_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQWindowFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QWindow) EventFilter(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_EventFilter(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +func (ptr *QWindow) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QWindow_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQWindow_MetaObject +func callbackQWindow_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQWindowFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QWindow) MetaObject() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QWindow_MetaObject(ptr.Pointer())) + } + return nil +} + +func (ptr *QWindow) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QWindow_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQWindow_ObjectNameChanged +func callbackQWindow_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtGui_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQWindow_TimerEvent +func callbackQWindow_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQWindowFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QWindow) TimerEvent(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_TimerEvent(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +func (ptr *QWindow) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QWindow_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QWindowStateChangeEvent struct { + core.QEvent +} + +type QWindowStateChangeEvent_ITF interface { + core.QEvent_ITF + QWindowStateChangeEvent_PTR() *QWindowStateChangeEvent +} + +func (ptr *QWindowStateChangeEvent) QWindowStateChangeEvent_PTR() *QWindowStateChangeEvent { + return ptr +} + +func (ptr *QWindowStateChangeEvent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QEvent_PTR().Pointer() + } + return nil +} + +func (ptr *QWindowStateChangeEvent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QEvent_PTR().SetPointer(p) + } +} + +func PointerFromQWindowStateChangeEvent(ptr QWindowStateChangeEvent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QWindowStateChangeEvent_PTR().Pointer() + } + return nil +} + +func NewQWindowStateChangeEventFromPointer(ptr unsafe.Pointer) (n *QWindowStateChangeEvent) { + n = new(QWindowStateChangeEvent) + n.SetPointer(ptr) + return +} + +func (ptr *QWindowStateChangeEvent) DestroyQWindowStateChangeEvent() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QWindowStateChangeEvent) OldState() core.Qt__WindowState { + if ptr.Pointer() != nil { + return core.Qt__WindowState(C.QWindowStateChangeEvent_OldState(ptr.Pointer())) + } + return 0 +} diff --git a/vendor/github.com/therecipe/qt/gui/gui.h b/vendor/github.com/therecipe/qt/gui/gui.h new file mode 100644 index 00000000..de89460d --- /dev/null +++ b/vendor/github.com/therecipe/qt/gui/gui.h @@ -0,0 +1,5911 @@ +// +build !minimal + +#pragma once + +#ifndef GO_QTGUI_H +#define GO_QTGUI_H + +#include + +#ifdef __cplusplus +int QAbstractTextDocumentLayout_QAbstractTextDocumentLayout_QRegisterMetaType(); +int QAccessiblePlugin_QAccessiblePlugin_QRegisterMetaType(); +int QClipboard_QClipboard_QRegisterMetaType(); +int QDoubleValidator_QDoubleValidator_QRegisterMetaType(); +int QDrag_QDrag_QRegisterMetaType(); +int QGenericPlugin_QGenericPlugin_QRegisterMetaType(); +int QGuiApplication_QGuiApplication_QRegisterMetaType(); +int QIconEnginePlugin_QIconEnginePlugin_QRegisterMetaType(); +int QImageIOPlugin_QImageIOPlugin_QRegisterMetaType(); +int QInputMethod_QInputMethod_QRegisterMetaType(); +int QIntValidator_QIntValidator_QRegisterMetaType(); +int QMovie_QMovie_QRegisterMetaType(); +int QOffscreenSurface_QOffscreenSurface_QRegisterMetaType(); +int QOpenGLContext_QOpenGLContext_QRegisterMetaType(); +int QOpenGLContextGroup_QOpenGLContextGroup_QRegisterMetaType(); +int QOpenGLDebugLogger_QOpenGLDebugLogger_QRegisterMetaType(); +int QOpenGLShader_QOpenGLShader_QRegisterMetaType(); +int QOpenGLShaderProgram_QOpenGLShaderProgram_QRegisterMetaType(); +int QOpenGLTimeMonitor_QOpenGLTimeMonitor_QRegisterMetaType(); +int QOpenGLTimerQuery_QOpenGLTimerQuery_QRegisterMetaType(); +int QOpenGLVertexArrayObject_QOpenGLVertexArrayObject_QRegisterMetaType(); +int QOpenGLWindow_QOpenGLWindow_QRegisterMetaType(); +int QPaintDeviceWindow_QPaintDeviceWindow_QRegisterMetaType(); +int QPdfWriter_QPdfWriter_QRegisterMetaType(); +int QPictureFormatPlugin_QPictureFormatPlugin_QRegisterMetaType(); +int QRasterWindow_QRasterWindow_QRegisterMetaType(); +int QRegExpValidator_QRegExpValidator_QRegisterMetaType(); +int QRegularExpressionValidator_QRegularExpressionValidator_QRegisterMetaType(); +int QScreen_QScreen_QRegisterMetaType(); +int QSessionManager_QSessionManager_QRegisterMetaType(); +int QStandardItemModel_QStandardItemModel_QRegisterMetaType(); +int QStyleHints_QStyleHints_QRegisterMetaType(); +int QSyntaxHighlighter_QSyntaxHighlighter_QRegisterMetaType(); +int QTextBlockGroup_QTextBlockGroup_QRegisterMetaType(); +int QTextDocument_QTextDocument_QRegisterMetaType(); +int QTextFrame_QTextFrame_QRegisterMetaType(); +int QTextList_QTextList_QRegisterMetaType(); +int QTextObject_QTextObject_QRegisterMetaType(); +int QTextTable_QTextTable_QRegisterMetaType(); +int QValidator_QValidator_QRegisterMetaType(); +int QWindow_QWindow_QRegisterMetaType(); +extern "C" { +#endif + +struct QtGui_PackedString { char* data; long long len; }; +struct QtGui_PackedList { void* data; long long len; }; +struct QtGui_PackedString QAbstractTextDocumentLayout_AnchorAt(void* ptr, void* position); +void* QAbstractTextDocumentLayout_BlockBoundingRect(void* ptr, void* block); +void* QAbstractTextDocumentLayout_Document(void* ptr); +void QAbstractTextDocumentLayout_DocumentChanged(void* ptr, int position, int charsRemoved, int charsAdded); +void* QAbstractTextDocumentLayout_DocumentSize(void* ptr); +void QAbstractTextDocumentLayout_ConnectDocumentSizeChanged(void* ptr, long long t); +void QAbstractTextDocumentLayout_DisconnectDocumentSizeChanged(void* ptr); +void QAbstractTextDocumentLayout_DocumentSizeChanged(void* ptr, void* newSize); +void QAbstractTextDocumentLayout_DrawInlineObject(void* ptr, void* painter, void* rect, void* object, int posInDocument, void* format); +void QAbstractTextDocumentLayout_DrawInlineObjectDefault(void* ptr, void* painter, void* rect, void* object, int posInDocument, void* format); +void* QAbstractTextDocumentLayout_Format(void* ptr, int position); +void* QAbstractTextDocumentLayout_FormatAt(void* ptr, void* pos); +void* QAbstractTextDocumentLayout_FrameBoundingRect(void* ptr, void* frame); +void* QAbstractTextDocumentLayout_HandlerForObject(void* ptr, int objectType); +int QAbstractTextDocumentLayout_HitTest(void* ptr, void* point, long long accuracy); +struct QtGui_PackedString QAbstractTextDocumentLayout_ImageAt(void* ptr, void* pos); +int QAbstractTextDocumentLayout_PageCount(void* ptr); +void QAbstractTextDocumentLayout_ConnectPageCountChanged(void* ptr, long long t); +void QAbstractTextDocumentLayout_DisconnectPageCountChanged(void* ptr); +void QAbstractTextDocumentLayout_PageCountChanged(void* ptr, int newPages); +void* QAbstractTextDocumentLayout_PaintDevice(void* ptr); +void QAbstractTextDocumentLayout_PositionInlineObject(void* ptr, void* item, int posInDocument, void* format); +void QAbstractTextDocumentLayout_PositionInlineObjectDefault(void* ptr, void* item, int posInDocument, void* format); +void QAbstractTextDocumentLayout_RegisterHandler(void* ptr, int objectType, void* component); +void QAbstractTextDocumentLayout_ResizeInlineObject(void* ptr, void* item, int posInDocument, void* format); +void QAbstractTextDocumentLayout_ResizeInlineObjectDefault(void* ptr, void* item, int posInDocument, void* format); +void QAbstractTextDocumentLayout_SetPaintDevice(void* ptr, void* device); +void QAbstractTextDocumentLayout_UnregisterHandler(void* ptr, int objectType, void* component); +void QAbstractTextDocumentLayout_ConnectUpdate(void* ptr, long long t); +void QAbstractTextDocumentLayout_DisconnectUpdate(void* ptr); +void QAbstractTextDocumentLayout_Update(void* ptr, void* rect); +void QAbstractTextDocumentLayout_ConnectUpdateBlock(void* ptr, long long t); +void QAbstractTextDocumentLayout_DisconnectUpdateBlock(void* ptr); +void QAbstractTextDocumentLayout_UpdateBlock(void* ptr, void* block); +void* QAbstractTextDocumentLayout___children_atList(void* ptr, int i); +void QAbstractTextDocumentLayout___children_setList(void* ptr, void* i); +void* QAbstractTextDocumentLayout___children_newList(void* ptr); +void* QAbstractTextDocumentLayout___dynamicPropertyNames_atList(void* ptr, int i); +void QAbstractTextDocumentLayout___dynamicPropertyNames_setList(void* ptr, void* i); +void* QAbstractTextDocumentLayout___dynamicPropertyNames_newList(void* ptr); +void* QAbstractTextDocumentLayout___findChildren_atList(void* ptr, int i); +void QAbstractTextDocumentLayout___findChildren_setList(void* ptr, void* i); +void* QAbstractTextDocumentLayout___findChildren_newList(void* ptr); +void* QAbstractTextDocumentLayout___findChildren_atList3(void* ptr, int i); +void QAbstractTextDocumentLayout___findChildren_setList3(void* ptr, void* i); +void* QAbstractTextDocumentLayout___findChildren_newList3(void* ptr); +void* QAbstractTextDocumentLayout___qFindChildren_atList2(void* ptr, int i); +void QAbstractTextDocumentLayout___qFindChildren_setList2(void* ptr, void* i); +void* QAbstractTextDocumentLayout___qFindChildren_newList2(void* ptr); +void QAbstractTextDocumentLayout_ChildEventDefault(void* ptr, void* event); +void QAbstractTextDocumentLayout_ConnectNotifyDefault(void* ptr, void* sign); +void QAbstractTextDocumentLayout_CustomEventDefault(void* ptr, void* event); +void QAbstractTextDocumentLayout_DeleteLaterDefault(void* ptr); +void QAbstractTextDocumentLayout_DisconnectNotifyDefault(void* ptr, void* sign); +char QAbstractTextDocumentLayout_EventDefault(void* ptr, void* e); +char QAbstractTextDocumentLayout_EventFilterDefault(void* ptr, void* watched, void* event); +void* QAbstractTextDocumentLayout_MetaObjectDefault(void* ptr); +void QAbstractTextDocumentLayout_TimerEventDefault(void* ptr, void* event); +char QAccessible_QAccessible_IsActive(); +void* QAccessible_QAccessible_QueryAccessibleInterface(void* object); +void QAccessible_QAccessible_SetRootObject(void* object); +void QAccessible_QAccessible_UpdateAccessibility2(void* event); +struct QtGui_PackedString QAccessibleActionInterface_ActionNames(void* ptr); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_DecreaseAction(); +void QAccessibleActionInterface_DoAction(void* ptr, struct QtGui_PackedString actionName); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_IncreaseAction(); +struct QtGui_PackedString QAccessibleActionInterface_KeyBindingsForAction(void* ptr, struct QtGui_PackedString actionName); +struct QtGui_PackedString QAccessibleActionInterface_LocalizedActionDescription(void* ptr, struct QtGui_PackedString actionName); +struct QtGui_PackedString QAccessibleActionInterface_LocalizedActionDescriptionDefault(void* ptr, struct QtGui_PackedString actionName); +struct QtGui_PackedString QAccessibleActionInterface_LocalizedActionName(void* ptr, struct QtGui_PackedString actionName); +struct QtGui_PackedString QAccessibleActionInterface_LocalizedActionNameDefault(void* ptr, struct QtGui_PackedString actionName); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_NextPageAction(); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_PressAction(); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_PreviousPageAction(); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ScrollDownAction(); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ScrollLeftAction(); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ScrollRightAction(); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ScrollUpAction(); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_SetFocusAction(); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ShowMenuAction(); +struct QtGui_PackedString QAccessibleActionInterface_QAccessibleActionInterface_ToggleAction(); +void QAccessibleActionInterface_DestroyQAccessibleActionInterface(void* ptr); +void QAccessibleActionInterface_DestroyQAccessibleActionInterfaceDefault(void* ptr); +void QAccessibleEditableTextInterface_DeleteText(void* ptr, int startOffset, int endOffset); +void QAccessibleEditableTextInterface_InsertText(void* ptr, int offset, struct QtGui_PackedString text); +void QAccessibleEditableTextInterface_ReplaceText(void* ptr, int startOffset, int endOffset, struct QtGui_PackedString text); +void QAccessibleEditableTextInterface_DestroyQAccessibleEditableTextInterface(void* ptr); +void QAccessibleEditableTextInterface_DestroyQAccessibleEditableTextInterfaceDefault(void* ptr); +void* QAccessibleEvent_NewQAccessibleEvent2(void* object, long long ty); +void* QAccessibleEvent_NewQAccessibleEvent3(void* interfa, long long ty); +void* QAccessibleEvent_AccessibleInterface(void* ptr); +void* QAccessibleEvent_AccessibleInterfaceDefault(void* ptr); +int QAccessibleEvent_Child(void* ptr); +void* QAccessibleEvent_Object(void* ptr); +void QAccessibleEvent_SetChild(void* ptr, int child); +long long QAccessibleEvent_Type(void* ptr); +void QAccessibleEvent_DestroyQAccessibleEvent(void* ptr); +void QAccessibleEvent_DestroyQAccessibleEventDefault(void* ptr); +void* QAccessibleInterface_ActionInterface(void* ptr); +void* QAccessibleInterface_BackgroundColor(void* ptr); +void* QAccessibleInterface_BackgroundColorDefault(void* ptr); +void* QAccessibleInterface_Child(void* ptr, int index); +void* QAccessibleInterface_ChildAt(void* ptr, int x, int y); +int QAccessibleInterface_ChildCount(void* ptr); +void* QAccessibleInterface_FocusChild(void* ptr); +void* QAccessibleInterface_FocusChildDefault(void* ptr); +void* QAccessibleInterface_ForegroundColor(void* ptr); +void* QAccessibleInterface_ForegroundColorDefault(void* ptr); +int QAccessibleInterface_IndexOfChild(void* ptr, void* child); +void* QAccessibleInterface_Interface_cast(void* ptr, long long ty); +void* QAccessibleInterface_Interface_castDefault(void* ptr, long long ty); +char QAccessibleInterface_IsValid(void* ptr); +void* QAccessibleInterface_Object(void* ptr); +void* QAccessibleInterface_Parent(void* ptr); +void* QAccessibleInterface_Rect(void* ptr); +long long QAccessibleInterface_Role(void* ptr); +void QAccessibleInterface_SetText(void* ptr, long long t, struct QtGui_PackedString text); +void* QAccessibleInterface_TableCellInterface(void* ptr); +void* QAccessibleInterface_TableInterface(void* ptr); +struct QtGui_PackedString QAccessibleInterface_Text(void* ptr, long long t); +void* QAccessibleInterface_TextInterface(void* ptr); +void* QAccessibleInterface_ValueInterface(void* ptr); +void* QAccessibleInterface_Window(void* ptr); +void* QAccessibleInterface_WindowDefault(void* ptr); +void QAccessibleInterface_DestroyQAccessibleInterface(void* ptr); +void QAccessibleInterface_DestroyQAccessibleInterfaceDefault(void* ptr); +void* QAccessibleObject_ChildAt(void* ptr, int x, int y); +void* QAccessibleObject_ChildAtDefault(void* ptr, int x, int y); +char QAccessibleObject_IsValid(void* ptr); +char QAccessibleObject_IsValidDefault(void* ptr); +void* QAccessibleObject_Object(void* ptr); +void* QAccessibleObject_ObjectDefault(void* ptr); +void* QAccessibleObject_Rect(void* ptr); +void* QAccessibleObject_RectDefault(void* ptr); +void QAccessibleObject_SetText(void* ptr, long long t, struct QtGui_PackedString text); +void QAccessibleObject_SetTextDefault(void* ptr, long long t, struct QtGui_PackedString text); +void QAccessibleObject_DestroyQAccessibleObject(void* ptr); +void QAccessibleObject_DestroyQAccessibleObjectDefault(void* ptr); +void* QAccessibleObject_Child(void* ptr, int index); +void* QAccessibleObject_ChildDefault(void* ptr, int index); +int QAccessibleObject_ChildCount(void* ptr); +int QAccessibleObject_ChildCountDefault(void* ptr); +int QAccessibleObject_IndexOfChild(void* ptr, void* child); +int QAccessibleObject_IndexOfChildDefault(void* ptr, void* child); +void* QAccessibleObject_Parent(void* ptr); +void* QAccessibleObject_ParentDefault(void* ptr); +long long QAccessibleObject_Role(void* ptr); +long long QAccessibleObject_RoleDefault(void* ptr); +struct QtGui_PackedString QAccessibleObject_Text(void* ptr, long long t); +struct QtGui_PackedString QAccessibleObject_TextDefault(void* ptr, long long t); +void* QAccessiblePlugin_NewQAccessiblePlugin(void* parent); +void* QAccessiblePlugin_Create(void* ptr, struct QtGui_PackedString key, void* object); +void QAccessiblePlugin_DestroyQAccessiblePlugin(void* ptr); +void QAccessiblePlugin_DestroyQAccessiblePluginDefault(void* ptr); +void* QAccessiblePlugin___children_atList(void* ptr, int i); +void QAccessiblePlugin___children_setList(void* ptr, void* i); +void* QAccessiblePlugin___children_newList(void* ptr); +void* QAccessiblePlugin___dynamicPropertyNames_atList(void* ptr, int i); +void QAccessiblePlugin___dynamicPropertyNames_setList(void* ptr, void* i); +void* QAccessiblePlugin___dynamicPropertyNames_newList(void* ptr); +void* QAccessiblePlugin___findChildren_atList(void* ptr, int i); +void QAccessiblePlugin___findChildren_setList(void* ptr, void* i); +void* QAccessiblePlugin___findChildren_newList(void* ptr); +void* QAccessiblePlugin___findChildren_atList3(void* ptr, int i); +void QAccessiblePlugin___findChildren_setList3(void* ptr, void* i); +void* QAccessiblePlugin___findChildren_newList3(void* ptr); +void* QAccessiblePlugin___qFindChildren_atList2(void* ptr, int i); +void QAccessiblePlugin___qFindChildren_setList2(void* ptr, void* i); +void* QAccessiblePlugin___qFindChildren_newList2(void* ptr); +void QAccessiblePlugin_ChildEventDefault(void* ptr, void* event); +void QAccessiblePlugin_ConnectNotifyDefault(void* ptr, void* sign); +void QAccessiblePlugin_CustomEventDefault(void* ptr, void* event); +void QAccessiblePlugin_DeleteLaterDefault(void* ptr); +void QAccessiblePlugin_DisconnectNotifyDefault(void* ptr, void* sign); +char QAccessiblePlugin_EventDefault(void* ptr, void* e); +char QAccessiblePlugin_EventFilterDefault(void* ptr, void* watched, void* event); +void* QAccessiblePlugin_MetaObjectDefault(void* ptr); +void QAccessiblePlugin_TimerEventDefault(void* ptr, void* event); +int QAccessibleTableCellInterface_ColumnExtent(void* ptr); +struct QtGui_PackedList QAccessibleTableCellInterface_ColumnHeaderCells(void* ptr); +int QAccessibleTableCellInterface_ColumnIndex(void* ptr); +char QAccessibleTableCellInterface_IsSelected(void* ptr); +int QAccessibleTableCellInterface_RowExtent(void* ptr); +struct QtGui_PackedList QAccessibleTableCellInterface_RowHeaderCells(void* ptr); +int QAccessibleTableCellInterface_RowIndex(void* ptr); +void* QAccessibleTableCellInterface_Table(void* ptr); +void QAccessibleTableCellInterface_DestroyQAccessibleTableCellInterface(void* ptr); +void QAccessibleTableCellInterface_DestroyQAccessibleTableCellInterfaceDefault(void* ptr); +void* QAccessibleTableCellInterface___columnHeaderCells_atList(void* ptr, int i); +void QAccessibleTableCellInterface___columnHeaderCells_setList(void* ptr, void* i); +void* QAccessibleTableCellInterface___columnHeaderCells_newList(void* ptr); +void* QAccessibleTableCellInterface___rowHeaderCells_atList(void* ptr, int i); +void QAccessibleTableCellInterface___rowHeaderCells_setList(void* ptr, void* i); +void* QAccessibleTableCellInterface___rowHeaderCells_newList(void* ptr); +void* QAccessibleTableInterface_Caption(void* ptr); +void* QAccessibleTableInterface_CellAt(void* ptr, int row, int column); +int QAccessibleTableInterface_ColumnCount(void* ptr); +struct QtGui_PackedString QAccessibleTableInterface_ColumnDescription(void* ptr, int column); +char QAccessibleTableInterface_IsColumnSelected(void* ptr, int column); +char QAccessibleTableInterface_IsRowSelected(void* ptr, int row); +void QAccessibleTableInterface_ModelChange(void* ptr, void* event); +int QAccessibleTableInterface_RowCount(void* ptr); +struct QtGui_PackedString QAccessibleTableInterface_RowDescription(void* ptr, int row); +char QAccessibleTableInterface_SelectColumn(void* ptr, int column); +char QAccessibleTableInterface_SelectRow(void* ptr, int row); +int QAccessibleTableInterface_SelectedCellCount(void* ptr); +struct QtGui_PackedList QAccessibleTableInterface_SelectedCells(void* ptr); +int QAccessibleTableInterface_SelectedColumnCount(void* ptr); +struct QtGui_PackedList QAccessibleTableInterface_SelectedColumns(void* ptr); +int QAccessibleTableInterface_SelectedRowCount(void* ptr); +struct QtGui_PackedList QAccessibleTableInterface_SelectedRows(void* ptr); +void* QAccessibleTableInterface_Summary(void* ptr); +char QAccessibleTableInterface_UnselectColumn(void* ptr, int column); +char QAccessibleTableInterface_UnselectRow(void* ptr, int row); +void QAccessibleTableInterface_DestroyQAccessibleTableInterface(void* ptr); +void QAccessibleTableInterface_DestroyQAccessibleTableInterfaceDefault(void* ptr); +void* QAccessibleTableInterface___selectedCells_atList(void* ptr, int i); +void QAccessibleTableInterface___selectedCells_setList(void* ptr, void* i); +void* QAccessibleTableInterface___selectedCells_newList(void* ptr); +int QAccessibleTableInterface___selectedColumns_atList(void* ptr, int i); +void QAccessibleTableInterface___selectedColumns_setList(void* ptr, int i); +void* QAccessibleTableInterface___selectedColumns_newList(void* ptr); +int QAccessibleTableInterface___selectedRows_atList(void* ptr, int i); +void QAccessibleTableInterface___selectedRows_setList(void* ptr, int i); +void* QAccessibleTableInterface___selectedRows_newList(void* ptr); +void* QAccessibleTableModelChangeEvent_NewQAccessibleTableModelChangeEvent(void* object, long long changeType); +void* QAccessibleTableModelChangeEvent_NewQAccessibleTableModelChangeEvent2(void* iface, long long changeType); +int QAccessibleTableModelChangeEvent_FirstColumn(void* ptr); +int QAccessibleTableModelChangeEvent_FirstRow(void* ptr); +int QAccessibleTableModelChangeEvent_LastColumn(void* ptr); +int QAccessibleTableModelChangeEvent_LastRow(void* ptr); +long long QAccessibleTableModelChangeEvent_ModelChangeType(void* ptr); +void QAccessibleTableModelChangeEvent_SetFirstColumn(void* ptr, int column); +void QAccessibleTableModelChangeEvent_SetFirstRow(void* ptr, int row); +void QAccessibleTableModelChangeEvent_SetLastColumn(void* ptr, int column); +void QAccessibleTableModelChangeEvent_SetLastRow(void* ptr, int row); +void QAccessibleTableModelChangeEvent_SetModelChangeType(void* ptr, long long changeType); +void* QAccessibleTextCursorEvent_NewQAccessibleTextCursorEvent(void* object, int cursorPos); +void* QAccessibleTextCursorEvent_NewQAccessibleTextCursorEvent2(void* iface, int cursorPos); +int QAccessibleTextCursorEvent_CursorPosition(void* ptr); +void QAccessibleTextCursorEvent_SetCursorPosition(void* ptr, int position); +void* QAccessibleTextInsertEvent_NewQAccessibleTextInsertEvent(void* object, int position, struct QtGui_PackedString text); +void* QAccessibleTextInsertEvent_NewQAccessibleTextInsertEvent2(void* iface, int position, struct QtGui_PackedString text); +int QAccessibleTextInsertEvent_ChangePosition(void* ptr); +struct QtGui_PackedString QAccessibleTextInsertEvent_TextInserted(void* ptr); +void QAccessibleTextInterface_AddSelection(void* ptr, int startOffset, int endOffset); +int QAccessibleTextInterface_CharacterCount(void* ptr); +void* QAccessibleTextInterface_CharacterRect(void* ptr, int offset); +int QAccessibleTextInterface_CursorPosition(void* ptr); +int QAccessibleTextInterface_OffsetAtPoint(void* ptr, void* point); +void QAccessibleTextInterface_RemoveSelection(void* ptr, int selectionIndex); +void QAccessibleTextInterface_ScrollToSubstring(void* ptr, int startIndex, int endIndex); +void QAccessibleTextInterface_Selection(void* ptr, int selectionIndex, int startOffset, int endOffset); +int QAccessibleTextInterface_SelectionCount(void* ptr); +void QAccessibleTextInterface_SetCursorPosition(void* ptr, int position); +void QAccessibleTextInterface_SetSelection(void* ptr, int selectionIndex, int startOffset, int endOffset); +struct QtGui_PackedString QAccessibleTextInterface_Text(void* ptr, int startOffset, int endOffset); +struct QtGui_PackedString QAccessibleTextInterface_TextAfterOffset(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset); +struct QtGui_PackedString QAccessibleTextInterface_TextAfterOffsetDefault(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset); +struct QtGui_PackedString QAccessibleTextInterface_TextAtOffset(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset); +struct QtGui_PackedString QAccessibleTextInterface_TextAtOffsetDefault(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset); +struct QtGui_PackedString QAccessibleTextInterface_TextBeforeOffset(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset); +struct QtGui_PackedString QAccessibleTextInterface_TextBeforeOffsetDefault(void* ptr, int offset, long long boundaryType, int startOffset, int endOffset); +void QAccessibleTextInterface_DestroyQAccessibleTextInterface(void* ptr); +void QAccessibleTextInterface_DestroyQAccessibleTextInterfaceDefault(void* ptr); +void* QAccessibleTextRemoveEvent_NewQAccessibleTextRemoveEvent(void* object, int position, struct QtGui_PackedString text); +void* QAccessibleTextRemoveEvent_NewQAccessibleTextRemoveEvent2(void* iface, int position, struct QtGui_PackedString text); +int QAccessibleTextRemoveEvent_ChangePosition(void* ptr); +struct QtGui_PackedString QAccessibleTextRemoveEvent_TextRemoved(void* ptr); +void* QAccessibleTextSelectionEvent_NewQAccessibleTextSelectionEvent(void* object, int start, int end); +void* QAccessibleTextSelectionEvent_NewQAccessibleTextSelectionEvent2(void* iface, int start, int end); +int QAccessibleTextSelectionEvent_SelectionEnd(void* ptr); +int QAccessibleTextSelectionEvent_SelectionStart(void* ptr); +void QAccessibleTextSelectionEvent_SetSelection(void* ptr, int start, int end); +void* QAccessibleTextUpdateEvent_NewQAccessibleTextUpdateEvent(void* object, int position, struct QtGui_PackedString oldText, struct QtGui_PackedString text); +void* QAccessibleTextUpdateEvent_NewQAccessibleTextUpdateEvent2(void* iface, int position, struct QtGui_PackedString oldText, struct QtGui_PackedString text); +int QAccessibleTextUpdateEvent_ChangePosition(void* ptr); +struct QtGui_PackedString QAccessibleTextUpdateEvent_TextInserted(void* ptr); +struct QtGui_PackedString QAccessibleTextUpdateEvent_TextRemoved(void* ptr); +void* QAccessibleValueChangeEvent_NewQAccessibleValueChangeEvent(void* object, void* value); +void* QAccessibleValueChangeEvent_NewQAccessibleValueChangeEvent2(void* iface, void* val); +void QAccessibleValueChangeEvent_SetValue(void* ptr, void* value); +void* QAccessibleValueChangeEvent_Value(void* ptr); +void* QAccessibleValueInterface_CurrentValue(void* ptr); +void* QAccessibleValueInterface_MaximumValue(void* ptr); +void* QAccessibleValueInterface_MinimumStepSize(void* ptr); +void* QAccessibleValueInterface_MinimumValue(void* ptr); +void QAccessibleValueInterface_SetCurrentValue(void* ptr, void* value); +void QAccessibleValueInterface_DestroyQAccessibleValueInterface(void* ptr); +void QAccessibleValueInterface_DestroyQAccessibleValueInterfaceDefault(void* ptr); +void* QActionEvent_NewQActionEvent(int ty, void* action, void* before); +void* QActionEvent_Action(void* ptr); +void* QActionEvent_Before(void* ptr); +void* QApplicationStateChangeEvent_NewQApplicationStateChangeEvent(long long applicationState); +long long QApplicationStateChangeEvent_ApplicationState(void* ptr); +void* QBackingStore_NewQBackingStore(void* window); +void QBackingStore_BeginPaint(void* ptr, void* region); +void QBackingStore_EndPaint(void* ptr); +void QBackingStore_Flush(void* ptr, void* region, void* window, void* offset); +char QBackingStore_HasStaticContents(void* ptr); +void* QBackingStore_PaintDevice(void* ptr); +void QBackingStore_Resize(void* ptr, void* size); +char QBackingStore_Scroll(void* ptr, void* area, int dx, int dy); +void QBackingStore_SetStaticContents(void* ptr, void* region); +void* QBackingStore_Size(void* ptr); +void* QBackingStore_StaticContents(void* ptr); +void* QBackingStore_Window(void* ptr); +void QBackingStore_DestroyQBackingStore(void* ptr); +void* QBitmap_NewQBitmap(); +void* QBitmap_NewQBitmap2(void* pixmap); +void* QBitmap_NewQBitmap3(int width, int height); +void* QBitmap_NewQBitmap4(void* size); +void* QBitmap_NewQBitmap5(struct QtGui_PackedString fileName, char* format); +void QBitmap_Clear(void* ptr); +void* QBitmap_QBitmap_FromData(void* size, char* bits, long long monoFormat); +void* QBitmap_QBitmap_FromImage(void* image, long long flags); +void* QBitmap_QBitmap_FromImage2(void* image, long long flags); +void QBitmap_Swap(void* ptr, void* other); +void* QBitmap_Transformed(void* ptr, void* matrix); +void QBitmap_DestroyQBitmap(void* ptr); +void QBitmap_DestroyQBitmapDefault(void* ptr); +void* QBrush_NewQBrush(); +void* QBrush_NewQBrush2(long long style); +void* QBrush_NewQBrush3(void* color, long long style); +void* QBrush_NewQBrush4(long long color, long long style); +void* QBrush_NewQBrush5(void* color, void* pixmap); +void* QBrush_NewQBrush6(long long color, void* pixmap); +void* QBrush_NewQBrush7(void* pixmap); +void* QBrush_NewQBrush8(void* image); +void* QBrush_NewQBrush9(void* other); +void* QBrush_NewQBrush10(void* gradient); +void* QBrush_Color(void* ptr); +void* QBrush_Gradient(void* ptr); +char QBrush_IsOpaque(void* ptr); +void* QBrush_Matrix(void* ptr); +void QBrush_SetColor(void* ptr, void* color); +void QBrush_SetColor2(void* ptr, long long color); +void QBrush_SetMatrix(void* ptr, void* matrix); +void QBrush_SetStyle(void* ptr, long long style); +void QBrush_SetTexture(void* ptr, void* pixmap); +void QBrush_SetTextureImage(void* ptr, void* image); +void QBrush_SetTransform(void* ptr, void* matrix); +long long QBrush_Style(void* ptr); +void QBrush_Swap(void* ptr, void* other); +void* QBrush_Texture(void* ptr); +void* QBrush_TextureImage(void* ptr); +void* QBrush_Transform(void* ptr); +void QBrush_DestroyQBrush(void* ptr); +void* QBrush_ToVariant(void* ptr); +void QClipboard_ConnectChanged(void* ptr, long long t); +void QClipboard_DisconnectChanged(void* ptr); +void QClipboard_Changed(void* ptr, long long mode); +void QClipboard_Clear(void* ptr, long long mode); +void QClipboard_ConnectDataChanged(void* ptr, long long t); +void QClipboard_DisconnectDataChanged(void* ptr); +void QClipboard_DataChanged(void* ptr); +void QClipboard_ConnectFindBufferChanged(void* ptr, long long t); +void QClipboard_DisconnectFindBufferChanged(void* ptr); +void QClipboard_FindBufferChanged(void* ptr); +void* QClipboard_Image(void* ptr, long long mode); +void* QClipboard_MimeData(void* ptr, long long mode); +char QClipboard_OwnsClipboard(void* ptr); +char QClipboard_OwnsFindBuffer(void* ptr); +char QClipboard_OwnsSelection(void* ptr); +void* QClipboard_Pixmap(void* ptr, long long mode); +void QClipboard_ConnectSelectionChanged(void* ptr, long long t); +void QClipboard_DisconnectSelectionChanged(void* ptr); +void QClipboard_SelectionChanged(void* ptr); +void QClipboard_SetImage(void* ptr, void* image, long long mode); +void QClipboard_SetMimeData(void* ptr, void* src, long long mode); +void QClipboard_SetPixmap(void* ptr, void* pixmap, long long mode); +void QClipboard_SetText(void* ptr, struct QtGui_PackedString text, long long mode); +char QClipboard_SupportsFindBuffer(void* ptr); +char QClipboard_SupportsSelection(void* ptr); +struct QtGui_PackedString QClipboard_Text(void* ptr, long long mode); +struct QtGui_PackedString QClipboard_Text2(void* ptr, struct QtGui_PackedString subtype, long long mode); +void* QClipboard___children_atList(void* ptr, int i); +void QClipboard___children_setList(void* ptr, void* i); +void* QClipboard___children_newList(void* ptr); +void* QClipboard___dynamicPropertyNames_atList(void* ptr, int i); +void QClipboard___dynamicPropertyNames_setList(void* ptr, void* i); +void* QClipboard___dynamicPropertyNames_newList(void* ptr); +void* QClipboard___findChildren_atList(void* ptr, int i); +void QClipboard___findChildren_setList(void* ptr, void* i); +void* QClipboard___findChildren_newList(void* ptr); +void* QClipboard___findChildren_atList3(void* ptr, int i); +void QClipboard___findChildren_setList3(void* ptr, void* i); +void* QClipboard___findChildren_newList3(void* ptr); +void* QClipboard___qFindChildren_atList2(void* ptr, int i); +void QClipboard___qFindChildren_setList2(void* ptr, void* i); +void* QClipboard___qFindChildren_newList2(void* ptr); +void QClipboard_ChildEventDefault(void* ptr, void* event); +void QClipboard_ConnectNotifyDefault(void* ptr, void* sign); +void QClipboard_CustomEventDefault(void* ptr, void* event); +void QClipboard_DeleteLaterDefault(void* ptr); +void QClipboard_DisconnectNotifyDefault(void* ptr, void* sign); +char QClipboard_EventDefault(void* ptr, void* e); +char QClipboard_EventFilterDefault(void* ptr, void* watched, void* event); +void* QClipboard_MetaObjectDefault(void* ptr); +void QClipboard_TimerEventDefault(void* ptr, void* event); +void* QCloseEvent_NewQCloseEvent(); +void* QColor_NewQColor(); +void* QColor_NewQColor2(long long color); +void* QColor_NewQColor3(int r, int g, int b, int a); +void* QColor_NewQColor4(unsigned int color); +void* QColor_NewQColor5(void* rgba64); +void* QColor_NewQColor6(struct QtGui_PackedString name); +void* QColor_NewQColor8(char* name); +void* QColor_NewQColor9(void* name); +int QColor_Alpha(void* ptr); +double QColor_AlphaF(void* ptr); +int QColor_Black(void* ptr); +double QColor_BlackF(void* ptr); +int QColor_Blue(void* ptr); +double QColor_BlueF(void* ptr); +struct QtGui_PackedString QColor_QColor_ColorNames(); +void* QColor_ConvertTo(void* ptr, long long colorSpec); +int QColor_Cyan(void* ptr); +double QColor_CyanF(void* ptr); +void* QColor_Darker(void* ptr, int factor); +void* QColor_QColor_FromCmyk(int c, int m, int y, int k, int a); +void* QColor_QColor_FromCmykF(double c, double m, double y, double k, double a); +void* QColor_QColor_FromHsl(int h, int s, int l, int a); +void* QColor_QColor_FromHslF(double h, double s, double l, double a); +void* QColor_QColor_FromHsv(int h, int s, int v, int a); +void* QColor_QColor_FromHsvF(double h, double s, double v, double a); +void* QColor_QColor_FromRgb(unsigned int rgb); +void* QColor_QColor_FromRgb2(int r, int g, int b, int a); +void* QColor_QColor_FromRgbF(double r, double g, double b, double a); +void* QColor_QColor_FromRgba(unsigned int rgba); +void* QColor_QColor_FromRgba64(unsigned short r, unsigned short g, unsigned short b, unsigned short a); +void* QColor_QColor_FromRgba642(void* rgba64); +void QColor_GetCmyk2(void* ptr, int c, int m, int y, int k, int a); +void QColor_GetCmykF2(void* ptr, double c, double m, double y, double k, double a); +void QColor_GetHsl(void* ptr, int h, int s, int l, int a); +void QColor_GetHslF(void* ptr, double h, double s, double l, double a); +void QColor_GetHsv(void* ptr, int h, int s, int v, int a); +void QColor_GetHsvF(void* ptr, double h, double s, double v, double a); +void QColor_GetRgb(void* ptr, int r, int g, int b, int a); +void QColor_GetRgbF(void* ptr, double r, double g, double b, double a); +int QColor_Green(void* ptr); +double QColor_GreenF(void* ptr); +int QColor_HslHue(void* ptr); +double QColor_HslHueF(void* ptr); +int QColor_HslSaturation(void* ptr); +double QColor_HslSaturationF(void* ptr); +int QColor_HsvHue(void* ptr); +double QColor_HsvHueF(void* ptr); +int QColor_HsvSaturation(void* ptr); +double QColor_HsvSaturationF(void* ptr); +int QColor_Hue(void* ptr); +double QColor_HueF(void* ptr); +char QColor_IsValid(void* ptr); +char QColor_QColor_IsValidColor(struct QtGui_PackedString name); +char QColor_QColor_IsValidColor2(void* name); +char QColor_QColor_IsValidColor3(void* name); +void* QColor_Lighter(void* ptr, int factor); +int QColor_Lightness(void* ptr); +double QColor_LightnessF(void* ptr); +int QColor_Magenta(void* ptr); +double QColor_MagentaF(void* ptr); +struct QtGui_PackedString QColor_Name(void* ptr); +struct QtGui_PackedString QColor_Name2(void* ptr, long long format); +int QColor_Red(void* ptr); +double QColor_RedF(void* ptr); +unsigned int QColor_Rgb(void* ptr); +unsigned int QColor_Rgba(void* ptr); +int QColor_Saturation(void* ptr); +double QColor_SaturationF(void* ptr); +void QColor_SetAlpha(void* ptr, int alpha); +void QColor_SetAlphaF(void* ptr, double alpha); +void QColor_SetBlue(void* ptr, int blue); +void QColor_SetBlueF(void* ptr, double blue); +void QColor_SetCmyk(void* ptr, int c, int m, int y, int k, int a); +void QColor_SetCmykF(void* ptr, double c, double m, double y, double k, double a); +void QColor_SetGreen(void* ptr, int green); +void QColor_SetGreenF(void* ptr, double green); +void QColor_SetHsl(void* ptr, int h, int s, int l, int a); +void QColor_SetHslF(void* ptr, double h, double s, double l, double a); +void QColor_SetHsv(void* ptr, int h, int s, int v, int a); +void QColor_SetHsvF(void* ptr, double h, double s, double v, double a); +void QColor_SetNamedColor(void* ptr, struct QtGui_PackedString name); +void QColor_SetNamedColor2(void* ptr, void* name); +void QColor_SetNamedColor3(void* ptr, void* name); +void QColor_SetRed(void* ptr, int red); +void QColor_SetRedF(void* ptr, double red); +void QColor_SetRgb(void* ptr, int r, int g, int b, int a); +void QColor_SetRgb2(void* ptr, unsigned int rgb); +void QColor_SetRgbF(void* ptr, double r, double g, double b, double a); +void QColor_SetRgba(void* ptr, unsigned int rgba); +void QColor_SetRgba64(void* ptr, void* rgba); +long long QColor_Spec(void* ptr); +void* QColor_ToCmyk(void* ptr); +void* QColor_ToHsl(void* ptr); +void* QColor_ToHsv(void* ptr); +void* QColor_ToRgb(void* ptr); +int QColor_Value(void* ptr); +double QColor_ValueF(void* ptr); +int QColor_Yellow(void* ptr); +double QColor_YellowF(void* ptr); +void* QColor_ToVariant(void* ptr); +void* QConicalGradient_NewQConicalGradient(); +void* QConicalGradient_NewQConicalGradient2(void* center, double angle); +void* QConicalGradient_NewQConicalGradient3(double cx, double cy, double angle); +double QConicalGradient_Angle(void* ptr); +void* QConicalGradient_Center(void* ptr); +void QConicalGradient_SetAngle(void* ptr, double angle); +void QConicalGradient_SetCenter(void* ptr, void* center); +void QConicalGradient_SetCenter2(void* ptr, double x, double y); +void* QContextMenuEvent_NewQContextMenuEvent(long long reason, void* pos, void* globalPos, long long modifiers); +void* QContextMenuEvent_NewQContextMenuEvent2(long long reason, void* pos, void* globalPos); +void* QContextMenuEvent_NewQContextMenuEvent3(long long reason, void* pos); +void* QContextMenuEvent_GlobalPos(void* ptr); +int QContextMenuEvent_GlobalX(void* ptr); +int QContextMenuEvent_GlobalY(void* ptr); +void* QContextMenuEvent_Pos(void* ptr); +long long QContextMenuEvent_Reason(void* ptr); +int QContextMenuEvent_X(void* ptr); +int QContextMenuEvent_Y(void* ptr); +void* QCursor_NewQCursor(); +void* QCursor_NewQCursor2(long long shape); +void* QCursor_NewQCursor3(void* bitmap, void* mask, int hotX, int hotY); +void* QCursor_NewQCursor4(void* pixmap, int hotX, int hotY); +void* QCursor_NewQCursor5(void* c); +void* QCursor_NewQCursor6(void* other); +void* QCursor_Bitmap(void* ptr); +void* QCursor_HotSpot(void* ptr); +void* QCursor_Mask(void* ptr); +void* QCursor_Pixmap(void* ptr); +void* QCursor_QCursor_Pos(); +void* QCursor_QCursor_Pos2(void* screen); +void QCursor_QCursor_SetPos(int x, int y); +void QCursor_QCursor_SetPos2(void* screen, int x, int y); +void QCursor_QCursor_SetPos3(void* p); +void QCursor_QCursor_SetPos4(void* screen, void* p); +void QCursor_SetShape(void* ptr, long long shape); +long long QCursor_Shape(void* ptr); +void QCursor_Swap(void* ptr, void* other); +void QCursor_DestroyQCursor(void* ptr); +char QDesktopServices_QDesktopServices_OpenUrl(void* url); +void QDesktopServices_QDesktopServices_SetUrlHandler(struct QtGui_PackedString scheme, void* receiver, char* method); +void QDesktopServices_QDesktopServices_UnsetUrlHandler(struct QtGui_PackedString scheme); +void* QDoubleValidator_NewQDoubleValidator(void* parent); +void* QDoubleValidator_NewQDoubleValidator2(double bottom, double top, int decimals, void* parent); +double QDoubleValidator_Bottom(void* ptr); +void QDoubleValidator_ConnectBottomChanged(void* ptr, long long t); +void QDoubleValidator_DisconnectBottomChanged(void* ptr); +void QDoubleValidator_BottomChanged(void* ptr, double bottom); +int QDoubleValidator_Decimals(void* ptr); +void QDoubleValidator_ConnectDecimalsChanged(void* ptr, long long t); +void QDoubleValidator_DisconnectDecimalsChanged(void* ptr); +void QDoubleValidator_DecimalsChanged(void* ptr, int decimals); +long long QDoubleValidator_Notation(void* ptr); +void QDoubleValidator_ConnectNotationChanged(void* ptr, long long t); +void QDoubleValidator_DisconnectNotationChanged(void* ptr); +void QDoubleValidator_NotationChanged(void* ptr, long long notation); +void QDoubleValidator_SetBottom(void* ptr, double vdo); +void QDoubleValidator_SetDecimals(void* ptr, int vin); +void QDoubleValidator_SetNotation(void* ptr, long long vqd); +void QDoubleValidator_SetRange(void* ptr, double minimum, double maximum, int decimals); +void QDoubleValidator_SetRangeDefault(void* ptr, double minimum, double maximum, int decimals); +void QDoubleValidator_SetTop(void* ptr, double vdo); +double QDoubleValidator_Top(void* ptr); +void QDoubleValidator_ConnectTopChanged(void* ptr, long long t); +void QDoubleValidator_DisconnectTopChanged(void* ptr); +void QDoubleValidator_TopChanged(void* ptr, double top); +long long QDoubleValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos); +long long QDoubleValidator_ValidateDefault(void* ptr, struct QtGui_PackedString input, int pos); +void QDoubleValidator_DestroyQDoubleValidator(void* ptr); +void QDoubleValidator_DestroyQDoubleValidatorDefault(void* ptr); +void* QDrag_NewQDrag(void* dragSource); +void QDrag_ConnectActionChanged(void* ptr, long long t); +void QDrag_DisconnectActionChanged(void* ptr); +void QDrag_ActionChanged(void* ptr, long long action); +void QDrag_QDrag_Cancel(); +long long QDrag_DefaultAction(void* ptr); +void* QDrag_DragCursor(void* ptr, long long action); +long long QDrag_Exec(void* ptr, long long supportedActions); +long long QDrag_Exec2(void* ptr, long long supportedActions, long long defaultDropAction); +void* QDrag_HotSpot(void* ptr); +void* QDrag_MimeData(void* ptr); +void* QDrag_Pixmap(void* ptr); +void QDrag_SetDragCursor(void* ptr, void* cursor, long long action); +void QDrag_SetHotSpot(void* ptr, void* hotspot); +void QDrag_SetMimeData(void* ptr, void* data); +void QDrag_SetPixmap(void* ptr, void* pixmap); +void* QDrag_Source(void* ptr); +long long QDrag_SupportedActions(void* ptr); +void* QDrag_Target(void* ptr); +void QDrag_ConnectTargetChanged(void* ptr, long long t); +void QDrag_DisconnectTargetChanged(void* ptr); +void QDrag_TargetChanged(void* ptr, void* newTarget); +void QDrag_DestroyQDrag(void* ptr); +void QDrag_DestroyQDragDefault(void* ptr); +void* QDrag___children_atList(void* ptr, int i); +void QDrag___children_setList(void* ptr, void* i); +void* QDrag___children_newList(void* ptr); +void* QDrag___dynamicPropertyNames_atList(void* ptr, int i); +void QDrag___dynamicPropertyNames_setList(void* ptr, void* i); +void* QDrag___dynamicPropertyNames_newList(void* ptr); +void* QDrag___findChildren_atList(void* ptr, int i); +void QDrag___findChildren_setList(void* ptr, void* i); +void* QDrag___findChildren_newList(void* ptr); +void* QDrag___findChildren_atList3(void* ptr, int i); +void QDrag___findChildren_setList3(void* ptr, void* i); +void* QDrag___findChildren_newList3(void* ptr); +void* QDrag___qFindChildren_atList2(void* ptr, int i); +void QDrag___qFindChildren_setList2(void* ptr, void* i); +void* QDrag___qFindChildren_newList2(void* ptr); +void QDrag_ChildEventDefault(void* ptr, void* event); +void QDrag_ConnectNotifyDefault(void* ptr, void* sign); +void QDrag_CustomEventDefault(void* ptr, void* event); +void QDrag_DeleteLaterDefault(void* ptr); +void QDrag_DisconnectNotifyDefault(void* ptr, void* sign); +char QDrag_EventDefault(void* ptr, void* e); +char QDrag_EventFilterDefault(void* ptr, void* watched, void* event); +void* QDrag_MetaObjectDefault(void* ptr); +void QDrag_TimerEventDefault(void* ptr, void* event); +void* QDragEnterEvent_NewQDragEnterEvent(void* point, long long actions, void* data, long long buttons, long long modifiers); +void* QDragLeaveEvent_NewQDragLeaveEvent(); +void* QDragMoveEvent_NewQDragMoveEvent(void* pos, long long actions, void* data, long long buttons, long long modifiers, long long ty); +void QDragMoveEvent_Accept(void* ptr, void* rectangle); +void* QDragMoveEvent_AnswerRect(void* ptr); +void QDragMoveEvent_Ignore(void* ptr, void* rectangle); +void QDragMoveEvent_DestroyQDragMoveEvent(void* ptr); +void QDragMoveEvent_DestroyQDragMoveEventDefault(void* ptr); +void* QDropEvent_NewQDropEvent(void* pos, long long actions, void* data, long long buttons, long long modifiers, long long ty); +void QDropEvent_AcceptProposedAction(void* ptr); +long long QDropEvent_DropAction(void* ptr); +long long QDropEvent_KeyboardModifiers(void* ptr); +void* QDropEvent_MimeData(void* ptr); +long long QDropEvent_MouseButtons(void* ptr); +void* QDropEvent_Pos(void* ptr); +void* QDropEvent_PosF(void* ptr); +long long QDropEvent_PossibleActions(void* ptr); +long long QDropEvent_ProposedAction(void* ptr); +void QDropEvent_SetDropAction(void* ptr, long long action); +void* QDropEvent_Source(void* ptr); +void* QEnterEvent_NewQEnterEvent(void* localPos, void* windowPos, void* screenPos); +void* QEnterEvent_GlobalPos(void* ptr); +int QEnterEvent_GlobalX(void* ptr); +int QEnterEvent_GlobalY(void* ptr); +void* QEnterEvent_LocalPos(void* ptr); +void* QEnterEvent_Pos(void* ptr); +void* QEnterEvent_ScreenPos(void* ptr); +void* QEnterEvent_WindowPos(void* ptr); +int QEnterEvent_X(void* ptr); +int QEnterEvent_Y(void* ptr); +void* QExposeEvent_NewQExposeEvent(void* exposeRegion); +void* QExposeEvent_Region(void* ptr); +struct QtGui_PackedString QFileOpenEvent_File(void* ptr); +char QFileOpenEvent_OpenFile(void* ptr, void* file, long long flags); +void* QFileOpenEvent_Url(void* ptr); +void* QFocusEvent_NewQFocusEvent(long long ty, long long reason); +char QFocusEvent_GotFocus(void* ptr); +char QFocusEvent_LostFocus(void* ptr); +long long QFocusEvent_Reason(void* ptr); +void* QFont_NewQFont(); +void* QFont_NewQFont2(struct QtGui_PackedString family, int pointSize, int weight, char italic); +void* QFont_NewQFont4(void* font, void* pd); +void* QFont_NewQFont5(void* font); +char QFont_Bold(void* ptr); +long long QFont_Capitalization(void* ptr); +struct QtGui_PackedString QFont_DefaultFamily(void* ptr); +char QFont_ExactMatch(void* ptr); +struct QtGui_PackedString QFont_Families(void* ptr); +struct QtGui_PackedString QFont_Family(void* ptr); +char QFont_FixedPitch(void* ptr); +char QFont_FromString(void* ptr, struct QtGui_PackedString descrip); +long long QFont_HintingPreference(void* ptr); +void QFont_QFont_InsertSubstitution(struct QtGui_PackedString familyName, struct QtGui_PackedString substituteName); +void QFont_QFont_InsertSubstitutions(struct QtGui_PackedString familyName, struct QtGui_PackedString substituteNames); +char QFont_IsCopyOf(void* ptr, void* ff); +char QFont_Italic(void* ptr); +char QFont_Kerning(void* ptr); +struct QtGui_PackedString QFont_Key(void* ptr); +double QFont_LetterSpacing(void* ptr); +long long QFont_LetterSpacingType(void* ptr); +char QFont_Overline(void* ptr); +int QFont_PixelSize(void* ptr); +int QFont_PointSize(void* ptr); +double QFont_PointSizeF(void* ptr); +void QFont_QFont_RemoveSubstitutions(struct QtGui_PackedString familyName); +void* QFont_Resolve(void* ptr, void* other); +void QFont_SetBold(void* ptr, char enable); +void QFont_SetCapitalization(void* ptr, long long caps); +void QFont_SetFamilies(void* ptr, struct QtGui_PackedString families); +void QFont_SetFamily(void* ptr, struct QtGui_PackedString family); +void QFont_SetFixedPitch(void* ptr, char enable); +void QFont_SetHintingPreference(void* ptr, long long hintingPreference); +void QFont_SetItalic(void* ptr, char enable); +void QFont_SetKerning(void* ptr, char enable); +void QFont_SetLetterSpacing(void* ptr, long long ty, double spacing); +void QFont_SetOverline(void* ptr, char enable); +void QFont_SetPixelSize(void* ptr, int pixelSize); +void QFont_SetPointSize(void* ptr, int pointSize); +void QFont_SetPointSizeF(void* ptr, double pointSize); +void QFont_SetStretch(void* ptr, int factor); +void QFont_SetStrikeOut(void* ptr, char enable); +void QFont_SetStyle(void* ptr, long long style); +void QFont_SetStyleHint(void* ptr, long long hint, long long strategy); +void QFont_SetStyleName(void* ptr, struct QtGui_PackedString styleName); +void QFont_SetStyleStrategy(void* ptr, long long s); +void QFont_SetUnderline(void* ptr, char enable); +void QFont_SetWeight(void* ptr, int weight); +void QFont_SetWordSpacing(void* ptr, double spacing); +int QFont_Stretch(void* ptr); +char QFont_StrikeOut(void* ptr); +long long QFont_Style(void* ptr); +long long QFont_StyleHint(void* ptr); +struct QtGui_PackedString QFont_StyleName(void* ptr); +long long QFont_StyleStrategy(void* ptr); +struct QtGui_PackedString QFont_QFont_Substitute(struct QtGui_PackedString familyName); +struct QtGui_PackedString QFont_QFont_Substitutes(struct QtGui_PackedString familyName); +struct QtGui_PackedString QFont_QFont_Substitutions(); +void QFont_Swap(void* ptr, void* other); +struct QtGui_PackedString QFont_ToString(void* ptr); +char QFont_Underline(void* ptr); +int QFont_Weight(void* ptr); +double QFont_WordSpacing(void* ptr); +void QFont_DestroyQFont(void* ptr); +void* QFont_ToVariant(void* ptr); +void* QFontDatabase_NewQFontDatabase(); +int QFontDatabase_QFontDatabase_AddApplicationFont(struct QtGui_PackedString fileName); +int QFontDatabase_QFontDatabase_AddApplicationFontFromData(void* fontData); +struct QtGui_PackedString QFontDatabase_QFontDatabase_ApplicationFontFamilies(int id); +char QFontDatabase_Bold(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style); +struct QtGui_PackedString QFontDatabase_Families(void* ptr, long long writingSystem); +void* QFontDatabase_Font(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style, int pointSize); +char QFontDatabase_IsBitmapScalable(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style); +char QFontDatabase_IsFixedPitch(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style); +char QFontDatabase_IsPrivateFamily(void* ptr, struct QtGui_PackedString family); +char QFontDatabase_IsScalable(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style); +char QFontDatabase_IsSmoothlyScalable(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style); +char QFontDatabase_Italic(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style); +struct QtGui_PackedList QFontDatabase_PointSizes(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString styleName); +char QFontDatabase_QFontDatabase_RemoveAllApplicationFonts(); +char QFontDatabase_QFontDatabase_RemoveApplicationFont(int id); +struct QtGui_PackedList QFontDatabase_SmoothSizes(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString styleName); +struct QtGui_PackedList QFontDatabase_QFontDatabase_StandardSizes(); +struct QtGui_PackedString QFontDatabase_StyleString(void* ptr, void* font); +struct QtGui_PackedString QFontDatabase_StyleString2(void* ptr, void* fontInfo); +struct QtGui_PackedString QFontDatabase_Styles(void* ptr, struct QtGui_PackedString family); +void* QFontDatabase_QFontDatabase_SystemFont(long long ty); +int QFontDatabase_Weight(void* ptr, struct QtGui_PackedString family, struct QtGui_PackedString style); +int QFontDatabase___pointSizes_atList(void* ptr, int i); +void QFontDatabase___pointSizes_setList(void* ptr, int i); +void* QFontDatabase___pointSizes_newList(void* ptr); +int QFontDatabase___smoothSizes_atList(void* ptr, int i); +void QFontDatabase___smoothSizes_setList(void* ptr, int i); +void* QFontDatabase___smoothSizes_newList(void* ptr); +int QFontDatabase___standardSizes_atList(void* ptr, int i); +void QFontDatabase___standardSizes_setList(void* ptr, int i); +void* QFontDatabase___standardSizes_newList(void* ptr); +void* QFontInfo_NewQFontInfo(void* font); +void* QFontInfo_NewQFontInfo2(void* fi); +char QFontInfo_Bold(void* ptr); +char QFontInfo_ExactMatch(void* ptr); +struct QtGui_PackedString QFontInfo_Family(void* ptr); +char QFontInfo_FixedPitch(void* ptr); +char QFontInfo_Italic(void* ptr); +int QFontInfo_PixelSize(void* ptr); +int QFontInfo_PointSize(void* ptr); +double QFontInfo_PointSizeF(void* ptr); +long long QFontInfo_Style(void* ptr); +long long QFontInfo_StyleHint(void* ptr); +struct QtGui_PackedString QFontInfo_StyleName(void* ptr); +void QFontInfo_Swap(void* ptr, void* other); +int QFontInfo_Weight(void* ptr); +void QFontInfo_DestroyQFontInfo(void* ptr); +void* QFontMetrics_NewQFontMetrics(void* font); +void* QFontMetrics_NewQFontMetrics3(void* font, void* paintdevice); +void* QFontMetrics_NewQFontMetrics4(void* fm); +int QFontMetrics_Ascent(void* ptr); +int QFontMetrics_AverageCharWidth(void* ptr); +void* QFontMetrics_BoundingRect(void* ptr, void* ch); +void* QFontMetrics_BoundingRect2(void* ptr, struct QtGui_PackedString text); +void* QFontMetrics_BoundingRect3(void* ptr, void* rect, int flags, struct QtGui_PackedString text, int tabStops, int tabArray); +void* QFontMetrics_BoundingRect4(void* ptr, int x, int y, int width, int height, int flags, struct QtGui_PackedString text, int tabStops, int tabArray); +int QFontMetrics_CapHeight(void* ptr); +int QFontMetrics_Descent(void* ptr); +struct QtGui_PackedString QFontMetrics_ElidedText(void* ptr, struct QtGui_PackedString text, long long mode, int width, int flags); +int QFontMetrics_Height(void* ptr); +int QFontMetrics_HorizontalAdvance(void* ptr, struct QtGui_PackedString text, int l); +int QFontMetrics_HorizontalAdvance2(void* ptr, void* ch); +char QFontMetrics_InFont(void* ptr, void* ch); +char QFontMetrics_InFontUcs4(void* ptr, unsigned int ucs4); +int QFontMetrics_Leading(void* ptr); +int QFontMetrics_LeftBearing(void* ptr, void* ch); +int QFontMetrics_LineSpacing(void* ptr); +int QFontMetrics_LineWidth(void* ptr); +int QFontMetrics_MaxWidth(void* ptr); +int QFontMetrics_MinLeftBearing(void* ptr); +int QFontMetrics_MinRightBearing(void* ptr); +int QFontMetrics_OverlinePos(void* ptr); +int QFontMetrics_RightBearing(void* ptr, void* ch); +void* QFontMetrics_Size(void* ptr, int flags, struct QtGui_PackedString text, int tabStops, int tabArray); +int QFontMetrics_StrikeOutPos(void* ptr); +void QFontMetrics_Swap(void* ptr, void* other); +void* QFontMetrics_TightBoundingRect(void* ptr, struct QtGui_PackedString text); +int QFontMetrics_UnderlinePos(void* ptr); +int QFontMetrics_XHeight(void* ptr); +void QFontMetrics_DestroyQFontMetrics(void* ptr); +void* QFontMetricsF_NewQFontMetricsF(void* font); +void* QFontMetricsF_NewQFontMetricsF3(void* font, void* paintdevice); +void* QFontMetricsF_NewQFontMetricsF4(void* fontMetrics); +void* QFontMetricsF_NewQFontMetricsF5(void* fm); +double QFontMetricsF_Ascent(void* ptr); +double QFontMetricsF_AverageCharWidth(void* ptr); +void* QFontMetricsF_BoundingRect(void* ptr, struct QtGui_PackedString text); +void* QFontMetricsF_BoundingRect2(void* ptr, void* ch); +void* QFontMetricsF_BoundingRect3(void* ptr, void* rect, int flags, struct QtGui_PackedString text, int tabStops, int tabArray); +double QFontMetricsF_CapHeight(void* ptr); +double QFontMetricsF_Descent(void* ptr); +struct QtGui_PackedString QFontMetricsF_ElidedText(void* ptr, struct QtGui_PackedString text, long long mode, double width, int flags); +double QFontMetricsF_Height(void* ptr); +double QFontMetricsF_HorizontalAdvance(void* ptr, struct QtGui_PackedString text, int length); +double QFontMetricsF_HorizontalAdvance2(void* ptr, void* ch); +char QFontMetricsF_InFont(void* ptr, void* ch); +char QFontMetricsF_InFontUcs4(void* ptr, unsigned int ch); +double QFontMetricsF_Leading(void* ptr); +double QFontMetricsF_LeftBearing(void* ptr, void* ch); +double QFontMetricsF_LineSpacing(void* ptr); +double QFontMetricsF_LineWidth(void* ptr); +double QFontMetricsF_MaxWidth(void* ptr); +double QFontMetricsF_MinLeftBearing(void* ptr); +double QFontMetricsF_MinRightBearing(void* ptr); +double QFontMetricsF_OverlinePos(void* ptr); +double QFontMetricsF_RightBearing(void* ptr, void* ch); +void* QFontMetricsF_Size(void* ptr, int flags, struct QtGui_PackedString text, int tabStops, int tabArray); +double QFontMetricsF_StrikeOutPos(void* ptr); +void QFontMetricsF_Swap(void* ptr, void* other); +void* QFontMetricsF_TightBoundingRect(void* ptr, struct QtGui_PackedString text); +double QFontMetricsF_UnderlinePos(void* ptr); +double QFontMetricsF_XHeight(void* ptr); +void QFontMetricsF_DestroyQFontMetricsF(void* ptr); +void* QGenericPlugin_NewQGenericPlugin(void* parent); +void* QGenericPlugin_Create(void* ptr, struct QtGui_PackedString key, struct QtGui_PackedString specification); +void QGenericPlugin_DestroyQGenericPlugin(void* ptr); +void QGenericPlugin_DestroyQGenericPluginDefault(void* ptr); +void* QGenericPlugin___children_atList(void* ptr, int i); +void QGenericPlugin___children_setList(void* ptr, void* i); +void* QGenericPlugin___children_newList(void* ptr); +void* QGenericPlugin___dynamicPropertyNames_atList(void* ptr, int i); +void QGenericPlugin___dynamicPropertyNames_setList(void* ptr, void* i); +void* QGenericPlugin___dynamicPropertyNames_newList(void* ptr); +void* QGenericPlugin___findChildren_atList(void* ptr, int i); +void QGenericPlugin___findChildren_setList(void* ptr, void* i); +void* QGenericPlugin___findChildren_newList(void* ptr); +void* QGenericPlugin___findChildren_atList3(void* ptr, int i); +void QGenericPlugin___findChildren_setList3(void* ptr, void* i); +void* QGenericPlugin___findChildren_newList3(void* ptr); +void* QGenericPlugin___qFindChildren_atList2(void* ptr, int i); +void QGenericPlugin___qFindChildren_setList2(void* ptr, void* i); +void* QGenericPlugin___qFindChildren_newList2(void* ptr); +void QGenericPlugin_ChildEventDefault(void* ptr, void* event); +void QGenericPlugin_ConnectNotifyDefault(void* ptr, void* sign); +void QGenericPlugin_CustomEventDefault(void* ptr, void* event); +void QGenericPlugin_DeleteLaterDefault(void* ptr); +void QGenericPlugin_DisconnectNotifyDefault(void* ptr, void* sign); +char QGenericPlugin_EventDefault(void* ptr, void* e); +char QGenericPlugin_EventFilterDefault(void* ptr, void* watched, void* event); +void* QGenericPlugin_MetaObjectDefault(void* ptr); +void QGenericPlugin_TimerEventDefault(void* ptr, void* event); +void* QGenericPluginFactory_QGenericPluginFactory_Create(struct QtGui_PackedString key, struct QtGui_PackedString specification); +struct QtGui_PackedString QGenericPluginFactory_QGenericPluginFactory_Keys(); +void* QGlyphRun_NewQGlyphRun(); +void* QGlyphRun_NewQGlyphRun2(void* other); +void* QGlyphRun_BoundingRect(void* ptr); +void QGlyphRun_Clear(void* ptr); +long long QGlyphRun_Flags(void* ptr); +struct QtGui_PackedList QGlyphRun_GlyphIndexes(void* ptr); +char QGlyphRun_IsEmpty(void* ptr); +char QGlyphRun_IsRightToLeft(void* ptr); +char QGlyphRun_Overline(void* ptr); +struct QtGui_PackedList QGlyphRun_Positions(void* ptr); +void* QGlyphRun_RawFont(void* ptr); +void QGlyphRun_SetBoundingRect(void* ptr, void* boundingRect); +void QGlyphRun_SetFlag(void* ptr, long long flag, char enabled); +void QGlyphRun_SetFlags(void* ptr, long long flags); +void QGlyphRun_SetGlyphIndexes(void* ptr, void* glyphIndexes); +void QGlyphRun_SetOverline(void* ptr, char overline); +void QGlyphRun_SetPositions(void* ptr, void* positions); +void QGlyphRun_SetRawData(void* ptr, unsigned int glyphIndexArray, void* glyphPositionArray, int size); +void QGlyphRun_SetRawFont(void* ptr, void* rawFont); +void QGlyphRun_SetRightToLeft(void* ptr, char rightToLeft); +void QGlyphRun_SetStrikeOut(void* ptr, char strikeOut); +void QGlyphRun_SetUnderline(void* ptr, char underline); +char QGlyphRun_StrikeOut(void* ptr); +void QGlyphRun_Swap(void* ptr, void* other); +char QGlyphRun_Underline(void* ptr); +void QGlyphRun_DestroyQGlyphRun(void* ptr); +unsigned int QGlyphRun___glyphIndexes_atList(void* ptr, int i); +void QGlyphRun___glyphIndexes_setList(void* ptr, unsigned int i); +void* QGlyphRun___glyphIndexes_newList(void* ptr); +void* QGlyphRun___positions_atList(void* ptr, int i); +void QGlyphRun___positions_setList(void* ptr, void* i); +void* QGlyphRun___positions_newList(void* ptr); +unsigned int QGlyphRun___setGlyphIndexes_glyphIndexes_atList(void* ptr, int i); +void QGlyphRun___setGlyphIndexes_glyphIndexes_setList(void* ptr, unsigned int i); +void* QGlyphRun___setGlyphIndexes_glyphIndexes_newList(void* ptr); +void* QGlyphRun___setPositions_positions_atList(void* ptr, int i); +void QGlyphRun___setPositions_positions_setList(void* ptr, void* i); +void* QGlyphRun___setPositions_positions_newList(void* ptr); +void* QGradient_NewQGradient2(long long preset); +long long QGradient_CoordinateMode(void* ptr); +void QGradient_SetColorAt(void* ptr, double position, void* color); +void QGradient_SetCoordinateMode(void* ptr, long long mode); +void QGradient_SetSpread(void* ptr, long long method); +long long QGradient_Spread(void* ptr); +long long QGradient_Type(void* ptr); +void* QGuiApplication_NewQGuiApplication(int argc, char* argv); +struct QtGui_PackedString QGuiApplication_QGuiApplication_ApplicationDisplayName(); +void QGuiApplication_ConnectApplicationDisplayNameChanged(void* ptr, long long t); +void QGuiApplication_DisconnectApplicationDisplayNameChanged(void* ptr); +void QGuiApplication_ApplicationDisplayNameChanged(void* ptr); +long long QGuiApplication_QGuiApplication_ApplicationState(); +void QGuiApplication_ConnectApplicationStateChanged(void* ptr, long long t); +void QGuiApplication_DisconnectApplicationStateChanged(void* ptr); +void QGuiApplication_ApplicationStateChanged(void* ptr, long long state); +void QGuiApplication_QGuiApplication_ChangeOverrideCursor(void* cursor); +void* QGuiApplication_QGuiApplication_Clipboard(); +void QGuiApplication_ConnectCommitDataRequest(void* ptr, long long t); +void QGuiApplication_DisconnectCommitDataRequest(void* ptr); +void QGuiApplication_CommitDataRequest(void* ptr, void* manager); +struct QtGui_PackedString QGuiApplication_QGuiApplication_DesktopFileName(); +char QGuiApplication_QGuiApplication_DesktopSettingsAware(); +double QGuiApplication_DevicePixelRatio(void* ptr); +char QGuiApplication_EventDefault(void* ptr, void* e); +int QGuiApplication_QGuiApplication_Exec(); +void* QGuiApplication_QGuiApplication_FocusObject(); +void QGuiApplication_ConnectFocusObjectChanged(void* ptr, long long t); +void QGuiApplication_DisconnectFocusObjectChanged(void* ptr); +void QGuiApplication_FocusObjectChanged(void* ptr, void* focusObject); +void* QGuiApplication_QGuiApplication_FocusWindow(); +void QGuiApplication_ConnectFocusWindowChanged(void* ptr, long long t); +void QGuiApplication_DisconnectFocusWindowChanged(void* ptr); +void QGuiApplication_FocusWindowChanged(void* ptr, void* focusWindow); +void* QGuiApplication_QGuiApplication_Font(); +void QGuiApplication_ConnectFontChanged(void* ptr, long long t); +void QGuiApplication_DisconnectFontChanged(void* ptr); +void QGuiApplication_FontChanged(void* ptr, void* font); +void QGuiApplication_ConnectFontDatabaseChanged(void* ptr, long long t); +void QGuiApplication_DisconnectFontDatabaseChanged(void* ptr); +void QGuiApplication_FontDatabaseChanged(void* ptr); +void* QGuiApplication_QGuiApplication_InputMethod(); +char QGuiApplication_QGuiApplication_IsFallbackSessionManagementEnabled(); +char QGuiApplication_QGuiApplication_IsLeftToRight(); +char QGuiApplication_QGuiApplication_IsRightToLeft(); +char QGuiApplication_IsSavingSession(void* ptr); +char QGuiApplication_IsSessionRestored(void* ptr); +long long QGuiApplication_QGuiApplication_KeyboardModifiers(); +void QGuiApplication_ConnectLastWindowClosed(void* ptr, long long t); +void QGuiApplication_DisconnectLastWindowClosed(void* ptr); +void QGuiApplication_LastWindowClosed(void* ptr); +long long QGuiApplication_QGuiApplication_LayoutDirection(); +void QGuiApplication_ConnectLayoutDirectionChanged(void* ptr, long long t); +void QGuiApplication_DisconnectLayoutDirectionChanged(void* ptr); +void QGuiApplication_LayoutDirectionChanged(void* ptr, long long direction); +void* QGuiApplication_QGuiApplication_ModalWindow(); +long long QGuiApplication_QGuiApplication_MouseButtons(); +void* QGuiApplication_QGuiApplication_OverrideCursor(); +void* QGuiApplication_QGuiApplication_Palette(); +void QGuiApplication_ConnectPaletteChanged(void* ptr, long long t); +void QGuiApplication_DisconnectPaletteChanged(void* ptr); +void QGuiApplication_PaletteChanged(void* ptr, void* palette); +struct QtGui_PackedString QGuiApplication_QGuiApplication_PlatformName(); +void* QGuiApplication_QGuiApplication_PrimaryScreen(); +void QGuiApplication_ConnectPrimaryScreenChanged(void* ptr, long long t); +void QGuiApplication_DisconnectPrimaryScreenChanged(void* ptr); +void QGuiApplication_PrimaryScreenChanged(void* ptr, void* screen); +long long QGuiApplication_QGuiApplication_QueryKeyboardModifiers(); +char QGuiApplication_QGuiApplication_QuitOnLastWindowClosed(); +void QGuiApplication_QGuiApplication_RestoreOverrideCursor(); +void QGuiApplication_ConnectSaveStateRequest(void* ptr, long long t); +void QGuiApplication_DisconnectSaveStateRequest(void* ptr); +void QGuiApplication_SaveStateRequest(void* ptr, void* manager); +void QGuiApplication_ConnectScreenAdded(void* ptr, long long t); +void QGuiApplication_DisconnectScreenAdded(void* ptr); +void QGuiApplication_ScreenAdded(void* ptr, void* screen); +void* QGuiApplication_QGuiApplication_ScreenAt(void* point); +void QGuiApplication_ConnectScreenRemoved(void* ptr, long long t); +void QGuiApplication_DisconnectScreenRemoved(void* ptr); +void QGuiApplication_ScreenRemoved(void* ptr, void* screen); +struct QtGui_PackedList QGuiApplication_QGuiApplication_Screens(); +struct QtGui_PackedString QGuiApplication_SessionId(void* ptr); +struct QtGui_PackedString QGuiApplication_SessionKey(void* ptr); +void QGuiApplication_QGuiApplication_SetApplicationDisplayName(struct QtGui_PackedString name); +void QGuiApplication_QGuiApplication_SetDesktopFileName(struct QtGui_PackedString name); +void QGuiApplication_QGuiApplication_SetDesktopSettingsAware(char on); +void QGuiApplication_QGuiApplication_SetFallbackSessionManagementEnabled(char enabled); +void QGuiApplication_QGuiApplication_SetFont(void* font); +void QGuiApplication_QGuiApplication_SetLayoutDirection(long long direction); +void QGuiApplication_QGuiApplication_SetOverrideCursor(void* cursor); +void QGuiApplication_QGuiApplication_SetPalette(void* pal); +void QGuiApplication_QGuiApplication_SetQuitOnLastWindowClosed(char quit); +void QGuiApplication_QGuiApplication_SetWindowIcon(void* icon); +void* QGuiApplication_QGuiApplication_StyleHints(); +void QGuiApplication_QGuiApplication_Sync(); +void* QGuiApplication_QGuiApplication_TopLevelAt(void* pos); +void* QGuiApplication_QGuiApplication_WindowIcon(); +void QGuiApplication_DestroyQGuiApplication(void* ptr); +void QGuiApplication_DestroyQGuiApplicationDefault(void* ptr); +void* QGuiApplication___screens_atList(void* ptr, int i); +void QGuiApplication___screens_setList(void* ptr, void* i); +void* QGuiApplication___screens_newList(void* ptr); +void* QGuiApplication___children_atList(void* ptr, int i); +void QGuiApplication___children_setList(void* ptr, void* i); +void* QGuiApplication___children_newList(void* ptr); +void* QGuiApplication___dynamicPropertyNames_atList(void* ptr, int i); +void QGuiApplication___dynamicPropertyNames_setList(void* ptr, void* i); +void* QGuiApplication___dynamicPropertyNames_newList(void* ptr); +void* QGuiApplication___findChildren_atList(void* ptr, int i); +void QGuiApplication___findChildren_setList(void* ptr, void* i); +void* QGuiApplication___findChildren_newList(void* ptr); +void* QGuiApplication___findChildren_atList3(void* ptr, int i); +void QGuiApplication___findChildren_setList3(void* ptr, void* i); +void* QGuiApplication___findChildren_newList3(void* ptr); +void* QGuiApplication___qFindChildren_atList2(void* ptr, int i); +void QGuiApplication___qFindChildren_setList2(void* ptr, void* i); +void* QGuiApplication___qFindChildren_newList2(void* ptr); +void QGuiApplication_QuitDefault(void* ptr); +void QGuiApplication_ChildEventDefault(void* ptr, void* event); +void QGuiApplication_ConnectNotifyDefault(void* ptr, void* sign); +void QGuiApplication_CustomEventDefault(void* ptr, void* event); +void QGuiApplication_DeleteLaterDefault(void* ptr); +void QGuiApplication_DisconnectNotifyDefault(void* ptr, void* sign); +char QGuiApplication_EventFilterDefault(void* ptr, void* watched, void* event); +void* QGuiApplication_MetaObjectDefault(void* ptr); +void QGuiApplication_TimerEventDefault(void* ptr, void* event); +void* QHelpEvent_NewQHelpEvent(long long ty, void* pos, void* globalPos); +void* QHelpEvent_GlobalPos(void* ptr); +int QHelpEvent_GlobalX(void* ptr); +int QHelpEvent_GlobalY(void* ptr); +void* QHelpEvent_Pos(void* ptr); +int QHelpEvent_X(void* ptr); +int QHelpEvent_Y(void* ptr); +void* QHideEvent_NewQHideEvent(); +void* QHoverEvent_NewQHoverEvent(long long ty, void* pos, void* oldPos, long long modifiers); +void* QHoverEvent_OldPos(void* ptr); +void* QHoverEvent_OldPosF(void* ptr); +void* QHoverEvent_Pos(void* ptr); +void* QHoverEvent_PosF(void* ptr); +void* QIcon_NewQIcon(); +void* QIcon_NewQIcon2(void* pixmap); +void* QIcon_NewQIcon3(void* other); +void* QIcon_NewQIcon4(void* other); +void* QIcon_NewQIcon5(struct QtGui_PackedString fileName); +void* QIcon_NewQIcon6(void* engine); +void* QIcon_ActualSize(void* ptr, void* size, long long mode, long long state); +void* QIcon_ActualSize2(void* ptr, void* window, void* size, long long mode, long long state); +void QIcon_AddFile(void* ptr, struct QtGui_PackedString fileName, void* size, long long mode, long long state); +void QIcon_AddPixmap(void* ptr, void* pixmap, long long mode, long long state); +struct QtGui_PackedList QIcon_AvailableSizes(void* ptr, long long mode, long long state); +long long QIcon_CacheKey(void* ptr); +struct QtGui_PackedString QIcon_QIcon_FallbackSearchPaths(); +struct QtGui_PackedString QIcon_QIcon_FallbackThemeName(); +void* QIcon_QIcon_FromTheme(struct QtGui_PackedString name); +void* QIcon_QIcon_FromTheme2(struct QtGui_PackedString name, void* fallback); +char QIcon_QIcon_HasThemeIcon(struct QtGui_PackedString name); +char QIcon_IsMask(void* ptr); +char QIcon_IsNull(void* ptr); +struct QtGui_PackedString QIcon_Name(void* ptr); +void QIcon_Paint(void* ptr, void* painter, void* rect, long long alignment, long long mode, long long state); +void QIcon_Paint2(void* ptr, void* painter, int x, int y, int w, int h, long long alignment, long long mode, long long state); +void* QIcon_Pixmap(void* ptr, void* size, long long mode, long long state); +void* QIcon_Pixmap2(void* ptr, int w, int h, long long mode, long long state); +void* QIcon_Pixmap3(void* ptr, int extent, long long mode, long long state); +void* QIcon_Pixmap4(void* ptr, void* window, void* size, long long mode, long long state); +void QIcon_QIcon_SetFallbackSearchPaths(struct QtGui_PackedString paths); +void QIcon_QIcon_SetFallbackThemeName(struct QtGui_PackedString name); +void QIcon_SetIsMask(void* ptr, char isMask); +void QIcon_QIcon_SetThemeName(struct QtGui_PackedString name); +void QIcon_QIcon_SetThemeSearchPaths(struct QtGui_PackedString paths); +void QIcon_Swap(void* ptr, void* other); +struct QtGui_PackedString QIcon_QIcon_ThemeName(); +struct QtGui_PackedString QIcon_QIcon_ThemeSearchPaths(); +void QIcon_DestroyQIcon(void* ptr); +void* QIcon_ToVariant(void* ptr); +void* QIcon___availableSizes_atList(void* ptr, int i); +void QIcon___availableSizes_setList(void* ptr, void* i); +void* QIcon___availableSizes_newList(void* ptr); +void* QIconDragEvent_NewQIconDragEvent(); +void* QIconEngine_NewQIconEngine(); +void* QIconEngine_ActualSize(void* ptr, void* size, long long mode, long long state); +void* QIconEngine_ActualSizeDefault(void* ptr, void* size, long long mode, long long state); +void QIconEngine_AddFile(void* ptr, struct QtGui_PackedString fileName, void* size, long long mode, long long state); +void QIconEngine_AddFileDefault(void* ptr, struct QtGui_PackedString fileName, void* size, long long mode, long long state); +void QIconEngine_AddPixmap(void* ptr, void* pixmap, long long mode, long long state); +void QIconEngine_AddPixmapDefault(void* ptr, void* pixmap, long long mode, long long state); +struct QtGui_PackedList QIconEngine_AvailableSizes(void* ptr, long long mode, long long state); +struct QtGui_PackedList QIconEngine_AvailableSizesDefault(void* ptr, long long mode, long long state); +void* QIconEngine_Clone(void* ptr); +struct QtGui_PackedString QIconEngine_IconName(void* ptr); +struct QtGui_PackedString QIconEngine_IconNameDefault(void* ptr); +char QIconEngine_IsNull(void* ptr); +struct QtGui_PackedString QIconEngine_Key(void* ptr); +struct QtGui_PackedString QIconEngine_KeyDefault(void* ptr); +void QIconEngine_Paint(void* ptr, void* painter, void* rect, long long mode, long long state); +void* QIconEngine_Pixmap(void* ptr, void* size, long long mode, long long state); +void* QIconEngine_PixmapDefault(void* ptr, void* size, long long mode, long long state); +char QIconEngine_Read(void* ptr, void* in); +char QIconEngine_ReadDefault(void* ptr, void* in); +void* QIconEngine_ScaledPixmap(void* ptr, void* size, long long mode, long long state, double scale); +void QIconEngine_Virtual_hook(void* ptr, int id, void* data); +void QIconEngine_Virtual_hookDefault(void* ptr, int id, void* data); +char QIconEngine_Write(void* ptr, void* out); +char QIconEngine_WriteDefault(void* ptr, void* out); +void QIconEngine_DestroyQIconEngine(void* ptr); +void QIconEngine_DestroyQIconEngineDefault(void* ptr); +void* QIconEngine___availableSizes_atList(void* ptr, int i); +void QIconEngine___availableSizes_setList(void* ptr, void* i); +void* QIconEngine___availableSizes_newList(void* ptr); +void* QIconEnginePlugin_NewQIconEnginePlugin(void* parent); +void* QIconEnginePlugin_Create(void* ptr, struct QtGui_PackedString filename); +void QIconEnginePlugin_DestroyQIconEnginePlugin(void* ptr); +void QIconEnginePlugin_DestroyQIconEnginePluginDefault(void* ptr); +void* QIconEnginePlugin___children_atList(void* ptr, int i); +void QIconEnginePlugin___children_setList(void* ptr, void* i); +void* QIconEnginePlugin___children_newList(void* ptr); +void* QIconEnginePlugin___dynamicPropertyNames_atList(void* ptr, int i); +void QIconEnginePlugin___dynamicPropertyNames_setList(void* ptr, void* i); +void* QIconEnginePlugin___dynamicPropertyNames_newList(void* ptr); +void* QIconEnginePlugin___findChildren_atList(void* ptr, int i); +void QIconEnginePlugin___findChildren_setList(void* ptr, void* i); +void* QIconEnginePlugin___findChildren_newList(void* ptr); +void* QIconEnginePlugin___findChildren_atList3(void* ptr, int i); +void QIconEnginePlugin___findChildren_setList3(void* ptr, void* i); +void* QIconEnginePlugin___findChildren_newList3(void* ptr); +void* QIconEnginePlugin___qFindChildren_atList2(void* ptr, int i); +void QIconEnginePlugin___qFindChildren_setList2(void* ptr, void* i); +void* QIconEnginePlugin___qFindChildren_newList2(void* ptr); +void QIconEnginePlugin_ChildEventDefault(void* ptr, void* event); +void QIconEnginePlugin_ConnectNotifyDefault(void* ptr, void* sign); +void QIconEnginePlugin_CustomEventDefault(void* ptr, void* event); +void QIconEnginePlugin_DeleteLaterDefault(void* ptr); +void QIconEnginePlugin_DisconnectNotifyDefault(void* ptr, void* sign); +char QIconEnginePlugin_EventDefault(void* ptr, void* e); +char QIconEnginePlugin_EventFilterDefault(void* ptr, void* watched, void* event); +void* QIconEnginePlugin_MetaObjectDefault(void* ptr); +void QIconEnginePlugin_TimerEventDefault(void* ptr, void* event); +void* QImage_NewQImage(); +void* QImage_NewQImage2(void* size, long long format); +void* QImage_NewQImage3(int width, int height, long long format); +void* QImage_NewQImage4(char* data, int width, int height, long long format); +void* QImage_NewQImage5(char* data, int width, int height, long long format); +void* QImage_NewQImage6(char* data, int width, int height, int bytesPerLine, long long format); +void* QImage_NewQImage7(char* data, int width, int height, int bytesPerLine, long long format); +void* QImage_NewQImage9(struct QtGui_PackedString fileName, char* format); +void* QImage_NewQImage10(void* image); +void* QImage_NewQImage11(void* other); +char QImage_AllGray(void* ptr); +int QImage_BitPlaneCount(void* ptr); +struct QtGui_PackedString QImage_Bits(void* ptr); +struct QtGui_PackedString QImage_Bits2(void* ptr); +int QImage_BytesPerLine(void* ptr); +long long QImage_CacheKey(void* ptr); +unsigned int QImage_Color(void* ptr, int i); +struct QtGui_PackedList QImage_ColorTable(void* ptr); +struct QtGui_PackedString QImage_ConstBits(void* ptr); +struct QtGui_PackedString QImage_ConstScanLine(void* ptr, int i); +void QImage_ConvertTo(void* ptr, long long format, long long flags); +void* QImage_ConvertToFormat(void* ptr, long long format, long long flags); +void* QImage_ConvertToFormat2(void* ptr, long long format, long long flags); +void* QImage_ConvertToFormat3(void* ptr, long long format, void* colorTable, long long flags); +void* QImage_Copy(void* ptr, void* rectangle); +void* QImage_Copy2(void* ptr, int x, int y, int width, int height); +void* QImage_CreateAlphaMask(void* ptr, long long flags); +void* QImage_CreateHeuristicMask(void* ptr, char clipTight); +void* QImage_CreateMaskFromColor(void* ptr, unsigned int color, long long mode); +double QImage_DevicePixelRatio(void* ptr); +int QImage_DotsPerMeterX(void* ptr); +int QImage_DotsPerMeterY(void* ptr); +void QImage_Fill(void* ptr, unsigned int pixelValue); +void QImage_Fill2(void* ptr, void* color); +void QImage_Fill3(void* ptr, long long color); +long long QImage_Format(void* ptr); +void* QImage_QImage_FromData(char* data, int size, char* format); +void* QImage_QImage_FromData2(void* data, char* format); +char QImage_HasAlphaChannel(void* ptr); +void QImage_InvertPixels(void* ptr, long long mode); +char QImage_IsGrayscale(void* ptr); +char QImage_IsNull(void* ptr); +char QImage_Load(void* ptr, struct QtGui_PackedString fileName, char* format); +char QImage_Load2(void* ptr, void* device, char* format); +char QImage_LoadFromData(void* ptr, char* data, int l, char* format); +char QImage_LoadFromData2(void* ptr, void* data, char* format); +void* QImage_Mirrored(void* ptr, char horizontal, char vertical); +void* QImage_Mirrored2(void* ptr, char horizontal, char vertical); +void* QImage_Offset(void* ptr); +unsigned int QImage_Pixel(void* ptr, void* position); +unsigned int QImage_Pixel2(void* ptr, int x, int y); +void* QImage_PixelColor(void* ptr, void* position); +void* QImage_PixelColor2(void* ptr, int x, int y); +void* QImage_PixelFormat(void* ptr); +int QImage_PixelIndex(void* ptr, void* position); +int QImage_PixelIndex2(void* ptr, int x, int y); +void* QImage_Rect(void* ptr); +char QImage_ReinterpretAsFormat(void* ptr, long long format); +void* QImage_RgbSwapped(void* ptr); +void* QImage_RgbSwapped2(void* ptr); +char QImage_Save(void* ptr, struct QtGui_PackedString fileName, char* format, int quality); +char QImage_Save2(void* ptr, void* device, char* format, int quality); +void* QImage_Scaled(void* ptr, void* size, long long aspectRatioMode, long long transformMode); +void* QImage_Scaled2(void* ptr, int width, int height, long long aspectRatioMode, long long transformMode); +void* QImage_ScaledToHeight(void* ptr, int height, long long mode); +void* QImage_ScaledToWidth(void* ptr, int width, long long mode); +struct QtGui_PackedString QImage_ScanLine(void* ptr, int i); +struct QtGui_PackedString QImage_ScanLine2(void* ptr, int i); +void QImage_SetColor(void* ptr, int index, unsigned int colorValue); +void QImage_SetColorCount(void* ptr, int colorCount); +void QImage_SetColorTable(void* ptr, void* colors); +void QImage_SetDevicePixelRatio(void* ptr, double scaleFactor); +void QImage_SetDotsPerMeterX(void* ptr, int x); +void QImage_SetDotsPerMeterY(void* ptr, int y); +void QImage_SetOffset(void* ptr, void* offset); +void QImage_SetPixel(void* ptr, void* position, unsigned int index_or_rgb); +void QImage_SetPixel2(void* ptr, int x, int y, unsigned int index_or_rgb); +void QImage_SetPixelColor(void* ptr, void* position, void* color); +void QImage_SetPixelColor2(void* ptr, int x, int y, void* color); +void QImage_SetText(void* ptr, struct QtGui_PackedString key, struct QtGui_PackedString text); +void* QImage_Size(void* ptr); +void* QImage_SmoothScaled(void* ptr, int w, int h); +void QImage_Swap(void* ptr, void* other); +struct QtGui_PackedString QImage_Text(void* ptr, struct QtGui_PackedString key); +struct QtGui_PackedString QImage_TextKeys(void* ptr); +long long QImage_QImage_ToImageFormat(void* format); +void* QImage_QImage_ToPixelFormat(long long format); +void* QImage_Transformed(void* ptr, void* matrix, long long mode); +void* QImage_Transformed2(void* ptr, void* matrix, long long mode); +void* QImage_QImage_TrueMatrix(void* matrix, int width, int height); +void* QImage_QImage_TrueMatrix2(void* matrix, int width, int height); +char QImage_Valid(void* ptr, void* pos); +char QImage_Valid2(void* ptr, int x, int y); +void QImage_DestroyQImage(void* ptr); +void QImage_DestroyQImageDefault(void* ptr); +void* QImage_ToVariant(void* ptr); +unsigned int QImage___colorTable_atList(void* ptr, int i); +void QImage___colorTable_setList(void* ptr, unsigned int i); +void* QImage___colorTable_newList(void* ptr); +unsigned int QImage___convertToFormat_colorTable_atList3(void* ptr, int i); +void QImage___convertToFormat_colorTable_setList3(void* ptr, unsigned int i); +void* QImage___convertToFormat_colorTable_newList3(void* ptr); +unsigned int QImage___setColorTable_colors_atList(void* ptr, int i); +void QImage___setColorTable_colors_setList(void* ptr, unsigned int i); +void* QImage___setColorTable_colors_newList(void* ptr); +void* QImage_PaintEngine(void* ptr); +void* QImage_PaintEngineDefault(void* ptr); +void* QImageIOHandler_NewQImageIOHandler(); +char QImageIOHandler_CanRead(void* ptr); +int QImageIOHandler_CurrentImageNumber(void* ptr); +int QImageIOHandler_CurrentImageNumberDefault(void* ptr); +void* QImageIOHandler_CurrentImageRect(void* ptr); +void* QImageIOHandler_CurrentImageRectDefault(void* ptr); +void* QImageIOHandler_Device(void* ptr); +void* QImageIOHandler_Format(void* ptr); +int QImageIOHandler_ImageCount(void* ptr); +int QImageIOHandler_ImageCountDefault(void* ptr); +char QImageIOHandler_JumpToImage(void* ptr, int imageNumber); +char QImageIOHandler_JumpToImageDefault(void* ptr, int imageNumber); +char QImageIOHandler_JumpToNextImage(void* ptr); +char QImageIOHandler_JumpToNextImageDefault(void* ptr); +int QImageIOHandler_LoopCount(void* ptr); +int QImageIOHandler_LoopCountDefault(void* ptr); +int QImageIOHandler_NextImageDelay(void* ptr); +int QImageIOHandler_NextImageDelayDefault(void* ptr); +void* QImageIOHandler_Option(void* ptr, long long option); +void* QImageIOHandler_OptionDefault(void* ptr, long long option); +char QImageIOHandler_Read(void* ptr, void* image); +void QImageIOHandler_SetDevice(void* ptr, void* device); +void QImageIOHandler_SetFormat(void* ptr, void* format); +void QImageIOHandler_SetFormat2(void* ptr, void* format); +void QImageIOHandler_SetOption(void* ptr, long long option, void* value); +void QImageIOHandler_SetOptionDefault(void* ptr, long long option, void* value); +char QImageIOHandler_SupportsOption(void* ptr, long long option); +char QImageIOHandler_SupportsOptionDefault(void* ptr, long long option); +char QImageIOHandler_Write(void* ptr, void* image); +char QImageIOHandler_WriteDefault(void* ptr, void* image); +void QImageIOHandler_DestroyQImageIOHandler(void* ptr); +void QImageIOHandler_DestroyQImageIOHandlerDefault(void* ptr); +void* QImageIOPlugin_NewQImageIOPlugin(void* parent); +long long QImageIOPlugin_Capabilities(void* ptr, void* device, void* format); +void* QImageIOPlugin_Create(void* ptr, void* device, void* format); +void QImageIOPlugin_DestroyQImageIOPlugin(void* ptr); +void QImageIOPlugin_DestroyQImageIOPluginDefault(void* ptr); +void* QImageIOPlugin___children_atList(void* ptr, int i); +void QImageIOPlugin___children_setList(void* ptr, void* i); +void* QImageIOPlugin___children_newList(void* ptr); +void* QImageIOPlugin___dynamicPropertyNames_atList(void* ptr, int i); +void QImageIOPlugin___dynamicPropertyNames_setList(void* ptr, void* i); +void* QImageIOPlugin___dynamicPropertyNames_newList(void* ptr); +void* QImageIOPlugin___findChildren_atList(void* ptr, int i); +void QImageIOPlugin___findChildren_setList(void* ptr, void* i); +void* QImageIOPlugin___findChildren_newList(void* ptr); +void* QImageIOPlugin___findChildren_atList3(void* ptr, int i); +void QImageIOPlugin___findChildren_setList3(void* ptr, void* i); +void* QImageIOPlugin___findChildren_newList3(void* ptr); +void* QImageIOPlugin___qFindChildren_atList2(void* ptr, int i); +void QImageIOPlugin___qFindChildren_setList2(void* ptr, void* i); +void* QImageIOPlugin___qFindChildren_newList2(void* ptr); +void QImageIOPlugin_ChildEventDefault(void* ptr, void* event); +void QImageIOPlugin_ConnectNotifyDefault(void* ptr, void* sign); +void QImageIOPlugin_CustomEventDefault(void* ptr, void* event); +void QImageIOPlugin_DeleteLaterDefault(void* ptr); +void QImageIOPlugin_DisconnectNotifyDefault(void* ptr, void* sign); +char QImageIOPlugin_EventDefault(void* ptr, void* e); +char QImageIOPlugin_EventFilterDefault(void* ptr, void* watched, void* event); +void* QImageIOPlugin_MetaObjectDefault(void* ptr); +void QImageIOPlugin_TimerEventDefault(void* ptr, void* event); +void* QImageReader_NewQImageReader(); +void* QImageReader_NewQImageReader2(void* device, void* format); +void* QImageReader_NewQImageReader3(struct QtGui_PackedString fileName, void* format); +char QImageReader_AutoDetectImageFormat(void* ptr); +char QImageReader_AutoTransform(void* ptr); +void* QImageReader_BackgroundColor(void* ptr); +char QImageReader_CanRead(void* ptr); +void* QImageReader_ClipRect(void* ptr); +int QImageReader_CurrentImageNumber(void* ptr); +void* QImageReader_CurrentImageRect(void* ptr); +char QImageReader_DecideFormatFromContent(void* ptr); +void* QImageReader_Device(void* ptr); +long long QImageReader_Error(void* ptr); +struct QtGui_PackedString QImageReader_ErrorString(void* ptr); +struct QtGui_PackedString QImageReader_FileName(void* ptr); +void* QImageReader_Format(void* ptr); +float QImageReader_Gamma(void* ptr); +int QImageReader_ImageCount(void* ptr); +long long QImageReader_ImageFormat(void* ptr); +void* QImageReader_QImageReader_ImageFormat2(struct QtGui_PackedString fileName); +void* QImageReader_QImageReader_ImageFormat3(void* device); +struct QtGui_PackedList QImageReader_QImageReader_ImageFormatsForMimeType(void* mimeType); +char QImageReader_JumpToImage(void* ptr, int imageNumber); +char QImageReader_JumpToNextImage(void* ptr); +int QImageReader_LoopCount(void* ptr); +int QImageReader_NextImageDelay(void* ptr); +int QImageReader_Quality(void* ptr); +void* QImageReader_Read(void* ptr); +char QImageReader_Read2(void* ptr, void* image); +void* QImageReader_ScaledClipRect(void* ptr); +void* QImageReader_ScaledSize(void* ptr); +void QImageReader_SetAutoDetectImageFormat(void* ptr, char enabled); +void QImageReader_SetAutoTransform(void* ptr, char enabled); +void QImageReader_SetBackgroundColor(void* ptr, void* color); +void QImageReader_SetClipRect(void* ptr, void* rect); +void QImageReader_SetDecideFormatFromContent(void* ptr, char ignored); +void QImageReader_SetDevice(void* ptr, void* device); +void QImageReader_SetFileName(void* ptr, struct QtGui_PackedString fileName); +void QImageReader_SetFormat(void* ptr, void* format); +void QImageReader_SetGamma(void* ptr, float gamma); +void QImageReader_SetQuality(void* ptr, int quality); +void QImageReader_SetScaledClipRect(void* ptr, void* rect); +void QImageReader_SetScaledSize(void* ptr, void* size); +void* QImageReader_Size(void* ptr); +void* QImageReader_SubType(void* ptr); +struct QtGui_PackedList QImageReader_QImageReader_SupportedImageFormats(); +struct QtGui_PackedList QImageReader_QImageReader_SupportedMimeTypes(); +struct QtGui_PackedList QImageReader_SupportedSubTypes(void* ptr); +char QImageReader_SupportsAnimation(void* ptr); +char QImageReader_SupportsOption(void* ptr, long long option); +struct QtGui_PackedString QImageReader_Text(void* ptr, struct QtGui_PackedString key); +struct QtGui_PackedString QImageReader_TextKeys(void* ptr); +long long QImageReader_Transformation(void* ptr); +void QImageReader_DestroyQImageReader(void* ptr); +void* QImageReader___imageFormatsForMimeType_atList(void* ptr, int i); +void QImageReader___imageFormatsForMimeType_setList(void* ptr, void* i); +void* QImageReader___imageFormatsForMimeType_newList(void* ptr); +void* QImageReader___supportedImageFormats_atList(void* ptr, int i); +void QImageReader___supportedImageFormats_setList(void* ptr, void* i); +void* QImageReader___supportedImageFormats_newList(void* ptr); +void* QImageReader___supportedMimeTypes_atList(void* ptr, int i); +void QImageReader___supportedMimeTypes_setList(void* ptr, void* i); +void* QImageReader___supportedMimeTypes_newList(void* ptr); +void* QImageReader___supportedSubTypes_atList(void* ptr, int i); +void QImageReader___supportedSubTypes_setList(void* ptr, void* i); +void* QImageReader___supportedSubTypes_newList(void* ptr); +void* QImageWriter_NewQImageWriter(); +void* QImageWriter_NewQImageWriter2(void* device, void* format); +void* QImageWriter_NewQImageWriter3(struct QtGui_PackedString fileName, void* format); +char QImageWriter_CanWrite(void* ptr); +int QImageWriter_Compression(void* ptr); +void* QImageWriter_Device(void* ptr); +long long QImageWriter_Error(void* ptr); +struct QtGui_PackedString QImageWriter_ErrorString(void* ptr); +struct QtGui_PackedString QImageWriter_FileName(void* ptr); +void* QImageWriter_Format(void* ptr); +float QImageWriter_Gamma(void* ptr); +struct QtGui_PackedList QImageWriter_QImageWriter_ImageFormatsForMimeType(void* mimeType); +char QImageWriter_OptimizedWrite(void* ptr); +char QImageWriter_ProgressiveScanWrite(void* ptr); +int QImageWriter_Quality(void* ptr); +void QImageWriter_SetCompression(void* ptr, int compression); +void QImageWriter_SetDevice(void* ptr, void* device); +void QImageWriter_SetFileName(void* ptr, struct QtGui_PackedString fileName); +void QImageWriter_SetFormat(void* ptr, void* format); +void QImageWriter_SetGamma(void* ptr, float gamma); +void QImageWriter_SetOptimizedWrite(void* ptr, char optimize); +void QImageWriter_SetProgressiveScanWrite(void* ptr, char progressive); +void QImageWriter_SetQuality(void* ptr, int quality); +void QImageWriter_SetSubType(void* ptr, void* ty); +void QImageWriter_SetText(void* ptr, struct QtGui_PackedString key, struct QtGui_PackedString text); +void QImageWriter_SetTransformation(void* ptr, long long transform); +void* QImageWriter_SubType(void* ptr); +struct QtGui_PackedList QImageWriter_QImageWriter_SupportedImageFormats(); +struct QtGui_PackedList QImageWriter_QImageWriter_SupportedMimeTypes(); +struct QtGui_PackedList QImageWriter_SupportedSubTypes(void* ptr); +char QImageWriter_SupportsOption(void* ptr, long long option); +long long QImageWriter_Transformation(void* ptr); +char QImageWriter_Write(void* ptr, void* image); +void QImageWriter_DestroyQImageWriter(void* ptr); +void* QImageWriter___imageFormatsForMimeType_atList(void* ptr, int i); +void QImageWriter___imageFormatsForMimeType_setList(void* ptr, void* i); +void* QImageWriter___imageFormatsForMimeType_newList(void* ptr); +void* QImageWriter___supportedImageFormats_atList(void* ptr, int i); +void QImageWriter___supportedImageFormats_setList(void* ptr, void* i); +void* QImageWriter___supportedImageFormats_newList(void* ptr); +void* QImageWriter___supportedMimeTypes_atList(void* ptr, int i); +void QImageWriter___supportedMimeTypes_setList(void* ptr, void* i); +void* QImageWriter___supportedMimeTypes_newList(void* ptr); +void* QImageWriter___supportedSubTypes_atList(void* ptr, int i); +void QImageWriter___supportedSubTypes_setList(void* ptr, void* i); +void* QImageWriter___supportedSubTypes_newList(void* ptr); +long long QInputEvent_Modifiers(void* ptr); +unsigned long QInputEvent_Timestamp(void* ptr); +void* QInputMethod_AnchorRectangle(void* ptr); +void QInputMethod_ConnectAnchorRectangleChanged(void* ptr, long long t); +void QInputMethod_DisconnectAnchorRectangleChanged(void* ptr); +void QInputMethod_AnchorRectangleChanged(void* ptr); +void QInputMethod_ConnectAnimatingChanged(void* ptr, long long t); +void QInputMethod_DisconnectAnimatingChanged(void* ptr); +void QInputMethod_AnimatingChanged(void* ptr); +void QInputMethod_Commit(void* ptr); +void QInputMethod_CommitDefault(void* ptr); +void* QInputMethod_CursorRectangle(void* ptr); +void QInputMethod_ConnectCursorRectangleChanged(void* ptr, long long t); +void QInputMethod_DisconnectCursorRectangleChanged(void* ptr); +void QInputMethod_CursorRectangleChanged(void* ptr); +void QInputMethod_Hide(void* ptr); +void QInputMethod_HideDefault(void* ptr); +long long QInputMethod_InputDirection(void* ptr); +void QInputMethod_ConnectInputDirectionChanged(void* ptr, long long t); +void QInputMethod_DisconnectInputDirectionChanged(void* ptr); +void QInputMethod_InputDirectionChanged(void* ptr, long long newDirection); +void* QInputMethod_InputItemClipRectangle(void* ptr); +void QInputMethod_ConnectInputItemClipRectangleChanged(void* ptr, long long t); +void QInputMethod_DisconnectInputItemClipRectangleChanged(void* ptr); +void QInputMethod_InputItemClipRectangleChanged(void* ptr); +void* QInputMethod_InputItemRectangle(void* ptr); +void* QInputMethod_InputItemTransform(void* ptr); +void QInputMethod_InvokeAction(void* ptr, long long a, int cursorPosition); +void QInputMethod_InvokeActionDefault(void* ptr, long long a, int cursorPosition); +char QInputMethod_IsAnimating(void* ptr); +char QInputMethod_IsVisible(void* ptr); +void* QInputMethod_KeyboardRectangle(void* ptr); +void QInputMethod_ConnectKeyboardRectangleChanged(void* ptr, long long t); +void QInputMethod_DisconnectKeyboardRectangleChanged(void* ptr); +void QInputMethod_KeyboardRectangleChanged(void* ptr); +void* QInputMethod_Locale(void* ptr); +void QInputMethod_ConnectLocaleChanged(void* ptr, long long t); +void QInputMethod_DisconnectLocaleChanged(void* ptr); +void QInputMethod_LocaleChanged(void* ptr); +void* QInputMethod_QInputMethod_QueryFocusObject(long long query, void* argument); +void QInputMethod_Reset(void* ptr); +void QInputMethod_ResetDefault(void* ptr); +void QInputMethod_SetInputItemRectangle(void* ptr, void* rect); +void QInputMethod_SetInputItemTransform(void* ptr, void* transform); +void QInputMethod_SetVisible(void* ptr, char visible); +void QInputMethod_Show(void* ptr); +void QInputMethod_ShowDefault(void* ptr); +void QInputMethod_Update(void* ptr, long long queries); +void QInputMethod_UpdateDefault(void* ptr, long long queries); +void QInputMethod_ConnectVisibleChanged(void* ptr, long long t); +void QInputMethod_DisconnectVisibleChanged(void* ptr); +void QInputMethod_VisibleChanged(void* ptr); +void* QInputMethod___children_atList(void* ptr, int i); +void QInputMethod___children_setList(void* ptr, void* i); +void* QInputMethod___children_newList(void* ptr); +void* QInputMethod___dynamicPropertyNames_atList(void* ptr, int i); +void QInputMethod___dynamicPropertyNames_setList(void* ptr, void* i); +void* QInputMethod___dynamicPropertyNames_newList(void* ptr); +void* QInputMethod___findChildren_atList(void* ptr, int i); +void QInputMethod___findChildren_setList(void* ptr, void* i); +void* QInputMethod___findChildren_newList(void* ptr); +void* QInputMethod___findChildren_atList3(void* ptr, int i); +void QInputMethod___findChildren_setList3(void* ptr, void* i); +void* QInputMethod___findChildren_newList3(void* ptr); +void* QInputMethod___qFindChildren_atList2(void* ptr, int i); +void QInputMethod___qFindChildren_setList2(void* ptr, void* i); +void* QInputMethod___qFindChildren_newList2(void* ptr); +void QInputMethod_ChildEventDefault(void* ptr, void* event); +void QInputMethod_ConnectNotifyDefault(void* ptr, void* sign); +void QInputMethod_CustomEventDefault(void* ptr, void* event); +void QInputMethod_DeleteLaterDefault(void* ptr); +void QInputMethod_DisconnectNotifyDefault(void* ptr, void* sign); +char QInputMethod_EventDefault(void* ptr, void* e); +char QInputMethod_EventFilterDefault(void* ptr, void* watched, void* event); +void* QInputMethod_MetaObjectDefault(void* ptr); +void QInputMethod_TimerEventDefault(void* ptr, void* event); +void* QInputMethodEvent_NewQInputMethodEvent(); +void* QInputMethodEvent_NewQInputMethodEvent3(void* other); +struct QtGui_PackedString QInputMethodEvent_CommitString(void* ptr); +struct QtGui_PackedString QInputMethodEvent_PreeditString(void* ptr); +int QInputMethodEvent_ReplacementLength(void* ptr); +int QInputMethodEvent_ReplacementStart(void* ptr); +void QInputMethodEvent_SetCommitString(void* ptr, struct QtGui_PackedString commitString, int replaceFrom, int replaceLength); +void* QInputMethodEvent___attrs_newList(void* ptr); +void* QInputMethodEvent___setAttrs__newList(void* ptr); +void* QInputMethodQueryEvent_NewQInputMethodQueryEvent(long long queries); +long long QInputMethodQueryEvent_Queries(void* ptr); +void QInputMethodQueryEvent_SetValue(void* ptr, long long query, void* value); +void* QInputMethodQueryEvent_Value(void* ptr, long long query); +void* QInputMethodQueryEvent___m_values_newList(void* ptr); +void* QInputMethodQueryEvent___setM_values__newList(void* ptr); +void* QIntValidator_NewQIntValidator(void* parent); +void* QIntValidator_NewQIntValidator2(int minimum, int maximum, void* parent); +int QIntValidator_Bottom(void* ptr); +void QIntValidator_ConnectBottomChanged(void* ptr, long long t); +void QIntValidator_DisconnectBottomChanged(void* ptr); +void QIntValidator_BottomChanged(void* ptr, int bottom); +void QIntValidator_SetBottom(void* ptr, int vin); +void QIntValidator_SetRange(void* ptr, int bottom, int top); +void QIntValidator_SetRangeDefault(void* ptr, int bottom, int top); +void QIntValidator_SetTop(void* ptr, int vin); +int QIntValidator_Top(void* ptr); +void QIntValidator_ConnectTopChanged(void* ptr, long long t); +void QIntValidator_DisconnectTopChanged(void* ptr); +void QIntValidator_TopChanged(void* ptr, int top); +long long QIntValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos); +long long QIntValidator_ValidateDefault(void* ptr, struct QtGui_PackedString input, int pos); +void QIntValidator_DestroyQIntValidator(void* ptr); +void QIntValidator_DestroyQIntValidatorDefault(void* ptr); +void* QKeyEvent_NewQKeyEvent(long long ty, int key, long long modifiers, struct QtGui_PackedString text, char autorep, unsigned short count); +void* QKeyEvent_NewQKeyEvent2(long long ty, int key, long long modifiers, unsigned int nativeScanCode, unsigned int nativeVirtualKey, unsigned int nativeModifiers, struct QtGui_PackedString text, char autorep, unsigned short count); +int QKeyEvent_Count(void* ptr); +char QKeyEvent_IsAutoRepeat(void* ptr); +int QKeyEvent_Key(void* ptr); +char QKeyEvent_Matches(void* ptr, long long key); +unsigned int QKeyEvent_NativeModifiers(void* ptr); +unsigned int QKeyEvent_NativeScanCode(void* ptr); +unsigned int QKeyEvent_NativeVirtualKey(void* ptr); +struct QtGui_PackedString QKeyEvent_Text(void* ptr); +void* QKeySequence_NewQKeySequence(); +void* QKeySequence_NewQKeySequence2(struct QtGui_PackedString key, long long format); +void* QKeySequence_NewQKeySequence3(int k1, int k2, int k3, int k4); +void* QKeySequence_NewQKeySequence4(void* keysequence); +void* QKeySequence_NewQKeySequence5(long long key); +int QKeySequence_Count(void* ptr); +void* QKeySequence_QKeySequence_FromString(struct QtGui_PackedString str, long long format); +char QKeySequence_IsEmpty(void* ptr); +struct QtGui_PackedList QKeySequence_QKeySequence_KeyBindings(long long key); +struct QtGui_PackedList QKeySequence_QKeySequence_ListFromString(struct QtGui_PackedString str, long long format); +struct QtGui_PackedString QKeySequence_QKeySequence_ListToString(void* list, long long format); +long long QKeySequence_Matches(void* ptr, void* seq); +void* QKeySequence_QKeySequence_Mnemonic(struct QtGui_PackedString text); +void QKeySequence_Swap(void* ptr, void* other); +struct QtGui_PackedString QKeySequence_ToString(void* ptr, long long format); +void QKeySequence_DestroyQKeySequence(void* ptr); +void* QKeySequence___keyBindings_atList(void* ptr, int i); +void QKeySequence___keyBindings_setList(void* ptr, void* i); +void* QKeySequence___keyBindings_newList(void* ptr); +void* QKeySequence___listFromString_atList(void* ptr, int i); +void QKeySequence___listFromString_setList(void* ptr, void* i); +void* QKeySequence___listFromString_newList(void* ptr); +void* QKeySequence___listToString_list_atList(void* ptr, int i); +void QKeySequence___listToString_list_setList(void* ptr, void* i); +void* QKeySequence___listToString_list_newList(void* ptr); +void* QLinearGradient_NewQLinearGradient(); +void* QLinearGradient_NewQLinearGradient2(void* start, void* finalStop); +void* QLinearGradient_NewQLinearGradient3(double x1, double y1, double x2, double y2); +void* QLinearGradient_FinalStop(void* ptr); +void QLinearGradient_SetFinalStop(void* ptr, void* stop); +void QLinearGradient_SetFinalStop2(void* ptr, double x, double y); +void QLinearGradient_SetStart(void* ptr, void* start); +void QLinearGradient_SetStart2(void* ptr, double x, double y); +void* QLinearGradient_Start(void* ptr); +void* QMatrix_NewQMatrix2(); +void* QMatrix_NewQMatrix3(double m11, double m12, double m21, double m22, double dx, double dy); +void* QMatrix_NewQMatrix5(void* matrix); +double QMatrix_Determinant(void* ptr); +double QMatrix_Dx(void* ptr); +double QMatrix_Dy(void* ptr); +void* QMatrix_Inverted(void* ptr, char* invertible); +char QMatrix_IsIdentity(void* ptr); +char QMatrix_IsInvertible(void* ptr); +double QMatrix_M11(void* ptr); +double QMatrix_M12(void* ptr); +double QMatrix_M21(void* ptr); +double QMatrix_M22(void* ptr); +void QMatrix_Map(void* ptr, double x, double y, double tx, double ty); +void QMatrix_Map2(void* ptr, int x, int y, int tx, int ty); +void* QMatrix_Map3(void* ptr, void* point); +void* QMatrix_Map4(void* ptr, void* point); +void* QMatrix_Map5(void* ptr, void* line); +void* QMatrix_Map6(void* ptr, void* line); +void* QMatrix_Map7(void* ptr, void* polygon); +void* QMatrix_Map8(void* ptr, void* polygon); +void* QMatrix_Map9(void* ptr, void* region); +void* QMatrix_Map10(void* ptr, void* path); +void* QMatrix_MapRect(void* ptr, void* rectangle); +void* QMatrix_MapRect2(void* ptr, void* rectangle); +void* QMatrix_MapToPolygon(void* ptr, void* rectangle); +void QMatrix_Reset(void* ptr); +void* QMatrix_Rotate(void* ptr, double degrees); +void* QMatrix_Scale(void* ptr, double sx, double sy); +void QMatrix_SetMatrix(void* ptr, double m11, double m12, double m21, double m22, double dx, double dy); +void* QMatrix_Shear(void* ptr, double sh, double sv); +void* QMatrix_Translate(void* ptr, double dx, double dy); +void* QMatrix4x4_NewQMatrix4x4(); +void* QMatrix4x4_NewQMatrix4x43(float values); +void* QMatrix4x4_NewQMatrix4x44(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44); +void* QMatrix4x4_NewQMatrix4x46(void* matrix); +void* QMatrix4x4_Column(void* ptr, int index); +float QMatrix4x4_ConstData(void* ptr); +void QMatrix4x4_CopyDataTo(void* ptr, float values); +float QMatrix4x4_Data(void* ptr); +float QMatrix4x4_Data2(void* ptr); +double QMatrix4x4_Determinant(void* ptr); +void QMatrix4x4_Fill(void* ptr, float value); +void QMatrix4x4_Frustum(void* ptr, float left, float right, float bottom, float top, float nearPlane, float farPlane); +void* QMatrix4x4_Inverted(void* ptr, char* invertible); +char QMatrix4x4_IsAffine(void* ptr); +char QMatrix4x4_IsIdentity(void* ptr); +void QMatrix4x4_LookAt(void* ptr, void* eye, void* center, void* up); +void* QMatrix4x4_Map(void* ptr, void* point); +void* QMatrix4x4_Map2(void* ptr, void* point); +void* QMatrix4x4_Map3(void* ptr, void* point); +void* QMatrix4x4_Map4(void* ptr, void* point); +void* QMatrix4x4_MapRect(void* ptr, void* rect); +void* QMatrix4x4_MapRect2(void* ptr, void* rect); +void* QMatrix4x4_MapVector(void* ptr, void* vector); +void QMatrix4x4_Optimize(void* ptr); +void QMatrix4x4_Ortho(void* ptr, float left, float right, float bottom, float top, float nearPlane, float farPlane); +void QMatrix4x4_Ortho2(void* ptr, void* rect); +void QMatrix4x4_Ortho3(void* ptr, void* rect); +void QMatrix4x4_Perspective(void* ptr, float verticalAngle, float aspectRatio, float nearPlane, float farPlane); +void QMatrix4x4_Rotate(void* ptr, float angle, void* vector); +void QMatrix4x4_Rotate2(void* ptr, float angle, float x, float y, float z); +void QMatrix4x4_Rotate3(void* ptr, void* quaternion); +void* QMatrix4x4_Row(void* ptr, int index); +void QMatrix4x4_Scale(void* ptr, void* vector); +void QMatrix4x4_Scale2(void* ptr, float x, float y); +void QMatrix4x4_Scale3(void* ptr, float x, float y, float z); +void QMatrix4x4_Scale4(void* ptr, float factor); +void QMatrix4x4_SetColumn(void* ptr, int index, void* value); +void QMatrix4x4_SetRow(void* ptr, int index, void* value); +void QMatrix4x4_SetToIdentity(void* ptr); +void* QMatrix4x4_ToAffine(void* ptr); +void* QMatrix4x4_ToTransform(void* ptr); +void* QMatrix4x4_ToTransform2(void* ptr, float distanceToPlane); +void QMatrix4x4_Translate(void* ptr, void* vector); +void QMatrix4x4_Translate2(void* ptr, float x, float y); +void QMatrix4x4_Translate3(void* ptr, float x, float y, float z); +void* QMatrix4x4_Transposed(void* ptr); +void QMatrix4x4_Viewport(void* ptr, float left, float bottom, float width, float height, float nearPlane, float farPlane); +void QMatrix4x4_Viewport2(void* ptr, void* rect); +void* QMouseEvent_NewQMouseEvent(long long ty, void* localPos, long long button, long long buttons, long long modifiers); +void* QMouseEvent_NewQMouseEvent2(long long ty, void* localPos, void* screenPos, long long button, long long buttons, long long modifiers); +void* QMouseEvent_NewQMouseEvent3(long long ty, void* localPos, void* windowPos, void* screenPos, long long button, long long buttons, long long modifiers); +void* QMouseEvent_NewQMouseEvent4(long long ty, void* localPos, void* windowPos, void* screenPos, long long button, long long buttons, long long modifiers, long long source); +long long QMouseEvent_Button(void* ptr); +long long QMouseEvent_Buttons(void* ptr); +long long QMouseEvent_Flags(void* ptr); +void* QMouseEvent_GlobalPos(void* ptr); +int QMouseEvent_GlobalX(void* ptr); +int QMouseEvent_GlobalY(void* ptr); +void* QMouseEvent_LocalPos(void* ptr); +void* QMouseEvent_Pos(void* ptr); +void* QMouseEvent_ScreenPos(void* ptr); +long long QMouseEvent_Source(void* ptr); +void* QMouseEvent_WindowPos(void* ptr); +int QMouseEvent_X(void* ptr); +int QMouseEvent_Y(void* ptr); +void* QMoveEvent_NewQMoveEvent(void* pos, void* oldPos); +void* QMoveEvent_OldPos(void* ptr); +void* QMoveEvent_Pos(void* ptr); +void* QMovie_NewQMovie(void* parent); +void* QMovie_NewQMovie2(void* device, void* format, void* parent); +void* QMovie_NewQMovie3(struct QtGui_PackedString fileName, void* format, void* parent); +void* QMovie_BackgroundColor(void* ptr); +long long QMovie_CacheMode(void* ptr); +int QMovie_CurrentFrameNumber(void* ptr); +void* QMovie_CurrentImage(void* ptr); +void* QMovie_CurrentPixmap(void* ptr); +void* QMovie_Device(void* ptr); +void QMovie_ConnectError(void* ptr, long long t); +void QMovie_DisconnectError(void* ptr); +void QMovie_Error(void* ptr, long long error); +struct QtGui_PackedString QMovie_FileName(void* ptr); +void QMovie_ConnectFinished(void* ptr, long long t); +void QMovie_DisconnectFinished(void* ptr); +void QMovie_Finished(void* ptr); +void* QMovie_Format(void* ptr); +void QMovie_ConnectFrameChanged(void* ptr, long long t); +void QMovie_DisconnectFrameChanged(void* ptr); +void QMovie_FrameChanged(void* ptr, int frameNumber); +int QMovie_FrameCount(void* ptr); +void* QMovie_FrameRect(void* ptr); +char QMovie_IsValid(void* ptr); +char QMovie_JumpToFrame(void* ptr, int frameNumber); +char QMovie_JumpToNextFrame(void* ptr); +char QMovie_JumpToNextFrameDefault(void* ptr); +long long QMovie_LastError(void* ptr); +struct QtGui_PackedString QMovie_LastErrorString(void* ptr); +int QMovie_LoopCount(void* ptr); +int QMovie_NextFrameDelay(void* ptr); +void QMovie_ConnectResized(void* ptr, long long t); +void QMovie_DisconnectResized(void* ptr); +void QMovie_Resized(void* ptr, void* size); +void* QMovie_ScaledSize(void* ptr); +void QMovie_SetBackgroundColor(void* ptr, void* color); +void QMovie_SetCacheMode(void* ptr, long long mode); +void QMovie_SetDevice(void* ptr, void* device); +void QMovie_SetFileName(void* ptr, struct QtGui_PackedString fileName); +void QMovie_SetFormat(void* ptr, void* format); +void QMovie_SetPaused(void* ptr, char paused); +void QMovie_SetPausedDefault(void* ptr, char paused); +void QMovie_SetScaledSize(void* ptr, void* size); +void QMovie_SetSpeed(void* ptr, int percentSpeed); +void QMovie_SetSpeedDefault(void* ptr, int percentSpeed); +int QMovie_Speed(void* ptr); +void QMovie_Start(void* ptr); +void QMovie_StartDefault(void* ptr); +void QMovie_ConnectStarted(void* ptr, long long t); +void QMovie_DisconnectStarted(void* ptr); +void QMovie_Started(void* ptr); +long long QMovie_State(void* ptr); +void QMovie_ConnectStateChanged(void* ptr, long long t); +void QMovie_DisconnectStateChanged(void* ptr); +void QMovie_StateChanged(void* ptr, long long state); +void QMovie_Stop(void* ptr); +void QMovie_StopDefault(void* ptr); +struct QtGui_PackedList QMovie_QMovie_SupportedFormats(); +void QMovie_ConnectUpdated(void* ptr, long long t); +void QMovie_DisconnectUpdated(void* ptr); +void QMovie_Updated(void* ptr, void* rect); +void QMovie_DestroyQMovie(void* ptr); +void QMovie_DestroyQMovieDefault(void* ptr); +void* QMovie___supportedFormats_atList(void* ptr, int i); +void QMovie___supportedFormats_setList(void* ptr, void* i); +void* QMovie___supportedFormats_newList(void* ptr); +void* QMovie___children_atList(void* ptr, int i); +void QMovie___children_setList(void* ptr, void* i); +void* QMovie___children_newList(void* ptr); +void* QMovie___dynamicPropertyNames_atList(void* ptr, int i); +void QMovie___dynamicPropertyNames_setList(void* ptr, void* i); +void* QMovie___dynamicPropertyNames_newList(void* ptr); +void* QMovie___findChildren_atList(void* ptr, int i); +void QMovie___findChildren_setList(void* ptr, void* i); +void* QMovie___findChildren_newList(void* ptr); +void* QMovie___findChildren_atList3(void* ptr, int i); +void QMovie___findChildren_setList3(void* ptr, void* i); +void* QMovie___findChildren_newList3(void* ptr); +void* QMovie___qFindChildren_atList2(void* ptr, int i); +void QMovie___qFindChildren_setList2(void* ptr, void* i); +void* QMovie___qFindChildren_newList2(void* ptr); +void QMovie_ChildEventDefault(void* ptr, void* event); +void QMovie_ConnectNotifyDefault(void* ptr, void* sign); +void QMovie_CustomEventDefault(void* ptr, void* event); +void QMovie_DeleteLaterDefault(void* ptr); +void QMovie_DisconnectNotifyDefault(void* ptr, void* sign); +char QMovie_EventDefault(void* ptr, void* e); +char QMovie_EventFilterDefault(void* ptr, void* watched, void* event); +void* QMovie_MetaObjectDefault(void* ptr); +void QMovie_TimerEventDefault(void* ptr, void* event); +void* QNativeGestureEvent_NewQNativeGestureEvent2(long long ty, void* device, void* localPos, void* windowPos, void* screenPos, double realValue, unsigned long sequenceId, unsigned long long intValue); +void* QNativeGestureEvent_Device(void* ptr); +long long QNativeGestureEvent_GestureType(void* ptr); +void* QNativeGestureEvent_GlobalPos(void* ptr); +void* QNativeGestureEvent_LocalPos(void* ptr); +void* QNativeGestureEvent_Pos(void* ptr); +void* QNativeGestureEvent_ScreenPos(void* ptr); +double QNativeGestureEvent_Value(void* ptr); +void* QNativeGestureEvent_WindowPos(void* ptr); +void* QOffscreenSurface_NewQOffscreenSurface(void* targetScreen, void* parent); +void* QOffscreenSurface_NewQOffscreenSurface2(void* targetScreen); +void QOffscreenSurface_Create(void* ptr); +void QOffscreenSurface_Destroy(void* ptr); +void* QOffscreenSurface_Format(void* ptr); +void* QOffscreenSurface_FormatDefault(void* ptr); +char QOffscreenSurface_IsValid(void* ptr); +void* QOffscreenSurface_NativeHandle(void* ptr); +void* QOffscreenSurface_RequestedFormat(void* ptr); +void* QOffscreenSurface_Screen(void* ptr); +void QOffscreenSurface_ConnectScreenChanged(void* ptr, long long t); +void QOffscreenSurface_DisconnectScreenChanged(void* ptr); +void QOffscreenSurface_ScreenChanged(void* ptr, void* screen); +void QOffscreenSurface_SetFormat(void* ptr, void* format); +void QOffscreenSurface_SetNativeHandle(void* ptr, void* handle); +void QOffscreenSurface_SetScreen(void* ptr, void* newScreen); +void* QOffscreenSurface_Size(void* ptr); +void* QOffscreenSurface_SizeDefault(void* ptr); +long long QOffscreenSurface_SurfaceType(void* ptr); +long long QOffscreenSurface_SurfaceTypeDefault(void* ptr); +void QOffscreenSurface_DestroyQOffscreenSurface(void* ptr); +void QOffscreenSurface_DestroyQOffscreenSurfaceDefault(void* ptr); +void* QOffscreenSurface___children_atList(void* ptr, int i); +void QOffscreenSurface___children_setList(void* ptr, void* i); +void* QOffscreenSurface___children_newList(void* ptr); +void* QOffscreenSurface___dynamicPropertyNames_atList(void* ptr, int i); +void QOffscreenSurface___dynamicPropertyNames_setList(void* ptr, void* i); +void* QOffscreenSurface___dynamicPropertyNames_newList(void* ptr); +void* QOffscreenSurface___findChildren_atList(void* ptr, int i); +void QOffscreenSurface___findChildren_setList(void* ptr, void* i); +void* QOffscreenSurface___findChildren_newList(void* ptr); +void* QOffscreenSurface___findChildren_atList3(void* ptr, int i); +void QOffscreenSurface___findChildren_setList3(void* ptr, void* i); +void* QOffscreenSurface___findChildren_newList3(void* ptr); +void* QOffscreenSurface___qFindChildren_atList2(void* ptr, int i); +void QOffscreenSurface___qFindChildren_setList2(void* ptr, void* i); +void* QOffscreenSurface___qFindChildren_newList2(void* ptr); +void QOffscreenSurface_ChildEvent(void* ptr, void* event); +void QOffscreenSurface_ChildEventDefault(void* ptr, void* event); +void QOffscreenSurface_ConnectNotify(void* ptr, void* sign); +void QOffscreenSurface_ConnectNotifyDefault(void* ptr, void* sign); +void QOffscreenSurface_CustomEvent(void* ptr, void* event); +void QOffscreenSurface_CustomEventDefault(void* ptr, void* event); +void QOffscreenSurface_DeleteLater(void* ptr); +void QOffscreenSurface_DeleteLaterDefault(void* ptr); +void QOffscreenSurface_DisconnectNotify(void* ptr, void* sign); +void QOffscreenSurface_DisconnectNotifyDefault(void* ptr, void* sign); +char QOffscreenSurface_Event(void* ptr, void* e); +char QOffscreenSurface_EventDefault(void* ptr, void* e); +char QOffscreenSurface_EventFilter(void* ptr, void* watched, void* event); +char QOffscreenSurface_EventFilterDefault(void* ptr, void* watched, void* event); +void* QOffscreenSurface_MetaObject(void* ptr); +void* QOffscreenSurface_MetaObjectDefault(void* ptr); +void QOffscreenSurface_TimerEvent(void* ptr, void* event); +void QOffscreenSurface_TimerEventDefault(void* ptr, void* event); +void* QOpenGLBuffer_NewQOpenGLBuffer(); +void* QOpenGLBuffer_NewQOpenGLBuffer2(long long ty); +void* QOpenGLBuffer_NewQOpenGLBuffer3(void* other); +void QOpenGLBuffer_Allocate(void* ptr, void* data, int count); +void QOpenGLBuffer_Allocate2(void* ptr, int count); +char QOpenGLBuffer_Bind(void* ptr); +unsigned int QOpenGLBuffer_BufferId(void* ptr); +char QOpenGLBuffer_Create(void* ptr); +void QOpenGLBuffer_Destroy(void* ptr); +char QOpenGLBuffer_IsCreated(void* ptr); +void* QOpenGLBuffer_Map(void* ptr, long long access); +void* QOpenGLBuffer_MapRange(void* ptr, int offset, int count, long long access); +char QOpenGLBuffer_Read(void* ptr, int offset, void* data, int count); +void QOpenGLBuffer_Release(void* ptr); +void QOpenGLBuffer_QOpenGLBuffer_Release2(long long ty); +void QOpenGLBuffer_SetUsagePattern(void* ptr, long long value); +int QOpenGLBuffer_Size(void* ptr); +long long QOpenGLBuffer_Type(void* ptr); +char QOpenGLBuffer_Unmap(void* ptr); +long long QOpenGLBuffer_UsagePattern(void* ptr); +void QOpenGLBuffer_Write(void* ptr, int offset, void* data, int count); +void QOpenGLBuffer_DestroyQOpenGLBuffer(void* ptr); +void* QOpenGLContext_NewQOpenGLContext(void* parent); +void QOpenGLContext_ConnectAboutToBeDestroyed(void* ptr, long long t); +void QOpenGLContext_DisconnectAboutToBeDestroyed(void* ptr); +void QOpenGLContext_AboutToBeDestroyed(void* ptr); +char QOpenGLContext_QOpenGLContext_AreSharing(void* first, void* second); +char QOpenGLContext_Create(void* ptr); +void* QOpenGLContext_QOpenGLContext_CurrentContext(); +unsigned int QOpenGLContext_DefaultFramebufferObject(void* ptr); +void QOpenGLContext_DoneCurrent(void* ptr); +void* QOpenGLContext_ExtraFunctions(void* ptr); +void* QOpenGLContext_Format(void* ptr); +void* QOpenGLContext_Functions(void* ptr); +void* QOpenGLContext_QOpenGLContext_GlobalShareContext(); +char QOpenGLContext_HasExtension(void* ptr, void* extension); +char QOpenGLContext_IsOpenGLES(void* ptr); +char QOpenGLContext_IsValid(void* ptr); +char QOpenGLContext_MakeCurrent(void* ptr, void* surface); +void* QOpenGLContext_NativeHandle(void* ptr); +void* QOpenGLContext_QOpenGLContext_OpenGLModuleHandle(); +long long QOpenGLContext_QOpenGLContext_OpenGLModuleType(); +void* QOpenGLContext_Screen(void* ptr); +void QOpenGLContext_SetFormat(void* ptr, void* format); +void QOpenGLContext_SetNativeHandle(void* ptr, void* handle); +void QOpenGLContext_SetScreen(void* ptr, void* screen); +void QOpenGLContext_SetShareContext(void* ptr, void* shareContext); +void* QOpenGLContext_ShareContext(void* ptr); +void* QOpenGLContext_ShareGroup(void* ptr); +char QOpenGLContext_QOpenGLContext_SupportsThreadedOpenGL(); +void* QOpenGLContext_Surface(void* ptr); +void QOpenGLContext_SwapBuffers(void* ptr, void* surface); +void* QOpenGLContext_VersionFunctions(void* ptr, void* versionProfile); +void QOpenGLContext_DestroyQOpenGLContext(void* ptr); +void QOpenGLContext_DestroyQOpenGLContextDefault(void* ptr); +void* QOpenGLContext___children_atList(void* ptr, int i); +void QOpenGLContext___children_setList(void* ptr, void* i); +void* QOpenGLContext___children_newList(void* ptr); +void* QOpenGLContext___dynamicPropertyNames_atList(void* ptr, int i); +void QOpenGLContext___dynamicPropertyNames_setList(void* ptr, void* i); +void* QOpenGLContext___dynamicPropertyNames_newList(void* ptr); +void* QOpenGLContext___findChildren_atList(void* ptr, int i); +void QOpenGLContext___findChildren_setList(void* ptr, void* i); +void* QOpenGLContext___findChildren_newList(void* ptr); +void* QOpenGLContext___findChildren_atList3(void* ptr, int i); +void QOpenGLContext___findChildren_setList3(void* ptr, void* i); +void* QOpenGLContext___findChildren_newList3(void* ptr); +void* QOpenGLContext___qFindChildren_atList2(void* ptr, int i); +void QOpenGLContext___qFindChildren_setList2(void* ptr, void* i); +void* QOpenGLContext___qFindChildren_newList2(void* ptr); +void QOpenGLContext_ChildEventDefault(void* ptr, void* event); +void QOpenGLContext_ConnectNotifyDefault(void* ptr, void* sign); +void QOpenGLContext_CustomEventDefault(void* ptr, void* event); +void QOpenGLContext_DeleteLaterDefault(void* ptr); +void QOpenGLContext_DisconnectNotifyDefault(void* ptr, void* sign); +char QOpenGLContext_EventDefault(void* ptr, void* e); +char QOpenGLContext_EventFilterDefault(void* ptr, void* watched, void* event); +void* QOpenGLContext_MetaObjectDefault(void* ptr); +void QOpenGLContext_TimerEventDefault(void* ptr, void* event); +void* QOpenGLContextGroup_QOpenGLContextGroup_CurrentContextGroup(); +struct QtGui_PackedList QOpenGLContextGroup_Shares(void* ptr); +void* QOpenGLContextGroup___shares_atList(void* ptr, int i); +void QOpenGLContextGroup___shares_setList(void* ptr, void* i); +void* QOpenGLContextGroup___shares_newList(void* ptr); +void* QOpenGLContextGroup___children_atList(void* ptr, int i); +void QOpenGLContextGroup___children_setList(void* ptr, void* i); +void* QOpenGLContextGroup___children_newList(void* ptr); +void* QOpenGLContextGroup___dynamicPropertyNames_atList(void* ptr, int i); +void QOpenGLContextGroup___dynamicPropertyNames_setList(void* ptr, void* i); +void* QOpenGLContextGroup___dynamicPropertyNames_newList(void* ptr); +void* QOpenGLContextGroup___findChildren_atList(void* ptr, int i); +void QOpenGLContextGroup___findChildren_setList(void* ptr, void* i); +void* QOpenGLContextGroup___findChildren_newList(void* ptr); +void* QOpenGLContextGroup___findChildren_atList3(void* ptr, int i); +void QOpenGLContextGroup___findChildren_setList3(void* ptr, void* i); +void* QOpenGLContextGroup___findChildren_newList3(void* ptr); +void* QOpenGLContextGroup___qFindChildren_atList2(void* ptr, int i); +void QOpenGLContextGroup___qFindChildren_setList2(void* ptr, void* i); +void* QOpenGLContextGroup___qFindChildren_newList2(void* ptr); +void QOpenGLContextGroup_ChildEventDefault(void* ptr, void* event); +void QOpenGLContextGroup_ConnectNotifyDefault(void* ptr, void* sign); +void QOpenGLContextGroup_CustomEventDefault(void* ptr, void* event); +void QOpenGLContextGroup_DeleteLaterDefault(void* ptr); +void QOpenGLContextGroup_DisconnectNotifyDefault(void* ptr, void* sign); +char QOpenGLContextGroup_EventDefault(void* ptr, void* e); +char QOpenGLContextGroup_EventFilterDefault(void* ptr, void* watched, void* event); +void* QOpenGLContextGroup_MetaObjectDefault(void* ptr); +void QOpenGLContextGroup_TimerEventDefault(void* ptr, void* event); +void* QOpenGLDebugLogger_NewQOpenGLDebugLogger(void* parent); +void QOpenGLDebugLogger_DisableMessages(void* ptr, long long sources, long long types, long long severities); +void QOpenGLDebugLogger_DisableMessages2(void* ptr, void* ids, long long sources, long long types); +void QOpenGLDebugLogger_EnableMessages(void* ptr, long long sources, long long types, long long severities); +void QOpenGLDebugLogger_EnableMessages2(void* ptr, void* ids, long long sources, long long types); +char QOpenGLDebugLogger_Initialize(void* ptr); +char QOpenGLDebugLogger_IsLogging(void* ptr); +void QOpenGLDebugLogger_LogMessage(void* ptr, void* debugMessage); +void QOpenGLDebugLogger_LogMessageDefault(void* ptr, void* debugMessage); +struct QtGui_PackedList QOpenGLDebugLogger_LoggedMessages(void* ptr); +long long QOpenGLDebugLogger_LoggingMode(void* ptr); +long long QOpenGLDebugLogger_MaximumMessageLength(void* ptr); +void QOpenGLDebugLogger_ConnectMessageLogged(void* ptr, long long t); +void QOpenGLDebugLogger_DisconnectMessageLogged(void* ptr); +void QOpenGLDebugLogger_MessageLogged(void* ptr, void* debugMessage); +void QOpenGLDebugLogger_PopGroup(void* ptr); +void QOpenGLDebugLogger_PushGroup(void* ptr, struct QtGui_PackedString name, unsigned int id, long long source); +void QOpenGLDebugLogger_StartLogging(void* ptr, long long loggingMode); +void QOpenGLDebugLogger_StartLoggingDefault(void* ptr, long long loggingMode); +void QOpenGLDebugLogger_StopLogging(void* ptr); +void QOpenGLDebugLogger_StopLoggingDefault(void* ptr); +void QOpenGLDebugLogger_DestroyQOpenGLDebugLogger(void* ptr); +void QOpenGLDebugLogger_DestroyQOpenGLDebugLoggerDefault(void* ptr); +unsigned int QOpenGLDebugLogger___disableMessages_ids_atList2(void* ptr, int i); +void QOpenGLDebugLogger___disableMessages_ids_setList2(void* ptr, unsigned int i); +void* QOpenGLDebugLogger___disableMessages_ids_newList2(void* ptr); +unsigned int QOpenGLDebugLogger___enableMessages_ids_atList2(void* ptr, int i); +void QOpenGLDebugLogger___enableMessages_ids_setList2(void* ptr, unsigned int i); +void* QOpenGLDebugLogger___enableMessages_ids_newList2(void* ptr); +void* QOpenGLDebugLogger___loggedMessages_atList(void* ptr, int i); +void QOpenGLDebugLogger___loggedMessages_setList(void* ptr, void* i); +void* QOpenGLDebugLogger___loggedMessages_newList(void* ptr); +void* QOpenGLDebugLogger___children_atList(void* ptr, int i); +void QOpenGLDebugLogger___children_setList(void* ptr, void* i); +void* QOpenGLDebugLogger___children_newList(void* ptr); +void* QOpenGLDebugLogger___dynamicPropertyNames_atList(void* ptr, int i); +void QOpenGLDebugLogger___dynamicPropertyNames_setList(void* ptr, void* i); +void* QOpenGLDebugLogger___dynamicPropertyNames_newList(void* ptr); +void* QOpenGLDebugLogger___findChildren_atList(void* ptr, int i); +void QOpenGLDebugLogger___findChildren_setList(void* ptr, void* i); +void* QOpenGLDebugLogger___findChildren_newList(void* ptr); +void* QOpenGLDebugLogger___findChildren_atList3(void* ptr, int i); +void QOpenGLDebugLogger___findChildren_setList3(void* ptr, void* i); +void* QOpenGLDebugLogger___findChildren_newList3(void* ptr); +void* QOpenGLDebugLogger___qFindChildren_atList2(void* ptr, int i); +void QOpenGLDebugLogger___qFindChildren_setList2(void* ptr, void* i); +void* QOpenGLDebugLogger___qFindChildren_newList2(void* ptr); +void QOpenGLDebugLogger_ChildEventDefault(void* ptr, void* event); +void QOpenGLDebugLogger_ConnectNotifyDefault(void* ptr, void* sign); +void QOpenGLDebugLogger_CustomEventDefault(void* ptr, void* event); +void QOpenGLDebugLogger_DeleteLaterDefault(void* ptr); +void QOpenGLDebugLogger_DisconnectNotifyDefault(void* ptr, void* sign); +char QOpenGLDebugLogger_EventDefault(void* ptr, void* e); +char QOpenGLDebugLogger_EventFilterDefault(void* ptr, void* watched, void* event); +void* QOpenGLDebugLogger_MetaObjectDefault(void* ptr); +void QOpenGLDebugLogger_TimerEventDefault(void* ptr, void* event); +void* QOpenGLDebugMessage_NewQOpenGLDebugMessage(); +void* QOpenGLDebugMessage_NewQOpenGLDebugMessage2(void* debugMessage); +void* QOpenGLDebugMessage_QOpenGLDebugMessage_CreateApplicationMessage(struct QtGui_PackedString text, unsigned int id, long long severity, long long ty); +void* QOpenGLDebugMessage_QOpenGLDebugMessage_CreateThirdPartyMessage(struct QtGui_PackedString text, unsigned int id, long long severity, long long ty); +unsigned int QOpenGLDebugMessage_Id(void* ptr); +struct QtGui_PackedString QOpenGLDebugMessage_Message(void* ptr); +long long QOpenGLDebugMessage_Severity(void* ptr); +long long QOpenGLDebugMessage_Source(void* ptr); +void QOpenGLDebugMessage_Swap(void* ptr, void* debugMessage); +long long QOpenGLDebugMessage_Type(void* ptr); +void QOpenGLDebugMessage_DestroyQOpenGLDebugMessage(void* ptr); +void* QOpenGLExtraFunctions_NewQOpenGLExtraFunctions(); +void* QOpenGLExtraFunctions_NewQOpenGLExtraFunctions2(void* context); +void QOpenGLExtraFunctions_GlActiveShaderProgram(void* ptr, unsigned int pipeline, unsigned int program); +void QOpenGLExtraFunctions_GlBeginQuery(void* ptr, unsigned int target, unsigned int id); +void QOpenGLExtraFunctions_GlBeginTransformFeedback(void* ptr, unsigned int primitiveMode); +void QOpenGLExtraFunctions_GlBindBufferBase(void* ptr, unsigned int target, unsigned int index, unsigned int buffer); +void QOpenGLExtraFunctions_GlBindImageTexture(void* ptr, unsigned int unit, unsigned int texture, int level, char layered, int layer, unsigned int access, unsigned int format); +void QOpenGLExtraFunctions_GlBindProgramPipeline(void* ptr, unsigned int pipeline); +void QOpenGLExtraFunctions_GlBindSampler(void* ptr, unsigned int unit, unsigned int sampler); +void QOpenGLExtraFunctions_GlBindTransformFeedback(void* ptr, unsigned int target, unsigned int id); +void QOpenGLExtraFunctions_GlBindVertexArray(void* ptr, unsigned int array); +void QOpenGLExtraFunctions_GlBlendBarrier(void* ptr); +void QOpenGLExtraFunctions_GlBlendEquationSeparatei(void* ptr, unsigned int buf, unsigned int modeRGB, unsigned int modeAlpha); +void QOpenGLExtraFunctions_GlBlendEquationi(void* ptr, unsigned int buf, unsigned int mode); +void QOpenGLExtraFunctions_GlBlendFuncSeparatei(void* ptr, unsigned int buf, unsigned int srcRGB, unsigned int dstRGB, unsigned int srcAlpha, unsigned int dstAlpha); +void QOpenGLExtraFunctions_GlBlendFunci(void* ptr, unsigned int buf, unsigned int src, unsigned int dst); +void QOpenGLExtraFunctions_GlBlitFramebuffer(void* ptr, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, unsigned int mask, unsigned int filter); +void QOpenGLExtraFunctions_GlClearBufferfi(void* ptr, unsigned int buffer, int drawbuffer, float depth, int stencil); +void QOpenGLExtraFunctions_GlClearBufferfv(void* ptr, unsigned int buffer, int drawbuffer, float value); +void QOpenGLExtraFunctions_GlClearBufferiv(void* ptr, unsigned int buffer, int drawbuffer, int value); +void QOpenGLExtraFunctions_GlClearBufferuiv(void* ptr, unsigned int buffer, int drawbuffer, unsigned int value); +void QOpenGLExtraFunctions_GlColorMaski(void* ptr, unsigned int index, char r, char g, char b, char a); +void QOpenGLExtraFunctions_GlCompressedTexImage3D(void* ptr, unsigned int target, int level, unsigned int internalformat, int width, int height, int depth, int border, int imageSize, void* data); +void QOpenGLExtraFunctions_GlCompressedTexSubImage3D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, unsigned int format, int imageSize, void* data); +void QOpenGLExtraFunctions_GlCopyImageSubData(void* ptr, unsigned int srcName, unsigned int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, unsigned int dstName, unsigned int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth); +void QOpenGLExtraFunctions_GlCopyTexSubImage3D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height); +void QOpenGLExtraFunctions_GlDebugMessageControl(void* ptr, unsigned int source, unsigned int ty, unsigned int severity, int count, unsigned int ids, char enabled); +void QOpenGLExtraFunctions_GlDeleteProgramPipelines(void* ptr, int n, unsigned int pipelines); +void QOpenGLExtraFunctions_GlDeleteQueries(void* ptr, int n, unsigned int ids); +void QOpenGLExtraFunctions_GlDeleteSamplers(void* ptr, int count, unsigned int samplers); +void QOpenGLExtraFunctions_GlDeleteTransformFeedbacks(void* ptr, int n, unsigned int ids); +void QOpenGLExtraFunctions_GlDeleteVertexArrays(void* ptr, int n, unsigned int arrays); +void QOpenGLExtraFunctions_GlDisablei(void* ptr, unsigned int target, unsigned int index); +void QOpenGLExtraFunctions_GlDispatchCompute(void* ptr, unsigned int num_groups_x, unsigned int num_groups_y, unsigned int num_groups_z); +void QOpenGLExtraFunctions_GlDrawArraysIndirect(void* ptr, unsigned int mode, void* indirect); +void QOpenGLExtraFunctions_GlDrawArraysInstanced(void* ptr, unsigned int mode, int first, int count, int instancecount); +void QOpenGLExtraFunctions_GlDrawBuffers(void* ptr, int n, unsigned int bufs); +void QOpenGLExtraFunctions_GlDrawElementsBaseVertex(void* ptr, unsigned int mode, int count, unsigned int ty, void* indices, int basevertex); +void QOpenGLExtraFunctions_GlDrawElementsIndirect(void* ptr, unsigned int mode, unsigned int ty, void* indirect); +void QOpenGLExtraFunctions_GlDrawElementsInstanced(void* ptr, unsigned int mode, int count, unsigned int ty, void* indices, int instancecount); +void QOpenGLExtraFunctions_GlDrawElementsInstancedBaseVertex(void* ptr, unsigned int mode, int count, unsigned int ty, void* indices, int instancecount, int basevertex); +void QOpenGLExtraFunctions_GlDrawRangeElements(void* ptr, unsigned int mode, unsigned int start, unsigned int end, int count, unsigned int ty, void* indices); +void QOpenGLExtraFunctions_GlDrawRangeElementsBaseVertex(void* ptr, unsigned int mode, unsigned int start, unsigned int end, int count, unsigned int ty, void* indices, int basevertex); +void QOpenGLExtraFunctions_GlEnablei(void* ptr, unsigned int target, unsigned int index); +void QOpenGLExtraFunctions_GlEndQuery(void* ptr, unsigned int target); +void QOpenGLExtraFunctions_GlEndTransformFeedback(void* ptr); +void QOpenGLExtraFunctions_GlFramebufferParameteri(void* ptr, unsigned int target, unsigned int pname, int param); +void QOpenGLExtraFunctions_GlFramebufferTexture(void* ptr, unsigned int target, unsigned int attachment, unsigned int texture, int level); +void QOpenGLExtraFunctions_GlFramebufferTextureLayer(void* ptr, unsigned int target, unsigned int attachment, unsigned int texture, int level, int layer); +void QOpenGLExtraFunctions_GlGenProgramPipelines(void* ptr, int n, unsigned int pipelines); +void QOpenGLExtraFunctions_GlGenQueries(void* ptr, int n, unsigned int ids); +void QOpenGLExtraFunctions_GlGenSamplers(void* ptr, int count, unsigned int samplers); +void QOpenGLExtraFunctions_GlGenTransformFeedbacks(void* ptr, int n, unsigned int ids); +void QOpenGLExtraFunctions_GlGenVertexArrays(void* ptr, int n, unsigned int arrays); +void QOpenGLExtraFunctions_GlGetActiveUniformBlockiv(void* ptr, unsigned int program, unsigned int uniformBlockIndex, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlGetActiveUniformsiv(void* ptr, unsigned int program, int uniformCount, unsigned int uniformIndices, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlGetBooleani_v(void* ptr, unsigned int target, unsigned int index, char* data); +void QOpenGLExtraFunctions_GlGetBufferPointerv(void* ptr, unsigned int target, unsigned int pname, void* params); +void QOpenGLExtraFunctions_GlGetFramebufferParameteriv(void* ptr, unsigned int target, unsigned int pname, int params); +unsigned int QOpenGLExtraFunctions_GlGetGraphicsResetStatus(void* ptr); +void QOpenGLExtraFunctions_GlGetIntegeri_v(void* ptr, unsigned int target, unsigned int index, int data); +void QOpenGLExtraFunctions_GlGetInternalformativ(void* ptr, unsigned int target, unsigned int internalformat, unsigned int pname, int bufSize, int params); +void QOpenGLExtraFunctions_GlGetMultisamplefv(void* ptr, unsigned int pname, unsigned int index, float val); +void QOpenGLExtraFunctions_GlGetPointerv(void* ptr, unsigned int pname, void* params); +void QOpenGLExtraFunctions_GlGetProgramBinary(void* ptr, unsigned int program, int bufSize, int length, unsigned int binaryFormat, void* binary); +void QOpenGLExtraFunctions_GlGetProgramInterfaceiv(void* ptr, unsigned int program, unsigned int programInterface, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlGetProgramPipelineiv(void* ptr, unsigned int pipeline, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlGetProgramResourceiv(void* ptr, unsigned int program, unsigned int programInterface, unsigned int index, int propCount, unsigned int props, int bufSize, int length, int params); +void QOpenGLExtraFunctions_GlGetQueryObjectuiv(void* ptr, unsigned int id, unsigned int pname, unsigned int params); +void QOpenGLExtraFunctions_GlGetQueryiv(void* ptr, unsigned int target, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlGetSamplerParameterIiv(void* ptr, unsigned int sampler, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlGetSamplerParameterIuiv(void* ptr, unsigned int sampler, unsigned int pname, unsigned int params); +void QOpenGLExtraFunctions_GlGetSamplerParameterfv(void* ptr, unsigned int sampler, unsigned int pname, float params); +void QOpenGLExtraFunctions_GlGetSamplerParameteriv(void* ptr, unsigned int sampler, unsigned int pname, int params); +struct QtGui_PackedString QOpenGLExtraFunctions_GlGetStringi(void* ptr, unsigned int name, unsigned int index); +void QOpenGLExtraFunctions_GlGetTexLevelParameterfv(void* ptr, unsigned int target, int level, unsigned int pname, float params); +void QOpenGLExtraFunctions_GlGetTexLevelParameteriv(void* ptr, unsigned int target, int level, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlGetTexParameterIiv(void* ptr, unsigned int target, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlGetTexParameterIuiv(void* ptr, unsigned int target, unsigned int pname, unsigned int params); +void QOpenGLExtraFunctions_GlGetUniformuiv(void* ptr, unsigned int program, int location, unsigned int params); +void QOpenGLExtraFunctions_GlGetVertexAttribIiv(void* ptr, unsigned int index, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlGetVertexAttribIuiv(void* ptr, unsigned int index, unsigned int pname, unsigned int params); +void QOpenGLExtraFunctions_GlGetnUniformfv(void* ptr, unsigned int program, int location, int bufSize, float params); +void QOpenGLExtraFunctions_GlGetnUniformiv(void* ptr, unsigned int program, int location, int bufSize, int params); +void QOpenGLExtraFunctions_GlGetnUniformuiv(void* ptr, unsigned int program, int location, int bufSize, unsigned int params); +void QOpenGLExtraFunctions_GlInvalidateFramebuffer(void* ptr, unsigned int target, int numAttachments, unsigned int attachments); +void QOpenGLExtraFunctions_GlInvalidateSubFramebuffer(void* ptr, unsigned int target, int numAttachments, unsigned int attachments, int x, int y, int width, int height); +char QOpenGLExtraFunctions_GlIsEnabledi(void* ptr, unsigned int target, unsigned int index); +char QOpenGLExtraFunctions_GlIsProgramPipeline(void* ptr, unsigned int pipeline); +char QOpenGLExtraFunctions_GlIsQuery(void* ptr, unsigned int id); +char QOpenGLExtraFunctions_GlIsSampler(void* ptr, unsigned int sampler); +char QOpenGLExtraFunctions_GlIsTransformFeedback(void* ptr, unsigned int id); +char QOpenGLExtraFunctions_GlIsVertexArray(void* ptr, unsigned int array); +void QOpenGLExtraFunctions_GlMemoryBarrier(void* ptr, unsigned int barriers); +void QOpenGLExtraFunctions_GlMemoryBarrierByRegion(void* ptr, unsigned int barriers); +void QOpenGLExtraFunctions_GlMinSampleShading(void* ptr, float value); +void QOpenGLExtraFunctions_GlPatchParameteri(void* ptr, unsigned int pname, int value); +void QOpenGLExtraFunctions_GlPauseTransformFeedback(void* ptr); +void QOpenGLExtraFunctions_GlPopDebugGroup(void* ptr); +void QOpenGLExtraFunctions_GlPrimitiveBoundingBox(void* ptr, float minX, float minY, float minZ, float minW, float maxX, float maxY, float maxZ, float maxW); +void QOpenGLExtraFunctions_GlProgramBinary(void* ptr, unsigned int program, unsigned int binaryFormat, void* binary, int length); +void QOpenGLExtraFunctions_GlProgramParameteri(void* ptr, unsigned int program, unsigned int pname, int value); +void QOpenGLExtraFunctions_GlProgramUniform1f(void* ptr, unsigned int program, int location, float v0); +void QOpenGLExtraFunctions_GlProgramUniform1fv(void* ptr, unsigned int program, int location, int count, float value); +void QOpenGLExtraFunctions_GlProgramUniform1i(void* ptr, unsigned int program, int location, int v0); +void QOpenGLExtraFunctions_GlProgramUniform1iv(void* ptr, unsigned int program, int location, int count, int value); +void QOpenGLExtraFunctions_GlProgramUniform1ui(void* ptr, unsigned int program, int location, unsigned int v0); +void QOpenGLExtraFunctions_GlProgramUniform1uiv(void* ptr, unsigned int program, int location, int count, unsigned int value); +void QOpenGLExtraFunctions_GlProgramUniform2f(void* ptr, unsigned int program, int location, float v0, float v1); +void QOpenGLExtraFunctions_GlProgramUniform2fv(void* ptr, unsigned int program, int location, int count, float value); +void QOpenGLExtraFunctions_GlProgramUniform2i(void* ptr, unsigned int program, int location, int v0, int v1); +void QOpenGLExtraFunctions_GlProgramUniform2iv(void* ptr, unsigned int program, int location, int count, int value); +void QOpenGLExtraFunctions_GlProgramUniform2ui(void* ptr, unsigned int program, int location, unsigned int v0, unsigned int v1); +void QOpenGLExtraFunctions_GlProgramUniform2uiv(void* ptr, unsigned int program, int location, int count, unsigned int value); +void QOpenGLExtraFunctions_GlProgramUniform3f(void* ptr, unsigned int program, int location, float v0, float v1, float v2); +void QOpenGLExtraFunctions_GlProgramUniform3fv(void* ptr, unsigned int program, int location, int count, float value); +void QOpenGLExtraFunctions_GlProgramUniform3i(void* ptr, unsigned int program, int location, int v0, int v1, int v2); +void QOpenGLExtraFunctions_GlProgramUniform3iv(void* ptr, unsigned int program, int location, int count, int value); +void QOpenGLExtraFunctions_GlProgramUniform3ui(void* ptr, unsigned int program, int location, unsigned int v0, unsigned int v1, unsigned int v2); +void QOpenGLExtraFunctions_GlProgramUniform3uiv(void* ptr, unsigned int program, int location, int count, unsigned int value); +void QOpenGLExtraFunctions_GlProgramUniform4f(void* ptr, unsigned int program, int location, float v0, float v1, float v2, float v3); +void QOpenGLExtraFunctions_GlProgramUniform4fv(void* ptr, unsigned int program, int location, int count, float value); +void QOpenGLExtraFunctions_GlProgramUniform4i(void* ptr, unsigned int program, int location, int v0, int v1, int v2, int v3); +void QOpenGLExtraFunctions_GlProgramUniform4iv(void* ptr, unsigned int program, int location, int count, int value); +void QOpenGLExtraFunctions_GlProgramUniform4ui(void* ptr, unsigned int program, int location, unsigned int v0, unsigned int v1, unsigned int v2, unsigned int v3); +void QOpenGLExtraFunctions_GlProgramUniform4uiv(void* ptr, unsigned int program, int location, int count, unsigned int value); +void QOpenGLExtraFunctions_GlProgramUniformMatrix2fv(void* ptr, unsigned int program, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlProgramUniformMatrix2x3fv(void* ptr, unsigned int program, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlProgramUniformMatrix2x4fv(void* ptr, unsigned int program, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlProgramUniformMatrix3fv(void* ptr, unsigned int program, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlProgramUniformMatrix3x2fv(void* ptr, unsigned int program, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlProgramUniformMatrix3x4fv(void* ptr, unsigned int program, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlProgramUniformMatrix4fv(void* ptr, unsigned int program, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlProgramUniformMatrix4x2fv(void* ptr, unsigned int program, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlProgramUniformMatrix4x3fv(void* ptr, unsigned int program, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlReadBuffer(void* ptr, unsigned int src); +void QOpenGLExtraFunctions_GlReadnPixels(void* ptr, int x, int y, int width, int height, unsigned int format, unsigned int ty, int bufSize, void* data); +void QOpenGLExtraFunctions_GlRenderbufferStorageMultisample(void* ptr, unsigned int target, int samples, unsigned int internalformat, int width, int height); +void QOpenGLExtraFunctions_GlResumeTransformFeedback(void* ptr); +void QOpenGLExtraFunctions_GlSampleMaski(void* ptr, unsigned int maskNumber, unsigned int mask); +void QOpenGLExtraFunctions_GlSamplerParameterIiv(void* ptr, unsigned int sampler, unsigned int pname, int param); +void QOpenGLExtraFunctions_GlSamplerParameterIuiv(void* ptr, unsigned int sampler, unsigned int pname, unsigned int param); +void QOpenGLExtraFunctions_GlSamplerParameterf(void* ptr, unsigned int sampler, unsigned int pname, float param); +void QOpenGLExtraFunctions_GlSamplerParameterfv(void* ptr, unsigned int sampler, unsigned int pname, float param); +void QOpenGLExtraFunctions_GlSamplerParameteri(void* ptr, unsigned int sampler, unsigned int pname, int param); +void QOpenGLExtraFunctions_GlSamplerParameteriv(void* ptr, unsigned int sampler, unsigned int pname, int param); +void QOpenGLExtraFunctions_GlTexBuffer(void* ptr, unsigned int target, unsigned int internalformat, unsigned int buffer); +void QOpenGLExtraFunctions_GlTexImage3D(void* ptr, unsigned int target, int level, int internalformat, int width, int height, int depth, int border, unsigned int format, unsigned int ty, void* pixels); +void QOpenGLExtraFunctions_GlTexParameterIiv(void* ptr, unsigned int target, unsigned int pname, int params); +void QOpenGLExtraFunctions_GlTexParameterIuiv(void* ptr, unsigned int target, unsigned int pname, unsigned int params); +void QOpenGLExtraFunctions_GlTexStorage2D(void* ptr, unsigned int target, int levels, unsigned int internalformat, int width, int height); +void QOpenGLExtraFunctions_GlTexStorage2DMultisample(void* ptr, unsigned int target, int samples, unsigned int internalformat, int width, int height, char fixedsamplelocations); +void QOpenGLExtraFunctions_GlTexStorage3D(void* ptr, unsigned int target, int levels, unsigned int internalformat, int width, int height, int depth); +void QOpenGLExtraFunctions_GlTexStorage3DMultisample(void* ptr, unsigned int target, int samples, unsigned int internalformat, int width, int height, int depth, char fixedsamplelocations); +void QOpenGLExtraFunctions_GlTexSubImage3D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, unsigned int format, unsigned int ty, void* pixels); +void QOpenGLExtraFunctions_GlUniform1ui(void* ptr, int location, unsigned int v0); +void QOpenGLExtraFunctions_GlUniform1uiv(void* ptr, int location, int count, unsigned int value); +void QOpenGLExtraFunctions_GlUniform2ui(void* ptr, int location, unsigned int v0, unsigned int v1); +void QOpenGLExtraFunctions_GlUniform2uiv(void* ptr, int location, int count, unsigned int value); +void QOpenGLExtraFunctions_GlUniform3ui(void* ptr, int location, unsigned int v0, unsigned int v1, unsigned int v2); +void QOpenGLExtraFunctions_GlUniform3uiv(void* ptr, int location, int count, unsigned int value); +void QOpenGLExtraFunctions_GlUniform4ui(void* ptr, int location, unsigned int v0, unsigned int v1, unsigned int v2, unsigned int v3); +void QOpenGLExtraFunctions_GlUniform4uiv(void* ptr, int location, int count, unsigned int value); +void QOpenGLExtraFunctions_GlUniformBlockBinding(void* ptr, unsigned int program, unsigned int uniformBlockIndex, unsigned int uniformBlockBinding); +void QOpenGLExtraFunctions_GlUniformMatrix2x3fv(void* ptr, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlUniformMatrix2x4fv(void* ptr, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlUniformMatrix3x2fv(void* ptr, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlUniformMatrix3x4fv(void* ptr, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlUniformMatrix4x2fv(void* ptr, int location, int count, char transpose, float value); +void QOpenGLExtraFunctions_GlUniformMatrix4x3fv(void* ptr, int location, int count, char transpose, float value); +char QOpenGLExtraFunctions_GlUnmapBuffer(void* ptr, unsigned int target); +void QOpenGLExtraFunctions_GlUseProgramStages(void* ptr, unsigned int pipeline, unsigned int stages, unsigned int program); +void QOpenGLExtraFunctions_GlValidateProgramPipeline(void* ptr, unsigned int pipeline); +void QOpenGLExtraFunctions_GlVertexAttribBinding(void* ptr, unsigned int attribindex, unsigned int bindingindex); +void QOpenGLExtraFunctions_GlVertexAttribDivisor(void* ptr, unsigned int index, unsigned int divisor); +void QOpenGLExtraFunctions_GlVertexAttribFormat(void* ptr, unsigned int attribindex, int size, unsigned int ty, char normalized, unsigned int relativeoffset); +void QOpenGLExtraFunctions_GlVertexAttribI4i(void* ptr, unsigned int index, int x, int y, int z, int w); +void QOpenGLExtraFunctions_GlVertexAttribI4iv(void* ptr, unsigned int index, int v); +void QOpenGLExtraFunctions_GlVertexAttribI4ui(void* ptr, unsigned int index, unsigned int x, unsigned int y, unsigned int z, unsigned int w); +void QOpenGLExtraFunctions_GlVertexAttribI4uiv(void* ptr, unsigned int index, unsigned int v); +void QOpenGLExtraFunctions_GlVertexAttribIFormat(void* ptr, unsigned int attribindex, int size, unsigned int ty, unsigned int relativeoffset); +void QOpenGLExtraFunctions_GlVertexAttribIPointer(void* ptr, unsigned int index, int size, unsigned int ty, int stride, void* pointer); +void QOpenGLExtraFunctions_GlVertexBindingDivisor(void* ptr, unsigned int bindingindex, unsigned int divisor); +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject(void* size, unsigned int target); +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject2(int width, int height, unsigned int target); +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject3(void* size, long long attachment, unsigned int target, unsigned int internalFormat); +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject4(int width, int height, long long attachment, unsigned int target, unsigned int internalFormat); +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject5(void* size, void* format); +void* QOpenGLFramebufferObject_NewQOpenGLFramebufferObject6(int width, int height, void* format); +void QOpenGLFramebufferObject_AddColorAttachment(void* ptr, void* size, unsigned int internalFormat); +void QOpenGLFramebufferObject_AddColorAttachment2(void* ptr, int width, int height, unsigned int internalFormat); +long long QOpenGLFramebufferObject_Attachment(void* ptr); +char QOpenGLFramebufferObject_Bind(void* ptr); +char QOpenGLFramebufferObject_QOpenGLFramebufferObject_BindDefault(); +void QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer(void* target, void* targetRect, void* source, void* sourceRect, unsigned int buffers, unsigned int filter, int readColorAttachmentIndex, int drawColorAttachmentIndex, long long restorePolicy); +void QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer2(void* target, void* targetRect, void* source, void* sourceRect, unsigned int buffers, unsigned int filter, int readColorAttachmentIndex, int drawColorAttachmentIndex); +void QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer3(void* target, void* targetRect, void* source, void* sourceRect, unsigned int buffers, unsigned int filter); +void QOpenGLFramebufferObject_QOpenGLFramebufferObject_BlitFramebuffer4(void* target, void* source, unsigned int buffers, unsigned int filter); +void* QOpenGLFramebufferObject_Format(void* ptr); +unsigned int QOpenGLFramebufferObject_Handle(void* ptr); +char QOpenGLFramebufferObject_QOpenGLFramebufferObject_HasOpenGLFramebufferBlit(); +char QOpenGLFramebufferObject_QOpenGLFramebufferObject_HasOpenGLFramebufferObjects(); +int QOpenGLFramebufferObject_Height(void* ptr); +char QOpenGLFramebufferObject_IsBound(void* ptr); +char QOpenGLFramebufferObject_IsValid(void* ptr); +char QOpenGLFramebufferObject_Release(void* ptr); +void QOpenGLFramebufferObject_SetAttachment(void* ptr, long long attachment); +void* QOpenGLFramebufferObject_Size(void* ptr); +struct QtGui_PackedList QOpenGLFramebufferObject_Sizes(void* ptr); +unsigned int QOpenGLFramebufferObject_TakeTexture(void* ptr); +unsigned int QOpenGLFramebufferObject_TakeTexture2(void* ptr, int colorAttachmentIndex); +unsigned int QOpenGLFramebufferObject_Texture(void* ptr); +struct QtGui_PackedList QOpenGLFramebufferObject_Textures(void* ptr); +void* QOpenGLFramebufferObject_ToImage(void* ptr, char flipped); +void* QOpenGLFramebufferObject_ToImage2(void* ptr); +void* QOpenGLFramebufferObject_ToImage3(void* ptr, char flipped, int colorAttachmentIndex); +int QOpenGLFramebufferObject_Width(void* ptr); +void QOpenGLFramebufferObject_DestroyQOpenGLFramebufferObject(void* ptr); +void QOpenGLFramebufferObject_DestroyQOpenGLFramebufferObjectDefault(void* ptr); +void* QOpenGLFramebufferObject___sizes_atList(void* ptr, int i); +void QOpenGLFramebufferObject___sizes_setList(void* ptr, void* i); +void* QOpenGLFramebufferObject___sizes_newList(void* ptr); +unsigned int QOpenGLFramebufferObject___textures_atList(void* ptr, int i); +void QOpenGLFramebufferObject___textures_setList(void* ptr, unsigned int i); +void* QOpenGLFramebufferObject___textures_newList(void* ptr); +void* QOpenGLFramebufferObjectFormat_NewQOpenGLFramebufferObjectFormat(); +void* QOpenGLFramebufferObjectFormat_NewQOpenGLFramebufferObjectFormat2(void* other); +long long QOpenGLFramebufferObjectFormat_Attachment(void* ptr); +unsigned int QOpenGLFramebufferObjectFormat_InternalTextureFormat(void* ptr); +char QOpenGLFramebufferObjectFormat_Mipmap(void* ptr); +int QOpenGLFramebufferObjectFormat_Samples(void* ptr); +void QOpenGLFramebufferObjectFormat_SetAttachment(void* ptr, long long attachment); +void QOpenGLFramebufferObjectFormat_SetInternalTextureFormat(void* ptr, unsigned int internalTextureFormat); +void QOpenGLFramebufferObjectFormat_SetMipmap(void* ptr, char enabled); +void QOpenGLFramebufferObjectFormat_SetSamples(void* ptr, int samples); +void QOpenGLFramebufferObjectFormat_SetTextureTarget(void* ptr, unsigned int target); +unsigned int QOpenGLFramebufferObjectFormat_TextureTarget(void* ptr); +void QOpenGLFramebufferObjectFormat_DestroyQOpenGLFramebufferObjectFormat(void* ptr); +void* QOpenGLFunctions_NewQOpenGLFunctions(); +void* QOpenGLFunctions_NewQOpenGLFunctions2(void* context); +void QOpenGLFunctions_GlActiveTexture(void* ptr, unsigned int texture); +void QOpenGLFunctions_GlAttachShader(void* ptr, unsigned int program, unsigned int shader); +void QOpenGLFunctions_GlBindAttribLocation(void* ptr, unsigned int program, unsigned int index, char* name); +void QOpenGLFunctions_GlBindBuffer(void* ptr, unsigned int target, unsigned int buffer); +void QOpenGLFunctions_GlBindFramebuffer(void* ptr, unsigned int target, unsigned int framebuffer); +void QOpenGLFunctions_GlBindRenderbuffer(void* ptr, unsigned int target, unsigned int renderbuffer); +void QOpenGLFunctions_GlBindTexture(void* ptr, unsigned int target, unsigned int texture); +void QOpenGLFunctions_GlBlendColor(void* ptr, float red, float green, float blue, float alpha); +void QOpenGLFunctions_GlBlendEquation(void* ptr, unsigned int mode); +void QOpenGLFunctions_GlBlendEquationSeparate(void* ptr, unsigned int modeRGB, unsigned int modeAlpha); +void QOpenGLFunctions_GlBlendFunc(void* ptr, unsigned int sfactor, unsigned int dfactor); +void QOpenGLFunctions_GlBlendFuncSeparate(void* ptr, unsigned int srcRGB, unsigned int dstRGB, unsigned int srcAlpha, unsigned int dstAlpha); +unsigned int QOpenGLFunctions_GlCheckFramebufferStatus(void* ptr, unsigned int target); +void QOpenGLFunctions_GlClear(void* ptr, unsigned int mask); +void QOpenGLFunctions_GlClearColor(void* ptr, float red, float green, float blue, float alpha); +void QOpenGLFunctions_GlClearDepthf(void* ptr, float depth); +void QOpenGLFunctions_GlClearStencil(void* ptr, int s); +void QOpenGLFunctions_GlColorMask(void* ptr, char red, char green, char blue, char alpha); +void QOpenGLFunctions_GlCompileShader(void* ptr, unsigned int shader); +void QOpenGLFunctions_GlCompressedTexImage2D(void* ptr, unsigned int target, int level, unsigned int internalformat, int width, int height, int border, int imageSize, void* data); +void QOpenGLFunctions_GlCompressedTexSubImage2D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, int imageSize, void* data); +void QOpenGLFunctions_GlCopyTexImage2D(void* ptr, unsigned int target, int level, unsigned int internalformat, int x, int y, int width, int height, int border); +void QOpenGLFunctions_GlCopyTexSubImage2D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int x, int y, int width, int height); +unsigned int QOpenGLFunctions_GlCreateProgram(void* ptr); +unsigned int QOpenGLFunctions_GlCreateShader(void* ptr, unsigned int ty); +void QOpenGLFunctions_GlCullFace(void* ptr, unsigned int mode); +void QOpenGLFunctions_GlDeleteBuffers(void* ptr, int n, unsigned int buffers); +void QOpenGLFunctions_GlDeleteFramebuffers(void* ptr, int n, unsigned int framebuffers); +void QOpenGLFunctions_GlDeleteProgram(void* ptr, unsigned int program); +void QOpenGLFunctions_GlDeleteRenderbuffers(void* ptr, int n, unsigned int renderbuffers); +void QOpenGLFunctions_GlDeleteShader(void* ptr, unsigned int shader); +void QOpenGLFunctions_GlDeleteTextures(void* ptr, int n, unsigned int textures); +void QOpenGLFunctions_GlDepthFunc(void* ptr, unsigned int fu); +void QOpenGLFunctions_GlDepthMask(void* ptr, char flag); +void QOpenGLFunctions_GlDepthRangef(void* ptr, float zNear, float zFar); +void QOpenGLFunctions_GlDetachShader(void* ptr, unsigned int program, unsigned int shader); +void QOpenGLFunctions_GlDisable(void* ptr, unsigned int cap); +void QOpenGLFunctions_GlDisableVertexAttribArray(void* ptr, unsigned int index); +void QOpenGLFunctions_GlDrawArrays(void* ptr, unsigned int mode, int first, int count); +void QOpenGLFunctions_GlDrawElements(void* ptr, unsigned int mode, int count, unsigned int ty, void* indices); +void QOpenGLFunctions_GlEnable(void* ptr, unsigned int cap); +void QOpenGLFunctions_GlEnableVertexAttribArray(void* ptr, unsigned int index); +void QOpenGLFunctions_GlFinish(void* ptr); +void QOpenGLFunctions_GlFlush(void* ptr); +void QOpenGLFunctions_GlFramebufferRenderbuffer(void* ptr, unsigned int target, unsigned int attachment, unsigned int renderbuffertarget, unsigned int renderbuffer); +void QOpenGLFunctions_GlFramebufferTexture2D(void* ptr, unsigned int target, unsigned int attachment, unsigned int textarget, unsigned int texture, int level); +void QOpenGLFunctions_GlFrontFace(void* ptr, unsigned int mode); +void QOpenGLFunctions_GlGenBuffers(void* ptr, int n, unsigned int buffers); +void QOpenGLFunctions_GlGenFramebuffers(void* ptr, int n, unsigned int framebuffers); +void QOpenGLFunctions_GlGenRenderbuffers(void* ptr, int n, unsigned int renderbuffers); +void QOpenGLFunctions_GlGenTextures(void* ptr, int n, unsigned int textures); +void QOpenGLFunctions_GlGenerateMipmap(void* ptr, unsigned int target); +void QOpenGLFunctions_GlGetActiveAttrib(void* ptr, unsigned int program, unsigned int index, int bufsize, int length, int size, unsigned int ty, char* name); +void QOpenGLFunctions_GlGetActiveUniform(void* ptr, unsigned int program, unsigned int index, int bufsize, int length, int size, unsigned int ty, char* name); +void QOpenGLFunctions_GlGetAttachedShaders(void* ptr, unsigned int program, int maxcount, int count, unsigned int shaders); +int QOpenGLFunctions_GlGetAttribLocation(void* ptr, unsigned int program, char* name); +void QOpenGLFunctions_GlGetBooleanv(void* ptr, unsigned int pname, char* params); +void QOpenGLFunctions_GlGetBufferParameteriv(void* ptr, unsigned int target, unsigned int pname, int params); +unsigned int QOpenGLFunctions_GlGetError(void* ptr); +void QOpenGLFunctions_GlGetFloatv(void* ptr, unsigned int pname, float params); +void QOpenGLFunctions_GlGetFramebufferAttachmentParameteriv(void* ptr, unsigned int target, unsigned int attachment, unsigned int pname, int params); +void QOpenGLFunctions_GlGetIntegerv(void* ptr, unsigned int pname, int params); +void QOpenGLFunctions_GlGetProgramInfoLog(void* ptr, unsigned int program, int bufsize, int length, char* infolog); +void QOpenGLFunctions_GlGetProgramiv(void* ptr, unsigned int program, unsigned int pname, int params); +void QOpenGLFunctions_GlGetRenderbufferParameteriv(void* ptr, unsigned int target, unsigned int pname, int params); +void QOpenGLFunctions_GlGetShaderInfoLog(void* ptr, unsigned int shader, int bufsize, int length, char* infolog); +void QOpenGLFunctions_GlGetShaderPrecisionFormat(void* ptr, unsigned int shadertype, unsigned int precisiontype, int ran, int precision); +void QOpenGLFunctions_GlGetShaderSource(void* ptr, unsigned int shader, int bufsize, int length, char* source); +void QOpenGLFunctions_GlGetShaderiv(void* ptr, unsigned int shader, unsigned int pname, int params); +struct QtGui_PackedString QOpenGLFunctions_GlGetString(void* ptr, unsigned int name); +void QOpenGLFunctions_GlGetTexParameterfv(void* ptr, unsigned int target, unsigned int pname, float params); +void QOpenGLFunctions_GlGetTexParameteriv(void* ptr, unsigned int target, unsigned int pname, int params); +int QOpenGLFunctions_GlGetUniformLocation(void* ptr, unsigned int program, char* name); +void QOpenGLFunctions_GlGetUniformfv(void* ptr, unsigned int program, int location, float params); +void QOpenGLFunctions_GlGetUniformiv(void* ptr, unsigned int program, int location, int params); +void QOpenGLFunctions_GlGetVertexAttribPointerv(void* ptr, unsigned int index, unsigned int pname, void* pointer); +void QOpenGLFunctions_GlGetVertexAttribfv(void* ptr, unsigned int index, unsigned int pname, float params); +void QOpenGLFunctions_GlGetVertexAttribiv(void* ptr, unsigned int index, unsigned int pname, int params); +void QOpenGLFunctions_GlHint(void* ptr, unsigned int target, unsigned int mode); +char QOpenGLFunctions_GlIsBuffer(void* ptr, unsigned int buffer); +char QOpenGLFunctions_GlIsEnabled(void* ptr, unsigned int cap); +char QOpenGLFunctions_GlIsFramebuffer(void* ptr, unsigned int framebuffer); +char QOpenGLFunctions_GlIsProgram(void* ptr, unsigned int program); +char QOpenGLFunctions_GlIsRenderbuffer(void* ptr, unsigned int renderbuffer); +char QOpenGLFunctions_GlIsShader(void* ptr, unsigned int shader); +char QOpenGLFunctions_GlIsTexture(void* ptr, unsigned int texture); +void QOpenGLFunctions_GlLineWidth(void* ptr, float width); +void QOpenGLFunctions_GlLinkProgram(void* ptr, unsigned int program); +void QOpenGLFunctions_GlPixelStorei(void* ptr, unsigned int pname, int param); +void QOpenGLFunctions_GlPolygonOffset(void* ptr, float factor, float units); +void QOpenGLFunctions_GlReadPixels(void* ptr, int x, int y, int width, int height, unsigned int format, unsigned int ty, void* pixels); +void QOpenGLFunctions_GlReleaseShaderCompiler(void* ptr); +void QOpenGLFunctions_GlRenderbufferStorage(void* ptr, unsigned int target, unsigned int internalformat, int width, int height); +void QOpenGLFunctions_GlSampleCoverage(void* ptr, float value, char invert); +void QOpenGLFunctions_GlScissor(void* ptr, int x, int y, int width, int height); +void QOpenGLFunctions_GlShaderBinary(void* ptr, int n, unsigned int shaders, unsigned int binaryformat, void* binary, int length); +void QOpenGLFunctions_GlStencilFunc(void* ptr, unsigned int fu, int ref, unsigned int mask); +void QOpenGLFunctions_GlStencilFuncSeparate(void* ptr, unsigned int face, unsigned int fu, int ref, unsigned int mask); +void QOpenGLFunctions_GlStencilMask(void* ptr, unsigned int mask); +void QOpenGLFunctions_GlStencilMaskSeparate(void* ptr, unsigned int face, unsigned int mask); +void QOpenGLFunctions_GlStencilOp(void* ptr, unsigned int fail, unsigned int zfail, unsigned int zpass); +void QOpenGLFunctions_GlStencilOpSeparate(void* ptr, unsigned int face, unsigned int fail, unsigned int zfail, unsigned int zpass); +void QOpenGLFunctions_GlTexImage2D(void* ptr, unsigned int target, int level, int internalformat, int width, int height, int border, unsigned int format, unsigned int ty, void* pixels); +void QOpenGLFunctions_GlTexParameterf(void* ptr, unsigned int target, unsigned int pname, float param); +void QOpenGLFunctions_GlTexParameterfv(void* ptr, unsigned int target, unsigned int pname, float params); +void QOpenGLFunctions_GlTexParameteri(void* ptr, unsigned int target, unsigned int pname, int param); +void QOpenGLFunctions_GlTexParameteriv(void* ptr, unsigned int target, unsigned int pname, int params); +void QOpenGLFunctions_GlTexSubImage2D(void* ptr, unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, unsigned int ty, void* pixels); +void QOpenGLFunctions_GlUniform1f(void* ptr, int location, float x); +void QOpenGLFunctions_GlUniform1fv(void* ptr, int location, int count, float v); +void QOpenGLFunctions_GlUniform1i(void* ptr, int location, int x); +void QOpenGLFunctions_GlUniform1iv(void* ptr, int location, int count, int v); +void QOpenGLFunctions_GlUniform2f(void* ptr, int location, float x, float y); +void QOpenGLFunctions_GlUniform2fv(void* ptr, int location, int count, float v); +void QOpenGLFunctions_GlUniform2i(void* ptr, int location, int x, int y); +void QOpenGLFunctions_GlUniform2iv(void* ptr, int location, int count, int v); +void QOpenGLFunctions_GlUniform3f(void* ptr, int location, float x, float y, float z); +void QOpenGLFunctions_GlUniform3fv(void* ptr, int location, int count, float v); +void QOpenGLFunctions_GlUniform3i(void* ptr, int location, int x, int y, int z); +void QOpenGLFunctions_GlUniform3iv(void* ptr, int location, int count, int v); +void QOpenGLFunctions_GlUniform4f(void* ptr, int location, float x, float y, float z, float w); +void QOpenGLFunctions_GlUniform4fv(void* ptr, int location, int count, float v); +void QOpenGLFunctions_GlUniform4i(void* ptr, int location, int x, int y, int z, int w); +void QOpenGLFunctions_GlUniform4iv(void* ptr, int location, int count, int v); +void QOpenGLFunctions_GlUniformMatrix2fv(void* ptr, int location, int count, char transpose, float value); +void QOpenGLFunctions_GlUniformMatrix3fv(void* ptr, int location, int count, char transpose, float value); +void QOpenGLFunctions_GlUniformMatrix4fv(void* ptr, int location, int count, char transpose, float value); +void QOpenGLFunctions_GlUseProgram(void* ptr, unsigned int program); +void QOpenGLFunctions_GlValidateProgram(void* ptr, unsigned int program); +void QOpenGLFunctions_GlVertexAttrib1f(void* ptr, unsigned int indx, float x); +void QOpenGLFunctions_GlVertexAttrib1fv(void* ptr, unsigned int indx, float values); +void QOpenGLFunctions_GlVertexAttrib2f(void* ptr, unsigned int indx, float x, float y); +void QOpenGLFunctions_GlVertexAttrib2fv(void* ptr, unsigned int indx, float values); +void QOpenGLFunctions_GlVertexAttrib3f(void* ptr, unsigned int indx, float x, float y, float z); +void QOpenGLFunctions_GlVertexAttrib3fv(void* ptr, unsigned int indx, float values); +void QOpenGLFunctions_GlVertexAttrib4f(void* ptr, unsigned int indx, float x, float y, float z, float w); +void QOpenGLFunctions_GlVertexAttrib4fv(void* ptr, unsigned int indx, float values); +void QOpenGLFunctions_GlVertexAttribPointer(void* ptr, unsigned int indx, int size, unsigned int ty, char normalized, int stride, void* p); +void QOpenGLFunctions_GlViewport(void* ptr, int x, int y, int width, int height); +char QOpenGLFunctions_HasOpenGLFeature(void* ptr, long long feature); +void QOpenGLFunctions_InitializeOpenGLFunctions(void* ptr); +long long QOpenGLFunctions_OpenGLFeatures(void* ptr); +void QOpenGLFunctions_DestroyQOpenGLFunctions(void* ptr); +void* QOpenGLPaintDevice_NewQOpenGLPaintDevice(); +void* QOpenGLPaintDevice_NewQOpenGLPaintDevice2(void* size); +void* QOpenGLPaintDevice_NewQOpenGLPaintDevice3(int width, int height); +void* QOpenGLPaintDevice_Context(void* ptr); +double QOpenGLPaintDevice_DotsPerMeterX(void* ptr); +double QOpenGLPaintDevice_DotsPerMeterY(void* ptr); +void QOpenGLPaintDevice_EnsureActiveTarget(void* ptr); +void QOpenGLPaintDevice_EnsureActiveTargetDefault(void* ptr); +void* QOpenGLPaintDevice_PaintEngine(void* ptr); +void* QOpenGLPaintDevice_PaintEngineDefault(void* ptr); +char QOpenGLPaintDevice_PaintFlipped(void* ptr); +void QOpenGLPaintDevice_SetDevicePixelRatio(void* ptr, double devicePixelRatio); +void QOpenGLPaintDevice_SetDotsPerMeterX(void* ptr, double dpmx); +void QOpenGLPaintDevice_SetDotsPerMeterY(void* ptr, double dpmy); +void QOpenGLPaintDevice_SetPaintFlipped(void* ptr, char flipped); +void QOpenGLPaintDevice_SetSize(void* ptr, void* size); +void* QOpenGLPaintDevice_Size(void* ptr); +void QOpenGLPaintDevice_DestroyQOpenGLPaintDevice(void* ptr); +void QOpenGLPaintDevice_DestroyQOpenGLPaintDeviceDefault(void* ptr); +void* QOpenGLPixelTransferOptions_NewQOpenGLPixelTransferOptions(); +int QOpenGLPixelTransferOptions_Alignment(void* ptr); +int QOpenGLPixelTransferOptions_ImageHeight(void* ptr); +char QOpenGLPixelTransferOptions_IsLeastSignificantBitFirst(void* ptr); +char QOpenGLPixelTransferOptions_IsSwapBytesEnabled(void* ptr); +int QOpenGLPixelTransferOptions_RowLength(void* ptr); +void QOpenGLPixelTransferOptions_SetAlignment(void* ptr, int alignment); +void QOpenGLPixelTransferOptions_SetImageHeight(void* ptr, int imageHeight); +void QOpenGLPixelTransferOptions_SetLeastSignificantByteFirst(void* ptr, char lsbFirst); +void QOpenGLPixelTransferOptions_SetRowLength(void* ptr, int rowLength); +void QOpenGLPixelTransferOptions_SetSkipImages(void* ptr, int skipImages); +void QOpenGLPixelTransferOptions_SetSkipPixels(void* ptr, int skipPixels); +void QOpenGLPixelTransferOptions_SetSkipRows(void* ptr, int skipRows); +void QOpenGLPixelTransferOptions_SetSwapBytesEnabled(void* ptr, char swapBytes); +int QOpenGLPixelTransferOptions_SkipImages(void* ptr); +int QOpenGLPixelTransferOptions_SkipPixels(void* ptr); +int QOpenGLPixelTransferOptions_SkipRows(void* ptr); +void QOpenGLPixelTransferOptions_DestroyQOpenGLPixelTransferOptions(void* ptr); +void* QOpenGLShader_NewQOpenGLShader(long long ty, void* parent); +char QOpenGLShader_CompileSourceCode(void* ptr, char* source); +char QOpenGLShader_CompileSourceCode2(void* ptr, void* source); +char QOpenGLShader_CompileSourceCode3(void* ptr, struct QtGui_PackedString source); +char QOpenGLShader_CompileSourceFile(void* ptr, struct QtGui_PackedString fileName); +char QOpenGLShader_QOpenGLShader_HasOpenGLShaders(long long ty, void* context); +char QOpenGLShader_IsCompiled(void* ptr); +struct QtGui_PackedString QOpenGLShader_Log(void* ptr); +unsigned int QOpenGLShader_ShaderId(void* ptr); +long long QOpenGLShader_ShaderType(void* ptr); +void* QOpenGLShader_SourceCode(void* ptr); +void QOpenGLShader_DestroyQOpenGLShader(void* ptr); +void QOpenGLShader_DestroyQOpenGLShaderDefault(void* ptr); +void* QOpenGLShader___children_atList(void* ptr, int i); +void QOpenGLShader___children_setList(void* ptr, void* i); +void* QOpenGLShader___children_newList(void* ptr); +void* QOpenGLShader___dynamicPropertyNames_atList(void* ptr, int i); +void QOpenGLShader___dynamicPropertyNames_setList(void* ptr, void* i); +void* QOpenGLShader___dynamicPropertyNames_newList(void* ptr); +void* QOpenGLShader___findChildren_atList(void* ptr, int i); +void QOpenGLShader___findChildren_setList(void* ptr, void* i); +void* QOpenGLShader___findChildren_newList(void* ptr); +void* QOpenGLShader___findChildren_atList3(void* ptr, int i); +void QOpenGLShader___findChildren_setList3(void* ptr, void* i); +void* QOpenGLShader___findChildren_newList3(void* ptr); +void* QOpenGLShader___qFindChildren_atList2(void* ptr, int i); +void QOpenGLShader___qFindChildren_setList2(void* ptr, void* i); +void* QOpenGLShader___qFindChildren_newList2(void* ptr); +void QOpenGLShader_ChildEventDefault(void* ptr, void* event); +void QOpenGLShader_ConnectNotifyDefault(void* ptr, void* sign); +void QOpenGLShader_CustomEventDefault(void* ptr, void* event); +void QOpenGLShader_DeleteLaterDefault(void* ptr); +void QOpenGLShader_DisconnectNotifyDefault(void* ptr, void* sign); +char QOpenGLShader_EventDefault(void* ptr, void* e); +char QOpenGLShader_EventFilterDefault(void* ptr, void* watched, void* event); +void* QOpenGLShader_MetaObjectDefault(void* ptr); +void QOpenGLShader_TimerEventDefault(void* ptr, void* event); +void* QOpenGLShaderProgram_NewQOpenGLShaderProgram(void* parent); +char QOpenGLShaderProgram_AddCacheableShaderFromSourceCode(void* ptr, long long ty, char* source); +char QOpenGLShaderProgram_AddCacheableShaderFromSourceCode2(void* ptr, long long ty, void* source); +char QOpenGLShaderProgram_AddCacheableShaderFromSourceCode3(void* ptr, long long ty, struct QtGui_PackedString source); +char QOpenGLShaderProgram_AddCacheableShaderFromSourceFile(void* ptr, long long ty, struct QtGui_PackedString fileName); +char QOpenGLShaderProgram_AddShader(void* ptr, void* shader); +char QOpenGLShaderProgram_AddShaderFromSourceCode(void* ptr, long long ty, char* source); +char QOpenGLShaderProgram_AddShaderFromSourceCode2(void* ptr, long long ty, void* source); +char QOpenGLShaderProgram_AddShaderFromSourceCode3(void* ptr, long long ty, struct QtGui_PackedString source); +char QOpenGLShaderProgram_AddShaderFromSourceFile(void* ptr, long long ty, struct QtGui_PackedString fileName); +int QOpenGLShaderProgram_AttributeLocation(void* ptr, char* name); +int QOpenGLShaderProgram_AttributeLocation2(void* ptr, void* name); +int QOpenGLShaderProgram_AttributeLocation3(void* ptr, struct QtGui_PackedString name); +char QOpenGLShaderProgram_Bind(void* ptr); +void QOpenGLShaderProgram_BindAttributeLocation(void* ptr, char* name, int location); +void QOpenGLShaderProgram_BindAttributeLocation2(void* ptr, void* name, int location); +void QOpenGLShaderProgram_BindAttributeLocation3(void* ptr, struct QtGui_PackedString name, int location); +char QOpenGLShaderProgram_Create(void* ptr); +struct QtGui_PackedList QOpenGLShaderProgram_DefaultInnerTessellationLevels(void* ptr); +struct QtGui_PackedList QOpenGLShaderProgram_DefaultOuterTessellationLevels(void* ptr); +void QOpenGLShaderProgram_DisableAttributeArray(void* ptr, int location); +void QOpenGLShaderProgram_DisableAttributeArray2(void* ptr, char* name); +void QOpenGLShaderProgram_EnableAttributeArray(void* ptr, int location); +void QOpenGLShaderProgram_EnableAttributeArray2(void* ptr, char* name); +char QOpenGLShaderProgram_QOpenGLShaderProgram_HasOpenGLShaderPrograms(void* context); +char QOpenGLShaderProgram_IsLinked(void* ptr); +char QOpenGLShaderProgram_Link(void* ptr); +char QOpenGLShaderProgram_LinkDefault(void* ptr); +struct QtGui_PackedString QOpenGLShaderProgram_Log(void* ptr); +int QOpenGLShaderProgram_MaxGeometryOutputVertices(void* ptr); +int QOpenGLShaderProgram_PatchVertexCount(void* ptr); +unsigned int QOpenGLShaderProgram_ProgramId(void* ptr); +void QOpenGLShaderProgram_Release(void* ptr); +void QOpenGLShaderProgram_RemoveAllShaders(void* ptr); +void QOpenGLShaderProgram_RemoveShader(void* ptr, void* shader); +void QOpenGLShaderProgram_SetAttributeArray(void* ptr, int location, float values, int tupleSize, int stride); +void QOpenGLShaderProgram_SetAttributeArray2(void* ptr, int location, void* values, int stride); +void QOpenGLShaderProgram_SetAttributeArray3(void* ptr, int location, void* values, int stride); +void QOpenGLShaderProgram_SetAttributeArray4(void* ptr, int location, void* values, int stride); +void QOpenGLShaderProgram_SetAttributeArray5(void* ptr, int location, unsigned int ty, void* values, int tupleSize, int stride); +void QOpenGLShaderProgram_SetAttributeArray6(void* ptr, char* name, float values, int tupleSize, int stride); +void QOpenGLShaderProgram_SetAttributeArray7(void* ptr, char* name, void* values, int stride); +void QOpenGLShaderProgram_SetAttributeArray8(void* ptr, char* name, void* values, int stride); +void QOpenGLShaderProgram_SetAttributeArray9(void* ptr, char* name, void* values, int stride); +void QOpenGLShaderProgram_SetAttributeArray10(void* ptr, char* name, unsigned int ty, void* values, int tupleSize, int stride); +void QOpenGLShaderProgram_SetAttributeBuffer(void* ptr, int location, unsigned int ty, int offset, int tupleSize, int stride); +void QOpenGLShaderProgram_SetAttributeBuffer2(void* ptr, char* name, unsigned int ty, int offset, int tupleSize, int stride); +void QOpenGLShaderProgram_SetAttributeValue(void* ptr, int location, float value); +void QOpenGLShaderProgram_SetAttributeValue2(void* ptr, int location, float x, float y); +void QOpenGLShaderProgram_SetAttributeValue3(void* ptr, int location, float x, float y, float z); +void QOpenGLShaderProgram_SetAttributeValue4(void* ptr, int location, float x, float y, float z, float w); +void QOpenGLShaderProgram_SetAttributeValue5(void* ptr, int location, void* value); +void QOpenGLShaderProgram_SetAttributeValue6(void* ptr, int location, void* value); +void QOpenGLShaderProgram_SetAttributeValue7(void* ptr, int location, void* value); +void QOpenGLShaderProgram_SetAttributeValue8(void* ptr, int location, void* value); +void QOpenGLShaderProgram_SetAttributeValue9(void* ptr, int location, float values, int columns, int rows); +void QOpenGLShaderProgram_SetAttributeValue10(void* ptr, char* name, float value); +void QOpenGLShaderProgram_SetAttributeValue11(void* ptr, char* name, float x, float y); +void QOpenGLShaderProgram_SetAttributeValue12(void* ptr, char* name, float x, float y, float z); +void QOpenGLShaderProgram_SetAttributeValue13(void* ptr, char* name, float x, float y, float z, float w); +void QOpenGLShaderProgram_SetAttributeValue14(void* ptr, char* name, void* value); +void QOpenGLShaderProgram_SetAttributeValue15(void* ptr, char* name, void* value); +void QOpenGLShaderProgram_SetAttributeValue16(void* ptr, char* name, void* value); +void QOpenGLShaderProgram_SetAttributeValue17(void* ptr, char* name, void* value); +void QOpenGLShaderProgram_SetAttributeValue18(void* ptr, char* name, float values, int columns, int rows); +void QOpenGLShaderProgram_SetDefaultInnerTessellationLevels(void* ptr, void* levels); +void QOpenGLShaderProgram_SetDefaultOuterTessellationLevels(void* ptr, void* levels); +void QOpenGLShaderProgram_SetPatchVertexCount(void* ptr, int count); +void QOpenGLShaderProgram_SetUniformValue(void* ptr, int location, float value); +void QOpenGLShaderProgram_SetUniformValue2(void* ptr, int location, int value); +void QOpenGLShaderProgram_SetUniformValue3(void* ptr, int location, unsigned int value); +void QOpenGLShaderProgram_SetUniformValue4(void* ptr, int location, float x, float y); +void QOpenGLShaderProgram_SetUniformValue5(void* ptr, int location, float x, float y, float z); +void QOpenGLShaderProgram_SetUniformValue6(void* ptr, int location, float x, float y, float z, float w); +void QOpenGLShaderProgram_SetUniformValue7(void* ptr, int location, void* value); +void QOpenGLShaderProgram_SetUniformValue8(void* ptr, int location, void* value); +void QOpenGLShaderProgram_SetUniformValue9(void* ptr, int location, void* value); +void QOpenGLShaderProgram_SetUniformValue10(void* ptr, int location, void* color); +void QOpenGLShaderProgram_SetUniformValue11(void* ptr, int location, void* point); +void QOpenGLShaderProgram_SetUniformValue12(void* ptr, int location, void* point); +void QOpenGLShaderProgram_SetUniformValue13(void* ptr, int location, void* size); +void QOpenGLShaderProgram_SetUniformValue14(void* ptr, int location, void* size); +void QOpenGLShaderProgram_SetUniformValue23(void* ptr, int location, void* value); +void QOpenGLShaderProgram_SetUniformValue27(void* ptr, int location, void* value); +void QOpenGLShaderProgram_SetUniformValue28(void* ptr, char* name, float value); +void QOpenGLShaderProgram_SetUniformValue29(void* ptr, char* name, int value); +void QOpenGLShaderProgram_SetUniformValue30(void* ptr, char* name, unsigned int value); +void QOpenGLShaderProgram_SetUniformValue31(void* ptr, char* name, float x, float y); +void QOpenGLShaderProgram_SetUniformValue32(void* ptr, char* name, float x, float y, float z); +void QOpenGLShaderProgram_SetUniformValue33(void* ptr, char* name, float x, float y, float z, float w); +void QOpenGLShaderProgram_SetUniformValue34(void* ptr, char* name, void* value); +void QOpenGLShaderProgram_SetUniformValue35(void* ptr, char* name, void* value); +void QOpenGLShaderProgram_SetUniformValue36(void* ptr, char* name, void* value); +void QOpenGLShaderProgram_SetUniformValue37(void* ptr, char* name, void* color); +void QOpenGLShaderProgram_SetUniformValue38(void* ptr, char* name, void* point); +void QOpenGLShaderProgram_SetUniformValue39(void* ptr, char* name, void* point); +void QOpenGLShaderProgram_SetUniformValue40(void* ptr, char* name, void* size); +void QOpenGLShaderProgram_SetUniformValue41(void* ptr, char* name, void* size); +void QOpenGLShaderProgram_SetUniformValue50(void* ptr, char* name, void* value); +void QOpenGLShaderProgram_SetUniformValue54(void* ptr, char* name, void* value); +void QOpenGLShaderProgram_SetUniformValueArray(void* ptr, int location, float values, int count, int tupleSize); +void QOpenGLShaderProgram_SetUniformValueArray2(void* ptr, int location, int values, int count); +void QOpenGLShaderProgram_SetUniformValueArray3(void* ptr, int location, unsigned int values, int count); +void QOpenGLShaderProgram_SetUniformValueArray4(void* ptr, int location, void* values, int count); +void QOpenGLShaderProgram_SetUniformValueArray5(void* ptr, int location, void* values, int count); +void QOpenGLShaderProgram_SetUniformValueArray6(void* ptr, int location, void* values, int count); +void QOpenGLShaderProgram_SetUniformValueArray15(void* ptr, int location, void* values, int count); +void QOpenGLShaderProgram_SetUniformValueArray16(void* ptr, char* name, float values, int count, int tupleSize); +void QOpenGLShaderProgram_SetUniformValueArray17(void* ptr, char* name, int values, int count); +void QOpenGLShaderProgram_SetUniformValueArray18(void* ptr, char* name, unsigned int values, int count); +void QOpenGLShaderProgram_SetUniformValueArray19(void* ptr, char* name, void* values, int count); +void QOpenGLShaderProgram_SetUniformValueArray20(void* ptr, char* name, void* values, int count); +void QOpenGLShaderProgram_SetUniformValueArray21(void* ptr, char* name, void* values, int count); +void QOpenGLShaderProgram_SetUniformValueArray30(void* ptr, char* name, void* values, int count); +struct QtGui_PackedList QOpenGLShaderProgram_Shaders(void* ptr); +int QOpenGLShaderProgram_UniformLocation(void* ptr, char* name); +int QOpenGLShaderProgram_UniformLocation2(void* ptr, void* name); +int QOpenGLShaderProgram_UniformLocation3(void* ptr, struct QtGui_PackedString name); +void QOpenGLShaderProgram_DestroyQOpenGLShaderProgram(void* ptr); +void QOpenGLShaderProgram_DestroyQOpenGLShaderProgramDefault(void* ptr); +float QOpenGLShaderProgram___defaultInnerTessellationLevels_atList(void* ptr, int i); +void QOpenGLShaderProgram___defaultInnerTessellationLevels_setList(void* ptr, float i); +void* QOpenGLShaderProgram___defaultInnerTessellationLevels_newList(void* ptr); +float QOpenGLShaderProgram___defaultOuterTessellationLevels_atList(void* ptr, int i); +void QOpenGLShaderProgram___defaultOuterTessellationLevels_setList(void* ptr, float i); +void* QOpenGLShaderProgram___defaultOuterTessellationLevels_newList(void* ptr); +float QOpenGLShaderProgram___setDefaultInnerTessellationLevels_levels_atList(void* ptr, int i); +void QOpenGLShaderProgram___setDefaultInnerTessellationLevels_levels_setList(void* ptr, float i); +void* QOpenGLShaderProgram___setDefaultInnerTessellationLevels_levels_newList(void* ptr); +float QOpenGLShaderProgram___setDefaultOuterTessellationLevels_levels_atList(void* ptr, int i); +void QOpenGLShaderProgram___setDefaultOuterTessellationLevels_levels_setList(void* ptr, float i); +void* QOpenGLShaderProgram___setDefaultOuterTessellationLevels_levels_newList(void* ptr); +void* QOpenGLShaderProgram___shaders_atList(void* ptr, int i); +void QOpenGLShaderProgram___shaders_setList(void* ptr, void* i); +void* QOpenGLShaderProgram___shaders_newList(void* ptr); +void* QOpenGLShaderProgram___children_atList(void* ptr, int i); +void QOpenGLShaderProgram___children_setList(void* ptr, void* i); +void* QOpenGLShaderProgram___children_newList(void* ptr); +void* QOpenGLShaderProgram___dynamicPropertyNames_atList(void* ptr, int i); +void QOpenGLShaderProgram___dynamicPropertyNames_setList(void* ptr, void* i); +void* QOpenGLShaderProgram___dynamicPropertyNames_newList(void* ptr); +void* QOpenGLShaderProgram___findChildren_atList(void* ptr, int i); +void QOpenGLShaderProgram___findChildren_setList(void* ptr, void* i); +void* QOpenGLShaderProgram___findChildren_newList(void* ptr); +void* QOpenGLShaderProgram___findChildren_atList3(void* ptr, int i); +void QOpenGLShaderProgram___findChildren_setList3(void* ptr, void* i); +void* QOpenGLShaderProgram___findChildren_newList3(void* ptr); +void* QOpenGLShaderProgram___qFindChildren_atList2(void* ptr, int i); +void QOpenGLShaderProgram___qFindChildren_setList2(void* ptr, void* i); +void* QOpenGLShaderProgram___qFindChildren_newList2(void* ptr); +void QOpenGLShaderProgram_ChildEventDefault(void* ptr, void* event); +void QOpenGLShaderProgram_ConnectNotifyDefault(void* ptr, void* sign); +void QOpenGLShaderProgram_CustomEventDefault(void* ptr, void* event); +void QOpenGLShaderProgram_DeleteLaterDefault(void* ptr); +void QOpenGLShaderProgram_DisconnectNotifyDefault(void* ptr, void* sign); +char QOpenGLShaderProgram_EventDefault(void* ptr, void* e); +char QOpenGLShaderProgram_EventFilterDefault(void* ptr, void* watched, void* event); +void* QOpenGLShaderProgram_MetaObjectDefault(void* ptr); +void QOpenGLShaderProgram_TimerEventDefault(void* ptr, void* event); +void* QOpenGLTexture_NewQOpenGLTexture(long long target); +void* QOpenGLTexture_NewQOpenGLTexture2(void* image, long long genMipMaps); +void QOpenGLTexture_AllocateStorage(void* ptr); +void QOpenGLTexture_AllocateStorage2(void* ptr, long long pixelFormat, long long pixelType); +void QOpenGLTexture_Bind(void* ptr); +void QOpenGLTexture_Bind2(void* ptr, unsigned int unit, long long reset); +void* QOpenGLTexture_BorderColor(void* ptr); +void QOpenGLTexture_BorderColor2(void* ptr, float border); +void QOpenGLTexture_BorderColor3(void* ptr, int border); +void QOpenGLTexture_BorderColor4(void* ptr, unsigned int border); +unsigned int QOpenGLTexture_QOpenGLTexture_BoundTextureId(long long target); +unsigned int QOpenGLTexture_QOpenGLTexture_BoundTextureId2(unsigned int unit, long long target); +long long QOpenGLTexture_ComparisonFunction(void* ptr); +long long QOpenGLTexture_ComparisonMode(void* ptr); +char QOpenGLTexture_Create(void* ptr); +void* QOpenGLTexture_CreateTextureView(void* ptr, long long target, long long viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer); +int QOpenGLTexture_Depth(void* ptr); +long long QOpenGLTexture_DepthStencilMode(void* ptr); +void QOpenGLTexture_Destroy(void* ptr); +int QOpenGLTexture_Faces(void* ptr); +long long QOpenGLTexture_Format(void* ptr); +void QOpenGLTexture_GenerateMipMaps(void* ptr); +void QOpenGLTexture_GenerateMipMaps2(void* ptr, int baseLevel, char resetBaseLevel); +char QOpenGLTexture_QOpenGLTexture_HasFeature(long long feature); +int QOpenGLTexture_Height(void* ptr); +char QOpenGLTexture_IsAutoMipMapGenerationEnabled(void* ptr); +char QOpenGLTexture_IsBound(void* ptr); +char QOpenGLTexture_IsBound2(void* ptr, unsigned int unit); +char QOpenGLTexture_IsCreated(void* ptr); +char QOpenGLTexture_IsFixedSamplePositions(void* ptr); +char QOpenGLTexture_IsStorageAllocated(void* ptr); +char QOpenGLTexture_IsTextureView(void* ptr); +int QOpenGLTexture_Layers(void* ptr); +float QOpenGLTexture_LevelofDetailBias(void* ptr); +long long QOpenGLTexture_MagnificationFilter(void* ptr); +float QOpenGLTexture_MaximumAnisotropy(void* ptr); +float QOpenGLTexture_MaximumLevelOfDetail(void* ptr); +int QOpenGLTexture_MaximumMipLevels(void* ptr); +long long QOpenGLTexture_MinificationFilter(void* ptr); +float QOpenGLTexture_MinimumLevelOfDetail(void* ptr); +int QOpenGLTexture_MipBaseLevel(void* ptr); +int QOpenGLTexture_MipLevels(void* ptr); +int QOpenGLTexture_MipMaxLevel(void* ptr); +void QOpenGLTexture_Release(void* ptr); +void QOpenGLTexture_Release2(void* ptr, unsigned int unit, long long reset); +int QOpenGLTexture_Samples(void* ptr); +void QOpenGLTexture_SetAutoMipMapGenerationEnabled(void* ptr, char enabled); +void QOpenGLTexture_SetBorderColor(void* ptr, void* color); +void QOpenGLTexture_SetBorderColor2(void* ptr, float r, float g, float b, float a); +void QOpenGLTexture_SetBorderColor3(void* ptr, int r, int g, int b, int a); +void QOpenGLTexture_SetBorderColor4(void* ptr, unsigned int r, unsigned int g, unsigned int b, unsigned int a); +void QOpenGLTexture_SetComparisonFunction(void* ptr, long long function); +void QOpenGLTexture_SetComparisonMode(void* ptr, long long mode); +void QOpenGLTexture_SetCompressedData(void* ptr, int mipLevel, int layer, long long cubeFace, int dataSize, void* data, void* options); +void QOpenGLTexture_SetCompressedData6(void* ptr, int mipLevel, int layer, int layerCount, long long cubeFace, int dataSize, void* data, void* options); +void QOpenGLTexture_SetCompressedData7(void* ptr, int mipLevel, int layer, int dataSize, void* data, void* options); +void QOpenGLTexture_SetCompressedData8(void* ptr, int mipLevel, int dataSize, void* data, void* options); +void QOpenGLTexture_SetCompressedData9(void* ptr, int dataSize, void* data, void* options); +void QOpenGLTexture_SetData(void* ptr, int mipLevel, int layer, long long cubeFace, long long sourceFormat, long long sourceType, void* data, void* options); +void QOpenGLTexture_SetData6(void* ptr, int mipLevel, int layer, int layerCount, long long cubeFace, long long sourceFormat, long long sourceType, void* data, void* options); +void QOpenGLTexture_SetData7(void* ptr, int mipLevel, int layer, long long sourceFormat, long long sourceType, void* data, void* options); +void QOpenGLTexture_SetData8(void* ptr, int mipLevel, long long sourceFormat, long long sourceType, void* data, void* options); +void QOpenGLTexture_SetData9(void* ptr, long long sourceFormat, long long sourceType, void* data, void* options); +void QOpenGLTexture_SetData10(void* ptr, void* image, long long genMipMaps); +void QOpenGLTexture_SetDepthStencilMode(void* ptr, long long mode); +void QOpenGLTexture_SetFixedSamplePositions(void* ptr, char fixed); +void QOpenGLTexture_SetFormat(void* ptr, long long format); +void QOpenGLTexture_SetLayers(void* ptr, int layers); +void QOpenGLTexture_SetLevelOfDetailRange(void* ptr, float min, float max); +void QOpenGLTexture_SetLevelofDetailBias(void* ptr, float bias); +void QOpenGLTexture_SetMagnificationFilter(void* ptr, long long filter); +void QOpenGLTexture_SetMaximumAnisotropy(void* ptr, float anisotropy); +void QOpenGLTexture_SetMaximumLevelOfDetail(void* ptr, float value); +void QOpenGLTexture_SetMinMagFilters(void* ptr, long long minificationFilter, long long magnificationFilter); +void QOpenGLTexture_SetMinificationFilter(void* ptr, long long filter); +void QOpenGLTexture_SetMinimumLevelOfDetail(void* ptr, float value); +void QOpenGLTexture_SetMipBaseLevel(void* ptr, int baseLevel); +void QOpenGLTexture_SetMipLevelRange(void* ptr, int baseLevel, int maxLevel); +void QOpenGLTexture_SetMipLevels(void* ptr, int levels); +void QOpenGLTexture_SetMipMaxLevel(void* ptr, int maxLevel); +void QOpenGLTexture_SetSamples(void* ptr, int samples); +void QOpenGLTexture_SetSize(void* ptr, int width, int height, int depth); +void QOpenGLTexture_SetSwizzleMask(void* ptr, long long component, long long value); +void QOpenGLTexture_SetSwizzleMask2(void* ptr, long long r, long long g, long long b, long long a); +void QOpenGLTexture_SetWrapMode(void* ptr, long long mode); +void QOpenGLTexture_SetWrapMode2(void* ptr, long long direction, long long mode); +long long QOpenGLTexture_SwizzleMask(void* ptr, long long component); +long long QOpenGLTexture_Target(void* ptr); +unsigned int QOpenGLTexture_TextureId(void* ptr); +int QOpenGLTexture_Width(void* ptr); +long long QOpenGLTexture_WrapMode(void* ptr, long long direction); +void* QOpenGLTextureBlitter_NewQOpenGLTextureBlitter(); +void QOpenGLTextureBlitter_Bind(void* ptr, unsigned int target); +void QOpenGLTextureBlitter_Blit(void* ptr, unsigned int texture, void* targetTransform, long long sourceOrigin); +char QOpenGLTextureBlitter_Create(void* ptr); +void QOpenGLTextureBlitter_Destroy(void* ptr); +char QOpenGLTextureBlitter_IsCreated(void* ptr); +void QOpenGLTextureBlitter_Release(void* ptr); +void QOpenGLTextureBlitter_SetOpacity(void* ptr, float opacity); +void QOpenGLTextureBlitter_SetRedBlueSwizzle(void* ptr, char swizzle); +char QOpenGLTextureBlitter_SupportsExternalOESTarget(void* ptr); +void* QOpenGLTextureBlitter_QOpenGLTextureBlitter_TargetTransform(void* target, void* viewport); +void QOpenGLTextureBlitter_DestroyQOpenGLTextureBlitter(void* ptr); +void* QOpenGLTimeMonitor_NewQOpenGLTimeMonitor(void* parent); +char QOpenGLTimeMonitor_Create(void* ptr); +void QOpenGLTimeMonitor_Destroy(void* ptr); +char QOpenGLTimeMonitor_IsCreated(void* ptr); +char QOpenGLTimeMonitor_IsResultAvailable(void* ptr); +struct QtGui_PackedList QOpenGLTimeMonitor_ObjectIds(void* ptr); +int QOpenGLTimeMonitor_RecordSample(void* ptr); +void QOpenGLTimeMonitor_Reset(void* ptr); +int QOpenGLTimeMonitor_SampleCount(void* ptr); +void QOpenGLTimeMonitor_SetSampleCount(void* ptr, int sampleCount); +void QOpenGLTimeMonitor_DestroyQOpenGLTimeMonitor(void* ptr); +void QOpenGLTimeMonitor_DestroyQOpenGLTimeMonitorDefault(void* ptr); +unsigned int QOpenGLTimeMonitor___objectIds_atList(void* ptr, int i); +void QOpenGLTimeMonitor___objectIds_setList(void* ptr, unsigned int i); +void* QOpenGLTimeMonitor___objectIds_newList(void* ptr); +void* QOpenGLTimeMonitor___waitForIntervals_newList(void* ptr); +void* QOpenGLTimeMonitor___waitForSamples_newList(void* ptr); +void* QOpenGLTimeMonitor___children_atList(void* ptr, int i); +void QOpenGLTimeMonitor___children_setList(void* ptr, void* i); +void* QOpenGLTimeMonitor___children_newList(void* ptr); +void* QOpenGLTimeMonitor___dynamicPropertyNames_atList(void* ptr, int i); +void QOpenGLTimeMonitor___dynamicPropertyNames_setList(void* ptr, void* i); +void* QOpenGLTimeMonitor___dynamicPropertyNames_newList(void* ptr); +void* QOpenGLTimeMonitor___findChildren_atList(void* ptr, int i); +void QOpenGLTimeMonitor___findChildren_setList(void* ptr, void* i); +void* QOpenGLTimeMonitor___findChildren_newList(void* ptr); +void* QOpenGLTimeMonitor___findChildren_atList3(void* ptr, int i); +void QOpenGLTimeMonitor___findChildren_setList3(void* ptr, void* i); +void* QOpenGLTimeMonitor___findChildren_newList3(void* ptr); +void* QOpenGLTimeMonitor___qFindChildren_atList2(void* ptr, int i); +void QOpenGLTimeMonitor___qFindChildren_setList2(void* ptr, void* i); +void* QOpenGLTimeMonitor___qFindChildren_newList2(void* ptr); +void QOpenGLTimeMonitor_ChildEventDefault(void* ptr, void* event); +void QOpenGLTimeMonitor_ConnectNotifyDefault(void* ptr, void* sign); +void QOpenGLTimeMonitor_CustomEventDefault(void* ptr, void* event); +void QOpenGLTimeMonitor_DeleteLaterDefault(void* ptr); +void QOpenGLTimeMonitor_DisconnectNotifyDefault(void* ptr, void* sign); +char QOpenGLTimeMonitor_EventDefault(void* ptr, void* e); +char QOpenGLTimeMonitor_EventFilterDefault(void* ptr, void* watched, void* event); +void* QOpenGLTimeMonitor_MetaObjectDefault(void* ptr); +void QOpenGLTimeMonitor_TimerEventDefault(void* ptr, void* event); +void* QOpenGLTimerQuery_NewQOpenGLTimerQuery(void* parent); +void QOpenGLTimerQuery_Begin(void* ptr); +char QOpenGLTimerQuery_Create(void* ptr); +void QOpenGLTimerQuery_Destroy(void* ptr); +void QOpenGLTimerQuery_End(void* ptr); +char QOpenGLTimerQuery_IsCreated(void* ptr); +char QOpenGLTimerQuery_IsResultAvailable(void* ptr); +unsigned int QOpenGLTimerQuery_ObjectId(void* ptr); +void QOpenGLTimerQuery_RecordTimestamp(void* ptr); +void QOpenGLTimerQuery_DestroyQOpenGLTimerQuery(void* ptr); +void QOpenGLTimerQuery_DestroyQOpenGLTimerQueryDefault(void* ptr); +void* QOpenGLTimerQuery___children_atList(void* ptr, int i); +void QOpenGLTimerQuery___children_setList(void* ptr, void* i); +void* QOpenGLTimerQuery___children_newList(void* ptr); +void* QOpenGLTimerQuery___dynamicPropertyNames_atList(void* ptr, int i); +void QOpenGLTimerQuery___dynamicPropertyNames_setList(void* ptr, void* i); +void* QOpenGLTimerQuery___dynamicPropertyNames_newList(void* ptr); +void* QOpenGLTimerQuery___findChildren_atList(void* ptr, int i); +void QOpenGLTimerQuery___findChildren_setList(void* ptr, void* i); +void* QOpenGLTimerQuery___findChildren_newList(void* ptr); +void* QOpenGLTimerQuery___findChildren_atList3(void* ptr, int i); +void QOpenGLTimerQuery___findChildren_setList3(void* ptr, void* i); +void* QOpenGLTimerQuery___findChildren_newList3(void* ptr); +void* QOpenGLTimerQuery___qFindChildren_atList2(void* ptr, int i); +void QOpenGLTimerQuery___qFindChildren_setList2(void* ptr, void* i); +void* QOpenGLTimerQuery___qFindChildren_newList2(void* ptr); +void QOpenGLTimerQuery_ChildEventDefault(void* ptr, void* event); +void QOpenGLTimerQuery_ConnectNotifyDefault(void* ptr, void* sign); +void QOpenGLTimerQuery_CustomEventDefault(void* ptr, void* event); +void QOpenGLTimerQuery_DeleteLaterDefault(void* ptr); +void QOpenGLTimerQuery_DisconnectNotifyDefault(void* ptr, void* sign); +char QOpenGLTimerQuery_EventDefault(void* ptr, void* e); +char QOpenGLTimerQuery_EventFilterDefault(void* ptr, void* watched, void* event); +void* QOpenGLTimerQuery_MetaObjectDefault(void* ptr); +void QOpenGLTimerQuery_TimerEventDefault(void* ptr, void* event); +void* QOpenGLVersionProfile_NewQOpenGLVersionProfile(); +void* QOpenGLVersionProfile_NewQOpenGLVersionProfile2(void* format); +void* QOpenGLVersionProfile_NewQOpenGLVersionProfile3(void* other); +char QOpenGLVersionProfile_HasProfiles(void* ptr); +char QOpenGLVersionProfile_IsLegacyVersion(void* ptr); +char QOpenGLVersionProfile_IsValid(void* ptr); +long long QOpenGLVersionProfile_Profile(void* ptr); +void QOpenGLVersionProfile_SetProfile(void* ptr, long long profile); +void QOpenGLVersionProfile_SetVersion(void* ptr, int majorVersion, int minorVersion); +void QOpenGLVersionProfile_DestroyQOpenGLVersionProfile(void* ptr); +void* QOpenGLVertexArrayObject_NewQOpenGLVertexArrayObject(void* parent); +void QOpenGLVertexArrayObject_Bind(void* ptr); +char QOpenGLVertexArrayObject_Create(void* ptr); +void QOpenGLVertexArrayObject_Destroy(void* ptr); +char QOpenGLVertexArrayObject_IsCreated(void* ptr); +unsigned int QOpenGLVertexArrayObject_ObjectId(void* ptr); +void QOpenGLVertexArrayObject_Release(void* ptr); +void QOpenGLVertexArrayObject_DestroyQOpenGLVertexArrayObject(void* ptr); +void QOpenGLVertexArrayObject_DestroyQOpenGLVertexArrayObjectDefault(void* ptr); +void* QOpenGLVertexArrayObject___children_atList(void* ptr, int i); +void QOpenGLVertexArrayObject___children_setList(void* ptr, void* i); +void* QOpenGLVertexArrayObject___children_newList(void* ptr); +void* QOpenGLVertexArrayObject___dynamicPropertyNames_atList(void* ptr, int i); +void QOpenGLVertexArrayObject___dynamicPropertyNames_setList(void* ptr, void* i); +void* QOpenGLVertexArrayObject___dynamicPropertyNames_newList(void* ptr); +void* QOpenGLVertexArrayObject___findChildren_atList(void* ptr, int i); +void QOpenGLVertexArrayObject___findChildren_setList(void* ptr, void* i); +void* QOpenGLVertexArrayObject___findChildren_newList(void* ptr); +void* QOpenGLVertexArrayObject___findChildren_atList3(void* ptr, int i); +void QOpenGLVertexArrayObject___findChildren_setList3(void* ptr, void* i); +void* QOpenGLVertexArrayObject___findChildren_newList3(void* ptr); +void* QOpenGLVertexArrayObject___qFindChildren_atList2(void* ptr, int i); +void QOpenGLVertexArrayObject___qFindChildren_setList2(void* ptr, void* i); +void* QOpenGLVertexArrayObject___qFindChildren_newList2(void* ptr); +void QOpenGLVertexArrayObject_ChildEventDefault(void* ptr, void* event); +void QOpenGLVertexArrayObject_ConnectNotifyDefault(void* ptr, void* sign); +void QOpenGLVertexArrayObject_CustomEventDefault(void* ptr, void* event); +void QOpenGLVertexArrayObject_DeleteLaterDefault(void* ptr); +void QOpenGLVertexArrayObject_DisconnectNotifyDefault(void* ptr, void* sign); +char QOpenGLVertexArrayObject_EventDefault(void* ptr, void* e); +char QOpenGLVertexArrayObject_EventFilterDefault(void* ptr, void* watched, void* event); +void* QOpenGLVertexArrayObject_MetaObjectDefault(void* ptr); +void QOpenGLVertexArrayObject_TimerEventDefault(void* ptr, void* event); +void* QOpenGLWindow_NewQOpenGLWindow(long long updateBehavior, void* parent); +void* QOpenGLWindow_NewQOpenGLWindow2(void* shareContext, long long updateBehavior, void* parent); +void* QOpenGLWindow_Context(void* ptr); +unsigned int QOpenGLWindow_DefaultFramebufferObject(void* ptr); +void QOpenGLWindow_DoneCurrent(void* ptr); +void QOpenGLWindow_ConnectFrameSwapped(void* ptr, long long t); +void QOpenGLWindow_DisconnectFrameSwapped(void* ptr); +void QOpenGLWindow_FrameSwapped(void* ptr); +void* QOpenGLWindow_GrabFramebuffer(void* ptr); +void QOpenGLWindow_InitializeGL(void* ptr); +void QOpenGLWindow_InitializeGLDefault(void* ptr); +char QOpenGLWindow_IsValid(void* ptr); +void QOpenGLWindow_MakeCurrent(void* ptr); +void QOpenGLWindow_PaintGL(void* ptr); +void QOpenGLWindow_PaintGLDefault(void* ptr); +void QOpenGLWindow_PaintOverGL(void* ptr); +void QOpenGLWindow_PaintOverGLDefault(void* ptr); +void QOpenGLWindow_PaintUnderGL(void* ptr); +void QOpenGLWindow_PaintUnderGLDefault(void* ptr); +void QOpenGLWindow_ResizeGL(void* ptr, int w, int h); +void QOpenGLWindow_ResizeGLDefault(void* ptr, int w, int h); +void* QOpenGLWindow_ShareContext(void* ptr); +long long QOpenGLWindow_UpdateBehavior(void* ptr); +void QOpenGLWindow_DestroyQOpenGLWindow(void* ptr); +void QOpenGLWindow_DestroyQOpenGLWindowDefault(void* ptr); +void* QPageLayout_NewQPageLayout(); +void* QPageLayout_NewQPageLayout2(void* pageSize, long long orientation, void* margins, long long units, void* minMargins); +void* QPageLayout_NewQPageLayout3(void* other); +void* QPageLayout_FullRect(void* ptr); +void* QPageLayout_FullRect2(void* ptr, long long units); +void* QPageLayout_FullRectPixels(void* ptr, int resolution); +void* QPageLayout_FullRectPoints(void* ptr); +char QPageLayout_IsEquivalentTo(void* ptr, void* other); +char QPageLayout_IsValid(void* ptr); +void* QPageLayout_Margins(void* ptr); +void* QPageLayout_Margins2(void* ptr, long long units); +void* QPageLayout_MarginsPixels(void* ptr, int resolution); +void* QPageLayout_MarginsPoints(void* ptr); +void* QPageLayout_MaximumMargins(void* ptr); +void* QPageLayout_MinimumMargins(void* ptr); +long long QPageLayout_Mode(void* ptr); +long long QPageLayout_Orientation(void* ptr); +void* QPageLayout_PageSize(void* ptr); +void* QPageLayout_PaintRect(void* ptr); +void* QPageLayout_PaintRect2(void* ptr, long long units); +void* QPageLayout_PaintRectPixels(void* ptr, int resolution); +void* QPageLayout_PaintRectPoints(void* ptr); +char QPageLayout_SetBottomMargin(void* ptr, double bottomMargin); +char QPageLayout_SetLeftMargin(void* ptr, double leftMargin); +char QPageLayout_SetMargins(void* ptr, void* margins); +void QPageLayout_SetMinimumMargins(void* ptr, void* minMargins); +void QPageLayout_SetMode(void* ptr, long long mode); +void QPageLayout_SetOrientation(void* ptr, long long orientation); +void QPageLayout_SetPageSize(void* ptr, void* pageSize, void* minMargins); +char QPageLayout_SetRightMargin(void* ptr, double rightMargin); +char QPageLayout_SetTopMargin(void* ptr, double topMargin); +void QPageLayout_SetUnits(void* ptr, long long units); +void QPageLayout_Swap(void* ptr, void* other); +long long QPageLayout_Units(void* ptr); +void QPageLayout_DestroyQPageLayout(void* ptr); +void* QPageSize_NewQPageSize(); +void* QPageSize_NewQPageSize2(long long pageSize); +void* QPageSize_NewQPageSize3(void* pointSize, struct QtGui_PackedString name, long long matchPolicy); +void* QPageSize_NewQPageSize4(void* size, long long units, struct QtGui_PackedString name, long long matchPolicy); +void* QPageSize_NewQPageSize5(void* other); +void* QPageSize_DefinitionSize(void* ptr); +void* QPageSize_QPageSize_DefinitionSize2(long long pageSizeId); +long long QPageSize_DefinitionUnits(void* ptr); +long long QPageSize_QPageSize_DefinitionUnits2(long long pageSizeId); +long long QPageSize_Id(void* ptr); +long long QPageSize_QPageSize_Id2(void* pointSize, long long matchPolicy); +long long QPageSize_QPageSize_Id3(void* size, long long units, long long matchPolicy); +long long QPageSize_QPageSize_Id4(int windowsId); +char QPageSize_IsEquivalentTo(void* ptr, void* other); +char QPageSize_IsValid(void* ptr); +struct QtGui_PackedString QPageSize_Key(void* ptr); +struct QtGui_PackedString QPageSize_QPageSize_Key2(long long pageSizeId); +struct QtGui_PackedString QPageSize_Name(void* ptr); +struct QtGui_PackedString QPageSize_QPageSize_Name2(long long pageSizeId); +void* QPageSize_Rect(void* ptr, long long units); +void* QPageSize_RectPixels(void* ptr, int resolution); +void* QPageSize_RectPoints(void* ptr); +void* QPageSize_Size(void* ptr, long long units); +void* QPageSize_QPageSize_Size2(long long pageSizeId, long long units); +void* QPageSize_SizePixels(void* ptr, int resolution); +void* QPageSize_QPageSize_SizePixels2(long long pageSizeId, int resolution); +void* QPageSize_SizePoints(void* ptr); +void* QPageSize_QPageSize_SizePoints2(long long pageSizeId); +void QPageSize_Swap(void* ptr, void* other); +int QPageSize_WindowsId(void* ptr); +int QPageSize_QPageSize_WindowsId2(long long pageSizeId); +void QPageSize_DestroyQPageSize(void* ptr); +char QPagedPaintDevice_NewPage(void* ptr); +void* QPagedPaintDevice_PageLayout(void* ptr); +long long QPagedPaintDevice_PageSize(void* ptr); +void* QPagedPaintDevice_PageSizeMM(void* ptr); +char QPagedPaintDevice_SetPageLayout(void* ptr, void* newPageLayout); +char QPagedPaintDevice_SetPageMargins(void* ptr, void* margins); +char QPagedPaintDevice_SetPageMargins2(void* ptr, void* margins, long long units); +char QPagedPaintDevice_SetPageOrientation(void* ptr, long long orientation); +char QPagedPaintDevice_SetPageSize(void* ptr, void* pageSize); +void QPagedPaintDevice_SetPageSize2(void* ptr, long long size); +void QPagedPaintDevice_SetPageSize2Default(void* ptr, long long size); +void QPagedPaintDevice_SetPageSizeMM(void* ptr, void* size); +void QPagedPaintDevice_SetPageSizeMMDefault(void* ptr, void* size); +void QPagedPaintDevice_DestroyQPagedPaintDevice(void* ptr); +void QPagedPaintDevice_DestroyQPagedPaintDeviceDefault(void* ptr); +void* QPagedPaintDevice_PaintEngine(void* ptr); +void* QPagedPaintDevice_PaintEngineDefault(void* ptr); +void* QPaintDevice_NewQPaintDevice(); +int QPaintDevice_ColorCount(void* ptr); +int QPaintDevice_Depth(void* ptr); +int QPaintDevice_DevicePixelRatio(void* ptr); +double QPaintDevice_DevicePixelRatioF(void* ptr); +int QPaintDevice_Height(void* ptr); +int QPaintDevice_HeightMM(void* ptr); +int QPaintDevice_LogicalDpiX(void* ptr); +int QPaintDevice_LogicalDpiY(void* ptr); +int QPaintDevice_Metric(void* ptr, long long metric); +int QPaintDevice_MetricDefault(void* ptr, long long metric); +void* QPaintDevice_PaintEngine(void* ptr); +char QPaintDevice_PaintingActive(void* ptr); +int QPaintDevice_PhysicalDpiX(void* ptr); +int QPaintDevice_PhysicalDpiY(void* ptr); +int QPaintDevice_Width(void* ptr); +int QPaintDevice_WidthMM(void* ptr); +void QPaintDevice_DestroyQPaintDevice(void* ptr); +void QPaintDevice_DestroyQPaintDeviceDefault(void* ptr); +void QPaintDeviceWindow_PaintEvent(void* ptr, void* event); +void QPaintDeviceWindow_PaintEventDefault(void* ptr, void* event); +void QPaintDeviceWindow_Update(void* ptr, void* rect); +void QPaintDeviceWindow_Update2(void* ptr, void* region); +void QPaintDeviceWindow_Update3(void* ptr); +void QPaintDeviceWindow_Update3Default(void* ptr); +void* QPaintDeviceWindow_PaintEngine(void* ptr); +void* QPaintDeviceWindow_PaintEngineDefault(void* ptr); +void* QPaintEngine_NewQPaintEngine(long long caps); +char QPaintEngine_Begin(void* ptr, void* pdev); +void QPaintEngine_DrawEllipse(void* ptr, void* rect); +void QPaintEngine_DrawEllipseDefault(void* ptr, void* rect); +void QPaintEngine_DrawEllipse2(void* ptr, void* rect); +void QPaintEngine_DrawEllipse2Default(void* ptr, void* rect); +void QPaintEngine_DrawImage(void* ptr, void* rectangle, void* image, void* sr, long long flags); +void QPaintEngine_DrawImageDefault(void* ptr, void* rectangle, void* image, void* sr, long long flags); +void QPaintEngine_DrawLines(void* ptr, void* lines, int lineCount); +void QPaintEngine_DrawLinesDefault(void* ptr, void* lines, int lineCount); +void QPaintEngine_DrawLines2(void* ptr, void* lines, int lineCount); +void QPaintEngine_DrawLines2Default(void* ptr, void* lines, int lineCount); +void QPaintEngine_DrawPath(void* ptr, void* path); +void QPaintEngine_DrawPathDefault(void* ptr, void* path); +void QPaintEngine_DrawPixmap(void* ptr, void* r, void* pm, void* sr); +void QPaintEngine_DrawPoints(void* ptr, void* points, int pointCount); +void QPaintEngine_DrawPointsDefault(void* ptr, void* points, int pointCount); +void QPaintEngine_DrawPoints2(void* ptr, void* points, int pointCount); +void QPaintEngine_DrawPoints2Default(void* ptr, void* points, int pointCount); +void QPaintEngine_DrawPolygon(void* ptr, void* points, int pointCount, long long mode); +void QPaintEngine_DrawPolygonDefault(void* ptr, void* points, int pointCount, long long mode); +void QPaintEngine_DrawPolygon2(void* ptr, void* points, int pointCount, long long mode); +void QPaintEngine_DrawPolygon2Default(void* ptr, void* points, int pointCount, long long mode); +void QPaintEngine_DrawRects(void* ptr, void* rects, int rectCount); +void QPaintEngine_DrawRectsDefault(void* ptr, void* rects, int rectCount); +void QPaintEngine_DrawRects2(void* ptr, void* rects, int rectCount); +void QPaintEngine_DrawRects2Default(void* ptr, void* rects, int rectCount); +void QPaintEngine_DrawTextItem(void* ptr, void* p, void* textItem); +void QPaintEngine_DrawTextItemDefault(void* ptr, void* p, void* textItem); +void QPaintEngine_DrawTiledPixmap(void* ptr, void* rect, void* pixmap, void* p); +void QPaintEngine_DrawTiledPixmapDefault(void* ptr, void* rect, void* pixmap, void* p); +char QPaintEngine_End(void* ptr); +char QPaintEngine_HasFeature(void* ptr, long long feature); +char QPaintEngine_IsActive(void* ptr); +void* QPaintEngine_PaintDevice(void* ptr); +void* QPaintEngine_Painter(void* ptr); +void QPaintEngine_SetActive(void* ptr, char state); +long long QPaintEngine_Type(void* ptr); +void QPaintEngine_UpdateState(void* ptr, void* state); +void QPaintEngine_DestroyQPaintEngine(void* ptr); +void QPaintEngine_DestroyQPaintEngineDefault(void* ptr); +void* QPaintEngineState_BackgroundBrush(void* ptr); +long long QPaintEngineState_BackgroundMode(void* ptr); +void* QPaintEngineState_Brush(void* ptr); +char QPaintEngineState_BrushNeedsResolving(void* ptr); +void* QPaintEngineState_BrushOrigin(void* ptr); +long long QPaintEngineState_ClipOperation(void* ptr); +void* QPaintEngineState_ClipPath(void* ptr); +void* QPaintEngineState_ClipRegion(void* ptr); +long long QPaintEngineState_CompositionMode(void* ptr); +void* QPaintEngineState_Font(void* ptr); +char QPaintEngineState_IsClipEnabled(void* ptr); +double QPaintEngineState_Opacity(void* ptr); +void* QPaintEngineState_Painter(void* ptr); +void* QPaintEngineState_Pen(void* ptr); +char QPaintEngineState_PenNeedsResolving(void* ptr); +long long QPaintEngineState_RenderHints(void* ptr); +long long QPaintEngineState_State(void* ptr); +void* QPaintEngineState_Transform(void* ptr); +void* QPaintEvent_NewQPaintEvent(void* paintRegion); +void* QPaintEvent_NewQPaintEvent2(void* paintRect); +void* QPaintEvent_Rect(void* ptr); +void* QPaintEvent_Region(void* ptr); +void* QPainter_NewQPainter(); +void* QPainter_NewQPainter2(void* device); +void* QPainter_Background(void* ptr); +long long QPainter_BackgroundMode(void* ptr); +char QPainter_Begin(void* ptr, void* device); +void QPainter_BeginNativePainting(void* ptr); +void* QPainter_BoundingRect(void* ptr, void* rectangle, int flags, struct QtGui_PackedString text); +void* QPainter_BoundingRect2(void* ptr, void* rectangle, int flags, struct QtGui_PackedString text); +void* QPainter_BoundingRect3(void* ptr, int x, int y, int w, int h, int flags, struct QtGui_PackedString text); +void* QPainter_BoundingRect4(void* ptr, void* rectangle, struct QtGui_PackedString text, void* option); +void* QPainter_Brush(void* ptr); +void* QPainter_BrushOrigin(void* ptr); +void* QPainter_ClipBoundingRect(void* ptr); +void* QPainter_ClipPath(void* ptr); +void* QPainter_ClipRegion(void* ptr); +void* QPainter_CombinedTransform(void* ptr); +long long QPainter_CompositionMode(void* ptr); +void* QPainter_Device(void* ptr); +void* QPainter_DeviceTransform(void* ptr); +void QPainter_DrawArc(void* ptr, void* rectangle, int startAngle, int spanAngle); +void QPainter_DrawArc2(void* ptr, void* rectangle, int startAngle, int spanAngle); +void QPainter_DrawArc3(void* ptr, int x, int y, int width, int height, int startAngle, int spanAngle); +void QPainter_DrawChord(void* ptr, void* rectangle, int startAngle, int spanAngle); +void QPainter_DrawChord2(void* ptr, int x, int y, int width, int height, int startAngle, int spanAngle); +void QPainter_DrawChord3(void* ptr, void* rectangle, int startAngle, int spanAngle); +void QPainter_DrawConvexPolygon(void* ptr, void* points, int pointCount); +void QPainter_DrawConvexPolygon2(void* ptr, void* polygon); +void QPainter_DrawConvexPolygon3(void* ptr, void* points, int pointCount); +void QPainter_DrawConvexPolygon4(void* ptr, void* polygon); +void QPainter_DrawEllipse(void* ptr, void* rectangle); +void QPainter_DrawEllipse2(void* ptr, void* rectangle); +void QPainter_DrawEllipse3(void* ptr, int x, int y, int width, int height); +void QPainter_DrawEllipse4(void* ptr, void* center, double rx, double ry); +void QPainter_DrawEllipse5(void* ptr, void* center, int rx, int ry); +void QPainter_DrawGlyphRun(void* ptr, void* position, void* glyphs); +void QPainter_DrawImage(void* ptr, void* target, void* image, void* source, long long flags); +void QPainter_DrawImage2(void* ptr, void* target, void* image, void* source, long long flags); +void QPainter_DrawImage3(void* ptr, void* point, void* image, void* source, long long flags); +void QPainter_DrawImage4(void* ptr, void* point, void* image, void* source, long long flags); +void QPainter_DrawImage5(void* ptr, void* rectangle, void* image); +void QPainter_DrawImage6(void* ptr, void* rectangle, void* image); +void QPainter_DrawImage7(void* ptr, void* point, void* image); +void QPainter_DrawImage8(void* ptr, void* point, void* image); +void QPainter_DrawImage9(void* ptr, int x, int y, void* image, int sx, int sy, int sw, int sh, long long flags); +void QPainter_DrawLine(void* ptr, void* line); +void QPainter_DrawLine2(void* ptr, void* line); +void QPainter_DrawLine3(void* ptr, int x1, int y1, int x2, int y2); +void QPainter_DrawLine4(void* ptr, void* p1, void* p2); +void QPainter_DrawLine5(void* ptr, void* p1, void* p2); +void QPainter_DrawLines(void* ptr, void* lines, int lineCount); +void QPainter_DrawLines2(void* ptr, void* lines); +void QPainter_DrawLines3(void* ptr, void* pointPairs, int lineCount); +void QPainter_DrawLines4(void* ptr, void* pointPairs); +void QPainter_DrawLines5(void* ptr, void* lines, int lineCount); +void QPainter_DrawLines6(void* ptr, void* lines); +void QPainter_DrawLines7(void* ptr, void* pointPairs, int lineCount); +void QPainter_DrawLines8(void* ptr, void* pointPairs); +void QPainter_DrawPath(void* ptr, void* path); +void QPainter_DrawPicture(void* ptr, void* point, void* picture); +void QPainter_DrawPicture2(void* ptr, int x, int y, void* picture); +void QPainter_DrawPicture3(void* ptr, void* point, void* picture); +void QPainter_DrawPie(void* ptr, void* rectangle, int startAngle, int spanAngle); +void QPainter_DrawPie2(void* ptr, int x, int y, int width, int height, int startAngle, int spanAngle); +void QPainter_DrawPie3(void* ptr, void* rectangle, int startAngle, int spanAngle); +void QPainter_DrawPixmap(void* ptr, void* target, void* pixmap, void* source); +void QPainter_DrawPixmap2(void* ptr, void* target, void* pixmap, void* source); +void QPainter_DrawPixmap3(void* ptr, int x, int y, int w, int h, void* pixmap, int sx, int sy, int sw, int sh); +void QPainter_DrawPixmap4(void* ptr, int x, int y, void* pixmap, int sx, int sy, int sw, int sh); +void QPainter_DrawPixmap5(void* ptr, void* point, void* pixmap, void* source); +void QPainter_DrawPixmap6(void* ptr, void* point, void* pixmap, void* source); +void QPainter_DrawPixmap7(void* ptr, void* point, void* pixmap); +void QPainter_DrawPixmap8(void* ptr, void* point, void* pixmap); +void QPainter_DrawPixmap9(void* ptr, int x, int y, void* pixmap); +void QPainter_DrawPixmap10(void* ptr, void* rectangle, void* pixmap); +void QPainter_DrawPixmap11(void* ptr, int x, int y, int width, int height, void* pixmap); +void QPainter_DrawPoint(void* ptr, void* position); +void QPainter_DrawPoint2(void* ptr, void* position); +void QPainter_DrawPoint3(void* ptr, int x, int y); +void QPainter_DrawPoints(void* ptr, void* points, int pointCount); +void QPainter_DrawPoints2(void* ptr, void* points); +void QPainter_DrawPoints3(void* ptr, void* points, int pointCount); +void QPainter_DrawPoints4(void* ptr, void* points); +void QPainter_DrawPolygon(void* ptr, void* points, int pointCount, long long fillRule); +void QPainter_DrawPolygon2(void* ptr, void* points, long long fillRule); +void QPainter_DrawPolygon3(void* ptr, void* points, int pointCount, long long fillRule); +void QPainter_DrawPolygon4(void* ptr, void* points, long long fillRule); +void QPainter_DrawPolyline(void* ptr, void* points, int pointCount); +void QPainter_DrawPolyline2(void* ptr, void* points); +void QPainter_DrawPolyline3(void* ptr, void* points, int pointCount); +void QPainter_DrawPolyline4(void* ptr, void* points); +void QPainter_DrawRect(void* ptr, void* rectangle); +void QPainter_DrawRect2(void* ptr, int x, int y, int width, int height); +void QPainter_DrawRect3(void* ptr, void* rectangle); +void QPainter_DrawRects(void* ptr, void* rectangles, int rectCount); +void QPainter_DrawRects2(void* ptr, void* rectangles); +void QPainter_DrawRects3(void* ptr, void* rectangles, int rectCount); +void QPainter_DrawRects4(void* ptr, void* rectangles); +void QPainter_DrawRoundedRect(void* ptr, void* rect, double xRadius, double yRadius, long long mode); +void QPainter_DrawRoundedRect2(void* ptr, int x, int y, int w, int h, double xRadius, double yRadius, long long mode); +void QPainter_DrawRoundedRect3(void* ptr, void* rect, double xRadius, double yRadius, long long mode); +void QPainter_DrawStaticText(void* ptr, void* topLeftPosition, void* staticText); +void QPainter_DrawStaticText2(void* ptr, void* topLeftPosition, void* staticText); +void QPainter_DrawStaticText3(void* ptr, int left, int top, void* staticText); +void QPainter_DrawText(void* ptr, void* position, struct QtGui_PackedString text); +void QPainter_DrawText2(void* ptr, void* position, struct QtGui_PackedString text); +void QPainter_DrawText3(void* ptr, int x, int y, struct QtGui_PackedString text); +void QPainter_DrawText4(void* ptr, void* rectangle, int flags, struct QtGui_PackedString text, void* boundingRect); +void QPainter_DrawText5(void* ptr, int x, int y, int width, int height, int flags, struct QtGui_PackedString text, void* boundingRect); +void QPainter_DrawText6(void* ptr, void* rectangle, struct QtGui_PackedString text, void* option); +void QPainter_DrawTiledPixmap(void* ptr, void* rectangle, void* pixmap, void* position); +void QPainter_DrawTiledPixmap2(void* ptr, int x, int y, int width, int height, void* pixmap, int sx, int sy); +void QPainter_DrawTiledPixmap3(void* ptr, void* rectangle, void* pixmap, void* position); +char QPainter_End(void* ptr); +void QPainter_EndNativePainting(void* ptr); +void QPainter_EraseRect(void* ptr, void* rectangle); +void QPainter_EraseRect2(void* ptr, int x, int y, int width, int height); +void QPainter_EraseRect3(void* ptr, void* rectangle); +void QPainter_FillPath(void* ptr, void* path, void* brush); +void QPainter_FillRect(void* ptr, void* rectangle, void* brush); +void QPainter_FillRect2(void* ptr, int x, int y, int width, int height, void* brush); +void QPainter_FillRect3(void* ptr, void* rectangle, void* brush); +void QPainter_FillRect4(void* ptr, void* rectangle, void* color); +void QPainter_FillRect5(void* ptr, int x, int y, int width, int height, void* color); +void QPainter_FillRect6(void* ptr, void* rectangle, void* color); +void QPainter_FillRect7(void* ptr, int x, int y, int width, int height, long long color); +void QPainter_FillRect8(void* ptr, void* rectangle, long long color); +void QPainter_FillRect9(void* ptr, void* rectangle, long long color); +void QPainter_FillRect10(void* ptr, int x, int y, int width, int height, long long style); +void QPainter_FillRect11(void* ptr, void* rectangle, long long style); +void QPainter_FillRect12(void* ptr, void* rectangle, long long style); +void QPainter_FillRect13(void* ptr, int x, int y, int width, int height, long long preset); +void QPainter_FillRect14(void* ptr, void* rectangle, long long preset); +void QPainter_FillRect15(void* ptr, void* rectangle, long long preset); +void* QPainter_Font(void* ptr); +void* QPainter_FontInfo(void* ptr); +void* QPainter_FontMetrics(void* ptr); +char QPainter_HasClipping(void* ptr); +char QPainter_IsActive(void* ptr); +long long QPainter_LayoutDirection(void* ptr); +double QPainter_Opacity(void* ptr); +void* QPainter_PaintEngine(void* ptr); +void* QPainter_Pen(void* ptr); +long long QPainter_RenderHints(void* ptr); +void QPainter_ResetTransform(void* ptr); +void QPainter_Restore(void* ptr); +void QPainter_Rotate(void* ptr, double angle); +void QPainter_Save(void* ptr); +void QPainter_Scale(void* ptr, double sx, double sy); +void QPainter_SetBackground(void* ptr, void* brush); +void QPainter_SetBackgroundMode(void* ptr, long long mode); +void QPainter_SetBrush(void* ptr, void* brush); +void QPainter_SetBrush2(void* ptr, long long style); +void QPainter_SetBrushOrigin(void* ptr, void* position); +void QPainter_SetBrushOrigin2(void* ptr, int x, int y); +void QPainter_SetBrushOrigin3(void* ptr, void* position); +void QPainter_SetClipPath(void* ptr, void* path, long long operation); +void QPainter_SetClipRect(void* ptr, void* rectangle, long long operation); +void QPainter_SetClipRect2(void* ptr, void* rectangle, long long operation); +void QPainter_SetClipRect3(void* ptr, int x, int y, int width, int height, long long operation); +void QPainter_SetClipRegion(void* ptr, void* region, long long operation); +void QPainter_SetClipping(void* ptr, char enable); +void QPainter_SetCompositionMode(void* ptr, long long mode); +void QPainter_SetFont(void* ptr, void* font); +void QPainter_SetLayoutDirection(void* ptr, long long direction); +void QPainter_SetOpacity(void* ptr, double opacity); +void QPainter_SetPen(void* ptr, void* pen); +void QPainter_SetPen2(void* ptr, void* color); +void QPainter_SetPen3(void* ptr, long long style); +void QPainter_SetRenderHint(void* ptr, long long hint, char on); +void QPainter_SetRenderHints(void* ptr, long long hints, char on); +void QPainter_SetTransform(void* ptr, void* transform, char combine); +void QPainter_SetViewTransformEnabled(void* ptr, char enable); +void QPainter_SetViewport(void* ptr, void* rectangle); +void QPainter_SetViewport2(void* ptr, int x, int y, int width, int height); +void QPainter_SetWindow(void* ptr, void* rectangle); +void QPainter_SetWindow2(void* ptr, int x, int y, int width, int height); +void QPainter_SetWorldMatrixEnabled(void* ptr, char enable); +void QPainter_SetWorldTransform(void* ptr, void* matrix, char combine); +void QPainter_Shear(void* ptr, double sh, double sv); +void QPainter_StrokePath(void* ptr, void* path, void* pen); +char QPainter_TestRenderHint(void* ptr, long long hint); +void* QPainter_Transform(void* ptr); +void QPainter_Translate(void* ptr, void* offset); +void QPainter_Translate2(void* ptr, void* offset); +void QPainter_Translate3(void* ptr, double dx, double dy); +char QPainter_ViewTransformEnabled(void* ptr); +void* QPainter_Viewport(void* ptr); +void* QPainter_Window(void* ptr); +char QPainter_WorldMatrixEnabled(void* ptr); +void* QPainter_WorldTransform(void* ptr); +void QPainter_DestroyQPainter(void* ptr); +void* QPainter___drawLines_lines_atList2(void* ptr, int i); +void QPainter___drawLines_lines_setList2(void* ptr, void* i); +void* QPainter___drawLines_lines_newList2(void* ptr); +void* QPainter___drawLines_pointPairs_atList4(void* ptr, int i); +void QPainter___drawLines_pointPairs_setList4(void* ptr, void* i); +void* QPainter___drawLines_pointPairs_newList4(void* ptr); +void* QPainter___drawLines_lines_atList6(void* ptr, int i); +void QPainter___drawLines_lines_setList6(void* ptr, void* i); +void* QPainter___drawLines_lines_newList6(void* ptr); +void* QPainter___drawLines_pointPairs_atList8(void* ptr, int i); +void QPainter___drawLines_pointPairs_setList8(void* ptr, void* i); +void* QPainter___drawLines_pointPairs_newList8(void* ptr); +void* QPainter___drawRects_rectangles_atList2(void* ptr, int i); +void QPainter___drawRects_rectangles_setList2(void* ptr, void* i); +void* QPainter___drawRects_rectangles_newList2(void* ptr); +void* QPainter___drawRects_rectangles_atList4(void* ptr, int i); +void QPainter___drawRects_rectangles_setList4(void* ptr, void* i); +void* QPainter___drawRects_rectangles_newList4(void* ptr); +void* QPainterPath_NewQPainterPath(); +void* QPainterPath_NewQPainterPath2(void* startPoint); +void* QPainterPath_NewQPainterPath3(void* path); +void QPainterPath_AddEllipse(void* ptr, void* boundingRectangle); +void QPainterPath_AddEllipse2(void* ptr, double x, double y, double width, double height); +void QPainterPath_AddEllipse3(void* ptr, void* center, double rx, double ry); +void QPainterPath_AddPath(void* ptr, void* path); +void QPainterPath_AddPolygon(void* ptr, void* polygon); +void QPainterPath_AddRect(void* ptr, void* rectangle); +void QPainterPath_AddRect2(void* ptr, double x, double y, double width, double height); +void QPainterPath_AddRegion(void* ptr, void* region); +void QPainterPath_AddRoundedRect(void* ptr, void* rect, double xRadius, double yRadius, long long mode); +void QPainterPath_AddRoundedRect2(void* ptr, double x, double y, double w, double h, double xRadius, double yRadius, long long mode); +void QPainterPath_AddText(void* ptr, void* point, void* font, struct QtGui_PackedString text); +void QPainterPath_AddText2(void* ptr, double x, double y, void* font, struct QtGui_PackedString text); +double QPainterPath_AngleAtPercent(void* ptr, double t); +void QPainterPath_ArcMoveTo(void* ptr, void* rectangle, double angle); +void QPainterPath_ArcMoveTo2(void* ptr, double x, double y, double width, double height, double angle); +void QPainterPath_ArcTo(void* ptr, void* rectangle, double startAngle, double sweepLength); +void QPainterPath_ArcTo2(void* ptr, double x, double y, double width, double height, double startAngle, double sweepLength); +void* QPainterPath_BoundingRect(void* ptr); +int QPainterPath_Capacity(void* ptr); +void QPainterPath_Clear(void* ptr); +void QPainterPath_CloseSubpath(void* ptr); +void QPainterPath_ConnectPath(void* ptr, void* path); +char QPainterPath_Contains(void* ptr, void* point); +char QPainterPath_Contains2(void* ptr, void* rectangle); +char QPainterPath_Contains3(void* ptr, void* p); +void* QPainterPath_ControlPointRect(void* ptr); +void QPainterPath_CubicTo(void* ptr, void* c1, void* c2, void* endPoint); +void QPainterPath_CubicTo2(void* ptr, double c1X, double c1Y, double c2X, double c2Y, double endPointX, double endPointY); +void* QPainterPath_CurrentPosition(void* ptr); +int QPainterPath_ElementCount(void* ptr); +long long QPainterPath_FillRule(void* ptr); +void* QPainterPath_Intersected(void* ptr, void* p); +char QPainterPath_Intersects(void* ptr, void* rectangle); +char QPainterPath_Intersects2(void* ptr, void* p); +char QPainterPath_IsEmpty(void* ptr); +double QPainterPath_Length(void* ptr); +void QPainterPath_LineTo(void* ptr, void* endPoint); +void QPainterPath_LineTo2(void* ptr, double x, double y); +void QPainterPath_MoveTo(void* ptr, void* point); +void QPainterPath_MoveTo2(void* ptr, double x, double y); +double QPainterPath_PercentAtLength(void* ptr, double l); +void* QPainterPath_PointAtPercent(void* ptr, double t); +void QPainterPath_QuadTo(void* ptr, void* c, void* endPoint); +void QPainterPath_QuadTo2(void* ptr, double cx, double cy, double endPointX, double endPointY); +void QPainterPath_Reserve(void* ptr, int size); +void QPainterPath_SetElementPositionAt(void* ptr, int index, double x, double y); +void QPainterPath_SetFillRule(void* ptr, long long fillRule); +void* QPainterPath_Simplified(void* ptr); +double QPainterPath_SlopeAtPercent(void* ptr, double t); +void* QPainterPath_Subtracted(void* ptr, void* p); +void QPainterPath_Swap(void* ptr, void* other); +void* QPainterPath_ToFillPolygon(void* ptr, void* matrix); +void* QPainterPath_ToFillPolygon2(void* ptr, void* matrix); +struct QtGui_PackedList QPainterPath_ToFillPolygons(void* ptr, void* matrix); +struct QtGui_PackedList QPainterPath_ToFillPolygons2(void* ptr, void* matrix); +void* QPainterPath_ToReversed(void* ptr); +struct QtGui_PackedList QPainterPath_ToSubpathPolygons(void* ptr, void* matrix); +struct QtGui_PackedList QPainterPath_ToSubpathPolygons2(void* ptr, void* matrix); +void QPainterPath_Translate(void* ptr, double dx, double dy); +void QPainterPath_Translate2(void* ptr, void* offset); +void* QPainterPath_Translated(void* ptr, double dx, double dy); +void* QPainterPath_Translated2(void* ptr, void* offset); +void* QPainterPath_United(void* ptr, void* p); +void QPainterPath_DestroyQPainterPath(void* ptr); +void* QPainterPath___toFillPolygons_atList(void* ptr, int i); +void QPainterPath___toFillPolygons_setList(void* ptr, void* i); +void* QPainterPath___toFillPolygons_newList(void* ptr); +void* QPainterPath___toFillPolygons_atList2(void* ptr, int i); +void QPainterPath___toFillPolygons_setList2(void* ptr, void* i); +void* QPainterPath___toFillPolygons_newList2(void* ptr); +void* QPainterPath___toSubpathPolygons_atList(void* ptr, int i); +void QPainterPath___toSubpathPolygons_setList(void* ptr, void* i); +void* QPainterPath___toSubpathPolygons_newList(void* ptr); +void* QPainterPath___toSubpathPolygons_atList2(void* ptr, int i); +void QPainterPath___toSubpathPolygons_setList2(void* ptr, void* i); +void* QPainterPath___toSubpathPolygons_newList2(void* ptr); +void* QPainterPathStroker_NewQPainterPathStroker(); +void* QPainterPathStroker_NewQPainterPathStroker2(void* pen); +long long QPainterPathStroker_CapStyle(void* ptr); +void* QPainterPathStroker_CreateStroke(void* ptr, void* path); +double QPainterPathStroker_CurveThreshold(void* ptr); +double QPainterPathStroker_DashOffset(void* ptr); +struct QtGui_PackedList QPainterPathStroker_DashPattern(void* ptr); +long long QPainterPathStroker_JoinStyle(void* ptr); +double QPainterPathStroker_MiterLimit(void* ptr); +void QPainterPathStroker_SetCapStyle(void* ptr, long long style); +void QPainterPathStroker_SetCurveThreshold(void* ptr, double threshold); +void QPainterPathStroker_SetDashOffset(void* ptr, double offset); +void QPainterPathStroker_SetDashPattern(void* ptr, long long style); +void QPainterPathStroker_SetDashPattern2(void* ptr, void* dashPattern); +void QPainterPathStroker_SetJoinStyle(void* ptr, long long style); +void QPainterPathStroker_SetMiterLimit(void* ptr, double limit); +void QPainterPathStroker_SetWidth(void* ptr, double width); +double QPainterPathStroker_Width(void* ptr); +void QPainterPathStroker_DestroyQPainterPathStroker(void* ptr); +double QPainterPathStroker___dashPattern_atList(void* ptr, int i); +void QPainterPathStroker___dashPattern_setList(void* ptr, double i); +void* QPainterPathStroker___dashPattern_newList(void* ptr); +double QPainterPathStroker___setDashPattern_dashPattern_atList2(void* ptr, int i); +void QPainterPathStroker___setDashPattern_dashPattern_setList2(void* ptr, double i); +void* QPainterPathStroker___setDashPattern_dashPattern_newList2(void* ptr); +int QPalette_NColorRoles_Type(); +void* QPalette_NewQPalette(); +void* QPalette_NewQPalette2(void* button); +void* QPalette_NewQPalette3(long long button); +void* QPalette_NewQPalette4(void* button, void* window); +void* QPalette_NewQPalette5(void* windowText, void* button, void* light, void* dark, void* mid, void* text, void* bright_text, void* base, void* window); +void* QPalette_NewQPalette7(void* p); +void* QPalette_NewQPalette8(void* other); +void* QPalette_AlternateBase(void* ptr); +void* QPalette_Base(void* ptr); +void* QPalette_BrightText(void* ptr); +void* QPalette_Brush(void* ptr, long long group, long long role); +void* QPalette_Brush2(void* ptr, long long role); +void* QPalette_Button(void* ptr); +void* QPalette_ButtonText(void* ptr); +long long QPalette_CacheKey(void* ptr); +void* QPalette_Color(void* ptr, long long group, long long role); +void* QPalette_Color2(void* ptr, long long role); +long long QPalette_CurrentColorGroup(void* ptr); +void* QPalette_Dark(void* ptr); +void* QPalette_Highlight(void* ptr); +void* QPalette_HighlightedText(void* ptr); +char QPalette_IsBrushSet(void* ptr, long long cg, long long cr); +char QPalette_IsCopyOf(void* ptr, void* p); +char QPalette_IsEqual(void* ptr, long long cg1, long long cg2); +void* QPalette_Light(void* ptr); +void* QPalette_Link(void* ptr); +void* QPalette_LinkVisited(void* ptr); +void* QPalette_Mid(void* ptr); +void* QPalette_Midlight(void* ptr); +void* QPalette_PlaceholderText(void* ptr); +void* QPalette_Resolve(void* ptr, void* other); +void QPalette_SetBrush(void* ptr, long long role, void* brush); +void QPalette_SetBrush2(void* ptr, long long group, long long role, void* brush); +void QPalette_SetColor(void* ptr, long long group, long long role, void* color); +void QPalette_SetColor2(void* ptr, long long role, void* color); +void QPalette_SetColorGroup(void* ptr, long long cg, void* windowText, void* button, void* light, void* dark, void* mid, void* text, void* bright_text, void* base, void* window); +void QPalette_SetCurrentColorGroup(void* ptr, long long cg); +void* QPalette_Shadow(void* ptr); +void QPalette_Swap(void* ptr, void* other); +void* QPalette_Text(void* ptr); +void* QPalette_ToolTipBase(void* ptr); +void* QPalette_ToolTipText(void* ptr); +void* QPalette_Window(void* ptr); +void* QPalette_WindowText(void* ptr); +void QPalette_DestroyQPalette(void* ptr); +void* QPdfWriter_NewQPdfWriter(struct QtGui_PackedString filename); +void* QPdfWriter_NewQPdfWriter2(void* device); +struct QtGui_PackedString QPdfWriter_Creator(void* ptr); +char QPdfWriter_NewPage(void* ptr); +char QPdfWriter_NewPageDefault(void* ptr); +void* QPdfWriter_PaintEngine(void* ptr); +void* QPdfWriter_PaintEngineDefault(void* ptr); +long long QPdfWriter_PdfVersion(void* ptr); +int QPdfWriter_Resolution(void* ptr); +void QPdfWriter_SetCreator(void* ptr, struct QtGui_PackedString creator); +void QPdfWriter_SetPdfVersion(void* ptr, long long version); +void QPdfWriter_SetResolution(void* ptr, int resolution); +void QPdfWriter_SetTitle(void* ptr, struct QtGui_PackedString title); +struct QtGui_PackedString QPdfWriter_Title(void* ptr); +void QPdfWriter_DestroyQPdfWriter(void* ptr); +void QPdfWriter_DestroyQPdfWriterDefault(void* ptr); +void* QPdfWriter___children_atList(void* ptr, int i); +void QPdfWriter___children_setList(void* ptr, void* i); +void* QPdfWriter___children_newList(void* ptr); +void* QPdfWriter___dynamicPropertyNames_atList(void* ptr, int i); +void QPdfWriter___dynamicPropertyNames_setList(void* ptr, void* i); +void* QPdfWriter___dynamicPropertyNames_newList(void* ptr); +void* QPdfWriter___findChildren_atList(void* ptr, int i); +void QPdfWriter___findChildren_setList(void* ptr, void* i); +void* QPdfWriter___findChildren_newList(void* ptr); +void* QPdfWriter___findChildren_atList3(void* ptr, int i); +void QPdfWriter___findChildren_setList3(void* ptr, void* i); +void* QPdfWriter___findChildren_newList3(void* ptr); +void* QPdfWriter___qFindChildren_atList2(void* ptr, int i); +void QPdfWriter___qFindChildren_setList2(void* ptr, void* i); +void* QPdfWriter___qFindChildren_newList2(void* ptr); +void QPdfWriter_ChildEvent(void* ptr, void* event); +void QPdfWriter_ChildEventDefault(void* ptr, void* event); +void QPdfWriter_ConnectNotify(void* ptr, void* sign); +void QPdfWriter_ConnectNotifyDefault(void* ptr, void* sign); +void QPdfWriter_CustomEvent(void* ptr, void* event); +void QPdfWriter_CustomEventDefault(void* ptr, void* event); +void QPdfWriter_DeleteLater(void* ptr); +void QPdfWriter_DeleteLaterDefault(void* ptr); +void QPdfWriter_DisconnectNotify(void* ptr, void* sign); +void QPdfWriter_DisconnectNotifyDefault(void* ptr, void* sign); +char QPdfWriter_Event(void* ptr, void* e); +char QPdfWriter_EventDefault(void* ptr, void* e); +char QPdfWriter_EventFilter(void* ptr, void* watched, void* event); +char QPdfWriter_EventFilterDefault(void* ptr, void* watched, void* event); +void* QPdfWriter_MetaObject(void* ptr); +void* QPdfWriter_MetaObjectDefault(void* ptr); +void QPdfWriter_TimerEvent(void* ptr, void* event); +void QPdfWriter_TimerEventDefault(void* ptr, void* event); +void* QPen_NewQPen(); +void* QPen_NewQPen2(long long style); +void* QPen_NewQPen3(void* color); +void* QPen_NewQPen4(void* brush, double width, long long style, long long cap, long long join); +void* QPen_NewQPen5(void* pen); +void* QPen_NewQPen6(void* pen); +void* QPen_Brush(void* ptr); +long long QPen_CapStyle(void* ptr); +void* QPen_Color(void* ptr); +double QPen_DashOffset(void* ptr); +struct QtGui_PackedList QPen_DashPattern(void* ptr); +char QPen_IsCosmetic(void* ptr); +char QPen_IsSolid(void* ptr); +long long QPen_JoinStyle(void* ptr); +double QPen_MiterLimit(void* ptr); +void QPen_SetBrush(void* ptr, void* brush); +void QPen_SetCapStyle(void* ptr, long long style); +void QPen_SetColor(void* ptr, void* color); +void QPen_SetCosmetic(void* ptr, char cosmetic); +void QPen_SetDashOffset(void* ptr, double offset); +void QPen_SetDashPattern(void* ptr, void* pattern); +void QPen_SetJoinStyle(void* ptr, long long style); +void QPen_SetMiterLimit(void* ptr, double limit); +void QPen_SetStyle(void* ptr, long long style); +void QPen_SetWidth(void* ptr, int width); +void QPen_SetWidthF(void* ptr, double width); +long long QPen_Style(void* ptr); +void QPen_Swap(void* ptr, void* other); +int QPen_Width(void* ptr); +double QPen_WidthF(void* ptr); +void QPen_DestroyQPen(void* ptr); +double QPen___dashPattern_atList(void* ptr, int i); +void QPen___dashPattern_setList(void* ptr, double i); +void* QPen___dashPattern_newList(void* ptr); +double QPen___setDashPattern_pattern_atList(void* ptr, int i); +void QPen___setDashPattern_pattern_setList(void* ptr, double i); +void* QPen___setDashPattern_pattern_newList(void* ptr); +void* QPicture_NewQPicture(int formatVersion); +void* QPicture_NewQPicture2(void* pic); +void* QPicture_BoundingRect(void* ptr); +struct QtGui_PackedString QPicture_Data(void* ptr); +char QPicture_IsNull(void* ptr); +char QPicture_Load(void* ptr, struct QtGui_PackedString fileName, char* format); +char QPicture_Load2(void* ptr, void* dev, char* format); +char QPicture_Play(void* ptr, void* painter); +char QPicture_Save(void* ptr, struct QtGui_PackedString fileName, char* format); +char QPicture_Save2(void* ptr, void* dev, char* format); +void QPicture_SetBoundingRect(void* ptr, void* r); +void QPicture_SetData(void* ptr, char* data, unsigned int size); +void QPicture_SetDataDefault(void* ptr, char* data, unsigned int size); +unsigned int QPicture_Size(void* ptr); +void QPicture_Swap(void* ptr, void* other); +void QPicture_DestroyQPicture(void* ptr); +void QPicture_DestroyQPictureDefault(void* ptr); +void* QPicture___inputFormats_atList(void* ptr, int i); +void QPicture___inputFormats_setList(void* ptr, void* i); +void* QPicture___inputFormats_newList(void* ptr); +void* QPicture___outputFormats_atList(void* ptr, int i); +void QPicture___outputFormats_setList(void* ptr, void* i); +void* QPicture___outputFormats_newList(void* ptr); +void* QPicture_PaintEngine(void* ptr); +void* QPicture_PaintEngineDefault(void* ptr); +void* QPictureFormatPlugin_NewQPictureFormatPlugin(void* parent); +char QPictureFormatPlugin_InstallIOHandler(void* ptr, struct QtGui_PackedString format); +char QPictureFormatPlugin_LoadPicture(void* ptr, struct QtGui_PackedString format, struct QtGui_PackedString fileName, void* picture); +char QPictureFormatPlugin_LoadPictureDefault(void* ptr, struct QtGui_PackedString format, struct QtGui_PackedString fileName, void* picture); +char QPictureFormatPlugin_SavePicture(void* ptr, struct QtGui_PackedString format, struct QtGui_PackedString fileName, void* picture); +char QPictureFormatPlugin_SavePictureDefault(void* ptr, struct QtGui_PackedString format, struct QtGui_PackedString fileName, void* picture); +void QPictureFormatPlugin_DestroyQPictureFormatPlugin(void* ptr); +void QPictureFormatPlugin_DestroyQPictureFormatPluginDefault(void* ptr); +void* QPictureFormatPlugin___children_atList(void* ptr, int i); +void QPictureFormatPlugin___children_setList(void* ptr, void* i); +void* QPictureFormatPlugin___children_newList(void* ptr); +void* QPictureFormatPlugin___dynamicPropertyNames_atList(void* ptr, int i); +void QPictureFormatPlugin___dynamicPropertyNames_setList(void* ptr, void* i); +void* QPictureFormatPlugin___dynamicPropertyNames_newList(void* ptr); +void* QPictureFormatPlugin___findChildren_atList(void* ptr, int i); +void QPictureFormatPlugin___findChildren_setList(void* ptr, void* i); +void* QPictureFormatPlugin___findChildren_newList(void* ptr); +void* QPictureFormatPlugin___findChildren_atList3(void* ptr, int i); +void QPictureFormatPlugin___findChildren_setList3(void* ptr, void* i); +void* QPictureFormatPlugin___findChildren_newList3(void* ptr); +void* QPictureFormatPlugin___qFindChildren_atList2(void* ptr, int i); +void QPictureFormatPlugin___qFindChildren_setList2(void* ptr, void* i); +void* QPictureFormatPlugin___qFindChildren_newList2(void* ptr); +void QPictureFormatPlugin_ChildEventDefault(void* ptr, void* event); +void QPictureFormatPlugin_ConnectNotifyDefault(void* ptr, void* sign); +void QPictureFormatPlugin_CustomEventDefault(void* ptr, void* event); +void QPictureFormatPlugin_DeleteLaterDefault(void* ptr); +void QPictureFormatPlugin_DisconnectNotifyDefault(void* ptr, void* sign); +char QPictureFormatPlugin_EventDefault(void* ptr, void* e); +char QPictureFormatPlugin_EventFilterDefault(void* ptr, void* watched, void* event); +void* QPictureFormatPlugin_MetaObjectDefault(void* ptr); +void QPictureFormatPlugin_TimerEventDefault(void* ptr, void* event); +void* QPictureIO_NewQPictureIO(); +void* QPictureIO_NewQPictureIO2(void* ioDevice, char* format); +void* QPictureIO_NewQPictureIO3(struct QtGui_PackedString fileName, char* format); +struct QtGui_PackedString QPictureIO_Description(void* ptr); +struct QtGui_PackedString QPictureIO_FileName(void* ptr); +struct QtGui_PackedString QPictureIO_Format(void* ptr); +float QPictureIO_Gamma(void* ptr); +struct QtGui_PackedList QPictureIO_QPictureIO_InputFormats(); +void* QPictureIO_IoDevice(void* ptr); +struct QtGui_PackedList QPictureIO_QPictureIO_OutputFormats(); +struct QtGui_PackedString QPictureIO_Parameters(void* ptr); +void* QPictureIO_Picture(void* ptr); +void* QPictureIO_QPictureIO_PictureFormat(struct QtGui_PackedString fileName); +void* QPictureIO_QPictureIO_PictureFormat2(void* d); +int QPictureIO_Quality(void* ptr); +char QPictureIO_Read(void* ptr); +void QPictureIO_SetDescription(void* ptr, struct QtGui_PackedString description); +void QPictureIO_SetFileName(void* ptr, struct QtGui_PackedString fileName); +void QPictureIO_SetFormat(void* ptr, char* format); +void QPictureIO_SetGamma(void* ptr, float gamma); +void QPictureIO_SetIODevice(void* ptr, void* ioDevice); +void QPictureIO_SetParameters(void* ptr, char* parameters); +void QPictureIO_SetPicture(void* ptr, void* picture); +void QPictureIO_SetQuality(void* ptr, int q); +void QPictureIO_SetStatus(void* ptr, int status); +int QPictureIO_Status(void* ptr); +char QPictureIO_Write(void* ptr); +void QPictureIO_DestroyQPictureIO(void* ptr); +void* QPictureIO___inputFormats_atList(void* ptr, int i); +void QPictureIO___inputFormats_setList(void* ptr, void* i); +void* QPictureIO___inputFormats_newList(void* ptr); +void* QPictureIO___outputFormats_atList(void* ptr, int i); +void QPictureIO___outputFormats_setList(void* ptr, void* i); +void* QPictureIO___outputFormats_newList(void* ptr); +void* QPixelFormat_NewQPixelFormat(); +void* QPixelFormat_NewQPixelFormat2(long long colorModel, char* firstSize, char* secondSize, char* thirdSize, char* fourthSize, char* fifthSize, char* alphaSize, long long alphaUsage, long long alphaPosition, long long premultiplied, long long typeInterpretation, long long byteOrder, char* subEnum); +long long QPixelFormat_AlphaPosition(void* ptr); +struct QtGui_PackedString QPixelFormat_AlphaSize(void* ptr); +long long QPixelFormat_AlphaUsage(void* ptr); +struct QtGui_PackedString QPixelFormat_BitsPerPixel(void* ptr); +struct QtGui_PackedString QPixelFormat_BlackSize(void* ptr); +struct QtGui_PackedString QPixelFormat_BlueSize(void* ptr); +struct QtGui_PackedString QPixelFormat_BrightnessSize(void* ptr); +long long QPixelFormat_ByteOrder(void* ptr); +struct QtGui_PackedString QPixelFormat_ChannelCount(void* ptr); +long long QPixelFormat_ColorModel(void* ptr); +struct QtGui_PackedString QPixelFormat_CyanSize(void* ptr); +struct QtGui_PackedString QPixelFormat_GreenSize(void* ptr); +struct QtGui_PackedString QPixelFormat_HueSize(void* ptr); +struct QtGui_PackedString QPixelFormat_LightnessSize(void* ptr); +struct QtGui_PackedString QPixelFormat_MagentaSize(void* ptr); +long long QPixelFormat_Premultiplied(void* ptr); +struct QtGui_PackedString QPixelFormat_RedSize(void* ptr); +struct QtGui_PackedString QPixelFormat_SaturationSize(void* ptr); +long long QPixelFormat_TypeInterpretation(void* ptr); +struct QtGui_PackedString QPixelFormat_YellowSize(void* ptr); +long long QPixelFormat_YuvLayout(void* ptr); +void* QPixmap_NewQPixmap(); +void* QPixmap_NewQPixmap2(void* size); +void* QPixmap_NewQPixmap3(struct QtGui_PackedString fileName, char* format, long long flags); +void* QPixmap_NewQPixmap5(void* pixmap); +long long QPixmap_CacheKey(void* ptr); +char QPixmap_ConvertFromImage(void* ptr, void* image, long long flags); +void* QPixmap_Copy(void* ptr, void* rectangle); +void* QPixmap_Copy2(void* ptr, int x, int y, int width, int height); +void* QPixmap_CreateHeuristicMask(void* ptr, char clipTight); +void* QPixmap_CreateMaskFromColor(void* ptr, void* maskColor, long long mode); +int QPixmap_QPixmap_DefaultDepth(); +void QPixmap_Detach(void* ptr); +double QPixmap_DevicePixelRatio(void* ptr); +void QPixmap_Fill(void* ptr, void* color); +void* QPixmap_QPixmap_FromImage(void* image, long long flags); +void* QPixmap_QPixmap_FromImage2(void* image, long long flags); +void* QPixmap_QPixmap_FromImageReader(void* imageReader, long long flags); +char QPixmap_HasAlpha(void* ptr); +char QPixmap_HasAlphaChannel(void* ptr); +char QPixmap_IsNull(void* ptr); +char QPixmap_IsQBitmap(void* ptr); +char QPixmap_Load(void* ptr, struct QtGui_PackedString fileName, char* format, long long flags); +char QPixmap_LoadFromData(void* ptr, char* data, unsigned int l, char* format, long long flags); +char QPixmap_LoadFromData2(void* ptr, void* data, char* format, long long flags); +void* QPixmap_Mask(void* ptr); +void* QPixmap_Rect(void* ptr); +char QPixmap_Save(void* ptr, struct QtGui_PackedString fileName, char* format, int quality); +char QPixmap_Save2(void* ptr, void* device, char* format, int quality); +void* QPixmap_Scaled(void* ptr, void* size, long long aspectRatioMode, long long transformMode); +void* QPixmap_Scaled2(void* ptr, int width, int height, long long aspectRatioMode, long long transformMode); +void* QPixmap_ScaledToHeight(void* ptr, int height, long long mode); +void* QPixmap_ScaledToWidth(void* ptr, int width, long long mode); +void QPixmap_Scroll(void* ptr, int dx, int dy, int x, int y, int width, int height, void* exposed); +void QPixmap_Scroll2(void* ptr, int dx, int dy, void* rect, void* exposed); +void QPixmap_SetDevicePixelRatio(void* ptr, double scaleFactor); +void QPixmap_SetMask(void* ptr, void* mask); +void* QPixmap_Size(void* ptr); +void QPixmap_Swap(void* ptr, void* other); +void* QPixmap_ToImage(void* ptr); +void* QPixmap_Transformed(void* ptr, void* transform, long long mode); +void* QPixmap_Transformed2(void* ptr, void* matrix, long long mode); +void* QPixmap_QPixmap_TrueMatrix(void* matrix, int width, int height); +void* QPixmap_QPixmap_TrueMatrix2(void* m, int w, int h); +void QPixmap_DestroyQPixmap(void* ptr); +void QPixmap_DestroyQPixmapDefault(void* ptr); +void* QPixmap_PaintEngine(void* ptr); +void* QPixmap_PaintEngineDefault(void* ptr); +int QPixmapCache_QPixmapCache_CacheLimit(); +void QPixmapCache_QPixmapCache_Clear(); +char QPixmapCache_QPixmapCache_Find3(struct QtGui_PackedString key, void* pixmap); +char QPixmapCache_QPixmapCache_Insert(struct QtGui_PackedString key, void* pixmap); +void QPixmapCache_QPixmapCache_Remove(struct QtGui_PackedString key); +void QPixmapCache_QPixmapCache_SetCacheLimit(int n); +void* QPlatformSurfaceEvent_NewQPlatformSurfaceEvent(long long surfaceEventType); +long long QPlatformSurfaceEvent_SurfaceEventType(void* ptr); +void* QPointingDeviceUniqueId_NewQPointingDeviceUniqueId(); +void* QPointingDeviceUniqueId_QPointingDeviceUniqueId_FromNumericId(long long id); +char QPointingDeviceUniqueId_IsValid(void* ptr); +long long QPointingDeviceUniqueId_NumericId(void* ptr); +void* QPolygon_NewQPolygon(); +void* QPolygon_NewQPolygon2(int size); +void* QPolygon_NewQPolygon3(void* points); +void* QPolygon_NewQPolygon5(void* rectangle, char closed); +void* QPolygon_BoundingRect(void* ptr); +char QPolygon_ContainsPoint(void* ptr, void* point, long long fillRule); +void* QPolygon_Intersected(void* ptr, void* r); +char QPolygon_Intersects(void* ptr, void* p); +void QPolygon_Point(void* ptr, int index, int x, int y); +void* QPolygon_Point2(void* ptr, int index); +void QPolygon_PutPoints(void* ptr, int index, int nPoints, void* fromPolygon, int fromIndex); +void QPolygon_SetPoint(void* ptr, int index, int x, int y); +void QPolygon_SetPoint2(void* ptr, int index, void* point); +void QPolygon_SetPoints(void* ptr, int nPoints, int points); +void* QPolygon_Subtracted(void* ptr, void* r); +void QPolygon_Swap(void* ptr, void* other); +void QPolygon_Translate(void* ptr, int dx, int dy); +void QPolygon_Translate2(void* ptr, void* offset); +void* QPolygon_Translated(void* ptr, int dx, int dy); +void* QPolygon_Translated2(void* ptr, void* offset); +void* QPolygon_United(void* ptr, void* r); +void QPolygon_DestroyQPolygon(void* ptr); +void* QPolygon___QPolygon_points_atList3(void* ptr, int i); +void QPolygon___QPolygon_points_setList3(void* ptr, void* i); +void* QPolygon___QPolygon_points_newList3(void* ptr); +void* QPolygon___QPolygon_v_atList4(void* ptr, int i); +void QPolygon___QPolygon_v_setList4(void* ptr, void* i); +void* QPolygon___QPolygon_v_newList4(void* ptr); +void* QPolygon___QVector_other_atList4(void* ptr, int i); +void QPolygon___QVector_other_setList4(void* ptr, void* i); +void* QPolygon___QVector_other_newList4(void* ptr); +void* QPolygon___QVector_other_atList5(void* ptr, int i); +void QPolygon___QVector_other_setList5(void* ptr, void* i); +void* QPolygon___QVector_other_newList5(void* ptr); +void* QPolygon___append_value_atList3(void* ptr, int i); +void QPolygon___append_value_setList3(void* ptr, void* i); +void* QPolygon___append_value_newList3(void* ptr); +void* QPolygon___fill_atList(void* ptr, int i); +void QPolygon___fill_setList(void* ptr, void* i); +void* QPolygon___fill_newList(void* ptr); +void* QPolygon___fromList_atList(void* ptr, int i); +void QPolygon___fromList_setList(void* ptr, void* i); +void* QPolygon___fromList_newList(void* ptr); +void* QPolygon___fromList_list_atList(void* ptr, int i); +void QPolygon___fromList_list_setList(void* ptr, void* i); +void* QPolygon___fromList_list_newList(void* ptr); +void* QPolygon___fromStdVector_atList(void* ptr, int i); +void QPolygon___fromStdVector_setList(void* ptr, void* i); +void* QPolygon___fromStdVector_newList(void* ptr); +void* QPolygon___mid_atList(void* ptr, int i); +void QPolygon___mid_setList(void* ptr, void* i); +void* QPolygon___mid_newList(void* ptr); +void* QPolygon___swap_other_atList(void* ptr, int i); +void QPolygon___swap_other_setList(void* ptr, void* i); +void* QPolygon___swap_other_newList(void* ptr); +void* QPolygon___toList_atList(void* ptr, int i); +void QPolygon___toList_setList(void* ptr, void* i); +void* QPolygon___toList_newList(void* ptr); +void* QPolygonF_NewQPolygonF(); +void* QPolygonF_NewQPolygonF2(int size); +void* QPolygonF_NewQPolygonF3(void* points); +void* QPolygonF_NewQPolygonF5(void* rectangle); +void* QPolygonF_NewQPolygonF6(void* polygon); +void* QPolygonF_NewQPolygonF7(void* polygon); +void* QPolygonF_BoundingRect(void* ptr); +char QPolygonF_ContainsPoint(void* ptr, void* point, long long fillRule); +void* QPolygonF_Intersected(void* ptr, void* r); +char QPolygonF_Intersects(void* ptr, void* p); +char QPolygonF_IsClosed(void* ptr); +void* QPolygonF_Subtracted(void* ptr, void* r); +void QPolygonF_Swap(void* ptr, void* other); +void* QPolygonF_ToPolygon(void* ptr); +void QPolygonF_Translate(void* ptr, void* offset); +void QPolygonF_Translate2(void* ptr, double dx, double dy); +void* QPolygonF_Translated(void* ptr, void* offset); +void* QPolygonF_Translated2(void* ptr, double dx, double dy); +void* QPolygonF_United(void* ptr, void* r); +void QPolygonF_DestroyQPolygonF(void* ptr); +void* QPolygonF___QPolygonF_points_atList3(void* ptr, int i); +void QPolygonF___QPolygonF_points_setList3(void* ptr, void* i); +void* QPolygonF___QPolygonF_points_newList3(void* ptr); +void* QPolygonF___QPolygonF_v_atList4(void* ptr, int i); +void QPolygonF___QPolygonF_v_setList4(void* ptr, void* i); +void* QPolygonF___QPolygonF_v_newList4(void* ptr); +void* QPolygonF___QVector_other_atList4(void* ptr, int i); +void QPolygonF___QVector_other_setList4(void* ptr, void* i); +void* QPolygonF___QVector_other_newList4(void* ptr); +void* QPolygonF___QVector_other_atList5(void* ptr, int i); +void QPolygonF___QVector_other_setList5(void* ptr, void* i); +void* QPolygonF___QVector_other_newList5(void* ptr); +void* QPolygonF___append_value_atList3(void* ptr, int i); +void QPolygonF___append_value_setList3(void* ptr, void* i); +void* QPolygonF___append_value_newList3(void* ptr); +void* QPolygonF___fill_atList(void* ptr, int i); +void QPolygonF___fill_setList(void* ptr, void* i); +void* QPolygonF___fill_newList(void* ptr); +void* QPolygonF___fromList_atList(void* ptr, int i); +void QPolygonF___fromList_setList(void* ptr, void* i); +void* QPolygonF___fromList_newList(void* ptr); +void* QPolygonF___fromList_list_atList(void* ptr, int i); +void QPolygonF___fromList_list_setList(void* ptr, void* i); +void* QPolygonF___fromList_list_newList(void* ptr); +void* QPolygonF___fromStdVector_atList(void* ptr, int i); +void QPolygonF___fromStdVector_setList(void* ptr, void* i); +void* QPolygonF___fromStdVector_newList(void* ptr); +void* QPolygonF___mid_atList(void* ptr, int i); +void QPolygonF___mid_setList(void* ptr, void* i); +void* QPolygonF___mid_newList(void* ptr); +void* QPolygonF___swap_other_atList(void* ptr, int i); +void QPolygonF___swap_other_setList(void* ptr, void* i); +void* QPolygonF___swap_other_newList(void* ptr); +void* QPolygonF___toList_atList(void* ptr, int i); +void QPolygonF___toList_setList(void* ptr, void* i); +void* QPolygonF___toList_newList(void* ptr); +void* QQuaternion_NewQQuaternion(); +void* QQuaternion_NewQQuaternion3(float scalar, float xpos, float ypos, float zpos); +void* QQuaternion_NewQQuaternion4(float scalar, void* vector); +void* QQuaternion_NewQQuaternion5(void* vector); +void* QQuaternion_Conjugated(void* ptr); +float QQuaternion_QQuaternion_DotProduct(void* q1, void* q2); +void* QQuaternion_QQuaternion_FromAxes(void* xAxis, void* yAxis, void* zAxis); +void* QQuaternion_QQuaternion_FromAxisAndAngle(void* axis, float angle); +void* QQuaternion_QQuaternion_FromAxisAndAngle2(float x, float y, float z, float angle); +void* QQuaternion_QQuaternion_FromDirection(void* direction, void* up); +void* QQuaternion_QQuaternion_FromEulerAngles(float pitch, float yaw, float roll); +void* QQuaternion_QQuaternion_FromEulerAngles2(void* eulerAngles); +void QQuaternion_GetAxes(void* ptr, void* xAxis, void* yAxis, void* zAxis); +void QQuaternion_GetAxisAndAngle(void* ptr, float x, float y, float z, float angle); +void QQuaternion_GetAxisAndAngle2(void* ptr, void* axis, float angle); +void QQuaternion_GetEulerAngles(void* ptr, float pitch, float yaw, float roll); +void* QQuaternion_Inverted(void* ptr); +char QQuaternion_IsIdentity(void* ptr); +char QQuaternion_IsNull(void* ptr); +float QQuaternion_Length(void* ptr); +float QQuaternion_LengthSquared(void* ptr); +void* QQuaternion_QQuaternion_Nlerp(void* q1, void* q2, float t); +void QQuaternion_Normalize(void* ptr); +void* QQuaternion_Normalized(void* ptr); +void* QQuaternion_RotatedVector(void* ptr, void* vector); +void* QQuaternion_QQuaternion_RotationTo(void* from, void* to); +float QQuaternion_Scalar(void* ptr); +void QQuaternion_SetScalar(void* ptr, float scalar); +void QQuaternion_SetVector(void* ptr, void* vector); +void QQuaternion_SetVector2(void* ptr, float x, float y, float z); +void QQuaternion_SetX(void* ptr, float x); +void QQuaternion_SetY(void* ptr, float y); +void QQuaternion_SetZ(void* ptr, float z); +void* QQuaternion_QQuaternion_Slerp(void* q1, void* q2, float t); +void* QQuaternion_ToEulerAngles(void* ptr); +void* QQuaternion_ToVector4D(void* ptr); +void* QQuaternion_Vector(void* ptr); +float QQuaternion_X(void* ptr); +float QQuaternion_Y(void* ptr); +float QQuaternion_Z(void* ptr); +void* QRadialGradient_NewQRadialGradient(); +void* QRadialGradient_NewQRadialGradient2(void* center, double radius, void* focalPoint); +void* QRadialGradient_NewQRadialGradient3(double cx, double cy, double radius, double fx, double fy); +void* QRadialGradient_NewQRadialGradient4(void* center, double radius); +void* QRadialGradient_NewQRadialGradient5(double cx, double cy, double radius); +void* QRadialGradient_NewQRadialGradient6(void* center, double centerRadius, void* focalPoint, double focalRadius); +void* QRadialGradient_NewQRadialGradient7(double cx, double cy, double centerRadius, double fx, double fy, double focalRadius); +void* QRadialGradient_Center(void* ptr); +double QRadialGradient_CenterRadius(void* ptr); +void* QRadialGradient_FocalPoint(void* ptr); +double QRadialGradient_FocalRadius(void* ptr); +double QRadialGradient_Radius(void* ptr); +void QRadialGradient_SetCenter(void* ptr, void* center); +void QRadialGradient_SetCenter2(void* ptr, double x, double y); +void QRadialGradient_SetCenterRadius(void* ptr, double radius); +void QRadialGradient_SetFocalPoint(void* ptr, void* focalPoint); +void QRadialGradient_SetFocalPoint2(void* ptr, double x, double y); +void QRadialGradient_SetFocalRadius(void* ptr, double radius); +void QRadialGradient_SetRadius(void* ptr, double radius); +void* QRasterWindow_NewQRasterWindow(void* parent); +void* QRawFont_NewQRawFont(); +void* QRawFont_NewQRawFont2(struct QtGui_PackedString fileName, double pixelSize, long long hintingPreference); +void* QRawFont_NewQRawFont3(void* fontData, double pixelSize, long long hintingPreference); +void* QRawFont_NewQRawFont4(void* other); +struct QtGui_PackedList QRawFont_AdvancesForGlyphIndexes(void* ptr, void* glyphIndexes, long long layoutFlags); +struct QtGui_PackedList QRawFont_AdvancesForGlyphIndexes2(void* ptr, void* glyphIndexes); +char QRawFont_AdvancesForGlyphIndexes3(void* ptr, unsigned int glyphIndexes, void* advances, int numGlyphs); +char QRawFont_AdvancesForGlyphIndexes4(void* ptr, unsigned int glyphIndexes, void* advances, int numGlyphs, long long layoutFlags); +void* QRawFont_AlphaMapForGlyph(void* ptr, unsigned int glyphIndex, long long antialiasingType, void* transform); +double QRawFont_Ascent(void* ptr); +double QRawFont_AverageCharWidth(void* ptr); +void* QRawFont_BoundingRect(void* ptr, unsigned int glyphIndex); +double QRawFont_CapHeight(void* ptr); +double QRawFont_Descent(void* ptr); +struct QtGui_PackedString QRawFont_FamilyName(void* ptr); +void* QRawFont_FontTable(void* ptr, char* tagName); +void* QRawFont_QRawFont_FromFont(void* font, long long writingSystem); +char QRawFont_GlyphIndexesForChars(void* ptr, void* chars, int numChars, unsigned int glyphIndexes, int numGlyphs); +struct QtGui_PackedList QRawFont_GlyphIndexesForString(void* ptr, struct QtGui_PackedString text); +long long QRawFont_HintingPreference(void* ptr); +char QRawFont_IsValid(void* ptr); +double QRawFont_Leading(void* ptr); +double QRawFont_LineThickness(void* ptr); +void QRawFont_LoadFromData(void* ptr, void* fontData, double pixelSize, long long hintingPreference); +void QRawFont_LoadFromFile(void* ptr, struct QtGui_PackedString fileName, double pixelSize, long long hintingPreference); +double QRawFont_MaxCharWidth(void* ptr); +void* QRawFont_PathForGlyph(void* ptr, unsigned int glyphIndex); +double QRawFont_PixelSize(void* ptr); +void QRawFont_SetPixelSize(void* ptr, double pixelSize); +long long QRawFont_Style(void* ptr); +struct QtGui_PackedString QRawFont_StyleName(void* ptr); +struct QtGui_PackedList QRawFont_SupportedWritingSystems(void* ptr); +char QRawFont_SupportsCharacter(void* ptr, void* character); +char QRawFont_SupportsCharacter2(void* ptr, unsigned int ucs4); +void QRawFont_Swap(void* ptr, void* other); +double QRawFont_UnderlinePosition(void* ptr); +double QRawFont_UnitsPerEm(void* ptr); +int QRawFont_Weight(void* ptr); +double QRawFont_XHeight(void* ptr); +void QRawFont_DestroyQRawFont(void* ptr); +void* QRawFont___advancesForGlyphIndexes_atList(void* ptr, int i); +void QRawFont___advancesForGlyphIndexes_setList(void* ptr, void* i); +void* QRawFont___advancesForGlyphIndexes_newList(void* ptr); +unsigned int QRawFont___advancesForGlyphIndexes_glyphIndexes_atList(void* ptr, int i); +void QRawFont___advancesForGlyphIndexes_glyphIndexes_setList(void* ptr, unsigned int i); +void* QRawFont___advancesForGlyphIndexes_glyphIndexes_newList(void* ptr); +void* QRawFont___advancesForGlyphIndexes_atList2(void* ptr, int i); +void QRawFont___advancesForGlyphIndexes_setList2(void* ptr, void* i); +void* QRawFont___advancesForGlyphIndexes_newList2(void* ptr); +unsigned int QRawFont___advancesForGlyphIndexes_glyphIndexes_atList2(void* ptr, int i); +void QRawFont___advancesForGlyphIndexes_glyphIndexes_setList2(void* ptr, unsigned int i); +void* QRawFont___advancesForGlyphIndexes_glyphIndexes_newList2(void* ptr); +unsigned int QRawFont___glyphIndexesForString_atList(void* ptr, int i); +void QRawFont___glyphIndexesForString_setList(void* ptr, unsigned int i); +void* QRawFont___glyphIndexesForString_newList(void* ptr); +long long QRawFont___supportedWritingSystems_atList(void* ptr, int i); +void QRawFont___supportedWritingSystems_setList(void* ptr, long long i); +void* QRawFont___supportedWritingSystems_newList(void* ptr); +void* QRegExpValidator_NewQRegExpValidator(void* parent); +void* QRegExpValidator_NewQRegExpValidator2(void* rx, void* parent); +void* QRegExpValidator_RegExp(void* ptr); +void QRegExpValidator_ConnectRegExpChanged(void* ptr, long long t); +void QRegExpValidator_DisconnectRegExpChanged(void* ptr); +void QRegExpValidator_RegExpChanged(void* ptr, void* regExp); +void QRegExpValidator_SetRegExp(void* ptr, void* rx); +long long QRegExpValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos); +long long QRegExpValidator_ValidateDefault(void* ptr, struct QtGui_PackedString input, int pos); +void QRegExpValidator_DestroyQRegExpValidator(void* ptr); +void QRegExpValidator_DestroyQRegExpValidatorDefault(void* ptr); +void* QRegion_NewQRegion(); +void* QRegion_NewQRegion2(int x, int y, int w, int h, long long t); +void* QRegion_NewQRegion3(void* r, long long t); +void* QRegion_NewQRegion4(void* a, long long fillRule); +void* QRegion_NewQRegion5(void* r); +void* QRegion_NewQRegion6(void* other); +void* QRegion_NewQRegion7(void* bm); +void* QRegion_BoundingRect(void* ptr); +char QRegion_Contains(void* ptr, void* p); +char QRegion_Contains2(void* ptr, void* r); +void* QRegion_Intersected(void* ptr, void* r); +void* QRegion_Intersected2(void* ptr, void* rect); +char QRegion_Intersects(void* ptr, void* region); +char QRegion_Intersects2(void* ptr, void* rect); +char QRegion_IsEmpty(void* ptr); +char QRegion_IsNull(void* ptr); +int QRegion_RectCount(void* ptr); +void QRegion_SetRects(void* ptr, void* rects, int number); +void* QRegion_Subtracted(void* ptr, void* r); +void QRegion_Swap(void* ptr, void* other); +void QRegion_Translate(void* ptr, int dx, int dy); +void QRegion_Translate2(void* ptr, void* point); +void* QRegion_Translated(void* ptr, int dx, int dy); +void* QRegion_Translated2(void* ptr, void* p); +void* QRegion_United(void* ptr, void* r); +void* QRegion_United2(void* ptr, void* rect); +void* QRegion_Xored(void* ptr, void* r); +void* QRegion___rects_atList(void* ptr, int i); +void QRegion___rects_setList(void* ptr, void* i); +void* QRegion___rects_newList(void* ptr); +void* QRegularExpressionValidator_NewQRegularExpressionValidator(void* parent); +void* QRegularExpressionValidator_NewQRegularExpressionValidator2(void* re, void* parent); +void* QRegularExpressionValidator_RegularExpression(void* ptr); +void QRegularExpressionValidator_ConnectRegularExpressionChanged(void* ptr, long long t); +void QRegularExpressionValidator_DisconnectRegularExpressionChanged(void* ptr); +void QRegularExpressionValidator_RegularExpressionChanged(void* ptr, void* re); +void QRegularExpressionValidator_SetRegularExpression(void* ptr, void* re); +void QRegularExpressionValidator_SetRegularExpressionDefault(void* ptr, void* re); +long long QRegularExpressionValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos); +long long QRegularExpressionValidator_ValidateDefault(void* ptr, struct QtGui_PackedString input, int pos); +void QRegularExpressionValidator_DestroyQRegularExpressionValidator(void* ptr); +void QRegularExpressionValidator_DestroyQRegularExpressionValidatorDefault(void* ptr); +void* QResizeEvent_NewQResizeEvent(void* size, void* oldSize); +void* QResizeEvent_OldSize(void* ptr); +void* QResizeEvent_Size(void* ptr); +unsigned short QRgba64_Alpha(void* ptr); +struct QtGui_PackedString QRgba64_Alpha8(void* ptr); +unsigned short QRgba64_Blue(void* ptr); +struct QtGui_PackedString QRgba64_Blue8(void* ptr); +unsigned short QRgba64_Green(void* ptr); +struct QtGui_PackedString QRgba64_Green8(void* ptr); +char QRgba64_IsOpaque(void* ptr); +char QRgba64_IsTransparent(void* ptr); +unsigned short QRgba64_Red(void* ptr); +struct QtGui_PackedString QRgba64_Red8(void* ptr); +void QRgba64_SetAlpha(void* ptr, unsigned short alpha); +void QRgba64_SetBlue(void* ptr, unsigned short blue); +void QRgba64_SetGreen(void* ptr, unsigned short green); +void QRgba64_SetRed(void* ptr, unsigned short red); +unsigned int QRgba64_ToArgb32(void* ptr); +unsigned short QRgba64_ToRgb16(void* ptr); +int QScreen_AngleBetween(void* ptr, long long a, long long b); +void* QScreen_AvailableGeometry(void* ptr); +void QScreen_ConnectAvailableGeometryChanged(void* ptr, long long t); +void QScreen_DisconnectAvailableGeometryChanged(void* ptr); +void QScreen_AvailableGeometryChanged(void* ptr, void* geometry); +void* QScreen_AvailableSize(void* ptr); +void* QScreen_AvailableVirtualGeometry(void* ptr); +void* QScreen_AvailableVirtualSize(void* ptr); +int QScreen_Depth(void* ptr); +double QScreen_DevicePixelRatio(void* ptr); +void* QScreen_Geometry(void* ptr); +void QScreen_ConnectGeometryChanged(void* ptr, long long t); +void QScreen_DisconnectGeometryChanged(void* ptr); +void QScreen_GeometryChanged(void* ptr, void* geometry); +void* QScreen_GrabWindow(void* ptr, uintptr_t window, int x, int y, int width, int height); +char QScreen_IsLandscape(void* ptr, long long o); +char QScreen_IsPortrait(void* ptr, long long o); +double QScreen_LogicalDotsPerInch(void* ptr); +void QScreen_ConnectLogicalDotsPerInchChanged(void* ptr, long long t); +void QScreen_DisconnectLogicalDotsPerInchChanged(void* ptr); +void QScreen_LogicalDotsPerInchChanged(void* ptr, double dpi); +double QScreen_LogicalDotsPerInchX(void* ptr); +double QScreen_LogicalDotsPerInchY(void* ptr); +struct QtGui_PackedString QScreen_Manufacturer(void* ptr); +void* QScreen_MapBetween(void* ptr, long long a, long long b, void* rect); +struct QtGui_PackedString QScreen_Model(void* ptr); +struct QtGui_PackedString QScreen_Name(void* ptr); +long long QScreen_NativeOrientation(void* ptr); +long long QScreen_Orientation(void* ptr); +void QScreen_ConnectOrientationChanged(void* ptr, long long t); +void QScreen_DisconnectOrientationChanged(void* ptr); +void QScreen_OrientationChanged(void* ptr, long long orientation); +long long QScreen_OrientationUpdateMask(void* ptr); +double QScreen_PhysicalDotsPerInch(void* ptr); +void QScreen_ConnectPhysicalDotsPerInchChanged(void* ptr, long long t); +void QScreen_DisconnectPhysicalDotsPerInchChanged(void* ptr); +void QScreen_PhysicalDotsPerInchChanged(void* ptr, double dpi); +double QScreen_PhysicalDotsPerInchX(void* ptr); +double QScreen_PhysicalDotsPerInchY(void* ptr); +void* QScreen_PhysicalSize(void* ptr); +void QScreen_ConnectPhysicalSizeChanged(void* ptr, long long t); +void QScreen_DisconnectPhysicalSizeChanged(void* ptr); +void QScreen_PhysicalSizeChanged(void* ptr, void* size); +long long QScreen_PrimaryOrientation(void* ptr); +void QScreen_ConnectPrimaryOrientationChanged(void* ptr, long long t); +void QScreen_DisconnectPrimaryOrientationChanged(void* ptr); +void QScreen_PrimaryOrientationChanged(void* ptr, long long orientation); +double QScreen_RefreshRate(void* ptr); +void QScreen_ConnectRefreshRateChanged(void* ptr, long long t); +void QScreen_DisconnectRefreshRateChanged(void* ptr); +void QScreen_RefreshRateChanged(void* ptr, double refreshRate); +struct QtGui_PackedString QScreen_SerialNumber(void* ptr); +void QScreen_SetOrientationUpdateMask(void* ptr, long long mask); +void* QScreen_Size(void* ptr); +void* QScreen_TransformBetween(void* ptr, long long a, long long b, void* target); +void* QScreen_VirtualGeometry(void* ptr); +void QScreen_ConnectVirtualGeometryChanged(void* ptr, long long t); +void QScreen_DisconnectVirtualGeometryChanged(void* ptr); +void QScreen_VirtualGeometryChanged(void* ptr, void* rect); +struct QtGui_PackedList QScreen_VirtualSiblings(void* ptr); +void* QScreen_VirtualSize(void* ptr); +void QScreen_DestroyQScreen(void* ptr); +void QScreen_DestroyQScreenDefault(void* ptr); +void* QScreen___virtualSiblings_atList(void* ptr, int i); +void QScreen___virtualSiblings_setList(void* ptr, void* i); +void* QScreen___virtualSiblings_newList(void* ptr); +void* QScreen___children_atList(void* ptr, int i); +void QScreen___children_setList(void* ptr, void* i); +void* QScreen___children_newList(void* ptr); +void* QScreen___dynamicPropertyNames_atList(void* ptr, int i); +void QScreen___dynamicPropertyNames_setList(void* ptr, void* i); +void* QScreen___dynamicPropertyNames_newList(void* ptr); +void* QScreen___findChildren_atList(void* ptr, int i); +void QScreen___findChildren_setList(void* ptr, void* i); +void* QScreen___findChildren_newList(void* ptr); +void* QScreen___findChildren_atList3(void* ptr, int i); +void QScreen___findChildren_setList3(void* ptr, void* i); +void* QScreen___findChildren_newList3(void* ptr); +void* QScreen___qFindChildren_atList2(void* ptr, int i); +void QScreen___qFindChildren_setList2(void* ptr, void* i); +void* QScreen___qFindChildren_newList2(void* ptr); +void QScreen_ChildEventDefault(void* ptr, void* event); +void QScreen_ConnectNotifyDefault(void* ptr, void* sign); +void QScreen_CustomEventDefault(void* ptr, void* event); +void QScreen_DeleteLaterDefault(void* ptr); +void QScreen_DisconnectNotifyDefault(void* ptr, void* sign); +char QScreen_EventDefault(void* ptr, void* e); +char QScreen_EventFilterDefault(void* ptr, void* watched, void* event); +void* QScreen_MetaObjectDefault(void* ptr); +void QScreen_TimerEventDefault(void* ptr, void* event); +void* QScreenOrientationChangeEvent_NewQScreenOrientationChangeEvent(void* screen, long long screenOrientation); +long long QScreenOrientationChangeEvent_Orientation(void* ptr); +void* QScreenOrientationChangeEvent_Screen(void* ptr); +void QScreenOrientationChangeEvent_DestroyQScreenOrientationChangeEvent(void* ptr); +void QScreenOrientationChangeEvent_DestroyQScreenOrientationChangeEventDefault(void* ptr); +void* QScrollEvent_NewQScrollEvent(void* contentPos, void* overshootDistance, long long scrollState); +void* QScrollEvent_ContentPos(void* ptr); +void* QScrollEvent_OvershootDistance(void* ptr); +long long QScrollEvent_ScrollState(void* ptr); +void QScrollEvent_DestroyQScrollEvent(void* ptr); +void QScrollEvent_DestroyQScrollEventDefault(void* ptr); +void* QScrollPrepareEvent_NewQScrollPrepareEvent(void* startPos); +void* QScrollPrepareEvent_ContentPos(void* ptr); +void* QScrollPrepareEvent_ContentPosRange(void* ptr); +void QScrollPrepareEvent_SetContentPos(void* ptr, void* pos); +void QScrollPrepareEvent_SetContentPosRange(void* ptr, void* rect); +void QScrollPrepareEvent_SetViewportSize(void* ptr, void* size); +void* QScrollPrepareEvent_StartPos(void* ptr); +void* QScrollPrepareEvent_ViewportSize(void* ptr); +void QScrollPrepareEvent_DestroyQScrollPrepareEvent(void* ptr); +void QScrollPrepareEvent_DestroyQScrollPrepareEventDefault(void* ptr); +char QSessionManager_AllowsErrorInteraction(void* ptr); +char QSessionManager_AllowsInteraction(void* ptr); +void QSessionManager_Cancel(void* ptr); +struct QtGui_PackedString QSessionManager_DiscardCommand(void* ptr); +char QSessionManager_IsPhase2(void* ptr); +void QSessionManager_Release(void* ptr); +void QSessionManager_RequestPhase2(void* ptr); +struct QtGui_PackedString QSessionManager_RestartCommand(void* ptr); +long long QSessionManager_RestartHint(void* ptr); +struct QtGui_PackedString QSessionManager_SessionId(void* ptr); +struct QtGui_PackedString QSessionManager_SessionKey(void* ptr); +void QSessionManager_SetDiscardCommand(void* ptr, struct QtGui_PackedString command); +void QSessionManager_SetManagerProperty(void* ptr, struct QtGui_PackedString name, struct QtGui_PackedString value); +void QSessionManager_SetManagerProperty2(void* ptr, struct QtGui_PackedString name, struct QtGui_PackedString value); +void QSessionManager_SetRestartCommand(void* ptr, struct QtGui_PackedString command); +void QSessionManager_SetRestartHint(void* ptr, long long hint); +void* QSessionManager___children_atList(void* ptr, int i); +void QSessionManager___children_setList(void* ptr, void* i); +void* QSessionManager___children_newList(void* ptr); +void* QSessionManager___dynamicPropertyNames_atList(void* ptr, int i); +void QSessionManager___dynamicPropertyNames_setList(void* ptr, void* i); +void* QSessionManager___dynamicPropertyNames_newList(void* ptr); +void* QSessionManager___findChildren_atList(void* ptr, int i); +void QSessionManager___findChildren_setList(void* ptr, void* i); +void* QSessionManager___findChildren_newList(void* ptr); +void* QSessionManager___findChildren_atList3(void* ptr, int i); +void QSessionManager___findChildren_setList3(void* ptr, void* i); +void* QSessionManager___findChildren_newList3(void* ptr); +void* QSessionManager___qFindChildren_atList2(void* ptr, int i); +void QSessionManager___qFindChildren_setList2(void* ptr, void* i); +void* QSessionManager___qFindChildren_newList2(void* ptr); +void QSessionManager_ChildEventDefault(void* ptr, void* event); +void QSessionManager_ConnectNotifyDefault(void* ptr, void* sign); +void QSessionManager_CustomEventDefault(void* ptr, void* event); +void QSessionManager_DeleteLaterDefault(void* ptr); +void QSessionManager_DisconnectNotifyDefault(void* ptr, void* sign); +char QSessionManager_EventDefault(void* ptr, void* e); +char QSessionManager_EventFilterDefault(void* ptr, void* watched, void* event); +void* QSessionManager_MetaObjectDefault(void* ptr); +void QSessionManager_TimerEventDefault(void* ptr, void* event); +void* QShortcutEvent_NewQShortcutEvent(void* key, int id, char ambiguous); +char QShortcutEvent_IsAmbiguous(void* ptr); +void* QShortcutEvent_Key(void* ptr); +int QShortcutEvent_ShortcutId(void* ptr); +void QShortcutEvent_DestroyQShortcutEvent(void* ptr); +void QShortcutEvent_DestroyQShortcutEventDefault(void* ptr); +void* QShowEvent_NewQShowEvent(); +void* QStandardItem_NewQStandardItem(); +void* QStandardItem_NewQStandardItem2(struct QtGui_PackedString text); +void* QStandardItem_NewQStandardItem3(void* icon, struct QtGui_PackedString text); +void* QStandardItem_NewQStandardItem4(int rows, int columns); +void* QStandardItem_NewQStandardItem5(void* other); +struct QtGui_PackedString QStandardItem_AccessibleDescription(void* ptr); +struct QtGui_PackedString QStandardItem_AccessibleText(void* ptr); +void QStandardItem_AppendColumn(void* ptr, void* items); +void QStandardItem_AppendRow(void* ptr, void* items); +void QStandardItem_AppendRow2(void* ptr, void* item); +void QStandardItem_AppendRows(void* ptr, void* items); +void* QStandardItem_Background(void* ptr); +long long QStandardItem_CheckState(void* ptr); +void* QStandardItem_Child(void* ptr, int row, int column); +void QStandardItem_ClearData(void* ptr); +void* QStandardItem_Clone(void* ptr); +void* QStandardItem_CloneDefault(void* ptr); +int QStandardItem_Column(void* ptr); +int QStandardItem_ColumnCount(void* ptr); +void* QStandardItem_Data(void* ptr, int role); +void* QStandardItem_DataDefault(void* ptr, int role); +void QStandardItem_EmitDataChanged(void* ptr); +long long QStandardItem_Flags(void* ptr); +void* QStandardItem_Font(void* ptr); +void* QStandardItem_Foreground(void* ptr); +char QStandardItem_HasChildren(void* ptr); +void* QStandardItem_Icon(void* ptr); +void* QStandardItem_Index(void* ptr); +void QStandardItem_InsertColumn(void* ptr, int column, void* items); +void QStandardItem_InsertColumns(void* ptr, int column, int count); +void QStandardItem_InsertRow(void* ptr, int row, void* items); +void QStandardItem_InsertRow2(void* ptr, int row, void* item); +void QStandardItem_InsertRows(void* ptr, int row, void* items); +void QStandardItem_InsertRows2(void* ptr, int row, int count); +char QStandardItem_IsAutoTristate(void* ptr); +char QStandardItem_IsCheckable(void* ptr); +char QStandardItem_IsDragEnabled(void* ptr); +char QStandardItem_IsDropEnabled(void* ptr); +char QStandardItem_IsEditable(void* ptr); +char QStandardItem_IsEnabled(void* ptr); +char QStandardItem_IsSelectable(void* ptr); +char QStandardItem_IsUserTristate(void* ptr); +void* QStandardItem_Model(void* ptr); +void* QStandardItem_Parent(void* ptr); +void QStandardItem_Read(void* ptr, void* in); +void QStandardItem_ReadDefault(void* ptr, void* in); +void QStandardItem_RemoveColumn(void* ptr, int column); +void QStandardItem_RemoveColumns(void* ptr, int column, int count); +void QStandardItem_RemoveRow(void* ptr, int row); +void QStandardItem_RemoveRows(void* ptr, int row, int count); +int QStandardItem_Row(void* ptr); +int QStandardItem_RowCount(void* ptr); +void QStandardItem_SetAccessibleDescription(void* ptr, struct QtGui_PackedString accessibleDescription); +void QStandardItem_SetAccessibleText(void* ptr, struct QtGui_PackedString accessibleText); +void QStandardItem_SetAutoTristate(void* ptr, char tristate); +void QStandardItem_SetBackground(void* ptr, void* brush); +void QStandardItem_SetCheckState(void* ptr, long long state); +void QStandardItem_SetCheckable(void* ptr, char checkable); +void QStandardItem_SetChild(void* ptr, int row, int column, void* item); +void QStandardItem_SetChild2(void* ptr, int row, void* item); +void QStandardItem_SetColumnCount(void* ptr, int columns); +void QStandardItem_SetData(void* ptr, void* value, int role); +void QStandardItem_SetDataDefault(void* ptr, void* value, int role); +void QStandardItem_SetDragEnabled(void* ptr, char dragEnabled); +void QStandardItem_SetDropEnabled(void* ptr, char dropEnabled); +void QStandardItem_SetEditable(void* ptr, char editable); +void QStandardItem_SetEnabled(void* ptr, char enabled); +void QStandardItem_SetFlags(void* ptr, long long flags); +void QStandardItem_SetFont(void* ptr, void* font); +void QStandardItem_SetForeground(void* ptr, void* brush); +void QStandardItem_SetIcon(void* ptr, void* icon); +void QStandardItem_SetRowCount(void* ptr, int rows); +void QStandardItem_SetSelectable(void* ptr, char selectable); +void QStandardItem_SetSizeHint(void* ptr, void* size); +void QStandardItem_SetStatusTip(void* ptr, struct QtGui_PackedString statusTip); +void QStandardItem_SetText(void* ptr, struct QtGui_PackedString text); +void QStandardItem_SetTextAlignment(void* ptr, long long alignment); +void QStandardItem_SetToolTip(void* ptr, struct QtGui_PackedString toolTip); +void QStandardItem_SetUserTristate(void* ptr, char tristate); +void QStandardItem_SetWhatsThis(void* ptr, struct QtGui_PackedString whatsThis); +void* QStandardItem_SizeHint(void* ptr); +void QStandardItem_SortChildren(void* ptr, int column, long long order); +struct QtGui_PackedString QStandardItem_StatusTip(void* ptr); +void* QStandardItem_TakeChild(void* ptr, int row, int column); +struct QtGui_PackedList QStandardItem_TakeColumn(void* ptr, int column); +struct QtGui_PackedList QStandardItem_TakeRow(void* ptr, int row); +struct QtGui_PackedString QStandardItem_Text(void* ptr); +long long QStandardItem_TextAlignment(void* ptr); +struct QtGui_PackedString QStandardItem_ToolTip(void* ptr); +int QStandardItem_Type(void* ptr); +int QStandardItem_TypeDefault(void* ptr); +struct QtGui_PackedString QStandardItem_WhatsThis(void* ptr); +void QStandardItem_Write(void* ptr, void* out); +void QStandardItem_WriteDefault(void* ptr, void* out); +void QStandardItem_DestroyQStandardItem(void* ptr); +void QStandardItem_DestroyQStandardItemDefault(void* ptr); +void* QStandardItem___appendColumn_items_atList(void* ptr, int i); +void QStandardItem___appendColumn_items_setList(void* ptr, void* i); +void* QStandardItem___appendColumn_items_newList(void* ptr); +void* QStandardItem___appendRow_items_atList(void* ptr, int i); +void QStandardItem___appendRow_items_setList(void* ptr, void* i); +void* QStandardItem___appendRow_items_newList(void* ptr); +void* QStandardItem___appendRows_items_atList(void* ptr, int i); +void QStandardItem___appendRows_items_setList(void* ptr, void* i); +void* QStandardItem___appendRows_items_newList(void* ptr); +void* QStandardItem___insertColumn_items_atList(void* ptr, int i); +void QStandardItem___insertColumn_items_setList(void* ptr, void* i); +void* QStandardItem___insertColumn_items_newList(void* ptr); +void* QStandardItem___insertRow_items_atList(void* ptr, int i); +void QStandardItem___insertRow_items_setList(void* ptr, void* i); +void* QStandardItem___insertRow_items_newList(void* ptr); +void* QStandardItem___insertRows_items_atList(void* ptr, int i); +void QStandardItem___insertRows_items_setList(void* ptr, void* i); +void* QStandardItem___insertRows_items_newList(void* ptr); +void* QStandardItem___takeColumn_atList(void* ptr, int i); +void QStandardItem___takeColumn_setList(void* ptr, void* i); +void* QStandardItem___takeColumn_newList(void* ptr); +void* QStandardItem___takeRow_atList(void* ptr, int i); +void QStandardItem___takeRow_setList(void* ptr, void* i); +void* QStandardItem___takeRow_newList(void* ptr); +void* QStandardItemModel_NewQStandardItemModel(void* parent); +void* QStandardItemModel_NewQStandardItemModel2(int rows, int columns, void* parent); +void QStandardItemModel_AppendColumn(void* ptr, void* items); +void QStandardItemModel_AppendRow(void* ptr, void* items); +void QStandardItemModel_AppendRow2(void* ptr, void* item); +void QStandardItemModel_Clear(void* ptr); +char QStandardItemModel_ClearItemData(void* ptr, void* index); +int QStandardItemModel_ColumnCount(void* ptr, void* parent); +int QStandardItemModel_ColumnCountDefault(void* ptr, void* parent); +void* QStandardItemModel_Data(void* ptr, void* index, int role); +void* QStandardItemModel_DataDefault(void* ptr, void* index, int role); +char QStandardItemModel_DropMimeDataDefault(void* ptr, void* data, long long action, int row, int column, void* parent); +struct QtGui_PackedList QStandardItemModel_FindItems(void* ptr, struct QtGui_PackedString text, long long flags, int column); +long long QStandardItemModel_FlagsDefault(void* ptr, void* index); +char QStandardItemModel_HasChildrenDefault(void* ptr, void* parent); +void* QStandardItemModel_HeaderDataDefault(void* ptr, int section, long long orientation, int role); +void* QStandardItemModel_HorizontalHeaderItem(void* ptr, int column); +void* QStandardItemModel_Index(void* ptr, int row, int column, void* parent); +void* QStandardItemModel_IndexDefault(void* ptr, int row, int column, void* parent); +void* QStandardItemModel_IndexFromItem(void* ptr, void* item); +void QStandardItemModel_InsertColumn(void* ptr, int column, void* items); +char QStandardItemModel_InsertColumnsDefault(void* ptr, int column, int count, void* parent); +void QStandardItemModel_InsertRow(void* ptr, int row, void* items); +void QStandardItemModel_InsertRow2(void* ptr, int row, void* item); +char QStandardItemModel_InsertRowsDefault(void* ptr, int row, int count, void* parent); +void* QStandardItemModel_InvisibleRootItem(void* ptr); +void* QStandardItemModel_Item(void* ptr, int row, int column); +void QStandardItemModel_ConnectItemChanged(void* ptr, long long t); +void QStandardItemModel_DisconnectItemChanged(void* ptr); +void QStandardItemModel_ItemChanged(void* ptr, void* item); +struct QtGui_PackedList QStandardItemModel_ItemDataDefault(void* ptr, void* index); +void* QStandardItemModel_ItemFromIndex(void* ptr, void* index); +void* QStandardItemModel_ItemPrototype(void* ptr); +void* QStandardItemModel_MimeDataDefault(void* ptr, void* indexes); +struct QtGui_PackedString QStandardItemModel_MimeTypesDefault(void* ptr); +void* QStandardItemModel_Parent(void* ptr, void* child); +void* QStandardItemModel_ParentDefault(void* ptr, void* child); +char QStandardItemModel_RemoveColumnsDefault(void* ptr, int column, int count, void* parent); +char QStandardItemModel_RemoveRowsDefault(void* ptr, int row, int count, void* parent); +int QStandardItemModel_RowCount(void* ptr, void* parent); +int QStandardItemModel_RowCountDefault(void* ptr, void* parent); +void QStandardItemModel_SetColumnCount(void* ptr, int columns); +char QStandardItemModel_SetDataDefault(void* ptr, void* index, void* value, int role); +char QStandardItemModel_SetHeaderDataDefault(void* ptr, int section, long long orientation, void* value, int role); +void QStandardItemModel_SetHorizontalHeaderItem(void* ptr, int column, void* item); +void QStandardItemModel_SetHorizontalHeaderLabels(void* ptr, struct QtGui_PackedString labels); +void QStandardItemModel_SetItem(void* ptr, int row, int column, void* item); +void QStandardItemModel_SetItem2(void* ptr, int row, void* item); +char QStandardItemModel_SetItemDataDefault(void* ptr, void* index, void* roles); +void QStandardItemModel_SetItemPrototype(void* ptr, void* item); +void QStandardItemModel_SetItemRoleNames(void* ptr, void* roleNames); +void QStandardItemModel_SetRowCount(void* ptr, int rows); +void QStandardItemModel_SetSortRole(void* ptr, int role); +void QStandardItemModel_SetVerticalHeaderItem(void* ptr, int row, void* item); +void QStandardItemModel_SetVerticalHeaderLabels(void* ptr, struct QtGui_PackedString labels); +void* QStandardItemModel_SiblingDefault(void* ptr, int row, int column, void* idx); +void QStandardItemModel_SortDefault(void* ptr, int column, long long order); +int QStandardItemModel_SortRole(void* ptr); +long long QStandardItemModel_SupportedDropActionsDefault(void* ptr); +struct QtGui_PackedList QStandardItemModel_TakeColumn(void* ptr, int column); +void* QStandardItemModel_TakeHorizontalHeaderItem(void* ptr, int column); +void* QStandardItemModel_TakeItem(void* ptr, int row, int column); +struct QtGui_PackedList QStandardItemModel_TakeRow(void* ptr, int row); +void* QStandardItemModel_TakeVerticalHeaderItem(void* ptr, int row); +void* QStandardItemModel_VerticalHeaderItem(void* ptr, int row); +void QStandardItemModel_DestroyQStandardItemModel(void* ptr); +void QStandardItemModel_DestroyQStandardItemModelDefault(void* ptr); +void* QStandardItemModel___appendColumn_items_atList(void* ptr, int i); +void QStandardItemModel___appendColumn_items_setList(void* ptr, void* i); +void* QStandardItemModel___appendColumn_items_newList(void* ptr); +void* QStandardItemModel___appendRow_items_atList(void* ptr, int i); +void QStandardItemModel___appendRow_items_setList(void* ptr, void* i); +void* QStandardItemModel___appendRow_items_newList(void* ptr); +void* QStandardItemModel___findItems_atList(void* ptr, int i); +void QStandardItemModel___findItems_setList(void* ptr, void* i); +void* QStandardItemModel___findItems_newList(void* ptr); +void* QStandardItemModel___insertColumn_items_atList(void* ptr, int i); +void QStandardItemModel___insertColumn_items_setList(void* ptr, void* i); +void* QStandardItemModel___insertColumn_items_newList(void* ptr); +void* QStandardItemModel___insertRow_items_atList(void* ptr, int i); +void QStandardItemModel___insertRow_items_setList(void* ptr, void* i); +void* QStandardItemModel___insertRow_items_newList(void* ptr); +void* QStandardItemModel___itemData_atList(void* ptr, int v, int i); +void QStandardItemModel___itemData_setList(void* ptr, int key, void* i); +void* QStandardItemModel___itemData_newList(void* ptr); +struct QtGui_PackedList QStandardItemModel___itemData_keyList(void* ptr); +void* QStandardItemModel___mimeData_indexes_atList(void* ptr, int i); +void QStandardItemModel___mimeData_indexes_setList(void* ptr, void* i); +void* QStandardItemModel___mimeData_indexes_newList(void* ptr); +void* QStandardItemModel___setItemData_roles_atList(void* ptr, int v, int i); +void QStandardItemModel___setItemData_roles_setList(void* ptr, int key, void* i); +void* QStandardItemModel___setItemData_roles_newList(void* ptr); +struct QtGui_PackedList QStandardItemModel___setItemData_roles_keyList(void* ptr); +void* QStandardItemModel___setItemRoleNames_roleNames_atList(void* ptr, int v, int i); +void QStandardItemModel___setItemRoleNames_roleNames_setList(void* ptr, int key, void* i); +void* QStandardItemModel___setItemRoleNames_roleNames_newList(void* ptr); +struct QtGui_PackedList QStandardItemModel___setItemRoleNames_roleNames_keyList(void* ptr); +void* QStandardItemModel___takeColumn_atList(void* ptr, int i); +void QStandardItemModel___takeColumn_setList(void* ptr, void* i); +void* QStandardItemModel___takeColumn_newList(void* ptr); +void* QStandardItemModel___takeRow_atList(void* ptr, int i); +void QStandardItemModel___takeRow_setList(void* ptr, void* i); +void* QStandardItemModel___takeRow_newList(void* ptr); +int QStandardItemModel_____itemData_keyList_atList(void* ptr, int i); +void QStandardItemModel_____itemData_keyList_setList(void* ptr, int i); +void* QStandardItemModel_____itemData_keyList_newList(void* ptr); +int QStandardItemModel_____setItemData_roles_keyList_atList(void* ptr, int i); +void QStandardItemModel_____setItemData_roles_keyList_setList(void* ptr, int i); +void* QStandardItemModel_____setItemData_roles_keyList_newList(void* ptr); +int QStandardItemModel_____setItemRoleNames_roleNames_keyList_atList(void* ptr, int i); +void QStandardItemModel_____setItemRoleNames_roleNames_keyList_setList(void* ptr, int i); +void* QStandardItemModel_____setItemRoleNames_roleNames_keyList_newList(void* ptr); +void* QStandardItemModel___changePersistentIndexList_from_atList(void* ptr, int i); +void QStandardItemModel___changePersistentIndexList_from_setList(void* ptr, void* i); +void* QStandardItemModel___changePersistentIndexList_from_newList(void* ptr); +void* QStandardItemModel___changePersistentIndexList_to_atList(void* ptr, int i); +void QStandardItemModel___changePersistentIndexList_to_setList(void* ptr, void* i); +void* QStandardItemModel___changePersistentIndexList_to_newList(void* ptr); +int QStandardItemModel___dataChanged_roles_atList(void* ptr, int i); +void QStandardItemModel___dataChanged_roles_setList(void* ptr, int i); +void* QStandardItemModel___dataChanged_roles_newList(void* ptr); +void* QStandardItemModel___layoutAboutToBeChanged_parents_atList(void* ptr, int i); +void QStandardItemModel___layoutAboutToBeChanged_parents_setList(void* ptr, void* i); +void* QStandardItemModel___layoutAboutToBeChanged_parents_newList(void* ptr); +void* QStandardItemModel___layoutChanged_parents_atList(void* ptr, int i); +void QStandardItemModel___layoutChanged_parents_setList(void* ptr, void* i); +void* QStandardItemModel___layoutChanged_parents_newList(void* ptr); +void* QStandardItemModel___match_atList(void* ptr, int i); +void QStandardItemModel___match_setList(void* ptr, void* i); +void* QStandardItemModel___match_newList(void* ptr); +void* QStandardItemModel___persistentIndexList_atList(void* ptr, int i); +void QStandardItemModel___persistentIndexList_setList(void* ptr, void* i); +void* QStandardItemModel___persistentIndexList_newList(void* ptr); +void* QStandardItemModel___roleNames_atList(void* ptr, int v, int i); +void QStandardItemModel___roleNames_setList(void* ptr, int key, void* i); +void* QStandardItemModel___roleNames_newList(void* ptr); +struct QtGui_PackedList QStandardItemModel___roleNames_keyList(void* ptr); +int QStandardItemModel_____doSetRoleNames_roleNames_keyList_atList(void* ptr, int i); +void QStandardItemModel_____doSetRoleNames_roleNames_keyList_setList(void* ptr, int i); +void* QStandardItemModel_____doSetRoleNames_roleNames_keyList_newList(void* ptr); +int QStandardItemModel_____roleNames_keyList_atList(void* ptr, int i); +void QStandardItemModel_____roleNames_keyList_setList(void* ptr, int i); +void* QStandardItemModel_____roleNames_keyList_newList(void* ptr); +int QStandardItemModel_____setRoleNames_roleNames_keyList_atList(void* ptr, int i); +void QStandardItemModel_____setRoleNames_roleNames_keyList_setList(void* ptr, int i); +void* QStandardItemModel_____setRoleNames_roleNames_keyList_newList(void* ptr); +void* QStandardItemModel___children_atList(void* ptr, int i); +void QStandardItemModel___children_setList(void* ptr, void* i); +void* QStandardItemModel___children_newList(void* ptr); +void* QStandardItemModel___dynamicPropertyNames_atList(void* ptr, int i); +void QStandardItemModel___dynamicPropertyNames_setList(void* ptr, void* i); +void* QStandardItemModel___dynamicPropertyNames_newList(void* ptr); +void* QStandardItemModel___findChildren_atList(void* ptr, int i); +void QStandardItemModel___findChildren_setList(void* ptr, void* i); +void* QStandardItemModel___findChildren_newList(void* ptr); +void* QStandardItemModel___findChildren_atList3(void* ptr, int i); +void QStandardItemModel___findChildren_setList3(void* ptr, void* i); +void* QStandardItemModel___findChildren_newList3(void* ptr); +void* QStandardItemModel___qFindChildren_atList2(void* ptr, int i); +void QStandardItemModel___qFindChildren_setList2(void* ptr, void* i); +void* QStandardItemModel___qFindChildren_newList2(void* ptr); +void* QStandardItemModel_BuddyDefault(void* ptr, void* index); +char QStandardItemModel_CanDropMimeDataDefault(void* ptr, void* data, long long action, int row, int column, void* parent); +char QStandardItemModel_CanFetchMoreDefault(void* ptr, void* parent); +void QStandardItemModel_FetchMoreDefault(void* ptr, void* parent); +struct QtGui_PackedList QStandardItemModel_MatchDefault(void* ptr, void* start, int role, void* value, int hits, long long flags); +char QStandardItemModel_MoveColumnsDefault(void* ptr, void* sourceParent, int sourceColumn, int count, void* destinationParent, int destinationChild); +char QStandardItemModel_MoveRowsDefault(void* ptr, void* sourceParent, int sourceRow, int count, void* destinationParent, int destinationChild); +void QStandardItemModel_ResetInternalDataDefault(void* ptr); +void QStandardItemModel_RevertDefault(void* ptr); +struct QtGui_PackedList QStandardItemModel_RoleNamesDefault(void* ptr); +void* QStandardItemModel_SpanDefault(void* ptr, void* index); +char QStandardItemModel_SubmitDefault(void* ptr); +long long QStandardItemModel_SupportedDragActionsDefault(void* ptr); +void QStandardItemModel_ChildEventDefault(void* ptr, void* event); +void QStandardItemModel_ConnectNotifyDefault(void* ptr, void* sign); +void QStandardItemModel_CustomEventDefault(void* ptr, void* event); +void QStandardItemModel_DeleteLaterDefault(void* ptr); +void QStandardItemModel_DisconnectNotifyDefault(void* ptr, void* sign); +char QStandardItemModel_EventDefault(void* ptr, void* e); +char QStandardItemModel_EventFilterDefault(void* ptr, void* watched, void* event); +void* QStandardItemModel_MetaObjectDefault(void* ptr); +void QStandardItemModel_TimerEventDefault(void* ptr, void* event); +void* QStaticText_NewQStaticText(); +void* QStaticText_NewQStaticText2(struct QtGui_PackedString text); +void* QStaticText_NewQStaticText3(void* other); +long long QStaticText_PerformanceHint(void* ptr); +void QStaticText_Prepare(void* ptr, void* matrix, void* font); +void QStaticText_SetPerformanceHint(void* ptr, long long performanceHint); +void QStaticText_SetText(void* ptr, struct QtGui_PackedString text); +void QStaticText_SetTextFormat(void* ptr, long long textFormat); +void QStaticText_SetTextOption(void* ptr, void* textOption); +void QStaticText_SetTextWidth(void* ptr, double textWidth); +void* QStaticText_Size(void* ptr); +void QStaticText_Swap(void* ptr, void* other); +struct QtGui_PackedString QStaticText_Text(void* ptr); +long long QStaticText_TextFormat(void* ptr); +void* QStaticText_TextOption(void* ptr); +double QStaticText_TextWidth(void* ptr); +void QStaticText_DestroyQStaticText(void* ptr); +void* QStatusTipEvent_NewQStatusTipEvent(struct QtGui_PackedString tip); +struct QtGui_PackedString QStatusTipEvent_Tip(void* ptr); +int QStyleHints_CursorFlashTime(void* ptr); +void QStyleHints_ConnectCursorFlashTimeChanged(void* ptr, long long t); +void QStyleHints_DisconnectCursorFlashTimeChanged(void* ptr); +void QStyleHints_CursorFlashTimeChanged(void* ptr, int cursorFlashTime); +double QStyleHints_FontSmoothingGamma(void* ptr); +int QStyleHints_KeyboardAutoRepeatRate(void* ptr); +int QStyleHints_KeyboardInputInterval(void* ptr); +void QStyleHints_ConnectKeyboardInputIntervalChanged(void* ptr, long long t); +void QStyleHints_DisconnectKeyboardInputIntervalChanged(void* ptr); +void QStyleHints_KeyboardInputIntervalChanged(void* ptr, int keyboardInputInterval); +int QStyleHints_MouseDoubleClickInterval(void* ptr); +void QStyleHints_ConnectMouseDoubleClickIntervalChanged(void* ptr, long long t); +void QStyleHints_DisconnectMouseDoubleClickIntervalChanged(void* ptr); +void QStyleHints_MouseDoubleClickIntervalChanged(void* ptr, int mouseDoubleClickInterval); +int QStyleHints_MousePressAndHoldInterval(void* ptr); +void QStyleHints_ConnectMousePressAndHoldIntervalChanged(void* ptr, long long t); +void QStyleHints_DisconnectMousePressAndHoldIntervalChanged(void* ptr); +void QStyleHints_MousePressAndHoldIntervalChanged(void* ptr, int mousePressAndHoldInterval); +int QStyleHints_MouseQuickSelectionThreshold(void* ptr); +void QStyleHints_ConnectMouseQuickSelectionThresholdChanged(void* ptr, long long t); +void QStyleHints_DisconnectMouseQuickSelectionThresholdChanged(void* ptr); +void QStyleHints_MouseQuickSelectionThresholdChanged(void* ptr, int threshold); +void* QStyleHints_PasswordMaskCharacter(void* ptr); +int QStyleHints_PasswordMaskDelay(void* ptr); +char QStyleHints_SetFocusOnTouchRelease(void* ptr); +void QStyleHints_SetShowShortcutsInContextMenus(void* ptr, char showShortcutsInContextMenus); +void QStyleHints_SetUseHoverEffects(void* ptr, char useHoverEffects); +char QStyleHints_ShowIsFullScreen(void* ptr); +char QStyleHints_ShowIsMaximized(void* ptr); +char QStyleHints_ShowShortcutsInContextMenus(void* ptr); +void QStyleHints_ConnectShowShortcutsInContextMenusChanged(void* ptr, long long t); +void QStyleHints_DisconnectShowShortcutsInContextMenusChanged(void* ptr); +void QStyleHints_ShowShortcutsInContextMenusChanged(void* ptr, char vbo); +char QStyleHints_SingleClickActivation(void* ptr); +int QStyleHints_StartDragDistance(void* ptr); +void QStyleHints_ConnectStartDragDistanceChanged(void* ptr, long long t); +void QStyleHints_DisconnectStartDragDistanceChanged(void* ptr); +void QStyleHints_StartDragDistanceChanged(void* ptr, int startDragDistance); +int QStyleHints_StartDragTime(void* ptr); +void QStyleHints_ConnectStartDragTimeChanged(void* ptr, long long t); +void QStyleHints_DisconnectStartDragTimeChanged(void* ptr); +void QStyleHints_StartDragTimeChanged(void* ptr, int startDragTime); +int QStyleHints_StartDragVelocity(void* ptr); +long long QStyleHints_TabFocusBehavior(void* ptr); +void QStyleHints_ConnectTabFocusBehaviorChanged(void* ptr, long long t); +void QStyleHints_DisconnectTabFocusBehaviorChanged(void* ptr); +void QStyleHints_TabFocusBehaviorChanged(void* ptr, long long tabFocusBehavior); +char QStyleHints_UseHoverEffects(void* ptr); +void QStyleHints_ConnectUseHoverEffectsChanged(void* ptr, long long t); +void QStyleHints_DisconnectUseHoverEffectsChanged(void* ptr); +void QStyleHints_UseHoverEffectsChanged(void* ptr, char useHoverEffects); +char QStyleHints_UseRtlExtensions(void* ptr); +int QStyleHints_WheelScrollLines(void* ptr); +void QStyleHints_ConnectWheelScrollLinesChanged(void* ptr, long long t); +void QStyleHints_DisconnectWheelScrollLinesChanged(void* ptr); +void QStyleHints_WheelScrollLinesChanged(void* ptr, int scrollLines); +void* QStyleHints___children_atList(void* ptr, int i); +void QStyleHints___children_setList(void* ptr, void* i); +void* QStyleHints___children_newList(void* ptr); +void* QStyleHints___dynamicPropertyNames_atList(void* ptr, int i); +void QStyleHints___dynamicPropertyNames_setList(void* ptr, void* i); +void* QStyleHints___dynamicPropertyNames_newList(void* ptr); +void* QStyleHints___findChildren_atList(void* ptr, int i); +void QStyleHints___findChildren_setList(void* ptr, void* i); +void* QStyleHints___findChildren_newList(void* ptr); +void* QStyleHints___findChildren_atList3(void* ptr, int i); +void QStyleHints___findChildren_setList3(void* ptr, void* i); +void* QStyleHints___findChildren_newList3(void* ptr); +void* QStyleHints___qFindChildren_atList2(void* ptr, int i); +void QStyleHints___qFindChildren_setList2(void* ptr, void* i); +void* QStyleHints___qFindChildren_newList2(void* ptr); +void QStyleHints_ChildEventDefault(void* ptr, void* event); +void QStyleHints_ConnectNotifyDefault(void* ptr, void* sign); +void QStyleHints_CustomEventDefault(void* ptr, void* event); +void QStyleHints_DeleteLaterDefault(void* ptr); +void QStyleHints_DisconnectNotifyDefault(void* ptr, void* sign); +char QStyleHints_EventDefault(void* ptr, void* e); +char QStyleHints_EventFilterDefault(void* ptr, void* watched, void* event); +void* QStyleHints_MetaObjectDefault(void* ptr); +void QStyleHints_TimerEventDefault(void* ptr, void* event); +void* QSurface_Format(void* ptr); +void* QSurface_Size(void* ptr); +char QSurface_SupportsOpenGL(void* ptr); +long long QSurface_SurfaceClass(void* ptr); +long long QSurface_SurfaceType(void* ptr); +void QSurface_DestroyQSurface(void* ptr); +void QSurface_DestroyQSurfaceDefault(void* ptr); +void* QSurfaceFormat_NewQSurfaceFormat(); +void* QSurfaceFormat_NewQSurfaceFormat2(long long options); +void* QSurfaceFormat_NewQSurfaceFormat3(void* other); +int QSurfaceFormat_AlphaBufferSize(void* ptr); +int QSurfaceFormat_BlueBufferSize(void* ptr); +long long QSurfaceFormat_ColorSpace(void* ptr); +void* QSurfaceFormat_QSurfaceFormat_DefaultFormat(); +int QSurfaceFormat_DepthBufferSize(void* ptr); +int QSurfaceFormat_GreenBufferSize(void* ptr); +char QSurfaceFormat_HasAlpha(void* ptr); +int QSurfaceFormat_MajorVersion(void* ptr); +int QSurfaceFormat_MinorVersion(void* ptr); +long long QSurfaceFormat_Options(void* ptr); +long long QSurfaceFormat_Profile(void* ptr); +int QSurfaceFormat_RedBufferSize(void* ptr); +long long QSurfaceFormat_RenderableType(void* ptr); +int QSurfaceFormat_Samples(void* ptr); +void QSurfaceFormat_SetAlphaBufferSize(void* ptr, int size); +void QSurfaceFormat_SetBlueBufferSize(void* ptr, int size); +void QSurfaceFormat_SetColorSpace(void* ptr, long long colorSpace); +void QSurfaceFormat_QSurfaceFormat_SetDefaultFormat(void* format); +void QSurfaceFormat_SetDepthBufferSize(void* ptr, int size); +void QSurfaceFormat_SetGreenBufferSize(void* ptr, int size); +void QSurfaceFormat_SetMajorVersion(void* ptr, int major); +void QSurfaceFormat_SetMinorVersion(void* ptr, int minor); +void QSurfaceFormat_SetOption(void* ptr, long long option, char on); +void QSurfaceFormat_SetOptions(void* ptr, long long options); +void QSurfaceFormat_SetProfile(void* ptr, long long profile); +void QSurfaceFormat_SetRedBufferSize(void* ptr, int size); +void QSurfaceFormat_SetRenderableType(void* ptr, long long ty); +void QSurfaceFormat_SetSamples(void* ptr, int numSamples); +void QSurfaceFormat_SetStencilBufferSize(void* ptr, int size); +void QSurfaceFormat_SetStereo(void* ptr, char enable); +void QSurfaceFormat_SetSwapBehavior(void* ptr, long long behavior); +void QSurfaceFormat_SetSwapInterval(void* ptr, int interval); +void QSurfaceFormat_SetVersion(void* ptr, int major, int minor); +int QSurfaceFormat_StencilBufferSize(void* ptr); +char QSurfaceFormat_Stereo(void* ptr); +long long QSurfaceFormat_SwapBehavior(void* ptr); +int QSurfaceFormat_SwapInterval(void* ptr); +char QSurfaceFormat_TestOption(void* ptr, long long option); +void QSurfaceFormat_DestroyQSurfaceFormat(void* ptr); +void* QSyntaxHighlighter_NewQSyntaxHighlighter(void* parent); +void* QSyntaxHighlighter_NewQSyntaxHighlighter2(void* parent); +void* QSyntaxHighlighter_CurrentBlock(void* ptr); +int QSyntaxHighlighter_CurrentBlockState(void* ptr); +void* QSyntaxHighlighter_CurrentBlockUserData(void* ptr); +void* QSyntaxHighlighter_Document(void* ptr); +void* QSyntaxHighlighter_Format(void* ptr, int position); +void QSyntaxHighlighter_HighlightBlock(void* ptr, struct QtGui_PackedString text); +int QSyntaxHighlighter_PreviousBlockState(void* ptr); +void QSyntaxHighlighter_Rehighlight(void* ptr); +void QSyntaxHighlighter_RehighlightDefault(void* ptr); +void QSyntaxHighlighter_RehighlightBlock(void* ptr, void* block); +void QSyntaxHighlighter_RehighlightBlockDefault(void* ptr, void* block); +void QSyntaxHighlighter_SetCurrentBlockState(void* ptr, int newState); +void QSyntaxHighlighter_SetCurrentBlockUserData(void* ptr, void* data); +void QSyntaxHighlighter_SetDocument(void* ptr, void* doc); +void QSyntaxHighlighter_SetFormat(void* ptr, int start, int count, void* format); +void QSyntaxHighlighter_SetFormat2(void* ptr, int start, int count, void* color); +void QSyntaxHighlighter_SetFormat3(void* ptr, int start, int count, void* font); +void QSyntaxHighlighter_DestroyQSyntaxHighlighter(void* ptr); +void QSyntaxHighlighter_DestroyQSyntaxHighlighterDefault(void* ptr); +void* QSyntaxHighlighter___children_atList(void* ptr, int i); +void QSyntaxHighlighter___children_setList(void* ptr, void* i); +void* QSyntaxHighlighter___children_newList(void* ptr); +void* QSyntaxHighlighter___dynamicPropertyNames_atList(void* ptr, int i); +void QSyntaxHighlighter___dynamicPropertyNames_setList(void* ptr, void* i); +void* QSyntaxHighlighter___dynamicPropertyNames_newList(void* ptr); +void* QSyntaxHighlighter___findChildren_atList(void* ptr, int i); +void QSyntaxHighlighter___findChildren_setList(void* ptr, void* i); +void* QSyntaxHighlighter___findChildren_newList(void* ptr); +void* QSyntaxHighlighter___findChildren_atList3(void* ptr, int i); +void QSyntaxHighlighter___findChildren_setList3(void* ptr, void* i); +void* QSyntaxHighlighter___findChildren_newList3(void* ptr); +void* QSyntaxHighlighter___qFindChildren_atList2(void* ptr, int i); +void QSyntaxHighlighter___qFindChildren_setList2(void* ptr, void* i); +void* QSyntaxHighlighter___qFindChildren_newList2(void* ptr); +void QSyntaxHighlighter_ChildEventDefault(void* ptr, void* event); +void QSyntaxHighlighter_ConnectNotifyDefault(void* ptr, void* sign); +void QSyntaxHighlighter_CustomEventDefault(void* ptr, void* event); +void QSyntaxHighlighter_DeleteLaterDefault(void* ptr); +void QSyntaxHighlighter_DisconnectNotifyDefault(void* ptr, void* sign); +char QSyntaxHighlighter_EventDefault(void* ptr, void* e); +char QSyntaxHighlighter_EventFilterDefault(void* ptr, void* watched, void* event); +void* QSyntaxHighlighter_MetaObjectDefault(void* ptr); +void QSyntaxHighlighter_TimerEventDefault(void* ptr, void* event); +void* QTabletEvent_NewQTabletEvent2(long long ty, void* pos, void* globalPos, int device, int pointerType, double pressure, int xTilt, int yTilt, double tangentialPressure, double rotation, int z, long long keyState, long long uniqueID, long long button, long long buttons); +long long QTabletEvent_Button(void* ptr); +long long QTabletEvent_Buttons(void* ptr); +long long QTabletEvent_Device(void* ptr); +void* QTabletEvent_GlobalPos(void* ptr); +void* QTabletEvent_GlobalPosF(void* ptr); +int QTabletEvent_GlobalX(void* ptr); +int QTabletEvent_GlobalY(void* ptr); +double QTabletEvent_HiResGlobalX(void* ptr); +double QTabletEvent_HiResGlobalY(void* ptr); +long long QTabletEvent_PointerType(void* ptr); +void* QTabletEvent_Pos(void* ptr); +void* QTabletEvent_PosF(void* ptr); +double QTabletEvent_Pressure(void* ptr); +double QTabletEvent_Rotation(void* ptr); +double QTabletEvent_TangentialPressure(void* ptr); +long long QTabletEvent_UniqueId(void* ptr); +int QTabletEvent_X(void* ptr); +int QTabletEvent_XTilt(void* ptr); +int QTabletEvent_Y(void* ptr); +int QTabletEvent_YTilt(void* ptr); +int QTabletEvent_Z(void* ptr); +void* QTextBlock_NewQTextBlock3(void* other); +void* QTextBlock_BlockFormat(void* ptr); +int QTextBlock_BlockFormatIndex(void* ptr); +int QTextBlock_BlockNumber(void* ptr); +void* QTextBlock_CharFormat(void* ptr); +int QTextBlock_CharFormatIndex(void* ptr); +void QTextBlock_ClearLayout(void* ptr); +char QTextBlock_Contains(void* ptr, int position); +void* QTextBlock_Document(void* ptr); +int QTextBlock_FirstLineNumber(void* ptr); +char QTextBlock_IsValid(void* ptr); +char QTextBlock_IsVisible(void* ptr); +void* QTextBlock_Layout(void* ptr); +int QTextBlock_Length(void* ptr); +int QTextBlock_LineCount(void* ptr); +void* QTextBlock_Next(void* ptr); +int QTextBlock_Position(void* ptr); +void* QTextBlock_Previous(void* ptr); +int QTextBlock_Revision(void* ptr); +void QTextBlock_SetLineCount(void* ptr, int count); +void QTextBlock_SetRevision(void* ptr, int rev); +void QTextBlock_SetUserData(void* ptr, void* data); +void QTextBlock_SetUserState(void* ptr, int state); +void QTextBlock_SetVisible(void* ptr, char visible); +struct QtGui_PackedString QTextBlock_Text(void* ptr); +long long QTextBlock_TextDirection(void* ptr); +void* QTextBlock_UserData(void* ptr); +int QTextBlock_UserState(void* ptr); +void* QTextBlock___textFormats_newList(void* ptr); +void* QTextBlockFormat_NewQTextBlockFormat(); +long long QTextBlockFormat_Alignment(void* ptr); +double QTextBlockFormat_BottomMargin(void* ptr); +int QTextBlockFormat_HeadingLevel(void* ptr); +int QTextBlockFormat_Indent(void* ptr); +double QTextBlockFormat_LeftMargin(void* ptr); +double QTextBlockFormat_LineHeight(void* ptr, double scriptLineHeight, double scaling); +double QTextBlockFormat_LineHeight2(void* ptr); +int QTextBlockFormat_LineHeightType(void* ptr); +char QTextBlockFormat_NonBreakableLines(void* ptr); +long long QTextBlockFormat_PageBreakPolicy(void* ptr); +double QTextBlockFormat_RightMargin(void* ptr); +void QTextBlockFormat_SetAlignment(void* ptr, long long alignment); +void QTextBlockFormat_SetBottomMargin(void* ptr, double margin); +void QTextBlockFormat_SetHeadingLevel(void* ptr, int level); +void QTextBlockFormat_SetIndent(void* ptr, int indentation); +void QTextBlockFormat_SetLeftMargin(void* ptr, double margin); +void QTextBlockFormat_SetLineHeight(void* ptr, double height, int heightType); +void QTextBlockFormat_SetNonBreakableLines(void* ptr, char b); +void QTextBlockFormat_SetPageBreakPolicy(void* ptr, long long policy); +void QTextBlockFormat_SetRightMargin(void* ptr, double margin); +void QTextBlockFormat_SetTextIndent(void* ptr, double indent); +void QTextBlockFormat_SetTopMargin(void* ptr, double margin); +double QTextBlockFormat_TextIndent(void* ptr); +double QTextBlockFormat_TopMargin(void* ptr); +void* QTextBlockFormat___setTabPositions_tabs_newList(void* ptr); +void* QTextBlockFormat___tabPositions_newList(void* ptr); +void* QTextBlockGroup_NewQTextBlockGroup(void* document); +void QTextBlockGroup_BlockFormatChanged(void* ptr, void* block); +void QTextBlockGroup_BlockFormatChangedDefault(void* ptr, void* block); +void QTextBlockGroup_BlockInserted(void* ptr, void* block); +void QTextBlockGroup_BlockInsertedDefault(void* ptr, void* block); +struct QtGui_PackedList QTextBlockGroup_BlockList(void* ptr); +void QTextBlockGroup_BlockRemoved(void* ptr, void* block); +void QTextBlockGroup_BlockRemovedDefault(void* ptr, void* block); +void QTextBlockGroup_DestroyQTextBlockGroup(void* ptr); +void QTextBlockGroup_DestroyQTextBlockGroupDefault(void* ptr); +void* QTextBlockGroup___blockList_atList(void* ptr, int i); +void QTextBlockGroup___blockList_setList(void* ptr, void* i); +void* QTextBlockGroup___blockList_newList(void* ptr); +void QTextBlockUserData_DestroyQTextBlockUserData(void* ptr); +void QTextBlockUserData_DestroyQTextBlockUserDataDefault(void* ptr); +void* QTextCharFormat_NewQTextCharFormat(); +struct QtGui_PackedString QTextCharFormat_AnchorHref(void* ptr); +struct QtGui_PackedString QTextCharFormat_AnchorNames(void* ptr); +void* QTextCharFormat_Font(void* ptr); +long long QTextCharFormat_FontCapitalization(void* ptr); +void* QTextCharFormat_FontFamilies(void* ptr); +struct QtGui_PackedString QTextCharFormat_FontFamily(void* ptr); +char QTextCharFormat_FontFixedPitch(void* ptr); +long long QTextCharFormat_FontHintingPreference(void* ptr); +char QTextCharFormat_FontItalic(void* ptr); +char QTextCharFormat_FontKerning(void* ptr); +double QTextCharFormat_FontLetterSpacing(void* ptr); +long long QTextCharFormat_FontLetterSpacingType(void* ptr); +char QTextCharFormat_FontOverline(void* ptr); +double QTextCharFormat_FontPointSize(void* ptr); +int QTextCharFormat_FontStretch(void* ptr); +char QTextCharFormat_FontStrikeOut(void* ptr); +long long QTextCharFormat_FontStyleHint(void* ptr); +void* QTextCharFormat_FontStyleName(void* ptr); +long long QTextCharFormat_FontStyleStrategy(void* ptr); +char QTextCharFormat_FontUnderline(void* ptr); +int QTextCharFormat_FontWeight(void* ptr); +double QTextCharFormat_FontWordSpacing(void* ptr); +char QTextCharFormat_IsAnchor(void* ptr); +void QTextCharFormat_SetAnchor(void* ptr, char anchor); +void QTextCharFormat_SetAnchorHref(void* ptr, struct QtGui_PackedString value); +void QTextCharFormat_SetAnchorNames(void* ptr, struct QtGui_PackedString names); +void QTextCharFormat_SetFont(void* ptr, void* font, long long behavior); +void QTextCharFormat_SetFont2(void* ptr, void* font); +void QTextCharFormat_SetFontCapitalization(void* ptr, long long capitalization); +void QTextCharFormat_SetFontFamilies(void* ptr, struct QtGui_PackedString families); +void QTextCharFormat_SetFontFamily(void* ptr, struct QtGui_PackedString family); +void QTextCharFormat_SetFontFixedPitch(void* ptr, char fixedPitch); +void QTextCharFormat_SetFontHintingPreference(void* ptr, long long hintingPreference); +void QTextCharFormat_SetFontItalic(void* ptr, char italic); +void QTextCharFormat_SetFontKerning(void* ptr, char enable); +void QTextCharFormat_SetFontLetterSpacing(void* ptr, double spacing); +void QTextCharFormat_SetFontLetterSpacingType(void* ptr, long long letterSpacingType); +void QTextCharFormat_SetFontOverline(void* ptr, char overline); +void QTextCharFormat_SetFontPointSize(void* ptr, double size); +void QTextCharFormat_SetFontStretch(void* ptr, int factor); +void QTextCharFormat_SetFontStrikeOut(void* ptr, char strikeOut); +void QTextCharFormat_SetFontStyleHint(void* ptr, long long hint, long long strategy); +void QTextCharFormat_SetFontStyleName(void* ptr, struct QtGui_PackedString styleName); +void QTextCharFormat_SetFontStyleStrategy(void* ptr, long long strategy); +void QTextCharFormat_SetFontUnderline(void* ptr, char underline); +void QTextCharFormat_SetFontWeight(void* ptr, int weight); +void QTextCharFormat_SetFontWordSpacing(void* ptr, double spacing); +void QTextCharFormat_SetTextOutline(void* ptr, void* pen); +void QTextCharFormat_SetToolTip(void* ptr, struct QtGui_PackedString text); +void QTextCharFormat_SetUnderlineColor(void* ptr, void* color); +void QTextCharFormat_SetUnderlineStyle(void* ptr, long long style); +void QTextCharFormat_SetVerticalAlignment(void* ptr, long long alignment); +void* QTextCharFormat_TextOutline(void* ptr); +struct QtGui_PackedString QTextCharFormat_ToolTip(void* ptr); +void* QTextCharFormat_UnderlineColor(void* ptr); +long long QTextCharFormat_UnderlineStyle(void* ptr); +long long QTextCharFormat_VerticalAlignment(void* ptr); +void* QTextCursor_NewQTextCursor(); +void* QTextCursor_NewQTextCursor2(void* document); +void* QTextCursor_NewQTextCursor3(void* frame); +void* QTextCursor_NewQTextCursor4(void* block); +void* QTextCursor_NewQTextCursor5(void* cursor); +int QTextCursor_Anchor(void* ptr); +char QTextCursor_AtBlockEnd(void* ptr); +char QTextCursor_AtBlockStart(void* ptr); +char QTextCursor_AtEnd(void* ptr); +char QTextCursor_AtStart(void* ptr); +void QTextCursor_BeginEditBlock(void* ptr); +void* QTextCursor_Block(void* ptr); +void* QTextCursor_BlockCharFormat(void* ptr); +void* QTextCursor_BlockFormat(void* ptr); +int QTextCursor_BlockNumber(void* ptr); +void* QTextCursor_CharFormat(void* ptr); +void QTextCursor_ClearSelection(void* ptr); +int QTextCursor_ColumnNumber(void* ptr); +void* QTextCursor_CreateList(void* ptr, void* format); +void* QTextCursor_CreateList2(void* ptr, long long style); +void* QTextCursor_CurrentFrame(void* ptr); +void* QTextCursor_CurrentList(void* ptr); +void* QTextCursor_CurrentTable(void* ptr); +void QTextCursor_DeleteChar(void* ptr); +void QTextCursor_DeletePreviousChar(void* ptr); +void* QTextCursor_Document(void* ptr); +void QTextCursor_EndEditBlock(void* ptr); +char QTextCursor_HasComplexSelection(void* ptr); +char QTextCursor_HasSelection(void* ptr); +void QTextCursor_InsertBlock(void* ptr); +void QTextCursor_InsertBlock2(void* ptr, void* format); +void QTextCursor_InsertBlock3(void* ptr, void* format, void* charFormat); +void QTextCursor_InsertFragment(void* ptr, void* fragment); +void* QTextCursor_InsertFrame(void* ptr, void* format); +void QTextCursor_InsertHtml(void* ptr, struct QtGui_PackedString html); +void QTextCursor_InsertImage(void* ptr, void* format); +void QTextCursor_InsertImage2(void* ptr, void* format, long long alignment); +void QTextCursor_InsertImage3(void* ptr, struct QtGui_PackedString name); +void QTextCursor_InsertImage4(void* ptr, void* image, struct QtGui_PackedString name); +void* QTextCursor_InsertList(void* ptr, void* format); +void* QTextCursor_InsertList2(void* ptr, long long style); +void* QTextCursor_InsertTable(void* ptr, int rows, int columns, void* format); +void* QTextCursor_InsertTable2(void* ptr, int rows, int columns); +void QTextCursor_InsertText(void* ptr, struct QtGui_PackedString text); +void QTextCursor_InsertText2(void* ptr, struct QtGui_PackedString text, void* format); +char QTextCursor_IsCopyOf(void* ptr, void* other); +char QTextCursor_IsNull(void* ptr); +void QTextCursor_JoinPreviousEditBlock(void* ptr); +char QTextCursor_KeepPositionOnInsert(void* ptr); +void QTextCursor_MergeBlockCharFormat(void* ptr, void* modifier); +void QTextCursor_MergeBlockFormat(void* ptr, void* modifier); +void QTextCursor_MergeCharFormat(void* ptr, void* modifier); +char QTextCursor_MovePosition(void* ptr, long long operation, long long mode, int n); +int QTextCursor_Position(void* ptr); +int QTextCursor_PositionInBlock(void* ptr); +void QTextCursor_RemoveSelectedText(void* ptr); +void QTextCursor_Select(void* ptr, long long selection); +void QTextCursor_SelectedTableCells(void* ptr, int firstRow, int numRows, int firstColumn, int numColumns); +struct QtGui_PackedString QTextCursor_SelectedText(void* ptr); +void* QTextCursor_Selection(void* ptr); +int QTextCursor_SelectionEnd(void* ptr); +int QTextCursor_SelectionStart(void* ptr); +void QTextCursor_SetBlockCharFormat(void* ptr, void* format); +void QTextCursor_SetBlockFormat(void* ptr, void* format); +void QTextCursor_SetCharFormat(void* ptr, void* format); +void QTextCursor_SetKeepPositionOnInsert(void* ptr, char b); +void QTextCursor_SetPosition(void* ptr, int pos, long long m); +void QTextCursor_SetVerticalMovementX(void* ptr, int x); +void QTextCursor_SetVisualNavigation(void* ptr, char b); +void QTextCursor_Swap(void* ptr, void* other); +int QTextCursor_VerticalMovementX(void* ptr); +char QTextCursor_VisualNavigation(void* ptr); +void QTextCursor_DestroyQTextCursor(void* ptr); +void* QTextDocument_NewQTextDocument(void* parent); +void* QTextDocument_NewQTextDocument2(struct QtGui_PackedString text, void* parent); +void QTextDocument_AddResource(void* ptr, int ty, void* name, void* resource); +void QTextDocument_AdjustSize(void* ptr); +struct QtGui_PackedList QTextDocument_AllFormats(void* ptr); +int QTextDocument_AvailableRedoSteps(void* ptr); +int QTextDocument_AvailableUndoSteps(void* ptr); +void* QTextDocument_BaseUrl(void* ptr); +void QTextDocument_ConnectBaseUrlChanged(void* ptr, long long t); +void QTextDocument_DisconnectBaseUrlChanged(void* ptr); +void QTextDocument_BaseUrlChanged(void* ptr, void* url); +void* QTextDocument_Begin(void* ptr); +int QTextDocument_BlockCount(void* ptr); +void QTextDocument_ConnectBlockCountChanged(void* ptr, long long t); +void QTextDocument_DisconnectBlockCountChanged(void* ptr); +void QTextDocument_BlockCountChanged(void* ptr, int newBlockCount); +void* QTextDocument_CharacterAt(void* ptr, int pos); +int QTextDocument_CharacterCount(void* ptr); +void QTextDocument_Clear(void* ptr); +void QTextDocument_ClearDefault(void* ptr); +void QTextDocument_ClearUndoRedoStacks(void* ptr, long long stacksToClear); +void* QTextDocument_Clone(void* ptr, void* parent); +void QTextDocument_ConnectContentsChange(void* ptr, long long t); +void QTextDocument_DisconnectContentsChange(void* ptr); +void QTextDocument_ContentsChange(void* ptr, int position, int charsRemoved, int charsAdded); +void QTextDocument_ConnectContentsChanged(void* ptr, long long t); +void QTextDocument_DisconnectContentsChanged(void* ptr); +void QTextDocument_ContentsChanged(void* ptr); +void* QTextDocument_CreateObject(void* ptr, void* format); +void* QTextDocument_CreateObjectDefault(void* ptr, void* format); +void QTextDocument_ConnectCursorPositionChanged(void* ptr, long long t); +void QTextDocument_DisconnectCursorPositionChanged(void* ptr); +void QTextDocument_CursorPositionChanged(void* ptr, void* cursor); +long long QTextDocument_DefaultCursorMoveStyle(void* ptr); +void* QTextDocument_DefaultFont(void* ptr); +struct QtGui_PackedString QTextDocument_DefaultStyleSheet(void* ptr); +void* QTextDocument_DefaultTextOption(void* ptr); +void* QTextDocument_DocumentLayout(void* ptr); +void QTextDocument_ConnectDocumentLayoutChanged(void* ptr, long long t); +void QTextDocument_DisconnectDocumentLayoutChanged(void* ptr); +void QTextDocument_DocumentLayoutChanged(void* ptr); +double QTextDocument_DocumentMargin(void* ptr); +void QTextDocument_DrawContents(void* ptr, void* p, void* rect); +void* QTextDocument_End(void* ptr); +void* QTextDocument_Find(void* ptr, struct QtGui_PackedString subString, void* cursor, long long options); +void* QTextDocument_Find2(void* ptr, struct QtGui_PackedString subString, int position, long long options); +void* QTextDocument_Find3(void* ptr, void* expr, int from, long long options); +void* QTextDocument_Find4(void* ptr, void* expr, void* cursor, long long options); +void* QTextDocument_Find5(void* ptr, void* expr, int from, long long options); +void* QTextDocument_Find6(void* ptr, void* expr, void* cursor, long long options); +void* QTextDocument_FindBlock(void* ptr, int pos); +void* QTextDocument_FindBlockByLineNumber(void* ptr, int lineNumber); +void* QTextDocument_FindBlockByNumber(void* ptr, int blockNumber); +void* QTextDocument_FirstBlock(void* ptr); +double QTextDocument_IdealWidth(void* ptr); +double QTextDocument_IndentWidth(void* ptr); +char QTextDocument_IsEmpty(void* ptr); +char QTextDocument_IsModified(void* ptr); +char QTextDocument_IsRedoAvailable(void* ptr); +char QTextDocument_IsUndoAvailable(void* ptr); +char QTextDocument_IsUndoRedoEnabled(void* ptr); +void* QTextDocument_LastBlock(void* ptr); +int QTextDocument_LineCount(void* ptr); +void* QTextDocument_LoadResource(void* ptr, int ty, void* name); +void* QTextDocument_LoadResourceDefault(void* ptr, int ty, void* name); +void QTextDocument_MarkContentsDirty(void* ptr, int position, int length); +int QTextDocument_MaximumBlockCount(void* ptr); +struct QtGui_PackedString QTextDocument_MetaInformation(void* ptr, long long info); +void QTextDocument_ConnectModificationChanged(void* ptr, long long t); +void QTextDocument_DisconnectModificationChanged(void* ptr); +void QTextDocument_ModificationChanged(void* ptr, char changed); +void* QTextDocument_Object(void* ptr, int objectIndex); +void* QTextDocument_ObjectForFormat(void* ptr, void* ff); +int QTextDocument_PageCount(void* ptr); +void* QTextDocument_PageSize(void* ptr); +void QTextDocument_Print(void* ptr, void* printer); +void QTextDocument_Redo(void* ptr, void* cursor); +void QTextDocument_Redo2(void* ptr); +void QTextDocument_Redo2Default(void* ptr); +void QTextDocument_ConnectRedoAvailable(void* ptr, long long t); +void QTextDocument_DisconnectRedoAvailable(void* ptr); +void QTextDocument_RedoAvailable(void* ptr, char available); +void* QTextDocument_Resource(void* ptr, int ty, void* name); +int QTextDocument_Revision(void* ptr); +void* QTextDocument_RootFrame(void* ptr); +void QTextDocument_SetBaseUrl(void* ptr, void* url); +void QTextDocument_SetDefaultCursorMoveStyle(void* ptr, long long style); +void QTextDocument_SetDefaultFont(void* ptr, void* font); +void QTextDocument_SetDefaultStyleSheet(void* ptr, struct QtGui_PackedString sheet); +void QTextDocument_SetDefaultTextOption(void* ptr, void* option); +void QTextDocument_SetDocumentLayout(void* ptr, void* layout); +void QTextDocument_SetDocumentMargin(void* ptr, double margin); +void QTextDocument_SetHtml(void* ptr, struct QtGui_PackedString html); +void QTextDocument_SetIndentWidth(void* ptr, double width); +void QTextDocument_SetMaximumBlockCount(void* ptr, int maximum); +void QTextDocument_SetMetaInformation(void* ptr, long long info, struct QtGui_PackedString stri); +void QTextDocument_SetModified(void* ptr, char m); +void QTextDocument_SetModifiedDefault(void* ptr, char m); +void QTextDocument_SetPageSize(void* ptr, void* size); +void QTextDocument_SetPlainText(void* ptr, struct QtGui_PackedString text); +void QTextDocument_SetTextWidth(void* ptr, double width); +void QTextDocument_SetUndoRedoEnabled(void* ptr, char enable); +void QTextDocument_SetUseDesignMetrics(void* ptr, char b); +void* QTextDocument_Size(void* ptr); +double QTextDocument_TextWidth(void* ptr); +struct QtGui_PackedString QTextDocument_ToHtml(void* ptr, void* encoding); +struct QtGui_PackedString QTextDocument_ToPlainText(void* ptr); +struct QtGui_PackedString QTextDocument_ToRawText(void* ptr); +void QTextDocument_Undo(void* ptr, void* cursor); +void QTextDocument_Undo2(void* ptr); +void QTextDocument_Undo2Default(void* ptr); +void QTextDocument_ConnectUndoAvailable(void* ptr, long long t); +void QTextDocument_DisconnectUndoAvailable(void* ptr); +void QTextDocument_UndoAvailable(void* ptr, char available); +void QTextDocument_ConnectUndoCommandAdded(void* ptr, long long t); +void QTextDocument_DisconnectUndoCommandAdded(void* ptr); +void QTextDocument_UndoCommandAdded(void* ptr); +char QTextDocument_UseDesignMetrics(void* ptr); +void QTextDocument_DestroyQTextDocument(void* ptr); +void QTextDocument_DestroyQTextDocumentDefault(void* ptr); +void* QTextDocument___allFormats_atList(void* ptr, int i); +void QTextDocument___allFormats_setList(void* ptr, void* i); +void* QTextDocument___allFormats_newList(void* ptr); +void* QTextDocument___children_atList(void* ptr, int i); +void QTextDocument___children_setList(void* ptr, void* i); +void* QTextDocument___children_newList(void* ptr); +void* QTextDocument___dynamicPropertyNames_atList(void* ptr, int i); +void QTextDocument___dynamicPropertyNames_setList(void* ptr, void* i); +void* QTextDocument___dynamicPropertyNames_newList(void* ptr); +void* QTextDocument___findChildren_atList(void* ptr, int i); +void QTextDocument___findChildren_setList(void* ptr, void* i); +void* QTextDocument___findChildren_newList(void* ptr); +void* QTextDocument___findChildren_atList3(void* ptr, int i); +void QTextDocument___findChildren_setList3(void* ptr, void* i); +void* QTextDocument___findChildren_newList3(void* ptr); +void* QTextDocument___qFindChildren_atList2(void* ptr, int i); +void QTextDocument___qFindChildren_setList2(void* ptr, void* i); +void* QTextDocument___qFindChildren_newList2(void* ptr); +void QTextDocument_ChildEventDefault(void* ptr, void* event); +void QTextDocument_ConnectNotifyDefault(void* ptr, void* sign); +void QTextDocument_CustomEventDefault(void* ptr, void* event); +void QTextDocument_DeleteLaterDefault(void* ptr); +void QTextDocument_DisconnectNotifyDefault(void* ptr, void* sign); +char QTextDocument_EventDefault(void* ptr, void* e); +char QTextDocument_EventFilterDefault(void* ptr, void* watched, void* event); +void* QTextDocument_MetaObjectDefault(void* ptr); +void QTextDocument_TimerEventDefault(void* ptr, void* event); +void* QTextDocumentFragment_NewQTextDocumentFragment(); +void* QTextDocumentFragment_NewQTextDocumentFragment2(void* document); +void* QTextDocumentFragment_NewQTextDocumentFragment3(void* cursor); +void* QTextDocumentFragment_NewQTextDocumentFragment4(void* other); +void* QTextDocumentFragment_QTextDocumentFragment_FromHtml(struct QtGui_PackedString text); +void* QTextDocumentFragment_QTextDocumentFragment_FromHtml2(struct QtGui_PackedString text, void* resourceProvider); +void* QTextDocumentFragment_QTextDocumentFragment_FromPlainText(struct QtGui_PackedString plainText); +char QTextDocumentFragment_IsEmpty(void* ptr); +struct QtGui_PackedString QTextDocumentFragment_ToHtml(void* ptr, void* encoding); +struct QtGui_PackedString QTextDocumentFragment_ToPlainText(void* ptr); +void QTextDocumentFragment_DestroyQTextDocumentFragment(void* ptr); +void* QTextDocumentWriter_NewQTextDocumentWriter(); +void* QTextDocumentWriter_NewQTextDocumentWriter2(void* device, void* format); +void* QTextDocumentWriter_NewQTextDocumentWriter3(struct QtGui_PackedString fileName, void* format); +void* QTextDocumentWriter_Codec(void* ptr); +void* QTextDocumentWriter_Device(void* ptr); +struct QtGui_PackedString QTextDocumentWriter_FileName(void* ptr); +void* QTextDocumentWriter_Format(void* ptr); +void QTextDocumentWriter_SetCodec(void* ptr, void* codec); +void QTextDocumentWriter_SetDevice(void* ptr, void* device); +void QTextDocumentWriter_SetFileName(void* ptr, struct QtGui_PackedString fileName); +void QTextDocumentWriter_SetFormat(void* ptr, void* format); +struct QtGui_PackedList QTextDocumentWriter_QTextDocumentWriter_SupportedDocumentFormats(); +char QTextDocumentWriter_Write(void* ptr, void* document); +char QTextDocumentWriter_Write2(void* ptr, void* fragment); +void QTextDocumentWriter_DestroyQTextDocumentWriter(void* ptr); +void* QTextDocumentWriter___supportedDocumentFormats_atList(void* ptr, int i); +void QTextDocumentWriter___supportedDocumentFormats_setList(void* ptr, void* i); +void* QTextDocumentWriter___supportedDocumentFormats_newList(void* ptr); +void* QTextFormat_NewQTextFormat(); +void* QTextFormat_NewQTextFormat2(int ty); +void* QTextFormat_NewQTextFormat3(void* other); +void* QTextFormat_Background(void* ptr); +char QTextFormat_BoolProperty(void* ptr, int propertyId); +void* QTextFormat_BrushProperty(void* ptr, int propertyId); +void QTextFormat_ClearBackground(void* ptr); +void QTextFormat_ClearForeground(void* ptr); +void QTextFormat_ClearProperty(void* ptr, int propertyId); +void* QTextFormat_ColorProperty(void* ptr, int propertyId); +double QTextFormat_DoubleProperty(void* ptr, int propertyId); +void* QTextFormat_Foreground(void* ptr); +char QTextFormat_HasProperty(void* ptr, int propertyId); +int QTextFormat_IntProperty(void* ptr, int propertyId); +char QTextFormat_IsBlockFormat(void* ptr); +char QTextFormat_IsCharFormat(void* ptr); +char QTextFormat_IsEmpty(void* ptr); +char QTextFormat_IsFrameFormat(void* ptr); +char QTextFormat_IsImageFormat(void* ptr); +char QTextFormat_IsListFormat(void* ptr); +char QTextFormat_IsTableCellFormat(void* ptr); +char QTextFormat_IsTableFormat(void* ptr); +char QTextFormat_IsValid(void* ptr); +long long QTextFormat_LayoutDirection(void* ptr); +void* QTextFormat_LengthProperty(void* ptr, int propertyId); +void QTextFormat_Merge(void* ptr, void* other); +int QTextFormat_ObjectIndex(void* ptr); +int QTextFormat_ObjectType(void* ptr); +void* QTextFormat_PenProperty(void* ptr, int propertyId); +struct QtGui_PackedList QTextFormat_Properties(void* ptr); +void* QTextFormat_Property(void* ptr, int propertyId); +int QTextFormat_PropertyCount(void* ptr); +void QTextFormat_SetBackground(void* ptr, void* brush); +void QTextFormat_SetForeground(void* ptr, void* brush); +void QTextFormat_SetLayoutDirection(void* ptr, long long direction); +void QTextFormat_SetObjectIndex(void* ptr, int index); +void QTextFormat_SetObjectType(void* ptr, int ty); +void QTextFormat_SetProperty(void* ptr, int propertyId, void* value); +void QTextFormat_SetProperty2(void* ptr, int propertyId, void* value); +struct QtGui_PackedString QTextFormat_StringProperty(void* ptr, int propertyId); +void QTextFormat_Swap(void* ptr, void* other); +void* QTextFormat_ToBlockFormat(void* ptr); +void* QTextFormat_ToCharFormat(void* ptr); +void* QTextFormat_ToFrameFormat(void* ptr); +void* QTextFormat_ToImageFormat(void* ptr); +void* QTextFormat_ToListFormat(void* ptr); +void* QTextFormat_ToTableCellFormat(void* ptr); +void* QTextFormat_ToTableFormat(void* ptr); +int QTextFormat_Type(void* ptr); +void QTextFormat_DestroyQTextFormat(void* ptr); +void* QTextFormat___lengthVectorProperty_atList(void* ptr, int i); +void QTextFormat___lengthVectorProperty_setList(void* ptr, void* i); +void* QTextFormat___lengthVectorProperty_newList(void* ptr); +void* QTextFormat___properties_atList(void* ptr, int v, int i); +void QTextFormat___properties_setList(void* ptr, int key, void* i); +void* QTextFormat___properties_newList(void* ptr); +struct QtGui_PackedList QTextFormat___properties_keyList(void* ptr); +void* QTextFormat___setProperty_value_atList2(void* ptr, int i); +void QTextFormat___setProperty_value_setList2(void* ptr, void* i); +void* QTextFormat___setProperty_value_newList2(void* ptr); +int QTextFormat_____properties_keyList_atList(void* ptr, int i); +void QTextFormat_____properties_keyList_setList(void* ptr, int i); +void* QTextFormat_____properties_keyList_newList(void* ptr); +void* QTextFragment_NewQTextFragment2(); +void* QTextFragment_NewQTextFragment3(void* other); +void* QTextFragment_CharFormat(void* ptr); +int QTextFragment_CharFormatIndex(void* ptr); +char QTextFragment_Contains(void* ptr, int position); +struct QtGui_PackedList QTextFragment_GlyphRuns(void* ptr, int pos, int l); +char QTextFragment_IsValid(void* ptr); +int QTextFragment_Length(void* ptr); +int QTextFragment_Position(void* ptr); +struct QtGui_PackedString QTextFragment_Text(void* ptr); +void* QTextFragment___glyphRuns_atList(void* ptr, int i); +void QTextFragment___glyphRuns_setList(void* ptr, void* i); +void* QTextFragment___glyphRuns_newList(void* ptr); +void* QTextFrame_NewQTextFrame(void* document); +struct QtGui_PackedList QTextFrame_ChildFrames(void* ptr); +void* QTextFrame_FirstCursorPosition(void* ptr); +int QTextFrame_FirstPosition(void* ptr); +void* QTextFrame_FrameFormat(void* ptr); +void* QTextFrame_LastCursorPosition(void* ptr); +int QTextFrame_LastPosition(void* ptr); +void* QTextFrame_ParentFrame(void* ptr); +void QTextFrame_SetFrameFormat(void* ptr, void* format); +void QTextFrame_DestroyQTextFrame(void* ptr); +void QTextFrame_DestroyQTextFrameDefault(void* ptr); +void* QTextFrame___childFrames_atList(void* ptr, int i); +void QTextFrame___childFrames_setList(void* ptr, void* i); +void* QTextFrame___childFrames_newList(void* ptr); +void* QTextFrameFormat_NewQTextFrameFormat(); +double QTextFrameFormat_Border(void* ptr); +void* QTextFrameFormat_BorderBrush(void* ptr); +long long QTextFrameFormat_BorderStyle(void* ptr); +double QTextFrameFormat_BottomMargin(void* ptr); +void* QTextFrameFormat_Height(void* ptr); +double QTextFrameFormat_LeftMargin(void* ptr); +double QTextFrameFormat_Margin(void* ptr); +double QTextFrameFormat_Padding(void* ptr); +long long QTextFrameFormat_PageBreakPolicy(void* ptr); +long long QTextFrameFormat_Position(void* ptr); +double QTextFrameFormat_RightMargin(void* ptr); +void QTextFrameFormat_SetBorder(void* ptr, double width); +void QTextFrameFormat_SetBorderBrush(void* ptr, void* brush); +void QTextFrameFormat_SetBorderStyle(void* ptr, long long style); +void QTextFrameFormat_SetBottomMargin(void* ptr, double margin); +void QTextFrameFormat_SetHeight(void* ptr, void* height); +void QTextFrameFormat_SetHeight2(void* ptr, double height); +void QTextFrameFormat_SetLeftMargin(void* ptr, double margin); +void QTextFrameFormat_SetMargin(void* ptr, double margin); +void QTextFrameFormat_SetPadding(void* ptr, double width); +void QTextFrameFormat_SetPageBreakPolicy(void* ptr, long long policy); +void QTextFrameFormat_SetPosition(void* ptr, long long policy); +void QTextFrameFormat_SetRightMargin(void* ptr, double margin); +void QTextFrameFormat_SetTopMargin(void* ptr, double margin); +void QTextFrameFormat_SetWidth(void* ptr, void* width); +void QTextFrameFormat_SetWidth2(void* ptr, double width); +double QTextFrameFormat_TopMargin(void* ptr); +void* QTextFrameFormat_Width(void* ptr); +void* QTextImageFormat_NewQTextImageFormat(); +double QTextImageFormat_Height(void* ptr); +struct QtGui_PackedString QTextImageFormat_Name(void* ptr); +int QTextImageFormat_Quality(void* ptr); +void QTextImageFormat_SetHeight(void* ptr, double height); +void QTextImageFormat_SetName(void* ptr, struct QtGui_PackedString name); +void QTextImageFormat_SetQuality(void* ptr, int quality); +void QTextImageFormat_SetWidth(void* ptr, double width); +double QTextImageFormat_Width(void* ptr); +double QTextInlineObject_Ascent(void* ptr); +double QTextInlineObject_Descent(void* ptr); +void* QTextInlineObject_Format(void* ptr); +int QTextInlineObject_FormatIndex(void* ptr); +double QTextInlineObject_Height(void* ptr); +char QTextInlineObject_IsValid(void* ptr); +void* QTextInlineObject_Rect(void* ptr); +void QTextInlineObject_SetAscent(void* ptr, double a); +void QTextInlineObject_SetDescent(void* ptr, double d); +void QTextInlineObject_SetWidth(void* ptr, double w); +long long QTextInlineObject_TextDirection(void* ptr); +int QTextInlineObject_TextPosition(void* ptr); +double QTextInlineObject_Width(void* ptr); +double QTextItem_Ascent(void* ptr); +double QTextItem_Descent(void* ptr); +void* QTextItem_Font(void* ptr); +long long QTextItem_RenderFlags(void* ptr); +struct QtGui_PackedString QTextItem_Text(void* ptr); +double QTextItem_Width(void* ptr); +void* QTextLayout_NewQTextLayout(); +void* QTextLayout_NewQTextLayout2(struct QtGui_PackedString text); +void* QTextLayout_NewQTextLayout4(struct QtGui_PackedString text, void* font, void* paintdevice); +void QTextLayout_BeginLayout(void* ptr); +void* QTextLayout_BoundingRect(void* ptr); +char QTextLayout_CacheEnabled(void* ptr); +void QTextLayout_ClearFormats(void* ptr); +void QTextLayout_ClearLayout(void* ptr); +void* QTextLayout_CreateLine(void* ptr); +long long QTextLayout_CursorMoveStyle(void* ptr); +void QTextLayout_DrawCursor(void* ptr, void* painter, void* position, int cursorPosition, int width); +void QTextLayout_DrawCursor2(void* ptr, void* painter, void* position, int cursorPosition); +void QTextLayout_EndLayout(void* ptr); +void* QTextLayout_Font(void* ptr); +struct QtGui_PackedList QTextLayout_GlyphRuns(void* ptr, int from, int length); +char QTextLayout_IsValidCursorPosition(void* ptr, int pos); +int QTextLayout_LeftCursorPosition(void* ptr, int oldPos); +void* QTextLayout_LineAt(void* ptr, int i); +int QTextLayout_LineCount(void* ptr); +void* QTextLayout_LineForTextPosition(void* ptr, int pos); +double QTextLayout_MaximumWidth(void* ptr); +double QTextLayout_MinimumWidth(void* ptr); +int QTextLayout_NextCursorPosition(void* ptr, int oldPos, long long mode); +void* QTextLayout_Position(void* ptr); +int QTextLayout_PreeditAreaPosition(void* ptr); +struct QtGui_PackedString QTextLayout_PreeditAreaText(void* ptr); +int QTextLayout_PreviousCursorPosition(void* ptr, int oldPos, long long mode); +int QTextLayout_RightCursorPosition(void* ptr, int oldPos); +void QTextLayout_SetCacheEnabled(void* ptr, char enable); +void QTextLayout_SetCursorMoveStyle(void* ptr, long long style); +void QTextLayout_SetFont(void* ptr, void* font); +void QTextLayout_SetPosition(void* ptr, void* p); +void QTextLayout_SetPreeditArea(void* ptr, int position, struct QtGui_PackedString text); +void QTextLayout_SetText(void* ptr, struct QtGui_PackedString stri); +void QTextLayout_SetTextOption(void* ptr, void* option); +struct QtGui_PackedString QTextLayout_Text(void* ptr); +void* QTextLayout_TextOption(void* ptr); +void QTextLayout_DestroyQTextLayout(void* ptr); +void* QTextLayout___formats_newList(void* ptr); +void* QTextLayout___glyphRuns_atList(void* ptr, int i); +void QTextLayout___glyphRuns_setList(void* ptr, void* i); +void* QTextLayout___glyphRuns_newList(void* ptr); +void* QTextLength_NewQTextLength(); +void* QTextLength_NewQTextLength2(long long ty, double value); +double QTextLength_RawValue(void* ptr); +long long QTextLength_Type(void* ptr); +double QTextLength_Value(void* ptr, double maximumLength); +void* QTextLine_NewQTextLine(); +double QTextLine_Ascent(void* ptr); +double QTextLine_CursorToX(void* ptr, int cursorPos, long long edge); +double QTextLine_CursorToX2(void* ptr, int cursorPos, long long edge); +double QTextLine_Descent(void* ptr); +struct QtGui_PackedList QTextLine_GlyphRuns(void* ptr, int from, int length); +double QTextLine_Height(void* ptr); +double QTextLine_HorizontalAdvance(void* ptr); +char QTextLine_IsValid(void* ptr); +double QTextLine_Leading(void* ptr); +char QTextLine_LeadingIncluded(void* ptr); +int QTextLine_LineNumber(void* ptr); +void* QTextLine_NaturalTextRect(void* ptr); +double QTextLine_NaturalTextWidth(void* ptr); +void* QTextLine_Position(void* ptr); +void* QTextLine_Rect(void* ptr); +void QTextLine_SetLeadingIncluded(void* ptr, char included); +void QTextLine_SetLineWidth(void* ptr, double width); +void QTextLine_SetNumColumns(void* ptr, int numColumns); +void QTextLine_SetNumColumns2(void* ptr, int numColumns, double alignmentWidth); +void QTextLine_SetPosition(void* ptr, void* pos); +int QTextLine_TextLength(void* ptr); +int QTextLine_TextStart(void* ptr); +double QTextLine_Width(void* ptr); +double QTextLine_X(void* ptr); +int QTextLine_XToCursor(void* ptr, double x, long long cpos); +double QTextLine_Y(void* ptr); +void* QTextLine___glyphRuns_atList(void* ptr, int i); +void QTextLine___glyphRuns_setList(void* ptr, void* i); +void* QTextLine___glyphRuns_newList(void* ptr); +void QTextList_Add(void* ptr, void* block); +int QTextList_Count(void* ptr); +void* QTextList_Format(void* ptr); +void* QTextList_Item(void* ptr, int i); +int QTextList_ItemNumber(void* ptr, void* block); +struct QtGui_PackedString QTextList_ItemText(void* ptr, void* block); +void QTextList_Remove(void* ptr, void* block); +void QTextList_RemoveItem(void* ptr, int i); +void QTextList_SetFormat(void* ptr, void* format); +void* QTextListFormat_NewQTextListFormat(); +int QTextListFormat_Indent(void* ptr); +struct QtGui_PackedString QTextListFormat_NumberPrefix(void* ptr); +struct QtGui_PackedString QTextListFormat_NumberSuffix(void* ptr); +void QTextListFormat_SetIndent(void* ptr, int indentation); +void QTextListFormat_SetNumberPrefix(void* ptr, struct QtGui_PackedString numberPrefix); +void QTextListFormat_SetNumberSuffix(void* ptr, struct QtGui_PackedString numberSuffix); +void QTextListFormat_SetStyle(void* ptr, long long style); +long long QTextListFormat_Style(void* ptr); +void* QTextObject_NewQTextObject(void* document); +void* QTextObject_Document(void* ptr); +void* QTextObject_Format(void* ptr); +int QTextObject_FormatIndex(void* ptr); +int QTextObject_ObjectIndex(void* ptr); +void QTextObject_SetFormat(void* ptr, void* format); +void QTextObject_DestroyQTextObject(void* ptr); +void QTextObject_DestroyQTextObjectDefault(void* ptr); +void* QTextObject___children_atList(void* ptr, int i); +void QTextObject___children_setList(void* ptr, void* i); +void* QTextObject___children_newList(void* ptr); +void* QTextObject___dynamicPropertyNames_atList(void* ptr, int i); +void QTextObject___dynamicPropertyNames_setList(void* ptr, void* i); +void* QTextObject___dynamicPropertyNames_newList(void* ptr); +void* QTextObject___findChildren_atList(void* ptr, int i); +void QTextObject___findChildren_setList(void* ptr, void* i); +void* QTextObject___findChildren_newList(void* ptr); +void* QTextObject___findChildren_atList3(void* ptr, int i); +void QTextObject___findChildren_setList3(void* ptr, void* i); +void* QTextObject___findChildren_newList3(void* ptr); +void* QTextObject___qFindChildren_atList2(void* ptr, int i); +void QTextObject___qFindChildren_setList2(void* ptr, void* i); +void* QTextObject___qFindChildren_newList2(void* ptr); +void QTextObject_ChildEventDefault(void* ptr, void* event); +void QTextObject_ConnectNotifyDefault(void* ptr, void* sign); +void QTextObject_CustomEventDefault(void* ptr, void* event); +void QTextObject_DeleteLaterDefault(void* ptr); +void QTextObject_DisconnectNotifyDefault(void* ptr, void* sign); +char QTextObject_EventDefault(void* ptr, void* e); +char QTextObject_EventFilterDefault(void* ptr, void* watched, void* event); +void* QTextObject_MetaObjectDefault(void* ptr); +void QTextObject_TimerEventDefault(void* ptr, void* event); +void QTextObjectInterface_DrawObject(void* ptr, void* painter, void* rect, void* doc, int posInDocument, void* format); +void* QTextObjectInterface_IntrinsicSize(void* ptr, void* doc, int posInDocument, void* format); +void QTextObjectInterface_DestroyQTextObjectInterface(void* ptr); +void QTextObjectInterface_DestroyQTextObjectInterfaceDefault(void* ptr); +void* QTextOption_NewQTextOption(); +void* QTextOption_NewQTextOption2(long long alignment); +void* QTextOption_NewQTextOption3(void* other); +long long QTextOption_Alignment(void* ptr); +long long QTextOption_Flags(void* ptr); +void QTextOption_SetAlignment(void* ptr, long long alignment); +void QTextOption_SetFlags(void* ptr, long long flags); +void QTextOption_SetTabArray(void* ptr, void* tabStops); +void QTextOption_SetTabStopDistance(void* ptr, double tabStopDistance); +void QTextOption_SetTextDirection(void* ptr, long long direction); +void QTextOption_SetUseDesignMetrics(void* ptr, char enable); +void QTextOption_SetWrapMode(void* ptr, long long mode); +struct QtGui_PackedList QTextOption_TabArray(void* ptr); +double QTextOption_TabStopDistance(void* ptr); +long long QTextOption_TextDirection(void* ptr); +char QTextOption_UseDesignMetrics(void* ptr); +long long QTextOption_WrapMode(void* ptr); +void QTextOption_DestroyQTextOption(void* ptr); +double QTextOption___setTabArray_tabStops_atList(void* ptr, int i); +void QTextOption___setTabArray_tabStops_setList(void* ptr, double i); +void* QTextOption___setTabArray_tabStops_newList(void* ptr); +double QTextOption___tabArray_atList(void* ptr, int i); +void QTextOption___tabArray_setList(void* ptr, double i); +void* QTextOption___tabArray_newList(void* ptr); +void QTextTable_AppendColumns(void* ptr, int count); +void QTextTable_AppendRows(void* ptr, int count); +void* QTextTable_CellAt(void* ptr, int row, int column); +void* QTextTable_CellAt2(void* ptr, int position); +void* QTextTable_CellAt3(void* ptr, void* cursor); +int QTextTable_Columns(void* ptr); +void* QTextTable_Format(void* ptr); +void QTextTable_InsertColumns(void* ptr, int index, int columns); +void QTextTable_InsertRows(void* ptr, int index, int rows); +void QTextTable_MergeCells(void* ptr, int row, int column, int numRows, int numCols); +void QTextTable_MergeCells2(void* ptr, void* cursor); +void QTextTable_RemoveColumns(void* ptr, int index, int columns); +void QTextTable_RemoveRows(void* ptr, int index, int rows); +void QTextTable_Resize(void* ptr, int rows, int columns); +void* QTextTable_RowEnd(void* ptr, void* cursor); +void* QTextTable_RowStart(void* ptr, void* cursor); +int QTextTable_Rows(void* ptr); +void QTextTable_SetFormat(void* ptr, void* format); +void QTextTable_SplitCell(void* ptr, int row, int column, int numRows, int numCols); +void* QTextTableCell_NewQTextTableCell(); +void* QTextTableCell_NewQTextTableCell2(void* other); +int QTextTableCell_Column(void* ptr); +int QTextTableCell_ColumnSpan(void* ptr); +void* QTextTableCell_FirstCursorPosition(void* ptr); +void* QTextTableCell_Format(void* ptr); +char QTextTableCell_IsValid(void* ptr); +void* QTextTableCell_LastCursorPosition(void* ptr); +int QTextTableCell_Row(void* ptr); +int QTextTableCell_RowSpan(void* ptr); +void QTextTableCell_SetFormat(void* ptr, void* format); +int QTextTableCell_TableCellFormatIndex(void* ptr); +void QTextTableCell_DestroyQTextTableCell(void* ptr); +void* QTextTableCellFormat_NewQTextTableCellFormat(); +double QTextTableCellFormat_BottomPadding(void* ptr); +double QTextTableCellFormat_LeftPadding(void* ptr); +double QTextTableCellFormat_RightPadding(void* ptr); +void QTextTableCellFormat_SetBottomPadding(void* ptr, double padding); +void QTextTableCellFormat_SetLeftPadding(void* ptr, double padding); +void QTextTableCellFormat_SetPadding(void* ptr, double padding); +void QTextTableCellFormat_SetRightPadding(void* ptr, double padding); +void QTextTableCellFormat_SetTopPadding(void* ptr, double padding); +double QTextTableCellFormat_TopPadding(void* ptr); +void* QTextTableFormat_NewQTextTableFormat(); +long long QTextTableFormat_Alignment(void* ptr); +double QTextTableFormat_CellPadding(void* ptr); +double QTextTableFormat_CellSpacing(void* ptr); +void QTextTableFormat_ClearColumnWidthConstraints(void* ptr); +int QTextTableFormat_Columns(void* ptr); +int QTextTableFormat_HeaderRowCount(void* ptr); +void QTextTableFormat_SetAlignment(void* ptr, long long alignment); +void QTextTableFormat_SetCellPadding(void* ptr, double padding); +void QTextTableFormat_SetCellSpacing(void* ptr, double spacing); +void QTextTableFormat_SetColumnWidthConstraints(void* ptr, void* constraints); +void QTextTableFormat_SetHeaderRowCount(void* ptr, int count); +void* QTextTableFormat___columnWidthConstraints_atList(void* ptr, int i); +void QTextTableFormat___columnWidthConstraints_setList(void* ptr, void* i); +void* QTextTableFormat___columnWidthConstraints_newList(void* ptr); +void* QTextTableFormat___setColumnWidthConstraints_constraints_atList(void* ptr, int i); +void QTextTableFormat___setColumnWidthConstraints_constraints_setList(void* ptr, void* i); +void* QTextTableFormat___setColumnWidthConstraints_constraints_newList(void* ptr); +void* QTouchDevice_NewQTouchDevice(); +long long QTouchDevice_Capabilities(void* ptr); +struct QtGui_PackedList QTouchDevice_QTouchDevice_Devices(); +int QTouchDevice_MaximumTouchPoints(void* ptr); +struct QtGui_PackedString QTouchDevice_Name(void* ptr); +void QTouchDevice_SetCapabilities(void* ptr, long long caps); +void QTouchDevice_SetMaximumTouchPoints(void* ptr, int max); +void QTouchDevice_SetName(void* ptr, struct QtGui_PackedString name); +void QTouchDevice_SetType(void* ptr, long long devType); +long long QTouchDevice_Type(void* ptr); +void QTouchDevice_DestroyQTouchDevice(void* ptr); +void* QTouchDevice___devices_atList(void* ptr, int i); +void QTouchDevice___devices_setList(void* ptr, void* i); +void* QTouchDevice___devices_newList(void* ptr); +void* QTouchEvent_Device(void* ptr); +void* QTouchEvent_Target(void* ptr); +long long QTouchEvent_TouchPointStates(void* ptr); +void* QTouchEvent_Window(void* ptr); +void QTouchEvent_DestroyQTouchEvent(void* ptr); +void QTouchEvent_DestroyQTouchEventDefault(void* ptr); +void* QTouchEvent___QTouchEvent_touchPoints_newList(void* ptr); +void* QTouchEvent___setTouchPoints_atouchPoints_newList(void* ptr); +void* QTouchEvent___touchPoints_newList(void* ptr); +void* QTouchEvent____touchPoints_newList(void* ptr); +void* QTouchEvent___set_touchPoints__newList(void* ptr); +void* QTransform_NewQTransform2(); +void* QTransform_NewQTransform3(double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33); +void* QTransform_NewQTransform4(double m11, double m12, double m21, double m22, double dx, double dy); +void* QTransform_NewQTransform5(void* matrix); +void* QTransform_Adjoint(void* ptr); +double QTransform_Determinant(void* ptr); +double QTransform_Dx(void* ptr); +double QTransform_Dy(void* ptr); +void* QTransform_QTransform_FromScale(double sx, double sy); +void* QTransform_QTransform_FromTranslate(double dx, double dy); +void* QTransform_Inverted(void* ptr, char* invertible); +char QTransform_IsAffine(void* ptr); +char QTransform_IsIdentity(void* ptr); +char QTransform_IsInvertible(void* ptr); +char QTransform_IsRotating(void* ptr); +char QTransform_IsScaling(void* ptr); +char QTransform_IsTranslating(void* ptr); +double QTransform_M11(void* ptr); +double QTransform_M12(void* ptr); +double QTransform_M13(void* ptr); +double QTransform_M21(void* ptr); +double QTransform_M22(void* ptr); +double QTransform_M23(void* ptr); +double QTransform_M31(void* ptr); +double QTransform_M32(void* ptr); +double QTransform_M33(void* ptr); +void QTransform_Map(void* ptr, double x, double y, double tx, double ty); +void* QTransform_Map2(void* ptr, void* point); +void* QTransform_Map3(void* ptr, void* p); +void* QTransform_Map4(void* ptr, void* l); +void* QTransform_Map5(void* ptr, void* line); +void* QTransform_Map6(void* ptr, void* polygon); +void* QTransform_Map7(void* ptr, void* polygon); +void* QTransform_Map8(void* ptr, void* region); +void* QTransform_Map9(void* ptr, void* path); +void QTransform_Map10(void* ptr, int x, int y, int tx, int ty); +void* QTransform_MapRect(void* ptr, void* rectangle); +void* QTransform_MapRect2(void* ptr, void* rectangle); +void* QTransform_MapToPolygon(void* ptr, void* rectangle); +char QTransform_QTransform_QuadToQuad(void* one, void* two, void* trans); +char QTransform_QTransform_QuadToSquare(void* quad, void* trans); +void QTransform_Reset(void* ptr); +void* QTransform_Rotate(void* ptr, double angle, long long axis); +void* QTransform_RotateRadians(void* ptr, double angle, long long axis); +void* QTransform_Scale(void* ptr, double sx, double sy); +void QTransform_SetMatrix(void* ptr, double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33); +void* QTransform_Shear(void* ptr, double sh, double sv); +char QTransform_QTransform_SquareToQuad(void* quad, void* trans); +void* QTransform_ToAffine(void* ptr); +void* QTransform_Translate(void* ptr, double dx, double dy); +void* QTransform_Transposed(void* ptr); +long long QTransform_Type(void* ptr); +void* QValidator_NewQValidator(void* parent); +void QValidator_ConnectChanged(void* ptr, long long t); +void QValidator_DisconnectChanged(void* ptr); +void QValidator_Changed(void* ptr); +void QValidator_Fixup(void* ptr, struct QtGui_PackedString input); +void QValidator_FixupDefault(void* ptr, struct QtGui_PackedString input); +void* QValidator_Locale(void* ptr); +void QValidator_SetLocale(void* ptr, void* locale); +long long QValidator_Validate(void* ptr, struct QtGui_PackedString input, int pos); +void QValidator_DestroyQValidator(void* ptr); +void QValidator_DestroyQValidatorDefault(void* ptr); +void* QValidator___children_atList(void* ptr, int i); +void QValidator___children_setList(void* ptr, void* i); +void* QValidator___children_newList(void* ptr); +void* QValidator___dynamicPropertyNames_atList(void* ptr, int i); +void QValidator___dynamicPropertyNames_setList(void* ptr, void* i); +void* QValidator___dynamicPropertyNames_newList(void* ptr); +void* QValidator___findChildren_atList(void* ptr, int i); +void QValidator___findChildren_setList(void* ptr, void* i); +void* QValidator___findChildren_newList(void* ptr); +void* QValidator___findChildren_atList3(void* ptr, int i); +void QValidator___findChildren_setList3(void* ptr, void* i); +void* QValidator___findChildren_newList3(void* ptr); +void* QValidator___qFindChildren_atList2(void* ptr, int i); +void QValidator___qFindChildren_setList2(void* ptr, void* i); +void* QValidator___qFindChildren_newList2(void* ptr); +void QValidator_ChildEventDefault(void* ptr, void* event); +void QValidator_ConnectNotifyDefault(void* ptr, void* sign); +void QValidator_CustomEventDefault(void* ptr, void* event); +void QValidator_DeleteLaterDefault(void* ptr); +void QValidator_DisconnectNotifyDefault(void* ptr, void* sign); +char QValidator_EventDefault(void* ptr, void* e); +char QValidator_EventFilterDefault(void* ptr, void* watched, void* event); +void* QValidator_MetaObjectDefault(void* ptr); +void QValidator_TimerEventDefault(void* ptr, void* event); +void* QVector2D_NewQVector2D(); +void* QVector2D_NewQVector2D3(float xpos, float ypos); +void* QVector2D_NewQVector2D4(void* point); +void* QVector2D_NewQVector2D5(void* point); +void* QVector2D_NewQVector2D6(void* vector); +void* QVector2D_NewQVector2D7(void* vector); +float QVector2D_DistanceToLine(void* ptr, void* point, void* direction); +float QVector2D_DistanceToPoint(void* ptr, void* point); +float QVector2D_QVector2D_DotProduct(void* v1, void* v2); +char QVector2D_IsNull(void* ptr); +float QVector2D_Length(void* ptr); +float QVector2D_LengthSquared(void* ptr); +void QVector2D_Normalize(void* ptr); +void* QVector2D_Normalized(void* ptr); +void QVector2D_SetX(void* ptr, float x); +void QVector2D_SetY(void* ptr, float y); +void* QVector2D_ToPoint(void* ptr); +void* QVector2D_ToPointF(void* ptr); +void* QVector2D_ToVector3D(void* ptr); +void* QVector2D_ToVector4D(void* ptr); +float QVector2D_X(void* ptr); +float QVector2D_Y(void* ptr); +void* QVector3D_NewQVector3D(); +void* QVector3D_NewQVector3D3(float xpos, float ypos, float zpos); +void* QVector3D_NewQVector3D4(void* point); +void* QVector3D_NewQVector3D5(void* point); +void* QVector3D_NewQVector3D6(void* vector); +void* QVector3D_NewQVector3D7(void* vector, float zpos); +void* QVector3D_NewQVector3D8(void* vector); +void* QVector3D_QVector3D_CrossProduct(void* v1, void* v2); +float QVector3D_DistanceToLine(void* ptr, void* point, void* direction); +float QVector3D_DistanceToPlane(void* ptr, void* plane, void* normal); +float QVector3D_DistanceToPlane2(void* ptr, void* plane1, void* plane2, void* plane3); +float QVector3D_DistanceToPoint(void* ptr, void* point); +float QVector3D_QVector3D_DotProduct(void* v1, void* v2); +char QVector3D_IsNull(void* ptr); +float QVector3D_Length(void* ptr); +float QVector3D_LengthSquared(void* ptr); +void* QVector3D_QVector3D_Normal(void* v1, void* v2); +void* QVector3D_QVector3D_Normal2(void* v1, void* v2, void* v3); +void QVector3D_Normalize(void* ptr); +void* QVector3D_Normalized(void* ptr); +void* QVector3D_Project(void* ptr, void* modelView, void* projection, void* viewport); +void QVector3D_SetX(void* ptr, float x); +void QVector3D_SetY(void* ptr, float y); +void QVector3D_SetZ(void* ptr, float z); +void* QVector3D_ToPoint(void* ptr); +void* QVector3D_ToPointF(void* ptr); +void* QVector3D_ToVector2D(void* ptr); +void* QVector3D_ToVector4D(void* ptr); +void* QVector3D_Unproject(void* ptr, void* modelView, void* projection, void* viewport); +float QVector3D_X(void* ptr); +float QVector3D_Y(void* ptr); +float QVector3D_Z(void* ptr); +void* QVector4D_NewQVector4D(); +void* QVector4D_NewQVector4D3(float xpos, float ypos, float zpos, float wpos); +void* QVector4D_NewQVector4D4(void* point); +void* QVector4D_NewQVector4D5(void* point); +void* QVector4D_NewQVector4D6(void* vector); +void* QVector4D_NewQVector4D7(void* vector, float zpos, float wpos); +void* QVector4D_NewQVector4D8(void* vector); +void* QVector4D_NewQVector4D9(void* vector, float wpos); +float QVector4D_QVector4D_DotProduct(void* v1, void* v2); +char QVector4D_IsNull(void* ptr); +float QVector4D_Length(void* ptr); +float QVector4D_LengthSquared(void* ptr); +void QVector4D_Normalize(void* ptr); +void* QVector4D_Normalized(void* ptr); +void QVector4D_SetW(void* ptr, float w); +void QVector4D_SetX(void* ptr, float x); +void QVector4D_SetY(void* ptr, float y); +void QVector4D_SetZ(void* ptr, float z); +void* QVector4D_ToPoint(void* ptr); +void* QVector4D_ToPointF(void* ptr); +void* QVector4D_ToVector2D(void* ptr); +void* QVector4D_ToVector2DAffine(void* ptr); +void* QVector4D_ToVector3D(void* ptr); +void* QVector4D_ToVector3DAffine(void* ptr); +float QVector4D_W(void* ptr); +float QVector4D_X(void* ptr); +float QVector4D_Y(void* ptr); +float QVector4D_Z(void* ptr); +void* QWhatsThisClickedEvent_NewQWhatsThisClickedEvent(struct QtGui_PackedString href); +struct QtGui_PackedString QWhatsThisClickedEvent_Href(void* ptr); +void* QWheelEvent_NewQWheelEvent3(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, int qt4Delta, long long qt4Orientation, long long buttons, long long modifiers); +void* QWheelEvent_NewQWheelEvent4(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, int qt4Delta, long long qt4Orientation, long long buttons, long long modifiers, long long phase); +void* QWheelEvent_NewQWheelEvent5(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, int qt4Delta, long long qt4Orientation, long long buttons, long long modifiers, long long phase, long long source); +void* QWheelEvent_NewQWheelEvent6(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, int qt4Delta, long long qt4Orientation, long long buttons, long long modifiers, long long phase, long long source, char inverted); +void* QWheelEvent_NewQWheelEvent7(void* pos, void* globalPos, void* pixelDelta, void* angleDelta, long long buttons, long long modifiers, long long phase, char inverted, long long source); +void* QWheelEvent_AngleDelta(void* ptr); +long long QWheelEvent_Buttons(void* ptr); +void* QWheelEvent_GlobalPos(void* ptr); +void* QWheelEvent_GlobalPosF(void* ptr); +int QWheelEvent_GlobalX(void* ptr); +int QWheelEvent_GlobalY(void* ptr); +char QWheelEvent_Inverted(void* ptr); +long long QWheelEvent_Phase(void* ptr); +void* QWheelEvent_PixelDelta(void* ptr); +void* QWheelEvent_Pos(void* ptr); +void* QWheelEvent_PosF(void* ptr); +long long QWheelEvent_Source(void* ptr); +int QWheelEvent_X(void* ptr); +int QWheelEvent_Y(void* ptr); +void* QWindow_NewQWindow(void* targetScreen); +void* QWindow_NewQWindow2(void* parent); +void QWindow_ConnectActiveChanged(void* ptr, long long t); +void QWindow_DisconnectActiveChanged(void* ptr); +void QWindow_ActiveChanged(void* ptr); +void QWindow_Alert(void* ptr, int msec); +void QWindow_AlertDefault(void* ptr, int msec); +void* QWindow_BaseSize(void* ptr); +char QWindow_Close(void* ptr); +char QWindow_CloseDefault(void* ptr); +long long QWindow_ContentOrientation(void* ptr); +void QWindow_ConnectContentOrientationChanged(void* ptr, long long t); +void QWindow_DisconnectContentOrientationChanged(void* ptr); +void QWindow_ContentOrientationChanged(void* ptr, long long orientation); +void QWindow_Create(void* ptr); +void* QWindow_Cursor(void* ptr); +void QWindow_Destroy(void* ptr); +double QWindow_DevicePixelRatio(void* ptr); +char QWindow_Event(void* ptr, void* ev); +char QWindow_EventDefault(void* ptr, void* ev); +void QWindow_ExposeEvent(void* ptr, void* ev); +void QWindow_ExposeEventDefault(void* ptr, void* ev); +struct QtGui_PackedString QWindow_FilePath(void* ptr); +long long QWindow_Flags(void* ptr); +void QWindow_FocusInEvent(void* ptr, void* ev); +void QWindow_FocusInEventDefault(void* ptr, void* ev); +void* QWindow_FocusObject(void* ptr); +void* QWindow_FocusObjectDefault(void* ptr); +void QWindow_ConnectFocusObjectChanged(void* ptr, long long t); +void QWindow_DisconnectFocusObjectChanged(void* ptr); +void QWindow_FocusObjectChanged(void* ptr, void* object); +void QWindow_FocusOutEvent(void* ptr, void* ev); +void QWindow_FocusOutEventDefault(void* ptr, void* ev); +void* QWindow_Format(void* ptr); +void* QWindow_FormatDefault(void* ptr); +void* QWindow_FrameGeometry(void* ptr); +void* QWindow_FrameMargins(void* ptr); +void* QWindow_FramePosition(void* ptr); +void* QWindow_QWindow_FromWinId(uintptr_t id); +void* QWindow_Geometry(void* ptr); +int QWindow_Height(void* ptr); +void QWindow_ConnectHeightChanged(void* ptr, long long t); +void QWindow_DisconnectHeightChanged(void* ptr); +void QWindow_HeightChanged(void* ptr, int arg); +void QWindow_Hide(void* ptr); +void QWindow_HideDefault(void* ptr); +void QWindow_HideEvent(void* ptr, void* ev); +void QWindow_HideEventDefault(void* ptr, void* ev); +void* QWindow_Icon(void* ptr); +char QWindow_IsActive(void* ptr); +char QWindow_IsAncestorOf(void* ptr, void* child, long long mode); +char QWindow_IsExposed(void* ptr); +char QWindow_IsModal(void* ptr); +char QWindow_IsTopLevel(void* ptr); +char QWindow_IsVisible(void* ptr); +void QWindow_KeyPressEvent(void* ptr, void* ev); +void QWindow_KeyPressEventDefault(void* ptr, void* ev); +void QWindow_KeyReleaseEvent(void* ptr, void* ev); +void QWindow_KeyReleaseEventDefault(void* ptr, void* ev); +void QWindow_Lower(void* ptr); +void QWindow_LowerDefault(void* ptr); +void* QWindow_MapFromGlobal(void* ptr, void* pos); +void* QWindow_MapToGlobal(void* ptr, void* pos); +void* QWindow_Mask(void* ptr); +int QWindow_MaximumHeight(void* ptr); +void QWindow_ConnectMaximumHeightChanged(void* ptr, long long t); +void QWindow_DisconnectMaximumHeightChanged(void* ptr); +void QWindow_MaximumHeightChanged(void* ptr, int arg); +void* QWindow_MaximumSize(void* ptr); +int QWindow_MaximumWidth(void* ptr); +void QWindow_ConnectMaximumWidthChanged(void* ptr, long long t); +void QWindow_DisconnectMaximumWidthChanged(void* ptr); +void QWindow_MaximumWidthChanged(void* ptr, int arg); +int QWindow_MinimumHeight(void* ptr); +void QWindow_ConnectMinimumHeightChanged(void* ptr, long long t); +void QWindow_DisconnectMinimumHeightChanged(void* ptr); +void QWindow_MinimumHeightChanged(void* ptr, int arg); +void* QWindow_MinimumSize(void* ptr); +int QWindow_MinimumWidth(void* ptr); +void QWindow_ConnectMinimumWidthChanged(void* ptr, long long t); +void QWindow_DisconnectMinimumWidthChanged(void* ptr); +void QWindow_MinimumWidthChanged(void* ptr, int arg); +long long QWindow_Modality(void* ptr); +void QWindow_ConnectModalityChanged(void* ptr, long long t); +void QWindow_DisconnectModalityChanged(void* ptr); +void QWindow_ModalityChanged(void* ptr, long long modality); +void QWindow_MouseDoubleClickEvent(void* ptr, void* ev); +void QWindow_MouseDoubleClickEventDefault(void* ptr, void* ev); +void QWindow_MouseMoveEvent(void* ptr, void* ev); +void QWindow_MouseMoveEventDefault(void* ptr, void* ev); +void QWindow_MousePressEvent(void* ptr, void* ev); +void QWindow_MousePressEventDefault(void* ptr, void* ev); +void QWindow_MouseReleaseEvent(void* ptr, void* ev); +void QWindow_MouseReleaseEventDefault(void* ptr, void* ev); +void QWindow_MoveEvent(void* ptr, void* ev); +void QWindow_MoveEventDefault(void* ptr, void* ev); +char QWindow_NativeEvent(void* ptr, void* eventType, void* message, long* result); +char QWindow_NativeEventDefault(void* ptr, void* eventType, void* message, long* result); +double QWindow_Opacity(void* ptr); +void QWindow_ConnectOpacityChanged(void* ptr, long long t); +void QWindow_DisconnectOpacityChanged(void* ptr); +void QWindow_OpacityChanged(void* ptr, double opacity); +void* QWindow_Parent(void* ptr, long long mode); +void* QWindow_Parent2(void* ptr); +void* QWindow_Position(void* ptr); +void QWindow_Raise(void* ptr); +void QWindow_RaiseDefault(void* ptr); +void QWindow_ReportContentOrientationChange(void* ptr, long long orientation); +void QWindow_RequestActivate(void* ptr); +void QWindow_RequestActivateDefault(void* ptr); +void QWindow_RequestUpdate(void* ptr); +void QWindow_RequestUpdateDefault(void* ptr); +void* QWindow_RequestedFormat(void* ptr); +void QWindow_Resize(void* ptr, void* newSize); +void QWindow_Resize2(void* ptr, int w, int h); +void QWindow_ResizeEvent(void* ptr, void* ev); +void QWindow_ResizeEventDefault(void* ptr, void* ev); +void* QWindow_Screen(void* ptr); +void QWindow_ConnectScreenChanged(void* ptr, long long t); +void QWindow_DisconnectScreenChanged(void* ptr); +void QWindow_ScreenChanged(void* ptr, void* screen); +void QWindow_SetBaseSize(void* ptr, void* size); +void QWindow_SetCursor(void* ptr, void* cursor); +void QWindow_SetFilePath(void* ptr, struct QtGui_PackedString filePath); +void QWindow_SetFlag(void* ptr, long long flag, char on); +void QWindow_SetFlags(void* ptr, long long flags); +void QWindow_SetFormat(void* ptr, void* format); +void QWindow_SetFramePosition(void* ptr, void* point); +void QWindow_SetGeometry(void* ptr, int posx, int posy, int w, int h); +void QWindow_SetGeometryDefault(void* ptr, int posx, int posy, int w, int h); +void QWindow_SetGeometry2(void* ptr, void* rect); +void QWindow_SetGeometry2Default(void* ptr, void* rect); +void QWindow_SetHeight(void* ptr, int arg); +void QWindow_SetHeightDefault(void* ptr, int arg); +void QWindow_SetIcon(void* ptr, void* icon); +char QWindow_SetKeyboardGrabEnabled(void* ptr, char grab); +void QWindow_SetMask(void* ptr, void* region); +void QWindow_SetMaximumHeight(void* ptr, int h); +void QWindow_SetMaximumHeightDefault(void* ptr, int h); +void QWindow_SetMaximumSize(void* ptr, void* size); +void QWindow_SetMaximumWidth(void* ptr, int w); +void QWindow_SetMaximumWidthDefault(void* ptr, int w); +void QWindow_SetMinimumHeight(void* ptr, int h); +void QWindow_SetMinimumHeightDefault(void* ptr, int h); +void QWindow_SetMinimumSize(void* ptr, void* size); +void QWindow_SetMinimumWidth(void* ptr, int w); +void QWindow_SetMinimumWidthDefault(void* ptr, int w); +void QWindow_SetModality(void* ptr, long long modality); +char QWindow_SetMouseGrabEnabled(void* ptr, char grab); +void QWindow_SetOpacity(void* ptr, double level); +void QWindow_SetParent(void* ptr, void* parent); +void QWindow_SetPosition(void* ptr, void* pt); +void QWindow_SetPosition2(void* ptr, int posx, int posy); +void QWindow_SetScreen(void* ptr, void* newScreen); +void QWindow_SetSizeIncrement(void* ptr, void* size); +void QWindow_SetSurfaceType(void* ptr, long long surfaceType); +void QWindow_SetTitle(void* ptr, struct QtGui_PackedString vqs); +void QWindow_SetTitleDefault(void* ptr, struct QtGui_PackedString vqs); +void QWindow_SetVisibility(void* ptr, long long v); +void QWindow_SetVisible(void* ptr, char visible); +void QWindow_SetVisibleDefault(void* ptr, char visible); +void QWindow_SetWidth(void* ptr, int arg); +void QWindow_SetWidthDefault(void* ptr, int arg); +void QWindow_SetWindowState(void* ptr, long long state); +void QWindow_SetWindowStates(void* ptr, long long state); +void QWindow_SetX(void* ptr, int arg); +void QWindow_SetXDefault(void* ptr, int arg); +void QWindow_SetY(void* ptr, int arg); +void QWindow_SetYDefault(void* ptr, int arg); +void QWindow_Show(void* ptr); +void QWindow_ShowDefault(void* ptr); +void QWindow_ShowEvent(void* ptr, void* ev); +void QWindow_ShowEventDefault(void* ptr, void* ev); +void QWindow_ShowFullScreen(void* ptr); +void QWindow_ShowFullScreenDefault(void* ptr); +void QWindow_ShowMaximized(void* ptr); +void QWindow_ShowMaximizedDefault(void* ptr); +void QWindow_ShowMinimized(void* ptr); +void QWindow_ShowMinimizedDefault(void* ptr); +void QWindow_ShowNormal(void* ptr); +void QWindow_ShowNormalDefault(void* ptr); +void* QWindow_Size(void* ptr); +void* QWindow_SizeDefault(void* ptr); +void* QWindow_SizeIncrement(void* ptr); +long long QWindow_SurfaceType(void* ptr); +long long QWindow_SurfaceTypeDefault(void* ptr); +void QWindow_TabletEvent(void* ptr, void* ev); +void QWindow_TabletEventDefault(void* ptr, void* ev); +struct QtGui_PackedString QWindow_Title(void* ptr); +void QWindow_TouchEvent(void* ptr, void* ev); +void QWindow_TouchEventDefault(void* ptr, void* ev); +long long QWindow_Type(void* ptr); +void QWindow_UnsetCursor(void* ptr); +long long QWindow_Visibility(void* ptr); +void QWindow_ConnectVisibilityChanged(void* ptr, long long t); +void QWindow_DisconnectVisibilityChanged(void* ptr); +void QWindow_VisibilityChanged(void* ptr, long long visibility); +void QWindow_ConnectVisibleChanged(void* ptr, long long t); +void QWindow_DisconnectVisibleChanged(void* ptr); +void QWindow_VisibleChanged(void* ptr, char arg); +void QWindow_WheelEvent(void* ptr, void* ev); +void QWindow_WheelEventDefault(void* ptr, void* ev); +int QWindow_Width(void* ptr); +void QWindow_ConnectWidthChanged(void* ptr, long long t); +void QWindow_DisconnectWidthChanged(void* ptr); +void QWindow_WidthChanged(void* ptr, int arg); +uintptr_t QWindow_WinId(void* ptr); +long long QWindow_WindowState(void* ptr); +void QWindow_ConnectWindowStateChanged(void* ptr, long long t); +void QWindow_DisconnectWindowStateChanged(void* ptr); +void QWindow_WindowStateChanged(void* ptr, long long windowState); +long long QWindow_WindowStates(void* ptr); +void QWindow_ConnectWindowTitleChanged(void* ptr, long long t); +void QWindow_DisconnectWindowTitleChanged(void* ptr); +void QWindow_WindowTitleChanged(void* ptr, struct QtGui_PackedString title); +int QWindow_X(void* ptr); +void QWindow_ConnectXChanged(void* ptr, long long t); +void QWindow_DisconnectXChanged(void* ptr); +void QWindow_XChanged(void* ptr, int arg); +int QWindow_Y(void* ptr); +void QWindow_ConnectYChanged(void* ptr, long long t); +void QWindow_DisconnectYChanged(void* ptr); +void QWindow_YChanged(void* ptr, int arg); +void QWindow_DestroyQWindow(void* ptr); +void QWindow_DestroyQWindowDefault(void* ptr); +void* QWindow___children_atList(void* ptr, int i); +void QWindow___children_setList(void* ptr, void* i); +void* QWindow___children_newList(void* ptr); +void* QWindow___dynamicPropertyNames_atList(void* ptr, int i); +void QWindow___dynamicPropertyNames_setList(void* ptr, void* i); +void* QWindow___dynamicPropertyNames_newList(void* ptr); +void* QWindow___findChildren_atList(void* ptr, int i); +void QWindow___findChildren_setList(void* ptr, void* i); +void* QWindow___findChildren_newList(void* ptr); +void* QWindow___findChildren_atList3(void* ptr, int i); +void QWindow___findChildren_setList3(void* ptr, void* i); +void* QWindow___findChildren_newList3(void* ptr); +void* QWindow___qFindChildren_atList2(void* ptr, int i); +void QWindow___qFindChildren_setList2(void* ptr, void* i); +void* QWindow___qFindChildren_newList2(void* ptr); +void QWindow_ChildEvent(void* ptr, void* event); +void QWindow_ChildEventDefault(void* ptr, void* event); +void QWindow_ConnectNotify(void* ptr, void* sign); +void QWindow_ConnectNotifyDefault(void* ptr, void* sign); +void QWindow_CustomEvent(void* ptr, void* event); +void QWindow_CustomEventDefault(void* ptr, void* event); +void QWindow_DeleteLater(void* ptr); +void QWindow_DeleteLaterDefault(void* ptr); +void QWindow_DisconnectNotify(void* ptr, void* sign); +void QWindow_DisconnectNotifyDefault(void* ptr, void* sign); +char QWindow_EventFilter(void* ptr, void* watched, void* event); +char QWindow_EventFilterDefault(void* ptr, void* watched, void* event); +void* QWindow_MetaObject(void* ptr); +void* QWindow_MetaObjectDefault(void* ptr); +void QWindow_TimerEvent(void* ptr, void* event); +void QWindow_TimerEventDefault(void* ptr, void* event); +long long QWindowStateChangeEvent_OldState(void* ptr); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/3rdparty/kirigami/demo/gallery/contents/ui/gallery/NonScrollableGallery.qml b/vendor/github.com/therecipe/qt/internal/examples/3rdparty/kirigami/demo/gallery/contents/ui/gallery/NonScrollableGallery.qml new file mode 100644 index 00000000..840b45e3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/3rdparty/kirigami/demo/gallery/contents/ui/gallery/NonScrollableGallery.qml @@ -0,0 +1,59 @@ +/* + * Copyright 2015 Marco Martin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.0 +import QtQuick.Layouts 1.2 +import QtQuick.Controls 2.0 as Controls +import org.kde.kirigami 2.4 + +Page { + id: page + Layout.fillWidth: true + title: "Simple Page" + + actions { + main: Action { + icon { + name: sheet.sheetOpen ? "dialog-cancel" : "document-edit" + } + text: "Main Action Text" + checkable: true + onCheckedChanged: sheet.sheetOpen = checked; + } + } + + Rectangle { + anchors.fill: parent + color: "red" + Controls.Label { + anchors.centerIn: parent + text: "Rectangle with automatic margins" + } + } + + OverlaySheet { + id: sheet + onSheetOpenChanged: page.actions.main.checked = sheetOpen; + Controls.Label { + property int implicitWidth: Units.gridUnit * 30 + wrapMode: Text.WordWrap + text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam id risus id augue euismod accumsan. Nunc vestibulum placerat bibendum. Morbi commodo auctor varius. Donec molestie euismod ultrices. Sed facilisis augue nec eros auctor, vitae mattis quam rhoncus. Nam ut erat diam. Curabitur iaculis accumsan magna, eget fermentum massa scelerisque eu. Cras elementum erat non erat euismod accumsan. Vestibulum ac mi sed dui finibus pulvinar. Vivamus dictum, leo sed lobortis porttitor, nisl magna faucibus orci, sit amet euismod arcu elit eget est. Duis et vehicula nibh. In arcu sapien, laoreet sit amet porttitor non, rhoncus vel magna. Suspendisse imperdiet consectetur est nec ornare. Pellentesque bibendum sapien at erat efficitur vehicula. Morbi sed porta nibh. Vestibulum ut urna ut dolor sagittis mattis." + } + } +} diff --git a/vendor/github.com/therecipe/qt/internal/examples/3rdparty/qzxing/demo/QZXingLive/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/3rdparty/qzxing/demo/QZXingLive/android-emulator new file mode 120000 index 00000000..7d0e07f7 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/3rdparty/qzxing/demo/QZXingLive/android-emulator @@ -0,0 +1 @@ +android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/3rdparty/qzxing/demo/QZXingLive/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/3rdparty/qzxing/demo/QZXingLive/ios-simulator new file mode 120000 index 00000000..cfe66da4 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/3rdparty/qzxing/demo/QZXingLive/ios-simulator @@ -0,0 +1 @@ +ios/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/androidextras/jni/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/androidextras/jni/android-emulator new file mode 120000 index 00000000..7d0e07f7 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/androidextras/jni/android-emulator @@ -0,0 +1 @@ +android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/androidextras/notification/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/androidextras/notification/android-emulator new file mode 120000 index 00000000..7d0e07f7 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/androidextras/notification/android-emulator @@ -0,0 +1 @@ +android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/androidextras/service/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/androidextras/service/android-emulator new file mode 120000 index 00000000..7d0e07f7 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/androidextras/service/android-emulator @@ -0,0 +1 @@ +android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/basicapp/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/basicapp/LICENSE.txt new file mode 100644 index 00000000..e52f725b --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/basicapp/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo or any +other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/basicapp/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/basicapp/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/basicapp/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/basicapp/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/basicapp/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/basicapp/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-backend-charts-qml/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-backend-charts-qml/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-backend-charts-qml/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-backend-charts-qml/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-backend-charts-qml/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-backend-charts-qml/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-qml-integration/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-qml-integration/LICENSE.txt new file mode 100644 index 00000000..e52f725b --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-qml-integration/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo or any +other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-qml-integration/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-qml-integration/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-qml-integration/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-qml-integration/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-qml-integration/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/cpp-qml-integration/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/maps/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/maps/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/maps/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/maps/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/maps/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/maps/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/maps/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/maps/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/maps/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/messaging/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/messaging/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/messaging/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/messaging/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/messaging/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/messaging/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/messaging/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/messaging/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/messaging/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/propertycross/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/propertycross/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/propertycross/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/propertycross/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/propertycross/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/propertycross/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qt-rest-client/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qt-rest-client/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qt-rest-client/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qt-rest-client/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qt-rest-client/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qt-rest-client/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qtws/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qtws/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qtws/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qtws/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qtws/ios-simulator new file mode 120000 index 00000000..cfe66da4 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/qtws/ios-simulator @@ -0,0 +1 @@ +ios/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/showcase/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/showcase/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/showcase/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/showcase/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/showcase/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/showcase/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/showcase/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/showcase/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/showcase/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/twitter/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/twitter/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/twitter/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/twitter/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/twitter/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/twitter/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/twitter/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/twitter/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/twitter/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/weather/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/weather/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/weather/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/weather/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/weather/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/weather/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/weather/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/weather/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/weather/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/youtube-player/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/youtube-player/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/youtube-player/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/youtube-player/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/youtube-player/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/appdemos/youtube-player/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/2048/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/2048/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/2048/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/2048/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/2048/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/2048/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/2048/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/2048/ios-simulator new file mode 120000 index 00000000..cfe66da4 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/2048/ios-simulator @@ -0,0 +1 @@ +ios/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/BalloonPop/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/BalloonPop/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/BalloonPop/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/BalloonPop/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/BalloonPop/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/BalloonPop/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/BalloonPop/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/BalloonPop/ios-simulator new file mode 120000 index 00000000..cfe66da4 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/BalloonPop/ios-simulator @@ -0,0 +1 @@ +ios/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CarChallenge/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CarChallenge/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CarChallenge/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CarChallenge/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CarChallenge/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CarChallenge/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CarChallenge/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CarChallenge/ios-simulator new file mode 120000 index 00000000..cfe66da4 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CarChallenge/ios-simulator @@ -0,0 +1 @@ +ios/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/ChickenOutbreak/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/ChickenOutbreak/LICENSE.txt new file mode 100644 index 00000000..c2f5296d --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/ChickenOutbreak/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Squaby or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/ChickenOutbreak/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/ChickenOutbreak/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/ChickenOutbreak/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/ChickenOutbreak/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/ChickenOutbreak/ios-simulator new file mode 120000 index 00000000..cfe66da4 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/ChickenOutbreak/ios-simulator @@ -0,0 +1 @@ +ios/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CrazyCarousel/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CrazyCarousel/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CrazyCarousel/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CrazyCarousel/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CrazyCarousel/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CrazyCarousel/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CrazyCarousel/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CrazyCarousel/ios-simulator new file mode 120000 index 00000000..cfe66da4 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/CrazyCarousel/ios-simulator @@ -0,0 +1 @@ +ios/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/DoodleJump/LICENSE.txt b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/DoodleJump/LICENSE.txt new file mode 100644 index 00000000..43cf9db3 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/DoodleJump/LICENSE.txt @@ -0,0 +1,25 @@ +Copyright (C) FELGO GmbH + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +Permission is NOT granted to merge, publish, distribute, sublicense and/or +sell the provided image, audio and video files of this software. + +You may not redistribute the source code under the name of Felgo, +Chicken Outbreak or other V-Play related trademarks. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/DoodleJump/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/DoodleJump/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/DoodleJump/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/DoodleJump/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/DoodleJump/ios-simulator new file mode 120000 index 00000000..cfe66da4 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/demos/DoodleJump/ios-simulator @@ -0,0 +1 @@ +ios/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/AppPlayground/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/AppPlayground/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/AppPlayground/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/AppPlayground/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/AppPlayground/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/AppPlayground/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/GamePlayground/android-emulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/GamePlayground/android-emulator new file mode 120000 index 00000000..e8621730 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/GamePlayground/android-emulator @@ -0,0 +1 @@ +./android/ \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/GamePlayground/ios-simulator b/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/GamePlayground/ios-simulator new file mode 120000 index 00000000..c89de4d8 --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/felgo/playground/GamePlayground/ios-simulator @@ -0,0 +1 @@ +./ios \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/internal/examples/qml/drawer_nav_x/images/LICENSE b/vendor/github.com/therecipe/qt/internal/examples/qml/drawer_nav_x/images/LICENSE new file mode 100644 index 00000000..69633b6e --- /dev/null +++ b/vendor/github.com/therecipe/qt/internal/examples/qml/drawer_nav_x/images/LICENSE @@ -0,0 +1,393 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the "Licensor." Except for the limited purpose of indicating +that material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/vendor/github.com/therecipe/qt/network/network.cpp b/vendor/github.com/therecipe/qt/network/network.cpp new file mode 100644 index 00000000..a7b7af04 --- /dev/null +++ b/vendor/github.com/therecipe/qt/network/network.cpp @@ -0,0 +1,10175 @@ +// +build !minimal + +#define protected public +#define private public + +#include "network.h" +#include "_cgo_export.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class MyQAbstractNetworkCache: public QAbstractNetworkCache +{ +public: + MyQAbstractNetworkCache(QObject *parent = Q_NULLPTR) : QAbstractNetworkCache(parent) {QAbstractNetworkCache_QAbstractNetworkCache_QRegisterMetaType();}; + qint64 cacheSize() const { return callbackQAbstractNetworkCache_CacheSize(const_cast(static_cast(this))); }; + void clear() { callbackQAbstractNetworkCache_Clear(this); }; + QIODevice * data(const QUrl & url) { return static_cast(callbackQAbstractNetworkCache_Data(this, const_cast(&url))); }; + void insert(QIODevice * device) { callbackQAbstractNetworkCache_Insert(this, device); }; + QNetworkCacheMetaData metaData(const QUrl & url) { return *static_cast(callbackQAbstractNetworkCache_MetaData(this, const_cast(&url))); }; + QIODevice * prepare(const QNetworkCacheMetaData & metaData) { return static_cast(callbackQAbstractNetworkCache_Prepare(this, const_cast(&metaData))); }; + bool remove(const QUrl & url) { return callbackQAbstractNetworkCache_Remove(this, const_cast(&url)) != 0; }; + void updateMetaData(const QNetworkCacheMetaData & metaData) { callbackQAbstractNetworkCache_UpdateMetaData(this, const_cast(&metaData)); }; + ~MyQAbstractNetworkCache() { callbackQAbstractNetworkCache_DestroyQAbstractNetworkCache(this); }; + void childEvent(QChildEvent * event) { callbackQAbstractNetworkCache_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQAbstractNetworkCache_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQAbstractNetworkCache_CustomEvent(this, event); }; + void deleteLater() { callbackQAbstractNetworkCache_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQAbstractNetworkCache_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQAbstractNetworkCache_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQAbstractNetworkCache_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQAbstractNetworkCache_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQAbstractNetworkCache_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQAbstractNetworkCache_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQAbstractNetworkCache_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractNetworkCache*) + +int QAbstractNetworkCache_QAbstractNetworkCache_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAbstractNetworkCache_NewQAbstractNetworkCache(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractNetworkCache(static_cast(parent)); + } else { + return new MyQAbstractNetworkCache(static_cast(parent)); + } +} + +long long QAbstractNetworkCache_CacheSize(void* ptr) +{ + return static_cast(ptr)->cacheSize(); +} + +void QAbstractNetworkCache_Clear(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "clear"); +} + +void* QAbstractNetworkCache_Data(void* ptr, void* url) +{ + return static_cast(ptr)->data(*static_cast(url)); +} + +void QAbstractNetworkCache_Insert(void* ptr, void* device) +{ + static_cast(ptr)->insert(static_cast(device)); +} + +void* QAbstractNetworkCache_MetaData(void* ptr, void* url) +{ + return new QNetworkCacheMetaData(static_cast(ptr)->metaData(*static_cast(url))); +} + +void* QAbstractNetworkCache_Prepare(void* ptr, void* metaData) +{ + return static_cast(ptr)->prepare(*static_cast(metaData)); +} + +char QAbstractNetworkCache_Remove(void* ptr, void* url) +{ + return static_cast(ptr)->remove(*static_cast(url)); +} + +void QAbstractNetworkCache_UpdateMetaData(void* ptr, void* metaData) +{ + static_cast(ptr)->updateMetaData(*static_cast(metaData)); +} + +void QAbstractNetworkCache_DestroyQAbstractNetworkCache(void* ptr) +{ + static_cast(ptr)->~QAbstractNetworkCache(); +} + +void QAbstractNetworkCache_DestroyQAbstractNetworkCacheDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QAbstractNetworkCache___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractNetworkCache___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractNetworkCache___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractNetworkCache___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractNetworkCache___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractNetworkCache___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractNetworkCache___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractNetworkCache___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractNetworkCache___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractNetworkCache___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractNetworkCache___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractNetworkCache___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractNetworkCache___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractNetworkCache___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractNetworkCache___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QAbstractNetworkCache_ChildEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QNetworkDiskCache::childEvent(static_cast(event)); + } else { + static_cast(ptr)->QAbstractNetworkCache::childEvent(static_cast(event)); + } +} + +void QAbstractNetworkCache_ConnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QNetworkDiskCache::connectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QAbstractNetworkCache::connectNotify(*static_cast(sign)); + } +} + +void QAbstractNetworkCache_CustomEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QNetworkDiskCache::customEvent(static_cast(event)); + } else { + static_cast(ptr)->QAbstractNetworkCache::customEvent(static_cast(event)); + } +} + +void QAbstractNetworkCache_DeleteLaterDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QNetworkDiskCache::deleteLater(); + } else { + static_cast(ptr)->QAbstractNetworkCache::deleteLater(); + } +} + +void QAbstractNetworkCache_DisconnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QNetworkDiskCache::disconnectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QAbstractNetworkCache::disconnectNotify(*static_cast(sign)); + } +} + +char QAbstractNetworkCache_EventDefault(void* ptr, void* e) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QNetworkDiskCache::event(static_cast(e)); + } else { + return static_cast(ptr)->QAbstractNetworkCache::event(static_cast(e)); + } +} + +char QAbstractNetworkCache_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QNetworkDiskCache::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QAbstractNetworkCache::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QAbstractNetworkCache_MetaObjectDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QNetworkDiskCache::metaObject()); + } else { + return const_cast(static_cast(ptr)->QAbstractNetworkCache::metaObject()); + } +} + +void QAbstractNetworkCache_TimerEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QNetworkDiskCache::timerEvent(static_cast(event)); + } else { + static_cast(ptr)->QAbstractNetworkCache::timerEvent(static_cast(event)); + } +} + +class MyQAbstractSocket: public QAbstractSocket +{ +public: + MyQAbstractSocket(QAbstractSocket::SocketType socketType, QObject *parent) : QAbstractSocket(socketType, parent) {QAbstractSocket_QAbstractSocket_QRegisterMetaType();}; + bool atEnd() const { return callbackQAbstractSocket_AtEnd(const_cast(static_cast(this))) != 0; }; + qint64 bytesAvailable() const { return callbackQAbstractSocket_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQAbstractSocket_BytesToWrite(const_cast(static_cast(this))); }; + bool canReadLine() const { return callbackQAbstractSocket_CanReadLine(const_cast(static_cast(this))) != 0; }; + void close() { callbackQAbstractSocket_Close(this); }; + void connectToHost(const QString & hostName, quint16 port, QIODevice::OpenMode openMode, QAbstractSocket::NetworkLayerProtocol protocol) { QByteArray tcf2288 = hostName.toUtf8(); QtNetwork_PackedString hostNamePacked = { const_cast(tcf2288.prepend("WHITESPACE").constData()+10), tcf2288.size()-10 };callbackQAbstractSocket_ConnectToHost(this, hostNamePacked, port, openMode, protocol); }; + void connectToHost(const QHostAddress & address, quint16 port, QIODevice::OpenMode openMode) { callbackQAbstractSocket_ConnectToHost2(this, const_cast(&address), port, openMode); }; + void Signal_Connected() { callbackQAbstractSocket_Connected(this); }; + void disconnectFromHost() { callbackQAbstractSocket_DisconnectFromHost(this); }; + void Signal_Disconnected() { callbackQAbstractSocket_Disconnected(this); }; + void Signal_Error2(QAbstractSocket::SocketError socketError) { callbackQAbstractSocket_Error2(this, socketError); }; + void Signal_HostFound() { callbackQAbstractSocket_HostFound(this); }; + bool isSequential() const { return callbackQAbstractSocket_IsSequential(const_cast(static_cast(this))) != 0; }; + void Signal_ProxyAuthenticationRequired(const QNetworkProxy & proxy, QAuthenticator * authenticator) { callbackQAbstractSocket_ProxyAuthenticationRequired(this, const_cast(&proxy), authenticator); }; + qint64 readData(char * data, qint64 maxSize) { QtNetwork_PackedString dataPacked = { data, maxSize };return callbackQAbstractSocket_ReadData(this, dataPacked, maxSize); }; + qint64 readLineData(char * data, qint64 maxlen) { QtNetwork_PackedString dataPacked = { data, maxlen };return callbackQAbstractSocket_ReadLineData(this, dataPacked, maxlen); }; + void resume() { callbackQAbstractSocket_Resume(this); }; + void setReadBufferSize(qint64 size) { callbackQAbstractSocket_SetReadBufferSize(this, size); }; + void setSocketOption(QAbstractSocket::SocketOption option, const QVariant & value) { callbackQAbstractSocket_SetSocketOption(this, option, const_cast(&value)); }; + QVariant socketOption(QAbstractSocket::SocketOption option) { return *static_cast(callbackQAbstractSocket_SocketOption(this, option)); }; + void Signal_StateChanged(QAbstractSocket::SocketState socketState) { callbackQAbstractSocket_StateChanged(this, socketState); }; + bool waitForBytesWritten(int msecs) { return callbackQAbstractSocket_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForConnected(int msecs) { return callbackQAbstractSocket_WaitForConnected(this, msecs) != 0; }; + bool waitForDisconnected(int msecs) { return callbackQAbstractSocket_WaitForDisconnected(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQAbstractSocket_WaitForReadyRead(this, msecs) != 0; }; + qint64 writeData(const char * data, qint64 size) { QtNetwork_PackedString dataPacked = { const_cast(data), size };return callbackQAbstractSocket_WriteData(this, dataPacked, size); }; + ~MyQAbstractSocket() { callbackQAbstractSocket_DestroyQAbstractSocket(this); }; + void Signal_AboutToClose() { callbackQAbstractSocket_AboutToClose(this); }; + void Signal_BytesWritten(qint64 bytes) { callbackQAbstractSocket_BytesWritten(this, bytes); }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQAbstractSocket_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQAbstractSocket_ChannelReadyRead(this, channel); }; + bool open(QIODevice::OpenMode mode) { return callbackQAbstractSocket_Open(this, mode) != 0; }; + qint64 pos() const { return callbackQAbstractSocket_Pos(const_cast(static_cast(this))); }; + void Signal_ReadChannelFinished() { callbackQAbstractSocket_ReadChannelFinished(this); }; + void Signal_ReadyRead() { callbackQAbstractSocket_ReadyRead(this); }; + bool reset() { return callbackQAbstractSocket_Reset(this) != 0; }; + bool seek(qint64 pos) { return callbackQAbstractSocket_Seek(this, pos) != 0; }; + qint64 size() const { return callbackQAbstractSocket_Size(const_cast(static_cast(this))); }; + void childEvent(QChildEvent * event) { callbackQAbstractSocket_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQAbstractSocket_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQAbstractSocket_CustomEvent(this, event); }; + void deleteLater() { callbackQAbstractSocket_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQAbstractSocket_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQAbstractSocket_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQAbstractSocket_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQAbstractSocket_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQAbstractSocket_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQAbstractSocket_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQAbstractSocket_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQAbstractSocket*) + +int QAbstractSocket_QAbstractSocket_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QAbstractSocket_NewQAbstractSocket(long long socketType, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } else { + return new MyQAbstractSocket(static_cast(socketType), static_cast(parent)); + } +} + +void QAbstractSocket_Abort(void* ptr) +{ + static_cast(ptr)->abort(); +} + +char QAbstractSocket_AtEndDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::atEnd(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::atEnd(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::atEnd(); + } else { + return static_cast(ptr)->QAbstractSocket::atEnd(); + } +} + +char QAbstractSocket_Bind(void* ptr, void* address, unsigned short port, long long mode) +{ + return static_cast(ptr)->bind(*static_cast(address), port, static_cast(mode)); +} + +char QAbstractSocket_Bind2(void* ptr, unsigned short port, long long mode) +{ + return static_cast(ptr)->bind(port, static_cast(mode)); +} + +long long QAbstractSocket_BytesAvailableDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::bytesAvailable(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::bytesAvailable(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::bytesAvailable(); + } else { + return static_cast(ptr)->QAbstractSocket::bytesAvailable(); + } +} + +long long QAbstractSocket_BytesToWriteDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::bytesToWrite(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::bytesToWrite(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::bytesToWrite(); + } else { + return static_cast(ptr)->QAbstractSocket::bytesToWrite(); + } +} + +char QAbstractSocket_CanReadLineDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::canReadLine(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::canReadLine(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::canReadLine(); + } else { + return static_cast(ptr)->QAbstractSocket::canReadLine(); + } +} + +void QAbstractSocket_CloseDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::close(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::close(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::close(); + } else { + static_cast(ptr)->QAbstractSocket::close(); + } +} + +void QAbstractSocket_ConnectToHost(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, long long openMode, long long protocol) +{ + static_cast(ptr)->connectToHost(QString::fromUtf8(hostName.data, hostName.len), port, static_cast(openMode), static_cast(protocol)); +} + +void QAbstractSocket_ConnectToHostDefault(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, long long openMode, long long protocol) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::connectToHost(QString::fromUtf8(hostName.data, hostName.len), port, static_cast(openMode), static_cast(protocol)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::connectToHost(QString::fromUtf8(hostName.data, hostName.len), port, static_cast(openMode), static_cast(protocol)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::connectToHost(QString::fromUtf8(hostName.data, hostName.len), port, static_cast(openMode), static_cast(protocol)); + } else { + static_cast(ptr)->QAbstractSocket::connectToHost(QString::fromUtf8(hostName.data, hostName.len), port, static_cast(openMode), static_cast(protocol)); + } +} + +void QAbstractSocket_ConnectToHost2(void* ptr, void* address, unsigned short port, long long openMode) +{ + static_cast(ptr)->connectToHost(*static_cast(address), port, static_cast(openMode)); +} + +void QAbstractSocket_ConnectToHost2Default(void* ptr, void* address, unsigned short port, long long openMode) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::connectToHost(*static_cast(address), port, static_cast(openMode)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::connectToHost(*static_cast(address), port, static_cast(openMode)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::connectToHost(*static_cast(address), port, static_cast(openMode)); + } else { + static_cast(ptr)->QAbstractSocket::connectToHost(*static_cast(address), port, static_cast(openMode)); + } +} + +void QAbstractSocket_ConnectConnected(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractSocket::connected), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_Connected), static_cast(t)); +} + +void QAbstractSocket_DisconnectConnected(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractSocket::connected), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_Connected)); +} + +void QAbstractSocket_Connected(void* ptr) +{ + static_cast(ptr)->connected(); +} + +void QAbstractSocket_DisconnectFromHost(void* ptr) +{ + static_cast(ptr)->disconnectFromHost(); +} + +void QAbstractSocket_DisconnectFromHostDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::disconnectFromHost(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::disconnectFromHost(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::disconnectFromHost(); + } else { + static_cast(ptr)->QAbstractSocket::disconnectFromHost(); + } +} + +void QAbstractSocket_ConnectDisconnected(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractSocket::disconnected), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_Disconnected), static_cast(t)); +} + +void QAbstractSocket_DisconnectDisconnected(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractSocket::disconnected), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_Disconnected)); +} + +void QAbstractSocket_Disconnected(void* ptr) +{ + static_cast(ptr)->disconnected(); +} + +long long QAbstractSocket_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +void QAbstractSocket_ConnectError2(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QAbstractSocket::error), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_Error2), static_cast(t)); +} + +void QAbstractSocket_DisconnectError2(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractSocket::error), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_Error2)); +} + +void QAbstractSocket_Error2(void* ptr, long long socketError) +{ + static_cast(ptr)->error(static_cast(socketError)); +} + +char QAbstractSocket_Flush(void* ptr) +{ + return static_cast(ptr)->flush(); +} + +void QAbstractSocket_ConnectHostFound(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractSocket::hostFound), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_HostFound), static_cast(t)); +} + +void QAbstractSocket_DisconnectHostFound(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractSocket::hostFound), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_HostFound)); +} + +void QAbstractSocket_HostFound(void* ptr) +{ + static_cast(ptr)->hostFound(); +} + +char QAbstractSocket_IsSequentialDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::isSequential(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::isSequential(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::isSequential(); + } else { + return static_cast(ptr)->QAbstractSocket::isSequential(); + } +} + +char QAbstractSocket_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QAbstractSocket_LocalAddress(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->localAddress()); +} + +unsigned short QAbstractSocket_LocalPort(void* ptr) +{ + return static_cast(ptr)->localPort(); +} + +long long QAbstractSocket_PauseMode(void* ptr) +{ + return static_cast(ptr)->pauseMode(); +} + +void* QAbstractSocket_PeerAddress(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->peerAddress()); +} + +struct QtNetwork_PackedString QAbstractSocket_PeerName(void* ptr) +{ + return ({ QByteArray tf7fe06 = static_cast(ptr)->peerName().toUtf8(); QtNetwork_PackedString { const_cast(tf7fe06.prepend("WHITESPACE").constData()+10), tf7fe06.size()-10 }; }); +} + +unsigned short QAbstractSocket_PeerPort(void* ptr) +{ + return static_cast(ptr)->peerPort(); +} + +struct QtNetwork_PackedString QAbstractSocket_ProtocolTag(void* ptr) +{ + return ({ QByteArray tf267f2 = static_cast(ptr)->protocolTag().toUtf8(); QtNetwork_PackedString { const_cast(tf267f2.prepend("WHITESPACE").constData()+10), tf267f2.size()-10 }; }); +} + +void* QAbstractSocket_Proxy(void* ptr) +{ + return new QNetworkProxy(static_cast(ptr)->proxy()); +} + +void QAbstractSocket_ConnectProxyAuthenticationRequired(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QAbstractSocket::proxyAuthenticationRequired), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_ProxyAuthenticationRequired), static_cast(t)); +} + +void QAbstractSocket_DisconnectProxyAuthenticationRequired(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractSocket::proxyAuthenticationRequired), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_ProxyAuthenticationRequired)); +} + +void QAbstractSocket_ProxyAuthenticationRequired(void* ptr, void* proxy, void* authenticator) +{ + static_cast(ptr)->proxyAuthenticationRequired(*static_cast(proxy), static_cast(authenticator)); +} + +long long QAbstractSocket_ReadBufferSize(void* ptr) +{ + return static_cast(ptr)->readBufferSize(); +} + +long long QAbstractSocket_ReadData(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->readData(data, maxSize); +} + +long long QAbstractSocket_ReadDataDefault(void* ptr, char* data, long long maxSize) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::readData(data, maxSize); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::readData(data, maxSize); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::readData(data, maxSize); + } else { + return static_cast(ptr)->QAbstractSocket::readData(data, maxSize); + } +} + +long long QAbstractSocket_ReadLineDataDefault(void* ptr, char* data, long long maxlen) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::readLineData(data, maxlen); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::readLineData(data, maxlen); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::readLineData(data, maxlen); + } else { + return static_cast(ptr)->QAbstractSocket::readLineData(data, maxlen); + } +} + +void QAbstractSocket_Resume(void* ptr) +{ + static_cast(ptr)->resume(); +} + +void QAbstractSocket_ResumeDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::resume(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::resume(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::resume(); + } else { + static_cast(ptr)->QAbstractSocket::resume(); + } +} + +void QAbstractSocket_SetLocalAddress(void* ptr, void* address) +{ + static_cast(ptr)->setLocalAddress(*static_cast(address)); +} + +void QAbstractSocket_SetLocalPort(void* ptr, unsigned short port) +{ + static_cast(ptr)->setLocalPort(port); +} + +void QAbstractSocket_SetPauseMode(void* ptr, long long pauseMode) +{ + static_cast(ptr)->setPauseMode(static_cast(pauseMode)); +} + +void QAbstractSocket_SetPeerAddress(void* ptr, void* address) +{ + static_cast(ptr)->setPeerAddress(*static_cast(address)); +} + +void QAbstractSocket_SetPeerName(void* ptr, struct QtNetwork_PackedString name) +{ + static_cast(ptr)->setPeerName(QString::fromUtf8(name.data, name.len)); +} + +void QAbstractSocket_SetPeerPort(void* ptr, unsigned short port) +{ + static_cast(ptr)->setPeerPort(port); +} + +void QAbstractSocket_SetProtocolTag(void* ptr, struct QtNetwork_PackedString tag) +{ + static_cast(ptr)->setProtocolTag(QString::fromUtf8(tag.data, tag.len)); +} + +void QAbstractSocket_SetProxy(void* ptr, void* networkProxy) +{ + static_cast(ptr)->setProxy(*static_cast(networkProxy)); +} + +void QAbstractSocket_SetReadBufferSize(void* ptr, long long size) +{ + static_cast(ptr)->setReadBufferSize(size); +} + +void QAbstractSocket_SetReadBufferSizeDefault(void* ptr, long long size) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::setReadBufferSize(size); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::setReadBufferSize(size); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::setReadBufferSize(size); + } else { + static_cast(ptr)->QAbstractSocket::setReadBufferSize(size); + } +} + +void QAbstractSocket_SetSocketError(void* ptr, long long socketError) +{ + static_cast(ptr)->setSocketError(static_cast(socketError)); +} + +void QAbstractSocket_SetSocketOption(void* ptr, long long option, void* value) +{ + static_cast(ptr)->setSocketOption(static_cast(option), *static_cast(value)); +} + +void QAbstractSocket_SetSocketOptionDefault(void* ptr, long long option, void* value) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::setSocketOption(static_cast(option), *static_cast(value)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::setSocketOption(static_cast(option), *static_cast(value)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::setSocketOption(static_cast(option), *static_cast(value)); + } else { + static_cast(ptr)->QAbstractSocket::setSocketOption(static_cast(option), *static_cast(value)); + } +} + +void QAbstractSocket_SetSocketState(void* ptr, long long state) +{ + static_cast(ptr)->setSocketState(static_cast(state)); +} + +void* QAbstractSocket_SocketOption(void* ptr, long long option) +{ + return new QVariant(static_cast(ptr)->socketOption(static_cast(option))); +} + +void* QAbstractSocket_SocketOptionDefault(void* ptr, long long option) +{ + if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QUdpSocket::socketOption(static_cast(option))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QSslSocket::socketOption(static_cast(option))); + } else if (dynamic_cast(static_cast(ptr))) { + return new QVariant(static_cast(ptr)->QTcpSocket::socketOption(static_cast(option))); + } else { + return new QVariant(static_cast(ptr)->QAbstractSocket::socketOption(static_cast(option))); + } +} + +long long QAbstractSocket_SocketType(void* ptr) +{ + return static_cast(ptr)->socketType(); +} + +long long QAbstractSocket_State(void* ptr) +{ + return static_cast(ptr)->state(); +} + +void QAbstractSocket_ConnectStateChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QAbstractSocket::stateChanged), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_StateChanged), static_cast(t)); +} + +void QAbstractSocket_DisconnectStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QAbstractSocket::stateChanged), static_cast(ptr), static_cast(&MyQAbstractSocket::Signal_StateChanged)); +} + +void QAbstractSocket_StateChanged(void* ptr, long long socketState) +{ + static_cast(ptr)->stateChanged(static_cast(socketState)); +} + +char QAbstractSocket_WaitForBytesWrittenDefault(void* ptr, int msecs) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::waitForBytesWritten(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::waitForBytesWritten(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::waitForBytesWritten(msecs); + } else { + return static_cast(ptr)->QAbstractSocket::waitForBytesWritten(msecs); + } +} + +char QAbstractSocket_WaitForConnected(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForConnected(msecs); +} + +char QAbstractSocket_WaitForConnectedDefault(void* ptr, int msecs) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::waitForConnected(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::waitForConnected(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::waitForConnected(msecs); + } else { + return static_cast(ptr)->QAbstractSocket::waitForConnected(msecs); + } +} + +char QAbstractSocket_WaitForDisconnected(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForDisconnected(msecs); +} + +char QAbstractSocket_WaitForDisconnectedDefault(void* ptr, int msecs) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::waitForDisconnected(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::waitForDisconnected(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::waitForDisconnected(msecs); + } else { + return static_cast(ptr)->QAbstractSocket::waitForDisconnected(msecs); + } +} + +char QAbstractSocket_WaitForReadyReadDefault(void* ptr, int msecs) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::waitForReadyRead(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::waitForReadyRead(msecs); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::waitForReadyRead(msecs); + } else { + return static_cast(ptr)->QAbstractSocket::waitForReadyRead(msecs); + } +} + +long long QAbstractSocket_WriteData(void* ptr, char* data, long long size) +{ + return static_cast(ptr)->writeData(const_cast(data), size); +} + +long long QAbstractSocket_WriteDataDefault(void* ptr, char* data, long long size) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::writeData(const_cast(data), size); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::writeData(const_cast(data), size); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::writeData(const_cast(data), size); + } else { + return static_cast(ptr)->QAbstractSocket::writeData(const_cast(data), size); + } +} + +void QAbstractSocket_DestroyQAbstractSocket(void* ptr) +{ + static_cast(ptr)->~QAbstractSocket(); +} + +void QAbstractSocket_DestroyQAbstractSocketDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QAbstractSocket___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractSocket___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractSocket___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractSocket___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QAbstractSocket___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QAbstractSocket___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractSocket___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractSocket___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractSocket___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractSocket___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractSocket___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractSocket___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QAbstractSocket___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QAbstractSocket___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QAbstractSocket___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +char QAbstractSocket_OpenDefault(void* ptr, long long mode) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::open(static_cast(mode)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::open(static_cast(mode)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::open(static_cast(mode)); + } else { + return static_cast(ptr)->QAbstractSocket::open(static_cast(mode)); + } +} + +long long QAbstractSocket_PosDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::pos(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::pos(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::pos(); + } else { + return static_cast(ptr)->QAbstractSocket::pos(); + } +} + +char QAbstractSocket_ResetDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::reset(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::reset(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::reset(); + } else { + return static_cast(ptr)->QAbstractSocket::reset(); + } +} + +char QAbstractSocket_SeekDefault(void* ptr, long long pos) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::seek(pos); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::seek(pos); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::seek(pos); + } else { + return static_cast(ptr)->QAbstractSocket::seek(pos); + } +} + +long long QAbstractSocket_SizeDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::size(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::size(); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::size(); + } else { + return static_cast(ptr)->QAbstractSocket::size(); + } +} + +void QAbstractSocket_ChildEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::childEvent(static_cast(event)); + } else { + static_cast(ptr)->QAbstractSocket::childEvent(static_cast(event)); + } +} + +void QAbstractSocket_ConnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::connectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QAbstractSocket::connectNotify(*static_cast(sign)); + } +} + +void QAbstractSocket_CustomEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::customEvent(static_cast(event)); + } else { + static_cast(ptr)->QAbstractSocket::customEvent(static_cast(event)); + } +} + +void QAbstractSocket_DeleteLaterDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::deleteLater(); + } else { + static_cast(ptr)->QAbstractSocket::deleteLater(); + } +} + +void QAbstractSocket_DisconnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::disconnectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QAbstractSocket::disconnectNotify(*static_cast(sign)); + } +} + +char QAbstractSocket_EventDefault(void* ptr, void* e) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::event(static_cast(e)); + } else { + return static_cast(ptr)->QAbstractSocket::event(static_cast(e)); + } +} + +char QAbstractSocket_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QUdpSocket::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QSslSocket::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QTcpSocket::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QAbstractSocket::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QAbstractSocket_MetaObjectDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QUdpSocket::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QSslSocket::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QTcpSocket::metaObject()); + } else { + return const_cast(static_cast(ptr)->QAbstractSocket::metaObject()); + } +} + +void QAbstractSocket_TimerEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QUdpSocket::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QSslSocket::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QTcpSocket::timerEvent(static_cast(event)); + } else { + static_cast(ptr)->QAbstractSocket::timerEvent(static_cast(event)); + } +} + +void* QAuthenticator_NewQAuthenticator() +{ + return new QAuthenticator(); +} + +void* QAuthenticator_NewQAuthenticator2(void* other) +{ + return new QAuthenticator(*static_cast(other)); +} + +char QAuthenticator_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +void* QAuthenticator_Option(void* ptr, struct QtNetwork_PackedString opt) +{ + return new QVariant(static_cast(ptr)->option(QString::fromUtf8(opt.data, opt.len))); +} + +struct QtNetwork_PackedList QAuthenticator_Options(void* ptr) +{ + return ({ QHash* tmpValue6cf1f6 = new QHash(static_cast(ptr)->options()); QtNetwork_PackedList { tmpValue6cf1f6, tmpValue6cf1f6->size() }; }); +} + +struct QtNetwork_PackedString QAuthenticator_Password(void* ptr) +{ + return ({ QByteArray t31072f = static_cast(ptr)->password().toUtf8(); QtNetwork_PackedString { const_cast(t31072f.prepend("WHITESPACE").constData()+10), t31072f.size()-10 }; }); +} + +struct QtNetwork_PackedString QAuthenticator_Realm(void* ptr) +{ + return ({ QByteArray tcc1e3d = static_cast(ptr)->realm().toUtf8(); QtNetwork_PackedString { const_cast(tcc1e3d.prepend("WHITESPACE").constData()+10), tcc1e3d.size()-10 }; }); +} + +void QAuthenticator_SetOption(void* ptr, struct QtNetwork_PackedString opt, void* value) +{ + static_cast(ptr)->setOption(QString::fromUtf8(opt.data, opt.len), *static_cast(value)); +} + +void QAuthenticator_SetPassword(void* ptr, struct QtNetwork_PackedString password) +{ + static_cast(ptr)->setPassword(QString::fromUtf8(password.data, password.len)); +} + +void QAuthenticator_SetUser(void* ptr, struct QtNetwork_PackedString user) +{ + static_cast(ptr)->setUser(QString::fromUtf8(user.data, user.len)); +} + +struct QtNetwork_PackedString QAuthenticator_User(void* ptr) +{ + return ({ QByteArray ta76119 = static_cast(ptr)->user().toUtf8(); QtNetwork_PackedString { const_cast(ta76119.prepend("WHITESPACE").constData()+10), ta76119.size()-10 }; }); +} + +void QAuthenticator_DestroyQAuthenticator(void* ptr) +{ + static_cast(ptr)->~QAuthenticator(); +} + +void* QAuthenticator___options_atList(void* ptr, struct QtNetwork_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QAuthenticator___options_setList(void* ptr, struct QtNetwork_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QAuthenticator___options_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtNetwork_PackedList QAuthenticator___options_keyList(void* ptr) +{ + return ({ QList* tmpValuef43bc5 = new QList(static_cast*>(ptr)->keys()); QtNetwork_PackedList { tmpValuef43bc5, tmpValuef43bc5->size() }; }); +} + +struct QtNetwork_PackedString QAuthenticator_____options_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtNetwork_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QAuthenticator_____options_keyList_setList(void* ptr, struct QtNetwork_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QAuthenticator_____options_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsDomainNameRecord_NewQDnsDomainNameRecord() +{ + return new QDnsDomainNameRecord(); +} + +void* QDnsDomainNameRecord_NewQDnsDomainNameRecord2(void* other) +{ + return new QDnsDomainNameRecord(*static_cast(other)); +} + +struct QtNetwork_PackedString QDnsDomainNameRecord_Name(void* ptr) +{ + return ({ QByteArray t22074d = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(t22074d.prepend("WHITESPACE").constData()+10), t22074d.size()-10 }; }); +} + +void QDnsDomainNameRecord_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +unsigned int QDnsDomainNameRecord_TimeToLive(void* ptr) +{ + return static_cast(ptr)->timeToLive(); +} + +struct QtNetwork_PackedString QDnsDomainNameRecord_Value(void* ptr) +{ + return ({ QByteArray tb334d2 = static_cast(ptr)->value().toUtf8(); QtNetwork_PackedString { const_cast(tb334d2.prepend("WHITESPACE").constData()+10), tb334d2.size()-10 }; }); +} + +void QDnsDomainNameRecord_DestroyQDnsDomainNameRecord(void* ptr) +{ + static_cast(ptr)->~QDnsDomainNameRecord(); +} + +void* QDnsHostAddressRecord_NewQDnsHostAddressRecord() +{ + return new QDnsHostAddressRecord(); +} + +void* QDnsHostAddressRecord_NewQDnsHostAddressRecord2(void* other) +{ + return new QDnsHostAddressRecord(*static_cast(other)); +} + +struct QtNetwork_PackedString QDnsHostAddressRecord_Name(void* ptr) +{ + return ({ QByteArray tb52211 = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(tb52211.prepend("WHITESPACE").constData()+10), tb52211.size()-10 }; }); +} + +void QDnsHostAddressRecord_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +unsigned int QDnsHostAddressRecord_TimeToLive(void* ptr) +{ + return static_cast(ptr)->timeToLive(); +} + +void* QDnsHostAddressRecord_Value(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->value()); +} + +void QDnsHostAddressRecord_DestroyQDnsHostAddressRecord(void* ptr) +{ + static_cast(ptr)->~QDnsHostAddressRecord(); +} + +class MyQDnsLookup: public QDnsLookup +{ +public: + MyQDnsLookup(QObject *parent = Q_NULLPTR) : QDnsLookup(parent) {QDnsLookup_QDnsLookup_QRegisterMetaType();}; + MyQDnsLookup(QDnsLookup::Type ty, const QString &name, QObject *parent = Q_NULLPTR) : QDnsLookup(ty, name, parent) {QDnsLookup_QDnsLookup_QRegisterMetaType();}; + MyQDnsLookup(QDnsLookup::Type ty, const QString &name, const QHostAddress &nameserver, QObject *parent = Q_NULLPTR) : QDnsLookup(ty, name, nameserver, parent) {QDnsLookup_QDnsLookup_QRegisterMetaType();}; + void abort() { callbackQDnsLookup_Abort(this); }; + void Signal_Finished() { callbackQDnsLookup_Finished(this); }; + void lookup() { callbackQDnsLookup_Lookup(this); }; + void Signal_NameChanged(const QString & name) { QByteArray t6ae999 = name.toUtf8(); QtNetwork_PackedString namePacked = { const_cast(t6ae999.prepend("WHITESPACE").constData()+10), t6ae999.size()-10 };callbackQDnsLookup_NameChanged(this, namePacked); }; + void Signal_NameserverChanged(const QHostAddress & nameserver) { callbackQDnsLookup_NameserverChanged(this, const_cast(&nameserver)); }; + void Signal_TypeChanged(QDnsLookup::Type ty) { callbackQDnsLookup_TypeChanged(this, ty); }; + ~MyQDnsLookup() { callbackQDnsLookup_DestroyQDnsLookup(this); }; + void childEvent(QChildEvent * event) { callbackQDnsLookup_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQDnsLookup_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQDnsLookup_CustomEvent(this, event); }; + void deleteLater() { callbackQDnsLookup_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQDnsLookup_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQDnsLookup_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQDnsLookup_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQDnsLookup_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQDnsLookup_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQDnsLookup_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQDnsLookup_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQDnsLookup*) + +int QDnsLookup_QDnsLookup_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QDnsLookup_NewQDnsLookup(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(parent)); + } else { + return new MyQDnsLookup(static_cast(parent)); + } +} + +void* QDnsLookup_NewQDnsLookup2(long long ty, struct QtNetwork_PackedString name, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } else { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), static_cast(parent)); + } +} + +void* QDnsLookup_NewQDnsLookup3(long long ty, struct QtNetwork_PackedString name, void* nameserver, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } else { + return new MyQDnsLookup(static_cast(ty), QString::fromUtf8(name.data, name.len), *static_cast(nameserver), static_cast(parent)); + } +} + +void QDnsLookup_Abort(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "abort"); +} + +void QDnsLookup_AbortDefault(void* ptr) +{ + static_cast(ptr)->QDnsLookup::abort(); +} + +struct QtNetwork_PackedList QDnsLookup_CanonicalNameRecords(void* ptr) +{ + return ({ QList* tmpValued35e72 = new QList(static_cast(ptr)->canonicalNameRecords()); QtNetwork_PackedList { tmpValued35e72, tmpValued35e72->size() }; }); +} + +long long QDnsLookup_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtNetwork_PackedString QDnsLookup_ErrorString(void* ptr) +{ + return ({ QByteArray ta68e7f = static_cast(ptr)->errorString().toUtf8(); QtNetwork_PackedString { const_cast(ta68e7f.prepend("WHITESPACE").constData()+10), ta68e7f.size()-10 }; }); +} + +void QDnsLookup_ConnectFinished(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QDnsLookup::finished), static_cast(ptr), static_cast(&MyQDnsLookup::Signal_Finished), static_cast(t)); +} + +void QDnsLookup_DisconnectFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDnsLookup::finished), static_cast(ptr), static_cast(&MyQDnsLookup::Signal_Finished)); +} + +void QDnsLookup_Finished(void* ptr) +{ + static_cast(ptr)->finished(); +} + +struct QtNetwork_PackedList QDnsLookup_HostAddressRecords(void* ptr) +{ + return ({ QList* tmpValueb6c450 = new QList(static_cast(ptr)->hostAddressRecords()); QtNetwork_PackedList { tmpValueb6c450, tmpValueb6c450->size() }; }); +} + +char QDnsLookup_IsFinished(void* ptr) +{ + return static_cast(ptr)->isFinished(); +} + +void QDnsLookup_Lookup(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "lookup"); +} + +void QDnsLookup_LookupDefault(void* ptr) +{ + static_cast(ptr)->QDnsLookup::lookup(); +} + +struct QtNetwork_PackedList QDnsLookup_MailExchangeRecords(void* ptr) +{ + return ({ QList* tmpValuee68f25 = new QList(static_cast(ptr)->mailExchangeRecords()); QtNetwork_PackedList { tmpValuee68f25, tmpValuee68f25->size() }; }); +} + +struct QtNetwork_PackedString QDnsLookup_Name(void* ptr) +{ + return ({ QByteArray td8dec7 = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(td8dec7.prepend("WHITESPACE").constData()+10), td8dec7.size()-10 }; }); +} + +void QDnsLookup_ConnectNameChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QDnsLookup::nameChanged), static_cast(ptr), static_cast(&MyQDnsLookup::Signal_NameChanged), static_cast(t)); +} + +void QDnsLookup_DisconnectNameChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDnsLookup::nameChanged), static_cast(ptr), static_cast(&MyQDnsLookup::Signal_NameChanged)); +} + +void QDnsLookup_NameChanged(void* ptr, struct QtNetwork_PackedString name) +{ + static_cast(ptr)->nameChanged(QString::fromUtf8(name.data, name.len)); +} + +struct QtNetwork_PackedList QDnsLookup_NameServerRecords(void* ptr) +{ + return ({ QList* tmpValue25c7b1 = new QList(static_cast(ptr)->nameServerRecords()); QtNetwork_PackedList { tmpValue25c7b1, tmpValue25c7b1->size() }; }); +} + +void* QDnsLookup_Nameserver(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->nameserver()); +} + +void QDnsLookup_ConnectNameserverChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QDnsLookup::nameserverChanged), static_cast(ptr), static_cast(&MyQDnsLookup::Signal_NameserverChanged), static_cast(t)); +} + +void QDnsLookup_DisconnectNameserverChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDnsLookup::nameserverChanged), static_cast(ptr), static_cast(&MyQDnsLookup::Signal_NameserverChanged)); +} + +void QDnsLookup_NameserverChanged(void* ptr, void* nameserver) +{ + static_cast(ptr)->nameserverChanged(*static_cast(nameserver)); +} + +struct QtNetwork_PackedList QDnsLookup_PointerRecords(void* ptr) +{ + return ({ QList* tmpValueccbf28 = new QList(static_cast(ptr)->pointerRecords()); QtNetwork_PackedList { tmpValueccbf28, tmpValueccbf28->size() }; }); +} + +struct QtNetwork_PackedList QDnsLookup_ServiceRecords(void* ptr) +{ + return ({ QList* tmpValue5d8350 = new QList(static_cast(ptr)->serviceRecords()); QtNetwork_PackedList { tmpValue5d8350, tmpValue5d8350->size() }; }); +} + +void QDnsLookup_SetName(void* ptr, struct QtNetwork_PackedString name) +{ + static_cast(ptr)->setName(QString::fromUtf8(name.data, name.len)); +} + +void QDnsLookup_SetNameserver(void* ptr, void* nameserver) +{ + static_cast(ptr)->setNameserver(*static_cast(nameserver)); +} + +void QDnsLookup_SetType(void* ptr, long long vqd) +{ + static_cast(ptr)->setType(static_cast(vqd)); +} + +struct QtNetwork_PackedList QDnsLookup_TextRecords(void* ptr) +{ + return ({ QList* tmpValue3e26d4 = new QList(static_cast(ptr)->textRecords()); QtNetwork_PackedList { tmpValue3e26d4, tmpValue3e26d4->size() }; }); +} + +long long QDnsLookup_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QDnsLookup_ConnectTypeChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QDnsLookup::typeChanged), static_cast(ptr), static_cast(&MyQDnsLookup::Signal_TypeChanged), static_cast(t)); +} + +void QDnsLookup_DisconnectTypeChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QDnsLookup::typeChanged), static_cast(ptr), static_cast(&MyQDnsLookup::Signal_TypeChanged)); +} + +void QDnsLookup_TypeChanged(void* ptr, long long ty) +{ + static_cast(ptr)->typeChanged(static_cast(ty)); +} + +void QDnsLookup_DestroyQDnsLookup(void* ptr) +{ + static_cast(ptr)->~QDnsLookup(); +} + +void QDnsLookup_DestroyQDnsLookupDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QDnsLookup___canonicalNameRecords_atList(void* ptr, int i) +{ + return new QDnsDomainNameRecord(({QDnsDomainNameRecord tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDnsLookup___canonicalNameRecords_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDnsLookup___canonicalNameRecords_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___hostAddressRecords_atList(void* ptr, int i) +{ + return new QDnsHostAddressRecord(({QDnsHostAddressRecord tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDnsLookup___hostAddressRecords_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDnsLookup___hostAddressRecords_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___mailExchangeRecords_atList(void* ptr, int i) +{ + return new QDnsMailExchangeRecord(({QDnsMailExchangeRecord tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDnsLookup___mailExchangeRecords_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDnsLookup___mailExchangeRecords_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___nameServerRecords_atList(void* ptr, int i) +{ + return new QDnsDomainNameRecord(({QDnsDomainNameRecord tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDnsLookup___nameServerRecords_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDnsLookup___nameServerRecords_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___pointerRecords_atList(void* ptr, int i) +{ + return new QDnsDomainNameRecord(({QDnsDomainNameRecord tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDnsLookup___pointerRecords_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDnsLookup___pointerRecords_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___serviceRecords_atList(void* ptr, int i) +{ + return new QDnsServiceRecord(({QDnsServiceRecord tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDnsLookup___serviceRecords_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDnsLookup___serviceRecords_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___textRecords_atList(void* ptr, int i) +{ + return new QDnsTextRecord(({QDnsTextRecord tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDnsLookup___textRecords_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDnsLookup___textRecords_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QDnsLookup___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QDnsLookup___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDnsLookup___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDnsLookup___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QDnsLookup___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QDnsLookup___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QDnsLookup___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QDnsLookup___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QDnsLookup___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QDnsLookup___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QDnsLookup___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QDnsLookup_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QDnsLookup::childEvent(static_cast(event)); +} + +void QDnsLookup_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QDnsLookup::connectNotify(*static_cast(sign)); +} + +void QDnsLookup_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QDnsLookup::customEvent(static_cast(event)); +} + +void QDnsLookup_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QDnsLookup::deleteLater(); +} + +void QDnsLookup_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QDnsLookup::disconnectNotify(*static_cast(sign)); +} + +char QDnsLookup_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QDnsLookup::event(static_cast(e)); +} + +char QDnsLookup_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QDnsLookup::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QDnsLookup_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QDnsLookup::metaObject()); +} + +void QDnsLookup_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QDnsLookup::timerEvent(static_cast(event)); +} + +void* QDnsMailExchangeRecord_NewQDnsMailExchangeRecord() +{ + return new QDnsMailExchangeRecord(); +} + +void* QDnsMailExchangeRecord_NewQDnsMailExchangeRecord2(void* other) +{ + return new QDnsMailExchangeRecord(*static_cast(other)); +} + +struct QtNetwork_PackedString QDnsMailExchangeRecord_Exchange(void* ptr) +{ + return ({ QByteArray t48794c = static_cast(ptr)->exchange().toUtf8(); QtNetwork_PackedString { const_cast(t48794c.prepend("WHITESPACE").constData()+10), t48794c.size()-10 }; }); +} + +struct QtNetwork_PackedString QDnsMailExchangeRecord_Name(void* ptr) +{ + return ({ QByteArray t60d75b = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(t60d75b.prepend("WHITESPACE").constData()+10), t60d75b.size()-10 }; }); +} + +unsigned short QDnsMailExchangeRecord_Preference(void* ptr) +{ + return static_cast(ptr)->preference(); +} + +void QDnsMailExchangeRecord_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +unsigned int QDnsMailExchangeRecord_TimeToLive(void* ptr) +{ + return static_cast(ptr)->timeToLive(); +} + +void QDnsMailExchangeRecord_DestroyQDnsMailExchangeRecord(void* ptr) +{ + static_cast(ptr)->~QDnsMailExchangeRecord(); +} + +void* QDnsServiceRecord_NewQDnsServiceRecord() +{ + return new QDnsServiceRecord(); +} + +void* QDnsServiceRecord_NewQDnsServiceRecord2(void* other) +{ + return new QDnsServiceRecord(*static_cast(other)); +} + +struct QtNetwork_PackedString QDnsServiceRecord_Name(void* ptr) +{ + return ({ QByteArray t9ceb61 = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(t9ceb61.prepend("WHITESPACE").constData()+10), t9ceb61.size()-10 }; }); +} + +unsigned short QDnsServiceRecord_Port(void* ptr) +{ + return static_cast(ptr)->port(); +} + +unsigned short QDnsServiceRecord_Priority(void* ptr) +{ + return static_cast(ptr)->priority(); +} + +void QDnsServiceRecord_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtNetwork_PackedString QDnsServiceRecord_Target(void* ptr) +{ + return ({ QByteArray te2873b = static_cast(ptr)->target().toUtf8(); QtNetwork_PackedString { const_cast(te2873b.prepend("WHITESPACE").constData()+10), te2873b.size()-10 }; }); +} + +unsigned int QDnsServiceRecord_TimeToLive(void* ptr) +{ + return static_cast(ptr)->timeToLive(); +} + +unsigned short QDnsServiceRecord_Weight(void* ptr) +{ + return static_cast(ptr)->weight(); +} + +void QDnsServiceRecord_DestroyQDnsServiceRecord(void* ptr) +{ + static_cast(ptr)->~QDnsServiceRecord(); +} + +void* QDnsTextRecord_NewQDnsTextRecord() +{ + return new QDnsTextRecord(); +} + +void* QDnsTextRecord_NewQDnsTextRecord2(void* other) +{ + return new QDnsTextRecord(*static_cast(other)); +} + +struct QtNetwork_PackedString QDnsTextRecord_Name(void* ptr) +{ + return ({ QByteArray tb66dc5 = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(tb66dc5.prepend("WHITESPACE").constData()+10), tb66dc5.size()-10 }; }); +} + +void QDnsTextRecord_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +unsigned int QDnsTextRecord_TimeToLive(void* ptr) +{ + return static_cast(ptr)->timeToLive(); +} + +struct QtNetwork_PackedList QDnsTextRecord_Values(void* ptr) +{ + return ({ QList* tmpValueade13f = new QList(static_cast(ptr)->values()); QtNetwork_PackedList { tmpValueade13f, tmpValueade13f->size() }; }); +} + +void QDnsTextRecord_DestroyQDnsTextRecord(void* ptr) +{ + static_cast(ptr)->~QDnsTextRecord(); +} + +void* QDnsTextRecord___values_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QDnsTextRecord___values_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QDnsTextRecord___values_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QHostAddress_NewQHostAddress() +{ + return new QHostAddress(); +} + +void* QHostAddress_NewQHostAddress2(unsigned int ip4Addr) +{ + return new QHostAddress(ip4Addr); +} + +void* QHostAddress_NewQHostAddress3(char* ip6Addr) +{ + return new QHostAddress(static_cast(static_cast(ip6Addr))); +} + +void* QHostAddress_NewQHostAddress4(char* ip6Addr) +{ + return new QHostAddress(const_cast(static_cast(static_cast(ip6Addr)))); +} + +void* QHostAddress_NewQHostAddress7(struct QtNetwork_PackedString address) +{ + return new QHostAddress(QString::fromUtf8(address.data, address.len)); +} + +void* QHostAddress_NewQHostAddress8(void* address) +{ + return new QHostAddress(*static_cast(address)); +} + +void* QHostAddress_NewQHostAddress9(long long address) +{ + return new QHostAddress(static_cast(address)); +} + +void QHostAddress_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +char QHostAddress_IsBroadcast(void* ptr) +{ + return static_cast(ptr)->isBroadcast(); +} + +char QHostAddress_IsEqual(void* ptr, void* other, long long mode) +{ + return static_cast(ptr)->isEqual(*static_cast(other), static_cast(mode)); +} + +char QHostAddress_IsGlobal(void* ptr) +{ + return static_cast(ptr)->isGlobal(); +} + +char QHostAddress_IsInSubnet(void* ptr, void* subnet, int netmask) +{ + return static_cast(ptr)->isInSubnet(*static_cast(subnet), netmask); +} + +char QHostAddress_IsLinkLocal(void* ptr) +{ + return static_cast(ptr)->isLinkLocal(); +} + +char QHostAddress_IsLoopback(void* ptr) +{ + return static_cast(ptr)->isLoopback(); +} + +char QHostAddress_IsMulticast(void* ptr) +{ + return static_cast(ptr)->isMulticast(); +} + +char QHostAddress_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QHostAddress_IsSiteLocal(void* ptr) +{ + return static_cast(ptr)->isSiteLocal(); +} + +char QHostAddress_IsUniqueLocalUnicast(void* ptr) +{ + return static_cast(ptr)->isUniqueLocalUnicast(); +} + +long long QHostAddress_Protocol(void* ptr) +{ + return static_cast(ptr)->protocol(); +} + +struct QtNetwork_PackedString QHostAddress_ScopeId(void* ptr) +{ + return ({ QByteArray t9c6602 = static_cast(ptr)->scopeId().toUtf8(); QtNetwork_PackedString { const_cast(t9c6602.prepend("WHITESPACE").constData()+10), t9c6602.size()-10 }; }); +} + +void QHostAddress_SetAddress(void* ptr, unsigned int ip4Addr) +{ + static_cast(ptr)->setAddress(ip4Addr); +} + +void QHostAddress_SetAddress2(void* ptr, char* ip6Addr) +{ + static_cast(ptr)->setAddress(static_cast(static_cast(ip6Addr))); +} + +void QHostAddress_SetAddress3(void* ptr, char* ip6Addr) +{ + static_cast(ptr)->setAddress(const_cast(static_cast(static_cast(ip6Addr)))); +} + +char QHostAddress_SetAddress6(void* ptr, struct QtNetwork_PackedString address) +{ + return static_cast(ptr)->setAddress(QString::fromUtf8(address.data, address.len)); +} + +void QHostAddress_SetAddress7(void* ptr, long long address) +{ + static_cast(ptr)->setAddress(static_cast(address)); +} + +void QHostAddress_SetScopeId(void* ptr, struct QtNetwork_PackedString id) +{ + static_cast(ptr)->setScopeId(QString::fromUtf8(id.data, id.len)); +} + +void QHostAddress_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +unsigned int QHostAddress_ToIPv4Address(void* ptr) +{ + return static_cast(ptr)->toIPv4Address(); +} + +unsigned int QHostAddress_ToIPv4Address2(void* ptr, char* ok) +{ + return static_cast(ptr)->toIPv4Address(reinterpret_cast(ok)); +} + +struct QtNetwork_PackedString QHostAddress_ToString(void* ptr) +{ + return ({ QByteArray tc5ceab = static_cast(ptr)->toString().toUtf8(); QtNetwork_PackedString { const_cast(tc5ceab.prepend("WHITESPACE").constData()+10), tc5ceab.size()-10 }; }); +} + +void QHostAddress_DestroyQHostAddress(void* ptr) +{ + static_cast(ptr)->~QHostAddress(); +} + +void* QHostInfo_NewQHostInfo(int id) +{ + return new QHostInfo(id); +} + +void* QHostInfo_NewQHostInfo2(void* other) +{ + return new QHostInfo(*static_cast(other)); +} + +void QHostInfo_QHostInfo_AbortHostLookup(int id) +{ + QHostInfo::abortHostLookup(id); +} + +struct QtNetwork_PackedList QHostInfo_Addresses(void* ptr) +{ + return ({ QList* tmpValuefeee0c = new QList(static_cast(ptr)->addresses()); QtNetwork_PackedList { tmpValuefeee0c, tmpValuefeee0c->size() }; }); +} + +long long QHostInfo_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtNetwork_PackedString QHostInfo_ErrorString(void* ptr) +{ + return ({ QByteArray taf4307 = static_cast(ptr)->errorString().toUtf8(); QtNetwork_PackedString { const_cast(taf4307.prepend("WHITESPACE").constData()+10), taf4307.size()-10 }; }); +} + +void* QHostInfo_QHostInfo_FromName(struct QtNetwork_PackedString name) +{ + return new QHostInfo(QHostInfo::fromName(QString::fromUtf8(name.data, name.len))); +} + +struct QtNetwork_PackedString QHostInfo_HostName(void* ptr) +{ + return ({ QByteArray t7a1d02 = static_cast(ptr)->hostName().toUtf8(); QtNetwork_PackedString { const_cast(t7a1d02.prepend("WHITESPACE").constData()+10), t7a1d02.size()-10 }; }); +} + +struct QtNetwork_PackedString QHostInfo_QHostInfo_LocalDomainName() +{ + return ({ QByteArray t5517d9 = QHostInfo::localDomainName().toUtf8(); QtNetwork_PackedString { const_cast(t5517d9.prepend("WHITESPACE").constData()+10), t5517d9.size()-10 }; }); +} + +struct QtNetwork_PackedString QHostInfo_QHostInfo_LocalHostName() +{ + return ({ QByteArray t63826c = QHostInfo::localHostName().toUtf8(); QtNetwork_PackedString { const_cast(t63826c.prepend("WHITESPACE").constData()+10), t63826c.size()-10 }; }); +} + +int QHostInfo_QHostInfo_LookupHost(struct QtNetwork_PackedString name, void* receiver, char* member) +{ + return QHostInfo::lookupHost(QString::fromUtf8(name.data, name.len), static_cast(receiver), const_cast(member)); +} + +int QHostInfo_LookupId(void* ptr) +{ + return static_cast(ptr)->lookupId(); +} + +void QHostInfo_SetAddresses(void* ptr, void* addresses) +{ + static_cast(ptr)->setAddresses(*static_cast*>(addresses)); +} + +void QHostInfo_SetError(void* ptr, long long error) +{ + static_cast(ptr)->setError(static_cast(error)); +} + +void QHostInfo_SetErrorString(void* ptr, struct QtNetwork_PackedString str) +{ + static_cast(ptr)->setErrorString(QString::fromUtf8(str.data, str.len)); +} + +void QHostInfo_SetHostName(void* ptr, struct QtNetwork_PackedString hostName) +{ + static_cast(ptr)->setHostName(QString::fromUtf8(hostName.data, hostName.len)); +} + +void QHostInfo_SetLookupId(void* ptr, int id) +{ + static_cast(ptr)->setLookupId(id); +} + +void QHostInfo_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QHostInfo_DestroyQHostInfo(void* ptr) +{ + static_cast(ptr)->~QHostInfo(); +} + +void* QHostInfo___addresses_atList(void* ptr, int i) +{ + return new QHostAddress(({QHostAddress tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QHostInfo___addresses_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QHostInfo___addresses_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QHostInfo___setAddresses_addresses_atList(void* ptr, int i) +{ + return new QHostAddress(({QHostAddress tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QHostInfo___setAddresses_addresses_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QHostInfo___setAddresses_addresses_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QHstsPolicy_NewQHstsPolicy() +{ + return new QHstsPolicy(); +} + +void* QHstsPolicy_NewQHstsPolicy2(void* expiry, long long flags, struct QtNetwork_PackedString host, long long mode) +{ + return new QHstsPolicy(*static_cast(expiry), static_cast(flags), QString::fromUtf8(host.data, host.len), static_cast(mode)); +} + +void* QHstsPolicy_NewQHstsPolicy3(void* other) +{ + return new QHstsPolicy(*static_cast(other)); +} + +void* QHstsPolicy_Expiry(void* ptr) +{ + return new QDateTime(static_cast(ptr)->expiry()); +} + +struct QtNetwork_PackedString QHstsPolicy_Host(void* ptr, long long options) +{ + return ({ QByteArray tfcde23 = static_cast(ptr)->host(static_cast(options)).toUtf8(); QtNetwork_PackedString { const_cast(tfcde23.prepend("WHITESPACE").constData()+10), tfcde23.size()-10 }; }); +} + +char QHstsPolicy_IncludesSubDomains(void* ptr) +{ + return static_cast(ptr)->includesSubDomains(); +} + +char QHstsPolicy_IsExpired(void* ptr) +{ + return static_cast(ptr)->isExpired(); +} + +void QHstsPolicy_SetExpiry(void* ptr, void* expiry) +{ + static_cast(ptr)->setExpiry(*static_cast(expiry)); +} + +void QHstsPolicy_SetHost(void* ptr, struct QtNetwork_PackedString host, long long mode) +{ + static_cast(ptr)->setHost(QString::fromUtf8(host.data, host.len), static_cast(mode)); +} + +void QHstsPolicy_SetIncludesSubDomains(void* ptr, char include) +{ + static_cast(ptr)->setIncludesSubDomains(include != 0); +} + +void QHstsPolicy_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QHstsPolicy_DestroyQHstsPolicy(void* ptr) +{ + static_cast(ptr)->~QHstsPolicy(); +} + +class MyQHttpMultiPart: public QHttpMultiPart +{ +public: + MyQHttpMultiPart(QObject *parent = Q_NULLPTR) : QHttpMultiPart(parent) {QHttpMultiPart_QHttpMultiPart_QRegisterMetaType();}; + MyQHttpMultiPart(QHttpMultiPart::ContentType contentType, QObject *parent = Q_NULLPTR) : QHttpMultiPart(contentType, parent) {QHttpMultiPart_QHttpMultiPart_QRegisterMetaType();}; + ~MyQHttpMultiPart() { callbackQHttpMultiPart_DestroyQHttpMultiPart(this); }; + void childEvent(QChildEvent * event) { callbackQHttpMultiPart_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQHttpMultiPart_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQHttpMultiPart_CustomEvent(this, event); }; + void deleteLater() { callbackQHttpMultiPart_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQHttpMultiPart_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQHttpMultiPart_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQHttpMultiPart_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQHttpMultiPart_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQHttpMultiPart_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQHttpMultiPart_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQHttpMultiPart_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQHttpMultiPart*) + +int QHttpMultiPart_QHttpMultiPart_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QHttpMultiPart_NewQHttpMultiPart(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(parent)); + } else { + return new MyQHttpMultiPart(static_cast(parent)); + } +} + +void* QHttpMultiPart_NewQHttpMultiPart2(long long contentType, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } else { + return new MyQHttpMultiPart(static_cast(contentType), static_cast(parent)); + } +} + +void QHttpMultiPart_Append(void* ptr, void* httpPart) +{ + static_cast(ptr)->append(*static_cast(httpPart)); +} + +void* QHttpMultiPart_Boundary(void* ptr) +{ + return new QByteArray(static_cast(ptr)->boundary()); +} + +void QHttpMultiPart_SetBoundary(void* ptr, void* boundary) +{ + static_cast(ptr)->setBoundary(*static_cast(boundary)); +} + +void QHttpMultiPart_SetContentType(void* ptr, long long contentType) +{ + static_cast(ptr)->setContentType(static_cast(contentType)); +} + +void QHttpMultiPart_DestroyQHttpMultiPart(void* ptr) +{ + static_cast(ptr)->~QHttpMultiPart(); +} + +void QHttpMultiPart_DestroyQHttpMultiPartDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QHttpMultiPart___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QHttpMultiPart___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QHttpMultiPart___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QHttpMultiPart___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QHttpMultiPart___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QHttpMultiPart___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QHttpMultiPart___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QHttpMultiPart___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QHttpMultiPart___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QHttpMultiPart___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QHttpMultiPart___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QHttpMultiPart___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QHttpMultiPart___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QHttpMultiPart___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QHttpMultiPart___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QHttpMultiPart_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QHttpMultiPart::childEvent(static_cast(event)); +} + +void QHttpMultiPart_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QHttpMultiPart::connectNotify(*static_cast(sign)); +} + +void QHttpMultiPart_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QHttpMultiPart::customEvent(static_cast(event)); +} + +void QHttpMultiPart_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QHttpMultiPart::deleteLater(); +} + +void QHttpMultiPart_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QHttpMultiPart::disconnectNotify(*static_cast(sign)); +} + +char QHttpMultiPart_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QHttpMultiPart::event(static_cast(e)); +} + +char QHttpMultiPart_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QHttpMultiPart::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QHttpMultiPart_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QHttpMultiPart::metaObject()); +} + +void QHttpMultiPart_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QHttpMultiPart::timerEvent(static_cast(event)); +} + +void* QHttpPart_NewQHttpPart() +{ + return new QHttpPart(); +} + +void* QHttpPart_NewQHttpPart2(void* other) +{ + return new QHttpPart(*static_cast(other)); +} + +void QHttpPart_SetBody(void* ptr, void* body) +{ + static_cast(ptr)->setBody(*static_cast(body)); +} + +void QHttpPart_SetBodyDevice(void* ptr, void* device) +{ + static_cast(ptr)->setBodyDevice(static_cast(device)); +} + +void QHttpPart_SetHeader(void* ptr, long long header, void* value) +{ + static_cast(ptr)->setHeader(static_cast(header), *static_cast(value)); +} + +void QHttpPart_SetRawHeader(void* ptr, void* headerName, void* headerValue) +{ + static_cast(ptr)->setRawHeader(*static_cast(headerName), *static_cast(headerValue)); +} + +void QHttpPart_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QHttpPart_DestroyQHttpPart(void* ptr) +{ + static_cast(ptr)->~QHttpPart(); +} + +class MyQLocalServer: public QLocalServer +{ +public: + MyQLocalServer(QObject *parent = Q_NULLPTR) : QLocalServer(parent) {QLocalServer_QLocalServer_QRegisterMetaType();}; + bool hasPendingConnections() const { return callbackQLocalServer_HasPendingConnections(const_cast(static_cast(this))) != 0; }; + void incomingConnection(quintptr socketDescriptor) { callbackQLocalServer_IncomingConnection(this, socketDescriptor); }; + void Signal_NewConnection() { callbackQLocalServer_NewConnection(this); }; + QLocalSocket * nextPendingConnection() { return static_cast(callbackQLocalServer_NextPendingConnection(this)); }; + ~MyQLocalServer() { callbackQLocalServer_DestroyQLocalServer(this); }; + void childEvent(QChildEvent * event) { callbackQLocalServer_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQLocalServer_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQLocalServer_CustomEvent(this, event); }; + void deleteLater() { callbackQLocalServer_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQLocalServer_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQLocalServer_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQLocalServer_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQLocalServer_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQLocalServer_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQLocalServer_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQLocalServer_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQLocalServer*) + +int QLocalServer_QLocalServer_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QLocalServer_NewQLocalServer(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalServer(static_cast(parent)); + } else { + return new MyQLocalServer(static_cast(parent)); + } +} + +void QLocalServer_Close(void* ptr) +{ + static_cast(ptr)->close(); +} + +struct QtNetwork_PackedString QLocalServer_ErrorString(void* ptr) +{ + return ({ QByteArray tf5dac0 = static_cast(ptr)->errorString().toUtf8(); QtNetwork_PackedString { const_cast(tf5dac0.prepend("WHITESPACE").constData()+10), tf5dac0.size()-10 }; }); +} + +struct QtNetwork_PackedString QLocalServer_FullServerName(void* ptr) +{ + return ({ QByteArray tb91f50 = static_cast(ptr)->fullServerName().toUtf8(); QtNetwork_PackedString { const_cast(tb91f50.prepend("WHITESPACE").constData()+10), tb91f50.size()-10 }; }); +} + +char QLocalServer_HasPendingConnections(void* ptr) +{ + return static_cast(ptr)->hasPendingConnections(); +} + +char QLocalServer_HasPendingConnectionsDefault(void* ptr) +{ + return static_cast(ptr)->QLocalServer::hasPendingConnections(); +} + +void QLocalServer_IncomingConnection(void* ptr, uintptr_t socketDescriptor) +{ + static_cast(ptr)->incomingConnection(socketDescriptor); +} + +void QLocalServer_IncomingConnectionDefault(void* ptr, uintptr_t socketDescriptor) +{ + static_cast(ptr)->QLocalServer::incomingConnection(socketDescriptor); +} + +char QLocalServer_IsListening(void* ptr) +{ + return static_cast(ptr)->isListening(); +} + +char QLocalServer_Listen(void* ptr, struct QtNetwork_PackedString name) +{ + return static_cast(ptr)->listen(QString::fromUtf8(name.data, name.len)); +} + +int QLocalServer_MaxPendingConnections(void* ptr) +{ + return static_cast(ptr)->maxPendingConnections(); +} + +void QLocalServer_ConnectNewConnection(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QLocalServer::newConnection), static_cast(ptr), static_cast(&MyQLocalServer::Signal_NewConnection), static_cast(t)); +} + +void QLocalServer_DisconnectNewConnection(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QLocalServer::newConnection), static_cast(ptr), static_cast(&MyQLocalServer::Signal_NewConnection)); +} + +void QLocalServer_NewConnection(void* ptr) +{ + static_cast(ptr)->newConnection(); +} + +void* QLocalServer_NextPendingConnection(void* ptr) +{ + return static_cast(ptr)->nextPendingConnection(); +} + +void* QLocalServer_NextPendingConnectionDefault(void* ptr) +{ + return static_cast(ptr)->QLocalServer::nextPendingConnection(); +} + +char QLocalServer_QLocalServer_RemoveServer(struct QtNetwork_PackedString name) +{ + return QLocalServer::removeServer(QString::fromUtf8(name.data, name.len)); +} + +long long QLocalServer_ServerError(void* ptr) +{ + return static_cast(ptr)->serverError(); +} + +struct QtNetwork_PackedString QLocalServer_ServerName(void* ptr) +{ + return ({ QByteArray t054e78 = static_cast(ptr)->serverName().toUtf8(); QtNetwork_PackedString { const_cast(t054e78.prepend("WHITESPACE").constData()+10), t054e78.size()-10 }; }); +} + +void QLocalServer_SetMaxPendingConnections(void* ptr, int numConnections) +{ + static_cast(ptr)->setMaxPendingConnections(numConnections); +} + +void QLocalServer_SetSocketOptions(void* ptr, long long options) +{ + static_cast(ptr)->setSocketOptions(static_cast(options)); +} + +long long QLocalServer_SocketOptions(void* ptr) +{ + return static_cast(ptr)->socketOptions(); +} + +char QLocalServer_WaitForNewConnection(void* ptr, int msec, char* timedOut) +{ + return static_cast(ptr)->waitForNewConnection(msec, reinterpret_cast(timedOut)); +} + +void QLocalServer_DestroyQLocalServer(void* ptr) +{ + static_cast(ptr)->~QLocalServer(); +} + +void QLocalServer_DestroyQLocalServerDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QLocalServer___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QLocalServer___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QLocalServer___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLocalServer___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QLocalServer___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QLocalServer___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLocalServer___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QLocalServer___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QLocalServer___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLocalServer___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QLocalServer___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QLocalServer___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLocalServer___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QLocalServer___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QLocalServer___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QLocalServer_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QLocalServer::childEvent(static_cast(event)); +} + +void QLocalServer_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QLocalServer::connectNotify(*static_cast(sign)); +} + +void QLocalServer_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QLocalServer::customEvent(static_cast(event)); +} + +void QLocalServer_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QLocalServer::deleteLater(); +} + +void QLocalServer_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QLocalServer::disconnectNotify(*static_cast(sign)); +} + +char QLocalServer_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QLocalServer::event(static_cast(e)); +} + +char QLocalServer_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QLocalServer::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QLocalServer_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QLocalServer::metaObject()); +} + +void QLocalServer_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QLocalServer::timerEvent(static_cast(event)); +} + +class MyQLocalSocket: public QLocalSocket +{ +public: + MyQLocalSocket(QObject *parent = Q_NULLPTR) : QLocalSocket(parent) {QLocalSocket_QLocalSocket_QRegisterMetaType();}; + qint64 bytesAvailable() const { return callbackQLocalSocket_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQLocalSocket_BytesToWrite(const_cast(static_cast(this))); }; + bool canReadLine() const { return callbackQLocalSocket_CanReadLine(const_cast(static_cast(this))) != 0; }; + void close() { callbackQLocalSocket_Close(this); }; + void Signal_Connected() { callbackQLocalSocket_Connected(this); }; + void Signal_Disconnected() { callbackQLocalSocket_Disconnected(this); }; + void Signal_Error2(QLocalSocket::LocalSocketError socketError) { callbackQLocalSocket_Error2(this, socketError); }; + bool isSequential() const { return callbackQLocalSocket_IsSequential(const_cast(static_cast(this))) != 0; }; + bool open(QIODevice::OpenMode openMode) { return callbackQLocalSocket_Open(this, openMode) != 0; }; + qint64 readData(char * data, qint64 c) { QtNetwork_PackedString dataPacked = { data, c };return callbackQLocalSocket_ReadData(this, dataPacked, c); }; + void Signal_StateChanged(QLocalSocket::LocalSocketState socketState) { callbackQLocalSocket_StateChanged(this, socketState); }; + bool waitForBytesWritten(int msecs) { return callbackQLocalSocket_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQLocalSocket_WaitForReadyRead(this, msecs) != 0; }; + qint64 writeData(const char * data, qint64 c) { QtNetwork_PackedString dataPacked = { const_cast(data), c };return callbackQLocalSocket_WriteData(this, dataPacked, c); }; + ~MyQLocalSocket() { callbackQLocalSocket_DestroyQLocalSocket(this); }; + void Signal_AboutToClose() { callbackQLocalSocket_AboutToClose(this); }; + bool atEnd() const { return callbackQLocalSocket_AtEnd(const_cast(static_cast(this))) != 0; }; + void Signal_BytesWritten(qint64 bytes) { callbackQLocalSocket_BytesWritten(this, bytes); }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQLocalSocket_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQLocalSocket_ChannelReadyRead(this, channel); }; + qint64 pos() const { return callbackQLocalSocket_Pos(const_cast(static_cast(this))); }; + void Signal_ReadChannelFinished() { callbackQLocalSocket_ReadChannelFinished(this); }; + qint64 readLineData(char * data, qint64 maxSize) { QtNetwork_PackedString dataPacked = { data, maxSize };return callbackQLocalSocket_ReadLineData(this, dataPacked, maxSize); }; + void Signal_ReadyRead() { callbackQLocalSocket_ReadyRead(this); }; + bool reset() { return callbackQLocalSocket_Reset(this) != 0; }; + bool seek(qint64 pos) { return callbackQLocalSocket_Seek(this, pos) != 0; }; + qint64 size() const { return callbackQLocalSocket_Size(const_cast(static_cast(this))); }; + void childEvent(QChildEvent * event) { callbackQLocalSocket_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQLocalSocket_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQLocalSocket_CustomEvent(this, event); }; + void deleteLater() { callbackQLocalSocket_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQLocalSocket_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQLocalSocket_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQLocalSocket_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQLocalSocket_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQLocalSocket_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQLocalSocket_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQLocalSocket_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQLocalSocket*) + +int QLocalSocket_QLocalSocket_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QLocalSocket_NewQLocalSocket(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQLocalSocket(static_cast(parent)); + } else { + return new MyQLocalSocket(static_cast(parent)); + } +} + +void QLocalSocket_Abort(void* ptr) +{ + static_cast(ptr)->abort(); +} + +long long QLocalSocket_BytesAvailableDefault(void* ptr) +{ + return static_cast(ptr)->QLocalSocket::bytesAvailable(); +} + +long long QLocalSocket_BytesToWriteDefault(void* ptr) +{ + return static_cast(ptr)->QLocalSocket::bytesToWrite(); +} + +char QLocalSocket_CanReadLineDefault(void* ptr) +{ + return static_cast(ptr)->QLocalSocket::canReadLine(); +} + +void QLocalSocket_CloseDefault(void* ptr) +{ + static_cast(ptr)->QLocalSocket::close(); +} + +void QLocalSocket_ConnectToServer(void* ptr, long long openMode) +{ + static_cast(ptr)->connectToServer(static_cast(openMode)); +} + +void QLocalSocket_ConnectToServer2(void* ptr, struct QtNetwork_PackedString name, long long openMode) +{ + static_cast(ptr)->connectToServer(QString::fromUtf8(name.data, name.len), static_cast(openMode)); +} + +void QLocalSocket_ConnectConnected(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QLocalSocket::connected), static_cast(ptr), static_cast(&MyQLocalSocket::Signal_Connected), static_cast(t)); +} + +void QLocalSocket_DisconnectConnected(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QLocalSocket::connected), static_cast(ptr), static_cast(&MyQLocalSocket::Signal_Connected)); +} + +void QLocalSocket_Connected(void* ptr) +{ + static_cast(ptr)->connected(); +} + +void QLocalSocket_DisconnectFromServer(void* ptr) +{ + static_cast(ptr)->disconnectFromServer(); +} + +void QLocalSocket_ConnectDisconnected(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QLocalSocket::disconnected), static_cast(ptr), static_cast(&MyQLocalSocket::Signal_Disconnected), static_cast(t)); +} + +void QLocalSocket_DisconnectDisconnected(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QLocalSocket::disconnected), static_cast(ptr), static_cast(&MyQLocalSocket::Signal_Disconnected)); +} + +void QLocalSocket_Disconnected(void* ptr) +{ + static_cast(ptr)->disconnected(); +} + +long long QLocalSocket_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +void QLocalSocket_ConnectError2(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QLocalSocket::error), static_cast(ptr), static_cast(&MyQLocalSocket::Signal_Error2), static_cast(t)); +} + +void QLocalSocket_DisconnectError2(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QLocalSocket::error), static_cast(ptr), static_cast(&MyQLocalSocket::Signal_Error2)); +} + +void QLocalSocket_Error2(void* ptr, long long socketError) +{ + static_cast(ptr)->error(static_cast(socketError)); +} + +char QLocalSocket_Flush(void* ptr) +{ + return static_cast(ptr)->flush(); +} + +struct QtNetwork_PackedString QLocalSocket_FullServerName(void* ptr) +{ + return ({ QByteArray ta11089 = static_cast(ptr)->fullServerName().toUtf8(); QtNetwork_PackedString { const_cast(ta11089.prepend("WHITESPACE").constData()+10), ta11089.size()-10 }; }); +} + +char QLocalSocket_IsSequentialDefault(void* ptr) +{ + return static_cast(ptr)->QLocalSocket::isSequential(); +} + +char QLocalSocket_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QLocalSocket_OpenDefault(void* ptr, long long openMode) +{ + return static_cast(ptr)->QLocalSocket::open(static_cast(openMode)); +} + +long long QLocalSocket_ReadBufferSize(void* ptr) +{ + return static_cast(ptr)->readBufferSize(); +} + +long long QLocalSocket_ReadData(void* ptr, char* data, long long c) +{ + return static_cast(ptr)->readData(data, c); +} + +long long QLocalSocket_ReadDataDefault(void* ptr, char* data, long long c) +{ + return static_cast(ptr)->QLocalSocket::readData(data, c); +} + +struct QtNetwork_PackedString QLocalSocket_ServerName(void* ptr) +{ + return ({ QByteArray t348d56 = static_cast(ptr)->serverName().toUtf8(); QtNetwork_PackedString { const_cast(t348d56.prepend("WHITESPACE").constData()+10), t348d56.size()-10 }; }); +} + +void QLocalSocket_SetReadBufferSize(void* ptr, long long size) +{ + static_cast(ptr)->setReadBufferSize(size); +} + +void QLocalSocket_SetServerName(void* ptr, struct QtNetwork_PackedString name) +{ + static_cast(ptr)->setServerName(QString::fromUtf8(name.data, name.len)); +} + +long long QLocalSocket_State(void* ptr) +{ + return static_cast(ptr)->state(); +} + +void QLocalSocket_ConnectStateChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QLocalSocket::stateChanged), static_cast(ptr), static_cast(&MyQLocalSocket::Signal_StateChanged), static_cast(t)); +} + +void QLocalSocket_DisconnectStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QLocalSocket::stateChanged), static_cast(ptr), static_cast(&MyQLocalSocket::Signal_StateChanged)); +} + +void QLocalSocket_StateChanged(void* ptr, long long socketState) +{ + static_cast(ptr)->stateChanged(static_cast(socketState)); +} + +char QLocalSocket_WaitForBytesWrittenDefault(void* ptr, int msecs) +{ + return static_cast(ptr)->QLocalSocket::waitForBytesWritten(msecs); +} + +char QLocalSocket_WaitForConnected(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForConnected(msecs); +} + +char QLocalSocket_WaitForDisconnected(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForDisconnected(msecs); +} + +char QLocalSocket_WaitForReadyReadDefault(void* ptr, int msecs) +{ + return static_cast(ptr)->QLocalSocket::waitForReadyRead(msecs); +} + +long long QLocalSocket_WriteData(void* ptr, char* data, long long c) +{ + return static_cast(ptr)->writeData(const_cast(data), c); +} + +long long QLocalSocket_WriteDataDefault(void* ptr, char* data, long long c) +{ + return static_cast(ptr)->QLocalSocket::writeData(const_cast(data), c); +} + +void QLocalSocket_DestroyQLocalSocket(void* ptr) +{ + static_cast(ptr)->~QLocalSocket(); +} + +void QLocalSocket_DestroyQLocalSocketDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QLocalSocket___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QLocalSocket___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QLocalSocket___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLocalSocket___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QLocalSocket___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QLocalSocket___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLocalSocket___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QLocalSocket___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QLocalSocket___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLocalSocket___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QLocalSocket___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QLocalSocket___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QLocalSocket___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QLocalSocket___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QLocalSocket___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +char QLocalSocket_AtEndDefault(void* ptr) +{ + return static_cast(ptr)->QLocalSocket::atEnd(); +} + +long long QLocalSocket_PosDefault(void* ptr) +{ + return static_cast(ptr)->QLocalSocket::pos(); +} + +long long QLocalSocket_ReadLineDataDefault(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->QLocalSocket::readLineData(data, maxSize); +} + +char QLocalSocket_ResetDefault(void* ptr) +{ + return static_cast(ptr)->QLocalSocket::reset(); +} + +char QLocalSocket_SeekDefault(void* ptr, long long pos) +{ + return static_cast(ptr)->QLocalSocket::seek(pos); +} + +long long QLocalSocket_SizeDefault(void* ptr) +{ + return static_cast(ptr)->QLocalSocket::size(); +} + +void QLocalSocket_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QLocalSocket::childEvent(static_cast(event)); +} + +void QLocalSocket_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QLocalSocket::connectNotify(*static_cast(sign)); +} + +void QLocalSocket_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QLocalSocket::customEvent(static_cast(event)); +} + +void QLocalSocket_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QLocalSocket::deleteLater(); +} + +void QLocalSocket_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QLocalSocket::disconnectNotify(*static_cast(sign)); +} + +char QLocalSocket_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QLocalSocket::event(static_cast(e)); +} + +char QLocalSocket_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QLocalSocket::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QLocalSocket_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QLocalSocket::metaObject()); +} + +void QLocalSocket_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QLocalSocket::timerEvent(static_cast(event)); +} + +class MyQNetworkAccessManager: public QNetworkAccessManager +{ +public: + MyQNetworkAccessManager(QObject *parent = Q_NULLPTR) : QNetworkAccessManager(parent) {QNetworkAccessManager_QNetworkAccessManager_QRegisterMetaType();}; + void Signal_AuthenticationRequired(QNetworkReply * reply, QAuthenticator * authenticator) { callbackQNetworkAccessManager_AuthenticationRequired(this, reply, authenticator); }; + QNetworkReply * createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest & originalReq, QIODevice * outgoingData) { return static_cast(callbackQNetworkAccessManager_CreateRequest(this, op, const_cast(&originalReq), outgoingData)); }; + void Signal_Encrypted(QNetworkReply * reply) { callbackQNetworkAccessManager_Encrypted(this, reply); }; + void Signal_Finished(QNetworkReply * reply) { callbackQNetworkAccessManager_Finished(this, reply); }; + void Signal_NetworkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessible) { callbackQNetworkAccessManager_NetworkAccessibleChanged(this, accessible); }; + void Signal_PreSharedKeyAuthenticationRequired(QNetworkReply * reply, QSslPreSharedKeyAuthenticator * authenticator) { callbackQNetworkAccessManager_PreSharedKeyAuthenticationRequired(this, reply, authenticator); }; + void Signal_ProxyAuthenticationRequired(const QNetworkProxy & proxy, QAuthenticator * authenticator) { callbackQNetworkAccessManager_ProxyAuthenticationRequired(this, const_cast(&proxy), authenticator); }; + void Signal_SslErrors(QNetworkReply * reply, const QList & errors) { callbackQNetworkAccessManager_SslErrors(this, reply, ({ QList* tmpValue570043 = new QList(errors); QtNetwork_PackedList { tmpValue570043, tmpValue570043->size() }; })); }; + QStringList supportedSchemesImplementation() const { return ({ QtNetwork_PackedString tempVal = callbackQNetworkAccessManager_SupportedSchemesImplementation(const_cast(static_cast(this))); QStringList ret = QString::fromUtf8(tempVal.data, tempVal.len).split("¡¦!", QString::SkipEmptyParts); free(tempVal.data); ret; }); }; + ~MyQNetworkAccessManager() { callbackQNetworkAccessManager_DestroyQNetworkAccessManager(this); }; + void childEvent(QChildEvent * event) { callbackQNetworkAccessManager_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQNetworkAccessManager_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQNetworkAccessManager_CustomEvent(this, event); }; + void deleteLater() { callbackQNetworkAccessManager_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQNetworkAccessManager_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQNetworkAccessManager_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQNetworkAccessManager_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQNetworkAccessManager_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQNetworkAccessManager_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQNetworkAccessManager_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQNetworkAccessManager_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQNetworkAccessManager*) + +int QNetworkAccessManager_QNetworkAccessManager_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QNetworkAccessManager_NewQNetworkAccessManager(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkAccessManager(static_cast(parent)); + } else { + return new MyQNetworkAccessManager(static_cast(parent)); + } +} + +void* QNetworkAccessManager_ActiveConfiguration(void* ptr) +{ + return new QNetworkConfiguration(static_cast(ptr)->activeConfiguration()); +} + +void QNetworkAccessManager_AddStrictTransportSecurityHosts(void* ptr, void* knownHosts) +{ + static_cast(ptr)->addStrictTransportSecurityHosts(*static_cast*>(knownHosts)); +} + +void QNetworkAccessManager_ConnectAuthenticationRequired(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkAccessManager::authenticationRequired), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_AuthenticationRequired), static_cast(t)); +} + +void QNetworkAccessManager_DisconnectAuthenticationRequired(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkAccessManager::authenticationRequired), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_AuthenticationRequired)); +} + +void QNetworkAccessManager_AuthenticationRequired(void* ptr, void* reply, void* authenticator) +{ + static_cast(ptr)->authenticationRequired(static_cast(reply), static_cast(authenticator)); +} + +void* QNetworkAccessManager_Cache(void* ptr) +{ + return static_cast(ptr)->cache(); +} + +void QNetworkAccessManager_ClearAccessCache(void* ptr) +{ + static_cast(ptr)->clearAccessCache(); +} + +void QNetworkAccessManager_ClearConnectionCache(void* ptr) +{ + static_cast(ptr)->clearConnectionCache(); +} + +void* QNetworkAccessManager_Configuration(void* ptr) +{ + return new QNetworkConfiguration(static_cast(ptr)->configuration()); +} + +void QNetworkAccessManager_ConnectToHost(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port) +{ + static_cast(ptr)->connectToHost(QString::fromUtf8(hostName.data, hostName.len), port); +} + +void QNetworkAccessManager_ConnectToHostEncrypted(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, void* sslConfiguration) +{ + static_cast(ptr)->connectToHostEncrypted(QString::fromUtf8(hostName.data, hostName.len), port, *static_cast(sslConfiguration)); +} + +void QNetworkAccessManager_ConnectToHostEncrypted2(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, void* sslConfiguration, struct QtNetwork_PackedString peerName) +{ + static_cast(ptr)->connectToHostEncrypted(QString::fromUtf8(hostName.data, hostName.len), port, *static_cast(sslConfiguration), QString::fromUtf8(peerName.data, peerName.len)); +} + +void* QNetworkAccessManager_CookieJar(void* ptr) +{ + return static_cast(ptr)->cookieJar(); +} + +void* QNetworkAccessManager_CreateRequest(void* ptr, long long op, void* originalReq, void* outgoingData) +{ + return static_cast(ptr)->createRequest(static_cast(op), *static_cast(originalReq), static_cast(outgoingData)); +} + +void* QNetworkAccessManager_CreateRequestDefault(void* ptr, long long op, void* originalReq, void* outgoingData) +{ + return static_cast(ptr)->QNetworkAccessManager::createRequest(static_cast(op), *static_cast(originalReq), static_cast(outgoingData)); +} + +void* QNetworkAccessManager_DeleteResource(void* ptr, void* request) +{ + return static_cast(ptr)->deleteResource(*static_cast(request)); +} + +void QNetworkAccessManager_EnableStrictTransportSecurityStore(void* ptr, char enabled, struct QtNetwork_PackedString storeDir) +{ + static_cast(ptr)->enableStrictTransportSecurityStore(enabled != 0, QString::fromUtf8(storeDir.data, storeDir.len)); +} + +void QNetworkAccessManager_ConnectEncrypted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkAccessManager::encrypted), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_Encrypted), static_cast(t)); +} + +void QNetworkAccessManager_DisconnectEncrypted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkAccessManager::encrypted), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_Encrypted)); +} + +void QNetworkAccessManager_Encrypted(void* ptr, void* reply) +{ + static_cast(ptr)->encrypted(static_cast(reply)); +} + +void QNetworkAccessManager_ConnectFinished(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkAccessManager::finished), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_Finished), static_cast(t)); +} + +void QNetworkAccessManager_DisconnectFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkAccessManager::finished), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_Finished)); +} + +void QNetworkAccessManager_Finished(void* ptr, void* reply) +{ + static_cast(ptr)->finished(static_cast(reply)); +} + +void* QNetworkAccessManager_Get(void* ptr, void* request) +{ + return static_cast(ptr)->get(*static_cast(request)); +} + +void* QNetworkAccessManager_Head(void* ptr, void* request) +{ + return static_cast(ptr)->head(*static_cast(request)); +} + +char QNetworkAccessManager_IsStrictTransportSecurityEnabled(void* ptr) +{ + return static_cast(ptr)->isStrictTransportSecurityEnabled(); +} + +char QNetworkAccessManager_IsStrictTransportSecurityStoreEnabled(void* ptr) +{ + return static_cast(ptr)->isStrictTransportSecurityStoreEnabled(); +} + +long long QNetworkAccessManager_NetworkAccessible(void* ptr) +{ + return static_cast(ptr)->networkAccessible(); +} + +void QNetworkAccessManager_ConnectNetworkAccessibleChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QNetworkAccessManager::networkAccessibleChanged), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_NetworkAccessibleChanged), static_cast(t)); +} + +void QNetworkAccessManager_DisconnectNetworkAccessibleChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkAccessManager::networkAccessibleChanged), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_NetworkAccessibleChanged)); +} + +void QNetworkAccessManager_NetworkAccessibleChanged(void* ptr, long long accessible) +{ + static_cast(ptr)->networkAccessibleChanged(static_cast(accessible)); +} + +void* QNetworkAccessManager_Post(void* ptr, void* request, void* data) +{ + return static_cast(ptr)->post(*static_cast(request), static_cast(data)); +} + +void* QNetworkAccessManager_Post2(void* ptr, void* request, void* data) +{ + return static_cast(ptr)->post(*static_cast(request), *static_cast(data)); +} + +void* QNetworkAccessManager_Post3(void* ptr, void* request, void* multiPart) +{ + return static_cast(ptr)->post(*static_cast(request), static_cast(multiPart)); +} + +void QNetworkAccessManager_ConnectPreSharedKeyAuthenticationRequired(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkAccessManager::preSharedKeyAuthenticationRequired), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_PreSharedKeyAuthenticationRequired), static_cast(t)); +} + +void QNetworkAccessManager_DisconnectPreSharedKeyAuthenticationRequired(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkAccessManager::preSharedKeyAuthenticationRequired), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_PreSharedKeyAuthenticationRequired)); +} + +void QNetworkAccessManager_PreSharedKeyAuthenticationRequired(void* ptr, void* reply, void* authenticator) +{ + static_cast(ptr)->preSharedKeyAuthenticationRequired(static_cast(reply), static_cast(authenticator)); +} + +void* QNetworkAccessManager_Proxy(void* ptr) +{ + return new QNetworkProxy(static_cast(ptr)->proxy()); +} + +void QNetworkAccessManager_ConnectProxyAuthenticationRequired(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkAccessManager::proxyAuthenticationRequired), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_ProxyAuthenticationRequired), static_cast(t)); +} + +void QNetworkAccessManager_DisconnectProxyAuthenticationRequired(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkAccessManager::proxyAuthenticationRequired), static_cast(ptr), static_cast(&MyQNetworkAccessManager::Signal_ProxyAuthenticationRequired)); +} + +void QNetworkAccessManager_ProxyAuthenticationRequired(void* ptr, void* proxy, void* authenticator) +{ + static_cast(ptr)->proxyAuthenticationRequired(*static_cast(proxy), static_cast(authenticator)); +} + +void* QNetworkAccessManager_ProxyFactory(void* ptr) +{ + return static_cast(ptr)->proxyFactory(); +} + +void* QNetworkAccessManager_Put(void* ptr, void* request, void* data) +{ + return static_cast(ptr)->put(*static_cast(request), static_cast(data)); +} + +void* QNetworkAccessManager_Put2(void* ptr, void* request, void* data) +{ + return static_cast(ptr)->put(*static_cast(request), *static_cast(data)); +} + +void* QNetworkAccessManager_Put3(void* ptr, void* request, void* multiPart) +{ + return static_cast(ptr)->put(*static_cast(request), static_cast(multiPart)); +} + +long long QNetworkAccessManager_RedirectPolicy(void* ptr) +{ + return static_cast(ptr)->redirectPolicy(); +} + +void* QNetworkAccessManager_SendCustomRequest(void* ptr, void* request, void* verb, void* data) +{ + return static_cast(ptr)->sendCustomRequest(*static_cast(request), *static_cast(verb), static_cast(data)); +} + +void* QNetworkAccessManager_SendCustomRequest2(void* ptr, void* request, void* verb, void* data) +{ + return static_cast(ptr)->sendCustomRequest(*static_cast(request), *static_cast(verb), *static_cast(data)); +} + +void* QNetworkAccessManager_SendCustomRequest3(void* ptr, void* request, void* verb, void* multiPart) +{ + return static_cast(ptr)->sendCustomRequest(*static_cast(request), *static_cast(verb), static_cast(multiPart)); +} + +void QNetworkAccessManager_SetCache(void* ptr, void* cache) +{ + static_cast(ptr)->setCache(static_cast(cache)); +} + +void QNetworkAccessManager_SetConfiguration(void* ptr, void* config) +{ + static_cast(ptr)->setConfiguration(*static_cast(config)); +} + +void QNetworkAccessManager_SetCookieJar(void* ptr, void* cookieJar) +{ + static_cast(ptr)->setCookieJar(static_cast(cookieJar)); +} + +void QNetworkAccessManager_SetNetworkAccessible(void* ptr, long long accessible) +{ + static_cast(ptr)->setNetworkAccessible(static_cast(accessible)); +} + +void QNetworkAccessManager_SetProxy(void* ptr, void* proxy) +{ + static_cast(ptr)->setProxy(*static_cast(proxy)); +} + +void QNetworkAccessManager_SetProxyFactory(void* ptr, void* factory) +{ + static_cast(ptr)->setProxyFactory(static_cast(factory)); +} + +void QNetworkAccessManager_SetRedirectPolicy(void* ptr, long long policy) +{ + static_cast(ptr)->setRedirectPolicy(static_cast(policy)); +} + +void QNetworkAccessManager_SetStrictTransportSecurityEnabled(void* ptr, char enabled) +{ + static_cast(ptr)->setStrictTransportSecurityEnabled(enabled != 0); +} + +void QNetworkAccessManager_ConnectSslErrors(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast &)>(&QNetworkAccessManager::sslErrors), static_cast(ptr), static_cast &)>(&MyQNetworkAccessManager::Signal_SslErrors), static_cast(t)); +} + +void QNetworkAccessManager_DisconnectSslErrors(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast &)>(&QNetworkAccessManager::sslErrors), static_cast(ptr), static_cast &)>(&MyQNetworkAccessManager::Signal_SslErrors)); +} + +void QNetworkAccessManager_SslErrors(void* ptr, void* reply, void* errors) +{ + static_cast(ptr)->sslErrors(static_cast(reply), *static_cast*>(errors)); +} + +struct QtNetwork_PackedList QNetworkAccessManager_StrictTransportSecurityHosts(void* ptr) +{ + return ({ QVector* tmpValue84dcc8 = new QVector(static_cast(ptr)->strictTransportSecurityHosts()); QtNetwork_PackedList { tmpValue84dcc8, tmpValue84dcc8->size() }; }); +} + +struct QtNetwork_PackedString QNetworkAccessManager_SupportedSchemes(void* ptr) +{ + return ({ QByteArray tda9ca8 = static_cast(ptr)->supportedSchemes().join("¡¦!").toUtf8(); QtNetwork_PackedString { const_cast(tda9ca8.prepend("WHITESPACE").constData()+10), tda9ca8.size()-10 }; }); +} + +struct QtNetwork_PackedString QNetworkAccessManager_SupportedSchemesImplementation(void* ptr) +{ + QStringList returnArg; + QMetaObject::invokeMethod(static_cast(ptr), "supportedSchemesImplementation", Q_RETURN_ARG(QStringList, returnArg)); + return ({ QByteArray t8e5b69 = returnArg.join("¡¦!").toUtf8(); QtNetwork_PackedString { const_cast(t8e5b69.prepend("WHITESPACE").constData()+10), t8e5b69.size()-10 }; }); +} + +struct QtNetwork_PackedString QNetworkAccessManager_SupportedSchemesImplementationDefault(void* ptr) +{ + return ({ QByteArray t5e649f = static_cast(ptr)->QNetworkAccessManager::supportedSchemesImplementation().join("¡¦!").toUtf8(); QtNetwork_PackedString { const_cast(t5e649f.prepend("WHITESPACE").constData()+10), t5e649f.size()-10 }; }); +} + +void QNetworkAccessManager_DestroyQNetworkAccessManager(void* ptr) +{ + static_cast(ptr)->~QNetworkAccessManager(); +} + +void QNetworkAccessManager_DestroyQNetworkAccessManagerDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QNetworkAccessManager___addStrictTransportSecurityHosts_knownHosts_atList(void* ptr, int i) +{ + return new QHstsPolicy(({QHstsPolicy tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QNetworkAccessManager___addStrictTransportSecurityHosts_knownHosts_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkAccessManager___addStrictTransportSecurityHosts_knownHosts_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QNetworkAccessManager___sslErrors_errors_atList(void* ptr, int i) +{ + return new QSslError(({QSslError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkAccessManager___sslErrors_errors_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkAccessManager___sslErrors_errors_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkAccessManager___strictTransportSecurityHosts_atList(void* ptr, int i) +{ + return new QHstsPolicy(({QHstsPolicy tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QNetworkAccessManager___strictTransportSecurityHosts_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkAccessManager___strictTransportSecurityHosts_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QNetworkAccessManager___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkAccessManager___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkAccessManager___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkAccessManager___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkAccessManager___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkAccessManager___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkAccessManager___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkAccessManager___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkAccessManager___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkAccessManager___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkAccessManager___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkAccessManager___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkAccessManager___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkAccessManager___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkAccessManager___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QNetworkAccessManager_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkAccessManager::childEvent(static_cast(event)); +} + +void QNetworkAccessManager_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkAccessManager::connectNotify(*static_cast(sign)); +} + +void QNetworkAccessManager_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkAccessManager::customEvent(static_cast(event)); +} + +void QNetworkAccessManager_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QNetworkAccessManager::deleteLater(); +} + +void QNetworkAccessManager_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkAccessManager::disconnectNotify(*static_cast(sign)); +} + +char QNetworkAccessManager_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QNetworkAccessManager::event(static_cast(e)); +} + +char QNetworkAccessManager_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QNetworkAccessManager::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QNetworkAccessManager_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QNetworkAccessManager::metaObject()); +} + +void QNetworkAccessManager_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkAccessManager::timerEvent(static_cast(event)); +} + +void* QNetworkAddressEntry_NewQNetworkAddressEntry() +{ + return new QNetworkAddressEntry(); +} + +void* QNetworkAddressEntry_NewQNetworkAddressEntry2(void* other) +{ + return new QNetworkAddressEntry(*static_cast(other)); +} + +void* QNetworkAddressEntry_Broadcast(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->broadcast()); +} + +void QNetworkAddressEntry_ClearAddressLifetime(void* ptr) +{ + static_cast(ptr)->clearAddressLifetime(); +} + +long long QNetworkAddressEntry_DnsEligibility(void* ptr) +{ + return static_cast(ptr)->dnsEligibility(); +} + +void* QNetworkAddressEntry_Ip(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->ip()); +} + +char QNetworkAddressEntry_IsLifetimeKnown(void* ptr) +{ + return static_cast(ptr)->isLifetimeKnown(); +} + +char QNetworkAddressEntry_IsPermanent(void* ptr) +{ + return static_cast(ptr)->isPermanent(); +} + +char QNetworkAddressEntry_IsTemporary(void* ptr) +{ + return static_cast(ptr)->isTemporary(); +} + +void* QNetworkAddressEntry_Netmask(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->netmask()); +} + +int QNetworkAddressEntry_PrefixLength(void* ptr) +{ + return static_cast(ptr)->prefixLength(); +} + +void QNetworkAddressEntry_SetAddressLifetime(void* ptr, void* preferred, void* validity) +{ + static_cast(ptr)->setAddressLifetime(*static_cast(preferred), *static_cast(validity)); +} + +void QNetworkAddressEntry_SetBroadcast(void* ptr, void* newBroadcast) +{ + static_cast(ptr)->setBroadcast(*static_cast(newBroadcast)); +} + +void QNetworkAddressEntry_SetDnsEligibility(void* ptr, long long status) +{ + static_cast(ptr)->setDnsEligibility(static_cast(status)); +} + +void QNetworkAddressEntry_SetIp(void* ptr, void* newIp) +{ + static_cast(ptr)->setIp(*static_cast(newIp)); +} + +void QNetworkAddressEntry_SetNetmask(void* ptr, void* newNetmask) +{ + static_cast(ptr)->setNetmask(*static_cast(newNetmask)); +} + +void QNetworkAddressEntry_SetPrefixLength(void* ptr, int length) +{ + static_cast(ptr)->setPrefixLength(length); +} + +void QNetworkAddressEntry_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QNetworkAddressEntry_DestroyQNetworkAddressEntry(void* ptr) +{ + static_cast(ptr)->~QNetworkAddressEntry(); +} + +void* QNetworkCacheMetaData_NewQNetworkCacheMetaData() +{ + return new QNetworkCacheMetaData(); +} + +void* QNetworkCacheMetaData_NewQNetworkCacheMetaData2(void* other) +{ + return new QNetworkCacheMetaData(*static_cast(other)); +} + +void* QNetworkCacheMetaData_ExpirationDate(void* ptr) +{ + return new QDateTime(static_cast(ptr)->expirationDate()); +} + +char QNetworkCacheMetaData_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QNetworkCacheMetaData_LastModified(void* ptr) +{ + return new QDateTime(static_cast(ptr)->lastModified()); +} + +struct QtNetwork_PackedList QNetworkCacheMetaData_RawHeaders(void* ptr) +{ + return ({ QList* tmpValued5ffb1 = new QList(static_cast(ptr)->rawHeaders()); QtNetwork_PackedList { tmpValued5ffb1, tmpValued5ffb1->size() }; }); +} + +char QNetworkCacheMetaData_SaveToDisk(void* ptr) +{ + return static_cast(ptr)->saveToDisk(); +} + +void QNetworkCacheMetaData_SetExpirationDate(void* ptr, void* dateTime) +{ + static_cast(ptr)->setExpirationDate(*static_cast(dateTime)); +} + +void QNetworkCacheMetaData_SetLastModified(void* ptr, void* dateTime) +{ + static_cast(ptr)->setLastModified(*static_cast(dateTime)); +} + +void QNetworkCacheMetaData_SetRawHeaders(void* ptr, void* list) +{ + static_cast(ptr)->setRawHeaders(({ QList* tmpP = static_cast*>(list); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); +} + +void QNetworkCacheMetaData_SetSaveToDisk(void* ptr, char allow) +{ + static_cast(ptr)->setSaveToDisk(allow != 0); +} + +void QNetworkCacheMetaData_SetUrl(void* ptr, void* url) +{ + static_cast(ptr)->setUrl(*static_cast(url)); +} + +void QNetworkCacheMetaData_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QNetworkCacheMetaData_Url(void* ptr) +{ + return new QUrl(static_cast(ptr)->url()); +} + +void QNetworkCacheMetaData_DestroyQNetworkCacheMetaData(void* ptr) +{ + static_cast(ptr)->~QNetworkCacheMetaData(); +} + +void* QNetworkCacheMetaData___rawHeaders_atList(void* ptr, int i) +{ + return ({ QNetworkCacheMetaData::RawHeader tmpValue = ({QNetworkCacheMetaData::RawHeader tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); new QNetworkCacheMetaData::RawHeader(tmpValue.first, tmpValue.second); }); +} + +void QNetworkCacheMetaData___rawHeaders_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkCacheMetaData___rawHeaders_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkCacheMetaData___setRawHeaders_list_atList(void* ptr, int i) +{ + return ({ QNetworkCacheMetaData::RawHeader tmpValue = ({QNetworkCacheMetaData::RawHeader tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); new QNetworkCacheMetaData::RawHeader(tmpValue.first, tmpValue.second); }); +} + +void QNetworkCacheMetaData___setRawHeaders_list_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkCacheMetaData___setRawHeaders_list_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkConfiguration_NewQNetworkConfiguration() +{ + return new QNetworkConfiguration(); +} + +void* QNetworkConfiguration_NewQNetworkConfiguration2(void* other) +{ + return new QNetworkConfiguration(*static_cast(other)); +} + +long long QNetworkConfiguration_BearerType(void* ptr) +{ + return static_cast(ptr)->bearerType(); +} + +long long QNetworkConfiguration_BearerTypeFamily(void* ptr) +{ + return static_cast(ptr)->bearerTypeFamily(); +} + +struct QtNetwork_PackedString QNetworkConfiguration_BearerTypeName(void* ptr) +{ + return ({ QByteArray t89aad8 = static_cast(ptr)->bearerTypeName().toUtf8(); QtNetwork_PackedString { const_cast(t89aad8.prepend("WHITESPACE").constData()+10), t89aad8.size()-10 }; }); +} + +struct QtNetwork_PackedList QNetworkConfiguration_Children(void* ptr) +{ + return ({ QList* tmpValue6b59f0 = new QList(static_cast(ptr)->children()); QtNetwork_PackedList { tmpValue6b59f0, tmpValue6b59f0->size() }; }); +} + +int QNetworkConfiguration_ConnectTimeout(void* ptr) +{ + return static_cast(ptr)->connectTimeout(); +} + +struct QtNetwork_PackedString QNetworkConfiguration_Identifier(void* ptr) +{ + return ({ QByteArray tae5c30 = static_cast(ptr)->identifier().toUtf8(); QtNetwork_PackedString { const_cast(tae5c30.prepend("WHITESPACE").constData()+10), tae5c30.size()-10 }; }); +} + +char QNetworkConfiguration_IsRoamingAvailable(void* ptr) +{ + return static_cast(ptr)->isRoamingAvailable(); +} + +char QNetworkConfiguration_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +struct QtNetwork_PackedString QNetworkConfiguration_Name(void* ptr) +{ + return ({ QByteArray t38ed5d = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(t38ed5d.prepend("WHITESPACE").constData()+10), t38ed5d.size()-10 }; }); +} + +long long QNetworkConfiguration_Purpose(void* ptr) +{ + return static_cast(ptr)->purpose(); +} + +char QNetworkConfiguration_SetConnectTimeout(void* ptr, int timeout) +{ + return static_cast(ptr)->setConnectTimeout(timeout); +} + +long long QNetworkConfiguration_State(void* ptr) +{ + return static_cast(ptr)->state(); +} + +void QNetworkConfiguration_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +long long QNetworkConfiguration_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QNetworkConfiguration_DestroyQNetworkConfiguration(void* ptr) +{ + static_cast(ptr)->~QNetworkConfiguration(); +} + +void* QNetworkConfiguration___children_atList(void* ptr, int i) +{ + return new QNetworkConfiguration(({QNetworkConfiguration tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkConfiguration___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkConfiguration___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQNetworkConfigurationManager: public QNetworkConfigurationManager +{ +public: + MyQNetworkConfigurationManager(QObject *parent = Q_NULLPTR) : QNetworkConfigurationManager(parent) {QNetworkConfigurationManager_QNetworkConfigurationManager_QRegisterMetaType();}; + void Signal_ConfigurationAdded(const QNetworkConfiguration & config) { callbackQNetworkConfigurationManager_ConfigurationAdded(this, const_cast(&config)); }; + void Signal_ConfigurationChanged(const QNetworkConfiguration & config) { callbackQNetworkConfigurationManager_ConfigurationChanged(this, const_cast(&config)); }; + void Signal_ConfigurationRemoved(const QNetworkConfiguration & config) { callbackQNetworkConfigurationManager_ConfigurationRemoved(this, const_cast(&config)); }; + void Signal_OnlineStateChanged(bool isOnline) { callbackQNetworkConfigurationManager_OnlineStateChanged(this, isOnline); }; + void Signal_UpdateCompleted() { callbackQNetworkConfigurationManager_UpdateCompleted(this); }; + void updateConfigurations() { callbackQNetworkConfigurationManager_UpdateConfigurations(this); }; + ~MyQNetworkConfigurationManager() { callbackQNetworkConfigurationManager_DestroyQNetworkConfigurationManager(this); }; + void childEvent(QChildEvent * event) { callbackQNetworkConfigurationManager_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQNetworkConfigurationManager_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQNetworkConfigurationManager_CustomEvent(this, event); }; + void deleteLater() { callbackQNetworkConfigurationManager_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQNetworkConfigurationManager_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQNetworkConfigurationManager_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQNetworkConfigurationManager_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQNetworkConfigurationManager_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQNetworkConfigurationManager_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQNetworkConfigurationManager_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQNetworkConfigurationManager_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQNetworkConfigurationManager*) + +int QNetworkConfigurationManager_QNetworkConfigurationManager_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QNetworkConfigurationManager_NewQNetworkConfigurationManager(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } else { + return new MyQNetworkConfigurationManager(static_cast(parent)); + } +} + +struct QtNetwork_PackedList QNetworkConfigurationManager_AllConfigurations(void* ptr, long long filter) +{ + return ({ QList* tmpValue108f0f = new QList(static_cast(ptr)->allConfigurations(static_cast(filter))); QtNetwork_PackedList { tmpValue108f0f, tmpValue108f0f->size() }; }); +} + +long long QNetworkConfigurationManager_Capabilities(void* ptr) +{ + return static_cast(ptr)->capabilities(); +} + +void QNetworkConfigurationManager_ConnectConfigurationAdded(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::configurationAdded), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_ConfigurationAdded), static_cast(t)); +} + +void QNetworkConfigurationManager_DisconnectConfigurationAdded(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::configurationAdded), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_ConfigurationAdded)); +} + +void QNetworkConfigurationManager_ConfigurationAdded(void* ptr, void* config) +{ + static_cast(ptr)->configurationAdded(*static_cast(config)); +} + +void QNetworkConfigurationManager_ConnectConfigurationChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::configurationChanged), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_ConfigurationChanged), static_cast(t)); +} + +void QNetworkConfigurationManager_DisconnectConfigurationChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::configurationChanged), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_ConfigurationChanged)); +} + +void QNetworkConfigurationManager_ConfigurationChanged(void* ptr, void* config) +{ + static_cast(ptr)->configurationChanged(*static_cast(config)); +} + +void* QNetworkConfigurationManager_ConfigurationFromIdentifier(void* ptr, struct QtNetwork_PackedString identifier) +{ + return new QNetworkConfiguration(static_cast(ptr)->configurationFromIdentifier(QString::fromUtf8(identifier.data, identifier.len))); +} + +void QNetworkConfigurationManager_ConnectConfigurationRemoved(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::configurationRemoved), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_ConfigurationRemoved), static_cast(t)); +} + +void QNetworkConfigurationManager_DisconnectConfigurationRemoved(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::configurationRemoved), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_ConfigurationRemoved)); +} + +void QNetworkConfigurationManager_ConfigurationRemoved(void* ptr, void* config) +{ + static_cast(ptr)->configurationRemoved(*static_cast(config)); +} + +void* QNetworkConfigurationManager_DefaultConfiguration(void* ptr) +{ + return new QNetworkConfiguration(static_cast(ptr)->defaultConfiguration()); +} + +char QNetworkConfigurationManager_IsOnline(void* ptr) +{ + return static_cast(ptr)->isOnline(); +} + +void QNetworkConfigurationManager_ConnectOnlineStateChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::onlineStateChanged), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_OnlineStateChanged), static_cast(t)); +} + +void QNetworkConfigurationManager_DisconnectOnlineStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::onlineStateChanged), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_OnlineStateChanged)); +} + +void QNetworkConfigurationManager_OnlineStateChanged(void* ptr, char isOnline) +{ + static_cast(ptr)->onlineStateChanged(isOnline != 0); +} + +void QNetworkConfigurationManager_ConnectUpdateCompleted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::updateCompleted), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_UpdateCompleted), static_cast(t)); +} + +void QNetworkConfigurationManager_DisconnectUpdateCompleted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkConfigurationManager::updateCompleted), static_cast(ptr), static_cast(&MyQNetworkConfigurationManager::Signal_UpdateCompleted)); +} + +void QNetworkConfigurationManager_UpdateCompleted(void* ptr) +{ + static_cast(ptr)->updateCompleted(); +} + +void QNetworkConfigurationManager_UpdateConfigurations(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "updateConfigurations"); +} + +void QNetworkConfigurationManager_UpdateConfigurationsDefault(void* ptr) +{ + static_cast(ptr)->QNetworkConfigurationManager::updateConfigurations(); +} + +void QNetworkConfigurationManager_DestroyQNetworkConfigurationManager(void* ptr) +{ + static_cast(ptr)->~QNetworkConfigurationManager(); +} + +void QNetworkConfigurationManager_DestroyQNetworkConfigurationManagerDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QNetworkConfigurationManager___allConfigurations_atList(void* ptr, int i) +{ + return new QNetworkConfiguration(({QNetworkConfiguration tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkConfigurationManager___allConfigurations_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkConfigurationManager___allConfigurations_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkConfigurationManager___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkConfigurationManager___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkConfigurationManager___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkConfigurationManager___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkConfigurationManager___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkConfigurationManager___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkConfigurationManager___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkConfigurationManager___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkConfigurationManager___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkConfigurationManager___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkConfigurationManager___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkConfigurationManager___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkConfigurationManager___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkConfigurationManager___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkConfigurationManager___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QNetworkConfigurationManager_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkConfigurationManager::childEvent(static_cast(event)); +} + +void QNetworkConfigurationManager_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkConfigurationManager::connectNotify(*static_cast(sign)); +} + +void QNetworkConfigurationManager_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkConfigurationManager::customEvent(static_cast(event)); +} + +void QNetworkConfigurationManager_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QNetworkConfigurationManager::deleteLater(); +} + +void QNetworkConfigurationManager_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkConfigurationManager::disconnectNotify(*static_cast(sign)); +} + +char QNetworkConfigurationManager_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QNetworkConfigurationManager::event(static_cast(e)); +} + +char QNetworkConfigurationManager_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QNetworkConfigurationManager::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QNetworkConfigurationManager_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QNetworkConfigurationManager::metaObject()); +} + +void QNetworkConfigurationManager_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkConfigurationManager::timerEvent(static_cast(event)); +} + +void* QNetworkCookie_NewQNetworkCookie(void* name, void* value) +{ + return new QNetworkCookie(*static_cast(name), *static_cast(value)); +} + +void* QNetworkCookie_NewQNetworkCookie2(void* other) +{ + return new QNetworkCookie(*static_cast(other)); +} + +struct QtNetwork_PackedString QNetworkCookie_Domain(void* ptr) +{ + return ({ QByteArray tb84845 = static_cast(ptr)->domain().toUtf8(); QtNetwork_PackedString { const_cast(tb84845.prepend("WHITESPACE").constData()+10), tb84845.size()-10 }; }); +} + +void* QNetworkCookie_ExpirationDate(void* ptr) +{ + return new QDateTime(static_cast(ptr)->expirationDate()); +} + +char QNetworkCookie_HasSameIdentifier(void* ptr, void* other) +{ + return static_cast(ptr)->hasSameIdentifier(*static_cast(other)); +} + +char QNetworkCookie_IsHttpOnly(void* ptr) +{ + return static_cast(ptr)->isHttpOnly(); +} + +char QNetworkCookie_IsSecure(void* ptr) +{ + return static_cast(ptr)->isSecure(); +} + +char QNetworkCookie_IsSessionCookie(void* ptr) +{ + return static_cast(ptr)->isSessionCookie(); +} + +void* QNetworkCookie_Name(void* ptr) +{ + return new QByteArray(static_cast(ptr)->name()); +} + +void QNetworkCookie_Normalize(void* ptr, void* url) +{ + static_cast(ptr)->normalize(*static_cast(url)); +} + +struct QtNetwork_PackedList QNetworkCookie_QNetworkCookie_ParseCookies(void* cookieString) +{ + return ({ QList* tmpValue6ccb13 = new QList(QNetworkCookie::parseCookies(*static_cast(cookieString))); QtNetwork_PackedList { tmpValue6ccb13, tmpValue6ccb13->size() }; }); +} + +struct QtNetwork_PackedString QNetworkCookie_Path(void* ptr) +{ + return ({ QByteArray tc58c07 = static_cast(ptr)->path().toUtf8(); QtNetwork_PackedString { const_cast(tc58c07.prepend("WHITESPACE").constData()+10), tc58c07.size()-10 }; }); +} + +void QNetworkCookie_SetDomain(void* ptr, struct QtNetwork_PackedString domain) +{ + static_cast(ptr)->setDomain(QString::fromUtf8(domain.data, domain.len)); +} + +void QNetworkCookie_SetExpirationDate(void* ptr, void* date) +{ + static_cast(ptr)->setExpirationDate(*static_cast(date)); +} + +void QNetworkCookie_SetHttpOnly(void* ptr, char enable) +{ + static_cast(ptr)->setHttpOnly(enable != 0); +} + +void QNetworkCookie_SetName(void* ptr, void* cookieName) +{ + static_cast(ptr)->setName(*static_cast(cookieName)); +} + +void QNetworkCookie_SetPath(void* ptr, struct QtNetwork_PackedString path) +{ + static_cast(ptr)->setPath(QString::fromUtf8(path.data, path.len)); +} + +void QNetworkCookie_SetSecure(void* ptr, char enable) +{ + static_cast(ptr)->setSecure(enable != 0); +} + +void QNetworkCookie_SetValue(void* ptr, void* value) +{ + static_cast(ptr)->setValue(*static_cast(value)); +} + +void QNetworkCookie_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QNetworkCookie_ToRawForm(void* ptr, long long form) +{ + return new QByteArray(static_cast(ptr)->toRawForm(static_cast(form))); +} + +void* QNetworkCookie_Value(void* ptr) +{ + return new QByteArray(static_cast(ptr)->value()); +} + +void QNetworkCookie_DestroyQNetworkCookie(void* ptr) +{ + static_cast(ptr)->~QNetworkCookie(); +} + +void* QNetworkCookie___parseCookies_atList(void* ptr, int i) +{ + return new QNetworkCookie(({QNetworkCookie tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkCookie___parseCookies_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkCookie___parseCookies_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQNetworkCookieJar: public QNetworkCookieJar +{ +public: + MyQNetworkCookieJar(QObject *parent = Q_NULLPTR) : QNetworkCookieJar(parent) {QNetworkCookieJar_QNetworkCookieJar_QRegisterMetaType();}; + QList cookiesForUrl(const QUrl & url) const { return ({ QList* tmpP = static_cast*>(callbackQNetworkCookieJar_CookiesForUrl(const_cast(static_cast(this)), const_cast(&url))); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + bool deleteCookie(const QNetworkCookie & cookie) { return callbackQNetworkCookieJar_DeleteCookie(this, const_cast(&cookie)) != 0; }; + bool insertCookie(const QNetworkCookie & cookie) { return callbackQNetworkCookieJar_InsertCookie(this, const_cast(&cookie)) != 0; }; + bool setCookiesFromUrl(const QList & cookieList, const QUrl & url) { return callbackQNetworkCookieJar_SetCookiesFromUrl(this, ({ QList* tmpValuefad2b0 = new QList(cookieList); QtNetwork_PackedList { tmpValuefad2b0, tmpValuefad2b0->size() }; }), const_cast(&url)) != 0; }; + bool updateCookie(const QNetworkCookie & cookie) { return callbackQNetworkCookieJar_UpdateCookie(this, const_cast(&cookie)) != 0; }; + bool validateCookie(const QNetworkCookie & cookie, const QUrl & url) const { return callbackQNetworkCookieJar_ValidateCookie(const_cast(static_cast(this)), const_cast(&cookie), const_cast(&url)) != 0; }; + ~MyQNetworkCookieJar() { callbackQNetworkCookieJar_DestroyQNetworkCookieJar(this); }; + void childEvent(QChildEvent * event) { callbackQNetworkCookieJar_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQNetworkCookieJar_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQNetworkCookieJar_CustomEvent(this, event); }; + void deleteLater() { callbackQNetworkCookieJar_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQNetworkCookieJar_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQNetworkCookieJar_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQNetworkCookieJar_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQNetworkCookieJar_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQNetworkCookieJar_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQNetworkCookieJar_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQNetworkCookieJar_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQNetworkCookieJar*) + +int QNetworkCookieJar_QNetworkCookieJar_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QNetworkCookieJar_NewQNetworkCookieJar(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkCookieJar(static_cast(parent)); + } else { + return new MyQNetworkCookieJar(static_cast(parent)); + } +} + +struct QtNetwork_PackedList QNetworkCookieJar_AllCookies(void* ptr) +{ + return ({ QList* tmpValued4b745 = new QList(static_cast(ptr)->allCookies()); QtNetwork_PackedList { tmpValued4b745, tmpValued4b745->size() }; }); +} + +struct QtNetwork_PackedList QNetworkCookieJar_CookiesForUrl(void* ptr, void* url) +{ + return ({ QList* tmpValue1445df = new QList(static_cast(ptr)->cookiesForUrl(*static_cast(url))); QtNetwork_PackedList { tmpValue1445df, tmpValue1445df->size() }; }); +} + +struct QtNetwork_PackedList QNetworkCookieJar_CookiesForUrlDefault(void* ptr, void* url) +{ + return ({ QList* tmpValue96549e = new QList(static_cast(ptr)->QNetworkCookieJar::cookiesForUrl(*static_cast(url))); QtNetwork_PackedList { tmpValue96549e, tmpValue96549e->size() }; }); +} + +char QNetworkCookieJar_DeleteCookie(void* ptr, void* cookie) +{ + return static_cast(ptr)->deleteCookie(*static_cast(cookie)); +} + +char QNetworkCookieJar_DeleteCookieDefault(void* ptr, void* cookie) +{ + return static_cast(ptr)->QNetworkCookieJar::deleteCookie(*static_cast(cookie)); +} + +char QNetworkCookieJar_InsertCookie(void* ptr, void* cookie) +{ + return static_cast(ptr)->insertCookie(*static_cast(cookie)); +} + +char QNetworkCookieJar_InsertCookieDefault(void* ptr, void* cookie) +{ + return static_cast(ptr)->QNetworkCookieJar::insertCookie(*static_cast(cookie)); +} + +void QNetworkCookieJar_SetAllCookies(void* ptr, void* cookieList) +{ + static_cast(ptr)->setAllCookies(*static_cast*>(cookieList)); +} + +char QNetworkCookieJar_SetCookiesFromUrl(void* ptr, void* cookieList, void* url) +{ + return static_cast(ptr)->setCookiesFromUrl(*static_cast*>(cookieList), *static_cast(url)); +} + +char QNetworkCookieJar_SetCookiesFromUrlDefault(void* ptr, void* cookieList, void* url) +{ + return static_cast(ptr)->QNetworkCookieJar::setCookiesFromUrl(*static_cast*>(cookieList), *static_cast(url)); +} + +char QNetworkCookieJar_UpdateCookie(void* ptr, void* cookie) +{ + return static_cast(ptr)->updateCookie(*static_cast(cookie)); +} + +char QNetworkCookieJar_UpdateCookieDefault(void* ptr, void* cookie) +{ + return static_cast(ptr)->QNetworkCookieJar::updateCookie(*static_cast(cookie)); +} + +char QNetworkCookieJar_ValidateCookie(void* ptr, void* cookie, void* url) +{ + return static_cast(ptr)->validateCookie(*static_cast(cookie), *static_cast(url)); +} + +char QNetworkCookieJar_ValidateCookieDefault(void* ptr, void* cookie, void* url) +{ + return static_cast(ptr)->QNetworkCookieJar::validateCookie(*static_cast(cookie), *static_cast(url)); +} + +void QNetworkCookieJar_DestroyQNetworkCookieJar(void* ptr) +{ + static_cast(ptr)->~QNetworkCookieJar(); +} + +void QNetworkCookieJar_DestroyQNetworkCookieJarDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QNetworkCookieJar___allCookies_atList(void* ptr, int i) +{ + return new QNetworkCookie(({QNetworkCookie tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkCookieJar___allCookies_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkCookieJar___allCookies_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkCookieJar___cookiesForUrl_atList(void* ptr, int i) +{ + return new QNetworkCookie(({QNetworkCookie tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkCookieJar___cookiesForUrl_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkCookieJar___cookiesForUrl_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkCookieJar___setAllCookies_cookieList_atList(void* ptr, int i) +{ + return new QNetworkCookie(({QNetworkCookie tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkCookieJar___setAllCookies_cookieList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkCookieJar___setAllCookies_cookieList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkCookieJar___setCookiesFromUrl_cookieList_atList(void* ptr, int i) +{ + return new QNetworkCookie(({QNetworkCookie tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkCookieJar___setCookiesFromUrl_cookieList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkCookieJar___setCookiesFromUrl_cookieList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkCookieJar___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkCookieJar___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkCookieJar___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkCookieJar___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkCookieJar___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkCookieJar___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkCookieJar___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkCookieJar___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkCookieJar___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkCookieJar___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkCookieJar___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkCookieJar___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkCookieJar___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkCookieJar___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkCookieJar___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QNetworkCookieJar_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkCookieJar::childEvent(static_cast(event)); +} + +void QNetworkCookieJar_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkCookieJar::connectNotify(*static_cast(sign)); +} + +void QNetworkCookieJar_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkCookieJar::customEvent(static_cast(event)); +} + +void QNetworkCookieJar_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QNetworkCookieJar::deleteLater(); +} + +void QNetworkCookieJar_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkCookieJar::disconnectNotify(*static_cast(sign)); +} + +char QNetworkCookieJar_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QNetworkCookieJar::event(static_cast(e)); +} + +char QNetworkCookieJar_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QNetworkCookieJar::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QNetworkCookieJar_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QNetworkCookieJar::metaObject()); +} + +void QNetworkCookieJar_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkCookieJar::timerEvent(static_cast(event)); +} + +void* QNetworkDatagram_NewQNetworkDatagram() +{ + return new QNetworkDatagram(); +} + +void* QNetworkDatagram_NewQNetworkDatagram2(void* data, void* destinationAddress, unsigned short port) +{ + return new QNetworkDatagram(*static_cast(data), *static_cast(destinationAddress), port); +} + +void* QNetworkDatagram_NewQNetworkDatagram3(void* other) +{ + return new QNetworkDatagram(*static_cast(other)); +} + +void QNetworkDatagram_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +void* QNetworkDatagram_Data(void* ptr) +{ + return new QByteArray(static_cast(ptr)->data()); +} + +void* QNetworkDatagram_DestinationAddress(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->destinationAddress()); +} + +int QNetworkDatagram_DestinationPort(void* ptr) +{ + return static_cast(ptr)->destinationPort(); +} + +int QNetworkDatagram_HopLimit(void* ptr) +{ + return static_cast(ptr)->hopLimit(); +} + +unsigned int QNetworkDatagram_InterfaceIndex(void* ptr) +{ + return static_cast(ptr)->interfaceIndex(); +} + +char QNetworkDatagram_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QNetworkDatagram_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QNetworkDatagram_MakeReply(void* ptr, void* payload) +{ + return new QNetworkDatagram(static_cast(ptr)->makeReply(*static_cast(payload))); +} + +void* QNetworkDatagram_MakeReply2(void* ptr, void* payload) +{ + return new QNetworkDatagram(static_cast(ptr)->makeReply(*static_cast(payload))); +} + +void* QNetworkDatagram_SenderAddress(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->senderAddress()); +} + +int QNetworkDatagram_SenderPort(void* ptr) +{ + return static_cast(ptr)->senderPort(); +} + +void QNetworkDatagram_SetData(void* ptr, void* data) +{ + static_cast(ptr)->setData(*static_cast(data)); +} + +void QNetworkDatagram_SetDestination(void* ptr, void* address, unsigned short port) +{ + static_cast(ptr)->setDestination(*static_cast(address), port); +} + +void QNetworkDatagram_SetHopLimit(void* ptr, int count) +{ + static_cast(ptr)->setHopLimit(count); +} + +void QNetworkDatagram_SetInterfaceIndex(void* ptr, unsigned int index) +{ + static_cast(ptr)->setInterfaceIndex(index); +} + +void QNetworkDatagram_SetSender(void* ptr, void* address, unsigned short port) +{ + static_cast(ptr)->setSender(*static_cast(address), port); +} + +void QNetworkDatagram_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +class MyQNetworkDiskCache: public QNetworkDiskCache +{ +public: + MyQNetworkDiskCache(QObject *parent = Q_NULLPTR) : QNetworkDiskCache(parent) {QNetworkDiskCache_QNetworkDiskCache_QRegisterMetaType();}; + qint64 cacheSize() const { return callbackQNetworkDiskCache_CacheSize(const_cast(static_cast(this))); }; + void clear() { callbackQNetworkDiskCache_Clear(this); }; + QIODevice * data(const QUrl & url) { return static_cast(callbackQNetworkDiskCache_Data(this, const_cast(&url))); }; + qint64 expire() { return callbackQNetworkDiskCache_Expire(this); }; + void insert(QIODevice * device) { callbackQNetworkDiskCache_Insert(this, device); }; + QNetworkCacheMetaData metaData(const QUrl & url) { return *static_cast(callbackQNetworkDiskCache_MetaData(this, const_cast(&url))); }; + QIODevice * prepare(const QNetworkCacheMetaData & metaData) { return static_cast(callbackQNetworkDiskCache_Prepare(this, const_cast(&metaData))); }; + bool remove(const QUrl & url) { return callbackQNetworkDiskCache_Remove(this, const_cast(&url)) != 0; }; + void updateMetaData(const QNetworkCacheMetaData & metaData) { callbackQNetworkDiskCache_UpdateMetaData(this, const_cast(&metaData)); }; + ~MyQNetworkDiskCache() { callbackQNetworkDiskCache_DestroyQNetworkDiskCache(this); }; + void childEvent(QChildEvent * event) { callbackQAbstractNetworkCache_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQAbstractNetworkCache_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQAbstractNetworkCache_CustomEvent(this, event); }; + void deleteLater() { callbackQAbstractNetworkCache_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQAbstractNetworkCache_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQAbstractNetworkCache_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQAbstractNetworkCache_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQAbstractNetworkCache_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQAbstractNetworkCache_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQAbstractNetworkCache_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQAbstractNetworkCache_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQNetworkDiskCache*) + +int QNetworkDiskCache_QNetworkDiskCache_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QNetworkDiskCache_NewQNetworkDiskCache(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkDiskCache(static_cast(parent)); + } else { + return new MyQNetworkDiskCache(static_cast(parent)); + } +} + +struct QtNetwork_PackedString QNetworkDiskCache_CacheDirectory(void* ptr) +{ + return ({ QByteArray t85cfc0 = static_cast(ptr)->cacheDirectory().toUtf8(); QtNetwork_PackedString { const_cast(t85cfc0.prepend("WHITESPACE").constData()+10), t85cfc0.size()-10 }; }); +} + +long long QNetworkDiskCache_CacheSize(void* ptr) +{ + return static_cast(ptr)->cacheSize(); +} + +long long QNetworkDiskCache_CacheSizeDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkDiskCache::cacheSize(); +} + +void QNetworkDiskCache_Clear(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "clear"); +} + +void QNetworkDiskCache_ClearDefault(void* ptr) +{ + static_cast(ptr)->QNetworkDiskCache::clear(); +} + +void* QNetworkDiskCache_Data(void* ptr, void* url) +{ + return static_cast(ptr)->data(*static_cast(url)); +} + +void* QNetworkDiskCache_DataDefault(void* ptr, void* url) +{ + return static_cast(ptr)->QNetworkDiskCache::data(*static_cast(url)); +} + +long long QNetworkDiskCache_Expire(void* ptr) +{ + return static_cast(ptr)->expire(); +} + +long long QNetworkDiskCache_ExpireDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkDiskCache::expire(); +} + +void* QNetworkDiskCache_FileMetaData(void* ptr, struct QtNetwork_PackedString fileName) +{ + return new QNetworkCacheMetaData(static_cast(ptr)->fileMetaData(QString::fromUtf8(fileName.data, fileName.len))); +} + +void QNetworkDiskCache_Insert(void* ptr, void* device) +{ + static_cast(ptr)->insert(static_cast(device)); +} + +void QNetworkDiskCache_InsertDefault(void* ptr, void* device) +{ + static_cast(ptr)->QNetworkDiskCache::insert(static_cast(device)); +} + +long long QNetworkDiskCache_MaximumCacheSize(void* ptr) +{ + return static_cast(ptr)->maximumCacheSize(); +} + +void* QNetworkDiskCache_MetaData(void* ptr, void* url) +{ + return new QNetworkCacheMetaData(static_cast(ptr)->metaData(*static_cast(url))); +} + +void* QNetworkDiskCache_MetaDataDefault(void* ptr, void* url) +{ + return new QNetworkCacheMetaData(static_cast(ptr)->QNetworkDiskCache::metaData(*static_cast(url))); +} + +void* QNetworkDiskCache_Prepare(void* ptr, void* metaData) +{ + return static_cast(ptr)->prepare(*static_cast(metaData)); +} + +void* QNetworkDiskCache_PrepareDefault(void* ptr, void* metaData) +{ + return static_cast(ptr)->QNetworkDiskCache::prepare(*static_cast(metaData)); +} + +char QNetworkDiskCache_Remove(void* ptr, void* url) +{ + return static_cast(ptr)->remove(*static_cast(url)); +} + +char QNetworkDiskCache_RemoveDefault(void* ptr, void* url) +{ + return static_cast(ptr)->QNetworkDiskCache::remove(*static_cast(url)); +} + +void QNetworkDiskCache_SetCacheDirectory(void* ptr, struct QtNetwork_PackedString cacheDir) +{ + static_cast(ptr)->setCacheDirectory(QString::fromUtf8(cacheDir.data, cacheDir.len)); +} + +void QNetworkDiskCache_SetMaximumCacheSize(void* ptr, long long size) +{ + static_cast(ptr)->setMaximumCacheSize(size); +} + +void QNetworkDiskCache_UpdateMetaData(void* ptr, void* metaData) +{ + static_cast(ptr)->updateMetaData(*static_cast(metaData)); +} + +void QNetworkDiskCache_UpdateMetaDataDefault(void* ptr, void* metaData) +{ + static_cast(ptr)->QNetworkDiskCache::updateMetaData(*static_cast(metaData)); +} + +void QNetworkDiskCache_DestroyQNetworkDiskCache(void* ptr) +{ + static_cast(ptr)->~QNetworkDiskCache(); +} + +void QNetworkDiskCache_DestroyQNetworkDiskCacheDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QNetworkInterface_NewQNetworkInterface() +{ + return new QNetworkInterface(); +} + +void* QNetworkInterface_NewQNetworkInterface2(void* other) +{ + return new QNetworkInterface(*static_cast(other)); +} + +struct QtNetwork_PackedList QNetworkInterface_AddressEntries(void* ptr) +{ + return ({ QList* tmpValueb61b1e = new QList(static_cast(ptr)->addressEntries()); QtNetwork_PackedList { tmpValueb61b1e, tmpValueb61b1e->size() }; }); +} + +struct QtNetwork_PackedList QNetworkInterface_QNetworkInterface_AllAddresses() +{ + return ({ QList* tmpValue55011c = new QList(QNetworkInterface::allAddresses()); QtNetwork_PackedList { tmpValue55011c, tmpValue55011c->size() }; }); +} + +struct QtNetwork_PackedList QNetworkInterface_QNetworkInterface_AllInterfaces() +{ + return ({ QList* tmpValueb463f1 = new QList(QNetworkInterface::allInterfaces()); QtNetwork_PackedList { tmpValueb463f1, tmpValueb463f1->size() }; }); +} + +long long QNetworkInterface_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +struct QtNetwork_PackedString QNetworkInterface_HardwareAddress(void* ptr) +{ + return ({ QByteArray t25386c = static_cast(ptr)->hardwareAddress().toUtf8(); QtNetwork_PackedString { const_cast(t25386c.prepend("WHITESPACE").constData()+10), t25386c.size()-10 }; }); +} + +struct QtNetwork_PackedString QNetworkInterface_HumanReadableName(void* ptr) +{ + return ({ QByteArray tebd539 = static_cast(ptr)->humanReadableName().toUtf8(); QtNetwork_PackedString { const_cast(tebd539.prepend("WHITESPACE").constData()+10), tebd539.size()-10 }; }); +} + +int QNetworkInterface_Index(void* ptr) +{ + return static_cast(ptr)->index(); +} + +void* QNetworkInterface_QNetworkInterface_InterfaceFromIndex(int index) +{ + return new QNetworkInterface(QNetworkInterface::interfaceFromIndex(index)); +} + +void* QNetworkInterface_QNetworkInterface_InterfaceFromName(struct QtNetwork_PackedString name) +{ + return new QNetworkInterface(QNetworkInterface::interfaceFromName(QString::fromUtf8(name.data, name.len))); +} + +int QNetworkInterface_QNetworkInterface_InterfaceIndexFromName(struct QtNetwork_PackedString name) +{ + return QNetworkInterface::interfaceIndexFromName(QString::fromUtf8(name.data, name.len)); +} + +struct QtNetwork_PackedString QNetworkInterface_QNetworkInterface_InterfaceNameFromIndex(int index) +{ + return ({ QByteArray ta95340 = QNetworkInterface::interfaceNameFromIndex(index).toUtf8(); QtNetwork_PackedString { const_cast(ta95340.prepend("WHITESPACE").constData()+10), ta95340.size()-10 }; }); +} + +char QNetworkInterface_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QNetworkInterface_MaximumTransmissionUnit(void* ptr) +{ + return static_cast(ptr)->maximumTransmissionUnit(); +} + +struct QtNetwork_PackedString QNetworkInterface_Name(void* ptr) +{ + return ({ QByteArray tb9dead = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(tb9dead.prepend("WHITESPACE").constData()+10), tb9dead.size()-10 }; }); +} + +void QNetworkInterface_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +long long QNetworkInterface_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QNetworkInterface_DestroyQNetworkInterface(void* ptr) +{ + static_cast(ptr)->~QNetworkInterface(); +} + +void* QNetworkInterface___addressEntries_atList(void* ptr, int i) +{ + return new QNetworkAddressEntry(({QNetworkAddressEntry tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkInterface___addressEntries_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkInterface___addressEntries_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkInterface___allAddresses_atList(void* ptr, int i) +{ + return new QHostAddress(({QHostAddress tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkInterface___allAddresses_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkInterface___allAddresses_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkInterface___allInterfaces_atList(void* ptr, int i) +{ + return new QNetworkInterface(({QNetworkInterface tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkInterface___allInterfaces_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkInterface___allInterfaces_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkProxy_NewQNetworkProxy() +{ + return new QNetworkProxy(); +} + +void* QNetworkProxy_NewQNetworkProxy2(long long ty, struct QtNetwork_PackedString hostName, unsigned short port, struct QtNetwork_PackedString user, struct QtNetwork_PackedString password) +{ + return new QNetworkProxy(static_cast(ty), QString::fromUtf8(hostName.data, hostName.len), port, QString::fromUtf8(user.data, user.len), QString::fromUtf8(password.data, password.len)); +} + +void* QNetworkProxy_NewQNetworkProxy3(void* other) +{ + return new QNetworkProxy(*static_cast(other)); +} + +void* QNetworkProxy_QNetworkProxy_ApplicationProxy() +{ + return new QNetworkProxy(QNetworkProxy::applicationProxy()); +} + +long long QNetworkProxy_Capabilities(void* ptr) +{ + return static_cast(ptr)->capabilities(); +} + +char QNetworkProxy_HasRawHeader(void* ptr, void* headerName) +{ + return static_cast(ptr)->hasRawHeader(*static_cast(headerName)); +} + +void* QNetworkProxy_Header(void* ptr, long long header) +{ + return new QVariant(static_cast(ptr)->header(static_cast(header))); +} + +struct QtNetwork_PackedString QNetworkProxy_HostName(void* ptr) +{ + return ({ QByteArray t422f46 = static_cast(ptr)->hostName().toUtf8(); QtNetwork_PackedString { const_cast(t422f46.prepend("WHITESPACE").constData()+10), t422f46.size()-10 }; }); +} + +char QNetworkProxy_IsCachingProxy(void* ptr) +{ + return static_cast(ptr)->isCachingProxy(); +} + +char QNetworkProxy_IsTransparentProxy(void* ptr) +{ + return static_cast(ptr)->isTransparentProxy(); +} + +struct QtNetwork_PackedString QNetworkProxy_Password(void* ptr) +{ + return ({ QByteArray t6e003a = static_cast(ptr)->password().toUtf8(); QtNetwork_PackedString { const_cast(t6e003a.prepend("WHITESPACE").constData()+10), t6e003a.size()-10 }; }); +} + +unsigned short QNetworkProxy_Port(void* ptr) +{ + return static_cast(ptr)->port(); +} + +void* QNetworkProxy_RawHeader(void* ptr, void* headerName) +{ + return new QByteArray(static_cast(ptr)->rawHeader(*static_cast(headerName))); +} + +struct QtNetwork_PackedList QNetworkProxy_RawHeaderList(void* ptr) +{ + return ({ QList* tmpValue021e9d = new QList(static_cast(ptr)->rawHeaderList()); QtNetwork_PackedList { tmpValue021e9d, tmpValue021e9d->size() }; }); +} + +void QNetworkProxy_QNetworkProxy_SetApplicationProxy(void* networkProxy) +{ + QNetworkProxy::setApplicationProxy(*static_cast(networkProxy)); +} + +void QNetworkProxy_SetCapabilities(void* ptr, long long capabilities) +{ + static_cast(ptr)->setCapabilities(static_cast(capabilities)); +} + +void QNetworkProxy_SetHeader(void* ptr, long long header, void* value) +{ + static_cast(ptr)->setHeader(static_cast(header), *static_cast(value)); +} + +void QNetworkProxy_SetHostName(void* ptr, struct QtNetwork_PackedString hostName) +{ + static_cast(ptr)->setHostName(QString::fromUtf8(hostName.data, hostName.len)); +} + +void QNetworkProxy_SetPassword(void* ptr, struct QtNetwork_PackedString password) +{ + static_cast(ptr)->setPassword(QString::fromUtf8(password.data, password.len)); +} + +void QNetworkProxy_SetPort(void* ptr, unsigned short port) +{ + static_cast(ptr)->setPort(port); +} + +void QNetworkProxy_SetRawHeader(void* ptr, void* headerName, void* headerValue) +{ + static_cast(ptr)->setRawHeader(*static_cast(headerName), *static_cast(headerValue)); +} + +void QNetworkProxy_SetType(void* ptr, long long ty) +{ + static_cast(ptr)->setType(static_cast(ty)); +} + +void QNetworkProxy_SetUser(void* ptr, struct QtNetwork_PackedString user) +{ + static_cast(ptr)->setUser(QString::fromUtf8(user.data, user.len)); +} + +void QNetworkProxy_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +long long QNetworkProxy_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +struct QtNetwork_PackedString QNetworkProxy_User(void* ptr) +{ + return ({ QByteArray tcd9fd7 = static_cast(ptr)->user().toUtf8(); QtNetwork_PackedString { const_cast(tcd9fd7.prepend("WHITESPACE").constData()+10), tcd9fd7.size()-10 }; }); +} + +void QNetworkProxy_DestroyQNetworkProxy(void* ptr) +{ + static_cast(ptr)->~QNetworkProxy(); +} + +void* QNetworkProxy___rawHeaderList_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkProxy___rawHeaderList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkProxy___rawHeaderList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQNetworkProxyFactory: public QNetworkProxyFactory +{ +public: + MyQNetworkProxyFactory() : QNetworkProxyFactory() {}; + QList queryProxy(const QNetworkProxyQuery & query) { return ({ QList* tmpP = static_cast*>(callbackQNetworkProxyFactory_QueryProxy(this, const_cast(&query))); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }); }; + ~MyQNetworkProxyFactory() { callbackQNetworkProxyFactory_DestroyQNetworkProxyFactory(this); }; +}; + +void* QNetworkProxyFactory_NewQNetworkProxyFactory() +{ + return new MyQNetworkProxyFactory(); +} + +struct QtNetwork_PackedList QNetworkProxyFactory_QNetworkProxyFactory_ProxyForQuery(void* query) +{ + return ({ QList* tmpValue767aaf = new QList(QNetworkProxyFactory::proxyForQuery(*static_cast(query))); QtNetwork_PackedList { tmpValue767aaf, tmpValue767aaf->size() }; }); +} + +struct QtNetwork_PackedList QNetworkProxyFactory_QueryProxy(void* ptr, void* query) +{ + return ({ QList* tmpValue5028cb = new QList(static_cast(ptr)->queryProxy(*static_cast(query))); QtNetwork_PackedList { tmpValue5028cb, tmpValue5028cb->size() }; }); +} + +void QNetworkProxyFactory_QNetworkProxyFactory_SetApplicationProxyFactory(void* factory) +{ + QNetworkProxyFactory::setApplicationProxyFactory(static_cast(factory)); +} + +void QNetworkProxyFactory_QNetworkProxyFactory_SetUseSystemConfiguration(char enable) +{ + QNetworkProxyFactory::setUseSystemConfiguration(enable != 0); +} + +struct QtNetwork_PackedList QNetworkProxyFactory_QNetworkProxyFactory_SystemProxyForQuery(void* query) +{ + return ({ QList* tmpValuec71594 = new QList(QNetworkProxyFactory::systemProxyForQuery(*static_cast(query))); QtNetwork_PackedList { tmpValuec71594, tmpValuec71594->size() }; }); +} + +char QNetworkProxyFactory_QNetworkProxyFactory_UsesSystemConfiguration() +{ + return QNetworkProxyFactory::usesSystemConfiguration(); +} + +void QNetworkProxyFactory_DestroyQNetworkProxyFactory(void* ptr) +{ + static_cast(ptr)->~QNetworkProxyFactory(); +} + +void QNetworkProxyFactory_DestroyQNetworkProxyFactoryDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QNetworkProxyFactory___proxyForQuery_atList(void* ptr, int i) +{ + return new QNetworkProxy(({QNetworkProxy tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkProxyFactory___proxyForQuery_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkProxyFactory___proxyForQuery_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkProxyFactory___queryProxy_atList(void* ptr, int i) +{ + return new QNetworkProxy(({QNetworkProxy tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkProxyFactory___queryProxy_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkProxyFactory___queryProxy_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkProxyFactory___systemProxyForQuery_atList(void* ptr, int i) +{ + return new QNetworkProxy(({QNetworkProxy tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkProxyFactory___systemProxyForQuery_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkProxyFactory___systemProxyForQuery_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkProxyQuery_NewQNetworkProxyQuery() +{ + return new QNetworkProxyQuery(); +} + +void* QNetworkProxyQuery_NewQNetworkProxyQuery2(void* requestUrl, long long queryType) +{ + return new QNetworkProxyQuery(*static_cast(requestUrl), static_cast(queryType)); +} + +void* QNetworkProxyQuery_NewQNetworkProxyQuery3(struct QtNetwork_PackedString hostname, int port, struct QtNetwork_PackedString protocolTag, long long queryType) +{ + return new QNetworkProxyQuery(QString::fromUtf8(hostname.data, hostname.len), port, QString::fromUtf8(protocolTag.data, protocolTag.len), static_cast(queryType)); +} + +void* QNetworkProxyQuery_NewQNetworkProxyQuery4(unsigned short bindPort, struct QtNetwork_PackedString protocolTag, long long queryType) +{ + return new QNetworkProxyQuery(bindPort, QString::fromUtf8(protocolTag.data, protocolTag.len), static_cast(queryType)); +} + +void* QNetworkProxyQuery_NewQNetworkProxyQuery8(void* other) +{ + return new QNetworkProxyQuery(*static_cast(other)); +} + +int QNetworkProxyQuery_LocalPort(void* ptr) +{ + return static_cast(ptr)->localPort(); +} + +struct QtNetwork_PackedString QNetworkProxyQuery_PeerHostName(void* ptr) +{ + return ({ QByteArray t878927 = static_cast(ptr)->peerHostName().toUtf8(); QtNetwork_PackedString { const_cast(t878927.prepend("WHITESPACE").constData()+10), t878927.size()-10 }; }); +} + +int QNetworkProxyQuery_PeerPort(void* ptr) +{ + return static_cast(ptr)->peerPort(); +} + +struct QtNetwork_PackedString QNetworkProxyQuery_ProtocolTag(void* ptr) +{ + return ({ QByteArray teab311 = static_cast(ptr)->protocolTag().toUtf8(); QtNetwork_PackedString { const_cast(teab311.prepend("WHITESPACE").constData()+10), teab311.size()-10 }; }); +} + +long long QNetworkProxyQuery_QueryType(void* ptr) +{ + return static_cast(ptr)->queryType(); +} + +void QNetworkProxyQuery_SetLocalPort(void* ptr, int port) +{ + static_cast(ptr)->setLocalPort(port); +} + +void QNetworkProxyQuery_SetPeerHostName(void* ptr, struct QtNetwork_PackedString hostname) +{ + static_cast(ptr)->setPeerHostName(QString::fromUtf8(hostname.data, hostname.len)); +} + +void QNetworkProxyQuery_SetPeerPort(void* ptr, int port) +{ + static_cast(ptr)->setPeerPort(port); +} + +void QNetworkProxyQuery_SetProtocolTag(void* ptr, struct QtNetwork_PackedString protocolTag) +{ + static_cast(ptr)->setProtocolTag(QString::fromUtf8(protocolTag.data, protocolTag.len)); +} + +void QNetworkProxyQuery_SetQueryType(void* ptr, long long ty) +{ + static_cast(ptr)->setQueryType(static_cast(ty)); +} + +void QNetworkProxyQuery_SetUrl(void* ptr, void* url) +{ + static_cast(ptr)->setUrl(*static_cast(url)); +} + +void QNetworkProxyQuery_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QNetworkProxyQuery_Url(void* ptr) +{ + return new QUrl(static_cast(ptr)->url()); +} + +void QNetworkProxyQuery_DestroyQNetworkProxyQuery(void* ptr) +{ + static_cast(ptr)->~QNetworkProxyQuery(); +} + +class MyQNetworkReply: public QNetworkReply +{ +public: + MyQNetworkReply(QObject *parent = Q_NULLPTR) : QNetworkReply(parent) {QNetworkReply_QNetworkReply_QRegisterMetaType();}; + void abort() { callbackQNetworkReply_Abort(this); }; + void close() { callbackQNetworkReply_Close(this); }; + void Signal_DownloadProgress(qint64 bytesReceived, qint64 bytesTotal) { callbackQNetworkReply_DownloadProgress(this, bytesReceived, bytesTotal); }; + void Signal_Encrypted() { callbackQNetworkReply_Encrypted(this); }; + void Signal_Error2(QNetworkReply::NetworkError code) { callbackQNetworkReply_Error2(this, code); }; + void Signal_Finished() { callbackQNetworkReply_Finished(this); }; + void ignoreSslErrors() { callbackQNetworkReply_IgnoreSslErrors(this); }; + void ignoreSslErrorsImplementation(const QList & errors) { callbackQNetworkReply_IgnoreSslErrorsImplementation(this, ({ QList* tmpValue570043 = new QList(errors); QtNetwork_PackedList { tmpValue570043, tmpValue570043->size() }; })); }; + void Signal_MetaDataChanged() { callbackQNetworkReply_MetaDataChanged(this); }; + void Signal_PreSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator * authenticator) { callbackQNetworkReply_PreSharedKeyAuthenticationRequired(this, authenticator); }; + void Signal_RedirectAllowed() { callbackQNetworkReply_RedirectAllowed(this); }; + void Signal_Redirected(const QUrl & url) { callbackQNetworkReply_Redirected(this, const_cast(&url)); }; + void setReadBufferSize(qint64 size) { callbackQNetworkReply_SetReadBufferSize(this, size); }; + void setSslConfigurationImplementation(const QSslConfiguration & configuration) { callbackQNetworkReply_SetSslConfigurationImplementation(this, const_cast(&configuration)); }; + void sslConfigurationImplementation(QSslConfiguration & configuration) const { callbackQNetworkReply_SslConfigurationImplementation(const_cast(static_cast(this)), static_cast(&configuration)); }; + void Signal_SslErrors(const QList & errors) { callbackQNetworkReply_SslErrors(this, ({ QList* tmpValue570043 = new QList(errors); QtNetwork_PackedList { tmpValue570043, tmpValue570043->size() }; })); }; + void Signal_UploadProgress(qint64 bytesSent, qint64 bytesTotal) { callbackQNetworkReply_UploadProgress(this, bytesSent, bytesTotal); }; + ~MyQNetworkReply() { callbackQNetworkReply_DestroyQNetworkReply(this); }; + void Signal_AboutToClose() { callbackQNetworkReply_AboutToClose(this); }; + bool atEnd() const { return callbackQNetworkReply_AtEnd(const_cast(static_cast(this))) != 0; }; + qint64 bytesAvailable() const { return callbackQNetworkReply_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQNetworkReply_BytesToWrite(const_cast(static_cast(this))); }; + void Signal_BytesWritten(qint64 bytes) { callbackQNetworkReply_BytesWritten(this, bytes); }; + bool canReadLine() const { return callbackQNetworkReply_CanReadLine(const_cast(static_cast(this))) != 0; }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQNetworkReply_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQNetworkReply_ChannelReadyRead(this, channel); }; + bool isSequential() const { return callbackQNetworkReply_IsSequential(const_cast(static_cast(this))) != 0; }; + bool open(QIODevice::OpenMode mode) { return callbackQNetworkReply_Open(this, mode) != 0; }; + qint64 pos() const { return callbackQNetworkReply_Pos(const_cast(static_cast(this))); }; + void Signal_ReadChannelFinished() { callbackQNetworkReply_ReadChannelFinished(this); }; + qint64 readData(char * data, qint64 maxSize) { QtNetwork_PackedString dataPacked = { data, maxSize };return callbackQNetworkReply_ReadData(this, dataPacked, maxSize); }; + qint64 readLineData(char * data, qint64 maxSize) { QtNetwork_PackedString dataPacked = { data, maxSize };return callbackQNetworkReply_ReadLineData(this, dataPacked, maxSize); }; + void Signal_ReadyRead() { callbackQNetworkReply_ReadyRead(this); }; + bool reset() { return callbackQNetworkReply_Reset(this) != 0; }; + bool seek(qint64 pos) { return callbackQNetworkReply_Seek(this, pos) != 0; }; + qint64 size() const { return callbackQNetworkReply_Size(const_cast(static_cast(this))); }; + bool waitForBytesWritten(int msecs) { return callbackQNetworkReply_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQNetworkReply_WaitForReadyRead(this, msecs) != 0; }; + qint64 writeData(const char * data, qint64 maxSize) { QtNetwork_PackedString dataPacked = { const_cast(data), maxSize };return callbackQNetworkReply_WriteData(this, dataPacked, maxSize); }; + void childEvent(QChildEvent * event) { callbackQNetworkReply_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQNetworkReply_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQNetworkReply_CustomEvent(this, event); }; + void deleteLater() { callbackQNetworkReply_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQNetworkReply_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQNetworkReply_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQNetworkReply_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQNetworkReply_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQNetworkReply_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQNetworkReply_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQNetworkReply_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQNetworkReply*) + +int QNetworkReply_QNetworkReply_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QNetworkReply_NewQNetworkReply(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkReply(static_cast(parent)); + } else { + return new MyQNetworkReply(static_cast(parent)); + } +} + +void QNetworkReply_Abort(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "abort"); +} + +void* QNetworkReply_Attribute(void* ptr, long long code) +{ + return new QVariant(static_cast(ptr)->attribute(static_cast(code))); +} + +void QNetworkReply_CloseDefault(void* ptr) +{ + static_cast(ptr)->QNetworkReply::close(); +} + +void QNetworkReply_ConnectDownloadProgress(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkReply::downloadProgress), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_DownloadProgress), static_cast(t)); +} + +void QNetworkReply_DisconnectDownloadProgress(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkReply::downloadProgress), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_DownloadProgress)); +} + +void QNetworkReply_DownloadProgress(void* ptr, long long bytesReceived, long long bytesTotal) +{ + static_cast(ptr)->downloadProgress(bytesReceived, bytesTotal); +} + +void QNetworkReply_ConnectEncrypted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkReply::encrypted), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_Encrypted), static_cast(t)); +} + +void QNetworkReply_DisconnectEncrypted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkReply::encrypted), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_Encrypted)); +} + +void QNetworkReply_Encrypted(void* ptr) +{ + static_cast(ptr)->encrypted(); +} + +long long QNetworkReply_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +void QNetworkReply_ConnectError2(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QNetworkReply::error), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_Error2), static_cast(t)); +} + +void QNetworkReply_DisconnectError2(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkReply::error), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_Error2)); +} + +void QNetworkReply_Error2(void* ptr, long long code) +{ + static_cast(ptr)->error(static_cast(code)); +} + +void QNetworkReply_ConnectFinished(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkReply::finished), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_Finished), static_cast(t)); +} + +void QNetworkReply_DisconnectFinished(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkReply::finished), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_Finished)); +} + +void QNetworkReply_Finished(void* ptr) +{ + static_cast(ptr)->finished(); +} + +char QNetworkReply_HasRawHeader(void* ptr, void* headerName) +{ + return static_cast(ptr)->hasRawHeader(*static_cast(headerName)); +} + +void* QNetworkReply_Header(void* ptr, long long header) +{ + return new QVariant(static_cast(ptr)->header(static_cast(header))); +} + +void QNetworkReply_IgnoreSslErrors(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "ignoreSslErrors"); +} + +void QNetworkReply_IgnoreSslErrorsDefault(void* ptr) +{ + static_cast(ptr)->QNetworkReply::ignoreSslErrors(); +} + +void QNetworkReply_IgnoreSslErrors2(void* ptr, void* errors) +{ + static_cast(ptr)->ignoreSslErrors(*static_cast*>(errors)); +} + +void QNetworkReply_IgnoreSslErrorsImplementation(void* ptr, void* errors) +{ + static_cast(ptr)->ignoreSslErrorsImplementation(*static_cast*>(errors)); +} + +void QNetworkReply_IgnoreSslErrorsImplementationDefault(void* ptr, void* errors) +{ + static_cast(ptr)->QNetworkReply::ignoreSslErrorsImplementation(*static_cast*>(errors)); +} + +char QNetworkReply_IsFinished(void* ptr) +{ + return static_cast(ptr)->isFinished(); +} + +char QNetworkReply_IsRunning(void* ptr) +{ + return static_cast(ptr)->isRunning(); +} + +void* QNetworkReply_Manager(void* ptr) +{ + return static_cast(ptr)->manager(); +} + +void QNetworkReply_ConnectMetaDataChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkReply::metaDataChanged), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_MetaDataChanged), static_cast(t)); +} + +void QNetworkReply_DisconnectMetaDataChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkReply::metaDataChanged), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_MetaDataChanged)); +} + +void QNetworkReply_MetaDataChanged(void* ptr) +{ + static_cast(ptr)->metaDataChanged(); +} + +long long QNetworkReply_Operation(void* ptr) +{ + return static_cast(ptr)->operation(); +} + +void QNetworkReply_ConnectPreSharedKeyAuthenticationRequired(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkReply::preSharedKeyAuthenticationRequired), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_PreSharedKeyAuthenticationRequired), static_cast(t)); +} + +void QNetworkReply_DisconnectPreSharedKeyAuthenticationRequired(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkReply::preSharedKeyAuthenticationRequired), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_PreSharedKeyAuthenticationRequired)); +} + +void QNetworkReply_PreSharedKeyAuthenticationRequired(void* ptr, void* authenticator) +{ + static_cast(ptr)->preSharedKeyAuthenticationRequired(static_cast(authenticator)); +} + +void* QNetworkReply_RawHeader(void* ptr, void* headerName) +{ + return new QByteArray(static_cast(ptr)->rawHeader(*static_cast(headerName))); +} + +struct QtNetwork_PackedList QNetworkReply_RawHeaderList(void* ptr) +{ + return ({ QList* tmpValue25fd91 = new QList(static_cast(ptr)->rawHeaderList()); QtNetwork_PackedList { tmpValue25fd91, tmpValue25fd91->size() }; }); +} + +long long QNetworkReply_ReadBufferSize(void* ptr) +{ + return static_cast(ptr)->readBufferSize(); +} + +void QNetworkReply_ConnectRedirectAllowed(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkReply::redirectAllowed), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_RedirectAllowed), static_cast(t)); +} + +void QNetworkReply_DisconnectRedirectAllowed(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkReply::redirectAllowed), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_RedirectAllowed)); +} + +void QNetworkReply_RedirectAllowed(void* ptr) +{ + static_cast(ptr)->redirectAllowed(); +} + +void QNetworkReply_ConnectRedirected(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkReply::redirected), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_Redirected), static_cast(t)); +} + +void QNetworkReply_DisconnectRedirected(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkReply::redirected), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_Redirected)); +} + +void QNetworkReply_Redirected(void* ptr, void* url) +{ + static_cast(ptr)->redirected(*static_cast(url)); +} + +void* QNetworkReply_Request(void* ptr) +{ + return new QNetworkRequest(static_cast(ptr)->request()); +} + +void QNetworkReply_SetAttribute(void* ptr, long long code, void* value) +{ + static_cast(ptr)->setAttribute(static_cast(code), *static_cast(value)); +} + +void QNetworkReply_SetError(void* ptr, long long errorCode, struct QtNetwork_PackedString errorString) +{ + static_cast(ptr)->setError(static_cast(errorCode), QString::fromUtf8(errorString.data, errorString.len)); +} + +void QNetworkReply_SetFinished(void* ptr, char finished) +{ + static_cast(ptr)->setFinished(finished != 0); +} + +void QNetworkReply_SetHeader(void* ptr, long long header, void* value) +{ + static_cast(ptr)->setHeader(static_cast(header), *static_cast(value)); +} + +void QNetworkReply_SetOperation(void* ptr, long long operation) +{ + static_cast(ptr)->setOperation(static_cast(operation)); +} + +void QNetworkReply_SetRawHeader(void* ptr, void* headerName, void* value) +{ + static_cast(ptr)->setRawHeader(*static_cast(headerName), *static_cast(value)); +} + +void QNetworkReply_SetReadBufferSize(void* ptr, long long size) +{ + static_cast(ptr)->setReadBufferSize(size); +} + +void QNetworkReply_SetReadBufferSizeDefault(void* ptr, long long size) +{ + static_cast(ptr)->QNetworkReply::setReadBufferSize(size); +} + +void QNetworkReply_SetRequest(void* ptr, void* request) +{ + static_cast(ptr)->setRequest(*static_cast(request)); +} + +void QNetworkReply_SetSslConfiguration(void* ptr, void* config) +{ + static_cast(ptr)->setSslConfiguration(*static_cast(config)); +} + +void QNetworkReply_SetSslConfigurationImplementation(void* ptr, void* configuration) +{ + static_cast(ptr)->setSslConfigurationImplementation(*static_cast(configuration)); +} + +void QNetworkReply_SetSslConfigurationImplementationDefault(void* ptr, void* configuration) +{ + static_cast(ptr)->QNetworkReply::setSslConfigurationImplementation(*static_cast(configuration)); +} + +void QNetworkReply_SetUrl(void* ptr, void* url) +{ + static_cast(ptr)->setUrl(*static_cast(url)); +} + +void* QNetworkReply_SslConfiguration(void* ptr) +{ + return new QSslConfiguration(static_cast(ptr)->sslConfiguration()); +} + +void QNetworkReply_SslConfigurationImplementation(void* ptr, void* configuration) +{ + static_cast(ptr)->sslConfigurationImplementation(*static_cast(configuration)); +} + +void QNetworkReply_SslConfigurationImplementationDefault(void* ptr, void* configuration) +{ + static_cast(ptr)->QNetworkReply::sslConfigurationImplementation(*static_cast(configuration)); +} + +void QNetworkReply_ConnectSslErrors(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast &)>(&QNetworkReply::sslErrors), static_cast(ptr), static_cast &)>(&MyQNetworkReply::Signal_SslErrors), static_cast(t)); +} + +void QNetworkReply_DisconnectSslErrors(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast &)>(&QNetworkReply::sslErrors), static_cast(ptr), static_cast &)>(&MyQNetworkReply::Signal_SslErrors)); +} + +void QNetworkReply_SslErrors(void* ptr, void* errors) +{ + static_cast(ptr)->sslErrors(*static_cast*>(errors)); +} + +void QNetworkReply_ConnectUploadProgress(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkReply::uploadProgress), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_UploadProgress), static_cast(t)); +} + +void QNetworkReply_DisconnectUploadProgress(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkReply::uploadProgress), static_cast(ptr), static_cast(&MyQNetworkReply::Signal_UploadProgress)); +} + +void QNetworkReply_UploadProgress(void* ptr, long long bytesSent, long long bytesTotal) +{ + static_cast(ptr)->uploadProgress(bytesSent, bytesTotal); +} + +void* QNetworkReply_Url(void* ptr) +{ + return new QUrl(static_cast(ptr)->url()); +} + +void QNetworkReply_DestroyQNetworkReply(void* ptr) +{ + static_cast(ptr)->~QNetworkReply(); +} + +void QNetworkReply_DestroyQNetworkReplyDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QNetworkReply___ignoreSslErrors_errors_atList2(void* ptr, int i) +{ + return new QSslError(({QSslError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkReply___ignoreSslErrors_errors_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkReply___ignoreSslErrors_errors_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkReply___ignoreSslErrorsImplementation_errors_atList(void* ptr, int i) +{ + return new QSslError(({QSslError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkReply___ignoreSslErrorsImplementation_errors_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkReply___ignoreSslErrorsImplementation_errors_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkReply___rawHeaderList_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkReply___rawHeaderList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkReply___rawHeaderList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkReply___sslErrors_errors_atList(void* ptr, int i) +{ + return new QSslError(({QSslError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkReply___sslErrors_errors_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkReply___sslErrors_errors_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkReply___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkReply___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkReply___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkReply___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkReply___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkReply___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkReply___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkReply___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkReply___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkReply___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkReply___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkReply___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkReply___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkReply___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkReply___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +char QNetworkReply_AtEndDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkReply::atEnd(); +} + +long long QNetworkReply_BytesAvailableDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkReply::bytesAvailable(); +} + +long long QNetworkReply_BytesToWriteDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkReply::bytesToWrite(); +} + +char QNetworkReply_CanReadLineDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkReply::canReadLine(); +} + +char QNetworkReply_IsSequentialDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkReply::isSequential(); +} + +char QNetworkReply_OpenDefault(void* ptr, long long mode) +{ + return static_cast(ptr)->QNetworkReply::open(static_cast(mode)); +} + +long long QNetworkReply_PosDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkReply::pos(); +} + +long long QNetworkReply_ReadData(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->readData(data, maxSize); +} + +long long QNetworkReply_ReadDataDefault(void* ptr, char* data, long long maxSize) +{ + Q_UNUSED(ptr); + Q_UNUSED(data); + Q_UNUSED(maxSize); + +} + +long long QNetworkReply_ReadLineDataDefault(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->QNetworkReply::readLineData(data, maxSize); +} + +char QNetworkReply_ResetDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkReply::reset(); +} + +char QNetworkReply_SeekDefault(void* ptr, long long pos) +{ + return static_cast(ptr)->QNetworkReply::seek(pos); +} + +long long QNetworkReply_SizeDefault(void* ptr) +{ + return static_cast(ptr)->QNetworkReply::size(); +} + +char QNetworkReply_WaitForBytesWrittenDefault(void* ptr, int msecs) +{ + return static_cast(ptr)->QNetworkReply::waitForBytesWritten(msecs); +} + +char QNetworkReply_WaitForReadyReadDefault(void* ptr, int msecs) +{ + return static_cast(ptr)->QNetworkReply::waitForReadyRead(msecs); +} + +long long QNetworkReply_WriteData(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->writeData(const_cast(data), maxSize); +} + +long long QNetworkReply_WriteDataDefault(void* ptr, char* data, long long maxSize) +{ + return static_cast(ptr)->QNetworkReply::writeData(const_cast(data), maxSize); +} + +void QNetworkReply_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkReply::childEvent(static_cast(event)); +} + +void QNetworkReply_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkReply::connectNotify(*static_cast(sign)); +} + +void QNetworkReply_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkReply::customEvent(static_cast(event)); +} + +void QNetworkReply_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QNetworkReply::deleteLater(); +} + +void QNetworkReply_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkReply::disconnectNotify(*static_cast(sign)); +} + +char QNetworkReply_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QNetworkReply::event(static_cast(e)); +} + +char QNetworkReply_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QNetworkReply::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QNetworkReply_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QNetworkReply::metaObject()); +} + +void QNetworkReply_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkReply::timerEvent(static_cast(event)); +} + +void* QNetworkRequest_NewQNetworkRequest(void* url) +{ + return new QNetworkRequest(*static_cast(url)); +} + +void* QNetworkRequest_NewQNetworkRequest2(void* other) +{ + return new QNetworkRequest(*static_cast(other)); +} + +void* QNetworkRequest_Attribute(void* ptr, long long code, void* defaultValue) +{ + return new QVariant(static_cast(ptr)->attribute(static_cast(code), *static_cast(defaultValue))); +} + +char QNetworkRequest_HasRawHeader(void* ptr, void* headerName) +{ + return static_cast(ptr)->hasRawHeader(*static_cast(headerName)); +} + +void* QNetworkRequest_Header(void* ptr, long long header) +{ + return new QVariant(static_cast(ptr)->header(static_cast(header))); +} + +int QNetworkRequest_MaximumRedirectsAllowed(void* ptr) +{ + return static_cast(ptr)->maximumRedirectsAllowed(); +} + +void* QNetworkRequest_OriginatingObject(void* ptr) +{ + return static_cast(ptr)->originatingObject(); +} + +struct QtNetwork_PackedString QNetworkRequest_PeerVerifyName(void* ptr) +{ + return ({ QByteArray t332155 = static_cast(ptr)->peerVerifyName().toUtf8(); QtNetwork_PackedString { const_cast(t332155.prepend("WHITESPACE").constData()+10), t332155.size()-10 }; }); +} + +long long QNetworkRequest_Priority(void* ptr) +{ + return static_cast(ptr)->priority(); +} + +void* QNetworkRequest_RawHeader(void* ptr, void* headerName) +{ + return new QByteArray(static_cast(ptr)->rawHeader(*static_cast(headerName))); +} + +struct QtNetwork_PackedList QNetworkRequest_RawHeaderList(void* ptr) +{ + return ({ QList* tmpValue903df8 = new QList(static_cast(ptr)->rawHeaderList()); QtNetwork_PackedList { tmpValue903df8, tmpValue903df8->size() }; }); +} + +void QNetworkRequest_SetAttribute(void* ptr, long long code, void* value) +{ + static_cast(ptr)->setAttribute(static_cast(code), *static_cast(value)); +} + +void QNetworkRequest_SetHeader(void* ptr, long long header, void* value) +{ + static_cast(ptr)->setHeader(static_cast(header), *static_cast(value)); +} + +void QNetworkRequest_SetMaximumRedirectsAllowed(void* ptr, int maxRedirectsAllowed) +{ + static_cast(ptr)->setMaximumRedirectsAllowed(maxRedirectsAllowed); +} + +void QNetworkRequest_SetOriginatingObject(void* ptr, void* object) +{ + static_cast(ptr)->setOriginatingObject(static_cast(object)); +} + +void QNetworkRequest_SetPeerVerifyName(void* ptr, struct QtNetwork_PackedString peerName) +{ + static_cast(ptr)->setPeerVerifyName(QString::fromUtf8(peerName.data, peerName.len)); +} + +void QNetworkRequest_SetPriority(void* ptr, long long priority) +{ + static_cast(ptr)->setPriority(static_cast(priority)); +} + +void QNetworkRequest_SetRawHeader(void* ptr, void* headerName, void* headerValue) +{ + static_cast(ptr)->setRawHeader(*static_cast(headerName), *static_cast(headerValue)); +} + +void QNetworkRequest_SetSslConfiguration(void* ptr, void* config) +{ + static_cast(ptr)->setSslConfiguration(*static_cast(config)); +} + +void QNetworkRequest_SetUrl(void* ptr, void* url) +{ + static_cast(ptr)->setUrl(*static_cast(url)); +} + +void* QNetworkRequest_SslConfiguration(void* ptr) +{ + return new QSslConfiguration(static_cast(ptr)->sslConfiguration()); +} + +void QNetworkRequest_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QNetworkRequest_Url(void* ptr) +{ + return new QUrl(static_cast(ptr)->url()); +} + +void QNetworkRequest_DestroyQNetworkRequest(void* ptr) +{ + static_cast(ptr)->~QNetworkRequest(); +} + +void* QNetworkRequest___rawHeaderList_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkRequest___rawHeaderList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkRequest___rawHeaderList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQNetworkSession: public QNetworkSession +{ +public: + MyQNetworkSession(const QNetworkConfiguration &connectionConfig, QObject *parent = Q_NULLPTR) : QNetworkSession(connectionConfig, parent) {QNetworkSession_QNetworkSession_QRegisterMetaType();}; + void accept() { callbackQNetworkSession_Accept(this); }; + void close() { callbackQNetworkSession_Close(this); }; + void Signal_Closed() { callbackQNetworkSession_Closed(this); }; + void Signal_Error2(QNetworkSession::SessionError error) { callbackQNetworkSession_Error2(this, error); }; + void ignore() { callbackQNetworkSession_Ignore(this); }; + void migrate() { callbackQNetworkSession_Migrate(this); }; + void Signal_NewConfigurationActivated() { callbackQNetworkSession_NewConfigurationActivated(this); }; + void open() { callbackQNetworkSession_Open(this); }; + void Signal_Opened() { callbackQNetworkSession_Opened(this); }; + void Signal_PreferredConfigurationChanged(const QNetworkConfiguration & config, bool isSeamless) { callbackQNetworkSession_PreferredConfigurationChanged(this, const_cast(&config), isSeamless); }; + void reject() { callbackQNetworkSession_Reject(this); }; + void Signal_StateChanged(QNetworkSession::State state) { callbackQNetworkSession_StateChanged(this, state); }; + void stop() { callbackQNetworkSession_Stop(this); }; + void Signal_UsagePoliciesChanged(QNetworkSession::UsagePolicies usagePolicies) { callbackQNetworkSession_UsagePoliciesChanged(this, usagePolicies); }; + ~MyQNetworkSession() { callbackQNetworkSession_DestroyQNetworkSession(this); }; + void childEvent(QChildEvent * event) { callbackQNetworkSession_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQNetworkSession_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQNetworkSession_CustomEvent(this, event); }; + void deleteLater() { callbackQNetworkSession_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQNetworkSession_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQNetworkSession_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQNetworkSession_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQNetworkSession_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQNetworkSession_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQNetworkSession_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQNetworkSession_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQNetworkSession*) + +int QNetworkSession_QNetworkSession_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QNetworkSession_NewQNetworkSession(void* connectionConfig, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } else { + return new MyQNetworkSession(*static_cast(connectionConfig), static_cast(parent)); + } +} + +void QNetworkSession_Accept(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "accept"); +} + +void QNetworkSession_AcceptDefault(void* ptr) +{ + static_cast(ptr)->QNetworkSession::accept(); +} + +unsigned long long QNetworkSession_ActiveTime(void* ptr) +{ + return static_cast(ptr)->activeTime(); +} + +unsigned long long QNetworkSession_BytesReceived(void* ptr) +{ + return static_cast(ptr)->bytesReceived(); +} + +unsigned long long QNetworkSession_BytesWritten(void* ptr) +{ + return static_cast(ptr)->bytesWritten(); +} + +void QNetworkSession_Close(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "close"); +} + +void QNetworkSession_CloseDefault(void* ptr) +{ + static_cast(ptr)->QNetworkSession::close(); +} + +void QNetworkSession_ConnectClosed(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkSession::closed), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_Closed), static_cast(t)); +} + +void QNetworkSession_DisconnectClosed(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkSession::closed), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_Closed)); +} + +void QNetworkSession_Closed(void* ptr) +{ + static_cast(ptr)->closed(); +} + +void* QNetworkSession_Configuration(void* ptr) +{ + return new QNetworkConfiguration(static_cast(ptr)->configuration()); +} + +long long QNetworkSession_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +void QNetworkSession_ConnectError2(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QNetworkSession::error), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_Error2), static_cast(t)); +} + +void QNetworkSession_DisconnectError2(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkSession::error), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_Error2)); +} + +void QNetworkSession_Error2(void* ptr, long long error) +{ + static_cast(ptr)->error(static_cast(error)); +} + +struct QtNetwork_PackedString QNetworkSession_ErrorString(void* ptr) +{ + return ({ QByteArray t57e370 = static_cast(ptr)->errorString().toUtf8(); QtNetwork_PackedString { const_cast(t57e370.prepend("WHITESPACE").constData()+10), t57e370.size()-10 }; }); +} + +void QNetworkSession_Ignore(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "ignore"); +} + +void QNetworkSession_IgnoreDefault(void* ptr) +{ + static_cast(ptr)->QNetworkSession::ignore(); +} + +void* QNetworkSession_Interface(void* ptr) +{ + return new QNetworkInterface(static_cast(ptr)->interface()); +} + +char QNetworkSession_IsOpen(void* ptr) +{ + return static_cast(ptr)->isOpen(); +} + +void QNetworkSession_Migrate(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "migrate"); +} + +void QNetworkSession_MigrateDefault(void* ptr) +{ + static_cast(ptr)->QNetworkSession::migrate(); +} + +void QNetworkSession_ConnectNewConfigurationActivated(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkSession::newConfigurationActivated), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_NewConfigurationActivated), static_cast(t)); +} + +void QNetworkSession_DisconnectNewConfigurationActivated(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkSession::newConfigurationActivated), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_NewConfigurationActivated)); +} + +void QNetworkSession_NewConfigurationActivated(void* ptr) +{ + static_cast(ptr)->newConfigurationActivated(); +} + +void QNetworkSession_Open(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "open"); +} + +void QNetworkSession_OpenDefault(void* ptr) +{ + static_cast(ptr)->QNetworkSession::open(); +} + +void QNetworkSession_ConnectOpened(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkSession::opened), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_Opened), static_cast(t)); +} + +void QNetworkSession_DisconnectOpened(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkSession::opened), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_Opened)); +} + +void QNetworkSession_Opened(void* ptr) +{ + static_cast(ptr)->opened(); +} + +void QNetworkSession_ConnectPreferredConfigurationChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QNetworkSession::preferredConfigurationChanged), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_PreferredConfigurationChanged), static_cast(t)); +} + +void QNetworkSession_DisconnectPreferredConfigurationChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkSession::preferredConfigurationChanged), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_PreferredConfigurationChanged)); +} + +void QNetworkSession_PreferredConfigurationChanged(void* ptr, void* config, char isSeamless) +{ + static_cast(ptr)->preferredConfigurationChanged(*static_cast(config), isSeamless != 0); +} + +void QNetworkSession_Reject(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "reject"); +} + +void QNetworkSession_RejectDefault(void* ptr) +{ + static_cast(ptr)->QNetworkSession::reject(); +} + +void* QNetworkSession_SessionProperty(void* ptr, struct QtNetwork_PackedString key) +{ + return new QVariant(static_cast(ptr)->sessionProperty(QString::fromUtf8(key.data, key.len))); +} + +void QNetworkSession_SetSessionProperty(void* ptr, struct QtNetwork_PackedString key, void* value) +{ + static_cast(ptr)->setSessionProperty(QString::fromUtf8(key.data, key.len), *static_cast(value)); +} + +long long QNetworkSession_State(void* ptr) +{ + return static_cast(ptr)->state(); +} + +void QNetworkSession_ConnectStateChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QNetworkSession::stateChanged), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_StateChanged), static_cast(t)); +} + +void QNetworkSession_DisconnectStateChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkSession::stateChanged), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_StateChanged)); +} + +void QNetworkSession_StateChanged(void* ptr, long long state) +{ + static_cast(ptr)->stateChanged(static_cast(state)); +} + +void QNetworkSession_Stop(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "stop"); +} + +void QNetworkSession_StopDefault(void* ptr) +{ + static_cast(ptr)->QNetworkSession::stop(); +} + +long long QNetworkSession_UsagePolicies(void* ptr) +{ + return static_cast(ptr)->usagePolicies(); +} + +void QNetworkSession_ConnectUsagePoliciesChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QNetworkSession::usagePoliciesChanged), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_UsagePoliciesChanged), static_cast(t)); +} + +void QNetworkSession_DisconnectUsagePoliciesChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QNetworkSession::usagePoliciesChanged), static_cast(ptr), static_cast(&MyQNetworkSession::Signal_UsagePoliciesChanged)); +} + +void QNetworkSession_UsagePoliciesChanged(void* ptr, long long usagePolicies) +{ + static_cast(ptr)->usagePoliciesChanged(static_cast(usagePolicies)); +} + +char QNetworkSession_WaitForOpened(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForOpened(msecs); +} + +void QNetworkSession_DestroyQNetworkSession(void* ptr) +{ + static_cast(ptr)->~QNetworkSession(); +} + +void QNetworkSession_DestroyQNetworkSessionDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QNetworkSession___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkSession___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkSession___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkSession___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QNetworkSession___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QNetworkSession___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkSession___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkSession___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkSession___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkSession___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkSession___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkSession___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QNetworkSession___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QNetworkSession___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QNetworkSession___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QNetworkSession_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkSession::childEvent(static_cast(event)); +} + +void QNetworkSession_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkSession::connectNotify(*static_cast(sign)); +} + +void QNetworkSession_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkSession::customEvent(static_cast(event)); +} + +void QNetworkSession_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QNetworkSession::deleteLater(); +} + +void QNetworkSession_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QNetworkSession::disconnectNotify(*static_cast(sign)); +} + +char QNetworkSession_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QNetworkSession::event(static_cast(e)); +} + +char QNetworkSession_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QNetworkSession::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QNetworkSession_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QNetworkSession::metaObject()); +} + +void QNetworkSession_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QNetworkSession::timerEvent(static_cast(event)); +} + +void* QOcspResponse_NewQOcspResponse() +{ + return new QOcspResponse(); +} + +void* QOcspResponse_NewQOcspResponse2(void* other) +{ + return new QOcspResponse(*static_cast(other)); +} + +void* QOcspResponse_NewQOcspResponse3(void* other) +{ + return new QOcspResponse(*static_cast(other)); +} + +void* QOcspResponse_Subject(void* ptr) +{ + return new QSslCertificate(static_cast(ptr)->subject()); +} + +void QOcspResponse_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QOcspResponse_DestroyQOcspResponse(void* ptr) +{ + static_cast(ptr)->~QOcspResponse(); +} + +void* QSslCertificate_NewQSslCertificate(void* device, long long format) +{ + return new QSslCertificate(static_cast(device), static_cast(format)); +} + +void* QSslCertificate_NewQSslCertificate2(void* data, long long format) +{ + return new QSslCertificate(*static_cast(data), static_cast(format)); +} + +void* QSslCertificate_NewQSslCertificate3(void* other) +{ + return new QSslCertificate(*static_cast(other)); +} + +void QSslCertificate_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +void* QSslCertificate_Digest(void* ptr, long long algorithm) +{ + return new QByteArray(static_cast(ptr)->digest(static_cast(algorithm))); +} + +void* QSslCertificate_EffectiveDate(void* ptr) +{ + return new QDateTime(static_cast(ptr)->effectiveDate()); +} + +void* QSslCertificate_ExpiryDate(void* ptr) +{ + return new QDateTime(static_cast(ptr)->expiryDate()); +} + +struct QtNetwork_PackedList QSslCertificate_Extensions(void* ptr) +{ + return ({ QList* tmpValuee9e52f = new QList(static_cast(ptr)->extensions()); QtNetwork_PackedList { tmpValuee9e52f, tmpValuee9e52f->size() }; }); +} + +struct QtNetwork_PackedList QSslCertificate_QSslCertificate_FromData(void* data, long long format) +{ + return ({ QList* tmpValueec873e = new QList(QSslCertificate::fromData(*static_cast(data), static_cast(format))); QtNetwork_PackedList { tmpValueec873e, tmpValueec873e->size() }; }); +} + +struct QtNetwork_PackedList QSslCertificate_QSslCertificate_FromDevice(void* device, long long format) +{ + return ({ QList* tmpValue2882dd = new QList(QSslCertificate::fromDevice(static_cast(device), static_cast(format))); QtNetwork_PackedList { tmpValue2882dd, tmpValue2882dd->size() }; }); +} + +struct QtNetwork_PackedList QSslCertificate_QSslCertificate_FromPath(struct QtNetwork_PackedString path, long long format, long long syntax) +{ + return ({ QList* tmpValue73edf7 = new QList(QSslCertificate::fromPath(QString::fromUtf8(path.data, path.len), static_cast(format), static_cast(syntax))); QtNetwork_PackedList { tmpValue73edf7, tmpValue73edf7->size() }; }); +} + +char QSslCertificate_QSslCertificate_ImportPkcs12(void* device, void* key, void* certificate, void* caCertificates, void* passPhrase) +{ + return QSslCertificate::importPkcs12(static_cast(device), static_cast(key), static_cast(certificate), static_cast*>(caCertificates), *static_cast(passPhrase)); +} + +char QSslCertificate_IsBlacklisted(void* ptr) +{ + return static_cast(ptr)->isBlacklisted(); +} + +char QSslCertificate_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QSslCertificate_IsSelfSigned(void* ptr) +{ + return static_cast(ptr)->isSelfSigned(); +} + +struct QtNetwork_PackedString QSslCertificate_IssuerDisplayName(void* ptr) +{ + return ({ QByteArray tad77ca = static_cast(ptr)->issuerDisplayName().toUtf8(); QtNetwork_PackedString { const_cast(tad77ca.prepend("WHITESPACE").constData()+10), tad77ca.size()-10 }; }); +} + +struct QtNetwork_PackedString QSslCertificate_IssuerInfo(void* ptr, long long subject) +{ + return ({ QByteArray t768c47 = static_cast(ptr)->issuerInfo(static_cast(subject)).join("¡¦!").toUtf8(); QtNetwork_PackedString { const_cast(t768c47.prepend("WHITESPACE").constData()+10), t768c47.size()-10 }; }); +} + +struct QtNetwork_PackedString QSslCertificate_IssuerInfo2(void* ptr, void* attribute) +{ + return ({ QByteArray tc820f1 = static_cast(ptr)->issuerInfo(*static_cast(attribute)).join("¡¦!").toUtf8(); QtNetwork_PackedString { const_cast(tc820f1.prepend("WHITESPACE").constData()+10), tc820f1.size()-10 }; }); +} + +struct QtNetwork_PackedList QSslCertificate_IssuerInfoAttributes(void* ptr) +{ + return ({ QList* tmpValue552db1 = new QList(static_cast(ptr)->issuerInfoAttributes()); QtNetwork_PackedList { tmpValue552db1, tmpValue552db1->size() }; }); +} + +void* QSslCertificate_PublicKey(void* ptr) +{ + return new QSslKey(static_cast(ptr)->publicKey()); +} + +void* QSslCertificate_SerialNumber(void* ptr) +{ + return new QByteArray(static_cast(ptr)->serialNumber()); +} + +struct QtNetwork_PackedList QSslCertificate_SubjectAlternativeNames(void* ptr) +{ + return ({ QMultiMap* tmpValuee67c86 = new QMultiMap(static_cast(ptr)->subjectAlternativeNames()); QtNetwork_PackedList { tmpValuee67c86, tmpValuee67c86->size() }; }); +} + +struct QtNetwork_PackedString QSslCertificate_SubjectDisplayName(void* ptr) +{ + return ({ QByteArray t65a96d = static_cast(ptr)->subjectDisplayName().toUtf8(); QtNetwork_PackedString { const_cast(t65a96d.prepend("WHITESPACE").constData()+10), t65a96d.size()-10 }; }); +} + +struct QtNetwork_PackedString QSslCertificate_SubjectInfo(void* ptr, long long subject) +{ + return ({ QByteArray tee2197 = static_cast(ptr)->subjectInfo(static_cast(subject)).join("¡¦!").toUtf8(); QtNetwork_PackedString { const_cast(tee2197.prepend("WHITESPACE").constData()+10), tee2197.size()-10 }; }); +} + +struct QtNetwork_PackedString QSslCertificate_SubjectInfo2(void* ptr, void* attribute) +{ + return ({ QByteArray tc13a73 = static_cast(ptr)->subjectInfo(*static_cast(attribute)).join("¡¦!").toUtf8(); QtNetwork_PackedString { const_cast(tc13a73.prepend("WHITESPACE").constData()+10), tc13a73.size()-10 }; }); +} + +struct QtNetwork_PackedList QSslCertificate_SubjectInfoAttributes(void* ptr) +{ + return ({ QList* tmpValue0a6cf3 = new QList(static_cast(ptr)->subjectInfoAttributes()); QtNetwork_PackedList { tmpValue0a6cf3, tmpValue0a6cf3->size() }; }); +} + +void QSslCertificate_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QSslCertificate_ToDer(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toDer()); +} + +void* QSslCertificate_ToPem(void* ptr) +{ + return new QByteArray(static_cast(ptr)->toPem()); +} + +struct QtNetwork_PackedString QSslCertificate_ToText(void* ptr) +{ + return ({ QByteArray t52ef8a = static_cast(ptr)->toText().toUtf8(); QtNetwork_PackedString { const_cast(t52ef8a.prepend("WHITESPACE").constData()+10), t52ef8a.size()-10 }; }); +} + +struct QtNetwork_PackedList QSslCertificate_QSslCertificate_Verify(void* certificateChain, struct QtNetwork_PackedString hostName) +{ + return ({ QList* tmpValue6dbb92 = new QList(QSslCertificate::verify(({ QList* tmpP = static_cast*>(certificateChain); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }), QString::fromUtf8(hostName.data, hostName.len))); QtNetwork_PackedList { tmpValue6dbb92, tmpValue6dbb92->size() }; }); +} + +void* QSslCertificate_Version(void* ptr) +{ + return new QByteArray(static_cast(ptr)->version()); +} + +void QSslCertificate_DestroyQSslCertificate(void* ptr) +{ + static_cast(ptr)->~QSslCertificate(); +} + +void* QSslCertificate___extensions_atList(void* ptr, int i) +{ + return new QSslCertificateExtension(({QSslCertificateExtension tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslCertificate___extensions_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslCertificate___extensions_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslCertificate___fromData_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslCertificate___fromData_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslCertificate___fromData_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslCertificate___fromDevice_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslCertificate___fromDevice_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslCertificate___fromDevice_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslCertificate___fromPath_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslCertificate___fromPath_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslCertificate___fromPath_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslCertificate___importPkcs12_caCertificates_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslCertificate___importPkcs12_caCertificates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslCertificate___importPkcs12_caCertificates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslCertificate___issuerInfoAttributes_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslCertificate___issuerInfoAttributes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslCertificate___issuerInfoAttributes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +struct QtNetwork_PackedString QSslCertificate___subjectAlternativeNames_atList(void* ptr, long long v, int i) +{ + return ({ QByteArray tde657c = ({ QString tmp = static_cast*>(ptr)->value(static_cast(v)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMultiMap(); free(ptr); }; tmp; }).toUtf8(); QtNetwork_PackedString { const_cast(tde657c.prepend("WHITESPACE").constData()+10), tde657c.size()-10 }; }); +} + +void QSslCertificate___subjectAlternativeNames_setList(void* ptr, long long key, struct QtNetwork_PackedString i) +{ + static_cast*>(ptr)->insert(static_cast(key), QString::fromUtf8(i.data, i.len)); +} + +void* QSslCertificate___subjectAlternativeNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMultiMap(); +} + +struct QtNetwork_PackedList QSslCertificate___subjectAlternativeNames_keyList(void* ptr) +{ + return ({ QList* tmpValuec3ad92 = new QList(static_cast*>(ptr)->keys()); QtNetwork_PackedList { tmpValuec3ad92, tmpValuec3ad92->size() }; }); +} + +void* QSslCertificate___subjectInfoAttributes_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslCertificate___subjectInfoAttributes_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslCertificate___subjectInfoAttributes_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslCertificate___verify_atList(void* ptr, int i) +{ + return new QSslError(({QSslError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslCertificate___verify_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslCertificate___verify_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslCertificate___verify_certificateChain_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslCertificate___verify_certificateChain_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslCertificate___verify_certificateChain_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +long long QSslCertificate_____subjectAlternativeNames_keyList_atList(void* ptr, int i) +{ + return ({QSsl::AlternativeNameEntryType tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QSslCertificate_____subjectAlternativeNames_keyList_setList(void* ptr, long long i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QSslCertificate_____subjectAlternativeNames_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslCertificateExtension_NewQSslCertificateExtension() +{ + return new QSslCertificateExtension(); +} + +void* QSslCertificateExtension_NewQSslCertificateExtension2(void* other) +{ + return new QSslCertificateExtension(*static_cast(other)); +} + +char QSslCertificateExtension_IsCritical(void* ptr) +{ + return static_cast(ptr)->isCritical(); +} + +char QSslCertificateExtension_IsSupported(void* ptr) +{ + return static_cast(ptr)->isSupported(); +} + +struct QtNetwork_PackedString QSslCertificateExtension_Name(void* ptr) +{ + return ({ QByteArray t994389 = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(t994389.prepend("WHITESPACE").constData()+10), t994389.size()-10 }; }); +} + +struct QtNetwork_PackedString QSslCertificateExtension_Oid(void* ptr) +{ + return ({ QByteArray t615506 = static_cast(ptr)->oid().toUtf8(); QtNetwork_PackedString { const_cast(t615506.prepend("WHITESPACE").constData()+10), t615506.size()-10 }; }); +} + +void QSslCertificateExtension_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QSslCertificateExtension_Value(void* ptr) +{ + return new QVariant(static_cast(ptr)->value()); +} + +void QSslCertificateExtension_DestroyQSslCertificateExtension(void* ptr) +{ + static_cast(ptr)->~QSslCertificateExtension(); +} + +void* QSslCipher_NewQSslCipher() +{ + return new QSslCipher(); +} + +void* QSslCipher_NewQSslCipher2(struct QtNetwork_PackedString name) +{ + return new QSslCipher(QString::fromUtf8(name.data, name.len)); +} + +void* QSslCipher_NewQSslCipher3(struct QtNetwork_PackedString name, long long protocol) +{ + return new QSslCipher(QString::fromUtf8(name.data, name.len), static_cast(protocol)); +} + +void* QSslCipher_NewQSslCipher4(void* other) +{ + return new QSslCipher(*static_cast(other)); +} + +struct QtNetwork_PackedString QSslCipher_AuthenticationMethod(void* ptr) +{ + return ({ QByteArray tfc1f5a = static_cast(ptr)->authenticationMethod().toUtf8(); QtNetwork_PackedString { const_cast(tfc1f5a.prepend("WHITESPACE").constData()+10), tfc1f5a.size()-10 }; }); +} + +struct QtNetwork_PackedString QSslCipher_EncryptionMethod(void* ptr) +{ + return ({ QByteArray ta39f95 = static_cast(ptr)->encryptionMethod().toUtf8(); QtNetwork_PackedString { const_cast(ta39f95.prepend("WHITESPACE").constData()+10), ta39f95.size()-10 }; }); +} + +char QSslCipher_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +struct QtNetwork_PackedString QSslCipher_KeyExchangeMethod(void* ptr) +{ + return ({ QByteArray tfbfb25 = static_cast(ptr)->keyExchangeMethod().toUtf8(); QtNetwork_PackedString { const_cast(tfbfb25.prepend("WHITESPACE").constData()+10), tfbfb25.size()-10 }; }); +} + +struct QtNetwork_PackedString QSslCipher_Name(void* ptr) +{ + return ({ QByteArray t9ef3a9 = static_cast(ptr)->name().toUtf8(); QtNetwork_PackedString { const_cast(t9ef3a9.prepend("WHITESPACE").constData()+10), t9ef3a9.size()-10 }; }); +} + +long long QSslCipher_Protocol(void* ptr) +{ + return static_cast(ptr)->protocol(); +} + +struct QtNetwork_PackedString QSslCipher_ProtocolString(void* ptr) +{ + return ({ QByteArray t99c307 = static_cast(ptr)->protocolString().toUtf8(); QtNetwork_PackedString { const_cast(t99c307.prepend("WHITESPACE").constData()+10), t99c307.size()-10 }; }); +} + +int QSslCipher_SupportedBits(void* ptr) +{ + return static_cast(ptr)->supportedBits(); +} + +void QSslCipher_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +int QSslCipher_UsedBits(void* ptr) +{ + return static_cast(ptr)->usedBits(); +} + +void QSslCipher_DestroyQSslCipher(void* ptr) +{ + static_cast(ptr)->~QSslCipher(); +} + +void* QSslConfiguration_NewQSslConfiguration() +{ + return new QSslConfiguration(); +} + +void* QSslConfiguration_NewQSslConfiguration2(void* other) +{ + return new QSslConfiguration(*static_cast(other)); +} + +struct QtNetwork_PackedList QSslConfiguration_AllowedNextProtocols(void* ptr) +{ + return ({ QList* tmpValueb0056e = new QList(static_cast(ptr)->allowedNextProtocols()); QtNetwork_PackedList { tmpValueb0056e, tmpValueb0056e->size() }; }); +} + +struct QtNetwork_PackedList QSslConfiguration_BackendConfiguration(void* ptr) +{ + return ({ QMap* tmpValue94f7bd = new QMap(static_cast(ptr)->backendConfiguration()); QtNetwork_PackedList { tmpValue94f7bd, tmpValue94f7bd->size() }; }); +} + +struct QtNetwork_PackedList QSslConfiguration_CaCertificates(void* ptr) +{ + return ({ QList* tmpValue26f26b = new QList(static_cast(ptr)->caCertificates()); QtNetwork_PackedList { tmpValue26f26b, tmpValue26f26b->size() }; }); +} + +struct QtNetwork_PackedList QSslConfiguration_Ciphers(void* ptr) +{ + return ({ QList* tmpValue6f1f94 = new QList(static_cast(ptr)->ciphers()); QtNetwork_PackedList { tmpValue6f1f94, tmpValue6f1f94->size() }; }); +} + +void* QSslConfiguration_QSslConfiguration_DefaultConfiguration() +{ + return new QSslConfiguration(QSslConfiguration::defaultConfiguration()); +} + +void* QSslConfiguration_DiffieHellmanParameters(void* ptr) +{ + return new QSslDiffieHellmanParameters(static_cast(ptr)->diffieHellmanParameters()); +} + +void* QSslConfiguration_EphemeralServerKey(void* ptr) +{ + return new QSslKey(static_cast(ptr)->ephemeralServerKey()); +} + +char QSslConfiguration_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +void* QSslConfiguration_LocalCertificate(void* ptr) +{ + return new QSslCertificate(static_cast(ptr)->localCertificate()); +} + +struct QtNetwork_PackedList QSslConfiguration_LocalCertificateChain(void* ptr) +{ + return ({ QList* tmpValuea33763 = new QList(static_cast(ptr)->localCertificateChain()); QtNetwork_PackedList { tmpValuea33763, tmpValuea33763->size() }; }); +} + +void* QSslConfiguration_NextNegotiatedProtocol(void* ptr) +{ + return new QByteArray(static_cast(ptr)->nextNegotiatedProtocol()); +} + +long long QSslConfiguration_NextProtocolNegotiationStatus(void* ptr) +{ + return static_cast(ptr)->nextProtocolNegotiationStatus(); +} + +char QSslConfiguration_OcspStaplingEnabled(void* ptr) +{ + return static_cast(ptr)->ocspStaplingEnabled(); +} + +void* QSslConfiguration_PeerCertificate(void* ptr) +{ + return new QSslCertificate(static_cast(ptr)->peerCertificate()); +} + +struct QtNetwork_PackedList QSslConfiguration_PeerCertificateChain(void* ptr) +{ + return ({ QList* tmpValuea6ed84 = new QList(static_cast(ptr)->peerCertificateChain()); QtNetwork_PackedList { tmpValuea6ed84, tmpValuea6ed84->size() }; }); +} + +int QSslConfiguration_PeerVerifyDepth(void* ptr) +{ + return static_cast(ptr)->peerVerifyDepth(); +} + +long long QSslConfiguration_PeerVerifyMode(void* ptr) +{ + return static_cast(ptr)->peerVerifyMode(); +} + +void* QSslConfiguration_PreSharedKeyIdentityHint(void* ptr) +{ + return new QByteArray(static_cast(ptr)->preSharedKeyIdentityHint()); +} + +void* QSslConfiguration_PrivateKey(void* ptr) +{ + return new QSslKey(static_cast(ptr)->privateKey()); +} + +long long QSslConfiguration_Protocol(void* ptr) +{ + return static_cast(ptr)->protocol(); +} + +void* QSslConfiguration_SessionCipher(void* ptr) +{ + return new QSslCipher(static_cast(ptr)->sessionCipher()); +} + +long long QSslConfiguration_SessionProtocol(void* ptr) +{ + return static_cast(ptr)->sessionProtocol(); +} + +void* QSslConfiguration_SessionTicket(void* ptr) +{ + return new QByteArray(static_cast(ptr)->sessionTicket()); +} + +int QSslConfiguration_SessionTicketLifeTimeHint(void* ptr) +{ + return static_cast(ptr)->sessionTicketLifeTimeHint(); +} + +void QSslConfiguration_SetAllowedNextProtocols(void* ptr, void* protocols) +{ + static_cast(ptr)->setAllowedNextProtocols(({ QList* tmpP = static_cast*>(protocols); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; })); +} + +void QSslConfiguration_SetBackendConfiguration(void* ptr, void* backendConfiguration) +{ + static_cast(ptr)->setBackendConfiguration(*static_cast*>(backendConfiguration)); +} + +void QSslConfiguration_SetBackendConfigurationOption(void* ptr, void* name, void* value) +{ + static_cast(ptr)->setBackendConfigurationOption(*static_cast(name), *static_cast(value)); +} + +void QSslConfiguration_SetCaCertificates(void* ptr, void* certificates) +{ + static_cast(ptr)->setCaCertificates(*static_cast*>(certificates)); +} + +void QSslConfiguration_SetCiphers(void* ptr, void* ciphers) +{ + static_cast(ptr)->setCiphers(*static_cast*>(ciphers)); +} + +void QSslConfiguration_QSslConfiguration_SetDefaultConfiguration(void* configuration) +{ + QSslConfiguration::setDefaultConfiguration(*static_cast(configuration)); +} + +void QSslConfiguration_SetDiffieHellmanParameters(void* ptr, void* dhparams) +{ + static_cast(ptr)->setDiffieHellmanParameters(*static_cast(dhparams)); +} + +void QSslConfiguration_SetEllipticCurves(void* ptr, void* curves) +{ + static_cast(ptr)->setEllipticCurves(*static_cast*>(curves)); +} + +void QSslConfiguration_SetLocalCertificate(void* ptr, void* certificate) +{ + static_cast(ptr)->setLocalCertificate(*static_cast(certificate)); +} + +void QSslConfiguration_SetLocalCertificateChain(void* ptr, void* localChain) +{ + static_cast(ptr)->setLocalCertificateChain(*static_cast*>(localChain)); +} + +void QSslConfiguration_SetOcspStaplingEnabled(void* ptr, char enabled) +{ + static_cast(ptr)->setOcspStaplingEnabled(enabled != 0); +} + +void QSslConfiguration_SetPeerVerifyDepth(void* ptr, int depth) +{ + static_cast(ptr)->setPeerVerifyDepth(depth); +} + +void QSslConfiguration_SetPeerVerifyMode(void* ptr, long long mode) +{ + static_cast(ptr)->setPeerVerifyMode(static_cast(mode)); +} + +void QSslConfiguration_SetPreSharedKeyIdentityHint(void* ptr, void* hint) +{ + static_cast(ptr)->setPreSharedKeyIdentityHint(*static_cast(hint)); +} + +void QSslConfiguration_SetPrivateKey(void* ptr, void* key) +{ + static_cast(ptr)->setPrivateKey(*static_cast(key)); +} + +void QSslConfiguration_SetProtocol(void* ptr, long long protocol) +{ + static_cast(ptr)->setProtocol(static_cast(protocol)); +} + +void QSslConfiguration_SetSessionTicket(void* ptr, void* sessionTicket) +{ + static_cast(ptr)->setSessionTicket(*static_cast(sessionTicket)); +} + +void QSslConfiguration_SetSslOption(void* ptr, long long option, char on) +{ + static_cast(ptr)->setSslOption(static_cast(option), on != 0); +} + +struct QtNetwork_PackedList QSslConfiguration_QSslConfiguration_SupportedCiphers() +{ + return ({ QList* tmpValueeec6c1 = new QList(QSslConfiguration::supportedCiphers()); QtNetwork_PackedList { tmpValueeec6c1, tmpValueeec6c1->size() }; }); +} + +void QSslConfiguration_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +struct QtNetwork_PackedList QSslConfiguration_QSslConfiguration_SystemCaCertificates() +{ + return ({ QList* tmpValue2a78c1 = new QList(QSslConfiguration::systemCaCertificates()); QtNetwork_PackedList { tmpValue2a78c1, tmpValue2a78c1->size() }; }); +} + +char QSslConfiguration_TestSslOption(void* ptr, long long option) +{ + return static_cast(ptr)->testSslOption(static_cast(option)); +} + +void QSslConfiguration_DestroyQSslConfiguration(void* ptr) +{ + static_cast(ptr)->~QSslConfiguration(); +} + +void* QSslConfiguration___allowedNextProtocols_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___allowedNextProtocols_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___allowedNextProtocols_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___backendConfiguration_atList(void* ptr, void* v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(*static_cast(v)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___backendConfiguration_setList(void* ptr, void* key, void* i) +{ + static_cast*>(ptr)->insert(*static_cast(key), *static_cast(i)); +} + +void* QSslConfiguration___backendConfiguration_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtNetwork_PackedList QSslConfiguration___backendConfiguration_keyList(void* ptr) +{ + return ({ QList* tmpValued4e6db = new QList(static_cast*>(ptr)->keys()); QtNetwork_PackedList { tmpValued4e6db, tmpValued4e6db->size() }; }); +} + +void* QSslConfiguration___caCertificates_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___caCertificates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___caCertificates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___ciphers_atList(void* ptr, int i) +{ + return new QSslCipher(({QSslCipher tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___ciphers_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___ciphers_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___ellipticCurves_atList(void* ptr, int i) +{ + return new QSslEllipticCurve(({QSslEllipticCurve tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___ellipticCurves_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___ellipticCurves_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QSslConfiguration___localCertificateChain_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___localCertificateChain_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___localCertificateChain_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___peerCertificateChain_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___peerCertificateChain_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___peerCertificateChain_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___setAllowedNextProtocols_protocols_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___setAllowedNextProtocols_protocols_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___setAllowedNextProtocols_protocols_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___setBackendConfiguration_backendConfiguration_atList(void* ptr, void* v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(*static_cast(v)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QMap(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___setBackendConfiguration_backendConfiguration_setList(void* ptr, void* key, void* i) +{ + static_cast*>(ptr)->insert(*static_cast(key), *static_cast(i)); +} + +void* QSslConfiguration___setBackendConfiguration_backendConfiguration_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QMap(); +} + +struct QtNetwork_PackedList QSslConfiguration___setBackendConfiguration_backendConfiguration_keyList(void* ptr) +{ + return ({ QList* tmpValued4e6db = new QList(static_cast*>(ptr)->keys()); QtNetwork_PackedList { tmpValued4e6db, tmpValued4e6db->size() }; }); +} + +void* QSslConfiguration___setCaCertificates_certificates_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___setCaCertificates_certificates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___setCaCertificates_certificates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___setCiphers_ciphers_atList(void* ptr, int i) +{ + return new QSslCipher(({QSslCipher tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___setCiphers_ciphers_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___setCiphers_ciphers_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___setEllipticCurves_curves_atList(void* ptr, int i) +{ + return new QSslEllipticCurve(({QSslEllipticCurve tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___setEllipticCurves_curves_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___setEllipticCurves_curves_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QSslConfiguration___setLocalCertificateChain_localChain_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___setLocalCertificateChain_localChain_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___setLocalCertificateChain_localChain_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___supportedCiphers_atList(void* ptr, int i) +{ + return new QSslCipher(({QSslCipher tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___supportedCiphers_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___supportedCiphers_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration___supportedEllipticCurves_atList(void* ptr, int i) +{ + return new QSslEllipticCurve(({QSslEllipticCurve tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___supportedEllipticCurves_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___supportedEllipticCurves_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QSslConfiguration___systemCaCertificates_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration___systemCaCertificates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration___systemCaCertificates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration_____backendConfiguration_keyList_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration_____backendConfiguration_keyList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration_____backendConfiguration_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslConfiguration_____setBackendConfiguration_backendConfiguration_keyList_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslConfiguration_____setBackendConfiguration_backendConfiguration_keyList_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslConfiguration_____setBackendConfiguration_backendConfiguration_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslDiffieHellmanParameters_NewQSslDiffieHellmanParameters() +{ + return new QSslDiffieHellmanParameters(); +} + +void* QSslDiffieHellmanParameters_NewQSslDiffieHellmanParameters2(void* other) +{ + return new QSslDiffieHellmanParameters(*static_cast(other)); +} + +void* QSslDiffieHellmanParameters_NewQSslDiffieHellmanParameters3(void* other) +{ + return new QSslDiffieHellmanParameters(*static_cast(other)); +} + +void* QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_DefaultParameters() +{ + return new QSslDiffieHellmanParameters(QSslDiffieHellmanParameters::defaultParameters()); +} + +long long QSslDiffieHellmanParameters_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtNetwork_PackedString QSslDiffieHellmanParameters_ErrorString(void* ptr) +{ + return ({ QByteArray tfc2570 = static_cast(ptr)->errorString().toUtf8(); QtNetwork_PackedString { const_cast(tfc2570.prepend("WHITESPACE").constData()+10), tfc2570.size()-10 }; }); +} + +void* QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_FromEncoded(void* encoded, long long encoding) +{ + return new QSslDiffieHellmanParameters(QSslDiffieHellmanParameters::fromEncoded(*static_cast(encoded), static_cast(encoding))); +} + +void* QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_FromEncoded2(void* device, long long encoding) +{ + return new QSslDiffieHellmanParameters(QSslDiffieHellmanParameters::fromEncoded(static_cast(device), static_cast(encoding))); +} + +char QSslDiffieHellmanParameters_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QSslDiffieHellmanParameters_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void QSslDiffieHellmanParameters_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QSslDiffieHellmanParameters_DestroyQSslDiffieHellmanParameters(void* ptr) +{ + static_cast(ptr)->~QSslDiffieHellmanParameters(); +} + +void* QSslEllipticCurve_NewQSslEllipticCurve() +{ + return new QSslEllipticCurve(); +} + +void* QSslEllipticCurve_QSslEllipticCurve_FromLongName(struct QtNetwork_PackedString name) +{ + return new QSslEllipticCurve(QSslEllipticCurve::fromLongName(QString::fromUtf8(name.data, name.len))); +} + +void* QSslEllipticCurve_QSslEllipticCurve_FromShortName(struct QtNetwork_PackedString name) +{ + return new QSslEllipticCurve(QSslEllipticCurve::fromShortName(QString::fromUtf8(name.data, name.len))); +} + +char QSslEllipticCurve_IsTlsNamedCurve(void* ptr) +{ + return static_cast(ptr)->isTlsNamedCurve(); +} + +char QSslEllipticCurve_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +struct QtNetwork_PackedString QSslEllipticCurve_LongName(void* ptr) +{ + return ({ QByteArray t85b564 = static_cast(ptr)->longName().toUtf8(); QtNetwork_PackedString { const_cast(t85b564.prepend("WHITESPACE").constData()+10), t85b564.size()-10 }; }); +} + +struct QtNetwork_PackedString QSslEllipticCurve_ShortName(void* ptr) +{ + return ({ QByteArray tb6e6fc = static_cast(ptr)->shortName().toUtf8(); QtNetwork_PackedString { const_cast(tb6e6fc.prepend("WHITESPACE").constData()+10), tb6e6fc.size()-10 }; }); +} + +void* QSslError_NewQSslError() +{ + return new QSslError(); +} + +void* QSslError_NewQSslError2(long long error) +{ + return new QSslError(static_cast(error)); +} + +void* QSslError_NewQSslError3(long long error, void* certificate) +{ + return new QSslError(static_cast(error), *static_cast(certificate)); +} + +void* QSslError_NewQSslError4(void* other) +{ + return new QSslError(*static_cast(other)); +} + +void* QSslError_Certificate(void* ptr) +{ + return new QSslCertificate(static_cast(ptr)->certificate()); +} + +long long QSslError_Error(void* ptr) +{ + return static_cast(ptr)->error(); +} + +struct QtNetwork_PackedString QSslError_ErrorString(void* ptr) +{ + return ({ QByteArray t759e3e = static_cast(ptr)->errorString().toUtf8(); QtNetwork_PackedString { const_cast(t759e3e.prepend("WHITESPACE").constData()+10), t759e3e.size()-10 }; }); +} + +void QSslError_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void QSslError_DestroyQSslError(void* ptr) +{ + static_cast(ptr)->~QSslError(); +} + +void* QSslKey_NewQSslKey() +{ + return new QSslKey(); +} + +void* QSslKey_NewQSslKey2(void* encoded, long long algorithm, long long encoding, long long ty, void* passPhrase) +{ + return new QSslKey(*static_cast(encoded), static_cast(algorithm), static_cast(encoding), static_cast(ty), *static_cast(passPhrase)); +} + +void* QSslKey_NewQSslKey3(void* device, long long algorithm, long long encoding, long long ty, void* passPhrase) +{ + return new QSslKey(static_cast(device), static_cast(algorithm), static_cast(encoding), static_cast(ty), *static_cast(passPhrase)); +} + +void* QSslKey_NewQSslKey5(void* other) +{ + return new QSslKey(*static_cast(other)); +} + +long long QSslKey_Algorithm(void* ptr) +{ + return static_cast(ptr)->algorithm(); +} + +void QSslKey_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +char QSslKey_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +int QSslKey_Length(void* ptr) +{ + return static_cast(ptr)->length(); +} + +void QSslKey_Swap(void* ptr, void* other) +{ + static_cast(ptr)->swap(*static_cast(other)); +} + +void* QSslKey_ToDer(void* ptr, void* passPhrase) +{ + return new QByteArray(static_cast(ptr)->toDer(*static_cast(passPhrase))); +} + +void* QSslKey_ToPem(void* ptr, void* passPhrase) +{ + return new QByteArray(static_cast(ptr)->toPem(*static_cast(passPhrase))); +} + +long long QSslKey_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +void QSslKey_DestroyQSslKey(void* ptr) +{ + static_cast(ptr)->~QSslKey(); +} + +void* QSslPreSharedKeyAuthenticator_NewQSslPreSharedKeyAuthenticator() +{ + return new QSslPreSharedKeyAuthenticator(); +} + +void* QSslPreSharedKeyAuthenticator_NewQSslPreSharedKeyAuthenticator2(void* authenticator) +{ + return new QSslPreSharedKeyAuthenticator(*static_cast(authenticator)); +} + +void* QSslPreSharedKeyAuthenticator_Identity(void* ptr) +{ + return new QByteArray(static_cast(ptr)->identity()); +} + +void* QSslPreSharedKeyAuthenticator_IdentityHint(void* ptr) +{ + return new QByteArray(static_cast(ptr)->identityHint()); +} + +int QSslPreSharedKeyAuthenticator_MaximumIdentityLength(void* ptr) +{ + return static_cast(ptr)->maximumIdentityLength(); +} + +int QSslPreSharedKeyAuthenticator_MaximumPreSharedKeyLength(void* ptr) +{ + return static_cast(ptr)->maximumPreSharedKeyLength(); +} + +void* QSslPreSharedKeyAuthenticator_PreSharedKey(void* ptr) +{ + return new QByteArray(static_cast(ptr)->preSharedKey()); +} + +void QSslPreSharedKeyAuthenticator_SetIdentity(void* ptr, void* identity) +{ + static_cast(ptr)->setIdentity(*static_cast(identity)); +} + +void QSslPreSharedKeyAuthenticator_SetPreSharedKey(void* ptr, void* preSharedKey) +{ + static_cast(ptr)->setPreSharedKey(*static_cast(preSharedKey)); +} + +void QSslPreSharedKeyAuthenticator_Swap(void* ptr, void* authenticator) +{ + static_cast(ptr)->swap(*static_cast(authenticator)); +} + +void QSslPreSharedKeyAuthenticator_DestroyQSslPreSharedKeyAuthenticator(void* ptr) +{ + static_cast(ptr)->~QSslPreSharedKeyAuthenticator(); +} + +class MyQSslSocket: public QSslSocket +{ +public: + MyQSslSocket(QObject *parent = Q_NULLPTR) : QSslSocket(parent) {QSslSocket_QSslSocket_QRegisterMetaType();}; + bool atEnd() const { return callbackQAbstractSocket_AtEnd(const_cast(static_cast(this))) != 0; }; + qint64 bytesAvailable() const { return callbackQAbstractSocket_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQAbstractSocket_BytesToWrite(const_cast(static_cast(this))); }; + bool canReadLine() const { return callbackQAbstractSocket_CanReadLine(const_cast(static_cast(this))) != 0; }; + void close() { callbackQAbstractSocket_Close(this); }; + void Signal_Encrypted() { callbackQSslSocket_Encrypted(this); }; + void Signal_EncryptedBytesWritten(qint64 written) { callbackQSslSocket_EncryptedBytesWritten(this, written); }; + void ignoreSslErrors() { callbackQSslSocket_IgnoreSslErrors(this); }; + void Signal_ModeChanged(QSslSocket::SslMode mode) { callbackQSslSocket_ModeChanged(this, mode); }; + void Signal_PeerVerifyError(const QSslError & error) { callbackQSslSocket_PeerVerifyError(this, const_cast(&error)); }; + void Signal_PreSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator * authenticator) { callbackQSslSocket_PreSharedKeyAuthenticationRequired(this, authenticator); }; + qint64 readData(char * data, qint64 maxlen) { QtNetwork_PackedString dataPacked = { data, maxlen };return callbackQAbstractSocket_ReadData(this, dataPacked, maxlen); }; + void resume() { callbackQAbstractSocket_Resume(this); }; + void setReadBufferSize(qint64 size) { callbackQAbstractSocket_SetReadBufferSize(this, size); }; + void setSocketOption(QAbstractSocket::SocketOption option, const QVariant & value) { callbackQAbstractSocket_SetSocketOption(this, option, const_cast(&value)); }; + QVariant socketOption(QAbstractSocket::SocketOption option) { return *static_cast(callbackQAbstractSocket_SocketOption(this, option)); }; + void Signal_SslErrors2(const QList & errors) { callbackQSslSocket_SslErrors2(this, ({ QList* tmpValue570043 = new QList(errors); QtNetwork_PackedList { tmpValue570043, tmpValue570043->size() }; })); }; + void startClientEncryption() { callbackQSslSocket_StartClientEncryption(this); }; + void startServerEncryption() { callbackQSslSocket_StartServerEncryption(this); }; + bool waitForBytesWritten(int msecs) { return callbackQAbstractSocket_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForConnected(int msecs) { return callbackQAbstractSocket_WaitForConnected(this, msecs) != 0; }; + bool waitForDisconnected(int msecs) { return callbackQAbstractSocket_WaitForDisconnected(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQAbstractSocket_WaitForReadyRead(this, msecs) != 0; }; + qint64 writeData(const char * data, qint64 l) { QtNetwork_PackedString dataPacked = { const_cast(data), l };return callbackQAbstractSocket_WriteData(this, dataPacked, l); }; + ~MyQSslSocket() { callbackQSslSocket_DestroyQSslSocket(this); }; + void connectToHost(const QString & hostName, quint16 port, QIODevice::OpenMode openMode, QAbstractSocket::NetworkLayerProtocol protocol) { QByteArray tcf2288 = hostName.toUtf8(); QtNetwork_PackedString hostNamePacked = { const_cast(tcf2288.prepend("WHITESPACE").constData()+10), tcf2288.size()-10 };callbackQAbstractSocket_ConnectToHost(this, hostNamePacked, port, openMode, protocol); }; + void connectToHost(const QHostAddress & address, quint16 port, QIODevice::OpenMode openMode) { callbackQAbstractSocket_ConnectToHost2(this, const_cast(&address), port, openMode); }; + void Signal_Connected() { callbackQAbstractSocket_Connected(this); }; + void disconnectFromHost() { callbackQAbstractSocket_DisconnectFromHost(this); }; + void Signal_Disconnected() { callbackQAbstractSocket_Disconnected(this); }; + void Signal_Error2(QAbstractSocket::SocketError socketError) { callbackQAbstractSocket_Error2(this, socketError); }; + void Signal_HostFound() { callbackQAbstractSocket_HostFound(this); }; + bool isSequential() const { return callbackQAbstractSocket_IsSequential(const_cast(static_cast(this))) != 0; }; + void Signal_ProxyAuthenticationRequired(const QNetworkProxy & proxy, QAuthenticator * authenticator) { callbackQAbstractSocket_ProxyAuthenticationRequired(this, const_cast(&proxy), authenticator); }; + qint64 readLineData(char * data, qint64 maxlen) { QtNetwork_PackedString dataPacked = { data, maxlen };return callbackQAbstractSocket_ReadLineData(this, dataPacked, maxlen); }; + void Signal_StateChanged(QAbstractSocket::SocketState socketState) { callbackQAbstractSocket_StateChanged(this, socketState); }; + void Signal_AboutToClose() { callbackQAbstractSocket_AboutToClose(this); }; + void Signal_BytesWritten(qint64 bytes) { callbackQAbstractSocket_BytesWritten(this, bytes); }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQAbstractSocket_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQAbstractSocket_ChannelReadyRead(this, channel); }; + bool open(QIODevice::OpenMode mode) { return callbackQAbstractSocket_Open(this, mode) != 0; }; + qint64 pos() const { return callbackQAbstractSocket_Pos(const_cast(static_cast(this))); }; + void Signal_ReadChannelFinished() { callbackQAbstractSocket_ReadChannelFinished(this); }; + void Signal_ReadyRead() { callbackQAbstractSocket_ReadyRead(this); }; + bool reset() { return callbackQAbstractSocket_Reset(this) != 0; }; + bool seek(qint64 pos) { return callbackQAbstractSocket_Seek(this, pos) != 0; }; + qint64 size() const { return callbackQAbstractSocket_Size(const_cast(static_cast(this))); }; + void childEvent(QChildEvent * event) { callbackQAbstractSocket_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQAbstractSocket_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQAbstractSocket_CustomEvent(this, event); }; + void deleteLater() { callbackQAbstractSocket_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQAbstractSocket_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQAbstractSocket_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQAbstractSocket_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQAbstractSocket_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQAbstractSocket_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQAbstractSocket_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQAbstractSocket_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQSslSocket*) + +int QSslSocket_QSslSocket_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QSslSocket_NewQSslSocket(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQSslSocket(static_cast(parent)); + } else { + return new MyQSslSocket(static_cast(parent)); + } +} + +void QSslSocket_AddCaCertificate(void* ptr, void* certificate) +{ + static_cast(ptr)->addCaCertificate(*static_cast(certificate)); +} + +char QSslSocket_AddCaCertificates(void* ptr, struct QtNetwork_PackedString path, long long format, long long syntax) +{ + return static_cast(ptr)->addCaCertificates(QString::fromUtf8(path.data, path.len), static_cast(format), static_cast(syntax)); +} + +void QSslSocket_AddCaCertificates2(void* ptr, void* certificates) +{ + static_cast(ptr)->addCaCertificates(*static_cast*>(certificates)); +} + +void QSslSocket_QSslSocket_AddDefaultCaCertificate(void* certificate) +{ + QSslSocket::addDefaultCaCertificate(*static_cast(certificate)); +} + +char QSslSocket_QSslSocket_AddDefaultCaCertificates(struct QtNetwork_PackedString path, long long encoding, long long syntax) +{ + return QSslSocket::addDefaultCaCertificates(QString::fromUtf8(path.data, path.len), static_cast(encoding), static_cast(syntax)); +} + +void QSslSocket_QSslSocket_AddDefaultCaCertificates2(void* certificates) +{ + QSslSocket::addDefaultCaCertificates(*static_cast*>(certificates)); +} + +void QSslSocket_ConnectToHostEncrypted(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, long long mode, long long protocol) +{ + static_cast(ptr)->connectToHostEncrypted(QString::fromUtf8(hostName.data, hostName.len), port, static_cast(mode), static_cast(protocol)); +} + +void QSslSocket_ConnectToHostEncrypted2(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, struct QtNetwork_PackedString sslPeerName, long long mode, long long protocol) +{ + static_cast(ptr)->connectToHostEncrypted(QString::fromUtf8(hostName.data, hostName.len), port, QString::fromUtf8(sslPeerName.data, sslPeerName.len), static_cast(mode), static_cast(protocol)); +} + +void QSslSocket_ConnectEncrypted(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QSslSocket::encrypted), static_cast(ptr), static_cast(&MyQSslSocket::Signal_Encrypted), static_cast(t)); +} + +void QSslSocket_DisconnectEncrypted(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QSslSocket::encrypted), static_cast(ptr), static_cast(&MyQSslSocket::Signal_Encrypted)); +} + +void QSslSocket_Encrypted(void* ptr) +{ + static_cast(ptr)->encrypted(); +} + +long long QSslSocket_EncryptedBytesAvailable(void* ptr) +{ + return static_cast(ptr)->encryptedBytesAvailable(); +} + +long long QSslSocket_EncryptedBytesToWrite(void* ptr) +{ + return static_cast(ptr)->encryptedBytesToWrite(); +} + +void QSslSocket_ConnectEncryptedBytesWritten(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QSslSocket::encryptedBytesWritten), static_cast(ptr), static_cast(&MyQSslSocket::Signal_EncryptedBytesWritten), static_cast(t)); +} + +void QSslSocket_DisconnectEncryptedBytesWritten(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QSslSocket::encryptedBytesWritten), static_cast(ptr), static_cast(&MyQSslSocket::Signal_EncryptedBytesWritten)); +} + +void QSslSocket_EncryptedBytesWritten(void* ptr, long long written) +{ + static_cast(ptr)->encryptedBytesWritten(written); +} + +void QSslSocket_IgnoreSslErrors(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "ignoreSslErrors"); +} + +void QSslSocket_IgnoreSslErrorsDefault(void* ptr) +{ + static_cast(ptr)->QSslSocket::ignoreSslErrors(); +} + +void QSslSocket_IgnoreSslErrors2(void* ptr, void* errors) +{ + static_cast(ptr)->ignoreSslErrors(*static_cast*>(errors)); +} + +char QSslSocket_IsEncrypted(void* ptr) +{ + return static_cast(ptr)->isEncrypted(); +} + +void* QSslSocket_LocalCertificate(void* ptr) +{ + return new QSslCertificate(static_cast(ptr)->localCertificate()); +} + +struct QtNetwork_PackedList QSslSocket_LocalCertificateChain(void* ptr) +{ + return ({ QList* tmpValue2adf53 = new QList(static_cast(ptr)->localCertificateChain()); QtNetwork_PackedList { tmpValue2adf53, tmpValue2adf53->size() }; }); +} + +long long QSslSocket_Mode(void* ptr) +{ + return static_cast(ptr)->mode(); +} + +void QSslSocket_ConnectModeChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QSslSocket::modeChanged), static_cast(ptr), static_cast(&MyQSslSocket::Signal_ModeChanged), static_cast(t)); +} + +void QSslSocket_DisconnectModeChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QSslSocket::modeChanged), static_cast(ptr), static_cast(&MyQSslSocket::Signal_ModeChanged)); +} + +void QSslSocket_ModeChanged(void* ptr, long long mode) +{ + static_cast(ptr)->modeChanged(static_cast(mode)); +} + +struct QtNetwork_PackedList QSslSocket_OcspResponses(void* ptr) +{ + return ({ QVector* tmpValueb30b8c = new QVector(static_cast(ptr)->ocspResponses()); QtNetwork_PackedList { tmpValueb30b8c, tmpValueb30b8c->size() }; }); +} + +void* QSslSocket_PeerCertificate(void* ptr) +{ + return new QSslCertificate(static_cast(ptr)->peerCertificate()); +} + +struct QtNetwork_PackedList QSslSocket_PeerCertificateChain(void* ptr) +{ + return ({ QList* tmpValue11e917 = new QList(static_cast(ptr)->peerCertificateChain()); QtNetwork_PackedList { tmpValue11e917, tmpValue11e917->size() }; }); +} + +int QSslSocket_PeerVerifyDepth(void* ptr) +{ + return static_cast(ptr)->peerVerifyDepth(); +} + +void QSslSocket_ConnectPeerVerifyError(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QSslSocket::peerVerifyError), static_cast(ptr), static_cast(&MyQSslSocket::Signal_PeerVerifyError), static_cast(t)); +} + +void QSslSocket_DisconnectPeerVerifyError(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QSslSocket::peerVerifyError), static_cast(ptr), static_cast(&MyQSslSocket::Signal_PeerVerifyError)); +} + +void QSslSocket_PeerVerifyError(void* ptr, void* error) +{ + static_cast(ptr)->peerVerifyError(*static_cast(error)); +} + +long long QSslSocket_PeerVerifyMode(void* ptr) +{ + return static_cast(ptr)->peerVerifyMode(); +} + +struct QtNetwork_PackedString QSslSocket_PeerVerifyName(void* ptr) +{ + return ({ QByteArray tefa5dd = static_cast(ptr)->peerVerifyName().toUtf8(); QtNetwork_PackedString { const_cast(tefa5dd.prepend("WHITESPACE").constData()+10), tefa5dd.size()-10 }; }); +} + +void QSslSocket_ConnectPreSharedKeyAuthenticationRequired(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QSslSocket::preSharedKeyAuthenticationRequired), static_cast(ptr), static_cast(&MyQSslSocket::Signal_PreSharedKeyAuthenticationRequired), static_cast(t)); +} + +void QSslSocket_DisconnectPreSharedKeyAuthenticationRequired(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QSslSocket::preSharedKeyAuthenticationRequired), static_cast(ptr), static_cast(&MyQSslSocket::Signal_PreSharedKeyAuthenticationRequired)); +} + +void QSslSocket_PreSharedKeyAuthenticationRequired(void* ptr, void* authenticator) +{ + static_cast(ptr)->preSharedKeyAuthenticationRequired(static_cast(authenticator)); +} + +void* QSslSocket_PrivateKey(void* ptr) +{ + return new QSslKey(static_cast(ptr)->privateKey()); +} + +long long QSslSocket_Protocol(void* ptr) +{ + return static_cast(ptr)->protocol(); +} + +void* QSslSocket_SessionCipher(void* ptr) +{ + return new QSslCipher(static_cast(ptr)->sessionCipher()); +} + +long long QSslSocket_SessionProtocol(void* ptr) +{ + return static_cast(ptr)->sessionProtocol(); +} + +void QSslSocket_SetLocalCertificate(void* ptr, void* certificate) +{ + static_cast(ptr)->setLocalCertificate(*static_cast(certificate)); +} + +void QSslSocket_SetLocalCertificate2(void* ptr, struct QtNetwork_PackedString path, long long format) +{ + static_cast(ptr)->setLocalCertificate(QString::fromUtf8(path.data, path.len), static_cast(format)); +} + +void QSslSocket_SetLocalCertificateChain(void* ptr, void* localChain) +{ + static_cast(ptr)->setLocalCertificateChain(*static_cast*>(localChain)); +} + +void QSslSocket_SetPeerVerifyDepth(void* ptr, int depth) +{ + static_cast(ptr)->setPeerVerifyDepth(depth); +} + +void QSslSocket_SetPeerVerifyMode(void* ptr, long long mode) +{ + static_cast(ptr)->setPeerVerifyMode(static_cast(mode)); +} + +void QSslSocket_SetPeerVerifyName(void* ptr, struct QtNetwork_PackedString hostName) +{ + static_cast(ptr)->setPeerVerifyName(QString::fromUtf8(hostName.data, hostName.len)); +} + +void QSslSocket_SetPrivateKey(void* ptr, void* key) +{ + static_cast(ptr)->setPrivateKey(*static_cast(key)); +} + +void QSslSocket_SetPrivateKey2(void* ptr, struct QtNetwork_PackedString fileName, long long algorithm, long long format, void* passPhrase) +{ + static_cast(ptr)->setPrivateKey(QString::fromUtf8(fileName.data, fileName.len), static_cast(algorithm), static_cast(format), *static_cast(passPhrase)); +} + +void QSslSocket_SetProtocol(void* ptr, long long protocol) +{ + static_cast(ptr)->setProtocol(static_cast(protocol)); +} + +void QSslSocket_SetSslConfiguration(void* ptr, void* configuration) +{ + static_cast(ptr)->setSslConfiguration(*static_cast(configuration)); +} + +void* QSslSocket_SslConfiguration(void* ptr) +{ + return new QSslConfiguration(static_cast(ptr)->sslConfiguration()); +} + +struct QtNetwork_PackedList QSslSocket_SslErrors(void* ptr) +{ + return ({ QList* tmpValued3510b = new QList(static_cast(ptr)->sslErrors()); QtNetwork_PackedList { tmpValued3510b, tmpValued3510b->size() }; }); +} + +void QSslSocket_ConnectSslErrors2(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast &)>(&QSslSocket::sslErrors), static_cast(ptr), static_cast &)>(&MyQSslSocket::Signal_SslErrors2), static_cast(t)); +} + +void QSslSocket_DisconnectSslErrors2(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast &)>(&QSslSocket::sslErrors), static_cast(ptr), static_cast &)>(&MyQSslSocket::Signal_SslErrors2)); +} + +void QSslSocket_SslErrors2(void* ptr, void* errors) +{ + static_cast(ptr)->sslErrors(*static_cast*>(errors)); +} + +long QSslSocket_QSslSocket_SslLibraryBuildVersionNumber() +{ + return QSslSocket::sslLibraryBuildVersionNumber(); +} + +struct QtNetwork_PackedString QSslSocket_QSslSocket_SslLibraryBuildVersionString() +{ + return ({ QByteArray t55b90e = QSslSocket::sslLibraryBuildVersionString().toUtf8(); QtNetwork_PackedString { const_cast(t55b90e.prepend("WHITESPACE").constData()+10), t55b90e.size()-10 }; }); +} + +long QSslSocket_QSslSocket_SslLibraryVersionNumber() +{ + return QSslSocket::sslLibraryVersionNumber(); +} + +struct QtNetwork_PackedString QSslSocket_QSslSocket_SslLibraryVersionString() +{ + return ({ QByteArray tdd64b4 = QSslSocket::sslLibraryVersionString().toUtf8(); QtNetwork_PackedString { const_cast(tdd64b4.prepend("WHITESPACE").constData()+10), tdd64b4.size()-10 }; }); +} + +void QSslSocket_StartClientEncryption(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "startClientEncryption"); +} + +void QSslSocket_StartClientEncryptionDefault(void* ptr) +{ + static_cast(ptr)->QSslSocket::startClientEncryption(); +} + +void QSslSocket_StartServerEncryption(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "startServerEncryption"); +} + +void QSslSocket_StartServerEncryptionDefault(void* ptr) +{ + static_cast(ptr)->QSslSocket::startServerEncryption(); +} + +char QSslSocket_QSslSocket_SupportsSsl() +{ + return QSslSocket::supportsSsl(); +} + +char QSslSocket_WaitForEncrypted(void* ptr, int msecs) +{ + return static_cast(ptr)->waitForEncrypted(msecs); +} + +void QSslSocket_DestroyQSslSocket(void* ptr) +{ + static_cast(ptr)->~QSslSocket(); +} + +void QSslSocket_DestroyQSslSocketDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QSslSocket___addCaCertificates_certificates_atList2(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___addCaCertificates_certificates_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___addCaCertificates_certificates_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___addDefaultCaCertificates_certificates_atList2(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___addDefaultCaCertificates_certificates_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___addDefaultCaCertificates_certificates_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___caCertificates_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___caCertificates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___caCertificates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___ciphers_atList(void* ptr, int i) +{ + return new QSslCipher(({QSslCipher tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___ciphers_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___ciphers_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___defaultCaCertificates_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___defaultCaCertificates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___defaultCaCertificates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___defaultCiphers_atList(void* ptr, int i) +{ + return new QSslCipher(({QSslCipher tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___defaultCiphers_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___defaultCiphers_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___ignoreSslErrors_errors_atList2(void* ptr, int i) +{ + return new QSslError(({QSslError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___ignoreSslErrors_errors_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___ignoreSslErrors_errors_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___localCertificateChain_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___localCertificateChain_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___localCertificateChain_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___ocspResponses_atList(void* ptr, int i) +{ + return new QOcspResponse(({QOcspResponse tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QVector(); free(ptr); }; tmp; })); +} + +void QSslSocket___ocspResponses_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___ocspResponses_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QSslSocket___peerCertificateChain_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___peerCertificateChain_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___peerCertificateChain_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___setCaCertificates_certificates_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___setCaCertificates_certificates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___setCaCertificates_certificates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___setCiphers_ciphers_atList(void* ptr, int i) +{ + return new QSslCipher(({QSslCipher tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___setCiphers_ciphers_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___setCiphers_ciphers_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___setDefaultCaCertificates_certificates_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___setDefaultCaCertificates_certificates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___setDefaultCaCertificates_certificates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___setDefaultCiphers_ciphers_atList(void* ptr, int i) +{ + return new QSslCipher(({QSslCipher tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___setDefaultCiphers_ciphers_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___setDefaultCiphers_ciphers_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___setLocalCertificateChain_localChain_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___setLocalCertificateChain_localChain_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___setLocalCertificateChain_localChain_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___sslErrors_atList(void* ptr, int i) +{ + return new QSslError(({QSslError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___sslErrors_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___sslErrors_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___sslErrors_errors_atList2(void* ptr, int i) +{ + return new QSslError(({QSslError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___sslErrors_errors_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___sslErrors_errors_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___supportedCiphers_atList(void* ptr, int i) +{ + return new QSslCipher(({QSslCipher tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___supportedCiphers_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___supportedCiphers_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QSslSocket___systemCaCertificates_atList(void* ptr, int i) +{ + return new QSslCertificate(({QSslCertificate tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QSslSocket___systemCaCertificates_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QSslSocket___systemCaCertificates_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQTcpServer: public QTcpServer +{ +public: + MyQTcpServer(QObject *parent = Q_NULLPTR) : QTcpServer(parent) {QTcpServer_QTcpServer_QRegisterMetaType();}; + void Signal_AcceptError(QAbstractSocket::SocketError socketError) { callbackQTcpServer_AcceptError(this, socketError); }; + bool hasPendingConnections() const { return callbackQTcpServer_HasPendingConnections(const_cast(static_cast(this))) != 0; }; + void Signal_NewConnection() { callbackQTcpServer_NewConnection(this); }; + QTcpSocket * nextPendingConnection() { return static_cast(callbackQTcpServer_NextPendingConnection(this)); }; + ~MyQTcpServer() { callbackQTcpServer_DestroyQTcpServer(this); }; + void childEvent(QChildEvent * event) { callbackQTcpServer_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQTcpServer_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQTcpServer_CustomEvent(this, event); }; + void deleteLater() { callbackQTcpServer_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQTcpServer_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQTcpServer_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQTcpServer_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQTcpServer_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQTcpServer_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQTcpServer_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQTcpServer_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTcpServer*) + +int QTcpServer_QTcpServer_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTcpServer_NewQTcpServer(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpServer(static_cast(parent)); + } else { + return new MyQTcpServer(static_cast(parent)); + } +} + +void QTcpServer_ConnectAcceptError(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QTcpServer::acceptError), static_cast(ptr), static_cast(&MyQTcpServer::Signal_AcceptError), static_cast(t)); +} + +void QTcpServer_DisconnectAcceptError(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTcpServer::acceptError), static_cast(ptr), static_cast(&MyQTcpServer::Signal_AcceptError)); +} + +void QTcpServer_AcceptError(void* ptr, long long socketError) +{ + static_cast(ptr)->acceptError(static_cast(socketError)); +} + +void QTcpServer_AddPendingConnection(void* ptr, void* socket) +{ + static_cast(ptr)->addPendingConnection(static_cast(socket)); +} + +void QTcpServer_Close(void* ptr) +{ + static_cast(ptr)->close(); +} + +struct QtNetwork_PackedString QTcpServer_ErrorString(void* ptr) +{ + return ({ QByteArray taa8c34 = static_cast(ptr)->errorString().toUtf8(); QtNetwork_PackedString { const_cast(taa8c34.prepend("WHITESPACE").constData()+10), taa8c34.size()-10 }; }); +} + +char QTcpServer_HasPendingConnections(void* ptr) +{ + return static_cast(ptr)->hasPendingConnections(); +} + +char QTcpServer_HasPendingConnectionsDefault(void* ptr) +{ + return static_cast(ptr)->QTcpServer::hasPendingConnections(); +} + +char QTcpServer_IsListening(void* ptr) +{ + return static_cast(ptr)->isListening(); +} + +char QTcpServer_Listen(void* ptr, void* address, unsigned short port) +{ + return static_cast(ptr)->listen(*static_cast(address), port); +} + +int QTcpServer_MaxPendingConnections(void* ptr) +{ + return static_cast(ptr)->maxPendingConnections(); +} + +void QTcpServer_ConnectNewConnection(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QTcpServer::newConnection), static_cast(ptr), static_cast(&MyQTcpServer::Signal_NewConnection), static_cast(t)); +} + +void QTcpServer_DisconnectNewConnection(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QTcpServer::newConnection), static_cast(ptr), static_cast(&MyQTcpServer::Signal_NewConnection)); +} + +void QTcpServer_NewConnection(void* ptr) +{ + static_cast(ptr)->newConnection(); +} + +void* QTcpServer_NextPendingConnection(void* ptr) +{ + return static_cast(ptr)->nextPendingConnection(); +} + +void* QTcpServer_NextPendingConnectionDefault(void* ptr) +{ + return static_cast(ptr)->QTcpServer::nextPendingConnection(); +} + +void QTcpServer_PauseAccepting(void* ptr) +{ + static_cast(ptr)->pauseAccepting(); +} + +void* QTcpServer_Proxy(void* ptr) +{ + return new QNetworkProxy(static_cast(ptr)->proxy()); +} + +void QTcpServer_ResumeAccepting(void* ptr) +{ + static_cast(ptr)->resumeAccepting(); +} + +void* QTcpServer_ServerAddress(void* ptr) +{ + return new QHostAddress(static_cast(ptr)->serverAddress()); +} + +long long QTcpServer_ServerError(void* ptr) +{ + return static_cast(ptr)->serverError(); +} + +unsigned short QTcpServer_ServerPort(void* ptr) +{ + return static_cast(ptr)->serverPort(); +} + +void QTcpServer_SetMaxPendingConnections(void* ptr, int numConnections) +{ + static_cast(ptr)->setMaxPendingConnections(numConnections); +} + +void QTcpServer_SetProxy(void* ptr, void* networkProxy) +{ + static_cast(ptr)->setProxy(*static_cast(networkProxy)); +} + +char QTcpServer_WaitForNewConnection(void* ptr, int msec, char* timedOut) +{ + return static_cast(ptr)->waitForNewConnection(msec, reinterpret_cast(timedOut)); +} + +void QTcpServer_DestroyQTcpServer(void* ptr) +{ + static_cast(ptr)->~QTcpServer(); +} + +void QTcpServer_DestroyQTcpServerDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QTcpServer___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTcpServer___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QTcpServer___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTcpServer___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QTcpServer___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QTcpServer___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTcpServer___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTcpServer___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QTcpServer___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTcpServer___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTcpServer___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QTcpServer___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QTcpServer___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QTcpServer___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QTcpServer___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QTcpServer_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QTcpServer::childEvent(static_cast(event)); +} + +void QTcpServer_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QTcpServer::connectNotify(*static_cast(sign)); +} + +void QTcpServer_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QTcpServer::customEvent(static_cast(event)); +} + +void QTcpServer_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QTcpServer::deleteLater(); +} + +void QTcpServer_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QTcpServer::disconnectNotify(*static_cast(sign)); +} + +char QTcpServer_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QTcpServer::event(static_cast(e)); +} + +char QTcpServer_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QTcpServer::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QTcpServer_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QTcpServer::metaObject()); +} + +void QTcpServer_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QTcpServer::timerEvent(static_cast(event)); +} + +class MyQTcpSocket: public QTcpSocket +{ +public: + MyQTcpSocket(QObject *parent = Q_NULLPTR) : QTcpSocket(parent) {QTcpSocket_QTcpSocket_QRegisterMetaType();}; + ~MyQTcpSocket() { callbackQTcpSocket_DestroyQTcpSocket(this); }; + bool atEnd() const { return callbackQAbstractSocket_AtEnd(const_cast(static_cast(this))) != 0; }; + qint64 bytesAvailable() const { return callbackQAbstractSocket_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQAbstractSocket_BytesToWrite(const_cast(static_cast(this))); }; + bool canReadLine() const { return callbackQAbstractSocket_CanReadLine(const_cast(static_cast(this))) != 0; }; + void close() { callbackQAbstractSocket_Close(this); }; + void connectToHost(const QString & hostName, quint16 port, QIODevice::OpenMode openMode, QAbstractSocket::NetworkLayerProtocol protocol) { QByteArray tcf2288 = hostName.toUtf8(); QtNetwork_PackedString hostNamePacked = { const_cast(tcf2288.prepend("WHITESPACE").constData()+10), tcf2288.size()-10 };callbackQAbstractSocket_ConnectToHost(this, hostNamePacked, port, openMode, protocol); }; + void connectToHost(const QHostAddress & address, quint16 port, QIODevice::OpenMode openMode) { callbackQAbstractSocket_ConnectToHost2(this, const_cast(&address), port, openMode); }; + void Signal_Connected() { callbackQAbstractSocket_Connected(this); }; + void disconnectFromHost() { callbackQAbstractSocket_DisconnectFromHost(this); }; + void Signal_Disconnected() { callbackQAbstractSocket_Disconnected(this); }; + void Signal_Error2(QAbstractSocket::SocketError socketError) { callbackQAbstractSocket_Error2(this, socketError); }; + void Signal_HostFound() { callbackQAbstractSocket_HostFound(this); }; + bool isSequential() const { return callbackQAbstractSocket_IsSequential(const_cast(static_cast(this))) != 0; }; + void Signal_ProxyAuthenticationRequired(const QNetworkProxy & proxy, QAuthenticator * authenticator) { callbackQAbstractSocket_ProxyAuthenticationRequired(this, const_cast(&proxy), authenticator); }; + qint64 readData(char * data, qint64 maxSize) { QtNetwork_PackedString dataPacked = { data, maxSize };return callbackQAbstractSocket_ReadData(this, dataPacked, maxSize); }; + qint64 readLineData(char * data, qint64 maxlen) { QtNetwork_PackedString dataPacked = { data, maxlen };return callbackQAbstractSocket_ReadLineData(this, dataPacked, maxlen); }; + void resume() { callbackQAbstractSocket_Resume(this); }; + void setReadBufferSize(qint64 size) { callbackQAbstractSocket_SetReadBufferSize(this, size); }; + void setSocketOption(QAbstractSocket::SocketOption option, const QVariant & value) { callbackQAbstractSocket_SetSocketOption(this, option, const_cast(&value)); }; + QVariant socketOption(QAbstractSocket::SocketOption option) { return *static_cast(callbackQAbstractSocket_SocketOption(this, option)); }; + void Signal_StateChanged(QAbstractSocket::SocketState socketState) { callbackQAbstractSocket_StateChanged(this, socketState); }; + bool waitForBytesWritten(int msecs) { return callbackQAbstractSocket_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForConnected(int msecs) { return callbackQAbstractSocket_WaitForConnected(this, msecs) != 0; }; + bool waitForDisconnected(int msecs) { return callbackQAbstractSocket_WaitForDisconnected(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQAbstractSocket_WaitForReadyRead(this, msecs) != 0; }; + qint64 writeData(const char * data, qint64 size) { QtNetwork_PackedString dataPacked = { const_cast(data), size };return callbackQAbstractSocket_WriteData(this, dataPacked, size); }; + void Signal_AboutToClose() { callbackQAbstractSocket_AboutToClose(this); }; + void Signal_BytesWritten(qint64 bytes) { callbackQAbstractSocket_BytesWritten(this, bytes); }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQAbstractSocket_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQAbstractSocket_ChannelReadyRead(this, channel); }; + bool open(QIODevice::OpenMode mode) { return callbackQAbstractSocket_Open(this, mode) != 0; }; + qint64 pos() const { return callbackQAbstractSocket_Pos(const_cast(static_cast(this))); }; + void Signal_ReadChannelFinished() { callbackQAbstractSocket_ReadChannelFinished(this); }; + void Signal_ReadyRead() { callbackQAbstractSocket_ReadyRead(this); }; + bool reset() { return callbackQAbstractSocket_Reset(this) != 0; }; + bool seek(qint64 pos) { return callbackQAbstractSocket_Seek(this, pos) != 0; }; + qint64 size() const { return callbackQAbstractSocket_Size(const_cast(static_cast(this))); }; + void childEvent(QChildEvent * event) { callbackQAbstractSocket_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQAbstractSocket_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQAbstractSocket_CustomEvent(this, event); }; + void deleteLater() { callbackQAbstractSocket_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQAbstractSocket_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQAbstractSocket_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQAbstractSocket_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQAbstractSocket_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQAbstractSocket_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQAbstractSocket_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQAbstractSocket_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQTcpSocket*) + +int QTcpSocket_QTcpSocket_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QTcpSocket_NewQTcpSocket(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQTcpSocket(static_cast(parent)); + } else { + return new MyQTcpSocket(static_cast(parent)); + } +} + +void QTcpSocket_DestroyQTcpSocket(void* ptr) +{ + static_cast(ptr)->~QTcpSocket(); +} + +void QTcpSocket_DestroyQTcpSocketDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQUdpSocket: public QUdpSocket +{ +public: + MyQUdpSocket(QObject *parent = Q_NULLPTR) : QUdpSocket(parent) {QUdpSocket_QUdpSocket_QRegisterMetaType();}; + ~MyQUdpSocket() { callbackQUdpSocket_DestroyQUdpSocket(this); }; + bool atEnd() const { return callbackQAbstractSocket_AtEnd(const_cast(static_cast(this))) != 0; }; + qint64 bytesAvailable() const { return callbackQAbstractSocket_BytesAvailable(const_cast(static_cast(this))); }; + qint64 bytesToWrite() const { return callbackQAbstractSocket_BytesToWrite(const_cast(static_cast(this))); }; + bool canReadLine() const { return callbackQAbstractSocket_CanReadLine(const_cast(static_cast(this))) != 0; }; + void close() { callbackQAbstractSocket_Close(this); }; + void connectToHost(const QString & hostName, quint16 port, QIODevice::OpenMode openMode, QAbstractSocket::NetworkLayerProtocol protocol) { QByteArray tcf2288 = hostName.toUtf8(); QtNetwork_PackedString hostNamePacked = { const_cast(tcf2288.prepend("WHITESPACE").constData()+10), tcf2288.size()-10 };callbackQAbstractSocket_ConnectToHost(this, hostNamePacked, port, openMode, protocol); }; + void connectToHost(const QHostAddress & address, quint16 port, QIODevice::OpenMode openMode) { callbackQAbstractSocket_ConnectToHost2(this, const_cast(&address), port, openMode); }; + void Signal_Connected() { callbackQAbstractSocket_Connected(this); }; + void disconnectFromHost() { callbackQAbstractSocket_DisconnectFromHost(this); }; + void Signal_Disconnected() { callbackQAbstractSocket_Disconnected(this); }; + void Signal_Error2(QAbstractSocket::SocketError socketError) { callbackQAbstractSocket_Error2(this, socketError); }; + void Signal_HostFound() { callbackQAbstractSocket_HostFound(this); }; + bool isSequential() const { return callbackQAbstractSocket_IsSequential(const_cast(static_cast(this))) != 0; }; + void Signal_ProxyAuthenticationRequired(const QNetworkProxy & proxy, QAuthenticator * authenticator) { callbackQAbstractSocket_ProxyAuthenticationRequired(this, const_cast(&proxy), authenticator); }; + qint64 readData(char * data, qint64 maxSize) { QtNetwork_PackedString dataPacked = { data, maxSize };return callbackQAbstractSocket_ReadData(this, dataPacked, maxSize); }; + qint64 readLineData(char * data, qint64 maxlen) { QtNetwork_PackedString dataPacked = { data, maxlen };return callbackQAbstractSocket_ReadLineData(this, dataPacked, maxlen); }; + void resume() { callbackQAbstractSocket_Resume(this); }; + void setReadBufferSize(qint64 size) { callbackQAbstractSocket_SetReadBufferSize(this, size); }; + void setSocketOption(QAbstractSocket::SocketOption option, const QVariant & value) { callbackQAbstractSocket_SetSocketOption(this, option, const_cast(&value)); }; + QVariant socketOption(QAbstractSocket::SocketOption option) { return *static_cast(callbackQAbstractSocket_SocketOption(this, option)); }; + void Signal_StateChanged(QAbstractSocket::SocketState socketState) { callbackQAbstractSocket_StateChanged(this, socketState); }; + bool waitForBytesWritten(int msecs) { return callbackQAbstractSocket_WaitForBytesWritten(this, msecs) != 0; }; + bool waitForConnected(int msecs) { return callbackQAbstractSocket_WaitForConnected(this, msecs) != 0; }; + bool waitForDisconnected(int msecs) { return callbackQAbstractSocket_WaitForDisconnected(this, msecs) != 0; }; + bool waitForReadyRead(int msecs) { return callbackQAbstractSocket_WaitForReadyRead(this, msecs) != 0; }; + qint64 writeData(const char * data, qint64 size) { QtNetwork_PackedString dataPacked = { const_cast(data), size };return callbackQAbstractSocket_WriteData(this, dataPacked, size); }; + void Signal_AboutToClose() { callbackQAbstractSocket_AboutToClose(this); }; + void Signal_BytesWritten(qint64 bytes) { callbackQAbstractSocket_BytesWritten(this, bytes); }; + void Signal_ChannelBytesWritten(int channel, qint64 bytes) { callbackQAbstractSocket_ChannelBytesWritten(this, channel, bytes); }; + void Signal_ChannelReadyRead(int channel) { callbackQAbstractSocket_ChannelReadyRead(this, channel); }; + bool open(QIODevice::OpenMode mode) { return callbackQAbstractSocket_Open(this, mode) != 0; }; + qint64 pos() const { return callbackQAbstractSocket_Pos(const_cast(static_cast(this))); }; + void Signal_ReadChannelFinished() { callbackQAbstractSocket_ReadChannelFinished(this); }; + void Signal_ReadyRead() { callbackQAbstractSocket_ReadyRead(this); }; + bool reset() { return callbackQAbstractSocket_Reset(this) != 0; }; + bool seek(qint64 pos) { return callbackQAbstractSocket_Seek(this, pos) != 0; }; + qint64 size() const { return callbackQAbstractSocket_Size(const_cast(static_cast(this))); }; + void childEvent(QChildEvent * event) { callbackQAbstractSocket_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQAbstractSocket_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQAbstractSocket_CustomEvent(this, event); }; + void deleteLater() { callbackQAbstractSocket_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQAbstractSocket_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQAbstractSocket_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQAbstractSocket_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQAbstractSocket_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQAbstractSocket_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtNetwork_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQAbstractSocket_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQAbstractSocket_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQUdpSocket*) + +int QUdpSocket_QUdpSocket_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QUdpSocket_NewQUdpSocket(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQUdpSocket(static_cast(parent)); + } else { + return new MyQUdpSocket(static_cast(parent)); + } +} + +char QUdpSocket_HasPendingDatagrams(void* ptr) +{ + return static_cast(ptr)->hasPendingDatagrams(); +} + +char QUdpSocket_JoinMulticastGroup(void* ptr, void* groupAddress) +{ + return static_cast(ptr)->joinMulticastGroup(*static_cast(groupAddress)); +} + +char QUdpSocket_JoinMulticastGroup2(void* ptr, void* groupAddress, void* iface) +{ + return static_cast(ptr)->joinMulticastGroup(*static_cast(groupAddress), *static_cast(iface)); +} + +char QUdpSocket_LeaveMulticastGroup(void* ptr, void* groupAddress) +{ + return static_cast(ptr)->leaveMulticastGroup(*static_cast(groupAddress)); +} + +char QUdpSocket_LeaveMulticastGroup2(void* ptr, void* groupAddress, void* iface) +{ + return static_cast(ptr)->leaveMulticastGroup(*static_cast(groupAddress), *static_cast(iface)); +} + +void* QUdpSocket_MulticastInterface(void* ptr) +{ + return new QNetworkInterface(static_cast(ptr)->multicastInterface()); +} + +long long QUdpSocket_PendingDatagramSize(void* ptr) +{ + return static_cast(ptr)->pendingDatagramSize(); +} + +long long QUdpSocket_ReadDatagram(void* ptr, char* data, long long maxSize, void* address, unsigned short port) +{ + return static_cast(ptr)->readDatagram(data, maxSize, static_cast(address), &port); +} + +void* QUdpSocket_ReceiveDatagram(void* ptr, long long maxSize) +{ + return new QNetworkDatagram(static_cast(ptr)->receiveDatagram(maxSize)); +} + +void QUdpSocket_SetMulticastInterface(void* ptr, void* iface) +{ + static_cast(ptr)->setMulticastInterface(*static_cast(iface)); +} + +long long QUdpSocket_WriteDatagram(void* ptr, char* data, long long size, void* address, unsigned short port) +{ + return static_cast(ptr)->writeDatagram(const_cast(data), size, *static_cast(address), port); +} + +long long QUdpSocket_WriteDatagram2(void* ptr, void* datagram) +{ + return static_cast(ptr)->writeDatagram(*static_cast(datagram)); +} + +long long QUdpSocket_WriteDatagram3(void* ptr, void* datagram, void* host, unsigned short port) +{ + return static_cast(ptr)->writeDatagram(*static_cast(datagram), *static_cast(host), port); +} + +void QUdpSocket_DestroyQUdpSocket(void* ptr) +{ + static_cast(ptr)->~QUdpSocket(); +} + +void QUdpSocket_DestroyQUdpSocketDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* RawHeader_NewRawHeader() +{ + return new QNetworkCacheMetaData::RawHeader(); +} + +void* RawHeader_NewRawHeader2(void* first, void* second) +{ + return new QNetworkCacheMetaData::RawHeader(*static_cast(first), *static_cast(second)); +} + +void* RawHeader_First(void* ptr) +{ + return new QByteArray(static_cast(ptr)->first); +} + +void RawHeader_SetFirst(void* ptr, void* vqb) +{ + static_cast(ptr)->first = *static_cast(vqb); +} + +void* RawHeader_Second(void* ptr) +{ + return new QByteArray(static_cast(ptr)->second); +} + +void RawHeader_SetSecond(void* ptr, void* vqb) +{ + static_cast(ptr)->second = *static_cast(vqb); +} + diff --git a/vendor/github.com/therecipe/qt/network/network.go b/vendor/github.com/therecipe/qt/network/network.go new file mode 100644 index 00000000..926b0689 --- /dev/null +++ b/vendor/github.com/therecipe/qt/network/network.go @@ -0,0 +1,20611 @@ +// +build !minimal + +package network + +//#include +//#include +//#include +//#include "network.h" +import "C" +import ( + "github.com/therecipe/qt" + "github.com/therecipe/qt/core" + "reflect" + "runtime" + "strings" + "unsafe" +) + +func cGoUnpackString(s C.struct_QtNetwork_PackedString) string { + if int(s.len) == -1 { + return C.GoString(s.data) + } + return C.GoStringN(s.data, C.int(s.len)) +} +func cGoUnpackBytes(s C.struct_QtNetwork_PackedString) []byte { + if int(s.len) == -1 { + gs := C.GoString(s.data) + return *(*[]byte)(unsafe.Pointer(&gs)) + } + return C.GoBytes(unsafe.Pointer(s.data), C.int(s.len)) +} +func unpackStringList(s string) []string { + if len(s) == 0 { + return make([]string, 0) + } + return strings.Split(s, "¡¦!") +} + +type QAbstractNetworkCache struct { + core.QObject +} + +type QAbstractNetworkCache_ITF interface { + core.QObject_ITF + QAbstractNetworkCache_PTR() *QAbstractNetworkCache +} + +func (ptr *QAbstractNetworkCache) QAbstractNetworkCache_PTR() *QAbstractNetworkCache { + return ptr +} + +func (ptr *QAbstractNetworkCache) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractNetworkCache) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractNetworkCache(ptr QAbstractNetworkCache_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractNetworkCache_PTR().Pointer() + } + return nil +} + +func NewQAbstractNetworkCacheFromPointer(ptr unsafe.Pointer) (n *QAbstractNetworkCache) { + n = new(QAbstractNetworkCache) + n.SetPointer(ptr) + return +} +func NewQAbstractNetworkCache(parent core.QObject_ITF) *QAbstractNetworkCache { + tmpValue := NewQAbstractNetworkCacheFromPointer(C.QAbstractNetworkCache_NewQAbstractNetworkCache(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQAbstractNetworkCache_CacheSize +func callbackQAbstractNetworkCache_CacheSize(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "cacheSize"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(0) +} + +func (ptr *QAbstractNetworkCache) ConnectCacheSize(f func() int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "cacheSize"); signal != nil { + f := func() int64 { + (*(*func() int64)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "cacheSize", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "cacheSize", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNetworkCache) DisconnectCacheSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "cacheSize") + } +} + +func (ptr *QAbstractNetworkCache) CacheSize() int64 { + if ptr.Pointer() != nil { + return int64(C.QAbstractNetworkCache_CacheSize(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractNetworkCache_Clear +func callbackQAbstractNetworkCache_Clear(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "clear"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractNetworkCache) ConnectClear(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "clear"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "clear", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "clear", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNetworkCache) DisconnectClear() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "clear") + } +} + +func (ptr *QAbstractNetworkCache) Clear() { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_Clear(ptr.Pointer()) + } +} + +//export callbackQAbstractNetworkCache_Data +func callbackQAbstractNetworkCache_Data(ptr unsafe.Pointer, url unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return core.PointerFromQIODevice((*(*func(*core.QUrl) *core.QIODevice)(signal))(core.NewQUrlFromPointer(url))) + } + + return core.PointerFromQIODevice(core.NewQIODevice()) +} + +func (ptr *QAbstractNetworkCache) ConnectData(f func(url *core.QUrl) *core.QIODevice) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "data"); signal != nil { + f := func(url *core.QUrl) *core.QIODevice { + (*(*func(*core.QUrl) *core.QIODevice)(signal))(url) + return f(url) + } + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNetworkCache) DisconnectData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "data") + } +} + +func (ptr *QAbstractNetworkCache) Data(url core.QUrl_ITF) *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QAbstractNetworkCache_Data(ptr.Pointer(), core.PointerFromQUrl(url))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAbstractNetworkCache_Insert +func callbackQAbstractNetworkCache_Insert(ptr unsafe.Pointer, device unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "insert"); signal != nil { + (*(*func(*core.QIODevice))(signal))(core.NewQIODeviceFromPointer(device)) + } + +} + +func (ptr *QAbstractNetworkCache) ConnectInsert(f func(device *core.QIODevice)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "insert"); signal != nil { + f := func(device *core.QIODevice) { + (*(*func(*core.QIODevice))(signal))(device) + f(device) + } + qt.ConnectSignal(ptr.Pointer(), "insert", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "insert", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNetworkCache) DisconnectInsert() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "insert") + } +} + +func (ptr *QAbstractNetworkCache) Insert(device core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_Insert(ptr.Pointer(), core.PointerFromQIODevice(device)) + } +} + +//export callbackQAbstractNetworkCache_MetaData +func callbackQAbstractNetworkCache_MetaData(ptr unsafe.Pointer, url unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaData"); signal != nil { + return PointerFromQNetworkCacheMetaData((*(*func(*core.QUrl) *QNetworkCacheMetaData)(signal))(core.NewQUrlFromPointer(url))) + } + + return PointerFromQNetworkCacheMetaData(NewQNetworkCacheMetaData()) +} + +func (ptr *QAbstractNetworkCache) ConnectMetaData(f func(url *core.QUrl) *QNetworkCacheMetaData) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "metaData"); signal != nil { + f := func(url *core.QUrl) *QNetworkCacheMetaData { + (*(*func(*core.QUrl) *QNetworkCacheMetaData)(signal))(url) + return f(url) + } + qt.ConnectSignal(ptr.Pointer(), "metaData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "metaData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNetworkCache) DisconnectMetaData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "metaData") + } +} + +func (ptr *QAbstractNetworkCache) MetaData(url core.QUrl_ITF) *QNetworkCacheMetaData { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCacheMetaDataFromPointer(C.QAbstractNetworkCache_MetaData(ptr.Pointer(), core.PointerFromQUrl(url))) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData).DestroyQNetworkCacheMetaData) + return tmpValue + } + return nil +} + +//export callbackQAbstractNetworkCache_Prepare +func callbackQAbstractNetworkCache_Prepare(ptr unsafe.Pointer, metaData unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "prepare"); signal != nil { + return core.PointerFromQIODevice((*(*func(*QNetworkCacheMetaData) *core.QIODevice)(signal))(NewQNetworkCacheMetaDataFromPointer(metaData))) + } + + return core.PointerFromQIODevice(core.NewQIODevice()) +} + +func (ptr *QAbstractNetworkCache) ConnectPrepare(f func(metaData *QNetworkCacheMetaData) *core.QIODevice) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "prepare"); signal != nil { + f := func(metaData *QNetworkCacheMetaData) *core.QIODevice { + (*(*func(*QNetworkCacheMetaData) *core.QIODevice)(signal))(metaData) + return f(metaData) + } + qt.ConnectSignal(ptr.Pointer(), "prepare", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "prepare", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNetworkCache) DisconnectPrepare() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "prepare") + } +} + +func (ptr *QAbstractNetworkCache) Prepare(metaData QNetworkCacheMetaData_ITF) *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QAbstractNetworkCache_Prepare(ptr.Pointer(), PointerFromQNetworkCacheMetaData(metaData))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQAbstractNetworkCache_Remove +func callbackQAbstractNetworkCache_Remove(ptr unsafe.Pointer, url unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "remove"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QUrl) bool)(signal))(core.NewQUrlFromPointer(url))))) + } + + return C.char(int8(qt.GoBoolToInt(false))) +} + +func (ptr *QAbstractNetworkCache) ConnectRemove(f func(url *core.QUrl) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "remove"); signal != nil { + f := func(url *core.QUrl) bool { + (*(*func(*core.QUrl) bool)(signal))(url) + return f(url) + } + qt.ConnectSignal(ptr.Pointer(), "remove", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "remove", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNetworkCache) DisconnectRemove() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "remove") + } +} + +func (ptr *QAbstractNetworkCache) Remove(url core.QUrl_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractNetworkCache_Remove(ptr.Pointer(), core.PointerFromQUrl(url))) != 0 + } + return false +} + +//export callbackQAbstractNetworkCache_UpdateMetaData +func callbackQAbstractNetworkCache_UpdateMetaData(ptr unsafe.Pointer, metaData unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "updateMetaData"); signal != nil { + (*(*func(*QNetworkCacheMetaData))(signal))(NewQNetworkCacheMetaDataFromPointer(metaData)) + } + +} + +func (ptr *QAbstractNetworkCache) ConnectUpdateMetaData(f func(metaData *QNetworkCacheMetaData)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateMetaData"); signal != nil { + f := func(metaData *QNetworkCacheMetaData) { + (*(*func(*QNetworkCacheMetaData))(signal))(metaData) + f(metaData) + } + qt.ConnectSignal(ptr.Pointer(), "updateMetaData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateMetaData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNetworkCache) DisconnectUpdateMetaData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateMetaData") + } +} + +func (ptr *QAbstractNetworkCache) UpdateMetaData(metaData QNetworkCacheMetaData_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_UpdateMetaData(ptr.Pointer(), PointerFromQNetworkCacheMetaData(metaData)) + } +} + +//export callbackQAbstractNetworkCache_DestroyQAbstractNetworkCache +func callbackQAbstractNetworkCache_DestroyQAbstractNetworkCache(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractNetworkCache"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractNetworkCacheFromPointer(ptr).DestroyQAbstractNetworkCacheDefault() + } +} + +func (ptr *QAbstractNetworkCache) ConnectDestroyQAbstractNetworkCache(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractNetworkCache"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractNetworkCache", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractNetworkCache", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractNetworkCache) DisconnectDestroyQAbstractNetworkCache() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractNetworkCache") + } +} + +func (ptr *QAbstractNetworkCache) DestroyQAbstractNetworkCache() { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_DestroyQAbstractNetworkCache(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractNetworkCache) DestroyQAbstractNetworkCacheDefault() { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_DestroyQAbstractNetworkCacheDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractNetworkCache) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractNetworkCache___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractNetworkCache) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractNetworkCache) __children_newList() unsafe.Pointer { + return C.QAbstractNetworkCache___children_newList(ptr.Pointer()) +} + +func (ptr *QAbstractNetworkCache) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QAbstractNetworkCache___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QAbstractNetworkCache) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QAbstractNetworkCache) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QAbstractNetworkCache___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QAbstractNetworkCache) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractNetworkCache___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractNetworkCache) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractNetworkCache) __findChildren_newList() unsafe.Pointer { + return C.QAbstractNetworkCache___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QAbstractNetworkCache) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractNetworkCache___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractNetworkCache) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractNetworkCache) __findChildren_newList3() unsafe.Pointer { + return C.QAbstractNetworkCache___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QAbstractNetworkCache) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractNetworkCache___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractNetworkCache) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractNetworkCache) __qFindChildren_newList2() unsafe.Pointer { + return C.QAbstractNetworkCache___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQAbstractNetworkCache_ChildEvent +func callbackQAbstractNetworkCache_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQAbstractNetworkCacheFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QAbstractNetworkCache) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQAbstractNetworkCache_ConnectNotify +func callbackQAbstractNetworkCache_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQAbstractNetworkCacheFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QAbstractNetworkCache) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQAbstractNetworkCache_CustomEvent +func callbackQAbstractNetworkCache_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQAbstractNetworkCacheFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QAbstractNetworkCache) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQAbstractNetworkCache_DeleteLater +func callbackQAbstractNetworkCache_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractNetworkCacheFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QAbstractNetworkCache) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQAbstractNetworkCache_Destroyed +func callbackQAbstractNetworkCache_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQAbstractNetworkCache_DisconnectNotify +func callbackQAbstractNetworkCache_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQAbstractNetworkCacheFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QAbstractNetworkCache) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQAbstractNetworkCache_Event +func callbackQAbstractNetworkCache_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractNetworkCacheFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QAbstractNetworkCache) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractNetworkCache_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQAbstractNetworkCache_EventFilter +func callbackQAbstractNetworkCache_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractNetworkCacheFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QAbstractNetworkCache) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractNetworkCache_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQAbstractNetworkCache_MetaObject +func callbackQAbstractNetworkCache_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQAbstractNetworkCacheFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QAbstractNetworkCache) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QAbstractNetworkCache_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQAbstractNetworkCache_ObjectNameChanged +func callbackQAbstractNetworkCache_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQAbstractNetworkCache_TimerEvent +func callbackQAbstractNetworkCache_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQAbstractNetworkCacheFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QAbstractNetworkCache) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractNetworkCache_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QAbstractSocket struct { + core.QIODevice +} + +type QAbstractSocket_ITF interface { + core.QIODevice_ITF + QAbstractSocket_PTR() *QAbstractSocket +} + +func (ptr *QAbstractSocket) QAbstractSocket_PTR() *QAbstractSocket { + return ptr +} + +func (ptr *QAbstractSocket) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QIODevice_PTR().Pointer() + } + return nil +} + +func (ptr *QAbstractSocket) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QIODevice_PTR().SetPointer(p) + } +} + +func PointerFromQAbstractSocket(ptr QAbstractSocket_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractSocket_PTR().Pointer() + } + return nil +} + +func NewQAbstractSocketFromPointer(ptr unsafe.Pointer) (n *QAbstractSocket) { + n = new(QAbstractSocket) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QAbstractSocket__SocketType +//QAbstractSocket::SocketType +type QAbstractSocket__SocketType int64 + +const ( + QAbstractSocket__TcpSocket QAbstractSocket__SocketType = QAbstractSocket__SocketType(0) + QAbstractSocket__UdpSocket QAbstractSocket__SocketType = QAbstractSocket__SocketType(1) + QAbstractSocket__SctpSocket QAbstractSocket__SocketType = QAbstractSocket__SocketType(2) + QAbstractSocket__UnknownSocketType QAbstractSocket__SocketType = QAbstractSocket__SocketType(-1) +) + +//go:generate stringer -type=QAbstractSocket__NetworkLayerProtocol +//QAbstractSocket::NetworkLayerProtocol +type QAbstractSocket__NetworkLayerProtocol int64 + +const ( + QAbstractSocket__IPv4Protocol QAbstractSocket__NetworkLayerProtocol = QAbstractSocket__NetworkLayerProtocol(0) + QAbstractSocket__IPv6Protocol QAbstractSocket__NetworkLayerProtocol = QAbstractSocket__NetworkLayerProtocol(1) + QAbstractSocket__AnyIPProtocol QAbstractSocket__NetworkLayerProtocol = QAbstractSocket__NetworkLayerProtocol(2) + QAbstractSocket__UnknownNetworkLayerProtocol QAbstractSocket__NetworkLayerProtocol = QAbstractSocket__NetworkLayerProtocol(-1) +) + +//go:generate stringer -type=QAbstractSocket__SocketError +//QAbstractSocket::SocketError +type QAbstractSocket__SocketError int64 + +const ( + QAbstractSocket__ConnectionRefusedError QAbstractSocket__SocketError = QAbstractSocket__SocketError(0) + QAbstractSocket__RemoteHostClosedError QAbstractSocket__SocketError = QAbstractSocket__SocketError(1) + QAbstractSocket__HostNotFoundError QAbstractSocket__SocketError = QAbstractSocket__SocketError(2) + QAbstractSocket__SocketAccessError QAbstractSocket__SocketError = QAbstractSocket__SocketError(3) + QAbstractSocket__SocketResourceError QAbstractSocket__SocketError = QAbstractSocket__SocketError(4) + QAbstractSocket__SocketTimeoutError QAbstractSocket__SocketError = QAbstractSocket__SocketError(5) + QAbstractSocket__DatagramTooLargeError QAbstractSocket__SocketError = QAbstractSocket__SocketError(6) + QAbstractSocket__NetworkError QAbstractSocket__SocketError = QAbstractSocket__SocketError(7) + QAbstractSocket__AddressInUseError QAbstractSocket__SocketError = QAbstractSocket__SocketError(8) + QAbstractSocket__SocketAddressNotAvailableError QAbstractSocket__SocketError = QAbstractSocket__SocketError(9) + QAbstractSocket__UnsupportedSocketOperationError QAbstractSocket__SocketError = QAbstractSocket__SocketError(10) + QAbstractSocket__UnfinishedSocketOperationError QAbstractSocket__SocketError = QAbstractSocket__SocketError(11) + QAbstractSocket__ProxyAuthenticationRequiredError QAbstractSocket__SocketError = QAbstractSocket__SocketError(12) + QAbstractSocket__SslHandshakeFailedError QAbstractSocket__SocketError = QAbstractSocket__SocketError(13) + QAbstractSocket__ProxyConnectionRefusedError QAbstractSocket__SocketError = QAbstractSocket__SocketError(14) + QAbstractSocket__ProxyConnectionClosedError QAbstractSocket__SocketError = QAbstractSocket__SocketError(15) + QAbstractSocket__ProxyConnectionTimeoutError QAbstractSocket__SocketError = QAbstractSocket__SocketError(16) + QAbstractSocket__ProxyNotFoundError QAbstractSocket__SocketError = QAbstractSocket__SocketError(17) + QAbstractSocket__ProxyProtocolError QAbstractSocket__SocketError = QAbstractSocket__SocketError(18) + QAbstractSocket__OperationError QAbstractSocket__SocketError = QAbstractSocket__SocketError(19) + QAbstractSocket__SslInternalError QAbstractSocket__SocketError = QAbstractSocket__SocketError(20) + QAbstractSocket__SslInvalidUserDataError QAbstractSocket__SocketError = QAbstractSocket__SocketError(21) + QAbstractSocket__TemporaryError QAbstractSocket__SocketError = QAbstractSocket__SocketError(22) + QAbstractSocket__UnknownSocketError QAbstractSocket__SocketError = QAbstractSocket__SocketError(-1) +) + +//go:generate stringer -type=QAbstractSocket__SocketState +//QAbstractSocket::SocketState +type QAbstractSocket__SocketState int64 + +const ( + QAbstractSocket__UnconnectedState QAbstractSocket__SocketState = QAbstractSocket__SocketState(0) + QAbstractSocket__HostLookupState QAbstractSocket__SocketState = QAbstractSocket__SocketState(1) + QAbstractSocket__ConnectingState QAbstractSocket__SocketState = QAbstractSocket__SocketState(2) + QAbstractSocket__ConnectedState QAbstractSocket__SocketState = QAbstractSocket__SocketState(3) + QAbstractSocket__BoundState QAbstractSocket__SocketState = QAbstractSocket__SocketState(4) + QAbstractSocket__ListeningState QAbstractSocket__SocketState = QAbstractSocket__SocketState(5) + QAbstractSocket__ClosingState QAbstractSocket__SocketState = QAbstractSocket__SocketState(6) +) + +//go:generate stringer -type=QAbstractSocket__SocketOption +//QAbstractSocket::SocketOption +type QAbstractSocket__SocketOption int64 + +const ( + QAbstractSocket__LowDelayOption QAbstractSocket__SocketOption = QAbstractSocket__SocketOption(0) + QAbstractSocket__KeepAliveOption QAbstractSocket__SocketOption = QAbstractSocket__SocketOption(1) + QAbstractSocket__MulticastTtlOption QAbstractSocket__SocketOption = QAbstractSocket__SocketOption(2) + QAbstractSocket__MulticastLoopbackOption QAbstractSocket__SocketOption = QAbstractSocket__SocketOption(3) + QAbstractSocket__TypeOfServiceOption QAbstractSocket__SocketOption = QAbstractSocket__SocketOption(4) + QAbstractSocket__SendBufferSizeSocketOption QAbstractSocket__SocketOption = QAbstractSocket__SocketOption(5) + QAbstractSocket__ReceiveBufferSizeSocketOption QAbstractSocket__SocketOption = QAbstractSocket__SocketOption(6) + QAbstractSocket__PathMtuSocketOption QAbstractSocket__SocketOption = QAbstractSocket__SocketOption(7) +) + +//go:generate stringer -type=QAbstractSocket__BindFlag +//QAbstractSocket::BindFlag +type QAbstractSocket__BindFlag int64 + +const ( + QAbstractSocket__DefaultForPlatform QAbstractSocket__BindFlag = QAbstractSocket__BindFlag(0x0) + QAbstractSocket__ShareAddress QAbstractSocket__BindFlag = QAbstractSocket__BindFlag(0x1) + QAbstractSocket__DontShareAddress QAbstractSocket__BindFlag = QAbstractSocket__BindFlag(0x2) + QAbstractSocket__ReuseAddressHint QAbstractSocket__BindFlag = QAbstractSocket__BindFlag(0x4) +) + +//go:generate stringer -type=QAbstractSocket__PauseMode +//QAbstractSocket::PauseMode +type QAbstractSocket__PauseMode int64 + +const ( + QAbstractSocket__PauseNever QAbstractSocket__PauseMode = QAbstractSocket__PauseMode(0x0) + QAbstractSocket__PauseOnSslErrors QAbstractSocket__PauseMode = QAbstractSocket__PauseMode(0x1) +) + +func NewQAbstractSocket(socketType QAbstractSocket__SocketType, parent core.QObject_ITF) *QAbstractSocket { + tmpValue := NewQAbstractSocketFromPointer(C.QAbstractSocket_NewQAbstractSocket(C.longlong(socketType), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QAbstractSocket) Abort() { + if ptr.Pointer() != nil { + C.QAbstractSocket_Abort(ptr.Pointer()) + } +} + +//export callbackQAbstractSocket_AtEnd +func callbackQAbstractSocket_AtEnd(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "atEnd"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).AtEndDefault()))) +} + +func (ptr *QAbstractSocket) AtEndDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_AtEndDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QAbstractSocket) Bind(address QHostAddress_ITF, port uint16, mode QAbstractSocket__BindFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_Bind(ptr.Pointer(), PointerFromQHostAddress(address), C.ushort(port), C.longlong(mode))) != 0 + } + return false +} + +func (ptr *QAbstractSocket) Bind2(port uint16, mode QAbstractSocket__BindFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_Bind2(ptr.Pointer(), C.ushort(port), C.longlong(mode))) != 0 + } + return false +} + +//export callbackQAbstractSocket_BytesAvailable +func callbackQAbstractSocket_BytesAvailable(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "bytesAvailable"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQAbstractSocketFromPointer(ptr).BytesAvailableDefault()) +} + +func (ptr *QAbstractSocket) BytesAvailableDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QAbstractSocket_BytesAvailableDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractSocket_BytesToWrite +func callbackQAbstractSocket_BytesToWrite(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "bytesToWrite"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQAbstractSocketFromPointer(ptr).BytesToWriteDefault()) +} + +func (ptr *QAbstractSocket) BytesToWriteDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QAbstractSocket_BytesToWriteDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractSocket_CanReadLine +func callbackQAbstractSocket_CanReadLine(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "canReadLine"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).CanReadLineDefault()))) +} + +func (ptr *QAbstractSocket) CanReadLineDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_CanReadLineDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQAbstractSocket_Close +func callbackQAbstractSocket_Close(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "close"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractSocketFromPointer(ptr).CloseDefault() + } +} + +func (ptr *QAbstractSocket) CloseDefault() { + if ptr.Pointer() != nil { + C.QAbstractSocket_CloseDefault(ptr.Pointer()) + } +} + +//export callbackQAbstractSocket_ConnectToHost +func callbackQAbstractSocket_ConnectToHost(ptr unsafe.Pointer, hostName C.struct_QtNetwork_PackedString, port C.ushort, openMode C.longlong, protocol C.longlong) { + if signal := qt.GetSignal(ptr, "connectToHost"); signal != nil { + (*(*func(string, uint16, core.QIODevice__OpenModeFlag, QAbstractSocket__NetworkLayerProtocol))(signal))(cGoUnpackString(hostName), uint16(port), core.QIODevice__OpenModeFlag(openMode), QAbstractSocket__NetworkLayerProtocol(protocol)) + } else { + NewQAbstractSocketFromPointer(ptr).ConnectToHostDefault(cGoUnpackString(hostName), uint16(port), core.QIODevice__OpenModeFlag(openMode), QAbstractSocket__NetworkLayerProtocol(protocol)) + } +} + +func (ptr *QAbstractSocket) ConnectConnectToHost(f func(hostName string, port uint16, openMode core.QIODevice__OpenModeFlag, protocol QAbstractSocket__NetworkLayerProtocol)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "connectToHost"); signal != nil { + f := func(hostName string, port uint16, openMode core.QIODevice__OpenModeFlag, protocol QAbstractSocket__NetworkLayerProtocol) { + (*(*func(string, uint16, core.QIODevice__OpenModeFlag, QAbstractSocket__NetworkLayerProtocol))(signal))(hostName, port, openMode, protocol) + f(hostName, port, openMode, protocol) + } + qt.ConnectSignal(ptr.Pointer(), "connectToHost", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "connectToHost", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectConnectToHost() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "connectToHost") + } +} + +func (ptr *QAbstractSocket) ConnectToHost(hostName string, port uint16, openMode core.QIODevice__OpenModeFlag, protocol QAbstractSocket__NetworkLayerProtocol) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + C.QAbstractSocket_ConnectToHost(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}, C.ushort(port), C.longlong(openMode), C.longlong(protocol)) + } +} + +func (ptr *QAbstractSocket) ConnectToHostDefault(hostName string, port uint16, openMode core.QIODevice__OpenModeFlag, protocol QAbstractSocket__NetworkLayerProtocol) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + C.QAbstractSocket_ConnectToHostDefault(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}, C.ushort(port), C.longlong(openMode), C.longlong(protocol)) + } +} + +//export callbackQAbstractSocket_ConnectToHost2 +func callbackQAbstractSocket_ConnectToHost2(ptr unsafe.Pointer, address unsafe.Pointer, port C.ushort, openMode C.longlong) { + if signal := qt.GetSignal(ptr, "connectToHost2"); signal != nil { + (*(*func(*QHostAddress, uint16, core.QIODevice__OpenModeFlag))(signal))(NewQHostAddressFromPointer(address), uint16(port), core.QIODevice__OpenModeFlag(openMode)) + } else { + NewQAbstractSocketFromPointer(ptr).ConnectToHost2Default(NewQHostAddressFromPointer(address), uint16(port), core.QIODevice__OpenModeFlag(openMode)) + } +} + +func (ptr *QAbstractSocket) ConnectConnectToHost2(f func(address *QHostAddress, port uint16, openMode core.QIODevice__OpenModeFlag)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "connectToHost2"); signal != nil { + f := func(address *QHostAddress, port uint16, openMode core.QIODevice__OpenModeFlag) { + (*(*func(*QHostAddress, uint16, core.QIODevice__OpenModeFlag))(signal))(address, port, openMode) + f(address, port, openMode) + } + qt.ConnectSignal(ptr.Pointer(), "connectToHost2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "connectToHost2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectConnectToHost2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "connectToHost2") + } +} + +func (ptr *QAbstractSocket) ConnectToHost2(address QHostAddress_ITF, port uint16, openMode core.QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + C.QAbstractSocket_ConnectToHost2(ptr.Pointer(), PointerFromQHostAddress(address), C.ushort(port), C.longlong(openMode)) + } +} + +func (ptr *QAbstractSocket) ConnectToHost2Default(address QHostAddress_ITF, port uint16, openMode core.QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + C.QAbstractSocket_ConnectToHost2Default(ptr.Pointer(), PointerFromQHostAddress(address), C.ushort(port), C.longlong(openMode)) + } +} + +//export callbackQAbstractSocket_Connected +func callbackQAbstractSocket_Connected(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connected"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractSocket) ConnectConnected(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "connected") { + C.QAbstractSocket_ConnectConnected(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "connected"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "connected"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "connected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "connected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectConnected() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DisconnectConnected(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "connected") + } +} + +func (ptr *QAbstractSocket) Connected() { + if ptr.Pointer() != nil { + C.QAbstractSocket_Connected(ptr.Pointer()) + } +} + +//export callbackQAbstractSocket_DisconnectFromHost +func callbackQAbstractSocket_DisconnectFromHost(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectFromHost"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractSocketFromPointer(ptr).DisconnectFromHostDefault() + } +} + +func (ptr *QAbstractSocket) ConnectDisconnectFromHost(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "disconnectFromHost"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "disconnectFromHost", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "disconnectFromHost", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectDisconnectFromHost() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "disconnectFromHost") + } +} + +func (ptr *QAbstractSocket) DisconnectFromHost() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DisconnectFromHost(ptr.Pointer()) + } +} + +func (ptr *QAbstractSocket) DisconnectFromHostDefault() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DisconnectFromHostDefault(ptr.Pointer()) + } +} + +//export callbackQAbstractSocket_Disconnected +func callbackQAbstractSocket_Disconnected(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnected"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractSocket) ConnectDisconnected(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "disconnected") { + C.QAbstractSocket_ConnectDisconnected(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "disconnected"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "disconnected"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "disconnected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "disconnected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectDisconnected() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DisconnectDisconnected(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "disconnected") + } +} + +func (ptr *QAbstractSocket) Disconnected() { + if ptr.Pointer() != nil { + C.QAbstractSocket_Disconnected(ptr.Pointer()) + } +} + +func (ptr *QAbstractSocket) Error() QAbstractSocket__SocketError { + if ptr.Pointer() != nil { + return QAbstractSocket__SocketError(C.QAbstractSocket_Error(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractSocket_Error2 +func callbackQAbstractSocket_Error2(ptr unsafe.Pointer, socketError C.longlong) { + if signal := qt.GetSignal(ptr, "error2"); signal != nil { + (*(*func(QAbstractSocket__SocketError))(signal))(QAbstractSocket__SocketError(socketError)) + } + +} + +func (ptr *QAbstractSocket) ConnectError2(f func(socketError QAbstractSocket__SocketError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "error2") { + C.QAbstractSocket_ConnectError2(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "error"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "error2"); signal != nil { + f := func(socketError QAbstractSocket__SocketError) { + (*(*func(QAbstractSocket__SocketError))(signal))(socketError) + f(socketError) + } + qt.ConnectSignal(ptr.Pointer(), "error2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "error2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectError2() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DisconnectError2(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "error2") + } +} + +func (ptr *QAbstractSocket) Error2(socketError QAbstractSocket__SocketError) { + if ptr.Pointer() != nil { + C.QAbstractSocket_Error2(ptr.Pointer(), C.longlong(socketError)) + } +} + +func (ptr *QAbstractSocket) Flush() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_Flush(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQAbstractSocket_HostFound +func callbackQAbstractSocket_HostFound(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "hostFound"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QAbstractSocket) ConnectHostFound(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "hostFound") { + C.QAbstractSocket_ConnectHostFound(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "hostFound"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "hostFound"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "hostFound", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "hostFound", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectHostFound() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DisconnectHostFound(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "hostFound") + } +} + +func (ptr *QAbstractSocket) HostFound() { + if ptr.Pointer() != nil { + C.QAbstractSocket_HostFound(ptr.Pointer()) + } +} + +//export callbackQAbstractSocket_IsSequential +func callbackQAbstractSocket_IsSequential(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "isSequential"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).IsSequentialDefault()))) +} + +func (ptr *QAbstractSocket) IsSequentialDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_IsSequentialDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QAbstractSocket) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QAbstractSocket) LocalAddress() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QAbstractSocket_LocalAddress(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QAbstractSocket) LocalPort() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QAbstractSocket_LocalPort(ptr.Pointer())) + } + return 0 +} + +func (ptr *QAbstractSocket) PauseMode() QAbstractSocket__PauseMode { + if ptr.Pointer() != nil { + return QAbstractSocket__PauseMode(C.QAbstractSocket_PauseMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QAbstractSocket) PeerAddress() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QAbstractSocket_PeerAddress(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QAbstractSocket) PeerName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAbstractSocket_PeerName(ptr.Pointer())) + } + return "" +} + +func (ptr *QAbstractSocket) PeerPort() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QAbstractSocket_PeerPort(ptr.Pointer())) + } + return 0 +} + +func (ptr *QAbstractSocket) ProtocolTag() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAbstractSocket_ProtocolTag(ptr.Pointer())) + } + return "" +} + +func (ptr *QAbstractSocket) Proxy() *QNetworkProxy { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkProxyFromPointer(C.QAbstractSocket_Proxy(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue + } + return nil +} + +//export callbackQAbstractSocket_ProxyAuthenticationRequired +func callbackQAbstractSocket_ProxyAuthenticationRequired(ptr unsafe.Pointer, proxy unsafe.Pointer, authenticator unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "proxyAuthenticationRequired"); signal != nil { + (*(*func(*QNetworkProxy, *QAuthenticator))(signal))(NewQNetworkProxyFromPointer(proxy), NewQAuthenticatorFromPointer(authenticator)) + } + +} + +func (ptr *QAbstractSocket) ConnectProxyAuthenticationRequired(f func(proxy *QNetworkProxy, authenticator *QAuthenticator)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "proxyAuthenticationRequired") { + C.QAbstractSocket_ConnectProxyAuthenticationRequired(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "proxyAuthenticationRequired"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "proxyAuthenticationRequired"); signal != nil { + f := func(proxy *QNetworkProxy, authenticator *QAuthenticator) { + (*(*func(*QNetworkProxy, *QAuthenticator))(signal))(proxy, authenticator) + f(proxy, authenticator) + } + qt.ConnectSignal(ptr.Pointer(), "proxyAuthenticationRequired", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "proxyAuthenticationRequired", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectProxyAuthenticationRequired() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DisconnectProxyAuthenticationRequired(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "proxyAuthenticationRequired") + } +} + +func (ptr *QAbstractSocket) ProxyAuthenticationRequired(proxy QNetworkProxy_ITF, authenticator QAuthenticator_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_ProxyAuthenticationRequired(ptr.Pointer(), PointerFromQNetworkProxy(proxy), PointerFromQAuthenticator(authenticator)) + } +} + +func (ptr *QAbstractSocket) ReadBufferSize() int64 { + if ptr.Pointer() != nil { + return int64(C.QAbstractSocket_ReadBufferSize(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractSocket_ReadData +func callbackQAbstractSocket_ReadData(ptr unsafe.Pointer, data C.struct_QtNetwork_PackedString, maxSize C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readData"); signal != nil { + retS := cGoUnpackString(data) + ret := C.longlong((*(*func(*string, int64) int64)(signal))(&retS, int64(maxSize))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret + } + retS := cGoUnpackString(data) + ret := C.longlong(NewQAbstractSocketFromPointer(ptr).ReadDataDefault(&retS, int64(maxSize))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret +} + +func (ptr *QAbstractSocket) ConnectReadData(f func(data *string, maxSize int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "readData"); signal != nil { + f := func(data *string, maxSize int64) int64 { + (*(*func(*string, int64) int64)(signal))(data, maxSize) + return f(data, maxSize) + } + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectReadData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "readData") + } +} + +func (ptr *QAbstractSocket) ReadData(data *string, maxSize int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(maxSize))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QAbstractSocket_ReadData(ptr.Pointer(), dataC, C.longlong(maxSize))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +func (ptr *QAbstractSocket) ReadDataDefault(data *string, maxSize int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(maxSize))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QAbstractSocket_ReadDataDefault(ptr.Pointer(), dataC, C.longlong(maxSize))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +//export callbackQAbstractSocket_ReadLineData +func callbackQAbstractSocket_ReadLineData(ptr unsafe.Pointer, data C.struct_QtNetwork_PackedString, maxlen C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readLineData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(maxlen))) + } + + return C.longlong(NewQAbstractSocketFromPointer(ptr).ReadLineDataDefault(cGoUnpackBytes(data), int64(maxlen))) +} + +func (ptr *QAbstractSocket) ReadLineDataDefault(data []byte, maxlen int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QAbstractSocket_ReadLineDataDefault(ptr.Pointer(), dataC, C.longlong(maxlen))) + } + return 0 +} + +//export callbackQAbstractSocket_Resume +func callbackQAbstractSocket_Resume(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "resume"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractSocketFromPointer(ptr).ResumeDefault() + } +} + +func (ptr *QAbstractSocket) ConnectResume(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "resume"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "resume", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "resume", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectResume() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "resume") + } +} + +func (ptr *QAbstractSocket) Resume() { + if ptr.Pointer() != nil { + C.QAbstractSocket_Resume(ptr.Pointer()) + } +} + +func (ptr *QAbstractSocket) ResumeDefault() { + if ptr.Pointer() != nil { + C.QAbstractSocket_ResumeDefault(ptr.Pointer()) + } +} + +func (ptr *QAbstractSocket) SetLocalAddress(address QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetLocalAddress(ptr.Pointer(), PointerFromQHostAddress(address)) + } +} + +func (ptr *QAbstractSocket) SetLocalPort(port uint16) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetLocalPort(ptr.Pointer(), C.ushort(port)) + } +} + +func (ptr *QAbstractSocket) SetPauseMode(pauseMode QAbstractSocket__PauseMode) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetPauseMode(ptr.Pointer(), C.longlong(pauseMode)) + } +} + +func (ptr *QAbstractSocket) SetPeerAddress(address QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetPeerAddress(ptr.Pointer(), PointerFromQHostAddress(address)) + } +} + +func (ptr *QAbstractSocket) SetPeerName(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QAbstractSocket_SetPeerName(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QAbstractSocket) SetPeerPort(port uint16) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetPeerPort(ptr.Pointer(), C.ushort(port)) + } +} + +func (ptr *QAbstractSocket) SetProtocolTag(tag string) { + if ptr.Pointer() != nil { + var tagC *C.char + if tag != "" { + tagC = C.CString(tag) + defer C.free(unsafe.Pointer(tagC)) + } + C.QAbstractSocket_SetProtocolTag(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: tagC, len: C.longlong(len(tag))}) + } +} + +func (ptr *QAbstractSocket) SetProxy(networkProxy QNetworkProxy_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetProxy(ptr.Pointer(), PointerFromQNetworkProxy(networkProxy)) + } +} + +//export callbackQAbstractSocket_SetReadBufferSize +func callbackQAbstractSocket_SetReadBufferSize(ptr unsafe.Pointer, size C.longlong) { + if signal := qt.GetSignal(ptr, "setReadBufferSize"); signal != nil { + (*(*func(int64))(signal))(int64(size)) + } else { + NewQAbstractSocketFromPointer(ptr).SetReadBufferSizeDefault(int64(size)) + } +} + +func (ptr *QAbstractSocket) ConnectSetReadBufferSize(f func(size int64)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setReadBufferSize"); signal != nil { + f := func(size int64) { + (*(*func(int64))(signal))(size) + f(size) + } + qt.ConnectSignal(ptr.Pointer(), "setReadBufferSize", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setReadBufferSize", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectSetReadBufferSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setReadBufferSize") + } +} + +func (ptr *QAbstractSocket) SetReadBufferSize(size int64) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetReadBufferSize(ptr.Pointer(), C.longlong(size)) + } +} + +func (ptr *QAbstractSocket) SetReadBufferSizeDefault(size int64) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetReadBufferSizeDefault(ptr.Pointer(), C.longlong(size)) + } +} + +func (ptr *QAbstractSocket) SetSocketError(socketError QAbstractSocket__SocketError) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetSocketError(ptr.Pointer(), C.longlong(socketError)) + } +} + +//export callbackQAbstractSocket_SetSocketOption +func callbackQAbstractSocket_SetSocketOption(ptr unsafe.Pointer, option C.longlong, value unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setSocketOption"); signal != nil { + (*(*func(QAbstractSocket__SocketOption, *core.QVariant))(signal))(QAbstractSocket__SocketOption(option), core.NewQVariantFromPointer(value)) + } else { + NewQAbstractSocketFromPointer(ptr).SetSocketOptionDefault(QAbstractSocket__SocketOption(option), core.NewQVariantFromPointer(value)) + } +} + +func (ptr *QAbstractSocket) ConnectSetSocketOption(f func(option QAbstractSocket__SocketOption, value *core.QVariant)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setSocketOption"); signal != nil { + f := func(option QAbstractSocket__SocketOption, value *core.QVariant) { + (*(*func(QAbstractSocket__SocketOption, *core.QVariant))(signal))(option, value) + f(option, value) + } + qt.ConnectSignal(ptr.Pointer(), "setSocketOption", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setSocketOption", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectSetSocketOption() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setSocketOption") + } +} + +func (ptr *QAbstractSocket) SetSocketOption(option QAbstractSocket__SocketOption, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetSocketOption(ptr.Pointer(), C.longlong(option), core.PointerFromQVariant(value)) + } +} + +func (ptr *QAbstractSocket) SetSocketOptionDefault(option QAbstractSocket__SocketOption, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetSocketOptionDefault(ptr.Pointer(), C.longlong(option), core.PointerFromQVariant(value)) + } +} + +func (ptr *QAbstractSocket) SetSocketState(state QAbstractSocket__SocketState) { + if ptr.Pointer() != nil { + C.QAbstractSocket_SetSocketState(ptr.Pointer(), C.longlong(state)) + } +} + +//export callbackQAbstractSocket_SocketOption +func callbackQAbstractSocket_SocketOption(ptr unsafe.Pointer, option C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "socketOption"); signal != nil { + return core.PointerFromQVariant((*(*func(QAbstractSocket__SocketOption) *core.QVariant)(signal))(QAbstractSocket__SocketOption(option))) + } + + return core.PointerFromQVariant(NewQAbstractSocketFromPointer(ptr).SocketOptionDefault(QAbstractSocket__SocketOption(option))) +} + +func (ptr *QAbstractSocket) ConnectSocketOption(f func(option QAbstractSocket__SocketOption) *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "socketOption"); signal != nil { + f := func(option QAbstractSocket__SocketOption) *core.QVariant { + (*(*func(QAbstractSocket__SocketOption) *core.QVariant)(signal))(option) + return f(option) + } + qt.ConnectSignal(ptr.Pointer(), "socketOption", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "socketOption", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectSocketOption() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "socketOption") + } +} + +func (ptr *QAbstractSocket) SocketOption(option QAbstractSocket__SocketOption) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QAbstractSocket_SocketOption(ptr.Pointer(), C.longlong(option))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAbstractSocket) SocketOptionDefault(option QAbstractSocket__SocketOption) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QAbstractSocket_SocketOptionDefault(ptr.Pointer(), C.longlong(option))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAbstractSocket) SocketType() QAbstractSocket__SocketType { + if ptr.Pointer() != nil { + return QAbstractSocket__SocketType(C.QAbstractSocket_SocketType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QAbstractSocket) State() QAbstractSocket__SocketState { + if ptr.Pointer() != nil { + return QAbstractSocket__SocketState(C.QAbstractSocket_State(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractSocket_StateChanged +func callbackQAbstractSocket_StateChanged(ptr unsafe.Pointer, socketState C.longlong) { + if signal := qt.GetSignal(ptr, "stateChanged"); signal != nil { + (*(*func(QAbstractSocket__SocketState))(signal))(QAbstractSocket__SocketState(socketState)) + } + +} + +func (ptr *QAbstractSocket) ConnectStateChanged(f func(socketState QAbstractSocket__SocketState)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "stateChanged") { + C.QAbstractSocket_ConnectStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "stateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "stateChanged"); signal != nil { + f := func(socketState QAbstractSocket__SocketState) { + (*(*func(QAbstractSocket__SocketState))(signal))(socketState) + f(socketState) + } + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectStateChanged() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DisconnectStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "stateChanged") + } +} + +func (ptr *QAbstractSocket) StateChanged(socketState QAbstractSocket__SocketState) { + if ptr.Pointer() != nil { + C.QAbstractSocket_StateChanged(ptr.Pointer(), C.longlong(socketState)) + } +} + +//export callbackQAbstractSocket_WaitForBytesWritten +func callbackQAbstractSocket_WaitForBytesWritten(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForBytesWritten"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).WaitForBytesWrittenDefault(int(int32(msecs)))))) +} + +func (ptr *QAbstractSocket) WaitForBytesWrittenDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_WaitForBytesWrittenDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQAbstractSocket_WaitForConnected +func callbackQAbstractSocket_WaitForConnected(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForConnected"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).WaitForConnectedDefault(int(int32(msecs)))))) +} + +func (ptr *QAbstractSocket) ConnectWaitForConnected(f func(msecs int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "waitForConnected"); signal != nil { + f := func(msecs int) bool { + (*(*func(int) bool)(signal))(msecs) + return f(msecs) + } + qt.ConnectSignal(ptr.Pointer(), "waitForConnected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "waitForConnected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectWaitForConnected() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "waitForConnected") + } +} + +func (ptr *QAbstractSocket) WaitForConnected(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_WaitForConnected(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +func (ptr *QAbstractSocket) WaitForConnectedDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_WaitForConnectedDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQAbstractSocket_WaitForDisconnected +func callbackQAbstractSocket_WaitForDisconnected(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForDisconnected"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).WaitForDisconnectedDefault(int(int32(msecs)))))) +} + +func (ptr *QAbstractSocket) ConnectWaitForDisconnected(f func(msecs int) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "waitForDisconnected"); signal != nil { + f := func(msecs int) bool { + (*(*func(int) bool)(signal))(msecs) + return f(msecs) + } + qt.ConnectSignal(ptr.Pointer(), "waitForDisconnected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "waitForDisconnected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectWaitForDisconnected() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "waitForDisconnected") + } +} + +func (ptr *QAbstractSocket) WaitForDisconnected(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_WaitForDisconnected(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +func (ptr *QAbstractSocket) WaitForDisconnectedDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_WaitForDisconnectedDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQAbstractSocket_WaitForReadyRead +func callbackQAbstractSocket_WaitForReadyRead(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForReadyRead"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).WaitForReadyReadDefault(int(int32(msecs)))))) +} + +func (ptr *QAbstractSocket) WaitForReadyReadDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_WaitForReadyReadDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQAbstractSocket_WriteData +func callbackQAbstractSocket_WriteData(ptr unsafe.Pointer, data C.struct_QtNetwork_PackedString, size C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "writeData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(size))) + } + + return C.longlong(NewQAbstractSocketFromPointer(ptr).WriteDataDefault(cGoUnpackBytes(data), int64(size))) +} + +func (ptr *QAbstractSocket) ConnectWriteData(f func(data []byte, size int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "writeData"); signal != nil { + f := func(data []byte, size int64) int64 { + (*(*func([]byte, int64) int64)(signal))(data, size) + return f(data, size) + } + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectWriteData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "writeData") + } +} + +func (ptr *QAbstractSocket) WriteData(data []byte, size int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QAbstractSocket_WriteData(ptr.Pointer(), dataC, C.longlong(size))) + } + return 0 +} + +func (ptr *QAbstractSocket) WriteDataDefault(data []byte, size int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QAbstractSocket_WriteDataDefault(ptr.Pointer(), dataC, C.longlong(size))) + } + return 0 +} + +//export callbackQAbstractSocket_DestroyQAbstractSocket +func callbackQAbstractSocket_DestroyQAbstractSocket(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QAbstractSocket"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractSocketFromPointer(ptr).DestroyQAbstractSocketDefault() + } +} + +func (ptr *QAbstractSocket) ConnectDestroyQAbstractSocket(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QAbstractSocket"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QAbstractSocket", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QAbstractSocket", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QAbstractSocket) DisconnectDestroyQAbstractSocket() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QAbstractSocket") + } +} + +func (ptr *QAbstractSocket) DestroyQAbstractSocket() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DestroyQAbstractSocket(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractSocket) DestroyQAbstractSocketDefault() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DestroyQAbstractSocketDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAbstractSocket) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractSocket___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractSocket) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractSocket) __children_newList() unsafe.Pointer { + return C.QAbstractSocket___children_newList(ptr.Pointer()) +} + +func (ptr *QAbstractSocket) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QAbstractSocket___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QAbstractSocket) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QAbstractSocket) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QAbstractSocket___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QAbstractSocket) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractSocket___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractSocket) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractSocket) __findChildren_newList() unsafe.Pointer { + return C.QAbstractSocket___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QAbstractSocket) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractSocket___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractSocket) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractSocket) __findChildren_newList3() unsafe.Pointer { + return C.QAbstractSocket___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QAbstractSocket) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QAbstractSocket___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QAbstractSocket) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QAbstractSocket) __qFindChildren_newList2() unsafe.Pointer { + return C.QAbstractSocket___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQAbstractSocket_AboutToClose +func callbackQAbstractSocket_AboutToClose(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "aboutToClose"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQAbstractSocket_BytesWritten +func callbackQAbstractSocket_BytesWritten(ptr unsafe.Pointer, bytes C.longlong) { + if signal := qt.GetSignal(ptr, "bytesWritten"); signal != nil { + (*(*func(int64))(signal))(int64(bytes)) + } + +} + +//export callbackQAbstractSocket_ChannelBytesWritten +func callbackQAbstractSocket_ChannelBytesWritten(ptr unsafe.Pointer, channel C.int, bytes C.longlong) { + if signal := qt.GetSignal(ptr, "channelBytesWritten"); signal != nil { + (*(*func(int, int64))(signal))(int(int32(channel)), int64(bytes)) + } + +} + +//export callbackQAbstractSocket_ChannelReadyRead +func callbackQAbstractSocket_ChannelReadyRead(ptr unsafe.Pointer, channel C.int) { + if signal := qt.GetSignal(ptr, "channelReadyRead"); signal != nil { + (*(*func(int))(signal))(int(int32(channel))) + } + +} + +//export callbackQAbstractSocket_Open +func callbackQAbstractSocket_Open(ptr unsafe.Pointer, mode C.longlong) C.char { + if signal := qt.GetSignal(ptr, "open"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(core.QIODevice__OpenModeFlag) bool)(signal))(core.QIODevice__OpenModeFlag(mode))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).OpenDefault(core.QIODevice__OpenModeFlag(mode))))) +} + +func (ptr *QAbstractSocket) OpenDefault(mode core.QIODevice__OpenModeFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_OpenDefault(ptr.Pointer(), C.longlong(mode))) != 0 + } + return false +} + +//export callbackQAbstractSocket_Pos +func callbackQAbstractSocket_Pos(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "pos"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQAbstractSocketFromPointer(ptr).PosDefault()) +} + +func (ptr *QAbstractSocket) PosDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QAbstractSocket_PosDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractSocket_ReadChannelFinished +func callbackQAbstractSocket_ReadChannelFinished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readChannelFinished"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQAbstractSocket_ReadyRead +func callbackQAbstractSocket_ReadyRead(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readyRead"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQAbstractSocket_Reset +func callbackQAbstractSocket_Reset(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "reset"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).ResetDefault()))) +} + +func (ptr *QAbstractSocket) ResetDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_ResetDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQAbstractSocket_Seek +func callbackQAbstractSocket_Seek(ptr unsafe.Pointer, pos C.longlong) C.char { + if signal := qt.GetSignal(ptr, "seek"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int64) bool)(signal))(int64(pos))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).SeekDefault(int64(pos))))) +} + +func (ptr *QAbstractSocket) SeekDefault(pos int64) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_SeekDefault(ptr.Pointer(), C.longlong(pos))) != 0 + } + return false +} + +//export callbackQAbstractSocket_Size +func callbackQAbstractSocket_Size(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "size"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQAbstractSocketFromPointer(ptr).SizeDefault()) +} + +func (ptr *QAbstractSocket) SizeDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QAbstractSocket_SizeDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQAbstractSocket_ChildEvent +func callbackQAbstractSocket_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQAbstractSocketFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QAbstractSocket) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQAbstractSocket_ConnectNotify +func callbackQAbstractSocket_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQAbstractSocketFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QAbstractSocket) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQAbstractSocket_CustomEvent +func callbackQAbstractSocket_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQAbstractSocketFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QAbstractSocket) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQAbstractSocket_DeleteLater +func callbackQAbstractSocket_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQAbstractSocketFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QAbstractSocket) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QAbstractSocket_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQAbstractSocket_Destroyed +func callbackQAbstractSocket_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQAbstractSocket_DisconnectNotify +func callbackQAbstractSocket_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQAbstractSocketFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QAbstractSocket) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQAbstractSocket_Event +func callbackQAbstractSocket_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QAbstractSocket) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQAbstractSocket_EventFilter +func callbackQAbstractSocket_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQAbstractSocketFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QAbstractSocket) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QAbstractSocket_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQAbstractSocket_MetaObject +func callbackQAbstractSocket_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQAbstractSocketFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QAbstractSocket) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QAbstractSocket_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQAbstractSocket_ObjectNameChanged +func callbackQAbstractSocket_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQAbstractSocket_TimerEvent +func callbackQAbstractSocket_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQAbstractSocketFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QAbstractSocket) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QAbstractSocket_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QAuthenticator struct { + ptr unsafe.Pointer +} + +type QAuthenticator_ITF interface { + QAuthenticator_PTR() *QAuthenticator +} + +func (ptr *QAuthenticator) QAuthenticator_PTR() *QAuthenticator { + return ptr +} + +func (ptr *QAuthenticator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QAuthenticator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQAuthenticator(ptr QAuthenticator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QAuthenticator_PTR().Pointer() + } + return nil +} + +func NewQAuthenticatorFromPointer(ptr unsafe.Pointer) (n *QAuthenticator) { + n = new(QAuthenticator) + n.SetPointer(ptr) + return +} +func NewQAuthenticator() *QAuthenticator { + tmpValue := NewQAuthenticatorFromPointer(C.QAuthenticator_NewQAuthenticator()) + runtime.SetFinalizer(tmpValue, (*QAuthenticator).DestroyQAuthenticator) + return tmpValue +} + +func NewQAuthenticator2(other QAuthenticator_ITF) *QAuthenticator { + tmpValue := NewQAuthenticatorFromPointer(C.QAuthenticator_NewQAuthenticator2(PointerFromQAuthenticator(other))) + runtime.SetFinalizer(tmpValue, (*QAuthenticator).DestroyQAuthenticator) + return tmpValue +} + +func (ptr *QAuthenticator) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QAuthenticator_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QAuthenticator) Option(opt string) *core.QVariant { + if ptr.Pointer() != nil { + var optC *C.char + if opt != "" { + optC = C.CString(opt) + defer C.free(unsafe.Pointer(optC)) + } + tmpValue := core.NewQVariantFromPointer(C.QAuthenticator_Option(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: optC, len: C.longlong(len(opt))})) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAuthenticator) Options() map[string]*core.QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) map[string]*core.QVariant { + out := make(map[string]*core.QVariant, int(l.len)) + tmpList := NewQAuthenticatorFromPointer(l.data) + for i, v := range tmpList.__options_keyList() { + out[v] = tmpList.__options_atList(v, i) + } + return out + }(C.QAuthenticator_Options(ptr.Pointer())) + } + return make(map[string]*core.QVariant, 0) +} + +func (ptr *QAuthenticator) Password() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAuthenticator_Password(ptr.Pointer())) + } + return "" +} + +func (ptr *QAuthenticator) Realm() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAuthenticator_Realm(ptr.Pointer())) + } + return "" +} + +func (ptr *QAuthenticator) SetOption(opt string, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + var optC *C.char + if opt != "" { + optC = C.CString(opt) + defer C.free(unsafe.Pointer(optC)) + } + C.QAuthenticator_SetOption(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: optC, len: C.longlong(len(opt))}, core.PointerFromQVariant(value)) + } +} + +func (ptr *QAuthenticator) SetPassword(password string) { + if ptr.Pointer() != nil { + var passwordC *C.char + if password != "" { + passwordC = C.CString(password) + defer C.free(unsafe.Pointer(passwordC)) + } + C.QAuthenticator_SetPassword(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: passwordC, len: C.longlong(len(password))}) + } +} + +func (ptr *QAuthenticator) SetUser(user string) { + if ptr.Pointer() != nil { + var userC *C.char + if user != "" { + userC = C.CString(user) + defer C.free(unsafe.Pointer(userC)) + } + C.QAuthenticator_SetUser(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: userC, len: C.longlong(len(user))}) + } +} + +func (ptr *QAuthenticator) User() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAuthenticator_User(ptr.Pointer())) + } + return "" +} + +func (ptr *QAuthenticator) DestroyQAuthenticator() { + if ptr.Pointer() != nil { + C.QAuthenticator_DestroyQAuthenticator(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QAuthenticator) __options_atList(v string, i int) *core.QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := core.NewQVariantFromPointer(C.QAuthenticator___options_atList(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QAuthenticator) __options_setList(key string, i core.QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QAuthenticator___options_setList(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: keyC, len: C.longlong(len(key))}, core.PointerFromQVariant(i)) + } +} + +func (ptr *QAuthenticator) __options_newList() unsafe.Pointer { + return C.QAuthenticator___options_newList(ptr.Pointer()) +} + +func (ptr *QAuthenticator) __options_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQAuthenticatorFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____options_keyList_atList(i) + } + return out + }(C.QAuthenticator___options_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QAuthenticator) ____options_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QAuthenticator_____options_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QAuthenticator) ____options_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QAuthenticator_____options_keyList_setList(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QAuthenticator) ____options_keyList_newList() unsafe.Pointer { + return C.QAuthenticator_____options_keyList_newList(ptr.Pointer()) +} + +type QDnsDomainNameRecord struct { + ptr unsafe.Pointer +} + +type QDnsDomainNameRecord_ITF interface { + QDnsDomainNameRecord_PTR() *QDnsDomainNameRecord +} + +func (ptr *QDnsDomainNameRecord) QDnsDomainNameRecord_PTR() *QDnsDomainNameRecord { + return ptr +} + +func (ptr *QDnsDomainNameRecord) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDnsDomainNameRecord) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDnsDomainNameRecord(ptr QDnsDomainNameRecord_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDnsDomainNameRecord_PTR().Pointer() + } + return nil +} + +func NewQDnsDomainNameRecordFromPointer(ptr unsafe.Pointer) (n *QDnsDomainNameRecord) { + n = new(QDnsDomainNameRecord) + n.SetPointer(ptr) + return +} +func NewQDnsDomainNameRecord() *QDnsDomainNameRecord { + tmpValue := NewQDnsDomainNameRecordFromPointer(C.QDnsDomainNameRecord_NewQDnsDomainNameRecord()) + runtime.SetFinalizer(tmpValue, (*QDnsDomainNameRecord).DestroyQDnsDomainNameRecord) + return tmpValue +} + +func NewQDnsDomainNameRecord2(other QDnsDomainNameRecord_ITF) *QDnsDomainNameRecord { + tmpValue := NewQDnsDomainNameRecordFromPointer(C.QDnsDomainNameRecord_NewQDnsDomainNameRecord2(PointerFromQDnsDomainNameRecord(other))) + runtime.SetFinalizer(tmpValue, (*QDnsDomainNameRecord).DestroyQDnsDomainNameRecord) + return tmpValue +} + +func (ptr *QDnsDomainNameRecord) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsDomainNameRecord_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QDnsDomainNameRecord) Swap(other QDnsDomainNameRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsDomainNameRecord_Swap(ptr.Pointer(), PointerFromQDnsDomainNameRecord(other)) + } +} + +func (ptr *QDnsDomainNameRecord) TimeToLive() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QDnsDomainNameRecord_TimeToLive(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDnsDomainNameRecord) Value() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsDomainNameRecord_Value(ptr.Pointer())) + } + return "" +} + +func (ptr *QDnsDomainNameRecord) DestroyQDnsDomainNameRecord() { + if ptr.Pointer() != nil { + C.QDnsDomainNameRecord_DestroyQDnsDomainNameRecord(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDnsHostAddressRecord struct { + ptr unsafe.Pointer +} + +type QDnsHostAddressRecord_ITF interface { + QDnsHostAddressRecord_PTR() *QDnsHostAddressRecord +} + +func (ptr *QDnsHostAddressRecord) QDnsHostAddressRecord_PTR() *QDnsHostAddressRecord { + return ptr +} + +func (ptr *QDnsHostAddressRecord) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDnsHostAddressRecord) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDnsHostAddressRecord(ptr QDnsHostAddressRecord_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDnsHostAddressRecord_PTR().Pointer() + } + return nil +} + +func NewQDnsHostAddressRecordFromPointer(ptr unsafe.Pointer) (n *QDnsHostAddressRecord) { + n = new(QDnsHostAddressRecord) + n.SetPointer(ptr) + return +} +func NewQDnsHostAddressRecord() *QDnsHostAddressRecord { + tmpValue := NewQDnsHostAddressRecordFromPointer(C.QDnsHostAddressRecord_NewQDnsHostAddressRecord()) + runtime.SetFinalizer(tmpValue, (*QDnsHostAddressRecord).DestroyQDnsHostAddressRecord) + return tmpValue +} + +func NewQDnsHostAddressRecord2(other QDnsHostAddressRecord_ITF) *QDnsHostAddressRecord { + tmpValue := NewQDnsHostAddressRecordFromPointer(C.QDnsHostAddressRecord_NewQDnsHostAddressRecord2(PointerFromQDnsHostAddressRecord(other))) + runtime.SetFinalizer(tmpValue, (*QDnsHostAddressRecord).DestroyQDnsHostAddressRecord) + return tmpValue +} + +func (ptr *QDnsHostAddressRecord) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsHostAddressRecord_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QDnsHostAddressRecord) Swap(other QDnsHostAddressRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsHostAddressRecord_Swap(ptr.Pointer(), PointerFromQDnsHostAddressRecord(other)) + } +} + +func (ptr *QDnsHostAddressRecord) TimeToLive() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QDnsHostAddressRecord_TimeToLive(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDnsHostAddressRecord) Value() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QDnsHostAddressRecord_Value(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QDnsHostAddressRecord) DestroyQDnsHostAddressRecord() { + if ptr.Pointer() != nil { + C.QDnsHostAddressRecord_DestroyQDnsHostAddressRecord(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDnsLookup struct { + core.QObject +} + +type QDnsLookup_ITF interface { + core.QObject_ITF + QDnsLookup_PTR() *QDnsLookup +} + +func (ptr *QDnsLookup) QDnsLookup_PTR() *QDnsLookup { + return ptr +} + +func (ptr *QDnsLookup) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QDnsLookup) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQDnsLookup(ptr QDnsLookup_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDnsLookup_PTR().Pointer() + } + return nil +} + +func NewQDnsLookupFromPointer(ptr unsafe.Pointer) (n *QDnsLookup) { + n = new(QDnsLookup) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QDnsLookup__Error +//QDnsLookup::Error +type QDnsLookup__Error int64 + +const ( + QDnsLookup__NoError QDnsLookup__Error = QDnsLookup__Error(0) + QDnsLookup__ResolverError QDnsLookup__Error = QDnsLookup__Error(1) + QDnsLookup__OperationCancelledError QDnsLookup__Error = QDnsLookup__Error(2) + QDnsLookup__InvalidRequestError QDnsLookup__Error = QDnsLookup__Error(3) + QDnsLookup__InvalidReplyError QDnsLookup__Error = QDnsLookup__Error(4) + QDnsLookup__ServerFailureError QDnsLookup__Error = QDnsLookup__Error(5) + QDnsLookup__ServerRefusedError QDnsLookup__Error = QDnsLookup__Error(6) + QDnsLookup__NotFoundError QDnsLookup__Error = QDnsLookup__Error(7) +) + +//go:generate stringer -type=QDnsLookup__Type +//QDnsLookup::Type +type QDnsLookup__Type int64 + +const ( + QDnsLookup__A QDnsLookup__Type = QDnsLookup__Type(1) + QDnsLookup__AAAA QDnsLookup__Type = QDnsLookup__Type(28) + QDnsLookup__ANY QDnsLookup__Type = QDnsLookup__Type(255) + QDnsLookup__CNAME QDnsLookup__Type = QDnsLookup__Type(5) + QDnsLookup__MX QDnsLookup__Type = QDnsLookup__Type(15) + QDnsLookup__NS QDnsLookup__Type = QDnsLookup__Type(2) + QDnsLookup__PTR QDnsLookup__Type = QDnsLookup__Type(12) + QDnsLookup__SRV QDnsLookup__Type = QDnsLookup__Type(33) + QDnsLookup__TXT QDnsLookup__Type = QDnsLookup__Type(16) +) + +func NewQDnsLookup(parent core.QObject_ITF) *QDnsLookup { + tmpValue := NewQDnsLookupFromPointer(C.QDnsLookup_NewQDnsLookup(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQDnsLookup2(ty QDnsLookup__Type, name string, parent core.QObject_ITF) *QDnsLookup { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQDnsLookupFromPointer(C.QDnsLookup_NewQDnsLookup2(C.longlong(ty), C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQDnsLookup3(ty QDnsLookup__Type, name string, nameserver QHostAddress_ITF, parent core.QObject_ITF) *QDnsLookup { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQDnsLookupFromPointer(C.QDnsLookup_NewQDnsLookup3(C.longlong(ty), C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQHostAddress(nameserver), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQDnsLookup_Abort +func callbackQDnsLookup_Abort(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "abort"); signal != nil { + (*(*func())(signal))() + } else { + NewQDnsLookupFromPointer(ptr).AbortDefault() + } +} + +func (ptr *QDnsLookup) ConnectAbort(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "abort"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "abort", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "abort", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDnsLookup) DisconnectAbort() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "abort") + } +} + +func (ptr *QDnsLookup) Abort() { + if ptr.Pointer() != nil { + C.QDnsLookup_Abort(ptr.Pointer()) + } +} + +func (ptr *QDnsLookup) AbortDefault() { + if ptr.Pointer() != nil { + C.QDnsLookup_AbortDefault(ptr.Pointer()) + } +} + +func (ptr *QDnsLookup) CanonicalNameRecords() []*QDnsDomainNameRecord { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QDnsDomainNameRecord { + out := make([]*QDnsDomainNameRecord, int(l.len)) + tmpList := NewQDnsLookupFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__canonicalNameRecords_atList(i) + } + return out + }(C.QDnsLookup_CanonicalNameRecords(ptr.Pointer())) + } + return make([]*QDnsDomainNameRecord, 0) +} + +func (ptr *QDnsLookup) Error() QDnsLookup__Error { + if ptr.Pointer() != nil { + return QDnsLookup__Error(C.QDnsLookup_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDnsLookup) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsLookup_ErrorString(ptr.Pointer())) + } + return "" +} + +//export callbackQDnsLookup_Finished +func callbackQDnsLookup_Finished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "finished"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QDnsLookup) ConnectFinished(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "finished") { + C.QDnsLookup_ConnectFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "finished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "finished"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDnsLookup) DisconnectFinished() { + if ptr.Pointer() != nil { + C.QDnsLookup_DisconnectFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "finished") + } +} + +func (ptr *QDnsLookup) Finished() { + if ptr.Pointer() != nil { + C.QDnsLookup_Finished(ptr.Pointer()) + } +} + +func (ptr *QDnsLookup) HostAddressRecords() []*QDnsHostAddressRecord { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QDnsHostAddressRecord { + out := make([]*QDnsHostAddressRecord, int(l.len)) + tmpList := NewQDnsLookupFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__hostAddressRecords_atList(i) + } + return out + }(C.QDnsLookup_HostAddressRecords(ptr.Pointer())) + } + return make([]*QDnsHostAddressRecord, 0) +} + +func (ptr *QDnsLookup) IsFinished() bool { + if ptr.Pointer() != nil { + return int8(C.QDnsLookup_IsFinished(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQDnsLookup_Lookup +func callbackQDnsLookup_Lookup(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "lookup"); signal != nil { + (*(*func())(signal))() + } else { + NewQDnsLookupFromPointer(ptr).LookupDefault() + } +} + +func (ptr *QDnsLookup) ConnectLookup(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "lookup"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "lookup", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "lookup", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDnsLookup) DisconnectLookup() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "lookup") + } +} + +func (ptr *QDnsLookup) Lookup() { + if ptr.Pointer() != nil { + C.QDnsLookup_Lookup(ptr.Pointer()) + } +} + +func (ptr *QDnsLookup) LookupDefault() { + if ptr.Pointer() != nil { + C.QDnsLookup_LookupDefault(ptr.Pointer()) + } +} + +func (ptr *QDnsLookup) MailExchangeRecords() []*QDnsMailExchangeRecord { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QDnsMailExchangeRecord { + out := make([]*QDnsMailExchangeRecord, int(l.len)) + tmpList := NewQDnsLookupFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__mailExchangeRecords_atList(i) + } + return out + }(C.QDnsLookup_MailExchangeRecords(ptr.Pointer())) + } + return make([]*QDnsMailExchangeRecord, 0) +} + +func (ptr *QDnsLookup) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsLookup_Name(ptr.Pointer())) + } + return "" +} + +//export callbackQDnsLookup_NameChanged +func callbackQDnsLookup_NameChanged(ptr unsafe.Pointer, name C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "nameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(name)) + } + +} + +func (ptr *QDnsLookup) ConnectNameChanged(f func(name string)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "nameChanged") { + C.QDnsLookup_ConnectNameChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "nameChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "nameChanged"); signal != nil { + f := func(name string) { + (*(*func(string))(signal))(name) + f(name) + } + qt.ConnectSignal(ptr.Pointer(), "nameChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "nameChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDnsLookup) DisconnectNameChanged() { + if ptr.Pointer() != nil { + C.QDnsLookup_DisconnectNameChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "nameChanged") + } +} + +func (ptr *QDnsLookup) NameChanged(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QDnsLookup_NameChanged(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QDnsLookup) NameServerRecords() []*QDnsDomainNameRecord { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QDnsDomainNameRecord { + out := make([]*QDnsDomainNameRecord, int(l.len)) + tmpList := NewQDnsLookupFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__nameServerRecords_atList(i) + } + return out + }(C.QDnsLookup_NameServerRecords(ptr.Pointer())) + } + return make([]*QDnsDomainNameRecord, 0) +} + +func (ptr *QDnsLookup) Nameserver() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QDnsLookup_Nameserver(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +//export callbackQDnsLookup_NameserverChanged +func callbackQDnsLookup_NameserverChanged(ptr unsafe.Pointer, nameserver unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "nameserverChanged"); signal != nil { + (*(*func(*QHostAddress))(signal))(NewQHostAddressFromPointer(nameserver)) + } + +} + +func (ptr *QDnsLookup) ConnectNameserverChanged(f func(nameserver *QHostAddress)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "nameserverChanged") { + C.QDnsLookup_ConnectNameserverChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "nameserverChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "nameserverChanged"); signal != nil { + f := func(nameserver *QHostAddress) { + (*(*func(*QHostAddress))(signal))(nameserver) + f(nameserver) + } + qt.ConnectSignal(ptr.Pointer(), "nameserverChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "nameserverChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDnsLookup) DisconnectNameserverChanged() { + if ptr.Pointer() != nil { + C.QDnsLookup_DisconnectNameserverChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "nameserverChanged") + } +} + +func (ptr *QDnsLookup) NameserverChanged(nameserver QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup_NameserverChanged(ptr.Pointer(), PointerFromQHostAddress(nameserver)) + } +} + +func (ptr *QDnsLookup) PointerRecords() []*QDnsDomainNameRecord { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QDnsDomainNameRecord { + out := make([]*QDnsDomainNameRecord, int(l.len)) + tmpList := NewQDnsLookupFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__pointerRecords_atList(i) + } + return out + }(C.QDnsLookup_PointerRecords(ptr.Pointer())) + } + return make([]*QDnsDomainNameRecord, 0) +} + +func (ptr *QDnsLookup) ServiceRecords() []*QDnsServiceRecord { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QDnsServiceRecord { + out := make([]*QDnsServiceRecord, int(l.len)) + tmpList := NewQDnsLookupFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__serviceRecords_atList(i) + } + return out + }(C.QDnsLookup_ServiceRecords(ptr.Pointer())) + } + return make([]*QDnsServiceRecord, 0) +} + +func (ptr *QDnsLookup) SetName(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QDnsLookup_SetName(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QDnsLookup) SetNameserver(nameserver QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup_SetNameserver(ptr.Pointer(), PointerFromQHostAddress(nameserver)) + } +} + +func (ptr *QDnsLookup) SetType(vqd QDnsLookup__Type) { + if ptr.Pointer() != nil { + C.QDnsLookup_SetType(ptr.Pointer(), C.longlong(vqd)) + } +} + +func (ptr *QDnsLookup) TextRecords() []*QDnsTextRecord { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QDnsTextRecord { + out := make([]*QDnsTextRecord, int(l.len)) + tmpList := NewQDnsLookupFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__textRecords_atList(i) + } + return out + }(C.QDnsLookup_TextRecords(ptr.Pointer())) + } + return make([]*QDnsTextRecord, 0) +} + +func (ptr *QDnsLookup) Type() QDnsLookup__Type { + if ptr.Pointer() != nil { + return QDnsLookup__Type(C.QDnsLookup_Type(ptr.Pointer())) + } + return 0 +} + +//export callbackQDnsLookup_TypeChanged +func callbackQDnsLookup_TypeChanged(ptr unsafe.Pointer, ty C.longlong) { + if signal := qt.GetSignal(ptr, "typeChanged"); signal != nil { + (*(*func(QDnsLookup__Type))(signal))(QDnsLookup__Type(ty)) + } + +} + +func (ptr *QDnsLookup) ConnectTypeChanged(f func(ty QDnsLookup__Type)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "typeChanged") { + C.QDnsLookup_ConnectTypeChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "typeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "typeChanged"); signal != nil { + f := func(ty QDnsLookup__Type) { + (*(*func(QDnsLookup__Type))(signal))(ty) + f(ty) + } + qt.ConnectSignal(ptr.Pointer(), "typeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "typeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDnsLookup) DisconnectTypeChanged() { + if ptr.Pointer() != nil { + C.QDnsLookup_DisconnectTypeChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "typeChanged") + } +} + +func (ptr *QDnsLookup) TypeChanged(ty QDnsLookup__Type) { + if ptr.Pointer() != nil { + C.QDnsLookup_TypeChanged(ptr.Pointer(), C.longlong(ty)) + } +} + +//export callbackQDnsLookup_DestroyQDnsLookup +func callbackQDnsLookup_DestroyQDnsLookup(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QDnsLookup"); signal != nil { + (*(*func())(signal))() + } else { + NewQDnsLookupFromPointer(ptr).DestroyQDnsLookupDefault() + } +} + +func (ptr *QDnsLookup) ConnectDestroyQDnsLookup(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QDnsLookup"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QDnsLookup", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QDnsLookup", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QDnsLookup) DisconnectDestroyQDnsLookup() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QDnsLookup") + } +} + +func (ptr *QDnsLookup) DestroyQDnsLookup() { + if ptr.Pointer() != nil { + C.QDnsLookup_DestroyQDnsLookup(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QDnsLookup) DestroyQDnsLookupDefault() { + if ptr.Pointer() != nil { + C.QDnsLookup_DestroyQDnsLookupDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QDnsLookup) __canonicalNameRecords_atList(i int) *QDnsDomainNameRecord { + if ptr.Pointer() != nil { + tmpValue := NewQDnsDomainNameRecordFromPointer(C.QDnsLookup___canonicalNameRecords_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QDnsDomainNameRecord).DestroyQDnsDomainNameRecord) + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __canonicalNameRecords_setList(i QDnsDomainNameRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___canonicalNameRecords_setList(ptr.Pointer(), PointerFromQDnsDomainNameRecord(i)) + } +} + +func (ptr *QDnsLookup) __canonicalNameRecords_newList() unsafe.Pointer { + return C.QDnsLookup___canonicalNameRecords_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __hostAddressRecords_atList(i int) *QDnsHostAddressRecord { + if ptr.Pointer() != nil { + tmpValue := NewQDnsHostAddressRecordFromPointer(C.QDnsLookup___hostAddressRecords_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QDnsHostAddressRecord).DestroyQDnsHostAddressRecord) + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __hostAddressRecords_setList(i QDnsHostAddressRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___hostAddressRecords_setList(ptr.Pointer(), PointerFromQDnsHostAddressRecord(i)) + } +} + +func (ptr *QDnsLookup) __hostAddressRecords_newList() unsafe.Pointer { + return C.QDnsLookup___hostAddressRecords_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __mailExchangeRecords_atList(i int) *QDnsMailExchangeRecord { + if ptr.Pointer() != nil { + tmpValue := NewQDnsMailExchangeRecordFromPointer(C.QDnsLookup___mailExchangeRecords_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QDnsMailExchangeRecord).DestroyQDnsMailExchangeRecord) + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __mailExchangeRecords_setList(i QDnsMailExchangeRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___mailExchangeRecords_setList(ptr.Pointer(), PointerFromQDnsMailExchangeRecord(i)) + } +} + +func (ptr *QDnsLookup) __mailExchangeRecords_newList() unsafe.Pointer { + return C.QDnsLookup___mailExchangeRecords_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __nameServerRecords_atList(i int) *QDnsDomainNameRecord { + if ptr.Pointer() != nil { + tmpValue := NewQDnsDomainNameRecordFromPointer(C.QDnsLookup___nameServerRecords_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QDnsDomainNameRecord).DestroyQDnsDomainNameRecord) + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __nameServerRecords_setList(i QDnsDomainNameRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___nameServerRecords_setList(ptr.Pointer(), PointerFromQDnsDomainNameRecord(i)) + } +} + +func (ptr *QDnsLookup) __nameServerRecords_newList() unsafe.Pointer { + return C.QDnsLookup___nameServerRecords_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __pointerRecords_atList(i int) *QDnsDomainNameRecord { + if ptr.Pointer() != nil { + tmpValue := NewQDnsDomainNameRecordFromPointer(C.QDnsLookup___pointerRecords_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QDnsDomainNameRecord).DestroyQDnsDomainNameRecord) + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __pointerRecords_setList(i QDnsDomainNameRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___pointerRecords_setList(ptr.Pointer(), PointerFromQDnsDomainNameRecord(i)) + } +} + +func (ptr *QDnsLookup) __pointerRecords_newList() unsafe.Pointer { + return C.QDnsLookup___pointerRecords_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __serviceRecords_atList(i int) *QDnsServiceRecord { + if ptr.Pointer() != nil { + tmpValue := NewQDnsServiceRecordFromPointer(C.QDnsLookup___serviceRecords_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QDnsServiceRecord).DestroyQDnsServiceRecord) + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __serviceRecords_setList(i QDnsServiceRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___serviceRecords_setList(ptr.Pointer(), PointerFromQDnsServiceRecord(i)) + } +} + +func (ptr *QDnsLookup) __serviceRecords_newList() unsafe.Pointer { + return C.QDnsLookup___serviceRecords_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __textRecords_atList(i int) *QDnsTextRecord { + if ptr.Pointer() != nil { + tmpValue := NewQDnsTextRecordFromPointer(C.QDnsLookup___textRecords_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QDnsTextRecord).DestroyQDnsTextRecord) + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __textRecords_setList(i QDnsTextRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___textRecords_setList(ptr.Pointer(), PointerFromQDnsTextRecord(i)) + } +} + +func (ptr *QDnsLookup) __textRecords_newList() unsafe.Pointer { + return C.QDnsLookup___textRecords_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDnsLookup___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QDnsLookup) __children_newList() unsafe.Pointer { + return C.QDnsLookup___children_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QDnsLookup___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QDnsLookup) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QDnsLookup___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDnsLookup___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QDnsLookup) __findChildren_newList() unsafe.Pointer { + return C.QDnsLookup___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDnsLookup___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QDnsLookup) __findChildren_newList3() unsafe.Pointer { + return C.QDnsLookup___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QDnsLookup) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QDnsLookup___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QDnsLookup) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QDnsLookup) __qFindChildren_newList2() unsafe.Pointer { + return C.QDnsLookup___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQDnsLookup_ChildEvent +func callbackQDnsLookup_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQDnsLookupFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QDnsLookup) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQDnsLookup_ConnectNotify +func callbackQDnsLookup_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQDnsLookupFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QDnsLookup) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQDnsLookup_CustomEvent +func callbackQDnsLookup_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQDnsLookupFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QDnsLookup) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQDnsLookup_DeleteLater +func callbackQDnsLookup_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQDnsLookupFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QDnsLookup) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QDnsLookup_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQDnsLookup_Destroyed +func callbackQDnsLookup_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQDnsLookup_DisconnectNotify +func callbackQDnsLookup_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQDnsLookupFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QDnsLookup) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQDnsLookup_Event +func callbackQDnsLookup_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQDnsLookupFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QDnsLookup) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QDnsLookup_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQDnsLookup_EventFilter +func callbackQDnsLookup_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQDnsLookupFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QDnsLookup) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QDnsLookup_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQDnsLookup_MetaObject +func callbackQDnsLookup_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQDnsLookupFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QDnsLookup) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QDnsLookup_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQDnsLookup_ObjectNameChanged +func callbackQDnsLookup_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQDnsLookup_TimerEvent +func callbackQDnsLookup_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQDnsLookupFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QDnsLookup) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QDnsLookup_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QDnsMailExchangeRecord struct { + ptr unsafe.Pointer +} + +type QDnsMailExchangeRecord_ITF interface { + QDnsMailExchangeRecord_PTR() *QDnsMailExchangeRecord +} + +func (ptr *QDnsMailExchangeRecord) QDnsMailExchangeRecord_PTR() *QDnsMailExchangeRecord { + return ptr +} + +func (ptr *QDnsMailExchangeRecord) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDnsMailExchangeRecord) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDnsMailExchangeRecord(ptr QDnsMailExchangeRecord_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDnsMailExchangeRecord_PTR().Pointer() + } + return nil +} + +func NewQDnsMailExchangeRecordFromPointer(ptr unsafe.Pointer) (n *QDnsMailExchangeRecord) { + n = new(QDnsMailExchangeRecord) + n.SetPointer(ptr) + return +} +func NewQDnsMailExchangeRecord() *QDnsMailExchangeRecord { + tmpValue := NewQDnsMailExchangeRecordFromPointer(C.QDnsMailExchangeRecord_NewQDnsMailExchangeRecord()) + runtime.SetFinalizer(tmpValue, (*QDnsMailExchangeRecord).DestroyQDnsMailExchangeRecord) + return tmpValue +} + +func NewQDnsMailExchangeRecord2(other QDnsMailExchangeRecord_ITF) *QDnsMailExchangeRecord { + tmpValue := NewQDnsMailExchangeRecordFromPointer(C.QDnsMailExchangeRecord_NewQDnsMailExchangeRecord2(PointerFromQDnsMailExchangeRecord(other))) + runtime.SetFinalizer(tmpValue, (*QDnsMailExchangeRecord).DestroyQDnsMailExchangeRecord) + return tmpValue +} + +func (ptr *QDnsMailExchangeRecord) Exchange() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsMailExchangeRecord_Exchange(ptr.Pointer())) + } + return "" +} + +func (ptr *QDnsMailExchangeRecord) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsMailExchangeRecord_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QDnsMailExchangeRecord) Preference() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QDnsMailExchangeRecord_Preference(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDnsMailExchangeRecord) Swap(other QDnsMailExchangeRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsMailExchangeRecord_Swap(ptr.Pointer(), PointerFromQDnsMailExchangeRecord(other)) + } +} + +func (ptr *QDnsMailExchangeRecord) TimeToLive() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QDnsMailExchangeRecord_TimeToLive(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDnsMailExchangeRecord) DestroyQDnsMailExchangeRecord() { + if ptr.Pointer() != nil { + C.QDnsMailExchangeRecord_DestroyQDnsMailExchangeRecord(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDnsServiceRecord struct { + ptr unsafe.Pointer +} + +type QDnsServiceRecord_ITF interface { + QDnsServiceRecord_PTR() *QDnsServiceRecord +} + +func (ptr *QDnsServiceRecord) QDnsServiceRecord_PTR() *QDnsServiceRecord { + return ptr +} + +func (ptr *QDnsServiceRecord) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDnsServiceRecord) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDnsServiceRecord(ptr QDnsServiceRecord_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDnsServiceRecord_PTR().Pointer() + } + return nil +} + +func NewQDnsServiceRecordFromPointer(ptr unsafe.Pointer) (n *QDnsServiceRecord) { + n = new(QDnsServiceRecord) + n.SetPointer(ptr) + return +} +func NewQDnsServiceRecord() *QDnsServiceRecord { + tmpValue := NewQDnsServiceRecordFromPointer(C.QDnsServiceRecord_NewQDnsServiceRecord()) + runtime.SetFinalizer(tmpValue, (*QDnsServiceRecord).DestroyQDnsServiceRecord) + return tmpValue +} + +func NewQDnsServiceRecord2(other QDnsServiceRecord_ITF) *QDnsServiceRecord { + tmpValue := NewQDnsServiceRecordFromPointer(C.QDnsServiceRecord_NewQDnsServiceRecord2(PointerFromQDnsServiceRecord(other))) + runtime.SetFinalizer(tmpValue, (*QDnsServiceRecord).DestroyQDnsServiceRecord) + return tmpValue +} + +func (ptr *QDnsServiceRecord) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsServiceRecord_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QDnsServiceRecord) Port() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QDnsServiceRecord_Port(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDnsServiceRecord) Priority() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QDnsServiceRecord_Priority(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDnsServiceRecord) Swap(other QDnsServiceRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsServiceRecord_Swap(ptr.Pointer(), PointerFromQDnsServiceRecord(other)) + } +} + +func (ptr *QDnsServiceRecord) Target() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsServiceRecord_Target(ptr.Pointer())) + } + return "" +} + +func (ptr *QDnsServiceRecord) TimeToLive() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QDnsServiceRecord_TimeToLive(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDnsServiceRecord) Weight() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QDnsServiceRecord_Weight(ptr.Pointer())) + } + return 0 +} + +func (ptr *QDnsServiceRecord) DestroyQDnsServiceRecord() { + if ptr.Pointer() != nil { + C.QDnsServiceRecord_DestroyQDnsServiceRecord(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QDnsTextRecord struct { + ptr unsafe.Pointer +} + +type QDnsTextRecord_ITF interface { + QDnsTextRecord_PTR() *QDnsTextRecord +} + +func (ptr *QDnsTextRecord) QDnsTextRecord_PTR() *QDnsTextRecord { + return ptr +} + +func (ptr *QDnsTextRecord) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QDnsTextRecord) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQDnsTextRecord(ptr QDnsTextRecord_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDnsTextRecord_PTR().Pointer() + } + return nil +} + +func NewQDnsTextRecordFromPointer(ptr unsafe.Pointer) (n *QDnsTextRecord) { + n = new(QDnsTextRecord) + n.SetPointer(ptr) + return +} +func NewQDnsTextRecord() *QDnsTextRecord { + tmpValue := NewQDnsTextRecordFromPointer(C.QDnsTextRecord_NewQDnsTextRecord()) + runtime.SetFinalizer(tmpValue, (*QDnsTextRecord).DestroyQDnsTextRecord) + return tmpValue +} + +func NewQDnsTextRecord2(other QDnsTextRecord_ITF) *QDnsTextRecord { + tmpValue := NewQDnsTextRecordFromPointer(C.QDnsTextRecord_NewQDnsTextRecord2(PointerFromQDnsTextRecord(other))) + runtime.SetFinalizer(tmpValue, (*QDnsTextRecord).DestroyQDnsTextRecord) + return tmpValue +} + +func (ptr *QDnsTextRecord) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QDnsTextRecord_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QDnsTextRecord) Swap(other QDnsTextRecord_ITF) { + if ptr.Pointer() != nil { + C.QDnsTextRecord_Swap(ptr.Pointer(), PointerFromQDnsTextRecord(other)) + } +} + +func (ptr *QDnsTextRecord) TimeToLive() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QDnsTextRecord_TimeToLive(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QDnsTextRecord) Values() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQDnsTextRecordFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__values_atList(i) + } + return out + }(C.QDnsTextRecord_Values(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QDnsTextRecord) DestroyQDnsTextRecord() { + if ptr.Pointer() != nil { + C.QDnsTextRecord_DestroyQDnsTextRecord(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QDnsTextRecord) __values_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QDnsTextRecord___values_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QDnsTextRecord) __values_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QDnsTextRecord___values_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QDnsTextRecord) __values_newList() unsafe.Pointer { + return C.QDnsTextRecord___values_newList(ptr.Pointer()) +} + +type QDtls struct { + core.QObject +} + +type QDtls_ITF interface { + core.QObject_ITF + QDtls_PTR() *QDtls +} + +func (ptr *QDtls) QDtls_PTR() *QDtls { + return ptr +} + +func (ptr *QDtls) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QDtls) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQDtls(ptr QDtls_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDtls_PTR().Pointer() + } + return nil +} + +func NewQDtlsFromPointer(ptr unsafe.Pointer) (n *QDtls) { + n = new(QDtls) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QDtls__QDtlsError +//QDtls::QDtlsError +type QDtls__QDtlsError int64 + +const ( + QDtls__NoError QDtls__QDtlsError = QDtls__QDtlsError(0) + QDtls__InvalidInputParameters QDtls__QDtlsError = QDtls__QDtlsError(1) + QDtls__InvalidOperation QDtls__QDtlsError = QDtls__QDtlsError(2) + QDtls__UnderlyingSocketError QDtls__QDtlsError = QDtls__QDtlsError(3) + QDtls__RemoteClosedConnectionError QDtls__QDtlsError = QDtls__QDtlsError(4) + QDtls__PeerVerificationError QDtls__QDtlsError = QDtls__QDtlsError(5) + QDtls__TlsInitializationError QDtls__QDtlsError = QDtls__QDtlsError(6) + QDtls__TlsFatalError QDtls__QDtlsError = QDtls__QDtlsError(7) + QDtls__TlsNonFatalError QDtls__QDtlsError = QDtls__QDtlsError(8) +) + +//go:generate stringer -type=QDtls__HandshakeState +//QDtls::HandshakeState +type QDtls__HandshakeState int64 + +const ( + QDtls__HandshakeNotStarted QDtls__HandshakeState = QDtls__HandshakeState(0) + QDtls__HandshakeInProgress QDtls__HandshakeState = QDtls__HandshakeState(1) + QDtls__PeerVerificationFailed QDtls__HandshakeState = QDtls__HandshakeState(2) + QDtls__HandshakeComplete QDtls__HandshakeState = QDtls__HandshakeState(3) +) + +type QDtlsClientVerifier struct { + core.QObject +} + +type QDtlsClientVerifier_ITF interface { + core.QObject_ITF + QDtlsClientVerifier_PTR() *QDtlsClientVerifier +} + +func (ptr *QDtlsClientVerifier) QDtlsClientVerifier_PTR() *QDtlsClientVerifier { + return ptr +} + +func (ptr *QDtlsClientVerifier) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QDtlsClientVerifier) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQDtlsClientVerifier(ptr QDtlsClientVerifier_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QDtlsClientVerifier_PTR().Pointer() + } + return nil +} + +func NewQDtlsClientVerifierFromPointer(ptr unsafe.Pointer) (n *QDtlsClientVerifier) { + n = new(QDtlsClientVerifier) + n.SetPointer(ptr) + return +} + +type QHostAddress struct { + ptr unsafe.Pointer +} + +type QHostAddress_ITF interface { + QHostAddress_PTR() *QHostAddress +} + +func (ptr *QHostAddress) QHostAddress_PTR() *QHostAddress { + return ptr +} + +func (ptr *QHostAddress) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QHostAddress) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQHostAddress(ptr QHostAddress_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHostAddress_PTR().Pointer() + } + return nil +} + +func NewQHostAddressFromPointer(ptr unsafe.Pointer) (n *QHostAddress) { + n = new(QHostAddress) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QHostAddress__SpecialAddress +//QHostAddress::SpecialAddress +type QHostAddress__SpecialAddress int64 + +const ( + QHostAddress__Null QHostAddress__SpecialAddress = QHostAddress__SpecialAddress(0) + QHostAddress__Broadcast QHostAddress__SpecialAddress = QHostAddress__SpecialAddress(1) + QHostAddress__LocalHost QHostAddress__SpecialAddress = QHostAddress__SpecialAddress(2) + QHostAddress__LocalHostIPv6 QHostAddress__SpecialAddress = QHostAddress__SpecialAddress(3) + QHostAddress__Any QHostAddress__SpecialAddress = QHostAddress__SpecialAddress(4) + QHostAddress__AnyIPv6 QHostAddress__SpecialAddress = QHostAddress__SpecialAddress(5) + QHostAddress__AnyIPv4 QHostAddress__SpecialAddress = QHostAddress__SpecialAddress(6) +) + +//go:generate stringer -type=QHostAddress__ConversionModeFlag +//QHostAddress::ConversionModeFlag +type QHostAddress__ConversionModeFlag int64 + +const ( + QHostAddress__ConvertV4MappedToIPv4 QHostAddress__ConversionModeFlag = QHostAddress__ConversionModeFlag(1) + QHostAddress__ConvertV4CompatToIPv4 QHostAddress__ConversionModeFlag = QHostAddress__ConversionModeFlag(2) + QHostAddress__ConvertUnspecifiedAddress QHostAddress__ConversionModeFlag = QHostAddress__ConversionModeFlag(4) + QHostAddress__ConvertLocalHost QHostAddress__ConversionModeFlag = QHostAddress__ConversionModeFlag(8) + QHostAddress__TolerantConversion QHostAddress__ConversionModeFlag = QHostAddress__ConversionModeFlag(0xff) + QHostAddress__StrictConversion QHostAddress__ConversionModeFlag = QHostAddress__ConversionModeFlag(0) +) + +func NewQHostAddress() *QHostAddress { + tmpValue := NewQHostAddressFromPointer(C.QHostAddress_NewQHostAddress()) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue +} + +func NewQHostAddress2(ip4Addr uint) *QHostAddress { + tmpValue := NewQHostAddressFromPointer(C.QHostAddress_NewQHostAddress2(C.uint(uint32(ip4Addr)))) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue +} + +func NewQHostAddress3(ip6Addr string) *QHostAddress { + var ip6AddrC *C.char + if ip6Addr != "" { + ip6AddrC = C.CString(ip6Addr) + defer C.free(unsafe.Pointer(ip6AddrC)) + } + tmpValue := NewQHostAddressFromPointer(C.QHostAddress_NewQHostAddress3(ip6AddrC)) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue +} + +func NewQHostAddress4(ip6Addr string) *QHostAddress { + var ip6AddrC *C.char + if ip6Addr != "" { + ip6AddrC = C.CString(ip6Addr) + defer C.free(unsafe.Pointer(ip6AddrC)) + } + tmpValue := NewQHostAddressFromPointer(C.QHostAddress_NewQHostAddress4(ip6AddrC)) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue +} + +func NewQHostAddress7(address string) *QHostAddress { + var addressC *C.char + if address != "" { + addressC = C.CString(address) + defer C.free(unsafe.Pointer(addressC)) + } + tmpValue := NewQHostAddressFromPointer(C.QHostAddress_NewQHostAddress7(C.struct_QtNetwork_PackedString{data: addressC, len: C.longlong(len(address))})) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue +} + +func NewQHostAddress8(address QHostAddress_ITF) *QHostAddress { + tmpValue := NewQHostAddressFromPointer(C.QHostAddress_NewQHostAddress8(PointerFromQHostAddress(address))) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue +} + +func NewQHostAddress9(address QHostAddress__SpecialAddress) *QHostAddress { + tmpValue := NewQHostAddressFromPointer(C.QHostAddress_NewQHostAddress9(C.longlong(address))) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue +} + +func (ptr *QHostAddress) Clear() { + if ptr.Pointer() != nil { + C.QHostAddress_Clear(ptr.Pointer()) + } +} + +func (ptr *QHostAddress) IsBroadcast() bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsBroadcast(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHostAddress) IsEqual(other QHostAddress_ITF, mode QHostAddress__ConversionModeFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsEqual(ptr.Pointer(), PointerFromQHostAddress(other), C.longlong(mode))) != 0 + } + return false +} + +func (ptr *QHostAddress) IsGlobal() bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsGlobal(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHostAddress) IsInSubnet(subnet QHostAddress_ITF, netmask int) bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsInSubnet(ptr.Pointer(), PointerFromQHostAddress(subnet), C.int(int32(netmask)))) != 0 + } + return false +} + +func (ptr *QHostAddress) IsLinkLocal() bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsLinkLocal(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHostAddress) IsLoopback() bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsLoopback(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHostAddress) IsMulticast() bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsMulticast(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHostAddress) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHostAddress) IsSiteLocal() bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsSiteLocal(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHostAddress) IsUniqueLocalUnicast() bool { + if ptr.Pointer() != nil { + return int8(C.QHostAddress_IsUniqueLocalUnicast(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHostAddress) Protocol() QAbstractSocket__NetworkLayerProtocol { + if ptr.Pointer() != nil { + return QAbstractSocket__NetworkLayerProtocol(C.QHostAddress_Protocol(ptr.Pointer())) + } + return 0 +} + +func (ptr *QHostAddress) ScopeId() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QHostAddress_ScopeId(ptr.Pointer())) + } + return "" +} + +func (ptr *QHostAddress) SetAddress(ip4Addr uint) { + if ptr.Pointer() != nil { + C.QHostAddress_SetAddress(ptr.Pointer(), C.uint(uint32(ip4Addr))) + } +} + +func (ptr *QHostAddress) SetAddress2(ip6Addr string) { + if ptr.Pointer() != nil { + var ip6AddrC *C.char + if ip6Addr != "" { + ip6AddrC = C.CString(ip6Addr) + defer C.free(unsafe.Pointer(ip6AddrC)) + } + C.QHostAddress_SetAddress2(ptr.Pointer(), ip6AddrC) + } +} + +func (ptr *QHostAddress) SetAddress3(ip6Addr string) { + if ptr.Pointer() != nil { + var ip6AddrC *C.char + if ip6Addr != "" { + ip6AddrC = C.CString(ip6Addr) + defer C.free(unsafe.Pointer(ip6AddrC)) + } + C.QHostAddress_SetAddress3(ptr.Pointer(), ip6AddrC) + } +} + +func (ptr *QHostAddress) SetAddress6(address string) bool { + if ptr.Pointer() != nil { + var addressC *C.char + if address != "" { + addressC = C.CString(address) + defer C.free(unsafe.Pointer(addressC)) + } + return int8(C.QHostAddress_SetAddress6(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: addressC, len: C.longlong(len(address))})) != 0 + } + return false +} + +func (ptr *QHostAddress) SetAddress7(address QHostAddress__SpecialAddress) { + if ptr.Pointer() != nil { + C.QHostAddress_SetAddress7(ptr.Pointer(), C.longlong(address)) + } +} + +func (ptr *QHostAddress) SetScopeId(id string) { + if ptr.Pointer() != nil { + var idC *C.char + if id != "" { + idC = C.CString(id) + defer C.free(unsafe.Pointer(idC)) + } + C.QHostAddress_SetScopeId(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: idC, len: C.longlong(len(id))}) + } +} + +func (ptr *QHostAddress) Swap(other QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QHostAddress_Swap(ptr.Pointer(), PointerFromQHostAddress(other)) + } +} + +func (ptr *QHostAddress) ToIPv4Address() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QHostAddress_ToIPv4Address(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QHostAddress) ToIPv4Address2(ok *bool) uint { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return uint(uint32(C.QHostAddress_ToIPv4Address2(ptr.Pointer(), &okC))) + } + return 0 +} + +func (ptr *QHostAddress) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QHostAddress_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QHostAddress) DestroyQHostAddress() { + if ptr.Pointer() != nil { + C.QHostAddress_DestroyQHostAddress(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QHostInfo struct { + ptr unsafe.Pointer +} + +type QHostInfo_ITF interface { + QHostInfo_PTR() *QHostInfo +} + +func (ptr *QHostInfo) QHostInfo_PTR() *QHostInfo { + return ptr +} + +func (ptr *QHostInfo) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QHostInfo) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQHostInfo(ptr QHostInfo_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHostInfo_PTR().Pointer() + } + return nil +} + +func NewQHostInfoFromPointer(ptr unsafe.Pointer) (n *QHostInfo) { + n = new(QHostInfo) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QHostInfo__HostInfoError +//QHostInfo::HostInfoError +type QHostInfo__HostInfoError int64 + +const ( + QHostInfo__NoError QHostInfo__HostInfoError = QHostInfo__HostInfoError(0) + QHostInfo__HostNotFound QHostInfo__HostInfoError = QHostInfo__HostInfoError(1) + QHostInfo__UnknownError QHostInfo__HostInfoError = QHostInfo__HostInfoError(2) +) + +func NewQHostInfo(id int) *QHostInfo { + tmpValue := NewQHostInfoFromPointer(C.QHostInfo_NewQHostInfo(C.int(int32(id)))) + runtime.SetFinalizer(tmpValue, (*QHostInfo).DestroyQHostInfo) + return tmpValue +} + +func NewQHostInfo2(other QHostInfo_ITF) *QHostInfo { + tmpValue := NewQHostInfoFromPointer(C.QHostInfo_NewQHostInfo2(PointerFromQHostInfo(other))) + runtime.SetFinalizer(tmpValue, (*QHostInfo).DestroyQHostInfo) + return tmpValue +} + +func QHostInfo_AbortHostLookup(id int) { + C.QHostInfo_QHostInfo_AbortHostLookup(C.int(int32(id))) +} + +func (ptr *QHostInfo) AbortHostLookup(id int) { + C.QHostInfo_QHostInfo_AbortHostLookup(C.int(int32(id))) +} + +func (ptr *QHostInfo) Addresses() []*QHostAddress { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QHostAddress { + out := make([]*QHostAddress, int(l.len)) + tmpList := NewQHostInfoFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__addresses_atList(i) + } + return out + }(C.QHostInfo_Addresses(ptr.Pointer())) + } + return make([]*QHostAddress, 0) +} + +func (ptr *QHostInfo) Error() QHostInfo__HostInfoError { + if ptr.Pointer() != nil { + return QHostInfo__HostInfoError(C.QHostInfo_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QHostInfo) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QHostInfo_ErrorString(ptr.Pointer())) + } + return "" +} + +func QHostInfo_FromName(name string) *QHostInfo { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQHostInfoFromPointer(C.QHostInfo_QHostInfo_FromName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QHostInfo).DestroyQHostInfo) + return tmpValue +} + +func (ptr *QHostInfo) FromName(name string) *QHostInfo { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQHostInfoFromPointer(C.QHostInfo_QHostInfo_FromName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QHostInfo).DestroyQHostInfo) + return tmpValue +} + +func (ptr *QHostInfo) HostName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QHostInfo_HostName(ptr.Pointer())) + } + return "" +} + +func QHostInfo_LocalDomainName() string { + return cGoUnpackString(C.QHostInfo_QHostInfo_LocalDomainName()) +} + +func (ptr *QHostInfo) LocalDomainName() string { + return cGoUnpackString(C.QHostInfo_QHostInfo_LocalDomainName()) +} + +func QHostInfo_LocalHostName() string { + return cGoUnpackString(C.QHostInfo_QHostInfo_LocalHostName()) +} + +func (ptr *QHostInfo) LocalHostName() string { + return cGoUnpackString(C.QHostInfo_QHostInfo_LocalHostName()) +} + +func QHostInfo_LookupHost(name string, receiver core.QObject_ITF, member string) int { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int(int32(C.QHostInfo_QHostInfo_LookupHost(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQObject(receiver), memberC))) +} + +func (ptr *QHostInfo) LookupHost(name string, receiver core.QObject_ITF, member string) int { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + var memberC *C.char + if member != "" { + memberC = C.CString(member) + defer C.free(unsafe.Pointer(memberC)) + } + return int(int32(C.QHostInfo_QHostInfo_LookupHost(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQObject(receiver), memberC))) +} + +func (ptr *QHostInfo) LookupId() int { + if ptr.Pointer() != nil { + return int(int32(C.QHostInfo_LookupId(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QHostInfo) SetAddresses(addresses []*QHostAddress) { + if ptr.Pointer() != nil { + C.QHostInfo_SetAddresses(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQHostInfoFromPointer(NewQHostInfoFromPointer(nil).__setAddresses_addresses_newList()) + for _, v := range addresses { + tmpList.__setAddresses_addresses_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QHostInfo) SetError(error QHostInfo__HostInfoError) { + if ptr.Pointer() != nil { + C.QHostInfo_SetError(ptr.Pointer(), C.longlong(error)) + } +} + +func (ptr *QHostInfo) SetErrorString(str string) { + if ptr.Pointer() != nil { + var strC *C.char + if str != "" { + strC = C.CString(str) + defer C.free(unsafe.Pointer(strC)) + } + C.QHostInfo_SetErrorString(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: strC, len: C.longlong(len(str))}) + } +} + +func (ptr *QHostInfo) SetHostName(hostName string) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + C.QHostInfo_SetHostName(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}) + } +} + +func (ptr *QHostInfo) SetLookupId(id int) { + if ptr.Pointer() != nil { + C.QHostInfo_SetLookupId(ptr.Pointer(), C.int(int32(id))) + } +} + +func (ptr *QHostInfo) Swap(other QHostInfo_ITF) { + if ptr.Pointer() != nil { + C.QHostInfo_Swap(ptr.Pointer(), PointerFromQHostInfo(other)) + } +} + +func (ptr *QHostInfo) DestroyQHostInfo() { + if ptr.Pointer() != nil { + C.QHostInfo_DestroyQHostInfo(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QHostInfo) __addresses_atList(i int) *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QHostInfo___addresses_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QHostInfo) __addresses_setList(i QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QHostInfo___addresses_setList(ptr.Pointer(), PointerFromQHostAddress(i)) + } +} + +func (ptr *QHostInfo) __addresses_newList() unsafe.Pointer { + return C.QHostInfo___addresses_newList(ptr.Pointer()) +} + +func (ptr *QHostInfo) __setAddresses_addresses_atList(i int) *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QHostInfo___setAddresses_addresses_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QHostInfo) __setAddresses_addresses_setList(i QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QHostInfo___setAddresses_addresses_setList(ptr.Pointer(), PointerFromQHostAddress(i)) + } +} + +func (ptr *QHostInfo) __setAddresses_addresses_newList() unsafe.Pointer { + return C.QHostInfo___setAddresses_addresses_newList(ptr.Pointer()) +} + +type QHstsPolicy struct { + ptr unsafe.Pointer +} + +type QHstsPolicy_ITF interface { + QHstsPolicy_PTR() *QHstsPolicy +} + +func (ptr *QHstsPolicy) QHstsPolicy_PTR() *QHstsPolicy { + return ptr +} + +func (ptr *QHstsPolicy) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QHstsPolicy) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQHstsPolicy(ptr QHstsPolicy_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHstsPolicy_PTR().Pointer() + } + return nil +} + +func NewQHstsPolicyFromPointer(ptr unsafe.Pointer) (n *QHstsPolicy) { + n = new(QHstsPolicy) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QHstsPolicy__PolicyFlag +//QHstsPolicy::PolicyFlag +type QHstsPolicy__PolicyFlag int64 + +const ( + QHstsPolicy__IncludeSubDomains QHstsPolicy__PolicyFlag = QHstsPolicy__PolicyFlag(1) +) + +func NewQHstsPolicy() *QHstsPolicy { + tmpValue := NewQHstsPolicyFromPointer(C.QHstsPolicy_NewQHstsPolicy()) + runtime.SetFinalizer(tmpValue, (*QHstsPolicy).DestroyQHstsPolicy) + return tmpValue +} + +func NewQHstsPolicy2(expiry core.QDateTime_ITF, flags QHstsPolicy__PolicyFlag, host string, mode core.QUrl__ParsingMode) *QHstsPolicy { + var hostC *C.char + if host != "" { + hostC = C.CString(host) + defer C.free(unsafe.Pointer(hostC)) + } + tmpValue := NewQHstsPolicyFromPointer(C.QHstsPolicy_NewQHstsPolicy2(core.PointerFromQDateTime(expiry), C.longlong(flags), C.struct_QtNetwork_PackedString{data: hostC, len: C.longlong(len(host))}, C.longlong(mode))) + runtime.SetFinalizer(tmpValue, (*QHstsPolicy).DestroyQHstsPolicy) + return tmpValue +} + +func NewQHstsPolicy3(other QHstsPolicy_ITF) *QHstsPolicy { + tmpValue := NewQHstsPolicyFromPointer(C.QHstsPolicy_NewQHstsPolicy3(PointerFromQHstsPolicy(other))) + runtime.SetFinalizer(tmpValue, (*QHstsPolicy).DestroyQHstsPolicy) + return tmpValue +} + +func (ptr *QHstsPolicy) Expiry() *core.QDateTime { + if ptr.Pointer() != nil { + tmpValue := core.NewQDateTimeFromPointer(C.QHstsPolicy_Expiry(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QHstsPolicy) Host(options core.QUrl__ComponentFormattingOption) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QHstsPolicy_Host(ptr.Pointer(), C.longlong(options))) + } + return "" +} + +func (ptr *QHstsPolicy) IncludesSubDomains() bool { + if ptr.Pointer() != nil { + return int8(C.QHstsPolicy_IncludesSubDomains(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHstsPolicy) IsExpired() bool { + if ptr.Pointer() != nil { + return int8(C.QHstsPolicy_IsExpired(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QHstsPolicy) SetExpiry(expiry core.QDateTime_ITF) { + if ptr.Pointer() != nil { + C.QHstsPolicy_SetExpiry(ptr.Pointer(), core.PointerFromQDateTime(expiry)) + } +} + +func (ptr *QHstsPolicy) SetHost(host string, mode core.QUrl__ParsingMode) { + if ptr.Pointer() != nil { + var hostC *C.char + if host != "" { + hostC = C.CString(host) + defer C.free(unsafe.Pointer(hostC)) + } + C.QHstsPolicy_SetHost(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostC, len: C.longlong(len(host))}, C.longlong(mode)) + } +} + +func (ptr *QHstsPolicy) SetIncludesSubDomains(include bool) { + if ptr.Pointer() != nil { + C.QHstsPolicy_SetIncludesSubDomains(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(include)))) + } +} + +func (ptr *QHstsPolicy) Swap(other QHstsPolicy_ITF) { + if ptr.Pointer() != nil { + C.QHstsPolicy_Swap(ptr.Pointer(), PointerFromQHstsPolicy(other)) + } +} + +func (ptr *QHstsPolicy) DestroyQHstsPolicy() { + if ptr.Pointer() != nil { + C.QHstsPolicy_DestroyQHstsPolicy(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QHttpMultiPart struct { + core.QObject +} + +type QHttpMultiPart_ITF interface { + core.QObject_ITF + QHttpMultiPart_PTR() *QHttpMultiPart +} + +func (ptr *QHttpMultiPart) QHttpMultiPart_PTR() *QHttpMultiPart { + return ptr +} + +func (ptr *QHttpMultiPart) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QHttpMultiPart) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQHttpMultiPart(ptr QHttpMultiPart_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHttpMultiPart_PTR().Pointer() + } + return nil +} + +func NewQHttpMultiPartFromPointer(ptr unsafe.Pointer) (n *QHttpMultiPart) { + n = new(QHttpMultiPart) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QHttpMultiPart__ContentType +//QHttpMultiPart::ContentType +type QHttpMultiPart__ContentType int64 + +const ( + QHttpMultiPart__MixedType QHttpMultiPart__ContentType = QHttpMultiPart__ContentType(0) + QHttpMultiPart__RelatedType QHttpMultiPart__ContentType = QHttpMultiPart__ContentType(1) + QHttpMultiPart__FormDataType QHttpMultiPart__ContentType = QHttpMultiPart__ContentType(2) + QHttpMultiPart__AlternativeType QHttpMultiPart__ContentType = QHttpMultiPart__ContentType(3) +) + +func NewQHttpMultiPart(parent core.QObject_ITF) *QHttpMultiPart { + tmpValue := NewQHttpMultiPartFromPointer(C.QHttpMultiPart_NewQHttpMultiPart(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQHttpMultiPart2(contentType QHttpMultiPart__ContentType, parent core.QObject_ITF) *QHttpMultiPart { + tmpValue := NewQHttpMultiPartFromPointer(C.QHttpMultiPart_NewQHttpMultiPart2(C.longlong(contentType), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QHttpMultiPart) Append(httpPart QHttpPart_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart_Append(ptr.Pointer(), PointerFromQHttpPart(httpPart)) + } +} + +func (ptr *QHttpMultiPart) Boundary() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QHttpMultiPart_Boundary(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QHttpMultiPart) SetBoundary(boundary core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart_SetBoundary(ptr.Pointer(), core.PointerFromQByteArray(boundary)) + } +} + +func (ptr *QHttpMultiPart) SetContentType(contentType QHttpMultiPart__ContentType) { + if ptr.Pointer() != nil { + C.QHttpMultiPart_SetContentType(ptr.Pointer(), C.longlong(contentType)) + } +} + +//export callbackQHttpMultiPart_DestroyQHttpMultiPart +func callbackQHttpMultiPart_DestroyQHttpMultiPart(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QHttpMultiPart"); signal != nil { + (*(*func())(signal))() + } else { + NewQHttpMultiPartFromPointer(ptr).DestroyQHttpMultiPartDefault() + } +} + +func (ptr *QHttpMultiPart) ConnectDestroyQHttpMultiPart(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QHttpMultiPart"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QHttpMultiPart", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QHttpMultiPart", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QHttpMultiPart) DisconnectDestroyQHttpMultiPart() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QHttpMultiPart") + } +} + +func (ptr *QHttpMultiPart) DestroyQHttpMultiPart() { + if ptr.Pointer() != nil { + C.QHttpMultiPart_DestroyQHttpMultiPart(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QHttpMultiPart) DestroyQHttpMultiPartDefault() { + if ptr.Pointer() != nil { + C.QHttpMultiPart_DestroyQHttpMultiPartDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QHttpMultiPart) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QHttpMultiPart___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QHttpMultiPart) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QHttpMultiPart) __children_newList() unsafe.Pointer { + return C.QHttpMultiPart___children_newList(ptr.Pointer()) +} + +func (ptr *QHttpMultiPart) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QHttpMultiPart___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QHttpMultiPart) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QHttpMultiPart) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QHttpMultiPart___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QHttpMultiPart) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QHttpMultiPart___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QHttpMultiPart) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QHttpMultiPart) __findChildren_newList() unsafe.Pointer { + return C.QHttpMultiPart___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QHttpMultiPart) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QHttpMultiPart___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QHttpMultiPart) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QHttpMultiPart) __findChildren_newList3() unsafe.Pointer { + return C.QHttpMultiPart___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QHttpMultiPart) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QHttpMultiPart___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QHttpMultiPart) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QHttpMultiPart) __qFindChildren_newList2() unsafe.Pointer { + return C.QHttpMultiPart___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQHttpMultiPart_ChildEvent +func callbackQHttpMultiPart_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQHttpMultiPartFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QHttpMultiPart) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQHttpMultiPart_ConnectNotify +func callbackQHttpMultiPart_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQHttpMultiPartFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QHttpMultiPart) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQHttpMultiPart_CustomEvent +func callbackQHttpMultiPart_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQHttpMultiPartFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QHttpMultiPart) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQHttpMultiPart_DeleteLater +func callbackQHttpMultiPart_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQHttpMultiPartFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QHttpMultiPart) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QHttpMultiPart_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQHttpMultiPart_Destroyed +func callbackQHttpMultiPart_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQHttpMultiPart_DisconnectNotify +func callbackQHttpMultiPart_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQHttpMultiPartFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QHttpMultiPart) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQHttpMultiPart_Event +func callbackQHttpMultiPart_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQHttpMultiPartFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QHttpMultiPart) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QHttpMultiPart_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQHttpMultiPart_EventFilter +func callbackQHttpMultiPart_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQHttpMultiPartFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QHttpMultiPart) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QHttpMultiPart_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQHttpMultiPart_MetaObject +func callbackQHttpMultiPart_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQHttpMultiPartFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QHttpMultiPart) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QHttpMultiPart_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQHttpMultiPart_ObjectNameChanged +func callbackQHttpMultiPart_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQHttpMultiPart_TimerEvent +func callbackQHttpMultiPart_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQHttpMultiPartFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QHttpMultiPart) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QHttpMultiPart_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QHttpPart struct { + ptr unsafe.Pointer +} + +type QHttpPart_ITF interface { + QHttpPart_PTR() *QHttpPart +} + +func (ptr *QHttpPart) QHttpPart_PTR() *QHttpPart { + return ptr +} + +func (ptr *QHttpPart) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QHttpPart) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQHttpPart(ptr QHttpPart_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QHttpPart_PTR().Pointer() + } + return nil +} + +func NewQHttpPartFromPointer(ptr unsafe.Pointer) (n *QHttpPart) { + n = new(QHttpPart) + n.SetPointer(ptr) + return +} +func NewQHttpPart() *QHttpPart { + tmpValue := NewQHttpPartFromPointer(C.QHttpPart_NewQHttpPart()) + runtime.SetFinalizer(tmpValue, (*QHttpPart).DestroyQHttpPart) + return tmpValue +} + +func NewQHttpPart2(other QHttpPart_ITF) *QHttpPart { + tmpValue := NewQHttpPartFromPointer(C.QHttpPart_NewQHttpPart2(PointerFromQHttpPart(other))) + runtime.SetFinalizer(tmpValue, (*QHttpPart).DestroyQHttpPart) + return tmpValue +} + +func (ptr *QHttpPart) SetBody(body core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QHttpPart_SetBody(ptr.Pointer(), core.PointerFromQByteArray(body)) + } +} + +func (ptr *QHttpPart) SetBodyDevice(device core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QHttpPart_SetBodyDevice(ptr.Pointer(), core.PointerFromQIODevice(device)) + } +} + +func (ptr *QHttpPart) SetHeader(header QNetworkRequest__KnownHeaders, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QHttpPart_SetHeader(ptr.Pointer(), C.longlong(header), core.PointerFromQVariant(value)) + } +} + +func (ptr *QHttpPart) SetRawHeader(headerName core.QByteArray_ITF, headerValue core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QHttpPart_SetRawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName), core.PointerFromQByteArray(headerValue)) + } +} + +func (ptr *QHttpPart) Swap(other QHttpPart_ITF) { + if ptr.Pointer() != nil { + C.QHttpPart_Swap(ptr.Pointer(), PointerFromQHttpPart(other)) + } +} + +func (ptr *QHttpPart) DestroyQHttpPart() { + if ptr.Pointer() != nil { + C.QHttpPart_DestroyQHttpPart(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QIPv6Address struct { + ptr unsafe.Pointer +} + +type QIPv6Address_ITF interface { + QIPv6Address_PTR() *QIPv6Address +} + +func (ptr *QIPv6Address) QIPv6Address_PTR() *QIPv6Address { + return ptr +} + +func (ptr *QIPv6Address) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QIPv6Address) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQIPv6Address(ptr QIPv6Address_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QIPv6Address_PTR().Pointer() + } + return nil +} + +func NewQIPv6AddressFromPointer(ptr unsafe.Pointer) (n *QIPv6Address) { + n = new(QIPv6Address) + n.SetPointer(ptr) + return +} + +func (ptr *QIPv6Address) DestroyQIPv6Address() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QLocalServer struct { + core.QObject +} + +type QLocalServer_ITF interface { + core.QObject_ITF + QLocalServer_PTR() *QLocalServer +} + +func (ptr *QLocalServer) QLocalServer_PTR() *QLocalServer { + return ptr +} + +func (ptr *QLocalServer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QLocalServer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQLocalServer(ptr QLocalServer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLocalServer_PTR().Pointer() + } + return nil +} + +func NewQLocalServerFromPointer(ptr unsafe.Pointer) (n *QLocalServer) { + n = new(QLocalServer) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QLocalServer__SocketOption +//QLocalServer::SocketOption +type QLocalServer__SocketOption int64 + +const ( + QLocalServer__NoOptions QLocalServer__SocketOption = QLocalServer__SocketOption(0x0) + QLocalServer__UserAccessOption QLocalServer__SocketOption = QLocalServer__SocketOption(0x01) + QLocalServer__GroupAccessOption QLocalServer__SocketOption = QLocalServer__SocketOption(0x2) + QLocalServer__OtherAccessOption QLocalServer__SocketOption = QLocalServer__SocketOption(0x4) + QLocalServer__WorldAccessOption QLocalServer__SocketOption = QLocalServer__SocketOption(0x7) +) + +func NewQLocalServer(parent core.QObject_ITF) *QLocalServer { + tmpValue := NewQLocalServerFromPointer(C.QLocalServer_NewQLocalServer(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QLocalServer) Close() { + if ptr.Pointer() != nil { + C.QLocalServer_Close(ptr.Pointer()) + } +} + +func (ptr *QLocalServer) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocalServer_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QLocalServer) FullServerName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocalServer_FullServerName(ptr.Pointer())) + } + return "" +} + +//export callbackQLocalServer_HasPendingConnections +func callbackQLocalServer_HasPendingConnections(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "hasPendingConnections"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalServerFromPointer(ptr).HasPendingConnectionsDefault()))) +} + +func (ptr *QLocalServer) ConnectHasPendingConnections(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "hasPendingConnections"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "hasPendingConnections", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "hasPendingConnections", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalServer) DisconnectHasPendingConnections() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "hasPendingConnections") + } +} + +func (ptr *QLocalServer) HasPendingConnections() bool { + if ptr.Pointer() != nil { + return int8(C.QLocalServer_HasPendingConnections(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLocalServer) HasPendingConnectionsDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QLocalServer_HasPendingConnectionsDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQLocalServer_IncomingConnection +func callbackQLocalServer_IncomingConnection(ptr unsafe.Pointer, socketDescriptor C.uintptr_t) { + if signal := qt.GetSignal(ptr, "incomingConnection"); signal != nil { + (*(*func(uintptr))(signal))(uintptr(socketDescriptor)) + } else { + NewQLocalServerFromPointer(ptr).IncomingConnectionDefault(uintptr(socketDescriptor)) + } +} + +func (ptr *QLocalServer) ConnectIncomingConnection(f func(socketDescriptor uintptr)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "incomingConnection"); signal != nil { + f := func(socketDescriptor uintptr) { + (*(*func(uintptr))(signal))(socketDescriptor) + f(socketDescriptor) + } + qt.ConnectSignal(ptr.Pointer(), "incomingConnection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "incomingConnection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalServer) DisconnectIncomingConnection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "incomingConnection") + } +} + +func (ptr *QLocalServer) IncomingConnection(socketDescriptor uintptr) { + if ptr.Pointer() != nil { + C.QLocalServer_IncomingConnection(ptr.Pointer(), C.uintptr_t(socketDescriptor)) + } +} + +func (ptr *QLocalServer) IncomingConnectionDefault(socketDescriptor uintptr) { + if ptr.Pointer() != nil { + C.QLocalServer_IncomingConnectionDefault(ptr.Pointer(), C.uintptr_t(socketDescriptor)) + } +} + +func (ptr *QLocalServer) IsListening() bool { + if ptr.Pointer() != nil { + return int8(C.QLocalServer_IsListening(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLocalServer) Listen(name string) bool { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QLocalServer_Listen(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 + } + return false +} + +func (ptr *QLocalServer) MaxPendingConnections() int { + if ptr.Pointer() != nil { + return int(int32(C.QLocalServer_MaxPendingConnections(ptr.Pointer()))) + } + return 0 +} + +//export callbackQLocalServer_NewConnection +func callbackQLocalServer_NewConnection(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "newConnection"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QLocalServer) ConnectNewConnection(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "newConnection") { + C.QLocalServer_ConnectNewConnection(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "newConnection"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "newConnection"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "newConnection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "newConnection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalServer) DisconnectNewConnection() { + if ptr.Pointer() != nil { + C.QLocalServer_DisconnectNewConnection(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "newConnection") + } +} + +func (ptr *QLocalServer) NewConnection() { + if ptr.Pointer() != nil { + C.QLocalServer_NewConnection(ptr.Pointer()) + } +} + +//export callbackQLocalServer_NextPendingConnection +func callbackQLocalServer_NextPendingConnection(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "nextPendingConnection"); signal != nil { + return PointerFromQLocalSocket((*(*func() *QLocalSocket)(signal))()) + } + + return PointerFromQLocalSocket(NewQLocalServerFromPointer(ptr).NextPendingConnectionDefault()) +} + +func (ptr *QLocalServer) ConnectNextPendingConnection(f func() *QLocalSocket) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "nextPendingConnection"); signal != nil { + f := func() *QLocalSocket { + (*(*func() *QLocalSocket)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "nextPendingConnection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "nextPendingConnection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalServer) DisconnectNextPendingConnection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "nextPendingConnection") + } +} + +func (ptr *QLocalServer) NextPendingConnection() *QLocalSocket { + if ptr.Pointer() != nil { + tmpValue := NewQLocalSocketFromPointer(C.QLocalServer_NextPendingConnection(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QLocalServer) NextPendingConnectionDefault() *QLocalSocket { + if ptr.Pointer() != nil { + tmpValue := NewQLocalSocketFromPointer(C.QLocalServer_NextPendingConnectionDefault(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func QLocalServer_RemoveServer(name string) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QLocalServer_QLocalServer_RemoveServer(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 +} + +func (ptr *QLocalServer) RemoveServer(name string) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QLocalServer_QLocalServer_RemoveServer(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 +} + +func (ptr *QLocalServer) ServerError() QAbstractSocket__SocketError { + if ptr.Pointer() != nil { + return QAbstractSocket__SocketError(C.QLocalServer_ServerError(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLocalServer) ServerName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocalServer_ServerName(ptr.Pointer())) + } + return "" +} + +func (ptr *QLocalServer) SetMaxPendingConnections(numConnections int) { + if ptr.Pointer() != nil { + C.QLocalServer_SetMaxPendingConnections(ptr.Pointer(), C.int(int32(numConnections))) + } +} + +func (ptr *QLocalServer) SetSocketOptions(options QLocalServer__SocketOption) { + if ptr.Pointer() != nil { + C.QLocalServer_SetSocketOptions(ptr.Pointer(), C.longlong(options)) + } +} + +func (ptr *QLocalServer) SocketOptions() QLocalServer__SocketOption { + if ptr.Pointer() != nil { + return QLocalServer__SocketOption(C.QLocalServer_SocketOptions(ptr.Pointer())) + } + return 0 +} + +func (ptr *QLocalServer) WaitForNewConnection(msec int, timedOut *bool) bool { + if ptr.Pointer() != nil { + var timedOutC C.char + if timedOut != nil { + timedOutC = C.char(int8(qt.GoBoolToInt(*timedOut))) + defer func() { *timedOut = int8(timedOutC) != 0 }() + } + return int8(C.QLocalServer_WaitForNewConnection(ptr.Pointer(), C.int(int32(msec)), &timedOutC)) != 0 + } + return false +} + +//export callbackQLocalServer_DestroyQLocalServer +func callbackQLocalServer_DestroyQLocalServer(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QLocalServer"); signal != nil { + (*(*func())(signal))() + } else { + NewQLocalServerFromPointer(ptr).DestroyQLocalServerDefault() + } +} + +func (ptr *QLocalServer) ConnectDestroyQLocalServer(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QLocalServer"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QLocalServer", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QLocalServer", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalServer) DisconnectDestroyQLocalServer() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QLocalServer") + } +} + +func (ptr *QLocalServer) DestroyQLocalServer() { + if ptr.Pointer() != nil { + C.QLocalServer_DestroyQLocalServer(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QLocalServer) DestroyQLocalServerDefault() { + if ptr.Pointer() != nil { + C.QLocalServer_DestroyQLocalServerDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QLocalServer) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QLocalServer___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QLocalServer) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QLocalServer) __children_newList() unsafe.Pointer { + return C.QLocalServer___children_newList(ptr.Pointer()) +} + +func (ptr *QLocalServer) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QLocalServer___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QLocalServer) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QLocalServer) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QLocalServer___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QLocalServer) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QLocalServer___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QLocalServer) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QLocalServer) __findChildren_newList() unsafe.Pointer { + return C.QLocalServer___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QLocalServer) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QLocalServer___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QLocalServer) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QLocalServer) __findChildren_newList3() unsafe.Pointer { + return C.QLocalServer___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QLocalServer) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QLocalServer___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QLocalServer) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QLocalServer) __qFindChildren_newList2() unsafe.Pointer { + return C.QLocalServer___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQLocalServer_ChildEvent +func callbackQLocalServer_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQLocalServerFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QLocalServer) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQLocalServer_ConnectNotify +func callbackQLocalServer_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQLocalServerFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QLocalServer) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQLocalServer_CustomEvent +func callbackQLocalServer_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQLocalServerFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QLocalServer) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQLocalServer_DeleteLater +func callbackQLocalServer_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQLocalServerFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QLocalServer) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QLocalServer_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQLocalServer_Destroyed +func callbackQLocalServer_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQLocalServer_DisconnectNotify +func callbackQLocalServer_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQLocalServerFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QLocalServer) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQLocalServer_Event +func callbackQLocalServer_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalServerFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QLocalServer) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalServer_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQLocalServer_EventFilter +func callbackQLocalServer_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalServerFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QLocalServer) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalServer_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQLocalServer_MetaObject +func callbackQLocalServer_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQLocalServerFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QLocalServer) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QLocalServer_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQLocalServer_ObjectNameChanged +func callbackQLocalServer_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQLocalServer_TimerEvent +func callbackQLocalServer_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQLocalServerFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QLocalServer) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QLocalServer_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QLocalSocket struct { + core.QIODevice +} + +type QLocalSocket_ITF interface { + core.QIODevice_ITF + QLocalSocket_PTR() *QLocalSocket +} + +func (ptr *QLocalSocket) QLocalSocket_PTR() *QLocalSocket { + return ptr +} + +func (ptr *QLocalSocket) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QIODevice_PTR().Pointer() + } + return nil +} + +func (ptr *QLocalSocket) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QIODevice_PTR().SetPointer(p) + } +} + +func PointerFromQLocalSocket(ptr QLocalSocket_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QLocalSocket_PTR().Pointer() + } + return nil +} + +func NewQLocalSocketFromPointer(ptr unsafe.Pointer) (n *QLocalSocket) { + n = new(QLocalSocket) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QLocalSocket__LocalSocketError +//QLocalSocket::LocalSocketError +type QLocalSocket__LocalSocketError int64 + +const ( + QLocalSocket__ConnectionRefusedError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__ConnectionRefusedError) + QLocalSocket__PeerClosedError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__RemoteHostClosedError) + QLocalSocket__ServerNotFoundError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__HostNotFoundError) + QLocalSocket__SocketAccessError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__SocketAccessError) + QLocalSocket__SocketResourceError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__SocketResourceError) + QLocalSocket__SocketTimeoutError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__SocketTimeoutError) + QLocalSocket__DatagramTooLargeError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__DatagramTooLargeError) + QLocalSocket__ConnectionError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__NetworkError) + QLocalSocket__UnsupportedSocketOperationError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__UnsupportedSocketOperationError) + QLocalSocket__UnknownSocketError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__UnknownSocketError) + QLocalSocket__OperationError QLocalSocket__LocalSocketError = QLocalSocket__LocalSocketError(QAbstractSocket__OperationError) +) + +//go:generate stringer -type=QLocalSocket__LocalSocketState +//QLocalSocket::LocalSocketState +type QLocalSocket__LocalSocketState int64 + +const ( + QLocalSocket__UnconnectedState QLocalSocket__LocalSocketState = QLocalSocket__LocalSocketState(QAbstractSocket__UnconnectedState) + QLocalSocket__ConnectingState QLocalSocket__LocalSocketState = QLocalSocket__LocalSocketState(QAbstractSocket__ConnectingState) + QLocalSocket__ConnectedState QLocalSocket__LocalSocketState = QLocalSocket__LocalSocketState(QAbstractSocket__ConnectedState) + QLocalSocket__ClosingState QLocalSocket__LocalSocketState = QLocalSocket__LocalSocketState(QAbstractSocket__ClosingState) +) + +func NewQLocalSocket(parent core.QObject_ITF) *QLocalSocket { + tmpValue := NewQLocalSocketFromPointer(C.QLocalSocket_NewQLocalSocket(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QLocalSocket) Abort() { + if ptr.Pointer() != nil { + C.QLocalSocket_Abort(ptr.Pointer()) + } +} + +//export callbackQLocalSocket_BytesAvailable +func callbackQLocalSocket_BytesAvailable(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "bytesAvailable"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQLocalSocketFromPointer(ptr).BytesAvailableDefault()) +} + +func (ptr *QLocalSocket) BytesAvailableDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QLocalSocket_BytesAvailableDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQLocalSocket_BytesToWrite +func callbackQLocalSocket_BytesToWrite(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "bytesToWrite"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQLocalSocketFromPointer(ptr).BytesToWriteDefault()) +} + +func (ptr *QLocalSocket) BytesToWriteDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QLocalSocket_BytesToWriteDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQLocalSocket_CanReadLine +func callbackQLocalSocket_CanReadLine(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "canReadLine"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).CanReadLineDefault()))) +} + +func (ptr *QLocalSocket) CanReadLineDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_CanReadLineDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQLocalSocket_Close +func callbackQLocalSocket_Close(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "close"); signal != nil { + (*(*func())(signal))() + } else { + NewQLocalSocketFromPointer(ptr).CloseDefault() + } +} + +func (ptr *QLocalSocket) CloseDefault() { + if ptr.Pointer() != nil { + C.QLocalSocket_CloseDefault(ptr.Pointer()) + } +} + +func (ptr *QLocalSocket) ConnectToServer(openMode core.QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + C.QLocalSocket_ConnectToServer(ptr.Pointer(), C.longlong(openMode)) + } +} + +func (ptr *QLocalSocket) ConnectToServer2(name string, openMode core.QIODevice__OpenModeFlag) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QLocalSocket_ConnectToServer2(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}, C.longlong(openMode)) + } +} + +//export callbackQLocalSocket_Connected +func callbackQLocalSocket_Connected(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connected"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QLocalSocket) ConnectConnected(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "connected") { + C.QLocalSocket_ConnectConnected(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "connected"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "connected"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "connected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "connected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalSocket) DisconnectConnected() { + if ptr.Pointer() != nil { + C.QLocalSocket_DisconnectConnected(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "connected") + } +} + +func (ptr *QLocalSocket) Connected() { + if ptr.Pointer() != nil { + C.QLocalSocket_Connected(ptr.Pointer()) + } +} + +func (ptr *QLocalSocket) DisconnectFromServer() { + if ptr.Pointer() != nil { + C.QLocalSocket_DisconnectFromServer(ptr.Pointer()) + } +} + +//export callbackQLocalSocket_Disconnected +func callbackQLocalSocket_Disconnected(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnected"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QLocalSocket) ConnectDisconnected(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "disconnected") { + C.QLocalSocket_ConnectDisconnected(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "disconnected"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "disconnected"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "disconnected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "disconnected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalSocket) DisconnectDisconnected() { + if ptr.Pointer() != nil { + C.QLocalSocket_DisconnectDisconnected(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "disconnected") + } +} + +func (ptr *QLocalSocket) Disconnected() { + if ptr.Pointer() != nil { + C.QLocalSocket_Disconnected(ptr.Pointer()) + } +} + +func (ptr *QLocalSocket) Error() QLocalSocket__LocalSocketError { + if ptr.Pointer() != nil { + return QLocalSocket__LocalSocketError(C.QLocalSocket_Error(ptr.Pointer())) + } + return 0 +} + +//export callbackQLocalSocket_Error2 +func callbackQLocalSocket_Error2(ptr unsafe.Pointer, socketError C.longlong) { + if signal := qt.GetSignal(ptr, "error2"); signal != nil { + (*(*func(QLocalSocket__LocalSocketError))(signal))(QLocalSocket__LocalSocketError(socketError)) + } + +} + +func (ptr *QLocalSocket) ConnectError2(f func(socketError QLocalSocket__LocalSocketError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "error2") { + C.QLocalSocket_ConnectError2(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "error"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "error2"); signal != nil { + f := func(socketError QLocalSocket__LocalSocketError) { + (*(*func(QLocalSocket__LocalSocketError))(signal))(socketError) + f(socketError) + } + qt.ConnectSignal(ptr.Pointer(), "error2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "error2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalSocket) DisconnectError2() { + if ptr.Pointer() != nil { + C.QLocalSocket_DisconnectError2(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "error2") + } +} + +func (ptr *QLocalSocket) Error2(socketError QLocalSocket__LocalSocketError) { + if ptr.Pointer() != nil { + C.QLocalSocket_Error2(ptr.Pointer(), C.longlong(socketError)) + } +} + +func (ptr *QLocalSocket) Flush() bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_Flush(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLocalSocket) FullServerName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocalSocket_FullServerName(ptr.Pointer())) + } + return "" +} + +//export callbackQLocalSocket_IsSequential +func callbackQLocalSocket_IsSequential(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "isSequential"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).IsSequentialDefault()))) +} + +func (ptr *QLocalSocket) IsSequentialDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_IsSequentialDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QLocalSocket) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_IsValid(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQLocalSocket_Open +func callbackQLocalSocket_Open(ptr unsafe.Pointer, openMode C.longlong) C.char { + if signal := qt.GetSignal(ptr, "open"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(core.QIODevice__OpenModeFlag) bool)(signal))(core.QIODevice__OpenModeFlag(openMode))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).OpenDefault(core.QIODevice__OpenModeFlag(openMode))))) +} + +func (ptr *QLocalSocket) OpenDefault(openMode core.QIODevice__OpenModeFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_OpenDefault(ptr.Pointer(), C.longlong(openMode))) != 0 + } + return false +} + +func (ptr *QLocalSocket) ReadBufferSize() int64 { + if ptr.Pointer() != nil { + return int64(C.QLocalSocket_ReadBufferSize(ptr.Pointer())) + } + return 0 +} + +//export callbackQLocalSocket_ReadData +func callbackQLocalSocket_ReadData(ptr unsafe.Pointer, data C.struct_QtNetwork_PackedString, c C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readData"); signal != nil { + retS := cGoUnpackString(data) + ret := C.longlong((*(*func(*string, int64) int64)(signal))(&retS, int64(c))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret + } + retS := cGoUnpackString(data) + ret := C.longlong(NewQLocalSocketFromPointer(ptr).ReadDataDefault(&retS, int64(c))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret +} + +func (ptr *QLocalSocket) ConnectReadData(f func(data *string, c int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "readData"); signal != nil { + f := func(data *string, c int64) int64 { + (*(*func(*string, int64) int64)(signal))(data, c) + return f(data, c) + } + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "readData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalSocket) DisconnectReadData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "readData") + } +} + +func (ptr *QLocalSocket) ReadData(data *string, c int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(c))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QLocalSocket_ReadData(ptr.Pointer(), dataC, C.longlong(c))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +func (ptr *QLocalSocket) ReadDataDefault(data *string, c int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(c))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QLocalSocket_ReadDataDefault(ptr.Pointer(), dataC, C.longlong(c))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +func (ptr *QLocalSocket) ServerName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QLocalSocket_ServerName(ptr.Pointer())) + } + return "" +} + +func (ptr *QLocalSocket) SetReadBufferSize(size int64) { + if ptr.Pointer() != nil { + C.QLocalSocket_SetReadBufferSize(ptr.Pointer(), C.longlong(size)) + } +} + +func (ptr *QLocalSocket) SetServerName(name string) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QLocalSocket_SetServerName(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}) + } +} + +func (ptr *QLocalSocket) State() QLocalSocket__LocalSocketState { + if ptr.Pointer() != nil { + return QLocalSocket__LocalSocketState(C.QLocalSocket_State(ptr.Pointer())) + } + return 0 +} + +//export callbackQLocalSocket_StateChanged +func callbackQLocalSocket_StateChanged(ptr unsafe.Pointer, socketState C.longlong) { + if signal := qt.GetSignal(ptr, "stateChanged"); signal != nil { + (*(*func(QLocalSocket__LocalSocketState))(signal))(QLocalSocket__LocalSocketState(socketState)) + } + +} + +func (ptr *QLocalSocket) ConnectStateChanged(f func(socketState QLocalSocket__LocalSocketState)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "stateChanged") { + C.QLocalSocket_ConnectStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "stateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "stateChanged"); signal != nil { + f := func(socketState QLocalSocket__LocalSocketState) { + (*(*func(QLocalSocket__LocalSocketState))(signal))(socketState) + f(socketState) + } + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalSocket) DisconnectStateChanged() { + if ptr.Pointer() != nil { + C.QLocalSocket_DisconnectStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "stateChanged") + } +} + +func (ptr *QLocalSocket) StateChanged(socketState QLocalSocket__LocalSocketState) { + if ptr.Pointer() != nil { + C.QLocalSocket_StateChanged(ptr.Pointer(), C.longlong(socketState)) + } +} + +//export callbackQLocalSocket_WaitForBytesWritten +func callbackQLocalSocket_WaitForBytesWritten(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForBytesWritten"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).WaitForBytesWrittenDefault(int(int32(msecs)))))) +} + +func (ptr *QLocalSocket) WaitForBytesWrittenDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_WaitForBytesWrittenDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +func (ptr *QLocalSocket) WaitForConnected(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_WaitForConnected(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +func (ptr *QLocalSocket) WaitForDisconnected(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_WaitForDisconnected(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQLocalSocket_WaitForReadyRead +func callbackQLocalSocket_WaitForReadyRead(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForReadyRead"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).WaitForReadyReadDefault(int(int32(msecs)))))) +} + +func (ptr *QLocalSocket) WaitForReadyReadDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_WaitForReadyReadDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQLocalSocket_WriteData +func callbackQLocalSocket_WriteData(ptr unsafe.Pointer, data C.struct_QtNetwork_PackedString, c C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "writeData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(c))) + } + + return C.longlong(NewQLocalSocketFromPointer(ptr).WriteDataDefault(cGoUnpackBytes(data), int64(c))) +} + +func (ptr *QLocalSocket) ConnectWriteData(f func(data []byte, c int64) int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "writeData"); signal != nil { + f := func(data []byte, c int64) int64 { + (*(*func([]byte, int64) int64)(signal))(data, c) + return f(data, c) + } + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "writeData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalSocket) DisconnectWriteData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "writeData") + } +} + +func (ptr *QLocalSocket) WriteData(data []byte, c int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QLocalSocket_WriteData(ptr.Pointer(), dataC, C.longlong(c))) + } + return 0 +} + +func (ptr *QLocalSocket) WriteDataDefault(data []byte, c int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QLocalSocket_WriteDataDefault(ptr.Pointer(), dataC, C.longlong(c))) + } + return 0 +} + +//export callbackQLocalSocket_DestroyQLocalSocket +func callbackQLocalSocket_DestroyQLocalSocket(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QLocalSocket"); signal != nil { + (*(*func())(signal))() + } else { + NewQLocalSocketFromPointer(ptr).DestroyQLocalSocketDefault() + } +} + +func (ptr *QLocalSocket) ConnectDestroyQLocalSocket(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QLocalSocket"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QLocalSocket", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QLocalSocket", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QLocalSocket) DisconnectDestroyQLocalSocket() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QLocalSocket") + } +} + +func (ptr *QLocalSocket) DestroyQLocalSocket() { + if ptr.Pointer() != nil { + C.QLocalSocket_DestroyQLocalSocket(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QLocalSocket) DestroyQLocalSocketDefault() { + if ptr.Pointer() != nil { + C.QLocalSocket_DestroyQLocalSocketDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QLocalSocket) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QLocalSocket___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QLocalSocket) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QLocalSocket) __children_newList() unsafe.Pointer { + return C.QLocalSocket___children_newList(ptr.Pointer()) +} + +func (ptr *QLocalSocket) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QLocalSocket___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QLocalSocket) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QLocalSocket) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QLocalSocket___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QLocalSocket) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QLocalSocket___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QLocalSocket) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QLocalSocket) __findChildren_newList() unsafe.Pointer { + return C.QLocalSocket___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QLocalSocket) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QLocalSocket___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QLocalSocket) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QLocalSocket) __findChildren_newList3() unsafe.Pointer { + return C.QLocalSocket___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QLocalSocket) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QLocalSocket___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QLocalSocket) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QLocalSocket) __qFindChildren_newList2() unsafe.Pointer { + return C.QLocalSocket___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQLocalSocket_AboutToClose +func callbackQLocalSocket_AboutToClose(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "aboutToClose"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQLocalSocket_AtEnd +func callbackQLocalSocket_AtEnd(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "atEnd"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).AtEndDefault()))) +} + +func (ptr *QLocalSocket) AtEndDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_AtEndDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQLocalSocket_BytesWritten +func callbackQLocalSocket_BytesWritten(ptr unsafe.Pointer, bytes C.longlong) { + if signal := qt.GetSignal(ptr, "bytesWritten"); signal != nil { + (*(*func(int64))(signal))(int64(bytes)) + } + +} + +//export callbackQLocalSocket_ChannelBytesWritten +func callbackQLocalSocket_ChannelBytesWritten(ptr unsafe.Pointer, channel C.int, bytes C.longlong) { + if signal := qt.GetSignal(ptr, "channelBytesWritten"); signal != nil { + (*(*func(int, int64))(signal))(int(int32(channel)), int64(bytes)) + } + +} + +//export callbackQLocalSocket_ChannelReadyRead +func callbackQLocalSocket_ChannelReadyRead(ptr unsafe.Pointer, channel C.int) { + if signal := qt.GetSignal(ptr, "channelReadyRead"); signal != nil { + (*(*func(int))(signal))(int(int32(channel))) + } + +} + +//export callbackQLocalSocket_Pos +func callbackQLocalSocket_Pos(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "pos"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQLocalSocketFromPointer(ptr).PosDefault()) +} + +func (ptr *QLocalSocket) PosDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QLocalSocket_PosDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQLocalSocket_ReadChannelFinished +func callbackQLocalSocket_ReadChannelFinished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readChannelFinished"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQLocalSocket_ReadLineData +func callbackQLocalSocket_ReadLineData(ptr unsafe.Pointer, data C.struct_QtNetwork_PackedString, maxSize C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readLineData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(maxSize))) + } + + return C.longlong(NewQLocalSocketFromPointer(ptr).ReadLineDataDefault(cGoUnpackBytes(data), int64(maxSize))) +} + +func (ptr *QLocalSocket) ReadLineDataDefault(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QLocalSocket_ReadLineDataDefault(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +//export callbackQLocalSocket_ReadyRead +func callbackQLocalSocket_ReadyRead(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readyRead"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQLocalSocket_Reset +func callbackQLocalSocket_Reset(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "reset"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).ResetDefault()))) +} + +func (ptr *QLocalSocket) ResetDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_ResetDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQLocalSocket_Seek +func callbackQLocalSocket_Seek(ptr unsafe.Pointer, pos C.longlong) C.char { + if signal := qt.GetSignal(ptr, "seek"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int64) bool)(signal))(int64(pos))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).SeekDefault(int64(pos))))) +} + +func (ptr *QLocalSocket) SeekDefault(pos int64) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_SeekDefault(ptr.Pointer(), C.longlong(pos))) != 0 + } + return false +} + +//export callbackQLocalSocket_Size +func callbackQLocalSocket_Size(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "size"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQLocalSocketFromPointer(ptr).SizeDefault()) +} + +func (ptr *QLocalSocket) SizeDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QLocalSocket_SizeDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQLocalSocket_ChildEvent +func callbackQLocalSocket_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQLocalSocketFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QLocalSocket) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQLocalSocket_ConnectNotify +func callbackQLocalSocket_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQLocalSocketFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QLocalSocket) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQLocalSocket_CustomEvent +func callbackQLocalSocket_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQLocalSocketFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QLocalSocket) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQLocalSocket_DeleteLater +func callbackQLocalSocket_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQLocalSocketFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QLocalSocket) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QLocalSocket_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQLocalSocket_Destroyed +func callbackQLocalSocket_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQLocalSocket_DisconnectNotify +func callbackQLocalSocket_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQLocalSocketFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QLocalSocket) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQLocalSocket_Event +func callbackQLocalSocket_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QLocalSocket) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQLocalSocket_EventFilter +func callbackQLocalSocket_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQLocalSocketFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QLocalSocket) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QLocalSocket_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQLocalSocket_MetaObject +func callbackQLocalSocket_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQLocalSocketFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QLocalSocket) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QLocalSocket_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQLocalSocket_ObjectNameChanged +func callbackQLocalSocket_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQLocalSocket_TimerEvent +func callbackQLocalSocket_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQLocalSocketFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QLocalSocket) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QLocalSocket_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QNetworkAccessManager struct { + core.QObject +} + +type QNetworkAccessManager_ITF interface { + core.QObject_ITF + QNetworkAccessManager_PTR() *QNetworkAccessManager +} + +func (ptr *QNetworkAccessManager) QNetworkAccessManager_PTR() *QNetworkAccessManager { + return ptr +} + +func (ptr *QNetworkAccessManager) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QNetworkAccessManager) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQNetworkAccessManager(ptr QNetworkAccessManager_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkAccessManager_PTR().Pointer() + } + return nil +} + +func NewQNetworkAccessManagerFromPointer(ptr unsafe.Pointer) (n *QNetworkAccessManager) { + n = new(QNetworkAccessManager) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkAccessManager__Operation +//QNetworkAccessManager::Operation +type QNetworkAccessManager__Operation int64 + +const ( + QNetworkAccessManager__HeadOperation QNetworkAccessManager__Operation = QNetworkAccessManager__Operation(1) + QNetworkAccessManager__GetOperation QNetworkAccessManager__Operation = QNetworkAccessManager__Operation(2) + QNetworkAccessManager__PutOperation QNetworkAccessManager__Operation = QNetworkAccessManager__Operation(3) + QNetworkAccessManager__PostOperation QNetworkAccessManager__Operation = QNetworkAccessManager__Operation(4) + QNetworkAccessManager__DeleteOperation QNetworkAccessManager__Operation = QNetworkAccessManager__Operation(5) + QNetworkAccessManager__CustomOperation QNetworkAccessManager__Operation = QNetworkAccessManager__Operation(6) + QNetworkAccessManager__UnknownOperation QNetworkAccessManager__Operation = QNetworkAccessManager__Operation(0) +) + +//go:generate stringer -type=QNetworkAccessManager__NetworkAccessibility +//QNetworkAccessManager::NetworkAccessibility +type QNetworkAccessManager__NetworkAccessibility int64 + +const ( + QNetworkAccessManager__UnknownAccessibility QNetworkAccessManager__NetworkAccessibility = QNetworkAccessManager__NetworkAccessibility(-1) + QNetworkAccessManager__NotAccessible QNetworkAccessManager__NetworkAccessibility = QNetworkAccessManager__NetworkAccessibility(0) + QNetworkAccessManager__Accessible QNetworkAccessManager__NetworkAccessibility = QNetworkAccessManager__NetworkAccessibility(1) +) + +func NewQNetworkAccessManager(parent core.QObject_ITF) *QNetworkAccessManager { + tmpValue := NewQNetworkAccessManagerFromPointer(C.QNetworkAccessManager_NewQNetworkAccessManager(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QNetworkAccessManager) ActiveConfiguration() *QNetworkConfiguration { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkConfigurationFromPointer(C.QNetworkAccessManager_ActiveConfiguration(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkConfiguration).DestroyQNetworkConfiguration) + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) AddStrictTransportSecurityHosts(knownHosts []*QHstsPolicy) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_AddStrictTransportSecurityHosts(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQNetworkAccessManagerFromPointer(NewQNetworkAccessManagerFromPointer(nil).__addStrictTransportSecurityHosts_knownHosts_newList()) + for _, v := range knownHosts { + tmpList.__addStrictTransportSecurityHosts_knownHosts_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +//export callbackQNetworkAccessManager_AuthenticationRequired +func callbackQNetworkAccessManager_AuthenticationRequired(ptr unsafe.Pointer, reply unsafe.Pointer, authenticator unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "authenticationRequired"); signal != nil { + (*(*func(*QNetworkReply, *QAuthenticator))(signal))(NewQNetworkReplyFromPointer(reply), NewQAuthenticatorFromPointer(authenticator)) + } + +} + +func (ptr *QNetworkAccessManager) ConnectAuthenticationRequired(f func(reply *QNetworkReply, authenticator *QAuthenticator)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "authenticationRequired") { + C.QNetworkAccessManager_ConnectAuthenticationRequired(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "authenticationRequired"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "authenticationRequired"); signal != nil { + f := func(reply *QNetworkReply, authenticator *QAuthenticator) { + (*(*func(*QNetworkReply, *QAuthenticator))(signal))(reply, authenticator) + f(reply, authenticator) + } + qt.ConnectSignal(ptr.Pointer(), "authenticationRequired", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "authenticationRequired", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectAuthenticationRequired() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DisconnectAuthenticationRequired(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "authenticationRequired") + } +} + +func (ptr *QNetworkAccessManager) AuthenticationRequired(reply QNetworkReply_ITF, authenticator QAuthenticator_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_AuthenticationRequired(ptr.Pointer(), PointerFromQNetworkReply(reply), PointerFromQAuthenticator(authenticator)) + } +} + +func (ptr *QNetworkAccessManager) Cache() *QAbstractNetworkCache { + if ptr.Pointer() != nil { + tmpValue := NewQAbstractNetworkCacheFromPointer(C.QNetworkAccessManager_Cache(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) ClearAccessCache() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_ClearAccessCache(ptr.Pointer()) + } +} + +func (ptr *QNetworkAccessManager) ClearConnectionCache() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_ClearConnectionCache(ptr.Pointer()) + } +} + +func (ptr *QNetworkAccessManager) Configuration() *QNetworkConfiguration { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkConfigurationFromPointer(C.QNetworkAccessManager_Configuration(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkConfiguration).DestroyQNetworkConfiguration) + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) ConnectToHost(hostName string, port uint16) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + C.QNetworkAccessManager_ConnectToHost(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}, C.ushort(port)) + } +} + +func (ptr *QNetworkAccessManager) ConnectToHostEncrypted(hostName string, port uint16, sslConfiguration QSslConfiguration_ITF) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + C.QNetworkAccessManager_ConnectToHostEncrypted(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}, C.ushort(port), PointerFromQSslConfiguration(sslConfiguration)) + } +} + +func (ptr *QNetworkAccessManager) ConnectToHostEncrypted2(hostName string, port uint16, sslConfiguration QSslConfiguration_ITF, peerName string) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + var peerNameC *C.char + if peerName != "" { + peerNameC = C.CString(peerName) + defer C.free(unsafe.Pointer(peerNameC)) + } + C.QNetworkAccessManager_ConnectToHostEncrypted2(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}, C.ushort(port), PointerFromQSslConfiguration(sslConfiguration), C.struct_QtNetwork_PackedString{data: peerNameC, len: C.longlong(len(peerName))}) + } +} + +func (ptr *QNetworkAccessManager) CookieJar() *QNetworkCookieJar { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCookieJarFromPointer(C.QNetworkAccessManager_CookieJar(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQNetworkAccessManager_CreateRequest +func callbackQNetworkAccessManager_CreateRequest(ptr unsafe.Pointer, op C.longlong, originalReq unsafe.Pointer, outgoingData unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "createRequest"); signal != nil { + return PointerFromQNetworkReply((*(*func(QNetworkAccessManager__Operation, *QNetworkRequest, *core.QIODevice) *QNetworkReply)(signal))(QNetworkAccessManager__Operation(op), NewQNetworkRequestFromPointer(originalReq), core.NewQIODeviceFromPointer(outgoingData))) + } + + return PointerFromQNetworkReply(NewQNetworkAccessManagerFromPointer(ptr).CreateRequestDefault(QNetworkAccessManager__Operation(op), NewQNetworkRequestFromPointer(originalReq), core.NewQIODeviceFromPointer(outgoingData))) +} + +func (ptr *QNetworkAccessManager) ConnectCreateRequest(f func(op QNetworkAccessManager__Operation, originalReq *QNetworkRequest, outgoingData *core.QIODevice) *QNetworkReply) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "createRequest"); signal != nil { + f := func(op QNetworkAccessManager__Operation, originalReq *QNetworkRequest, outgoingData *core.QIODevice) *QNetworkReply { + (*(*func(QNetworkAccessManager__Operation, *QNetworkRequest, *core.QIODevice) *QNetworkReply)(signal))(op, originalReq, outgoingData) + return f(op, originalReq, outgoingData) + } + qt.ConnectSignal(ptr.Pointer(), "createRequest", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "createRequest", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectCreateRequest() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "createRequest") + } +} + +func (ptr *QNetworkAccessManager) CreateRequest(op QNetworkAccessManager__Operation, originalReq QNetworkRequest_ITF, outgoingData core.QIODevice_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_CreateRequest(ptr.Pointer(), C.longlong(op), PointerFromQNetworkRequest(originalReq), core.PointerFromQIODevice(outgoingData))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) CreateRequestDefault(op QNetworkAccessManager__Operation, originalReq QNetworkRequest_ITF, outgoingData core.QIODevice_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_CreateRequestDefault(ptr.Pointer(), C.longlong(op), PointerFromQNetworkRequest(originalReq), core.PointerFromQIODevice(outgoingData))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) DeleteResource(request QNetworkRequest_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_DeleteResource(ptr.Pointer(), PointerFromQNetworkRequest(request))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) EnableStrictTransportSecurityStore(enabled bool, storeDir string) { + if ptr.Pointer() != nil { + var storeDirC *C.char + if storeDir != "" { + storeDirC = C.CString(storeDir) + defer C.free(unsafe.Pointer(storeDirC)) + } + C.QNetworkAccessManager_EnableStrictTransportSecurityStore(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled))), C.struct_QtNetwork_PackedString{data: storeDirC, len: C.longlong(len(storeDir))}) + } +} + +//export callbackQNetworkAccessManager_Encrypted +func callbackQNetworkAccessManager_Encrypted(ptr unsafe.Pointer, reply unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "encrypted"); signal != nil { + (*(*func(*QNetworkReply))(signal))(NewQNetworkReplyFromPointer(reply)) + } + +} + +func (ptr *QNetworkAccessManager) ConnectEncrypted(f func(reply *QNetworkReply)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "encrypted") { + C.QNetworkAccessManager_ConnectEncrypted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "encrypted"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "encrypted"); signal != nil { + f := func(reply *QNetworkReply) { + (*(*func(*QNetworkReply))(signal))(reply) + f(reply) + } + qt.ConnectSignal(ptr.Pointer(), "encrypted", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "encrypted", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectEncrypted() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DisconnectEncrypted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "encrypted") + } +} + +func (ptr *QNetworkAccessManager) Encrypted(reply QNetworkReply_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_Encrypted(ptr.Pointer(), PointerFromQNetworkReply(reply)) + } +} + +//export callbackQNetworkAccessManager_Finished +func callbackQNetworkAccessManager_Finished(ptr unsafe.Pointer, reply unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "finished"); signal != nil { + (*(*func(*QNetworkReply))(signal))(NewQNetworkReplyFromPointer(reply)) + } + +} + +func (ptr *QNetworkAccessManager) ConnectFinished(f func(reply *QNetworkReply)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "finished") { + C.QNetworkAccessManager_ConnectFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "finished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "finished"); signal != nil { + f := func(reply *QNetworkReply) { + (*(*func(*QNetworkReply))(signal))(reply) + f(reply) + } + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectFinished() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DisconnectFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "finished") + } +} + +func (ptr *QNetworkAccessManager) Finished(reply QNetworkReply_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_Finished(ptr.Pointer(), PointerFromQNetworkReply(reply)) + } +} + +func (ptr *QNetworkAccessManager) Get(request QNetworkRequest_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_Get(ptr.Pointer(), PointerFromQNetworkRequest(request))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) Head(request QNetworkRequest_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_Head(ptr.Pointer(), PointerFromQNetworkRequest(request))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) IsStrictTransportSecurityEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkAccessManager_IsStrictTransportSecurityEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkAccessManager) IsStrictTransportSecurityStoreEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkAccessManager_IsStrictTransportSecurityStoreEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkAccessManager) NetworkAccessible() QNetworkAccessManager__NetworkAccessibility { + if ptr.Pointer() != nil { + return QNetworkAccessManager__NetworkAccessibility(C.QNetworkAccessManager_NetworkAccessible(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkAccessManager_NetworkAccessibleChanged +func callbackQNetworkAccessManager_NetworkAccessibleChanged(ptr unsafe.Pointer, accessible C.longlong) { + if signal := qt.GetSignal(ptr, "networkAccessibleChanged"); signal != nil { + (*(*func(QNetworkAccessManager__NetworkAccessibility))(signal))(QNetworkAccessManager__NetworkAccessibility(accessible)) + } + +} + +func (ptr *QNetworkAccessManager) ConnectNetworkAccessibleChanged(f func(accessible QNetworkAccessManager__NetworkAccessibility)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "networkAccessibleChanged") { + C.QNetworkAccessManager_ConnectNetworkAccessibleChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "networkAccessibleChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "networkAccessibleChanged"); signal != nil { + f := func(accessible QNetworkAccessManager__NetworkAccessibility) { + (*(*func(QNetworkAccessManager__NetworkAccessibility))(signal))(accessible) + f(accessible) + } + qt.ConnectSignal(ptr.Pointer(), "networkAccessibleChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "networkAccessibleChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectNetworkAccessibleChanged() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DisconnectNetworkAccessibleChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "networkAccessibleChanged") + } +} + +func (ptr *QNetworkAccessManager) NetworkAccessibleChanged(accessible QNetworkAccessManager__NetworkAccessibility) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_NetworkAccessibleChanged(ptr.Pointer(), C.longlong(accessible)) + } +} + +func (ptr *QNetworkAccessManager) Post(request QNetworkRequest_ITF, data core.QIODevice_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_Post(ptr.Pointer(), PointerFromQNetworkRequest(request), core.PointerFromQIODevice(data))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) Post2(request QNetworkRequest_ITF, data core.QByteArray_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_Post2(ptr.Pointer(), PointerFromQNetworkRequest(request), core.PointerFromQByteArray(data))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) Post3(request QNetworkRequest_ITF, multiPart QHttpMultiPart_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_Post3(ptr.Pointer(), PointerFromQNetworkRequest(request), PointerFromQHttpMultiPart(multiPart))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQNetworkAccessManager_PreSharedKeyAuthenticationRequired +func callbackQNetworkAccessManager_PreSharedKeyAuthenticationRequired(ptr unsafe.Pointer, reply unsafe.Pointer, authenticator unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "preSharedKeyAuthenticationRequired"); signal != nil { + (*(*func(*QNetworkReply, *QSslPreSharedKeyAuthenticator))(signal))(NewQNetworkReplyFromPointer(reply), NewQSslPreSharedKeyAuthenticatorFromPointer(authenticator)) + } + +} + +func (ptr *QNetworkAccessManager) ConnectPreSharedKeyAuthenticationRequired(f func(reply *QNetworkReply, authenticator *QSslPreSharedKeyAuthenticator)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired") { + C.QNetworkAccessManager_ConnectPreSharedKeyAuthenticationRequired(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "preSharedKeyAuthenticationRequired"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired"); signal != nil { + f := func(reply *QNetworkReply, authenticator *QSslPreSharedKeyAuthenticator) { + (*(*func(*QNetworkReply, *QSslPreSharedKeyAuthenticator))(signal))(reply, authenticator) + f(reply, authenticator) + } + qt.ConnectSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectPreSharedKeyAuthenticationRequired() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DisconnectPreSharedKeyAuthenticationRequired(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired") + } +} + +func (ptr *QNetworkAccessManager) PreSharedKeyAuthenticationRequired(reply QNetworkReply_ITF, authenticator QSslPreSharedKeyAuthenticator_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_PreSharedKeyAuthenticationRequired(ptr.Pointer(), PointerFromQNetworkReply(reply), PointerFromQSslPreSharedKeyAuthenticator(authenticator)) + } +} + +func (ptr *QNetworkAccessManager) Proxy() *QNetworkProxy { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkProxyFromPointer(C.QNetworkAccessManager_Proxy(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue + } + return nil +} + +//export callbackQNetworkAccessManager_ProxyAuthenticationRequired +func callbackQNetworkAccessManager_ProxyAuthenticationRequired(ptr unsafe.Pointer, proxy unsafe.Pointer, authenticator unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "proxyAuthenticationRequired"); signal != nil { + (*(*func(*QNetworkProxy, *QAuthenticator))(signal))(NewQNetworkProxyFromPointer(proxy), NewQAuthenticatorFromPointer(authenticator)) + } + +} + +func (ptr *QNetworkAccessManager) ConnectProxyAuthenticationRequired(f func(proxy *QNetworkProxy, authenticator *QAuthenticator)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "proxyAuthenticationRequired") { + C.QNetworkAccessManager_ConnectProxyAuthenticationRequired(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "proxyAuthenticationRequired"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "proxyAuthenticationRequired"); signal != nil { + f := func(proxy *QNetworkProxy, authenticator *QAuthenticator) { + (*(*func(*QNetworkProxy, *QAuthenticator))(signal))(proxy, authenticator) + f(proxy, authenticator) + } + qt.ConnectSignal(ptr.Pointer(), "proxyAuthenticationRequired", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "proxyAuthenticationRequired", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectProxyAuthenticationRequired() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DisconnectProxyAuthenticationRequired(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "proxyAuthenticationRequired") + } +} + +func (ptr *QNetworkAccessManager) ProxyAuthenticationRequired(proxy QNetworkProxy_ITF, authenticator QAuthenticator_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_ProxyAuthenticationRequired(ptr.Pointer(), PointerFromQNetworkProxy(proxy), PointerFromQAuthenticator(authenticator)) + } +} + +func (ptr *QNetworkAccessManager) ProxyFactory() *QNetworkProxyFactory { + if ptr.Pointer() != nil { + return NewQNetworkProxyFactoryFromPointer(C.QNetworkAccessManager_ProxyFactory(ptr.Pointer())) + } + return nil +} + +func (ptr *QNetworkAccessManager) Put(request QNetworkRequest_ITF, data core.QIODevice_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_Put(ptr.Pointer(), PointerFromQNetworkRequest(request), core.PointerFromQIODevice(data))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) Put2(request QNetworkRequest_ITF, data core.QByteArray_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_Put2(ptr.Pointer(), PointerFromQNetworkRequest(request), core.PointerFromQByteArray(data))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) Put3(request QNetworkRequest_ITF, multiPart QHttpMultiPart_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_Put3(ptr.Pointer(), PointerFromQNetworkRequest(request), PointerFromQHttpMultiPart(multiPart))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) RedirectPolicy() QNetworkRequest__RedirectPolicy { + if ptr.Pointer() != nil { + return QNetworkRequest__RedirectPolicy(C.QNetworkAccessManager_RedirectPolicy(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkAccessManager) SendCustomRequest(request QNetworkRequest_ITF, verb core.QByteArray_ITF, data core.QIODevice_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_SendCustomRequest(ptr.Pointer(), PointerFromQNetworkRequest(request), core.PointerFromQByteArray(verb), core.PointerFromQIODevice(data))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) SendCustomRequest2(request QNetworkRequest_ITF, verb core.QByteArray_ITF, data core.QByteArray_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_SendCustomRequest2(ptr.Pointer(), PointerFromQNetworkRequest(request), core.PointerFromQByteArray(verb), core.PointerFromQByteArray(data))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) SendCustomRequest3(request QNetworkRequest_ITF, verb core.QByteArray_ITF, multiPart QHttpMultiPart_ITF) *QNetworkReply { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkAccessManager_SendCustomRequest3(ptr.Pointer(), PointerFromQNetworkRequest(request), core.PointerFromQByteArray(verb), PointerFromQHttpMultiPart(multiPart))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) SetCache(cache QAbstractNetworkCache_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_SetCache(ptr.Pointer(), PointerFromQAbstractNetworkCache(cache)) + } +} + +func (ptr *QNetworkAccessManager) SetConfiguration(config QNetworkConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_SetConfiguration(ptr.Pointer(), PointerFromQNetworkConfiguration(config)) + } +} + +func (ptr *QNetworkAccessManager) SetCookieJar(cookieJar QNetworkCookieJar_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_SetCookieJar(ptr.Pointer(), PointerFromQNetworkCookieJar(cookieJar)) + } +} + +func (ptr *QNetworkAccessManager) SetNetworkAccessible(accessible QNetworkAccessManager__NetworkAccessibility) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_SetNetworkAccessible(ptr.Pointer(), C.longlong(accessible)) + } +} + +func (ptr *QNetworkAccessManager) SetProxy(proxy QNetworkProxy_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_SetProxy(ptr.Pointer(), PointerFromQNetworkProxy(proxy)) + } +} + +func (ptr *QNetworkAccessManager) SetProxyFactory(factory QNetworkProxyFactory_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_SetProxyFactory(ptr.Pointer(), PointerFromQNetworkProxyFactory(factory)) + } +} + +func (ptr *QNetworkAccessManager) SetRedirectPolicy(policy QNetworkRequest__RedirectPolicy) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_SetRedirectPolicy(ptr.Pointer(), C.longlong(policy)) + } +} + +func (ptr *QNetworkAccessManager) SetStrictTransportSecurityEnabled(enabled bool) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_SetStrictTransportSecurityEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +//export callbackQNetworkAccessManager_SslErrors +func callbackQNetworkAccessManager_SslErrors(ptr unsafe.Pointer, reply unsafe.Pointer, errors C.struct_QtNetwork_PackedList) { + if signal := qt.GetSignal(ptr, "sslErrors"); signal != nil { + (*(*func(*QNetworkReply, []*QSslError))(signal))(NewQNetworkReplyFromPointer(reply), func(l C.struct_QtNetwork_PackedList) []*QSslError { + out := make([]*QSslError, int(l.len)) + tmpList := NewQNetworkAccessManagerFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__sslErrors_errors_atList(i) + } + return out + }(errors)) + } + +} + +func (ptr *QNetworkAccessManager) ConnectSslErrors(f func(reply *QNetworkReply, errors []*QSslError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "sslErrors") { + C.QNetworkAccessManager_ConnectSslErrors(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "sslErrors"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "sslErrors"); signal != nil { + f := func(reply *QNetworkReply, errors []*QSslError) { + (*(*func(*QNetworkReply, []*QSslError))(signal))(reply, errors) + f(reply, errors) + } + qt.ConnectSignal(ptr.Pointer(), "sslErrors", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "sslErrors", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectSslErrors() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DisconnectSslErrors(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "sslErrors") + } +} + +func (ptr *QNetworkAccessManager) SslErrors(reply QNetworkReply_ITF, errors []*QSslError) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_SslErrors(ptr.Pointer(), PointerFromQNetworkReply(reply), func() unsafe.Pointer { + tmpList := NewQNetworkAccessManagerFromPointer(NewQNetworkAccessManagerFromPointer(nil).__sslErrors_errors_newList()) + for _, v := range errors { + tmpList.__sslErrors_errors_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QNetworkAccessManager) StrictTransportSecurityHosts() []*QHstsPolicy { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QHstsPolicy { + out := make([]*QHstsPolicy, int(l.len)) + tmpList := NewQNetworkAccessManagerFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__strictTransportSecurityHosts_atList(i) + } + return out + }(C.QNetworkAccessManager_StrictTransportSecurityHosts(ptr.Pointer())) + } + return make([]*QHstsPolicy, 0) +} + +func (ptr *QNetworkAccessManager) SupportedSchemes() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QNetworkAccessManager_SupportedSchemes(ptr.Pointer()))) + } + return make([]string, 0) +} + +//export callbackQNetworkAccessManager_SupportedSchemesImplementation +func callbackQNetworkAccessManager_SupportedSchemesImplementation(ptr unsafe.Pointer) C.struct_QtNetwork_PackedString { + if signal := qt.GetSignal(ptr, "supportedSchemesImplementation"); signal != nil { + tempVal := (*(*func() []string)(signal))() + return C.struct_QtNetwork_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} + } + tempVal := NewQNetworkAccessManagerFromPointer(ptr).SupportedSchemesImplementationDefault() + return C.struct_QtNetwork_PackedString{data: C.CString(strings.Join(tempVal, "¡¦!")), len: C.longlong(len(strings.Join(tempVal, "¡¦!")))} +} + +func (ptr *QNetworkAccessManager) ConnectSupportedSchemesImplementation(f func() []string) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "supportedSchemesImplementation"); signal != nil { + f := func() []string { + (*(*func() []string)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "supportedSchemesImplementation", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "supportedSchemesImplementation", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectSupportedSchemesImplementation() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "supportedSchemesImplementation") + } +} + +func (ptr *QNetworkAccessManager) SupportedSchemesImplementation() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QNetworkAccessManager_SupportedSchemesImplementation(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QNetworkAccessManager) SupportedSchemesImplementationDefault() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QNetworkAccessManager_SupportedSchemesImplementationDefault(ptr.Pointer()))) + } + return make([]string, 0) +} + +//export callbackQNetworkAccessManager_DestroyQNetworkAccessManager +func callbackQNetworkAccessManager_DestroyQNetworkAccessManager(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QNetworkAccessManager"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkAccessManagerFromPointer(ptr).DestroyQNetworkAccessManagerDefault() + } +} + +func (ptr *QNetworkAccessManager) ConnectDestroyQNetworkAccessManager(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QNetworkAccessManager"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QNetworkAccessManager", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QNetworkAccessManager", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkAccessManager) DisconnectDestroyQNetworkAccessManager() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QNetworkAccessManager") + } +} + +func (ptr *QNetworkAccessManager) DestroyQNetworkAccessManager() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DestroyQNetworkAccessManager(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkAccessManager) DestroyQNetworkAccessManagerDefault() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DestroyQNetworkAccessManagerDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkAccessManager) __addStrictTransportSecurityHosts_knownHosts_atList(i int) *QHstsPolicy { + if ptr.Pointer() != nil { + tmpValue := NewQHstsPolicyFromPointer(C.QNetworkAccessManager___addStrictTransportSecurityHosts_knownHosts_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QHstsPolicy).DestroyQHstsPolicy) + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) __addStrictTransportSecurityHosts_knownHosts_setList(i QHstsPolicy_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager___addStrictTransportSecurityHosts_knownHosts_setList(ptr.Pointer(), PointerFromQHstsPolicy(i)) + } +} + +func (ptr *QNetworkAccessManager) __addStrictTransportSecurityHosts_knownHosts_newList() unsafe.Pointer { + return C.QNetworkAccessManager___addStrictTransportSecurityHosts_knownHosts_newList(ptr.Pointer()) +} + +func (ptr *QNetworkAccessManager) __sslErrors_errors_atList(i int) *QSslError { + if ptr.Pointer() != nil { + tmpValue := NewQSslErrorFromPointer(C.QNetworkAccessManager___sslErrors_errors_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) __sslErrors_errors_setList(i QSslError_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager___sslErrors_errors_setList(ptr.Pointer(), PointerFromQSslError(i)) + } +} + +func (ptr *QNetworkAccessManager) __sslErrors_errors_newList() unsafe.Pointer { + return C.QNetworkAccessManager___sslErrors_errors_newList(ptr.Pointer()) +} + +func (ptr *QNetworkAccessManager) __strictTransportSecurityHosts_atList(i int) *QHstsPolicy { + if ptr.Pointer() != nil { + tmpValue := NewQHstsPolicyFromPointer(C.QNetworkAccessManager___strictTransportSecurityHosts_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QHstsPolicy).DestroyQHstsPolicy) + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) __strictTransportSecurityHosts_setList(i QHstsPolicy_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager___strictTransportSecurityHosts_setList(ptr.Pointer(), PointerFromQHstsPolicy(i)) + } +} + +func (ptr *QNetworkAccessManager) __strictTransportSecurityHosts_newList() unsafe.Pointer { + return C.QNetworkAccessManager___strictTransportSecurityHosts_newList(ptr.Pointer()) +} + +func (ptr *QNetworkAccessManager) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkAccessManager___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkAccessManager) __children_newList() unsafe.Pointer { + return C.QNetworkAccessManager___children_newList(ptr.Pointer()) +} + +func (ptr *QNetworkAccessManager) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkAccessManager___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QNetworkAccessManager) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QNetworkAccessManager___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QNetworkAccessManager) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkAccessManager___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkAccessManager) __findChildren_newList() unsafe.Pointer { + return C.QNetworkAccessManager___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QNetworkAccessManager) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkAccessManager___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkAccessManager) __findChildren_newList3() unsafe.Pointer { + return C.QNetworkAccessManager___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QNetworkAccessManager) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkAccessManager___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkAccessManager) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkAccessManager) __qFindChildren_newList2() unsafe.Pointer { + return C.QNetworkAccessManager___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQNetworkAccessManager_ChildEvent +func callbackQNetworkAccessManager_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQNetworkAccessManagerFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QNetworkAccessManager) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQNetworkAccessManager_ConnectNotify +func callbackQNetworkAccessManager_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkAccessManagerFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkAccessManager) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkAccessManager_CustomEvent +func callbackQNetworkAccessManager_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQNetworkAccessManagerFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QNetworkAccessManager) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQNetworkAccessManager_DeleteLater +func callbackQNetworkAccessManager_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkAccessManagerFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QNetworkAccessManager) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQNetworkAccessManager_Destroyed +func callbackQNetworkAccessManager_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQNetworkAccessManager_DisconnectNotify +func callbackQNetworkAccessManager_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkAccessManagerFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkAccessManager) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkAccessManager_Event +func callbackQNetworkAccessManager_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkAccessManagerFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QNetworkAccessManager) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkAccessManager_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQNetworkAccessManager_EventFilter +func callbackQNetworkAccessManager_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkAccessManagerFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QNetworkAccessManager) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkAccessManager_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQNetworkAccessManager_MetaObject +func callbackQNetworkAccessManager_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQNetworkAccessManagerFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QNetworkAccessManager) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QNetworkAccessManager_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQNetworkAccessManager_ObjectNameChanged +func callbackQNetworkAccessManager_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQNetworkAccessManager_TimerEvent +func callbackQNetworkAccessManager_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQNetworkAccessManagerFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QNetworkAccessManager) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAccessManager_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QNetworkAddressEntry struct { + ptr unsafe.Pointer +} + +type QNetworkAddressEntry_ITF interface { + QNetworkAddressEntry_PTR() *QNetworkAddressEntry +} + +func (ptr *QNetworkAddressEntry) QNetworkAddressEntry_PTR() *QNetworkAddressEntry { + return ptr +} + +func (ptr *QNetworkAddressEntry) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkAddressEntry) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkAddressEntry(ptr QNetworkAddressEntry_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkAddressEntry_PTR().Pointer() + } + return nil +} + +func NewQNetworkAddressEntryFromPointer(ptr unsafe.Pointer) (n *QNetworkAddressEntry) { + n = new(QNetworkAddressEntry) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkAddressEntry__DnsEligibilityStatus +//QNetworkAddressEntry::DnsEligibilityStatus +type QNetworkAddressEntry__DnsEligibilityStatus int64 + +const ( + QNetworkAddressEntry__DnsEligibilityUnknown QNetworkAddressEntry__DnsEligibilityStatus = QNetworkAddressEntry__DnsEligibilityStatus(-1) + QNetworkAddressEntry__DnsIneligible QNetworkAddressEntry__DnsEligibilityStatus = QNetworkAddressEntry__DnsEligibilityStatus(0) + QNetworkAddressEntry__DnsEligible QNetworkAddressEntry__DnsEligibilityStatus = QNetworkAddressEntry__DnsEligibilityStatus(1) +) + +func NewQNetworkAddressEntry() *QNetworkAddressEntry { + tmpValue := NewQNetworkAddressEntryFromPointer(C.QNetworkAddressEntry_NewQNetworkAddressEntry()) + runtime.SetFinalizer(tmpValue, (*QNetworkAddressEntry).DestroyQNetworkAddressEntry) + return tmpValue +} + +func NewQNetworkAddressEntry2(other QNetworkAddressEntry_ITF) *QNetworkAddressEntry { + tmpValue := NewQNetworkAddressEntryFromPointer(C.QNetworkAddressEntry_NewQNetworkAddressEntry2(PointerFromQNetworkAddressEntry(other))) + runtime.SetFinalizer(tmpValue, (*QNetworkAddressEntry).DestroyQNetworkAddressEntry) + return tmpValue +} + +func (ptr *QNetworkAddressEntry) Broadcast() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QNetworkAddressEntry_Broadcast(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QNetworkAddressEntry) ClearAddressLifetime() { + if ptr.Pointer() != nil { + C.QNetworkAddressEntry_ClearAddressLifetime(ptr.Pointer()) + } +} + +func (ptr *QNetworkAddressEntry) DnsEligibility() QNetworkAddressEntry__DnsEligibilityStatus { + if ptr.Pointer() != nil { + return QNetworkAddressEntry__DnsEligibilityStatus(C.QNetworkAddressEntry_DnsEligibility(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkAddressEntry) Ip() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QNetworkAddressEntry_Ip(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QNetworkAddressEntry) IsLifetimeKnown() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkAddressEntry_IsLifetimeKnown(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkAddressEntry) IsPermanent() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkAddressEntry_IsPermanent(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkAddressEntry) IsTemporary() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkAddressEntry_IsTemporary(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkAddressEntry) Netmask() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QNetworkAddressEntry_Netmask(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QNetworkAddressEntry) PrefixLength() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkAddressEntry_PrefixLength(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkAddressEntry) SetAddressLifetime(preferred core.QDeadlineTimer_ITF, validity core.QDeadlineTimer_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAddressEntry_SetAddressLifetime(ptr.Pointer(), core.PointerFromQDeadlineTimer(preferred), core.PointerFromQDeadlineTimer(validity)) + } +} + +func (ptr *QNetworkAddressEntry) SetBroadcast(newBroadcast QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAddressEntry_SetBroadcast(ptr.Pointer(), PointerFromQHostAddress(newBroadcast)) + } +} + +func (ptr *QNetworkAddressEntry) SetDnsEligibility(status QNetworkAddressEntry__DnsEligibilityStatus) { + if ptr.Pointer() != nil { + C.QNetworkAddressEntry_SetDnsEligibility(ptr.Pointer(), C.longlong(status)) + } +} + +func (ptr *QNetworkAddressEntry) SetIp(newIp QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAddressEntry_SetIp(ptr.Pointer(), PointerFromQHostAddress(newIp)) + } +} + +func (ptr *QNetworkAddressEntry) SetNetmask(newNetmask QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAddressEntry_SetNetmask(ptr.Pointer(), PointerFromQHostAddress(newNetmask)) + } +} + +func (ptr *QNetworkAddressEntry) SetPrefixLength(length int) { + if ptr.Pointer() != nil { + C.QNetworkAddressEntry_SetPrefixLength(ptr.Pointer(), C.int(int32(length))) + } +} + +func (ptr *QNetworkAddressEntry) Swap(other QNetworkAddressEntry_ITF) { + if ptr.Pointer() != nil { + C.QNetworkAddressEntry_Swap(ptr.Pointer(), PointerFromQNetworkAddressEntry(other)) + } +} + +func (ptr *QNetworkAddressEntry) DestroyQNetworkAddressEntry() { + if ptr.Pointer() != nil { + C.QNetworkAddressEntry_DestroyQNetworkAddressEntry(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QNetworkCacheMetaData struct { + ptr unsafe.Pointer +} + +type QNetworkCacheMetaData_ITF interface { + QNetworkCacheMetaData_PTR() *QNetworkCacheMetaData +} + +func (ptr *QNetworkCacheMetaData) QNetworkCacheMetaData_PTR() *QNetworkCacheMetaData { + return ptr +} + +func (ptr *QNetworkCacheMetaData) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkCacheMetaData) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkCacheMetaData(ptr QNetworkCacheMetaData_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkCacheMetaData_PTR().Pointer() + } + return nil +} + +func NewQNetworkCacheMetaDataFromPointer(ptr unsafe.Pointer) (n *QNetworkCacheMetaData) { + n = new(QNetworkCacheMetaData) + n.SetPointer(ptr) + return +} +func NewQNetworkCacheMetaData() *QNetworkCacheMetaData { + tmpValue := NewQNetworkCacheMetaDataFromPointer(C.QNetworkCacheMetaData_NewQNetworkCacheMetaData()) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData).DestroyQNetworkCacheMetaData) + return tmpValue +} + +func NewQNetworkCacheMetaData2(other QNetworkCacheMetaData_ITF) *QNetworkCacheMetaData { + tmpValue := NewQNetworkCacheMetaDataFromPointer(C.QNetworkCacheMetaData_NewQNetworkCacheMetaData2(PointerFromQNetworkCacheMetaData(other))) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData).DestroyQNetworkCacheMetaData) + return tmpValue +} + +func (ptr *QNetworkCacheMetaData) ExpirationDate() *core.QDateTime { + if ptr.Pointer() != nil { + tmpValue := core.NewQDateTimeFromPointer(C.QNetworkCacheMetaData_ExpirationDate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCacheMetaData) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCacheMetaData_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkCacheMetaData) LastModified() *core.QDateTime { + if ptr.Pointer() != nil { + tmpValue := core.NewQDateTimeFromPointer(C.QNetworkCacheMetaData_LastModified(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCacheMetaData) RawHeaders() []*QNetworkCacheMetaData_RawHeader { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkCacheMetaData_RawHeader { + out := make([]*QNetworkCacheMetaData_RawHeader, int(l.len)) + tmpList := NewQNetworkCacheMetaDataFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__rawHeaders_atList(i) + } + return out + }(C.QNetworkCacheMetaData_RawHeaders(ptr.Pointer())) + } + return make([]*QNetworkCacheMetaData_RawHeader, 0) +} + +func (ptr *QNetworkCacheMetaData) SaveToDisk() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCacheMetaData_SaveToDisk(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkCacheMetaData) SetExpirationDate(dateTime core.QDateTime_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCacheMetaData_SetExpirationDate(ptr.Pointer(), core.PointerFromQDateTime(dateTime)) + } +} + +func (ptr *QNetworkCacheMetaData) SetLastModified(dateTime core.QDateTime_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCacheMetaData_SetLastModified(ptr.Pointer(), core.PointerFromQDateTime(dateTime)) + } +} + +func (ptr *QNetworkCacheMetaData) SetRawHeaders(list []*QNetworkCacheMetaData_RawHeader) { + if ptr.Pointer() != nil { + C.QNetworkCacheMetaData_SetRawHeaders(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQNetworkCacheMetaDataFromPointer(NewQNetworkCacheMetaDataFromPointer(nil).__setRawHeaders_list_newList()) + for _, v := range list { + tmpList.__setRawHeaders_list_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QNetworkCacheMetaData) SetSaveToDisk(allow bool) { + if ptr.Pointer() != nil { + C.QNetworkCacheMetaData_SetSaveToDisk(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(allow)))) + } +} + +func (ptr *QNetworkCacheMetaData) SetUrl(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCacheMetaData_SetUrl(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QNetworkCacheMetaData) Swap(other QNetworkCacheMetaData_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCacheMetaData_Swap(ptr.Pointer(), PointerFromQNetworkCacheMetaData(other)) + } +} + +func (ptr *QNetworkCacheMetaData) Url() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QNetworkCacheMetaData_Url(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCacheMetaData) DestroyQNetworkCacheMetaData() { + if ptr.Pointer() != nil { + C.QNetworkCacheMetaData_DestroyQNetworkCacheMetaData(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkCacheMetaData) __rawHeaders_atList(i int) *QNetworkCacheMetaData_RawHeader { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCacheMetaData_RawHeaderFromPointer(C.QNetworkCacheMetaData___rawHeaders_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData_RawHeader).DestroyQNetworkCacheMetaData_RawHeader) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCacheMetaData) __rawHeaders_setList(i QNetworkCacheMetaData_RawHeader_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCacheMetaData___rawHeaders_setList(ptr.Pointer(), PointerFromQNetworkCacheMetaData_RawHeader(i)) + } +} + +func (ptr *QNetworkCacheMetaData) __rawHeaders_newList() unsafe.Pointer { + return C.QNetworkCacheMetaData___rawHeaders_newList(ptr.Pointer()) +} + +func (ptr *QNetworkCacheMetaData) __setRawHeaders_list_atList(i int) *QNetworkCacheMetaData_RawHeader { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCacheMetaData_RawHeaderFromPointer(C.QNetworkCacheMetaData___setRawHeaders_list_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData_RawHeader).DestroyQNetworkCacheMetaData_RawHeader) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCacheMetaData) __setRawHeaders_list_setList(i QNetworkCacheMetaData_RawHeader_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCacheMetaData___setRawHeaders_list_setList(ptr.Pointer(), PointerFromQNetworkCacheMetaData_RawHeader(i)) + } +} + +func (ptr *QNetworkCacheMetaData) __setRawHeaders_list_newList() unsafe.Pointer { + return C.QNetworkCacheMetaData___setRawHeaders_list_newList(ptr.Pointer()) +} + +type QNetworkConfiguration struct { + ptr unsafe.Pointer +} + +type QNetworkConfiguration_ITF interface { + QNetworkConfiguration_PTR() *QNetworkConfiguration +} + +func (ptr *QNetworkConfiguration) QNetworkConfiguration_PTR() *QNetworkConfiguration { + return ptr +} + +func (ptr *QNetworkConfiguration) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkConfiguration) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkConfiguration(ptr QNetworkConfiguration_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkConfiguration_PTR().Pointer() + } + return nil +} + +func NewQNetworkConfigurationFromPointer(ptr unsafe.Pointer) (n *QNetworkConfiguration) { + n = new(QNetworkConfiguration) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkConfiguration__Type +//QNetworkConfiguration::Type +type QNetworkConfiguration__Type int64 + +const ( + QNetworkConfiguration__InternetAccessPoint QNetworkConfiguration__Type = QNetworkConfiguration__Type(0) + QNetworkConfiguration__ServiceNetwork QNetworkConfiguration__Type = QNetworkConfiguration__Type(1) + QNetworkConfiguration__UserChoice QNetworkConfiguration__Type = QNetworkConfiguration__Type(2) + QNetworkConfiguration__Invalid QNetworkConfiguration__Type = QNetworkConfiguration__Type(3) +) + +//go:generate stringer -type=QNetworkConfiguration__Purpose +//QNetworkConfiguration::Purpose +type QNetworkConfiguration__Purpose int64 + +const ( + QNetworkConfiguration__UnknownPurpose QNetworkConfiguration__Purpose = QNetworkConfiguration__Purpose(0) + QNetworkConfiguration__PublicPurpose QNetworkConfiguration__Purpose = QNetworkConfiguration__Purpose(1) + QNetworkConfiguration__PrivatePurpose QNetworkConfiguration__Purpose = QNetworkConfiguration__Purpose(2) + QNetworkConfiguration__ServiceSpecificPurpose QNetworkConfiguration__Purpose = QNetworkConfiguration__Purpose(3) +) + +//go:generate stringer -type=QNetworkConfiguration__StateFlag +//QNetworkConfiguration::StateFlag +type QNetworkConfiguration__StateFlag int64 + +const ( + QNetworkConfiguration__Undefined QNetworkConfiguration__StateFlag = QNetworkConfiguration__StateFlag(0x0000001) + QNetworkConfiguration__Defined QNetworkConfiguration__StateFlag = QNetworkConfiguration__StateFlag(0x0000002) + QNetworkConfiguration__Discovered QNetworkConfiguration__StateFlag = QNetworkConfiguration__StateFlag(0x0000006) + QNetworkConfiguration__Active QNetworkConfiguration__StateFlag = QNetworkConfiguration__StateFlag(0x000000e) +) + +//go:generate stringer -type=QNetworkConfiguration__BearerType +//QNetworkConfiguration::BearerType +type QNetworkConfiguration__BearerType int64 + +const ( + QNetworkConfiguration__BearerUnknown QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(0) + QNetworkConfiguration__BearerEthernet QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(1) + QNetworkConfiguration__BearerWLAN QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(2) + QNetworkConfiguration__Bearer2G QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(3) + QNetworkConfiguration__BearerCDMA2000 QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(4) + QNetworkConfiguration__BearerWCDMA QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(5) + QNetworkConfiguration__BearerHSPA QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(6) + QNetworkConfiguration__BearerBluetooth QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(7) + QNetworkConfiguration__BearerWiMAX QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(8) + QNetworkConfiguration__BearerEVDO QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(9) + QNetworkConfiguration__BearerLTE QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(10) + QNetworkConfiguration__Bearer3G QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(11) + QNetworkConfiguration__Bearer4G QNetworkConfiguration__BearerType = QNetworkConfiguration__BearerType(12) +) + +func NewQNetworkConfiguration() *QNetworkConfiguration { + tmpValue := NewQNetworkConfigurationFromPointer(C.QNetworkConfiguration_NewQNetworkConfiguration()) + runtime.SetFinalizer(tmpValue, (*QNetworkConfiguration).DestroyQNetworkConfiguration) + return tmpValue +} + +func NewQNetworkConfiguration2(other QNetworkConfiguration_ITF) *QNetworkConfiguration { + tmpValue := NewQNetworkConfigurationFromPointer(C.QNetworkConfiguration_NewQNetworkConfiguration2(PointerFromQNetworkConfiguration(other))) + runtime.SetFinalizer(tmpValue, (*QNetworkConfiguration).DestroyQNetworkConfiguration) + return tmpValue +} + +func (ptr *QNetworkConfiguration) BearerType() QNetworkConfiguration__BearerType { + if ptr.Pointer() != nil { + return QNetworkConfiguration__BearerType(C.QNetworkConfiguration_BearerType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkConfiguration) BearerTypeFamily() QNetworkConfiguration__BearerType { + if ptr.Pointer() != nil { + return QNetworkConfiguration__BearerType(C.QNetworkConfiguration_BearerTypeFamily(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkConfiguration) BearerTypeName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkConfiguration_BearerTypeName(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkConfiguration) Children() []*QNetworkConfiguration { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkConfiguration { + out := make([]*QNetworkConfiguration, int(l.len)) + tmpList := NewQNetworkConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__children_atList(i) + } + return out + }(C.QNetworkConfiguration_Children(ptr.Pointer())) + } + return make([]*QNetworkConfiguration, 0) +} + +func (ptr *QNetworkConfiguration) ConnectTimeout() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkConfiguration_ConnectTimeout(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkConfiguration) Identifier() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkConfiguration_Identifier(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkConfiguration) IsRoamingAvailable() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkConfiguration_IsRoamingAvailable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkConfiguration) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkConfiguration_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkConfiguration) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkConfiguration_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkConfiguration) Purpose() QNetworkConfiguration__Purpose { + if ptr.Pointer() != nil { + return QNetworkConfiguration__Purpose(C.QNetworkConfiguration_Purpose(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkConfiguration) SetConnectTimeout(timeout int) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkConfiguration_SetConnectTimeout(ptr.Pointer(), C.int(int32(timeout)))) != 0 + } + return false +} + +func (ptr *QNetworkConfiguration) State() QNetworkConfiguration__StateFlag { + if ptr.Pointer() != nil { + return QNetworkConfiguration__StateFlag(C.QNetworkConfiguration_State(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkConfiguration) Swap(other QNetworkConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfiguration_Swap(ptr.Pointer(), PointerFromQNetworkConfiguration(other)) + } +} + +func (ptr *QNetworkConfiguration) Type() QNetworkConfiguration__Type { + if ptr.Pointer() != nil { + return QNetworkConfiguration__Type(C.QNetworkConfiguration_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkConfiguration) DestroyQNetworkConfiguration() { + if ptr.Pointer() != nil { + C.QNetworkConfiguration_DestroyQNetworkConfiguration(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkConfiguration) __children_atList(i int) *QNetworkConfiguration { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkConfigurationFromPointer(C.QNetworkConfiguration___children_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkConfiguration).DestroyQNetworkConfiguration) + return tmpValue + } + return nil +} + +func (ptr *QNetworkConfiguration) __children_setList(i QNetworkConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfiguration___children_setList(ptr.Pointer(), PointerFromQNetworkConfiguration(i)) + } +} + +func (ptr *QNetworkConfiguration) __children_newList() unsafe.Pointer { + return C.QNetworkConfiguration___children_newList(ptr.Pointer()) +} + +type QNetworkConfigurationManager struct { + core.QObject +} + +type QNetworkConfigurationManager_ITF interface { + core.QObject_ITF + QNetworkConfigurationManager_PTR() *QNetworkConfigurationManager +} + +func (ptr *QNetworkConfigurationManager) QNetworkConfigurationManager_PTR() *QNetworkConfigurationManager { + return ptr +} + +func (ptr *QNetworkConfigurationManager) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QNetworkConfigurationManager) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQNetworkConfigurationManager(ptr QNetworkConfigurationManager_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkConfigurationManager_PTR().Pointer() + } + return nil +} + +func NewQNetworkConfigurationManagerFromPointer(ptr unsafe.Pointer) (n *QNetworkConfigurationManager) { + n = new(QNetworkConfigurationManager) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkConfigurationManager__Capability +//QNetworkConfigurationManager::Capability +type QNetworkConfigurationManager__Capability int64 + +const ( + QNetworkConfigurationManager__CanStartAndStopInterfaces QNetworkConfigurationManager__Capability = QNetworkConfigurationManager__Capability(0x00000001) + QNetworkConfigurationManager__DirectConnectionRouting QNetworkConfigurationManager__Capability = QNetworkConfigurationManager__Capability(0x00000002) + QNetworkConfigurationManager__SystemSessionSupport QNetworkConfigurationManager__Capability = QNetworkConfigurationManager__Capability(0x00000004) + QNetworkConfigurationManager__ApplicationLevelRoaming QNetworkConfigurationManager__Capability = QNetworkConfigurationManager__Capability(0x00000008) + QNetworkConfigurationManager__ForcedRoaming QNetworkConfigurationManager__Capability = QNetworkConfigurationManager__Capability(0x00000010) + QNetworkConfigurationManager__DataStatistics QNetworkConfigurationManager__Capability = QNetworkConfigurationManager__Capability(0x00000020) + QNetworkConfigurationManager__NetworkSessionRequired QNetworkConfigurationManager__Capability = QNetworkConfigurationManager__Capability(0x00000040) +) + +func NewQNetworkConfigurationManager(parent core.QObject_ITF) *QNetworkConfigurationManager { + tmpValue := NewQNetworkConfigurationManagerFromPointer(C.QNetworkConfigurationManager_NewQNetworkConfigurationManager(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QNetworkConfigurationManager) AllConfigurations(filter QNetworkConfiguration__StateFlag) []*QNetworkConfiguration { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkConfiguration { + out := make([]*QNetworkConfiguration, int(l.len)) + tmpList := NewQNetworkConfigurationManagerFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__allConfigurations_atList(i) + } + return out + }(C.QNetworkConfigurationManager_AllConfigurations(ptr.Pointer(), C.longlong(filter))) + } + return make([]*QNetworkConfiguration, 0) +} + +func (ptr *QNetworkConfigurationManager) Capabilities() QNetworkConfigurationManager__Capability { + if ptr.Pointer() != nil { + return QNetworkConfigurationManager__Capability(C.QNetworkConfigurationManager_Capabilities(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkConfigurationManager_ConfigurationAdded +func callbackQNetworkConfigurationManager_ConfigurationAdded(ptr unsafe.Pointer, config unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "configurationAdded"); signal != nil { + (*(*func(*QNetworkConfiguration))(signal))(NewQNetworkConfigurationFromPointer(config)) + } + +} + +func (ptr *QNetworkConfigurationManager) ConnectConfigurationAdded(f func(config *QNetworkConfiguration)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "configurationAdded") { + C.QNetworkConfigurationManager_ConnectConfigurationAdded(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "configurationAdded"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "configurationAdded"); signal != nil { + f := func(config *QNetworkConfiguration) { + (*(*func(*QNetworkConfiguration))(signal))(config) + f(config) + } + qt.ConnectSignal(ptr.Pointer(), "configurationAdded", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "configurationAdded", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkConfigurationManager) DisconnectConfigurationAdded() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_DisconnectConfigurationAdded(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "configurationAdded") + } +} + +func (ptr *QNetworkConfigurationManager) ConfigurationAdded(config QNetworkConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_ConfigurationAdded(ptr.Pointer(), PointerFromQNetworkConfiguration(config)) + } +} + +//export callbackQNetworkConfigurationManager_ConfigurationChanged +func callbackQNetworkConfigurationManager_ConfigurationChanged(ptr unsafe.Pointer, config unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "configurationChanged"); signal != nil { + (*(*func(*QNetworkConfiguration))(signal))(NewQNetworkConfigurationFromPointer(config)) + } + +} + +func (ptr *QNetworkConfigurationManager) ConnectConfigurationChanged(f func(config *QNetworkConfiguration)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "configurationChanged") { + C.QNetworkConfigurationManager_ConnectConfigurationChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "configurationChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "configurationChanged"); signal != nil { + f := func(config *QNetworkConfiguration) { + (*(*func(*QNetworkConfiguration))(signal))(config) + f(config) + } + qt.ConnectSignal(ptr.Pointer(), "configurationChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "configurationChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkConfigurationManager) DisconnectConfigurationChanged() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_DisconnectConfigurationChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "configurationChanged") + } +} + +func (ptr *QNetworkConfigurationManager) ConfigurationChanged(config QNetworkConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_ConfigurationChanged(ptr.Pointer(), PointerFromQNetworkConfiguration(config)) + } +} + +func (ptr *QNetworkConfigurationManager) ConfigurationFromIdentifier(identifier string) *QNetworkConfiguration { + if ptr.Pointer() != nil { + var identifierC *C.char + if identifier != "" { + identifierC = C.CString(identifier) + defer C.free(unsafe.Pointer(identifierC)) + } + tmpValue := NewQNetworkConfigurationFromPointer(C.QNetworkConfigurationManager_ConfigurationFromIdentifier(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: identifierC, len: C.longlong(len(identifier))})) + runtime.SetFinalizer(tmpValue, (*QNetworkConfiguration).DestroyQNetworkConfiguration) + return tmpValue + } + return nil +} + +//export callbackQNetworkConfigurationManager_ConfigurationRemoved +func callbackQNetworkConfigurationManager_ConfigurationRemoved(ptr unsafe.Pointer, config unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "configurationRemoved"); signal != nil { + (*(*func(*QNetworkConfiguration))(signal))(NewQNetworkConfigurationFromPointer(config)) + } + +} + +func (ptr *QNetworkConfigurationManager) ConnectConfigurationRemoved(f func(config *QNetworkConfiguration)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "configurationRemoved") { + C.QNetworkConfigurationManager_ConnectConfigurationRemoved(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "configurationRemoved"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "configurationRemoved"); signal != nil { + f := func(config *QNetworkConfiguration) { + (*(*func(*QNetworkConfiguration))(signal))(config) + f(config) + } + qt.ConnectSignal(ptr.Pointer(), "configurationRemoved", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "configurationRemoved", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkConfigurationManager) DisconnectConfigurationRemoved() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_DisconnectConfigurationRemoved(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "configurationRemoved") + } +} + +func (ptr *QNetworkConfigurationManager) ConfigurationRemoved(config QNetworkConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_ConfigurationRemoved(ptr.Pointer(), PointerFromQNetworkConfiguration(config)) + } +} + +func (ptr *QNetworkConfigurationManager) DefaultConfiguration() *QNetworkConfiguration { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkConfigurationFromPointer(C.QNetworkConfigurationManager_DefaultConfiguration(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkConfiguration).DestroyQNetworkConfiguration) + return tmpValue + } + return nil +} + +func (ptr *QNetworkConfigurationManager) IsOnline() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkConfigurationManager_IsOnline(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQNetworkConfigurationManager_OnlineStateChanged +func callbackQNetworkConfigurationManager_OnlineStateChanged(ptr unsafe.Pointer, isOnline C.char) { + if signal := qt.GetSignal(ptr, "onlineStateChanged"); signal != nil { + (*(*func(bool))(signal))(int8(isOnline) != 0) + } + +} + +func (ptr *QNetworkConfigurationManager) ConnectOnlineStateChanged(f func(isOnline bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "onlineStateChanged") { + C.QNetworkConfigurationManager_ConnectOnlineStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "onlineStateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "onlineStateChanged"); signal != nil { + f := func(isOnline bool) { + (*(*func(bool))(signal))(isOnline) + f(isOnline) + } + qt.ConnectSignal(ptr.Pointer(), "onlineStateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "onlineStateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkConfigurationManager) DisconnectOnlineStateChanged() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_DisconnectOnlineStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "onlineStateChanged") + } +} + +func (ptr *QNetworkConfigurationManager) OnlineStateChanged(isOnline bool) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_OnlineStateChanged(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(isOnline)))) + } +} + +//export callbackQNetworkConfigurationManager_UpdateCompleted +func callbackQNetworkConfigurationManager_UpdateCompleted(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "updateCompleted"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QNetworkConfigurationManager) ConnectUpdateCompleted(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "updateCompleted") { + C.QNetworkConfigurationManager_ConnectUpdateCompleted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "updateCompleted"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "updateCompleted"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "updateCompleted", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateCompleted", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkConfigurationManager) DisconnectUpdateCompleted() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_DisconnectUpdateCompleted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "updateCompleted") + } +} + +func (ptr *QNetworkConfigurationManager) UpdateCompleted() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_UpdateCompleted(ptr.Pointer()) + } +} + +//export callbackQNetworkConfigurationManager_UpdateConfigurations +func callbackQNetworkConfigurationManager_UpdateConfigurations(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "updateConfigurations"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkConfigurationManagerFromPointer(ptr).UpdateConfigurationsDefault() + } +} + +func (ptr *QNetworkConfigurationManager) ConnectUpdateConfigurations(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateConfigurations"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "updateConfigurations", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateConfigurations", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkConfigurationManager) DisconnectUpdateConfigurations() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateConfigurations") + } +} + +func (ptr *QNetworkConfigurationManager) UpdateConfigurations() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_UpdateConfigurations(ptr.Pointer()) + } +} + +func (ptr *QNetworkConfigurationManager) UpdateConfigurationsDefault() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_UpdateConfigurationsDefault(ptr.Pointer()) + } +} + +//export callbackQNetworkConfigurationManager_DestroyQNetworkConfigurationManager +func callbackQNetworkConfigurationManager_DestroyQNetworkConfigurationManager(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QNetworkConfigurationManager"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkConfigurationManagerFromPointer(ptr).DestroyQNetworkConfigurationManagerDefault() + } +} + +func (ptr *QNetworkConfigurationManager) ConnectDestroyQNetworkConfigurationManager(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QNetworkConfigurationManager"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QNetworkConfigurationManager", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QNetworkConfigurationManager", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkConfigurationManager) DisconnectDestroyQNetworkConfigurationManager() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QNetworkConfigurationManager") + } +} + +func (ptr *QNetworkConfigurationManager) DestroyQNetworkConfigurationManager() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_DestroyQNetworkConfigurationManager(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkConfigurationManager) DestroyQNetworkConfigurationManagerDefault() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_DestroyQNetworkConfigurationManagerDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkConfigurationManager) __allConfigurations_atList(i int) *QNetworkConfiguration { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkConfigurationFromPointer(C.QNetworkConfigurationManager___allConfigurations_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkConfiguration).DestroyQNetworkConfiguration) + return tmpValue + } + return nil +} + +func (ptr *QNetworkConfigurationManager) __allConfigurations_setList(i QNetworkConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager___allConfigurations_setList(ptr.Pointer(), PointerFromQNetworkConfiguration(i)) + } +} + +func (ptr *QNetworkConfigurationManager) __allConfigurations_newList() unsafe.Pointer { + return C.QNetworkConfigurationManager___allConfigurations_newList(ptr.Pointer()) +} + +func (ptr *QNetworkConfigurationManager) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkConfigurationManager___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkConfigurationManager) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkConfigurationManager) __children_newList() unsafe.Pointer { + return C.QNetworkConfigurationManager___children_newList(ptr.Pointer()) +} + +func (ptr *QNetworkConfigurationManager) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkConfigurationManager___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkConfigurationManager) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QNetworkConfigurationManager) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QNetworkConfigurationManager___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QNetworkConfigurationManager) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkConfigurationManager___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkConfigurationManager) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkConfigurationManager) __findChildren_newList() unsafe.Pointer { + return C.QNetworkConfigurationManager___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QNetworkConfigurationManager) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkConfigurationManager___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkConfigurationManager) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkConfigurationManager) __findChildren_newList3() unsafe.Pointer { + return C.QNetworkConfigurationManager___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QNetworkConfigurationManager) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkConfigurationManager___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkConfigurationManager) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkConfigurationManager) __qFindChildren_newList2() unsafe.Pointer { + return C.QNetworkConfigurationManager___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQNetworkConfigurationManager_ChildEvent +func callbackQNetworkConfigurationManager_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQNetworkConfigurationManagerFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QNetworkConfigurationManager) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQNetworkConfigurationManager_ConnectNotify +func callbackQNetworkConfigurationManager_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkConfigurationManagerFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkConfigurationManager) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkConfigurationManager_CustomEvent +func callbackQNetworkConfigurationManager_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQNetworkConfigurationManagerFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QNetworkConfigurationManager) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQNetworkConfigurationManager_DeleteLater +func callbackQNetworkConfigurationManager_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkConfigurationManagerFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QNetworkConfigurationManager) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQNetworkConfigurationManager_Destroyed +func callbackQNetworkConfigurationManager_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQNetworkConfigurationManager_DisconnectNotify +func callbackQNetworkConfigurationManager_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkConfigurationManagerFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkConfigurationManager) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkConfigurationManager_Event +func callbackQNetworkConfigurationManager_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkConfigurationManagerFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QNetworkConfigurationManager) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkConfigurationManager_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQNetworkConfigurationManager_EventFilter +func callbackQNetworkConfigurationManager_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkConfigurationManagerFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QNetworkConfigurationManager) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkConfigurationManager_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQNetworkConfigurationManager_MetaObject +func callbackQNetworkConfigurationManager_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQNetworkConfigurationManagerFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QNetworkConfigurationManager) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QNetworkConfigurationManager_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQNetworkConfigurationManager_ObjectNameChanged +func callbackQNetworkConfigurationManager_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQNetworkConfigurationManager_TimerEvent +func callbackQNetworkConfigurationManager_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQNetworkConfigurationManagerFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QNetworkConfigurationManager) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkConfigurationManager_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QNetworkCookie struct { + ptr unsafe.Pointer +} + +type QNetworkCookie_ITF interface { + QNetworkCookie_PTR() *QNetworkCookie +} + +func (ptr *QNetworkCookie) QNetworkCookie_PTR() *QNetworkCookie { + return ptr +} + +func (ptr *QNetworkCookie) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkCookie) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkCookie(ptr QNetworkCookie_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkCookie_PTR().Pointer() + } + return nil +} + +func NewQNetworkCookieFromPointer(ptr unsafe.Pointer) (n *QNetworkCookie) { + n = new(QNetworkCookie) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkCookie__RawForm +//QNetworkCookie::RawForm +type QNetworkCookie__RawForm int64 + +const ( + QNetworkCookie__NameAndValueOnly QNetworkCookie__RawForm = QNetworkCookie__RawForm(0) + QNetworkCookie__Full QNetworkCookie__RawForm = QNetworkCookie__RawForm(1) +) + +func NewQNetworkCookie(name core.QByteArray_ITF, value core.QByteArray_ITF) *QNetworkCookie { + tmpValue := NewQNetworkCookieFromPointer(C.QNetworkCookie_NewQNetworkCookie(core.PointerFromQByteArray(name), core.PointerFromQByteArray(value))) + runtime.SetFinalizer(tmpValue, (*QNetworkCookie).DestroyQNetworkCookie) + return tmpValue +} + +func NewQNetworkCookie2(other QNetworkCookie_ITF) *QNetworkCookie { + tmpValue := NewQNetworkCookieFromPointer(C.QNetworkCookie_NewQNetworkCookie2(PointerFromQNetworkCookie(other))) + runtime.SetFinalizer(tmpValue, (*QNetworkCookie).DestroyQNetworkCookie) + return tmpValue +} + +func (ptr *QNetworkCookie) Domain() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkCookie_Domain(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkCookie) ExpirationDate() *core.QDateTime { + if ptr.Pointer() != nil { + tmpValue := core.NewQDateTimeFromPointer(C.QNetworkCookie_ExpirationDate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookie) HasSameIdentifier(other QNetworkCookie_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookie_HasSameIdentifier(ptr.Pointer(), PointerFromQNetworkCookie(other))) != 0 + } + return false +} + +func (ptr *QNetworkCookie) IsHttpOnly() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookie_IsHttpOnly(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkCookie) IsSecure() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookie_IsSecure(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkCookie) IsSessionCookie() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookie_IsSessionCookie(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkCookie) Name() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkCookie_Name(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookie) Normalize(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookie_Normalize(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func QNetworkCookie_ParseCookies(cookieString core.QByteArray_ITF) []*QNetworkCookie { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkCookie { + out := make([]*QNetworkCookie, int(l.len)) + tmpList := NewQNetworkCookieFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__parseCookies_atList(i) + } + return out + }(C.QNetworkCookie_QNetworkCookie_ParseCookies(core.PointerFromQByteArray(cookieString))) +} + +func (ptr *QNetworkCookie) ParseCookies(cookieString core.QByteArray_ITF) []*QNetworkCookie { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkCookie { + out := make([]*QNetworkCookie, int(l.len)) + tmpList := NewQNetworkCookieFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__parseCookies_atList(i) + } + return out + }(C.QNetworkCookie_QNetworkCookie_ParseCookies(core.PointerFromQByteArray(cookieString))) +} + +func (ptr *QNetworkCookie) Path() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkCookie_Path(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkCookie) SetDomain(domain string) { + if ptr.Pointer() != nil { + var domainC *C.char + if domain != "" { + domainC = C.CString(domain) + defer C.free(unsafe.Pointer(domainC)) + } + C.QNetworkCookie_SetDomain(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: domainC, len: C.longlong(len(domain))}) + } +} + +func (ptr *QNetworkCookie) SetExpirationDate(date core.QDateTime_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookie_SetExpirationDate(ptr.Pointer(), core.PointerFromQDateTime(date)) + } +} + +func (ptr *QNetworkCookie) SetHttpOnly(enable bool) { + if ptr.Pointer() != nil { + C.QNetworkCookie_SetHttpOnly(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QNetworkCookie) SetName(cookieName core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookie_SetName(ptr.Pointer(), core.PointerFromQByteArray(cookieName)) + } +} + +func (ptr *QNetworkCookie) SetPath(path string) { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QNetworkCookie_SetPath(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: pathC, len: C.longlong(len(path))}) + } +} + +func (ptr *QNetworkCookie) SetSecure(enable bool) { + if ptr.Pointer() != nil { + C.QNetworkCookie_SetSecure(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enable)))) + } +} + +func (ptr *QNetworkCookie) SetValue(value core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookie_SetValue(ptr.Pointer(), core.PointerFromQByteArray(value)) + } +} + +func (ptr *QNetworkCookie) Swap(other QNetworkCookie_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookie_Swap(ptr.Pointer(), PointerFromQNetworkCookie(other)) + } +} + +func (ptr *QNetworkCookie) ToRawForm(form QNetworkCookie__RawForm) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkCookie_ToRawForm(ptr.Pointer(), C.longlong(form))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookie) Value() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkCookie_Value(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookie) DestroyQNetworkCookie() { + if ptr.Pointer() != nil { + C.QNetworkCookie_DestroyQNetworkCookie(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkCookie) __parseCookies_atList(i int) *QNetworkCookie { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCookieFromPointer(C.QNetworkCookie___parseCookies_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkCookie).DestroyQNetworkCookie) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookie) __parseCookies_setList(i QNetworkCookie_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookie___parseCookies_setList(ptr.Pointer(), PointerFromQNetworkCookie(i)) + } +} + +func (ptr *QNetworkCookie) __parseCookies_newList() unsafe.Pointer { + return C.QNetworkCookie___parseCookies_newList(ptr.Pointer()) +} + +type QNetworkCookieJar struct { + core.QObject +} + +type QNetworkCookieJar_ITF interface { + core.QObject_ITF + QNetworkCookieJar_PTR() *QNetworkCookieJar +} + +func (ptr *QNetworkCookieJar) QNetworkCookieJar_PTR() *QNetworkCookieJar { + return ptr +} + +func (ptr *QNetworkCookieJar) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QNetworkCookieJar) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQNetworkCookieJar(ptr QNetworkCookieJar_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkCookieJar_PTR().Pointer() + } + return nil +} + +func NewQNetworkCookieJarFromPointer(ptr unsafe.Pointer) (n *QNetworkCookieJar) { + n = new(QNetworkCookieJar) + n.SetPointer(ptr) + return +} +func NewQNetworkCookieJar(parent core.QObject_ITF) *QNetworkCookieJar { + tmpValue := NewQNetworkCookieJarFromPointer(C.QNetworkCookieJar_NewQNetworkCookieJar(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QNetworkCookieJar) AllCookies() []*QNetworkCookie { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkCookie { + out := make([]*QNetworkCookie, int(l.len)) + tmpList := NewQNetworkCookieJarFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__allCookies_atList(i) + } + return out + }(C.QNetworkCookieJar_AllCookies(ptr.Pointer())) + } + return make([]*QNetworkCookie, 0) +} + +//export callbackQNetworkCookieJar_CookiesForUrl +func callbackQNetworkCookieJar_CookiesForUrl(ptr unsafe.Pointer, url unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "cookiesForUrl"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQNetworkCookieJarFromPointer(NewQNetworkCookieJarFromPointer(nil).__cookiesForUrl_newList()) + for _, v := range (*(*func(*core.QUrl) []*QNetworkCookie)(signal))(core.NewQUrlFromPointer(url)) { + tmpList.__cookiesForUrl_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQNetworkCookieJarFromPointer(NewQNetworkCookieJarFromPointer(nil).__cookiesForUrl_newList()) + for _, v := range NewQNetworkCookieJarFromPointer(ptr).CookiesForUrlDefault(core.NewQUrlFromPointer(url)) { + tmpList.__cookiesForUrl_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QNetworkCookieJar) ConnectCookiesForUrl(f func(url *core.QUrl) []*QNetworkCookie) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "cookiesForUrl"); signal != nil { + f := func(url *core.QUrl) []*QNetworkCookie { + (*(*func(*core.QUrl) []*QNetworkCookie)(signal))(url) + return f(url) + } + qt.ConnectSignal(ptr.Pointer(), "cookiesForUrl", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "cookiesForUrl", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkCookieJar) DisconnectCookiesForUrl() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "cookiesForUrl") + } +} + +func (ptr *QNetworkCookieJar) CookiesForUrl(url core.QUrl_ITF) []*QNetworkCookie { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkCookie { + out := make([]*QNetworkCookie, int(l.len)) + tmpList := NewQNetworkCookieJarFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__cookiesForUrl_atList(i) + } + return out + }(C.QNetworkCookieJar_CookiesForUrl(ptr.Pointer(), core.PointerFromQUrl(url))) + } + return make([]*QNetworkCookie, 0) +} + +func (ptr *QNetworkCookieJar) CookiesForUrlDefault(url core.QUrl_ITF) []*QNetworkCookie { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkCookie { + out := make([]*QNetworkCookie, int(l.len)) + tmpList := NewQNetworkCookieJarFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__cookiesForUrl_atList(i) + } + return out + }(C.QNetworkCookieJar_CookiesForUrlDefault(ptr.Pointer(), core.PointerFromQUrl(url))) + } + return make([]*QNetworkCookie, 0) +} + +//export callbackQNetworkCookieJar_DeleteCookie +func callbackQNetworkCookieJar_DeleteCookie(ptr unsafe.Pointer, cookie unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "deleteCookie"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QNetworkCookie) bool)(signal))(NewQNetworkCookieFromPointer(cookie))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkCookieJarFromPointer(ptr).DeleteCookieDefault(NewQNetworkCookieFromPointer(cookie))))) +} + +func (ptr *QNetworkCookieJar) ConnectDeleteCookie(f func(cookie *QNetworkCookie) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "deleteCookie"); signal != nil { + f := func(cookie *QNetworkCookie) bool { + (*(*func(*QNetworkCookie) bool)(signal))(cookie) + return f(cookie) + } + qt.ConnectSignal(ptr.Pointer(), "deleteCookie", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "deleteCookie", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkCookieJar) DisconnectDeleteCookie() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "deleteCookie") + } +} + +func (ptr *QNetworkCookieJar) DeleteCookie(cookie QNetworkCookie_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_DeleteCookie(ptr.Pointer(), PointerFromQNetworkCookie(cookie))) != 0 + } + return false +} + +func (ptr *QNetworkCookieJar) DeleteCookieDefault(cookie QNetworkCookie_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_DeleteCookieDefault(ptr.Pointer(), PointerFromQNetworkCookie(cookie))) != 0 + } + return false +} + +//export callbackQNetworkCookieJar_InsertCookie +func callbackQNetworkCookieJar_InsertCookie(ptr unsafe.Pointer, cookie unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "insertCookie"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QNetworkCookie) bool)(signal))(NewQNetworkCookieFromPointer(cookie))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkCookieJarFromPointer(ptr).InsertCookieDefault(NewQNetworkCookieFromPointer(cookie))))) +} + +func (ptr *QNetworkCookieJar) ConnectInsertCookie(f func(cookie *QNetworkCookie) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "insertCookie"); signal != nil { + f := func(cookie *QNetworkCookie) bool { + (*(*func(*QNetworkCookie) bool)(signal))(cookie) + return f(cookie) + } + qt.ConnectSignal(ptr.Pointer(), "insertCookie", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "insertCookie", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkCookieJar) DisconnectInsertCookie() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "insertCookie") + } +} + +func (ptr *QNetworkCookieJar) InsertCookie(cookie QNetworkCookie_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_InsertCookie(ptr.Pointer(), PointerFromQNetworkCookie(cookie))) != 0 + } + return false +} + +func (ptr *QNetworkCookieJar) InsertCookieDefault(cookie QNetworkCookie_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_InsertCookieDefault(ptr.Pointer(), PointerFromQNetworkCookie(cookie))) != 0 + } + return false +} + +func (ptr *QNetworkCookieJar) SetAllCookies(cookieList []*QNetworkCookie) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar_SetAllCookies(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQNetworkCookieJarFromPointer(NewQNetworkCookieJarFromPointer(nil).__setAllCookies_cookieList_newList()) + for _, v := range cookieList { + tmpList.__setAllCookies_cookieList_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +//export callbackQNetworkCookieJar_SetCookiesFromUrl +func callbackQNetworkCookieJar_SetCookiesFromUrl(ptr unsafe.Pointer, cookieList C.struct_QtNetwork_PackedList, url unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "setCookiesFromUrl"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func([]*QNetworkCookie, *core.QUrl) bool)(signal))(func(l C.struct_QtNetwork_PackedList) []*QNetworkCookie { + out := make([]*QNetworkCookie, int(l.len)) + tmpList := NewQNetworkCookieJarFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__setCookiesFromUrl_cookieList_atList(i) + } + return out + }(cookieList), core.NewQUrlFromPointer(url))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkCookieJarFromPointer(ptr).SetCookiesFromUrlDefault(func(l C.struct_QtNetwork_PackedList) []*QNetworkCookie { + out := make([]*QNetworkCookie, int(l.len)) + tmpList := NewQNetworkCookieJarFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__setCookiesFromUrl_cookieList_atList(i) + } + return out + }(cookieList), core.NewQUrlFromPointer(url))))) +} + +func (ptr *QNetworkCookieJar) ConnectSetCookiesFromUrl(f func(cookieList []*QNetworkCookie, url *core.QUrl) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setCookiesFromUrl"); signal != nil { + f := func(cookieList []*QNetworkCookie, url *core.QUrl) bool { + (*(*func([]*QNetworkCookie, *core.QUrl) bool)(signal))(cookieList, url) + return f(cookieList, url) + } + qt.ConnectSignal(ptr.Pointer(), "setCookiesFromUrl", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setCookiesFromUrl", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkCookieJar) DisconnectSetCookiesFromUrl() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setCookiesFromUrl") + } +} + +func (ptr *QNetworkCookieJar) SetCookiesFromUrl(cookieList []*QNetworkCookie, url core.QUrl_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_SetCookiesFromUrl(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQNetworkCookieJarFromPointer(NewQNetworkCookieJarFromPointer(nil).__setCookiesFromUrl_cookieList_newList()) + for _, v := range cookieList { + tmpList.__setCookiesFromUrl_cookieList_setList(v) + } + return tmpList.Pointer() + }(), core.PointerFromQUrl(url))) != 0 + } + return false +} + +func (ptr *QNetworkCookieJar) SetCookiesFromUrlDefault(cookieList []*QNetworkCookie, url core.QUrl_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_SetCookiesFromUrlDefault(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQNetworkCookieJarFromPointer(NewQNetworkCookieJarFromPointer(nil).__setCookiesFromUrl_cookieList_newList()) + for _, v := range cookieList { + tmpList.__setCookiesFromUrl_cookieList_setList(v) + } + return tmpList.Pointer() + }(), core.PointerFromQUrl(url))) != 0 + } + return false +} + +//export callbackQNetworkCookieJar_UpdateCookie +func callbackQNetworkCookieJar_UpdateCookie(ptr unsafe.Pointer, cookie unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "updateCookie"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QNetworkCookie) bool)(signal))(NewQNetworkCookieFromPointer(cookie))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkCookieJarFromPointer(ptr).UpdateCookieDefault(NewQNetworkCookieFromPointer(cookie))))) +} + +func (ptr *QNetworkCookieJar) ConnectUpdateCookie(f func(cookie *QNetworkCookie) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateCookie"); signal != nil { + f := func(cookie *QNetworkCookie) bool { + (*(*func(*QNetworkCookie) bool)(signal))(cookie) + return f(cookie) + } + qt.ConnectSignal(ptr.Pointer(), "updateCookie", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateCookie", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkCookieJar) DisconnectUpdateCookie() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateCookie") + } +} + +func (ptr *QNetworkCookieJar) UpdateCookie(cookie QNetworkCookie_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_UpdateCookie(ptr.Pointer(), PointerFromQNetworkCookie(cookie))) != 0 + } + return false +} + +func (ptr *QNetworkCookieJar) UpdateCookieDefault(cookie QNetworkCookie_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_UpdateCookieDefault(ptr.Pointer(), PointerFromQNetworkCookie(cookie))) != 0 + } + return false +} + +//export callbackQNetworkCookieJar_ValidateCookie +func callbackQNetworkCookieJar_ValidateCookie(ptr unsafe.Pointer, cookie unsafe.Pointer, url unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "validateCookie"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*QNetworkCookie, *core.QUrl) bool)(signal))(NewQNetworkCookieFromPointer(cookie), core.NewQUrlFromPointer(url))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkCookieJarFromPointer(ptr).ValidateCookieDefault(NewQNetworkCookieFromPointer(cookie), core.NewQUrlFromPointer(url))))) +} + +func (ptr *QNetworkCookieJar) ConnectValidateCookie(f func(cookie *QNetworkCookie, url *core.QUrl) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "validateCookie"); signal != nil { + f := func(cookie *QNetworkCookie, url *core.QUrl) bool { + (*(*func(*QNetworkCookie, *core.QUrl) bool)(signal))(cookie, url) + return f(cookie, url) + } + qt.ConnectSignal(ptr.Pointer(), "validateCookie", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "validateCookie", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkCookieJar) DisconnectValidateCookie() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "validateCookie") + } +} + +func (ptr *QNetworkCookieJar) ValidateCookie(cookie QNetworkCookie_ITF, url core.QUrl_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_ValidateCookie(ptr.Pointer(), PointerFromQNetworkCookie(cookie), core.PointerFromQUrl(url))) != 0 + } + return false +} + +func (ptr *QNetworkCookieJar) ValidateCookieDefault(cookie QNetworkCookie_ITF, url core.QUrl_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_ValidateCookieDefault(ptr.Pointer(), PointerFromQNetworkCookie(cookie), core.PointerFromQUrl(url))) != 0 + } + return false +} + +//export callbackQNetworkCookieJar_DestroyQNetworkCookieJar +func callbackQNetworkCookieJar_DestroyQNetworkCookieJar(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QNetworkCookieJar"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkCookieJarFromPointer(ptr).DestroyQNetworkCookieJarDefault() + } +} + +func (ptr *QNetworkCookieJar) ConnectDestroyQNetworkCookieJar(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QNetworkCookieJar"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QNetworkCookieJar", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QNetworkCookieJar", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkCookieJar) DisconnectDestroyQNetworkCookieJar() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QNetworkCookieJar") + } +} + +func (ptr *QNetworkCookieJar) DestroyQNetworkCookieJar() { + if ptr.Pointer() != nil { + C.QNetworkCookieJar_DestroyQNetworkCookieJar(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkCookieJar) DestroyQNetworkCookieJarDefault() { + if ptr.Pointer() != nil { + C.QNetworkCookieJar_DestroyQNetworkCookieJarDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkCookieJar) __allCookies_atList(i int) *QNetworkCookie { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCookieFromPointer(C.QNetworkCookieJar___allCookies_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkCookie).DestroyQNetworkCookie) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookieJar) __allCookies_setList(i QNetworkCookie_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar___allCookies_setList(ptr.Pointer(), PointerFromQNetworkCookie(i)) + } +} + +func (ptr *QNetworkCookieJar) __allCookies_newList() unsafe.Pointer { + return C.QNetworkCookieJar___allCookies_newList(ptr.Pointer()) +} + +func (ptr *QNetworkCookieJar) __cookiesForUrl_atList(i int) *QNetworkCookie { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCookieFromPointer(C.QNetworkCookieJar___cookiesForUrl_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkCookie).DestroyQNetworkCookie) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookieJar) __cookiesForUrl_setList(i QNetworkCookie_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar___cookiesForUrl_setList(ptr.Pointer(), PointerFromQNetworkCookie(i)) + } +} + +func (ptr *QNetworkCookieJar) __cookiesForUrl_newList() unsafe.Pointer { + return C.QNetworkCookieJar___cookiesForUrl_newList(ptr.Pointer()) +} + +func (ptr *QNetworkCookieJar) __setAllCookies_cookieList_atList(i int) *QNetworkCookie { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCookieFromPointer(C.QNetworkCookieJar___setAllCookies_cookieList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkCookie).DestroyQNetworkCookie) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookieJar) __setAllCookies_cookieList_setList(i QNetworkCookie_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar___setAllCookies_cookieList_setList(ptr.Pointer(), PointerFromQNetworkCookie(i)) + } +} + +func (ptr *QNetworkCookieJar) __setAllCookies_cookieList_newList() unsafe.Pointer { + return C.QNetworkCookieJar___setAllCookies_cookieList_newList(ptr.Pointer()) +} + +func (ptr *QNetworkCookieJar) __setCookiesFromUrl_cookieList_atList(i int) *QNetworkCookie { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCookieFromPointer(C.QNetworkCookieJar___setCookiesFromUrl_cookieList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkCookie).DestroyQNetworkCookie) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookieJar) __setCookiesFromUrl_cookieList_setList(i QNetworkCookie_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar___setCookiesFromUrl_cookieList_setList(ptr.Pointer(), PointerFromQNetworkCookie(i)) + } +} + +func (ptr *QNetworkCookieJar) __setCookiesFromUrl_cookieList_newList() unsafe.Pointer { + return C.QNetworkCookieJar___setCookiesFromUrl_cookieList_newList(ptr.Pointer()) +} + +func (ptr *QNetworkCookieJar) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkCookieJar___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookieJar) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkCookieJar) __children_newList() unsafe.Pointer { + return C.QNetworkCookieJar___children_newList(ptr.Pointer()) +} + +func (ptr *QNetworkCookieJar) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkCookieJar___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookieJar) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QNetworkCookieJar) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QNetworkCookieJar___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QNetworkCookieJar) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkCookieJar___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookieJar) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkCookieJar) __findChildren_newList() unsafe.Pointer { + return C.QNetworkCookieJar___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QNetworkCookieJar) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkCookieJar___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookieJar) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkCookieJar) __findChildren_newList3() unsafe.Pointer { + return C.QNetworkCookieJar___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QNetworkCookieJar) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkCookieJar___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkCookieJar) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkCookieJar) __qFindChildren_newList2() unsafe.Pointer { + return C.QNetworkCookieJar___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQNetworkCookieJar_ChildEvent +func callbackQNetworkCookieJar_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQNetworkCookieJarFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QNetworkCookieJar) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQNetworkCookieJar_ConnectNotify +func callbackQNetworkCookieJar_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkCookieJarFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkCookieJar) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkCookieJar_CustomEvent +func callbackQNetworkCookieJar_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQNetworkCookieJarFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QNetworkCookieJar) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQNetworkCookieJar_DeleteLater +func callbackQNetworkCookieJar_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkCookieJarFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QNetworkCookieJar) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QNetworkCookieJar_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQNetworkCookieJar_Destroyed +func callbackQNetworkCookieJar_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQNetworkCookieJar_DisconnectNotify +func callbackQNetworkCookieJar_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkCookieJarFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkCookieJar) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkCookieJar_Event +func callbackQNetworkCookieJar_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkCookieJarFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QNetworkCookieJar) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQNetworkCookieJar_EventFilter +func callbackQNetworkCookieJar_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkCookieJarFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QNetworkCookieJar) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkCookieJar_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQNetworkCookieJar_MetaObject +func callbackQNetworkCookieJar_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQNetworkCookieJarFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QNetworkCookieJar) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QNetworkCookieJar_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQNetworkCookieJar_ObjectNameChanged +func callbackQNetworkCookieJar_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQNetworkCookieJar_TimerEvent +func callbackQNetworkCookieJar_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQNetworkCookieJarFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QNetworkCookieJar) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkCookieJar_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QNetworkDatagram struct { + ptr unsafe.Pointer +} + +type QNetworkDatagram_ITF interface { + QNetworkDatagram_PTR() *QNetworkDatagram +} + +func (ptr *QNetworkDatagram) QNetworkDatagram_PTR() *QNetworkDatagram { + return ptr +} + +func (ptr *QNetworkDatagram) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkDatagram) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkDatagram(ptr QNetworkDatagram_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkDatagram_PTR().Pointer() + } + return nil +} + +func NewQNetworkDatagramFromPointer(ptr unsafe.Pointer) (n *QNetworkDatagram) { + n = new(QNetworkDatagram) + n.SetPointer(ptr) + return +} + +func (ptr *QNetworkDatagram) DestroyQNetworkDatagram() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQNetworkDatagram() *QNetworkDatagram { + tmpValue := NewQNetworkDatagramFromPointer(C.QNetworkDatagram_NewQNetworkDatagram()) + runtime.SetFinalizer(tmpValue, (*QNetworkDatagram).DestroyQNetworkDatagram) + return tmpValue +} + +func NewQNetworkDatagram2(data core.QByteArray_ITF, destinationAddress QHostAddress_ITF, port uint16) *QNetworkDatagram { + tmpValue := NewQNetworkDatagramFromPointer(C.QNetworkDatagram_NewQNetworkDatagram2(core.PointerFromQByteArray(data), PointerFromQHostAddress(destinationAddress), C.ushort(port))) + runtime.SetFinalizer(tmpValue, (*QNetworkDatagram).DestroyQNetworkDatagram) + return tmpValue +} + +func NewQNetworkDatagram3(other QNetworkDatagram_ITF) *QNetworkDatagram { + tmpValue := NewQNetworkDatagramFromPointer(C.QNetworkDatagram_NewQNetworkDatagram3(PointerFromQNetworkDatagram(other))) + runtime.SetFinalizer(tmpValue, (*QNetworkDatagram).DestroyQNetworkDatagram) + return tmpValue +} + +func (ptr *QNetworkDatagram) Clear() { + if ptr.Pointer() != nil { + C.QNetworkDatagram_Clear(ptr.Pointer()) + } +} + +func (ptr *QNetworkDatagram) Data() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkDatagram_Data(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkDatagram) DestinationAddress() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QNetworkDatagram_DestinationAddress(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QNetworkDatagram) DestinationPort() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkDatagram_DestinationPort(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkDatagram) HopLimit() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkDatagram_HopLimit(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkDatagram) InterfaceIndex() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QNetworkDatagram_InterfaceIndex(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkDatagram) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkDatagram_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkDatagram) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkDatagram_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkDatagram) MakeReply(payload core.QByteArray_ITF) *QNetworkDatagram { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkDatagramFromPointer(C.QNetworkDatagram_MakeReply(ptr.Pointer(), core.PointerFromQByteArray(payload))) + runtime.SetFinalizer(tmpValue, (*QNetworkDatagram).DestroyQNetworkDatagram) + return tmpValue + } + return nil +} + +func (ptr *QNetworkDatagram) MakeReply2(payload core.QByteArray_ITF) *QNetworkDatagram { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkDatagramFromPointer(C.QNetworkDatagram_MakeReply2(ptr.Pointer(), core.PointerFromQByteArray(payload))) + runtime.SetFinalizer(tmpValue, (*QNetworkDatagram).DestroyQNetworkDatagram) + return tmpValue + } + return nil +} + +func (ptr *QNetworkDatagram) SenderAddress() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QNetworkDatagram_SenderAddress(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QNetworkDatagram) SenderPort() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkDatagram_SenderPort(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkDatagram) SetData(data core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkDatagram_SetData(ptr.Pointer(), core.PointerFromQByteArray(data)) + } +} + +func (ptr *QNetworkDatagram) SetDestination(address QHostAddress_ITF, port uint16) { + if ptr.Pointer() != nil { + C.QNetworkDatagram_SetDestination(ptr.Pointer(), PointerFromQHostAddress(address), C.ushort(port)) + } +} + +func (ptr *QNetworkDatagram) SetHopLimit(count int) { + if ptr.Pointer() != nil { + C.QNetworkDatagram_SetHopLimit(ptr.Pointer(), C.int(int32(count))) + } +} + +func (ptr *QNetworkDatagram) SetInterfaceIndex(index uint) { + if ptr.Pointer() != nil { + C.QNetworkDatagram_SetInterfaceIndex(ptr.Pointer(), C.uint(uint32(index))) + } +} + +func (ptr *QNetworkDatagram) SetSender(address QHostAddress_ITF, port uint16) { + if ptr.Pointer() != nil { + C.QNetworkDatagram_SetSender(ptr.Pointer(), PointerFromQHostAddress(address), C.ushort(port)) + } +} + +func (ptr *QNetworkDatagram) Swap(other QNetworkDatagram_ITF) { + if ptr.Pointer() != nil { + C.QNetworkDatagram_Swap(ptr.Pointer(), PointerFromQNetworkDatagram(other)) + } +} + +type QNetworkDiskCache struct { + QAbstractNetworkCache +} + +type QNetworkDiskCache_ITF interface { + QAbstractNetworkCache_ITF + QNetworkDiskCache_PTR() *QNetworkDiskCache +} + +func (ptr *QNetworkDiskCache) QNetworkDiskCache_PTR() *QNetworkDiskCache { + return ptr +} + +func (ptr *QNetworkDiskCache) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractNetworkCache_PTR().Pointer() + } + return nil +} + +func (ptr *QNetworkDiskCache) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractNetworkCache_PTR().SetPointer(p) + } +} + +func PointerFromQNetworkDiskCache(ptr QNetworkDiskCache_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkDiskCache_PTR().Pointer() + } + return nil +} + +func NewQNetworkDiskCacheFromPointer(ptr unsafe.Pointer) (n *QNetworkDiskCache) { + n = new(QNetworkDiskCache) + n.SetPointer(ptr) + return +} +func NewQNetworkDiskCache(parent core.QObject_ITF) *QNetworkDiskCache { + tmpValue := NewQNetworkDiskCacheFromPointer(C.QNetworkDiskCache_NewQNetworkDiskCache(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QNetworkDiskCache) CacheDirectory() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkDiskCache_CacheDirectory(ptr.Pointer())) + } + return "" +} + +//export callbackQNetworkDiskCache_CacheSize +func callbackQNetworkDiskCache_CacheSize(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "cacheSize"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQNetworkDiskCacheFromPointer(ptr).CacheSizeDefault()) +} + +func (ptr *QNetworkDiskCache) ConnectCacheSize(f func() int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "cacheSize"); signal != nil { + f := func() int64 { + (*(*func() int64)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "cacheSize", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "cacheSize", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectCacheSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "cacheSize") + } +} + +func (ptr *QNetworkDiskCache) CacheSize() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkDiskCache_CacheSize(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkDiskCache) CacheSizeDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkDiskCache_CacheSizeDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkDiskCache_Clear +func callbackQNetworkDiskCache_Clear(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "clear"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkDiskCacheFromPointer(ptr).ClearDefault() + } +} + +func (ptr *QNetworkDiskCache) ConnectClear(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "clear"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "clear", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "clear", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectClear() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "clear") + } +} + +func (ptr *QNetworkDiskCache) Clear() { + if ptr.Pointer() != nil { + C.QNetworkDiskCache_Clear(ptr.Pointer()) + } +} + +func (ptr *QNetworkDiskCache) ClearDefault() { + if ptr.Pointer() != nil { + C.QNetworkDiskCache_ClearDefault(ptr.Pointer()) + } +} + +//export callbackQNetworkDiskCache_Data +func callbackQNetworkDiskCache_Data(ptr unsafe.Pointer, url unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "data"); signal != nil { + return core.PointerFromQIODevice((*(*func(*core.QUrl) *core.QIODevice)(signal))(core.NewQUrlFromPointer(url))) + } + + return core.PointerFromQIODevice(NewQNetworkDiskCacheFromPointer(ptr).DataDefault(core.NewQUrlFromPointer(url))) +} + +func (ptr *QNetworkDiskCache) ConnectData(f func(url *core.QUrl) *core.QIODevice) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "data"); signal != nil { + f := func(url *core.QUrl) *core.QIODevice { + (*(*func(*core.QUrl) *core.QIODevice)(signal))(url) + return f(url) + } + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "data", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "data") + } +} + +func (ptr *QNetworkDiskCache) Data(url core.QUrl_ITF) *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QNetworkDiskCache_Data(ptr.Pointer(), core.PointerFromQUrl(url))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkDiskCache) DataDefault(url core.QUrl_ITF) *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QNetworkDiskCache_DataDefault(ptr.Pointer(), core.PointerFromQUrl(url))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQNetworkDiskCache_Expire +func callbackQNetworkDiskCache_Expire(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "expire"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQNetworkDiskCacheFromPointer(ptr).ExpireDefault()) +} + +func (ptr *QNetworkDiskCache) ConnectExpire(f func() int64) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "expire"); signal != nil { + f := func() int64 { + (*(*func() int64)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "expire", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "expire", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectExpire() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "expire") + } +} + +func (ptr *QNetworkDiskCache) Expire() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkDiskCache_Expire(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkDiskCache) ExpireDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkDiskCache_ExpireDefault(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkDiskCache) FileMetaData(fileName string) *QNetworkCacheMetaData { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQNetworkCacheMetaDataFromPointer(C.QNetworkDiskCache_FileMetaData(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData).DestroyQNetworkCacheMetaData) + return tmpValue + } + return nil +} + +//export callbackQNetworkDiskCache_Insert +func callbackQNetworkDiskCache_Insert(ptr unsafe.Pointer, device unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "insert"); signal != nil { + (*(*func(*core.QIODevice))(signal))(core.NewQIODeviceFromPointer(device)) + } else { + NewQNetworkDiskCacheFromPointer(ptr).InsertDefault(core.NewQIODeviceFromPointer(device)) + } +} + +func (ptr *QNetworkDiskCache) ConnectInsert(f func(device *core.QIODevice)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "insert"); signal != nil { + f := func(device *core.QIODevice) { + (*(*func(*core.QIODevice))(signal))(device) + f(device) + } + qt.ConnectSignal(ptr.Pointer(), "insert", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "insert", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectInsert() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "insert") + } +} + +func (ptr *QNetworkDiskCache) Insert(device core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QNetworkDiskCache_Insert(ptr.Pointer(), core.PointerFromQIODevice(device)) + } +} + +func (ptr *QNetworkDiskCache) InsertDefault(device core.QIODevice_ITF) { + if ptr.Pointer() != nil { + C.QNetworkDiskCache_InsertDefault(ptr.Pointer(), core.PointerFromQIODevice(device)) + } +} + +func (ptr *QNetworkDiskCache) MaximumCacheSize() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkDiskCache_MaximumCacheSize(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkDiskCache_MetaData +func callbackQNetworkDiskCache_MetaData(ptr unsafe.Pointer, url unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaData"); signal != nil { + return PointerFromQNetworkCacheMetaData((*(*func(*core.QUrl) *QNetworkCacheMetaData)(signal))(core.NewQUrlFromPointer(url))) + } + + return PointerFromQNetworkCacheMetaData(NewQNetworkDiskCacheFromPointer(ptr).MetaDataDefault(core.NewQUrlFromPointer(url))) +} + +func (ptr *QNetworkDiskCache) ConnectMetaData(f func(url *core.QUrl) *QNetworkCacheMetaData) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "metaData"); signal != nil { + f := func(url *core.QUrl) *QNetworkCacheMetaData { + (*(*func(*core.QUrl) *QNetworkCacheMetaData)(signal))(url) + return f(url) + } + qt.ConnectSignal(ptr.Pointer(), "metaData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "metaData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectMetaData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "metaData") + } +} + +func (ptr *QNetworkDiskCache) MetaData(url core.QUrl_ITF) *QNetworkCacheMetaData { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCacheMetaDataFromPointer(C.QNetworkDiskCache_MetaData(ptr.Pointer(), core.PointerFromQUrl(url))) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData).DestroyQNetworkCacheMetaData) + return tmpValue + } + return nil +} + +func (ptr *QNetworkDiskCache) MetaDataDefault(url core.QUrl_ITF) *QNetworkCacheMetaData { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkCacheMetaDataFromPointer(C.QNetworkDiskCache_MetaDataDefault(ptr.Pointer(), core.PointerFromQUrl(url))) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData).DestroyQNetworkCacheMetaData) + return tmpValue + } + return nil +} + +//export callbackQNetworkDiskCache_Prepare +func callbackQNetworkDiskCache_Prepare(ptr unsafe.Pointer, metaData unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "prepare"); signal != nil { + return core.PointerFromQIODevice((*(*func(*QNetworkCacheMetaData) *core.QIODevice)(signal))(NewQNetworkCacheMetaDataFromPointer(metaData))) + } + + return core.PointerFromQIODevice(NewQNetworkDiskCacheFromPointer(ptr).PrepareDefault(NewQNetworkCacheMetaDataFromPointer(metaData))) +} + +func (ptr *QNetworkDiskCache) ConnectPrepare(f func(metaData *QNetworkCacheMetaData) *core.QIODevice) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "prepare"); signal != nil { + f := func(metaData *QNetworkCacheMetaData) *core.QIODevice { + (*(*func(*QNetworkCacheMetaData) *core.QIODevice)(signal))(metaData) + return f(metaData) + } + qt.ConnectSignal(ptr.Pointer(), "prepare", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "prepare", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectPrepare() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "prepare") + } +} + +func (ptr *QNetworkDiskCache) Prepare(metaData QNetworkCacheMetaData_ITF) *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QNetworkDiskCache_Prepare(ptr.Pointer(), PointerFromQNetworkCacheMetaData(metaData))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkDiskCache) PrepareDefault(metaData QNetworkCacheMetaData_ITF) *core.QIODevice { + if ptr.Pointer() != nil { + tmpValue := core.NewQIODeviceFromPointer(C.QNetworkDiskCache_PrepareDefault(ptr.Pointer(), PointerFromQNetworkCacheMetaData(metaData))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQNetworkDiskCache_Remove +func callbackQNetworkDiskCache_Remove(ptr unsafe.Pointer, url unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "remove"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QUrl) bool)(signal))(core.NewQUrlFromPointer(url))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkDiskCacheFromPointer(ptr).RemoveDefault(core.NewQUrlFromPointer(url))))) +} + +func (ptr *QNetworkDiskCache) ConnectRemove(f func(url *core.QUrl) bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "remove"); signal != nil { + f := func(url *core.QUrl) bool { + (*(*func(*core.QUrl) bool)(signal))(url) + return f(url) + } + qt.ConnectSignal(ptr.Pointer(), "remove", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "remove", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectRemove() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "remove") + } +} + +func (ptr *QNetworkDiskCache) Remove(url core.QUrl_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkDiskCache_Remove(ptr.Pointer(), core.PointerFromQUrl(url))) != 0 + } + return false +} + +func (ptr *QNetworkDiskCache) RemoveDefault(url core.QUrl_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkDiskCache_RemoveDefault(ptr.Pointer(), core.PointerFromQUrl(url))) != 0 + } + return false +} + +func (ptr *QNetworkDiskCache) SetCacheDirectory(cacheDir string) { + if ptr.Pointer() != nil { + var cacheDirC *C.char + if cacheDir != "" { + cacheDirC = C.CString(cacheDir) + defer C.free(unsafe.Pointer(cacheDirC)) + } + C.QNetworkDiskCache_SetCacheDirectory(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: cacheDirC, len: C.longlong(len(cacheDir))}) + } +} + +func (ptr *QNetworkDiskCache) SetMaximumCacheSize(size int64) { + if ptr.Pointer() != nil { + C.QNetworkDiskCache_SetMaximumCacheSize(ptr.Pointer(), C.longlong(size)) + } +} + +//export callbackQNetworkDiskCache_UpdateMetaData +func callbackQNetworkDiskCache_UpdateMetaData(ptr unsafe.Pointer, metaData unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "updateMetaData"); signal != nil { + (*(*func(*QNetworkCacheMetaData))(signal))(NewQNetworkCacheMetaDataFromPointer(metaData)) + } else { + NewQNetworkDiskCacheFromPointer(ptr).UpdateMetaDataDefault(NewQNetworkCacheMetaDataFromPointer(metaData)) + } +} + +func (ptr *QNetworkDiskCache) ConnectUpdateMetaData(f func(metaData *QNetworkCacheMetaData)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateMetaData"); signal != nil { + f := func(metaData *QNetworkCacheMetaData) { + (*(*func(*QNetworkCacheMetaData))(signal))(metaData) + f(metaData) + } + qt.ConnectSignal(ptr.Pointer(), "updateMetaData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateMetaData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectUpdateMetaData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateMetaData") + } +} + +func (ptr *QNetworkDiskCache) UpdateMetaData(metaData QNetworkCacheMetaData_ITF) { + if ptr.Pointer() != nil { + C.QNetworkDiskCache_UpdateMetaData(ptr.Pointer(), PointerFromQNetworkCacheMetaData(metaData)) + } +} + +func (ptr *QNetworkDiskCache) UpdateMetaDataDefault(metaData QNetworkCacheMetaData_ITF) { + if ptr.Pointer() != nil { + C.QNetworkDiskCache_UpdateMetaDataDefault(ptr.Pointer(), PointerFromQNetworkCacheMetaData(metaData)) + } +} + +//export callbackQNetworkDiskCache_DestroyQNetworkDiskCache +func callbackQNetworkDiskCache_DestroyQNetworkDiskCache(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QNetworkDiskCache"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkDiskCacheFromPointer(ptr).DestroyQNetworkDiskCacheDefault() + } +} + +func (ptr *QNetworkDiskCache) ConnectDestroyQNetworkDiskCache(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QNetworkDiskCache"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QNetworkDiskCache", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QNetworkDiskCache", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkDiskCache) DisconnectDestroyQNetworkDiskCache() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QNetworkDiskCache") + } +} + +func (ptr *QNetworkDiskCache) DestroyQNetworkDiskCache() { + if ptr.Pointer() != nil { + C.QNetworkDiskCache_DestroyQNetworkDiskCache(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkDiskCache) DestroyQNetworkDiskCacheDefault() { + if ptr.Pointer() != nil { + C.QNetworkDiskCache_DestroyQNetworkDiskCacheDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QNetworkInterface struct { + ptr unsafe.Pointer +} + +type QNetworkInterface_ITF interface { + QNetworkInterface_PTR() *QNetworkInterface +} + +func (ptr *QNetworkInterface) QNetworkInterface_PTR() *QNetworkInterface { + return ptr +} + +func (ptr *QNetworkInterface) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkInterface) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkInterface(ptr QNetworkInterface_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkInterface_PTR().Pointer() + } + return nil +} + +func NewQNetworkInterfaceFromPointer(ptr unsafe.Pointer) (n *QNetworkInterface) { + n = new(QNetworkInterface) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkInterface__InterfaceType +//QNetworkInterface::InterfaceType +type QNetworkInterface__InterfaceType int64 + +const ( + QNetworkInterface__Loopback QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(1) + QNetworkInterface__Virtual QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(2) + QNetworkInterface__Ethernet QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(3) + QNetworkInterface__Slip QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(4) + QNetworkInterface__CanBus QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(5) + QNetworkInterface__Ppp QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(6) + QNetworkInterface__Fddi QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(7) + QNetworkInterface__Wifi QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(8) + QNetworkInterface__Ieee80211 QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(QNetworkInterface__Wifi) + QNetworkInterface__Phonet QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(9) + QNetworkInterface__Ieee802154 QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(10) + QNetworkInterface__SixLoWPAN QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(11) + QNetworkInterface__Ieee80216 QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(12) + QNetworkInterface__Ieee1394 QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(13) + QNetworkInterface__Unknown QNetworkInterface__InterfaceType = QNetworkInterface__InterfaceType(0) +) + +//go:generate stringer -type=QNetworkInterface__InterfaceFlag +//QNetworkInterface::InterfaceFlag +type QNetworkInterface__InterfaceFlag int64 + +const ( + QNetworkInterface__IsUp QNetworkInterface__InterfaceFlag = QNetworkInterface__InterfaceFlag(0x1) + QNetworkInterface__IsRunning QNetworkInterface__InterfaceFlag = QNetworkInterface__InterfaceFlag(0x2) + QNetworkInterface__CanBroadcast QNetworkInterface__InterfaceFlag = QNetworkInterface__InterfaceFlag(0x4) + QNetworkInterface__IsLoopBack QNetworkInterface__InterfaceFlag = QNetworkInterface__InterfaceFlag(0x8) + QNetworkInterface__IsPointToPoint QNetworkInterface__InterfaceFlag = QNetworkInterface__InterfaceFlag(0x10) + QNetworkInterface__CanMulticast QNetworkInterface__InterfaceFlag = QNetworkInterface__InterfaceFlag(0x20) +) + +func NewQNetworkInterface() *QNetworkInterface { + tmpValue := NewQNetworkInterfaceFromPointer(C.QNetworkInterface_NewQNetworkInterface()) + runtime.SetFinalizer(tmpValue, (*QNetworkInterface).DestroyQNetworkInterface) + return tmpValue +} + +func NewQNetworkInterface2(other QNetworkInterface_ITF) *QNetworkInterface { + tmpValue := NewQNetworkInterfaceFromPointer(C.QNetworkInterface_NewQNetworkInterface2(PointerFromQNetworkInterface(other))) + runtime.SetFinalizer(tmpValue, (*QNetworkInterface).DestroyQNetworkInterface) + return tmpValue +} + +func (ptr *QNetworkInterface) AddressEntries() []*QNetworkAddressEntry { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkAddressEntry { + out := make([]*QNetworkAddressEntry, int(l.len)) + tmpList := NewQNetworkInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__addressEntries_atList(i) + } + return out + }(C.QNetworkInterface_AddressEntries(ptr.Pointer())) + } + return make([]*QNetworkAddressEntry, 0) +} + +func QNetworkInterface_AllAddresses() []*QHostAddress { + return func(l C.struct_QtNetwork_PackedList) []*QHostAddress { + out := make([]*QHostAddress, int(l.len)) + tmpList := NewQNetworkInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__allAddresses_atList(i) + } + return out + }(C.QNetworkInterface_QNetworkInterface_AllAddresses()) +} + +func (ptr *QNetworkInterface) AllAddresses() []*QHostAddress { + return func(l C.struct_QtNetwork_PackedList) []*QHostAddress { + out := make([]*QHostAddress, int(l.len)) + tmpList := NewQNetworkInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__allAddresses_atList(i) + } + return out + }(C.QNetworkInterface_QNetworkInterface_AllAddresses()) +} + +func QNetworkInterface_AllInterfaces() []*QNetworkInterface { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkInterface { + out := make([]*QNetworkInterface, int(l.len)) + tmpList := NewQNetworkInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__allInterfaces_atList(i) + } + return out + }(C.QNetworkInterface_QNetworkInterface_AllInterfaces()) +} + +func (ptr *QNetworkInterface) AllInterfaces() []*QNetworkInterface { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkInterface { + out := make([]*QNetworkInterface, int(l.len)) + tmpList := NewQNetworkInterfaceFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__allInterfaces_atList(i) + } + return out + }(C.QNetworkInterface_QNetworkInterface_AllInterfaces()) +} + +func (ptr *QNetworkInterface) Flags() QNetworkInterface__InterfaceFlag { + if ptr.Pointer() != nil { + return QNetworkInterface__InterfaceFlag(C.QNetworkInterface_Flags(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkInterface) HardwareAddress() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkInterface_HardwareAddress(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkInterface) HumanReadableName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkInterface_HumanReadableName(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkInterface) Index() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkInterface_Index(ptr.Pointer()))) + } + return 0 +} + +func QNetworkInterface_InterfaceFromIndex(index int) *QNetworkInterface { + tmpValue := NewQNetworkInterfaceFromPointer(C.QNetworkInterface_QNetworkInterface_InterfaceFromIndex(C.int(int32(index)))) + runtime.SetFinalizer(tmpValue, (*QNetworkInterface).DestroyQNetworkInterface) + return tmpValue +} + +func (ptr *QNetworkInterface) InterfaceFromIndex(index int) *QNetworkInterface { + tmpValue := NewQNetworkInterfaceFromPointer(C.QNetworkInterface_QNetworkInterface_InterfaceFromIndex(C.int(int32(index)))) + runtime.SetFinalizer(tmpValue, (*QNetworkInterface).DestroyQNetworkInterface) + return tmpValue +} + +func QNetworkInterface_InterfaceFromName(name string) *QNetworkInterface { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQNetworkInterfaceFromPointer(C.QNetworkInterface_QNetworkInterface_InterfaceFromName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QNetworkInterface).DestroyQNetworkInterface) + return tmpValue +} + +func (ptr *QNetworkInterface) InterfaceFromName(name string) *QNetworkInterface { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQNetworkInterfaceFromPointer(C.QNetworkInterface_QNetworkInterface_InterfaceFromName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QNetworkInterface).DestroyQNetworkInterface) + return tmpValue +} + +func QNetworkInterface_InterfaceIndexFromName(name string) int { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QNetworkInterface_QNetworkInterface_InterfaceIndexFromName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}))) +} + +func (ptr *QNetworkInterface) InterfaceIndexFromName(name string) int { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int(int32(C.QNetworkInterface_QNetworkInterface_InterfaceIndexFromName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}))) +} + +func QNetworkInterface_InterfaceNameFromIndex(index int) string { + return cGoUnpackString(C.QNetworkInterface_QNetworkInterface_InterfaceNameFromIndex(C.int(int32(index)))) +} + +func (ptr *QNetworkInterface) InterfaceNameFromIndex(index int) string { + return cGoUnpackString(C.QNetworkInterface_QNetworkInterface_InterfaceNameFromIndex(C.int(int32(index)))) +} + +func (ptr *QNetworkInterface) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkInterface_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkInterface) MaximumTransmissionUnit() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkInterface_MaximumTransmissionUnit(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkInterface) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkInterface_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkInterface) Swap(other QNetworkInterface_ITF) { + if ptr.Pointer() != nil { + C.QNetworkInterface_Swap(ptr.Pointer(), PointerFromQNetworkInterface(other)) + } +} + +func (ptr *QNetworkInterface) Type() QNetworkInterface__InterfaceType { + if ptr.Pointer() != nil { + return QNetworkInterface__InterfaceType(C.QNetworkInterface_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkInterface) DestroyQNetworkInterface() { + if ptr.Pointer() != nil { + C.QNetworkInterface_DestroyQNetworkInterface(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkInterface) __addressEntries_atList(i int) *QNetworkAddressEntry { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkAddressEntryFromPointer(C.QNetworkInterface___addressEntries_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkAddressEntry).DestroyQNetworkAddressEntry) + return tmpValue + } + return nil +} + +func (ptr *QNetworkInterface) __addressEntries_setList(i QNetworkAddressEntry_ITF) { + if ptr.Pointer() != nil { + C.QNetworkInterface___addressEntries_setList(ptr.Pointer(), PointerFromQNetworkAddressEntry(i)) + } +} + +func (ptr *QNetworkInterface) __addressEntries_newList() unsafe.Pointer { + return C.QNetworkInterface___addressEntries_newList(ptr.Pointer()) +} + +func (ptr *QNetworkInterface) __allAddresses_atList(i int) *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QNetworkInterface___allAddresses_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QNetworkInterface) __allAddresses_setList(i QHostAddress_ITF) { + if ptr.Pointer() != nil { + C.QNetworkInterface___allAddresses_setList(ptr.Pointer(), PointerFromQHostAddress(i)) + } +} + +func (ptr *QNetworkInterface) __allAddresses_newList() unsafe.Pointer { + return C.QNetworkInterface___allAddresses_newList(ptr.Pointer()) +} + +func (ptr *QNetworkInterface) __allInterfaces_atList(i int) *QNetworkInterface { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkInterfaceFromPointer(C.QNetworkInterface___allInterfaces_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkInterface).DestroyQNetworkInterface) + return tmpValue + } + return nil +} + +func (ptr *QNetworkInterface) __allInterfaces_setList(i QNetworkInterface_ITF) { + if ptr.Pointer() != nil { + C.QNetworkInterface___allInterfaces_setList(ptr.Pointer(), PointerFromQNetworkInterface(i)) + } +} + +func (ptr *QNetworkInterface) __allInterfaces_newList() unsafe.Pointer { + return C.QNetworkInterface___allInterfaces_newList(ptr.Pointer()) +} + +type QNetworkProxy struct { + ptr unsafe.Pointer +} + +type QNetworkProxy_ITF interface { + QNetworkProxy_PTR() *QNetworkProxy +} + +func (ptr *QNetworkProxy) QNetworkProxy_PTR() *QNetworkProxy { + return ptr +} + +func (ptr *QNetworkProxy) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkProxy) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkProxy(ptr QNetworkProxy_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkProxy_PTR().Pointer() + } + return nil +} + +func NewQNetworkProxyFromPointer(ptr unsafe.Pointer) (n *QNetworkProxy) { + n = new(QNetworkProxy) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkProxy__ProxyType +//QNetworkProxy::ProxyType +type QNetworkProxy__ProxyType int64 + +const ( + QNetworkProxy__DefaultProxy QNetworkProxy__ProxyType = QNetworkProxy__ProxyType(0) + QNetworkProxy__Socks5Proxy QNetworkProxy__ProxyType = QNetworkProxy__ProxyType(1) + QNetworkProxy__NoProxy QNetworkProxy__ProxyType = QNetworkProxy__ProxyType(2) + QNetworkProxy__HttpProxy QNetworkProxy__ProxyType = QNetworkProxy__ProxyType(3) + QNetworkProxy__HttpCachingProxy QNetworkProxy__ProxyType = QNetworkProxy__ProxyType(4) + QNetworkProxy__FtpCachingProxy QNetworkProxy__ProxyType = QNetworkProxy__ProxyType(5) +) + +//go:generate stringer -type=QNetworkProxy__Capability +//QNetworkProxy::Capability +type QNetworkProxy__Capability int64 + +const ( + QNetworkProxy__TunnelingCapability QNetworkProxy__Capability = QNetworkProxy__Capability(0x0001) + QNetworkProxy__ListeningCapability QNetworkProxy__Capability = QNetworkProxy__Capability(0x0002) + QNetworkProxy__UdpTunnelingCapability QNetworkProxy__Capability = QNetworkProxy__Capability(0x0004) + QNetworkProxy__CachingCapability QNetworkProxy__Capability = QNetworkProxy__Capability(0x0008) + QNetworkProxy__HostNameLookupCapability QNetworkProxy__Capability = QNetworkProxy__Capability(0x0010) + QNetworkProxy__SctpTunnelingCapability QNetworkProxy__Capability = QNetworkProxy__Capability(0x00020) + QNetworkProxy__SctpListeningCapability QNetworkProxy__Capability = QNetworkProxy__Capability(0x00040) +) + +func NewQNetworkProxy() *QNetworkProxy { + tmpValue := NewQNetworkProxyFromPointer(C.QNetworkProxy_NewQNetworkProxy()) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue +} + +func NewQNetworkProxy2(ty QNetworkProxy__ProxyType, hostName string, port uint16, user string, password string) *QNetworkProxy { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + var userC *C.char + if user != "" { + userC = C.CString(user) + defer C.free(unsafe.Pointer(userC)) + } + var passwordC *C.char + if password != "" { + passwordC = C.CString(password) + defer C.free(unsafe.Pointer(passwordC)) + } + tmpValue := NewQNetworkProxyFromPointer(C.QNetworkProxy_NewQNetworkProxy2(C.longlong(ty), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}, C.ushort(port), C.struct_QtNetwork_PackedString{data: userC, len: C.longlong(len(user))}, C.struct_QtNetwork_PackedString{data: passwordC, len: C.longlong(len(password))})) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue +} + +func NewQNetworkProxy3(other QNetworkProxy_ITF) *QNetworkProxy { + tmpValue := NewQNetworkProxyFromPointer(C.QNetworkProxy_NewQNetworkProxy3(PointerFromQNetworkProxy(other))) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue +} + +func QNetworkProxy_ApplicationProxy() *QNetworkProxy { + tmpValue := NewQNetworkProxyFromPointer(C.QNetworkProxy_QNetworkProxy_ApplicationProxy()) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue +} + +func (ptr *QNetworkProxy) ApplicationProxy() *QNetworkProxy { + tmpValue := NewQNetworkProxyFromPointer(C.QNetworkProxy_QNetworkProxy_ApplicationProxy()) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue +} + +func (ptr *QNetworkProxy) Capabilities() QNetworkProxy__Capability { + if ptr.Pointer() != nil { + return QNetworkProxy__Capability(C.QNetworkProxy_Capabilities(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkProxy) HasRawHeader(headerName core.QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkProxy_HasRawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName))) != 0 + } + return false +} + +func (ptr *QNetworkProxy) Header(header QNetworkRequest__KnownHeaders) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QNetworkProxy_Header(ptr.Pointer(), C.longlong(header))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QNetworkProxy) HostName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkProxy_HostName(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkProxy) IsCachingProxy() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkProxy_IsCachingProxy(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkProxy) IsTransparentProxy() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkProxy_IsTransparentProxy(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkProxy) Password() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkProxy_Password(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkProxy) Port() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QNetworkProxy_Port(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkProxy) QNetworkCacheMetaData_RawHeader(headerName core.QByteArray_ITF) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkProxy_RawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkProxy) RawHeaderList() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQNetworkProxyFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__rawHeaderList_atList(i) + } + return out + }(C.QNetworkProxy_RawHeaderList(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func QNetworkProxy_SetApplicationProxy(networkProxy QNetworkProxy_ITF) { + C.QNetworkProxy_QNetworkProxy_SetApplicationProxy(PointerFromQNetworkProxy(networkProxy)) +} + +func (ptr *QNetworkProxy) SetApplicationProxy(networkProxy QNetworkProxy_ITF) { + C.QNetworkProxy_QNetworkProxy_SetApplicationProxy(PointerFromQNetworkProxy(networkProxy)) +} + +func (ptr *QNetworkProxy) SetCapabilities(capabilities QNetworkProxy__Capability) { + if ptr.Pointer() != nil { + C.QNetworkProxy_SetCapabilities(ptr.Pointer(), C.longlong(capabilities)) + } +} + +func (ptr *QNetworkProxy) SetHeader(header QNetworkRequest__KnownHeaders, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QNetworkProxy_SetHeader(ptr.Pointer(), C.longlong(header), core.PointerFromQVariant(value)) + } +} + +func (ptr *QNetworkProxy) SetHostName(hostName string) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + C.QNetworkProxy_SetHostName(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}) + } +} + +func (ptr *QNetworkProxy) SetPassword(password string) { + if ptr.Pointer() != nil { + var passwordC *C.char + if password != "" { + passwordC = C.CString(password) + defer C.free(unsafe.Pointer(passwordC)) + } + C.QNetworkProxy_SetPassword(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: passwordC, len: C.longlong(len(password))}) + } +} + +func (ptr *QNetworkProxy) SetPort(port uint16) { + if ptr.Pointer() != nil { + C.QNetworkProxy_SetPort(ptr.Pointer(), C.ushort(port)) + } +} + +func (ptr *QNetworkProxy) SetRawHeader(headerName core.QByteArray_ITF, headerValue core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkProxy_SetRawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName), core.PointerFromQByteArray(headerValue)) + } +} + +func (ptr *QNetworkProxy) SetType(ty QNetworkProxy__ProxyType) { + if ptr.Pointer() != nil { + C.QNetworkProxy_SetType(ptr.Pointer(), C.longlong(ty)) + } +} + +func (ptr *QNetworkProxy) SetUser(user string) { + if ptr.Pointer() != nil { + var userC *C.char + if user != "" { + userC = C.CString(user) + defer C.free(unsafe.Pointer(userC)) + } + C.QNetworkProxy_SetUser(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: userC, len: C.longlong(len(user))}) + } +} + +func (ptr *QNetworkProxy) Swap(other QNetworkProxy_ITF) { + if ptr.Pointer() != nil { + C.QNetworkProxy_Swap(ptr.Pointer(), PointerFromQNetworkProxy(other)) + } +} + +func (ptr *QNetworkProxy) Type() QNetworkProxy__ProxyType { + if ptr.Pointer() != nil { + return QNetworkProxy__ProxyType(C.QNetworkProxy_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkProxy) User() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkProxy_User(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkProxy) DestroyQNetworkProxy() { + if ptr.Pointer() != nil { + C.QNetworkProxy_DestroyQNetworkProxy(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkProxy) __rawHeaderList_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkProxy___rawHeaderList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkProxy) __rawHeaderList_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkProxy___rawHeaderList_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QNetworkProxy) __rawHeaderList_newList() unsafe.Pointer { + return C.QNetworkProxy___rawHeaderList_newList(ptr.Pointer()) +} + +type QNetworkProxyFactory struct { + ptr unsafe.Pointer +} + +type QNetworkProxyFactory_ITF interface { + QNetworkProxyFactory_PTR() *QNetworkProxyFactory +} + +func (ptr *QNetworkProxyFactory) QNetworkProxyFactory_PTR() *QNetworkProxyFactory { + return ptr +} + +func (ptr *QNetworkProxyFactory) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkProxyFactory) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkProxyFactory(ptr QNetworkProxyFactory_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkProxyFactory_PTR().Pointer() + } + return nil +} + +func NewQNetworkProxyFactoryFromPointer(ptr unsafe.Pointer) (n *QNetworkProxyFactory) { + n = new(QNetworkProxyFactory) + n.SetPointer(ptr) + return +} +func NewQNetworkProxyFactory() *QNetworkProxyFactory { + return NewQNetworkProxyFactoryFromPointer(C.QNetworkProxyFactory_NewQNetworkProxyFactory()) +} + +func QNetworkProxyFactory_ProxyForQuery(query QNetworkProxyQuery_ITF) []*QNetworkProxy { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkProxy { + out := make([]*QNetworkProxy, int(l.len)) + tmpList := NewQNetworkProxyFactoryFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__proxyForQuery_atList(i) + } + return out + }(C.QNetworkProxyFactory_QNetworkProxyFactory_ProxyForQuery(PointerFromQNetworkProxyQuery(query))) +} + +func (ptr *QNetworkProxyFactory) ProxyForQuery(query QNetworkProxyQuery_ITF) []*QNetworkProxy { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkProxy { + out := make([]*QNetworkProxy, int(l.len)) + tmpList := NewQNetworkProxyFactoryFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__proxyForQuery_atList(i) + } + return out + }(C.QNetworkProxyFactory_QNetworkProxyFactory_ProxyForQuery(PointerFromQNetworkProxyQuery(query))) +} + +//export callbackQNetworkProxyFactory_QueryProxy +func callbackQNetworkProxyFactory_QueryProxy(ptr unsafe.Pointer, query unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "queryProxy"); signal != nil { + return func() unsafe.Pointer { + tmpList := NewQNetworkProxyFactoryFromPointer(NewQNetworkProxyFactoryFromPointer(nil).__queryProxy_newList()) + for _, v := range (*(*func(*QNetworkProxyQuery) []*QNetworkProxy)(signal))(NewQNetworkProxyQueryFromPointer(query)) { + tmpList.__queryProxy_setList(v) + } + return tmpList.Pointer() + }() + } + + return func() unsafe.Pointer { + tmpList := NewQNetworkProxyFactoryFromPointer(NewQNetworkProxyFactoryFromPointer(nil).__queryProxy_newList()) + for _, v := range make([]*QNetworkProxy, 0) { + tmpList.__queryProxy_setList(v) + } + return tmpList.Pointer() + }() +} + +func (ptr *QNetworkProxyFactory) ConnectQueryProxy(f func(query *QNetworkProxyQuery) []*QNetworkProxy) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "queryProxy"); signal != nil { + f := func(query *QNetworkProxyQuery) []*QNetworkProxy { + (*(*func(*QNetworkProxyQuery) []*QNetworkProxy)(signal))(query) + return f(query) + } + qt.ConnectSignal(ptr.Pointer(), "queryProxy", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "queryProxy", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkProxyFactory) DisconnectQueryProxy() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "queryProxy") + } +} + +func (ptr *QNetworkProxyFactory) QueryProxy(query QNetworkProxyQuery_ITF) []*QNetworkProxy { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkProxy { + out := make([]*QNetworkProxy, int(l.len)) + tmpList := NewQNetworkProxyFactoryFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__queryProxy_atList(i) + } + return out + }(C.QNetworkProxyFactory_QueryProxy(ptr.Pointer(), PointerFromQNetworkProxyQuery(query))) + } + return make([]*QNetworkProxy, 0) +} + +func QNetworkProxyFactory_SetApplicationProxyFactory(factory QNetworkProxyFactory_ITF) { + C.QNetworkProxyFactory_QNetworkProxyFactory_SetApplicationProxyFactory(PointerFromQNetworkProxyFactory(factory)) +} + +func (ptr *QNetworkProxyFactory) SetApplicationProxyFactory(factory QNetworkProxyFactory_ITF) { + C.QNetworkProxyFactory_QNetworkProxyFactory_SetApplicationProxyFactory(PointerFromQNetworkProxyFactory(factory)) +} + +func QNetworkProxyFactory_SetUseSystemConfiguration(enable bool) { + C.QNetworkProxyFactory_QNetworkProxyFactory_SetUseSystemConfiguration(C.char(int8(qt.GoBoolToInt(enable)))) +} + +func (ptr *QNetworkProxyFactory) SetUseSystemConfiguration(enable bool) { + C.QNetworkProxyFactory_QNetworkProxyFactory_SetUseSystemConfiguration(C.char(int8(qt.GoBoolToInt(enable)))) +} + +func QNetworkProxyFactory_SystemProxyForQuery(query QNetworkProxyQuery_ITF) []*QNetworkProxy { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkProxy { + out := make([]*QNetworkProxy, int(l.len)) + tmpList := NewQNetworkProxyFactoryFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__systemProxyForQuery_atList(i) + } + return out + }(C.QNetworkProxyFactory_QNetworkProxyFactory_SystemProxyForQuery(PointerFromQNetworkProxyQuery(query))) +} + +func (ptr *QNetworkProxyFactory) SystemProxyForQuery(query QNetworkProxyQuery_ITF) []*QNetworkProxy { + return func(l C.struct_QtNetwork_PackedList) []*QNetworkProxy { + out := make([]*QNetworkProxy, int(l.len)) + tmpList := NewQNetworkProxyFactoryFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__systemProxyForQuery_atList(i) + } + return out + }(C.QNetworkProxyFactory_QNetworkProxyFactory_SystemProxyForQuery(PointerFromQNetworkProxyQuery(query))) +} + +func QNetworkProxyFactory_UsesSystemConfiguration() bool { + return int8(C.QNetworkProxyFactory_QNetworkProxyFactory_UsesSystemConfiguration()) != 0 +} + +func (ptr *QNetworkProxyFactory) UsesSystemConfiguration() bool { + return int8(C.QNetworkProxyFactory_QNetworkProxyFactory_UsesSystemConfiguration()) != 0 +} + +//export callbackQNetworkProxyFactory_DestroyQNetworkProxyFactory +func callbackQNetworkProxyFactory_DestroyQNetworkProxyFactory(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QNetworkProxyFactory"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkProxyFactoryFromPointer(ptr).DestroyQNetworkProxyFactoryDefault() + } +} + +func (ptr *QNetworkProxyFactory) ConnectDestroyQNetworkProxyFactory(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QNetworkProxyFactory"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QNetworkProxyFactory", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QNetworkProxyFactory", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkProxyFactory) DisconnectDestroyQNetworkProxyFactory() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QNetworkProxyFactory") + } +} + +func (ptr *QNetworkProxyFactory) DestroyQNetworkProxyFactory() { + if ptr.Pointer() != nil { + C.QNetworkProxyFactory_DestroyQNetworkProxyFactory(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkProxyFactory) DestroyQNetworkProxyFactoryDefault() { + if ptr.Pointer() != nil { + C.QNetworkProxyFactory_DestroyQNetworkProxyFactoryDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkProxyFactory) __proxyForQuery_atList(i int) *QNetworkProxy { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkProxyFromPointer(C.QNetworkProxyFactory___proxyForQuery_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue + } + return nil +} + +func (ptr *QNetworkProxyFactory) __proxyForQuery_setList(i QNetworkProxy_ITF) { + if ptr.Pointer() != nil { + C.QNetworkProxyFactory___proxyForQuery_setList(ptr.Pointer(), PointerFromQNetworkProxy(i)) + } +} + +func (ptr *QNetworkProxyFactory) __proxyForQuery_newList() unsafe.Pointer { + return C.QNetworkProxyFactory___proxyForQuery_newList(ptr.Pointer()) +} + +func (ptr *QNetworkProxyFactory) __queryProxy_atList(i int) *QNetworkProxy { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkProxyFromPointer(C.QNetworkProxyFactory___queryProxy_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue + } + return nil +} + +func (ptr *QNetworkProxyFactory) __queryProxy_setList(i QNetworkProxy_ITF) { + if ptr.Pointer() != nil { + C.QNetworkProxyFactory___queryProxy_setList(ptr.Pointer(), PointerFromQNetworkProxy(i)) + } +} + +func (ptr *QNetworkProxyFactory) __queryProxy_newList() unsafe.Pointer { + return C.QNetworkProxyFactory___queryProxy_newList(ptr.Pointer()) +} + +func (ptr *QNetworkProxyFactory) __systemProxyForQuery_atList(i int) *QNetworkProxy { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkProxyFromPointer(C.QNetworkProxyFactory___systemProxyForQuery_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue + } + return nil +} + +func (ptr *QNetworkProxyFactory) __systemProxyForQuery_setList(i QNetworkProxy_ITF) { + if ptr.Pointer() != nil { + C.QNetworkProxyFactory___systemProxyForQuery_setList(ptr.Pointer(), PointerFromQNetworkProxy(i)) + } +} + +func (ptr *QNetworkProxyFactory) __systemProxyForQuery_newList() unsafe.Pointer { + return C.QNetworkProxyFactory___systemProxyForQuery_newList(ptr.Pointer()) +} + +type QNetworkProxyQuery struct { + ptr unsafe.Pointer +} + +type QNetworkProxyQuery_ITF interface { + QNetworkProxyQuery_PTR() *QNetworkProxyQuery +} + +func (ptr *QNetworkProxyQuery) QNetworkProxyQuery_PTR() *QNetworkProxyQuery { + return ptr +} + +func (ptr *QNetworkProxyQuery) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkProxyQuery) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkProxyQuery(ptr QNetworkProxyQuery_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkProxyQuery_PTR().Pointer() + } + return nil +} + +func NewQNetworkProxyQueryFromPointer(ptr unsafe.Pointer) (n *QNetworkProxyQuery) { + n = new(QNetworkProxyQuery) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkProxyQuery__QueryType +//QNetworkProxyQuery::QueryType +type QNetworkProxyQuery__QueryType int64 + +const ( + QNetworkProxyQuery__TcpSocket QNetworkProxyQuery__QueryType = QNetworkProxyQuery__QueryType(0) + QNetworkProxyQuery__UdpSocket QNetworkProxyQuery__QueryType = QNetworkProxyQuery__QueryType(1) + QNetworkProxyQuery__SctpSocket QNetworkProxyQuery__QueryType = QNetworkProxyQuery__QueryType(2) + QNetworkProxyQuery__TcpServer QNetworkProxyQuery__QueryType = QNetworkProxyQuery__QueryType(100) + QNetworkProxyQuery__UrlRequest QNetworkProxyQuery__QueryType = QNetworkProxyQuery__QueryType(101) + QNetworkProxyQuery__SctpServer QNetworkProxyQuery__QueryType = QNetworkProxyQuery__QueryType(102) +) + +func NewQNetworkProxyQuery() *QNetworkProxyQuery { + tmpValue := NewQNetworkProxyQueryFromPointer(C.QNetworkProxyQuery_NewQNetworkProxyQuery()) + runtime.SetFinalizer(tmpValue, (*QNetworkProxyQuery).DestroyQNetworkProxyQuery) + return tmpValue +} + +func NewQNetworkProxyQuery2(requestUrl core.QUrl_ITF, queryType QNetworkProxyQuery__QueryType) *QNetworkProxyQuery { + tmpValue := NewQNetworkProxyQueryFromPointer(C.QNetworkProxyQuery_NewQNetworkProxyQuery2(core.PointerFromQUrl(requestUrl), C.longlong(queryType))) + runtime.SetFinalizer(tmpValue, (*QNetworkProxyQuery).DestroyQNetworkProxyQuery) + return tmpValue +} + +func NewQNetworkProxyQuery3(hostname string, port int, protocolTag string, queryType QNetworkProxyQuery__QueryType) *QNetworkProxyQuery { + var hostnameC *C.char + if hostname != "" { + hostnameC = C.CString(hostname) + defer C.free(unsafe.Pointer(hostnameC)) + } + var protocolTagC *C.char + if protocolTag != "" { + protocolTagC = C.CString(protocolTag) + defer C.free(unsafe.Pointer(protocolTagC)) + } + tmpValue := NewQNetworkProxyQueryFromPointer(C.QNetworkProxyQuery_NewQNetworkProxyQuery3(C.struct_QtNetwork_PackedString{data: hostnameC, len: C.longlong(len(hostname))}, C.int(int32(port)), C.struct_QtNetwork_PackedString{data: protocolTagC, len: C.longlong(len(protocolTag))}, C.longlong(queryType))) + runtime.SetFinalizer(tmpValue, (*QNetworkProxyQuery).DestroyQNetworkProxyQuery) + return tmpValue +} + +func NewQNetworkProxyQuery4(bindPort uint16, protocolTag string, queryType QNetworkProxyQuery__QueryType) *QNetworkProxyQuery { + var protocolTagC *C.char + if protocolTag != "" { + protocolTagC = C.CString(protocolTag) + defer C.free(unsafe.Pointer(protocolTagC)) + } + tmpValue := NewQNetworkProxyQueryFromPointer(C.QNetworkProxyQuery_NewQNetworkProxyQuery4(C.ushort(bindPort), C.struct_QtNetwork_PackedString{data: protocolTagC, len: C.longlong(len(protocolTag))}, C.longlong(queryType))) + runtime.SetFinalizer(tmpValue, (*QNetworkProxyQuery).DestroyQNetworkProxyQuery) + return tmpValue +} + +func NewQNetworkProxyQuery8(other QNetworkProxyQuery_ITF) *QNetworkProxyQuery { + tmpValue := NewQNetworkProxyQueryFromPointer(C.QNetworkProxyQuery_NewQNetworkProxyQuery8(PointerFromQNetworkProxyQuery(other))) + runtime.SetFinalizer(tmpValue, (*QNetworkProxyQuery).DestroyQNetworkProxyQuery) + return tmpValue +} + +func (ptr *QNetworkProxyQuery) LocalPort() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkProxyQuery_LocalPort(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkProxyQuery) PeerHostName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkProxyQuery_PeerHostName(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkProxyQuery) PeerPort() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkProxyQuery_PeerPort(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkProxyQuery) ProtocolTag() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkProxyQuery_ProtocolTag(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkProxyQuery) QueryType() QNetworkProxyQuery__QueryType { + if ptr.Pointer() != nil { + return QNetworkProxyQuery__QueryType(C.QNetworkProxyQuery_QueryType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkProxyQuery) SetLocalPort(port int) { + if ptr.Pointer() != nil { + C.QNetworkProxyQuery_SetLocalPort(ptr.Pointer(), C.int(int32(port))) + } +} + +func (ptr *QNetworkProxyQuery) SetPeerHostName(hostname string) { + if ptr.Pointer() != nil { + var hostnameC *C.char + if hostname != "" { + hostnameC = C.CString(hostname) + defer C.free(unsafe.Pointer(hostnameC)) + } + C.QNetworkProxyQuery_SetPeerHostName(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostnameC, len: C.longlong(len(hostname))}) + } +} + +func (ptr *QNetworkProxyQuery) SetPeerPort(port int) { + if ptr.Pointer() != nil { + C.QNetworkProxyQuery_SetPeerPort(ptr.Pointer(), C.int(int32(port))) + } +} + +func (ptr *QNetworkProxyQuery) SetProtocolTag(protocolTag string) { + if ptr.Pointer() != nil { + var protocolTagC *C.char + if protocolTag != "" { + protocolTagC = C.CString(protocolTag) + defer C.free(unsafe.Pointer(protocolTagC)) + } + C.QNetworkProxyQuery_SetProtocolTag(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: protocolTagC, len: C.longlong(len(protocolTag))}) + } +} + +func (ptr *QNetworkProxyQuery) SetQueryType(ty QNetworkProxyQuery__QueryType) { + if ptr.Pointer() != nil { + C.QNetworkProxyQuery_SetQueryType(ptr.Pointer(), C.longlong(ty)) + } +} + +func (ptr *QNetworkProxyQuery) SetUrl(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QNetworkProxyQuery_SetUrl(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QNetworkProxyQuery) Swap(other QNetworkProxyQuery_ITF) { + if ptr.Pointer() != nil { + C.QNetworkProxyQuery_Swap(ptr.Pointer(), PointerFromQNetworkProxyQuery(other)) + } +} + +func (ptr *QNetworkProxyQuery) Url() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QNetworkProxyQuery_Url(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QNetworkProxyQuery) DestroyQNetworkProxyQuery() { + if ptr.Pointer() != nil { + C.QNetworkProxyQuery_DestroyQNetworkProxyQuery(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QNetworkReply struct { + core.QIODevice +} + +type QNetworkReply_ITF interface { + core.QIODevice_ITF + QNetworkReply_PTR() *QNetworkReply +} + +func (ptr *QNetworkReply) QNetworkReply_PTR() *QNetworkReply { + return ptr +} + +func (ptr *QNetworkReply) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QIODevice_PTR().Pointer() + } + return nil +} + +func (ptr *QNetworkReply) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QIODevice_PTR().SetPointer(p) + } +} + +func PointerFromQNetworkReply(ptr QNetworkReply_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkReply_PTR().Pointer() + } + return nil +} + +func NewQNetworkReplyFromPointer(ptr unsafe.Pointer) (n *QNetworkReply) { + n = new(QNetworkReply) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkReply__NetworkError +//QNetworkReply::NetworkError +type QNetworkReply__NetworkError int64 + +const ( + QNetworkReply__NoError QNetworkReply__NetworkError = QNetworkReply__NetworkError(0) + QNetworkReply__ConnectionRefusedError QNetworkReply__NetworkError = QNetworkReply__NetworkError(1) + QNetworkReply__RemoteHostClosedError QNetworkReply__NetworkError = QNetworkReply__NetworkError(2) + QNetworkReply__HostNotFoundError QNetworkReply__NetworkError = QNetworkReply__NetworkError(3) + QNetworkReply__TimeoutError QNetworkReply__NetworkError = QNetworkReply__NetworkError(4) + QNetworkReply__OperationCanceledError QNetworkReply__NetworkError = QNetworkReply__NetworkError(5) + QNetworkReply__SslHandshakeFailedError QNetworkReply__NetworkError = QNetworkReply__NetworkError(6) + QNetworkReply__TemporaryNetworkFailureError QNetworkReply__NetworkError = QNetworkReply__NetworkError(7) + QNetworkReply__NetworkSessionFailedError QNetworkReply__NetworkError = QNetworkReply__NetworkError(8) + QNetworkReply__BackgroundRequestNotAllowedError QNetworkReply__NetworkError = QNetworkReply__NetworkError(9) + QNetworkReply__TooManyRedirectsError QNetworkReply__NetworkError = QNetworkReply__NetworkError(10) + QNetworkReply__InsecureRedirectError QNetworkReply__NetworkError = QNetworkReply__NetworkError(11) + QNetworkReply__UnknownNetworkError QNetworkReply__NetworkError = QNetworkReply__NetworkError(99) + QNetworkReply__ProxyConnectionRefusedError QNetworkReply__NetworkError = QNetworkReply__NetworkError(101) + QNetworkReply__ProxyConnectionClosedError QNetworkReply__NetworkError = QNetworkReply__NetworkError(102) + QNetworkReply__ProxyNotFoundError QNetworkReply__NetworkError = QNetworkReply__NetworkError(103) + QNetworkReply__ProxyTimeoutError QNetworkReply__NetworkError = QNetworkReply__NetworkError(104) + QNetworkReply__ProxyAuthenticationRequiredError QNetworkReply__NetworkError = QNetworkReply__NetworkError(105) + QNetworkReply__UnknownProxyError QNetworkReply__NetworkError = QNetworkReply__NetworkError(199) + QNetworkReply__ContentAccessDenied QNetworkReply__NetworkError = QNetworkReply__NetworkError(201) + QNetworkReply__ContentOperationNotPermittedError QNetworkReply__NetworkError = QNetworkReply__NetworkError(202) + QNetworkReply__ContentNotFoundError QNetworkReply__NetworkError = QNetworkReply__NetworkError(203) + QNetworkReply__AuthenticationRequiredError QNetworkReply__NetworkError = QNetworkReply__NetworkError(204) + QNetworkReply__ContentReSendError QNetworkReply__NetworkError = QNetworkReply__NetworkError(205) + QNetworkReply__ContentConflictError QNetworkReply__NetworkError = QNetworkReply__NetworkError(206) + QNetworkReply__ContentGoneError QNetworkReply__NetworkError = QNetworkReply__NetworkError(207) + QNetworkReply__UnknownContentError QNetworkReply__NetworkError = QNetworkReply__NetworkError(299) + QNetworkReply__ProtocolUnknownError QNetworkReply__NetworkError = QNetworkReply__NetworkError(301) + QNetworkReply__ProtocolInvalidOperationError QNetworkReply__NetworkError = QNetworkReply__NetworkError(302) + QNetworkReply__ProtocolFailure QNetworkReply__NetworkError = QNetworkReply__NetworkError(399) + QNetworkReply__InternalServerError QNetworkReply__NetworkError = QNetworkReply__NetworkError(401) + QNetworkReply__OperationNotImplementedError QNetworkReply__NetworkError = QNetworkReply__NetworkError(402) + QNetworkReply__ServiceUnavailableError QNetworkReply__NetworkError = QNetworkReply__NetworkError(403) + QNetworkReply__UnknownServerError QNetworkReply__NetworkError = QNetworkReply__NetworkError(499) +) + +func NewQNetworkReply(parent core.QObject_ITF) *QNetworkReply { + tmpValue := NewQNetworkReplyFromPointer(C.QNetworkReply_NewQNetworkReply(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQNetworkReply_Abort +func callbackQNetworkReply_Abort(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "abort"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QNetworkReply) ConnectAbort(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "abort"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "abort", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "abort", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectAbort() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "abort") + } +} + +func (ptr *QNetworkReply) Abort() { + if ptr.Pointer() != nil { + C.QNetworkReply_Abort(ptr.Pointer()) + } +} + +func (ptr *QNetworkReply) Attribute(code QNetworkRequest__Attribute) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QNetworkReply_Attribute(ptr.Pointer(), C.longlong(code))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQNetworkReply_Close +func callbackQNetworkReply_Close(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "close"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkReplyFromPointer(ptr).CloseDefault() + } +} + +func (ptr *QNetworkReply) CloseDefault() { + if ptr.Pointer() != nil { + C.QNetworkReply_CloseDefault(ptr.Pointer()) + } +} + +//export callbackQNetworkReply_DownloadProgress +func callbackQNetworkReply_DownloadProgress(ptr unsafe.Pointer, bytesReceived C.longlong, bytesTotal C.longlong) { + if signal := qt.GetSignal(ptr, "downloadProgress"); signal != nil { + (*(*func(int64, int64))(signal))(int64(bytesReceived), int64(bytesTotal)) + } + +} + +func (ptr *QNetworkReply) ConnectDownloadProgress(f func(bytesReceived int64, bytesTotal int64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "downloadProgress") { + C.QNetworkReply_ConnectDownloadProgress(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "downloadProgress"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "downloadProgress"); signal != nil { + f := func(bytesReceived int64, bytesTotal int64) { + (*(*func(int64, int64))(signal))(bytesReceived, bytesTotal) + f(bytesReceived, bytesTotal) + } + qt.ConnectSignal(ptr.Pointer(), "downloadProgress", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "downloadProgress", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectDownloadProgress() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectDownloadProgress(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "downloadProgress") + } +} + +func (ptr *QNetworkReply) DownloadProgress(bytesReceived int64, bytesTotal int64) { + if ptr.Pointer() != nil { + C.QNetworkReply_DownloadProgress(ptr.Pointer(), C.longlong(bytesReceived), C.longlong(bytesTotal)) + } +} + +//export callbackQNetworkReply_Encrypted +func callbackQNetworkReply_Encrypted(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "encrypted"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QNetworkReply) ConnectEncrypted(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "encrypted") { + C.QNetworkReply_ConnectEncrypted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "encrypted"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "encrypted"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "encrypted", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "encrypted", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectEncrypted() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectEncrypted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "encrypted") + } +} + +func (ptr *QNetworkReply) Encrypted() { + if ptr.Pointer() != nil { + C.QNetworkReply_Encrypted(ptr.Pointer()) + } +} + +func (ptr *QNetworkReply) Error() QNetworkReply__NetworkError { + if ptr.Pointer() != nil { + return QNetworkReply__NetworkError(C.QNetworkReply_Error(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkReply_Error2 +func callbackQNetworkReply_Error2(ptr unsafe.Pointer, code C.longlong) { + if signal := qt.GetSignal(ptr, "error2"); signal != nil { + (*(*func(QNetworkReply__NetworkError))(signal))(QNetworkReply__NetworkError(code)) + } + +} + +func (ptr *QNetworkReply) ConnectError2(f func(code QNetworkReply__NetworkError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "error2") { + C.QNetworkReply_ConnectError2(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "error"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "error2"); signal != nil { + f := func(code QNetworkReply__NetworkError) { + (*(*func(QNetworkReply__NetworkError))(signal))(code) + f(code) + } + qt.ConnectSignal(ptr.Pointer(), "error2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "error2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectError2() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectError2(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "error2") + } +} + +func (ptr *QNetworkReply) Error2(code QNetworkReply__NetworkError) { + if ptr.Pointer() != nil { + C.QNetworkReply_Error2(ptr.Pointer(), C.longlong(code)) + } +} + +//export callbackQNetworkReply_Finished +func callbackQNetworkReply_Finished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "finished"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QNetworkReply) ConnectFinished(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "finished") { + C.QNetworkReply_ConnectFinished(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "finished"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "finished"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "finished", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectFinished() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectFinished(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "finished") + } +} + +func (ptr *QNetworkReply) Finished() { + if ptr.Pointer() != nil { + C.QNetworkReply_Finished(ptr.Pointer()) + } +} + +func (ptr *QNetworkReply) HasRawHeader(headerName core.QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_HasRawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName))) != 0 + } + return false +} + +func (ptr *QNetworkReply) Header(header QNetworkRequest__KnownHeaders) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QNetworkReply_Header(ptr.Pointer(), C.longlong(header))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQNetworkReply_IgnoreSslErrors +func callbackQNetworkReply_IgnoreSslErrors(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "ignoreSslErrors"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkReplyFromPointer(ptr).IgnoreSslErrorsDefault() + } +} + +func (ptr *QNetworkReply) ConnectIgnoreSslErrors(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "ignoreSslErrors"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "ignoreSslErrors", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "ignoreSslErrors", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectIgnoreSslErrors() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "ignoreSslErrors") + } +} + +func (ptr *QNetworkReply) IgnoreSslErrors() { + if ptr.Pointer() != nil { + C.QNetworkReply_IgnoreSslErrors(ptr.Pointer()) + } +} + +func (ptr *QNetworkReply) IgnoreSslErrorsDefault() { + if ptr.Pointer() != nil { + C.QNetworkReply_IgnoreSslErrorsDefault(ptr.Pointer()) + } +} + +func (ptr *QNetworkReply) IgnoreSslErrors2(errors []*QSslError) { + if ptr.Pointer() != nil { + C.QNetworkReply_IgnoreSslErrors2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQNetworkReplyFromPointer(NewQNetworkReplyFromPointer(nil).__ignoreSslErrors_errors_newList2()) + for _, v := range errors { + tmpList.__ignoreSslErrors_errors_setList2(v) + } + return tmpList.Pointer() + }()) + } +} + +//export callbackQNetworkReply_IgnoreSslErrorsImplementation +func callbackQNetworkReply_IgnoreSslErrorsImplementation(ptr unsafe.Pointer, errors C.struct_QtNetwork_PackedList) { + if signal := qt.GetSignal(ptr, "ignoreSslErrorsImplementation"); signal != nil { + (*(*func([]*QSslError))(signal))(func(l C.struct_QtNetwork_PackedList) []*QSslError { + out := make([]*QSslError, int(l.len)) + tmpList := NewQNetworkReplyFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__ignoreSslErrorsImplementation_errors_atList(i) + } + return out + }(errors)) + } else { + NewQNetworkReplyFromPointer(ptr).IgnoreSslErrorsImplementationDefault(func(l C.struct_QtNetwork_PackedList) []*QSslError { + out := make([]*QSslError, int(l.len)) + tmpList := NewQNetworkReplyFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__ignoreSslErrorsImplementation_errors_atList(i) + } + return out + }(errors)) + } +} + +func (ptr *QNetworkReply) ConnectIgnoreSslErrorsImplementation(f func(errors []*QSslError)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "ignoreSslErrorsImplementation"); signal != nil { + f := func(errors []*QSslError) { + (*(*func([]*QSslError))(signal))(errors) + f(errors) + } + qt.ConnectSignal(ptr.Pointer(), "ignoreSslErrorsImplementation", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "ignoreSslErrorsImplementation", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectIgnoreSslErrorsImplementation() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "ignoreSslErrorsImplementation") + } +} + +func (ptr *QNetworkReply) IgnoreSslErrorsImplementation(errors []*QSslError) { + if ptr.Pointer() != nil { + C.QNetworkReply_IgnoreSslErrorsImplementation(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQNetworkReplyFromPointer(NewQNetworkReplyFromPointer(nil).__ignoreSslErrorsImplementation_errors_newList()) + for _, v := range errors { + tmpList.__ignoreSslErrorsImplementation_errors_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QNetworkReply) IgnoreSslErrorsImplementationDefault(errors []*QSslError) { + if ptr.Pointer() != nil { + C.QNetworkReply_IgnoreSslErrorsImplementationDefault(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQNetworkReplyFromPointer(NewQNetworkReplyFromPointer(nil).__ignoreSslErrorsImplementation_errors_newList()) + for _, v := range errors { + tmpList.__ignoreSslErrorsImplementation_errors_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QNetworkReply) IsFinished() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_IsFinished(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkReply) IsRunning() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_IsRunning(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QNetworkReply) Manager() *QNetworkAccessManager { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkAccessManagerFromPointer(C.QNetworkReply_Manager(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQNetworkReply_MetaDataChanged +func callbackQNetworkReply_MetaDataChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "metaDataChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QNetworkReply) ConnectMetaDataChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "metaDataChanged") { + C.QNetworkReply_ConnectMetaDataChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "metaDataChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "metaDataChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "metaDataChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "metaDataChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectMetaDataChanged() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectMetaDataChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "metaDataChanged") + } +} + +func (ptr *QNetworkReply) MetaDataChanged() { + if ptr.Pointer() != nil { + C.QNetworkReply_MetaDataChanged(ptr.Pointer()) + } +} + +func (ptr *QNetworkReply) Operation() QNetworkAccessManager__Operation { + if ptr.Pointer() != nil { + return QNetworkAccessManager__Operation(C.QNetworkReply_Operation(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkReply_PreSharedKeyAuthenticationRequired +func callbackQNetworkReply_PreSharedKeyAuthenticationRequired(ptr unsafe.Pointer, authenticator unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "preSharedKeyAuthenticationRequired"); signal != nil { + (*(*func(*QSslPreSharedKeyAuthenticator))(signal))(NewQSslPreSharedKeyAuthenticatorFromPointer(authenticator)) + } + +} + +func (ptr *QNetworkReply) ConnectPreSharedKeyAuthenticationRequired(f func(authenticator *QSslPreSharedKeyAuthenticator)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired") { + C.QNetworkReply_ConnectPreSharedKeyAuthenticationRequired(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "preSharedKeyAuthenticationRequired"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired"); signal != nil { + f := func(authenticator *QSslPreSharedKeyAuthenticator) { + (*(*func(*QSslPreSharedKeyAuthenticator))(signal))(authenticator) + f(authenticator) + } + qt.ConnectSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectPreSharedKeyAuthenticationRequired() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectPreSharedKeyAuthenticationRequired(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired") + } +} + +func (ptr *QNetworkReply) PreSharedKeyAuthenticationRequired(authenticator QSslPreSharedKeyAuthenticator_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_PreSharedKeyAuthenticationRequired(ptr.Pointer(), PointerFromQSslPreSharedKeyAuthenticator(authenticator)) + } +} + +func (ptr *QNetworkReply) QNetworkCacheMetaData_RawHeader(headerName core.QByteArray_ITF) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkReply_RawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) RawHeaderList() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQNetworkReplyFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__rawHeaderList_atList(i) + } + return out + }(C.QNetworkReply_RawHeaderList(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QNetworkReply) ReadBufferSize() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkReply_ReadBufferSize(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkReply_RedirectAllowed +func callbackQNetworkReply_RedirectAllowed(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "redirectAllowed"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QNetworkReply) ConnectRedirectAllowed(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "redirectAllowed") { + C.QNetworkReply_ConnectRedirectAllowed(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "redirectAllowed"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "redirectAllowed"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "redirectAllowed", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "redirectAllowed", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectRedirectAllowed() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectRedirectAllowed(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "redirectAllowed") + } +} + +func (ptr *QNetworkReply) RedirectAllowed() { + if ptr.Pointer() != nil { + C.QNetworkReply_RedirectAllowed(ptr.Pointer()) + } +} + +//export callbackQNetworkReply_Redirected +func callbackQNetworkReply_Redirected(ptr unsafe.Pointer, url unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "redirected"); signal != nil { + (*(*func(*core.QUrl))(signal))(core.NewQUrlFromPointer(url)) + } + +} + +func (ptr *QNetworkReply) ConnectRedirected(f func(url *core.QUrl)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "redirected") { + C.QNetworkReply_ConnectRedirected(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "redirected"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "redirected"); signal != nil { + f := func(url *core.QUrl) { + (*(*func(*core.QUrl))(signal))(url) + f(url) + } + qt.ConnectSignal(ptr.Pointer(), "redirected", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "redirected", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectRedirected() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectRedirected(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "redirected") + } +} + +func (ptr *QNetworkReply) Redirected(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_Redirected(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QNetworkReply) Request() *QNetworkRequest { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkRequestFromPointer(C.QNetworkReply_Request(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkRequest).DestroyQNetworkRequest) + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) SetAttribute(code QNetworkRequest__Attribute, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetAttribute(ptr.Pointer(), C.longlong(code), core.PointerFromQVariant(value)) + } +} + +func (ptr *QNetworkReply) SetError(errorCode QNetworkReply__NetworkError, errorString string) { + if ptr.Pointer() != nil { + var errorStringC *C.char + if errorString != "" { + errorStringC = C.CString(errorString) + defer C.free(unsafe.Pointer(errorStringC)) + } + C.QNetworkReply_SetError(ptr.Pointer(), C.longlong(errorCode), C.struct_QtNetwork_PackedString{data: errorStringC, len: C.longlong(len(errorString))}) + } +} + +func (ptr *QNetworkReply) SetFinished(finished bool) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetFinished(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(finished)))) + } +} + +func (ptr *QNetworkReply) SetHeader(header QNetworkRequest__KnownHeaders, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetHeader(ptr.Pointer(), C.longlong(header), core.PointerFromQVariant(value)) + } +} + +func (ptr *QNetworkReply) SetOperation(operation QNetworkAccessManager__Operation) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetOperation(ptr.Pointer(), C.longlong(operation)) + } +} + +func (ptr *QNetworkReply) SetRawHeader(headerName core.QByteArray_ITF, value core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetRawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName), core.PointerFromQByteArray(value)) + } +} + +//export callbackQNetworkReply_SetReadBufferSize +func callbackQNetworkReply_SetReadBufferSize(ptr unsafe.Pointer, size C.longlong) { + if signal := qt.GetSignal(ptr, "setReadBufferSize"); signal != nil { + (*(*func(int64))(signal))(int64(size)) + } else { + NewQNetworkReplyFromPointer(ptr).SetReadBufferSizeDefault(int64(size)) + } +} + +func (ptr *QNetworkReply) ConnectSetReadBufferSize(f func(size int64)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setReadBufferSize"); signal != nil { + f := func(size int64) { + (*(*func(int64))(signal))(size) + f(size) + } + qt.ConnectSignal(ptr.Pointer(), "setReadBufferSize", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setReadBufferSize", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectSetReadBufferSize() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setReadBufferSize") + } +} + +func (ptr *QNetworkReply) SetReadBufferSize(size int64) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetReadBufferSize(ptr.Pointer(), C.longlong(size)) + } +} + +func (ptr *QNetworkReply) SetReadBufferSizeDefault(size int64) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetReadBufferSizeDefault(ptr.Pointer(), C.longlong(size)) + } +} + +func (ptr *QNetworkReply) SetRequest(request QNetworkRequest_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetRequest(ptr.Pointer(), PointerFromQNetworkRequest(request)) + } +} + +func (ptr *QNetworkReply) SetSslConfiguration(config QSslConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetSslConfiguration(ptr.Pointer(), PointerFromQSslConfiguration(config)) + } +} + +//export callbackQNetworkReply_SetSslConfigurationImplementation +func callbackQNetworkReply_SetSslConfigurationImplementation(ptr unsafe.Pointer, configuration unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setSslConfigurationImplementation"); signal != nil { + (*(*func(*QSslConfiguration))(signal))(NewQSslConfigurationFromPointer(configuration)) + } else { + NewQNetworkReplyFromPointer(ptr).SetSslConfigurationImplementationDefault(NewQSslConfigurationFromPointer(configuration)) + } +} + +func (ptr *QNetworkReply) ConnectSetSslConfigurationImplementation(f func(configuration *QSslConfiguration)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setSslConfigurationImplementation"); signal != nil { + f := func(configuration *QSslConfiguration) { + (*(*func(*QSslConfiguration))(signal))(configuration) + f(configuration) + } + qt.ConnectSignal(ptr.Pointer(), "setSslConfigurationImplementation", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setSslConfigurationImplementation", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectSetSslConfigurationImplementation() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setSslConfigurationImplementation") + } +} + +func (ptr *QNetworkReply) SetSslConfigurationImplementation(configuration QSslConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetSslConfigurationImplementation(ptr.Pointer(), PointerFromQSslConfiguration(configuration)) + } +} + +func (ptr *QNetworkReply) SetSslConfigurationImplementationDefault(configuration QSslConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetSslConfigurationImplementationDefault(ptr.Pointer(), PointerFromQSslConfiguration(configuration)) + } +} + +func (ptr *QNetworkReply) SetUrl(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SetUrl(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QNetworkReply) SslConfiguration() *QSslConfiguration { + if ptr.Pointer() != nil { + tmpValue := NewQSslConfigurationFromPointer(C.QNetworkReply_SslConfiguration(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslConfiguration).DestroyQSslConfiguration) + return tmpValue + } + return nil +} + +//export callbackQNetworkReply_SslConfigurationImplementation +func callbackQNetworkReply_SslConfigurationImplementation(ptr unsafe.Pointer, configuration unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "sslConfigurationImplementation"); signal != nil { + (*(*func(*QSslConfiguration))(signal))(NewQSslConfigurationFromPointer(configuration)) + } else { + NewQNetworkReplyFromPointer(ptr).SslConfigurationImplementationDefault(NewQSslConfigurationFromPointer(configuration)) + } +} + +func (ptr *QNetworkReply) ConnectSslConfigurationImplementation(f func(configuration *QSslConfiguration)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "sslConfigurationImplementation"); signal != nil { + f := func(configuration *QSslConfiguration) { + (*(*func(*QSslConfiguration))(signal))(configuration) + f(configuration) + } + qt.ConnectSignal(ptr.Pointer(), "sslConfigurationImplementation", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "sslConfigurationImplementation", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectSslConfigurationImplementation() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "sslConfigurationImplementation") + } +} + +func (ptr *QNetworkReply) SslConfigurationImplementation(configuration QSslConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SslConfigurationImplementation(ptr.Pointer(), PointerFromQSslConfiguration(configuration)) + } +} + +func (ptr *QNetworkReply) SslConfigurationImplementationDefault(configuration QSslConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_SslConfigurationImplementationDefault(ptr.Pointer(), PointerFromQSslConfiguration(configuration)) + } +} + +//export callbackQNetworkReply_SslErrors +func callbackQNetworkReply_SslErrors(ptr unsafe.Pointer, errors C.struct_QtNetwork_PackedList) { + if signal := qt.GetSignal(ptr, "sslErrors"); signal != nil { + (*(*func([]*QSslError))(signal))(func(l C.struct_QtNetwork_PackedList) []*QSslError { + out := make([]*QSslError, int(l.len)) + tmpList := NewQNetworkReplyFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__sslErrors_errors_atList(i) + } + return out + }(errors)) + } + +} + +func (ptr *QNetworkReply) ConnectSslErrors(f func(errors []*QSslError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "sslErrors") { + C.QNetworkReply_ConnectSslErrors(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "sslErrors"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "sslErrors"); signal != nil { + f := func(errors []*QSslError) { + (*(*func([]*QSslError))(signal))(errors) + f(errors) + } + qt.ConnectSignal(ptr.Pointer(), "sslErrors", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "sslErrors", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectSslErrors() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectSslErrors(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "sslErrors") + } +} + +func (ptr *QNetworkReply) SslErrors(errors []*QSslError) { + if ptr.Pointer() != nil { + C.QNetworkReply_SslErrors(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQNetworkReplyFromPointer(NewQNetworkReplyFromPointer(nil).__sslErrors_errors_newList()) + for _, v := range errors { + tmpList.__sslErrors_errors_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +//export callbackQNetworkReply_UploadProgress +func callbackQNetworkReply_UploadProgress(ptr unsafe.Pointer, bytesSent C.longlong, bytesTotal C.longlong) { + if signal := qt.GetSignal(ptr, "uploadProgress"); signal != nil { + (*(*func(int64, int64))(signal))(int64(bytesSent), int64(bytesTotal)) + } + +} + +func (ptr *QNetworkReply) ConnectUploadProgress(f func(bytesSent int64, bytesTotal int64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "uploadProgress") { + C.QNetworkReply_ConnectUploadProgress(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "uploadProgress"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "uploadProgress"); signal != nil { + f := func(bytesSent int64, bytesTotal int64) { + (*(*func(int64, int64))(signal))(bytesSent, bytesTotal) + f(bytesSent, bytesTotal) + } + qt.ConnectSignal(ptr.Pointer(), "uploadProgress", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "uploadProgress", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectUploadProgress() { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectUploadProgress(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "uploadProgress") + } +} + +func (ptr *QNetworkReply) UploadProgress(bytesSent int64, bytesTotal int64) { + if ptr.Pointer() != nil { + C.QNetworkReply_UploadProgress(ptr.Pointer(), C.longlong(bytesSent), C.longlong(bytesTotal)) + } +} + +func (ptr *QNetworkReply) Url() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QNetworkReply_Url(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +//export callbackQNetworkReply_DestroyQNetworkReply +func callbackQNetworkReply_DestroyQNetworkReply(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QNetworkReply"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkReplyFromPointer(ptr).DestroyQNetworkReplyDefault() + } +} + +func (ptr *QNetworkReply) ConnectDestroyQNetworkReply(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QNetworkReply"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QNetworkReply", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QNetworkReply", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkReply) DisconnectDestroyQNetworkReply() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QNetworkReply") + } +} + +func (ptr *QNetworkReply) DestroyQNetworkReply() { + if ptr.Pointer() != nil { + C.QNetworkReply_DestroyQNetworkReply(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkReply) DestroyQNetworkReplyDefault() { + if ptr.Pointer() != nil { + C.QNetworkReply_DestroyQNetworkReplyDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkReply) __ignoreSslErrors_errors_atList2(i int) *QSslError { + if ptr.Pointer() != nil { + tmpValue := NewQSslErrorFromPointer(C.QNetworkReply___ignoreSslErrors_errors_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) __ignoreSslErrors_errors_setList2(i QSslError_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply___ignoreSslErrors_errors_setList2(ptr.Pointer(), PointerFromQSslError(i)) + } +} + +func (ptr *QNetworkReply) __ignoreSslErrors_errors_newList2() unsafe.Pointer { + return C.QNetworkReply___ignoreSslErrors_errors_newList2(ptr.Pointer()) +} + +func (ptr *QNetworkReply) __ignoreSslErrorsImplementation_errors_atList(i int) *QSslError { + if ptr.Pointer() != nil { + tmpValue := NewQSslErrorFromPointer(C.QNetworkReply___ignoreSslErrorsImplementation_errors_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) __ignoreSslErrorsImplementation_errors_setList(i QSslError_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply___ignoreSslErrorsImplementation_errors_setList(ptr.Pointer(), PointerFromQSslError(i)) + } +} + +func (ptr *QNetworkReply) __ignoreSslErrorsImplementation_errors_newList() unsafe.Pointer { + return C.QNetworkReply___ignoreSslErrorsImplementation_errors_newList(ptr.Pointer()) +} + +func (ptr *QNetworkReply) __rawHeaderList_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkReply___rawHeaderList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) __rawHeaderList_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply___rawHeaderList_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QNetworkReply) __rawHeaderList_newList() unsafe.Pointer { + return C.QNetworkReply___rawHeaderList_newList(ptr.Pointer()) +} + +func (ptr *QNetworkReply) __sslErrors_errors_atList(i int) *QSslError { + if ptr.Pointer() != nil { + tmpValue := NewQSslErrorFromPointer(C.QNetworkReply___sslErrors_errors_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) __sslErrors_errors_setList(i QSslError_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply___sslErrors_errors_setList(ptr.Pointer(), PointerFromQSslError(i)) + } +} + +func (ptr *QNetworkReply) __sslErrors_errors_newList() unsafe.Pointer { + return C.QNetworkReply___sslErrors_errors_newList(ptr.Pointer()) +} + +func (ptr *QNetworkReply) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkReply___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkReply) __children_newList() unsafe.Pointer { + return C.QNetworkReply___children_newList(ptr.Pointer()) +} + +func (ptr *QNetworkReply) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkReply___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QNetworkReply) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QNetworkReply___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QNetworkReply) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkReply___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkReply) __findChildren_newList() unsafe.Pointer { + return C.QNetworkReply___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QNetworkReply) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkReply___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkReply) __findChildren_newList3() unsafe.Pointer { + return C.QNetworkReply___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QNetworkReply) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkReply___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkReply) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkReply) __qFindChildren_newList2() unsafe.Pointer { + return C.QNetworkReply___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQNetworkReply_AboutToClose +func callbackQNetworkReply_AboutToClose(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "aboutToClose"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQNetworkReply_AtEnd +func callbackQNetworkReply_AtEnd(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "atEnd"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).AtEndDefault()))) +} + +func (ptr *QNetworkReply) AtEndDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_AtEndDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQNetworkReply_BytesAvailable +func callbackQNetworkReply_BytesAvailable(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "bytesAvailable"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQNetworkReplyFromPointer(ptr).BytesAvailableDefault()) +} + +func (ptr *QNetworkReply) BytesAvailableDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkReply_BytesAvailableDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkReply_BytesToWrite +func callbackQNetworkReply_BytesToWrite(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "bytesToWrite"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQNetworkReplyFromPointer(ptr).BytesToWriteDefault()) +} + +func (ptr *QNetworkReply) BytesToWriteDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkReply_BytesToWriteDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkReply_BytesWritten +func callbackQNetworkReply_BytesWritten(ptr unsafe.Pointer, bytes C.longlong) { + if signal := qt.GetSignal(ptr, "bytesWritten"); signal != nil { + (*(*func(int64))(signal))(int64(bytes)) + } + +} + +//export callbackQNetworkReply_CanReadLine +func callbackQNetworkReply_CanReadLine(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "canReadLine"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).CanReadLineDefault()))) +} + +func (ptr *QNetworkReply) CanReadLineDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_CanReadLineDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQNetworkReply_ChannelBytesWritten +func callbackQNetworkReply_ChannelBytesWritten(ptr unsafe.Pointer, channel C.int, bytes C.longlong) { + if signal := qt.GetSignal(ptr, "channelBytesWritten"); signal != nil { + (*(*func(int, int64))(signal))(int(int32(channel)), int64(bytes)) + } + +} + +//export callbackQNetworkReply_ChannelReadyRead +func callbackQNetworkReply_ChannelReadyRead(ptr unsafe.Pointer, channel C.int) { + if signal := qt.GetSignal(ptr, "channelReadyRead"); signal != nil { + (*(*func(int))(signal))(int(int32(channel))) + } + +} + +//export callbackQNetworkReply_IsSequential +func callbackQNetworkReply_IsSequential(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "isSequential"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).IsSequentialDefault()))) +} + +func (ptr *QNetworkReply) IsSequentialDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_IsSequentialDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQNetworkReply_Open +func callbackQNetworkReply_Open(ptr unsafe.Pointer, mode C.longlong) C.char { + if signal := qt.GetSignal(ptr, "open"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(core.QIODevice__OpenModeFlag) bool)(signal))(core.QIODevice__OpenModeFlag(mode))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).OpenDefault(core.QIODevice__OpenModeFlag(mode))))) +} + +func (ptr *QNetworkReply) OpenDefault(mode core.QIODevice__OpenModeFlag) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_OpenDefault(ptr.Pointer(), C.longlong(mode))) != 0 + } + return false +} + +//export callbackQNetworkReply_Pos +func callbackQNetworkReply_Pos(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "pos"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQNetworkReplyFromPointer(ptr).PosDefault()) +} + +func (ptr *QNetworkReply) PosDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkReply_PosDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkReply_ReadChannelFinished +func callbackQNetworkReply_ReadChannelFinished(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readChannelFinished"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQNetworkReply_ReadData +func callbackQNetworkReply_ReadData(ptr unsafe.Pointer, data C.struct_QtNetwork_PackedString, maxSize C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readData"); signal != nil { + retS := cGoUnpackString(data) + ret := C.longlong((*(*func(*string, int64) int64)(signal))(&retS, int64(maxSize))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret + } + retS := cGoUnpackString(data) + ret := C.longlong(NewQNetworkReplyFromPointer(ptr).ReadDataDefault(&retS, int64(maxSize))) + if ret > 0 { + C.memcpy(unsafe.Pointer(data.data), unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&retS)).Data), C.size_t(ret)) + } + return ret +} + +func (ptr *QNetworkReply) ReadData(data *string, maxSize int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(maxSize))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QNetworkReply_ReadData(ptr.Pointer(), dataC, C.longlong(maxSize))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +func (ptr *QNetworkReply) ReadDataDefault(data *string, maxSize int64) int64 { + if ptr.Pointer() != nil { + dataC := C.CString(strings.Repeat("0", int(maxSize))) + defer C.free(unsafe.Pointer(dataC)) + ret := int64(C.QNetworkReply_ReadDataDefault(ptr.Pointer(), dataC, C.longlong(maxSize))) + if ret > 0 { + *data = C.GoStringN(dataC, C.int(ret)) + } + return ret + } + return 0 +} + +//export callbackQNetworkReply_ReadLineData +func callbackQNetworkReply_ReadLineData(ptr unsafe.Pointer, data C.struct_QtNetwork_PackedString, maxSize C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "readLineData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(maxSize))) + } + + return C.longlong(NewQNetworkReplyFromPointer(ptr).ReadLineDataDefault(cGoUnpackBytes(data), int64(maxSize))) +} + +func (ptr *QNetworkReply) ReadLineDataDefault(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QNetworkReply_ReadLineDataDefault(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +//export callbackQNetworkReply_ReadyRead +func callbackQNetworkReply_ReadyRead(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "readyRead"); signal != nil { + (*(*func())(signal))() + } + +} + +//export callbackQNetworkReply_Reset +func callbackQNetworkReply_Reset(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "reset"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).ResetDefault()))) +} + +func (ptr *QNetworkReply) ResetDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_ResetDefault(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQNetworkReply_Seek +func callbackQNetworkReply_Seek(ptr unsafe.Pointer, pos C.longlong) C.char { + if signal := qt.GetSignal(ptr, "seek"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int64) bool)(signal))(int64(pos))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).SeekDefault(int64(pos))))) +} + +func (ptr *QNetworkReply) SeekDefault(pos int64) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_SeekDefault(ptr.Pointer(), C.longlong(pos))) != 0 + } + return false +} + +//export callbackQNetworkReply_Size +func callbackQNetworkReply_Size(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "size"); signal != nil { + return C.longlong((*(*func() int64)(signal))()) + } + + return C.longlong(NewQNetworkReplyFromPointer(ptr).SizeDefault()) +} + +func (ptr *QNetworkReply) SizeDefault() int64 { + if ptr.Pointer() != nil { + return int64(C.QNetworkReply_SizeDefault(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkReply_WaitForBytesWritten +func callbackQNetworkReply_WaitForBytesWritten(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForBytesWritten"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).WaitForBytesWrittenDefault(int(int32(msecs)))))) +} + +func (ptr *QNetworkReply) WaitForBytesWrittenDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_WaitForBytesWrittenDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQNetworkReply_WaitForReadyRead +func callbackQNetworkReply_WaitForReadyRead(ptr unsafe.Pointer, msecs C.int) C.char { + if signal := qt.GetSignal(ptr, "waitForReadyRead"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(int) bool)(signal))(int(int32(msecs)))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).WaitForReadyReadDefault(int(int32(msecs)))))) +} + +func (ptr *QNetworkReply) WaitForReadyReadDefault(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_WaitForReadyReadDefault(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQNetworkReply_WriteData +func callbackQNetworkReply_WriteData(ptr unsafe.Pointer, data C.struct_QtNetwork_PackedString, maxSize C.longlong) C.longlong { + if signal := qt.GetSignal(ptr, "writeData"); signal != nil { + return C.longlong((*(*func([]byte, int64) int64)(signal))(cGoUnpackBytes(data), int64(maxSize))) + } + + return C.longlong(NewQNetworkReplyFromPointer(ptr).WriteDataDefault(cGoUnpackBytes(data), int64(maxSize))) +} + +func (ptr *QNetworkReply) WriteData(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QNetworkReply_WriteData(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +func (ptr *QNetworkReply) WriteDataDefault(data []byte, maxSize int64) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QNetworkReply_WriteDataDefault(ptr.Pointer(), dataC, C.longlong(maxSize))) + } + return 0 +} + +//export callbackQNetworkReply_ChildEvent +func callbackQNetworkReply_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQNetworkReplyFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QNetworkReply) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQNetworkReply_ConnectNotify +func callbackQNetworkReply_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkReplyFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkReply) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkReply_CustomEvent +func callbackQNetworkReply_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQNetworkReplyFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QNetworkReply) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQNetworkReply_DeleteLater +func callbackQNetworkReply_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkReplyFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QNetworkReply) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QNetworkReply_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQNetworkReply_Destroyed +func callbackQNetworkReply_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQNetworkReply_DisconnectNotify +func callbackQNetworkReply_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkReplyFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkReply) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkReply_Event +func callbackQNetworkReply_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QNetworkReply) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQNetworkReply_EventFilter +func callbackQNetworkReply_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkReplyFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QNetworkReply) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkReply_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQNetworkReply_MetaObject +func callbackQNetworkReply_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQNetworkReplyFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QNetworkReply) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QNetworkReply_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQNetworkReply_ObjectNameChanged +func callbackQNetworkReply_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQNetworkReply_TimerEvent +func callbackQNetworkReply_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQNetworkReplyFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QNetworkReply) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkReply_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QNetworkRequest struct { + ptr unsafe.Pointer +} + +type QNetworkRequest_ITF interface { + QNetworkRequest_PTR() *QNetworkRequest +} + +func (ptr *QNetworkRequest) QNetworkRequest_PTR() *QNetworkRequest { + return ptr +} + +func (ptr *QNetworkRequest) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkRequest) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkRequest(ptr QNetworkRequest_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkRequest_PTR().Pointer() + } + return nil +} + +func NewQNetworkRequestFromPointer(ptr unsafe.Pointer) (n *QNetworkRequest) { + n = new(QNetworkRequest) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkRequest__Attribute +//QNetworkRequest::Attribute +type QNetworkRequest__Attribute int64 + +const ( + QNetworkRequest__HttpStatusCodeAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(0) + QNetworkRequest__HttpReasonPhraseAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(1) + QNetworkRequest__RedirectionTargetAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(2) + QNetworkRequest__ConnectionEncryptedAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(3) + QNetworkRequest__CacheLoadControlAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(4) + QNetworkRequest__CacheSaveControlAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(5) + QNetworkRequest__SourceIsFromCacheAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(6) + QNetworkRequest__DoNotBufferUploadDataAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(7) + QNetworkRequest__HttpPipeliningAllowedAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(8) + QNetworkRequest__HttpPipeliningWasUsedAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(9) + QNetworkRequest__CustomVerbAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(10) + QNetworkRequest__CookieLoadControlAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(11) + QNetworkRequest__AuthenticationReuseAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(12) + QNetworkRequest__CookieSaveControlAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(13) + QNetworkRequest__MaximumDownloadBufferSizeAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(14) + QNetworkRequest__DownloadBufferAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(15) + QNetworkRequest__SynchronousRequestAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(16) + QNetworkRequest__BackgroundRequestAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(17) + QNetworkRequest__SpdyAllowedAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(18) + QNetworkRequest__SpdyWasUsedAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(19) + QNetworkRequest__EmitAllUploadProgressSignalsAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(20) + QNetworkRequest__FollowRedirectsAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(21) + QNetworkRequest__HTTP2AllowedAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(22) + QNetworkRequest__HTTP2WasUsedAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(23) + QNetworkRequest__OriginalContentLengthAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(24) + QNetworkRequest__RedirectPolicyAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(25) + QNetworkRequest__Http2DirectAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(26) + QNetworkRequest__ResourceTypeAttribute QNetworkRequest__Attribute = QNetworkRequest__Attribute(27) + QNetworkRequest__User QNetworkRequest__Attribute = QNetworkRequest__Attribute(1000) + QNetworkRequest__UserMax QNetworkRequest__Attribute = QNetworkRequest__Attribute(32767) +) + +//go:generate stringer -type=QNetworkRequest__KnownHeaders +//QNetworkRequest::KnownHeaders +type QNetworkRequest__KnownHeaders int64 + +const ( + QNetworkRequest__ContentTypeHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(0) + QNetworkRequest__ContentLengthHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(1) + QNetworkRequest__LocationHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(2) + QNetworkRequest__LastModifiedHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(3) + QNetworkRequest__CookieHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(4) + QNetworkRequest__SetCookieHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(5) + QNetworkRequest__ContentDispositionHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(6) + QNetworkRequest__UserAgentHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(7) + QNetworkRequest__ServerHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(8) + QNetworkRequest__IfModifiedSinceHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(9) + QNetworkRequest__ETagHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(10) + QNetworkRequest__IfMatchHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(11) + QNetworkRequest__IfNoneMatchHeader QNetworkRequest__KnownHeaders = QNetworkRequest__KnownHeaders(12) +) + +//go:generate stringer -type=QNetworkRequest__CacheLoadControl +//QNetworkRequest::CacheLoadControl +type QNetworkRequest__CacheLoadControl int64 + +const ( + QNetworkRequest__AlwaysNetwork QNetworkRequest__CacheLoadControl = QNetworkRequest__CacheLoadControl(0) + QNetworkRequest__PreferNetwork QNetworkRequest__CacheLoadControl = QNetworkRequest__CacheLoadControl(1) + QNetworkRequest__PreferCache QNetworkRequest__CacheLoadControl = QNetworkRequest__CacheLoadControl(2) + QNetworkRequest__AlwaysCache QNetworkRequest__CacheLoadControl = QNetworkRequest__CacheLoadControl(3) +) + +//go:generate stringer -type=QNetworkRequest__LoadControl +//QNetworkRequest::LoadControl +type QNetworkRequest__LoadControl int64 + +const ( + QNetworkRequest__Automatic QNetworkRequest__LoadControl = QNetworkRequest__LoadControl(0) + QNetworkRequest__Manual QNetworkRequest__LoadControl = QNetworkRequest__LoadControl(1) +) + +//go:generate stringer -type=QNetworkRequest__Priority +//QNetworkRequest::Priority +type QNetworkRequest__Priority int64 + +const ( + QNetworkRequest__HighPriority QNetworkRequest__Priority = QNetworkRequest__Priority(1) + QNetworkRequest__NormalPriority QNetworkRequest__Priority = QNetworkRequest__Priority(3) + QNetworkRequest__LowPriority QNetworkRequest__Priority = QNetworkRequest__Priority(5) +) + +//go:generate stringer -type=QNetworkRequest__RedirectPolicy +//QNetworkRequest::RedirectPolicy +type QNetworkRequest__RedirectPolicy int64 + +const ( + QNetworkRequest__ManualRedirectPolicy QNetworkRequest__RedirectPolicy = QNetworkRequest__RedirectPolicy(0) + QNetworkRequest__NoLessSafeRedirectPolicy QNetworkRequest__RedirectPolicy = QNetworkRequest__RedirectPolicy(1) + QNetworkRequest__SameOriginRedirectPolicy QNetworkRequest__RedirectPolicy = QNetworkRequest__RedirectPolicy(2) + QNetworkRequest__UserVerifiedRedirectPolicy QNetworkRequest__RedirectPolicy = QNetworkRequest__RedirectPolicy(3) +) + +func NewQNetworkRequest(url core.QUrl_ITF) *QNetworkRequest { + tmpValue := NewQNetworkRequestFromPointer(C.QNetworkRequest_NewQNetworkRequest(core.PointerFromQUrl(url))) + runtime.SetFinalizer(tmpValue, (*QNetworkRequest).DestroyQNetworkRequest) + return tmpValue +} + +func NewQNetworkRequest2(other QNetworkRequest_ITF) *QNetworkRequest { + tmpValue := NewQNetworkRequestFromPointer(C.QNetworkRequest_NewQNetworkRequest2(PointerFromQNetworkRequest(other))) + runtime.SetFinalizer(tmpValue, (*QNetworkRequest).DestroyQNetworkRequest) + return tmpValue +} + +func (ptr *QNetworkRequest) Attribute(code QNetworkRequest__Attribute, defaultValue core.QVariant_ITF) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QNetworkRequest_Attribute(ptr.Pointer(), C.longlong(code), core.PointerFromQVariant(defaultValue))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QNetworkRequest) HasRawHeader(headerName core.QByteArray_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkRequest_HasRawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName))) != 0 + } + return false +} + +func (ptr *QNetworkRequest) Header(header QNetworkRequest__KnownHeaders) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QNetworkRequest_Header(ptr.Pointer(), C.longlong(header))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QNetworkRequest) MaximumRedirectsAllowed() int { + if ptr.Pointer() != nil { + return int(int32(C.QNetworkRequest_MaximumRedirectsAllowed(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QNetworkRequest) OriginatingObject() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkRequest_OriginatingObject(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkRequest) PeerVerifyName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkRequest_PeerVerifyName(ptr.Pointer())) + } + return "" +} + +func (ptr *QNetworkRequest) Priority() QNetworkRequest__Priority { + if ptr.Pointer() != nil { + return QNetworkRequest__Priority(C.QNetworkRequest_Priority(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkRequest) QNetworkCacheMetaData_RawHeader(headerName core.QByteArray_ITF) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkRequest_RawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkRequest) RawHeaderList() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQNetworkRequestFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__rawHeaderList_atList(i) + } + return out + }(C.QNetworkRequest_RawHeaderList(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QNetworkRequest) SetAttribute(code QNetworkRequest__Attribute, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QNetworkRequest_SetAttribute(ptr.Pointer(), C.longlong(code), core.PointerFromQVariant(value)) + } +} + +func (ptr *QNetworkRequest) SetHeader(header QNetworkRequest__KnownHeaders, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QNetworkRequest_SetHeader(ptr.Pointer(), C.longlong(header), core.PointerFromQVariant(value)) + } +} + +func (ptr *QNetworkRequest) SetMaximumRedirectsAllowed(maxRedirectsAllowed int) { + if ptr.Pointer() != nil { + C.QNetworkRequest_SetMaximumRedirectsAllowed(ptr.Pointer(), C.int(int32(maxRedirectsAllowed))) + } +} + +func (ptr *QNetworkRequest) SetOriginatingObject(object core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkRequest_SetOriginatingObject(ptr.Pointer(), core.PointerFromQObject(object)) + } +} + +func (ptr *QNetworkRequest) SetPeerVerifyName(peerName string) { + if ptr.Pointer() != nil { + var peerNameC *C.char + if peerName != "" { + peerNameC = C.CString(peerName) + defer C.free(unsafe.Pointer(peerNameC)) + } + C.QNetworkRequest_SetPeerVerifyName(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: peerNameC, len: C.longlong(len(peerName))}) + } +} + +func (ptr *QNetworkRequest) SetPriority(priority QNetworkRequest__Priority) { + if ptr.Pointer() != nil { + C.QNetworkRequest_SetPriority(ptr.Pointer(), C.longlong(priority)) + } +} + +func (ptr *QNetworkRequest) SetRawHeader(headerName core.QByteArray_ITF, headerValue core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkRequest_SetRawHeader(ptr.Pointer(), core.PointerFromQByteArray(headerName), core.PointerFromQByteArray(headerValue)) + } +} + +func (ptr *QNetworkRequest) SetSslConfiguration(config QSslConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QNetworkRequest_SetSslConfiguration(ptr.Pointer(), PointerFromQSslConfiguration(config)) + } +} + +func (ptr *QNetworkRequest) SetUrl(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QNetworkRequest_SetUrl(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QNetworkRequest) SslConfiguration() *QSslConfiguration { + if ptr.Pointer() != nil { + tmpValue := NewQSslConfigurationFromPointer(C.QNetworkRequest_SslConfiguration(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslConfiguration).DestroyQSslConfiguration) + return tmpValue + } + return nil +} + +func (ptr *QNetworkRequest) Swap(other QNetworkRequest_ITF) { + if ptr.Pointer() != nil { + C.QNetworkRequest_Swap(ptr.Pointer(), PointerFromQNetworkRequest(other)) + } +} + +func (ptr *QNetworkRequest) Url() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QNetworkRequest_Url(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QNetworkRequest) DestroyQNetworkRequest() { + if ptr.Pointer() != nil { + C.QNetworkRequest_DestroyQNetworkRequest(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkRequest) __rawHeaderList_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkRequest___rawHeaderList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkRequest) __rawHeaderList_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkRequest___rawHeaderList_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QNetworkRequest) __rawHeaderList_newList() unsafe.Pointer { + return C.QNetworkRequest___rawHeaderList_newList(ptr.Pointer()) +} + +type QNetworkSession struct { + core.QObject +} + +type QNetworkSession_ITF interface { + core.QObject_ITF + QNetworkSession_PTR() *QNetworkSession +} + +func (ptr *QNetworkSession) QNetworkSession_PTR() *QNetworkSession { + return ptr +} + +func (ptr *QNetworkSession) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QNetworkSession) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQNetworkSession(ptr QNetworkSession_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkSession_PTR().Pointer() + } + return nil +} + +func NewQNetworkSessionFromPointer(ptr unsafe.Pointer) (n *QNetworkSession) { + n = new(QNetworkSession) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QNetworkSession__State +//QNetworkSession::State +type QNetworkSession__State int64 + +const ( + QNetworkSession__Invalid QNetworkSession__State = QNetworkSession__State(0) + QNetworkSession__NotAvailable QNetworkSession__State = QNetworkSession__State(1) + QNetworkSession__Connecting QNetworkSession__State = QNetworkSession__State(2) + QNetworkSession__Connected QNetworkSession__State = QNetworkSession__State(3) + QNetworkSession__Closing QNetworkSession__State = QNetworkSession__State(4) + QNetworkSession__Disconnected QNetworkSession__State = QNetworkSession__State(5) + QNetworkSession__Roaming QNetworkSession__State = QNetworkSession__State(6) +) + +//go:generate stringer -type=QNetworkSession__SessionError +//QNetworkSession::SessionError +type QNetworkSession__SessionError int64 + +const ( + QNetworkSession__UnknownSessionError QNetworkSession__SessionError = QNetworkSession__SessionError(0) + QNetworkSession__SessionAbortedError QNetworkSession__SessionError = QNetworkSession__SessionError(1) + QNetworkSession__RoamingError QNetworkSession__SessionError = QNetworkSession__SessionError(2) + QNetworkSession__OperationNotSupportedError QNetworkSession__SessionError = QNetworkSession__SessionError(3) + QNetworkSession__InvalidConfigurationError QNetworkSession__SessionError = QNetworkSession__SessionError(4) +) + +//go:generate stringer -type=QNetworkSession__UsagePolicy +//QNetworkSession::UsagePolicy +type QNetworkSession__UsagePolicy int64 + +const ( + QNetworkSession__NoPolicy QNetworkSession__UsagePolicy = QNetworkSession__UsagePolicy(0) + QNetworkSession__NoBackgroundTrafficPolicy QNetworkSession__UsagePolicy = QNetworkSession__UsagePolicy(1) +) + +func NewQNetworkSession(connectionConfig QNetworkConfiguration_ITF, parent core.QObject_ITF) *QNetworkSession { + tmpValue := NewQNetworkSessionFromPointer(C.QNetworkSession_NewQNetworkSession(PointerFromQNetworkConfiguration(connectionConfig), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQNetworkSession_Accept +func callbackQNetworkSession_Accept(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "accept"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkSessionFromPointer(ptr).AcceptDefault() + } +} + +func (ptr *QNetworkSession) ConnectAccept(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "accept"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "accept", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "accept", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectAccept() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "accept") + } +} + +func (ptr *QNetworkSession) Accept() { + if ptr.Pointer() != nil { + C.QNetworkSession_Accept(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) AcceptDefault() { + if ptr.Pointer() != nil { + C.QNetworkSession_AcceptDefault(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) ActiveTime() uint64 { + if ptr.Pointer() != nil { + return uint64(C.QNetworkSession_ActiveTime(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkSession) BytesReceived() uint64 { + if ptr.Pointer() != nil { + return uint64(C.QNetworkSession_BytesReceived(ptr.Pointer())) + } + return 0 +} + +func (ptr *QNetworkSession) BytesWritten() uint64 { + if ptr.Pointer() != nil { + return uint64(C.QNetworkSession_BytesWritten(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkSession_Close +func callbackQNetworkSession_Close(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "close"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkSessionFromPointer(ptr).CloseDefault() + } +} + +func (ptr *QNetworkSession) ConnectClose(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "close"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "close", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "close", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectClose() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "close") + } +} + +func (ptr *QNetworkSession) Close() { + if ptr.Pointer() != nil { + C.QNetworkSession_Close(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) CloseDefault() { + if ptr.Pointer() != nil { + C.QNetworkSession_CloseDefault(ptr.Pointer()) + } +} + +//export callbackQNetworkSession_Closed +func callbackQNetworkSession_Closed(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "closed"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QNetworkSession) ConnectClosed(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "closed") { + C.QNetworkSession_ConnectClosed(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "closed"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "closed"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "closed", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "closed", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectClosed() { + if ptr.Pointer() != nil { + C.QNetworkSession_DisconnectClosed(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "closed") + } +} + +func (ptr *QNetworkSession) Closed() { + if ptr.Pointer() != nil { + C.QNetworkSession_Closed(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) Configuration() *QNetworkConfiguration { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkConfigurationFromPointer(C.QNetworkSession_Configuration(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkConfiguration).DestroyQNetworkConfiguration) + return tmpValue + } + return nil +} + +func (ptr *QNetworkSession) Error() QNetworkSession__SessionError { + if ptr.Pointer() != nil { + return QNetworkSession__SessionError(C.QNetworkSession_Error(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkSession_Error2 +func callbackQNetworkSession_Error2(ptr unsafe.Pointer, error C.longlong) { + if signal := qt.GetSignal(ptr, "error2"); signal != nil { + (*(*func(QNetworkSession__SessionError))(signal))(QNetworkSession__SessionError(error)) + } + +} + +func (ptr *QNetworkSession) ConnectError2(f func(error QNetworkSession__SessionError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "error2") { + C.QNetworkSession_ConnectError2(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "error"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "error2"); signal != nil { + f := func(error QNetworkSession__SessionError) { + (*(*func(QNetworkSession__SessionError))(signal))(error) + f(error) + } + qt.ConnectSignal(ptr.Pointer(), "error2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "error2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectError2() { + if ptr.Pointer() != nil { + C.QNetworkSession_DisconnectError2(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "error2") + } +} + +func (ptr *QNetworkSession) Error2(error QNetworkSession__SessionError) { + if ptr.Pointer() != nil { + C.QNetworkSession_Error2(ptr.Pointer(), C.longlong(error)) + } +} + +func (ptr *QNetworkSession) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QNetworkSession_ErrorString(ptr.Pointer())) + } + return "" +} + +//export callbackQNetworkSession_Ignore +func callbackQNetworkSession_Ignore(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "ignore"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkSessionFromPointer(ptr).IgnoreDefault() + } +} + +func (ptr *QNetworkSession) ConnectIgnore(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "ignore"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "ignore", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "ignore", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectIgnore() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "ignore") + } +} + +func (ptr *QNetworkSession) Ignore() { + if ptr.Pointer() != nil { + C.QNetworkSession_Ignore(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) IgnoreDefault() { + if ptr.Pointer() != nil { + C.QNetworkSession_IgnoreDefault(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) Interface() *QNetworkInterface { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkInterfaceFromPointer(C.QNetworkSession_Interface(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkInterface).DestroyQNetworkInterface) + return tmpValue + } + return nil +} + +func (ptr *QNetworkSession) IsOpen() bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkSession_IsOpen(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQNetworkSession_Migrate +func callbackQNetworkSession_Migrate(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "migrate"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkSessionFromPointer(ptr).MigrateDefault() + } +} + +func (ptr *QNetworkSession) ConnectMigrate(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "migrate"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "migrate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "migrate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectMigrate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "migrate") + } +} + +func (ptr *QNetworkSession) Migrate() { + if ptr.Pointer() != nil { + C.QNetworkSession_Migrate(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) MigrateDefault() { + if ptr.Pointer() != nil { + C.QNetworkSession_MigrateDefault(ptr.Pointer()) + } +} + +//export callbackQNetworkSession_NewConfigurationActivated +func callbackQNetworkSession_NewConfigurationActivated(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "newConfigurationActivated"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QNetworkSession) ConnectNewConfigurationActivated(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "newConfigurationActivated") { + C.QNetworkSession_ConnectNewConfigurationActivated(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "newConfigurationActivated"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "newConfigurationActivated"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "newConfigurationActivated", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "newConfigurationActivated", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectNewConfigurationActivated() { + if ptr.Pointer() != nil { + C.QNetworkSession_DisconnectNewConfigurationActivated(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "newConfigurationActivated") + } +} + +func (ptr *QNetworkSession) NewConfigurationActivated() { + if ptr.Pointer() != nil { + C.QNetworkSession_NewConfigurationActivated(ptr.Pointer()) + } +} + +//export callbackQNetworkSession_Open +func callbackQNetworkSession_Open(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "open"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkSessionFromPointer(ptr).OpenDefault() + } +} + +func (ptr *QNetworkSession) ConnectOpen(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "open"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "open", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "open", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectOpen() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "open") + } +} + +func (ptr *QNetworkSession) Open() { + if ptr.Pointer() != nil { + C.QNetworkSession_Open(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) OpenDefault() { + if ptr.Pointer() != nil { + C.QNetworkSession_OpenDefault(ptr.Pointer()) + } +} + +//export callbackQNetworkSession_Opened +func callbackQNetworkSession_Opened(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "opened"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QNetworkSession) ConnectOpened(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "opened") { + C.QNetworkSession_ConnectOpened(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "opened"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "opened"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "opened", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "opened", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectOpened() { + if ptr.Pointer() != nil { + C.QNetworkSession_DisconnectOpened(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "opened") + } +} + +func (ptr *QNetworkSession) Opened() { + if ptr.Pointer() != nil { + C.QNetworkSession_Opened(ptr.Pointer()) + } +} + +//export callbackQNetworkSession_PreferredConfigurationChanged +func callbackQNetworkSession_PreferredConfigurationChanged(ptr unsafe.Pointer, config unsafe.Pointer, isSeamless C.char) { + if signal := qt.GetSignal(ptr, "preferredConfigurationChanged"); signal != nil { + (*(*func(*QNetworkConfiguration, bool))(signal))(NewQNetworkConfigurationFromPointer(config), int8(isSeamless) != 0) + } + +} + +func (ptr *QNetworkSession) ConnectPreferredConfigurationChanged(f func(config *QNetworkConfiguration, isSeamless bool)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "preferredConfigurationChanged") { + C.QNetworkSession_ConnectPreferredConfigurationChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "preferredConfigurationChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "preferredConfigurationChanged"); signal != nil { + f := func(config *QNetworkConfiguration, isSeamless bool) { + (*(*func(*QNetworkConfiguration, bool))(signal))(config, isSeamless) + f(config, isSeamless) + } + qt.ConnectSignal(ptr.Pointer(), "preferredConfigurationChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "preferredConfigurationChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectPreferredConfigurationChanged() { + if ptr.Pointer() != nil { + C.QNetworkSession_DisconnectPreferredConfigurationChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "preferredConfigurationChanged") + } +} + +func (ptr *QNetworkSession) PreferredConfigurationChanged(config QNetworkConfiguration_ITF, isSeamless bool) { + if ptr.Pointer() != nil { + C.QNetworkSession_PreferredConfigurationChanged(ptr.Pointer(), PointerFromQNetworkConfiguration(config), C.char(int8(qt.GoBoolToInt(isSeamless)))) + } +} + +//export callbackQNetworkSession_Reject +func callbackQNetworkSession_Reject(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "reject"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkSessionFromPointer(ptr).RejectDefault() + } +} + +func (ptr *QNetworkSession) ConnectReject(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "reject"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "reject", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "reject", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectReject() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "reject") + } +} + +func (ptr *QNetworkSession) Reject() { + if ptr.Pointer() != nil { + C.QNetworkSession_Reject(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) RejectDefault() { + if ptr.Pointer() != nil { + C.QNetworkSession_RejectDefault(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) SessionProperty(key string) *core.QVariant { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := core.NewQVariantFromPointer(C.QNetworkSession_SessionProperty(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: keyC, len: C.longlong(len(key))})) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QNetworkSession) SetSessionProperty(key string, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QNetworkSession_SetSessionProperty(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: keyC, len: C.longlong(len(key))}, core.PointerFromQVariant(value)) + } +} + +func (ptr *QNetworkSession) State() QNetworkSession__State { + if ptr.Pointer() != nil { + return QNetworkSession__State(C.QNetworkSession_State(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkSession_StateChanged +func callbackQNetworkSession_StateChanged(ptr unsafe.Pointer, state C.longlong) { + if signal := qt.GetSignal(ptr, "stateChanged"); signal != nil { + (*(*func(QNetworkSession__State))(signal))(QNetworkSession__State(state)) + } + +} + +func (ptr *QNetworkSession) ConnectStateChanged(f func(state QNetworkSession__State)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "stateChanged") { + C.QNetworkSession_ConnectStateChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "stateChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "stateChanged"); signal != nil { + f := func(state QNetworkSession__State) { + (*(*func(QNetworkSession__State))(signal))(state) + f(state) + } + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stateChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectStateChanged() { + if ptr.Pointer() != nil { + C.QNetworkSession_DisconnectStateChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "stateChanged") + } +} + +func (ptr *QNetworkSession) StateChanged(state QNetworkSession__State) { + if ptr.Pointer() != nil { + C.QNetworkSession_StateChanged(ptr.Pointer(), C.longlong(state)) + } +} + +//export callbackQNetworkSession_Stop +func callbackQNetworkSession_Stop(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "stop"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkSessionFromPointer(ptr).StopDefault() + } +} + +func (ptr *QNetworkSession) ConnectStop(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "stop"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "stop", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectStop() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "stop") + } +} + +func (ptr *QNetworkSession) Stop() { + if ptr.Pointer() != nil { + C.QNetworkSession_Stop(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) StopDefault() { + if ptr.Pointer() != nil { + C.QNetworkSession_StopDefault(ptr.Pointer()) + } +} + +func (ptr *QNetworkSession) UsagePolicies() QNetworkSession__UsagePolicy { + if ptr.Pointer() != nil { + return QNetworkSession__UsagePolicy(C.QNetworkSession_UsagePolicies(ptr.Pointer())) + } + return 0 +} + +//export callbackQNetworkSession_UsagePoliciesChanged +func callbackQNetworkSession_UsagePoliciesChanged(ptr unsafe.Pointer, usagePolicies C.longlong) { + if signal := qt.GetSignal(ptr, "usagePoliciesChanged"); signal != nil { + (*(*func(QNetworkSession__UsagePolicy))(signal))(QNetworkSession__UsagePolicy(usagePolicies)) + } + +} + +func (ptr *QNetworkSession) ConnectUsagePoliciesChanged(f func(usagePolicies QNetworkSession__UsagePolicy)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "usagePoliciesChanged") { + C.QNetworkSession_ConnectUsagePoliciesChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "usagePoliciesChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "usagePoliciesChanged"); signal != nil { + f := func(usagePolicies QNetworkSession__UsagePolicy) { + (*(*func(QNetworkSession__UsagePolicy))(signal))(usagePolicies) + f(usagePolicies) + } + qt.ConnectSignal(ptr.Pointer(), "usagePoliciesChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "usagePoliciesChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectUsagePoliciesChanged() { + if ptr.Pointer() != nil { + C.QNetworkSession_DisconnectUsagePoliciesChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "usagePoliciesChanged") + } +} + +func (ptr *QNetworkSession) UsagePoliciesChanged(usagePolicies QNetworkSession__UsagePolicy) { + if ptr.Pointer() != nil { + C.QNetworkSession_UsagePoliciesChanged(ptr.Pointer(), C.longlong(usagePolicies)) + } +} + +func (ptr *QNetworkSession) WaitForOpened(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkSession_WaitForOpened(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQNetworkSession_DestroyQNetworkSession +func callbackQNetworkSession_DestroyQNetworkSession(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QNetworkSession"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkSessionFromPointer(ptr).DestroyQNetworkSessionDefault() + } +} + +func (ptr *QNetworkSession) ConnectDestroyQNetworkSession(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QNetworkSession"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QNetworkSession", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QNetworkSession", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QNetworkSession) DisconnectDestroyQNetworkSession() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QNetworkSession") + } +} + +func (ptr *QNetworkSession) DestroyQNetworkSession() { + if ptr.Pointer() != nil { + C.QNetworkSession_DestroyQNetworkSession(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkSession) DestroyQNetworkSessionDefault() { + if ptr.Pointer() != nil { + C.QNetworkSession_DestroyQNetworkSessionDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QNetworkSession) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkSession___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkSession) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkSession) __children_newList() unsafe.Pointer { + return C.QNetworkSession___children_newList(ptr.Pointer()) +} + +func (ptr *QNetworkSession) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QNetworkSession___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkSession) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QNetworkSession) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QNetworkSession___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QNetworkSession) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkSession___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkSession) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkSession) __findChildren_newList() unsafe.Pointer { + return C.QNetworkSession___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QNetworkSession) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkSession___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkSession) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkSession) __findChildren_newList3() unsafe.Pointer { + return C.QNetworkSession___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QNetworkSession) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QNetworkSession___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QNetworkSession) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QNetworkSession) __qFindChildren_newList2() unsafe.Pointer { + return C.QNetworkSession___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQNetworkSession_ChildEvent +func callbackQNetworkSession_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQNetworkSessionFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QNetworkSession) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQNetworkSession_ConnectNotify +func callbackQNetworkSession_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkSessionFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkSession) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkSession_CustomEvent +func callbackQNetworkSession_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQNetworkSessionFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QNetworkSession) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQNetworkSession_DeleteLater +func callbackQNetworkSession_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQNetworkSessionFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QNetworkSession) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QNetworkSession_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQNetworkSession_Destroyed +func callbackQNetworkSession_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQNetworkSession_DisconnectNotify +func callbackQNetworkSession_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQNetworkSessionFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QNetworkSession) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQNetworkSession_Event +func callbackQNetworkSession_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkSessionFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QNetworkSession) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkSession_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQNetworkSession_EventFilter +func callbackQNetworkSession_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQNetworkSessionFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QNetworkSession) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QNetworkSession_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQNetworkSession_MetaObject +func callbackQNetworkSession_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQNetworkSessionFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QNetworkSession) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QNetworkSession_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQNetworkSession_ObjectNameChanged +func callbackQNetworkSession_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQNetworkSession_TimerEvent +func callbackQNetworkSession_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQNetworkSessionFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QNetworkSession) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QNetworkSession_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QOcspResponse struct { + ptr unsafe.Pointer +} + +type QOcspResponse_ITF interface { + QOcspResponse_PTR() *QOcspResponse +} + +func (ptr *QOcspResponse) QOcspResponse_PTR() *QOcspResponse { + return ptr +} + +func (ptr *QOcspResponse) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QOcspResponse) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQOcspResponse(ptr QOcspResponse_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QOcspResponse_PTR().Pointer() + } + return nil +} + +func NewQOcspResponseFromPointer(ptr unsafe.Pointer) (n *QOcspResponse) { + n = new(QOcspResponse) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QOcspResponse__QOcspCertificateStatus +//QOcspResponse::QOcspCertificateStatus +type QOcspResponse__QOcspCertificateStatus int64 + +const ( + QOcspResponse__Good QOcspResponse__QOcspCertificateStatus = QOcspResponse__QOcspCertificateStatus(0) + QOcspResponse__Revoked QOcspResponse__QOcspCertificateStatus = QOcspResponse__QOcspCertificateStatus(1) + QOcspResponse__Unknown QOcspResponse__QOcspCertificateStatus = QOcspResponse__QOcspCertificateStatus(2) +) + +//go:generate stringer -type=QOcspResponse__QOcspRevocationReason +//QOcspResponse::QOcspRevocationReason +type QOcspResponse__QOcspRevocationReason int64 + +const ( + QOcspResponse__None QOcspResponse__QOcspRevocationReason = QOcspResponse__QOcspRevocationReason(-1) + QOcspResponse__Unspecified QOcspResponse__QOcspRevocationReason = QOcspResponse__QOcspRevocationReason(0) + QOcspResponse__KeyCompromise QOcspResponse__QOcspRevocationReason = QOcspResponse__QOcspRevocationReason(1) + QOcspResponse__CACompromise QOcspResponse__QOcspRevocationReason = QOcspResponse__QOcspRevocationReason(2) + QOcspResponse__AffiliationChanged QOcspResponse__QOcspRevocationReason = QOcspResponse__QOcspRevocationReason(3) + QOcspResponse__Superseded QOcspResponse__QOcspRevocationReason = QOcspResponse__QOcspRevocationReason(4) + QOcspResponse__CessationOfOperation QOcspResponse__QOcspRevocationReason = QOcspResponse__QOcspRevocationReason(5) + QOcspResponse__CertificateHold QOcspResponse__QOcspRevocationReason = QOcspResponse__QOcspRevocationReason(6) + QOcspResponse__RemoveFromCRL QOcspResponse__QOcspRevocationReason = QOcspResponse__QOcspRevocationReason(7) +) + +func NewQOcspResponse() *QOcspResponse { + tmpValue := NewQOcspResponseFromPointer(C.QOcspResponse_NewQOcspResponse()) + runtime.SetFinalizer(tmpValue, (*QOcspResponse).DestroyQOcspResponse) + return tmpValue +} + +func NewQOcspResponse2(other QOcspResponse_ITF) *QOcspResponse { + tmpValue := NewQOcspResponseFromPointer(C.QOcspResponse_NewQOcspResponse2(PointerFromQOcspResponse(other))) + runtime.SetFinalizer(tmpValue, (*QOcspResponse).DestroyQOcspResponse) + return tmpValue +} + +func NewQOcspResponse3(other QOcspResponse_ITF) *QOcspResponse { + tmpValue := NewQOcspResponseFromPointer(C.QOcspResponse_NewQOcspResponse3(PointerFromQOcspResponse(other))) + runtime.SetFinalizer(tmpValue, (*QOcspResponse).DestroyQOcspResponse) + return tmpValue +} + +func (ptr *QOcspResponse) Subject() *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QOcspResponse_Subject(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QOcspResponse) Swap(other QOcspResponse_ITF) { + if ptr.Pointer() != nil { + C.QOcspResponse_Swap(ptr.Pointer(), PointerFromQOcspResponse(other)) + } +} + +func (ptr *QOcspResponse) DestroyQOcspResponse() { + if ptr.Pointer() != nil { + C.QOcspResponse_DestroyQOcspResponse(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QPasswordDigestor struct { + ptr unsafe.Pointer +} + +type QPasswordDigestor_ITF interface { + QPasswordDigestor_PTR() *QPasswordDigestor +} + +func (ptr *QPasswordDigestor) QPasswordDigestor_PTR() *QPasswordDigestor { + return ptr +} + +func (ptr *QPasswordDigestor) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QPasswordDigestor) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQPasswordDigestor(ptr QPasswordDigestor_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QPasswordDigestor_PTR().Pointer() + } + return nil +} + +func NewQPasswordDigestorFromPointer(ptr unsafe.Pointer) (n *QPasswordDigestor) { + n = new(QPasswordDigestor) + n.SetPointer(ptr) + return +} + +func (ptr *QPasswordDigestor) DestroyQPasswordDigestor() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSctpServer struct { + QTcpServer +} + +type QSctpServer_ITF interface { + QTcpServer_ITF + QSctpServer_PTR() *QSctpServer +} + +func (ptr *QSctpServer) QSctpServer_PTR() *QSctpServer { + return ptr +} + +func (ptr *QSctpServer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTcpServer_PTR().Pointer() + } + return nil +} + +func (ptr *QSctpServer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTcpServer_PTR().SetPointer(p) + } +} + +func PointerFromQSctpServer(ptr QSctpServer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSctpServer_PTR().Pointer() + } + return nil +} + +func NewQSctpServerFromPointer(ptr unsafe.Pointer) (n *QSctpServer) { + n = new(QSctpServer) + n.SetPointer(ptr) + return +} + +type QSctpSocket struct { + QTcpSocket +} + +type QSctpSocket_ITF interface { + QTcpSocket_ITF + QSctpSocket_PTR() *QSctpSocket +} + +func (ptr *QSctpSocket) QSctpSocket_PTR() *QSctpSocket { + return ptr +} + +func (ptr *QSctpSocket) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTcpSocket_PTR().Pointer() + } + return nil +} + +func (ptr *QSctpSocket) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTcpSocket_PTR().SetPointer(p) + } +} + +func PointerFromQSctpSocket(ptr QSctpSocket_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSctpSocket_PTR().Pointer() + } + return nil +} + +func NewQSctpSocketFromPointer(ptr unsafe.Pointer) (n *QSctpSocket) { + n = new(QSctpSocket) + n.SetPointer(ptr) + return +} + +type QSsl struct { + ptr unsafe.Pointer +} + +type QSsl_ITF interface { + QSsl_PTR() *QSsl +} + +func (ptr *QSsl) QSsl_PTR() *QSsl { + return ptr +} + +func (ptr *QSsl) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSsl) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSsl(ptr QSsl_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSsl_PTR().Pointer() + } + return nil +} + +func NewQSslFromPointer(ptr unsafe.Pointer) (n *QSsl) { + n = new(QSsl) + n.SetPointer(ptr) + return +} + +func (ptr *QSsl) DestroyQSsl() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QSsl__KeyType +//QSsl::KeyType +type QSsl__KeyType int64 + +const ( + QSsl__PrivateKey QSsl__KeyType = QSsl__KeyType(0) + QSsl__PublicKey QSsl__KeyType = QSsl__KeyType(1) +) + +//go:generate stringer -type=QSsl__EncodingFormat +//QSsl::EncodingFormat +type QSsl__EncodingFormat int64 + +const ( + QSsl__Pem QSsl__EncodingFormat = QSsl__EncodingFormat(0) + QSsl__Der QSsl__EncodingFormat = QSsl__EncodingFormat(1) +) + +//go:generate stringer -type=QSsl__KeyAlgorithm +//QSsl::KeyAlgorithm +type QSsl__KeyAlgorithm int64 + +const ( + QSsl__Opaque QSsl__KeyAlgorithm = QSsl__KeyAlgorithm(0) + QSsl__Rsa QSsl__KeyAlgorithm = QSsl__KeyAlgorithm(1) + QSsl__Dsa QSsl__KeyAlgorithm = QSsl__KeyAlgorithm(2) + QSsl__Ec QSsl__KeyAlgorithm = QSsl__KeyAlgorithm(3) + QSsl__Dh QSsl__KeyAlgorithm = QSsl__KeyAlgorithm(4) +) + +//go:generate stringer -type=QSsl__AlternativeNameEntryType +//QSsl::AlternativeNameEntryType +type QSsl__AlternativeNameEntryType int64 + +const ( + QSsl__EmailEntry QSsl__AlternativeNameEntryType = QSsl__AlternativeNameEntryType(0) + QSsl__DnsEntry QSsl__AlternativeNameEntryType = QSsl__AlternativeNameEntryType(1) + QSsl__IpAddressEntry QSsl__AlternativeNameEntryType = QSsl__AlternativeNameEntryType(2) +) + +//go:generate stringer -type=QSsl__SslProtocol +//QSsl::SslProtocol +type QSsl__SslProtocol int64 + +const ( + QSsl__SslV3 QSsl__SslProtocol = QSsl__SslProtocol(0) + QSsl__SslV2 QSsl__SslProtocol = QSsl__SslProtocol(1) + QSsl__TlsV1_0 QSsl__SslProtocol = QSsl__SslProtocol(2) + QSsl__TlsV1 QSsl__SslProtocol = QSsl__SslProtocol(QSsl__TlsV1_0) + QSsl__TlsV1_1 QSsl__SslProtocol = QSsl__SslProtocol(3) + QSsl__TlsV1_2 QSsl__SslProtocol = QSsl__SslProtocol(4) + QSsl__AnyProtocol QSsl__SslProtocol = QSsl__SslProtocol(5) + QSsl__TlsV1SslV3 QSsl__SslProtocol = QSsl__SslProtocol(6) + QSsl__SecureProtocols QSsl__SslProtocol = QSsl__SslProtocol(7) + QSsl__TlsV1_0OrLater QSsl__SslProtocol = QSsl__SslProtocol(8) + QSsl__TlsV1_1OrLater QSsl__SslProtocol = QSsl__SslProtocol(9) + QSsl__TlsV1_2OrLater QSsl__SslProtocol = QSsl__SslProtocol(10) + QSsl__DtlsV1_0 QSsl__SslProtocol = QSsl__SslProtocol(11) + QSsl__DtlsV1_0OrLater QSsl__SslProtocol = QSsl__SslProtocol(12) + QSsl__DtlsV1_2 QSsl__SslProtocol = QSsl__SslProtocol(13) + QSsl__DtlsV1_2OrLater QSsl__SslProtocol = QSsl__SslProtocol(14) + QSsl__TlsV1_3 QSsl__SslProtocol = QSsl__SslProtocol(15) + QSsl__TlsV1_3OrLater QSsl__SslProtocol = QSsl__SslProtocol(16) + QSsl__UnknownProtocol QSsl__SslProtocol = QSsl__SslProtocol(-1) +) + +//go:generate stringer -type=QSsl__SslOption +//QSsl::SslOption +type QSsl__SslOption int64 + +const ( + QSsl__SslOptionDisableEmptyFragments QSsl__SslOption = QSsl__SslOption(0x01) + QSsl__SslOptionDisableSessionTickets QSsl__SslOption = QSsl__SslOption(0x02) + QSsl__SslOptionDisableCompression QSsl__SslOption = QSsl__SslOption(0x04) + QSsl__SslOptionDisableServerNameIndication QSsl__SslOption = QSsl__SslOption(0x08) + QSsl__SslOptionDisableLegacyRenegotiation QSsl__SslOption = QSsl__SslOption(0x10) + QSsl__SslOptionDisableSessionSharing QSsl__SslOption = QSsl__SslOption(0x20) + QSsl__SslOptionDisableSessionPersistence QSsl__SslOption = QSsl__SslOption(0x40) + QSsl__SslOptionDisableServerCipherPreference QSsl__SslOption = QSsl__SslOption(0x80) +) + +type QSslCertificate struct { + ptr unsafe.Pointer +} + +type QSslCertificate_ITF interface { + QSslCertificate_PTR() *QSslCertificate +} + +func (ptr *QSslCertificate) QSslCertificate_PTR() *QSslCertificate { + return ptr +} + +func (ptr *QSslCertificate) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSslCertificate) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSslCertificate(ptr QSslCertificate_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslCertificate_PTR().Pointer() + } + return nil +} + +func NewQSslCertificateFromPointer(ptr unsafe.Pointer) (n *QSslCertificate) { + n = new(QSslCertificate) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSslCertificate__SubjectInfo +//QSslCertificate::SubjectInfo +type QSslCertificate__SubjectInfo int64 + +const ( + QSslCertificate__Organization QSslCertificate__SubjectInfo = QSslCertificate__SubjectInfo(0) + QSslCertificate__CommonName QSslCertificate__SubjectInfo = QSslCertificate__SubjectInfo(1) + QSslCertificate__LocalityName QSslCertificate__SubjectInfo = QSslCertificate__SubjectInfo(2) + QSslCertificate__OrganizationalUnitName QSslCertificate__SubjectInfo = QSslCertificate__SubjectInfo(3) + QSslCertificate__CountryName QSslCertificate__SubjectInfo = QSslCertificate__SubjectInfo(4) + QSslCertificate__StateOrProvinceName QSslCertificate__SubjectInfo = QSslCertificate__SubjectInfo(5) + QSslCertificate__DistinguishedNameQualifier QSslCertificate__SubjectInfo = QSslCertificate__SubjectInfo(6) + QSslCertificate__SerialNumber QSslCertificate__SubjectInfo = QSslCertificate__SubjectInfo(7) + QSslCertificate__EmailAddress QSslCertificate__SubjectInfo = QSslCertificate__SubjectInfo(8) +) + +func NewQSslCertificate(device core.QIODevice_ITF, format QSsl__EncodingFormat) *QSslCertificate { + tmpValue := NewQSslCertificateFromPointer(C.QSslCertificate_NewQSslCertificate(core.PointerFromQIODevice(device), C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue +} + +func NewQSslCertificate2(data core.QByteArray_ITF, format QSsl__EncodingFormat) *QSslCertificate { + tmpValue := NewQSslCertificateFromPointer(C.QSslCertificate_NewQSslCertificate2(core.PointerFromQByteArray(data), C.longlong(format))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue +} + +func NewQSslCertificate3(other QSslCertificate_ITF) *QSslCertificate { + tmpValue := NewQSslCertificateFromPointer(C.QSslCertificate_NewQSslCertificate3(PointerFromQSslCertificate(other))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue +} + +func (ptr *QSslCertificate) Clear() { + if ptr.Pointer() != nil { + C.QSslCertificate_Clear(ptr.Pointer()) + } +} + +func (ptr *QSslCertificate) Digest(algorithm core.QCryptographicHash__Algorithm) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslCertificate_Digest(ptr.Pointer(), C.longlong(algorithm))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) EffectiveDate() *core.QDateTime { + if ptr.Pointer() != nil { + tmpValue := core.NewQDateTimeFromPointer(C.QSslCertificate_EffectiveDate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) ExpiryDate() *core.QDateTime { + if ptr.Pointer() != nil { + tmpValue := core.NewQDateTimeFromPointer(C.QSslCertificate_ExpiryDate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) Extensions() []*QSslCertificateExtension { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificateExtension { + out := make([]*QSslCertificateExtension, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__extensions_atList(i) + } + return out + }(C.QSslCertificate_Extensions(ptr.Pointer())) + } + return make([]*QSslCertificateExtension, 0) +} + +func QSslCertificate_FromData(data core.QByteArray_ITF, format QSsl__EncodingFormat) []*QSslCertificate { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__fromData_atList(i) + } + return out + }(C.QSslCertificate_QSslCertificate_FromData(core.PointerFromQByteArray(data), C.longlong(format))) +} + +func (ptr *QSslCertificate) FromData(data core.QByteArray_ITF, format QSsl__EncodingFormat) []*QSslCertificate { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__fromData_atList(i) + } + return out + }(C.QSslCertificate_QSslCertificate_FromData(core.PointerFromQByteArray(data), C.longlong(format))) +} + +func QSslCertificate_FromDevice(device core.QIODevice_ITF, format QSsl__EncodingFormat) []*QSslCertificate { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__fromDevice_atList(i) + } + return out + }(C.QSslCertificate_QSslCertificate_FromDevice(core.PointerFromQIODevice(device), C.longlong(format))) +} + +func (ptr *QSslCertificate) FromDevice(device core.QIODevice_ITF, format QSsl__EncodingFormat) []*QSslCertificate { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__fromDevice_atList(i) + } + return out + }(C.QSslCertificate_QSslCertificate_FromDevice(core.PointerFromQIODevice(device), C.longlong(format))) +} + +func QSslCertificate_FromPath(path string, format QSsl__EncodingFormat, syntax core.QRegExp__PatternSyntax) []*QSslCertificate { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__fromPath_atList(i) + } + return out + }(C.QSslCertificate_QSslCertificate_FromPath(C.struct_QtNetwork_PackedString{data: pathC, len: C.longlong(len(path))}, C.longlong(format), C.longlong(syntax))) +} + +func (ptr *QSslCertificate) FromPath(path string, format QSsl__EncodingFormat, syntax core.QRegExp__PatternSyntax) []*QSslCertificate { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__fromPath_atList(i) + } + return out + }(C.QSslCertificate_QSslCertificate_FromPath(C.struct_QtNetwork_PackedString{data: pathC, len: C.longlong(len(path))}, C.longlong(format), C.longlong(syntax))) +} + +func QSslCertificate_ImportPkcs12(device core.QIODevice_ITF, key QSslKey_ITF, certificate QSslCertificate_ITF, caCertificates []*QSslCertificate, passPhrase core.QByteArray_ITF) bool { + return int8(C.QSslCertificate_QSslCertificate_ImportPkcs12(core.PointerFromQIODevice(device), PointerFromQSslKey(key), PointerFromQSslCertificate(certificate), func() unsafe.Pointer { + tmpList := NewQSslCertificateFromPointer(NewQSslCertificateFromPointer(nil).__importPkcs12_caCertificates_newList()) + for _, v := range caCertificates { + tmpList.__importPkcs12_caCertificates_setList(v) + } + return tmpList.Pointer() + }(), core.PointerFromQByteArray(passPhrase))) != 0 +} + +func (ptr *QSslCertificate) ImportPkcs12(device core.QIODevice_ITF, key QSslKey_ITF, certificate QSslCertificate_ITF, caCertificates []*QSslCertificate, passPhrase core.QByteArray_ITF) bool { + return int8(C.QSslCertificate_QSslCertificate_ImportPkcs12(core.PointerFromQIODevice(device), PointerFromQSslKey(key), PointerFromQSslCertificate(certificate), func() unsafe.Pointer { + tmpList := NewQSslCertificateFromPointer(NewQSslCertificateFromPointer(nil).__importPkcs12_caCertificates_newList()) + for _, v := range caCertificates { + tmpList.__importPkcs12_caCertificates_setList(v) + } + return tmpList.Pointer() + }(), core.PointerFromQByteArray(passPhrase))) != 0 +} + +func (ptr *QSslCertificate) IsBlacklisted() bool { + if ptr.Pointer() != nil { + return int8(C.QSslCertificate_IsBlacklisted(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslCertificate) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QSslCertificate_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslCertificate) IsSelfSigned() bool { + if ptr.Pointer() != nil { + return int8(C.QSslCertificate_IsSelfSigned(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslCertificate) IssuerDisplayName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCertificate_IssuerDisplayName(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslCertificate) IssuerInfo(subject QSslCertificate__SubjectInfo) []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QSslCertificate_IssuerInfo(ptr.Pointer(), C.longlong(subject)))) + } + return make([]string, 0) +} + +func (ptr *QSslCertificate) IssuerInfo2(attribute core.QByteArray_ITF) []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QSslCertificate_IssuerInfo2(ptr.Pointer(), core.PointerFromQByteArray(attribute)))) + } + return make([]string, 0) +} + +func (ptr *QSslCertificate) IssuerInfoAttributes() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__issuerInfoAttributes_atList(i) + } + return out + }(C.QSslCertificate_IssuerInfoAttributes(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QSslCertificate) PublicKey() *QSslKey { + if ptr.Pointer() != nil { + tmpValue := NewQSslKeyFromPointer(C.QSslCertificate_PublicKey(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslKey).DestroyQSslKey) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) SerialNumber() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslCertificate_SerialNumber(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) SubjectAlternativeNames() map[QSsl__AlternativeNameEntryType]string { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) map[QSsl__AlternativeNameEntryType]string { + out := make(map[QSsl__AlternativeNameEntryType]string, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i, v := range tmpList.__subjectAlternativeNames_keyList() { + out[v] = tmpList.__subjectAlternativeNames_atList(v, i) + } + return out + }(C.QSslCertificate_SubjectAlternativeNames(ptr.Pointer())) + } + return make(map[QSsl__AlternativeNameEntryType]string, 0) +} + +func (ptr *QSslCertificate) SubjectDisplayName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCertificate_SubjectDisplayName(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslCertificate) SubjectInfo(subject QSslCertificate__SubjectInfo) []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QSslCertificate_SubjectInfo(ptr.Pointer(), C.longlong(subject)))) + } + return make([]string, 0) +} + +func (ptr *QSslCertificate) SubjectInfo2(attribute core.QByteArray_ITF) []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QSslCertificate_SubjectInfo2(ptr.Pointer(), core.PointerFromQByteArray(attribute)))) + } + return make([]string, 0) +} + +func (ptr *QSslCertificate) SubjectInfoAttributes() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__subjectInfoAttributes_atList(i) + } + return out + }(C.QSslCertificate_SubjectInfoAttributes(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QSslCertificate) Swap(other QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate_Swap(ptr.Pointer(), PointerFromQSslCertificate(other)) + } +} + +func (ptr *QSslCertificate) ToDer() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslCertificate_ToDer(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) ToPem() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslCertificate_ToPem(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) ToText() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCertificate_ToText(ptr.Pointer())) + } + return "" +} + +func QSslCertificate_Verify(certificateChain []*QSslCertificate, hostName string) []*QSslError { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + return func(l C.struct_QtNetwork_PackedList) []*QSslError { + out := make([]*QSslError, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__verify_atList(i) + } + return out + }(C.QSslCertificate_QSslCertificate_Verify(func() unsafe.Pointer { + tmpList := NewQSslCertificateFromPointer(NewQSslCertificateFromPointer(nil).__verify_certificateChain_newList()) + for _, v := range certificateChain { + tmpList.__verify_certificateChain_setList(v) + } + return tmpList.Pointer() + }(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))})) +} + +func (ptr *QSslCertificate) Verify(certificateChain []*QSslCertificate, hostName string) []*QSslError { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + return func(l C.struct_QtNetwork_PackedList) []*QSslError { + out := make([]*QSslError, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__verify_atList(i) + } + return out + }(C.QSslCertificate_QSslCertificate_Verify(func() unsafe.Pointer { + tmpList := NewQSslCertificateFromPointer(NewQSslCertificateFromPointer(nil).__verify_certificateChain_newList()) + for _, v := range certificateChain { + tmpList.__verify_certificateChain_setList(v) + } + return tmpList.Pointer() + }(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))})) +} + +func (ptr *QSslCertificate) Version() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslCertificate_Version(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) DestroyQSslCertificate() { + if ptr.Pointer() != nil { + C.QSslCertificate_DestroyQSslCertificate(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSslCertificate) __extensions_atList(i int) *QSslCertificateExtension { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateExtensionFromPointer(C.QSslCertificate___extensions_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificateExtension).DestroyQSslCertificateExtension) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) __extensions_setList(i QSslCertificateExtension_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate___extensions_setList(ptr.Pointer(), PointerFromQSslCertificateExtension(i)) + } +} + +func (ptr *QSslCertificate) __extensions_newList() unsafe.Pointer { + return C.QSslCertificate___extensions_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) __fromData_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslCertificate___fromData_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) __fromData_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate___fromData_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslCertificate) __fromData_newList() unsafe.Pointer { + return C.QSslCertificate___fromData_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) __fromDevice_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslCertificate___fromDevice_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) __fromDevice_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate___fromDevice_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslCertificate) __fromDevice_newList() unsafe.Pointer { + return C.QSslCertificate___fromDevice_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) __fromPath_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslCertificate___fromPath_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) __fromPath_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate___fromPath_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslCertificate) __fromPath_newList() unsafe.Pointer { + return C.QSslCertificate___fromPath_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) __importPkcs12_caCertificates_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslCertificate___importPkcs12_caCertificates_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) __importPkcs12_caCertificates_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate___importPkcs12_caCertificates_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslCertificate) __importPkcs12_caCertificates_newList() unsafe.Pointer { + return C.QSslCertificate___importPkcs12_caCertificates_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) __issuerInfoAttributes_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslCertificate___issuerInfoAttributes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) __issuerInfoAttributes_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate___issuerInfoAttributes_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QSslCertificate) __issuerInfoAttributes_newList() unsafe.Pointer { + return C.QSslCertificate___issuerInfoAttributes_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) __subjectAlternativeNames_atList(v QSsl__AlternativeNameEntryType, i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCertificate___subjectAlternativeNames_atList(ptr.Pointer(), C.longlong(v), C.int(int32(i)))) + } + return "" +} + +func (ptr *QSslCertificate) __subjectAlternativeNames_setList(key QSsl__AlternativeNameEntryType, i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QSslCertificate___subjectAlternativeNames_setList(ptr.Pointer(), C.longlong(key), C.struct_QtNetwork_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QSslCertificate) __subjectAlternativeNames_newList() unsafe.Pointer { + return C.QSslCertificate___subjectAlternativeNames_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) __subjectAlternativeNames_keyList() []QSsl__AlternativeNameEntryType { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []QSsl__AlternativeNameEntryType { + out := make([]QSsl__AlternativeNameEntryType, int(l.len)) + tmpList := NewQSslCertificateFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____subjectAlternativeNames_keyList_atList(i) + } + return out + }(C.QSslCertificate___subjectAlternativeNames_keyList(ptr.Pointer())) + } + return make([]QSsl__AlternativeNameEntryType, 0) +} + +func (ptr *QSslCertificate) __subjectInfoAttributes_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslCertificate___subjectInfoAttributes_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) __subjectInfoAttributes_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate___subjectInfoAttributes_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QSslCertificate) __subjectInfoAttributes_newList() unsafe.Pointer { + return C.QSslCertificate___subjectInfoAttributes_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) __verify_atList(i int) *QSslError { + if ptr.Pointer() != nil { + tmpValue := NewQSslErrorFromPointer(C.QSslCertificate___verify_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) __verify_setList(i QSslError_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate___verify_setList(ptr.Pointer(), PointerFromQSslError(i)) + } +} + +func (ptr *QSslCertificate) __verify_newList() unsafe.Pointer { + return C.QSslCertificate___verify_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) __verify_certificateChain_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslCertificate___verify_certificateChain_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificate) __verify_certificateChain_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificate___verify_certificateChain_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslCertificate) __verify_certificateChain_newList() unsafe.Pointer { + return C.QSslCertificate___verify_certificateChain_newList(ptr.Pointer()) +} + +func (ptr *QSslCertificate) ____subjectAlternativeNames_keyList_atList(i int) QSsl__AlternativeNameEntryType { + if ptr.Pointer() != nil { + return QSsl__AlternativeNameEntryType(C.QSslCertificate_____subjectAlternativeNames_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return 0 +} + +func (ptr *QSslCertificate) ____subjectAlternativeNames_keyList_setList(i QSsl__AlternativeNameEntryType) { + if ptr.Pointer() != nil { + C.QSslCertificate_____subjectAlternativeNames_keyList_setList(ptr.Pointer(), C.longlong(i)) + } +} + +func (ptr *QSslCertificate) ____subjectAlternativeNames_keyList_newList() unsafe.Pointer { + return C.QSslCertificate_____subjectAlternativeNames_keyList_newList(ptr.Pointer()) +} + +type QSslCertificateExtension struct { + ptr unsafe.Pointer +} + +type QSslCertificateExtension_ITF interface { + QSslCertificateExtension_PTR() *QSslCertificateExtension +} + +func (ptr *QSslCertificateExtension) QSslCertificateExtension_PTR() *QSslCertificateExtension { + return ptr +} + +func (ptr *QSslCertificateExtension) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSslCertificateExtension) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSslCertificateExtension(ptr QSslCertificateExtension_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslCertificateExtension_PTR().Pointer() + } + return nil +} + +func NewQSslCertificateExtensionFromPointer(ptr unsafe.Pointer) (n *QSslCertificateExtension) { + n = new(QSslCertificateExtension) + n.SetPointer(ptr) + return +} +func NewQSslCertificateExtension() *QSslCertificateExtension { + tmpValue := NewQSslCertificateExtensionFromPointer(C.QSslCertificateExtension_NewQSslCertificateExtension()) + runtime.SetFinalizer(tmpValue, (*QSslCertificateExtension).DestroyQSslCertificateExtension) + return tmpValue +} + +func NewQSslCertificateExtension2(other QSslCertificateExtension_ITF) *QSslCertificateExtension { + tmpValue := NewQSslCertificateExtensionFromPointer(C.QSslCertificateExtension_NewQSslCertificateExtension2(PointerFromQSslCertificateExtension(other))) + runtime.SetFinalizer(tmpValue, (*QSslCertificateExtension).DestroyQSslCertificateExtension) + return tmpValue +} + +func (ptr *QSslCertificateExtension) IsCritical() bool { + if ptr.Pointer() != nil { + return int8(C.QSslCertificateExtension_IsCritical(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslCertificateExtension) IsSupported() bool { + if ptr.Pointer() != nil { + return int8(C.QSslCertificateExtension_IsSupported(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslCertificateExtension) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCertificateExtension_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslCertificateExtension) Oid() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCertificateExtension_Oid(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslCertificateExtension) Swap(other QSslCertificateExtension_ITF) { + if ptr.Pointer() != nil { + C.QSslCertificateExtension_Swap(ptr.Pointer(), PointerFromQSslCertificateExtension(other)) + } +} + +func (ptr *QSslCertificateExtension) Value() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QSslCertificateExtension_Value(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QSslCertificateExtension) DestroyQSslCertificateExtension() { + if ptr.Pointer() != nil { + C.QSslCertificateExtension_DestroyQSslCertificateExtension(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSslCipher struct { + ptr unsafe.Pointer +} + +type QSslCipher_ITF interface { + QSslCipher_PTR() *QSslCipher +} + +func (ptr *QSslCipher) QSslCipher_PTR() *QSslCipher { + return ptr +} + +func (ptr *QSslCipher) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSslCipher) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSslCipher(ptr QSslCipher_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslCipher_PTR().Pointer() + } + return nil +} + +func NewQSslCipherFromPointer(ptr unsafe.Pointer) (n *QSslCipher) { + n = new(QSslCipher) + n.SetPointer(ptr) + return +} +func NewQSslCipher() *QSslCipher { + tmpValue := NewQSslCipherFromPointer(C.QSslCipher_NewQSslCipher()) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue +} + +func NewQSslCipher2(name string) *QSslCipher { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQSslCipherFromPointer(C.QSslCipher_NewQSslCipher2(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue +} + +func NewQSslCipher3(name string, protocol QSsl__SslProtocol) *QSslCipher { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQSslCipherFromPointer(C.QSslCipher_NewQSslCipher3(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))}, C.longlong(protocol))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue +} + +func NewQSslCipher4(other QSslCipher_ITF) *QSslCipher { + tmpValue := NewQSslCipherFromPointer(C.QSslCipher_NewQSslCipher4(PointerFromQSslCipher(other))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue +} + +func (ptr *QSslCipher) AuthenticationMethod() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCipher_AuthenticationMethod(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslCipher) EncryptionMethod() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCipher_EncryptionMethod(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslCipher) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QSslCipher_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslCipher) KeyExchangeMethod() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCipher_KeyExchangeMethod(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslCipher) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCipher_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslCipher) Protocol() QSsl__SslProtocol { + if ptr.Pointer() != nil { + return QSsl__SslProtocol(C.QSslCipher_Protocol(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslCipher) ProtocolString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslCipher_ProtocolString(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslCipher) SupportedBits() int { + if ptr.Pointer() != nil { + return int(int32(C.QSslCipher_SupportedBits(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSslCipher) Swap(other QSslCipher_ITF) { + if ptr.Pointer() != nil { + C.QSslCipher_Swap(ptr.Pointer(), PointerFromQSslCipher(other)) + } +} + +func (ptr *QSslCipher) UsedBits() int { + if ptr.Pointer() != nil { + return int(int32(C.QSslCipher_UsedBits(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSslCipher) DestroyQSslCipher() { + if ptr.Pointer() != nil { + C.QSslCipher_DestroyQSslCipher(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSslConfiguration struct { + ptr unsafe.Pointer +} + +type QSslConfiguration_ITF interface { + QSslConfiguration_PTR() *QSslConfiguration +} + +func (ptr *QSslConfiguration) QSslConfiguration_PTR() *QSslConfiguration { + return ptr +} + +func (ptr *QSslConfiguration) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSslConfiguration) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSslConfiguration(ptr QSslConfiguration_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslConfiguration_PTR().Pointer() + } + return nil +} + +func NewQSslConfigurationFromPointer(ptr unsafe.Pointer) (n *QSslConfiguration) { + n = new(QSslConfiguration) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSslConfiguration__NextProtocolNegotiationStatus +//QSslConfiguration::NextProtocolNegotiationStatus +type QSslConfiguration__NextProtocolNegotiationStatus int64 + +const ( + QSslConfiguration__NextProtocolNegotiationNone QSslConfiguration__NextProtocolNegotiationStatus = QSslConfiguration__NextProtocolNegotiationStatus(0) + QSslConfiguration__NextProtocolNegotiationNegotiated QSslConfiguration__NextProtocolNegotiationStatus = QSslConfiguration__NextProtocolNegotiationStatus(1) + QSslConfiguration__NextProtocolNegotiationUnsupported QSslConfiguration__NextProtocolNegotiationStatus = QSslConfiguration__NextProtocolNegotiationStatus(2) +) + +func NewQSslConfiguration() *QSslConfiguration { + tmpValue := NewQSslConfigurationFromPointer(C.QSslConfiguration_NewQSslConfiguration()) + runtime.SetFinalizer(tmpValue, (*QSslConfiguration).DestroyQSslConfiguration) + return tmpValue +} + +func NewQSslConfiguration2(other QSslConfiguration_ITF) *QSslConfiguration { + tmpValue := NewQSslConfigurationFromPointer(C.QSslConfiguration_NewQSslConfiguration2(PointerFromQSslConfiguration(other))) + runtime.SetFinalizer(tmpValue, (*QSslConfiguration).DestroyQSslConfiguration) + return tmpValue +} + +func (ptr *QSslConfiguration) AllowedNextProtocols() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__allowedNextProtocols_atList(i) + } + return out + }(C.QSslConfiguration_AllowedNextProtocols(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QSslConfiguration) BackendConfiguration() map[*core.QByteArray]*core.QVariant { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) map[*core.QByteArray]*core.QVariant { + out := make(map[*core.QByteArray]*core.QVariant, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i, v := range tmpList.__backendConfiguration_keyList() { + out[v] = tmpList.__backendConfiguration_atList(v, i) + } + return out + }(C.QSslConfiguration_BackendConfiguration(ptr.Pointer())) + } + return make(map[*core.QByteArray]*core.QVariant, 0) +} + +func (ptr *QSslConfiguration) CaCertificates() []*QSslCertificate { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__caCertificates_atList(i) + } + return out + }(C.QSslConfiguration_CaCertificates(ptr.Pointer())) + } + return make([]*QSslCertificate, 0) +} + +func (ptr *QSslConfiguration) Ciphers() []*QSslCipher { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QSslCipher { + out := make([]*QSslCipher, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__ciphers_atList(i) + } + return out + }(C.QSslConfiguration_Ciphers(ptr.Pointer())) + } + return make([]*QSslCipher, 0) +} + +func QSslConfiguration_DefaultConfiguration() *QSslConfiguration { + tmpValue := NewQSslConfigurationFromPointer(C.QSslConfiguration_QSslConfiguration_DefaultConfiguration()) + runtime.SetFinalizer(tmpValue, (*QSslConfiguration).DestroyQSslConfiguration) + return tmpValue +} + +func (ptr *QSslConfiguration) DefaultConfiguration() *QSslConfiguration { + tmpValue := NewQSslConfigurationFromPointer(C.QSslConfiguration_QSslConfiguration_DefaultConfiguration()) + runtime.SetFinalizer(tmpValue, (*QSslConfiguration).DestroyQSslConfiguration) + return tmpValue +} + +func (ptr *QSslConfiguration) DiffieHellmanParameters() *QSslDiffieHellmanParameters { + if ptr.Pointer() != nil { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslConfiguration_DiffieHellmanParameters(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) EphemeralServerKey() *QSslKey { + if ptr.Pointer() != nil { + tmpValue := NewQSslKeyFromPointer(C.QSslConfiguration_EphemeralServerKey(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslKey).DestroyQSslKey) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QSslConfiguration_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslConfiguration) LocalCertificate() *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslConfiguration_LocalCertificate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) LocalCertificateChain() []*QSslCertificate { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__localCertificateChain_atList(i) + } + return out + }(C.QSslConfiguration_LocalCertificateChain(ptr.Pointer())) + } + return make([]*QSslCertificate, 0) +} + +func (ptr *QSslConfiguration) NextNegotiatedProtocol() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslConfiguration_NextNegotiatedProtocol(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) NextProtocolNegotiationStatus() QSslConfiguration__NextProtocolNegotiationStatus { + if ptr.Pointer() != nil { + return QSslConfiguration__NextProtocolNegotiationStatus(C.QSslConfiguration_NextProtocolNegotiationStatus(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslConfiguration) OcspStaplingEnabled() bool { + if ptr.Pointer() != nil { + return int8(C.QSslConfiguration_OcspStaplingEnabled(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslConfiguration) PeerCertificate() *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslConfiguration_PeerCertificate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) PeerCertificateChain() []*QSslCertificate { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__peerCertificateChain_atList(i) + } + return out + }(C.QSslConfiguration_PeerCertificateChain(ptr.Pointer())) + } + return make([]*QSslCertificate, 0) +} + +func (ptr *QSslConfiguration) PeerVerifyDepth() int { + if ptr.Pointer() != nil { + return int(int32(C.QSslConfiguration_PeerVerifyDepth(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSslConfiguration) PeerVerifyMode() QSslSocket__PeerVerifyMode { + if ptr.Pointer() != nil { + return QSslSocket__PeerVerifyMode(C.QSslConfiguration_PeerVerifyMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslConfiguration) PreSharedKeyIdentityHint() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslConfiguration_PreSharedKeyIdentityHint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) PrivateKey() *QSslKey { + if ptr.Pointer() != nil { + tmpValue := NewQSslKeyFromPointer(C.QSslConfiguration_PrivateKey(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslKey).DestroyQSslKey) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) Protocol() QSsl__SslProtocol { + if ptr.Pointer() != nil { + return QSsl__SslProtocol(C.QSslConfiguration_Protocol(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslConfiguration) SessionCipher() *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslConfiguration_SessionCipher(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) SessionProtocol() QSsl__SslProtocol { + if ptr.Pointer() != nil { + return QSsl__SslProtocol(C.QSslConfiguration_SessionProtocol(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslConfiguration) SessionTicket() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslConfiguration_SessionTicket(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) SessionTicketLifeTimeHint() int { + if ptr.Pointer() != nil { + return int(int32(C.QSslConfiguration_SessionTicketLifeTimeHint(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSslConfiguration) SetAllowedNextProtocols(protocols []*core.QByteArray) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetAllowedNextProtocols(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslConfigurationFromPointer(NewQSslConfigurationFromPointer(nil).__setAllowedNextProtocols_protocols_newList()) + for _, v := range protocols { + tmpList.__setAllowedNextProtocols_protocols_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QSslConfiguration) SetBackendConfiguration(backendConfiguration map[*core.QByteArray]*core.QVariant) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetBackendConfiguration(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslConfigurationFromPointer(NewQSslConfigurationFromPointer(nil).__setBackendConfiguration_backendConfiguration_newList()) + for k, v := range backendConfiguration { + tmpList.__setBackendConfiguration_backendConfiguration_setList(k, v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QSslConfiguration) SetBackendConfigurationOption(name core.QByteArray_ITF, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetBackendConfigurationOption(ptr.Pointer(), core.PointerFromQByteArray(name), core.PointerFromQVariant(value)) + } +} + +func (ptr *QSslConfiguration) SetCaCertificates(certificates []*QSslCertificate) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetCaCertificates(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslConfigurationFromPointer(NewQSslConfigurationFromPointer(nil).__setCaCertificates_certificates_newList()) + for _, v := range certificates { + tmpList.__setCaCertificates_certificates_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QSslConfiguration) SetCiphers(ciphers []*QSslCipher) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetCiphers(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslConfigurationFromPointer(NewQSslConfigurationFromPointer(nil).__setCiphers_ciphers_newList()) + for _, v := range ciphers { + tmpList.__setCiphers_ciphers_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func QSslConfiguration_SetDefaultConfiguration(configuration QSslConfiguration_ITF) { + C.QSslConfiguration_QSslConfiguration_SetDefaultConfiguration(PointerFromQSslConfiguration(configuration)) +} + +func (ptr *QSslConfiguration) SetDefaultConfiguration(configuration QSslConfiguration_ITF) { + C.QSslConfiguration_QSslConfiguration_SetDefaultConfiguration(PointerFromQSslConfiguration(configuration)) +} + +func (ptr *QSslConfiguration) SetDiffieHellmanParameters(dhparams QSslDiffieHellmanParameters_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetDiffieHellmanParameters(ptr.Pointer(), PointerFromQSslDiffieHellmanParameters(dhparams)) + } +} + +func (ptr *QSslConfiguration) SetEllipticCurves(curves []*QSslEllipticCurve) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetEllipticCurves(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslConfigurationFromPointer(NewQSslConfigurationFromPointer(nil).__setEllipticCurves_curves_newList()) + for _, v := range curves { + tmpList.__setEllipticCurves_curves_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QSslConfiguration) SetLocalCertificate(certificate QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetLocalCertificate(ptr.Pointer(), PointerFromQSslCertificate(certificate)) + } +} + +func (ptr *QSslConfiguration) SetLocalCertificateChain(localChain []*QSslCertificate) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetLocalCertificateChain(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslConfigurationFromPointer(NewQSslConfigurationFromPointer(nil).__setLocalCertificateChain_localChain_newList()) + for _, v := range localChain { + tmpList.__setLocalCertificateChain_localChain_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QSslConfiguration) SetOcspStaplingEnabled(enabled bool) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetOcspStaplingEnabled(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QSslConfiguration) SetPeerVerifyDepth(depth int) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetPeerVerifyDepth(ptr.Pointer(), C.int(int32(depth))) + } +} + +func (ptr *QSslConfiguration) SetPeerVerifyMode(mode QSslSocket__PeerVerifyMode) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetPeerVerifyMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QSslConfiguration) SetPreSharedKeyIdentityHint(hint core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetPreSharedKeyIdentityHint(ptr.Pointer(), core.PointerFromQByteArray(hint)) + } +} + +func (ptr *QSslConfiguration) SetPrivateKey(key QSslKey_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetPrivateKey(ptr.Pointer(), PointerFromQSslKey(key)) + } +} + +func (ptr *QSslConfiguration) SetProtocol(protocol QSsl__SslProtocol) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetProtocol(ptr.Pointer(), C.longlong(protocol)) + } +} + +func (ptr *QSslConfiguration) SetSessionTicket(sessionTicket core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetSessionTicket(ptr.Pointer(), core.PointerFromQByteArray(sessionTicket)) + } +} + +func (ptr *QSslConfiguration) SetSslOption(option QSsl__SslOption, on bool) { + if ptr.Pointer() != nil { + C.QSslConfiguration_SetSslOption(ptr.Pointer(), C.longlong(option), C.char(int8(qt.GoBoolToInt(on)))) + } +} + +func QSslConfiguration_SupportedCiphers() []*QSslCipher { + return func(l C.struct_QtNetwork_PackedList) []*QSslCipher { + out := make([]*QSslCipher, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedCiphers_atList(i) + } + return out + }(C.QSslConfiguration_QSslConfiguration_SupportedCiphers()) +} + +func (ptr *QSslConfiguration) SupportedCiphers() []*QSslCipher { + return func(l C.struct_QtNetwork_PackedList) []*QSslCipher { + out := make([]*QSslCipher, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__supportedCiphers_atList(i) + } + return out + }(C.QSslConfiguration_QSslConfiguration_SupportedCiphers()) +} + +func (ptr *QSslConfiguration) Swap(other QSslConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration_Swap(ptr.Pointer(), PointerFromQSslConfiguration(other)) + } +} + +func QSslConfiguration_SystemCaCertificates() []*QSslCertificate { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__systemCaCertificates_atList(i) + } + return out + }(C.QSslConfiguration_QSslConfiguration_SystemCaCertificates()) +} + +func (ptr *QSslConfiguration) SystemCaCertificates() []*QSslCertificate { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__systemCaCertificates_atList(i) + } + return out + }(C.QSslConfiguration_QSslConfiguration_SystemCaCertificates()) +} + +func (ptr *QSslConfiguration) TestSslOption(option QSsl__SslOption) bool { + if ptr.Pointer() != nil { + return int8(C.QSslConfiguration_TestSslOption(ptr.Pointer(), C.longlong(option))) != 0 + } + return false +} + +func (ptr *QSslConfiguration) DestroyQSslConfiguration() { + if ptr.Pointer() != nil { + C.QSslConfiguration_DestroyQSslConfiguration(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSslConfiguration) __allowedNextProtocols_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslConfiguration___allowedNextProtocols_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __allowedNextProtocols_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___allowedNextProtocols_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QSslConfiguration) __allowedNextProtocols_newList() unsafe.Pointer { + return C.QSslConfiguration___allowedNextProtocols_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __backendConfiguration_atList(v core.QByteArray_ITF, i int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QSslConfiguration___backendConfiguration_atList(ptr.Pointer(), core.PointerFromQByteArray(v), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __backendConfiguration_setList(key core.QByteArray_ITF, i core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___backendConfiguration_setList(ptr.Pointer(), core.PointerFromQByteArray(key), core.PointerFromQVariant(i)) + } +} + +func (ptr *QSslConfiguration) __backendConfiguration_newList() unsafe.Pointer { + return C.QSslConfiguration___backendConfiguration_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __backendConfiguration_keyList() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____backendConfiguration_keyList_atList(i) + } + return out + }(C.QSslConfiguration___backendConfiguration_keyList(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QSslConfiguration) __caCertificates_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslConfiguration___caCertificates_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __caCertificates_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___caCertificates_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslConfiguration) __caCertificates_newList() unsafe.Pointer { + return C.QSslConfiguration___caCertificates_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __ciphers_atList(i int) *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslConfiguration___ciphers_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __ciphers_setList(i QSslCipher_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___ciphers_setList(ptr.Pointer(), PointerFromQSslCipher(i)) + } +} + +func (ptr *QSslConfiguration) __ciphers_newList() unsafe.Pointer { + return C.QSslConfiguration___ciphers_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __ellipticCurves_atList(i int) *QSslEllipticCurve { + if ptr.Pointer() != nil { + tmpValue := NewQSslEllipticCurveFromPointer(C.QSslConfiguration___ellipticCurves_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslEllipticCurve).DestroyQSslEllipticCurve) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __ellipticCurves_setList(i QSslEllipticCurve_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___ellipticCurves_setList(ptr.Pointer(), PointerFromQSslEllipticCurve(i)) + } +} + +func (ptr *QSslConfiguration) __ellipticCurves_newList() unsafe.Pointer { + return C.QSslConfiguration___ellipticCurves_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __localCertificateChain_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslConfiguration___localCertificateChain_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __localCertificateChain_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___localCertificateChain_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslConfiguration) __localCertificateChain_newList() unsafe.Pointer { + return C.QSslConfiguration___localCertificateChain_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __peerCertificateChain_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslConfiguration___peerCertificateChain_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __peerCertificateChain_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___peerCertificateChain_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslConfiguration) __peerCertificateChain_newList() unsafe.Pointer { + return C.QSslConfiguration___peerCertificateChain_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __setAllowedNextProtocols_protocols_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslConfiguration___setAllowedNextProtocols_protocols_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __setAllowedNextProtocols_protocols_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___setAllowedNextProtocols_protocols_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QSslConfiguration) __setAllowedNextProtocols_protocols_newList() unsafe.Pointer { + return C.QSslConfiguration___setAllowedNextProtocols_protocols_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __setBackendConfiguration_backendConfiguration_atList(v core.QByteArray_ITF, i int) *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QSslConfiguration___setBackendConfiguration_backendConfiguration_atList(ptr.Pointer(), core.PointerFromQByteArray(v), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __setBackendConfiguration_backendConfiguration_setList(key core.QByteArray_ITF, i core.QVariant_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___setBackendConfiguration_backendConfiguration_setList(ptr.Pointer(), core.PointerFromQByteArray(key), core.PointerFromQVariant(i)) + } +} + +func (ptr *QSslConfiguration) __setBackendConfiguration_backendConfiguration_newList() unsafe.Pointer { + return C.QSslConfiguration___setBackendConfiguration_backendConfiguration_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __setBackendConfiguration_backendConfiguration_keyList() []*core.QByteArray { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*core.QByteArray { + out := make([]*core.QByteArray, int(l.len)) + tmpList := NewQSslConfigurationFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____setBackendConfiguration_backendConfiguration_keyList_atList(i) + } + return out + }(C.QSslConfiguration___setBackendConfiguration_backendConfiguration_keyList(ptr.Pointer())) + } + return make([]*core.QByteArray, 0) +} + +func (ptr *QSslConfiguration) __setCaCertificates_certificates_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslConfiguration___setCaCertificates_certificates_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __setCaCertificates_certificates_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___setCaCertificates_certificates_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslConfiguration) __setCaCertificates_certificates_newList() unsafe.Pointer { + return C.QSslConfiguration___setCaCertificates_certificates_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __setCiphers_ciphers_atList(i int) *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslConfiguration___setCiphers_ciphers_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __setCiphers_ciphers_setList(i QSslCipher_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___setCiphers_ciphers_setList(ptr.Pointer(), PointerFromQSslCipher(i)) + } +} + +func (ptr *QSslConfiguration) __setCiphers_ciphers_newList() unsafe.Pointer { + return C.QSslConfiguration___setCiphers_ciphers_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __setEllipticCurves_curves_atList(i int) *QSslEllipticCurve { + if ptr.Pointer() != nil { + tmpValue := NewQSslEllipticCurveFromPointer(C.QSslConfiguration___setEllipticCurves_curves_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslEllipticCurve).DestroyQSslEllipticCurve) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __setEllipticCurves_curves_setList(i QSslEllipticCurve_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___setEllipticCurves_curves_setList(ptr.Pointer(), PointerFromQSslEllipticCurve(i)) + } +} + +func (ptr *QSslConfiguration) __setEllipticCurves_curves_newList() unsafe.Pointer { + return C.QSslConfiguration___setEllipticCurves_curves_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __setLocalCertificateChain_localChain_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslConfiguration___setLocalCertificateChain_localChain_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __setLocalCertificateChain_localChain_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___setLocalCertificateChain_localChain_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslConfiguration) __setLocalCertificateChain_localChain_newList() unsafe.Pointer { + return C.QSslConfiguration___setLocalCertificateChain_localChain_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __supportedCiphers_atList(i int) *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslConfiguration___supportedCiphers_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __supportedCiphers_setList(i QSslCipher_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___supportedCiphers_setList(ptr.Pointer(), PointerFromQSslCipher(i)) + } +} + +func (ptr *QSslConfiguration) __supportedCiphers_newList() unsafe.Pointer { + return C.QSslConfiguration___supportedCiphers_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __supportedEllipticCurves_atList(i int) *QSslEllipticCurve { + if ptr.Pointer() != nil { + tmpValue := NewQSslEllipticCurveFromPointer(C.QSslConfiguration___supportedEllipticCurves_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslEllipticCurve).DestroyQSslEllipticCurve) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __supportedEllipticCurves_setList(i QSslEllipticCurve_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___supportedEllipticCurves_setList(ptr.Pointer(), PointerFromQSslEllipticCurve(i)) + } +} + +func (ptr *QSslConfiguration) __supportedEllipticCurves_newList() unsafe.Pointer { + return C.QSslConfiguration___supportedEllipticCurves_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) __systemCaCertificates_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslConfiguration___systemCaCertificates_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) __systemCaCertificates_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration___systemCaCertificates_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslConfiguration) __systemCaCertificates_newList() unsafe.Pointer { + return C.QSslConfiguration___systemCaCertificates_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) ____backendConfiguration_keyList_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslConfiguration_____backendConfiguration_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) ____backendConfiguration_keyList_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration_____backendConfiguration_keyList_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QSslConfiguration) ____backendConfiguration_keyList_newList() unsafe.Pointer { + return C.QSslConfiguration_____backendConfiguration_keyList_newList(ptr.Pointer()) +} + +func (ptr *QSslConfiguration) ____setBackendConfiguration_backendConfiguration_keyList_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslConfiguration_____setBackendConfiguration_backendConfiguration_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslConfiguration) ____setBackendConfiguration_backendConfiguration_keyList_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslConfiguration_____setBackendConfiguration_backendConfiguration_keyList_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QSslConfiguration) ____setBackendConfiguration_backendConfiguration_keyList_newList() unsafe.Pointer { + return C.QSslConfiguration_____setBackendConfiguration_backendConfiguration_keyList_newList(ptr.Pointer()) +} + +type QSslDiffieHellmanParameters struct { + ptr unsafe.Pointer +} + +type QSslDiffieHellmanParameters_ITF interface { + QSslDiffieHellmanParameters_PTR() *QSslDiffieHellmanParameters +} + +func (ptr *QSslDiffieHellmanParameters) QSslDiffieHellmanParameters_PTR() *QSslDiffieHellmanParameters { + return ptr +} + +func (ptr *QSslDiffieHellmanParameters) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSslDiffieHellmanParameters) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSslDiffieHellmanParameters(ptr QSslDiffieHellmanParameters_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslDiffieHellmanParameters_PTR().Pointer() + } + return nil +} + +func NewQSslDiffieHellmanParametersFromPointer(ptr unsafe.Pointer) (n *QSslDiffieHellmanParameters) { + n = new(QSslDiffieHellmanParameters) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSslDiffieHellmanParameters__Error +//QSslDiffieHellmanParameters::Error +type QSslDiffieHellmanParameters__Error int64 + +const ( + QSslDiffieHellmanParameters__NoError QSslDiffieHellmanParameters__Error = QSslDiffieHellmanParameters__Error(0) + QSslDiffieHellmanParameters__InvalidInputDataError QSslDiffieHellmanParameters__Error = QSslDiffieHellmanParameters__Error(1) + QSslDiffieHellmanParameters__UnsafeParametersError QSslDiffieHellmanParameters__Error = QSslDiffieHellmanParameters__Error(2) +) + +func NewQSslDiffieHellmanParameters() *QSslDiffieHellmanParameters { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslDiffieHellmanParameters_NewQSslDiffieHellmanParameters()) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue +} + +func NewQSslDiffieHellmanParameters2(other QSslDiffieHellmanParameters_ITF) *QSslDiffieHellmanParameters { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslDiffieHellmanParameters_NewQSslDiffieHellmanParameters2(PointerFromQSslDiffieHellmanParameters(other))) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue +} + +func NewQSslDiffieHellmanParameters3(other QSslDiffieHellmanParameters_ITF) *QSslDiffieHellmanParameters { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslDiffieHellmanParameters_NewQSslDiffieHellmanParameters3(PointerFromQSslDiffieHellmanParameters(other))) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue +} + +func QSslDiffieHellmanParameters_DefaultParameters() *QSslDiffieHellmanParameters { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_DefaultParameters()) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue +} + +func (ptr *QSslDiffieHellmanParameters) DefaultParameters() *QSslDiffieHellmanParameters { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_DefaultParameters()) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue +} + +func (ptr *QSslDiffieHellmanParameters) Error() QSslDiffieHellmanParameters__Error { + if ptr.Pointer() != nil { + return QSslDiffieHellmanParameters__Error(C.QSslDiffieHellmanParameters_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslDiffieHellmanParameters) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslDiffieHellmanParameters_ErrorString(ptr.Pointer())) + } + return "" +} + +func QSslDiffieHellmanParameters_FromEncoded(encoded core.QByteArray_ITF, encoding QSsl__EncodingFormat) *QSslDiffieHellmanParameters { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_FromEncoded(core.PointerFromQByteArray(encoded), C.longlong(encoding))) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue +} + +func (ptr *QSslDiffieHellmanParameters) FromEncoded(encoded core.QByteArray_ITF, encoding QSsl__EncodingFormat) *QSslDiffieHellmanParameters { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_FromEncoded(core.PointerFromQByteArray(encoded), C.longlong(encoding))) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue +} + +func QSslDiffieHellmanParameters_FromEncoded2(device core.QIODevice_ITF, encoding QSsl__EncodingFormat) *QSslDiffieHellmanParameters { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_FromEncoded2(core.PointerFromQIODevice(device), C.longlong(encoding))) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue +} + +func (ptr *QSslDiffieHellmanParameters) FromEncoded2(device core.QIODevice_ITF, encoding QSsl__EncodingFormat) *QSslDiffieHellmanParameters { + tmpValue := NewQSslDiffieHellmanParametersFromPointer(C.QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_FromEncoded2(core.PointerFromQIODevice(device), C.longlong(encoding))) + runtime.SetFinalizer(tmpValue, (*QSslDiffieHellmanParameters).DestroyQSslDiffieHellmanParameters) + return tmpValue +} + +func (ptr *QSslDiffieHellmanParameters) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QSslDiffieHellmanParameters_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslDiffieHellmanParameters) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QSslDiffieHellmanParameters_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslDiffieHellmanParameters) Swap(other QSslDiffieHellmanParameters_ITF) { + if ptr.Pointer() != nil { + C.QSslDiffieHellmanParameters_Swap(ptr.Pointer(), PointerFromQSslDiffieHellmanParameters(other)) + } +} + +func (ptr *QSslDiffieHellmanParameters) DestroyQSslDiffieHellmanParameters() { + if ptr.Pointer() != nil { + C.QSslDiffieHellmanParameters_DestroyQSslDiffieHellmanParameters(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSslEllipticCurve struct { + ptr unsafe.Pointer +} + +type QSslEllipticCurve_ITF interface { + QSslEllipticCurve_PTR() *QSslEllipticCurve +} + +func (ptr *QSslEllipticCurve) QSslEllipticCurve_PTR() *QSslEllipticCurve { + return ptr +} + +func (ptr *QSslEllipticCurve) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSslEllipticCurve) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSslEllipticCurve(ptr QSslEllipticCurve_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslEllipticCurve_PTR().Pointer() + } + return nil +} + +func NewQSslEllipticCurveFromPointer(ptr unsafe.Pointer) (n *QSslEllipticCurve) { + n = new(QSslEllipticCurve) + n.SetPointer(ptr) + return +} + +func (ptr *QSslEllipticCurve) DestroyQSslEllipticCurve() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQSslEllipticCurve() *QSslEllipticCurve { + tmpValue := NewQSslEllipticCurveFromPointer(C.QSslEllipticCurve_NewQSslEllipticCurve()) + runtime.SetFinalizer(tmpValue, (*QSslEllipticCurve).DestroyQSslEllipticCurve) + return tmpValue +} + +func QSslEllipticCurve_FromLongName(name string) *QSslEllipticCurve { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQSslEllipticCurveFromPointer(C.QSslEllipticCurve_QSslEllipticCurve_FromLongName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QSslEllipticCurve).DestroyQSslEllipticCurve) + return tmpValue +} + +func (ptr *QSslEllipticCurve) FromLongName(name string) *QSslEllipticCurve { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQSslEllipticCurveFromPointer(C.QSslEllipticCurve_QSslEllipticCurve_FromLongName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QSslEllipticCurve).DestroyQSslEllipticCurve) + return tmpValue +} + +func QSslEllipticCurve_FromShortName(name string) *QSslEllipticCurve { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQSslEllipticCurveFromPointer(C.QSslEllipticCurve_QSslEllipticCurve_FromShortName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QSslEllipticCurve).DestroyQSslEllipticCurve) + return tmpValue +} + +func (ptr *QSslEllipticCurve) FromShortName(name string) *QSslEllipticCurve { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQSslEllipticCurveFromPointer(C.QSslEllipticCurve_QSslEllipticCurve_FromShortName(C.struct_QtNetwork_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QSslEllipticCurve).DestroyQSslEllipticCurve) + return tmpValue +} + +func (ptr *QSslEllipticCurve) IsTlsNamedCurve() bool { + if ptr.Pointer() != nil { + return int8(C.QSslEllipticCurve_IsTlsNamedCurve(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslEllipticCurve) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QSslEllipticCurve_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslEllipticCurve) LongName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslEllipticCurve_LongName(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslEllipticCurve) ShortName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslEllipticCurve_ShortName(ptr.Pointer())) + } + return "" +} + +type QSslError struct { + ptr unsafe.Pointer +} + +type QSslError_ITF interface { + QSslError_PTR() *QSslError +} + +func (ptr *QSslError) QSslError_PTR() *QSslError { + return ptr +} + +func (ptr *QSslError) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSslError) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSslError(ptr QSslError_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslError_PTR().Pointer() + } + return nil +} + +func NewQSslErrorFromPointer(ptr unsafe.Pointer) (n *QSslError) { + n = new(QSslError) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSslError__SslError +//QSslError::SslError +type QSslError__SslError int64 + +const ( + QSslError__NoError QSslError__SslError = QSslError__SslError(0) + QSslError__UnableToGetIssuerCertificate QSslError__SslError = QSslError__SslError(1) + QSslError__UnableToDecryptCertificateSignature QSslError__SslError = QSslError__SslError(2) + QSslError__UnableToDecodeIssuerPublicKey QSslError__SslError = QSslError__SslError(3) + QSslError__CertificateSignatureFailed QSslError__SslError = QSslError__SslError(4) + QSslError__CertificateNotYetValid QSslError__SslError = QSslError__SslError(5) + QSslError__CertificateExpired QSslError__SslError = QSslError__SslError(6) + QSslError__InvalidNotBeforeField QSslError__SslError = QSslError__SslError(7) + QSslError__InvalidNotAfterField QSslError__SslError = QSslError__SslError(8) + QSslError__SelfSignedCertificate QSslError__SslError = QSslError__SslError(9) + QSslError__SelfSignedCertificateInChain QSslError__SslError = QSslError__SslError(10) + QSslError__UnableToGetLocalIssuerCertificate QSslError__SslError = QSslError__SslError(11) + QSslError__UnableToVerifyFirstCertificate QSslError__SslError = QSslError__SslError(12) + QSslError__CertificateRevoked QSslError__SslError = QSslError__SslError(13) + QSslError__InvalidCaCertificate QSslError__SslError = QSslError__SslError(14) + QSslError__PathLengthExceeded QSslError__SslError = QSslError__SslError(15) + QSslError__InvalidPurpose QSslError__SslError = QSslError__SslError(16) + QSslError__CertificateUntrusted QSslError__SslError = QSslError__SslError(17) + QSslError__CertificateRejected QSslError__SslError = QSslError__SslError(18) + QSslError__SubjectIssuerMismatch QSslError__SslError = QSslError__SslError(19) + QSslError__AuthorityIssuerSerialNumberMismatch QSslError__SslError = QSslError__SslError(20) + QSslError__NoPeerCertificate QSslError__SslError = QSslError__SslError(21) + QSslError__HostNameMismatch QSslError__SslError = QSslError__SslError(22) + QSslError__NoSslSupport QSslError__SslError = QSslError__SslError(23) + QSslError__CertificateBlacklisted QSslError__SslError = QSslError__SslError(24) + QSslError__CertificateStatusUnknown QSslError__SslError = QSslError__SslError(25) + QSslError__OcspNoResponseFound QSslError__SslError = QSslError__SslError(26) + QSslError__OcspMalformedRequest QSslError__SslError = QSslError__SslError(27) + QSslError__OcspMalformedResponse QSslError__SslError = QSslError__SslError(28) + QSslError__OcspInternalError QSslError__SslError = QSslError__SslError(29) + QSslError__OcspTryLater QSslError__SslError = QSslError__SslError(30) + QSslError__OcspSigRequred QSslError__SslError = QSslError__SslError(31) + QSslError__OcspUnauthorized QSslError__SslError = QSslError__SslError(32) + QSslError__OcspResponseCannotBeTrusted QSslError__SslError = QSslError__SslError(33) + QSslError__OcspResponseCertIdUnknown QSslError__SslError = QSslError__SslError(34) + QSslError__OcspResponseExpired QSslError__SslError = QSslError__SslError(35) + QSslError__OcspStatusUnknown QSslError__SslError = QSslError__SslError(36) + QSslError__UnspecifiedError QSslError__SslError = QSslError__SslError(-1) +) + +func NewQSslError() *QSslError { + tmpValue := NewQSslErrorFromPointer(C.QSslError_NewQSslError()) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue +} + +func NewQSslError2(error QSslError__SslError) *QSslError { + tmpValue := NewQSslErrorFromPointer(C.QSslError_NewQSslError2(C.longlong(error))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue +} + +func NewQSslError3(error QSslError__SslError, certificate QSslCertificate_ITF) *QSslError { + tmpValue := NewQSslErrorFromPointer(C.QSslError_NewQSslError3(C.longlong(error), PointerFromQSslCertificate(certificate))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue +} + +func NewQSslError4(other QSslError_ITF) *QSslError { + tmpValue := NewQSslErrorFromPointer(C.QSslError_NewQSslError4(PointerFromQSslError(other))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue +} + +func (ptr *QSslError) Certificate() *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslError_Certificate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslError) Error() QSslError__SslError { + if ptr.Pointer() != nil { + return QSslError__SslError(C.QSslError_Error(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslError) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslError_ErrorString(ptr.Pointer())) + } + return "" +} + +func (ptr *QSslError) Swap(other QSslError_ITF) { + if ptr.Pointer() != nil { + C.QSslError_Swap(ptr.Pointer(), PointerFromQSslError(other)) + } +} + +func (ptr *QSslError) DestroyQSslError() { + if ptr.Pointer() != nil { + C.QSslError_DestroyQSslError(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSslKey struct { + ptr unsafe.Pointer +} + +type QSslKey_ITF interface { + QSslKey_PTR() *QSslKey +} + +func (ptr *QSslKey) QSslKey_PTR() *QSslKey { + return ptr +} + +func (ptr *QSslKey) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSslKey) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSslKey(ptr QSslKey_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslKey_PTR().Pointer() + } + return nil +} + +func NewQSslKeyFromPointer(ptr unsafe.Pointer) (n *QSslKey) { + n = new(QSslKey) + n.SetPointer(ptr) + return +} +func NewQSslKey() *QSslKey { + tmpValue := NewQSslKeyFromPointer(C.QSslKey_NewQSslKey()) + runtime.SetFinalizer(tmpValue, (*QSslKey).DestroyQSslKey) + return tmpValue +} + +func NewQSslKey2(encoded core.QByteArray_ITF, algorithm QSsl__KeyAlgorithm, encoding QSsl__EncodingFormat, ty QSsl__KeyType, passPhrase core.QByteArray_ITF) *QSslKey { + tmpValue := NewQSslKeyFromPointer(C.QSslKey_NewQSslKey2(core.PointerFromQByteArray(encoded), C.longlong(algorithm), C.longlong(encoding), C.longlong(ty), core.PointerFromQByteArray(passPhrase))) + runtime.SetFinalizer(tmpValue, (*QSslKey).DestroyQSslKey) + return tmpValue +} + +func NewQSslKey3(device core.QIODevice_ITF, algorithm QSsl__KeyAlgorithm, encoding QSsl__EncodingFormat, ty QSsl__KeyType, passPhrase core.QByteArray_ITF) *QSslKey { + tmpValue := NewQSslKeyFromPointer(C.QSslKey_NewQSslKey3(core.PointerFromQIODevice(device), C.longlong(algorithm), C.longlong(encoding), C.longlong(ty), core.PointerFromQByteArray(passPhrase))) + runtime.SetFinalizer(tmpValue, (*QSslKey).DestroyQSslKey) + return tmpValue +} + +func NewQSslKey5(other QSslKey_ITF) *QSslKey { + tmpValue := NewQSslKeyFromPointer(C.QSslKey_NewQSslKey5(PointerFromQSslKey(other))) + runtime.SetFinalizer(tmpValue, (*QSslKey).DestroyQSslKey) + return tmpValue +} + +func (ptr *QSslKey) Algorithm() QSsl__KeyAlgorithm { + if ptr.Pointer() != nil { + return QSsl__KeyAlgorithm(C.QSslKey_Algorithm(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslKey) Clear() { + if ptr.Pointer() != nil { + C.QSslKey_Clear(ptr.Pointer()) + } +} + +func (ptr *QSslKey) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QSslKey_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslKey) Length() int { + if ptr.Pointer() != nil { + return int(int32(C.QSslKey_Length(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSslKey) Swap(other QSslKey_ITF) { + if ptr.Pointer() != nil { + C.QSslKey_Swap(ptr.Pointer(), PointerFromQSslKey(other)) + } +} + +func (ptr *QSslKey) ToDer(passPhrase core.QByteArray_ITF) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslKey_ToDer(ptr.Pointer(), core.PointerFromQByteArray(passPhrase))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslKey) ToPem(passPhrase core.QByteArray_ITF) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslKey_ToPem(ptr.Pointer(), core.PointerFromQByteArray(passPhrase))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslKey) Type() QSsl__KeyType { + if ptr.Pointer() != nil { + return QSsl__KeyType(C.QSslKey_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslKey) DestroyQSslKey() { + if ptr.Pointer() != nil { + C.QSslKey_DestroyQSslKey(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSslPreSharedKeyAuthenticator struct { + ptr unsafe.Pointer +} + +type QSslPreSharedKeyAuthenticator_ITF interface { + QSslPreSharedKeyAuthenticator_PTR() *QSslPreSharedKeyAuthenticator +} + +func (ptr *QSslPreSharedKeyAuthenticator) QSslPreSharedKeyAuthenticator_PTR() *QSslPreSharedKeyAuthenticator { + return ptr +} + +func (ptr *QSslPreSharedKeyAuthenticator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QSslPreSharedKeyAuthenticator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQSslPreSharedKeyAuthenticator(ptr QSslPreSharedKeyAuthenticator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslPreSharedKeyAuthenticator_PTR().Pointer() + } + return nil +} + +func NewQSslPreSharedKeyAuthenticatorFromPointer(ptr unsafe.Pointer) (n *QSslPreSharedKeyAuthenticator) { + n = new(QSslPreSharedKeyAuthenticator) + n.SetPointer(ptr) + return +} +func NewQSslPreSharedKeyAuthenticator() *QSslPreSharedKeyAuthenticator { + tmpValue := NewQSslPreSharedKeyAuthenticatorFromPointer(C.QSslPreSharedKeyAuthenticator_NewQSslPreSharedKeyAuthenticator()) + runtime.SetFinalizer(tmpValue, (*QSslPreSharedKeyAuthenticator).DestroyQSslPreSharedKeyAuthenticator) + return tmpValue +} + +func NewQSslPreSharedKeyAuthenticator2(authenticator QSslPreSharedKeyAuthenticator_ITF) *QSslPreSharedKeyAuthenticator { + tmpValue := NewQSslPreSharedKeyAuthenticatorFromPointer(C.QSslPreSharedKeyAuthenticator_NewQSslPreSharedKeyAuthenticator2(PointerFromQSslPreSharedKeyAuthenticator(authenticator))) + runtime.SetFinalizer(tmpValue, (*QSslPreSharedKeyAuthenticator).DestroyQSslPreSharedKeyAuthenticator) + return tmpValue +} + +func (ptr *QSslPreSharedKeyAuthenticator) Identity() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslPreSharedKeyAuthenticator_Identity(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslPreSharedKeyAuthenticator) IdentityHint() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslPreSharedKeyAuthenticator_IdentityHint(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslPreSharedKeyAuthenticator) MaximumIdentityLength() int { + if ptr.Pointer() != nil { + return int(int32(C.QSslPreSharedKeyAuthenticator_MaximumIdentityLength(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSslPreSharedKeyAuthenticator) MaximumPreSharedKeyLength() int { + if ptr.Pointer() != nil { + return int(int32(C.QSslPreSharedKeyAuthenticator_MaximumPreSharedKeyLength(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QSslPreSharedKeyAuthenticator) PreSharedKey() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QSslPreSharedKeyAuthenticator_PreSharedKey(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QSslPreSharedKeyAuthenticator) SetIdentity(identity core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslPreSharedKeyAuthenticator_SetIdentity(ptr.Pointer(), core.PointerFromQByteArray(identity)) + } +} + +func (ptr *QSslPreSharedKeyAuthenticator) SetPreSharedKey(preSharedKey core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QSslPreSharedKeyAuthenticator_SetPreSharedKey(ptr.Pointer(), core.PointerFromQByteArray(preSharedKey)) + } +} + +func (ptr *QSslPreSharedKeyAuthenticator) Swap(authenticator QSslPreSharedKeyAuthenticator_ITF) { + if ptr.Pointer() != nil { + C.QSslPreSharedKeyAuthenticator_Swap(ptr.Pointer(), PointerFromQSslPreSharedKeyAuthenticator(authenticator)) + } +} + +func (ptr *QSslPreSharedKeyAuthenticator) DestroyQSslPreSharedKeyAuthenticator() { + if ptr.Pointer() != nil { + C.QSslPreSharedKeyAuthenticator_DestroyQSslPreSharedKeyAuthenticator(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QSslSocket struct { + QTcpSocket +} + +type QSslSocket_ITF interface { + QTcpSocket_ITF + QSslSocket_PTR() *QSslSocket +} + +func (ptr *QSslSocket) QSslSocket_PTR() *QSslSocket { + return ptr +} + +func (ptr *QSslSocket) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QTcpSocket_PTR().Pointer() + } + return nil +} + +func (ptr *QSslSocket) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QTcpSocket_PTR().SetPointer(p) + } +} + +func PointerFromQSslSocket(ptr QSslSocket_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QSslSocket_PTR().Pointer() + } + return nil +} + +func NewQSslSocketFromPointer(ptr unsafe.Pointer) (n *QSslSocket) { + n = new(QSslSocket) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QSslSocket__SslMode +//QSslSocket::SslMode +type QSslSocket__SslMode int64 + +const ( + QSslSocket__UnencryptedMode QSslSocket__SslMode = QSslSocket__SslMode(0) + QSslSocket__SslClientMode QSslSocket__SslMode = QSslSocket__SslMode(1) + QSslSocket__SslServerMode QSslSocket__SslMode = QSslSocket__SslMode(2) +) + +//go:generate stringer -type=QSslSocket__PeerVerifyMode +//QSslSocket::PeerVerifyMode +type QSslSocket__PeerVerifyMode int64 + +const ( + QSslSocket__VerifyNone QSslSocket__PeerVerifyMode = QSslSocket__PeerVerifyMode(0) + QSslSocket__QueryPeer QSslSocket__PeerVerifyMode = QSslSocket__PeerVerifyMode(1) + QSslSocket__VerifyPeer QSslSocket__PeerVerifyMode = QSslSocket__PeerVerifyMode(2) + QSslSocket__AutoVerifyPeer QSslSocket__PeerVerifyMode = QSslSocket__PeerVerifyMode(3) +) + +func NewQSslSocket(parent core.QObject_ITF) *QSslSocket { + tmpValue := NewQSslSocketFromPointer(C.QSslSocket_NewQSslSocket(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QSslSocket) AddCaCertificate(certificate QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket_AddCaCertificate(ptr.Pointer(), PointerFromQSslCertificate(certificate)) + } +} + +func (ptr *QSslSocket) AddCaCertificates(path string, format QSsl__EncodingFormat, syntax core.QRegExp__PatternSyntax) bool { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QSslSocket_AddCaCertificates(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: pathC, len: C.longlong(len(path))}, C.longlong(format), C.longlong(syntax))) != 0 + } + return false +} + +func (ptr *QSslSocket) AddCaCertificates2(certificates []*QSslCertificate) { + if ptr.Pointer() != nil { + C.QSslSocket_AddCaCertificates2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslSocketFromPointer(NewQSslSocketFromPointer(nil).__addCaCertificates_certificates_newList2()) + for _, v := range certificates { + tmpList.__addCaCertificates_certificates_setList2(v) + } + return tmpList.Pointer() + }()) + } +} + +func QSslSocket_AddDefaultCaCertificate(certificate QSslCertificate_ITF) { + C.QSslSocket_QSslSocket_AddDefaultCaCertificate(PointerFromQSslCertificate(certificate)) +} + +func (ptr *QSslSocket) AddDefaultCaCertificate(certificate QSslCertificate_ITF) { + C.QSslSocket_QSslSocket_AddDefaultCaCertificate(PointerFromQSslCertificate(certificate)) +} + +func QSslSocket_AddDefaultCaCertificates(path string, encoding QSsl__EncodingFormat, syntax core.QRegExp__PatternSyntax) bool { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QSslSocket_QSslSocket_AddDefaultCaCertificates(C.struct_QtNetwork_PackedString{data: pathC, len: C.longlong(len(path))}, C.longlong(encoding), C.longlong(syntax))) != 0 +} + +func (ptr *QSslSocket) AddDefaultCaCertificates(path string, encoding QSsl__EncodingFormat, syntax core.QRegExp__PatternSyntax) bool { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + return int8(C.QSslSocket_QSslSocket_AddDefaultCaCertificates(C.struct_QtNetwork_PackedString{data: pathC, len: C.longlong(len(path))}, C.longlong(encoding), C.longlong(syntax))) != 0 +} + +func QSslSocket_AddDefaultCaCertificates2(certificates []*QSslCertificate) { + C.QSslSocket_QSslSocket_AddDefaultCaCertificates2(func() unsafe.Pointer { + tmpList := NewQSslSocketFromPointer(NewQSslSocketFromPointer(nil).__addDefaultCaCertificates_certificates_newList2()) + for _, v := range certificates { + tmpList.__addDefaultCaCertificates_certificates_setList2(v) + } + return tmpList.Pointer() + }()) +} + +func (ptr *QSslSocket) AddDefaultCaCertificates2(certificates []*QSslCertificate) { + C.QSslSocket_QSslSocket_AddDefaultCaCertificates2(func() unsafe.Pointer { + tmpList := NewQSslSocketFromPointer(NewQSslSocketFromPointer(nil).__addDefaultCaCertificates_certificates_newList2()) + for _, v := range certificates { + tmpList.__addDefaultCaCertificates_certificates_setList2(v) + } + return tmpList.Pointer() + }()) +} + +func (ptr *QSslSocket) ConnectToHostEncrypted(hostName string, port uint16, mode core.QIODevice__OpenModeFlag, protocol QAbstractSocket__NetworkLayerProtocol) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + C.QSslSocket_ConnectToHostEncrypted(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}, C.ushort(port), C.longlong(mode), C.longlong(protocol)) + } +} + +func (ptr *QSslSocket) ConnectToHostEncrypted2(hostName string, port uint16, sslPeerName string, mode core.QIODevice__OpenModeFlag, protocol QAbstractSocket__NetworkLayerProtocol) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + var sslPeerNameC *C.char + if sslPeerName != "" { + sslPeerNameC = C.CString(sslPeerName) + defer C.free(unsafe.Pointer(sslPeerNameC)) + } + C.QSslSocket_ConnectToHostEncrypted2(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}, C.ushort(port), C.struct_QtNetwork_PackedString{data: sslPeerNameC, len: C.longlong(len(sslPeerName))}, C.longlong(mode), C.longlong(protocol)) + } +} + +//export callbackQSslSocket_Encrypted +func callbackQSslSocket_Encrypted(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "encrypted"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QSslSocket) ConnectEncrypted(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "encrypted") { + C.QSslSocket_ConnectEncrypted(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "encrypted"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "encrypted"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "encrypted", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "encrypted", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectEncrypted() { + if ptr.Pointer() != nil { + C.QSslSocket_DisconnectEncrypted(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "encrypted") + } +} + +func (ptr *QSslSocket) Encrypted() { + if ptr.Pointer() != nil { + C.QSslSocket_Encrypted(ptr.Pointer()) + } +} + +func (ptr *QSslSocket) EncryptedBytesAvailable() int64 { + if ptr.Pointer() != nil { + return int64(C.QSslSocket_EncryptedBytesAvailable(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslSocket) EncryptedBytesToWrite() int64 { + if ptr.Pointer() != nil { + return int64(C.QSslSocket_EncryptedBytesToWrite(ptr.Pointer())) + } + return 0 +} + +//export callbackQSslSocket_EncryptedBytesWritten +func callbackQSslSocket_EncryptedBytesWritten(ptr unsafe.Pointer, written C.longlong) { + if signal := qt.GetSignal(ptr, "encryptedBytesWritten"); signal != nil { + (*(*func(int64))(signal))(int64(written)) + } + +} + +func (ptr *QSslSocket) ConnectEncryptedBytesWritten(f func(written int64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "encryptedBytesWritten") { + C.QSslSocket_ConnectEncryptedBytesWritten(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "encryptedBytesWritten"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "encryptedBytesWritten"); signal != nil { + f := func(written int64) { + (*(*func(int64))(signal))(written) + f(written) + } + qt.ConnectSignal(ptr.Pointer(), "encryptedBytesWritten", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "encryptedBytesWritten", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectEncryptedBytesWritten() { + if ptr.Pointer() != nil { + C.QSslSocket_DisconnectEncryptedBytesWritten(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "encryptedBytesWritten") + } +} + +func (ptr *QSslSocket) EncryptedBytesWritten(written int64) { + if ptr.Pointer() != nil { + C.QSslSocket_EncryptedBytesWritten(ptr.Pointer(), C.longlong(written)) + } +} + +//export callbackQSslSocket_IgnoreSslErrors +func callbackQSslSocket_IgnoreSslErrors(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "ignoreSslErrors"); signal != nil { + (*(*func())(signal))() + } else { + NewQSslSocketFromPointer(ptr).IgnoreSslErrorsDefault() + } +} + +func (ptr *QSslSocket) ConnectIgnoreSslErrors(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "ignoreSslErrors"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "ignoreSslErrors", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "ignoreSslErrors", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectIgnoreSslErrors() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "ignoreSslErrors") + } +} + +func (ptr *QSslSocket) IgnoreSslErrors() { + if ptr.Pointer() != nil { + C.QSslSocket_IgnoreSslErrors(ptr.Pointer()) + } +} + +func (ptr *QSslSocket) IgnoreSslErrorsDefault() { + if ptr.Pointer() != nil { + C.QSslSocket_IgnoreSslErrorsDefault(ptr.Pointer()) + } +} + +func (ptr *QSslSocket) IgnoreSslErrors2(errors []*QSslError) { + if ptr.Pointer() != nil { + C.QSslSocket_IgnoreSslErrors2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslSocketFromPointer(NewQSslSocketFromPointer(nil).__ignoreSslErrors_errors_newList2()) + for _, v := range errors { + tmpList.__ignoreSslErrors_errors_setList2(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QSslSocket) IsEncrypted() bool { + if ptr.Pointer() != nil { + return int8(C.QSslSocket_IsEncrypted(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QSslSocket) LocalCertificate() *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket_LocalCertificate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) LocalCertificateChain() []*QSslCertificate { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslSocketFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__localCertificateChain_atList(i) + } + return out + }(C.QSslSocket_LocalCertificateChain(ptr.Pointer())) + } + return make([]*QSslCertificate, 0) +} + +func (ptr *QSslSocket) Mode() QSslSocket__SslMode { + if ptr.Pointer() != nil { + return QSslSocket__SslMode(C.QSslSocket_Mode(ptr.Pointer())) + } + return 0 +} + +//export callbackQSslSocket_ModeChanged +func callbackQSslSocket_ModeChanged(ptr unsafe.Pointer, mode C.longlong) { + if signal := qt.GetSignal(ptr, "modeChanged"); signal != nil { + (*(*func(QSslSocket__SslMode))(signal))(QSslSocket__SslMode(mode)) + } + +} + +func (ptr *QSslSocket) ConnectModeChanged(f func(mode QSslSocket__SslMode)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "modeChanged") { + C.QSslSocket_ConnectModeChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "modeChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "modeChanged"); signal != nil { + f := func(mode QSslSocket__SslMode) { + (*(*func(QSslSocket__SslMode))(signal))(mode) + f(mode) + } + qt.ConnectSignal(ptr.Pointer(), "modeChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "modeChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectModeChanged() { + if ptr.Pointer() != nil { + C.QSslSocket_DisconnectModeChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "modeChanged") + } +} + +func (ptr *QSslSocket) ModeChanged(mode QSslSocket__SslMode) { + if ptr.Pointer() != nil { + C.QSslSocket_ModeChanged(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QSslSocket) OcspResponses() []*QOcspResponse { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QOcspResponse { + out := make([]*QOcspResponse, int(l.len)) + tmpList := NewQSslSocketFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__ocspResponses_atList(i) + } + return out + }(C.QSslSocket_OcspResponses(ptr.Pointer())) + } + return make([]*QOcspResponse, 0) +} + +func (ptr *QSslSocket) PeerCertificate() *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket_PeerCertificate(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) PeerCertificateChain() []*QSslCertificate { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QSslCertificate { + out := make([]*QSslCertificate, int(l.len)) + tmpList := NewQSslSocketFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__peerCertificateChain_atList(i) + } + return out + }(C.QSslSocket_PeerCertificateChain(ptr.Pointer())) + } + return make([]*QSslCertificate, 0) +} + +func (ptr *QSslSocket) PeerVerifyDepth() int { + if ptr.Pointer() != nil { + return int(int32(C.QSslSocket_PeerVerifyDepth(ptr.Pointer()))) + } + return 0 +} + +//export callbackQSslSocket_PeerVerifyError +func callbackQSslSocket_PeerVerifyError(ptr unsafe.Pointer, error unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "peerVerifyError"); signal != nil { + (*(*func(*QSslError))(signal))(NewQSslErrorFromPointer(error)) + } + +} + +func (ptr *QSslSocket) ConnectPeerVerifyError(f func(error *QSslError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "peerVerifyError") { + C.QSslSocket_ConnectPeerVerifyError(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "peerVerifyError"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "peerVerifyError"); signal != nil { + f := func(error *QSslError) { + (*(*func(*QSslError))(signal))(error) + f(error) + } + qt.ConnectSignal(ptr.Pointer(), "peerVerifyError", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "peerVerifyError", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectPeerVerifyError() { + if ptr.Pointer() != nil { + C.QSslSocket_DisconnectPeerVerifyError(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "peerVerifyError") + } +} + +func (ptr *QSslSocket) PeerVerifyError(error QSslError_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket_PeerVerifyError(ptr.Pointer(), PointerFromQSslError(error)) + } +} + +func (ptr *QSslSocket) PeerVerifyMode() QSslSocket__PeerVerifyMode { + if ptr.Pointer() != nil { + return QSslSocket__PeerVerifyMode(C.QSslSocket_PeerVerifyMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslSocket) PeerVerifyName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QSslSocket_PeerVerifyName(ptr.Pointer())) + } + return "" +} + +//export callbackQSslSocket_PreSharedKeyAuthenticationRequired +func callbackQSslSocket_PreSharedKeyAuthenticationRequired(ptr unsafe.Pointer, authenticator unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "preSharedKeyAuthenticationRequired"); signal != nil { + (*(*func(*QSslPreSharedKeyAuthenticator))(signal))(NewQSslPreSharedKeyAuthenticatorFromPointer(authenticator)) + } + +} + +func (ptr *QSslSocket) ConnectPreSharedKeyAuthenticationRequired(f func(authenticator *QSslPreSharedKeyAuthenticator)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired") { + C.QSslSocket_ConnectPreSharedKeyAuthenticationRequired(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "preSharedKeyAuthenticationRequired"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired"); signal != nil { + f := func(authenticator *QSslPreSharedKeyAuthenticator) { + (*(*func(*QSslPreSharedKeyAuthenticator))(signal))(authenticator) + f(authenticator) + } + qt.ConnectSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectPreSharedKeyAuthenticationRequired() { + if ptr.Pointer() != nil { + C.QSslSocket_DisconnectPreSharedKeyAuthenticationRequired(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "preSharedKeyAuthenticationRequired") + } +} + +func (ptr *QSslSocket) PreSharedKeyAuthenticationRequired(authenticator QSslPreSharedKeyAuthenticator_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket_PreSharedKeyAuthenticationRequired(ptr.Pointer(), PointerFromQSslPreSharedKeyAuthenticator(authenticator)) + } +} + +func (ptr *QSslSocket) PrivateKey() *QSslKey { + if ptr.Pointer() != nil { + tmpValue := NewQSslKeyFromPointer(C.QSslSocket_PrivateKey(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslKey).DestroyQSslKey) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) Protocol() QSsl__SslProtocol { + if ptr.Pointer() != nil { + return QSsl__SslProtocol(C.QSslSocket_Protocol(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslSocket) SessionCipher() *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslSocket_SessionCipher(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) SessionProtocol() QSsl__SslProtocol { + if ptr.Pointer() != nil { + return QSsl__SslProtocol(C.QSslSocket_SessionProtocol(ptr.Pointer())) + } + return 0 +} + +func (ptr *QSslSocket) SetLocalCertificate(certificate QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket_SetLocalCertificate(ptr.Pointer(), PointerFromQSslCertificate(certificate)) + } +} + +func (ptr *QSslSocket) SetLocalCertificate2(path string, format QSsl__EncodingFormat) { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QSslSocket_SetLocalCertificate2(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: pathC, len: C.longlong(len(path))}, C.longlong(format)) + } +} + +func (ptr *QSslSocket) SetLocalCertificateChain(localChain []*QSslCertificate) { + if ptr.Pointer() != nil { + C.QSslSocket_SetLocalCertificateChain(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslSocketFromPointer(NewQSslSocketFromPointer(nil).__setLocalCertificateChain_localChain_newList()) + for _, v := range localChain { + tmpList.__setLocalCertificateChain_localChain_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +func (ptr *QSslSocket) SetPeerVerifyDepth(depth int) { + if ptr.Pointer() != nil { + C.QSslSocket_SetPeerVerifyDepth(ptr.Pointer(), C.int(int32(depth))) + } +} + +func (ptr *QSslSocket) SetPeerVerifyMode(mode QSslSocket__PeerVerifyMode) { + if ptr.Pointer() != nil { + C.QSslSocket_SetPeerVerifyMode(ptr.Pointer(), C.longlong(mode)) + } +} + +func (ptr *QSslSocket) SetPeerVerifyName(hostName string) { + if ptr.Pointer() != nil { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + C.QSslSocket_SetPeerVerifyName(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: hostNameC, len: C.longlong(len(hostName))}) + } +} + +func (ptr *QSslSocket) SetPrivateKey(key QSslKey_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket_SetPrivateKey(ptr.Pointer(), PointerFromQSslKey(key)) + } +} + +func (ptr *QSslSocket) SetPrivateKey2(fileName string, algorithm QSsl__KeyAlgorithm, format QSsl__EncodingFormat, passPhrase core.QByteArray_ITF) { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + C.QSslSocket_SetPrivateKey2(ptr.Pointer(), C.struct_QtNetwork_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(algorithm), C.longlong(format), core.PointerFromQByteArray(passPhrase)) + } +} + +func (ptr *QSslSocket) SetProtocol(protocol QSsl__SslProtocol) { + if ptr.Pointer() != nil { + C.QSslSocket_SetProtocol(ptr.Pointer(), C.longlong(protocol)) + } +} + +func (ptr *QSslSocket) SetSslConfiguration(configuration QSslConfiguration_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket_SetSslConfiguration(ptr.Pointer(), PointerFromQSslConfiguration(configuration)) + } +} + +func (ptr *QSslSocket) SslConfiguration() *QSslConfiguration { + if ptr.Pointer() != nil { + tmpValue := NewQSslConfigurationFromPointer(C.QSslSocket_SslConfiguration(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QSslConfiguration).DestroyQSslConfiguration) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) SslErrors() []*QSslError { + if ptr.Pointer() != nil { + return func(l C.struct_QtNetwork_PackedList) []*QSslError { + out := make([]*QSslError, int(l.len)) + tmpList := NewQSslSocketFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__sslErrors_atList(i) + } + return out + }(C.QSslSocket_SslErrors(ptr.Pointer())) + } + return make([]*QSslError, 0) +} + +//export callbackQSslSocket_SslErrors2 +func callbackQSslSocket_SslErrors2(ptr unsafe.Pointer, errors C.struct_QtNetwork_PackedList) { + if signal := qt.GetSignal(ptr, "sslErrors2"); signal != nil { + (*(*func([]*QSslError))(signal))(func(l C.struct_QtNetwork_PackedList) []*QSslError { + out := make([]*QSslError, int(l.len)) + tmpList := NewQSslSocketFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__sslErrors_errors_atList2(i) + } + return out + }(errors)) + } + +} + +func (ptr *QSslSocket) ConnectSslErrors2(f func(errors []*QSslError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "sslErrors2") { + C.QSslSocket_ConnectSslErrors2(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "sslErrors"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "sslErrors2"); signal != nil { + f := func(errors []*QSslError) { + (*(*func([]*QSslError))(signal))(errors) + f(errors) + } + qt.ConnectSignal(ptr.Pointer(), "sslErrors2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "sslErrors2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectSslErrors2() { + if ptr.Pointer() != nil { + C.QSslSocket_DisconnectSslErrors2(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "sslErrors2") + } +} + +func (ptr *QSslSocket) SslErrors2(errors []*QSslError) { + if ptr.Pointer() != nil { + C.QSslSocket_SslErrors2(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQSslSocketFromPointer(NewQSslSocketFromPointer(nil).__sslErrors_errors_newList2()) + for _, v := range errors { + tmpList.__sslErrors_errors_setList2(v) + } + return tmpList.Pointer() + }()) + } +} + +func QSslSocket_SslLibraryBuildVersionNumber() int { + return int(int32(C.QSslSocket_QSslSocket_SslLibraryBuildVersionNumber())) +} + +func (ptr *QSslSocket) SslLibraryBuildVersionNumber() int { + return int(int32(C.QSslSocket_QSslSocket_SslLibraryBuildVersionNumber())) +} + +func QSslSocket_SslLibraryBuildVersionString() string { + return cGoUnpackString(C.QSslSocket_QSslSocket_SslLibraryBuildVersionString()) +} + +func (ptr *QSslSocket) SslLibraryBuildVersionString() string { + return cGoUnpackString(C.QSslSocket_QSslSocket_SslLibraryBuildVersionString()) +} + +func QSslSocket_SslLibraryVersionNumber() int { + return int(int32(C.QSslSocket_QSslSocket_SslLibraryVersionNumber())) +} + +func (ptr *QSslSocket) SslLibraryVersionNumber() int { + return int(int32(C.QSslSocket_QSslSocket_SslLibraryVersionNumber())) +} + +func QSslSocket_SslLibraryVersionString() string { + return cGoUnpackString(C.QSslSocket_QSslSocket_SslLibraryVersionString()) +} + +func (ptr *QSslSocket) SslLibraryVersionString() string { + return cGoUnpackString(C.QSslSocket_QSslSocket_SslLibraryVersionString()) +} + +//export callbackQSslSocket_StartClientEncryption +func callbackQSslSocket_StartClientEncryption(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "startClientEncryption"); signal != nil { + (*(*func())(signal))() + } else { + NewQSslSocketFromPointer(ptr).StartClientEncryptionDefault() + } +} + +func (ptr *QSslSocket) ConnectStartClientEncryption(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "startClientEncryption"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "startClientEncryption", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "startClientEncryption", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectStartClientEncryption() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "startClientEncryption") + } +} + +func (ptr *QSslSocket) StartClientEncryption() { + if ptr.Pointer() != nil { + C.QSslSocket_StartClientEncryption(ptr.Pointer()) + } +} + +func (ptr *QSslSocket) StartClientEncryptionDefault() { + if ptr.Pointer() != nil { + C.QSslSocket_StartClientEncryptionDefault(ptr.Pointer()) + } +} + +//export callbackQSslSocket_StartServerEncryption +func callbackQSslSocket_StartServerEncryption(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "startServerEncryption"); signal != nil { + (*(*func())(signal))() + } else { + NewQSslSocketFromPointer(ptr).StartServerEncryptionDefault() + } +} + +func (ptr *QSslSocket) ConnectStartServerEncryption(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "startServerEncryption"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "startServerEncryption", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "startServerEncryption", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectStartServerEncryption() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "startServerEncryption") + } +} + +func (ptr *QSslSocket) StartServerEncryption() { + if ptr.Pointer() != nil { + C.QSslSocket_StartServerEncryption(ptr.Pointer()) + } +} + +func (ptr *QSslSocket) StartServerEncryptionDefault() { + if ptr.Pointer() != nil { + C.QSslSocket_StartServerEncryptionDefault(ptr.Pointer()) + } +} + +func QSslSocket_SupportsSsl() bool { + return int8(C.QSslSocket_QSslSocket_SupportsSsl()) != 0 +} + +func (ptr *QSslSocket) SupportsSsl() bool { + return int8(C.QSslSocket_QSslSocket_SupportsSsl()) != 0 +} + +func (ptr *QSslSocket) WaitForEncrypted(msecs int) bool { + if ptr.Pointer() != nil { + return int8(C.QSslSocket_WaitForEncrypted(ptr.Pointer(), C.int(int32(msecs)))) != 0 + } + return false +} + +//export callbackQSslSocket_DestroyQSslSocket +func callbackQSslSocket_DestroyQSslSocket(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QSslSocket"); signal != nil { + (*(*func())(signal))() + } else { + NewQSslSocketFromPointer(ptr).DestroyQSslSocketDefault() + } +} + +func (ptr *QSslSocket) ConnectDestroyQSslSocket(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QSslSocket"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QSslSocket", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QSslSocket", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QSslSocket) DisconnectDestroyQSslSocket() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QSslSocket") + } +} + +func (ptr *QSslSocket) DestroyQSslSocket() { + if ptr.Pointer() != nil { + C.QSslSocket_DestroyQSslSocket(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSslSocket) DestroyQSslSocketDefault() { + if ptr.Pointer() != nil { + C.QSslSocket_DestroyQSslSocketDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QSslSocket) __addCaCertificates_certificates_atList2(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___addCaCertificates_certificates_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __addCaCertificates_certificates_setList2(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___addCaCertificates_certificates_setList2(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __addCaCertificates_certificates_newList2() unsafe.Pointer { + return C.QSslSocket___addCaCertificates_certificates_newList2(ptr.Pointer()) +} + +func (ptr *QSslSocket) __addDefaultCaCertificates_certificates_atList2(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___addDefaultCaCertificates_certificates_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __addDefaultCaCertificates_certificates_setList2(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___addDefaultCaCertificates_certificates_setList2(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __addDefaultCaCertificates_certificates_newList2() unsafe.Pointer { + return C.QSslSocket___addDefaultCaCertificates_certificates_newList2(ptr.Pointer()) +} + +func (ptr *QSslSocket) __caCertificates_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___caCertificates_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __caCertificates_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___caCertificates_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __caCertificates_newList() unsafe.Pointer { + return C.QSslSocket___caCertificates_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __ciphers_atList(i int) *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslSocket___ciphers_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __ciphers_setList(i QSslCipher_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___ciphers_setList(ptr.Pointer(), PointerFromQSslCipher(i)) + } +} + +func (ptr *QSslSocket) __ciphers_newList() unsafe.Pointer { + return C.QSslSocket___ciphers_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __defaultCaCertificates_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___defaultCaCertificates_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __defaultCaCertificates_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___defaultCaCertificates_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __defaultCaCertificates_newList() unsafe.Pointer { + return C.QSslSocket___defaultCaCertificates_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __defaultCiphers_atList(i int) *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslSocket___defaultCiphers_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __defaultCiphers_setList(i QSslCipher_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___defaultCiphers_setList(ptr.Pointer(), PointerFromQSslCipher(i)) + } +} + +func (ptr *QSslSocket) __defaultCiphers_newList() unsafe.Pointer { + return C.QSslSocket___defaultCiphers_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __ignoreSslErrors_errors_atList2(i int) *QSslError { + if ptr.Pointer() != nil { + tmpValue := NewQSslErrorFromPointer(C.QSslSocket___ignoreSslErrors_errors_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __ignoreSslErrors_errors_setList2(i QSslError_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___ignoreSslErrors_errors_setList2(ptr.Pointer(), PointerFromQSslError(i)) + } +} + +func (ptr *QSslSocket) __ignoreSslErrors_errors_newList2() unsafe.Pointer { + return C.QSslSocket___ignoreSslErrors_errors_newList2(ptr.Pointer()) +} + +func (ptr *QSslSocket) __localCertificateChain_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___localCertificateChain_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __localCertificateChain_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___localCertificateChain_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __localCertificateChain_newList() unsafe.Pointer { + return C.QSslSocket___localCertificateChain_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __ocspResponses_atList(i int) *QOcspResponse { + if ptr.Pointer() != nil { + tmpValue := NewQOcspResponseFromPointer(C.QSslSocket___ocspResponses_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QOcspResponse).DestroyQOcspResponse) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __ocspResponses_setList(i QOcspResponse_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___ocspResponses_setList(ptr.Pointer(), PointerFromQOcspResponse(i)) + } +} + +func (ptr *QSslSocket) __ocspResponses_newList() unsafe.Pointer { + return C.QSslSocket___ocspResponses_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __peerCertificateChain_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___peerCertificateChain_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __peerCertificateChain_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___peerCertificateChain_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __peerCertificateChain_newList() unsafe.Pointer { + return C.QSslSocket___peerCertificateChain_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __setCaCertificates_certificates_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___setCaCertificates_certificates_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __setCaCertificates_certificates_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___setCaCertificates_certificates_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __setCaCertificates_certificates_newList() unsafe.Pointer { + return C.QSslSocket___setCaCertificates_certificates_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __setCiphers_ciphers_atList(i int) *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslSocket___setCiphers_ciphers_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __setCiphers_ciphers_setList(i QSslCipher_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___setCiphers_ciphers_setList(ptr.Pointer(), PointerFromQSslCipher(i)) + } +} + +func (ptr *QSslSocket) __setCiphers_ciphers_newList() unsafe.Pointer { + return C.QSslSocket___setCiphers_ciphers_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __setDefaultCaCertificates_certificates_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___setDefaultCaCertificates_certificates_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __setDefaultCaCertificates_certificates_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___setDefaultCaCertificates_certificates_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __setDefaultCaCertificates_certificates_newList() unsafe.Pointer { + return C.QSslSocket___setDefaultCaCertificates_certificates_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __setDefaultCiphers_ciphers_atList(i int) *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslSocket___setDefaultCiphers_ciphers_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __setDefaultCiphers_ciphers_setList(i QSslCipher_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___setDefaultCiphers_ciphers_setList(ptr.Pointer(), PointerFromQSslCipher(i)) + } +} + +func (ptr *QSslSocket) __setDefaultCiphers_ciphers_newList() unsafe.Pointer { + return C.QSslSocket___setDefaultCiphers_ciphers_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __setLocalCertificateChain_localChain_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___setLocalCertificateChain_localChain_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __setLocalCertificateChain_localChain_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___setLocalCertificateChain_localChain_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __setLocalCertificateChain_localChain_newList() unsafe.Pointer { + return C.QSslSocket___setLocalCertificateChain_localChain_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __sslErrors_atList(i int) *QSslError { + if ptr.Pointer() != nil { + tmpValue := NewQSslErrorFromPointer(C.QSslSocket___sslErrors_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __sslErrors_setList(i QSslError_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___sslErrors_setList(ptr.Pointer(), PointerFromQSslError(i)) + } +} + +func (ptr *QSslSocket) __sslErrors_newList() unsafe.Pointer { + return C.QSslSocket___sslErrors_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __sslErrors_errors_atList2(i int) *QSslError { + if ptr.Pointer() != nil { + tmpValue := NewQSslErrorFromPointer(C.QSslSocket___sslErrors_errors_atList2(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslError).DestroyQSslError) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __sslErrors_errors_setList2(i QSslError_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___sslErrors_errors_setList2(ptr.Pointer(), PointerFromQSslError(i)) + } +} + +func (ptr *QSslSocket) __sslErrors_errors_newList2() unsafe.Pointer { + return C.QSslSocket___sslErrors_errors_newList2(ptr.Pointer()) +} + +func (ptr *QSslSocket) __supportedCiphers_atList(i int) *QSslCipher { + if ptr.Pointer() != nil { + tmpValue := NewQSslCipherFromPointer(C.QSslSocket___supportedCiphers_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCipher).DestroyQSslCipher) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __supportedCiphers_setList(i QSslCipher_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___supportedCiphers_setList(ptr.Pointer(), PointerFromQSslCipher(i)) + } +} + +func (ptr *QSslSocket) __supportedCiphers_newList() unsafe.Pointer { + return C.QSslSocket___supportedCiphers_newList(ptr.Pointer()) +} + +func (ptr *QSslSocket) __systemCaCertificates_atList(i int) *QSslCertificate { + if ptr.Pointer() != nil { + tmpValue := NewQSslCertificateFromPointer(C.QSslSocket___systemCaCertificates_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QSslCertificate).DestroyQSslCertificate) + return tmpValue + } + return nil +} + +func (ptr *QSslSocket) __systemCaCertificates_setList(i QSslCertificate_ITF) { + if ptr.Pointer() != nil { + C.QSslSocket___systemCaCertificates_setList(ptr.Pointer(), PointerFromQSslCertificate(i)) + } +} + +func (ptr *QSslSocket) __systemCaCertificates_newList() unsafe.Pointer { + return C.QSslSocket___systemCaCertificates_newList(ptr.Pointer()) +} + +type QTcpServer struct { + core.QObject +} + +type QTcpServer_ITF interface { + core.QObject_ITF + QTcpServer_PTR() *QTcpServer +} + +func (ptr *QTcpServer) QTcpServer_PTR() *QTcpServer { + return ptr +} + +func (ptr *QTcpServer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QTcpServer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQTcpServer(ptr QTcpServer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTcpServer_PTR().Pointer() + } + return nil +} + +func NewQTcpServerFromPointer(ptr unsafe.Pointer) (n *QTcpServer) { + n = new(QTcpServer) + n.SetPointer(ptr) + return +} +func NewQTcpServer(parent core.QObject_ITF) *QTcpServer { + tmpValue := NewQTcpServerFromPointer(C.QTcpServer_NewQTcpServer(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQTcpServer_AcceptError +func callbackQTcpServer_AcceptError(ptr unsafe.Pointer, socketError C.longlong) { + if signal := qt.GetSignal(ptr, "acceptError"); signal != nil { + (*(*func(QAbstractSocket__SocketError))(signal))(QAbstractSocket__SocketError(socketError)) + } + +} + +func (ptr *QTcpServer) ConnectAcceptError(f func(socketError QAbstractSocket__SocketError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "acceptError") { + C.QTcpServer_ConnectAcceptError(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "acceptError"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "acceptError"); signal != nil { + f := func(socketError QAbstractSocket__SocketError) { + (*(*func(QAbstractSocket__SocketError))(signal))(socketError) + f(socketError) + } + qt.ConnectSignal(ptr.Pointer(), "acceptError", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "acceptError", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTcpServer) DisconnectAcceptError() { + if ptr.Pointer() != nil { + C.QTcpServer_DisconnectAcceptError(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "acceptError") + } +} + +func (ptr *QTcpServer) AcceptError(socketError QAbstractSocket__SocketError) { + if ptr.Pointer() != nil { + C.QTcpServer_AcceptError(ptr.Pointer(), C.longlong(socketError)) + } +} + +func (ptr *QTcpServer) AddPendingConnection(socket QTcpSocket_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer_AddPendingConnection(ptr.Pointer(), PointerFromQTcpSocket(socket)) + } +} + +func (ptr *QTcpServer) Close() { + if ptr.Pointer() != nil { + C.QTcpServer_Close(ptr.Pointer()) + } +} + +func (ptr *QTcpServer) ErrorString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QTcpServer_ErrorString(ptr.Pointer())) + } + return "" +} + +//export callbackQTcpServer_HasPendingConnections +func callbackQTcpServer_HasPendingConnections(ptr unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "hasPendingConnections"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func() bool)(signal))()))) + } + + return C.char(int8(qt.GoBoolToInt(NewQTcpServerFromPointer(ptr).HasPendingConnectionsDefault()))) +} + +func (ptr *QTcpServer) ConnectHasPendingConnections(f func() bool) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "hasPendingConnections"); signal != nil { + f := func() bool { + (*(*func() bool)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "hasPendingConnections", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "hasPendingConnections", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTcpServer) DisconnectHasPendingConnections() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "hasPendingConnections") + } +} + +func (ptr *QTcpServer) HasPendingConnections() bool { + if ptr.Pointer() != nil { + return int8(C.QTcpServer_HasPendingConnections(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTcpServer) HasPendingConnectionsDefault() bool { + if ptr.Pointer() != nil { + return int8(C.QTcpServer_HasPendingConnectionsDefault(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTcpServer) IsListening() bool { + if ptr.Pointer() != nil { + return int8(C.QTcpServer_IsListening(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QTcpServer) Listen(address QHostAddress_ITF, port uint16) bool { + if ptr.Pointer() != nil { + return int8(C.QTcpServer_Listen(ptr.Pointer(), PointerFromQHostAddress(address), C.ushort(port))) != 0 + } + return false +} + +func (ptr *QTcpServer) MaxPendingConnections() int { + if ptr.Pointer() != nil { + return int(int32(C.QTcpServer_MaxPendingConnections(ptr.Pointer()))) + } + return 0 +} + +//export callbackQTcpServer_NewConnection +func callbackQTcpServer_NewConnection(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "newConnection"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QTcpServer) ConnectNewConnection(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "newConnection") { + C.QTcpServer_ConnectNewConnection(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "newConnection"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "newConnection"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "newConnection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "newConnection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTcpServer) DisconnectNewConnection() { + if ptr.Pointer() != nil { + C.QTcpServer_DisconnectNewConnection(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "newConnection") + } +} + +func (ptr *QTcpServer) NewConnection() { + if ptr.Pointer() != nil { + C.QTcpServer_NewConnection(ptr.Pointer()) + } +} + +//export callbackQTcpServer_NextPendingConnection +func callbackQTcpServer_NextPendingConnection(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "nextPendingConnection"); signal != nil { + return PointerFromQTcpSocket((*(*func() *QTcpSocket)(signal))()) + } + + return PointerFromQTcpSocket(NewQTcpServerFromPointer(ptr).NextPendingConnectionDefault()) +} + +func (ptr *QTcpServer) ConnectNextPendingConnection(f func() *QTcpSocket) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "nextPendingConnection"); signal != nil { + f := func() *QTcpSocket { + (*(*func() *QTcpSocket)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "nextPendingConnection", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "nextPendingConnection", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTcpServer) DisconnectNextPendingConnection() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "nextPendingConnection") + } +} + +func (ptr *QTcpServer) NextPendingConnection() *QTcpSocket { + if ptr.Pointer() != nil { + tmpValue := NewQTcpSocketFromPointer(C.QTcpServer_NextPendingConnection(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTcpServer) NextPendingConnectionDefault() *QTcpSocket { + if ptr.Pointer() != nil { + tmpValue := NewQTcpSocketFromPointer(C.QTcpServer_NextPendingConnectionDefault(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTcpServer) PauseAccepting() { + if ptr.Pointer() != nil { + C.QTcpServer_PauseAccepting(ptr.Pointer()) + } +} + +func (ptr *QTcpServer) Proxy() *QNetworkProxy { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkProxyFromPointer(C.QTcpServer_Proxy(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkProxy).DestroyQNetworkProxy) + return tmpValue + } + return nil +} + +func (ptr *QTcpServer) ResumeAccepting() { + if ptr.Pointer() != nil { + C.QTcpServer_ResumeAccepting(ptr.Pointer()) + } +} + +func (ptr *QTcpServer) ServerAddress() *QHostAddress { + if ptr.Pointer() != nil { + tmpValue := NewQHostAddressFromPointer(C.QTcpServer_ServerAddress(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QHostAddress).DestroyQHostAddress) + return tmpValue + } + return nil +} + +func (ptr *QTcpServer) ServerError() QAbstractSocket__SocketError { + if ptr.Pointer() != nil { + return QAbstractSocket__SocketError(C.QTcpServer_ServerError(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTcpServer) ServerPort() uint16 { + if ptr.Pointer() != nil { + return uint16(C.QTcpServer_ServerPort(ptr.Pointer())) + } + return 0 +} + +func (ptr *QTcpServer) SetMaxPendingConnections(numConnections int) { + if ptr.Pointer() != nil { + C.QTcpServer_SetMaxPendingConnections(ptr.Pointer(), C.int(int32(numConnections))) + } +} + +func (ptr *QTcpServer) SetProxy(networkProxy QNetworkProxy_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer_SetProxy(ptr.Pointer(), PointerFromQNetworkProxy(networkProxy)) + } +} + +func (ptr *QTcpServer) WaitForNewConnection(msec int, timedOut *bool) bool { + if ptr.Pointer() != nil { + var timedOutC C.char + if timedOut != nil { + timedOutC = C.char(int8(qt.GoBoolToInt(*timedOut))) + defer func() { *timedOut = int8(timedOutC) != 0 }() + } + return int8(C.QTcpServer_WaitForNewConnection(ptr.Pointer(), C.int(int32(msec)), &timedOutC)) != 0 + } + return false +} + +//export callbackQTcpServer_DestroyQTcpServer +func callbackQTcpServer_DestroyQTcpServer(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTcpServer"); signal != nil { + (*(*func())(signal))() + } else { + NewQTcpServerFromPointer(ptr).DestroyQTcpServerDefault() + } +} + +func (ptr *QTcpServer) ConnectDestroyQTcpServer(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTcpServer"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTcpServer", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTcpServer", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTcpServer) DisconnectDestroyQTcpServer() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTcpServer") + } +} + +func (ptr *QTcpServer) DestroyQTcpServer() { + if ptr.Pointer() != nil { + C.QTcpServer_DestroyQTcpServer(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTcpServer) DestroyQTcpServerDefault() { + if ptr.Pointer() != nil { + C.QTcpServer_DestroyQTcpServerDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTcpServer) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTcpServer___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTcpServer) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTcpServer) __children_newList() unsafe.Pointer { + return C.QTcpServer___children_newList(ptr.Pointer()) +} + +func (ptr *QTcpServer) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QTcpServer___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QTcpServer) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QTcpServer) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QTcpServer___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QTcpServer) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTcpServer___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTcpServer) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTcpServer) __findChildren_newList() unsafe.Pointer { + return C.QTcpServer___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QTcpServer) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTcpServer___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTcpServer) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTcpServer) __findChildren_newList3() unsafe.Pointer { + return C.QTcpServer___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QTcpServer) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QTcpServer___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QTcpServer) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QTcpServer) __qFindChildren_newList2() unsafe.Pointer { + return C.QTcpServer___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQTcpServer_ChildEvent +func callbackQTcpServer_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQTcpServerFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QTcpServer) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQTcpServer_ConnectNotify +func callbackQTcpServer_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQTcpServerFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QTcpServer) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQTcpServer_CustomEvent +func callbackQTcpServer_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQTcpServerFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QTcpServer) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQTcpServer_DeleteLater +func callbackQTcpServer_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQTcpServerFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QTcpServer) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QTcpServer_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQTcpServer_Destroyed +func callbackQTcpServer_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQTcpServer_DisconnectNotify +func callbackQTcpServer_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQTcpServerFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QTcpServer) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQTcpServer_Event +func callbackQTcpServer_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQTcpServerFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QTcpServer) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTcpServer_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQTcpServer_EventFilter +func callbackQTcpServer_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQTcpServerFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QTcpServer) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QTcpServer_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQTcpServer_MetaObject +func callbackQTcpServer_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQTcpServerFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QTcpServer) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QTcpServer_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQTcpServer_ObjectNameChanged +func callbackQTcpServer_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtNetwork_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQTcpServer_TimerEvent +func callbackQTcpServer_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQTcpServerFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QTcpServer) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QTcpServer_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QTcpSocket struct { + QAbstractSocket +} + +type QTcpSocket_ITF interface { + QAbstractSocket_ITF + QTcpSocket_PTR() *QTcpSocket +} + +func (ptr *QTcpSocket) QTcpSocket_PTR() *QTcpSocket { + return ptr +} + +func (ptr *QTcpSocket) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractSocket_PTR().Pointer() + } + return nil +} + +func (ptr *QTcpSocket) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractSocket_PTR().SetPointer(p) + } +} + +func PointerFromQTcpSocket(ptr QTcpSocket_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QTcpSocket_PTR().Pointer() + } + return nil +} + +func NewQTcpSocketFromPointer(ptr unsafe.Pointer) (n *QTcpSocket) { + n = new(QTcpSocket) + n.SetPointer(ptr) + return +} +func NewQTcpSocket(parent core.QObject_ITF) *QTcpSocket { + tmpValue := NewQTcpSocketFromPointer(C.QTcpSocket_NewQTcpSocket(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQTcpSocket_DestroyQTcpSocket +func callbackQTcpSocket_DestroyQTcpSocket(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QTcpSocket"); signal != nil { + (*(*func())(signal))() + } else { + NewQTcpSocketFromPointer(ptr).DestroyQTcpSocketDefault() + } +} + +func (ptr *QTcpSocket) ConnectDestroyQTcpSocket(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QTcpSocket"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QTcpSocket", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QTcpSocket", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QTcpSocket) DisconnectDestroyQTcpSocket() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QTcpSocket") + } +} + +func (ptr *QTcpSocket) DestroyQTcpSocket() { + if ptr.Pointer() != nil { + C.QTcpSocket_DestroyQTcpSocket(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QTcpSocket) DestroyQTcpSocketDefault() { + if ptr.Pointer() != nil { + C.QTcpSocket_DestroyQTcpSocketDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QUdpSocket struct { + QAbstractSocket +} + +type QUdpSocket_ITF interface { + QAbstractSocket_ITF + QUdpSocket_PTR() *QUdpSocket +} + +func (ptr *QUdpSocket) QUdpSocket_PTR() *QUdpSocket { + return ptr +} + +func (ptr *QUdpSocket) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QAbstractSocket_PTR().Pointer() + } + return nil +} + +func (ptr *QUdpSocket) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QAbstractSocket_PTR().SetPointer(p) + } +} + +func PointerFromQUdpSocket(ptr QUdpSocket_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QUdpSocket_PTR().Pointer() + } + return nil +} + +func NewQUdpSocketFromPointer(ptr unsafe.Pointer) (n *QUdpSocket) { + n = new(QUdpSocket) + n.SetPointer(ptr) + return +} +func NewQUdpSocket(parent core.QObject_ITF) *QUdpSocket { + tmpValue := NewQUdpSocketFromPointer(C.QUdpSocket_NewQUdpSocket(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QUdpSocket) HasPendingDatagrams() bool { + if ptr.Pointer() != nil { + return int8(C.QUdpSocket_HasPendingDatagrams(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QUdpSocket) JoinMulticastGroup(groupAddress QHostAddress_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QUdpSocket_JoinMulticastGroup(ptr.Pointer(), PointerFromQHostAddress(groupAddress))) != 0 + } + return false +} + +func (ptr *QUdpSocket) JoinMulticastGroup2(groupAddress QHostAddress_ITF, iface QNetworkInterface_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QUdpSocket_JoinMulticastGroup2(ptr.Pointer(), PointerFromQHostAddress(groupAddress), PointerFromQNetworkInterface(iface))) != 0 + } + return false +} + +func (ptr *QUdpSocket) LeaveMulticastGroup(groupAddress QHostAddress_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QUdpSocket_LeaveMulticastGroup(ptr.Pointer(), PointerFromQHostAddress(groupAddress))) != 0 + } + return false +} + +func (ptr *QUdpSocket) LeaveMulticastGroup2(groupAddress QHostAddress_ITF, iface QNetworkInterface_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QUdpSocket_LeaveMulticastGroup2(ptr.Pointer(), PointerFromQHostAddress(groupAddress), PointerFromQNetworkInterface(iface))) != 0 + } + return false +} + +func (ptr *QUdpSocket) MulticastInterface() *QNetworkInterface { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkInterfaceFromPointer(C.QUdpSocket_MulticastInterface(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QNetworkInterface).DestroyQNetworkInterface) + return tmpValue + } + return nil +} + +func (ptr *QUdpSocket) PendingDatagramSize() int64 { + if ptr.Pointer() != nil { + return int64(C.QUdpSocket_PendingDatagramSize(ptr.Pointer())) + } + return 0 +} + +func (ptr *QUdpSocket) ReadDatagram(data []byte, maxSize int64, address QHostAddress_ITF, port uint16) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QUdpSocket_ReadDatagram(ptr.Pointer(), dataC, C.longlong(maxSize), PointerFromQHostAddress(address), C.ushort(port))) + } + return 0 +} + +func (ptr *QUdpSocket) ReceiveDatagram(maxSize int64) *QNetworkDatagram { + if ptr.Pointer() != nil { + tmpValue := NewQNetworkDatagramFromPointer(C.QUdpSocket_ReceiveDatagram(ptr.Pointer(), C.longlong(maxSize))) + runtime.SetFinalizer(tmpValue, (*QNetworkDatagram).DestroyQNetworkDatagram) + return tmpValue + } + return nil +} + +func (ptr *QUdpSocket) SetMulticastInterface(iface QNetworkInterface_ITF) { + if ptr.Pointer() != nil { + C.QUdpSocket_SetMulticastInterface(ptr.Pointer(), PointerFromQNetworkInterface(iface)) + } +} + +func (ptr *QUdpSocket) WriteDatagram(data []byte, size int64, address QHostAddress_ITF, port uint16) int64 { + if ptr.Pointer() != nil { + var dataC *C.char + if len(data) != 0 { + dataC = (*C.char)(unsafe.Pointer(&data[0])) + } + return int64(C.QUdpSocket_WriteDatagram(ptr.Pointer(), dataC, C.longlong(size), PointerFromQHostAddress(address), C.ushort(port))) + } + return 0 +} + +func (ptr *QUdpSocket) WriteDatagram2(datagram QNetworkDatagram_ITF) int64 { + if ptr.Pointer() != nil { + return int64(C.QUdpSocket_WriteDatagram2(ptr.Pointer(), PointerFromQNetworkDatagram(datagram))) + } + return 0 +} + +func (ptr *QUdpSocket) WriteDatagram3(datagram core.QByteArray_ITF, host QHostAddress_ITF, port uint16) int64 { + if ptr.Pointer() != nil { + return int64(C.QUdpSocket_WriteDatagram3(ptr.Pointer(), core.PointerFromQByteArray(datagram), PointerFromQHostAddress(host), C.ushort(port))) + } + return 0 +} + +//export callbackQUdpSocket_DestroyQUdpSocket +func callbackQUdpSocket_DestroyQUdpSocket(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QUdpSocket"); signal != nil { + (*(*func())(signal))() + } else { + NewQUdpSocketFromPointer(ptr).DestroyQUdpSocketDefault() + } +} + +func (ptr *QUdpSocket) ConnectDestroyQUdpSocket(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QUdpSocket"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QUdpSocket", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QUdpSocket", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QUdpSocket) DisconnectDestroyQUdpSocket() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QUdpSocket") + } +} + +func (ptr *QUdpSocket) DestroyQUdpSocket() { + if ptr.Pointer() != nil { + C.QUdpSocket_DestroyQUdpSocket(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QUdpSocket) DestroyQUdpSocketDefault() { + if ptr.Pointer() != nil { + C.QUdpSocket_DestroyQUdpSocketDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QNetworkCacheMetaData_RawHeader struct { + ptr unsafe.Pointer +} + +type QNetworkCacheMetaData_RawHeader_ITF interface { + QNetworkCacheMetaData_RawHeader_PTR() *QNetworkCacheMetaData_RawHeader +} + +func (ptr *QNetworkCacheMetaData_RawHeader) QNetworkCacheMetaData_RawHeader_PTR() *QNetworkCacheMetaData_RawHeader { + return ptr +} + +func (ptr *QNetworkCacheMetaData_RawHeader) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QNetworkCacheMetaData_RawHeader) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQNetworkCacheMetaData_RawHeader(ptr QNetworkCacheMetaData_RawHeader_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QNetworkCacheMetaData_RawHeader_PTR().Pointer() + } + return nil +} + +func NewQNetworkCacheMetaData_RawHeaderFromPointer(ptr unsafe.Pointer) (n *QNetworkCacheMetaData_RawHeader) { + n = new(QNetworkCacheMetaData_RawHeader) + n.SetPointer(ptr) + return +} + +func (ptr *QNetworkCacheMetaData_RawHeader) DestroyQNetworkCacheMetaData_RawHeader() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQNetworkCacheMetaData_RawHeader() *QNetworkCacheMetaData_RawHeader { + tmpValue := NewQNetworkCacheMetaData_RawHeaderFromPointer(C.RawHeader_NewRawHeader()) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData_RawHeader).DestroyQNetworkCacheMetaData_RawHeader) + return tmpValue +} + +func NewQNetworkCacheMetaData_RawHeader2(first core.QByteArray_ITF, second core.QByteArray_ITF) *QNetworkCacheMetaData_RawHeader { + tmpValue := NewQNetworkCacheMetaData_RawHeaderFromPointer(C.RawHeader_NewRawHeader2(core.PointerFromQByteArray(first), core.PointerFromQByteArray(second))) + runtime.SetFinalizer(tmpValue, (*QNetworkCacheMetaData_RawHeader).DestroyQNetworkCacheMetaData_RawHeader) + return tmpValue +} + +func (ptr *QNetworkCacheMetaData_RawHeader) First() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.RawHeader_First(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCacheMetaData_RawHeader) SetFirst(vqb core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.RawHeader_SetFirst(ptr.Pointer(), core.PointerFromQByteArray(vqb)) + } +} + +func (ptr *QNetworkCacheMetaData_RawHeader) Second() *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.RawHeader_Second(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QNetworkCacheMetaData_RawHeader) SetSecond(vqb core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.RawHeader_SetSecond(ptr.Pointer(), core.PointerFromQByteArray(vqb)) + } +} diff --git a/vendor/github.com/therecipe/qt/network/network.h b/vendor/github.com/therecipe/qt/network/network.h new file mode 100644 index 00000000..56e3c818 --- /dev/null +++ b/vendor/github.com/therecipe/qt/network/network.h @@ -0,0 +1,1667 @@ +// +build !minimal + +#pragma once + +#ifndef GO_QTNETWORK_H +#define GO_QTNETWORK_H + +#include + +#ifdef __cplusplus +int QAbstractNetworkCache_QAbstractNetworkCache_QRegisterMetaType(); +int QAbstractSocket_QAbstractSocket_QRegisterMetaType(); +int QDnsLookup_QDnsLookup_QRegisterMetaType(); +int QHttpMultiPart_QHttpMultiPart_QRegisterMetaType(); +int QLocalServer_QLocalServer_QRegisterMetaType(); +int QLocalSocket_QLocalSocket_QRegisterMetaType(); +int QNetworkAccessManager_QNetworkAccessManager_QRegisterMetaType(); +int QNetworkConfigurationManager_QNetworkConfigurationManager_QRegisterMetaType(); +int QNetworkCookieJar_QNetworkCookieJar_QRegisterMetaType(); +int QNetworkDiskCache_QNetworkDiskCache_QRegisterMetaType(); +int QNetworkReply_QNetworkReply_QRegisterMetaType(); +int QNetworkSession_QNetworkSession_QRegisterMetaType(); +int QSslSocket_QSslSocket_QRegisterMetaType(); +int QTcpServer_QTcpServer_QRegisterMetaType(); +int QTcpSocket_QTcpSocket_QRegisterMetaType(); +int QUdpSocket_QUdpSocket_QRegisterMetaType(); +extern "C" { +#endif + +struct QtNetwork_PackedString { char* data; long long len; }; +struct QtNetwork_PackedList { void* data; long long len; }; +void* QAbstractNetworkCache_NewQAbstractNetworkCache(void* parent); +long long QAbstractNetworkCache_CacheSize(void* ptr); +void QAbstractNetworkCache_Clear(void* ptr); +void* QAbstractNetworkCache_Data(void* ptr, void* url); +void QAbstractNetworkCache_Insert(void* ptr, void* device); +void* QAbstractNetworkCache_MetaData(void* ptr, void* url); +void* QAbstractNetworkCache_Prepare(void* ptr, void* metaData); +char QAbstractNetworkCache_Remove(void* ptr, void* url); +void QAbstractNetworkCache_UpdateMetaData(void* ptr, void* metaData); +void QAbstractNetworkCache_DestroyQAbstractNetworkCache(void* ptr); +void QAbstractNetworkCache_DestroyQAbstractNetworkCacheDefault(void* ptr); +void* QAbstractNetworkCache___children_atList(void* ptr, int i); +void QAbstractNetworkCache___children_setList(void* ptr, void* i); +void* QAbstractNetworkCache___children_newList(void* ptr); +void* QAbstractNetworkCache___dynamicPropertyNames_atList(void* ptr, int i); +void QAbstractNetworkCache___dynamicPropertyNames_setList(void* ptr, void* i); +void* QAbstractNetworkCache___dynamicPropertyNames_newList(void* ptr); +void* QAbstractNetworkCache___findChildren_atList(void* ptr, int i); +void QAbstractNetworkCache___findChildren_setList(void* ptr, void* i); +void* QAbstractNetworkCache___findChildren_newList(void* ptr); +void* QAbstractNetworkCache___findChildren_atList3(void* ptr, int i); +void QAbstractNetworkCache___findChildren_setList3(void* ptr, void* i); +void* QAbstractNetworkCache___findChildren_newList3(void* ptr); +void* QAbstractNetworkCache___qFindChildren_atList2(void* ptr, int i); +void QAbstractNetworkCache___qFindChildren_setList2(void* ptr, void* i); +void* QAbstractNetworkCache___qFindChildren_newList2(void* ptr); +void QAbstractNetworkCache_ChildEventDefault(void* ptr, void* event); +void QAbstractNetworkCache_ConnectNotifyDefault(void* ptr, void* sign); +void QAbstractNetworkCache_CustomEventDefault(void* ptr, void* event); +void QAbstractNetworkCache_DeleteLaterDefault(void* ptr); +void QAbstractNetworkCache_DisconnectNotifyDefault(void* ptr, void* sign); +char QAbstractNetworkCache_EventDefault(void* ptr, void* e); +char QAbstractNetworkCache_EventFilterDefault(void* ptr, void* watched, void* event); +void* QAbstractNetworkCache_MetaObjectDefault(void* ptr); +void QAbstractNetworkCache_TimerEventDefault(void* ptr, void* event); +void* QAbstractSocket_NewQAbstractSocket(long long socketType, void* parent); +void QAbstractSocket_Abort(void* ptr); +char QAbstractSocket_AtEndDefault(void* ptr); +char QAbstractSocket_Bind(void* ptr, void* address, unsigned short port, long long mode); +char QAbstractSocket_Bind2(void* ptr, unsigned short port, long long mode); +long long QAbstractSocket_BytesAvailableDefault(void* ptr); +long long QAbstractSocket_BytesToWriteDefault(void* ptr); +char QAbstractSocket_CanReadLineDefault(void* ptr); +void QAbstractSocket_CloseDefault(void* ptr); +void QAbstractSocket_ConnectToHost(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, long long openMode, long long protocol); +void QAbstractSocket_ConnectToHostDefault(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, long long openMode, long long protocol); +void QAbstractSocket_ConnectToHost2(void* ptr, void* address, unsigned short port, long long openMode); +void QAbstractSocket_ConnectToHost2Default(void* ptr, void* address, unsigned short port, long long openMode); +void QAbstractSocket_ConnectConnected(void* ptr, long long t); +void QAbstractSocket_DisconnectConnected(void* ptr); +void QAbstractSocket_Connected(void* ptr); +void QAbstractSocket_DisconnectFromHost(void* ptr); +void QAbstractSocket_DisconnectFromHostDefault(void* ptr); +void QAbstractSocket_ConnectDisconnected(void* ptr, long long t); +void QAbstractSocket_DisconnectDisconnected(void* ptr); +void QAbstractSocket_Disconnected(void* ptr); +long long QAbstractSocket_Error(void* ptr); +void QAbstractSocket_ConnectError2(void* ptr, long long t); +void QAbstractSocket_DisconnectError2(void* ptr); +void QAbstractSocket_Error2(void* ptr, long long socketError); +char QAbstractSocket_Flush(void* ptr); +void QAbstractSocket_ConnectHostFound(void* ptr, long long t); +void QAbstractSocket_DisconnectHostFound(void* ptr); +void QAbstractSocket_HostFound(void* ptr); +char QAbstractSocket_IsSequentialDefault(void* ptr); +char QAbstractSocket_IsValid(void* ptr); +void* QAbstractSocket_LocalAddress(void* ptr); +unsigned short QAbstractSocket_LocalPort(void* ptr); +long long QAbstractSocket_PauseMode(void* ptr); +void* QAbstractSocket_PeerAddress(void* ptr); +struct QtNetwork_PackedString QAbstractSocket_PeerName(void* ptr); +unsigned short QAbstractSocket_PeerPort(void* ptr); +struct QtNetwork_PackedString QAbstractSocket_ProtocolTag(void* ptr); +void* QAbstractSocket_Proxy(void* ptr); +void QAbstractSocket_ConnectProxyAuthenticationRequired(void* ptr, long long t); +void QAbstractSocket_DisconnectProxyAuthenticationRequired(void* ptr); +void QAbstractSocket_ProxyAuthenticationRequired(void* ptr, void* proxy, void* authenticator); +long long QAbstractSocket_ReadBufferSize(void* ptr); +long long QAbstractSocket_ReadData(void* ptr, char* data, long long maxSize); +long long QAbstractSocket_ReadDataDefault(void* ptr, char* data, long long maxSize); +long long QAbstractSocket_ReadLineDataDefault(void* ptr, char* data, long long maxlen); +void QAbstractSocket_Resume(void* ptr); +void QAbstractSocket_ResumeDefault(void* ptr); +void QAbstractSocket_SetLocalAddress(void* ptr, void* address); +void QAbstractSocket_SetLocalPort(void* ptr, unsigned short port); +void QAbstractSocket_SetPauseMode(void* ptr, long long pauseMode); +void QAbstractSocket_SetPeerAddress(void* ptr, void* address); +void QAbstractSocket_SetPeerName(void* ptr, struct QtNetwork_PackedString name); +void QAbstractSocket_SetPeerPort(void* ptr, unsigned short port); +void QAbstractSocket_SetProtocolTag(void* ptr, struct QtNetwork_PackedString tag); +void QAbstractSocket_SetProxy(void* ptr, void* networkProxy); +void QAbstractSocket_SetReadBufferSize(void* ptr, long long size); +void QAbstractSocket_SetReadBufferSizeDefault(void* ptr, long long size); +void QAbstractSocket_SetSocketError(void* ptr, long long socketError); +void QAbstractSocket_SetSocketOption(void* ptr, long long option, void* value); +void QAbstractSocket_SetSocketOptionDefault(void* ptr, long long option, void* value); +void QAbstractSocket_SetSocketState(void* ptr, long long state); +void* QAbstractSocket_SocketOption(void* ptr, long long option); +void* QAbstractSocket_SocketOptionDefault(void* ptr, long long option); +long long QAbstractSocket_SocketType(void* ptr); +long long QAbstractSocket_State(void* ptr); +void QAbstractSocket_ConnectStateChanged(void* ptr, long long t); +void QAbstractSocket_DisconnectStateChanged(void* ptr); +void QAbstractSocket_StateChanged(void* ptr, long long socketState); +char QAbstractSocket_WaitForBytesWrittenDefault(void* ptr, int msecs); +char QAbstractSocket_WaitForConnected(void* ptr, int msecs); +char QAbstractSocket_WaitForConnectedDefault(void* ptr, int msecs); +char QAbstractSocket_WaitForDisconnected(void* ptr, int msecs); +char QAbstractSocket_WaitForDisconnectedDefault(void* ptr, int msecs); +char QAbstractSocket_WaitForReadyReadDefault(void* ptr, int msecs); +long long QAbstractSocket_WriteData(void* ptr, char* data, long long size); +long long QAbstractSocket_WriteDataDefault(void* ptr, char* data, long long size); +void QAbstractSocket_DestroyQAbstractSocket(void* ptr); +void QAbstractSocket_DestroyQAbstractSocketDefault(void* ptr); +void* QAbstractSocket___children_atList(void* ptr, int i); +void QAbstractSocket___children_setList(void* ptr, void* i); +void* QAbstractSocket___children_newList(void* ptr); +void* QAbstractSocket___dynamicPropertyNames_atList(void* ptr, int i); +void QAbstractSocket___dynamicPropertyNames_setList(void* ptr, void* i); +void* QAbstractSocket___dynamicPropertyNames_newList(void* ptr); +void* QAbstractSocket___findChildren_atList(void* ptr, int i); +void QAbstractSocket___findChildren_setList(void* ptr, void* i); +void* QAbstractSocket___findChildren_newList(void* ptr); +void* QAbstractSocket___findChildren_atList3(void* ptr, int i); +void QAbstractSocket___findChildren_setList3(void* ptr, void* i); +void* QAbstractSocket___findChildren_newList3(void* ptr); +void* QAbstractSocket___qFindChildren_atList2(void* ptr, int i); +void QAbstractSocket___qFindChildren_setList2(void* ptr, void* i); +void* QAbstractSocket___qFindChildren_newList2(void* ptr); +char QAbstractSocket_OpenDefault(void* ptr, long long mode); +long long QAbstractSocket_PosDefault(void* ptr); +char QAbstractSocket_ResetDefault(void* ptr); +char QAbstractSocket_SeekDefault(void* ptr, long long pos); +long long QAbstractSocket_SizeDefault(void* ptr); +void QAbstractSocket_ChildEventDefault(void* ptr, void* event); +void QAbstractSocket_ConnectNotifyDefault(void* ptr, void* sign); +void QAbstractSocket_CustomEventDefault(void* ptr, void* event); +void QAbstractSocket_DeleteLaterDefault(void* ptr); +void QAbstractSocket_DisconnectNotifyDefault(void* ptr, void* sign); +char QAbstractSocket_EventDefault(void* ptr, void* e); +char QAbstractSocket_EventFilterDefault(void* ptr, void* watched, void* event); +void* QAbstractSocket_MetaObjectDefault(void* ptr); +void QAbstractSocket_TimerEventDefault(void* ptr, void* event); +void* QAuthenticator_NewQAuthenticator(); +void* QAuthenticator_NewQAuthenticator2(void* other); +char QAuthenticator_IsNull(void* ptr); +void* QAuthenticator_Option(void* ptr, struct QtNetwork_PackedString opt); +struct QtNetwork_PackedList QAuthenticator_Options(void* ptr); +struct QtNetwork_PackedString QAuthenticator_Password(void* ptr); +struct QtNetwork_PackedString QAuthenticator_Realm(void* ptr); +void QAuthenticator_SetOption(void* ptr, struct QtNetwork_PackedString opt, void* value); +void QAuthenticator_SetPassword(void* ptr, struct QtNetwork_PackedString password); +void QAuthenticator_SetUser(void* ptr, struct QtNetwork_PackedString user); +struct QtNetwork_PackedString QAuthenticator_User(void* ptr); +void QAuthenticator_DestroyQAuthenticator(void* ptr); +void* QAuthenticator___options_atList(void* ptr, struct QtNetwork_PackedString v, int i); +void QAuthenticator___options_setList(void* ptr, struct QtNetwork_PackedString key, void* i); +void* QAuthenticator___options_newList(void* ptr); +struct QtNetwork_PackedList QAuthenticator___options_keyList(void* ptr); +struct QtNetwork_PackedString QAuthenticator_____options_keyList_atList(void* ptr, int i); +void QAuthenticator_____options_keyList_setList(void* ptr, struct QtNetwork_PackedString i); +void* QAuthenticator_____options_keyList_newList(void* ptr); +void* QDnsDomainNameRecord_NewQDnsDomainNameRecord(); +void* QDnsDomainNameRecord_NewQDnsDomainNameRecord2(void* other); +struct QtNetwork_PackedString QDnsDomainNameRecord_Name(void* ptr); +void QDnsDomainNameRecord_Swap(void* ptr, void* other); +unsigned int QDnsDomainNameRecord_TimeToLive(void* ptr); +struct QtNetwork_PackedString QDnsDomainNameRecord_Value(void* ptr); +void QDnsDomainNameRecord_DestroyQDnsDomainNameRecord(void* ptr); +void* QDnsHostAddressRecord_NewQDnsHostAddressRecord(); +void* QDnsHostAddressRecord_NewQDnsHostAddressRecord2(void* other); +struct QtNetwork_PackedString QDnsHostAddressRecord_Name(void* ptr); +void QDnsHostAddressRecord_Swap(void* ptr, void* other); +unsigned int QDnsHostAddressRecord_TimeToLive(void* ptr); +void* QDnsHostAddressRecord_Value(void* ptr); +void QDnsHostAddressRecord_DestroyQDnsHostAddressRecord(void* ptr); +void* QDnsLookup_NewQDnsLookup(void* parent); +void* QDnsLookup_NewQDnsLookup2(long long ty, struct QtNetwork_PackedString name, void* parent); +void* QDnsLookup_NewQDnsLookup3(long long ty, struct QtNetwork_PackedString name, void* nameserver, void* parent); +void QDnsLookup_Abort(void* ptr); +void QDnsLookup_AbortDefault(void* ptr); +struct QtNetwork_PackedList QDnsLookup_CanonicalNameRecords(void* ptr); +long long QDnsLookup_Error(void* ptr); +struct QtNetwork_PackedString QDnsLookup_ErrorString(void* ptr); +void QDnsLookup_ConnectFinished(void* ptr, long long t); +void QDnsLookup_DisconnectFinished(void* ptr); +void QDnsLookup_Finished(void* ptr); +struct QtNetwork_PackedList QDnsLookup_HostAddressRecords(void* ptr); +char QDnsLookup_IsFinished(void* ptr); +void QDnsLookup_Lookup(void* ptr); +void QDnsLookup_LookupDefault(void* ptr); +struct QtNetwork_PackedList QDnsLookup_MailExchangeRecords(void* ptr); +struct QtNetwork_PackedString QDnsLookup_Name(void* ptr); +void QDnsLookup_ConnectNameChanged(void* ptr, long long t); +void QDnsLookup_DisconnectNameChanged(void* ptr); +void QDnsLookup_NameChanged(void* ptr, struct QtNetwork_PackedString name); +struct QtNetwork_PackedList QDnsLookup_NameServerRecords(void* ptr); +void* QDnsLookup_Nameserver(void* ptr); +void QDnsLookup_ConnectNameserverChanged(void* ptr, long long t); +void QDnsLookup_DisconnectNameserverChanged(void* ptr); +void QDnsLookup_NameserverChanged(void* ptr, void* nameserver); +struct QtNetwork_PackedList QDnsLookup_PointerRecords(void* ptr); +struct QtNetwork_PackedList QDnsLookup_ServiceRecords(void* ptr); +void QDnsLookup_SetName(void* ptr, struct QtNetwork_PackedString name); +void QDnsLookup_SetNameserver(void* ptr, void* nameserver); +void QDnsLookup_SetType(void* ptr, long long vqd); +struct QtNetwork_PackedList QDnsLookup_TextRecords(void* ptr); +long long QDnsLookup_Type(void* ptr); +void QDnsLookup_ConnectTypeChanged(void* ptr, long long t); +void QDnsLookup_DisconnectTypeChanged(void* ptr); +void QDnsLookup_TypeChanged(void* ptr, long long ty); +void QDnsLookup_DestroyQDnsLookup(void* ptr); +void QDnsLookup_DestroyQDnsLookupDefault(void* ptr); +void* QDnsLookup___canonicalNameRecords_atList(void* ptr, int i); +void QDnsLookup___canonicalNameRecords_setList(void* ptr, void* i); +void* QDnsLookup___canonicalNameRecords_newList(void* ptr); +void* QDnsLookup___hostAddressRecords_atList(void* ptr, int i); +void QDnsLookup___hostAddressRecords_setList(void* ptr, void* i); +void* QDnsLookup___hostAddressRecords_newList(void* ptr); +void* QDnsLookup___mailExchangeRecords_atList(void* ptr, int i); +void QDnsLookup___mailExchangeRecords_setList(void* ptr, void* i); +void* QDnsLookup___mailExchangeRecords_newList(void* ptr); +void* QDnsLookup___nameServerRecords_atList(void* ptr, int i); +void QDnsLookup___nameServerRecords_setList(void* ptr, void* i); +void* QDnsLookup___nameServerRecords_newList(void* ptr); +void* QDnsLookup___pointerRecords_atList(void* ptr, int i); +void QDnsLookup___pointerRecords_setList(void* ptr, void* i); +void* QDnsLookup___pointerRecords_newList(void* ptr); +void* QDnsLookup___serviceRecords_atList(void* ptr, int i); +void QDnsLookup___serviceRecords_setList(void* ptr, void* i); +void* QDnsLookup___serviceRecords_newList(void* ptr); +void* QDnsLookup___textRecords_atList(void* ptr, int i); +void QDnsLookup___textRecords_setList(void* ptr, void* i); +void* QDnsLookup___textRecords_newList(void* ptr); +void* QDnsLookup___children_atList(void* ptr, int i); +void QDnsLookup___children_setList(void* ptr, void* i); +void* QDnsLookup___children_newList(void* ptr); +void* QDnsLookup___dynamicPropertyNames_atList(void* ptr, int i); +void QDnsLookup___dynamicPropertyNames_setList(void* ptr, void* i); +void* QDnsLookup___dynamicPropertyNames_newList(void* ptr); +void* QDnsLookup___findChildren_atList(void* ptr, int i); +void QDnsLookup___findChildren_setList(void* ptr, void* i); +void* QDnsLookup___findChildren_newList(void* ptr); +void* QDnsLookup___findChildren_atList3(void* ptr, int i); +void QDnsLookup___findChildren_setList3(void* ptr, void* i); +void* QDnsLookup___findChildren_newList3(void* ptr); +void* QDnsLookup___qFindChildren_atList2(void* ptr, int i); +void QDnsLookup___qFindChildren_setList2(void* ptr, void* i); +void* QDnsLookup___qFindChildren_newList2(void* ptr); +void QDnsLookup_ChildEventDefault(void* ptr, void* event); +void QDnsLookup_ConnectNotifyDefault(void* ptr, void* sign); +void QDnsLookup_CustomEventDefault(void* ptr, void* event); +void QDnsLookup_DeleteLaterDefault(void* ptr); +void QDnsLookup_DisconnectNotifyDefault(void* ptr, void* sign); +char QDnsLookup_EventDefault(void* ptr, void* e); +char QDnsLookup_EventFilterDefault(void* ptr, void* watched, void* event); +void* QDnsLookup_MetaObjectDefault(void* ptr); +void QDnsLookup_TimerEventDefault(void* ptr, void* event); +void* QDnsMailExchangeRecord_NewQDnsMailExchangeRecord(); +void* QDnsMailExchangeRecord_NewQDnsMailExchangeRecord2(void* other); +struct QtNetwork_PackedString QDnsMailExchangeRecord_Exchange(void* ptr); +struct QtNetwork_PackedString QDnsMailExchangeRecord_Name(void* ptr); +unsigned short QDnsMailExchangeRecord_Preference(void* ptr); +void QDnsMailExchangeRecord_Swap(void* ptr, void* other); +unsigned int QDnsMailExchangeRecord_TimeToLive(void* ptr); +void QDnsMailExchangeRecord_DestroyQDnsMailExchangeRecord(void* ptr); +void* QDnsServiceRecord_NewQDnsServiceRecord(); +void* QDnsServiceRecord_NewQDnsServiceRecord2(void* other); +struct QtNetwork_PackedString QDnsServiceRecord_Name(void* ptr); +unsigned short QDnsServiceRecord_Port(void* ptr); +unsigned short QDnsServiceRecord_Priority(void* ptr); +void QDnsServiceRecord_Swap(void* ptr, void* other); +struct QtNetwork_PackedString QDnsServiceRecord_Target(void* ptr); +unsigned int QDnsServiceRecord_TimeToLive(void* ptr); +unsigned short QDnsServiceRecord_Weight(void* ptr); +void QDnsServiceRecord_DestroyQDnsServiceRecord(void* ptr); +void* QDnsTextRecord_NewQDnsTextRecord(); +void* QDnsTextRecord_NewQDnsTextRecord2(void* other); +struct QtNetwork_PackedString QDnsTextRecord_Name(void* ptr); +void QDnsTextRecord_Swap(void* ptr, void* other); +unsigned int QDnsTextRecord_TimeToLive(void* ptr); +struct QtNetwork_PackedList QDnsTextRecord_Values(void* ptr); +void QDnsTextRecord_DestroyQDnsTextRecord(void* ptr); +void* QDnsTextRecord___values_atList(void* ptr, int i); +void QDnsTextRecord___values_setList(void* ptr, void* i); +void* QDnsTextRecord___values_newList(void* ptr); +void* QHostAddress_NewQHostAddress(); +void* QHostAddress_NewQHostAddress2(unsigned int ip4Addr); +void* QHostAddress_NewQHostAddress3(char* ip6Addr); +void* QHostAddress_NewQHostAddress4(char* ip6Addr); +void* QHostAddress_NewQHostAddress7(struct QtNetwork_PackedString address); +void* QHostAddress_NewQHostAddress8(void* address); +void* QHostAddress_NewQHostAddress9(long long address); +void QHostAddress_Clear(void* ptr); +char QHostAddress_IsBroadcast(void* ptr); +char QHostAddress_IsEqual(void* ptr, void* other, long long mode); +char QHostAddress_IsGlobal(void* ptr); +char QHostAddress_IsInSubnet(void* ptr, void* subnet, int netmask); +char QHostAddress_IsLinkLocal(void* ptr); +char QHostAddress_IsLoopback(void* ptr); +char QHostAddress_IsMulticast(void* ptr); +char QHostAddress_IsNull(void* ptr); +char QHostAddress_IsSiteLocal(void* ptr); +char QHostAddress_IsUniqueLocalUnicast(void* ptr); +long long QHostAddress_Protocol(void* ptr); +struct QtNetwork_PackedString QHostAddress_ScopeId(void* ptr); +void QHostAddress_SetAddress(void* ptr, unsigned int ip4Addr); +void QHostAddress_SetAddress2(void* ptr, char* ip6Addr); +void QHostAddress_SetAddress3(void* ptr, char* ip6Addr); +char QHostAddress_SetAddress6(void* ptr, struct QtNetwork_PackedString address); +void QHostAddress_SetAddress7(void* ptr, long long address); +void QHostAddress_SetScopeId(void* ptr, struct QtNetwork_PackedString id); +void QHostAddress_Swap(void* ptr, void* other); +unsigned int QHostAddress_ToIPv4Address(void* ptr); +unsigned int QHostAddress_ToIPv4Address2(void* ptr, char* ok); +struct QtNetwork_PackedString QHostAddress_ToString(void* ptr); +void QHostAddress_DestroyQHostAddress(void* ptr); +void* QHostInfo_NewQHostInfo(int id); +void* QHostInfo_NewQHostInfo2(void* other); +void QHostInfo_QHostInfo_AbortHostLookup(int id); +struct QtNetwork_PackedList QHostInfo_Addresses(void* ptr); +long long QHostInfo_Error(void* ptr); +struct QtNetwork_PackedString QHostInfo_ErrorString(void* ptr); +void* QHostInfo_QHostInfo_FromName(struct QtNetwork_PackedString name); +struct QtNetwork_PackedString QHostInfo_HostName(void* ptr); +struct QtNetwork_PackedString QHostInfo_QHostInfo_LocalDomainName(); +struct QtNetwork_PackedString QHostInfo_QHostInfo_LocalHostName(); +int QHostInfo_QHostInfo_LookupHost(struct QtNetwork_PackedString name, void* receiver, char* member); +int QHostInfo_LookupId(void* ptr); +void QHostInfo_SetAddresses(void* ptr, void* addresses); +void QHostInfo_SetError(void* ptr, long long error); +void QHostInfo_SetErrorString(void* ptr, struct QtNetwork_PackedString str); +void QHostInfo_SetHostName(void* ptr, struct QtNetwork_PackedString hostName); +void QHostInfo_SetLookupId(void* ptr, int id); +void QHostInfo_Swap(void* ptr, void* other); +void QHostInfo_DestroyQHostInfo(void* ptr); +void* QHostInfo___addresses_atList(void* ptr, int i); +void QHostInfo___addresses_setList(void* ptr, void* i); +void* QHostInfo___addresses_newList(void* ptr); +void* QHostInfo___setAddresses_addresses_atList(void* ptr, int i); +void QHostInfo___setAddresses_addresses_setList(void* ptr, void* i); +void* QHostInfo___setAddresses_addresses_newList(void* ptr); +void* QHstsPolicy_NewQHstsPolicy(); +void* QHstsPolicy_NewQHstsPolicy2(void* expiry, long long flags, struct QtNetwork_PackedString host, long long mode); +void* QHstsPolicy_NewQHstsPolicy3(void* other); +void* QHstsPolicy_Expiry(void* ptr); +struct QtNetwork_PackedString QHstsPolicy_Host(void* ptr, long long options); +char QHstsPolicy_IncludesSubDomains(void* ptr); +char QHstsPolicy_IsExpired(void* ptr); +void QHstsPolicy_SetExpiry(void* ptr, void* expiry); +void QHstsPolicy_SetHost(void* ptr, struct QtNetwork_PackedString host, long long mode); +void QHstsPolicy_SetIncludesSubDomains(void* ptr, char include); +void QHstsPolicy_Swap(void* ptr, void* other); +void QHstsPolicy_DestroyQHstsPolicy(void* ptr); +void* QHttpMultiPart_NewQHttpMultiPart(void* parent); +void* QHttpMultiPart_NewQHttpMultiPart2(long long contentType, void* parent); +void QHttpMultiPart_Append(void* ptr, void* httpPart); +void* QHttpMultiPart_Boundary(void* ptr); +void QHttpMultiPart_SetBoundary(void* ptr, void* boundary); +void QHttpMultiPart_SetContentType(void* ptr, long long contentType); +void QHttpMultiPart_DestroyQHttpMultiPart(void* ptr); +void QHttpMultiPart_DestroyQHttpMultiPartDefault(void* ptr); +void* QHttpMultiPart___children_atList(void* ptr, int i); +void QHttpMultiPart___children_setList(void* ptr, void* i); +void* QHttpMultiPart___children_newList(void* ptr); +void* QHttpMultiPart___dynamicPropertyNames_atList(void* ptr, int i); +void QHttpMultiPart___dynamicPropertyNames_setList(void* ptr, void* i); +void* QHttpMultiPart___dynamicPropertyNames_newList(void* ptr); +void* QHttpMultiPart___findChildren_atList(void* ptr, int i); +void QHttpMultiPart___findChildren_setList(void* ptr, void* i); +void* QHttpMultiPart___findChildren_newList(void* ptr); +void* QHttpMultiPart___findChildren_atList3(void* ptr, int i); +void QHttpMultiPart___findChildren_setList3(void* ptr, void* i); +void* QHttpMultiPart___findChildren_newList3(void* ptr); +void* QHttpMultiPart___qFindChildren_atList2(void* ptr, int i); +void QHttpMultiPart___qFindChildren_setList2(void* ptr, void* i); +void* QHttpMultiPart___qFindChildren_newList2(void* ptr); +void QHttpMultiPart_ChildEventDefault(void* ptr, void* event); +void QHttpMultiPart_ConnectNotifyDefault(void* ptr, void* sign); +void QHttpMultiPart_CustomEventDefault(void* ptr, void* event); +void QHttpMultiPart_DeleteLaterDefault(void* ptr); +void QHttpMultiPart_DisconnectNotifyDefault(void* ptr, void* sign); +char QHttpMultiPart_EventDefault(void* ptr, void* e); +char QHttpMultiPart_EventFilterDefault(void* ptr, void* watched, void* event); +void* QHttpMultiPart_MetaObjectDefault(void* ptr); +void QHttpMultiPart_TimerEventDefault(void* ptr, void* event); +void* QHttpPart_NewQHttpPart(); +void* QHttpPart_NewQHttpPart2(void* other); +void QHttpPart_SetBody(void* ptr, void* body); +void QHttpPart_SetBodyDevice(void* ptr, void* device); +void QHttpPart_SetHeader(void* ptr, long long header, void* value); +void QHttpPart_SetRawHeader(void* ptr, void* headerName, void* headerValue); +void QHttpPart_Swap(void* ptr, void* other); +void QHttpPart_DestroyQHttpPart(void* ptr); +void* QLocalServer_NewQLocalServer(void* parent); +void QLocalServer_Close(void* ptr); +struct QtNetwork_PackedString QLocalServer_ErrorString(void* ptr); +struct QtNetwork_PackedString QLocalServer_FullServerName(void* ptr); +char QLocalServer_HasPendingConnections(void* ptr); +char QLocalServer_HasPendingConnectionsDefault(void* ptr); +void QLocalServer_IncomingConnection(void* ptr, uintptr_t socketDescriptor); +void QLocalServer_IncomingConnectionDefault(void* ptr, uintptr_t socketDescriptor); +char QLocalServer_IsListening(void* ptr); +char QLocalServer_Listen(void* ptr, struct QtNetwork_PackedString name); +int QLocalServer_MaxPendingConnections(void* ptr); +void QLocalServer_ConnectNewConnection(void* ptr, long long t); +void QLocalServer_DisconnectNewConnection(void* ptr); +void QLocalServer_NewConnection(void* ptr); +void* QLocalServer_NextPendingConnection(void* ptr); +void* QLocalServer_NextPendingConnectionDefault(void* ptr); +char QLocalServer_QLocalServer_RemoveServer(struct QtNetwork_PackedString name); +long long QLocalServer_ServerError(void* ptr); +struct QtNetwork_PackedString QLocalServer_ServerName(void* ptr); +void QLocalServer_SetMaxPendingConnections(void* ptr, int numConnections); +void QLocalServer_SetSocketOptions(void* ptr, long long options); +long long QLocalServer_SocketOptions(void* ptr); +char QLocalServer_WaitForNewConnection(void* ptr, int msec, char* timedOut); +void QLocalServer_DestroyQLocalServer(void* ptr); +void QLocalServer_DestroyQLocalServerDefault(void* ptr); +void* QLocalServer___children_atList(void* ptr, int i); +void QLocalServer___children_setList(void* ptr, void* i); +void* QLocalServer___children_newList(void* ptr); +void* QLocalServer___dynamicPropertyNames_atList(void* ptr, int i); +void QLocalServer___dynamicPropertyNames_setList(void* ptr, void* i); +void* QLocalServer___dynamicPropertyNames_newList(void* ptr); +void* QLocalServer___findChildren_atList(void* ptr, int i); +void QLocalServer___findChildren_setList(void* ptr, void* i); +void* QLocalServer___findChildren_newList(void* ptr); +void* QLocalServer___findChildren_atList3(void* ptr, int i); +void QLocalServer___findChildren_setList3(void* ptr, void* i); +void* QLocalServer___findChildren_newList3(void* ptr); +void* QLocalServer___qFindChildren_atList2(void* ptr, int i); +void QLocalServer___qFindChildren_setList2(void* ptr, void* i); +void* QLocalServer___qFindChildren_newList2(void* ptr); +void QLocalServer_ChildEventDefault(void* ptr, void* event); +void QLocalServer_ConnectNotifyDefault(void* ptr, void* sign); +void QLocalServer_CustomEventDefault(void* ptr, void* event); +void QLocalServer_DeleteLaterDefault(void* ptr); +void QLocalServer_DisconnectNotifyDefault(void* ptr, void* sign); +char QLocalServer_EventDefault(void* ptr, void* e); +char QLocalServer_EventFilterDefault(void* ptr, void* watched, void* event); +void* QLocalServer_MetaObjectDefault(void* ptr); +void QLocalServer_TimerEventDefault(void* ptr, void* event); +void* QLocalSocket_NewQLocalSocket(void* parent); +void QLocalSocket_Abort(void* ptr); +long long QLocalSocket_BytesAvailableDefault(void* ptr); +long long QLocalSocket_BytesToWriteDefault(void* ptr); +char QLocalSocket_CanReadLineDefault(void* ptr); +void QLocalSocket_CloseDefault(void* ptr); +void QLocalSocket_ConnectToServer(void* ptr, long long openMode); +void QLocalSocket_ConnectToServer2(void* ptr, struct QtNetwork_PackedString name, long long openMode); +void QLocalSocket_ConnectConnected(void* ptr, long long t); +void QLocalSocket_DisconnectConnected(void* ptr); +void QLocalSocket_Connected(void* ptr); +void QLocalSocket_DisconnectFromServer(void* ptr); +void QLocalSocket_ConnectDisconnected(void* ptr, long long t); +void QLocalSocket_DisconnectDisconnected(void* ptr); +void QLocalSocket_Disconnected(void* ptr); +long long QLocalSocket_Error(void* ptr); +void QLocalSocket_ConnectError2(void* ptr, long long t); +void QLocalSocket_DisconnectError2(void* ptr); +void QLocalSocket_Error2(void* ptr, long long socketError); +char QLocalSocket_Flush(void* ptr); +struct QtNetwork_PackedString QLocalSocket_FullServerName(void* ptr); +char QLocalSocket_IsSequentialDefault(void* ptr); +char QLocalSocket_IsValid(void* ptr); +char QLocalSocket_OpenDefault(void* ptr, long long openMode); +long long QLocalSocket_ReadBufferSize(void* ptr); +long long QLocalSocket_ReadData(void* ptr, char* data, long long c); +long long QLocalSocket_ReadDataDefault(void* ptr, char* data, long long c); +struct QtNetwork_PackedString QLocalSocket_ServerName(void* ptr); +void QLocalSocket_SetReadBufferSize(void* ptr, long long size); +void QLocalSocket_SetServerName(void* ptr, struct QtNetwork_PackedString name); +long long QLocalSocket_State(void* ptr); +void QLocalSocket_ConnectStateChanged(void* ptr, long long t); +void QLocalSocket_DisconnectStateChanged(void* ptr); +void QLocalSocket_StateChanged(void* ptr, long long socketState); +char QLocalSocket_WaitForBytesWrittenDefault(void* ptr, int msecs); +char QLocalSocket_WaitForConnected(void* ptr, int msecs); +char QLocalSocket_WaitForDisconnected(void* ptr, int msecs); +char QLocalSocket_WaitForReadyReadDefault(void* ptr, int msecs); +long long QLocalSocket_WriteData(void* ptr, char* data, long long c); +long long QLocalSocket_WriteDataDefault(void* ptr, char* data, long long c); +void QLocalSocket_DestroyQLocalSocket(void* ptr); +void QLocalSocket_DestroyQLocalSocketDefault(void* ptr); +void* QLocalSocket___children_atList(void* ptr, int i); +void QLocalSocket___children_setList(void* ptr, void* i); +void* QLocalSocket___children_newList(void* ptr); +void* QLocalSocket___dynamicPropertyNames_atList(void* ptr, int i); +void QLocalSocket___dynamicPropertyNames_setList(void* ptr, void* i); +void* QLocalSocket___dynamicPropertyNames_newList(void* ptr); +void* QLocalSocket___findChildren_atList(void* ptr, int i); +void QLocalSocket___findChildren_setList(void* ptr, void* i); +void* QLocalSocket___findChildren_newList(void* ptr); +void* QLocalSocket___findChildren_atList3(void* ptr, int i); +void QLocalSocket___findChildren_setList3(void* ptr, void* i); +void* QLocalSocket___findChildren_newList3(void* ptr); +void* QLocalSocket___qFindChildren_atList2(void* ptr, int i); +void QLocalSocket___qFindChildren_setList2(void* ptr, void* i); +void* QLocalSocket___qFindChildren_newList2(void* ptr); +char QLocalSocket_AtEndDefault(void* ptr); +long long QLocalSocket_PosDefault(void* ptr); +long long QLocalSocket_ReadLineDataDefault(void* ptr, char* data, long long maxSize); +char QLocalSocket_ResetDefault(void* ptr); +char QLocalSocket_SeekDefault(void* ptr, long long pos); +long long QLocalSocket_SizeDefault(void* ptr); +void QLocalSocket_ChildEventDefault(void* ptr, void* event); +void QLocalSocket_ConnectNotifyDefault(void* ptr, void* sign); +void QLocalSocket_CustomEventDefault(void* ptr, void* event); +void QLocalSocket_DeleteLaterDefault(void* ptr); +void QLocalSocket_DisconnectNotifyDefault(void* ptr, void* sign); +char QLocalSocket_EventDefault(void* ptr, void* e); +char QLocalSocket_EventFilterDefault(void* ptr, void* watched, void* event); +void* QLocalSocket_MetaObjectDefault(void* ptr); +void QLocalSocket_TimerEventDefault(void* ptr, void* event); +void* QNetworkAccessManager_NewQNetworkAccessManager(void* parent); +void* QNetworkAccessManager_ActiveConfiguration(void* ptr); +void QNetworkAccessManager_AddStrictTransportSecurityHosts(void* ptr, void* knownHosts); +void QNetworkAccessManager_ConnectAuthenticationRequired(void* ptr, long long t); +void QNetworkAccessManager_DisconnectAuthenticationRequired(void* ptr); +void QNetworkAccessManager_AuthenticationRequired(void* ptr, void* reply, void* authenticator); +void* QNetworkAccessManager_Cache(void* ptr); +void QNetworkAccessManager_ClearAccessCache(void* ptr); +void QNetworkAccessManager_ClearConnectionCache(void* ptr); +void* QNetworkAccessManager_Configuration(void* ptr); +void QNetworkAccessManager_ConnectToHost(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port); +void QNetworkAccessManager_ConnectToHostEncrypted(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, void* sslConfiguration); +void QNetworkAccessManager_ConnectToHostEncrypted2(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, void* sslConfiguration, struct QtNetwork_PackedString peerName); +void* QNetworkAccessManager_CookieJar(void* ptr); +void* QNetworkAccessManager_CreateRequest(void* ptr, long long op, void* originalReq, void* outgoingData); +void* QNetworkAccessManager_CreateRequestDefault(void* ptr, long long op, void* originalReq, void* outgoingData); +void* QNetworkAccessManager_DeleteResource(void* ptr, void* request); +void QNetworkAccessManager_EnableStrictTransportSecurityStore(void* ptr, char enabled, struct QtNetwork_PackedString storeDir); +void QNetworkAccessManager_ConnectEncrypted(void* ptr, long long t); +void QNetworkAccessManager_DisconnectEncrypted(void* ptr); +void QNetworkAccessManager_Encrypted(void* ptr, void* reply); +void QNetworkAccessManager_ConnectFinished(void* ptr, long long t); +void QNetworkAccessManager_DisconnectFinished(void* ptr); +void QNetworkAccessManager_Finished(void* ptr, void* reply); +void* QNetworkAccessManager_Get(void* ptr, void* request); +void* QNetworkAccessManager_Head(void* ptr, void* request); +char QNetworkAccessManager_IsStrictTransportSecurityEnabled(void* ptr); +char QNetworkAccessManager_IsStrictTransportSecurityStoreEnabled(void* ptr); +long long QNetworkAccessManager_NetworkAccessible(void* ptr); +void QNetworkAccessManager_ConnectNetworkAccessibleChanged(void* ptr, long long t); +void QNetworkAccessManager_DisconnectNetworkAccessibleChanged(void* ptr); +void QNetworkAccessManager_NetworkAccessibleChanged(void* ptr, long long accessible); +void* QNetworkAccessManager_Post(void* ptr, void* request, void* data); +void* QNetworkAccessManager_Post2(void* ptr, void* request, void* data); +void* QNetworkAccessManager_Post3(void* ptr, void* request, void* multiPart); +void QNetworkAccessManager_ConnectPreSharedKeyAuthenticationRequired(void* ptr, long long t); +void QNetworkAccessManager_DisconnectPreSharedKeyAuthenticationRequired(void* ptr); +void QNetworkAccessManager_PreSharedKeyAuthenticationRequired(void* ptr, void* reply, void* authenticator); +void* QNetworkAccessManager_Proxy(void* ptr); +void QNetworkAccessManager_ConnectProxyAuthenticationRequired(void* ptr, long long t); +void QNetworkAccessManager_DisconnectProxyAuthenticationRequired(void* ptr); +void QNetworkAccessManager_ProxyAuthenticationRequired(void* ptr, void* proxy, void* authenticator); +void* QNetworkAccessManager_ProxyFactory(void* ptr); +void* QNetworkAccessManager_Put(void* ptr, void* request, void* data); +void* QNetworkAccessManager_Put2(void* ptr, void* request, void* data); +void* QNetworkAccessManager_Put3(void* ptr, void* request, void* multiPart); +long long QNetworkAccessManager_RedirectPolicy(void* ptr); +void* QNetworkAccessManager_SendCustomRequest(void* ptr, void* request, void* verb, void* data); +void* QNetworkAccessManager_SendCustomRequest2(void* ptr, void* request, void* verb, void* data); +void* QNetworkAccessManager_SendCustomRequest3(void* ptr, void* request, void* verb, void* multiPart); +void QNetworkAccessManager_SetCache(void* ptr, void* cache); +void QNetworkAccessManager_SetConfiguration(void* ptr, void* config); +void QNetworkAccessManager_SetCookieJar(void* ptr, void* cookieJar); +void QNetworkAccessManager_SetNetworkAccessible(void* ptr, long long accessible); +void QNetworkAccessManager_SetProxy(void* ptr, void* proxy); +void QNetworkAccessManager_SetProxyFactory(void* ptr, void* factory); +void QNetworkAccessManager_SetRedirectPolicy(void* ptr, long long policy); +void QNetworkAccessManager_SetStrictTransportSecurityEnabled(void* ptr, char enabled); +void QNetworkAccessManager_ConnectSslErrors(void* ptr, long long t); +void QNetworkAccessManager_DisconnectSslErrors(void* ptr); +void QNetworkAccessManager_SslErrors(void* ptr, void* reply, void* errors); +struct QtNetwork_PackedList QNetworkAccessManager_StrictTransportSecurityHosts(void* ptr); +struct QtNetwork_PackedString QNetworkAccessManager_SupportedSchemes(void* ptr); +struct QtNetwork_PackedString QNetworkAccessManager_SupportedSchemesImplementation(void* ptr); +struct QtNetwork_PackedString QNetworkAccessManager_SupportedSchemesImplementationDefault(void* ptr); +void QNetworkAccessManager_DestroyQNetworkAccessManager(void* ptr); +void QNetworkAccessManager_DestroyQNetworkAccessManagerDefault(void* ptr); +void* QNetworkAccessManager___addStrictTransportSecurityHosts_knownHosts_atList(void* ptr, int i); +void QNetworkAccessManager___addStrictTransportSecurityHosts_knownHosts_setList(void* ptr, void* i); +void* QNetworkAccessManager___addStrictTransportSecurityHosts_knownHosts_newList(void* ptr); +void* QNetworkAccessManager___sslErrors_errors_atList(void* ptr, int i); +void QNetworkAccessManager___sslErrors_errors_setList(void* ptr, void* i); +void* QNetworkAccessManager___sslErrors_errors_newList(void* ptr); +void* QNetworkAccessManager___strictTransportSecurityHosts_atList(void* ptr, int i); +void QNetworkAccessManager___strictTransportSecurityHosts_setList(void* ptr, void* i); +void* QNetworkAccessManager___strictTransportSecurityHosts_newList(void* ptr); +void* QNetworkAccessManager___children_atList(void* ptr, int i); +void QNetworkAccessManager___children_setList(void* ptr, void* i); +void* QNetworkAccessManager___children_newList(void* ptr); +void* QNetworkAccessManager___dynamicPropertyNames_atList(void* ptr, int i); +void QNetworkAccessManager___dynamicPropertyNames_setList(void* ptr, void* i); +void* QNetworkAccessManager___dynamicPropertyNames_newList(void* ptr); +void* QNetworkAccessManager___findChildren_atList(void* ptr, int i); +void QNetworkAccessManager___findChildren_setList(void* ptr, void* i); +void* QNetworkAccessManager___findChildren_newList(void* ptr); +void* QNetworkAccessManager___findChildren_atList3(void* ptr, int i); +void QNetworkAccessManager___findChildren_setList3(void* ptr, void* i); +void* QNetworkAccessManager___findChildren_newList3(void* ptr); +void* QNetworkAccessManager___qFindChildren_atList2(void* ptr, int i); +void QNetworkAccessManager___qFindChildren_setList2(void* ptr, void* i); +void* QNetworkAccessManager___qFindChildren_newList2(void* ptr); +void QNetworkAccessManager_ChildEventDefault(void* ptr, void* event); +void QNetworkAccessManager_ConnectNotifyDefault(void* ptr, void* sign); +void QNetworkAccessManager_CustomEventDefault(void* ptr, void* event); +void QNetworkAccessManager_DeleteLaterDefault(void* ptr); +void QNetworkAccessManager_DisconnectNotifyDefault(void* ptr, void* sign); +char QNetworkAccessManager_EventDefault(void* ptr, void* e); +char QNetworkAccessManager_EventFilterDefault(void* ptr, void* watched, void* event); +void* QNetworkAccessManager_MetaObjectDefault(void* ptr); +void QNetworkAccessManager_TimerEventDefault(void* ptr, void* event); +void* QNetworkAddressEntry_NewQNetworkAddressEntry(); +void* QNetworkAddressEntry_NewQNetworkAddressEntry2(void* other); +void* QNetworkAddressEntry_Broadcast(void* ptr); +void QNetworkAddressEntry_ClearAddressLifetime(void* ptr); +long long QNetworkAddressEntry_DnsEligibility(void* ptr); +void* QNetworkAddressEntry_Ip(void* ptr); +char QNetworkAddressEntry_IsLifetimeKnown(void* ptr); +char QNetworkAddressEntry_IsPermanent(void* ptr); +char QNetworkAddressEntry_IsTemporary(void* ptr); +void* QNetworkAddressEntry_Netmask(void* ptr); +int QNetworkAddressEntry_PrefixLength(void* ptr); +void QNetworkAddressEntry_SetAddressLifetime(void* ptr, void* preferred, void* validity); +void QNetworkAddressEntry_SetBroadcast(void* ptr, void* newBroadcast); +void QNetworkAddressEntry_SetDnsEligibility(void* ptr, long long status); +void QNetworkAddressEntry_SetIp(void* ptr, void* newIp); +void QNetworkAddressEntry_SetNetmask(void* ptr, void* newNetmask); +void QNetworkAddressEntry_SetPrefixLength(void* ptr, int length); +void QNetworkAddressEntry_Swap(void* ptr, void* other); +void QNetworkAddressEntry_DestroyQNetworkAddressEntry(void* ptr); +void* QNetworkCacheMetaData_NewQNetworkCacheMetaData(); +void* QNetworkCacheMetaData_NewQNetworkCacheMetaData2(void* other); +void* QNetworkCacheMetaData_ExpirationDate(void* ptr); +char QNetworkCacheMetaData_IsValid(void* ptr); +void* QNetworkCacheMetaData_LastModified(void* ptr); +struct QtNetwork_PackedList QNetworkCacheMetaData_RawHeaders(void* ptr); +char QNetworkCacheMetaData_SaveToDisk(void* ptr); +void QNetworkCacheMetaData_SetExpirationDate(void* ptr, void* dateTime); +void QNetworkCacheMetaData_SetLastModified(void* ptr, void* dateTime); +void QNetworkCacheMetaData_SetRawHeaders(void* ptr, void* list); +void QNetworkCacheMetaData_SetSaveToDisk(void* ptr, char allow); +void QNetworkCacheMetaData_SetUrl(void* ptr, void* url); +void QNetworkCacheMetaData_Swap(void* ptr, void* other); +void* QNetworkCacheMetaData_Url(void* ptr); +void QNetworkCacheMetaData_DestroyQNetworkCacheMetaData(void* ptr); +void* QNetworkCacheMetaData___rawHeaders_atList(void* ptr, int i); +void QNetworkCacheMetaData___rawHeaders_setList(void* ptr, void* i); +void* QNetworkCacheMetaData___rawHeaders_newList(void* ptr); +void* QNetworkCacheMetaData___setRawHeaders_list_atList(void* ptr, int i); +void QNetworkCacheMetaData___setRawHeaders_list_setList(void* ptr, void* i); +void* QNetworkCacheMetaData___setRawHeaders_list_newList(void* ptr); +void* QNetworkConfiguration_NewQNetworkConfiguration(); +void* QNetworkConfiguration_NewQNetworkConfiguration2(void* other); +long long QNetworkConfiguration_BearerType(void* ptr); +long long QNetworkConfiguration_BearerTypeFamily(void* ptr); +struct QtNetwork_PackedString QNetworkConfiguration_BearerTypeName(void* ptr); +struct QtNetwork_PackedList QNetworkConfiguration_Children(void* ptr); +int QNetworkConfiguration_ConnectTimeout(void* ptr); +struct QtNetwork_PackedString QNetworkConfiguration_Identifier(void* ptr); +char QNetworkConfiguration_IsRoamingAvailable(void* ptr); +char QNetworkConfiguration_IsValid(void* ptr); +struct QtNetwork_PackedString QNetworkConfiguration_Name(void* ptr); +long long QNetworkConfiguration_Purpose(void* ptr); +char QNetworkConfiguration_SetConnectTimeout(void* ptr, int timeout); +long long QNetworkConfiguration_State(void* ptr); +void QNetworkConfiguration_Swap(void* ptr, void* other); +long long QNetworkConfiguration_Type(void* ptr); +void QNetworkConfiguration_DestroyQNetworkConfiguration(void* ptr); +void* QNetworkConfiguration___children_atList(void* ptr, int i); +void QNetworkConfiguration___children_setList(void* ptr, void* i); +void* QNetworkConfiguration___children_newList(void* ptr); +void* QNetworkConfigurationManager_NewQNetworkConfigurationManager(void* parent); +struct QtNetwork_PackedList QNetworkConfigurationManager_AllConfigurations(void* ptr, long long filter); +long long QNetworkConfigurationManager_Capabilities(void* ptr); +void QNetworkConfigurationManager_ConnectConfigurationAdded(void* ptr, long long t); +void QNetworkConfigurationManager_DisconnectConfigurationAdded(void* ptr); +void QNetworkConfigurationManager_ConfigurationAdded(void* ptr, void* config); +void QNetworkConfigurationManager_ConnectConfigurationChanged(void* ptr, long long t); +void QNetworkConfigurationManager_DisconnectConfigurationChanged(void* ptr); +void QNetworkConfigurationManager_ConfigurationChanged(void* ptr, void* config); +void* QNetworkConfigurationManager_ConfigurationFromIdentifier(void* ptr, struct QtNetwork_PackedString identifier); +void QNetworkConfigurationManager_ConnectConfigurationRemoved(void* ptr, long long t); +void QNetworkConfigurationManager_DisconnectConfigurationRemoved(void* ptr); +void QNetworkConfigurationManager_ConfigurationRemoved(void* ptr, void* config); +void* QNetworkConfigurationManager_DefaultConfiguration(void* ptr); +char QNetworkConfigurationManager_IsOnline(void* ptr); +void QNetworkConfigurationManager_ConnectOnlineStateChanged(void* ptr, long long t); +void QNetworkConfigurationManager_DisconnectOnlineStateChanged(void* ptr); +void QNetworkConfigurationManager_OnlineStateChanged(void* ptr, char isOnline); +void QNetworkConfigurationManager_ConnectUpdateCompleted(void* ptr, long long t); +void QNetworkConfigurationManager_DisconnectUpdateCompleted(void* ptr); +void QNetworkConfigurationManager_UpdateCompleted(void* ptr); +void QNetworkConfigurationManager_UpdateConfigurations(void* ptr); +void QNetworkConfigurationManager_UpdateConfigurationsDefault(void* ptr); +void QNetworkConfigurationManager_DestroyQNetworkConfigurationManager(void* ptr); +void QNetworkConfigurationManager_DestroyQNetworkConfigurationManagerDefault(void* ptr); +void* QNetworkConfigurationManager___allConfigurations_atList(void* ptr, int i); +void QNetworkConfigurationManager___allConfigurations_setList(void* ptr, void* i); +void* QNetworkConfigurationManager___allConfigurations_newList(void* ptr); +void* QNetworkConfigurationManager___children_atList(void* ptr, int i); +void QNetworkConfigurationManager___children_setList(void* ptr, void* i); +void* QNetworkConfigurationManager___children_newList(void* ptr); +void* QNetworkConfigurationManager___dynamicPropertyNames_atList(void* ptr, int i); +void QNetworkConfigurationManager___dynamicPropertyNames_setList(void* ptr, void* i); +void* QNetworkConfigurationManager___dynamicPropertyNames_newList(void* ptr); +void* QNetworkConfigurationManager___findChildren_atList(void* ptr, int i); +void QNetworkConfigurationManager___findChildren_setList(void* ptr, void* i); +void* QNetworkConfigurationManager___findChildren_newList(void* ptr); +void* QNetworkConfigurationManager___findChildren_atList3(void* ptr, int i); +void QNetworkConfigurationManager___findChildren_setList3(void* ptr, void* i); +void* QNetworkConfigurationManager___findChildren_newList3(void* ptr); +void* QNetworkConfigurationManager___qFindChildren_atList2(void* ptr, int i); +void QNetworkConfigurationManager___qFindChildren_setList2(void* ptr, void* i); +void* QNetworkConfigurationManager___qFindChildren_newList2(void* ptr); +void QNetworkConfigurationManager_ChildEventDefault(void* ptr, void* event); +void QNetworkConfigurationManager_ConnectNotifyDefault(void* ptr, void* sign); +void QNetworkConfigurationManager_CustomEventDefault(void* ptr, void* event); +void QNetworkConfigurationManager_DeleteLaterDefault(void* ptr); +void QNetworkConfigurationManager_DisconnectNotifyDefault(void* ptr, void* sign); +char QNetworkConfigurationManager_EventDefault(void* ptr, void* e); +char QNetworkConfigurationManager_EventFilterDefault(void* ptr, void* watched, void* event); +void* QNetworkConfigurationManager_MetaObjectDefault(void* ptr); +void QNetworkConfigurationManager_TimerEventDefault(void* ptr, void* event); +void* QNetworkCookie_NewQNetworkCookie(void* name, void* value); +void* QNetworkCookie_NewQNetworkCookie2(void* other); +struct QtNetwork_PackedString QNetworkCookie_Domain(void* ptr); +void* QNetworkCookie_ExpirationDate(void* ptr); +char QNetworkCookie_HasSameIdentifier(void* ptr, void* other); +char QNetworkCookie_IsHttpOnly(void* ptr); +char QNetworkCookie_IsSecure(void* ptr); +char QNetworkCookie_IsSessionCookie(void* ptr); +void* QNetworkCookie_Name(void* ptr); +void QNetworkCookie_Normalize(void* ptr, void* url); +struct QtNetwork_PackedList QNetworkCookie_QNetworkCookie_ParseCookies(void* cookieString); +struct QtNetwork_PackedString QNetworkCookie_Path(void* ptr); +void QNetworkCookie_SetDomain(void* ptr, struct QtNetwork_PackedString domain); +void QNetworkCookie_SetExpirationDate(void* ptr, void* date); +void QNetworkCookie_SetHttpOnly(void* ptr, char enable); +void QNetworkCookie_SetName(void* ptr, void* cookieName); +void QNetworkCookie_SetPath(void* ptr, struct QtNetwork_PackedString path); +void QNetworkCookie_SetSecure(void* ptr, char enable); +void QNetworkCookie_SetValue(void* ptr, void* value); +void QNetworkCookie_Swap(void* ptr, void* other); +void* QNetworkCookie_ToRawForm(void* ptr, long long form); +void* QNetworkCookie_Value(void* ptr); +void QNetworkCookie_DestroyQNetworkCookie(void* ptr); +void* QNetworkCookie___parseCookies_atList(void* ptr, int i); +void QNetworkCookie___parseCookies_setList(void* ptr, void* i); +void* QNetworkCookie___parseCookies_newList(void* ptr); +void* QNetworkCookieJar_NewQNetworkCookieJar(void* parent); +struct QtNetwork_PackedList QNetworkCookieJar_AllCookies(void* ptr); +struct QtNetwork_PackedList QNetworkCookieJar_CookiesForUrl(void* ptr, void* url); +struct QtNetwork_PackedList QNetworkCookieJar_CookiesForUrlDefault(void* ptr, void* url); +char QNetworkCookieJar_DeleteCookie(void* ptr, void* cookie); +char QNetworkCookieJar_DeleteCookieDefault(void* ptr, void* cookie); +char QNetworkCookieJar_InsertCookie(void* ptr, void* cookie); +char QNetworkCookieJar_InsertCookieDefault(void* ptr, void* cookie); +void QNetworkCookieJar_SetAllCookies(void* ptr, void* cookieList); +char QNetworkCookieJar_SetCookiesFromUrl(void* ptr, void* cookieList, void* url); +char QNetworkCookieJar_SetCookiesFromUrlDefault(void* ptr, void* cookieList, void* url); +char QNetworkCookieJar_UpdateCookie(void* ptr, void* cookie); +char QNetworkCookieJar_UpdateCookieDefault(void* ptr, void* cookie); +char QNetworkCookieJar_ValidateCookie(void* ptr, void* cookie, void* url); +char QNetworkCookieJar_ValidateCookieDefault(void* ptr, void* cookie, void* url); +void QNetworkCookieJar_DestroyQNetworkCookieJar(void* ptr); +void QNetworkCookieJar_DestroyQNetworkCookieJarDefault(void* ptr); +void* QNetworkCookieJar___allCookies_atList(void* ptr, int i); +void QNetworkCookieJar___allCookies_setList(void* ptr, void* i); +void* QNetworkCookieJar___allCookies_newList(void* ptr); +void* QNetworkCookieJar___cookiesForUrl_atList(void* ptr, int i); +void QNetworkCookieJar___cookiesForUrl_setList(void* ptr, void* i); +void* QNetworkCookieJar___cookiesForUrl_newList(void* ptr); +void* QNetworkCookieJar___setAllCookies_cookieList_atList(void* ptr, int i); +void QNetworkCookieJar___setAllCookies_cookieList_setList(void* ptr, void* i); +void* QNetworkCookieJar___setAllCookies_cookieList_newList(void* ptr); +void* QNetworkCookieJar___setCookiesFromUrl_cookieList_atList(void* ptr, int i); +void QNetworkCookieJar___setCookiesFromUrl_cookieList_setList(void* ptr, void* i); +void* QNetworkCookieJar___setCookiesFromUrl_cookieList_newList(void* ptr); +void* QNetworkCookieJar___children_atList(void* ptr, int i); +void QNetworkCookieJar___children_setList(void* ptr, void* i); +void* QNetworkCookieJar___children_newList(void* ptr); +void* QNetworkCookieJar___dynamicPropertyNames_atList(void* ptr, int i); +void QNetworkCookieJar___dynamicPropertyNames_setList(void* ptr, void* i); +void* QNetworkCookieJar___dynamicPropertyNames_newList(void* ptr); +void* QNetworkCookieJar___findChildren_atList(void* ptr, int i); +void QNetworkCookieJar___findChildren_setList(void* ptr, void* i); +void* QNetworkCookieJar___findChildren_newList(void* ptr); +void* QNetworkCookieJar___findChildren_atList3(void* ptr, int i); +void QNetworkCookieJar___findChildren_setList3(void* ptr, void* i); +void* QNetworkCookieJar___findChildren_newList3(void* ptr); +void* QNetworkCookieJar___qFindChildren_atList2(void* ptr, int i); +void QNetworkCookieJar___qFindChildren_setList2(void* ptr, void* i); +void* QNetworkCookieJar___qFindChildren_newList2(void* ptr); +void QNetworkCookieJar_ChildEventDefault(void* ptr, void* event); +void QNetworkCookieJar_ConnectNotifyDefault(void* ptr, void* sign); +void QNetworkCookieJar_CustomEventDefault(void* ptr, void* event); +void QNetworkCookieJar_DeleteLaterDefault(void* ptr); +void QNetworkCookieJar_DisconnectNotifyDefault(void* ptr, void* sign); +char QNetworkCookieJar_EventDefault(void* ptr, void* e); +char QNetworkCookieJar_EventFilterDefault(void* ptr, void* watched, void* event); +void* QNetworkCookieJar_MetaObjectDefault(void* ptr); +void QNetworkCookieJar_TimerEventDefault(void* ptr, void* event); +void* QNetworkDatagram_NewQNetworkDatagram(); +void* QNetworkDatagram_NewQNetworkDatagram2(void* data, void* destinationAddress, unsigned short port); +void* QNetworkDatagram_NewQNetworkDatagram3(void* other); +void QNetworkDatagram_Clear(void* ptr); +void* QNetworkDatagram_Data(void* ptr); +void* QNetworkDatagram_DestinationAddress(void* ptr); +int QNetworkDatagram_DestinationPort(void* ptr); +int QNetworkDatagram_HopLimit(void* ptr); +unsigned int QNetworkDatagram_InterfaceIndex(void* ptr); +char QNetworkDatagram_IsNull(void* ptr); +char QNetworkDatagram_IsValid(void* ptr); +void* QNetworkDatagram_MakeReply(void* ptr, void* payload); +void* QNetworkDatagram_MakeReply2(void* ptr, void* payload); +void* QNetworkDatagram_SenderAddress(void* ptr); +int QNetworkDatagram_SenderPort(void* ptr); +void QNetworkDatagram_SetData(void* ptr, void* data); +void QNetworkDatagram_SetDestination(void* ptr, void* address, unsigned short port); +void QNetworkDatagram_SetHopLimit(void* ptr, int count); +void QNetworkDatagram_SetInterfaceIndex(void* ptr, unsigned int index); +void QNetworkDatagram_SetSender(void* ptr, void* address, unsigned short port); +void QNetworkDatagram_Swap(void* ptr, void* other); +void* QNetworkDiskCache_NewQNetworkDiskCache(void* parent); +struct QtNetwork_PackedString QNetworkDiskCache_CacheDirectory(void* ptr); +long long QNetworkDiskCache_CacheSize(void* ptr); +long long QNetworkDiskCache_CacheSizeDefault(void* ptr); +void QNetworkDiskCache_Clear(void* ptr); +void QNetworkDiskCache_ClearDefault(void* ptr); +void* QNetworkDiskCache_Data(void* ptr, void* url); +void* QNetworkDiskCache_DataDefault(void* ptr, void* url); +long long QNetworkDiskCache_Expire(void* ptr); +long long QNetworkDiskCache_ExpireDefault(void* ptr); +void* QNetworkDiskCache_FileMetaData(void* ptr, struct QtNetwork_PackedString fileName); +void QNetworkDiskCache_Insert(void* ptr, void* device); +void QNetworkDiskCache_InsertDefault(void* ptr, void* device); +long long QNetworkDiskCache_MaximumCacheSize(void* ptr); +void* QNetworkDiskCache_MetaData(void* ptr, void* url); +void* QNetworkDiskCache_MetaDataDefault(void* ptr, void* url); +void* QNetworkDiskCache_Prepare(void* ptr, void* metaData); +void* QNetworkDiskCache_PrepareDefault(void* ptr, void* metaData); +char QNetworkDiskCache_Remove(void* ptr, void* url); +char QNetworkDiskCache_RemoveDefault(void* ptr, void* url); +void QNetworkDiskCache_SetCacheDirectory(void* ptr, struct QtNetwork_PackedString cacheDir); +void QNetworkDiskCache_SetMaximumCacheSize(void* ptr, long long size); +void QNetworkDiskCache_UpdateMetaData(void* ptr, void* metaData); +void QNetworkDiskCache_UpdateMetaDataDefault(void* ptr, void* metaData); +void QNetworkDiskCache_DestroyQNetworkDiskCache(void* ptr); +void QNetworkDiskCache_DestroyQNetworkDiskCacheDefault(void* ptr); +void* QNetworkInterface_NewQNetworkInterface(); +void* QNetworkInterface_NewQNetworkInterface2(void* other); +struct QtNetwork_PackedList QNetworkInterface_AddressEntries(void* ptr); +struct QtNetwork_PackedList QNetworkInterface_QNetworkInterface_AllAddresses(); +struct QtNetwork_PackedList QNetworkInterface_QNetworkInterface_AllInterfaces(); +long long QNetworkInterface_Flags(void* ptr); +struct QtNetwork_PackedString QNetworkInterface_HardwareAddress(void* ptr); +struct QtNetwork_PackedString QNetworkInterface_HumanReadableName(void* ptr); +int QNetworkInterface_Index(void* ptr); +void* QNetworkInterface_QNetworkInterface_InterfaceFromIndex(int index); +void* QNetworkInterface_QNetworkInterface_InterfaceFromName(struct QtNetwork_PackedString name); +int QNetworkInterface_QNetworkInterface_InterfaceIndexFromName(struct QtNetwork_PackedString name); +struct QtNetwork_PackedString QNetworkInterface_QNetworkInterface_InterfaceNameFromIndex(int index); +char QNetworkInterface_IsValid(void* ptr); +int QNetworkInterface_MaximumTransmissionUnit(void* ptr); +struct QtNetwork_PackedString QNetworkInterface_Name(void* ptr); +void QNetworkInterface_Swap(void* ptr, void* other); +long long QNetworkInterface_Type(void* ptr); +void QNetworkInterface_DestroyQNetworkInterface(void* ptr); +void* QNetworkInterface___addressEntries_atList(void* ptr, int i); +void QNetworkInterface___addressEntries_setList(void* ptr, void* i); +void* QNetworkInterface___addressEntries_newList(void* ptr); +void* QNetworkInterface___allAddresses_atList(void* ptr, int i); +void QNetworkInterface___allAddresses_setList(void* ptr, void* i); +void* QNetworkInterface___allAddresses_newList(void* ptr); +void* QNetworkInterface___allInterfaces_atList(void* ptr, int i); +void QNetworkInterface___allInterfaces_setList(void* ptr, void* i); +void* QNetworkInterface___allInterfaces_newList(void* ptr); +void* QNetworkProxy_NewQNetworkProxy(); +void* QNetworkProxy_NewQNetworkProxy2(long long ty, struct QtNetwork_PackedString hostName, unsigned short port, struct QtNetwork_PackedString user, struct QtNetwork_PackedString password); +void* QNetworkProxy_NewQNetworkProxy3(void* other); +void* QNetworkProxy_QNetworkProxy_ApplicationProxy(); +long long QNetworkProxy_Capabilities(void* ptr); +char QNetworkProxy_HasRawHeader(void* ptr, void* headerName); +void* QNetworkProxy_Header(void* ptr, long long header); +struct QtNetwork_PackedString QNetworkProxy_HostName(void* ptr); +char QNetworkProxy_IsCachingProxy(void* ptr); +char QNetworkProxy_IsTransparentProxy(void* ptr); +struct QtNetwork_PackedString QNetworkProxy_Password(void* ptr); +unsigned short QNetworkProxy_Port(void* ptr); +void* QNetworkProxy_RawHeader(void* ptr, void* headerName); +struct QtNetwork_PackedList QNetworkProxy_RawHeaderList(void* ptr); +void QNetworkProxy_QNetworkProxy_SetApplicationProxy(void* networkProxy); +void QNetworkProxy_SetCapabilities(void* ptr, long long capabilities); +void QNetworkProxy_SetHeader(void* ptr, long long header, void* value); +void QNetworkProxy_SetHostName(void* ptr, struct QtNetwork_PackedString hostName); +void QNetworkProxy_SetPassword(void* ptr, struct QtNetwork_PackedString password); +void QNetworkProxy_SetPort(void* ptr, unsigned short port); +void QNetworkProxy_SetRawHeader(void* ptr, void* headerName, void* headerValue); +void QNetworkProxy_SetType(void* ptr, long long ty); +void QNetworkProxy_SetUser(void* ptr, struct QtNetwork_PackedString user); +void QNetworkProxy_Swap(void* ptr, void* other); +long long QNetworkProxy_Type(void* ptr); +struct QtNetwork_PackedString QNetworkProxy_User(void* ptr); +void QNetworkProxy_DestroyQNetworkProxy(void* ptr); +void* QNetworkProxy___rawHeaderList_atList(void* ptr, int i); +void QNetworkProxy___rawHeaderList_setList(void* ptr, void* i); +void* QNetworkProxy___rawHeaderList_newList(void* ptr); +void* QNetworkProxyFactory_NewQNetworkProxyFactory(); +struct QtNetwork_PackedList QNetworkProxyFactory_QNetworkProxyFactory_ProxyForQuery(void* query); +struct QtNetwork_PackedList QNetworkProxyFactory_QueryProxy(void* ptr, void* query); +void QNetworkProxyFactory_QNetworkProxyFactory_SetApplicationProxyFactory(void* factory); +void QNetworkProxyFactory_QNetworkProxyFactory_SetUseSystemConfiguration(char enable); +struct QtNetwork_PackedList QNetworkProxyFactory_QNetworkProxyFactory_SystemProxyForQuery(void* query); +char QNetworkProxyFactory_QNetworkProxyFactory_UsesSystemConfiguration(); +void QNetworkProxyFactory_DestroyQNetworkProxyFactory(void* ptr); +void QNetworkProxyFactory_DestroyQNetworkProxyFactoryDefault(void* ptr); +void* QNetworkProxyFactory___proxyForQuery_atList(void* ptr, int i); +void QNetworkProxyFactory___proxyForQuery_setList(void* ptr, void* i); +void* QNetworkProxyFactory___proxyForQuery_newList(void* ptr); +void* QNetworkProxyFactory___queryProxy_atList(void* ptr, int i); +void QNetworkProxyFactory___queryProxy_setList(void* ptr, void* i); +void* QNetworkProxyFactory___queryProxy_newList(void* ptr); +void* QNetworkProxyFactory___systemProxyForQuery_atList(void* ptr, int i); +void QNetworkProxyFactory___systemProxyForQuery_setList(void* ptr, void* i); +void* QNetworkProxyFactory___systemProxyForQuery_newList(void* ptr); +void* QNetworkProxyQuery_NewQNetworkProxyQuery(); +void* QNetworkProxyQuery_NewQNetworkProxyQuery2(void* requestUrl, long long queryType); +void* QNetworkProxyQuery_NewQNetworkProxyQuery3(struct QtNetwork_PackedString hostname, int port, struct QtNetwork_PackedString protocolTag, long long queryType); +void* QNetworkProxyQuery_NewQNetworkProxyQuery4(unsigned short bindPort, struct QtNetwork_PackedString protocolTag, long long queryType); +void* QNetworkProxyQuery_NewQNetworkProxyQuery8(void* other); +int QNetworkProxyQuery_LocalPort(void* ptr); +struct QtNetwork_PackedString QNetworkProxyQuery_PeerHostName(void* ptr); +int QNetworkProxyQuery_PeerPort(void* ptr); +struct QtNetwork_PackedString QNetworkProxyQuery_ProtocolTag(void* ptr); +long long QNetworkProxyQuery_QueryType(void* ptr); +void QNetworkProxyQuery_SetLocalPort(void* ptr, int port); +void QNetworkProxyQuery_SetPeerHostName(void* ptr, struct QtNetwork_PackedString hostname); +void QNetworkProxyQuery_SetPeerPort(void* ptr, int port); +void QNetworkProxyQuery_SetProtocolTag(void* ptr, struct QtNetwork_PackedString protocolTag); +void QNetworkProxyQuery_SetQueryType(void* ptr, long long ty); +void QNetworkProxyQuery_SetUrl(void* ptr, void* url); +void QNetworkProxyQuery_Swap(void* ptr, void* other); +void* QNetworkProxyQuery_Url(void* ptr); +void QNetworkProxyQuery_DestroyQNetworkProxyQuery(void* ptr); +void* QNetworkReply_NewQNetworkReply(void* parent); +void QNetworkReply_Abort(void* ptr); +void* QNetworkReply_Attribute(void* ptr, long long code); +void QNetworkReply_CloseDefault(void* ptr); +void QNetworkReply_ConnectDownloadProgress(void* ptr, long long t); +void QNetworkReply_DisconnectDownloadProgress(void* ptr); +void QNetworkReply_DownloadProgress(void* ptr, long long bytesReceived, long long bytesTotal); +void QNetworkReply_ConnectEncrypted(void* ptr, long long t); +void QNetworkReply_DisconnectEncrypted(void* ptr); +void QNetworkReply_Encrypted(void* ptr); +long long QNetworkReply_Error(void* ptr); +void QNetworkReply_ConnectError2(void* ptr, long long t); +void QNetworkReply_DisconnectError2(void* ptr); +void QNetworkReply_Error2(void* ptr, long long code); +void QNetworkReply_ConnectFinished(void* ptr, long long t); +void QNetworkReply_DisconnectFinished(void* ptr); +void QNetworkReply_Finished(void* ptr); +char QNetworkReply_HasRawHeader(void* ptr, void* headerName); +void* QNetworkReply_Header(void* ptr, long long header); +void QNetworkReply_IgnoreSslErrors(void* ptr); +void QNetworkReply_IgnoreSslErrorsDefault(void* ptr); +void QNetworkReply_IgnoreSslErrors2(void* ptr, void* errors); +void QNetworkReply_IgnoreSslErrorsImplementation(void* ptr, void* errors); +void QNetworkReply_IgnoreSslErrorsImplementationDefault(void* ptr, void* errors); +char QNetworkReply_IsFinished(void* ptr); +char QNetworkReply_IsRunning(void* ptr); +void* QNetworkReply_Manager(void* ptr); +void QNetworkReply_ConnectMetaDataChanged(void* ptr, long long t); +void QNetworkReply_DisconnectMetaDataChanged(void* ptr); +void QNetworkReply_MetaDataChanged(void* ptr); +long long QNetworkReply_Operation(void* ptr); +void QNetworkReply_ConnectPreSharedKeyAuthenticationRequired(void* ptr, long long t); +void QNetworkReply_DisconnectPreSharedKeyAuthenticationRequired(void* ptr); +void QNetworkReply_PreSharedKeyAuthenticationRequired(void* ptr, void* authenticator); +void* QNetworkReply_RawHeader(void* ptr, void* headerName); +struct QtNetwork_PackedList QNetworkReply_RawHeaderList(void* ptr); +long long QNetworkReply_ReadBufferSize(void* ptr); +void QNetworkReply_ConnectRedirectAllowed(void* ptr, long long t); +void QNetworkReply_DisconnectRedirectAllowed(void* ptr); +void QNetworkReply_RedirectAllowed(void* ptr); +void QNetworkReply_ConnectRedirected(void* ptr, long long t); +void QNetworkReply_DisconnectRedirected(void* ptr); +void QNetworkReply_Redirected(void* ptr, void* url); +void* QNetworkReply_Request(void* ptr); +void QNetworkReply_SetAttribute(void* ptr, long long code, void* value); +void QNetworkReply_SetError(void* ptr, long long errorCode, struct QtNetwork_PackedString errorString); +void QNetworkReply_SetFinished(void* ptr, char finished); +void QNetworkReply_SetHeader(void* ptr, long long header, void* value); +void QNetworkReply_SetOperation(void* ptr, long long operation); +void QNetworkReply_SetRawHeader(void* ptr, void* headerName, void* value); +void QNetworkReply_SetReadBufferSize(void* ptr, long long size); +void QNetworkReply_SetReadBufferSizeDefault(void* ptr, long long size); +void QNetworkReply_SetRequest(void* ptr, void* request); +void QNetworkReply_SetSslConfiguration(void* ptr, void* config); +void QNetworkReply_SetSslConfigurationImplementation(void* ptr, void* configuration); +void QNetworkReply_SetSslConfigurationImplementationDefault(void* ptr, void* configuration); +void QNetworkReply_SetUrl(void* ptr, void* url); +void* QNetworkReply_SslConfiguration(void* ptr); +void QNetworkReply_SslConfigurationImplementation(void* ptr, void* configuration); +void QNetworkReply_SslConfigurationImplementationDefault(void* ptr, void* configuration); +void QNetworkReply_ConnectSslErrors(void* ptr, long long t); +void QNetworkReply_DisconnectSslErrors(void* ptr); +void QNetworkReply_SslErrors(void* ptr, void* errors); +void QNetworkReply_ConnectUploadProgress(void* ptr, long long t); +void QNetworkReply_DisconnectUploadProgress(void* ptr); +void QNetworkReply_UploadProgress(void* ptr, long long bytesSent, long long bytesTotal); +void* QNetworkReply_Url(void* ptr); +void QNetworkReply_DestroyQNetworkReply(void* ptr); +void QNetworkReply_DestroyQNetworkReplyDefault(void* ptr); +void* QNetworkReply___ignoreSslErrors_errors_atList2(void* ptr, int i); +void QNetworkReply___ignoreSslErrors_errors_setList2(void* ptr, void* i); +void* QNetworkReply___ignoreSslErrors_errors_newList2(void* ptr); +void* QNetworkReply___ignoreSslErrorsImplementation_errors_atList(void* ptr, int i); +void QNetworkReply___ignoreSslErrorsImplementation_errors_setList(void* ptr, void* i); +void* QNetworkReply___ignoreSslErrorsImplementation_errors_newList(void* ptr); +void* QNetworkReply___rawHeaderList_atList(void* ptr, int i); +void QNetworkReply___rawHeaderList_setList(void* ptr, void* i); +void* QNetworkReply___rawHeaderList_newList(void* ptr); +void* QNetworkReply___sslErrors_errors_atList(void* ptr, int i); +void QNetworkReply___sslErrors_errors_setList(void* ptr, void* i); +void* QNetworkReply___sslErrors_errors_newList(void* ptr); +void* QNetworkReply___children_atList(void* ptr, int i); +void QNetworkReply___children_setList(void* ptr, void* i); +void* QNetworkReply___children_newList(void* ptr); +void* QNetworkReply___dynamicPropertyNames_atList(void* ptr, int i); +void QNetworkReply___dynamicPropertyNames_setList(void* ptr, void* i); +void* QNetworkReply___dynamicPropertyNames_newList(void* ptr); +void* QNetworkReply___findChildren_atList(void* ptr, int i); +void QNetworkReply___findChildren_setList(void* ptr, void* i); +void* QNetworkReply___findChildren_newList(void* ptr); +void* QNetworkReply___findChildren_atList3(void* ptr, int i); +void QNetworkReply___findChildren_setList3(void* ptr, void* i); +void* QNetworkReply___findChildren_newList3(void* ptr); +void* QNetworkReply___qFindChildren_atList2(void* ptr, int i); +void QNetworkReply___qFindChildren_setList2(void* ptr, void* i); +void* QNetworkReply___qFindChildren_newList2(void* ptr); +char QNetworkReply_AtEndDefault(void* ptr); +long long QNetworkReply_BytesAvailableDefault(void* ptr); +long long QNetworkReply_BytesToWriteDefault(void* ptr); +char QNetworkReply_CanReadLineDefault(void* ptr); +char QNetworkReply_IsSequentialDefault(void* ptr); +char QNetworkReply_OpenDefault(void* ptr, long long mode); +long long QNetworkReply_PosDefault(void* ptr); +long long QNetworkReply_ReadData(void* ptr, char* data, long long maxSize); +long long QNetworkReply_ReadDataDefault(void* ptr, char* data, long long maxSize); +long long QNetworkReply_ReadLineDataDefault(void* ptr, char* data, long long maxSize); +char QNetworkReply_ResetDefault(void* ptr); +char QNetworkReply_SeekDefault(void* ptr, long long pos); +long long QNetworkReply_SizeDefault(void* ptr); +char QNetworkReply_WaitForBytesWrittenDefault(void* ptr, int msecs); +char QNetworkReply_WaitForReadyReadDefault(void* ptr, int msecs); +long long QNetworkReply_WriteData(void* ptr, char* data, long long maxSize); +long long QNetworkReply_WriteDataDefault(void* ptr, char* data, long long maxSize); +void QNetworkReply_ChildEventDefault(void* ptr, void* event); +void QNetworkReply_ConnectNotifyDefault(void* ptr, void* sign); +void QNetworkReply_CustomEventDefault(void* ptr, void* event); +void QNetworkReply_DeleteLaterDefault(void* ptr); +void QNetworkReply_DisconnectNotifyDefault(void* ptr, void* sign); +char QNetworkReply_EventDefault(void* ptr, void* e); +char QNetworkReply_EventFilterDefault(void* ptr, void* watched, void* event); +void* QNetworkReply_MetaObjectDefault(void* ptr); +void QNetworkReply_TimerEventDefault(void* ptr, void* event); +void* QNetworkRequest_NewQNetworkRequest(void* url); +void* QNetworkRequest_NewQNetworkRequest2(void* other); +void* QNetworkRequest_Attribute(void* ptr, long long code, void* defaultValue); +char QNetworkRequest_HasRawHeader(void* ptr, void* headerName); +void* QNetworkRequest_Header(void* ptr, long long header); +int QNetworkRequest_MaximumRedirectsAllowed(void* ptr); +void* QNetworkRequest_OriginatingObject(void* ptr); +struct QtNetwork_PackedString QNetworkRequest_PeerVerifyName(void* ptr); +long long QNetworkRequest_Priority(void* ptr); +void* QNetworkRequest_RawHeader(void* ptr, void* headerName); +struct QtNetwork_PackedList QNetworkRequest_RawHeaderList(void* ptr); +void QNetworkRequest_SetAttribute(void* ptr, long long code, void* value); +void QNetworkRequest_SetHeader(void* ptr, long long header, void* value); +void QNetworkRequest_SetMaximumRedirectsAllowed(void* ptr, int maxRedirectsAllowed); +void QNetworkRequest_SetOriginatingObject(void* ptr, void* object); +void QNetworkRequest_SetPeerVerifyName(void* ptr, struct QtNetwork_PackedString peerName); +void QNetworkRequest_SetPriority(void* ptr, long long priority); +void QNetworkRequest_SetRawHeader(void* ptr, void* headerName, void* headerValue); +void QNetworkRequest_SetSslConfiguration(void* ptr, void* config); +void QNetworkRequest_SetUrl(void* ptr, void* url); +void* QNetworkRequest_SslConfiguration(void* ptr); +void QNetworkRequest_Swap(void* ptr, void* other); +void* QNetworkRequest_Url(void* ptr); +void QNetworkRequest_DestroyQNetworkRequest(void* ptr); +void* QNetworkRequest___rawHeaderList_atList(void* ptr, int i); +void QNetworkRequest___rawHeaderList_setList(void* ptr, void* i); +void* QNetworkRequest___rawHeaderList_newList(void* ptr); +void* QNetworkSession_NewQNetworkSession(void* connectionConfig, void* parent); +void QNetworkSession_Accept(void* ptr); +void QNetworkSession_AcceptDefault(void* ptr); +unsigned long long QNetworkSession_ActiveTime(void* ptr); +unsigned long long QNetworkSession_BytesReceived(void* ptr); +unsigned long long QNetworkSession_BytesWritten(void* ptr); +void QNetworkSession_Close(void* ptr); +void QNetworkSession_CloseDefault(void* ptr); +void QNetworkSession_ConnectClosed(void* ptr, long long t); +void QNetworkSession_DisconnectClosed(void* ptr); +void QNetworkSession_Closed(void* ptr); +void* QNetworkSession_Configuration(void* ptr); +long long QNetworkSession_Error(void* ptr); +void QNetworkSession_ConnectError2(void* ptr, long long t); +void QNetworkSession_DisconnectError2(void* ptr); +void QNetworkSession_Error2(void* ptr, long long error); +struct QtNetwork_PackedString QNetworkSession_ErrorString(void* ptr); +void QNetworkSession_Ignore(void* ptr); +void QNetworkSession_IgnoreDefault(void* ptr); +void* QNetworkSession_Interface(void* ptr); +char QNetworkSession_IsOpen(void* ptr); +void QNetworkSession_Migrate(void* ptr); +void QNetworkSession_MigrateDefault(void* ptr); +void QNetworkSession_ConnectNewConfigurationActivated(void* ptr, long long t); +void QNetworkSession_DisconnectNewConfigurationActivated(void* ptr); +void QNetworkSession_NewConfigurationActivated(void* ptr); +void QNetworkSession_Open(void* ptr); +void QNetworkSession_OpenDefault(void* ptr); +void QNetworkSession_ConnectOpened(void* ptr, long long t); +void QNetworkSession_DisconnectOpened(void* ptr); +void QNetworkSession_Opened(void* ptr); +void QNetworkSession_ConnectPreferredConfigurationChanged(void* ptr, long long t); +void QNetworkSession_DisconnectPreferredConfigurationChanged(void* ptr); +void QNetworkSession_PreferredConfigurationChanged(void* ptr, void* config, char isSeamless); +void QNetworkSession_Reject(void* ptr); +void QNetworkSession_RejectDefault(void* ptr); +void* QNetworkSession_SessionProperty(void* ptr, struct QtNetwork_PackedString key); +void QNetworkSession_SetSessionProperty(void* ptr, struct QtNetwork_PackedString key, void* value); +long long QNetworkSession_State(void* ptr); +void QNetworkSession_ConnectStateChanged(void* ptr, long long t); +void QNetworkSession_DisconnectStateChanged(void* ptr); +void QNetworkSession_StateChanged(void* ptr, long long state); +void QNetworkSession_Stop(void* ptr); +void QNetworkSession_StopDefault(void* ptr); +long long QNetworkSession_UsagePolicies(void* ptr); +void QNetworkSession_ConnectUsagePoliciesChanged(void* ptr, long long t); +void QNetworkSession_DisconnectUsagePoliciesChanged(void* ptr); +void QNetworkSession_UsagePoliciesChanged(void* ptr, long long usagePolicies); +char QNetworkSession_WaitForOpened(void* ptr, int msecs); +void QNetworkSession_DestroyQNetworkSession(void* ptr); +void QNetworkSession_DestroyQNetworkSessionDefault(void* ptr); +void* QNetworkSession___children_atList(void* ptr, int i); +void QNetworkSession___children_setList(void* ptr, void* i); +void* QNetworkSession___children_newList(void* ptr); +void* QNetworkSession___dynamicPropertyNames_atList(void* ptr, int i); +void QNetworkSession___dynamicPropertyNames_setList(void* ptr, void* i); +void* QNetworkSession___dynamicPropertyNames_newList(void* ptr); +void* QNetworkSession___findChildren_atList(void* ptr, int i); +void QNetworkSession___findChildren_setList(void* ptr, void* i); +void* QNetworkSession___findChildren_newList(void* ptr); +void* QNetworkSession___findChildren_atList3(void* ptr, int i); +void QNetworkSession___findChildren_setList3(void* ptr, void* i); +void* QNetworkSession___findChildren_newList3(void* ptr); +void* QNetworkSession___qFindChildren_atList2(void* ptr, int i); +void QNetworkSession___qFindChildren_setList2(void* ptr, void* i); +void* QNetworkSession___qFindChildren_newList2(void* ptr); +void QNetworkSession_ChildEventDefault(void* ptr, void* event); +void QNetworkSession_ConnectNotifyDefault(void* ptr, void* sign); +void QNetworkSession_CustomEventDefault(void* ptr, void* event); +void QNetworkSession_DeleteLaterDefault(void* ptr); +void QNetworkSession_DisconnectNotifyDefault(void* ptr, void* sign); +char QNetworkSession_EventDefault(void* ptr, void* e); +char QNetworkSession_EventFilterDefault(void* ptr, void* watched, void* event); +void* QNetworkSession_MetaObjectDefault(void* ptr); +void QNetworkSession_TimerEventDefault(void* ptr, void* event); +void* QOcspResponse_NewQOcspResponse(); +void* QOcspResponse_NewQOcspResponse2(void* other); +void* QOcspResponse_NewQOcspResponse3(void* other); +void* QOcspResponse_Subject(void* ptr); +void QOcspResponse_Swap(void* ptr, void* other); +void QOcspResponse_DestroyQOcspResponse(void* ptr); +void* QSslCertificate_NewQSslCertificate(void* device, long long format); +void* QSslCertificate_NewQSslCertificate2(void* data, long long format); +void* QSslCertificate_NewQSslCertificate3(void* other); +void QSslCertificate_Clear(void* ptr); +void* QSslCertificate_Digest(void* ptr, long long algorithm); +void* QSslCertificate_EffectiveDate(void* ptr); +void* QSslCertificate_ExpiryDate(void* ptr); +struct QtNetwork_PackedList QSslCertificate_Extensions(void* ptr); +struct QtNetwork_PackedList QSslCertificate_QSslCertificate_FromData(void* data, long long format); +struct QtNetwork_PackedList QSslCertificate_QSslCertificate_FromDevice(void* device, long long format); +struct QtNetwork_PackedList QSslCertificate_QSslCertificate_FromPath(struct QtNetwork_PackedString path, long long format, long long syntax); +char QSslCertificate_QSslCertificate_ImportPkcs12(void* device, void* key, void* certificate, void* caCertificates, void* passPhrase); +char QSslCertificate_IsBlacklisted(void* ptr); +char QSslCertificate_IsNull(void* ptr); +char QSslCertificate_IsSelfSigned(void* ptr); +struct QtNetwork_PackedString QSslCertificate_IssuerDisplayName(void* ptr); +struct QtNetwork_PackedString QSslCertificate_IssuerInfo(void* ptr, long long subject); +struct QtNetwork_PackedString QSslCertificate_IssuerInfo2(void* ptr, void* attribute); +struct QtNetwork_PackedList QSslCertificate_IssuerInfoAttributes(void* ptr); +void* QSslCertificate_PublicKey(void* ptr); +void* QSslCertificate_SerialNumber(void* ptr); +struct QtNetwork_PackedList QSslCertificate_SubjectAlternativeNames(void* ptr); +struct QtNetwork_PackedString QSslCertificate_SubjectDisplayName(void* ptr); +struct QtNetwork_PackedString QSslCertificate_SubjectInfo(void* ptr, long long subject); +struct QtNetwork_PackedString QSslCertificate_SubjectInfo2(void* ptr, void* attribute); +struct QtNetwork_PackedList QSslCertificate_SubjectInfoAttributes(void* ptr); +void QSslCertificate_Swap(void* ptr, void* other); +void* QSslCertificate_ToDer(void* ptr); +void* QSslCertificate_ToPem(void* ptr); +struct QtNetwork_PackedString QSslCertificate_ToText(void* ptr); +struct QtNetwork_PackedList QSslCertificate_QSslCertificate_Verify(void* certificateChain, struct QtNetwork_PackedString hostName); +void* QSslCertificate_Version(void* ptr); +void QSslCertificate_DestroyQSslCertificate(void* ptr); +void* QSslCertificate___extensions_atList(void* ptr, int i); +void QSslCertificate___extensions_setList(void* ptr, void* i); +void* QSslCertificate___extensions_newList(void* ptr); +void* QSslCertificate___fromData_atList(void* ptr, int i); +void QSslCertificate___fromData_setList(void* ptr, void* i); +void* QSslCertificate___fromData_newList(void* ptr); +void* QSslCertificate___fromDevice_atList(void* ptr, int i); +void QSslCertificate___fromDevice_setList(void* ptr, void* i); +void* QSslCertificate___fromDevice_newList(void* ptr); +void* QSslCertificate___fromPath_atList(void* ptr, int i); +void QSslCertificate___fromPath_setList(void* ptr, void* i); +void* QSslCertificate___fromPath_newList(void* ptr); +void* QSslCertificate___importPkcs12_caCertificates_atList(void* ptr, int i); +void QSslCertificate___importPkcs12_caCertificates_setList(void* ptr, void* i); +void* QSslCertificate___importPkcs12_caCertificates_newList(void* ptr); +void* QSslCertificate___issuerInfoAttributes_atList(void* ptr, int i); +void QSslCertificate___issuerInfoAttributes_setList(void* ptr, void* i); +void* QSslCertificate___issuerInfoAttributes_newList(void* ptr); +struct QtNetwork_PackedString QSslCertificate___subjectAlternativeNames_atList(void* ptr, long long v, int i); +void QSslCertificate___subjectAlternativeNames_setList(void* ptr, long long key, struct QtNetwork_PackedString i); +void* QSslCertificate___subjectAlternativeNames_newList(void* ptr); +struct QtNetwork_PackedList QSslCertificate___subjectAlternativeNames_keyList(void* ptr); +void* QSslCertificate___subjectInfoAttributes_atList(void* ptr, int i); +void QSslCertificate___subjectInfoAttributes_setList(void* ptr, void* i); +void* QSslCertificate___subjectInfoAttributes_newList(void* ptr); +void* QSslCertificate___verify_atList(void* ptr, int i); +void QSslCertificate___verify_setList(void* ptr, void* i); +void* QSslCertificate___verify_newList(void* ptr); +void* QSslCertificate___verify_certificateChain_atList(void* ptr, int i); +void QSslCertificate___verify_certificateChain_setList(void* ptr, void* i); +void* QSslCertificate___verify_certificateChain_newList(void* ptr); +long long QSslCertificate_____subjectAlternativeNames_keyList_atList(void* ptr, int i); +void QSslCertificate_____subjectAlternativeNames_keyList_setList(void* ptr, long long i); +void* QSslCertificate_____subjectAlternativeNames_keyList_newList(void* ptr); +void* QSslCertificateExtension_NewQSslCertificateExtension(); +void* QSslCertificateExtension_NewQSslCertificateExtension2(void* other); +char QSslCertificateExtension_IsCritical(void* ptr); +char QSslCertificateExtension_IsSupported(void* ptr); +struct QtNetwork_PackedString QSslCertificateExtension_Name(void* ptr); +struct QtNetwork_PackedString QSslCertificateExtension_Oid(void* ptr); +void QSslCertificateExtension_Swap(void* ptr, void* other); +void* QSslCertificateExtension_Value(void* ptr); +void QSslCertificateExtension_DestroyQSslCertificateExtension(void* ptr); +void* QSslCipher_NewQSslCipher(); +void* QSslCipher_NewQSslCipher2(struct QtNetwork_PackedString name); +void* QSslCipher_NewQSslCipher3(struct QtNetwork_PackedString name, long long protocol); +void* QSslCipher_NewQSslCipher4(void* other); +struct QtNetwork_PackedString QSslCipher_AuthenticationMethod(void* ptr); +struct QtNetwork_PackedString QSslCipher_EncryptionMethod(void* ptr); +char QSslCipher_IsNull(void* ptr); +struct QtNetwork_PackedString QSslCipher_KeyExchangeMethod(void* ptr); +struct QtNetwork_PackedString QSslCipher_Name(void* ptr); +long long QSslCipher_Protocol(void* ptr); +struct QtNetwork_PackedString QSslCipher_ProtocolString(void* ptr); +int QSslCipher_SupportedBits(void* ptr); +void QSslCipher_Swap(void* ptr, void* other); +int QSslCipher_UsedBits(void* ptr); +void QSslCipher_DestroyQSslCipher(void* ptr); +void* QSslConfiguration_NewQSslConfiguration(); +void* QSslConfiguration_NewQSslConfiguration2(void* other); +struct QtNetwork_PackedList QSslConfiguration_AllowedNextProtocols(void* ptr); +struct QtNetwork_PackedList QSslConfiguration_BackendConfiguration(void* ptr); +struct QtNetwork_PackedList QSslConfiguration_CaCertificates(void* ptr); +struct QtNetwork_PackedList QSslConfiguration_Ciphers(void* ptr); +void* QSslConfiguration_QSslConfiguration_DefaultConfiguration(); +void* QSslConfiguration_DiffieHellmanParameters(void* ptr); +void* QSslConfiguration_EphemeralServerKey(void* ptr); +char QSslConfiguration_IsNull(void* ptr); +void* QSslConfiguration_LocalCertificate(void* ptr); +struct QtNetwork_PackedList QSslConfiguration_LocalCertificateChain(void* ptr); +void* QSslConfiguration_NextNegotiatedProtocol(void* ptr); +long long QSslConfiguration_NextProtocolNegotiationStatus(void* ptr); +char QSslConfiguration_OcspStaplingEnabled(void* ptr); +void* QSslConfiguration_PeerCertificate(void* ptr); +struct QtNetwork_PackedList QSslConfiguration_PeerCertificateChain(void* ptr); +int QSslConfiguration_PeerVerifyDepth(void* ptr); +long long QSslConfiguration_PeerVerifyMode(void* ptr); +void* QSslConfiguration_PreSharedKeyIdentityHint(void* ptr); +void* QSslConfiguration_PrivateKey(void* ptr); +long long QSslConfiguration_Protocol(void* ptr); +void* QSslConfiguration_SessionCipher(void* ptr); +long long QSslConfiguration_SessionProtocol(void* ptr); +void* QSslConfiguration_SessionTicket(void* ptr); +int QSslConfiguration_SessionTicketLifeTimeHint(void* ptr); +void QSslConfiguration_SetAllowedNextProtocols(void* ptr, void* protocols); +void QSslConfiguration_SetBackendConfiguration(void* ptr, void* backendConfiguration); +void QSslConfiguration_SetBackendConfigurationOption(void* ptr, void* name, void* value); +void QSslConfiguration_SetCaCertificates(void* ptr, void* certificates); +void QSslConfiguration_SetCiphers(void* ptr, void* ciphers); +void QSslConfiguration_QSslConfiguration_SetDefaultConfiguration(void* configuration); +void QSslConfiguration_SetDiffieHellmanParameters(void* ptr, void* dhparams); +void QSslConfiguration_SetEllipticCurves(void* ptr, void* curves); +void QSslConfiguration_SetLocalCertificate(void* ptr, void* certificate); +void QSslConfiguration_SetLocalCertificateChain(void* ptr, void* localChain); +void QSslConfiguration_SetOcspStaplingEnabled(void* ptr, char enabled); +void QSslConfiguration_SetPeerVerifyDepth(void* ptr, int depth); +void QSslConfiguration_SetPeerVerifyMode(void* ptr, long long mode); +void QSslConfiguration_SetPreSharedKeyIdentityHint(void* ptr, void* hint); +void QSslConfiguration_SetPrivateKey(void* ptr, void* key); +void QSslConfiguration_SetProtocol(void* ptr, long long protocol); +void QSslConfiguration_SetSessionTicket(void* ptr, void* sessionTicket); +void QSslConfiguration_SetSslOption(void* ptr, long long option, char on); +struct QtNetwork_PackedList QSslConfiguration_QSslConfiguration_SupportedCiphers(); +void QSslConfiguration_Swap(void* ptr, void* other); +struct QtNetwork_PackedList QSslConfiguration_QSslConfiguration_SystemCaCertificates(); +char QSslConfiguration_TestSslOption(void* ptr, long long option); +void QSslConfiguration_DestroyQSslConfiguration(void* ptr); +void* QSslConfiguration___allowedNextProtocols_atList(void* ptr, int i); +void QSslConfiguration___allowedNextProtocols_setList(void* ptr, void* i); +void* QSslConfiguration___allowedNextProtocols_newList(void* ptr); +void* QSslConfiguration___backendConfiguration_atList(void* ptr, void* v, int i); +void QSslConfiguration___backendConfiguration_setList(void* ptr, void* key, void* i); +void* QSslConfiguration___backendConfiguration_newList(void* ptr); +struct QtNetwork_PackedList QSslConfiguration___backendConfiguration_keyList(void* ptr); +void* QSslConfiguration___caCertificates_atList(void* ptr, int i); +void QSslConfiguration___caCertificates_setList(void* ptr, void* i); +void* QSslConfiguration___caCertificates_newList(void* ptr); +void* QSslConfiguration___ciphers_atList(void* ptr, int i); +void QSslConfiguration___ciphers_setList(void* ptr, void* i); +void* QSslConfiguration___ciphers_newList(void* ptr); +void* QSslConfiguration___ellipticCurves_atList(void* ptr, int i); +void QSslConfiguration___ellipticCurves_setList(void* ptr, void* i); +void* QSslConfiguration___ellipticCurves_newList(void* ptr); +void* QSslConfiguration___localCertificateChain_atList(void* ptr, int i); +void QSslConfiguration___localCertificateChain_setList(void* ptr, void* i); +void* QSslConfiguration___localCertificateChain_newList(void* ptr); +void* QSslConfiguration___peerCertificateChain_atList(void* ptr, int i); +void QSslConfiguration___peerCertificateChain_setList(void* ptr, void* i); +void* QSslConfiguration___peerCertificateChain_newList(void* ptr); +void* QSslConfiguration___setAllowedNextProtocols_protocols_atList(void* ptr, int i); +void QSslConfiguration___setAllowedNextProtocols_protocols_setList(void* ptr, void* i); +void* QSslConfiguration___setAllowedNextProtocols_protocols_newList(void* ptr); +void* QSslConfiguration___setBackendConfiguration_backendConfiguration_atList(void* ptr, void* v, int i); +void QSslConfiguration___setBackendConfiguration_backendConfiguration_setList(void* ptr, void* key, void* i); +void* QSslConfiguration___setBackendConfiguration_backendConfiguration_newList(void* ptr); +struct QtNetwork_PackedList QSslConfiguration___setBackendConfiguration_backendConfiguration_keyList(void* ptr); +void* QSslConfiguration___setCaCertificates_certificates_atList(void* ptr, int i); +void QSslConfiguration___setCaCertificates_certificates_setList(void* ptr, void* i); +void* QSslConfiguration___setCaCertificates_certificates_newList(void* ptr); +void* QSslConfiguration___setCiphers_ciphers_atList(void* ptr, int i); +void QSslConfiguration___setCiphers_ciphers_setList(void* ptr, void* i); +void* QSslConfiguration___setCiphers_ciphers_newList(void* ptr); +void* QSslConfiguration___setEllipticCurves_curves_atList(void* ptr, int i); +void QSslConfiguration___setEllipticCurves_curves_setList(void* ptr, void* i); +void* QSslConfiguration___setEllipticCurves_curves_newList(void* ptr); +void* QSslConfiguration___setLocalCertificateChain_localChain_atList(void* ptr, int i); +void QSslConfiguration___setLocalCertificateChain_localChain_setList(void* ptr, void* i); +void* QSslConfiguration___setLocalCertificateChain_localChain_newList(void* ptr); +void* QSslConfiguration___supportedCiphers_atList(void* ptr, int i); +void QSslConfiguration___supportedCiphers_setList(void* ptr, void* i); +void* QSslConfiguration___supportedCiphers_newList(void* ptr); +void* QSslConfiguration___supportedEllipticCurves_atList(void* ptr, int i); +void QSslConfiguration___supportedEllipticCurves_setList(void* ptr, void* i); +void* QSslConfiguration___supportedEllipticCurves_newList(void* ptr); +void* QSslConfiguration___systemCaCertificates_atList(void* ptr, int i); +void QSslConfiguration___systemCaCertificates_setList(void* ptr, void* i); +void* QSslConfiguration___systemCaCertificates_newList(void* ptr); +void* QSslConfiguration_____backendConfiguration_keyList_atList(void* ptr, int i); +void QSslConfiguration_____backendConfiguration_keyList_setList(void* ptr, void* i); +void* QSslConfiguration_____backendConfiguration_keyList_newList(void* ptr); +void* QSslConfiguration_____setBackendConfiguration_backendConfiguration_keyList_atList(void* ptr, int i); +void QSslConfiguration_____setBackendConfiguration_backendConfiguration_keyList_setList(void* ptr, void* i); +void* QSslConfiguration_____setBackendConfiguration_backendConfiguration_keyList_newList(void* ptr); +void* QSslDiffieHellmanParameters_NewQSslDiffieHellmanParameters(); +void* QSslDiffieHellmanParameters_NewQSslDiffieHellmanParameters2(void* other); +void* QSslDiffieHellmanParameters_NewQSslDiffieHellmanParameters3(void* other); +void* QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_DefaultParameters(); +long long QSslDiffieHellmanParameters_Error(void* ptr); +struct QtNetwork_PackedString QSslDiffieHellmanParameters_ErrorString(void* ptr); +void* QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_FromEncoded(void* encoded, long long encoding); +void* QSslDiffieHellmanParameters_QSslDiffieHellmanParameters_FromEncoded2(void* device, long long encoding); +char QSslDiffieHellmanParameters_IsEmpty(void* ptr); +char QSslDiffieHellmanParameters_IsValid(void* ptr); +void QSslDiffieHellmanParameters_Swap(void* ptr, void* other); +void QSslDiffieHellmanParameters_DestroyQSslDiffieHellmanParameters(void* ptr); +void* QSslEllipticCurve_NewQSslEllipticCurve(); +void* QSslEllipticCurve_QSslEllipticCurve_FromLongName(struct QtNetwork_PackedString name); +void* QSslEllipticCurve_QSslEllipticCurve_FromShortName(struct QtNetwork_PackedString name); +char QSslEllipticCurve_IsTlsNamedCurve(void* ptr); +char QSslEllipticCurve_IsValid(void* ptr); +struct QtNetwork_PackedString QSslEllipticCurve_LongName(void* ptr); +struct QtNetwork_PackedString QSslEllipticCurve_ShortName(void* ptr); +void* QSslError_NewQSslError(); +void* QSslError_NewQSslError2(long long error); +void* QSslError_NewQSslError3(long long error, void* certificate); +void* QSslError_NewQSslError4(void* other); +void* QSslError_Certificate(void* ptr); +long long QSslError_Error(void* ptr); +struct QtNetwork_PackedString QSslError_ErrorString(void* ptr); +void QSslError_Swap(void* ptr, void* other); +void QSslError_DestroyQSslError(void* ptr); +void* QSslKey_NewQSslKey(); +void* QSslKey_NewQSslKey2(void* encoded, long long algorithm, long long encoding, long long ty, void* passPhrase); +void* QSslKey_NewQSslKey3(void* device, long long algorithm, long long encoding, long long ty, void* passPhrase); +void* QSslKey_NewQSslKey5(void* other); +long long QSslKey_Algorithm(void* ptr); +void QSslKey_Clear(void* ptr); +char QSslKey_IsNull(void* ptr); +int QSslKey_Length(void* ptr); +void QSslKey_Swap(void* ptr, void* other); +void* QSslKey_ToDer(void* ptr, void* passPhrase); +void* QSslKey_ToPem(void* ptr, void* passPhrase); +long long QSslKey_Type(void* ptr); +void QSslKey_DestroyQSslKey(void* ptr); +void* QSslPreSharedKeyAuthenticator_NewQSslPreSharedKeyAuthenticator(); +void* QSslPreSharedKeyAuthenticator_NewQSslPreSharedKeyAuthenticator2(void* authenticator); +void* QSslPreSharedKeyAuthenticator_Identity(void* ptr); +void* QSslPreSharedKeyAuthenticator_IdentityHint(void* ptr); +int QSslPreSharedKeyAuthenticator_MaximumIdentityLength(void* ptr); +int QSslPreSharedKeyAuthenticator_MaximumPreSharedKeyLength(void* ptr); +void* QSslPreSharedKeyAuthenticator_PreSharedKey(void* ptr); +void QSslPreSharedKeyAuthenticator_SetIdentity(void* ptr, void* identity); +void QSslPreSharedKeyAuthenticator_SetPreSharedKey(void* ptr, void* preSharedKey); +void QSslPreSharedKeyAuthenticator_Swap(void* ptr, void* authenticator); +void QSslPreSharedKeyAuthenticator_DestroyQSslPreSharedKeyAuthenticator(void* ptr); +void* QSslSocket_NewQSslSocket(void* parent); +void QSslSocket_AddCaCertificate(void* ptr, void* certificate); +char QSslSocket_AddCaCertificates(void* ptr, struct QtNetwork_PackedString path, long long format, long long syntax); +void QSslSocket_AddCaCertificates2(void* ptr, void* certificates); +void QSslSocket_QSslSocket_AddDefaultCaCertificate(void* certificate); +char QSslSocket_QSslSocket_AddDefaultCaCertificates(struct QtNetwork_PackedString path, long long encoding, long long syntax); +void QSslSocket_QSslSocket_AddDefaultCaCertificates2(void* certificates); +void QSslSocket_ConnectToHostEncrypted(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, long long mode, long long protocol); +void QSslSocket_ConnectToHostEncrypted2(void* ptr, struct QtNetwork_PackedString hostName, unsigned short port, struct QtNetwork_PackedString sslPeerName, long long mode, long long protocol); +void QSslSocket_ConnectEncrypted(void* ptr, long long t); +void QSslSocket_DisconnectEncrypted(void* ptr); +void QSslSocket_Encrypted(void* ptr); +long long QSslSocket_EncryptedBytesAvailable(void* ptr); +long long QSslSocket_EncryptedBytesToWrite(void* ptr); +void QSslSocket_ConnectEncryptedBytesWritten(void* ptr, long long t); +void QSslSocket_DisconnectEncryptedBytesWritten(void* ptr); +void QSslSocket_EncryptedBytesWritten(void* ptr, long long written); +void QSslSocket_IgnoreSslErrors(void* ptr); +void QSslSocket_IgnoreSslErrorsDefault(void* ptr); +void QSslSocket_IgnoreSslErrors2(void* ptr, void* errors); +char QSslSocket_IsEncrypted(void* ptr); +void* QSslSocket_LocalCertificate(void* ptr); +struct QtNetwork_PackedList QSslSocket_LocalCertificateChain(void* ptr); +long long QSslSocket_Mode(void* ptr); +void QSslSocket_ConnectModeChanged(void* ptr, long long t); +void QSslSocket_DisconnectModeChanged(void* ptr); +void QSslSocket_ModeChanged(void* ptr, long long mode); +struct QtNetwork_PackedList QSslSocket_OcspResponses(void* ptr); +void* QSslSocket_PeerCertificate(void* ptr); +struct QtNetwork_PackedList QSslSocket_PeerCertificateChain(void* ptr); +int QSslSocket_PeerVerifyDepth(void* ptr); +void QSslSocket_ConnectPeerVerifyError(void* ptr, long long t); +void QSslSocket_DisconnectPeerVerifyError(void* ptr); +void QSslSocket_PeerVerifyError(void* ptr, void* error); +long long QSslSocket_PeerVerifyMode(void* ptr); +struct QtNetwork_PackedString QSslSocket_PeerVerifyName(void* ptr); +void QSslSocket_ConnectPreSharedKeyAuthenticationRequired(void* ptr, long long t); +void QSslSocket_DisconnectPreSharedKeyAuthenticationRequired(void* ptr); +void QSslSocket_PreSharedKeyAuthenticationRequired(void* ptr, void* authenticator); +void* QSslSocket_PrivateKey(void* ptr); +long long QSslSocket_Protocol(void* ptr); +void* QSslSocket_SessionCipher(void* ptr); +long long QSslSocket_SessionProtocol(void* ptr); +void QSslSocket_SetLocalCertificate(void* ptr, void* certificate); +void QSslSocket_SetLocalCertificate2(void* ptr, struct QtNetwork_PackedString path, long long format); +void QSslSocket_SetLocalCertificateChain(void* ptr, void* localChain); +void QSslSocket_SetPeerVerifyDepth(void* ptr, int depth); +void QSslSocket_SetPeerVerifyMode(void* ptr, long long mode); +void QSslSocket_SetPeerVerifyName(void* ptr, struct QtNetwork_PackedString hostName); +void QSslSocket_SetPrivateKey(void* ptr, void* key); +void QSslSocket_SetPrivateKey2(void* ptr, struct QtNetwork_PackedString fileName, long long algorithm, long long format, void* passPhrase); +void QSslSocket_SetProtocol(void* ptr, long long protocol); +void QSslSocket_SetSslConfiguration(void* ptr, void* configuration); +void* QSslSocket_SslConfiguration(void* ptr); +struct QtNetwork_PackedList QSslSocket_SslErrors(void* ptr); +void QSslSocket_ConnectSslErrors2(void* ptr, long long t); +void QSslSocket_DisconnectSslErrors2(void* ptr); +void QSslSocket_SslErrors2(void* ptr, void* errors); +long QSslSocket_QSslSocket_SslLibraryBuildVersionNumber(); +struct QtNetwork_PackedString QSslSocket_QSslSocket_SslLibraryBuildVersionString(); +long QSslSocket_QSslSocket_SslLibraryVersionNumber(); +struct QtNetwork_PackedString QSslSocket_QSslSocket_SslLibraryVersionString(); +void QSslSocket_StartClientEncryption(void* ptr); +void QSslSocket_StartClientEncryptionDefault(void* ptr); +void QSslSocket_StartServerEncryption(void* ptr); +void QSslSocket_StartServerEncryptionDefault(void* ptr); +char QSslSocket_QSslSocket_SupportsSsl(); +char QSslSocket_WaitForEncrypted(void* ptr, int msecs); +void QSslSocket_DestroyQSslSocket(void* ptr); +void QSslSocket_DestroyQSslSocketDefault(void* ptr); +void* QSslSocket___addCaCertificates_certificates_atList2(void* ptr, int i); +void QSslSocket___addCaCertificates_certificates_setList2(void* ptr, void* i); +void* QSslSocket___addCaCertificates_certificates_newList2(void* ptr); +void* QSslSocket___addDefaultCaCertificates_certificates_atList2(void* ptr, int i); +void QSslSocket___addDefaultCaCertificates_certificates_setList2(void* ptr, void* i); +void* QSslSocket___addDefaultCaCertificates_certificates_newList2(void* ptr); +void* QSslSocket___caCertificates_atList(void* ptr, int i); +void QSslSocket___caCertificates_setList(void* ptr, void* i); +void* QSslSocket___caCertificates_newList(void* ptr); +void* QSslSocket___ciphers_atList(void* ptr, int i); +void QSslSocket___ciphers_setList(void* ptr, void* i); +void* QSslSocket___ciphers_newList(void* ptr); +void* QSslSocket___defaultCaCertificates_atList(void* ptr, int i); +void QSslSocket___defaultCaCertificates_setList(void* ptr, void* i); +void* QSslSocket___defaultCaCertificates_newList(void* ptr); +void* QSslSocket___defaultCiphers_atList(void* ptr, int i); +void QSslSocket___defaultCiphers_setList(void* ptr, void* i); +void* QSslSocket___defaultCiphers_newList(void* ptr); +void* QSslSocket___ignoreSslErrors_errors_atList2(void* ptr, int i); +void QSslSocket___ignoreSslErrors_errors_setList2(void* ptr, void* i); +void* QSslSocket___ignoreSslErrors_errors_newList2(void* ptr); +void* QSslSocket___localCertificateChain_atList(void* ptr, int i); +void QSslSocket___localCertificateChain_setList(void* ptr, void* i); +void* QSslSocket___localCertificateChain_newList(void* ptr); +void* QSslSocket___ocspResponses_atList(void* ptr, int i); +void QSslSocket___ocspResponses_setList(void* ptr, void* i); +void* QSslSocket___ocspResponses_newList(void* ptr); +void* QSslSocket___peerCertificateChain_atList(void* ptr, int i); +void QSslSocket___peerCertificateChain_setList(void* ptr, void* i); +void* QSslSocket___peerCertificateChain_newList(void* ptr); +void* QSslSocket___setCaCertificates_certificates_atList(void* ptr, int i); +void QSslSocket___setCaCertificates_certificates_setList(void* ptr, void* i); +void* QSslSocket___setCaCertificates_certificates_newList(void* ptr); +void* QSslSocket___setCiphers_ciphers_atList(void* ptr, int i); +void QSslSocket___setCiphers_ciphers_setList(void* ptr, void* i); +void* QSslSocket___setCiphers_ciphers_newList(void* ptr); +void* QSslSocket___setDefaultCaCertificates_certificates_atList(void* ptr, int i); +void QSslSocket___setDefaultCaCertificates_certificates_setList(void* ptr, void* i); +void* QSslSocket___setDefaultCaCertificates_certificates_newList(void* ptr); +void* QSslSocket___setDefaultCiphers_ciphers_atList(void* ptr, int i); +void QSslSocket___setDefaultCiphers_ciphers_setList(void* ptr, void* i); +void* QSslSocket___setDefaultCiphers_ciphers_newList(void* ptr); +void* QSslSocket___setLocalCertificateChain_localChain_atList(void* ptr, int i); +void QSslSocket___setLocalCertificateChain_localChain_setList(void* ptr, void* i); +void* QSslSocket___setLocalCertificateChain_localChain_newList(void* ptr); +void* QSslSocket___sslErrors_atList(void* ptr, int i); +void QSslSocket___sslErrors_setList(void* ptr, void* i); +void* QSslSocket___sslErrors_newList(void* ptr); +void* QSslSocket___sslErrors_errors_atList2(void* ptr, int i); +void QSslSocket___sslErrors_errors_setList2(void* ptr, void* i); +void* QSslSocket___sslErrors_errors_newList2(void* ptr); +void* QSslSocket___supportedCiphers_atList(void* ptr, int i); +void QSslSocket___supportedCiphers_setList(void* ptr, void* i); +void* QSslSocket___supportedCiphers_newList(void* ptr); +void* QSslSocket___systemCaCertificates_atList(void* ptr, int i); +void QSslSocket___systemCaCertificates_setList(void* ptr, void* i); +void* QSslSocket___systemCaCertificates_newList(void* ptr); +void* QTcpServer_NewQTcpServer(void* parent); +void QTcpServer_ConnectAcceptError(void* ptr, long long t); +void QTcpServer_DisconnectAcceptError(void* ptr); +void QTcpServer_AcceptError(void* ptr, long long socketError); +void QTcpServer_AddPendingConnection(void* ptr, void* socket); +void QTcpServer_Close(void* ptr); +struct QtNetwork_PackedString QTcpServer_ErrorString(void* ptr); +char QTcpServer_HasPendingConnections(void* ptr); +char QTcpServer_HasPendingConnectionsDefault(void* ptr); +char QTcpServer_IsListening(void* ptr); +char QTcpServer_Listen(void* ptr, void* address, unsigned short port); +int QTcpServer_MaxPendingConnections(void* ptr); +void QTcpServer_ConnectNewConnection(void* ptr, long long t); +void QTcpServer_DisconnectNewConnection(void* ptr); +void QTcpServer_NewConnection(void* ptr); +void* QTcpServer_NextPendingConnection(void* ptr); +void* QTcpServer_NextPendingConnectionDefault(void* ptr); +void QTcpServer_PauseAccepting(void* ptr); +void* QTcpServer_Proxy(void* ptr); +void QTcpServer_ResumeAccepting(void* ptr); +void* QTcpServer_ServerAddress(void* ptr); +long long QTcpServer_ServerError(void* ptr); +unsigned short QTcpServer_ServerPort(void* ptr); +void QTcpServer_SetMaxPendingConnections(void* ptr, int numConnections); +void QTcpServer_SetProxy(void* ptr, void* networkProxy); +char QTcpServer_WaitForNewConnection(void* ptr, int msec, char* timedOut); +void QTcpServer_DestroyQTcpServer(void* ptr); +void QTcpServer_DestroyQTcpServerDefault(void* ptr); +void* QTcpServer___children_atList(void* ptr, int i); +void QTcpServer___children_setList(void* ptr, void* i); +void* QTcpServer___children_newList(void* ptr); +void* QTcpServer___dynamicPropertyNames_atList(void* ptr, int i); +void QTcpServer___dynamicPropertyNames_setList(void* ptr, void* i); +void* QTcpServer___dynamicPropertyNames_newList(void* ptr); +void* QTcpServer___findChildren_atList(void* ptr, int i); +void QTcpServer___findChildren_setList(void* ptr, void* i); +void* QTcpServer___findChildren_newList(void* ptr); +void* QTcpServer___findChildren_atList3(void* ptr, int i); +void QTcpServer___findChildren_setList3(void* ptr, void* i); +void* QTcpServer___findChildren_newList3(void* ptr); +void* QTcpServer___qFindChildren_atList2(void* ptr, int i); +void QTcpServer___qFindChildren_setList2(void* ptr, void* i); +void* QTcpServer___qFindChildren_newList2(void* ptr); +void QTcpServer_ChildEventDefault(void* ptr, void* event); +void QTcpServer_ConnectNotifyDefault(void* ptr, void* sign); +void QTcpServer_CustomEventDefault(void* ptr, void* event); +void QTcpServer_DeleteLaterDefault(void* ptr); +void QTcpServer_DisconnectNotifyDefault(void* ptr, void* sign); +char QTcpServer_EventDefault(void* ptr, void* e); +char QTcpServer_EventFilterDefault(void* ptr, void* watched, void* event); +void* QTcpServer_MetaObjectDefault(void* ptr); +void QTcpServer_TimerEventDefault(void* ptr, void* event); +void* QTcpSocket_NewQTcpSocket(void* parent); +void QTcpSocket_DestroyQTcpSocket(void* ptr); +void QTcpSocket_DestroyQTcpSocketDefault(void* ptr); +void* QUdpSocket_NewQUdpSocket(void* parent); +char QUdpSocket_HasPendingDatagrams(void* ptr); +char QUdpSocket_JoinMulticastGroup(void* ptr, void* groupAddress); +char QUdpSocket_JoinMulticastGroup2(void* ptr, void* groupAddress, void* iface); +char QUdpSocket_LeaveMulticastGroup(void* ptr, void* groupAddress); +char QUdpSocket_LeaveMulticastGroup2(void* ptr, void* groupAddress, void* iface); +void* QUdpSocket_MulticastInterface(void* ptr); +long long QUdpSocket_PendingDatagramSize(void* ptr); +long long QUdpSocket_ReadDatagram(void* ptr, char* data, long long maxSize, void* address, unsigned short port); +void* QUdpSocket_ReceiveDatagram(void* ptr, long long maxSize); +void QUdpSocket_SetMulticastInterface(void* ptr, void* iface); +long long QUdpSocket_WriteDatagram(void* ptr, char* data, long long size, void* address, unsigned short port); +long long QUdpSocket_WriteDatagram2(void* ptr, void* datagram); +long long QUdpSocket_WriteDatagram3(void* ptr, void* datagram, void* host, unsigned short port); +void QUdpSocket_DestroyQUdpSocket(void* ptr); +void QUdpSocket_DestroyQUdpSocketDefault(void* ptr); +void* RawHeader_NewRawHeader(); +void* RawHeader_NewRawHeader2(void* first, void* second); +void* RawHeader_First(void* ptr); +void RawHeader_SetFirst(void* ptr, void* vqb); +void* RawHeader_Second(void* ptr); +void RawHeader_SetSecond(void* ptr, void* vqb); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/qml/qml.cpp b/vendor/github.com/therecipe/qt/qml/qml.cpp new file mode 100644 index 00000000..91bb4a1e --- /dev/null +++ b/vendor/github.com/therecipe/qt/qml/qml.cpp @@ -0,0 +1,4255 @@ +// +build !minimal + +#define protected public +#define private public + +#include "qml.h" +#include "_cgo_export.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class MyQJSEngine: public QJSEngine +{ +public: + MyQJSEngine() : QJSEngine() {QJSEngine_QJSEngine_QRegisterMetaType();}; + MyQJSEngine(QObject *parent) : QJSEngine(parent) {QJSEngine_QJSEngine_QRegisterMetaType();}; + ~MyQJSEngine() { callbackQJSEngine_DestroyQJSEngine(this); }; + void childEvent(QChildEvent * event) { callbackQJSEngine_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQJSEngine_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQJSEngine_CustomEvent(this, event); }; + void deleteLater() { callbackQJSEngine_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQJSEngine_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQJSEngine_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQJSEngine_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQJSEngine_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQJSEngine_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtQml_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQJSEngine_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQJSEngine_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQJSEngine*) + +int QJSEngine_QJSEngine_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QJSEngine_NewQJSEngine() +{ + return new MyQJSEngine(); +} + +void* QJSEngine_NewQJSEngine2(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQJSEngine(static_cast(parent)); + } else { + return new MyQJSEngine(static_cast(parent)); + } +} + +void QJSEngine_CollectGarbage(void* ptr) +{ + static_cast(ptr)->collectGarbage(); +} + +void* QJSEngine_Evaluate(void* ptr, struct QtQml_PackedString program, struct QtQml_PackedString fileName, int lineNumber) +{ + return new QJSValue(static_cast(ptr)->evaluate(QString::fromUtf8(program.data, program.len), QString::fromUtf8(fileName.data, fileName.len), lineNumber)); +} + +void* QJSEngine_GlobalObject(void* ptr) +{ + return new QJSValue(static_cast(ptr)->globalObject()); +} + +void* QJSEngine_ImportModule(void* ptr, struct QtQml_PackedString fileName) +{ + return new QJSValue(static_cast(ptr)->importModule(QString::fromUtf8(fileName.data, fileName.len))); +} + +void QJSEngine_InstallExtensions(void* ptr, long long extensions, void* object) +{ + static_cast(ptr)->installExtensions(static_cast(extensions), *static_cast(object)); +} + +void* QJSEngine_NewArray(void* ptr, unsigned int length) +{ + return new QJSValue(static_cast(ptr)->newArray(length)); +} + +void* QJSEngine_NewErrorObject(void* ptr, long long errorType, struct QtQml_PackedString message) +{ + return new QJSValue(static_cast(ptr)->newErrorObject(static_cast(errorType), QString::fromUtf8(message.data, message.len))); +} + +void* QJSEngine_NewObject(void* ptr) +{ + return new QJSValue(static_cast(ptr)->newObject()); +} + +void* QJSEngine_NewQMetaObject(void* ptr, void* metaObject) +{ + return new QJSValue(static_cast(ptr)->newQMetaObject(static_cast(metaObject))); +} + +void* QJSEngine_NewQObject(void* ptr, void* object) +{ + return new QJSValue(static_cast(ptr)->newQObject(static_cast(object))); +} + +void QJSEngine_ThrowError(void* ptr, struct QtQml_PackedString message) +{ + static_cast(ptr)->throwError(QString::fromUtf8(message.data, message.len)); +} + +void QJSEngine_ThrowError2(void* ptr, long long errorType, struct QtQml_PackedString message) +{ + static_cast(ptr)->throwError(static_cast(errorType), QString::fromUtf8(message.data, message.len)); +} + +void QJSEngine_DestroyQJSEngine(void* ptr) +{ + static_cast(ptr)->~QJSEngine(); +} + +void QJSEngine_DestroyQJSEngineDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QJSEngine___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QJSEngine___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QJSEngine___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QJSEngine___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QJSEngine___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QJSEngine___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QJSEngine___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QJSEngine___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QJSEngine___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QJSEngine___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QJSEngine___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QJSEngine___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QJSEngine___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QJSEngine___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QJSEngine___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QJSEngine_ChildEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlApplicationEngine::childEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlEngine::childEvent(static_cast(event)); + } else { + static_cast(ptr)->QJSEngine::childEvent(static_cast(event)); + } +} + +void QJSEngine_ConnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlApplicationEngine::connectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlEngine::connectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QJSEngine::connectNotify(*static_cast(sign)); + } +} + +void QJSEngine_CustomEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlApplicationEngine::customEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlEngine::customEvent(static_cast(event)); + } else { + static_cast(ptr)->QJSEngine::customEvent(static_cast(event)); + } +} + +void QJSEngine_DeleteLaterDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlApplicationEngine::deleteLater(); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlEngine::deleteLater(); + } else { + static_cast(ptr)->QJSEngine::deleteLater(); + } +} + +void QJSEngine_DisconnectNotifyDefault(void* ptr, void* sign) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlApplicationEngine::disconnectNotify(*static_cast(sign)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlEngine::disconnectNotify(*static_cast(sign)); + } else { + static_cast(ptr)->QJSEngine::disconnectNotify(*static_cast(sign)); + } +} + +char QJSEngine_EventDefault(void* ptr, void* e) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QQmlApplicationEngine::event(static_cast(e)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QQmlEngine::event(static_cast(e)); + } else { + return static_cast(ptr)->QJSEngine::event(static_cast(e)); + } +} + +char QJSEngine_EventFilterDefault(void* ptr, void* watched, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QQmlApplicationEngine::eventFilter(static_cast(watched), static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + return static_cast(ptr)->QQmlEngine::eventFilter(static_cast(watched), static_cast(event)); + } else { + return static_cast(ptr)->QJSEngine::eventFilter(static_cast(watched), static_cast(event)); + } +} + +void* QJSEngine_MetaObjectDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QQmlApplicationEngine::metaObject()); + } else if (dynamic_cast(static_cast(ptr))) { + return const_cast(static_cast(ptr)->QQmlEngine::metaObject()); + } else { + return const_cast(static_cast(ptr)->QJSEngine::metaObject()); + } +} + +void QJSEngine_TimerEventDefault(void* ptr, void* event) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlApplicationEngine::timerEvent(static_cast(event)); + } else if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlEngine::timerEvent(static_cast(event)); + } else { + static_cast(ptr)->QJSEngine::timerEvent(static_cast(event)); + } +} + +void* QJSValue_NewQJSValue(long long value) +{ + return new QJSValue(static_cast(value)); +} + +void* QJSValue_NewQJSValue2(void* other) +{ + return new QJSValue(*static_cast(other)); +} + +void* QJSValue_NewQJSValue3(void* other) +{ + return new QJSValue(*static_cast(other)); +} + +void* QJSValue_NewQJSValue4(char value) +{ + return new QJSValue(value != 0); +} + +void* QJSValue_NewQJSValue5(int value) +{ + return new QJSValue(value); +} + +void* QJSValue_NewQJSValue6(unsigned int value) +{ + return new QJSValue(value); +} + +void* QJSValue_NewQJSValue7(double value) +{ + return new QJSValue(value); +} + +void* QJSValue_NewQJSValue8(struct QtQml_PackedString value) +{ + return new QJSValue(QString::fromUtf8(value.data, value.len)); +} + +void* QJSValue_NewQJSValue9(void* value) +{ + return new QJSValue(*static_cast(value)); +} + +void* QJSValue_NewQJSValue10(char* value) +{ + return new QJSValue(const_cast(value)); +} + +void* QJSValue_Call(void* ptr, void* args) +{ + return new QJSValue(static_cast(ptr)->call(({ QList* tmpP = static_cast*>(args); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }))); +} + +void* QJSValue_CallAsConstructor(void* ptr, void* args) +{ + return new QJSValue(static_cast(ptr)->callAsConstructor(({ QList* tmpP = static_cast*>(args); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }))); +} + +void* QJSValue_CallWithInstance(void* ptr, void* instance, void* args) +{ + return new QJSValue(static_cast(ptr)->callWithInstance(*static_cast(instance), ({ QList* tmpP = static_cast*>(args); QList tmpV = *tmpP; tmpP->~QList(); free(tmpP); tmpV; }))); +} + +char QJSValue_DeleteProperty(void* ptr, struct QtQml_PackedString name) +{ + return static_cast(ptr)->deleteProperty(QString::fromUtf8(name.data, name.len)); +} + +char QJSValue_Equals(void* ptr, void* other) +{ + return static_cast(ptr)->equals(*static_cast(other)); +} + +long long QJSValue_ErrorType(void* ptr) +{ + return static_cast(ptr)->errorType(); +} + +char QJSValue_HasOwnProperty(void* ptr, struct QtQml_PackedString name) +{ + return static_cast(ptr)->hasOwnProperty(QString::fromUtf8(name.data, name.len)); +} + +char QJSValue_HasProperty(void* ptr, struct QtQml_PackedString name) +{ + return static_cast(ptr)->hasProperty(QString::fromUtf8(name.data, name.len)); +} + +char QJSValue_IsArray(void* ptr) +{ + return static_cast(ptr)->isArray(); +} + +char QJSValue_IsBool(void* ptr) +{ + return static_cast(ptr)->isBool(); +} + +char QJSValue_IsCallable(void* ptr) +{ + return static_cast(ptr)->isCallable(); +} + +char QJSValue_IsDate(void* ptr) +{ + return static_cast(ptr)->isDate(); +} + +char QJSValue_IsError(void* ptr) +{ + return static_cast(ptr)->isError(); +} + +char QJSValue_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QJSValue_IsNumber(void* ptr) +{ + return static_cast(ptr)->isNumber(); +} + +char QJSValue_IsObject(void* ptr) +{ + return static_cast(ptr)->isObject(); +} + +char QJSValue_IsQMetaObject(void* ptr) +{ + return static_cast(ptr)->isQMetaObject(); +} + +char QJSValue_IsQObject(void* ptr) +{ + return static_cast(ptr)->isQObject(); +} + +char QJSValue_IsRegExp(void* ptr) +{ + return static_cast(ptr)->isRegExp(); +} + +char QJSValue_IsString(void* ptr) +{ + return static_cast(ptr)->isString(); +} + +char QJSValue_IsUndefined(void* ptr) +{ + return static_cast(ptr)->isUndefined(); +} + +char QJSValue_IsVariant(void* ptr) +{ + return static_cast(ptr)->isVariant(); +} + +void* QJSValue_Property(void* ptr, struct QtQml_PackedString name) +{ + return new QJSValue(static_cast(ptr)->property(QString::fromUtf8(name.data, name.len))); +} + +void* QJSValue_Property2(void* ptr, unsigned int arrayIndex) +{ + return new QJSValue(static_cast(ptr)->property(arrayIndex)); +} + +void* QJSValue_Prototype(void* ptr) +{ + return new QJSValue(static_cast(ptr)->prototype()); +} + +void QJSValue_SetProperty(void* ptr, struct QtQml_PackedString name, void* value) +{ + static_cast(ptr)->setProperty(QString::fromUtf8(name.data, name.len), *static_cast(value)); +} + +void QJSValue_SetProperty2(void* ptr, unsigned int arrayIndex, void* value) +{ + static_cast(ptr)->setProperty(arrayIndex, *static_cast(value)); +} + +void QJSValue_SetPrototype(void* ptr, void* prototype) +{ + static_cast(ptr)->setPrototype(*static_cast(prototype)); +} + +char QJSValue_StrictlyEquals(void* ptr, void* other) +{ + return static_cast(ptr)->strictlyEquals(*static_cast(other)); +} + +char QJSValue_ToBool(void* ptr) +{ + return static_cast(ptr)->toBool(); +} + +void* QJSValue_ToDateTime(void* ptr) +{ + return new QDateTime(static_cast(ptr)->toDateTime()); +} + +int QJSValue_ToInt(void* ptr) +{ + return static_cast(ptr)->toInt(); +} + +double QJSValue_ToNumber(void* ptr) +{ + return static_cast(ptr)->toNumber(); +} + +void* QJSValue_ToQMetaObject(void* ptr) +{ + return const_cast(static_cast(ptr)->toQMetaObject()); +} + +void* QJSValue_ToQObject(void* ptr) +{ + return static_cast(ptr)->toQObject(); +} + +struct QtQml_PackedString QJSValue_ToString(void* ptr) +{ + return ({ QByteArray t6adf54 = static_cast(ptr)->toString().toUtf8(); QtQml_PackedString { const_cast(t6adf54.prepend("WHITESPACE").constData()+10), t6adf54.size()-10 }; }); +} + +unsigned int QJSValue_ToUInt(void* ptr) +{ + return static_cast(ptr)->toUInt(); +} + +void* QJSValue_ToVariant(void* ptr) +{ + return new QVariant(static_cast(ptr)->toVariant()); +} + +void QJSValue_DestroyQJSValue(void* ptr) +{ + static_cast(ptr)->~QJSValue(); +} + +void* QJSValue___call_args_atList(void* ptr, int i) +{ + return new QJSValue(({QJSValue tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QJSValue___call_args_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QJSValue___call_args_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QJSValue___callAsConstructor_args_atList(void* ptr, int i) +{ + return new QJSValue(({QJSValue tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QJSValue___callAsConstructor_args_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QJSValue___callAsConstructor_args_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QJSValue___callWithInstance_args_atList(void* ptr, int i) +{ + return new QJSValue(({QJSValue tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QJSValue___callWithInstance_args_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QJSValue___callWithInstance_args_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQQmlAbstractUrlInterceptor: public QQmlAbstractUrlInterceptor +{ +public: + MyQQmlAbstractUrlInterceptor() : QQmlAbstractUrlInterceptor() {}; + QUrl intercept(const QUrl & url, QQmlAbstractUrlInterceptor::DataType ty) { return *static_cast(callbackQQmlAbstractUrlInterceptor_Intercept(this, const_cast(&url), ty)); }; + ~MyQQmlAbstractUrlInterceptor() { callbackQQmlAbstractUrlInterceptor_DestroyQQmlAbstractUrlInterceptor(this); }; +}; + +void* QQmlAbstractUrlInterceptor_NewQQmlAbstractUrlInterceptor() +{ + return new MyQQmlAbstractUrlInterceptor(); +} + +void* QQmlAbstractUrlInterceptor_Intercept(void* ptr, void* url, long long ty) +{ + return new QUrl(static_cast(ptr)->intercept(*static_cast(url), static_cast(ty))); +} + +void QQmlAbstractUrlInterceptor_DestroyQQmlAbstractUrlInterceptor(void* ptr) +{ + static_cast(ptr)->~QQmlAbstractUrlInterceptor(); +} + +void QQmlAbstractUrlInterceptor_DestroyQQmlAbstractUrlInterceptorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +class MyQQmlApplicationEngine: public QQmlApplicationEngine +{ +public: + MyQQmlApplicationEngine(QObject *parent = Q_NULLPTR) : QQmlApplicationEngine(parent) {QQmlApplicationEngine_QQmlApplicationEngine_QRegisterMetaType();}; + MyQQmlApplicationEngine(const QUrl &url, QObject *parent = Q_NULLPTR) : QQmlApplicationEngine(url, parent) {QQmlApplicationEngine_QQmlApplicationEngine_QRegisterMetaType();}; + MyQQmlApplicationEngine(const QString &filePath, QObject *parent = Q_NULLPTR) : QQmlApplicationEngine(filePath, parent) {QQmlApplicationEngine_QQmlApplicationEngine_QRegisterMetaType();}; + void load(const QUrl & url) { callbackQQmlApplicationEngine_Load(this, const_cast(&url)); }; + void load(const QString & filePath) { QByteArray t7df503 = filePath.toUtf8(); QtQml_PackedString filePathPacked = { const_cast(t7df503.prepend("WHITESPACE").constData()+10), t7df503.size()-10 };callbackQQmlApplicationEngine_Load2(this, filePathPacked); }; + void loadData(const QByteArray & data, const QUrl & url) { callbackQQmlApplicationEngine_LoadData(this, const_cast(&data), const_cast(&url)); }; + void Signal_ObjectCreated(QObject * object, const QUrl & url) { callbackQQmlApplicationEngine_ObjectCreated(this, object, const_cast(&url)); }; + ~MyQQmlApplicationEngine() { callbackQQmlApplicationEngine_DestroyQQmlApplicationEngine(this); }; + bool event(QEvent * e) { return callbackQJSEngine_Event(this, e) != 0; }; + void Signal_Exit(int retCode) { callbackQQmlEngine_Exit(this, retCode); }; + void Signal_Quit() { callbackQQmlEngine_Quit(this); }; + void retranslate() { callbackQQmlEngine_Retranslate(this); }; + void Signal_Warnings(const QList & warnings) { callbackQQmlEngine_Warnings(this, ({ QList* tmpValuebd207f = new QList(warnings); QtQml_PackedList { tmpValuebd207f, tmpValuebd207f->size() }; })); }; + void childEvent(QChildEvent * event) { callbackQJSEngine_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQJSEngine_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQJSEngine_CustomEvent(this, event); }; + void deleteLater() { callbackQJSEngine_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQJSEngine_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQJSEngine_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQJSEngine_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQJSEngine_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtQml_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQJSEngine_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQJSEngine_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQQmlApplicationEngine*) + +int QQmlApplicationEngine_QQmlApplicationEngine_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QQmlApplicationEngine_NewQQmlApplicationEngine(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(static_cast(parent)); + } else { + return new MyQQmlApplicationEngine(static_cast(parent)); + } +} + +void* QQmlApplicationEngine_NewQQmlApplicationEngine2(void* url, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } else { + return new MyQQmlApplicationEngine(*static_cast(url), static_cast(parent)); + } +} + +void* QQmlApplicationEngine_NewQQmlApplicationEngine3(struct QtQml_PackedString filePath, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } else { + return new MyQQmlApplicationEngine(QString::fromUtf8(filePath.data, filePath.len), static_cast(parent)); + } +} + +void QQmlApplicationEngine_Load(void* ptr, void* url) +{ + QMetaObject::invokeMethod(static_cast(ptr), "load", Q_ARG(const QUrl, *static_cast(url))); +} + +void QQmlApplicationEngine_LoadDefault(void* ptr, void* url) +{ + static_cast(ptr)->QQmlApplicationEngine::load(*static_cast(url)); +} + +void QQmlApplicationEngine_Load2(void* ptr, struct QtQml_PackedString filePath) +{ + QMetaObject::invokeMethod(static_cast(ptr), "load", Q_ARG(const QString, QString::fromUtf8(filePath.data, filePath.len))); +} + +void QQmlApplicationEngine_Load2Default(void* ptr, struct QtQml_PackedString filePath) +{ + static_cast(ptr)->QQmlApplicationEngine::load(QString::fromUtf8(filePath.data, filePath.len)); +} + +void QQmlApplicationEngine_LoadData(void* ptr, void* data, void* url) +{ + QMetaObject::invokeMethod(static_cast(ptr), "loadData", Q_ARG(const QByteArray, *static_cast(data)), Q_ARG(const QUrl, *static_cast(url))); +} + +void QQmlApplicationEngine_LoadDataDefault(void* ptr, void* data, void* url) +{ + static_cast(ptr)->QQmlApplicationEngine::loadData(*static_cast(data), *static_cast(url)); +} + +void QQmlApplicationEngine_ConnectObjectCreated(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QQmlApplicationEngine::objectCreated), static_cast(ptr), static_cast(&MyQQmlApplicationEngine::Signal_ObjectCreated), static_cast(t)); +} + +void QQmlApplicationEngine_DisconnectObjectCreated(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QQmlApplicationEngine::objectCreated), static_cast(ptr), static_cast(&MyQQmlApplicationEngine::Signal_ObjectCreated)); +} + +void QQmlApplicationEngine_ObjectCreated(void* ptr, void* object, void* url) +{ + static_cast(ptr)->objectCreated(static_cast(object), *static_cast(url)); +} + +struct QtQml_PackedList QQmlApplicationEngine_RootObjects(void* ptr) +{ + return ({ QList* tmpValue21875f = new QList(static_cast(ptr)->rootObjects()); QtQml_PackedList { tmpValue21875f, tmpValue21875f->size() }; }); +} + +void QQmlApplicationEngine_DestroyQQmlApplicationEngine(void* ptr) +{ + static_cast(ptr)->~QQmlApplicationEngine(); +} + +void QQmlApplicationEngine_DestroyQQmlApplicationEngineDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QQmlApplicationEngine___rootObjects_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlApplicationEngine___rootObjects_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlApplicationEngine___rootObjects_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQQmlComponent: public QQmlComponent +{ +public: + MyQQmlComponent(QQmlEngine *engine, QObject *parent = Q_NULLPTR) : QQmlComponent(engine, parent) {QQmlComponent_QQmlComponent_QRegisterMetaType();}; + MyQQmlComponent(QQmlEngine *engine, const QString &fileName, QObject *parent = Q_NULLPTR) : QQmlComponent(engine, fileName, parent) {QQmlComponent_QQmlComponent_QRegisterMetaType();}; + MyQQmlComponent(QQmlEngine *engine, const QString &fileName, QQmlComponent::CompilationMode mode, QObject *parent = Q_NULLPTR) : QQmlComponent(engine, fileName, mode, parent) {QQmlComponent_QQmlComponent_QRegisterMetaType();}; + MyQQmlComponent(QQmlEngine *engine, const QUrl &url, QObject *parent = Q_NULLPTR) : QQmlComponent(engine, url, parent) {QQmlComponent_QQmlComponent_QRegisterMetaType();}; + MyQQmlComponent(QQmlEngine *engine, const QUrl &url, QQmlComponent::CompilationMode mode, QObject *parent = Q_NULLPTR) : QQmlComponent(engine, url, mode, parent) {QQmlComponent_QQmlComponent_QRegisterMetaType();}; + QObject * beginCreate(QQmlContext * publicContext) { return static_cast(callbackQQmlComponent_BeginCreate(this, publicContext)); }; + void completeCreate() { callbackQQmlComponent_CompleteCreate(this); }; + QObject * create(QQmlContext * context) { return static_cast(callbackQQmlComponent_Create(this, context)); }; + void loadUrl(const QUrl & url) { callbackQQmlComponent_LoadUrl(this, const_cast(&url)); }; + void loadUrl(const QUrl & url, QQmlComponent::CompilationMode mode) { callbackQQmlComponent_LoadUrl2(this, const_cast(&url), mode); }; + void Signal_ProgressChanged(qreal progress) { callbackQQmlComponent_ProgressChanged(this, progress); }; + void setData(const QByteArray & data, const QUrl & url) { callbackQQmlComponent_SetData(this, const_cast(&data), const_cast(&url)); }; + void Signal_StatusChanged(QQmlComponent::Status status) { callbackQQmlComponent_StatusChanged(this, status); }; + ~MyQQmlComponent() { callbackQQmlComponent_DestroyQQmlComponent(this); }; + void childEvent(QChildEvent * event) { callbackQQmlComponent_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQQmlComponent_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQQmlComponent_CustomEvent(this, event); }; + void deleteLater() { callbackQQmlComponent_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQQmlComponent_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQQmlComponent_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQQmlComponent_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQQmlComponent_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQQmlComponent_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtQml_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQQmlComponent_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQQmlComponent_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQQmlComponent*) + +int QQmlComponent_QQmlComponent_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QQmlComponent_NewQQmlComponent2(void* engine, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } else { + return new MyQQmlComponent(static_cast(engine), static_cast(parent)); + } +} + +void* QQmlComponent_NewQQmlComponent3(void* engine, struct QtQml_PackedString fileName, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } else { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(parent)); + } +} + +void* QQmlComponent_NewQQmlComponent4(void* engine, struct QtQml_PackedString fileName, long long mode, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } else { + return new MyQQmlComponent(static_cast(engine), QString::fromUtf8(fileName.data, fileName.len), static_cast(mode), static_cast(parent)); + } +} + +void* QQmlComponent_NewQQmlComponent5(void* engine, void* url, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } else { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(parent)); + } +} + +void* QQmlComponent_NewQQmlComponent6(void* engine, void* url, long long mode, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } else { + return new MyQQmlComponent(static_cast(engine), *static_cast(url), static_cast(mode), static_cast(parent)); + } +} + +void* QQmlComponent_BeginCreate(void* ptr, void* publicContext) +{ + return static_cast(ptr)->beginCreate(static_cast(publicContext)); +} + +void* QQmlComponent_BeginCreateDefault(void* ptr, void* publicContext) +{ + return static_cast(ptr)->QQmlComponent::beginCreate(static_cast(publicContext)); +} + +void QQmlComponent_CompleteCreate(void* ptr) +{ + static_cast(ptr)->completeCreate(); +} + +void QQmlComponent_CompleteCreateDefault(void* ptr) +{ + static_cast(ptr)->QQmlComponent::completeCreate(); +} + +void* QQmlComponent_Create(void* ptr, void* context) +{ + return static_cast(ptr)->create(static_cast(context)); +} + +void* QQmlComponent_CreateDefault(void* ptr, void* context) +{ + return static_cast(ptr)->QQmlComponent::create(static_cast(context)); +} + +void QQmlComponent_Create2(void* ptr, void* incubator, void* context, void* forContext) +{ + static_cast(ptr)->create(*static_cast(incubator), static_cast(context), static_cast(forContext)); +} + +void* QQmlComponent_CreationContext(void* ptr) +{ + return static_cast(ptr)->creationContext(); +} + +void* QQmlComponent_Engine(void* ptr) +{ + return static_cast(ptr)->engine(); +} + +struct QtQml_PackedList QQmlComponent_Errors(void* ptr) +{ + return ({ QList* tmpValue422633 = new QList(static_cast(ptr)->errors()); QtQml_PackedList { tmpValue422633, tmpValue422633->size() }; }); +} + +char QQmlComponent_IsError(void* ptr) +{ + return static_cast(ptr)->isError(); +} + +char QQmlComponent_IsLoading(void* ptr) +{ + return static_cast(ptr)->isLoading(); +} + +char QQmlComponent_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QQmlComponent_IsReady(void* ptr) +{ + return static_cast(ptr)->isReady(); +} + +void QQmlComponent_LoadUrl(void* ptr, void* url) +{ + QMetaObject::invokeMethod(static_cast(ptr), "loadUrl", Q_ARG(const QUrl, *static_cast(url))); +} + +void QQmlComponent_LoadUrlDefault(void* ptr, void* url) +{ + static_cast(ptr)->QQmlComponent::loadUrl(*static_cast(url)); +} + +void QQmlComponent_LoadUrl2(void* ptr, void* url, long long mode) +{ + qRegisterMetaType(); + QMetaObject::invokeMethod(static_cast(ptr), "loadUrl", Q_ARG(const QUrl, *static_cast(url)), Q_ARG(QQmlComponent::CompilationMode, static_cast(mode))); +} + +void QQmlComponent_LoadUrl2Default(void* ptr, void* url, long long mode) +{ + static_cast(ptr)->QQmlComponent::loadUrl(*static_cast(url), static_cast(mode)); +} + +double QQmlComponent_Progress(void* ptr) +{ + return static_cast(ptr)->progress(); +} + +void QQmlComponent_ConnectProgressChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QQmlComponent::progressChanged), static_cast(ptr), static_cast(&MyQQmlComponent::Signal_ProgressChanged), static_cast(t)); +} + +void QQmlComponent_DisconnectProgressChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QQmlComponent::progressChanged), static_cast(ptr), static_cast(&MyQQmlComponent::Signal_ProgressChanged)); +} + +void QQmlComponent_ProgressChanged(void* ptr, double progress) +{ + static_cast(ptr)->progressChanged(progress); +} + +void QQmlComponent_SetData(void* ptr, void* data, void* url) +{ + QMetaObject::invokeMethod(static_cast(ptr), "setData", Q_ARG(const QByteArray, *static_cast(data)), Q_ARG(const QUrl, *static_cast(url))); +} + +void QQmlComponent_SetDataDefault(void* ptr, void* data, void* url) +{ + static_cast(ptr)->QQmlComponent::setData(*static_cast(data), *static_cast(url)); +} + +long long QQmlComponent_Status(void* ptr) +{ + return static_cast(ptr)->status(); +} + +void QQmlComponent_ConnectStatusChanged(void* ptr, long long t) +{ + qRegisterMetaType(); + QObject::connect(static_cast(ptr), static_cast(&QQmlComponent::statusChanged), static_cast(ptr), static_cast(&MyQQmlComponent::Signal_StatusChanged), static_cast(t)); +} + +void QQmlComponent_DisconnectStatusChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QQmlComponent::statusChanged), static_cast(ptr), static_cast(&MyQQmlComponent::Signal_StatusChanged)); +} + +void QQmlComponent_StatusChanged(void* ptr, long long status) +{ + static_cast(ptr)->statusChanged(static_cast(status)); +} + +void* QQmlComponent_Url(void* ptr) +{ + return new QUrl(static_cast(ptr)->url()); +} + +void QQmlComponent_DestroyQQmlComponent(void* ptr) +{ + static_cast(ptr)->~QQmlComponent(); +} + +void QQmlComponent_DestroyQQmlComponentDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QQmlComponent___errors_atList(void* ptr, int i) +{ + return new QQmlError(({QQmlError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlComponent___errors_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlComponent___errors_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlComponent___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlComponent___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlComponent___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlComponent___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlComponent___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlComponent___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlComponent___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlComponent___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlComponent___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlComponent___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlComponent___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlComponent___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlComponent___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlComponent___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlComponent___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QQmlComponent_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlComponent::childEvent(static_cast(event)); +} + +void QQmlComponent_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlComponent::connectNotify(*static_cast(sign)); +} + +void QQmlComponent_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlComponent::customEvent(static_cast(event)); +} + +void QQmlComponent_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QQmlComponent::deleteLater(); +} + +void QQmlComponent_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlComponent::disconnectNotify(*static_cast(sign)); +} + +char QQmlComponent_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QQmlComponent::event(static_cast(e)); +} + +char QQmlComponent_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QQmlComponent::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QQmlComponent_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QQmlComponent::metaObject()); +} + +void QQmlComponent_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlComponent::timerEvent(static_cast(event)); +} + +class MyQQmlContext: public QQmlContext +{ +public: + MyQQmlContext(QQmlEngine *engine, QObject *parent = Q_NULLPTR) : QQmlContext(engine, parent) {QQmlContext_QQmlContext_QRegisterMetaType();}; + MyQQmlContext(QQmlContext *parentContext, QObject *parent = Q_NULLPTR) : QQmlContext(parentContext, parent) {QQmlContext_QQmlContext_QRegisterMetaType();}; + ~MyQQmlContext() { callbackQQmlContext_DestroyQQmlContext(this); }; + void childEvent(QChildEvent * event) { callbackQQmlContext_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQQmlContext_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQQmlContext_CustomEvent(this, event); }; + void deleteLater() { callbackQQmlContext_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQQmlContext_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQQmlContext_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQQmlContext_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQQmlContext_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQQmlContext_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtQml_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQQmlContext_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQQmlContext_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQQmlContext*) + +int QQmlContext_QQmlContext_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QQmlContext_NewQQmlContext(void* engine, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } else { + return new MyQQmlContext(static_cast(engine), static_cast(parent)); + } +} + +void* QQmlContext_NewQQmlContext2(void* parentContext, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } else { + return new MyQQmlContext(static_cast(parentContext), static_cast(parent)); + } +} + +void* QQmlContext_BaseUrl(void* ptr) +{ + return new QUrl(static_cast(ptr)->baseUrl()); +} + +void* QQmlContext_ContextObject(void* ptr) +{ + return static_cast(ptr)->contextObject(); +} + +void* QQmlContext_ContextProperty(void* ptr, struct QtQml_PackedString name) +{ + return new QVariant(static_cast(ptr)->contextProperty(QString::fromUtf8(name.data, name.len))); +} + +void* QQmlContext_Engine(void* ptr) +{ + return static_cast(ptr)->engine(); +} + +char QQmlContext_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +struct QtQml_PackedString QQmlContext_NameForObject(void* ptr, void* object) +{ + return ({ QByteArray t183ce4 = static_cast(ptr)->nameForObject(static_cast(object)).toUtf8(); QtQml_PackedString { const_cast(t183ce4.prepend("WHITESPACE").constData()+10), t183ce4.size()-10 }; }); +} + +void* QQmlContext_ParentContext(void* ptr) +{ + return static_cast(ptr)->parentContext(); +} + +void* QQmlContext_ResolvedUrl(void* ptr, void* src) +{ + return new QUrl(static_cast(ptr)->resolvedUrl(*static_cast(src))); +} + +void QQmlContext_SetBaseUrl(void* ptr, void* baseUrl) +{ + static_cast(ptr)->setBaseUrl(*static_cast(baseUrl)); +} + +void QQmlContext_SetContextObject(void* ptr, void* object) +{ + static_cast(ptr)->setContextObject(static_cast(object)); +} + +void QQmlContext_SetContextProperty(void* ptr, struct QtQml_PackedString name, void* value) +{ + static_cast(ptr)->setContextProperty(QString::fromUtf8(name.data, name.len), static_cast(value)); +} + +void QQmlContext_SetContextProperty2(void* ptr, struct QtQml_PackedString name, void* value) +{ + static_cast(ptr)->setContextProperty(QString::fromUtf8(name.data, name.len), *static_cast(value)); +} + +void QQmlContext_DestroyQQmlContext(void* ptr) +{ + static_cast(ptr)->~QQmlContext(); +} + +void QQmlContext_DestroyQQmlContextDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QQmlContext___setContextProperties_properties_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QVector(); +} + +void* QQmlContext___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlContext___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlContext___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlContext___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlContext___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlContext___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlContext___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlContext___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlContext___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlContext___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlContext___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlContext___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlContext___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlContext___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlContext___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QQmlContext_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlContext::childEvent(static_cast(event)); +} + +void QQmlContext_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlContext::connectNotify(*static_cast(sign)); +} + +void QQmlContext_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlContext::customEvent(static_cast(event)); +} + +void QQmlContext_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QQmlContext::deleteLater(); +} + +void QQmlContext_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlContext::disconnectNotify(*static_cast(sign)); +} + +char QQmlContext_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QQmlContext::event(static_cast(e)); +} + +char QQmlContext_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QQmlContext::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QQmlContext_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QQmlContext::metaObject()); +} + +void QQmlContext_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlContext::timerEvent(static_cast(event)); +} + +char QQmlDebuggingEnabler_QQmlDebuggingEnabler_ConnectToLocalDebugger(struct QtQml_PackedString socketFileName, long long mode) +{ + return QQmlDebuggingEnabler::connectToLocalDebugger(QString::fromUtf8(socketFileName.data, socketFileName.len), static_cast(mode)); +} + +struct QtQml_PackedString QQmlDebuggingEnabler_QQmlDebuggingEnabler_DebuggerServices() +{ + return ({ QByteArray t58b262 = QQmlDebuggingEnabler::debuggerServices().join("¡¦!").toUtf8(); QtQml_PackedString { const_cast(t58b262.prepend("WHITESPACE").constData()+10), t58b262.size()-10 }; }); +} + +struct QtQml_PackedString QQmlDebuggingEnabler_QQmlDebuggingEnabler_InspectorServices() +{ + return ({ QByteArray tb2e16d = QQmlDebuggingEnabler::inspectorServices().join("¡¦!").toUtf8(); QtQml_PackedString { const_cast(tb2e16d.prepend("WHITESPACE").constData()+10), tb2e16d.size()-10 }; }); +} + +struct QtQml_PackedString QQmlDebuggingEnabler_QQmlDebuggingEnabler_NativeDebuggerServices() +{ + return ({ QByteArray taecf14 = QQmlDebuggingEnabler::nativeDebuggerServices().join("¡¦!").toUtf8(); QtQml_PackedString { const_cast(taecf14.prepend("WHITESPACE").constData()+10), taecf14.size()-10 }; }); +} + +struct QtQml_PackedString QQmlDebuggingEnabler_QQmlDebuggingEnabler_ProfilerServices() +{ + return ({ QByteArray te324c3 = QQmlDebuggingEnabler::profilerServices().join("¡¦!").toUtf8(); QtQml_PackedString { const_cast(te324c3.prepend("WHITESPACE").constData()+10), te324c3.size()-10 }; }); +} + +void QQmlDebuggingEnabler_QQmlDebuggingEnabler_SetServices(struct QtQml_PackedString services) +{ + QQmlDebuggingEnabler::setServices(QString::fromUtf8(services.data, services.len).split("¡¦!", QString::SkipEmptyParts)); +} + +char QQmlDebuggingEnabler_QQmlDebuggingEnabler_StartDebugConnector(struct QtQml_PackedString pluginName, void* configuration) +{ + return QQmlDebuggingEnabler::startDebugConnector(QString::fromUtf8(pluginName.data, pluginName.len), ({ QHash* tmpP = static_cast*>(configuration); QHash tmpV = *tmpP; tmpP->~QHash(); free(tmpP); tmpV; })); +} + +char QQmlDebuggingEnabler_QQmlDebuggingEnabler_StartTcpDebugServer(int port, long long mode, struct QtQml_PackedString hostName) +{ + return QQmlDebuggingEnabler::startTcpDebugServer(port, static_cast(mode), QString::fromUtf8(hostName.data, hostName.len)); +} + +void* QQmlDebuggingEnabler___startDebugConnector_configuration_atList(void* ptr, struct QtQml_PackedString v, int i) +{ + return new QVariant(({ QVariant tmp = static_cast*>(ptr)->value(QString::fromUtf8(v.data, v.len)); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QHash(); free(ptr); }; tmp; })); +} + +void QQmlDebuggingEnabler___startDebugConnector_configuration_setList(void* ptr, struct QtQml_PackedString key, void* i) +{ + static_cast*>(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(i)); +} + +void* QQmlDebuggingEnabler___startDebugConnector_configuration_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QHash(); +} + +struct QtQml_PackedList QQmlDebuggingEnabler___startDebugConnector_configuration_keyList(void* ptr) +{ + return ({ QList* tmpValuef43bc5 = new QList(static_cast*>(ptr)->keys()); QtQml_PackedList { tmpValuef43bc5, tmpValuef43bc5->size() }; }); +} + +struct QtQml_PackedString QQmlDebuggingEnabler_____startDebugConnector_configuration_keyList_atList(void* ptr, int i) +{ + return ({ QByteArray t94aa5e = ({QString tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }).toUtf8(); QtQml_PackedString { const_cast(t94aa5e.prepend("WHITESPACE").constData()+10), t94aa5e.size()-10 }; }); +} + +void QQmlDebuggingEnabler_____startDebugConnector_configuration_keyList_setList(void* ptr, struct QtQml_PackedString i) +{ + static_cast*>(ptr)->append(QString::fromUtf8(i.data, i.len)); +} + +void* QQmlDebuggingEnabler_____startDebugConnector_configuration_keyList_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +class MyQQmlEngine: public QQmlEngine +{ +public: + MyQQmlEngine(QObject *parent = Q_NULLPTR) : QQmlEngine(parent) {QQmlEngine_QQmlEngine_QRegisterMetaType();}; + bool event(QEvent * e) { return callbackQJSEngine_Event(this, e) != 0; }; + void Signal_Exit(int retCode) { callbackQQmlEngine_Exit(this, retCode); }; + void Signal_Quit() { callbackQQmlEngine_Quit(this); }; + void retranslate() { callbackQQmlEngine_Retranslate(this); }; + void Signal_Warnings(const QList & warnings) { callbackQQmlEngine_Warnings(this, ({ QList* tmpValuebd207f = new QList(warnings); QtQml_PackedList { tmpValuebd207f, tmpValuebd207f->size() }; })); }; + ~MyQQmlEngine() { callbackQQmlEngine_DestroyQQmlEngine(this); }; + void childEvent(QChildEvent * event) { callbackQJSEngine_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQJSEngine_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQJSEngine_CustomEvent(this, event); }; + void deleteLater() { callbackQJSEngine_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQJSEngine_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQJSEngine_DisconnectNotify(this, const_cast(&sign)); }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQJSEngine_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQJSEngine_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtQml_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQJSEngine_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQJSEngine_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQQmlEngine*) + +int QQmlEngine_QQmlEngine_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QQmlEngine_NewQQmlEngine(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlEngine(static_cast(parent)); + } else { + return new MyQQmlEngine(static_cast(parent)); + } +} + +void QQmlEngine_AddImageProvider(void* ptr, struct QtQml_PackedString providerId, void* provider) +{ + static_cast(ptr)->addImageProvider(QString::fromUtf8(providerId.data, providerId.len), static_cast(provider)); +} + +void QQmlEngine_AddImportPath(void* ptr, struct QtQml_PackedString path) +{ + static_cast(ptr)->addImportPath(QString::fromUtf8(path.data, path.len)); +} + +void QQmlEngine_AddPluginPath(void* ptr, struct QtQml_PackedString path) +{ + static_cast(ptr)->addPluginPath(QString::fromUtf8(path.data, path.len)); +} + +void* QQmlEngine_BaseUrl(void* ptr) +{ + return new QUrl(static_cast(ptr)->baseUrl()); +} + +void QQmlEngine_ClearComponentCache(void* ptr) +{ + static_cast(ptr)->clearComponentCache(); +} + +void* QQmlEngine_QQmlEngine_ContextForObject(void* object) +{ + return QQmlEngine::contextForObject(static_cast(object)); +} + +void QQmlEngine_ConnectExit(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QQmlEngine::exit), static_cast(ptr), static_cast(&MyQQmlEngine::Signal_Exit), static_cast(t)); +} + +void QQmlEngine_DisconnectExit(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QQmlEngine::exit), static_cast(ptr), static_cast(&MyQQmlEngine::Signal_Exit)); +} + +void QQmlEngine_Exit(void* ptr, int retCode) +{ + static_cast(ptr)->exit(retCode); +} + +void* QQmlEngine_ImageProvider(void* ptr, struct QtQml_PackedString providerId) +{ + return static_cast(ptr)->imageProvider(QString::fromUtf8(providerId.data, providerId.len)); +} + +struct QtQml_PackedString QQmlEngine_ImportPathList(void* ptr) +{ + return ({ QByteArray t32e5da = static_cast(ptr)->importPathList().join("¡¦!").toUtf8(); QtQml_PackedString { const_cast(t32e5da.prepend("WHITESPACE").constData()+10), t32e5da.size()-10 }; }); +} + +char QQmlEngine_ImportPlugin(void* ptr, struct QtQml_PackedString filePath, struct QtQml_PackedString uri, void* errors) +{ + return static_cast(ptr)->importPlugin(QString::fromUtf8(filePath.data, filePath.len), QString::fromUtf8(uri.data, uri.len), static_cast*>(errors)); +} + +void* QQmlEngine_IncubationController(void* ptr) +{ + return static_cast(ptr)->incubationController(); +} + +void* QQmlEngine_NetworkAccessManager(void* ptr) +{ + return static_cast(ptr)->networkAccessManager(); +} + +void* QQmlEngine_NetworkAccessManagerFactory(void* ptr) +{ + return static_cast(ptr)->networkAccessManagerFactory(); +} + +long long QQmlEngine_QQmlEngine_ObjectOwnership(void* object) +{ + return QQmlEngine::objectOwnership(static_cast(object)); +} + +struct QtQml_PackedString QQmlEngine_OfflineStorageDatabaseFilePath(void* ptr, struct QtQml_PackedString databaseName) +{ + return ({ QByteArray t7b641b = static_cast(ptr)->offlineStorageDatabaseFilePath(QString::fromUtf8(databaseName.data, databaseName.len)).toUtf8(); QtQml_PackedString { const_cast(t7b641b.prepend("WHITESPACE").constData()+10), t7b641b.size()-10 }; }); +} + +struct QtQml_PackedString QQmlEngine_OfflineStoragePath(void* ptr) +{ + return ({ QByteArray t6f33d6 = static_cast(ptr)->offlineStoragePath().toUtf8(); QtQml_PackedString { const_cast(t6f33d6.prepend("WHITESPACE").constData()+10), t6f33d6.size()-10 }; }); +} + +char QQmlEngine_OutputWarningsToStandardError(void* ptr) +{ + return static_cast(ptr)->outputWarningsToStandardError(); +} + +struct QtQml_PackedString QQmlEngine_PluginPathList(void* ptr) +{ + return ({ QByteArray t04b834 = static_cast(ptr)->pluginPathList().join("¡¦!").toUtf8(); QtQml_PackedString { const_cast(t04b834.prepend("WHITESPACE").constData()+10), t04b834.size()-10 }; }); +} + +void QQmlEngine_ConnectQuit(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QQmlEngine::quit), static_cast(ptr), static_cast(&MyQQmlEngine::Signal_Quit), static_cast(t)); +} + +void QQmlEngine_DisconnectQuit(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QQmlEngine::quit), static_cast(ptr), static_cast(&MyQQmlEngine::Signal_Quit)); +} + +void QQmlEngine_Quit(void* ptr) +{ + static_cast(ptr)->quit(); +} + +void QQmlEngine_RemoveImageProvider(void* ptr, struct QtQml_PackedString providerId) +{ + static_cast(ptr)->removeImageProvider(QString::fromUtf8(providerId.data, providerId.len)); +} + +void QQmlEngine_Retranslate(void* ptr) +{ + QMetaObject::invokeMethod(static_cast(ptr), "retranslate"); +} + +void QQmlEngine_RetranslateDefault(void* ptr) +{ + if (dynamic_cast(static_cast(ptr))) { + static_cast(ptr)->QQmlApplicationEngine::retranslate(); + } else { + static_cast(ptr)->QQmlEngine::retranslate(); + } +} + +void* QQmlEngine_RootContext(void* ptr) +{ + return static_cast(ptr)->rootContext(); +} + +void QQmlEngine_SetBaseUrl(void* ptr, void* url) +{ + static_cast(ptr)->setBaseUrl(*static_cast(url)); +} + +void QQmlEngine_QQmlEngine_SetContextForObject(void* object, void* context) +{ + QQmlEngine::setContextForObject(static_cast(object), static_cast(context)); +} + +void QQmlEngine_SetImportPathList(void* ptr, struct QtQml_PackedString paths) +{ + static_cast(ptr)->setImportPathList(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QQmlEngine_SetIncubationController(void* ptr, void* controller) +{ + static_cast(ptr)->setIncubationController(static_cast(controller)); +} + +void QQmlEngine_SetNetworkAccessManagerFactory(void* ptr, void* factory) +{ + static_cast(ptr)->setNetworkAccessManagerFactory(static_cast(factory)); +} + +void QQmlEngine_QQmlEngine_SetObjectOwnership(void* object, long long ownership) +{ + QQmlEngine::setObjectOwnership(static_cast(object), static_cast(ownership)); +} + +void QQmlEngine_SetOfflineStoragePath(void* ptr, struct QtQml_PackedString dir) +{ + static_cast(ptr)->setOfflineStoragePath(QString::fromUtf8(dir.data, dir.len)); +} + +void QQmlEngine_SetOutputWarningsToStandardError(void* ptr, char enabled) +{ + static_cast(ptr)->setOutputWarningsToStandardError(enabled != 0); +} + +void QQmlEngine_SetPluginPathList(void* ptr, struct QtQml_PackedString paths) +{ + static_cast(ptr)->setPluginPathList(QString::fromUtf8(paths.data, paths.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QQmlEngine_TrimComponentCache(void* ptr) +{ + static_cast(ptr)->trimComponentCache(); +} + +void QQmlEngine_ConnectWarnings(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast &)>(&QQmlEngine::warnings), static_cast(ptr), static_cast &)>(&MyQQmlEngine::Signal_Warnings), static_cast(t)); +} + +void QQmlEngine_DisconnectWarnings(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast &)>(&QQmlEngine::warnings), static_cast(ptr), static_cast &)>(&MyQQmlEngine::Signal_Warnings)); +} + +void QQmlEngine_Warnings(void* ptr, void* warnings) +{ + static_cast(ptr)->warnings(*static_cast*>(warnings)); +} + +void QQmlEngine_DestroyQQmlEngine(void* ptr) +{ + static_cast(ptr)->~QQmlEngine(); +} + +void QQmlEngine_DestroyQQmlEngineDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +int QQmlEngine_QQmlEngine_QmlRegisterSingletonType(void* url, char* uri, int versionMajor, int versionMinor, char* qmlName) +{ + return qmlRegisterSingletonType(*static_cast(url), const_cast(uri), versionMajor, versionMinor, const_cast(qmlName)); +} + +int QQmlEngine_QQmlEngine_QmlRegisterType(void* url, char* uri, int versionMajor, int versionMinor, char* qmlName) +{ + return qmlRegisterType(*static_cast(url), const_cast(uri), versionMajor, versionMinor, const_cast(qmlName)); +} + +void* QQmlEngine___importPlugin_errors_atList(void* ptr, int i) +{ + return new QQmlError(({QQmlError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlEngine___importPlugin_errors_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlEngine___importPlugin_errors_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlEngine___qmlDebug_errors_atList3(void* ptr, int i) +{ + return new QQmlError(({QQmlError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlEngine___qmlDebug_errors_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlEngine___qmlDebug_errors_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlEngine___qmlInfo_errors_atList3(void* ptr, int i) +{ + return new QQmlError(({QQmlError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlEngine___qmlInfo_errors_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlEngine___qmlInfo_errors_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlEngine___qmlWarning_errors_atList3(void* ptr, int i) +{ + return new QQmlError(({QQmlError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlEngine___qmlWarning_errors_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlEngine___qmlWarning_errors_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlEngine___warnings_warnings_atList(void* ptr, int i) +{ + return new QQmlError(({QQmlError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlEngine___warnings_warnings_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlEngine___warnings_warnings_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlError_NewQQmlError() +{ + return new QQmlError(); +} + +void* QQmlError_NewQQmlError2(void* other) +{ + return new QQmlError(*static_cast(other)); +} + +int QQmlError_Column(void* ptr) +{ + return static_cast(ptr)->column(); +} + +struct QtQml_PackedString QQmlError_Description(void* ptr) +{ + return ({ QByteArray tff8552 = static_cast(ptr)->description().toUtf8(); QtQml_PackedString { const_cast(tff8552.prepend("WHITESPACE").constData()+10), tff8552.size()-10 }; }); +} + +char QQmlError_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +int QQmlError_Line(void* ptr) +{ + return static_cast(ptr)->line(); +} + +void* QQmlError_Object(void* ptr) +{ + return static_cast(ptr)->object(); +} + +void QQmlError_SetColumn(void* ptr, int column) +{ + static_cast(ptr)->setColumn(column); +} + +void QQmlError_SetDescription(void* ptr, struct QtQml_PackedString description) +{ + static_cast(ptr)->setDescription(QString::fromUtf8(description.data, description.len)); +} + +void QQmlError_SetLine(void* ptr, int line) +{ + static_cast(ptr)->setLine(line); +} + +void QQmlError_SetObject(void* ptr, void* object) +{ + static_cast(ptr)->setObject(static_cast(object)); +} + +void QQmlError_SetUrl(void* ptr, void* url) +{ + static_cast(ptr)->setUrl(*static_cast(url)); +} + +struct QtQml_PackedString QQmlError_ToString(void* ptr) +{ + return ({ QByteArray t77ab7b = static_cast(ptr)->toString().toUtf8(); QtQml_PackedString { const_cast(t77ab7b.prepend("WHITESPACE").constData()+10), t77ab7b.size()-10 }; }); +} + +void* QQmlError_Url(void* ptr) +{ + return new QUrl(static_cast(ptr)->url()); +} + +class MyQQmlExpression: public QQmlExpression +{ +public: + MyQQmlExpression() : QQmlExpression() {QQmlExpression_QQmlExpression_QRegisterMetaType();}; + MyQQmlExpression(QQmlContext *ctxt, QObject *scope, const QString &expression, QObject *parent = Q_NULLPTR) : QQmlExpression(ctxt, scope, expression, parent) {QQmlExpression_QQmlExpression_QRegisterMetaType();}; + MyQQmlExpression(const QQmlScriptString &scri, QQmlContext *ctxt = Q_NULLPTR, QObject *scope = Q_NULLPTR, QObject *parent = Q_NULLPTR) : QQmlExpression(scri, ctxt, scope, parent) {QQmlExpression_QQmlExpression_QRegisterMetaType();}; + void Signal_ValueChanged() { callbackQQmlExpression_ValueChanged(this); }; + ~MyQQmlExpression() { callbackQQmlExpression_DestroyQQmlExpression(this); }; + void childEvent(QChildEvent * event) { callbackQQmlExpression_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQQmlExpression_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQQmlExpression_CustomEvent(this, event); }; + void deleteLater() { callbackQQmlExpression_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQQmlExpression_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQQmlExpression_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQQmlExpression_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQQmlExpression_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQQmlExpression_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtQml_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQQmlExpression_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQQmlExpression_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQQmlExpression*) + +int QQmlExpression_QQmlExpression_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QQmlExpression_NewQQmlExpression() +{ + return new MyQQmlExpression(); +} + +void* QQmlExpression_NewQQmlExpression2(void* ctxt, void* scope, struct QtQml_PackedString expression, void* parent) +{ + if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } else { + return new MyQQmlExpression(static_cast(ctxt), static_cast(scope), QString::fromUtf8(expression.data, expression.len), static_cast(parent)); + } +} + +void* QQmlExpression_NewQQmlExpression3(void* scri, void* ctxt, void* scope, void* parent) +{ + if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else if (dynamic_cast(static_cast(scope))) { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } else { + return new MyQQmlExpression(*static_cast(scri), static_cast(ctxt), static_cast(scope), static_cast(parent)); + } +} + +void QQmlExpression_ClearError(void* ptr) +{ + static_cast(ptr)->clearError(); +} + +int QQmlExpression_ColumnNumber(void* ptr) +{ + return static_cast(ptr)->columnNumber(); +} + +void* QQmlExpression_Context(void* ptr) +{ + return static_cast(ptr)->context(); +} + +void* QQmlExpression_Engine(void* ptr) +{ + return static_cast(ptr)->engine(); +} + +void* QQmlExpression_Error(void* ptr) +{ + return new QQmlError(static_cast(ptr)->error()); +} + +void* QQmlExpression_Evaluate(void* ptr, char* valueIsUndefined) +{ + return new QVariant(static_cast(ptr)->evaluate(reinterpret_cast(valueIsUndefined))); +} + +struct QtQml_PackedString QQmlExpression_Expression(void* ptr) +{ + return ({ QByteArray t1c3c3e = static_cast(ptr)->expression().toUtf8(); QtQml_PackedString { const_cast(t1c3c3e.prepend("WHITESPACE").constData()+10), t1c3c3e.size()-10 }; }); +} + +char QQmlExpression_HasError(void* ptr) +{ + return static_cast(ptr)->hasError(); +} + +int QQmlExpression_LineNumber(void* ptr) +{ + return static_cast(ptr)->lineNumber(); +} + +char QQmlExpression_NotifyOnValueChanged(void* ptr) +{ + return static_cast(ptr)->notifyOnValueChanged(); +} + +void* QQmlExpression_ScopeObject(void* ptr) +{ + return static_cast(ptr)->scopeObject(); +} + +void QQmlExpression_SetExpression(void* ptr, struct QtQml_PackedString expression) +{ + static_cast(ptr)->setExpression(QString::fromUtf8(expression.data, expression.len)); +} + +void QQmlExpression_SetNotifyOnValueChanged(void* ptr, char notifyOnChange) +{ + static_cast(ptr)->setNotifyOnValueChanged(notifyOnChange != 0); +} + +void QQmlExpression_SetSourceLocation(void* ptr, struct QtQml_PackedString url, int line, int column) +{ + static_cast(ptr)->setSourceLocation(QString::fromUtf8(url.data, url.len), line, column); +} + +struct QtQml_PackedString QQmlExpression_SourceFile(void* ptr) +{ + return ({ QByteArray t4b188b = static_cast(ptr)->sourceFile().toUtf8(); QtQml_PackedString { const_cast(t4b188b.prepend("WHITESPACE").constData()+10), t4b188b.size()-10 }; }); +} + +void QQmlExpression_ConnectValueChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QQmlExpression::valueChanged), static_cast(ptr), static_cast(&MyQQmlExpression::Signal_ValueChanged), static_cast(t)); +} + +void QQmlExpression_DisconnectValueChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QQmlExpression::valueChanged), static_cast(ptr), static_cast(&MyQQmlExpression::Signal_ValueChanged)); +} + +void QQmlExpression_ValueChanged(void* ptr) +{ + static_cast(ptr)->valueChanged(); +} + +void QQmlExpression_DestroyQQmlExpression(void* ptr) +{ + static_cast(ptr)->~QQmlExpression(); +} + +void QQmlExpression_DestroyQQmlExpressionDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QQmlExpression___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlExpression___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlExpression___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlExpression___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlExpression___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlExpression___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlExpression___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlExpression___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlExpression___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlExpression___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlExpression___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlExpression___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlExpression___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlExpression___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlExpression___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QQmlExpression_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlExpression::childEvent(static_cast(event)); +} + +void QQmlExpression_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlExpression::connectNotify(*static_cast(sign)); +} + +void QQmlExpression_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlExpression::customEvent(static_cast(event)); +} + +void QQmlExpression_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QQmlExpression::deleteLater(); +} + +void QQmlExpression_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlExpression::disconnectNotify(*static_cast(sign)); +} + +char QQmlExpression_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QQmlExpression::event(static_cast(e)); +} + +char QQmlExpression_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QQmlExpression::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QQmlExpression_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QQmlExpression::metaObject()); +} + +void QQmlExpression_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlExpression::timerEvent(static_cast(event)); +} + +class MyQQmlExtensionPlugin: public QQmlExtensionPlugin +{ +public: + MyQQmlExtensionPlugin(QObject *parent = Q_NULLPTR) : QQmlExtensionPlugin(parent) {QQmlExtensionPlugin_QQmlExtensionPlugin_QRegisterMetaType();}; + void initializeEngine(QQmlEngine * engine, const char * uri) { QtQml_PackedString uriPacked = { const_cast(uri), -1 };callbackQQmlExtensionPlugin_InitializeEngine(this, engine, uriPacked); }; + void registerTypes(const char * uri) { QtQml_PackedString uriPacked = { const_cast(uri), -1 };callbackQQmlExtensionPlugin_RegisterTypes(this, uriPacked); }; + void childEvent(QChildEvent * event) { callbackQQmlExtensionPlugin_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQQmlExtensionPlugin_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQQmlExtensionPlugin_CustomEvent(this, event); }; + void deleteLater() { callbackQQmlExtensionPlugin_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQQmlExtensionPlugin_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQQmlExtensionPlugin_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQQmlExtensionPlugin_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQQmlExtensionPlugin_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQQmlExtensionPlugin_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtQml_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQQmlExtensionPlugin_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQQmlExtensionPlugin_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQQmlExtensionPlugin*) + +int QQmlExtensionPlugin_QQmlExtensionPlugin_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QQmlExtensionPlugin_NewQQmlExtensionPlugin(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } else { + return new MyQQmlExtensionPlugin(static_cast(parent)); + } +} + +void* QQmlExtensionPlugin_BaseUrl(void* ptr) +{ + return new QUrl(static_cast(ptr)->baseUrl()); +} + +void QQmlExtensionPlugin_InitializeEngine(void* ptr, void* engine, char* uri) +{ + static_cast(ptr)->initializeEngine(static_cast(engine), const_cast(uri)); +} + +void QQmlExtensionPlugin_InitializeEngineDefault(void* ptr, void* engine, char* uri) +{ + static_cast(ptr)->QQmlExtensionPlugin::initializeEngine(static_cast(engine), const_cast(uri)); +} + +void QQmlExtensionPlugin_RegisterTypes(void* ptr, char* uri) +{ + static_cast(ptr)->registerTypes(const_cast(uri)); +} + +void* QQmlExtensionPlugin___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlExtensionPlugin___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlExtensionPlugin___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlExtensionPlugin___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlExtensionPlugin___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlExtensionPlugin___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlExtensionPlugin___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlExtensionPlugin___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlExtensionPlugin___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlExtensionPlugin___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlExtensionPlugin___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlExtensionPlugin___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlExtensionPlugin___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlExtensionPlugin___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlExtensionPlugin___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QQmlExtensionPlugin_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlExtensionPlugin::childEvent(static_cast(event)); +} + +void QQmlExtensionPlugin_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlExtensionPlugin::connectNotify(*static_cast(sign)); +} + +void QQmlExtensionPlugin_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlExtensionPlugin::customEvent(static_cast(event)); +} + +void QQmlExtensionPlugin_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QQmlExtensionPlugin::deleteLater(); +} + +void QQmlExtensionPlugin_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlExtensionPlugin::disconnectNotify(*static_cast(sign)); +} + +char QQmlExtensionPlugin_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QQmlExtensionPlugin::event(static_cast(e)); +} + +char QQmlExtensionPlugin_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QQmlExtensionPlugin::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QQmlExtensionPlugin_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QQmlExtensionPlugin::metaObject()); +} + +void QQmlExtensionPlugin_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlExtensionPlugin::timerEvent(static_cast(event)); +} + +class MyQQmlFileSelector: public QQmlFileSelector +{ +public: + MyQQmlFileSelector(QQmlEngine *engine, QObject *parent = Q_NULLPTR) : QQmlFileSelector(engine, parent) {QQmlFileSelector_QQmlFileSelector_QRegisterMetaType();}; + ~MyQQmlFileSelector() { callbackQQmlFileSelector_DestroyQQmlFileSelector(this); }; + void childEvent(QChildEvent * event) { callbackQQmlFileSelector_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQQmlFileSelector_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQQmlFileSelector_CustomEvent(this, event); }; + void deleteLater() { callbackQQmlFileSelector_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQQmlFileSelector_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQQmlFileSelector_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQQmlFileSelector_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQQmlFileSelector_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQQmlFileSelector_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtQml_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQQmlFileSelector_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQQmlFileSelector_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQQmlFileSelector*) + +int QQmlFileSelector_QQmlFileSelector_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QQmlFileSelector_NewQQmlFileSelector(void* engine, void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } else { + return new MyQQmlFileSelector(static_cast(engine), static_cast(parent)); + } +} + +void* QQmlFileSelector_QQmlFileSelector_Get(void* engine) +{ + return QQmlFileSelector::get(static_cast(engine)); +} + +void* QQmlFileSelector_Selector(void* ptr) +{ + return static_cast(ptr)->selector(); +} + +void QQmlFileSelector_SetExtraSelectors(void* ptr, struct QtQml_PackedString strin) +{ + static_cast(ptr)->setExtraSelectors(*(new QStringList(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts)))); +} + +void QQmlFileSelector_SetExtraSelectors2(void* ptr, struct QtQml_PackedString strin) +{ + static_cast(ptr)->setExtraSelectors(QString::fromUtf8(strin.data, strin.len).split("¡¦!", QString::SkipEmptyParts)); +} + +void QQmlFileSelector_SetSelector(void* ptr, void* selector) +{ + static_cast(ptr)->setSelector(static_cast(selector)); +} + +void QQmlFileSelector_DestroyQQmlFileSelector(void* ptr) +{ + static_cast(ptr)->~QQmlFileSelector(); +} + +void QQmlFileSelector_DestroyQQmlFileSelectorDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QQmlFileSelector___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlFileSelector___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlFileSelector___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlFileSelector___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlFileSelector___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlFileSelector___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlFileSelector___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlFileSelector___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlFileSelector___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlFileSelector___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlFileSelector___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlFileSelector___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlFileSelector___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlFileSelector___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlFileSelector___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QQmlFileSelector_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlFileSelector::childEvent(static_cast(event)); +} + +void QQmlFileSelector_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlFileSelector::connectNotify(*static_cast(sign)); +} + +void QQmlFileSelector_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlFileSelector::customEvent(static_cast(event)); +} + +void QQmlFileSelector_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QQmlFileSelector::deleteLater(); +} + +void QQmlFileSelector_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlFileSelector::disconnectNotify(*static_cast(sign)); +} + +char QQmlFileSelector_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QQmlFileSelector::event(static_cast(e)); +} + +char QQmlFileSelector_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QQmlFileSelector::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QQmlFileSelector_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QQmlFileSelector::metaObject()); +} + +void QQmlFileSelector_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlFileSelector::timerEvent(static_cast(event)); +} + +class MyQQmlImageProviderBase: public QQmlImageProviderBase +{ +public: + QQmlImageProviderBase::Flags flags() const { return static_cast(callbackQQmlImageProviderBase_Flags(const_cast(static_cast(this)))); }; + QQmlImageProviderBase::ImageType imageType() const { return static_cast(callbackQQmlImageProviderBase_ImageType(const_cast(static_cast(this)))); }; +}; + +long long QQmlImageProviderBase_Flags(void* ptr) +{ + return static_cast(ptr)->flags(); +} + +long long QQmlImageProviderBase_ImageType(void* ptr) +{ + return static_cast(ptr)->imageType(); +} + +class MyQQmlIncubationController: public QQmlIncubationController +{ +public: + MyQQmlIncubationController() : QQmlIncubationController() {}; + void incubatingObjectCountChanged(int incubatingObjectCount) { callbackQQmlIncubationController_IncubatingObjectCountChanged(this, incubatingObjectCount); }; +}; + +void* QQmlIncubationController_NewQQmlIncubationController2() +{ + return new MyQQmlIncubationController(); +} + +void* QQmlIncubationController_Engine(void* ptr) +{ + return static_cast(ptr)->engine(); +} + +void QQmlIncubationController_IncubateFor(void* ptr, int msecs) +{ + static_cast(ptr)->incubateFor(msecs); +} + +int QQmlIncubationController_IncubatingObjectCount(void* ptr) +{ + return static_cast(ptr)->incubatingObjectCount(); +} + +void QQmlIncubationController_IncubatingObjectCountChanged(void* ptr, int incubatingObjectCount) +{ + static_cast(ptr)->incubatingObjectCountChanged(incubatingObjectCount); +} + +void QQmlIncubationController_IncubatingObjectCountChangedDefault(void* ptr, int incubatingObjectCount) +{ + static_cast(ptr)->QQmlIncubationController::incubatingObjectCountChanged(incubatingObjectCount); +} + +class MyQQmlIncubator: public QQmlIncubator +{ +public: + MyQQmlIncubator(QQmlIncubator::IncubationMode mode = Asynchronous) : QQmlIncubator(mode) {}; + void setInitialState(QObject * object) { callbackQQmlIncubator_SetInitialState(this, object); }; + void statusChanged(QQmlIncubator::Status status) { callbackQQmlIncubator_StatusChanged(this, status); }; +}; + +void* QQmlIncubator_NewQQmlIncubator2(long long mode) +{ + return new MyQQmlIncubator(static_cast(mode)); +} + +void QQmlIncubator_Clear(void* ptr) +{ + static_cast(ptr)->clear(); +} + +struct QtQml_PackedList QQmlIncubator_Errors(void* ptr) +{ + return ({ QList* tmpValuea88c54 = new QList(static_cast(ptr)->errors()); QtQml_PackedList { tmpValuea88c54, tmpValuea88c54->size() }; }); +} + +void QQmlIncubator_ForceCompletion(void* ptr) +{ + static_cast(ptr)->forceCompletion(); +} + +long long QQmlIncubator_IncubationMode(void* ptr) +{ + return static_cast(ptr)->incubationMode(); +} + +char QQmlIncubator_IsError(void* ptr) +{ + return static_cast(ptr)->isError(); +} + +char QQmlIncubator_IsLoading(void* ptr) +{ + return static_cast(ptr)->isLoading(); +} + +char QQmlIncubator_IsNull(void* ptr) +{ + return static_cast(ptr)->isNull(); +} + +char QQmlIncubator_IsReady(void* ptr) +{ + return static_cast(ptr)->isReady(); +} + +void* QQmlIncubator_Object(void* ptr) +{ + return static_cast(ptr)->object(); +} + +void QQmlIncubator_SetInitialState(void* ptr, void* object) +{ + static_cast(ptr)->setInitialState(static_cast(object)); +} + +void QQmlIncubator_SetInitialStateDefault(void* ptr, void* object) +{ + static_cast(ptr)->QQmlIncubator::setInitialState(static_cast(object)); +} + +long long QQmlIncubator_Status(void* ptr) +{ + return static_cast(ptr)->status(); +} + +void QQmlIncubator_StatusChanged(void* ptr, long long status) +{ + static_cast(ptr)->statusChanged(static_cast(status)); +} + +void QQmlIncubator_StatusChangedDefault(void* ptr, long long status) +{ + static_cast(ptr)->QQmlIncubator::statusChanged(static_cast(status)); +} + +void* QQmlIncubator___errors_atList(void* ptr, int i) +{ + return new QQmlError(({QQmlError tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlIncubator___errors_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlIncubator___errors_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlListReference_NewQQmlListReference() +{ + return new QQmlListReference(); +} + +void* QQmlListReference_NewQQmlListReference2(void* object, char* property, void* engine) +{ + if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else if (dynamic_cast(static_cast(object))) { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } else { + return new QQmlListReference(static_cast(object), const_cast(property), static_cast(engine)); + } +} + +char QQmlListReference_Append(void* ptr, void* object) +{ + return static_cast(ptr)->append(static_cast(object)); +} + +void* QQmlListReference_At(void* ptr, int index) +{ + return static_cast(ptr)->at(index); +} + +char QQmlListReference_CanAppend(void* ptr) +{ + return static_cast(ptr)->canAppend(); +} + +char QQmlListReference_CanAt(void* ptr) +{ + return static_cast(ptr)->canAt(); +} + +char QQmlListReference_CanClear(void* ptr) +{ + return static_cast(ptr)->canClear(); +} + +char QQmlListReference_CanCount(void* ptr) +{ + return static_cast(ptr)->canCount(); +} + +char QQmlListReference_Clear(void* ptr) +{ + return static_cast(ptr)->clear(); +} + +int QQmlListReference_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +char QQmlListReference_IsManipulable(void* ptr) +{ + return static_cast(ptr)->isManipulable(); +} + +char QQmlListReference_IsReadable(void* ptr) +{ + return static_cast(ptr)->isReadable(); +} + +char QQmlListReference_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +void* QQmlListReference_ListElementType(void* ptr) +{ + return const_cast(static_cast(ptr)->listElementType()); +} + +void* QQmlListReference_Object(void* ptr) +{ + return static_cast(ptr)->object(); +} + +class MyQQmlNetworkAccessManagerFactory: public QQmlNetworkAccessManagerFactory +{ +public: + MyQQmlNetworkAccessManagerFactory() : QQmlNetworkAccessManagerFactory() {}; + QNetworkAccessManager * create(QObject * parent) { return static_cast(callbackQQmlNetworkAccessManagerFactory_Create(this, parent)); }; + ~MyQQmlNetworkAccessManagerFactory() { callbackQQmlNetworkAccessManagerFactory_DestroyQQmlNetworkAccessManagerFactory(this); }; +}; + +void* QQmlNetworkAccessManagerFactory_Create(void* ptr, void* parent) +{ + return static_cast(ptr)->create(static_cast(parent)); +} + +void QQmlNetworkAccessManagerFactory_DestroyQQmlNetworkAccessManagerFactory(void* ptr) +{ + static_cast(ptr)->~QQmlNetworkAccessManagerFactory(); +} + +void QQmlNetworkAccessManagerFactory_DestroyQQmlNetworkAccessManagerFactoryDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QQmlNetworkAccessManagerFactory_NewQQmlNetworkAccessManagerFactory() +{ + return new MyQQmlNetworkAccessManagerFactory(); +} + +class MyQQmlParserStatus: public QQmlParserStatus +{ +public: + void classBegin() { callbackQQmlParserStatus_ClassBegin(this); }; + void componentComplete() { callbackQQmlParserStatus_ComponentComplete(this); }; +}; + +void QQmlParserStatus_ClassBegin(void* ptr) +{ + static_cast(ptr)->classBegin(); +} + +void QQmlParserStatus_ComponentComplete(void* ptr) +{ + static_cast(ptr)->componentComplete(); +} + +void* QQmlProperty_NewQQmlProperty() +{ + return new QQmlProperty(); +} + +void* QQmlProperty_NewQQmlProperty2(void* obj) +{ + if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj)); + } else { + return new QQmlProperty(static_cast(obj)); + } +} + +void* QQmlProperty_NewQQmlProperty3(void* obj, void* ctxt) +{ + if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } else { + return new QQmlProperty(static_cast(obj), static_cast(ctxt)); + } +} + +void* QQmlProperty_NewQQmlProperty4(void* obj, void* engine) +{ + if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } else { + return new QQmlProperty(static_cast(obj), static_cast(engine)); + } +} + +void* QQmlProperty_NewQQmlProperty5(void* obj, struct QtQml_PackedString name) +{ + if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } else { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len)); + } +} + +void* QQmlProperty_NewQQmlProperty6(void* obj, struct QtQml_PackedString name, void* ctxt) +{ + if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } else { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(ctxt)); + } +} + +void* QQmlProperty_NewQQmlProperty7(void* obj, struct QtQml_PackedString name, void* engine) +{ + if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else if (dynamic_cast(static_cast(obj))) { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } else { + return new QQmlProperty(static_cast(obj), QString::fromUtf8(name.data, name.len), static_cast(engine)); + } +} + +void* QQmlProperty_NewQQmlProperty8(void* other) +{ + return new QQmlProperty(*static_cast(other)); +} + +char QQmlProperty_ConnectNotifySignal(void* ptr, void* dest, char* slot) +{ + return static_cast(ptr)->connectNotifySignal(static_cast(dest), const_cast(slot)); +} + +char QQmlProperty_ConnectNotifySignal2(void* ptr, void* dest, int method) +{ + return static_cast(ptr)->connectNotifySignal(static_cast(dest), method); +} + +char QQmlProperty_HasNotifySignal(void* ptr) +{ + return static_cast(ptr)->hasNotifySignal(); +} + +int QQmlProperty_Index(void* ptr) +{ + return static_cast(ptr)->index(); +} + +char QQmlProperty_IsDesignable(void* ptr) +{ + return static_cast(ptr)->isDesignable(); +} + +char QQmlProperty_IsProperty(void* ptr) +{ + return static_cast(ptr)->isProperty(); +} + +char QQmlProperty_IsResettable(void* ptr) +{ + return static_cast(ptr)->isResettable(); +} + +char QQmlProperty_IsSignalProperty(void* ptr) +{ + return static_cast(ptr)->isSignalProperty(); +} + +char QQmlProperty_IsValid(void* ptr) +{ + return static_cast(ptr)->isValid(); +} + +char QQmlProperty_IsWritable(void* ptr) +{ + return static_cast(ptr)->isWritable(); +} + +void* QQmlProperty_Method(void* ptr) +{ + return new QMetaMethod(static_cast(ptr)->method()); +} + +struct QtQml_PackedString QQmlProperty_Name(void* ptr) +{ + return ({ QByteArray t576900 = static_cast(ptr)->name().toUtf8(); QtQml_PackedString { const_cast(t576900.prepend("WHITESPACE").constData()+10), t576900.size()-10 }; }); +} + +char QQmlProperty_NeedsNotifySignal(void* ptr) +{ + return static_cast(ptr)->needsNotifySignal(); +} + +void* QQmlProperty_Object(void* ptr) +{ + return static_cast(ptr)->object(); +} + +int QQmlProperty_PropertyType(void* ptr) +{ + return static_cast(ptr)->propertyType(); +} + +long long QQmlProperty_PropertyTypeCategory(void* ptr) +{ + return static_cast(ptr)->propertyTypeCategory(); +} + +struct QtQml_PackedString QQmlProperty_PropertyTypeName(void* ptr) +{ + return QtQml_PackedString { const_cast(static_cast(ptr)->propertyTypeName()), -1 }; +} + +void* QQmlProperty_Read(void* ptr) +{ + return new QVariant(static_cast(ptr)->read()); +} + +void* QQmlProperty_QQmlProperty_Read2(void* object, struct QtQml_PackedString name) +{ + return new QVariant(QQmlProperty::read(static_cast(object), QString::fromUtf8(name.data, name.len))); +} + +void* QQmlProperty_QQmlProperty_Read3(void* object, struct QtQml_PackedString name, void* ctxt) +{ + return new QVariant(QQmlProperty::read(static_cast(object), QString::fromUtf8(name.data, name.len), static_cast(ctxt))); +} + +void* QQmlProperty_QQmlProperty_Read4(void* object, struct QtQml_PackedString name, void* engine) +{ + return new QVariant(QQmlProperty::read(static_cast(object), QString::fromUtf8(name.data, name.len), static_cast(engine))); +} + +char QQmlProperty_Reset(void* ptr) +{ + return static_cast(ptr)->reset(); +} + +long long QQmlProperty_Type(void* ptr) +{ + return static_cast(ptr)->type(); +} + +char QQmlProperty_Write(void* ptr, void* value) +{ + return static_cast(ptr)->write(*static_cast(value)); +} + +char QQmlProperty_QQmlProperty_Write2(void* object, struct QtQml_PackedString name, void* value) +{ + return QQmlProperty::write(static_cast(object), QString::fromUtf8(name.data, name.len), *static_cast(value)); +} + +char QQmlProperty_QQmlProperty_Write3(void* object, struct QtQml_PackedString name, void* value, void* ctxt) +{ + return QQmlProperty::write(static_cast(object), QString::fromUtf8(name.data, name.len), *static_cast(value), static_cast(ctxt)); +} + +char QQmlProperty_QQmlProperty_Write4(void* object, struct QtQml_PackedString name, void* value, void* engine) +{ + return QQmlProperty::write(static_cast(object), QString::fromUtf8(name.data, name.len), *static_cast(value), static_cast(engine)); +} + +class MyQQmlPropertyMap: public QQmlPropertyMap +{ +public: + MyQQmlPropertyMap(QObject *parent = Q_NULLPTR) : QQmlPropertyMap(parent) {QQmlPropertyMap_QQmlPropertyMap_QRegisterMetaType();}; + QVariant updateValue(const QString & key, const QVariant & input) { QByteArray ta62f22 = key.toUtf8(); QtQml_PackedString keyPacked = { const_cast(ta62f22.prepend("WHITESPACE").constData()+10), ta62f22.size()-10 };return *static_cast(callbackQQmlPropertyMap_UpdateValue(this, keyPacked, const_cast(&input))); }; + void Signal_ValueChanged(const QString & key, const QVariant & value) { QByteArray ta62f22 = key.toUtf8(); QtQml_PackedString keyPacked = { const_cast(ta62f22.prepend("WHITESPACE").constData()+10), ta62f22.size()-10 };callbackQQmlPropertyMap_ValueChanged(this, keyPacked, const_cast(&value)); }; + ~MyQQmlPropertyMap() { callbackQQmlPropertyMap_DestroyQQmlPropertyMap(this); }; + void childEvent(QChildEvent * event) { callbackQQmlPropertyMap_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackQQmlPropertyMap_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackQQmlPropertyMap_CustomEvent(this, event); }; + void deleteLater() { callbackQQmlPropertyMap_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackQQmlPropertyMap_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackQQmlPropertyMap_DisconnectNotify(this, const_cast(&sign)); }; + bool event(QEvent * e) { return callbackQQmlPropertyMap_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackQQmlPropertyMap_EventFilter(this, watched, event) != 0; }; + const QMetaObject * metaObject() const { return static_cast(callbackQQmlPropertyMap_MetaObject(const_cast(static_cast(this)))); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); QtQml_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackQQmlPropertyMap_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackQQmlPropertyMap_TimerEvent(this, event); }; +}; + +Q_DECLARE_METATYPE(MyQQmlPropertyMap*) + +int QQmlPropertyMap_QQmlPropertyMap_QRegisterMetaType(){qRegisterMetaType(); return qRegisterMetaType();} + +void* QQmlPropertyMap_NewQQmlPropertyMap(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new MyQQmlPropertyMap(static_cast(parent)); + } else { + return new MyQQmlPropertyMap(static_cast(parent)); + } +} + +void QQmlPropertyMap_Clear(void* ptr, struct QtQml_PackedString key) +{ + static_cast(ptr)->clear(QString::fromUtf8(key.data, key.len)); +} + +char QQmlPropertyMap_Contains(void* ptr, struct QtQml_PackedString key) +{ + return static_cast(ptr)->contains(QString::fromUtf8(key.data, key.len)); +} + +int QQmlPropertyMap_Count(void* ptr) +{ + return static_cast(ptr)->count(); +} + +void QQmlPropertyMap_Insert(void* ptr, struct QtQml_PackedString key, void* value) +{ + static_cast(ptr)->insert(QString::fromUtf8(key.data, key.len), *static_cast(value)); +} + +char QQmlPropertyMap_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +struct QtQml_PackedString QQmlPropertyMap_Keys(void* ptr) +{ + return ({ QByteArray t4c814d = static_cast(ptr)->keys().join("¡¦!").toUtf8(); QtQml_PackedString { const_cast(t4c814d.prepend("WHITESPACE").constData()+10), t4c814d.size()-10 }; }); +} + +int QQmlPropertyMap_Size(void* ptr) +{ + return static_cast(ptr)->size(); +} + +void* QQmlPropertyMap_UpdateValue(void* ptr, struct QtQml_PackedString key, void* input) +{ + return new QVariant(static_cast(ptr)->updateValue(QString::fromUtf8(key.data, key.len), *static_cast(input))); +} + +void* QQmlPropertyMap_UpdateValueDefault(void* ptr, struct QtQml_PackedString key, void* input) +{ + return new QVariant(static_cast(ptr)->QQmlPropertyMap::updateValue(QString::fromUtf8(key.data, key.len), *static_cast(input))); +} + +void* QQmlPropertyMap_Value(void* ptr, struct QtQml_PackedString key) +{ + return new QVariant(static_cast(ptr)->value(QString::fromUtf8(key.data, key.len))); +} + +void QQmlPropertyMap_ConnectValueChanged(void* ptr, long long t) +{ + QObject::connect(static_cast(ptr), static_cast(&QQmlPropertyMap::valueChanged), static_cast(ptr), static_cast(&MyQQmlPropertyMap::Signal_ValueChanged), static_cast(t)); +} + +void QQmlPropertyMap_DisconnectValueChanged(void* ptr) +{ + QObject::disconnect(static_cast(ptr), static_cast(&QQmlPropertyMap::valueChanged), static_cast(ptr), static_cast(&MyQQmlPropertyMap::Signal_ValueChanged)); +} + +void QQmlPropertyMap_ValueChanged(void* ptr, struct QtQml_PackedString key, void* value) +{ + static_cast(ptr)->valueChanged(QString::fromUtf8(key.data, key.len), *static_cast(value)); +} + +void QQmlPropertyMap_DestroyQQmlPropertyMap(void* ptr) +{ + static_cast(ptr)->~QQmlPropertyMap(); +} + +void QQmlPropertyMap_DestroyQQmlPropertyMapDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QQmlPropertyMap___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlPropertyMap___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlPropertyMap___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlPropertyMap___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void QQmlPropertyMap___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* QQmlPropertyMap___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlPropertyMap___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlPropertyMap___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlPropertyMap___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlPropertyMap___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlPropertyMap___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlPropertyMap___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* QQmlPropertyMap___qFindChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void QQmlPropertyMap___qFindChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* QQmlPropertyMap___qFindChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void QQmlPropertyMap_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlPropertyMap::childEvent(static_cast(event)); +} + +void QQmlPropertyMap_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlPropertyMap::connectNotify(*static_cast(sign)); +} + +void QQmlPropertyMap_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlPropertyMap::customEvent(static_cast(event)); +} + +void QQmlPropertyMap_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QQmlPropertyMap::deleteLater(); +} + +void QQmlPropertyMap_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QQmlPropertyMap::disconnectNotify(*static_cast(sign)); +} + +char QQmlPropertyMap_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QQmlPropertyMap::event(static_cast(e)); +} + +char QQmlPropertyMap_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QQmlPropertyMap::eventFilter(static_cast(watched), static_cast(event)); +} + +void* QQmlPropertyMap_MetaObjectDefault(void* ptr) +{ + return const_cast(static_cast(ptr)->QQmlPropertyMap::metaObject()); +} + +void QQmlPropertyMap_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QQmlPropertyMap::timerEvent(static_cast(event)); +} + +class MyQQmlPropertyValueSource: public QQmlPropertyValueSource +{ +public: + MyQQmlPropertyValueSource() : QQmlPropertyValueSource() {}; + void setTarget(const QQmlProperty & property) { callbackQQmlPropertyValueSource_SetTarget(this, const_cast(&property)); }; + ~MyQQmlPropertyValueSource() { callbackQQmlPropertyValueSource_DestroyQQmlPropertyValueSource(this); }; +}; + +void* QQmlPropertyValueSource_NewQQmlPropertyValueSource() +{ + return new MyQQmlPropertyValueSource(); +} + +void QQmlPropertyValueSource_SetTarget(void* ptr, void* property) +{ + static_cast(ptr)->setTarget(*static_cast(property)); +} + +void QQmlPropertyValueSource_DestroyQQmlPropertyValueSource(void* ptr) +{ + static_cast(ptr)->~QQmlPropertyValueSource(); +} + +void QQmlPropertyValueSource_DestroyQQmlPropertyValueSourceDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +void* QQmlScriptString_NewQQmlScriptString() +{ + return new QQmlScriptString(); +} + +void* QQmlScriptString_NewQQmlScriptString2(void* other) +{ + return new QQmlScriptString(*static_cast(other)); +} + +char QQmlScriptString_BooleanLiteral(void* ptr, char* ok) +{ + return static_cast(ptr)->booleanLiteral(reinterpret_cast(ok)); +} + +char QQmlScriptString_IsEmpty(void* ptr) +{ + return static_cast(ptr)->isEmpty(); +} + +char QQmlScriptString_IsNullLiteral(void* ptr) +{ + return static_cast(ptr)->isNullLiteral(); +} + +char QQmlScriptString_IsUndefinedLiteral(void* ptr) +{ + return static_cast(ptr)->isUndefinedLiteral(); +} + +double QQmlScriptString_NumberLiteral(void* ptr, char* ok) +{ + return static_cast(ptr)->numberLiteral(reinterpret_cast(ok)); +} + +struct QtQml_PackedString QQmlScriptString_StringLiteral(void* ptr) +{ + return ({ QByteArray t77944a = static_cast(ptr)->stringLiteral().toUtf8(); QtQml_PackedString { const_cast(t77944a.prepend("WHITESPACE").constData()+10), t77944a.size()-10 }; }); +} + diff --git a/vendor/github.com/therecipe/qt/qml/qml.go b/vendor/github.com/therecipe/qt/qml/qml.go new file mode 100644 index 00000000..6392f63b --- /dev/null +++ b/vendor/github.com/therecipe/qt/qml/qml.go @@ -0,0 +1,7542 @@ +// +build !minimal + +package qml + +//#include +//#include +//#include +//#include "qml.h" +import "C" +import ( + "github.com/therecipe/qt" + "github.com/therecipe/qt/core" + "github.com/therecipe/qt/network" + "runtime" + "strings" + "unsafe" +) + +func cGoUnpackString(s C.struct_QtQml_PackedString) string { + if int(s.len) == -1 { + return C.GoString(s.data) + } + return C.GoStringN(s.data, C.int(s.len)) +} +func cGoUnpackBytes(s C.struct_QtQml_PackedString) []byte { + if int(s.len) == -1 { + gs := C.GoString(s.data) + return *(*[]byte)(unsafe.Pointer(&gs)) + } + return C.GoBytes(unsafe.Pointer(s.data), C.int(s.len)) +} +func unpackStringList(s string) []string { + if len(s) == 0 { + return make([]string, 0) + } + return strings.Split(s, "¡¦!") +} + +type QJSEngine struct { + core.QObject +} + +type QJSEngine_ITF interface { + core.QObject_ITF + QJSEngine_PTR() *QJSEngine +} + +func (ptr *QJSEngine) QJSEngine_PTR() *QJSEngine { + return ptr +} + +func (ptr *QJSEngine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QJSEngine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQJSEngine(ptr QJSEngine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJSEngine_PTR().Pointer() + } + return nil +} + +func NewQJSEngineFromPointer(ptr unsafe.Pointer) (n *QJSEngine) { + n = new(QJSEngine) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QJSEngine__Extension +//QJSEngine::Extension +type QJSEngine__Extension int64 + +const ( + QJSEngine__TranslationExtension QJSEngine__Extension = QJSEngine__Extension(0x1) + QJSEngine__ConsoleExtension QJSEngine__Extension = QJSEngine__Extension(0x2) + QJSEngine__GarbageCollectionExtension QJSEngine__Extension = QJSEngine__Extension(0x4) + QJSEngine__AllExtensions QJSEngine__Extension = QJSEngine__Extension(0xffffffff) +) + +func NewQJSEngine() *QJSEngine { + tmpValue := NewQJSEngineFromPointer(C.QJSEngine_NewQJSEngine()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQJSEngine2(parent core.QObject_ITF) *QJSEngine { + tmpValue := NewQJSEngineFromPointer(C.QJSEngine_NewQJSEngine2(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QJSEngine) CollectGarbage() { + if ptr.Pointer() != nil { + C.QJSEngine_CollectGarbage(ptr.Pointer()) + } +} + +func (ptr *QJSEngine) Evaluate(program string, fileName string, lineNumber int) *QJSValue { + if ptr.Pointer() != nil { + var programC *C.char + if program != "" { + programC = C.CString(program) + defer C.free(unsafe.Pointer(programC)) + } + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQJSValueFromPointer(C.QJSEngine_Evaluate(ptr.Pointer(), C.struct_QtQml_PackedString{data: programC, len: C.longlong(len(program))}, C.struct_QtQml_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.int(int32(lineNumber)))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) GlobalObject() *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSEngine_GlobalObject(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) ImportModule(fileName string) *QJSValue { + if ptr.Pointer() != nil { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQJSValueFromPointer(C.QJSEngine_ImportModule(ptr.Pointer(), C.struct_QtQml_PackedString{data: fileNameC, len: C.longlong(len(fileName))})) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) InstallExtensions(extensions QJSEngine__Extension, object QJSValue_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine_InstallExtensions(ptr.Pointer(), C.longlong(extensions), PointerFromQJSValue(object)) + } +} + +func (ptr *QJSEngine) NewArray(length uint) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSEngine_NewArray(ptr.Pointer(), C.uint(uint32(length)))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) NewErrorObject(errorType QJSValue__ErrorType, message string) *QJSValue { + if ptr.Pointer() != nil { + var messageC *C.char + if message != "" { + messageC = C.CString(message) + defer C.free(unsafe.Pointer(messageC)) + } + tmpValue := NewQJSValueFromPointer(C.QJSEngine_NewErrorObject(ptr.Pointer(), C.longlong(errorType), C.struct_QtQml_PackedString{data: messageC, len: C.longlong(len(message))})) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) NewObject() *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSEngine_NewObject(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) NewQMetaObject(metaObject core.QMetaObject_ITF) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSEngine_NewQMetaObject(ptr.Pointer(), core.PointerFromQMetaObject(metaObject))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) NewQObject(object core.QObject_ITF) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSEngine_NewQObject(ptr.Pointer(), core.PointerFromQObject(object))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) ThrowError(message string) { + if ptr.Pointer() != nil { + var messageC *C.char + if message != "" { + messageC = C.CString(message) + defer C.free(unsafe.Pointer(messageC)) + } + C.QJSEngine_ThrowError(ptr.Pointer(), C.struct_QtQml_PackedString{data: messageC, len: C.longlong(len(message))}) + } +} + +func (ptr *QJSEngine) ThrowError2(errorType QJSValue__ErrorType, message string) { + if ptr.Pointer() != nil { + var messageC *C.char + if message != "" { + messageC = C.CString(message) + defer C.free(unsafe.Pointer(messageC)) + } + C.QJSEngine_ThrowError2(ptr.Pointer(), C.longlong(errorType), C.struct_QtQml_PackedString{data: messageC, len: C.longlong(len(message))}) + } +} + +//export callbackQJSEngine_DestroyQJSEngine +func callbackQJSEngine_DestroyQJSEngine(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QJSEngine"); signal != nil { + (*(*func())(signal))() + } else { + NewQJSEngineFromPointer(ptr).DestroyQJSEngineDefault() + } +} + +func (ptr *QJSEngine) ConnectDestroyQJSEngine(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QJSEngine"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QJSEngine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QJSEngine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QJSEngine) DisconnectDestroyQJSEngine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QJSEngine") + } +} + +func (ptr *QJSEngine) DestroyQJSEngine() { + if ptr.Pointer() != nil { + C.QJSEngine_DestroyQJSEngine(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QJSEngine) DestroyQJSEngineDefault() { + if ptr.Pointer() != nil { + C.QJSEngine_DestroyQJSEngineDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QJSEngine) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QJSEngine___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QJSEngine) __children_newList() unsafe.Pointer { + return C.QJSEngine___children_newList(ptr.Pointer()) +} + +func (ptr *QJSEngine) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QJSEngine___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QJSEngine) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QJSEngine___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QJSEngine) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QJSEngine___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QJSEngine) __findChildren_newList() unsafe.Pointer { + return C.QJSEngine___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QJSEngine) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QJSEngine___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QJSEngine) __findChildren_newList3() unsafe.Pointer { + return C.QJSEngine___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QJSEngine) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QJSEngine___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QJSEngine) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QJSEngine) __qFindChildren_newList2() unsafe.Pointer { + return C.QJSEngine___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQJSEngine_ChildEvent +func callbackQJSEngine_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQJSEngineFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QJSEngine) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQJSEngine_ConnectNotify +func callbackQJSEngine_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQJSEngineFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QJSEngine) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQJSEngine_CustomEvent +func callbackQJSEngine_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQJSEngineFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QJSEngine) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQJSEngine_DeleteLater +func callbackQJSEngine_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQJSEngineFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QJSEngine) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QJSEngine_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQJSEngine_Destroyed +func callbackQJSEngine_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQJSEngine_DisconnectNotify +func callbackQJSEngine_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQJSEngineFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QJSEngine) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQJSEngine_Event +func callbackQJSEngine_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQJSEngineFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QJSEngine) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QJSEngine_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQJSEngine_EventFilter +func callbackQJSEngine_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQJSEngineFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QJSEngine) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QJSEngine_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQJSEngine_MetaObject +func callbackQJSEngine_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQJSEngineFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QJSEngine) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QJSEngine_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQJSEngine_ObjectNameChanged +func callbackQJSEngine_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQJSEngine_TimerEvent +func callbackQJSEngine_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQJSEngineFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QJSEngine) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QJSEngine_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QJSValue struct { + ptr unsafe.Pointer +} + +type QJSValue_ITF interface { + QJSValue_PTR() *QJSValue +} + +func (ptr *QJSValue) QJSValue_PTR() *QJSValue { + return ptr +} + +func (ptr *QJSValue) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QJSValue) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQJSValue(ptr QJSValue_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJSValue_PTR().Pointer() + } + return nil +} + +func NewQJSValueFromPointer(ptr unsafe.Pointer) (n *QJSValue) { + n = new(QJSValue) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QJSValue__SpecialValue +//QJSValue::SpecialValue +type QJSValue__SpecialValue int64 + +const ( + QJSValue__NullValue QJSValue__SpecialValue = QJSValue__SpecialValue(0) + QJSValue__UndefinedValue QJSValue__SpecialValue = QJSValue__SpecialValue(1) +) + +//go:generate stringer -type=QJSValue__ErrorType +//QJSValue::ErrorType +type QJSValue__ErrorType int64 + +const ( + QJSValue__NoError QJSValue__ErrorType = QJSValue__ErrorType(0) + QJSValue__GenericError QJSValue__ErrorType = QJSValue__ErrorType(1) + QJSValue__EvalError QJSValue__ErrorType = QJSValue__ErrorType(2) + QJSValue__RangeError QJSValue__ErrorType = QJSValue__ErrorType(3) + QJSValue__ReferenceError QJSValue__ErrorType = QJSValue__ErrorType(4) + QJSValue__SyntaxError QJSValue__ErrorType = QJSValue__ErrorType(5) + QJSValue__TypeError QJSValue__ErrorType = QJSValue__ErrorType(6) + QJSValue__URIError QJSValue__ErrorType = QJSValue__ErrorType(7) +) + +func NewQJSValue(value QJSValue__SpecialValue) *QJSValue { + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue(C.longlong(value))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func NewQJSValue2(other QJSValue_ITF) *QJSValue { + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue2(PointerFromQJSValue(other))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func NewQJSValue3(other QJSValue_ITF) *QJSValue { + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue3(PointerFromQJSValue(other))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func NewQJSValue4(value bool) *QJSValue { + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue4(C.char(int8(qt.GoBoolToInt(value))))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func NewQJSValue5(value int) *QJSValue { + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue5(C.int(int32(value)))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func NewQJSValue6(value uint) *QJSValue { + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue6(C.uint(uint32(value)))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func NewQJSValue7(value float64) *QJSValue { + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue7(C.double(value))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func NewQJSValue8(value string) *QJSValue { + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue8(C.struct_QtQml_PackedString{data: valueC, len: C.longlong(len(value))})) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func NewQJSValue9(value core.QLatin1String_ITF) *QJSValue { + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue9(core.PointerFromQLatin1String(value))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func NewQJSValue10(value string) *QJSValue { + var valueC *C.char + if value != "" { + valueC = C.CString(value) + defer C.free(unsafe.Pointer(valueC)) + } + tmpValue := NewQJSValueFromPointer(C.QJSValue_NewQJSValue10(valueC)) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue +} + +func (ptr *QJSValue) Call(args []*QJSValue) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSValue_Call(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQJSValueFromPointer(NewQJSValueFromPointer(nil).__call_args_newList()) + for _, v := range args { + tmpList.__call_args_setList(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) CallAsConstructor(args []*QJSValue) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSValue_CallAsConstructor(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQJSValueFromPointer(NewQJSValueFromPointer(nil).__callAsConstructor_args_newList()) + for _, v := range args { + tmpList.__callAsConstructor_args_setList(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) CallWithInstance(instance QJSValue_ITF, args []*QJSValue) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSValue_CallWithInstance(ptr.Pointer(), PointerFromQJSValue(instance), func() unsafe.Pointer { + tmpList := NewQJSValueFromPointer(NewQJSValueFromPointer(nil).__callWithInstance_args_newList()) + for _, v := range args { + tmpList.__callWithInstance_args_setList(v) + } + return tmpList.Pointer() + }())) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) DeleteProperty(name string) bool { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QJSValue_DeleteProperty(ptr.Pointer(), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 + } + return false +} + +func (ptr *QJSValue) Equals(other QJSValue_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_Equals(ptr.Pointer(), PointerFromQJSValue(other))) != 0 + } + return false +} + +func (ptr *QJSValue) ErrorType() QJSValue__ErrorType { + if ptr.Pointer() != nil { + return QJSValue__ErrorType(C.QJSValue_ErrorType(ptr.Pointer())) + } + return 0 +} + +func (ptr *QJSValue) HasOwnProperty(name string) bool { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QJSValue_HasOwnProperty(ptr.Pointer(), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 + } + return false +} + +func (ptr *QJSValue) HasProperty(name string) bool { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QJSValue_HasProperty(ptr.Pointer(), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))})) != 0 + } + return false +} + +func (ptr *QJSValue) IsArray() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsArray(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsBool() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsBool(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsCallable() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsCallable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsDate() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsDate(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsError() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsError(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsNumber() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsNumber(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsObject() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsObject(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsQMetaObject() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsQMetaObject(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsQObject() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsQObject(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsRegExp() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsRegExp(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsString() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsString(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsUndefined() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsUndefined(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) IsVariant() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_IsVariant(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) Property(name string) *QJSValue { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQJSValueFromPointer(C.QJSValue_Property(ptr.Pointer(), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) Property2(arrayIndex uint) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSValue_Property2(ptr.Pointer(), C.uint(uint32(arrayIndex)))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) Prototype() *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSValue_Prototype(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) SetProperty(name string, value QJSValue_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QJSValue_SetProperty(ptr.Pointer(), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQJSValue(value)) + } +} + +func (ptr *QJSValue) SetProperty2(arrayIndex uint, value QJSValue_ITF) { + if ptr.Pointer() != nil { + C.QJSValue_SetProperty2(ptr.Pointer(), C.uint(uint32(arrayIndex)), PointerFromQJSValue(value)) + } +} + +func (ptr *QJSValue) SetPrototype(prototype QJSValue_ITF) { + if ptr.Pointer() != nil { + C.QJSValue_SetPrototype(ptr.Pointer(), PointerFromQJSValue(prototype)) + } +} + +func (ptr *QJSValue) StrictlyEquals(other QJSValue_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_StrictlyEquals(ptr.Pointer(), PointerFromQJSValue(other))) != 0 + } + return false +} + +func (ptr *QJSValue) ToBool() bool { + if ptr.Pointer() != nil { + return int8(C.QJSValue_ToBool(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QJSValue) ToDateTime() *core.QDateTime { + if ptr.Pointer() != nil { + tmpValue := core.NewQDateTimeFromPointer(C.QJSValue_ToDateTime(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QDateTime).DestroyQDateTime) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) ToInt() int { + if ptr.Pointer() != nil { + return int(int32(C.QJSValue_ToInt(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QJSValue) ToNumber() float64 { + if ptr.Pointer() != nil { + return float64(C.QJSValue_ToNumber(ptr.Pointer())) + } + return 0 +} + +func (ptr *QJSValue) ToQMetaObject() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QJSValue_ToQMetaObject(ptr.Pointer())) + } + return nil +} + +func (ptr *QJSValue) ToQObject() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QJSValue_ToQObject(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QJSValue) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QJSValue_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QJSValue) ToUInt() uint { + if ptr.Pointer() != nil { + return uint(uint32(C.QJSValue_ToUInt(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QJSValue) ToVariant() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QJSValue_ToVariant(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) DestroyQJSValue() { + if ptr.Pointer() != nil { + C.QJSValue_DestroyQJSValue(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QJSValue) __call_args_atList(i int) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSValue___call_args_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) __call_args_setList(i QJSValue_ITF) { + if ptr.Pointer() != nil { + C.QJSValue___call_args_setList(ptr.Pointer(), PointerFromQJSValue(i)) + } +} + +func (ptr *QJSValue) __call_args_newList() unsafe.Pointer { + return C.QJSValue___call_args_newList(ptr.Pointer()) +} + +func (ptr *QJSValue) __callAsConstructor_args_atList(i int) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSValue___callAsConstructor_args_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) __callAsConstructor_args_setList(i QJSValue_ITF) { + if ptr.Pointer() != nil { + C.QJSValue___callAsConstructor_args_setList(ptr.Pointer(), PointerFromQJSValue(i)) + } +} + +func (ptr *QJSValue) __callAsConstructor_args_newList() unsafe.Pointer { + return C.QJSValue___callAsConstructor_args_newList(ptr.Pointer()) +} + +func (ptr *QJSValue) __callWithInstance_args_atList(i int) *QJSValue { + if ptr.Pointer() != nil { + tmpValue := NewQJSValueFromPointer(C.QJSValue___callWithInstance_args_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QJSValue).DestroyQJSValue) + return tmpValue + } + return nil +} + +func (ptr *QJSValue) __callWithInstance_args_setList(i QJSValue_ITF) { + if ptr.Pointer() != nil { + C.QJSValue___callWithInstance_args_setList(ptr.Pointer(), PointerFromQJSValue(i)) + } +} + +func (ptr *QJSValue) __callWithInstance_args_newList() unsafe.Pointer { + return C.QJSValue___callWithInstance_args_newList(ptr.Pointer()) +} + +type QJSValueIterator struct { + ptr unsafe.Pointer +} + +type QJSValueIterator_ITF interface { + QJSValueIterator_PTR() *QJSValueIterator +} + +func (ptr *QJSValueIterator) QJSValueIterator_PTR() *QJSValueIterator { + return ptr +} + +func (ptr *QJSValueIterator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QJSValueIterator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQJSValueIterator(ptr QJSValueIterator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QJSValueIterator_PTR().Pointer() + } + return nil +} + +func NewQJSValueIteratorFromPointer(ptr unsafe.Pointer) (n *QJSValueIterator) { + n = new(QJSValueIterator) + n.SetPointer(ptr) + return +} + +type QQmlAbstractUrlInterceptor struct { + ptr unsafe.Pointer +} + +type QQmlAbstractUrlInterceptor_ITF interface { + QQmlAbstractUrlInterceptor_PTR() *QQmlAbstractUrlInterceptor +} + +func (ptr *QQmlAbstractUrlInterceptor) QQmlAbstractUrlInterceptor_PTR() *QQmlAbstractUrlInterceptor { + return ptr +} + +func (ptr *QQmlAbstractUrlInterceptor) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlAbstractUrlInterceptor) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlAbstractUrlInterceptor(ptr QQmlAbstractUrlInterceptor_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlAbstractUrlInterceptor_PTR().Pointer() + } + return nil +} + +func NewQQmlAbstractUrlInterceptorFromPointer(ptr unsafe.Pointer) (n *QQmlAbstractUrlInterceptor) { + n = new(QQmlAbstractUrlInterceptor) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QQmlAbstractUrlInterceptor__DataType +//QQmlAbstractUrlInterceptor::DataType +type QQmlAbstractUrlInterceptor__DataType int64 + +const ( + QQmlAbstractUrlInterceptor__QmlFile QQmlAbstractUrlInterceptor__DataType = QQmlAbstractUrlInterceptor__DataType(0) + QQmlAbstractUrlInterceptor__JavaScriptFile QQmlAbstractUrlInterceptor__DataType = QQmlAbstractUrlInterceptor__DataType(1) + QQmlAbstractUrlInterceptor__QmldirFile QQmlAbstractUrlInterceptor__DataType = QQmlAbstractUrlInterceptor__DataType(2) + QQmlAbstractUrlInterceptor__UrlString QQmlAbstractUrlInterceptor__DataType = QQmlAbstractUrlInterceptor__DataType(0x1000) +) + +func NewQQmlAbstractUrlInterceptor() *QQmlAbstractUrlInterceptor { + return NewQQmlAbstractUrlInterceptorFromPointer(C.QQmlAbstractUrlInterceptor_NewQQmlAbstractUrlInterceptor()) +} + +//export callbackQQmlAbstractUrlInterceptor_Intercept +func callbackQQmlAbstractUrlInterceptor_Intercept(ptr unsafe.Pointer, url unsafe.Pointer, ty C.longlong) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "intercept"); signal != nil { + return core.PointerFromQUrl((*(*func(*core.QUrl, QQmlAbstractUrlInterceptor__DataType) *core.QUrl)(signal))(core.NewQUrlFromPointer(url), QQmlAbstractUrlInterceptor__DataType(ty))) + } + + return core.PointerFromQUrl(core.NewQUrl()) +} + +func (ptr *QQmlAbstractUrlInterceptor) ConnectIntercept(f func(url *core.QUrl, ty QQmlAbstractUrlInterceptor__DataType) *core.QUrl) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "intercept"); signal != nil { + f := func(url *core.QUrl, ty QQmlAbstractUrlInterceptor__DataType) *core.QUrl { + (*(*func(*core.QUrl, QQmlAbstractUrlInterceptor__DataType) *core.QUrl)(signal))(url, ty) + return f(url, ty) + } + qt.ConnectSignal(ptr.Pointer(), "intercept", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "intercept", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlAbstractUrlInterceptor) DisconnectIntercept() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "intercept") + } +} + +func (ptr *QQmlAbstractUrlInterceptor) Intercept(url core.QUrl_ITF, ty QQmlAbstractUrlInterceptor__DataType) *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QQmlAbstractUrlInterceptor_Intercept(ptr.Pointer(), core.PointerFromQUrl(url), C.longlong(ty))) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +//export callbackQQmlAbstractUrlInterceptor_DestroyQQmlAbstractUrlInterceptor +func callbackQQmlAbstractUrlInterceptor_DestroyQQmlAbstractUrlInterceptor(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlAbstractUrlInterceptor"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlAbstractUrlInterceptorFromPointer(ptr).DestroyQQmlAbstractUrlInterceptorDefault() + } +} + +func (ptr *QQmlAbstractUrlInterceptor) ConnectDestroyQQmlAbstractUrlInterceptor(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlAbstractUrlInterceptor"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlAbstractUrlInterceptor", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlAbstractUrlInterceptor", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlAbstractUrlInterceptor) DisconnectDestroyQQmlAbstractUrlInterceptor() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlAbstractUrlInterceptor") + } +} + +func (ptr *QQmlAbstractUrlInterceptor) DestroyQQmlAbstractUrlInterceptor() { + if ptr.Pointer() != nil { + C.QQmlAbstractUrlInterceptor_DestroyQQmlAbstractUrlInterceptor(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlAbstractUrlInterceptor) DestroyQQmlAbstractUrlInterceptorDefault() { + if ptr.Pointer() != nil { + C.QQmlAbstractUrlInterceptor_DestroyQQmlAbstractUrlInterceptorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QQmlApplicationEngine struct { + QQmlEngine +} + +type QQmlApplicationEngine_ITF interface { + QQmlEngine_ITF + QQmlApplicationEngine_PTR() *QQmlApplicationEngine +} + +func (ptr *QQmlApplicationEngine) QQmlApplicationEngine_PTR() *QQmlApplicationEngine { + return ptr +} + +func (ptr *QQmlApplicationEngine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QQmlEngine_PTR().Pointer() + } + return nil +} + +func (ptr *QQmlApplicationEngine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QQmlEngine_PTR().SetPointer(p) + } +} + +func PointerFromQQmlApplicationEngine(ptr QQmlApplicationEngine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlApplicationEngine_PTR().Pointer() + } + return nil +} + +func NewQQmlApplicationEngineFromPointer(ptr unsafe.Pointer) (n *QQmlApplicationEngine) { + n = new(QQmlApplicationEngine) + n.SetPointer(ptr) + return +} +func NewQQmlApplicationEngine(parent core.QObject_ITF) *QQmlApplicationEngine { + tmpValue := NewQQmlApplicationEngineFromPointer(C.QQmlApplicationEngine_NewQQmlApplicationEngine(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQQmlApplicationEngine2(url core.QUrl_ITF, parent core.QObject_ITF) *QQmlApplicationEngine { + tmpValue := NewQQmlApplicationEngineFromPointer(C.QQmlApplicationEngine_NewQQmlApplicationEngine2(core.PointerFromQUrl(url), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQQmlApplicationEngine3(filePath string, parent core.QObject_ITF) *QQmlApplicationEngine { + var filePathC *C.char + if filePath != "" { + filePathC = C.CString(filePath) + defer C.free(unsafe.Pointer(filePathC)) + } + tmpValue := NewQQmlApplicationEngineFromPointer(C.QQmlApplicationEngine_NewQQmlApplicationEngine3(C.struct_QtQml_PackedString{data: filePathC, len: C.longlong(len(filePath))}, core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQQmlApplicationEngine_Load +func callbackQQmlApplicationEngine_Load(ptr unsafe.Pointer, url unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "load"); signal != nil { + (*(*func(*core.QUrl))(signal))(core.NewQUrlFromPointer(url)) + } else { + NewQQmlApplicationEngineFromPointer(ptr).LoadDefault(core.NewQUrlFromPointer(url)) + } +} + +func (ptr *QQmlApplicationEngine) ConnectLoad(f func(url *core.QUrl)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "load"); signal != nil { + f := func(url *core.QUrl) { + (*(*func(*core.QUrl))(signal))(url) + f(url) + } + qt.ConnectSignal(ptr.Pointer(), "load", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "load", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlApplicationEngine) DisconnectLoad() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "load") + } +} + +func (ptr *QQmlApplicationEngine) Load(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlApplicationEngine_Load(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QQmlApplicationEngine) LoadDefault(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlApplicationEngine_LoadDefault(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +//export callbackQQmlApplicationEngine_Load2 +func callbackQQmlApplicationEngine_Load2(ptr unsafe.Pointer, filePath C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "load2"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(filePath)) + } else { + NewQQmlApplicationEngineFromPointer(ptr).Load2Default(cGoUnpackString(filePath)) + } +} + +func (ptr *QQmlApplicationEngine) ConnectLoad2(f func(filePath string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "load2"); signal != nil { + f := func(filePath string) { + (*(*func(string))(signal))(filePath) + f(filePath) + } + qt.ConnectSignal(ptr.Pointer(), "load2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "load2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlApplicationEngine) DisconnectLoad2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "load2") + } +} + +func (ptr *QQmlApplicationEngine) Load2(filePath string) { + if ptr.Pointer() != nil { + var filePathC *C.char + if filePath != "" { + filePathC = C.CString(filePath) + defer C.free(unsafe.Pointer(filePathC)) + } + C.QQmlApplicationEngine_Load2(ptr.Pointer(), C.struct_QtQml_PackedString{data: filePathC, len: C.longlong(len(filePath))}) + } +} + +func (ptr *QQmlApplicationEngine) Load2Default(filePath string) { + if ptr.Pointer() != nil { + var filePathC *C.char + if filePath != "" { + filePathC = C.CString(filePath) + defer C.free(unsafe.Pointer(filePathC)) + } + C.QQmlApplicationEngine_Load2Default(ptr.Pointer(), C.struct_QtQml_PackedString{data: filePathC, len: C.longlong(len(filePath))}) + } +} + +//export callbackQQmlApplicationEngine_LoadData +func callbackQQmlApplicationEngine_LoadData(ptr unsafe.Pointer, data unsafe.Pointer, url unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "loadData"); signal != nil { + (*(*func(*core.QByteArray, *core.QUrl))(signal))(core.NewQByteArrayFromPointer(data), core.NewQUrlFromPointer(url)) + } else { + NewQQmlApplicationEngineFromPointer(ptr).LoadDataDefault(core.NewQByteArrayFromPointer(data), core.NewQUrlFromPointer(url)) + } +} + +func (ptr *QQmlApplicationEngine) ConnectLoadData(f func(data *core.QByteArray, url *core.QUrl)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "loadData"); signal != nil { + f := func(data *core.QByteArray, url *core.QUrl) { + (*(*func(*core.QByteArray, *core.QUrl))(signal))(data, url) + f(data, url) + } + qt.ConnectSignal(ptr.Pointer(), "loadData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "loadData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlApplicationEngine) DisconnectLoadData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "loadData") + } +} + +func (ptr *QQmlApplicationEngine) LoadData(data core.QByteArray_ITF, url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlApplicationEngine_LoadData(ptr.Pointer(), core.PointerFromQByteArray(data), core.PointerFromQUrl(url)) + } +} + +func (ptr *QQmlApplicationEngine) LoadDataDefault(data core.QByteArray_ITF, url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlApplicationEngine_LoadDataDefault(ptr.Pointer(), core.PointerFromQByteArray(data), core.PointerFromQUrl(url)) + } +} + +//export callbackQQmlApplicationEngine_ObjectCreated +func callbackQQmlApplicationEngine_ObjectCreated(ptr unsafe.Pointer, object unsafe.Pointer, url unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "objectCreated"); signal != nil { + (*(*func(*core.QObject, *core.QUrl))(signal))(core.NewQObjectFromPointer(object), core.NewQUrlFromPointer(url)) + } + +} + +func (ptr *QQmlApplicationEngine) ConnectObjectCreated(f func(object *core.QObject, url *core.QUrl)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "objectCreated") { + C.QQmlApplicationEngine_ConnectObjectCreated(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "objectCreated"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "objectCreated"); signal != nil { + f := func(object *core.QObject, url *core.QUrl) { + (*(*func(*core.QObject, *core.QUrl))(signal))(object, url) + f(object, url) + } + qt.ConnectSignal(ptr.Pointer(), "objectCreated", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "objectCreated", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlApplicationEngine) DisconnectObjectCreated() { + if ptr.Pointer() != nil { + C.QQmlApplicationEngine_DisconnectObjectCreated(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "objectCreated") + } +} + +func (ptr *QQmlApplicationEngine) ObjectCreated(object core.QObject_ITF, url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlApplicationEngine_ObjectCreated(ptr.Pointer(), core.PointerFromQObject(object), core.PointerFromQUrl(url)) + } +} + +func (ptr *QQmlApplicationEngine) RootObjects() []*core.QObject { + if ptr.Pointer() != nil { + return func(l C.struct_QtQml_PackedList) []*core.QObject { + out := make([]*core.QObject, int(l.len)) + tmpList := NewQQmlApplicationEngineFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__rootObjects_atList(i) + } + return out + }(C.QQmlApplicationEngine_RootObjects(ptr.Pointer())) + } + return make([]*core.QObject, 0) +} + +//export callbackQQmlApplicationEngine_DestroyQQmlApplicationEngine +func callbackQQmlApplicationEngine_DestroyQQmlApplicationEngine(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlApplicationEngine"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlApplicationEngineFromPointer(ptr).DestroyQQmlApplicationEngineDefault() + } +} + +func (ptr *QQmlApplicationEngine) ConnectDestroyQQmlApplicationEngine(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlApplicationEngine"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlApplicationEngine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlApplicationEngine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlApplicationEngine) DisconnectDestroyQQmlApplicationEngine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlApplicationEngine") + } +} + +func (ptr *QQmlApplicationEngine) DestroyQQmlApplicationEngine() { + if ptr.Pointer() != nil { + C.QQmlApplicationEngine_DestroyQQmlApplicationEngine(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlApplicationEngine) DestroyQQmlApplicationEngineDefault() { + if ptr.Pointer() != nil { + C.QQmlApplicationEngine_DestroyQQmlApplicationEngineDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlApplicationEngine) __rootObjects_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlApplicationEngine___rootObjects_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlApplicationEngine) __rootObjects_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlApplicationEngine___rootObjects_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlApplicationEngine) __rootObjects_newList() unsafe.Pointer { + return C.QQmlApplicationEngine___rootObjects_newList(ptr.Pointer()) +} + +type QQmlComponent struct { + core.QObject +} + +type QQmlComponent_ITF interface { + core.QObject_ITF + QQmlComponent_PTR() *QQmlComponent +} + +func (ptr *QQmlComponent) QQmlComponent_PTR() *QQmlComponent { + return ptr +} + +func (ptr *QQmlComponent) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QQmlComponent) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQQmlComponent(ptr QQmlComponent_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlComponent_PTR().Pointer() + } + return nil +} + +func NewQQmlComponentFromPointer(ptr unsafe.Pointer) (n *QQmlComponent) { + n = new(QQmlComponent) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QQmlComponent__CompilationMode +//QQmlComponent::CompilationMode +type QQmlComponent__CompilationMode int64 + +const ( + QQmlComponent__PreferSynchronous QQmlComponent__CompilationMode = QQmlComponent__CompilationMode(0) + QQmlComponent__Asynchronous QQmlComponent__CompilationMode = QQmlComponent__CompilationMode(1) +) + +//go:generate stringer -type=QQmlComponent__Status +//QQmlComponent::Status +type QQmlComponent__Status int64 + +const ( + QQmlComponent__Null QQmlComponent__Status = QQmlComponent__Status(0) + QQmlComponent__Ready QQmlComponent__Status = QQmlComponent__Status(1) + QQmlComponent__Loading QQmlComponent__Status = QQmlComponent__Status(2) + QQmlComponent__Error QQmlComponent__Status = QQmlComponent__Status(3) +) + +func NewQQmlComponent2(engine QQmlEngine_ITF, parent core.QObject_ITF) *QQmlComponent { + tmpValue := NewQQmlComponentFromPointer(C.QQmlComponent_NewQQmlComponent2(PointerFromQQmlEngine(engine), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQQmlComponent3(engine QQmlEngine_ITF, fileName string, parent core.QObject_ITF) *QQmlComponent { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQQmlComponentFromPointer(C.QQmlComponent_NewQQmlComponent3(PointerFromQQmlEngine(engine), C.struct_QtQml_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQQmlComponent4(engine QQmlEngine_ITF, fileName string, mode QQmlComponent__CompilationMode, parent core.QObject_ITF) *QQmlComponent { + var fileNameC *C.char + if fileName != "" { + fileNameC = C.CString(fileName) + defer C.free(unsafe.Pointer(fileNameC)) + } + tmpValue := NewQQmlComponentFromPointer(C.QQmlComponent_NewQQmlComponent4(PointerFromQQmlEngine(engine), C.struct_QtQml_PackedString{data: fileNameC, len: C.longlong(len(fileName))}, C.longlong(mode), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQQmlComponent5(engine QQmlEngine_ITF, url core.QUrl_ITF, parent core.QObject_ITF) *QQmlComponent { + tmpValue := NewQQmlComponentFromPointer(C.QQmlComponent_NewQQmlComponent5(PointerFromQQmlEngine(engine), core.PointerFromQUrl(url), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQQmlComponent6(engine QQmlEngine_ITF, url core.QUrl_ITF, mode QQmlComponent__CompilationMode, parent core.QObject_ITF) *QQmlComponent { + tmpValue := NewQQmlComponentFromPointer(C.QQmlComponent_NewQQmlComponent6(PointerFromQQmlEngine(engine), core.PointerFromQUrl(url), C.longlong(mode), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQQmlComponent_BeginCreate +func callbackQQmlComponent_BeginCreate(ptr unsafe.Pointer, publicContext unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "beginCreate"); signal != nil { + return core.PointerFromQObject((*(*func(*QQmlContext) *core.QObject)(signal))(NewQQmlContextFromPointer(publicContext))) + } + + return core.PointerFromQObject(NewQQmlComponentFromPointer(ptr).BeginCreateDefault(NewQQmlContextFromPointer(publicContext))) +} + +func (ptr *QQmlComponent) ConnectBeginCreate(f func(publicContext *QQmlContext) *core.QObject) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "beginCreate"); signal != nil { + f := func(publicContext *QQmlContext) *core.QObject { + (*(*func(*QQmlContext) *core.QObject)(signal))(publicContext) + return f(publicContext) + } + qt.ConnectSignal(ptr.Pointer(), "beginCreate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "beginCreate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlComponent) DisconnectBeginCreate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "beginCreate") + } +} + +func (ptr *QQmlComponent) BeginCreate(publicContext QQmlContext_ITF) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlComponent_BeginCreate(ptr.Pointer(), PointerFromQQmlContext(publicContext))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) BeginCreateDefault(publicContext QQmlContext_ITF) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlComponent_BeginCreateDefault(ptr.Pointer(), PointerFromQQmlContext(publicContext))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQQmlComponent_CompleteCreate +func callbackQQmlComponent_CompleteCreate(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "completeCreate"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlComponentFromPointer(ptr).CompleteCreateDefault() + } +} + +func (ptr *QQmlComponent) ConnectCompleteCreate(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "completeCreate"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "completeCreate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "completeCreate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlComponent) DisconnectCompleteCreate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "completeCreate") + } +} + +func (ptr *QQmlComponent) CompleteCreate() { + if ptr.Pointer() != nil { + C.QQmlComponent_CompleteCreate(ptr.Pointer()) + } +} + +func (ptr *QQmlComponent) CompleteCreateDefault() { + if ptr.Pointer() != nil { + C.QQmlComponent_CompleteCreateDefault(ptr.Pointer()) + } +} + +//export callbackQQmlComponent_Create +func callbackQQmlComponent_Create(ptr unsafe.Pointer, context unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "create"); signal != nil { + return core.PointerFromQObject((*(*func(*QQmlContext) *core.QObject)(signal))(NewQQmlContextFromPointer(context))) + } + + return core.PointerFromQObject(NewQQmlComponentFromPointer(ptr).CreateDefault(NewQQmlContextFromPointer(context))) +} + +func (ptr *QQmlComponent) ConnectCreate(f func(context *QQmlContext) *core.QObject) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "create"); signal != nil { + f := func(context *QQmlContext) *core.QObject { + (*(*func(*QQmlContext) *core.QObject)(signal))(context) + return f(context) + } + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlComponent) DisconnectCreate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "create") + } +} + +func (ptr *QQmlComponent) Create(context QQmlContext_ITF) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlComponent_Create(ptr.Pointer(), PointerFromQQmlContext(context))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) CreateDefault(context QQmlContext_ITF) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlComponent_CreateDefault(ptr.Pointer(), PointerFromQQmlContext(context))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) Create2(incubator QQmlIncubator_ITF, context QQmlContext_ITF, forContext QQmlContext_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_Create2(ptr.Pointer(), PointerFromQQmlIncubator(incubator), PointerFromQQmlContext(context), PointerFromQQmlContext(forContext)) + } +} + +func (ptr *QQmlComponent) CreationContext() *QQmlContext { + if ptr.Pointer() != nil { + tmpValue := NewQQmlContextFromPointer(C.QQmlComponent_CreationContext(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) Engine() *QQmlEngine { + if ptr.Pointer() != nil { + tmpValue := NewQQmlEngineFromPointer(C.QQmlComponent_Engine(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) Errors() []*QQmlError { + if ptr.Pointer() != nil { + return func(l C.struct_QtQml_PackedList) []*QQmlError { + out := make([]*QQmlError, int(l.len)) + tmpList := NewQQmlComponentFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__errors_atList(i) + } + return out + }(C.QQmlComponent_Errors(ptr.Pointer())) + } + return make([]*QQmlError, 0) +} + +func (ptr *QQmlComponent) IsError() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlComponent_IsError(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlComponent) IsLoading() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlComponent_IsLoading(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlComponent) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlComponent_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlComponent) IsReady() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlComponent_IsReady(ptr.Pointer())) != 0 + } + return false +} + +//export callbackQQmlComponent_LoadUrl +func callbackQQmlComponent_LoadUrl(ptr unsafe.Pointer, url unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "loadUrl"); signal != nil { + (*(*func(*core.QUrl))(signal))(core.NewQUrlFromPointer(url)) + } else { + NewQQmlComponentFromPointer(ptr).LoadUrlDefault(core.NewQUrlFromPointer(url)) + } +} + +func (ptr *QQmlComponent) ConnectLoadUrl(f func(url *core.QUrl)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "loadUrl"); signal != nil { + f := func(url *core.QUrl) { + (*(*func(*core.QUrl))(signal))(url) + f(url) + } + qt.ConnectSignal(ptr.Pointer(), "loadUrl", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "loadUrl", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlComponent) DisconnectLoadUrl() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "loadUrl") + } +} + +func (ptr *QQmlComponent) LoadUrl(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_LoadUrl(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QQmlComponent) LoadUrlDefault(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_LoadUrlDefault(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +//export callbackQQmlComponent_LoadUrl2 +func callbackQQmlComponent_LoadUrl2(ptr unsafe.Pointer, url unsafe.Pointer, mode C.longlong) { + if signal := qt.GetSignal(ptr, "loadUrl2"); signal != nil { + (*(*func(*core.QUrl, QQmlComponent__CompilationMode))(signal))(core.NewQUrlFromPointer(url), QQmlComponent__CompilationMode(mode)) + } else { + NewQQmlComponentFromPointer(ptr).LoadUrl2Default(core.NewQUrlFromPointer(url), QQmlComponent__CompilationMode(mode)) + } +} + +func (ptr *QQmlComponent) ConnectLoadUrl2(f func(url *core.QUrl, mode QQmlComponent__CompilationMode)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "loadUrl2"); signal != nil { + f := func(url *core.QUrl, mode QQmlComponent__CompilationMode) { + (*(*func(*core.QUrl, QQmlComponent__CompilationMode))(signal))(url, mode) + f(url, mode) + } + qt.ConnectSignal(ptr.Pointer(), "loadUrl2", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "loadUrl2", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlComponent) DisconnectLoadUrl2() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "loadUrl2") + } +} + +func (ptr *QQmlComponent) LoadUrl2(url core.QUrl_ITF, mode QQmlComponent__CompilationMode) { + if ptr.Pointer() != nil { + C.QQmlComponent_LoadUrl2(ptr.Pointer(), core.PointerFromQUrl(url), C.longlong(mode)) + } +} + +func (ptr *QQmlComponent) LoadUrl2Default(url core.QUrl_ITF, mode QQmlComponent__CompilationMode) { + if ptr.Pointer() != nil { + C.QQmlComponent_LoadUrl2Default(ptr.Pointer(), core.PointerFromQUrl(url), C.longlong(mode)) + } +} + +func (ptr *QQmlComponent) Progress() float64 { + if ptr.Pointer() != nil { + return float64(C.QQmlComponent_Progress(ptr.Pointer())) + } + return 0 +} + +//export callbackQQmlComponent_ProgressChanged +func callbackQQmlComponent_ProgressChanged(ptr unsafe.Pointer, progress C.double) { + if signal := qt.GetSignal(ptr, "progressChanged"); signal != nil { + (*(*func(float64))(signal))(float64(progress)) + } + +} + +func (ptr *QQmlComponent) ConnectProgressChanged(f func(progress float64)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "progressChanged") { + C.QQmlComponent_ConnectProgressChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "progressChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "progressChanged"); signal != nil { + f := func(progress float64) { + (*(*func(float64))(signal))(progress) + f(progress) + } + qt.ConnectSignal(ptr.Pointer(), "progressChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "progressChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlComponent) DisconnectProgressChanged() { + if ptr.Pointer() != nil { + C.QQmlComponent_DisconnectProgressChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "progressChanged") + } +} + +func (ptr *QQmlComponent) ProgressChanged(progress float64) { + if ptr.Pointer() != nil { + C.QQmlComponent_ProgressChanged(ptr.Pointer(), C.double(progress)) + } +} + +//export callbackQQmlComponent_SetData +func callbackQQmlComponent_SetData(ptr unsafe.Pointer, data unsafe.Pointer, url unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setData"); signal != nil { + (*(*func(*core.QByteArray, *core.QUrl))(signal))(core.NewQByteArrayFromPointer(data), core.NewQUrlFromPointer(url)) + } else { + NewQQmlComponentFromPointer(ptr).SetDataDefault(core.NewQByteArrayFromPointer(data), core.NewQUrlFromPointer(url)) + } +} + +func (ptr *QQmlComponent) ConnectSetData(f func(data *core.QByteArray, url *core.QUrl)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setData"); signal != nil { + f := func(data *core.QByteArray, url *core.QUrl) { + (*(*func(*core.QByteArray, *core.QUrl))(signal))(data, url) + f(data, url) + } + qt.ConnectSignal(ptr.Pointer(), "setData", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setData", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlComponent) DisconnectSetData() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setData") + } +} + +func (ptr *QQmlComponent) SetData(data core.QByteArray_ITF, url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_SetData(ptr.Pointer(), core.PointerFromQByteArray(data), core.PointerFromQUrl(url)) + } +} + +func (ptr *QQmlComponent) SetDataDefault(data core.QByteArray_ITF, url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_SetDataDefault(ptr.Pointer(), core.PointerFromQByteArray(data), core.PointerFromQUrl(url)) + } +} + +func (ptr *QQmlComponent) Status() QQmlComponent__Status { + if ptr.Pointer() != nil { + return QQmlComponent__Status(C.QQmlComponent_Status(ptr.Pointer())) + } + return 0 +} + +//export callbackQQmlComponent_StatusChanged +func callbackQQmlComponent_StatusChanged(ptr unsafe.Pointer, status C.longlong) { + if signal := qt.GetSignal(ptr, "statusChanged"); signal != nil { + (*(*func(QQmlComponent__Status))(signal))(QQmlComponent__Status(status)) + } + +} + +func (ptr *QQmlComponent) ConnectStatusChanged(f func(status QQmlComponent__Status)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "statusChanged") { + C.QQmlComponent_ConnectStatusChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "statusChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "statusChanged"); signal != nil { + f := func(status QQmlComponent__Status) { + (*(*func(QQmlComponent__Status))(signal))(status) + f(status) + } + qt.ConnectSignal(ptr.Pointer(), "statusChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "statusChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlComponent) DisconnectStatusChanged() { + if ptr.Pointer() != nil { + C.QQmlComponent_DisconnectStatusChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "statusChanged") + } +} + +func (ptr *QQmlComponent) StatusChanged(status QQmlComponent__Status) { + if ptr.Pointer() != nil { + C.QQmlComponent_StatusChanged(ptr.Pointer(), C.longlong(status)) + } +} + +func (ptr *QQmlComponent) Url() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QQmlComponent_Url(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +//export callbackQQmlComponent_DestroyQQmlComponent +func callbackQQmlComponent_DestroyQQmlComponent(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlComponent"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlComponentFromPointer(ptr).DestroyQQmlComponentDefault() + } +} + +func (ptr *QQmlComponent) ConnectDestroyQQmlComponent(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlComponent"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlComponent", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlComponent", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlComponent) DisconnectDestroyQQmlComponent() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlComponent") + } +} + +func (ptr *QQmlComponent) DestroyQQmlComponent() { + if ptr.Pointer() != nil { + C.QQmlComponent_DestroyQQmlComponent(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlComponent) DestroyQQmlComponentDefault() { + if ptr.Pointer() != nil { + C.QQmlComponent_DestroyQQmlComponentDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlComponent) __errors_atList(i int) *QQmlError { + if ptr.Pointer() != nil { + tmpValue := NewQQmlErrorFromPointer(C.QQmlComponent___errors_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) __errors_setList(i QQmlError_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent___errors_setList(ptr.Pointer(), PointerFromQQmlError(i)) + } +} + +func (ptr *QQmlComponent) __errors_newList() unsafe.Pointer { + return C.QQmlComponent___errors_newList(ptr.Pointer()) +} + +func (ptr *QQmlComponent) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlComponent___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlComponent) __children_newList() unsafe.Pointer { + return C.QQmlComponent___children_newList(ptr.Pointer()) +} + +func (ptr *QQmlComponent) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QQmlComponent___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QQmlComponent) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QQmlComponent___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QQmlComponent) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlComponent___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlComponent) __findChildren_newList() unsafe.Pointer { + return C.QQmlComponent___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QQmlComponent) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlComponent___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlComponent) __findChildren_newList3() unsafe.Pointer { + return C.QQmlComponent___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QQmlComponent) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlComponent___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlComponent) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlComponent) __qFindChildren_newList2() unsafe.Pointer { + return C.QQmlComponent___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQQmlComponent_ChildEvent +func callbackQQmlComponent_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQQmlComponentFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QQmlComponent) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQQmlComponent_ConnectNotify +func callbackQQmlComponent_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlComponentFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlComponent) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlComponent_CustomEvent +func callbackQQmlComponent_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQQmlComponentFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QQmlComponent) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQQmlComponent_DeleteLater +func callbackQQmlComponent_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlComponentFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QQmlComponent) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QQmlComponent_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQQmlComponent_Destroyed +func callbackQQmlComponent_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQQmlComponent_DisconnectNotify +func callbackQQmlComponent_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlComponentFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlComponent) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlComponent_Event +func callbackQQmlComponent_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlComponentFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QQmlComponent) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlComponent_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQQmlComponent_EventFilter +func callbackQQmlComponent_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlComponentFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QQmlComponent) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlComponent_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQQmlComponent_MetaObject +func callbackQQmlComponent_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQQmlComponentFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QQmlComponent) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QQmlComponent_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQQmlComponent_ObjectNameChanged +func callbackQQmlComponent_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQQmlComponent_TimerEvent +func callbackQQmlComponent_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQQmlComponentFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QQmlComponent) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlComponent_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QQmlContext struct { + core.QObject +} + +type QQmlContext_ITF interface { + core.QObject_ITF + QQmlContext_PTR() *QQmlContext +} + +func (ptr *QQmlContext) QQmlContext_PTR() *QQmlContext { + return ptr +} + +func (ptr *QQmlContext) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QQmlContext) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQQmlContext(ptr QQmlContext_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlContext_PTR().Pointer() + } + return nil +} + +func NewQQmlContextFromPointer(ptr unsafe.Pointer) (n *QQmlContext) { + n = new(QQmlContext) + n.SetPointer(ptr) + return +} +func NewQQmlContext(engine QQmlEngine_ITF, parent core.QObject_ITF) *QQmlContext { + tmpValue := NewQQmlContextFromPointer(C.QQmlContext_NewQQmlContext(PointerFromQQmlEngine(engine), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQQmlContext2(parentContext QQmlContext_ITF, parent core.QObject_ITF) *QQmlContext { + tmpValue := NewQQmlContextFromPointer(C.QQmlContext_NewQQmlContext2(PointerFromQQmlContext(parentContext), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QQmlContext) BaseUrl() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QQmlContext_BaseUrl(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) ContextObject() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlContext_ContextObject(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) ContextProperty(name string) *core.QVariant { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlContext_ContextProperty(ptr.Pointer(), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) Engine() *QQmlEngine { + if ptr.Pointer() != nil { + tmpValue := NewQQmlEngineFromPointer(C.QQmlContext_Engine(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlContext_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlContext) NameForObject(object core.QObject_ITF) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlContext_NameForObject(ptr.Pointer(), core.PointerFromQObject(object))) + } + return "" +} + +func (ptr *QQmlContext) ParentContext() *QQmlContext { + if ptr.Pointer() != nil { + tmpValue := NewQQmlContextFromPointer(C.QQmlContext_ParentContext(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) ResolvedUrl(src core.QUrl_ITF) *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QQmlContext_ResolvedUrl(ptr.Pointer(), core.PointerFromQUrl(src))) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) SetBaseUrl(baseUrl core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext_SetBaseUrl(ptr.Pointer(), core.PointerFromQUrl(baseUrl)) + } +} + +func (ptr *QQmlContext) SetContextObject(object core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext_SetContextObject(ptr.Pointer(), core.PointerFromQObject(object)) + } +} + +func (ptr *QQmlContext) SetContextProperty(name string, value core.QObject_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QQmlContext_SetContextProperty(ptr.Pointer(), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQObject(value)) + } +} + +func (ptr *QQmlContext) SetContextProperty2(name string, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + C.QQmlContext_SetContextProperty2(ptr.Pointer(), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQVariant(value)) + } +} + +//export callbackQQmlContext_DestroyQQmlContext +func callbackQQmlContext_DestroyQQmlContext(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlContext"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlContextFromPointer(ptr).DestroyQQmlContextDefault() + } +} + +func (ptr *QQmlContext) ConnectDestroyQQmlContext(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlContext"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlContext", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlContext", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlContext) DisconnectDestroyQQmlContext() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlContext") + } +} + +func (ptr *QQmlContext) DestroyQQmlContext() { + if ptr.Pointer() != nil { + C.QQmlContext_DestroyQQmlContext(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlContext) DestroyQQmlContextDefault() { + if ptr.Pointer() != nil { + C.QQmlContext_DestroyQQmlContextDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlContext) __setContextProperties_properties_newList() unsafe.Pointer { + return C.QQmlContext___setContextProperties_properties_newList(ptr.Pointer()) +} + +func (ptr *QQmlContext) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlContext___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlContext) __children_newList() unsafe.Pointer { + return C.QQmlContext___children_newList(ptr.Pointer()) +} + +func (ptr *QQmlContext) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QQmlContext___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QQmlContext) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QQmlContext___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QQmlContext) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlContext___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlContext) __findChildren_newList() unsafe.Pointer { + return C.QQmlContext___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QQmlContext) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlContext___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlContext) __findChildren_newList3() unsafe.Pointer { + return C.QQmlContext___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QQmlContext) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlContext___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlContext) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlContext) __qFindChildren_newList2() unsafe.Pointer { + return C.QQmlContext___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQQmlContext_ChildEvent +func callbackQQmlContext_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQQmlContextFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QQmlContext) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQQmlContext_ConnectNotify +func callbackQQmlContext_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlContextFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlContext) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlContext_CustomEvent +func callbackQQmlContext_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQQmlContextFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QQmlContext) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQQmlContext_DeleteLater +func callbackQQmlContext_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlContextFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QQmlContext) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QQmlContext_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQQmlContext_Destroyed +func callbackQQmlContext_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQQmlContext_DisconnectNotify +func callbackQQmlContext_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlContextFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlContext) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlContext_Event +func callbackQQmlContext_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlContextFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QQmlContext) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlContext_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQQmlContext_EventFilter +func callbackQQmlContext_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlContextFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QQmlContext) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlContext_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQQmlContext_MetaObject +func callbackQQmlContext_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQQmlContextFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QQmlContext) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QQmlContext_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQQmlContext_ObjectNameChanged +func callbackQQmlContext_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQQmlContext_TimerEvent +func callbackQQmlContext_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQQmlContextFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QQmlContext) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlContext_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QQmlDebuggingEnabler struct { + ptr unsafe.Pointer +} + +type QQmlDebuggingEnabler_ITF interface { + QQmlDebuggingEnabler_PTR() *QQmlDebuggingEnabler +} + +func (ptr *QQmlDebuggingEnabler) QQmlDebuggingEnabler_PTR() *QQmlDebuggingEnabler { + return ptr +} + +func (ptr *QQmlDebuggingEnabler) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlDebuggingEnabler) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlDebuggingEnabler(ptr QQmlDebuggingEnabler_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlDebuggingEnabler_PTR().Pointer() + } + return nil +} + +func NewQQmlDebuggingEnablerFromPointer(ptr unsafe.Pointer) (n *QQmlDebuggingEnabler) { + n = new(QQmlDebuggingEnabler) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlDebuggingEnabler) DestroyQQmlDebuggingEnabler() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QQmlDebuggingEnabler__StartMode +//QQmlDebuggingEnabler::StartMode +type QQmlDebuggingEnabler__StartMode int64 + +const ( + QQmlDebuggingEnabler__DoNotWaitForClient QQmlDebuggingEnabler__StartMode = QQmlDebuggingEnabler__StartMode(0) + QQmlDebuggingEnabler__WaitForClient QQmlDebuggingEnabler__StartMode = QQmlDebuggingEnabler__StartMode(1) +) + +func QQmlDebuggingEnabler_ConnectToLocalDebugger(socketFileName string, mode QQmlDebuggingEnabler__StartMode) bool { + var socketFileNameC *C.char + if socketFileName != "" { + socketFileNameC = C.CString(socketFileName) + defer C.free(unsafe.Pointer(socketFileNameC)) + } + return int8(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_ConnectToLocalDebugger(C.struct_QtQml_PackedString{data: socketFileNameC, len: C.longlong(len(socketFileName))}, C.longlong(mode))) != 0 +} + +func (ptr *QQmlDebuggingEnabler) ConnectToLocalDebugger(socketFileName string, mode QQmlDebuggingEnabler__StartMode) bool { + var socketFileNameC *C.char + if socketFileName != "" { + socketFileNameC = C.CString(socketFileName) + defer C.free(unsafe.Pointer(socketFileNameC)) + } + return int8(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_ConnectToLocalDebugger(C.struct_QtQml_PackedString{data: socketFileNameC, len: C.longlong(len(socketFileName))}, C.longlong(mode))) != 0 +} + +func QQmlDebuggingEnabler_DebuggerServices() []string { + return unpackStringList(cGoUnpackString(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_DebuggerServices())) +} + +func (ptr *QQmlDebuggingEnabler) DebuggerServices() []string { + return unpackStringList(cGoUnpackString(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_DebuggerServices())) +} + +func QQmlDebuggingEnabler_InspectorServices() []string { + return unpackStringList(cGoUnpackString(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_InspectorServices())) +} + +func (ptr *QQmlDebuggingEnabler) InspectorServices() []string { + return unpackStringList(cGoUnpackString(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_InspectorServices())) +} + +func QQmlDebuggingEnabler_NativeDebuggerServices() []string { + return unpackStringList(cGoUnpackString(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_NativeDebuggerServices())) +} + +func (ptr *QQmlDebuggingEnabler) NativeDebuggerServices() []string { + return unpackStringList(cGoUnpackString(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_NativeDebuggerServices())) +} + +func QQmlDebuggingEnabler_ProfilerServices() []string { + return unpackStringList(cGoUnpackString(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_ProfilerServices())) +} + +func (ptr *QQmlDebuggingEnabler) ProfilerServices() []string { + return unpackStringList(cGoUnpackString(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_ProfilerServices())) +} + +func QQmlDebuggingEnabler_SetServices(services []string) { + servicesC := C.CString(strings.Join(services, "¡¦!")) + defer C.free(unsafe.Pointer(servicesC)) + C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_SetServices(C.struct_QtQml_PackedString{data: servicesC, len: C.longlong(len(strings.Join(services, "¡¦!")))}) +} + +func (ptr *QQmlDebuggingEnabler) SetServices(services []string) { + servicesC := C.CString(strings.Join(services, "¡¦!")) + defer C.free(unsafe.Pointer(servicesC)) + C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_SetServices(C.struct_QtQml_PackedString{data: servicesC, len: C.longlong(len(strings.Join(services, "¡¦!")))}) +} + +func QQmlDebuggingEnabler_StartDebugConnector(pluginName string, configuration map[string]*core.QVariant) bool { + var pluginNameC *C.char + if pluginName != "" { + pluginNameC = C.CString(pluginName) + defer C.free(unsafe.Pointer(pluginNameC)) + } + return int8(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_StartDebugConnector(C.struct_QtQml_PackedString{data: pluginNameC, len: C.longlong(len(pluginName))}, func() unsafe.Pointer { + tmpList := NewQQmlDebuggingEnablerFromPointer(NewQQmlDebuggingEnablerFromPointer(nil).__startDebugConnector_configuration_newList()) + for k, v := range configuration { + tmpList.__startDebugConnector_configuration_setList(k, v) + } + return tmpList.Pointer() + }())) != 0 +} + +func (ptr *QQmlDebuggingEnabler) StartDebugConnector(pluginName string, configuration map[string]*core.QVariant) bool { + var pluginNameC *C.char + if pluginName != "" { + pluginNameC = C.CString(pluginName) + defer C.free(unsafe.Pointer(pluginNameC)) + } + return int8(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_StartDebugConnector(C.struct_QtQml_PackedString{data: pluginNameC, len: C.longlong(len(pluginName))}, func() unsafe.Pointer { + tmpList := NewQQmlDebuggingEnablerFromPointer(NewQQmlDebuggingEnablerFromPointer(nil).__startDebugConnector_configuration_newList()) + for k, v := range configuration { + tmpList.__startDebugConnector_configuration_setList(k, v) + } + return tmpList.Pointer() + }())) != 0 +} + +func QQmlDebuggingEnabler_StartTcpDebugServer(port int, mode QQmlDebuggingEnabler__StartMode, hostName string) bool { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + return int8(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_StartTcpDebugServer(C.int(int32(port)), C.longlong(mode), C.struct_QtQml_PackedString{data: hostNameC, len: C.longlong(len(hostName))})) != 0 +} + +func (ptr *QQmlDebuggingEnabler) StartTcpDebugServer(port int, mode QQmlDebuggingEnabler__StartMode, hostName string) bool { + var hostNameC *C.char + if hostName != "" { + hostNameC = C.CString(hostName) + defer C.free(unsafe.Pointer(hostNameC)) + } + return int8(C.QQmlDebuggingEnabler_QQmlDebuggingEnabler_StartTcpDebugServer(C.int(int32(port)), C.longlong(mode), C.struct_QtQml_PackedString{data: hostNameC, len: C.longlong(len(hostName))})) != 0 +} + +func (ptr *QQmlDebuggingEnabler) __startDebugConnector_configuration_atList(v string, i int) *core.QVariant { + if ptr.Pointer() != nil { + var vC *C.char + if v != "" { + vC = C.CString(v) + defer C.free(unsafe.Pointer(vC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlDebuggingEnabler___startDebugConnector_configuration_atList(ptr.Pointer(), C.struct_QtQml_PackedString{data: vC, len: C.longlong(len(v))}, C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QQmlDebuggingEnabler) __startDebugConnector_configuration_setList(key string, i core.QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QQmlDebuggingEnabler___startDebugConnector_configuration_setList(ptr.Pointer(), C.struct_QtQml_PackedString{data: keyC, len: C.longlong(len(key))}, core.PointerFromQVariant(i)) + } +} + +func (ptr *QQmlDebuggingEnabler) __startDebugConnector_configuration_newList() unsafe.Pointer { + return C.QQmlDebuggingEnabler___startDebugConnector_configuration_newList(ptr.Pointer()) +} + +func (ptr *QQmlDebuggingEnabler) __startDebugConnector_configuration_keyList() []string { + if ptr.Pointer() != nil { + return func(l C.struct_QtQml_PackedList) []string { + out := make([]string, int(l.len)) + tmpList := NewQQmlDebuggingEnablerFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.____startDebugConnector_configuration_keyList_atList(i) + } + return out + }(C.QQmlDebuggingEnabler___startDebugConnector_configuration_keyList(ptr.Pointer())) + } + return make([]string, 0) +} + +func (ptr *QQmlDebuggingEnabler) ____startDebugConnector_configuration_keyList_atList(i int) string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlDebuggingEnabler_____startDebugConnector_configuration_keyList_atList(ptr.Pointer(), C.int(int32(i)))) + } + return "" +} + +func (ptr *QQmlDebuggingEnabler) ____startDebugConnector_configuration_keyList_setList(i string) { + if ptr.Pointer() != nil { + var iC *C.char + if i != "" { + iC = C.CString(i) + defer C.free(unsafe.Pointer(iC)) + } + C.QQmlDebuggingEnabler_____startDebugConnector_configuration_keyList_setList(ptr.Pointer(), C.struct_QtQml_PackedString{data: iC, len: C.longlong(len(i))}) + } +} + +func (ptr *QQmlDebuggingEnabler) ____startDebugConnector_configuration_keyList_newList() unsafe.Pointer { + return C.QQmlDebuggingEnabler_____startDebugConnector_configuration_keyList_newList(ptr.Pointer()) +} + +type QQmlEngine struct { + QJSEngine +} + +type QQmlEngine_ITF interface { + QJSEngine_ITF + QQmlEngine_PTR() *QQmlEngine +} + +func (ptr *QQmlEngine) QQmlEngine_PTR() *QQmlEngine { + return ptr +} + +func (ptr *QQmlEngine) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QJSEngine_PTR().Pointer() + } + return nil +} + +func (ptr *QQmlEngine) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QJSEngine_PTR().SetPointer(p) + } +} + +func PointerFromQQmlEngine(ptr QQmlEngine_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlEngine_PTR().Pointer() + } + return nil +} + +func NewQQmlEngineFromPointer(ptr unsafe.Pointer) (n *QQmlEngine) { + n = new(QQmlEngine) + n.SetPointer(ptr) + return +} + +//go:generate stringer -type=QQmlEngine__ObjectOwnership +//QQmlEngine::ObjectOwnership +type QQmlEngine__ObjectOwnership int64 + +const ( + QQmlEngine__CppOwnership QQmlEngine__ObjectOwnership = QQmlEngine__ObjectOwnership(0) + QQmlEngine__JavaScriptOwnership QQmlEngine__ObjectOwnership = QQmlEngine__ObjectOwnership(1) +) + +func NewQQmlEngine(parent core.QObject_ITF) *QQmlEngine { + tmpValue := NewQQmlEngineFromPointer(C.QQmlEngine_NewQQmlEngine(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QQmlEngine) AddImageProvider(providerId string, provider QQmlImageProviderBase_ITF) { + if ptr.Pointer() != nil { + var providerIdC *C.char + if providerId != "" { + providerIdC = C.CString(providerId) + defer C.free(unsafe.Pointer(providerIdC)) + } + C.QQmlEngine_AddImageProvider(ptr.Pointer(), C.struct_QtQml_PackedString{data: providerIdC, len: C.longlong(len(providerId))}, PointerFromQQmlImageProviderBase(provider)) + } +} + +func (ptr *QQmlEngine) AddImportPath(path string) { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QQmlEngine_AddImportPath(ptr.Pointer(), C.struct_QtQml_PackedString{data: pathC, len: C.longlong(len(path))}) + } +} + +func (ptr *QQmlEngine) AddPluginPath(path string) { + if ptr.Pointer() != nil { + var pathC *C.char + if path != "" { + pathC = C.CString(path) + defer C.free(unsafe.Pointer(pathC)) + } + C.QQmlEngine_AddPluginPath(ptr.Pointer(), C.struct_QtQml_PackedString{data: pathC, len: C.longlong(len(path))}) + } +} + +func (ptr *QQmlEngine) BaseUrl() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QQmlEngine_BaseUrl(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +func (ptr *QQmlEngine) ClearComponentCache() { + if ptr.Pointer() != nil { + C.QQmlEngine_ClearComponentCache(ptr.Pointer()) + } +} + +func QQmlEngine_ContextForObject(object core.QObject_ITF) *QQmlContext { + tmpValue := NewQQmlContextFromPointer(C.QQmlEngine_QQmlEngine_ContextForObject(core.PointerFromQObject(object))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QQmlEngine) ContextForObject(object core.QObject_ITF) *QQmlContext { + tmpValue := NewQQmlContextFromPointer(C.QQmlEngine_QQmlEngine_ContextForObject(core.PointerFromQObject(object))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackQQmlEngine_Exit +func callbackQQmlEngine_Exit(ptr unsafe.Pointer, retCode C.int) { + if signal := qt.GetSignal(ptr, "exit"); signal != nil { + (*(*func(int))(signal))(int(int32(retCode))) + } + +} + +func (ptr *QQmlEngine) ConnectExit(f func(retCode int)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "exit") { + C.QQmlEngine_ConnectExit(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "exit"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "exit"); signal != nil { + f := func(retCode int) { + (*(*func(int))(signal))(retCode) + f(retCode) + } + qt.ConnectSignal(ptr.Pointer(), "exit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "exit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlEngine) DisconnectExit() { + if ptr.Pointer() != nil { + C.QQmlEngine_DisconnectExit(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "exit") + } +} + +func (ptr *QQmlEngine) Exit(retCode int) { + if ptr.Pointer() != nil { + C.QQmlEngine_Exit(ptr.Pointer(), C.int(int32(retCode))) + } +} + +func (ptr *QQmlEngine) ImageProvider(providerId string) *QQmlImageProviderBase { + if ptr.Pointer() != nil { + var providerIdC *C.char + if providerId != "" { + providerIdC = C.CString(providerId) + defer C.free(unsafe.Pointer(providerIdC)) + } + return NewQQmlImageProviderBaseFromPointer(C.QQmlEngine_ImageProvider(ptr.Pointer(), C.struct_QtQml_PackedString{data: providerIdC, len: C.longlong(len(providerId))})) + } + return nil +} + +func (ptr *QQmlEngine) ImportPathList() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QQmlEngine_ImportPathList(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QQmlEngine) ImportPlugin(filePath string, uri string, errors []*QQmlError) bool { + if ptr.Pointer() != nil { + var filePathC *C.char + if filePath != "" { + filePathC = C.CString(filePath) + defer C.free(unsafe.Pointer(filePathC)) + } + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + return int8(C.QQmlEngine_ImportPlugin(ptr.Pointer(), C.struct_QtQml_PackedString{data: filePathC, len: C.longlong(len(filePath))}, C.struct_QtQml_PackedString{data: uriC, len: C.longlong(len(uri))}, func() unsafe.Pointer { + tmpList := NewQQmlEngineFromPointer(NewQQmlEngineFromPointer(nil).__importPlugin_errors_newList()) + for _, v := range errors { + tmpList.__importPlugin_errors_setList(v) + } + return tmpList.Pointer() + }())) != 0 + } + return false +} + +func (ptr *QQmlEngine) IncubationController() *QQmlIncubationController { + if ptr.Pointer() != nil { + return NewQQmlIncubationControllerFromPointer(C.QQmlEngine_IncubationController(ptr.Pointer())) + } + return nil +} + +func (ptr *QQmlEngine) NetworkAccessManager() *network.QNetworkAccessManager { + if ptr.Pointer() != nil { + tmpValue := network.NewQNetworkAccessManagerFromPointer(C.QQmlEngine_NetworkAccessManager(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlEngine) NetworkAccessManagerFactory() *QQmlNetworkAccessManagerFactory { + if ptr.Pointer() != nil { + return NewQQmlNetworkAccessManagerFactoryFromPointer(C.QQmlEngine_NetworkAccessManagerFactory(ptr.Pointer())) + } + return nil +} + +func QQmlEngine_ObjectOwnership(object core.QObject_ITF) QQmlEngine__ObjectOwnership { + return QQmlEngine__ObjectOwnership(C.QQmlEngine_QQmlEngine_ObjectOwnership(core.PointerFromQObject(object))) +} + +func (ptr *QQmlEngine) ObjectOwnership(object core.QObject_ITF) QQmlEngine__ObjectOwnership { + return QQmlEngine__ObjectOwnership(C.QQmlEngine_QQmlEngine_ObjectOwnership(core.PointerFromQObject(object))) +} + +func (ptr *QQmlEngine) OfflineStorageDatabaseFilePath(databaseName string) string { + if ptr.Pointer() != nil { + var databaseNameC *C.char + if databaseName != "" { + databaseNameC = C.CString(databaseName) + defer C.free(unsafe.Pointer(databaseNameC)) + } + return cGoUnpackString(C.QQmlEngine_OfflineStorageDatabaseFilePath(ptr.Pointer(), C.struct_QtQml_PackedString{data: databaseNameC, len: C.longlong(len(databaseName))})) + } + return "" +} + +func (ptr *QQmlEngine) OfflineStoragePath() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlEngine_OfflineStoragePath(ptr.Pointer())) + } + return "" +} + +func (ptr *QQmlEngine) OutputWarningsToStandardError() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlEngine_OutputWarningsToStandardError(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlEngine) PluginPathList() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QQmlEngine_PluginPathList(ptr.Pointer()))) + } + return make([]string, 0) +} + +//export callbackQQmlEngine_Quit +func callbackQQmlEngine_Quit(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "quit"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QQmlEngine) ConnectQuit(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "quit") { + C.QQmlEngine_ConnectQuit(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "quit"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "quit"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "quit", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "quit", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlEngine) DisconnectQuit() { + if ptr.Pointer() != nil { + C.QQmlEngine_DisconnectQuit(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "quit") + } +} + +func (ptr *QQmlEngine) Quit() { + if ptr.Pointer() != nil { + C.QQmlEngine_Quit(ptr.Pointer()) + } +} + +func (ptr *QQmlEngine) RemoveImageProvider(providerId string) { + if ptr.Pointer() != nil { + var providerIdC *C.char + if providerId != "" { + providerIdC = C.CString(providerId) + defer C.free(unsafe.Pointer(providerIdC)) + } + C.QQmlEngine_RemoveImageProvider(ptr.Pointer(), C.struct_QtQml_PackedString{data: providerIdC, len: C.longlong(len(providerId))}) + } +} + +//export callbackQQmlEngine_Retranslate +func callbackQQmlEngine_Retranslate(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "retranslate"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlEngineFromPointer(ptr).RetranslateDefault() + } +} + +func (ptr *QQmlEngine) ConnectRetranslate(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "retranslate"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "retranslate", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "retranslate", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlEngine) DisconnectRetranslate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "retranslate") + } +} + +func (ptr *QQmlEngine) Retranslate() { + if ptr.Pointer() != nil { + C.QQmlEngine_Retranslate(ptr.Pointer()) + } +} + +func (ptr *QQmlEngine) RetranslateDefault() { + if ptr.Pointer() != nil { + C.QQmlEngine_RetranslateDefault(ptr.Pointer()) + } +} + +func (ptr *QQmlEngine) RootContext() *QQmlContext { + if ptr.Pointer() != nil { + tmpValue := NewQQmlContextFromPointer(C.QQmlEngine_RootContext(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlEngine) SetBaseUrl(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlEngine_SetBaseUrl(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func QQmlEngine_SetContextForObject(object core.QObject_ITF, context QQmlContext_ITF) { + C.QQmlEngine_QQmlEngine_SetContextForObject(core.PointerFromQObject(object), PointerFromQQmlContext(context)) +} + +func (ptr *QQmlEngine) SetContextForObject(object core.QObject_ITF, context QQmlContext_ITF) { + C.QQmlEngine_QQmlEngine_SetContextForObject(core.PointerFromQObject(object), PointerFromQQmlContext(context)) +} + +func (ptr *QQmlEngine) SetImportPathList(paths []string) { + if ptr.Pointer() != nil { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + C.QQmlEngine_SetImportPathList(ptr.Pointer(), C.struct_QtQml_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}) + } +} + +func (ptr *QQmlEngine) SetIncubationController(controller QQmlIncubationController_ITF) { + if ptr.Pointer() != nil { + C.QQmlEngine_SetIncubationController(ptr.Pointer(), PointerFromQQmlIncubationController(controller)) + } +} + +func (ptr *QQmlEngine) SetNetworkAccessManagerFactory(factory QQmlNetworkAccessManagerFactory_ITF) { + if ptr.Pointer() != nil { + C.QQmlEngine_SetNetworkAccessManagerFactory(ptr.Pointer(), PointerFromQQmlNetworkAccessManagerFactory(factory)) + } +} + +func QQmlEngine_SetObjectOwnership(object core.QObject_ITF, ownership QQmlEngine__ObjectOwnership) { + C.QQmlEngine_QQmlEngine_SetObjectOwnership(core.PointerFromQObject(object), C.longlong(ownership)) +} + +func (ptr *QQmlEngine) SetObjectOwnership(object core.QObject_ITF, ownership QQmlEngine__ObjectOwnership) { + C.QQmlEngine_QQmlEngine_SetObjectOwnership(core.PointerFromQObject(object), C.longlong(ownership)) +} + +func (ptr *QQmlEngine) SetOfflineStoragePath(dir string) { + if ptr.Pointer() != nil { + var dirC *C.char + if dir != "" { + dirC = C.CString(dir) + defer C.free(unsafe.Pointer(dirC)) + } + C.QQmlEngine_SetOfflineStoragePath(ptr.Pointer(), C.struct_QtQml_PackedString{data: dirC, len: C.longlong(len(dir))}) + } +} + +func (ptr *QQmlEngine) SetOutputWarningsToStandardError(enabled bool) { + if ptr.Pointer() != nil { + C.QQmlEngine_SetOutputWarningsToStandardError(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(enabled)))) + } +} + +func (ptr *QQmlEngine) SetPluginPathList(paths []string) { + if ptr.Pointer() != nil { + pathsC := C.CString(strings.Join(paths, "¡¦!")) + defer C.free(unsafe.Pointer(pathsC)) + C.QQmlEngine_SetPluginPathList(ptr.Pointer(), C.struct_QtQml_PackedString{data: pathsC, len: C.longlong(len(strings.Join(paths, "¡¦!")))}) + } +} + +func (ptr *QQmlEngine) TrimComponentCache() { + if ptr.Pointer() != nil { + C.QQmlEngine_TrimComponentCache(ptr.Pointer()) + } +} + +//export callbackQQmlEngine_Warnings +func callbackQQmlEngine_Warnings(ptr unsafe.Pointer, warnings C.struct_QtQml_PackedList) { + if signal := qt.GetSignal(ptr, "warnings"); signal != nil { + (*(*func([]*QQmlError))(signal))(func(l C.struct_QtQml_PackedList) []*QQmlError { + out := make([]*QQmlError, int(l.len)) + tmpList := NewQQmlEngineFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__warnings_warnings_atList(i) + } + return out + }(warnings)) + } + +} + +func (ptr *QQmlEngine) ConnectWarnings(f func(warnings []*QQmlError)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "warnings") { + C.QQmlEngine_ConnectWarnings(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "warnings"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "warnings"); signal != nil { + f := func(warnings []*QQmlError) { + (*(*func([]*QQmlError))(signal))(warnings) + f(warnings) + } + qt.ConnectSignal(ptr.Pointer(), "warnings", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "warnings", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlEngine) DisconnectWarnings() { + if ptr.Pointer() != nil { + C.QQmlEngine_DisconnectWarnings(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "warnings") + } +} + +func (ptr *QQmlEngine) Warnings(warnings []*QQmlError) { + if ptr.Pointer() != nil { + C.QQmlEngine_Warnings(ptr.Pointer(), func() unsafe.Pointer { + tmpList := NewQQmlEngineFromPointer(NewQQmlEngineFromPointer(nil).__warnings_warnings_newList()) + for _, v := range warnings { + tmpList.__warnings_warnings_setList(v) + } + return tmpList.Pointer() + }()) + } +} + +//export callbackQQmlEngine_DestroyQQmlEngine +func callbackQQmlEngine_DestroyQQmlEngine(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlEngine"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlEngineFromPointer(ptr).DestroyQQmlEngineDefault() + } +} + +func (ptr *QQmlEngine) ConnectDestroyQQmlEngine(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlEngine"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlEngine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlEngine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlEngine) DisconnectDestroyQQmlEngine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlEngine") + } +} + +func (ptr *QQmlEngine) DestroyQQmlEngine() { + if ptr.Pointer() != nil { + C.QQmlEngine_DestroyQQmlEngine(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlEngine) DestroyQQmlEngineDefault() { + if ptr.Pointer() != nil { + C.QQmlEngine_DestroyQQmlEngineDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func QQmlEngine_QmlRegisterSingletonType(url core.QUrl_ITF, uri string, versionMajor int, versionMinor int, qmlName string) int { + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + var qmlNameC *C.char + if qmlName != "" { + qmlNameC = C.CString(qmlName) + defer C.free(unsafe.Pointer(qmlNameC)) + } + return int(int32(C.QQmlEngine_QQmlEngine_QmlRegisterSingletonType(core.PointerFromQUrl(url), uriC, C.int(int32(versionMajor)), C.int(int32(versionMinor)), qmlNameC))) +} + +func (ptr *QQmlEngine) QmlRegisterSingletonType(url core.QUrl_ITF, uri string, versionMajor int, versionMinor int, qmlName string) int { + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + var qmlNameC *C.char + if qmlName != "" { + qmlNameC = C.CString(qmlName) + defer C.free(unsafe.Pointer(qmlNameC)) + } + return int(int32(C.QQmlEngine_QQmlEngine_QmlRegisterSingletonType(core.PointerFromQUrl(url), uriC, C.int(int32(versionMajor)), C.int(int32(versionMinor)), qmlNameC))) +} + +func QQmlEngine_QmlRegisterType(url core.QUrl_ITF, uri string, versionMajor int, versionMinor int, qmlName string) int { + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + var qmlNameC *C.char + if qmlName != "" { + qmlNameC = C.CString(qmlName) + defer C.free(unsafe.Pointer(qmlNameC)) + } + return int(int32(C.QQmlEngine_QQmlEngine_QmlRegisterType(core.PointerFromQUrl(url), uriC, C.int(int32(versionMajor)), C.int(int32(versionMinor)), qmlNameC))) +} + +func (ptr *QQmlEngine) QmlRegisterType(url core.QUrl_ITF, uri string, versionMajor int, versionMinor int, qmlName string) int { + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + var qmlNameC *C.char + if qmlName != "" { + qmlNameC = C.CString(qmlName) + defer C.free(unsafe.Pointer(qmlNameC)) + } + return int(int32(C.QQmlEngine_QQmlEngine_QmlRegisterType(core.PointerFromQUrl(url), uriC, C.int(int32(versionMajor)), C.int(int32(versionMinor)), qmlNameC))) +} + +func (ptr *QQmlEngine) __importPlugin_errors_atList(i int) *QQmlError { + if ptr.Pointer() != nil { + tmpValue := NewQQmlErrorFromPointer(C.QQmlEngine___importPlugin_errors_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue + } + return nil +} + +func (ptr *QQmlEngine) __importPlugin_errors_setList(i QQmlError_ITF) { + if ptr.Pointer() != nil { + C.QQmlEngine___importPlugin_errors_setList(ptr.Pointer(), PointerFromQQmlError(i)) + } +} + +func (ptr *QQmlEngine) __importPlugin_errors_newList() unsafe.Pointer { + return C.QQmlEngine___importPlugin_errors_newList(ptr.Pointer()) +} + +func (ptr *QQmlEngine) __qmlDebug_errors_atList3(i int) *QQmlError { + if ptr.Pointer() != nil { + tmpValue := NewQQmlErrorFromPointer(C.QQmlEngine___qmlDebug_errors_atList3(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue + } + return nil +} + +func (ptr *QQmlEngine) __qmlDebug_errors_setList3(i QQmlError_ITF) { + if ptr.Pointer() != nil { + C.QQmlEngine___qmlDebug_errors_setList3(ptr.Pointer(), PointerFromQQmlError(i)) + } +} + +func (ptr *QQmlEngine) __qmlDebug_errors_newList3() unsafe.Pointer { + return C.QQmlEngine___qmlDebug_errors_newList3(ptr.Pointer()) +} + +func (ptr *QQmlEngine) __qmlInfo_errors_atList3(i int) *QQmlError { + if ptr.Pointer() != nil { + tmpValue := NewQQmlErrorFromPointer(C.QQmlEngine___qmlInfo_errors_atList3(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue + } + return nil +} + +func (ptr *QQmlEngine) __qmlInfo_errors_setList3(i QQmlError_ITF) { + if ptr.Pointer() != nil { + C.QQmlEngine___qmlInfo_errors_setList3(ptr.Pointer(), PointerFromQQmlError(i)) + } +} + +func (ptr *QQmlEngine) __qmlInfo_errors_newList3() unsafe.Pointer { + return C.QQmlEngine___qmlInfo_errors_newList3(ptr.Pointer()) +} + +func (ptr *QQmlEngine) __qmlWarning_errors_atList3(i int) *QQmlError { + if ptr.Pointer() != nil { + tmpValue := NewQQmlErrorFromPointer(C.QQmlEngine___qmlWarning_errors_atList3(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue + } + return nil +} + +func (ptr *QQmlEngine) __qmlWarning_errors_setList3(i QQmlError_ITF) { + if ptr.Pointer() != nil { + C.QQmlEngine___qmlWarning_errors_setList3(ptr.Pointer(), PointerFromQQmlError(i)) + } +} + +func (ptr *QQmlEngine) __qmlWarning_errors_newList3() unsafe.Pointer { + return C.QQmlEngine___qmlWarning_errors_newList3(ptr.Pointer()) +} + +func (ptr *QQmlEngine) __warnings_warnings_atList(i int) *QQmlError { + if ptr.Pointer() != nil { + tmpValue := NewQQmlErrorFromPointer(C.QQmlEngine___warnings_warnings_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue + } + return nil +} + +func (ptr *QQmlEngine) __warnings_warnings_setList(i QQmlError_ITF) { + if ptr.Pointer() != nil { + C.QQmlEngine___warnings_warnings_setList(ptr.Pointer(), PointerFromQQmlError(i)) + } +} + +func (ptr *QQmlEngine) __warnings_warnings_newList() unsafe.Pointer { + return C.QQmlEngine___warnings_warnings_newList(ptr.Pointer()) +} + +type QQmlError struct { + ptr unsafe.Pointer +} + +type QQmlError_ITF interface { + QQmlError_PTR() *QQmlError +} + +func (ptr *QQmlError) QQmlError_PTR() *QQmlError { + return ptr +} + +func (ptr *QQmlError) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlError) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlError(ptr QQmlError_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlError_PTR().Pointer() + } + return nil +} + +func NewQQmlErrorFromPointer(ptr unsafe.Pointer) (n *QQmlError) { + n = new(QQmlError) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlError) DestroyQQmlError() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQQmlError() *QQmlError { + tmpValue := NewQQmlErrorFromPointer(C.QQmlError_NewQQmlError()) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue +} + +func NewQQmlError2(other QQmlError_ITF) *QQmlError { + tmpValue := NewQQmlErrorFromPointer(C.QQmlError_NewQQmlError2(PointerFromQQmlError(other))) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue +} + +func (ptr *QQmlError) Column() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlError_Column(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QQmlError) Description() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlError_Description(ptr.Pointer())) + } + return "" +} + +func (ptr *QQmlError) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlError_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlError) Line() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlError_Line(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QQmlError) Object() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlError_Object(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlError) SetColumn(column int) { + if ptr.Pointer() != nil { + C.QQmlError_SetColumn(ptr.Pointer(), C.int(int32(column))) + } +} + +func (ptr *QQmlError) SetDescription(description string) { + if ptr.Pointer() != nil { + var descriptionC *C.char + if description != "" { + descriptionC = C.CString(description) + defer C.free(unsafe.Pointer(descriptionC)) + } + C.QQmlError_SetDescription(ptr.Pointer(), C.struct_QtQml_PackedString{data: descriptionC, len: C.longlong(len(description))}) + } +} + +func (ptr *QQmlError) SetLine(line int) { + if ptr.Pointer() != nil { + C.QQmlError_SetLine(ptr.Pointer(), C.int(int32(line))) + } +} + +func (ptr *QQmlError) SetObject(object core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlError_SetObject(ptr.Pointer(), core.PointerFromQObject(object)) + } +} + +func (ptr *QQmlError) SetUrl(url core.QUrl_ITF) { + if ptr.Pointer() != nil { + C.QQmlError_SetUrl(ptr.Pointer(), core.PointerFromQUrl(url)) + } +} + +func (ptr *QQmlError) ToString() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlError_ToString(ptr.Pointer())) + } + return "" +} + +func (ptr *QQmlError) Url() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QQmlError_Url(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +type QQmlExpression struct { + core.QObject +} + +type QQmlExpression_ITF interface { + core.QObject_ITF + QQmlExpression_PTR() *QQmlExpression +} + +func (ptr *QQmlExpression) QQmlExpression_PTR() *QQmlExpression { + return ptr +} + +func (ptr *QQmlExpression) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QQmlExpression) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQQmlExpression(ptr QQmlExpression_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlExpression_PTR().Pointer() + } + return nil +} + +func NewQQmlExpressionFromPointer(ptr unsafe.Pointer) (n *QQmlExpression) { + n = new(QQmlExpression) + n.SetPointer(ptr) + return +} +func NewQQmlExpression() *QQmlExpression { + tmpValue := NewQQmlExpressionFromPointer(C.QQmlExpression_NewQQmlExpression()) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQQmlExpression2(ctxt QQmlContext_ITF, scope core.QObject_ITF, expression string, parent core.QObject_ITF) *QQmlExpression { + var expressionC *C.char + if expression != "" { + expressionC = C.CString(expression) + defer C.free(unsafe.Pointer(expressionC)) + } + tmpValue := NewQQmlExpressionFromPointer(C.QQmlExpression_NewQQmlExpression2(PointerFromQQmlContext(ctxt), core.PointerFromQObject(scope), C.struct_QtQml_PackedString{data: expressionC, len: C.longlong(len(expression))}, core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func NewQQmlExpression3(scri QQmlScriptString_ITF, ctxt QQmlContext_ITF, scope core.QObject_ITF, parent core.QObject_ITF) *QQmlExpression { + tmpValue := NewQQmlExpressionFromPointer(C.QQmlExpression_NewQQmlExpression3(PointerFromQQmlScriptString(scri), PointerFromQQmlContext(ctxt), core.PointerFromQObject(scope), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QQmlExpression) ClearError() { + if ptr.Pointer() != nil { + C.QQmlExpression_ClearError(ptr.Pointer()) + } +} + +func (ptr *QQmlExpression) ColumnNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlExpression_ColumnNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QQmlExpression) Context() *QQmlContext { + if ptr.Pointer() != nil { + tmpValue := NewQQmlContextFromPointer(C.QQmlExpression_Context(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) Engine() *QQmlEngine { + if ptr.Pointer() != nil { + tmpValue := NewQQmlEngineFromPointer(C.QQmlExpression_Engine(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) Error() *QQmlError { + if ptr.Pointer() != nil { + tmpValue := NewQQmlErrorFromPointer(C.QQmlExpression_Error(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) Evaluate(valueIsUndefined *bool) *core.QVariant { + if ptr.Pointer() != nil { + var valueIsUndefinedC C.char + if valueIsUndefined != nil { + valueIsUndefinedC = C.char(int8(qt.GoBoolToInt(*valueIsUndefined))) + defer func() { *valueIsUndefined = int8(valueIsUndefinedC) != 0 }() + } + tmpValue := core.NewQVariantFromPointer(C.QQmlExpression_Evaluate(ptr.Pointer(), &valueIsUndefinedC)) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) Expression() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlExpression_Expression(ptr.Pointer())) + } + return "" +} + +func (ptr *QQmlExpression) HasError() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlExpression_HasError(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlExpression) LineNumber() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlExpression_LineNumber(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QQmlExpression) NotifyOnValueChanged() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlExpression_NotifyOnValueChanged(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlExpression) ScopeObject() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlExpression_ScopeObject(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) SetExpression(expression string) { + if ptr.Pointer() != nil { + var expressionC *C.char + if expression != "" { + expressionC = C.CString(expression) + defer C.free(unsafe.Pointer(expressionC)) + } + C.QQmlExpression_SetExpression(ptr.Pointer(), C.struct_QtQml_PackedString{data: expressionC, len: C.longlong(len(expression))}) + } +} + +func (ptr *QQmlExpression) SetNotifyOnValueChanged(notifyOnChange bool) { + if ptr.Pointer() != nil { + C.QQmlExpression_SetNotifyOnValueChanged(ptr.Pointer(), C.char(int8(qt.GoBoolToInt(notifyOnChange)))) + } +} + +func (ptr *QQmlExpression) SetSourceLocation(url string, line int, column int) { + if ptr.Pointer() != nil { + var urlC *C.char + if url != "" { + urlC = C.CString(url) + defer C.free(unsafe.Pointer(urlC)) + } + C.QQmlExpression_SetSourceLocation(ptr.Pointer(), C.struct_QtQml_PackedString{data: urlC, len: C.longlong(len(url))}, C.int(int32(line)), C.int(int32(column))) + } +} + +func (ptr *QQmlExpression) SourceFile() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlExpression_SourceFile(ptr.Pointer())) + } + return "" +} + +//export callbackQQmlExpression_ValueChanged +func callbackQQmlExpression_ValueChanged(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "valueChanged"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QQmlExpression) ConnectValueChanged(f func()) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "valueChanged") { + C.QQmlExpression_ConnectValueChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "valueChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "valueChanged"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "valueChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "valueChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlExpression) DisconnectValueChanged() { + if ptr.Pointer() != nil { + C.QQmlExpression_DisconnectValueChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "valueChanged") + } +} + +func (ptr *QQmlExpression) ValueChanged() { + if ptr.Pointer() != nil { + C.QQmlExpression_ValueChanged(ptr.Pointer()) + } +} + +//export callbackQQmlExpression_DestroyQQmlExpression +func callbackQQmlExpression_DestroyQQmlExpression(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlExpression"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlExpressionFromPointer(ptr).DestroyQQmlExpressionDefault() + } +} + +func (ptr *QQmlExpression) ConnectDestroyQQmlExpression(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlExpression"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlExpression", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlExpression", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlExpression) DisconnectDestroyQQmlExpression() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlExpression") + } +} + +func (ptr *QQmlExpression) DestroyQQmlExpression() { + if ptr.Pointer() != nil { + C.QQmlExpression_DestroyQQmlExpression(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlExpression) DestroyQQmlExpressionDefault() { + if ptr.Pointer() != nil { + C.QQmlExpression_DestroyQQmlExpressionDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlExpression) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlExpression___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlExpression) __children_newList() unsafe.Pointer { + return C.QQmlExpression___children_newList(ptr.Pointer()) +} + +func (ptr *QQmlExpression) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QQmlExpression___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QQmlExpression) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QQmlExpression___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QQmlExpression) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlExpression___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlExpression) __findChildren_newList() unsafe.Pointer { + return C.QQmlExpression___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QQmlExpression) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlExpression___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlExpression) __findChildren_newList3() unsafe.Pointer { + return C.QQmlExpression___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QQmlExpression) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlExpression___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExpression) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlExpression) __qFindChildren_newList2() unsafe.Pointer { + return C.QQmlExpression___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQQmlExpression_ChildEvent +func callbackQQmlExpression_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQQmlExpressionFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QQmlExpression) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQQmlExpression_ConnectNotify +func callbackQQmlExpression_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlExpressionFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlExpression) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlExpression_CustomEvent +func callbackQQmlExpression_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQQmlExpressionFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QQmlExpression) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQQmlExpression_DeleteLater +func callbackQQmlExpression_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlExpressionFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QQmlExpression) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QQmlExpression_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQQmlExpression_Destroyed +func callbackQQmlExpression_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQQmlExpression_DisconnectNotify +func callbackQQmlExpression_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlExpressionFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlExpression) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlExpression_Event +func callbackQQmlExpression_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlExpressionFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QQmlExpression) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlExpression_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQQmlExpression_EventFilter +func callbackQQmlExpression_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlExpressionFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QQmlExpression) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlExpression_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQQmlExpression_MetaObject +func callbackQQmlExpression_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQQmlExpressionFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QQmlExpression) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QQmlExpression_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQQmlExpression_ObjectNameChanged +func callbackQQmlExpression_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQQmlExpression_TimerEvent +func callbackQQmlExpression_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQQmlExpressionFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QQmlExpression) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlExpression_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QQmlExtensionPlugin struct { + core.QObject +} + +type QQmlExtensionPlugin_ITF interface { + core.QObject_ITF + QQmlExtensionPlugin_PTR() *QQmlExtensionPlugin +} + +func (ptr *QQmlExtensionPlugin) QQmlExtensionPlugin_PTR() *QQmlExtensionPlugin { + return ptr +} + +func (ptr *QQmlExtensionPlugin) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QQmlExtensionPlugin) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQQmlExtensionPlugin(ptr QQmlExtensionPlugin_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlExtensionPlugin_PTR().Pointer() + } + return nil +} + +func NewQQmlExtensionPluginFromPointer(ptr unsafe.Pointer) (n *QQmlExtensionPlugin) { + n = new(QQmlExtensionPlugin) + n.SetPointer(ptr) + return +} +func NewQQmlExtensionPlugin(parent core.QObject_ITF) *QQmlExtensionPlugin { + tmpValue := NewQQmlExtensionPluginFromPointer(C.QQmlExtensionPlugin_NewQQmlExtensionPlugin(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QQmlExtensionPlugin) BaseUrl() *core.QUrl { + if ptr.Pointer() != nil { + tmpValue := core.NewQUrlFromPointer(C.QQmlExtensionPlugin_BaseUrl(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QUrl).DestroyQUrl) + return tmpValue + } + return nil +} + +//export callbackQQmlExtensionPlugin_InitializeEngine +func callbackQQmlExtensionPlugin_InitializeEngine(ptr unsafe.Pointer, engine unsafe.Pointer, uri C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "initializeEngine"); signal != nil { + (*(*func(*QQmlEngine, string))(signal))(NewQQmlEngineFromPointer(engine), cGoUnpackString(uri)) + } else { + NewQQmlExtensionPluginFromPointer(ptr).InitializeEngineDefault(NewQQmlEngineFromPointer(engine), cGoUnpackString(uri)) + } +} + +func (ptr *QQmlExtensionPlugin) ConnectInitializeEngine(f func(engine *QQmlEngine, uri string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "initializeEngine"); signal != nil { + f := func(engine *QQmlEngine, uri string) { + (*(*func(*QQmlEngine, string))(signal))(engine, uri) + f(engine, uri) + } + qt.ConnectSignal(ptr.Pointer(), "initializeEngine", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "initializeEngine", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlExtensionPlugin) DisconnectInitializeEngine() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "initializeEngine") + } +} + +func (ptr *QQmlExtensionPlugin) InitializeEngine(engine QQmlEngine_ITF, uri string) { + if ptr.Pointer() != nil { + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + C.QQmlExtensionPlugin_InitializeEngine(ptr.Pointer(), PointerFromQQmlEngine(engine), uriC) + } +} + +func (ptr *QQmlExtensionPlugin) InitializeEngineDefault(engine QQmlEngine_ITF, uri string) { + if ptr.Pointer() != nil { + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + C.QQmlExtensionPlugin_InitializeEngineDefault(ptr.Pointer(), PointerFromQQmlEngine(engine), uriC) + } +} + +//export callbackQQmlExtensionPlugin_RegisterTypes +func callbackQQmlExtensionPlugin_RegisterTypes(ptr unsafe.Pointer, uri C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "registerTypes"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(uri)) + } + +} + +func (ptr *QQmlExtensionPlugin) ConnectRegisterTypes(f func(uri string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "registerTypes"); signal != nil { + f := func(uri string) { + (*(*func(string))(signal))(uri) + f(uri) + } + qt.ConnectSignal(ptr.Pointer(), "registerTypes", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "registerTypes", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlExtensionPlugin) DisconnectRegisterTypes() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "registerTypes") + } +} + +func (ptr *QQmlExtensionPlugin) RegisterTypes(uri string) { + if ptr.Pointer() != nil { + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + C.QQmlExtensionPlugin_RegisterTypes(ptr.Pointer(), uriC) + } +} + +func (ptr *QQmlExtensionPlugin) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlExtensionPlugin___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExtensionPlugin) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlExtensionPlugin) __children_newList() unsafe.Pointer { + return C.QQmlExtensionPlugin___children_newList(ptr.Pointer()) +} + +func (ptr *QQmlExtensionPlugin) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QQmlExtensionPlugin___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QQmlExtensionPlugin) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QQmlExtensionPlugin) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QQmlExtensionPlugin___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QQmlExtensionPlugin) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlExtensionPlugin___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExtensionPlugin) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlExtensionPlugin) __findChildren_newList() unsafe.Pointer { + return C.QQmlExtensionPlugin___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QQmlExtensionPlugin) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlExtensionPlugin___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExtensionPlugin) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlExtensionPlugin) __findChildren_newList3() unsafe.Pointer { + return C.QQmlExtensionPlugin___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QQmlExtensionPlugin) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlExtensionPlugin___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlExtensionPlugin) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlExtensionPlugin) __qFindChildren_newList2() unsafe.Pointer { + return C.QQmlExtensionPlugin___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQQmlExtensionPlugin_ChildEvent +func callbackQQmlExtensionPlugin_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQQmlExtensionPluginFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QQmlExtensionPlugin) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQQmlExtensionPlugin_ConnectNotify +func callbackQQmlExtensionPlugin_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlExtensionPluginFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlExtensionPlugin) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlExtensionPlugin_CustomEvent +func callbackQQmlExtensionPlugin_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQQmlExtensionPluginFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QQmlExtensionPlugin) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQQmlExtensionPlugin_DeleteLater +func callbackQQmlExtensionPlugin_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlExtensionPluginFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QQmlExtensionPlugin) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQQmlExtensionPlugin_Destroyed +func callbackQQmlExtensionPlugin_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQQmlExtensionPlugin_DisconnectNotify +func callbackQQmlExtensionPlugin_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlExtensionPluginFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlExtensionPlugin) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlExtensionPlugin_Event +func callbackQQmlExtensionPlugin_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlExtensionPluginFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QQmlExtensionPlugin) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlExtensionPlugin_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQQmlExtensionPlugin_EventFilter +func callbackQQmlExtensionPlugin_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlExtensionPluginFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QQmlExtensionPlugin) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlExtensionPlugin_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQQmlExtensionPlugin_MetaObject +func callbackQQmlExtensionPlugin_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQQmlExtensionPluginFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QQmlExtensionPlugin) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QQmlExtensionPlugin_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQQmlExtensionPlugin_ObjectNameChanged +func callbackQQmlExtensionPlugin_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQQmlExtensionPlugin_TimerEvent +func callbackQQmlExtensionPlugin_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQQmlExtensionPluginFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QQmlExtensionPlugin) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlExtensionPlugin_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QQmlFileSelector struct { + core.QObject +} + +type QQmlFileSelector_ITF interface { + core.QObject_ITF + QQmlFileSelector_PTR() *QQmlFileSelector +} + +func (ptr *QQmlFileSelector) QQmlFileSelector_PTR() *QQmlFileSelector { + return ptr +} + +func (ptr *QQmlFileSelector) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QQmlFileSelector) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQQmlFileSelector(ptr QQmlFileSelector_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlFileSelector_PTR().Pointer() + } + return nil +} + +func NewQQmlFileSelectorFromPointer(ptr unsafe.Pointer) (n *QQmlFileSelector) { + n = new(QQmlFileSelector) + n.SetPointer(ptr) + return +} +func NewQQmlFileSelector(engine QQmlEngine_ITF, parent core.QObject_ITF) *QQmlFileSelector { + tmpValue := NewQQmlFileSelectorFromPointer(C.QQmlFileSelector_NewQQmlFileSelector(PointerFromQQmlEngine(engine), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func QQmlFileSelector_Get(engine QQmlEngine_ITF) *QQmlFileSelector { + tmpValue := NewQQmlFileSelectorFromPointer(C.QQmlFileSelector_QQmlFileSelector_Get(PointerFromQQmlEngine(engine))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QQmlFileSelector) Get(engine QQmlEngine_ITF) *QQmlFileSelector { + tmpValue := NewQQmlFileSelectorFromPointer(C.QQmlFileSelector_QQmlFileSelector_Get(PointerFromQQmlEngine(engine))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QQmlFileSelector) Selector() *core.QFileSelector { + if ptr.Pointer() != nil { + tmpValue := core.NewQFileSelectorFromPointer(C.QQmlFileSelector_Selector(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlFileSelector) SetExtraSelectors(strin []string) { + if ptr.Pointer() != nil { + strinC := C.CString(strings.Join(strin, "¡¦!")) + defer C.free(unsafe.Pointer(strinC)) + C.QQmlFileSelector_SetExtraSelectors(ptr.Pointer(), C.struct_QtQml_PackedString{data: strinC, len: C.longlong(len(strings.Join(strin, "¡¦!")))}) + } +} + +func (ptr *QQmlFileSelector) SetExtraSelectors2(strin []string) { + if ptr.Pointer() != nil { + strinC := C.CString(strings.Join(strin, "¡¦!")) + defer C.free(unsafe.Pointer(strinC)) + C.QQmlFileSelector_SetExtraSelectors2(ptr.Pointer(), C.struct_QtQml_PackedString{data: strinC, len: C.longlong(len(strings.Join(strin, "¡¦!")))}) + } +} + +func (ptr *QQmlFileSelector) SetSelector(selector core.QFileSelector_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector_SetSelector(ptr.Pointer(), core.PointerFromQFileSelector(selector)) + } +} + +//export callbackQQmlFileSelector_DestroyQQmlFileSelector +func callbackQQmlFileSelector_DestroyQQmlFileSelector(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlFileSelector"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlFileSelectorFromPointer(ptr).DestroyQQmlFileSelectorDefault() + } +} + +func (ptr *QQmlFileSelector) ConnectDestroyQQmlFileSelector(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlFileSelector"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlFileSelector", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlFileSelector", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlFileSelector) DisconnectDestroyQQmlFileSelector() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlFileSelector") + } +} + +func (ptr *QQmlFileSelector) DestroyQQmlFileSelector() { + if ptr.Pointer() != nil { + C.QQmlFileSelector_DestroyQQmlFileSelector(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlFileSelector) DestroyQQmlFileSelectorDefault() { + if ptr.Pointer() != nil { + C.QQmlFileSelector_DestroyQQmlFileSelectorDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlFileSelector) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlFileSelector___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlFileSelector) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlFileSelector) __children_newList() unsafe.Pointer { + return C.QQmlFileSelector___children_newList(ptr.Pointer()) +} + +func (ptr *QQmlFileSelector) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QQmlFileSelector___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QQmlFileSelector) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QQmlFileSelector) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QQmlFileSelector___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QQmlFileSelector) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlFileSelector___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlFileSelector) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlFileSelector) __findChildren_newList() unsafe.Pointer { + return C.QQmlFileSelector___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QQmlFileSelector) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlFileSelector___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlFileSelector) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlFileSelector) __findChildren_newList3() unsafe.Pointer { + return C.QQmlFileSelector___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QQmlFileSelector) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlFileSelector___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlFileSelector) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlFileSelector) __qFindChildren_newList2() unsafe.Pointer { + return C.QQmlFileSelector___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQQmlFileSelector_ChildEvent +func callbackQQmlFileSelector_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQQmlFileSelectorFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QQmlFileSelector) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQQmlFileSelector_ConnectNotify +func callbackQQmlFileSelector_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlFileSelectorFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlFileSelector) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlFileSelector_CustomEvent +func callbackQQmlFileSelector_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQQmlFileSelectorFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QQmlFileSelector) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQQmlFileSelector_DeleteLater +func callbackQQmlFileSelector_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlFileSelectorFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QQmlFileSelector) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QQmlFileSelector_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQQmlFileSelector_Destroyed +func callbackQQmlFileSelector_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQQmlFileSelector_DisconnectNotify +func callbackQQmlFileSelector_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlFileSelectorFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlFileSelector) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlFileSelector_Event +func callbackQQmlFileSelector_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlFileSelectorFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QQmlFileSelector) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlFileSelector_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQQmlFileSelector_EventFilter +func callbackQQmlFileSelector_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlFileSelectorFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QQmlFileSelector) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlFileSelector_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQQmlFileSelector_MetaObject +func callbackQQmlFileSelector_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQQmlFileSelectorFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QQmlFileSelector) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QQmlFileSelector_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQQmlFileSelector_ObjectNameChanged +func callbackQQmlFileSelector_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQQmlFileSelector_TimerEvent +func callbackQQmlFileSelector_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQQmlFileSelectorFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QQmlFileSelector) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlFileSelector_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QQmlImageProviderBase struct { + ptr unsafe.Pointer +} + +type QQmlImageProviderBase_ITF interface { + QQmlImageProviderBase_PTR() *QQmlImageProviderBase +} + +func (ptr *QQmlImageProviderBase) QQmlImageProviderBase_PTR() *QQmlImageProviderBase { + return ptr +} + +func (ptr *QQmlImageProviderBase) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlImageProviderBase) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlImageProviderBase(ptr QQmlImageProviderBase_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlImageProviderBase_PTR().Pointer() + } + return nil +} + +func NewQQmlImageProviderBaseFromPointer(ptr unsafe.Pointer) (n *QQmlImageProviderBase) { + n = new(QQmlImageProviderBase) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlImageProviderBase) DestroyQQmlImageProviderBase() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QQmlImageProviderBase__ImageType +//QQmlImageProviderBase::ImageType +type QQmlImageProviderBase__ImageType int64 + +const ( + QQmlImageProviderBase__Image QQmlImageProviderBase__ImageType = QQmlImageProviderBase__ImageType(0) + QQmlImageProviderBase__Pixmap QQmlImageProviderBase__ImageType = QQmlImageProviderBase__ImageType(1) + QQmlImageProviderBase__Texture QQmlImageProviderBase__ImageType = QQmlImageProviderBase__ImageType(2) + QQmlImageProviderBase__Invalid QQmlImageProviderBase__ImageType = QQmlImageProviderBase__ImageType(3) + QQmlImageProviderBase__ImageResponse QQmlImageProviderBase__ImageType = QQmlImageProviderBase__ImageType(4) +) + +//go:generate stringer -type=QQmlImageProviderBase__Flag +//QQmlImageProviderBase::Flag +type QQmlImageProviderBase__Flag int64 + +const ( + QQmlImageProviderBase__ForceAsynchronousImageLoading QQmlImageProviderBase__Flag = QQmlImageProviderBase__Flag(0x01) +) + +//export callbackQQmlImageProviderBase_Flags +func callbackQQmlImageProviderBase_Flags(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "flags"); signal != nil { + return C.longlong((*(*func() QQmlImageProviderBase__Flag)(signal))()) + } + + return C.longlong(0) +} + +func (ptr *QQmlImageProviderBase) ConnectFlags(f func() QQmlImageProviderBase__Flag) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "flags"); signal != nil { + f := func() QQmlImageProviderBase__Flag { + (*(*func() QQmlImageProviderBase__Flag)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "flags", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "flags", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlImageProviderBase) DisconnectFlags() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "flags") + } +} + +func (ptr *QQmlImageProviderBase) Flags() QQmlImageProviderBase__Flag { + if ptr.Pointer() != nil { + return QQmlImageProviderBase__Flag(C.QQmlImageProviderBase_Flags(ptr.Pointer())) + } + return 0 +} + +//export callbackQQmlImageProviderBase_ImageType +func callbackQQmlImageProviderBase_ImageType(ptr unsafe.Pointer) C.longlong { + if signal := qt.GetSignal(ptr, "imageType"); signal != nil { + return C.longlong((*(*func() QQmlImageProviderBase__ImageType)(signal))()) + } + + return C.longlong(0) +} + +func (ptr *QQmlImageProviderBase) ConnectImageType(f func() QQmlImageProviderBase__ImageType) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "imageType"); signal != nil { + f := func() QQmlImageProviderBase__ImageType { + (*(*func() QQmlImageProviderBase__ImageType)(signal))() + return f() + } + qt.ConnectSignal(ptr.Pointer(), "imageType", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "imageType", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlImageProviderBase) DisconnectImageType() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "imageType") + } +} + +func (ptr *QQmlImageProviderBase) ImageType() QQmlImageProviderBase__ImageType { + if ptr.Pointer() != nil { + return QQmlImageProviderBase__ImageType(C.QQmlImageProviderBase_ImageType(ptr.Pointer())) + } + return 0 +} + +type QQmlIncubationController struct { + ptr unsafe.Pointer +} + +type QQmlIncubationController_ITF interface { + QQmlIncubationController_PTR() *QQmlIncubationController +} + +func (ptr *QQmlIncubationController) QQmlIncubationController_PTR() *QQmlIncubationController { + return ptr +} + +func (ptr *QQmlIncubationController) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlIncubationController) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlIncubationController(ptr QQmlIncubationController_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlIncubationController_PTR().Pointer() + } + return nil +} + +func NewQQmlIncubationControllerFromPointer(ptr unsafe.Pointer) (n *QQmlIncubationController) { + n = new(QQmlIncubationController) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlIncubationController) DestroyQQmlIncubationController() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQQmlIncubationController2() *QQmlIncubationController { + return NewQQmlIncubationControllerFromPointer(C.QQmlIncubationController_NewQQmlIncubationController2()) +} + +func (ptr *QQmlIncubationController) Engine() *QQmlEngine { + if ptr.Pointer() != nil { + tmpValue := NewQQmlEngineFromPointer(C.QQmlIncubationController_Engine(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlIncubationController) IncubateFor(msecs int) { + if ptr.Pointer() != nil { + C.QQmlIncubationController_IncubateFor(ptr.Pointer(), C.int(int32(msecs))) + } +} + +func (ptr *QQmlIncubationController) IncubatingObjectCount() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlIncubationController_IncubatingObjectCount(ptr.Pointer()))) + } + return 0 +} + +//export callbackQQmlIncubationController_IncubatingObjectCountChanged +func callbackQQmlIncubationController_IncubatingObjectCountChanged(ptr unsafe.Pointer, incubatingObjectCount C.int) { + if signal := qt.GetSignal(ptr, "incubatingObjectCountChanged"); signal != nil { + (*(*func(int))(signal))(int(int32(incubatingObjectCount))) + } else { + NewQQmlIncubationControllerFromPointer(ptr).IncubatingObjectCountChangedDefault(int(int32(incubatingObjectCount))) + } +} + +func (ptr *QQmlIncubationController) ConnectIncubatingObjectCountChanged(f func(incubatingObjectCount int)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "incubatingObjectCountChanged"); signal != nil { + f := func(incubatingObjectCount int) { + (*(*func(int))(signal))(incubatingObjectCount) + f(incubatingObjectCount) + } + qt.ConnectSignal(ptr.Pointer(), "incubatingObjectCountChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "incubatingObjectCountChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlIncubationController) DisconnectIncubatingObjectCountChanged() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "incubatingObjectCountChanged") + } +} + +func (ptr *QQmlIncubationController) IncubatingObjectCountChanged(incubatingObjectCount int) { + if ptr.Pointer() != nil { + C.QQmlIncubationController_IncubatingObjectCountChanged(ptr.Pointer(), C.int(int32(incubatingObjectCount))) + } +} + +func (ptr *QQmlIncubationController) IncubatingObjectCountChangedDefault(incubatingObjectCount int) { + if ptr.Pointer() != nil { + C.QQmlIncubationController_IncubatingObjectCountChangedDefault(ptr.Pointer(), C.int(int32(incubatingObjectCount))) + } +} + +type QQmlIncubator struct { + ptr unsafe.Pointer +} + +type QQmlIncubator_ITF interface { + QQmlIncubator_PTR() *QQmlIncubator +} + +func (ptr *QQmlIncubator) QQmlIncubator_PTR() *QQmlIncubator { + return ptr +} + +func (ptr *QQmlIncubator) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlIncubator) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlIncubator(ptr QQmlIncubator_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlIncubator_PTR().Pointer() + } + return nil +} + +func NewQQmlIncubatorFromPointer(ptr unsafe.Pointer) (n *QQmlIncubator) { + n = new(QQmlIncubator) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlIncubator) DestroyQQmlIncubator() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QQmlIncubator__IncubationMode +//QQmlIncubator::IncubationMode +type QQmlIncubator__IncubationMode int64 + +const ( + QQmlIncubator__Asynchronous QQmlIncubator__IncubationMode = QQmlIncubator__IncubationMode(0) + QQmlIncubator__AsynchronousIfNested QQmlIncubator__IncubationMode = QQmlIncubator__IncubationMode(1) + QQmlIncubator__Synchronous QQmlIncubator__IncubationMode = QQmlIncubator__IncubationMode(2) +) + +//go:generate stringer -type=QQmlIncubator__Status +//QQmlIncubator::Status +type QQmlIncubator__Status int64 + +const ( + QQmlIncubator__Null QQmlIncubator__Status = QQmlIncubator__Status(0) + QQmlIncubator__Ready QQmlIncubator__Status = QQmlIncubator__Status(1) + QQmlIncubator__Loading QQmlIncubator__Status = QQmlIncubator__Status(2) + QQmlIncubator__Error QQmlIncubator__Status = QQmlIncubator__Status(3) +) + +func NewQQmlIncubator2(mode QQmlIncubator__IncubationMode) *QQmlIncubator { + return NewQQmlIncubatorFromPointer(C.QQmlIncubator_NewQQmlIncubator2(C.longlong(mode))) +} + +func (ptr *QQmlIncubator) Clear() { + if ptr.Pointer() != nil { + C.QQmlIncubator_Clear(ptr.Pointer()) + } +} + +func (ptr *QQmlIncubator) Errors() []*QQmlError { + if ptr.Pointer() != nil { + return func(l C.struct_QtQml_PackedList) []*QQmlError { + out := make([]*QQmlError, int(l.len)) + tmpList := NewQQmlIncubatorFromPointer(l.data) + for i := 0; i < len(out); i++ { + out[i] = tmpList.__errors_atList(i) + } + return out + }(C.QQmlIncubator_Errors(ptr.Pointer())) + } + return make([]*QQmlError, 0) +} + +func (ptr *QQmlIncubator) ForceCompletion() { + if ptr.Pointer() != nil { + C.QQmlIncubator_ForceCompletion(ptr.Pointer()) + } +} + +func (ptr *QQmlIncubator) IncubationMode() QQmlIncubator__IncubationMode { + if ptr.Pointer() != nil { + return QQmlIncubator__IncubationMode(C.QQmlIncubator_IncubationMode(ptr.Pointer())) + } + return 0 +} + +func (ptr *QQmlIncubator) IsError() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlIncubator_IsError(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlIncubator) IsLoading() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlIncubator_IsLoading(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlIncubator) IsNull() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlIncubator_IsNull(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlIncubator) IsReady() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlIncubator_IsReady(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlIncubator) Object() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlIncubator_Object(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQQmlIncubator_SetInitialState +func callbackQQmlIncubator_SetInitialState(ptr unsafe.Pointer, object unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setInitialState"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(object)) + } else { + NewQQmlIncubatorFromPointer(ptr).SetInitialStateDefault(core.NewQObjectFromPointer(object)) + } +} + +func (ptr *QQmlIncubator) ConnectSetInitialState(f func(object *core.QObject)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setInitialState"); signal != nil { + f := func(object *core.QObject) { + (*(*func(*core.QObject))(signal))(object) + f(object) + } + qt.ConnectSignal(ptr.Pointer(), "setInitialState", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setInitialState", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlIncubator) DisconnectSetInitialState() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setInitialState") + } +} + +func (ptr *QQmlIncubator) SetInitialState(object core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlIncubator_SetInitialState(ptr.Pointer(), core.PointerFromQObject(object)) + } +} + +func (ptr *QQmlIncubator) SetInitialStateDefault(object core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlIncubator_SetInitialStateDefault(ptr.Pointer(), core.PointerFromQObject(object)) + } +} + +func (ptr *QQmlIncubator) Status() QQmlIncubator__Status { + if ptr.Pointer() != nil { + return QQmlIncubator__Status(C.QQmlIncubator_Status(ptr.Pointer())) + } + return 0 +} + +//export callbackQQmlIncubator_StatusChanged +func callbackQQmlIncubator_StatusChanged(ptr unsafe.Pointer, status C.longlong) { + if signal := qt.GetSignal(ptr, "statusChanged"); signal != nil { + (*(*func(QQmlIncubator__Status))(signal))(QQmlIncubator__Status(status)) + } else { + NewQQmlIncubatorFromPointer(ptr).StatusChangedDefault(QQmlIncubator__Status(status)) + } +} + +func (ptr *QQmlIncubator) ConnectStatusChanged(f func(status QQmlIncubator__Status)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "statusChanged"); signal != nil { + f := func(status QQmlIncubator__Status) { + (*(*func(QQmlIncubator__Status))(signal))(status) + f(status) + } + qt.ConnectSignal(ptr.Pointer(), "statusChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "statusChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlIncubator) DisconnectStatusChanged() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "statusChanged") + } +} + +func (ptr *QQmlIncubator) StatusChanged(status QQmlIncubator__Status) { + if ptr.Pointer() != nil { + C.QQmlIncubator_StatusChanged(ptr.Pointer(), C.longlong(status)) + } +} + +func (ptr *QQmlIncubator) StatusChangedDefault(status QQmlIncubator__Status) { + if ptr.Pointer() != nil { + C.QQmlIncubator_StatusChangedDefault(ptr.Pointer(), C.longlong(status)) + } +} + +func (ptr *QQmlIncubator) __errors_atList(i int) *QQmlError { + if ptr.Pointer() != nil { + tmpValue := NewQQmlErrorFromPointer(C.QQmlIncubator___errors_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*QQmlError).DestroyQQmlError) + return tmpValue + } + return nil +} + +func (ptr *QQmlIncubator) __errors_setList(i QQmlError_ITF) { + if ptr.Pointer() != nil { + C.QQmlIncubator___errors_setList(ptr.Pointer(), PointerFromQQmlError(i)) + } +} + +func (ptr *QQmlIncubator) __errors_newList() unsafe.Pointer { + return C.QQmlIncubator___errors_newList(ptr.Pointer()) +} + +type QQmlInfo struct { + core.QDebug +} + +type QQmlInfo_ITF interface { + core.QDebug_ITF + QQmlInfo_PTR() *QQmlInfo +} + +func (ptr *QQmlInfo) QQmlInfo_PTR() *QQmlInfo { + return ptr +} + +func (ptr *QQmlInfo) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QDebug_PTR().Pointer() + } + return nil +} + +func (ptr *QQmlInfo) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QDebug_PTR().SetPointer(p) + } +} + +func PointerFromQQmlInfo(ptr QQmlInfo_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlInfo_PTR().Pointer() + } + return nil +} + +func NewQQmlInfoFromPointer(ptr unsafe.Pointer) (n *QQmlInfo) { + n = new(QQmlInfo) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlInfo) DestroyQQmlInfo() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QQmlListProperty struct { + ptr unsafe.Pointer +} + +type QQmlListProperty_ITF interface { + QQmlListProperty_PTR() *QQmlListProperty +} + +func (ptr *QQmlListProperty) QQmlListProperty_PTR() *QQmlListProperty { + return ptr +} + +func (ptr *QQmlListProperty) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlListProperty) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlListProperty(ptr QQmlListProperty_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlListProperty_PTR().Pointer() + } + return nil +} + +func NewQQmlListPropertyFromPointer(ptr unsafe.Pointer) (n *QQmlListProperty) { + n = new(QQmlListProperty) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlListProperty) DestroyQQmlListProperty() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +type QQmlListReference struct { + ptr unsafe.Pointer +} + +type QQmlListReference_ITF interface { + QQmlListReference_PTR() *QQmlListReference +} + +func (ptr *QQmlListReference) QQmlListReference_PTR() *QQmlListReference { + return ptr +} + +func (ptr *QQmlListReference) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlListReference) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlListReference(ptr QQmlListReference_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlListReference_PTR().Pointer() + } + return nil +} + +func NewQQmlListReferenceFromPointer(ptr unsafe.Pointer) (n *QQmlListReference) { + n = new(QQmlListReference) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlListReference) DestroyQQmlListReference() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQQmlListReference() *QQmlListReference { + tmpValue := NewQQmlListReferenceFromPointer(C.QQmlListReference_NewQQmlListReference()) + runtime.SetFinalizer(tmpValue, (*QQmlListReference).DestroyQQmlListReference) + return tmpValue +} + +func NewQQmlListReference2(object core.QObject_ITF, property string, engine QQmlEngine_ITF) *QQmlListReference { + var propertyC *C.char + if property != "" { + propertyC = C.CString(property) + defer C.free(unsafe.Pointer(propertyC)) + } + tmpValue := NewQQmlListReferenceFromPointer(C.QQmlListReference_NewQQmlListReference2(core.PointerFromQObject(object), propertyC, PointerFromQQmlEngine(engine))) + runtime.SetFinalizer(tmpValue, (*QQmlListReference).DestroyQQmlListReference) + return tmpValue +} + +func (ptr *QQmlListReference) Append(object core.QObject_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlListReference_Append(ptr.Pointer(), core.PointerFromQObject(object))) != 0 + } + return false +} + +func (ptr *QQmlListReference) At(index int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlListReference_At(ptr.Pointer(), C.int(int32(index)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlListReference) CanAppend() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlListReference_CanAppend(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlListReference) CanAt() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlListReference_CanAt(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlListReference) CanClear() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlListReference_CanClear(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlListReference) CanCount() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlListReference_CanCount(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlListReference) Clear() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlListReference_Clear(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlListReference) Count() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlListReference_Count(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QQmlListReference) IsManipulable() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlListReference_IsManipulable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlListReference) IsReadable() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlListReference_IsReadable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlListReference) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlListReference_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlListReference) ListElementType() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QQmlListReference_ListElementType(ptr.Pointer())) + } + return nil +} + +func (ptr *QQmlListReference) Object() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlListReference_Object(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +type QQmlNetworkAccessManagerFactory struct { + ptr unsafe.Pointer +} + +type QQmlNetworkAccessManagerFactory_ITF interface { + QQmlNetworkAccessManagerFactory_PTR() *QQmlNetworkAccessManagerFactory +} + +func (ptr *QQmlNetworkAccessManagerFactory) QQmlNetworkAccessManagerFactory_PTR() *QQmlNetworkAccessManagerFactory { + return ptr +} + +func (ptr *QQmlNetworkAccessManagerFactory) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlNetworkAccessManagerFactory) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlNetworkAccessManagerFactory(ptr QQmlNetworkAccessManagerFactory_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlNetworkAccessManagerFactory_PTR().Pointer() + } + return nil +} + +func NewQQmlNetworkAccessManagerFactoryFromPointer(ptr unsafe.Pointer) (n *QQmlNetworkAccessManagerFactory) { + n = new(QQmlNetworkAccessManagerFactory) + n.SetPointer(ptr) + return +} + +//export callbackQQmlNetworkAccessManagerFactory_Create +func callbackQQmlNetworkAccessManagerFactory_Create(ptr unsafe.Pointer, parent unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "create"); signal != nil { + return network.PointerFromQNetworkAccessManager((*(*func(*core.QObject) *network.QNetworkAccessManager)(signal))(core.NewQObjectFromPointer(parent))) + } + + return network.PointerFromQNetworkAccessManager(network.NewQNetworkAccessManager(nil)) +} + +func (ptr *QQmlNetworkAccessManagerFactory) ConnectCreate(f func(parent *core.QObject) *network.QNetworkAccessManager) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "create"); signal != nil { + f := func(parent *core.QObject) *network.QNetworkAccessManager { + (*(*func(*core.QObject) *network.QNetworkAccessManager)(signal))(parent) + return f(parent) + } + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "create", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlNetworkAccessManagerFactory) DisconnectCreate() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "create") + } +} + +func (ptr *QQmlNetworkAccessManagerFactory) Create(parent core.QObject_ITF) *network.QNetworkAccessManager { + if ptr.Pointer() != nil { + tmpValue := network.NewQNetworkAccessManagerFromPointer(C.QQmlNetworkAccessManagerFactory_Create(ptr.Pointer(), core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +//export callbackQQmlNetworkAccessManagerFactory_DestroyQQmlNetworkAccessManagerFactory +func callbackQQmlNetworkAccessManagerFactory_DestroyQQmlNetworkAccessManagerFactory(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlNetworkAccessManagerFactory"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlNetworkAccessManagerFactoryFromPointer(ptr).DestroyQQmlNetworkAccessManagerFactoryDefault() + } +} + +func (ptr *QQmlNetworkAccessManagerFactory) ConnectDestroyQQmlNetworkAccessManagerFactory(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlNetworkAccessManagerFactory"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlNetworkAccessManagerFactory", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlNetworkAccessManagerFactory", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlNetworkAccessManagerFactory) DisconnectDestroyQQmlNetworkAccessManagerFactory() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlNetworkAccessManagerFactory") + } +} + +func (ptr *QQmlNetworkAccessManagerFactory) DestroyQQmlNetworkAccessManagerFactory() { + if ptr.Pointer() != nil { + C.QQmlNetworkAccessManagerFactory_DestroyQQmlNetworkAccessManagerFactory(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QQmlNetworkAccessManagerFactory) DestroyQQmlNetworkAccessManagerFactoryDefault() { + if ptr.Pointer() != nil { + C.QQmlNetworkAccessManagerFactory_DestroyQQmlNetworkAccessManagerFactoryDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func NewQQmlNetworkAccessManagerFactory() *QQmlNetworkAccessManagerFactory { + return NewQQmlNetworkAccessManagerFactoryFromPointer(C.QQmlNetworkAccessManagerFactory_NewQQmlNetworkAccessManagerFactory()) +} + +type QQmlParserStatus struct { + ptr unsafe.Pointer +} + +type QQmlParserStatus_ITF interface { + QQmlParserStatus_PTR() *QQmlParserStatus +} + +func (ptr *QQmlParserStatus) QQmlParserStatus_PTR() *QQmlParserStatus { + return ptr +} + +func (ptr *QQmlParserStatus) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlParserStatus) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlParserStatus(ptr QQmlParserStatus_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlParserStatus_PTR().Pointer() + } + return nil +} + +func NewQQmlParserStatusFromPointer(ptr unsafe.Pointer) (n *QQmlParserStatus) { + n = new(QQmlParserStatus) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlParserStatus) DestroyQQmlParserStatus() { + if ptr != nil { + C.free(ptr.Pointer()) + qt.DisconnectAllSignals(ptr.Pointer(), "") + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQQmlParserStatus_ClassBegin +func callbackQQmlParserStatus_ClassBegin(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "classBegin"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QQmlParserStatus) ConnectClassBegin(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "classBegin"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "classBegin", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "classBegin", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlParserStatus) DisconnectClassBegin() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "classBegin") + } +} + +func (ptr *QQmlParserStatus) ClassBegin() { + if ptr.Pointer() != nil { + C.QQmlParserStatus_ClassBegin(ptr.Pointer()) + } +} + +//export callbackQQmlParserStatus_ComponentComplete +func callbackQQmlParserStatus_ComponentComplete(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "componentComplete"); signal != nil { + (*(*func())(signal))() + } + +} + +func (ptr *QQmlParserStatus) ConnectComponentComplete(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "componentComplete"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "componentComplete", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "componentComplete", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlParserStatus) DisconnectComponentComplete() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "componentComplete") + } +} + +func (ptr *QQmlParserStatus) ComponentComplete() { + if ptr.Pointer() != nil { + C.QQmlParserStatus_ComponentComplete(ptr.Pointer()) + } +} + +type QQmlProperty struct { + ptr unsafe.Pointer +} + +type QQmlProperty_ITF interface { + QQmlProperty_PTR() *QQmlProperty +} + +func (ptr *QQmlProperty) QQmlProperty_PTR() *QQmlProperty { + return ptr +} + +func (ptr *QQmlProperty) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlProperty) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlProperty(ptr QQmlProperty_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlProperty_PTR().Pointer() + } + return nil +} + +func NewQQmlPropertyFromPointer(ptr unsafe.Pointer) (n *QQmlProperty) { + n = new(QQmlProperty) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlProperty) DestroyQQmlProperty() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//go:generate stringer -type=QQmlProperty__PropertyTypeCategory +//QQmlProperty::PropertyTypeCategory +type QQmlProperty__PropertyTypeCategory int64 + +const ( + QQmlProperty__InvalidCategory QQmlProperty__PropertyTypeCategory = QQmlProperty__PropertyTypeCategory(0) + QQmlProperty__List QQmlProperty__PropertyTypeCategory = QQmlProperty__PropertyTypeCategory(1) + QQmlProperty__Object QQmlProperty__PropertyTypeCategory = QQmlProperty__PropertyTypeCategory(2) + QQmlProperty__Normal QQmlProperty__PropertyTypeCategory = QQmlProperty__PropertyTypeCategory(3) +) + +//go:generate stringer -type=QQmlProperty__Type +//QQmlProperty::Type +type QQmlProperty__Type int64 + +const ( + QQmlProperty__Invalid QQmlProperty__Type = QQmlProperty__Type(0) + QQmlProperty__Property QQmlProperty__Type = QQmlProperty__Type(1) + QQmlProperty__SignalProperty QQmlProperty__Type = QQmlProperty__Type(2) +) + +func NewQQmlProperty() *QQmlProperty { + tmpValue := NewQQmlPropertyFromPointer(C.QQmlProperty_NewQQmlProperty()) + runtime.SetFinalizer(tmpValue, (*QQmlProperty).DestroyQQmlProperty) + return tmpValue +} + +func NewQQmlProperty2(obj core.QObject_ITF) *QQmlProperty { + tmpValue := NewQQmlPropertyFromPointer(C.QQmlProperty_NewQQmlProperty2(core.PointerFromQObject(obj))) + runtime.SetFinalizer(tmpValue, (*QQmlProperty).DestroyQQmlProperty) + return tmpValue +} + +func NewQQmlProperty3(obj core.QObject_ITF, ctxt QQmlContext_ITF) *QQmlProperty { + tmpValue := NewQQmlPropertyFromPointer(C.QQmlProperty_NewQQmlProperty3(core.PointerFromQObject(obj), PointerFromQQmlContext(ctxt))) + runtime.SetFinalizer(tmpValue, (*QQmlProperty).DestroyQQmlProperty) + return tmpValue +} + +func NewQQmlProperty4(obj core.QObject_ITF, engine QQmlEngine_ITF) *QQmlProperty { + tmpValue := NewQQmlPropertyFromPointer(C.QQmlProperty_NewQQmlProperty4(core.PointerFromQObject(obj), PointerFromQQmlEngine(engine))) + runtime.SetFinalizer(tmpValue, (*QQmlProperty).DestroyQQmlProperty) + return tmpValue +} + +func NewQQmlProperty5(obj core.QObject_ITF, name string) *QQmlProperty { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQQmlPropertyFromPointer(C.QQmlProperty_NewQQmlProperty5(core.PointerFromQObject(obj), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*QQmlProperty).DestroyQQmlProperty) + return tmpValue +} + +func NewQQmlProperty6(obj core.QObject_ITF, name string, ctxt QQmlContext_ITF) *QQmlProperty { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQQmlPropertyFromPointer(C.QQmlProperty_NewQQmlProperty6(core.PointerFromQObject(obj), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQQmlContext(ctxt))) + runtime.SetFinalizer(tmpValue, (*QQmlProperty).DestroyQQmlProperty) + return tmpValue +} + +func NewQQmlProperty7(obj core.QObject_ITF, name string, engine QQmlEngine_ITF) *QQmlProperty { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := NewQQmlPropertyFromPointer(C.QQmlProperty_NewQQmlProperty7(core.PointerFromQObject(obj), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQQmlEngine(engine))) + runtime.SetFinalizer(tmpValue, (*QQmlProperty).DestroyQQmlProperty) + return tmpValue +} + +func NewQQmlProperty8(other QQmlProperty_ITF) *QQmlProperty { + tmpValue := NewQQmlPropertyFromPointer(C.QQmlProperty_NewQQmlProperty8(PointerFromQQmlProperty(other))) + runtime.SetFinalizer(tmpValue, (*QQmlProperty).DestroyQQmlProperty) + return tmpValue +} + +func (ptr *QQmlProperty) ConnectNotifySignal(dest core.QObject_ITF, slot string) bool { + if ptr.Pointer() != nil { + var slotC *C.char + if slot != "" { + slotC = C.CString(slot) + defer C.free(unsafe.Pointer(slotC)) + } + return int8(C.QQmlProperty_ConnectNotifySignal(ptr.Pointer(), core.PointerFromQObject(dest), slotC)) != 0 + } + return false +} + +func (ptr *QQmlProperty) ConnectNotifySignal2(dest core.QObject_ITF, method int) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_ConnectNotifySignal2(ptr.Pointer(), core.PointerFromQObject(dest), C.int(int32(method)))) != 0 + } + return false +} + +func (ptr *QQmlProperty) HasNotifySignal() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_HasNotifySignal(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlProperty) Index() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlProperty_Index(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QQmlProperty) IsDesignable() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_IsDesignable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlProperty) IsProperty() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_IsProperty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlProperty) IsResettable() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_IsResettable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlProperty) IsSignalProperty() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_IsSignalProperty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlProperty) IsValid() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_IsValid(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlProperty) IsWritable() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_IsWritable(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlProperty) Method() *core.QMetaMethod { + if ptr.Pointer() != nil { + tmpValue := core.NewQMetaMethodFromPointer(C.QQmlProperty_Method(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QMetaMethod).DestroyQMetaMethod) + return tmpValue + } + return nil +} + +func (ptr *QQmlProperty) Name() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlProperty_Name(ptr.Pointer())) + } + return "" +} + +func (ptr *QQmlProperty) NeedsNotifySignal() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_NeedsNotifySignal(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlProperty) Object() *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlProperty_Object(ptr.Pointer())) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlProperty) PropertyType() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlProperty_PropertyType(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QQmlProperty) PropertyTypeCategory() QQmlProperty__PropertyTypeCategory { + if ptr.Pointer() != nil { + return QQmlProperty__PropertyTypeCategory(C.QQmlProperty_PropertyTypeCategory(ptr.Pointer())) + } + return 0 +} + +func (ptr *QQmlProperty) PropertyTypeName() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlProperty_PropertyTypeName(ptr.Pointer())) + } + return "" +} + +func (ptr *QQmlProperty) Read() *core.QVariant { + if ptr.Pointer() != nil { + tmpValue := core.NewQVariantFromPointer(C.QQmlProperty_Read(ptr.Pointer())) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func QQmlProperty_Read2(object core.QObject_ITF, name string) *core.QVariant { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlProperty_QQmlProperty_Read2(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue +} + +func (ptr *QQmlProperty) Read2(object core.QObject_ITF, name string) *core.QVariant { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlProperty_QQmlProperty_Read2(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))})) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue +} + +func QQmlProperty_Read3(object core.QObject_ITF, name string, ctxt QQmlContext_ITF) *core.QVariant { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlProperty_QQmlProperty_Read3(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQQmlContext(ctxt))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue +} + +func (ptr *QQmlProperty) Read3(object core.QObject_ITF, name string, ctxt QQmlContext_ITF) *core.QVariant { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlProperty_QQmlProperty_Read3(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQQmlContext(ctxt))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue +} + +func QQmlProperty_Read4(object core.QObject_ITF, name string, engine QQmlEngine_ITF) *core.QVariant { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlProperty_QQmlProperty_Read4(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQQmlEngine(engine))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue +} + +func (ptr *QQmlProperty) Read4(object core.QObject_ITF, name string, engine QQmlEngine_ITF) *core.QVariant { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlProperty_QQmlProperty_Read4(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, PointerFromQQmlEngine(engine))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue +} + +func (ptr *QQmlProperty) Reset() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_Reset(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlProperty) Type() QQmlProperty__Type { + if ptr.Pointer() != nil { + return QQmlProperty__Type(C.QQmlProperty_Type(ptr.Pointer())) + } + return 0 +} + +func (ptr *QQmlProperty) Write(value core.QVariant_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlProperty_Write(ptr.Pointer(), core.PointerFromQVariant(value))) != 0 + } + return false +} + +func QQmlProperty_Write2(object core.QObject_ITF, name string, value core.QVariant_ITF) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QQmlProperty_QQmlProperty_Write2(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQVariant(value))) != 0 +} + +func (ptr *QQmlProperty) Write2(object core.QObject_ITF, name string, value core.QVariant_ITF) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QQmlProperty_QQmlProperty_Write2(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQVariant(value))) != 0 +} + +func QQmlProperty_Write3(object core.QObject_ITF, name string, value core.QVariant_ITF, ctxt QQmlContext_ITF) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QQmlProperty_QQmlProperty_Write3(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQVariant(value), PointerFromQQmlContext(ctxt))) != 0 +} + +func (ptr *QQmlProperty) Write3(object core.QObject_ITF, name string, value core.QVariant_ITF, ctxt QQmlContext_ITF) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QQmlProperty_QQmlProperty_Write3(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQVariant(value), PointerFromQQmlContext(ctxt))) != 0 +} + +func QQmlProperty_Write4(object core.QObject_ITF, name string, value core.QVariant_ITF, engine QQmlEngine_ITF) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QQmlProperty_QQmlProperty_Write4(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQVariant(value), PointerFromQQmlEngine(engine))) != 0 +} + +func (ptr *QQmlProperty) Write4(object core.QObject_ITF, name string, value core.QVariant_ITF, engine QQmlEngine_ITF) bool { + var nameC *C.char + if name != "" { + nameC = C.CString(name) + defer C.free(unsafe.Pointer(nameC)) + } + return int8(C.QQmlProperty_QQmlProperty_Write4(core.PointerFromQObject(object), C.struct_QtQml_PackedString{data: nameC, len: C.longlong(len(name))}, core.PointerFromQVariant(value), PointerFromQQmlEngine(engine))) != 0 +} + +type QQmlPropertyMap struct { + core.QObject +} + +type QQmlPropertyMap_ITF interface { + core.QObject_ITF + QQmlPropertyMap_PTR() *QQmlPropertyMap +} + +func (ptr *QQmlPropertyMap) QQmlPropertyMap_PTR() *QQmlPropertyMap { + return ptr +} + +func (ptr *QQmlPropertyMap) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *QQmlPropertyMap) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromQQmlPropertyMap(ptr QQmlPropertyMap_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlPropertyMap_PTR().Pointer() + } + return nil +} + +func NewQQmlPropertyMapFromPointer(ptr unsafe.Pointer) (n *QQmlPropertyMap) { + n = new(QQmlPropertyMap) + n.SetPointer(ptr) + return +} +func NewQQmlPropertyMap(parent core.QObject_ITF) *QQmlPropertyMap { + tmpValue := NewQQmlPropertyMapFromPointer(C.QQmlPropertyMap_NewQQmlPropertyMap(core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +func (ptr *QQmlPropertyMap) Clear(key string) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QQmlPropertyMap_Clear(ptr.Pointer(), C.struct_QtQml_PackedString{data: keyC, len: C.longlong(len(key))}) + } +} + +func (ptr *QQmlPropertyMap) Contains(key string) bool { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + return int8(C.QQmlPropertyMap_Contains(ptr.Pointer(), C.struct_QtQml_PackedString{data: keyC, len: C.longlong(len(key))})) != 0 + } + return false +} + +func (ptr *QQmlPropertyMap) Count() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlPropertyMap_Count(ptr.Pointer()))) + } + return 0 +} + +func (ptr *QQmlPropertyMap) Insert(key string, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QQmlPropertyMap_Insert(ptr.Pointer(), C.struct_QtQml_PackedString{data: keyC, len: C.longlong(len(key))}, core.PointerFromQVariant(value)) + } +} + +func (ptr *QQmlPropertyMap) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlPropertyMap_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlPropertyMap) Keys() []string { + if ptr.Pointer() != nil { + return unpackStringList(cGoUnpackString(C.QQmlPropertyMap_Keys(ptr.Pointer()))) + } + return make([]string, 0) +} + +func (ptr *QQmlPropertyMap) Size() int { + if ptr.Pointer() != nil { + return int(int32(C.QQmlPropertyMap_Size(ptr.Pointer()))) + } + return 0 +} + +//export callbackQQmlPropertyMap_UpdateValue +func callbackQQmlPropertyMap_UpdateValue(ptr unsafe.Pointer, key C.struct_QtQml_PackedString, input unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "updateValue"); signal != nil { + return core.PointerFromQVariant((*(*func(string, *core.QVariant) *core.QVariant)(signal))(cGoUnpackString(key), core.NewQVariantFromPointer(input))) + } + + return core.PointerFromQVariant(NewQQmlPropertyMapFromPointer(ptr).UpdateValueDefault(cGoUnpackString(key), core.NewQVariantFromPointer(input))) +} + +func (ptr *QQmlPropertyMap) ConnectUpdateValue(f func(key string, input *core.QVariant) *core.QVariant) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "updateValue"); signal != nil { + f := func(key string, input *core.QVariant) *core.QVariant { + (*(*func(string, *core.QVariant) *core.QVariant)(signal))(key, input) + return f(key, input) + } + qt.ConnectSignal(ptr.Pointer(), "updateValue", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "updateValue", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlPropertyMap) DisconnectUpdateValue() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "updateValue") + } +} + +func (ptr *QQmlPropertyMap) UpdateValue(key string, input core.QVariant_ITF) *core.QVariant { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlPropertyMap_UpdateValue(ptr.Pointer(), C.struct_QtQml_PackedString{data: keyC, len: C.longlong(len(key))}, core.PointerFromQVariant(input))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QQmlPropertyMap) UpdateValueDefault(key string, input core.QVariant_ITF) *core.QVariant { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlPropertyMap_UpdateValueDefault(ptr.Pointer(), C.struct_QtQml_PackedString{data: keyC, len: C.longlong(len(key))}, core.PointerFromQVariant(input))) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +func (ptr *QQmlPropertyMap) Value(key string) *core.QVariant { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + tmpValue := core.NewQVariantFromPointer(C.QQmlPropertyMap_Value(ptr.Pointer(), C.struct_QtQml_PackedString{data: keyC, len: C.longlong(len(key))})) + runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant) + return tmpValue + } + return nil +} + +//export callbackQQmlPropertyMap_ValueChanged +func callbackQQmlPropertyMap_ValueChanged(ptr unsafe.Pointer, key C.struct_QtQml_PackedString, value unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "valueChanged"); signal != nil { + (*(*func(string, *core.QVariant))(signal))(cGoUnpackString(key), core.NewQVariantFromPointer(value)) + } + +} + +func (ptr *QQmlPropertyMap) ConnectValueChanged(f func(key string, value *core.QVariant)) { + if ptr.Pointer() != nil { + + if !qt.ExistsSignal(ptr.Pointer(), "valueChanged") { + C.QQmlPropertyMap_ConnectValueChanged(ptr.Pointer(), C.longlong(qt.ConnectionType(ptr.Pointer(), "valueChanged"))) + } + + if signal := qt.LendSignal(ptr.Pointer(), "valueChanged"); signal != nil { + f := func(key string, value *core.QVariant) { + (*(*func(string, *core.QVariant))(signal))(key, value) + f(key, value) + } + qt.ConnectSignal(ptr.Pointer(), "valueChanged", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "valueChanged", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlPropertyMap) DisconnectValueChanged() { + if ptr.Pointer() != nil { + C.QQmlPropertyMap_DisconnectValueChanged(ptr.Pointer()) + qt.DisconnectSignal(ptr.Pointer(), "valueChanged") + } +} + +func (ptr *QQmlPropertyMap) ValueChanged(key string, value core.QVariant_ITF) { + if ptr.Pointer() != nil { + var keyC *C.char + if key != "" { + keyC = C.CString(key) + defer C.free(unsafe.Pointer(keyC)) + } + C.QQmlPropertyMap_ValueChanged(ptr.Pointer(), C.struct_QtQml_PackedString{data: keyC, len: C.longlong(len(key))}, core.PointerFromQVariant(value)) + } +} + +//export callbackQQmlPropertyMap_DestroyQQmlPropertyMap +func callbackQQmlPropertyMap_DestroyQQmlPropertyMap(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlPropertyMap"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlPropertyMapFromPointer(ptr).DestroyQQmlPropertyMapDefault() + } +} + +func (ptr *QQmlPropertyMap) ConnectDestroyQQmlPropertyMap(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlPropertyMap"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlPropertyMap", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlPropertyMap", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlPropertyMap) DisconnectDestroyQQmlPropertyMap() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlPropertyMap") + } +} + +func (ptr *QQmlPropertyMap) DestroyQQmlPropertyMap() { + if ptr.Pointer() != nil { + C.QQmlPropertyMap_DestroyQQmlPropertyMap(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlPropertyMap) DestroyQQmlPropertyMapDefault() { + if ptr.Pointer() != nil { + C.QQmlPropertyMap_DestroyQQmlPropertyMapDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *QQmlPropertyMap) __children_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlPropertyMap___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlPropertyMap) __children_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap___children_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlPropertyMap) __children_newList() unsafe.Pointer { + return C.QQmlPropertyMap___children_newList(ptr.Pointer()) +} + +func (ptr *QQmlPropertyMap) __dynamicPropertyNames_atList(i int) *core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := core.NewQByteArrayFromPointer(C.QQmlPropertyMap___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *QQmlPropertyMap) __dynamicPropertyNames_setList(i core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap___dynamicPropertyNames_setList(ptr.Pointer(), core.PointerFromQByteArray(i)) + } +} + +func (ptr *QQmlPropertyMap) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.QQmlPropertyMap___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *QQmlPropertyMap) __findChildren_atList(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlPropertyMap___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlPropertyMap) __findChildren_setList(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap___findChildren_setList(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlPropertyMap) __findChildren_newList() unsafe.Pointer { + return C.QQmlPropertyMap___findChildren_newList(ptr.Pointer()) +} + +func (ptr *QQmlPropertyMap) __findChildren_atList3(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlPropertyMap___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlPropertyMap) __findChildren_setList3(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap___findChildren_setList3(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlPropertyMap) __findChildren_newList3() unsafe.Pointer { + return C.QQmlPropertyMap___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *QQmlPropertyMap) __qFindChildren_atList2(i int) *core.QObject { + if ptr.Pointer() != nil { + tmpValue := core.NewQObjectFromPointer(C.QQmlPropertyMap___qFindChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *QQmlPropertyMap) __qFindChildren_setList2(i core.QObject_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap___qFindChildren_setList2(ptr.Pointer(), core.PointerFromQObject(i)) + } +} + +func (ptr *QQmlPropertyMap) __qFindChildren_newList2() unsafe.Pointer { + return C.QQmlPropertyMap___qFindChildren_newList2(ptr.Pointer()) +} + +//export callbackQQmlPropertyMap_ChildEvent +func callbackQQmlPropertyMap_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + (*(*func(*core.QChildEvent))(signal))(core.NewQChildEventFromPointer(event)) + } else { + NewQQmlPropertyMapFromPointer(ptr).ChildEventDefault(core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *QQmlPropertyMap) ChildEventDefault(event core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap_ChildEventDefault(ptr.Pointer(), core.PointerFromQChildEvent(event)) + } +} + +//export callbackQQmlPropertyMap_ConnectNotify +func callbackQQmlPropertyMap_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlPropertyMapFromPointer(ptr).ConnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlPropertyMap) ConnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap_ConnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlPropertyMap_CustomEvent +func callbackQQmlPropertyMap_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + (*(*func(*core.QEvent))(signal))(core.NewQEventFromPointer(event)) + } else { + NewQQmlPropertyMapFromPointer(ptr).CustomEventDefault(core.NewQEventFromPointer(event)) + } +} + +func (ptr *QQmlPropertyMap) CustomEventDefault(event core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap_CustomEventDefault(ptr.Pointer(), core.PointerFromQEvent(event)) + } +} + +//export callbackQQmlPropertyMap_DeleteLater +func callbackQQmlPropertyMap_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlPropertyMapFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *QQmlPropertyMap) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.QQmlPropertyMap_DeleteLaterDefault(ptr.Pointer()) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackQQmlPropertyMap_Destroyed +func callbackQQmlPropertyMap_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + (*(*func(*core.QObject))(signal))(core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackQQmlPropertyMap_DisconnectNotify +func callbackQQmlPropertyMap_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + (*(*func(*core.QMetaMethod))(signal))(core.NewQMetaMethodFromPointer(sign)) + } else { + NewQQmlPropertyMapFromPointer(ptr).DisconnectNotifyDefault(core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *QQmlPropertyMap) DisconnectNotifyDefault(sign core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap_DisconnectNotifyDefault(ptr.Pointer(), core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackQQmlPropertyMap_Event +func callbackQQmlPropertyMap_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QEvent) bool)(signal))(core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlPropertyMapFromPointer(ptr).EventDefault(core.NewQEventFromPointer(e))))) +} + +func (ptr *QQmlPropertyMap) EventDefault(e core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlPropertyMap_EventDefault(ptr.Pointer(), core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackQQmlPropertyMap_EventFilter +func callbackQQmlPropertyMap_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt((*(*func(*core.QObject, *core.QEvent) bool)(signal))(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewQQmlPropertyMapFromPointer(ptr).EventFilterDefault(core.NewQObjectFromPointer(watched), core.NewQEventFromPointer(event))))) +} + +func (ptr *QQmlPropertyMap) EventFilterDefault(watched core.QObject_ITF, event core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.QQmlPropertyMap_EventFilterDefault(ptr.Pointer(), core.PointerFromQObject(watched), core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackQQmlPropertyMap_MetaObject +func callbackQQmlPropertyMap_MetaObject(ptr unsafe.Pointer) unsafe.Pointer { + if signal := qt.GetSignal(ptr, "metaObject"); signal != nil { + return core.PointerFromQMetaObject((*(*func() *core.QMetaObject)(signal))()) + } + + return core.PointerFromQMetaObject(NewQQmlPropertyMapFromPointer(ptr).MetaObjectDefault()) +} + +func (ptr *QQmlPropertyMap) MetaObjectDefault() *core.QMetaObject { + if ptr.Pointer() != nil { + return core.NewQMetaObjectFromPointer(C.QQmlPropertyMap_MetaObjectDefault(ptr.Pointer())) + } + return nil +} + +//export callbackQQmlPropertyMap_ObjectNameChanged +func callbackQQmlPropertyMap_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_QtQml_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + (*(*func(string))(signal))(cGoUnpackString(objectName)) + } + +} + +//export callbackQQmlPropertyMap_TimerEvent +func callbackQQmlPropertyMap_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + (*(*func(*core.QTimerEvent))(signal))(core.NewQTimerEventFromPointer(event)) + } else { + NewQQmlPropertyMapFromPointer(ptr).TimerEventDefault(core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *QQmlPropertyMap) TimerEventDefault(event core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyMap_TimerEventDefault(ptr.Pointer(), core.PointerFromQTimerEvent(event)) + } +} + +type QQmlPropertyValueSource struct { + ptr unsafe.Pointer +} + +type QQmlPropertyValueSource_ITF interface { + QQmlPropertyValueSource_PTR() *QQmlPropertyValueSource +} + +func (ptr *QQmlPropertyValueSource) QQmlPropertyValueSource_PTR() *QQmlPropertyValueSource { + return ptr +} + +func (ptr *QQmlPropertyValueSource) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlPropertyValueSource) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlPropertyValueSource(ptr QQmlPropertyValueSource_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlPropertyValueSource_PTR().Pointer() + } + return nil +} + +func NewQQmlPropertyValueSourceFromPointer(ptr unsafe.Pointer) (n *QQmlPropertyValueSource) { + n = new(QQmlPropertyValueSource) + n.SetPointer(ptr) + return +} +func NewQQmlPropertyValueSource() *QQmlPropertyValueSource { + return NewQQmlPropertyValueSourceFromPointer(C.QQmlPropertyValueSource_NewQQmlPropertyValueSource()) +} + +//export callbackQQmlPropertyValueSource_SetTarget +func callbackQQmlPropertyValueSource_SetTarget(ptr unsafe.Pointer, property unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "setTarget"); signal != nil { + (*(*func(*QQmlProperty))(signal))(NewQQmlPropertyFromPointer(property)) + } + +} + +func (ptr *QQmlPropertyValueSource) ConnectSetTarget(f func(property *QQmlProperty)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "setTarget"); signal != nil { + f := func(property *QQmlProperty) { + (*(*func(*QQmlProperty))(signal))(property) + f(property) + } + qt.ConnectSignal(ptr.Pointer(), "setTarget", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "setTarget", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlPropertyValueSource) DisconnectSetTarget() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "setTarget") + } +} + +func (ptr *QQmlPropertyValueSource) SetTarget(property QQmlProperty_ITF) { + if ptr.Pointer() != nil { + C.QQmlPropertyValueSource_SetTarget(ptr.Pointer(), PointerFromQQmlProperty(property)) + } +} + +//export callbackQQmlPropertyValueSource_DestroyQQmlPropertyValueSource +func callbackQQmlPropertyValueSource_DestroyQQmlPropertyValueSource(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~QQmlPropertyValueSource"); signal != nil { + (*(*func())(signal))() + } else { + NewQQmlPropertyValueSourceFromPointer(ptr).DestroyQQmlPropertyValueSourceDefault() + } +} + +func (ptr *QQmlPropertyValueSource) ConnectDestroyQQmlPropertyValueSource(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~QQmlPropertyValueSource"); signal != nil { + f := func() { + (*(*func())(signal))() + f() + } + qt.ConnectSignal(ptr.Pointer(), "~QQmlPropertyValueSource", unsafe.Pointer(&f)) + } else { + qt.ConnectSignal(ptr.Pointer(), "~QQmlPropertyValueSource", unsafe.Pointer(&f)) + } + } +} + +func (ptr *QQmlPropertyValueSource) DisconnectDestroyQQmlPropertyValueSource() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~QQmlPropertyValueSource") + } +} + +func (ptr *QQmlPropertyValueSource) DestroyQQmlPropertyValueSource() { + if ptr.Pointer() != nil { + C.QQmlPropertyValueSource_DestroyQQmlPropertyValueSource(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +func (ptr *QQmlPropertyValueSource) DestroyQQmlPropertyValueSourceDefault() { + if ptr.Pointer() != nil { + C.QQmlPropertyValueSource_DestroyQQmlPropertyValueSourceDefault(ptr.Pointer()) + ptr.SetPointer(nil) + } +} + +type QQmlScriptString struct { + ptr unsafe.Pointer +} + +type QQmlScriptString_ITF interface { + QQmlScriptString_PTR() *QQmlScriptString +} + +func (ptr *QQmlScriptString) QQmlScriptString_PTR() *QQmlScriptString { + return ptr +} + +func (ptr *QQmlScriptString) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.ptr + } + return nil +} + +func (ptr *QQmlScriptString) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.ptr = p + } +} + +func PointerFromQQmlScriptString(ptr QQmlScriptString_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.QQmlScriptString_PTR().Pointer() + } + return nil +} + +func NewQQmlScriptStringFromPointer(ptr unsafe.Pointer) (n *QQmlScriptString) { + n = new(QQmlScriptString) + n.SetPointer(ptr) + return +} + +func (ptr *QQmlScriptString) DestroyQQmlScriptString() { + if ptr != nil { + C.free(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func NewQQmlScriptString() *QQmlScriptString { + tmpValue := NewQQmlScriptStringFromPointer(C.QQmlScriptString_NewQQmlScriptString()) + runtime.SetFinalizer(tmpValue, (*QQmlScriptString).DestroyQQmlScriptString) + return tmpValue +} + +func NewQQmlScriptString2(other QQmlScriptString_ITF) *QQmlScriptString { + tmpValue := NewQQmlScriptStringFromPointer(C.QQmlScriptString_NewQQmlScriptString2(PointerFromQQmlScriptString(other))) + runtime.SetFinalizer(tmpValue, (*QQmlScriptString).DestroyQQmlScriptString) + return tmpValue +} + +func (ptr *QQmlScriptString) BooleanLiteral(ok *bool) bool { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return int8(C.QQmlScriptString_BooleanLiteral(ptr.Pointer(), &okC)) != 0 + } + return false +} + +func (ptr *QQmlScriptString) IsEmpty() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlScriptString_IsEmpty(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlScriptString) IsNullLiteral() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlScriptString_IsNullLiteral(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlScriptString) IsUndefinedLiteral() bool { + if ptr.Pointer() != nil { + return int8(C.QQmlScriptString_IsUndefinedLiteral(ptr.Pointer())) != 0 + } + return false +} + +func (ptr *QQmlScriptString) NumberLiteral(ok *bool) float64 { + if ptr.Pointer() != nil { + var okC C.char + if ok != nil { + okC = C.char(int8(qt.GoBoolToInt(*ok))) + defer func() { *ok = int8(okC) != 0 }() + } + return float64(C.QQmlScriptString_NumberLiteral(ptr.Pointer(), &okC)) + } + return 0 +} + +func (ptr *QQmlScriptString) StringLiteral() string { + if ptr.Pointer() != nil { + return cGoUnpackString(C.QQmlScriptString_StringLiteral(ptr.Pointer())) + } + return "" +} diff --git a/vendor/github.com/therecipe/qt/qml/qml.h b/vendor/github.com/therecipe/qt/qml/qml.h new file mode 100644 index 00000000..b70bf7c0 --- /dev/null +++ b/vendor/github.com/therecipe/qt/qml/qml.h @@ -0,0 +1,585 @@ +// +build !minimal + +#pragma once + +#ifndef GO_QTQML_H +#define GO_QTQML_H + +#include + +#ifdef __cplusplus +int QJSEngine_QJSEngine_QRegisterMetaType(); +int QQmlApplicationEngine_QQmlApplicationEngine_QRegisterMetaType(); +int QQmlComponent_QQmlComponent_QRegisterMetaType(); +int QQmlContext_QQmlContext_QRegisterMetaType(); +int QQmlEngine_QQmlEngine_QRegisterMetaType(); +int QQmlExpression_QQmlExpression_QRegisterMetaType(); +int QQmlExtensionPlugin_QQmlExtensionPlugin_QRegisterMetaType(); +int QQmlFileSelector_QQmlFileSelector_QRegisterMetaType(); +int QQmlPropertyMap_QQmlPropertyMap_QRegisterMetaType(); +extern "C" { +#endif + +struct QtQml_PackedString { char* data; long long len; }; +struct QtQml_PackedList { void* data; long long len; }; +void* QJSEngine_NewQJSEngine(); +void* QJSEngine_NewQJSEngine2(void* parent); +void QJSEngine_CollectGarbage(void* ptr); +void* QJSEngine_Evaluate(void* ptr, struct QtQml_PackedString program, struct QtQml_PackedString fileName, int lineNumber); +void* QJSEngine_GlobalObject(void* ptr); +void* QJSEngine_ImportModule(void* ptr, struct QtQml_PackedString fileName); +void QJSEngine_InstallExtensions(void* ptr, long long extensions, void* object); +void* QJSEngine_NewArray(void* ptr, unsigned int length); +void* QJSEngine_NewErrorObject(void* ptr, long long errorType, struct QtQml_PackedString message); +void* QJSEngine_NewObject(void* ptr); +void* QJSEngine_NewQMetaObject(void* ptr, void* metaObject); +void* QJSEngine_NewQObject(void* ptr, void* object); +void QJSEngine_ThrowError(void* ptr, struct QtQml_PackedString message); +void QJSEngine_ThrowError2(void* ptr, long long errorType, struct QtQml_PackedString message); +void QJSEngine_DestroyQJSEngine(void* ptr); +void QJSEngine_DestroyQJSEngineDefault(void* ptr); +void* QJSEngine___children_atList(void* ptr, int i); +void QJSEngine___children_setList(void* ptr, void* i); +void* QJSEngine___children_newList(void* ptr); +void* QJSEngine___dynamicPropertyNames_atList(void* ptr, int i); +void QJSEngine___dynamicPropertyNames_setList(void* ptr, void* i); +void* QJSEngine___dynamicPropertyNames_newList(void* ptr); +void* QJSEngine___findChildren_atList(void* ptr, int i); +void QJSEngine___findChildren_setList(void* ptr, void* i); +void* QJSEngine___findChildren_newList(void* ptr); +void* QJSEngine___findChildren_atList3(void* ptr, int i); +void QJSEngine___findChildren_setList3(void* ptr, void* i); +void* QJSEngine___findChildren_newList3(void* ptr); +void* QJSEngine___qFindChildren_atList2(void* ptr, int i); +void QJSEngine___qFindChildren_setList2(void* ptr, void* i); +void* QJSEngine___qFindChildren_newList2(void* ptr); +void QJSEngine_ChildEventDefault(void* ptr, void* event); +void QJSEngine_ConnectNotifyDefault(void* ptr, void* sign); +void QJSEngine_CustomEventDefault(void* ptr, void* event); +void QJSEngine_DeleteLaterDefault(void* ptr); +void QJSEngine_DisconnectNotifyDefault(void* ptr, void* sign); +char QJSEngine_EventDefault(void* ptr, void* e); +char QJSEngine_EventFilterDefault(void* ptr, void* watched, void* event); +void* QJSEngine_MetaObjectDefault(void* ptr); +void QJSEngine_TimerEventDefault(void* ptr, void* event); +void* QJSValue_NewQJSValue(long long value); +void* QJSValue_NewQJSValue2(void* other); +void* QJSValue_NewQJSValue3(void* other); +void* QJSValue_NewQJSValue4(char value); +void* QJSValue_NewQJSValue5(int value); +void* QJSValue_NewQJSValue6(unsigned int value); +void* QJSValue_NewQJSValue7(double value); +void* QJSValue_NewQJSValue8(struct QtQml_PackedString value); +void* QJSValue_NewQJSValue9(void* value); +void* QJSValue_NewQJSValue10(char* value); +void* QJSValue_Call(void* ptr, void* args); +void* QJSValue_CallAsConstructor(void* ptr, void* args); +void* QJSValue_CallWithInstance(void* ptr, void* instance, void* args); +char QJSValue_DeleteProperty(void* ptr, struct QtQml_PackedString name); +char QJSValue_Equals(void* ptr, void* other); +long long QJSValue_ErrorType(void* ptr); +char QJSValue_HasOwnProperty(void* ptr, struct QtQml_PackedString name); +char QJSValue_HasProperty(void* ptr, struct QtQml_PackedString name); +char QJSValue_IsArray(void* ptr); +char QJSValue_IsBool(void* ptr); +char QJSValue_IsCallable(void* ptr); +char QJSValue_IsDate(void* ptr); +char QJSValue_IsError(void* ptr); +char QJSValue_IsNull(void* ptr); +char QJSValue_IsNumber(void* ptr); +char QJSValue_IsObject(void* ptr); +char QJSValue_IsQMetaObject(void* ptr); +char QJSValue_IsQObject(void* ptr); +char QJSValue_IsRegExp(void* ptr); +char QJSValue_IsString(void* ptr); +char QJSValue_IsUndefined(void* ptr); +char QJSValue_IsVariant(void* ptr); +void* QJSValue_Property(void* ptr, struct QtQml_PackedString name); +void* QJSValue_Property2(void* ptr, unsigned int arrayIndex); +void* QJSValue_Prototype(void* ptr); +void QJSValue_SetProperty(void* ptr, struct QtQml_PackedString name, void* value); +void QJSValue_SetProperty2(void* ptr, unsigned int arrayIndex, void* value); +void QJSValue_SetPrototype(void* ptr, void* prototype); +char QJSValue_StrictlyEquals(void* ptr, void* other); +char QJSValue_ToBool(void* ptr); +void* QJSValue_ToDateTime(void* ptr); +int QJSValue_ToInt(void* ptr); +double QJSValue_ToNumber(void* ptr); +void* QJSValue_ToQMetaObject(void* ptr); +void* QJSValue_ToQObject(void* ptr); +struct QtQml_PackedString QJSValue_ToString(void* ptr); +unsigned int QJSValue_ToUInt(void* ptr); +void* QJSValue_ToVariant(void* ptr); +void QJSValue_DestroyQJSValue(void* ptr); +void* QJSValue___call_args_atList(void* ptr, int i); +void QJSValue___call_args_setList(void* ptr, void* i); +void* QJSValue___call_args_newList(void* ptr); +void* QJSValue___callAsConstructor_args_atList(void* ptr, int i); +void QJSValue___callAsConstructor_args_setList(void* ptr, void* i); +void* QJSValue___callAsConstructor_args_newList(void* ptr); +void* QJSValue___callWithInstance_args_atList(void* ptr, int i); +void QJSValue___callWithInstance_args_setList(void* ptr, void* i); +void* QJSValue___callWithInstance_args_newList(void* ptr); +void* QQmlAbstractUrlInterceptor_NewQQmlAbstractUrlInterceptor(); +void* QQmlAbstractUrlInterceptor_Intercept(void* ptr, void* url, long long ty); +void QQmlAbstractUrlInterceptor_DestroyQQmlAbstractUrlInterceptor(void* ptr); +void QQmlAbstractUrlInterceptor_DestroyQQmlAbstractUrlInterceptorDefault(void* ptr); +void* QQmlApplicationEngine_NewQQmlApplicationEngine(void* parent); +void* QQmlApplicationEngine_NewQQmlApplicationEngine2(void* url, void* parent); +void* QQmlApplicationEngine_NewQQmlApplicationEngine3(struct QtQml_PackedString filePath, void* parent); +void QQmlApplicationEngine_Load(void* ptr, void* url); +void QQmlApplicationEngine_LoadDefault(void* ptr, void* url); +void QQmlApplicationEngine_Load2(void* ptr, struct QtQml_PackedString filePath); +void QQmlApplicationEngine_Load2Default(void* ptr, struct QtQml_PackedString filePath); +void QQmlApplicationEngine_LoadData(void* ptr, void* data, void* url); +void QQmlApplicationEngine_LoadDataDefault(void* ptr, void* data, void* url); +void QQmlApplicationEngine_ConnectObjectCreated(void* ptr, long long t); +void QQmlApplicationEngine_DisconnectObjectCreated(void* ptr); +void QQmlApplicationEngine_ObjectCreated(void* ptr, void* object, void* url); +struct QtQml_PackedList QQmlApplicationEngine_RootObjects(void* ptr); +void QQmlApplicationEngine_DestroyQQmlApplicationEngine(void* ptr); +void QQmlApplicationEngine_DestroyQQmlApplicationEngineDefault(void* ptr); +void* QQmlApplicationEngine___rootObjects_atList(void* ptr, int i); +void QQmlApplicationEngine___rootObjects_setList(void* ptr, void* i); +void* QQmlApplicationEngine___rootObjects_newList(void* ptr); +void* QQmlComponent_NewQQmlComponent2(void* engine, void* parent); +void* QQmlComponent_NewQQmlComponent3(void* engine, struct QtQml_PackedString fileName, void* parent); +void* QQmlComponent_NewQQmlComponent4(void* engine, struct QtQml_PackedString fileName, long long mode, void* parent); +void* QQmlComponent_NewQQmlComponent5(void* engine, void* url, void* parent); +void* QQmlComponent_NewQQmlComponent6(void* engine, void* url, long long mode, void* parent); +void* QQmlComponent_BeginCreate(void* ptr, void* publicContext); +void* QQmlComponent_BeginCreateDefault(void* ptr, void* publicContext); +void QQmlComponent_CompleteCreate(void* ptr); +void QQmlComponent_CompleteCreateDefault(void* ptr); +void* QQmlComponent_Create(void* ptr, void* context); +void* QQmlComponent_CreateDefault(void* ptr, void* context); +void QQmlComponent_Create2(void* ptr, void* incubator, void* context, void* forContext); +void* QQmlComponent_CreationContext(void* ptr); +void* QQmlComponent_Engine(void* ptr); +struct QtQml_PackedList QQmlComponent_Errors(void* ptr); +char QQmlComponent_IsError(void* ptr); +char QQmlComponent_IsLoading(void* ptr); +char QQmlComponent_IsNull(void* ptr); +char QQmlComponent_IsReady(void* ptr); +void QQmlComponent_LoadUrl(void* ptr, void* url); +void QQmlComponent_LoadUrlDefault(void* ptr, void* url); +void QQmlComponent_LoadUrl2(void* ptr, void* url, long long mode); +void QQmlComponent_LoadUrl2Default(void* ptr, void* url, long long mode); +double QQmlComponent_Progress(void* ptr); +void QQmlComponent_ConnectProgressChanged(void* ptr, long long t); +void QQmlComponent_DisconnectProgressChanged(void* ptr); +void QQmlComponent_ProgressChanged(void* ptr, double progress); +void QQmlComponent_SetData(void* ptr, void* data, void* url); +void QQmlComponent_SetDataDefault(void* ptr, void* data, void* url); +long long QQmlComponent_Status(void* ptr); +void QQmlComponent_ConnectStatusChanged(void* ptr, long long t); +void QQmlComponent_DisconnectStatusChanged(void* ptr); +void QQmlComponent_StatusChanged(void* ptr, long long status); +void* QQmlComponent_Url(void* ptr); +void QQmlComponent_DestroyQQmlComponent(void* ptr); +void QQmlComponent_DestroyQQmlComponentDefault(void* ptr); +void* QQmlComponent___errors_atList(void* ptr, int i); +void QQmlComponent___errors_setList(void* ptr, void* i); +void* QQmlComponent___errors_newList(void* ptr); +void* QQmlComponent___children_atList(void* ptr, int i); +void QQmlComponent___children_setList(void* ptr, void* i); +void* QQmlComponent___children_newList(void* ptr); +void* QQmlComponent___dynamicPropertyNames_atList(void* ptr, int i); +void QQmlComponent___dynamicPropertyNames_setList(void* ptr, void* i); +void* QQmlComponent___dynamicPropertyNames_newList(void* ptr); +void* QQmlComponent___findChildren_atList(void* ptr, int i); +void QQmlComponent___findChildren_setList(void* ptr, void* i); +void* QQmlComponent___findChildren_newList(void* ptr); +void* QQmlComponent___findChildren_atList3(void* ptr, int i); +void QQmlComponent___findChildren_setList3(void* ptr, void* i); +void* QQmlComponent___findChildren_newList3(void* ptr); +void* QQmlComponent___qFindChildren_atList2(void* ptr, int i); +void QQmlComponent___qFindChildren_setList2(void* ptr, void* i); +void* QQmlComponent___qFindChildren_newList2(void* ptr); +void QQmlComponent_ChildEventDefault(void* ptr, void* event); +void QQmlComponent_ConnectNotifyDefault(void* ptr, void* sign); +void QQmlComponent_CustomEventDefault(void* ptr, void* event); +void QQmlComponent_DeleteLaterDefault(void* ptr); +void QQmlComponent_DisconnectNotifyDefault(void* ptr, void* sign); +char QQmlComponent_EventDefault(void* ptr, void* e); +char QQmlComponent_EventFilterDefault(void* ptr, void* watched, void* event); +void* QQmlComponent_MetaObjectDefault(void* ptr); +void QQmlComponent_TimerEventDefault(void* ptr, void* event); +void* QQmlContext_NewQQmlContext(void* engine, void* parent); +void* QQmlContext_NewQQmlContext2(void* parentContext, void* parent); +void* QQmlContext_BaseUrl(void* ptr); +void* QQmlContext_ContextObject(void* ptr); +void* QQmlContext_ContextProperty(void* ptr, struct QtQml_PackedString name); +void* QQmlContext_Engine(void* ptr); +char QQmlContext_IsValid(void* ptr); +struct QtQml_PackedString QQmlContext_NameForObject(void* ptr, void* object); +void* QQmlContext_ParentContext(void* ptr); +void* QQmlContext_ResolvedUrl(void* ptr, void* src); +void QQmlContext_SetBaseUrl(void* ptr, void* baseUrl); +void QQmlContext_SetContextObject(void* ptr, void* object); +void QQmlContext_SetContextProperty(void* ptr, struct QtQml_PackedString name, void* value); +void QQmlContext_SetContextProperty2(void* ptr, struct QtQml_PackedString name, void* value); +void QQmlContext_DestroyQQmlContext(void* ptr); +void QQmlContext_DestroyQQmlContextDefault(void* ptr); +void* QQmlContext___setContextProperties_properties_newList(void* ptr); +void* QQmlContext___children_atList(void* ptr, int i); +void QQmlContext___children_setList(void* ptr, void* i); +void* QQmlContext___children_newList(void* ptr); +void* QQmlContext___dynamicPropertyNames_atList(void* ptr, int i); +void QQmlContext___dynamicPropertyNames_setList(void* ptr, void* i); +void* QQmlContext___dynamicPropertyNames_newList(void* ptr); +void* QQmlContext___findChildren_atList(void* ptr, int i); +void QQmlContext___findChildren_setList(void* ptr, void* i); +void* QQmlContext___findChildren_newList(void* ptr); +void* QQmlContext___findChildren_atList3(void* ptr, int i); +void QQmlContext___findChildren_setList3(void* ptr, void* i); +void* QQmlContext___findChildren_newList3(void* ptr); +void* QQmlContext___qFindChildren_atList2(void* ptr, int i); +void QQmlContext___qFindChildren_setList2(void* ptr, void* i); +void* QQmlContext___qFindChildren_newList2(void* ptr); +void QQmlContext_ChildEventDefault(void* ptr, void* event); +void QQmlContext_ConnectNotifyDefault(void* ptr, void* sign); +void QQmlContext_CustomEventDefault(void* ptr, void* event); +void QQmlContext_DeleteLaterDefault(void* ptr); +void QQmlContext_DisconnectNotifyDefault(void* ptr, void* sign); +char QQmlContext_EventDefault(void* ptr, void* e); +char QQmlContext_EventFilterDefault(void* ptr, void* watched, void* event); +void* QQmlContext_MetaObjectDefault(void* ptr); +void QQmlContext_TimerEventDefault(void* ptr, void* event); +char QQmlDebuggingEnabler_QQmlDebuggingEnabler_ConnectToLocalDebugger(struct QtQml_PackedString socketFileName, long long mode); +struct QtQml_PackedString QQmlDebuggingEnabler_QQmlDebuggingEnabler_DebuggerServices(); +struct QtQml_PackedString QQmlDebuggingEnabler_QQmlDebuggingEnabler_InspectorServices(); +struct QtQml_PackedString QQmlDebuggingEnabler_QQmlDebuggingEnabler_NativeDebuggerServices(); +struct QtQml_PackedString QQmlDebuggingEnabler_QQmlDebuggingEnabler_ProfilerServices(); +void QQmlDebuggingEnabler_QQmlDebuggingEnabler_SetServices(struct QtQml_PackedString services); +char QQmlDebuggingEnabler_QQmlDebuggingEnabler_StartDebugConnector(struct QtQml_PackedString pluginName, void* configuration); +char QQmlDebuggingEnabler_QQmlDebuggingEnabler_StartTcpDebugServer(int port, long long mode, struct QtQml_PackedString hostName); +void* QQmlDebuggingEnabler___startDebugConnector_configuration_atList(void* ptr, struct QtQml_PackedString v, int i); +void QQmlDebuggingEnabler___startDebugConnector_configuration_setList(void* ptr, struct QtQml_PackedString key, void* i); +void* QQmlDebuggingEnabler___startDebugConnector_configuration_newList(void* ptr); +struct QtQml_PackedList QQmlDebuggingEnabler___startDebugConnector_configuration_keyList(void* ptr); +struct QtQml_PackedString QQmlDebuggingEnabler_____startDebugConnector_configuration_keyList_atList(void* ptr, int i); +void QQmlDebuggingEnabler_____startDebugConnector_configuration_keyList_setList(void* ptr, struct QtQml_PackedString i); +void* QQmlDebuggingEnabler_____startDebugConnector_configuration_keyList_newList(void* ptr); +void* QQmlEngine_NewQQmlEngine(void* parent); +void QQmlEngine_AddImageProvider(void* ptr, struct QtQml_PackedString providerId, void* provider); +void QQmlEngine_AddImportPath(void* ptr, struct QtQml_PackedString path); +void QQmlEngine_AddPluginPath(void* ptr, struct QtQml_PackedString path); +void* QQmlEngine_BaseUrl(void* ptr); +void QQmlEngine_ClearComponentCache(void* ptr); +void* QQmlEngine_QQmlEngine_ContextForObject(void* object); +void QQmlEngine_ConnectExit(void* ptr, long long t); +void QQmlEngine_DisconnectExit(void* ptr); +void QQmlEngine_Exit(void* ptr, int retCode); +void* QQmlEngine_ImageProvider(void* ptr, struct QtQml_PackedString providerId); +struct QtQml_PackedString QQmlEngine_ImportPathList(void* ptr); +char QQmlEngine_ImportPlugin(void* ptr, struct QtQml_PackedString filePath, struct QtQml_PackedString uri, void* errors); +void* QQmlEngine_IncubationController(void* ptr); +void* QQmlEngine_NetworkAccessManager(void* ptr); +void* QQmlEngine_NetworkAccessManagerFactory(void* ptr); +long long QQmlEngine_QQmlEngine_ObjectOwnership(void* object); +struct QtQml_PackedString QQmlEngine_OfflineStorageDatabaseFilePath(void* ptr, struct QtQml_PackedString databaseName); +struct QtQml_PackedString QQmlEngine_OfflineStoragePath(void* ptr); +char QQmlEngine_OutputWarningsToStandardError(void* ptr); +struct QtQml_PackedString QQmlEngine_PluginPathList(void* ptr); +void QQmlEngine_ConnectQuit(void* ptr, long long t); +void QQmlEngine_DisconnectQuit(void* ptr); +void QQmlEngine_Quit(void* ptr); +void QQmlEngine_RemoveImageProvider(void* ptr, struct QtQml_PackedString providerId); +void QQmlEngine_Retranslate(void* ptr); +void QQmlEngine_RetranslateDefault(void* ptr); +void* QQmlEngine_RootContext(void* ptr); +void QQmlEngine_SetBaseUrl(void* ptr, void* url); +void QQmlEngine_QQmlEngine_SetContextForObject(void* object, void* context); +void QQmlEngine_SetImportPathList(void* ptr, struct QtQml_PackedString paths); +void QQmlEngine_SetIncubationController(void* ptr, void* controller); +void QQmlEngine_SetNetworkAccessManagerFactory(void* ptr, void* factory); +void QQmlEngine_QQmlEngine_SetObjectOwnership(void* object, long long ownership); +void QQmlEngine_SetOfflineStoragePath(void* ptr, struct QtQml_PackedString dir); +void QQmlEngine_SetOutputWarningsToStandardError(void* ptr, char enabled); +void QQmlEngine_SetPluginPathList(void* ptr, struct QtQml_PackedString paths); +void QQmlEngine_TrimComponentCache(void* ptr); +void QQmlEngine_ConnectWarnings(void* ptr, long long t); +void QQmlEngine_DisconnectWarnings(void* ptr); +void QQmlEngine_Warnings(void* ptr, void* warnings); +void QQmlEngine_DestroyQQmlEngine(void* ptr); +void QQmlEngine_DestroyQQmlEngineDefault(void* ptr); +int QQmlEngine_QQmlEngine_QmlRegisterSingletonType(void* url, char* uri, int versionMajor, int versionMinor, char* qmlName); +int QQmlEngine_QQmlEngine_QmlRegisterType(void* url, char* uri, int versionMajor, int versionMinor, char* qmlName); +void* QQmlEngine___importPlugin_errors_atList(void* ptr, int i); +void QQmlEngine___importPlugin_errors_setList(void* ptr, void* i); +void* QQmlEngine___importPlugin_errors_newList(void* ptr); +void* QQmlEngine___qmlDebug_errors_atList3(void* ptr, int i); +void QQmlEngine___qmlDebug_errors_setList3(void* ptr, void* i); +void* QQmlEngine___qmlDebug_errors_newList3(void* ptr); +void* QQmlEngine___qmlInfo_errors_atList3(void* ptr, int i); +void QQmlEngine___qmlInfo_errors_setList3(void* ptr, void* i); +void* QQmlEngine___qmlInfo_errors_newList3(void* ptr); +void* QQmlEngine___qmlWarning_errors_atList3(void* ptr, int i); +void QQmlEngine___qmlWarning_errors_setList3(void* ptr, void* i); +void* QQmlEngine___qmlWarning_errors_newList3(void* ptr); +void* QQmlEngine___warnings_warnings_atList(void* ptr, int i); +void QQmlEngine___warnings_warnings_setList(void* ptr, void* i); +void* QQmlEngine___warnings_warnings_newList(void* ptr); +void* QQmlError_NewQQmlError(); +void* QQmlError_NewQQmlError2(void* other); +int QQmlError_Column(void* ptr); +struct QtQml_PackedString QQmlError_Description(void* ptr); +char QQmlError_IsValid(void* ptr); +int QQmlError_Line(void* ptr); +void* QQmlError_Object(void* ptr); +void QQmlError_SetColumn(void* ptr, int column); +void QQmlError_SetDescription(void* ptr, struct QtQml_PackedString description); +void QQmlError_SetLine(void* ptr, int line); +void QQmlError_SetObject(void* ptr, void* object); +void QQmlError_SetUrl(void* ptr, void* url); +struct QtQml_PackedString QQmlError_ToString(void* ptr); +void* QQmlError_Url(void* ptr); +void* QQmlExpression_NewQQmlExpression(); +void* QQmlExpression_NewQQmlExpression2(void* ctxt, void* scope, struct QtQml_PackedString expression, void* parent); +void* QQmlExpression_NewQQmlExpression3(void* scri, void* ctxt, void* scope, void* parent); +void QQmlExpression_ClearError(void* ptr); +int QQmlExpression_ColumnNumber(void* ptr); +void* QQmlExpression_Context(void* ptr); +void* QQmlExpression_Engine(void* ptr); +void* QQmlExpression_Error(void* ptr); +void* QQmlExpression_Evaluate(void* ptr, char* valueIsUndefined); +struct QtQml_PackedString QQmlExpression_Expression(void* ptr); +char QQmlExpression_HasError(void* ptr); +int QQmlExpression_LineNumber(void* ptr); +char QQmlExpression_NotifyOnValueChanged(void* ptr); +void* QQmlExpression_ScopeObject(void* ptr); +void QQmlExpression_SetExpression(void* ptr, struct QtQml_PackedString expression); +void QQmlExpression_SetNotifyOnValueChanged(void* ptr, char notifyOnChange); +void QQmlExpression_SetSourceLocation(void* ptr, struct QtQml_PackedString url, int line, int column); +struct QtQml_PackedString QQmlExpression_SourceFile(void* ptr); +void QQmlExpression_ConnectValueChanged(void* ptr, long long t); +void QQmlExpression_DisconnectValueChanged(void* ptr); +void QQmlExpression_ValueChanged(void* ptr); +void QQmlExpression_DestroyQQmlExpression(void* ptr); +void QQmlExpression_DestroyQQmlExpressionDefault(void* ptr); +void* QQmlExpression___children_atList(void* ptr, int i); +void QQmlExpression___children_setList(void* ptr, void* i); +void* QQmlExpression___children_newList(void* ptr); +void* QQmlExpression___dynamicPropertyNames_atList(void* ptr, int i); +void QQmlExpression___dynamicPropertyNames_setList(void* ptr, void* i); +void* QQmlExpression___dynamicPropertyNames_newList(void* ptr); +void* QQmlExpression___findChildren_atList(void* ptr, int i); +void QQmlExpression___findChildren_setList(void* ptr, void* i); +void* QQmlExpression___findChildren_newList(void* ptr); +void* QQmlExpression___findChildren_atList3(void* ptr, int i); +void QQmlExpression___findChildren_setList3(void* ptr, void* i); +void* QQmlExpression___findChildren_newList3(void* ptr); +void* QQmlExpression___qFindChildren_atList2(void* ptr, int i); +void QQmlExpression___qFindChildren_setList2(void* ptr, void* i); +void* QQmlExpression___qFindChildren_newList2(void* ptr); +void QQmlExpression_ChildEventDefault(void* ptr, void* event); +void QQmlExpression_ConnectNotifyDefault(void* ptr, void* sign); +void QQmlExpression_CustomEventDefault(void* ptr, void* event); +void QQmlExpression_DeleteLaterDefault(void* ptr); +void QQmlExpression_DisconnectNotifyDefault(void* ptr, void* sign); +char QQmlExpression_EventDefault(void* ptr, void* e); +char QQmlExpression_EventFilterDefault(void* ptr, void* watched, void* event); +void* QQmlExpression_MetaObjectDefault(void* ptr); +void QQmlExpression_TimerEventDefault(void* ptr, void* event); +void* QQmlExtensionPlugin_NewQQmlExtensionPlugin(void* parent); +void* QQmlExtensionPlugin_BaseUrl(void* ptr); +void QQmlExtensionPlugin_InitializeEngine(void* ptr, void* engine, char* uri); +void QQmlExtensionPlugin_InitializeEngineDefault(void* ptr, void* engine, char* uri); +void QQmlExtensionPlugin_RegisterTypes(void* ptr, char* uri); +void* QQmlExtensionPlugin___children_atList(void* ptr, int i); +void QQmlExtensionPlugin___children_setList(void* ptr, void* i); +void* QQmlExtensionPlugin___children_newList(void* ptr); +void* QQmlExtensionPlugin___dynamicPropertyNames_atList(void* ptr, int i); +void QQmlExtensionPlugin___dynamicPropertyNames_setList(void* ptr, void* i); +void* QQmlExtensionPlugin___dynamicPropertyNames_newList(void* ptr); +void* QQmlExtensionPlugin___findChildren_atList(void* ptr, int i); +void QQmlExtensionPlugin___findChildren_setList(void* ptr, void* i); +void* QQmlExtensionPlugin___findChildren_newList(void* ptr); +void* QQmlExtensionPlugin___findChildren_atList3(void* ptr, int i); +void QQmlExtensionPlugin___findChildren_setList3(void* ptr, void* i); +void* QQmlExtensionPlugin___findChildren_newList3(void* ptr); +void* QQmlExtensionPlugin___qFindChildren_atList2(void* ptr, int i); +void QQmlExtensionPlugin___qFindChildren_setList2(void* ptr, void* i); +void* QQmlExtensionPlugin___qFindChildren_newList2(void* ptr); +void QQmlExtensionPlugin_ChildEventDefault(void* ptr, void* event); +void QQmlExtensionPlugin_ConnectNotifyDefault(void* ptr, void* sign); +void QQmlExtensionPlugin_CustomEventDefault(void* ptr, void* event); +void QQmlExtensionPlugin_DeleteLaterDefault(void* ptr); +void QQmlExtensionPlugin_DisconnectNotifyDefault(void* ptr, void* sign); +char QQmlExtensionPlugin_EventDefault(void* ptr, void* e); +char QQmlExtensionPlugin_EventFilterDefault(void* ptr, void* watched, void* event); +void* QQmlExtensionPlugin_MetaObjectDefault(void* ptr); +void QQmlExtensionPlugin_TimerEventDefault(void* ptr, void* event); +void* QQmlFileSelector_NewQQmlFileSelector(void* engine, void* parent); +void* QQmlFileSelector_QQmlFileSelector_Get(void* engine); +void* QQmlFileSelector_Selector(void* ptr); +void QQmlFileSelector_SetExtraSelectors(void* ptr, struct QtQml_PackedString strin); +void QQmlFileSelector_SetExtraSelectors2(void* ptr, struct QtQml_PackedString strin); +void QQmlFileSelector_SetSelector(void* ptr, void* selector); +void QQmlFileSelector_DestroyQQmlFileSelector(void* ptr); +void QQmlFileSelector_DestroyQQmlFileSelectorDefault(void* ptr); +void* QQmlFileSelector___children_atList(void* ptr, int i); +void QQmlFileSelector___children_setList(void* ptr, void* i); +void* QQmlFileSelector___children_newList(void* ptr); +void* QQmlFileSelector___dynamicPropertyNames_atList(void* ptr, int i); +void QQmlFileSelector___dynamicPropertyNames_setList(void* ptr, void* i); +void* QQmlFileSelector___dynamicPropertyNames_newList(void* ptr); +void* QQmlFileSelector___findChildren_atList(void* ptr, int i); +void QQmlFileSelector___findChildren_setList(void* ptr, void* i); +void* QQmlFileSelector___findChildren_newList(void* ptr); +void* QQmlFileSelector___findChildren_atList3(void* ptr, int i); +void QQmlFileSelector___findChildren_setList3(void* ptr, void* i); +void* QQmlFileSelector___findChildren_newList3(void* ptr); +void* QQmlFileSelector___qFindChildren_atList2(void* ptr, int i); +void QQmlFileSelector___qFindChildren_setList2(void* ptr, void* i); +void* QQmlFileSelector___qFindChildren_newList2(void* ptr); +void QQmlFileSelector_ChildEventDefault(void* ptr, void* event); +void QQmlFileSelector_ConnectNotifyDefault(void* ptr, void* sign); +void QQmlFileSelector_CustomEventDefault(void* ptr, void* event); +void QQmlFileSelector_DeleteLaterDefault(void* ptr); +void QQmlFileSelector_DisconnectNotifyDefault(void* ptr, void* sign); +char QQmlFileSelector_EventDefault(void* ptr, void* e); +char QQmlFileSelector_EventFilterDefault(void* ptr, void* watched, void* event); +void* QQmlFileSelector_MetaObjectDefault(void* ptr); +void QQmlFileSelector_TimerEventDefault(void* ptr, void* event); +long long QQmlImageProviderBase_Flags(void* ptr); +long long QQmlImageProviderBase_ImageType(void* ptr); +void* QQmlIncubationController_NewQQmlIncubationController2(); +void* QQmlIncubationController_Engine(void* ptr); +void QQmlIncubationController_IncubateFor(void* ptr, int msecs); +int QQmlIncubationController_IncubatingObjectCount(void* ptr); +void QQmlIncubationController_IncubatingObjectCountChanged(void* ptr, int incubatingObjectCount); +void QQmlIncubationController_IncubatingObjectCountChangedDefault(void* ptr, int incubatingObjectCount); +void* QQmlIncubator_NewQQmlIncubator2(long long mode); +void QQmlIncubator_Clear(void* ptr); +struct QtQml_PackedList QQmlIncubator_Errors(void* ptr); +void QQmlIncubator_ForceCompletion(void* ptr); +long long QQmlIncubator_IncubationMode(void* ptr); +char QQmlIncubator_IsError(void* ptr); +char QQmlIncubator_IsLoading(void* ptr); +char QQmlIncubator_IsNull(void* ptr); +char QQmlIncubator_IsReady(void* ptr); +void* QQmlIncubator_Object(void* ptr); +void QQmlIncubator_SetInitialState(void* ptr, void* object); +void QQmlIncubator_SetInitialStateDefault(void* ptr, void* object); +long long QQmlIncubator_Status(void* ptr); +void QQmlIncubator_StatusChanged(void* ptr, long long status); +void QQmlIncubator_StatusChangedDefault(void* ptr, long long status); +void* QQmlIncubator___errors_atList(void* ptr, int i); +void QQmlIncubator___errors_setList(void* ptr, void* i); +void* QQmlIncubator___errors_newList(void* ptr); +void* QQmlListReference_NewQQmlListReference(); +void* QQmlListReference_NewQQmlListReference2(void* object, char* property, void* engine); +char QQmlListReference_Append(void* ptr, void* object); +void* QQmlListReference_At(void* ptr, int index); +char QQmlListReference_CanAppend(void* ptr); +char QQmlListReference_CanAt(void* ptr); +char QQmlListReference_CanClear(void* ptr); +char QQmlListReference_CanCount(void* ptr); +char QQmlListReference_Clear(void* ptr); +int QQmlListReference_Count(void* ptr); +char QQmlListReference_IsManipulable(void* ptr); +char QQmlListReference_IsReadable(void* ptr); +char QQmlListReference_IsValid(void* ptr); +void* QQmlListReference_ListElementType(void* ptr); +void* QQmlListReference_Object(void* ptr); +void* QQmlNetworkAccessManagerFactory_Create(void* ptr, void* parent); +void QQmlNetworkAccessManagerFactory_DestroyQQmlNetworkAccessManagerFactory(void* ptr); +void QQmlNetworkAccessManagerFactory_DestroyQQmlNetworkAccessManagerFactoryDefault(void* ptr); +void* QQmlNetworkAccessManagerFactory_NewQQmlNetworkAccessManagerFactory(); +void QQmlParserStatus_ClassBegin(void* ptr); +void QQmlParserStatus_ComponentComplete(void* ptr); +void* QQmlProperty_NewQQmlProperty(); +void* QQmlProperty_NewQQmlProperty2(void* obj); +void* QQmlProperty_NewQQmlProperty3(void* obj, void* ctxt); +void* QQmlProperty_NewQQmlProperty4(void* obj, void* engine); +void* QQmlProperty_NewQQmlProperty5(void* obj, struct QtQml_PackedString name); +void* QQmlProperty_NewQQmlProperty6(void* obj, struct QtQml_PackedString name, void* ctxt); +void* QQmlProperty_NewQQmlProperty7(void* obj, struct QtQml_PackedString name, void* engine); +void* QQmlProperty_NewQQmlProperty8(void* other); +char QQmlProperty_ConnectNotifySignal(void* ptr, void* dest, char* slot); +char QQmlProperty_ConnectNotifySignal2(void* ptr, void* dest, int method); +char QQmlProperty_HasNotifySignal(void* ptr); +int QQmlProperty_Index(void* ptr); +char QQmlProperty_IsDesignable(void* ptr); +char QQmlProperty_IsProperty(void* ptr); +char QQmlProperty_IsResettable(void* ptr); +char QQmlProperty_IsSignalProperty(void* ptr); +char QQmlProperty_IsValid(void* ptr); +char QQmlProperty_IsWritable(void* ptr); +void* QQmlProperty_Method(void* ptr); +struct QtQml_PackedString QQmlProperty_Name(void* ptr); +char QQmlProperty_NeedsNotifySignal(void* ptr); +void* QQmlProperty_Object(void* ptr); +int QQmlProperty_PropertyType(void* ptr); +long long QQmlProperty_PropertyTypeCategory(void* ptr); +struct QtQml_PackedString QQmlProperty_PropertyTypeName(void* ptr); +void* QQmlProperty_Read(void* ptr); +void* QQmlProperty_QQmlProperty_Read2(void* object, struct QtQml_PackedString name); +void* QQmlProperty_QQmlProperty_Read3(void* object, struct QtQml_PackedString name, void* ctxt); +void* QQmlProperty_QQmlProperty_Read4(void* object, struct QtQml_PackedString name, void* engine); +char QQmlProperty_Reset(void* ptr); +long long QQmlProperty_Type(void* ptr); +char QQmlProperty_Write(void* ptr, void* value); +char QQmlProperty_QQmlProperty_Write2(void* object, struct QtQml_PackedString name, void* value); +char QQmlProperty_QQmlProperty_Write3(void* object, struct QtQml_PackedString name, void* value, void* ctxt); +char QQmlProperty_QQmlProperty_Write4(void* object, struct QtQml_PackedString name, void* value, void* engine); +void* QQmlPropertyMap_NewQQmlPropertyMap(void* parent); +void QQmlPropertyMap_Clear(void* ptr, struct QtQml_PackedString key); +char QQmlPropertyMap_Contains(void* ptr, struct QtQml_PackedString key); +int QQmlPropertyMap_Count(void* ptr); +void QQmlPropertyMap_Insert(void* ptr, struct QtQml_PackedString key, void* value); +char QQmlPropertyMap_IsEmpty(void* ptr); +struct QtQml_PackedString QQmlPropertyMap_Keys(void* ptr); +int QQmlPropertyMap_Size(void* ptr); +void* QQmlPropertyMap_UpdateValue(void* ptr, struct QtQml_PackedString key, void* input); +void* QQmlPropertyMap_UpdateValueDefault(void* ptr, struct QtQml_PackedString key, void* input); +void* QQmlPropertyMap_Value(void* ptr, struct QtQml_PackedString key); +void QQmlPropertyMap_ConnectValueChanged(void* ptr, long long t); +void QQmlPropertyMap_DisconnectValueChanged(void* ptr); +void QQmlPropertyMap_ValueChanged(void* ptr, struct QtQml_PackedString key, void* value); +void QQmlPropertyMap_DestroyQQmlPropertyMap(void* ptr); +void QQmlPropertyMap_DestroyQQmlPropertyMapDefault(void* ptr); +void* QQmlPropertyMap___children_atList(void* ptr, int i); +void QQmlPropertyMap___children_setList(void* ptr, void* i); +void* QQmlPropertyMap___children_newList(void* ptr); +void* QQmlPropertyMap___dynamicPropertyNames_atList(void* ptr, int i); +void QQmlPropertyMap___dynamicPropertyNames_setList(void* ptr, void* i); +void* QQmlPropertyMap___dynamicPropertyNames_newList(void* ptr); +void* QQmlPropertyMap___findChildren_atList(void* ptr, int i); +void QQmlPropertyMap___findChildren_setList(void* ptr, void* i); +void* QQmlPropertyMap___findChildren_newList(void* ptr); +void* QQmlPropertyMap___findChildren_atList3(void* ptr, int i); +void QQmlPropertyMap___findChildren_setList3(void* ptr, void* i); +void* QQmlPropertyMap___findChildren_newList3(void* ptr); +void* QQmlPropertyMap___qFindChildren_atList2(void* ptr, int i); +void QQmlPropertyMap___qFindChildren_setList2(void* ptr, void* i); +void* QQmlPropertyMap___qFindChildren_newList2(void* ptr); +void QQmlPropertyMap_ChildEventDefault(void* ptr, void* event); +void QQmlPropertyMap_ConnectNotifyDefault(void* ptr, void* sign); +void QQmlPropertyMap_CustomEventDefault(void* ptr, void* event); +void QQmlPropertyMap_DeleteLaterDefault(void* ptr); +void QQmlPropertyMap_DisconnectNotifyDefault(void* ptr, void* sign); +char QQmlPropertyMap_EventDefault(void* ptr, void* e); +char QQmlPropertyMap_EventFilterDefault(void* ptr, void* watched, void* event); +void* QQmlPropertyMap_MetaObjectDefault(void* ptr); +void QQmlPropertyMap_TimerEventDefault(void* ptr, void* event); +void* QQmlPropertyValueSource_NewQQmlPropertyValueSource(); +void QQmlPropertyValueSource_SetTarget(void* ptr, void* property); +void QQmlPropertyValueSource_DestroyQQmlPropertyValueSource(void* ptr); +void QQmlPropertyValueSource_DestroyQQmlPropertyValueSourceDefault(void* ptr); +void* QQmlScriptString_NewQQmlScriptString(); +void* QQmlScriptString_NewQQmlScriptString2(void* other); +char QQmlScriptString_BooleanLiteral(void* ptr, char* ok); +char QQmlScriptString_IsEmpty(void* ptr); +char QQmlScriptString_IsNullLiteral(void* ptr); +char QQmlScriptString_IsUndefinedLiteral(void* ptr); +double QQmlScriptString_NumberLiteral(void* ptr, char* ok); +struct QtQml_PackedString QQmlScriptString_StringLiteral(void* ptr); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/vendor/github.com/therecipe/qt/qt.go b/vendor/github.com/therecipe/qt/qt.go new file mode 100644 index 00000000..d8d515e2 --- /dev/null +++ b/vendor/github.com/therecipe/qt/qt.go @@ -0,0 +1,251 @@ +package qt + +import ( + "log" + "os" + "runtime" + "strings" + "sync" + "unsafe" +) + +var ( + Logger = log.New(os.Stderr, "", log.Ltime) + + signals = make(map[unsafe.Pointer]map[string]unsafe.Pointer) + signalsJNI = make(map[string]map[string]unsafe.Pointer) + signalsMutex = new(sync.Mutex) + + objects = make(map[unsafe.Pointer]interface{}) + objectsMutex = new(sync.Mutex) + + objectsTemp = make(map[unsafe.Pointer]unsafe.Pointer) + objectsTempMutex = new(sync.Mutex) + + connectionTypes = make(map[unsafe.Pointer]map[string]int64) + connectionTypesMutex = new(sync.Mutex) +) + +func init() { runtime.LockOSThread() } + +func ExistsSignal(cPtr unsafe.Pointer, signal string) (exists bool) { + signalsMutex.Lock() + _, exists = signals[cPtr][signal] + signalsMutex.Unlock() + return +} + +func LendSignal(cPtr unsafe.Pointer, signal string) (s unsafe.Pointer) { + signalsMutex.Lock() + s = signals[cPtr][signal] + signalsMutex.Unlock() + return +} + +func lendSignalJNI(cPtr, signal string) (s unsafe.Pointer) { + signalsMutex.Lock() + s = signalsJNI[cPtr][signal] + signalsMutex.Unlock() + return +} + +func GetSignal(cPtr interface{}, signal string) unsafe.Pointer { + if dcPtr, ok := cPtr.(unsafe.Pointer); ok { + if signal == "destroyed" || strings.HasPrefix(signal, "~") { + defer DisconnectAllSignals(dcPtr, signal) + } + return LendSignal(dcPtr, signal) + } + return lendSignalJNI(cPtr.(string), signal) +} + +func ConnectSignal(cPtr interface{}, signal string, function unsafe.Pointer) { + if dcPtr, ok := cPtr.(unsafe.Pointer); ok { + signalsMutex.Lock() + if s, exists := signals[dcPtr]; !exists { + signals[dcPtr] = map[string]unsafe.Pointer{signal: function} + } else { + s[signal] = function + } + signalsMutex.Unlock() + } else { + connectSignalJNI(cPtr.(string), signal, function) + } +} + +func connectSignalJNI(cPtr, signal string, function unsafe.Pointer) { + signalsMutex.Lock() + if s, exists := signalsJNI[cPtr]; !exists { + signalsJNI[cPtr] = map[string]unsafe.Pointer{signal: function} + } else { + s[signal] = function + } + signalsMutex.Unlock() +} + +func DisconnectSignal(cPtr interface{}, signal string) { + if dcPtr, ok := cPtr.(unsafe.Pointer); ok { + signalsMutex.Lock() + delete(signals[dcPtr], signal) + if len(signals[dcPtr]) == 0 { + delete(signals, dcPtr) + } + signalsMutex.Unlock() + } else { + disconnectSignalJNI(cPtr.(string), signal) + } +} + +func disconnectSignalJNI(cPtr, signal string) { + signalsMutex.Lock() + delete(signalsJNI[cPtr], signal) + if len(signalsJNI[cPtr]) == 0 { + delete(signalsJNI, cPtr) + } + signalsMutex.Unlock() +} + +func DisconnectAllSignals(cPtr unsafe.Pointer, signal string) { + signalsMutex.Lock() + if s, exists := signals[cPtr]["destroyed"]; signal != "destroyed" && exists { + signals[cPtr] = map[string]unsafe.Pointer{"destroyed": s} + } else { + delete(signals, cPtr) + } + signalsMutex.Unlock() +} + +func DumpSignals() { + Debug("##############################\tSIGNALS_TABLE_START\t##############################") + signalsMutex.Lock() + for cPtr, entry := range signals { + Debug(cPtr, entry) + } + signalsMutex.Unlock() + Debug("##############################\tSIGNALS_TABLE_END\t##############################") +} + +func DumpObjects() { + Debug("##############################\tOBJECTS_TABLE_START\t##############################") + objectsMutex.Lock() + for cPtr, entry := range objects { + Debug(cPtr, entry) + } + objectsMutex.Unlock() + Debug("##############################\tOBJECTS_TABLE_END\t##############################") +} + +func DumpTempObjects() { + Debug("##############################\tTMP_OBJECTS_TABLE_START\t##############################") + objectsTempMutex.Lock() + for cPtr, entry := range objectsTemp { + Debug(cPtr, entry) + } + objectsTempMutex.Unlock() + Debug("##############################\tTMP_OBJECTS_TABLE_END\t##############################") +} + +func DumpConnectionTypes() { + Debug("##############################\tCON_MODES_TABLE_START\t##############################") + connectionTypesMutex.Lock() + for cPtr, entry := range connectionTypes { + Debug(cPtr, entry) + } + connectionTypesMutex.Unlock() + Debug("##############################\tCON_MODES_TABLE_END\t##############################") +} + +func CountSignals() (c int) { + signalsMutex.Lock() + c = len(signals) + signalsMutex.Unlock() + return +} + +func GoBoolToInt(b bool) int8 { + if b { + return 1 + } + return 0 +} + +func Recover(fn string) { + if recover() != nil { + Debug("RECOVERED:", fn) + } +} + +func Debug(fn ...interface{}) { + if strings.ToLower(os.Getenv("QT_DEBUG")) == "true" || runtime.GOARCH == "js" || runtime.GOARCH == "wasm" { + Logger.Println(fn...) + } +} + +func ClearSignals() { + signalsMutex.Lock() + signals = make(map[unsafe.Pointer]map[string]unsafe.Pointer) + signalsMutex.Unlock() +} + +func Register(cPtr unsafe.Pointer, gPtr interface{}) { + objectsMutex.Lock() + objects[cPtr] = gPtr + objectsMutex.Unlock() +} + +func Receive(cPtr unsafe.Pointer) (o interface{}, ok bool) { + objectsMutex.Lock() + o, ok = objects[cPtr] + objectsMutex.Unlock() + return +} + +func Unregister(cPtr unsafe.Pointer) { + objectsMutex.Lock() + delete(objects, cPtr) + objectsMutex.Unlock() +} + +func RegisterTemp(cPtr unsafe.Pointer, gPtr unsafe.Pointer) { + objectsTempMutex.Lock() + objectsTemp[cPtr] = gPtr + objectsTempMutex.Unlock() +} + +func ReceiveTemp(cPtr unsafe.Pointer) (o unsafe.Pointer, ok bool) { + objectsTempMutex.Lock() + o, ok = objectsTemp[cPtr] + objectsTempMutex.Unlock() + return +} + +func UnregisterTemp(cPtr unsafe.Pointer) { + objectsTempMutex.Lock() + delete(objectsTemp, cPtr) + objectsTempMutex.Unlock() +} + +func RegisterConnectionType(cPtr unsafe.Pointer, signal string, mode int64) { + connectionTypesMutex.Lock() + if s, exists := connectionTypes[cPtr]; !exists { + connectionTypes[cPtr] = map[string]int64{signal: mode} + } else { + s[signal] = mode + } + connectionTypesMutex.Unlock() +} + +func ConnectionType(cPtr unsafe.Pointer, signal string) (m int64) { + connectionTypesMutex.Lock() + if s, exists := connectionTypes[cPtr]; exists { + if lm, ok := s[signal]; ok { + delete(s, signal) + if len(s) == 0 { + delete(connectionTypes, cPtr) + } + m = lm + } + } + connectionTypesMutex.Unlock() + return +} diff --git a/vendor/github.com/therecipe/qt/qt_android.go b/vendor/github.com/therecipe/qt/qt_android.go new file mode 100644 index 00000000..1f9b4878 --- /dev/null +++ b/vendor/github.com/therecipe/qt/qt_android.go @@ -0,0 +1,92 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package qt + +/* +To view the log output run: +adb logcat GoLog:I *:S +*/ + +// Android redirects stdout and stderr to /dev/null. +// As these are common debugging utilities in Go, +// we redirect them to logcat. +// +// Unfortunately, logcat is line oriented, so we must buffer. + +/* +#cgo LDFLAGS: -landroid -llog +#include +#include +#include +*/ +import "C" + +import ( + "bufio" + "log" + "os" + "syscall" + "unsafe" +) + +var ( + ctag = C.CString("GoLog") + // Store the writer end of the redirected stderr and stdout + // so that they are not garbage collected and closed. + stderr, stdout *os.File +) + +type infoWriter struct{} + +func (infoWriter) Write(p []byte) (n int, err error) { + cstr := C.CString(string(p)) + C.__android_log_write(C.ANDROID_LOG_INFO, ctag, cstr) + C.free(unsafe.Pointer(cstr)) + return len(p), nil +} + +func lineLog(f *os.File, priority C.int) { + const logSize = 1024 // matches android/log.h. + r := bufio.NewReaderSize(f, logSize) + for { + line, _, err := r.ReadLine() + str := string(line) + if err != nil { + str += " " + err.Error() + } + cstr := C.CString(str) + C.__android_log_write(priority, ctag, cstr) + C.free(unsafe.Pointer(cstr)) + if err != nil { + break + } + } +} + +func init() { + log.SetOutput(infoWriter{}) + // android logcat includes all of log.LstdFlags + log.SetFlags(log.Flags() &^ log.LstdFlags) + + r, w, err := os.Pipe() + if err != nil { + panic(err) + } + stderr = w + if err := syscall.Dup3(int(w.Fd()), int(os.Stderr.Fd()), 0); err != nil { + panic(err) + } + go lineLog(r, C.ANDROID_LOG_ERROR) + + r, w, err = os.Pipe() + if err != nil { + panic(err) + } + stdout = w + if err := syscall.Dup3(int(w.Fd()), int(os.Stdout.Fd()), 0); err != nil { + panic(err) + } + go lineLog(r, C.ANDROID_LOG_INFO) +} diff --git a/vendor/github.com/therecipe/qt/qt_js.go b/vendor/github.com/therecipe/qt/qt_js.go new file mode 100644 index 00000000..4b84b621 --- /dev/null +++ b/vendor/github.com/therecipe/qt/qt_js.go @@ -0,0 +1,27 @@ +// +build js,!wasm + +package qt + +import "github.com/gopherjs/gopherjs/js" + +var Global = js.Global +var Module = Global.Call("eval", "Module") + +func MakeWrapper(i interface{}) *js.Object { + o := js.InternalObject(i) + methods := o.Get("constructor").Get("methods") + for i := 0; i < methods.Length(); i++ { + m := methods.Index(i) + if m.Get("pkg").String() != "" { // not exported + continue + } + if o.Get(m.Get("name").String()) == js.Undefined { + o.Set(m.Get("name").String(), func(args ...*js.Object) *js.Object { + return js.Global.Call("$externalizeFunction", o.Get(m.Get("prop").String()), m.Get("typ"), true).Call("apply", o, args) + }) + } + } + return o +} + +// diff --git a/vendor/github.com/therecipe/qt/qt_notjs.go b/vendor/github.com/therecipe/qt/qt_notjs.go new file mode 100644 index 00000000..524f2ce4 --- /dev/null +++ b/vendor/github.com/therecipe/qt/qt_notjs.go @@ -0,0 +1,11 @@ +// +build !js + +package qt + +type jsValue interface { + Call(...string) jsValue + Int() int +} + +var Global jsValue +var Module jsValue diff --git a/vendor/github.com/therecipe/qt/qt_wasm.go b/vendor/github.com/therecipe/qt/qt_wasm.go new file mode 100644 index 00000000..82e545b0 --- /dev/null +++ b/vendor/github.com/therecipe/qt/qt_wasm.go @@ -0,0 +1,20 @@ +// +build js,wasm + +package qt + +import ( + "syscall/js" + "unsafe" +) + +func init() { + Module.Set("_callbackReleaseTypedArray", js.FuncOf(func(_ js.Value, args []js.Value) interface{} { + ReleaseTypedArray(unsafe.Pointer(uintptr(args[0].Int()))) + return nil + })) +} + +var Global = js.Global() +var Module = Global.Call("eval", "Module") + +//TODO: func MakeWrapper(i interface{}) *js.Value diff --git a/vendor/github.com/therecipe/qt/qt_wasm_112.go b/vendor/github.com/therecipe/qt/qt_wasm_112.go new file mode 100644 index 00000000..eec76ba0 --- /dev/null +++ b/vendor/github.com/therecipe/qt/qt_wasm_112.go @@ -0,0 +1,13 @@ +// +build js,wasm +// +build go1.12,!go1.13,!go1.14 + +package qt + +import ( + "syscall/js" + "unsafe" +) + +func TypedArrayOf(src []byte) js.TypedArray { return js.TypedArrayOf(src) } + +func ReleaseTypedArray(p unsafe.Pointer) { (*js.TypedArray)(p).Release() } diff --git a/vendor/github.com/therecipe/qt/qt_wasm_113.go b/vendor/github.com/therecipe/qt/qt_wasm_113.go new file mode 100644 index 00000000..2efe723d --- /dev/null +++ b/vendor/github.com/therecipe/qt/qt_wasm_113.go @@ -0,0 +1,17 @@ +// +build js,wasm +// +build go1.13 + +package qt + +import ( + "syscall/js" + "unsafe" +) + +func TypedArrayOf(src []byte) js.Value { + dst := Global.Get("Uint8Array").New(len(src)) + js.CopyBytesToJS(dst, src) + return dst +} + +func ReleaseTypedArray(unsafe.Pointer) {} diff --git a/vendor/golang.org/x/crypto/AUTHORS b/vendor/golang.org/x/crypto/AUTHORS new file mode 100644 index 00000000..2b00ddba --- /dev/null +++ b/vendor/golang.org/x/crypto/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at https://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/crypto/CONTRIBUTORS b/vendor/golang.org/x/crypto/CONTRIBUTORS new file mode 100644 index 00000000..1fbd3e97 --- /dev/null +++ b/vendor/golang.org/x/crypto/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at https://tip.golang.org/CONTRIBUTORS. diff --git a/vendor/golang.org/x/crypto/LICENSE b/vendor/golang.org/x/crypto/LICENSE new file mode 100644 index 00000000..6a66aea5 --- /dev/null +++ b/vendor/golang.org/x/crypto/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/crypto/PATENTS b/vendor/golang.org/x/crypto/PATENTS new file mode 100644 index 00000000..73309904 --- /dev/null +++ b/vendor/golang.org/x/crypto/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/crypto/ssh/terminal/terminal.go b/vendor/golang.org/x/crypto/ssh/terminal/terminal.go new file mode 100644 index 00000000..2f04ee5b --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/terminal.go @@ -0,0 +1,966 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package terminal + +import ( + "bytes" + "io" + "strconv" + "sync" + "unicode/utf8" +) + +// EscapeCodes contains escape sequences that can be written to the terminal in +// order to achieve different styles of text. +type EscapeCodes struct { + // Foreground colors + Black, Red, Green, Yellow, Blue, Magenta, Cyan, White []byte + + // Reset all attributes + Reset []byte +} + +var vt100EscapeCodes = EscapeCodes{ + Black: []byte{keyEscape, '[', '3', '0', 'm'}, + Red: []byte{keyEscape, '[', '3', '1', 'm'}, + Green: []byte{keyEscape, '[', '3', '2', 'm'}, + Yellow: []byte{keyEscape, '[', '3', '3', 'm'}, + Blue: []byte{keyEscape, '[', '3', '4', 'm'}, + Magenta: []byte{keyEscape, '[', '3', '5', 'm'}, + Cyan: []byte{keyEscape, '[', '3', '6', 'm'}, + White: []byte{keyEscape, '[', '3', '7', 'm'}, + + Reset: []byte{keyEscape, '[', '0', 'm'}, +} + +// Terminal contains the state for running a VT100 terminal that is capable of +// reading lines of input. +type Terminal struct { + // AutoCompleteCallback, if non-null, is called for each keypress with + // the full input line and the current position of the cursor (in + // bytes, as an index into |line|). If it returns ok=false, the key + // press is processed normally. Otherwise it returns a replacement line + // and the new cursor position. + AutoCompleteCallback func(line string, pos int, key rune) (newLine string, newPos int, ok bool) + + // Escape contains a pointer to the escape codes for this terminal. + // It's always a valid pointer, although the escape codes themselves + // may be empty if the terminal doesn't support them. + Escape *EscapeCodes + + // lock protects the terminal and the state in this object from + // concurrent processing of a key press and a Write() call. + lock sync.Mutex + + c io.ReadWriter + prompt []rune + + // line is the current line being entered. + line []rune + // pos is the logical position of the cursor in line + pos int + // echo is true if local echo is enabled + echo bool + // pasteActive is true iff there is a bracketed paste operation in + // progress. + pasteActive bool + + // cursorX contains the current X value of the cursor where the left + // edge is 0. cursorY contains the row number where the first row of + // the current line is 0. + cursorX, cursorY int + // maxLine is the greatest value of cursorY so far. + maxLine int + + termWidth, termHeight int + + // outBuf contains the terminal data to be sent. + outBuf []byte + // remainder contains the remainder of any partial key sequences after + // a read. It aliases into inBuf. + remainder []byte + inBuf [256]byte + + // history contains previously entered commands so that they can be + // accessed with the up and down keys. + history stRingBuffer + // historyIndex stores the currently accessed history entry, where zero + // means the immediately previous entry. + historyIndex int + // When navigating up and down the history it's possible to return to + // the incomplete, initial line. That value is stored in + // historyPending. + historyPending string +} + +// NewTerminal runs a VT100 terminal on the given ReadWriter. If the ReadWriter is +// a local terminal, that terminal must first have been put into raw mode. +// prompt is a string that is written at the start of each input line (i.e. +// "> "). +func NewTerminal(c io.ReadWriter, prompt string) *Terminal { + return &Terminal{ + Escape: &vt100EscapeCodes, + c: c, + prompt: []rune(prompt), + termWidth: 80, + termHeight: 24, + echo: true, + historyIndex: -1, + } +} + +const ( + keyCtrlD = 4 + keyCtrlU = 21 + keyEnter = '\r' + keyEscape = 27 + keyBackspace = 127 + keyUnknown = 0xd800 /* UTF-16 surrogate area */ + iota + keyUp + keyDown + keyLeft + keyRight + keyAltLeft + keyAltRight + keyHome + keyEnd + keyDeleteWord + keyDeleteLine + keyClearScreen + keyPasteStart + keyPasteEnd +) + +var ( + crlf = []byte{'\r', '\n'} + pasteStart = []byte{keyEscape, '[', '2', '0', '0', '~'} + pasteEnd = []byte{keyEscape, '[', '2', '0', '1', '~'} +) + +// bytesToKey tries to parse a key sequence from b. If successful, it returns +// the key and the remainder of the input. Otherwise it returns utf8.RuneError. +func bytesToKey(b []byte, pasteActive bool) (rune, []byte) { + if len(b) == 0 { + return utf8.RuneError, nil + } + + if !pasteActive { + switch b[0] { + case 1: // ^A + return keyHome, b[1:] + case 5: // ^E + return keyEnd, b[1:] + case 8: // ^H + return keyBackspace, b[1:] + case 11: // ^K + return keyDeleteLine, b[1:] + case 12: // ^L + return keyClearScreen, b[1:] + case 23: // ^W + return keyDeleteWord, b[1:] + case 14: // ^N + return keyDown, b[1:] + case 16: // ^P + return keyUp, b[1:] + } + } + + if b[0] != keyEscape { + if !utf8.FullRune(b) { + return utf8.RuneError, b + } + r, l := utf8.DecodeRune(b) + return r, b[l:] + } + + if !pasteActive && len(b) >= 3 && b[0] == keyEscape && b[1] == '[' { + switch b[2] { + case 'A': + return keyUp, b[3:] + case 'B': + return keyDown, b[3:] + case 'C': + return keyRight, b[3:] + case 'D': + return keyLeft, b[3:] + case 'H': + return keyHome, b[3:] + case 'F': + return keyEnd, b[3:] + } + } + + if !pasteActive && len(b) >= 6 && b[0] == keyEscape && b[1] == '[' && b[2] == '1' && b[3] == ';' && b[4] == '3' { + switch b[5] { + case 'C': + return keyAltRight, b[6:] + case 'D': + return keyAltLeft, b[6:] + } + } + + if !pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteStart) { + return keyPasteStart, b[6:] + } + + if pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteEnd) { + return keyPasteEnd, b[6:] + } + + // If we get here then we have a key that we don't recognise, or a + // partial sequence. It's not clear how one should find the end of a + // sequence without knowing them all, but it seems that [a-zA-Z~] only + // appears at the end of a sequence. + for i, c := range b[0:] { + if c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '~' { + return keyUnknown, b[i+1:] + } + } + + return utf8.RuneError, b +} + +// queue appends data to the end of t.outBuf +func (t *Terminal) queue(data []rune) { + t.outBuf = append(t.outBuf, []byte(string(data))...) +} + +var eraseUnderCursor = []rune{' ', keyEscape, '[', 'D'} +var space = []rune{' '} + +func isPrintable(key rune) bool { + isInSurrogateArea := key >= 0xd800 && key <= 0xdbff + return key >= 32 && !isInSurrogateArea +} + +// moveCursorToPos appends data to t.outBuf which will move the cursor to the +// given, logical position in the text. +func (t *Terminal) moveCursorToPos(pos int) { + if !t.echo { + return + } + + x := visualLength(t.prompt) + pos + y := x / t.termWidth + x = x % t.termWidth + + up := 0 + if y < t.cursorY { + up = t.cursorY - y + } + + down := 0 + if y > t.cursorY { + down = y - t.cursorY + } + + left := 0 + if x < t.cursorX { + left = t.cursorX - x + } + + right := 0 + if x > t.cursorX { + right = x - t.cursorX + } + + t.cursorX = x + t.cursorY = y + t.move(up, down, left, right) +} + +func (t *Terminal) move(up, down, left, right int) { + m := []rune{} + + // 1 unit up can be expressed as ^[[A or ^[A + // 5 units up can be expressed as ^[[5A + + if up == 1 { + m = append(m, keyEscape, '[', 'A') + } else if up > 1 { + m = append(m, keyEscape, '[') + m = append(m, []rune(strconv.Itoa(up))...) + m = append(m, 'A') + } + + if down == 1 { + m = append(m, keyEscape, '[', 'B') + } else if down > 1 { + m = append(m, keyEscape, '[') + m = append(m, []rune(strconv.Itoa(down))...) + m = append(m, 'B') + } + + if right == 1 { + m = append(m, keyEscape, '[', 'C') + } else if right > 1 { + m = append(m, keyEscape, '[') + m = append(m, []rune(strconv.Itoa(right))...) + m = append(m, 'C') + } + + if left == 1 { + m = append(m, keyEscape, '[', 'D') + } else if left > 1 { + m = append(m, keyEscape, '[') + m = append(m, []rune(strconv.Itoa(left))...) + m = append(m, 'D') + } + + t.queue(m) +} + +func (t *Terminal) clearLineToRight() { + op := []rune{keyEscape, '[', 'K'} + t.queue(op) +} + +const maxLineLength = 4096 + +func (t *Terminal) setLine(newLine []rune, newPos int) { + if t.echo { + t.moveCursorToPos(0) + t.writeLine(newLine) + for i := len(newLine); i < len(t.line); i++ { + t.writeLine(space) + } + t.moveCursorToPos(newPos) + } + t.line = newLine + t.pos = newPos +} + +func (t *Terminal) advanceCursor(places int) { + t.cursorX += places + t.cursorY += t.cursorX / t.termWidth + if t.cursorY > t.maxLine { + t.maxLine = t.cursorY + } + t.cursorX = t.cursorX % t.termWidth + + if places > 0 && t.cursorX == 0 { + // Normally terminals will advance the current position + // when writing a character. But that doesn't happen + // for the last character in a line. However, when + // writing a character (except a new line) that causes + // a line wrap, the position will be advanced two + // places. + // + // So, if we are stopping at the end of a line, we + // need to write a newline so that our cursor can be + // advanced to the next line. + t.outBuf = append(t.outBuf, '\r', '\n') + } +} + +func (t *Terminal) eraseNPreviousChars(n int) { + if n == 0 { + return + } + + if t.pos < n { + n = t.pos + } + t.pos -= n + t.moveCursorToPos(t.pos) + + copy(t.line[t.pos:], t.line[n+t.pos:]) + t.line = t.line[:len(t.line)-n] + if t.echo { + t.writeLine(t.line[t.pos:]) + for i := 0; i < n; i++ { + t.queue(space) + } + t.advanceCursor(n) + t.moveCursorToPos(t.pos) + } +} + +// countToLeftWord returns then number of characters from the cursor to the +// start of the previous word. +func (t *Terminal) countToLeftWord() int { + if t.pos == 0 { + return 0 + } + + pos := t.pos - 1 + for pos > 0 { + if t.line[pos] != ' ' { + break + } + pos-- + } + for pos > 0 { + if t.line[pos] == ' ' { + pos++ + break + } + pos-- + } + + return t.pos - pos +} + +// countToRightWord returns then number of characters from the cursor to the +// start of the next word. +func (t *Terminal) countToRightWord() int { + pos := t.pos + for pos < len(t.line) { + if t.line[pos] == ' ' { + break + } + pos++ + } + for pos < len(t.line) { + if t.line[pos] != ' ' { + break + } + pos++ + } + return pos - t.pos +} + +// visualLength returns the number of visible glyphs in s. +func visualLength(runes []rune) int { + inEscapeSeq := false + length := 0 + + for _, r := range runes { + switch { + case inEscapeSeq: + if (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') { + inEscapeSeq = false + } + case r == '\x1b': + inEscapeSeq = true + default: + length++ + } + } + + return length +} + +// handleKey processes the given key and, optionally, returns a line of text +// that the user has entered. +func (t *Terminal) handleKey(key rune) (line string, ok bool) { + if t.pasteActive && key != keyEnter { + t.addKeyToLine(key) + return + } + + switch key { + case keyBackspace: + if t.pos == 0 { + return + } + t.eraseNPreviousChars(1) + case keyAltLeft: + // move left by a word. + t.pos -= t.countToLeftWord() + t.moveCursorToPos(t.pos) + case keyAltRight: + // move right by a word. + t.pos += t.countToRightWord() + t.moveCursorToPos(t.pos) + case keyLeft: + if t.pos == 0 { + return + } + t.pos-- + t.moveCursorToPos(t.pos) + case keyRight: + if t.pos == len(t.line) { + return + } + t.pos++ + t.moveCursorToPos(t.pos) + case keyHome: + if t.pos == 0 { + return + } + t.pos = 0 + t.moveCursorToPos(t.pos) + case keyEnd: + if t.pos == len(t.line) { + return + } + t.pos = len(t.line) + t.moveCursorToPos(t.pos) + case keyUp: + entry, ok := t.history.NthPreviousEntry(t.historyIndex + 1) + if !ok { + return "", false + } + if t.historyIndex == -1 { + t.historyPending = string(t.line) + } + t.historyIndex++ + runes := []rune(entry) + t.setLine(runes, len(runes)) + case keyDown: + switch t.historyIndex { + case -1: + return + case 0: + runes := []rune(t.historyPending) + t.setLine(runes, len(runes)) + t.historyIndex-- + default: + entry, ok := t.history.NthPreviousEntry(t.historyIndex - 1) + if ok { + t.historyIndex-- + runes := []rune(entry) + t.setLine(runes, len(runes)) + } + } + case keyEnter: + t.moveCursorToPos(len(t.line)) + t.queue([]rune("\r\n")) + line = string(t.line) + ok = true + t.line = t.line[:0] + t.pos = 0 + t.cursorX = 0 + t.cursorY = 0 + t.maxLine = 0 + case keyDeleteWord: + // Delete zero or more spaces and then one or more characters. + t.eraseNPreviousChars(t.countToLeftWord()) + case keyDeleteLine: + // Delete everything from the current cursor position to the + // end of line. + for i := t.pos; i < len(t.line); i++ { + t.queue(space) + t.advanceCursor(1) + } + t.line = t.line[:t.pos] + t.moveCursorToPos(t.pos) + case keyCtrlD: + // Erase the character under the current position. + // The EOF case when the line is empty is handled in + // readLine(). + if t.pos < len(t.line) { + t.pos++ + t.eraseNPreviousChars(1) + } + case keyCtrlU: + t.eraseNPreviousChars(t.pos) + case keyClearScreen: + // Erases the screen and moves the cursor to the home position. + t.queue([]rune("\x1b[2J\x1b[H")) + t.queue(t.prompt) + t.cursorX, t.cursorY = 0, 0 + t.advanceCursor(visualLength(t.prompt)) + t.setLine(t.line, t.pos) + default: + if t.AutoCompleteCallback != nil { + prefix := string(t.line[:t.pos]) + suffix := string(t.line[t.pos:]) + + t.lock.Unlock() + newLine, newPos, completeOk := t.AutoCompleteCallback(prefix+suffix, len(prefix), key) + t.lock.Lock() + + if completeOk { + t.setLine([]rune(newLine), utf8.RuneCount([]byte(newLine)[:newPos])) + return + } + } + if !isPrintable(key) { + return + } + if len(t.line) == maxLineLength { + return + } + t.addKeyToLine(key) + } + return +} + +// addKeyToLine inserts the given key at the current position in the current +// line. +func (t *Terminal) addKeyToLine(key rune) { + if len(t.line) == cap(t.line) { + newLine := make([]rune, len(t.line), 2*(1+len(t.line))) + copy(newLine, t.line) + t.line = newLine + } + t.line = t.line[:len(t.line)+1] + copy(t.line[t.pos+1:], t.line[t.pos:]) + t.line[t.pos] = key + if t.echo { + t.writeLine(t.line[t.pos:]) + } + t.pos++ + t.moveCursorToPos(t.pos) +} + +func (t *Terminal) writeLine(line []rune) { + for len(line) != 0 { + remainingOnLine := t.termWidth - t.cursorX + todo := len(line) + if todo > remainingOnLine { + todo = remainingOnLine + } + t.queue(line[:todo]) + t.advanceCursor(visualLength(line[:todo])) + line = line[todo:] + } +} + +// writeWithCRLF writes buf to w but replaces all occurrences of \n with \r\n. +func writeWithCRLF(w io.Writer, buf []byte) (n int, err error) { + for len(buf) > 0 { + i := bytes.IndexByte(buf, '\n') + todo := len(buf) + if i >= 0 { + todo = i + } + + var nn int + nn, err = w.Write(buf[:todo]) + n += nn + if err != nil { + return n, err + } + buf = buf[todo:] + + if i >= 0 { + if _, err = w.Write(crlf); err != nil { + return n, err + } + n++ + buf = buf[1:] + } + } + + return n, nil +} + +func (t *Terminal) Write(buf []byte) (n int, err error) { + t.lock.Lock() + defer t.lock.Unlock() + + if t.cursorX == 0 && t.cursorY == 0 { + // This is the easy case: there's nothing on the screen that we + // have to move out of the way. + return writeWithCRLF(t.c, buf) + } + + // We have a prompt and possibly user input on the screen. We + // have to clear it first. + t.move(0 /* up */, 0 /* down */, t.cursorX /* left */, 0 /* right */) + t.cursorX = 0 + t.clearLineToRight() + + for t.cursorY > 0 { + t.move(1 /* up */, 0, 0, 0) + t.cursorY-- + t.clearLineToRight() + } + + if _, err = t.c.Write(t.outBuf); err != nil { + return + } + t.outBuf = t.outBuf[:0] + + if n, err = writeWithCRLF(t.c, buf); err != nil { + return + } + + t.writeLine(t.prompt) + if t.echo { + t.writeLine(t.line) + } + + t.moveCursorToPos(t.pos) + + if _, err = t.c.Write(t.outBuf); err != nil { + return + } + t.outBuf = t.outBuf[:0] + return +} + +// ReadPassword temporarily changes the prompt and reads a password, without +// echo, from the terminal. +func (t *Terminal) ReadPassword(prompt string) (line string, err error) { + t.lock.Lock() + defer t.lock.Unlock() + + oldPrompt := t.prompt + t.prompt = []rune(prompt) + t.echo = false + + line, err = t.readLine() + + t.prompt = oldPrompt + t.echo = true + + return +} + +// ReadLine returns a line of input from the terminal. +func (t *Terminal) ReadLine() (line string, err error) { + t.lock.Lock() + defer t.lock.Unlock() + + return t.readLine() +} + +func (t *Terminal) readLine() (line string, err error) { + // t.lock must be held at this point + + if t.cursorX == 0 && t.cursorY == 0 { + t.writeLine(t.prompt) + t.c.Write(t.outBuf) + t.outBuf = t.outBuf[:0] + } + + lineIsPasted := t.pasteActive + + for { + rest := t.remainder + lineOk := false + for !lineOk { + var key rune + key, rest = bytesToKey(rest, t.pasteActive) + if key == utf8.RuneError { + break + } + if !t.pasteActive { + if key == keyCtrlD { + if len(t.line) == 0 { + return "", io.EOF + } + } + if key == keyPasteStart { + t.pasteActive = true + if len(t.line) == 0 { + lineIsPasted = true + } + continue + } + } else if key == keyPasteEnd { + t.pasteActive = false + continue + } + if !t.pasteActive { + lineIsPasted = false + } + line, lineOk = t.handleKey(key) + } + if len(rest) > 0 { + n := copy(t.inBuf[:], rest) + t.remainder = t.inBuf[:n] + } else { + t.remainder = nil + } + t.c.Write(t.outBuf) + t.outBuf = t.outBuf[:0] + if lineOk { + if t.echo { + t.historyIndex = -1 + t.history.Add(line) + } + if lineIsPasted { + err = ErrPasteIndicator + } + return + } + + // t.remainder is a slice at the beginning of t.inBuf + // containing a partial key sequence + readBuf := t.inBuf[len(t.remainder):] + var n int + + t.lock.Unlock() + n, err = t.c.Read(readBuf) + t.lock.Lock() + + if err != nil { + return + } + + t.remainder = t.inBuf[:n+len(t.remainder)] + } +} + +// SetPrompt sets the prompt to be used when reading subsequent lines. +func (t *Terminal) SetPrompt(prompt string) { + t.lock.Lock() + defer t.lock.Unlock() + + t.prompt = []rune(prompt) +} + +func (t *Terminal) clearAndRepaintLinePlusNPrevious(numPrevLines int) { + // Move cursor to column zero at the start of the line. + t.move(t.cursorY, 0, t.cursorX, 0) + t.cursorX, t.cursorY = 0, 0 + t.clearLineToRight() + for t.cursorY < numPrevLines { + // Move down a line + t.move(0, 1, 0, 0) + t.cursorY++ + t.clearLineToRight() + } + // Move back to beginning. + t.move(t.cursorY, 0, 0, 0) + t.cursorX, t.cursorY = 0, 0 + + t.queue(t.prompt) + t.advanceCursor(visualLength(t.prompt)) + t.writeLine(t.line) + t.moveCursorToPos(t.pos) +} + +func (t *Terminal) SetSize(width, height int) error { + t.lock.Lock() + defer t.lock.Unlock() + + if width == 0 { + width = 1 + } + + oldWidth := t.termWidth + t.termWidth, t.termHeight = width, height + + switch { + case width == oldWidth: + // If the width didn't change then nothing else needs to be + // done. + return nil + case len(t.line) == 0 && t.cursorX == 0 && t.cursorY == 0: + // If there is nothing on current line and no prompt printed, + // just do nothing + return nil + case width < oldWidth: + // Some terminals (e.g. xterm) will truncate lines that were + // too long when shinking. Others, (e.g. gnome-terminal) will + // attempt to wrap them. For the former, repainting t.maxLine + // works great, but that behaviour goes badly wrong in the case + // of the latter because they have doubled every full line. + + // We assume that we are working on a terminal that wraps lines + // and adjust the cursor position based on every previous line + // wrapping and turning into two. This causes the prompt on + // xterms to move upwards, which isn't great, but it avoids a + // huge mess with gnome-terminal. + if t.cursorX >= t.termWidth { + t.cursorX = t.termWidth - 1 + } + t.cursorY *= 2 + t.clearAndRepaintLinePlusNPrevious(t.maxLine * 2) + case width > oldWidth: + // If the terminal expands then our position calculations will + // be wrong in the future because we think the cursor is + // |t.pos| chars into the string, but there will be a gap at + // the end of any wrapped line. + // + // But the position will actually be correct until we move, so + // we can move back to the beginning and repaint everything. + t.clearAndRepaintLinePlusNPrevious(t.maxLine) + } + + _, err := t.c.Write(t.outBuf) + t.outBuf = t.outBuf[:0] + return err +} + +type pasteIndicatorError struct{} + +func (pasteIndicatorError) Error() string { + return "terminal: ErrPasteIndicator not correctly handled" +} + +// ErrPasteIndicator may be returned from ReadLine as the error, in addition +// to valid line data. It indicates that bracketed paste mode is enabled and +// that the returned line consists only of pasted data. Programs may wish to +// interpret pasted data more literally than typed data. +var ErrPasteIndicator = pasteIndicatorError{} + +// SetBracketedPasteMode requests that the terminal bracket paste operations +// with markers. Not all terminals support this but, if it is supported, then +// enabling this mode will stop any autocomplete callback from running due to +// pastes. Additionally, any lines that are completely pasted will be returned +// from ReadLine with the error set to ErrPasteIndicator. +func (t *Terminal) SetBracketedPasteMode(on bool) { + if on { + io.WriteString(t.c, "\x1b[?2004h") + } else { + io.WriteString(t.c, "\x1b[?2004l") + } +} + +// stRingBuffer is a ring buffer of strings. +type stRingBuffer struct { + // entries contains max elements. + entries []string + max int + // head contains the index of the element most recently added to the ring. + head int + // size contains the number of elements in the ring. + size int +} + +func (s *stRingBuffer) Add(a string) { + if s.entries == nil { + const defaultNumEntries = 100 + s.entries = make([]string, defaultNumEntries) + s.max = defaultNumEntries + } + + s.head = (s.head + 1) % s.max + s.entries[s.head] = a + if s.size < s.max { + s.size++ + } +} + +// NthPreviousEntry returns the value passed to the nth previous call to Add. +// If n is zero then the immediately prior value is returned, if one, then the +// next most recent, and so on. If such an element doesn't exist then ok is +// false. +func (s *stRingBuffer) NthPreviousEntry(n int) (value string, ok bool) { + if n >= s.size { + return "", false + } + index := s.head - n + if index < 0 { + index += s.max + } + return s.entries[index], true +} + +// readPasswordLine reads from reader until it finds \n or io.EOF. +// The slice returned does not include the \n. +// readPasswordLine also ignores any \r it finds. +func readPasswordLine(reader io.Reader) ([]byte, error) { + var buf [1]byte + var ret []byte + + for { + n, err := reader.Read(buf[:]) + if n > 0 { + switch buf[0] { + case '\n': + return ret, nil + case '\r': + // remove \r from passwords on Windows + default: + ret = append(ret, buf[0]) + } + continue + } + if err != nil { + if err == io.EOF && len(ret) > 0 { + return ret, nil + } + return ret, err + } + } +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util.go b/vendor/golang.org/x/crypto/ssh/terminal/util.go new file mode 100644 index 00000000..39110408 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util.go @@ -0,0 +1,114 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux,!appengine netbsd openbsd + +// Package terminal provides support functions for dealing with terminals, as +// commonly found on UNIX systems. +// +// Putting a terminal into raw mode is the most common requirement: +// +// oldState, err := terminal.MakeRaw(0) +// if err != nil { +// panic(err) +// } +// defer terminal.Restore(0, oldState) +package terminal // import "golang.org/x/crypto/ssh/terminal" + +import ( + "golang.org/x/sys/unix" +) + +// State contains the state of a terminal. +type State struct { + termios unix.Termios +} + +// IsTerminal returns whether the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + return err == nil +} + +// MakeRaw put the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +func MakeRaw(fd int) (*State, error) { + termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + if err != nil { + return nil, err + } + + oldState := State{termios: *termios} + + // This attempts to replicate the behaviour documented for cfmakeraw in + // the termios(3) manpage. + termios.Iflag &^= unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON + termios.Oflag &^= unix.OPOST + termios.Lflag &^= unix.ECHO | unix.ECHONL | unix.ICANON | unix.ISIG | unix.IEXTEN + termios.Cflag &^= unix.CSIZE | unix.PARENB + termios.Cflag |= unix.CS8 + termios.Cc[unix.VMIN] = 1 + termios.Cc[unix.VTIME] = 0 + if err := unix.IoctlSetTermios(fd, ioctlWriteTermios, termios); err != nil { + return nil, err + } + + return &oldState, nil +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + if err != nil { + return nil, err + } + + return &State{termios: *termios}, nil +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, state *State) error { + return unix.IoctlSetTermios(fd, ioctlWriteTermios, &state.termios) +} + +// GetSize returns the dimensions of the given terminal. +func GetSize(fd int) (width, height int, err error) { + ws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ) + if err != nil { + return -1, -1, err + } + return int(ws.Col), int(ws.Row), nil +} + +// passwordReader is an io.Reader that reads from a specific file descriptor. +type passwordReader int + +func (r passwordReader) Read(buf []byte) (int, error) { + return unix.Read(int(r), buf) +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + if err != nil { + return nil, err + } + + newState := *termios + newState.Lflag &^= unix.ECHO + newState.Lflag |= unix.ICANON | unix.ISIG + newState.Iflag |= unix.ICRNL + if err := unix.IoctlSetTermios(fd, ioctlWriteTermios, &newState); err != nil { + return nil, err + } + + defer unix.IoctlSetTermios(fd, ioctlWriteTermios, termios) + + return readPasswordLine(passwordReader(fd)) +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_aix.go b/vendor/golang.org/x/crypto/ssh/terminal/util_aix.go new file mode 100644 index 00000000..dfcd6278 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_aix.go @@ -0,0 +1,12 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix + +package terminal + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TCGETS +const ioctlWriteTermios = unix.TCSETS diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go b/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go new file mode 100644 index 00000000..cb23a590 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go @@ -0,0 +1,12 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd netbsd openbsd + +package terminal + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TIOCGETA +const ioctlWriteTermios = unix.TIOCSETA diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go b/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go new file mode 100644 index 00000000..5fadfe8a --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go @@ -0,0 +1,10 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package terminal + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TCGETS +const ioctlWriteTermios = unix.TCSETS diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go b/vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go new file mode 100644 index 00000000..9317ac7e --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go @@ -0,0 +1,58 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package terminal provides support functions for dealing with terminals, as +// commonly found on UNIX systems. +// +// Putting a terminal into raw mode is the most common requirement: +// +// oldState, err := terminal.MakeRaw(0) +// if err != nil { +// panic(err) +// } +// defer terminal.Restore(0, oldState) +package terminal + +import ( + "fmt" + "runtime" +) + +type State struct{} + +// IsTerminal returns whether the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + return false +} + +// MakeRaw put the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +func MakeRaw(fd int) (*State, error) { + return nil, fmt.Errorf("terminal: MakeRaw not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + return nil, fmt.Errorf("terminal: GetState not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, state *State) error { + return fmt.Errorf("terminal: Restore not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} + +// GetSize returns the dimensions of the given terminal. +func GetSize(fd int) (width, height int, err error) { + return 0, 0, fmt.Errorf("terminal: GetSize not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + return nil, fmt.Errorf("terminal: ReadPassword not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go b/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go new file mode 100644 index 00000000..3d5f06a9 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go @@ -0,0 +1,124 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build solaris + +package terminal // import "golang.org/x/crypto/ssh/terminal" + +import ( + "golang.org/x/sys/unix" + "io" + "syscall" +) + +// State contains the state of a terminal. +type State struct { + termios unix.Termios +} + +// IsTerminal returns whether the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + _, err := unix.IoctlGetTermio(fd, unix.TCGETA) + return err == nil +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + // see also: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libast/common/uwin/getpass.c + val, err := unix.IoctlGetTermios(fd, unix.TCGETS) + if err != nil { + return nil, err + } + oldState := *val + + newState := oldState + newState.Lflag &^= syscall.ECHO + newState.Lflag |= syscall.ICANON | syscall.ISIG + newState.Iflag |= syscall.ICRNL + err = unix.IoctlSetTermios(fd, unix.TCSETS, &newState) + if err != nil { + return nil, err + } + + defer unix.IoctlSetTermios(fd, unix.TCSETS, &oldState) + + var buf [16]byte + var ret []byte + for { + n, err := syscall.Read(fd, buf[:]) + if err != nil { + return nil, err + } + if n == 0 { + if len(ret) == 0 { + return nil, io.EOF + } + break + } + if buf[n-1] == '\n' { + n-- + } + ret = append(ret, buf[:n]...) + if n < len(buf) { + break + } + } + + return ret, nil +} + +// MakeRaw puts the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +// see http://cr.illumos.org/~webrev/andy_js/1060/ +func MakeRaw(fd int) (*State, error) { + termios, err := unix.IoctlGetTermios(fd, unix.TCGETS) + if err != nil { + return nil, err + } + + oldState := State{termios: *termios} + + termios.Iflag &^= unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON + termios.Oflag &^= unix.OPOST + termios.Lflag &^= unix.ECHO | unix.ECHONL | unix.ICANON | unix.ISIG | unix.IEXTEN + termios.Cflag &^= unix.CSIZE | unix.PARENB + termios.Cflag |= unix.CS8 + termios.Cc[unix.VMIN] = 1 + termios.Cc[unix.VTIME] = 0 + + if err := unix.IoctlSetTermios(fd, unix.TCSETS, termios); err != nil { + return nil, err + } + + return &oldState, nil +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, oldState *State) error { + return unix.IoctlSetTermios(fd, unix.TCSETS, &oldState.termios) +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + termios, err := unix.IoctlGetTermios(fd, unix.TCGETS) + if err != nil { + return nil, err + } + + return &State{termios: *termios}, nil +} + +// GetSize returns the dimensions of the given terminal. +func GetSize(fd int) (width, height int, err error) { + ws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ) + if err != nil { + return 0, 0, err + } + return int(ws.Col), int(ws.Row), nil +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go new file mode 100644 index 00000000..5cfdf8f3 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go @@ -0,0 +1,105 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +// Package terminal provides support functions for dealing with terminals, as +// commonly found on UNIX systems. +// +// Putting a terminal into raw mode is the most common requirement: +// +// oldState, err := terminal.MakeRaw(0) +// if err != nil { +// panic(err) +// } +// defer terminal.Restore(0, oldState) +package terminal + +import ( + "os" + + "golang.org/x/sys/windows" +) + +type State struct { + mode uint32 +} + +// IsTerminal returns whether the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + var st uint32 + err := windows.GetConsoleMode(windows.Handle(fd), &st) + return err == nil +} + +// MakeRaw put the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +func MakeRaw(fd int) (*State, error) { + var st uint32 + if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { + return nil, err + } + raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT) + if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil { + return nil, err + } + return &State{st}, nil +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + var st uint32 + if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { + return nil, err + } + return &State{st}, nil +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, state *State) error { + return windows.SetConsoleMode(windows.Handle(fd), state.mode) +} + +// GetSize returns the visible dimensions of the given terminal. +// +// These dimensions don't include any scrollback buffer height. +func GetSize(fd int) (width, height int, err error) { + var info windows.ConsoleScreenBufferInfo + if err := windows.GetConsoleScreenBufferInfo(windows.Handle(fd), &info); err != nil { + return 0, 0, err + } + return int(info.Window.Right - info.Window.Left + 1), int(info.Window.Bottom - info.Window.Top + 1), nil +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + var st uint32 + if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { + return nil, err + } + old := st + + st &^= (windows.ENABLE_ECHO_INPUT) + st |= (windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT) + if err := windows.SetConsoleMode(windows.Handle(fd), st); err != nil { + return nil, err + } + + defer windows.SetConsoleMode(windows.Handle(fd), old) + + var h windows.Handle + p, _ := windows.GetCurrentProcess() + if err := windows.DuplicateHandle(p, windows.Handle(fd), p, &h, 0, false, windows.DUPLICATE_SAME_ACCESS); err != nil { + return nil, err + } + + f := os.NewFile(uintptr(h), "stdin") + defer f.Close() + return readPasswordLine(f) +} diff --git a/vendor/golang.org/x/net/AUTHORS b/vendor/golang.org/x/net/AUTHORS new file mode 100644 index 00000000..15167cd7 --- /dev/null +++ b/vendor/golang.org/x/net/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/net/CONTRIBUTORS b/vendor/golang.org/x/net/CONTRIBUTORS new file mode 100644 index 00000000..1c4577e9 --- /dev/null +++ b/vendor/golang.org/x/net/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/vendor/golang.org/x/net/LICENSE b/vendor/golang.org/x/net/LICENSE new file mode 100644 index 00000000..6a66aea5 --- /dev/null +++ b/vendor/golang.org/x/net/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/net/PATENTS b/vendor/golang.org/x/net/PATENTS new file mode 100644 index 00000000..73309904 --- /dev/null +++ b/vendor/golang.org/x/net/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/net/context/context.go b/vendor/golang.org/x/net/context/context.go new file mode 100644 index 00000000..a3c021d3 --- /dev/null +++ b/vendor/golang.org/x/net/context/context.go @@ -0,0 +1,56 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package context defines the Context type, which carries deadlines, +// cancelation signals, and other request-scoped values across API boundaries +// and between processes. +// As of Go 1.7 this package is available in the standard library under the +// name context. https://golang.org/pkg/context. +// +// Incoming requests to a server should create a Context, and outgoing calls to +// servers should accept a Context. The chain of function calls between must +// propagate the Context, optionally replacing it with a modified copy created +// using WithDeadline, WithTimeout, WithCancel, or WithValue. +// +// Programs that use Contexts should follow these rules to keep interfaces +// consistent across packages and enable static analysis tools to check context +// propagation: +// +// Do not store Contexts inside a struct type; instead, pass a Context +// explicitly to each function that needs it. The Context should be the first +// parameter, typically named ctx: +// +// func DoSomething(ctx context.Context, arg Arg) error { +// // ... use ctx ... +// } +// +// Do not pass a nil Context, even if a function permits it. Pass context.TODO +// if you are unsure about which Context to use. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +// +// The same Context may be passed to functions running in different goroutines; +// Contexts are safe for simultaneous use by multiple goroutines. +// +// See http://blog.golang.org/context for example code for a server that uses +// Contexts. +package context // import "golang.org/x/net/context" + +// Background returns a non-nil, empty Context. It is never canceled, has no +// values, and has no deadline. It is typically used by the main function, +// initialization, and tests, and as the top-level Context for incoming +// requests. +func Background() Context { + return background +} + +// TODO returns a non-nil, empty Context. Code should use context.TODO when +// it's unclear which Context to use or it is not yet available (because the +// surrounding function has not yet been extended to accept a Context +// parameter). TODO is recognized by static analysis tools that determine +// whether Contexts are propagated correctly in a program. +func TODO() Context { + return todo +} diff --git a/vendor/golang.org/x/net/context/go17.go b/vendor/golang.org/x/net/context/go17.go new file mode 100644 index 00000000..d20f52b7 --- /dev/null +++ b/vendor/golang.org/x/net/context/go17.go @@ -0,0 +1,72 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7 + +package context + +import ( + "context" // standard library's context, as of Go 1.7 + "time" +) + +var ( + todo = context.TODO() + background = context.Background() +) + +// Canceled is the error returned by Context.Err when the context is canceled. +var Canceled = context.Canceled + +// DeadlineExceeded is the error returned by Context.Err when the context's +// deadline passes. +var DeadlineExceeded = context.DeadlineExceeded + +// WithCancel returns a copy of parent with a new Done channel. The returned +// context's Done channel is closed when the returned cancel function is called +// or when the parent context's Done channel is closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithCancel(parent Context) (ctx Context, cancel CancelFunc) { + ctx, f := context.WithCancel(parent) + return ctx, CancelFunc(f) +} + +// WithDeadline returns a copy of the parent context with the deadline adjusted +// to be no later than d. If the parent's deadline is already earlier than d, +// WithDeadline(parent, d) is semantically equivalent to parent. The returned +// context's Done channel is closed when the deadline expires, when the returned +// cancel function is called, or when the parent context's Done channel is +// closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) { + ctx, f := context.WithDeadline(parent, deadline) + return ctx, CancelFunc(f) +} + +// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)). +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete: +// +// func slowOperationWithTimeout(ctx context.Context) (Result, error) { +// ctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond) +// defer cancel() // releases resources if slowOperation completes before timeout elapses +// return slowOperation(ctx) +// } +func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) { + return WithDeadline(parent, time.Now().Add(timeout)) +} + +// WithValue returns a copy of parent in which the value associated with key is +// val. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +func WithValue(parent Context, key interface{}, val interface{}) Context { + return context.WithValue(parent, key, val) +} diff --git a/vendor/golang.org/x/net/context/go19.go b/vendor/golang.org/x/net/context/go19.go new file mode 100644 index 00000000..d88bd1db --- /dev/null +++ b/vendor/golang.org/x/net/context/go19.go @@ -0,0 +1,20 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.9 + +package context + +import "context" // standard library's context, as of Go 1.7 + +// A Context carries a deadline, a cancelation signal, and other values across +// API boundaries. +// +// Context's methods may be called by multiple goroutines simultaneously. +type Context = context.Context + +// A CancelFunc tells an operation to abandon its work. +// A CancelFunc does not wait for the work to stop. +// After the first call, subsequent calls to a CancelFunc do nothing. +type CancelFunc = context.CancelFunc diff --git a/vendor/golang.org/x/net/context/pre_go17.go b/vendor/golang.org/x/net/context/pre_go17.go new file mode 100644 index 00000000..0f35592d --- /dev/null +++ b/vendor/golang.org/x/net/context/pre_go17.go @@ -0,0 +1,300 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.7 + +package context + +import ( + "errors" + "fmt" + "sync" + "time" +) + +// An emptyCtx is never canceled, has no values, and has no deadline. It is not +// struct{}, since vars of this type must have distinct addresses. +type emptyCtx int + +func (*emptyCtx) Deadline() (deadline time.Time, ok bool) { + return +} + +func (*emptyCtx) Done() <-chan struct{} { + return nil +} + +func (*emptyCtx) Err() error { + return nil +} + +func (*emptyCtx) Value(key interface{}) interface{} { + return nil +} + +func (e *emptyCtx) String() string { + switch e { + case background: + return "context.Background" + case todo: + return "context.TODO" + } + return "unknown empty Context" +} + +var ( + background = new(emptyCtx) + todo = new(emptyCtx) +) + +// Canceled is the error returned by Context.Err when the context is canceled. +var Canceled = errors.New("context canceled") + +// DeadlineExceeded is the error returned by Context.Err when the context's +// deadline passes. +var DeadlineExceeded = errors.New("context deadline exceeded") + +// WithCancel returns a copy of parent with a new Done channel. The returned +// context's Done channel is closed when the returned cancel function is called +// or when the parent context's Done channel is closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithCancel(parent Context) (ctx Context, cancel CancelFunc) { + c := newCancelCtx(parent) + propagateCancel(parent, c) + return c, func() { c.cancel(true, Canceled) } +} + +// newCancelCtx returns an initialized cancelCtx. +func newCancelCtx(parent Context) *cancelCtx { + return &cancelCtx{ + Context: parent, + done: make(chan struct{}), + } +} + +// propagateCancel arranges for child to be canceled when parent is. +func propagateCancel(parent Context, child canceler) { + if parent.Done() == nil { + return // parent is never canceled + } + if p, ok := parentCancelCtx(parent); ok { + p.mu.Lock() + if p.err != nil { + // parent has already been canceled + child.cancel(false, p.err) + } else { + if p.children == nil { + p.children = make(map[canceler]bool) + } + p.children[child] = true + } + p.mu.Unlock() + } else { + go func() { + select { + case <-parent.Done(): + child.cancel(false, parent.Err()) + case <-child.Done(): + } + }() + } +} + +// parentCancelCtx follows a chain of parent references until it finds a +// *cancelCtx. This function understands how each of the concrete types in this +// package represents its parent. +func parentCancelCtx(parent Context) (*cancelCtx, bool) { + for { + switch c := parent.(type) { + case *cancelCtx: + return c, true + case *timerCtx: + return c.cancelCtx, true + case *valueCtx: + parent = c.Context + default: + return nil, false + } + } +} + +// removeChild removes a context from its parent. +func removeChild(parent Context, child canceler) { + p, ok := parentCancelCtx(parent) + if !ok { + return + } + p.mu.Lock() + if p.children != nil { + delete(p.children, child) + } + p.mu.Unlock() +} + +// A canceler is a context type that can be canceled directly. The +// implementations are *cancelCtx and *timerCtx. +type canceler interface { + cancel(removeFromParent bool, err error) + Done() <-chan struct{} +} + +// A cancelCtx can be canceled. When canceled, it also cancels any children +// that implement canceler. +type cancelCtx struct { + Context + + done chan struct{} // closed by the first cancel call. + + mu sync.Mutex + children map[canceler]bool // set to nil by the first cancel call + err error // set to non-nil by the first cancel call +} + +func (c *cancelCtx) Done() <-chan struct{} { + return c.done +} + +func (c *cancelCtx) Err() error { + c.mu.Lock() + defer c.mu.Unlock() + return c.err +} + +func (c *cancelCtx) String() string { + return fmt.Sprintf("%v.WithCancel", c.Context) +} + +// cancel closes c.done, cancels each of c's children, and, if +// removeFromParent is true, removes c from its parent's children. +func (c *cancelCtx) cancel(removeFromParent bool, err error) { + if err == nil { + panic("context: internal error: missing cancel error") + } + c.mu.Lock() + if c.err != nil { + c.mu.Unlock() + return // already canceled + } + c.err = err + close(c.done) + for child := range c.children { + // NOTE: acquiring the child's lock while holding parent's lock. + child.cancel(false, err) + } + c.children = nil + c.mu.Unlock() + + if removeFromParent { + removeChild(c.Context, c) + } +} + +// WithDeadline returns a copy of the parent context with the deadline adjusted +// to be no later than d. If the parent's deadline is already earlier than d, +// WithDeadline(parent, d) is semantically equivalent to parent. The returned +// context's Done channel is closed when the deadline expires, when the returned +// cancel function is called, or when the parent context's Done channel is +// closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) { + if cur, ok := parent.Deadline(); ok && cur.Before(deadline) { + // The current deadline is already sooner than the new one. + return WithCancel(parent) + } + c := &timerCtx{ + cancelCtx: newCancelCtx(parent), + deadline: deadline, + } + propagateCancel(parent, c) + d := deadline.Sub(time.Now()) + if d <= 0 { + c.cancel(true, DeadlineExceeded) // deadline has already passed + return c, func() { c.cancel(true, Canceled) } + } + c.mu.Lock() + defer c.mu.Unlock() + if c.err == nil { + c.timer = time.AfterFunc(d, func() { + c.cancel(true, DeadlineExceeded) + }) + } + return c, func() { c.cancel(true, Canceled) } +} + +// A timerCtx carries a timer and a deadline. It embeds a cancelCtx to +// implement Done and Err. It implements cancel by stopping its timer then +// delegating to cancelCtx.cancel. +type timerCtx struct { + *cancelCtx + timer *time.Timer // Under cancelCtx.mu. + + deadline time.Time +} + +func (c *timerCtx) Deadline() (deadline time.Time, ok bool) { + return c.deadline, true +} + +func (c *timerCtx) String() string { + return fmt.Sprintf("%v.WithDeadline(%s [%s])", c.cancelCtx.Context, c.deadline, c.deadline.Sub(time.Now())) +} + +func (c *timerCtx) cancel(removeFromParent bool, err error) { + c.cancelCtx.cancel(false, err) + if removeFromParent { + // Remove this timerCtx from its parent cancelCtx's children. + removeChild(c.cancelCtx.Context, c) + } + c.mu.Lock() + if c.timer != nil { + c.timer.Stop() + c.timer = nil + } + c.mu.Unlock() +} + +// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)). +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete: +// +// func slowOperationWithTimeout(ctx context.Context) (Result, error) { +// ctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond) +// defer cancel() // releases resources if slowOperation completes before timeout elapses +// return slowOperation(ctx) +// } +func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) { + return WithDeadline(parent, time.Now().Add(timeout)) +} + +// WithValue returns a copy of parent in which the value associated with key is +// val. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +func WithValue(parent Context, key interface{}, val interface{}) Context { + return &valueCtx{parent, key, val} +} + +// A valueCtx carries a key-value pair. It implements Value for that key and +// delegates all other calls to the embedded Context. +type valueCtx struct { + Context + key, val interface{} +} + +func (c *valueCtx) String() string { + return fmt.Sprintf("%v.WithValue(%#v, %#v)", c.Context, c.key, c.val) +} + +func (c *valueCtx) Value(key interface{}) interface{} { + if c.key == key { + return c.val + } + return c.Context.Value(key) +} diff --git a/vendor/golang.org/x/net/context/pre_go19.go b/vendor/golang.org/x/net/context/pre_go19.go new file mode 100644 index 00000000..b105f80b --- /dev/null +++ b/vendor/golang.org/x/net/context/pre_go19.go @@ -0,0 +1,109 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.9 + +package context + +import "time" + +// A Context carries a deadline, a cancelation signal, and other values across +// API boundaries. +// +// Context's methods may be called by multiple goroutines simultaneously. +type Context interface { + // Deadline returns the time when work done on behalf of this context + // should be canceled. Deadline returns ok==false when no deadline is + // set. Successive calls to Deadline return the same results. + Deadline() (deadline time.Time, ok bool) + + // Done returns a channel that's closed when work done on behalf of this + // context should be canceled. Done may return nil if this context can + // never be canceled. Successive calls to Done return the same value. + // + // WithCancel arranges for Done to be closed when cancel is called; + // WithDeadline arranges for Done to be closed when the deadline + // expires; WithTimeout arranges for Done to be closed when the timeout + // elapses. + // + // Done is provided for use in select statements: + // + // // Stream generates values with DoSomething and sends them to out + // // until DoSomething returns an error or ctx.Done is closed. + // func Stream(ctx context.Context, out chan<- Value) error { + // for { + // v, err := DoSomething(ctx) + // if err != nil { + // return err + // } + // select { + // case <-ctx.Done(): + // return ctx.Err() + // case out <- v: + // } + // } + // } + // + // See http://blog.golang.org/pipelines for more examples of how to use + // a Done channel for cancelation. + Done() <-chan struct{} + + // Err returns a non-nil error value after Done is closed. Err returns + // Canceled if the context was canceled or DeadlineExceeded if the + // context's deadline passed. No other values for Err are defined. + // After Done is closed, successive calls to Err return the same value. + Err() error + + // Value returns the value associated with this context for key, or nil + // if no value is associated with key. Successive calls to Value with + // the same key returns the same result. + // + // Use context values only for request-scoped data that transits + // processes and API boundaries, not for passing optional parameters to + // functions. + // + // A key identifies a specific value in a Context. Functions that wish + // to store values in Context typically allocate a key in a global + // variable then use that key as the argument to context.WithValue and + // Context.Value. A key can be any type that supports equality; + // packages should define keys as an unexported type to avoid + // collisions. + // + // Packages that define a Context key should provide type-safe accessors + // for the values stores using that key: + // + // // Package user defines a User type that's stored in Contexts. + // package user + // + // import "golang.org/x/net/context" + // + // // User is the type of value stored in the Contexts. + // type User struct {...} + // + // // key is an unexported type for keys defined in this package. + // // This prevents collisions with keys defined in other packages. + // type key int + // + // // userKey is the key for user.User values in Contexts. It is + // // unexported; clients use user.NewContext and user.FromContext + // // instead of using this key directly. + // var userKey key = 0 + // + // // NewContext returns a new Context that carries value u. + // func NewContext(ctx context.Context, u *User) context.Context { + // return context.WithValue(ctx, userKey, u) + // } + // + // // FromContext returns the User value stored in ctx, if any. + // func FromContext(ctx context.Context) (*User, bool) { + // u, ok := ctx.Value(userKey).(*User) + // return u, ok + // } + Value(key interface{}) interface{} +} + +// A CancelFunc tells an operation to abandon its work. +// A CancelFunc does not wait for the work to stop. +// After the first call, subsequent calls to a CancelFunc do nothing. +type CancelFunc func() diff --git a/vendor/golang.org/x/sys/AUTHORS b/vendor/golang.org/x/sys/AUTHORS new file mode 100644 index 00000000..15167cd7 --- /dev/null +++ b/vendor/golang.org/x/sys/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/sys/CONTRIBUTORS b/vendor/golang.org/x/sys/CONTRIBUTORS new file mode 100644 index 00000000..1c4577e9 --- /dev/null +++ b/vendor/golang.org/x/sys/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/vendor/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE new file mode 100644 index 00000000..6a66aea5 --- /dev/null +++ b/vendor/golang.org/x/sys/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/sys/PATENTS b/vendor/golang.org/x/sys/PATENTS new file mode 100644 index 00000000..73309904 --- /dev/null +++ b/vendor/golang.org/x/sys/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/sys/unix/.gitignore b/vendor/golang.org/x/sys/unix/.gitignore new file mode 100644 index 00000000..e3e0fc6f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/.gitignore @@ -0,0 +1,2 @@ +_obj/ +unix.test diff --git a/vendor/golang.org/x/sys/unix/README.md b/vendor/golang.org/x/sys/unix/README.md new file mode 100644 index 00000000..eb2f78ae --- /dev/null +++ b/vendor/golang.org/x/sys/unix/README.md @@ -0,0 +1,173 @@ +# Building `sys/unix` + +The sys/unix package provides access to the raw system call interface of the +underlying operating system. See: https://godoc.org/golang.org/x/sys/unix + +Porting Go to a new architecture/OS combination or adding syscalls, types, or +constants to an existing architecture/OS pair requires some manual effort; +however, there are tools that automate much of the process. + +## Build Systems + +There are currently two ways we generate the necessary files. We are currently +migrating the build system to use containers so the builds are reproducible. +This is being done on an OS-by-OS basis. Please update this documentation as +components of the build system change. + +### Old Build System (currently for `GOOS != "linux"`) + +The old build system generates the Go files based on the C header files +present on your system. This means that files +for a given GOOS/GOARCH pair must be generated on a system with that OS and +architecture. This also means that the generated code can differ from system +to system, based on differences in the header files. + +To avoid this, if you are using the old build system, only generate the Go +files on an installation with unmodified header files. It is also important to +keep track of which version of the OS the files were generated from (ex. +Darwin 14 vs Darwin 15). This makes it easier to track the progress of changes +and have each OS upgrade correspond to a single change. + +To build the files for your current OS and architecture, make sure GOOS and +GOARCH are set correctly and run `mkall.sh`. This will generate the files for +your specific system. Running `mkall.sh -n` shows the commands that will be run. + +Requirements: bash, go + +### New Build System (currently for `GOOS == "linux"`) + +The new build system uses a Docker container to generate the go files directly +from source checkouts of the kernel and various system libraries. This means +that on any platform that supports Docker, all the files using the new build +system can be generated at once, and generated files will not change based on +what the person running the scripts has installed on their computer. + +The OS specific files for the new build system are located in the `${GOOS}` +directory, and the build is coordinated by the `${GOOS}/mkall.go` program. When +the kernel or system library updates, modify the Dockerfile at +`${GOOS}/Dockerfile` to checkout the new release of the source. + +To build all the files under the new build system, you must be on an amd64/Linux +system and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will +then generate all of the files for all of the GOOS/GOARCH pairs in the new build +system. Running `mkall.sh -n` shows the commands that will be run. + +Requirements: bash, go, docker + +## Component files + +This section describes the various files used in the code generation process. +It also contains instructions on how to modify these files to add a new +architecture/OS or to add additional syscalls, types, or constants. Note that +if you are using the new build system, the scripts/programs cannot be called normally. +They must be called from within the docker container. + +### asm files + +The hand-written assembly file at `asm_${GOOS}_${GOARCH}.s` implements system +call dispatch. There are three entry points: +``` + func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) + func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) + func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) +``` +The first and second are the standard ones; they differ only in how many +arguments can be passed to the kernel. The third is for low-level use by the +ForkExec wrapper. Unlike the first two, it does not call into the scheduler to +let it know that a system call is running. + +When porting Go to an new architecture/OS, this file must be implemented for +each GOOS/GOARCH pair. + +### mksysnum + +Mksysnum is a Go program located at `${GOOS}/mksysnum.go` (or `mksysnum_${GOOS}.go` +for the old system). This program takes in a list of header files containing the +syscall number declarations and parses them to produce the corresponding list of +Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated +constants. + +Adding new syscall numbers is mostly done by running the build on a sufficiently +new installation of the target OS (or updating the source checkouts for the +new build system). However, depending on the OS, you make need to update the +parsing in mksysnum. + +### mksyscall.go + +The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are +hand-written Go files which implement system calls (for unix, the specific OS, +or the specific OS/Architecture pair respectively) that need special handling +and list `//sys` comments giving prototypes for ones that can be generated. + +The mksyscall.go program takes the `//sys` and `//sysnb` comments and converts +them into syscalls. This requires the name of the prototype in the comment to +match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function +prototype can be exported (capitalized) or not. + +Adding a new syscall often just requires adding a new `//sys` function prototype +with the desired arguments and a capitalized name so it is exported. However, if +you want the interface to the syscall to be different, often one will make an +unexported `//sys` prototype, an then write a custom wrapper in +`syscall_${GOOS}.go`. + +### types files + +For each OS, there is a hand-written Go file at `${GOOS}/types.go` (or +`types_${GOOS}.go` on the old system). This file includes standard C headers and +creates Go type aliases to the corresponding C types. The file is then fed +through godef to get the Go compatible definitions. Finally, the generated code +is fed though mkpost.go to format the code correctly and remove any hidden or +private identifiers. This cleaned-up code is written to +`ztypes_${GOOS}_${GOARCH}.go`. + +The hardest part about preparing this file is figuring out which headers to +include and which symbols need to be `#define`d to get the actual data +structures that pass through to the kernel system calls. Some C libraries +preset alternate versions for binary compatibility and translate them on the +way in and out of system calls, but there is almost always a `#define` that can +get the real ones. +See `types_darwin.go` and `linux/types.go` for examples. + +To add a new type, add in the necessary include statement at the top of the +file (if it is not already there) and add in a type alias line. Note that if +your type is significantly different on different architectures, you may need +some `#if/#elif` macros in your include statements. + +### mkerrors.sh + +This script is used to generate the system's various constants. This doesn't +just include the error numbers and error strings, but also the signal numbers +an a wide variety of miscellaneous constants. The constants come from the list +of include files in the `includes_${uname}` variable. A regex then picks out +the desired `#define` statements, and generates the corresponding Go constants. +The error numbers and strings are generated from `#include `, and the +signal numbers and strings are generated from `#include `. All of +these constants are written to `zerrors_${GOOS}_${GOARCH}.go` via a C program, +`_errors.c`, which prints out all the constants. + +To add a constant, add the header that includes it to the appropriate variable. +Then, edit the regex (if necessary) to match the desired constant. Avoid making +the regex too broad to avoid matching unintended constants. + + +## Generated files + +### `zerror_${GOOS}_${GOARCH}.go` + +A file containing all of the system's generated error numbers, error strings, +signal numbers, and constants. Generated by `mkerrors.sh` (see above). + +### `zsyscall_${GOOS}_${GOARCH}.go` + +A file containing all the generated syscalls for a specific GOOS and GOARCH. +Generated by `mksyscall.go` (see above). + +### `zsysnum_${GOOS}_${GOARCH}.go` + +A list of numeric constants for all the syscall number of the specific GOOS +and GOARCH. Generated by mksysnum (see above). + +### `ztypes_${GOOS}_${GOARCH}.go` + +A file containing Go types for passing into (or returning from) syscalls. +Generated by godefs and the types file (see above). diff --git a/vendor/golang.org/x/sys/unix/affinity_linux.go b/vendor/golang.org/x/sys/unix/affinity_linux.go new file mode 100644 index 00000000..6e5c81ac --- /dev/null +++ b/vendor/golang.org/x/sys/unix/affinity_linux.go @@ -0,0 +1,86 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// CPU affinity functions + +package unix + +import ( + "math/bits" + "unsafe" +) + +const cpuSetSize = _CPU_SETSIZE / _NCPUBITS + +// CPUSet represents a CPU affinity mask. +type CPUSet [cpuSetSize]cpuMask + +func schedAffinity(trap uintptr, pid int, set *CPUSet) error { + _, _, e := RawSyscall(trap, uintptr(pid), uintptr(unsafe.Sizeof(*set)), uintptr(unsafe.Pointer(set))) + if e != 0 { + return errnoErr(e) + } + return nil +} + +// SchedGetaffinity gets the CPU affinity mask of the thread specified by pid. +// If pid is 0 the calling thread is used. +func SchedGetaffinity(pid int, set *CPUSet) error { + return schedAffinity(SYS_SCHED_GETAFFINITY, pid, set) +} + +// SchedSetaffinity sets the CPU affinity mask of the thread specified by pid. +// If pid is 0 the calling thread is used. +func SchedSetaffinity(pid int, set *CPUSet) error { + return schedAffinity(SYS_SCHED_SETAFFINITY, pid, set) +} + +// Zero clears the set s, so that it contains no CPUs. +func (s *CPUSet) Zero() { + for i := range s { + s[i] = 0 + } +} + +func cpuBitsIndex(cpu int) int { + return cpu / _NCPUBITS +} + +func cpuBitsMask(cpu int) cpuMask { + return cpuMask(1 << (uint(cpu) % _NCPUBITS)) +} + +// Set adds cpu to the set s. +func (s *CPUSet) Set(cpu int) { + i := cpuBitsIndex(cpu) + if i < len(s) { + s[i] |= cpuBitsMask(cpu) + } +} + +// Clear removes cpu from the set s. +func (s *CPUSet) Clear(cpu int) { + i := cpuBitsIndex(cpu) + if i < len(s) { + s[i] &^= cpuBitsMask(cpu) + } +} + +// IsSet reports whether cpu is in the set s. +func (s *CPUSet) IsSet(cpu int) bool { + i := cpuBitsIndex(cpu) + if i < len(s) { + return s[i]&cpuBitsMask(cpu) != 0 + } + return false +} + +// Count returns the number of CPUs in the set s. +func (s *CPUSet) Count() int { + c := 0 + for _, b := range s { + c += bits.OnesCount64(uint64(b)) + } + return c +} diff --git a/vendor/golang.org/x/sys/unix/aliases.go b/vendor/golang.org/x/sys/unix/aliases.go new file mode 100644 index 00000000..951fce4d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/aliases.go @@ -0,0 +1,14 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris +// +build go1.9 + +package unix + +import "syscall" + +type Signal = syscall.Signal +type Errno = syscall.Errno +type SysProcAttr = syscall.SysProcAttr diff --git a/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s new file mode 100644 index 00000000..06f84b85 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s @@ -0,0 +1,17 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for ppc64, AIX are implemented in runtime/syscall_aix.go +// + +TEXT ·syscall6(SB),NOSPLIT,$0-88 + JMP syscall·syscall6(SB) + +TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 + JMP syscall·rawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_386.s b/vendor/golang.org/x/sys/unix/asm_darwin_386.s new file mode 100644 index 00000000..8a727831 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_darwin_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s new file mode 100644 index 00000000..6321421f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s new file mode 100644 index 00000000..333242d5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s @@ -0,0 +1,30 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo +// +build arm,darwin + +#include "textflag.h" + +// +// System call support for ARM, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s new file mode 100644 index 00000000..97e01743 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s @@ -0,0 +1,30 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo +// +build arm64,darwin + +#include "textflag.h" + +// +// System call support for AMD64, Darwin +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s new file mode 100644 index 00000000..603dd572 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, DragonFly +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_386.s b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s new file mode 100644 index 00000000..c9a0a260 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s new file mode 100644 index 00000000..35172477 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s new file mode 100644 index 00000000..9227c875 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s new file mode 100644 index 00000000..d9318cbf --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM64, FreeBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s new file mode 100644 index 00000000..448bebbb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_386.s @@ -0,0 +1,65 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for 386, Linux +// + +// See ../runtime/sys_linux_386.s for the reason why we always use int 0x80 +// instead of the glibc-specific "CALL 0x10(GS)". +#define INVOKE_SYSCALL INT $0x80 + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 + CALL runtime·entersyscall(SB) + MOVL trap+0(FP), AX // syscall entry + MOVL a1+4(FP), BX + MOVL a2+8(FP), CX + MOVL a3+12(FP), DX + MOVL $0, SI + MOVL $0, DI + INVOKE_SYSCALL + MOVL AX, r1+16(FP) + MOVL DX, r2+20(FP) + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 + MOVL trap+0(FP), AX // syscall entry + MOVL a1+4(FP), BX + MOVL a2+8(FP), CX + MOVL a3+12(FP), DX + MOVL $0, SI + MOVL $0, DI + INVOKE_SYSCALL + MOVL AX, r1+16(FP) + MOVL DX, r2+20(FP) + RET + +TEXT ·socketcall(SB),NOSPLIT,$0-36 + JMP syscall·socketcall(SB) + +TEXT ·rawsocketcall(SB),NOSPLIT,$0-36 + JMP syscall·rawsocketcall(SB) + +TEXT ·seek(SB),NOSPLIT,$0-28 + JMP syscall·seek(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s new file mode 100644 index 00000000..c6468a95 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s @@ -0,0 +1,57 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for AMD64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + CALL runtime·entersyscall(SB) + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ $0, R10 + MOVQ $0, R8 + MOVQ $0, R9 + MOVQ trap+0(FP), AX // syscall entry + SYSCALL + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ $0, R10 + MOVQ $0, R8 + MOVQ $0, R9 + MOVQ trap+0(FP), AX // syscall entry + SYSCALL + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + RET + +TEXT ·gettimeofday(SB),NOSPLIT,$0-16 + JMP syscall·gettimeofday(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s new file mode 100644 index 00000000..cf0f3575 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_arm.s @@ -0,0 +1,56 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for arm, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 + BL runtime·entersyscall(SB) + MOVW trap+0(FP), R7 + MOVW a1+4(FP), R0 + MOVW a2+8(FP), R1 + MOVW a3+12(FP), R2 + MOVW $0, R3 + MOVW $0, R4 + MOVW $0, R5 + SWI $0 + MOVW R0, r1+16(FP) + MOVW $0, R0 + MOVW R0, r2+20(FP) + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 + MOVW trap+0(FP), R7 // syscall entry + MOVW a1+4(FP), R0 + MOVW a2+8(FP), R1 + MOVW a3+12(FP), R2 + SWI $0 + MOVW R0, r1+16(FP) + MOVW $0, R0 + MOVW R0, r2+20(FP) + RET + +TEXT ·seek(SB),NOSPLIT,$0-28 + B syscall·seek(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s new file mode 100644 index 00000000..afe6fdf6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s @@ -0,0 +1,52 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build arm64 +// +build !gccgo + +#include "textflag.h" + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + B syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R0 + MOVD a2+16(FP), R1 + MOVD a3+24(FP), R2 + MOVD $0, R3 + MOVD $0, R4 + MOVD $0, R5 + MOVD trap+0(FP), R8 // syscall entry + SVC + MOVD R0, r1+32(FP) // r1 + MOVD R1, r2+40(FP) // r2 + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + B syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVD a1+8(FP), R0 + MOVD a2+16(FP), R1 + MOVD a3+24(FP), R2 + MOVD $0, R3 + MOVD $0, R4 + MOVD $0, R5 + MOVD trap+0(FP), R8 // syscall entry + SVC + MOVD R0, r1+32(FP) + MOVD R1, r2+40(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s new file mode 100644 index 00000000..ab9d6383 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s @@ -0,0 +1,56 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips64 mips64le +// +build !gccgo + +#include "textflag.h" + +// +// System calls for mips64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + JAL runtime·entersyscall(SB) + MOVV a1+8(FP), R4 + MOVV a2+16(FP), R5 + MOVV a3+24(FP), R6 + MOVV R0, R7 + MOVV R0, R8 + MOVV R0, R9 + MOVV trap+0(FP), R2 // syscall entry + SYSCALL + MOVV R2, r1+32(FP) + MOVV R3, r2+40(FP) + JAL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVV a1+8(FP), R4 + MOVV a2+16(FP), R5 + MOVV a3+24(FP), R6 + MOVV R0, R7 + MOVV R0, R8 + MOVV R0, R9 + MOVV trap+0(FP), R2 // syscall entry + SYSCALL + MOVV R2, r1+32(FP) + MOVV R3, r2+40(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s new file mode 100644 index 00000000..99e53990 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s @@ -0,0 +1,54 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips mipsle +// +build !gccgo + +#include "textflag.h" + +// +// System calls for mips, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 + JAL runtime·entersyscall(SB) + MOVW a1+4(FP), R4 + MOVW a2+8(FP), R5 + MOVW a3+12(FP), R6 + MOVW R0, R7 + MOVW trap+0(FP), R2 // syscall entry + SYSCALL + MOVW R2, r1+16(FP) // r1 + MOVW R3, r2+20(FP) // r2 + JAL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 + MOVW a1+4(FP), R4 + MOVW a2+8(FP), R5 + MOVW a3+12(FP), R6 + MOVW trap+0(FP), R2 // syscall entry + SYSCALL + MOVW R2, r1+16(FP) + MOVW R3, r2+20(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s new file mode 100644 index 00000000..88f71255 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s @@ -0,0 +1,44 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64 ppc64le +// +build !gccgo + +#include "textflag.h" + +// +// System calls for ppc64, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R3 + MOVD a2+16(FP), R4 + MOVD a3+24(FP), R5 + MOVD R0, R6 + MOVD R0, R7 + MOVD R0, R8 + MOVD trap+0(FP), R9 // syscall entry + SYSCALL R9 + MOVD R3, r1+32(FP) + MOVD R4, r2+40(FP) + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVD a1+8(FP), R3 + MOVD a2+16(FP), R4 + MOVD a3+24(FP), R5 + MOVD R0, R6 + MOVD R0, R7 + MOVD R0, R8 + MOVD trap+0(FP), R9 // syscall entry + SYSCALL R9 + MOVD R3, r1+32(FP) + MOVD R4, r2+40(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s new file mode 100644 index 00000000..6db717de --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s @@ -0,0 +1,54 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build riscv64,!gccgo + +#include "textflag.h" + +// +// System calls for linux/riscv64. +// +// Where available, just jump to package syscall's implementation of +// these functions. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + CALL runtime·entersyscall(SB) + MOV a1+8(FP), A0 + MOV a2+16(FP), A1 + MOV a3+24(FP), A2 + MOV $0, A3 + MOV $0, A4 + MOV $0, A5 + MOV $0, A6 + MOV trap+0(FP), A7 // syscall entry + ECALL + MOV A0, r1+32(FP) // r1 + MOV A1, r2+40(FP) // r2 + CALL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOV a1+8(FP), A0 + MOV a2+16(FP), A1 + MOV a3+24(FP), A2 + MOV ZERO, A3 + MOV ZERO, A4 + MOV ZERO, A5 + MOV trap+0(FP), A7 // syscall entry + ECALL + MOV A0, r1+32(FP) + MOV A1, r2+40(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s new file mode 100644 index 00000000..a5a863c6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s @@ -0,0 +1,56 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x +// +build linux +// +build !gccgo + +#include "textflag.h" + +// +// System calls for s390x, Linux +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + BR syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + BR syscall·Syscall6(SB) + +TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 + BL runtime·entersyscall(SB) + MOVD a1+8(FP), R2 + MOVD a2+16(FP), R3 + MOVD a3+24(FP), R4 + MOVD $0, R5 + MOVD $0, R6 + MOVD $0, R7 + MOVD trap+0(FP), R1 // syscall entry + SYSCALL + MOVD R2, r1+32(FP) + MOVD R3, r2+40(FP) + BL runtime·exitsyscall(SB) + RET + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + BR syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + BR syscall·RawSyscall6(SB) + +TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 + MOVD a1+8(FP), R2 + MOVD a2+16(FP), R3 + MOVD a3+24(FP), R4 + MOVD $0, R5 + MOVD $0, R6 + MOVD $0, R7 + MOVD trap+0(FP), R1 // syscall entry + SYSCALL + MOVD R2, r1+32(FP) + MOVD R3, r2+40(FP) + RET diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_386.s b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s new file mode 100644 index 00000000..48bdcd76 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s new file mode 100644 index 00000000..2ede05c7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s new file mode 100644 index 00000000..e8928571 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s new file mode 100644 index 00000000..6f98ba5a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM64, NetBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_386.s b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s new file mode 100644 index 00000000..00576f3c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for 386, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s new file mode 100644 index 00000000..790ef77f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s @@ -0,0 +1,29 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for AMD64, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s new file mode 100644 index 00000000..469bfa10 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s new file mode 100644 index 00000000..0cedea3d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for arm64, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-56 + JMP syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JMP syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-104 + JMP syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-56 + JMP syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 + JMP syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s new file mode 100644 index 00000000..ded8260f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s @@ -0,0 +1,17 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo + +#include "textflag.h" + +// +// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go +// + +TEXT ·sysvicall6(SB),NOSPLIT,$0-88 + JMP syscall·sysvicall6(SB) + +TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 + JMP syscall·rawSysvicall6(SB) diff --git a/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/vendor/golang.org/x/sys/unix/bluetooth_linux.go new file mode 100644 index 00000000..6e322969 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/bluetooth_linux.go @@ -0,0 +1,35 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Bluetooth sockets and messages + +package unix + +// Bluetooth Protocols +const ( + BTPROTO_L2CAP = 0 + BTPROTO_HCI = 1 + BTPROTO_SCO = 2 + BTPROTO_RFCOMM = 3 + BTPROTO_BNEP = 4 + BTPROTO_CMTP = 5 + BTPROTO_HIDP = 6 + BTPROTO_AVDTP = 7 +) + +const ( + HCI_CHANNEL_RAW = 0 + HCI_CHANNEL_USER = 1 + HCI_CHANNEL_MONITOR = 2 + HCI_CHANNEL_CONTROL = 3 +) + +// Socketoption Level +const ( + SOL_BLUETOOTH = 0x112 + SOL_HCI = 0x0 + SOL_L2CAP = 0x6 + SOL_RFCOMM = 0x12 + SOL_SCO = 0x11 +) diff --git a/vendor/golang.org/x/sys/unix/cap_freebsd.go b/vendor/golang.org/x/sys/unix/cap_freebsd.go new file mode 100644 index 00000000..df520487 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/cap_freebsd.go @@ -0,0 +1,195 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build freebsd + +package unix + +import ( + "errors" + "fmt" +) + +// Go implementation of C mostly found in /usr/src/sys/kern/subr_capability.c + +const ( + // This is the version of CapRights this package understands. See C implementation for parallels. + capRightsGoVersion = CAP_RIGHTS_VERSION_00 + capArSizeMin = CAP_RIGHTS_VERSION_00 + 2 + capArSizeMax = capRightsGoVersion + 2 +) + +var ( + bit2idx = []int{ + -1, 0, 1, -1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, + 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + } +) + +func capidxbit(right uint64) int { + return int((right >> 57) & 0x1f) +} + +func rightToIndex(right uint64) (int, error) { + idx := capidxbit(right) + if idx < 0 || idx >= len(bit2idx) { + return -2, fmt.Errorf("index for right 0x%x out of range", right) + } + return bit2idx[idx], nil +} + +func caprver(right uint64) int { + return int(right >> 62) +} + +func capver(rights *CapRights) int { + return caprver(rights.Rights[0]) +} + +func caparsize(rights *CapRights) int { + return capver(rights) + 2 +} + +// CapRightsSet sets the permissions in setrights in rights. +func CapRightsSet(rights *CapRights, setrights []uint64) error { + // This is essentially a copy of cap_rights_vset() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return errors.New("bad rights size") + } + + for _, right := range setrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return errors.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return err + } + if i >= n { + return errors.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch") + } + rights.Rights[i] |= right + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch (after assign)") + } + } + + return nil +} + +// CapRightsClear clears the permissions in clearrights from rights. +func CapRightsClear(rights *CapRights, clearrights []uint64) error { + // This is essentially a copy of cap_rights_vclear() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return errors.New("bad rights size") + } + + for _, right := range clearrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return errors.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return err + } + if i >= n { + return errors.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch") + } + rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF) + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return errors.New("index mismatch (after assign)") + } + } + + return nil +} + +// CapRightsIsSet checks whether all the permissions in setrights are present in rights. +func CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) { + // This is essentially a copy of cap_rights_is_vset() + if capver(rights) != CAP_RIGHTS_VERSION_00 { + return false, fmt.Errorf("bad rights version %d", capver(rights)) + } + + n := caparsize(rights) + if n < capArSizeMin || n > capArSizeMax { + return false, errors.New("bad rights size") + } + + for _, right := range setrights { + if caprver(right) != CAP_RIGHTS_VERSION_00 { + return false, errors.New("bad right version") + } + i, err := rightToIndex(right) + if err != nil { + return false, err + } + if i >= n { + return false, errors.New("index overflow") + } + if capidxbit(rights.Rights[i]) != capidxbit(right) { + return false, errors.New("index mismatch") + } + if (rights.Rights[i] & right) != right { + return false, nil + } + } + + return true, nil +} + +func capright(idx uint64, bit uint64) uint64 { + return ((1 << (57 + idx)) | bit) +} + +// CapRightsInit returns a pointer to an initialised CapRights structure filled with rights. +// See man cap_rights_init(3) and rights(4). +func CapRightsInit(rights []uint64) (*CapRights, error) { + var r CapRights + r.Rights[0] = (capRightsGoVersion << 62) | capright(0, 0) + r.Rights[1] = capright(1, 0) + + err := CapRightsSet(&r, rights) + if err != nil { + return nil, err + } + return &r, nil +} + +// CapRightsLimit reduces the operations permitted on fd to at most those contained in rights. +// The capability rights on fd can never be increased by CapRightsLimit. +// See man cap_rights_limit(2) and rights(4). +func CapRightsLimit(fd uintptr, rights *CapRights) error { + return capRightsLimit(int(fd), rights) +} + +// CapRightsGet returns a CapRights structure containing the operations permitted on fd. +// See man cap_rights_get(3) and rights(4). +func CapRightsGet(fd uintptr) (*CapRights, error) { + r, err := CapRightsInit(nil) + if err != nil { + return nil, err + } + err = capRightsGet(capRightsGoVersion, int(fd), r) + if err != nil { + return nil, err + } + return r, nil +} diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go new file mode 100644 index 00000000..3a6ac648 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/constants.go @@ -0,0 +1,13 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +const ( + R_OK = 0x4 + W_OK = 0x2 + X_OK = 0x1 +) diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go new file mode 100644 index 00000000..5e5fb451 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go @@ -0,0 +1,27 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc + +// Functions to access/create device major and minor numbers matching the +// encoding used by AIX. + +package unix + +// Major returns the major component of a Linux device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 16) & 0xffff) +} + +// Minor returns the minor component of a Linux device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff) +} + +// Mkdev returns a Linux device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + return uint64(((major) << 16) | (minor)) +} diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go new file mode 100644 index 00000000..8b401244 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc64 + +// Functions to access/create device major and minor numbers matching the +// encoding used AIX. + +package unix + +// Major returns the major component of a Linux device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x3fffffff00000000) >> 32) +} + +// Minor returns the minor component of a Linux device number. +func Minor(dev uint64) uint32 { + return uint32((dev & 0x00000000ffffffff) >> 0) +} + +// Mkdev returns a Linux device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + var DEVNO64 uint64 + DEVNO64 = 0x8000000000000000 + return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) +} diff --git a/vendor/golang.org/x/sys/unix/dev_darwin.go b/vendor/golang.org/x/sys/unix/dev_darwin.go new file mode 100644 index 00000000..8d1dc0fa --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_darwin.go @@ -0,0 +1,24 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in Darwin's sys/types.h header. + +package unix + +// Major returns the major component of a Darwin device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 24) & 0xff) +} + +// Minor returns the minor component of a Darwin device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffffff) +} + +// Mkdev returns a Darwin device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 24) | uint64(minor) +} diff --git a/vendor/golang.org/x/sys/unix/dev_dragonfly.go b/vendor/golang.org/x/sys/unix/dev_dragonfly.go new file mode 100644 index 00000000..8502f202 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_dragonfly.go @@ -0,0 +1,30 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in Dragonfly's sys/types.h header. +// +// The information below is extracted and adapted from sys/types.h: +// +// Minor gives a cookie instead of an index since in order to avoid changing the +// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for +// devices that don't use them. + +package unix + +// Major returns the major component of a DragonFlyBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 8) & 0xff) +} + +// Minor returns the minor component of a DragonFlyBSD device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff00ff) +} + +// Mkdev returns a DragonFlyBSD device number generated from the given major and +// minor components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 8) | uint64(minor) +} diff --git a/vendor/golang.org/x/sys/unix/dev_freebsd.go b/vendor/golang.org/x/sys/unix/dev_freebsd.go new file mode 100644 index 00000000..eba3b4bd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_freebsd.go @@ -0,0 +1,30 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in FreeBSD's sys/types.h header. +// +// The information below is extracted and adapted from sys/types.h: +// +// Minor gives a cookie instead of an index since in order to avoid changing the +// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for +// devices that don't use them. + +package unix + +// Major returns the major component of a FreeBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 8) & 0xff) +} + +// Minor returns the minor component of a FreeBSD device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff00ff) +} + +// Mkdev returns a FreeBSD device number generated from the given major and +// minor components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 8) | uint64(minor) +} diff --git a/vendor/golang.org/x/sys/unix/dev_linux.go b/vendor/golang.org/x/sys/unix/dev_linux.go new file mode 100644 index 00000000..d165d6f3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_linux.go @@ -0,0 +1,42 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used by the Linux kernel and glibc. +// +// The information below is extracted and adapted from bits/sysmacros.h in the +// glibc sources: +// +// dev_t in glibc is 64-bit, with 32-bit major and minor numbers. glibc's +// default encoding is MMMM Mmmm mmmM MMmm, where M is a hex digit of the major +// number and m is a hex digit of the minor number. This is backward compatible +// with legacy systems where dev_t is 16 bits wide, encoded as MMmm. It is also +// backward compatible with the Linux kernel, which for some architectures uses +// 32-bit dev_t, encoded as mmmM MMmm. + +package unix + +// Major returns the major component of a Linux device number. +func Major(dev uint64) uint32 { + major := uint32((dev & 0x00000000000fff00) >> 8) + major |= uint32((dev & 0xfffff00000000000) >> 32) + return major +} + +// Minor returns the minor component of a Linux device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x00000000000000ff) >> 0) + minor |= uint32((dev & 0x00000ffffff00000) >> 12) + return minor +} + +// Mkdev returns a Linux device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) & 0x00000fff) << 8 + dev |= (uint64(major) & 0xfffff000) << 32 + dev |= (uint64(minor) & 0x000000ff) << 0 + dev |= (uint64(minor) & 0xffffff00) << 12 + return dev +} diff --git a/vendor/golang.org/x/sys/unix/dev_netbsd.go b/vendor/golang.org/x/sys/unix/dev_netbsd.go new file mode 100644 index 00000000..b4a203d0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_netbsd.go @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in NetBSD's sys/types.h header. + +package unix + +// Major returns the major component of a NetBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x000fff00) >> 8) +} + +// Minor returns the minor component of a NetBSD device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x000000ff) >> 0) + minor |= uint32((dev & 0xfff00000) >> 12) + return minor +} + +// Mkdev returns a NetBSD device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) << 8) & 0x000fff00 + dev |= (uint64(minor) << 12) & 0xfff00000 + dev |= (uint64(minor) << 0) & 0x000000ff + return dev +} diff --git a/vendor/golang.org/x/sys/unix/dev_openbsd.go b/vendor/golang.org/x/sys/unix/dev_openbsd.go new file mode 100644 index 00000000..f3430c42 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_openbsd.go @@ -0,0 +1,29 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Functions to access/create device major and minor numbers matching the +// encoding used in OpenBSD's sys/types.h header. + +package unix + +// Major returns the major component of an OpenBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x0000ff00) >> 8) +} + +// Minor returns the minor component of an OpenBSD device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x000000ff) >> 0) + minor |= uint32((dev & 0xffff0000) >> 8) + return minor +} + +// Mkdev returns an OpenBSD device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) << 8) & 0x0000ff00 + dev |= (uint64(minor) << 8) & 0xffff0000 + dev |= (uint64(minor) << 0) & 0x000000ff + return dev +} diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go new file mode 100644 index 00000000..304016b6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dirent.go @@ -0,0 +1,102 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import "unsafe" + +// readInt returns the size-bytes unsigned integer in native byte order at offset off. +func readInt(b []byte, off, size uintptr) (u uint64, ok bool) { + if len(b) < int(off+size) { + return 0, false + } + if isBigEndian { + return readIntBE(b[off:], size), true + } + return readIntLE(b[off:], size), true +} + +func readIntBE(b []byte, size uintptr) uint64 { + switch size { + case 1: + return uint64(b[0]) + case 2: + _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[1]) | uint64(b[0])<<8 + case 4: + _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24 + case 8: + _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | + uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 + default: + panic("syscall: readInt with unsupported size") + } +} + +func readIntLE(b []byte, size uintptr) uint64 { + switch size { + case 1: + return uint64(b[0]) + case 2: + _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[0]) | uint64(b[1])<<8 + case 4: + _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 + case 8: + _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 + return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | + uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + default: + panic("syscall: readInt with unsupported size") + } +} + +// ParseDirent parses up to max directory entries in buf, +// appending the names to names. It returns the number of +// bytes consumed from buf, the number of entries added +// to names, and the new names slice. +func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) { + origlen := len(buf) + count = 0 + for max != 0 && len(buf) > 0 { + reclen, ok := direntReclen(buf) + if !ok || reclen > uint64(len(buf)) { + return origlen, count, names + } + rec := buf[:reclen] + buf = buf[reclen:] + ino, ok := direntIno(rec) + if !ok { + break + } + if ino == 0 { // File absent in directory. + continue + } + const namoff = uint64(unsafe.Offsetof(Dirent{}.Name)) + namlen, ok := direntNamlen(rec) + if !ok || namoff+namlen > uint64(len(rec)) { + break + } + name := rec[namoff : namoff+namlen] + for i, c := range name { + if c == 0 { + name = name[:i] + break + } + } + // Check for useless names before allocating a string. + if string(name) == "." || string(name) == ".." { + continue + } + max-- + count++ + names = append(names, string(name)) + } + return origlen - len(buf), count, names +} diff --git a/vendor/golang.org/x/sys/unix/endian_big.go b/vendor/golang.org/x/sys/unix/endian_big.go new file mode 100644 index 00000000..5e926906 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/endian_big.go @@ -0,0 +1,9 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +// +// +build ppc64 s390x mips mips64 + +package unix + +const isBigEndian = true diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go new file mode 100644 index 00000000..bcdb5d30 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/endian_little.go @@ -0,0 +1,9 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +// +// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le riscv64 + +package unix + +const isBigEndian = false diff --git a/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go new file mode 100644 index 00000000..84178b0a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/env_unix.go @@ -0,0 +1,31 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// Unix environment variables. + +package unix + +import "syscall" + +func Getenv(key string) (value string, found bool) { + return syscall.Getenv(key) +} + +func Setenv(key, value string) error { + return syscall.Setenv(key, value) +} + +func Clearenv() { + syscall.Clearenv() +} + +func Environ() []string { + return syscall.Environ() +} + +func Unsetenv(key string) error { + return syscall.Unsetenv(key) +} diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_386.go b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go new file mode 100644 index 00000000..c56bc8b0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go @@ -0,0 +1,227 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +// them here for backwards compatibility. + +package unix + +const ( + IFF_SMART = 0x20 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_IPXIP = 0xf9 + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8030720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8030720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go new file mode 100644 index 00000000..3e977117 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go @@ -0,0 +1,227 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +// them here for backwards compatibility. + +package unix + +const ( + IFF_SMART = 0x20 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_IPXIP = 0xf9 + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8040720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8040720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go new file mode 100644 index 00000000..856dca32 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go @@ -0,0 +1,226 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +const ( + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + + // missing constants on FreeBSD-11.1-RELEASE, copied from old values in ztypes_freebsd_arm.go + IFF_SMART = 0x20 + IFT_FAITH = 0xf2 + IFT_IPXIP = 0xf9 + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8030720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8030720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/vendor/golang.org/x/sys/unix/fcntl.go b/vendor/golang.org/x/sys/unix/fcntl.go new file mode 100644 index 00000000..39c03f1e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/fcntl.go @@ -0,0 +1,32 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build dragonfly freebsd linux netbsd openbsd + +package unix + +import "unsafe" + +// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux +// systems by flock_linux_32bit.go to be SYS_FCNTL64. +var fcntl64Syscall uintptr = SYS_FCNTL + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + valptr, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(arg)) + var err error + if errno != 0 { + err = errno + } + return int(valptr), err +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk))) + if errno == 0 { + return nil + } + return errno +} diff --git a/vendor/golang.org/x/sys/unix/fcntl_darwin.go b/vendor/golang.org/x/sys/unix/fcntl_darwin.go new file mode 100644 index 00000000..5868a4a4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/fcntl_darwin.go @@ -0,0 +1,18 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import "unsafe" + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + return fcntl(int(fd), cmd, arg) +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) + return err +} diff --git a/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go b/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go new file mode 100644 index 00000000..fc0e50e0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go @@ -0,0 +1,13 @@ +// +build linux,386 linux,arm linux,mips linux,mipsle + +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +func init() { + // On 32-bit Linux systems, the fcntl syscall that matches Go's + // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. + fcntl64Syscall = SYS_FCNTL64 +} diff --git a/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go new file mode 100644 index 00000000..cd6f5a61 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/gccgo.go @@ -0,0 +1,62 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo +// +build !aix + +package unix + +import "syscall" + +// We can't use the gc-syntax .s files for gccgo. On the plus side +// much of the functionality can be written directly in Go. + +//extern gccgoRealSyscallNoError +func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr) + +//extern gccgoRealSyscall +func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) + +func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { + syscall.Entersyscall() + r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + syscall.Exitsyscall() + return r, 0 +} + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) { + syscall.Entersyscall() + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9) + syscall.Exitsyscall() + return r, 0, syscall.Errno(errno) +} + +func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { + r := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + return r, 0 +} + +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) + return r, 0, syscall.Errno(errno) +} + +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) + return r, 0, syscall.Errno(errno) +} diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c new file mode 100644 index 00000000..c44730c5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/gccgo_c.c @@ -0,0 +1,39 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo +// +build !aix + +#include +#include +#include + +#define _STRINGIFY2_(x) #x +#define _STRINGIFY_(x) _STRINGIFY2_(x) +#define GOSYM_PREFIX _STRINGIFY_(__USER_LABEL_PREFIX__) + +// Call syscall from C code because the gccgo support for calling from +// Go to C does not support varargs functions. + +struct ret { + uintptr_t r; + uintptr_t err; +}; + +struct ret +gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) +{ + struct ret r; + + errno = 0; + r.r = syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); + r.err = errno; + return r; +} + +uintptr_t +gccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) +{ + return syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); +} diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go new file mode 100644 index 00000000..251a977a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go @@ -0,0 +1,20 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo,linux,amd64 + +package unix + +import "syscall" + +//extern gettimeofday +func realGettimeofday(*Timeval, *byte) int32 + +func gettimeofday(tv *Timeval) (err syscall.Errno) { + r := realGettimeofday(tv, nil) + if r < 0 { + return syscall.GetErrno() + } + return 0 +} diff --git a/vendor/golang.org/x/sys/unix/ioctl.go b/vendor/golang.org/x/sys/unix/ioctl.go new file mode 100644 index 00000000..3559e5dc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ioctl.go @@ -0,0 +1,65 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import ( + "runtime" + "unsafe" +) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. +// +// To change fd's window size, the req argument should be TIOCSWINSZ. +func IoctlSetWinsize(fd int, req uint, value *Winsize) error { + // TODO: if we get the chance, remove the req parameter and + // hardcode TIOCSWINSZ. + err := ioctl(fd, req, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +// IoctlSetTermios performs an ioctl on fd with a *Termios. +// +// The req value will usually be TCSETA or TIOCSETA. +func IoctlSetTermios(fd int, req uint, value *Termios) error { + // TODO: if we get the chance, remove the req parameter. + err := ioctl(fd, req, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +// +// A few ioctl requests use the return value as an output parameter; +// for those, IoctlRetInt should be used instead of this function. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh new file mode 100755 index 00000000..890ec464 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mkall.sh @@ -0,0 +1,229 @@ +#!/usr/bin/env bash +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# This script runs or (given -n) prints suggested commands to generate files for +# the Architecture/OS specified by the GOARCH and GOOS environment variables. +# See README.md for more information about how the build system works. + +GOOSARCH="${GOOS}_${GOARCH}" + +# defaults +mksyscall="go run mksyscall.go" +mkerrors="./mkerrors.sh" +zerrors="zerrors_$GOOSARCH.go" +mksysctl="" +zsysctl="zsysctl_$GOOSARCH.go" +mksysnum= +mktypes= +mkasm= +run="sh" +cmd="" + +case "$1" in +-syscalls) + for i in zsyscall*go + do + # Run the command line that appears in the first line + # of the generated file to regenerate it. + sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i + rm _$i + done + exit 0 + ;; +-n) + run="cat" + cmd="echo" + shift +esac + +case "$#" in +0) + ;; +*) + echo 'usage: mkall.sh [-n]' 1>&2 + exit 2 +esac + +if [[ "$GOOS" = "linux" ]]; then + # Use the Docker-based build system + # Files generated through docker (use $cmd so you can Ctl-C the build or run) + $cmd docker build --tag generate:$GOOS $GOOS + $cmd docker run --interactive --tty --volume $(dirname "$(readlink -f "$0")"):/build generate:$GOOS + exit +fi + +GOOSARCH_in=syscall_$GOOSARCH.go +case "$GOOSARCH" in +_* | *_ | _) + echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 + exit 1 + ;; +aix_ppc) + mkerrors="$mkerrors -maix32" + mksyscall="go run mksyscall_aix_ppc.go -aix" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +aix_ppc64) + mkerrors="$mkerrors -maix64" + mksyscall="go run mksyscall_aix_ppc64.go -aix" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +darwin_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32" + mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +darwin_amd64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +darwin_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32" + mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +darwin_arm64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + mkasm="go run mkasm_darwin.go" + ;; +dragonfly_amd64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -dragonfly" + mksysnum="go run mksysnum.go 'https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_amd64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +freebsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -arm" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +freebsd_arm64) + mkerrors="$mkerrors -m64" + mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32 -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_amd64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +netbsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -netbsd -arm" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +netbsd_arm64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -netbsd" + mksysnum="go run mksysnum.go 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32 -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_amd64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +openbsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -openbsd -arm" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +openbsd_arm64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -openbsd" + mksysctl="go run mksysctl_openbsd.go" + mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; +solaris_amd64) + mksyscall="go run mksyscall_solaris.go" + mkerrors="$mkerrors -m64" + mksysnum= + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +*) + echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 + exit 1 + ;; +esac + +( + if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi + case "$GOOS" in + *) + syscall_goos="syscall_$GOOS.go" + case "$GOOS" in + darwin | dragonfly | freebsd | netbsd | openbsd) + syscall_goos="syscall_bsd.go $syscall_goos" + ;; + esac + if [ -n "$mksyscall" ]; then + if [ "$GOOSARCH" == "aix_ppc64" ]; then + # aix/ppc64 script generates files instead of writing to stdin. + echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ; + elif [ "$GOOS" == "darwin" ]; then + # pre-1.12, direct syscalls + echo "$mksyscall -tags $GOOS,$GOARCH,!go1.12 $syscall_goos syscall_darwin_${GOARCH}.1_11.go $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.1_11.go"; + # 1.12 and later, syscalls via libSystem + echo "$mksyscall -tags $GOOS,$GOARCH,go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; + # 1.13 and later, syscalls via libSystem (including syscallPtr) + echo "$mksyscall -tags $GOOS,$GOARCH,go1.13 syscall_darwin.1_13.go |gofmt >zsyscall_$GOOSARCH.1_13.go"; + else + echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; + fi + fi + esac + if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi + if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi + if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi + if [ -n "$mkasm" ]; then echo "$mkasm $GOARCH"; fi +) | $run diff --git a/vendor/golang.org/x/sys/unix/mkasm_darwin.go b/vendor/golang.org/x/sys/unix/mkasm_darwin.go new file mode 100644 index 00000000..6f7bb6ed --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mkasm_darwin.go @@ -0,0 +1,78 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// mkasm_darwin.go generates assembly trampolines to call libSystem routines from Go. +//This program must be run after mksyscall.go. +package main + +import ( + "bytes" + "fmt" + "io/ioutil" + "log" + "os" + "strings" +) + +func writeASMFile(in string, fileName string, buildTags string) { + trampolines := map[string]bool{} + + var out bytes.Buffer + + fmt.Fprintf(&out, "// go run mkasm_darwin.go %s\n", strings.Join(os.Args[1:], " ")) + fmt.Fprintf(&out, "// Code generated by the command above; DO NOT EDIT.\n") + fmt.Fprintf(&out, "\n") + fmt.Fprintf(&out, "// +build %s\n", buildTags) + fmt.Fprintf(&out, "\n") + fmt.Fprintf(&out, "#include \"textflag.h\"\n") + for _, line := range strings.Split(in, "\n") { + if !strings.HasPrefix(line, "func ") || !strings.HasSuffix(line, "_trampoline()") { + continue + } + fn := line[5 : len(line)-13] + if !trampolines[fn] { + trampolines[fn] = true + fmt.Fprintf(&out, "TEXT ·%s_trampoline(SB),NOSPLIT,$0-0\n", fn) + fmt.Fprintf(&out, "\tJMP\t%s(SB)\n", fn) + } + } + err := ioutil.WriteFile(fileName, out.Bytes(), 0644) + if err != nil { + log.Fatalf("can't write %s: %s", fileName, err) + } +} + +func main() { + in1, err := ioutil.ReadFile("syscall_darwin.go") + if err != nil { + log.Fatalf("can't open syscall_darwin.go: %s", err) + } + arch := os.Args[1] + in2, err := ioutil.ReadFile(fmt.Sprintf("syscall_darwin_%s.go", arch)) + if err != nil { + log.Fatalf("can't open syscall_darwin_%s.go: %s", arch, err) + } + in3, err := ioutil.ReadFile(fmt.Sprintf("zsyscall_darwin_%s.go", arch)) + if err != nil { + log.Fatalf("can't open zsyscall_darwin_%s.go: %s", arch, err) + } + in := string(in1) + string(in2) + string(in3) + + writeASMFile(in, fmt.Sprintf("zsyscall_darwin_%s.s", arch), "go1.12") + + in1, err = ioutil.ReadFile("syscall_darwin.1_13.go") + if err != nil { + log.Fatalf("can't open syscall_darwin.1_13.go: %s", err) + } + in2, err = ioutil.ReadFile(fmt.Sprintf("zsyscall_darwin_%s.1_13.go", arch)) + if err != nil { + log.Fatalf("can't open zsyscall_darwin_%s.1_13.go: %s", arch, err) + } + + in = string(in1) + string(in2) + + writeASMFile(in, fmt.Sprintf("zsyscall_darwin_%s.1_13.s", arch), "go1.13") +} diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh new file mode 100755 index 00000000..67b84828 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -0,0 +1,684 @@ +#!/usr/bin/env bash +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Generate Go code listing errors and other #defined constant +# values (ENAMETOOLONG etc.), by asking the preprocessor +# about the definitions. + +unset LANG +export LC_ALL=C +export LC_CTYPE=C + +if test -z "$GOARCH" -o -z "$GOOS"; then + echo 1>&2 "GOARCH or GOOS not defined in environment" + exit 1 +fi + +# Check that we are using the new build system if we should +if [[ "$GOOS" = "linux" ]] && [[ "$GOLANG_SYS_BUILD" != "docker" ]]; then + echo 1>&2 "In the Docker based build system, mkerrors should not be called directly." + echo 1>&2 "See README.md" + exit 1 +fi + +if [[ "$GOOS" = "aix" ]]; then + CC=${CC:-gcc} +else + CC=${CC:-cc} +fi + +if [[ "$GOOS" = "solaris" ]]; then + # Assumes GNU versions of utilities in PATH. + export PATH=/usr/gnu/bin:$PATH +fi + +uname=$(uname) + +includes_AIX=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define AF_LOCAL AF_UNIX +' + +includes_Darwin=' +#define _DARWIN_C_SOURCE +#define KERNEL +#define _DARWIN_USE_64_BIT_INODE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' + +includes_DragonFly=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' + +includes_FreeBSD=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if __FreeBSD__ >= 10 +#define IFT_CARP 0xf8 // IFT_CARP is deprecated in FreeBSD 10 +#undef SIOCAIFADDR +#define SIOCAIFADDR _IOW(105, 26, struct oifaliasreq) // ifaliasreq contains if_data +#undef SIOCSIFPHYADDR +#define SIOCSIFPHYADDR _IOW(105, 70, struct oifaliasreq) // ifaliasreq contains if_data +#endif +' + +includes_Linux=' +#define _LARGEFILE_SOURCE +#define _LARGEFILE64_SOURCE +#ifndef __LP64__ +#define _FILE_OFFSET_BITS 64 +#endif +#define _GNU_SOURCE + +// is broken on powerpc64, as it fails to include definitions of +// these structures. We just include them copied from . +#if defined(__powerpc__) +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + short sg_flags; +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; + char t_dsuspc; + char t_rprntc; + char t_flushc; + char t_werasc; + char t_lnextc; +}; +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#if defined(__sparc__) +// On sparc{,64}, the kernel defines struct termios2 itself which clashes with the +// definition in glibc. As only the error constants are needed here, include the +// generic termibits.h (which is included by termbits.h on sparc). +#include +#else +#include +#endif + +#ifndef MSG_FASTOPEN +#define MSG_FASTOPEN 0x20000000 +#endif + +#ifndef PTRACE_GETREGS +#define PTRACE_GETREGS 0xc +#endif + +#ifndef PTRACE_SETREGS +#define PTRACE_SETREGS 0xd +#endif + +#ifndef SOL_NETLINK +#define SOL_NETLINK 270 +#endif + +#ifdef SOL_BLUETOOTH +// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h +// but it is already in bluetooth_linux.go +#undef SOL_BLUETOOTH +#endif + +// Certain constants are missing from the fs/crypto UAPI +#define FS_KEY_DESC_PREFIX "fscrypt:" +#define FS_KEY_DESC_PREFIX_SIZE 8 +#define FS_MAX_KEY_SIZE 64 + +// The code generator produces -0x1 for (~0), but an unsigned value is necessary +// for the tipc_subscr timeout __u32 field. +#undef TIPC_WAIT_FOREVER +#define TIPC_WAIT_FOREVER 0xffffffff +' + +includes_NetBSD=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Needed since refers to it... +#define schedppq 1 +' + +includes_OpenBSD=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// We keep some constants not supported in OpenBSD 5.5 and beyond for +// the promise of compatibility. +#define EMUL_ENABLED 0x1 +#define EMUL_NATIVE 0x2 +#define IPV6_FAITH 0x1d +#define IPV6_OPTIONS 0x1 +#define IPV6_RTHDR_STRICT 0x1 +#define IPV6_SOCKOPT_RESERVED1 0x3 +#define SIOCGIFGENERIC 0xc020693a +#define SIOCSIFGENERIC 0x80206939 +#define WALTSIG 0x4 +' + +includes_SunOS=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' + + +includes=' +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +' +ccflags="$@" + +# Write go tool cgo -godefs input. +( + echo package unix + echo + echo '/*' + indirect="includes_$(uname)" + echo "${!indirect} $includes" + echo '*/' + echo 'import "C"' + echo 'import "syscall"' + echo + echo 'const (' + + # The gcc command line prints all the #defines + # it encounters while processing the input + echo "${!indirect} $includes" | $CC -x c - -E -dM $ccflags | + awk ' + $1 != "#define" || $2 ~ /\(/ || $3 == "" {next} + + $2 ~ /^E([ABCD]X|[BIS]P|[SD]I|S|FL)$/ {next} # 386 registers + $2 ~ /^(SIGEV_|SIGSTKSZ|SIGRT(MIN|MAX))/ {next} + $2 ~ /^(SCM_SRCRT)$/ {next} + $2 ~ /^(MAP_FAILED)$/ {next} + $2 ~ /^ELF_.*$/ {next}# contains ELF_ARCH, etc. + + $2 ~ /^EXTATTR_NAMESPACE_NAMES/ || + $2 ~ /^EXTATTR_NAMESPACE_[A-Z]+_STRING/ {next} + + $2 !~ /^ECCAPBITS/ && + $2 !~ /^ETH_/ && + $2 !~ /^EPROC_/ && + $2 !~ /^EQUIV_/ && + $2 !~ /^EXPR_/ && + $2 ~ /^E[A-Z0-9_]+$/ || + $2 ~ /^B[0-9_]+$/ || + $2 ~ /^(OLD|NEW)DEV$/ || + $2 == "BOTHER" || + $2 ~ /^CI?BAUD(EX)?$/ || + $2 == "IBSHIFT" || + $2 ~ /^V[A-Z0-9]+$/ || + $2 ~ /^CS[A-Z0-9]/ || + $2 ~ /^I(SIG|CANON|CRNL|UCLC|EXTEN|MAXBEL|STRIP|UTF8)$/ || + $2 ~ /^IGN/ || + $2 ~ /^IX(ON|ANY|OFF)$/ || + $2 ~ /^IN(LCR|PCK)$/ || + $2 !~ "X86_CR3_PCID_NOFLUSH" && + $2 ~ /(^FLU?SH)|(FLU?SH$)/ || + $2 ~ /^C(LOCAL|READ|MSPAR|RTSCTS)$/ || + $2 == "BRKINT" || + $2 == "HUPCL" || + $2 == "PENDIN" || + $2 == "TOSTOP" || + $2 == "XCASE" || + $2 == "ALTWERASE" || + $2 == "NOKERNINFO" || + $2 == "NFDBITS" || + $2 ~ /^PAR/ || + $2 ~ /^SIG[^_]/ || + $2 ~ /^O[CNPFPL][A-Z]+[^_][A-Z]+$/ || + $2 ~ /^(NL|CR|TAB|BS|VT|FF)DLY$/ || + $2 ~ /^(NL|CR|TAB|BS|VT|FF)[0-9]$/ || + $2 ~ /^O?XTABS$/ || + $2 ~ /^TC[IO](ON|OFF)$/ || + $2 ~ /^IN_/ || + $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || + $2 ~ /^LO_(KEY|NAME)_SIZE$/ || + $2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ || + $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ || + $2 ~ /^TP_STATUS_/ || + $2 ~ /^FALLOC_/ || + $2 == "ICMPV6_FILTER" || + $2 == "SOMAXCONN" || + $2 == "NAME_MAX" || + $2 == "IFNAMSIZ" || + $2 ~ /^CTL_(HW|KERN|MAXNAME|NET|QUERY)$/ || + $2 ~ /^KERN_(HOSTNAME|OS(RELEASE|TYPE)|VERSION)$/ || + $2 ~ /^HW_MACHINE$/ || + $2 ~ /^SYSCTL_VERS/ || + $2 !~ "MNT_BITS" && + $2 ~ /^(MS|MNT|UMOUNT)_/ || + $2 ~ /^NS_GET_/ || + $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ || + $2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT)_/ || + $2 ~ /^KEXEC_/ || + $2 ~ /^LINUX_REBOOT_CMD_/ || + $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ || + $2 ~ /^MODULE_INIT_/ || + $2 !~ "NLA_TYPE_MASK" && + $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ || + $2 ~ /^SIOC/ || + $2 ~ /^TIOC/ || + $2 ~ /^TCGET/ || + $2 ~ /^TCSET/ || + $2 ~ /^TC(FLSH|SBRKP?|XONC)$/ || + $2 !~ "RTF_BITS" && + $2 ~ /^(IFF|IFT|NET_RT|RTM|RTF|RTV|RTA|RTAX)_/ || + $2 ~ /^BIOC/ || + $2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ || + $2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ || + $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ || + $2 ~ /^CLONE_[A-Z_]+/ || + $2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ && + $2 ~ /^(BPF|DLT)_/ || + $2 ~ /^(CLOCK|TIMER)_/ || + $2 ~ /^CAN_/ || + $2 ~ /^CAP_/ || + $2 ~ /^ALG_/ || + $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ || + $2 ~ /^GRND_/ || + $2 ~ /^RND/ || + $2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ || + $2 ~ /^KEYCTL_/ || + $2 ~ /^PERF_EVENT_IOC_/ || + $2 ~ /^SECCOMP_MODE_/ || + $2 ~ /^SPLICE_/ || + $2 ~ /^SYNC_FILE_RANGE_/ || + $2 !~ /^AUDIT_RECORD_MAGIC/ && + $2 !~ /IOC_MAGIC/ && + $2 ~ /^[A-Z][A-Z0-9_]+_MAGIC2?$/ || + $2 ~ /^(VM|VMADDR)_/ || + $2 ~ /^IOCTL_VM_SOCKETS_/ || + $2 ~ /^(TASKSTATS|TS)_/ || + $2 ~ /^CGROUPSTATS_/ || + $2 ~ /^GENL_/ || + $2 ~ /^STATX_/ || + $2 ~ /^RENAME/ || + $2 ~ /^UBI_IOC[A-Z]/ || + $2 ~ /^UTIME_/ || + $2 ~ /^XATTR_(CREATE|REPLACE|NO(DEFAULT|FOLLOW|SECURITY)|SHOWCOMPRESSION)/ || + $2 ~ /^ATTR_(BIT_MAP_COUNT|(CMN|VOL|FILE)_)/ || + $2 ~ /^FSOPT_/ || + $2 ~ /^WDIOC_/ || + $2 ~ /^NFN/ || + $2 ~ /^XDP_/ || + $2 ~ /^(HDIO|WIN|SMART)_/ || + $2 ~ /^CRYPTO_/ || + $2 ~ /^TIPC_/ || + $2 !~ "WMESGLEN" && + $2 ~ /^W[A-Z0-9]+$/ || + $2 ~/^PPPIOC/ || + $2 ~ /^FAN_|FANOTIFY_/ || + $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)} + $2 ~ /^__WCOREFLAG$/ {next} + $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)} + + {next} + ' | sort + + echo ')' +) >_const.go + +# Pull out the error names for later. +errors=$( + echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print $2 }' | + sort +) + +# Pull out the signal names for later. +signals=$( + echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' | + egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT|SIGMAX64)' | + sort +) + +# Again, writing regexps to a file. +echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print "^\t" $2 "[ \t]*=" }' | + sort >_error.grep +echo '#include ' | $CC -x c - -E -dM $ccflags | + awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print "^\t" $2 "[ \t]*=" }' | + egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT|SIGMAX64)' | + sort >_signal.grep + +echo '// mkerrors.sh' "$@" +echo '// Code generated by the command above; see README.md. DO NOT EDIT.' +echo +echo "// +build ${GOARCH},${GOOS}" +echo +go tool cgo -godefs -- "$@" _const.go >_error.out +cat _error.out | grep -vf _error.grep | grep -vf _signal.grep +echo +echo '// Errors' +echo 'const (' +cat _error.out | grep -f _error.grep | sed 's/=\(.*\)/= syscall.Errno(\1)/' +echo ')' + +echo +echo '// Signals' +echo 'const (' +cat _error.out | grep -f _signal.grep | sed 's/=\(.*\)/= syscall.Signal(\1)/' +echo ')' + +# Run C program to print error and syscall strings. +( + echo -E " +#include +#include +#include +#include +#include +#include + +#define nelem(x) (sizeof(x)/sizeof((x)[0])) + +enum { A = 'A', Z = 'Z', a = 'a', z = 'z' }; // avoid need for single quotes below + +struct tuple { + int num; + const char *name; +}; + +struct tuple errors[] = { +" + for i in $errors + do + echo -E ' {'$i', "'$i'" },' + done + + echo -E " +}; + +struct tuple signals[] = { +" + for i in $signals + do + echo -E ' {'$i', "'$i'" },' + done + + # Use -E because on some systems bash builtin interprets \n itself. + echo -E ' +}; + +static int +tuplecmp(const void *a, const void *b) +{ + return ((struct tuple *)a)->num - ((struct tuple *)b)->num; +} + +int +main(void) +{ + int i, e; + char buf[1024], *p; + + printf("\n\n// Error table\n"); + printf("var errorList = [...]struct {\n"); + printf("\tnum syscall.Errno\n"); + printf("\tname string\n"); + printf("\tdesc string\n"); + printf("} {\n"); + qsort(errors, nelem(errors), sizeof errors[0], tuplecmp); + for(i=0; i 0 && errors[i-1].num == e) + continue; + strcpy(buf, strerror(e)); + // lowercase first letter: Bad -> bad, but STREAM -> STREAM. + if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) + buf[0] += a - A; + printf("\t{ %d, \"%s\", \"%s\" },\n", e, errors[i].name, buf); + } + printf("}\n\n"); + + printf("\n\n// Signal table\n"); + printf("var signalList = [...]struct {\n"); + printf("\tnum syscall.Signal\n"); + printf("\tname string\n"); + printf("\tdesc string\n"); + printf("} {\n"); + qsort(signals, nelem(signals), sizeof signals[0], tuplecmp); + for(i=0; i 0 && signals[i-1].num == e) + continue; + strcpy(buf, strsignal(e)); + // lowercase first letter: Bad -> bad, but STREAM -> STREAM. + if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z) + buf[0] += a - A; + // cut trailing : number. + p = strrchr(buf, ":"[0]); + if(p) + *p = '\0'; + printf("\t{ %d, \"%s\", \"%s\" },\n", e, signals[i].name, buf); + } + printf("}\n\n"); + + return 0; +} + +' +) >_errors.c + +$CC $ccflags -o _errors _errors.c && $GORUN ./_errors && rm -f _errors.c _errors _const.go _error.grep _signal.grep _error.out diff --git a/vendor/golang.org/x/sys/unix/mkpost.go b/vendor/golang.org/x/sys/unix/mkpost.go new file mode 100644 index 00000000..eb433205 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mkpost.go @@ -0,0 +1,122 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// mkpost processes the output of cgo -godefs to +// modify the generated types. It is used to clean up +// the sys API in an architecture specific manner. +// +// mkpost is run after cgo -godefs; see README.md. +package main + +import ( + "bytes" + "fmt" + "go/format" + "io/ioutil" + "log" + "os" + "regexp" +) + +func main() { + // Get the OS and architecture (using GOARCH_TARGET if it exists) + goos := os.Getenv("GOOS") + goarch := os.Getenv("GOARCH_TARGET") + if goarch == "" { + goarch = os.Getenv("GOARCH") + } + // Check that we are using the Docker-based build system if we should be. + if goos == "linux" { + if os.Getenv("GOLANG_SYS_BUILD") != "docker" { + os.Stderr.WriteString("In the Docker-based build system, mkpost should not be called directly.\n") + os.Stderr.WriteString("See README.md\n") + os.Exit(1) + } + } + + b, err := ioutil.ReadAll(os.Stdin) + if err != nil { + log.Fatal(err) + } + + if goos == "aix" { + // Replace type of Atim, Mtim and Ctim by Timespec in Stat_t + // to avoid having both StTimespec and Timespec. + sttimespec := regexp.MustCompile(`_Ctype_struct_st_timespec`) + b = sttimespec.ReplaceAll(b, []byte("Timespec")) + } + + // Intentionally export __val fields in Fsid and Sigset_t + valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__(bits|val)(\s+\S+\s+)}`) + b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$4}")) + + // Intentionally export __fds_bits field in FdSet + fdSetRegex := regexp.MustCompile(`type (FdSet) struct {(\s+)X__fds_bits(\s+\S+\s+)}`) + b = fdSetRegex.ReplaceAll(b, []byte("type $1 struct {${2}Bits$3}")) + + // If we have empty Ptrace structs, we should delete them. Only s390x emits + // nonempty Ptrace structs. + ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`) + b = ptraceRexexp.ReplaceAll(b, nil) + + // Replace the control_regs union with a blank identifier for now. + controlRegsRegex := regexp.MustCompile(`(Control_regs)\s+\[0\]uint64`) + b = controlRegsRegex.ReplaceAll(b, []byte("_ [0]uint64")) + + // Remove fields that are added by glibc + // Note that this is unstable as the identifers are private. + removeFieldsRegex := regexp.MustCompile(`X__glibc\S*`) + b = removeFieldsRegex.ReplaceAll(b, []byte("_")) + + // Convert [65]int8 to [65]byte in Utsname members to simplify + // conversion to string; see golang.org/issue/20753 + convertUtsnameRegex := regexp.MustCompile(`((Sys|Node|Domain)name|Release|Version|Machine)(\s+)\[(\d+)\]u?int8`) + b = convertUtsnameRegex.ReplaceAll(b, []byte("$1$3[$4]byte")) + + // Convert [1024]int8 to [1024]byte in Ptmget members + convertPtmget := regexp.MustCompile(`([SC]n)(\s+)\[(\d+)\]u?int8`) + b = convertPtmget.ReplaceAll(b, []byte("$1[$3]byte")) + + // Remove spare fields (e.g. in Statx_t) + spareFieldsRegex := regexp.MustCompile(`X__spare\S*`) + b = spareFieldsRegex.ReplaceAll(b, []byte("_")) + + // Remove cgo padding fields + removePaddingFieldsRegex := regexp.MustCompile(`Pad_cgo_\d+`) + b = removePaddingFieldsRegex.ReplaceAll(b, []byte("_")) + + // Remove padding, hidden, or unused fields + removeFieldsRegex = regexp.MustCompile(`\b(X_\S+|Padding)`) + b = removeFieldsRegex.ReplaceAll(b, []byte("_")) + + // Remove the first line of warning from cgo + b = b[bytes.IndexByte(b, '\n')+1:] + // Modify the command in the header to include: + // mkpost, our own warning, and a build tag. + replacement := fmt.Sprintf(`$1 | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s,%s`, goarch, goos) + cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`) + b = cgoCommandRegex.ReplaceAll(b, []byte(replacement)) + + // Rename Stat_t time fields + if goos == "freebsd" && goarch == "386" { + // Hide Stat_t.[AMCB]tim_ext fields + renameStatTimeExtFieldsRegex := regexp.MustCompile(`[AMCB]tim_ext`) + b = renameStatTimeExtFieldsRegex.ReplaceAll(b, []byte("_")) + } + renameStatTimeFieldsRegex := regexp.MustCompile(`([AMCB])(?:irth)?time?(?:spec)?\s+(Timespec|StTimespec)`) + b = renameStatTimeFieldsRegex.ReplaceAll(b, []byte("${1}tim ${2}")) + + // gofmt + b, err = format.Source(b) + if err != nil { + log.Fatal(err) + } + + os.Stdout.Write(b) +} diff --git a/vendor/golang.org/x/sys/unix/mksyscall.go b/vendor/golang.org/x/sys/unix/mksyscall.go new file mode 100644 index 00000000..9e540cc8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mksyscall.go @@ -0,0 +1,402 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +This program reads a file containing function prototypes +(like syscall_darwin.go) and generates system call bodies. +The prototypes are marked by lines beginning with "//sys" +and read like func declarations if //sys is replaced by func, but: + * The parameter lists must give a name for each argument. + This includes return parameters. + * The parameter lists must give a type for each argument: + the (x, y, z int) shorthand is not allowed. + * If the return parameter is an error number, it must be named errno. + +A line beginning with //sysnb is like //sys, except that the +goroutine will not be suspended during the execution of the system +call. This must only be used for system calls which can never +block, as otherwise the system call could cause all goroutines to +hang. +*/ +package main + +import ( + "bufio" + "flag" + "fmt" + "os" + "regexp" + "strings" +) + +var ( + b32 = flag.Bool("b32", false, "32bit big-endian") + l32 = flag.Bool("l32", false, "32bit little-endian") + plan9 = flag.Bool("plan9", false, "plan9") + openbsd = flag.Bool("openbsd", false, "openbsd") + netbsd = flag.Bool("netbsd", false, "netbsd") + dragonfly = flag.Bool("dragonfly", false, "dragonfly") + arm = flag.Bool("arm", false, "arm") // 64-bit value should use (even, odd)-pair + tags = flag.String("tags", "", "build tags") + filename = flag.String("output", "", "output file name (standard output if omitted)") +) + +// cmdLine returns this programs's commandline arguments +func cmdLine() string { + return "go run mksyscall.go " + strings.Join(os.Args[1:], " ") +} + +// buildTags returns build tags +func buildTags() string { + return *tags +} + +// Param is function parameter +type Param struct { + Name string + Type string +} + +// usage prints the program usage +func usage() { + fmt.Fprintf(os.Stderr, "usage: go run mksyscall.go [-b32 | -l32] [-tags x,y] [file ...]\n") + os.Exit(1) +} + +// parseParamList parses parameter list and returns a slice of parameters +func parseParamList(list string) []string { + list = strings.TrimSpace(list) + if list == "" { + return []string{} + } + return regexp.MustCompile(`\s*,\s*`).Split(list, -1) +} + +// parseParam splits a parameter into name and type +func parseParam(p string) Param { + ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) + if ps == nil { + fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) + os.Exit(1) + } + return Param{ps[1], ps[2]} +} + +func main() { + // Get the OS and architecture (using GOARCH_TARGET if it exists) + goos := os.Getenv("GOOS") + if goos == "" { + fmt.Fprintln(os.Stderr, "GOOS not defined in environment") + os.Exit(1) + } + goarch := os.Getenv("GOARCH_TARGET") + if goarch == "" { + goarch = os.Getenv("GOARCH") + } + + // Check that we are using the Docker-based build system if we should + if goos == "linux" { + if os.Getenv("GOLANG_SYS_BUILD") != "docker" { + fmt.Fprintf(os.Stderr, "In the Docker-based build system, mksyscall should not be called directly.\n") + fmt.Fprintf(os.Stderr, "See README.md\n") + os.Exit(1) + } + } + + flag.Usage = usage + flag.Parse() + if len(flag.Args()) <= 0 { + fmt.Fprintf(os.Stderr, "no files to parse provided\n") + usage() + } + + endianness := "" + if *b32 { + endianness = "big-endian" + } else if *l32 { + endianness = "little-endian" + } + + libc := false + if goos == "darwin" && (strings.Contains(buildTags(), ",go1.12") || strings.Contains(buildTags(), ",go1.13")) { + libc = true + } + trampolines := map[string]bool{} + + text := "" + for _, path := range flag.Args() { + file, err := os.Open(path) + if err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + s := bufio.NewScanner(file) + for s.Scan() { + t := s.Text() + t = strings.TrimSpace(t) + t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) + nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) + if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { + continue + } + + // Line must be of the form + // func Open(path string, mode int, perm int) (fd int, errno error) + // Split into name, in params, out params. + f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$`).FindStringSubmatch(t) + if f == nil { + fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) + os.Exit(1) + } + funct, inps, outps, sysname := f[2], f[3], f[4], f[5] + + // ClockGettime doesn't have a syscall number on Darwin, only generate libc wrappers. + if goos == "darwin" && !libc && funct == "ClockGettime" { + continue + } + + // Split argument lists on comma. + in := parseParamList(inps) + out := parseParamList(outps) + + // Try in vain to keep people from editing this file. + // The theory is that they jump into the middle of the file + // without reading the header. + text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" + + // Go function header. + outDecl := "" + if len(out) > 0 { + outDecl = fmt.Sprintf(" (%s)", strings.Join(out, ", ")) + } + text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outDecl) + + // Check if err return available + errvar := "" + for _, param := range out { + p := parseParam(param) + if p.Type == "error" { + errvar = p.Name + break + } + } + + // Prepare arguments to Syscall. + var args []string + n := 0 + for _, param := range in { + p := parseParam(param) + if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { + args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))") + } else if p.Type == "string" && errvar != "" { + text += fmt.Sprintf("\tvar _p%d *byte\n", n) + text += fmt.Sprintf("\t_p%d, %s = BytePtrFromString(%s)\n", n, errvar, p.Name) + text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) + args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) + n++ + } else if p.Type == "string" { + fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") + text += fmt.Sprintf("\tvar _p%d *byte\n", n) + text += fmt.Sprintf("\t_p%d, _ = BytePtrFromString(%s)\n", n, p.Name) + args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) + n++ + } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { + // Convert slice into pointer, length. + // Have to be careful not to take address of &a[0] if len == 0: + // pass dummy pointer in that case. + // Used to pass nil, but some OSes or simulators reject write(fd, nil, 0). + text += fmt.Sprintf("\tvar _p%d unsafe.Pointer\n", n) + text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = unsafe.Pointer(&%s[0])\n\t}", p.Name, n, p.Name) + text += fmt.Sprintf(" else {\n\t\t_p%d = unsafe.Pointer(&_zero)\n\t}\n", n) + args = append(args, fmt.Sprintf("uintptr(_p%d)", n), fmt.Sprintf("uintptr(len(%s))", p.Name)) + n++ + } else if p.Type == "int64" && (*openbsd || *netbsd) { + args = append(args, "0") + if endianness == "big-endian" { + args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) + } else if endianness == "little-endian" { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) + } else { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) + } + } else if p.Type == "int64" && *dragonfly { + if regexp.MustCompile(`^(?i)extp(read|write)`).FindStringSubmatch(funct) == nil { + args = append(args, "0") + } + if endianness == "big-endian" { + args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) + } else if endianness == "little-endian" { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) + } else { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) + } + } else if (p.Type == "int64" || p.Type == "uint64") && endianness != "" { + if len(args)%2 == 1 && *arm { + // arm abi specifies 64-bit argument uses + // (even, odd) pair + args = append(args, "0") + } + if endianness == "big-endian" { + args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) + } else { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) + } + } else { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) + } + } + + // Determine which form to use; pad args with zeros. + asm := "Syscall" + if nonblock != nil { + if errvar == "" && goos == "linux" { + asm = "RawSyscallNoError" + } else { + asm = "RawSyscall" + } + } else { + if errvar == "" && goos == "linux" { + asm = "SyscallNoError" + } + } + if len(args) <= 3 { + for len(args) < 3 { + args = append(args, "0") + } + } else if len(args) <= 6 { + asm += "6" + for len(args) < 6 { + args = append(args, "0") + } + } else if len(args) <= 9 { + asm += "9" + for len(args) < 9 { + args = append(args, "0") + } + } else { + fmt.Fprintf(os.Stderr, "%s:%s too many arguments to system call\n", path, funct) + } + + // System call number. + if sysname == "" { + sysname = "SYS_" + funct + sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) + sysname = strings.ToUpper(sysname) + } + + var libcFn string + if libc { + asm = "syscall_" + strings.ToLower(asm[:1]) + asm[1:] // internal syscall call + sysname = strings.TrimPrefix(sysname, "SYS_") // remove SYS_ + sysname = strings.ToLower(sysname) // lowercase + libcFn = sysname + sysname = "funcPC(libc_" + sysname + "_trampoline)" + } + + // Actual call. + arglist := strings.Join(args, ", ") + call := fmt.Sprintf("%s(%s, %s)", asm, sysname, arglist) + + // Assign return values. + body := "" + ret := []string{"_", "_", "_"} + doErrno := false + for i := 0; i < len(out); i++ { + p := parseParam(out[i]) + reg := "" + if p.Name == "err" && !*plan9 { + reg = "e1" + ret[2] = reg + doErrno = true + } else if p.Name == "err" && *plan9 { + ret[0] = "r0" + ret[2] = "e1" + break + } else { + reg = fmt.Sprintf("r%d", i) + ret[i] = reg + } + if p.Type == "bool" { + reg = fmt.Sprintf("%s != 0", reg) + } + if p.Type == "int64" && endianness != "" { + // 64-bit number in r1:r0 or r0:r1. + if i+2 > len(out) { + fmt.Fprintf(os.Stderr, "%s:%s not enough registers for int64 return\n", path, funct) + } + if endianness == "big-endian" { + reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1) + } else { + reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i) + } + ret[i] = fmt.Sprintf("r%d", i) + ret[i+1] = fmt.Sprintf("r%d", i+1) + } + if reg != "e1" || *plan9 { + body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) + } + } + if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" { + text += fmt.Sprintf("\t%s\n", call) + } else { + if errvar == "" && goos == "linux" { + // raw syscall without error on Linux, see golang.org/issue/22924 + text += fmt.Sprintf("\t%s, %s := %s\n", ret[0], ret[1], call) + } else { + text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call) + } + } + text += body + + if *plan9 && ret[2] == "e1" { + text += "\tif int32(r0) == -1 {\n" + text += "\t\terr = e1\n" + text += "\t}\n" + } else if doErrno { + text += "\tif e1 != 0 {\n" + text += "\t\terr = errnoErr(e1)\n" + text += "\t}\n" + } + text += "\treturn\n" + text += "}\n\n" + + if libc && !trampolines[libcFn] { + // some system calls share a trampoline, like read and readlen. + trampolines[libcFn] = true + // Declare assembly trampoline. + text += fmt.Sprintf("func libc_%s_trampoline()\n", libcFn) + // Assembly trampoline calls the libc_* function, which this magic + // redirects to use the function from libSystem. + text += fmt.Sprintf("//go:linkname libc_%s libc_%s\n", libcFn, libcFn) + text += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"/usr/lib/libSystem.B.dylib\"\n", libcFn, libcFn) + text += "\n" + } + } + if err := s.Err(); err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + file.Close() + } + fmt.Printf(srcTemplate, cmdLine(), buildTags(), text) +} + +const srcTemplate = `// %s +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +%s +` diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go new file mode 100644 index 00000000..3be3cdfc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go @@ -0,0 +1,415 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +This program reads a file containing function prototypes +(like syscall_aix.go) and generates system call bodies. +The prototypes are marked by lines beginning with "//sys" +and read like func declarations if //sys is replaced by func, but: + * The parameter lists must give a name for each argument. + This includes return parameters. + * The parameter lists must give a type for each argument: + the (x, y, z int) shorthand is not allowed. + * If the return parameter is an error number, it must be named err. + * If go func name needs to be different than its libc name, + * or the function is not in libc, name could be specified + * at the end, after "=" sign, like + //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt +*/ +package main + +import ( + "bufio" + "flag" + "fmt" + "os" + "regexp" + "strings" +) + +var ( + b32 = flag.Bool("b32", false, "32bit big-endian") + l32 = flag.Bool("l32", false, "32bit little-endian") + aix = flag.Bool("aix", false, "aix") + tags = flag.String("tags", "", "build tags") +) + +// cmdLine returns this programs's commandline arguments +func cmdLine() string { + return "go run mksyscall_aix_ppc.go " + strings.Join(os.Args[1:], " ") +} + +// buildTags returns build tags +func buildTags() string { + return *tags +} + +// Param is function parameter +type Param struct { + Name string + Type string +} + +// usage prints the program usage +func usage() { + fmt.Fprintf(os.Stderr, "usage: go run mksyscall_aix_ppc.go [-b32 | -l32] [-tags x,y] [file ...]\n") + os.Exit(1) +} + +// parseParamList parses parameter list and returns a slice of parameters +func parseParamList(list string) []string { + list = strings.TrimSpace(list) + if list == "" { + return []string{} + } + return regexp.MustCompile(`\s*,\s*`).Split(list, -1) +} + +// parseParam splits a parameter into name and type +func parseParam(p string) Param { + ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) + if ps == nil { + fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) + os.Exit(1) + } + return Param{ps[1], ps[2]} +} + +func main() { + flag.Usage = usage + flag.Parse() + if len(flag.Args()) <= 0 { + fmt.Fprintf(os.Stderr, "no files to parse provided\n") + usage() + } + + endianness := "" + if *b32 { + endianness = "big-endian" + } else if *l32 { + endianness = "little-endian" + } + + pack := "" + text := "" + cExtern := "/*\n#include \n#include \n" + for _, path := range flag.Args() { + file, err := os.Open(path) + if err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + s := bufio.NewScanner(file) + for s.Scan() { + t := s.Text() + t = strings.TrimSpace(t) + t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) + if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { + pack = p[1] + } + nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) + if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { + continue + } + + // Line must be of the form + // func Open(path string, mode int, perm int) (fd int, err error) + // Split into name, in params, out params. + f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) + if f == nil { + fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) + os.Exit(1) + } + funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] + + // Split argument lists on comma. + in := parseParamList(inps) + out := parseParamList(outps) + + inps = strings.Join(in, ", ") + outps = strings.Join(out, ", ") + + // Try in vain to keep people from editing this file. + // The theory is that they jump into the middle of the file + // without reading the header. + text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" + + // Check if value return, err return available + errvar := "" + retvar := "" + rettype := "" + for _, param := range out { + p := parseParam(param) + if p.Type == "error" { + errvar = p.Name + } else { + retvar = p.Name + rettype = p.Type + } + } + + // System call name. + if sysname == "" { + sysname = funct + } + sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) + sysname = strings.ToLower(sysname) // All libc functions are lowercase. + + cRettype := "" + if rettype == "unsafe.Pointer" { + cRettype = "uintptr_t" + } else if rettype == "uintptr" { + cRettype = "uintptr_t" + } else if regexp.MustCompile(`^_`).FindStringSubmatch(rettype) != nil { + cRettype = "uintptr_t" + } else if rettype == "int" { + cRettype = "int" + } else if rettype == "int32" { + cRettype = "int" + } else if rettype == "int64" { + cRettype = "long long" + } else if rettype == "uint32" { + cRettype = "unsigned int" + } else if rettype == "uint64" { + cRettype = "unsigned long long" + } else { + cRettype = "int" + } + if sysname == "exit" { + cRettype = "void" + } + + // Change p.Types to c + var cIn []string + for _, param := range in { + p := parseParam(param) + if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { + cIn = append(cIn, "uintptr_t") + } else if p.Type == "string" { + cIn = append(cIn, "uintptr_t") + } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { + cIn = append(cIn, "uintptr_t", "size_t") + } else if p.Type == "unsafe.Pointer" { + cIn = append(cIn, "uintptr_t") + } else if p.Type == "uintptr" { + cIn = append(cIn, "uintptr_t") + } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil { + cIn = append(cIn, "uintptr_t") + } else if p.Type == "int" { + cIn = append(cIn, "int") + } else if p.Type == "int32" { + cIn = append(cIn, "int") + } else if p.Type == "int64" { + cIn = append(cIn, "long long") + } else if p.Type == "uint32" { + cIn = append(cIn, "unsigned int") + } else if p.Type == "uint64" { + cIn = append(cIn, "unsigned long long") + } else { + cIn = append(cIn, "int") + } + } + + if funct != "fcntl" && funct != "FcntlInt" && funct != "readlen" && funct != "writelen" { + if sysname == "select" { + // select is a keyword of Go. Its name is + // changed to c_select. + cExtern += "#define c_select select\n" + } + // Imports of system calls from libc + cExtern += fmt.Sprintf("%s %s", cRettype, sysname) + cIn := strings.Join(cIn, ", ") + cExtern += fmt.Sprintf("(%s);\n", cIn) + } + + // So file name. + if *aix { + if modname == "" { + modname = "libc.a/shr_64.o" + } else { + fmt.Fprintf(os.Stderr, "%s: only syscall using libc are available\n", funct) + os.Exit(1) + } + } + + strconvfunc := "C.CString" + + // Go function header. + if outps != "" { + outps = fmt.Sprintf(" (%s)", outps) + } + if text != "" { + text += "\n" + } + + text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outps) + + // Prepare arguments to Syscall. + var args []string + n := 0 + argN := 0 + for _, param := range in { + p := parseParam(param) + if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { + args = append(args, "C.uintptr_t(uintptr(unsafe.Pointer("+p.Name+")))") + } else if p.Type == "string" && errvar != "" { + text += fmt.Sprintf("\t_p%d := uintptr(unsafe.Pointer(%s(%s)))\n", n, strconvfunc, p.Name) + args = append(args, fmt.Sprintf("C.uintptr_t(_p%d)", n)) + n++ + } else if p.Type == "string" { + fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") + text += fmt.Sprintf("\t_p%d := uintptr(unsafe.Pointer(%s(%s)))\n", n, strconvfunc, p.Name) + args = append(args, fmt.Sprintf("C.uintptr_t(_p%d)", n)) + n++ + } else if m := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); m != nil { + // Convert slice into pointer, length. + // Have to be careful not to take address of &a[0] if len == 0: + // pass nil in that case. + text += fmt.Sprintf("\tvar _p%d *%s\n", n, m[1]) + text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) + args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(unsafe.Pointer(_p%d)))", n)) + n++ + text += fmt.Sprintf("\tvar _p%d int\n", n) + text += fmt.Sprintf("\t_p%d = len(%s)\n", n, p.Name) + args = append(args, fmt.Sprintf("C.size_t(_p%d)", n)) + n++ + } else if p.Type == "int64" && endianness != "" { + if endianness == "big-endian" { + args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) + } else { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) + } + n++ + } else if p.Type == "bool" { + text += fmt.Sprintf("\tvar _p%d uint32\n", n) + text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n) + args = append(args, fmt.Sprintf("_p%d", n)) + } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil { + args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(%s))", p.Name)) + } else if p.Type == "unsafe.Pointer" { + args = append(args, fmt.Sprintf("C.uintptr_t(uintptr(%s))", p.Name)) + } else if p.Type == "int" { + if (argN == 2) && ((funct == "readlen") || (funct == "writelen")) { + args = append(args, fmt.Sprintf("C.size_t(%s)", p.Name)) + } else if argN == 0 && funct == "fcntl" { + args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) + } else if (argN == 2) && ((funct == "fcntl") || (funct == "FcntlInt")) { + args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) + } else { + args = append(args, fmt.Sprintf("C.int(%s)", p.Name)) + } + } else if p.Type == "int32" { + args = append(args, fmt.Sprintf("C.int(%s)", p.Name)) + } else if p.Type == "int64" { + args = append(args, fmt.Sprintf("C.longlong(%s)", p.Name)) + } else if p.Type == "uint32" { + args = append(args, fmt.Sprintf("C.uint(%s)", p.Name)) + } else if p.Type == "uint64" { + args = append(args, fmt.Sprintf("C.ulonglong(%s)", p.Name)) + } else if p.Type == "uintptr" { + args = append(args, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) + } else { + args = append(args, fmt.Sprintf("C.int(%s)", p.Name)) + } + argN++ + } + + // Actual call. + arglist := strings.Join(args, ", ") + call := "" + if sysname == "exit" { + if errvar != "" { + call += "er :=" + } else { + call += "" + } + } else if errvar != "" { + call += "r0,er :=" + } else if retvar != "" { + call += "r0,_ :=" + } else { + call += "" + } + if sysname == "select" { + // select is a keyword of Go. Its name is + // changed to c_select. + call += fmt.Sprintf("C.c_%s(%s)", sysname, arglist) + } else { + call += fmt.Sprintf("C.%s(%s)", sysname, arglist) + } + + // Assign return values. + body := "" + for i := 0; i < len(out); i++ { + p := parseParam(out[i]) + reg := "" + if p.Name == "err" { + reg = "e1" + } else { + reg = "r0" + } + if reg != "e1" { + body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) + } + } + + // verify return + if sysname != "exit" && errvar != "" { + if regexp.MustCompile(`^uintptr`).FindStringSubmatch(cRettype) != nil { + body += "\tif (uintptr(r0) ==^uintptr(0) && er != nil) {\n" + body += fmt.Sprintf("\t\t%s = er\n", errvar) + body += "\t}\n" + } else { + body += "\tif (r0 ==-1 && er != nil) {\n" + body += fmt.Sprintf("\t\t%s = er\n", errvar) + body += "\t}\n" + } + } else if errvar != "" { + body += "\tif (er != nil) {\n" + body += fmt.Sprintf("\t\t%s = er\n", errvar) + body += "\t}\n" + } + + text += fmt.Sprintf("\t%s\n", call) + text += body + + text += "\treturn\n" + text += "}\n" + } + if err := s.Err(); err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + file.Close() + } + imp := "" + if pack != "unix" { + imp = "import \"golang.org/x/sys/unix\"\n" + + } + fmt.Printf(srcTemplate, cmdLine(), buildTags(), pack, cExtern, imp, text) +} + +const srcTemplate = `// %s +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s + +package %s + + +%s +*/ +import "C" +import ( + "unsafe" +) + + +%s + +%s +` diff --git a/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go new file mode 100644 index 00000000..c9600995 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go @@ -0,0 +1,614 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +This program reads a file containing function prototypes +(like syscall_aix.go) and generates system call bodies. +The prototypes are marked by lines beginning with "//sys" +and read like func declarations if //sys is replaced by func, but: + * The parameter lists must give a name for each argument. + This includes return parameters. + * The parameter lists must give a type for each argument: + the (x, y, z int) shorthand is not allowed. + * If the return parameter is an error number, it must be named err. + * If go func name needs to be different than its libc name, + * or the function is not in libc, name could be specified + * at the end, after "=" sign, like + //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt + + +This program will generate three files and handle both gc and gccgo implementation: + - zsyscall_aix_ppc64.go: the common part of each implementation (error handler, pointer creation) + - zsyscall_aix_ppc64_gc.go: gc part with //go_cgo_import_dynamic and a call to syscall6 + - zsyscall_aix_ppc64_gccgo.go: gccgo part with C function and conversion to C type. + + The generated code looks like this + +zsyscall_aix_ppc64.go +func asyscall(...) (n int, err error) { + // Pointer Creation + r1, e1 := callasyscall(...) + // Type Conversion + // Error Handler + return +} + +zsyscall_aix_ppc64_gc.go +//go:cgo_import_dynamic libc_asyscall asyscall "libc.a/shr_64.o" +//go:linkname libc_asyscall libc_asyscall +var asyscall syscallFunc + +func callasyscall(...) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_asyscall)), "nb_args", ... ) + return +} + +zsyscall_aix_ppc64_ggcgo.go + +// int asyscall(...) + +import "C" + +func callasyscall(...) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.asyscall(...)) + e1 = syscall.GetErrno() + return +} +*/ + +package main + +import ( + "bufio" + "flag" + "fmt" + "io/ioutil" + "os" + "regexp" + "strings" +) + +var ( + b32 = flag.Bool("b32", false, "32bit big-endian") + l32 = flag.Bool("l32", false, "32bit little-endian") + aix = flag.Bool("aix", false, "aix") + tags = flag.String("tags", "", "build tags") +) + +// cmdLine returns this programs's commandline arguments +func cmdLine() string { + return "go run mksyscall_aix_ppc64.go " + strings.Join(os.Args[1:], " ") +} + +// buildTags returns build tags +func buildTags() string { + return *tags +} + +// Param is function parameter +type Param struct { + Name string + Type string +} + +// usage prints the program usage +func usage() { + fmt.Fprintf(os.Stderr, "usage: go run mksyscall_aix_ppc64.go [-b32 | -l32] [-tags x,y] [file ...]\n") + os.Exit(1) +} + +// parseParamList parses parameter list and returns a slice of parameters +func parseParamList(list string) []string { + list = strings.TrimSpace(list) + if list == "" { + return []string{} + } + return regexp.MustCompile(`\s*,\s*`).Split(list, -1) +} + +// parseParam splits a parameter into name and type +func parseParam(p string) Param { + ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) + if ps == nil { + fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) + os.Exit(1) + } + return Param{ps[1], ps[2]} +} + +func main() { + flag.Usage = usage + flag.Parse() + if len(flag.Args()) <= 0 { + fmt.Fprintf(os.Stderr, "no files to parse provided\n") + usage() + } + + endianness := "" + if *b32 { + endianness = "big-endian" + } else if *l32 { + endianness = "little-endian" + } + + pack := "" + // GCCGO + textgccgo := "" + cExtern := "/*\n#include \n" + // GC + textgc := "" + dynimports := "" + linknames := "" + var vars []string + // COMMON + textcommon := "" + for _, path := range flag.Args() { + file, err := os.Open(path) + if err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + s := bufio.NewScanner(file) + for s.Scan() { + t := s.Text() + t = strings.TrimSpace(t) + t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) + if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { + pack = p[1] + } + nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) + if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { + continue + } + + // Line must be of the form + // func Open(path string, mode int, perm int) (fd int, err error) + // Split into name, in params, out params. + f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) + if f == nil { + fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) + os.Exit(1) + } + funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] + + // Split argument lists on comma. + in := parseParamList(inps) + out := parseParamList(outps) + + inps = strings.Join(in, ", ") + outps = strings.Join(out, ", ") + + if sysname == "" { + sysname = funct + } + + onlyCommon := false + if funct == "readlen" || funct == "writelen" || funct == "FcntlInt" || funct == "FcntlFlock" { + // This function call another syscall which is already implemented. + // Therefore, the gc and gccgo part must not be generated. + onlyCommon = true + } + + // Try in vain to keep people from editing this file. + // The theory is that they jump into the middle of the file + // without reading the header. + + textcommon += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" + if !onlyCommon { + textgccgo += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" + textgc += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" + } + + // Check if value return, err return available + errvar := "" + rettype := "" + for _, param := range out { + p := parseParam(param) + if p.Type == "error" { + errvar = p.Name + } else { + rettype = p.Type + } + } + + sysname = regexp.MustCompile(`([a-z])([A-Z])`).ReplaceAllString(sysname, `${1}_$2`) + sysname = strings.ToLower(sysname) // All libc functions are lowercase. + + // GCCGO Prototype return type + cRettype := "" + if rettype == "unsafe.Pointer" { + cRettype = "uintptr_t" + } else if rettype == "uintptr" { + cRettype = "uintptr_t" + } else if regexp.MustCompile(`^_`).FindStringSubmatch(rettype) != nil { + cRettype = "uintptr_t" + } else if rettype == "int" { + cRettype = "int" + } else if rettype == "int32" { + cRettype = "int" + } else if rettype == "int64" { + cRettype = "long long" + } else if rettype == "uint32" { + cRettype = "unsigned int" + } else if rettype == "uint64" { + cRettype = "unsigned long long" + } else { + cRettype = "int" + } + if sysname == "exit" { + cRettype = "void" + } + + // GCCGO Prototype arguments type + var cIn []string + for i, param := range in { + p := parseParam(param) + if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { + cIn = append(cIn, "uintptr_t") + } else if p.Type == "string" { + cIn = append(cIn, "uintptr_t") + } else if regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type) != nil { + cIn = append(cIn, "uintptr_t", "size_t") + } else if p.Type == "unsafe.Pointer" { + cIn = append(cIn, "uintptr_t") + } else if p.Type == "uintptr" { + cIn = append(cIn, "uintptr_t") + } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil { + cIn = append(cIn, "uintptr_t") + } else if p.Type == "int" { + if (i == 0 || i == 2) && funct == "fcntl" { + // These fcntl arguments needs to be uintptr to be able to call FcntlInt and FcntlFlock + cIn = append(cIn, "uintptr_t") + } else { + cIn = append(cIn, "int") + } + + } else if p.Type == "int32" { + cIn = append(cIn, "int") + } else if p.Type == "int64" { + cIn = append(cIn, "long long") + } else if p.Type == "uint32" { + cIn = append(cIn, "unsigned int") + } else if p.Type == "uint64" { + cIn = append(cIn, "unsigned long long") + } else { + cIn = append(cIn, "int") + } + } + + if !onlyCommon { + // GCCGO Prototype Generation + // Imports of system calls from libc + if sysname == "select" { + // select is a keyword of Go. Its name is + // changed to c_select. + cExtern += "#define c_select select\n" + } + cExtern += fmt.Sprintf("%s %s", cRettype, sysname) + cIn := strings.Join(cIn, ", ") + cExtern += fmt.Sprintf("(%s);\n", cIn) + } + // GC Library name + if modname == "" { + modname = "libc.a/shr_64.o" + } else { + fmt.Fprintf(os.Stderr, "%s: only syscall using libc are available\n", funct) + os.Exit(1) + } + sysvarname := fmt.Sprintf("libc_%s", sysname) + + if !onlyCommon { + // GC Runtime import of function to allow cross-platform builds. + dynimports += fmt.Sprintf("//go:cgo_import_dynamic %s %s \"%s\"\n", sysvarname, sysname, modname) + // GC Link symbol to proc address variable. + linknames += fmt.Sprintf("//go:linkname %s %s\n", sysvarname, sysvarname) + // GC Library proc address variable. + vars = append(vars, sysvarname) + } + + strconvfunc := "BytePtrFromString" + strconvtype := "*byte" + + // Go function header. + if outps != "" { + outps = fmt.Sprintf(" (%s)", outps) + } + if textcommon != "" { + textcommon += "\n" + } + + textcommon += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outps) + + // Prepare arguments tocall. + var argscommon []string // Arguments in the common part + var argscall []string // Arguments for call prototype + var argsgc []string // Arguments for gc call (with syscall6) + var argsgccgo []string // Arguments for gccgo call (with C.name_of_syscall) + n := 0 + argN := 0 + for _, param := range in { + p := parseParam(param) + if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { + argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(%s))", p.Name)) + argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) + argsgc = append(argsgc, p.Name) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) + } else if p.Type == "string" && errvar != "" { + textcommon += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) + textcommon += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) + textcommon += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) + + argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) + argscall = append(argscall, fmt.Sprintf("_p%d uintptr ", n)) + argsgc = append(argsgc, fmt.Sprintf("_p%d", n)) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n)) + n++ + } else if p.Type == "string" { + fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") + textcommon += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) + textcommon += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) + textcommon += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) + + argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) + argscall = append(argscall, fmt.Sprintf("_p%d uintptr", n)) + argsgc = append(argsgc, fmt.Sprintf("_p%d", n)) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n)) + n++ + } else if m := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); m != nil { + // Convert slice into pointer, length. + // Have to be careful not to take address of &a[0] if len == 0: + // pass nil in that case. + textcommon += fmt.Sprintf("\tvar _p%d *%s\n", n, m[1]) + textcommon += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) + argscommon = append(argscommon, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("len(%s)", p.Name)) + argscall = append(argscall, fmt.Sprintf("_p%d uintptr", n), fmt.Sprintf("_lenp%d int", n)) + argsgc = append(argsgc, fmt.Sprintf("_p%d", n), fmt.Sprintf("uintptr(_lenp%d)", n)) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(_p%d)", n), fmt.Sprintf("C.size_t(_lenp%d)", n)) + n++ + } else if p.Type == "int64" && endianness != "" { + fmt.Fprintf(os.Stderr, path+":"+funct+" uses int64 with 32 bits mode. Case not yet implemented\n") + } else if p.Type == "bool" { + fmt.Fprintf(os.Stderr, path+":"+funct+" uses bool. Case not yet implemented\n") + } else if regexp.MustCompile(`^_`).FindStringSubmatch(p.Type) != nil || p.Type == "unsafe.Pointer" { + argscommon = append(argscommon, fmt.Sprintf("uintptr(%s)", p.Name)) + argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) + argsgc = append(argsgc, p.Name) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) + } else if p.Type == "int" { + if (argN == 0 || argN == 2) && ((funct == "fcntl") || (funct == "FcntlInt") || (funct == "FcntlFlock")) { + // These fcntl arguments need to be uintptr to be able to call FcntlInt and FcntlFlock + argscommon = append(argscommon, fmt.Sprintf("uintptr(%s)", p.Name)) + argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) + argsgc = append(argsgc, p.Name) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) + + } else { + argscommon = append(argscommon, p.Name) + argscall = append(argscall, fmt.Sprintf("%s int", p.Name)) + argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name)) + } + } else if p.Type == "int32" { + argscommon = append(argscommon, p.Name) + argscall = append(argscall, fmt.Sprintf("%s int32", p.Name)) + argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name)) + } else if p.Type == "int64" { + argscommon = append(argscommon, p.Name) + argscall = append(argscall, fmt.Sprintf("%s int64", p.Name)) + argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.longlong(%s)", p.Name)) + } else if p.Type == "uint32" { + argscommon = append(argscommon, p.Name) + argscall = append(argscall, fmt.Sprintf("%s uint32", p.Name)) + argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.uint(%s)", p.Name)) + } else if p.Type == "uint64" { + argscommon = append(argscommon, p.Name) + argscall = append(argscall, fmt.Sprintf("%s uint64", p.Name)) + argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.ulonglong(%s)", p.Name)) + } else if p.Type == "uintptr" { + argscommon = append(argscommon, p.Name) + argscall = append(argscall, fmt.Sprintf("%s uintptr", p.Name)) + argsgc = append(argsgc, p.Name) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.uintptr_t(%s)", p.Name)) + } else { + argscommon = append(argscommon, fmt.Sprintf("int(%s)", p.Name)) + argscall = append(argscall, fmt.Sprintf("%s int", p.Name)) + argsgc = append(argsgc, fmt.Sprintf("uintptr(%s)", p.Name)) + argsgccgo = append(argsgccgo, fmt.Sprintf("C.int(%s)", p.Name)) + } + argN++ + } + nargs := len(argsgc) + + // COMMON function generation + argscommonlist := strings.Join(argscommon, ", ") + callcommon := fmt.Sprintf("call%s(%s)", sysname, argscommonlist) + ret := []string{"_", "_"} + body := "" + doErrno := false + for i := 0; i < len(out); i++ { + p := parseParam(out[i]) + reg := "" + if p.Name == "err" { + reg = "e1" + ret[1] = reg + doErrno = true + } else { + reg = "r0" + ret[0] = reg + } + if p.Type == "bool" { + reg = fmt.Sprintf("%s != 0", reg) + } + if reg != "e1" { + body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) + } + } + if ret[0] == "_" && ret[1] == "_" { + textcommon += fmt.Sprintf("\t%s\n", callcommon) + } else { + textcommon += fmt.Sprintf("\t%s, %s := %s\n", ret[0], ret[1], callcommon) + } + textcommon += body + + if doErrno { + textcommon += "\tif e1 != 0 {\n" + textcommon += "\t\terr = errnoErr(e1)\n" + textcommon += "\t}\n" + } + textcommon += "\treturn\n" + textcommon += "}\n" + + if onlyCommon { + continue + } + + // CALL Prototype + callProto := fmt.Sprintf("func call%s(%s) (r1 uintptr, e1 Errno) {\n", sysname, strings.Join(argscall, ", ")) + + // GC function generation + asm := "syscall6" + if nonblock != nil { + asm = "rawSyscall6" + } + + if len(argsgc) <= 6 { + for len(argsgc) < 6 { + argsgc = append(argsgc, "0") + } + } else { + fmt.Fprintf(os.Stderr, "%s: too many arguments to system call", funct) + os.Exit(1) + } + argsgclist := strings.Join(argsgc, ", ") + callgc := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, argsgclist) + + textgc += callProto + textgc += fmt.Sprintf("\tr1, _, e1 = %s\n", callgc) + textgc += "\treturn\n}\n" + + // GCCGO function generation + argsgccgolist := strings.Join(argsgccgo, ", ") + var callgccgo string + if sysname == "select" { + // select is a keyword of Go. Its name is + // changed to c_select. + callgccgo = fmt.Sprintf("C.c_%s(%s)", sysname, argsgccgolist) + } else { + callgccgo = fmt.Sprintf("C.%s(%s)", sysname, argsgccgolist) + } + textgccgo += callProto + textgccgo += fmt.Sprintf("\tr1 = uintptr(%s)\n", callgccgo) + textgccgo += "\te1 = syscall.GetErrno()\n" + textgccgo += "\treturn\n}\n" + } + if err := s.Err(); err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + file.Close() + } + imp := "" + if pack != "unix" { + imp = "import \"golang.org/x/sys/unix\"\n" + + } + + // Print zsyscall_aix_ppc64.go + err := ioutil.WriteFile("zsyscall_aix_ppc64.go", + []byte(fmt.Sprintf(srcTemplate1, cmdLine(), buildTags(), pack, imp, textcommon)), + 0644) + if err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + + // Print zsyscall_aix_ppc64_gc.go + vardecls := "\t" + strings.Join(vars, ",\n\t") + vardecls += " syscallFunc" + err = ioutil.WriteFile("zsyscall_aix_ppc64_gc.go", + []byte(fmt.Sprintf(srcTemplate2, cmdLine(), buildTags(), pack, imp, dynimports, linknames, vardecls, textgc)), + 0644) + if err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + + // Print zsyscall_aix_ppc64_gccgo.go + err = ioutil.WriteFile("zsyscall_aix_ppc64_gccgo.go", + []byte(fmt.Sprintf(srcTemplate3, cmdLine(), buildTags(), pack, cExtern, imp, textgccgo)), + 0644) + if err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } +} + +const srcTemplate1 = `// %s +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s + +package %s + +import ( + "unsafe" +) + + +%s + +%s +` +const srcTemplate2 = `// %s +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s +// +build !gccgo + +package %s + +import ( + "unsafe" +) +%s +%s +%s +type syscallFunc uintptr + +var ( +%s +) + +// Implemented in runtime/syscall_aix.go. +func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) + +%s +` +const srcTemplate3 = `// %s +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s +// +build gccgo + +package %s + +%s +*/ +import "C" +import ( + "syscall" +) + + +%s + +%s +` diff --git a/vendor/golang.org/x/sys/unix/mksyscall_solaris.go b/vendor/golang.org/x/sys/unix/mksyscall_solaris.go new file mode 100644 index 00000000..3d864738 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mksyscall_solaris.go @@ -0,0 +1,335 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* + This program reads a file containing function prototypes + (like syscall_solaris.go) and generates system call bodies. + The prototypes are marked by lines beginning with "//sys" + and read like func declarations if //sys is replaced by func, but: + * The parameter lists must give a name for each argument. + This includes return parameters. + * The parameter lists must give a type for each argument: + the (x, y, z int) shorthand is not allowed. + * If the return parameter is an error number, it must be named err. + * If go func name needs to be different than its libc name, + * or the function is not in libc, name could be specified + * at the end, after "=" sign, like + //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt +*/ + +package main + +import ( + "bufio" + "flag" + "fmt" + "os" + "regexp" + "strings" +) + +var ( + b32 = flag.Bool("b32", false, "32bit big-endian") + l32 = flag.Bool("l32", false, "32bit little-endian") + tags = flag.String("tags", "", "build tags") +) + +// cmdLine returns this programs's commandline arguments +func cmdLine() string { + return "go run mksyscall_solaris.go " + strings.Join(os.Args[1:], " ") +} + +// buildTags returns build tags +func buildTags() string { + return *tags +} + +// Param is function parameter +type Param struct { + Name string + Type string +} + +// usage prints the program usage +func usage() { + fmt.Fprintf(os.Stderr, "usage: go run mksyscall_solaris.go [-b32 | -l32] [-tags x,y] [file ...]\n") + os.Exit(1) +} + +// parseParamList parses parameter list and returns a slice of parameters +func parseParamList(list string) []string { + list = strings.TrimSpace(list) + if list == "" { + return []string{} + } + return regexp.MustCompile(`\s*,\s*`).Split(list, -1) +} + +// parseParam splits a parameter into name and type +func parseParam(p string) Param { + ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p) + if ps == nil { + fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p) + os.Exit(1) + } + return Param{ps[1], ps[2]} +} + +func main() { + flag.Usage = usage + flag.Parse() + if len(flag.Args()) <= 0 { + fmt.Fprintf(os.Stderr, "no files to parse provided\n") + usage() + } + + endianness := "" + if *b32 { + endianness = "big-endian" + } else if *l32 { + endianness = "little-endian" + } + + pack := "" + text := "" + dynimports := "" + linknames := "" + var vars []string + for _, path := range flag.Args() { + file, err := os.Open(path) + if err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + s := bufio.NewScanner(file) + for s.Scan() { + t := s.Text() + t = strings.TrimSpace(t) + t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `) + if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" { + pack = p[1] + } + nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t) + if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil { + continue + } + + // Line must be of the form + // func Open(path string, mode int, perm int) (fd int, err error) + // Split into name, in params, out params. + f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t) + if f == nil { + fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t) + os.Exit(1) + } + funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6] + + // Split argument lists on comma. + in := parseParamList(inps) + out := parseParamList(outps) + + inps = strings.Join(in, ", ") + outps = strings.Join(out, ", ") + + // Try in vain to keep people from editing this file. + // The theory is that they jump into the middle of the file + // without reading the header. + text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n" + + // So file name. + if modname == "" { + modname = "libc" + } + + // System call name. + if sysname == "" { + sysname = funct + } + + // System call pointer variable name. + sysvarname := fmt.Sprintf("proc%s", sysname) + + strconvfunc := "BytePtrFromString" + strconvtype := "*byte" + + sysname = strings.ToLower(sysname) // All libc functions are lowercase. + + // Runtime import of function to allow cross-platform builds. + dynimports += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"%s.so\"\n", sysname, sysname, modname) + // Link symbol to proc address variable. + linknames += fmt.Sprintf("//go:linkname %s libc_%s\n", sysvarname, sysname) + // Library proc address variable. + vars = append(vars, sysvarname) + + // Go function header. + outlist := strings.Join(out, ", ") + if outlist != "" { + outlist = fmt.Sprintf(" (%s)", outlist) + } + if text != "" { + text += "\n" + } + text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outlist) + + // Check if err return available + errvar := "" + for _, param := range out { + p := parseParam(param) + if p.Type == "error" { + errvar = p.Name + continue + } + } + + // Prepare arguments to Syscall. + var args []string + n := 0 + for _, param := range in { + p := parseParam(param) + if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil { + args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))") + } else if p.Type == "string" && errvar != "" { + text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) + text += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name) + text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar) + args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) + n++ + } else if p.Type == "string" { + fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n") + text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype) + text += fmt.Sprintf("\t_p%d, _ = %s(%s)\n", n, strconvfunc, p.Name) + args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n)) + n++ + } else if s := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); s != nil { + // Convert slice into pointer, length. + // Have to be careful not to take address of &a[0] if len == 0: + // pass nil in that case. + text += fmt.Sprintf("\tvar _p%d *%s\n", n, s[1]) + text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name) + args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("uintptr(len(%s))", p.Name)) + n++ + } else if p.Type == "int64" && endianness != "" { + if endianness == "big-endian" { + args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name)) + } else { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name)) + } + } else if p.Type == "bool" { + text += fmt.Sprintf("\tvar _p%d uint32\n", n) + text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n) + args = append(args, fmt.Sprintf("uintptr(_p%d)", n)) + n++ + } else { + args = append(args, fmt.Sprintf("uintptr(%s)", p.Name)) + } + } + nargs := len(args) + + // Determine which form to use; pad args with zeros. + asm := "sysvicall6" + if nonblock != nil { + asm = "rawSysvicall6" + } + if len(args) <= 6 { + for len(args) < 6 { + args = append(args, "0") + } + } else { + fmt.Fprintf(os.Stderr, "%s: too many arguments to system call\n", path) + os.Exit(1) + } + + // Actual call. + arglist := strings.Join(args, ", ") + call := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, arglist) + + // Assign return values. + body := "" + ret := []string{"_", "_", "_"} + doErrno := false + for i := 0; i < len(out); i++ { + p := parseParam(out[i]) + reg := "" + if p.Name == "err" { + reg = "e1" + ret[2] = reg + doErrno = true + } else { + reg = fmt.Sprintf("r%d", i) + ret[i] = reg + } + if p.Type == "bool" { + reg = fmt.Sprintf("%d != 0", reg) + } + if p.Type == "int64" && endianness != "" { + // 64-bit number in r1:r0 or r0:r1. + if i+2 > len(out) { + fmt.Fprintf(os.Stderr, "%s: not enough registers for int64 return\n", path) + os.Exit(1) + } + if endianness == "big-endian" { + reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1) + } else { + reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i) + } + ret[i] = fmt.Sprintf("r%d", i) + ret[i+1] = fmt.Sprintf("r%d", i+1) + } + if reg != "e1" { + body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg) + } + } + if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" { + text += fmt.Sprintf("\t%s\n", call) + } else { + text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call) + } + text += body + + if doErrno { + text += "\tif e1 != 0 {\n" + text += "\t\terr = e1\n" + text += "\t}\n" + } + text += "\treturn\n" + text += "}\n" + } + if err := s.Err(); err != nil { + fmt.Fprintf(os.Stderr, err.Error()) + os.Exit(1) + } + file.Close() + } + imp := "" + if pack != "unix" { + imp = "import \"golang.org/x/sys/unix\"\n" + + } + vardecls := "\t" + strings.Join(vars, ",\n\t") + vardecls += " syscallFunc" + fmt.Printf(srcTemplate, cmdLine(), buildTags(), pack, imp, dynimports, linknames, vardecls, text) +} + +const srcTemplate = `// %s +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s + +package %s + +import ( + "syscall" + "unsafe" +) +%s +%s +%s +var ( +%s +) + +%s +` diff --git a/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go new file mode 100644 index 00000000..b6b40990 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go @@ -0,0 +1,355 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// Parse the header files for OpenBSD and generate a Go usable sysctl MIB. +// +// Build a MIB with each entry being an array containing the level, type and +// a hash that will contain additional entries if the current entry is a node. +// We then walk this MIB and create a flattened sysctl name to OID hash. + +package main + +import ( + "bufio" + "fmt" + "os" + "path/filepath" + "regexp" + "sort" + "strings" +) + +var ( + goos, goarch string +) + +// cmdLine returns this programs's commandline arguments. +func cmdLine() string { + return "go run mksysctl_openbsd.go " + strings.Join(os.Args[1:], " ") +} + +// buildTags returns build tags. +func buildTags() string { + return fmt.Sprintf("%s,%s", goarch, goos) +} + +// reMatch performs regular expression match and stores the substring slice to value pointed by m. +func reMatch(re *regexp.Regexp, str string, m *[]string) bool { + *m = re.FindStringSubmatch(str) + if *m != nil { + return true + } + return false +} + +type nodeElement struct { + n int + t string + pE *map[string]nodeElement +} + +var ( + debugEnabled bool + mib map[string]nodeElement + node *map[string]nodeElement + nodeMap map[string]string + sysCtl []string +) + +var ( + ctlNames1RE = regexp.MustCompile(`^#define\s+(CTL_NAMES)\s+{`) + ctlNames2RE = regexp.MustCompile(`^#define\s+(CTL_(.*)_NAMES)\s+{`) + ctlNames3RE = regexp.MustCompile(`^#define\s+((.*)CTL_NAMES)\s+{`) + netInetRE = regexp.MustCompile(`^netinet/`) + netInet6RE = regexp.MustCompile(`^netinet6/`) + netRE = regexp.MustCompile(`^net/`) + bracesRE = regexp.MustCompile(`{.*}`) + ctlTypeRE = regexp.MustCompile(`{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}`) + fsNetKernRE = regexp.MustCompile(`^(fs|net|kern)_`) +) + +func debug(s string) { + if debugEnabled { + fmt.Fprintln(os.Stderr, s) + } +} + +// Walk the MIB and build a sysctl name to OID mapping. +func buildSysctl(pNode *map[string]nodeElement, name string, oid []int) { + lNode := pNode // local copy of pointer to node + var keys []string + for k := range *lNode { + keys = append(keys, k) + } + sort.Strings(keys) + + for _, key := range keys { + nodename := name + if name != "" { + nodename += "." + } + nodename += key + + nodeoid := append(oid, (*pNode)[key].n) + + if (*pNode)[key].t == `CTLTYPE_NODE` { + if _, ok := nodeMap[nodename]; ok { + lNode = &mib + ctlName := nodeMap[nodename] + for _, part := range strings.Split(ctlName, ".") { + lNode = ((*lNode)[part]).pE + } + } else { + lNode = (*pNode)[key].pE + } + buildSysctl(lNode, nodename, nodeoid) + } else if (*pNode)[key].t != "" { + oidStr := []string{} + for j := range nodeoid { + oidStr = append(oidStr, fmt.Sprintf("%d", nodeoid[j])) + } + text := "\t{ \"" + nodename + "\", []_C_int{ " + strings.Join(oidStr, ", ") + " } }, \n" + sysCtl = append(sysCtl, text) + } + } +} + +func main() { + // Get the OS (using GOOS_TARGET if it exist) + goos = os.Getenv("GOOS_TARGET") + if goos == "" { + goos = os.Getenv("GOOS") + } + // Get the architecture (using GOARCH_TARGET if it exists) + goarch = os.Getenv("GOARCH_TARGET") + if goarch == "" { + goarch = os.Getenv("GOARCH") + } + // Check if GOOS and GOARCH environment variables are defined + if goarch == "" || goos == "" { + fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n") + os.Exit(1) + } + + mib = make(map[string]nodeElement) + headers := [...]string{ + `sys/sysctl.h`, + `sys/socket.h`, + `sys/tty.h`, + `sys/malloc.h`, + `sys/mount.h`, + `sys/namei.h`, + `sys/sem.h`, + `sys/shm.h`, + `sys/vmmeter.h`, + `uvm/uvmexp.h`, + `uvm/uvm_param.h`, + `uvm/uvm_swap_encrypt.h`, + `ddb/db_var.h`, + `net/if.h`, + `net/if_pfsync.h`, + `net/pipex.h`, + `netinet/in.h`, + `netinet/icmp_var.h`, + `netinet/igmp_var.h`, + `netinet/ip_ah.h`, + `netinet/ip_carp.h`, + `netinet/ip_divert.h`, + `netinet/ip_esp.h`, + `netinet/ip_ether.h`, + `netinet/ip_gre.h`, + `netinet/ip_ipcomp.h`, + `netinet/ip_ipip.h`, + `netinet/pim_var.h`, + `netinet/tcp_var.h`, + `netinet/udp_var.h`, + `netinet6/in6.h`, + `netinet6/ip6_divert.h`, + `netinet6/pim6_var.h`, + `netinet/icmp6.h`, + `netmpls/mpls.h`, + } + + ctls := [...]string{ + `kern`, + `vm`, + `fs`, + `net`, + //debug /* Special handling required */ + `hw`, + //machdep /* Arch specific */ + `user`, + `ddb`, + //vfs /* Special handling required */ + `fs.posix`, + `kern.forkstat`, + `kern.intrcnt`, + `kern.malloc`, + `kern.nchstats`, + `kern.seminfo`, + `kern.shminfo`, + `kern.timecounter`, + `kern.tty`, + `kern.watchdog`, + `net.bpf`, + `net.ifq`, + `net.inet`, + `net.inet.ah`, + `net.inet.carp`, + `net.inet.divert`, + `net.inet.esp`, + `net.inet.etherip`, + `net.inet.gre`, + `net.inet.icmp`, + `net.inet.igmp`, + `net.inet.ip`, + `net.inet.ip.ifq`, + `net.inet.ipcomp`, + `net.inet.ipip`, + `net.inet.mobileip`, + `net.inet.pfsync`, + `net.inet.pim`, + `net.inet.tcp`, + `net.inet.udp`, + `net.inet6`, + `net.inet6.divert`, + `net.inet6.ip6`, + `net.inet6.icmp6`, + `net.inet6.pim6`, + `net.inet6.tcp6`, + `net.inet6.udp6`, + `net.mpls`, + `net.mpls.ifq`, + `net.key`, + `net.pflow`, + `net.pfsync`, + `net.pipex`, + `net.rt`, + `vm.swapencrypt`, + //vfsgenctl /* Special handling required */ + } + + // Node name "fixups" + ctlMap := map[string]string{ + "ipproto": "net.inet", + "net.inet.ipproto": "net.inet", + "net.inet6.ipv6proto": "net.inet6", + "net.inet6.ipv6": "net.inet6.ip6", + "net.inet.icmpv6": "net.inet6.icmp6", + "net.inet6.divert6": "net.inet6.divert", + "net.inet6.tcp6": "net.inet.tcp", + "net.inet6.udp6": "net.inet.udp", + "mpls": "net.mpls", + "swpenc": "vm.swapencrypt", + } + + // Node mappings + nodeMap = map[string]string{ + "net.inet.ip.ifq": "net.ifq", + "net.inet.pfsync": "net.pfsync", + "net.mpls.ifq": "net.ifq", + } + + mCtls := make(map[string]bool) + for _, ctl := range ctls { + mCtls[ctl] = true + } + + for _, header := range headers { + debug("Processing " + header) + file, err := os.Open(filepath.Join("/usr/include", header)) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + os.Exit(1) + } + s := bufio.NewScanner(file) + for s.Scan() { + var sub []string + if reMatch(ctlNames1RE, s.Text(), &sub) || + reMatch(ctlNames2RE, s.Text(), &sub) || + reMatch(ctlNames3RE, s.Text(), &sub) { + if sub[1] == `CTL_NAMES` { + // Top level. + node = &mib + } else { + // Node. + nodename := strings.ToLower(sub[2]) + ctlName := "" + if reMatch(netInetRE, header, &sub) { + ctlName = "net.inet." + nodename + } else if reMatch(netInet6RE, header, &sub) { + ctlName = "net.inet6." + nodename + } else if reMatch(netRE, header, &sub) { + ctlName = "net." + nodename + } else { + ctlName = nodename + ctlName = fsNetKernRE.ReplaceAllString(ctlName, `$1.`) + } + + if val, ok := ctlMap[ctlName]; ok { + ctlName = val + } + if _, ok := mCtls[ctlName]; !ok { + debug("Ignoring " + ctlName + "...") + continue + } + + // Walk down from the top of the MIB. + node = &mib + for _, part := range strings.Split(ctlName, ".") { + if _, ok := (*node)[part]; !ok { + debug("Missing node " + part) + (*node)[part] = nodeElement{n: 0, t: "", pE: &map[string]nodeElement{}} + } + node = (*node)[part].pE + } + } + + // Populate current node with entries. + i := -1 + for !strings.HasPrefix(s.Text(), "}") { + s.Scan() + if reMatch(bracesRE, s.Text(), &sub) { + i++ + } + if !reMatch(ctlTypeRE, s.Text(), &sub) { + continue + } + (*node)[sub[1]] = nodeElement{n: i, t: sub[2], pE: &map[string]nodeElement{}} + } + } + } + err = s.Err() + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + os.Exit(1) + } + file.Close() + } + buildSysctl(&mib, "", []int{}) + + sort.Strings(sysCtl) + text := strings.Join(sysCtl, "") + + fmt.Printf(srcTemplate, cmdLine(), buildTags(), text) +} + +const srcTemplate = `// %s +// Code generated by the command above; DO NOT EDIT. + +// +build %s + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry { +%s +} +` diff --git a/vendor/golang.org/x/sys/unix/mksysnum.go b/vendor/golang.org/x/sys/unix/mksysnum.go new file mode 100644 index 00000000..baa6ecd8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/mksysnum.go @@ -0,0 +1,190 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +// Generate system call table for DragonFly, NetBSD, +// FreeBSD, OpenBSD or Darwin from master list +// (for example, /usr/src/sys/kern/syscalls.master or +// sys/syscall.h). +package main + +import ( + "bufio" + "fmt" + "io" + "io/ioutil" + "net/http" + "os" + "regexp" + "strings" +) + +var ( + goos, goarch string +) + +// cmdLine returns this programs's commandline arguments +func cmdLine() string { + return "go run mksysnum.go " + strings.Join(os.Args[1:], " ") +} + +// buildTags returns build tags +func buildTags() string { + return fmt.Sprintf("%s,%s", goarch, goos) +} + +func checkErr(err error) { + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + os.Exit(1) + } +} + +// source string and substring slice for regexp +type re struct { + str string // source string + sub []string // matched sub-string +} + +// Match performs regular expression match +func (r *re) Match(exp string) bool { + r.sub = regexp.MustCompile(exp).FindStringSubmatch(r.str) + if r.sub != nil { + return true + } + return false +} + +// fetchFile fetches a text file from URL +func fetchFile(URL string) io.Reader { + resp, err := http.Get(URL) + checkErr(err) + defer resp.Body.Close() + body, err := ioutil.ReadAll(resp.Body) + checkErr(err) + return strings.NewReader(string(body)) +} + +// readFile reads a text file from path +func readFile(path string) io.Reader { + file, err := os.Open(os.Args[1]) + checkErr(err) + return file +} + +func format(name, num, proto string) string { + name = strings.ToUpper(name) + // There are multiple entries for enosys and nosys, so comment them out. + nm := re{str: name} + if nm.Match(`^SYS_E?NOSYS$`) { + name = fmt.Sprintf("// %s", name) + } + if name == `SYS_SYS_EXIT` { + name = `SYS_EXIT` + } + return fmt.Sprintf(" %s = %s; // %s\n", name, num, proto) +} + +func main() { + // Get the OS (using GOOS_TARGET if it exist) + goos = os.Getenv("GOOS_TARGET") + if goos == "" { + goos = os.Getenv("GOOS") + } + // Get the architecture (using GOARCH_TARGET if it exists) + goarch = os.Getenv("GOARCH_TARGET") + if goarch == "" { + goarch = os.Getenv("GOARCH") + } + // Check if GOOS and GOARCH environment variables are defined + if goarch == "" || goos == "" { + fmt.Fprintf(os.Stderr, "GOARCH or GOOS not defined in environment\n") + os.Exit(1) + } + + file := strings.TrimSpace(os.Args[1]) + var syscalls io.Reader + if strings.HasPrefix(file, "https://") || strings.HasPrefix(file, "http://") { + // Download syscalls.master file + syscalls = fetchFile(file) + } else { + syscalls = readFile(file) + } + + var text, line string + s := bufio.NewScanner(syscalls) + for s.Scan() { + t := re{str: line} + if t.Match(`^(.*)\\$`) { + // Handle continuation + line = t.sub[1] + line += strings.TrimLeft(s.Text(), " \t") + } else { + // New line + line = s.Text() + } + t = re{str: line} + if t.Match(`\\$`) { + continue + } + t = re{str: line} + + switch goos { + case "dragonfly": + if t.Match(`^([0-9]+)\s+STD\s+({ \S+\s+(\w+).*)$`) { + num, proto := t.sub[1], t.sub[2] + name := fmt.Sprintf("SYS_%s", t.sub[3]) + text += format(name, num, proto) + } + case "freebsd": + if t.Match(`^([0-9]+)\s+\S+\s+(?:(?:NO)?STD|COMPAT10)\s+({ \S+\s+(\w+).*)$`) { + num, proto := t.sub[1], t.sub[2] + name := fmt.Sprintf("SYS_%s", t.sub[3]) + text += format(name, num, proto) + } + case "openbsd": + if t.Match(`^([0-9]+)\s+STD\s+(NOLOCK\s+)?({ \S+\s+\*?(\w+).*)$`) { + num, proto, name := t.sub[1], t.sub[3], t.sub[4] + text += format(name, num, proto) + } + case "netbsd": + if t.Match(`^([0-9]+)\s+((STD)|(NOERR))\s+(RUMP\s+)?({\s+\S+\s*\*?\s*\|(\S+)\|(\S*)\|(\w+).*\s+})(\s+(\S+))?$`) { + num, proto, compat := t.sub[1], t.sub[6], t.sub[8] + name := t.sub[7] + "_" + t.sub[9] + if t.sub[11] != "" { + name = t.sub[7] + "_" + t.sub[11] + } + name = strings.ToUpper(name) + if compat == "" || compat == "13" || compat == "30" || compat == "50" { + text += fmt.Sprintf(" %s = %s; // %s\n", name, num, proto) + } + } + case "darwin": + if t.Match(`^#define\s+SYS_(\w+)\s+([0-9]+)`) { + name, num := t.sub[1], t.sub[2] + name = strings.ToUpper(name) + text += fmt.Sprintf(" SYS_%s = %s;\n", name, num) + } + default: + fmt.Fprintf(os.Stderr, "unrecognized GOOS=%s\n", goos) + os.Exit(1) + + } + } + err := s.Err() + checkErr(err) + + fmt.Printf(template, cmdLine(), buildTags(), text) +} + +const template = `// %s +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build %s + +package unix + +const( +%s)` diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go new file mode 100644 index 00000000..bc2f3629 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go @@ -0,0 +1,15 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// For Unix, get the pagesize from the runtime. + +package unix + +import "syscall" + +func Getpagesize() int { + return syscall.Getpagesize() +} diff --git a/vendor/golang.org/x/sys/unix/pledge_openbsd.go b/vendor/golang.org/x/sys/unix/pledge_openbsd.go new file mode 100644 index 00000000..eb48294b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/pledge_openbsd.go @@ -0,0 +1,163 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "errors" + "fmt" + "strconv" + "syscall" + "unsafe" +) + +// Pledge implements the pledge syscall. +// +// The pledge syscall does not accept execpromises on OpenBSD releases +// before 6.3. +// +// execpromises must be empty when Pledge is called on OpenBSD +// releases predating 6.3, otherwise an error will be returned. +// +// For more information see pledge(2). +func Pledge(promises, execpromises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, execpromises) + if err != nil { + return err + } + + pptr, err := syscall.BytePtrFromString(promises) + if err != nil { + return err + } + + // This variable will hold either a nil unsafe.Pointer or + // an unsafe.Pointer to a string (execpromises). + var expr unsafe.Pointer + + // If we're running on OpenBSD > 6.2, pass execpromises to the syscall. + if maj > 6 || (maj == 6 && min > 2) { + exptr, err := syscall.BytePtrFromString(execpromises) + if err != nil { + return err + } + expr = unsafe.Pointer(exptr) + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0) + if e != 0 { + return e + } + + return nil +} + +// PledgePromises implements the pledge syscall. +// +// This changes the promises and leaves the execpromises untouched. +// +// For more information see pledge(2). +func PledgePromises(promises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, "") + if err != nil { + return err + } + + // This variable holds the execpromises and is always nil. + var expr unsafe.Pointer + + pptr, err := syscall.BytePtrFromString(promises) + if err != nil { + return err + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0) + if e != 0 { + return e + } + + return nil +} + +// PledgeExecpromises implements the pledge syscall. +// +// This changes the execpromises and leaves the promises untouched. +// +// For more information see pledge(2). +func PledgeExecpromises(execpromises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, execpromises) + if err != nil { + return err + } + + // This variable holds the promises and is always nil. + var pptr unsafe.Pointer + + exptr, err := syscall.BytePtrFromString(execpromises) + if err != nil { + return err + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(pptr), uintptr(unsafe.Pointer(exptr)), 0) + if e != 0 { + return e + } + + return nil +} + +// majmin returns major and minor version number for an OpenBSD system. +func majmin() (major int, minor int, err error) { + var v Utsname + err = Uname(&v) + if err != nil { + return + } + + major, err = strconv.Atoi(string(v.Release[0])) + if err != nil { + err = errors.New("cannot parse major version number returned by uname") + return + } + + minor, err = strconv.Atoi(string(v.Release[2])) + if err != nil { + err = errors.New("cannot parse minor version number returned by uname") + return + } + + return +} + +// pledgeAvailable checks for availability of the pledge(2) syscall +// based on the running OpenBSD version. +func pledgeAvailable(maj, min int, execpromises string) error { + // If OpenBSD <= 5.9, pledge is not available. + if (maj == 5 && min != 9) || maj < 5 { + return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min) + } + + // If OpenBSD <= 6.2 and execpromises is not empty, + // return an error - execpromises is not available before 6.3 + if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" { + return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min) + } + + return nil +} diff --git a/vendor/golang.org/x/sys/unix/race.go b/vendor/golang.org/x/sys/unix/race.go new file mode 100644 index 00000000..61712b51 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/race.go @@ -0,0 +1,30 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,race linux,race freebsd,race + +package unix + +import ( + "runtime" + "unsafe" +) + +const raceenabled = true + +func raceAcquire(addr unsafe.Pointer) { + runtime.RaceAcquire(addr) +} + +func raceReleaseMerge(addr unsafe.Pointer) { + runtime.RaceReleaseMerge(addr) +} + +func raceReadRange(addr unsafe.Pointer, len int) { + runtime.RaceReadRange(addr, len) +} + +func raceWriteRange(addr unsafe.Pointer, len int) { + runtime.RaceWriteRange(addr, len) +} diff --git a/vendor/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go new file mode 100644 index 00000000..ad026678 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/race0.go @@ -0,0 +1,25 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly + +package unix + +import ( + "unsafe" +) + +const raceenabled = false + +func raceAcquire(addr unsafe.Pointer) { +} + +func raceReleaseMerge(addr unsafe.Pointer) { +} + +func raceReadRange(addr unsafe.Pointer, len int) { +} + +func raceWriteRange(addr unsafe.Pointer, len int) { +} diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdents.go b/vendor/golang.org/x/sys/unix/readdirent_getdents.go new file mode 100644 index 00000000..3a90aa6d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/readdirent_getdents.go @@ -0,0 +1,12 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix dragonfly freebsd linux netbsd openbsd + +package unix + +// ReadDirent reads directory entries from fd and writes them into buf. +func ReadDirent(fd int, buf []byte) (n int, err error) { + return Getdents(fd, buf) +} diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go new file mode 100644 index 00000000..5fdae40b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go @@ -0,0 +1,19 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin + +package unix + +import "unsafe" + +// ReadDirent reads directory entries from fd and writes them into buf. +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // 64 bits should be enough. (32 bits isn't even on 386). Since the + // actual system call is getdirentries64, 64 is a good guess. + // TODO(rsc): Can we use a single global basep for all calls? + var base = (*uintptr)(unsafe.Pointer(new(uint64))) + return Getdirentries(fd, buf, base) +} diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go new file mode 100644 index 00000000..6079eb4a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go @@ -0,0 +1,36 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Socket control messages + +package unix + +import "unsafe" + +// UnixCredentials encodes credentials into a socket control message +// for sending to another process. This can be used for +// authentication. +func UnixCredentials(ucred *Ucred) []byte { + b := make([]byte, CmsgSpace(SizeofUcred)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_SOCKET + h.Type = SCM_CREDENTIALS + h.SetLen(CmsgLen(SizeofUcred)) + *((*Ucred)(cmsgData(h))) = *ucred + return b +} + +// ParseUnixCredentials decodes a socket control message that contains +// credentials in a Ucred structure. To receive such a message, the +// SO_PASSCRED option must be enabled on the socket. +func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { + if m.Header.Level != SOL_SOCKET { + return nil, EINVAL + } + if m.Header.Type != SCM_CREDENTIALS { + return nil, EINVAL + } + ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) + return &ucred, nil +} diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go new file mode 100644 index 00000000..062bcaba --- /dev/null +++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go @@ -0,0 +1,120 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// Socket control messages + +package unix + +import ( + "runtime" + "unsafe" +) + +// Round the length of a raw sockaddr up to align it properly. +func cmsgAlignOf(salen int) int { + salign := SizeofPtr + + switch runtime.GOOS { + case "aix": + // There is no alignment on AIX. + salign = 1 + case "darwin", "dragonfly", "solaris", "illumos": + // NOTE: It seems like 64-bit Darwin, DragonFly BSD, + // illumos, and Solaris kernels still require 32-bit + // aligned access to network subsystem. + if SizeofPtr == 8 { + salign = 4 + } + case "netbsd", "openbsd": + // NetBSD and OpenBSD armv7 require 64-bit alignment. + if runtime.GOARCH == "arm" { + salign = 8 + } + } + + return (salen + salign - 1) & ^(salign - 1) +} + +// CmsgLen returns the value to store in the Len field of the Cmsghdr +// structure, taking into account any necessary alignment. +func CmsgLen(datalen int) int { + return cmsgAlignOf(SizeofCmsghdr) + datalen +} + +// CmsgSpace returns the number of bytes an ancillary element with +// payload of the passed data length occupies. +func CmsgSpace(datalen int) int { + return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen) +} + +func cmsgData(h *Cmsghdr) unsafe.Pointer { + return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr))) +} + +// SocketControlMessage represents a socket control message. +type SocketControlMessage struct { + Header Cmsghdr + Data []byte +} + +// ParseSocketControlMessage parses b as an array of socket control +// messages. +func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) { + var msgs []SocketControlMessage + i := 0 + for i+CmsgLen(0) <= len(b) { + h, dbuf, err := socketControlMessageHeaderAndData(b[i:]) + if err != nil { + return nil, err + } + m := SocketControlMessage{Header: *h, Data: dbuf} + msgs = append(msgs, m) + i += cmsgAlignOf(int(h.Len)) + } + return msgs, nil +} + +func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) { + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + if h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) { + return nil, nil, EINVAL + } + return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil +} + +// UnixRights encodes a set of open file descriptors into a socket +// control message for sending to another process. +func UnixRights(fds ...int) []byte { + datalen := len(fds) * 4 + b := make([]byte, CmsgSpace(datalen)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_SOCKET + h.Type = SCM_RIGHTS + h.SetLen(CmsgLen(datalen)) + data := cmsgData(h) + for _, fd := range fds { + *(*int32)(data) = int32(fd) + data = unsafe.Pointer(uintptr(data) + 4) + } + return b +} + +// ParseUnixRights decodes a socket control message that contains an +// integer array of open file descriptors from another process. +func ParseUnixRights(m *SocketControlMessage) ([]int, error) { + if m.Header.Level != SOL_SOCKET { + return nil, EINVAL + } + if m.Header.Type != SCM_RIGHTS { + return nil, EINVAL + } + fds := make([]int, len(m.Data)>>2) + for i, j := 0, 0; i < len(m.Data); i += 4 { + fds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i]))) + j++ + } + return fds, nil +} diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go new file mode 100644 index 00000000..17fb6986 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/str.go @@ -0,0 +1,26 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +func itoa(val int) string { // do it here rather than with fmt to avoid dependency + if val < 0 { + return "-" + uitoa(uint(-val)) + } + return uitoa(uint(val)) +} + +func uitoa(val uint) string { + var buf [32]byte // big enough for int64 + i := len(buf) - 1 + for val >= 10 { + buf[i] = byte(val%10 + '0') + i-- + val /= 10 + } + buf[i] = byte(val + '0') + return string(buf[i:]) +} diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go new file mode 100644 index 00000000..fd4ee8eb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall.go @@ -0,0 +1,53 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// Package unix contains an interface to the low-level operating system +// primitives. OS details vary depending on the underlying system, and +// by default, godoc will display OS-specific documentation for the current +// system. If you want godoc to display OS documentation for another +// system, set $GOOS and $GOARCH to the desired system. For example, if +// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS +// to freebsd and $GOARCH to arm. +// +// The primary use of this package is inside other packages that provide a more +// portable interface to the system, such as "os", "time" and "net". Use +// those packages rather than this one if you can. +// +// For details of the functions and data types in this package consult +// the manuals for the appropriate operating system. +// +// These calls return err == nil to indicate success; otherwise +// err represents an operating system error describing the failure and +// holds a value of type syscall.Errno. +package unix // import "golang.org/x/sys/unix" + +import "strings" + +// ByteSliceFromString returns a NUL-terminated slice of bytes +// containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func ByteSliceFromString(s string) ([]byte, error) { + if strings.IndexByte(s, 0) != -1 { + return nil, EINVAL + } + a := make([]byte, len(s)+1) + copy(a, s) + return a, nil +} + +// BytePtrFromString returns a pointer to a NUL-terminated array of +// bytes containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func BytePtrFromString(s string) (*byte, error) { + a, err := ByteSliceFromString(s) + if err != nil { + return nil, err + } + return &a[0], nil +} + +// Single-word zero for use when we need a valid pointer to 0 bytes. +var _zero uintptr diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go new file mode 100644 index 00000000..9ad8a0d4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_aix.go @@ -0,0 +1,536 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix + +// Aix system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +package unix + +import "unsafe" + +/* + * Wrapped + */ + +//sys utimes(path string, times *[2]Timeval) (err error) +func Utimes(path string, tv []Timeval) error { + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) +func UtimesNano(path string, ts []Timespec) error { + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n > len(sa.raw.Path) { + return nil, 0, EINVAL + } + if n == len(sa.raw.Path) && name[0] != '@' { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = uint8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +//sys getcwd(buf []byte) (err error) + +const ImplementsGetwd = true + +func Getwd() (ret string, err error) { + for len := uint64(4096); ; len *= 2 { + b := make([]byte, len) + err := getcwd(b) + if err == nil { + i := 0 + for b[i] != 0 { + i++ + } + return string(b[0:i]), nil + } + if err != ERANGE { + return "", err + } + } +} + +func Getcwd(buf []byte) (n int, err error) { + err = getcwd(buf) + if err == nil { + i := 0 + for buf[i] != 0 { + i++ + } + n = i + 1 + } + return +} + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 16 on BSD. + if n < 0 || n > 1000 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +/* + * Socket + */ + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if nfd == -1 { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + // Recvmsg not implemented on AIX + sa := new(SockaddrUnix) + return -1, -1, -1, sa, ENOSYS +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + // SendmsgN not implemented on AIX + return -1, ENOSYS +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + + // Some versions of AIX have a bug in getsockname (see IV78655). + // We can't rely on sa.Len being set correctly. + n := SizeofSockaddrUnix - 3 // subtract leading Family, Len, terminating NUL. + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + n = i + break + } + } + + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Gettimeofday(tv *Timeval) (err error) { + err = gettimeofday(tv, nil) + return +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sys getdirent(fd int, buf []byte) (n int, err error) +func Getdents(fd int, buf []byte) (n int, err error) { + return getdirent(fd, buf) +} + +//sys wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + var r Pid_t + err = ERESTART + // AIX wait4 may return with ERESTART errno, while the processus is still + // active. + for err == ERESTART { + r, err = wait4(Pid_t(pid), &status, options, rusage) + } + wpid = int(r) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +/* + * Wait + */ + +type WaitStatus uint32 + +func (w WaitStatus) Stopped() bool { return w&0x40 != 0 } +func (w WaitStatus) StopSignal() Signal { + if !w.Stopped() { + return -1 + } + return Signal(w>>8) & 0xFF +} + +func (w WaitStatus) Exited() bool { return w&0xFF == 0 } +func (w WaitStatus) ExitStatus() int { + if !w.Exited() { + return -1 + } + return int((w >> 8) & 0xFF) +} + +func (w WaitStatus) Signaled() bool { return w&0x40 == 0 && w&0xFF != 0 } +func (w WaitStatus) Signal() Signal { + if !w.Signaled() { + return -1 + } + return Signal(w>>16) & 0xFF +} + +func (w WaitStatus) Continued() bool { return w&0x01000000 != 0 } + +func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 } + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX +// There is no way to create a custom fcntl and to keep //sys fcntl easily, +// Therefore, the programmer must call dup2 instead of fcntl in this case. + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +//sys FcntlInt(fd uintptr, cmd int, arg int) (r int,err error) = fcntl + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +//sys FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) = fcntl + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +/* + * Direct access + */ + +//sys Acct(path string) (err error) +//sys Chdir(path string) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(oldfd int) (fd int, err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Fsync(fd int) (err error) +// readdir_r +//sysnb Getpgid(pid int) (pgid int, err error) + +//sys Getpgrp() (pid int) + +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Kill(pid int, sig Signal) (err error) +//sys Klogctl(typ int, buf []byte) (n int, err error) = syslog +//sys Mkdir(dirfd int, path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) = open64 +//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Setdomainname(p []byte) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tv *Timeval) (err error) + +//sys Setuid(uid int) (err error) +//sys Setgid(uid int) (err error) + +//sys Setpriority(which int, who int, prio int) (err error) +//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) +//sys Sync() +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sysnb Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys readlen(fd int, p *byte, np int) (n int, err error) = read +//sys writelen(fd int, p *byte, np int) (n int, err error) = write + +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = posix_fadvise64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys fstat(fd int, stat *Stat_t) (err error) +//sys fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = pread64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys stat(path string, statptr *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys Truncate(path string, length int64) (err error) + +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) + +// In order to use msghdr structure with Control, Controllen, nrecvmsg and nsendmsg must be used. +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = nrecvmsg +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = nsendmsg + +//sys munmap(addr uintptr, length uintptr) (err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, advice int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys gettimeofday(tv *Timeval, tzp *Timezone) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) + +//sys Getsystemcfg(label int) (n uint64) + +//sys umount(target string) (err error) +func Unmount(target string, flags int) (err error) { + if flags != 0 { + // AIX doesn't have any flags for umount. + return ENOSYS + } + return umount(target) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go new file mode 100644 index 00000000..b3c8e330 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go @@ -0,0 +1,54 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc + +package unix + +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64 +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64 + +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Fstat(fd int, stat *Stat_t) error { + return fstat(fd, stat) +} + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error { + return fstatat(dirfd, path, stat, flags) +} + +func Lstat(path string, stat *Stat_t) error { + return lstat(path, stat) +} + +func Stat(path string, statptr *Stat_t) error { + return stat(path, statptr) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go new file mode 100644 index 00000000..9a6e0241 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go @@ -0,0 +1,85 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc64 + +package unix + +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek + +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64 + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int64(sec), Usec: int32(usec)} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// In order to only have Timespec structure, type of Stat_t's fields +// Atim, Mtim and Ctim is changed from StTimespec to Timespec during +// ztypes generation. +// On ppc64, Timespec.Nsec is an int64 while StTimespec.Nsec is an +// int32, so the fields' value must be modified. +func fixStatTimFields(stat *Stat_t) { + stat.Atim.Nsec >>= 32 + stat.Mtim.Nsec >>= 32 + stat.Ctim.Nsec >>= 32 +} + +func Fstat(fd int, stat *Stat_t) error { + err := fstat(fd, stat) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error { + err := fstatat(dirfd, path, stat, flags) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Lstat(path string, stat *Stat_t) error { + err := lstat(path, stat) + if err != nil { + return err + } + fixStatTimFields(stat) + return nil +} + +func Stat(path string, statptr *Stat_t) error { + err := stat(path, statptr) + if err != nil { + return err + } + fixStatTimFields(statptr) + return nil +} diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go new file mode 100644 index 00000000..3e667142 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go @@ -0,0 +1,616 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd netbsd openbsd + +// BSD system call wrappers shared by *BSD based systems +// including OS X (Darwin) and FreeBSD. Like the other +// syscall_*.go files it is compiled as Go code but also +// used as input to mksyscall which parses the //sys +// lines and generates system call stubs. + +package unix + +import ( + "runtime" + "syscall" + "unsafe" +) + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 16 on BSD. + if n < 0 || n > 1000 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + killed = 9 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Killed() bool { return w&mask == killed && syscall.Signal(w>>shift) != SIGKILL } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys Shutdown(s int, how int) (err error) + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet4 + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet6 + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) || n == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Index == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = sa.Len + sa.raw.Family = AF_LINK + sa.raw.Index = sa.Index + sa.raw.Type = sa.Type + sa.raw.Nlen = sa.Nlen + sa.raw.Alen = sa.Alen + sa.raw.Slen = sa.Slen + for i := 0; i < len(sa.raw.Data); i++ { + sa.raw.Data[i] = sa.Data[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_LINK: + pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa)) + sa := new(SockaddrDatalink) + sa.Len = pp.Len + sa.Family = pp.Family + sa.Index = pp.Index + sa.Type = pp.Type + sa.Nlen = pp.Nlen + sa.Alen = pp.Alen + sa.Slen = pp.Slen + for i := 0; i < len(sa.Data); i++ { + sa.Data[i] = pp.Data[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + if pp.Len < 2 || pp.Len > SizeofSockaddrUnix { + return nil, EINVAL + } + sa := new(SockaddrUnix) + + // Some BSDs include the trailing NUL in the length, whereas + // others do not. Work around this by subtracting the leading + // family and len. The path is then scanned to see if a NUL + // terminator still exists within the length. + n := int(pp.Len) - 2 // subtract leading Family, Len + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + // found early NUL; assume Len included the NUL + // or was overestimating. + n = i + break + } + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if err != nil { + return + } + if runtime.GOOS == "darwin" && len == 0 { + // Accepted socket has no address. + // This is likely due to a bug in xnu kernels, + // where instead of ECONNABORTED error socket + // is accepted, but has no address. + Close(nfd) + return 0, nil, ECONNABORTED + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be + // reported upstream. + if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { + rsa.Addr.Family = AF_UNIX + rsa.Addr.Len = SizeofSockaddrUnix + } + return anyToSockaddr(fd, &rsa) +} + +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + return "", err + } + return string(buf[:vallen-1]), nil +} + +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) + +func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) { + var change, event unsafe.Pointer + if len(changes) > 0 { + change = unsafe.Pointer(&changes[0]) + } + if len(events) > 0 { + event = unsafe.Pointer(&events[0]) + } + return kevent(kq, change, len(changes), event, len(events), timeout) +} + +// sysctlmib translates name to mib number and appends any additional args. +func sysctlmib(name string, args ...int) ([]_C_int, error) { + // Translate name to mib number. + mib, err := nametomib(name) + if err != nil { + return nil, err + } + + for _, a := range args { + mib = append(mib, _C_int(a)) + } + + return mib, nil +} + +func Sysctl(name string) (string, error) { + return SysctlArgs(name) +} + +func SysctlArgs(name string, args ...int) (string, error) { + buf, err := SysctlRaw(name, args...) + if err != nil { + return "", err + } + n := len(buf) + + // Throw away terminating NUL. + if n > 0 && buf[n-1] == '\x00' { + n-- + } + return string(buf[0:n]), nil +} + +func SysctlUint32(name string) (uint32, error) { + return SysctlUint32Args(name) +} + +func SysctlUint32Args(name string, args ...int) (uint32, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return 0, err + } + + n := uintptr(4) + buf := make([]byte, 4) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return 0, err + } + if n != 4 { + return 0, EIO + } + return *(*uint32)(unsafe.Pointer(&buf[0])), nil +} + +func SysctlUint64(name string, args ...int) (uint64, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return 0, err + } + + n := uintptr(8) + buf := make([]byte, 8) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return 0, err + } + if n != 8 { + return 0, EIO + } + return *(*uint64)(unsafe.Pointer(&buf[0])), nil +} + +func SysctlRaw(name string, args ...int) ([]byte, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return nil, err + } + + // Find size. + n := uintptr(0) + if err := sysctl(mib, nil, &n, nil, 0); err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Read into buffer of that size. + buf := make([]byte, n) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return nil, err + } + + // The actual call may return less than the original reported required + // size so ensure we deal with that. + return buf[:n], nil +} + +//sys utimes(path string, timeval *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + // Darwin setattrlist can set nanosecond timestamps + err := setattrlistTimes(path, ts, 0) + if err != ENOSYS { + return err + } + err = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // Not as efficient as it could be because Timespec and + // Timeval have different types in the different OSes + tv := [2]Timeval{ + NsecToTimeval(TimespecToNsec(ts[0])), + NsecToTimeval(TimespecToNsec(ts[1])), + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + err := setattrlistTimes(path, ts, flags) + if err != ENOSYS { + return err + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys futimes(fd int, timeval *[2]Timeval) (err error) + +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimes(fd, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +// TODO: wrap +// Acct(name nil-string) (err error) +// Gethostuuid(uuid *byte, timeout *Timespec) (err error) +// Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, behav int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go new file mode 100644 index 00000000..6a15cba6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,go1.12,!go1.13 + +package unix + +import ( + "unsafe" +) + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + // To implement this using libSystem we'd need syscall_syscallPtr for + // fdopendir. However, syscallPtr was only added in Go 1.13, so we fall + // back to raw syscalls for this func on Go 1.12. + var p unsafe.Pointer + if len(buf) > 0 { + p = unsafe.Pointer(&buf[0]) + } else { + p = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(p), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + return n, errnoErr(e1) + } + return n, nil +} diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go new file mode 100644 index 00000000..24960c38 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go @@ -0,0 +1,103 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,go1.13 + +package unix + +import "unsafe" + +//sys closedir(dir uintptr) (err error) +//sys readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) + +func fdopendir(fd int) (dir uintptr, err error) { + r0, _, e1 := syscall_syscallPtr(funcPC(libc_fdopendir_trampoline), uintptr(fd), 0, 0) + dir = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fdopendir_trampoline() + +//go:linkname libc_fdopendir libc_fdopendir +//go:cgo_import_dynamic libc_fdopendir fdopendir "/usr/lib/libSystem.B.dylib" + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + // Simulate Getdirentries using fdopendir/readdir_r/closedir. + const ptrSize = unsafe.Sizeof(uintptr(0)) + + // We store the number of entries to skip in the seek + // offset of fd. See issue #31368. + // It's not the full required semantics, but should handle the case + // of calling Getdirentries or ReadDirent repeatedly. + // It won't handle assigning the results of lseek to *basep, or handle + // the directory being edited underfoot. + skip, err := Seek(fd, 0, 1 /* SEEK_CUR */) + if err != nil { + return 0, err + } + + // We need to duplicate the incoming file descriptor + // because the caller expects to retain control of it, but + // fdopendir expects to take control of its argument. + // Just Dup'ing the file descriptor is not enough, as the + // result shares underlying state. Use Openat to make a really + // new file descriptor referring to the same directory. + fd2, err := Openat(fd, ".", O_RDONLY, 0) + if err != nil { + return 0, err + } + d, err := fdopendir(fd2) + if err != nil { + Close(fd2) + return 0, err + } + defer closedir(d) + + var cnt int64 + for { + var entry Dirent + var entryp *Dirent + e := readdir_r(d, &entry, &entryp) + if e != 0 { + return n, errnoErr(e) + } + if entryp == nil { + break + } + if skip > 0 { + skip-- + cnt++ + continue + } + reclen := int(entry.Reclen) + if reclen > len(buf) { + // Not enough room. Return for now. + // The counter will let us know where we should start up again. + // Note: this strategy for suspending in the middle and + // restarting is O(n^2) in the length of the directory. Oh well. + break + } + // Copy entry into return buffer. + s := struct { + ptr unsafe.Pointer + siz int + cap int + }{ptr: unsafe.Pointer(&entry), siz: reclen, cap: reclen} + copy(buf, *(*[]byte)(unsafe.Pointer(&s))) + buf = buf[reclen:] + n += reclen + cnt++ + } + // Set the seek offset of the input fd to record + // how many files we've already returned. + _, err = Seek(fd, cnt, 0 /* SEEK_SET */) + if err != nil { + return n, err + } + + return n, nil +} diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go new file mode 100644 index 00000000..c5018a38 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -0,0 +1,680 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Darwin system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "errors" + "syscall" + "unsafe" +) + +const ImplementsGetwd = true + +func Getwd() (string, error) { + buf := make([]byte, 2048) + attrs, err := getAttrList(".", attrList{CommonAttr: attrCmnFullpath}, buf, 0) + if err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 { + wd := string(attrs[0]) + // Sanity check that it's an absolute path and ends + // in a null byte, which we then strip. + if wd[0] == '/' && wd[len(wd)-1] == 0 { + return wd[:len(wd)-1], nil + } + } + // If pkg/os/getwd.go gets ENOTSUP, it will fall back to the + // slow algorithm. + return "", ENOTSUP +} + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) } +func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) } + +const ( + attrBitMapCount = 5 + attrCmnFullpath = 0x08000000 +) + +type attrList struct { + bitmapCount uint16 + _ uint16 + CommonAttr uint32 + VolAttr uint32 + DirAttr uint32 + FileAttr uint32 + Forkattr uint32 +} + +func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) { + if len(attrBuf) < 4 { + return nil, errors.New("attrBuf too small") + } + attrList.bitmapCount = attrBitMapCount + + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return nil, err + } + + if err := getattrlist(_p0, unsafe.Pointer(&attrList), unsafe.Pointer(&attrBuf[0]), uintptr(len(attrBuf)), int(options)); err != nil { + return nil, err + } + size := *(*uint32)(unsafe.Pointer(&attrBuf[0])) + + // dat is the section of attrBuf that contains valid data, + // without the 4 byte length header. All attribute offsets + // are relative to dat. + dat := attrBuf + if int(size) < len(attrBuf) { + dat = dat[:size] + } + dat = dat[4:] // remove length prefix + + for i := uint32(0); int(i) < len(dat); { + header := dat[i:] + if len(header) < 8 { + return attrs, errors.New("truncated attribute header") + } + datOff := *(*int32)(unsafe.Pointer(&header[0])) + attrLen := *(*uint32)(unsafe.Pointer(&header[4])) + if datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) { + return attrs, errors.New("truncated results; attrBuf too small") + } + end := uint32(datOff) + attrLen + attrs = append(attrs, dat[datOff:end]) + i = end + if r := i % 4; r != 0 { + i += (4 - r) + } + } + return +} + +//sys getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) + +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + +//sysnb pipe() (r int, w int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + return getfsstat(_p0, bufsize, flags) +} + +func xattrPointer(dest []byte) *byte { + // It's only when dest is set to NULL that the OS X implementations of + // getxattr() and listxattr() return the current sizes of the named attributes. + // An empty byte array is not sufficient. To maintain the same behaviour as the + // linux implementation, we wrap around the system calls and pass in NULL when + // dest is empty. + var destp *byte + if len(dest) > 0 { + destp = &dest[0] + } + return destp +} + +//sys getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + return getxattr(path, attr, xattrPointer(dest), len(dest), 0, 0) +} + +func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + return getxattr(link, attr, xattrPointer(dest), len(dest), 0, XATTR_NOFOLLOW) +} + +//sys fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + return fgetxattr(fd, attr, xattrPointer(dest), len(dest), 0, 0) +} + +//sys setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + // The parameters for the OS X implementation vary slightly compared to the + // linux system call, specifically the position parameter: + // + // linux: + // int setxattr( + // const char *path, + // const char *name, + // const void *value, + // size_t size, + // int flags + // ); + // + // darwin: + // int setxattr( + // const char *path, + // const char *name, + // void *value, + // size_t size, + // u_int32_t position, + // int options + // ); + // + // position specifies the offset within the extended attribute. In the + // current implementation, only the resource fork extended attribute makes + // use of this argument. For all others, position is reserved. We simply + // default to setting it to zero. + return setxattr(path, attr, xattrPointer(data), len(data), 0, flags) +} + +func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { + return setxattr(link, attr, xattrPointer(data), len(data), 0, flags|XATTR_NOFOLLOW) +} + +//sys fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) + +func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { + return fsetxattr(fd, attr, xattrPointer(data), len(data), 0, 0) +} + +//sys removexattr(path string, attr string, options int) (err error) + +func Removexattr(path string, attr string) (err error) { + // We wrap around and explicitly zero out the options provided to the OS X + // implementation of removexattr, we do so for interoperability with the + // linux variant. + return removexattr(path, attr, 0) +} + +func Lremovexattr(link string, attr string) (err error) { + return removexattr(link, attr, XATTR_NOFOLLOW) +} + +//sys fremovexattr(fd int, attr string, options int) (err error) + +func Fremovexattr(fd int, attr string) (err error) { + return fremovexattr(fd, attr, 0) +} + +//sys listxattr(path string, dest *byte, size int, options int) (sz int, err error) + +func Listxattr(path string, dest []byte) (sz int, err error) { + return listxattr(path, xattrPointer(dest), len(dest), 0) +} + +func Llistxattr(link string, dest []byte) (sz int, err error) { + return listxattr(link, xattrPointer(dest), len(dest), XATTR_NOFOLLOW) +} + +//sys flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + return flistxattr(fd, xattrPointer(dest), len(dest), 0) +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + _p0, err := BytePtrFromString(path) + if err != nil { + return err + } + + var attrList attrList + attrList.bitmapCount = ATTR_BIT_MAP_COUNT + attrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME + + // order is mtime, atime: the opposite of Chtimes + attributes := [2]Timespec{times[1], times[0]} + options := 0 + if flags&AT_SYMLINK_NOFOLLOW != 0 { + options |= FSOPT_NOFOLLOW + } + return setattrlist( + _p0, + unsafe.Pointer(&attrList), + unsafe.Pointer(&attributes), + unsafe.Sizeof(attributes), + options) +} + +//sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error { + // Darwin doesn't support SYS_UTIMENSAT + return ENOSYS +} + +/* + * Wrapped + */ + +//sys kill(pid int, signum int, posix int) (err error) + +func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) } + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + var length = int64(count) + err = sendfile(infd, outfd, *offset, &length, nil, 0) + written = int(length) + return +} + +//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exchangedata(path1 string, path2 string, options int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Getuid() (uid int) +//sysnb Issetugid() (tainted bool) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setprivexec(flag int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// sendfile +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go new file mode 100644 index 00000000..6b223f91 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go @@ -0,0 +1,9 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,386,!go1.12 + +package unix + +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go new file mode 100644 index 00000000..dd756e70 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go @@ -0,0 +1,69 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,darwin + +package unix + +import ( + "syscall" +) + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = int32(sec) + tv.Usec = int32(usec) + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/386 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go new file mode 100644 index 00000000..68ebd6fa --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go @@ -0,0 +1,9 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,amd64,!go1.12 + +package unix + +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go new file mode 100644 index 00000000..7f148c42 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go @@ -0,0 +1,69 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,darwin + +package unix + +import ( + "syscall" +) + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = sec + tv.Usec = usec + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go new file mode 100644 index 00000000..c81510da --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go @@ -0,0 +1,11 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,386,!go1.12 + +package unix + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return 0, ENOSYS +} diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go new file mode 100644 index 00000000..58be02e7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go @@ -0,0 +1,72 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "syscall" +) + +func ptrace(request int, pid int, addr uintptr, data uintptr) error { + return ENOTSUP +} + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) error { + return ENOTSUP +} + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = int32(sec) + tv.Usec = int32(usec) + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/arm the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go new file mode 100644 index 00000000..01d45040 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go @@ -0,0 +1,11 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,arm64,!go1.12 + +package unix + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return 0, ENOSYS +} diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go new file mode 100644 index 00000000..1ee931f9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go @@ -0,0 +1,74 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,darwin + +package unix + +import ( + "syscall" +) + +func ptrace(request int, pid int, addr uintptr, data uintptr) error { + return ENOTSUP +} + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) error { + return ENOTSUP +} + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = sec + tv.Usec = usec + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/arm64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go new file mode 100644 index 00000000..f34c86c8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go @@ -0,0 +1,33 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,go1.12 + +package unix + +import "unsafe" + +// Implemented in the runtime package (runtime/sys_darwin.go) +func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // 32-bit only +func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscallPtr(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) + +//go:linkname syscall_syscall syscall.syscall +//go:linkname syscall_syscall6 syscall.syscall6 +//go:linkname syscall_syscall6X syscall.syscall6X +//go:linkname syscall_syscall9 syscall.syscall9 +//go:linkname syscall_rawSyscall syscall.rawSyscall +//go:linkname syscall_rawSyscall6 syscall.rawSyscall6 +//go:linkname syscall_syscallPtr syscall.syscallPtr + +// Find the entry point for f. See comments in runtime/proc.go for the +// function of the same name. +//go:nosplit +func funcPC(f func()) uintptr { + return **(**uintptr)(unsafe.Pointer(&f)) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go new file mode 100644 index 00000000..8c8d5029 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go @@ -0,0 +1,521 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// DragonFly BSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import "unsafe" + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + namlen, ok := direntNamlen(buf) + if !ok { + return 0, false + } + return (16 + namlen + 1 + 7) &^ 7, true +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +//sysnb pipe() (r int, w int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pread(fd int, p []byte, offset int64) (n int, err error) { + return extpread(fd, p, 0, offset) +} + +//sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return extpwrite(fd, p, 0, offset) +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error { + err := sysctl(mib, old, oldlen, nil, 0) + if err != nil { + // Utsname members on Dragonfly are only 32 bytes and + // the syscall returns ENOMEM in case the actual value + // is longer. + if err == ENOMEM { + err = nil + } + } + return err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctlUname(mib, &uname.Sysname[0], &n); err != nil { + return err + } + uname.Sysname[unsafe.Sizeof(uname.Sysname)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctlUname(mib, &uname.Nodename[0], &n); err != nil { + return err + } + uname.Nodename[unsafe.Sizeof(uname.Nodename)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctlUname(mib, &uname.Release[0], &n); err != nil { + return err + } + uname.Release[unsafe.Sizeof(uname.Release)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctlUname(mib, &uname.Version[0], &n); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctlUname(mib, &uname.Machine[0], &n); err != nil { + return err + } + uname.Machine[unsafe.Sizeof(uname.Machine)-1] = 0 + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdents(fd int, buf []byte) (n int, err error) +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(fd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + * TODO(jsing): Update this list for DragonFly. + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Getxattr +// Fgetxattr +// Setxattr +// Fsetxattr +// Removexattr +// Fremovexattr +// Listxattr +// Flistxattr +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go new file mode 100644 index 00000000..a6b4830a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go @@ -0,0 +1,56 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,dragonfly + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go new file mode 100644 index 00000000..25ac9340 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -0,0 +1,879 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// FreeBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "sync" + "unsafe" +) + +const ( + SYS_FSTAT_FREEBSD12 = 551 // { int fstat(int fd, _Out_ struct stat *sb); } + SYS_FSTATAT_FREEBSD12 = 552 // { int fstatat(int fd, _In_z_ char *path, \ + SYS_GETDIRENTRIES_FREEBSD12 = 554 // { ssize_t getdirentries(int fd, \ + SYS_STATFS_FREEBSD12 = 555 // { int statfs(_In_z_ char *path, \ + SYS_FSTATFS_FREEBSD12 = 556 // { int fstatfs(int fd, \ + SYS_GETFSSTAT_FREEBSD12 = 557 // { int getfsstat( \ + SYS_MKNODAT_FREEBSD12 = 559 // { int mknodat(int fd, _In_z_ char *path, \ +) + +// See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html. +var ( + osreldateOnce sync.Once + osreldate uint32 +) + +// INO64_FIRST from /usr/src/lib/libc/sys/compat-ino64.h +const _ino64First = 1200031 + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +func supportsABI(ver uint32) bool { + osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") }) + return osreldate >= ver +} + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +func Pipe(p []int) (err error) { + return Pipe2(p, 0) +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) error { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err := pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return err +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, errno +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var ( + _p0 unsafe.Pointer + bufsize uintptr + oldBuf []statfs_freebsd11_t + needsConvert bool + ) + + if len(buf) > 0 { + if supportsABI(_ino64First) { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } else { + n := len(buf) + oldBuf = make([]statfs_freebsd11_t, n) + _p0 = unsafe.Pointer(&oldBuf[0]) + bufsize = unsafe.Sizeof(statfs_freebsd11_t{}) * uintptr(n) + needsConvert = true + } + } + var sysno uintptr = SYS_GETFSSTAT + if supportsABI(_ino64First) { + sysno = SYS_GETFSSTAT_FREEBSD12 + } + r0, _, e1 := Syscall(sysno, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + if e1 == 0 && needsConvert { + for i := range oldBuf { + buf[i].convertFrom(&oldBuf[i]) + } + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Stat(path string, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(AT_FDCWD, path, st, 0) + } + err = stat(path, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Lstat(path string, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW) + } + err = lstat(path, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Fstat(fd int, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstat_freebsd12(fd, st) + } + err = fstat(fd, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Fstatat(fd int, path string, st *Stat_t, flags int) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(fd, path, st, flags) + } + err = fstatat(fd, path, &oldStat, flags) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Statfs(path string, st *Statfs_t) (err error) { + var oldStatfs statfs_freebsd11_t + if supportsABI(_ino64First) { + return statfs_freebsd12(path, st) + } + err = statfs(path, &oldStatfs) + if err != nil { + return err + } + + st.convertFrom(&oldStatfs) + return nil +} + +func Fstatfs(fd int, st *Statfs_t) (err error) { + var oldStatfs statfs_freebsd11_t + if supportsABI(_ino64First) { + return fstatfs_freebsd12(fd, st) + } + err = fstatfs(fd, &oldStatfs) + if err != nil { + return err + } + + st.convertFrom(&oldStatfs) + return nil +} + +func Getdents(fd int, buf []byte) (n int, err error) { + return Getdirentries(fd, buf, nil) +} + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + if supportsABI(_ino64First) { + if basep == nil || unsafe.Sizeof(*basep) == 8 { + return getdirentries_freebsd12(fd, buf, (*uint64)(unsafe.Pointer(basep))) + } + // The freebsd12 syscall needs a 64-bit base. On 32-bit machines + // we can't just use the basep passed in. See #32498. + var base uint64 = uint64(*basep) + n, err = getdirentries_freebsd12(fd, buf, &base) + *basep = uintptr(base) + if base>>32 != 0 { + // We can't stuff the base back into a uintptr, so any + // future calls would be suspect. Generate an error. + // EIO is allowed by getdirentries. + err = EIO + } + return + } + + // The old syscall entries are smaller than the new. Use 1/4 of the original + // buffer size rounded up to DIRBLKSIZ (see /usr/src/lib/libc/sys/getdirentries.c). + oldBufLen := roundup(len(buf)/4, _dirblksiz) + oldBuf := make([]byte, oldBufLen) + n, err = getdirentries(fd, oldBuf, basep) + if err == nil && n > 0 { + n = convertFromDirents11(buf, oldBuf[:n]) + } + return +} + +func Mknod(path string, mode uint32, dev uint64) (err error) { + var oldDev int + if supportsABI(_ino64First) { + return mknodat_freebsd12(AT_FDCWD, path, mode, dev) + } + oldDev = int(dev) + return mknod(path, mode, oldDev) +} + +func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { + var oldDev int + if supportsABI(_ino64First) { + return mknodat_freebsd12(fd, path, mode, dev) + } + oldDev = int(dev) + return mknodat(fd, path, mode, oldDev) +} + +// round x to the nearest multiple of y, larger or equal to x. +// +// from /usr/include/sys/param.h Macros for counting and rounding. +// #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) +func roundup(x, y int) int { + return ((x + y - 1) / y) * y +} + +func (s *Stat_t) convertFrom(old *stat_freebsd11_t) { + *s = Stat_t{ + Dev: uint64(old.Dev), + Ino: uint64(old.Ino), + Nlink: uint64(old.Nlink), + Mode: old.Mode, + Uid: old.Uid, + Gid: old.Gid, + Rdev: uint64(old.Rdev), + Atim: old.Atim, + Mtim: old.Mtim, + Ctim: old.Ctim, + Btim: old.Btim, + Size: old.Size, + Blocks: old.Blocks, + Blksize: old.Blksize, + Flags: old.Flags, + Gen: uint64(old.Gen), + } +} + +func (s *Statfs_t) convertFrom(old *statfs_freebsd11_t) { + *s = Statfs_t{ + Version: _statfsVersion, + Type: old.Type, + Flags: old.Flags, + Bsize: old.Bsize, + Iosize: old.Iosize, + Blocks: old.Blocks, + Bfree: old.Bfree, + Bavail: old.Bavail, + Files: old.Files, + Ffree: old.Ffree, + Syncwrites: old.Syncwrites, + Asyncwrites: old.Asyncwrites, + Syncreads: old.Syncreads, + Asyncreads: old.Asyncreads, + // Spare + Namemax: old.Namemax, + Owner: old.Owner, + Fsid: old.Fsid, + // Charspare + // Fstypename + // Mntfromname + // Mntonname + } + + sl := old.Fstypename[:] + n := clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Fstypename[:], old.Fstypename[:n]) + + sl = old.Mntfromname[:] + n = clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Mntfromname[:], old.Mntfromname[:n]) + + sl = old.Mntonname[:] + n = clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Mntonname[:], old.Mntonname[:n]) +} + +func convertFromDirents11(buf []byte, old []byte) int { + const ( + fixedSize = int(unsafe.Offsetof(Dirent{}.Name)) + oldFixedSize = int(unsafe.Offsetof(dirent_freebsd11{}.Name)) + ) + + dstPos := 0 + srcPos := 0 + for dstPos+fixedSize < len(buf) && srcPos+oldFixedSize < len(old) { + dstDirent := (*Dirent)(unsafe.Pointer(&buf[dstPos])) + srcDirent := (*dirent_freebsd11)(unsafe.Pointer(&old[srcPos])) + + reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8) + if dstPos+reclen > len(buf) { + break + } + + dstDirent.Fileno = uint64(srcDirent.Fileno) + dstDirent.Off = 0 + dstDirent.Reclen = uint16(reclen) + dstDirent.Type = srcDirent.Type + dstDirent.Pad0 = 0 + dstDirent.Namlen = uint16(srcDirent.Namlen) + dstDirent.Pad1 = 0 + + copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen]) + padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen] + for i := range padding { + padding[i] = 0 + } + + dstPos += int(dstDirent.Reclen) + srcPos += int(srcDirent.Reclen) + } + + return dstPos +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +//sys ptrace(request int, pid int, addr uintptr, data int) (err error) + +func PtraceAttach(pid int) (err error) { + return ptrace(PTRACE_ATTACH, pid, 0, 0) +} + +func PtraceCont(pid int, signal int) (err error) { + return ptrace(PTRACE_CONT, pid, 1, signal) +} + +func PtraceDetach(pid int) (err error) { + return ptrace(PTRACE_DETACH, pid, 1, 0) +} + +func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) { + return ptrace(PTRACE_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0) +} + +func PtraceGetFsBase(pid int, fsbase *int64) (err error) { + return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0) +} + +func PtraceGetRegs(pid int, regsout *Reg) (err error) { + return ptrace(PTRACE_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0) +} + +func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { + ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint(countin)} + err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err +} + +func PtraceLwpEvents(pid int, enable int) (err error) { + return ptrace(PTRACE_LWPEVENTS, pid, 0, enable) +} + +func PtraceLwpInfo(pid int, info uintptr) (err error) { + return ptrace(PTRACE_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{}))) +} + +func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { + return PtraceIO(PIOD_READ_D, pid, addr, out, SizeofLong) +} + +func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { + return PtraceIO(PIOD_READ_I, pid, addr, out, SizeofLong) +} + +func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { + return PtraceIO(PIOD_WRITE_D, pid, addr, data, SizeofLong) +} + +func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { + return PtraceIO(PIOD_WRITE_I, pid, addr, data, SizeofLong) +} + +func PtraceSetRegs(pid int, regs *Reg) (err error) { + return ptrace(PTRACE_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0) +} + +func PtraceSingleStep(pid int) (err error) { + return ptrace(PTRACE_SINGLESTEP, pid, 1, 0) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys CapEnter() (err error) +//sys capRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET +//sys capRightsLimit(fd int, rightsp *CapRights) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) +//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) +//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) +//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys fstat(fd int, stat *stat_freebsd11_t) (err error) +//sys fstat_freebsd12(fd int, stat *Stat_t) (err error) +//sys fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) +//sys fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) +//sys fstatfs(fd int, stat *statfs_freebsd11_t) (err error) +//sys fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys lstat(path string, stat *stat_freebsd11_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys mknod(path string, mode uint32, dev int) (err error) +//sys mknodat(fd int, path string, mode uint32, dev int) (err error) +//sys mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys stat(path string, stat *stat_freebsd11_t) (err error) +//sys statfs(path string, stat *statfs_freebsd11_t) (err error) +//sys statfs_freebsd12(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdents +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go new file mode 100644 index 00000000..dcc56457 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go @@ -0,0 +1,56 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go new file mode 100644 index 00000000..321c3bac --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go @@ -0,0 +1,56 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go new file mode 100644 index 00000000..69770083 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go @@ -0,0 +1,56 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go new file mode 100644 index 00000000..dbbbfd60 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go @@ -0,0 +1,56 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go new file mode 100644 index 00000000..ebf3195b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -0,0 +1,1973 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Linux system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +package unix + +import ( + "encoding/binary" + "runtime" + "syscall" + "unsafe" +) + +/* + * Wrapped + */ + +func Access(path string, mode uint32) (err error) { + return Faccessat(AT_FDCWD, path, mode, 0) +} + +func Chmod(path string, mode uint32) (err error) { + return Fchmodat(AT_FDCWD, path, mode, 0) +} + +func Chown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, 0) +} + +func Creat(path string, mode uint32) (fd int, err error) { + return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) +} + +//sys FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) +//sys fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) + +func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (err error) { + if pathname == "" { + return fanotifyMark(fd, flags, mask, dirFd, nil) + } + p, err := BytePtrFromString(pathname) + if err != nil { + return err + } + return fanotifyMark(fd, flags, mask, dirFd, p) +} + +//sys fchmodat(dirfd int, path string, mode uint32) (err error) + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + // Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior + // and check the flags. Otherwise the mode would be applied to the symlink + // destination which is not what the user expects. + if flags&^AT_SYMLINK_NOFOLLOW != 0 { + return EINVAL + } else if flags&AT_SYMLINK_NOFOLLOW != 0 { + return EOPNOTSUPP + } + return fchmodat(dirfd, path, mode) +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlRetInt performs an ioctl operation specified by req on a device +// associated with opened file descriptor fd, and returns a non-negative +// integer that is returned by the ioctl syscall. +func IoctlRetInt(fd int, req uint) (int, error) { + ret, _, err := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), 0) + if err != 0 { + return 0, err + } + return int(ret), nil +} + +// IoctlSetPointerInt performs an ioctl operation which sets an +// integer value on fd, using the specified request number. The ioctl +// argument is called with a pointer to the integer value, rather than +// passing the integer value directly. +func IoctlSetPointerInt(fd int, req uint, value int) error { + v := int32(value) + return ioctl(fd, req, uintptr(unsafe.Pointer(&v))) +} + +func IoctlSetRTCTime(fd int, value *RTCTime) error { + err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +func IoctlGetUint32(fd int, req uint) (uint32, error) { + var value uint32 + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetRTCTime(fd int) (*RTCTime, error) { + var value RTCTime + err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) + +func Link(oldpath string, newpath string) (err error) { + return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0) +} + +func Mkdir(path string, mode uint32) (err error) { + return Mkdirat(AT_FDCWD, path, mode) +} + +func Mknod(path string, mode uint32, dev int) (err error) { + return Mknodat(AT_FDCWD, path, mode, dev) +} + +func Open(path string, mode int, perm uint32) (fd int, err error) { + return openat(AT_FDCWD, path, mode|O_LARGEFILE, perm) +} + +//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + return openat(dirfd, path, flags|O_LARGEFILE, mode) +} + +//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + if len(fds) == 0 { + return ppoll(nil, 0, timeout, sigmask) + } + return ppoll(&fds[0], len(fds), timeout, sigmask) +} + +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) + +func Readlink(path string, buf []byte) (n int, err error) { + return Readlinkat(AT_FDCWD, path, buf) +} + +func Rename(oldpath string, newpath string) (err error) { + return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath) +} + +func Rmdir(path string) error { + return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR) +} + +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) + +func Symlink(oldpath string, newpath string) (err error) { + return Symlinkat(oldpath, AT_FDCWD, newpath) +} + +func Unlink(path string) error { + return Unlinkat(AT_FDCWD, path, 0) +} + +//sys Unlinkat(dirfd int, path string, flags int) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + var ts [2]Timespec + ts[0] = NsecToTimespec(TimevalToNsec(tv[0])) + ts[1] = NsecToTimespec(TimevalToNsec(tv[1])) + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // If the utimensat syscall isn't available (utimensat was added to Linux + // in 2.6.22, Released, 8 July 2007) then fall back to utimes + var tv [2]Timeval + for i := 0; i < 2; i++ { + tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +func Futimesat(dirfd int, path string, tv []Timeval) error { + if tv == nil { + return futimesat(dirfd, path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func Futimes(fd int, tv []Timeval) (err error) { + // Believe it or not, this is the best we can do on Linux + // (and is what glibc does). + return Utimes("/proc/self/fd/"+itoa(fd), tv) +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + n, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + // Getcwd returns the number of bytes written to buf, including the NUL. + if n < 1 || n > len(buf) || buf[n-1] != 0 { + return "", EINVAL + } + return string(buf[0 : n-1]), nil +} + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 1<<16 on Linux. + if n < 0 || n > 1<<20 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +type WaitStatus uint32 + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. At least that's the idea. +// There are various irregularities. For example, the +// "continued" status is 0xFFFF, distinguishing itself +// from stopped via the core dump bit. + +const ( + mask = 0x7F + core = 0x80 + exited = 0x00 + stopped = 0x7F + shift = 8 +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited } + +func (w WaitStatus) Stopped() bool { return w&0xFF == stopped } + +func (w WaitStatus) Continued() bool { return w == 0xFFFF } + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) ExitStatus() int { + if !w.Exited() { + return -1 + } + return int(w>>shift) & 0xFF +} + +func (w WaitStatus) Signal() syscall.Signal { + if !w.Signaled() { + return -1 + } + return syscall.Signal(w & mask) +} + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { + if w.StopSignal() != SIGTRAP { + return -1 + } + return int(w>>shift) >> 8 +} + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +func Mkfifo(path string, mode uint32) error { + return Mknod(path, mode|S_IFIFO, 0) +} + +func Mkfifoat(dirfd int, path string, mode uint32) error { + return Mknodat(dirfd, path, mode|S_IFIFO, 0) +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +// SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets. +type SockaddrLinklayer struct { + Protocol uint16 + Ifindex int + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]byte + raw RawSockaddrLinklayer +} + +func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_PACKET + sa.raw.Protocol = sa.Protocol + sa.raw.Ifindex = int32(sa.Ifindex) + sa.raw.Hatype = sa.Hatype + sa.raw.Pkttype = sa.Pkttype + sa.raw.Halen = sa.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil +} + +// SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets. +type SockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 + raw RawSockaddrNetlink +} + +func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_NETLINK + sa.raw.Pad = sa.Pad + sa.raw.Pid = sa.Pid + sa.raw.Groups = sa.Groups + return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil +} + +// SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the HCI protocol. +type SockaddrHCI struct { + Dev uint16 + Channel uint16 + raw RawSockaddrHCI +} + +func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + sa.raw.Dev = sa.Dev + sa.raw.Channel = sa.Channel + return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil +} + +// SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the L2CAP protocol. +type SockaddrL2 struct { + PSM uint16 + CID uint16 + Addr [6]uint8 + AddrType uint8 + raw RawSockaddrL2 +} + +func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm)) + psm[0] = byte(sa.PSM) + psm[1] = byte(sa.PSM >> 8) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i] + } + cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid)) + cid[0] = byte(sa.CID) + cid[1] = byte(sa.CID >> 8) + sa.raw.Bdaddr_type = sa.AddrType + return unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil +} + +// SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the RFCOMM protocol. +// +// Server example: +// +// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +// _ = unix.Bind(fd, &unix.SockaddrRFCOMM{ +// Channel: 1, +// Addr: [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00 +// }) +// _ = Listen(fd, 1) +// nfd, sa, _ := Accept(fd) +// fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd) +// Read(nfd, buf) +// +// Client example: +// +// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +// _ = Connect(fd, &SockaddrRFCOMM{ +// Channel: 1, +// Addr: [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11 +// }) +// Write(fd, []byte(`hello`)) +type SockaddrRFCOMM struct { + // Addr represents a bluetooth address, byte ordering is little-endian. + Addr [6]uint8 + + // Channel is a designated bluetooth channel, only 1-30 are available for use. + // Since Linux 2.6.7 and further zero value is the first available channel. + Channel uint8 + + raw RawSockaddrRFCOMM +} + +func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + sa.raw.Channel = sa.Channel + sa.raw.Bdaddr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, nil +} + +// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets. +// The RxID and TxID fields are used for transport protocol addressing in +// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with +// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning. +// +// The SockaddrCAN struct must be bound to the socket file descriptor +// using Bind before the CAN socket can be used. +// +// // Read one raw CAN frame +// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) +// addr := &SockaddrCAN{Ifindex: index} +// Bind(fd, addr) +// frame := make([]byte, 16) +// Read(fd, frame) +// +// The full SocketCAN documentation can be found in the linux kernel +// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt +type SockaddrCAN struct { + Ifindex int + RxID uint32 + TxID uint32 + raw RawSockaddrCAN +} + +func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_CAN + sa.raw.Ifindex = int32(sa.Ifindex) + rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i] = rx[i] + } + tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i+4] = tx[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil +} + +// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets. +// SockaddrALG enables userspace access to the Linux kernel's cryptography +// subsystem. The Type and Name fields specify which type of hash or cipher +// should be used with a given socket. +// +// To create a file descriptor that provides access to a hash or cipher, both +// Bind and Accept must be used. Once the setup process is complete, input +// data can be written to the socket, processed by the kernel, and then read +// back as hash output or ciphertext. +// +// Here is an example of using an AF_ALG socket with SHA1 hashing. +// The initial socket setup process is as follows: +// +// // Open a socket to perform SHA1 hashing. +// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) +// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} +// unix.Bind(fd, addr) +// // Note: unix.Accept does not work at this time; must invoke accept() +// // manually using unix.Syscall. +// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0) +// +// Once a file descriptor has been returned from Accept, it may be used to +// perform SHA1 hashing. The descriptor is not safe for concurrent use, but +// may be re-used repeatedly with subsequent Write and Read operations. +// +// When hashing a small byte slice or string, a single Write and Read may +// be used: +// +// // Assume hashfd is already configured using the setup process. +// hash := os.NewFile(hashfd, "sha1") +// // Hash an input string and read the results. Each Write discards +// // previous hash state. Read always reads the current state. +// b := make([]byte, 20) +// for i := 0; i < 2; i++ { +// io.WriteString(hash, "Hello, world.") +// hash.Read(b) +// fmt.Println(hex.EncodeToString(b)) +// } +// // Output: +// // 2ae01472317d1935a84797ec1983ae243fc6aa28 +// // 2ae01472317d1935a84797ec1983ae243fc6aa28 +// +// For hashing larger byte slices, or byte streams such as those read from +// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update +// the hash digest instead of creating a new one for a given chunk and finalizing it. +// +// // Assume hashfd and addr are already configured using the setup process. +// hash := os.NewFile(hashfd, "sha1") +// // Hash the contents of a file. +// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz") +// b := make([]byte, 4096) +// for { +// n, err := f.Read(b) +// if err == io.EOF { +// break +// } +// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr) +// } +// hash.Read(b) +// fmt.Println(hex.EncodeToString(b)) +// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5 +// +// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html. +type SockaddrALG struct { + Type string + Name string + Feature uint32 + Mask uint32 + raw RawSockaddrALG +} + +func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) { + // Leave room for NUL byte terminator. + if len(sa.Type) > 13 { + return nil, 0, EINVAL + } + if len(sa.Name) > 63 { + return nil, 0, EINVAL + } + + sa.raw.Family = AF_ALG + sa.raw.Feat = sa.Feature + sa.raw.Mask = sa.Mask + + typ, err := ByteSliceFromString(sa.Type) + if err != nil { + return nil, 0, err + } + name, err := ByteSliceFromString(sa.Name) + if err != nil { + return nil, 0, err + } + + copy(sa.raw.Type[:], typ) + copy(sa.raw.Name[:], name) + + return unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil +} + +// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. +// SockaddrVM provides access to Linux VM sockets: a mechanism that enables +// bidirectional communication between a hypervisor and its guest virtual +// machines. +type SockaddrVM struct { + // CID and Port specify a context ID and port address for a VM socket. + // Guests have a unique CID, and hosts may have a well-known CID of: + // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. + // - VMADDR_CID_HOST: refers to other processes on the host. + CID uint32 + Port uint32 + raw RawSockaddrVM +} + +func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_VSOCK + sa.raw.Port = sa.Port + sa.raw.Cid = sa.CID + + return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil +} + +type SockaddrXDP struct { + Flags uint16 + Ifindex uint32 + QueueID uint32 + SharedUmemFD uint32 + raw RawSockaddrXDP +} + +func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_XDP + sa.raw.Flags = sa.Flags + sa.raw.Ifindex = sa.Ifindex + sa.raw.Queue_id = sa.QueueID + sa.raw.Shared_umem_fd = sa.SharedUmemFD + + return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil +} + +// This constant mirrors the #define of PX_PROTO_OE in +// linux/if_pppox.h. We're defining this by hand here instead of +// autogenerating through mkerrors.sh because including +// linux/if_pppox.h causes some declaration conflicts with other +// includes (linux/if_pppox.h includes linux/in.h, which conflicts +// with netinet/in.h). Given that we only need a single zero constant +// out of that file, it's cleaner to just define it by hand here. +const px_proto_oe = 0 + +type SockaddrPPPoE struct { + SID uint16 + Remote []byte + Dev string + raw RawSockaddrPPPoX +} + +func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) { + if len(sa.Remote) != 6 { + return nil, 0, EINVAL + } + if len(sa.Dev) > IFNAMSIZ-1 { + return nil, 0, EINVAL + } + + *(*uint16)(unsafe.Pointer(&sa.raw[0])) = AF_PPPOX + // This next field is in host-endian byte order. We can't use the + // same unsafe pointer cast as above, because this value is not + // 32-bit aligned and some architectures don't allow unaligned + // access. + // + // However, the value of px_proto_oe is 0, so we can use + // encoding/binary helpers to write the bytes without worrying + // about the ordering. + binary.BigEndian.PutUint32(sa.raw[2:6], px_proto_oe) + // This field is deliberately big-endian, unlike the previous + // one. The kernel expects SID to be in network byte order. + binary.BigEndian.PutUint16(sa.raw[6:8], sa.SID) + copy(sa.raw[8:14], sa.Remote) + for i := 14; i < 14+IFNAMSIZ; i++ { + sa.raw[i] = 0 + } + copy(sa.raw[14:], sa.Dev) + return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil +} + +// SockaddrTIPC implements the Sockaddr interface for AF_TIPC type sockets. +// For more information on TIPC, see: http://tipc.sourceforge.net/. +type SockaddrTIPC struct { + // Scope is the publication scopes when binding service/service range. + // Should be set to TIPC_CLUSTER_SCOPE or TIPC_NODE_SCOPE. + Scope int + + // Addr is the type of address used to manipulate a socket. Addr must be + // one of: + // - *TIPCSocketAddr: "id" variant in the C addr union + // - *TIPCServiceRange: "nameseq" variant in the C addr union + // - *TIPCServiceName: "name" variant in the C addr union + // + // If nil, EINVAL will be returned when the structure is used. + Addr TIPCAddr + + raw RawSockaddrTIPC +} + +// TIPCAddr is implemented by types that can be used as an address for +// SockaddrTIPC. It is only implemented by *TIPCSocketAddr, *TIPCServiceRange, +// and *TIPCServiceName. +type TIPCAddr interface { + tipcAddrtype() uint8 + tipcAddr() [12]byte +} + +func (sa *TIPCSocketAddr) tipcAddr() [12]byte { + var out [12]byte + copy(out[:], (*(*[unsafe.Sizeof(TIPCSocketAddr{})]byte)(unsafe.Pointer(sa)))[:]) + return out +} + +func (sa *TIPCSocketAddr) tipcAddrtype() uint8 { return TIPC_SOCKET_ADDR } + +func (sa *TIPCServiceRange) tipcAddr() [12]byte { + var out [12]byte + copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceRange{})]byte)(unsafe.Pointer(sa)))[:]) + return out +} + +func (sa *TIPCServiceRange) tipcAddrtype() uint8 { return TIPC_SERVICE_RANGE } + +func (sa *TIPCServiceName) tipcAddr() [12]byte { + var out [12]byte + copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceName{})]byte)(unsafe.Pointer(sa)))[:]) + return out +} + +func (sa *TIPCServiceName) tipcAddrtype() uint8 { return TIPC_SERVICE_ADDR } + +func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Addr == nil { + return nil, 0, EINVAL + } + + sa.raw.Family = AF_TIPC + sa.raw.Scope = int8(sa.Scope) + sa.raw.Addrtype = sa.Addr.tipcAddrtype() + sa.raw.Addr = sa.Addr.tipcAddr() + + return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_NETLINK: + pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa)) + sa := new(SockaddrNetlink) + sa.Family = pp.Family + sa.Pad = pp.Pad + sa.Pid = pp.Pid + sa.Groups = pp.Groups + return sa, nil + + case AF_PACKET: + pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa)) + sa := new(SockaddrLinklayer) + sa.Protocol = pp.Protocol + sa.Ifindex = int(pp.Ifindex) + sa.Hatype = pp.Hatype + sa.Pkttype = pp.Pkttype + sa.Halen = pp.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + if pp.Path[0] == 0 { + // "Abstract" Unix domain socket. + // Rewrite leading NUL as @ for textual display. + // (This is the standard convention.) + // Not friendly to overwrite in place, + // but the callers below don't care. + pp.Path[0] = '@' + } + + // Assume path ends at NUL. + // This is not technically the Linux semantics for + // abstract Unix domain sockets--they are supposed + // to be uninterpreted fixed-size binary blobs--but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_VSOCK: + pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) + sa := &SockaddrVM{ + CID: pp.Cid, + Port: pp.Port, + } + return sa, nil + case AF_BLUETOOTH: + proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) + if err != nil { + return nil, err + } + // only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections + switch proto { + case BTPROTO_L2CAP: + pp := (*RawSockaddrL2)(unsafe.Pointer(rsa)) + sa := &SockaddrL2{ + PSM: pp.Psm, + CID: pp.Cid, + Addr: pp.Bdaddr, + AddrType: pp.Bdaddr_type, + } + return sa, nil + case BTPROTO_RFCOMM: + pp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa)) + sa := &SockaddrRFCOMM{ + Channel: pp.Channel, + Addr: pp.Bdaddr, + } + return sa, nil + } + case AF_XDP: + pp := (*RawSockaddrXDP)(unsafe.Pointer(rsa)) + sa := &SockaddrXDP{ + Flags: pp.Flags, + Ifindex: pp.Ifindex, + QueueID: pp.Queue_id, + SharedUmemFD: pp.Shared_umem_fd, + } + return sa, nil + case AF_PPPOX: + pp := (*RawSockaddrPPPoX)(unsafe.Pointer(rsa)) + if binary.BigEndian.Uint32(pp[2:6]) != px_proto_oe { + return nil, EINVAL + } + sa := &SockaddrPPPoE{ + SID: binary.BigEndian.Uint16(pp[6:8]), + Remote: pp[8:14], + } + for i := 14; i < 14+IFNAMSIZ; i++ { + if pp[i] == 0 { + sa.Dev = string(pp[14:i]) + break + } + } + return sa, nil + case AF_TIPC: + pp := (*RawSockaddrTIPC)(unsafe.Pointer(rsa)) + + sa := &SockaddrTIPC{ + Scope: int(pp.Scope), + } + + // Determine which union variant is present in pp.Addr by checking + // pp.Addrtype. + switch pp.Addrtype { + case TIPC_SERVICE_RANGE: + sa.Addr = (*TIPCServiceRange)(unsafe.Pointer(&pp.Addr)) + case TIPC_SERVICE_ADDR: + sa.Addr = (*TIPCServiceName)(unsafe.Pointer(&pp.Addr)) + case TIPC_SOCKET_ADDR: + sa.Addr = (*TIPCSocketAddr)(unsafe.Pointer(&pp.Addr)) + default: + return nil, EINVAL + } + + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if err != nil { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptUcred(fd, level, opt int) (*Ucred, error) { + var value Ucred + vallen := _Socklen(SizeofUcred) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) { + var value TCPInfo + vallen := _Socklen(SizeofTCPInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + if err == ERANGE { + buf = make([]byte, vallen) + err = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + } + if err != nil { + return "", err + } + } + return string(buf[:vallen-1]), nil +} + +func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) { + var value TpacketStats + vallen := _Socklen(SizeofTpacketStats) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, error) { + var value TpacketStatsV3 + vallen := _Socklen(SizeofTpacketStatsV3) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +// SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a +// socket to filter incoming packets. See 'man 7 socket' for usage information. +func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error { + return setsockopt(fd, level, opt, unsafe.Pointer(fprog), unsafe.Sizeof(*fprog)) +} + +func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error { + var p unsafe.Pointer + if len(filter) > 0 { + p = unsafe.Pointer(&filter[0]) + } + return setsockopt(fd, level, opt, p, uintptr(len(filter)*SizeofCanFilter)) +} + +func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error { + return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) +} + +func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error { + return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) +} + +// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html) + +// KeyctlInt calls keyctl commands in which each argument is an int. +// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK, +// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT, +// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT, +// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT. +//sys KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlBuffer calls keyctl commands in which the third and fourth +// arguments are a buffer and its length, respectively. +// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE. +//sys KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlString calls keyctl commands which return a string. +// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY. +func KeyctlString(cmd int, id int) (string, error) { + // We must loop as the string data may change in between the syscalls. + // We could allocate a large buffer here to reduce the chance that the + // syscall needs to be called twice; however, this is unnecessary as + // the performance loss is negligible. + var buffer []byte + for { + // Try to fill the buffer with data + length, err := KeyctlBuffer(cmd, id, buffer, 0) + if err != nil { + return "", err + } + + // Check if the data was written + if length <= len(buffer) { + // Exclude the null terminator + return string(buffer[:length-1]), nil + } + + // Make a bigger buffer if needed + buffer = make([]byte, length) + } +} + +// Keyctl commands with special signatures. + +// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html +func KeyctlGetKeyringID(id int, create bool) (ringid int, err error) { + createInt := 0 + if create { + createInt = 1 + } + return KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0) +} + +// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the +// key handle permission mask as described in the "keyctl setperm" section of +// http://man7.org/linux/man-pages/man1/keyctl.1.html. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html +func KeyctlSetperm(id int, perm uint32) error { + _, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0) + return err +} + +//sys keyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL + +// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html +func KeyctlJoinSessionKeyring(name string) (ringid int, err error) { + return keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name) +} + +//sys keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlSearch implements the KEYCTL_SEARCH command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_search.3.html +func KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) { + return keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid) +} + +//sys keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL + +// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This +// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice +// of Iovec (each of which represents a buffer) instead of a single buffer. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html +func KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error { + return keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid) +} + +//sys keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL + +// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command +// computes a Diffie-Hellman shared secret based on the provide params. The +// secret is written to the provided buffer and the returned size is the number +// of bytes written (returning an error if there is insufficient space in the +// buffer). If a nil buffer is passed in, this function returns the minimum +// buffer length needed to store the appropriate data. Note that this differs +// from KEYCTL_READ's behavior which always returns the requested payload size. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html +func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) { + return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer) +} + +// KeyctlRestrictKeyring implements the KEYCTL_RESTRICT_KEYRING command. This +// command limits the set of keys that can be linked to the keyring, regardless +// of keyring permissions. The command requires the "setattr" permission. +// +// When called with an empty keyType the command locks the keyring, preventing +// any further keys from being linked to the keyring. +// +// The "asymmetric" keyType defines restrictions requiring key payloads to be +// DER encoded X.509 certificates signed by keys in another keyring. Restrictions +// for "asymmetric" include "builtin_trusted", "builtin_and_secondary_trusted", +// "key_or_keyring:", and "key_or_keyring::chain". +// +// As of Linux 4.12, only the "asymmetric" keyType defines type-specific +// restrictions. +// +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_restrict_keyring.3.html +// http://man7.org/linux/man-pages/man2/keyctl.2.html +func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error { + if keyType == "" { + return keyctlRestrictKeyring(KEYCTL_RESTRICT_KEYRING, ringid) + } + return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction) +} + +//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL +//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = &p[0] + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + if len(p) == 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return + } + // receive at least one normal byte + if sockType != SOCK_DGRAM { + iov.Base = &dummy + iov.SetLen(1) + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + var err error + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(ptr) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = &p[0] + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + if len(p) == 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return 0, err + } + // send at least one normal byte + if sockType != SOCK_DGRAM { + iov.Base = &dummy + iov.SetLen(1) + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +// BindToDevice binds the socket associated with fd to device. +func BindToDevice(fd int, device string) (err error) { + return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device) +} + +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) + +func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) { + // The peek requests are machine-size oriented, so we wrap it + // to retrieve arbitrary-length data. + + // The ptrace syscall differs from glibc's ptrace. + // Peeks returns the word in *data, not as the return value. + + var buf [SizeofPtr]byte + + // Leading edge. PEEKTEXT/PEEKDATA don't require aligned + // access (PEEKUSER warns that it might), but if we don't + // align our reads, we might straddle an unmapped page + // boundary and not get the bytes leading up to the page + // boundary. + n := 0 + if addr%SizeofPtr != 0 { + err = ptrace(req, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(out, buf[addr%SizeofPtr:]) + out = out[n:] + } + + // Remainder. + for len(out) > 0 { + // We use an internal buffer to guarantee alignment. + // It's not documented if this is necessary, but we're paranoid. + err = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copied := copy(out, buf[0:]) + n += copied + out = out[copied:] + } + + return n, nil +} + +func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out) +} + +func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKDATA, pid, addr, out) +} + +func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKUSR, pid, addr, out) +} + +func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) { + // As for ptracePeek, we need to align our accesses to deal + // with the possibility of straddling an invalid page. + + // Leading edge. + n := 0 + if addr%SizeofPtr != 0 { + var buf [SizeofPtr]byte + err = ptrace(peekReq, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(buf[addr%SizeofPtr:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr-addr%SizeofPtr, word) + if err != nil { + return 0, err + } + data = data[n:] + } + + // Interior. + for len(data) > SizeofPtr { + word := *((*uintptr)(unsafe.Pointer(&data[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += SizeofPtr + data = data[SizeofPtr:] + } + + // Trailing edge. + if len(data) > 0 { + var buf [SizeofPtr]byte + err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copy(buf[0:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += len(data) + } + + return n, nil +} + +func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data) +} + +func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data) +} + +func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data) +} + +func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +func PtraceSetOptions(pid int, options int) (err error) { + return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options)) +} + +func PtraceGetEventMsg(pid int) (msg uint, err error) { + var data _C_long + err = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data))) + msg = uint(data) + return +} + +func PtraceCont(pid int, signal int) (err error) { + return ptrace(PTRACE_CONT, pid, 0, uintptr(signal)) +} + +func PtraceSyscall(pid int, signal int) (err error) { + return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal)) +} + +func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) } + +func PtraceInterrupt(pid int) (err error) { return ptrace(PTRACE_INTERRUPT, pid, 0, 0) } + +func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } + +func PtraceSeize(pid int) (err error) { return ptrace(PTRACE_SEIZE, pid, 0, 0) } + +func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) } + +//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) + +func Reboot(cmd int) (err error) { + return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) + +func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { + // Certain file systems get rather angry and EINVAL if you give + // them an empty string of data, rather than NULL. + if data == "" { + return mount(source, target, fstype, flags, nil) + } + datap, err := BytePtrFromString(data) + if err != nil { + return err + } + return mount(source, target, fstype, flags, datap) +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// Sendto +// Recvfrom +// Socketpair + +/* + * Direct access + */ +//sys Acct(path string) (err error) +//sys AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) +//sys Adjtimex(buf *Timex) (state int, err error) +//sys Capget(hdr *CapUserHeader, data *CapUserData) (err error) +//sys Capset(hdr *CapUserHeader, data *CapUserData) (err error) +//sys Chdir(path string) (err error) +//sys Chroot(path string) (err error) +//sys ClockGetres(clockid int32, res *Timespec) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) +//sys Close(fd int) (err error) +//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys DeleteModule(name string, flags int) (err error) +//sys Dup(oldfd int) (fd int, err error) +//sys Dup3(oldfd int, newfd int, flags int) (err error) +//sysnb EpollCreate1(flag int) (fd int, err error) +//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) +//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2 +//sys Exit(code int) = SYS_EXIT_GROUP +//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys fcntl(fd int, cmd int, arg int) (val int, err error) +//sys Fdatasync(fd int) (err error) +//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) +//sys FinitModule(fd int, params string, flags int) (err error) +//sys Flistxattr(fd int, dest []byte) (sz int, err error) +//sys Flock(fd int, how int) (err error) +//sys Fremovexattr(fd int, attr string) (err error) +//sys Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) +//sys Fsync(fd int) (err error) +//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64 +//sysnb Getpgid(pid int) (pgid int, err error) + +func Getpgrp() (pid int) { + pid, _ = Getpgid(0) + return +} + +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sys Getrandom(buf []byte, flags int) (n int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettid() (tid int) +//sys Getxattr(path string, attr string, dest []byte) (sz int, err error) +//sys InitModule(moduleImage []byte, params string) (err error) +//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) +//sysnb InotifyInit1(flags int) (fd int, err error) +//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) +//sysnb Kill(pid int, sig syscall.Signal) (err error) +//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG +//sys Lgetxattr(path string, attr string, dest []byte) (sz int, err error) +//sys Listxattr(path string, dest []byte) (sz int, err error) +//sys Llistxattr(path string, dest []byte) (sz int, err error) +//sys Lremovexattr(path string, attr string) (err error) +//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) +//sys MemfdCreate(name string, flags int) (fd int, err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) +//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT +//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 +//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) +//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6 +//sys read(fd int, p []byte) (n int, err error) +//sys Removexattr(path string, attr string) (err error) +//sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) +//sys RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) +//sys Setdomainname(p []byte) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tv *Timeval) (err error) +//sys Setns(fd int, nstype int) (err error) + +// issue 1435. +// On linux Setuid and Setgid only affects the current thread, not the process. +// This does not match what most callers expect so we must return an error +// here rather than letting the caller think that the call succeeded. + +func Setuid(uid int) (err error) { + return EOPNOTSUPP +} + +func Setgid(uid int) (err error) { + return EOPNOTSUPP +} + +func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) { + return signalfd(fd, sigmask, _C__NSIG/8, flags) +} + +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setxattr(path string, attr string, data []byte, flags int) (err error) +//sys signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4 +//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) +//sys Sync() +//sys Syncfs(fd int) (err error) +//sysnb Sysinfo(info *Sysinfo_t) (err error) +//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) +//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sysnb Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2 +//sys Unshare(flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys exitThread(code int) (err error) = SYS_EXIT +//sys readlen(fd int, p *byte, np int) (n int, err error) = SYS_READ +//sys writelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE + +// mmap varies by architecture; see syscall_linux_*.go. +//sys munmap(addr uintptr, length uintptr) (err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, advice int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) + +// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd, +// using the specified flags. +func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { + var p unsafe.Pointer + if len(iovs) > 0 { + p = unsafe.Pointer(&iovs[0]) + } + + n, _, errno := Syscall6(SYS_VMSPLICE, uintptr(fd), uintptr(p), uintptr(len(iovs)), uintptr(flags), 0, 0) + if errno != 0 { + return 0, syscall.Errno(errno) + } + + return int(n), nil +} + +//sys faccessat(dirfd int, path string, mode uint32) (err error) + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 { + return EINVAL + } + + // The Linux kernel faccessat system call does not take any flags. + // The glibc faccessat implements the flags itself; see + // https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;hb=HEAD + // Because people naturally expect syscall.Faccessat to act + // like C faccessat, we do the same. + + if flags == 0 { + return faccessat(dirfd, path, mode) + } + + var st Stat_t + if err := Fstatat(dirfd, path, &st, flags&AT_SYMLINK_NOFOLLOW); err != nil { + return err + } + + mode &= 7 + if mode == 0 { + return nil + } + + var uid int + if flags&AT_EACCESS != 0 { + uid = Geteuid() + } else { + uid = Getuid() + } + + if uid == 0 { + if mode&1 == 0 { + // Root can read and write any file. + return nil + } + if st.Mode&0111 != 0 { + // Root can execute any file that anybody can execute. + return nil + } + return EACCES + } + + var fmode uint32 + if uint32(uid) == st.Uid { + fmode = (st.Mode >> 6) & 7 + } else { + var gid int + if flags&AT_EACCESS != 0 { + gid = Getegid() + } else { + gid = Getgid() + } + + if uint32(gid) == st.Gid { + fmode = (st.Mode >> 3) & 7 + } else { + fmode = st.Mode & 7 + } + } + + if fmode&mode == mode { + return nil + } + + return EACCES +} + +//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT +//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT + +// fileHandle is the argument to nameToHandleAt and openByHandleAt. We +// originally tried to generate it via unix/linux/types.go with "type +// fileHandle C.struct_file_handle" but that generated empty structs +// for mips64 and mips64le. Instead, hard code it for now (it's the +// same everywhere else) until the mips64 generator issue is fixed. +type fileHandle struct { + Bytes uint32 + Type int32 +} + +// FileHandle represents the C struct file_handle used by +// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see +// OpenByHandleAt). +type FileHandle struct { + *fileHandle +} + +// NewFileHandle constructs a FileHandle. +func NewFileHandle(handleType int32, handle []byte) FileHandle { + const hdrSize = unsafe.Sizeof(fileHandle{}) + buf := make([]byte, hdrSize+uintptr(len(handle))) + copy(buf[hdrSize:], handle) + fh := (*fileHandle)(unsafe.Pointer(&buf[0])) + fh.Type = handleType + fh.Bytes = uint32(len(handle)) + return FileHandle{fh} +} + +func (fh *FileHandle) Size() int { return int(fh.fileHandle.Bytes) } +func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type } +func (fh *FileHandle) Bytes() []byte { + n := fh.Size() + if n == 0 { + return nil + } + return (*[1 << 30]byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type)) + 4))[:n:n] +} + +// NameToHandleAt wraps the name_to_handle_at system call; it obtains +// a handle for a path name. +func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) { + var mid _C_int + // Try first with a small buffer, assuming the handle will + // only be 32 bytes. + size := uint32(32 + unsafe.Sizeof(fileHandle{})) + didResize := false + for { + buf := make([]byte, size) + fh := (*fileHandle)(unsafe.Pointer(&buf[0])) + fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{})) + err = nameToHandleAt(dirfd, path, fh, &mid, flags) + if err == EOVERFLOW { + if didResize { + // We shouldn't need to resize more than once + return + } + didResize = true + size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{})) + continue + } + if err != nil { + return + } + return FileHandle{fh}, int(mid), nil + } +} + +// OpenByHandleAt wraps the open_by_handle_at system call; it opens a +// file via a handle as previously returned by NameToHandleAt. +func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) { + return openByHandleAt(mountFD, handle.fileHandle, flags) +} + +// Klogset wraps the sys_syslog system call; it sets console_loglevel to +// the value specified by arg and passes a dummy pointer to bufp. +func Klogset(typ int, arg int) (err error) { + var p unsafe.Pointer + _, _, errno := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(p), uintptr(arg)) + if errno != 0 { + return errnoErr(errno) + } + return nil +} + +/* + * Unimplemented + */ +// AfsSyscall +// Alarm +// ArchPrctl +// Brk +// ClockNanosleep +// ClockSettime +// Clone +// EpollCtlOld +// EpollPwait +// EpollWaitOld +// Execve +// Fork +// Futex +// GetKernelSyms +// GetMempolicy +// GetRobustList +// GetThreadArea +// Getitimer +// Getpmsg +// IoCancel +// IoDestroy +// IoGetevents +// IoSetup +// IoSubmit +// IoprioGet +// IoprioSet +// KexecLoad +// LookupDcookie +// Mbind +// MigratePages +// Mincore +// ModifyLdt +// Mount +// MovePages +// MqGetsetattr +// MqNotify +// MqOpen +// MqTimedreceive +// MqTimedsend +// MqUnlink +// Mremap +// Msgctl +// Msgget +// Msgrcv +// Msgsnd +// Nfsservctl +// Personality +// Pselect6 +// Ptrace +// Putpmsg +// Quotactl +// Readahead +// Readv +// RemapFilePages +// RestartSyscall +// RtSigaction +// RtSigpending +// RtSigprocmask +// RtSigqueueinfo +// RtSigreturn +// RtSigsuspend +// RtSigtimedwait +// SchedGetPriorityMax +// SchedGetPriorityMin +// SchedGetparam +// SchedGetscheduler +// SchedRrGetInterval +// SchedSetparam +// SchedYield +// Security +// Semctl +// Semget +// Semop +// Semtimedop +// SetMempolicy +// SetRobustList +// SetThreadArea +// SetTidAddress +// Shmat +// Shmctl +// Shmdt +// Shmget +// Sigaltstack +// Swapoff +// Swapon +// Sysfs +// TimerCreate +// TimerDelete +// TimerGetoverrun +// TimerGettime +// TimerSettime +// Timerfd +// Tkill (obsolete) +// Tuxcall +// Umount2 +// Uselib +// Utimensat +// Vfork +// Vhangup +// Vserver +// Waitid +// _Sysctl diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go new file mode 100644 index 00000000..e7fa665e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go @@ -0,0 +1,390 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) +// so that go vet can check that they are correct. + +// +build 386,linux + +package unix + +import ( + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// 64-bit file system and 32-bit uid calls +// (386 default is 32-bit file system and 16-bit uid). +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 +//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) +//sys Pause() (err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +// On x86 Linux, all the socket calls go through an extra indirection, +// I think because the 5-register system call interface can't handle +// the 6-argument calls like sendto and recvfrom. Instead the +// arguments to the underlying system call are the number below +// and a pointer to an array of uintptr. We hide the pointer in the +// socketcall assembly to avoid allocation on every system call. + +const ( + // see linux/net.h + _SOCKET = 1 + _BIND = 2 + _CONNECT = 3 + _LISTEN = 4 + _ACCEPT = 5 + _GETSOCKNAME = 6 + _GETPEERNAME = 7 + _SOCKETPAIR = 8 + _SEND = 9 + _RECV = 10 + _SENDTO = 11 + _RECVFROM = 12 + _SHUTDOWN = 13 + _SETSOCKOPT = 14 + _GETSOCKOPT = 15 + _SENDMSG = 16 + _RECVMSG = 17 + _ACCEPT4 = 18 + _RECVMMSG = 19 + _SENDMMSG = 20 +) + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e != 0 { + err = e + } + return +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socket(domain int, typ int, proto int) (fd int, err error) { + fd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e != 0 { + err = e + } + return +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0) + if e != 0 { + err = e + } + return +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + n, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + if e != 0 { + err = e + } + return +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + _, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e != 0 { + err = e + } + return +} + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Listen(s int, n int) (err error) { + _, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Shutdown(s, how int) (err error) { + _, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go new file mode 100644 index 00000000..088ce0f9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go @@ -0,0 +1,194 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,linux + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb inotifyInit() (fd int, err error) + +func InotifyInit() (fd int, err error) { + // First try inotify_init1, because Android's seccomp policy blocks the latter. + fd, err = InotifyInit1(0) + if err == ENOSYS { + fd, err = inotifyInit() + } + return +} + +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + // Use fstatat, because Android's seccomp policy blocks stat. + return Fstatat(AT_FDCWD, path, stat, 0) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) + +func Gettimeofday(tv *Timeval) (err error) { + errno := gettimeofday(tv) + if errno != 0 { + return errno + } + return nil +} + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + errno := gettimeofday(&tv) + if errno != 0 { + return 0, errno + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Rip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go new file mode 100644 index 00000000..21a4946b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go @@ -0,0 +1,13 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,linux +// +build !gccgo + +package unix + +import "syscall" + +//go:noescape +func gettimeofday(tv *Timeval) (err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go new file mode 100644 index 00000000..11930fc8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -0,0 +1,291 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,linux + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + // Try pipe2 first for Android O, then try pipe for kernel 2.6.23. + err = pipe2(&pp, 0) + if err == ENOSYS { + err = pipe(&pp) + } + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +// 64-bit file system and 32-bit uid calls +// (16-bit uid calls are not always supported in newer kernels) +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Pause() (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 +//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +//sys utimes(path string, times *[2]Timeval) (err error) + +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE + +func SyncFileRange(fd int, off int64, n int64, flags int) error { + // The sync_file_range and arm_sync_file_range syscalls differ only in the + // order of their arguments. + return armSyncFileRange(fd, flags, off, n) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go new file mode 100644 index 00000000..251e2d97 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -0,0 +1,227 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,linux + +package unix + +import "unsafe" + +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, 0) +} + +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) +} + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(dirfd, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +func utimes(path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Pc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +func Dup2(oldfd int, newfd int) (err error) { + return Dup3(oldfd, newfd, 0) +} + +func Pause() error { + _, err := ppoll(nil, 0, nil, nil) + return err +} + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go new file mode 100644 index 00000000..c26e6ec2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go @@ -0,0 +1,14 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,!gccgo + +package unix + +// SyscallNoError may be used instead of Syscall for syscalls that don't fail. +func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) + +// RawSyscallNoError may be used instead of RawSyscall for syscalls that don't +// fail. +func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go new file mode 100644 index 00000000..070bd389 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,!gccgo,386 + +package unix + +import "syscall" + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) + +func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) +func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go new file mode 100644 index 00000000..308eb7ae --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go @@ -0,0 +1,30 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,gccgo,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { + var newoffset int64 + offsetLow := uint32(offset & 0xffffffff) + offsetHigh := uint32((offset >> 32) & 0xffffffff) + _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) + return newoffset, err +} + +func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { + fd, _, err := Syscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) + return int(fd), err +} + +func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { + fd, _, err := RawSyscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) + return int(fd), err +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go new file mode 100644 index 00000000..aa7fc9e1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go @@ -0,0 +1,20 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,gccgo,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { + var newoffset int64 + offsetLow := uint32(offset & 0xffffffff) + offsetHigh := uint32((offset >> 32) & 0xffffffff) + _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) + return newoffset, err +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go new file mode 100644 index 00000000..7562fe97 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go @@ -0,0 +1,226 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips64 mips64le + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +type stat_t struct { + Dev uint32 + Pad0 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad1 [3]uint32 + Size int64 + Atime uint32 + Atime_nsec uint32 + Mtime uint32 + Mtime_nsec uint32 + Ctime uint32 + Ctime_nsec uint32 + Blksize uint32 + Pad2 uint32 + Blocks int64 +} + +//sys fstat(fd int, st *stat_t) (err error) +//sys fstatat(dirfd int, path string, st *stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys lstat(path string, st *stat_t) (err error) +//sys stat(path string, st *stat_t) (err error) + +func Fstat(fd int, s *Stat_t) (err error) { + st := &stat_t{} + err = fstat(fd, st) + fillStat_t(s, st) + return +} + +func Fstatat(dirfd int, path string, s *Stat_t, flags int) (err error) { + st := &stat_t{} + err = fstatat(dirfd, path, st, flags) + fillStat_t(s, st) + return +} + +func Lstat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = lstat(path, st) + fillStat_t(s, st) + return +} + +func Stat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = stat(path, st) + fillStat_t(s, st) + return +} + +func fillStat_t(s *Stat_t, st *stat_t) { + s.Dev = st.Dev + s.Ino = st.Ino + s.Mode = st.Mode + s.Nlink = st.Nlink + s.Uid = st.Uid + s.Gid = st.Gid + s.Rdev = st.Rdev + s.Size = st.Size + s.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)} + s.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)} + s.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)} + s.Blksize = st.Blksize + s.Blocks = st.Blocks +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go new file mode 100644 index 00000000..a939ff8f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go @@ -0,0 +1,238 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips mipsle + +package unix + +import ( + "syscall" + "unsafe" +) + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 + +//sys Pause() (err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + p, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + _, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0) + if e != 0 { + err = errnoErr(e) + } + return +} + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe() (p1 int, p2 int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go new file mode 100644 index 00000000..28d6d0f2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go @@ -0,0 +1,156 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64 ppc64le + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func (r *PtraceRegs) PC() uint64 { return r.Nip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 + +func SyncFileRange(fd int, off int64, n int64, flags int) error { + // The sync_file_range and sync_file_range2 syscalls differ only in the + // order of their arguments. + return syncFileRange2(fd, flags, off, n) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go new file mode 100644 index 00000000..6798c262 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go @@ -0,0 +1,230 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build riscv64,linux + +package unix + +import "unsafe" + +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, 0) +} + +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) +} + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(dirfd, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +func utimes(path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Pc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +func Dup2(oldfd int, newfd int) (err error) { + return Dup3(oldfd, newfd, 0) +} + +func Pause() error { + _, err := ppoll(nil, 0, nil, nil) + return err +} + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go new file mode 100644 index 00000000..eb5cb1a7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go @@ -0,0 +1,342 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,linux + +package unix + +import ( + "unsafe" +) + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +func (r *PtraceRegs) PC() uint64 { return r.Psw.Addr } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +// Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct. +// mmap2 also requires arguments to be passed in a struct; it is currently not exposed in . +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + mmap_args := [6]uintptr{addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)} + r0, _, e1 := Syscall(SYS_MMAP, uintptr(unsafe.Pointer(&mmap_args[0])), 0, 0) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// On s390x Linux, all the socket calls go through an extra indirection. +// The arguments to the underlying system call (SYS_SOCKETCALL) are the +// number below and a pointer to an array of uintptr. +const ( + // see linux/net.h + netSocket = 1 + netBind = 2 + netConnect = 3 + netListen = 4 + netAccept = 5 + netGetSockName = 6 + netGetPeerName = 7 + netSocketPair = 8 + netSend = 9 + netRecv = 10 + netSendTo = 11 + netRecvFrom = 12 + netShutdown = 13 + netSetSockOpt = 14 + netGetSockOpt = 15 + netSendMsg = 16 + netRecvMsg = 17 + netAccept4 = 18 + netRecvMMsg = 19 + netSendMMsg = 20 +) + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) { + args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netGetSockName, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netGetPeerName, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func socketpair(domain int, typ int, flags int, fd *[2]int32) error { + args := [4]uintptr{uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netSocketPair, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netBind, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netConnect, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func socket(domain int, typ int, proto int) (int, error) { + args := [3]uintptr{uintptr(domain), uintptr(typ), uintptr(proto)} + fd, _, err := RawSyscall(SYS_SOCKETCALL, netSocket, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) error { + args := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))} + _, _, err := Syscall(SYS_SOCKETCALL, netGetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error { + args := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)} + _, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func Listen(s int, n int) error { + args := [2]uintptr{uintptr(s), uintptr(n)} + _, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func Shutdown(s, how int) error { + args := [2]uintptr{uintptr(s), uintptr(how)} + _, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go new file mode 100644 index 00000000..37321c12 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -0,0 +1,151 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build sparc64,linux + +package unix + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func (r *PtraceRegs) PC() uint64 { return r.Tpc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go new file mode 100644 index 00000000..f95463ee --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go @@ -0,0 +1,620 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// NetBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "runtime" + "syscall" + "unsafe" +) + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) { + var olen uintptr + + // Get a list of all sysctl nodes below the given MIB by performing + // a sysctl for the given MIB with CTL_QUERY appended. + mib = append(mib, CTL_QUERY) + qnode := Sysctlnode{Flags: SYSCTL_VERS_1} + qp := (*byte)(unsafe.Pointer(&qnode)) + sz := unsafe.Sizeof(qnode) + if err = sysctl(mib, nil, &olen, qp, sz); err != nil { + return nil, err + } + + // Now that we know the size, get the actual nodes. + nodes = make([]Sysctlnode, olen/sz) + np := (*byte)(unsafe.Pointer(&nodes[0])) + if err = sysctl(mib, np, &olen, qp, sz); err != nil { + return nil, err + } + + return nodes, nil +} + +func nametomib(name string) (mib []_C_int, err error) { + // Split name into components. + var parts []string + last := 0 + for i := 0; i < len(name); i++ { + if name[i] == '.' { + parts = append(parts, name[last:i]) + last = i + 1 + } + } + parts = append(parts, name[last:]) + + // Discover the nodes and construct the MIB OID. + for partno, part := range parts { + nodes, err := sysctlNodes(mib) + if err != nil { + return nil, err + } + for _, node := range nodes { + n := make([]byte, 0) + for i := range node.Name { + if node.Name[i] != 0 { + n = append(n, byte(node.Name[i])) + } + } + if string(n) == part { + mib = append(mib, _C_int(node.Num)) + break + } + } + if len(mib) != partno+1 { + return nil, EINVAL + } + } + + return mib, nil +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + +//sysnb pipe() (fd1 int, fd2 int, err error) +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys Getdents(fd int, buf []byte) (n int, err error) +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + n, err = Getdents(fd, buf) + if err != nil || basep == nil { + return + } + + var off int64 + off, err = Seek(fd, 0, 1 /* SEEK_CUR */) + if err != nil { + *basep = ^uintptr(0) + return + } + *basep = uintptr(off) + if unsafe.Sizeof(*basep) == 8 { + return + } + if off>>32 != 0 { + // We can't stuff the offset back into a uintptr, so any + // future calls would be suspect. Generate an error. + // EIO is allowed by getdirentries. + err = EIO + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) { + var value Ptmget + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + runtime.KeepAlive(value) + return &value, err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) +//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) +//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) +//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// ____semctl13 +// __clone +// __fhopen40 +// __fhstat40 +// __fhstatvfs140 +// __fstat30 +// __getcwd +// __getfh30 +// __getlogin +// __lstat30 +// __mount50 +// __msgctl13 +// __msync13 +// __ntp_gettime30 +// __posix_chown +// __posix_fchown +// __posix_lchown +// __posix_rename +// __setlogin +// __shmctl13 +// __sigaction_sigtramp +// __sigaltstack14 +// __sigpending14 +// __sigprocmask14 +// __sigsuspend14 +// __sigtimedwait +// __stat30 +// __syscall +// __vfork14 +// _ksem_close +// _ksem_destroy +// _ksem_getvalue +// _ksem_init +// _ksem_open +// _ksem_post +// _ksem_trywait +// _ksem_unlink +// _ksem_wait +// _lwp_continue +// _lwp_create +// _lwp_ctl +// _lwp_detach +// _lwp_exit +// _lwp_getname +// _lwp_getprivate +// _lwp_kill +// _lwp_park +// _lwp_self +// _lwp_setname +// _lwp_setprivate +// _lwp_suspend +// _lwp_unpark +// _lwp_unpark_all +// _lwp_wait +// _lwp_wakeup +// _pset_bind +// _sched_getaffinity +// _sched_getparam +// _sched_setaffinity +// _sched_setparam +// acct +// aio_cancel +// aio_error +// aio_fsync +// aio_read +// aio_return +// aio_suspend +// aio_write +// break +// clock_getres +// clock_gettime +// clock_settime +// compat_09_ogetdomainname +// compat_09_osetdomainname +// compat_09_ouname +// compat_10_omsgsys +// compat_10_osemsys +// compat_10_oshmsys +// compat_12_fstat12 +// compat_12_getdirentries +// compat_12_lstat12 +// compat_12_msync +// compat_12_oreboot +// compat_12_oswapon +// compat_12_stat12 +// compat_13_sigaction13 +// compat_13_sigaltstack13 +// compat_13_sigpending13 +// compat_13_sigprocmask13 +// compat_13_sigreturn13 +// compat_13_sigsuspend13 +// compat_14___semctl +// compat_14_msgctl +// compat_14_shmctl +// compat_16___sigaction14 +// compat_16___sigreturn14 +// compat_20_fhstatfs +// compat_20_fstatfs +// compat_20_getfsstat +// compat_20_statfs +// compat_30___fhstat30 +// compat_30___fstat13 +// compat_30___lstat13 +// compat_30___stat13 +// compat_30_fhopen +// compat_30_fhstat +// compat_30_fhstatvfs1 +// compat_30_getdents +// compat_30_getfh +// compat_30_ntp_gettime +// compat_30_socket +// compat_40_mount +// compat_43_fstat43 +// compat_43_lstat43 +// compat_43_oaccept +// compat_43_ocreat +// compat_43_oftruncate +// compat_43_ogetdirentries +// compat_43_ogetdtablesize +// compat_43_ogethostid +// compat_43_ogethostname +// compat_43_ogetkerninfo +// compat_43_ogetpagesize +// compat_43_ogetpeername +// compat_43_ogetrlimit +// compat_43_ogetsockname +// compat_43_okillpg +// compat_43_olseek +// compat_43_ommap +// compat_43_oquota +// compat_43_orecv +// compat_43_orecvfrom +// compat_43_orecvmsg +// compat_43_osend +// compat_43_osendmsg +// compat_43_osethostid +// compat_43_osethostname +// compat_43_osetrlimit +// compat_43_osigblock +// compat_43_osigsetmask +// compat_43_osigstack +// compat_43_osigvec +// compat_43_otruncate +// compat_43_owait +// compat_43_stat43 +// execve +// extattr_delete_fd +// extattr_delete_file +// extattr_delete_link +// extattr_get_fd +// extattr_get_file +// extattr_get_link +// extattr_list_fd +// extattr_list_file +// extattr_list_link +// extattr_set_fd +// extattr_set_file +// extattr_set_link +// extattrctl +// fchroot +// fdatasync +// fgetxattr +// fktrace +// flistxattr +// fork +// fremovexattr +// fsetxattr +// fstatvfs1 +// fsync_range +// getcontext +// getitimer +// getvfsstat +// getxattr +// ktrace +// lchflags +// lchmod +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// lgetxattr +// lio_listio +// listxattr +// llistxattr +// lremovexattr +// lseek +// lsetxattr +// lutimes +// madvise +// mincore +// minherit +// modctl +// mq_close +// mq_getattr +// mq_notify +// mq_open +// mq_receive +// mq_send +// mq_setattr +// mq_timedreceive +// mq_timedsend +// mq_unlink +// mremap +// msgget +// msgrcv +// msgsnd +// nfssvc +// ntp_adjtime +// pmc_control +// pmc_get_info +// pollts +// preadv +// profil +// pselect +// pset_assign +// pset_create +// pset_destroy +// ptrace +// pwritev +// quotactl +// rasctl +// readv +// reboot +// removexattr +// sa_enable +// sa_preempt +// sa_register +// sa_setconcurrency +// sa_stacks +// sa_yield +// sbrk +// sched_yield +// semconfig +// semget +// semop +// setcontext +// setitimer +// setxattr +// shmat +// shmdt +// shmget +// sstk +// statvfs1 +// swapctl +// sysarch +// syscall +// timer_create +// timer_delete +// timer_getoverrun +// timer_gettime +// timer_settime +// undelete +// utrace +// uuidgen +// vadvise +// vfork +// writev diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go new file mode 100644 index 00000000..24da8b52 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go @@ -0,0 +1,37 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go new file mode 100644 index 00000000..25a0ac82 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go @@ -0,0 +1,37 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go new file mode 100644 index 00000000..21591ecd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go @@ -0,0 +1,37 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go new file mode 100644 index 00000000..80474963 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go @@ -0,0 +1,37 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go new file mode 100644 index 00000000..7fe65ef7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -0,0 +1,414 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// OpenBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "sort" + "syscall" + "unsafe" +) + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 + raw RawSockaddrDatalink +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +func nametomib(name string) (mib []_C_int, err error) { + i := sort.Search(len(sysctlMib), func(i int) bool { + return sysctlMib[i].ctlname >= name + }) + if i < len(sysctlMib) && sysctlMib[i].ctlname == name { + return sysctlMib[i].ctloid, nil + } + return nil, EINVAL +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) +} + +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + +func SysctlUvmexp(name string) (*Uvmexp, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofUvmexp) + var u Uvmexp + if err := sysctl(mib, (*byte)(unsafe.Pointer(&u)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofUvmexp { + return nil, EIO + } + return &u, nil +} + +//sysnb pipe(p *[2]_C_int) (err error) +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys Getdents(fd int, buf []byte) (n int, err error) +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + n, err = Getdents(fd, buf) + if err != nil || basep == nil { + return + } + + var off int64 + off, err = Seek(fd, 0, 1 /* SEEK_CUR */) + if err != nil { + *basep = ^uintptr(0) + return + } + *basep = uintptr(off) + if unsafe.Sizeof(*basep) == 8 { + return + } + if off>>32 != 0 { + // We can't stuff the offset back into a uintptr, so any + // future calls would be suspect. Generate an error. + // EIO was allowed by getdirentries. + err = EIO + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + if len(fds) == 0 { + return ppoll(nil, 0, timeout, sigmask) + } + return ppoll(&fds[0], len(fds), timeout, sigmask) +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrtable() (rtable int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setrtable(rtable int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// __getcwd +// __semctl +// __syscall +// __sysctl +// adjfreq +// break +// clock_getres +// clock_gettime +// clock_settime +// closefrom +// execve +// fcntl +// fhopen +// fhstat +// fhstatfs +// fork +// futimens +// getfh +// getgid +// getitimer +// getlogin +// getresgid +// getresuid +// getthrid +// ktrace +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// mincore +// minherit +// mount +// mquery +// msgctl +// msgget +// msgrcv +// msgsnd +// nfssvc +// nnpfspioctl +// preadv +// profil +// pwritev +// quotactl +// readv +// reboot +// renameat +// rfork +// sched_yield +// semget +// semop +// setgroups +// setitimer +// setsockopt +// shmat +// shmctl +// shmdt +// shmget +// sigaction +// sigaltstack +// sigpending +// sigprocmask +// sigreturn +// sigsuspend +// sysarch +// syscall +// threxit +// thrsigdivert +// thrsleep +// thrwakeup +// vfork +// writev diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go new file mode 100644 index 00000000..42b5a0e5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go @@ -0,0 +1,41 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/386 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go new file mode 100644 index 00000000..6ea4b488 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go @@ -0,0 +1,41 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go new file mode 100644 index 00000000..1c3d26fa --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go @@ -0,0 +1,41 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/arm the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go new file mode 100644 index 00000000..a8c458cb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go @@ -0,0 +1,41 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go new file mode 100644 index 00000000..62f968c7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -0,0 +1,724 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Solaris system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_solaris.go or syscall_unix.go. + +package unix + +import ( + "syscall" + "unsafe" +) + +// Implemented in runtime/syscall_solaris.go. +type syscallFunc uintptr + +func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Family uint16 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [244]int8 + raw RawSockaddrDatalink +} + +func direntIno(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) +} + +func direntReclen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) +} + +func direntNamlen(buf []byte) (uint64, bool) { + reclen, ok := direntReclen(buf) + if !ok { + return 0, false + } + return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true +} + +//sysnb pipe(p *[2]_C_int) (n int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + n, err := pipe(&pp) + if n != 0 { + return err + } + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return nil +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +//sys getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + return "", err + } + return string(buf[:vallen-1]), nil +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + // Getcwd will return an error if it failed for any reason. + _, err = Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + // Check for error and sanity check group count. Newer versions of + // Solaris allow up to 1024 (NGROUPS_MAX). + if n < 0 || n > 1024 { + if err != nil { + return nil, err + } + return nil, EINVAL + } else if n == 0 { + return nil, nil + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if n == -1 { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +// ReadDirent reads directory entries from fd and writes them into buf. +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // TODO(rsc): Can we use a single global basep for all calls? + return Getdents(fd, buf, new(uintptr)) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) { + var status _C_int + rpid, err := wait4(int32(pid), &status, options, rusage) + wpid := int(rpid) + if wpid == -1 { + return wpid, err + } + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return wpid, nil +} + +//sys gethostname(buf []byte) (n int, err error) + +func Gethostname() (name string, err error) { + var buf [MaxHostNameLen]byte + n, err := gethostname(buf[:]) + if n != 0 { + return "", err + } + n = clen(buf[:]) + if n < 1 { + return "", EFAULT + } + return string(buf[:n]), nil +} + +//sys utimes(path string, times *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) (err error) { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + valptr, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + var err error + if errno != 0 { + err = errno + } + return int(valptr), err +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0) + if e1 != 0 { + return e1 + } + return nil +} + +//sys futimesat(fildes int, path *byte, times *[2]Timeval) (err error) + +func Futimesat(dirfd int, path string, tv []Timeval) error { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + if tv == nil { + return futimesat(dirfd, pathp, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +// Solaris doesn't have an futimes function because it allows NULL to be +// specified as the path for futimesat. However, Go doesn't like +// NULL-style string interfaces, so this simple wrapper is provided. +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimesat(fd, nil, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + // Assume path ends at NUL. + // This is not technically the Solaris semantics for + // abstract Unix domain sockets -- they are supposed + // to be uninterpreted fixed-size binary blobs -- but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if nfd == -1 { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); n == -1 { + return + } + oobn = int(msg.Accrightslen) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys acct(path *byte) (err error) + +func Acct(path string) (err error) { + if len(path) == 0 { + // Assume caller wants to disable accounting. + return acct(nil) + } + + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + return acct(pathp) +} + +//sys __makedev(version int, major uint, minor uint) (val uint64) + +func Mkdev(major, minor uint32) uint64 { + return __makedev(NEWDEV, uint(major), uint(minor)) +} + +//sys __major(version int, dev uint64) (val uint) + +func Major(dev uint64) uint32 { + return uint32(__major(NEWDEV, dev)) +} + +//sys __minor(version int, dev uint64) (val uint) + +func Minor(dev uint64) uint32 { + return uint32(__minor(NEWDEV, dev)) +} + +/* + * Expose the ioctl function + */ + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +func IoctlSetTermio(fd int, req uint, value *Termio) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlGetTermio(fd int, req uint) (*Termio, error) { + var value Termio + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Creat(path string, mode uint32) (fd int, err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) +//sys Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) +//sysnb Getgid() (gid int) +//sysnb Getpid() (pid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgid int, err error) +//sys Geteuid() (euid int) +//sys Getegid() (egid int) +//sys Getppid() (ppid int) +//sys Getpriority(which int, who int) (n int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Listen(s int, backlog int) (err error) = libsocket.__xnet_llisten +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Madvise(b []byte, advice int) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Setuid(uid int) (err error) +//sys Shutdown(s int, how int) (err error) = libsocket.shutdown +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statvfs(path string, vfsstat *Statvfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Sync() (err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sys Truncate(path string, length int64) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = libc.umount +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_bind +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_connect +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = libsendfile.sendfile +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_sendto +//sys socket(domain int, typ int, proto int) (fd int, err error) = libsocket.__xnet_socket +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.__xnet_socketpair +//sys write(fd int, p []byte) (n int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.__xnet_getsockopt +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go new file mode 100644 index 00000000..b22a34d7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go @@ -0,0 +1,27 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,solaris + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetIovlen(length int) { + msghdr.Iovlen = int32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go new file mode 100644 index 00000000..3de37566 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix.go @@ -0,0 +1,431 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import ( + "bytes" + "sort" + "sync" + "syscall" + "unsafe" +) + +var ( + Stdin = 0 + Stdout = 1 + Stderr = 2 +) + +// Do the interface allocations only once for common +// Errno values. +var ( + errEAGAIN error = syscall.EAGAIN + errEINVAL error = syscall.EINVAL + errENOENT error = syscall.ENOENT +) + +var ( + signalNameMapOnce sync.Once + signalNameMap map[string]syscall.Signal +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e syscall.Errno) error { + switch e { + case 0: + return nil + case EAGAIN: + return errEAGAIN + case EINVAL: + return errEINVAL + case ENOENT: + return errENOENT + } + return e +} + +// ErrnoName returns the error name for error number e. +func ErrnoName(e syscall.Errno) string { + i := sort.Search(len(errorList), func(i int) bool { + return errorList[i].num >= e + }) + if i < len(errorList) && errorList[i].num == e { + return errorList[i].name + } + return "" +} + +// SignalName returns the signal name for signal number s. +func SignalName(s syscall.Signal) string { + i := sort.Search(len(signalList), func(i int) bool { + return signalList[i].num >= s + }) + if i < len(signalList) && signalList[i].num == s { + return signalList[i].name + } + return "" +} + +// SignalNum returns the syscall.Signal for signal named s, +// or 0 if a signal with such name is not found. +// The signal name should start with "SIG". +func SignalNum(s string) syscall.Signal { + signalNameMapOnce.Do(func() { + signalNameMap = make(map[string]syscall.Signal) + for _, signal := range signalList { + signalNameMap[signal.name] = signal.num + } + }) + return signalNameMap[s] +} + +// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte. +func clen(n []byte) int { + i := bytes.IndexByte(n, 0) + if i == -1 { + i = len(n) + } + return i +} + +// Mmap manager, for use by operating system-specific implementations. + +type mmapper struct { + sync.Mutex + active map[*byte][]byte // active mappings; key is last byte in mapping + mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) + munmap func(addr uintptr, length uintptr) error +} + +func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + if length <= 0 { + return nil, EINVAL + } + + // Map the requested memory. + addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) + if errno != nil { + return nil, errno + } + + // Slice memory layout + var sl = struct { + addr uintptr + len int + cap int + }{addr, length, length} + + // Use unsafe to turn sl into a []byte. + b := *(*[]byte)(unsafe.Pointer(&sl)) + + // Register mapping in m and return it. + p := &b[cap(b)-1] + m.Lock() + defer m.Unlock() + m.active[p] = b + return b, nil +} + +func (m *mmapper) Munmap(data []byte) (err error) { + if len(data) == 0 || len(data) != cap(data) { + return EINVAL + } + + // Find the base of the mapping. + p := &data[cap(data)-1] + m.Lock() + defer m.Unlock() + b := m.active[p] + if b == nil || &b[0] != &data[0] { + return EINVAL + } + + // Unmap the memory and update m. + if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { + return errno + } + delete(m.active, p) + return nil +} + +func Read(fd int, p []byte) (n int, err error) { + n, err = read(fd, p) + if raceenabled { + if n > 0 { + raceWriteRange(unsafe.Pointer(&p[0]), n) + } + if err == nil { + raceAcquire(unsafe.Pointer(&ioSync)) + } + } + return +} + +func Write(fd int, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + n, err = write(fd, p) + if raceenabled && n > 0 { + raceReadRange(unsafe.Pointer(&p[0]), n) + } + return +} + +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + +// Sockaddr represents a socket address. +type Sockaddr interface { + sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs +} + +// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets. +type SockaddrInet4 struct { + Port int + Addr [4]byte + raw RawSockaddrInet4 +} + +// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets. +type SockaddrInet6 struct { + Port int + ZoneId uint32 + Addr [16]byte + raw RawSockaddrInet6 +} + +// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets. +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func Bind(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return bind(fd, ptr, n) +} + +func Connect(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connect(fd, ptr, n) +} + +func Getpeername(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getpeername(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +func GetsockoptByte(fd, level, opt int) (value byte, err error) { + var n byte + vallen := _Socklen(1) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func GetsockoptInt(fd, level, opt int) (value int, err error) { + var n int32 + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return int(n), err +} + +func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) + return value, err +} + +func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { + var value IPMreq + vallen := _Socklen(SizeofIPMreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { + var value IPv6Mreq + vallen := _Socklen(SizeofIPv6Mreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { + var value IPv6MTUInfo + vallen := _Socklen(SizeofIPv6MTUInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { + var value ICMPv6Filter + vallen := _Socklen(SizeofICMPv6Filter) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptLinger(fd, level, opt int) (*Linger, error) { + var linger Linger + vallen := _Socklen(SizeofLinger) + err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen) + return &linger, err +} + +func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) { + var tv Timeval + vallen := _Socklen(unsafe.Sizeof(tv)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen) + return &tv, err +} + +func GetsockoptUint64(fd, level, opt int) (value uint64, err error) { + var n uint64 + vallen := _Socklen(8) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { + return + } + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { + ptr, n, err := to.sockaddr() + if err != nil { + return err + } + return sendto(fd, p, flags, ptr, n) +} + +func SetsockoptByte(fd, level, opt int, value byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) +} + +func SetsockoptInt(fd, level, opt int, value int) (err error) { + var n = int32(value) + return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) +} + +func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) +} + +func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) +} + +func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) +} + +func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { + return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) +} + +func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) +} + +func SetsockoptString(fd, level, opt int, s string) (err error) { + var p unsafe.Pointer + if len(s) > 0 { + p = unsafe.Pointer(&[]byte(s)[0]) + } + return setsockopt(fd, level, opt, p, uintptr(len(s))) +} + +func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) +} + +func SetsockoptUint64(fd, level, opt int, value uint64) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8) +} + +func Socket(domain, typ, proto int) (fd int, err error) { + if domain == AF_INET6 && SocketDisableIPv6 { + return -1, EAFNOSUPPORT + } + fd, err = socket(domain, typ, proto) + return +} + +func Socketpair(domain, typ, proto int) (fd [2]int, err error) { + var fdx [2]int32 + err = socketpair(domain, typ, proto, &fdx) + if err == nil { + fd[0] = int(fdx[0]) + fd[1] = int(fdx[1]) + } + return +} + +var ioSync int64 + +func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } + +func SetNonblock(fd int, nonblocking bool) (err error) { + flag, err := fcntl(fd, F_GETFL, 0) + if err != nil { + return err + } + if nonblocking { + flag |= O_NONBLOCK + } else { + flag &= ^O_NONBLOCK + } + _, err = fcntl(fd, F_SETFL, flag) + return err +} + +// Exec calls execve(2), which replaces the calling executable in the process +// tree. argv0 should be the full path to an executable ("/bin/ls") and the +// executable name should also be the first argument in argv (["ls", "-l"]). +// envv are the environment variables that should be passed to the new +// process (["USER=go", "PWD=/tmp"]). +func Exec(argv0 string, argv []string, envv []string) error { + return syscall.Exec(argv0, argv, envv) +} + +// Lutimes sets the access and modification times tv on path. If path refers to +// a symlink, it is not dereferenced and the timestamps are set on the symlink. +// If tv is nil, the access and modification times are set to the current time. +// Otherwise tv must contain exactly 2 elements, with access time as the first +// element and modification time as the second element. +func Lutimes(path string, tv []Timeval) error { + if tv == nil { + return UtimesNanoAt(AT_FDCWD, path, nil, AT_SYMLINK_NOFOLLOW) + } + if len(tv) != 2 { + return EINVAL + } + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return UtimesNanoAt(AT_FDCWD, path, ts, AT_SYMLINK_NOFOLLOW) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go new file mode 100644 index 00000000..1c70d1b6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go @@ -0,0 +1,15 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build !gccgo,!ppc64le,!ppc64 + +package unix + +import "syscall" + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go new file mode 100644 index 00000000..86dc765a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go @@ -0,0 +1,24 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64le ppc64 +// +build !gccgo + +package unix + +import "syscall" + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.Syscall(trap, a1, a2, a3) +} +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) +} +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.RawSyscall(trap, a1, a2, a3) +} +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) +} diff --git a/vendor/golang.org/x/sys/unix/timestruct.go b/vendor/golang.org/x/sys/unix/timestruct.go new file mode 100644 index 00000000..4a672f56 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/timestruct.go @@ -0,0 +1,82 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import "time" + +// TimespecToNsec converts a Timespec value into a number of +// nanoseconds since the Unix epoch. +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +// NsecToTimespec takes a number of nanoseconds since the Unix epoch +// and returns the corresponding Timespec value. +func NsecToTimespec(nsec int64) Timespec { + sec := nsec / 1e9 + nsec = nsec % 1e9 + if nsec < 0 { + nsec += 1e9 + sec-- + } + return setTimespec(sec, nsec) +} + +// TimeToTimespec converts t into a Timespec. +// On some 32-bit systems the range of valid Timespec values are smaller +// than that of time.Time values. So if t is out of the valid range of +// Timespec, it returns a zero Timespec and ERANGE. +func TimeToTimespec(t time.Time) (Timespec, error) { + sec := t.Unix() + nsec := int64(t.Nanosecond()) + ts := setTimespec(sec, nsec) + + // Currently all targets have either int32 or int64 for Timespec.Sec. + // If there were a new target with floating point type for it, we have + // to consider the rounding error. + if int64(ts.Sec) != sec { + return Timespec{}, ERANGE + } + return ts, nil +} + +// TimevalToNsec converts a Timeval value into a number of nanoseconds +// since the Unix epoch. +func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } + +// NsecToTimeval takes a number of nanoseconds since the Unix epoch +// and returns the corresponding Timeval value. +func NsecToTimeval(nsec int64) Timeval { + nsec += 999 // round up to microsecond + usec := nsec % 1e9 / 1e3 + sec := nsec / 1e9 + if usec < 0 { + usec += 1e6 + sec-- + } + return setTimeval(sec, usec) +} + +// Unix returns ts as the number of seconds and nanoseconds elapsed since the +// Unix epoch. +func (ts *Timespec) Unix() (sec int64, nsec int64) { + return int64(ts.Sec), int64(ts.Nsec) +} + +// Unix returns tv as the number of seconds and nanoseconds elapsed since the +// Unix epoch. +func (tv *Timeval) Unix() (sec int64, nsec int64) { + return int64(tv.Sec), int64(tv.Usec) * 1000 +} + +// Nano returns ts as the number of nanoseconds elapsed since the Unix epoch. +func (ts *Timespec) Nano() int64 { + return int64(ts.Sec)*1e9 + int64(ts.Nsec) +} + +// Nano returns tv as the number of nanoseconds elapsed since the Unix epoch. +func (tv *Timeval) Nano() int64 { + return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 +} diff --git a/vendor/golang.org/x/sys/unix/types_aix.go b/vendor/golang.org/x/sys/unix/types_aix.go new file mode 100644 index 00000000..40d2beed --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_aix.go @@ -0,0 +1,237 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore +// +build aix + +/* +Input to cgo -godefs. See also mkerrors.sh and mkall.sh +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + + +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong + PathMax = C.PATH_MAX +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +type off64 C.off64_t +type off C.off_t +type Mode_t C.mode_t + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +type Timeval32 C.struct_timeval32 + +type Timex C.struct_timex + +type Time_t C.time_t + +type Tms C.struct_tms + +type Utimbuf C.struct_utimbuf + +type Timezone C.struct_timezone + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit64 + +type Pid_t C.pid_t + +type _Gid_t C.gid_t + +type dev_t C.dev_t + +// Files + +type Stat_t C.struct_stat + +type StatxTimestamp C.struct_statx_timestamp + +type Statx_t C.struct_statx + +type Dirent C.struct_dirent + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Cmsghdr C.struct_cmsghdr + +type ICMPv6Filter C.struct_icmp6_filter + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type Linger C.struct_linger + +type Msghdr C.struct_msghdr + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr +) + +type IfMsgHdr C.struct_if_msghdr + +// Misc + +type FdSet C.fd_set + +type Utsname C.struct_utsname + +type Ustat_t C.struct_ustat + +type Sigset_t C.sigset_t + +const ( + AT_FDCWD = C.AT_FDCWD + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// Terminal handling + +type Termios C.struct_termios + +type Termio C.struct_termio + +type Winsize C.struct_winsize + +//poll + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +//flock_t + +type Flock_t C.struct_flock64 + +// Statfs + +type Fsid_t C.struct_fsid_t +type Fsid64_t C.struct_fsid64_t + +type Statfs_t C.struct_statfs + +const RNDGETENTCNT = 0x80045200 diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go new file mode 100644 index 00000000..155c2e69 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_darwin.go @@ -0,0 +1,283 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define __DARWIN_UNIX03 0 +#define KERNEL +#define _DARWIN_USE_64_BIT_INODE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +type Timeval32 C.struct_timeval32 + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat64 + +type Statfs_t C.struct_statfs64 + +type Flock_t C.struct_flock + +type Fstore_t C.struct_fstore + +type Radvisory_t C.struct_radvisory + +type Fbootstraptransfer_t C.struct_fbootstraptransfer + +type Log2phys_t C.struct_log2phys + +type Fsid C.struct_fsid + +type Dirent C.struct_dirent + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet4Pktinfo C.struct_in_pktinfo + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr + SizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2 + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfmaMsghdr C.struct_ifma_msghdr + +type IfmaMsghdr2 C.struct_ifma_msghdr2 + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// uname + +type Utsname C.struct_utsname + +// Clockinfo + +const SizeofClockinfo = C.sizeof_struct_clockinfo + +type Clockinfo C.struct_clockinfo diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go new file mode 100644 index 00000000..3365dd79 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_dragonfly.go @@ -0,0 +1,263 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.struct_fsid + +// File system limits + +const ( + PathMax = C.PATH_MAX +) + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfmaMsghdr C.struct_ifma_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// Uname + +type Utsname C.struct_utsname diff --git a/vendor/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go new file mode 100644 index 00000000..a121dc33 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_freebsd.go @@ -0,0 +1,400 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define _WANT_FREEBSD11_STAT 1 +#define _WANT_FREEBSD11_STATFS 1 +#define _WANT_FREEBSD11_DIRENT 1 +#define _WANT_FREEBSD11_KEVENT 1 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +// This structure is a duplicate of if_data on FreeBSD 8-STABLE. +// See /usr/include/net/if.h. +struct if_data8 { + u_char ifi_type; + u_char ifi_physical; + u_char ifi_addrlen; + u_char ifi_hdrlen; + u_char ifi_link_state; + u_char ifi_spare_char1; + u_char ifi_spare_char2; + u_char ifi_datalen; + u_long ifi_mtu; + u_long ifi_metric; + u_long ifi_baudrate; + u_long ifi_ipackets; + u_long ifi_ierrors; + u_long ifi_opackets; + u_long ifi_oerrors; + u_long ifi_collisions; + u_long ifi_ibytes; + u_long ifi_obytes; + u_long ifi_imcasts; + u_long ifi_omcasts; + u_long ifi_iqdrops; + u_long ifi_noproto; + u_long ifi_hwassist; +// FIXME: these are now unions, so maybe need to change definitions? +#undef ifi_epoch + time_t ifi_epoch; +#undef ifi_lastchange + struct timeval ifi_lastchange; +}; + +// This structure is a duplicate of if_msghdr on FreeBSD 8-STABLE. +// See /usr/include/net/if.h. +struct if_msghdr8 { + u_short ifm_msglen; + u_char ifm_version; + u_char ifm_type; + int ifm_addrs; + int ifm_flags; + u_short ifm_index; + struct if_data8 ifm_data; +}; +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +const ( + _statfsVersion = C.STATFS_VERSION + _dirblksiz = C.DIRBLKSIZ +) + +type Stat_t C.struct_stat + +type stat_freebsd11_t C.struct_freebsd11_stat + +type Statfs_t C.struct_statfs + +type statfs_freebsd11_t C.struct_freebsd11_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type dirent_freebsd11 C.struct_freebsd11_dirent + +type Fsid C.struct_fsid + +// File system limits + +const ( + PathMax = C.PATH_MAX +) + +// Advice to Fadvise + +const ( + FADV_NORMAL = C.POSIX_FADV_NORMAL + FADV_RANDOM = C.POSIX_FADV_RANDOM + FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL + FADV_WILLNEED = C.POSIX_FADV_WILLNEED + FADV_DONTNEED = C.POSIX_FADV_DONTNEED + FADV_NOREUSE = C.POSIX_FADV_NOREUSE +) + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPMreqn C.struct_ip_mreqn + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPMreqn = C.sizeof_struct_ip_mreqn + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_ATTACH = C.PT_ATTACH + PTRACE_CONT = C.PT_CONTINUE + PTRACE_DETACH = C.PT_DETACH + PTRACE_GETFPREGS = C.PT_GETFPREGS + PTRACE_GETFSBASE = C.PT_GETFSBASE + PTRACE_GETLWPLIST = C.PT_GETLWPLIST + PTRACE_GETNUMLWPS = C.PT_GETNUMLWPS + PTRACE_GETREGS = C.PT_GETREGS + PTRACE_GETXSTATE = C.PT_GETXSTATE + PTRACE_IO = C.PT_IO + PTRACE_KILL = C.PT_KILL + PTRACE_LWPEVENTS = C.PT_LWP_EVENTS + PTRACE_LWPINFO = C.PT_LWPINFO + PTRACE_SETFPREGS = C.PT_SETFPREGS + PTRACE_SETREGS = C.PT_SETREGS + PTRACE_SINGLESTEP = C.PT_STEP + PTRACE_TRACEME = C.PT_TRACE_ME +) + +const ( + PIOD_READ_D = C.PIOD_READ_D + PIOD_WRITE_D = C.PIOD_WRITE_D + PIOD_READ_I = C.PIOD_READ_I + PIOD_WRITE_I = C.PIOD_WRITE_I +) + +const ( + PL_FLAG_BORN = C.PL_FLAG_BORN + PL_FLAG_EXITED = C.PL_FLAG_EXITED + PL_FLAG_SI = C.PL_FLAG_SI +) + +const ( + TRAP_BRKPT = C.TRAP_BRKPT + TRAP_TRACE = C.TRAP_TRACE +) + +type PtraceLwpInfoStruct C.struct_ptrace_lwpinfo + +type __Siginfo C.struct___siginfo + +type Sigset_t C.sigset_t + +type Reg C.struct_reg + +type FpReg C.struct_fpreg + +type PtraceIoDesc C.struct_ptrace_io_desc + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent_freebsd11 + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + sizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfMsghdr = C.sizeof_struct_if_msghdr8 + sizeofIfData = C.sizeof_struct_if_data + SizeofIfData = C.sizeof_struct_if_data8 + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type ifMsghdr C.struct_if_msghdr + +type IfMsghdr C.struct_if_msghdr8 + +type ifData C.struct_if_data + +type IfData C.struct_if_data8 + +type IfaMsghdr C.struct_ifa_msghdr + +type IfmaMsghdr C.struct_ifma_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfZbuf = C.sizeof_struct_bpf_zbuf + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr + SizeofBpfZbufHeader = C.sizeof_struct_bpf_zbuf_header +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfZbuf C.struct_bpf_zbuf + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +type BpfZbufHeader C.struct_bpf_zbuf_header + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLINIGNEOF = C.POLLINIGNEOF + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// Capabilities + +type CapRights C.struct_cap_rights + +// Uname + +type Utsname C.struct_utsname diff --git a/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go new file mode 100644 index 00000000..4a96d72c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_netbsd.go @@ -0,0 +1,290 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.fsid_t + +// File system limits + +const ( + PathMax = C.PATH_MAX +) + +// Advice to Fadvise + +const ( + FADV_NORMAL = C.POSIX_FADV_NORMAL + FADV_RANDOM = C.POSIX_FADV_RANDOM + FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL + FADV_WILLNEED = C.POSIX_FADV_WILLNEED + FADV_DONTNEED = C.POSIX_FADV_DONTNEED + FADV_NOREUSE = C.POSIX_FADV_NOREUSE +) + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +type Mclpool C.struct_mclpool + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +type BpfTimeval C.struct_bpf_timeval + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +type Ptmget C.struct_ptmget + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// Sysctl + +type Sysctlnode C.struct_sysctlnode + +// Uname + +type Utsname C.struct_utsname + +// Clockinfo + +const SizeofClockinfo = C.sizeof_struct_clockinfo + +type Clockinfo C.struct_clockinfo diff --git a/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go new file mode 100644 index 00000000..775cb57d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_openbsd.go @@ -0,0 +1,283 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.fsid_t + +// File system limits + +const ( + PathMax = C.PATH_MAX +) + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +type Mclpool C.struct_mclpool + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +type BpfTimeval C.struct_bpf_timeval + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// Signal Sets + +type Sigset_t C.sigset_t + +// Uname + +type Utsname C.struct_utsname + +// Uvmexp + +const SizeofUvmexp = C.sizeof_struct_uvmexp + +type Uvmexp C.struct_uvmexp + +// Clockinfo + +const SizeofClockinfo = C.sizeof_struct_clockinfo + +type Clockinfo C.struct_clockinfo diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go new file mode 100644 index 00000000..2b716f93 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_solaris.go @@ -0,0 +1,266 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +// These defines ensure that builds done on newer versions of Solaris are +// backwards-compatible with older versions of Solaris and +// OpenSolaris-based derivatives. +#define __USE_SUNOS_SOCKETS__ // msghdr +#define __USE_LEGACY_PROTOTYPES__ // iovec +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong + PathMax = C.PATH_MAX + MaxHostNameLen = C.MAXHOSTNAMELEN +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +type Timeval32 C.struct_timeval32 + +type Tms C.struct_tms + +type Utimbuf C.struct_utimbuf + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +// Filesystems + +type _Fsblkcnt_t C.fsblkcnt_t + +type Statvfs_t C.struct_statvfs + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Select + +type FdSet C.fd_set + +// Misc + +type Utsname C.struct_utsname + +type Ustat_t C.struct_ustat + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_EACCESS = C.AT_EACCESS +) + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfTimeval C.struct_bpf_timeval + +type BpfHdr C.struct_bpf_hdr + +// Terminal handling + +type Termios C.struct_termios + +type Termio C.struct_termio + +type Winsize C.struct_winsize + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) diff --git a/vendor/golang.org/x/sys/unix/unveil_openbsd.go b/vendor/golang.org/x/sys/unix/unveil_openbsd.go new file mode 100644 index 00000000..168d5ae7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/unveil_openbsd.go @@ -0,0 +1,42 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "syscall" + "unsafe" +) + +// Unveil implements the unveil syscall. +// For more information see unveil(2). +// Note that the special case of blocking further +// unveil calls is handled by UnveilBlock. +func Unveil(path string, flags string) error { + pathPtr, err := syscall.BytePtrFromString(path) + if err != nil { + return err + } + flagsPtr, err := syscall.BytePtrFromString(flags) + if err != nil { + return err + } + _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(unsafe.Pointer(pathPtr)), uintptr(unsafe.Pointer(flagsPtr)), 0) + if e != 0 { + return e + } + return nil +} + +// UnveilBlock blocks future unveil calls. +// For more information see unveil(2). +func UnveilBlock() error { + // Both pointers must be nil. + var pathUnsafe, flagsUnsafe unsafe.Pointer + _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(pathUnsafe), uintptr(flagsUnsafe), 0) + if e != 0 { + return e + } + return nil +} diff --git a/vendor/golang.org/x/sys/unix/xattr_bsd.go b/vendor/golang.org/x/sys/unix/xattr_bsd.go new file mode 100644 index 00000000..30c1d71f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/xattr_bsd.go @@ -0,0 +1,240 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build freebsd netbsd + +package unix + +import ( + "strings" + "unsafe" +) + +// Derive extattr namespace and attribute name + +func xattrnamespace(fullattr string) (ns int, attr string, err error) { + s := strings.IndexByte(fullattr, '.') + if s == -1 { + return -1, "", ENOATTR + } + + namespace := fullattr[0:s] + attr = fullattr[s+1:] + + switch namespace { + case "user": + return EXTATTR_NAMESPACE_USER, attr, nil + case "system": + return EXTATTR_NAMESPACE_SYSTEM, attr, nil + default: + return -1, "", ENOATTR + } +} + +func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) { + if len(dest) > idx { + return unsafe.Pointer(&dest[idx]) + } else { + return unsafe.Pointer(_zero) + } +} + +// FreeBSD and NetBSD implement their own syscalls to handle extended attributes + +func Getxattr(file string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFile(file, nsid, a, uintptr(d), destsize) +} + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize) +} + +func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetLink(link, nsid, a, uintptr(d), destsize) +} + +// flags are unused on FreeBSD + +func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) + return +} + +func Setxattr(file string, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) + return +} + +func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz) + return +} + +func Removexattr(file string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFile(file, nsid, a) + return +} + +func Fremovexattr(fd int, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFd(fd, nsid, a) + return +} + +func Lremovexattr(link string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteLink(link, nsid, a) + return +} + +func Listxattr(file string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + // FreeBSD won't allow you to list xattrs from multiple namespaces + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz) + + /* Errors accessing system attrs are ignored so that + * we can implement the Linux-like behavior of omitting errors that + * we don't have read permissions on + * + * Linux will still error if we ask for user attributes on a file that + * we don't have read permissions on, so don't ignore those errors + */ + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} + +func Llistxattr(link string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go new file mode 100644 index 00000000..1def8a58 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go @@ -0,0 +1,1374 @@ +// mkerrors.sh -maix32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc,aix + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -maix32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BYPASS = 0x19 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_INTF = 0x14 + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x1e + AF_NDD = 0x17 + AF_NETWARE = 0x16 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_RIF = 0x15 + AF_ROUTE = 0x11 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x400000 + ARPHRD_802_3 = 0x6 + ARPHRD_802_5 = 0x6 + ARPHRD_ETHER = 0x1 + ARPHRD_FDDI = 0x1 + B0 = 0x0 + B110 = 0x3 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2400 = 0xb + B300 = 0x7 + B38400 = 0xf + B4800 = 0xc + B50 = 0x1 + B600 = 0x8 + B75 = 0x2 + B9600 = 0xd + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x1000 + BSDLY = 0x1000 + CAP_AACCT = 0x6 + CAP_ARM_APPLICATION = 0x5 + CAP_BYPASS_RAC_VMM = 0x3 + CAP_CLEAR = 0x0 + CAP_CREDENTIALS = 0x7 + CAP_EFFECTIVE = 0x1 + CAP_EWLM_AGENT = 0x4 + CAP_INHERITABLE = 0x2 + CAP_MAXIMUM = 0x7 + CAP_NUMA_ATTACH = 0x2 + CAP_PERMITTED = 0x3 + CAP_PROPAGATE = 0x1 + CAP_PROPOGATE = 0x1 + CAP_SET = 0x1 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_MONOTONIC = 0xa + CLOCK_PROCESS_CPUTIME_ID = 0xb + CLOCK_REALTIME = 0x9 + CLOCK_THREAD_CPUTIME_ID = 0xc + CR0 = 0x0 + CR1 = 0x100 + CR2 = 0x200 + CR3 = 0x300 + CRDLY = 0x300 + CREAD = 0x80 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIOCGIFCONF = -0x3ff796dc + CSIZE = 0x30 + CSMAP_DIR = "/usr/lib/nls/csmap/" + CSTART = '\021' + CSTOP = '\023' + CSTOPB = 0x40 + CSUSP = 0x1a + ECHO = 0x8 + ECHOCTL = 0x20000 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x80000 + ECHONL = 0x40 + ECHOPRT = 0x40000 + ECH_ICMPID = 0x2 + ETHERNET_CSMACD = 0x6 + EVENP = 0x80 + EXCONTINUE = 0x0 + EXDLOK = 0x3 + EXIO = 0x2 + EXPGIO = 0x0 + EXRESUME = 0x2 + EXRETURN = 0x1 + EXSIG = 0x4 + EXTA = 0xe + EXTB = 0xf + EXTRAP = 0x1 + EYEC_RTENTRYA = 0x257274656e747241 + EYEC_RTENTRYF = 0x257274656e747246 + E_ACC = 0x0 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0xfffe + FF0 = 0x0 + FF1 = 0x2000 + FFDLY = 0x2000 + FLUSHBAND = 0x40 + FLUSHLOW = 0x8 + FLUSHO = 0x100000 + FLUSHR = 0x1 + FLUSHRW = 0x3 + FLUSHW = 0x2 + F_CLOSEM = 0xa + F_DUP2FD = 0xe + F_DUPFD = 0x0 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x5 + F_GETLK64 = 0xb + F_GETOWN = 0x8 + F_LOCK = 0x1 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x6 + F_SETLK64 = 0xc + F_SETLKW = 0x7 + F_SETLKW64 = 0xd + F_SETOWN = 0x9 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_TSTLK = 0xf + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMP6_FILTER = 0x26 + ICMP6_SEC_SEND_DEL = 0x46 + ICMP6_SEC_SEND_GET = 0x47 + ICMP6_SEC_SEND_SET = 0x44 + ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 + ICRNL = 0x100 + IEXTEN = 0x200000 + IFA_FIRSTALIAS = 0x2000 + IFA_ROUTE = 0x1 + IFF_64BIT = 0x4000000 + IFF_ALLCAST = 0x20000 + IFF_ALLMULTI = 0x200 + IFF_BPF = 0x8000000 + IFF_BRIDGE = 0x40000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x80c52 + IFF_CHECKSUM_OFFLOAD = 0x10000000 + IFF_D1 = 0x8000 + IFF_D2 = 0x4000 + IFF_D3 = 0x2000 + IFF_D4 = 0x1000 + IFF_DEBUG = 0x4 + IFF_DEVHEALTH = 0x4000 + IFF_DO_HW_LOOPBACK = 0x10000 + IFF_GROUP_ROUTING = 0x2000000 + IFF_IFBUFMGT = 0x800000 + IFF_LINK0 = 0x100000 + IFF_LINK1 = 0x200000 + IFF_LINK2 = 0x400000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x80000 + IFF_NOARP = 0x80 + IFF_NOECHO = 0x800 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_PSEG = 0x40000000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SNAP = 0x8000 + IFF_TCP_DISABLE_CKSUM = 0x20000000 + IFF_TCP_NOCKSUM = 0x1000000 + IFF_UP = 0x1 + IFF_VIPA = 0x80000000 + IFNAMSIZ = 0x10 + IFO_FLUSH = 0x1 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_CLUSTER = 0x3e + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FCS = 0x3a + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIFTUNNEL = 0x3c + IFT_HDH1822 = 0x3 + IFT_HF = 0x3d + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SN = 0x38 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SP = 0x39 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TUNNEL = 0x3b + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_VIPA = 0x37 + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x10000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_USE = 0x1 + IPPROTO_AH = 0x33 + IPPROTO_BIP = 0x53 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GIF = 0x8c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_LOCAL = 0x3f + IPPROTO_MAX = 0x100 + IPPROTO_MH = 0x87 + IPPROTO_NONE = 0x3b + IPPROTO_PUP = 0xc + IPPROTO_QOS = 0x2d + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_ADDRFORM = 0x16 + IPV6_ADDR_PREFERENCES = 0x4a + IPV6_ADD_MEMBERSHIP = 0xc + IPV6_AIXRAWSOCKET = 0x39 + IPV6_CHECKSUM = 0x27 + IPV6_DONTFRAG = 0x2d + IPV6_DROP_MEMBERSHIP = 0xd + IPV6_DSTOPTS = 0x36 + IPV6_FLOWINFO_FLOWLABEL = 0xffffff + IPV6_FLOWINFO_PRIFLOW = 0xfffffff + IPV6_FLOWINFO_PRIORITY = 0xf000000 + IPV6_FLOWINFO_SRFLAG = 0x10000000 + IPV6_FLOWINFO_VERSION = 0xf0000000 + IPV6_HOPLIMIT = 0x28 + IPV6_HOPOPTS = 0x34 + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MIPDSTOPTS = 0x36 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_NOPROBE = 0x1c + IPV6_PATHMTU = 0x2e + IPV6_PKTINFO = 0x21 + IPV6_PKTOPTIONS = 0x24 + IPV6_PRIORITY_10 = 0xa000000 + IPV6_PRIORITY_11 = 0xb000000 + IPV6_PRIORITY_12 = 0xc000000 + IPV6_PRIORITY_13 = 0xd000000 + IPV6_PRIORITY_14 = 0xe000000 + IPV6_PRIORITY_15 = 0xf000000 + IPV6_PRIORITY_8 = 0x8000000 + IPV6_PRIORITY_9 = 0x9000000 + IPV6_PRIORITY_BULK = 0x4000000 + IPV6_PRIORITY_CONTROL = 0x7000000 + IPV6_PRIORITY_FILLER = 0x1000000 + IPV6_PRIORITY_INTERACTIVE = 0x6000000 + IPV6_PRIORITY_RESERVED1 = 0x3000000 + IPV6_PRIORITY_RESERVED2 = 0x5000000 + IPV6_PRIORITY_UNATTENDED = 0x2000000 + IPV6_PRIORITY_UNCHARACTERIZED = 0x0 + IPV6_RECVDSTOPTS = 0x38 + IPV6_RECVHOPLIMIT = 0x29 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVHOPS = 0x22 + IPV6_RECVIF = 0x1e + IPV6_RECVPATHMTU = 0x2f + IPV6_RECVPKTINFO = 0x23 + IPV6_RECVRTHDR = 0x33 + IPV6_RECVSRCRT = 0x1d + IPV6_RECVTCLASS = 0x2a + IPV6_RTHDR = 0x32 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RTHDR_TYPE_2 = 0x2 + IPV6_SENDIF = 0x1f + IPV6_SRFLAG_LOOSE = 0x0 + IPV6_SRFLAG_STRICT = 0x10000000 + IPV6_TCLASS = 0x2b + IPV6_TOKEN_LENGTH = 0x40 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2c + IPV6_V6ONLY = 0x25 + IPV6_VERSION = 0x60000000 + IP_ADDRFORM = 0x16 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x3c + IP_BLOCK_SOURCE = 0x3a + IP_BROADCAST_IF = 0x10 + IP_CACHE_LINE_SIZE = 0x80 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPMODE = 0x11 + IP_DONTFRAG = 0x19 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x3d + IP_FINDPMTU = 0x1a + IP_HDRINCL = 0x2 + IP_INC_MEMBERSHIPS = 0x14 + IP_INIT_MEMBERSHIP = 0x14 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_HOPS = 0xa + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OPT = 0x1b + IP_OPTIONS = 0x1 + IP_PMTUAGE = 0x1b + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVIFINFO = 0xf + IP_RECVINTERFACE = 0x20 + IP_RECVMACHDR = 0xe + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x22 + IP_RETOPTS = 0x8 + IP_SOURCE_FILTER = 0x48 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x3b + IP_UNICAST_HOPS = 0x4 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x800 + IXANY = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + I_FLUSH = 0x20005305 + LNOFLSH = 0x8000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x10 + MAP_ANONYMOUS = 0x10 + MAP_FILE = 0x0 + MAP_FIXED = 0x100 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_TYPE = 0xf0 + MAP_VARIABLE = 0x0 + MCL_CURRENT = 0x100 + MCL_FUTURE = 0x200 + MSG_ANY = 0x4 + MSG_ARGEXT = 0x400 + MSG_BAND = 0x2 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_EOR = 0x8 + MSG_HIPRI = 0x1 + MSG_MAXIOVLEN = 0x10 + MSG_MPEG2 = 0x80 + MSG_NONBLOCK = 0x4000 + MSG_NOSIGNAL = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x200 + MS_ASYNC = 0x10 + MS_EINTR = 0x80 + MS_INVALIDATE = 0x40 + MS_PER_SEC = 0x3e8 + MS_SYNC = 0x20 + NL0 = 0x0 + NL1 = 0x4000 + NL2 = 0x8000 + NL3 = 0xc000 + NLDLY = 0x4000 + NOFLSH = 0x80 + NOFLUSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + ONOEOT = 0x80000 + OPOST = 0x1 + OXTABS = 0x40000 + O_ACCMODE = 0x23 + O_APPEND = 0x8 + O_CIO = 0x80 + O_CIOR = 0x800000000 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DEFER = 0x2000 + O_DELAY = 0x4000 + O_DIRECT = 0x8000000 + O_DIRECTORY = 0x80000 + O_DSYNC = 0x400000 + O_EFSOFF = 0x400000000 + O_EFSON = 0x200000000 + O_EXCL = 0x400 + O_EXEC = 0x20 + O_LARGEFILE = 0x4000000 + O_NDELAY = 0x8000 + O_NOCACHE = 0x100000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x1000000 + O_NONBLOCK = 0x4 + O_NONE = 0x3 + O_NSHARE = 0x10000 + O_RAW = 0x100000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSHARE = 0x1000 + O_RSYNC = 0x200000 + O_SEARCH = 0x20 + O_SNAPSHOT = 0x40 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_TTY_INIT = 0x0 + O_WRONLY = 0x1 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_64BIT = 0x20 + PR_ADDR = 0x2 + PR_ARGEXT = 0x400 + PR_ATOMIC = 0x1 + PR_CONNREQUIRED = 0x4 + PR_FASTHZ = 0x5 + PR_INP = 0x40 + PR_INTRLEVEL = 0x8000 + PR_MLS = 0x100 + PR_MLS_1_LABEL = 0x200 + PR_NOEOR = 0x4000 + PR_RIGHTS = 0x10 + PR_SLOWHZ = 0x2 + PR_WANTRCVD = 0x8 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x9 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DOWNSTREAM = 0x100 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTC_IA64 = 0x3 + RTC_POWER = 0x1 + RTC_POWER_PC = 0x2 + RTF_ACTIVE_DGD = 0x1000000 + RTF_BCE = 0x80000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_BUL = 0x2000 + RTF_CLONE = 0x10000 + RTF_CLONED = 0x20000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FREE_IN_PROG = 0x4000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PERMANENT6 = 0x8000000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_SMALLMTU = 0x40000 + RTF_STATIC = 0x800 + RTF_STOPSRCH = 0x2000000 + RTF_UNREACHABLE = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_EXPIRE = 0xf + RTM_GET = 0x4 + RTM_GETNEXT = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTLOST = 0x10 + RTM_RTTUNIT = 0xf4240 + RTM_SAMEADDR = 0x12 + RTM_SET = 0x13 + RTM_VERSION = 0x2 + RTM_VERSION_GR = 0x4 + RTM_VERSION_GR_COMPAT = 0x3 + RTM_VERSION_POLICY = 0x5 + RTM_VERSION_POLICY_EXT = 0x6 + RTM_VERSION_POLICY_PRFN = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIGMAX64 = 0xff + SIGQUEUE_MAX = 0x20 + SIOCADDIFVIPA = 0x20006942 + SIOCADDMTU = -0x7ffb9690 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDNETID = -0x7fd796a9 + SIOCADDRT = -0x7fcf8df6 + SIOCAIFADDR = -0x7fbf96e6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fb396e0 + SIOCDELIFVIPA = 0x20006943 + SIOCDELMTU = -0x7ffb968f + SIOCDELMULTI = -0x7fdf96ce + SIOCDELPMTU = -0x7fd78ff6 + SIOCDELRT = -0x7fcf8df5 + SIOCDIFADDR = -0x7fd796e7 + SIOCDNETOPT = -0x3ffe9680 + SIOCDX25XLATE = -0x7fd7969b + SIOCFIFADDR = -0x7fdf966d + SIOCGARP = -0x3fb396da + SIOCGETMTUS = 0x2000696f + SIOCGETSGCNT = -0x3feb8acc + SIOCGETVIFCNT = -0x3feb8acd + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fd796df + SIOCGIFADDRS = 0x2000698c + SIOCGIFBAUDRATE = -0x3fd79693 + SIOCGIFBRDADDR = -0x3fd796dd + SIOCGIFCONF = -0x3ff796bb + SIOCGIFCONFGLOB = -0x3ff79670 + SIOCGIFDSTADDR = -0x3fd796de + SIOCGIFFLAGS = -0x3fd796ef + SIOCGIFGIDLIST = 0x20006968 + SIOCGIFHWADDR = -0x3fab966b + SIOCGIFMETRIC = -0x3fd796e9 + SIOCGIFMTU = -0x3fd796aa + SIOCGIFNETMASK = -0x3fd796db + SIOCGIFOPTIONS = -0x3fd796d6 + SIOCGISNO = -0x3fd79695 + SIOCGLOADF = -0x3ffb967e + SIOCGLOWAT = 0x40047303 + SIOCGNETOPT = -0x3ffe96a5 + SIOCGNETOPT1 = -0x3fdf967f + SIOCGNMTUS = 0x2000696e + SIOCGPGRP = 0x40047309 + SIOCGSIZIFCONF = 0x4004696a + SIOCGSRCFILTER = -0x3fe796cb + SIOCGTUNEPHASE = -0x3ffb9676 + SIOCGX25XLATE = -0x3fd7969c + SIOCIFATTACH = -0x7fdf9699 + SIOCIFDETACH = -0x7fdf969a + SIOCIFGETPKEY = -0x7fdf969b + SIOCIF_ATM_DARP = -0x7fdf9683 + SIOCIF_ATM_DUMPARP = -0x7fdf9685 + SIOCIF_ATM_GARP = -0x7fdf9682 + SIOCIF_ATM_IDLE = -0x7fdf9686 + SIOCIF_ATM_SARP = -0x7fdf9681 + SIOCIF_ATM_SNMPARP = -0x7fdf9687 + SIOCIF_ATM_SVC = -0x7fdf9684 + SIOCIF_ATM_UBR = -0x7fdf9688 + SIOCIF_DEVHEALTH = -0x7ffb966c + SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 + SIOCIF_IB_ARP_TIMER = -0x7fdf9678 + SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f + SIOCIF_IB_DEL_ARP = -0x7fdf967f + SIOCIF_IB_DEL_PINFO = -0x3fdf9670 + SIOCIF_IB_DUMP_ARP = -0x7fdf9680 + SIOCIF_IB_GET_ARP = -0x7fdf967e + SIOCIF_IB_GET_INFO = -0x3f879675 + SIOCIF_IB_GET_STATS = -0x3f879672 + SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a + SIOCIF_IB_RESET_STATS = -0x3f879671 + SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 + SIOCIF_IB_SET_ARP = -0x7fdf967d + SIOCIF_IB_SET_PKEY = -0x7fdf967c + SIOCIF_IB_SET_PORT = -0x7fdf967b + SIOCIF_IB_SET_QKEY = -0x7fdf9676 + SIOCIF_IB_SET_QSIZE = -0x7fdf967a + SIOCLISTIFVIPA = 0x20006944 + SIOCSARP = -0x7fb396e2 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = -0x7fd796f4 + SIOCSIFADDRORI = -0x7fdb9673 + SIOCSIFBRDADDR = -0x7fd796ed + SIOCSIFDSTADDR = -0x7fd796f2 + SIOCSIFFLAGS = -0x7fd796f0 + SIOCSIFGIDLIST = 0x20006969 + SIOCSIFMETRIC = -0x7fd796e8 + SIOCSIFMTU = -0x7fd796a8 + SIOCSIFNETDUMP = -0x7fd796e4 + SIOCSIFNETMASK = -0x7fd796ea + SIOCSIFOPTIONS = -0x7fd796d7 + SIOCSIFSUBCHAN = -0x7fd796e5 + SIOCSISNO = -0x7fd79694 + SIOCSLOADF = -0x3ffb967d + SIOCSLOWAT = 0x80047302 + SIOCSNETOPT = -0x7ffe96a6 + SIOCSPGRP = 0x80047308 + SIOCSX25XLATE = -0x7fd7969d + SOCK_CONN_DGRAM = 0x6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x400 + SO_ACCEPTCONN = 0x2 + SO_AUDIT = 0x8000 + SO_BROADCAST = 0x20 + SO_CKSUMRECV = 0x800 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_KERNACCEPT = 0x2000 + SO_LINGER = 0x80 + SO_NOMULTIPATH = 0x4000 + SO_NOREUSEADDR = 0x1000 + SO_OOBINLINE = 0x100 + SO_PEERID = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMPNS = 0x100a + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USE_IFBUFS = 0x400 + S_BANDURG = 0x400 + S_EMODFMT = 0x3c000000 + S_ENFMT = 0x400 + S_ERROR = 0x100 + S_HANGUP = 0x200 + S_HIPRI = 0x2 + S_ICRYPTO = 0x80000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFJOURNAL = 0x10000 + S_IFLNK = 0xa000 + S_IFMPX = 0x2200 + S_IFMT = 0xf000 + S_IFPDIR = 0x4000000 + S_IFPSDIR = 0x8000000 + S_IFPSSDIR = 0xc000000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFSYSEA = 0x30000000 + S_INPUT = 0x1 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_ITCB = 0x1000000 + S_ITP = 0x800000 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXACL = 0x2000000 + S_IXATTR = 0x40000 + S_IXGRP = 0x8 + S_IXINTERFACE = 0x100000 + S_IXMOD = 0x40000000 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_MSG = 0x8 + S_OUTPUT = 0x4 + S_RDBAND = 0x20 + S_RDNORM = 0x10 + S_RESERVED1 = 0x20000 + S_RESERVED2 = 0x200000 + S_RESERVED3 = 0x400000 + S_RESERVED4 = 0x80000000 + S_RESFMT1 = 0x10000000 + S_RESFMT10 = 0x34000000 + S_RESFMT11 = 0x38000000 + S_RESFMT12 = 0x3c000000 + S_RESFMT2 = 0x14000000 + S_RESFMT3 = 0x18000000 + S_RESFMT4 = 0x1c000000 + S_RESFMT5 = 0x20000000 + S_RESFMT6 = 0x24000000 + S_RESFMT7 = 0x28000000 + S_RESFMT8 = 0x2c000000 + S_WRBAND = 0x80 + S_WRNORM = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x540c + TCGETA = 0x5405 + TCGETS = 0x5401 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 + TCP_ACLADD = 0x23 + TCP_ACLBIND = 0x26 + TCP_ACLCLEAR = 0x22 + TCP_ACLDEL = 0x24 + TCP_ACLDENY = 0x8 + TCP_ACLFLUSH = 0x21 + TCP_ACLGID = 0x1 + TCP_ACLLS = 0x25 + TCP_ACLSUBNET = 0x4 + TCP_ACLUID = 0x2 + TCP_CWND_DF = 0x16 + TCP_CWND_IF = 0x15 + TCP_DELAY_ACK_FIN = 0x2 + TCP_DELAY_ACK_SYN = 0x1 + TCP_FASTNAME = 0x101080a + TCP_KEEPCNT = 0x13 + TCP_KEEPIDLE = 0x11 + TCP_KEEPINTVL = 0x12 + TCP_LSPRIV = 0x29 + TCP_LUID = 0x20 + TCP_MAXBURST = 0x8 + TCP_MAXDF = 0x64 + TCP_MAXIF = 0x64 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAXWINDOWSCALE = 0xe + TCP_MAX_SACK = 0x4 + TCP_MSS = 0x5b4 + TCP_NODELAY = 0x1 + TCP_NODELAYACK = 0x14 + TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 + TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 + TCP_NOTENTER_SSTART = 0x17 + TCP_OPT = 0x19 + TCP_RFC1323 = 0x4 + TCP_SETPRIV = 0x27 + TCP_STDURG = 0x10 + TCP_TIMESTAMP_OPTLEN = 0xc + TCP_UNSETPRIV = 0x28 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETSF = 0x5404 + TCSETSW = 0x5403 + TCXONC = 0x540b + TIMER_ABSTIME = 0x3e7 + TIMER_MAX = 0x20 + TIOC = 0x5400 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCEXCL = 0x2000740d + TIOCFLUSH = 0x80047410 + TIOCGETC = 0x40067412 + TIOCGETD = 0x40047400 + TIOCGETP = 0x40067408 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047448 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCHPCL = 0x20007402 + TIOCLBIC = 0x8004747e + TIOCLBIS = 0x8004747f + TIOCLGET = 0x4004747c + TIOCLSET = 0x8004747d + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0x80047464 + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSDTR = 0x20007479 + TIOCSETC = 0x80067411 + TIOCSETD = 0x80047401 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x10000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x3 + VDISCRD = 0xc + VDSUSP = 0xa + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xe + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0x7 + VSTOP = 0x8 + VSTRT = 0x7 + VSUSP = 0x9 + VT0 = 0x0 + VT1 = 0x8000 + VTDELAY = 0x2000 + VTDLY = 0x8000 + VTIME = 0x5 + VWERSE = 0xd + WPARSTART = 0x1 + WPARSTOP = 0x2 + WPARTTYNAME = "Global" + XCASE = 0x4 + XTABS = 0xc00 + _FDATAFLUSH = 0x2000000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x43) + EADDRNOTAVAIL = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x42) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x38) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x78) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x75) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECLONEME = syscall.Errno(0x52) + ECONNABORTED = syscall.Errno(0x48) + ECONNREFUSED = syscall.Errno(0x4f) + ECONNRESET = syscall.Errno(0x49) + ECORRUPT = syscall.Errno(0x59) + EDEADLK = syscall.Errno(0x2d) + EDESTADDREQ = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x3a) + EDIST = syscall.Errno(0x35) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x58) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFORMAT = syscall.Errno(0x30) + EHOSTDOWN = syscall.Errno(0x50) + EHOSTUNREACH = syscall.Errno(0x51) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x74) + EINPROGRESS = syscall.Errno(0x37) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x4b) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x55) + EMEDIA = syscall.Errno(0x6e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x3b) + EMULTIHOP = syscall.Errno(0x7d) + ENAMETOOLONG = syscall.Errno(0x56) + ENETDOWN = syscall.Errno(0x45) + ENETRESET = syscall.Errno(0x47) + ENETUNREACH = syscall.Errno(0x46) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x70) + ENOBUFS = syscall.Errno(0x4a) + ENOCONNECT = syscall.Errno(0x32) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x7a) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x31) + ENOLINK = syscall.Errno(0x7e) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENOPROTOOPT = syscall.Errno(0x3d) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x76) + ENOSTR = syscall.Errno(0x7b) + ENOSYS = syscall.Errno(0x6d) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x4c) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x11) + ENOTREADY = syscall.Errno(0x2e) + ENOTRECOVERABLE = syscall.Errno(0x5e) + ENOTRUST = syscall.Errno(0x72) + ENOTSOCK = syscall.Errno(0x39) + ENOTSUP = syscall.Errno(0x7c) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x40) + EOVERFLOW = syscall.Errno(0x7f) + EOWNERDEAD = syscall.Errno(0x5f) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x41) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x53) + EPROTO = syscall.Errno(0x79) + EPROTONOSUPPORT = syscall.Errno(0x3e) + EPROTOTYPE = syscall.Errno(0x3c) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x5d) + ERESTART = syscall.Errno(0x52) + EROFS = syscall.Errno(0x1e) + ESAD = syscall.Errno(0x71) + ESHUTDOWN = syscall.Errno(0x4d) + ESOCKTNOSUPPORT = syscall.Errno(0x3f) + ESOFT = syscall.Errno(0x6f) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x34) + ESYSERROR = syscall.Errno(0x5a) + ETIME = syscall.Errno(0x77) + ETIMEDOUT = syscall.Errno(0x4e) + ETOOMANYREFS = syscall.Errno(0x73) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x54) + EWOULDBLOCK = syscall.Errno(0xb) + EWRPROTECT = syscall.Errno(0x2f) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGAIO = syscall.Signal(0x17) + SIGALRM = syscall.Signal(0xe) + SIGALRM1 = syscall.Signal(0x26) + SIGBUS = syscall.Signal(0xa) + SIGCAPI = syscall.Signal(0x31) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGCPUFAIL = syscall.Signal(0x3b) + SIGDANGER = syscall.Signal(0x21) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGGRANT = syscall.Signal(0x3c) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOINT = syscall.Signal(0x10) + SIGIOT = syscall.Signal(0x6) + SIGKAP = syscall.Signal(0x3c) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x6) + SIGMAX = syscall.Signal(0x3f) + SIGMAX32 = syscall.Signal(0x3f) + SIGMIGRATE = syscall.Signal(0x23) + SIGMSG = syscall.Signal(0x1b) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPRE = syscall.Signal(0x24) + SIGPROF = syscall.Signal(0x20) + SIGPTY = syscall.Signal(0x17) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGRECONFIG = syscall.Signal(0x3a) + SIGRETRACT = syscall.Signal(0x3d) + SIGSAK = syscall.Signal(0x3f) + SIGSEGV = syscall.Signal(0xb) + SIGSOUND = syscall.Signal(0x3e) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGSYSERROR = syscall.Signal(0x30) + SIGTALRM = syscall.Signal(0x26) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVIRT = syscall.Signal(0x25) + SIGVTALRM = syscall.Signal(0x22) + SIGWAITING = syscall.Signal(0x27) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EWOULDBLOCK", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "ENOTEMPTY", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "not a typewriter"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock condition if locked"}, + {46, "ENOTREADY", "device not ready"}, + {47, "EWRPROTECT", "write-protected media"}, + {48, "EFORMAT", "unformatted or incompatible media"}, + {49, "ENOLCK", "no locks available"}, + {50, "ENOCONNECT", "cannot Establish Connection"}, + {52, "ESTALE", "missing file or filesystem"}, + {53, "EDIST", "requests blocked by Administrator"}, + {55, "EINPROGRESS", "operation now in progress"}, + {56, "EALREADY", "operation already in progress"}, + {57, "ENOTSOCK", "socket operation on non-socket"}, + {58, "EDESTADDREQ", "destination address required"}, + {59, "EMSGSIZE", "message too long"}, + {60, "EPROTOTYPE", "protocol wrong type for socket"}, + {61, "ENOPROTOOPT", "protocol not available"}, + {62, "EPROTONOSUPPORT", "protocol not supported"}, + {63, "ESOCKTNOSUPPORT", "socket type not supported"}, + {64, "EOPNOTSUPP", "operation not supported on socket"}, + {65, "EPFNOSUPPORT", "protocol family not supported"}, + {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, + {67, "EADDRINUSE", "address already in use"}, + {68, "EADDRNOTAVAIL", "can't assign requested address"}, + {69, "ENETDOWN", "network is down"}, + {70, "ENETUNREACH", "network is unreachable"}, + {71, "ENETRESET", "network dropped connection on reset"}, + {72, "ECONNABORTED", "software caused connection abort"}, + {73, "ECONNRESET", "connection reset by peer"}, + {74, "ENOBUFS", "no buffer space available"}, + {75, "EISCONN", "socket is already connected"}, + {76, "ENOTCONN", "socket is not connected"}, + {77, "ESHUTDOWN", "can't send after socket shutdown"}, + {78, "ETIMEDOUT", "connection timed out"}, + {79, "ECONNREFUSED", "connection refused"}, + {80, "EHOSTDOWN", "host is down"}, + {81, "EHOSTUNREACH", "no route to host"}, + {82, "ERESTART", "restart the system call"}, + {83, "EPROCLIM", "too many processes"}, + {84, "EUSERS", "too many users"}, + {85, "ELOOP", "too many levels of symbolic links"}, + {86, "ENAMETOOLONG", "file name too long"}, + {88, "EDQUOT", "disk quota exceeded"}, + {89, "ECORRUPT", "invalid file system control data detected"}, + {90, "ESYSERROR", "for future use "}, + {93, "EREMOTE", "item is not local to host"}, + {94, "ENOTRECOVERABLE", "state not recoverable "}, + {95, "EOWNERDEAD", "previous owner died "}, + {109, "ENOSYS", "function not implemented"}, + {110, "EMEDIA", "media surface error"}, + {111, "ESOFT", "I/O completed, but needs relocation"}, + {112, "ENOATTR", "no attribute found"}, + {113, "ESAD", "security Authentication Denied"}, + {114, "ENOTRUST", "not a Trusted Program"}, + {115, "ETOOMANYREFS", "too many references: can't splice"}, + {116, "EILSEQ", "invalid wide character"}, + {117, "ECANCELED", "asynchronous I/O cancelled"}, + {118, "ENOSR", "out of STREAMS resources"}, + {119, "ETIME", "system call timed out"}, + {120, "EBADMSG", "next message has wrong type"}, + {121, "EPROTO", "error in protocol"}, + {122, "ENODATA", "no message on stream head read q"}, + {123, "ENOSTR", "fd not associated with a stream"}, + {124, "ENOTSUP", "unsupported attribute value"}, + {125, "EMULTIHOP", "multihop is not allowed"}, + {126, "ENOLINK", "the server link has been severed"}, + {127, "EOVERFLOW", "value too large to be stored in data type"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "IOT/Abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible/complete"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {27, "SIGMSG", "input device data"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGPWR", "power-failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPROF", "profiling timer expired"}, + {33, "SIGDANGER", "paging space low"}, + {34, "SIGVTALRM", "virtual timer expired"}, + {35, "SIGMIGRATE", "signal 35"}, + {36, "SIGPRE", "signal 36"}, + {37, "SIGVIRT", "signal 37"}, + {38, "SIGTALRM", "signal 38"}, + {39, "SIGWAITING", "signal 39"}, + {48, "SIGSYSERROR", "signal 48"}, + {49, "SIGCAPI", "signal 49"}, + {58, "SIGRECONFIG", "signal 58"}, + {59, "SIGCPUFAIL", "CPU Failure Predicted"}, + {60, "SIGKAP", "monitor mode granted"}, + {61, "SIGRETRACT", "monitor mode retracted"}, + {62, "SIGSOUND", "sound completed"}, + {63, "SIGSAK", "secure attention"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go new file mode 100644 index 00000000..03187dea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go @@ -0,0 +1,1375 @@ +// mkerrors.sh -maix64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,aix + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -maix64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BYPASS = 0x19 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_INTF = 0x14 + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x1e + AF_NDD = 0x17 + AF_NETWARE = 0x16 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_RIF = 0x15 + AF_ROUTE = 0x11 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x400000 + ARPHRD_802_3 = 0x6 + ARPHRD_802_5 = 0x6 + ARPHRD_ETHER = 0x1 + ARPHRD_FDDI = 0x1 + B0 = 0x0 + B110 = 0x3 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2400 = 0xb + B300 = 0x7 + B38400 = 0xf + B4800 = 0xc + B50 = 0x1 + B600 = 0x8 + B75 = 0x2 + B9600 = 0xd + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x1000 + BSDLY = 0x1000 + CAP_AACCT = 0x6 + CAP_ARM_APPLICATION = 0x5 + CAP_BYPASS_RAC_VMM = 0x3 + CAP_CLEAR = 0x0 + CAP_CREDENTIALS = 0x7 + CAP_EFFECTIVE = 0x1 + CAP_EWLM_AGENT = 0x4 + CAP_INHERITABLE = 0x2 + CAP_MAXIMUM = 0x7 + CAP_NUMA_ATTACH = 0x2 + CAP_PERMITTED = 0x3 + CAP_PROPAGATE = 0x1 + CAP_PROPOGATE = 0x1 + CAP_SET = 0x1 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_MONOTONIC = 0xa + CLOCK_PROCESS_CPUTIME_ID = 0xb + CLOCK_REALTIME = 0x9 + CLOCK_THREAD_CPUTIME_ID = 0xc + CR0 = 0x0 + CR1 = 0x100 + CR2 = 0x200 + CR3 = 0x300 + CRDLY = 0x300 + CREAD = 0x80 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIOCGIFCONF = -0x3fef96dc + CSIZE = 0x30 + CSMAP_DIR = "/usr/lib/nls/csmap/" + CSTART = '\021' + CSTOP = '\023' + CSTOPB = 0x40 + CSUSP = 0x1a + ECHO = 0x8 + ECHOCTL = 0x20000 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x80000 + ECHONL = 0x40 + ECHOPRT = 0x40000 + ECH_ICMPID = 0x2 + ETHERNET_CSMACD = 0x6 + EVENP = 0x80 + EXCONTINUE = 0x0 + EXDLOK = 0x3 + EXIO = 0x2 + EXPGIO = 0x0 + EXRESUME = 0x2 + EXRETURN = 0x1 + EXSIG = 0x4 + EXTA = 0xe + EXTB = 0xf + EXTRAP = 0x1 + EYEC_RTENTRYA = 0x257274656e747241 + EYEC_RTENTRYF = 0x257274656e747246 + E_ACC = 0x0 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0xfffe + FF0 = 0x0 + FF1 = 0x2000 + FFDLY = 0x2000 + FLUSHBAND = 0x40 + FLUSHLOW = 0x8 + FLUSHO = 0x100000 + FLUSHR = 0x1 + FLUSHRW = 0x3 + FLUSHW = 0x2 + F_CLOSEM = 0xa + F_DUP2FD = 0xe + F_DUPFD = 0x0 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETLK64 = 0xb + F_GETOWN = 0x8 + F_LOCK = 0x1 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLK64 = 0xc + F_SETLKW = 0xd + F_SETLKW64 = 0xd + F_SETOWN = 0x9 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_TSTLK = 0xf + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMP6_FILTER = 0x26 + ICMP6_SEC_SEND_DEL = 0x46 + ICMP6_SEC_SEND_GET = 0x47 + ICMP6_SEC_SEND_SET = 0x44 + ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 + ICRNL = 0x100 + IEXTEN = 0x200000 + IFA_FIRSTALIAS = 0x2000 + IFA_ROUTE = 0x1 + IFF_64BIT = 0x4000000 + IFF_ALLCAST = 0x20000 + IFF_ALLMULTI = 0x200 + IFF_BPF = 0x8000000 + IFF_BRIDGE = 0x40000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x80c52 + IFF_CHECKSUM_OFFLOAD = 0x10000000 + IFF_D1 = 0x8000 + IFF_D2 = 0x4000 + IFF_D3 = 0x2000 + IFF_D4 = 0x1000 + IFF_DEBUG = 0x4 + IFF_DEVHEALTH = 0x4000 + IFF_DO_HW_LOOPBACK = 0x10000 + IFF_GROUP_ROUTING = 0x2000000 + IFF_IFBUFMGT = 0x800000 + IFF_LINK0 = 0x100000 + IFF_LINK1 = 0x200000 + IFF_LINK2 = 0x400000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x80000 + IFF_NOARP = 0x80 + IFF_NOECHO = 0x800 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_PSEG = 0x40000000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SNAP = 0x8000 + IFF_TCP_DISABLE_CKSUM = 0x20000000 + IFF_TCP_NOCKSUM = 0x1000000 + IFF_UP = 0x1 + IFF_VIPA = 0x80000000 + IFNAMSIZ = 0x10 + IFO_FLUSH = 0x1 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_CLUSTER = 0x3e + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FCS = 0x3a + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIFTUNNEL = 0x3c + IFT_HDH1822 = 0x3 + IFT_HF = 0x3d + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SN = 0x38 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SP = 0x39 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TUNNEL = 0x3b + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_VIPA = 0x37 + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x10000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_USE = 0x1 + IPPROTO_AH = 0x33 + IPPROTO_BIP = 0x53 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GIF = 0x8c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_LOCAL = 0x3f + IPPROTO_MAX = 0x100 + IPPROTO_MH = 0x87 + IPPROTO_NONE = 0x3b + IPPROTO_PUP = 0xc + IPPROTO_QOS = 0x2d + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_ADDRFORM = 0x16 + IPV6_ADDR_PREFERENCES = 0x4a + IPV6_ADD_MEMBERSHIP = 0xc + IPV6_AIXRAWSOCKET = 0x39 + IPV6_CHECKSUM = 0x27 + IPV6_DONTFRAG = 0x2d + IPV6_DROP_MEMBERSHIP = 0xd + IPV6_DSTOPTS = 0x36 + IPV6_FLOWINFO_FLOWLABEL = 0xffffff + IPV6_FLOWINFO_PRIFLOW = 0xfffffff + IPV6_FLOWINFO_PRIORITY = 0xf000000 + IPV6_FLOWINFO_SRFLAG = 0x10000000 + IPV6_FLOWINFO_VERSION = 0xf0000000 + IPV6_HOPLIMIT = 0x28 + IPV6_HOPOPTS = 0x34 + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MIPDSTOPTS = 0x36 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_NOPROBE = 0x1c + IPV6_PATHMTU = 0x2e + IPV6_PKTINFO = 0x21 + IPV6_PKTOPTIONS = 0x24 + IPV6_PRIORITY_10 = 0xa000000 + IPV6_PRIORITY_11 = 0xb000000 + IPV6_PRIORITY_12 = 0xc000000 + IPV6_PRIORITY_13 = 0xd000000 + IPV6_PRIORITY_14 = 0xe000000 + IPV6_PRIORITY_15 = 0xf000000 + IPV6_PRIORITY_8 = 0x8000000 + IPV6_PRIORITY_9 = 0x9000000 + IPV6_PRIORITY_BULK = 0x4000000 + IPV6_PRIORITY_CONTROL = 0x7000000 + IPV6_PRIORITY_FILLER = 0x1000000 + IPV6_PRIORITY_INTERACTIVE = 0x6000000 + IPV6_PRIORITY_RESERVED1 = 0x3000000 + IPV6_PRIORITY_RESERVED2 = 0x5000000 + IPV6_PRIORITY_UNATTENDED = 0x2000000 + IPV6_PRIORITY_UNCHARACTERIZED = 0x0 + IPV6_RECVDSTOPTS = 0x38 + IPV6_RECVHOPLIMIT = 0x29 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVHOPS = 0x22 + IPV6_RECVIF = 0x1e + IPV6_RECVPATHMTU = 0x2f + IPV6_RECVPKTINFO = 0x23 + IPV6_RECVRTHDR = 0x33 + IPV6_RECVSRCRT = 0x1d + IPV6_RECVTCLASS = 0x2a + IPV6_RTHDR = 0x32 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RTHDR_TYPE_2 = 0x2 + IPV6_SENDIF = 0x1f + IPV6_SRFLAG_LOOSE = 0x0 + IPV6_SRFLAG_STRICT = 0x10000000 + IPV6_TCLASS = 0x2b + IPV6_TOKEN_LENGTH = 0x40 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2c + IPV6_V6ONLY = 0x25 + IPV6_VERSION = 0x60000000 + IP_ADDRFORM = 0x16 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x3c + IP_BLOCK_SOURCE = 0x3a + IP_BROADCAST_IF = 0x10 + IP_CACHE_LINE_SIZE = 0x80 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPMODE = 0x11 + IP_DONTFRAG = 0x19 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x3d + IP_FINDPMTU = 0x1a + IP_HDRINCL = 0x2 + IP_INC_MEMBERSHIPS = 0x14 + IP_INIT_MEMBERSHIP = 0x14 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_HOPS = 0xa + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OPT = 0x1b + IP_OPTIONS = 0x1 + IP_PMTUAGE = 0x1b + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVIFINFO = 0xf + IP_RECVINTERFACE = 0x20 + IP_RECVMACHDR = 0xe + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x22 + IP_RETOPTS = 0x8 + IP_SOURCE_FILTER = 0x48 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x3b + IP_UNICAST_HOPS = 0x4 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x800 + IXANY = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + I_FLUSH = 0x20005305 + LNOFLSH = 0x8000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x10 + MAP_ANONYMOUS = 0x10 + MAP_FILE = 0x0 + MAP_FIXED = 0x100 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_TYPE = 0xf0 + MAP_VARIABLE = 0x0 + MCL_CURRENT = 0x100 + MCL_FUTURE = 0x200 + MSG_ANY = 0x4 + MSG_ARGEXT = 0x400 + MSG_BAND = 0x2 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_EOR = 0x8 + MSG_HIPRI = 0x1 + MSG_MAXIOVLEN = 0x10 + MSG_MPEG2 = 0x80 + MSG_NONBLOCK = 0x4000 + MSG_NOSIGNAL = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x200 + MS_ASYNC = 0x10 + MS_EINTR = 0x80 + MS_INVALIDATE = 0x40 + MS_PER_SEC = 0x3e8 + MS_SYNC = 0x20 + NL0 = 0x0 + NL1 = 0x4000 + NL2 = 0x8000 + NL3 = 0xc000 + NLDLY = 0x4000 + NOFLSH = 0x80 + NOFLUSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + ONOEOT = 0x80000 + OPOST = 0x1 + OXTABS = 0x40000 + O_ACCMODE = 0x23 + O_APPEND = 0x8 + O_CIO = 0x80 + O_CIOR = 0x800000000 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DEFER = 0x2000 + O_DELAY = 0x4000 + O_DIRECT = 0x8000000 + O_DIRECTORY = 0x80000 + O_DSYNC = 0x400000 + O_EFSOFF = 0x400000000 + O_EFSON = 0x200000000 + O_EXCL = 0x400 + O_EXEC = 0x20 + O_LARGEFILE = 0x4000000 + O_NDELAY = 0x8000 + O_NOCACHE = 0x100000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x1000000 + O_NONBLOCK = 0x4 + O_NONE = 0x3 + O_NSHARE = 0x10000 + O_RAW = 0x100000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSHARE = 0x1000 + O_RSYNC = 0x200000 + O_SEARCH = 0x20 + O_SNAPSHOT = 0x40 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_TTY_INIT = 0x0 + O_WRONLY = 0x1 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_64BIT = 0x20 + PR_ADDR = 0x2 + PR_ARGEXT = 0x400 + PR_ATOMIC = 0x1 + PR_CONNREQUIRED = 0x4 + PR_FASTHZ = 0x5 + PR_INP = 0x40 + PR_INTRLEVEL = 0x8000 + PR_MLS = 0x100 + PR_MLS_1_LABEL = 0x200 + PR_NOEOR = 0x4000 + PR_RIGHTS = 0x10 + PR_SLOWHZ = 0x2 + PR_WANTRCVD = 0x8 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x9 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DOWNSTREAM = 0x100 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTC_IA64 = 0x3 + RTC_POWER = 0x1 + RTC_POWER_PC = 0x2 + RTF_ACTIVE_DGD = 0x1000000 + RTF_BCE = 0x80000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_BUL = 0x2000 + RTF_CLONE = 0x10000 + RTF_CLONED = 0x20000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FREE_IN_PROG = 0x4000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PERMANENT6 = 0x8000000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_SMALLMTU = 0x40000 + RTF_STATIC = 0x800 + RTF_STOPSRCH = 0x2000000 + RTF_UNREACHABLE = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_EXPIRE = 0xf + RTM_GET = 0x4 + RTM_GETNEXT = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTLOST = 0x10 + RTM_RTTUNIT = 0xf4240 + RTM_SAMEADDR = 0x12 + RTM_SET = 0x13 + RTM_VERSION = 0x2 + RTM_VERSION_GR = 0x4 + RTM_VERSION_GR_COMPAT = 0x3 + RTM_VERSION_POLICY = 0x5 + RTM_VERSION_POLICY_EXT = 0x6 + RTM_VERSION_POLICY_PRFN = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIGMAX64 = 0xff + SIGQUEUE_MAX = 0x20 + SIOCADDIFVIPA = 0x20006942 + SIOCADDMTU = -0x7ffb9690 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDNETID = -0x7fd796a9 + SIOCADDRT = -0x7fc78df6 + SIOCAIFADDR = -0x7fbf96e6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fb396e0 + SIOCDELIFVIPA = 0x20006943 + SIOCDELMTU = -0x7ffb968f + SIOCDELMULTI = -0x7fdf96ce + SIOCDELPMTU = -0x7fd78ff6 + SIOCDELRT = -0x7fc78df5 + SIOCDIFADDR = -0x7fd796e7 + SIOCDNETOPT = -0x3ffe9680 + SIOCDX25XLATE = -0x7fd7969b + SIOCFIFADDR = -0x7fdf966d + SIOCGARP = -0x3fb396da + SIOCGETMTUS = 0x2000696f + SIOCGETSGCNT = -0x3feb8acc + SIOCGETVIFCNT = -0x3feb8acd + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fd796df + SIOCGIFADDRS = 0x2000698c + SIOCGIFBAUDRATE = -0x3fd79693 + SIOCGIFBRDADDR = -0x3fd796dd + SIOCGIFCONF = -0x3fef96bb + SIOCGIFCONFGLOB = -0x3fef9670 + SIOCGIFDSTADDR = -0x3fd796de + SIOCGIFFLAGS = -0x3fd796ef + SIOCGIFGIDLIST = 0x20006968 + SIOCGIFHWADDR = -0x3fab966b + SIOCGIFMETRIC = -0x3fd796e9 + SIOCGIFMTU = -0x3fd796aa + SIOCGIFNETMASK = -0x3fd796db + SIOCGIFOPTIONS = -0x3fd796d6 + SIOCGISNO = -0x3fd79695 + SIOCGLOADF = -0x3ffb967e + SIOCGLOWAT = 0x40047303 + SIOCGNETOPT = -0x3ffe96a5 + SIOCGNETOPT1 = -0x3fdf967f + SIOCGNMTUS = 0x2000696e + SIOCGPGRP = 0x40047309 + SIOCGSIZIFCONF = 0x4004696a + SIOCGSRCFILTER = -0x3fe796cb + SIOCGTUNEPHASE = -0x3ffb9676 + SIOCGX25XLATE = -0x3fd7969c + SIOCIFATTACH = -0x7fdf9699 + SIOCIFDETACH = -0x7fdf969a + SIOCIFGETPKEY = -0x7fdf969b + SIOCIF_ATM_DARP = -0x7fdf9683 + SIOCIF_ATM_DUMPARP = -0x7fdf9685 + SIOCIF_ATM_GARP = -0x7fdf9682 + SIOCIF_ATM_IDLE = -0x7fdf9686 + SIOCIF_ATM_SARP = -0x7fdf9681 + SIOCIF_ATM_SNMPARP = -0x7fdf9687 + SIOCIF_ATM_SVC = -0x7fdf9684 + SIOCIF_ATM_UBR = -0x7fdf9688 + SIOCIF_DEVHEALTH = -0x7ffb966c + SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 + SIOCIF_IB_ARP_TIMER = -0x7fdf9678 + SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f + SIOCIF_IB_DEL_ARP = -0x7fdf967f + SIOCIF_IB_DEL_PINFO = -0x3fdf9670 + SIOCIF_IB_DUMP_ARP = -0x7fdf9680 + SIOCIF_IB_GET_ARP = -0x7fdf967e + SIOCIF_IB_GET_INFO = -0x3f879675 + SIOCIF_IB_GET_STATS = -0x3f879672 + SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a + SIOCIF_IB_RESET_STATS = -0x3f879671 + SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 + SIOCIF_IB_SET_ARP = -0x7fdf967d + SIOCIF_IB_SET_PKEY = -0x7fdf967c + SIOCIF_IB_SET_PORT = -0x7fdf967b + SIOCIF_IB_SET_QKEY = -0x7fdf9676 + SIOCIF_IB_SET_QSIZE = -0x7fdf967a + SIOCLISTIFVIPA = 0x20006944 + SIOCSARP = -0x7fb396e2 + SIOCSHIWAT = 0xffffffff80047300 + SIOCSIFADDR = -0x7fd796f4 + SIOCSIFADDRORI = -0x7fdb9673 + SIOCSIFBRDADDR = -0x7fd796ed + SIOCSIFDSTADDR = -0x7fd796f2 + SIOCSIFFLAGS = -0x7fd796f0 + SIOCSIFGIDLIST = 0x20006969 + SIOCSIFMETRIC = -0x7fd796e8 + SIOCSIFMTU = -0x7fd796a8 + SIOCSIFNETDUMP = -0x7fd796e4 + SIOCSIFNETMASK = -0x7fd796ea + SIOCSIFOPTIONS = -0x7fd796d7 + SIOCSIFSUBCHAN = -0x7fd796e5 + SIOCSISNO = -0x7fd79694 + SIOCSLOADF = -0x3ffb967d + SIOCSLOWAT = 0xffffffff80047302 + SIOCSNETOPT = -0x7ffe96a6 + SIOCSPGRP = 0xffffffff80047308 + SIOCSX25XLATE = -0x7fd7969d + SOCK_CONN_DGRAM = 0x6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x400 + SO_ACCEPTCONN = 0x2 + SO_AUDIT = 0x8000 + SO_BROADCAST = 0x20 + SO_CKSUMRECV = 0x800 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_KERNACCEPT = 0x2000 + SO_LINGER = 0x80 + SO_NOMULTIPATH = 0x4000 + SO_NOREUSEADDR = 0x1000 + SO_OOBINLINE = 0x100 + SO_PEERID = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMPNS = 0x100a + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USE_IFBUFS = 0x400 + S_BANDURG = 0x400 + S_EMODFMT = 0x3c000000 + S_ENFMT = 0x400 + S_ERROR = 0x100 + S_HANGUP = 0x200 + S_HIPRI = 0x2 + S_ICRYPTO = 0x80000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFJOURNAL = 0x10000 + S_IFLNK = 0xa000 + S_IFMPX = 0x2200 + S_IFMT = 0xf000 + S_IFPDIR = 0x4000000 + S_IFPSDIR = 0x8000000 + S_IFPSSDIR = 0xc000000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFSYSEA = 0x30000000 + S_INPUT = 0x1 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_ITCB = 0x1000000 + S_ITP = 0x800000 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXACL = 0x2000000 + S_IXATTR = 0x40000 + S_IXGRP = 0x8 + S_IXINTERFACE = 0x100000 + S_IXMOD = 0x40000000 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_MSG = 0x8 + S_OUTPUT = 0x4 + S_RDBAND = 0x20 + S_RDNORM = 0x10 + S_RESERVED1 = 0x20000 + S_RESERVED2 = 0x200000 + S_RESERVED3 = 0x400000 + S_RESERVED4 = 0x80000000 + S_RESFMT1 = 0x10000000 + S_RESFMT10 = 0x34000000 + S_RESFMT11 = 0x38000000 + S_RESFMT12 = 0x3c000000 + S_RESFMT2 = 0x14000000 + S_RESFMT3 = 0x18000000 + S_RESFMT4 = 0x1c000000 + S_RESFMT5 = 0x20000000 + S_RESFMT6 = 0x24000000 + S_RESFMT7 = 0x28000000 + S_RESFMT8 = 0x2c000000 + S_WRBAND = 0x80 + S_WRNORM = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x540c + TCGETA = 0x5405 + TCGETS = 0x5401 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 + TCP_ACLADD = 0x23 + TCP_ACLBIND = 0x26 + TCP_ACLCLEAR = 0x22 + TCP_ACLDEL = 0x24 + TCP_ACLDENY = 0x8 + TCP_ACLFLUSH = 0x21 + TCP_ACLGID = 0x1 + TCP_ACLLS = 0x25 + TCP_ACLSUBNET = 0x4 + TCP_ACLUID = 0x2 + TCP_CWND_DF = 0x16 + TCP_CWND_IF = 0x15 + TCP_DELAY_ACK_FIN = 0x2 + TCP_DELAY_ACK_SYN = 0x1 + TCP_FASTNAME = 0x101080a + TCP_KEEPCNT = 0x13 + TCP_KEEPIDLE = 0x11 + TCP_KEEPINTVL = 0x12 + TCP_LSPRIV = 0x29 + TCP_LUID = 0x20 + TCP_MAXBURST = 0x8 + TCP_MAXDF = 0x64 + TCP_MAXIF = 0x64 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAXWINDOWSCALE = 0xe + TCP_MAX_SACK = 0x4 + TCP_MSS = 0x5b4 + TCP_NODELAY = 0x1 + TCP_NODELAYACK = 0x14 + TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 + TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 + TCP_NOTENTER_SSTART = 0x17 + TCP_OPT = 0x19 + TCP_RFC1323 = 0x4 + TCP_SETPRIV = 0x27 + TCP_STDURG = 0x10 + TCP_TIMESTAMP_OPTLEN = 0xc + TCP_UNSETPRIV = 0x28 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETSF = 0x5404 + TCSETSW = 0x5403 + TCXONC = 0x540b + TIMER_ABSTIME = 0x3e7 + TIMER_MAX = 0x20 + TIOC = 0x5400 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0xffffffff80047462 + TIOCEXCL = 0x2000740d + TIOCFLUSH = 0xffffffff80047410 + TIOCGETC = 0x40067412 + TIOCGETD = 0x40047400 + TIOCGETP = 0x40067408 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047448 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCHPCL = 0x20007402 + TIOCLBIC = 0xffffffff8004747e + TIOCLBIS = 0xffffffff8004747f + TIOCLGET = 0x4004747c + TIOCLSET = 0xffffffff8004747d + TIOCMBIC = 0xffffffff8004746b + TIOCMBIS = 0xffffffff8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0xffffffff80047464 + TIOCMODG = 0x40047403 + TIOCMODS = 0xffffffff80047404 + TIOCMSET = 0xffffffff8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0xffffffff80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0xffffffff80047469 + TIOCSBRK = 0x2000747b + TIOCSDTR = 0x20007479 + TIOCSETC = 0xffffffff80067411 + TIOCSETD = 0xffffffff80047401 + TIOCSETN = 0xffffffff8006740a + TIOCSETP = 0xffffffff80067409 + TIOCSLTC = 0xffffffff80067475 + TIOCSPGRP = 0xffffffff80047476 + TIOCSSIZE = 0xffffffff80087467 + TIOCSTART = 0x2000746e + TIOCSTI = 0xffffffff80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0xffffffff80087467 + TIOCUCNTL = 0xffffffff80047466 + TOSTOP = 0x10000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x3 + VDISCRD = 0xc + VDSUSP = 0xa + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xe + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0x7 + VSTOP = 0x8 + VSTRT = 0x7 + VSUSP = 0x9 + VT0 = 0x0 + VT1 = 0x8000 + VTDELAY = 0x2000 + VTDLY = 0x8000 + VTIME = 0x5 + VWERSE = 0xd + WPARSTART = 0x1 + WPARSTOP = 0x2 + WPARTTYNAME = "Global" + XCASE = 0x4 + XTABS = 0xc00 + _FDATAFLUSH = 0x2000000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x43) + EADDRNOTAVAIL = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x42) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x38) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x78) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x75) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECLONEME = syscall.Errno(0x52) + ECONNABORTED = syscall.Errno(0x48) + ECONNREFUSED = syscall.Errno(0x4f) + ECONNRESET = syscall.Errno(0x49) + ECORRUPT = syscall.Errno(0x59) + EDEADLK = syscall.Errno(0x2d) + EDESTADDREQ = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x3a) + EDIST = syscall.Errno(0x35) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x58) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFORMAT = syscall.Errno(0x30) + EHOSTDOWN = syscall.Errno(0x50) + EHOSTUNREACH = syscall.Errno(0x51) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x74) + EINPROGRESS = syscall.Errno(0x37) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x4b) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x55) + EMEDIA = syscall.Errno(0x6e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x3b) + EMULTIHOP = syscall.Errno(0x7d) + ENAMETOOLONG = syscall.Errno(0x56) + ENETDOWN = syscall.Errno(0x45) + ENETRESET = syscall.Errno(0x47) + ENETUNREACH = syscall.Errno(0x46) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x70) + ENOBUFS = syscall.Errno(0x4a) + ENOCONNECT = syscall.Errno(0x32) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x7a) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x31) + ENOLINK = syscall.Errno(0x7e) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENOPROTOOPT = syscall.Errno(0x3d) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x76) + ENOSTR = syscall.Errno(0x7b) + ENOSYS = syscall.Errno(0x6d) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x4c) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x11) + ENOTREADY = syscall.Errno(0x2e) + ENOTRECOVERABLE = syscall.Errno(0x5e) + ENOTRUST = syscall.Errno(0x72) + ENOTSOCK = syscall.Errno(0x39) + ENOTSUP = syscall.Errno(0x7c) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x40) + EOVERFLOW = syscall.Errno(0x7f) + EOWNERDEAD = syscall.Errno(0x5f) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x41) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x53) + EPROTO = syscall.Errno(0x79) + EPROTONOSUPPORT = syscall.Errno(0x3e) + EPROTOTYPE = syscall.Errno(0x3c) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x5d) + ERESTART = syscall.Errno(0x52) + EROFS = syscall.Errno(0x1e) + ESAD = syscall.Errno(0x71) + ESHUTDOWN = syscall.Errno(0x4d) + ESOCKTNOSUPPORT = syscall.Errno(0x3f) + ESOFT = syscall.Errno(0x6f) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x34) + ESYSERROR = syscall.Errno(0x5a) + ETIME = syscall.Errno(0x77) + ETIMEDOUT = syscall.Errno(0x4e) + ETOOMANYREFS = syscall.Errno(0x73) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x54) + EWOULDBLOCK = syscall.Errno(0xb) + EWRPROTECT = syscall.Errno(0x2f) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGAIO = syscall.Signal(0x17) + SIGALRM = syscall.Signal(0xe) + SIGALRM1 = syscall.Signal(0x26) + SIGBUS = syscall.Signal(0xa) + SIGCAPI = syscall.Signal(0x31) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGCPUFAIL = syscall.Signal(0x3b) + SIGDANGER = syscall.Signal(0x21) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGGRANT = syscall.Signal(0x3c) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOINT = syscall.Signal(0x10) + SIGIOT = syscall.Signal(0x6) + SIGKAP = syscall.Signal(0x3c) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x6) + SIGMAX = syscall.Signal(0xff) + SIGMAX32 = syscall.Signal(0x3f) + SIGMIGRATE = syscall.Signal(0x23) + SIGMSG = syscall.Signal(0x1b) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPRE = syscall.Signal(0x24) + SIGPROF = syscall.Signal(0x20) + SIGPTY = syscall.Signal(0x17) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGRECONFIG = syscall.Signal(0x3a) + SIGRETRACT = syscall.Signal(0x3d) + SIGSAK = syscall.Signal(0x3f) + SIGSEGV = syscall.Signal(0xb) + SIGSOUND = syscall.Signal(0x3e) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGSYSERROR = syscall.Signal(0x30) + SIGTALRM = syscall.Signal(0x26) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVIRT = syscall.Signal(0x25) + SIGVTALRM = syscall.Signal(0x22) + SIGWAITING = syscall.Signal(0x27) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EWOULDBLOCK", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "ENOTEMPTY", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "not a typewriter"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock condition if locked"}, + {46, "ENOTREADY", "device not ready"}, + {47, "EWRPROTECT", "write-protected media"}, + {48, "EFORMAT", "unformatted or incompatible media"}, + {49, "ENOLCK", "no locks available"}, + {50, "ENOCONNECT", "cannot Establish Connection"}, + {52, "ESTALE", "missing file or filesystem"}, + {53, "EDIST", "requests blocked by Administrator"}, + {55, "EINPROGRESS", "operation now in progress"}, + {56, "EALREADY", "operation already in progress"}, + {57, "ENOTSOCK", "socket operation on non-socket"}, + {58, "EDESTADDREQ", "destination address required"}, + {59, "EMSGSIZE", "message too long"}, + {60, "EPROTOTYPE", "protocol wrong type for socket"}, + {61, "ENOPROTOOPT", "protocol not available"}, + {62, "EPROTONOSUPPORT", "protocol not supported"}, + {63, "ESOCKTNOSUPPORT", "socket type not supported"}, + {64, "EOPNOTSUPP", "operation not supported on socket"}, + {65, "EPFNOSUPPORT", "protocol family not supported"}, + {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, + {67, "EADDRINUSE", "address already in use"}, + {68, "EADDRNOTAVAIL", "can't assign requested address"}, + {69, "ENETDOWN", "network is down"}, + {70, "ENETUNREACH", "network is unreachable"}, + {71, "ENETRESET", "network dropped connection on reset"}, + {72, "ECONNABORTED", "software caused connection abort"}, + {73, "ECONNRESET", "connection reset by peer"}, + {74, "ENOBUFS", "no buffer space available"}, + {75, "EISCONN", "socket is already connected"}, + {76, "ENOTCONN", "socket is not connected"}, + {77, "ESHUTDOWN", "can't send after socket shutdown"}, + {78, "ETIMEDOUT", "connection timed out"}, + {79, "ECONNREFUSED", "connection refused"}, + {80, "EHOSTDOWN", "host is down"}, + {81, "EHOSTUNREACH", "no route to host"}, + {82, "ERESTART", "restart the system call"}, + {83, "EPROCLIM", "too many processes"}, + {84, "EUSERS", "too many users"}, + {85, "ELOOP", "too many levels of symbolic links"}, + {86, "ENAMETOOLONG", "file name too long"}, + {88, "EDQUOT", "disk quota exceeded"}, + {89, "ECORRUPT", "invalid file system control data detected"}, + {90, "ESYSERROR", "for future use "}, + {93, "EREMOTE", "item is not local to host"}, + {94, "ENOTRECOVERABLE", "state not recoverable "}, + {95, "EOWNERDEAD", "previous owner died "}, + {109, "ENOSYS", "function not implemented"}, + {110, "EMEDIA", "media surface error"}, + {111, "ESOFT", "I/O completed, but needs relocation"}, + {112, "ENOATTR", "no attribute found"}, + {113, "ESAD", "security Authentication Denied"}, + {114, "ENOTRUST", "not a Trusted Program"}, + {115, "ETOOMANYREFS", "too many references: can't splice"}, + {116, "EILSEQ", "invalid wide character"}, + {117, "ECANCELED", "asynchronous I/O cancelled"}, + {118, "ENOSR", "out of STREAMS resources"}, + {119, "ETIME", "system call timed out"}, + {120, "EBADMSG", "next message has wrong type"}, + {121, "EPROTO", "error in protocol"}, + {122, "ENODATA", "no message on stream head read q"}, + {123, "ENOSTR", "fd not associated with a stream"}, + {124, "ENOTSUP", "unsupported attribute value"}, + {125, "EMULTIHOP", "multihop is not allowed"}, + {126, "ENOLINK", "the server link has been severed"}, + {127, "EOVERFLOW", "value too large to be stored in data type"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "IOT/Abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible/complete"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {27, "SIGMSG", "input device data"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGPWR", "power-failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPROF", "profiling timer expired"}, + {33, "SIGDANGER", "paging space low"}, + {34, "SIGVTALRM", "virtual timer expired"}, + {35, "SIGMIGRATE", "signal 35"}, + {36, "SIGPRE", "signal 36"}, + {37, "SIGVIRT", "signal 37"}, + {38, "SIGTALRM", "signal 38"}, + {39, "SIGWAITING", "signal 39"}, + {48, "SIGSYSERROR", "signal 48"}, + {49, "SIGCAPI", "signal 49"}, + {58, "SIGRECONFIG", "signal 58"}, + {59, "SIGCPUFAIL", "CPU Failure Predicted"}, + {60, "SIGGRANT", "monitor mode granted"}, + {61, "SIGRETRACT", "monitor mode retracted"}, + {62, "SIGSOUND", "sound completed"}, + {63, "SIGMAX32", "secure attention"}, + {255, "SIGMAX", "signal 255"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go new file mode 100644 index 00000000..6217cdba --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go @@ -0,0 +1,1784 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4008426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x8008427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8008426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NFDBITS = 0x20 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc0086924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6981 + SIOCRSLVMULTI = 0xc008693b + SIOCSDRVSPEC = 0x801c697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40087458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x20 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go new file mode 100644 index 00000000..e3ff2ee3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -0,0 +1,1784 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NFDBITS = 0x20 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go new file mode 100644 index 00000000..3e417571 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go @@ -0,0 +1,1784 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,darwin + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NFDBITS = 0x20 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go new file mode 100644 index 00000000..cbd8ed18 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -0,0 +1,1784 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NFDBITS = 0x20 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go new file mode 100644 index 00000000..61304717 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go @@ -0,0 +1,1651 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x21 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x23 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x22 + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DEFAULTBUFSIZE = 0x1000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MAX_CLONES = 0x80 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DBF = 0xf + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0x8 + EVFILT_FS = -0xa + EVFILT_MARKER = 0xf + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xa + EVFILT_TIMER = -0x7 + EVFILT_USER = -0x9 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_NODATA = 0x1000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTEXIT_LWP = 0x10000 + EXTEXIT_PROC = 0x0 + EXTEXIT_SETINT = 0x1 + EXTEXIT_SIMPLE = 0x0 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x118e72 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NPOLLING = 0x100000 + IFF_OACTIVE = 0x400 + IFF_OACTIVE_COMPAT = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_POLLING = 0x10000 + IFF_POLLING_COMPAT = 0x10000 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SMART = 0x20 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xf3 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SKIP = 0x39 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UNKNOWN = 0x102 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHLIM = 0x28 + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PKTOPTIONS = 0x34 + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_RESETLOG = 0x37 + IP_FW_X = 0x31 + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CONTROL_END = 0xb + MADV_CONTROL_START = 0xa + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_INVAL = 0xa + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SETMAP = 0xb + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_NOCORE = 0x20000 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_NOSYNC = 0x800 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_SIZEALIGN = 0x40000 + MAP_STACK = 0x400 + MAP_TRYFIXED = 0x10000 + MAP_VPAGETABLE = 0x2000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x20 + MNT_CMDFLAGS = 0xf0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x4 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SYNCHRONOUS = 0x2 + MNT_TRIM = 0x1000000 + MNT_UPDATE = 0x10000 + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0xf1f0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x1000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FBLOCKING = 0x10000 + MSG_FMASK = 0xffff0000 + MSG_FNONBLOCKING = 0x20000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_SYNC = 0x800 + MSG_TRUNC = 0x10 + MSG_UNUSED09 = 0x200 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x4 + NFDBITS = 0x40 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x20000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x8000000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FAPPEND = 0x100000 + O_FASYNCWRITE = 0x800000 + O_FBLOCKING = 0x40000 + O_FMASK = 0xfc0000 + O_FNONBLOCKING = 0x80000 + O_FOFFSET = 0x200000 + O_FSYNC = 0x80 + O_FSYNCWRITE = 0x400000 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0xb + RTAX_MPLS1 = 0x8 + RTAX_MPLS2 = 0x9 + RTAX_MPLS3 = 0xa + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_MPLS1 = 0x100 + RTA_MPLS2 = 0x200 + RTA_MPLS3 = 0x400 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPLSOPS = 0x1000000 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x6 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_IWCAPSEGS = 0x400 + RTV_IWMAXSEGS = 0x200 + RTV_MSL = 0x100 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCADDRT = 0x8040720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691b + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDELRT = 0x8040720b + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8118691d + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc0206926 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPOLLCPU = 0xc020697e + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFTSOLEN = 0xc0206980 + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFPOLLCPU = 0x8020697d + SIOCSIFTSOLEN = 0x8020697f + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_CPUHINT = 0x1030 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDSPACE = 0x100a + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDB = 0x9000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_FASTKEEP = 0x80 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x20 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0x100 + TCP_MIN_WINSHIFT = 0x5 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_SIGNATURE_ENABLE = 0x10 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCISPTMASTER = 0x20007455 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VCHECKPT = 0x13 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_BCACHE_SIZE_MAX = 0x0 + VM_SWZONE_SIZE_MAX = 0x4000000000 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EASYNC = syscall.Errno(0x63) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x63) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEDIUM = syscall.Errno(0x5d) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUNUSED94 = syscall.Errno(0x5e) + EUNUSED95 = syscall.Errno(0x5f) + EUNUSED96 = syscall.Errno(0x60) + EUNUSED97 = syscall.Errno(0x61) + EUNUSED98 = syscall.Errno(0x62) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCKPT = syscall.Signal(0x21) + SIGCKPTEXIT = syscall.Signal(0x22) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOMEDIUM", "no medium found"}, + {94, "EUNUSED94", "unknown error: 94"}, + {95, "EUNUSED95", "unknown error: 95"}, + {96, "EUNUSED96", "unknown error: 96"}, + {97, "EUNUSED97", "unknown error: 97"}, + {98, "EUNUSED98", "unknown error: 98"}, + {99, "ELAST", "unknown error: 99"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread Scheduler"}, + {33, "SIGCKPT", "checkPoint"}, + {34, "SIGCKPTEXIT", "checkPointExit"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go new file mode 100644 index 00000000..b72544fc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go @@ -0,0 +1,1794 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4008426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8008426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go new file mode 100644 index 00000000..9f382678 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go @@ -0,0 +1,1795 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4008427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x40184280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffffffffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80000 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NFDBITS = 0x40 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go new file mode 100644 index 00000000..16db56ab --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go @@ -0,0 +1,1803 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_CLASS_NETBSD_RAWAF = 0x2240000 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_ISO_14443 = 0x108 + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x109 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RDS = 0x109 + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_FREEBSD = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WATTSTOPPER_DLM = 0x107 + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DLT_ZWAVE_R1_R2 = 0x105 + DLT_ZWAVE_R3 = 0x106 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GUARD = 0x2000 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGHWADDR = 0xc020693e + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go new file mode 100644 index 00000000..1a1de345 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go @@ -0,0 +1,1795 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,freebsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4008427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x40184280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffffffffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80000 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NFDBITS = 0x40 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go new file mode 100644 index 00000000..fcf5796a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -0,0 +1,3123 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80041270 + BLKBSZSET = 0x40041271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80041272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x20 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x8000 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8008743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40087446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x400c744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8004700d + RTC_EPOCH_SET = 0x4004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 + RTC_PLL_SET = 0x401c7012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + X86_FXSR_MAGIC = 0x0 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go new file mode 100644 index 00000000..5bcf3dbd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -0,0 +1,3123 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x40 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ARCH_PRCTL = 0x1e + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go new file mode 100644 index 00000000..3e02dcff --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -0,0 +1,3129 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80041270 + BLKBSZSET = 0x40041271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80041272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x20 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x20000 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8008743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40087446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x400c744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETCRUNCHREGS = 0x19 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFDPIC = 0x1f + PTRACE_GETFDPIC_EXEC = 0x0 + PTRACE_GETFDPIC_INTERP = 0x1 + PTRACE_GETFPREGS = 0xe + PTRACE_GETHBPREGS = 0x1d + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVFPREGS = 0x1b + PTRACE_GETWMMXREGS = 0x12 + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_THREAD_AREA = 0x16 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETCRUNCHREGS = 0x1a + PTRACE_SETFPREGS = 0xf + PTRACE_SETHBPREGS = 0x1e + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVFPREGS = 0x1c + PTRACE_SETWMMXREGS = 0x13 + PTRACE_SET_SYSCALL = 0x17 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TRACEME = 0x0 + PT_DATA_ADDR = 0x10004 + PT_TEXT_ADDR = 0x10000 + PT_TEXT_END_ADDR = 0x10008 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8004700d + RTC_EPOCH_SET = 0x4004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 + RTC_PLL_SET = 0x401c7012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go new file mode 100644 index 00000000..2293f8bb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -0,0 +1,3116 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ESR_MAGIC = 0x45535201 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + EXTRA_MAGIC = 0x45585401 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FPSIMD_MAGIC = 0x46508001 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x40 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SVE_MAGIC = 0x53564501 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go new file mode 100644 index 00000000..57742ea2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -0,0 +1,3130 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40041270 + BLKBSZSET = 0x80041271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40041272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x20 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4008743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80087446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x800c744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4004700d + RTC_EPOCH_SET = 0x8004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 + RTC_PLL_SET = 0x801c7012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go new file mode 100644 index 00000000..33bfa6cb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -0,0 +1,3130 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x40 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x0 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go new file mode 100644 index 00000000..89fd414e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -0,0 +1,3130 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x40 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x0 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go new file mode 100644 index 00000000..aabe5e42 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -0,0 +1,3130 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40041270 + BLKBSZSET = 0x80041271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40041272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x20 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4008743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80087446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x800c744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4004700d + RTC_EPOCH_SET = 0x8004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 + RTC_PLL_SET = 0x801c7012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go new file mode 100644 index 00000000..27227912 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -0,0 +1,3185 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x17 + B110 = 0x3 + B115200 = 0x11 + B1152000 = 0x18 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x19 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x1a + B230400 = 0x12 + B2400 = 0xb + B2500000 = 0x1b + B300 = 0x7 + B3000000 = 0x1c + B3500000 = 0x1d + B38400 = 0xf + B4000000 = 0x1e + B460800 = 0x13 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x16 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1f + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0xff + CBAUDEX = 0x0 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIGNAL = 0xff + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x4000 + IBSHIFT = 0x10 + ICANON = 0x100 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x400 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x80 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x1000 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x40 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x300 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80000000 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x4 + ONLCR = 0x2 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x20000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x1000 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_SAO = 0x10 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_SYSEMU = 0x1d + PTRACE_SYSEMU_SINGLESTEP = 0x1e + PTRACE_TRACEME = 0x0 + PT_CCR = 0x26 + PT_CTR = 0x23 + PT_DAR = 0x29 + PT_DSCR = 0x2c + PT_DSISR = 0x2a + PT_FPR0 = 0x30 + PT_FPSCR = 0x50 + PT_LNK = 0x24 + PT_MSR = 0x21 + PT_NIP = 0x20 + PT_ORIG_R3 = 0x22 + PT_R0 = 0x0 + PT_R1 = 0x1 + PT_R10 = 0xa + PT_R11 = 0xb + PT_R12 = 0xc + PT_R13 = 0xd + PT_R14 = 0xe + PT_R15 = 0xf + PT_R16 = 0x10 + PT_R17 = 0x11 + PT_R18 = 0x12 + PT_R19 = 0x13 + PT_R2 = 0x2 + PT_R20 = 0x14 + PT_R21 = 0x15 + PT_R22 = 0x16 + PT_R23 = 0x17 + PT_R24 = 0x18 + PT_R25 = 0x19 + PT_R26 = 0x1a + PT_R27 = 0x1b + PT_R28 = 0x1c + PT_R29 = 0x1d + PT_R3 = 0x3 + PT_R30 = 0x1e + PT_R31 = 0x1f + PT_R4 = 0x4 + PT_R5 = 0x5 + PT_R6 = 0x6 + PT_R7 = 0x7 + PT_R8 = 0x8 + PT_R9 = 0x9 + PT_REGS_COUNT = 0x2c + PT_RESULT = 0x2b + PT_SOFTE = 0x27 + PT_TRAP = 0x28 + PT_VR0 = 0x52 + PT_VRSAVE = 0x94 + PT_VSCR = 0x93 + PT_VSR0 = 0x96 + PT_VSR31 = 0xd4 + PT_XER = 0x25 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x13 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x400000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x5 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4000 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0xc00 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {58, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go new file mode 100644 index 00000000..e33be416 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -0,0 +1,3185 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x17 + B110 = 0x3 + B115200 = 0x11 + B1152000 = 0x18 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x19 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x1a + B230400 = 0x12 + B2400 = 0xb + B2500000 = 0x1b + B300 = 0x7 + B3000000 = 0x1c + B3500000 = 0x1d + B38400 = 0xf + B4000000 = 0x1e + B460800 = 0x13 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x16 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1f + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0xff + CBAUDEX = 0x0 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIGNAL = 0xff + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x4000 + IBSHIFT = 0x10 + ICANON = 0x100 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x400 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x80 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x1000 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x40 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x300 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80000000 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x4 + ONLCR = 0x2 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x20000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x1000 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_SAO = 0x10 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_SYSEMU = 0x1d + PTRACE_SYSEMU_SINGLESTEP = 0x1e + PTRACE_TRACEME = 0x0 + PT_CCR = 0x26 + PT_CTR = 0x23 + PT_DAR = 0x29 + PT_DSCR = 0x2c + PT_DSISR = 0x2a + PT_FPR0 = 0x30 + PT_FPSCR = 0x50 + PT_LNK = 0x24 + PT_MSR = 0x21 + PT_NIP = 0x20 + PT_ORIG_R3 = 0x22 + PT_R0 = 0x0 + PT_R1 = 0x1 + PT_R10 = 0xa + PT_R11 = 0xb + PT_R12 = 0xc + PT_R13 = 0xd + PT_R14 = 0xe + PT_R15 = 0xf + PT_R16 = 0x10 + PT_R17 = 0x11 + PT_R18 = 0x12 + PT_R19 = 0x13 + PT_R2 = 0x2 + PT_R20 = 0x14 + PT_R21 = 0x15 + PT_R22 = 0x16 + PT_R23 = 0x17 + PT_R24 = 0x18 + PT_R25 = 0x19 + PT_R26 = 0x1a + PT_R27 = 0x1b + PT_R28 = 0x1c + PT_R29 = 0x1d + PT_R3 = 0x3 + PT_R30 = 0x1e + PT_R31 = 0x1f + PT_R4 = 0x4 + PT_R5 = 0x5 + PT_R6 = 0x6 + PT_R7 = 0x7 + PT_R8 = 0x8 + PT_R9 = 0x9 + PT_REGS_COUNT = 0x2c + PT_RESULT = 0x2b + PT_SOFTE = 0x27 + PT_TRAP = 0x28 + PT_VR0 = 0x52 + PT_VRSAVE = 0x94 + PT_VSCR = 0x93 + PT_VSR0 = 0x96 + PT_VSR31 = 0xd4 + PT_XER = 0x25 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x13 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x400000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x5 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4000 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0xc00 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {58, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go new file mode 100644 index 00000000..b9908d30 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -0,0 +1,3110 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build riscv64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x40 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go new file mode 100644 index 00000000..85647f4f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -0,0 +1,3183 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x40 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0xb703 + NS_GET_OWNER_UID = 0xb704 + NS_GET_PARENT = 0xb702 + NS_GET_USERNS = 0xb701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_DISABLE_TE = 0x5010 + PTRACE_ENABLE_TE = 0x5009 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_LAST_BREAK = 0x5006 + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_AREA = 0x5003 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_AREA = 0x5002 + PTRACE_PEEKUSR = 0x3 + PTRACE_PEEKUSR_AREA = 0x5000 + PTRACE_PEEK_SYSTEM_CALL = 0x5007 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_AREA = 0x5005 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_AREA = 0x5004 + PTRACE_POKEUSR = 0x6 + PTRACE_POKEUSR_AREA = 0x5001 + PTRACE_POKE_SYSTEM_CALL = 0x5008 + PTRACE_PROT = 0x15 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLEBLOCK = 0xc + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TE_ABORT_RAND = 0x5011 + PTRACE_TRACEME = 0x0 + PT_ACR0 = 0x90 + PT_ACR1 = 0x94 + PT_ACR10 = 0xb8 + PT_ACR11 = 0xbc + PT_ACR12 = 0xc0 + PT_ACR13 = 0xc4 + PT_ACR14 = 0xc8 + PT_ACR15 = 0xcc + PT_ACR2 = 0x98 + PT_ACR3 = 0x9c + PT_ACR4 = 0xa0 + PT_ACR5 = 0xa4 + PT_ACR6 = 0xa8 + PT_ACR7 = 0xac + PT_ACR8 = 0xb0 + PT_ACR9 = 0xb4 + PT_CR_10 = 0x168 + PT_CR_11 = 0x170 + PT_CR_9 = 0x160 + PT_ENDREGS = 0x1af + PT_FPC = 0xd8 + PT_FPR0 = 0xe0 + PT_FPR1 = 0xe8 + PT_FPR10 = 0x130 + PT_FPR11 = 0x138 + PT_FPR12 = 0x140 + PT_FPR13 = 0x148 + PT_FPR14 = 0x150 + PT_FPR15 = 0x158 + PT_FPR2 = 0xf0 + PT_FPR3 = 0xf8 + PT_FPR4 = 0x100 + PT_FPR5 = 0x108 + PT_FPR6 = 0x110 + PT_FPR7 = 0x118 + PT_FPR8 = 0x120 + PT_FPR9 = 0x128 + PT_GPR0 = 0x10 + PT_GPR1 = 0x18 + PT_GPR10 = 0x60 + PT_GPR11 = 0x68 + PT_GPR12 = 0x70 + PT_GPR13 = 0x78 + PT_GPR14 = 0x80 + PT_GPR15 = 0x88 + PT_GPR2 = 0x20 + PT_GPR3 = 0x28 + PT_GPR4 = 0x30 + PT_GPR5 = 0x38 + PT_GPR6 = 0x40 + PT_GPR7 = 0x48 + PT_GPR8 = 0x50 + PT_GPR9 = 0x58 + PT_IEEE_IP = 0x1a8 + PT_LASTOFF = 0x1a8 + PT_ORIGGPR2 = 0xd0 + PT_PSWADDR = 0x8 + PT_PSWMASK = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x80108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x80108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BINDTOIFINDEX = 0x3e + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_SNDTIMEO_NEW = 0x43 + SO_SNDTIMEO_OLD = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPING_NEW = 0x41 + SO_TIMESTAMPING_OLD = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETDEVNETNS = 0x54e3 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETCARRIER = 0x400454e2 + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRPEB = 0x40046f04 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCSPEB = 0x40046f05 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go new file mode 100644 index 00000000..c0095a54 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -0,0 +1,3179 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build sparc64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + ASI_LEON_DFLUSH = 0x11 + ASI_LEON_IFLUSH = 0x10 + ASI_LEON_MMUFLUSH = 0x18 + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINDERFS_SUPER_MAGIC = 0x6c6f6f70 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 + BPF_ANY = 0x0 + BPF_ARSH = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 + BPF_DEVCG_ACC_MKNOD = 0x1 + BPF_DEVCG_ACC_READ = 0x2 + BPF_DEVCG_ACC_WRITE = 0x4 + BPF_DEVCG_DEV_BLOCK = 0x1 + BPF_DEVCG_DEV_CHAR = 0x2 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 + BPF_EXIST = 0x2 + BPF_EXIT = 0x90 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 + BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 + BPF_F_CTXLEN_MASK = 0xfffff00000000 + BPF_F_CURRENT_CPU = 0xffffffff + BPF_F_CURRENT_NETNS = -0x1 + BPF_F_DONT_FRAGMENT = 0x4 + BPF_F_FAST_STACK_CMP = 0x200 + BPF_F_HDR_FIELD_MASK = 0xf + BPF_F_INDEX_MASK = 0xffffffff + BPF_F_INGRESS = 0x1 + BPF_F_INVALIDATE_HASH = 0x2 + BPF_F_LOCK = 0x4 + BPF_F_MARK_ENFORCE = 0x40 + BPF_F_MARK_MANGLED_0 = 0x20 + BPF_F_NO_COMMON_LRU = 0x2 + BPF_F_NO_PREALLOC = 0x1 + BPF_F_NUMA_NODE = 0x4 + BPF_F_PSEUDO_HDR = 0x10 + BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_RDONLY = 0x8 + BPF_F_RDONLY_PROG = 0x80 + BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REUSE_STACKID = 0x400 + BPF_F_SEQ_NUMBER = 0x8 + BPF_F_SKIP_FIELD_MASK = 0xff + BPF_F_STACK_BUILD_ID = 0x20 + BPF_F_STRICT_ALIGNMENT = 0x1 + BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 + BPF_F_TUNINFO_IPV6 = 0x1 + BPF_F_USER_BUILD_ID = 0x800 + BPF_F_USER_STACK = 0x100 + BPF_F_WRONLY = 0x10 + BPF_F_WRONLY_PROG = 0x100 + BPF_F_ZERO_CSUM_TX = 0x2 + BPF_F_ZERO_SEED = 0x40 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JLE = 0xb0 + BPF_JLT = 0xa0 + BPF_JMP = 0x5 + BPF_JMP32 = 0x6 + BPF_JNE = 0x50 + BPF_JSET = 0x40 + BPF_JSGE = 0x70 + BPF_JSGT = 0x60 + BPF_JSLE = 0xd0 + BPF_JSLT = 0xc0 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MOV = 0xb0 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 + BPF_PSEUDO_CALL = 0x1 + BPF_PSEUDO_MAP_FD = 0x1 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_SK_STORAGE_GET_F_CREATE = 0x1 + BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf + BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 + BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 + BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 + BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAG_SIZE = 0x8 + BPF_TAX = 0x0 + BPF_TO_BE = 0x8 + BPF_TO_LE = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 + CAP_FOWNER = 0x3 + CAP_FSETID = 0x4 + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 + CAP_LAST_CAP = 0x25 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 + CAP_MAC_OVERRIDE = 0x20 + CAP_MKNOD = 0x1b + CAP_NET_ADMIN = 0xc + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 + CAP_SETUID = 0x7 + CAP_SYSLOG = 0x22 + CAP_SYS_ADMIN = 0x15 + CAP_SYS_BOOT = 0x16 + CAP_SYS_CHROOT = 0x12 + CAP_SYS_MODULE = 0x10 + CAP_SYS_NICE = 0x17 + CAP_SYS_PACCT = 0x14 + CAP_SYS_PTRACE = 0x13 + CAP_SYS_RAWIO = 0x11 + CAP_SYS_RESOURCE = 0x18 + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PIDFD = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CRYPTO_MAX_NAME = 0x40 + CRYPTO_MSG_MAX = 0x15 + CRYPTO_NR_MSGTYPES = 0x6 + CRYPTO_REPORT_MAXSIZE = 0x160 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x400000 + EFD_NONBLOCK = 0x4000 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + EMT_TAGOVF = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x400000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_DSA_8021Q = 0xdadb + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LLDP = 0x88cc + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FANOTIFY_METADATA_VERSION = 0x3 + FAN_ACCESS = 0x1 + FAN_ACCESS_PERM = 0x20000 + FAN_ALLOW = 0x1 + FAN_ALL_CLASS_BITS = 0xc + FAN_ALL_EVENTS = 0x3b + FAN_ALL_INIT_FLAGS = 0x3f + FAN_ALL_MARK_FLAGS = 0xff + FAN_ALL_OUTGOING_EVENTS = 0x3403b + FAN_ALL_PERM_EVENTS = 0x30000 + FAN_ATTRIB = 0x4 + FAN_AUDIT = 0x10 + FAN_CLASS_CONTENT = 0x4 + FAN_CLASS_NOTIF = 0x0 + FAN_CLASS_PRE_CONTENT = 0x8 + FAN_CLOEXEC = 0x1 + FAN_CLOSE = 0x18 + FAN_CLOSE_NOWRITE = 0x10 + FAN_CLOSE_WRITE = 0x8 + FAN_CREATE = 0x100 + FAN_DELETE = 0x200 + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 + FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 + FAN_MARK_IGNORED_SURV_MODIFY = 0x40 + FAN_MARK_INODE = 0x0 + FAN_MARK_MOUNT = 0x10 + FAN_MARK_ONLYDIR = 0x8 + FAN_MARK_REMOVE = 0x2 + FAN_MODIFY = 0x2 + FAN_MOVE = 0xc0 + FAN_MOVED_FROM = 0x40 + FAN_MOVED_TO = 0x80 + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 + FAN_REPORT_FID = 0x200 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_ADIANTUM = 0x9 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x7 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x7 + F_GETLK64 = 0x7 + F_GETOWN = 0x5 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SEAL_FUTURE_WRITE = 0x10 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x8 + F_SETLK64 = 0x8 + F_SETLKW = 0x9 + F_SETLKW64 = 0x9 + F_SETOWN = 0x6 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x400000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x4000 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_ROUTER_ALERT_ISOLATE = 0x1e + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CAPABILITIES = 0x1f + KEYCTL_CAPS0_BIG_KEY = 0x10 + KEYCTL_CAPS0_CAPABILITIES = 0x1 + KEYCTL_CAPS0_DIFFIE_HELLMAN = 0x4 + KEYCTL_CAPS0_INVALIDATE = 0x20 + KEYCTL_CAPS0_MOVE = 0x80 + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_MOVE = 0x1e + KEYCTL_MOVE_EXCL = 0x1 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + LOOP_CLR_FD = 0x4c01 + LOOP_CTL_ADD = 0x4c80 + LOOP_CTL_GET_FREE = 0x4c82 + LOOP_CTL_REMOVE = 0x4c81 + LOOP_GET_STATUS = 0x4c03 + LOOP_GET_STATUS64 = 0x4c05 + LOOP_SET_BLOCK_SIZE = 0x4c09 + LOOP_SET_CAPACITY = 0x4c07 + LOOP_SET_DIRECT_IO = 0x4c08 + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x200 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x100 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCAST_BLOCK_SOURCE = 0x2b + MCAST_EXCLUDE = 0x0 + MCAST_INCLUDE = 0x1 + MCAST_JOIN_GROUP = 0x2a + MCAST_JOIN_SOURCE_GROUP = 0x2e + MCAST_LEAVE_GROUP = 0x2d + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFDBITS = 0x40 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + NS_GET_NSTYPE = 0x2000b703 + NS_GET_OWNER_UID = 0x2000b704 + NS_GET_PARENT = 0x2000b702 + NS_GET_USERNS = 0x2000b701 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x100000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x2000 + O_EXCL = 0x800 + O_FSYNC = 0x802000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x4004 + O_NOATIME = 0x200000 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x4000 + O_PATH = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x802000 + O_SYNC = 0x802000 + O_TMPFILE = 0x2010000 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 + PR_PAC_RESET_KEYS = 0x36 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENTMSG_SYSCALL_ENTRY = 0x1 + PTRACE_EVENTMSG_SYSCALL_EXIT = 0x2 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPAREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPREGS64 = 0x19 + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_READDATA = 0x10 + PTRACE_READTEXT = 0x12 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPAREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPREGS64 = 0x1a + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SPARC_DETACH = 0xb + PTRACE_SYSCALL = 0x18 + PTRACE_SYSCALL_INFO_ENTRY = 0x1 + PTRACE_SYSCALL_INFO_EXIT = 0x2 + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TRACEME = 0x0 + PTRACE_WRITEDATA = 0x11 + PTRACE_WRITETEXT = 0x13 + PT_FP = 0x48 + PT_G0 = 0x10 + PT_G1 = 0x14 + PT_G2 = 0x18 + PT_G3 = 0x1c + PT_G4 = 0x20 + PT_G5 = 0x24 + PT_G6 = 0x28 + PT_G7 = 0x2c + PT_I0 = 0x30 + PT_I1 = 0x34 + PT_I2 = 0x38 + PT_I3 = 0x3c + PT_I4 = 0x40 + PT_I5 = 0x44 + PT_I6 = 0x48 + PT_I7 = 0x4c + PT_NPC = 0x8 + PT_PC = 0x4 + PT_PSR = 0x0 + PT_REGS_MAGIC = 0x57ac6c00 + PT_TNPC = 0x90 + PT_TPC = 0x88 + PT_TSTATE = 0x80 + PT_V9_FP = 0x70 + PT_V9_G0 = 0x0 + PT_V9_G1 = 0x8 + PT_V9_G2 = 0x10 + PT_V9_G3 = 0x18 + PT_V9_G4 = 0x20 + PT_V9_G5 = 0x28 + PT_V9_G6 = 0x30 + PT_V9_G7 = 0x38 + PT_V9_I0 = 0x40 + PT_V9_I1 = 0x48 + PT_V9_I2 = 0x50 + PT_V9_I3 = 0x58 + PT_V9_I4 = 0x60 + PT_V9_I5 = 0x68 + PT_V9_I6 = 0x70 + PT_V9_I7 = 0x78 + PT_V9_MAGIC = 0x9c + PT_V9_TNPC = 0x90 + PT_V9_TPC = 0x88 + PT_V9_TSTATE = 0x80 + PT_V9_Y = 0x98 + PT_WIM = 0x10 + PT_Y = 0xc + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x6 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1e + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x6b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x17 + RTM_NR_MSGTYPES = 0x5c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x23 + SCM_TIMESTAMPING_OPT_STATS = 0x38 + SCM_TIMESTAMPING_PKTINFO = 0x3c + SCM_TIMESTAMPNS = 0x21 + SCM_TXTIME = 0x3f + SCM_WIFI_STATUS = 0x25 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x400000 + SFD_NONBLOCK = 0x4000 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGETLINKNAME = 0x89e0 + SIOCGETNODEID = 0x89e1 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_NEW = 0x40108907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_NEW = 0x40108906 + SIOCGSTAMP_OLD = 0x8906 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x400000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x4000 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x8000 + SO_ATTACH_BPF = 0x34 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x35 + SO_ATTACH_REUSEPORT_EBPF = 0x36 + SO_BINDTODEVICE = 0xd + SO_BINDTOIFINDEX = 0x41 + SO_BPF_EXTENSIONS = 0x32 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0x400 + SO_BUSY_POLL = 0x30 + SO_CNX_ADVICE = 0x37 + SO_COOKIE = 0x3b + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DETACH_REUSEPORT_BPF = 0x47 + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x33 + SO_INCOMING_NAPI_ID = 0x3a + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x28 + SO_MARK = 0x22 + SO_MAX_PACING_RATE = 0x31 + SO_MEMINFO = 0x39 + SO_NOFCS = 0x27 + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x2 + SO_PASSSEC = 0x1f + SO_PEEK_OFF = 0x26 + SO_PEERCRED = 0x40 + SO_PEERGROUPS = 0x3d + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x100b + SO_RCVLOWAT = 0x800 + SO_RCVTIMEO = 0x2000 + SO_RCVTIMEO_NEW = 0x44 + SO_RCVTIMEO_OLD = 0x2000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x24 + SO_SECURITY_AUTHENTICATION = 0x5001 + SO_SECURITY_ENCRYPTION_NETWORK = 0x5004 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002 + SO_SELECT_ERR_QUEUE = 0x29 + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x100a + SO_SNDLOWAT = 0x1000 + SO_SNDTIMEO = 0x4000 + SO_SNDTIMEO_NEW = 0x45 + SO_SNDTIMEO_OLD = 0x4000 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x23 + SO_TIMESTAMPING_NEW = 0x43 + SO_TIMESTAMPING_OLD = 0x23 + SO_TIMESTAMPNS = 0x21 + SO_TIMESTAMPNS_NEW = 0x42 + SO_TIMESTAMPNS_OLD = 0x21 + SO_TIMESTAMP_NEW = 0x46 + SO_TIMESTAMP_OLD = 0x1d + SO_TXTIME = 0x3f + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x25 + SO_ZEROCOPY = 0x3e + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYNC_FILE_RANGE_WRITE_AND_WAIT = 0x7 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x20005407 + TCGETA = 0x40125401 + TCGETS = 0x40245408 + TCGETS2 = 0x402c540c + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_BPF_IW = 0x3e9 + TCP_BPF_SNDCWND_CLAMP = 0x3ea + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x20005405 + TCSBRKP = 0x5425 + TCSETA = 0x80125402 + TCSETAF = 0x80125404 + TCSETAW = 0x80125403 + TCSETS = 0x80245409 + TCSETS2 = 0x802c540d + TCSETSF = 0x8024540b + TCSETSF2 = 0x802c540f + TCSETSW = 0x8024540a + TCSETSW2 = 0x802c540e + TCXONC = 0x20005406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x2000747a + TIOCCONS = 0x20007424 + TIOCEXCL = 0x2000740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x40047400 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285443 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x40047483 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40047486 + TIOCGPTPEER = 0x20007489 + TIOCGRS485 = 0x40205441 + TIOCGSERIAL = 0x541e + TIOCGSID = 0x40047485 + TIOCGSOFTCAR = 0x40047464 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0x545c + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007484 + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSETD = 0x80047401 + TIOCSIG = 0x80047488 + TIOCSISO7816 = 0xc0285444 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x80047482 + TIOCSPTLCK = 0x80047487 + TIOCSRS485 = 0xc0205442 + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x80047465 + TIOCSTART = 0x2000746e + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x20005437 + TIPC_ADDR_ID = 0x3 + TIPC_ADDR_MCAST = 0x1 + TIPC_ADDR_NAME = 0x2 + TIPC_ADDR_NAMESEQ = 0x1 + TIPC_CFG_SRV = 0x0 + TIPC_CLUSTER_BITS = 0xc + TIPC_CLUSTER_MASK = 0xfff000 + TIPC_CLUSTER_OFFSET = 0xc + TIPC_CLUSTER_SIZE = 0xfff + TIPC_CONN_SHUTDOWN = 0x5 + TIPC_CONN_TIMEOUT = 0x82 + TIPC_CRITICAL_IMPORTANCE = 0x3 + TIPC_DESTNAME = 0x3 + TIPC_DEST_DROPPABLE = 0x81 + TIPC_ERRINFO = 0x1 + TIPC_ERR_NO_NAME = 0x1 + TIPC_ERR_NO_NODE = 0x3 + TIPC_ERR_NO_PORT = 0x2 + TIPC_ERR_OVERLOAD = 0x4 + TIPC_GROUP_JOIN = 0x87 + TIPC_GROUP_LEAVE = 0x88 + TIPC_GROUP_LOOPBACK = 0x1 + TIPC_GROUP_MEMBER_EVTS = 0x2 + TIPC_HIGH_IMPORTANCE = 0x2 + TIPC_IMPORTANCE = 0x7f + TIPC_LINK_STATE = 0x2 + TIPC_LOW_IMPORTANCE = 0x0 + TIPC_MAX_BEARER_NAME = 0x20 + TIPC_MAX_IF_NAME = 0x10 + TIPC_MAX_LINK_NAME = 0x44 + TIPC_MAX_MEDIA_NAME = 0x10 + TIPC_MAX_USER_MSG_SIZE = 0x101d0 + TIPC_MCAST_BROADCAST = 0x85 + TIPC_MCAST_REPLICAST = 0x86 + TIPC_MEDIUM_IMPORTANCE = 0x1 + TIPC_NODEID_LEN = 0x10 + TIPC_NODE_BITS = 0xc + TIPC_NODE_MASK = 0xfff + TIPC_NODE_OFFSET = 0x0 + TIPC_NODE_RECVQ_DEPTH = 0x83 + TIPC_NODE_SIZE = 0xfff + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 + TIPC_SERVICE_RANGE = 0x1 + TIPC_SOCKET_ADDR = 0x3 + TIPC_SOCK_RECVQ_DEPTH = 0x84 + TIPC_SOCK_RECVQ_USED = 0x89 + TIPC_SRC_DROPPABLE = 0x80 + TIPC_SUBSCR_TIMEOUT = 0x3 + TIPC_SUB_CANCEL = 0x4 + TIPC_SUB_PORTS = 0x1 + TIPC_SUB_SERVICE = 0x2 + TIPC_TOP_SRV = 0x1 + TIPC_WAIT_FOREVER = 0xffffffff + TIPC_WITHDRAWN = 0x2 + TIPC_ZONE_BITS = 0x8 + TIPC_ZONE_CLUSTER_MASK = 0xfffff000 + TIPC_ZONE_MASK = 0xff000000 + TIPC_ZONE_OFFSET = 0x18 + TIPC_ZONE_SCOPE = 0x1 + TIPC_ZONE_SIZE = 0xff + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = 0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETDEVNETNS = 0x200054e3 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETCARRIER = 0x800454e2 + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRPEB = 0x80046f04 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCSPEB = 0x80046f05 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_OPTIONS = 0x8 + XDP_OPTIONS_ZEROCOPY = 0x1 + XDP_PACKET_HEADROOM = 0x100 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + Z3FOLD_MAGIC = 0x33 + ZSMALLOC_MAGIC = 0x58295829 + __TIOCFLUSH = 0x80047410 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EADV = syscall.Errno(0x53) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x25) + EBADE = syscall.Errno(0x66) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x5d) + EBADMSG = syscall.Errno(0x4c) + EBADR = syscall.Errno(0x67) + EBADRQC = syscall.Errno(0x6a) + EBADSLT = syscall.Errno(0x6b) + EBFONT = syscall.Errno(0x6d) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7f) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x5e) + ECOMM = syscall.Errno(0x55) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0x4e) + EDEADLOCK = syscall.Errno(0x6c) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EHWPOISON = syscall.Errno(0x87) + EIDRM = syscall.Errno(0x4d) + EILSEQ = syscall.Errno(0x7a) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x81) + EKEYREJECTED = syscall.Errno(0x83) + EKEYREVOKED = syscall.Errno(0x82) + EL2HLT = syscall.Errno(0x65) + EL2NSYNC = syscall.Errno(0x5f) + EL3HLT = syscall.Errno(0x60) + EL3RST = syscall.Errno(0x61) + ELIBACC = syscall.Errno(0x72) + ELIBBAD = syscall.Errno(0x70) + ELIBEXEC = syscall.Errno(0x6e) + ELIBMAX = syscall.Errno(0x7b) + ELIBSCN = syscall.Errno(0x7c) + ELNRNG = syscall.Errno(0x62) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x7e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x57) + ENAMETOOLONG = syscall.Errno(0x3f) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x69) + ENOBUFS = syscall.Errno(0x37) + ENOCSI = syscall.Errno(0x64) + ENODATA = syscall.Errno(0x6f) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x80) + ENOLCK = syscall.Errno(0x4f) + ENOLINK = syscall.Errno(0x52) + ENOMEDIUM = syscall.Errno(0x7d) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x4b) + ENONET = syscall.Errno(0x50) + ENOPKG = syscall.Errno(0x71) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x4a) + ENOSTR = syscall.Errno(0x48) + ENOSYS = syscall.Errno(0x5a) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x85) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x73) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x5c) + EOWNERDEAD = syscall.Errno(0x84) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROTO = syscall.Errno(0x56) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x59) + EREMOTE = syscall.Errno(0x47) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x74) + ERFKILL = syscall.Errno(0x86) + EROFS = syscall.Errno(0x1e) + ERREMOTE = syscall.Errno(0x51) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x54) + ESTALE = syscall.Errno(0x46) + ESTRPIPE = syscall.Errno(0x5b) + ETIME = syscall.Errno(0x49) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x63) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x68) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x1d) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "cannot assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "transport endpoint is already connected"}, + {57, "ENOTCONN", "transport endpoint is not connected"}, + {58, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {59, "ETOOMANYREFS", "too many references: cannot splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale file handle"}, + {71, "EREMOTE", "object is remote"}, + {72, "ENOSTR", "device not a stream"}, + {73, "ETIME", "timer expired"}, + {74, "ENOSR", "out of streams resources"}, + {75, "ENOMSG", "no message of desired type"}, + {76, "EBADMSG", "bad message"}, + {77, "EIDRM", "identifier removed"}, + {78, "EDEADLK", "resource deadlock avoided"}, + {79, "ENOLCK", "no locks available"}, + {80, "ENONET", "machine is not on the network"}, + {81, "ERREMOTE", "unknown error 81"}, + {82, "ENOLINK", "link has been severed"}, + {83, "EADV", "advertise error"}, + {84, "ESRMNT", "srmount error"}, + {85, "ECOMM", "communication error on send"}, + {86, "EPROTO", "protocol error"}, + {87, "EMULTIHOP", "multihop attempted"}, + {88, "EDOTDOT", "RFS specific error"}, + {89, "EREMCHG", "remote address changed"}, + {90, "ENOSYS", "function not implemented"}, + {91, "ESTRPIPE", "streams pipe error"}, + {92, "EOVERFLOW", "value too large for defined data type"}, + {93, "EBADFD", "file descriptor in bad state"}, + {94, "ECHRNG", "channel number out of range"}, + {95, "EL2NSYNC", "level 2 not synchronized"}, + {96, "EL3HLT", "level 3 halted"}, + {97, "EL3RST", "level 3 reset"}, + {98, "ELNRNG", "link number out of range"}, + {99, "EUNATCH", "protocol driver not attached"}, + {100, "ENOCSI", "no CSI structure available"}, + {101, "EL2HLT", "level 2 halted"}, + {102, "EBADE", "invalid exchange"}, + {103, "EBADR", "invalid request descriptor"}, + {104, "EXFULL", "exchange full"}, + {105, "ENOANO", "no anode"}, + {106, "EBADRQC", "invalid request code"}, + {107, "EBADSLT", "invalid slot"}, + {108, "EDEADLOCK", "file locking deadlock error"}, + {109, "EBFONT", "bad font file format"}, + {110, "ELIBEXEC", "cannot exec a shared library directly"}, + {111, "ENODATA", "no data available"}, + {112, "ELIBBAD", "accessing a corrupted shared library"}, + {113, "ENOPKG", "package not installed"}, + {114, "ELIBACC", "can not access a needed shared library"}, + {115, "ENOTUNIQ", "name not unique on network"}, + {116, "ERESTART", "interrupted system call should be restarted"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {123, "ELIBMAX", "attempting to link in too many shared libraries"}, + {124, "ELIBSCN", ".lib section in a.out corrupted"}, + {125, "ENOMEDIUM", "no medium found"}, + {126, "EMEDIUMTYPE", "wrong medium type"}, + {127, "ECANCELED", "operation canceled"}, + {128, "ENOKEY", "required key not available"}, + {129, "EKEYEXPIRED", "key has expired"}, + {130, "EKEYREVOKED", "key has been revoked"}, + {131, "EKEYREJECTED", "key was rejected by service"}, + {132, "EOWNERDEAD", "owner died"}, + {133, "ENOTRECOVERABLE", "state not recoverable"}, + {134, "ERFKILL", "operation not possible due to RF-kill"}, + {135, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGLOST", "power failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go new file mode 100644 index 00000000..96b9b8ab --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go @@ -0,0 +1,1773 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,netbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x400c427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x800c427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80084272 + BIOCSUDPF = 0x80084273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + EN_SW_CTL_INF = 0x1000 + EN_SW_CTL_PREC = 0x300 + EN_SW_CTL_ROUND = 0xc00 + EN_SW_DATACHAIN = 0x80 + EN_SW_DENORM = 0x2 + EN_SW_INVOP = 0x1 + EN_SW_OVERFLOW = 0x8 + EN_SW_PRECLOSS = 0x20 + EN_SW_UNDERFLOW = 0x10 + EN_SW_ZERODIV = 0x4 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go new file mode 100644 index 00000000..ed522a84 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go @@ -0,0 +1,1763 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,netbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x8010427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80104272 + BIOCSUDPF = 0x80104273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8038720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8038720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc028697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0986920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0106926 + SIOCGIFDATA = 0xc0986985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc0286987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc0106978 + SIOCINITIFADDR = 0xc0706984 + SIOCSDRVSPEC = 0x8028697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8098691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x80286988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0986986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80087445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80087444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go new file mode 100644 index 00000000..c8d36fe9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go @@ -0,0 +1,1752 @@ +// mkerrors.sh -marm +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,netbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -marm _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x400c427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x800c427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80084272 + BIOCSUDPF = 0x80084273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PRI_IOFLUSH = 0x7c + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x48087446 + TIOCPTSNAME = 0x48087448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go new file mode 100644 index 00000000..f1c146a7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go @@ -0,0 +1,1763 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,netbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x8010427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80104272 + BIOCSUDPF = 0x80104273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8038720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8038720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc028697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0986920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0106926 + SIOCGIFDATA = 0xc0986985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc0286987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc0106978 + SIOCINITIFADDR = 0xc0706984 + SIOCSDRVSPEC = 0x8028697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8098691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x80286988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0986986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80087445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80087444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go new file mode 100644 index 00000000..5402bd55 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go @@ -0,0 +1,1657 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc008427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x400c426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80084277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x800c426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_MASK = 0x3ff000 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x10f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_SOURCE = 0x20000 + RTF_STATIC = 0x800 + RTF_TUNNEL = 0x100000 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ELAST", "not supported"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go new file mode 100644 index 00000000..ffaf2d2f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go @@ -0,0 +1,1767 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x6 + CLOCK_MONOTONIC = 0x3 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_HARDMTU_LEN = 0xff9b + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVL_ENCAPLEN = 0x4 + EVL_PRIO_BITS = 0xd + EVL_PRIO_MAX = 0x7 + EVL_VLID_MASK = 0xfff + EVL_VLID_MAX = 0xffe + EVL_VLID_MIN = 0x1 + EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_ISATTY = 0xb + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MBIM = 0xfa + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPDEFTTL = 0x25 + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_STALLED = 0x100000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFNAMES = 0x6 + NET_RT_MAXID = 0x7 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OLCUC = 0x20 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BFD = 0xb + RTAX_BRD = 0x7 + RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 + RTAX_SEARCH = 0xe + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 + RTA_BFD = 0x800 + RTA_BRD = 0x80 + RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SEARCH = 0x4000 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTA_STATIC = 0x2000 + RTF_ANNOUNCE = 0x4000 + RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CACHED = 0x20000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_MULTICAST = 0x200 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTM_ADD = 0x1 + RTM_BFD = 0x12 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_INVALIDATE = 0x11 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_BITS = 0x8 + RT_TABLEID_MASK = 0xff + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8060693c + SIOCBRDGADDL = 0x80606949 + SIOCBRDGADDS = 0x80606941 + SIOCBRDGARL = 0x808c694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8060693d + SIOCBRDGDELS = 0x80606942 + SIOCBRDGFLUSH = 0x80606948 + SIOCBRDGFRL = 0x808c694e + SIOCBRDGGCACHE = 0xc0186941 + SIOCBRDGGFD = 0xc0186952 + SIOCBRDGGHT = 0xc0186951 + SIOCBRDGGIFFLGS = 0xc060693e + SIOCBRDGGMA = 0xc0186953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0186950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGTO = 0xc0186946 + SIOCBRDGIFS = 0xc0606942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80186940 + SIOCBRDGSFD = 0x80186952 + SIOCBRDGSHT = 0x80186951 + SIOCBRDGSIFCOST = 0x80606955 + SIOCBRDGSIFFLGS = 0x8060693f + SIOCBRDGSIFPRIO = 0x80606954 + SIOCBRDGSIFPROT = 0x8060694a + SIOCBRDGSMA = 0x80186953 + SIOCBRDGSPRI = 0x80186950 + SIOCBRDGSPROTO = 0x8018695a + SIOCBRDGSTO = 0x80186945 + SIOCBRDGSTXHC = 0x80186959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPARENT = 0x802069b4 + SIOCDIFPHYADDR = 0x80206949 + SIOCDVNETID = 0x802069af + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETMPWCFG = 0xc02069ae + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFLLPRIO = 0xc02069b6 + SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPAIR = 0xc02069b1 + SIOCGIFPARENT = 0xc02069b3 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYDF = 0xc02069c2 + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGUMBINFO = 0xc02069be + SIOCGUMBPARAM = 0xc02069c0 + SIOCGVH = 0xc02069f6 + SIOCGVNETFLOWID = 0xc02069c4 + SIOCGVNETID = 0xc02069a7 + SIOCIFAFATTACH = 0x801169ab + SIOCIFAFDETACH = 0x801169ac + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETMPWCFG = 0x802069ad + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPAIR = 0x802069b0 + SIOCSIFPARENT = 0x802069b2 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYDF = 0x802069c1 + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSUMBPARAM = 0x802069bf + SIOCSVH = 0xc02069f5 + SIOCSVNETFLOWID = 0x802069c3 + SIOCSVNETID = 0x802069a6 + SIOCSWGDPID = 0xc018695b + SIOCSWGMAXFLOW = 0xc0186960 + SIOCSWGMAXGROUP = 0xc018695d + SIOCSWSDPID = 0x8018695c + SIOCSWSPORTNO = 0xc060695f + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_DNS = 0x1000 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_ZEROIZE = 0x2000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCHKVERAUTH = 0x2000741e + TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSETVERAUTH = 0x8004741c + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCUCNTL_CBRK = 0x7a + TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 + VM_MAXID = 0xc + VM_MAXSLP = 0xa + VM_METER = 0x1 + VM_NKMEMPAGES = 0x6 + VM_PSSTRINGS = 0x3 + VM_SWAPENCRYPT = 0x5 + VM_USPACE = 0xb + VM_UVMEXP = 0x4 + VM_VNODEMIN = 0x9 + VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 + XCASE = 0x1000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ENOTSUP", "not supported"}, + {92, "EBADMSG", "bad message"}, + {93, "ENOTRECOVERABLE", "state not recoverable"}, + {94, "EOWNERDEAD", "previous owner died"}, + {95, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go new file mode 100644 index 00000000..7aa796a6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go @@ -0,0 +1,1659 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc008427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x400c426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80084277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x800c426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x70f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ELAST", "not supported"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go new file mode 100644 index 00000000..1792d3f1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go @@ -0,0 +1,1790 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,openbsd + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_FILDROP_CAPTURE = 0x1 + BPF_FILDROP_DROP = 0x2 + BPF_FILDROP_PASS = 0x0 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x6 + CLOCK_MONOTONIC = 0x3 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PBB = 0x88e7 + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_HARDMTU_LEN = 0xff9b + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVL_ENCAPLEN = 0x4 + EVL_PRIO_BITS = 0xd + EVL_PRIO_MAX = 0x7 + EVL_VLID_MASK = 0xfff + EVL_VLID_MAX = 0xffe + EVL_VLID_MIN = 0x1 + EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_ISATTY = 0xb + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MBIM = 0xfa + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPDEFTTL = 0x25 + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0xfff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_STALLED = 0x100000 + MNT_SWAPPABLE = 0x200000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFNAMES = 0x6 + NET_RT_MAXID = 0x7 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OLCUC = 0x20 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BFD = 0xb + RTAX_BRD = 0x7 + RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 + RTAX_SEARCH = 0xe + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 + RTA_BFD = 0x800 + RTA_BRD = 0x80 + RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SEARCH = 0x4000 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTA_STATIC = 0x2000 + RTF_ANNOUNCE = 0x4000 + RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CACHED = 0x20000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_MULTICAST = 0x200 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTM_80211INFO = 0x15 + RTM_ADD = 0x1 + RTM_BFD = 0x12 + RTM_CHANGE = 0x3 + RTM_CHGADDRATTR = 0x14 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_INVALIDATE = 0x11 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_BITS = 0x8 + RT_TABLEID_MASK = 0xff + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8060693c + SIOCBRDGADDL = 0x80606949 + SIOCBRDGADDS = 0x80606941 + SIOCBRDGARL = 0x808c694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8060693d + SIOCBRDGDELS = 0x80606942 + SIOCBRDGFLUSH = 0x80606948 + SIOCBRDGFRL = 0x808c694e + SIOCBRDGGCACHE = 0xc0186941 + SIOCBRDGGFD = 0xc0186952 + SIOCBRDGGHT = 0xc0186951 + SIOCBRDGGIFFLGS = 0xc060693e + SIOCBRDGGMA = 0xc0186953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0186950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGTO = 0xc0186946 + SIOCBRDGIFS = 0xc0606942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80186940 + SIOCBRDGSFD = 0x80186952 + SIOCBRDGSHT = 0x80186951 + SIOCBRDGSIFCOST = 0x80606955 + SIOCBRDGSIFFLGS = 0x8060693f + SIOCBRDGSIFPRIO = 0x80606954 + SIOCBRDGSIFPROT = 0x8060694a + SIOCBRDGSMA = 0x80186953 + SIOCBRDGSPRI = 0x80186950 + SIOCBRDGSPROTO = 0x8018695a + SIOCBRDGSTO = 0x80186945 + SIOCBRDGSTXHC = 0x80186959 + SIOCDELLABEL = 0x80206997 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPARENT = 0x802069b4 + SIOCDIFPHYADDR = 0x80206949 + SIOCDPWE3NEIGHBOR = 0x802069de + SIOCDVNETID = 0x802069af + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETMPWCFG = 0xc02069ae + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGLIST = 0xc028698d + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFLLPRIO = 0xc02069b6 + SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPAIR = 0xc02069b1 + SIOCGIFPARENT = 0xc02069b3 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFSFFPAGE = 0xc1126939 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYDF = 0xc02069c2 + SIOCGLIFPHYECN = 0xc02069c8 + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 + SIOCGPWE3 = 0xc0206998 + SIOCGPWE3CTRLWORD = 0xc02069dc + SIOCGPWE3FAT = 0xc02069dd + SIOCGPWE3NEIGHBOR = 0xc21869de + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGTXHPRIO = 0xc02069c6 + SIOCGUMBINFO = 0xc02069be + SIOCGUMBPARAM = 0xc02069c0 + SIOCGVH = 0xc02069f6 + SIOCGVNETFLOWID = 0xc02069c4 + SIOCGVNETID = 0xc02069a7 + SIOCIFAFATTACH = 0x801169ab + SIOCIFAFDETACH = 0x801169ac + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETMPWCFG = 0x802069ad + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPAIR = 0x802069b0 + SIOCSIFPARENT = 0x802069b2 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYDF = 0x802069c1 + SIOCSLIFPHYECN = 0x802069c7 + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 + SIOCSPWE3CTRLWORD = 0x802069dc + SIOCSPWE3FAT = 0x802069dd + SIOCSPWE3NEIGHBOR = 0x821869de + SIOCSSPPPPARAMS = 0x80206993 + SIOCSTXHPRIO = 0x802069c5 + SIOCSUMBPARAM = 0x802069bf + SIOCSVH = 0xc02069f5 + SIOCSVNETFLOWID = 0x802069c3 + SIOCSVNETID = 0x802069a6 + SIOCSWGDPID = 0xc018695b + SIOCSWGMAXFLOW = 0xc0186960 + SIOCSWGMAXGROUP = 0xc018695d + SIOCSWSDPID = 0x8018695c + SIOCSWSPORTNO = 0xc060695f + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_DNS = 0x1000 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_ZEROIZE = 0x2000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIMER_ABSTIME = 0x1 + TIMER_RELTIME = 0x0 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCHKVERAUTH = 0x2000741e + TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSETVERAUTH = 0x8004741c + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCUCNTL_CBRK = 0x7a + TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 + VM_MALLOC_CONF = 0xc + VM_MAXID = 0xd + VM_MAXSLP = 0xa + VM_METER = 0x1 + VM_NKMEMPAGES = 0x6 + VM_PSSTRINGS = 0x3 + VM_SWAPENCRYPT = 0x5 + VM_USPACE = 0xb + VM_UVMEXP = 0x4 + VM_VNODEMIN = 0x9 + VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 + XCASE = 0x1000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ENOTSUP", "not supported"}, + {92, "EBADMSG", "bad message"}, + {93, "ENOTRECOVERABLE", "state not recoverable"}, + {94, "EOWNERDEAD", "previous owner died"}, + {95, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go new file mode 100644 index 00000000..46e054cc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go @@ -0,0 +1,1533 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,solaris + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_802 = 0x12 + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_FILE = 0x1 + AF_GOSIP = 0x16 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1a + AF_INET_OFFLOAD = 0x1e + AF_IPX = 0x17 + AF_KEY = 0x1b + AF_LAT = 0xe + AF_LINK = 0x19 + AF_LOCAL = 0x1 + AF_MAX = 0x20 + AF_NBS = 0x7 + AF_NCA = 0x1c + AF_NIT = 0x11 + AF_NS = 0x6 + AF_OSI = 0x13 + AF_OSINET = 0x15 + AF_PACKET = 0x20 + AF_POLICY = 0x1d + AF_PUP = 0x4 + AF_ROUTE = 0x18 + AF_SNA = 0xb + AF_TRILL = 0x1f + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_X25 = 0x14 + ARPHRD_ARCNET = 0x7 + ARPHRD_ATM = 0x10 + ARPHRD_AX25 = 0x3 + ARPHRD_CHAOS = 0x5 + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_FC = 0x12 + ARPHRD_FRAME = 0xf + ARPHRD_HDLC = 0x11 + ARPHRD_IB = 0x20 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IPATM = 0x13 + ARPHRD_METRICOM = 0x17 + ARPHRD_TUNNEL = 0x1f + B0 = 0x0 + B110 = 0x3 + B115200 = 0x12 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B153600 = 0x13 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B230400 = 0x14 + B2400 = 0xb + B300 = 0x7 + B307200 = 0x15 + B38400 = 0xf + B460800 = 0x16 + B4800 = 0xc + B50 = 0x1 + B57600 = 0x10 + B600 = 0x8 + B75 = 0x2 + B76800 = 0x11 + B921600 = 0x17 + B9600 = 0xd + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = -0x3fefbd89 + BIOCGDLTLIST32 = -0x3ff7bd89 + BIOCGETIF = 0x4020426b + BIOCGETLIF = 0x4078426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGRTIMEOUT32 = 0x4008427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = -0x7ffbbd90 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = -0x3ffbbd9a + BIOCSDLT = -0x7ffbbd8a + BIOCSETF = -0x7fefbd99 + BIOCSETF32 = -0x7ff7bd99 + BIOCSETIF = -0x7fdfbd94 + BIOCSETLIF = -0x7f87bd94 + BIOCSHDRCMPLT = -0x7ffbbd8b + BIOCSRTIMEOUT = -0x7fefbd86 + BIOCSRTIMEOUT32 = -0x7ff7bd86 + BIOCSSEESENT = -0x7ffbbd87 + BIOCSTCPF = -0x7fefbd8e + BIOCSUDPF = -0x7fefbd8d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_HIGHRES = 0x4 + CLOCK_LEVEL = 0xa + CLOCK_MONOTONIC = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x5 + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x3 + CLOCK_THREAD_CPUTIME_ID = 0x2 + CLOCK_VIRTUAL = 0x1 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + CSWTCH = 0x1a + DLT_AIRONET_HEADER = 0x78 + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_BACNET_MS_TP = 0xa5 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FDDI = 0xa + DLT_FRELAY = 0x6b + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xa2 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_PPPD = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EMPTY_SET = 0x0 + EMT_CPCOVF = 0x1 + EQUALITY_CHECK = 0x0 + EXTA = 0xe + EXTB = 0xf + FD_CLOEXEC = 0x1 + FD_NFDBITS = 0x40 + FD_SETSIZE = 0x10000 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHALL = 0x1 + FLUSHDATA = 0x0 + FLUSHO = 0x2000 + F_ALLOCSP = 0xa + F_ALLOCSP64 = 0xa + F_BADFD = 0x2e + F_BLKSIZE = 0x13 + F_BLOCKS = 0x12 + F_CHKFL = 0x8 + F_COMPAT = 0x8 + F_DUP2FD = 0x9 + F_DUP2FD_CLOEXEC = 0x24 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x25 + F_FLOCK = 0x35 + F_FLOCK64 = 0x35 + F_FLOCKW = 0x36 + F_FLOCKW64 = 0x36 + F_FREESP = 0xb + F_FREESP64 = 0xb + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETXFL = 0x2d + F_HASREMOTELOCKS = 0x1a + F_ISSTREAM = 0xd + F_MANDDNY = 0x10 + F_MDACC = 0x20 + F_NODNY = 0x0 + F_NPRIV = 0x10 + F_OFD_GETLK = 0x2f + F_OFD_GETLK64 = 0x2f + F_OFD_SETLK = 0x30 + F_OFD_SETLK64 = 0x30 + F_OFD_SETLKW = 0x31 + F_OFD_SETLKW64 = 0x31 + F_PRIV = 0xf + F_QUOTACTL = 0x11 + F_RDACC = 0x1 + F_RDDNY = 0x1 + F_RDLCK = 0x1 + F_REVOKE = 0x19 + F_RMACC = 0x4 + F_RMDNY = 0x4 + F_RWACC = 0x3 + F_RWDNY = 0x3 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLK64_NBMAND = 0x2a + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETLK_NBMAND = 0x2a + F_SETOWN = 0x18 + F_SHARE = 0x28 + F_SHARE_NBMAND = 0x2b + F_UNLCK = 0x3 + F_UNLKSYS = 0x4 + F_UNSHARE = 0x29 + F_WRACC = 0x2 + F_WRDNY = 0x2 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFF_ADDRCONF = 0x80000 + IFF_ALLMULTI = 0x200 + IFF_ANYCAST = 0x400000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x7f203003b5a + IFF_COS_ENABLED = 0x200000000 + IFF_DEBUG = 0x4 + IFF_DEPRECATED = 0x40000 + IFF_DHCPRUNNING = 0x4000 + IFF_DUPLICATE = 0x4000000000 + IFF_FAILED = 0x10000000 + IFF_FIXEDMTU = 0x1000000000 + IFF_INACTIVE = 0x40000000 + IFF_INTELLIGENT = 0x400 + IFF_IPMP = 0x8000000000 + IFF_IPMP_CANTCHANGE = 0x10000000 + IFF_IPMP_INVALID = 0x1ec200080 + IFF_IPV4 = 0x1000000 + IFF_IPV6 = 0x2000000 + IFF_L3PROTECT = 0x40000000000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x800 + IFF_MULTI_BCAST = 0x1000 + IFF_NOACCEPT = 0x4000000 + IFF_NOARP = 0x80 + IFF_NOFAILOVER = 0x8000000 + IFF_NOLINKLOCAL = 0x20000000000 + IFF_NOLOCAL = 0x20000 + IFF_NONUD = 0x200000 + IFF_NORTEXCH = 0x800000 + IFF_NOTRAILERS = 0x20 + IFF_NOXMIT = 0x10000 + IFF_OFFLINE = 0x80000000 + IFF_POINTOPOINT = 0x10 + IFF_PREFERRED = 0x400000000 + IFF_PRIVATE = 0x8000 + IFF_PROMISC = 0x100 + IFF_ROUTER = 0x100000 + IFF_RUNNING = 0x40 + IFF_STANDBY = 0x20000000 + IFF_TEMPORARY = 0x800000000 + IFF_UNNUMBERED = 0x2000 + IFF_UP = 0x1 + IFF_VIRTUAL = 0x2000000000 + IFF_VRRP = 0x10000000000 + IFF_XRESOLV = 0x100000000 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_6TO4 = 0xca + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_IPV4 = 0xc8 + IFT_IPV6 = 0xc9 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_AUTOCONF_MASK = 0xffff0000 + IN_AUTOCONF_NET = 0xa9fe0000 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_CLASSE_NET = 0xffffffff + IN_LOOPBACKNET = 0x7f + IN_PRIVATE12_MASK = 0xfff00000 + IN_PRIVATE12_NET = 0xac100000 + IN_PRIVATE16_MASK = 0xffff0000 + IN_PRIVATE16_NET = 0xc0a80000 + IN_PRIVATE8_MASK = 0xff000000 + IN_PRIVATE8_NET = 0xa000000 + IPPROTO_AH = 0x33 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x4 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_HELLO = 0x3f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_ND = 0x4d + IPPROTO_NONE = 0x3b + IPPROTO_OSPF = 0x59 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_UDP = 0x11 + IPV6_ADD_MEMBERSHIP = 0x9 + IPV6_BOUND_IF = 0x41 + IPV6_CHECKSUM = 0x18 + IPV6_DONTFRAG = 0x21 + IPV6_DROP_MEMBERSHIP = 0xa + IPV6_DSTOPTS = 0xf + IPV6_FLOWINFO_FLOWLABEL = 0xffff0f00 + IPV6_FLOWINFO_TCLASS = 0xf00f + IPV6_HOPLIMIT = 0xc + IPV6_HOPOPTS = 0xe + IPV6_JOIN_GROUP = 0x9 + IPV6_LEAVE_GROUP = 0xa + IPV6_MULTICAST_HOPS = 0x7 + IPV6_MULTICAST_IF = 0x6 + IPV6_MULTICAST_LOOP = 0x8 + IPV6_NEXTHOP = 0xd + IPV6_PAD1_OPT = 0x0 + IPV6_PATHMTU = 0x25 + IPV6_PKTINFO = 0xb + IPV6_PREFER_SRC_CGA = 0x20 + IPV6_PREFER_SRC_CGADEFAULT = 0x10 + IPV6_PREFER_SRC_CGAMASK = 0x30 + IPV6_PREFER_SRC_COA = 0x2 + IPV6_PREFER_SRC_DEFAULT = 0x15 + IPV6_PREFER_SRC_HOME = 0x1 + IPV6_PREFER_SRC_MASK = 0x3f + IPV6_PREFER_SRC_MIPDEFAULT = 0x1 + IPV6_PREFER_SRC_MIPMASK = 0x3 + IPV6_PREFER_SRC_NONCGA = 0x10 + IPV6_PREFER_SRC_PUBLIC = 0x4 + IPV6_PREFER_SRC_TMP = 0x8 + IPV6_PREFER_SRC_TMPDEFAULT = 0x4 + IPV6_PREFER_SRC_TMPMASK = 0xc + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x13 + IPV6_RECVHOPOPTS = 0x14 + IPV6_RECVPATHMTU = 0x24 + IPV6_RECVPKTINFO = 0x12 + IPV6_RECVRTHDR = 0x16 + IPV6_RECVRTHDRDSTOPTS = 0x17 + IPV6_RECVTCLASS = 0x19 + IPV6_RTHDR = 0x10 + IPV6_RTHDRDSTOPTS = 0x11 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SEC_OPT = 0x22 + IPV6_SRC_PREFERENCES = 0x23 + IPV6_TCLASS = 0x26 + IPV6_UNICAST_HOPS = 0x5 + IPV6_UNSPEC_SRC = 0x42 + IPV6_USE_MIN_MTU = 0x20 + IPV6_V6ONLY = 0x27 + IP_ADD_MEMBERSHIP = 0x13 + IP_ADD_SOURCE_MEMBERSHIP = 0x17 + IP_BLOCK_SOURCE = 0x15 + IP_BOUND_IF = 0x41 + IP_BROADCAST = 0x106 + IP_BROADCAST_TTL = 0x43 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPINIT_IF = 0x45 + IP_DONTFRAG = 0x1b + IP_DONTROUTE = 0x105 + IP_DROP_MEMBERSHIP = 0x14 + IP_DROP_SOURCE_MEMBERSHIP = 0x18 + IP_HDRINCL = 0x2 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x10 + IP_MULTICAST_LOOP = 0x12 + IP_MULTICAST_TTL = 0x11 + IP_NEXTHOP = 0x19 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x9 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVSLLA = 0xa + IP_RECVTTL = 0xb + IP_RETOPTS = 0x8 + IP_REUSEADDR = 0x104 + IP_SEC_OPT = 0x22 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x16 + IP_UNSPEC_SRC = 0x42 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_ACCESS_DEFAULT = 0x6 + MADV_ACCESS_LWP = 0x7 + MADV_ACCESS_MANY = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NORMAL = 0x0 + MADV_PURGE = 0x9 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80 + MAP_ALIGN = 0x200 + MAP_ANON = 0x100 + MAP_ANONYMOUS = 0x100 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_INITDATA = 0x800 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_TEXT = 0x400 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CTRUNC = 0x10 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_DUPCTRL = 0x800 + MSG_EOR = 0x8 + MSG_MAXIOVLEN = 0x10 + MSG_NOTIFICATION = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x20 + MSG_WAITALL = 0x40 + MSG_XPG4_2 = 0x8000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_OLDSYNC = 0x0 + MS_SYNC = 0x4 + M_FLUSH = 0x86 + NAME_MAX = 0xff + NEWDEV = 0x1 + NFDBITS = 0x40 + NL0 = 0x0 + NL1 = 0x100 + NLDLY = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + OLDDEV = 0x0 + ONBITSMAJOR = 0x7 + ONBITSMINOR = 0x8 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENFAIL = -0x1 + OPOST = 0x1 + O_ACCMODE = 0x600003 + O_APPEND = 0x8 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DSYNC = 0x40 + O_EXCL = 0x400 + O_EXEC = 0x400000 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x4 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NOLINKS = 0x40000 + O_NONBLOCK = 0x80 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x8000 + O_SEARCH = 0x200000 + O_SIOCGIFCONF = -0x3ff796ec + O_SIOCGLIFCONF = -0x3fef9688 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + O_XATTR = 0x4000 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x3 + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_NUMBITS = 0x9 + RTA_SRC = 0x100 + RTF_BLACKHOLE = 0x1000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INDIRECT = 0x40000 + RTF_KERNEL = 0x80000 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTIRT = 0x10000 + RTF_PRIVATE = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SETSRC = 0x20000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTF_ZONE = 0x100000 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0xf + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_FREEADDR = 0x10 + RTM_GET = 0x4 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_VERSION = 0x3 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_AWARE = 0x1 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_RIGHTS = 0x1010 + SCM_TIMESTAMP = 0x1013 + SCM_UCRED = 0x1012 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIG2STR_MAX = 0x20 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDRT = -0x7fcf8df6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fdb96e0 + SIOCDELMULTI = -0x7fdf96ce + SIOCDELRT = -0x7fcf8df5 + SIOCDXARP = -0x7fff9658 + SIOCGARP = -0x3fdb96e1 + SIOCGDSTINFO = -0x3fff965c + SIOCGENADDR = -0x3fdf96ab + SIOCGENPSTATS = -0x3fdf96c7 + SIOCGETLSGCNT = -0x3fef8deb + SIOCGETNAME = 0x40107334 + SIOCGETPEER = 0x40107335 + SIOCGETPROP = -0x3fff8f44 + SIOCGETSGCNT = -0x3feb8deb + SIOCGETSYNC = -0x3fdf96d3 + SIOCGETVIFCNT = -0x3feb8dec + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fdf96f3 + SIOCGIFBRDADDR = -0x3fdf96e9 + SIOCGIFCONF = -0x3ff796a4 + SIOCGIFDSTADDR = -0x3fdf96f1 + SIOCGIFFLAGS = -0x3fdf96ef + SIOCGIFHWADDR = -0x3fdf9647 + SIOCGIFINDEX = -0x3fdf96a6 + SIOCGIFMEM = -0x3fdf96ed + SIOCGIFMETRIC = -0x3fdf96e5 + SIOCGIFMTU = -0x3fdf96ea + SIOCGIFMUXID = -0x3fdf96a8 + SIOCGIFNETMASK = -0x3fdf96e7 + SIOCGIFNUM = 0x40046957 + SIOCGIP6ADDRPOLICY = -0x3fff965e + SIOCGIPMSFILTER = -0x3ffb964c + SIOCGLIFADDR = -0x3f87968f + SIOCGLIFBINDING = -0x3f879666 + SIOCGLIFBRDADDR = -0x3f879685 + SIOCGLIFCONF = -0x3fef965b + SIOCGLIFDADSTATE = -0x3f879642 + SIOCGLIFDSTADDR = -0x3f87968d + SIOCGLIFFLAGS = -0x3f87968b + SIOCGLIFGROUPINFO = -0x3f4b9663 + SIOCGLIFGROUPNAME = -0x3f879664 + SIOCGLIFHWADDR = -0x3f879640 + SIOCGLIFINDEX = -0x3f87967b + SIOCGLIFLNKINFO = -0x3f879674 + SIOCGLIFMETRIC = -0x3f879681 + SIOCGLIFMTU = -0x3f879686 + SIOCGLIFMUXID = -0x3f87967d + SIOCGLIFNETMASK = -0x3f879683 + SIOCGLIFNUM = -0x3ff3967e + SIOCGLIFSRCOF = -0x3fef964f + SIOCGLIFSUBNET = -0x3f879676 + SIOCGLIFTOKEN = -0x3f879678 + SIOCGLIFUSESRC = -0x3f879651 + SIOCGLIFZONE = -0x3f879656 + SIOCGLOWAT = 0x40047303 + SIOCGMSFILTER = -0x3ffb964e + SIOCGPGRP = 0x40047309 + SIOCGSTAMP = -0x3fef9646 + SIOCGXARP = -0x3fff9659 + SIOCIFDETACH = -0x7fdf96c8 + SIOCILB = -0x3ffb9645 + SIOCLIFADDIF = -0x3f879691 + SIOCLIFDELND = -0x7f879673 + SIOCLIFGETND = -0x3f879672 + SIOCLIFREMOVEIF = -0x7f879692 + SIOCLIFSETND = -0x7f879671 + SIOCLOWER = -0x7fdf96d7 + SIOCSARP = -0x7fdb96e2 + SIOCSCTPGOPT = -0x3fef9653 + SIOCSCTPPEELOFF = -0x3ffb9652 + SIOCSCTPSOPT = -0x7fef9654 + SIOCSENABLESDP = -0x3ffb9649 + SIOCSETPROP = -0x7ffb8f43 + SIOCSETSYNC = -0x7fdf96d4 + SIOCSHIWAT = -0x7ffb8d00 + SIOCSIFADDR = -0x7fdf96f4 + SIOCSIFBRDADDR = -0x7fdf96e8 + SIOCSIFDSTADDR = -0x7fdf96f2 + SIOCSIFFLAGS = -0x7fdf96f0 + SIOCSIFINDEX = -0x7fdf96a5 + SIOCSIFMEM = -0x7fdf96ee + SIOCSIFMETRIC = -0x7fdf96e4 + SIOCSIFMTU = -0x7fdf96eb + SIOCSIFMUXID = -0x7fdf96a7 + SIOCSIFNAME = -0x7fdf96b7 + SIOCSIFNETMASK = -0x7fdf96e6 + SIOCSIP6ADDRPOLICY = -0x7fff965d + SIOCSIPMSFILTER = -0x7ffb964b + SIOCSLGETREQ = -0x3fdf96b9 + SIOCSLIFADDR = -0x7f879690 + SIOCSLIFBRDADDR = -0x7f879684 + SIOCSLIFDSTADDR = -0x7f87968e + SIOCSLIFFLAGS = -0x7f87968c + SIOCSLIFGROUPNAME = -0x7f879665 + SIOCSLIFINDEX = -0x7f87967a + SIOCSLIFLNKINFO = -0x7f879675 + SIOCSLIFMETRIC = -0x7f879680 + SIOCSLIFMTU = -0x7f879687 + SIOCSLIFMUXID = -0x7f87967c + SIOCSLIFNAME = -0x3f87967f + SIOCSLIFNETMASK = -0x7f879682 + SIOCSLIFPREFIX = -0x3f879641 + SIOCSLIFSUBNET = -0x7f879677 + SIOCSLIFTOKEN = -0x7f879679 + SIOCSLIFUSESRC = -0x7f879650 + SIOCSLIFZONE = -0x7f879655 + SIOCSLOWAT = -0x7ffb8cfe + SIOCSLSTAT = -0x7fdf96b8 + SIOCSMSFILTER = -0x7ffb964d + SIOCSPGRP = -0x7ffb8cf8 + SIOCSPROMISC = -0x7ffb96d0 + SIOCSQPTR = -0x3ffb9648 + SIOCSSDSTATS = -0x3fdf96d2 + SIOCSSESTATS = -0x3fdf96d1 + SIOCSXARP = -0x7fff965a + SIOCTMYADDR = -0x3ff79670 + SIOCTMYSITE = -0x3ff7966e + SIOCTONLINK = -0x3ff7966f + SIOCUPPER = -0x7fdf96d8 + SIOCX25RCV = -0x3fdf96c4 + SIOCX25TBL = -0x3fdf96c3 + SIOCX25XMT = -0x3fdf96c5 + SIOCXPROTO = 0x20007337 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x1 + SOCK_NDELAY = 0x200000 + SOCK_NONBLOCK = 0x100000 + SOCK_RAW = 0x4 + SOCK_RDM = 0x5 + SOCK_SEQPACKET = 0x6 + SOCK_STREAM = 0x2 + SOCK_TYPE_MASK = 0xffff + SOL_FILTER = 0xfffc + SOL_PACKET = 0xfffd + SOL_ROUTE = 0xfffe + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ALL = 0x3f + SO_ALLZONES = 0x1014 + SO_ANON_MLP = 0x100a + SO_ATTACH_FILTER = 0x40000001 + SO_BAND = 0x4000 + SO_BROADCAST = 0x20 + SO_COPYOPT = 0x80000 + SO_DEBUG = 0x1 + SO_DELIM = 0x8000 + SO_DETACH_FILTER = 0x40000002 + SO_DGRAM_ERRIND = 0x200 + SO_DOMAIN = 0x100c + SO_DONTLINGER = -0x81 + SO_DONTROUTE = 0x10 + SO_ERROPT = 0x40000 + SO_ERROR = 0x1007 + SO_EXCLBIND = 0x1015 + SO_HIWAT = 0x10 + SO_ISNTTY = 0x800 + SO_ISTTY = 0x400 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOWAT = 0x20 + SO_MAC_EXEMPT = 0x100b + SO_MAC_IMPLICIT = 0x1016 + SO_MAXBLK = 0x100000 + SO_MAXPSZ = 0x8 + SO_MINPSZ = 0x4 + SO_MREADOFF = 0x80 + SO_MREADON = 0x40 + SO_NDELOFF = 0x200 + SO_NDELON = 0x100 + SO_NODELIM = 0x10000 + SO_OOBINLINE = 0x100 + SO_PROTOTYPE = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVPSH = 0x100d + SO_RCVTIMEO = 0x1006 + SO_READOPT = 0x1 + SO_RECVUCRED = 0x400 + SO_REUSEADDR = 0x4 + SO_SECATTR = 0x1011 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STRHOLD = 0x20000 + SO_TAIL = 0x200000 + SO_TIMESTAMP = 0x1013 + SO_TONSTOP = 0x2000 + SO_TOSTOP = 0x1000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_VRRP = 0x1017 + SO_WROFF = 0x2 + S_ENFMT = 0x400 + S_IAMB = 0x1ff + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFDOOR = 0xd000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFNAM = 0x5000 + S_IFPORT = 0xe000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_INSEM = 0x1 + S_INSHD = 0x2 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_ABORT_THRESHOLD = 0x11 + TCP_ANONPRIVBIND = 0x20 + TCP_CONN_ABORT_THRESHOLD = 0x13 + TCP_CONN_NOTIFY_THRESHOLD = 0x12 + TCP_CORK = 0x18 + TCP_EXCLBIND = 0x21 + TCP_INIT_CWND = 0x15 + TCP_KEEPALIVE = 0x8 + TCP_KEEPALIVE_ABORT_THRESHOLD = 0x17 + TCP_KEEPALIVE_THRESHOLD = 0x16 + TCP_KEEPCNT = 0x23 + TCP_KEEPIDLE = 0x22 + TCP_KEEPINTVL = 0x24 + TCP_LINGER2 = 0x1c + TCP_MAXSEG = 0x2 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOTIFY_THRESHOLD = 0x10 + TCP_RECVDSTADDR = 0x14 + TCP_RTO_INITIAL = 0x19 + TCP_RTO_MAX = 0x1b + TCP_RTO_MIN = 0x1a + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETSF = 0x5410 + TCSETSW = 0x540f + TCXONC = 0x5406 + TIOC = 0x5400 + TIOCCBRK = 0x747a + TIOCCDTR = 0x7478 + TIOCCILOOP = 0x746c + TIOCEXCL = 0x740d + TIOCFLUSH = 0x7410 + TIOCGETC = 0x7412 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x7414 + TIOCGPPS = 0x547d + TIOCGPPSEV = 0x547f + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5469 + TIOCGWINSZ = 0x5468 + TIOCHPCL = 0x7402 + TIOCKBOF = 0x5409 + TIOCKBON = 0x5408 + TIOCLBIC = 0x747e + TIOCLBIS = 0x747f + TIOCLGET = 0x747c + TIOCLSET = 0x747d + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMSET = 0x741a + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x7471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7473 + TIOCREMOTE = 0x741e + TIOCSBRK = 0x747b + TIOCSCTTY = 0x7484 + TIOCSDTR = 0x7479 + TIOCSETC = 0x7411 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIGNAL = 0x741f + TIOCSILOOP = 0x746d + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x7415 + TIOCSPPS = 0x547e + TIOCSSOFTCAR = 0x546a + TIOCSTART = 0x746e + TIOCSTI = 0x7417 + TIOCSTOP = 0x746f + TIOCSWINSZ = 0x5467 + TOSTOP = 0x100 + UTIME_NOW = -0x1 + UTIME_OMIT = -0x2 + VCEOF = 0x8 + VCEOL = 0x9 + VDISCARD = 0xd + VDSUSP = 0xb + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VERASE2 = 0x11 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTATUS = 0x10 + VSTOP = 0x9 + VSUSP = 0xa + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WCONTFLG = 0xffff + WCONTINUED = 0x8 + WCOREFLG = 0x80 + WEXITED = 0x1 + WNOHANG = 0x40 + WNOWAIT = 0x80 + WOPTMASK = 0xcf + WRAP = 0x20000 + WSIGMASK = 0x7f + WSTOPFLG = 0x7f + WSTOPPED = 0x4 + WTRAPPED = 0x2 + WUNTRACED = 0x4 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x39) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x2f) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x31) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOCKUNMAPPED = syscall.Errno(0x48) + ELOOP = syscall.Errno(0x5a) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTACTIVE = syscall.Errno(0x49) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTRECOVERABLE = syscall.Errno(0x3b) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x30) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0x3a) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMOTE = syscall.Errno(0x42) + ERESTART = syscall.Errno(0x5b) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCANCEL = syscall.Signal(0x24) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGFREEZE = syscall.Signal(0x22) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x29) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGJVM1 = syscall.Signal(0x27) + SIGJVM2 = syscall.Signal(0x28) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x25) + SIGLWP = syscall.Signal(0x21) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHAW = syscall.Signal(0x23) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWAITING = syscall.Signal(0x20) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) + SIGXRES = syscall.Signal(0x26) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock situation detected/avoided"}, + {46, "ENOLCK", "no record locks available"}, + {47, "ECANCELED", "operation canceled"}, + {48, "ENOTSUP", "operation not supported"}, + {49, "EDQUOT", "disc quota exceeded"}, + {50, "EBADE", "bad exchange descriptor"}, + {51, "EBADR", "bad request descriptor"}, + {52, "EXFULL", "message tables full"}, + {53, "ENOANO", "anode table overflow"}, + {54, "EBADRQC", "bad request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock"}, + {57, "EBFONT", "bad font file format"}, + {58, "EOWNERDEAD", "owner of the lock died"}, + {59, "ENOTRECOVERABLE", "lock is not recoverable"}, + {60, "ENOSTR", "not a stream device"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of stream resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "ELOCKUNMAPPED", "locked lock was unmapped "}, + {73, "ENOTACTIVE", "facility is not active"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "not a data message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in more shared libraries than system limit"}, + {87, "ELIBEXEC", "can not exec a shared library directly"}, + {88, "EILSEQ", "illegal byte sequence"}, + {89, "ENOSYS", "operation not applicable"}, + {90, "ELOOP", "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"}, + {91, "ERESTART", "error 91"}, + {92, "ESTRPIPE", "error 92"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "option not supported by protocol"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "EOPNOTSUPP", "operation not supported on transport endpoint"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection because of reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {143, "ESHUTDOWN", "cannot send after socket shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale NFS file handle"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal Instruction"}, + {5, "SIGTRAP", "trace/Breakpoint Trap"}, + {6, "SIGABRT", "abort"}, + {7, "SIGEMT", "emulation Trap"}, + {8, "SIGFPE", "arithmetic Exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus Error"}, + {11, "SIGSEGV", "segmentation Fault"}, + {12, "SIGSYS", "bad System Call"}, + {13, "SIGPIPE", "broken Pipe"}, + {14, "SIGALRM", "alarm Clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user Signal 1"}, + {17, "SIGUSR2", "user Signal 2"}, + {18, "SIGCHLD", "child Status Changed"}, + {19, "SIGPWR", "power-Fail/Restart"}, + {20, "SIGWINCH", "window Size Change"}, + {21, "SIGURG", "urgent Socket Condition"}, + {22, "SIGIO", "pollable Event"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped (user)"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual Timer Expired"}, + {29, "SIGPROF", "profiling Timer Expired"}, + {30, "SIGXCPU", "cpu Limit Exceeded"}, + {31, "SIGXFSZ", "file Size Limit Exceeded"}, + {32, "SIGWAITING", "no runnable lwp"}, + {33, "SIGLWP", "inter-lwp signal"}, + {34, "SIGFREEZE", "checkpoint Freeze"}, + {35, "SIGTHAW", "checkpoint Thaw"}, + {36, "SIGCANCEL", "thread Cancellation"}, + {37, "SIGLOST", "resource Lost"}, + {38, "SIGXRES", "resource Control Exceeded"}, + {39, "SIGJVM1", "reserved for JVM 1"}, + {40, "SIGJVM2", "reserved for JVM 2"}, + {41, "SIGINFO", "information Request"}, +} diff --git a/vendor/golang.org/x/sys/unix/zptrace386_linux.go b/vendor/golang.org/x/sys/unix/zptrace386_linux.go new file mode 100644 index 00000000..2d21c49e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptrace386_linux.go @@ -0,0 +1,80 @@ +// Code generated by linux/mkall.go generatePtracePair(386, amd64). DO NOT EDIT. + +// +build linux +// +build 386 amd64 + +package unix + +import "unsafe" + +// PtraceRegs386 is the registers used by 386 binaries. +type PtraceRegs386 struct { + Ebx int32 + Ecx int32 + Edx int32 + Esi int32 + Edi int32 + Ebp int32 + Eax int32 + Xds int32 + Xes int32 + Xfs int32 + Xgs int32 + Orig_eax int32 + Eip int32 + Xcs int32 + Eflags int32 + Esp int32 + Xss int32 +} + +// PtraceGetRegs386 fetches the registers used by 386 binaries. +func PtraceGetRegs386(pid int, regsout *PtraceRegs386) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegs386 sets the registers used by 386 binaries. +func PtraceSetRegs386(pid int, regs *PtraceRegs386) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsAmd64 is the registers used by amd64 binaries. +type PtraceRegsAmd64 struct { + R15 uint64 + R14 uint64 + R13 uint64 + R12 uint64 + Rbp uint64 + Rbx uint64 + R11 uint64 + R10 uint64 + R9 uint64 + R8 uint64 + Rax uint64 + Rcx uint64 + Rdx uint64 + Rsi uint64 + Rdi uint64 + Orig_rax uint64 + Rip uint64 + Cs uint64 + Eflags uint64 + Rsp uint64 + Ss uint64 + Fs_base uint64 + Gs_base uint64 + Ds uint64 + Es uint64 + Fs uint64 + Gs uint64 +} + +// PtraceGetRegsAmd64 fetches the registers used by amd64 binaries. +func PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsAmd64 sets the registers used by amd64 binaries. +func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zptracearm_linux.go b/vendor/golang.org/x/sys/unix/zptracearm_linux.go new file mode 100644 index 00000000..faf23bbe --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptracearm_linux.go @@ -0,0 +1,41 @@ +// Code generated by linux/mkall.go generatePtracePair(arm, arm64). DO NOT EDIT. + +// +build linux +// +build arm arm64 + +package unix + +import "unsafe" + +// PtraceRegsArm is the registers used by arm binaries. +type PtraceRegsArm struct { + Uregs [18]uint32 +} + +// PtraceGetRegsArm fetches the registers used by arm binaries. +func PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsArm sets the registers used by arm binaries. +func PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsArm64 is the registers used by arm64 binaries. +type PtraceRegsArm64 struct { + Regs [31]uint64 + Sp uint64 + Pc uint64 + Pstate uint64 +} + +// PtraceGetRegsArm64 fetches the registers used by arm64 binaries. +func PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsArm64 sets the registers used by arm64 binaries. +func PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zptracemips_linux.go b/vendor/golang.org/x/sys/unix/zptracemips_linux.go new file mode 100644 index 00000000..c431131e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptracemips_linux.go @@ -0,0 +1,50 @@ +// Code generated by linux/mkall.go generatePtracePair(mips, mips64). DO NOT EDIT. + +// +build linux +// +build mips mips64 + +package unix + +import "unsafe" + +// PtraceRegsMips is the registers used by mips binaries. +type PtraceRegsMips struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips fetches the registers used by mips binaries. +func PtraceGetRegsMips(pid int, regsout *PtraceRegsMips) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips sets the registers used by mips binaries. +func PtraceSetRegsMips(pid int, regs *PtraceRegsMips) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsMips64 is the registers used by mips64 binaries. +type PtraceRegsMips64 struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips64 fetches the registers used by mips64 binaries. +func PtraceGetRegsMips64(pid int, regsout *PtraceRegsMips64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips64 sets the registers used by mips64 binaries. +func PtraceSetRegsMips64(pid int, regs *PtraceRegsMips64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go b/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go new file mode 100644 index 00000000..dc3d6d37 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go @@ -0,0 +1,50 @@ +// Code generated by linux/mkall.go generatePtracePair(mipsle, mips64le). DO NOT EDIT. + +// +build linux +// +build mipsle mips64le + +package unix + +import "unsafe" + +// PtraceRegsMipsle is the registers used by mipsle binaries. +type PtraceRegsMipsle struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMipsle fetches the registers used by mipsle binaries. +func PtraceGetRegsMipsle(pid int, regsout *PtraceRegsMipsle) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMipsle sets the registers used by mipsle binaries. +func PtraceSetRegsMipsle(pid int, regs *PtraceRegsMipsle) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsMips64le is the registers used by mips64le binaries. +type PtraceRegsMips64le struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips64le fetches the registers used by mips64le binaries. +func PtraceGetRegsMips64le(pid int, regsout *PtraceRegsMips64le) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips64le sets the registers used by mips64le binaries. +func PtraceSetRegsMips64le(pid int, regs *PtraceRegsMips64le) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go new file mode 100644 index 00000000..ed657ff1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go @@ -0,0 +1,1484 @@ +// go run mksyscall_aix_ppc.go -aix -tags aix,ppc syscall_aix.go syscall_aix_ppc.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc + +package unix + +/* +#include +#include +int utimes(uintptr_t, uintptr_t); +int utimensat(int, uintptr_t, uintptr_t, int); +int getcwd(uintptr_t, size_t); +int accept(int, uintptr_t, uintptr_t); +int getdirent(int, uintptr_t, size_t); +int wait4(int, uintptr_t, int, uintptr_t); +int ioctl(int, int, uintptr_t); +int fcntl(uintptr_t, int, uintptr_t); +int acct(uintptr_t); +int chdir(uintptr_t); +int chroot(uintptr_t); +int close(int); +int dup(int); +void exit(int); +int faccessat(int, uintptr_t, unsigned int, int); +int fchdir(int); +int fchmod(int, unsigned int); +int fchmodat(int, uintptr_t, unsigned int, int); +int fchownat(int, uintptr_t, int, int, int); +int fdatasync(int); +int fsync(int); +int getpgid(int); +int getpgrp(); +int getpid(); +int getppid(); +int getpriority(int, int); +int getrusage(int, uintptr_t); +int getsid(int); +int kill(int, int); +int syslog(int, uintptr_t, size_t); +int mkdir(int, uintptr_t, unsigned int); +int mkdirat(int, uintptr_t, unsigned int); +int mkfifo(uintptr_t, unsigned int); +int mknod(uintptr_t, unsigned int, int); +int mknodat(int, uintptr_t, unsigned int, int); +int nanosleep(uintptr_t, uintptr_t); +int open64(uintptr_t, int, unsigned int); +int openat(int, uintptr_t, int, unsigned int); +int read(int, uintptr_t, size_t); +int readlink(uintptr_t, uintptr_t, size_t); +int renameat(int, uintptr_t, int, uintptr_t); +int setdomainname(uintptr_t, size_t); +int sethostname(uintptr_t, size_t); +int setpgid(int, int); +int setsid(); +int settimeofday(uintptr_t); +int setuid(int); +int setgid(int); +int setpriority(int, int, int); +int statx(int, uintptr_t, int, int, uintptr_t); +int sync(); +uintptr_t times(uintptr_t); +int umask(int); +int uname(uintptr_t); +int unlink(uintptr_t); +int unlinkat(int, uintptr_t, int); +int ustat(int, uintptr_t); +int write(int, uintptr_t, size_t); +int dup2(int, int); +int posix_fadvise64(int, long long, long long, int); +int fchown(int, int, int); +int fstat(int, uintptr_t); +int fstatat(int, uintptr_t, uintptr_t, int); +int fstatfs(int, uintptr_t); +int ftruncate(int, long long); +int getegid(); +int geteuid(); +int getgid(); +int getuid(); +int lchown(uintptr_t, int, int); +int listen(int, int); +int lstat(uintptr_t, uintptr_t); +int pause(); +int pread64(int, uintptr_t, size_t, long long); +int pwrite64(int, uintptr_t, size_t, long long); +#define c_select select +int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int setregid(int, int); +int setreuid(int, int); +int shutdown(int, int); +long long splice(int, uintptr_t, int, uintptr_t, int, int); +int stat(uintptr_t, uintptr_t); +int statfs(uintptr_t, uintptr_t); +int truncate(uintptr_t, long long); +int bind(int, uintptr_t, uintptr_t); +int connect(int, uintptr_t, uintptr_t); +int getgroups(int, uintptr_t); +int setgroups(int, uintptr_t); +int getsockopt(int, int, int, uintptr_t, uintptr_t); +int setsockopt(int, int, int, uintptr_t, uintptr_t); +int socket(int, int, int); +int socketpair(int, int, int, uintptr_t); +int getpeername(int, uintptr_t, uintptr_t); +int getsockname(int, uintptr_t, uintptr_t); +int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int nrecvmsg(int, uintptr_t, int); +int nsendmsg(int, uintptr_t, int); +int munmap(uintptr_t, uintptr_t); +int madvise(uintptr_t, size_t, int); +int mprotect(uintptr_t, size_t, int); +int mlock(uintptr_t, size_t); +int mlockall(int); +int msync(uintptr_t, size_t, int); +int munlock(uintptr_t, size_t); +int munlockall(); +int pipe(uintptr_t); +int poll(uintptr_t, int, int); +int gettimeofday(uintptr_t, uintptr_t); +int time(uintptr_t); +int utime(uintptr_t, uintptr_t); +unsigned long long getsystemcfg(int); +int umount(uintptr_t); +int getrlimit64(int, uintptr_t); +int setrlimit64(int, uintptr_t); +long long lseek64(int, long long, int); +uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long); + +*/ +import "C" +import ( + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utimes(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times))), C.int(flag)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getcwd(buf []byte) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.getcwd(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, er := C.accept(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirent(fd int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.getdirent(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { + r0, er := C.wait4(C.int(pid), C.uintptr_t(uintptr(unsafe.Pointer(status))), C.int(options), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) + wpid = Pid_t(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) + r = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(uintptr(unsafe.Pointer(lk)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) + val = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.acct(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.chdir(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.chroot(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + r0, er := C.close(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, er := C.dup(C.int(oldfd)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + C.exit(C.int(code)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + r0, er := C.fchdir(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + r0, er := C.fchmod(C.int(fd), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + r0, er := C.fdatasync(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + r0, er := C.fsync(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, er := C.getpgid(C.int(pid)) + pgid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pid int) { + r0, _ := C.getpgrp() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := C.getpid() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := C.getppid() + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, er := C.getpriority(C.int(which), C.int(who)) + prio = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + r0, er := C.getrusage(C.int(who), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, er := C.getsid(C.int(pid)) + sid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + r0, er := C.kill(C.int(pid), C.int(sig)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.syslog(C.int(typ), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(dirfd int, path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkfifo(C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + r0, er := C.nanosleep(C.uintptr_t(uintptr(unsafe.Pointer(time))), C.uintptr_t(uintptr(unsafe.Pointer(leftover)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + var _p2 int + _p2 = len(buf) + r0, er := C.readlink(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(_p1))), C.size_t(_p2)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(oldpath))) + _p1 := uintptr(unsafe.Pointer(C.CString(newpath))) + r0, er := C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.setdomainname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.sethostname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + r0, er := C.setpgid(C.int(pid), C.int(pgid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, er := C.setsid() + pid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + r0, er := C.settimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + r0, er := C.setuid(C.int(uid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(uid int) (err error) { + r0, er := C.setgid(C.int(uid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + r0, er := C.setpriority(C.int(which), C.int(who), C.int(prio)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + C.sync() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, er := C.times(C.uintptr_t(uintptr(unsafe.Pointer(tms)))) + ticks = uintptr(r0) + if uintptr(r0) == ^uintptr(0) && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := C.umask(C.int(mask)) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + r0, er := C.uname(C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.unlink(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + r0, er := C.ustat(C.int(dev), C.uintptr_t(uintptr(unsafe.Pointer(ubuf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + r0, er := C.dup2(C.int(oldfd), C.int(newfd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + r0, er := C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + r0, er := C.fchown(C.int(fd), C.int(uid), C.int(gid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *Stat_t) (err error) { + r0, er := C.fstat(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + r0, er := C.fstatfs(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + r0, er := C.ftruncate(C.int(fd), C.longlong(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := C.getegid() + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := C.geteuid() + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := C.getgid() + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := C.getuid() + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + r0, er := C.listen(C.int(s), C.int(n)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *Stat_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.lstat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + r0, er := C.pause() + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.pread64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.pwrite64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, er := C.c_select(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + r0, er := C.setregid(C.int(rgid), C.int(egid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + r0, er := C.setreuid(C.int(ruid), C.int(euid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + r0, er := C.shutdown(C.int(fd), C.int(how)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, er := C.splice(C.int(rfd), C.uintptr_t(uintptr(unsafe.Pointer(roff))), C.int(wfd), C.uintptr_t(uintptr(unsafe.Pointer(woff))), C.int(len), C.int(flags)) + n = int64(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, statptr *Stat_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(statptr)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.statfs(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.truncate(C.uintptr_t(_p0), C.longlong(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + r0, er := C.bind(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + r0, er := C.connect(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, er := C.getgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) + nn = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + r0, er := C.setgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + r0, er := C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(uintptr(unsafe.Pointer(vallen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + r0, er := C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(vallen)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, er := C.socket(C.int(domain), C.int(typ), C.int(proto)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + r0, er := C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(uintptr(unsafe.Pointer(fd)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + r0, er := C.getpeername(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + r0, er := C.getsockname(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.recvfrom(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(unsafe.Pointer(from))), C.uintptr_t(uintptr(unsafe.Pointer(fromlen)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.sendto(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(to)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, er := C.nrecvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, er := C.nsendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + r0, er := C.munmap(C.uintptr_t(addr), C.uintptr_t(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.madvise(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(advice)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.mprotect(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(prot)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.mlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + r0, er := C.mlockall(C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.msync(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.munlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + r0, er := C.munlockall() + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + r0, er := C.pipe(C.uintptr_t(uintptr(unsafe.Pointer(p)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, er := C.poll(C.uintptr_t(uintptr(unsafe.Pointer(fds))), C.int(nfds), C.int(timeout)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tv *Timeval, tzp *Timezone) (err error) { + r0, er := C.gettimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv))), C.uintptr_t(uintptr(unsafe.Pointer(tzp)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, er := C.time(C.uintptr_t(uintptr(unsafe.Pointer(t)))) + tt = Time_t(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utime(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsystemcfg(label int) (n uint64) { + r0, _ := C.getsystemcfg(C.int(label)) + n = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func umount(target string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(target))) + r0, er := C.umount(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + r0, er := C.setrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence)) + off = int64(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, er := C.mmap(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset)) + xaddr = uintptr(r0) + if uintptr(r0) == ^uintptr(0) && er != nil { + err = er + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go new file mode 100644 index 00000000..664b293b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go @@ -0,0 +1,1442 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc64 + +package unix + +import ( + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutimes(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutimensat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), flag) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getcwd(buf []byte) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, e1 := callgetcwd(uintptr(unsafe.Pointer(_p0)), len(buf)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, e1 := callaccept(s, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirent(fd int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, e1 := callgetdirent(fd, uintptr(unsafe.Pointer(_p0)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { + r0, e1 := callwait4(int(pid), uintptr(unsafe.Pointer(status)), options, uintptr(unsafe.Pointer(rusage))) + wpid = Pid_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, e1 := callioctl(fd, int(req), arg) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { + r0, e1 := callfcntl(fd, cmd, uintptr(arg)) + r = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { + _, e1 := callfcntl(fd, cmd, uintptr(unsafe.Pointer(lk))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, e1 := callfcntl(uintptr(fd), cmd, uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callacct(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callchdir(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callchroot(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, e1 := callclose(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, e1 := calldup(oldfd) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + callexit(code) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfaccessat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, e1 := callfchdir(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, e1 := callfchmod(fd, mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfchmodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfchownat(dirfd, uintptr(unsafe.Pointer(_p0)), uid, gid, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, e1 := callfdatasync(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, e1 := callfsync(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, e1 := callgetpgid(pid) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pid int) { + r0, _ := callgetpgrp() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := callgetpid() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := callgetppid() + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, e1 := callgetpriority(which, who) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, e1 := callgetrusage(who, uintptr(unsafe.Pointer(rusage))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, e1 := callgetsid(pid) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + _, e1 := callkill(pid, int(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, e1 := callsyslog(typ, uintptr(unsafe.Pointer(_p0)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkdir(dirfd, uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkdirat(dirfd, uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkfifo(uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmknod(uintptr(unsafe.Pointer(_p0)), mode, dev) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmknodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, dev) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, e1 := callnanosleep(uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, e1 := callopen64(uintptr(unsafe.Pointer(_p0)), mode, perm) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, e1 := callopenat(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mode) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callread(fd, uintptr(unsafe.Pointer(_p0)), len(p)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + r0, e1 := callreadlink(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, e1 := callrenameat(olddirfd, uintptr(unsafe.Pointer(_p0)), newdirfd, uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, e1 := callsetdomainname(uintptr(unsafe.Pointer(_p0)), len(p)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, e1 := callsethostname(uintptr(unsafe.Pointer(_p0)), len(p)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, e1 := callsetpgid(pid, pgid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, e1 := callsetsid() + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, e1 := callsettimeofday(uintptr(unsafe.Pointer(tv))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, e1 := callsetuid(uid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(uid int) (err error) { + _, e1 := callsetgid(uid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, e1 := callsetpriority(which, who, prio) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstatx(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mask, uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + callsync() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, e1 := calltimes(uintptr(unsafe.Pointer(tms))) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := callumask(mask) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, e1 := calluname(uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callunlink(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callunlinkat(dirfd, uintptr(unsafe.Pointer(_p0)), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, e1 := callustat(dev, uintptr(unsafe.Pointer(ubuf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(_p0)), len(p)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, e1 := callread(fd, uintptr(unsafe.Pointer(p)), np) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(p)), np) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, e1 := calldup2(oldfd, newfd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, e1 := callposix_fadvise64(fd, offset, length, advice) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, e1 := callfchown(fd, uid, gid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *Stat_t) (err error) { + _, e1 := callfstat(fd, uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfstatat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, e1 := callfstatfs(fd, uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, e1 := callftruncate(fd, length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := callgetegid() + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := callgeteuid() + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := callgetgid() + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := callgetuid() + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calllchown(uintptr(unsafe.Pointer(_p0)), uid, gid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, e1 := calllisten(s, n) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calllstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, e1 := callpause() + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callpread64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callpwrite64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, e1 := callselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, e1 := callsetregid(rgid, egid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, e1 := callsetreuid(ruid, euid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, e1 := callshutdown(fd, how) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, e1 := callsplice(rfd, uintptr(unsafe.Pointer(roff)), wfd, uintptr(unsafe.Pointer(woff)), len, flags) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, statptr *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statptr))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstatfs(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calltruncate(uintptr(unsafe.Pointer(_p0)), length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e1 := callbind(s, uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e1 := callconnect(s, uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, e1 := callgetgroups(n, uintptr(unsafe.Pointer(list))) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, e1 := callsetgroups(n, uintptr(unsafe.Pointer(list))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, e1 := callgetsockopt(s, level, name, uintptr(val), uintptr(unsafe.Pointer(vallen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, e1 := callsetsockopt(s, level, name, uintptr(val), vallen) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, e1 := callsocket(domain, typ, proto) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, e1 := callsocketpair(domain, typ, proto, uintptr(unsafe.Pointer(fd))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e1 := callgetpeername(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e1 := callgetsockname(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callrecvfrom(fd, uintptr(unsafe.Pointer(_p0)), len(p), flags, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, e1 := callsendto(s, uintptr(unsafe.Pointer(_p0)), len(buf), flags, uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, e1 := callnrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, e1 := callnsendmsg(s, uintptr(unsafe.Pointer(msg)), flags) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, e1 := callmunmap(addr, length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmadvise(uintptr(unsafe.Pointer(_p0)), len(b), advice) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmprotect(uintptr(unsafe.Pointer(_p0)), len(b), prot) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmlock(uintptr(unsafe.Pointer(_p0)), len(b)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, e1 := callmlockall(flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmsync(uintptr(unsafe.Pointer(_p0)), len(b), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmunlock(uintptr(unsafe.Pointer(_p0)), len(b)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, e1 := callmunlockall() + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, e1 := callpipe(uintptr(unsafe.Pointer(p))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, e1 := callpoll(uintptr(unsafe.Pointer(fds)), nfds, timeout) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tv *Timeval, tzp *Timezone) (err error) { + _, e1 := callgettimeofday(uintptr(unsafe.Pointer(tv)), uintptr(unsafe.Pointer(tzp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, e1 := calltime(uintptr(unsafe.Pointer(t))) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutime(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsystemcfg(label int) (n uint64) { + r0, _ := callgetsystemcfg(label) + n = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func umount(target string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, e1 := callumount(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, e1 := callsetrlimit(resource, uintptr(unsafe.Pointer(rlim))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, e1 := calllseek(fd, offset, whence) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, e1 := callmmap64(addr, length, prot, flags, fd, offset) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go new file mode 100644 index 00000000..4b3a8ad7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go @@ -0,0 +1,1192 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc64 +// +build !gccgo + +package unix + +import ( + "unsafe" +) + +//go:cgo_import_dynamic libc_utimes utimes "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_utimensat utimensat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getcwd getcwd "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_accept accept "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getdirent getdirent "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_close close "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_dup dup "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_exit exit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_faccessat faccessat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchdir fchdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchmod fchmod "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fsync fsync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getppid getppid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpriority getpriority "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getrusage getrusage "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsid getsid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_kill kill "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_syslog syslog "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkdir mkdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mknod mknod "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mknodat mknodat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_open64 open64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_openat openat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_read read "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_readlink readlink "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_renameat renameat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setdomainname setdomainname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sethostname sethostname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setpgid setpgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setsid setsid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setuid setuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setgid setgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setpriority setpriority "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_statx statx "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sync sync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_times times "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_umask umask "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_uname uname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_unlink unlink "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ustat ustat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_write write "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_dup2 dup2 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_posix_fadvise64 posix_fadvise64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchown fchown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstat fstat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstatat fstatat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getegid getegid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_geteuid geteuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getgid getgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getuid getuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lchown lchown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_listen listen "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lstat lstat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_select select "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_shutdown shutdown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_splice splice "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_stat stat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_statfs statfs "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_truncate truncate "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_bind bind "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_connect connect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getgroups getgroups "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setgroups setgroups "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_socket socket "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_socketpair socketpair "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpeername getpeername "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nrecvmsg nrecvmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nsendmsg nsendmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mlock mlock "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mlockall mlockall "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_msync msync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munlock munlock "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munlockall munlockall "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pipe pipe "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_poll poll "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_time time "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o" + +//go:linkname libc_utimes libc_utimes +//go:linkname libc_utimensat libc_utimensat +//go:linkname libc_getcwd libc_getcwd +//go:linkname libc_accept libc_accept +//go:linkname libc_getdirent libc_getdirent +//go:linkname libc_wait4 libc_wait4 +//go:linkname libc_ioctl libc_ioctl +//go:linkname libc_fcntl libc_fcntl +//go:linkname libc_acct libc_acct +//go:linkname libc_chdir libc_chdir +//go:linkname libc_chroot libc_chroot +//go:linkname libc_close libc_close +//go:linkname libc_dup libc_dup +//go:linkname libc_exit libc_exit +//go:linkname libc_faccessat libc_faccessat +//go:linkname libc_fchdir libc_fchdir +//go:linkname libc_fchmod libc_fchmod +//go:linkname libc_fchmodat libc_fchmodat +//go:linkname libc_fchownat libc_fchownat +//go:linkname libc_fdatasync libc_fdatasync +//go:linkname libc_fsync libc_fsync +//go:linkname libc_getpgid libc_getpgid +//go:linkname libc_getpgrp libc_getpgrp +//go:linkname libc_getpid libc_getpid +//go:linkname libc_getppid libc_getppid +//go:linkname libc_getpriority libc_getpriority +//go:linkname libc_getrusage libc_getrusage +//go:linkname libc_getsid libc_getsid +//go:linkname libc_kill libc_kill +//go:linkname libc_syslog libc_syslog +//go:linkname libc_mkdir libc_mkdir +//go:linkname libc_mkdirat libc_mkdirat +//go:linkname libc_mkfifo libc_mkfifo +//go:linkname libc_mknod libc_mknod +//go:linkname libc_mknodat libc_mknodat +//go:linkname libc_nanosleep libc_nanosleep +//go:linkname libc_open64 libc_open64 +//go:linkname libc_openat libc_openat +//go:linkname libc_read libc_read +//go:linkname libc_readlink libc_readlink +//go:linkname libc_renameat libc_renameat +//go:linkname libc_setdomainname libc_setdomainname +//go:linkname libc_sethostname libc_sethostname +//go:linkname libc_setpgid libc_setpgid +//go:linkname libc_setsid libc_setsid +//go:linkname libc_settimeofday libc_settimeofday +//go:linkname libc_setuid libc_setuid +//go:linkname libc_setgid libc_setgid +//go:linkname libc_setpriority libc_setpriority +//go:linkname libc_statx libc_statx +//go:linkname libc_sync libc_sync +//go:linkname libc_times libc_times +//go:linkname libc_umask libc_umask +//go:linkname libc_uname libc_uname +//go:linkname libc_unlink libc_unlink +//go:linkname libc_unlinkat libc_unlinkat +//go:linkname libc_ustat libc_ustat +//go:linkname libc_write libc_write +//go:linkname libc_dup2 libc_dup2 +//go:linkname libc_posix_fadvise64 libc_posix_fadvise64 +//go:linkname libc_fchown libc_fchown +//go:linkname libc_fstat libc_fstat +//go:linkname libc_fstatat libc_fstatat +//go:linkname libc_fstatfs libc_fstatfs +//go:linkname libc_ftruncate libc_ftruncate +//go:linkname libc_getegid libc_getegid +//go:linkname libc_geteuid libc_geteuid +//go:linkname libc_getgid libc_getgid +//go:linkname libc_getuid libc_getuid +//go:linkname libc_lchown libc_lchown +//go:linkname libc_listen libc_listen +//go:linkname libc_lstat libc_lstat +//go:linkname libc_pause libc_pause +//go:linkname libc_pread64 libc_pread64 +//go:linkname libc_pwrite64 libc_pwrite64 +//go:linkname libc_select libc_select +//go:linkname libc_pselect libc_pselect +//go:linkname libc_setregid libc_setregid +//go:linkname libc_setreuid libc_setreuid +//go:linkname libc_shutdown libc_shutdown +//go:linkname libc_splice libc_splice +//go:linkname libc_stat libc_stat +//go:linkname libc_statfs libc_statfs +//go:linkname libc_truncate libc_truncate +//go:linkname libc_bind libc_bind +//go:linkname libc_connect libc_connect +//go:linkname libc_getgroups libc_getgroups +//go:linkname libc_setgroups libc_setgroups +//go:linkname libc_getsockopt libc_getsockopt +//go:linkname libc_setsockopt libc_setsockopt +//go:linkname libc_socket libc_socket +//go:linkname libc_socketpair libc_socketpair +//go:linkname libc_getpeername libc_getpeername +//go:linkname libc_getsockname libc_getsockname +//go:linkname libc_recvfrom libc_recvfrom +//go:linkname libc_sendto libc_sendto +//go:linkname libc_nrecvmsg libc_nrecvmsg +//go:linkname libc_nsendmsg libc_nsendmsg +//go:linkname libc_munmap libc_munmap +//go:linkname libc_madvise libc_madvise +//go:linkname libc_mprotect libc_mprotect +//go:linkname libc_mlock libc_mlock +//go:linkname libc_mlockall libc_mlockall +//go:linkname libc_msync libc_msync +//go:linkname libc_munlock libc_munlock +//go:linkname libc_munlockall libc_munlockall +//go:linkname libc_pipe libc_pipe +//go:linkname libc_poll libc_poll +//go:linkname libc_gettimeofday libc_gettimeofday +//go:linkname libc_time libc_time +//go:linkname libc_utime libc_utime +//go:linkname libc_getsystemcfg libc_getsystemcfg +//go:linkname libc_umount libc_umount +//go:linkname libc_getrlimit libc_getrlimit +//go:linkname libc_setrlimit libc_setrlimit +//go:linkname libc_lseek libc_lseek +//go:linkname libc_mmap64 libc_mmap64 + +type syscallFunc uintptr + +var ( + libc_utimes, + libc_utimensat, + libc_getcwd, + libc_accept, + libc_getdirent, + libc_wait4, + libc_ioctl, + libc_fcntl, + libc_acct, + libc_chdir, + libc_chroot, + libc_close, + libc_dup, + libc_exit, + libc_faccessat, + libc_fchdir, + libc_fchmod, + libc_fchmodat, + libc_fchownat, + libc_fdatasync, + libc_fsync, + libc_getpgid, + libc_getpgrp, + libc_getpid, + libc_getppid, + libc_getpriority, + libc_getrusage, + libc_getsid, + libc_kill, + libc_syslog, + libc_mkdir, + libc_mkdirat, + libc_mkfifo, + libc_mknod, + libc_mknodat, + libc_nanosleep, + libc_open64, + libc_openat, + libc_read, + libc_readlink, + libc_renameat, + libc_setdomainname, + libc_sethostname, + libc_setpgid, + libc_setsid, + libc_settimeofday, + libc_setuid, + libc_setgid, + libc_setpriority, + libc_statx, + libc_sync, + libc_times, + libc_umask, + libc_uname, + libc_unlink, + libc_unlinkat, + libc_ustat, + libc_write, + libc_dup2, + libc_posix_fadvise64, + libc_fchown, + libc_fstat, + libc_fstatat, + libc_fstatfs, + libc_ftruncate, + libc_getegid, + libc_geteuid, + libc_getgid, + libc_getuid, + libc_lchown, + libc_listen, + libc_lstat, + libc_pause, + libc_pread64, + libc_pwrite64, + libc_select, + libc_pselect, + libc_setregid, + libc_setreuid, + libc_shutdown, + libc_splice, + libc_stat, + libc_statfs, + libc_truncate, + libc_bind, + libc_connect, + libc_getgroups, + libc_setgroups, + libc_getsockopt, + libc_setsockopt, + libc_socket, + libc_socketpair, + libc_getpeername, + libc_getsockname, + libc_recvfrom, + libc_sendto, + libc_nrecvmsg, + libc_nsendmsg, + libc_munmap, + libc_madvise, + libc_mprotect, + libc_mlock, + libc_mlockall, + libc_msync, + libc_munlock, + libc_munlockall, + libc_pipe, + libc_poll, + libc_gettimeofday, + libc_time, + libc_utime, + libc_getsystemcfg, + libc_umount, + libc_getrlimit, + libc_setrlimit, + libc_lseek, + libc_mmap64 syscallFunc +) + +// Implemented in runtime/syscall_aix.go. +func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimes)), 2, _p0, times, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimensat)), 4, uintptr(dirfd), _p0, times, uintptr(flag), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getcwd)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_accept)), 3, uintptr(s), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getdirent)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_wait4)), 4, uintptr(pid), status, uintptr(options), rusage, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ioctl)), 3, uintptr(fd), uintptr(req), arg, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fcntl)), 3, fd, uintptr(cmd), arg, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chdir)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chroot)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callclose(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_close)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup(oldfd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup)), 1, uintptr(oldfd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callexit(code int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_exit)), 1, uintptr(code), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_faccessat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchdir(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchownat)), 5, uintptr(dirfd), _p0, uintptr(uid), uintptr(gid), uintptr(flags), 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgrp() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpgrp)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetppid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getppid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrusage)), 2, uintptr(who), rusage, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsid(pid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_kill)), 2, uintptr(pid), uintptr(sig), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_syslog)), 3, uintptr(typ), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdir)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdirat)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkfifo)), 2, _p0, uintptr(mode), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknod)), 3, _p0, uintptr(mode), uintptr(dev), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(dev), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nanosleep)), 2, time, leftover, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_open64)), 3, _p0, uintptr(mode), uintptr(perm), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_openat)), 4, uintptr(dirfd), _p0, uintptr(flags), uintptr(mode), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_read)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_readlink)), 3, _p0, _p1, uintptr(_lenp1), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_renameat)), 4, uintptr(olddirfd), _p0, uintptr(newdirfd), _p1, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setdomainname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sethostname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setsid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_settimeofday)), 1, tv, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetuid(uid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgid(uid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setgid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statx)), 5, uintptr(dirfd), _p0, uintptr(flags), uintptr(mask), stat, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsync() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sync)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_times)), 1, tms, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumask(mask int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_umask)), 1, uintptr(mask), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calluname(buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_uname)), 1, buf, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlink)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlinkat)), 3, uintptr(dirfd), _p0, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ustat)), 2, uintptr(dev), ubuf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_write)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_posix_fadvise64)), 4, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstat)), 2, uintptr(fd), stat, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatat)), 4, uintptr(dirfd), _p0, stat, uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatfs)), 2, uintptr(fd), buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ftruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetegid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getegid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgeteuid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_geteuid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetuid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getuid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lchown)), 3, _p0, uintptr(uid), uintptr(gid), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllisten(s int, n int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_listen)), 2, uintptr(s), uintptr(n), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lstat)), 2, _p0, stat, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpause() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pause)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pread64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pwrite64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_select)), 5, uintptr(nfd), r, w, e, timeout, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_shutdown)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_splice)), 6, uintptr(rfd), roff, uintptr(wfd), woff, uintptr(len), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, statptr, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statfs)), 2, _p0, buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_truncate)), 2, _p0, uintptr(length), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_bind)), 3, uintptr(s), addr, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_connect)), 3, uintptr(s), addr, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgroups)), 2, uintptr(n), list, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setgroups)), 2, uintptr(n), list, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), fd, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpeername)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsockname)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvfrom)), 6, uintptr(fd), _p0, uintptr(_lenp0), uintptr(flags), from, fromlen) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendto)), 6, uintptr(s), _p0, uintptr(_lenp0), uintptr(flags), to, addrlen) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nrecvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nsendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munmap)), 2, addr, length, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_madvise)), 3, _p0, uintptr(_lenp0), uintptr(advice), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mprotect)), 3, _p0, uintptr(_lenp0), uintptr(prot), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlockall(flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_msync)), 3, _p0, uintptr(_lenp0), uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlockall() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlockall)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpipe(p uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_pipe)), 1, p, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_poll)), 3, fds, uintptr(nfds), uintptr(timeout), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_gettimeofday)), 2, tv, tzp, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltime(t uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_time)), 1, t, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utime)), 2, _p0, buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsystemcfg)), 1, uintptr(label), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_umount)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mmap64)), 6, addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go new file mode 100644 index 00000000..cde4dbc5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go @@ -0,0 +1,1070 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc64 +// +build gccgo + +package unix + +/* +#include +int utimes(uintptr_t, uintptr_t); +int utimensat(int, uintptr_t, uintptr_t, int); +int getcwd(uintptr_t, size_t); +int accept(int, uintptr_t, uintptr_t); +int getdirent(int, uintptr_t, size_t); +int wait4(int, uintptr_t, int, uintptr_t); +int ioctl(int, int, uintptr_t); +int fcntl(uintptr_t, int, uintptr_t); +int acct(uintptr_t); +int chdir(uintptr_t); +int chroot(uintptr_t); +int close(int); +int dup(int); +void exit(int); +int faccessat(int, uintptr_t, unsigned int, int); +int fchdir(int); +int fchmod(int, unsigned int); +int fchmodat(int, uintptr_t, unsigned int, int); +int fchownat(int, uintptr_t, int, int, int); +int fdatasync(int); +int fsync(int); +int getpgid(int); +int getpgrp(); +int getpid(); +int getppid(); +int getpriority(int, int); +int getrusage(int, uintptr_t); +int getsid(int); +int kill(int, int); +int syslog(int, uintptr_t, size_t); +int mkdir(int, uintptr_t, unsigned int); +int mkdirat(int, uintptr_t, unsigned int); +int mkfifo(uintptr_t, unsigned int); +int mknod(uintptr_t, unsigned int, int); +int mknodat(int, uintptr_t, unsigned int, int); +int nanosleep(uintptr_t, uintptr_t); +int open64(uintptr_t, int, unsigned int); +int openat(int, uintptr_t, int, unsigned int); +int read(int, uintptr_t, size_t); +int readlink(uintptr_t, uintptr_t, size_t); +int renameat(int, uintptr_t, int, uintptr_t); +int setdomainname(uintptr_t, size_t); +int sethostname(uintptr_t, size_t); +int setpgid(int, int); +int setsid(); +int settimeofday(uintptr_t); +int setuid(int); +int setgid(int); +int setpriority(int, int, int); +int statx(int, uintptr_t, int, int, uintptr_t); +int sync(); +uintptr_t times(uintptr_t); +int umask(int); +int uname(uintptr_t); +int unlink(uintptr_t); +int unlinkat(int, uintptr_t, int); +int ustat(int, uintptr_t); +int write(int, uintptr_t, size_t); +int dup2(int, int); +int posix_fadvise64(int, long long, long long, int); +int fchown(int, int, int); +int fstat(int, uintptr_t); +int fstatat(int, uintptr_t, uintptr_t, int); +int fstatfs(int, uintptr_t); +int ftruncate(int, long long); +int getegid(); +int geteuid(); +int getgid(); +int getuid(); +int lchown(uintptr_t, int, int); +int listen(int, int); +int lstat(uintptr_t, uintptr_t); +int pause(); +int pread64(int, uintptr_t, size_t, long long); +int pwrite64(int, uintptr_t, size_t, long long); +#define c_select select +int select(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int setregid(int, int); +int setreuid(int, int); +int shutdown(int, int); +long long splice(int, uintptr_t, int, uintptr_t, int, int); +int stat(uintptr_t, uintptr_t); +int statfs(uintptr_t, uintptr_t); +int truncate(uintptr_t, long long); +int bind(int, uintptr_t, uintptr_t); +int connect(int, uintptr_t, uintptr_t); +int getgroups(int, uintptr_t); +int setgroups(int, uintptr_t); +int getsockopt(int, int, int, uintptr_t, uintptr_t); +int setsockopt(int, int, int, uintptr_t, uintptr_t); +int socket(int, int, int); +int socketpair(int, int, int, uintptr_t); +int getpeername(int, uintptr_t, uintptr_t); +int getsockname(int, uintptr_t, uintptr_t); +int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int nrecvmsg(int, uintptr_t, int); +int nsendmsg(int, uintptr_t, int); +int munmap(uintptr_t, uintptr_t); +int madvise(uintptr_t, size_t, int); +int mprotect(uintptr_t, size_t, int); +int mlock(uintptr_t, size_t); +int mlockall(int); +int msync(uintptr_t, size_t, int); +int munlock(uintptr_t, size_t); +int munlockall(); +int pipe(uintptr_t); +int poll(uintptr_t, int, int); +int gettimeofday(uintptr_t, uintptr_t); +int time(uintptr_t); +int utime(uintptr_t, uintptr_t); +unsigned long long getsystemcfg(int); +int umount(uintptr_t); +int getrlimit(int, uintptr_t); +int setrlimit(int, uintptr_t); +long long lseek(int, long long, int); +uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long); + +*/ +import "C" +import ( + "syscall" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utimes(C.uintptr_t(_p0), C.uintptr_t(times))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(times), C.int(flag))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getcwd(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.accept(C.int(s), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getdirent(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.wait4(C.int(pid), C.uintptr_t(status), C.int(options), C.uintptr_t(rusage))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.acct(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.chdir(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.chroot(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callclose(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.close(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup(oldfd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.dup(C.int(oldfd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callexit(code int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.exit(C.int(code))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchdir(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchdir(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchmod(C.int(fd), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fdatasync(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fsync(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpgid(C.int(pid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgrp() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpgrp()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetppid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getppid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpriority(C.int(which), C.int(who))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getrusage(C.int(who), C.uintptr_t(rusage))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsid(pid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsid(C.int(pid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.kill(C.int(pid), C.int(sig))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.syslog(C.int(typ), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkfifo(C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nanosleep(C.uintptr_t(time), C.uintptr_t(leftover))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.read(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.readlink(C.uintptr_t(_p0), C.uintptr_t(_p1), C.size_t(_lenp1))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setdomainname(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sethostname(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setpgid(C.int(pid), C.int(pgid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setsid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.settimeofday(C.uintptr_t(tv))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetuid(uid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setuid(C.int(uid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgid(uid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setgid(C.int(uid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setpriority(C.int(which), C.int(who), C.int(prio))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsync() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sync()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.times(C.uintptr_t(tms))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumask(mask int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.umask(C.int(mask))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calluname(buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.uname(C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.unlink(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ustat(C.int(dev), C.uintptr_t(ubuf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.write(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.dup2(C.int(oldfd), C.int(newfd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchown(C.int(fd), C.int(uid), C.int(gid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstat(C.int(fd), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(stat), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstatfs(C.int(fd), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ftruncate(C.int(fd), C.longlong(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetegid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getegid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgeteuid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.geteuid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getgid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetuid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getuid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllisten(s int, n int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.listen(C.int(s), C.int(n))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lstat(C.uintptr_t(_p0), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpause() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pause()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pread64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pwrite64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.c_select(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setregid(C.int(rgid), C.int(egid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setreuid(C.int(ruid), C.int(euid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.shutdown(C.int(fd), C.int(how))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.splice(C.int(rfd), C.uintptr_t(roff), C.int(wfd), C.uintptr_t(woff), C.int(len), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstat(_p0 uintptr, statptr uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(statptr))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.statfs(C.uintptr_t(_p0), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.truncate(C.uintptr_t(_p0), C.longlong(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.bind(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.connect(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getgroups(C.int(n), C.uintptr_t(list))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setgroups(C.int(n), C.uintptr_t(list))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.socket(C.int(domain), C.int(typ), C.int(proto))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpeername(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsockname(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.recvfrom(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(from), C.uintptr_t(fromlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sendto(C.int(s), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(to), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nrecvmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nsendmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munmap(C.uintptr_t(addr), C.uintptr_t(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.madvise(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(advice))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mprotect(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(prot))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mlock(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlockall(flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mlockall(C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.msync(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munlock(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlockall() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munlockall()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpipe(p uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pipe(C.uintptr_t(p))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.poll(C.uintptr_t(fds), C.int(nfds), C.int(timeout))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.gettimeofday(C.uintptr_t(tv), C.uintptr_t(tzp))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltime(t uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.time(C.uintptr_t(t))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utime(C.uintptr_t(_p0), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsystemcfg(label int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsystemcfg(C.int(label))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumount(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.umount(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setrlimit(C.int(resource), C.uintptr_t(rlim))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mmap64(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go new file mode 100644 index 00000000..b42c1cba --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go @@ -0,0 +1,1811 @@ +// go run mksyscall.go -l32 -tags darwin,386,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.1_11.go syscall_darwin_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,386,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go new file mode 100644 index 00000000..e263fbdb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go @@ -0,0 +1,41 @@ +// go run mksyscall.go -l32 -tags darwin,386,go1.13 syscall_darwin.1_13.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,386,go1.13 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func closedir(dir uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_closedir_trampoline() + +//go:linkname libc_closedir libc_closedir +//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { + r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) + res = Errno(r0) + return +} + +func libc_readdir_r_trampoline() + +//go:linkname libc_readdir_r libc_readdir_r +//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s new file mode 100644 index 00000000..00da1ebf --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s @@ -0,0 +1,12 @@ +// go run mkasm_darwin.go 386 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.13 + +#include "textflag.h" +TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fdopendir(SB) +TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_closedir(SB) +TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readdir_r(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go new file mode 100644 index 00000000..603c9f6e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go @@ -0,0 +1,2499 @@ +// go run mksyscall.go -l32 -tags darwin,386,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,386,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_clock_gettime_trampoline() + +//go:linkname libc_clock_gettime libc_clock_gettime +//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat64_trampoline() + +//go:linkname libc_fstat64 libc_fstat64 +//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat64_trampoline() + +//go:linkname libc_fstatat64 libc_fstatat64 +//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs64_trampoline() + +//go:linkname libc_fstatfs64 libc_fstatfs64 +//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat64_trampoline() + +//go:linkname libc_getfsstat64 libc_getfsstat64 +//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat64_trampoline() + +//go:linkname libc_lstat64 libc_lstat64 +//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat64_trampoline() + +//go:linkname libc_stat64 libc_stat64 +//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs64_trampoline() + +//go:linkname libc_statfs64 libc_statfs64 +//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s new file mode 100644 index 00000000..ece6f67c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s @@ -0,0 +1,284 @@ +// go run mkasm_darwin.go 386 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat64(SB) +TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat64(SB) +TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs64(SB) +TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat64(SB) +TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat64(SB) +TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat64(SB) +TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs64(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go new file mode 100644 index 00000000..38b7cbab --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go @@ -0,0 +1,1811 @@ +// go run mksyscall.go -tags darwin,amd64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.1_11.go syscall_darwin_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,amd64,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go new file mode 100644 index 00000000..314042a9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go @@ -0,0 +1,41 @@ +// go run mksyscall.go -tags darwin,amd64,go1.13 syscall_darwin.1_13.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,amd64,go1.13 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func closedir(dir uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_closedir_trampoline() + +//go:linkname libc_closedir libc_closedir +//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { + r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) + res = Errno(r0) + return +} + +func libc_readdir_r_trampoline() + +//go:linkname libc_readdir_r libc_readdir_r +//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s new file mode 100644 index 00000000..d671e831 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s @@ -0,0 +1,12 @@ +// go run mkasm_darwin.go amd64 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.13 + +#include "textflag.h" +TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fdopendir(SB) +TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_closedir(SB) +TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readdir_r(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go new file mode 100644 index 00000000..fda478e8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -0,0 +1,2499 @@ +// go run mksyscall.go -tags darwin,amd64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,amd64,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_clock_gettime_trampoline() + +//go:linkname libc_clock_gettime libc_clock_gettime +//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat64_trampoline() + +//go:linkname libc_fstat64 libc_fstat64 +//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat64_trampoline() + +//go:linkname libc_fstatat64 libc_fstatat64 +//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs64_trampoline() + +//go:linkname libc_fstatfs64 libc_fstatfs64 +//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat64_trampoline() + +//go:linkname libc_getfsstat64 libc_getfsstat64 +//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat64_trampoline() + +//go:linkname libc_lstat64 libc_lstat64 +//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat64_trampoline() + +//go:linkname libc_stat64 libc_stat64 +//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs64_trampoline() + +//go:linkname libc_statfs64 libc_statfs64 +//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s new file mode 100644 index 00000000..7c4d5901 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -0,0 +1,284 @@ +// go run mkasm_darwin.go amd64 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat64(SB) +TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat64(SB) +TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs64(SB) +TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat64(SB) +TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat64(SB) +TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat64(SB) +TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs64(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go new file mode 100644 index 00000000..abb69183 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go @@ -0,0 +1,1768 @@ +// go run mksyscall.go -l32 -tags darwin,arm,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.1_11.go syscall_darwin_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go new file mode 100644 index 00000000..f519ce9a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go @@ -0,0 +1,41 @@ +// go run mksyscall.go -l32 -tags darwin,arm,go1.13 syscall_darwin.1_13.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm,go1.13 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func closedir(dir uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_closedir_trampoline() + +//go:linkname libc_closedir libc_closedir +//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { + r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) + res = Errno(r0) + return +} + +func libc_readdir_r_trampoline() + +//go:linkname libc_readdir_r libc_readdir_r +//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s new file mode 100644 index 00000000..488e5570 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s @@ -0,0 +1,12 @@ +// go run mkasm_darwin.go arm +// Code generated by the command above; DO NOT EDIT. + +// +build go1.13 + +#include "textflag.h" +TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fdopendir(SB) +TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_closedir(SB) +TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readdir_r(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go new file mode 100644 index 00000000..163b3912 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go @@ -0,0 +1,2463 @@ +// go run mksyscall.go -l32 -tags darwin,arm,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_clock_gettime_trampoline() + +//go:linkname libc_clock_gettime libc_clock_gettime +//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat_trampoline() + +//go:linkname libc_fstat libc_fstat +//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat_trampoline() + +//go:linkname libc_fstatat libc_fstatat +//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs_trampoline() + +//go:linkname libc_fstatfs libc_fstatfs +//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat_trampoline() + +//go:linkname libc_getfsstat libc_getfsstat +//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat_trampoline() + +//go:linkname libc_lstat libc_lstat +//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat_trampoline() + +//go:linkname libc_stat libc_stat +//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs_trampoline() + +//go:linkname libc_statfs libc_statfs +//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s new file mode 100644 index 00000000..5bebb1bb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s @@ -0,0 +1,280 @@ +// go run mkasm_darwin.go arm +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat(SB) +TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat(SB) +TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs(SB) +TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat(SB) +TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat(SB) +TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat(SB) +TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go new file mode 100644 index 00000000..b75c11d4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go @@ -0,0 +1,1768 @@ +// go run mksyscall.go -tags darwin,arm64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.1_11.go syscall_darwin_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm64,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go new file mode 100644 index 00000000..d64e6c80 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go @@ -0,0 +1,41 @@ +// go run mksyscall.go -tags darwin,arm64,go1.13 syscall_darwin.1_13.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm64,go1.13 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func closedir(dir uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_closedir_trampoline() + +//go:linkname libc_closedir libc_closedir +//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { + r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) + res = Errno(r0) + return +} + +func libc_readdir_r_trampoline() + +//go:linkname libc_readdir_r libc_readdir_r +//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s new file mode 100644 index 00000000..b29dabb0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s @@ -0,0 +1,12 @@ +// go run mkasm_darwin.go arm64 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.13 + +#include "textflag.h" +TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fdopendir(SB) +TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_closedir(SB) +TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readdir_r(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go new file mode 100644 index 00000000..7c5bd510 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -0,0 +1,2463 @@ +// go run mksyscall.go -tags darwin,arm64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm64,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_clock_gettime_trampoline() + +//go:linkname libc_clock_gettime libc_clock_gettime +//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat_trampoline() + +//go:linkname libc_fstat libc_fstat +//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat_trampoline() + +//go:linkname libc_fstatat libc_fstatat +//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs_trampoline() + +//go:linkname libc_fstatfs libc_fstatfs +//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat_trampoline() + +//go:linkname libc_getfsstat libc_getfsstat +//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat_trampoline() + +//go:linkname libc_lstat libc_lstat +//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat_trampoline() + +//go:linkname libc_stat libc_stat +//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs_trampoline() + +//go:linkname libc_statfs libc_statfs +//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s new file mode 100644 index 00000000..96ab9877 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -0,0 +1,280 @@ +// go run mkasm_darwin.go arm64 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat(SB) +TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat(SB) +TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs(SB) +TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat(SB) +TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat(SB) +TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat(SB) +TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go new file mode 100644 index 00000000..df199b34 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go @@ -0,0 +1,1677 @@ +// go run mksyscall.go -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build dragonfly,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go new file mode 100644 index 00000000..e68185f1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go @@ -0,0 +1,2026 @@ +// go run mksyscall.go -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go new file mode 100644 index 00000000..2f77f93c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go @@ -0,0 +1,2026 @@ +// go run mksyscall.go -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go new file mode 100644 index 00000000..e9a12c9d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go @@ -0,0 +1,2026 @@ +// go run mksyscall.go -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go new file mode 100644 index 00000000..27ab0fbd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go @@ -0,0 +1,2026 @@ +// go run mksyscall.go -tags freebsd,arm64 -- syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go new file mode 100644 index 00000000..fe5d462e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -0,0 +1,2300 @@ +// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go new file mode 100644 index 00000000..536abcea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -0,0 +1,2467 @@ +// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func inotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go new file mode 100644 index 00000000..37823cd6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -0,0 +1,2437 @@ +// go run mksyscall.go -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go new file mode 100644 index 00000000..794f6126 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go @@ -0,0 +1,2324 @@ +// go run mksyscall.go -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go new file mode 100644 index 00000000..1b34b550 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -0,0 +1,2480 @@ +// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask>>32), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r0)<<32 | int64(r1)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go new file mode 100644 index 00000000..5714e259 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -0,0 +1,2451 @@ +// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go new file mode 100644 index 00000000..88a6b336 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -0,0 +1,2451 @@ +// go run mksyscall.go -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips64le + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go new file mode 100644 index 00000000..c09dbe34 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -0,0 +1,2480 @@ +// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mipsle + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(mask>>32), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go new file mode 100644 index 00000000..42f6c210 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -0,0 +1,2529 @@ +// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,ppc64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go new file mode 100644 index 00000000..de2cd8db --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -0,0 +1,2529 @@ +// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,ppc64le + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go new file mode 100644 index 00000000..d51bf07f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go @@ -0,0 +1,2304 @@ +// go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,riscv64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go new file mode 100644 index 00000000..1e3a3cb7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -0,0 +1,2299 @@ +// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,s390x + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go new file mode 100644 index 00000000..3c97008c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -0,0 +1,2462 @@ +// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,sparc64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { + r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { + _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(restriction) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlRestrictKeyring(cmd int, arg2 int) (err error) { + _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capget(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPGET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Capset(hdr *CapUserHeader, data *CapUserData) (err error) { + _, _, e1 := Syscall(SYS_CAPSET, uintptr(unsafe.Pointer(hdr)), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { + r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) + newfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go new file mode 100644 index 00000000..5ade42cc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go @@ -0,0 +1,1827 @@ +// go run mksyscall.go -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go new file mode 100644 index 00000000..3e0bbc5f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go @@ -0,0 +1,1827 @@ +// go run mksyscall.go -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go new file mode 100644 index 00000000..cb0af13a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go @@ -0,0 +1,1827 @@ +// go run mksyscall.go -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go new file mode 100644 index 00000000..6fd48d3d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go @@ -0,0 +1,1827 @@ +// go run mksyscall.go -netbsd -tags netbsd,arm64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go new file mode 100644 index 00000000..2938e412 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -0,0 +1,1693 @@ +// go run mksyscall.go -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go new file mode 100644 index 00000000..22b79ab0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -0,0 +1,1693 @@ +// go run mksyscall.go -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go new file mode 100644 index 00000000..cb921f37 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -0,0 +1,1693 @@ +// go run mksyscall.go -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go new file mode 100644 index 00000000..5a743803 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go @@ -0,0 +1,1693 @@ +// go run mksyscall.go -openbsd -tags openbsd,arm64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go new file mode 100644 index 00000000..a96165d4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -0,0 +1,1954 @@ +// go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build solaris,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +//go:cgo_import_dynamic libc_pipe pipe "libc.so" +//go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so" +//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" +//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" +//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" +//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" +//go:cgo_import_dynamic libc_gethostname gethostname "libc.so" +//go:cgo_import_dynamic libc_utimes utimes "libc.so" +//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" +//go:cgo_import_dynamic libc_fcntl fcntl "libc.so" +//go:cgo_import_dynamic libc_futimesat futimesat "libc.so" +//go:cgo_import_dynamic libc_accept accept "libsocket.so" +//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so" +//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so" +//go:cgo_import_dynamic libc_acct acct "libc.so" +//go:cgo_import_dynamic libc___makedev __makedev "libc.so" +//go:cgo_import_dynamic libc___major __major "libc.so" +//go:cgo_import_dynamic libc___minor __minor "libc.so" +//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" +//go:cgo_import_dynamic libc_poll poll "libc.so" +//go:cgo_import_dynamic libc_access access "libc.so" +//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" +//go:cgo_import_dynamic libc_chdir chdir "libc.so" +//go:cgo_import_dynamic libc_chmod chmod "libc.so" +//go:cgo_import_dynamic libc_chown chown "libc.so" +//go:cgo_import_dynamic libc_chroot chroot "libc.so" +//go:cgo_import_dynamic libc_close close "libc.so" +//go:cgo_import_dynamic libc_creat creat "libc.so" +//go:cgo_import_dynamic libc_dup dup "libc.so" +//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" +//go:cgo_import_dynamic libc_exit exit "libc.so" +//go:cgo_import_dynamic libc_faccessat faccessat "libc.so" +//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" +//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" +//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" +//go:cgo_import_dynamic libc_fchown fchown "libc.so" +//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" +//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so" +//go:cgo_import_dynamic libc_flock flock "libc.so" +//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" +//go:cgo_import_dynamic libc_fstat fstat "libc.so" +//go:cgo_import_dynamic libc_fstatat fstatat "libc.so" +//go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so" +//go:cgo_import_dynamic libc_getdents getdents "libc.so" +//go:cgo_import_dynamic libc_getgid getgid "libc.so" +//go:cgo_import_dynamic libc_getpid getpid "libc.so" +//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" +//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" +//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" +//go:cgo_import_dynamic libc_getegid getegid "libc.so" +//go:cgo_import_dynamic libc_getppid getppid "libc.so" +//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" +//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" +//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" +//go:cgo_import_dynamic libc_getuid getuid "libc.so" +//go:cgo_import_dynamic libc_kill kill "libc.so" +//go:cgo_import_dynamic libc_lchown lchown "libc.so" +//go:cgo_import_dynamic libc_link link "libc.so" +//go:cgo_import_dynamic libc___xnet_llisten __xnet_llisten "libsocket.so" +//go:cgo_import_dynamic libc_lstat lstat "libc.so" +//go:cgo_import_dynamic libc_madvise madvise "libc.so" +//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" +//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" +//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" +//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" +//go:cgo_import_dynamic libc_mknod mknod "libc.so" +//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" +//go:cgo_import_dynamic libc_mlock mlock "libc.so" +//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" +//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" +//go:cgo_import_dynamic libc_msync msync "libc.so" +//go:cgo_import_dynamic libc_munlock munlock "libc.so" +//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" +//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" +//go:cgo_import_dynamic libc_open open "libc.so" +//go:cgo_import_dynamic libc_openat openat "libc.so" +//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" +//go:cgo_import_dynamic libc_pause pause "libc.so" +//go:cgo_import_dynamic libc_pread pread "libc.so" +//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" +//go:cgo_import_dynamic libc_read read "libc.so" +//go:cgo_import_dynamic libc_readlink readlink "libc.so" +//go:cgo_import_dynamic libc_rename rename "libc.so" +//go:cgo_import_dynamic libc_renameat renameat "libc.so" +//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" +//go:cgo_import_dynamic libc_lseek lseek "libc.so" +//go:cgo_import_dynamic libc_select select "libc.so" +//go:cgo_import_dynamic libc_setegid setegid "libc.so" +//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" +//go:cgo_import_dynamic libc_setgid setgid "libc.so" +//go:cgo_import_dynamic libc_sethostname sethostname "libc.so" +//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" +//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" +//go:cgo_import_dynamic libc_setregid setregid "libc.so" +//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" +//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" +//go:cgo_import_dynamic libc_setsid setsid "libc.so" +//go:cgo_import_dynamic libc_setuid setuid "libc.so" +//go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so" +//go:cgo_import_dynamic libc_stat stat "libc.so" +//go:cgo_import_dynamic libc_statvfs statvfs "libc.so" +//go:cgo_import_dynamic libc_symlink symlink "libc.so" +//go:cgo_import_dynamic libc_sync sync "libc.so" +//go:cgo_import_dynamic libc_times times "libc.so" +//go:cgo_import_dynamic libc_truncate truncate "libc.so" +//go:cgo_import_dynamic libc_fsync fsync "libc.so" +//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" +//go:cgo_import_dynamic libc_umask umask "libc.so" +//go:cgo_import_dynamic libc_uname uname "libc.so" +//go:cgo_import_dynamic libc_umount umount "libc.so" +//go:cgo_import_dynamic libc_unlink unlink "libc.so" +//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" +//go:cgo_import_dynamic libc_ustat ustat "libc.so" +//go:cgo_import_dynamic libc_utime utime "libc.so" +//go:cgo_import_dynamic libc___xnet_bind __xnet_bind "libsocket.so" +//go:cgo_import_dynamic libc___xnet_connect __xnet_connect "libsocket.so" +//go:cgo_import_dynamic libc_mmap mmap "libc.so" +//go:cgo_import_dynamic libc_munmap munmap "libc.so" +//go:cgo_import_dynamic libc_sendfile sendfile "libsendfile.so" +//go:cgo_import_dynamic libc___xnet_sendto __xnet_sendto "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socket __xnet_socket "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socketpair __xnet_socketpair "libsocket.so" +//go:cgo_import_dynamic libc_write write "libc.so" +//go:cgo_import_dynamic libc___xnet_getsockopt __xnet_getsockopt "libsocket.so" +//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" +//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" +//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" + +//go:linkname procpipe libc_pipe +//go:linkname procgetsockname libc_getsockname +//go:linkname procGetcwd libc_getcwd +//go:linkname procgetgroups libc_getgroups +//go:linkname procsetgroups libc_setgroups +//go:linkname procwait4 libc_wait4 +//go:linkname procgethostname libc_gethostname +//go:linkname procutimes libc_utimes +//go:linkname procutimensat libc_utimensat +//go:linkname procfcntl libc_fcntl +//go:linkname procfutimesat libc_futimesat +//go:linkname procaccept libc_accept +//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg +//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg +//go:linkname procacct libc_acct +//go:linkname proc__makedev libc___makedev +//go:linkname proc__major libc___major +//go:linkname proc__minor libc___minor +//go:linkname procioctl libc_ioctl +//go:linkname procpoll libc_poll +//go:linkname procAccess libc_access +//go:linkname procAdjtime libc_adjtime +//go:linkname procChdir libc_chdir +//go:linkname procChmod libc_chmod +//go:linkname procChown libc_chown +//go:linkname procChroot libc_chroot +//go:linkname procClose libc_close +//go:linkname procCreat libc_creat +//go:linkname procDup libc_dup +//go:linkname procDup2 libc_dup2 +//go:linkname procExit libc_exit +//go:linkname procFaccessat libc_faccessat +//go:linkname procFchdir libc_fchdir +//go:linkname procFchmod libc_fchmod +//go:linkname procFchmodat libc_fchmodat +//go:linkname procFchown libc_fchown +//go:linkname procFchownat libc_fchownat +//go:linkname procFdatasync libc_fdatasync +//go:linkname procFlock libc_flock +//go:linkname procFpathconf libc_fpathconf +//go:linkname procFstat libc_fstat +//go:linkname procFstatat libc_fstatat +//go:linkname procFstatvfs libc_fstatvfs +//go:linkname procGetdents libc_getdents +//go:linkname procGetgid libc_getgid +//go:linkname procGetpid libc_getpid +//go:linkname procGetpgid libc_getpgid +//go:linkname procGetpgrp libc_getpgrp +//go:linkname procGeteuid libc_geteuid +//go:linkname procGetegid libc_getegid +//go:linkname procGetppid libc_getppid +//go:linkname procGetpriority libc_getpriority +//go:linkname procGetrlimit libc_getrlimit +//go:linkname procGetrusage libc_getrusage +//go:linkname procGettimeofday libc_gettimeofday +//go:linkname procGetuid libc_getuid +//go:linkname procKill libc_kill +//go:linkname procLchown libc_lchown +//go:linkname procLink libc_link +//go:linkname proc__xnet_llisten libc___xnet_llisten +//go:linkname procLstat libc_lstat +//go:linkname procMadvise libc_madvise +//go:linkname procMkdir libc_mkdir +//go:linkname procMkdirat libc_mkdirat +//go:linkname procMkfifo libc_mkfifo +//go:linkname procMkfifoat libc_mkfifoat +//go:linkname procMknod libc_mknod +//go:linkname procMknodat libc_mknodat +//go:linkname procMlock libc_mlock +//go:linkname procMlockall libc_mlockall +//go:linkname procMprotect libc_mprotect +//go:linkname procMsync libc_msync +//go:linkname procMunlock libc_munlock +//go:linkname procMunlockall libc_munlockall +//go:linkname procNanosleep libc_nanosleep +//go:linkname procOpen libc_open +//go:linkname procOpenat libc_openat +//go:linkname procPathconf libc_pathconf +//go:linkname procPause libc_pause +//go:linkname procPread libc_pread +//go:linkname procPwrite libc_pwrite +//go:linkname procread libc_read +//go:linkname procReadlink libc_readlink +//go:linkname procRename libc_rename +//go:linkname procRenameat libc_renameat +//go:linkname procRmdir libc_rmdir +//go:linkname proclseek libc_lseek +//go:linkname procSelect libc_select +//go:linkname procSetegid libc_setegid +//go:linkname procSeteuid libc_seteuid +//go:linkname procSetgid libc_setgid +//go:linkname procSethostname libc_sethostname +//go:linkname procSetpgid libc_setpgid +//go:linkname procSetpriority libc_setpriority +//go:linkname procSetregid libc_setregid +//go:linkname procSetreuid libc_setreuid +//go:linkname procSetrlimit libc_setrlimit +//go:linkname procSetsid libc_setsid +//go:linkname procSetuid libc_setuid +//go:linkname procshutdown libc_shutdown +//go:linkname procStat libc_stat +//go:linkname procStatvfs libc_statvfs +//go:linkname procSymlink libc_symlink +//go:linkname procSync libc_sync +//go:linkname procTimes libc_times +//go:linkname procTruncate libc_truncate +//go:linkname procFsync libc_fsync +//go:linkname procFtruncate libc_ftruncate +//go:linkname procUmask libc_umask +//go:linkname procUname libc_uname +//go:linkname procumount libc_umount +//go:linkname procUnlink libc_unlink +//go:linkname procUnlinkat libc_unlinkat +//go:linkname procUstat libc_ustat +//go:linkname procUtime libc_utime +//go:linkname proc__xnet_bind libc___xnet_bind +//go:linkname proc__xnet_connect libc___xnet_connect +//go:linkname procmmap libc_mmap +//go:linkname procmunmap libc_munmap +//go:linkname procsendfile libc_sendfile +//go:linkname proc__xnet_sendto libc___xnet_sendto +//go:linkname proc__xnet_socket libc___xnet_socket +//go:linkname proc__xnet_socketpair libc___xnet_socketpair +//go:linkname procwrite libc_write +//go:linkname proc__xnet_getsockopt libc___xnet_getsockopt +//go:linkname procgetpeername libc_getpeername +//go:linkname procsetsockopt libc_setsockopt +//go:linkname procrecvfrom libc_recvfrom + +var ( + procpipe, + procgetsockname, + procGetcwd, + procgetgroups, + procsetgroups, + procwait4, + procgethostname, + procutimes, + procutimensat, + procfcntl, + procfutimesat, + procaccept, + proc__xnet_recvmsg, + proc__xnet_sendmsg, + procacct, + proc__makedev, + proc__major, + proc__minor, + procioctl, + procpoll, + procAccess, + procAdjtime, + procChdir, + procChmod, + procChown, + procChroot, + procClose, + procCreat, + procDup, + procDup2, + procExit, + procFaccessat, + procFchdir, + procFchmod, + procFchmodat, + procFchown, + procFchownat, + procFdatasync, + procFlock, + procFpathconf, + procFstat, + procFstatat, + procFstatvfs, + procGetdents, + procGetgid, + procGetpid, + procGetpgid, + procGetpgrp, + procGeteuid, + procGetegid, + procGetppid, + procGetpriority, + procGetrlimit, + procGetrusage, + procGettimeofday, + procGetuid, + procKill, + procLchown, + procLink, + proc__xnet_llisten, + procLstat, + procMadvise, + procMkdir, + procMkdirat, + procMkfifo, + procMkfifoat, + procMknod, + procMknodat, + procMlock, + procMlockall, + procMprotect, + procMsync, + procMunlock, + procMunlockall, + procNanosleep, + procOpen, + procOpenat, + procPathconf, + procPause, + procPread, + procPwrite, + procread, + procReadlink, + procRename, + procRenameat, + procRmdir, + proclseek, + procSelect, + procSetegid, + procSeteuid, + procSetgid, + procSethostname, + procSetpgid, + procSetpriority, + procSetregid, + procSetreuid, + procSetrlimit, + procSetsid, + procSetuid, + procshutdown, + procStat, + procStatvfs, + procSymlink, + procSync, + procTimes, + procTruncate, + procFsync, + procFtruncate, + procUmask, + procUname, + procumount, + procUnlink, + procUnlinkat, + procUstat, + procUtime, + proc__xnet_bind, + proc__xnet_connect, + procmmap, + procmunmap, + procsendfile, + proc__xnet_sendto, + proc__xnet_socket, + proc__xnet_socketpair, + procwrite, + proc__xnet_getsockopt, + procgetpeername, + procsetsockopt, + procrecvfrom syscallFunc +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int32(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gethostname(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func acct(path *byte) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __makedev(version int, major uint, minor uint) (val uint64) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0) + val = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __major(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __minor(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Creat(path string, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0) + nfd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFaccessat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSelect)), 5, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statvfs(path string, vfsstat *Statvfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStatvfs)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendfile)), 4, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvfrom)), 6, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go new file mode 100644 index 00000000..37dcc74c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go @@ -0,0 +1,272 @@ +// mksysctl_openbsd.pl +// Code generated by the command above; DO NOT EDIT. + +// +build 386,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.arandom", []_C_int{1, 37}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cryptodevallowsoft", []_C_int{1, 53}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.random", []_C_int{1, 31}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.maxptys", []_C_int{1, 44, 6}}, + {"kern.tty.nptys", []_C_int{1, 44, 7}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.userasymcrypto", []_C_int{1, 60}}, + {"kern.usercrypto", []_C_int{1, 52}}, + {"kern.usermount", []_C_int{1, 30}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.vnode", []_C_int{1, 13}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, + {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, + {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, + {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go new file mode 100644 index 00000000..fe6caa6e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go @@ -0,0 +1,270 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +// +build amd64,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.profile", []_C_int{9, 9}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.allowkmem", []_C_int{1, 52}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.dnsjackport", []_C_int{1, 13}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.global_ptrace", []_C_int{1, 81}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"kern.wxabort", []_C_int{1, 74}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, + {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, + {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go new file mode 100644 index 00000000..6eb8c0b0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go @@ -0,0 +1,272 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +// +build arm,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.arandom", []_C_int{1, 37}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cryptodevallowsoft", []_C_int{1, 53}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.random", []_C_int{1, 31}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.maxptys", []_C_int{1, 44, 6}}, + {"kern.tty.nptys", []_C_int{1, 44, 7}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.userasymcrypto", []_C_int{1, 60}}, + {"kern.usercrypto", []_C_int{1, 52}}, + {"kern.usermount", []_C_int{1, 30}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.vnode", []_C_int{1, 13}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, + {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, + {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, + {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go new file mode 100644 index 00000000..ba4304fd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go @@ -0,0 +1,275 @@ +// go run mksysctl_openbsd.go +// Code generated by the command above; DO NOT EDIT. + +// +build arm64,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.profile", []_C_int{9, 9}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.ncpuonline", []_C_int{6, 25}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.smt", []_C_int{6, 24}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.allowkmem", []_C_int{1, 52}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.audio", []_C_int{1, 84}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cpustats", []_C_int{1, 85}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.global_ptrace", []_C_int{1, 81}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"kern.witnesswatch", []_C_int{1, 53}}, + {"kern.wxabort", []_C_int{1, 74}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, + {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, + {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.malloc_conf", []_C_int{2, 12}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go new file mode 100644 index 00000000..f3361453 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go @@ -0,0 +1,436 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go new file mode 100644 index 00000000..654dd3da --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go @@ -0,0 +1,438 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_KQUEUE_WORKLOOP_CTL = 530 + SYS___MACH_BRIDGE_REMOTE_TIME = 531 + SYS_MAXSYSCALL = 532 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go new file mode 100644 index 00000000..103a72ed --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go @@ -0,0 +1,436 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go new file mode 100644 index 00000000..7ab2130b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go @@ -0,0 +1,436 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go new file mode 100644 index 00000000..464c9a98 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go @@ -0,0 +1,315 @@ +// go run mksysnum.go https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void exit(int rval); } + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } wait4 wait_args int + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, int flags); } + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, caddr_t from, int *fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } + SYS_ACCESS = 33 // { int access(char *path, int flags); } + SYS_CHFLAGS = 34 // { int chflags(char *path, int flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, int flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { pid_t vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(int from, int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); } + SYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); } + SYS_UNAME = 164 // { int uname(struct utsname *name); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, size_t nbyte, int flags, off_t offset); } + SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, size_t nbyte, int flags, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } + // SYS_NOSYS = 198; // { int nosys(void); } __syscall __syscall_args int + SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int truncate(char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS___SEMCTL = 220 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, u_int nsops); } + SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, u_int iovcnt, int flags, off_t offset); } + SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,u_int iovcnt, int flags, off_t offset); } + SYS_FHSTATFS = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_AIO_READ = 318 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 319 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(u_char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGACTION = 342 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGRETURN = 344 // { int sigreturn(ucontext_t *sigcntxp); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set,siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set,siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { int extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(char *path, int flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_VARSYM_SET = 450 // { int varsym_set(int level, const char *name, const char *data); } + SYS_VARSYM_GET = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } + SYS_VARSYM_LIST = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); } + SYS_EXEC_SYS_REGISTER = 465 // { int exec_sys_register(void *entry); } + SYS_EXEC_SYS_UNREGISTER = 466 // { int exec_sys_unregister(int id); } + SYS_SYS_CHECKPOINT = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } + SYS_MOUNTCTL = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } + SYS_UMTX_SLEEP = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); } + SYS_UMTX_WAKEUP = 470 // { int umtx_wakeup(volatile const int *ptr, int count); } + SYS_JAIL_ATTACH = 471 // { int jail_attach(int jid); } + SYS_SET_TLS_AREA = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_GET_TLS_AREA = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_CLOSEFROM = 474 // { int closefrom(int fd); } + SYS_STAT = 475 // { int stat(const char *path, struct stat *ub); } + SYS_FSTAT = 476 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 477 // { int lstat(const char *path, struct stat *ub); } + SYS_FHSTAT = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_GETDIRENTRIES = 479 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS_GETDENTS = 480 // { int getdents(int fd, char *buf, size_t count); } + SYS_USCHED_SET = 481 // { int usched_set(pid_t pid, int cmd, void *data, int bytes); } + SYS_EXTACCEPT = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); } + SYS_EXTCONNECT = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); } + SYS_MCONTROL = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); } + SYS_VMSPACE_CREATE = 486 // { int vmspace_create(void *id, int type, void *data); } + SYS_VMSPACE_DESTROY = 487 // { int vmspace_destroy(void *id); } + SYS_VMSPACE_CTL = 488 // { int vmspace_ctl(void *id, int cmd, struct trapframe *tframe, struct vextframe *vframe); } + SYS_VMSPACE_MMAP = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, int prot, int flags, int fd, off_t offset); } + SYS_VMSPACE_MUNMAP = 490 // { int vmspace_munmap(void *id, void *addr, size_t len); } + SYS_VMSPACE_MCONTROL = 491 // { int vmspace_mcontrol(void *id, void *addr, size_t len, int behav, off_t value); } + SYS_VMSPACE_PREAD = 492 // { ssize_t vmspace_pread(void *id, void *buf, size_t nbyte, int flags, off_t offset); } + SYS_VMSPACE_PWRITE = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, size_t nbyte, int flags, off_t offset); } + SYS_EXTEXIT = 494 // { void extexit(int how, int status, void *addr); } + SYS_LWP_CREATE = 495 // { int lwp_create(struct lwp_params *params); } + SYS_LWP_GETTID = 496 // { lwpid_t lwp_gettid(void); } + SYS_LWP_KILL = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } + SYS_LWP_RTPRIO = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } + SYS_PSELECT = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sigmask); } + SYS_STATVFS = 500 // { int statvfs(const char *path, struct statvfs *buf); } + SYS_FSTATVFS = 501 // { int fstatvfs(int fd, struct statvfs *buf); } + SYS_FHSTATVFS = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } + SYS_GETVFSSTAT = 503 // { int getvfsstat(struct statfs *buf, struct statvfs *vbuf, long vbufsize, int flags); } + SYS_OPENAT = 504 // { int openat(int fd, char *path, int flags, int mode); } + SYS_FSTATAT = 505 // { int fstatat(int fd, char *path, struct stat *sb, int flags); } + SYS_FCHMODAT = 506 // { int fchmodat(int fd, char *path, int mode, int flags); } + SYS_FCHOWNAT = 507 // { int fchownat(int fd, char *path, int uid, int gid, int flags); } + SYS_UNLINKAT = 508 // { int unlinkat(int fd, char *path, int flags); } + SYS_FACCESSAT = 509 // { int faccessat(int fd, char *path, int amode, int flags); } + SYS_MQ_OPEN = 510 // { mqd_t mq_open(const char * name, int oflag, mode_t mode, struct mq_attr *attr); } + SYS_MQ_CLOSE = 511 // { int mq_close(mqd_t mqdes); } + SYS_MQ_UNLINK = 512 // { int mq_unlink(const char *name); } + SYS_MQ_GETATTR = 513 // { int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat); } + SYS_MQ_SETATTR = 514 // { int mq_setattr(mqd_t mqdes, const struct mq_attr *mqstat, struct mq_attr *omqstat); } + SYS_MQ_NOTIFY = 515 // { int mq_notify(mqd_t mqdes, const struct sigevent *notification); } + SYS_MQ_SEND = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); } + SYS_MQ_RECEIVE = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); } + SYS_MQ_TIMEDSEND = 518 // { int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } + SYS_MQ_TIMEDRECEIVE = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_IOPRIO_SET = 520 // { int ioprio_set(int which, int who, int prio); } + SYS_IOPRIO_GET = 521 // { int ioprio_get(int which, int who); } + SYS_CHROOT_KERNEL = 522 // { int chroot_kernel(char *path); } + SYS_RENAMEAT = 523 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_MKDIRAT = 524 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 525 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 526 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_READLINKAT = 527 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 528 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_SWAPOFF = 529 // { int swapoff(char *name); } + SYS_VQUOTACTL = 530 // { int vquotactl(const char *path, struct plistref *pref); } + SYS_LINKAT = 531 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flags); } + SYS_EACCESS = 532 // { int eaccess(char *path, int flags); } + SYS_LPATHCONF = 533 // { int lpathconf(char *path, int name); } + SYS_VMM_GUEST_CTL = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } + SYS_VMM_GUEST_SYNC_ADDR = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } + SYS_PROCCTL = 536 // { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } + SYS_CHFLAGSAT = 537 // { int chflagsat(int fd, const char *path, int flags, int atflags);} + SYS_PIPE2 = 538 // { int pipe2(int *fildes, int flags); } + SYS_UTIMENSAT = 539 // { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } + SYS_FUTIMENS = 540 // { int futimens(int fd, const struct timespec *ts); } + SYS_ACCEPT4 = 541 // { int accept4(int s, caddr_t name, int *anamelen, int flags); } + SYS_LWP_SETNAME = 542 // { int lwp_setname(lwpid_t tid, const char *name); } + SYS_PPOLL = 543 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *sigmask); } + SYS_LWP_SETAFFINITY = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); } + SYS_LWP_GETAFFINITY = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); } + SYS_LWP_CREATE2 = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go new file mode 100644 index 00000000..9474974b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go @@ -0,0 +1,396 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go new file mode 100644 index 00000000..48a7beae --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go @@ -0,0 +1,396 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go new file mode 100644 index 00000000..4a6dfd4a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go @@ -0,0 +1,396 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go new file mode 100644 index 00000000..3e51af8e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go @@ -0,0 +1,396 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go new file mode 100644 index 00000000..7aae554f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -0,0 +1,434 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86OLD = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_VM86 = 166 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_SET_THREAD_AREA = 243 + SYS_GET_THREAD_AREA = 244 + SYS_IO_SETUP = 245 + SYS_IO_DESTROY = 246 + SYS_IO_GETEVENTS = 247 + SYS_IO_SUBMIT = 248 + SYS_IO_CANCEL = 249 + SYS_FADVISE64 = 250 + SYS_EXIT_GROUP = 252 + SYS_LOOKUP_DCOOKIE = 253 + SYS_EPOLL_CREATE = 254 + SYS_EPOLL_CTL = 255 + SYS_EPOLL_WAIT = 256 + SYS_REMAP_FILE_PAGES = 257 + SYS_SET_TID_ADDRESS = 258 + SYS_TIMER_CREATE = 259 + SYS_TIMER_SETTIME = 260 + SYS_TIMER_GETTIME = 261 + SYS_TIMER_GETOVERRUN = 262 + SYS_TIMER_DELETE = 263 + SYS_CLOCK_SETTIME = 264 + SYS_CLOCK_GETTIME = 265 + SYS_CLOCK_GETRES = 266 + SYS_CLOCK_NANOSLEEP = 267 + SYS_STATFS64 = 268 + SYS_FSTATFS64 = 269 + SYS_TGKILL = 270 + SYS_UTIMES = 271 + SYS_FADVISE64_64 = 272 + SYS_VSERVER = 273 + SYS_MBIND = 274 + SYS_GET_MEMPOLICY = 275 + SYS_SET_MEMPOLICY = 276 + SYS_MQ_OPEN = 277 + SYS_MQ_UNLINK = 278 + SYS_MQ_TIMEDSEND = 279 + SYS_MQ_TIMEDRECEIVE = 280 + SYS_MQ_NOTIFY = 281 + SYS_MQ_GETSETATTR = 282 + SYS_KEXEC_LOAD = 283 + SYS_WAITID = 284 + SYS_ADD_KEY = 286 + SYS_REQUEST_KEY = 287 + SYS_KEYCTL = 288 + SYS_IOPRIO_SET = 289 + SYS_IOPRIO_GET = 290 + SYS_INOTIFY_INIT = 291 + SYS_INOTIFY_ADD_WATCH = 292 + SYS_INOTIFY_RM_WATCH = 293 + SYS_MIGRATE_PAGES = 294 + SYS_OPENAT = 295 + SYS_MKDIRAT = 296 + SYS_MKNODAT = 297 + SYS_FCHOWNAT = 298 + SYS_FUTIMESAT = 299 + SYS_FSTATAT64 = 300 + SYS_UNLINKAT = 301 + SYS_RENAMEAT = 302 + SYS_LINKAT = 303 + SYS_SYMLINKAT = 304 + SYS_READLINKAT = 305 + SYS_FCHMODAT = 306 + SYS_FACCESSAT = 307 + SYS_PSELECT6 = 308 + SYS_PPOLL = 309 + SYS_UNSHARE = 310 + SYS_SET_ROBUST_LIST = 311 + SYS_GET_ROBUST_LIST = 312 + SYS_SPLICE = 313 + SYS_SYNC_FILE_RANGE = 314 + SYS_TEE = 315 + SYS_VMSPLICE = 316 + SYS_MOVE_PAGES = 317 + SYS_GETCPU = 318 + SYS_EPOLL_PWAIT = 319 + SYS_UTIMENSAT = 320 + SYS_SIGNALFD = 321 + SYS_TIMERFD_CREATE = 322 + SYS_EVENTFD = 323 + SYS_FALLOCATE = 324 + SYS_TIMERFD_SETTIME = 325 + SYS_TIMERFD_GETTIME = 326 + SYS_SIGNALFD4 = 327 + SYS_EVENTFD2 = 328 + SYS_EPOLL_CREATE1 = 329 + SYS_DUP3 = 330 + SYS_PIPE2 = 331 + SYS_INOTIFY_INIT1 = 332 + SYS_PREADV = 333 + SYS_PWRITEV = 334 + SYS_RT_TGSIGQUEUEINFO = 335 + SYS_PERF_EVENT_OPEN = 336 + SYS_RECVMMSG = 337 + SYS_FANOTIFY_INIT = 338 + SYS_FANOTIFY_MARK = 339 + SYS_PRLIMIT64 = 340 + SYS_NAME_TO_HANDLE_AT = 341 + SYS_OPEN_BY_HANDLE_AT = 342 + SYS_CLOCK_ADJTIME = 343 + SYS_SYNCFS = 344 + SYS_SENDMMSG = 345 + SYS_SETNS = 346 + SYS_PROCESS_VM_READV = 347 + SYS_PROCESS_VM_WRITEV = 348 + SYS_KCMP = 349 + SYS_FINIT_MODULE = 350 + SYS_SCHED_SETATTR = 351 + SYS_SCHED_GETATTR = 352 + SYS_RENAMEAT2 = 353 + SYS_SECCOMP = 354 + SYS_GETRANDOM = 355 + SYS_MEMFD_CREATE = 356 + SYS_BPF = 357 + SYS_EXECVEAT = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_USERFAULTFD = 374 + SYS_MEMBARRIER = 375 + SYS_MLOCK2 = 376 + SYS_COPY_FILE_RANGE = 377 + SYS_PREADV2 = 378 + SYS_PWRITEV2 = 379 + SYS_PKEY_MPROTECT = 380 + SYS_PKEY_ALLOC = 381 + SYS_PKEY_FREE = 382 + SYS_STATX = 383 + SYS_ARCH_PRCTL = 384 + SYS_IO_PGETEVENTS = 385 + SYS_RSEQ = 386 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_CLOCK_GETTIME64 = 403 + SYS_CLOCK_SETTIME64 = 404 + SYS_CLOCK_ADJTIME64 = 405 + SYS_CLOCK_GETRES_TIME64 = 406 + SYS_CLOCK_NANOSLEEP_TIME64 = 407 + SYS_TIMER_GETTIME64 = 408 + SYS_TIMER_SETTIME64 = 409 + SYS_TIMERFD_GETTIME64 = 410 + SYS_TIMERFD_SETTIME64 = 411 + SYS_UTIMENSAT_TIME64 = 412 + SYS_PSELECT6_TIME64 = 413 + SYS_PPOLL_TIME64 = 414 + SYS_IO_PGETEVENTS_TIME64 = 416 + SYS_RECVMMSG_TIME64 = 417 + SYS_MQ_TIMEDSEND_TIME64 = 418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 419 + SYS_SEMTIMEDOP_TIME64 = 420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 421 + SYS_FUTEX_TIME64 = 422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go new file mode 100644 index 00000000..7968439a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -0,0 +1,356 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +package unix + +const ( + SYS_READ = 0 + SYS_WRITE = 1 + SYS_OPEN = 2 + SYS_CLOSE = 3 + SYS_STAT = 4 + SYS_FSTAT = 5 + SYS_LSTAT = 6 + SYS_POLL = 7 + SYS_LSEEK = 8 + SYS_MMAP = 9 + SYS_MPROTECT = 10 + SYS_MUNMAP = 11 + SYS_BRK = 12 + SYS_RT_SIGACTION = 13 + SYS_RT_SIGPROCMASK = 14 + SYS_RT_SIGRETURN = 15 + SYS_IOCTL = 16 + SYS_PREAD64 = 17 + SYS_PWRITE64 = 18 + SYS_READV = 19 + SYS_WRITEV = 20 + SYS_ACCESS = 21 + SYS_PIPE = 22 + SYS_SELECT = 23 + SYS_SCHED_YIELD = 24 + SYS_MREMAP = 25 + SYS_MSYNC = 26 + SYS_MINCORE = 27 + SYS_MADVISE = 28 + SYS_SHMGET = 29 + SYS_SHMAT = 30 + SYS_SHMCTL = 31 + SYS_DUP = 32 + SYS_DUP2 = 33 + SYS_PAUSE = 34 + SYS_NANOSLEEP = 35 + SYS_GETITIMER = 36 + SYS_ALARM = 37 + SYS_SETITIMER = 38 + SYS_GETPID = 39 + SYS_SENDFILE = 40 + SYS_SOCKET = 41 + SYS_CONNECT = 42 + SYS_ACCEPT = 43 + SYS_SENDTO = 44 + SYS_RECVFROM = 45 + SYS_SENDMSG = 46 + SYS_RECVMSG = 47 + SYS_SHUTDOWN = 48 + SYS_BIND = 49 + SYS_LISTEN = 50 + SYS_GETSOCKNAME = 51 + SYS_GETPEERNAME = 52 + SYS_SOCKETPAIR = 53 + SYS_SETSOCKOPT = 54 + SYS_GETSOCKOPT = 55 + SYS_CLONE = 56 + SYS_FORK = 57 + SYS_VFORK = 58 + SYS_EXECVE = 59 + SYS_EXIT = 60 + SYS_WAIT4 = 61 + SYS_KILL = 62 + SYS_UNAME = 63 + SYS_SEMGET = 64 + SYS_SEMOP = 65 + SYS_SEMCTL = 66 + SYS_SHMDT = 67 + SYS_MSGGET = 68 + SYS_MSGSND = 69 + SYS_MSGRCV = 70 + SYS_MSGCTL = 71 + SYS_FCNTL = 72 + SYS_FLOCK = 73 + SYS_FSYNC = 74 + SYS_FDATASYNC = 75 + SYS_TRUNCATE = 76 + SYS_FTRUNCATE = 77 + SYS_GETDENTS = 78 + SYS_GETCWD = 79 + SYS_CHDIR = 80 + SYS_FCHDIR = 81 + SYS_RENAME = 82 + SYS_MKDIR = 83 + SYS_RMDIR = 84 + SYS_CREAT = 85 + SYS_LINK = 86 + SYS_UNLINK = 87 + SYS_SYMLINK = 88 + SYS_READLINK = 89 + SYS_CHMOD = 90 + SYS_FCHMOD = 91 + SYS_CHOWN = 92 + SYS_FCHOWN = 93 + SYS_LCHOWN = 94 + SYS_UMASK = 95 + SYS_GETTIMEOFDAY = 96 + SYS_GETRLIMIT = 97 + SYS_GETRUSAGE = 98 + SYS_SYSINFO = 99 + SYS_TIMES = 100 + SYS_PTRACE = 101 + SYS_GETUID = 102 + SYS_SYSLOG = 103 + SYS_GETGID = 104 + SYS_SETUID = 105 + SYS_SETGID = 106 + SYS_GETEUID = 107 + SYS_GETEGID = 108 + SYS_SETPGID = 109 + SYS_GETPPID = 110 + SYS_GETPGRP = 111 + SYS_SETSID = 112 + SYS_SETREUID = 113 + SYS_SETREGID = 114 + SYS_GETGROUPS = 115 + SYS_SETGROUPS = 116 + SYS_SETRESUID = 117 + SYS_GETRESUID = 118 + SYS_SETRESGID = 119 + SYS_GETRESGID = 120 + SYS_GETPGID = 121 + SYS_SETFSUID = 122 + SYS_SETFSGID = 123 + SYS_GETSID = 124 + SYS_CAPGET = 125 + SYS_CAPSET = 126 + SYS_RT_SIGPENDING = 127 + SYS_RT_SIGTIMEDWAIT = 128 + SYS_RT_SIGQUEUEINFO = 129 + SYS_RT_SIGSUSPEND = 130 + SYS_SIGALTSTACK = 131 + SYS_UTIME = 132 + SYS_MKNOD = 133 + SYS_USELIB = 134 + SYS_PERSONALITY = 135 + SYS_USTAT = 136 + SYS_STATFS = 137 + SYS_FSTATFS = 138 + SYS_SYSFS = 139 + SYS_GETPRIORITY = 140 + SYS_SETPRIORITY = 141 + SYS_SCHED_SETPARAM = 142 + SYS_SCHED_GETPARAM = 143 + SYS_SCHED_SETSCHEDULER = 144 + SYS_SCHED_GETSCHEDULER = 145 + SYS_SCHED_GET_PRIORITY_MAX = 146 + SYS_SCHED_GET_PRIORITY_MIN = 147 + SYS_SCHED_RR_GET_INTERVAL = 148 + SYS_MLOCK = 149 + SYS_MUNLOCK = 150 + SYS_MLOCKALL = 151 + SYS_MUNLOCKALL = 152 + SYS_VHANGUP = 153 + SYS_MODIFY_LDT = 154 + SYS_PIVOT_ROOT = 155 + SYS__SYSCTL = 156 + SYS_PRCTL = 157 + SYS_ARCH_PRCTL = 158 + SYS_ADJTIMEX = 159 + SYS_SETRLIMIT = 160 + SYS_CHROOT = 161 + SYS_SYNC = 162 + SYS_ACCT = 163 + SYS_SETTIMEOFDAY = 164 + SYS_MOUNT = 165 + SYS_UMOUNT2 = 166 + SYS_SWAPON = 167 + SYS_SWAPOFF = 168 + SYS_REBOOT = 169 + SYS_SETHOSTNAME = 170 + SYS_SETDOMAINNAME = 171 + SYS_IOPL = 172 + SYS_IOPERM = 173 + SYS_CREATE_MODULE = 174 + SYS_INIT_MODULE = 175 + SYS_DELETE_MODULE = 176 + SYS_GET_KERNEL_SYMS = 177 + SYS_QUERY_MODULE = 178 + SYS_QUOTACTL = 179 + SYS_NFSSERVCTL = 180 + SYS_GETPMSG = 181 + SYS_PUTPMSG = 182 + SYS_AFS_SYSCALL = 183 + SYS_TUXCALL = 184 + SYS_SECURITY = 185 + SYS_GETTID = 186 + SYS_READAHEAD = 187 + SYS_SETXATTR = 188 + SYS_LSETXATTR = 189 + SYS_FSETXATTR = 190 + SYS_GETXATTR = 191 + SYS_LGETXATTR = 192 + SYS_FGETXATTR = 193 + SYS_LISTXATTR = 194 + SYS_LLISTXATTR = 195 + SYS_FLISTXATTR = 196 + SYS_REMOVEXATTR = 197 + SYS_LREMOVEXATTR = 198 + SYS_FREMOVEXATTR = 199 + SYS_TKILL = 200 + SYS_TIME = 201 + SYS_FUTEX = 202 + SYS_SCHED_SETAFFINITY = 203 + SYS_SCHED_GETAFFINITY = 204 + SYS_SET_THREAD_AREA = 205 + SYS_IO_SETUP = 206 + SYS_IO_DESTROY = 207 + SYS_IO_GETEVENTS = 208 + SYS_IO_SUBMIT = 209 + SYS_IO_CANCEL = 210 + SYS_GET_THREAD_AREA = 211 + SYS_LOOKUP_DCOOKIE = 212 + SYS_EPOLL_CREATE = 213 + SYS_EPOLL_CTL_OLD = 214 + SYS_EPOLL_WAIT_OLD = 215 + SYS_REMAP_FILE_PAGES = 216 + SYS_GETDENTS64 = 217 + SYS_SET_TID_ADDRESS = 218 + SYS_RESTART_SYSCALL = 219 + SYS_SEMTIMEDOP = 220 + SYS_FADVISE64 = 221 + SYS_TIMER_CREATE = 222 + SYS_TIMER_SETTIME = 223 + SYS_TIMER_GETTIME = 224 + SYS_TIMER_GETOVERRUN = 225 + SYS_TIMER_DELETE = 226 + SYS_CLOCK_SETTIME = 227 + SYS_CLOCK_GETTIME = 228 + SYS_CLOCK_GETRES = 229 + SYS_CLOCK_NANOSLEEP = 230 + SYS_EXIT_GROUP = 231 + SYS_EPOLL_WAIT = 232 + SYS_EPOLL_CTL = 233 + SYS_TGKILL = 234 + SYS_UTIMES = 235 + SYS_VSERVER = 236 + SYS_MBIND = 237 + SYS_SET_MEMPOLICY = 238 + SYS_GET_MEMPOLICY = 239 + SYS_MQ_OPEN = 240 + SYS_MQ_UNLINK = 241 + SYS_MQ_TIMEDSEND = 242 + SYS_MQ_TIMEDRECEIVE = 243 + SYS_MQ_NOTIFY = 244 + SYS_MQ_GETSETATTR = 245 + SYS_KEXEC_LOAD = 246 + SYS_WAITID = 247 + SYS_ADD_KEY = 248 + SYS_REQUEST_KEY = 249 + SYS_KEYCTL = 250 + SYS_IOPRIO_SET = 251 + SYS_IOPRIO_GET = 252 + SYS_INOTIFY_INIT = 253 + SYS_INOTIFY_ADD_WATCH = 254 + SYS_INOTIFY_RM_WATCH = 255 + SYS_MIGRATE_PAGES = 256 + SYS_OPENAT = 257 + SYS_MKDIRAT = 258 + SYS_MKNODAT = 259 + SYS_FCHOWNAT = 260 + SYS_FUTIMESAT = 261 + SYS_NEWFSTATAT = 262 + SYS_UNLINKAT = 263 + SYS_RENAMEAT = 264 + SYS_LINKAT = 265 + SYS_SYMLINKAT = 266 + SYS_READLINKAT = 267 + SYS_FCHMODAT = 268 + SYS_FACCESSAT = 269 + SYS_PSELECT6 = 270 + SYS_PPOLL = 271 + SYS_UNSHARE = 272 + SYS_SET_ROBUST_LIST = 273 + SYS_GET_ROBUST_LIST = 274 + SYS_SPLICE = 275 + SYS_TEE = 276 + SYS_SYNC_FILE_RANGE = 277 + SYS_VMSPLICE = 278 + SYS_MOVE_PAGES = 279 + SYS_UTIMENSAT = 280 + SYS_EPOLL_PWAIT = 281 + SYS_SIGNALFD = 282 + SYS_TIMERFD_CREATE = 283 + SYS_EVENTFD = 284 + SYS_FALLOCATE = 285 + SYS_TIMERFD_SETTIME = 286 + SYS_TIMERFD_GETTIME = 287 + SYS_ACCEPT4 = 288 + SYS_SIGNALFD4 = 289 + SYS_EVENTFD2 = 290 + SYS_EPOLL_CREATE1 = 291 + SYS_DUP3 = 292 + SYS_PIPE2 = 293 + SYS_INOTIFY_INIT1 = 294 + SYS_PREADV = 295 + SYS_PWRITEV = 296 + SYS_RT_TGSIGQUEUEINFO = 297 + SYS_PERF_EVENT_OPEN = 298 + SYS_RECVMMSG = 299 + SYS_FANOTIFY_INIT = 300 + SYS_FANOTIFY_MARK = 301 + SYS_PRLIMIT64 = 302 + SYS_NAME_TO_HANDLE_AT = 303 + SYS_OPEN_BY_HANDLE_AT = 304 + SYS_CLOCK_ADJTIME = 305 + SYS_SYNCFS = 306 + SYS_SENDMMSG = 307 + SYS_SETNS = 308 + SYS_GETCPU = 309 + SYS_PROCESS_VM_READV = 310 + SYS_PROCESS_VM_WRITEV = 311 + SYS_KCMP = 312 + SYS_FINIT_MODULE = 313 + SYS_SCHED_SETATTR = 314 + SYS_SCHED_GETATTR = 315 + SYS_RENAMEAT2 = 316 + SYS_SECCOMP = 317 + SYS_GETRANDOM = 318 + SYS_MEMFD_CREATE = 319 + SYS_KEXEC_FILE_LOAD = 320 + SYS_BPF = 321 + SYS_EXECVEAT = 322 + SYS_USERFAULTFD = 323 + SYS_MEMBARRIER = 324 + SYS_MLOCK2 = 325 + SYS_COPY_FILE_RANGE = 326 + SYS_PREADV2 = 327 + SYS_PWRITEV2 = 328 + SYS_PKEY_MPROTECT = 329 + SYS_PKEY_ALLOC = 330 + SYS_PKEY_FREE = 331 + SYS_STATX = 332 + SYS_IO_PGETEVENTS = 333 + SYS_RSEQ = 334 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go new file mode 100644 index 00000000..3c663c69 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -0,0 +1,398 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_PTRACE = 26 + SYS_PAUSE = 29 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_VHANGUP = 111 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_GETDENTS64 = 217 + SYS_PIVOT_ROOT = 218 + SYS_MINCORE = 219 + SYS_MADVISE = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_LOOKUP_DCOOKIE = 249 + SYS_EPOLL_CREATE = 250 + SYS_EPOLL_CTL = 251 + SYS_EPOLL_WAIT = 252 + SYS_REMAP_FILE_PAGES = 253 + SYS_SET_TID_ADDRESS = 256 + SYS_TIMER_CREATE = 257 + SYS_TIMER_SETTIME = 258 + SYS_TIMER_GETTIME = 259 + SYS_TIMER_GETOVERRUN = 260 + SYS_TIMER_DELETE = 261 + SYS_CLOCK_SETTIME = 262 + SYS_CLOCK_GETTIME = 263 + SYS_CLOCK_GETRES = 264 + SYS_CLOCK_NANOSLEEP = 265 + SYS_STATFS64 = 266 + SYS_FSTATFS64 = 267 + SYS_TGKILL = 268 + SYS_UTIMES = 269 + SYS_ARM_FADVISE64_64 = 270 + SYS_PCICONFIG_IOBASE = 271 + SYS_PCICONFIG_READ = 272 + SYS_PCICONFIG_WRITE = 273 + SYS_MQ_OPEN = 274 + SYS_MQ_UNLINK = 275 + SYS_MQ_TIMEDSEND = 276 + SYS_MQ_TIMEDRECEIVE = 277 + SYS_MQ_NOTIFY = 278 + SYS_MQ_GETSETATTR = 279 + SYS_WAITID = 280 + SYS_SOCKET = 281 + SYS_BIND = 282 + SYS_CONNECT = 283 + SYS_LISTEN = 284 + SYS_ACCEPT = 285 + SYS_GETSOCKNAME = 286 + SYS_GETPEERNAME = 287 + SYS_SOCKETPAIR = 288 + SYS_SEND = 289 + SYS_SENDTO = 290 + SYS_RECV = 291 + SYS_RECVFROM = 292 + SYS_SHUTDOWN = 293 + SYS_SETSOCKOPT = 294 + SYS_GETSOCKOPT = 295 + SYS_SENDMSG = 296 + SYS_RECVMSG = 297 + SYS_SEMOP = 298 + SYS_SEMGET = 299 + SYS_SEMCTL = 300 + SYS_MSGSND = 301 + SYS_MSGRCV = 302 + SYS_MSGGET = 303 + SYS_MSGCTL = 304 + SYS_SHMAT = 305 + SYS_SHMDT = 306 + SYS_SHMGET = 307 + SYS_SHMCTL = 308 + SYS_ADD_KEY = 309 + SYS_REQUEST_KEY = 310 + SYS_KEYCTL = 311 + SYS_SEMTIMEDOP = 312 + SYS_VSERVER = 313 + SYS_IOPRIO_SET = 314 + SYS_IOPRIO_GET = 315 + SYS_INOTIFY_INIT = 316 + SYS_INOTIFY_ADD_WATCH = 317 + SYS_INOTIFY_RM_WATCH = 318 + SYS_MBIND = 319 + SYS_GET_MEMPOLICY = 320 + SYS_SET_MEMPOLICY = 321 + SYS_OPENAT = 322 + SYS_MKDIRAT = 323 + SYS_MKNODAT = 324 + SYS_FCHOWNAT = 325 + SYS_FUTIMESAT = 326 + SYS_FSTATAT64 = 327 + SYS_UNLINKAT = 328 + SYS_RENAMEAT = 329 + SYS_LINKAT = 330 + SYS_SYMLINKAT = 331 + SYS_READLINKAT = 332 + SYS_FCHMODAT = 333 + SYS_FACCESSAT = 334 + SYS_PSELECT6 = 335 + SYS_PPOLL = 336 + SYS_UNSHARE = 337 + SYS_SET_ROBUST_LIST = 338 + SYS_GET_ROBUST_LIST = 339 + SYS_SPLICE = 340 + SYS_ARM_SYNC_FILE_RANGE = 341 + SYS_TEE = 342 + SYS_VMSPLICE = 343 + SYS_MOVE_PAGES = 344 + SYS_GETCPU = 345 + SYS_EPOLL_PWAIT = 346 + SYS_KEXEC_LOAD = 347 + SYS_UTIMENSAT = 348 + SYS_SIGNALFD = 349 + SYS_TIMERFD_CREATE = 350 + SYS_EVENTFD = 351 + SYS_FALLOCATE = 352 + SYS_TIMERFD_SETTIME = 353 + SYS_TIMERFD_GETTIME = 354 + SYS_SIGNALFD4 = 355 + SYS_EVENTFD2 = 356 + SYS_EPOLL_CREATE1 = 357 + SYS_DUP3 = 358 + SYS_PIPE2 = 359 + SYS_INOTIFY_INIT1 = 360 + SYS_PREADV = 361 + SYS_PWRITEV = 362 + SYS_RT_TGSIGQUEUEINFO = 363 + SYS_PERF_EVENT_OPEN = 364 + SYS_RECVMMSG = 365 + SYS_ACCEPT4 = 366 + SYS_FANOTIFY_INIT = 367 + SYS_FANOTIFY_MARK = 368 + SYS_PRLIMIT64 = 369 + SYS_NAME_TO_HANDLE_AT = 370 + SYS_OPEN_BY_HANDLE_AT = 371 + SYS_CLOCK_ADJTIME = 372 + SYS_SYNCFS = 373 + SYS_SENDMMSG = 374 + SYS_SETNS = 375 + SYS_PROCESS_VM_READV = 376 + SYS_PROCESS_VM_WRITEV = 377 + SYS_KCMP = 378 + SYS_FINIT_MODULE = 379 + SYS_SCHED_SETATTR = 380 + SYS_SCHED_GETATTR = 381 + SYS_RENAMEAT2 = 382 + SYS_SECCOMP = 383 + SYS_GETRANDOM = 384 + SYS_MEMFD_CREATE = 385 + SYS_BPF = 386 + SYS_EXECVEAT = 387 + SYS_USERFAULTFD = 388 + SYS_MEMBARRIER = 389 + SYS_MLOCK2 = 390 + SYS_COPY_FILE_RANGE = 391 + SYS_PREADV2 = 392 + SYS_PWRITEV2 = 393 + SYS_PKEY_MPROTECT = 394 + SYS_PKEY_ALLOC = 395 + SYS_PKEY_FREE = 396 + SYS_STATX = 397 + SYS_RSEQ = 398 + SYS_IO_PGETEVENTS = 399 + SYS_MIGRATE_PAGES = 400 + SYS_KEXEC_FILE_LOAD = 401 + SYS_CLOCK_GETTIME64 = 403 + SYS_CLOCK_SETTIME64 = 404 + SYS_CLOCK_ADJTIME64 = 405 + SYS_CLOCK_GETRES_TIME64 = 406 + SYS_CLOCK_NANOSLEEP_TIME64 = 407 + SYS_TIMER_GETTIME64 = 408 + SYS_TIMER_SETTIME64 = 409 + SYS_TIMERFD_GETTIME64 = 410 + SYS_TIMERFD_SETTIME64 = 411 + SYS_UTIMENSAT_TIME64 = 412 + SYS_PSELECT6_TIME64 = 413 + SYS_PPOLL_TIME64 = 414 + SYS_IO_PGETEVENTS_TIME64 = 416 + SYS_RECVMMSG_TIME64 = 417 + SYS_MQ_TIMEDSEND_TIME64 = 418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 419 + SYS_SEMTIMEDOP_TIME64 = 420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 421 + SYS_FUTEX_TIME64 = 422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go new file mode 100644 index 00000000..753def98 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -0,0 +1,300 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +package unix + +const ( + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_RENAMEAT = 38 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go new file mode 100644 index 00000000..ac86bd54 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -0,0 +1,418 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 + SYS_SEMGET = 4393 + SYS_SEMCTL = 4394 + SYS_SHMGET = 4395 + SYS_SHMCTL = 4396 + SYS_SHMAT = 4397 + SYS_SHMDT = 4398 + SYS_MSGGET = 4399 + SYS_MSGSND = 4400 + SYS_MSGRCV = 4401 + SYS_MSGCTL = 4402 + SYS_CLOCK_GETTIME64 = 4403 + SYS_CLOCK_SETTIME64 = 4404 + SYS_CLOCK_ADJTIME64 = 4405 + SYS_CLOCK_GETRES_TIME64 = 4406 + SYS_CLOCK_NANOSLEEP_TIME64 = 4407 + SYS_TIMER_GETTIME64 = 4408 + SYS_TIMER_SETTIME64 = 4409 + SYS_TIMERFD_GETTIME64 = 4410 + SYS_TIMERFD_SETTIME64 = 4411 + SYS_UTIMENSAT_TIME64 = 4412 + SYS_PSELECT6_TIME64 = 4413 + SYS_PPOLL_TIME64 = 4414 + SYS_IO_PGETEVENTS_TIME64 = 4416 + SYS_RECVMMSG_TIME64 = 4417 + SYS_MQ_TIMEDSEND_TIME64 = 4418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 + SYS_SEMTIMEDOP_TIME64 = 4420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 + SYS_FUTEX_TIME64 = 4422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 + SYS_PIDFD_SEND_SIGNAL = 4424 + SYS_IO_URING_SETUP = 4425 + SYS_IO_URING_ENTER = 4426 + SYS_IO_URING_REGISTER = 4427 + SYS_OPEN_TREE = 4428 + SYS_MOVE_MOUNT = 4429 + SYS_FSOPEN = 4430 + SYS_FSCONFIG = 4431 + SYS_FSMOUNT = 4432 + SYS_FSPICK = 4433 + SYS_PIDFD_OPEN = 4434 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go new file mode 100644 index 00000000..1f5705b5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -0,0 +1,348 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 + SYS_OPEN_TREE = 5428 + SYS_MOVE_MOUNT = 5429 + SYS_FSOPEN = 5430 + SYS_FSCONFIG = 5431 + SYS_FSMOUNT = 5432 + SYS_FSPICK = 5433 + SYS_PIDFD_OPEN = 5434 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go new file mode 100644 index 00000000..d9ed9532 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -0,0 +1,348 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 + SYS_PIDFD_SEND_SIGNAL = 5424 + SYS_IO_URING_SETUP = 5425 + SYS_IO_URING_ENTER = 5426 + SYS_IO_URING_REGISTER = 5427 + SYS_OPEN_TREE = 5428 + SYS_MOVE_MOUNT = 5429 + SYS_FSOPEN = 5430 + SYS_FSCONFIG = 5431 + SYS_FSMOUNT = 5432 + SYS_FSPICK = 5433 + SYS_PIDFD_OPEN = 5434 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go new file mode 100644 index 00000000..94266b65 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -0,0 +1,418 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 + SYS_SEMGET = 4393 + SYS_SEMCTL = 4394 + SYS_SHMGET = 4395 + SYS_SHMCTL = 4396 + SYS_SHMAT = 4397 + SYS_SHMDT = 4398 + SYS_MSGGET = 4399 + SYS_MSGSND = 4400 + SYS_MSGRCV = 4401 + SYS_MSGCTL = 4402 + SYS_CLOCK_GETTIME64 = 4403 + SYS_CLOCK_SETTIME64 = 4404 + SYS_CLOCK_ADJTIME64 = 4405 + SYS_CLOCK_GETRES_TIME64 = 4406 + SYS_CLOCK_NANOSLEEP_TIME64 = 4407 + SYS_TIMER_GETTIME64 = 4408 + SYS_TIMER_SETTIME64 = 4409 + SYS_TIMERFD_GETTIME64 = 4410 + SYS_TIMERFD_SETTIME64 = 4411 + SYS_UTIMENSAT_TIME64 = 4412 + SYS_PSELECT6_TIME64 = 4413 + SYS_PPOLL_TIME64 = 4414 + SYS_IO_PGETEVENTS_TIME64 = 4416 + SYS_RECVMMSG_TIME64 = 4417 + SYS_MQ_TIMEDSEND_TIME64 = 4418 + SYS_MQ_TIMEDRECEIVE_TIME64 = 4419 + SYS_SEMTIMEDOP_TIME64 = 4420 + SYS_RT_SIGTIMEDWAIT_TIME64 = 4421 + SYS_FUTEX_TIME64 = 4422 + SYS_SCHED_RR_GET_INTERVAL_TIME64 = 4423 + SYS_PIDFD_SEND_SIGNAL = 4424 + SYS_IO_URING_SETUP = 4425 + SYS_IO_URING_ENTER = 4426 + SYS_IO_URING_REGISTER = 4427 + SYS_OPEN_TREE = 4428 + SYS_MOVE_MOUNT = 4429 + SYS_FSOPEN = 4430 + SYS_FSCONFIG = 4431 + SYS_FSMOUNT = 4432 + SYS_FSPICK = 4433 + SYS_PIDFD_OPEN = 4434 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go new file mode 100644 index 00000000..52e3da64 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -0,0 +1,398 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go new file mode 100644 index 00000000..6141f90a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -0,0 +1,398 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go new file mode 100644 index 00000000..4f7261a8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -0,0 +1,300 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build riscv64,linux + +package unix + +const ( + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go new file mode 100644 index 00000000..f47014ac --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -0,0 +1,363 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +package unix + +const ( + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_RESTART_SYSCALL = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SIGNAL = 48 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_LOOKUP_DCOOKIE = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_GETDENTS = 141 + SYS_SELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_GETRLIMIT = 191 + SYS_LCHOWN = 198 + SYS_GETUID = 199 + SYS_GETGID = 200 + SYS_GETEUID = 201 + SYS_GETEGID = 202 + SYS_SETREUID = 203 + SYS_SETREGID = 204 + SYS_GETGROUPS = 205 + SYS_SETGROUPS = 206 + SYS_FCHOWN = 207 + SYS_SETRESUID = 208 + SYS_GETRESUID = 209 + SYS_SETRESGID = 210 + SYS_GETRESGID = 211 + SYS_CHOWN = 212 + SYS_SETUID = 213 + SYS_SETGID = 214 + SYS_SETFSUID = 215 + SYS_SETFSGID = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_READAHEAD = 222 + SYS_SETXATTR = 224 + SYS_LSETXATTR = 225 + SYS_FSETXATTR = 226 + SYS_GETXATTR = 227 + SYS_LGETXATTR = 228 + SYS_FGETXATTR = 229 + SYS_LISTXATTR = 230 + SYS_LLISTXATTR = 231 + SYS_FLISTXATTR = 232 + SYS_REMOVEXATTR = 233 + SYS_LREMOVEXATTR = 234 + SYS_FREMOVEXATTR = 235 + SYS_GETTID = 236 + SYS_TKILL = 237 + SYS_FUTEX = 238 + SYS_SCHED_SETAFFINITY = 239 + SYS_SCHED_GETAFFINITY = 240 + SYS_TGKILL = 241 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_EPOLL_CREATE = 249 + SYS_EPOLL_CTL = 250 + SYS_EPOLL_WAIT = 251 + SYS_SET_TID_ADDRESS = 252 + SYS_FADVISE64 = 253 + SYS_TIMER_CREATE = 254 + SYS_TIMER_SETTIME = 255 + SYS_TIMER_GETTIME = 256 + SYS_TIMER_GETOVERRUN = 257 + SYS_TIMER_DELETE = 258 + SYS_CLOCK_SETTIME = 259 + SYS_CLOCK_GETTIME = 260 + SYS_CLOCK_GETRES = 261 + SYS_CLOCK_NANOSLEEP = 262 + SYS_STATFS64 = 265 + SYS_FSTATFS64 = 266 + SYS_REMAP_FILE_PAGES = 267 + SYS_MBIND = 268 + SYS_GET_MEMPOLICY = 269 + SYS_SET_MEMPOLICY = 270 + SYS_MQ_OPEN = 271 + SYS_MQ_UNLINK = 272 + SYS_MQ_TIMEDSEND = 273 + SYS_MQ_TIMEDRECEIVE = 274 + SYS_MQ_NOTIFY = 275 + SYS_MQ_GETSETATTR = 276 + SYS_KEXEC_LOAD = 277 + SYS_ADD_KEY = 278 + SYS_REQUEST_KEY = 279 + SYS_KEYCTL = 280 + SYS_WAITID = 281 + SYS_IOPRIO_SET = 282 + SYS_IOPRIO_GET = 283 + SYS_INOTIFY_INIT = 284 + SYS_INOTIFY_ADD_WATCH = 285 + SYS_INOTIFY_RM_WATCH = 286 + SYS_MIGRATE_PAGES = 287 + SYS_OPENAT = 288 + SYS_MKDIRAT = 289 + SYS_MKNODAT = 290 + SYS_FCHOWNAT = 291 + SYS_FUTIMESAT = 292 + SYS_NEWFSTATAT = 293 + SYS_UNLINKAT = 294 + SYS_RENAMEAT = 295 + SYS_LINKAT = 296 + SYS_SYMLINKAT = 297 + SYS_READLINKAT = 298 + SYS_FCHMODAT = 299 + SYS_FACCESSAT = 300 + SYS_PSELECT6 = 301 + SYS_PPOLL = 302 + SYS_UNSHARE = 303 + SYS_SET_ROBUST_LIST = 304 + SYS_GET_ROBUST_LIST = 305 + SYS_SPLICE = 306 + SYS_SYNC_FILE_RANGE = 307 + SYS_TEE = 308 + SYS_VMSPLICE = 309 + SYS_MOVE_PAGES = 310 + SYS_GETCPU = 311 + SYS_EPOLL_PWAIT = 312 + SYS_UTIMES = 313 + SYS_FALLOCATE = 314 + SYS_UTIMENSAT = 315 + SYS_SIGNALFD = 316 + SYS_TIMERFD = 317 + SYS_EVENTFD = 318 + SYS_TIMERFD_CREATE = 319 + SYS_TIMERFD_SETTIME = 320 + SYS_TIMERFD_GETTIME = 321 + SYS_SIGNALFD4 = 322 + SYS_EVENTFD2 = 323 + SYS_INOTIFY_INIT1 = 324 + SYS_PIPE2 = 325 + SYS_DUP3 = 326 + SYS_EPOLL_CREATE1 = 327 + SYS_PREADV = 328 + SYS_PWRITEV = 329 + SYS_RT_TGSIGQUEUEINFO = 330 + SYS_PERF_EVENT_OPEN = 331 + SYS_FANOTIFY_INIT = 332 + SYS_FANOTIFY_MARK = 333 + SYS_PRLIMIT64 = 334 + SYS_NAME_TO_HANDLE_AT = 335 + SYS_OPEN_BY_HANDLE_AT = 336 + SYS_CLOCK_ADJTIME = 337 + SYS_SYNCFS = 338 + SYS_SETNS = 339 + SYS_PROCESS_VM_READV = 340 + SYS_PROCESS_VM_WRITEV = 341 + SYS_S390_RUNTIME_INSTR = 342 + SYS_KCMP = 343 + SYS_FINIT_MODULE = 344 + SYS_SCHED_SETATTR = 345 + SYS_SCHED_GETATTR = 346 + SYS_RENAMEAT2 = 347 + SYS_SECCOMP = 348 + SYS_GETRANDOM = 349 + SYS_MEMFD_CREATE = 350 + SYS_BPF = 351 + SYS_S390_PCI_MMIO_WRITE = 352 + SYS_S390_PCI_MMIO_READ = 353 + SYS_EXECVEAT = 354 + SYS_USERFAULTFD = 355 + SYS_MEMBARRIER = 356 + SYS_RECVMMSG = 357 + SYS_SENDMMSG = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_MLOCK2 = 374 + SYS_COPY_FILE_RANGE = 375 + SYS_PREADV2 = 376 + SYS_PWRITEV2 = 377 + SYS_S390_GUARDED_STORAGE = 378 + SYS_STATX = 379 + SYS_S390_STHYI = 380 + SYS_KEXEC_FILE_LOAD = 381 + SYS_IO_PGETEVENTS = 382 + SYS_RSEQ = 383 + SYS_PKEY_MPROTECT = 384 + SYS_PKEY_ALLOC = 385 + SYS_PKEY_FREE = 386 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go new file mode 100644 index 00000000..dd78abb0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -0,0 +1,377 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build sparc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECV = 11 + SYS_CHDIR = 12 + SYS_CHOWN = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BRK = 17 + SYS_PERFCTR = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_CAPGET = 21 + SYS_CAPSET = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_VMSPLICE = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_SIGALTSTACK = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_STAT = 38 + SYS_SENDFILE = 39 + SYS_LSTAT = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_UMOUNT2 = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_MEMORY_ORDERING = 52 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_FSTAT = 62 + SYS_FSTAT64 = 63 + SYS_GETPAGESIZE = 64 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_MMAP = 71 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_VHANGUP = 76 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_SETHOSTNAME = 88 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_ACCEPT = 99 + SYS_GETPRIORITY = 100 + SYS_RT_SIGRETURN = 101 + SYS_RT_SIGACTION = 102 + SYS_RT_SIGPROCMASK = 103 + SYS_RT_SIGPENDING = 104 + SYS_RT_SIGTIMEDWAIT = 105 + SYS_RT_SIGQUEUEINFO = 106 + SYS_RT_SIGSUSPEND = 107 + SYS_SETRESUID = 108 + SYS_GETRESUID = 109 + SYS_SETRESGID = 110 + SYS_GETRESGID = 111 + SYS_RECVMSG = 113 + SYS_SENDMSG = 114 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_GETCWD = 119 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_RECVFROM = 125 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_TRUNCATE = 129 + SYS_FTRUNCATE = 130 + SYS_FLOCK = 131 + SYS_LSTAT64 = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_STAT64 = 139 + SYS_SENDFILE64 = 140 + SYS_GETPEERNAME = 141 + SYS_FUTEX = 142 + SYS_GETTID = 143 + SYS_GETRLIMIT = 144 + SYS_SETRLIMIT = 145 + SYS_PIVOT_ROOT = 146 + SYS_PRCTL = 147 + SYS_PCICONFIG_READ = 148 + SYS_PCICONFIG_WRITE = 149 + SYS_GETSOCKNAME = 150 + SYS_INOTIFY_INIT = 151 + SYS_INOTIFY_ADD_WATCH = 152 + SYS_POLL = 153 + SYS_GETDENTS64 = 154 + SYS_INOTIFY_RM_WATCH = 156 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UMOUNT = 159 + SYS_SCHED_SET_AFFINITY = 160 + SYS_SCHED_GET_AFFINITY = 161 + SYS_GETDOMAINNAME = 162 + SYS_SETDOMAINNAME = 163 + SYS_UTRAP_INSTALL = 164 + SYS_QUOTACTL = 165 + SYS_SET_TID_ADDRESS = 166 + SYS_MOUNT = 167 + SYS_USTAT = 168 + SYS_SETXATTR = 169 + SYS_LSETXATTR = 170 + SYS_FSETXATTR = 171 + SYS_GETXATTR = 172 + SYS_LGETXATTR = 173 + SYS_GETDENTS = 174 + SYS_SETSID = 175 + SYS_FCHDIR = 176 + SYS_FGETXATTR = 177 + SYS_LISTXATTR = 178 + SYS_LLISTXATTR = 179 + SYS_FLISTXATTR = 180 + SYS_REMOVEXATTR = 181 + SYS_LREMOVEXATTR = 182 + SYS_SIGPENDING = 183 + SYS_QUERY_MODULE = 184 + SYS_SETPGID = 185 + SYS_FREMOVEXATTR = 186 + SYS_TKILL = 187 + SYS_EXIT_GROUP = 188 + SYS_UNAME = 189 + SYS_INIT_MODULE = 190 + SYS_PERSONALITY = 191 + SYS_REMAP_FILE_PAGES = 192 + SYS_EPOLL_CREATE = 193 + SYS_EPOLL_CTL = 194 + SYS_EPOLL_WAIT = 195 + SYS_IOPRIO_SET = 196 + SYS_GETPPID = 197 + SYS_SIGACTION = 198 + SYS_SGETMASK = 199 + SYS_SSETMASK = 200 + SYS_SIGSUSPEND = 201 + SYS_OLDLSTAT = 202 + SYS_USELIB = 203 + SYS_READDIR = 204 + SYS_READAHEAD = 205 + SYS_SOCKETCALL = 206 + SYS_SYSLOG = 207 + SYS_LOOKUP_DCOOKIE = 208 + SYS_FADVISE64 = 209 + SYS_FADVISE64_64 = 210 + SYS_TGKILL = 211 + SYS_WAITPID = 212 + SYS_SWAPOFF = 213 + SYS_SYSINFO = 214 + SYS_IPC = 215 + SYS_SIGRETURN = 216 + SYS_CLONE = 217 + SYS_IOPRIO_GET = 218 + SYS_ADJTIMEX = 219 + SYS_SIGPROCMASK = 220 + SYS_CREATE_MODULE = 221 + SYS_DELETE_MODULE = 222 + SYS_GET_KERNEL_SYMS = 223 + SYS_GETPGID = 224 + SYS_BDFLUSH = 225 + SYS_SYSFS = 226 + SYS_AFS_SYSCALL = 227 + SYS_SETFSUID = 228 + SYS_SETFSGID = 229 + SYS__NEWSELECT = 230 + SYS_SPLICE = 232 + SYS_STIME = 233 + SYS_STATFS64 = 234 + SYS_FSTATFS64 = 235 + SYS__LLSEEK = 236 + SYS_MLOCK = 237 + SYS_MUNLOCK = 238 + SYS_MLOCKALL = 239 + SYS_MUNLOCKALL = 240 + SYS_SCHED_SETPARAM = 241 + SYS_SCHED_GETPARAM = 242 + SYS_SCHED_SETSCHEDULER = 243 + SYS_SCHED_GETSCHEDULER = 244 + SYS_SCHED_YIELD = 245 + SYS_SCHED_GET_PRIORITY_MAX = 246 + SYS_SCHED_GET_PRIORITY_MIN = 247 + SYS_SCHED_RR_GET_INTERVAL = 248 + SYS_NANOSLEEP = 249 + SYS_MREMAP = 250 + SYS__SYSCTL = 251 + SYS_GETSID = 252 + SYS_FDATASYNC = 253 + SYS_NFSSERVCTL = 254 + SYS_SYNC_FILE_RANGE = 255 + SYS_CLOCK_SETTIME = 256 + SYS_CLOCK_GETTIME = 257 + SYS_CLOCK_GETRES = 258 + SYS_CLOCK_NANOSLEEP = 259 + SYS_SCHED_GETAFFINITY = 260 + SYS_SCHED_SETAFFINITY = 261 + SYS_TIMER_SETTIME = 262 + SYS_TIMER_GETTIME = 263 + SYS_TIMER_GETOVERRUN = 264 + SYS_TIMER_DELETE = 265 + SYS_TIMER_CREATE = 266 + SYS_VSERVER = 267 + SYS_IO_SETUP = 268 + SYS_IO_DESTROY = 269 + SYS_IO_SUBMIT = 270 + SYS_IO_CANCEL = 271 + SYS_IO_GETEVENTS = 272 + SYS_MQ_OPEN = 273 + SYS_MQ_UNLINK = 274 + SYS_MQ_TIMEDSEND = 275 + SYS_MQ_TIMEDRECEIVE = 276 + SYS_MQ_NOTIFY = 277 + SYS_MQ_GETSETATTR = 278 + SYS_WAITID = 279 + SYS_TEE = 280 + SYS_ADD_KEY = 281 + SYS_REQUEST_KEY = 282 + SYS_KEYCTL = 283 + SYS_OPENAT = 284 + SYS_MKDIRAT = 285 + SYS_MKNODAT = 286 + SYS_FCHOWNAT = 287 + SYS_FUTIMESAT = 288 + SYS_FSTATAT64 = 289 + SYS_UNLINKAT = 290 + SYS_RENAMEAT = 291 + SYS_LINKAT = 292 + SYS_SYMLINKAT = 293 + SYS_READLINKAT = 294 + SYS_FCHMODAT = 295 + SYS_FACCESSAT = 296 + SYS_PSELECT6 = 297 + SYS_PPOLL = 298 + SYS_UNSHARE = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_GET_ROBUST_LIST = 301 + SYS_MIGRATE_PAGES = 302 + SYS_MBIND = 303 + SYS_GET_MEMPOLICY = 304 + SYS_SET_MEMPOLICY = 305 + SYS_KEXEC_LOAD = 306 + SYS_MOVE_PAGES = 307 + SYS_GETCPU = 308 + SYS_EPOLL_PWAIT = 309 + SYS_UTIMENSAT = 310 + SYS_SIGNALFD = 311 + SYS_TIMERFD_CREATE = 312 + SYS_EVENTFD = 313 + SYS_FALLOCATE = 314 + SYS_TIMERFD_SETTIME = 315 + SYS_TIMERFD_GETTIME = 316 + SYS_SIGNALFD4 = 317 + SYS_EVENTFD2 = 318 + SYS_EPOLL_CREATE1 = 319 + SYS_DUP3 = 320 + SYS_PIPE2 = 321 + SYS_INOTIFY_INIT1 = 322 + SYS_ACCEPT4 = 323 + SYS_PREADV = 324 + SYS_PWRITEV = 325 + SYS_RT_TGSIGQUEUEINFO = 326 + SYS_PERF_EVENT_OPEN = 327 + SYS_RECVMMSG = 328 + SYS_FANOTIFY_INIT = 329 + SYS_FANOTIFY_MARK = 330 + SYS_PRLIMIT64 = 331 + SYS_NAME_TO_HANDLE_AT = 332 + SYS_OPEN_BY_HANDLE_AT = 333 + SYS_CLOCK_ADJTIME = 334 + SYS_SYNCFS = 335 + SYS_SENDMMSG = 336 + SYS_SETNS = 337 + SYS_PROCESS_VM_READV = 338 + SYS_PROCESS_VM_WRITEV = 339 + SYS_KERN_FEATURES = 340 + SYS_KCMP = 341 + SYS_FINIT_MODULE = 342 + SYS_SCHED_SETATTR = 343 + SYS_SCHED_GETATTR = 344 + SYS_RENAMEAT2 = 345 + SYS_SECCOMP = 346 + SYS_GETRANDOM = 347 + SYS_MEMFD_CREATE = 348 + SYS_BPF = 349 + SYS_EXECVEAT = 350 + SYS_MEMBARRIER = 351 + SYS_USERFAULTFD = 352 + SYS_BIND = 353 + SYS_LISTEN = 354 + SYS_SETSOCKOPT = 355 + SYS_MLOCK2 = 356 + SYS_COPY_FILE_RANGE = 357 + SYS_PREADV2 = 358 + SYS_PWRITEV2 = 359 + SYS_STATX = 360 + SYS_IO_PGETEVENTS = 361 + SYS_PKEY_MPROTECT = 362 + SYS_PKEY_ALLOC = 363 + SYS_PKEY_FREE = 364 + SYS_RSEQ = 365 + SYS_SEMTIMEDOP = 392 + SYS_SEMGET = 393 + SYS_SEMCTL = 394 + SYS_SHMGET = 395 + SYS_SHMCTL = 396 + SYS_SHMAT = 397 + SYS_SHMDT = 398 + SYS_MSGGET = 399 + SYS_MSGSND = 400 + SYS_MSGRCV = 401 + SYS_MSGCTL = 402 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go new file mode 100644 index 00000000..e66a8c9d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go new file mode 100644 index 00000000..42c788f2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go new file mode 100644 index 00000000..0a075717 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go new file mode 100644 index 00000000..0291c093 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; DO NOT EDIT. + +// +build arm64,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } + SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go new file mode 100644 index 00000000..b0207d1c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go new file mode 100644 index 00000000..f0dec6f0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go new file mode 100644 index 00000000..33d1dc54 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go new file mode 100644 index 00000000..fe2b689b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go @@ -0,0 +1,217 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go new file mode 100644 index 00000000..2c1f815e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go @@ -0,0 +1,352 @@ +// cgo -godefs types_aix.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc,aix + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x3ff +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type off64 int64 +type off int32 +type Mode_t uint32 + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Timex struct{} + +type Time_t int32 + +type Tms struct{} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Timezone struct { + Minuteswest int32 + Dsttime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type Pid_t int32 + +type _Gid_t uint32 + +type dev_t uint32 + +type Stat_t struct { + Dev uint32 + Ino uint32 + Mode uint32 + Nlink int16 + Flag uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Size int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Blocks int32 + Vfstype int32 + Vfs uint32 + Type uint32 + Gen uint32 + Reserved [9]uint32 +} + +type StatxTimestamp struct{} + +type Statx_t struct{} + +type Dirent struct { + Offset uint32 + Ino uint32 + Reclen uint16 + Namlen uint16 + Name [256]uint8 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [1023]uint8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [1012]uint8 +} + +type _Socklen uint32 + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 +) + +const ( + SizeofIfMsghdr = 0x10 +) + +type IfMsgHdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Addrlen uint8 + _ [1]byte +} + +type FdSet struct { + Bits [2048]int32 +} + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} + +type Ustat_t struct{} + +type Sigset_t struct { + Losigs uint32 + Hisigs uint32 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x1 + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [16]uint8 +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line uint8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = 0x4000 + POLLHUP = 0x2000 + POLLIN = 0x1 + POLLNVAL = 0x8000 + POLLOUT = 0x2 + POLLPRI = 0x4 + POLLRDBAND = 0x20 + POLLRDNORM = 0x10 + POLLWRBAND = 0x40 + POLLWRNORM = 0x2 +) + +type Flock_t struct { + Type int16 + Whence int16 + Sysid uint32 + Pid int32 + Vfs int32 + Start int64 + Len int64 +} + +type Fsid_t struct { + Val [2]uint32 +} +type Fsid64_t struct { + Val [2]uint64 +} + +type Statfs_t struct { + Version int32 + Type int32 + Bsize uint32 + Blocks uint32 + Bfree uint32 + Bavail uint32 + Files uint32 + Ffree uint32 + Fsid Fsid_t + Vfstype int32 + Fsize uint32 + Vfsnumber int32 + Vfsoff int32 + Vfslen int32 + Vfsvers int32 + Fname [32]uint8 + Fpack [32]uint8 + Name_max int32 +} + +const RNDGETENTCNT = 0x80045200 diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go new file mode 100644 index 00000000..b4a069ec --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go @@ -0,0 +1,356 @@ +// cgo -godefs types_aix.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,aix + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x3ff +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type off64 int64 +type off int64 +type Mode_t uint32 + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Timex struct{} + +type Time_t int64 + +type Tms struct{} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Timezone struct { + Minuteswest int32 + Dsttime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type Pid_t int32 + +type _Gid_t uint32 + +type dev_t uint64 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink int16 + Flag uint16 + Uid uint32 + Gid uint32 + Rdev uint64 + Ssize int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int64 + Blocks int64 + Vfstype int32 + Vfs uint32 + Type uint32 + Gen uint32 + Reserved [9]uint32 + Padto_ll uint32 + Size int64 +} + +type StatxTimestamp struct{} + +type Statx_t struct{} + +type Dirent struct { + Offset uint64 + Ino uint64 + Reclen uint16 + Namlen uint16 + Name [256]uint8 + _ [4]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [1023]uint8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [1012]uint8 +} + +type _Socklen uint32 + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 +) + +const ( + SizeofIfMsghdr = 0x10 +) + +type IfMsgHdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Addrlen uint8 + _ [1]byte +} + +type FdSet struct { + Bits [1024]int64 +} + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} + +type Ustat_t struct{} + +type Sigset_t struct { + Set [4]uint64 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x1 + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [16]uint8 +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line uint8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = 0x4000 + POLLHUP = 0x2000 + POLLIN = 0x1 + POLLNVAL = 0x8000 + POLLOUT = 0x2 + POLLPRI = 0x4 + POLLRDBAND = 0x20 + POLLRDNORM = 0x10 + POLLWRBAND = 0x40 + POLLWRNORM = 0x2 +) + +type Flock_t struct { + Type int16 + Whence int16 + Sysid uint32 + Pid int32 + Vfs int32 + Start int64 + Len int64 +} + +type Fsid_t struct { + Val [2]uint32 +} +type Fsid64_t struct { + Val [2]uint64 +} + +type Statfs_t struct { + Version int32 + Type int32 + Bsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid64_t + Vfstype int32 + Fsize uint64 + Vfsnumber int32 + Vfsoff int32 + Vfslen int32 + Vfsvers int32 + Fname [32]uint8 + Fpack [32]uint8 + Name_max int32 + _ [4]byte +} + +const RNDGETENTCNT = 0x80045200 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go new file mode 100644 index 00000000..9f47b87c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go @@ -0,0 +1,499 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 struct{} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint32 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Contigbytes int64 + Devoffset int64 +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go new file mode 100644 index 00000000..966798a8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -0,0 +1,509 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + _ [4]byte + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + _ [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + _ [8]byte + _ [8]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + _ [4]byte + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go new file mode 100644 index 00000000..4fe4c9cd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go @@ -0,0 +1,500 @@ +// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_darwin.go + +// +build arm,darwin + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 [0]byte + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint32 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Contigbytes int64 + Devoffset int64 +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go new file mode 100644 index 00000000..21999e4b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -0,0 +1,509 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + _ [4]byte + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + _ [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + _ [8]byte + _ [8]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + _ [4]byte + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go new file mode 100644 index 00000000..c206f2b0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go @@ -0,0 +1,469 @@ +// cgo -godefs types_dragonfly.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Ino uint64 + Nlink uint32 + Dev uint32 + Mode uint16 + _1 uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare1 int64 + Qspare2 int64 +} + +type Statfs_t struct { + Spare2 int64 + Bsize int64 + Iosize int64 + Blocks int64 + Bfree int64 + Bavail int64 + Files int64 + Ffree int64 + Fsid Fsid + Owner uint32 + Type int32 + Flags int32 + _ [4]byte + Syncwrites int64 + Asyncwrites int64 + Fstypename [16]int8 + Mntonname [80]int8 + Syncreads int64 + Asyncreads int64 + Spares1 int16 + Mntfromname [80]int8 + Spares2 int16 + _ [4]byte + Spare [2]int64 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Namlen uint16 + Type uint8 + Unused1 uint8 + Unused2 uint32 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + SizeofIfMsghdr = 0xb0 + SizeofIfData = 0xa0 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + _ [2]byte + Mtu uint64 + Metric uint64 + Link_state uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Oqdrops uint64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Pksent uint64 + Expire uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Recvpipe uint64 + Hopcount uint64 + Mssopt uint16 + Pad uint16 + _ [4]byte + Msl uint64 + Iwmaxsegs uint64 + Iwcapsegs uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = 0xfffafdcd + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go new file mode 100644 index 00000000..7312e95f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -0,0 +1,700 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + _ int32 + Atim Timespec + _ int32 + Mtim Timespec + _ int32 + Ctim Timespec + _ int32 + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec + _ [8]byte +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [4]byte + X_reason [32]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + Fs uint32 + Es uint32 + Ds uint32 + Edi uint32 + Esi uint32 + Ebp uint32 + Isp uint32 + Ebx uint32 + Edx uint32 + Ecx uint32 + Eax uint32 + Trapno uint32 + Err uint32 + Eip uint32 + Cs uint32 + Eflags uint32 + Esp uint32 + Ss uint32 + Gs uint32 +} + +type FpReg struct { + Env [7]uint32 + Acc [8][10]uint8 + Ex_sw uint32 + Pad [64]uint8 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint +} + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x60 + sizeofIfData = 0x98 + SizeofIfData = 0x50 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + Epoch int32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go new file mode 100644 index 00000000..29ba2f5b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -0,0 +1,706 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [8]byte + _ [40]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + R15 int64 + R14 int64 + R13 int64 + R12 int64 + R11 int64 + R10 int64 + R9 int64 + R8 int64 + Rdi int64 + Rsi int64 + Rbp int64 + Rbx int64 + Rdx int64 + Rcx int64 + Rax int64 + Trapno uint32 + Fs uint16 + Gs uint16 + Err uint32 + Es uint16 + Ds uint16 + Rip int64 + Cs int64 + Rflags int64 + Rsp int64 + Ss int64 +} + +type FpReg struct { + Env [4]uint64 + Acc [8][16]uint8 + Xacc [16][16]uint8 + Spare [12]uint64 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint +} + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0xa8 + sizeofIfData = 0x98 + SizeofIfData = 0x98 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Expire uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Pksent uint64 + Weight uint64 + Filler [3]uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0x18 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint64 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go new file mode 100644 index 00000000..b4090ef3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -0,0 +1,683 @@ +// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + _ [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [4]byte + X_reason [32]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + R [13]uint32 + R_sp uint32 + R_lr uint32 + R_pc uint32 + R_cpsr uint32 +} + +type FpReg struct { + Fpr_fpsr uint32 + Fpr [8][3]uint32 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint +} + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x70 + sizeofIfData = 0x98 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + _ [4]byte + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go new file mode 100644 index 00000000..1542a877 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go @@ -0,0 +1,684 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,freebsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Btim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_ATTACH = 0xa + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0xb + PTRACE_GETFPREGS = 0x23 + PTRACE_GETFSBASE = 0x47 + PTRACE_GETLWPLIST = 0xf + PTRACE_GETNUMLWPS = 0xe + PTRACE_GETREGS = 0x21 + PTRACE_GETXSTATE = 0x45 + PTRACE_IO = 0xc + PTRACE_KILL = 0x8 + PTRACE_LWPEVENTS = 0x18 + PTRACE_LWPINFO = 0xd + PTRACE_SETFPREGS = 0x24 + PTRACE_SETREGS = 0x22 + PTRACE_SINGLESTEP = 0x9 + PTRACE_TRACEME = 0x0 +) + +const ( + PIOD_READ_D = 0x1 + PIOD_WRITE_D = 0x2 + PIOD_READ_I = 0x3 + PIOD_WRITE_I = 0x4 +) + +const ( + PL_FLAG_BORN = 0x100 + PL_FLAG_EXITED = 0x200 + PL_FLAG_SI = 0x20 +) + +const ( + TRAP_BRKPT = 0x1 + TRAP_TRACE = 0x2 +) + +type PtraceLwpInfoStruct struct { + Lwpid int32 + Event int32 + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t + Siginfo __Siginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 + Syscall_narg uint32 +} + +type __Siginfo struct { + Signo int32 + Errno int32 + Code int32 + Pid int32 + Uid uint32 + Status int32 + Addr *byte + Value [8]byte + X_reason [40]byte +} + +type Sigset_t struct { + Val [4]uint32 +} + +type Reg struct { + X [30]uint64 + Lr uint64 + Sp uint64 + Elr uint64 + Spsr uint32 +} + +type FpReg struct { + Fp_q [32]uint128 + Fp_sr uint32 + Fp_cr uint32 +} + +type PtraceIoDesc struct { + Op int32 + Offs *byte + Addr *byte + Len uint +} + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0xa8 + sizeofIfData = 0x98 + SizeofIfData = 0x98 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Expire uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Pksent uint64 + Weight uint64 + Filler [3]uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0x18 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint64 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go new file mode 100644 index 00000000..16d62fa4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -0,0 +1,2628 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + _ uint16 + _ uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + Size int64 + Blksize int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [1]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Ebx int32 + Ecx int32 + Edx int32 + Esi int32 + Edi int32 + Ebp int32 + Eax int32 + Xds int32 + Xes int32 + Xfs int32 + Xgs int32 + Orig_eax int32 + Eip int32 + Xcs int32 + Eflags int32 + Esp int32 + Xss int32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint16 + Inode uint32 + Rdevice uint16 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint32 + Reserved [4]int8 +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go new file mode 100644 index 00000000..97e92393 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -0,0 +1,2642 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [3]int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + R15 uint64 + R14 uint64 + R13 uint64 + R12 uint64 + Rbp uint64 + Rbx uint64 + R11 uint64 + R10 uint64 + R9 uint64 + R8 uint64 + Rax uint64 + Rcx uint64 + Rdx uint64 + Rsi uint64 + Rdi uint64 + Orig_rax uint64 + Rip uint64 + Cs uint64 + Eflags uint64 + Rsp uint64 + Ss uint64 + Fs_base uint64 + Gs_base uint64 + Ds uint64 + Es uint64 + Fs uint64 + Gs uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint64 + Inode uint64 + Rdevice uint64 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go new file mode 100644 index 00000000..05f978e8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -0,0 +1,2619 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + _ uint16 + _ uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + _ [4]byte + Size int64 + Blksize int32 + _ [4]byte + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Uregs [18]uint32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]uint8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]uint8 + Fpack [6]uint8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]uint8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint16 + Inode uint32 + Rdevice uint16 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint32 + Reserved [4]uint8 +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]uint8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]uint8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go new file mode 100644 index 00000000..5086fcea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -0,0 +1,2621 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint64 + Size int64 + Blksize int32 + _ int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [2]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [31]uint64 + Sp uint64 + Pc uint64 + Pstate uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go new file mode 100644 index 00000000..b6ddd8c5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -0,0 +1,2625 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]int32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Pad4 int32 + Blocks int64 + Pad5 [14]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x80 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + _ [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint32 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint32 + Reserved [4]int8 +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go new file mode 100644 index 00000000..89f3e32a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -0,0 +1,2623 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]uint32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]uint32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize uint32 + Pad4 uint32 + Blocks int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x80 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Frsize int64 + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int64 + Flags int64 + Spare [5]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go new file mode 100644 index 00000000..6b84cf79 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -0,0 +1,2623 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]uint32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]uint32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize uint32 + Pad4 uint32 + Blocks int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x80 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Frsize int64 + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int64 + Flags int64 + Spare [5]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go new file mode 100644 index 00000000..bc50cd38 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -0,0 +1,2625 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]int32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Pad4 int32 + Blocks int64 + Pad5 [14]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +const _C__NSIG = 0x80 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + _ [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint32 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint32 + Reserved [4]int8 +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go new file mode 100644 index 00000000..0a1ec170 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -0,0 +1,2631 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint64 + Inode uint64 + Rdevice uint64 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]uint8 + _ [4]byte +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]uint8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]uint8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go new file mode 100644 index 00000000..c7f045a5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -0,0 +1,2631 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint64 + Inode uint64 + Rdevice uint64 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]uint8 + _ [4]byte +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]uint8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]uint8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go new file mode 100644 index 00000000..5d8d4479 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -0,0 +1,2649 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build riscv64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint64 + Size int64 + Blksize int32 + _ int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [2]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Pc uint64 + Ra uint64 + Sp uint64 + Gp uint64 + Tp uint64 + T0 uint64 + T1 uint64 + T2 uint64 + S0 uint64 + S1 uint64 + A0 uint64 + A1 uint64 + A2 uint64 + A3 uint64 + A4 uint64 + A5 uint64 + A6 uint64 + A7 uint64 + S2 uint64 + S3 uint64 + S4 uint64 + S5 uint64 + S6 uint64 + S7 uint64 + S8 uint64 + S9 uint64 + S10 uint64 + S11 uint64 + T3 uint64 + T4 uint64 + T5 uint64 + T6 uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]uint8 + Driver_name [64]uint8 + Module_name [64]uint8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]uint8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]uint8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]uint8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]uint8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]uint8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]uint8 +} + +type CryptoReportLarval struct { + Type [64]uint8 +} + +type CryptoReportHash struct { + Type [64]uint8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]uint8 + Geniv [64]uint8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]uint8 +} + +type CryptoReportRNG struct { + Type [64]uint8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]uint8 +} + +type CryptoReportKPP struct { + Type [64]uint8 +} + +type CryptoReportAcomp struct { + Type [64]uint8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]uint8 + _ [4]byte +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]uint8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]uint8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go new file mode 100644 index 00000000..034875a6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -0,0 +1,2645 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int64 + Blocks int64 + _ [3]int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x6 + FADV_NOREUSE = 0x7 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Psw PtracePsw + Gprs [16]uint64 + Acrs [16]uint32 + Orig_gpr2 uint64 + Fp_regs PtraceFpregs + Per_info PtracePer + Ieee_instruction_pointer uint64 +} + +type PtracePsw struct { + Mask uint64 + Addr uint64 +} + +type PtraceFpregs struct { + Fpc uint32 + Fprs [16]float64 +} + +type PtracePer struct { + _ [0]uint64 + _ [32]byte + Starting_addr uint64 + Ending_addr uint64 + Perc_atmid uint16 + Address uint64 + Access_id uint8 + _ [7]byte +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type uint32 + Bsize uint32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen uint32 + Frsize uint32 + Flags uint32 + Spare [4]uint32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint16 + Inode uint64 + Rdevice uint16 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go new file mode 100644 index 00000000..2f7ec8b8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -0,0 +1,2626 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build sparc64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + _ uint16 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ int16 + _ [2]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddrTIPC struct { + Family uint16 + Addrtype uint8 + Scope int8 + Addr [12]byte +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +type CanFilter struct { + Id uint32 + Mask uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofSockaddrTIPC = 0x10 + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 +) + +const ( + NDA_UNSPEC = 0x0 + NDA_DST = 0x1 + NDA_LLADDR = 0x2 + NDA_CACHEINFO = 0x3 + NDA_PROBES = 0x4 + NDA_VLAN = 0x5 + NDA_PORT = 0x6 + NDA_VNI = 0x7 + NDA_IFINDEX = 0x8 + NDA_MASTER = 0x9 + NDA_LINK_NETNSID = 0xa + NDA_SRC_VNI = 0xb + NTF_USE = 0x1 + NTF_SELF = 0x2 + NTF_MASTER = 0x4 + NTF_PROXY = 0x8 + NTF_EXT_LEARNED = 0x10 + NTF_OFFLOADED = 0x20 + NTF_ROUTER = 0x80 + NUD_INCOMPLETE = 0x1 + NUD_REACHABLE = 0x2 + NUD_STALE = 0x4 + NUD_DELAY = 0x8 + NUD_PROBE = 0x10 + NUD_FAILED = 0x20 + NUD_NOARP = 0x40 + NUD_PERMANENT = 0x80 + NUD_NONE = 0x0 + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFA_FLAGS = 0x8 + IFA_RT_PRIORITY = 0x9 + IFA_TARGET_NETNSID = 0xa + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_TARGET_NETNSID = 0x2e + IFLA_CARRIER_UP_COUNT = 0x2f + IFLA_CARRIER_DOWN_COUNT = 0x30 + IFLA_NEW_IFINDEX = 0x31 + IFLA_MIN_MTU = 0x32 + IFLA_MAX_MTU = 0x33 + IFLA_MAX = 0x33 + IFLA_INFO_KIND = 0x1 + IFLA_INFO_DATA = 0x2 + IFLA_INFO_XSTATS = 0x3 + IFLA_INFO_SLAVE_KIND = 0x4 + IFLA_INFO_SLAVE_DATA = 0x5 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofIfaCacheinfo = 0x10 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 + SizeofNdUseroptmsg = 0x10 + SizeofNdMsg = 0xc +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type IfaCacheinfo struct { + Prefered uint32 + Valid uint32 + Cstamp uint32 + Tstamp uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +type NdUseroptmsg struct { + Family uint8 + Pad1 uint8 + Opts_len uint16 + Ifindex int32 + Icmp_type uint8 + Icmp_code uint8 + Pad2 uint16 + Pad3 uint32 +} + +type NdMsg struct { + Family uint8 + Pad1 uint8 + Pad2 uint16 + Ifindex int32 + State uint16 + Flags uint8 + Type uint8 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [16]uint64 + Tstate uint64 + Tpc uint64 + Tnpc uint64 + Y uint32 + Magic uint32 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x800 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +const _C__NSIG = 0x41 + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + PERF_COUNT_SW_BPF_OUTPUT = 0xa + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 + PERF_SAMPLE_BRANCH_IN_TX = 0x100 + PERF_SAMPLE_BRANCH_NO_TX = 0x200 + PERF_SAMPLE_BRANCH_COND = 0x400 + PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 + PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 + PERF_SAMPLE_BRANCH_CALL = 0x2000 + PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 + PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 + PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + PERF_RECORD_MMAP2 = 0xa + PERF_RECORD_AUX = 0xb + PERF_RECORD_ITRACE_START = 0xc + PERF_RECORD_LOST_SAMPLES = 0xd + PERF_RECORD_SWITCH = 0xe + PERF_RECORD_SWITCH_CPU_WIDE = 0xf + PERF_RECORD_NAMESPACES = 0x10 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 + PERF_FLAG_FD_CLOEXEC = 0x8 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketBDTS struct { + Sec uint32 + Usec uint32 +} + +type TpacketHdrV1 struct { + Block_status uint32 + Num_pkts uint32 + Offset_to_first_pkt uint32 + Blk_len uint32 + Seq_num uint64 + Ts_first_pkt TpacketBDTS + Ts_last_pkt TpacketBDTS +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 + + SizeofTpacketStats = 0x8 + SizeofTpacketStatsV3 = 0xc +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} + +type FanotifyEventMetadata struct { + Event_len uint32 + Vers uint8 + Reserved uint8 + Metadata_len uint16 + Mask uint64 + Fd int32 + Pid int32 +} + +type FanotifyResponse struct { + Fd int32 + Response uint32 +} + +const ( + CRYPTO_MSG_BASE = 0x10 + CRYPTO_MSG_NEWALG = 0x10 + CRYPTO_MSG_DELALG = 0x11 + CRYPTO_MSG_UPDATEALG = 0x12 + CRYPTO_MSG_GETALG = 0x13 + CRYPTO_MSG_DELRNG = 0x14 + CRYPTO_MSG_GETSTAT = 0x15 +) + +const ( + CRYPTOCFGA_UNSPEC = 0x0 + CRYPTOCFGA_PRIORITY_VAL = 0x1 + CRYPTOCFGA_REPORT_LARVAL = 0x2 + CRYPTOCFGA_REPORT_HASH = 0x3 + CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 + CRYPTOCFGA_REPORT_AEAD = 0x5 + CRYPTOCFGA_REPORT_COMPRESS = 0x6 + CRYPTOCFGA_REPORT_RNG = 0x7 + CRYPTOCFGA_REPORT_CIPHER = 0x8 + CRYPTOCFGA_REPORT_AKCIPHER = 0x9 + CRYPTOCFGA_REPORT_KPP = 0xa + CRYPTOCFGA_REPORT_ACOMP = 0xb + CRYPTOCFGA_STAT_LARVAL = 0xc + CRYPTOCFGA_STAT_HASH = 0xd + CRYPTOCFGA_STAT_BLKCIPHER = 0xe + CRYPTOCFGA_STAT_AEAD = 0xf + CRYPTOCFGA_STAT_COMPRESS = 0x10 + CRYPTOCFGA_STAT_RNG = 0x11 + CRYPTOCFGA_STAT_CIPHER = 0x12 + CRYPTOCFGA_STAT_AKCIPHER = 0x13 + CRYPTOCFGA_STAT_KPP = 0x14 + CRYPTOCFGA_STAT_ACOMP = 0x15 +) + +type CryptoUserAlg struct { + Name [64]int8 + Driver_name [64]int8 + Module_name [64]int8 + Type uint32 + Mask uint32 + Refcnt uint32 + Flags uint32 +} + +type CryptoStatAEAD struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatAKCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Verify_cnt uint64 + Sign_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatCipher struct { + Type [64]int8 + Encrypt_cnt uint64 + Encrypt_tlen uint64 + Decrypt_cnt uint64 + Decrypt_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatCompress struct { + Type [64]int8 + Compress_cnt uint64 + Compress_tlen uint64 + Decompress_cnt uint64 + Decompress_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatHash struct { + Type [64]int8 + Hash_cnt uint64 + Hash_tlen uint64 + Err_cnt uint64 +} + +type CryptoStatKPP struct { + Type [64]int8 + Setsecret_cnt uint64 + Generate_public_key_cnt uint64 + Compute_shared_secret_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatRNG struct { + Type [64]int8 + Generate_cnt uint64 + Generate_tlen uint64 + Seed_cnt uint64 + Err_cnt uint64 +} + +type CryptoStatLarval struct { + Type [64]int8 +} + +type CryptoReportLarval struct { + Type [64]int8 +} + +type CryptoReportHash struct { + Type [64]int8 + Blocksize uint32 + Digestsize uint32 +} + +type CryptoReportCipher struct { + Type [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 +} + +type CryptoReportBlkCipher struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Min_keysize uint32 + Max_keysize uint32 + Ivsize uint32 +} + +type CryptoReportAEAD struct { + Type [64]int8 + Geniv [64]int8 + Blocksize uint32 + Maxauthsize uint32 + Ivsize uint32 +} + +type CryptoReportComp struct { + Type [64]int8 +} + +type CryptoReportRNG struct { + Type [64]int8 + Seedsize uint32 +} + +type CryptoReportAKCipher struct { + Type [64]int8 +} + +type CryptoReportKPP struct { + Type [64]int8 +} + +type CryptoReportAcomp struct { + Type [64]int8 +} + +const ( + BPF_REG_0 = 0x0 + BPF_REG_1 = 0x1 + BPF_REG_2 = 0x2 + BPF_REG_3 = 0x3 + BPF_REG_4 = 0x4 + BPF_REG_5 = 0x5 + BPF_REG_6 = 0x6 + BPF_REG_7 = 0x7 + BPF_REG_8 = 0x8 + BPF_REG_9 = 0x9 + BPF_REG_10 = 0xa + BPF_MAP_CREATE = 0x0 + BPF_MAP_LOOKUP_ELEM = 0x1 + BPF_MAP_UPDATE_ELEM = 0x2 + BPF_MAP_DELETE_ELEM = 0x3 + BPF_MAP_GET_NEXT_KEY = 0x4 + BPF_PROG_LOAD = 0x5 + BPF_OBJ_PIN = 0x6 + BPF_OBJ_GET = 0x7 + BPF_PROG_ATTACH = 0x8 + BPF_PROG_DETACH = 0x9 + BPF_PROG_TEST_RUN = 0xa + BPF_PROG_GET_NEXT_ID = 0xb + BPF_MAP_GET_NEXT_ID = 0xc + BPF_PROG_GET_FD_BY_ID = 0xd + BPF_MAP_GET_FD_BY_ID = 0xe + BPF_OBJ_GET_INFO_BY_FD = 0xf + BPF_PROG_QUERY = 0x10 + BPF_RAW_TRACEPOINT_OPEN = 0x11 + BPF_BTF_LOAD = 0x12 + BPF_BTF_GET_FD_BY_ID = 0x13 + BPF_TASK_FD_QUERY = 0x14 + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 + BPF_MAP_TYPE_UNSPEC = 0x0 + BPF_MAP_TYPE_HASH = 0x1 + BPF_MAP_TYPE_ARRAY = 0x2 + BPF_MAP_TYPE_PROG_ARRAY = 0x3 + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 + BPF_MAP_TYPE_PERCPU_HASH = 0x5 + BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 + BPF_MAP_TYPE_STACK_TRACE = 0x7 + BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 + BPF_MAP_TYPE_LRU_HASH = 0x9 + BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa + BPF_MAP_TYPE_LPM_TRIE = 0xb + BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc + BPF_MAP_TYPE_HASH_OF_MAPS = 0xd + BPF_MAP_TYPE_DEVMAP = 0xe + BPF_MAP_TYPE_SOCKMAP = 0xf + BPF_MAP_TYPE_CPUMAP = 0x10 + BPF_MAP_TYPE_XSKMAP = 0x11 + BPF_MAP_TYPE_SOCKHASH = 0x12 + BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 + BPF_MAP_TYPE_QUEUE = 0x16 + BPF_MAP_TYPE_STACK = 0x17 + BPF_PROG_TYPE_UNSPEC = 0x0 + BPF_PROG_TYPE_SOCKET_FILTER = 0x1 + BPF_PROG_TYPE_KPROBE = 0x2 + BPF_PROG_TYPE_SCHED_CLS = 0x3 + BPF_PROG_TYPE_SCHED_ACT = 0x4 + BPF_PROG_TYPE_TRACEPOINT = 0x5 + BPF_PROG_TYPE_XDP = 0x6 + BPF_PROG_TYPE_PERF_EVENT = 0x7 + BPF_PROG_TYPE_CGROUP_SKB = 0x8 + BPF_PROG_TYPE_CGROUP_SOCK = 0x9 + BPF_PROG_TYPE_LWT_IN = 0xa + BPF_PROG_TYPE_LWT_OUT = 0xb + BPF_PROG_TYPE_LWT_XMIT = 0xc + BPF_PROG_TYPE_SOCK_OPS = 0xd + BPF_PROG_TYPE_SK_SKB = 0xe + BPF_PROG_TYPE_CGROUP_DEVICE = 0xf + BPF_PROG_TYPE_SK_MSG = 0x10 + BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 + BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 + BPF_PROG_TYPE_LIRC_MODE2 = 0x14 + BPF_PROG_TYPE_SK_REUSEPORT = 0x15 + BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 + BPF_CGROUP_INET_INGRESS = 0x0 + BPF_CGROUP_INET_EGRESS = 0x1 + BPF_CGROUP_INET_SOCK_CREATE = 0x2 + BPF_CGROUP_SOCK_OPS = 0x3 + BPF_SK_SKB_STREAM_PARSER = 0x4 + BPF_SK_SKB_STREAM_VERDICT = 0x5 + BPF_CGROUP_DEVICE = 0x6 + BPF_SK_MSG_VERDICT = 0x7 + BPF_CGROUP_INET4_BIND = 0x8 + BPF_CGROUP_INET6_BIND = 0x9 + BPF_CGROUP_INET4_CONNECT = 0xa + BPF_CGROUP_INET6_CONNECT = 0xb + BPF_CGROUP_INET4_POST_BIND = 0xc + BPF_CGROUP_INET6_POST_BIND = 0xd + BPF_CGROUP_UDP4_SENDMSG = 0xe + BPF_CGROUP_UDP6_SENDMSG = 0xf + BPF_LIRC_MODE2 = 0x10 + BPF_FLOW_DISSECTOR = 0x11 + BPF_STACK_BUILD_ID_EMPTY = 0x0 + BPF_STACK_BUILD_ID_VALID = 0x1 + BPF_STACK_BUILD_ID_IP = 0x2 + BPF_ADJ_ROOM_NET = 0x0 + BPF_HDR_START_MAC = 0x0 + BPF_HDR_START_NET = 0x1 + BPF_LWT_ENCAP_SEG6 = 0x0 + BPF_LWT_ENCAP_SEG6_INLINE = 0x1 + BPF_OK = 0x0 + BPF_DROP = 0x2 + BPF_REDIRECT = 0x7 + BPF_SOCK_OPS_VOID = 0x0 + BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 + BPF_SOCK_OPS_RWND_INIT = 0x2 + BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 + BPF_SOCK_OPS_NEEDS_ECN = 0x6 + BPF_SOCK_OPS_BASE_RTT = 0x7 + BPF_SOCK_OPS_RTO_CB = 0x8 + BPF_SOCK_OPS_RETRANS_CB = 0x9 + BPF_SOCK_OPS_STATE_CB = 0xa + BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb + BPF_TCP_ESTABLISHED = 0x1 + BPF_TCP_SYN_SENT = 0x2 + BPF_TCP_SYN_RECV = 0x3 + BPF_TCP_FIN_WAIT1 = 0x4 + BPF_TCP_FIN_WAIT2 = 0x5 + BPF_TCP_TIME_WAIT = 0x6 + BPF_TCP_CLOSE = 0x7 + BPF_TCP_CLOSE_WAIT = 0x8 + BPF_TCP_LAST_ACK = 0x9 + BPF_TCP_LISTEN = 0xa + BPF_TCP_CLOSING = 0xb + BPF_TCP_NEW_SYN_RECV = 0xc + BPF_TCP_MAX_STATES = 0xd + BPF_FIB_LKUP_RET_SUCCESS = 0x0 + BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 + BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 + BPF_FIB_LKUP_RET_PROHIBIT = 0x3 + BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 + BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 + BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 + BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 + BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 + BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 + BPF_FD_TYPE_TRACEPOINT = 0x1 + BPF_FD_TYPE_KPROBE = 0x2 + BPF_FD_TYPE_KRETPROBE = 0x3 + BPF_FD_TYPE_UPROBE = 0x4 + BPF_FD_TYPE_URETPROBE = 0x5 +) + +const ( + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_DECnet_IFADDR = 0xd + RTNLGRP_NOP2 = 0xe + RTNLGRP_DECnet_ROUTE = 0xf + RTNLGRP_DECnet_RULE = 0x10 + RTNLGRP_NOP4 = 0x11 + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + RTNLGRP_PHONET_IFADDR = 0x15 + RTNLGRP_PHONET_ROUTE = 0x16 + RTNLGRP_DCB = 0x17 + RTNLGRP_IPV4_NETCONF = 0x18 + RTNLGRP_IPV6_NETCONF = 0x19 + RTNLGRP_MDB = 0x1a + RTNLGRP_MPLS_ROUTE = 0x1b + RTNLGRP_NSID = 0x1c + RTNLGRP_MPLS_NETCONF = 0x1d + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 +) + +type CapUserHeader struct { + Version uint32 + Pid int32 +} + +type CapUserData struct { + Effective uint32 + Permitted uint32 + Inheritable uint32 +} + +const ( + LINUX_CAPABILITY_VERSION_1 = 0x19980330 + LINUX_CAPABILITY_VERSION_2 = 0x20071026 + LINUX_CAPABILITY_VERSION_3 = 0x20080522 +) + +const ( + LO_FLAGS_READ_ONLY = 0x1 + LO_FLAGS_AUTOCLEAR = 0x4 + LO_FLAGS_PARTSCAN = 0x8 + LO_FLAGS_DIRECT_IO = 0x10 +) + +type LoopInfo struct { + Number int32 + Device uint32 + Inode uint64 + Rdevice uint32 + Offset int32 + Encrypt_type int32 + Encrypt_key_size int32 + Flags int32 + Name [64]int8 + Encrypt_key [32]uint8 + Init [2]uint64 + Reserved [4]int8 + _ [4]byte +} +type LoopInfo64 struct { + Device uint64 + Inode uint64 + Rdevice uint64 + Offset uint64 + Sizelimit uint64 + Number uint32 + Encrypt_type uint32 + Encrypt_key_size uint32 + Flags uint32 + File_name [64]uint8 + Crypt_name [64]uint8 + Encrypt_key [32]uint8 + Init [2]uint64 +} + +type TIPCSocketAddr struct { + Ref uint32 + Node uint32 +} + +type TIPCServiceRange struct { + Type uint32 + Lower uint32 + Upper uint32 +} + +type TIPCServiceName struct { + Type uint32 + Instance uint32 + Domain uint32 +} + +type TIPCSubscr struct { + Seq TIPCServiceRange + Timeout uint32 + Filter uint32 + Handle [8]int8 +} + +type TIPCEvent struct { + Event uint32 + Lower uint32 + Upper uint32 + Port TIPCSocketAddr + S TIPCSubscr +} + +type TIPCGroupReq struct { + Type uint32 + Instance uint32 + Scope uint32 + Flags uint32 +} + +type TIPCSIOCLNReq struct { + Peer uint32 + Id uint32 + Linkname [68]int8 +} + +type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 +} + +const ( + TIPC_CLUSTER_SCOPE = 0x2 + TIPC_NODE_SCOPE = 0x3 +) + +const ( + SYSLOG_ACTION_CLOSE = 0 + SYSLOG_ACTION_OPEN = 1 + SYSLOG_ACTION_READ = 2 + SYSLOG_ACTION_READ_ALL = 3 + SYSLOG_ACTION_READ_CLEAR = 4 + SYSLOG_ACTION_CLEAR = 5 + SYSLOG_ACTION_CONSOLE_OFF = 6 + SYSLOG_ACTION_CONSOLE_ON = 7 + SYSLOG_ACTION_CONSOLE_LEVEL = 8 + SYSLOG_ACTION_SIZE_UNREAD = 9 + SYSLOG_ACTION_SIZE_BUFFER = 10 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go new file mode 100644 index 00000000..86736ab6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go @@ -0,0 +1,466 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,netbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x84 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData + Pad_cgo_1 [4]byte +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go new file mode 100644 index 00000000..3427811f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go @@ -0,0 +1,473 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,netbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter uint32 + Flags uint32 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata int64 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfTimeval struct { + Sec int64 + Usec int64 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go new file mode 100644 index 00000000..399f37a4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go @@ -0,0 +1,471 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,netbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + Pad_cgo_0 [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 + Pad_cgo_0 [4]byte +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go new file mode 100644 index 00000000..32f0c15d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go @@ -0,0 +1,473 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,netbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + _ [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + _ [4]byte + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Btim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + _ [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter uint32 + Flags uint32 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata int64 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfTimeval struct { + Sec int64 + Usec int64 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go new file mode 100644 index 00000000..61ea0019 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go @@ -0,0 +1,571 @@ +// cgo -godefs types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,openbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + X__st_birthtim Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + Pad_cgo_0 [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + X__d_padding [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xec + SizeofIfData = 0xd4 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Pad uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval + Mclpool [7]Mclpool +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct { + Grown int32 + Alive uint16 + Hwm uint16 + Cwm uint16 + Lwm uint16 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x4 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Anonpages int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Nanonneeded int32 + Nfreeanon int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Obsolete_swapins int32 + Obsolete_swapouts int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Zeroaborts int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Pdreanon int32 + Pdrevnode int32 + Pdrevtext int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go new file mode 100644 index 00000000..87a493f6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go @@ -0,0 +1,571 @@ +// cgo -godefs types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,openbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ [4]byte + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + _ [4]byte + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen uint32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + _ [4]byte + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x4 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Anonpages int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Nanonneeded int32 + Nfreeanon int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Obsolete_swapins int32 + Obsolete_swapouts int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Zeroaborts int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Pdreanon int32 + Pdrevnode int32 + Pdrevtext int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go new file mode 100644 index 00000000..d80836ef --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go @@ -0,0 +1,572 @@ +// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,openbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + _ [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ [4]byte + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + _ [4]byte + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + _ [4]byte + Data int64 + Udata *byte + _ [4]byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + _ [4]byte + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x4 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Unused01 int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Unused05 int32 + Unused06 int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Unused07 int32 + Unused08 int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Unused09 int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Unused11 int32 + Unused12 int32 + Unused13 int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go new file mode 100644 index 00000000..4e158746 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go @@ -0,0 +1,565 @@ +// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,openbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_FOLLOW = 0x4 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Unused01 int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Unused05 int32 + Unused06 int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Unused07 int32 + Unused08 int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Unused09 int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Unused11 int32 + Unused12 int32 + Unused13 int32 + Fpswtch int32 + Kmapent int32 +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go new file mode 100644 index 00000000..8531a190 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go @@ -0,0 +1,442 @@ +// cgo -godefs types_solaris.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,solaris + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x400 + MaxHostNameLen = 0x100 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + _ [4]byte + Blocks int64 + Fstype [16]int8 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Sysid int32 + Pid int32 + Pad [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Name [1]int8 + _ [5]byte +} + +type _Fsblkcnt_t uint64 + +type Statvfs_t struct { + Bsize uint64 + Frsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Favail uint64 + Fsid uint64 + Basetype [16]int8 + Flag uint64 + Namemax uint64 + Fstr [32]int8 +} + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 + X__sin6_src_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrDatalink struct { + Family uint16 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [244]int8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [236]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *int8 + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Accrights *int8 + Accrightslen int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + X__icmp6_filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x20 + SizeofSockaddrAny = 0xfc + SizeofSockaddrUnix = 0x6e + SizeofSockaddrDatalink = 0xfc + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x24 + SizeofICMPv6Filter = 0x20 +) + +type FdSet struct { + Bits [1024]int64 +} + +type Utsname struct { + Sysname [257]byte + Nodename [257]byte + Release [257]byte + Version [257]byte + Machine [257]byte +} + +type Ustat_t struct { + Tfree int64 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +const ( + AT_FDCWD = 0xffd19553 + AT_SYMLINK_NOFOLLOW = 0x1000 + AT_SYMLINK_FOLLOW = 0x2000 + AT_REMOVEDIR = 0x1 + AT_EACCESS = 0x4 +) + +const ( + SizeofIfMsghdr = 0x54 + SizeofIfData = 0x44 + SizeofIfaMsghdr = 0x14 + SizeofRtMsghdr = 0x4c + SizeofRtMetrics = 0x28 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + _ [1]byte + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Lastchange Timeval32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + _ [1]byte +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line int8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) diff --git a/vendor/golang.org/x/sys/windows/aliases.go b/vendor/golang.org/x/sys/windows/aliases.go new file mode 100644 index 00000000..af3af60d --- /dev/null +++ b/vendor/golang.org/x/sys/windows/aliases.go @@ -0,0 +1,13 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows +// +build go1.9 + +package windows + +import "syscall" + +type Errno = syscall.Errno +type SysProcAttr = syscall.SysProcAttr diff --git a/vendor/golang.org/x/sys/windows/dll_windows.go b/vendor/golang.org/x/sys/windows/dll_windows.go new file mode 100644 index 00000000..d7771134 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/dll_windows.go @@ -0,0 +1,386 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +import ( + "sync" + "sync/atomic" + "syscall" + "unsafe" +) + +// We need to use LoadLibrary and GetProcAddress from the Go runtime, because +// the these symbols are loaded by the system linker and are required to +// dynamically load additional symbols. Note that in the Go runtime, these +// return syscall.Handle and syscall.Errno, but these are the same, in fact, +// as windows.Handle and windows.Errno, and we intend to keep these the same. + +//go:linkname syscall_loadlibrary syscall.loadlibrary +func syscall_loadlibrary(filename *uint16) (handle Handle, err Errno) + +//go:linkname syscall_getprocaddress syscall.getprocaddress +func syscall_getprocaddress(handle Handle, procname *uint8) (proc uintptr, err Errno) + +// DLLError describes reasons for DLL load failures. +type DLLError struct { + Err error + ObjName string + Msg string +} + +func (e *DLLError) Error() string { return e.Msg } + +// A DLL implements access to a single DLL. +type DLL struct { + Name string + Handle Handle +} + +// LoadDLL loads DLL file into memory. +// +// Warning: using LoadDLL without an absolute path name is subject to +// DLL preloading attacks. To safely load a system DLL, use LazyDLL +// with System set to true, or use LoadLibraryEx directly. +func LoadDLL(name string) (dll *DLL, err error) { + namep, err := UTF16PtrFromString(name) + if err != nil { + return nil, err + } + h, e := syscall_loadlibrary(namep) + if e != 0 { + return nil, &DLLError{ + Err: e, + ObjName: name, + Msg: "Failed to load " + name + ": " + e.Error(), + } + } + d := &DLL{ + Name: name, + Handle: h, + } + return d, nil +} + +// MustLoadDLL is like LoadDLL but panics if load operation failes. +func MustLoadDLL(name string) *DLL { + d, e := LoadDLL(name) + if e != nil { + panic(e) + } + return d +} + +// FindProc searches DLL d for procedure named name and returns *Proc +// if found. It returns an error if search fails. +func (d *DLL) FindProc(name string) (proc *Proc, err error) { + namep, err := BytePtrFromString(name) + if err != nil { + return nil, err + } + a, e := syscall_getprocaddress(d.Handle, namep) + if e != 0 { + return nil, &DLLError{ + Err: e, + ObjName: name, + Msg: "Failed to find " + name + " procedure in " + d.Name + ": " + e.Error(), + } + } + p := &Proc{ + Dll: d, + Name: name, + addr: a, + } + return p, nil +} + +// MustFindProc is like FindProc but panics if search fails. +func (d *DLL) MustFindProc(name string) *Proc { + p, e := d.FindProc(name) + if e != nil { + panic(e) + } + return p +} + +// Release unloads DLL d from memory. +func (d *DLL) Release() (err error) { + return FreeLibrary(d.Handle) +} + +// A Proc implements access to a procedure inside a DLL. +type Proc struct { + Dll *DLL + Name string + addr uintptr +} + +// Addr returns the address of the procedure represented by p. +// The return value can be passed to Syscall to run the procedure. +func (p *Proc) Addr() uintptr { + return p.addr +} + +//go:uintptrescapes + +// Call executes procedure p with arguments a. It will panic, if more than 15 arguments +// are supplied. +// +// The returned error is always non-nil, constructed from the result of GetLastError. +// Callers must inspect the primary return value to decide whether an error occurred +// (according to the semantics of the specific function being called) before consulting +// the error. The error will be guaranteed to contain windows.Errno. +func (p *Proc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) { + switch len(a) { + case 0: + return syscall.Syscall(p.Addr(), uintptr(len(a)), 0, 0, 0) + case 1: + return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], 0, 0) + case 2: + return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], a[1], 0) + case 3: + return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], a[1], a[2]) + case 4: + return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], 0, 0) + case 5: + return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], 0) + case 6: + return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5]) + case 7: + return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], 0, 0) + case 8: + return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], 0) + case 9: + return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]) + case 10: + return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], 0, 0) + case 11: + return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], 0) + case 12: + return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]) + case 13: + return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], 0, 0) + case 14: + return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], 0) + case 15: + return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]) + default: + panic("Call " + p.Name + " with too many arguments " + itoa(len(a)) + ".") + } +} + +// A LazyDLL implements access to a single DLL. +// It will delay the load of the DLL until the first +// call to its Handle method or to one of its +// LazyProc's Addr method. +type LazyDLL struct { + Name string + + // System determines whether the DLL must be loaded from the + // Windows System directory, bypassing the normal DLL search + // path. + System bool + + mu sync.Mutex + dll *DLL // non nil once DLL is loaded +} + +// Load loads DLL file d.Name into memory. It returns an error if fails. +// Load will not try to load DLL, if it is already loaded into memory. +func (d *LazyDLL) Load() error { + // Non-racy version of: + // if d.dll != nil { + if atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&d.dll))) != nil { + return nil + } + d.mu.Lock() + defer d.mu.Unlock() + if d.dll != nil { + return nil + } + + // kernel32.dll is special, since it's where LoadLibraryEx comes from. + // The kernel already special-cases its name, so it's always + // loaded from system32. + var dll *DLL + var err error + if d.Name == "kernel32.dll" { + dll, err = LoadDLL(d.Name) + } else { + dll, err = loadLibraryEx(d.Name, d.System) + } + if err != nil { + return err + } + + // Non-racy version of: + // d.dll = dll + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&d.dll)), unsafe.Pointer(dll)) + return nil +} + +// mustLoad is like Load but panics if search fails. +func (d *LazyDLL) mustLoad() { + e := d.Load() + if e != nil { + panic(e) + } +} + +// Handle returns d's module handle. +func (d *LazyDLL) Handle() uintptr { + d.mustLoad() + return uintptr(d.dll.Handle) +} + +// NewProc returns a LazyProc for accessing the named procedure in the DLL d. +func (d *LazyDLL) NewProc(name string) *LazyProc { + return &LazyProc{l: d, Name: name} +} + +// NewLazyDLL creates new LazyDLL associated with DLL file. +func NewLazyDLL(name string) *LazyDLL { + return &LazyDLL{Name: name} +} + +// NewLazySystemDLL is like NewLazyDLL, but will only +// search Windows System directory for the DLL if name is +// a base name (like "advapi32.dll"). +func NewLazySystemDLL(name string) *LazyDLL { + return &LazyDLL{Name: name, System: true} +} + +// A LazyProc implements access to a procedure inside a LazyDLL. +// It delays the lookup until the Addr method is called. +type LazyProc struct { + Name string + + mu sync.Mutex + l *LazyDLL + proc *Proc +} + +// Find searches DLL for procedure named p.Name. It returns +// an error if search fails. Find will not search procedure, +// if it is already found and loaded into memory. +func (p *LazyProc) Find() error { + // Non-racy version of: + // if p.proc == nil { + if atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&p.proc))) == nil { + p.mu.Lock() + defer p.mu.Unlock() + if p.proc == nil { + e := p.l.Load() + if e != nil { + return e + } + proc, e := p.l.dll.FindProc(p.Name) + if e != nil { + return e + } + // Non-racy version of: + // p.proc = proc + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&p.proc)), unsafe.Pointer(proc)) + } + } + return nil +} + +// mustFind is like Find but panics if search fails. +func (p *LazyProc) mustFind() { + e := p.Find() + if e != nil { + panic(e) + } +} + +// Addr returns the address of the procedure represented by p. +// The return value can be passed to Syscall to run the procedure. +// It will panic if the procedure cannot be found. +func (p *LazyProc) Addr() uintptr { + p.mustFind() + return p.proc.Addr() +} + +//go:uintptrescapes + +// Call executes procedure p with arguments a. It will panic, if more than 15 arguments +// are supplied. It will also panic if the procedure cannot be found. +// +// The returned error is always non-nil, constructed from the result of GetLastError. +// Callers must inspect the primary return value to decide whether an error occurred +// (according to the semantics of the specific function being called) before consulting +// the error. The error will be guaranteed to contain windows.Errno. +func (p *LazyProc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) { + p.mustFind() + return p.proc.Call(a...) +} + +var canDoSearchSystem32Once struct { + sync.Once + v bool +} + +func initCanDoSearchSystem32() { + // https://msdn.microsoft.com/en-us/library/ms684179(v=vs.85).aspx says: + // "Windows 7, Windows Server 2008 R2, Windows Vista, and Windows + // Server 2008: The LOAD_LIBRARY_SEARCH_* flags are available on + // systems that have KB2533623 installed. To determine whether the + // flags are available, use GetProcAddress to get the address of the + // AddDllDirectory, RemoveDllDirectory, or SetDefaultDllDirectories + // function. If GetProcAddress succeeds, the LOAD_LIBRARY_SEARCH_* + // flags can be used with LoadLibraryEx." + canDoSearchSystem32Once.v = (modkernel32.NewProc("AddDllDirectory").Find() == nil) +} + +func canDoSearchSystem32() bool { + canDoSearchSystem32Once.Do(initCanDoSearchSystem32) + return canDoSearchSystem32Once.v +} + +func isBaseName(name string) bool { + for _, c := range name { + if c == ':' || c == '/' || c == '\\' { + return false + } + } + return true +} + +// loadLibraryEx wraps the Windows LoadLibraryEx function. +// +// See https://msdn.microsoft.com/en-us/library/windows/desktop/ms684179(v=vs.85).aspx +// +// If name is not an absolute path, LoadLibraryEx searches for the DLL +// in a variety of automatic locations unless constrained by flags. +// See: https://msdn.microsoft.com/en-us/library/ff919712%28VS.85%29.aspx +func loadLibraryEx(name string, system bool) (*DLL, error) { + loadDLL := name + var flags uintptr + if system { + if canDoSearchSystem32() { + const LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x00000800 + flags = LOAD_LIBRARY_SEARCH_SYSTEM32 + } else if isBaseName(name) { + // WindowsXP or unpatched Windows machine + // trying to load "foo.dll" out of the system + // folder, but LoadLibraryEx doesn't support + // that yet on their system, so emulate it. + systemdir, err := GetSystemDirectory() + if err != nil { + return nil, err + } + loadDLL = systemdir + "\\" + name + } + } + h, err := LoadLibraryEx(loadDLL, 0, flags) + if err != nil { + return nil, err + } + return &DLL{Name: name, Handle: h}, nil +} + +type errString string + +func (s errString) Error() string { return string(s) } diff --git a/vendor/golang.org/x/sys/windows/env_windows.go b/vendor/golang.org/x/sys/windows/env_windows.go new file mode 100644 index 00000000..f482a9fa --- /dev/null +++ b/vendor/golang.org/x/sys/windows/env_windows.go @@ -0,0 +1,61 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Windows environment variables. + +package windows + +import ( + "syscall" + "unicode/utf16" + "unsafe" +) + +func Getenv(key string) (value string, found bool) { + return syscall.Getenv(key) +} + +func Setenv(key, value string) error { + return syscall.Setenv(key, value) +} + +func Clearenv() { + syscall.Clearenv() +} + +func Environ() []string { + return syscall.Environ() +} + +// Returns a default environment associated with the token, rather than the current +// process. If inheritExisting is true, then this environment also inherits the +// environment of the current process. +func (token Token) Environ(inheritExisting bool) (env []string, err error) { + var block *uint16 + err = CreateEnvironmentBlock(&block, token, inheritExisting) + if err != nil { + return nil, err + } + defer DestroyEnvironmentBlock(block) + blockp := uintptr(unsafe.Pointer(block)) + for { + entry := (*[(1 << 30) - 1]uint16)(unsafe.Pointer(blockp))[:] + for i, v := range entry { + if v == 0 { + entry = entry[:i] + break + } + } + if len(entry) == 0 { + break + } + env = append(env, string(utf16.Decode(entry))) + blockp += 2 * (uintptr(len(entry)) + 1) + } + return env, nil +} + +func Unsetenv(key string) error { + return syscall.Unsetenv(key) +} diff --git a/vendor/golang.org/x/sys/windows/eventlog.go b/vendor/golang.org/x/sys/windows/eventlog.go new file mode 100644 index 00000000..40af946e --- /dev/null +++ b/vendor/golang.org/x/sys/windows/eventlog.go @@ -0,0 +1,20 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +package windows + +const ( + EVENTLOG_SUCCESS = 0 + EVENTLOG_ERROR_TYPE = 1 + EVENTLOG_WARNING_TYPE = 2 + EVENTLOG_INFORMATION_TYPE = 4 + EVENTLOG_AUDIT_SUCCESS = 8 + EVENTLOG_AUDIT_FAILURE = 16 +) + +//sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW +//sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource +//sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW diff --git a/vendor/golang.org/x/sys/windows/exec_windows.go b/vendor/golang.org/x/sys/windows/exec_windows.go new file mode 100644 index 00000000..3606c3a8 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/exec_windows.go @@ -0,0 +1,97 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Fork, exec, wait, etc. + +package windows + +// EscapeArg rewrites command line argument s as prescribed +// in http://msdn.microsoft.com/en-us/library/ms880421. +// This function returns "" (2 double quotes) if s is empty. +// Alternatively, these transformations are done: +// - every back slash (\) is doubled, but only if immediately +// followed by double quote ("); +// - every double quote (") is escaped by back slash (\); +// - finally, s is wrapped with double quotes (arg -> "arg"), +// but only if there is space or tab inside s. +func EscapeArg(s string) string { + if len(s) == 0 { + return "\"\"" + } + n := len(s) + hasSpace := false + for i := 0; i < len(s); i++ { + switch s[i] { + case '"', '\\': + n++ + case ' ', '\t': + hasSpace = true + } + } + if hasSpace { + n += 2 + } + if n == len(s) { + return s + } + + qs := make([]byte, n) + j := 0 + if hasSpace { + qs[j] = '"' + j++ + } + slashes := 0 + for i := 0; i < len(s); i++ { + switch s[i] { + default: + slashes = 0 + qs[j] = s[i] + case '\\': + slashes++ + qs[j] = s[i] + case '"': + for ; slashes > 0; slashes-- { + qs[j] = '\\' + j++ + } + qs[j] = '\\' + j++ + qs[j] = s[i] + } + j++ + } + if hasSpace { + for ; slashes > 0; slashes-- { + qs[j] = '\\' + j++ + } + qs[j] = '"' + j++ + } + return string(qs[:j]) +} + +func CloseOnExec(fd Handle) { + SetHandleInformation(Handle(fd), HANDLE_FLAG_INHERIT, 0) +} + +// FullPath retrieves the full path of the specified file. +func FullPath(name string) (path string, err error) { + p, err := UTF16PtrFromString(name) + if err != nil { + return "", err + } + n := uint32(100) + for { + buf := make([]uint16, n) + n, err = GetFullPathName(p, uint32(len(buf)), &buf[0], nil) + if err != nil { + return "", err + } + if n <= uint32(len(buf)) { + return UTF16ToString(buf[:n]), nil + } + } +} diff --git a/vendor/golang.org/x/sys/windows/memory_windows.go b/vendor/golang.org/x/sys/windows/memory_windows.go new file mode 100644 index 00000000..f80a4204 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/memory_windows.go @@ -0,0 +1,26 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +const ( + MEM_COMMIT = 0x00001000 + MEM_RESERVE = 0x00002000 + MEM_DECOMMIT = 0x00004000 + MEM_RELEASE = 0x00008000 + MEM_RESET = 0x00080000 + MEM_TOP_DOWN = 0x00100000 + MEM_WRITE_WATCH = 0x00200000 + MEM_PHYSICAL = 0x00400000 + MEM_RESET_UNDO = 0x01000000 + MEM_LARGE_PAGES = 0x20000000 + + PAGE_NOACCESS = 0x01 + PAGE_READONLY = 0x02 + PAGE_READWRITE = 0x04 + PAGE_WRITECOPY = 0x08 + PAGE_EXECUTE_READ = 0x20 + PAGE_EXECUTE_READWRITE = 0x40 + PAGE_EXECUTE_WRITECOPY = 0x80 +) diff --git a/vendor/golang.org/x/sys/windows/mkerrors.bash b/vendor/golang.org/x/sys/windows/mkerrors.bash new file mode 100755 index 00000000..2163843a --- /dev/null +++ b/vendor/golang.org/x/sys/windows/mkerrors.bash @@ -0,0 +1,63 @@ +#!/bin/bash + +# Copyright 2019 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +set -e +shopt -s nullglob + +winerror="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/winerror.h | sort -Vr | head -n 1)" +[[ -n $winerror ]] || { echo "Unable to find winerror.h" >&2; exit 1; } + +declare -A errors + +{ + echo "// Code generated by 'mkerrors.bash'; DO NOT EDIT." + echo + echo "package windows" + echo "import \"syscall\"" + echo "const (" + + while read -r line; do + unset vtype + if [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?([A-Z][A-Z0-9_]+k?)\)? ]]; then + key="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[3]}" + elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +([A-Z0-9_]+\()?((0x)?[0-9A-Fa-f]+)L?\)? ]]; then + key="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[3]}" + vtype="${BASH_REMATCH[2]}" + elif [[ $line =~ ^#define\ +([A-Z0-9_]+k?)\ +\(\(([A-Z]+)\)((0x)?[0-9A-Fa-f]+)L?\) ]]; then + key="${BASH_REMATCH[1]}" + value="${BASH_REMATCH[3]}" + vtype="${BASH_REMATCH[2]}" + else + continue + fi + [[ -n $key && -n $value ]] || continue + [[ -z ${errors["$key"]} ]] || continue + errors["$key"]="$value" + if [[ -v vtype ]]; then + if [[ $key == FACILITY_* || $key == NO_ERROR ]]; then + vtype="" + elif [[ $vtype == *HANDLE* || $vtype == *HRESULT* ]]; then + vtype="Handle" + else + vtype="syscall.Errno" + fi + last_vtype="$vtype" + else + vtype="" + if [[ $last_vtype == Handle && $value == NO_ERROR ]]; then + value="S_OK" + elif [[ $last_vtype == syscall.Errno && $value == NO_ERROR ]]; then + value="ERROR_SUCCESS" + fi + fi + + echo "$key $vtype = $value" + done < "$winerror" + + echo ")" +} | gofmt > "zerrors_windows.go" diff --git a/vendor/golang.org/x/sys/windows/mkknownfolderids.bash b/vendor/golang.org/x/sys/windows/mkknownfolderids.bash new file mode 100755 index 00000000..ab8924e9 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/mkknownfolderids.bash @@ -0,0 +1,27 @@ +#!/bin/bash + +# Copyright 2019 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +set -e +shopt -s nullglob + +knownfolders="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/um/KnownFolders.h | sort -Vr | head -n 1)" +[[ -n $knownfolders ]] || { echo "Unable to find KnownFolders.h" >&2; exit 1; } + +{ + echo "// Code generated by 'mkknownfolderids.bash'; DO NOT EDIT." + echo + echo "package windows" + echo "type KNOWNFOLDERID GUID" + echo "var (" + while read -r line; do + [[ $line =~ DEFINE_KNOWN_FOLDER\((FOLDERID_[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+),[\t\ ]*(0x[^,]+)\) ]] || continue + printf "%s = &KNOWNFOLDERID{0x%08x, 0x%04x, 0x%04x, [8]byte{0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x}}\n" \ + "${BASH_REMATCH[1]}" $(( "${BASH_REMATCH[2]}" )) $(( "${BASH_REMATCH[3]}" )) $(( "${BASH_REMATCH[4]}" )) \ + $(( "${BASH_REMATCH[5]}" )) $(( "${BASH_REMATCH[6]}" )) $(( "${BASH_REMATCH[7]}" )) $(( "${BASH_REMATCH[8]}" )) \ + $(( "${BASH_REMATCH[9]}" )) $(( "${BASH_REMATCH[10]}" )) $(( "${BASH_REMATCH[11]}" )) $(( "${BASH_REMATCH[12]}" )) + done < "$knownfolders" + echo ")" +} | gofmt > "zknownfolderids_windows.go" diff --git a/vendor/golang.org/x/sys/windows/mksyscall.go b/vendor/golang.org/x/sys/windows/mksyscall.go new file mode 100644 index 00000000..328e3b2a --- /dev/null +++ b/vendor/golang.org/x/sys/windows/mksyscall.go @@ -0,0 +1,9 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build generate + +package windows + +//go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go diff --git a/vendor/golang.org/x/sys/windows/race.go b/vendor/golang.org/x/sys/windows/race.go new file mode 100644 index 00000000..a74e3e24 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/race.go @@ -0,0 +1,30 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows,race + +package windows + +import ( + "runtime" + "unsafe" +) + +const raceenabled = true + +func raceAcquire(addr unsafe.Pointer) { + runtime.RaceAcquire(addr) +} + +func raceReleaseMerge(addr unsafe.Pointer) { + runtime.RaceReleaseMerge(addr) +} + +func raceReadRange(addr unsafe.Pointer, len int) { + runtime.RaceReadRange(addr, len) +} + +func raceWriteRange(addr unsafe.Pointer, len int) { + runtime.RaceWriteRange(addr, len) +} diff --git a/vendor/golang.org/x/sys/windows/race0.go b/vendor/golang.org/x/sys/windows/race0.go new file mode 100644 index 00000000..e44a3cbf --- /dev/null +++ b/vendor/golang.org/x/sys/windows/race0.go @@ -0,0 +1,25 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows,!race + +package windows + +import ( + "unsafe" +) + +const raceenabled = false + +func raceAcquire(addr unsafe.Pointer) { +} + +func raceReleaseMerge(addr unsafe.Pointer) { +} + +func raceReadRange(addr unsafe.Pointer, len int) { +} + +func raceWriteRange(addr unsafe.Pointer, len int) { +} diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go new file mode 100644 index 00000000..c605ee6a --- /dev/null +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -0,0 +1,1396 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +import ( + "syscall" + "unsafe" +) + +const ( + NameUnknown = 0 + NameFullyQualifiedDN = 1 + NameSamCompatible = 2 + NameDisplay = 3 + NameUniqueId = 6 + NameCanonical = 7 + NameUserPrincipal = 8 + NameCanonicalEx = 9 + NameServicePrincipal = 10 + NameDnsDomain = 12 +) + +// This function returns 1 byte BOOLEAN rather than the 4 byte BOOL. +// http://blogs.msdn.com/b/drnick/archive/2007/12/19/windows-and-upn-format-credentials.aspx +//sys TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.TranslateNameW +//sys GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.GetUserNameExW + +// TranslateAccountName converts a directory service +// object name from one format to another. +func TranslateAccountName(username string, from, to uint32, initSize int) (string, error) { + u, e := UTF16PtrFromString(username) + if e != nil { + return "", e + } + n := uint32(50) + for { + b := make([]uint16, n) + e = TranslateName(u, from, to, &b[0], &n) + if e == nil { + return UTF16ToString(b[:n]), nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return "", e + } + if n <= uint32(len(b)) { + return "", e + } + } +} + +const ( + // do not reorder + NetSetupUnknownStatus = iota + NetSetupUnjoined + NetSetupWorkgroupName + NetSetupDomainName +) + +type UserInfo10 struct { + Name *uint16 + Comment *uint16 + UsrComment *uint16 + FullName *uint16 +} + +//sys NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) = netapi32.NetUserGetInfo +//sys NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) = netapi32.NetGetJoinInformation +//sys NetApiBufferFree(buf *byte) (neterr error) = netapi32.NetApiBufferFree + +const ( + // do not reorder + SidTypeUser = 1 + iota + SidTypeGroup + SidTypeDomain + SidTypeAlias + SidTypeWellKnownGroup + SidTypeDeletedAccount + SidTypeInvalid + SidTypeUnknown + SidTypeComputer + SidTypeLabel +) + +type SidIdentifierAuthority struct { + Value [6]byte +} + +var ( + SECURITY_NULL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 0}} + SECURITY_WORLD_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 1}} + SECURITY_LOCAL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 2}} + SECURITY_CREATOR_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 3}} + SECURITY_NON_UNIQUE_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 4}} + SECURITY_NT_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 5}} + SECURITY_MANDATORY_LABEL_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 16}} +) + +const ( + SECURITY_NULL_RID = 0 + SECURITY_WORLD_RID = 0 + SECURITY_LOCAL_RID = 0 + SECURITY_CREATOR_OWNER_RID = 0 + SECURITY_CREATOR_GROUP_RID = 1 + SECURITY_DIALUP_RID = 1 + SECURITY_NETWORK_RID = 2 + SECURITY_BATCH_RID = 3 + SECURITY_INTERACTIVE_RID = 4 + SECURITY_LOGON_IDS_RID = 5 + SECURITY_SERVICE_RID = 6 + SECURITY_LOCAL_SYSTEM_RID = 18 + SECURITY_BUILTIN_DOMAIN_RID = 32 + SECURITY_PRINCIPAL_SELF_RID = 10 + SECURITY_CREATOR_OWNER_SERVER_RID = 0x2 + SECURITY_CREATOR_GROUP_SERVER_RID = 0x3 + SECURITY_LOGON_IDS_RID_COUNT = 0x3 + SECURITY_ANONYMOUS_LOGON_RID = 0x7 + SECURITY_PROXY_RID = 0x8 + SECURITY_ENTERPRISE_CONTROLLERS_RID = 0x9 + SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID + SECURITY_AUTHENTICATED_USER_RID = 0xb + SECURITY_RESTRICTED_CODE_RID = 0xc + SECURITY_NT_NON_UNIQUE_RID = 0x15 +) + +// Predefined domain-relative RIDs for local groups. +// See https://msdn.microsoft.com/en-us/library/windows/desktop/aa379649(v=vs.85).aspx +const ( + DOMAIN_ALIAS_RID_ADMINS = 0x220 + DOMAIN_ALIAS_RID_USERS = 0x221 + DOMAIN_ALIAS_RID_GUESTS = 0x222 + DOMAIN_ALIAS_RID_POWER_USERS = 0x223 + DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x224 + DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x225 + DOMAIN_ALIAS_RID_PRINT_OPS = 0x226 + DOMAIN_ALIAS_RID_BACKUP_OPS = 0x227 + DOMAIN_ALIAS_RID_REPLICATOR = 0x228 + DOMAIN_ALIAS_RID_RAS_SERVERS = 0x229 + DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x22a + DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x22b + DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x22c + DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS = 0x22d + DOMAIN_ALIAS_RID_MONITORING_USERS = 0x22e + DOMAIN_ALIAS_RID_LOGGING_USERS = 0x22f + DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS = 0x230 + DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS = 0x231 + DOMAIN_ALIAS_RID_DCOM_USERS = 0x232 + DOMAIN_ALIAS_RID_IUSERS = 0x238 + DOMAIN_ALIAS_RID_CRYPTO_OPERATORS = 0x239 + DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP = 0x23b + DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP = 0x23c + DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP = 0x23d + DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP = 0x23e +) + +//sys LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountSidW +//sys LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountNameW +//sys ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) = advapi32.ConvertSidToStringSidW +//sys ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) = advapi32.ConvertStringSidToSidW +//sys GetLengthSid(sid *SID) (len uint32) = advapi32.GetLengthSid +//sys CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) = advapi32.CopySid +//sys AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) = advapi32.AllocateAndInitializeSid +//sys createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) = advapi32.CreateWellKnownSid +//sys isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) = advapi32.IsWellKnownSid +//sys FreeSid(sid *SID) (err error) [failretval!=0] = advapi32.FreeSid +//sys EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) = advapi32.EqualSid +//sys getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) = advapi32.GetSidIdentifierAuthority +//sys getSidSubAuthorityCount(sid *SID) (count *uint8) = advapi32.GetSidSubAuthorityCount +//sys getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) = advapi32.GetSidSubAuthority +//sys isValidSid(sid *SID) (isValid bool) = advapi32.IsValidSid + +// The security identifier (SID) structure is a variable-length +// structure used to uniquely identify users or groups. +type SID struct{} + +// StringToSid converts a string-format security identifier +// SID into a valid, functional SID. +func StringToSid(s string) (*SID, error) { + var sid *SID + p, e := UTF16PtrFromString(s) + if e != nil { + return nil, e + } + e = ConvertStringSidToSid(p, &sid) + if e != nil { + return nil, e + } + defer LocalFree((Handle)(unsafe.Pointer(sid))) + return sid.Copy() +} + +// LookupSID retrieves a security identifier SID for the account +// and the name of the domain on which the account was found. +// System specify target computer to search. +func LookupSID(system, account string) (sid *SID, domain string, accType uint32, err error) { + if len(account) == 0 { + return nil, "", 0, syscall.EINVAL + } + acc, e := UTF16PtrFromString(account) + if e != nil { + return nil, "", 0, e + } + var sys *uint16 + if len(system) > 0 { + sys, e = UTF16PtrFromString(system) + if e != nil { + return nil, "", 0, e + } + } + n := uint32(50) + dn := uint32(50) + for { + b := make([]byte, n) + db := make([]uint16, dn) + sid = (*SID)(unsafe.Pointer(&b[0])) + e = LookupAccountName(sys, acc, sid, &n, &db[0], &dn, &accType) + if e == nil { + return sid, UTF16ToString(db), accType, nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return nil, "", 0, e + } + if n <= uint32(len(b)) { + return nil, "", 0, e + } + } +} + +// String converts SID to a string format suitable for display, storage, or transmission. +func (sid *SID) String() string { + var s *uint16 + e := ConvertSidToStringSid(sid, &s) + if e != nil { + return "" + } + defer LocalFree((Handle)(unsafe.Pointer(s))) + return UTF16ToString((*[(1 << 30) - 1]uint16)(unsafe.Pointer(s))[:]) +} + +// Len returns the length, in bytes, of a valid security identifier SID. +func (sid *SID) Len() int { + return int(GetLengthSid(sid)) +} + +// Copy creates a duplicate of security identifier SID. +func (sid *SID) Copy() (*SID, error) { + b := make([]byte, sid.Len()) + sid2 := (*SID)(unsafe.Pointer(&b[0])) + e := CopySid(uint32(len(b)), sid2, sid) + if e != nil { + return nil, e + } + return sid2, nil +} + +// IdentifierAuthority returns the identifier authority of the SID. +func (sid *SID) IdentifierAuthority() SidIdentifierAuthority { + return *getSidIdentifierAuthority(sid) +} + +// SubAuthorityCount returns the number of sub-authorities in the SID. +func (sid *SID) SubAuthorityCount() uint8 { + return *getSidSubAuthorityCount(sid) +} + +// SubAuthority returns the sub-authority of the SID as specified by +// the index, which must be less than sid.SubAuthorityCount(). +func (sid *SID) SubAuthority(idx uint32) uint32 { + if idx >= uint32(sid.SubAuthorityCount()) { + panic("sub-authority index out of range") + } + return *getSidSubAuthority(sid, idx) +} + +// IsValid returns whether the SID has a valid revision and length. +func (sid *SID) IsValid() bool { + return isValidSid(sid) +} + +// Equals compares two SIDs for equality. +func (sid *SID) Equals(sid2 *SID) bool { + return EqualSid(sid, sid2) +} + +// IsWellKnown determines whether the SID matches the well-known sidType. +func (sid *SID) IsWellKnown(sidType WELL_KNOWN_SID_TYPE) bool { + return isWellKnownSid(sid, sidType) +} + +// LookupAccount retrieves the name of the account for this SID +// and the name of the first domain on which this SID is found. +// System specify target computer to search for. +func (sid *SID) LookupAccount(system string) (account, domain string, accType uint32, err error) { + var sys *uint16 + if len(system) > 0 { + sys, err = UTF16PtrFromString(system) + if err != nil { + return "", "", 0, err + } + } + n := uint32(50) + dn := uint32(50) + for { + b := make([]uint16, n) + db := make([]uint16, dn) + e := LookupAccountSid(sys, sid, &b[0], &n, &db[0], &dn, &accType) + if e == nil { + return UTF16ToString(b), UTF16ToString(db), accType, nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return "", "", 0, e + } + if n <= uint32(len(b)) { + return "", "", 0, e + } + } +} + +// Various types of pre-specified SIDs that can be synthesized and compared at runtime. +type WELL_KNOWN_SID_TYPE uint32 + +const ( + WinNullSid = 0 + WinWorldSid = 1 + WinLocalSid = 2 + WinCreatorOwnerSid = 3 + WinCreatorGroupSid = 4 + WinCreatorOwnerServerSid = 5 + WinCreatorGroupServerSid = 6 + WinNtAuthoritySid = 7 + WinDialupSid = 8 + WinNetworkSid = 9 + WinBatchSid = 10 + WinInteractiveSid = 11 + WinServiceSid = 12 + WinAnonymousSid = 13 + WinProxySid = 14 + WinEnterpriseControllersSid = 15 + WinSelfSid = 16 + WinAuthenticatedUserSid = 17 + WinRestrictedCodeSid = 18 + WinTerminalServerSid = 19 + WinRemoteLogonIdSid = 20 + WinLogonIdsSid = 21 + WinLocalSystemSid = 22 + WinLocalServiceSid = 23 + WinNetworkServiceSid = 24 + WinBuiltinDomainSid = 25 + WinBuiltinAdministratorsSid = 26 + WinBuiltinUsersSid = 27 + WinBuiltinGuestsSid = 28 + WinBuiltinPowerUsersSid = 29 + WinBuiltinAccountOperatorsSid = 30 + WinBuiltinSystemOperatorsSid = 31 + WinBuiltinPrintOperatorsSid = 32 + WinBuiltinBackupOperatorsSid = 33 + WinBuiltinReplicatorSid = 34 + WinBuiltinPreWindows2000CompatibleAccessSid = 35 + WinBuiltinRemoteDesktopUsersSid = 36 + WinBuiltinNetworkConfigurationOperatorsSid = 37 + WinAccountAdministratorSid = 38 + WinAccountGuestSid = 39 + WinAccountKrbtgtSid = 40 + WinAccountDomainAdminsSid = 41 + WinAccountDomainUsersSid = 42 + WinAccountDomainGuestsSid = 43 + WinAccountComputersSid = 44 + WinAccountControllersSid = 45 + WinAccountCertAdminsSid = 46 + WinAccountSchemaAdminsSid = 47 + WinAccountEnterpriseAdminsSid = 48 + WinAccountPolicyAdminsSid = 49 + WinAccountRasAndIasServersSid = 50 + WinNTLMAuthenticationSid = 51 + WinDigestAuthenticationSid = 52 + WinSChannelAuthenticationSid = 53 + WinThisOrganizationSid = 54 + WinOtherOrganizationSid = 55 + WinBuiltinIncomingForestTrustBuildersSid = 56 + WinBuiltinPerfMonitoringUsersSid = 57 + WinBuiltinPerfLoggingUsersSid = 58 + WinBuiltinAuthorizationAccessSid = 59 + WinBuiltinTerminalServerLicenseServersSid = 60 + WinBuiltinDCOMUsersSid = 61 + WinBuiltinIUsersSid = 62 + WinIUserSid = 63 + WinBuiltinCryptoOperatorsSid = 64 + WinUntrustedLabelSid = 65 + WinLowLabelSid = 66 + WinMediumLabelSid = 67 + WinHighLabelSid = 68 + WinSystemLabelSid = 69 + WinWriteRestrictedCodeSid = 70 + WinCreatorOwnerRightsSid = 71 + WinCacheablePrincipalsGroupSid = 72 + WinNonCacheablePrincipalsGroupSid = 73 + WinEnterpriseReadonlyControllersSid = 74 + WinAccountReadonlyControllersSid = 75 + WinBuiltinEventLogReadersGroup = 76 + WinNewEnterpriseReadonlyControllersSid = 77 + WinBuiltinCertSvcDComAccessGroup = 78 + WinMediumPlusLabelSid = 79 + WinLocalLogonSid = 80 + WinConsoleLogonSid = 81 + WinThisOrganizationCertificateSid = 82 + WinApplicationPackageAuthoritySid = 83 + WinBuiltinAnyPackageSid = 84 + WinCapabilityInternetClientSid = 85 + WinCapabilityInternetClientServerSid = 86 + WinCapabilityPrivateNetworkClientServerSid = 87 + WinCapabilityPicturesLibrarySid = 88 + WinCapabilityVideosLibrarySid = 89 + WinCapabilityMusicLibrarySid = 90 + WinCapabilityDocumentsLibrarySid = 91 + WinCapabilitySharedUserCertificatesSid = 92 + WinCapabilityEnterpriseAuthenticationSid = 93 + WinCapabilityRemovableStorageSid = 94 + WinBuiltinRDSRemoteAccessServersSid = 95 + WinBuiltinRDSEndpointServersSid = 96 + WinBuiltinRDSManagementServersSid = 97 + WinUserModeDriversSid = 98 + WinBuiltinHyperVAdminsSid = 99 + WinAccountCloneableControllersSid = 100 + WinBuiltinAccessControlAssistanceOperatorsSid = 101 + WinBuiltinRemoteManagementUsersSid = 102 + WinAuthenticationAuthorityAssertedSid = 103 + WinAuthenticationServiceAssertedSid = 104 + WinLocalAccountSid = 105 + WinLocalAccountAndAdministratorSid = 106 + WinAccountProtectedUsersSid = 107 + WinCapabilityAppointmentsSid = 108 + WinCapabilityContactsSid = 109 + WinAccountDefaultSystemManagedSid = 110 + WinBuiltinDefaultSystemManagedGroupSid = 111 + WinBuiltinStorageReplicaAdminsSid = 112 + WinAccountKeyAdminsSid = 113 + WinAccountEnterpriseKeyAdminsSid = 114 + WinAuthenticationKeyTrustSid = 115 + WinAuthenticationKeyPropertyMFASid = 116 + WinAuthenticationKeyPropertyAttestationSid = 117 + WinAuthenticationFreshKeyAuthSid = 118 + WinBuiltinDeviceOwnersSid = 119 +) + +// Creates a SID for a well-known predefined alias, generally using the constants of the form +// Win*Sid, for the local machine. +func CreateWellKnownSid(sidType WELL_KNOWN_SID_TYPE) (*SID, error) { + return CreateWellKnownDomainSid(sidType, nil) +} + +// Creates a SID for a well-known predefined alias, generally using the constants of the form +// Win*Sid, for the domain specified by the domainSid parameter. +func CreateWellKnownDomainSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID) (*SID, error) { + n := uint32(50) + for { + b := make([]byte, n) + sid := (*SID)(unsafe.Pointer(&b[0])) + err := createWellKnownSid(sidType, domainSid, sid, &n) + if err == nil { + return sid, nil + } + if err != ERROR_INSUFFICIENT_BUFFER { + return nil, err + } + if n <= uint32(len(b)) { + return nil, err + } + } +} + +const ( + // do not reorder + TOKEN_ASSIGN_PRIMARY = 1 << iota + TOKEN_DUPLICATE + TOKEN_IMPERSONATE + TOKEN_QUERY + TOKEN_QUERY_SOURCE + TOKEN_ADJUST_PRIVILEGES + TOKEN_ADJUST_GROUPS + TOKEN_ADJUST_DEFAULT + TOKEN_ADJUST_SESSIONID + + TOKEN_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | + TOKEN_ASSIGN_PRIMARY | + TOKEN_DUPLICATE | + TOKEN_IMPERSONATE | + TOKEN_QUERY | + TOKEN_QUERY_SOURCE | + TOKEN_ADJUST_PRIVILEGES | + TOKEN_ADJUST_GROUPS | + TOKEN_ADJUST_DEFAULT | + TOKEN_ADJUST_SESSIONID + TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY + TOKEN_WRITE = STANDARD_RIGHTS_WRITE | + TOKEN_ADJUST_PRIVILEGES | + TOKEN_ADJUST_GROUPS | + TOKEN_ADJUST_DEFAULT + TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE +) + +const ( + // do not reorder + TokenUser = 1 + iota + TokenGroups + TokenPrivileges + TokenOwner + TokenPrimaryGroup + TokenDefaultDacl + TokenSource + TokenType + TokenImpersonationLevel + TokenStatistics + TokenRestrictedSids + TokenSessionId + TokenGroupsAndPrivileges + TokenSessionReference + TokenSandBoxInert + TokenAuditPolicy + TokenOrigin + TokenElevationType + TokenLinkedToken + TokenElevation + TokenHasRestrictions + TokenAccessInformation + TokenVirtualizationAllowed + TokenVirtualizationEnabled + TokenIntegrityLevel + TokenUIAccess + TokenMandatoryPolicy + TokenLogonSid + MaxTokenInfoClass +) + +// Group attributes inside of Tokengroups.Groups[i].Attributes +const ( + SE_GROUP_MANDATORY = 0x00000001 + SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 + SE_GROUP_ENABLED = 0x00000004 + SE_GROUP_OWNER = 0x00000008 + SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 + SE_GROUP_INTEGRITY = 0x00000020 + SE_GROUP_INTEGRITY_ENABLED = 0x00000040 + SE_GROUP_LOGON_ID = 0xC0000000 + SE_GROUP_RESOURCE = 0x20000000 + SE_GROUP_VALID_ATTRIBUTES = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_ENABLED | SE_GROUP_OWNER | SE_GROUP_USE_FOR_DENY_ONLY | SE_GROUP_LOGON_ID | SE_GROUP_RESOURCE | SE_GROUP_INTEGRITY | SE_GROUP_INTEGRITY_ENABLED +) + +// Privilege attributes +const ( + SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001 + SE_PRIVILEGE_ENABLED = 0x00000002 + SE_PRIVILEGE_REMOVED = 0x00000004 + SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000 + SE_PRIVILEGE_VALID_ATTRIBUTES = SE_PRIVILEGE_ENABLED_BY_DEFAULT | SE_PRIVILEGE_ENABLED | SE_PRIVILEGE_REMOVED | SE_PRIVILEGE_USED_FOR_ACCESS +) + +// Token types +const ( + TokenPrimary = 1 + TokenImpersonation = 2 +) + +// Impersonation levels +const ( + SecurityAnonymous = 0 + SecurityIdentification = 1 + SecurityImpersonation = 2 + SecurityDelegation = 3 +) + +type LUID struct { + LowPart uint32 + HighPart int32 +} + +type LUIDAndAttributes struct { + Luid LUID + Attributes uint32 +} + +type SIDAndAttributes struct { + Sid *SID + Attributes uint32 +} + +type Tokenuser struct { + User SIDAndAttributes +} + +type Tokenprimarygroup struct { + PrimaryGroup *SID +} + +type Tokengroups struct { + GroupCount uint32 + Groups [1]SIDAndAttributes // Use AllGroups() for iterating. +} + +// AllGroups returns a slice that can be used to iterate over the groups in g. +func (g *Tokengroups) AllGroups() []SIDAndAttributes { + return (*[(1 << 28) - 1]SIDAndAttributes)(unsafe.Pointer(&g.Groups[0]))[:g.GroupCount:g.GroupCount] +} + +type Tokenprivileges struct { + PrivilegeCount uint32 + Privileges [1]LUIDAndAttributes // Use AllPrivileges() for iterating. +} + +// AllPrivileges returns a slice that can be used to iterate over the privileges in p. +func (p *Tokenprivileges) AllPrivileges() []LUIDAndAttributes { + return (*[(1 << 27) - 1]LUIDAndAttributes)(unsafe.Pointer(&p.Privileges[0]))[:p.PrivilegeCount:p.PrivilegeCount] +} + +type Tokenmandatorylabel struct { + Label SIDAndAttributes +} + +func (tml *Tokenmandatorylabel) Size() uint32 { + return uint32(unsafe.Sizeof(Tokenmandatorylabel{})) + GetLengthSid(tml.Label.Sid) +} + +// Authorization Functions +//sys checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) = advapi32.CheckTokenMembership +//sys OpenProcessToken(process Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken +//sys OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) = advapi32.OpenThreadToken +//sys ImpersonateSelf(impersonationlevel uint32) (err error) = advapi32.ImpersonateSelf +//sys RevertToSelf() (err error) = advapi32.RevertToSelf +//sys SetThreadToken(thread *Handle, token Token) (err error) = advapi32.SetThreadToken +//sys LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) = advapi32.LookupPrivilegeValueW +//sys AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) = advapi32.AdjustTokenPrivileges +//sys AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) = advapi32.AdjustTokenGroups +//sys GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) = advapi32.GetTokenInformation +//sys SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) = advapi32.SetTokenInformation +//sys DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) = advapi32.DuplicateTokenEx +//sys GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) = userenv.GetUserProfileDirectoryW +//sys getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemDirectoryW +//sys getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetWindowsDirectoryW +//sys getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemWindowsDirectoryW + +// An access token contains the security information for a logon session. +// The system creates an access token when a user logs on, and every +// process executed on behalf of the user has a copy of the token. +// The token identifies the user, the user's groups, and the user's +// privileges. The system uses the token to control access to securable +// objects and to control the ability of the user to perform various +// system-related operations on the local computer. +type Token Handle + +// OpenCurrentProcessToken opens an access token associated with current +// process with TOKEN_QUERY access. It is a real token that needs to be closed. +// +// Deprecated: Explicitly call OpenProcessToken(CurrentProcess(), ...) +// with the desired access instead, or use GetCurrentProcessToken for a +// TOKEN_QUERY token. +func OpenCurrentProcessToken() (Token, error) { + var token Token + err := OpenProcessToken(CurrentProcess(), TOKEN_QUERY, &token) + return token, err +} + +// GetCurrentProcessToken returns the access token associated with +// the current process. It is a pseudo token that does not need +// to be closed. +func GetCurrentProcessToken() Token { + return Token(^uintptr(4 - 1)) +} + +// GetCurrentThreadToken return the access token associated with +// the current thread. It is a pseudo token that does not need +// to be closed. +func GetCurrentThreadToken() Token { + return Token(^uintptr(5 - 1)) +} + +// GetCurrentThreadEffectiveToken returns the effective access token +// associated with the current thread. It is a pseudo token that does +// not need to be closed. +func GetCurrentThreadEffectiveToken() Token { + return Token(^uintptr(6 - 1)) +} + +// Close releases access to access token. +func (t Token) Close() error { + return CloseHandle(Handle(t)) +} + +// getInfo retrieves a specified type of information about an access token. +func (t Token) getInfo(class uint32, initSize int) (unsafe.Pointer, error) { + n := uint32(initSize) + for { + b := make([]byte, n) + e := GetTokenInformation(t, class, &b[0], uint32(len(b)), &n) + if e == nil { + return unsafe.Pointer(&b[0]), nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return nil, e + } + if n <= uint32(len(b)) { + return nil, e + } + } +} + +// GetTokenUser retrieves access token t user account information. +func (t Token) GetTokenUser() (*Tokenuser, error) { + i, e := t.getInfo(TokenUser, 50) + if e != nil { + return nil, e + } + return (*Tokenuser)(i), nil +} + +// GetTokenGroups retrieves group accounts associated with access token t. +func (t Token) GetTokenGroups() (*Tokengroups, error) { + i, e := t.getInfo(TokenGroups, 50) + if e != nil { + return nil, e + } + return (*Tokengroups)(i), nil +} + +// GetTokenPrimaryGroup retrieves access token t primary group information. +// A pointer to a SID structure representing a group that will become +// the primary group of any objects created by a process using this access token. +func (t Token) GetTokenPrimaryGroup() (*Tokenprimarygroup, error) { + i, e := t.getInfo(TokenPrimaryGroup, 50) + if e != nil { + return nil, e + } + return (*Tokenprimarygroup)(i), nil +} + +// GetUserProfileDirectory retrieves path to the +// root directory of the access token t user's profile. +func (t Token) GetUserProfileDirectory() (string, error) { + n := uint32(100) + for { + b := make([]uint16, n) + e := GetUserProfileDirectory(t, &b[0], &n) + if e == nil { + return UTF16ToString(b), nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return "", e + } + if n <= uint32(len(b)) { + return "", e + } + } +} + +// IsElevated returns whether the current token is elevated from a UAC perspective. +func (token Token) IsElevated() bool { + var isElevated uint32 + var outLen uint32 + err := GetTokenInformation(token, TokenElevation, (*byte)(unsafe.Pointer(&isElevated)), uint32(unsafe.Sizeof(isElevated)), &outLen) + if err != nil { + return false + } + return outLen == uint32(unsafe.Sizeof(isElevated)) && isElevated != 0 +} + +// GetLinkedToken returns the linked token, which may be an elevated UAC token. +func (token Token) GetLinkedToken() (Token, error) { + var linkedToken Token + var outLen uint32 + err := GetTokenInformation(token, TokenLinkedToken, (*byte)(unsafe.Pointer(&linkedToken)), uint32(unsafe.Sizeof(linkedToken)), &outLen) + if err != nil { + return Token(0), err + } + return linkedToken, nil +} + +// GetSystemDirectory retrieves the path to current location of the system +// directory, which is typically, though not always, `C:\Windows\System32`. +func GetSystemDirectory() (string, error) { + n := uint32(MAX_PATH) + for { + b := make([]uint16, n) + l, e := getSystemDirectory(&b[0], n) + if e != nil { + return "", e + } + if l <= n { + return UTF16ToString(b[:l]), nil + } + n = l + } +} + +// GetWindowsDirectory retrieves the path to current location of the Windows +// directory, which is typically, though not always, `C:\Windows`. This may +// be a private user directory in the case that the application is running +// under a terminal server. +func GetWindowsDirectory() (string, error) { + n := uint32(MAX_PATH) + for { + b := make([]uint16, n) + l, e := getWindowsDirectory(&b[0], n) + if e != nil { + return "", e + } + if l <= n { + return UTF16ToString(b[:l]), nil + } + n = l + } +} + +// GetSystemWindowsDirectory retrieves the path to current location of the +// Windows directory, which is typically, though not always, `C:\Windows`. +func GetSystemWindowsDirectory() (string, error) { + n := uint32(MAX_PATH) + for { + b := make([]uint16, n) + l, e := getSystemWindowsDirectory(&b[0], n) + if e != nil { + return "", e + } + if l <= n { + return UTF16ToString(b[:l]), nil + } + n = l + } +} + +// IsMember reports whether the access token t is a member of the provided SID. +func (t Token) IsMember(sid *SID) (bool, error) { + var b int32 + if e := checkTokenMembership(t, sid, &b); e != nil { + return false, e + } + return b != 0, nil +} + +const ( + WTS_CONSOLE_CONNECT = 0x1 + WTS_CONSOLE_DISCONNECT = 0x2 + WTS_REMOTE_CONNECT = 0x3 + WTS_REMOTE_DISCONNECT = 0x4 + WTS_SESSION_LOGON = 0x5 + WTS_SESSION_LOGOFF = 0x6 + WTS_SESSION_LOCK = 0x7 + WTS_SESSION_UNLOCK = 0x8 + WTS_SESSION_REMOTE_CONTROL = 0x9 + WTS_SESSION_CREATE = 0xa + WTS_SESSION_TERMINATE = 0xb +) + +const ( + WTSActive = 0 + WTSConnected = 1 + WTSConnectQuery = 2 + WTSShadow = 3 + WTSDisconnected = 4 + WTSIdle = 5 + WTSListen = 6 + WTSReset = 7 + WTSDown = 8 + WTSInit = 9 +) + +type WTSSESSION_NOTIFICATION struct { + Size uint32 + SessionID uint32 +} + +type WTS_SESSION_INFO struct { + SessionID uint32 + WindowStationName *uint16 + State uint32 +} + +//sys WTSQueryUserToken(session uint32, token *Token) (err error) = wtsapi32.WTSQueryUserToken +//sys WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) = wtsapi32.WTSEnumerateSessionsW +//sys WTSFreeMemory(ptr uintptr) = wtsapi32.WTSFreeMemory + +type ACL struct { + aclRevision byte + sbz1 byte + aclSize uint16 + aceCount uint16 + sbz2 uint16 +} + +type SECURITY_DESCRIPTOR struct { + revision byte + sbz1 byte + control SECURITY_DESCRIPTOR_CONTROL + owner *SID + group *SID + sacl *ACL + dacl *ACL +} + +type SecurityAttributes struct { + Length uint32 + SecurityDescriptor *SECURITY_DESCRIPTOR + InheritHandle uint32 +} + +type SE_OBJECT_TYPE uint32 + +// Constants for type SE_OBJECT_TYPE +const ( + SE_UNKNOWN_OBJECT_TYPE = 0 + SE_FILE_OBJECT = 1 + SE_SERVICE = 2 + SE_PRINTER = 3 + SE_REGISTRY_KEY = 4 + SE_LMSHARE = 5 + SE_KERNEL_OBJECT = 6 + SE_WINDOW_OBJECT = 7 + SE_DS_OBJECT = 8 + SE_DS_OBJECT_ALL = 9 + SE_PROVIDER_DEFINED_OBJECT = 10 + SE_WMIGUID_OBJECT = 11 + SE_REGISTRY_WOW64_32KEY = 12 + SE_REGISTRY_WOW64_64KEY = 13 +) + +type SECURITY_INFORMATION uint32 + +// Constants for type SECURITY_INFORMATION +const ( + OWNER_SECURITY_INFORMATION = 0x00000001 + GROUP_SECURITY_INFORMATION = 0x00000002 + DACL_SECURITY_INFORMATION = 0x00000004 + SACL_SECURITY_INFORMATION = 0x00000008 + LABEL_SECURITY_INFORMATION = 0x00000010 + ATTRIBUTE_SECURITY_INFORMATION = 0x00000020 + SCOPE_SECURITY_INFORMATION = 0x00000040 + BACKUP_SECURITY_INFORMATION = 0x00010000 + PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000 + PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000 + UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000 + UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000 +) + +type SECURITY_DESCRIPTOR_CONTROL uint16 + +// Constants for type SECURITY_DESCRIPTOR_CONTROL +const ( + SE_OWNER_DEFAULTED = 0x0001 + SE_GROUP_DEFAULTED = 0x0002 + SE_DACL_PRESENT = 0x0004 + SE_DACL_DEFAULTED = 0x0008 + SE_SACL_PRESENT = 0x0010 + SE_SACL_DEFAULTED = 0x0020 + SE_DACL_AUTO_INHERIT_REQ = 0x0100 + SE_SACL_AUTO_INHERIT_REQ = 0x0200 + SE_DACL_AUTO_INHERITED = 0x0400 + SE_SACL_AUTO_INHERITED = 0x0800 + SE_DACL_PROTECTED = 0x1000 + SE_SACL_PROTECTED = 0x2000 + SE_RM_CONTROL_VALID = 0x4000 + SE_SELF_RELATIVE = 0x8000 +) + +type ACCESS_MASK uint32 + +// Constants for type ACCESS_MASK +const ( + DELETE = 0x00010000 + READ_CONTROL = 0x00020000 + WRITE_DAC = 0x00040000 + WRITE_OWNER = 0x00080000 + SYNCHRONIZE = 0x00100000 + STANDARD_RIGHTS_REQUIRED = 0x000F0000 + STANDARD_RIGHTS_READ = READ_CONTROL + STANDARD_RIGHTS_WRITE = READ_CONTROL + STANDARD_RIGHTS_EXECUTE = READ_CONTROL + STANDARD_RIGHTS_ALL = 0x001F0000 + SPECIFIC_RIGHTS_ALL = 0x0000FFFF + ACCESS_SYSTEM_SECURITY = 0x01000000 + MAXIMUM_ALLOWED = 0x02000000 + GENERIC_READ = 0x80000000 + GENERIC_WRITE = 0x40000000 + GENERIC_EXECUTE = 0x20000000 + GENERIC_ALL = 0x10000000 +) + +type ACCESS_MODE uint32 + +// Constants for type ACCESS_MODE +const ( + NOT_USED_ACCESS = 0 + GRANT_ACCESS = 1 + SET_ACCESS = 2 + DENY_ACCESS = 3 + REVOKE_ACCESS = 4 + SET_AUDIT_SUCCESS = 5 + SET_AUDIT_FAILURE = 6 +) + +// Constants for AceFlags and Inheritance fields +const ( + NO_INHERITANCE = 0x0 + SUB_OBJECTS_ONLY_INHERIT = 0x1 + SUB_CONTAINERS_ONLY_INHERIT = 0x2 + SUB_CONTAINERS_AND_OBJECTS_INHERIT = 0x3 + INHERIT_NO_PROPAGATE = 0x4 + INHERIT_ONLY = 0x8 + INHERITED_ACCESS_ENTRY = 0x10 + INHERITED_PARENT = 0x10000000 + INHERITED_GRANDPARENT = 0x20000000 + OBJECT_INHERIT_ACE = 0x1 + CONTAINER_INHERIT_ACE = 0x2 + NO_PROPAGATE_INHERIT_ACE = 0x4 + INHERIT_ONLY_ACE = 0x8 + INHERITED_ACE = 0x10 + VALID_INHERIT_FLAGS = 0x1F +) + +type MULTIPLE_TRUSTEE_OPERATION uint32 + +// Constants for MULTIPLE_TRUSTEE_OPERATION +const ( + NO_MULTIPLE_TRUSTEE = 0 + TRUSTEE_IS_IMPERSONATE = 1 +) + +type TRUSTEE_FORM uint32 + +// Constants for TRUSTEE_FORM +const ( + TRUSTEE_IS_SID = 0 + TRUSTEE_IS_NAME = 1 + TRUSTEE_BAD_FORM = 2 + TRUSTEE_IS_OBJECTS_AND_SID = 3 + TRUSTEE_IS_OBJECTS_AND_NAME = 4 +) + +type TRUSTEE_TYPE uint32 + +// Constants for TRUSTEE_TYPE +const ( + TRUSTEE_IS_UNKNOWN = 0 + TRUSTEE_IS_USER = 1 + TRUSTEE_IS_GROUP = 2 + TRUSTEE_IS_DOMAIN = 3 + TRUSTEE_IS_ALIAS = 4 + TRUSTEE_IS_WELL_KNOWN_GROUP = 5 + TRUSTEE_IS_DELETED = 6 + TRUSTEE_IS_INVALID = 7 + TRUSTEE_IS_COMPUTER = 8 +) + +// Constants for ObjectsPresent field +const ( + ACE_OBJECT_TYPE_PRESENT = 0x1 + ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x2 +) + +type EXPLICIT_ACCESS struct { + AccessPermissions ACCESS_MASK + AccessMode ACCESS_MODE + Inheritance uint32 + Trustee TRUSTEE +} + +// This type is the union inside of TRUSTEE and must be created using one of the TrusteeValueFrom* functions. +type TrusteeValue uintptr + +func TrusteeValueFromString(str string) TrusteeValue { + return TrusteeValue(unsafe.Pointer(StringToUTF16Ptr(str))) +} +func TrusteeValueFromSID(sid *SID) TrusteeValue { + return TrusteeValue(unsafe.Pointer(sid)) +} +func TrusteeValueFromObjectsAndSid(objectsAndSid *OBJECTS_AND_SID) TrusteeValue { + return TrusteeValue(unsafe.Pointer(objectsAndSid)) +} +func TrusteeValueFromObjectsAndName(objectsAndName *OBJECTS_AND_NAME) TrusteeValue { + return TrusteeValue(unsafe.Pointer(objectsAndName)) +} + +type TRUSTEE struct { + MultipleTrustee *TRUSTEE + MultipleTrusteeOperation MULTIPLE_TRUSTEE_OPERATION + TrusteeForm TRUSTEE_FORM + TrusteeType TRUSTEE_TYPE + TrusteeValue TrusteeValue +} + +type OBJECTS_AND_SID struct { + ObjectsPresent uint32 + ObjectTypeGuid GUID + InheritedObjectTypeGuid GUID + Sid *SID +} + +type OBJECTS_AND_NAME struct { + ObjectsPresent uint32 + ObjectType SE_OBJECT_TYPE + ObjectTypeName *uint16 + InheritedObjectTypeName *uint16 + Name *uint16 +} + +//sys getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetSecurityInfo +//sys SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) = advapi32.SetSecurityInfo +//sys getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetNamedSecurityInfoW +//sys SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetNamedSecurityInfoW + +//sys buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) = advapi32.BuildSecurityDescriptorW +//sys initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) = advapi32.InitializeSecurityDescriptor + +//sys getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) = advapi32.GetSecurityDescriptorControl +//sys getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorDacl +//sys getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorSacl +//sys getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorOwner +//sys getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) = advapi32.GetSecurityDescriptorGroup +//sys getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) = advapi32.GetSecurityDescriptorLength +//sys getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) [failretval!=0] = advapi32.GetSecurityDescriptorRMControl +//sys isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) = advapi32.IsValidSecurityDescriptor + +//sys setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) = advapi32.SetSecurityDescriptorControl +//sys setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorDacl +//sys setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) = advapi32.SetSecurityDescriptorSacl +//sys setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) = advapi32.SetSecurityDescriptorOwner +//sys setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) = advapi32.SetSecurityDescriptorGroup +//sys setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) = advapi32.SetSecurityDescriptorRMControl + +//sys convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) = advapi32.ConvertStringSecurityDescriptorToSecurityDescriptorW +//sys convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) = advapi32.ConvertSecurityDescriptorToStringSecurityDescriptorW + +//sys makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) = advapi32.MakeAbsoluteSD +//sys makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) = advapi32.MakeSelfRelativeSD + +//sys setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) = advapi32.SetEntriesInAclW + +// Control returns the security descriptor control bits. +func (sd *SECURITY_DESCRIPTOR) Control() (control SECURITY_DESCRIPTOR_CONTROL, revision uint32, err error) { + err = getSecurityDescriptorControl(sd, &control, &revision) + return +} + +// SetControl sets the security descriptor control bits. +func (sd *SECURITY_DESCRIPTOR) SetControl(controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) error { + return setSecurityDescriptorControl(sd, controlBitsOfInterest, controlBitsToSet) +} + +// RMControl returns the security descriptor resource manager control bits. +func (sd *SECURITY_DESCRIPTOR) RMControl() (control uint8, err error) { + err = getSecurityDescriptorRMControl(sd, &control) + return +} + +// SetRMControl sets the security descriptor resource manager control bits. +func (sd *SECURITY_DESCRIPTOR) SetRMControl(rmControl uint8) { + setSecurityDescriptorRMControl(sd, &rmControl) +} + +// DACL returns the security descriptor DACL and whether it was defaulted. The dacl return value may be nil +// if a DACL exists but is an "empty DACL", meaning fully permissive. If the DACL does not exist, err returns +// ERROR_OBJECT_NOT_FOUND. +func (sd *SECURITY_DESCRIPTOR) DACL() (dacl *ACL, defaulted bool, err error) { + var present bool + err = getSecurityDescriptorDacl(sd, &present, &dacl, &defaulted) + if !present { + err = ERROR_OBJECT_NOT_FOUND + } + return +} + +// SetDACL sets the absolute security descriptor DACL. +func (absoluteSD *SECURITY_DESCRIPTOR) SetDACL(dacl *ACL, present, defaulted bool) error { + return setSecurityDescriptorDacl(absoluteSD, present, dacl, defaulted) +} + +// SACL returns the security descriptor SACL and whether it was defaulted. The sacl return value may be nil +// if a SACL exists but is an "empty SACL", meaning fully permissive. If the SACL does not exist, err returns +// ERROR_OBJECT_NOT_FOUND. +func (sd *SECURITY_DESCRIPTOR) SACL() (sacl *ACL, defaulted bool, err error) { + var present bool + err = getSecurityDescriptorSacl(sd, &present, &sacl, &defaulted) + if !present { + err = ERROR_OBJECT_NOT_FOUND + } + return +} + +// SetSACL sets the absolute security descriptor SACL. +func (absoluteSD *SECURITY_DESCRIPTOR) SetSACL(sacl *ACL, present, defaulted bool) error { + return setSecurityDescriptorSacl(absoluteSD, present, sacl, defaulted) +} + +// Owner returns the security descriptor owner and whether it was defaulted. +func (sd *SECURITY_DESCRIPTOR) Owner() (owner *SID, defaulted bool, err error) { + err = getSecurityDescriptorOwner(sd, &owner, &defaulted) + return +} + +// SetOwner sets the absolute security descriptor owner. +func (absoluteSD *SECURITY_DESCRIPTOR) SetOwner(owner *SID, defaulted bool) error { + return setSecurityDescriptorOwner(absoluteSD, owner, defaulted) +} + +// Group returns the security descriptor group and whether it was defaulted. +func (sd *SECURITY_DESCRIPTOR) Group() (group *SID, defaulted bool, err error) { + err = getSecurityDescriptorGroup(sd, &group, &defaulted) + return +} + +// SetGroup sets the absolute security descriptor owner. +func (absoluteSD *SECURITY_DESCRIPTOR) SetGroup(group *SID, defaulted bool) error { + return setSecurityDescriptorGroup(absoluteSD, group, defaulted) +} + +// Length returns the length of the security descriptor. +func (sd *SECURITY_DESCRIPTOR) Length() uint32 { + return getSecurityDescriptorLength(sd) +} + +// IsValid returns whether the security descriptor is valid. +func (sd *SECURITY_DESCRIPTOR) IsValid() bool { + return isValidSecurityDescriptor(sd) +} + +// String returns the SDDL form of the security descriptor, with a function signature that can be +// used with %v formatting directives. +func (sd *SECURITY_DESCRIPTOR) String() string { + var sddl *uint16 + err := convertSecurityDescriptorToStringSecurityDescriptor(sd, 1, 0xff, &sddl, nil) + if err != nil { + return "" + } + defer LocalFree(Handle(unsafe.Pointer(sddl))) + return UTF16ToString((*[(1 << 30) - 1]uint16)(unsafe.Pointer(sddl))[:]) +} + +// ToAbsolute converts a self-relative security descriptor into an absolute one. +func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DESCRIPTOR, err error) { + control, _, err := selfRelativeSD.Control() + if err != nil { + return + } + if control&SE_SELF_RELATIVE == 0 { + err = ERROR_INVALID_PARAMETER + return + } + var absoluteSDSize, daclSize, saclSize, ownerSize, groupSize uint32 + err = makeAbsoluteSD(selfRelativeSD, nil, &absoluteSDSize, + nil, &daclSize, nil, &saclSize, nil, &ownerSize, nil, &groupSize) + switch err { + case ERROR_INSUFFICIENT_BUFFER: + case nil: + // makeAbsoluteSD is expected to fail, but it succeeds. + return nil, ERROR_INTERNAL_ERROR + default: + return nil, err + } + if absoluteSDSize > 0 { + absoluteSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, absoluteSDSize)[0])) + } + var ( + dacl *ACL + sacl *ACL + owner *SID + group *SID + ) + if daclSize > 0 { + dacl = (*ACL)(unsafe.Pointer(&make([]byte, daclSize)[0])) + } + if saclSize > 0 { + sacl = (*ACL)(unsafe.Pointer(&make([]byte, saclSize)[0])) + } + if ownerSize > 0 { + owner = (*SID)(unsafe.Pointer(&make([]byte, ownerSize)[0])) + } + if groupSize > 0 { + group = (*SID)(unsafe.Pointer(&make([]byte, groupSize)[0])) + } + err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize, + dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize) + return +} + +// ToSelfRelative converts an absolute security descriptor into a self-relative one. +func (absoluteSD *SECURITY_DESCRIPTOR) ToSelfRelative() (selfRelativeSD *SECURITY_DESCRIPTOR, err error) { + control, _, err := absoluteSD.Control() + if err != nil { + return + } + if control&SE_SELF_RELATIVE != 0 { + err = ERROR_INVALID_PARAMETER + return + } + var selfRelativeSDSize uint32 + err = makeSelfRelativeSD(absoluteSD, nil, &selfRelativeSDSize) + switch err { + case ERROR_INSUFFICIENT_BUFFER: + case nil: + // makeSelfRelativeSD is expected to fail, but it succeeds. + return nil, ERROR_INTERNAL_ERROR + default: + return nil, err + } + if selfRelativeSDSize > 0 { + selfRelativeSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, selfRelativeSDSize)[0])) + } + err = makeSelfRelativeSD(absoluteSD, selfRelativeSD, &selfRelativeSDSize) + return +} + +func (selfRelativeSD *SECURITY_DESCRIPTOR) copySelfRelativeSecurityDescriptor() *SECURITY_DESCRIPTOR { + sdBytes := make([]byte, selfRelativeSD.Length()) + copy(sdBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(selfRelativeSD))[:len(sdBytes)]) + return (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&sdBytes[0])) +} + +// SecurityDescriptorFromString converts an SDDL string describing a security descriptor into a +// self-relative security descriptor object allocated on the Go heap. +func SecurityDescriptorFromString(sddl string) (sd *SECURITY_DESCRIPTOR, err error) { + var winHeapSD *SECURITY_DESCRIPTOR + err = convertStringSecurityDescriptorToSecurityDescriptor(sddl, 1, &winHeapSD, nil) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) + return winHeapSD.copySelfRelativeSecurityDescriptor(), nil +} + +// GetSecurityInfo queries the security information for a given handle and returns the self-relative security +// descriptor result on the Go heap. +func GetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) { + var winHeapSD *SECURITY_DESCRIPTOR + err = getSecurityInfo(handle, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) + return winHeapSD.copySelfRelativeSecurityDescriptor(), nil +} + +// GetNamedSecurityInfo queries the security information for a given named object and returns the self-relative security +// descriptor result on the Go heap. +func GetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION) (sd *SECURITY_DESCRIPTOR, err error) { + var winHeapSD *SECURITY_DESCRIPTOR + err = getNamedSecurityInfo(objectName, objectType, securityInformation, nil, nil, nil, nil, &winHeapSD) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) + return winHeapSD.copySelfRelativeSecurityDescriptor(), nil +} + +// BuildSecurityDescriptor makes a new security descriptor using the input trustees, explicit access lists, and +// prior security descriptor to be merged, any of which can be nil, returning the self-relative security descriptor +// result on the Go heap. +func BuildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, accessEntries []EXPLICIT_ACCESS, auditEntries []EXPLICIT_ACCESS, mergedSecurityDescriptor *SECURITY_DESCRIPTOR) (sd *SECURITY_DESCRIPTOR, err error) { + var winHeapSD *SECURITY_DESCRIPTOR + var winHeapSDSize uint32 + var firstAccessEntry *EXPLICIT_ACCESS + if len(accessEntries) > 0 { + firstAccessEntry = &accessEntries[0] + } + var firstAuditEntry *EXPLICIT_ACCESS + if len(auditEntries) > 0 { + firstAuditEntry = &auditEntries[0] + } + err = buildSecurityDescriptor(owner, group, uint32(len(accessEntries)), firstAccessEntry, uint32(len(auditEntries)), firstAuditEntry, mergedSecurityDescriptor, &winHeapSDSize, &winHeapSD) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapSD))) + return winHeapSD.copySelfRelativeSecurityDescriptor(), nil +} + +// NewSecurityDescriptor creates and initializes a new absolute security descriptor. +func NewSecurityDescriptor() (absoluteSD *SECURITY_DESCRIPTOR, err error) { + absoluteSD = &SECURITY_DESCRIPTOR{} + err = initializeSecurityDescriptor(absoluteSD, 1) + return +} + +// ACLFromEntries returns a new ACL on the Go heap containing a list of explicit entries as well as those of another ACL. +// Both explicitEntries and mergedACL are optional and can be nil. +func ACLFromEntries(explicitEntries []EXPLICIT_ACCESS, mergedACL *ACL) (acl *ACL, err error) { + var firstExplicitEntry *EXPLICIT_ACCESS + if len(explicitEntries) > 0 { + firstExplicitEntry = &explicitEntries[0] + } + var winHeapACL *ACL + err = setEntriesInAcl(uint32(len(explicitEntries)), firstExplicitEntry, mergedACL, &winHeapACL) + if err != nil { + return + } + defer LocalFree(Handle(unsafe.Pointer(winHeapACL))) + aclBytes := make([]byte, winHeapACL.aclSize) + copy(aclBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(winHeapACL))[:len(aclBytes)]) + return (*ACL)(unsafe.Pointer(&aclBytes[0])), nil +} diff --git a/vendor/golang.org/x/sys/windows/service.go b/vendor/golang.org/x/sys/windows/service.go new file mode 100644 index 00000000..847e00bc --- /dev/null +++ b/vendor/golang.org/x/sys/windows/service.go @@ -0,0 +1,229 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +package windows + +const ( + SC_MANAGER_CONNECT = 1 + SC_MANAGER_CREATE_SERVICE = 2 + SC_MANAGER_ENUMERATE_SERVICE = 4 + SC_MANAGER_LOCK = 8 + SC_MANAGER_QUERY_LOCK_STATUS = 16 + SC_MANAGER_MODIFY_BOOT_CONFIG = 32 + SC_MANAGER_ALL_ACCESS = 0xf003f +) + +//sys OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenSCManagerW + +const ( + SERVICE_KERNEL_DRIVER = 1 + SERVICE_FILE_SYSTEM_DRIVER = 2 + SERVICE_ADAPTER = 4 + SERVICE_RECOGNIZER_DRIVER = 8 + SERVICE_WIN32_OWN_PROCESS = 16 + SERVICE_WIN32_SHARE_PROCESS = 32 + SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS + SERVICE_INTERACTIVE_PROCESS = 256 + SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER + SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS + + SERVICE_BOOT_START = 0 + SERVICE_SYSTEM_START = 1 + SERVICE_AUTO_START = 2 + SERVICE_DEMAND_START = 3 + SERVICE_DISABLED = 4 + + SERVICE_ERROR_IGNORE = 0 + SERVICE_ERROR_NORMAL = 1 + SERVICE_ERROR_SEVERE = 2 + SERVICE_ERROR_CRITICAL = 3 + + SC_STATUS_PROCESS_INFO = 0 + + SC_ACTION_NONE = 0 + SC_ACTION_RESTART = 1 + SC_ACTION_REBOOT = 2 + SC_ACTION_RUN_COMMAND = 3 + + SERVICE_STOPPED = 1 + SERVICE_START_PENDING = 2 + SERVICE_STOP_PENDING = 3 + SERVICE_RUNNING = 4 + SERVICE_CONTINUE_PENDING = 5 + SERVICE_PAUSE_PENDING = 6 + SERVICE_PAUSED = 7 + SERVICE_NO_CHANGE = 0xffffffff + + SERVICE_ACCEPT_STOP = 1 + SERVICE_ACCEPT_PAUSE_CONTINUE = 2 + SERVICE_ACCEPT_SHUTDOWN = 4 + SERVICE_ACCEPT_PARAMCHANGE = 8 + SERVICE_ACCEPT_NETBINDCHANGE = 16 + SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 32 + SERVICE_ACCEPT_POWEREVENT = 64 + SERVICE_ACCEPT_SESSIONCHANGE = 128 + + SERVICE_CONTROL_STOP = 1 + SERVICE_CONTROL_PAUSE = 2 + SERVICE_CONTROL_CONTINUE = 3 + SERVICE_CONTROL_INTERROGATE = 4 + SERVICE_CONTROL_SHUTDOWN = 5 + SERVICE_CONTROL_PARAMCHANGE = 6 + SERVICE_CONTROL_NETBINDADD = 7 + SERVICE_CONTROL_NETBINDREMOVE = 8 + SERVICE_CONTROL_NETBINDENABLE = 9 + SERVICE_CONTROL_NETBINDDISABLE = 10 + SERVICE_CONTROL_DEVICEEVENT = 11 + SERVICE_CONTROL_HARDWAREPROFILECHANGE = 12 + SERVICE_CONTROL_POWEREVENT = 13 + SERVICE_CONTROL_SESSIONCHANGE = 14 + + SERVICE_ACTIVE = 1 + SERVICE_INACTIVE = 2 + SERVICE_STATE_ALL = 3 + + SERVICE_QUERY_CONFIG = 1 + SERVICE_CHANGE_CONFIG = 2 + SERVICE_QUERY_STATUS = 4 + SERVICE_ENUMERATE_DEPENDENTS = 8 + SERVICE_START = 16 + SERVICE_STOP = 32 + SERVICE_PAUSE_CONTINUE = 64 + SERVICE_INTERROGATE = 128 + SERVICE_USER_DEFINED_CONTROL = 256 + SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL + + SERVICE_RUNS_IN_SYSTEM_PROCESS = 1 + + SERVICE_CONFIG_DESCRIPTION = 1 + SERVICE_CONFIG_FAILURE_ACTIONS = 2 + SERVICE_CONFIG_DELAYED_AUTO_START_INFO = 3 + SERVICE_CONFIG_FAILURE_ACTIONS_FLAG = 4 + SERVICE_CONFIG_SERVICE_SID_INFO = 5 + SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO = 6 + SERVICE_CONFIG_PRESHUTDOWN_INFO = 7 + SERVICE_CONFIG_TRIGGER_INFO = 8 + SERVICE_CONFIG_PREFERRED_NODE = 9 + SERVICE_CONFIG_LAUNCH_PROTECTED = 12 + + SERVICE_SID_TYPE_NONE = 0 + SERVICE_SID_TYPE_UNRESTRICTED = 1 + SERVICE_SID_TYPE_RESTRICTED = 2 | SERVICE_SID_TYPE_UNRESTRICTED + + SC_ENUM_PROCESS_INFO = 0 + + SERVICE_NOTIFY_STATUS_CHANGE = 2 + SERVICE_NOTIFY_STOPPED = 0x00000001 + SERVICE_NOTIFY_START_PENDING = 0x00000002 + SERVICE_NOTIFY_STOP_PENDING = 0x00000004 + SERVICE_NOTIFY_RUNNING = 0x00000008 + SERVICE_NOTIFY_CONTINUE_PENDING = 0x00000010 + SERVICE_NOTIFY_PAUSE_PENDING = 0x00000020 + SERVICE_NOTIFY_PAUSED = 0x00000040 + SERVICE_NOTIFY_CREATED = 0x00000080 + SERVICE_NOTIFY_DELETED = 0x00000100 + SERVICE_NOTIFY_DELETE_PENDING = 0x00000200 +) + +type SERVICE_STATUS struct { + ServiceType uint32 + CurrentState uint32 + ControlsAccepted uint32 + Win32ExitCode uint32 + ServiceSpecificExitCode uint32 + CheckPoint uint32 + WaitHint uint32 +} + +type SERVICE_TABLE_ENTRY struct { + ServiceName *uint16 + ServiceProc uintptr +} + +type QUERY_SERVICE_CONFIG struct { + ServiceType uint32 + StartType uint32 + ErrorControl uint32 + BinaryPathName *uint16 + LoadOrderGroup *uint16 + TagId uint32 + Dependencies *uint16 + ServiceStartName *uint16 + DisplayName *uint16 +} + +type SERVICE_DESCRIPTION struct { + Description *uint16 +} + +type SERVICE_DELAYED_AUTO_START_INFO struct { + IsDelayedAutoStartUp uint32 +} + +type SERVICE_STATUS_PROCESS struct { + ServiceType uint32 + CurrentState uint32 + ControlsAccepted uint32 + Win32ExitCode uint32 + ServiceSpecificExitCode uint32 + CheckPoint uint32 + WaitHint uint32 + ProcessId uint32 + ServiceFlags uint32 +} + +type ENUM_SERVICE_STATUS_PROCESS struct { + ServiceName *uint16 + DisplayName *uint16 + ServiceStatusProcess SERVICE_STATUS_PROCESS +} + +type SERVICE_NOTIFY struct { + Version uint32 + NotifyCallback uintptr + Context uintptr + NotificationStatus uint32 + ServiceStatus SERVICE_STATUS_PROCESS + NotificationTriggered uint32 + ServiceNames *uint16 +} + +type SERVICE_FAILURE_ACTIONS struct { + ResetPeriod uint32 + RebootMsg *uint16 + Command *uint16 + ActionsCount uint32 + Actions *SC_ACTION +} + +type SC_ACTION struct { + Type uint32 + Delay uint32 +} + +type QUERY_SERVICE_LOCK_STATUS struct { + IsLocked uint32 + LockOwner *uint16 + LockDuration uint32 +} + +//sys CloseServiceHandle(handle Handle) (err error) = advapi32.CloseServiceHandle +//sys CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) [failretval==0] = advapi32.CreateServiceW +//sys OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenServiceW +//sys DeleteService(service Handle) (err error) = advapi32.DeleteService +//sys StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) = advapi32.StartServiceW +//sys QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) = advapi32.QueryServiceStatus +//sys QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceLockStatusW +//sys ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) = advapi32.ControlService +//sys StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) = advapi32.StartServiceCtrlDispatcherW +//sys SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) = advapi32.SetServiceStatus +//sys ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) = advapi32.ChangeServiceConfigW +//sys QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceConfigW +//sys ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) = advapi32.ChangeServiceConfig2W +//sys QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceConfig2W +//sys EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) = advapi32.EnumServicesStatusExW +//sys QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceStatusEx +//sys NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) = advapi32.NotifyServiceStatusChangeW diff --git a/vendor/golang.org/x/sys/windows/str.go b/vendor/golang.org/x/sys/windows/str.go new file mode 100644 index 00000000..917cc2aa --- /dev/null +++ b/vendor/golang.org/x/sys/windows/str.go @@ -0,0 +1,22 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +package windows + +func itoa(val int) string { // do it here rather than with fmt to avoid dependency + if val < 0 { + return "-" + itoa(-val) + } + var buf [32]byte // big enough for int64 + i := len(buf) - 1 + for val >= 10 { + buf[i] = byte(val%10 + '0') + i-- + val /= 10 + } + buf[i] = byte(val + '0') + return string(buf[i:]) +} diff --git a/vendor/golang.org/x/sys/windows/syscall.go b/vendor/golang.org/x/sys/windows/syscall.go new file mode 100644 index 00000000..af828a91 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/syscall.go @@ -0,0 +1,74 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +// Package windows contains an interface to the low-level operating system +// primitives. OS details vary depending on the underlying system, and +// by default, godoc will display the OS-specific documentation for the current +// system. If you want godoc to display syscall documentation for another +// system, set $GOOS and $GOARCH to the desired system. For example, if +// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS +// to freebsd and $GOARCH to arm. +// +// The primary use of this package is inside other packages that provide a more +// portable interface to the system, such as "os", "time" and "net". Use +// those packages rather than this one if you can. +// +// For details of the functions and data types in this package consult +// the manuals for the appropriate operating system. +// +// These calls return err == nil to indicate success; otherwise +// err represents an operating system error describing the failure and +// holds a value of type syscall.Errno. +package windows // import "golang.org/x/sys/windows" + +import ( + "syscall" +) + +// ByteSliceFromString returns a NUL-terminated slice of bytes +// containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, syscall.EINVAL). +func ByteSliceFromString(s string) ([]byte, error) { + for i := 0; i < len(s); i++ { + if s[i] == 0 { + return nil, syscall.EINVAL + } + } + a := make([]byte, len(s)+1) + copy(a, s) + return a, nil +} + +// BytePtrFromString returns a pointer to a NUL-terminated array of +// bytes containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, syscall.EINVAL). +func BytePtrFromString(s string) (*byte, error) { + a, err := ByteSliceFromString(s) + if err != nil { + return nil, err + } + return &a[0], nil +} + +// Single-word zero for use when we need a valid pointer to 0 bytes. +// See mksyscall.pl. +var _zero uintptr + +func (ts *Timespec) Unix() (sec int64, nsec int64) { + return int64(ts.Sec), int64(ts.Nsec) +} + +func (tv *Timeval) Unix() (sec int64, nsec int64) { + return int64(tv.Sec), int64(tv.Usec) * 1000 +} + +func (ts *Timespec) Nano() int64 { + return int64(ts.Sec)*1e9 + int64(ts.Nsec) +} + +func (tv *Timeval) Nano() int64 { + return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 +} diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go new file mode 100644 index 00000000..33513e34 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -0,0 +1,1372 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Windows system calls. + +package windows + +import ( + errorspkg "errors" + "sync" + "syscall" + "time" + "unicode/utf16" + "unsafe" +) + +type Handle uintptr + +const ( + InvalidHandle = ^Handle(0) + + // Flags for DefineDosDevice. + DDD_EXACT_MATCH_ON_REMOVE = 0x00000004 + DDD_NO_BROADCAST_SYSTEM = 0x00000008 + DDD_RAW_TARGET_PATH = 0x00000001 + DDD_REMOVE_DEFINITION = 0x00000002 + + // Return values for GetDriveType. + DRIVE_UNKNOWN = 0 + DRIVE_NO_ROOT_DIR = 1 + DRIVE_REMOVABLE = 2 + DRIVE_FIXED = 3 + DRIVE_REMOTE = 4 + DRIVE_CDROM = 5 + DRIVE_RAMDISK = 6 + + // File system flags from GetVolumeInformation and GetVolumeInformationByHandle. + FILE_CASE_SENSITIVE_SEARCH = 0x00000001 + FILE_CASE_PRESERVED_NAMES = 0x00000002 + FILE_FILE_COMPRESSION = 0x00000010 + FILE_DAX_VOLUME = 0x20000000 + FILE_NAMED_STREAMS = 0x00040000 + FILE_PERSISTENT_ACLS = 0x00000008 + FILE_READ_ONLY_VOLUME = 0x00080000 + FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000 + FILE_SUPPORTS_ENCRYPTION = 0x00020000 + FILE_SUPPORTS_EXTENDED_ATTRIBUTES = 0x00800000 + FILE_SUPPORTS_HARD_LINKS = 0x00400000 + FILE_SUPPORTS_OBJECT_IDS = 0x00010000 + FILE_SUPPORTS_OPEN_BY_FILE_ID = 0x01000000 + FILE_SUPPORTS_REPARSE_POINTS = 0x00000080 + FILE_SUPPORTS_SPARSE_FILES = 0x00000040 + FILE_SUPPORTS_TRANSACTIONS = 0x00200000 + FILE_SUPPORTS_USN_JOURNAL = 0x02000000 + FILE_UNICODE_ON_DISK = 0x00000004 + FILE_VOLUME_IS_COMPRESSED = 0x00008000 + FILE_VOLUME_QUOTAS = 0x00000020 + + // Flags for LockFileEx. + LOCKFILE_FAIL_IMMEDIATELY = 0x00000001 + LOCKFILE_EXCLUSIVE_LOCK = 0x00000002 + + // Return values of SleepEx and other APC functions + STATUS_USER_APC = 0x000000C0 + WAIT_IO_COMPLETION = STATUS_USER_APC +) + +// StringToUTF16 is deprecated. Use UTF16FromString instead. +// If s contains a NUL byte this function panics instead of +// returning an error. +func StringToUTF16(s string) []uint16 { + a, err := UTF16FromString(s) + if err != nil { + panic("windows: string with NUL passed to StringToUTF16") + } + return a +} + +// UTF16FromString returns the UTF-16 encoding of the UTF-8 string +// s, with a terminating NUL added. If s contains a NUL byte at any +// location, it returns (nil, syscall.EINVAL). +func UTF16FromString(s string) ([]uint16, error) { + for i := 0; i < len(s); i++ { + if s[i] == 0 { + return nil, syscall.EINVAL + } + } + return utf16.Encode([]rune(s + "\x00")), nil +} + +// UTF16ToString returns the UTF-8 encoding of the UTF-16 sequence s, +// with a terminating NUL removed. +func UTF16ToString(s []uint16) string { + for i, v := range s { + if v == 0 { + s = s[0:i] + break + } + } + return string(utf16.Decode(s)) +} + +// StringToUTF16Ptr is deprecated. Use UTF16PtrFromString instead. +// If s contains a NUL byte this function panics instead of +// returning an error. +func StringToUTF16Ptr(s string) *uint16 { return &StringToUTF16(s)[0] } + +// UTF16PtrFromString returns pointer to the UTF-16 encoding of +// the UTF-8 string s, with a terminating NUL added. If s +// contains a NUL byte at any location, it returns (nil, syscall.EINVAL). +func UTF16PtrFromString(s string) (*uint16, error) { + a, err := UTF16FromString(s) + if err != nil { + return nil, err + } + return &a[0], nil +} + +func Getpagesize() int { return 4096 } + +// NewCallback converts a Go function to a function pointer conforming to the stdcall calling convention. +// This is useful when interoperating with Windows code requiring callbacks. +// The argument is expected to be a function with with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr. +func NewCallback(fn interface{}) uintptr { + return syscall.NewCallback(fn) +} + +// NewCallbackCDecl converts a Go function to a function pointer conforming to the cdecl calling convention. +// This is useful when interoperating with Windows code requiring callbacks. +// The argument is expected to be a function with with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr. +func NewCallbackCDecl(fn interface{}) uintptr { + return syscall.NewCallbackCDecl(fn) +} + +// windows api calls + +//sys GetLastError() (lasterr error) +//sys LoadLibrary(libname string) (handle Handle, err error) = LoadLibraryW +//sys LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) = LoadLibraryExW +//sys FreeLibrary(handle Handle) (err error) +//sys GetProcAddress(module Handle, procname string) (proc uintptr, err error) +//sys GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) = kernel32.GetModuleFileNameW +//sys GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) = kernel32.GetModuleHandleExW +//sys GetVersion() (ver uint32, err error) +//sys FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW +//sys ExitProcess(exitcode uint32) +//sys IsWow64Process(handle Handle, isWow64 *bool) (err error) = IsWow64Process +//sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW +//sys ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) +//sys WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) +//sys GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) +//sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff] +//sys CloseHandle(handle Handle) (err error) +//sys GetStdHandle(stdhandle uint32) (handle Handle, err error) [failretval==InvalidHandle] +//sys SetStdHandle(stdhandle uint32, handle Handle) (err error) +//sys findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstFileW +//sys findNextFile1(handle Handle, data *win32finddata1) (err error) = FindNextFileW +//sys FindClose(handle Handle) (err error) +//sys GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) +//sys GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) +//sys GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) = GetCurrentDirectoryW +//sys SetCurrentDirectory(path *uint16) (err error) = SetCurrentDirectoryW +//sys CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) = CreateDirectoryW +//sys RemoveDirectory(path *uint16) (err error) = RemoveDirectoryW +//sys DeleteFile(path *uint16) (err error) = DeleteFileW +//sys MoveFile(from *uint16, to *uint16) (err error) = MoveFileW +//sys MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) = MoveFileExW +//sys LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) +//sys UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) +//sys GetComputerName(buf *uint16, n *uint32) (err error) = GetComputerNameW +//sys GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) = GetComputerNameExW +//sys SetEndOfFile(handle Handle) (err error) +//sys GetSystemTimeAsFileTime(time *Filetime) +//sys GetSystemTimePreciseAsFileTime(time *Filetime) +//sys GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) [failretval==0xffffffff] +//sys CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) +//sys GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) +//sys PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) +//sys CancelIo(s Handle) (err error) +//sys CancelIoEx(s Handle, o *Overlapped) (err error) +//sys CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = CreateProcessW +//sys OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) +//sys ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) [failretval<=32] = shell32.ShellExecuteW +//sys shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) = shell32.SHGetKnownFolderPath +//sys TerminateProcess(handle Handle, exitcode uint32) (err error) +//sys GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) +//sys GetStartupInfo(startupInfo *StartupInfo) (err error) = GetStartupInfoW +//sys GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) +//sys DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) +//sys WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) [failretval==0xffffffff] +//sys waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) [failretval==0xffffffff] = WaitForMultipleObjects +//sys GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) = GetTempPathW +//sys CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) +//sys GetFileType(filehandle Handle) (n uint32, err error) +//sys CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) = advapi32.CryptAcquireContextW +//sys CryptReleaseContext(provhandle Handle, flags uint32) (err error) = advapi32.CryptReleaseContext +//sys CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) = advapi32.CryptGenRandom +//sys GetEnvironmentStrings() (envs *uint16, err error) [failretval==nil] = kernel32.GetEnvironmentStringsW +//sys FreeEnvironmentStrings(envs *uint16) (err error) = kernel32.FreeEnvironmentStringsW +//sys GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) = kernel32.GetEnvironmentVariableW +//sys SetEnvironmentVariable(name *uint16, value *uint16) (err error) = kernel32.SetEnvironmentVariableW +//sys CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) = userenv.CreateEnvironmentBlock +//sys DestroyEnvironmentBlock(block *uint16) (err error) = userenv.DestroyEnvironmentBlock +//sys getTickCount64() (ms uint64) = kernel32.GetTickCount64 +//sys SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) +//sys GetFileAttributes(name *uint16) (attrs uint32, err error) [failretval==INVALID_FILE_ATTRIBUTES] = kernel32.GetFileAttributesW +//sys SetFileAttributes(name *uint16, attrs uint32) (err error) = kernel32.SetFileAttributesW +//sys GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) = kernel32.GetFileAttributesExW +//sys GetCommandLine() (cmd *uint16) = kernel32.GetCommandLineW +//sys CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) [failretval==nil] = shell32.CommandLineToArgvW +//sys LocalFree(hmem Handle) (handle Handle, err error) [failretval!=0] +//sys SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) +//sys FlushFileBuffers(handle Handle) (err error) +//sys GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) = kernel32.GetFullPathNameW +//sys GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) = kernel32.GetLongPathNameW +//sys GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) = kernel32.GetShortPathNameW +//sys CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) = kernel32.CreateFileMappingW +//sys MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) +//sys UnmapViewOfFile(addr uintptr) (err error) +//sys FlushViewOfFile(addr uintptr, length uintptr) (err error) +//sys VirtualLock(addr uintptr, length uintptr) (err error) +//sys VirtualUnlock(addr uintptr, length uintptr) (err error) +//sys VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) = kernel32.VirtualAlloc +//sys VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) = kernel32.VirtualFree +//sys VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) = kernel32.VirtualProtect +//sys TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) = mswsock.TransmitFile +//sys ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) = kernel32.ReadDirectoryChangesW +//sys CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) = crypt32.CertOpenSystemStoreW +//sys CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) [failretval==InvalidHandle] = crypt32.CertOpenStore +//sys CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) [failretval==nil] = crypt32.CertEnumCertificatesInStore +//sys CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) = crypt32.CertAddCertificateContextToStore +//sys CertCloseStore(store Handle, flags uint32) (err error) = crypt32.CertCloseStore +//sys CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) = crypt32.CertGetCertificateChain +//sys CertFreeCertificateChain(ctx *CertChainContext) = crypt32.CertFreeCertificateChain +//sys CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt32.CertCreateCertificateContext +//sys CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertFreeCertificateContext +//sys CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = crypt32.CertVerifyCertificateChainPolicy +//sys RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) = advapi32.RegOpenKeyExW +//sys RegCloseKey(key Handle) (regerrno error) = advapi32.RegCloseKey +//sys RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegQueryInfoKeyW +//sys RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegEnumKeyExW +//sys RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegQueryValueExW +//sys GetCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId +//sys GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetConsoleMode +//sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode +//sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo +//sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW +//sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW +//sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot +//sys Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32FirstW +//sys Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32NextW +//sys Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) +//sys Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) +//sys DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) +// This function returns 1 byte BOOLEAN rather than the 4 byte BOOL. +//sys CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) [failretval&0xff==0] = CreateSymbolicLinkW +//sys CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) [failretval&0xff==0] = CreateHardLinkW +//sys GetCurrentThreadId() (id uint32) +//sys CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) = kernel32.CreateEventW +//sys CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateEventExW +//sys OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenEventW +//sys SetEvent(event Handle) (err error) = kernel32.SetEvent +//sys ResetEvent(event Handle) (err error) = kernel32.ResetEvent +//sys PulseEvent(event Handle) (err error) = kernel32.PulseEvent +//sys CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) = kernel32.CreateMutexW +//sys CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateMutexExW +//sys OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenMutexW +//sys ReleaseMutex(mutex Handle) (err error) = kernel32.ReleaseMutex +//sys SleepEx(milliseconds uint32, alertable bool) (ret uint32) = kernel32.SleepEx +//sys CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) = kernel32.CreateJobObjectW +//sys AssignProcessToJobObject(job Handle, process Handle) (err error) = kernel32.AssignProcessToJobObject +//sys TerminateJobObject(job Handle, exitCode uint32) (err error) = kernel32.TerminateJobObject +//sys SetErrorMode(mode uint32) (ret uint32) = kernel32.SetErrorMode +//sys ResumeThread(thread Handle) (ret uint32, err error) [failretval==0xffffffff] = kernel32.ResumeThread +//sys SetPriorityClass(process Handle, priorityClass uint32) (err error) = kernel32.SetPriorityClass +//sys GetPriorityClass(process Handle) (ret uint32, err error) = kernel32.GetPriorityClass +//sys SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) +//sys GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) +//sys GetProcessId(process Handle) (id uint32, err error) +//sys OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) +//sys SetProcessPriorityBoost(process Handle, disable bool) (err error) = kernel32.SetProcessPriorityBoost + +// Volume Management Functions +//sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW +//sys DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) = DeleteVolumeMountPointW +//sys FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstVolumeW +//sys FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstVolumeMountPointW +//sys FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) = FindNextVolumeW +//sys FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) = FindNextVolumeMountPointW +//sys FindVolumeClose(findVolume Handle) (err error) +//sys FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) +//sys GetDriveType(rootPathName *uint16) (driveType uint32) = GetDriveTypeW +//sys GetLogicalDrives() (drivesBitMask uint32, err error) [failretval==0] +//sys GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) [failretval==0] = GetLogicalDriveStringsW +//sys GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) = GetVolumeInformationW +//sys GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) = GetVolumeInformationByHandleW +//sys GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) = GetVolumeNameForVolumeMountPointW +//sys GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) = GetVolumePathNameW +//sys GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) = GetVolumePathNamesForVolumeNameW +//sys QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) [failretval==0] = QueryDosDeviceW +//sys SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) = SetVolumeLabelW +//sys SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) = SetVolumeMountPointW +//sys MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW +//sys ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx +//sys InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) = advapi32.InitiateSystemShutdownExW +//sys SetProcessShutdownParameters(level uint32, flags uint32) (err error) = kernel32.SetProcessShutdownParameters +//sys GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) = kernel32.GetProcessShutdownParameters +//sys clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) = ole32.CLSIDFromString +//sys stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) = ole32.StringFromGUID2 +//sys coCreateGuid(pguid *GUID) (ret error) = ole32.CoCreateGuid +//sys CoTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree +//sys rtlGetVersion(info *OsVersionInfoEx) (ret error) = ntdll.RtlGetVersion +//sys rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers + +// syscall interface implementation for other packages + +// GetCurrentProcess returns the handle for the current process. +// It is a pseudo handle that does not need to be closed. +// The returned error is always nil. +// +// Deprecated: use CurrentProcess for the same Handle without the nil +// error. +func GetCurrentProcess() (Handle, error) { + return CurrentProcess(), nil +} + +// CurrentProcess returns the handle for the current process. +// It is a pseudo handle that does not need to be closed. +func CurrentProcess() Handle { return Handle(^uintptr(1 - 1)) } + +// GetCurrentThread returns the handle for the current thread. +// It is a pseudo handle that does not need to be closed. +// The returned error is always nil. +// +// Deprecated: use CurrentThread for the same Handle without the nil +// error. +func GetCurrentThread() (Handle, error) { + return CurrentThread(), nil +} + +// CurrentThread returns the handle for the current thread. +// It is a pseudo handle that does not need to be closed. +func CurrentThread() Handle { return Handle(^uintptr(2 - 1)) } + +// GetProcAddressByOrdinal retrieves the address of the exported +// function from module by ordinal. +func GetProcAddressByOrdinal(module Handle, ordinal uintptr) (proc uintptr, err error) { + r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), ordinal, 0) + proc = uintptr(r0) + if proc == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Exit(code int) { ExitProcess(uint32(code)) } + +func makeInheritSa() *SecurityAttributes { + var sa SecurityAttributes + sa.Length = uint32(unsafe.Sizeof(sa)) + sa.InheritHandle = 1 + return &sa +} + +func Open(path string, mode int, perm uint32) (fd Handle, err error) { + if len(path) == 0 { + return InvalidHandle, ERROR_FILE_NOT_FOUND + } + pathp, err := UTF16PtrFromString(path) + if err != nil { + return InvalidHandle, err + } + var access uint32 + switch mode & (O_RDONLY | O_WRONLY | O_RDWR) { + case O_RDONLY: + access = GENERIC_READ + case O_WRONLY: + access = GENERIC_WRITE + case O_RDWR: + access = GENERIC_READ | GENERIC_WRITE + } + if mode&O_CREAT != 0 { + access |= GENERIC_WRITE + } + if mode&O_APPEND != 0 { + access &^= GENERIC_WRITE + access |= FILE_APPEND_DATA + } + sharemode := uint32(FILE_SHARE_READ | FILE_SHARE_WRITE) + var sa *SecurityAttributes + if mode&O_CLOEXEC == 0 { + sa = makeInheritSa() + } + var createmode uint32 + switch { + case mode&(O_CREAT|O_EXCL) == (O_CREAT | O_EXCL): + createmode = CREATE_NEW + case mode&(O_CREAT|O_TRUNC) == (O_CREAT | O_TRUNC): + createmode = CREATE_ALWAYS + case mode&O_CREAT == O_CREAT: + createmode = OPEN_ALWAYS + case mode&O_TRUNC == O_TRUNC: + createmode = TRUNCATE_EXISTING + default: + createmode = OPEN_EXISTING + } + h, e := CreateFile(pathp, access, sharemode, sa, createmode, FILE_ATTRIBUTE_NORMAL, 0) + return h, e +} + +func Read(fd Handle, p []byte) (n int, err error) { + var done uint32 + e := ReadFile(fd, p, &done, nil) + if e != nil { + if e == ERROR_BROKEN_PIPE { + // NOTE(brainman): work around ERROR_BROKEN_PIPE is returned on reading EOF from stdin + return 0, nil + } + return 0, e + } + if raceenabled { + if done > 0 { + raceWriteRange(unsafe.Pointer(&p[0]), int(done)) + } + raceAcquire(unsafe.Pointer(&ioSync)) + } + return int(done), nil +} + +func Write(fd Handle, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + var done uint32 + e := WriteFile(fd, p, &done, nil) + if e != nil { + return 0, e + } + if raceenabled && done > 0 { + raceReadRange(unsafe.Pointer(&p[0]), int(done)) + } + return int(done), nil +} + +var ioSync int64 + +func Seek(fd Handle, offset int64, whence int) (newoffset int64, err error) { + var w uint32 + switch whence { + case 0: + w = FILE_BEGIN + case 1: + w = FILE_CURRENT + case 2: + w = FILE_END + } + hi := int32(offset >> 32) + lo := int32(offset) + // use GetFileType to check pipe, pipe can't do seek + ft, _ := GetFileType(fd) + if ft == FILE_TYPE_PIPE { + return 0, syscall.EPIPE + } + rlo, e := SetFilePointer(fd, lo, &hi, w) + if e != nil { + return 0, e + } + return int64(hi)<<32 + int64(rlo), nil +} + +func Close(fd Handle) (err error) { + return CloseHandle(fd) +} + +var ( + Stdin = getStdHandle(STD_INPUT_HANDLE) + Stdout = getStdHandle(STD_OUTPUT_HANDLE) + Stderr = getStdHandle(STD_ERROR_HANDLE) +) + +func getStdHandle(stdhandle uint32) (fd Handle) { + r, _ := GetStdHandle(stdhandle) + CloseOnExec(r) + return r +} + +const ImplementsGetwd = true + +func Getwd() (wd string, err error) { + b := make([]uint16, 300) + n, e := GetCurrentDirectory(uint32(len(b)), &b[0]) + if e != nil { + return "", e + } + return string(utf16.Decode(b[0:n])), nil +} + +func Chdir(path string) (err error) { + pathp, err := UTF16PtrFromString(path) + if err != nil { + return err + } + return SetCurrentDirectory(pathp) +} + +func Mkdir(path string, mode uint32) (err error) { + pathp, err := UTF16PtrFromString(path) + if err != nil { + return err + } + return CreateDirectory(pathp, nil) +} + +func Rmdir(path string) (err error) { + pathp, err := UTF16PtrFromString(path) + if err != nil { + return err + } + return RemoveDirectory(pathp) +} + +func Unlink(path string) (err error) { + pathp, err := UTF16PtrFromString(path) + if err != nil { + return err + } + return DeleteFile(pathp) +} + +func Rename(oldpath, newpath string) (err error) { + from, err := UTF16PtrFromString(oldpath) + if err != nil { + return err + } + to, err := UTF16PtrFromString(newpath) + if err != nil { + return err + } + return MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING) +} + +func ComputerName() (name string, err error) { + var n uint32 = MAX_COMPUTERNAME_LENGTH + 1 + b := make([]uint16, n) + e := GetComputerName(&b[0], &n) + if e != nil { + return "", e + } + return string(utf16.Decode(b[0:n])), nil +} + +func DurationSinceBoot() time.Duration { + return time.Duration(getTickCount64()) * time.Millisecond +} + +func Ftruncate(fd Handle, length int64) (err error) { + curoffset, e := Seek(fd, 0, 1) + if e != nil { + return e + } + defer Seek(fd, curoffset, 0) + _, e = Seek(fd, length, 0) + if e != nil { + return e + } + e = SetEndOfFile(fd) + if e != nil { + return e + } + return nil +} + +func Gettimeofday(tv *Timeval) (err error) { + var ft Filetime + GetSystemTimeAsFileTime(&ft) + *tv = NsecToTimeval(ft.Nanoseconds()) + return nil +} + +func Pipe(p []Handle) (err error) { + if len(p) != 2 { + return syscall.EINVAL + } + var r, w Handle + e := CreatePipe(&r, &w, makeInheritSa(), 0) + if e != nil { + return e + } + p[0] = r + p[1] = w + return nil +} + +func Utimes(path string, tv []Timeval) (err error) { + if len(tv) != 2 { + return syscall.EINVAL + } + pathp, e := UTF16PtrFromString(path) + if e != nil { + return e + } + h, e := CreateFile(pathp, + FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, nil, + OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0) + if e != nil { + return e + } + defer Close(h) + a := NsecToFiletime(tv[0].Nanoseconds()) + w := NsecToFiletime(tv[1].Nanoseconds()) + return SetFileTime(h, nil, &a, &w) +} + +func UtimesNano(path string, ts []Timespec) (err error) { + if len(ts) != 2 { + return syscall.EINVAL + } + pathp, e := UTF16PtrFromString(path) + if e != nil { + return e + } + h, e := CreateFile(pathp, + FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, nil, + OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0) + if e != nil { + return e + } + defer Close(h) + a := NsecToFiletime(TimespecToNsec(ts[0])) + w := NsecToFiletime(TimespecToNsec(ts[1])) + return SetFileTime(h, nil, &a, &w) +} + +func Fsync(fd Handle) (err error) { + return FlushFileBuffers(fd) +} + +func Chmod(path string, mode uint32) (err error) { + p, e := UTF16PtrFromString(path) + if e != nil { + return e + } + attrs, e := GetFileAttributes(p) + if e != nil { + return e + } + if mode&S_IWRITE != 0 { + attrs &^= FILE_ATTRIBUTE_READONLY + } else { + attrs |= FILE_ATTRIBUTE_READONLY + } + return SetFileAttributes(p, attrs) +} + +func LoadGetSystemTimePreciseAsFileTime() error { + return procGetSystemTimePreciseAsFileTime.Find() +} + +func LoadCancelIoEx() error { + return procCancelIoEx.Find() +} + +func LoadSetFileCompletionNotificationModes() error { + return procSetFileCompletionNotificationModes.Find() +} + +func WaitForMultipleObjects(handles []Handle, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { + // Every other win32 array API takes arguments as "pointer, count", except for this function. So we + // can't declare it as a usual [] type, because mksyscall will use the opposite order. We therefore + // trivially stub this ourselves. + + var handlePtr *Handle + if len(handles) > 0 { + handlePtr = &handles[0] + } + return waitForMultipleObjects(uint32(len(handles)), uintptr(unsafe.Pointer(handlePtr)), waitAll, waitMilliseconds) +} + +// net api calls + +const socket_error = uintptr(^uint32(0)) + +//sys WSAStartup(verreq uint32, data *WSAData) (sockerr error) = ws2_32.WSAStartup +//sys WSACleanup() (err error) [failretval==socket_error] = ws2_32.WSACleanup +//sys WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) [failretval==socket_error] = ws2_32.WSAIoctl +//sys socket(af int32, typ int32, protocol int32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.socket +//sys Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) [failretval==socket_error] = ws2_32.setsockopt +//sys Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockopt +//sys bind(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.bind +//sys connect(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.connect +//sys getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockname +//sys getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) [failretval==socket_error] = ws2_32.getpeername +//sys listen(s Handle, backlog int32) (err error) [failretval==socket_error] = ws2_32.listen +//sys shutdown(s Handle, how int32) (err error) [failretval==socket_error] = ws2_32.shutdown +//sys Closesocket(s Handle) (err error) [failretval==socket_error] = ws2_32.closesocket +//sys AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) = mswsock.AcceptEx +//sys GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) = mswsock.GetAcceptExSockaddrs +//sys WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecv +//sys WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASend +//sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom +//sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo +//sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname +//sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname +//sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs +//sys GetProtoByName(name string) (p *Protoent, err error) [failretval==nil] = ws2_32.getprotobyname +//sys DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) = dnsapi.DnsQuery_W +//sys DnsRecordListFree(rl *DNSRecord, freetype uint32) = dnsapi.DnsRecordListFree +//sys DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) = dnsapi.DnsNameCompare_W +//sys GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) = ws2_32.GetAddrInfoW +//sys FreeAddrInfoW(addrinfo *AddrinfoW) = ws2_32.FreeAddrInfoW +//sys GetIfEntry(pIfRow *MibIfRow) (errcode error) = iphlpapi.GetIfEntry +//sys GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) = iphlpapi.GetAdaptersInfo +//sys SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) = kernel32.SetFileCompletionNotificationModes +//sys WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) [failretval==-1] = ws2_32.WSAEnumProtocolsW +//sys GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) = iphlpapi.GetAdaptersAddresses +//sys GetACP() (acp uint32) = kernel32.GetACP +//sys MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) = kernel32.MultiByteToWideChar + +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [100]int8 +} + +type Sockaddr interface { + sockaddr() (ptr unsafe.Pointer, len int32, err error) // lowercase; only we can define Sockaddrs +} + +type SockaddrInet4 struct { + Port int + Addr [4]byte + raw RawSockaddrInet4 +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, int32, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, syscall.EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil +} + +type SockaddrInet6 struct { + Port int + ZoneId uint32 + Addr [16]byte + raw RawSockaddrInet6 +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, int32, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, syscall.EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil +} + +type RawSockaddrUnix struct { + Family uint16 + Path [UNIX_PATH_MAX]int8 +} + +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, int32, error) { + name := sa.Name + n := len(name) + if n > len(sa.raw.Path) { + return nil, 0, syscall.EINVAL + } + if n == len(sa.raw.Path) && name[0] != '@' { + return nil, 0, syscall.EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := int32(2) + if n > 0 { + sl += int32(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + if pp.Path[0] == 0 { + // "Abstract" Unix domain socket. + // Rewrite leading NUL as @ for textual display. + // (This is the standard convention.) + // Not friendly to overwrite in place, + // but the callers below don't care. + pp.Path[0] = '@' + } + + // Assume path ends at NUL. + // This is not technically the Linux semantics for + // abstract Unix domain sockets--they are supposed + // to be uninterpreted fixed-size binary blobs--but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, syscall.EAFNOSUPPORT +} + +func Socket(domain, typ, proto int) (fd Handle, err error) { + if domain == AF_INET6 && SocketDisableIPv6 { + return InvalidHandle, syscall.EAFNOSUPPORT + } + return socket(int32(domain), int32(typ), int32(proto)) +} + +func SetsockoptInt(fd Handle, level, opt int, value int) (err error) { + v := int32(value) + return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&v)), int32(unsafe.Sizeof(v))) +} + +func Bind(fd Handle, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return bind(fd, ptr, n) +} + +func Connect(fd Handle, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connect(fd, ptr, n) +} + +func Getsockname(fd Handle) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + l := int32(unsafe.Sizeof(rsa)) + if err = getsockname(fd, &rsa, &l); err != nil { + return + } + return rsa.Sockaddr() +} + +func Getpeername(fd Handle) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + l := int32(unsafe.Sizeof(rsa)) + if err = getpeername(fd, &rsa, &l); err != nil { + return + } + return rsa.Sockaddr() +} + +func Listen(s Handle, n int) (err error) { + return listen(s, int32(n)) +} + +func Shutdown(fd Handle, how int) (err error) { + return shutdown(fd, int32(how)) +} + +func WSASendto(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to Sockaddr, overlapped *Overlapped, croutine *byte) (err error) { + rsa, l, err := to.sockaddr() + if err != nil { + return err + } + return WSASendTo(s, bufs, bufcnt, sent, flags, (*RawSockaddrAny)(unsafe.Pointer(rsa)), l, overlapped, croutine) +} + +func LoadGetAddrInfo() error { + return procGetAddrInfoW.Find() +} + +var connectExFunc struct { + once sync.Once + addr uintptr + err error +} + +func LoadConnectEx() error { + connectExFunc.once.Do(func() { + var s Handle + s, connectExFunc.err = Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) + if connectExFunc.err != nil { + return + } + defer CloseHandle(s) + var n uint32 + connectExFunc.err = WSAIoctl(s, + SIO_GET_EXTENSION_FUNCTION_POINTER, + (*byte)(unsafe.Pointer(&WSAID_CONNECTEX)), + uint32(unsafe.Sizeof(WSAID_CONNECTEX)), + (*byte)(unsafe.Pointer(&connectExFunc.addr)), + uint32(unsafe.Sizeof(connectExFunc.addr)), + &n, nil, 0) + }) + return connectExFunc.err +} + +func connectEx(s Handle, name unsafe.Pointer, namelen int32, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall9(connectExFunc.addr, 7, uintptr(s), uintptr(name), uintptr(namelen), uintptr(unsafe.Pointer(sendBuf)), uintptr(sendDataLen), uintptr(unsafe.Pointer(bytesSent)), uintptr(unsafe.Pointer(overlapped)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = error(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ConnectEx(fd Handle, sa Sockaddr, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *Overlapped) error { + err := LoadConnectEx() + if err != nil { + return errorspkg.New("failed to find ConnectEx: " + err.Error()) + } + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connectEx(fd, ptr, n, sendBuf, sendDataLen, bytesSent, overlapped) +} + +var sendRecvMsgFunc struct { + once sync.Once + sendAddr uintptr + recvAddr uintptr + err error +} + +func loadWSASendRecvMsg() error { + sendRecvMsgFunc.once.Do(func() { + var s Handle + s, sendRecvMsgFunc.err = Socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) + if sendRecvMsgFunc.err != nil { + return + } + defer CloseHandle(s) + var n uint32 + sendRecvMsgFunc.err = WSAIoctl(s, + SIO_GET_EXTENSION_FUNCTION_POINTER, + (*byte)(unsafe.Pointer(&WSAID_WSARECVMSG)), + uint32(unsafe.Sizeof(WSAID_WSARECVMSG)), + (*byte)(unsafe.Pointer(&sendRecvMsgFunc.recvAddr)), + uint32(unsafe.Sizeof(sendRecvMsgFunc.recvAddr)), + &n, nil, 0) + if sendRecvMsgFunc.err != nil { + return + } + sendRecvMsgFunc.err = WSAIoctl(s, + SIO_GET_EXTENSION_FUNCTION_POINTER, + (*byte)(unsafe.Pointer(&WSAID_WSASENDMSG)), + uint32(unsafe.Sizeof(WSAID_WSASENDMSG)), + (*byte)(unsafe.Pointer(&sendRecvMsgFunc.sendAddr)), + uint32(unsafe.Sizeof(sendRecvMsgFunc.sendAddr)), + &n, nil, 0) + }) + return sendRecvMsgFunc.err +} + +func WSASendMsg(fd Handle, msg *WSAMsg, flags uint32, bytesSent *uint32, overlapped *Overlapped, croutine *byte) error { + err := loadWSASendRecvMsg() + if err != nil { + return err + } + r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.sendAddr, 6, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(flags), uintptr(unsafe.Pointer(bytesSent)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return err +} + +func WSARecvMsg(fd Handle, msg *WSAMsg, bytesReceived *uint32, overlapped *Overlapped, croutine *byte) error { + err := loadWSASendRecvMsg() + if err != nil { + return err + } + r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.recvAddr, 5, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(bytesReceived)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return err +} + +// Invented structures to support what package os expects. +type Rusage struct { + CreationTime Filetime + ExitTime Filetime + KernelTime Filetime + UserTime Filetime +} + +type WaitStatus struct { + ExitCode uint32 +} + +func (w WaitStatus) Exited() bool { return true } + +func (w WaitStatus) ExitStatus() int { return int(w.ExitCode) } + +func (w WaitStatus) Signal() Signal { return -1 } + +func (w WaitStatus) CoreDump() bool { return false } + +func (w WaitStatus) Stopped() bool { return false } + +func (w WaitStatus) Continued() bool { return false } + +func (w WaitStatus) StopSignal() Signal { return -1 } + +func (w WaitStatus) Signaled() bool { return false } + +func (w WaitStatus) TrapCause() int { return -1 } + +// Timespec is an invented structure on Windows, but here for +// consistency with the corresponding package for other operating systems. +type Timespec struct { + Sec int64 + Nsec int64 +} + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +// TODO(brainman): fix all needed for net + +func Accept(fd Handle) (nfd Handle, sa Sockaddr, err error) { return 0, nil, syscall.EWINDOWS } +func Recvfrom(fd Handle, p []byte, flags int) (n int, from Sockaddr, err error) { + return 0, nil, syscall.EWINDOWS +} +func Sendto(fd Handle, p []byte, flags int, to Sockaddr) (err error) { return syscall.EWINDOWS } +func SetsockoptTimeval(fd Handle, level, opt int, tv *Timeval) (err error) { return syscall.EWINDOWS } + +// The Linger struct is wrong but we only noticed after Go 1. +// sysLinger is the real system call structure. + +// BUG(brainman): The definition of Linger is not appropriate for direct use +// with Setsockopt and Getsockopt. +// Use SetsockoptLinger instead. + +type Linger struct { + Onoff int32 + Linger int32 +} + +type sysLinger struct { + Onoff uint16 + Linger uint16 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +func GetsockoptInt(fd Handle, level, opt int) (int, error) { return -1, syscall.EWINDOWS } + +func SetsockoptLinger(fd Handle, level, opt int, l *Linger) (err error) { + sys := sysLinger{Onoff: uint16(l.Onoff), Linger: uint16(l.Linger)} + return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&sys)), int32(unsafe.Sizeof(sys))) +} + +func SetsockoptInet4Addr(fd Handle, level, opt int, value [4]byte) (err error) { + return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&value[0])), 4) +} +func SetsockoptIPMreq(fd Handle, level, opt int, mreq *IPMreq) (err error) { + return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(mreq)), int32(unsafe.Sizeof(*mreq))) +} +func SetsockoptIPv6Mreq(fd Handle, level, opt int, mreq *IPv6Mreq) (err error) { + return syscall.EWINDOWS +} + +func Getpid() (pid int) { return int(GetCurrentProcessId()) } + +func FindFirstFile(name *uint16, data *Win32finddata) (handle Handle, err error) { + // NOTE(rsc): The Win32finddata struct is wrong for the system call: + // the two paths are each one uint16 short. Use the correct struct, + // a win32finddata1, and then copy the results out. + // There is no loss of expressivity here, because the final + // uint16, if it is used, is supposed to be a NUL, and Go doesn't need that. + // For Go 1.1, we might avoid the allocation of win32finddata1 here + // by adding a final Bug [2]uint16 field to the struct and then + // adjusting the fields in the result directly. + var data1 win32finddata1 + handle, err = findFirstFile1(name, &data1) + if err == nil { + copyFindData(data, &data1) + } + return +} + +func FindNextFile(handle Handle, data *Win32finddata) (err error) { + var data1 win32finddata1 + err = findNextFile1(handle, &data1) + if err == nil { + copyFindData(data, &data1) + } + return +} + +func getProcessEntry(pid int) (*ProcessEntry32, error) { + snapshot, err := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0) + if err != nil { + return nil, err + } + defer CloseHandle(snapshot) + var procEntry ProcessEntry32 + procEntry.Size = uint32(unsafe.Sizeof(procEntry)) + if err = Process32First(snapshot, &procEntry); err != nil { + return nil, err + } + for { + if procEntry.ProcessID == uint32(pid) { + return &procEntry, nil + } + err = Process32Next(snapshot, &procEntry) + if err != nil { + return nil, err + } + } +} + +func Getppid() (ppid int) { + pe, err := getProcessEntry(Getpid()) + if err != nil { + return -1 + } + return int(pe.ParentProcessID) +} + +// TODO(brainman): fix all needed for os +func Fchdir(fd Handle) (err error) { return syscall.EWINDOWS } +func Link(oldpath, newpath string) (err error) { return syscall.EWINDOWS } +func Symlink(path, link string) (err error) { return syscall.EWINDOWS } + +func Fchmod(fd Handle, mode uint32) (err error) { return syscall.EWINDOWS } +func Chown(path string, uid int, gid int) (err error) { return syscall.EWINDOWS } +func Lchown(path string, uid int, gid int) (err error) { return syscall.EWINDOWS } +func Fchown(fd Handle, uid int, gid int) (err error) { return syscall.EWINDOWS } + +func Getuid() (uid int) { return -1 } +func Geteuid() (euid int) { return -1 } +func Getgid() (gid int) { return -1 } +func Getegid() (egid int) { return -1 } +func Getgroups() (gids []int, err error) { return nil, syscall.EWINDOWS } + +type Signal int + +func (s Signal) Signal() {} + +func (s Signal) String() string { + if 0 <= s && int(s) < len(signals) { + str := signals[s] + if str != "" { + return str + } + } + return "signal " + itoa(int(s)) +} + +func LoadCreateSymbolicLink() error { + return procCreateSymbolicLinkW.Find() +} + +// Readlink returns the destination of the named symbolic link. +func Readlink(path string, buf []byte) (n int, err error) { + fd, err := CreateFile(StringToUTF16Ptr(path), GENERIC_READ, 0, nil, OPEN_EXISTING, + FILE_FLAG_OPEN_REPARSE_POINT|FILE_FLAG_BACKUP_SEMANTICS, 0) + if err != nil { + return -1, err + } + defer CloseHandle(fd) + + rdbbuf := make([]byte, MAXIMUM_REPARSE_DATA_BUFFER_SIZE) + var bytesReturned uint32 + err = DeviceIoControl(fd, FSCTL_GET_REPARSE_POINT, nil, 0, &rdbbuf[0], uint32(len(rdbbuf)), &bytesReturned, nil) + if err != nil { + return -1, err + } + + rdb := (*reparseDataBuffer)(unsafe.Pointer(&rdbbuf[0])) + var s string + switch rdb.ReparseTag { + case IO_REPARSE_TAG_SYMLINK: + data := (*symbolicLinkReparseBuffer)(unsafe.Pointer(&rdb.reparseBuffer)) + p := (*[0xffff]uint16)(unsafe.Pointer(&data.PathBuffer[0])) + s = UTF16ToString(p[data.PrintNameOffset/2 : (data.PrintNameLength-data.PrintNameOffset)/2]) + case IO_REPARSE_TAG_MOUNT_POINT: + data := (*mountPointReparseBuffer)(unsafe.Pointer(&rdb.reparseBuffer)) + p := (*[0xffff]uint16)(unsafe.Pointer(&data.PathBuffer[0])) + s = UTF16ToString(p[data.PrintNameOffset/2 : (data.PrintNameLength-data.PrintNameOffset)/2]) + default: + // the path is not a symlink or junction but another type of reparse + // point + return -1, syscall.ENOENT + } + n = copy(buf, []byte(s)) + + return n, nil +} + +// GUIDFromString parses a string in the form of +// "{XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" into a GUID. +func GUIDFromString(str string) (GUID, error) { + guid := GUID{} + str16, err := syscall.UTF16PtrFromString(str) + if err != nil { + return guid, err + } + err = clsidFromString(str16, &guid) + if err != nil { + return guid, err + } + return guid, nil +} + +// GenerateGUID creates a new random GUID. +func GenerateGUID() (GUID, error) { + guid := GUID{} + err := coCreateGuid(&guid) + if err != nil { + return guid, err + } + return guid, nil +} + +// String returns the canonical string form of the GUID, +// in the form of "{XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}". +func (guid GUID) String() string { + var str [100]uint16 + chars := stringFromGUID2(&guid, &str[0], int32(len(str))) + if chars <= 1 { + return "" + } + return string(utf16.Decode(str[:chars-1])) +} + +// KnownFolderPath returns a well-known folder path for the current user, specified by one of +// the FOLDERID_ constants, and chosen and optionally created based on a KF_ flag. +func KnownFolderPath(folderID *KNOWNFOLDERID, flags uint32) (string, error) { + return Token(0).KnownFolderPath(folderID, flags) +} + +// KnownFolderPath returns a well-known folder path for the user token, specified by one of +// the FOLDERID_ constants, and chosen and optionally created based on a KF_ flag. +func (t Token) KnownFolderPath(folderID *KNOWNFOLDERID, flags uint32) (string, error) { + var p *uint16 + err := shGetKnownFolderPath(folderID, flags, t, &p) + if err != nil { + return "", err + } + defer CoTaskMemFree(unsafe.Pointer(p)) + return UTF16ToString((*[(1 << 30) - 1]uint16)(unsafe.Pointer(p))[:]), nil +} + +// RtlGetVersion returns the version of the underlying operating system, ignoring +// manifest semantics but is affected by the application compatibility layer. +func RtlGetVersion() *OsVersionInfoEx { + info := &OsVersionInfoEx{} + info.osVersionInfoSize = uint32(unsafe.Sizeof(*info)) + // According to documentation, this function always succeeds. + // The function doesn't even check the validity of the + // osVersionInfoSize member. Disassembling ntdll.dll indicates + // that the documentation is indeed correct about that. + _ = rtlGetVersion(info) + return info +} + +// RtlGetNtVersionNumbers returns the version of the underlying operating system, +// ignoring manifest semantics and the application compatibility layer. +func RtlGetNtVersionNumbers() (majorVersion, minorVersion, buildNumber uint32) { + rtlGetNtVersionNumbers(&majorVersion, &minorVersion, &buildNumber) + buildNumber &= 0xffff + return +} diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go new file mode 100644 index 00000000..7f178bb9 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -0,0 +1,1744 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +import ( + "net" + "syscall" + "unsafe" +) + +const ( + // Invented values to support what package os expects. + O_RDONLY = 0x00000 + O_WRONLY = 0x00001 + O_RDWR = 0x00002 + O_CREAT = 0x00040 + O_EXCL = 0x00080 + O_NOCTTY = 0x00100 + O_TRUNC = 0x00200 + O_NONBLOCK = 0x00800 + O_APPEND = 0x00400 + O_SYNC = 0x01000 + O_ASYNC = 0x02000 + O_CLOEXEC = 0x80000 +) + +const ( + // More invented values for signals + SIGHUP = Signal(0x1) + SIGINT = Signal(0x2) + SIGQUIT = Signal(0x3) + SIGILL = Signal(0x4) + SIGTRAP = Signal(0x5) + SIGABRT = Signal(0x6) + SIGBUS = Signal(0x7) + SIGFPE = Signal(0x8) + SIGKILL = Signal(0x9) + SIGSEGV = Signal(0xb) + SIGPIPE = Signal(0xd) + SIGALRM = Signal(0xe) + SIGTERM = Signal(0xf) +) + +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "bus error", + 8: "floating point exception", + 9: "killed", + 10: "user defined signal 1", + 11: "segmentation fault", + 12: "user defined signal 2", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", +} + +const ( + FILE_LIST_DIRECTORY = 0x00000001 + FILE_APPEND_DATA = 0x00000004 + FILE_WRITE_ATTRIBUTES = 0x00000100 + + FILE_SHARE_READ = 0x00000001 + FILE_SHARE_WRITE = 0x00000002 + FILE_SHARE_DELETE = 0x00000004 + + FILE_ATTRIBUTE_READONLY = 0x00000001 + FILE_ATTRIBUTE_HIDDEN = 0x00000002 + FILE_ATTRIBUTE_SYSTEM = 0x00000004 + FILE_ATTRIBUTE_DIRECTORY = 0x00000010 + FILE_ATTRIBUTE_ARCHIVE = 0x00000020 + FILE_ATTRIBUTE_DEVICE = 0x00000040 + FILE_ATTRIBUTE_NORMAL = 0x00000080 + FILE_ATTRIBUTE_TEMPORARY = 0x00000100 + FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200 + FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 + FILE_ATTRIBUTE_COMPRESSED = 0x00000800 + FILE_ATTRIBUTE_OFFLINE = 0x00001000 + FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000 + FILE_ATTRIBUTE_ENCRYPTED = 0x00004000 + FILE_ATTRIBUTE_INTEGRITY_STREAM = 0x00008000 + FILE_ATTRIBUTE_VIRTUAL = 0x00010000 + FILE_ATTRIBUTE_NO_SCRUB_DATA = 0x00020000 + FILE_ATTRIBUTE_RECALL_ON_OPEN = 0x00040000 + FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = 0x00400000 + + INVALID_FILE_ATTRIBUTES = 0xffffffff + + CREATE_NEW = 1 + CREATE_ALWAYS = 2 + OPEN_EXISTING = 3 + OPEN_ALWAYS = 4 + TRUNCATE_EXISTING = 5 + + FILE_FLAG_OPEN_REQUIRING_OPLOCK = 0x00040000 + FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000 + FILE_FLAG_OPEN_NO_RECALL = 0x00100000 + FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 + FILE_FLAG_SESSION_AWARE = 0x00800000 + FILE_FLAG_POSIX_SEMANTICS = 0x01000000 + FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 + FILE_FLAG_DELETE_ON_CLOSE = 0x04000000 + FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000 + FILE_FLAG_RANDOM_ACCESS = 0x10000000 + FILE_FLAG_NO_BUFFERING = 0x20000000 + FILE_FLAG_OVERLAPPED = 0x40000000 + FILE_FLAG_WRITE_THROUGH = 0x80000000 + + HANDLE_FLAG_INHERIT = 0x00000001 + STARTF_USESTDHANDLES = 0x00000100 + STARTF_USESHOWWINDOW = 0x00000001 + DUPLICATE_CLOSE_SOURCE = 0x00000001 + DUPLICATE_SAME_ACCESS = 0x00000002 + + STD_INPUT_HANDLE = -10 & (1<<32 - 1) + STD_OUTPUT_HANDLE = -11 & (1<<32 - 1) + STD_ERROR_HANDLE = -12 & (1<<32 - 1) + + FILE_BEGIN = 0 + FILE_CURRENT = 1 + FILE_END = 2 + + LANG_ENGLISH = 0x09 + SUBLANG_ENGLISH_US = 0x01 + + FORMAT_MESSAGE_ALLOCATE_BUFFER = 256 + FORMAT_MESSAGE_IGNORE_INSERTS = 512 + FORMAT_MESSAGE_FROM_STRING = 1024 + FORMAT_MESSAGE_FROM_HMODULE = 2048 + FORMAT_MESSAGE_FROM_SYSTEM = 4096 + FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192 + FORMAT_MESSAGE_MAX_WIDTH_MASK = 255 + + MAX_PATH = 260 + MAX_LONG_PATH = 32768 + + MAX_COMPUTERNAME_LENGTH = 15 + + TIME_ZONE_ID_UNKNOWN = 0 + TIME_ZONE_ID_STANDARD = 1 + + TIME_ZONE_ID_DAYLIGHT = 2 + IGNORE = 0 + INFINITE = 0xffffffff + + WAIT_ABANDONED = 0x00000080 + WAIT_OBJECT_0 = 0x00000000 + WAIT_FAILED = 0xFFFFFFFF + + // Access rights for process. + PROCESS_CREATE_PROCESS = 0x0080 + PROCESS_CREATE_THREAD = 0x0002 + PROCESS_DUP_HANDLE = 0x0040 + PROCESS_QUERY_INFORMATION = 0x0400 + PROCESS_QUERY_LIMITED_INFORMATION = 0x1000 + PROCESS_SET_INFORMATION = 0x0200 + PROCESS_SET_QUOTA = 0x0100 + PROCESS_SUSPEND_RESUME = 0x0800 + PROCESS_TERMINATE = 0x0001 + PROCESS_VM_OPERATION = 0x0008 + PROCESS_VM_READ = 0x0010 + PROCESS_VM_WRITE = 0x0020 + + // Access rights for thread. + THREAD_DIRECT_IMPERSONATION = 0x0200 + THREAD_GET_CONTEXT = 0x0008 + THREAD_IMPERSONATE = 0x0100 + THREAD_QUERY_INFORMATION = 0x0040 + THREAD_QUERY_LIMITED_INFORMATION = 0x0800 + THREAD_SET_CONTEXT = 0x0010 + THREAD_SET_INFORMATION = 0x0020 + THREAD_SET_LIMITED_INFORMATION = 0x0400 + THREAD_SET_THREAD_TOKEN = 0x0080 + THREAD_SUSPEND_RESUME = 0x0002 + THREAD_TERMINATE = 0x0001 + + FILE_MAP_COPY = 0x01 + FILE_MAP_WRITE = 0x02 + FILE_MAP_READ = 0x04 + FILE_MAP_EXECUTE = 0x20 + + CTRL_C_EVENT = 0 + CTRL_BREAK_EVENT = 1 + CTRL_CLOSE_EVENT = 2 + CTRL_LOGOFF_EVENT = 5 + CTRL_SHUTDOWN_EVENT = 6 + + // Windows reserves errors >= 1<<29 for application use. + APPLICATION_ERROR = 1 << 29 +) + +const ( + // Process creation flags. + CREATE_BREAKAWAY_FROM_JOB = 0x01000000 + CREATE_DEFAULT_ERROR_MODE = 0x04000000 + CREATE_NEW_CONSOLE = 0x00000010 + CREATE_NEW_PROCESS_GROUP = 0x00000200 + CREATE_NO_WINDOW = 0x08000000 + CREATE_PROTECTED_PROCESS = 0x00040000 + CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000 + CREATE_SEPARATE_WOW_VDM = 0x00000800 + CREATE_SHARED_WOW_VDM = 0x00001000 + CREATE_SUSPENDED = 0x00000004 + CREATE_UNICODE_ENVIRONMENT = 0x00000400 + DEBUG_ONLY_THIS_PROCESS = 0x00000002 + DEBUG_PROCESS = 0x00000001 + DETACHED_PROCESS = 0x00000008 + EXTENDED_STARTUPINFO_PRESENT = 0x00080000 + INHERIT_PARENT_AFFINITY = 0x00010000 +) + +const ( + // flags for CreateToolhelp32Snapshot + TH32CS_SNAPHEAPLIST = 0x01 + TH32CS_SNAPPROCESS = 0x02 + TH32CS_SNAPTHREAD = 0x04 + TH32CS_SNAPMODULE = 0x08 + TH32CS_SNAPMODULE32 = 0x10 + TH32CS_SNAPALL = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD + TH32CS_INHERIT = 0x80000000 +) + +const ( + // filters for ReadDirectoryChangesW + FILE_NOTIFY_CHANGE_FILE_NAME = 0x001 + FILE_NOTIFY_CHANGE_DIR_NAME = 0x002 + FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x004 + FILE_NOTIFY_CHANGE_SIZE = 0x008 + FILE_NOTIFY_CHANGE_LAST_WRITE = 0x010 + FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x020 + FILE_NOTIFY_CHANGE_CREATION = 0x040 + FILE_NOTIFY_CHANGE_SECURITY = 0x100 +) + +const ( + // do not reorder + FILE_ACTION_ADDED = iota + 1 + FILE_ACTION_REMOVED + FILE_ACTION_MODIFIED + FILE_ACTION_RENAMED_OLD_NAME + FILE_ACTION_RENAMED_NEW_NAME +) + +const ( + // wincrypt.h + PROV_RSA_FULL = 1 + PROV_RSA_SIG = 2 + PROV_DSS = 3 + PROV_FORTEZZA = 4 + PROV_MS_EXCHANGE = 5 + PROV_SSL = 6 + PROV_RSA_SCHANNEL = 12 + PROV_DSS_DH = 13 + PROV_EC_ECDSA_SIG = 14 + PROV_EC_ECNRA_SIG = 15 + PROV_EC_ECDSA_FULL = 16 + PROV_EC_ECNRA_FULL = 17 + PROV_DH_SCHANNEL = 18 + PROV_SPYRUS_LYNKS = 20 + PROV_RNG = 21 + PROV_INTEL_SEC = 22 + PROV_REPLACE_OWF = 23 + PROV_RSA_AES = 24 + CRYPT_VERIFYCONTEXT = 0xF0000000 + CRYPT_NEWKEYSET = 0x00000008 + CRYPT_DELETEKEYSET = 0x00000010 + CRYPT_MACHINE_KEYSET = 0x00000020 + CRYPT_SILENT = 0x00000040 + CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080 + + USAGE_MATCH_TYPE_AND = 0 + USAGE_MATCH_TYPE_OR = 1 + + /* msgAndCertEncodingType values for CertOpenStore function */ + X509_ASN_ENCODING = 0x00000001 + PKCS_7_ASN_ENCODING = 0x00010000 + + /* storeProvider values for CertOpenStore function */ + CERT_STORE_PROV_MSG = 1 + CERT_STORE_PROV_MEMORY = 2 + CERT_STORE_PROV_FILE = 3 + CERT_STORE_PROV_REG = 4 + CERT_STORE_PROV_PKCS7 = 5 + CERT_STORE_PROV_SERIALIZED = 6 + CERT_STORE_PROV_FILENAME_A = 7 + CERT_STORE_PROV_FILENAME_W = 8 + CERT_STORE_PROV_FILENAME = CERT_STORE_PROV_FILENAME_W + CERT_STORE_PROV_SYSTEM_A = 9 + CERT_STORE_PROV_SYSTEM_W = 10 + CERT_STORE_PROV_SYSTEM = CERT_STORE_PROV_SYSTEM_W + CERT_STORE_PROV_COLLECTION = 11 + CERT_STORE_PROV_SYSTEM_REGISTRY_A = 12 + CERT_STORE_PROV_SYSTEM_REGISTRY_W = 13 + CERT_STORE_PROV_SYSTEM_REGISTRY = CERT_STORE_PROV_SYSTEM_REGISTRY_W + CERT_STORE_PROV_PHYSICAL_W = 14 + CERT_STORE_PROV_PHYSICAL = CERT_STORE_PROV_PHYSICAL_W + CERT_STORE_PROV_SMART_CARD_W = 15 + CERT_STORE_PROV_SMART_CARD = CERT_STORE_PROV_SMART_CARD_W + CERT_STORE_PROV_LDAP_W = 16 + CERT_STORE_PROV_LDAP = CERT_STORE_PROV_LDAP_W + CERT_STORE_PROV_PKCS12 = 17 + + /* store characteristics (low WORD of flag) for CertOpenStore function */ + CERT_STORE_NO_CRYPT_RELEASE_FLAG = 0x00000001 + CERT_STORE_SET_LOCALIZED_NAME_FLAG = 0x00000002 + CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = 0x00000004 + CERT_STORE_DELETE_FLAG = 0x00000010 + CERT_STORE_UNSAFE_PHYSICAL_FLAG = 0x00000020 + CERT_STORE_SHARE_STORE_FLAG = 0x00000040 + CERT_STORE_SHARE_CONTEXT_FLAG = 0x00000080 + CERT_STORE_MANIFOLD_FLAG = 0x00000100 + CERT_STORE_ENUM_ARCHIVED_FLAG = 0x00000200 + CERT_STORE_UPDATE_KEYID_FLAG = 0x00000400 + CERT_STORE_BACKUP_RESTORE_FLAG = 0x00000800 + CERT_STORE_MAXIMUM_ALLOWED_FLAG = 0x00001000 + CERT_STORE_CREATE_NEW_FLAG = 0x00002000 + CERT_STORE_OPEN_EXISTING_FLAG = 0x00004000 + CERT_STORE_READONLY_FLAG = 0x00008000 + + /* store locations (high WORD of flag) for CertOpenStore function */ + CERT_SYSTEM_STORE_CURRENT_USER = 0x00010000 + CERT_SYSTEM_STORE_LOCAL_MACHINE = 0x00020000 + CERT_SYSTEM_STORE_CURRENT_SERVICE = 0x00040000 + CERT_SYSTEM_STORE_SERVICES = 0x00050000 + CERT_SYSTEM_STORE_USERS = 0x00060000 + CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY = 0x00070000 + CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY = 0x00080000 + CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE = 0x00090000 + CERT_SYSTEM_STORE_UNPROTECTED_FLAG = 0x40000000 + CERT_SYSTEM_STORE_RELOCATE_FLAG = 0x80000000 + + /* Miscellaneous high-WORD flags for CertOpenStore function */ + CERT_REGISTRY_STORE_REMOTE_FLAG = 0x00010000 + CERT_REGISTRY_STORE_SERIALIZED_FLAG = 0x00020000 + CERT_REGISTRY_STORE_ROAMING_FLAG = 0x00040000 + CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG = 0x00080000 + CERT_REGISTRY_STORE_LM_GPT_FLAG = 0x01000000 + CERT_REGISTRY_STORE_CLIENT_GPT_FLAG = 0x80000000 + CERT_FILE_STORE_COMMIT_ENABLE_FLAG = 0x00010000 + CERT_LDAP_STORE_SIGN_FLAG = 0x00010000 + CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG = 0x00020000 + CERT_LDAP_STORE_OPENED_FLAG = 0x00040000 + CERT_LDAP_STORE_UNBIND_FLAG = 0x00080000 + + /* addDisposition values for CertAddCertificateContextToStore function */ + CERT_STORE_ADD_NEW = 1 + CERT_STORE_ADD_USE_EXISTING = 2 + CERT_STORE_ADD_REPLACE_EXISTING = 3 + CERT_STORE_ADD_ALWAYS = 4 + CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES = 5 + CERT_STORE_ADD_NEWER = 6 + CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES = 7 + + /* ErrorStatus values for CertTrustStatus struct */ + CERT_TRUST_NO_ERROR = 0x00000000 + CERT_TRUST_IS_NOT_TIME_VALID = 0x00000001 + CERT_TRUST_IS_REVOKED = 0x00000004 + CERT_TRUST_IS_NOT_SIGNATURE_VALID = 0x00000008 + CERT_TRUST_IS_NOT_VALID_FOR_USAGE = 0x00000010 + CERT_TRUST_IS_UNTRUSTED_ROOT = 0x00000020 + CERT_TRUST_REVOCATION_STATUS_UNKNOWN = 0x00000040 + CERT_TRUST_IS_CYCLIC = 0x00000080 + CERT_TRUST_INVALID_EXTENSION = 0x00000100 + CERT_TRUST_INVALID_POLICY_CONSTRAINTS = 0x00000200 + CERT_TRUST_INVALID_BASIC_CONSTRAINTS = 0x00000400 + CERT_TRUST_INVALID_NAME_CONSTRAINTS = 0x00000800 + CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = 0x00001000 + CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT = 0x00002000 + CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = 0x00004000 + CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT = 0x00008000 + CERT_TRUST_IS_PARTIAL_CHAIN = 0x00010000 + CERT_TRUST_CTL_IS_NOT_TIME_VALID = 0x00020000 + CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID = 0x00040000 + CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = 0x00080000 + CERT_TRUST_HAS_WEAK_SIGNATURE = 0x00100000 + CERT_TRUST_IS_OFFLINE_REVOCATION = 0x01000000 + CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY = 0x02000000 + CERT_TRUST_IS_EXPLICIT_DISTRUST = 0x04000000 + CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT = 0x08000000 + + /* InfoStatus values for CertTrustStatus struct */ + CERT_TRUST_HAS_EXACT_MATCH_ISSUER = 0x00000001 + CERT_TRUST_HAS_KEY_MATCH_ISSUER = 0x00000002 + CERT_TRUST_HAS_NAME_MATCH_ISSUER = 0x00000004 + CERT_TRUST_IS_SELF_SIGNED = 0x00000008 + CERT_TRUST_HAS_PREFERRED_ISSUER = 0x00000100 + CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY = 0x00000400 + CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS = 0x00000400 + CERT_TRUST_IS_PEER_TRUSTED = 0x00000800 + CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED = 0x00001000 + CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE = 0x00002000 + CERT_TRUST_IS_CA_TRUSTED = 0x00004000 + CERT_TRUST_IS_COMPLEX_CHAIN = 0x00010000 + + /* policyOID values for CertVerifyCertificateChainPolicy function */ + CERT_CHAIN_POLICY_BASE = 1 + CERT_CHAIN_POLICY_AUTHENTICODE = 2 + CERT_CHAIN_POLICY_AUTHENTICODE_TS = 3 + CERT_CHAIN_POLICY_SSL = 4 + CERT_CHAIN_POLICY_BASIC_CONSTRAINTS = 5 + CERT_CHAIN_POLICY_NT_AUTH = 6 + CERT_CHAIN_POLICY_MICROSOFT_ROOT = 7 + CERT_CHAIN_POLICY_EV = 8 + CERT_CHAIN_POLICY_SSL_F12 = 9 + + /* AuthType values for SSLExtraCertChainPolicyPara struct */ + AUTHTYPE_CLIENT = 1 + AUTHTYPE_SERVER = 2 + + /* Checks values for SSLExtraCertChainPolicyPara struct */ + SECURITY_FLAG_IGNORE_REVOCATION = 0x00000080 + SECURITY_FLAG_IGNORE_UNKNOWN_CA = 0x00000100 + SECURITY_FLAG_IGNORE_WRONG_USAGE = 0x00000200 + SECURITY_FLAG_IGNORE_CERT_CN_INVALID = 0x00001000 + SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000 +) + +const ( + // flags for SetErrorMode + SEM_FAILCRITICALERRORS = 0x0001 + SEM_NOALIGNMENTFAULTEXCEPT = 0x0004 + SEM_NOGPFAULTERRORBOX = 0x0002 + SEM_NOOPENFILEERRORBOX = 0x8000 +) + +const ( + // Priority class. + ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000 + BELOW_NORMAL_PRIORITY_CLASS = 0x00004000 + HIGH_PRIORITY_CLASS = 0x00000080 + IDLE_PRIORITY_CLASS = 0x00000040 + NORMAL_PRIORITY_CLASS = 0x00000020 + PROCESS_MODE_BACKGROUND_BEGIN = 0x00100000 + PROCESS_MODE_BACKGROUND_END = 0x00200000 + REALTIME_PRIORITY_CLASS = 0x00000100 +) + +var ( + OID_PKIX_KP_SERVER_AUTH = []byte("1.3.6.1.5.5.7.3.1\x00") + OID_SERVER_GATED_CRYPTO = []byte("1.3.6.1.4.1.311.10.3.3\x00") + OID_SGC_NETSCAPE = []byte("2.16.840.1.113730.4.1\x00") +) + +// Pointer represents a pointer to an arbitrary Windows type. +// +// Pointer-typed fields may point to one of many different types. It's +// up to the caller to provide a pointer to the appropriate type, cast +// to Pointer. The caller must obey the unsafe.Pointer rules while +// doing so. +type Pointer *struct{} + +// Invented values to support what package os expects. +type Timeval struct { + Sec int32 + Usec int32 +} + +func (tv *Timeval) Nanoseconds() int64 { + return (int64(tv.Sec)*1e6 + int64(tv.Usec)) * 1e3 +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + tv.Sec = int32(nsec / 1e9) + tv.Usec = int32(nsec % 1e9 / 1e3) + return +} + +type Overlapped struct { + Internal uintptr + InternalHigh uintptr + Offset uint32 + OffsetHigh uint32 + HEvent Handle +} + +type FileNotifyInformation struct { + NextEntryOffset uint32 + Action uint32 + FileNameLength uint32 + FileName uint16 +} + +type Filetime struct { + LowDateTime uint32 + HighDateTime uint32 +} + +// Nanoseconds returns Filetime ft in nanoseconds +// since Epoch (00:00:00 UTC, January 1, 1970). +func (ft *Filetime) Nanoseconds() int64 { + // 100-nanosecond intervals since January 1, 1601 + nsec := int64(ft.HighDateTime)<<32 + int64(ft.LowDateTime) + // change starting time to the Epoch (00:00:00 UTC, January 1, 1970) + nsec -= 116444736000000000 + // convert into nanoseconds + nsec *= 100 + return nsec +} + +func NsecToFiletime(nsec int64) (ft Filetime) { + // convert into 100-nanosecond + nsec /= 100 + // change starting time to January 1, 1601 + nsec += 116444736000000000 + // split into high / low + ft.LowDateTime = uint32(nsec & 0xffffffff) + ft.HighDateTime = uint32(nsec >> 32 & 0xffffffff) + return ft +} + +type Win32finddata struct { + FileAttributes uint32 + CreationTime Filetime + LastAccessTime Filetime + LastWriteTime Filetime + FileSizeHigh uint32 + FileSizeLow uint32 + Reserved0 uint32 + Reserved1 uint32 + FileName [MAX_PATH - 1]uint16 + AlternateFileName [13]uint16 +} + +// This is the actual system call structure. +// Win32finddata is what we committed to in Go 1. +type win32finddata1 struct { + FileAttributes uint32 + CreationTime Filetime + LastAccessTime Filetime + LastWriteTime Filetime + FileSizeHigh uint32 + FileSizeLow uint32 + Reserved0 uint32 + Reserved1 uint32 + FileName [MAX_PATH]uint16 + AlternateFileName [14]uint16 +} + +func copyFindData(dst *Win32finddata, src *win32finddata1) { + dst.FileAttributes = src.FileAttributes + dst.CreationTime = src.CreationTime + dst.LastAccessTime = src.LastAccessTime + dst.LastWriteTime = src.LastWriteTime + dst.FileSizeHigh = src.FileSizeHigh + dst.FileSizeLow = src.FileSizeLow + dst.Reserved0 = src.Reserved0 + dst.Reserved1 = src.Reserved1 + + // The src is 1 element bigger than dst, but it must be NUL. + copy(dst.FileName[:], src.FileName[:]) + copy(dst.AlternateFileName[:], src.AlternateFileName[:]) +} + +type ByHandleFileInformation struct { + FileAttributes uint32 + CreationTime Filetime + LastAccessTime Filetime + LastWriteTime Filetime + VolumeSerialNumber uint32 + FileSizeHigh uint32 + FileSizeLow uint32 + NumberOfLinks uint32 + FileIndexHigh uint32 + FileIndexLow uint32 +} + +const ( + GetFileExInfoStandard = 0 + GetFileExMaxInfoLevel = 1 +) + +type Win32FileAttributeData struct { + FileAttributes uint32 + CreationTime Filetime + LastAccessTime Filetime + LastWriteTime Filetime + FileSizeHigh uint32 + FileSizeLow uint32 +} + +// ShowWindow constants +const ( + // winuser.h + SW_HIDE = 0 + SW_NORMAL = 1 + SW_SHOWNORMAL = 1 + SW_SHOWMINIMIZED = 2 + SW_SHOWMAXIMIZED = 3 + SW_MAXIMIZE = 3 + SW_SHOWNOACTIVATE = 4 + SW_SHOW = 5 + SW_MINIMIZE = 6 + SW_SHOWMINNOACTIVE = 7 + SW_SHOWNA = 8 + SW_RESTORE = 9 + SW_SHOWDEFAULT = 10 + SW_FORCEMINIMIZE = 11 +) + +type StartupInfo struct { + Cb uint32 + _ *uint16 + Desktop *uint16 + Title *uint16 + X uint32 + Y uint32 + XSize uint32 + YSize uint32 + XCountChars uint32 + YCountChars uint32 + FillAttribute uint32 + Flags uint32 + ShowWindow uint16 + _ uint16 + _ *byte + StdInput Handle + StdOutput Handle + StdErr Handle +} + +type ProcessInformation struct { + Process Handle + Thread Handle + ProcessId uint32 + ThreadId uint32 +} + +type ProcessEntry32 struct { + Size uint32 + Usage uint32 + ProcessID uint32 + DefaultHeapID uintptr + ModuleID uint32 + Threads uint32 + ParentProcessID uint32 + PriClassBase int32 + Flags uint32 + ExeFile [MAX_PATH]uint16 +} + +type ThreadEntry32 struct { + Size uint32 + Usage uint32 + ThreadID uint32 + OwnerProcessID uint32 + BasePri int32 + DeltaPri int32 + Flags uint32 +} + +type Systemtime struct { + Year uint16 + Month uint16 + DayOfWeek uint16 + Day uint16 + Hour uint16 + Minute uint16 + Second uint16 + Milliseconds uint16 +} + +type Timezoneinformation struct { + Bias int32 + StandardName [32]uint16 + StandardDate Systemtime + StandardBias int32 + DaylightName [32]uint16 + DaylightDate Systemtime + DaylightBias int32 +} + +// Socket related. + +const ( + AF_UNSPEC = 0 + AF_UNIX = 1 + AF_INET = 2 + AF_INET6 = 23 + AF_NETBIOS = 17 + + SOCK_STREAM = 1 + SOCK_DGRAM = 2 + SOCK_RAW = 3 + SOCK_SEQPACKET = 5 + + IPPROTO_IP = 0 + IPPROTO_IPV6 = 0x29 + IPPROTO_TCP = 6 + IPPROTO_UDP = 17 + + SOL_SOCKET = 0xffff + SO_REUSEADDR = 4 + SO_KEEPALIVE = 8 + SO_DONTROUTE = 16 + SO_BROADCAST = 32 + SO_LINGER = 128 + SO_RCVBUF = 0x1002 + SO_SNDBUF = 0x1001 + SO_UPDATE_ACCEPT_CONTEXT = 0x700b + SO_UPDATE_CONNECT_CONTEXT = 0x7010 + + IOC_OUT = 0x40000000 + IOC_IN = 0x80000000 + IOC_VENDOR = 0x18000000 + IOC_INOUT = IOC_IN | IOC_OUT + IOC_WS2 = 0x08000000 + SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6 + SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4 + SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12 + + // cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460 + + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_LOOP = 0xb + IP_ADD_MEMBERSHIP = 0xc + IP_DROP_MEMBERSHIP = 0xd + + IPV6_V6ONLY = 0x1b + IPV6_UNICAST_HOPS = 0x4 + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_LOOP = 0xb + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_DONTROUTE = 0x4 + MSG_WAITALL = 0x8 + + MSG_TRUNC = 0x0100 + MSG_CTRUNC = 0x0200 + MSG_BCAST = 0x0400 + MSG_MCAST = 0x0800 + + SOMAXCONN = 0x7fffffff + + TCP_NODELAY = 1 + + SHUT_RD = 0 + SHUT_WR = 1 + SHUT_RDWR = 2 + + WSADESCRIPTION_LEN = 256 + WSASYS_STATUS_LEN = 128 +) + +type WSABuf struct { + Len uint32 + Buf *byte +} + +type WSAMsg struct { + Name *syscall.RawSockaddrAny + Namelen int32 + Buffers *WSABuf + BufferCount uint32 + Control WSABuf + Flags uint32 +} + +// Invented values to support what package os expects. +const ( + S_IFMT = 0x1f000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +const ( + FILE_TYPE_CHAR = 0x0002 + FILE_TYPE_DISK = 0x0001 + FILE_TYPE_PIPE = 0x0003 + FILE_TYPE_REMOTE = 0x8000 + FILE_TYPE_UNKNOWN = 0x0000 +) + +type Hostent struct { + Name *byte + Aliases **byte + AddrType uint16 + Length uint16 + AddrList **byte +} + +type Protoent struct { + Name *byte + Aliases **byte + Proto uint16 +} + +const ( + DNS_TYPE_A = 0x0001 + DNS_TYPE_NS = 0x0002 + DNS_TYPE_MD = 0x0003 + DNS_TYPE_MF = 0x0004 + DNS_TYPE_CNAME = 0x0005 + DNS_TYPE_SOA = 0x0006 + DNS_TYPE_MB = 0x0007 + DNS_TYPE_MG = 0x0008 + DNS_TYPE_MR = 0x0009 + DNS_TYPE_NULL = 0x000a + DNS_TYPE_WKS = 0x000b + DNS_TYPE_PTR = 0x000c + DNS_TYPE_HINFO = 0x000d + DNS_TYPE_MINFO = 0x000e + DNS_TYPE_MX = 0x000f + DNS_TYPE_TEXT = 0x0010 + DNS_TYPE_RP = 0x0011 + DNS_TYPE_AFSDB = 0x0012 + DNS_TYPE_X25 = 0x0013 + DNS_TYPE_ISDN = 0x0014 + DNS_TYPE_RT = 0x0015 + DNS_TYPE_NSAP = 0x0016 + DNS_TYPE_NSAPPTR = 0x0017 + DNS_TYPE_SIG = 0x0018 + DNS_TYPE_KEY = 0x0019 + DNS_TYPE_PX = 0x001a + DNS_TYPE_GPOS = 0x001b + DNS_TYPE_AAAA = 0x001c + DNS_TYPE_LOC = 0x001d + DNS_TYPE_NXT = 0x001e + DNS_TYPE_EID = 0x001f + DNS_TYPE_NIMLOC = 0x0020 + DNS_TYPE_SRV = 0x0021 + DNS_TYPE_ATMA = 0x0022 + DNS_TYPE_NAPTR = 0x0023 + DNS_TYPE_KX = 0x0024 + DNS_TYPE_CERT = 0x0025 + DNS_TYPE_A6 = 0x0026 + DNS_TYPE_DNAME = 0x0027 + DNS_TYPE_SINK = 0x0028 + DNS_TYPE_OPT = 0x0029 + DNS_TYPE_DS = 0x002B + DNS_TYPE_RRSIG = 0x002E + DNS_TYPE_NSEC = 0x002F + DNS_TYPE_DNSKEY = 0x0030 + DNS_TYPE_DHCID = 0x0031 + DNS_TYPE_UINFO = 0x0064 + DNS_TYPE_UID = 0x0065 + DNS_TYPE_GID = 0x0066 + DNS_TYPE_UNSPEC = 0x0067 + DNS_TYPE_ADDRS = 0x00f8 + DNS_TYPE_TKEY = 0x00f9 + DNS_TYPE_TSIG = 0x00fa + DNS_TYPE_IXFR = 0x00fb + DNS_TYPE_AXFR = 0x00fc + DNS_TYPE_MAILB = 0x00fd + DNS_TYPE_MAILA = 0x00fe + DNS_TYPE_ALL = 0x00ff + DNS_TYPE_ANY = 0x00ff + DNS_TYPE_WINS = 0xff01 + DNS_TYPE_WINSR = 0xff02 + DNS_TYPE_NBSTAT = 0xff01 +) + +const ( + // flags inside DNSRecord.Dw + DnsSectionQuestion = 0x0000 + DnsSectionAnswer = 0x0001 + DnsSectionAuthority = 0x0002 + DnsSectionAdditional = 0x0003 +) + +type DNSSRVData struct { + Target *uint16 + Priority uint16 + Weight uint16 + Port uint16 + Pad uint16 +} + +type DNSPTRData struct { + Host *uint16 +} + +type DNSMXData struct { + NameExchange *uint16 + Preference uint16 + Pad uint16 +} + +type DNSTXTData struct { + StringCount uint16 + StringArray [1]*uint16 +} + +type DNSRecord struct { + Next *DNSRecord + Name *uint16 + Type uint16 + Length uint16 + Dw uint32 + Ttl uint32 + Reserved uint32 + Data [40]byte +} + +const ( + TF_DISCONNECT = 1 + TF_REUSE_SOCKET = 2 + TF_WRITE_BEHIND = 4 + TF_USE_DEFAULT_WORKER = 0 + TF_USE_SYSTEM_THREAD = 16 + TF_USE_KERNEL_APC = 32 +) + +type TransmitFileBuffers struct { + Head uintptr + HeadLength uint32 + Tail uintptr + TailLength uint32 +} + +const ( + IFF_UP = 1 + IFF_BROADCAST = 2 + IFF_LOOPBACK = 4 + IFF_POINTTOPOINT = 8 + IFF_MULTICAST = 16 +) + +const SIO_GET_INTERFACE_LIST = 0x4004747F + +// TODO(mattn): SockaddrGen is union of sockaddr/sockaddr_in/sockaddr_in6_old. +// will be fixed to change variable type as suitable. + +type SockaddrGen [24]byte + +type InterfaceInfo struct { + Flags uint32 + Address SockaddrGen + BroadcastAddress SockaddrGen + Netmask SockaddrGen +} + +type IpAddressString struct { + String [16]byte +} + +type IpMaskString IpAddressString + +type IpAddrString struct { + Next *IpAddrString + IpAddress IpAddressString + IpMask IpMaskString + Context uint32 +} + +const MAX_ADAPTER_NAME_LENGTH = 256 +const MAX_ADAPTER_DESCRIPTION_LENGTH = 128 +const MAX_ADAPTER_ADDRESS_LENGTH = 8 + +type IpAdapterInfo struct { + Next *IpAdapterInfo + ComboIndex uint32 + AdapterName [MAX_ADAPTER_NAME_LENGTH + 4]byte + Description [MAX_ADAPTER_DESCRIPTION_LENGTH + 4]byte + AddressLength uint32 + Address [MAX_ADAPTER_ADDRESS_LENGTH]byte + Index uint32 + Type uint32 + DhcpEnabled uint32 + CurrentIpAddress *IpAddrString + IpAddressList IpAddrString + GatewayList IpAddrString + DhcpServer IpAddrString + HaveWins bool + PrimaryWinsServer IpAddrString + SecondaryWinsServer IpAddrString + LeaseObtained int64 + LeaseExpires int64 +} + +const MAXLEN_PHYSADDR = 8 +const MAX_INTERFACE_NAME_LEN = 256 +const MAXLEN_IFDESCR = 256 + +type MibIfRow struct { + Name [MAX_INTERFACE_NAME_LEN]uint16 + Index uint32 + Type uint32 + Mtu uint32 + Speed uint32 + PhysAddrLen uint32 + PhysAddr [MAXLEN_PHYSADDR]byte + AdminStatus uint32 + OperStatus uint32 + LastChange uint32 + InOctets uint32 + InUcastPkts uint32 + InNUcastPkts uint32 + InDiscards uint32 + InErrors uint32 + InUnknownProtos uint32 + OutOctets uint32 + OutUcastPkts uint32 + OutNUcastPkts uint32 + OutDiscards uint32 + OutErrors uint32 + OutQLen uint32 + DescrLen uint32 + Descr [MAXLEN_IFDESCR]byte +} + +type CertInfo struct { + // Not implemented +} + +type CertContext struct { + EncodingType uint32 + EncodedCert *byte + Length uint32 + CertInfo *CertInfo + Store Handle +} + +type CertChainContext struct { + Size uint32 + TrustStatus CertTrustStatus + ChainCount uint32 + Chains **CertSimpleChain + LowerQualityChainCount uint32 + LowerQualityChains **CertChainContext + HasRevocationFreshnessTime uint32 + RevocationFreshnessTime uint32 +} + +type CertTrustListInfo struct { + // Not implemented +} + +type CertSimpleChain struct { + Size uint32 + TrustStatus CertTrustStatus + NumElements uint32 + Elements **CertChainElement + TrustListInfo *CertTrustListInfo + HasRevocationFreshnessTime uint32 + RevocationFreshnessTime uint32 +} + +type CertChainElement struct { + Size uint32 + CertContext *CertContext + TrustStatus CertTrustStatus + RevocationInfo *CertRevocationInfo + IssuanceUsage *CertEnhKeyUsage + ApplicationUsage *CertEnhKeyUsage + ExtendedErrorInfo *uint16 +} + +type CertRevocationCrlInfo struct { + // Not implemented +} + +type CertRevocationInfo struct { + Size uint32 + RevocationResult uint32 + RevocationOid *byte + OidSpecificInfo Pointer + HasFreshnessTime uint32 + FreshnessTime uint32 + CrlInfo *CertRevocationCrlInfo +} + +type CertTrustStatus struct { + ErrorStatus uint32 + InfoStatus uint32 +} + +type CertUsageMatch struct { + Type uint32 + Usage CertEnhKeyUsage +} + +type CertEnhKeyUsage struct { + Length uint32 + UsageIdentifiers **byte +} + +type CertChainPara struct { + Size uint32 + RequestedUsage CertUsageMatch + RequstedIssuancePolicy CertUsageMatch + URLRetrievalTimeout uint32 + CheckRevocationFreshnessTime uint32 + RevocationFreshnessTime uint32 + CacheResync *Filetime +} + +type CertChainPolicyPara struct { + Size uint32 + Flags uint32 + ExtraPolicyPara Pointer +} + +type SSLExtraCertChainPolicyPara struct { + Size uint32 + AuthType uint32 + Checks uint32 + ServerName *uint16 +} + +type CertChainPolicyStatus struct { + Size uint32 + Error uint32 + ChainIndex uint32 + ElementIndex uint32 + ExtraPolicyStatus Pointer +} + +const ( + // do not reorder + HKEY_CLASSES_ROOT = 0x80000000 + iota + HKEY_CURRENT_USER + HKEY_LOCAL_MACHINE + HKEY_USERS + HKEY_PERFORMANCE_DATA + HKEY_CURRENT_CONFIG + HKEY_DYN_DATA + + KEY_QUERY_VALUE = 1 + KEY_SET_VALUE = 2 + KEY_CREATE_SUB_KEY = 4 + KEY_ENUMERATE_SUB_KEYS = 8 + KEY_NOTIFY = 16 + KEY_CREATE_LINK = 32 + KEY_WRITE = 0x20006 + KEY_EXECUTE = 0x20019 + KEY_READ = 0x20019 + KEY_WOW64_64KEY = 0x0100 + KEY_WOW64_32KEY = 0x0200 + KEY_ALL_ACCESS = 0xf003f +) + +const ( + // do not reorder + REG_NONE = iota + REG_SZ + REG_EXPAND_SZ + REG_BINARY + REG_DWORD_LITTLE_ENDIAN + REG_DWORD_BIG_ENDIAN + REG_LINK + REG_MULTI_SZ + REG_RESOURCE_LIST + REG_FULL_RESOURCE_DESCRIPTOR + REG_RESOURCE_REQUIREMENTS_LIST + REG_QWORD_LITTLE_ENDIAN + REG_DWORD = REG_DWORD_LITTLE_ENDIAN + REG_QWORD = REG_QWORD_LITTLE_ENDIAN +) + +const ( + EVENT_MODIFY_STATE = 0x0002 + EVENT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3 + + MUTANT_QUERY_STATE = 0x0001 + MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUERY_STATE + + SEMAPHORE_MODIFY_STATE = 0x0002 + SEMAPHORE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3 + + TIMER_QUERY_STATE = 0x0001 + TIMER_MODIFY_STATE = 0x0002 + TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE | TIMER_MODIFY_STATE + + MUTEX_MODIFY_STATE = MUTANT_QUERY_STATE + MUTEX_ALL_ACCESS = MUTANT_ALL_ACCESS + + CREATE_EVENT_MANUAL_RESET = 0x1 + CREATE_EVENT_INITIAL_SET = 0x2 + CREATE_MUTEX_INITIAL_OWNER = 0x1 +) + +type AddrinfoW struct { + Flags int32 + Family int32 + Socktype int32 + Protocol int32 + Addrlen uintptr + Canonname *uint16 + Addr uintptr + Next *AddrinfoW +} + +const ( + AI_PASSIVE = 1 + AI_CANONNAME = 2 + AI_NUMERICHOST = 4 +) + +type GUID struct { + Data1 uint32 + Data2 uint16 + Data3 uint16 + Data4 [8]byte +} + +var WSAID_CONNECTEX = GUID{ + 0x25a207b9, + 0xddf3, + 0x4660, + [8]byte{0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}, +} + +var WSAID_WSASENDMSG = GUID{ + 0xa441e712, + 0x754f, + 0x43ca, + [8]byte{0x84, 0xa7, 0x0d, 0xee, 0x44, 0xcf, 0x60, 0x6d}, +} + +var WSAID_WSARECVMSG = GUID{ + 0xf689d7c8, + 0x6f1f, + 0x436b, + [8]byte{0x8a, 0x53, 0xe5, 0x4f, 0xe3, 0x51, 0xc3, 0x22}, +} + +const ( + FILE_SKIP_COMPLETION_PORT_ON_SUCCESS = 1 + FILE_SKIP_SET_EVENT_ON_HANDLE = 2 +) + +const ( + WSAPROTOCOL_LEN = 255 + MAX_PROTOCOL_CHAIN = 7 + BASE_PROTOCOL = 1 + LAYERED_PROTOCOL = 0 + + XP1_CONNECTIONLESS = 0x00000001 + XP1_GUARANTEED_DELIVERY = 0x00000002 + XP1_GUARANTEED_ORDER = 0x00000004 + XP1_MESSAGE_ORIENTED = 0x00000008 + XP1_PSEUDO_STREAM = 0x00000010 + XP1_GRACEFUL_CLOSE = 0x00000020 + XP1_EXPEDITED_DATA = 0x00000040 + XP1_CONNECT_DATA = 0x00000080 + XP1_DISCONNECT_DATA = 0x00000100 + XP1_SUPPORT_BROADCAST = 0x00000200 + XP1_SUPPORT_MULTIPOINT = 0x00000400 + XP1_MULTIPOINT_CONTROL_PLANE = 0x00000800 + XP1_MULTIPOINT_DATA_PLANE = 0x00001000 + XP1_QOS_SUPPORTED = 0x00002000 + XP1_UNI_SEND = 0x00008000 + XP1_UNI_RECV = 0x00010000 + XP1_IFS_HANDLES = 0x00020000 + XP1_PARTIAL_MESSAGE = 0x00040000 + XP1_SAN_SUPPORT_SDP = 0x00080000 + + PFL_MULTIPLE_PROTO_ENTRIES = 0x00000001 + PFL_RECOMMENDED_PROTO_ENTRY = 0x00000002 + PFL_HIDDEN = 0x00000004 + PFL_MATCHES_PROTOCOL_ZERO = 0x00000008 + PFL_NETWORKDIRECT_PROVIDER = 0x00000010 +) + +type WSAProtocolInfo struct { + ServiceFlags1 uint32 + ServiceFlags2 uint32 + ServiceFlags3 uint32 + ServiceFlags4 uint32 + ProviderFlags uint32 + ProviderId GUID + CatalogEntryId uint32 + ProtocolChain WSAProtocolChain + Version int32 + AddressFamily int32 + MaxSockAddr int32 + MinSockAddr int32 + SocketType int32 + Protocol int32 + ProtocolMaxOffset int32 + NetworkByteOrder int32 + SecurityScheme int32 + MessageSize uint32 + ProviderReserved uint32 + ProtocolName [WSAPROTOCOL_LEN + 1]uint16 +} + +type WSAProtocolChain struct { + ChainLen int32 + ChainEntries [MAX_PROTOCOL_CHAIN]uint32 +} + +type TCPKeepalive struct { + OnOff uint32 + Time uint32 + Interval uint32 +} + +type symbolicLinkReparseBuffer struct { + SubstituteNameOffset uint16 + SubstituteNameLength uint16 + PrintNameOffset uint16 + PrintNameLength uint16 + Flags uint32 + PathBuffer [1]uint16 +} + +type mountPointReparseBuffer struct { + SubstituteNameOffset uint16 + SubstituteNameLength uint16 + PrintNameOffset uint16 + PrintNameLength uint16 + PathBuffer [1]uint16 +} + +type reparseDataBuffer struct { + ReparseTag uint32 + ReparseDataLength uint16 + Reserved uint16 + + // GenericReparseBuffer + reparseBuffer byte +} + +const ( + FSCTL_GET_REPARSE_POINT = 0x900A8 + MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 + IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 + IO_REPARSE_TAG_SYMLINK = 0xA000000C + SYMBOLIC_LINK_FLAG_DIRECTORY = 0x1 +) + +const ( + ComputerNameNetBIOS = 0 + ComputerNameDnsHostname = 1 + ComputerNameDnsDomain = 2 + ComputerNameDnsFullyQualified = 3 + ComputerNamePhysicalNetBIOS = 4 + ComputerNamePhysicalDnsHostname = 5 + ComputerNamePhysicalDnsDomain = 6 + ComputerNamePhysicalDnsFullyQualified = 7 + ComputerNameMax = 8 +) + +// For MessageBox() +const ( + MB_OK = 0x00000000 + MB_OKCANCEL = 0x00000001 + MB_ABORTRETRYIGNORE = 0x00000002 + MB_YESNOCANCEL = 0x00000003 + MB_YESNO = 0x00000004 + MB_RETRYCANCEL = 0x00000005 + MB_CANCELTRYCONTINUE = 0x00000006 + MB_ICONHAND = 0x00000010 + MB_ICONQUESTION = 0x00000020 + MB_ICONEXCLAMATION = 0x00000030 + MB_ICONASTERISK = 0x00000040 + MB_USERICON = 0x00000080 + MB_ICONWARNING = MB_ICONEXCLAMATION + MB_ICONERROR = MB_ICONHAND + MB_ICONINFORMATION = MB_ICONASTERISK + MB_ICONSTOP = MB_ICONHAND + MB_DEFBUTTON1 = 0x00000000 + MB_DEFBUTTON2 = 0x00000100 + MB_DEFBUTTON3 = 0x00000200 + MB_DEFBUTTON4 = 0x00000300 + MB_APPLMODAL = 0x00000000 + MB_SYSTEMMODAL = 0x00001000 + MB_TASKMODAL = 0x00002000 + MB_HELP = 0x00004000 + MB_NOFOCUS = 0x00008000 + MB_SETFOREGROUND = 0x00010000 + MB_DEFAULT_DESKTOP_ONLY = 0x00020000 + MB_TOPMOST = 0x00040000 + MB_RIGHT = 0x00080000 + MB_RTLREADING = 0x00100000 + MB_SERVICE_NOTIFICATION = 0x00200000 +) + +const ( + MOVEFILE_REPLACE_EXISTING = 0x1 + MOVEFILE_COPY_ALLOWED = 0x2 + MOVEFILE_DELAY_UNTIL_REBOOT = 0x4 + MOVEFILE_WRITE_THROUGH = 0x8 + MOVEFILE_CREATE_HARDLINK = 0x10 + MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20 +) + +const GAA_FLAG_INCLUDE_PREFIX = 0x00000010 + +const ( + IF_TYPE_OTHER = 1 + IF_TYPE_ETHERNET_CSMACD = 6 + IF_TYPE_ISO88025_TOKENRING = 9 + IF_TYPE_PPP = 23 + IF_TYPE_SOFTWARE_LOOPBACK = 24 + IF_TYPE_ATM = 37 + IF_TYPE_IEEE80211 = 71 + IF_TYPE_TUNNEL = 131 + IF_TYPE_IEEE1394 = 144 +) + +type SocketAddress struct { + Sockaddr *syscall.RawSockaddrAny + SockaddrLength int32 +} + +// IP returns an IPv4 or IPv6 address, or nil if the underlying SocketAddress is neither. +func (addr *SocketAddress) IP() net.IP { + if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet4{}) && addr.Sockaddr.Addr.Family == AF_INET { + return (*RawSockaddrInet4)(unsafe.Pointer(addr.Sockaddr)).Addr[:] + } else if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet6{}) && addr.Sockaddr.Addr.Family == AF_INET6 { + return (*RawSockaddrInet6)(unsafe.Pointer(addr.Sockaddr)).Addr[:] + } + return nil +} + +type IpAdapterUnicastAddress struct { + Length uint32 + Flags uint32 + Next *IpAdapterUnicastAddress + Address SocketAddress + PrefixOrigin int32 + SuffixOrigin int32 + DadState int32 + ValidLifetime uint32 + PreferredLifetime uint32 + LeaseLifetime uint32 + OnLinkPrefixLength uint8 +} + +type IpAdapterAnycastAddress struct { + Length uint32 + Flags uint32 + Next *IpAdapterAnycastAddress + Address SocketAddress +} + +type IpAdapterMulticastAddress struct { + Length uint32 + Flags uint32 + Next *IpAdapterMulticastAddress + Address SocketAddress +} + +type IpAdapterDnsServerAdapter struct { + Length uint32 + Reserved uint32 + Next *IpAdapterDnsServerAdapter + Address SocketAddress +} + +type IpAdapterPrefix struct { + Length uint32 + Flags uint32 + Next *IpAdapterPrefix + Address SocketAddress + PrefixLength uint32 +} + +type IpAdapterAddresses struct { + Length uint32 + IfIndex uint32 + Next *IpAdapterAddresses + AdapterName *byte + FirstUnicastAddress *IpAdapterUnicastAddress + FirstAnycastAddress *IpAdapterAnycastAddress + FirstMulticastAddress *IpAdapterMulticastAddress + FirstDnsServerAddress *IpAdapterDnsServerAdapter + DnsSuffix *uint16 + Description *uint16 + FriendlyName *uint16 + PhysicalAddress [syscall.MAX_ADAPTER_ADDRESS_LENGTH]byte + PhysicalAddressLength uint32 + Flags uint32 + Mtu uint32 + IfType uint32 + OperStatus uint32 + Ipv6IfIndex uint32 + ZoneIndices [16]uint32 + FirstPrefix *IpAdapterPrefix + /* more fields might be present here. */ +} + +const ( + IfOperStatusUp = 1 + IfOperStatusDown = 2 + IfOperStatusTesting = 3 + IfOperStatusUnknown = 4 + IfOperStatusDormant = 5 + IfOperStatusNotPresent = 6 + IfOperStatusLowerLayerDown = 7 +) + +// Console related constants used for the mode parameter to SetConsoleMode. See +// https://docs.microsoft.com/en-us/windows/console/setconsolemode for details. + +const ( + ENABLE_PROCESSED_INPUT = 0x1 + ENABLE_LINE_INPUT = 0x2 + ENABLE_ECHO_INPUT = 0x4 + ENABLE_WINDOW_INPUT = 0x8 + ENABLE_MOUSE_INPUT = 0x10 + ENABLE_INSERT_MODE = 0x20 + ENABLE_QUICK_EDIT_MODE = 0x40 + ENABLE_EXTENDED_FLAGS = 0x80 + ENABLE_AUTO_POSITION = 0x100 + ENABLE_VIRTUAL_TERMINAL_INPUT = 0x200 + + ENABLE_PROCESSED_OUTPUT = 0x1 + ENABLE_WRAP_AT_EOL_OUTPUT = 0x2 + ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x4 + DISABLE_NEWLINE_AUTO_RETURN = 0x8 + ENABLE_LVB_GRID_WORLDWIDE = 0x10 +) + +type Coord struct { + X int16 + Y int16 +} + +type SmallRect struct { + Left int16 + Top int16 + Right int16 + Bottom int16 +} + +// Used with GetConsoleScreenBuffer to retrieve information about a console +// screen buffer. See +// https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str +// for details. + +type ConsoleScreenBufferInfo struct { + Size Coord + CursorPosition Coord + Attributes uint16 + Window SmallRect + MaximumWindowSize Coord +} + +const UNIX_PATH_MAX = 108 // defined in afunix.h + +const ( + // flags for JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags + JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008 + JOB_OBJECT_LIMIT_AFFINITY = 0x00000010 + JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800 + JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400 + JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200 + JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004 + JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000 + JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040 + JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020 + JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100 + JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002 + JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080 + JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000 + JOB_OBJECT_LIMIT_SUBSET_AFFINITY = 0x00004000 + JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001 +) + +type JOBOBJECT_BASIC_LIMIT_INFORMATION struct { + PerProcessUserTimeLimit int64 + PerJobUserTimeLimit int64 + LimitFlags uint32 + MinimumWorkingSetSize uintptr + MaximumWorkingSetSize uintptr + ActiveProcessLimit uint32 + Affinity uintptr + PriorityClass uint32 + SchedulingClass uint32 +} + +type IO_COUNTERS struct { + ReadOperationCount uint64 + WriteOperationCount uint64 + OtherOperationCount uint64 + ReadTransferCount uint64 + WriteTransferCount uint64 + OtherTransferCount uint64 +} + +type JOBOBJECT_EXTENDED_LIMIT_INFORMATION struct { + BasicLimitInformation JOBOBJECT_BASIC_LIMIT_INFORMATION + IoInfo IO_COUNTERS + ProcessMemoryLimit uintptr + JobMemoryLimit uintptr + PeakProcessMemoryUsed uintptr + PeakJobMemoryUsed uintptr +} + +const ( + // UIRestrictionsClass + JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040 + JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010 + JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080 + JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020 + JOB_OBJECT_UILIMIT_HANDLES = 0x00000001 + JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002 + JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008 + JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004 +) + +type JOBOBJECT_BASIC_UI_RESTRICTIONS struct { + UIRestrictionsClass uint32 +} + +const ( + // JobObjectInformationClass + JobObjectAssociateCompletionPortInformation = 7 + JobObjectBasicLimitInformation = 2 + JobObjectBasicUIRestrictions = 4 + JobObjectCpuRateControlInformation = 15 + JobObjectEndOfJobTimeInformation = 6 + JobObjectExtendedLimitInformation = 9 + JobObjectGroupInformation = 11 + JobObjectGroupInformationEx = 14 + JobObjectLimitViolationInformation2 = 35 + JobObjectNetRateControlInformation = 32 + JobObjectNotificationLimitInformation = 12 + JobObjectNotificationLimitInformation2 = 34 + JobObjectSecurityLimitInformation = 5 +) + +const ( + KF_FLAG_DEFAULT = 0x00000000 + KF_FLAG_FORCE_APP_DATA_REDIRECTION = 0x00080000 + KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 0x00040000 + KF_FLAG_FORCE_PACKAGE_REDIRECTION = 0x00020000 + KF_FLAG_NO_PACKAGE_REDIRECTION = 0x00010000 + KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 0x00020000 + KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000 + KF_FLAG_CREATE = 0x00008000 + KF_FLAG_DONT_VERIFY = 0x00004000 + KF_FLAG_DONT_UNEXPAND = 0x00002000 + KF_FLAG_NO_ALIAS = 0x00001000 + KF_FLAG_INIT = 0x00000800 + KF_FLAG_DEFAULT_PATH = 0x00000400 + KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200 + KF_FLAG_SIMPLE_IDLIST = 0x00000100 + KF_FLAG_ALIAS_ONLY = 0x80000000 +) + +type OsVersionInfoEx struct { + osVersionInfoSize uint32 + MajorVersion uint32 + MinorVersion uint32 + BuildNumber uint32 + PlatformId uint32 + CsdVersion [128]uint16 + ServicePackMajor uint16 + ServicePackMinor uint16 + SuiteMask uint16 + ProductType byte + _ byte +} + +const ( + EWX_LOGOFF = 0x00000000 + EWX_SHUTDOWN = 0x00000001 + EWX_REBOOT = 0x00000002 + EWX_FORCE = 0x00000004 + EWX_POWEROFF = 0x00000008 + EWX_FORCEIFHUNG = 0x00000010 + EWX_QUICKRESOLVE = 0x00000020 + EWX_RESTARTAPPS = 0x00000040 + EWX_HYBRID_SHUTDOWN = 0x00400000 + EWX_BOOTOPTIONS = 0x01000000 + + SHTDN_REASON_FLAG_COMMENT_REQUIRED = 0x01000000 + SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED = 0x02000000 + SHTDN_REASON_FLAG_CLEAN_UI = 0x04000000 + SHTDN_REASON_FLAG_DIRTY_UI = 0x08000000 + SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000 + SHTDN_REASON_FLAG_PLANNED = 0x80000000 + SHTDN_REASON_MAJOR_OTHER = 0x00000000 + SHTDN_REASON_MAJOR_NONE = 0x00000000 + SHTDN_REASON_MAJOR_HARDWARE = 0x00010000 + SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000 + SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000 + SHTDN_REASON_MAJOR_APPLICATION = 0x00040000 + SHTDN_REASON_MAJOR_SYSTEM = 0x00050000 + SHTDN_REASON_MAJOR_POWER = 0x00060000 + SHTDN_REASON_MAJOR_LEGACY_API = 0x00070000 + SHTDN_REASON_MINOR_OTHER = 0x00000000 + SHTDN_REASON_MINOR_NONE = 0x000000ff + SHTDN_REASON_MINOR_MAINTENANCE = 0x00000001 + SHTDN_REASON_MINOR_INSTALLATION = 0x00000002 + SHTDN_REASON_MINOR_UPGRADE = 0x00000003 + SHTDN_REASON_MINOR_RECONFIG = 0x00000004 + SHTDN_REASON_MINOR_HUNG = 0x00000005 + SHTDN_REASON_MINOR_UNSTABLE = 0x00000006 + SHTDN_REASON_MINOR_DISK = 0x00000007 + SHTDN_REASON_MINOR_PROCESSOR = 0x00000008 + SHTDN_REASON_MINOR_NETWORKCARD = 0x00000009 + SHTDN_REASON_MINOR_POWER_SUPPLY = 0x0000000a + SHTDN_REASON_MINOR_CORDUNPLUGGED = 0x0000000b + SHTDN_REASON_MINOR_ENVIRONMENT = 0x0000000c + SHTDN_REASON_MINOR_HARDWARE_DRIVER = 0x0000000d + SHTDN_REASON_MINOR_OTHERDRIVER = 0x0000000e + SHTDN_REASON_MINOR_BLUESCREEN = 0x0000000F + SHTDN_REASON_MINOR_SERVICEPACK = 0x00000010 + SHTDN_REASON_MINOR_HOTFIX = 0x00000011 + SHTDN_REASON_MINOR_SECURITYFIX = 0x00000012 + SHTDN_REASON_MINOR_SECURITY = 0x00000013 + SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY = 0x00000014 + SHTDN_REASON_MINOR_WMI = 0x00000015 + SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL = 0x00000016 + SHTDN_REASON_MINOR_HOTFIX_UNINSTALL = 0x00000017 + SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL = 0x00000018 + SHTDN_REASON_MINOR_MMC = 0x00000019 + SHTDN_REASON_MINOR_SYSTEMRESTORE = 0x0000001a + SHTDN_REASON_MINOR_TERMSRV = 0x00000020 + SHTDN_REASON_MINOR_DC_PROMOTION = 0x00000021 + SHTDN_REASON_MINOR_DC_DEMOTION = 0x00000022 + SHTDN_REASON_UNKNOWN = SHTDN_REASON_MINOR_NONE + SHTDN_REASON_LEGACY_API = SHTDN_REASON_MAJOR_LEGACY_API | SHTDN_REASON_FLAG_PLANNED + SHTDN_REASON_VALID_BIT_MASK = 0xc0ffffff + + SHUTDOWN_NORETRY = 0x1 +) + +// Flags used for GetModuleHandleEx +const ( + GET_MODULE_HANDLE_EX_FLAG_PIN = 1 + GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2 + GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4 +) diff --git a/vendor/golang.org/x/sys/windows/types_windows_386.go b/vendor/golang.org/x/sys/windows/types_windows_386.go new file mode 100644 index 00000000..fe0ddd03 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_386.go @@ -0,0 +1,22 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +type WSAData struct { + Version uint16 + HighVersion uint16 + Description [WSADESCRIPTION_LEN + 1]byte + SystemStatus [WSASYS_STATUS_LEN + 1]byte + MaxSockets uint16 + MaxUdpDg uint16 + VendorInfo *byte +} + +type Servent struct { + Name *byte + Aliases **byte + Port uint16 + Proto *byte +} diff --git a/vendor/golang.org/x/sys/windows/types_windows_amd64.go b/vendor/golang.org/x/sys/windows/types_windows_amd64.go new file mode 100644 index 00000000..7e154c2d --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_amd64.go @@ -0,0 +1,22 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +type WSAData struct { + Version uint16 + HighVersion uint16 + MaxSockets uint16 + MaxUdpDg uint16 + VendorInfo *byte + Description [WSADESCRIPTION_LEN + 1]byte + SystemStatus [WSASYS_STATUS_LEN + 1]byte +} + +type Servent struct { + Name *byte + Aliases **byte + Proto *byte + Port uint16 +} diff --git a/vendor/golang.org/x/sys/windows/types_windows_arm.go b/vendor/golang.org/x/sys/windows/types_windows_arm.go new file mode 100644 index 00000000..74571e36 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_arm.go @@ -0,0 +1,22 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +type WSAData struct { + Version uint16 + HighVersion uint16 + Description [WSADESCRIPTION_LEN + 1]byte + SystemStatus [WSASYS_STATUS_LEN + 1]byte + MaxSockets uint16 + MaxUdpDg uint16 + VendorInfo *byte +} + +type Servent struct { + Name *byte + Aliases **byte + Port uint16 + Proto *byte +} diff --git a/vendor/golang.org/x/sys/windows/zerrors_windows.go b/vendor/golang.org/x/sys/windows/zerrors_windows.go new file mode 100644 index 00000000..f0212003 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/zerrors_windows.go @@ -0,0 +1,6853 @@ +// Code generated by 'mkerrors.bash'; DO NOT EDIT. + +package windows + +import "syscall" + +const ( + FACILITY_NULL = 0 + FACILITY_RPC = 1 + FACILITY_DISPATCH = 2 + FACILITY_STORAGE = 3 + FACILITY_ITF = 4 + FACILITY_WIN32 = 7 + FACILITY_WINDOWS = 8 + FACILITY_SSPI = 9 + FACILITY_SECURITY = 9 + FACILITY_CONTROL = 10 + FACILITY_CERT = 11 + FACILITY_INTERNET = 12 + FACILITY_MEDIASERVER = 13 + FACILITY_MSMQ = 14 + FACILITY_SETUPAPI = 15 + FACILITY_SCARD = 16 + FACILITY_COMPLUS = 17 + FACILITY_AAF = 18 + FACILITY_URT = 19 + FACILITY_ACS = 20 + FACILITY_DPLAY = 21 + FACILITY_UMI = 22 + FACILITY_SXS = 23 + FACILITY_WINDOWS_CE = 24 + FACILITY_HTTP = 25 + FACILITY_USERMODE_COMMONLOG = 26 + FACILITY_WER = 27 + FACILITY_USERMODE_FILTER_MANAGER = 31 + FACILITY_BACKGROUNDCOPY = 32 + FACILITY_CONFIGURATION = 33 + FACILITY_WIA = 33 + FACILITY_STATE_MANAGEMENT = 34 + FACILITY_METADIRECTORY = 35 + FACILITY_WINDOWSUPDATE = 36 + FACILITY_DIRECTORYSERVICE = 37 + FACILITY_GRAPHICS = 38 + FACILITY_SHELL = 39 + FACILITY_NAP = 39 + FACILITY_TPM_SERVICES = 40 + FACILITY_TPM_SOFTWARE = 41 + FACILITY_UI = 42 + FACILITY_XAML = 43 + FACILITY_ACTION_QUEUE = 44 + FACILITY_PLA = 48 + FACILITY_WINDOWS_SETUP = 48 + FACILITY_FVE = 49 + FACILITY_FWP = 50 + FACILITY_WINRM = 51 + FACILITY_NDIS = 52 + FACILITY_USERMODE_HYPERVISOR = 53 + FACILITY_CMI = 54 + FACILITY_USERMODE_VIRTUALIZATION = 55 + FACILITY_USERMODE_VOLMGR = 56 + FACILITY_BCD = 57 + FACILITY_USERMODE_VHD = 58 + FACILITY_USERMODE_HNS = 59 + FACILITY_SDIAG = 60 + FACILITY_WEBSERVICES = 61 + FACILITY_WINPE = 61 + FACILITY_WPN = 62 + FACILITY_WINDOWS_STORE = 63 + FACILITY_INPUT = 64 + FACILITY_EAP = 66 + FACILITY_WINDOWS_DEFENDER = 80 + FACILITY_OPC = 81 + FACILITY_XPS = 82 + FACILITY_MBN = 84 + FACILITY_POWERSHELL = 84 + FACILITY_RAS = 83 + FACILITY_P2P_INT = 98 + FACILITY_P2P = 99 + FACILITY_DAF = 100 + FACILITY_BLUETOOTH_ATT = 101 + FACILITY_AUDIO = 102 + FACILITY_STATEREPOSITORY = 103 + FACILITY_VISUALCPP = 109 + FACILITY_SCRIPT = 112 + FACILITY_PARSE = 113 + FACILITY_BLB = 120 + FACILITY_BLB_CLI = 121 + FACILITY_WSBAPP = 122 + FACILITY_BLBUI = 128 + FACILITY_USN = 129 + FACILITY_USERMODE_VOLSNAP = 130 + FACILITY_TIERING = 131 + FACILITY_WSB_ONLINE = 133 + FACILITY_ONLINE_ID = 134 + FACILITY_DEVICE_UPDATE_AGENT = 135 + FACILITY_DRVSERVICING = 136 + FACILITY_DLS = 153 + FACILITY_DELIVERY_OPTIMIZATION = 208 + FACILITY_USERMODE_SPACES = 231 + FACILITY_USER_MODE_SECURITY_CORE = 232 + FACILITY_USERMODE_LICENSING = 234 + FACILITY_SOS = 160 + FACILITY_DEBUGGERS = 176 + FACILITY_SPP = 256 + FACILITY_RESTORE = 256 + FACILITY_DMSERVER = 256 + FACILITY_DEPLOYMENT_SERVICES_SERVER = 257 + FACILITY_DEPLOYMENT_SERVICES_IMAGING = 258 + FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT = 259 + FACILITY_DEPLOYMENT_SERVICES_UTIL = 260 + FACILITY_DEPLOYMENT_SERVICES_BINLSVC = 261 + FACILITY_DEPLOYMENT_SERVICES_PXE = 263 + FACILITY_DEPLOYMENT_SERVICES_TFTP = 264 + FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT = 272 + FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING = 278 + FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER = 289 + FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT = 290 + FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER = 293 + FACILITY_LINGUISTIC_SERVICES = 305 + FACILITY_AUDIOSTREAMING = 1094 + FACILITY_ACCELERATOR = 1536 + FACILITY_WMAAECMA = 1996 + FACILITY_DIRECTMUSIC = 2168 + FACILITY_DIRECT3D10 = 2169 + FACILITY_DXGI = 2170 + FACILITY_DXGI_DDI = 2171 + FACILITY_DIRECT3D11 = 2172 + FACILITY_DIRECT3D11_DEBUG = 2173 + FACILITY_DIRECT3D12 = 2174 + FACILITY_DIRECT3D12_DEBUG = 2175 + FACILITY_LEAP = 2184 + FACILITY_AUDCLNT = 2185 + FACILITY_WINCODEC_DWRITE_DWM = 2200 + FACILITY_WINML = 2192 + FACILITY_DIRECT2D = 2201 + FACILITY_DEFRAG = 2304 + FACILITY_USERMODE_SDBUS = 2305 + FACILITY_JSCRIPT = 2306 + FACILITY_PIDGENX = 2561 + FACILITY_EAS = 85 + FACILITY_WEB = 885 + FACILITY_WEB_SOCKET = 886 + FACILITY_MOBILE = 1793 + FACILITY_SQLITE = 1967 + FACILITY_UTC = 1989 + FACILITY_WEP = 2049 + FACILITY_SYNCENGINE = 2050 + FACILITY_XBOX = 2339 + FACILITY_PIX = 2748 + ERROR_SUCCESS syscall.Errno = 0 + NO_ERROR = 0 + SEC_E_OK Handle = 0x00000000 + ERROR_INVALID_FUNCTION syscall.Errno = 1 + ERROR_FILE_NOT_FOUND syscall.Errno = 2 + ERROR_PATH_NOT_FOUND syscall.Errno = 3 + ERROR_TOO_MANY_OPEN_FILES syscall.Errno = 4 + ERROR_ACCESS_DENIED syscall.Errno = 5 + ERROR_INVALID_HANDLE syscall.Errno = 6 + ERROR_ARENA_TRASHED syscall.Errno = 7 + ERROR_NOT_ENOUGH_MEMORY syscall.Errno = 8 + ERROR_INVALID_BLOCK syscall.Errno = 9 + ERROR_BAD_ENVIRONMENT syscall.Errno = 10 + ERROR_BAD_FORMAT syscall.Errno = 11 + ERROR_INVALID_ACCESS syscall.Errno = 12 + ERROR_INVALID_DATA syscall.Errno = 13 + ERROR_OUTOFMEMORY syscall.Errno = 14 + ERROR_INVALID_DRIVE syscall.Errno = 15 + ERROR_CURRENT_DIRECTORY syscall.Errno = 16 + ERROR_NOT_SAME_DEVICE syscall.Errno = 17 + ERROR_NO_MORE_FILES syscall.Errno = 18 + ERROR_WRITE_PROTECT syscall.Errno = 19 + ERROR_BAD_UNIT syscall.Errno = 20 + ERROR_NOT_READY syscall.Errno = 21 + ERROR_BAD_COMMAND syscall.Errno = 22 + ERROR_CRC syscall.Errno = 23 + ERROR_BAD_LENGTH syscall.Errno = 24 + ERROR_SEEK syscall.Errno = 25 + ERROR_NOT_DOS_DISK syscall.Errno = 26 + ERROR_SECTOR_NOT_FOUND syscall.Errno = 27 + ERROR_OUT_OF_PAPER syscall.Errno = 28 + ERROR_WRITE_FAULT syscall.Errno = 29 + ERROR_READ_FAULT syscall.Errno = 30 + ERROR_GEN_FAILURE syscall.Errno = 31 + ERROR_SHARING_VIOLATION syscall.Errno = 32 + ERROR_LOCK_VIOLATION syscall.Errno = 33 + ERROR_WRONG_DISK syscall.Errno = 34 + ERROR_SHARING_BUFFER_EXCEEDED syscall.Errno = 36 + ERROR_HANDLE_EOF syscall.Errno = 38 + ERROR_HANDLE_DISK_FULL syscall.Errno = 39 + ERROR_NOT_SUPPORTED syscall.Errno = 50 + ERROR_REM_NOT_LIST syscall.Errno = 51 + ERROR_DUP_NAME syscall.Errno = 52 + ERROR_BAD_NETPATH syscall.Errno = 53 + ERROR_NETWORK_BUSY syscall.Errno = 54 + ERROR_DEV_NOT_EXIST syscall.Errno = 55 + ERROR_TOO_MANY_CMDS syscall.Errno = 56 + ERROR_ADAP_HDW_ERR syscall.Errno = 57 + ERROR_BAD_NET_RESP syscall.Errno = 58 + ERROR_UNEXP_NET_ERR syscall.Errno = 59 + ERROR_BAD_REM_ADAP syscall.Errno = 60 + ERROR_PRINTQ_FULL syscall.Errno = 61 + ERROR_NO_SPOOL_SPACE syscall.Errno = 62 + ERROR_PRINT_CANCELLED syscall.Errno = 63 + ERROR_NETNAME_DELETED syscall.Errno = 64 + ERROR_NETWORK_ACCESS_DENIED syscall.Errno = 65 + ERROR_BAD_DEV_TYPE syscall.Errno = 66 + ERROR_BAD_NET_NAME syscall.Errno = 67 + ERROR_TOO_MANY_NAMES syscall.Errno = 68 + ERROR_TOO_MANY_SESS syscall.Errno = 69 + ERROR_SHARING_PAUSED syscall.Errno = 70 + ERROR_REQ_NOT_ACCEP syscall.Errno = 71 + ERROR_REDIR_PAUSED syscall.Errno = 72 + ERROR_FILE_EXISTS syscall.Errno = 80 + ERROR_CANNOT_MAKE syscall.Errno = 82 + ERROR_FAIL_I24 syscall.Errno = 83 + ERROR_OUT_OF_STRUCTURES syscall.Errno = 84 + ERROR_ALREADY_ASSIGNED syscall.Errno = 85 + ERROR_INVALID_PASSWORD syscall.Errno = 86 + ERROR_INVALID_PARAMETER syscall.Errno = 87 + ERROR_NET_WRITE_FAULT syscall.Errno = 88 + ERROR_NO_PROC_SLOTS syscall.Errno = 89 + ERROR_TOO_MANY_SEMAPHORES syscall.Errno = 100 + ERROR_EXCL_SEM_ALREADY_OWNED syscall.Errno = 101 + ERROR_SEM_IS_SET syscall.Errno = 102 + ERROR_TOO_MANY_SEM_REQUESTS syscall.Errno = 103 + ERROR_INVALID_AT_INTERRUPT_TIME syscall.Errno = 104 + ERROR_SEM_OWNER_DIED syscall.Errno = 105 + ERROR_SEM_USER_LIMIT syscall.Errno = 106 + ERROR_DISK_CHANGE syscall.Errno = 107 + ERROR_DRIVE_LOCKED syscall.Errno = 108 + ERROR_BROKEN_PIPE syscall.Errno = 109 + ERROR_OPEN_FAILED syscall.Errno = 110 + ERROR_BUFFER_OVERFLOW syscall.Errno = 111 + ERROR_DISK_FULL syscall.Errno = 112 + ERROR_NO_MORE_SEARCH_HANDLES syscall.Errno = 113 + ERROR_INVALID_TARGET_HANDLE syscall.Errno = 114 + ERROR_INVALID_CATEGORY syscall.Errno = 117 + ERROR_INVALID_VERIFY_SWITCH syscall.Errno = 118 + ERROR_BAD_DRIVER_LEVEL syscall.Errno = 119 + ERROR_CALL_NOT_IMPLEMENTED syscall.Errno = 120 + ERROR_SEM_TIMEOUT syscall.Errno = 121 + ERROR_INSUFFICIENT_BUFFER syscall.Errno = 122 + ERROR_INVALID_NAME syscall.Errno = 123 + ERROR_INVALID_LEVEL syscall.Errno = 124 + ERROR_NO_VOLUME_LABEL syscall.Errno = 125 + ERROR_MOD_NOT_FOUND syscall.Errno = 126 + ERROR_PROC_NOT_FOUND syscall.Errno = 127 + ERROR_WAIT_NO_CHILDREN syscall.Errno = 128 + ERROR_CHILD_NOT_COMPLETE syscall.Errno = 129 + ERROR_DIRECT_ACCESS_HANDLE syscall.Errno = 130 + ERROR_NEGATIVE_SEEK syscall.Errno = 131 + ERROR_SEEK_ON_DEVICE syscall.Errno = 132 + ERROR_IS_JOIN_TARGET syscall.Errno = 133 + ERROR_IS_JOINED syscall.Errno = 134 + ERROR_IS_SUBSTED syscall.Errno = 135 + ERROR_NOT_JOINED syscall.Errno = 136 + ERROR_NOT_SUBSTED syscall.Errno = 137 + ERROR_JOIN_TO_JOIN syscall.Errno = 138 + ERROR_SUBST_TO_SUBST syscall.Errno = 139 + ERROR_JOIN_TO_SUBST syscall.Errno = 140 + ERROR_SUBST_TO_JOIN syscall.Errno = 141 + ERROR_BUSY_DRIVE syscall.Errno = 142 + ERROR_SAME_DRIVE syscall.Errno = 143 + ERROR_DIR_NOT_ROOT syscall.Errno = 144 + ERROR_DIR_NOT_EMPTY syscall.Errno = 145 + ERROR_IS_SUBST_PATH syscall.Errno = 146 + ERROR_IS_JOIN_PATH syscall.Errno = 147 + ERROR_PATH_BUSY syscall.Errno = 148 + ERROR_IS_SUBST_TARGET syscall.Errno = 149 + ERROR_SYSTEM_TRACE syscall.Errno = 150 + ERROR_INVALID_EVENT_COUNT syscall.Errno = 151 + ERROR_TOO_MANY_MUXWAITERS syscall.Errno = 152 + ERROR_INVALID_LIST_FORMAT syscall.Errno = 153 + ERROR_LABEL_TOO_LONG syscall.Errno = 154 + ERROR_TOO_MANY_TCBS syscall.Errno = 155 + ERROR_SIGNAL_REFUSED syscall.Errno = 156 + ERROR_DISCARDED syscall.Errno = 157 + ERROR_NOT_LOCKED syscall.Errno = 158 + ERROR_BAD_THREADID_ADDR syscall.Errno = 159 + ERROR_BAD_ARGUMENTS syscall.Errno = 160 + ERROR_BAD_PATHNAME syscall.Errno = 161 + ERROR_SIGNAL_PENDING syscall.Errno = 162 + ERROR_MAX_THRDS_REACHED syscall.Errno = 164 + ERROR_LOCK_FAILED syscall.Errno = 167 + ERROR_BUSY syscall.Errno = 170 + ERROR_DEVICE_SUPPORT_IN_PROGRESS syscall.Errno = 171 + ERROR_CANCEL_VIOLATION syscall.Errno = 173 + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED syscall.Errno = 174 + ERROR_INVALID_SEGMENT_NUMBER syscall.Errno = 180 + ERROR_INVALID_ORDINAL syscall.Errno = 182 + ERROR_ALREADY_EXISTS syscall.Errno = 183 + ERROR_INVALID_FLAG_NUMBER syscall.Errno = 186 + ERROR_SEM_NOT_FOUND syscall.Errno = 187 + ERROR_INVALID_STARTING_CODESEG syscall.Errno = 188 + ERROR_INVALID_STACKSEG syscall.Errno = 189 + ERROR_INVALID_MODULETYPE syscall.Errno = 190 + ERROR_INVALID_EXE_SIGNATURE syscall.Errno = 191 + ERROR_EXE_MARKED_INVALID syscall.Errno = 192 + ERROR_BAD_EXE_FORMAT syscall.Errno = 193 + ERROR_ITERATED_DATA_EXCEEDS_64k syscall.Errno = 194 + ERROR_INVALID_MINALLOCSIZE syscall.Errno = 195 + ERROR_DYNLINK_FROM_INVALID_RING syscall.Errno = 196 + ERROR_IOPL_NOT_ENABLED syscall.Errno = 197 + ERROR_INVALID_SEGDPL syscall.Errno = 198 + ERROR_AUTODATASEG_EXCEEDS_64k syscall.Errno = 199 + ERROR_RING2SEG_MUST_BE_MOVABLE syscall.Errno = 200 + ERROR_RELOC_CHAIN_XEEDS_SEGLIM syscall.Errno = 201 + ERROR_INFLOOP_IN_RELOC_CHAIN syscall.Errno = 202 + ERROR_ENVVAR_NOT_FOUND syscall.Errno = 203 + ERROR_NO_SIGNAL_SENT syscall.Errno = 205 + ERROR_FILENAME_EXCED_RANGE syscall.Errno = 206 + ERROR_RING2_STACK_IN_USE syscall.Errno = 207 + ERROR_META_EXPANSION_TOO_LONG syscall.Errno = 208 + ERROR_INVALID_SIGNAL_NUMBER syscall.Errno = 209 + ERROR_THREAD_1_INACTIVE syscall.Errno = 210 + ERROR_LOCKED syscall.Errno = 212 + ERROR_TOO_MANY_MODULES syscall.Errno = 214 + ERROR_NESTING_NOT_ALLOWED syscall.Errno = 215 + ERROR_EXE_MACHINE_TYPE_MISMATCH syscall.Errno = 216 + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY syscall.Errno = 217 + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY syscall.Errno = 218 + ERROR_FILE_CHECKED_OUT syscall.Errno = 220 + ERROR_CHECKOUT_REQUIRED syscall.Errno = 221 + ERROR_BAD_FILE_TYPE syscall.Errno = 222 + ERROR_FILE_TOO_LARGE syscall.Errno = 223 + ERROR_FORMS_AUTH_REQUIRED syscall.Errno = 224 + ERROR_VIRUS_INFECTED syscall.Errno = 225 + ERROR_VIRUS_DELETED syscall.Errno = 226 + ERROR_PIPE_LOCAL syscall.Errno = 229 + ERROR_BAD_PIPE syscall.Errno = 230 + ERROR_PIPE_BUSY syscall.Errno = 231 + ERROR_NO_DATA syscall.Errno = 232 + ERROR_PIPE_NOT_CONNECTED syscall.Errno = 233 + ERROR_MORE_DATA syscall.Errno = 234 + ERROR_NO_WORK_DONE syscall.Errno = 235 + ERROR_VC_DISCONNECTED syscall.Errno = 240 + ERROR_INVALID_EA_NAME syscall.Errno = 254 + ERROR_EA_LIST_INCONSISTENT syscall.Errno = 255 + WAIT_TIMEOUT syscall.Errno = 258 + ERROR_NO_MORE_ITEMS syscall.Errno = 259 + ERROR_CANNOT_COPY syscall.Errno = 266 + ERROR_DIRECTORY syscall.Errno = 267 + ERROR_EAS_DIDNT_FIT syscall.Errno = 275 + ERROR_EA_FILE_CORRUPT syscall.Errno = 276 + ERROR_EA_TABLE_FULL syscall.Errno = 277 + ERROR_INVALID_EA_HANDLE syscall.Errno = 278 + ERROR_EAS_NOT_SUPPORTED syscall.Errno = 282 + ERROR_NOT_OWNER syscall.Errno = 288 + ERROR_TOO_MANY_POSTS syscall.Errno = 298 + ERROR_PARTIAL_COPY syscall.Errno = 299 + ERROR_OPLOCK_NOT_GRANTED syscall.Errno = 300 + ERROR_INVALID_OPLOCK_PROTOCOL syscall.Errno = 301 + ERROR_DISK_TOO_FRAGMENTED syscall.Errno = 302 + ERROR_DELETE_PENDING syscall.Errno = 303 + ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING syscall.Errno = 304 + ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME syscall.Errno = 305 + ERROR_SECURITY_STREAM_IS_INCONSISTENT syscall.Errno = 306 + ERROR_INVALID_LOCK_RANGE syscall.Errno = 307 + ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT syscall.Errno = 308 + ERROR_NOTIFICATION_GUID_ALREADY_DEFINED syscall.Errno = 309 + ERROR_INVALID_EXCEPTION_HANDLER syscall.Errno = 310 + ERROR_DUPLICATE_PRIVILEGES syscall.Errno = 311 + ERROR_NO_RANGES_PROCESSED syscall.Errno = 312 + ERROR_NOT_ALLOWED_ON_SYSTEM_FILE syscall.Errno = 313 + ERROR_DISK_RESOURCES_EXHAUSTED syscall.Errno = 314 + ERROR_INVALID_TOKEN syscall.Errno = 315 + ERROR_DEVICE_FEATURE_NOT_SUPPORTED syscall.Errno = 316 + ERROR_MR_MID_NOT_FOUND syscall.Errno = 317 + ERROR_SCOPE_NOT_FOUND syscall.Errno = 318 + ERROR_UNDEFINED_SCOPE syscall.Errno = 319 + ERROR_INVALID_CAP syscall.Errno = 320 + ERROR_DEVICE_UNREACHABLE syscall.Errno = 321 + ERROR_DEVICE_NO_RESOURCES syscall.Errno = 322 + ERROR_DATA_CHECKSUM_ERROR syscall.Errno = 323 + ERROR_INTERMIXED_KERNEL_EA_OPERATION syscall.Errno = 324 + ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED syscall.Errno = 326 + ERROR_OFFSET_ALIGNMENT_VIOLATION syscall.Errno = 327 + ERROR_INVALID_FIELD_IN_PARAMETER_LIST syscall.Errno = 328 + ERROR_OPERATION_IN_PROGRESS syscall.Errno = 329 + ERROR_BAD_DEVICE_PATH syscall.Errno = 330 + ERROR_TOO_MANY_DESCRIPTORS syscall.Errno = 331 + ERROR_SCRUB_DATA_DISABLED syscall.Errno = 332 + ERROR_NOT_REDUNDANT_STORAGE syscall.Errno = 333 + ERROR_RESIDENT_FILE_NOT_SUPPORTED syscall.Errno = 334 + ERROR_COMPRESSED_FILE_NOT_SUPPORTED syscall.Errno = 335 + ERROR_DIRECTORY_NOT_SUPPORTED syscall.Errno = 336 + ERROR_NOT_READ_FROM_COPY syscall.Errno = 337 + ERROR_FT_WRITE_FAILURE syscall.Errno = 338 + ERROR_FT_DI_SCAN_REQUIRED syscall.Errno = 339 + ERROR_INVALID_KERNEL_INFO_VERSION syscall.Errno = 340 + ERROR_INVALID_PEP_INFO_VERSION syscall.Errno = 341 + ERROR_OBJECT_NOT_EXTERNALLY_BACKED syscall.Errno = 342 + ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN syscall.Errno = 343 + ERROR_COMPRESSION_NOT_BENEFICIAL syscall.Errno = 344 + ERROR_STORAGE_TOPOLOGY_ID_MISMATCH syscall.Errno = 345 + ERROR_BLOCKED_BY_PARENTAL_CONTROLS syscall.Errno = 346 + ERROR_BLOCK_TOO_MANY_REFERENCES syscall.Errno = 347 + ERROR_MARKED_TO_DISALLOW_WRITES syscall.Errno = 348 + ERROR_ENCLAVE_FAILURE syscall.Errno = 349 + ERROR_FAIL_NOACTION_REBOOT syscall.Errno = 350 + ERROR_FAIL_SHUTDOWN syscall.Errno = 351 + ERROR_FAIL_RESTART syscall.Errno = 352 + ERROR_MAX_SESSIONS_REACHED syscall.Errno = 353 + ERROR_NETWORK_ACCESS_DENIED_EDP syscall.Errno = 354 + ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL syscall.Errno = 355 + ERROR_EDP_POLICY_DENIES_OPERATION syscall.Errno = 356 + ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED syscall.Errno = 357 + ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT syscall.Errno = 358 + ERROR_DEVICE_IN_MAINTENANCE syscall.Errno = 359 + ERROR_NOT_SUPPORTED_ON_DAX syscall.Errno = 360 + ERROR_DAX_MAPPING_EXISTS syscall.Errno = 361 + ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING syscall.Errno = 362 + ERROR_CLOUD_FILE_METADATA_CORRUPT syscall.Errno = 363 + ERROR_CLOUD_FILE_METADATA_TOO_LARGE syscall.Errno = 364 + ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE syscall.Errno = 365 + ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH syscall.Errno = 366 + ERROR_CHILD_PROCESS_BLOCKED syscall.Errno = 367 + ERROR_STORAGE_LOST_DATA_PERSISTENCE syscall.Errno = 368 + ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE syscall.Errno = 369 + ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT syscall.Errno = 370 + ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY syscall.Errno = 371 + ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN syscall.Errno = 372 + ERROR_GDI_HANDLE_LEAK syscall.Errno = 373 + ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS syscall.Errno = 374 + ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED syscall.Errno = 375 + ERROR_NOT_A_CLOUD_FILE syscall.Errno = 376 + ERROR_CLOUD_FILE_NOT_IN_SYNC syscall.Errno = 377 + ERROR_CLOUD_FILE_ALREADY_CONNECTED syscall.Errno = 378 + ERROR_CLOUD_FILE_NOT_SUPPORTED syscall.Errno = 379 + ERROR_CLOUD_FILE_INVALID_REQUEST syscall.Errno = 380 + ERROR_CLOUD_FILE_READ_ONLY_VOLUME syscall.Errno = 381 + ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY syscall.Errno = 382 + ERROR_CLOUD_FILE_VALIDATION_FAILED syscall.Errno = 383 + ERROR_SMB1_NOT_AVAILABLE syscall.Errno = 384 + ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION syscall.Errno = 385 + ERROR_CLOUD_FILE_AUTHENTICATION_FAILED syscall.Errno = 386 + ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES syscall.Errno = 387 + ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE syscall.Errno = 388 + ERROR_CLOUD_FILE_UNSUCCESSFUL syscall.Errno = 389 + ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT syscall.Errno = 390 + ERROR_CLOUD_FILE_IN_USE syscall.Errno = 391 + ERROR_CLOUD_FILE_PINNED syscall.Errno = 392 + ERROR_CLOUD_FILE_REQUEST_ABORTED syscall.Errno = 393 + ERROR_CLOUD_FILE_PROPERTY_CORRUPT syscall.Errno = 394 + ERROR_CLOUD_FILE_ACCESS_DENIED syscall.Errno = 395 + ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS syscall.Errno = 396 + ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT syscall.Errno = 397 + ERROR_CLOUD_FILE_REQUEST_CANCELED syscall.Errno = 398 + ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED syscall.Errno = 399 + ERROR_THREAD_MODE_ALREADY_BACKGROUND syscall.Errno = 400 + ERROR_THREAD_MODE_NOT_BACKGROUND syscall.Errno = 401 + ERROR_PROCESS_MODE_ALREADY_BACKGROUND syscall.Errno = 402 + ERROR_PROCESS_MODE_NOT_BACKGROUND syscall.Errno = 403 + ERROR_CLOUD_FILE_PROVIDER_TERMINATED syscall.Errno = 404 + ERROR_NOT_A_CLOUD_SYNC_ROOT syscall.Errno = 405 + ERROR_FILE_PROTECTED_UNDER_DPL syscall.Errno = 406 + ERROR_VOLUME_NOT_CLUSTER_ALIGNED syscall.Errno = 407 + ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND syscall.Errno = 408 + ERROR_APPX_FILE_NOT_ENCRYPTED syscall.Errno = 409 + ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED syscall.Errno = 410 + ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET syscall.Errno = 411 + ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE syscall.Errno = 412 + ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER syscall.Errno = 413 + ERROR_LINUX_SUBSYSTEM_NOT_PRESENT syscall.Errno = 414 + ERROR_FT_READ_FAILURE syscall.Errno = 415 + ERROR_STORAGE_RESERVE_ID_INVALID syscall.Errno = 416 + ERROR_STORAGE_RESERVE_DOES_NOT_EXIST syscall.Errno = 417 + ERROR_STORAGE_RESERVE_ALREADY_EXISTS syscall.Errno = 418 + ERROR_STORAGE_RESERVE_NOT_EMPTY syscall.Errno = 419 + ERROR_NOT_A_DAX_VOLUME syscall.Errno = 420 + ERROR_NOT_DAX_MAPPABLE syscall.Errno = 421 + ERROR_TIME_CRITICAL_THREAD syscall.Errno = 422 + ERROR_DPL_NOT_SUPPORTED_FOR_USER syscall.Errno = 423 + ERROR_CASE_DIFFERING_NAMES_IN_DIR syscall.Errno = 424 + ERROR_CAPAUTHZ_NOT_DEVUNLOCKED syscall.Errno = 450 + ERROR_CAPAUTHZ_CHANGE_TYPE syscall.Errno = 451 + ERROR_CAPAUTHZ_NOT_PROVISIONED syscall.Errno = 452 + ERROR_CAPAUTHZ_NOT_AUTHORIZED syscall.Errno = 453 + ERROR_CAPAUTHZ_NO_POLICY syscall.Errno = 454 + ERROR_CAPAUTHZ_DB_CORRUPTED syscall.Errno = 455 + ERROR_CAPAUTHZ_SCCD_INVALID_CATALOG syscall.Errno = 456 + ERROR_CAPAUTHZ_SCCD_NO_AUTH_ENTITY syscall.Errno = 457 + ERROR_CAPAUTHZ_SCCD_PARSE_ERROR syscall.Errno = 458 + ERROR_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED syscall.Errno = 459 + ERROR_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH syscall.Errno = 460 + ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT syscall.Errno = 480 + ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT syscall.Errno = 481 + ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT syscall.Errno = 482 + ERROR_DEVICE_HARDWARE_ERROR syscall.Errno = 483 + ERROR_INVALID_ADDRESS syscall.Errno = 487 + ERROR_VRF_CFG_ENABLED syscall.Errno = 1183 + ERROR_PARTITION_TERMINATING syscall.Errno = 1184 + ERROR_USER_PROFILE_LOAD syscall.Errno = 500 + ERROR_ARITHMETIC_OVERFLOW syscall.Errno = 534 + ERROR_PIPE_CONNECTED syscall.Errno = 535 + ERROR_PIPE_LISTENING syscall.Errno = 536 + ERROR_VERIFIER_STOP syscall.Errno = 537 + ERROR_ABIOS_ERROR syscall.Errno = 538 + ERROR_WX86_WARNING syscall.Errno = 539 + ERROR_WX86_ERROR syscall.Errno = 540 + ERROR_TIMER_NOT_CANCELED syscall.Errno = 541 + ERROR_UNWIND syscall.Errno = 542 + ERROR_BAD_STACK syscall.Errno = 543 + ERROR_INVALID_UNWIND_TARGET syscall.Errno = 544 + ERROR_INVALID_PORT_ATTRIBUTES syscall.Errno = 545 + ERROR_PORT_MESSAGE_TOO_LONG syscall.Errno = 546 + ERROR_INVALID_QUOTA_LOWER syscall.Errno = 547 + ERROR_DEVICE_ALREADY_ATTACHED syscall.Errno = 548 + ERROR_INSTRUCTION_MISALIGNMENT syscall.Errno = 549 + ERROR_PROFILING_NOT_STARTED syscall.Errno = 550 + ERROR_PROFILING_NOT_STOPPED syscall.Errno = 551 + ERROR_COULD_NOT_INTERPRET syscall.Errno = 552 + ERROR_PROFILING_AT_LIMIT syscall.Errno = 553 + ERROR_CANT_WAIT syscall.Errno = 554 + ERROR_CANT_TERMINATE_SELF syscall.Errno = 555 + ERROR_UNEXPECTED_MM_CREATE_ERR syscall.Errno = 556 + ERROR_UNEXPECTED_MM_MAP_ERROR syscall.Errno = 557 + ERROR_UNEXPECTED_MM_EXTEND_ERR syscall.Errno = 558 + ERROR_BAD_FUNCTION_TABLE syscall.Errno = 559 + ERROR_NO_GUID_TRANSLATION syscall.Errno = 560 + ERROR_INVALID_LDT_SIZE syscall.Errno = 561 + ERROR_INVALID_LDT_OFFSET syscall.Errno = 563 + ERROR_INVALID_LDT_DESCRIPTOR syscall.Errno = 564 + ERROR_TOO_MANY_THREADS syscall.Errno = 565 + ERROR_THREAD_NOT_IN_PROCESS syscall.Errno = 566 + ERROR_PAGEFILE_QUOTA_EXCEEDED syscall.Errno = 567 + ERROR_LOGON_SERVER_CONFLICT syscall.Errno = 568 + ERROR_SYNCHRONIZATION_REQUIRED syscall.Errno = 569 + ERROR_NET_OPEN_FAILED syscall.Errno = 570 + ERROR_IO_PRIVILEGE_FAILED syscall.Errno = 571 + ERROR_CONTROL_C_EXIT syscall.Errno = 572 + ERROR_MISSING_SYSTEMFILE syscall.Errno = 573 + ERROR_UNHANDLED_EXCEPTION syscall.Errno = 574 + ERROR_APP_INIT_FAILURE syscall.Errno = 575 + ERROR_PAGEFILE_CREATE_FAILED syscall.Errno = 576 + ERROR_INVALID_IMAGE_HASH syscall.Errno = 577 + ERROR_NO_PAGEFILE syscall.Errno = 578 + ERROR_ILLEGAL_FLOAT_CONTEXT syscall.Errno = 579 + ERROR_NO_EVENT_PAIR syscall.Errno = 580 + ERROR_DOMAIN_CTRLR_CONFIG_ERROR syscall.Errno = 581 + ERROR_ILLEGAL_CHARACTER syscall.Errno = 582 + ERROR_UNDEFINED_CHARACTER syscall.Errno = 583 + ERROR_FLOPPY_VOLUME syscall.Errno = 584 + ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT syscall.Errno = 585 + ERROR_BACKUP_CONTROLLER syscall.Errno = 586 + ERROR_MUTANT_LIMIT_EXCEEDED syscall.Errno = 587 + ERROR_FS_DRIVER_REQUIRED syscall.Errno = 588 + ERROR_CANNOT_LOAD_REGISTRY_FILE syscall.Errno = 589 + ERROR_DEBUG_ATTACH_FAILED syscall.Errno = 590 + ERROR_SYSTEM_PROCESS_TERMINATED syscall.Errno = 591 + ERROR_DATA_NOT_ACCEPTED syscall.Errno = 592 + ERROR_VDM_HARD_ERROR syscall.Errno = 593 + ERROR_DRIVER_CANCEL_TIMEOUT syscall.Errno = 594 + ERROR_REPLY_MESSAGE_MISMATCH syscall.Errno = 595 + ERROR_LOST_WRITEBEHIND_DATA syscall.Errno = 596 + ERROR_CLIENT_SERVER_PARAMETERS_INVALID syscall.Errno = 597 + ERROR_NOT_TINY_STREAM syscall.Errno = 598 + ERROR_STACK_OVERFLOW_READ syscall.Errno = 599 + ERROR_CONVERT_TO_LARGE syscall.Errno = 600 + ERROR_FOUND_OUT_OF_SCOPE syscall.Errno = 601 + ERROR_ALLOCATE_BUCKET syscall.Errno = 602 + ERROR_MARSHALL_OVERFLOW syscall.Errno = 603 + ERROR_INVALID_VARIANT syscall.Errno = 604 + ERROR_BAD_COMPRESSION_BUFFER syscall.Errno = 605 + ERROR_AUDIT_FAILED syscall.Errno = 606 + ERROR_TIMER_RESOLUTION_NOT_SET syscall.Errno = 607 + ERROR_INSUFFICIENT_LOGON_INFO syscall.Errno = 608 + ERROR_BAD_DLL_ENTRYPOINT syscall.Errno = 609 + ERROR_BAD_SERVICE_ENTRYPOINT syscall.Errno = 610 + ERROR_IP_ADDRESS_CONFLICT1 syscall.Errno = 611 + ERROR_IP_ADDRESS_CONFLICT2 syscall.Errno = 612 + ERROR_REGISTRY_QUOTA_LIMIT syscall.Errno = 613 + ERROR_NO_CALLBACK_ACTIVE syscall.Errno = 614 + ERROR_PWD_TOO_SHORT syscall.Errno = 615 + ERROR_PWD_TOO_RECENT syscall.Errno = 616 + ERROR_PWD_HISTORY_CONFLICT syscall.Errno = 617 + ERROR_UNSUPPORTED_COMPRESSION syscall.Errno = 618 + ERROR_INVALID_HW_PROFILE syscall.Errno = 619 + ERROR_INVALID_PLUGPLAY_DEVICE_PATH syscall.Errno = 620 + ERROR_QUOTA_LIST_INCONSISTENT syscall.Errno = 621 + ERROR_EVALUATION_EXPIRATION syscall.Errno = 622 + ERROR_ILLEGAL_DLL_RELOCATION syscall.Errno = 623 + ERROR_DLL_INIT_FAILED_LOGOFF syscall.Errno = 624 + ERROR_VALIDATE_CONTINUE syscall.Errno = 625 + ERROR_NO_MORE_MATCHES syscall.Errno = 626 + ERROR_RANGE_LIST_CONFLICT syscall.Errno = 627 + ERROR_SERVER_SID_MISMATCH syscall.Errno = 628 + ERROR_CANT_ENABLE_DENY_ONLY syscall.Errno = 629 + ERROR_FLOAT_MULTIPLE_FAULTS syscall.Errno = 630 + ERROR_FLOAT_MULTIPLE_TRAPS syscall.Errno = 631 + ERROR_NOINTERFACE syscall.Errno = 632 + ERROR_DRIVER_FAILED_SLEEP syscall.Errno = 633 + ERROR_CORRUPT_SYSTEM_FILE syscall.Errno = 634 + ERROR_COMMITMENT_MINIMUM syscall.Errno = 635 + ERROR_PNP_RESTART_ENUMERATION syscall.Errno = 636 + ERROR_SYSTEM_IMAGE_BAD_SIGNATURE syscall.Errno = 637 + ERROR_PNP_REBOOT_REQUIRED syscall.Errno = 638 + ERROR_INSUFFICIENT_POWER syscall.Errno = 639 + ERROR_MULTIPLE_FAULT_VIOLATION syscall.Errno = 640 + ERROR_SYSTEM_SHUTDOWN syscall.Errno = 641 + ERROR_PORT_NOT_SET syscall.Errno = 642 + ERROR_DS_VERSION_CHECK_FAILURE syscall.Errno = 643 + ERROR_RANGE_NOT_FOUND syscall.Errno = 644 + ERROR_NOT_SAFE_MODE_DRIVER syscall.Errno = 646 + ERROR_FAILED_DRIVER_ENTRY syscall.Errno = 647 + ERROR_DEVICE_ENUMERATION_ERROR syscall.Errno = 648 + ERROR_MOUNT_POINT_NOT_RESOLVED syscall.Errno = 649 + ERROR_INVALID_DEVICE_OBJECT_PARAMETER syscall.Errno = 650 + ERROR_MCA_OCCURED syscall.Errno = 651 + ERROR_DRIVER_DATABASE_ERROR syscall.Errno = 652 + ERROR_SYSTEM_HIVE_TOO_LARGE syscall.Errno = 653 + ERROR_DRIVER_FAILED_PRIOR_UNLOAD syscall.Errno = 654 + ERROR_VOLSNAP_PREPARE_HIBERNATE syscall.Errno = 655 + ERROR_HIBERNATION_FAILURE syscall.Errno = 656 + ERROR_PWD_TOO_LONG syscall.Errno = 657 + ERROR_FILE_SYSTEM_LIMITATION syscall.Errno = 665 + ERROR_ASSERTION_FAILURE syscall.Errno = 668 + ERROR_ACPI_ERROR syscall.Errno = 669 + ERROR_WOW_ASSERTION syscall.Errno = 670 + ERROR_PNP_BAD_MPS_TABLE syscall.Errno = 671 + ERROR_PNP_TRANSLATION_FAILED syscall.Errno = 672 + ERROR_PNP_IRQ_TRANSLATION_FAILED syscall.Errno = 673 + ERROR_PNP_INVALID_ID syscall.Errno = 674 + ERROR_WAKE_SYSTEM_DEBUGGER syscall.Errno = 675 + ERROR_HANDLES_CLOSED syscall.Errno = 676 + ERROR_EXTRANEOUS_INFORMATION syscall.Errno = 677 + ERROR_RXACT_COMMIT_NECESSARY syscall.Errno = 678 + ERROR_MEDIA_CHECK syscall.Errno = 679 + ERROR_GUID_SUBSTITUTION_MADE syscall.Errno = 680 + ERROR_STOPPED_ON_SYMLINK syscall.Errno = 681 + ERROR_LONGJUMP syscall.Errno = 682 + ERROR_PLUGPLAY_QUERY_VETOED syscall.Errno = 683 + ERROR_UNWIND_CONSOLIDATE syscall.Errno = 684 + ERROR_REGISTRY_HIVE_RECOVERED syscall.Errno = 685 + ERROR_DLL_MIGHT_BE_INSECURE syscall.Errno = 686 + ERROR_DLL_MIGHT_BE_INCOMPATIBLE syscall.Errno = 687 + ERROR_DBG_EXCEPTION_NOT_HANDLED syscall.Errno = 688 + ERROR_DBG_REPLY_LATER syscall.Errno = 689 + ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE syscall.Errno = 690 + ERROR_DBG_TERMINATE_THREAD syscall.Errno = 691 + ERROR_DBG_TERMINATE_PROCESS syscall.Errno = 692 + ERROR_DBG_CONTROL_C syscall.Errno = 693 + ERROR_DBG_PRINTEXCEPTION_C syscall.Errno = 694 + ERROR_DBG_RIPEXCEPTION syscall.Errno = 695 + ERROR_DBG_CONTROL_BREAK syscall.Errno = 696 + ERROR_DBG_COMMAND_EXCEPTION syscall.Errno = 697 + ERROR_OBJECT_NAME_EXISTS syscall.Errno = 698 + ERROR_THREAD_WAS_SUSPENDED syscall.Errno = 699 + ERROR_IMAGE_NOT_AT_BASE syscall.Errno = 700 + ERROR_RXACT_STATE_CREATED syscall.Errno = 701 + ERROR_SEGMENT_NOTIFICATION syscall.Errno = 702 + ERROR_BAD_CURRENT_DIRECTORY syscall.Errno = 703 + ERROR_FT_READ_RECOVERY_FROM_BACKUP syscall.Errno = 704 + ERROR_FT_WRITE_RECOVERY syscall.Errno = 705 + ERROR_IMAGE_MACHINE_TYPE_MISMATCH syscall.Errno = 706 + ERROR_RECEIVE_PARTIAL syscall.Errno = 707 + ERROR_RECEIVE_EXPEDITED syscall.Errno = 708 + ERROR_RECEIVE_PARTIAL_EXPEDITED syscall.Errno = 709 + ERROR_EVENT_DONE syscall.Errno = 710 + ERROR_EVENT_PENDING syscall.Errno = 711 + ERROR_CHECKING_FILE_SYSTEM syscall.Errno = 712 + ERROR_FATAL_APP_EXIT syscall.Errno = 713 + ERROR_PREDEFINED_HANDLE syscall.Errno = 714 + ERROR_WAS_UNLOCKED syscall.Errno = 715 + ERROR_SERVICE_NOTIFICATION syscall.Errno = 716 + ERROR_WAS_LOCKED syscall.Errno = 717 + ERROR_LOG_HARD_ERROR syscall.Errno = 718 + ERROR_ALREADY_WIN32 syscall.Errno = 719 + ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE syscall.Errno = 720 + ERROR_NO_YIELD_PERFORMED syscall.Errno = 721 + ERROR_TIMER_RESUME_IGNORED syscall.Errno = 722 + ERROR_ARBITRATION_UNHANDLED syscall.Errno = 723 + ERROR_CARDBUS_NOT_SUPPORTED syscall.Errno = 724 + ERROR_MP_PROCESSOR_MISMATCH syscall.Errno = 725 + ERROR_HIBERNATED syscall.Errno = 726 + ERROR_RESUME_HIBERNATION syscall.Errno = 727 + ERROR_FIRMWARE_UPDATED syscall.Errno = 728 + ERROR_DRIVERS_LEAKING_LOCKED_PAGES syscall.Errno = 729 + ERROR_WAKE_SYSTEM syscall.Errno = 730 + ERROR_WAIT_1 syscall.Errno = 731 + ERROR_WAIT_2 syscall.Errno = 732 + ERROR_WAIT_3 syscall.Errno = 733 + ERROR_WAIT_63 syscall.Errno = 734 + ERROR_ABANDONED_WAIT_0 syscall.Errno = 735 + ERROR_ABANDONED_WAIT_63 syscall.Errno = 736 + ERROR_USER_APC syscall.Errno = 737 + ERROR_KERNEL_APC syscall.Errno = 738 + ERROR_ALERTED syscall.Errno = 739 + ERROR_ELEVATION_REQUIRED syscall.Errno = 740 + ERROR_REPARSE syscall.Errno = 741 + ERROR_OPLOCK_BREAK_IN_PROGRESS syscall.Errno = 742 + ERROR_VOLUME_MOUNTED syscall.Errno = 743 + ERROR_RXACT_COMMITTED syscall.Errno = 744 + ERROR_NOTIFY_CLEANUP syscall.Errno = 745 + ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED syscall.Errno = 746 + ERROR_PAGE_FAULT_TRANSITION syscall.Errno = 747 + ERROR_PAGE_FAULT_DEMAND_ZERO syscall.Errno = 748 + ERROR_PAGE_FAULT_COPY_ON_WRITE syscall.Errno = 749 + ERROR_PAGE_FAULT_GUARD_PAGE syscall.Errno = 750 + ERROR_PAGE_FAULT_PAGING_FILE syscall.Errno = 751 + ERROR_CACHE_PAGE_LOCKED syscall.Errno = 752 + ERROR_CRASH_DUMP syscall.Errno = 753 + ERROR_BUFFER_ALL_ZEROS syscall.Errno = 754 + ERROR_REPARSE_OBJECT syscall.Errno = 755 + ERROR_RESOURCE_REQUIREMENTS_CHANGED syscall.Errno = 756 + ERROR_TRANSLATION_COMPLETE syscall.Errno = 757 + ERROR_NOTHING_TO_TERMINATE syscall.Errno = 758 + ERROR_PROCESS_NOT_IN_JOB syscall.Errno = 759 + ERROR_PROCESS_IN_JOB syscall.Errno = 760 + ERROR_VOLSNAP_HIBERNATE_READY syscall.Errno = 761 + ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY syscall.Errno = 762 + ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED syscall.Errno = 763 + ERROR_INTERRUPT_STILL_CONNECTED syscall.Errno = 764 + ERROR_WAIT_FOR_OPLOCK syscall.Errno = 765 + ERROR_DBG_EXCEPTION_HANDLED syscall.Errno = 766 + ERROR_DBG_CONTINUE syscall.Errno = 767 + ERROR_CALLBACK_POP_STACK syscall.Errno = 768 + ERROR_COMPRESSION_DISABLED syscall.Errno = 769 + ERROR_CANTFETCHBACKWARDS syscall.Errno = 770 + ERROR_CANTSCROLLBACKWARDS syscall.Errno = 771 + ERROR_ROWSNOTRELEASED syscall.Errno = 772 + ERROR_BAD_ACCESSOR_FLAGS syscall.Errno = 773 + ERROR_ERRORS_ENCOUNTERED syscall.Errno = 774 + ERROR_NOT_CAPABLE syscall.Errno = 775 + ERROR_REQUEST_OUT_OF_SEQUENCE syscall.Errno = 776 + ERROR_VERSION_PARSE_ERROR syscall.Errno = 777 + ERROR_BADSTARTPOSITION syscall.Errno = 778 + ERROR_MEMORY_HARDWARE syscall.Errno = 779 + ERROR_DISK_REPAIR_DISABLED syscall.Errno = 780 + ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE syscall.Errno = 781 + ERROR_SYSTEM_POWERSTATE_TRANSITION syscall.Errno = 782 + ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION syscall.Errno = 783 + ERROR_MCA_EXCEPTION syscall.Errno = 784 + ERROR_ACCESS_AUDIT_BY_POLICY syscall.Errno = 785 + ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY syscall.Errno = 786 + ERROR_ABANDON_HIBERFILE syscall.Errno = 787 + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED syscall.Errno = 788 + ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR syscall.Errno = 789 + ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR syscall.Errno = 790 + ERROR_BAD_MCFG_TABLE syscall.Errno = 791 + ERROR_DISK_REPAIR_REDIRECTED syscall.Errno = 792 + ERROR_DISK_REPAIR_UNSUCCESSFUL syscall.Errno = 793 + ERROR_CORRUPT_LOG_OVERFULL syscall.Errno = 794 + ERROR_CORRUPT_LOG_CORRUPTED syscall.Errno = 795 + ERROR_CORRUPT_LOG_UNAVAILABLE syscall.Errno = 796 + ERROR_CORRUPT_LOG_DELETED_FULL syscall.Errno = 797 + ERROR_CORRUPT_LOG_CLEARED syscall.Errno = 798 + ERROR_ORPHAN_NAME_EXHAUSTED syscall.Errno = 799 + ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE syscall.Errno = 800 + ERROR_CANNOT_GRANT_REQUESTED_OPLOCK syscall.Errno = 801 + ERROR_CANNOT_BREAK_OPLOCK syscall.Errno = 802 + ERROR_OPLOCK_HANDLE_CLOSED syscall.Errno = 803 + ERROR_NO_ACE_CONDITION syscall.Errno = 804 + ERROR_INVALID_ACE_CONDITION syscall.Errno = 805 + ERROR_FILE_HANDLE_REVOKED syscall.Errno = 806 + ERROR_IMAGE_AT_DIFFERENT_BASE syscall.Errno = 807 + ERROR_ENCRYPTED_IO_NOT_POSSIBLE syscall.Errno = 808 + ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS syscall.Errno = 809 + ERROR_QUOTA_ACTIVITY syscall.Errno = 810 + ERROR_HANDLE_REVOKED syscall.Errno = 811 + ERROR_CALLBACK_INVOKE_INLINE syscall.Errno = 812 + ERROR_CPU_SET_INVALID syscall.Errno = 813 + ERROR_ENCLAVE_NOT_TERMINATED syscall.Errno = 814 + ERROR_ENCLAVE_VIOLATION syscall.Errno = 815 + ERROR_EA_ACCESS_DENIED syscall.Errno = 994 + ERROR_OPERATION_ABORTED syscall.Errno = 995 + ERROR_IO_INCOMPLETE syscall.Errno = 996 + ERROR_IO_PENDING syscall.Errno = 997 + ERROR_NOACCESS syscall.Errno = 998 + ERROR_SWAPERROR syscall.Errno = 999 + ERROR_STACK_OVERFLOW syscall.Errno = 1001 + ERROR_INVALID_MESSAGE syscall.Errno = 1002 + ERROR_CAN_NOT_COMPLETE syscall.Errno = 1003 + ERROR_INVALID_FLAGS syscall.Errno = 1004 + ERROR_UNRECOGNIZED_VOLUME syscall.Errno = 1005 + ERROR_FILE_INVALID syscall.Errno = 1006 + ERROR_FULLSCREEN_MODE syscall.Errno = 1007 + ERROR_NO_TOKEN syscall.Errno = 1008 + ERROR_BADDB syscall.Errno = 1009 + ERROR_BADKEY syscall.Errno = 1010 + ERROR_CANTOPEN syscall.Errno = 1011 + ERROR_CANTREAD syscall.Errno = 1012 + ERROR_CANTWRITE syscall.Errno = 1013 + ERROR_REGISTRY_RECOVERED syscall.Errno = 1014 + ERROR_REGISTRY_CORRUPT syscall.Errno = 1015 + ERROR_REGISTRY_IO_FAILED syscall.Errno = 1016 + ERROR_NOT_REGISTRY_FILE syscall.Errno = 1017 + ERROR_KEY_DELETED syscall.Errno = 1018 + ERROR_NO_LOG_SPACE syscall.Errno = 1019 + ERROR_KEY_HAS_CHILDREN syscall.Errno = 1020 + ERROR_CHILD_MUST_BE_VOLATILE syscall.Errno = 1021 + ERROR_NOTIFY_ENUM_DIR syscall.Errno = 1022 + ERROR_DEPENDENT_SERVICES_RUNNING syscall.Errno = 1051 + ERROR_INVALID_SERVICE_CONTROL syscall.Errno = 1052 + ERROR_SERVICE_REQUEST_TIMEOUT syscall.Errno = 1053 + ERROR_SERVICE_NO_THREAD syscall.Errno = 1054 + ERROR_SERVICE_DATABASE_LOCKED syscall.Errno = 1055 + ERROR_SERVICE_ALREADY_RUNNING syscall.Errno = 1056 + ERROR_INVALID_SERVICE_ACCOUNT syscall.Errno = 1057 + ERROR_SERVICE_DISABLED syscall.Errno = 1058 + ERROR_CIRCULAR_DEPENDENCY syscall.Errno = 1059 + ERROR_SERVICE_DOES_NOT_EXIST syscall.Errno = 1060 + ERROR_SERVICE_CANNOT_ACCEPT_CTRL syscall.Errno = 1061 + ERROR_SERVICE_NOT_ACTIVE syscall.Errno = 1062 + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT syscall.Errno = 1063 + ERROR_EXCEPTION_IN_SERVICE syscall.Errno = 1064 + ERROR_DATABASE_DOES_NOT_EXIST syscall.Errno = 1065 + ERROR_SERVICE_SPECIFIC_ERROR syscall.Errno = 1066 + ERROR_PROCESS_ABORTED syscall.Errno = 1067 + ERROR_SERVICE_DEPENDENCY_FAIL syscall.Errno = 1068 + ERROR_SERVICE_LOGON_FAILED syscall.Errno = 1069 + ERROR_SERVICE_START_HANG syscall.Errno = 1070 + ERROR_INVALID_SERVICE_LOCK syscall.Errno = 1071 + ERROR_SERVICE_MARKED_FOR_DELETE syscall.Errno = 1072 + ERROR_SERVICE_EXISTS syscall.Errno = 1073 + ERROR_ALREADY_RUNNING_LKG syscall.Errno = 1074 + ERROR_SERVICE_DEPENDENCY_DELETED syscall.Errno = 1075 + ERROR_BOOT_ALREADY_ACCEPTED syscall.Errno = 1076 + ERROR_SERVICE_NEVER_STARTED syscall.Errno = 1077 + ERROR_DUPLICATE_SERVICE_NAME syscall.Errno = 1078 + ERROR_DIFFERENT_SERVICE_ACCOUNT syscall.Errno = 1079 + ERROR_CANNOT_DETECT_DRIVER_FAILURE syscall.Errno = 1080 + ERROR_CANNOT_DETECT_PROCESS_ABORT syscall.Errno = 1081 + ERROR_NO_RECOVERY_PROGRAM syscall.Errno = 1082 + ERROR_SERVICE_NOT_IN_EXE syscall.Errno = 1083 + ERROR_NOT_SAFEBOOT_SERVICE syscall.Errno = 1084 + ERROR_END_OF_MEDIA syscall.Errno = 1100 + ERROR_FILEMARK_DETECTED syscall.Errno = 1101 + ERROR_BEGINNING_OF_MEDIA syscall.Errno = 1102 + ERROR_SETMARK_DETECTED syscall.Errno = 1103 + ERROR_NO_DATA_DETECTED syscall.Errno = 1104 + ERROR_PARTITION_FAILURE syscall.Errno = 1105 + ERROR_INVALID_BLOCK_LENGTH syscall.Errno = 1106 + ERROR_DEVICE_NOT_PARTITIONED syscall.Errno = 1107 + ERROR_UNABLE_TO_LOCK_MEDIA syscall.Errno = 1108 + ERROR_UNABLE_TO_UNLOAD_MEDIA syscall.Errno = 1109 + ERROR_MEDIA_CHANGED syscall.Errno = 1110 + ERROR_BUS_RESET syscall.Errno = 1111 + ERROR_NO_MEDIA_IN_DRIVE syscall.Errno = 1112 + ERROR_NO_UNICODE_TRANSLATION syscall.Errno = 1113 + ERROR_DLL_INIT_FAILED syscall.Errno = 1114 + ERROR_SHUTDOWN_IN_PROGRESS syscall.Errno = 1115 + ERROR_NO_SHUTDOWN_IN_PROGRESS syscall.Errno = 1116 + ERROR_IO_DEVICE syscall.Errno = 1117 + ERROR_SERIAL_NO_DEVICE syscall.Errno = 1118 + ERROR_IRQ_BUSY syscall.Errno = 1119 + ERROR_MORE_WRITES syscall.Errno = 1120 + ERROR_COUNTER_TIMEOUT syscall.Errno = 1121 + ERROR_FLOPPY_ID_MARK_NOT_FOUND syscall.Errno = 1122 + ERROR_FLOPPY_WRONG_CYLINDER syscall.Errno = 1123 + ERROR_FLOPPY_UNKNOWN_ERROR syscall.Errno = 1124 + ERROR_FLOPPY_BAD_REGISTERS syscall.Errno = 1125 + ERROR_DISK_RECALIBRATE_FAILED syscall.Errno = 1126 + ERROR_DISK_OPERATION_FAILED syscall.Errno = 1127 + ERROR_DISK_RESET_FAILED syscall.Errno = 1128 + ERROR_EOM_OVERFLOW syscall.Errno = 1129 + ERROR_NOT_ENOUGH_SERVER_MEMORY syscall.Errno = 1130 + ERROR_POSSIBLE_DEADLOCK syscall.Errno = 1131 + ERROR_MAPPED_ALIGNMENT syscall.Errno = 1132 + ERROR_SET_POWER_STATE_VETOED syscall.Errno = 1140 + ERROR_SET_POWER_STATE_FAILED syscall.Errno = 1141 + ERROR_TOO_MANY_LINKS syscall.Errno = 1142 + ERROR_OLD_WIN_VERSION syscall.Errno = 1150 + ERROR_APP_WRONG_OS syscall.Errno = 1151 + ERROR_SINGLE_INSTANCE_APP syscall.Errno = 1152 + ERROR_RMODE_APP syscall.Errno = 1153 + ERROR_INVALID_DLL syscall.Errno = 1154 + ERROR_NO_ASSOCIATION syscall.Errno = 1155 + ERROR_DDE_FAIL syscall.Errno = 1156 + ERROR_DLL_NOT_FOUND syscall.Errno = 1157 + ERROR_NO_MORE_USER_HANDLES syscall.Errno = 1158 + ERROR_MESSAGE_SYNC_ONLY syscall.Errno = 1159 + ERROR_SOURCE_ELEMENT_EMPTY syscall.Errno = 1160 + ERROR_DESTINATION_ELEMENT_FULL syscall.Errno = 1161 + ERROR_ILLEGAL_ELEMENT_ADDRESS syscall.Errno = 1162 + ERROR_MAGAZINE_NOT_PRESENT syscall.Errno = 1163 + ERROR_DEVICE_REINITIALIZATION_NEEDED syscall.Errno = 1164 + ERROR_DEVICE_REQUIRES_CLEANING syscall.Errno = 1165 + ERROR_DEVICE_DOOR_OPEN syscall.Errno = 1166 + ERROR_DEVICE_NOT_CONNECTED syscall.Errno = 1167 + ERROR_NOT_FOUND syscall.Errno = 1168 + ERROR_NO_MATCH syscall.Errno = 1169 + ERROR_SET_NOT_FOUND syscall.Errno = 1170 + ERROR_POINT_NOT_FOUND syscall.Errno = 1171 + ERROR_NO_TRACKING_SERVICE syscall.Errno = 1172 + ERROR_NO_VOLUME_ID syscall.Errno = 1173 + ERROR_UNABLE_TO_REMOVE_REPLACED syscall.Errno = 1175 + ERROR_UNABLE_TO_MOVE_REPLACEMENT syscall.Errno = 1176 + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 syscall.Errno = 1177 + ERROR_JOURNAL_DELETE_IN_PROGRESS syscall.Errno = 1178 + ERROR_JOURNAL_NOT_ACTIVE syscall.Errno = 1179 + ERROR_POTENTIAL_FILE_FOUND syscall.Errno = 1180 + ERROR_JOURNAL_ENTRY_DELETED syscall.Errno = 1181 + ERROR_SHUTDOWN_IS_SCHEDULED syscall.Errno = 1190 + ERROR_SHUTDOWN_USERS_LOGGED_ON syscall.Errno = 1191 + ERROR_BAD_DEVICE syscall.Errno = 1200 + ERROR_CONNECTION_UNAVAIL syscall.Errno = 1201 + ERROR_DEVICE_ALREADY_REMEMBERED syscall.Errno = 1202 + ERROR_NO_NET_OR_BAD_PATH syscall.Errno = 1203 + ERROR_BAD_PROVIDER syscall.Errno = 1204 + ERROR_CANNOT_OPEN_PROFILE syscall.Errno = 1205 + ERROR_BAD_PROFILE syscall.Errno = 1206 + ERROR_NOT_CONTAINER syscall.Errno = 1207 + ERROR_EXTENDED_ERROR syscall.Errno = 1208 + ERROR_INVALID_GROUPNAME syscall.Errno = 1209 + ERROR_INVALID_COMPUTERNAME syscall.Errno = 1210 + ERROR_INVALID_EVENTNAME syscall.Errno = 1211 + ERROR_INVALID_DOMAINNAME syscall.Errno = 1212 + ERROR_INVALID_SERVICENAME syscall.Errno = 1213 + ERROR_INVALID_NETNAME syscall.Errno = 1214 + ERROR_INVALID_SHARENAME syscall.Errno = 1215 + ERROR_INVALID_PASSWORDNAME syscall.Errno = 1216 + ERROR_INVALID_MESSAGENAME syscall.Errno = 1217 + ERROR_INVALID_MESSAGEDEST syscall.Errno = 1218 + ERROR_SESSION_CREDENTIAL_CONFLICT syscall.Errno = 1219 + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED syscall.Errno = 1220 + ERROR_DUP_DOMAINNAME syscall.Errno = 1221 + ERROR_NO_NETWORK syscall.Errno = 1222 + ERROR_CANCELLED syscall.Errno = 1223 + ERROR_USER_MAPPED_FILE syscall.Errno = 1224 + ERROR_CONNECTION_REFUSED syscall.Errno = 1225 + ERROR_GRACEFUL_DISCONNECT syscall.Errno = 1226 + ERROR_ADDRESS_ALREADY_ASSOCIATED syscall.Errno = 1227 + ERROR_ADDRESS_NOT_ASSOCIATED syscall.Errno = 1228 + ERROR_CONNECTION_INVALID syscall.Errno = 1229 + ERROR_CONNECTION_ACTIVE syscall.Errno = 1230 + ERROR_NETWORK_UNREACHABLE syscall.Errno = 1231 + ERROR_HOST_UNREACHABLE syscall.Errno = 1232 + ERROR_PROTOCOL_UNREACHABLE syscall.Errno = 1233 + ERROR_PORT_UNREACHABLE syscall.Errno = 1234 + ERROR_REQUEST_ABORTED syscall.Errno = 1235 + ERROR_CONNECTION_ABORTED syscall.Errno = 1236 + ERROR_RETRY syscall.Errno = 1237 + ERROR_CONNECTION_COUNT_LIMIT syscall.Errno = 1238 + ERROR_LOGIN_TIME_RESTRICTION syscall.Errno = 1239 + ERROR_LOGIN_WKSTA_RESTRICTION syscall.Errno = 1240 + ERROR_INCORRECT_ADDRESS syscall.Errno = 1241 + ERROR_ALREADY_REGISTERED syscall.Errno = 1242 + ERROR_SERVICE_NOT_FOUND syscall.Errno = 1243 + ERROR_NOT_AUTHENTICATED syscall.Errno = 1244 + ERROR_NOT_LOGGED_ON syscall.Errno = 1245 + ERROR_CONTINUE syscall.Errno = 1246 + ERROR_ALREADY_INITIALIZED syscall.Errno = 1247 + ERROR_NO_MORE_DEVICES syscall.Errno = 1248 + ERROR_NO_SUCH_SITE syscall.Errno = 1249 + ERROR_DOMAIN_CONTROLLER_EXISTS syscall.Errno = 1250 + ERROR_ONLY_IF_CONNECTED syscall.Errno = 1251 + ERROR_OVERRIDE_NOCHANGES syscall.Errno = 1252 + ERROR_BAD_USER_PROFILE syscall.Errno = 1253 + ERROR_NOT_SUPPORTED_ON_SBS syscall.Errno = 1254 + ERROR_SERVER_SHUTDOWN_IN_PROGRESS syscall.Errno = 1255 + ERROR_HOST_DOWN syscall.Errno = 1256 + ERROR_NON_ACCOUNT_SID syscall.Errno = 1257 + ERROR_NON_DOMAIN_SID syscall.Errno = 1258 + ERROR_APPHELP_BLOCK syscall.Errno = 1259 + ERROR_ACCESS_DISABLED_BY_POLICY syscall.Errno = 1260 + ERROR_REG_NAT_CONSUMPTION syscall.Errno = 1261 + ERROR_CSCSHARE_OFFLINE syscall.Errno = 1262 + ERROR_PKINIT_FAILURE syscall.Errno = 1263 + ERROR_SMARTCARD_SUBSYSTEM_FAILURE syscall.Errno = 1264 + ERROR_DOWNGRADE_DETECTED syscall.Errno = 1265 + ERROR_MACHINE_LOCKED syscall.Errno = 1271 + ERROR_SMB_GUEST_LOGON_BLOCKED syscall.Errno = 1272 + ERROR_CALLBACK_SUPPLIED_INVALID_DATA syscall.Errno = 1273 + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED syscall.Errno = 1274 + ERROR_DRIVER_BLOCKED syscall.Errno = 1275 + ERROR_INVALID_IMPORT_OF_NON_DLL syscall.Errno = 1276 + ERROR_ACCESS_DISABLED_WEBBLADE syscall.Errno = 1277 + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER syscall.Errno = 1278 + ERROR_RECOVERY_FAILURE syscall.Errno = 1279 + ERROR_ALREADY_FIBER syscall.Errno = 1280 + ERROR_ALREADY_THREAD syscall.Errno = 1281 + ERROR_STACK_BUFFER_OVERRUN syscall.Errno = 1282 + ERROR_PARAMETER_QUOTA_EXCEEDED syscall.Errno = 1283 + ERROR_DEBUGGER_INACTIVE syscall.Errno = 1284 + ERROR_DELAY_LOAD_FAILED syscall.Errno = 1285 + ERROR_VDM_DISALLOWED syscall.Errno = 1286 + ERROR_UNIDENTIFIED_ERROR syscall.Errno = 1287 + ERROR_INVALID_CRUNTIME_PARAMETER syscall.Errno = 1288 + ERROR_BEYOND_VDL syscall.Errno = 1289 + ERROR_INCOMPATIBLE_SERVICE_SID_TYPE syscall.Errno = 1290 + ERROR_DRIVER_PROCESS_TERMINATED syscall.Errno = 1291 + ERROR_IMPLEMENTATION_LIMIT syscall.Errno = 1292 + ERROR_PROCESS_IS_PROTECTED syscall.Errno = 1293 + ERROR_SERVICE_NOTIFY_CLIENT_LAGGING syscall.Errno = 1294 + ERROR_DISK_QUOTA_EXCEEDED syscall.Errno = 1295 + ERROR_CONTENT_BLOCKED syscall.Errno = 1296 + ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE syscall.Errno = 1297 + ERROR_APP_HANG syscall.Errno = 1298 + ERROR_INVALID_LABEL syscall.Errno = 1299 + ERROR_NOT_ALL_ASSIGNED syscall.Errno = 1300 + ERROR_SOME_NOT_MAPPED syscall.Errno = 1301 + ERROR_NO_QUOTAS_FOR_ACCOUNT syscall.Errno = 1302 + ERROR_LOCAL_USER_SESSION_KEY syscall.Errno = 1303 + ERROR_NULL_LM_PASSWORD syscall.Errno = 1304 + ERROR_UNKNOWN_REVISION syscall.Errno = 1305 + ERROR_REVISION_MISMATCH syscall.Errno = 1306 + ERROR_INVALID_OWNER syscall.Errno = 1307 + ERROR_INVALID_PRIMARY_GROUP syscall.Errno = 1308 + ERROR_NO_IMPERSONATION_TOKEN syscall.Errno = 1309 + ERROR_CANT_DISABLE_MANDATORY syscall.Errno = 1310 + ERROR_NO_LOGON_SERVERS syscall.Errno = 1311 + ERROR_NO_SUCH_LOGON_SESSION syscall.Errno = 1312 + ERROR_NO_SUCH_PRIVILEGE syscall.Errno = 1313 + ERROR_PRIVILEGE_NOT_HELD syscall.Errno = 1314 + ERROR_INVALID_ACCOUNT_NAME syscall.Errno = 1315 + ERROR_USER_EXISTS syscall.Errno = 1316 + ERROR_NO_SUCH_USER syscall.Errno = 1317 + ERROR_GROUP_EXISTS syscall.Errno = 1318 + ERROR_NO_SUCH_GROUP syscall.Errno = 1319 + ERROR_MEMBER_IN_GROUP syscall.Errno = 1320 + ERROR_MEMBER_NOT_IN_GROUP syscall.Errno = 1321 + ERROR_LAST_ADMIN syscall.Errno = 1322 + ERROR_WRONG_PASSWORD syscall.Errno = 1323 + ERROR_ILL_FORMED_PASSWORD syscall.Errno = 1324 + ERROR_PASSWORD_RESTRICTION syscall.Errno = 1325 + ERROR_LOGON_FAILURE syscall.Errno = 1326 + ERROR_ACCOUNT_RESTRICTION syscall.Errno = 1327 + ERROR_INVALID_LOGON_HOURS syscall.Errno = 1328 + ERROR_INVALID_WORKSTATION syscall.Errno = 1329 + ERROR_PASSWORD_EXPIRED syscall.Errno = 1330 + ERROR_ACCOUNT_DISABLED syscall.Errno = 1331 + ERROR_NONE_MAPPED syscall.Errno = 1332 + ERROR_TOO_MANY_LUIDS_REQUESTED syscall.Errno = 1333 + ERROR_LUIDS_EXHAUSTED syscall.Errno = 1334 + ERROR_INVALID_SUB_AUTHORITY syscall.Errno = 1335 + ERROR_INVALID_ACL syscall.Errno = 1336 + ERROR_INVALID_SID syscall.Errno = 1337 + ERROR_INVALID_SECURITY_DESCR syscall.Errno = 1338 + ERROR_BAD_INHERITANCE_ACL syscall.Errno = 1340 + ERROR_SERVER_DISABLED syscall.Errno = 1341 + ERROR_SERVER_NOT_DISABLED syscall.Errno = 1342 + ERROR_INVALID_ID_AUTHORITY syscall.Errno = 1343 + ERROR_ALLOTTED_SPACE_EXCEEDED syscall.Errno = 1344 + ERROR_INVALID_GROUP_ATTRIBUTES syscall.Errno = 1345 + ERROR_BAD_IMPERSONATION_LEVEL syscall.Errno = 1346 + ERROR_CANT_OPEN_ANONYMOUS syscall.Errno = 1347 + ERROR_BAD_VALIDATION_CLASS syscall.Errno = 1348 + ERROR_BAD_TOKEN_TYPE syscall.Errno = 1349 + ERROR_NO_SECURITY_ON_OBJECT syscall.Errno = 1350 + ERROR_CANT_ACCESS_DOMAIN_INFO syscall.Errno = 1351 + ERROR_INVALID_SERVER_STATE syscall.Errno = 1352 + ERROR_INVALID_DOMAIN_STATE syscall.Errno = 1353 + ERROR_INVALID_DOMAIN_ROLE syscall.Errno = 1354 + ERROR_NO_SUCH_DOMAIN syscall.Errno = 1355 + ERROR_DOMAIN_EXISTS syscall.Errno = 1356 + ERROR_DOMAIN_LIMIT_EXCEEDED syscall.Errno = 1357 + ERROR_INTERNAL_DB_CORRUPTION syscall.Errno = 1358 + ERROR_INTERNAL_ERROR syscall.Errno = 1359 + ERROR_GENERIC_NOT_MAPPED syscall.Errno = 1360 + ERROR_BAD_DESCRIPTOR_FORMAT syscall.Errno = 1361 + ERROR_NOT_LOGON_PROCESS syscall.Errno = 1362 + ERROR_LOGON_SESSION_EXISTS syscall.Errno = 1363 + ERROR_NO_SUCH_PACKAGE syscall.Errno = 1364 + ERROR_BAD_LOGON_SESSION_STATE syscall.Errno = 1365 + ERROR_LOGON_SESSION_COLLISION syscall.Errno = 1366 + ERROR_INVALID_LOGON_TYPE syscall.Errno = 1367 + ERROR_CANNOT_IMPERSONATE syscall.Errno = 1368 + ERROR_RXACT_INVALID_STATE syscall.Errno = 1369 + ERROR_RXACT_COMMIT_FAILURE syscall.Errno = 1370 + ERROR_SPECIAL_ACCOUNT syscall.Errno = 1371 + ERROR_SPECIAL_GROUP syscall.Errno = 1372 + ERROR_SPECIAL_USER syscall.Errno = 1373 + ERROR_MEMBERS_PRIMARY_GROUP syscall.Errno = 1374 + ERROR_TOKEN_ALREADY_IN_USE syscall.Errno = 1375 + ERROR_NO_SUCH_ALIAS syscall.Errno = 1376 + ERROR_MEMBER_NOT_IN_ALIAS syscall.Errno = 1377 + ERROR_MEMBER_IN_ALIAS syscall.Errno = 1378 + ERROR_ALIAS_EXISTS syscall.Errno = 1379 + ERROR_LOGON_NOT_GRANTED syscall.Errno = 1380 + ERROR_TOO_MANY_SECRETS syscall.Errno = 1381 + ERROR_SECRET_TOO_LONG syscall.Errno = 1382 + ERROR_INTERNAL_DB_ERROR syscall.Errno = 1383 + ERROR_TOO_MANY_CONTEXT_IDS syscall.Errno = 1384 + ERROR_LOGON_TYPE_NOT_GRANTED syscall.Errno = 1385 + ERROR_NT_CROSS_ENCRYPTION_REQUIRED syscall.Errno = 1386 + ERROR_NO_SUCH_MEMBER syscall.Errno = 1387 + ERROR_INVALID_MEMBER syscall.Errno = 1388 + ERROR_TOO_MANY_SIDS syscall.Errno = 1389 + ERROR_LM_CROSS_ENCRYPTION_REQUIRED syscall.Errno = 1390 + ERROR_NO_INHERITANCE syscall.Errno = 1391 + ERROR_FILE_CORRUPT syscall.Errno = 1392 + ERROR_DISK_CORRUPT syscall.Errno = 1393 + ERROR_NO_USER_SESSION_KEY syscall.Errno = 1394 + ERROR_LICENSE_QUOTA_EXCEEDED syscall.Errno = 1395 + ERROR_WRONG_TARGET_NAME syscall.Errno = 1396 + ERROR_MUTUAL_AUTH_FAILED syscall.Errno = 1397 + ERROR_TIME_SKEW syscall.Errno = 1398 + ERROR_CURRENT_DOMAIN_NOT_ALLOWED syscall.Errno = 1399 + ERROR_INVALID_WINDOW_HANDLE syscall.Errno = 1400 + ERROR_INVALID_MENU_HANDLE syscall.Errno = 1401 + ERROR_INVALID_CURSOR_HANDLE syscall.Errno = 1402 + ERROR_INVALID_ACCEL_HANDLE syscall.Errno = 1403 + ERROR_INVALID_HOOK_HANDLE syscall.Errno = 1404 + ERROR_INVALID_DWP_HANDLE syscall.Errno = 1405 + ERROR_TLW_WITH_WSCHILD syscall.Errno = 1406 + ERROR_CANNOT_FIND_WND_CLASS syscall.Errno = 1407 + ERROR_WINDOW_OF_OTHER_THREAD syscall.Errno = 1408 + ERROR_HOTKEY_ALREADY_REGISTERED syscall.Errno = 1409 + ERROR_CLASS_ALREADY_EXISTS syscall.Errno = 1410 + ERROR_CLASS_DOES_NOT_EXIST syscall.Errno = 1411 + ERROR_CLASS_HAS_WINDOWS syscall.Errno = 1412 + ERROR_INVALID_INDEX syscall.Errno = 1413 + ERROR_INVALID_ICON_HANDLE syscall.Errno = 1414 + ERROR_PRIVATE_DIALOG_INDEX syscall.Errno = 1415 + ERROR_LISTBOX_ID_NOT_FOUND syscall.Errno = 1416 + ERROR_NO_WILDCARD_CHARACTERS syscall.Errno = 1417 + ERROR_CLIPBOARD_NOT_OPEN syscall.Errno = 1418 + ERROR_HOTKEY_NOT_REGISTERED syscall.Errno = 1419 + ERROR_WINDOW_NOT_DIALOG syscall.Errno = 1420 + ERROR_CONTROL_ID_NOT_FOUND syscall.Errno = 1421 + ERROR_INVALID_COMBOBOX_MESSAGE syscall.Errno = 1422 + ERROR_WINDOW_NOT_COMBOBOX syscall.Errno = 1423 + ERROR_INVALID_EDIT_HEIGHT syscall.Errno = 1424 + ERROR_DC_NOT_FOUND syscall.Errno = 1425 + ERROR_INVALID_HOOK_FILTER syscall.Errno = 1426 + ERROR_INVALID_FILTER_PROC syscall.Errno = 1427 + ERROR_HOOK_NEEDS_HMOD syscall.Errno = 1428 + ERROR_GLOBAL_ONLY_HOOK syscall.Errno = 1429 + ERROR_JOURNAL_HOOK_SET syscall.Errno = 1430 + ERROR_HOOK_NOT_INSTALLED syscall.Errno = 1431 + ERROR_INVALID_LB_MESSAGE syscall.Errno = 1432 + ERROR_SETCOUNT_ON_BAD_LB syscall.Errno = 1433 + ERROR_LB_WITHOUT_TABSTOPS syscall.Errno = 1434 + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD syscall.Errno = 1435 + ERROR_CHILD_WINDOW_MENU syscall.Errno = 1436 + ERROR_NO_SYSTEM_MENU syscall.Errno = 1437 + ERROR_INVALID_MSGBOX_STYLE syscall.Errno = 1438 + ERROR_INVALID_SPI_VALUE syscall.Errno = 1439 + ERROR_SCREEN_ALREADY_LOCKED syscall.Errno = 1440 + ERROR_HWNDS_HAVE_DIFF_PARENT syscall.Errno = 1441 + ERROR_NOT_CHILD_WINDOW syscall.Errno = 1442 + ERROR_INVALID_GW_COMMAND syscall.Errno = 1443 + ERROR_INVALID_THREAD_ID syscall.Errno = 1444 + ERROR_NON_MDICHILD_WINDOW syscall.Errno = 1445 + ERROR_POPUP_ALREADY_ACTIVE syscall.Errno = 1446 + ERROR_NO_SCROLLBARS syscall.Errno = 1447 + ERROR_INVALID_SCROLLBAR_RANGE syscall.Errno = 1448 + ERROR_INVALID_SHOWWIN_COMMAND syscall.Errno = 1449 + ERROR_NO_SYSTEM_RESOURCES syscall.Errno = 1450 + ERROR_NONPAGED_SYSTEM_RESOURCES syscall.Errno = 1451 + ERROR_PAGED_SYSTEM_RESOURCES syscall.Errno = 1452 + ERROR_WORKING_SET_QUOTA syscall.Errno = 1453 + ERROR_PAGEFILE_QUOTA syscall.Errno = 1454 + ERROR_COMMITMENT_LIMIT syscall.Errno = 1455 + ERROR_MENU_ITEM_NOT_FOUND syscall.Errno = 1456 + ERROR_INVALID_KEYBOARD_HANDLE syscall.Errno = 1457 + ERROR_HOOK_TYPE_NOT_ALLOWED syscall.Errno = 1458 + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION syscall.Errno = 1459 + ERROR_TIMEOUT syscall.Errno = 1460 + ERROR_INVALID_MONITOR_HANDLE syscall.Errno = 1461 + ERROR_INCORRECT_SIZE syscall.Errno = 1462 + ERROR_SYMLINK_CLASS_DISABLED syscall.Errno = 1463 + ERROR_SYMLINK_NOT_SUPPORTED syscall.Errno = 1464 + ERROR_XML_PARSE_ERROR syscall.Errno = 1465 + ERROR_XMLDSIG_ERROR syscall.Errno = 1466 + ERROR_RESTART_APPLICATION syscall.Errno = 1467 + ERROR_WRONG_COMPARTMENT syscall.Errno = 1468 + ERROR_AUTHIP_FAILURE syscall.Errno = 1469 + ERROR_NO_NVRAM_RESOURCES syscall.Errno = 1470 + ERROR_NOT_GUI_PROCESS syscall.Errno = 1471 + ERROR_EVENTLOG_FILE_CORRUPT syscall.Errno = 1500 + ERROR_EVENTLOG_CANT_START syscall.Errno = 1501 + ERROR_LOG_FILE_FULL syscall.Errno = 1502 + ERROR_EVENTLOG_FILE_CHANGED syscall.Errno = 1503 + ERROR_CONTAINER_ASSIGNED syscall.Errno = 1504 + ERROR_JOB_NO_CONTAINER syscall.Errno = 1505 + ERROR_INVALID_TASK_NAME syscall.Errno = 1550 + ERROR_INVALID_TASK_INDEX syscall.Errno = 1551 + ERROR_THREAD_ALREADY_IN_TASK syscall.Errno = 1552 + ERROR_INSTALL_SERVICE_FAILURE syscall.Errno = 1601 + ERROR_INSTALL_USEREXIT syscall.Errno = 1602 + ERROR_INSTALL_FAILURE syscall.Errno = 1603 + ERROR_INSTALL_SUSPEND syscall.Errno = 1604 + ERROR_UNKNOWN_PRODUCT syscall.Errno = 1605 + ERROR_UNKNOWN_FEATURE syscall.Errno = 1606 + ERROR_UNKNOWN_COMPONENT syscall.Errno = 1607 + ERROR_UNKNOWN_PROPERTY syscall.Errno = 1608 + ERROR_INVALID_HANDLE_STATE syscall.Errno = 1609 + ERROR_BAD_CONFIGURATION syscall.Errno = 1610 + ERROR_INDEX_ABSENT syscall.Errno = 1611 + ERROR_INSTALL_SOURCE_ABSENT syscall.Errno = 1612 + ERROR_INSTALL_PACKAGE_VERSION syscall.Errno = 1613 + ERROR_PRODUCT_UNINSTALLED syscall.Errno = 1614 + ERROR_BAD_QUERY_SYNTAX syscall.Errno = 1615 + ERROR_INVALID_FIELD syscall.Errno = 1616 + ERROR_DEVICE_REMOVED syscall.Errno = 1617 + ERROR_INSTALL_ALREADY_RUNNING syscall.Errno = 1618 + ERROR_INSTALL_PACKAGE_OPEN_FAILED syscall.Errno = 1619 + ERROR_INSTALL_PACKAGE_INVALID syscall.Errno = 1620 + ERROR_INSTALL_UI_FAILURE syscall.Errno = 1621 + ERROR_INSTALL_LOG_FAILURE syscall.Errno = 1622 + ERROR_INSTALL_LANGUAGE_UNSUPPORTED syscall.Errno = 1623 + ERROR_INSTALL_TRANSFORM_FAILURE syscall.Errno = 1624 + ERROR_INSTALL_PACKAGE_REJECTED syscall.Errno = 1625 + ERROR_FUNCTION_NOT_CALLED syscall.Errno = 1626 + ERROR_FUNCTION_FAILED syscall.Errno = 1627 + ERROR_INVALID_TABLE syscall.Errno = 1628 + ERROR_DATATYPE_MISMATCH syscall.Errno = 1629 + ERROR_UNSUPPORTED_TYPE syscall.Errno = 1630 + ERROR_CREATE_FAILED syscall.Errno = 1631 + ERROR_INSTALL_TEMP_UNWRITABLE syscall.Errno = 1632 + ERROR_INSTALL_PLATFORM_UNSUPPORTED syscall.Errno = 1633 + ERROR_INSTALL_NOTUSED syscall.Errno = 1634 + ERROR_PATCH_PACKAGE_OPEN_FAILED syscall.Errno = 1635 + ERROR_PATCH_PACKAGE_INVALID syscall.Errno = 1636 + ERROR_PATCH_PACKAGE_UNSUPPORTED syscall.Errno = 1637 + ERROR_PRODUCT_VERSION syscall.Errno = 1638 + ERROR_INVALID_COMMAND_LINE syscall.Errno = 1639 + ERROR_INSTALL_REMOTE_DISALLOWED syscall.Errno = 1640 + ERROR_SUCCESS_REBOOT_INITIATED syscall.Errno = 1641 + ERROR_PATCH_TARGET_NOT_FOUND syscall.Errno = 1642 + ERROR_PATCH_PACKAGE_REJECTED syscall.Errno = 1643 + ERROR_INSTALL_TRANSFORM_REJECTED syscall.Errno = 1644 + ERROR_INSTALL_REMOTE_PROHIBITED syscall.Errno = 1645 + ERROR_PATCH_REMOVAL_UNSUPPORTED syscall.Errno = 1646 + ERROR_UNKNOWN_PATCH syscall.Errno = 1647 + ERROR_PATCH_NO_SEQUENCE syscall.Errno = 1648 + ERROR_PATCH_REMOVAL_DISALLOWED syscall.Errno = 1649 + ERROR_INVALID_PATCH_XML syscall.Errno = 1650 + ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT syscall.Errno = 1651 + ERROR_INSTALL_SERVICE_SAFEBOOT syscall.Errno = 1652 + ERROR_FAIL_FAST_EXCEPTION syscall.Errno = 1653 + ERROR_INSTALL_REJECTED syscall.Errno = 1654 + ERROR_DYNAMIC_CODE_BLOCKED syscall.Errno = 1655 + ERROR_NOT_SAME_OBJECT syscall.Errno = 1656 + ERROR_STRICT_CFG_VIOLATION syscall.Errno = 1657 + ERROR_SET_CONTEXT_DENIED syscall.Errno = 1660 + ERROR_CROSS_PARTITION_VIOLATION syscall.Errno = 1661 + RPC_S_INVALID_STRING_BINDING syscall.Errno = 1700 + RPC_S_WRONG_KIND_OF_BINDING syscall.Errno = 1701 + RPC_S_INVALID_BINDING syscall.Errno = 1702 + RPC_S_PROTSEQ_NOT_SUPPORTED syscall.Errno = 1703 + RPC_S_INVALID_RPC_PROTSEQ syscall.Errno = 1704 + RPC_S_INVALID_STRING_UUID syscall.Errno = 1705 + RPC_S_INVALID_ENDPOINT_FORMAT syscall.Errno = 1706 + RPC_S_INVALID_NET_ADDR syscall.Errno = 1707 + RPC_S_NO_ENDPOINT_FOUND syscall.Errno = 1708 + RPC_S_INVALID_TIMEOUT syscall.Errno = 1709 + RPC_S_OBJECT_NOT_FOUND syscall.Errno = 1710 + RPC_S_ALREADY_REGISTERED syscall.Errno = 1711 + RPC_S_TYPE_ALREADY_REGISTERED syscall.Errno = 1712 + RPC_S_ALREADY_LISTENING syscall.Errno = 1713 + RPC_S_NO_PROTSEQS_REGISTERED syscall.Errno = 1714 + RPC_S_NOT_LISTENING syscall.Errno = 1715 + RPC_S_UNKNOWN_MGR_TYPE syscall.Errno = 1716 + RPC_S_UNKNOWN_IF syscall.Errno = 1717 + RPC_S_NO_BINDINGS syscall.Errno = 1718 + RPC_S_NO_PROTSEQS syscall.Errno = 1719 + RPC_S_CANT_CREATE_ENDPOINT syscall.Errno = 1720 + RPC_S_OUT_OF_RESOURCES syscall.Errno = 1721 + RPC_S_SERVER_UNAVAILABLE syscall.Errno = 1722 + RPC_S_SERVER_TOO_BUSY syscall.Errno = 1723 + RPC_S_INVALID_NETWORK_OPTIONS syscall.Errno = 1724 + RPC_S_NO_CALL_ACTIVE syscall.Errno = 1725 + RPC_S_CALL_FAILED syscall.Errno = 1726 + RPC_S_CALL_FAILED_DNE syscall.Errno = 1727 + RPC_S_PROTOCOL_ERROR syscall.Errno = 1728 + RPC_S_PROXY_ACCESS_DENIED syscall.Errno = 1729 + RPC_S_UNSUPPORTED_TRANS_SYN syscall.Errno = 1730 + RPC_S_UNSUPPORTED_TYPE syscall.Errno = 1732 + RPC_S_INVALID_TAG syscall.Errno = 1733 + RPC_S_INVALID_BOUND syscall.Errno = 1734 + RPC_S_NO_ENTRY_NAME syscall.Errno = 1735 + RPC_S_INVALID_NAME_SYNTAX syscall.Errno = 1736 + RPC_S_UNSUPPORTED_NAME_SYNTAX syscall.Errno = 1737 + RPC_S_UUID_NO_ADDRESS syscall.Errno = 1739 + RPC_S_DUPLICATE_ENDPOINT syscall.Errno = 1740 + RPC_S_UNKNOWN_AUTHN_TYPE syscall.Errno = 1741 + RPC_S_MAX_CALLS_TOO_SMALL syscall.Errno = 1742 + RPC_S_STRING_TOO_LONG syscall.Errno = 1743 + RPC_S_PROTSEQ_NOT_FOUND syscall.Errno = 1744 + RPC_S_PROCNUM_OUT_OF_RANGE syscall.Errno = 1745 + RPC_S_BINDING_HAS_NO_AUTH syscall.Errno = 1746 + RPC_S_UNKNOWN_AUTHN_SERVICE syscall.Errno = 1747 + RPC_S_UNKNOWN_AUTHN_LEVEL syscall.Errno = 1748 + RPC_S_INVALID_AUTH_IDENTITY syscall.Errno = 1749 + RPC_S_UNKNOWN_AUTHZ_SERVICE syscall.Errno = 1750 + EPT_S_INVALID_ENTRY syscall.Errno = 1751 + EPT_S_CANT_PERFORM_OP syscall.Errno = 1752 + EPT_S_NOT_REGISTERED syscall.Errno = 1753 + RPC_S_NOTHING_TO_EXPORT syscall.Errno = 1754 + RPC_S_INCOMPLETE_NAME syscall.Errno = 1755 + RPC_S_INVALID_VERS_OPTION syscall.Errno = 1756 + RPC_S_NO_MORE_MEMBERS syscall.Errno = 1757 + RPC_S_NOT_ALL_OBJS_UNEXPORTED syscall.Errno = 1758 + RPC_S_INTERFACE_NOT_FOUND syscall.Errno = 1759 + RPC_S_ENTRY_ALREADY_EXISTS syscall.Errno = 1760 + RPC_S_ENTRY_NOT_FOUND syscall.Errno = 1761 + RPC_S_NAME_SERVICE_UNAVAILABLE syscall.Errno = 1762 + RPC_S_INVALID_NAF_ID syscall.Errno = 1763 + RPC_S_CANNOT_SUPPORT syscall.Errno = 1764 + RPC_S_NO_CONTEXT_AVAILABLE syscall.Errno = 1765 + RPC_S_INTERNAL_ERROR syscall.Errno = 1766 + RPC_S_ZERO_DIVIDE syscall.Errno = 1767 + RPC_S_ADDRESS_ERROR syscall.Errno = 1768 + RPC_S_FP_DIV_ZERO syscall.Errno = 1769 + RPC_S_FP_UNDERFLOW syscall.Errno = 1770 + RPC_S_FP_OVERFLOW syscall.Errno = 1771 + RPC_X_NO_MORE_ENTRIES syscall.Errno = 1772 + RPC_X_SS_CHAR_TRANS_OPEN_FAIL syscall.Errno = 1773 + RPC_X_SS_CHAR_TRANS_SHORT_FILE syscall.Errno = 1774 + RPC_X_SS_IN_NULL_CONTEXT syscall.Errno = 1775 + RPC_X_SS_CONTEXT_DAMAGED syscall.Errno = 1777 + RPC_X_SS_HANDLES_MISMATCH syscall.Errno = 1778 + RPC_X_SS_CANNOT_GET_CALL_HANDLE syscall.Errno = 1779 + RPC_X_NULL_REF_POINTER syscall.Errno = 1780 + RPC_X_ENUM_VALUE_OUT_OF_RANGE syscall.Errno = 1781 + RPC_X_BYTE_COUNT_TOO_SMALL syscall.Errno = 1782 + RPC_X_BAD_STUB_DATA syscall.Errno = 1783 + ERROR_INVALID_USER_BUFFER syscall.Errno = 1784 + ERROR_UNRECOGNIZED_MEDIA syscall.Errno = 1785 + ERROR_NO_TRUST_LSA_SECRET syscall.Errno = 1786 + ERROR_NO_TRUST_SAM_ACCOUNT syscall.Errno = 1787 + ERROR_TRUSTED_DOMAIN_FAILURE syscall.Errno = 1788 + ERROR_TRUSTED_RELATIONSHIP_FAILURE syscall.Errno = 1789 + ERROR_TRUST_FAILURE syscall.Errno = 1790 + RPC_S_CALL_IN_PROGRESS syscall.Errno = 1791 + ERROR_NETLOGON_NOT_STARTED syscall.Errno = 1792 + ERROR_ACCOUNT_EXPIRED syscall.Errno = 1793 + ERROR_REDIRECTOR_HAS_OPEN_HANDLES syscall.Errno = 1794 + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED syscall.Errno = 1795 + ERROR_UNKNOWN_PORT syscall.Errno = 1796 + ERROR_UNKNOWN_PRINTER_DRIVER syscall.Errno = 1797 + ERROR_UNKNOWN_PRINTPROCESSOR syscall.Errno = 1798 + ERROR_INVALID_SEPARATOR_FILE syscall.Errno = 1799 + ERROR_INVALID_PRIORITY syscall.Errno = 1800 + ERROR_INVALID_PRINTER_NAME syscall.Errno = 1801 + ERROR_PRINTER_ALREADY_EXISTS syscall.Errno = 1802 + ERROR_INVALID_PRINTER_COMMAND syscall.Errno = 1803 + ERROR_INVALID_DATATYPE syscall.Errno = 1804 + ERROR_INVALID_ENVIRONMENT syscall.Errno = 1805 + RPC_S_NO_MORE_BINDINGS syscall.Errno = 1806 + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT syscall.Errno = 1807 + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT syscall.Errno = 1808 + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT syscall.Errno = 1809 + ERROR_DOMAIN_TRUST_INCONSISTENT syscall.Errno = 1810 + ERROR_SERVER_HAS_OPEN_HANDLES syscall.Errno = 1811 + ERROR_RESOURCE_DATA_NOT_FOUND syscall.Errno = 1812 + ERROR_RESOURCE_TYPE_NOT_FOUND syscall.Errno = 1813 + ERROR_RESOURCE_NAME_NOT_FOUND syscall.Errno = 1814 + ERROR_RESOURCE_LANG_NOT_FOUND syscall.Errno = 1815 + ERROR_NOT_ENOUGH_QUOTA syscall.Errno = 1816 + RPC_S_NO_INTERFACES syscall.Errno = 1817 + RPC_S_CALL_CANCELLED syscall.Errno = 1818 + RPC_S_BINDING_INCOMPLETE syscall.Errno = 1819 + RPC_S_COMM_FAILURE syscall.Errno = 1820 + RPC_S_UNSUPPORTED_AUTHN_LEVEL syscall.Errno = 1821 + RPC_S_NO_PRINC_NAME syscall.Errno = 1822 + RPC_S_NOT_RPC_ERROR syscall.Errno = 1823 + RPC_S_UUID_LOCAL_ONLY syscall.Errno = 1824 + RPC_S_SEC_PKG_ERROR syscall.Errno = 1825 + RPC_S_NOT_CANCELLED syscall.Errno = 1826 + RPC_X_INVALID_ES_ACTION syscall.Errno = 1827 + RPC_X_WRONG_ES_VERSION syscall.Errno = 1828 + RPC_X_WRONG_STUB_VERSION syscall.Errno = 1829 + RPC_X_INVALID_PIPE_OBJECT syscall.Errno = 1830 + RPC_X_WRONG_PIPE_ORDER syscall.Errno = 1831 + RPC_X_WRONG_PIPE_VERSION syscall.Errno = 1832 + RPC_S_COOKIE_AUTH_FAILED syscall.Errno = 1833 + RPC_S_DO_NOT_DISTURB syscall.Errno = 1834 + RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED syscall.Errno = 1835 + RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH syscall.Errno = 1836 + RPC_S_GROUP_MEMBER_NOT_FOUND syscall.Errno = 1898 + EPT_S_CANT_CREATE syscall.Errno = 1899 + RPC_S_INVALID_OBJECT syscall.Errno = 1900 + ERROR_INVALID_TIME syscall.Errno = 1901 + ERROR_INVALID_FORM_NAME syscall.Errno = 1902 + ERROR_INVALID_FORM_SIZE syscall.Errno = 1903 + ERROR_ALREADY_WAITING syscall.Errno = 1904 + ERROR_PRINTER_DELETED syscall.Errno = 1905 + ERROR_INVALID_PRINTER_STATE syscall.Errno = 1906 + ERROR_PASSWORD_MUST_CHANGE syscall.Errno = 1907 + ERROR_DOMAIN_CONTROLLER_NOT_FOUND syscall.Errno = 1908 + ERROR_ACCOUNT_LOCKED_OUT syscall.Errno = 1909 + OR_INVALID_OXID syscall.Errno = 1910 + OR_INVALID_OID syscall.Errno = 1911 + OR_INVALID_SET syscall.Errno = 1912 + RPC_S_SEND_INCOMPLETE syscall.Errno = 1913 + RPC_S_INVALID_ASYNC_HANDLE syscall.Errno = 1914 + RPC_S_INVALID_ASYNC_CALL syscall.Errno = 1915 + RPC_X_PIPE_CLOSED syscall.Errno = 1916 + RPC_X_PIPE_DISCIPLINE_ERROR syscall.Errno = 1917 + RPC_X_PIPE_EMPTY syscall.Errno = 1918 + ERROR_NO_SITENAME syscall.Errno = 1919 + ERROR_CANT_ACCESS_FILE syscall.Errno = 1920 + ERROR_CANT_RESOLVE_FILENAME syscall.Errno = 1921 + RPC_S_ENTRY_TYPE_MISMATCH syscall.Errno = 1922 + RPC_S_NOT_ALL_OBJS_EXPORTED syscall.Errno = 1923 + RPC_S_INTERFACE_NOT_EXPORTED syscall.Errno = 1924 + RPC_S_PROFILE_NOT_ADDED syscall.Errno = 1925 + RPC_S_PRF_ELT_NOT_ADDED syscall.Errno = 1926 + RPC_S_PRF_ELT_NOT_REMOVED syscall.Errno = 1927 + RPC_S_GRP_ELT_NOT_ADDED syscall.Errno = 1928 + RPC_S_GRP_ELT_NOT_REMOVED syscall.Errno = 1929 + ERROR_KM_DRIVER_BLOCKED syscall.Errno = 1930 + ERROR_CONTEXT_EXPIRED syscall.Errno = 1931 + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED syscall.Errno = 1932 + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED syscall.Errno = 1933 + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED syscall.Errno = 1934 + ERROR_AUTHENTICATION_FIREWALL_FAILED syscall.Errno = 1935 + ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED syscall.Errno = 1936 + ERROR_NTLM_BLOCKED syscall.Errno = 1937 + ERROR_PASSWORD_CHANGE_REQUIRED syscall.Errno = 1938 + ERROR_LOST_MODE_LOGON_RESTRICTION syscall.Errno = 1939 + ERROR_INVALID_PIXEL_FORMAT syscall.Errno = 2000 + ERROR_BAD_DRIVER syscall.Errno = 2001 + ERROR_INVALID_WINDOW_STYLE syscall.Errno = 2002 + ERROR_METAFILE_NOT_SUPPORTED syscall.Errno = 2003 + ERROR_TRANSFORM_NOT_SUPPORTED syscall.Errno = 2004 + ERROR_CLIPPING_NOT_SUPPORTED syscall.Errno = 2005 + ERROR_INVALID_CMM syscall.Errno = 2010 + ERROR_INVALID_PROFILE syscall.Errno = 2011 + ERROR_TAG_NOT_FOUND syscall.Errno = 2012 + ERROR_TAG_NOT_PRESENT syscall.Errno = 2013 + ERROR_DUPLICATE_TAG syscall.Errno = 2014 + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE syscall.Errno = 2015 + ERROR_PROFILE_NOT_FOUND syscall.Errno = 2016 + ERROR_INVALID_COLORSPACE syscall.Errno = 2017 + ERROR_ICM_NOT_ENABLED syscall.Errno = 2018 + ERROR_DELETING_ICM_XFORM syscall.Errno = 2019 + ERROR_INVALID_TRANSFORM syscall.Errno = 2020 + ERROR_COLORSPACE_MISMATCH syscall.Errno = 2021 + ERROR_INVALID_COLORINDEX syscall.Errno = 2022 + ERROR_PROFILE_DOES_NOT_MATCH_DEVICE syscall.Errno = 2023 + ERROR_CONNECTED_OTHER_PASSWORD syscall.Errno = 2108 + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT syscall.Errno = 2109 + ERROR_BAD_USERNAME syscall.Errno = 2202 + ERROR_NOT_CONNECTED syscall.Errno = 2250 + ERROR_OPEN_FILES syscall.Errno = 2401 + ERROR_ACTIVE_CONNECTIONS syscall.Errno = 2402 + ERROR_DEVICE_IN_USE syscall.Errno = 2404 + ERROR_UNKNOWN_PRINT_MONITOR syscall.Errno = 3000 + ERROR_PRINTER_DRIVER_IN_USE syscall.Errno = 3001 + ERROR_SPOOL_FILE_NOT_FOUND syscall.Errno = 3002 + ERROR_SPL_NO_STARTDOC syscall.Errno = 3003 + ERROR_SPL_NO_ADDJOB syscall.Errno = 3004 + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED syscall.Errno = 3005 + ERROR_PRINT_MONITOR_ALREADY_INSTALLED syscall.Errno = 3006 + ERROR_INVALID_PRINT_MONITOR syscall.Errno = 3007 + ERROR_PRINT_MONITOR_IN_USE syscall.Errno = 3008 + ERROR_PRINTER_HAS_JOBS_QUEUED syscall.Errno = 3009 + ERROR_SUCCESS_REBOOT_REQUIRED syscall.Errno = 3010 + ERROR_SUCCESS_RESTART_REQUIRED syscall.Errno = 3011 + ERROR_PRINTER_NOT_FOUND syscall.Errno = 3012 + ERROR_PRINTER_DRIVER_WARNED syscall.Errno = 3013 + ERROR_PRINTER_DRIVER_BLOCKED syscall.Errno = 3014 + ERROR_PRINTER_DRIVER_PACKAGE_IN_USE syscall.Errno = 3015 + ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND syscall.Errno = 3016 + ERROR_FAIL_REBOOT_REQUIRED syscall.Errno = 3017 + ERROR_FAIL_REBOOT_INITIATED syscall.Errno = 3018 + ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED syscall.Errno = 3019 + ERROR_PRINT_JOB_RESTART_REQUIRED syscall.Errno = 3020 + ERROR_INVALID_PRINTER_DRIVER_MANIFEST syscall.Errno = 3021 + ERROR_PRINTER_NOT_SHAREABLE syscall.Errno = 3022 + ERROR_REQUEST_PAUSED syscall.Errno = 3050 + ERROR_APPEXEC_CONDITION_NOT_SATISFIED syscall.Errno = 3060 + ERROR_APPEXEC_HANDLE_INVALIDATED syscall.Errno = 3061 + ERROR_APPEXEC_INVALID_HOST_GENERATION syscall.Errno = 3062 + ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION syscall.Errno = 3063 + ERROR_APPEXEC_INVALID_HOST_STATE syscall.Errno = 3064 + ERROR_APPEXEC_NO_DONOR syscall.Errno = 3065 + ERROR_APPEXEC_HOST_ID_MISMATCH syscall.Errno = 3066 + ERROR_APPEXEC_UNKNOWN_USER syscall.Errno = 3067 + ERROR_IO_REISSUE_AS_CACHED syscall.Errno = 3950 + ERROR_WINS_INTERNAL syscall.Errno = 4000 + ERROR_CAN_NOT_DEL_LOCAL_WINS syscall.Errno = 4001 + ERROR_STATIC_INIT syscall.Errno = 4002 + ERROR_INC_BACKUP syscall.Errno = 4003 + ERROR_FULL_BACKUP syscall.Errno = 4004 + ERROR_REC_NON_EXISTENT syscall.Errno = 4005 + ERROR_RPL_NOT_ALLOWED syscall.Errno = 4006 + PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED syscall.Errno = 4050 + PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO syscall.Errno = 4051 + PEERDIST_ERROR_MISSING_DATA syscall.Errno = 4052 + PEERDIST_ERROR_NO_MORE syscall.Errno = 4053 + PEERDIST_ERROR_NOT_INITIALIZED syscall.Errno = 4054 + PEERDIST_ERROR_ALREADY_INITIALIZED syscall.Errno = 4055 + PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS syscall.Errno = 4056 + PEERDIST_ERROR_INVALIDATED syscall.Errno = 4057 + PEERDIST_ERROR_ALREADY_EXISTS syscall.Errno = 4058 + PEERDIST_ERROR_OPERATION_NOTFOUND syscall.Errno = 4059 + PEERDIST_ERROR_ALREADY_COMPLETED syscall.Errno = 4060 + PEERDIST_ERROR_OUT_OF_BOUNDS syscall.Errno = 4061 + PEERDIST_ERROR_VERSION_UNSUPPORTED syscall.Errno = 4062 + PEERDIST_ERROR_INVALID_CONFIGURATION syscall.Errno = 4063 + PEERDIST_ERROR_NOT_LICENSED syscall.Errno = 4064 + PEERDIST_ERROR_SERVICE_UNAVAILABLE syscall.Errno = 4065 + PEERDIST_ERROR_TRUST_FAILURE syscall.Errno = 4066 + ERROR_DHCP_ADDRESS_CONFLICT syscall.Errno = 4100 + ERROR_WMI_GUID_NOT_FOUND syscall.Errno = 4200 + ERROR_WMI_INSTANCE_NOT_FOUND syscall.Errno = 4201 + ERROR_WMI_ITEMID_NOT_FOUND syscall.Errno = 4202 + ERROR_WMI_TRY_AGAIN syscall.Errno = 4203 + ERROR_WMI_DP_NOT_FOUND syscall.Errno = 4204 + ERROR_WMI_UNRESOLVED_INSTANCE_REF syscall.Errno = 4205 + ERROR_WMI_ALREADY_ENABLED syscall.Errno = 4206 + ERROR_WMI_GUID_DISCONNECTED syscall.Errno = 4207 + ERROR_WMI_SERVER_UNAVAILABLE syscall.Errno = 4208 + ERROR_WMI_DP_FAILED syscall.Errno = 4209 + ERROR_WMI_INVALID_MOF syscall.Errno = 4210 + ERROR_WMI_INVALID_REGINFO syscall.Errno = 4211 + ERROR_WMI_ALREADY_DISABLED syscall.Errno = 4212 + ERROR_WMI_READ_ONLY syscall.Errno = 4213 + ERROR_WMI_SET_FAILURE syscall.Errno = 4214 + ERROR_NOT_APPCONTAINER syscall.Errno = 4250 + ERROR_APPCONTAINER_REQUIRED syscall.Errno = 4251 + ERROR_NOT_SUPPORTED_IN_APPCONTAINER syscall.Errno = 4252 + ERROR_INVALID_PACKAGE_SID_LENGTH syscall.Errno = 4253 + ERROR_INVALID_MEDIA syscall.Errno = 4300 + ERROR_INVALID_LIBRARY syscall.Errno = 4301 + ERROR_INVALID_MEDIA_POOL syscall.Errno = 4302 + ERROR_DRIVE_MEDIA_MISMATCH syscall.Errno = 4303 + ERROR_MEDIA_OFFLINE syscall.Errno = 4304 + ERROR_LIBRARY_OFFLINE syscall.Errno = 4305 + ERROR_EMPTY syscall.Errno = 4306 + ERROR_NOT_EMPTY syscall.Errno = 4307 + ERROR_MEDIA_UNAVAILABLE syscall.Errno = 4308 + ERROR_RESOURCE_DISABLED syscall.Errno = 4309 + ERROR_INVALID_CLEANER syscall.Errno = 4310 + ERROR_UNABLE_TO_CLEAN syscall.Errno = 4311 + ERROR_OBJECT_NOT_FOUND syscall.Errno = 4312 + ERROR_DATABASE_FAILURE syscall.Errno = 4313 + ERROR_DATABASE_FULL syscall.Errno = 4314 + ERROR_MEDIA_INCOMPATIBLE syscall.Errno = 4315 + ERROR_RESOURCE_NOT_PRESENT syscall.Errno = 4316 + ERROR_INVALID_OPERATION syscall.Errno = 4317 + ERROR_MEDIA_NOT_AVAILABLE syscall.Errno = 4318 + ERROR_DEVICE_NOT_AVAILABLE syscall.Errno = 4319 + ERROR_REQUEST_REFUSED syscall.Errno = 4320 + ERROR_INVALID_DRIVE_OBJECT syscall.Errno = 4321 + ERROR_LIBRARY_FULL syscall.Errno = 4322 + ERROR_MEDIUM_NOT_ACCESSIBLE syscall.Errno = 4323 + ERROR_UNABLE_TO_LOAD_MEDIUM syscall.Errno = 4324 + ERROR_UNABLE_TO_INVENTORY_DRIVE syscall.Errno = 4325 + ERROR_UNABLE_TO_INVENTORY_SLOT syscall.Errno = 4326 + ERROR_UNABLE_TO_INVENTORY_TRANSPORT syscall.Errno = 4327 + ERROR_TRANSPORT_FULL syscall.Errno = 4328 + ERROR_CONTROLLING_IEPORT syscall.Errno = 4329 + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA syscall.Errno = 4330 + ERROR_CLEANER_SLOT_SET syscall.Errno = 4331 + ERROR_CLEANER_SLOT_NOT_SET syscall.Errno = 4332 + ERROR_CLEANER_CARTRIDGE_SPENT syscall.Errno = 4333 + ERROR_UNEXPECTED_OMID syscall.Errno = 4334 + ERROR_CANT_DELETE_LAST_ITEM syscall.Errno = 4335 + ERROR_MESSAGE_EXCEEDS_MAX_SIZE syscall.Errno = 4336 + ERROR_VOLUME_CONTAINS_SYS_FILES syscall.Errno = 4337 + ERROR_INDIGENOUS_TYPE syscall.Errno = 4338 + ERROR_NO_SUPPORTING_DRIVES syscall.Errno = 4339 + ERROR_CLEANER_CARTRIDGE_INSTALLED syscall.Errno = 4340 + ERROR_IEPORT_FULL syscall.Errno = 4341 + ERROR_FILE_OFFLINE syscall.Errno = 4350 + ERROR_REMOTE_STORAGE_NOT_ACTIVE syscall.Errno = 4351 + ERROR_REMOTE_STORAGE_MEDIA_ERROR syscall.Errno = 4352 + ERROR_NOT_A_REPARSE_POINT syscall.Errno = 4390 + ERROR_REPARSE_ATTRIBUTE_CONFLICT syscall.Errno = 4391 + ERROR_INVALID_REPARSE_DATA syscall.Errno = 4392 + ERROR_REPARSE_TAG_INVALID syscall.Errno = 4393 + ERROR_REPARSE_TAG_MISMATCH syscall.Errno = 4394 + ERROR_REPARSE_POINT_ENCOUNTERED syscall.Errno = 4395 + ERROR_APP_DATA_NOT_FOUND syscall.Errno = 4400 + ERROR_APP_DATA_EXPIRED syscall.Errno = 4401 + ERROR_APP_DATA_CORRUPT syscall.Errno = 4402 + ERROR_APP_DATA_LIMIT_EXCEEDED syscall.Errno = 4403 + ERROR_APP_DATA_REBOOT_REQUIRED syscall.Errno = 4404 + ERROR_SECUREBOOT_ROLLBACK_DETECTED syscall.Errno = 4420 + ERROR_SECUREBOOT_POLICY_VIOLATION syscall.Errno = 4421 + ERROR_SECUREBOOT_INVALID_POLICY syscall.Errno = 4422 + ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND syscall.Errno = 4423 + ERROR_SECUREBOOT_POLICY_NOT_SIGNED syscall.Errno = 4424 + ERROR_SECUREBOOT_NOT_ENABLED syscall.Errno = 4425 + ERROR_SECUREBOOT_FILE_REPLACED syscall.Errno = 4426 + ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED syscall.Errno = 4427 + ERROR_SECUREBOOT_POLICY_UNKNOWN syscall.Errno = 4428 + ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION syscall.Errno = 4429 + ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH syscall.Errno = 4430 + ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED syscall.Errno = 4431 + ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH syscall.Errno = 4432 + ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING syscall.Errno = 4433 + ERROR_SECUREBOOT_NOT_BASE_POLICY syscall.Errno = 4434 + ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY syscall.Errno = 4435 + ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED syscall.Errno = 4440 + ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED syscall.Errno = 4441 + ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED syscall.Errno = 4442 + ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED syscall.Errno = 4443 + ERROR_ALREADY_HAS_STREAM_ID syscall.Errno = 4444 + ERROR_SMR_GARBAGE_COLLECTION_REQUIRED syscall.Errno = 4445 + ERROR_WOF_WIM_HEADER_CORRUPT syscall.Errno = 4446 + ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT syscall.Errno = 4447 + ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT syscall.Errno = 4448 + ERROR_VOLUME_NOT_SIS_ENABLED syscall.Errno = 4500 + ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED syscall.Errno = 4550 + ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION syscall.Errno = 4551 + ERROR_SYSTEM_INTEGRITY_INVALID_POLICY syscall.Errno = 4552 + ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED syscall.Errno = 4553 + ERROR_VSM_NOT_INITIALIZED syscall.Errno = 4560 + ERROR_VSM_DMA_PROTECTION_NOT_IN_USE syscall.Errno = 4561 + ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED syscall.Errno = 4570 + ERROR_PLATFORM_MANIFEST_INVALID syscall.Errno = 4571 + ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED syscall.Errno = 4572 + ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED syscall.Errno = 4573 + ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND syscall.Errno = 4574 + ERROR_PLATFORM_MANIFEST_NOT_ACTIVE syscall.Errno = 4575 + ERROR_PLATFORM_MANIFEST_NOT_SIGNED syscall.Errno = 4576 + ERROR_DEPENDENT_RESOURCE_EXISTS syscall.Errno = 5001 + ERROR_DEPENDENCY_NOT_FOUND syscall.Errno = 5002 + ERROR_DEPENDENCY_ALREADY_EXISTS syscall.Errno = 5003 + ERROR_RESOURCE_NOT_ONLINE syscall.Errno = 5004 + ERROR_HOST_NODE_NOT_AVAILABLE syscall.Errno = 5005 + ERROR_RESOURCE_NOT_AVAILABLE syscall.Errno = 5006 + ERROR_RESOURCE_NOT_FOUND syscall.Errno = 5007 + ERROR_SHUTDOWN_CLUSTER syscall.Errno = 5008 + ERROR_CANT_EVICT_ACTIVE_NODE syscall.Errno = 5009 + ERROR_OBJECT_ALREADY_EXISTS syscall.Errno = 5010 + ERROR_OBJECT_IN_LIST syscall.Errno = 5011 + ERROR_GROUP_NOT_AVAILABLE syscall.Errno = 5012 + ERROR_GROUP_NOT_FOUND syscall.Errno = 5013 + ERROR_GROUP_NOT_ONLINE syscall.Errno = 5014 + ERROR_HOST_NODE_NOT_RESOURCE_OWNER syscall.Errno = 5015 + ERROR_HOST_NODE_NOT_GROUP_OWNER syscall.Errno = 5016 + ERROR_RESMON_CREATE_FAILED syscall.Errno = 5017 + ERROR_RESMON_ONLINE_FAILED syscall.Errno = 5018 + ERROR_RESOURCE_ONLINE syscall.Errno = 5019 + ERROR_QUORUM_RESOURCE syscall.Errno = 5020 + ERROR_NOT_QUORUM_CAPABLE syscall.Errno = 5021 + ERROR_CLUSTER_SHUTTING_DOWN syscall.Errno = 5022 + ERROR_INVALID_STATE syscall.Errno = 5023 + ERROR_RESOURCE_PROPERTIES_STORED syscall.Errno = 5024 + ERROR_NOT_QUORUM_CLASS syscall.Errno = 5025 + ERROR_CORE_RESOURCE syscall.Errno = 5026 + ERROR_QUORUM_RESOURCE_ONLINE_FAILED syscall.Errno = 5027 + ERROR_QUORUMLOG_OPEN_FAILED syscall.Errno = 5028 + ERROR_CLUSTERLOG_CORRUPT syscall.Errno = 5029 + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE syscall.Errno = 5030 + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE syscall.Errno = 5031 + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND syscall.Errno = 5032 + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE syscall.Errno = 5033 + ERROR_QUORUM_OWNER_ALIVE syscall.Errno = 5034 + ERROR_NETWORK_NOT_AVAILABLE syscall.Errno = 5035 + ERROR_NODE_NOT_AVAILABLE syscall.Errno = 5036 + ERROR_ALL_NODES_NOT_AVAILABLE syscall.Errno = 5037 + ERROR_RESOURCE_FAILED syscall.Errno = 5038 + ERROR_CLUSTER_INVALID_NODE syscall.Errno = 5039 + ERROR_CLUSTER_NODE_EXISTS syscall.Errno = 5040 + ERROR_CLUSTER_JOIN_IN_PROGRESS syscall.Errno = 5041 + ERROR_CLUSTER_NODE_NOT_FOUND syscall.Errno = 5042 + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND syscall.Errno = 5043 + ERROR_CLUSTER_NETWORK_EXISTS syscall.Errno = 5044 + ERROR_CLUSTER_NETWORK_NOT_FOUND syscall.Errno = 5045 + ERROR_CLUSTER_NETINTERFACE_EXISTS syscall.Errno = 5046 + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND syscall.Errno = 5047 + ERROR_CLUSTER_INVALID_REQUEST syscall.Errno = 5048 + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER syscall.Errno = 5049 + ERROR_CLUSTER_NODE_DOWN syscall.Errno = 5050 + ERROR_CLUSTER_NODE_UNREACHABLE syscall.Errno = 5051 + ERROR_CLUSTER_NODE_NOT_MEMBER syscall.Errno = 5052 + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS syscall.Errno = 5053 + ERROR_CLUSTER_INVALID_NETWORK syscall.Errno = 5054 + ERROR_CLUSTER_NODE_UP syscall.Errno = 5056 + ERROR_CLUSTER_IPADDR_IN_USE syscall.Errno = 5057 + ERROR_CLUSTER_NODE_NOT_PAUSED syscall.Errno = 5058 + ERROR_CLUSTER_NO_SECURITY_CONTEXT syscall.Errno = 5059 + ERROR_CLUSTER_NETWORK_NOT_INTERNAL syscall.Errno = 5060 + ERROR_CLUSTER_NODE_ALREADY_UP syscall.Errno = 5061 + ERROR_CLUSTER_NODE_ALREADY_DOWN syscall.Errno = 5062 + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE syscall.Errno = 5063 + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE syscall.Errno = 5064 + ERROR_CLUSTER_NODE_ALREADY_MEMBER syscall.Errno = 5065 + ERROR_CLUSTER_LAST_INTERNAL_NETWORK syscall.Errno = 5066 + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS syscall.Errno = 5067 + ERROR_INVALID_OPERATION_ON_QUORUM syscall.Errno = 5068 + ERROR_DEPENDENCY_NOT_ALLOWED syscall.Errno = 5069 + ERROR_CLUSTER_NODE_PAUSED syscall.Errno = 5070 + ERROR_NODE_CANT_HOST_RESOURCE syscall.Errno = 5071 + ERROR_CLUSTER_NODE_NOT_READY syscall.Errno = 5072 + ERROR_CLUSTER_NODE_SHUTTING_DOWN syscall.Errno = 5073 + ERROR_CLUSTER_JOIN_ABORTED syscall.Errno = 5074 + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS syscall.Errno = 5075 + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED syscall.Errno = 5076 + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED syscall.Errno = 5077 + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND syscall.Errno = 5078 + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED syscall.Errno = 5079 + ERROR_CLUSTER_RESNAME_NOT_FOUND syscall.Errno = 5080 + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED syscall.Errno = 5081 + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST syscall.Errno = 5082 + ERROR_CLUSTER_DATABASE_SEQMISMATCH syscall.Errno = 5083 + ERROR_RESMON_INVALID_STATE syscall.Errno = 5084 + ERROR_CLUSTER_GUM_NOT_LOCKER syscall.Errno = 5085 + ERROR_QUORUM_DISK_NOT_FOUND syscall.Errno = 5086 + ERROR_DATABASE_BACKUP_CORRUPT syscall.Errno = 5087 + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT syscall.Errno = 5088 + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE syscall.Errno = 5089 + ERROR_NO_ADMIN_ACCESS_POINT syscall.Errno = 5090 + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE syscall.Errno = 5890 + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND syscall.Errno = 5891 + ERROR_CLUSTER_MEMBERSHIP_HALT syscall.Errno = 5892 + ERROR_CLUSTER_INSTANCE_ID_MISMATCH syscall.Errno = 5893 + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP syscall.Errno = 5894 + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH syscall.Errno = 5895 + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP syscall.Errno = 5896 + ERROR_CLUSTER_PARAMETER_MISMATCH syscall.Errno = 5897 + ERROR_NODE_CANNOT_BE_CLUSTERED syscall.Errno = 5898 + ERROR_CLUSTER_WRONG_OS_VERSION syscall.Errno = 5899 + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME syscall.Errno = 5900 + ERROR_CLUSCFG_ALREADY_COMMITTED syscall.Errno = 5901 + ERROR_CLUSCFG_ROLLBACK_FAILED syscall.Errno = 5902 + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT syscall.Errno = 5903 + ERROR_CLUSTER_OLD_VERSION syscall.Errno = 5904 + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME syscall.Errno = 5905 + ERROR_CLUSTER_NO_NET_ADAPTERS syscall.Errno = 5906 + ERROR_CLUSTER_POISONED syscall.Errno = 5907 + ERROR_CLUSTER_GROUP_MOVING syscall.Errno = 5908 + ERROR_CLUSTER_RESOURCE_TYPE_BUSY syscall.Errno = 5909 + ERROR_RESOURCE_CALL_TIMED_OUT syscall.Errno = 5910 + ERROR_INVALID_CLUSTER_IPV6_ADDRESS syscall.Errno = 5911 + ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION syscall.Errno = 5912 + ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS syscall.Errno = 5913 + ERROR_CLUSTER_PARTIAL_SEND syscall.Errno = 5914 + ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION syscall.Errno = 5915 + ERROR_CLUSTER_INVALID_STRING_TERMINATION syscall.Errno = 5916 + ERROR_CLUSTER_INVALID_STRING_FORMAT syscall.Errno = 5917 + ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS syscall.Errno = 5918 + ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS syscall.Errno = 5919 + ERROR_CLUSTER_NULL_DATA syscall.Errno = 5920 + ERROR_CLUSTER_PARTIAL_READ syscall.Errno = 5921 + ERROR_CLUSTER_PARTIAL_WRITE syscall.Errno = 5922 + ERROR_CLUSTER_CANT_DESERIALIZE_DATA syscall.Errno = 5923 + ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT syscall.Errno = 5924 + ERROR_CLUSTER_NO_QUORUM syscall.Errno = 5925 + ERROR_CLUSTER_INVALID_IPV6_NETWORK syscall.Errno = 5926 + ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK syscall.Errno = 5927 + ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP syscall.Errno = 5928 + ERROR_DEPENDENCY_TREE_TOO_COMPLEX syscall.Errno = 5929 + ERROR_EXCEPTION_IN_RESOURCE_CALL syscall.Errno = 5930 + ERROR_CLUSTER_RHS_FAILED_INITIALIZATION syscall.Errno = 5931 + ERROR_CLUSTER_NOT_INSTALLED syscall.Errno = 5932 + ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE syscall.Errno = 5933 + ERROR_CLUSTER_MAX_NODES_IN_CLUSTER syscall.Errno = 5934 + ERROR_CLUSTER_TOO_MANY_NODES syscall.Errno = 5935 + ERROR_CLUSTER_OBJECT_ALREADY_USED syscall.Errno = 5936 + ERROR_NONCORE_GROUPS_FOUND syscall.Errno = 5937 + ERROR_FILE_SHARE_RESOURCE_CONFLICT syscall.Errno = 5938 + ERROR_CLUSTER_EVICT_INVALID_REQUEST syscall.Errno = 5939 + ERROR_CLUSTER_SINGLETON_RESOURCE syscall.Errno = 5940 + ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE syscall.Errno = 5941 + ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED syscall.Errno = 5942 + ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR syscall.Errno = 5943 + ERROR_CLUSTER_GROUP_BUSY syscall.Errno = 5944 + ERROR_CLUSTER_NOT_SHARED_VOLUME syscall.Errno = 5945 + ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR syscall.Errno = 5946 + ERROR_CLUSTER_SHARED_VOLUMES_IN_USE syscall.Errno = 5947 + ERROR_CLUSTER_USE_SHARED_VOLUMES_API syscall.Errno = 5948 + ERROR_CLUSTER_BACKUP_IN_PROGRESS syscall.Errno = 5949 + ERROR_NON_CSV_PATH syscall.Errno = 5950 + ERROR_CSV_VOLUME_NOT_LOCAL syscall.Errno = 5951 + ERROR_CLUSTER_WATCHDOG_TERMINATING syscall.Errno = 5952 + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES syscall.Errno = 5953 + ERROR_CLUSTER_INVALID_NODE_WEIGHT syscall.Errno = 5954 + ERROR_CLUSTER_RESOURCE_VETOED_CALL syscall.Errno = 5955 + ERROR_RESMON_SYSTEM_RESOURCES_LACKING syscall.Errno = 5956 + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION syscall.Errno = 5957 + ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE syscall.Errno = 5958 + ERROR_CLUSTER_GROUP_QUEUED syscall.Errno = 5959 + ERROR_CLUSTER_RESOURCE_LOCKED_STATUS syscall.Errno = 5960 + ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED syscall.Errno = 5961 + ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS syscall.Errno = 5962 + ERROR_CLUSTER_DISK_NOT_CONNECTED syscall.Errno = 5963 + ERROR_DISK_NOT_CSV_CAPABLE syscall.Errno = 5964 + ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE syscall.Errno = 5965 + ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED syscall.Errno = 5966 + ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED syscall.Errno = 5967 + ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES syscall.Errno = 5968 + ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES syscall.Errno = 5969 + ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE syscall.Errno = 5970 + ERROR_CLUSTER_AFFINITY_CONFLICT syscall.Errno = 5971 + ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE syscall.Errno = 5972 + ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS syscall.Errno = 5973 + ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED syscall.Errno = 5974 + ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED syscall.Errno = 5975 + ERROR_CLUSTER_UPGRADE_IN_PROGRESS syscall.Errno = 5976 + ERROR_CLUSTER_UPGRADE_INCOMPLETE syscall.Errno = 5977 + ERROR_CLUSTER_NODE_IN_GRACE_PERIOD syscall.Errno = 5978 + ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT syscall.Errno = 5979 + ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER syscall.Errno = 5980 + ERROR_CLUSTER_RESOURCE_NOT_MONITORED syscall.Errno = 5981 + ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED syscall.Errno = 5982 + ERROR_CLUSTER_RESOURCE_IS_REPLICATED syscall.Errno = 5983 + ERROR_CLUSTER_NODE_ISOLATED syscall.Errno = 5984 + ERROR_CLUSTER_NODE_QUARANTINED syscall.Errno = 5985 + ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED syscall.Errno = 5986 + ERROR_CLUSTER_SPACE_DEGRADED syscall.Errno = 5987 + ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED syscall.Errno = 5988 + ERROR_CLUSTER_CSV_INVALID_HANDLE syscall.Errno = 5989 + ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR syscall.Errno = 5990 + ERROR_GROUPSET_NOT_AVAILABLE syscall.Errno = 5991 + ERROR_GROUPSET_NOT_FOUND syscall.Errno = 5992 + ERROR_GROUPSET_CANT_PROVIDE syscall.Errno = 5993 + ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND syscall.Errno = 5994 + ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY syscall.Errno = 5995 + ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION syscall.Errno = 5996 + ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS syscall.Errno = 5997 + ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME syscall.Errno = 5998 + ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE syscall.Errno = 5999 + ERROR_ENCRYPTION_FAILED syscall.Errno = 6000 + ERROR_DECRYPTION_FAILED syscall.Errno = 6001 + ERROR_FILE_ENCRYPTED syscall.Errno = 6002 + ERROR_NO_RECOVERY_POLICY syscall.Errno = 6003 + ERROR_NO_EFS syscall.Errno = 6004 + ERROR_WRONG_EFS syscall.Errno = 6005 + ERROR_NO_USER_KEYS syscall.Errno = 6006 + ERROR_FILE_NOT_ENCRYPTED syscall.Errno = 6007 + ERROR_NOT_EXPORT_FORMAT syscall.Errno = 6008 + ERROR_FILE_READ_ONLY syscall.Errno = 6009 + ERROR_DIR_EFS_DISALLOWED syscall.Errno = 6010 + ERROR_EFS_SERVER_NOT_TRUSTED syscall.Errno = 6011 + ERROR_BAD_RECOVERY_POLICY syscall.Errno = 6012 + ERROR_EFS_ALG_BLOB_TOO_BIG syscall.Errno = 6013 + ERROR_VOLUME_NOT_SUPPORT_EFS syscall.Errno = 6014 + ERROR_EFS_DISABLED syscall.Errno = 6015 + ERROR_EFS_VERSION_NOT_SUPPORT syscall.Errno = 6016 + ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE syscall.Errno = 6017 + ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER syscall.Errno = 6018 + ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE syscall.Errno = 6019 + ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE syscall.Errno = 6020 + ERROR_CS_ENCRYPTION_FILE_NOT_CSE syscall.Errno = 6021 + ERROR_ENCRYPTION_POLICY_DENIES_OPERATION syscall.Errno = 6022 + ERROR_NO_BROWSER_SERVERS_FOUND syscall.Errno = 6118 + SCHED_E_SERVICE_NOT_LOCALSYSTEM syscall.Errno = 6200 + ERROR_LOG_SECTOR_INVALID syscall.Errno = 6600 + ERROR_LOG_SECTOR_PARITY_INVALID syscall.Errno = 6601 + ERROR_LOG_SECTOR_REMAPPED syscall.Errno = 6602 + ERROR_LOG_BLOCK_INCOMPLETE syscall.Errno = 6603 + ERROR_LOG_INVALID_RANGE syscall.Errno = 6604 + ERROR_LOG_BLOCKS_EXHAUSTED syscall.Errno = 6605 + ERROR_LOG_READ_CONTEXT_INVALID syscall.Errno = 6606 + ERROR_LOG_RESTART_INVALID syscall.Errno = 6607 + ERROR_LOG_BLOCK_VERSION syscall.Errno = 6608 + ERROR_LOG_BLOCK_INVALID syscall.Errno = 6609 + ERROR_LOG_READ_MODE_INVALID syscall.Errno = 6610 + ERROR_LOG_NO_RESTART syscall.Errno = 6611 + ERROR_LOG_METADATA_CORRUPT syscall.Errno = 6612 + ERROR_LOG_METADATA_INVALID syscall.Errno = 6613 + ERROR_LOG_METADATA_INCONSISTENT syscall.Errno = 6614 + ERROR_LOG_RESERVATION_INVALID syscall.Errno = 6615 + ERROR_LOG_CANT_DELETE syscall.Errno = 6616 + ERROR_LOG_CONTAINER_LIMIT_EXCEEDED syscall.Errno = 6617 + ERROR_LOG_START_OF_LOG syscall.Errno = 6618 + ERROR_LOG_POLICY_ALREADY_INSTALLED syscall.Errno = 6619 + ERROR_LOG_POLICY_NOT_INSTALLED syscall.Errno = 6620 + ERROR_LOG_POLICY_INVALID syscall.Errno = 6621 + ERROR_LOG_POLICY_CONFLICT syscall.Errno = 6622 + ERROR_LOG_PINNED_ARCHIVE_TAIL syscall.Errno = 6623 + ERROR_LOG_RECORD_NONEXISTENT syscall.Errno = 6624 + ERROR_LOG_RECORDS_RESERVED_INVALID syscall.Errno = 6625 + ERROR_LOG_SPACE_RESERVED_INVALID syscall.Errno = 6626 + ERROR_LOG_TAIL_INVALID syscall.Errno = 6627 + ERROR_LOG_FULL syscall.Errno = 6628 + ERROR_COULD_NOT_RESIZE_LOG syscall.Errno = 6629 + ERROR_LOG_MULTIPLEXED syscall.Errno = 6630 + ERROR_LOG_DEDICATED syscall.Errno = 6631 + ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS syscall.Errno = 6632 + ERROR_LOG_ARCHIVE_IN_PROGRESS syscall.Errno = 6633 + ERROR_LOG_EPHEMERAL syscall.Errno = 6634 + ERROR_LOG_NOT_ENOUGH_CONTAINERS syscall.Errno = 6635 + ERROR_LOG_CLIENT_ALREADY_REGISTERED syscall.Errno = 6636 + ERROR_LOG_CLIENT_NOT_REGISTERED syscall.Errno = 6637 + ERROR_LOG_FULL_HANDLER_IN_PROGRESS syscall.Errno = 6638 + ERROR_LOG_CONTAINER_READ_FAILED syscall.Errno = 6639 + ERROR_LOG_CONTAINER_WRITE_FAILED syscall.Errno = 6640 + ERROR_LOG_CONTAINER_OPEN_FAILED syscall.Errno = 6641 + ERROR_LOG_CONTAINER_STATE_INVALID syscall.Errno = 6642 + ERROR_LOG_STATE_INVALID syscall.Errno = 6643 + ERROR_LOG_PINNED syscall.Errno = 6644 + ERROR_LOG_METADATA_FLUSH_FAILED syscall.Errno = 6645 + ERROR_LOG_INCONSISTENT_SECURITY syscall.Errno = 6646 + ERROR_LOG_APPENDED_FLUSH_FAILED syscall.Errno = 6647 + ERROR_LOG_PINNED_RESERVATION syscall.Errno = 6648 + ERROR_INVALID_TRANSACTION syscall.Errno = 6700 + ERROR_TRANSACTION_NOT_ACTIVE syscall.Errno = 6701 + ERROR_TRANSACTION_REQUEST_NOT_VALID syscall.Errno = 6702 + ERROR_TRANSACTION_NOT_REQUESTED syscall.Errno = 6703 + ERROR_TRANSACTION_ALREADY_ABORTED syscall.Errno = 6704 + ERROR_TRANSACTION_ALREADY_COMMITTED syscall.Errno = 6705 + ERROR_TM_INITIALIZATION_FAILED syscall.Errno = 6706 + ERROR_RESOURCEMANAGER_READ_ONLY syscall.Errno = 6707 + ERROR_TRANSACTION_NOT_JOINED syscall.Errno = 6708 + ERROR_TRANSACTION_SUPERIOR_EXISTS syscall.Errno = 6709 + ERROR_CRM_PROTOCOL_ALREADY_EXISTS syscall.Errno = 6710 + ERROR_TRANSACTION_PROPAGATION_FAILED syscall.Errno = 6711 + ERROR_CRM_PROTOCOL_NOT_FOUND syscall.Errno = 6712 + ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER syscall.Errno = 6713 + ERROR_CURRENT_TRANSACTION_NOT_VALID syscall.Errno = 6714 + ERROR_TRANSACTION_NOT_FOUND syscall.Errno = 6715 + ERROR_RESOURCEMANAGER_NOT_FOUND syscall.Errno = 6716 + ERROR_ENLISTMENT_NOT_FOUND syscall.Errno = 6717 + ERROR_TRANSACTIONMANAGER_NOT_FOUND syscall.Errno = 6718 + ERROR_TRANSACTIONMANAGER_NOT_ONLINE syscall.Errno = 6719 + ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION syscall.Errno = 6720 + ERROR_TRANSACTION_NOT_ROOT syscall.Errno = 6721 + ERROR_TRANSACTION_OBJECT_EXPIRED syscall.Errno = 6722 + ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED syscall.Errno = 6723 + ERROR_TRANSACTION_RECORD_TOO_LONG syscall.Errno = 6724 + ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED syscall.Errno = 6725 + ERROR_TRANSACTION_INTEGRITY_VIOLATED syscall.Errno = 6726 + ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH syscall.Errno = 6727 + ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT syscall.Errno = 6728 + ERROR_TRANSACTION_MUST_WRITETHROUGH syscall.Errno = 6729 + ERROR_TRANSACTION_NO_SUPERIOR syscall.Errno = 6730 + ERROR_HEURISTIC_DAMAGE_POSSIBLE syscall.Errno = 6731 + ERROR_TRANSACTIONAL_CONFLICT syscall.Errno = 6800 + ERROR_RM_NOT_ACTIVE syscall.Errno = 6801 + ERROR_RM_METADATA_CORRUPT syscall.Errno = 6802 + ERROR_DIRECTORY_NOT_RM syscall.Errno = 6803 + ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE syscall.Errno = 6805 + ERROR_LOG_RESIZE_INVALID_SIZE syscall.Errno = 6806 + ERROR_OBJECT_NO_LONGER_EXISTS syscall.Errno = 6807 + ERROR_STREAM_MINIVERSION_NOT_FOUND syscall.Errno = 6808 + ERROR_STREAM_MINIVERSION_NOT_VALID syscall.Errno = 6809 + ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION syscall.Errno = 6810 + ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT syscall.Errno = 6811 + ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS syscall.Errno = 6812 + ERROR_REMOTE_FILE_VERSION_MISMATCH syscall.Errno = 6814 + ERROR_HANDLE_NO_LONGER_VALID syscall.Errno = 6815 + ERROR_NO_TXF_METADATA syscall.Errno = 6816 + ERROR_LOG_CORRUPTION_DETECTED syscall.Errno = 6817 + ERROR_CANT_RECOVER_WITH_HANDLE_OPEN syscall.Errno = 6818 + ERROR_RM_DISCONNECTED syscall.Errno = 6819 + ERROR_ENLISTMENT_NOT_SUPERIOR syscall.Errno = 6820 + ERROR_RECOVERY_NOT_NEEDED syscall.Errno = 6821 + ERROR_RM_ALREADY_STARTED syscall.Errno = 6822 + ERROR_FILE_IDENTITY_NOT_PERSISTENT syscall.Errno = 6823 + ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY syscall.Errno = 6824 + ERROR_CANT_CROSS_RM_BOUNDARY syscall.Errno = 6825 + ERROR_TXF_DIR_NOT_EMPTY syscall.Errno = 6826 + ERROR_INDOUBT_TRANSACTIONS_EXIST syscall.Errno = 6827 + ERROR_TM_VOLATILE syscall.Errno = 6828 + ERROR_ROLLBACK_TIMER_EXPIRED syscall.Errno = 6829 + ERROR_TXF_ATTRIBUTE_CORRUPT syscall.Errno = 6830 + ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6831 + ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED syscall.Errno = 6832 + ERROR_LOG_GROWTH_FAILED syscall.Errno = 6833 + ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE syscall.Errno = 6834 + ERROR_TXF_METADATA_ALREADY_PRESENT syscall.Errno = 6835 + ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET syscall.Errno = 6836 + ERROR_TRANSACTION_REQUIRED_PROMOTION syscall.Errno = 6837 + ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION syscall.Errno = 6838 + ERROR_TRANSACTIONS_NOT_FROZEN syscall.Errno = 6839 + ERROR_TRANSACTION_FREEZE_IN_PROGRESS syscall.Errno = 6840 + ERROR_NOT_SNAPSHOT_VOLUME syscall.Errno = 6841 + ERROR_NO_SAVEPOINT_WITH_OPEN_FILES syscall.Errno = 6842 + ERROR_DATA_LOST_REPAIR syscall.Errno = 6843 + ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6844 + ERROR_TM_IDENTITY_MISMATCH syscall.Errno = 6845 + ERROR_FLOATED_SECTION syscall.Errno = 6846 + ERROR_CANNOT_ACCEPT_TRANSACTED_WORK syscall.Errno = 6847 + ERROR_CANNOT_ABORT_TRANSACTIONS syscall.Errno = 6848 + ERROR_BAD_CLUSTERS syscall.Errno = 6849 + ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION syscall.Errno = 6850 + ERROR_VOLUME_DIRTY syscall.Errno = 6851 + ERROR_NO_LINK_TRACKING_IN_TRANSACTION syscall.Errno = 6852 + ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION syscall.Errno = 6853 + ERROR_EXPIRED_HANDLE syscall.Errno = 6854 + ERROR_TRANSACTION_NOT_ENLISTED syscall.Errno = 6855 + ERROR_CTX_WINSTATION_NAME_INVALID syscall.Errno = 7001 + ERROR_CTX_INVALID_PD syscall.Errno = 7002 + ERROR_CTX_PD_NOT_FOUND syscall.Errno = 7003 + ERROR_CTX_WD_NOT_FOUND syscall.Errno = 7004 + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY syscall.Errno = 7005 + ERROR_CTX_SERVICE_NAME_COLLISION syscall.Errno = 7006 + ERROR_CTX_CLOSE_PENDING syscall.Errno = 7007 + ERROR_CTX_NO_OUTBUF syscall.Errno = 7008 + ERROR_CTX_MODEM_INF_NOT_FOUND syscall.Errno = 7009 + ERROR_CTX_INVALID_MODEMNAME syscall.Errno = 7010 + ERROR_CTX_MODEM_RESPONSE_ERROR syscall.Errno = 7011 + ERROR_CTX_MODEM_RESPONSE_TIMEOUT syscall.Errno = 7012 + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER syscall.Errno = 7013 + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE syscall.Errno = 7014 + ERROR_CTX_MODEM_RESPONSE_BUSY syscall.Errno = 7015 + ERROR_CTX_MODEM_RESPONSE_VOICE syscall.Errno = 7016 + ERROR_CTX_TD_ERROR syscall.Errno = 7017 + ERROR_CTX_WINSTATION_NOT_FOUND syscall.Errno = 7022 + ERROR_CTX_WINSTATION_ALREADY_EXISTS syscall.Errno = 7023 + ERROR_CTX_WINSTATION_BUSY syscall.Errno = 7024 + ERROR_CTX_BAD_VIDEO_MODE syscall.Errno = 7025 + ERROR_CTX_GRAPHICS_INVALID syscall.Errno = 7035 + ERROR_CTX_LOGON_DISABLED syscall.Errno = 7037 + ERROR_CTX_NOT_CONSOLE syscall.Errno = 7038 + ERROR_CTX_CLIENT_QUERY_TIMEOUT syscall.Errno = 7040 + ERROR_CTX_CONSOLE_DISCONNECT syscall.Errno = 7041 + ERROR_CTX_CONSOLE_CONNECT syscall.Errno = 7042 + ERROR_CTX_SHADOW_DENIED syscall.Errno = 7044 + ERROR_CTX_WINSTATION_ACCESS_DENIED syscall.Errno = 7045 + ERROR_CTX_INVALID_WD syscall.Errno = 7049 + ERROR_CTX_SHADOW_INVALID syscall.Errno = 7050 + ERROR_CTX_SHADOW_DISABLED syscall.Errno = 7051 + ERROR_CTX_CLIENT_LICENSE_IN_USE syscall.Errno = 7052 + ERROR_CTX_CLIENT_LICENSE_NOT_SET syscall.Errno = 7053 + ERROR_CTX_LICENSE_NOT_AVAILABLE syscall.Errno = 7054 + ERROR_CTX_LICENSE_CLIENT_INVALID syscall.Errno = 7055 + ERROR_CTX_LICENSE_EXPIRED syscall.Errno = 7056 + ERROR_CTX_SHADOW_NOT_RUNNING syscall.Errno = 7057 + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE syscall.Errno = 7058 + ERROR_ACTIVATION_COUNT_EXCEEDED syscall.Errno = 7059 + ERROR_CTX_WINSTATIONS_DISABLED syscall.Errno = 7060 + ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED syscall.Errno = 7061 + ERROR_CTX_SESSION_IN_USE syscall.Errno = 7062 + ERROR_CTX_NO_FORCE_LOGOFF syscall.Errno = 7063 + ERROR_CTX_ACCOUNT_RESTRICTION syscall.Errno = 7064 + ERROR_RDP_PROTOCOL_ERROR syscall.Errno = 7065 + ERROR_CTX_CDM_CONNECT syscall.Errno = 7066 + ERROR_CTX_CDM_DISCONNECT syscall.Errno = 7067 + ERROR_CTX_SECURITY_LAYER_ERROR syscall.Errno = 7068 + ERROR_TS_INCOMPATIBLE_SESSIONS syscall.Errno = 7069 + ERROR_TS_VIDEO_SUBSYSTEM_ERROR syscall.Errno = 7070 + FRS_ERR_INVALID_API_SEQUENCE syscall.Errno = 8001 + FRS_ERR_STARTING_SERVICE syscall.Errno = 8002 + FRS_ERR_STOPPING_SERVICE syscall.Errno = 8003 + FRS_ERR_INTERNAL_API syscall.Errno = 8004 + FRS_ERR_INTERNAL syscall.Errno = 8005 + FRS_ERR_SERVICE_COMM syscall.Errno = 8006 + FRS_ERR_INSUFFICIENT_PRIV syscall.Errno = 8007 + FRS_ERR_AUTHENTICATION syscall.Errno = 8008 + FRS_ERR_PARENT_INSUFFICIENT_PRIV syscall.Errno = 8009 + FRS_ERR_PARENT_AUTHENTICATION syscall.Errno = 8010 + FRS_ERR_CHILD_TO_PARENT_COMM syscall.Errno = 8011 + FRS_ERR_PARENT_TO_CHILD_COMM syscall.Errno = 8012 + FRS_ERR_SYSVOL_POPULATE syscall.Errno = 8013 + FRS_ERR_SYSVOL_POPULATE_TIMEOUT syscall.Errno = 8014 + FRS_ERR_SYSVOL_IS_BUSY syscall.Errno = 8015 + FRS_ERR_SYSVOL_DEMOTE syscall.Errno = 8016 + FRS_ERR_INVALID_SERVICE_PARAMETER syscall.Errno = 8017 + DS_S_SUCCESS = ERROR_SUCCESS + ERROR_DS_NOT_INSTALLED syscall.Errno = 8200 + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY syscall.Errno = 8201 + ERROR_DS_NO_ATTRIBUTE_OR_VALUE syscall.Errno = 8202 + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX syscall.Errno = 8203 + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED syscall.Errno = 8204 + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS syscall.Errno = 8205 + ERROR_DS_BUSY syscall.Errno = 8206 + ERROR_DS_UNAVAILABLE syscall.Errno = 8207 + ERROR_DS_NO_RIDS_ALLOCATED syscall.Errno = 8208 + ERROR_DS_NO_MORE_RIDS syscall.Errno = 8209 + ERROR_DS_INCORRECT_ROLE_OWNER syscall.Errno = 8210 + ERROR_DS_RIDMGR_INIT_ERROR syscall.Errno = 8211 + ERROR_DS_OBJ_CLASS_VIOLATION syscall.Errno = 8212 + ERROR_DS_CANT_ON_NON_LEAF syscall.Errno = 8213 + ERROR_DS_CANT_ON_RDN syscall.Errno = 8214 + ERROR_DS_CANT_MOD_OBJ_CLASS syscall.Errno = 8215 + ERROR_DS_CROSS_DOM_MOVE_ERROR syscall.Errno = 8216 + ERROR_DS_GC_NOT_AVAILABLE syscall.Errno = 8217 + ERROR_SHARED_POLICY syscall.Errno = 8218 + ERROR_POLICY_OBJECT_NOT_FOUND syscall.Errno = 8219 + ERROR_POLICY_ONLY_IN_DS syscall.Errno = 8220 + ERROR_PROMOTION_ACTIVE syscall.Errno = 8221 + ERROR_NO_PROMOTION_ACTIVE syscall.Errno = 8222 + ERROR_DS_OPERATIONS_ERROR syscall.Errno = 8224 + ERROR_DS_PROTOCOL_ERROR syscall.Errno = 8225 + ERROR_DS_TIMELIMIT_EXCEEDED syscall.Errno = 8226 + ERROR_DS_SIZELIMIT_EXCEEDED syscall.Errno = 8227 + ERROR_DS_ADMIN_LIMIT_EXCEEDED syscall.Errno = 8228 + ERROR_DS_COMPARE_FALSE syscall.Errno = 8229 + ERROR_DS_COMPARE_TRUE syscall.Errno = 8230 + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED syscall.Errno = 8231 + ERROR_DS_STRONG_AUTH_REQUIRED syscall.Errno = 8232 + ERROR_DS_INAPPROPRIATE_AUTH syscall.Errno = 8233 + ERROR_DS_AUTH_UNKNOWN syscall.Errno = 8234 + ERROR_DS_REFERRAL syscall.Errno = 8235 + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION syscall.Errno = 8236 + ERROR_DS_CONFIDENTIALITY_REQUIRED syscall.Errno = 8237 + ERROR_DS_INAPPROPRIATE_MATCHING syscall.Errno = 8238 + ERROR_DS_CONSTRAINT_VIOLATION syscall.Errno = 8239 + ERROR_DS_NO_SUCH_OBJECT syscall.Errno = 8240 + ERROR_DS_ALIAS_PROBLEM syscall.Errno = 8241 + ERROR_DS_INVALID_DN_SYNTAX syscall.Errno = 8242 + ERROR_DS_IS_LEAF syscall.Errno = 8243 + ERROR_DS_ALIAS_DEREF_PROBLEM syscall.Errno = 8244 + ERROR_DS_UNWILLING_TO_PERFORM syscall.Errno = 8245 + ERROR_DS_LOOP_DETECT syscall.Errno = 8246 + ERROR_DS_NAMING_VIOLATION syscall.Errno = 8247 + ERROR_DS_OBJECT_RESULTS_TOO_LARGE syscall.Errno = 8248 + ERROR_DS_AFFECTS_MULTIPLE_DSAS syscall.Errno = 8249 + ERROR_DS_SERVER_DOWN syscall.Errno = 8250 + ERROR_DS_LOCAL_ERROR syscall.Errno = 8251 + ERROR_DS_ENCODING_ERROR syscall.Errno = 8252 + ERROR_DS_DECODING_ERROR syscall.Errno = 8253 + ERROR_DS_FILTER_UNKNOWN syscall.Errno = 8254 + ERROR_DS_PARAM_ERROR syscall.Errno = 8255 + ERROR_DS_NOT_SUPPORTED syscall.Errno = 8256 + ERROR_DS_NO_RESULTS_RETURNED syscall.Errno = 8257 + ERROR_DS_CONTROL_NOT_FOUND syscall.Errno = 8258 + ERROR_DS_CLIENT_LOOP syscall.Errno = 8259 + ERROR_DS_REFERRAL_LIMIT_EXCEEDED syscall.Errno = 8260 + ERROR_DS_SORT_CONTROL_MISSING syscall.Errno = 8261 + ERROR_DS_OFFSET_RANGE_ERROR syscall.Errno = 8262 + ERROR_DS_RIDMGR_DISABLED syscall.Errno = 8263 + ERROR_DS_ROOT_MUST_BE_NC syscall.Errno = 8301 + ERROR_DS_ADD_REPLICA_INHIBITED syscall.Errno = 8302 + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA syscall.Errno = 8303 + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED syscall.Errno = 8304 + ERROR_DS_OBJ_STRING_NAME_EXISTS syscall.Errno = 8305 + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA syscall.Errno = 8306 + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA syscall.Errno = 8307 + ERROR_DS_NO_REQUESTED_ATTS_FOUND syscall.Errno = 8308 + ERROR_DS_USER_BUFFER_TO_SMALL syscall.Errno = 8309 + ERROR_DS_ATT_IS_NOT_ON_OBJ syscall.Errno = 8310 + ERROR_DS_ILLEGAL_MOD_OPERATION syscall.Errno = 8311 + ERROR_DS_OBJ_TOO_LARGE syscall.Errno = 8312 + ERROR_DS_BAD_INSTANCE_TYPE syscall.Errno = 8313 + ERROR_DS_MASTERDSA_REQUIRED syscall.Errno = 8314 + ERROR_DS_OBJECT_CLASS_REQUIRED syscall.Errno = 8315 + ERROR_DS_MISSING_REQUIRED_ATT syscall.Errno = 8316 + ERROR_DS_ATT_NOT_DEF_FOR_CLASS syscall.Errno = 8317 + ERROR_DS_ATT_ALREADY_EXISTS syscall.Errno = 8318 + ERROR_DS_CANT_ADD_ATT_VALUES syscall.Errno = 8320 + ERROR_DS_SINGLE_VALUE_CONSTRAINT syscall.Errno = 8321 + ERROR_DS_RANGE_CONSTRAINT syscall.Errno = 8322 + ERROR_DS_ATT_VAL_ALREADY_EXISTS syscall.Errno = 8323 + ERROR_DS_CANT_REM_MISSING_ATT syscall.Errno = 8324 + ERROR_DS_CANT_REM_MISSING_ATT_VAL syscall.Errno = 8325 + ERROR_DS_ROOT_CANT_BE_SUBREF syscall.Errno = 8326 + ERROR_DS_NO_CHAINING syscall.Errno = 8327 + ERROR_DS_NO_CHAINED_EVAL syscall.Errno = 8328 + ERROR_DS_NO_PARENT_OBJECT syscall.Errno = 8329 + ERROR_DS_PARENT_IS_AN_ALIAS syscall.Errno = 8330 + ERROR_DS_CANT_MIX_MASTER_AND_REPS syscall.Errno = 8331 + ERROR_DS_CHILDREN_EXIST syscall.Errno = 8332 + ERROR_DS_OBJ_NOT_FOUND syscall.Errno = 8333 + ERROR_DS_ALIASED_OBJ_MISSING syscall.Errno = 8334 + ERROR_DS_BAD_NAME_SYNTAX syscall.Errno = 8335 + ERROR_DS_ALIAS_POINTS_TO_ALIAS syscall.Errno = 8336 + ERROR_DS_CANT_DEREF_ALIAS syscall.Errno = 8337 + ERROR_DS_OUT_OF_SCOPE syscall.Errno = 8338 + ERROR_DS_OBJECT_BEING_REMOVED syscall.Errno = 8339 + ERROR_DS_CANT_DELETE_DSA_OBJ syscall.Errno = 8340 + ERROR_DS_GENERIC_ERROR syscall.Errno = 8341 + ERROR_DS_DSA_MUST_BE_INT_MASTER syscall.Errno = 8342 + ERROR_DS_CLASS_NOT_DSA syscall.Errno = 8343 + ERROR_DS_INSUFF_ACCESS_RIGHTS syscall.Errno = 8344 + ERROR_DS_ILLEGAL_SUPERIOR syscall.Errno = 8345 + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM syscall.Errno = 8346 + ERROR_DS_NAME_TOO_MANY_PARTS syscall.Errno = 8347 + ERROR_DS_NAME_TOO_LONG syscall.Errno = 8348 + ERROR_DS_NAME_VALUE_TOO_LONG syscall.Errno = 8349 + ERROR_DS_NAME_UNPARSEABLE syscall.Errno = 8350 + ERROR_DS_NAME_TYPE_UNKNOWN syscall.Errno = 8351 + ERROR_DS_NOT_AN_OBJECT syscall.Errno = 8352 + ERROR_DS_SEC_DESC_TOO_SHORT syscall.Errno = 8353 + ERROR_DS_SEC_DESC_INVALID syscall.Errno = 8354 + ERROR_DS_NO_DELETED_NAME syscall.Errno = 8355 + ERROR_DS_SUBREF_MUST_HAVE_PARENT syscall.Errno = 8356 + ERROR_DS_NCNAME_MUST_BE_NC syscall.Errno = 8357 + ERROR_DS_CANT_ADD_SYSTEM_ONLY syscall.Errno = 8358 + ERROR_DS_CLASS_MUST_BE_CONCRETE syscall.Errno = 8359 + ERROR_DS_INVALID_DMD syscall.Errno = 8360 + ERROR_DS_OBJ_GUID_EXISTS syscall.Errno = 8361 + ERROR_DS_NOT_ON_BACKLINK syscall.Errno = 8362 + ERROR_DS_NO_CROSSREF_FOR_NC syscall.Errno = 8363 + ERROR_DS_SHUTTING_DOWN syscall.Errno = 8364 + ERROR_DS_UNKNOWN_OPERATION syscall.Errno = 8365 + ERROR_DS_INVALID_ROLE_OWNER syscall.Errno = 8366 + ERROR_DS_COULDNT_CONTACT_FSMO syscall.Errno = 8367 + ERROR_DS_CROSS_NC_DN_RENAME syscall.Errno = 8368 + ERROR_DS_CANT_MOD_SYSTEM_ONLY syscall.Errno = 8369 + ERROR_DS_REPLICATOR_ONLY syscall.Errno = 8370 + ERROR_DS_OBJ_CLASS_NOT_DEFINED syscall.Errno = 8371 + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS syscall.Errno = 8372 + ERROR_DS_NAME_REFERENCE_INVALID syscall.Errno = 8373 + ERROR_DS_CROSS_REF_EXISTS syscall.Errno = 8374 + ERROR_DS_CANT_DEL_MASTER_CROSSREF syscall.Errno = 8375 + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD syscall.Errno = 8376 + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX syscall.Errno = 8377 + ERROR_DS_DUP_RDN syscall.Errno = 8378 + ERROR_DS_DUP_OID syscall.Errno = 8379 + ERROR_DS_DUP_MAPI_ID syscall.Errno = 8380 + ERROR_DS_DUP_SCHEMA_ID_GUID syscall.Errno = 8381 + ERROR_DS_DUP_LDAP_DISPLAY_NAME syscall.Errno = 8382 + ERROR_DS_SEMANTIC_ATT_TEST syscall.Errno = 8383 + ERROR_DS_SYNTAX_MISMATCH syscall.Errno = 8384 + ERROR_DS_EXISTS_IN_MUST_HAVE syscall.Errno = 8385 + ERROR_DS_EXISTS_IN_MAY_HAVE syscall.Errno = 8386 + ERROR_DS_NONEXISTENT_MAY_HAVE syscall.Errno = 8387 + ERROR_DS_NONEXISTENT_MUST_HAVE syscall.Errno = 8388 + ERROR_DS_AUX_CLS_TEST_FAIL syscall.Errno = 8389 + ERROR_DS_NONEXISTENT_POSS_SUP syscall.Errno = 8390 + ERROR_DS_SUB_CLS_TEST_FAIL syscall.Errno = 8391 + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX syscall.Errno = 8392 + ERROR_DS_EXISTS_IN_AUX_CLS syscall.Errno = 8393 + ERROR_DS_EXISTS_IN_SUB_CLS syscall.Errno = 8394 + ERROR_DS_EXISTS_IN_POSS_SUP syscall.Errno = 8395 + ERROR_DS_RECALCSCHEMA_FAILED syscall.Errno = 8396 + ERROR_DS_TREE_DELETE_NOT_FINISHED syscall.Errno = 8397 + ERROR_DS_CANT_DELETE syscall.Errno = 8398 + ERROR_DS_ATT_SCHEMA_REQ_ID syscall.Errno = 8399 + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX syscall.Errno = 8400 + ERROR_DS_CANT_CACHE_ATT syscall.Errno = 8401 + ERROR_DS_CANT_CACHE_CLASS syscall.Errno = 8402 + ERROR_DS_CANT_REMOVE_ATT_CACHE syscall.Errno = 8403 + ERROR_DS_CANT_REMOVE_CLASS_CACHE syscall.Errno = 8404 + ERROR_DS_CANT_RETRIEVE_DN syscall.Errno = 8405 + ERROR_DS_MISSING_SUPREF syscall.Errno = 8406 + ERROR_DS_CANT_RETRIEVE_INSTANCE syscall.Errno = 8407 + ERROR_DS_CODE_INCONSISTENCY syscall.Errno = 8408 + ERROR_DS_DATABASE_ERROR syscall.Errno = 8409 + ERROR_DS_GOVERNSID_MISSING syscall.Errno = 8410 + ERROR_DS_MISSING_EXPECTED_ATT syscall.Errno = 8411 + ERROR_DS_NCNAME_MISSING_CR_REF syscall.Errno = 8412 + ERROR_DS_SECURITY_CHECKING_ERROR syscall.Errno = 8413 + ERROR_DS_SCHEMA_NOT_LOADED syscall.Errno = 8414 + ERROR_DS_SCHEMA_ALLOC_FAILED syscall.Errno = 8415 + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX syscall.Errno = 8416 + ERROR_DS_GCVERIFY_ERROR syscall.Errno = 8417 + ERROR_DS_DRA_SCHEMA_MISMATCH syscall.Errno = 8418 + ERROR_DS_CANT_FIND_DSA_OBJ syscall.Errno = 8419 + ERROR_DS_CANT_FIND_EXPECTED_NC syscall.Errno = 8420 + ERROR_DS_CANT_FIND_NC_IN_CACHE syscall.Errno = 8421 + ERROR_DS_CANT_RETRIEVE_CHILD syscall.Errno = 8422 + ERROR_DS_SECURITY_ILLEGAL_MODIFY syscall.Errno = 8423 + ERROR_DS_CANT_REPLACE_HIDDEN_REC syscall.Errno = 8424 + ERROR_DS_BAD_HIERARCHY_FILE syscall.Errno = 8425 + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED syscall.Errno = 8426 + ERROR_DS_CONFIG_PARAM_MISSING syscall.Errno = 8427 + ERROR_DS_COUNTING_AB_INDICES_FAILED syscall.Errno = 8428 + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED syscall.Errno = 8429 + ERROR_DS_INTERNAL_FAILURE syscall.Errno = 8430 + ERROR_DS_UNKNOWN_ERROR syscall.Errno = 8431 + ERROR_DS_ROOT_REQUIRES_CLASS_TOP syscall.Errno = 8432 + ERROR_DS_REFUSING_FSMO_ROLES syscall.Errno = 8433 + ERROR_DS_MISSING_FSMO_SETTINGS syscall.Errno = 8434 + ERROR_DS_UNABLE_TO_SURRENDER_ROLES syscall.Errno = 8435 + ERROR_DS_DRA_GENERIC syscall.Errno = 8436 + ERROR_DS_DRA_INVALID_PARAMETER syscall.Errno = 8437 + ERROR_DS_DRA_BUSY syscall.Errno = 8438 + ERROR_DS_DRA_BAD_DN syscall.Errno = 8439 + ERROR_DS_DRA_BAD_NC syscall.Errno = 8440 + ERROR_DS_DRA_DN_EXISTS syscall.Errno = 8441 + ERROR_DS_DRA_INTERNAL_ERROR syscall.Errno = 8442 + ERROR_DS_DRA_INCONSISTENT_DIT syscall.Errno = 8443 + ERROR_DS_DRA_CONNECTION_FAILED syscall.Errno = 8444 + ERROR_DS_DRA_BAD_INSTANCE_TYPE syscall.Errno = 8445 + ERROR_DS_DRA_OUT_OF_MEM syscall.Errno = 8446 + ERROR_DS_DRA_MAIL_PROBLEM syscall.Errno = 8447 + ERROR_DS_DRA_REF_ALREADY_EXISTS syscall.Errno = 8448 + ERROR_DS_DRA_REF_NOT_FOUND syscall.Errno = 8449 + ERROR_DS_DRA_OBJ_IS_REP_SOURCE syscall.Errno = 8450 + ERROR_DS_DRA_DB_ERROR syscall.Errno = 8451 + ERROR_DS_DRA_NO_REPLICA syscall.Errno = 8452 + ERROR_DS_DRA_ACCESS_DENIED syscall.Errno = 8453 + ERROR_DS_DRA_NOT_SUPPORTED syscall.Errno = 8454 + ERROR_DS_DRA_RPC_CANCELLED syscall.Errno = 8455 + ERROR_DS_DRA_SOURCE_DISABLED syscall.Errno = 8456 + ERROR_DS_DRA_SINK_DISABLED syscall.Errno = 8457 + ERROR_DS_DRA_NAME_COLLISION syscall.Errno = 8458 + ERROR_DS_DRA_SOURCE_REINSTALLED syscall.Errno = 8459 + ERROR_DS_DRA_MISSING_PARENT syscall.Errno = 8460 + ERROR_DS_DRA_PREEMPTED syscall.Errno = 8461 + ERROR_DS_DRA_ABANDON_SYNC syscall.Errno = 8462 + ERROR_DS_DRA_SHUTDOWN syscall.Errno = 8463 + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET syscall.Errno = 8464 + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA syscall.Errno = 8465 + ERROR_DS_DRA_EXTN_CONNECTION_FAILED syscall.Errno = 8466 + ERROR_DS_INSTALL_SCHEMA_MISMATCH syscall.Errno = 8467 + ERROR_DS_DUP_LINK_ID syscall.Errno = 8468 + ERROR_DS_NAME_ERROR_RESOLVING syscall.Errno = 8469 + ERROR_DS_NAME_ERROR_NOT_FOUND syscall.Errno = 8470 + ERROR_DS_NAME_ERROR_NOT_UNIQUE syscall.Errno = 8471 + ERROR_DS_NAME_ERROR_NO_MAPPING syscall.Errno = 8472 + ERROR_DS_NAME_ERROR_DOMAIN_ONLY syscall.Errno = 8473 + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING syscall.Errno = 8474 + ERROR_DS_CONSTRUCTED_ATT_MOD syscall.Errno = 8475 + ERROR_DS_WRONG_OM_OBJ_CLASS syscall.Errno = 8476 + ERROR_DS_DRA_REPL_PENDING syscall.Errno = 8477 + ERROR_DS_DS_REQUIRED syscall.Errno = 8478 + ERROR_DS_INVALID_LDAP_DISPLAY_NAME syscall.Errno = 8479 + ERROR_DS_NON_BASE_SEARCH syscall.Errno = 8480 + ERROR_DS_CANT_RETRIEVE_ATTS syscall.Errno = 8481 + ERROR_DS_BACKLINK_WITHOUT_LINK syscall.Errno = 8482 + ERROR_DS_EPOCH_MISMATCH syscall.Errno = 8483 + ERROR_DS_SRC_NAME_MISMATCH syscall.Errno = 8484 + ERROR_DS_SRC_AND_DST_NC_IDENTICAL syscall.Errno = 8485 + ERROR_DS_DST_NC_MISMATCH syscall.Errno = 8486 + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC syscall.Errno = 8487 + ERROR_DS_SRC_GUID_MISMATCH syscall.Errno = 8488 + ERROR_DS_CANT_MOVE_DELETED_OBJECT syscall.Errno = 8489 + ERROR_DS_PDC_OPERATION_IN_PROGRESS syscall.Errno = 8490 + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD syscall.Errno = 8491 + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION syscall.Errno = 8492 + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS syscall.Errno = 8493 + ERROR_DS_NC_MUST_HAVE_NC_PARENT syscall.Errno = 8494 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE syscall.Errno = 8495 + ERROR_DS_DST_DOMAIN_NOT_NATIVE syscall.Errno = 8496 + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER syscall.Errno = 8497 + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP syscall.Errno = 8498 + ERROR_DS_CANT_MOVE_RESOURCE_GROUP syscall.Errno = 8499 + ERROR_DS_INVALID_SEARCH_FLAG syscall.Errno = 8500 + ERROR_DS_NO_TREE_DELETE_ABOVE_NC syscall.Errno = 8501 + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE syscall.Errno = 8502 + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE syscall.Errno = 8503 + ERROR_DS_SAM_INIT_FAILURE syscall.Errno = 8504 + ERROR_DS_SENSITIVE_GROUP_VIOLATION syscall.Errno = 8505 + ERROR_DS_CANT_MOD_PRIMARYGROUPID syscall.Errno = 8506 + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD syscall.Errno = 8507 + ERROR_DS_NONSAFE_SCHEMA_CHANGE syscall.Errno = 8508 + ERROR_DS_SCHEMA_UPDATE_DISALLOWED syscall.Errno = 8509 + ERROR_DS_CANT_CREATE_UNDER_SCHEMA syscall.Errno = 8510 + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION syscall.Errno = 8511 + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE syscall.Errno = 8512 + ERROR_DS_INVALID_GROUP_TYPE syscall.Errno = 8513 + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN syscall.Errno = 8514 + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN syscall.Errno = 8515 + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER syscall.Errno = 8516 + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER syscall.Errno = 8517 + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER syscall.Errno = 8518 + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER syscall.Errno = 8519 + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER syscall.Errno = 8520 + ERROR_DS_HAVE_PRIMARY_MEMBERS syscall.Errno = 8521 + ERROR_DS_STRING_SD_CONVERSION_FAILED syscall.Errno = 8522 + ERROR_DS_NAMING_MASTER_GC syscall.Errno = 8523 + ERROR_DS_DNS_LOOKUP_FAILURE syscall.Errno = 8524 + ERROR_DS_COULDNT_UPDATE_SPNS syscall.Errno = 8525 + ERROR_DS_CANT_RETRIEVE_SD syscall.Errno = 8526 + ERROR_DS_KEY_NOT_UNIQUE syscall.Errno = 8527 + ERROR_DS_WRONG_LINKED_ATT_SYNTAX syscall.Errno = 8528 + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD syscall.Errno = 8529 + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY syscall.Errno = 8530 + ERROR_DS_CANT_START syscall.Errno = 8531 + ERROR_DS_INIT_FAILURE syscall.Errno = 8532 + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION syscall.Errno = 8533 + ERROR_DS_SOURCE_DOMAIN_IN_FOREST syscall.Errno = 8534 + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST syscall.Errno = 8535 + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED syscall.Errno = 8536 + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN syscall.Errno = 8537 + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER syscall.Errno = 8538 + ERROR_DS_SRC_SID_EXISTS_IN_FOREST syscall.Errno = 8539 + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH syscall.Errno = 8540 + ERROR_SAM_INIT_FAILURE syscall.Errno = 8541 + ERROR_DS_DRA_SCHEMA_INFO_SHIP syscall.Errno = 8542 + ERROR_DS_DRA_SCHEMA_CONFLICT syscall.Errno = 8543 + ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT syscall.Errno = 8544 + ERROR_DS_DRA_OBJ_NC_MISMATCH syscall.Errno = 8545 + ERROR_DS_NC_STILL_HAS_DSAS syscall.Errno = 8546 + ERROR_DS_GC_REQUIRED syscall.Errno = 8547 + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY syscall.Errno = 8548 + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS syscall.Errno = 8549 + ERROR_DS_CANT_ADD_TO_GC syscall.Errno = 8550 + ERROR_DS_NO_CHECKPOINT_WITH_PDC syscall.Errno = 8551 + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED syscall.Errno = 8552 + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC syscall.Errno = 8553 + ERROR_DS_INVALID_NAME_FOR_SPN syscall.Errno = 8554 + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS syscall.Errno = 8555 + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES syscall.Errno = 8556 + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED syscall.Errno = 8557 + ERROR_DS_MUST_BE_RUN_ON_DST_DC syscall.Errno = 8558 + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER syscall.Errno = 8559 + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ syscall.Errno = 8560 + ERROR_DS_INIT_FAILURE_CONSOLE syscall.Errno = 8561 + ERROR_DS_SAM_INIT_FAILURE_CONSOLE syscall.Errno = 8562 + ERROR_DS_FOREST_VERSION_TOO_HIGH syscall.Errno = 8563 + ERROR_DS_DOMAIN_VERSION_TOO_HIGH syscall.Errno = 8564 + ERROR_DS_FOREST_VERSION_TOO_LOW syscall.Errno = 8565 + ERROR_DS_DOMAIN_VERSION_TOO_LOW syscall.Errno = 8566 + ERROR_DS_INCOMPATIBLE_VERSION syscall.Errno = 8567 + ERROR_DS_LOW_DSA_VERSION syscall.Errno = 8568 + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN syscall.Errno = 8569 + ERROR_DS_NOT_SUPPORTED_SORT_ORDER syscall.Errno = 8570 + ERROR_DS_NAME_NOT_UNIQUE syscall.Errno = 8571 + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 syscall.Errno = 8572 + ERROR_DS_OUT_OF_VERSION_STORE syscall.Errno = 8573 + ERROR_DS_INCOMPATIBLE_CONTROLS_USED syscall.Errno = 8574 + ERROR_DS_NO_REF_DOMAIN syscall.Errno = 8575 + ERROR_DS_RESERVED_LINK_ID syscall.Errno = 8576 + ERROR_DS_LINK_ID_NOT_AVAILABLE syscall.Errno = 8577 + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER syscall.Errno = 8578 + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE syscall.Errno = 8579 + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC syscall.Errno = 8580 + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG syscall.Errno = 8581 + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT syscall.Errno = 8582 + ERROR_DS_NAME_ERROR_TRUST_REFERRAL syscall.Errno = 8583 + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER syscall.Errno = 8584 + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD syscall.Errno = 8585 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 syscall.Errno = 8586 + ERROR_DS_THREAD_LIMIT_EXCEEDED syscall.Errno = 8587 + ERROR_DS_NOT_CLOSEST syscall.Errno = 8588 + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF syscall.Errno = 8589 + ERROR_DS_SINGLE_USER_MODE_FAILED syscall.Errno = 8590 + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR syscall.Errno = 8591 + ERROR_DS_NTDSCRIPT_PROCESS_ERROR syscall.Errno = 8592 + ERROR_DS_DIFFERENT_REPL_EPOCHS syscall.Errno = 8593 + ERROR_DS_DRS_EXTENSIONS_CHANGED syscall.Errno = 8594 + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR syscall.Errno = 8595 + ERROR_DS_NO_MSDS_INTID syscall.Errno = 8596 + ERROR_DS_DUP_MSDS_INTID syscall.Errno = 8597 + ERROR_DS_EXISTS_IN_RDNATTID syscall.Errno = 8598 + ERROR_DS_AUTHORIZATION_FAILED syscall.Errno = 8599 + ERROR_DS_INVALID_SCRIPT syscall.Errno = 8600 + ERROR_DS_REMOTE_CROSSREF_OP_FAILED syscall.Errno = 8601 + ERROR_DS_CROSS_REF_BUSY syscall.Errno = 8602 + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN syscall.Errno = 8603 + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC syscall.Errno = 8604 + ERROR_DS_DUPLICATE_ID_FOUND syscall.Errno = 8605 + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT syscall.Errno = 8606 + ERROR_DS_GROUP_CONVERSION_ERROR syscall.Errno = 8607 + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP syscall.Errno = 8608 + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP syscall.Errno = 8609 + ERROR_DS_ROLE_NOT_VERIFIED syscall.Errno = 8610 + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL syscall.Errno = 8611 + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS syscall.Errno = 8612 + ERROR_DS_EXISTING_AD_CHILD_NC syscall.Errno = 8613 + ERROR_DS_REPL_LIFETIME_EXCEEDED syscall.Errno = 8614 + ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER syscall.Errno = 8615 + ERROR_DS_LDAP_SEND_QUEUE_FULL syscall.Errno = 8616 + ERROR_DS_DRA_OUT_SCHEDULE_WINDOW syscall.Errno = 8617 + ERROR_DS_POLICY_NOT_KNOWN syscall.Errno = 8618 + ERROR_NO_SITE_SETTINGS_OBJECT syscall.Errno = 8619 + ERROR_NO_SECRETS syscall.Errno = 8620 + ERROR_NO_WRITABLE_DC_FOUND syscall.Errno = 8621 + ERROR_DS_NO_SERVER_OBJECT syscall.Errno = 8622 + ERROR_DS_NO_NTDSA_OBJECT syscall.Errno = 8623 + ERROR_DS_NON_ASQ_SEARCH syscall.Errno = 8624 + ERROR_DS_AUDIT_FAILURE syscall.Errno = 8625 + ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE syscall.Errno = 8626 + ERROR_DS_INVALID_SEARCH_FLAG_TUPLE syscall.Errno = 8627 + ERROR_DS_HIERARCHY_TABLE_TOO_DEEP syscall.Errno = 8628 + ERROR_DS_DRA_CORRUPT_UTD_VECTOR syscall.Errno = 8629 + ERROR_DS_DRA_SECRETS_DENIED syscall.Errno = 8630 + ERROR_DS_RESERVED_MAPI_ID syscall.Errno = 8631 + ERROR_DS_MAPI_ID_NOT_AVAILABLE syscall.Errno = 8632 + ERROR_DS_DRA_MISSING_KRBTGT_SECRET syscall.Errno = 8633 + ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST syscall.Errno = 8634 + ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST syscall.Errno = 8635 + ERROR_INVALID_USER_PRINCIPAL_NAME syscall.Errno = 8636 + ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS syscall.Errno = 8637 + ERROR_DS_OID_NOT_FOUND syscall.Errno = 8638 + ERROR_DS_DRA_RECYCLED_TARGET syscall.Errno = 8639 + ERROR_DS_DISALLOWED_NC_REDIRECT syscall.Errno = 8640 + ERROR_DS_HIGH_ADLDS_FFL syscall.Errno = 8641 + ERROR_DS_HIGH_DSA_VERSION syscall.Errno = 8642 + ERROR_DS_LOW_ADLDS_FFL syscall.Errno = 8643 + ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION syscall.Errno = 8644 + ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED syscall.Errno = 8645 + ERROR_INCORRECT_ACCOUNT_TYPE syscall.Errno = 8646 + ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST syscall.Errno = 8647 + ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST syscall.Errno = 8648 + ERROR_DS_MISSING_FOREST_TRUST syscall.Errno = 8649 + ERROR_DS_VALUE_KEY_NOT_UNIQUE syscall.Errno = 8650 + DNS_ERROR_RESPONSE_CODES_BASE syscall.Errno = 9000 + DNS_ERROR_RCODE_NO_ERROR = ERROR_SUCCESS + DNS_ERROR_MASK syscall.Errno = 0x00002328 + DNS_ERROR_RCODE_FORMAT_ERROR syscall.Errno = 9001 + DNS_ERROR_RCODE_SERVER_FAILURE syscall.Errno = 9002 + DNS_ERROR_RCODE_NAME_ERROR syscall.Errno = 9003 + DNS_ERROR_RCODE_NOT_IMPLEMENTED syscall.Errno = 9004 + DNS_ERROR_RCODE_REFUSED syscall.Errno = 9005 + DNS_ERROR_RCODE_YXDOMAIN syscall.Errno = 9006 + DNS_ERROR_RCODE_YXRRSET syscall.Errno = 9007 + DNS_ERROR_RCODE_NXRRSET syscall.Errno = 9008 + DNS_ERROR_RCODE_NOTAUTH syscall.Errno = 9009 + DNS_ERROR_RCODE_NOTZONE syscall.Errno = 9010 + DNS_ERROR_RCODE_BADSIG syscall.Errno = 9016 + DNS_ERROR_RCODE_BADKEY syscall.Errno = 9017 + DNS_ERROR_RCODE_BADTIME syscall.Errno = 9018 + DNS_ERROR_RCODE_LAST = DNS_ERROR_RCODE_BADTIME + DNS_ERROR_DNSSEC_BASE syscall.Errno = 9100 + DNS_ERROR_KEYMASTER_REQUIRED syscall.Errno = 9101 + DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE syscall.Errno = 9102 + DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1 syscall.Errno = 9103 + DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS syscall.Errno = 9104 + DNS_ERROR_UNSUPPORTED_ALGORITHM syscall.Errno = 9105 + DNS_ERROR_INVALID_KEY_SIZE syscall.Errno = 9106 + DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE syscall.Errno = 9107 + DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION syscall.Errno = 9108 + DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR syscall.Errno = 9109 + DNS_ERROR_UNEXPECTED_CNG_ERROR syscall.Errno = 9110 + DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION syscall.Errno = 9111 + DNS_ERROR_KSP_NOT_ACCESSIBLE syscall.Errno = 9112 + DNS_ERROR_TOO_MANY_SKDS syscall.Errno = 9113 + DNS_ERROR_INVALID_ROLLOVER_PERIOD syscall.Errno = 9114 + DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET syscall.Errno = 9115 + DNS_ERROR_ROLLOVER_IN_PROGRESS syscall.Errno = 9116 + DNS_ERROR_STANDBY_KEY_NOT_PRESENT syscall.Errno = 9117 + DNS_ERROR_NOT_ALLOWED_ON_ZSK syscall.Errno = 9118 + DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD syscall.Errno = 9119 + DNS_ERROR_ROLLOVER_ALREADY_QUEUED syscall.Errno = 9120 + DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE syscall.Errno = 9121 + DNS_ERROR_BAD_KEYMASTER syscall.Errno = 9122 + DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD syscall.Errno = 9123 + DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT syscall.Errno = 9124 + DNS_ERROR_DNSSEC_IS_DISABLED syscall.Errno = 9125 + DNS_ERROR_INVALID_XML syscall.Errno = 9126 + DNS_ERROR_NO_VALID_TRUST_ANCHORS syscall.Errno = 9127 + DNS_ERROR_ROLLOVER_NOT_POKEABLE syscall.Errno = 9128 + DNS_ERROR_NSEC3_NAME_COLLISION syscall.Errno = 9129 + DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1 syscall.Errno = 9130 + DNS_ERROR_PACKET_FMT_BASE syscall.Errno = 9500 + DNS_INFO_NO_RECORDS syscall.Errno = 9501 + DNS_ERROR_BAD_PACKET syscall.Errno = 9502 + DNS_ERROR_NO_PACKET syscall.Errno = 9503 + DNS_ERROR_RCODE syscall.Errno = 9504 + DNS_ERROR_UNSECURE_PACKET syscall.Errno = 9505 + DNS_STATUS_PACKET_UNSECURE = DNS_ERROR_UNSECURE_PACKET + DNS_REQUEST_PENDING syscall.Errno = 9506 + DNS_ERROR_NO_MEMORY = ERROR_OUTOFMEMORY + DNS_ERROR_INVALID_NAME = ERROR_INVALID_NAME + DNS_ERROR_INVALID_DATA = ERROR_INVALID_DATA + DNS_ERROR_GENERAL_API_BASE syscall.Errno = 9550 + DNS_ERROR_INVALID_TYPE syscall.Errno = 9551 + DNS_ERROR_INVALID_IP_ADDRESS syscall.Errno = 9552 + DNS_ERROR_INVALID_PROPERTY syscall.Errno = 9553 + DNS_ERROR_TRY_AGAIN_LATER syscall.Errno = 9554 + DNS_ERROR_NOT_UNIQUE syscall.Errno = 9555 + DNS_ERROR_NON_RFC_NAME syscall.Errno = 9556 + DNS_STATUS_FQDN syscall.Errno = 9557 + DNS_STATUS_DOTTED_NAME syscall.Errno = 9558 + DNS_STATUS_SINGLE_PART_NAME syscall.Errno = 9559 + DNS_ERROR_INVALID_NAME_CHAR syscall.Errno = 9560 + DNS_ERROR_NUMERIC_NAME syscall.Errno = 9561 + DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER syscall.Errno = 9562 + DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION syscall.Errno = 9563 + DNS_ERROR_CANNOT_FIND_ROOT_HINTS syscall.Errno = 9564 + DNS_ERROR_INCONSISTENT_ROOT_HINTS syscall.Errno = 9565 + DNS_ERROR_DWORD_VALUE_TOO_SMALL syscall.Errno = 9566 + DNS_ERROR_DWORD_VALUE_TOO_LARGE syscall.Errno = 9567 + DNS_ERROR_BACKGROUND_LOADING syscall.Errno = 9568 + DNS_ERROR_NOT_ALLOWED_ON_RODC syscall.Errno = 9569 + DNS_ERROR_NOT_ALLOWED_UNDER_DNAME syscall.Errno = 9570 + DNS_ERROR_DELEGATION_REQUIRED syscall.Errno = 9571 + DNS_ERROR_INVALID_POLICY_TABLE syscall.Errno = 9572 + DNS_ERROR_ADDRESS_REQUIRED syscall.Errno = 9573 + DNS_ERROR_ZONE_BASE syscall.Errno = 9600 + DNS_ERROR_ZONE_DOES_NOT_EXIST syscall.Errno = 9601 + DNS_ERROR_NO_ZONE_INFO syscall.Errno = 9602 + DNS_ERROR_INVALID_ZONE_OPERATION syscall.Errno = 9603 + DNS_ERROR_ZONE_CONFIGURATION_ERROR syscall.Errno = 9604 + DNS_ERROR_ZONE_HAS_NO_SOA_RECORD syscall.Errno = 9605 + DNS_ERROR_ZONE_HAS_NO_NS_RECORDS syscall.Errno = 9606 + DNS_ERROR_ZONE_LOCKED syscall.Errno = 9607 + DNS_ERROR_ZONE_CREATION_FAILED syscall.Errno = 9608 + DNS_ERROR_ZONE_ALREADY_EXISTS syscall.Errno = 9609 + DNS_ERROR_AUTOZONE_ALREADY_EXISTS syscall.Errno = 9610 + DNS_ERROR_INVALID_ZONE_TYPE syscall.Errno = 9611 + DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP syscall.Errno = 9612 + DNS_ERROR_ZONE_NOT_SECONDARY syscall.Errno = 9613 + DNS_ERROR_NEED_SECONDARY_ADDRESSES syscall.Errno = 9614 + DNS_ERROR_WINS_INIT_FAILED syscall.Errno = 9615 + DNS_ERROR_NEED_WINS_SERVERS syscall.Errno = 9616 + DNS_ERROR_NBSTAT_INIT_FAILED syscall.Errno = 9617 + DNS_ERROR_SOA_DELETE_INVALID syscall.Errno = 9618 + DNS_ERROR_FORWARDER_ALREADY_EXISTS syscall.Errno = 9619 + DNS_ERROR_ZONE_REQUIRES_MASTER_IP syscall.Errno = 9620 + DNS_ERROR_ZONE_IS_SHUTDOWN syscall.Errno = 9621 + DNS_ERROR_ZONE_LOCKED_FOR_SIGNING syscall.Errno = 9622 + DNS_ERROR_DATAFILE_BASE syscall.Errno = 9650 + DNS_ERROR_PRIMARY_REQUIRES_DATAFILE syscall.Errno = 9651 + DNS_ERROR_INVALID_DATAFILE_NAME syscall.Errno = 9652 + DNS_ERROR_DATAFILE_OPEN_FAILURE syscall.Errno = 9653 + DNS_ERROR_FILE_WRITEBACK_FAILED syscall.Errno = 9654 + DNS_ERROR_DATAFILE_PARSING syscall.Errno = 9655 + DNS_ERROR_DATABASE_BASE syscall.Errno = 9700 + DNS_ERROR_RECORD_DOES_NOT_EXIST syscall.Errno = 9701 + DNS_ERROR_RECORD_FORMAT syscall.Errno = 9702 + DNS_ERROR_NODE_CREATION_FAILED syscall.Errno = 9703 + DNS_ERROR_UNKNOWN_RECORD_TYPE syscall.Errno = 9704 + DNS_ERROR_RECORD_TIMED_OUT syscall.Errno = 9705 + DNS_ERROR_NAME_NOT_IN_ZONE syscall.Errno = 9706 + DNS_ERROR_CNAME_LOOP syscall.Errno = 9707 + DNS_ERROR_NODE_IS_CNAME syscall.Errno = 9708 + DNS_ERROR_CNAME_COLLISION syscall.Errno = 9709 + DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT syscall.Errno = 9710 + DNS_ERROR_RECORD_ALREADY_EXISTS syscall.Errno = 9711 + DNS_ERROR_SECONDARY_DATA syscall.Errno = 9712 + DNS_ERROR_NO_CREATE_CACHE_DATA syscall.Errno = 9713 + DNS_ERROR_NAME_DOES_NOT_EXIST syscall.Errno = 9714 + DNS_WARNING_PTR_CREATE_FAILED syscall.Errno = 9715 + DNS_WARNING_DOMAIN_UNDELETED syscall.Errno = 9716 + DNS_ERROR_DS_UNAVAILABLE syscall.Errno = 9717 + DNS_ERROR_DS_ZONE_ALREADY_EXISTS syscall.Errno = 9718 + DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE syscall.Errno = 9719 + DNS_ERROR_NODE_IS_DNAME syscall.Errno = 9720 + DNS_ERROR_DNAME_COLLISION syscall.Errno = 9721 + DNS_ERROR_ALIAS_LOOP syscall.Errno = 9722 + DNS_ERROR_OPERATION_BASE syscall.Errno = 9750 + DNS_INFO_AXFR_COMPLETE syscall.Errno = 9751 + DNS_ERROR_AXFR syscall.Errno = 9752 + DNS_INFO_ADDED_LOCAL_WINS syscall.Errno = 9753 + DNS_ERROR_SECURE_BASE syscall.Errno = 9800 + DNS_STATUS_CONTINUE_NEEDED syscall.Errno = 9801 + DNS_ERROR_SETUP_BASE syscall.Errno = 9850 + DNS_ERROR_NO_TCPIP syscall.Errno = 9851 + DNS_ERROR_NO_DNS_SERVERS syscall.Errno = 9852 + DNS_ERROR_DP_BASE syscall.Errno = 9900 + DNS_ERROR_DP_DOES_NOT_EXIST syscall.Errno = 9901 + DNS_ERROR_DP_ALREADY_EXISTS syscall.Errno = 9902 + DNS_ERROR_DP_NOT_ENLISTED syscall.Errno = 9903 + DNS_ERROR_DP_ALREADY_ENLISTED syscall.Errno = 9904 + DNS_ERROR_DP_NOT_AVAILABLE syscall.Errno = 9905 + DNS_ERROR_DP_FSMO_ERROR syscall.Errno = 9906 + DNS_ERROR_RRL_NOT_ENABLED syscall.Errno = 9911 + DNS_ERROR_RRL_INVALID_WINDOW_SIZE syscall.Errno = 9912 + DNS_ERROR_RRL_INVALID_IPV4_PREFIX syscall.Errno = 9913 + DNS_ERROR_RRL_INVALID_IPV6_PREFIX syscall.Errno = 9914 + DNS_ERROR_RRL_INVALID_TC_RATE syscall.Errno = 9915 + DNS_ERROR_RRL_INVALID_LEAK_RATE syscall.Errno = 9916 + DNS_ERROR_RRL_LEAK_RATE_LESSTHAN_TC_RATE syscall.Errno = 9917 + DNS_ERROR_VIRTUALIZATION_INSTANCE_ALREADY_EXISTS syscall.Errno = 9921 + DNS_ERROR_VIRTUALIZATION_INSTANCE_DOES_NOT_EXIST syscall.Errno = 9922 + DNS_ERROR_VIRTUALIZATION_TREE_LOCKED syscall.Errno = 9923 + DNS_ERROR_INVAILD_VIRTUALIZATION_INSTANCE_NAME syscall.Errno = 9924 + DNS_ERROR_DEFAULT_VIRTUALIZATION_INSTANCE syscall.Errno = 9925 + DNS_ERROR_ZONESCOPE_ALREADY_EXISTS syscall.Errno = 9951 + DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST syscall.Errno = 9952 + DNS_ERROR_DEFAULT_ZONESCOPE syscall.Errno = 9953 + DNS_ERROR_INVALID_ZONESCOPE_NAME syscall.Errno = 9954 + DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES syscall.Errno = 9955 + DNS_ERROR_LOAD_ZONESCOPE_FAILED syscall.Errno = 9956 + DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED syscall.Errno = 9957 + DNS_ERROR_INVALID_SCOPE_NAME syscall.Errno = 9958 + DNS_ERROR_SCOPE_DOES_NOT_EXIST syscall.Errno = 9959 + DNS_ERROR_DEFAULT_SCOPE syscall.Errno = 9960 + DNS_ERROR_INVALID_SCOPE_OPERATION syscall.Errno = 9961 + DNS_ERROR_SCOPE_LOCKED syscall.Errno = 9962 + DNS_ERROR_SCOPE_ALREADY_EXISTS syscall.Errno = 9963 + DNS_ERROR_POLICY_ALREADY_EXISTS syscall.Errno = 9971 + DNS_ERROR_POLICY_DOES_NOT_EXIST syscall.Errno = 9972 + DNS_ERROR_POLICY_INVALID_CRITERIA syscall.Errno = 9973 + DNS_ERROR_POLICY_INVALID_SETTINGS syscall.Errno = 9974 + DNS_ERROR_CLIENT_SUBNET_IS_ACCESSED syscall.Errno = 9975 + DNS_ERROR_CLIENT_SUBNET_DOES_NOT_EXIST syscall.Errno = 9976 + DNS_ERROR_CLIENT_SUBNET_ALREADY_EXISTS syscall.Errno = 9977 + DNS_ERROR_SUBNET_DOES_NOT_EXIST syscall.Errno = 9978 + DNS_ERROR_SUBNET_ALREADY_EXISTS syscall.Errno = 9979 + DNS_ERROR_POLICY_LOCKED syscall.Errno = 9980 + DNS_ERROR_POLICY_INVALID_WEIGHT syscall.Errno = 9981 + DNS_ERROR_POLICY_INVALID_NAME syscall.Errno = 9982 + DNS_ERROR_POLICY_MISSING_CRITERIA syscall.Errno = 9983 + DNS_ERROR_INVALID_CLIENT_SUBNET_NAME syscall.Errno = 9984 + DNS_ERROR_POLICY_PROCESSING_ORDER_INVALID syscall.Errno = 9985 + DNS_ERROR_POLICY_SCOPE_MISSING syscall.Errno = 9986 + DNS_ERROR_POLICY_SCOPE_NOT_ALLOWED syscall.Errno = 9987 + DNS_ERROR_SERVERSCOPE_IS_REFERENCED syscall.Errno = 9988 + DNS_ERROR_ZONESCOPE_IS_REFERENCED syscall.Errno = 9989 + DNS_ERROR_POLICY_INVALID_CRITERIA_CLIENT_SUBNET syscall.Errno = 9990 + DNS_ERROR_POLICY_INVALID_CRITERIA_TRANSPORT_PROTOCOL syscall.Errno = 9991 + DNS_ERROR_POLICY_INVALID_CRITERIA_NETWORK_PROTOCOL syscall.Errno = 9992 + DNS_ERROR_POLICY_INVALID_CRITERIA_INTERFACE syscall.Errno = 9993 + DNS_ERROR_POLICY_INVALID_CRITERIA_FQDN syscall.Errno = 9994 + DNS_ERROR_POLICY_INVALID_CRITERIA_QUERY_TYPE syscall.Errno = 9995 + DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY syscall.Errno = 9996 + WSABASEERR syscall.Errno = 10000 + WSAEINTR syscall.Errno = 10004 + WSAEBADF syscall.Errno = 10009 + WSAEACCES syscall.Errno = 10013 + WSAEFAULT syscall.Errno = 10014 + WSAEINVAL syscall.Errno = 10022 + WSAEMFILE syscall.Errno = 10024 + WSAEWOULDBLOCK syscall.Errno = 10035 + WSAEINPROGRESS syscall.Errno = 10036 + WSAEALREADY syscall.Errno = 10037 + WSAENOTSOCK syscall.Errno = 10038 + WSAEDESTADDRREQ syscall.Errno = 10039 + WSAEMSGSIZE syscall.Errno = 10040 + WSAEPROTOTYPE syscall.Errno = 10041 + WSAENOPROTOOPT syscall.Errno = 10042 + WSAEPROTONOSUPPORT syscall.Errno = 10043 + WSAESOCKTNOSUPPORT syscall.Errno = 10044 + WSAEOPNOTSUPP syscall.Errno = 10045 + WSAEPFNOSUPPORT syscall.Errno = 10046 + WSAEAFNOSUPPORT syscall.Errno = 10047 + WSAEADDRINUSE syscall.Errno = 10048 + WSAEADDRNOTAVAIL syscall.Errno = 10049 + WSAENETDOWN syscall.Errno = 10050 + WSAENETUNREACH syscall.Errno = 10051 + WSAENETRESET syscall.Errno = 10052 + WSAECONNABORTED syscall.Errno = 10053 + WSAECONNRESET syscall.Errno = 10054 + WSAENOBUFS syscall.Errno = 10055 + WSAEISCONN syscall.Errno = 10056 + WSAENOTCONN syscall.Errno = 10057 + WSAESHUTDOWN syscall.Errno = 10058 + WSAETOOMANYREFS syscall.Errno = 10059 + WSAETIMEDOUT syscall.Errno = 10060 + WSAECONNREFUSED syscall.Errno = 10061 + WSAELOOP syscall.Errno = 10062 + WSAENAMETOOLONG syscall.Errno = 10063 + WSAEHOSTDOWN syscall.Errno = 10064 + WSAEHOSTUNREACH syscall.Errno = 10065 + WSAENOTEMPTY syscall.Errno = 10066 + WSAEPROCLIM syscall.Errno = 10067 + WSAEUSERS syscall.Errno = 10068 + WSAEDQUOT syscall.Errno = 10069 + WSAESTALE syscall.Errno = 10070 + WSAEREMOTE syscall.Errno = 10071 + WSASYSNOTREADY syscall.Errno = 10091 + WSAVERNOTSUPPORTED syscall.Errno = 10092 + WSANOTINITIALISED syscall.Errno = 10093 + WSAEDISCON syscall.Errno = 10101 + WSAENOMORE syscall.Errno = 10102 + WSAECANCELLED syscall.Errno = 10103 + WSAEINVALIDPROCTABLE syscall.Errno = 10104 + WSAEINVALIDPROVIDER syscall.Errno = 10105 + WSAEPROVIDERFAILEDINIT syscall.Errno = 10106 + WSASYSCALLFAILURE syscall.Errno = 10107 + WSASERVICE_NOT_FOUND syscall.Errno = 10108 + WSATYPE_NOT_FOUND syscall.Errno = 10109 + WSA_E_NO_MORE syscall.Errno = 10110 + WSA_E_CANCELLED syscall.Errno = 10111 + WSAEREFUSED syscall.Errno = 10112 + WSAHOST_NOT_FOUND syscall.Errno = 11001 + WSATRY_AGAIN syscall.Errno = 11002 + WSANO_RECOVERY syscall.Errno = 11003 + WSANO_DATA syscall.Errno = 11004 + WSA_QOS_RECEIVERS syscall.Errno = 11005 + WSA_QOS_SENDERS syscall.Errno = 11006 + WSA_QOS_NO_SENDERS syscall.Errno = 11007 + WSA_QOS_NO_RECEIVERS syscall.Errno = 11008 + WSA_QOS_REQUEST_CONFIRMED syscall.Errno = 11009 + WSA_QOS_ADMISSION_FAILURE syscall.Errno = 11010 + WSA_QOS_POLICY_FAILURE syscall.Errno = 11011 + WSA_QOS_BAD_STYLE syscall.Errno = 11012 + WSA_QOS_BAD_OBJECT syscall.Errno = 11013 + WSA_QOS_TRAFFIC_CTRL_ERROR syscall.Errno = 11014 + WSA_QOS_GENERIC_ERROR syscall.Errno = 11015 + WSA_QOS_ESERVICETYPE syscall.Errno = 11016 + WSA_QOS_EFLOWSPEC syscall.Errno = 11017 + WSA_QOS_EPROVSPECBUF syscall.Errno = 11018 + WSA_QOS_EFILTERSTYLE syscall.Errno = 11019 + WSA_QOS_EFILTERTYPE syscall.Errno = 11020 + WSA_QOS_EFILTERCOUNT syscall.Errno = 11021 + WSA_QOS_EOBJLENGTH syscall.Errno = 11022 + WSA_QOS_EFLOWCOUNT syscall.Errno = 11023 + WSA_QOS_EUNKOWNPSOBJ syscall.Errno = 11024 + WSA_QOS_EPOLICYOBJ syscall.Errno = 11025 + WSA_QOS_EFLOWDESC syscall.Errno = 11026 + WSA_QOS_EPSFLOWSPEC syscall.Errno = 11027 + WSA_QOS_EPSFILTERSPEC syscall.Errno = 11028 + WSA_QOS_ESDMODEOBJ syscall.Errno = 11029 + WSA_QOS_ESHAPERATEOBJ syscall.Errno = 11030 + WSA_QOS_RESERVED_PETYPE syscall.Errno = 11031 + WSA_SECURE_HOST_NOT_FOUND syscall.Errno = 11032 + WSA_IPSEC_NAME_POLICY_ERROR syscall.Errno = 11033 + ERROR_IPSEC_QM_POLICY_EXISTS syscall.Errno = 13000 + ERROR_IPSEC_QM_POLICY_NOT_FOUND syscall.Errno = 13001 + ERROR_IPSEC_QM_POLICY_IN_USE syscall.Errno = 13002 + ERROR_IPSEC_MM_POLICY_EXISTS syscall.Errno = 13003 + ERROR_IPSEC_MM_POLICY_NOT_FOUND syscall.Errno = 13004 + ERROR_IPSEC_MM_POLICY_IN_USE syscall.Errno = 13005 + ERROR_IPSEC_MM_FILTER_EXISTS syscall.Errno = 13006 + ERROR_IPSEC_MM_FILTER_NOT_FOUND syscall.Errno = 13007 + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS syscall.Errno = 13008 + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND syscall.Errno = 13009 + ERROR_IPSEC_MM_AUTH_EXISTS syscall.Errno = 13010 + ERROR_IPSEC_MM_AUTH_NOT_FOUND syscall.Errno = 13011 + ERROR_IPSEC_MM_AUTH_IN_USE syscall.Errno = 13012 + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND syscall.Errno = 13013 + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND syscall.Errno = 13014 + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND syscall.Errno = 13015 + ERROR_IPSEC_TUNNEL_FILTER_EXISTS syscall.Errno = 13016 + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND syscall.Errno = 13017 + ERROR_IPSEC_MM_FILTER_PENDING_DELETION syscall.Errno = 13018 + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION syscall.Errno = 13019 + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION syscall.Errno = 13020 + ERROR_IPSEC_MM_POLICY_PENDING_DELETION syscall.Errno = 13021 + ERROR_IPSEC_MM_AUTH_PENDING_DELETION syscall.Errno = 13022 + ERROR_IPSEC_QM_POLICY_PENDING_DELETION syscall.Errno = 13023 + WARNING_IPSEC_MM_POLICY_PRUNED syscall.Errno = 13024 + WARNING_IPSEC_QM_POLICY_PRUNED syscall.Errno = 13025 + ERROR_IPSEC_IKE_NEG_STATUS_BEGIN syscall.Errno = 13800 + ERROR_IPSEC_IKE_AUTH_FAIL syscall.Errno = 13801 + ERROR_IPSEC_IKE_ATTRIB_FAIL syscall.Errno = 13802 + ERROR_IPSEC_IKE_NEGOTIATION_PENDING syscall.Errno = 13803 + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR syscall.Errno = 13804 + ERROR_IPSEC_IKE_TIMED_OUT syscall.Errno = 13805 + ERROR_IPSEC_IKE_NO_CERT syscall.Errno = 13806 + ERROR_IPSEC_IKE_SA_DELETED syscall.Errno = 13807 + ERROR_IPSEC_IKE_SA_REAPED syscall.Errno = 13808 + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP syscall.Errno = 13809 + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP syscall.Errno = 13810 + ERROR_IPSEC_IKE_QUEUE_DROP_MM syscall.Errno = 13811 + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM syscall.Errno = 13812 + ERROR_IPSEC_IKE_DROP_NO_RESPONSE syscall.Errno = 13813 + ERROR_IPSEC_IKE_MM_DELAY_DROP syscall.Errno = 13814 + ERROR_IPSEC_IKE_QM_DELAY_DROP syscall.Errno = 13815 + ERROR_IPSEC_IKE_ERROR syscall.Errno = 13816 + ERROR_IPSEC_IKE_CRL_FAILED syscall.Errno = 13817 + ERROR_IPSEC_IKE_INVALID_KEY_USAGE syscall.Errno = 13818 + ERROR_IPSEC_IKE_INVALID_CERT_TYPE syscall.Errno = 13819 + ERROR_IPSEC_IKE_NO_PRIVATE_KEY syscall.Errno = 13820 + ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY syscall.Errno = 13821 + ERROR_IPSEC_IKE_DH_FAIL syscall.Errno = 13822 + ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED syscall.Errno = 13823 + ERROR_IPSEC_IKE_INVALID_HEADER syscall.Errno = 13824 + ERROR_IPSEC_IKE_NO_POLICY syscall.Errno = 13825 + ERROR_IPSEC_IKE_INVALID_SIGNATURE syscall.Errno = 13826 + ERROR_IPSEC_IKE_KERBEROS_ERROR syscall.Errno = 13827 + ERROR_IPSEC_IKE_NO_PUBLIC_KEY syscall.Errno = 13828 + ERROR_IPSEC_IKE_PROCESS_ERR syscall.Errno = 13829 + ERROR_IPSEC_IKE_PROCESS_ERR_SA syscall.Errno = 13830 + ERROR_IPSEC_IKE_PROCESS_ERR_PROP syscall.Errno = 13831 + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS syscall.Errno = 13832 + ERROR_IPSEC_IKE_PROCESS_ERR_KE syscall.Errno = 13833 + ERROR_IPSEC_IKE_PROCESS_ERR_ID syscall.Errno = 13834 + ERROR_IPSEC_IKE_PROCESS_ERR_CERT syscall.Errno = 13835 + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ syscall.Errno = 13836 + ERROR_IPSEC_IKE_PROCESS_ERR_HASH syscall.Errno = 13837 + ERROR_IPSEC_IKE_PROCESS_ERR_SIG syscall.Errno = 13838 + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE syscall.Errno = 13839 + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY syscall.Errno = 13840 + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE syscall.Errno = 13841 + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR syscall.Errno = 13842 + ERROR_IPSEC_IKE_INVALID_PAYLOAD syscall.Errno = 13843 + ERROR_IPSEC_IKE_LOAD_SOFT_SA syscall.Errno = 13844 + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN syscall.Errno = 13845 + ERROR_IPSEC_IKE_INVALID_COOKIE syscall.Errno = 13846 + ERROR_IPSEC_IKE_NO_PEER_CERT syscall.Errno = 13847 + ERROR_IPSEC_IKE_PEER_CRL_FAILED syscall.Errno = 13848 + ERROR_IPSEC_IKE_POLICY_CHANGE syscall.Errno = 13849 + ERROR_IPSEC_IKE_NO_MM_POLICY syscall.Errno = 13850 + ERROR_IPSEC_IKE_NOTCBPRIV syscall.Errno = 13851 + ERROR_IPSEC_IKE_SECLOADFAIL syscall.Errno = 13852 + ERROR_IPSEC_IKE_FAILSSPINIT syscall.Errno = 13853 + ERROR_IPSEC_IKE_FAILQUERYSSP syscall.Errno = 13854 + ERROR_IPSEC_IKE_SRVACQFAIL syscall.Errno = 13855 + ERROR_IPSEC_IKE_SRVQUERYCRED syscall.Errno = 13856 + ERROR_IPSEC_IKE_GETSPIFAIL syscall.Errno = 13857 + ERROR_IPSEC_IKE_INVALID_FILTER syscall.Errno = 13858 + ERROR_IPSEC_IKE_OUT_OF_MEMORY syscall.Errno = 13859 + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED syscall.Errno = 13860 + ERROR_IPSEC_IKE_INVALID_POLICY syscall.Errno = 13861 + ERROR_IPSEC_IKE_UNKNOWN_DOI syscall.Errno = 13862 + ERROR_IPSEC_IKE_INVALID_SITUATION syscall.Errno = 13863 + ERROR_IPSEC_IKE_DH_FAILURE syscall.Errno = 13864 + ERROR_IPSEC_IKE_INVALID_GROUP syscall.Errno = 13865 + ERROR_IPSEC_IKE_ENCRYPT syscall.Errno = 13866 + ERROR_IPSEC_IKE_DECRYPT syscall.Errno = 13867 + ERROR_IPSEC_IKE_POLICY_MATCH syscall.Errno = 13868 + ERROR_IPSEC_IKE_UNSUPPORTED_ID syscall.Errno = 13869 + ERROR_IPSEC_IKE_INVALID_HASH syscall.Errno = 13870 + ERROR_IPSEC_IKE_INVALID_HASH_ALG syscall.Errno = 13871 + ERROR_IPSEC_IKE_INVALID_HASH_SIZE syscall.Errno = 13872 + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG syscall.Errno = 13873 + ERROR_IPSEC_IKE_INVALID_AUTH_ALG syscall.Errno = 13874 + ERROR_IPSEC_IKE_INVALID_SIG syscall.Errno = 13875 + ERROR_IPSEC_IKE_LOAD_FAILED syscall.Errno = 13876 + ERROR_IPSEC_IKE_RPC_DELETE syscall.Errno = 13877 + ERROR_IPSEC_IKE_BENIGN_REINIT syscall.Errno = 13878 + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY syscall.Errno = 13879 + ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION syscall.Errno = 13880 + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN syscall.Errno = 13881 + ERROR_IPSEC_IKE_MM_LIMIT syscall.Errno = 13882 + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED syscall.Errno = 13883 + ERROR_IPSEC_IKE_QM_LIMIT syscall.Errno = 13884 + ERROR_IPSEC_IKE_MM_EXPIRED syscall.Errno = 13885 + ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID syscall.Errno = 13886 + ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH syscall.Errno = 13887 + ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID syscall.Errno = 13888 + ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD syscall.Errno = 13889 + ERROR_IPSEC_IKE_DOS_COOKIE_SENT syscall.Errno = 13890 + ERROR_IPSEC_IKE_SHUTTING_DOWN syscall.Errno = 13891 + ERROR_IPSEC_IKE_CGA_AUTH_FAILED syscall.Errno = 13892 + ERROR_IPSEC_IKE_PROCESS_ERR_NATOA syscall.Errno = 13893 + ERROR_IPSEC_IKE_INVALID_MM_FOR_QM syscall.Errno = 13894 + ERROR_IPSEC_IKE_QM_EXPIRED syscall.Errno = 13895 + ERROR_IPSEC_IKE_TOO_MANY_FILTERS syscall.Errno = 13896 + ERROR_IPSEC_IKE_NEG_STATUS_END syscall.Errno = 13897 + ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL syscall.Errno = 13898 + ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE syscall.Errno = 13899 + ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING syscall.Errno = 13900 + ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING syscall.Errno = 13901 + ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS syscall.Errno = 13902 + ERROR_IPSEC_IKE_RATELIMIT_DROP syscall.Errno = 13903 + ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE syscall.Errno = 13904 + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE syscall.Errno = 13905 + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE syscall.Errno = 13906 + ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY syscall.Errno = 13907 + ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE syscall.Errno = 13908 + ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END syscall.Errno = 13909 + ERROR_IPSEC_BAD_SPI syscall.Errno = 13910 + ERROR_IPSEC_SA_LIFETIME_EXPIRED syscall.Errno = 13911 + ERROR_IPSEC_WRONG_SA syscall.Errno = 13912 + ERROR_IPSEC_REPLAY_CHECK_FAILED syscall.Errno = 13913 + ERROR_IPSEC_INVALID_PACKET syscall.Errno = 13914 + ERROR_IPSEC_INTEGRITY_CHECK_FAILED syscall.Errno = 13915 + ERROR_IPSEC_CLEAR_TEXT_DROP syscall.Errno = 13916 + ERROR_IPSEC_AUTH_FIREWALL_DROP syscall.Errno = 13917 + ERROR_IPSEC_THROTTLE_DROP syscall.Errno = 13918 + ERROR_IPSEC_DOSP_BLOCK syscall.Errno = 13925 + ERROR_IPSEC_DOSP_RECEIVED_MULTICAST syscall.Errno = 13926 + ERROR_IPSEC_DOSP_INVALID_PACKET syscall.Errno = 13927 + ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED syscall.Errno = 13928 + ERROR_IPSEC_DOSP_MAX_ENTRIES syscall.Errno = 13929 + ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED syscall.Errno = 13930 + ERROR_IPSEC_DOSP_NOT_INSTALLED syscall.Errno = 13931 + ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES syscall.Errno = 13932 + ERROR_SXS_SECTION_NOT_FOUND syscall.Errno = 14000 + ERROR_SXS_CANT_GEN_ACTCTX syscall.Errno = 14001 + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT syscall.Errno = 14002 + ERROR_SXS_ASSEMBLY_NOT_FOUND syscall.Errno = 14003 + ERROR_SXS_MANIFEST_FORMAT_ERROR syscall.Errno = 14004 + ERROR_SXS_MANIFEST_PARSE_ERROR syscall.Errno = 14005 + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED syscall.Errno = 14006 + ERROR_SXS_KEY_NOT_FOUND syscall.Errno = 14007 + ERROR_SXS_VERSION_CONFLICT syscall.Errno = 14008 + ERROR_SXS_WRONG_SECTION_TYPE syscall.Errno = 14009 + ERROR_SXS_THREAD_QUERIES_DISABLED syscall.Errno = 14010 + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET syscall.Errno = 14011 + ERROR_SXS_UNKNOWN_ENCODING_GROUP syscall.Errno = 14012 + ERROR_SXS_UNKNOWN_ENCODING syscall.Errno = 14013 + ERROR_SXS_INVALID_XML_NAMESPACE_URI syscall.Errno = 14014 + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED syscall.Errno = 14015 + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED syscall.Errno = 14016 + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE syscall.Errno = 14017 + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE syscall.Errno = 14018 + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE syscall.Errno = 14019 + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT syscall.Errno = 14020 + ERROR_SXS_DUPLICATE_DLL_NAME syscall.Errno = 14021 + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME syscall.Errno = 14022 + ERROR_SXS_DUPLICATE_CLSID syscall.Errno = 14023 + ERROR_SXS_DUPLICATE_IID syscall.Errno = 14024 + ERROR_SXS_DUPLICATE_TLBID syscall.Errno = 14025 + ERROR_SXS_DUPLICATE_PROGID syscall.Errno = 14026 + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME syscall.Errno = 14027 + ERROR_SXS_FILE_HASH_MISMATCH syscall.Errno = 14028 + ERROR_SXS_POLICY_PARSE_ERROR syscall.Errno = 14029 + ERROR_SXS_XML_E_MISSINGQUOTE syscall.Errno = 14030 + ERROR_SXS_XML_E_COMMENTSYNTAX syscall.Errno = 14031 + ERROR_SXS_XML_E_BADSTARTNAMECHAR syscall.Errno = 14032 + ERROR_SXS_XML_E_BADNAMECHAR syscall.Errno = 14033 + ERROR_SXS_XML_E_BADCHARINSTRING syscall.Errno = 14034 + ERROR_SXS_XML_E_XMLDECLSYNTAX syscall.Errno = 14035 + ERROR_SXS_XML_E_BADCHARDATA syscall.Errno = 14036 + ERROR_SXS_XML_E_MISSINGWHITESPACE syscall.Errno = 14037 + ERROR_SXS_XML_E_EXPECTINGTAGEND syscall.Errno = 14038 + ERROR_SXS_XML_E_MISSINGSEMICOLON syscall.Errno = 14039 + ERROR_SXS_XML_E_UNBALANCEDPAREN syscall.Errno = 14040 + ERROR_SXS_XML_E_INTERNALERROR syscall.Errno = 14041 + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE syscall.Errno = 14042 + ERROR_SXS_XML_E_INCOMPLETE_ENCODING syscall.Errno = 14043 + ERROR_SXS_XML_E_MISSING_PAREN syscall.Errno = 14044 + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE syscall.Errno = 14045 + ERROR_SXS_XML_E_MULTIPLE_COLONS syscall.Errno = 14046 + ERROR_SXS_XML_E_INVALID_DECIMAL syscall.Errno = 14047 + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL syscall.Errno = 14048 + ERROR_SXS_XML_E_INVALID_UNICODE syscall.Errno = 14049 + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK syscall.Errno = 14050 + ERROR_SXS_XML_E_UNEXPECTEDENDTAG syscall.Errno = 14051 + ERROR_SXS_XML_E_UNCLOSEDTAG syscall.Errno = 14052 + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE syscall.Errno = 14053 + ERROR_SXS_XML_E_MULTIPLEROOTS syscall.Errno = 14054 + ERROR_SXS_XML_E_INVALIDATROOTLEVEL syscall.Errno = 14055 + ERROR_SXS_XML_E_BADXMLDECL syscall.Errno = 14056 + ERROR_SXS_XML_E_MISSINGROOT syscall.Errno = 14057 + ERROR_SXS_XML_E_UNEXPECTEDEOF syscall.Errno = 14058 + ERROR_SXS_XML_E_BADPEREFINSUBSET syscall.Errno = 14059 + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG syscall.Errno = 14060 + ERROR_SXS_XML_E_UNCLOSEDENDTAG syscall.Errno = 14061 + ERROR_SXS_XML_E_UNCLOSEDSTRING syscall.Errno = 14062 + ERROR_SXS_XML_E_UNCLOSEDCOMMENT syscall.Errno = 14063 + ERROR_SXS_XML_E_UNCLOSEDDECL syscall.Errno = 14064 + ERROR_SXS_XML_E_UNCLOSEDCDATA syscall.Errno = 14065 + ERROR_SXS_XML_E_RESERVEDNAMESPACE syscall.Errno = 14066 + ERROR_SXS_XML_E_INVALIDENCODING syscall.Errno = 14067 + ERROR_SXS_XML_E_INVALIDSWITCH syscall.Errno = 14068 + ERROR_SXS_XML_E_BADXMLCASE syscall.Errno = 14069 + ERROR_SXS_XML_E_INVALID_STANDALONE syscall.Errno = 14070 + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE syscall.Errno = 14071 + ERROR_SXS_XML_E_INVALID_VERSION syscall.Errno = 14072 + ERROR_SXS_XML_E_MISSINGEQUALS syscall.Errno = 14073 + ERROR_SXS_PROTECTION_RECOVERY_FAILED syscall.Errno = 14074 + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT syscall.Errno = 14075 + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID syscall.Errno = 14076 + ERROR_SXS_UNTRANSLATABLE_HRESULT syscall.Errno = 14077 + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING syscall.Errno = 14078 + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE syscall.Errno = 14079 + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME syscall.Errno = 14080 + ERROR_SXS_ASSEMBLY_MISSING syscall.Errno = 14081 + ERROR_SXS_CORRUPT_ACTIVATION_STACK syscall.Errno = 14082 + ERROR_SXS_CORRUPTION syscall.Errno = 14083 + ERROR_SXS_EARLY_DEACTIVATION syscall.Errno = 14084 + ERROR_SXS_INVALID_DEACTIVATION syscall.Errno = 14085 + ERROR_SXS_MULTIPLE_DEACTIVATION syscall.Errno = 14086 + ERROR_SXS_PROCESS_TERMINATION_REQUESTED syscall.Errno = 14087 + ERROR_SXS_RELEASE_ACTIVATION_CONTEXT syscall.Errno = 14088 + ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY syscall.Errno = 14089 + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE syscall.Errno = 14090 + ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME syscall.Errno = 14091 + ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE syscall.Errno = 14092 + ERROR_SXS_IDENTITY_PARSE_ERROR syscall.Errno = 14093 + ERROR_MALFORMED_SUBSTITUTION_STRING syscall.Errno = 14094 + ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN syscall.Errno = 14095 + ERROR_UNMAPPED_SUBSTITUTION_STRING syscall.Errno = 14096 + ERROR_SXS_ASSEMBLY_NOT_LOCKED syscall.Errno = 14097 + ERROR_SXS_COMPONENT_STORE_CORRUPT syscall.Errno = 14098 + ERROR_ADVANCED_INSTALLER_FAILED syscall.Errno = 14099 + ERROR_XML_ENCODING_MISMATCH syscall.Errno = 14100 + ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT syscall.Errno = 14101 + ERROR_SXS_IDENTITIES_DIFFERENT syscall.Errno = 14102 + ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT syscall.Errno = 14103 + ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY syscall.Errno = 14104 + ERROR_SXS_MANIFEST_TOO_BIG syscall.Errno = 14105 + ERROR_SXS_SETTING_NOT_REGISTERED syscall.Errno = 14106 + ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE syscall.Errno = 14107 + ERROR_SMI_PRIMITIVE_INSTALLER_FAILED syscall.Errno = 14108 + ERROR_GENERIC_COMMAND_FAILED syscall.Errno = 14109 + ERROR_SXS_FILE_HASH_MISSING syscall.Errno = 14110 + ERROR_EVT_INVALID_CHANNEL_PATH syscall.Errno = 15000 + ERROR_EVT_INVALID_QUERY syscall.Errno = 15001 + ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND syscall.Errno = 15002 + ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND syscall.Errno = 15003 + ERROR_EVT_INVALID_PUBLISHER_NAME syscall.Errno = 15004 + ERROR_EVT_INVALID_EVENT_DATA syscall.Errno = 15005 + ERROR_EVT_CHANNEL_NOT_FOUND syscall.Errno = 15007 + ERROR_EVT_MALFORMED_XML_TEXT syscall.Errno = 15008 + ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL syscall.Errno = 15009 + ERROR_EVT_CONFIGURATION_ERROR syscall.Errno = 15010 + ERROR_EVT_QUERY_RESULT_STALE syscall.Errno = 15011 + ERROR_EVT_QUERY_RESULT_INVALID_POSITION syscall.Errno = 15012 + ERROR_EVT_NON_VALIDATING_MSXML syscall.Errno = 15013 + ERROR_EVT_FILTER_ALREADYSCOPED syscall.Errno = 15014 + ERROR_EVT_FILTER_NOTELTSET syscall.Errno = 15015 + ERROR_EVT_FILTER_INVARG syscall.Errno = 15016 + ERROR_EVT_FILTER_INVTEST syscall.Errno = 15017 + ERROR_EVT_FILTER_INVTYPE syscall.Errno = 15018 + ERROR_EVT_FILTER_PARSEERR syscall.Errno = 15019 + ERROR_EVT_FILTER_UNSUPPORTEDOP syscall.Errno = 15020 + ERROR_EVT_FILTER_UNEXPECTEDTOKEN syscall.Errno = 15021 + ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL syscall.Errno = 15022 + ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE syscall.Errno = 15023 + ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE syscall.Errno = 15024 + ERROR_EVT_CHANNEL_CANNOT_ACTIVATE syscall.Errno = 15025 + ERROR_EVT_FILTER_TOO_COMPLEX syscall.Errno = 15026 + ERROR_EVT_MESSAGE_NOT_FOUND syscall.Errno = 15027 + ERROR_EVT_MESSAGE_ID_NOT_FOUND syscall.Errno = 15028 + ERROR_EVT_UNRESOLVED_VALUE_INSERT syscall.Errno = 15029 + ERROR_EVT_UNRESOLVED_PARAMETER_INSERT syscall.Errno = 15030 + ERROR_EVT_MAX_INSERTS_REACHED syscall.Errno = 15031 + ERROR_EVT_EVENT_DEFINITION_NOT_FOUND syscall.Errno = 15032 + ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND syscall.Errno = 15033 + ERROR_EVT_VERSION_TOO_OLD syscall.Errno = 15034 + ERROR_EVT_VERSION_TOO_NEW syscall.Errno = 15035 + ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY syscall.Errno = 15036 + ERROR_EVT_PUBLISHER_DISABLED syscall.Errno = 15037 + ERROR_EVT_FILTER_OUT_OF_RANGE syscall.Errno = 15038 + ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE syscall.Errno = 15080 + ERROR_EC_LOG_DISABLED syscall.Errno = 15081 + ERROR_EC_CIRCULAR_FORWARDING syscall.Errno = 15082 + ERROR_EC_CREDSTORE_FULL syscall.Errno = 15083 + ERROR_EC_CRED_NOT_FOUND syscall.Errno = 15084 + ERROR_EC_NO_ACTIVE_CHANNEL syscall.Errno = 15085 + ERROR_MUI_FILE_NOT_FOUND syscall.Errno = 15100 + ERROR_MUI_INVALID_FILE syscall.Errno = 15101 + ERROR_MUI_INVALID_RC_CONFIG syscall.Errno = 15102 + ERROR_MUI_INVALID_LOCALE_NAME syscall.Errno = 15103 + ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME syscall.Errno = 15104 + ERROR_MUI_FILE_NOT_LOADED syscall.Errno = 15105 + ERROR_RESOURCE_ENUM_USER_STOP syscall.Errno = 15106 + ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED syscall.Errno = 15107 + ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME syscall.Errno = 15108 + ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE syscall.Errno = 15110 + ERROR_MRM_INVALID_PRICONFIG syscall.Errno = 15111 + ERROR_MRM_INVALID_FILE_TYPE syscall.Errno = 15112 + ERROR_MRM_UNKNOWN_QUALIFIER syscall.Errno = 15113 + ERROR_MRM_INVALID_QUALIFIER_VALUE syscall.Errno = 15114 + ERROR_MRM_NO_CANDIDATE syscall.Errno = 15115 + ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE syscall.Errno = 15116 + ERROR_MRM_RESOURCE_TYPE_MISMATCH syscall.Errno = 15117 + ERROR_MRM_DUPLICATE_MAP_NAME syscall.Errno = 15118 + ERROR_MRM_DUPLICATE_ENTRY syscall.Errno = 15119 + ERROR_MRM_INVALID_RESOURCE_IDENTIFIER syscall.Errno = 15120 + ERROR_MRM_FILEPATH_TOO_LONG syscall.Errno = 15121 + ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE syscall.Errno = 15122 + ERROR_MRM_INVALID_PRI_FILE syscall.Errno = 15126 + ERROR_MRM_NAMED_RESOURCE_NOT_FOUND syscall.Errno = 15127 + ERROR_MRM_MAP_NOT_FOUND syscall.Errno = 15135 + ERROR_MRM_UNSUPPORTED_PROFILE_TYPE syscall.Errno = 15136 + ERROR_MRM_INVALID_QUALIFIER_OPERATOR syscall.Errno = 15137 + ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE syscall.Errno = 15138 + ERROR_MRM_AUTOMERGE_ENABLED syscall.Errno = 15139 + ERROR_MRM_TOO_MANY_RESOURCES syscall.Errno = 15140 + ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE syscall.Errno = 15141 + ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE syscall.Errno = 15142 + ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD syscall.Errno = 15143 + ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST syscall.Errno = 15144 + ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT syscall.Errno = 15145 + ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE syscall.Errno = 15146 + ERROR_MRM_GENERATION_COUNT_MISMATCH syscall.Errno = 15147 + ERROR_PRI_MERGE_VERSION_MISMATCH syscall.Errno = 15148 + ERROR_PRI_MERGE_MISSING_SCHEMA syscall.Errno = 15149 + ERROR_PRI_MERGE_LOAD_FILE_FAILED syscall.Errno = 15150 + ERROR_PRI_MERGE_ADD_FILE_FAILED syscall.Errno = 15151 + ERROR_PRI_MERGE_WRITE_FILE_FAILED syscall.Errno = 15152 + ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED syscall.Errno = 15153 + ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED syscall.Errno = 15154 + ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED syscall.Errno = 15155 + ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED syscall.Errno = 15156 + ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED syscall.Errno = 15157 + ERROR_PRI_MERGE_INVALID_FILE_NAME syscall.Errno = 15158 + ERROR_MRM_PACKAGE_NOT_FOUND syscall.Errno = 15159 + ERROR_MCA_INVALID_CAPABILITIES_STRING syscall.Errno = 15200 + ERROR_MCA_INVALID_VCP_VERSION syscall.Errno = 15201 + ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION syscall.Errno = 15202 + ERROR_MCA_MCCS_VERSION_MISMATCH syscall.Errno = 15203 + ERROR_MCA_UNSUPPORTED_MCCS_VERSION syscall.Errno = 15204 + ERROR_MCA_INTERNAL_ERROR syscall.Errno = 15205 + ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED syscall.Errno = 15206 + ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE syscall.Errno = 15207 + ERROR_AMBIGUOUS_SYSTEM_DEVICE syscall.Errno = 15250 + ERROR_SYSTEM_DEVICE_NOT_FOUND syscall.Errno = 15299 + ERROR_HASH_NOT_SUPPORTED syscall.Errno = 15300 + ERROR_HASH_NOT_PRESENT syscall.Errno = 15301 + ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED syscall.Errno = 15321 + ERROR_GPIO_CLIENT_INFORMATION_INVALID syscall.Errno = 15322 + ERROR_GPIO_VERSION_NOT_SUPPORTED syscall.Errno = 15323 + ERROR_GPIO_INVALID_REGISTRATION_PACKET syscall.Errno = 15324 + ERROR_GPIO_OPERATION_DENIED syscall.Errno = 15325 + ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE syscall.Errno = 15326 + ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED syscall.Errno = 15327 + ERROR_CANNOT_SWITCH_RUNLEVEL syscall.Errno = 15400 + ERROR_INVALID_RUNLEVEL_SETTING syscall.Errno = 15401 + ERROR_RUNLEVEL_SWITCH_TIMEOUT syscall.Errno = 15402 + ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT syscall.Errno = 15403 + ERROR_RUNLEVEL_SWITCH_IN_PROGRESS syscall.Errno = 15404 + ERROR_SERVICES_FAILED_AUTOSTART syscall.Errno = 15405 + ERROR_COM_TASK_STOP_PENDING syscall.Errno = 15501 + ERROR_INSTALL_OPEN_PACKAGE_FAILED syscall.Errno = 15600 + ERROR_INSTALL_PACKAGE_NOT_FOUND syscall.Errno = 15601 + ERROR_INSTALL_INVALID_PACKAGE syscall.Errno = 15602 + ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED syscall.Errno = 15603 + ERROR_INSTALL_OUT_OF_DISK_SPACE syscall.Errno = 15604 + ERROR_INSTALL_NETWORK_FAILURE syscall.Errno = 15605 + ERROR_INSTALL_REGISTRATION_FAILURE syscall.Errno = 15606 + ERROR_INSTALL_DEREGISTRATION_FAILURE syscall.Errno = 15607 + ERROR_INSTALL_CANCEL syscall.Errno = 15608 + ERROR_INSTALL_FAILED syscall.Errno = 15609 + ERROR_REMOVE_FAILED syscall.Errno = 15610 + ERROR_PACKAGE_ALREADY_EXISTS syscall.Errno = 15611 + ERROR_NEEDS_REMEDIATION syscall.Errno = 15612 + ERROR_INSTALL_PREREQUISITE_FAILED syscall.Errno = 15613 + ERROR_PACKAGE_REPOSITORY_CORRUPTED syscall.Errno = 15614 + ERROR_INSTALL_POLICY_FAILURE syscall.Errno = 15615 + ERROR_PACKAGE_UPDATING syscall.Errno = 15616 + ERROR_DEPLOYMENT_BLOCKED_BY_POLICY syscall.Errno = 15617 + ERROR_PACKAGES_IN_USE syscall.Errno = 15618 + ERROR_RECOVERY_FILE_CORRUPT syscall.Errno = 15619 + ERROR_INVALID_STAGED_SIGNATURE syscall.Errno = 15620 + ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED syscall.Errno = 15621 + ERROR_INSTALL_PACKAGE_DOWNGRADE syscall.Errno = 15622 + ERROR_SYSTEM_NEEDS_REMEDIATION syscall.Errno = 15623 + ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN syscall.Errno = 15624 + ERROR_RESILIENCY_FILE_CORRUPT syscall.Errno = 15625 + ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING syscall.Errno = 15626 + ERROR_PACKAGE_MOVE_FAILED syscall.Errno = 15627 + ERROR_INSTALL_VOLUME_NOT_EMPTY syscall.Errno = 15628 + ERROR_INSTALL_VOLUME_OFFLINE syscall.Errno = 15629 + ERROR_INSTALL_VOLUME_CORRUPT syscall.Errno = 15630 + ERROR_NEEDS_REGISTRATION syscall.Errno = 15631 + ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE syscall.Errno = 15632 + ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED syscall.Errno = 15633 + ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE syscall.Errno = 15634 + ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM syscall.Errno = 15635 + ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING syscall.Errno = 15636 + ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE syscall.Errno = 15637 + ERROR_PACKAGE_STAGING_ONHOLD syscall.Errno = 15638 + ERROR_INSTALL_INVALID_RELATED_SET_UPDATE syscall.Errno = 15639 + ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY syscall.Errno = 15640 + ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF syscall.Errno = 15641 + ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED syscall.Errno = 15642 + ERROR_PACKAGES_REPUTATION_CHECK_FAILED syscall.Errno = 15643 + ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT syscall.Errno = 15644 + ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED syscall.Errno = 15645 + ERROR_APPINSTALLER_ACTIVATION_BLOCKED syscall.Errno = 15646 + ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED syscall.Errno = 15647 + APPMODEL_ERROR_NO_PACKAGE syscall.Errno = 15700 + APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT syscall.Errno = 15701 + APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT syscall.Errno = 15702 + APPMODEL_ERROR_NO_APPLICATION syscall.Errno = 15703 + APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED syscall.Errno = 15704 + APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID syscall.Errno = 15705 + APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE syscall.Errno = 15706 + ERROR_STATE_LOAD_STORE_FAILED syscall.Errno = 15800 + ERROR_STATE_GET_VERSION_FAILED syscall.Errno = 15801 + ERROR_STATE_SET_VERSION_FAILED syscall.Errno = 15802 + ERROR_STATE_STRUCTURED_RESET_FAILED syscall.Errno = 15803 + ERROR_STATE_OPEN_CONTAINER_FAILED syscall.Errno = 15804 + ERROR_STATE_CREATE_CONTAINER_FAILED syscall.Errno = 15805 + ERROR_STATE_DELETE_CONTAINER_FAILED syscall.Errno = 15806 + ERROR_STATE_READ_SETTING_FAILED syscall.Errno = 15807 + ERROR_STATE_WRITE_SETTING_FAILED syscall.Errno = 15808 + ERROR_STATE_DELETE_SETTING_FAILED syscall.Errno = 15809 + ERROR_STATE_QUERY_SETTING_FAILED syscall.Errno = 15810 + ERROR_STATE_READ_COMPOSITE_SETTING_FAILED syscall.Errno = 15811 + ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED syscall.Errno = 15812 + ERROR_STATE_ENUMERATE_CONTAINER_FAILED syscall.Errno = 15813 + ERROR_STATE_ENUMERATE_SETTINGS_FAILED syscall.Errno = 15814 + ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED syscall.Errno = 15815 + ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED syscall.Errno = 15816 + ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED syscall.Errno = 15817 + ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED syscall.Errno = 15818 + ERROR_API_UNAVAILABLE syscall.Errno = 15841 + STORE_ERROR_UNLICENSED syscall.Errno = 15861 + STORE_ERROR_UNLICENSED_USER syscall.Errno = 15862 + STORE_ERROR_PENDING_COM_TRANSACTION syscall.Errno = 15863 + STORE_ERROR_LICENSE_REVOKED syscall.Errno = 15864 + SEVERITY_SUCCESS syscall.Errno = 0 + SEVERITY_ERROR syscall.Errno = 1 + FACILITY_NT_BIT = 0x10000000 + E_NOT_SET = ERROR_NOT_FOUND + E_NOT_VALID_STATE = ERROR_INVALID_STATE + E_NOT_SUFFICIENT_BUFFER = ERROR_INSUFFICIENT_BUFFER + E_TIME_CRITICAL_THREAD = ERROR_TIME_CRITICAL_THREAD + NOERROR syscall.Errno = 0 + E_UNEXPECTED Handle = 0x8000FFFF + E_NOTIMPL Handle = 0x80004001 + E_OUTOFMEMORY Handle = 0x8007000E + E_INVALIDARG Handle = 0x80070057 + E_NOINTERFACE Handle = 0x80004002 + E_POINTER Handle = 0x80004003 + E_HANDLE Handle = 0x80070006 + E_ABORT Handle = 0x80004004 + E_FAIL Handle = 0x80004005 + E_ACCESSDENIED Handle = 0x80070005 + E_PENDING Handle = 0x8000000A + E_BOUNDS Handle = 0x8000000B + E_CHANGED_STATE Handle = 0x8000000C + E_ILLEGAL_STATE_CHANGE Handle = 0x8000000D + E_ILLEGAL_METHOD_CALL Handle = 0x8000000E + RO_E_METADATA_NAME_NOT_FOUND Handle = 0x8000000F + RO_E_METADATA_NAME_IS_NAMESPACE Handle = 0x80000010 + RO_E_METADATA_INVALID_TYPE_FORMAT Handle = 0x80000011 + RO_E_INVALID_METADATA_FILE Handle = 0x80000012 + RO_E_CLOSED Handle = 0x80000013 + RO_E_EXCLUSIVE_WRITE Handle = 0x80000014 + RO_E_CHANGE_NOTIFICATION_IN_PROGRESS Handle = 0x80000015 + RO_E_ERROR_STRING_NOT_FOUND Handle = 0x80000016 + E_STRING_NOT_NULL_TERMINATED Handle = 0x80000017 + E_ILLEGAL_DELEGATE_ASSIGNMENT Handle = 0x80000018 + E_ASYNC_OPERATION_NOT_STARTED Handle = 0x80000019 + E_APPLICATION_EXITING Handle = 0x8000001A + E_APPLICATION_VIEW_EXITING Handle = 0x8000001B + RO_E_MUST_BE_AGILE Handle = 0x8000001C + RO_E_UNSUPPORTED_FROM_MTA Handle = 0x8000001D + RO_E_COMMITTED Handle = 0x8000001E + RO_E_BLOCKED_CROSS_ASTA_CALL Handle = 0x8000001F + RO_E_CANNOT_ACTIVATE_FULL_TRUST_SERVER Handle = 0x80000020 + RO_E_CANNOT_ACTIVATE_UNIVERSAL_APPLICATION_SERVER Handle = 0x80000021 + CO_E_INIT_TLS Handle = 0x80004006 + CO_E_INIT_SHARED_ALLOCATOR Handle = 0x80004007 + CO_E_INIT_MEMORY_ALLOCATOR Handle = 0x80004008 + CO_E_INIT_CLASS_CACHE Handle = 0x80004009 + CO_E_INIT_RPC_CHANNEL Handle = 0x8000400A + CO_E_INIT_TLS_SET_CHANNEL_CONTROL Handle = 0x8000400B + CO_E_INIT_TLS_CHANNEL_CONTROL Handle = 0x8000400C + CO_E_INIT_UNACCEPTED_USER_ALLOCATOR Handle = 0x8000400D + CO_E_INIT_SCM_MUTEX_EXISTS Handle = 0x8000400E + CO_E_INIT_SCM_FILE_MAPPING_EXISTS Handle = 0x8000400F + CO_E_INIT_SCM_MAP_VIEW_OF_FILE Handle = 0x80004010 + CO_E_INIT_SCM_EXEC_FAILURE Handle = 0x80004011 + CO_E_INIT_ONLY_SINGLE_THREADED Handle = 0x80004012 + CO_E_CANT_REMOTE Handle = 0x80004013 + CO_E_BAD_SERVER_NAME Handle = 0x80004014 + CO_E_WRONG_SERVER_IDENTITY Handle = 0x80004015 + CO_E_OLE1DDE_DISABLED Handle = 0x80004016 + CO_E_RUNAS_SYNTAX Handle = 0x80004017 + CO_E_CREATEPROCESS_FAILURE Handle = 0x80004018 + CO_E_RUNAS_CREATEPROCESS_FAILURE Handle = 0x80004019 + CO_E_RUNAS_LOGON_FAILURE Handle = 0x8000401A + CO_E_LAUNCH_PERMSSION_DENIED Handle = 0x8000401B + CO_E_START_SERVICE_FAILURE Handle = 0x8000401C + CO_E_REMOTE_COMMUNICATION_FAILURE Handle = 0x8000401D + CO_E_SERVER_START_TIMEOUT Handle = 0x8000401E + CO_E_CLSREG_INCONSISTENT Handle = 0x8000401F + CO_E_IIDREG_INCONSISTENT Handle = 0x80004020 + CO_E_NOT_SUPPORTED Handle = 0x80004021 + CO_E_RELOAD_DLL Handle = 0x80004022 + CO_E_MSI_ERROR Handle = 0x80004023 + CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT Handle = 0x80004024 + CO_E_SERVER_PAUSED Handle = 0x80004025 + CO_E_SERVER_NOT_PAUSED Handle = 0x80004026 + CO_E_CLASS_DISABLED Handle = 0x80004027 + CO_E_CLRNOTAVAILABLE Handle = 0x80004028 + CO_E_ASYNC_WORK_REJECTED Handle = 0x80004029 + CO_E_SERVER_INIT_TIMEOUT Handle = 0x8000402A + CO_E_NO_SECCTX_IN_ACTIVATE Handle = 0x8000402B + CO_E_TRACKER_CONFIG Handle = 0x80004030 + CO_E_THREADPOOL_CONFIG Handle = 0x80004031 + CO_E_SXS_CONFIG Handle = 0x80004032 + CO_E_MALFORMED_SPN Handle = 0x80004033 + CO_E_UNREVOKED_REGISTRATION_ON_APARTMENT_SHUTDOWN Handle = 0x80004034 + CO_E_PREMATURE_STUB_RUNDOWN Handle = 0x80004035 + S_OK Handle = 0 + S_FALSE Handle = 1 + OLE_E_FIRST Handle = 0x80040000 + OLE_E_LAST Handle = 0x800400FF + OLE_S_FIRST Handle = 0x00040000 + OLE_S_LAST Handle = 0x000400FF + OLE_E_OLEVERB Handle = 0x80040000 + OLE_E_ADVF Handle = 0x80040001 + OLE_E_ENUM_NOMORE Handle = 0x80040002 + OLE_E_ADVISENOTSUPPORTED Handle = 0x80040003 + OLE_E_NOCONNECTION Handle = 0x80040004 + OLE_E_NOTRUNNING Handle = 0x80040005 + OLE_E_NOCACHE Handle = 0x80040006 + OLE_E_BLANK Handle = 0x80040007 + OLE_E_CLASSDIFF Handle = 0x80040008 + OLE_E_CANT_GETMONIKER Handle = 0x80040009 + OLE_E_CANT_BINDTOSOURCE Handle = 0x8004000A + OLE_E_STATIC Handle = 0x8004000B + OLE_E_PROMPTSAVECANCELLED Handle = 0x8004000C + OLE_E_INVALIDRECT Handle = 0x8004000D + OLE_E_WRONGCOMPOBJ Handle = 0x8004000E + OLE_E_INVALIDHWND Handle = 0x8004000F + OLE_E_NOT_INPLACEACTIVE Handle = 0x80040010 + OLE_E_CANTCONVERT Handle = 0x80040011 + OLE_E_NOSTORAGE Handle = 0x80040012 + DV_E_FORMATETC Handle = 0x80040064 + DV_E_DVTARGETDEVICE Handle = 0x80040065 + DV_E_STGMEDIUM Handle = 0x80040066 + DV_E_STATDATA Handle = 0x80040067 + DV_E_LINDEX Handle = 0x80040068 + DV_E_TYMED Handle = 0x80040069 + DV_E_CLIPFORMAT Handle = 0x8004006A + DV_E_DVASPECT Handle = 0x8004006B + DV_E_DVTARGETDEVICE_SIZE Handle = 0x8004006C + DV_E_NOIVIEWOBJECT Handle = 0x8004006D + DRAGDROP_E_FIRST syscall.Errno = 0x80040100 + DRAGDROP_E_LAST syscall.Errno = 0x8004010F + DRAGDROP_S_FIRST syscall.Errno = 0x00040100 + DRAGDROP_S_LAST syscall.Errno = 0x0004010F + DRAGDROP_E_NOTREGISTERED Handle = 0x80040100 + DRAGDROP_E_ALREADYREGISTERED Handle = 0x80040101 + DRAGDROP_E_INVALIDHWND Handle = 0x80040102 + DRAGDROP_E_CONCURRENT_DRAG_ATTEMPTED Handle = 0x80040103 + CLASSFACTORY_E_FIRST syscall.Errno = 0x80040110 + CLASSFACTORY_E_LAST syscall.Errno = 0x8004011F + CLASSFACTORY_S_FIRST syscall.Errno = 0x00040110 + CLASSFACTORY_S_LAST syscall.Errno = 0x0004011F + CLASS_E_NOAGGREGATION Handle = 0x80040110 + CLASS_E_CLASSNOTAVAILABLE Handle = 0x80040111 + CLASS_E_NOTLICENSED Handle = 0x80040112 + MARSHAL_E_FIRST syscall.Errno = 0x80040120 + MARSHAL_E_LAST syscall.Errno = 0x8004012F + MARSHAL_S_FIRST syscall.Errno = 0x00040120 + MARSHAL_S_LAST syscall.Errno = 0x0004012F + DATA_E_FIRST syscall.Errno = 0x80040130 + DATA_E_LAST syscall.Errno = 0x8004013F + DATA_S_FIRST syscall.Errno = 0x00040130 + DATA_S_LAST syscall.Errno = 0x0004013F + VIEW_E_FIRST syscall.Errno = 0x80040140 + VIEW_E_LAST syscall.Errno = 0x8004014F + VIEW_S_FIRST syscall.Errno = 0x00040140 + VIEW_S_LAST syscall.Errno = 0x0004014F + VIEW_E_DRAW Handle = 0x80040140 + REGDB_E_FIRST syscall.Errno = 0x80040150 + REGDB_E_LAST syscall.Errno = 0x8004015F + REGDB_S_FIRST syscall.Errno = 0x00040150 + REGDB_S_LAST syscall.Errno = 0x0004015F + REGDB_E_READREGDB Handle = 0x80040150 + REGDB_E_WRITEREGDB Handle = 0x80040151 + REGDB_E_KEYMISSING Handle = 0x80040152 + REGDB_E_INVALIDVALUE Handle = 0x80040153 + REGDB_E_CLASSNOTREG Handle = 0x80040154 + REGDB_E_IIDNOTREG Handle = 0x80040155 + REGDB_E_BADTHREADINGMODEL Handle = 0x80040156 + REGDB_E_PACKAGEPOLICYVIOLATION Handle = 0x80040157 + CAT_E_FIRST syscall.Errno = 0x80040160 + CAT_E_LAST syscall.Errno = 0x80040161 + CAT_E_CATIDNOEXIST Handle = 0x80040160 + CAT_E_NODESCRIPTION Handle = 0x80040161 + CS_E_FIRST syscall.Errno = 0x80040164 + CS_E_LAST syscall.Errno = 0x8004016F + CS_E_PACKAGE_NOTFOUND Handle = 0x80040164 + CS_E_NOT_DELETABLE Handle = 0x80040165 + CS_E_CLASS_NOTFOUND Handle = 0x80040166 + CS_E_INVALID_VERSION Handle = 0x80040167 + CS_E_NO_CLASSSTORE Handle = 0x80040168 + CS_E_OBJECT_NOTFOUND Handle = 0x80040169 + CS_E_OBJECT_ALREADY_EXISTS Handle = 0x8004016A + CS_E_INVALID_PATH Handle = 0x8004016B + CS_E_NETWORK_ERROR Handle = 0x8004016C + CS_E_ADMIN_LIMIT_EXCEEDED Handle = 0x8004016D + CS_E_SCHEMA_MISMATCH Handle = 0x8004016E + CS_E_INTERNAL_ERROR Handle = 0x8004016F + CACHE_E_FIRST syscall.Errno = 0x80040170 + CACHE_E_LAST syscall.Errno = 0x8004017F + CACHE_S_FIRST syscall.Errno = 0x00040170 + CACHE_S_LAST syscall.Errno = 0x0004017F + CACHE_E_NOCACHE_UPDATED Handle = 0x80040170 + OLEOBJ_E_FIRST syscall.Errno = 0x80040180 + OLEOBJ_E_LAST syscall.Errno = 0x8004018F + OLEOBJ_S_FIRST syscall.Errno = 0x00040180 + OLEOBJ_S_LAST syscall.Errno = 0x0004018F + OLEOBJ_E_NOVERBS Handle = 0x80040180 + OLEOBJ_E_INVALIDVERB Handle = 0x80040181 + CLIENTSITE_E_FIRST syscall.Errno = 0x80040190 + CLIENTSITE_E_LAST syscall.Errno = 0x8004019F + CLIENTSITE_S_FIRST syscall.Errno = 0x00040190 + CLIENTSITE_S_LAST syscall.Errno = 0x0004019F + INPLACE_E_NOTUNDOABLE Handle = 0x800401A0 + INPLACE_E_NOTOOLSPACE Handle = 0x800401A1 + INPLACE_E_FIRST syscall.Errno = 0x800401A0 + INPLACE_E_LAST syscall.Errno = 0x800401AF + INPLACE_S_FIRST syscall.Errno = 0x000401A0 + INPLACE_S_LAST syscall.Errno = 0x000401AF + ENUM_E_FIRST syscall.Errno = 0x800401B0 + ENUM_E_LAST syscall.Errno = 0x800401BF + ENUM_S_FIRST syscall.Errno = 0x000401B0 + ENUM_S_LAST syscall.Errno = 0x000401BF + CONVERT10_E_FIRST syscall.Errno = 0x800401C0 + CONVERT10_E_LAST syscall.Errno = 0x800401CF + CONVERT10_S_FIRST syscall.Errno = 0x000401C0 + CONVERT10_S_LAST syscall.Errno = 0x000401CF + CONVERT10_E_OLESTREAM_GET Handle = 0x800401C0 + CONVERT10_E_OLESTREAM_PUT Handle = 0x800401C1 + CONVERT10_E_OLESTREAM_FMT Handle = 0x800401C2 + CONVERT10_E_OLESTREAM_BITMAP_TO_DIB Handle = 0x800401C3 + CONVERT10_E_STG_FMT Handle = 0x800401C4 + CONVERT10_E_STG_NO_STD_STREAM Handle = 0x800401C5 + CONVERT10_E_STG_DIB_TO_BITMAP Handle = 0x800401C6 + CLIPBRD_E_FIRST syscall.Errno = 0x800401D0 + CLIPBRD_E_LAST syscall.Errno = 0x800401DF + CLIPBRD_S_FIRST syscall.Errno = 0x000401D0 + CLIPBRD_S_LAST syscall.Errno = 0x000401DF + CLIPBRD_E_CANT_OPEN Handle = 0x800401D0 + CLIPBRD_E_CANT_EMPTY Handle = 0x800401D1 + CLIPBRD_E_CANT_SET Handle = 0x800401D2 + CLIPBRD_E_BAD_DATA Handle = 0x800401D3 + CLIPBRD_E_CANT_CLOSE Handle = 0x800401D4 + MK_E_FIRST syscall.Errno = 0x800401E0 + MK_E_LAST syscall.Errno = 0x800401EF + MK_S_FIRST syscall.Errno = 0x000401E0 + MK_S_LAST syscall.Errno = 0x000401EF + MK_E_CONNECTMANUALLY Handle = 0x800401E0 + MK_E_EXCEEDEDDEADLINE Handle = 0x800401E1 + MK_E_NEEDGENERIC Handle = 0x800401E2 + MK_E_UNAVAILABLE Handle = 0x800401E3 + MK_E_SYNTAX Handle = 0x800401E4 + MK_E_NOOBJECT Handle = 0x800401E5 + MK_E_INVALIDEXTENSION Handle = 0x800401E6 + MK_E_INTERMEDIATEINTERFACENOTSUPPORTED Handle = 0x800401E7 + MK_E_NOTBINDABLE Handle = 0x800401E8 + MK_E_NOTBOUND Handle = 0x800401E9 + MK_E_CANTOPENFILE Handle = 0x800401EA + MK_E_MUSTBOTHERUSER Handle = 0x800401EB + MK_E_NOINVERSE Handle = 0x800401EC + MK_E_NOSTORAGE Handle = 0x800401ED + MK_E_NOPREFIX Handle = 0x800401EE + MK_E_ENUMERATION_FAILED Handle = 0x800401EF + CO_E_FIRST syscall.Errno = 0x800401F0 + CO_E_LAST syscall.Errno = 0x800401FF + CO_S_FIRST syscall.Errno = 0x000401F0 + CO_S_LAST syscall.Errno = 0x000401FF + CO_E_NOTINITIALIZED Handle = 0x800401F0 + CO_E_ALREADYINITIALIZED Handle = 0x800401F1 + CO_E_CANTDETERMINECLASS Handle = 0x800401F2 + CO_E_CLASSSTRING Handle = 0x800401F3 + CO_E_IIDSTRING Handle = 0x800401F4 + CO_E_APPNOTFOUND Handle = 0x800401F5 + CO_E_APPSINGLEUSE Handle = 0x800401F6 + CO_E_ERRORINAPP Handle = 0x800401F7 + CO_E_DLLNOTFOUND Handle = 0x800401F8 + CO_E_ERRORINDLL Handle = 0x800401F9 + CO_E_WRONGOSFORAPP Handle = 0x800401FA + CO_E_OBJNOTREG Handle = 0x800401FB + CO_E_OBJISREG Handle = 0x800401FC + CO_E_OBJNOTCONNECTED Handle = 0x800401FD + CO_E_APPDIDNTREG Handle = 0x800401FE + CO_E_RELEASED Handle = 0x800401FF + EVENT_E_FIRST syscall.Errno = 0x80040200 + EVENT_E_LAST syscall.Errno = 0x8004021F + EVENT_S_FIRST syscall.Errno = 0x00040200 + EVENT_S_LAST syscall.Errno = 0x0004021F + EVENT_S_SOME_SUBSCRIBERS_FAILED Handle = 0x00040200 + EVENT_E_ALL_SUBSCRIBERS_FAILED Handle = 0x80040201 + EVENT_S_NOSUBSCRIBERS Handle = 0x00040202 + EVENT_E_QUERYSYNTAX Handle = 0x80040203 + EVENT_E_QUERYFIELD Handle = 0x80040204 + EVENT_E_INTERNALEXCEPTION Handle = 0x80040205 + EVENT_E_INTERNALERROR Handle = 0x80040206 + EVENT_E_INVALID_PER_USER_SID Handle = 0x80040207 + EVENT_E_USER_EXCEPTION Handle = 0x80040208 + EVENT_E_TOO_MANY_METHODS Handle = 0x80040209 + EVENT_E_MISSING_EVENTCLASS Handle = 0x8004020A + EVENT_E_NOT_ALL_REMOVED Handle = 0x8004020B + EVENT_E_COMPLUS_NOT_INSTALLED Handle = 0x8004020C + EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT Handle = 0x8004020D + EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT Handle = 0x8004020E + EVENT_E_INVALID_EVENT_CLASS_PARTITION Handle = 0x8004020F + EVENT_E_PER_USER_SID_NOT_LOGGED_ON Handle = 0x80040210 + TPC_E_INVALID_PROPERTY Handle = 0x80040241 + TPC_E_NO_DEFAULT_TABLET Handle = 0x80040212 + TPC_E_UNKNOWN_PROPERTY Handle = 0x8004021B + TPC_E_INVALID_INPUT_RECT Handle = 0x80040219 + TPC_E_INVALID_STROKE Handle = 0x80040222 + TPC_E_INITIALIZE_FAIL Handle = 0x80040223 + TPC_E_NOT_RELEVANT Handle = 0x80040232 + TPC_E_INVALID_PACKET_DESCRIPTION Handle = 0x80040233 + TPC_E_RECOGNIZER_NOT_REGISTERED Handle = 0x80040235 + TPC_E_INVALID_RIGHTS Handle = 0x80040236 + TPC_E_OUT_OF_ORDER_CALL Handle = 0x80040237 + TPC_E_QUEUE_FULL Handle = 0x80040238 + TPC_E_INVALID_CONFIGURATION Handle = 0x80040239 + TPC_E_INVALID_DATA_FROM_RECOGNIZER Handle = 0x8004023A + TPC_S_TRUNCATED Handle = 0x00040252 + TPC_S_INTERRUPTED Handle = 0x00040253 + TPC_S_NO_DATA_TO_PROCESS Handle = 0x00040254 + XACT_E_FIRST syscall.Errno = 0x8004D000 + XACT_E_LAST syscall.Errno = 0x8004D02B + XACT_S_FIRST syscall.Errno = 0x0004D000 + XACT_S_LAST syscall.Errno = 0x0004D010 + XACT_E_ALREADYOTHERSINGLEPHASE Handle = 0x8004D000 + XACT_E_CANTRETAIN Handle = 0x8004D001 + XACT_E_COMMITFAILED Handle = 0x8004D002 + XACT_E_COMMITPREVENTED Handle = 0x8004D003 + XACT_E_HEURISTICABORT Handle = 0x8004D004 + XACT_E_HEURISTICCOMMIT Handle = 0x8004D005 + XACT_E_HEURISTICDAMAGE Handle = 0x8004D006 + XACT_E_HEURISTICDANGER Handle = 0x8004D007 + XACT_E_ISOLATIONLEVEL Handle = 0x8004D008 + XACT_E_NOASYNC Handle = 0x8004D009 + XACT_E_NOENLIST Handle = 0x8004D00A + XACT_E_NOISORETAIN Handle = 0x8004D00B + XACT_E_NORESOURCE Handle = 0x8004D00C + XACT_E_NOTCURRENT Handle = 0x8004D00D + XACT_E_NOTRANSACTION Handle = 0x8004D00E + XACT_E_NOTSUPPORTED Handle = 0x8004D00F + XACT_E_UNKNOWNRMGRID Handle = 0x8004D010 + XACT_E_WRONGSTATE Handle = 0x8004D011 + XACT_E_WRONGUOW Handle = 0x8004D012 + XACT_E_XTIONEXISTS Handle = 0x8004D013 + XACT_E_NOIMPORTOBJECT Handle = 0x8004D014 + XACT_E_INVALIDCOOKIE Handle = 0x8004D015 + XACT_E_INDOUBT Handle = 0x8004D016 + XACT_E_NOTIMEOUT Handle = 0x8004D017 + XACT_E_ALREADYINPROGRESS Handle = 0x8004D018 + XACT_E_ABORTED Handle = 0x8004D019 + XACT_E_LOGFULL Handle = 0x8004D01A + XACT_E_TMNOTAVAILABLE Handle = 0x8004D01B + XACT_E_CONNECTION_DOWN Handle = 0x8004D01C + XACT_E_CONNECTION_DENIED Handle = 0x8004D01D + XACT_E_REENLISTTIMEOUT Handle = 0x8004D01E + XACT_E_TIP_CONNECT_FAILED Handle = 0x8004D01F + XACT_E_TIP_PROTOCOL_ERROR Handle = 0x8004D020 + XACT_E_TIP_PULL_FAILED Handle = 0x8004D021 + XACT_E_DEST_TMNOTAVAILABLE Handle = 0x8004D022 + XACT_E_TIP_DISABLED Handle = 0x8004D023 + XACT_E_NETWORK_TX_DISABLED Handle = 0x8004D024 + XACT_E_PARTNER_NETWORK_TX_DISABLED Handle = 0x8004D025 + XACT_E_XA_TX_DISABLED Handle = 0x8004D026 + XACT_E_UNABLE_TO_READ_DTC_CONFIG Handle = 0x8004D027 + XACT_E_UNABLE_TO_LOAD_DTC_PROXY Handle = 0x8004D028 + XACT_E_ABORTING Handle = 0x8004D029 + XACT_E_PUSH_COMM_FAILURE Handle = 0x8004D02A + XACT_E_PULL_COMM_FAILURE Handle = 0x8004D02B + XACT_E_LU_TX_DISABLED Handle = 0x8004D02C + XACT_E_CLERKNOTFOUND Handle = 0x8004D080 + XACT_E_CLERKEXISTS Handle = 0x8004D081 + XACT_E_RECOVERYINPROGRESS Handle = 0x8004D082 + XACT_E_TRANSACTIONCLOSED Handle = 0x8004D083 + XACT_E_INVALIDLSN Handle = 0x8004D084 + XACT_E_REPLAYREQUEST Handle = 0x8004D085 + XACT_S_ASYNC Handle = 0x0004D000 + XACT_S_DEFECT Handle = 0x0004D001 + XACT_S_READONLY Handle = 0x0004D002 + XACT_S_SOMENORETAIN Handle = 0x0004D003 + XACT_S_OKINFORM Handle = 0x0004D004 + XACT_S_MADECHANGESCONTENT Handle = 0x0004D005 + XACT_S_MADECHANGESINFORM Handle = 0x0004D006 + XACT_S_ALLNORETAIN Handle = 0x0004D007 + XACT_S_ABORTING Handle = 0x0004D008 + XACT_S_SINGLEPHASE Handle = 0x0004D009 + XACT_S_LOCALLY_OK Handle = 0x0004D00A + XACT_S_LASTRESOURCEMANAGER Handle = 0x0004D010 + CONTEXT_E_FIRST syscall.Errno = 0x8004E000 + CONTEXT_E_LAST syscall.Errno = 0x8004E02F + CONTEXT_S_FIRST syscall.Errno = 0x0004E000 + CONTEXT_S_LAST syscall.Errno = 0x0004E02F + CONTEXT_E_ABORTED Handle = 0x8004E002 + CONTEXT_E_ABORTING Handle = 0x8004E003 + CONTEXT_E_NOCONTEXT Handle = 0x8004E004 + CONTEXT_E_WOULD_DEADLOCK Handle = 0x8004E005 + CONTEXT_E_SYNCH_TIMEOUT Handle = 0x8004E006 + CONTEXT_E_OLDREF Handle = 0x8004E007 + CONTEXT_E_ROLENOTFOUND Handle = 0x8004E00C + CONTEXT_E_TMNOTAVAILABLE Handle = 0x8004E00F + CO_E_ACTIVATIONFAILED Handle = 0x8004E021 + CO_E_ACTIVATIONFAILED_EVENTLOGGED Handle = 0x8004E022 + CO_E_ACTIVATIONFAILED_CATALOGERROR Handle = 0x8004E023 + CO_E_ACTIVATIONFAILED_TIMEOUT Handle = 0x8004E024 + CO_E_INITIALIZATIONFAILED Handle = 0x8004E025 + CONTEXT_E_NOJIT Handle = 0x8004E026 + CONTEXT_E_NOTRANSACTION Handle = 0x8004E027 + CO_E_THREADINGMODEL_CHANGED Handle = 0x8004E028 + CO_E_NOIISINTRINSICS Handle = 0x8004E029 + CO_E_NOCOOKIES Handle = 0x8004E02A + CO_E_DBERROR Handle = 0x8004E02B + CO_E_NOTPOOLED Handle = 0x8004E02C + CO_E_NOTCONSTRUCTED Handle = 0x8004E02D + CO_E_NOSYNCHRONIZATION Handle = 0x8004E02E + CO_E_ISOLEVELMISMATCH Handle = 0x8004E02F + CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED Handle = 0x8004E030 + CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED Handle = 0x8004E031 + OLE_S_USEREG Handle = 0x00040000 + OLE_S_STATIC Handle = 0x00040001 + OLE_S_MAC_CLIPFORMAT Handle = 0x00040002 + DRAGDROP_S_DROP Handle = 0x00040100 + DRAGDROP_S_CANCEL Handle = 0x00040101 + DRAGDROP_S_USEDEFAULTCURSORS Handle = 0x00040102 + DATA_S_SAMEFORMATETC Handle = 0x00040130 + VIEW_S_ALREADY_FROZEN Handle = 0x00040140 + CACHE_S_FORMATETC_NOTSUPPORTED Handle = 0x00040170 + CACHE_S_SAMECACHE Handle = 0x00040171 + CACHE_S_SOMECACHES_NOTUPDATED Handle = 0x00040172 + OLEOBJ_S_INVALIDVERB Handle = 0x00040180 + OLEOBJ_S_CANNOT_DOVERB_NOW Handle = 0x00040181 + OLEOBJ_S_INVALIDHWND Handle = 0x00040182 + INPLACE_S_TRUNCATED Handle = 0x000401A0 + CONVERT10_S_NO_PRESENTATION Handle = 0x000401C0 + MK_S_REDUCED_TO_SELF Handle = 0x000401E2 + MK_S_ME Handle = 0x000401E4 + MK_S_HIM Handle = 0x000401E5 + MK_S_US Handle = 0x000401E6 + MK_S_MONIKERALREADYREGISTERED Handle = 0x000401E7 + SCHED_S_TASK_READY Handle = 0x00041300 + SCHED_S_TASK_RUNNING Handle = 0x00041301 + SCHED_S_TASK_DISABLED Handle = 0x00041302 + SCHED_S_TASK_HAS_NOT_RUN Handle = 0x00041303 + SCHED_S_TASK_NO_MORE_RUNS Handle = 0x00041304 + SCHED_S_TASK_NOT_SCHEDULED Handle = 0x00041305 + SCHED_S_TASK_TERMINATED Handle = 0x00041306 + SCHED_S_TASK_NO_VALID_TRIGGERS Handle = 0x00041307 + SCHED_S_EVENT_TRIGGER Handle = 0x00041308 + SCHED_E_TRIGGER_NOT_FOUND Handle = 0x80041309 + SCHED_E_TASK_NOT_READY Handle = 0x8004130A + SCHED_E_TASK_NOT_RUNNING Handle = 0x8004130B + SCHED_E_SERVICE_NOT_INSTALLED Handle = 0x8004130C + SCHED_E_CANNOT_OPEN_TASK Handle = 0x8004130D + SCHED_E_INVALID_TASK Handle = 0x8004130E + SCHED_E_ACCOUNT_INFORMATION_NOT_SET Handle = 0x8004130F + SCHED_E_ACCOUNT_NAME_NOT_FOUND Handle = 0x80041310 + SCHED_E_ACCOUNT_DBASE_CORRUPT Handle = 0x80041311 + SCHED_E_NO_SECURITY_SERVICES Handle = 0x80041312 + SCHED_E_UNKNOWN_OBJECT_VERSION Handle = 0x80041313 + SCHED_E_UNSUPPORTED_ACCOUNT_OPTION Handle = 0x80041314 + SCHED_E_SERVICE_NOT_RUNNING Handle = 0x80041315 + SCHED_E_UNEXPECTEDNODE Handle = 0x80041316 + SCHED_E_NAMESPACE Handle = 0x80041317 + SCHED_E_INVALIDVALUE Handle = 0x80041318 + SCHED_E_MISSINGNODE Handle = 0x80041319 + SCHED_E_MALFORMEDXML Handle = 0x8004131A + SCHED_S_SOME_TRIGGERS_FAILED Handle = 0x0004131B + SCHED_S_BATCH_LOGON_PROBLEM Handle = 0x0004131C + SCHED_E_TOO_MANY_NODES Handle = 0x8004131D + SCHED_E_PAST_END_BOUNDARY Handle = 0x8004131E + SCHED_E_ALREADY_RUNNING Handle = 0x8004131F + SCHED_E_USER_NOT_LOGGED_ON Handle = 0x80041320 + SCHED_E_INVALID_TASK_HASH Handle = 0x80041321 + SCHED_E_SERVICE_NOT_AVAILABLE Handle = 0x80041322 + SCHED_E_SERVICE_TOO_BUSY Handle = 0x80041323 + SCHED_E_TASK_ATTEMPTED Handle = 0x80041324 + SCHED_S_TASK_QUEUED Handle = 0x00041325 + SCHED_E_TASK_DISABLED Handle = 0x80041326 + SCHED_E_TASK_NOT_V1_COMPAT Handle = 0x80041327 + SCHED_E_START_ON_DEMAND Handle = 0x80041328 + SCHED_E_TASK_NOT_UBPM_COMPAT Handle = 0x80041329 + SCHED_E_DEPRECATED_FEATURE_USED Handle = 0x80041330 + CO_E_CLASS_CREATE_FAILED Handle = 0x80080001 + CO_E_SCM_ERROR Handle = 0x80080002 + CO_E_SCM_RPC_FAILURE Handle = 0x80080003 + CO_E_BAD_PATH Handle = 0x80080004 + CO_E_SERVER_EXEC_FAILURE Handle = 0x80080005 + CO_E_OBJSRV_RPC_FAILURE Handle = 0x80080006 + MK_E_NO_NORMALIZED Handle = 0x80080007 + CO_E_SERVER_STOPPING Handle = 0x80080008 + MEM_E_INVALID_ROOT Handle = 0x80080009 + MEM_E_INVALID_LINK Handle = 0x80080010 + MEM_E_INVALID_SIZE Handle = 0x80080011 + CO_S_NOTALLINTERFACES Handle = 0x00080012 + CO_S_MACHINENAMENOTFOUND Handle = 0x00080013 + CO_E_MISSING_DISPLAYNAME Handle = 0x80080015 + CO_E_RUNAS_VALUE_MUST_BE_AAA Handle = 0x80080016 + CO_E_ELEVATION_DISABLED Handle = 0x80080017 + APPX_E_PACKAGING_INTERNAL Handle = 0x80080200 + APPX_E_INTERLEAVING_NOT_ALLOWED Handle = 0x80080201 + APPX_E_RELATIONSHIPS_NOT_ALLOWED Handle = 0x80080202 + APPX_E_MISSING_REQUIRED_FILE Handle = 0x80080203 + APPX_E_INVALID_MANIFEST Handle = 0x80080204 + APPX_E_INVALID_BLOCKMAP Handle = 0x80080205 + APPX_E_CORRUPT_CONTENT Handle = 0x80080206 + APPX_E_BLOCK_HASH_INVALID Handle = 0x80080207 + APPX_E_REQUESTED_RANGE_TOO_LARGE Handle = 0x80080208 + APPX_E_INVALID_SIP_CLIENT_DATA Handle = 0x80080209 + APPX_E_INVALID_KEY_INFO Handle = 0x8008020A + APPX_E_INVALID_CONTENTGROUPMAP Handle = 0x8008020B + APPX_E_INVALID_APPINSTALLER Handle = 0x8008020C + APPX_E_DELTA_BASELINE_VERSION_MISMATCH Handle = 0x8008020D + APPX_E_DELTA_PACKAGE_MISSING_FILE Handle = 0x8008020E + APPX_E_INVALID_DELTA_PACKAGE Handle = 0x8008020F + APPX_E_DELTA_APPENDED_PACKAGE_NOT_ALLOWED Handle = 0x80080210 + APPX_E_INVALID_PACKAGING_LAYOUT Handle = 0x80080211 + APPX_E_INVALID_PACKAGESIGNCONFIG Handle = 0x80080212 + APPX_E_RESOURCESPRI_NOT_ALLOWED Handle = 0x80080213 + APPX_E_FILE_COMPRESSION_MISMATCH Handle = 0x80080214 + APPX_E_INVALID_PAYLOAD_PACKAGE_EXTENSION Handle = 0x80080215 + APPX_E_INVALID_ENCRYPTION_EXCLUSION_FILE_LIST Handle = 0x80080216 + BT_E_SPURIOUS_ACTIVATION Handle = 0x80080300 + DISP_E_UNKNOWNINTERFACE Handle = 0x80020001 + DISP_E_MEMBERNOTFOUND Handle = 0x80020003 + DISP_E_PARAMNOTFOUND Handle = 0x80020004 + DISP_E_TYPEMISMATCH Handle = 0x80020005 + DISP_E_UNKNOWNNAME Handle = 0x80020006 + DISP_E_NONAMEDARGS Handle = 0x80020007 + DISP_E_BADVARTYPE Handle = 0x80020008 + DISP_E_EXCEPTION Handle = 0x80020009 + DISP_E_OVERFLOW Handle = 0x8002000A + DISP_E_BADINDEX Handle = 0x8002000B + DISP_E_UNKNOWNLCID Handle = 0x8002000C + DISP_E_ARRAYISLOCKED Handle = 0x8002000D + DISP_E_BADPARAMCOUNT Handle = 0x8002000E + DISP_E_PARAMNOTOPTIONAL Handle = 0x8002000F + DISP_E_BADCALLEE Handle = 0x80020010 + DISP_E_NOTACOLLECTION Handle = 0x80020011 + DISP_E_DIVBYZERO Handle = 0x80020012 + DISP_E_BUFFERTOOSMALL Handle = 0x80020013 + TYPE_E_BUFFERTOOSMALL Handle = 0x80028016 + TYPE_E_FIELDNOTFOUND Handle = 0x80028017 + TYPE_E_INVDATAREAD Handle = 0x80028018 + TYPE_E_UNSUPFORMAT Handle = 0x80028019 + TYPE_E_REGISTRYACCESS Handle = 0x8002801C + TYPE_E_LIBNOTREGISTERED Handle = 0x8002801D + TYPE_E_UNDEFINEDTYPE Handle = 0x80028027 + TYPE_E_QUALIFIEDNAMEDISALLOWED Handle = 0x80028028 + TYPE_E_INVALIDSTATE Handle = 0x80028029 + TYPE_E_WRONGTYPEKIND Handle = 0x8002802A + TYPE_E_ELEMENTNOTFOUND Handle = 0x8002802B + TYPE_E_AMBIGUOUSNAME Handle = 0x8002802C + TYPE_E_NAMECONFLICT Handle = 0x8002802D + TYPE_E_UNKNOWNLCID Handle = 0x8002802E + TYPE_E_DLLFUNCTIONNOTFOUND Handle = 0x8002802F + TYPE_E_BADMODULEKIND Handle = 0x800288BD + TYPE_E_SIZETOOBIG Handle = 0x800288C5 + TYPE_E_DUPLICATEID Handle = 0x800288C6 + TYPE_E_INVALIDID Handle = 0x800288CF + TYPE_E_TYPEMISMATCH Handle = 0x80028CA0 + TYPE_E_OUTOFBOUNDS Handle = 0x80028CA1 + TYPE_E_IOERROR Handle = 0x80028CA2 + TYPE_E_CANTCREATETMPFILE Handle = 0x80028CA3 + TYPE_E_CANTLOADLIBRARY Handle = 0x80029C4A + TYPE_E_INCONSISTENTPROPFUNCS Handle = 0x80029C83 + TYPE_E_CIRCULARTYPE Handle = 0x80029C84 + STG_E_INVALIDFUNCTION Handle = 0x80030001 + STG_E_FILENOTFOUND Handle = 0x80030002 + STG_E_PATHNOTFOUND Handle = 0x80030003 + STG_E_TOOMANYOPENFILES Handle = 0x80030004 + STG_E_ACCESSDENIED Handle = 0x80030005 + STG_E_INVALIDHANDLE Handle = 0x80030006 + STG_E_INSUFFICIENTMEMORY Handle = 0x80030008 + STG_E_INVALIDPOINTER Handle = 0x80030009 + STG_E_NOMOREFILES Handle = 0x80030012 + STG_E_DISKISWRITEPROTECTED Handle = 0x80030013 + STG_E_SEEKERROR Handle = 0x80030019 + STG_E_WRITEFAULT Handle = 0x8003001D + STG_E_READFAULT Handle = 0x8003001E + STG_E_SHAREVIOLATION Handle = 0x80030020 + STG_E_LOCKVIOLATION Handle = 0x80030021 + STG_E_FILEALREADYEXISTS Handle = 0x80030050 + STG_E_INVALIDPARAMETER Handle = 0x80030057 + STG_E_MEDIUMFULL Handle = 0x80030070 + STG_E_PROPSETMISMATCHED Handle = 0x800300F0 + STG_E_ABNORMALAPIEXIT Handle = 0x800300FA + STG_E_INVALIDHEADER Handle = 0x800300FB + STG_E_INVALIDNAME Handle = 0x800300FC + STG_E_UNKNOWN Handle = 0x800300FD + STG_E_UNIMPLEMENTEDFUNCTION Handle = 0x800300FE + STG_E_INVALIDFLAG Handle = 0x800300FF + STG_E_INUSE Handle = 0x80030100 + STG_E_NOTCURRENT Handle = 0x80030101 + STG_E_REVERTED Handle = 0x80030102 + STG_E_CANTSAVE Handle = 0x80030103 + STG_E_OLDFORMAT Handle = 0x80030104 + STG_E_OLDDLL Handle = 0x80030105 + STG_E_SHAREREQUIRED Handle = 0x80030106 + STG_E_NOTFILEBASEDSTORAGE Handle = 0x80030107 + STG_E_EXTANTMARSHALLINGS Handle = 0x80030108 + STG_E_DOCFILECORRUPT Handle = 0x80030109 + STG_E_BADBASEADDRESS Handle = 0x80030110 + STG_E_DOCFILETOOLARGE Handle = 0x80030111 + STG_E_NOTSIMPLEFORMAT Handle = 0x80030112 + STG_E_INCOMPLETE Handle = 0x80030201 + STG_E_TERMINATED Handle = 0x80030202 + STG_S_CONVERTED Handle = 0x00030200 + STG_S_BLOCK Handle = 0x00030201 + STG_S_RETRYNOW Handle = 0x00030202 + STG_S_MONITORING Handle = 0x00030203 + STG_S_MULTIPLEOPENS Handle = 0x00030204 + STG_S_CONSOLIDATIONFAILED Handle = 0x00030205 + STG_S_CANNOTCONSOLIDATE Handle = 0x00030206 + STG_S_POWER_CYCLE_REQUIRED Handle = 0x00030207 + STG_E_FIRMWARE_SLOT_INVALID Handle = 0x80030208 + STG_E_FIRMWARE_IMAGE_INVALID Handle = 0x80030209 + STG_E_DEVICE_UNRESPONSIVE Handle = 0x8003020A + STG_E_STATUS_COPY_PROTECTION_FAILURE Handle = 0x80030305 + STG_E_CSS_AUTHENTICATION_FAILURE Handle = 0x80030306 + STG_E_CSS_KEY_NOT_PRESENT Handle = 0x80030307 + STG_E_CSS_KEY_NOT_ESTABLISHED Handle = 0x80030308 + STG_E_CSS_SCRAMBLED_SECTOR Handle = 0x80030309 + STG_E_CSS_REGION_MISMATCH Handle = 0x8003030A + STG_E_RESETS_EXHAUSTED Handle = 0x8003030B + RPC_E_CALL_REJECTED Handle = 0x80010001 + RPC_E_CALL_CANCELED Handle = 0x80010002 + RPC_E_CANTPOST_INSENDCALL Handle = 0x80010003 + RPC_E_CANTCALLOUT_INASYNCCALL Handle = 0x80010004 + RPC_E_CANTCALLOUT_INEXTERNALCALL Handle = 0x80010005 + RPC_E_CONNECTION_TERMINATED Handle = 0x80010006 + RPC_E_SERVER_DIED Handle = 0x80010007 + RPC_E_CLIENT_DIED Handle = 0x80010008 + RPC_E_INVALID_DATAPACKET Handle = 0x80010009 + RPC_E_CANTTRANSMIT_CALL Handle = 0x8001000A + RPC_E_CLIENT_CANTMARSHAL_DATA Handle = 0x8001000B + RPC_E_CLIENT_CANTUNMARSHAL_DATA Handle = 0x8001000C + RPC_E_SERVER_CANTMARSHAL_DATA Handle = 0x8001000D + RPC_E_SERVER_CANTUNMARSHAL_DATA Handle = 0x8001000E + RPC_E_INVALID_DATA Handle = 0x8001000F + RPC_E_INVALID_PARAMETER Handle = 0x80010010 + RPC_E_CANTCALLOUT_AGAIN Handle = 0x80010011 + RPC_E_SERVER_DIED_DNE Handle = 0x80010012 + RPC_E_SYS_CALL_FAILED Handle = 0x80010100 + RPC_E_OUT_OF_RESOURCES Handle = 0x80010101 + RPC_E_ATTEMPTED_MULTITHREAD Handle = 0x80010102 + RPC_E_NOT_REGISTERED Handle = 0x80010103 + RPC_E_FAULT Handle = 0x80010104 + RPC_E_SERVERFAULT Handle = 0x80010105 + RPC_E_CHANGED_MODE Handle = 0x80010106 + RPC_E_INVALIDMETHOD Handle = 0x80010107 + RPC_E_DISCONNECTED Handle = 0x80010108 + RPC_E_RETRY Handle = 0x80010109 + RPC_E_SERVERCALL_RETRYLATER Handle = 0x8001010A + RPC_E_SERVERCALL_REJECTED Handle = 0x8001010B + RPC_E_INVALID_CALLDATA Handle = 0x8001010C + RPC_E_CANTCALLOUT_ININPUTSYNCCALL Handle = 0x8001010D + RPC_E_WRONG_THREAD Handle = 0x8001010E + RPC_E_THREAD_NOT_INIT Handle = 0x8001010F + RPC_E_VERSION_MISMATCH Handle = 0x80010110 + RPC_E_INVALID_HEADER Handle = 0x80010111 + RPC_E_INVALID_EXTENSION Handle = 0x80010112 + RPC_E_INVALID_IPID Handle = 0x80010113 + RPC_E_INVALID_OBJECT Handle = 0x80010114 + RPC_S_CALLPENDING Handle = 0x80010115 + RPC_S_WAITONTIMER Handle = 0x80010116 + RPC_E_CALL_COMPLETE Handle = 0x80010117 + RPC_E_UNSECURE_CALL Handle = 0x80010118 + RPC_E_TOO_LATE Handle = 0x80010119 + RPC_E_NO_GOOD_SECURITY_PACKAGES Handle = 0x8001011A + RPC_E_ACCESS_DENIED Handle = 0x8001011B + RPC_E_REMOTE_DISABLED Handle = 0x8001011C + RPC_E_INVALID_OBJREF Handle = 0x8001011D + RPC_E_NO_CONTEXT Handle = 0x8001011E + RPC_E_TIMEOUT Handle = 0x8001011F + RPC_E_NO_SYNC Handle = 0x80010120 + RPC_E_FULLSIC_REQUIRED Handle = 0x80010121 + RPC_E_INVALID_STD_NAME Handle = 0x80010122 + CO_E_FAILEDTOIMPERSONATE Handle = 0x80010123 + CO_E_FAILEDTOGETSECCTX Handle = 0x80010124 + CO_E_FAILEDTOOPENTHREADTOKEN Handle = 0x80010125 + CO_E_FAILEDTOGETTOKENINFO Handle = 0x80010126 + CO_E_TRUSTEEDOESNTMATCHCLIENT Handle = 0x80010127 + CO_E_FAILEDTOQUERYCLIENTBLANKET Handle = 0x80010128 + CO_E_FAILEDTOSETDACL Handle = 0x80010129 + CO_E_ACCESSCHECKFAILED Handle = 0x8001012A + CO_E_NETACCESSAPIFAILED Handle = 0x8001012B + CO_E_WRONGTRUSTEENAMESYNTAX Handle = 0x8001012C + CO_E_INVALIDSID Handle = 0x8001012D + CO_E_CONVERSIONFAILED Handle = 0x8001012E + CO_E_NOMATCHINGSIDFOUND Handle = 0x8001012F + CO_E_LOOKUPACCSIDFAILED Handle = 0x80010130 + CO_E_NOMATCHINGNAMEFOUND Handle = 0x80010131 + CO_E_LOOKUPACCNAMEFAILED Handle = 0x80010132 + CO_E_SETSERLHNDLFAILED Handle = 0x80010133 + CO_E_FAILEDTOGETWINDIR Handle = 0x80010134 + CO_E_PATHTOOLONG Handle = 0x80010135 + CO_E_FAILEDTOGENUUID Handle = 0x80010136 + CO_E_FAILEDTOCREATEFILE Handle = 0x80010137 + CO_E_FAILEDTOCLOSEHANDLE Handle = 0x80010138 + CO_E_EXCEEDSYSACLLIMIT Handle = 0x80010139 + CO_E_ACESINWRONGORDER Handle = 0x8001013A + CO_E_INCOMPATIBLESTREAMVERSION Handle = 0x8001013B + CO_E_FAILEDTOOPENPROCESSTOKEN Handle = 0x8001013C + CO_E_DECODEFAILED Handle = 0x8001013D + CO_E_ACNOTINITIALIZED Handle = 0x8001013F + CO_E_CANCEL_DISABLED Handle = 0x80010140 + RPC_E_UNEXPECTED Handle = 0x8001FFFF + ERROR_AUDITING_DISABLED Handle = 0xC0090001 + ERROR_ALL_SIDS_FILTERED Handle = 0xC0090002 + ERROR_BIZRULES_NOT_ENABLED Handle = 0xC0090003 + NTE_BAD_UID Handle = 0x80090001 + NTE_BAD_HASH Handle = 0x80090002 + NTE_BAD_KEY Handle = 0x80090003 + NTE_BAD_LEN Handle = 0x80090004 + NTE_BAD_DATA Handle = 0x80090005 + NTE_BAD_SIGNATURE Handle = 0x80090006 + NTE_BAD_VER Handle = 0x80090007 + NTE_BAD_ALGID Handle = 0x80090008 + NTE_BAD_FLAGS Handle = 0x80090009 + NTE_BAD_TYPE Handle = 0x8009000A + NTE_BAD_KEY_STATE Handle = 0x8009000B + NTE_BAD_HASH_STATE Handle = 0x8009000C + NTE_NO_KEY Handle = 0x8009000D + NTE_NO_MEMORY Handle = 0x8009000E + NTE_EXISTS Handle = 0x8009000F + NTE_PERM Handle = 0x80090010 + NTE_NOT_FOUND Handle = 0x80090011 + NTE_DOUBLE_ENCRYPT Handle = 0x80090012 + NTE_BAD_PROVIDER Handle = 0x80090013 + NTE_BAD_PROV_TYPE Handle = 0x80090014 + NTE_BAD_PUBLIC_KEY Handle = 0x80090015 + NTE_BAD_KEYSET Handle = 0x80090016 + NTE_PROV_TYPE_NOT_DEF Handle = 0x80090017 + NTE_PROV_TYPE_ENTRY_BAD Handle = 0x80090018 + NTE_KEYSET_NOT_DEF Handle = 0x80090019 + NTE_KEYSET_ENTRY_BAD Handle = 0x8009001A + NTE_PROV_TYPE_NO_MATCH Handle = 0x8009001B + NTE_SIGNATURE_FILE_BAD Handle = 0x8009001C + NTE_PROVIDER_DLL_FAIL Handle = 0x8009001D + NTE_PROV_DLL_NOT_FOUND Handle = 0x8009001E + NTE_BAD_KEYSET_PARAM Handle = 0x8009001F + NTE_FAIL Handle = 0x80090020 + NTE_SYS_ERR Handle = 0x80090021 + NTE_SILENT_CONTEXT Handle = 0x80090022 + NTE_TOKEN_KEYSET_STORAGE_FULL Handle = 0x80090023 + NTE_TEMPORARY_PROFILE Handle = 0x80090024 + NTE_FIXEDPARAMETER Handle = 0x80090025 + NTE_INVALID_HANDLE Handle = 0x80090026 + NTE_INVALID_PARAMETER Handle = 0x80090027 + NTE_BUFFER_TOO_SMALL Handle = 0x80090028 + NTE_NOT_SUPPORTED Handle = 0x80090029 + NTE_NO_MORE_ITEMS Handle = 0x8009002A + NTE_BUFFERS_OVERLAP Handle = 0x8009002B + NTE_DECRYPTION_FAILURE Handle = 0x8009002C + NTE_INTERNAL_ERROR Handle = 0x8009002D + NTE_UI_REQUIRED Handle = 0x8009002E + NTE_HMAC_NOT_SUPPORTED Handle = 0x8009002F + NTE_DEVICE_NOT_READY Handle = 0x80090030 + NTE_AUTHENTICATION_IGNORED Handle = 0x80090031 + NTE_VALIDATION_FAILED Handle = 0x80090032 + NTE_INCORRECT_PASSWORD Handle = 0x80090033 + NTE_ENCRYPTION_FAILURE Handle = 0x80090034 + NTE_DEVICE_NOT_FOUND Handle = 0x80090035 + NTE_USER_CANCELLED Handle = 0x80090036 + NTE_PASSWORD_CHANGE_REQUIRED Handle = 0x80090037 + NTE_NOT_ACTIVE_CONSOLE Handle = 0x80090038 + SEC_E_INSUFFICIENT_MEMORY Handle = 0x80090300 + SEC_E_INVALID_HANDLE Handle = 0x80090301 + SEC_E_UNSUPPORTED_FUNCTION Handle = 0x80090302 + SEC_E_TARGET_UNKNOWN Handle = 0x80090303 + SEC_E_INTERNAL_ERROR Handle = 0x80090304 + SEC_E_SECPKG_NOT_FOUND Handle = 0x80090305 + SEC_E_NOT_OWNER Handle = 0x80090306 + SEC_E_CANNOT_INSTALL Handle = 0x80090307 + SEC_E_INVALID_TOKEN Handle = 0x80090308 + SEC_E_CANNOT_PACK Handle = 0x80090309 + SEC_E_QOP_NOT_SUPPORTED Handle = 0x8009030A + SEC_E_NO_IMPERSONATION Handle = 0x8009030B + SEC_E_LOGON_DENIED Handle = 0x8009030C + SEC_E_UNKNOWN_CREDENTIALS Handle = 0x8009030D + SEC_E_NO_CREDENTIALS Handle = 0x8009030E + SEC_E_MESSAGE_ALTERED Handle = 0x8009030F + SEC_E_OUT_OF_SEQUENCE Handle = 0x80090310 + SEC_E_NO_AUTHENTICATING_AUTHORITY Handle = 0x80090311 + SEC_I_CONTINUE_NEEDED Handle = 0x00090312 + SEC_I_COMPLETE_NEEDED Handle = 0x00090313 + SEC_I_COMPLETE_AND_CONTINUE Handle = 0x00090314 + SEC_I_LOCAL_LOGON Handle = 0x00090315 + SEC_E_BAD_PKGID Handle = 0x80090316 + SEC_E_CONTEXT_EXPIRED Handle = 0x80090317 + SEC_I_CONTEXT_EXPIRED Handle = 0x00090317 + SEC_E_INCOMPLETE_MESSAGE Handle = 0x80090318 + SEC_E_INCOMPLETE_CREDENTIALS Handle = 0x80090320 + SEC_E_BUFFER_TOO_SMALL Handle = 0x80090321 + SEC_I_INCOMPLETE_CREDENTIALS Handle = 0x00090320 + SEC_I_RENEGOTIATE Handle = 0x00090321 + SEC_E_WRONG_PRINCIPAL Handle = 0x80090322 + SEC_I_NO_LSA_CONTEXT Handle = 0x00090323 + SEC_E_TIME_SKEW Handle = 0x80090324 + SEC_E_UNTRUSTED_ROOT Handle = 0x80090325 + SEC_E_ILLEGAL_MESSAGE Handle = 0x80090326 + SEC_E_CERT_UNKNOWN Handle = 0x80090327 + SEC_E_CERT_EXPIRED Handle = 0x80090328 + SEC_E_ENCRYPT_FAILURE Handle = 0x80090329 + SEC_E_DECRYPT_FAILURE Handle = 0x80090330 + SEC_E_ALGORITHM_MISMATCH Handle = 0x80090331 + SEC_E_SECURITY_QOS_FAILED Handle = 0x80090332 + SEC_E_UNFINISHED_CONTEXT_DELETED Handle = 0x80090333 + SEC_E_NO_TGT_REPLY Handle = 0x80090334 + SEC_E_NO_IP_ADDRESSES Handle = 0x80090335 + SEC_E_WRONG_CREDENTIAL_HANDLE Handle = 0x80090336 + SEC_E_CRYPTO_SYSTEM_INVALID Handle = 0x80090337 + SEC_E_MAX_REFERRALS_EXCEEDED Handle = 0x80090338 + SEC_E_MUST_BE_KDC Handle = 0x80090339 + SEC_E_STRONG_CRYPTO_NOT_SUPPORTED Handle = 0x8009033A + SEC_E_TOO_MANY_PRINCIPALS Handle = 0x8009033B + SEC_E_NO_PA_DATA Handle = 0x8009033C + SEC_E_PKINIT_NAME_MISMATCH Handle = 0x8009033D + SEC_E_SMARTCARD_LOGON_REQUIRED Handle = 0x8009033E + SEC_E_SHUTDOWN_IN_PROGRESS Handle = 0x8009033F + SEC_E_KDC_INVALID_REQUEST Handle = 0x80090340 + SEC_E_KDC_UNABLE_TO_REFER Handle = 0x80090341 + SEC_E_KDC_UNKNOWN_ETYPE Handle = 0x80090342 + SEC_E_UNSUPPORTED_PREAUTH Handle = 0x80090343 + SEC_E_DELEGATION_REQUIRED Handle = 0x80090345 + SEC_E_BAD_BINDINGS Handle = 0x80090346 + SEC_E_MULTIPLE_ACCOUNTS Handle = 0x80090347 + SEC_E_NO_KERB_KEY Handle = 0x80090348 + SEC_E_CERT_WRONG_USAGE Handle = 0x80090349 + SEC_E_DOWNGRADE_DETECTED Handle = 0x80090350 + SEC_E_SMARTCARD_CERT_REVOKED Handle = 0x80090351 + SEC_E_ISSUING_CA_UNTRUSTED Handle = 0x80090352 + SEC_E_REVOCATION_OFFLINE_C Handle = 0x80090353 + SEC_E_PKINIT_CLIENT_FAILURE Handle = 0x80090354 + SEC_E_SMARTCARD_CERT_EXPIRED Handle = 0x80090355 + SEC_E_NO_S4U_PROT_SUPPORT Handle = 0x80090356 + SEC_E_CROSSREALM_DELEGATION_FAILURE Handle = 0x80090357 + SEC_E_REVOCATION_OFFLINE_KDC Handle = 0x80090358 + SEC_E_ISSUING_CA_UNTRUSTED_KDC Handle = 0x80090359 + SEC_E_KDC_CERT_EXPIRED Handle = 0x8009035A + SEC_E_KDC_CERT_REVOKED Handle = 0x8009035B + SEC_I_SIGNATURE_NEEDED Handle = 0x0009035C + SEC_E_INVALID_PARAMETER Handle = 0x8009035D + SEC_E_DELEGATION_POLICY Handle = 0x8009035E + SEC_E_POLICY_NLTM_ONLY Handle = 0x8009035F + SEC_I_NO_RENEGOTIATION Handle = 0x00090360 + SEC_E_NO_CONTEXT Handle = 0x80090361 + SEC_E_PKU2U_CERT_FAILURE Handle = 0x80090362 + SEC_E_MUTUAL_AUTH_FAILED Handle = 0x80090363 + SEC_I_MESSAGE_FRAGMENT Handle = 0x00090364 + SEC_E_ONLY_HTTPS_ALLOWED Handle = 0x80090365 + SEC_I_CONTINUE_NEEDED_MESSAGE_OK Handle = 0x00090366 + SEC_E_APPLICATION_PROTOCOL_MISMATCH Handle = 0x80090367 + SEC_I_ASYNC_CALL_PENDING Handle = 0x00090368 + SEC_E_INVALID_UPN_NAME Handle = 0x80090369 + SEC_E_NO_SPM = SEC_E_INTERNAL_ERROR + SEC_E_NOT_SUPPORTED = SEC_E_UNSUPPORTED_FUNCTION + CRYPT_E_MSG_ERROR Handle = 0x80091001 + CRYPT_E_UNKNOWN_ALGO Handle = 0x80091002 + CRYPT_E_OID_FORMAT Handle = 0x80091003 + CRYPT_E_INVALID_MSG_TYPE Handle = 0x80091004 + CRYPT_E_UNEXPECTED_ENCODING Handle = 0x80091005 + CRYPT_E_AUTH_ATTR_MISSING Handle = 0x80091006 + CRYPT_E_HASH_VALUE Handle = 0x80091007 + CRYPT_E_INVALID_INDEX Handle = 0x80091008 + CRYPT_E_ALREADY_DECRYPTED Handle = 0x80091009 + CRYPT_E_NOT_DECRYPTED Handle = 0x8009100A + CRYPT_E_RECIPIENT_NOT_FOUND Handle = 0x8009100B + CRYPT_E_CONTROL_TYPE Handle = 0x8009100C + CRYPT_E_ISSUER_SERIALNUMBER Handle = 0x8009100D + CRYPT_E_SIGNER_NOT_FOUND Handle = 0x8009100E + CRYPT_E_ATTRIBUTES_MISSING Handle = 0x8009100F + CRYPT_E_STREAM_MSG_NOT_READY Handle = 0x80091010 + CRYPT_E_STREAM_INSUFFICIENT_DATA Handle = 0x80091011 + CRYPT_I_NEW_PROTECTION_REQUIRED Handle = 0x00091012 + CRYPT_E_BAD_LEN Handle = 0x80092001 + CRYPT_E_BAD_ENCODE Handle = 0x80092002 + CRYPT_E_FILE_ERROR Handle = 0x80092003 + CRYPT_E_NOT_FOUND Handle = 0x80092004 + CRYPT_E_EXISTS Handle = 0x80092005 + CRYPT_E_NO_PROVIDER Handle = 0x80092006 + CRYPT_E_SELF_SIGNED Handle = 0x80092007 + CRYPT_E_DELETED_PREV Handle = 0x80092008 + CRYPT_E_NO_MATCH Handle = 0x80092009 + CRYPT_E_UNEXPECTED_MSG_TYPE Handle = 0x8009200A + CRYPT_E_NO_KEY_PROPERTY Handle = 0x8009200B + CRYPT_E_NO_DECRYPT_CERT Handle = 0x8009200C + CRYPT_E_BAD_MSG Handle = 0x8009200D + CRYPT_E_NO_SIGNER Handle = 0x8009200E + CRYPT_E_PENDING_CLOSE Handle = 0x8009200F + CRYPT_E_REVOKED Handle = 0x80092010 + CRYPT_E_NO_REVOCATION_DLL Handle = 0x80092011 + CRYPT_E_NO_REVOCATION_CHECK Handle = 0x80092012 + CRYPT_E_REVOCATION_OFFLINE Handle = 0x80092013 + CRYPT_E_NOT_IN_REVOCATION_DATABASE Handle = 0x80092014 + CRYPT_E_INVALID_NUMERIC_STRING Handle = 0x80092020 + CRYPT_E_INVALID_PRINTABLE_STRING Handle = 0x80092021 + CRYPT_E_INVALID_IA5_STRING Handle = 0x80092022 + CRYPT_E_INVALID_X500_STRING Handle = 0x80092023 + CRYPT_E_NOT_CHAR_STRING Handle = 0x80092024 + CRYPT_E_FILERESIZED Handle = 0x80092025 + CRYPT_E_SECURITY_SETTINGS Handle = 0x80092026 + CRYPT_E_NO_VERIFY_USAGE_DLL Handle = 0x80092027 + CRYPT_E_NO_VERIFY_USAGE_CHECK Handle = 0x80092028 + CRYPT_E_VERIFY_USAGE_OFFLINE Handle = 0x80092029 + CRYPT_E_NOT_IN_CTL Handle = 0x8009202A + CRYPT_E_NO_TRUSTED_SIGNER Handle = 0x8009202B + CRYPT_E_MISSING_PUBKEY_PARA Handle = 0x8009202C + CRYPT_E_OBJECT_LOCATOR_OBJECT_NOT_FOUND Handle = 0x8009202D + CRYPT_E_OSS_ERROR Handle = 0x80093000 + OSS_MORE_BUF Handle = 0x80093001 + OSS_NEGATIVE_UINTEGER Handle = 0x80093002 + OSS_PDU_RANGE Handle = 0x80093003 + OSS_MORE_INPUT Handle = 0x80093004 + OSS_DATA_ERROR Handle = 0x80093005 + OSS_BAD_ARG Handle = 0x80093006 + OSS_BAD_VERSION Handle = 0x80093007 + OSS_OUT_MEMORY Handle = 0x80093008 + OSS_PDU_MISMATCH Handle = 0x80093009 + OSS_LIMITED Handle = 0x8009300A + OSS_BAD_PTR Handle = 0x8009300B + OSS_BAD_TIME Handle = 0x8009300C + OSS_INDEFINITE_NOT_SUPPORTED Handle = 0x8009300D + OSS_MEM_ERROR Handle = 0x8009300E + OSS_BAD_TABLE Handle = 0x8009300F + OSS_TOO_LONG Handle = 0x80093010 + OSS_CONSTRAINT_VIOLATED Handle = 0x80093011 + OSS_FATAL_ERROR Handle = 0x80093012 + OSS_ACCESS_SERIALIZATION_ERROR Handle = 0x80093013 + OSS_NULL_TBL Handle = 0x80093014 + OSS_NULL_FCN Handle = 0x80093015 + OSS_BAD_ENCRULES Handle = 0x80093016 + OSS_UNAVAIL_ENCRULES Handle = 0x80093017 + OSS_CANT_OPEN_TRACE_WINDOW Handle = 0x80093018 + OSS_UNIMPLEMENTED Handle = 0x80093019 + OSS_OID_DLL_NOT_LINKED Handle = 0x8009301A + OSS_CANT_OPEN_TRACE_FILE Handle = 0x8009301B + OSS_TRACE_FILE_ALREADY_OPEN Handle = 0x8009301C + OSS_TABLE_MISMATCH Handle = 0x8009301D + OSS_TYPE_NOT_SUPPORTED Handle = 0x8009301E + OSS_REAL_DLL_NOT_LINKED Handle = 0x8009301F + OSS_REAL_CODE_NOT_LINKED Handle = 0x80093020 + OSS_OUT_OF_RANGE Handle = 0x80093021 + OSS_COPIER_DLL_NOT_LINKED Handle = 0x80093022 + OSS_CONSTRAINT_DLL_NOT_LINKED Handle = 0x80093023 + OSS_COMPARATOR_DLL_NOT_LINKED Handle = 0x80093024 + OSS_COMPARATOR_CODE_NOT_LINKED Handle = 0x80093025 + OSS_MEM_MGR_DLL_NOT_LINKED Handle = 0x80093026 + OSS_PDV_DLL_NOT_LINKED Handle = 0x80093027 + OSS_PDV_CODE_NOT_LINKED Handle = 0x80093028 + OSS_API_DLL_NOT_LINKED Handle = 0x80093029 + OSS_BERDER_DLL_NOT_LINKED Handle = 0x8009302A + OSS_PER_DLL_NOT_LINKED Handle = 0x8009302B + OSS_OPEN_TYPE_ERROR Handle = 0x8009302C + OSS_MUTEX_NOT_CREATED Handle = 0x8009302D + OSS_CANT_CLOSE_TRACE_FILE Handle = 0x8009302E + CRYPT_E_ASN1_ERROR Handle = 0x80093100 + CRYPT_E_ASN1_INTERNAL Handle = 0x80093101 + CRYPT_E_ASN1_EOD Handle = 0x80093102 + CRYPT_E_ASN1_CORRUPT Handle = 0x80093103 + CRYPT_E_ASN1_LARGE Handle = 0x80093104 + CRYPT_E_ASN1_CONSTRAINT Handle = 0x80093105 + CRYPT_E_ASN1_MEMORY Handle = 0x80093106 + CRYPT_E_ASN1_OVERFLOW Handle = 0x80093107 + CRYPT_E_ASN1_BADPDU Handle = 0x80093108 + CRYPT_E_ASN1_BADARGS Handle = 0x80093109 + CRYPT_E_ASN1_BADREAL Handle = 0x8009310A + CRYPT_E_ASN1_BADTAG Handle = 0x8009310B + CRYPT_E_ASN1_CHOICE Handle = 0x8009310C + CRYPT_E_ASN1_RULE Handle = 0x8009310D + CRYPT_E_ASN1_UTF8 Handle = 0x8009310E + CRYPT_E_ASN1_PDU_TYPE Handle = 0x80093133 + CRYPT_E_ASN1_NYI Handle = 0x80093134 + CRYPT_E_ASN1_EXTENDED Handle = 0x80093201 + CRYPT_E_ASN1_NOEOD Handle = 0x80093202 + CERTSRV_E_BAD_REQUESTSUBJECT Handle = 0x80094001 + CERTSRV_E_NO_REQUEST Handle = 0x80094002 + CERTSRV_E_BAD_REQUESTSTATUS Handle = 0x80094003 + CERTSRV_E_PROPERTY_EMPTY Handle = 0x80094004 + CERTSRV_E_INVALID_CA_CERTIFICATE Handle = 0x80094005 + CERTSRV_E_SERVER_SUSPENDED Handle = 0x80094006 + CERTSRV_E_ENCODING_LENGTH Handle = 0x80094007 + CERTSRV_E_ROLECONFLICT Handle = 0x80094008 + CERTSRV_E_RESTRICTEDOFFICER Handle = 0x80094009 + CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED Handle = 0x8009400A + CERTSRV_E_NO_VALID_KRA Handle = 0x8009400B + CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL Handle = 0x8009400C + CERTSRV_E_NO_CAADMIN_DEFINED Handle = 0x8009400D + CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE Handle = 0x8009400E + CERTSRV_E_NO_DB_SESSIONS Handle = 0x8009400F + CERTSRV_E_ALIGNMENT_FAULT Handle = 0x80094010 + CERTSRV_E_ENROLL_DENIED Handle = 0x80094011 + CERTSRV_E_TEMPLATE_DENIED Handle = 0x80094012 + CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE Handle = 0x80094013 + CERTSRV_E_ADMIN_DENIED_REQUEST Handle = 0x80094014 + CERTSRV_E_NO_POLICY_SERVER Handle = 0x80094015 + CERTSRV_E_WEAK_SIGNATURE_OR_KEY Handle = 0x80094016 + CERTSRV_E_KEY_ATTESTATION_NOT_SUPPORTED Handle = 0x80094017 + CERTSRV_E_ENCRYPTION_CERT_REQUIRED Handle = 0x80094018 + CERTSRV_E_UNSUPPORTED_CERT_TYPE Handle = 0x80094800 + CERTSRV_E_NO_CERT_TYPE Handle = 0x80094801 + CERTSRV_E_TEMPLATE_CONFLICT Handle = 0x80094802 + CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED Handle = 0x80094803 + CERTSRV_E_ARCHIVED_KEY_REQUIRED Handle = 0x80094804 + CERTSRV_E_SMIME_REQUIRED Handle = 0x80094805 + CERTSRV_E_BAD_RENEWAL_SUBJECT Handle = 0x80094806 + CERTSRV_E_BAD_TEMPLATE_VERSION Handle = 0x80094807 + CERTSRV_E_TEMPLATE_POLICY_REQUIRED Handle = 0x80094808 + CERTSRV_E_SIGNATURE_POLICY_REQUIRED Handle = 0x80094809 + CERTSRV_E_SIGNATURE_COUNT Handle = 0x8009480A + CERTSRV_E_SIGNATURE_REJECTED Handle = 0x8009480B + CERTSRV_E_ISSUANCE_POLICY_REQUIRED Handle = 0x8009480C + CERTSRV_E_SUBJECT_UPN_REQUIRED Handle = 0x8009480D + CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED Handle = 0x8009480E + CERTSRV_E_SUBJECT_DNS_REQUIRED Handle = 0x8009480F + CERTSRV_E_ARCHIVED_KEY_UNEXPECTED Handle = 0x80094810 + CERTSRV_E_KEY_LENGTH Handle = 0x80094811 + CERTSRV_E_SUBJECT_EMAIL_REQUIRED Handle = 0x80094812 + CERTSRV_E_UNKNOWN_CERT_TYPE Handle = 0x80094813 + CERTSRV_E_CERT_TYPE_OVERLAP Handle = 0x80094814 + CERTSRV_E_TOO_MANY_SIGNATURES Handle = 0x80094815 + CERTSRV_E_RENEWAL_BAD_PUBLIC_KEY Handle = 0x80094816 + CERTSRV_E_INVALID_EK Handle = 0x80094817 + CERTSRV_E_INVALID_IDBINDING Handle = 0x80094818 + CERTSRV_E_INVALID_ATTESTATION Handle = 0x80094819 + CERTSRV_E_KEY_ATTESTATION Handle = 0x8009481A + CERTSRV_E_CORRUPT_KEY_ATTESTATION Handle = 0x8009481B + CERTSRV_E_EXPIRED_CHALLENGE Handle = 0x8009481C + CERTSRV_E_INVALID_RESPONSE Handle = 0x8009481D + CERTSRV_E_INVALID_REQUESTID Handle = 0x8009481E + CERTSRV_E_REQUEST_PRECERTIFICATE_MISMATCH Handle = 0x8009481F + CERTSRV_E_PENDING_CLIENT_RESPONSE Handle = 0x80094820 + XENROLL_E_KEY_NOT_EXPORTABLE Handle = 0x80095000 + XENROLL_E_CANNOT_ADD_ROOT_CERT Handle = 0x80095001 + XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND Handle = 0x80095002 + XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH Handle = 0x80095003 + XENROLL_E_RESPONSE_KA_HASH_MISMATCH Handle = 0x80095004 + XENROLL_E_KEYSPEC_SMIME_MISMATCH Handle = 0x80095005 + TRUST_E_SYSTEM_ERROR Handle = 0x80096001 + TRUST_E_NO_SIGNER_CERT Handle = 0x80096002 + TRUST_E_COUNTER_SIGNER Handle = 0x80096003 + TRUST_E_CERT_SIGNATURE Handle = 0x80096004 + TRUST_E_TIME_STAMP Handle = 0x80096005 + TRUST_E_BAD_DIGEST Handle = 0x80096010 + TRUST_E_MALFORMED_SIGNATURE Handle = 0x80096011 + TRUST_E_BASIC_CONSTRAINTS Handle = 0x80096019 + TRUST_E_FINANCIAL_CRITERIA Handle = 0x8009601E + MSSIPOTF_E_OUTOFMEMRANGE Handle = 0x80097001 + MSSIPOTF_E_CANTGETOBJECT Handle = 0x80097002 + MSSIPOTF_E_NOHEADTABLE Handle = 0x80097003 + MSSIPOTF_E_BAD_MAGICNUMBER Handle = 0x80097004 + MSSIPOTF_E_BAD_OFFSET_TABLE Handle = 0x80097005 + MSSIPOTF_E_TABLE_TAGORDER Handle = 0x80097006 + MSSIPOTF_E_TABLE_LONGWORD Handle = 0x80097007 + MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT Handle = 0x80097008 + MSSIPOTF_E_TABLES_OVERLAP Handle = 0x80097009 + MSSIPOTF_E_TABLE_PADBYTES Handle = 0x8009700A + MSSIPOTF_E_FILETOOSMALL Handle = 0x8009700B + MSSIPOTF_E_TABLE_CHECKSUM Handle = 0x8009700C + MSSIPOTF_E_FILE_CHECKSUM Handle = 0x8009700D + MSSIPOTF_E_FAILED_POLICY Handle = 0x80097010 + MSSIPOTF_E_FAILED_HINTS_CHECK Handle = 0x80097011 + MSSIPOTF_E_NOT_OPENTYPE Handle = 0x80097012 + MSSIPOTF_E_FILE Handle = 0x80097013 + MSSIPOTF_E_CRYPT Handle = 0x80097014 + MSSIPOTF_E_BADVERSION Handle = 0x80097015 + MSSIPOTF_E_DSIG_STRUCTURE Handle = 0x80097016 + MSSIPOTF_E_PCONST_CHECK Handle = 0x80097017 + MSSIPOTF_E_STRUCTURE Handle = 0x80097018 + ERROR_CRED_REQUIRES_CONFIRMATION Handle = 0x80097019 + NTE_OP_OK syscall.Errno = 0 + TRUST_E_PROVIDER_UNKNOWN Handle = 0x800B0001 + TRUST_E_ACTION_UNKNOWN Handle = 0x800B0002 + TRUST_E_SUBJECT_FORM_UNKNOWN Handle = 0x800B0003 + TRUST_E_SUBJECT_NOT_TRUSTED Handle = 0x800B0004 + DIGSIG_E_ENCODE Handle = 0x800B0005 + DIGSIG_E_DECODE Handle = 0x800B0006 + DIGSIG_E_EXTENSIBILITY Handle = 0x800B0007 + DIGSIG_E_CRYPTO Handle = 0x800B0008 + PERSIST_E_SIZEDEFINITE Handle = 0x800B0009 + PERSIST_E_SIZEINDEFINITE Handle = 0x800B000A + PERSIST_E_NOTSELFSIZING Handle = 0x800B000B + TRUST_E_NOSIGNATURE Handle = 0x800B0100 + CERT_E_EXPIRED Handle = 0x800B0101 + CERT_E_VALIDITYPERIODNESTING Handle = 0x800B0102 + CERT_E_ROLE Handle = 0x800B0103 + CERT_E_PATHLENCONST Handle = 0x800B0104 + CERT_E_CRITICAL Handle = 0x800B0105 + CERT_E_PURPOSE Handle = 0x800B0106 + CERT_E_ISSUERCHAINING Handle = 0x800B0107 + CERT_E_MALFORMED Handle = 0x800B0108 + CERT_E_UNTRUSTEDROOT Handle = 0x800B0109 + CERT_E_CHAINING Handle = 0x800B010A + TRUST_E_FAIL Handle = 0x800B010B + CERT_E_REVOKED Handle = 0x800B010C + CERT_E_UNTRUSTEDTESTROOT Handle = 0x800B010D + CERT_E_REVOCATION_FAILURE Handle = 0x800B010E + CERT_E_CN_NO_MATCH Handle = 0x800B010F + CERT_E_WRONG_USAGE Handle = 0x800B0110 + TRUST_E_EXPLICIT_DISTRUST Handle = 0x800B0111 + CERT_E_UNTRUSTEDCA Handle = 0x800B0112 + CERT_E_INVALID_POLICY Handle = 0x800B0113 + CERT_E_INVALID_NAME Handle = 0x800B0114 + SPAPI_E_EXPECTED_SECTION_NAME Handle = 0x800F0000 + SPAPI_E_BAD_SECTION_NAME_LINE Handle = 0x800F0001 + SPAPI_E_SECTION_NAME_TOO_LONG Handle = 0x800F0002 + SPAPI_E_GENERAL_SYNTAX Handle = 0x800F0003 + SPAPI_E_WRONG_INF_STYLE Handle = 0x800F0100 + SPAPI_E_SECTION_NOT_FOUND Handle = 0x800F0101 + SPAPI_E_LINE_NOT_FOUND Handle = 0x800F0102 + SPAPI_E_NO_BACKUP Handle = 0x800F0103 + SPAPI_E_NO_ASSOCIATED_CLASS Handle = 0x800F0200 + SPAPI_E_CLASS_MISMATCH Handle = 0x800F0201 + SPAPI_E_DUPLICATE_FOUND Handle = 0x800F0202 + SPAPI_E_NO_DRIVER_SELECTED Handle = 0x800F0203 + SPAPI_E_KEY_DOES_NOT_EXIST Handle = 0x800F0204 + SPAPI_E_INVALID_DEVINST_NAME Handle = 0x800F0205 + SPAPI_E_INVALID_CLASS Handle = 0x800F0206 + SPAPI_E_DEVINST_ALREADY_EXISTS Handle = 0x800F0207 + SPAPI_E_DEVINFO_NOT_REGISTERED Handle = 0x800F0208 + SPAPI_E_INVALID_REG_PROPERTY Handle = 0x800F0209 + SPAPI_E_NO_INF Handle = 0x800F020A + SPAPI_E_NO_SUCH_DEVINST Handle = 0x800F020B + SPAPI_E_CANT_LOAD_CLASS_ICON Handle = 0x800F020C + SPAPI_E_INVALID_CLASS_INSTALLER Handle = 0x800F020D + SPAPI_E_DI_DO_DEFAULT Handle = 0x800F020E + SPAPI_E_DI_NOFILECOPY Handle = 0x800F020F + SPAPI_E_INVALID_HWPROFILE Handle = 0x800F0210 + SPAPI_E_NO_DEVICE_SELECTED Handle = 0x800F0211 + SPAPI_E_DEVINFO_LIST_LOCKED Handle = 0x800F0212 + SPAPI_E_DEVINFO_DATA_LOCKED Handle = 0x800F0213 + SPAPI_E_DI_BAD_PATH Handle = 0x800F0214 + SPAPI_E_NO_CLASSINSTALL_PARAMS Handle = 0x800F0215 + SPAPI_E_FILEQUEUE_LOCKED Handle = 0x800F0216 + SPAPI_E_BAD_SERVICE_INSTALLSECT Handle = 0x800F0217 + SPAPI_E_NO_CLASS_DRIVER_LIST Handle = 0x800F0218 + SPAPI_E_NO_ASSOCIATED_SERVICE Handle = 0x800F0219 + SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE Handle = 0x800F021A + SPAPI_E_DEVICE_INTERFACE_ACTIVE Handle = 0x800F021B + SPAPI_E_DEVICE_INTERFACE_REMOVED Handle = 0x800F021C + SPAPI_E_BAD_INTERFACE_INSTALLSECT Handle = 0x800F021D + SPAPI_E_NO_SUCH_INTERFACE_CLASS Handle = 0x800F021E + SPAPI_E_INVALID_REFERENCE_STRING Handle = 0x800F021F + SPAPI_E_INVALID_MACHINENAME Handle = 0x800F0220 + SPAPI_E_REMOTE_COMM_FAILURE Handle = 0x800F0221 + SPAPI_E_MACHINE_UNAVAILABLE Handle = 0x800F0222 + SPAPI_E_NO_CONFIGMGR_SERVICES Handle = 0x800F0223 + SPAPI_E_INVALID_PROPPAGE_PROVIDER Handle = 0x800F0224 + SPAPI_E_NO_SUCH_DEVICE_INTERFACE Handle = 0x800F0225 + SPAPI_E_DI_POSTPROCESSING_REQUIRED Handle = 0x800F0226 + SPAPI_E_INVALID_COINSTALLER Handle = 0x800F0227 + SPAPI_E_NO_COMPAT_DRIVERS Handle = 0x800F0228 + SPAPI_E_NO_DEVICE_ICON Handle = 0x800F0229 + SPAPI_E_INVALID_INF_LOGCONFIG Handle = 0x800F022A + SPAPI_E_DI_DONT_INSTALL Handle = 0x800F022B + SPAPI_E_INVALID_FILTER_DRIVER Handle = 0x800F022C + SPAPI_E_NON_WINDOWS_NT_DRIVER Handle = 0x800F022D + SPAPI_E_NON_WINDOWS_DRIVER Handle = 0x800F022E + SPAPI_E_NO_CATALOG_FOR_OEM_INF Handle = 0x800F022F + SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE Handle = 0x800F0230 + SPAPI_E_NOT_DISABLEABLE Handle = 0x800F0231 + SPAPI_E_CANT_REMOVE_DEVINST Handle = 0x800F0232 + SPAPI_E_INVALID_TARGET Handle = 0x800F0233 + SPAPI_E_DRIVER_NONNATIVE Handle = 0x800F0234 + SPAPI_E_IN_WOW64 Handle = 0x800F0235 + SPAPI_E_SET_SYSTEM_RESTORE_POINT Handle = 0x800F0236 + SPAPI_E_INCORRECTLY_COPIED_INF Handle = 0x800F0237 + SPAPI_E_SCE_DISABLED Handle = 0x800F0238 + SPAPI_E_UNKNOWN_EXCEPTION Handle = 0x800F0239 + SPAPI_E_PNP_REGISTRY_ERROR Handle = 0x800F023A + SPAPI_E_REMOTE_REQUEST_UNSUPPORTED Handle = 0x800F023B + SPAPI_E_NOT_AN_INSTALLED_OEM_INF Handle = 0x800F023C + SPAPI_E_INF_IN_USE_BY_DEVICES Handle = 0x800F023D + SPAPI_E_DI_FUNCTION_OBSOLETE Handle = 0x800F023E + SPAPI_E_NO_AUTHENTICODE_CATALOG Handle = 0x800F023F + SPAPI_E_AUTHENTICODE_DISALLOWED Handle = 0x800F0240 + SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER Handle = 0x800F0241 + SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED Handle = 0x800F0242 + SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED Handle = 0x800F0243 + SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH Handle = 0x800F0244 + SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE Handle = 0x800F0245 + SPAPI_E_DEVICE_INSTALLER_NOT_READY Handle = 0x800F0246 + SPAPI_E_DRIVER_STORE_ADD_FAILED Handle = 0x800F0247 + SPAPI_E_DEVICE_INSTALL_BLOCKED Handle = 0x800F0248 + SPAPI_E_DRIVER_INSTALL_BLOCKED Handle = 0x800F0249 + SPAPI_E_WRONG_INF_TYPE Handle = 0x800F024A + SPAPI_E_FILE_HASH_NOT_IN_CATALOG Handle = 0x800F024B + SPAPI_E_DRIVER_STORE_DELETE_FAILED Handle = 0x800F024C + SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW Handle = 0x800F0300 + SPAPI_E_ERROR_NOT_INSTALLED Handle = 0x800F1000 + SCARD_S_SUCCESS = S_OK + SCARD_F_INTERNAL_ERROR Handle = 0x80100001 + SCARD_E_CANCELLED Handle = 0x80100002 + SCARD_E_INVALID_HANDLE Handle = 0x80100003 + SCARD_E_INVALID_PARAMETER Handle = 0x80100004 + SCARD_E_INVALID_TARGET Handle = 0x80100005 + SCARD_E_NO_MEMORY Handle = 0x80100006 + SCARD_F_WAITED_TOO_LONG Handle = 0x80100007 + SCARD_E_INSUFFICIENT_BUFFER Handle = 0x80100008 + SCARD_E_UNKNOWN_READER Handle = 0x80100009 + SCARD_E_TIMEOUT Handle = 0x8010000A + SCARD_E_SHARING_VIOLATION Handle = 0x8010000B + SCARD_E_NO_SMARTCARD Handle = 0x8010000C + SCARD_E_UNKNOWN_CARD Handle = 0x8010000D + SCARD_E_CANT_DISPOSE Handle = 0x8010000E + SCARD_E_PROTO_MISMATCH Handle = 0x8010000F + SCARD_E_NOT_READY Handle = 0x80100010 + SCARD_E_INVALID_VALUE Handle = 0x80100011 + SCARD_E_SYSTEM_CANCELLED Handle = 0x80100012 + SCARD_F_COMM_ERROR Handle = 0x80100013 + SCARD_F_UNKNOWN_ERROR Handle = 0x80100014 + SCARD_E_INVALID_ATR Handle = 0x80100015 + SCARD_E_NOT_TRANSACTED Handle = 0x80100016 + SCARD_E_READER_UNAVAILABLE Handle = 0x80100017 + SCARD_P_SHUTDOWN Handle = 0x80100018 + SCARD_E_PCI_TOO_SMALL Handle = 0x80100019 + SCARD_E_READER_UNSUPPORTED Handle = 0x8010001A + SCARD_E_DUPLICATE_READER Handle = 0x8010001B + SCARD_E_CARD_UNSUPPORTED Handle = 0x8010001C + SCARD_E_NO_SERVICE Handle = 0x8010001D + SCARD_E_SERVICE_STOPPED Handle = 0x8010001E + SCARD_E_UNEXPECTED Handle = 0x8010001F + SCARD_E_ICC_INSTALLATION Handle = 0x80100020 + SCARD_E_ICC_CREATEORDER Handle = 0x80100021 + SCARD_E_UNSUPPORTED_FEATURE Handle = 0x80100022 + SCARD_E_DIR_NOT_FOUND Handle = 0x80100023 + SCARD_E_FILE_NOT_FOUND Handle = 0x80100024 + SCARD_E_NO_DIR Handle = 0x80100025 + SCARD_E_NO_FILE Handle = 0x80100026 + SCARD_E_NO_ACCESS Handle = 0x80100027 + SCARD_E_WRITE_TOO_MANY Handle = 0x80100028 + SCARD_E_BAD_SEEK Handle = 0x80100029 + SCARD_E_INVALID_CHV Handle = 0x8010002A + SCARD_E_UNKNOWN_RES_MNG Handle = 0x8010002B + SCARD_E_NO_SUCH_CERTIFICATE Handle = 0x8010002C + SCARD_E_CERTIFICATE_UNAVAILABLE Handle = 0x8010002D + SCARD_E_NO_READERS_AVAILABLE Handle = 0x8010002E + SCARD_E_COMM_DATA_LOST Handle = 0x8010002F + SCARD_E_NO_KEY_CONTAINER Handle = 0x80100030 + SCARD_E_SERVER_TOO_BUSY Handle = 0x80100031 + SCARD_E_PIN_CACHE_EXPIRED Handle = 0x80100032 + SCARD_E_NO_PIN_CACHE Handle = 0x80100033 + SCARD_E_READ_ONLY_CARD Handle = 0x80100034 + SCARD_W_UNSUPPORTED_CARD Handle = 0x80100065 + SCARD_W_UNRESPONSIVE_CARD Handle = 0x80100066 + SCARD_W_UNPOWERED_CARD Handle = 0x80100067 + SCARD_W_RESET_CARD Handle = 0x80100068 + SCARD_W_REMOVED_CARD Handle = 0x80100069 + SCARD_W_SECURITY_VIOLATION Handle = 0x8010006A + SCARD_W_WRONG_CHV Handle = 0x8010006B + SCARD_W_CHV_BLOCKED Handle = 0x8010006C + SCARD_W_EOF Handle = 0x8010006D + SCARD_W_CANCELLED_BY_USER Handle = 0x8010006E + SCARD_W_CARD_NOT_AUTHENTICATED Handle = 0x8010006F + SCARD_W_CACHE_ITEM_NOT_FOUND Handle = 0x80100070 + SCARD_W_CACHE_ITEM_STALE Handle = 0x80100071 + SCARD_W_CACHE_ITEM_TOO_BIG Handle = 0x80100072 + COMADMIN_E_OBJECTERRORS Handle = 0x80110401 + COMADMIN_E_OBJECTINVALID Handle = 0x80110402 + COMADMIN_E_KEYMISSING Handle = 0x80110403 + COMADMIN_E_ALREADYINSTALLED Handle = 0x80110404 + COMADMIN_E_APP_FILE_WRITEFAIL Handle = 0x80110407 + COMADMIN_E_APP_FILE_READFAIL Handle = 0x80110408 + COMADMIN_E_APP_FILE_VERSION Handle = 0x80110409 + COMADMIN_E_BADPATH Handle = 0x8011040A + COMADMIN_E_APPLICATIONEXISTS Handle = 0x8011040B + COMADMIN_E_ROLEEXISTS Handle = 0x8011040C + COMADMIN_E_CANTCOPYFILE Handle = 0x8011040D + COMADMIN_E_NOUSER Handle = 0x8011040F + COMADMIN_E_INVALIDUSERIDS Handle = 0x80110410 + COMADMIN_E_NOREGISTRYCLSID Handle = 0x80110411 + COMADMIN_E_BADREGISTRYPROGID Handle = 0x80110412 + COMADMIN_E_AUTHENTICATIONLEVEL Handle = 0x80110413 + COMADMIN_E_USERPASSWDNOTVALID Handle = 0x80110414 + COMADMIN_E_CLSIDORIIDMISMATCH Handle = 0x80110418 + COMADMIN_E_REMOTEINTERFACE Handle = 0x80110419 + COMADMIN_E_DLLREGISTERSERVER Handle = 0x8011041A + COMADMIN_E_NOSERVERSHARE Handle = 0x8011041B + COMADMIN_E_DLLLOADFAILED Handle = 0x8011041D + COMADMIN_E_BADREGISTRYLIBID Handle = 0x8011041E + COMADMIN_E_APPDIRNOTFOUND Handle = 0x8011041F + COMADMIN_E_REGISTRARFAILED Handle = 0x80110423 + COMADMIN_E_COMPFILE_DOESNOTEXIST Handle = 0x80110424 + COMADMIN_E_COMPFILE_LOADDLLFAIL Handle = 0x80110425 + COMADMIN_E_COMPFILE_GETCLASSOBJ Handle = 0x80110426 + COMADMIN_E_COMPFILE_CLASSNOTAVAIL Handle = 0x80110427 + COMADMIN_E_COMPFILE_BADTLB Handle = 0x80110428 + COMADMIN_E_COMPFILE_NOTINSTALLABLE Handle = 0x80110429 + COMADMIN_E_NOTCHANGEABLE Handle = 0x8011042A + COMADMIN_E_NOTDELETEABLE Handle = 0x8011042B + COMADMIN_E_SESSION Handle = 0x8011042C + COMADMIN_E_COMP_MOVE_LOCKED Handle = 0x8011042D + COMADMIN_E_COMP_MOVE_BAD_DEST Handle = 0x8011042E + COMADMIN_E_REGISTERTLB Handle = 0x80110430 + COMADMIN_E_SYSTEMAPP Handle = 0x80110433 + COMADMIN_E_COMPFILE_NOREGISTRAR Handle = 0x80110434 + COMADMIN_E_COREQCOMPINSTALLED Handle = 0x80110435 + COMADMIN_E_SERVICENOTINSTALLED Handle = 0x80110436 + COMADMIN_E_PROPERTYSAVEFAILED Handle = 0x80110437 + COMADMIN_E_OBJECTEXISTS Handle = 0x80110438 + COMADMIN_E_COMPONENTEXISTS Handle = 0x80110439 + COMADMIN_E_REGFILE_CORRUPT Handle = 0x8011043B + COMADMIN_E_PROPERTY_OVERFLOW Handle = 0x8011043C + COMADMIN_E_NOTINREGISTRY Handle = 0x8011043E + COMADMIN_E_OBJECTNOTPOOLABLE Handle = 0x8011043F + COMADMIN_E_APPLID_MATCHES_CLSID Handle = 0x80110446 + COMADMIN_E_ROLE_DOES_NOT_EXIST Handle = 0x80110447 + COMADMIN_E_START_APP_NEEDS_COMPONENTS Handle = 0x80110448 + COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM Handle = 0x80110449 + COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY Handle = 0x8011044A + COMADMIN_E_CAN_NOT_START_APP Handle = 0x8011044B + COMADMIN_E_CAN_NOT_EXPORT_SYS_APP Handle = 0x8011044C + COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT Handle = 0x8011044D + COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER Handle = 0x8011044E + COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE Handle = 0x8011044F + COMADMIN_E_BASE_PARTITION_ONLY Handle = 0x80110450 + COMADMIN_E_START_APP_DISABLED Handle = 0x80110451 + COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME Handle = 0x80110457 + COMADMIN_E_CAT_INVALID_PARTITION_NAME Handle = 0x80110458 + COMADMIN_E_CAT_PARTITION_IN_USE Handle = 0x80110459 + COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES Handle = 0x8011045A + COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED Handle = 0x8011045B + COMADMIN_E_AMBIGUOUS_APPLICATION_NAME Handle = 0x8011045C + COMADMIN_E_AMBIGUOUS_PARTITION_NAME Handle = 0x8011045D + COMADMIN_E_REGDB_NOTINITIALIZED Handle = 0x80110472 + COMADMIN_E_REGDB_NOTOPEN Handle = 0x80110473 + COMADMIN_E_REGDB_SYSTEMERR Handle = 0x80110474 + COMADMIN_E_REGDB_ALREADYRUNNING Handle = 0x80110475 + COMADMIN_E_MIG_VERSIONNOTSUPPORTED Handle = 0x80110480 + COMADMIN_E_MIG_SCHEMANOTFOUND Handle = 0x80110481 + COMADMIN_E_CAT_BITNESSMISMATCH Handle = 0x80110482 + COMADMIN_E_CAT_UNACCEPTABLEBITNESS Handle = 0x80110483 + COMADMIN_E_CAT_WRONGAPPBITNESS Handle = 0x80110484 + COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED Handle = 0x80110485 + COMADMIN_E_CAT_SERVERFAULT Handle = 0x80110486 + COMQC_E_APPLICATION_NOT_QUEUED Handle = 0x80110600 + COMQC_E_NO_QUEUEABLE_INTERFACES Handle = 0x80110601 + COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE Handle = 0x80110602 + COMQC_E_NO_IPERSISTSTREAM Handle = 0x80110603 + COMQC_E_BAD_MESSAGE Handle = 0x80110604 + COMQC_E_UNAUTHENTICATED Handle = 0x80110605 + COMQC_E_UNTRUSTED_ENQUEUER Handle = 0x80110606 + MSDTC_E_DUPLICATE_RESOURCE Handle = 0x80110701 + COMADMIN_E_OBJECT_PARENT_MISSING Handle = 0x80110808 + COMADMIN_E_OBJECT_DOES_NOT_EXIST Handle = 0x80110809 + COMADMIN_E_APP_NOT_RUNNING Handle = 0x8011080A + COMADMIN_E_INVALID_PARTITION Handle = 0x8011080B + COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE Handle = 0x8011080D + COMADMIN_E_USER_IN_SET Handle = 0x8011080E + COMADMIN_E_CANTRECYCLELIBRARYAPPS Handle = 0x8011080F + COMADMIN_E_CANTRECYCLESERVICEAPPS Handle = 0x80110811 + COMADMIN_E_PROCESSALREADYRECYCLED Handle = 0x80110812 + COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED Handle = 0x80110813 + COMADMIN_E_CANTMAKEINPROCSERVICE Handle = 0x80110814 + COMADMIN_E_PROGIDINUSEBYCLSID Handle = 0x80110815 + COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET Handle = 0x80110816 + COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED Handle = 0x80110817 + COMADMIN_E_PARTITION_ACCESSDENIED Handle = 0x80110818 + COMADMIN_E_PARTITION_MSI_ONLY Handle = 0x80110819 + COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT Handle = 0x8011081A + COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS Handle = 0x8011081B + COMADMIN_E_COMP_MOVE_SOURCE Handle = 0x8011081C + COMADMIN_E_COMP_MOVE_DEST Handle = 0x8011081D + COMADMIN_E_COMP_MOVE_PRIVATE Handle = 0x8011081E + COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET Handle = 0x8011081F + COMADMIN_E_CANNOT_ALIAS_EVENTCLASS Handle = 0x80110820 + COMADMIN_E_PRIVATE_ACCESSDENIED Handle = 0x80110821 + COMADMIN_E_SAFERINVALID Handle = 0x80110822 + COMADMIN_E_REGISTRY_ACCESSDENIED Handle = 0x80110823 + COMADMIN_E_PARTITIONS_DISABLED Handle = 0x80110824 + WER_S_REPORT_DEBUG Handle = 0x001B0000 + WER_S_REPORT_UPLOADED Handle = 0x001B0001 + WER_S_REPORT_QUEUED Handle = 0x001B0002 + WER_S_DISABLED Handle = 0x001B0003 + WER_S_SUSPENDED_UPLOAD Handle = 0x001B0004 + WER_S_DISABLED_QUEUE Handle = 0x001B0005 + WER_S_DISABLED_ARCHIVE Handle = 0x001B0006 + WER_S_REPORT_ASYNC Handle = 0x001B0007 + WER_S_IGNORE_ASSERT_INSTANCE Handle = 0x001B0008 + WER_S_IGNORE_ALL_ASSERTS Handle = 0x001B0009 + WER_S_ASSERT_CONTINUE Handle = 0x001B000A + WER_S_THROTTLED Handle = 0x001B000B + WER_S_REPORT_UPLOADED_CAB Handle = 0x001B000C + WER_E_CRASH_FAILURE Handle = 0x801B8000 + WER_E_CANCELED Handle = 0x801B8001 + WER_E_NETWORK_FAILURE Handle = 0x801B8002 + WER_E_NOT_INITIALIZED Handle = 0x801B8003 + WER_E_ALREADY_REPORTING Handle = 0x801B8004 + WER_E_DUMP_THROTTLED Handle = 0x801B8005 + WER_E_INSUFFICIENT_CONSENT Handle = 0x801B8006 + WER_E_TOO_HEAVY Handle = 0x801B8007 + ERROR_FLT_IO_COMPLETE Handle = 0x001F0001 + ERROR_FLT_NO_HANDLER_DEFINED Handle = 0x801F0001 + ERROR_FLT_CONTEXT_ALREADY_DEFINED Handle = 0x801F0002 + ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST Handle = 0x801F0003 + ERROR_FLT_DISALLOW_FAST_IO Handle = 0x801F0004 + ERROR_FLT_INVALID_NAME_REQUEST Handle = 0x801F0005 + ERROR_FLT_NOT_SAFE_TO_POST_OPERATION Handle = 0x801F0006 + ERROR_FLT_NOT_INITIALIZED Handle = 0x801F0007 + ERROR_FLT_FILTER_NOT_READY Handle = 0x801F0008 + ERROR_FLT_POST_OPERATION_CLEANUP Handle = 0x801F0009 + ERROR_FLT_INTERNAL_ERROR Handle = 0x801F000A + ERROR_FLT_DELETING_OBJECT Handle = 0x801F000B + ERROR_FLT_MUST_BE_NONPAGED_POOL Handle = 0x801F000C + ERROR_FLT_DUPLICATE_ENTRY Handle = 0x801F000D + ERROR_FLT_CBDQ_DISABLED Handle = 0x801F000E + ERROR_FLT_DO_NOT_ATTACH Handle = 0x801F000F + ERROR_FLT_DO_NOT_DETACH Handle = 0x801F0010 + ERROR_FLT_INSTANCE_ALTITUDE_COLLISION Handle = 0x801F0011 + ERROR_FLT_INSTANCE_NAME_COLLISION Handle = 0x801F0012 + ERROR_FLT_FILTER_NOT_FOUND Handle = 0x801F0013 + ERROR_FLT_VOLUME_NOT_FOUND Handle = 0x801F0014 + ERROR_FLT_INSTANCE_NOT_FOUND Handle = 0x801F0015 + ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND Handle = 0x801F0016 + ERROR_FLT_INVALID_CONTEXT_REGISTRATION Handle = 0x801F0017 + ERROR_FLT_NAME_CACHE_MISS Handle = 0x801F0018 + ERROR_FLT_NO_DEVICE_OBJECT Handle = 0x801F0019 + ERROR_FLT_VOLUME_ALREADY_MOUNTED Handle = 0x801F001A + ERROR_FLT_ALREADY_ENLISTED Handle = 0x801F001B + ERROR_FLT_CONTEXT_ALREADY_LINKED Handle = 0x801F001C + ERROR_FLT_NO_WAITER_FOR_REPLY Handle = 0x801F0020 + ERROR_FLT_REGISTRATION_BUSY Handle = 0x801F0023 + ERROR_HUNG_DISPLAY_DRIVER_THREAD Handle = 0x80260001 + DWM_E_COMPOSITIONDISABLED Handle = 0x80263001 + DWM_E_REMOTING_NOT_SUPPORTED Handle = 0x80263002 + DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE Handle = 0x80263003 + DWM_E_NOT_QUEUING_PRESENTS Handle = 0x80263004 + DWM_E_ADAPTER_NOT_FOUND Handle = 0x80263005 + DWM_S_GDI_REDIRECTION_SURFACE Handle = 0x00263005 + DWM_E_TEXTURE_TOO_LARGE Handle = 0x80263007 + DWM_S_GDI_REDIRECTION_SURFACE_BLT_VIA_GDI Handle = 0x00263008 + ERROR_MONITOR_NO_DESCRIPTOR Handle = 0x00261001 + ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT Handle = 0x00261002 + ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM Handle = 0xC0261003 + ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK Handle = 0xC0261004 + ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED Handle = 0xC0261005 + ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK Handle = 0xC0261006 + ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK Handle = 0xC0261007 + ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA Handle = 0xC0261008 + ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK Handle = 0xC0261009 + ERROR_MONITOR_INVALID_MANUFACTURE_DATE Handle = 0xC026100A + ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER Handle = 0xC0262000 + ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER Handle = 0xC0262001 + ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER Handle = 0xC0262002 + ERROR_GRAPHICS_ADAPTER_WAS_RESET Handle = 0xC0262003 + ERROR_GRAPHICS_INVALID_DRIVER_MODEL Handle = 0xC0262004 + ERROR_GRAPHICS_PRESENT_MODE_CHANGED Handle = 0xC0262005 + ERROR_GRAPHICS_PRESENT_OCCLUDED Handle = 0xC0262006 + ERROR_GRAPHICS_PRESENT_DENIED Handle = 0xC0262007 + ERROR_GRAPHICS_CANNOTCOLORCONVERT Handle = 0xC0262008 + ERROR_GRAPHICS_DRIVER_MISMATCH Handle = 0xC0262009 + ERROR_GRAPHICS_PARTIAL_DATA_POPULATED Handle = 0x4026200A + ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED Handle = 0xC026200B + ERROR_GRAPHICS_PRESENT_UNOCCLUDED Handle = 0xC026200C + ERROR_GRAPHICS_WINDOWDC_NOT_AVAILABLE Handle = 0xC026200D + ERROR_GRAPHICS_WINDOWLESS_PRESENT_DISABLED Handle = 0xC026200E + ERROR_GRAPHICS_PRESENT_INVALID_WINDOW Handle = 0xC026200F + ERROR_GRAPHICS_PRESENT_BUFFER_NOT_BOUND Handle = 0xC0262010 + ERROR_GRAPHICS_VAIL_STATE_CHANGED Handle = 0xC0262011 + ERROR_GRAPHICS_NO_VIDEO_MEMORY Handle = 0xC0262100 + ERROR_GRAPHICS_CANT_LOCK_MEMORY Handle = 0xC0262101 + ERROR_GRAPHICS_ALLOCATION_BUSY Handle = 0xC0262102 + ERROR_GRAPHICS_TOO_MANY_REFERENCES Handle = 0xC0262103 + ERROR_GRAPHICS_TRY_AGAIN_LATER Handle = 0xC0262104 + ERROR_GRAPHICS_TRY_AGAIN_NOW Handle = 0xC0262105 + ERROR_GRAPHICS_ALLOCATION_INVALID Handle = 0xC0262106 + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE Handle = 0xC0262107 + ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED Handle = 0xC0262108 + ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION Handle = 0xC0262109 + ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE Handle = 0xC0262110 + ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION Handle = 0xC0262111 + ERROR_GRAPHICS_ALLOCATION_CLOSED Handle = 0xC0262112 + ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE Handle = 0xC0262113 + ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE Handle = 0xC0262114 + ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE Handle = 0xC0262115 + ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST Handle = 0xC0262116 + ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE Handle = 0xC0262200 + ERROR_GRAPHICS_SKIP_ALLOCATION_PREPARATION Handle = 0x40262201 + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY Handle = 0xC0262300 + ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED Handle = 0xC0262301 + ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED Handle = 0xC0262302 + ERROR_GRAPHICS_INVALID_VIDPN Handle = 0xC0262303 + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE Handle = 0xC0262304 + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET Handle = 0xC0262305 + ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED Handle = 0xC0262306 + ERROR_GRAPHICS_MODE_NOT_PINNED Handle = 0x00262307 + ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET Handle = 0xC0262308 + ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET Handle = 0xC0262309 + ERROR_GRAPHICS_INVALID_FREQUENCY Handle = 0xC026230A + ERROR_GRAPHICS_INVALID_ACTIVE_REGION Handle = 0xC026230B + ERROR_GRAPHICS_INVALID_TOTAL_REGION Handle = 0xC026230C + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE Handle = 0xC0262310 + ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE Handle = 0xC0262311 + ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET Handle = 0xC0262312 + ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY Handle = 0xC0262313 + ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET Handle = 0xC0262314 + ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET Handle = 0xC0262315 + ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET Handle = 0xC0262316 + ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET Handle = 0xC0262317 + ERROR_GRAPHICS_TARGET_ALREADY_IN_SET Handle = 0xC0262318 + ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH Handle = 0xC0262319 + ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY Handle = 0xC026231A + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET Handle = 0xC026231B + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE Handle = 0xC026231C + ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET Handle = 0xC026231D + ERROR_GRAPHICS_NO_PREFERRED_MODE Handle = 0x0026231E + ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET Handle = 0xC026231F + ERROR_GRAPHICS_STALE_MODESET Handle = 0xC0262320 + ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET Handle = 0xC0262321 + ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE Handle = 0xC0262322 + ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN Handle = 0xC0262323 + ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE Handle = 0xC0262324 + ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION Handle = 0xC0262325 + ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES Handle = 0xC0262326 + ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY Handle = 0xC0262327 + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE Handle = 0xC0262328 + ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET Handle = 0xC0262329 + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET Handle = 0xC026232A + ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR Handle = 0xC026232B + ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET Handle = 0xC026232C + ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET Handle = 0xC026232D + ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE Handle = 0xC026232E + ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE Handle = 0xC026232F + ERROR_GRAPHICS_RESOURCES_NOT_RELATED Handle = 0xC0262330 + ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE Handle = 0xC0262331 + ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE Handle = 0xC0262332 + ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET Handle = 0xC0262333 + ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER Handle = 0xC0262334 + ERROR_GRAPHICS_NO_VIDPNMGR Handle = 0xC0262335 + ERROR_GRAPHICS_NO_ACTIVE_VIDPN Handle = 0xC0262336 + ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY Handle = 0xC0262337 + ERROR_GRAPHICS_MONITOR_NOT_CONNECTED Handle = 0xC0262338 + ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY Handle = 0xC0262339 + ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE Handle = 0xC026233A + ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE Handle = 0xC026233B + ERROR_GRAPHICS_INVALID_STRIDE Handle = 0xC026233C + ERROR_GRAPHICS_INVALID_PIXELFORMAT Handle = 0xC026233D + ERROR_GRAPHICS_INVALID_COLORBASIS Handle = 0xC026233E + ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE Handle = 0xC026233F + ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY Handle = 0xC0262340 + ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT Handle = 0xC0262341 + ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0xC0262342 + ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN Handle = 0xC0262343 + ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL Handle = 0xC0262344 + ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION Handle = 0xC0262345 + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED Handle = 0xC0262346 + ERROR_GRAPHICS_INVALID_GAMMA_RAMP Handle = 0xC0262347 + ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED Handle = 0xC0262348 + ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED Handle = 0xC0262349 + ERROR_GRAPHICS_MODE_NOT_IN_MODESET Handle = 0xC026234A + ERROR_GRAPHICS_DATASET_IS_EMPTY Handle = 0x0026234B + ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET Handle = 0x0026234C + ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON Handle = 0xC026234D + ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE Handle = 0xC026234E + ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE Handle = 0xC026234F + ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS Handle = 0xC0262350 + ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED Handle = 0x00262351 + ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING Handle = 0xC0262352 + ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED Handle = 0xC0262353 + ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS Handle = 0xC0262354 + ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT Handle = 0xC0262355 + ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM Handle = 0xC0262356 + ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN Handle = 0xC0262357 + ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT Handle = 0xC0262358 + ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED Handle = 0xC0262359 + ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION Handle = 0xC026235A + ERROR_GRAPHICS_INVALID_CLIENT_TYPE Handle = 0xC026235B + ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET Handle = 0xC026235C + ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED Handle = 0xC0262400 + ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED Handle = 0xC0262401 + ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS Handle = 0x4026242F + ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER Handle = 0xC0262430 + ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED Handle = 0xC0262431 + ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED Handle = 0xC0262432 + ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY Handle = 0xC0262433 + ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED Handle = 0xC0262434 + ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON Handle = 0xC0262435 + ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE Handle = 0xC0262436 + ERROR_GRAPHICS_LEADLINK_START_DEFERRED Handle = 0x40262437 + ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER Handle = 0xC0262438 + ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY Handle = 0x40262439 + ERROR_GRAPHICS_START_DEFERRED Handle = 0x4026243A + ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED Handle = 0xC026243B + ERROR_GRAPHICS_DEPENDABLE_CHILD_STATUS Handle = 0x4026243C + ERROR_GRAPHICS_OPM_NOT_SUPPORTED Handle = 0xC0262500 + ERROR_GRAPHICS_COPP_NOT_SUPPORTED Handle = 0xC0262501 + ERROR_GRAPHICS_UAB_NOT_SUPPORTED Handle = 0xC0262502 + ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS Handle = 0xC0262503 + ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST Handle = 0xC0262505 + ERROR_GRAPHICS_OPM_INTERNAL_ERROR Handle = 0xC026250B + ERROR_GRAPHICS_OPM_INVALID_HANDLE Handle = 0xC026250C + ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH Handle = 0xC026250E + ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED Handle = 0xC026250F + ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED Handle = 0xC0262510 + ERROR_GRAPHICS_PVP_HFS_FAILED Handle = 0xC0262511 + ERROR_GRAPHICS_OPM_INVALID_SRM Handle = 0xC0262512 + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP Handle = 0xC0262513 + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP Handle = 0xC0262514 + ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA Handle = 0xC0262515 + ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET Handle = 0xC0262516 + ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH Handle = 0xC0262517 + ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE Handle = 0xC0262518 + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS Handle = 0xC026251A + ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS Handle = 0xC026251B + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS Handle = 0xC026251C + ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST Handle = 0xC026251D + ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR Handle = 0xC026251E + ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS Handle = 0xC026251F + ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED Handle = 0xC0262520 + ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST Handle = 0xC0262521 + ERROR_GRAPHICS_I2C_NOT_SUPPORTED Handle = 0xC0262580 + ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST Handle = 0xC0262581 + ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA Handle = 0xC0262582 + ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA Handle = 0xC0262583 + ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED Handle = 0xC0262584 + ERROR_GRAPHICS_DDCCI_INVALID_DATA Handle = 0xC0262585 + ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE Handle = 0xC0262586 + ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING Handle = 0xC0262587 + ERROR_GRAPHICS_MCA_INTERNAL_ERROR Handle = 0xC0262588 + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND Handle = 0xC0262589 + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH Handle = 0xC026258A + ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM Handle = 0xC026258B + ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE Handle = 0xC026258C + ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS Handle = 0xC026258D + ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE Handle = 0xC02625D8 + ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION Handle = 0xC02625D9 + ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION Handle = 0xC02625DA + ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH Handle = 0xC02625DB + ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION Handle = 0xC02625DC + ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED Handle = 0xC02625DE + ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE Handle = 0xC02625DF + ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED Handle = 0xC02625E0 + ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME Handle = 0xC02625E1 + ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP Handle = 0xC02625E2 + ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED Handle = 0xC02625E3 + ERROR_GRAPHICS_INVALID_POINTER Handle = 0xC02625E4 + ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE Handle = 0xC02625E5 + ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL Handle = 0xC02625E6 + ERROR_GRAPHICS_INTERNAL_ERROR Handle = 0xC02625E7 + ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS Handle = 0xC02605E8 + NAP_E_INVALID_PACKET Handle = 0x80270001 + NAP_E_MISSING_SOH Handle = 0x80270002 + NAP_E_CONFLICTING_ID Handle = 0x80270003 + NAP_E_NO_CACHED_SOH Handle = 0x80270004 + NAP_E_STILL_BOUND Handle = 0x80270005 + NAP_E_NOT_REGISTERED Handle = 0x80270006 + NAP_E_NOT_INITIALIZED Handle = 0x80270007 + NAP_E_MISMATCHED_ID Handle = 0x80270008 + NAP_E_NOT_PENDING Handle = 0x80270009 + NAP_E_ID_NOT_FOUND Handle = 0x8027000A + NAP_E_MAXSIZE_TOO_SMALL Handle = 0x8027000B + NAP_E_SERVICE_NOT_RUNNING Handle = 0x8027000C + NAP_S_CERT_ALREADY_PRESENT Handle = 0x0027000D + NAP_E_ENTITY_DISABLED Handle = 0x8027000E + NAP_E_NETSH_GROUPPOLICY_ERROR Handle = 0x8027000F + NAP_E_TOO_MANY_CALLS Handle = 0x80270010 + NAP_E_SHV_CONFIG_EXISTED Handle = 0x80270011 + NAP_E_SHV_CONFIG_NOT_FOUND Handle = 0x80270012 + NAP_E_SHV_TIMEOUT Handle = 0x80270013 + TPM_E_ERROR_MASK Handle = 0x80280000 + TPM_E_AUTHFAIL Handle = 0x80280001 + TPM_E_BADINDEX Handle = 0x80280002 + TPM_E_BAD_PARAMETER Handle = 0x80280003 + TPM_E_AUDITFAILURE Handle = 0x80280004 + TPM_E_CLEAR_DISABLED Handle = 0x80280005 + TPM_E_DEACTIVATED Handle = 0x80280006 + TPM_E_DISABLED Handle = 0x80280007 + TPM_E_DISABLED_CMD Handle = 0x80280008 + TPM_E_FAIL Handle = 0x80280009 + TPM_E_BAD_ORDINAL Handle = 0x8028000A + TPM_E_INSTALL_DISABLED Handle = 0x8028000B + TPM_E_INVALID_KEYHANDLE Handle = 0x8028000C + TPM_E_KEYNOTFOUND Handle = 0x8028000D + TPM_E_INAPPROPRIATE_ENC Handle = 0x8028000E + TPM_E_MIGRATEFAIL Handle = 0x8028000F + TPM_E_INVALID_PCR_INFO Handle = 0x80280010 + TPM_E_NOSPACE Handle = 0x80280011 + TPM_E_NOSRK Handle = 0x80280012 + TPM_E_NOTSEALED_BLOB Handle = 0x80280013 + TPM_E_OWNER_SET Handle = 0x80280014 + TPM_E_RESOURCES Handle = 0x80280015 + TPM_E_SHORTRANDOM Handle = 0x80280016 + TPM_E_SIZE Handle = 0x80280017 + TPM_E_WRONGPCRVAL Handle = 0x80280018 + TPM_E_BAD_PARAM_SIZE Handle = 0x80280019 + TPM_E_SHA_THREAD Handle = 0x8028001A + TPM_E_SHA_ERROR Handle = 0x8028001B + TPM_E_FAILEDSELFTEST Handle = 0x8028001C + TPM_E_AUTH2FAIL Handle = 0x8028001D + TPM_E_BADTAG Handle = 0x8028001E + TPM_E_IOERROR Handle = 0x8028001F + TPM_E_ENCRYPT_ERROR Handle = 0x80280020 + TPM_E_DECRYPT_ERROR Handle = 0x80280021 + TPM_E_INVALID_AUTHHANDLE Handle = 0x80280022 + TPM_E_NO_ENDORSEMENT Handle = 0x80280023 + TPM_E_INVALID_KEYUSAGE Handle = 0x80280024 + TPM_E_WRONG_ENTITYTYPE Handle = 0x80280025 + TPM_E_INVALID_POSTINIT Handle = 0x80280026 + TPM_E_INAPPROPRIATE_SIG Handle = 0x80280027 + TPM_E_BAD_KEY_PROPERTY Handle = 0x80280028 + TPM_E_BAD_MIGRATION Handle = 0x80280029 + TPM_E_BAD_SCHEME Handle = 0x8028002A + TPM_E_BAD_DATASIZE Handle = 0x8028002B + TPM_E_BAD_MODE Handle = 0x8028002C + TPM_E_BAD_PRESENCE Handle = 0x8028002D + TPM_E_BAD_VERSION Handle = 0x8028002E + TPM_E_NO_WRAP_TRANSPORT Handle = 0x8028002F + TPM_E_AUDITFAIL_UNSUCCESSFUL Handle = 0x80280030 + TPM_E_AUDITFAIL_SUCCESSFUL Handle = 0x80280031 + TPM_E_NOTRESETABLE Handle = 0x80280032 + TPM_E_NOTLOCAL Handle = 0x80280033 + TPM_E_BAD_TYPE Handle = 0x80280034 + TPM_E_INVALID_RESOURCE Handle = 0x80280035 + TPM_E_NOTFIPS Handle = 0x80280036 + TPM_E_INVALID_FAMILY Handle = 0x80280037 + TPM_E_NO_NV_PERMISSION Handle = 0x80280038 + TPM_E_REQUIRES_SIGN Handle = 0x80280039 + TPM_E_KEY_NOTSUPPORTED Handle = 0x8028003A + TPM_E_AUTH_CONFLICT Handle = 0x8028003B + TPM_E_AREA_LOCKED Handle = 0x8028003C + TPM_E_BAD_LOCALITY Handle = 0x8028003D + TPM_E_READ_ONLY Handle = 0x8028003E + TPM_E_PER_NOWRITE Handle = 0x8028003F + TPM_E_FAMILYCOUNT Handle = 0x80280040 + TPM_E_WRITE_LOCKED Handle = 0x80280041 + TPM_E_BAD_ATTRIBUTES Handle = 0x80280042 + TPM_E_INVALID_STRUCTURE Handle = 0x80280043 + TPM_E_KEY_OWNER_CONTROL Handle = 0x80280044 + TPM_E_BAD_COUNTER Handle = 0x80280045 + TPM_E_NOT_FULLWRITE Handle = 0x80280046 + TPM_E_CONTEXT_GAP Handle = 0x80280047 + TPM_E_MAXNVWRITES Handle = 0x80280048 + TPM_E_NOOPERATOR Handle = 0x80280049 + TPM_E_RESOURCEMISSING Handle = 0x8028004A + TPM_E_DELEGATE_LOCK Handle = 0x8028004B + TPM_E_DELEGATE_FAMILY Handle = 0x8028004C + TPM_E_DELEGATE_ADMIN Handle = 0x8028004D + TPM_E_TRANSPORT_NOTEXCLUSIVE Handle = 0x8028004E + TPM_E_OWNER_CONTROL Handle = 0x8028004F + TPM_E_DAA_RESOURCES Handle = 0x80280050 + TPM_E_DAA_INPUT_DATA0 Handle = 0x80280051 + TPM_E_DAA_INPUT_DATA1 Handle = 0x80280052 + TPM_E_DAA_ISSUER_SETTINGS Handle = 0x80280053 + TPM_E_DAA_TPM_SETTINGS Handle = 0x80280054 + TPM_E_DAA_STAGE Handle = 0x80280055 + TPM_E_DAA_ISSUER_VALIDITY Handle = 0x80280056 + TPM_E_DAA_WRONG_W Handle = 0x80280057 + TPM_E_BAD_HANDLE Handle = 0x80280058 + TPM_E_BAD_DELEGATE Handle = 0x80280059 + TPM_E_BADCONTEXT Handle = 0x8028005A + TPM_E_TOOMANYCONTEXTS Handle = 0x8028005B + TPM_E_MA_TICKET_SIGNATURE Handle = 0x8028005C + TPM_E_MA_DESTINATION Handle = 0x8028005D + TPM_E_MA_SOURCE Handle = 0x8028005E + TPM_E_MA_AUTHORITY Handle = 0x8028005F + TPM_E_PERMANENTEK Handle = 0x80280061 + TPM_E_BAD_SIGNATURE Handle = 0x80280062 + TPM_E_NOCONTEXTSPACE Handle = 0x80280063 + TPM_20_E_ASYMMETRIC Handle = 0x80280081 + TPM_20_E_ATTRIBUTES Handle = 0x80280082 + TPM_20_E_HASH Handle = 0x80280083 + TPM_20_E_VALUE Handle = 0x80280084 + TPM_20_E_HIERARCHY Handle = 0x80280085 + TPM_20_E_KEY_SIZE Handle = 0x80280087 + TPM_20_E_MGF Handle = 0x80280088 + TPM_20_E_MODE Handle = 0x80280089 + TPM_20_E_TYPE Handle = 0x8028008A + TPM_20_E_HANDLE Handle = 0x8028008B + TPM_20_E_KDF Handle = 0x8028008C + TPM_20_E_RANGE Handle = 0x8028008D + TPM_20_E_AUTH_FAIL Handle = 0x8028008E + TPM_20_E_NONCE Handle = 0x8028008F + TPM_20_E_PP Handle = 0x80280090 + TPM_20_E_SCHEME Handle = 0x80280092 + TPM_20_E_SIZE Handle = 0x80280095 + TPM_20_E_SYMMETRIC Handle = 0x80280096 + TPM_20_E_TAG Handle = 0x80280097 + TPM_20_E_SELECTOR Handle = 0x80280098 + TPM_20_E_INSUFFICIENT Handle = 0x8028009A + TPM_20_E_SIGNATURE Handle = 0x8028009B + TPM_20_E_KEY Handle = 0x8028009C + TPM_20_E_POLICY_FAIL Handle = 0x8028009D + TPM_20_E_INTEGRITY Handle = 0x8028009F + TPM_20_E_TICKET Handle = 0x802800A0 + TPM_20_E_RESERVED_BITS Handle = 0x802800A1 + TPM_20_E_BAD_AUTH Handle = 0x802800A2 + TPM_20_E_EXPIRED Handle = 0x802800A3 + TPM_20_E_POLICY_CC Handle = 0x802800A4 + TPM_20_E_BINDING Handle = 0x802800A5 + TPM_20_E_CURVE Handle = 0x802800A6 + TPM_20_E_ECC_POINT Handle = 0x802800A7 + TPM_20_E_INITIALIZE Handle = 0x80280100 + TPM_20_E_FAILURE Handle = 0x80280101 + TPM_20_E_SEQUENCE Handle = 0x80280103 + TPM_20_E_PRIVATE Handle = 0x8028010B + TPM_20_E_HMAC Handle = 0x80280119 + TPM_20_E_DISABLED Handle = 0x80280120 + TPM_20_E_EXCLUSIVE Handle = 0x80280121 + TPM_20_E_ECC_CURVE Handle = 0x80280123 + TPM_20_E_AUTH_TYPE Handle = 0x80280124 + TPM_20_E_AUTH_MISSING Handle = 0x80280125 + TPM_20_E_POLICY Handle = 0x80280126 + TPM_20_E_PCR Handle = 0x80280127 + TPM_20_E_PCR_CHANGED Handle = 0x80280128 + TPM_20_E_UPGRADE Handle = 0x8028012D + TPM_20_E_TOO_MANY_CONTEXTS Handle = 0x8028012E + TPM_20_E_AUTH_UNAVAILABLE Handle = 0x8028012F + TPM_20_E_REBOOT Handle = 0x80280130 + TPM_20_E_UNBALANCED Handle = 0x80280131 + TPM_20_E_COMMAND_SIZE Handle = 0x80280142 + TPM_20_E_COMMAND_CODE Handle = 0x80280143 + TPM_20_E_AUTHSIZE Handle = 0x80280144 + TPM_20_E_AUTH_CONTEXT Handle = 0x80280145 + TPM_20_E_NV_RANGE Handle = 0x80280146 + TPM_20_E_NV_SIZE Handle = 0x80280147 + TPM_20_E_NV_LOCKED Handle = 0x80280148 + TPM_20_E_NV_AUTHORIZATION Handle = 0x80280149 + TPM_20_E_NV_UNINITIALIZED Handle = 0x8028014A + TPM_20_E_NV_SPACE Handle = 0x8028014B + TPM_20_E_NV_DEFINED Handle = 0x8028014C + TPM_20_E_BAD_CONTEXT Handle = 0x80280150 + TPM_20_E_CPHASH Handle = 0x80280151 + TPM_20_E_PARENT Handle = 0x80280152 + TPM_20_E_NEEDS_TEST Handle = 0x80280153 + TPM_20_E_NO_RESULT Handle = 0x80280154 + TPM_20_E_SENSITIVE Handle = 0x80280155 + TPM_E_COMMAND_BLOCKED Handle = 0x80280400 + TPM_E_INVALID_HANDLE Handle = 0x80280401 + TPM_E_DUPLICATE_VHANDLE Handle = 0x80280402 + TPM_E_EMBEDDED_COMMAND_BLOCKED Handle = 0x80280403 + TPM_E_EMBEDDED_COMMAND_UNSUPPORTED Handle = 0x80280404 + TPM_E_RETRY Handle = 0x80280800 + TPM_E_NEEDS_SELFTEST Handle = 0x80280801 + TPM_E_DOING_SELFTEST Handle = 0x80280802 + TPM_E_DEFEND_LOCK_RUNNING Handle = 0x80280803 + TPM_20_E_CONTEXT_GAP Handle = 0x80280901 + TPM_20_E_OBJECT_MEMORY Handle = 0x80280902 + TPM_20_E_SESSION_MEMORY Handle = 0x80280903 + TPM_20_E_MEMORY Handle = 0x80280904 + TPM_20_E_SESSION_HANDLES Handle = 0x80280905 + TPM_20_E_OBJECT_HANDLES Handle = 0x80280906 + TPM_20_E_LOCALITY Handle = 0x80280907 + TPM_20_E_YIELDED Handle = 0x80280908 + TPM_20_E_CANCELED Handle = 0x80280909 + TPM_20_E_TESTING Handle = 0x8028090A + TPM_20_E_NV_RATE Handle = 0x80280920 + TPM_20_E_LOCKOUT Handle = 0x80280921 + TPM_20_E_RETRY Handle = 0x80280922 + TPM_20_E_NV_UNAVAILABLE Handle = 0x80280923 + TBS_E_INTERNAL_ERROR Handle = 0x80284001 + TBS_E_BAD_PARAMETER Handle = 0x80284002 + TBS_E_INVALID_OUTPUT_POINTER Handle = 0x80284003 + TBS_E_INVALID_CONTEXT Handle = 0x80284004 + TBS_E_INSUFFICIENT_BUFFER Handle = 0x80284005 + TBS_E_IOERROR Handle = 0x80284006 + TBS_E_INVALID_CONTEXT_PARAM Handle = 0x80284007 + TBS_E_SERVICE_NOT_RUNNING Handle = 0x80284008 + TBS_E_TOO_MANY_TBS_CONTEXTS Handle = 0x80284009 + TBS_E_TOO_MANY_RESOURCES Handle = 0x8028400A + TBS_E_SERVICE_START_PENDING Handle = 0x8028400B + TBS_E_PPI_NOT_SUPPORTED Handle = 0x8028400C + TBS_E_COMMAND_CANCELED Handle = 0x8028400D + TBS_E_BUFFER_TOO_LARGE Handle = 0x8028400E + TBS_E_TPM_NOT_FOUND Handle = 0x8028400F + TBS_E_SERVICE_DISABLED Handle = 0x80284010 + TBS_E_NO_EVENT_LOG Handle = 0x80284011 + TBS_E_ACCESS_DENIED Handle = 0x80284012 + TBS_E_PROVISIONING_NOT_ALLOWED Handle = 0x80284013 + TBS_E_PPI_FUNCTION_UNSUPPORTED Handle = 0x80284014 + TBS_E_OWNERAUTH_NOT_FOUND Handle = 0x80284015 + TBS_E_PROVISIONING_INCOMPLETE Handle = 0x80284016 + TPMAPI_E_INVALID_STATE Handle = 0x80290100 + TPMAPI_E_NOT_ENOUGH_DATA Handle = 0x80290101 + TPMAPI_E_TOO_MUCH_DATA Handle = 0x80290102 + TPMAPI_E_INVALID_OUTPUT_POINTER Handle = 0x80290103 + TPMAPI_E_INVALID_PARAMETER Handle = 0x80290104 + TPMAPI_E_OUT_OF_MEMORY Handle = 0x80290105 + TPMAPI_E_BUFFER_TOO_SMALL Handle = 0x80290106 + TPMAPI_E_INTERNAL_ERROR Handle = 0x80290107 + TPMAPI_E_ACCESS_DENIED Handle = 0x80290108 + TPMAPI_E_AUTHORIZATION_FAILED Handle = 0x80290109 + TPMAPI_E_INVALID_CONTEXT_HANDLE Handle = 0x8029010A + TPMAPI_E_TBS_COMMUNICATION_ERROR Handle = 0x8029010B + TPMAPI_E_TPM_COMMAND_ERROR Handle = 0x8029010C + TPMAPI_E_MESSAGE_TOO_LARGE Handle = 0x8029010D + TPMAPI_E_INVALID_ENCODING Handle = 0x8029010E + TPMAPI_E_INVALID_KEY_SIZE Handle = 0x8029010F + TPMAPI_E_ENCRYPTION_FAILED Handle = 0x80290110 + TPMAPI_E_INVALID_KEY_PARAMS Handle = 0x80290111 + TPMAPI_E_INVALID_MIGRATION_AUTHORIZATION_BLOB Handle = 0x80290112 + TPMAPI_E_INVALID_PCR_INDEX Handle = 0x80290113 + TPMAPI_E_INVALID_DELEGATE_BLOB Handle = 0x80290114 + TPMAPI_E_INVALID_CONTEXT_PARAMS Handle = 0x80290115 + TPMAPI_E_INVALID_KEY_BLOB Handle = 0x80290116 + TPMAPI_E_INVALID_PCR_DATA Handle = 0x80290117 + TPMAPI_E_INVALID_OWNER_AUTH Handle = 0x80290118 + TPMAPI_E_FIPS_RNG_CHECK_FAILED Handle = 0x80290119 + TPMAPI_E_EMPTY_TCG_LOG Handle = 0x8029011A + TPMAPI_E_INVALID_TCG_LOG_ENTRY Handle = 0x8029011B + TPMAPI_E_TCG_SEPARATOR_ABSENT Handle = 0x8029011C + TPMAPI_E_TCG_INVALID_DIGEST_ENTRY Handle = 0x8029011D + TPMAPI_E_POLICY_DENIES_OPERATION Handle = 0x8029011E + TPMAPI_E_NV_BITS_NOT_DEFINED Handle = 0x8029011F + TPMAPI_E_NV_BITS_NOT_READY Handle = 0x80290120 + TPMAPI_E_SEALING_KEY_NOT_AVAILABLE Handle = 0x80290121 + TPMAPI_E_NO_AUTHORIZATION_CHAIN_FOUND Handle = 0x80290122 + TPMAPI_E_SVN_COUNTER_NOT_AVAILABLE Handle = 0x80290123 + TPMAPI_E_OWNER_AUTH_NOT_NULL Handle = 0x80290124 + TPMAPI_E_ENDORSEMENT_AUTH_NOT_NULL Handle = 0x80290125 + TPMAPI_E_AUTHORIZATION_REVOKED Handle = 0x80290126 + TPMAPI_E_MALFORMED_AUTHORIZATION_KEY Handle = 0x80290127 + TPMAPI_E_AUTHORIZING_KEY_NOT_SUPPORTED Handle = 0x80290128 + TPMAPI_E_INVALID_AUTHORIZATION_SIGNATURE Handle = 0x80290129 + TPMAPI_E_MALFORMED_AUTHORIZATION_POLICY Handle = 0x8029012A + TPMAPI_E_MALFORMED_AUTHORIZATION_OTHER Handle = 0x8029012B + TPMAPI_E_SEALING_KEY_CHANGED Handle = 0x8029012C + TBSIMP_E_BUFFER_TOO_SMALL Handle = 0x80290200 + TBSIMP_E_CLEANUP_FAILED Handle = 0x80290201 + TBSIMP_E_INVALID_CONTEXT_HANDLE Handle = 0x80290202 + TBSIMP_E_INVALID_CONTEXT_PARAM Handle = 0x80290203 + TBSIMP_E_TPM_ERROR Handle = 0x80290204 + TBSIMP_E_HASH_BAD_KEY Handle = 0x80290205 + TBSIMP_E_DUPLICATE_VHANDLE Handle = 0x80290206 + TBSIMP_E_INVALID_OUTPUT_POINTER Handle = 0x80290207 + TBSIMP_E_INVALID_PARAMETER Handle = 0x80290208 + TBSIMP_E_RPC_INIT_FAILED Handle = 0x80290209 + TBSIMP_E_SCHEDULER_NOT_RUNNING Handle = 0x8029020A + TBSIMP_E_COMMAND_CANCELED Handle = 0x8029020B + TBSIMP_E_OUT_OF_MEMORY Handle = 0x8029020C + TBSIMP_E_LIST_NO_MORE_ITEMS Handle = 0x8029020D + TBSIMP_E_LIST_NOT_FOUND Handle = 0x8029020E + TBSIMP_E_NOT_ENOUGH_SPACE Handle = 0x8029020F + TBSIMP_E_NOT_ENOUGH_TPM_CONTEXTS Handle = 0x80290210 + TBSIMP_E_COMMAND_FAILED Handle = 0x80290211 + TBSIMP_E_UNKNOWN_ORDINAL Handle = 0x80290212 + TBSIMP_E_RESOURCE_EXPIRED Handle = 0x80290213 + TBSIMP_E_INVALID_RESOURCE Handle = 0x80290214 + TBSIMP_E_NOTHING_TO_UNLOAD Handle = 0x80290215 + TBSIMP_E_HASH_TABLE_FULL Handle = 0x80290216 + TBSIMP_E_TOO_MANY_TBS_CONTEXTS Handle = 0x80290217 + TBSIMP_E_TOO_MANY_RESOURCES Handle = 0x80290218 + TBSIMP_E_PPI_NOT_SUPPORTED Handle = 0x80290219 + TBSIMP_E_TPM_INCOMPATIBLE Handle = 0x8029021A + TBSIMP_E_NO_EVENT_LOG Handle = 0x8029021B + TPM_E_PPI_ACPI_FAILURE Handle = 0x80290300 + TPM_E_PPI_USER_ABORT Handle = 0x80290301 + TPM_E_PPI_BIOS_FAILURE Handle = 0x80290302 + TPM_E_PPI_NOT_SUPPORTED Handle = 0x80290303 + TPM_E_PPI_BLOCKED_IN_BIOS Handle = 0x80290304 + TPM_E_PCP_ERROR_MASK Handle = 0x80290400 + TPM_E_PCP_DEVICE_NOT_READY Handle = 0x80290401 + TPM_E_PCP_INVALID_HANDLE Handle = 0x80290402 + TPM_E_PCP_INVALID_PARAMETER Handle = 0x80290403 + TPM_E_PCP_FLAG_NOT_SUPPORTED Handle = 0x80290404 + TPM_E_PCP_NOT_SUPPORTED Handle = 0x80290405 + TPM_E_PCP_BUFFER_TOO_SMALL Handle = 0x80290406 + TPM_E_PCP_INTERNAL_ERROR Handle = 0x80290407 + TPM_E_PCP_AUTHENTICATION_FAILED Handle = 0x80290408 + TPM_E_PCP_AUTHENTICATION_IGNORED Handle = 0x80290409 + TPM_E_PCP_POLICY_NOT_FOUND Handle = 0x8029040A + TPM_E_PCP_PROFILE_NOT_FOUND Handle = 0x8029040B + TPM_E_PCP_VALIDATION_FAILED Handle = 0x8029040C + TPM_E_PCP_WRONG_PARENT Handle = 0x8029040E + TPM_E_KEY_NOT_LOADED Handle = 0x8029040F + TPM_E_NO_KEY_CERTIFICATION Handle = 0x80290410 + TPM_E_KEY_NOT_FINALIZED Handle = 0x80290411 + TPM_E_ATTESTATION_CHALLENGE_NOT_SET Handle = 0x80290412 + TPM_E_NOT_PCR_BOUND Handle = 0x80290413 + TPM_E_KEY_ALREADY_FINALIZED Handle = 0x80290414 + TPM_E_KEY_USAGE_POLICY_NOT_SUPPORTED Handle = 0x80290415 + TPM_E_KEY_USAGE_POLICY_INVALID Handle = 0x80290416 + TPM_E_SOFT_KEY_ERROR Handle = 0x80290417 + TPM_E_KEY_NOT_AUTHENTICATED Handle = 0x80290418 + TPM_E_PCP_KEY_NOT_AIK Handle = 0x80290419 + TPM_E_KEY_NOT_SIGNING_KEY Handle = 0x8029041A + TPM_E_LOCKED_OUT Handle = 0x8029041B + TPM_E_CLAIM_TYPE_NOT_SUPPORTED Handle = 0x8029041C + TPM_E_VERSION_NOT_SUPPORTED Handle = 0x8029041D + TPM_E_BUFFER_LENGTH_MISMATCH Handle = 0x8029041E + TPM_E_PCP_IFX_RSA_KEY_CREATION_BLOCKED Handle = 0x8029041F + TPM_E_PCP_TICKET_MISSING Handle = 0x80290420 + TPM_E_PCP_RAW_POLICY_NOT_SUPPORTED Handle = 0x80290421 + TPM_E_PCP_KEY_HANDLE_INVALIDATED Handle = 0x80290422 + TPM_E_PCP_UNSUPPORTED_PSS_SALT Handle = 0x40290423 + TPM_E_ZERO_EXHAUST_ENABLED Handle = 0x80290500 + PLA_E_DCS_NOT_FOUND Handle = 0x80300002 + PLA_E_DCS_IN_USE Handle = 0x803000AA + PLA_E_TOO_MANY_FOLDERS Handle = 0x80300045 + PLA_E_NO_MIN_DISK Handle = 0x80300070 + PLA_E_DCS_ALREADY_EXISTS Handle = 0x803000B7 + PLA_S_PROPERTY_IGNORED Handle = 0x00300100 + PLA_E_PROPERTY_CONFLICT Handle = 0x80300101 + PLA_E_DCS_SINGLETON_REQUIRED Handle = 0x80300102 + PLA_E_CREDENTIALS_REQUIRED Handle = 0x80300103 + PLA_E_DCS_NOT_RUNNING Handle = 0x80300104 + PLA_E_CONFLICT_INCL_EXCL_API Handle = 0x80300105 + PLA_E_NETWORK_EXE_NOT_VALID Handle = 0x80300106 + PLA_E_EXE_ALREADY_CONFIGURED Handle = 0x80300107 + PLA_E_EXE_PATH_NOT_VALID Handle = 0x80300108 + PLA_E_DC_ALREADY_EXISTS Handle = 0x80300109 + PLA_E_DCS_START_WAIT_TIMEOUT Handle = 0x8030010A + PLA_E_DC_START_WAIT_TIMEOUT Handle = 0x8030010B + PLA_E_REPORT_WAIT_TIMEOUT Handle = 0x8030010C + PLA_E_NO_DUPLICATES Handle = 0x8030010D + PLA_E_EXE_FULL_PATH_REQUIRED Handle = 0x8030010E + PLA_E_INVALID_SESSION_NAME Handle = 0x8030010F + PLA_E_PLA_CHANNEL_NOT_ENABLED Handle = 0x80300110 + PLA_E_TASKSCHED_CHANNEL_NOT_ENABLED Handle = 0x80300111 + PLA_E_RULES_MANAGER_FAILED Handle = 0x80300112 + PLA_E_CABAPI_FAILURE Handle = 0x80300113 + FVE_E_LOCKED_VOLUME Handle = 0x80310000 + FVE_E_NOT_ENCRYPTED Handle = 0x80310001 + FVE_E_NO_TPM_BIOS Handle = 0x80310002 + FVE_E_NO_MBR_METRIC Handle = 0x80310003 + FVE_E_NO_BOOTSECTOR_METRIC Handle = 0x80310004 + FVE_E_NO_BOOTMGR_METRIC Handle = 0x80310005 + FVE_E_WRONG_BOOTMGR Handle = 0x80310006 + FVE_E_SECURE_KEY_REQUIRED Handle = 0x80310007 + FVE_E_NOT_ACTIVATED Handle = 0x80310008 + FVE_E_ACTION_NOT_ALLOWED Handle = 0x80310009 + FVE_E_AD_SCHEMA_NOT_INSTALLED Handle = 0x8031000A + FVE_E_AD_INVALID_DATATYPE Handle = 0x8031000B + FVE_E_AD_INVALID_DATASIZE Handle = 0x8031000C + FVE_E_AD_NO_VALUES Handle = 0x8031000D + FVE_E_AD_ATTR_NOT_SET Handle = 0x8031000E + FVE_E_AD_GUID_NOT_FOUND Handle = 0x8031000F + FVE_E_BAD_INFORMATION Handle = 0x80310010 + FVE_E_TOO_SMALL Handle = 0x80310011 + FVE_E_SYSTEM_VOLUME Handle = 0x80310012 + FVE_E_FAILED_WRONG_FS Handle = 0x80310013 + FVE_E_BAD_PARTITION_SIZE Handle = 0x80310014 + FVE_E_NOT_SUPPORTED Handle = 0x80310015 + FVE_E_BAD_DATA Handle = 0x80310016 + FVE_E_VOLUME_NOT_BOUND Handle = 0x80310017 + FVE_E_TPM_NOT_OWNED Handle = 0x80310018 + FVE_E_NOT_DATA_VOLUME Handle = 0x80310019 + FVE_E_AD_INSUFFICIENT_BUFFER Handle = 0x8031001A + FVE_E_CONV_READ Handle = 0x8031001B + FVE_E_CONV_WRITE Handle = 0x8031001C + FVE_E_KEY_REQUIRED Handle = 0x8031001D + FVE_E_CLUSTERING_NOT_SUPPORTED Handle = 0x8031001E + FVE_E_VOLUME_BOUND_ALREADY Handle = 0x8031001F + FVE_E_OS_NOT_PROTECTED Handle = 0x80310020 + FVE_E_PROTECTION_DISABLED Handle = 0x80310021 + FVE_E_RECOVERY_KEY_REQUIRED Handle = 0x80310022 + FVE_E_FOREIGN_VOLUME Handle = 0x80310023 + FVE_E_OVERLAPPED_UPDATE Handle = 0x80310024 + FVE_E_TPM_SRK_AUTH_NOT_ZERO Handle = 0x80310025 + FVE_E_FAILED_SECTOR_SIZE Handle = 0x80310026 + FVE_E_FAILED_AUTHENTICATION Handle = 0x80310027 + FVE_E_NOT_OS_VOLUME Handle = 0x80310028 + FVE_E_AUTOUNLOCK_ENABLED Handle = 0x80310029 + FVE_E_WRONG_BOOTSECTOR Handle = 0x8031002A + FVE_E_WRONG_SYSTEM_FS Handle = 0x8031002B + FVE_E_POLICY_PASSWORD_REQUIRED Handle = 0x8031002C + FVE_E_CANNOT_SET_FVEK_ENCRYPTED Handle = 0x8031002D + FVE_E_CANNOT_ENCRYPT_NO_KEY Handle = 0x8031002E + FVE_E_BOOTABLE_CDDVD Handle = 0x80310030 + FVE_E_PROTECTOR_EXISTS Handle = 0x80310031 + FVE_E_RELATIVE_PATH Handle = 0x80310032 + FVE_E_PROTECTOR_NOT_FOUND Handle = 0x80310033 + FVE_E_INVALID_KEY_FORMAT Handle = 0x80310034 + FVE_E_INVALID_PASSWORD_FORMAT Handle = 0x80310035 + FVE_E_FIPS_RNG_CHECK_FAILED Handle = 0x80310036 + FVE_E_FIPS_PREVENTS_RECOVERY_PASSWORD Handle = 0x80310037 + FVE_E_FIPS_PREVENTS_EXTERNAL_KEY_EXPORT Handle = 0x80310038 + FVE_E_NOT_DECRYPTED Handle = 0x80310039 + FVE_E_INVALID_PROTECTOR_TYPE Handle = 0x8031003A + FVE_E_NO_PROTECTORS_TO_TEST Handle = 0x8031003B + FVE_E_KEYFILE_NOT_FOUND Handle = 0x8031003C + FVE_E_KEYFILE_INVALID Handle = 0x8031003D + FVE_E_KEYFILE_NO_VMK Handle = 0x8031003E + FVE_E_TPM_DISABLED Handle = 0x8031003F + FVE_E_NOT_ALLOWED_IN_SAFE_MODE Handle = 0x80310040 + FVE_E_TPM_INVALID_PCR Handle = 0x80310041 + FVE_E_TPM_NO_VMK Handle = 0x80310042 + FVE_E_PIN_INVALID Handle = 0x80310043 + FVE_E_AUTH_INVALID_APPLICATION Handle = 0x80310044 + FVE_E_AUTH_INVALID_CONFIG Handle = 0x80310045 + FVE_E_FIPS_DISABLE_PROTECTION_NOT_ALLOWED Handle = 0x80310046 + FVE_E_FS_NOT_EXTENDED Handle = 0x80310047 + FVE_E_FIRMWARE_TYPE_NOT_SUPPORTED Handle = 0x80310048 + FVE_E_NO_LICENSE Handle = 0x80310049 + FVE_E_NOT_ON_STACK Handle = 0x8031004A + FVE_E_FS_MOUNTED Handle = 0x8031004B + FVE_E_TOKEN_NOT_IMPERSONATED Handle = 0x8031004C + FVE_E_DRY_RUN_FAILED Handle = 0x8031004D + FVE_E_REBOOT_REQUIRED Handle = 0x8031004E + FVE_E_DEBUGGER_ENABLED Handle = 0x8031004F + FVE_E_RAW_ACCESS Handle = 0x80310050 + FVE_E_RAW_BLOCKED Handle = 0x80310051 + FVE_E_BCD_APPLICATIONS_PATH_INCORRECT Handle = 0x80310052 + FVE_E_NOT_ALLOWED_IN_VERSION Handle = 0x80310053 + FVE_E_NO_AUTOUNLOCK_MASTER_KEY Handle = 0x80310054 + FVE_E_MOR_FAILED Handle = 0x80310055 + FVE_E_HIDDEN_VOLUME Handle = 0x80310056 + FVE_E_TRANSIENT_STATE Handle = 0x80310057 + FVE_E_PUBKEY_NOT_ALLOWED Handle = 0x80310058 + FVE_E_VOLUME_HANDLE_OPEN Handle = 0x80310059 + FVE_E_NO_FEATURE_LICENSE Handle = 0x8031005A + FVE_E_INVALID_STARTUP_OPTIONS Handle = 0x8031005B + FVE_E_POLICY_RECOVERY_PASSWORD_NOT_ALLOWED Handle = 0x8031005C + FVE_E_POLICY_RECOVERY_PASSWORD_REQUIRED Handle = 0x8031005D + FVE_E_POLICY_RECOVERY_KEY_NOT_ALLOWED Handle = 0x8031005E + FVE_E_POLICY_RECOVERY_KEY_REQUIRED Handle = 0x8031005F + FVE_E_POLICY_STARTUP_PIN_NOT_ALLOWED Handle = 0x80310060 + FVE_E_POLICY_STARTUP_PIN_REQUIRED Handle = 0x80310061 + FVE_E_POLICY_STARTUP_KEY_NOT_ALLOWED Handle = 0x80310062 + FVE_E_POLICY_STARTUP_KEY_REQUIRED Handle = 0x80310063 + FVE_E_POLICY_STARTUP_PIN_KEY_NOT_ALLOWED Handle = 0x80310064 + FVE_E_POLICY_STARTUP_PIN_KEY_REQUIRED Handle = 0x80310065 + FVE_E_POLICY_STARTUP_TPM_NOT_ALLOWED Handle = 0x80310066 + FVE_E_POLICY_STARTUP_TPM_REQUIRED Handle = 0x80310067 + FVE_E_POLICY_INVALID_PIN_LENGTH Handle = 0x80310068 + FVE_E_KEY_PROTECTOR_NOT_SUPPORTED Handle = 0x80310069 + FVE_E_POLICY_PASSPHRASE_NOT_ALLOWED Handle = 0x8031006A + FVE_E_POLICY_PASSPHRASE_REQUIRED Handle = 0x8031006B + FVE_E_FIPS_PREVENTS_PASSPHRASE Handle = 0x8031006C + FVE_E_OS_VOLUME_PASSPHRASE_NOT_ALLOWED Handle = 0x8031006D + FVE_E_INVALID_BITLOCKER_OID Handle = 0x8031006E + FVE_E_VOLUME_TOO_SMALL Handle = 0x8031006F + FVE_E_DV_NOT_SUPPORTED_ON_FS Handle = 0x80310070 + FVE_E_DV_NOT_ALLOWED_BY_GP Handle = 0x80310071 + FVE_E_POLICY_USER_CERTIFICATE_NOT_ALLOWED Handle = 0x80310072 + FVE_E_POLICY_USER_CERTIFICATE_REQUIRED Handle = 0x80310073 + FVE_E_POLICY_USER_CERT_MUST_BE_HW Handle = 0x80310074 + FVE_E_POLICY_USER_CONFIGURE_FDV_AUTOUNLOCK_NOT_ALLOWED Handle = 0x80310075 + FVE_E_POLICY_USER_CONFIGURE_RDV_AUTOUNLOCK_NOT_ALLOWED Handle = 0x80310076 + FVE_E_POLICY_USER_CONFIGURE_RDV_NOT_ALLOWED Handle = 0x80310077 + FVE_E_POLICY_USER_ENABLE_RDV_NOT_ALLOWED Handle = 0x80310078 + FVE_E_POLICY_USER_DISABLE_RDV_NOT_ALLOWED Handle = 0x80310079 + FVE_E_POLICY_INVALID_PASSPHRASE_LENGTH Handle = 0x80310080 + FVE_E_POLICY_PASSPHRASE_TOO_SIMPLE Handle = 0x80310081 + FVE_E_RECOVERY_PARTITION Handle = 0x80310082 + FVE_E_POLICY_CONFLICT_FDV_RK_OFF_AUK_ON Handle = 0x80310083 + FVE_E_POLICY_CONFLICT_RDV_RK_OFF_AUK_ON Handle = 0x80310084 + FVE_E_NON_BITLOCKER_OID Handle = 0x80310085 + FVE_E_POLICY_PROHIBITS_SELFSIGNED Handle = 0x80310086 + FVE_E_POLICY_CONFLICT_RO_AND_STARTUP_KEY_REQUIRED Handle = 0x80310087 + FVE_E_CONV_RECOVERY_FAILED Handle = 0x80310088 + FVE_E_VIRTUALIZED_SPACE_TOO_BIG Handle = 0x80310089 + FVE_E_POLICY_CONFLICT_OSV_RP_OFF_ADB_ON Handle = 0x80310090 + FVE_E_POLICY_CONFLICT_FDV_RP_OFF_ADB_ON Handle = 0x80310091 + FVE_E_POLICY_CONFLICT_RDV_RP_OFF_ADB_ON Handle = 0x80310092 + FVE_E_NON_BITLOCKER_KU Handle = 0x80310093 + FVE_E_PRIVATEKEY_AUTH_FAILED Handle = 0x80310094 + FVE_E_REMOVAL_OF_DRA_FAILED Handle = 0x80310095 + FVE_E_OPERATION_NOT_SUPPORTED_ON_VISTA_VOLUME Handle = 0x80310096 + FVE_E_CANT_LOCK_AUTOUNLOCK_ENABLED_VOLUME Handle = 0x80310097 + FVE_E_FIPS_HASH_KDF_NOT_ALLOWED Handle = 0x80310098 + FVE_E_ENH_PIN_INVALID Handle = 0x80310099 + FVE_E_INVALID_PIN_CHARS Handle = 0x8031009A + FVE_E_INVALID_DATUM_TYPE Handle = 0x8031009B + FVE_E_EFI_ONLY Handle = 0x8031009C + FVE_E_MULTIPLE_NKP_CERTS Handle = 0x8031009D + FVE_E_REMOVAL_OF_NKP_FAILED Handle = 0x8031009E + FVE_E_INVALID_NKP_CERT Handle = 0x8031009F + FVE_E_NO_EXISTING_PIN Handle = 0x803100A0 + FVE_E_PROTECTOR_CHANGE_PIN_MISMATCH Handle = 0x803100A1 + FVE_E_PIN_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED Handle = 0x803100A2 + FVE_E_PROTECTOR_CHANGE_MAX_PIN_CHANGE_ATTEMPTS_REACHED Handle = 0x803100A3 + FVE_E_POLICY_PASSPHRASE_REQUIRES_ASCII Handle = 0x803100A4 + FVE_E_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE Handle = 0x803100A5 + FVE_E_WIPE_NOT_ALLOWED_ON_TP_STORAGE Handle = 0x803100A6 + FVE_E_KEY_LENGTH_NOT_SUPPORTED_BY_EDRIVE Handle = 0x803100A7 + FVE_E_NO_EXISTING_PASSPHRASE Handle = 0x803100A8 + FVE_E_PROTECTOR_CHANGE_PASSPHRASE_MISMATCH Handle = 0x803100A9 + FVE_E_PASSPHRASE_TOO_LONG Handle = 0x803100AA + FVE_E_NO_PASSPHRASE_WITH_TPM Handle = 0x803100AB + FVE_E_NO_TPM_WITH_PASSPHRASE Handle = 0x803100AC + FVE_E_NOT_ALLOWED_ON_CSV_STACK Handle = 0x803100AD + FVE_E_NOT_ALLOWED_ON_CLUSTER Handle = 0x803100AE + FVE_E_EDRIVE_NO_FAILOVER_TO_SW Handle = 0x803100AF + FVE_E_EDRIVE_BAND_IN_USE Handle = 0x803100B0 + FVE_E_EDRIVE_DISALLOWED_BY_GP Handle = 0x803100B1 + FVE_E_EDRIVE_INCOMPATIBLE_VOLUME Handle = 0x803100B2 + FVE_E_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING Handle = 0x803100B3 + FVE_E_EDRIVE_DV_NOT_SUPPORTED Handle = 0x803100B4 + FVE_E_NO_PREBOOT_KEYBOARD_DETECTED Handle = 0x803100B5 + FVE_E_NO_PREBOOT_KEYBOARD_OR_WINRE_DETECTED Handle = 0x803100B6 + FVE_E_POLICY_REQUIRES_STARTUP_PIN_ON_TOUCH_DEVICE Handle = 0x803100B7 + FVE_E_POLICY_REQUIRES_RECOVERY_PASSWORD_ON_TOUCH_DEVICE Handle = 0x803100B8 + FVE_E_WIPE_CANCEL_NOT_APPLICABLE Handle = 0x803100B9 + FVE_E_SECUREBOOT_DISABLED Handle = 0x803100BA + FVE_E_SECUREBOOT_CONFIGURATION_INVALID Handle = 0x803100BB + FVE_E_EDRIVE_DRY_RUN_FAILED Handle = 0x803100BC + FVE_E_SHADOW_COPY_PRESENT Handle = 0x803100BD + FVE_E_POLICY_INVALID_ENHANCED_BCD_SETTINGS Handle = 0x803100BE + FVE_E_EDRIVE_INCOMPATIBLE_FIRMWARE Handle = 0x803100BF + FVE_E_PROTECTOR_CHANGE_MAX_PASSPHRASE_CHANGE_ATTEMPTS_REACHED Handle = 0x803100C0 + FVE_E_PASSPHRASE_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED Handle = 0x803100C1 + FVE_E_LIVEID_ACCOUNT_SUSPENDED Handle = 0x803100C2 + FVE_E_LIVEID_ACCOUNT_BLOCKED Handle = 0x803100C3 + FVE_E_NOT_PROVISIONED_ON_ALL_VOLUMES Handle = 0x803100C4 + FVE_E_DE_FIXED_DATA_NOT_SUPPORTED Handle = 0x803100C5 + FVE_E_DE_HARDWARE_NOT_COMPLIANT Handle = 0x803100C6 + FVE_E_DE_WINRE_NOT_CONFIGURED Handle = 0x803100C7 + FVE_E_DE_PROTECTION_SUSPENDED Handle = 0x803100C8 + FVE_E_DE_OS_VOLUME_NOT_PROTECTED Handle = 0x803100C9 + FVE_E_DE_DEVICE_LOCKEDOUT Handle = 0x803100CA + FVE_E_DE_PROTECTION_NOT_YET_ENABLED Handle = 0x803100CB + FVE_E_INVALID_PIN_CHARS_DETAILED Handle = 0x803100CC + FVE_E_DEVICE_LOCKOUT_COUNTER_UNAVAILABLE Handle = 0x803100CD + FVE_E_DEVICELOCKOUT_COUNTER_MISMATCH Handle = 0x803100CE + FVE_E_BUFFER_TOO_LARGE Handle = 0x803100CF + FVE_E_NO_SUCH_CAPABILITY_ON_TARGET Handle = 0x803100D0 + FVE_E_DE_PREVENTED_FOR_OS Handle = 0x803100D1 + FVE_E_DE_VOLUME_OPTED_OUT Handle = 0x803100D2 + FVE_E_DE_VOLUME_NOT_SUPPORTED Handle = 0x803100D3 + FVE_E_EOW_NOT_SUPPORTED_IN_VERSION Handle = 0x803100D4 + FVE_E_ADBACKUP_NOT_ENABLED Handle = 0x803100D5 + FVE_E_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT Handle = 0x803100D6 + FVE_E_NOT_DE_VOLUME Handle = 0x803100D7 + FVE_E_PROTECTION_CANNOT_BE_DISABLED Handle = 0x803100D8 + FVE_E_OSV_KSR_NOT_ALLOWED Handle = 0x803100D9 + FWP_E_CALLOUT_NOT_FOUND Handle = 0x80320001 + FWP_E_CONDITION_NOT_FOUND Handle = 0x80320002 + FWP_E_FILTER_NOT_FOUND Handle = 0x80320003 + FWP_E_LAYER_NOT_FOUND Handle = 0x80320004 + FWP_E_PROVIDER_NOT_FOUND Handle = 0x80320005 + FWP_E_PROVIDER_CONTEXT_NOT_FOUND Handle = 0x80320006 + FWP_E_SUBLAYER_NOT_FOUND Handle = 0x80320007 + FWP_E_NOT_FOUND Handle = 0x80320008 + FWP_E_ALREADY_EXISTS Handle = 0x80320009 + FWP_E_IN_USE Handle = 0x8032000A + FWP_E_DYNAMIC_SESSION_IN_PROGRESS Handle = 0x8032000B + FWP_E_WRONG_SESSION Handle = 0x8032000C + FWP_E_NO_TXN_IN_PROGRESS Handle = 0x8032000D + FWP_E_TXN_IN_PROGRESS Handle = 0x8032000E + FWP_E_TXN_ABORTED Handle = 0x8032000F + FWP_E_SESSION_ABORTED Handle = 0x80320010 + FWP_E_INCOMPATIBLE_TXN Handle = 0x80320011 + FWP_E_TIMEOUT Handle = 0x80320012 + FWP_E_NET_EVENTS_DISABLED Handle = 0x80320013 + FWP_E_INCOMPATIBLE_LAYER Handle = 0x80320014 + FWP_E_KM_CLIENTS_ONLY Handle = 0x80320015 + FWP_E_LIFETIME_MISMATCH Handle = 0x80320016 + FWP_E_BUILTIN_OBJECT Handle = 0x80320017 + FWP_E_TOO_MANY_CALLOUTS Handle = 0x80320018 + FWP_E_NOTIFICATION_DROPPED Handle = 0x80320019 + FWP_E_TRAFFIC_MISMATCH Handle = 0x8032001A + FWP_E_INCOMPATIBLE_SA_STATE Handle = 0x8032001B + FWP_E_NULL_POINTER Handle = 0x8032001C + FWP_E_INVALID_ENUMERATOR Handle = 0x8032001D + FWP_E_INVALID_FLAGS Handle = 0x8032001E + FWP_E_INVALID_NET_MASK Handle = 0x8032001F + FWP_E_INVALID_RANGE Handle = 0x80320020 + FWP_E_INVALID_INTERVAL Handle = 0x80320021 + FWP_E_ZERO_LENGTH_ARRAY Handle = 0x80320022 + FWP_E_NULL_DISPLAY_NAME Handle = 0x80320023 + FWP_E_INVALID_ACTION_TYPE Handle = 0x80320024 + FWP_E_INVALID_WEIGHT Handle = 0x80320025 + FWP_E_MATCH_TYPE_MISMATCH Handle = 0x80320026 + FWP_E_TYPE_MISMATCH Handle = 0x80320027 + FWP_E_OUT_OF_BOUNDS Handle = 0x80320028 + FWP_E_RESERVED Handle = 0x80320029 + FWP_E_DUPLICATE_CONDITION Handle = 0x8032002A + FWP_E_DUPLICATE_KEYMOD Handle = 0x8032002B + FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER Handle = 0x8032002C + FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER Handle = 0x8032002D + FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER Handle = 0x8032002E + FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT Handle = 0x8032002F + FWP_E_INCOMPATIBLE_AUTH_METHOD Handle = 0x80320030 + FWP_E_INCOMPATIBLE_DH_GROUP Handle = 0x80320031 + FWP_E_EM_NOT_SUPPORTED Handle = 0x80320032 + FWP_E_NEVER_MATCH Handle = 0x80320033 + FWP_E_PROVIDER_CONTEXT_MISMATCH Handle = 0x80320034 + FWP_E_INVALID_PARAMETER Handle = 0x80320035 + FWP_E_TOO_MANY_SUBLAYERS Handle = 0x80320036 + FWP_E_CALLOUT_NOTIFICATION_FAILED Handle = 0x80320037 + FWP_E_INVALID_AUTH_TRANSFORM Handle = 0x80320038 + FWP_E_INVALID_CIPHER_TRANSFORM Handle = 0x80320039 + FWP_E_INCOMPATIBLE_CIPHER_TRANSFORM Handle = 0x8032003A + FWP_E_INVALID_TRANSFORM_COMBINATION Handle = 0x8032003B + FWP_E_DUPLICATE_AUTH_METHOD Handle = 0x8032003C + FWP_E_INVALID_TUNNEL_ENDPOINT Handle = 0x8032003D + FWP_E_L2_DRIVER_NOT_READY Handle = 0x8032003E + FWP_E_KEY_DICTATOR_ALREADY_REGISTERED Handle = 0x8032003F + FWP_E_KEY_DICTATION_INVALID_KEYING_MATERIAL Handle = 0x80320040 + FWP_E_CONNECTIONS_DISABLED Handle = 0x80320041 + FWP_E_INVALID_DNS_NAME Handle = 0x80320042 + FWP_E_STILL_ON Handle = 0x80320043 + FWP_E_IKEEXT_NOT_RUNNING Handle = 0x80320044 + FWP_E_DROP_NOICMP Handle = 0x80320104 + WS_S_ASYNC Handle = 0x003D0000 + WS_S_END Handle = 0x003D0001 + WS_E_INVALID_FORMAT Handle = 0x803D0000 + WS_E_OBJECT_FAULTED Handle = 0x803D0001 + WS_E_NUMERIC_OVERFLOW Handle = 0x803D0002 + WS_E_INVALID_OPERATION Handle = 0x803D0003 + WS_E_OPERATION_ABORTED Handle = 0x803D0004 + WS_E_ENDPOINT_ACCESS_DENIED Handle = 0x803D0005 + WS_E_OPERATION_TIMED_OUT Handle = 0x803D0006 + WS_E_OPERATION_ABANDONED Handle = 0x803D0007 + WS_E_QUOTA_EXCEEDED Handle = 0x803D0008 + WS_E_NO_TRANSLATION_AVAILABLE Handle = 0x803D0009 + WS_E_SECURITY_VERIFICATION_FAILURE Handle = 0x803D000A + WS_E_ADDRESS_IN_USE Handle = 0x803D000B + WS_E_ADDRESS_NOT_AVAILABLE Handle = 0x803D000C + WS_E_ENDPOINT_NOT_FOUND Handle = 0x803D000D + WS_E_ENDPOINT_NOT_AVAILABLE Handle = 0x803D000E + WS_E_ENDPOINT_FAILURE Handle = 0x803D000F + WS_E_ENDPOINT_UNREACHABLE Handle = 0x803D0010 + WS_E_ENDPOINT_ACTION_NOT_SUPPORTED Handle = 0x803D0011 + WS_E_ENDPOINT_TOO_BUSY Handle = 0x803D0012 + WS_E_ENDPOINT_FAULT_RECEIVED Handle = 0x803D0013 + WS_E_ENDPOINT_DISCONNECTED Handle = 0x803D0014 + WS_E_PROXY_FAILURE Handle = 0x803D0015 + WS_E_PROXY_ACCESS_DENIED Handle = 0x803D0016 + WS_E_NOT_SUPPORTED Handle = 0x803D0017 + WS_E_PROXY_REQUIRES_BASIC_AUTH Handle = 0x803D0018 + WS_E_PROXY_REQUIRES_DIGEST_AUTH Handle = 0x803D0019 + WS_E_PROXY_REQUIRES_NTLM_AUTH Handle = 0x803D001A + WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH Handle = 0x803D001B + WS_E_SERVER_REQUIRES_BASIC_AUTH Handle = 0x803D001C + WS_E_SERVER_REQUIRES_DIGEST_AUTH Handle = 0x803D001D + WS_E_SERVER_REQUIRES_NTLM_AUTH Handle = 0x803D001E + WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH Handle = 0x803D001F + WS_E_INVALID_ENDPOINT_URL Handle = 0x803D0020 + WS_E_OTHER Handle = 0x803D0021 + WS_E_SECURITY_TOKEN_EXPIRED Handle = 0x803D0022 + WS_E_SECURITY_SYSTEM_FAILURE Handle = 0x803D0023 + ERROR_NDIS_INTERFACE_CLOSING syscall.Errno = 0x80340002 + ERROR_NDIS_BAD_VERSION syscall.Errno = 0x80340004 + ERROR_NDIS_BAD_CHARACTERISTICS syscall.Errno = 0x80340005 + ERROR_NDIS_ADAPTER_NOT_FOUND syscall.Errno = 0x80340006 + ERROR_NDIS_OPEN_FAILED syscall.Errno = 0x80340007 + ERROR_NDIS_DEVICE_FAILED syscall.Errno = 0x80340008 + ERROR_NDIS_MULTICAST_FULL syscall.Errno = 0x80340009 + ERROR_NDIS_MULTICAST_EXISTS syscall.Errno = 0x8034000A + ERROR_NDIS_MULTICAST_NOT_FOUND syscall.Errno = 0x8034000B + ERROR_NDIS_REQUEST_ABORTED syscall.Errno = 0x8034000C + ERROR_NDIS_RESET_IN_PROGRESS syscall.Errno = 0x8034000D + ERROR_NDIS_NOT_SUPPORTED syscall.Errno = 0x803400BB + ERROR_NDIS_INVALID_PACKET syscall.Errno = 0x8034000F + ERROR_NDIS_ADAPTER_NOT_READY syscall.Errno = 0x80340011 + ERROR_NDIS_INVALID_LENGTH syscall.Errno = 0x80340014 + ERROR_NDIS_INVALID_DATA syscall.Errno = 0x80340015 + ERROR_NDIS_BUFFER_TOO_SHORT syscall.Errno = 0x80340016 + ERROR_NDIS_INVALID_OID syscall.Errno = 0x80340017 + ERROR_NDIS_ADAPTER_REMOVED syscall.Errno = 0x80340018 + ERROR_NDIS_UNSUPPORTED_MEDIA syscall.Errno = 0x80340019 + ERROR_NDIS_GROUP_ADDRESS_IN_USE syscall.Errno = 0x8034001A + ERROR_NDIS_FILE_NOT_FOUND syscall.Errno = 0x8034001B + ERROR_NDIS_ERROR_READING_FILE syscall.Errno = 0x8034001C + ERROR_NDIS_ALREADY_MAPPED syscall.Errno = 0x8034001D + ERROR_NDIS_RESOURCE_CONFLICT syscall.Errno = 0x8034001E + ERROR_NDIS_MEDIA_DISCONNECTED syscall.Errno = 0x8034001F + ERROR_NDIS_INVALID_ADDRESS syscall.Errno = 0x80340022 + ERROR_NDIS_INVALID_DEVICE_REQUEST syscall.Errno = 0x80340010 + ERROR_NDIS_PAUSED syscall.Errno = 0x8034002A + ERROR_NDIS_INTERFACE_NOT_FOUND syscall.Errno = 0x8034002B + ERROR_NDIS_UNSUPPORTED_REVISION syscall.Errno = 0x8034002C + ERROR_NDIS_INVALID_PORT syscall.Errno = 0x8034002D + ERROR_NDIS_INVALID_PORT_STATE syscall.Errno = 0x8034002E + ERROR_NDIS_LOW_POWER_STATE syscall.Errno = 0x8034002F + ERROR_NDIS_REINIT_REQUIRED syscall.Errno = 0x80340030 + ERROR_NDIS_NO_QUEUES syscall.Errno = 0x80340031 + ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED syscall.Errno = 0x80342000 + ERROR_NDIS_DOT11_MEDIA_IN_USE syscall.Errno = 0x80342001 + ERROR_NDIS_DOT11_POWER_STATE_INVALID syscall.Errno = 0x80342002 + ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL syscall.Errno = 0x80342003 + ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL syscall.Errno = 0x80342004 + ERROR_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE syscall.Errno = 0x80342005 + ERROR_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE syscall.Errno = 0x80342006 + ERROR_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED syscall.Errno = 0x80342007 + ERROR_NDIS_DOT11_AP_BAND_NOT_ALLOWED syscall.Errno = 0x80342008 + ERROR_NDIS_INDICATION_REQUIRED syscall.Errno = 0x00340001 + ERROR_NDIS_OFFLOAD_POLICY syscall.Errno = 0xC034100F + ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED syscall.Errno = 0xC0341012 + ERROR_NDIS_OFFLOAD_PATH_REJECTED syscall.Errno = 0xC0341013 + ERROR_HV_INVALID_HYPERCALL_CODE syscall.Errno = 0xC0350002 + ERROR_HV_INVALID_HYPERCALL_INPUT syscall.Errno = 0xC0350003 + ERROR_HV_INVALID_ALIGNMENT syscall.Errno = 0xC0350004 + ERROR_HV_INVALID_PARAMETER syscall.Errno = 0xC0350005 + ERROR_HV_ACCESS_DENIED syscall.Errno = 0xC0350006 + ERROR_HV_INVALID_PARTITION_STATE syscall.Errno = 0xC0350007 + ERROR_HV_OPERATION_DENIED syscall.Errno = 0xC0350008 + ERROR_HV_UNKNOWN_PROPERTY syscall.Errno = 0xC0350009 + ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE syscall.Errno = 0xC035000A + ERROR_HV_INSUFFICIENT_MEMORY syscall.Errno = 0xC035000B + ERROR_HV_PARTITION_TOO_DEEP syscall.Errno = 0xC035000C + ERROR_HV_INVALID_PARTITION_ID syscall.Errno = 0xC035000D + ERROR_HV_INVALID_VP_INDEX syscall.Errno = 0xC035000E + ERROR_HV_INVALID_PORT_ID syscall.Errno = 0xC0350011 + ERROR_HV_INVALID_CONNECTION_ID syscall.Errno = 0xC0350012 + ERROR_HV_INSUFFICIENT_BUFFERS syscall.Errno = 0xC0350013 + ERROR_HV_NOT_ACKNOWLEDGED syscall.Errno = 0xC0350014 + ERROR_HV_INVALID_VP_STATE syscall.Errno = 0xC0350015 + ERROR_HV_ACKNOWLEDGED syscall.Errno = 0xC0350016 + ERROR_HV_INVALID_SAVE_RESTORE_STATE syscall.Errno = 0xC0350017 + ERROR_HV_INVALID_SYNIC_STATE syscall.Errno = 0xC0350018 + ERROR_HV_OBJECT_IN_USE syscall.Errno = 0xC0350019 + ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO syscall.Errno = 0xC035001A + ERROR_HV_NO_DATA syscall.Errno = 0xC035001B + ERROR_HV_INACTIVE syscall.Errno = 0xC035001C + ERROR_HV_NO_RESOURCES syscall.Errno = 0xC035001D + ERROR_HV_FEATURE_UNAVAILABLE syscall.Errno = 0xC035001E + ERROR_HV_INSUFFICIENT_BUFFER syscall.Errno = 0xC0350033 + ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS syscall.Errno = 0xC0350038 + ERROR_HV_CPUID_FEATURE_VALIDATION syscall.Errno = 0xC035003C + ERROR_HV_CPUID_XSAVE_FEATURE_VALIDATION syscall.Errno = 0xC035003D + ERROR_HV_PROCESSOR_STARTUP_TIMEOUT syscall.Errno = 0xC035003E + ERROR_HV_SMX_ENABLED syscall.Errno = 0xC035003F + ERROR_HV_INVALID_LP_INDEX syscall.Errno = 0xC0350041 + ERROR_HV_INVALID_REGISTER_VALUE syscall.Errno = 0xC0350050 + ERROR_HV_INVALID_VTL_STATE syscall.Errno = 0xC0350051 + ERROR_HV_NX_NOT_DETECTED syscall.Errno = 0xC0350055 + ERROR_HV_INVALID_DEVICE_ID syscall.Errno = 0xC0350057 + ERROR_HV_INVALID_DEVICE_STATE syscall.Errno = 0xC0350058 + ERROR_HV_PENDING_PAGE_REQUESTS syscall.Errno = 0x00350059 + ERROR_HV_PAGE_REQUEST_INVALID syscall.Errno = 0xC0350060 + ERROR_HV_INVALID_CPU_GROUP_ID syscall.Errno = 0xC035006F + ERROR_HV_INVALID_CPU_GROUP_STATE syscall.Errno = 0xC0350070 + ERROR_HV_OPERATION_FAILED syscall.Errno = 0xC0350071 + ERROR_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE syscall.Errno = 0xC0350072 + ERROR_HV_INSUFFICIENT_ROOT_MEMORY syscall.Errno = 0xC0350073 + ERROR_HV_NOT_PRESENT syscall.Errno = 0xC0351000 + ERROR_VID_DUPLICATE_HANDLER syscall.Errno = 0xC0370001 + ERROR_VID_TOO_MANY_HANDLERS syscall.Errno = 0xC0370002 + ERROR_VID_QUEUE_FULL syscall.Errno = 0xC0370003 + ERROR_VID_HANDLER_NOT_PRESENT syscall.Errno = 0xC0370004 + ERROR_VID_INVALID_OBJECT_NAME syscall.Errno = 0xC0370005 + ERROR_VID_PARTITION_NAME_TOO_LONG syscall.Errno = 0xC0370006 + ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG syscall.Errno = 0xC0370007 + ERROR_VID_PARTITION_ALREADY_EXISTS syscall.Errno = 0xC0370008 + ERROR_VID_PARTITION_DOES_NOT_EXIST syscall.Errno = 0xC0370009 + ERROR_VID_PARTITION_NAME_NOT_FOUND syscall.Errno = 0xC037000A + ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS syscall.Errno = 0xC037000B + ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT syscall.Errno = 0xC037000C + ERROR_VID_MB_STILL_REFERENCED syscall.Errno = 0xC037000D + ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED syscall.Errno = 0xC037000E + ERROR_VID_INVALID_NUMA_SETTINGS syscall.Errno = 0xC037000F + ERROR_VID_INVALID_NUMA_NODE_INDEX syscall.Errno = 0xC0370010 + ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED syscall.Errno = 0xC0370011 + ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE syscall.Errno = 0xC0370012 + ERROR_VID_PAGE_RANGE_OVERFLOW syscall.Errno = 0xC0370013 + ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE syscall.Errno = 0xC0370014 + ERROR_VID_INVALID_GPA_RANGE_HANDLE syscall.Errno = 0xC0370015 + ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE syscall.Errno = 0xC0370016 + ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED syscall.Errno = 0xC0370017 + ERROR_VID_INVALID_PPM_HANDLE syscall.Errno = 0xC0370018 + ERROR_VID_MBPS_ARE_LOCKED syscall.Errno = 0xC0370019 + ERROR_VID_MESSAGE_QUEUE_CLOSED syscall.Errno = 0xC037001A + ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED syscall.Errno = 0xC037001B + ERROR_VID_STOP_PENDING syscall.Errno = 0xC037001C + ERROR_VID_INVALID_PROCESSOR_STATE syscall.Errno = 0xC037001D + ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT syscall.Errno = 0xC037001E + ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED syscall.Errno = 0xC037001F + ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET syscall.Errno = 0xC0370020 + ERROR_VID_MMIO_RANGE_DESTROYED syscall.Errno = 0xC0370021 + ERROR_VID_INVALID_CHILD_GPA_PAGE_SET syscall.Errno = 0xC0370022 + ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED syscall.Errno = 0xC0370023 + ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL syscall.Errno = 0xC0370024 + ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE syscall.Errno = 0xC0370025 + ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT syscall.Errno = 0xC0370026 + ERROR_VID_SAVED_STATE_CORRUPT syscall.Errno = 0xC0370027 + ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM syscall.Errno = 0xC0370028 + ERROR_VID_SAVED_STATE_INCOMPATIBLE syscall.Errno = 0xC0370029 + ERROR_VID_VTL_ACCESS_DENIED syscall.Errno = 0xC037002A + ERROR_VMCOMPUTE_TERMINATED_DURING_START syscall.Errno = 0xC0370100 + ERROR_VMCOMPUTE_IMAGE_MISMATCH syscall.Errno = 0xC0370101 + ERROR_VMCOMPUTE_HYPERV_NOT_INSTALLED syscall.Errno = 0xC0370102 + ERROR_VMCOMPUTE_OPERATION_PENDING syscall.Errno = 0xC0370103 + ERROR_VMCOMPUTE_TOO_MANY_NOTIFICATIONS syscall.Errno = 0xC0370104 + ERROR_VMCOMPUTE_INVALID_STATE syscall.Errno = 0xC0370105 + ERROR_VMCOMPUTE_UNEXPECTED_EXIT syscall.Errno = 0xC0370106 + ERROR_VMCOMPUTE_TERMINATED syscall.Errno = 0xC0370107 + ERROR_VMCOMPUTE_CONNECT_FAILED syscall.Errno = 0xC0370108 + ERROR_VMCOMPUTE_TIMEOUT syscall.Errno = 0xC0370109 + ERROR_VMCOMPUTE_CONNECTION_CLOSED syscall.Errno = 0xC037010A + ERROR_VMCOMPUTE_UNKNOWN_MESSAGE syscall.Errno = 0xC037010B + ERROR_VMCOMPUTE_UNSUPPORTED_PROTOCOL_VERSION syscall.Errno = 0xC037010C + ERROR_VMCOMPUTE_INVALID_JSON syscall.Errno = 0xC037010D + ERROR_VMCOMPUTE_SYSTEM_NOT_FOUND syscall.Errno = 0xC037010E + ERROR_VMCOMPUTE_SYSTEM_ALREADY_EXISTS syscall.Errno = 0xC037010F + ERROR_VMCOMPUTE_SYSTEM_ALREADY_STOPPED syscall.Errno = 0xC0370110 + ERROR_VMCOMPUTE_PROTOCOL_ERROR syscall.Errno = 0xC0370111 + ERROR_VMCOMPUTE_INVALID_LAYER syscall.Errno = 0xC0370112 + ERROR_VMCOMPUTE_WINDOWS_INSIDER_REQUIRED syscall.Errno = 0xC0370113 + HCS_E_TERMINATED_DURING_START Handle = 0x80370100 + HCS_E_IMAGE_MISMATCH Handle = 0x80370101 + HCS_E_HYPERV_NOT_INSTALLED Handle = 0x80370102 + HCS_E_INVALID_STATE Handle = 0x80370105 + HCS_E_UNEXPECTED_EXIT Handle = 0x80370106 + HCS_E_TERMINATED Handle = 0x80370107 + HCS_E_CONNECT_FAILED Handle = 0x80370108 + HCS_E_CONNECTION_TIMEOUT Handle = 0x80370109 + HCS_E_CONNECTION_CLOSED Handle = 0x8037010A + HCS_E_UNKNOWN_MESSAGE Handle = 0x8037010B + HCS_E_UNSUPPORTED_PROTOCOL_VERSION Handle = 0x8037010C + HCS_E_INVALID_JSON Handle = 0x8037010D + HCS_E_SYSTEM_NOT_FOUND Handle = 0x8037010E + HCS_E_SYSTEM_ALREADY_EXISTS Handle = 0x8037010F + HCS_E_SYSTEM_ALREADY_STOPPED Handle = 0x80370110 + HCS_E_PROTOCOL_ERROR Handle = 0x80370111 + HCS_E_INVALID_LAYER Handle = 0x80370112 + HCS_E_WINDOWS_INSIDER_REQUIRED Handle = 0x80370113 + HCS_E_SERVICE_NOT_AVAILABLE Handle = 0x80370114 + HCS_E_OPERATION_NOT_STARTED Handle = 0x80370115 + HCS_E_OPERATION_ALREADY_STARTED Handle = 0x80370116 + HCS_E_OPERATION_PENDING Handle = 0x80370117 + HCS_E_OPERATION_TIMEOUT Handle = 0x80370118 + HCS_E_OPERATION_SYSTEM_CALLBACK_ALREADY_SET Handle = 0x80370119 + HCS_E_OPERATION_RESULT_ALLOCATION_FAILED Handle = 0x8037011A + HCS_E_ACCESS_DENIED Handle = 0x8037011B + HCS_E_GUEST_CRITICAL_ERROR Handle = 0x8037011C + ERROR_VNET_VIRTUAL_SWITCH_NAME_NOT_FOUND syscall.Errno = 0xC0370200 + ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED syscall.Errno = 0x80370001 + WHV_E_UNKNOWN_CAPABILITY Handle = 0x80370300 + WHV_E_INSUFFICIENT_BUFFER Handle = 0x80370301 + WHV_E_UNKNOWN_PROPERTY Handle = 0x80370302 + WHV_E_UNSUPPORTED_HYPERVISOR_CONFIG Handle = 0x80370303 + WHV_E_INVALID_PARTITION_CONFIG Handle = 0x80370304 + WHV_E_GPA_RANGE_NOT_FOUND Handle = 0x80370305 + WHV_E_VP_ALREADY_EXISTS Handle = 0x80370306 + WHV_E_VP_DOES_NOT_EXIST Handle = 0x80370307 + WHV_E_INVALID_VP_STATE Handle = 0x80370308 + WHV_E_INVALID_VP_REGISTER_NAME Handle = 0x80370309 + ERROR_VSMB_SAVED_STATE_FILE_NOT_FOUND syscall.Errno = 0xC0370400 + ERROR_VSMB_SAVED_STATE_CORRUPT syscall.Errno = 0xC0370401 + ERROR_VOLMGR_INCOMPLETE_REGENERATION syscall.Errno = 0x80380001 + ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION syscall.Errno = 0x80380002 + ERROR_VOLMGR_DATABASE_FULL syscall.Errno = 0xC0380001 + ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED syscall.Errno = 0xC0380002 + ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC syscall.Errno = 0xC0380003 + ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED syscall.Errno = 0xC0380004 + ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME syscall.Errno = 0xC0380005 + ERROR_VOLMGR_DISK_DUPLICATE syscall.Errno = 0xC0380006 + ERROR_VOLMGR_DISK_DYNAMIC syscall.Errno = 0xC0380007 + ERROR_VOLMGR_DISK_ID_INVALID syscall.Errno = 0xC0380008 + ERROR_VOLMGR_DISK_INVALID syscall.Errno = 0xC0380009 + ERROR_VOLMGR_DISK_LAST_VOTER syscall.Errno = 0xC038000A + ERROR_VOLMGR_DISK_LAYOUT_INVALID syscall.Errno = 0xC038000B + ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS syscall.Errno = 0xC038000C + ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED syscall.Errno = 0xC038000D + ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL syscall.Errno = 0xC038000E + ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS syscall.Errno = 0xC038000F + ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS syscall.Errno = 0xC0380010 + ERROR_VOLMGR_DISK_MISSING syscall.Errno = 0xC0380011 + ERROR_VOLMGR_DISK_NOT_EMPTY syscall.Errno = 0xC0380012 + ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE syscall.Errno = 0xC0380013 + ERROR_VOLMGR_DISK_REVECTORING_FAILED syscall.Errno = 0xC0380014 + ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID syscall.Errno = 0xC0380015 + ERROR_VOLMGR_DISK_SET_NOT_CONTAINED syscall.Errno = 0xC0380016 + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS syscall.Errno = 0xC0380017 + ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES syscall.Errno = 0xC0380018 + ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED syscall.Errno = 0xC0380019 + ERROR_VOLMGR_EXTENT_ALREADY_USED syscall.Errno = 0xC038001A + ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS syscall.Errno = 0xC038001B + ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION syscall.Errno = 0xC038001C + ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED syscall.Errno = 0xC038001D + ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION syscall.Errno = 0xC038001E + ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH syscall.Errno = 0xC038001F + ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED syscall.Errno = 0xC0380020 + ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID syscall.Errno = 0xC0380021 + ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS syscall.Errno = 0xC0380022 + ERROR_VOLMGR_MEMBER_IN_SYNC syscall.Errno = 0xC0380023 + ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE syscall.Errno = 0xC0380024 + ERROR_VOLMGR_MEMBER_INDEX_INVALID syscall.Errno = 0xC0380025 + ERROR_VOLMGR_MEMBER_MISSING syscall.Errno = 0xC0380026 + ERROR_VOLMGR_MEMBER_NOT_DETACHED syscall.Errno = 0xC0380027 + ERROR_VOLMGR_MEMBER_REGENERATING syscall.Errno = 0xC0380028 + ERROR_VOLMGR_ALL_DISKS_FAILED syscall.Errno = 0xC0380029 + ERROR_VOLMGR_NO_REGISTERED_USERS syscall.Errno = 0xC038002A + ERROR_VOLMGR_NO_SUCH_USER syscall.Errno = 0xC038002B + ERROR_VOLMGR_NOTIFICATION_RESET syscall.Errno = 0xC038002C + ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID syscall.Errno = 0xC038002D + ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID syscall.Errno = 0xC038002E + ERROR_VOLMGR_PACK_DUPLICATE syscall.Errno = 0xC038002F + ERROR_VOLMGR_PACK_ID_INVALID syscall.Errno = 0xC0380030 + ERROR_VOLMGR_PACK_INVALID syscall.Errno = 0xC0380031 + ERROR_VOLMGR_PACK_NAME_INVALID syscall.Errno = 0xC0380032 + ERROR_VOLMGR_PACK_OFFLINE syscall.Errno = 0xC0380033 + ERROR_VOLMGR_PACK_HAS_QUORUM syscall.Errno = 0xC0380034 + ERROR_VOLMGR_PACK_WITHOUT_QUORUM syscall.Errno = 0xC0380035 + ERROR_VOLMGR_PARTITION_STYLE_INVALID syscall.Errno = 0xC0380036 + ERROR_VOLMGR_PARTITION_UPDATE_FAILED syscall.Errno = 0xC0380037 + ERROR_VOLMGR_PLEX_IN_SYNC syscall.Errno = 0xC0380038 + ERROR_VOLMGR_PLEX_INDEX_DUPLICATE syscall.Errno = 0xC0380039 + ERROR_VOLMGR_PLEX_INDEX_INVALID syscall.Errno = 0xC038003A + ERROR_VOLMGR_PLEX_LAST_ACTIVE syscall.Errno = 0xC038003B + ERROR_VOLMGR_PLEX_MISSING syscall.Errno = 0xC038003C + ERROR_VOLMGR_PLEX_REGENERATING syscall.Errno = 0xC038003D + ERROR_VOLMGR_PLEX_TYPE_INVALID syscall.Errno = 0xC038003E + ERROR_VOLMGR_PLEX_NOT_RAID5 syscall.Errno = 0xC038003F + ERROR_VOLMGR_PLEX_NOT_SIMPLE syscall.Errno = 0xC0380040 + ERROR_VOLMGR_STRUCTURE_SIZE_INVALID syscall.Errno = 0xC0380041 + ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS syscall.Errno = 0xC0380042 + ERROR_VOLMGR_TRANSACTION_IN_PROGRESS syscall.Errno = 0xC0380043 + ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE syscall.Errno = 0xC0380044 + ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK syscall.Errno = 0xC0380045 + ERROR_VOLMGR_VOLUME_ID_INVALID syscall.Errno = 0xC0380046 + ERROR_VOLMGR_VOLUME_LENGTH_INVALID syscall.Errno = 0xC0380047 + ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE syscall.Errno = 0xC0380048 + ERROR_VOLMGR_VOLUME_NOT_MIRRORED syscall.Errno = 0xC0380049 + ERROR_VOLMGR_VOLUME_NOT_RETAINED syscall.Errno = 0xC038004A + ERROR_VOLMGR_VOLUME_OFFLINE syscall.Errno = 0xC038004B + ERROR_VOLMGR_VOLUME_RETAINED syscall.Errno = 0xC038004C + ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID syscall.Errno = 0xC038004D + ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE syscall.Errno = 0xC038004E + ERROR_VOLMGR_BAD_BOOT_DISK syscall.Errno = 0xC038004F + ERROR_VOLMGR_PACK_CONFIG_OFFLINE syscall.Errno = 0xC0380050 + ERROR_VOLMGR_PACK_CONFIG_ONLINE syscall.Errno = 0xC0380051 + ERROR_VOLMGR_NOT_PRIMARY_PACK syscall.Errno = 0xC0380052 + ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED syscall.Errno = 0xC0380053 + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID syscall.Errno = 0xC0380054 + ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID syscall.Errno = 0xC0380055 + ERROR_VOLMGR_VOLUME_MIRRORED syscall.Errno = 0xC0380056 + ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED syscall.Errno = 0xC0380057 + ERROR_VOLMGR_NO_VALID_LOG_COPIES syscall.Errno = 0xC0380058 + ERROR_VOLMGR_PRIMARY_PACK_PRESENT syscall.Errno = 0xC0380059 + ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID syscall.Errno = 0xC038005A + ERROR_VOLMGR_MIRROR_NOT_SUPPORTED syscall.Errno = 0xC038005B + ERROR_VOLMGR_RAID5_NOT_SUPPORTED syscall.Errno = 0xC038005C + ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED syscall.Errno = 0x80390001 + ERROR_BCD_TOO_MANY_ELEMENTS syscall.Errno = 0xC0390002 + ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED syscall.Errno = 0x80390003 + ERROR_VHD_DRIVE_FOOTER_MISSING syscall.Errno = 0xC03A0001 + ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH syscall.Errno = 0xC03A0002 + ERROR_VHD_DRIVE_FOOTER_CORRUPT syscall.Errno = 0xC03A0003 + ERROR_VHD_FORMAT_UNKNOWN syscall.Errno = 0xC03A0004 + ERROR_VHD_FORMAT_UNSUPPORTED_VERSION syscall.Errno = 0xC03A0005 + ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH syscall.Errno = 0xC03A0006 + ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION syscall.Errno = 0xC03A0007 + ERROR_VHD_SPARSE_HEADER_CORRUPT syscall.Errno = 0xC03A0008 + ERROR_VHD_BLOCK_ALLOCATION_FAILURE syscall.Errno = 0xC03A0009 + ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT syscall.Errno = 0xC03A000A + ERROR_VHD_INVALID_BLOCK_SIZE syscall.Errno = 0xC03A000B + ERROR_VHD_BITMAP_MISMATCH syscall.Errno = 0xC03A000C + ERROR_VHD_PARENT_VHD_NOT_FOUND syscall.Errno = 0xC03A000D + ERROR_VHD_CHILD_PARENT_ID_MISMATCH syscall.Errno = 0xC03A000E + ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH syscall.Errno = 0xC03A000F + ERROR_VHD_METADATA_READ_FAILURE syscall.Errno = 0xC03A0010 + ERROR_VHD_METADATA_WRITE_FAILURE syscall.Errno = 0xC03A0011 + ERROR_VHD_INVALID_SIZE syscall.Errno = 0xC03A0012 + ERROR_VHD_INVALID_FILE_SIZE syscall.Errno = 0xC03A0013 + ERROR_VIRTDISK_PROVIDER_NOT_FOUND syscall.Errno = 0xC03A0014 + ERROR_VIRTDISK_NOT_VIRTUAL_DISK syscall.Errno = 0xC03A0015 + ERROR_VHD_PARENT_VHD_ACCESS_DENIED syscall.Errno = 0xC03A0016 + ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH syscall.Errno = 0xC03A0017 + ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED syscall.Errno = 0xC03A0018 + ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT syscall.Errno = 0xC03A0019 + ERROR_VIRTUAL_DISK_LIMITATION syscall.Errno = 0xC03A001A + ERROR_VHD_INVALID_TYPE syscall.Errno = 0xC03A001B + ERROR_VHD_INVALID_STATE syscall.Errno = 0xC03A001C + ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE syscall.Errno = 0xC03A001D + ERROR_VIRTDISK_DISK_ALREADY_OWNED syscall.Errno = 0xC03A001E + ERROR_VIRTDISK_DISK_ONLINE_AND_WRITABLE syscall.Errno = 0xC03A001F + ERROR_CTLOG_TRACKING_NOT_INITIALIZED syscall.Errno = 0xC03A0020 + ERROR_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE syscall.Errno = 0xC03A0021 + ERROR_CTLOG_VHD_CHANGED_OFFLINE syscall.Errno = 0xC03A0022 + ERROR_CTLOG_INVALID_TRACKING_STATE syscall.Errno = 0xC03A0023 + ERROR_CTLOG_INCONSISTENT_TRACKING_FILE syscall.Errno = 0xC03A0024 + ERROR_VHD_RESIZE_WOULD_TRUNCATE_DATA syscall.Errno = 0xC03A0025 + ERROR_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE syscall.Errno = 0xC03A0026 + ERROR_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE syscall.Errno = 0xC03A0027 + ERROR_VHD_METADATA_FULL syscall.Errno = 0xC03A0028 + ERROR_VHD_INVALID_CHANGE_TRACKING_ID syscall.Errno = 0xC03A0029 + ERROR_VHD_CHANGE_TRACKING_DISABLED syscall.Errno = 0xC03A002A + ERROR_VHD_MISSING_CHANGE_TRACKING_INFORMATION syscall.Errno = 0xC03A0030 + ERROR_QUERY_STORAGE_ERROR syscall.Errno = 0x803A0001 + HCN_E_NETWORK_NOT_FOUND Handle = 0x803B0001 + HCN_E_ENDPOINT_NOT_FOUND Handle = 0x803B0002 + HCN_E_LAYER_NOT_FOUND Handle = 0x803B0003 + HCN_E_SWITCH_NOT_FOUND Handle = 0x803B0004 + HCN_E_SUBNET_NOT_FOUND Handle = 0x803B0005 + HCN_E_ADAPTER_NOT_FOUND Handle = 0x803B0006 + HCN_E_PORT_NOT_FOUND Handle = 0x803B0007 + HCN_E_POLICY_NOT_FOUND Handle = 0x803B0008 + HCN_E_VFP_PORTSETTING_NOT_FOUND Handle = 0x803B0009 + HCN_E_INVALID_NETWORK Handle = 0x803B000A + HCN_E_INVALID_NETWORK_TYPE Handle = 0x803B000B + HCN_E_INVALID_ENDPOINT Handle = 0x803B000C + HCN_E_INVALID_POLICY Handle = 0x803B000D + HCN_E_INVALID_POLICY_TYPE Handle = 0x803B000E + HCN_E_INVALID_REMOTE_ENDPOINT_OPERATION Handle = 0x803B000F + HCN_E_NETWORK_ALREADY_EXISTS Handle = 0x803B0010 + HCN_E_LAYER_ALREADY_EXISTS Handle = 0x803B0011 + HCN_E_POLICY_ALREADY_EXISTS Handle = 0x803B0012 + HCN_E_PORT_ALREADY_EXISTS Handle = 0x803B0013 + HCN_E_ENDPOINT_ALREADY_ATTACHED Handle = 0x803B0014 + HCN_E_REQUEST_UNSUPPORTED Handle = 0x803B0015 + HCN_E_MAPPING_NOT_SUPPORTED Handle = 0x803B0016 + HCN_E_DEGRADED_OPERATION Handle = 0x803B0017 + HCN_E_SHARED_SWITCH_MODIFICATION Handle = 0x803B0018 + HCN_E_GUID_CONVERSION_FAILURE Handle = 0x803B0019 + HCN_E_REGKEY_FAILURE Handle = 0x803B001A + HCN_E_INVALID_JSON Handle = 0x803B001B + HCN_E_INVALID_JSON_REFERENCE Handle = 0x803B001C + HCN_E_ENDPOINT_SHARING_DISABLED Handle = 0x803B001D + HCN_E_INVALID_IP Handle = 0x803B001E + HCN_E_SWITCH_EXTENSION_NOT_FOUND Handle = 0x803B001F + HCN_E_MANAGER_STOPPED Handle = 0x803B0020 + GCN_E_MODULE_NOT_FOUND Handle = 0x803B0021 + GCN_E_NO_REQUEST_HANDLERS Handle = 0x803B0022 + GCN_E_REQUEST_UNSUPPORTED Handle = 0x803B0023 + GCN_E_RUNTIMEKEYS_FAILED Handle = 0x803B0024 + GCN_E_NETADAPTER_TIMEOUT Handle = 0x803B0025 + GCN_E_NETADAPTER_NOT_FOUND Handle = 0x803B0026 + GCN_E_NETCOMPARTMENT_NOT_FOUND Handle = 0x803B0027 + GCN_E_NETINTERFACE_NOT_FOUND Handle = 0x803B0028 + GCN_E_DEFAULTNAMESPACE_EXISTS Handle = 0x803B0029 + SDIAG_E_CANCELLED syscall.Errno = 0x803C0100 + SDIAG_E_SCRIPT syscall.Errno = 0x803C0101 + SDIAG_E_POWERSHELL syscall.Errno = 0x803C0102 + SDIAG_E_MANAGEDHOST syscall.Errno = 0x803C0103 + SDIAG_E_NOVERIFIER syscall.Errno = 0x803C0104 + SDIAG_S_CANNOTRUN syscall.Errno = 0x003C0105 + SDIAG_E_DISABLED syscall.Errno = 0x803C0106 + SDIAG_E_TRUST syscall.Errno = 0x803C0107 + SDIAG_E_CANNOTRUN syscall.Errno = 0x803C0108 + SDIAG_E_VERSION syscall.Errno = 0x803C0109 + SDIAG_E_RESOURCE syscall.Errno = 0x803C010A + SDIAG_E_ROOTCAUSE syscall.Errno = 0x803C010B + WPN_E_CHANNEL_CLOSED Handle = 0x803E0100 + WPN_E_CHANNEL_REQUEST_NOT_COMPLETE Handle = 0x803E0101 + WPN_E_INVALID_APP Handle = 0x803E0102 + WPN_E_OUTSTANDING_CHANNEL_REQUEST Handle = 0x803E0103 + WPN_E_DUPLICATE_CHANNEL Handle = 0x803E0104 + WPN_E_PLATFORM_UNAVAILABLE Handle = 0x803E0105 + WPN_E_NOTIFICATION_POSTED Handle = 0x803E0106 + WPN_E_NOTIFICATION_HIDDEN Handle = 0x803E0107 + WPN_E_NOTIFICATION_NOT_POSTED Handle = 0x803E0108 + WPN_E_CLOUD_DISABLED Handle = 0x803E0109 + WPN_E_CLOUD_INCAPABLE Handle = 0x803E0110 + WPN_E_CLOUD_AUTH_UNAVAILABLE Handle = 0x803E011A + WPN_E_CLOUD_SERVICE_UNAVAILABLE Handle = 0x803E011B + WPN_E_FAILED_LOCK_SCREEN_UPDATE_INTIALIZATION Handle = 0x803E011C + WPN_E_NOTIFICATION_DISABLED Handle = 0x803E0111 + WPN_E_NOTIFICATION_INCAPABLE Handle = 0x803E0112 + WPN_E_INTERNET_INCAPABLE Handle = 0x803E0113 + WPN_E_NOTIFICATION_TYPE_DISABLED Handle = 0x803E0114 + WPN_E_NOTIFICATION_SIZE Handle = 0x803E0115 + WPN_E_TAG_SIZE Handle = 0x803E0116 + WPN_E_ACCESS_DENIED Handle = 0x803E0117 + WPN_E_DUPLICATE_REGISTRATION Handle = 0x803E0118 + WPN_E_PUSH_NOTIFICATION_INCAPABLE Handle = 0x803E0119 + WPN_E_DEV_ID_SIZE Handle = 0x803E0120 + WPN_E_TAG_ALPHANUMERIC Handle = 0x803E012A + WPN_E_INVALID_HTTP_STATUS_CODE Handle = 0x803E012B + WPN_E_OUT_OF_SESSION Handle = 0x803E0200 + WPN_E_POWER_SAVE Handle = 0x803E0201 + WPN_E_IMAGE_NOT_FOUND_IN_CACHE Handle = 0x803E0202 + WPN_E_ALL_URL_NOT_COMPLETED Handle = 0x803E0203 + WPN_E_INVALID_CLOUD_IMAGE Handle = 0x803E0204 + WPN_E_NOTIFICATION_ID_MATCHED Handle = 0x803E0205 + WPN_E_CALLBACK_ALREADY_REGISTERED Handle = 0x803E0206 + WPN_E_TOAST_NOTIFICATION_DROPPED Handle = 0x803E0207 + WPN_E_STORAGE_LOCKED Handle = 0x803E0208 + WPN_E_GROUP_SIZE Handle = 0x803E0209 + WPN_E_GROUP_ALPHANUMERIC Handle = 0x803E020A + WPN_E_CLOUD_DISABLED_FOR_APP Handle = 0x803E020B + E_MBN_CONTEXT_NOT_ACTIVATED Handle = 0x80548201 + E_MBN_BAD_SIM Handle = 0x80548202 + E_MBN_DATA_CLASS_NOT_AVAILABLE Handle = 0x80548203 + E_MBN_INVALID_ACCESS_STRING Handle = 0x80548204 + E_MBN_MAX_ACTIVATED_CONTEXTS Handle = 0x80548205 + E_MBN_PACKET_SVC_DETACHED Handle = 0x80548206 + E_MBN_PROVIDER_NOT_VISIBLE Handle = 0x80548207 + E_MBN_RADIO_POWER_OFF Handle = 0x80548208 + E_MBN_SERVICE_NOT_ACTIVATED Handle = 0x80548209 + E_MBN_SIM_NOT_INSERTED Handle = 0x8054820A + E_MBN_VOICE_CALL_IN_PROGRESS Handle = 0x8054820B + E_MBN_INVALID_CACHE Handle = 0x8054820C + E_MBN_NOT_REGISTERED Handle = 0x8054820D + E_MBN_PROVIDERS_NOT_FOUND Handle = 0x8054820E + E_MBN_PIN_NOT_SUPPORTED Handle = 0x8054820F + E_MBN_PIN_REQUIRED Handle = 0x80548210 + E_MBN_PIN_DISABLED Handle = 0x80548211 + E_MBN_FAILURE Handle = 0x80548212 + E_MBN_INVALID_PROFILE Handle = 0x80548218 + E_MBN_DEFAULT_PROFILE_EXIST Handle = 0x80548219 + E_MBN_SMS_ENCODING_NOT_SUPPORTED Handle = 0x80548220 + E_MBN_SMS_FILTER_NOT_SUPPORTED Handle = 0x80548221 + E_MBN_SMS_INVALID_MEMORY_INDEX Handle = 0x80548222 + E_MBN_SMS_LANG_NOT_SUPPORTED Handle = 0x80548223 + E_MBN_SMS_MEMORY_FAILURE Handle = 0x80548224 + E_MBN_SMS_NETWORK_TIMEOUT Handle = 0x80548225 + E_MBN_SMS_UNKNOWN_SMSC_ADDRESS Handle = 0x80548226 + E_MBN_SMS_FORMAT_NOT_SUPPORTED Handle = 0x80548227 + E_MBN_SMS_OPERATION_NOT_ALLOWED Handle = 0x80548228 + E_MBN_SMS_MEMORY_FULL Handle = 0x80548229 + PEER_E_IPV6_NOT_INSTALLED Handle = 0x80630001 + PEER_E_NOT_INITIALIZED Handle = 0x80630002 + PEER_E_CANNOT_START_SERVICE Handle = 0x80630003 + PEER_E_NOT_LICENSED Handle = 0x80630004 + PEER_E_INVALID_GRAPH Handle = 0x80630010 + PEER_E_DBNAME_CHANGED Handle = 0x80630011 + PEER_E_DUPLICATE_GRAPH Handle = 0x80630012 + PEER_E_GRAPH_NOT_READY Handle = 0x80630013 + PEER_E_GRAPH_SHUTTING_DOWN Handle = 0x80630014 + PEER_E_GRAPH_IN_USE Handle = 0x80630015 + PEER_E_INVALID_DATABASE Handle = 0x80630016 + PEER_E_TOO_MANY_ATTRIBUTES Handle = 0x80630017 + PEER_E_CONNECTION_NOT_FOUND Handle = 0x80630103 + PEER_E_CONNECT_SELF Handle = 0x80630106 + PEER_E_ALREADY_LISTENING Handle = 0x80630107 + PEER_E_NODE_NOT_FOUND Handle = 0x80630108 + PEER_E_CONNECTION_FAILED Handle = 0x80630109 + PEER_E_CONNECTION_NOT_AUTHENTICATED Handle = 0x8063010A + PEER_E_CONNECTION_REFUSED Handle = 0x8063010B + PEER_E_CLASSIFIER_TOO_LONG Handle = 0x80630201 + PEER_E_TOO_MANY_IDENTITIES Handle = 0x80630202 + PEER_E_NO_KEY_ACCESS Handle = 0x80630203 + PEER_E_GROUPS_EXIST Handle = 0x80630204 + PEER_E_RECORD_NOT_FOUND Handle = 0x80630301 + PEER_E_DATABASE_ACCESSDENIED Handle = 0x80630302 + PEER_E_DBINITIALIZATION_FAILED Handle = 0x80630303 + PEER_E_MAX_RECORD_SIZE_EXCEEDED Handle = 0x80630304 + PEER_E_DATABASE_ALREADY_PRESENT Handle = 0x80630305 + PEER_E_DATABASE_NOT_PRESENT Handle = 0x80630306 + PEER_E_IDENTITY_NOT_FOUND Handle = 0x80630401 + PEER_E_EVENT_HANDLE_NOT_FOUND Handle = 0x80630501 + PEER_E_INVALID_SEARCH Handle = 0x80630601 + PEER_E_INVALID_ATTRIBUTES Handle = 0x80630602 + PEER_E_INVITATION_NOT_TRUSTED Handle = 0x80630701 + PEER_E_CHAIN_TOO_LONG Handle = 0x80630703 + PEER_E_INVALID_TIME_PERIOD Handle = 0x80630705 + PEER_E_CIRCULAR_CHAIN_DETECTED Handle = 0x80630706 + PEER_E_CERT_STORE_CORRUPTED Handle = 0x80630801 + PEER_E_NO_CLOUD Handle = 0x80631001 + PEER_E_CLOUD_NAME_AMBIGUOUS Handle = 0x80631005 + PEER_E_INVALID_RECORD Handle = 0x80632010 + PEER_E_NOT_AUTHORIZED Handle = 0x80632020 + PEER_E_PASSWORD_DOES_NOT_MEET_POLICY Handle = 0x80632021 + PEER_E_DEFERRED_VALIDATION Handle = 0x80632030 + PEER_E_INVALID_GROUP_PROPERTIES Handle = 0x80632040 + PEER_E_INVALID_PEER_NAME Handle = 0x80632050 + PEER_E_INVALID_CLASSIFIER Handle = 0x80632060 + PEER_E_INVALID_FRIENDLY_NAME Handle = 0x80632070 + PEER_E_INVALID_ROLE_PROPERTY Handle = 0x80632071 + PEER_E_INVALID_CLASSIFIER_PROPERTY Handle = 0x80632072 + PEER_E_INVALID_RECORD_EXPIRATION Handle = 0x80632080 + PEER_E_INVALID_CREDENTIAL_INFO Handle = 0x80632081 + PEER_E_INVALID_CREDENTIAL Handle = 0x80632082 + PEER_E_INVALID_RECORD_SIZE Handle = 0x80632083 + PEER_E_UNSUPPORTED_VERSION Handle = 0x80632090 + PEER_E_GROUP_NOT_READY Handle = 0x80632091 + PEER_E_GROUP_IN_USE Handle = 0x80632092 + PEER_E_INVALID_GROUP Handle = 0x80632093 + PEER_E_NO_MEMBERS_FOUND Handle = 0x80632094 + PEER_E_NO_MEMBER_CONNECTIONS Handle = 0x80632095 + PEER_E_UNABLE_TO_LISTEN Handle = 0x80632096 + PEER_E_IDENTITY_DELETED Handle = 0x806320A0 + PEER_E_SERVICE_NOT_AVAILABLE Handle = 0x806320A1 + PEER_E_CONTACT_NOT_FOUND Handle = 0x80636001 + PEER_S_GRAPH_DATA_CREATED Handle = 0x00630001 + PEER_S_NO_EVENT_DATA Handle = 0x00630002 + PEER_S_ALREADY_CONNECTED Handle = 0x00632000 + PEER_S_SUBSCRIPTION_EXISTS Handle = 0x00636000 + PEER_S_NO_CONNECTIVITY Handle = 0x00630005 + PEER_S_ALREADY_A_MEMBER Handle = 0x00630006 + PEER_E_CANNOT_CONVERT_PEER_NAME Handle = 0x80634001 + PEER_E_INVALID_PEER_HOST_NAME Handle = 0x80634002 + PEER_E_NO_MORE Handle = 0x80634003 + PEER_E_PNRP_DUPLICATE_PEER_NAME Handle = 0x80634005 + PEER_E_INVITE_CANCELLED Handle = 0x80637000 + PEER_E_INVITE_RESPONSE_NOT_AVAILABLE Handle = 0x80637001 + PEER_E_NOT_SIGNED_IN Handle = 0x80637003 + PEER_E_PRIVACY_DECLINED Handle = 0x80637004 + PEER_E_TIMEOUT Handle = 0x80637005 + PEER_E_INVALID_ADDRESS Handle = 0x80637007 + PEER_E_FW_EXCEPTION_DISABLED Handle = 0x80637008 + PEER_E_FW_BLOCKED_BY_POLICY Handle = 0x80637009 + PEER_E_FW_BLOCKED_BY_SHIELDS_UP Handle = 0x8063700A + PEER_E_FW_DECLINED Handle = 0x8063700B + UI_E_CREATE_FAILED Handle = 0x802A0001 + UI_E_SHUTDOWN_CALLED Handle = 0x802A0002 + UI_E_ILLEGAL_REENTRANCY Handle = 0x802A0003 + UI_E_OBJECT_SEALED Handle = 0x802A0004 + UI_E_VALUE_NOT_SET Handle = 0x802A0005 + UI_E_VALUE_NOT_DETERMINED Handle = 0x802A0006 + UI_E_INVALID_OUTPUT Handle = 0x802A0007 + UI_E_BOOLEAN_EXPECTED Handle = 0x802A0008 + UI_E_DIFFERENT_OWNER Handle = 0x802A0009 + UI_E_AMBIGUOUS_MATCH Handle = 0x802A000A + UI_E_FP_OVERFLOW Handle = 0x802A000B + UI_E_WRONG_THREAD Handle = 0x802A000C + UI_E_STORYBOARD_ACTIVE Handle = 0x802A0101 + UI_E_STORYBOARD_NOT_PLAYING Handle = 0x802A0102 + UI_E_START_KEYFRAME_AFTER_END Handle = 0x802A0103 + UI_E_END_KEYFRAME_NOT_DETERMINED Handle = 0x802A0104 + UI_E_LOOPS_OVERLAP Handle = 0x802A0105 + UI_E_TRANSITION_ALREADY_USED Handle = 0x802A0106 + UI_E_TRANSITION_NOT_IN_STORYBOARD Handle = 0x802A0107 + UI_E_TRANSITION_ECLIPSED Handle = 0x802A0108 + UI_E_TIME_BEFORE_LAST_UPDATE Handle = 0x802A0109 + UI_E_TIMER_CLIENT_ALREADY_CONNECTED Handle = 0x802A010A + UI_E_INVALID_DIMENSION Handle = 0x802A010B + UI_E_PRIMITIVE_OUT_OF_BOUNDS Handle = 0x802A010C + UI_E_WINDOW_CLOSED Handle = 0x802A0201 + E_BLUETOOTH_ATT_INVALID_HANDLE Handle = 0x80650001 + E_BLUETOOTH_ATT_READ_NOT_PERMITTED Handle = 0x80650002 + E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED Handle = 0x80650003 + E_BLUETOOTH_ATT_INVALID_PDU Handle = 0x80650004 + E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION Handle = 0x80650005 + E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED Handle = 0x80650006 + E_BLUETOOTH_ATT_INVALID_OFFSET Handle = 0x80650007 + E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION Handle = 0x80650008 + E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL Handle = 0x80650009 + E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND Handle = 0x8065000A + E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG Handle = 0x8065000B + E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE Handle = 0x8065000C + E_BLUETOOTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH Handle = 0x8065000D + E_BLUETOOTH_ATT_UNLIKELY Handle = 0x8065000E + E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION Handle = 0x8065000F + E_BLUETOOTH_ATT_UNSUPPORTED_GROUP_TYPE Handle = 0x80650010 + E_BLUETOOTH_ATT_INSUFFICIENT_RESOURCES Handle = 0x80650011 + E_BLUETOOTH_ATT_UNKNOWN_ERROR Handle = 0x80651000 + E_AUDIO_ENGINE_NODE_NOT_FOUND Handle = 0x80660001 + E_HDAUDIO_EMPTY_CONNECTION_LIST Handle = 0x80660002 + E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED Handle = 0x80660003 + E_HDAUDIO_NO_LOGICAL_DEVICES_CREATED Handle = 0x80660004 + E_HDAUDIO_NULL_LINKED_LIST_ENTRY Handle = 0x80660005 + STATEREPOSITORY_E_CONCURRENCY_LOCKING_FAILURE Handle = 0x80670001 + STATEREPOSITORY_E_STATEMENT_INPROGRESS Handle = 0x80670002 + STATEREPOSITORY_E_CONFIGURATION_INVALID Handle = 0x80670003 + STATEREPOSITORY_E_UNKNOWN_SCHEMA_VERSION Handle = 0x80670004 + STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED Handle = 0x80670005 + STATEREPOSITORY_E_BLOCKED Handle = 0x80670006 + STATEREPOSITORY_E_BUSY_RETRY Handle = 0x80670007 + STATEREPOSITORY_E_BUSY_RECOVERY_RETRY Handle = 0x80670008 + STATEREPOSITORY_E_LOCKED_RETRY Handle = 0x80670009 + STATEREPOSITORY_E_LOCKED_SHAREDCACHE_RETRY Handle = 0x8067000A + STATEREPOSITORY_E_TRANSACTION_REQUIRED Handle = 0x8067000B + STATEREPOSITORY_E_BUSY_TIMEOUT_EXCEEDED Handle = 0x8067000C + STATEREPOSITORY_E_BUSY_RECOVERY_TIMEOUT_EXCEEDED Handle = 0x8067000D + STATEREPOSITORY_E_LOCKED_TIMEOUT_EXCEEDED Handle = 0x8067000E + STATEREPOSITORY_E_LOCKED_SHAREDCACHE_TIMEOUT_EXCEEDED Handle = 0x8067000F + STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS Handle = 0x80670010 + STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED Handle = 0x80670011 + STATEREPOSITORY_ERROR_CACHE_CORRUPTED Handle = 0x80670012 + STATEREPOSITORY_TRANSACTION_CALLER_ID_CHANGED Handle = 0x00670013 + STATEREPOSITORY_TRANSACTION_IN_PROGRESS Handle = 0x00670014 + ERROR_SPACES_POOL_WAS_DELETED Handle = 0x00E70001 + ERROR_SPACES_FAULT_DOMAIN_TYPE_INVALID Handle = 0x80E70001 + ERROR_SPACES_INTERNAL_ERROR Handle = 0x80E70002 + ERROR_SPACES_RESILIENCY_TYPE_INVALID Handle = 0x80E70003 + ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID Handle = 0x80E70004 + ERROR_SPACES_DRIVE_REDUNDANCY_INVALID Handle = 0x80E70006 + ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID Handle = 0x80E70007 + ERROR_SPACES_PARITY_LAYOUT_INVALID Handle = 0x80E70008 + ERROR_SPACES_INTERLEAVE_LENGTH_INVALID Handle = 0x80E70009 + ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID Handle = 0x80E7000A + ERROR_SPACES_NOT_ENOUGH_DRIVES Handle = 0x80E7000B + ERROR_SPACES_EXTENDED_ERROR Handle = 0x80E7000C + ERROR_SPACES_PROVISIONING_TYPE_INVALID Handle = 0x80E7000D + ERROR_SPACES_ALLOCATION_SIZE_INVALID Handle = 0x80E7000E + ERROR_SPACES_ENCLOSURE_AWARE_INVALID Handle = 0x80E7000F + ERROR_SPACES_WRITE_CACHE_SIZE_INVALID Handle = 0x80E70010 + ERROR_SPACES_NUMBER_OF_GROUPS_INVALID Handle = 0x80E70011 + ERROR_SPACES_DRIVE_OPERATIONAL_STATE_INVALID Handle = 0x80E70012 + ERROR_SPACES_ENTRY_INCOMPLETE Handle = 0x80E70013 + ERROR_SPACES_ENTRY_INVALID Handle = 0x80E70014 + ERROR_VOLSNAP_BOOTFILE_NOT_VALID Handle = 0x80820001 + ERROR_VOLSNAP_ACTIVATION_TIMEOUT Handle = 0x80820002 + ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME Handle = 0x80830001 + ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS Handle = 0x80830002 + ERROR_TIERING_STORAGE_TIER_NOT_FOUND Handle = 0x80830003 + ERROR_TIERING_INVALID_FILE_ID Handle = 0x80830004 + ERROR_TIERING_WRONG_CLUSTER_NODE Handle = 0x80830005 + ERROR_TIERING_ALREADY_PROCESSING Handle = 0x80830006 + ERROR_TIERING_CANNOT_PIN_OBJECT Handle = 0x80830007 + ERROR_TIERING_FILE_IS_NOT_PINNED Handle = 0x80830008 + ERROR_NOT_A_TIERED_VOLUME Handle = 0x80830009 + ERROR_ATTRIBUTE_NOT_PRESENT Handle = 0x8083000A + ERROR_SECCORE_INVALID_COMMAND Handle = 0xC0E80000 + ERROR_NO_APPLICABLE_APP_LICENSES_FOUND Handle = 0xC0EA0001 + ERROR_CLIP_LICENSE_NOT_FOUND Handle = 0xC0EA0002 + ERROR_CLIP_DEVICE_LICENSE_MISSING Handle = 0xC0EA0003 + ERROR_CLIP_LICENSE_INVALID_SIGNATURE Handle = 0xC0EA0004 + ERROR_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID Handle = 0xC0EA0005 + ERROR_CLIP_LICENSE_EXPIRED Handle = 0xC0EA0006 + ERROR_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE Handle = 0xC0EA0007 + ERROR_CLIP_LICENSE_NOT_SIGNED Handle = 0xC0EA0008 + ERROR_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE Handle = 0xC0EA0009 + ERROR_CLIP_LICENSE_DEVICE_ID_MISMATCH Handle = 0xC0EA000A + DXGI_STATUS_OCCLUDED Handle = 0x087A0001 + DXGI_STATUS_CLIPPED Handle = 0x087A0002 + DXGI_STATUS_NO_REDIRECTION Handle = 0x087A0004 + DXGI_STATUS_NO_DESKTOP_ACCESS Handle = 0x087A0005 + DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0x087A0006 + DXGI_STATUS_MODE_CHANGED Handle = 0x087A0007 + DXGI_STATUS_MODE_CHANGE_IN_PROGRESS Handle = 0x087A0008 + DXGI_ERROR_INVALID_CALL Handle = 0x887A0001 + DXGI_ERROR_NOT_FOUND Handle = 0x887A0002 + DXGI_ERROR_MORE_DATA Handle = 0x887A0003 + DXGI_ERROR_UNSUPPORTED Handle = 0x887A0004 + DXGI_ERROR_DEVICE_REMOVED Handle = 0x887A0005 + DXGI_ERROR_DEVICE_HUNG Handle = 0x887A0006 + DXGI_ERROR_DEVICE_RESET Handle = 0x887A0007 + DXGI_ERROR_WAS_STILL_DRAWING Handle = 0x887A000A + DXGI_ERROR_FRAME_STATISTICS_DISJOINT Handle = 0x887A000B + DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE Handle = 0x887A000C + DXGI_ERROR_DRIVER_INTERNAL_ERROR Handle = 0x887A0020 + DXGI_ERROR_NONEXCLUSIVE Handle = 0x887A0021 + DXGI_ERROR_NOT_CURRENTLY_AVAILABLE Handle = 0x887A0022 + DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED Handle = 0x887A0023 + DXGI_ERROR_REMOTE_OUTOFMEMORY Handle = 0x887A0024 + DXGI_ERROR_ACCESS_LOST Handle = 0x887A0026 + DXGI_ERROR_WAIT_TIMEOUT Handle = 0x887A0027 + DXGI_ERROR_SESSION_DISCONNECTED Handle = 0x887A0028 + DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE Handle = 0x887A0029 + DXGI_ERROR_CANNOT_PROTECT_CONTENT Handle = 0x887A002A + DXGI_ERROR_ACCESS_DENIED Handle = 0x887A002B + DXGI_ERROR_NAME_ALREADY_EXISTS Handle = 0x887A002C + DXGI_ERROR_SDK_COMPONENT_MISSING Handle = 0x887A002D + DXGI_ERROR_NOT_CURRENT Handle = 0x887A002E + DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY Handle = 0x887A0030 + DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION Handle = 0x887A0031 + DXGI_ERROR_NON_COMPOSITED_UI Handle = 0x887A0032 + DXGI_STATUS_UNOCCLUDED Handle = 0x087A0009 + DXGI_STATUS_DDA_WAS_STILL_DRAWING Handle = 0x087A000A + DXGI_ERROR_MODE_CHANGE_IN_PROGRESS Handle = 0x887A0025 + DXGI_STATUS_PRESENT_REQUIRED Handle = 0x087A002F + DXGI_ERROR_CACHE_CORRUPT Handle = 0x887A0033 + DXGI_ERROR_CACHE_FULL Handle = 0x887A0034 + DXGI_ERROR_CACHE_HASH_COLLISION Handle = 0x887A0035 + DXGI_ERROR_ALREADY_EXISTS Handle = 0x887A0036 + DXGI_DDI_ERR_WASSTILLDRAWING Handle = 0x887B0001 + DXGI_DDI_ERR_UNSUPPORTED Handle = 0x887B0002 + DXGI_DDI_ERR_NONEXCLUSIVE Handle = 0x887B0003 + D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS Handle = 0x88790001 + D3D10_ERROR_FILE_NOT_FOUND Handle = 0x88790002 + D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS Handle = 0x887C0001 + D3D11_ERROR_FILE_NOT_FOUND Handle = 0x887C0002 + D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS Handle = 0x887C0003 + D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD Handle = 0x887C0004 + D3D12_ERROR_ADAPTER_NOT_FOUND Handle = 0x887E0001 + D3D12_ERROR_DRIVER_VERSION_MISMATCH Handle = 0x887E0002 + D2DERR_WRONG_STATE Handle = 0x88990001 + D2DERR_NOT_INITIALIZED Handle = 0x88990002 + D2DERR_UNSUPPORTED_OPERATION Handle = 0x88990003 + D2DERR_SCANNER_FAILED Handle = 0x88990004 + D2DERR_SCREEN_ACCESS_DENIED Handle = 0x88990005 + D2DERR_DISPLAY_STATE_INVALID Handle = 0x88990006 + D2DERR_ZERO_VECTOR Handle = 0x88990007 + D2DERR_INTERNAL_ERROR Handle = 0x88990008 + D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED Handle = 0x88990009 + D2DERR_INVALID_CALL Handle = 0x8899000A + D2DERR_NO_HARDWARE_DEVICE Handle = 0x8899000B + D2DERR_RECREATE_TARGET Handle = 0x8899000C + D2DERR_TOO_MANY_SHADER_ELEMENTS Handle = 0x8899000D + D2DERR_SHADER_COMPILE_FAILED Handle = 0x8899000E + D2DERR_MAX_TEXTURE_SIZE_EXCEEDED Handle = 0x8899000F + D2DERR_UNSUPPORTED_VERSION Handle = 0x88990010 + D2DERR_BAD_NUMBER Handle = 0x88990011 + D2DERR_WRONG_FACTORY Handle = 0x88990012 + D2DERR_LAYER_ALREADY_IN_USE Handle = 0x88990013 + D2DERR_POP_CALL_DID_NOT_MATCH_PUSH Handle = 0x88990014 + D2DERR_WRONG_RESOURCE_DOMAIN Handle = 0x88990015 + D2DERR_PUSH_POP_UNBALANCED Handle = 0x88990016 + D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT Handle = 0x88990017 + D2DERR_INCOMPATIBLE_BRUSH_TYPES Handle = 0x88990018 + D2DERR_WIN32_ERROR Handle = 0x88990019 + D2DERR_TARGET_NOT_GDI_COMPATIBLE Handle = 0x8899001A + D2DERR_TEXT_EFFECT_IS_WRONG_TYPE Handle = 0x8899001B + D2DERR_TEXT_RENDERER_NOT_RELEASED Handle = 0x8899001C + D2DERR_EXCEEDS_MAX_BITMAP_SIZE Handle = 0x8899001D + D2DERR_INVALID_GRAPH_CONFIGURATION Handle = 0x8899001E + D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION Handle = 0x8899001F + D2DERR_CYCLIC_GRAPH Handle = 0x88990020 + D2DERR_BITMAP_CANNOT_DRAW Handle = 0x88990021 + D2DERR_OUTSTANDING_BITMAP_REFERENCES Handle = 0x88990022 + D2DERR_ORIGINAL_TARGET_NOT_BOUND Handle = 0x88990023 + D2DERR_INVALID_TARGET Handle = 0x88990024 + D2DERR_BITMAP_BOUND_AS_TARGET Handle = 0x88990025 + D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES Handle = 0x88990026 + D2DERR_INTERMEDIATE_TOO_LARGE Handle = 0x88990027 + D2DERR_EFFECT_IS_NOT_REGISTERED Handle = 0x88990028 + D2DERR_INVALID_PROPERTY Handle = 0x88990029 + D2DERR_NO_SUBPROPERTIES Handle = 0x8899002A + D2DERR_PRINT_JOB_CLOSED Handle = 0x8899002B + D2DERR_PRINT_FORMAT_NOT_SUPPORTED Handle = 0x8899002C + D2DERR_TOO_MANY_TRANSFORM_INPUTS Handle = 0x8899002D + D2DERR_INVALID_GLYPH_IMAGE Handle = 0x8899002E + DWRITE_E_FILEFORMAT Handle = 0x88985000 + DWRITE_E_UNEXPECTED Handle = 0x88985001 + DWRITE_E_NOFONT Handle = 0x88985002 + DWRITE_E_FILENOTFOUND Handle = 0x88985003 + DWRITE_E_FILEACCESS Handle = 0x88985004 + DWRITE_E_FONTCOLLECTIONOBSOLETE Handle = 0x88985005 + DWRITE_E_ALREADYREGISTERED Handle = 0x88985006 + DWRITE_E_CACHEFORMAT Handle = 0x88985007 + DWRITE_E_CACHEVERSION Handle = 0x88985008 + DWRITE_E_UNSUPPORTEDOPERATION Handle = 0x88985009 + DWRITE_E_TEXTRENDERERINCOMPATIBLE Handle = 0x8898500A + DWRITE_E_FLOWDIRECTIONCONFLICTS Handle = 0x8898500B + DWRITE_E_NOCOLOR Handle = 0x8898500C + DWRITE_E_REMOTEFONT Handle = 0x8898500D + DWRITE_E_DOWNLOADCANCELLED Handle = 0x8898500E + DWRITE_E_DOWNLOADFAILED Handle = 0x8898500F + DWRITE_E_TOOMANYDOWNLOADS Handle = 0x88985010 + WINCODEC_ERR_WRONGSTATE Handle = 0x88982F04 + WINCODEC_ERR_VALUEOUTOFRANGE Handle = 0x88982F05 + WINCODEC_ERR_UNKNOWNIMAGEFORMAT Handle = 0x88982F07 + WINCODEC_ERR_UNSUPPORTEDVERSION Handle = 0x88982F0B + WINCODEC_ERR_NOTINITIALIZED Handle = 0x88982F0C + WINCODEC_ERR_ALREADYLOCKED Handle = 0x88982F0D + WINCODEC_ERR_PROPERTYNOTFOUND Handle = 0x88982F40 + WINCODEC_ERR_PROPERTYNOTSUPPORTED Handle = 0x88982F41 + WINCODEC_ERR_PROPERTYSIZE Handle = 0x88982F42 + WINCODEC_ERR_CODECPRESENT Handle = 0x88982F43 + WINCODEC_ERR_CODECNOTHUMBNAIL Handle = 0x88982F44 + WINCODEC_ERR_PALETTEUNAVAILABLE Handle = 0x88982F45 + WINCODEC_ERR_CODECTOOMANYSCANLINES Handle = 0x88982F46 + WINCODEC_ERR_INTERNALERROR Handle = 0x88982F48 + WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS Handle = 0x88982F49 + WINCODEC_ERR_COMPONENTNOTFOUND Handle = 0x88982F50 + WINCODEC_ERR_IMAGESIZEOUTOFRANGE Handle = 0x88982F51 + WINCODEC_ERR_TOOMUCHMETADATA Handle = 0x88982F52 + WINCODEC_ERR_BADIMAGE Handle = 0x88982F60 + WINCODEC_ERR_BADHEADER Handle = 0x88982F61 + WINCODEC_ERR_FRAMEMISSING Handle = 0x88982F62 + WINCODEC_ERR_BADMETADATAHEADER Handle = 0x88982F63 + WINCODEC_ERR_BADSTREAMDATA Handle = 0x88982F70 + WINCODEC_ERR_STREAMWRITE Handle = 0x88982F71 + WINCODEC_ERR_STREAMREAD Handle = 0x88982F72 + WINCODEC_ERR_STREAMNOTAVAILABLE Handle = 0x88982F73 + WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT Handle = 0x88982F80 + WINCODEC_ERR_UNSUPPORTEDOPERATION Handle = 0x88982F81 + WINCODEC_ERR_INVALIDREGISTRATION Handle = 0x88982F8A + WINCODEC_ERR_COMPONENTINITIALIZEFAILURE Handle = 0x88982F8B + WINCODEC_ERR_INSUFFICIENTBUFFER Handle = 0x88982F8C + WINCODEC_ERR_DUPLICATEMETADATAPRESENT Handle = 0x88982F8D + WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE Handle = 0x88982F8E + WINCODEC_ERR_UNEXPECTEDSIZE Handle = 0x88982F8F + WINCODEC_ERR_INVALIDQUERYREQUEST Handle = 0x88982F90 + WINCODEC_ERR_UNEXPECTEDMETADATATYPE Handle = 0x88982F91 + WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT Handle = 0x88982F92 + WINCODEC_ERR_INVALIDQUERYCHARACTER Handle = 0x88982F93 + WINCODEC_ERR_WIN32ERROR Handle = 0x88982F94 + WINCODEC_ERR_INVALIDPROGRESSIVELEVEL Handle = 0x88982F95 + WINCODEC_ERR_INVALIDJPEGSCANINDEX Handle = 0x88982F96 + MILERR_OBJECTBUSY Handle = 0x88980001 + MILERR_INSUFFICIENTBUFFER Handle = 0x88980002 + MILERR_WIN32ERROR Handle = 0x88980003 + MILERR_SCANNER_FAILED Handle = 0x88980004 + MILERR_SCREENACCESSDENIED Handle = 0x88980005 + MILERR_DISPLAYSTATEINVALID Handle = 0x88980006 + MILERR_NONINVERTIBLEMATRIX Handle = 0x88980007 + MILERR_ZEROVECTOR Handle = 0x88980008 + MILERR_TERMINATED Handle = 0x88980009 + MILERR_BADNUMBER Handle = 0x8898000A + MILERR_INTERNALERROR Handle = 0x88980080 + MILERR_DISPLAYFORMATNOTSUPPORTED Handle = 0x88980084 + MILERR_INVALIDCALL Handle = 0x88980085 + MILERR_ALREADYLOCKED Handle = 0x88980086 + MILERR_NOTLOCKED Handle = 0x88980087 + MILERR_DEVICECANNOTRENDERTEXT Handle = 0x88980088 + MILERR_GLYPHBITMAPMISSED Handle = 0x88980089 + MILERR_MALFORMEDGLYPHCACHE Handle = 0x8898008A + MILERR_GENERIC_IGNORE Handle = 0x8898008B + MILERR_MALFORMED_GUIDELINE_DATA Handle = 0x8898008C + MILERR_NO_HARDWARE_DEVICE Handle = 0x8898008D + MILERR_NEED_RECREATE_AND_PRESENT Handle = 0x8898008E + MILERR_ALREADY_INITIALIZED Handle = 0x8898008F + MILERR_MISMATCHED_SIZE Handle = 0x88980090 + MILERR_NO_REDIRECTION_SURFACE_AVAILABLE Handle = 0x88980091 + MILERR_REMOTING_NOT_SUPPORTED Handle = 0x88980092 + MILERR_QUEUED_PRESENT_NOT_SUPPORTED Handle = 0x88980093 + MILERR_NOT_QUEUING_PRESENTS Handle = 0x88980094 + MILERR_NO_REDIRECTION_SURFACE_RETRY_LATER Handle = 0x88980095 + MILERR_TOOMANYSHADERELEMNTS Handle = 0x88980096 + MILERR_MROW_READLOCK_FAILED Handle = 0x88980097 + MILERR_MROW_UPDATE_FAILED Handle = 0x88980098 + MILERR_SHADER_COMPILE_FAILED Handle = 0x88980099 + MILERR_MAX_TEXTURE_SIZE_EXCEEDED Handle = 0x8898009A + MILERR_QPC_TIME_WENT_BACKWARD Handle = 0x8898009B + MILERR_DXGI_ENUMERATION_OUT_OF_SYNC Handle = 0x8898009D + MILERR_ADAPTER_NOT_FOUND Handle = 0x8898009E + MILERR_COLORSPACE_NOT_SUPPORTED Handle = 0x8898009F + MILERR_PREFILTER_NOT_SUPPORTED Handle = 0x889800A0 + MILERR_DISPLAYID_ACCESS_DENIED Handle = 0x889800A1 + UCEERR_INVALIDPACKETHEADER Handle = 0x88980400 + UCEERR_UNKNOWNPACKET Handle = 0x88980401 + UCEERR_ILLEGALPACKET Handle = 0x88980402 + UCEERR_MALFORMEDPACKET Handle = 0x88980403 + UCEERR_ILLEGALHANDLE Handle = 0x88980404 + UCEERR_HANDLELOOKUPFAILED Handle = 0x88980405 + UCEERR_RENDERTHREADFAILURE Handle = 0x88980406 + UCEERR_CTXSTACKFRSTTARGETNULL Handle = 0x88980407 + UCEERR_CONNECTIONIDLOOKUPFAILED Handle = 0x88980408 + UCEERR_BLOCKSFULL Handle = 0x88980409 + UCEERR_MEMORYFAILURE Handle = 0x8898040A + UCEERR_PACKETRECORDOUTOFRANGE Handle = 0x8898040B + UCEERR_ILLEGALRECORDTYPE Handle = 0x8898040C + UCEERR_OUTOFHANDLES Handle = 0x8898040D + UCEERR_UNCHANGABLE_UPDATE_ATTEMPTED Handle = 0x8898040E + UCEERR_NO_MULTIPLE_WORKER_THREADS Handle = 0x8898040F + UCEERR_REMOTINGNOTSUPPORTED Handle = 0x88980410 + UCEERR_MISSINGENDCOMMAND Handle = 0x88980411 + UCEERR_MISSINGBEGINCOMMAND Handle = 0x88980412 + UCEERR_CHANNELSYNCTIMEDOUT Handle = 0x88980413 + UCEERR_CHANNELSYNCABANDONED Handle = 0x88980414 + UCEERR_UNSUPPORTEDTRANSPORTVERSION Handle = 0x88980415 + UCEERR_TRANSPORTUNAVAILABLE Handle = 0x88980416 + UCEERR_FEEDBACK_UNSUPPORTED Handle = 0x88980417 + UCEERR_COMMANDTRANSPORTDENIED Handle = 0x88980418 + UCEERR_GRAPHICSSTREAMUNAVAILABLE Handle = 0x88980419 + UCEERR_GRAPHICSSTREAMALREADYOPEN Handle = 0x88980420 + UCEERR_TRANSPORTDISCONNECTED Handle = 0x88980421 + UCEERR_TRANSPORTOVERLOADED Handle = 0x88980422 + UCEERR_PARTITION_ZOMBIED Handle = 0x88980423 + MILAVERR_NOCLOCK Handle = 0x88980500 + MILAVERR_NOMEDIATYPE Handle = 0x88980501 + MILAVERR_NOVIDEOMIXER Handle = 0x88980502 + MILAVERR_NOVIDEOPRESENTER Handle = 0x88980503 + MILAVERR_NOREADYFRAMES Handle = 0x88980504 + MILAVERR_MODULENOTLOADED Handle = 0x88980505 + MILAVERR_WMPFACTORYNOTREGISTERED Handle = 0x88980506 + MILAVERR_INVALIDWMPVERSION Handle = 0x88980507 + MILAVERR_INSUFFICIENTVIDEORESOURCES Handle = 0x88980508 + MILAVERR_VIDEOACCELERATIONNOTAVAILABLE Handle = 0x88980509 + MILAVERR_REQUESTEDTEXTURETOOBIG Handle = 0x8898050A + MILAVERR_SEEKFAILED Handle = 0x8898050B + MILAVERR_UNEXPECTEDWMPFAILURE Handle = 0x8898050C + MILAVERR_MEDIAPLAYERCLOSED Handle = 0x8898050D + MILAVERR_UNKNOWNHARDWAREERROR Handle = 0x8898050E + MILEFFECTSERR_UNKNOWNPROPERTY Handle = 0x8898060E + MILEFFECTSERR_EFFECTNOTPARTOFGROUP Handle = 0x8898060F + MILEFFECTSERR_NOINPUTSOURCEATTACHED Handle = 0x88980610 + MILEFFECTSERR_CONNECTORNOTCONNECTED Handle = 0x88980611 + MILEFFECTSERR_CONNECTORNOTASSOCIATEDWITHEFFECT Handle = 0x88980612 + MILEFFECTSERR_RESERVED Handle = 0x88980613 + MILEFFECTSERR_CYCLEDETECTED Handle = 0x88980614 + MILEFFECTSERR_EFFECTINMORETHANONEGRAPH Handle = 0x88980615 + MILEFFECTSERR_EFFECTALREADYINAGRAPH Handle = 0x88980616 + MILEFFECTSERR_EFFECTHASNOCHILDREN Handle = 0x88980617 + MILEFFECTSERR_ALREADYATTACHEDTOLISTENER Handle = 0x88980618 + MILEFFECTSERR_NOTAFFINETRANSFORM Handle = 0x88980619 + MILEFFECTSERR_EMPTYBOUNDS Handle = 0x8898061A + MILEFFECTSERR_OUTPUTSIZETOOLARGE Handle = 0x8898061B + DWMERR_STATE_TRANSITION_FAILED Handle = 0x88980700 + DWMERR_THEME_FAILED Handle = 0x88980701 + DWMERR_CATASTROPHIC_FAILURE Handle = 0x88980702 + DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED Handle = 0x88980800 + DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED Handle = 0x88980801 + DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED Handle = 0x88980802 + ONL_E_INVALID_AUTHENTICATION_TARGET Handle = 0x80860001 + ONL_E_ACCESS_DENIED_BY_TOU Handle = 0x80860002 + ONL_E_INVALID_APPLICATION Handle = 0x80860003 + ONL_E_PASSWORD_UPDATE_REQUIRED Handle = 0x80860004 + ONL_E_ACCOUNT_UPDATE_REQUIRED Handle = 0x80860005 + ONL_E_FORCESIGNIN Handle = 0x80860006 + ONL_E_ACCOUNT_LOCKED Handle = 0x80860007 + ONL_E_PARENTAL_CONSENT_REQUIRED Handle = 0x80860008 + ONL_E_EMAIL_VERIFICATION_REQUIRED Handle = 0x80860009 + ONL_E_ACCOUNT_SUSPENDED_COMPROIMISE Handle = 0x8086000A + ONL_E_ACCOUNT_SUSPENDED_ABUSE Handle = 0x8086000B + ONL_E_ACTION_REQUIRED Handle = 0x8086000C + ONL_CONNECTION_COUNT_LIMIT Handle = 0x8086000D + ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT Handle = 0x8086000E + ONL_E_USER_AUTHENTICATION_REQUIRED Handle = 0x8086000F + ONL_E_REQUEST_THROTTLED Handle = 0x80860010 + FA_E_MAX_PERSISTED_ITEMS_REACHED Handle = 0x80270220 + FA_E_HOMEGROUP_NOT_AVAILABLE Handle = 0x80270222 + E_MONITOR_RESOLUTION_TOO_LOW Handle = 0x80270250 + E_ELEVATED_ACTIVATION_NOT_SUPPORTED Handle = 0x80270251 + E_UAC_DISABLED Handle = 0x80270252 + E_FULL_ADMIN_NOT_SUPPORTED Handle = 0x80270253 + E_APPLICATION_NOT_REGISTERED Handle = 0x80270254 + E_MULTIPLE_EXTENSIONS_FOR_APPLICATION Handle = 0x80270255 + E_MULTIPLE_PACKAGES_FOR_FAMILY Handle = 0x80270256 + E_APPLICATION_MANAGER_NOT_RUNNING Handle = 0x80270257 + S_STORE_LAUNCHED_FOR_REMEDIATION Handle = 0x00270258 + S_APPLICATION_ACTIVATION_ERROR_HANDLED_BY_DIALOG Handle = 0x00270259 + E_APPLICATION_ACTIVATION_TIMED_OUT Handle = 0x8027025A + E_APPLICATION_ACTIVATION_EXEC_FAILURE Handle = 0x8027025B + E_APPLICATION_TEMPORARY_LICENSE_ERROR Handle = 0x8027025C + E_APPLICATION_TRIAL_LICENSE_EXPIRED Handle = 0x8027025D + E_SKYDRIVE_ROOT_TARGET_FILE_SYSTEM_NOT_SUPPORTED Handle = 0x80270260 + E_SKYDRIVE_ROOT_TARGET_OVERLAP Handle = 0x80270261 + E_SKYDRIVE_ROOT_TARGET_CANNOT_INDEX Handle = 0x80270262 + E_SKYDRIVE_FILE_NOT_UPLOADED Handle = 0x80270263 + E_SKYDRIVE_UPDATE_AVAILABILITY_FAIL Handle = 0x80270264 + E_SKYDRIVE_ROOT_TARGET_VOLUME_ROOT_NOT_SUPPORTED Handle = 0x80270265 + E_SYNCENGINE_FILE_SIZE_OVER_LIMIT Handle = 0x8802B001 + E_SYNCENGINE_FILE_SIZE_EXCEEDS_REMAINING_QUOTA Handle = 0x8802B002 + E_SYNCENGINE_UNSUPPORTED_FILE_NAME Handle = 0x8802B003 + E_SYNCENGINE_FOLDER_ITEM_COUNT_LIMIT_EXCEEDED Handle = 0x8802B004 + E_SYNCENGINE_FILE_SYNC_PARTNER_ERROR Handle = 0x8802B005 + E_SYNCENGINE_SYNC_PAUSED_BY_SERVICE Handle = 0x8802B006 + E_SYNCENGINE_FILE_IDENTIFIER_UNKNOWN Handle = 0x8802C002 + E_SYNCENGINE_SERVICE_AUTHENTICATION_FAILED Handle = 0x8802C003 + E_SYNCENGINE_UNKNOWN_SERVICE_ERROR Handle = 0x8802C004 + E_SYNCENGINE_SERVICE_RETURNED_UNEXPECTED_SIZE Handle = 0x8802C005 + E_SYNCENGINE_REQUEST_BLOCKED_BY_SERVICE Handle = 0x8802C006 + E_SYNCENGINE_REQUEST_BLOCKED_DUE_TO_CLIENT_ERROR Handle = 0x8802C007 + E_SYNCENGINE_FOLDER_INACCESSIBLE Handle = 0x8802D001 + E_SYNCENGINE_UNSUPPORTED_FOLDER_NAME Handle = 0x8802D002 + E_SYNCENGINE_UNSUPPORTED_MARKET Handle = 0x8802D003 + E_SYNCENGINE_PATH_LENGTH_LIMIT_EXCEEDED Handle = 0x8802D004 + E_SYNCENGINE_REMOTE_PATH_LENGTH_LIMIT_EXCEEDED Handle = 0x8802D005 + E_SYNCENGINE_CLIENT_UPDATE_NEEDED Handle = 0x8802D006 + E_SYNCENGINE_PROXY_AUTHENTICATION_REQUIRED Handle = 0x8802D007 + E_SYNCENGINE_STORAGE_SERVICE_PROVISIONING_FAILED Handle = 0x8802D008 + E_SYNCENGINE_UNSUPPORTED_REPARSE_POINT Handle = 0x8802D009 + E_SYNCENGINE_STORAGE_SERVICE_BLOCKED Handle = 0x8802D00A + E_SYNCENGINE_FOLDER_IN_REDIRECTION Handle = 0x8802D00B + EAS_E_POLICY_NOT_MANAGED_BY_OS Handle = 0x80550001 + EAS_E_POLICY_COMPLIANT_WITH_ACTIONS Handle = 0x80550002 + EAS_E_REQUESTED_POLICY_NOT_ENFORCEABLE Handle = 0x80550003 + EAS_E_CURRENT_USER_HAS_BLANK_PASSWORD Handle = 0x80550004 + EAS_E_REQUESTED_POLICY_PASSWORD_EXPIRATION_INCOMPATIBLE Handle = 0x80550005 + EAS_E_USER_CANNOT_CHANGE_PASSWORD Handle = 0x80550006 + EAS_E_ADMINS_HAVE_BLANK_PASSWORD Handle = 0x80550007 + EAS_E_ADMINS_CANNOT_CHANGE_PASSWORD Handle = 0x80550008 + EAS_E_LOCAL_CONTROLLED_USERS_CANNOT_CHANGE_PASSWORD Handle = 0x80550009 + EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CONNECTED_ADMINS Handle = 0x8055000A + EAS_E_CONNECTED_ADMINS_NEED_TO_CHANGE_PASSWORD Handle = 0x8055000B + EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CURRENT_CONNECTED_USER Handle = 0x8055000C + EAS_E_CURRENT_CONNECTED_USER_NEED_TO_CHANGE_PASSWORD Handle = 0x8055000D + WEB_E_UNSUPPORTED_FORMAT Handle = 0x83750001 + WEB_E_INVALID_XML Handle = 0x83750002 + WEB_E_MISSING_REQUIRED_ELEMENT Handle = 0x83750003 + WEB_E_MISSING_REQUIRED_ATTRIBUTE Handle = 0x83750004 + WEB_E_UNEXPECTED_CONTENT Handle = 0x83750005 + WEB_E_RESOURCE_TOO_LARGE Handle = 0x83750006 + WEB_E_INVALID_JSON_STRING Handle = 0x83750007 + WEB_E_INVALID_JSON_NUMBER Handle = 0x83750008 + WEB_E_JSON_VALUE_NOT_FOUND Handle = 0x83750009 + HTTP_E_STATUS_UNEXPECTED Handle = 0x80190001 + HTTP_E_STATUS_UNEXPECTED_REDIRECTION Handle = 0x80190003 + HTTP_E_STATUS_UNEXPECTED_CLIENT_ERROR Handle = 0x80190004 + HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR Handle = 0x80190005 + HTTP_E_STATUS_AMBIGUOUS Handle = 0x8019012C + HTTP_E_STATUS_MOVED Handle = 0x8019012D + HTTP_E_STATUS_REDIRECT Handle = 0x8019012E + HTTP_E_STATUS_REDIRECT_METHOD Handle = 0x8019012F + HTTP_E_STATUS_NOT_MODIFIED Handle = 0x80190130 + HTTP_E_STATUS_USE_PROXY Handle = 0x80190131 + HTTP_E_STATUS_REDIRECT_KEEP_VERB Handle = 0x80190133 + HTTP_E_STATUS_BAD_REQUEST Handle = 0x80190190 + HTTP_E_STATUS_DENIED Handle = 0x80190191 + HTTP_E_STATUS_PAYMENT_REQ Handle = 0x80190192 + HTTP_E_STATUS_FORBIDDEN Handle = 0x80190193 + HTTP_E_STATUS_NOT_FOUND Handle = 0x80190194 + HTTP_E_STATUS_BAD_METHOD Handle = 0x80190195 + HTTP_E_STATUS_NONE_ACCEPTABLE Handle = 0x80190196 + HTTP_E_STATUS_PROXY_AUTH_REQ Handle = 0x80190197 + HTTP_E_STATUS_REQUEST_TIMEOUT Handle = 0x80190198 + HTTP_E_STATUS_CONFLICT Handle = 0x80190199 + HTTP_E_STATUS_GONE Handle = 0x8019019A + HTTP_E_STATUS_LENGTH_REQUIRED Handle = 0x8019019B + HTTP_E_STATUS_PRECOND_FAILED Handle = 0x8019019C + HTTP_E_STATUS_REQUEST_TOO_LARGE Handle = 0x8019019D + HTTP_E_STATUS_URI_TOO_LONG Handle = 0x8019019E + HTTP_E_STATUS_UNSUPPORTED_MEDIA Handle = 0x8019019F + HTTP_E_STATUS_RANGE_NOT_SATISFIABLE Handle = 0x801901A0 + HTTP_E_STATUS_EXPECTATION_FAILED Handle = 0x801901A1 + HTTP_E_STATUS_SERVER_ERROR Handle = 0x801901F4 + HTTP_E_STATUS_NOT_SUPPORTED Handle = 0x801901F5 + HTTP_E_STATUS_BAD_GATEWAY Handle = 0x801901F6 + HTTP_E_STATUS_SERVICE_UNAVAIL Handle = 0x801901F7 + HTTP_E_STATUS_GATEWAY_TIMEOUT Handle = 0x801901F8 + HTTP_E_STATUS_VERSION_NOT_SUP Handle = 0x801901F9 + E_INVALID_PROTOCOL_OPERATION Handle = 0x83760001 + E_INVALID_PROTOCOL_FORMAT Handle = 0x83760002 + E_PROTOCOL_EXTENSIONS_NOT_SUPPORTED Handle = 0x83760003 + E_SUBPROTOCOL_NOT_SUPPORTED Handle = 0x83760004 + E_PROTOCOL_VERSION_NOT_SUPPORTED Handle = 0x83760005 + INPUT_E_OUT_OF_ORDER Handle = 0x80400000 + INPUT_E_REENTRANCY Handle = 0x80400001 + INPUT_E_MULTIMODAL Handle = 0x80400002 + INPUT_E_PACKET Handle = 0x80400003 + INPUT_E_FRAME Handle = 0x80400004 + INPUT_E_HISTORY Handle = 0x80400005 + INPUT_E_DEVICE_INFO Handle = 0x80400006 + INPUT_E_TRANSFORM Handle = 0x80400007 + INPUT_E_DEVICE_PROPERTY Handle = 0x80400008 + INET_E_INVALID_URL Handle = 0x800C0002 + INET_E_NO_SESSION Handle = 0x800C0003 + INET_E_CANNOT_CONNECT Handle = 0x800C0004 + INET_E_RESOURCE_NOT_FOUND Handle = 0x800C0005 + INET_E_OBJECT_NOT_FOUND Handle = 0x800C0006 + INET_E_DATA_NOT_AVAILABLE Handle = 0x800C0007 + INET_E_DOWNLOAD_FAILURE Handle = 0x800C0008 + INET_E_AUTHENTICATION_REQUIRED Handle = 0x800C0009 + INET_E_NO_VALID_MEDIA Handle = 0x800C000A + INET_E_CONNECTION_TIMEOUT Handle = 0x800C000B + INET_E_INVALID_REQUEST Handle = 0x800C000C + INET_E_UNKNOWN_PROTOCOL Handle = 0x800C000D + INET_E_SECURITY_PROBLEM Handle = 0x800C000E + INET_E_CANNOT_LOAD_DATA Handle = 0x800C000F + INET_E_CANNOT_INSTANTIATE_OBJECT Handle = 0x800C0010 + INET_E_INVALID_CERTIFICATE Handle = 0x800C0019 + INET_E_REDIRECT_FAILED Handle = 0x800C0014 + INET_E_REDIRECT_TO_DIR Handle = 0x800C0015 + ERROR_DBG_CREATE_PROCESS_FAILURE_LOCKDOWN Handle = 0x80B00001 + ERROR_DBG_ATTACH_PROCESS_FAILURE_LOCKDOWN Handle = 0x80B00002 + ERROR_DBG_CONNECT_SERVER_FAILURE_LOCKDOWN Handle = 0x80B00003 + ERROR_DBG_START_SERVER_FAILURE_LOCKDOWN Handle = 0x80B00004 + ERROR_IO_PREEMPTED Handle = 0x89010001 + JSCRIPT_E_CANTEXECUTE Handle = 0x89020001 + WEP_E_NOT_PROVISIONED_ON_ALL_VOLUMES Handle = 0x88010001 + WEP_E_FIXED_DATA_NOT_SUPPORTED Handle = 0x88010002 + WEP_E_HARDWARE_NOT_COMPLIANT Handle = 0x88010003 + WEP_E_LOCK_NOT_CONFIGURED Handle = 0x88010004 + WEP_E_PROTECTION_SUSPENDED Handle = 0x88010005 + WEP_E_NO_LICENSE Handle = 0x88010006 + WEP_E_OS_NOT_PROTECTED Handle = 0x88010007 + WEP_E_UNEXPECTED_FAIL Handle = 0x88010008 + WEP_E_BUFFER_TOO_LARGE Handle = 0x88010009 + ERROR_SVHDX_ERROR_STORED Handle = 0xC05C0000 + ERROR_SVHDX_ERROR_NOT_AVAILABLE Handle = 0xC05CFF00 + ERROR_SVHDX_UNIT_ATTENTION_AVAILABLE Handle = 0xC05CFF01 + ERROR_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED Handle = 0xC05CFF02 + ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED Handle = 0xC05CFF03 + ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED Handle = 0xC05CFF04 + ERROR_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED Handle = 0xC05CFF05 + ERROR_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED Handle = 0xC05CFF06 + ERROR_SVHDX_RESERVATION_CONFLICT Handle = 0xC05CFF07 + ERROR_SVHDX_WRONG_FILE_TYPE Handle = 0xC05CFF08 + ERROR_SVHDX_VERSION_MISMATCH Handle = 0xC05CFF09 + ERROR_VHD_SHARED Handle = 0xC05CFF0A + ERROR_SVHDX_NO_INITIATOR Handle = 0xC05CFF0B + ERROR_VHDSET_BACKING_STORAGE_NOT_FOUND Handle = 0xC05CFF0C + ERROR_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP Handle = 0xC05D0000 + ERROR_SMB_BAD_CLUSTER_DIALECT Handle = 0xC05D0001 + WININET_E_OUT_OF_HANDLES Handle = 0x80072EE1 + WININET_E_TIMEOUT Handle = 0x80072EE2 + WININET_E_EXTENDED_ERROR Handle = 0x80072EE3 + WININET_E_INTERNAL_ERROR Handle = 0x80072EE4 + WININET_E_INVALID_URL Handle = 0x80072EE5 + WININET_E_UNRECOGNIZED_SCHEME Handle = 0x80072EE6 + WININET_E_NAME_NOT_RESOLVED Handle = 0x80072EE7 + WININET_E_PROTOCOL_NOT_FOUND Handle = 0x80072EE8 + WININET_E_INVALID_OPTION Handle = 0x80072EE9 + WININET_E_BAD_OPTION_LENGTH Handle = 0x80072EEA + WININET_E_OPTION_NOT_SETTABLE Handle = 0x80072EEB + WININET_E_SHUTDOWN Handle = 0x80072EEC + WININET_E_INCORRECT_USER_NAME Handle = 0x80072EED + WININET_E_INCORRECT_PASSWORD Handle = 0x80072EEE + WININET_E_LOGIN_FAILURE Handle = 0x80072EEF + WININET_E_INVALID_OPERATION Handle = 0x80072EF0 + WININET_E_OPERATION_CANCELLED Handle = 0x80072EF1 + WININET_E_INCORRECT_HANDLE_TYPE Handle = 0x80072EF2 + WININET_E_INCORRECT_HANDLE_STATE Handle = 0x80072EF3 + WININET_E_NOT_PROXY_REQUEST Handle = 0x80072EF4 + WININET_E_REGISTRY_VALUE_NOT_FOUND Handle = 0x80072EF5 + WININET_E_BAD_REGISTRY_PARAMETER Handle = 0x80072EF6 + WININET_E_NO_DIRECT_ACCESS Handle = 0x80072EF7 + WININET_E_NO_CONTEXT Handle = 0x80072EF8 + WININET_E_NO_CALLBACK Handle = 0x80072EF9 + WININET_E_REQUEST_PENDING Handle = 0x80072EFA + WININET_E_INCORRECT_FORMAT Handle = 0x80072EFB + WININET_E_ITEM_NOT_FOUND Handle = 0x80072EFC + WININET_E_CANNOT_CONNECT Handle = 0x80072EFD + WININET_E_CONNECTION_ABORTED Handle = 0x80072EFE + WININET_E_CONNECTION_RESET Handle = 0x80072EFF + WININET_E_FORCE_RETRY Handle = 0x80072F00 + WININET_E_INVALID_PROXY_REQUEST Handle = 0x80072F01 + WININET_E_NEED_UI Handle = 0x80072F02 + WININET_E_HANDLE_EXISTS Handle = 0x80072F04 + WININET_E_SEC_CERT_DATE_INVALID Handle = 0x80072F05 + WININET_E_SEC_CERT_CN_INVALID Handle = 0x80072F06 + WININET_E_HTTP_TO_HTTPS_ON_REDIR Handle = 0x80072F07 + WININET_E_HTTPS_TO_HTTP_ON_REDIR Handle = 0x80072F08 + WININET_E_MIXED_SECURITY Handle = 0x80072F09 + WININET_E_CHG_POST_IS_NON_SECURE Handle = 0x80072F0A + WININET_E_POST_IS_NON_SECURE Handle = 0x80072F0B + WININET_E_CLIENT_AUTH_CERT_NEEDED Handle = 0x80072F0C + WININET_E_INVALID_CA Handle = 0x80072F0D + WININET_E_CLIENT_AUTH_NOT_SETUP Handle = 0x80072F0E + WININET_E_ASYNC_THREAD_FAILED Handle = 0x80072F0F + WININET_E_REDIRECT_SCHEME_CHANGE Handle = 0x80072F10 + WININET_E_DIALOG_PENDING Handle = 0x80072F11 + WININET_E_RETRY_DIALOG Handle = 0x80072F12 + WININET_E_NO_NEW_CONTAINERS Handle = 0x80072F13 + WININET_E_HTTPS_HTTP_SUBMIT_REDIR Handle = 0x80072F14 + WININET_E_SEC_CERT_ERRORS Handle = 0x80072F17 + WININET_E_SEC_CERT_REV_FAILED Handle = 0x80072F19 + WININET_E_HEADER_NOT_FOUND Handle = 0x80072F76 + WININET_E_DOWNLEVEL_SERVER Handle = 0x80072F77 + WININET_E_INVALID_SERVER_RESPONSE Handle = 0x80072F78 + WININET_E_INVALID_HEADER Handle = 0x80072F79 + WININET_E_INVALID_QUERY_REQUEST Handle = 0x80072F7A + WININET_E_HEADER_ALREADY_EXISTS Handle = 0x80072F7B + WININET_E_REDIRECT_FAILED Handle = 0x80072F7C + WININET_E_SECURITY_CHANNEL_ERROR Handle = 0x80072F7D + WININET_E_UNABLE_TO_CACHE_FILE Handle = 0x80072F7E + WININET_E_TCPIP_NOT_INSTALLED Handle = 0x80072F7F + WININET_E_DISCONNECTED Handle = 0x80072F83 + WININET_E_SERVER_UNREACHABLE Handle = 0x80072F84 + WININET_E_PROXY_SERVER_UNREACHABLE Handle = 0x80072F85 + WININET_E_BAD_AUTO_PROXY_SCRIPT Handle = 0x80072F86 + WININET_E_UNABLE_TO_DOWNLOAD_SCRIPT Handle = 0x80072F87 + WININET_E_SEC_INVALID_CERT Handle = 0x80072F89 + WININET_E_SEC_CERT_REVOKED Handle = 0x80072F8A + WININET_E_FAILED_DUETOSECURITYCHECK Handle = 0x80072F8B + WININET_E_NOT_INITIALIZED Handle = 0x80072F8C + WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY Handle = 0x80072F8E + WININET_E_DECODING_FAILED Handle = 0x80072F8F + WININET_E_NOT_REDIRECTED Handle = 0x80072F80 + WININET_E_COOKIE_NEEDS_CONFIRMATION Handle = 0x80072F81 + WININET_E_COOKIE_DECLINED Handle = 0x80072F82 + WININET_E_REDIRECT_NEEDS_CONFIRMATION Handle = 0x80072F88 + SQLITE_E_ERROR Handle = 0x87AF0001 + SQLITE_E_INTERNAL Handle = 0x87AF0002 + SQLITE_E_PERM Handle = 0x87AF0003 + SQLITE_E_ABORT Handle = 0x87AF0004 + SQLITE_E_BUSY Handle = 0x87AF0005 + SQLITE_E_LOCKED Handle = 0x87AF0006 + SQLITE_E_NOMEM Handle = 0x87AF0007 + SQLITE_E_READONLY Handle = 0x87AF0008 + SQLITE_E_INTERRUPT Handle = 0x87AF0009 + SQLITE_E_IOERR Handle = 0x87AF000A + SQLITE_E_CORRUPT Handle = 0x87AF000B + SQLITE_E_NOTFOUND Handle = 0x87AF000C + SQLITE_E_FULL Handle = 0x87AF000D + SQLITE_E_CANTOPEN Handle = 0x87AF000E + SQLITE_E_PROTOCOL Handle = 0x87AF000F + SQLITE_E_EMPTY Handle = 0x87AF0010 + SQLITE_E_SCHEMA Handle = 0x87AF0011 + SQLITE_E_TOOBIG Handle = 0x87AF0012 + SQLITE_E_CONSTRAINT Handle = 0x87AF0013 + SQLITE_E_MISMATCH Handle = 0x87AF0014 + SQLITE_E_MISUSE Handle = 0x87AF0015 + SQLITE_E_NOLFS Handle = 0x87AF0016 + SQLITE_E_AUTH Handle = 0x87AF0017 + SQLITE_E_FORMAT Handle = 0x87AF0018 + SQLITE_E_RANGE Handle = 0x87AF0019 + SQLITE_E_NOTADB Handle = 0x87AF001A + SQLITE_E_NOTICE Handle = 0x87AF001B + SQLITE_E_WARNING Handle = 0x87AF001C + SQLITE_E_ROW Handle = 0x87AF0064 + SQLITE_E_DONE Handle = 0x87AF0065 + SQLITE_E_IOERR_READ Handle = 0x87AF010A + SQLITE_E_IOERR_SHORT_READ Handle = 0x87AF020A + SQLITE_E_IOERR_WRITE Handle = 0x87AF030A + SQLITE_E_IOERR_FSYNC Handle = 0x87AF040A + SQLITE_E_IOERR_DIR_FSYNC Handle = 0x87AF050A + SQLITE_E_IOERR_TRUNCATE Handle = 0x87AF060A + SQLITE_E_IOERR_FSTAT Handle = 0x87AF070A + SQLITE_E_IOERR_UNLOCK Handle = 0x87AF080A + SQLITE_E_IOERR_RDLOCK Handle = 0x87AF090A + SQLITE_E_IOERR_DELETE Handle = 0x87AF0A0A + SQLITE_E_IOERR_BLOCKED Handle = 0x87AF0B0A + SQLITE_E_IOERR_NOMEM Handle = 0x87AF0C0A + SQLITE_E_IOERR_ACCESS Handle = 0x87AF0D0A + SQLITE_E_IOERR_CHECKRESERVEDLOCK Handle = 0x87AF0E0A + SQLITE_E_IOERR_LOCK Handle = 0x87AF0F0A + SQLITE_E_IOERR_CLOSE Handle = 0x87AF100A + SQLITE_E_IOERR_DIR_CLOSE Handle = 0x87AF110A + SQLITE_E_IOERR_SHMOPEN Handle = 0x87AF120A + SQLITE_E_IOERR_SHMSIZE Handle = 0x87AF130A + SQLITE_E_IOERR_SHMLOCK Handle = 0x87AF140A + SQLITE_E_IOERR_SHMMAP Handle = 0x87AF150A + SQLITE_E_IOERR_SEEK Handle = 0x87AF160A + SQLITE_E_IOERR_DELETE_NOENT Handle = 0x87AF170A + SQLITE_E_IOERR_MMAP Handle = 0x87AF180A + SQLITE_E_IOERR_GETTEMPPATH Handle = 0x87AF190A + SQLITE_E_IOERR_CONVPATH Handle = 0x87AF1A0A + SQLITE_E_IOERR_VNODE Handle = 0x87AF1A02 + SQLITE_E_IOERR_AUTH Handle = 0x87AF1A03 + SQLITE_E_LOCKED_SHAREDCACHE Handle = 0x87AF0106 + SQLITE_E_BUSY_RECOVERY Handle = 0x87AF0105 + SQLITE_E_BUSY_SNAPSHOT Handle = 0x87AF0205 + SQLITE_E_CANTOPEN_NOTEMPDIR Handle = 0x87AF010E + SQLITE_E_CANTOPEN_ISDIR Handle = 0x87AF020E + SQLITE_E_CANTOPEN_FULLPATH Handle = 0x87AF030E + SQLITE_E_CANTOPEN_CONVPATH Handle = 0x87AF040E + SQLITE_E_CORRUPT_VTAB Handle = 0x87AF010B + SQLITE_E_READONLY_RECOVERY Handle = 0x87AF0108 + SQLITE_E_READONLY_CANTLOCK Handle = 0x87AF0208 + SQLITE_E_READONLY_ROLLBACK Handle = 0x87AF0308 + SQLITE_E_READONLY_DBMOVED Handle = 0x87AF0408 + SQLITE_E_ABORT_ROLLBACK Handle = 0x87AF0204 + SQLITE_E_CONSTRAINT_CHECK Handle = 0x87AF0113 + SQLITE_E_CONSTRAINT_COMMITHOOK Handle = 0x87AF0213 + SQLITE_E_CONSTRAINT_FOREIGNKEY Handle = 0x87AF0313 + SQLITE_E_CONSTRAINT_FUNCTION Handle = 0x87AF0413 + SQLITE_E_CONSTRAINT_NOTNULL Handle = 0x87AF0513 + SQLITE_E_CONSTRAINT_PRIMARYKEY Handle = 0x87AF0613 + SQLITE_E_CONSTRAINT_TRIGGER Handle = 0x87AF0713 + SQLITE_E_CONSTRAINT_UNIQUE Handle = 0x87AF0813 + SQLITE_E_CONSTRAINT_VTAB Handle = 0x87AF0913 + SQLITE_E_CONSTRAINT_ROWID Handle = 0x87AF0A13 + SQLITE_E_NOTICE_RECOVER_WAL Handle = 0x87AF011B + SQLITE_E_NOTICE_RECOVER_ROLLBACK Handle = 0x87AF021B + SQLITE_E_WARNING_AUTOINDEX Handle = 0x87AF011C + UTC_E_TOGGLE_TRACE_STARTED Handle = 0x87C51001 + UTC_E_ALTERNATIVE_TRACE_CANNOT_PREEMPT Handle = 0x87C51002 + UTC_E_AOT_NOT_RUNNING Handle = 0x87C51003 + UTC_E_SCRIPT_TYPE_INVALID Handle = 0x87C51004 + UTC_E_SCENARIODEF_NOT_FOUND Handle = 0x87C51005 + UTC_E_TRACEPROFILE_NOT_FOUND Handle = 0x87C51006 + UTC_E_FORWARDER_ALREADY_ENABLED Handle = 0x87C51007 + UTC_E_FORWARDER_ALREADY_DISABLED Handle = 0x87C51008 + UTC_E_EVENTLOG_ENTRY_MALFORMED Handle = 0x87C51009 + UTC_E_DIAGRULES_SCHEMAVERSION_MISMATCH Handle = 0x87C5100A + UTC_E_SCRIPT_TERMINATED Handle = 0x87C5100B + UTC_E_INVALID_CUSTOM_FILTER Handle = 0x87C5100C + UTC_E_TRACE_NOT_RUNNING Handle = 0x87C5100D + UTC_E_REESCALATED_TOO_QUICKLY Handle = 0x87C5100E + UTC_E_ESCALATION_ALREADY_RUNNING Handle = 0x87C5100F + UTC_E_PERFTRACK_ALREADY_TRACING Handle = 0x87C51010 + UTC_E_REACHED_MAX_ESCALATIONS Handle = 0x87C51011 + UTC_E_FORWARDER_PRODUCER_MISMATCH Handle = 0x87C51012 + UTC_E_INTENTIONAL_SCRIPT_FAILURE Handle = 0x87C51013 + UTC_E_SQM_INIT_FAILED Handle = 0x87C51014 + UTC_E_NO_WER_LOGGER_SUPPORTED Handle = 0x87C51015 + UTC_E_TRACERS_DONT_EXIST Handle = 0x87C51016 + UTC_E_WINRT_INIT_FAILED Handle = 0x87C51017 + UTC_E_SCENARIODEF_SCHEMAVERSION_MISMATCH Handle = 0x87C51018 + UTC_E_INVALID_FILTER Handle = 0x87C51019 + UTC_E_EXE_TERMINATED Handle = 0x87C5101A + UTC_E_ESCALATION_NOT_AUTHORIZED Handle = 0x87C5101B + UTC_E_SETUP_NOT_AUTHORIZED Handle = 0x87C5101C + UTC_E_CHILD_PROCESS_FAILED Handle = 0x87C5101D + UTC_E_COMMAND_LINE_NOT_AUTHORIZED Handle = 0x87C5101E + UTC_E_CANNOT_LOAD_SCENARIO_EDITOR_XML Handle = 0x87C5101F + UTC_E_ESCALATION_TIMED_OUT Handle = 0x87C51020 + UTC_E_SETUP_TIMED_OUT Handle = 0x87C51021 + UTC_E_TRIGGER_MISMATCH Handle = 0x87C51022 + UTC_E_TRIGGER_NOT_FOUND Handle = 0x87C51023 + UTC_E_SIF_NOT_SUPPORTED Handle = 0x87C51024 + UTC_E_DELAY_TERMINATED Handle = 0x87C51025 + UTC_E_DEVICE_TICKET_ERROR Handle = 0x87C51026 + UTC_E_TRACE_BUFFER_LIMIT_EXCEEDED Handle = 0x87C51027 + UTC_E_API_RESULT_UNAVAILABLE Handle = 0x87C51028 + UTC_E_RPC_TIMEOUT Handle = 0x87C51029 + UTC_E_RPC_WAIT_FAILED Handle = 0x87C5102A + UTC_E_API_BUSY Handle = 0x87C5102B + UTC_E_TRACE_MIN_DURATION_REQUIREMENT_NOT_MET Handle = 0x87C5102C + UTC_E_EXCLUSIVITY_NOT_AVAILABLE Handle = 0x87C5102D + UTC_E_GETFILE_FILE_PATH_NOT_APPROVED Handle = 0x87C5102E + UTC_E_ESCALATION_DIRECTORY_ALREADY_EXISTS Handle = 0x87C5102F + UTC_E_TIME_TRIGGER_ON_START_INVALID Handle = 0x87C51030 + UTC_E_TIME_TRIGGER_ONLY_VALID_ON_SINGLE_TRANSITION Handle = 0x87C51031 + UTC_E_TIME_TRIGGER_INVALID_TIME_RANGE Handle = 0x87C51032 + UTC_E_MULTIPLE_TIME_TRIGGER_ON_SINGLE_STATE Handle = 0x87C51033 + UTC_E_BINARY_MISSING Handle = 0x87C51034 + UTC_E_NETWORK_CAPTURE_NOT_ALLOWED Handle = 0x87C51035 + UTC_E_FAILED_TO_RESOLVE_CONTAINER_ID Handle = 0x87C51036 + UTC_E_UNABLE_TO_RESOLVE_SESSION Handle = 0x87C51037 + UTC_E_THROTTLED Handle = 0x87C51038 + UTC_E_UNAPPROVED_SCRIPT Handle = 0x87C51039 + UTC_E_SCRIPT_MISSING Handle = 0x87C5103A + UTC_E_SCENARIO_THROTTLED Handle = 0x87C5103B + UTC_E_API_NOT_SUPPORTED Handle = 0x87C5103C + UTC_E_GETFILE_EXTERNAL_PATH_NOT_APPROVED Handle = 0x87C5103D + UTC_E_TRY_GET_SCENARIO_TIMEOUT_EXCEEDED Handle = 0x87C5103E + UTC_E_CERT_REV_FAILED Handle = 0x87C5103F + UTC_E_FAILED_TO_START_NDISCAP Handle = 0x87C51040 + UTC_E_KERNELDUMP_LIMIT_REACHED Handle = 0x87C51041 + UTC_E_MISSING_AGGREGATE_EVENT_TAG Handle = 0x87C51042 + UTC_E_INVALID_AGGREGATION_STRUCT Handle = 0x87C51043 + UTC_E_ACTION_NOT_SUPPORTED_IN_DESTINATION Handle = 0x87C51044 + UTC_E_FILTER_MISSING_ATTRIBUTE Handle = 0x87C51045 + UTC_E_FILTER_INVALID_TYPE Handle = 0x87C51046 + UTC_E_FILTER_VARIABLE_NOT_FOUND Handle = 0x87C51047 + UTC_E_FILTER_FUNCTION_RESTRICTED Handle = 0x87C51048 + UTC_E_FILTER_VERSION_MISMATCH Handle = 0x87C51049 + UTC_E_FILTER_INVALID_FUNCTION Handle = 0x87C51050 + UTC_E_FILTER_INVALID_FUNCTION_PARAMS Handle = 0x87C51051 + UTC_E_FILTER_INVALID_COMMAND Handle = 0x87C51052 + UTC_E_FILTER_ILLEGAL_EVAL Handle = 0x87C51053 + UTC_E_TTTRACER_RETURNED_ERROR Handle = 0x87C51054 + UTC_E_AGENT_DIAGNOSTICS_TOO_LARGE Handle = 0x87C51055 + UTC_E_FAILED_TO_RECEIVE_AGENT_DIAGNOSTICS Handle = 0x87C51056 + UTC_E_SCENARIO_HAS_NO_ACTIONS Handle = 0x87C51057 + UTC_E_TTTRACER_STORAGE_FULL Handle = 0x87C51058 + UTC_E_INSUFFICIENT_SPACE_TO_START_TRACE Handle = 0x87C51059 + UTC_E_ESCALATION_CANCELLED_AT_SHUTDOWN Handle = 0x87C5105A + UTC_E_GETFILEINFOACTION_FILE_NOT_APPROVED Handle = 0x87C5105B + WINML_ERR_INVALID_DEVICE Handle = 0x88900001 + WINML_ERR_INVALID_BINDING Handle = 0x88900002 + WINML_ERR_VALUE_NOTFOUND Handle = 0x88900003 + WINML_ERR_SIZE_MISMATCH Handle = 0x88900004 +) diff --git a/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go b/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go new file mode 100644 index 00000000..6048ac67 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go @@ -0,0 +1,149 @@ +// Code generated by 'mkknownfolderids.bash'; DO NOT EDIT. + +package windows + +type KNOWNFOLDERID GUID + +var ( + FOLDERID_NetworkFolder = &KNOWNFOLDERID{0xd20beec4, 0x5ca8, 0x4905, [8]byte{0xae, 0x3b, 0xbf, 0x25, 0x1e, 0xa0, 0x9b, 0x53}} + FOLDERID_ComputerFolder = &KNOWNFOLDERID{0x0ac0837c, 0xbbf8, 0x452a, [8]byte{0x85, 0x0d, 0x79, 0xd0, 0x8e, 0x66, 0x7c, 0xa7}} + FOLDERID_InternetFolder = &KNOWNFOLDERID{0x4d9f7874, 0x4e0c, 0x4904, [8]byte{0x96, 0x7b, 0x40, 0xb0, 0xd2, 0x0c, 0x3e, 0x4b}} + FOLDERID_ControlPanelFolder = &KNOWNFOLDERID{0x82a74aeb, 0xaeb4, 0x465c, [8]byte{0xa0, 0x14, 0xd0, 0x97, 0xee, 0x34, 0x6d, 0x63}} + FOLDERID_PrintersFolder = &KNOWNFOLDERID{0x76fc4e2d, 0xd6ad, 0x4519, [8]byte{0xa6, 0x63, 0x37, 0xbd, 0x56, 0x06, 0x81, 0x85}} + FOLDERID_SyncManagerFolder = &KNOWNFOLDERID{0x43668bf8, 0xc14e, 0x49b2, [8]byte{0x97, 0xc9, 0x74, 0x77, 0x84, 0xd7, 0x84, 0xb7}} + FOLDERID_SyncSetupFolder = &KNOWNFOLDERID{0x0f214138, 0xb1d3, 0x4a90, [8]byte{0xbb, 0xa9, 0x27, 0xcb, 0xc0, 0xc5, 0x38, 0x9a}} + FOLDERID_ConflictFolder = &KNOWNFOLDERID{0x4bfefb45, 0x347d, 0x4006, [8]byte{0xa5, 0xbe, 0xac, 0x0c, 0xb0, 0x56, 0x71, 0x92}} + FOLDERID_SyncResultsFolder = &KNOWNFOLDERID{0x289a9a43, 0xbe44, 0x4057, [8]byte{0xa4, 0x1b, 0x58, 0x7a, 0x76, 0xd7, 0xe7, 0xf9}} + FOLDERID_RecycleBinFolder = &KNOWNFOLDERID{0xb7534046, 0x3ecb, 0x4c18, [8]byte{0xbe, 0x4e, 0x64, 0xcd, 0x4c, 0xb7, 0xd6, 0xac}} + FOLDERID_ConnectionsFolder = &KNOWNFOLDERID{0x6f0cd92b, 0x2e97, 0x45d1, [8]byte{0x88, 0xff, 0xb0, 0xd1, 0x86, 0xb8, 0xde, 0xdd}} + FOLDERID_Fonts = &KNOWNFOLDERID{0xfd228cb7, 0xae11, 0x4ae3, [8]byte{0x86, 0x4c, 0x16, 0xf3, 0x91, 0x0a, 0xb8, 0xfe}} + FOLDERID_Desktop = &KNOWNFOLDERID{0xb4bfcc3a, 0xdb2c, 0x424c, [8]byte{0xb0, 0x29, 0x7f, 0xe9, 0x9a, 0x87, 0xc6, 0x41}} + FOLDERID_Startup = &KNOWNFOLDERID{0xb97d20bb, 0xf46a, 0x4c97, [8]byte{0xba, 0x10, 0x5e, 0x36, 0x08, 0x43, 0x08, 0x54}} + FOLDERID_Programs = &KNOWNFOLDERID{0xa77f5d77, 0x2e2b, 0x44c3, [8]byte{0xa6, 0xa2, 0xab, 0xa6, 0x01, 0x05, 0x4a, 0x51}} + FOLDERID_StartMenu = &KNOWNFOLDERID{0x625b53c3, 0xab48, 0x4ec1, [8]byte{0xba, 0x1f, 0xa1, 0xef, 0x41, 0x46, 0xfc, 0x19}} + FOLDERID_Recent = &KNOWNFOLDERID{0xae50c081, 0xebd2, 0x438a, [8]byte{0x86, 0x55, 0x8a, 0x09, 0x2e, 0x34, 0x98, 0x7a}} + FOLDERID_SendTo = &KNOWNFOLDERID{0x8983036c, 0x27c0, 0x404b, [8]byte{0x8f, 0x08, 0x10, 0x2d, 0x10, 0xdc, 0xfd, 0x74}} + FOLDERID_Documents = &KNOWNFOLDERID{0xfdd39ad0, 0x238f, 0x46af, [8]byte{0xad, 0xb4, 0x6c, 0x85, 0x48, 0x03, 0x69, 0xc7}} + FOLDERID_Favorites = &KNOWNFOLDERID{0x1777f761, 0x68ad, 0x4d8a, [8]byte{0x87, 0xbd, 0x30, 0xb7, 0x59, 0xfa, 0x33, 0xdd}} + FOLDERID_NetHood = &KNOWNFOLDERID{0xc5abbf53, 0xe17f, 0x4121, [8]byte{0x89, 0x00, 0x86, 0x62, 0x6f, 0xc2, 0xc9, 0x73}} + FOLDERID_PrintHood = &KNOWNFOLDERID{0x9274bd8d, 0xcfd1, 0x41c3, [8]byte{0xb3, 0x5e, 0xb1, 0x3f, 0x55, 0xa7, 0x58, 0xf4}} + FOLDERID_Templates = &KNOWNFOLDERID{0xa63293e8, 0x664e, 0x48db, [8]byte{0xa0, 0x79, 0xdf, 0x75, 0x9e, 0x05, 0x09, 0xf7}} + FOLDERID_CommonStartup = &KNOWNFOLDERID{0x82a5ea35, 0xd9cd, 0x47c5, [8]byte{0x96, 0x29, 0xe1, 0x5d, 0x2f, 0x71, 0x4e, 0x6e}} + FOLDERID_CommonPrograms = &KNOWNFOLDERID{0x0139d44e, 0x6afe, 0x49f2, [8]byte{0x86, 0x90, 0x3d, 0xaf, 0xca, 0xe6, 0xff, 0xb8}} + FOLDERID_CommonStartMenu = &KNOWNFOLDERID{0xa4115719, 0xd62e, 0x491d, [8]byte{0xaa, 0x7c, 0xe7, 0x4b, 0x8b, 0xe3, 0xb0, 0x67}} + FOLDERID_PublicDesktop = &KNOWNFOLDERID{0xc4aa340d, 0xf20f, 0x4863, [8]byte{0xaf, 0xef, 0xf8, 0x7e, 0xf2, 0xe6, 0xba, 0x25}} + FOLDERID_ProgramData = &KNOWNFOLDERID{0x62ab5d82, 0xfdc1, 0x4dc3, [8]byte{0xa9, 0xdd, 0x07, 0x0d, 0x1d, 0x49, 0x5d, 0x97}} + FOLDERID_CommonTemplates = &KNOWNFOLDERID{0xb94237e7, 0x57ac, 0x4347, [8]byte{0x91, 0x51, 0xb0, 0x8c, 0x6c, 0x32, 0xd1, 0xf7}} + FOLDERID_PublicDocuments = &KNOWNFOLDERID{0xed4824af, 0xdce4, 0x45a8, [8]byte{0x81, 0xe2, 0xfc, 0x79, 0x65, 0x08, 0x36, 0x34}} + FOLDERID_RoamingAppData = &KNOWNFOLDERID{0x3eb685db, 0x65f9, 0x4cf6, [8]byte{0xa0, 0x3a, 0xe3, 0xef, 0x65, 0x72, 0x9f, 0x3d}} + FOLDERID_LocalAppData = &KNOWNFOLDERID{0xf1b32785, 0x6fba, 0x4fcf, [8]byte{0x9d, 0x55, 0x7b, 0x8e, 0x7f, 0x15, 0x70, 0x91}} + FOLDERID_LocalAppDataLow = &KNOWNFOLDERID{0xa520a1a4, 0x1780, 0x4ff6, [8]byte{0xbd, 0x18, 0x16, 0x73, 0x43, 0xc5, 0xaf, 0x16}} + FOLDERID_InternetCache = &KNOWNFOLDERID{0x352481e8, 0x33be, 0x4251, [8]byte{0xba, 0x85, 0x60, 0x07, 0xca, 0xed, 0xcf, 0x9d}} + FOLDERID_Cookies = &KNOWNFOLDERID{0x2b0f765d, 0xc0e9, 0x4171, [8]byte{0x90, 0x8e, 0x08, 0xa6, 0x11, 0xb8, 0x4f, 0xf6}} + FOLDERID_History = &KNOWNFOLDERID{0xd9dc8a3b, 0xb784, 0x432e, [8]byte{0xa7, 0x81, 0x5a, 0x11, 0x30, 0xa7, 0x59, 0x63}} + FOLDERID_System = &KNOWNFOLDERID{0x1ac14e77, 0x02e7, 0x4e5d, [8]byte{0xb7, 0x44, 0x2e, 0xb1, 0xae, 0x51, 0x98, 0xb7}} + FOLDERID_SystemX86 = &KNOWNFOLDERID{0xd65231b0, 0xb2f1, 0x4857, [8]byte{0xa4, 0xce, 0xa8, 0xe7, 0xc6, 0xea, 0x7d, 0x27}} + FOLDERID_Windows = &KNOWNFOLDERID{0xf38bf404, 0x1d43, 0x42f2, [8]byte{0x93, 0x05, 0x67, 0xde, 0x0b, 0x28, 0xfc, 0x23}} + FOLDERID_Profile = &KNOWNFOLDERID{0x5e6c858f, 0x0e22, 0x4760, [8]byte{0x9a, 0xfe, 0xea, 0x33, 0x17, 0xb6, 0x71, 0x73}} + FOLDERID_Pictures = &KNOWNFOLDERID{0x33e28130, 0x4e1e, 0x4676, [8]byte{0x83, 0x5a, 0x98, 0x39, 0x5c, 0x3b, 0xc3, 0xbb}} + FOLDERID_ProgramFilesX86 = &KNOWNFOLDERID{0x7c5a40ef, 0xa0fb, 0x4bfc, [8]byte{0x87, 0x4a, 0xc0, 0xf2, 0xe0, 0xb9, 0xfa, 0x8e}} + FOLDERID_ProgramFilesCommonX86 = &KNOWNFOLDERID{0xde974d24, 0xd9c6, 0x4d3e, [8]byte{0xbf, 0x91, 0xf4, 0x45, 0x51, 0x20, 0xb9, 0x17}} + FOLDERID_ProgramFilesX64 = &KNOWNFOLDERID{0x6d809377, 0x6af0, 0x444b, [8]byte{0x89, 0x57, 0xa3, 0x77, 0x3f, 0x02, 0x20, 0x0e}} + FOLDERID_ProgramFilesCommonX64 = &KNOWNFOLDERID{0x6365d5a7, 0x0f0d, 0x45e5, [8]byte{0x87, 0xf6, 0x0d, 0xa5, 0x6b, 0x6a, 0x4f, 0x7d}} + FOLDERID_ProgramFiles = &KNOWNFOLDERID{0x905e63b6, 0xc1bf, 0x494e, [8]byte{0xb2, 0x9c, 0x65, 0xb7, 0x32, 0xd3, 0xd2, 0x1a}} + FOLDERID_ProgramFilesCommon = &KNOWNFOLDERID{0xf7f1ed05, 0x9f6d, 0x47a2, [8]byte{0xaa, 0xae, 0x29, 0xd3, 0x17, 0xc6, 0xf0, 0x66}} + FOLDERID_UserProgramFiles = &KNOWNFOLDERID{0x5cd7aee2, 0x2219, 0x4a67, [8]byte{0xb8, 0x5d, 0x6c, 0x9c, 0xe1, 0x56, 0x60, 0xcb}} + FOLDERID_UserProgramFilesCommon = &KNOWNFOLDERID{0xbcbd3057, 0xca5c, 0x4622, [8]byte{0xb4, 0x2d, 0xbc, 0x56, 0xdb, 0x0a, 0xe5, 0x16}} + FOLDERID_AdminTools = &KNOWNFOLDERID{0x724ef170, 0xa42d, 0x4fef, [8]byte{0x9f, 0x26, 0xb6, 0x0e, 0x84, 0x6f, 0xba, 0x4f}} + FOLDERID_CommonAdminTools = &KNOWNFOLDERID{0xd0384e7d, 0xbac3, 0x4797, [8]byte{0x8f, 0x14, 0xcb, 0xa2, 0x29, 0xb3, 0x92, 0xb5}} + FOLDERID_Music = &KNOWNFOLDERID{0x4bd8d571, 0x6d19, 0x48d3, [8]byte{0xbe, 0x97, 0x42, 0x22, 0x20, 0x08, 0x0e, 0x43}} + FOLDERID_Videos = &KNOWNFOLDERID{0x18989b1d, 0x99b5, 0x455b, [8]byte{0x84, 0x1c, 0xab, 0x7c, 0x74, 0xe4, 0xdd, 0xfc}} + FOLDERID_Ringtones = &KNOWNFOLDERID{0xc870044b, 0xf49e, 0x4126, [8]byte{0xa9, 0xc3, 0xb5, 0x2a, 0x1f, 0xf4, 0x11, 0xe8}} + FOLDERID_PublicPictures = &KNOWNFOLDERID{0xb6ebfb86, 0x6907, 0x413c, [8]byte{0x9a, 0xf7, 0x4f, 0xc2, 0xab, 0xf0, 0x7c, 0xc5}} + FOLDERID_PublicMusic = &KNOWNFOLDERID{0x3214fab5, 0x9757, 0x4298, [8]byte{0xbb, 0x61, 0x92, 0xa9, 0xde, 0xaa, 0x44, 0xff}} + FOLDERID_PublicVideos = &KNOWNFOLDERID{0x2400183a, 0x6185, 0x49fb, [8]byte{0xa2, 0xd8, 0x4a, 0x39, 0x2a, 0x60, 0x2b, 0xa3}} + FOLDERID_PublicRingtones = &KNOWNFOLDERID{0xe555ab60, 0x153b, 0x4d17, [8]byte{0x9f, 0x04, 0xa5, 0xfe, 0x99, 0xfc, 0x15, 0xec}} + FOLDERID_ResourceDir = &KNOWNFOLDERID{0x8ad10c31, 0x2adb, 0x4296, [8]byte{0xa8, 0xf7, 0xe4, 0x70, 0x12, 0x32, 0xc9, 0x72}} + FOLDERID_LocalizedResourcesDir = &KNOWNFOLDERID{0x2a00375e, 0x224c, 0x49de, [8]byte{0xb8, 0xd1, 0x44, 0x0d, 0xf7, 0xef, 0x3d, 0xdc}} + FOLDERID_CommonOEMLinks = &KNOWNFOLDERID{0xc1bae2d0, 0x10df, 0x4334, [8]byte{0xbe, 0xdd, 0x7a, 0xa2, 0x0b, 0x22, 0x7a, 0x9d}} + FOLDERID_CDBurning = &KNOWNFOLDERID{0x9e52ab10, 0xf80d, 0x49df, [8]byte{0xac, 0xb8, 0x43, 0x30, 0xf5, 0x68, 0x78, 0x55}} + FOLDERID_UserProfiles = &KNOWNFOLDERID{0x0762d272, 0xc50a, 0x4bb0, [8]byte{0xa3, 0x82, 0x69, 0x7d, 0xcd, 0x72, 0x9b, 0x80}} + FOLDERID_Playlists = &KNOWNFOLDERID{0xde92c1c7, 0x837f, 0x4f69, [8]byte{0xa3, 0xbb, 0x86, 0xe6, 0x31, 0x20, 0x4a, 0x23}} + FOLDERID_SamplePlaylists = &KNOWNFOLDERID{0x15ca69b3, 0x30ee, 0x49c1, [8]byte{0xac, 0xe1, 0x6b, 0x5e, 0xc3, 0x72, 0xaf, 0xb5}} + FOLDERID_SampleMusic = &KNOWNFOLDERID{0xb250c668, 0xf57d, 0x4ee1, [8]byte{0xa6, 0x3c, 0x29, 0x0e, 0xe7, 0xd1, 0xaa, 0x1f}} + FOLDERID_SamplePictures = &KNOWNFOLDERID{0xc4900540, 0x2379, 0x4c75, [8]byte{0x84, 0x4b, 0x64, 0xe6, 0xfa, 0xf8, 0x71, 0x6b}} + FOLDERID_SampleVideos = &KNOWNFOLDERID{0x859ead94, 0x2e85, 0x48ad, [8]byte{0xa7, 0x1a, 0x09, 0x69, 0xcb, 0x56, 0xa6, 0xcd}} + FOLDERID_PhotoAlbums = &KNOWNFOLDERID{0x69d2cf90, 0xfc33, 0x4fb7, [8]byte{0x9a, 0x0c, 0xeb, 0xb0, 0xf0, 0xfc, 0xb4, 0x3c}} + FOLDERID_Public = &KNOWNFOLDERID{0xdfdf76a2, 0xc82a, 0x4d63, [8]byte{0x90, 0x6a, 0x56, 0x44, 0xac, 0x45, 0x73, 0x85}} + FOLDERID_ChangeRemovePrograms = &KNOWNFOLDERID{0xdf7266ac, 0x9274, 0x4867, [8]byte{0x8d, 0x55, 0x3b, 0xd6, 0x61, 0xde, 0x87, 0x2d}} + FOLDERID_AppUpdates = &KNOWNFOLDERID{0xa305ce99, 0xf527, 0x492b, [8]byte{0x8b, 0x1a, 0x7e, 0x76, 0xfa, 0x98, 0xd6, 0xe4}} + FOLDERID_AddNewPrograms = &KNOWNFOLDERID{0xde61d971, 0x5ebc, 0x4f02, [8]byte{0xa3, 0xa9, 0x6c, 0x82, 0x89, 0x5e, 0x5c, 0x04}} + FOLDERID_Downloads = &KNOWNFOLDERID{0x374de290, 0x123f, 0x4565, [8]byte{0x91, 0x64, 0x39, 0xc4, 0x92, 0x5e, 0x46, 0x7b}} + FOLDERID_PublicDownloads = &KNOWNFOLDERID{0x3d644c9b, 0x1fb8, 0x4f30, [8]byte{0x9b, 0x45, 0xf6, 0x70, 0x23, 0x5f, 0x79, 0xc0}} + FOLDERID_SavedSearches = &KNOWNFOLDERID{0x7d1d3a04, 0xdebb, 0x4115, [8]byte{0x95, 0xcf, 0x2f, 0x29, 0xda, 0x29, 0x20, 0xda}} + FOLDERID_QuickLaunch = &KNOWNFOLDERID{0x52a4f021, 0x7b75, 0x48a9, [8]byte{0x9f, 0x6b, 0x4b, 0x87, 0xa2, 0x10, 0xbc, 0x8f}} + FOLDERID_Contacts = &KNOWNFOLDERID{0x56784854, 0xc6cb, 0x462b, [8]byte{0x81, 0x69, 0x88, 0xe3, 0x50, 0xac, 0xb8, 0x82}} + FOLDERID_SidebarParts = &KNOWNFOLDERID{0xa75d362e, 0x50fc, 0x4fb7, [8]byte{0xac, 0x2c, 0xa8, 0xbe, 0xaa, 0x31, 0x44, 0x93}} + FOLDERID_SidebarDefaultParts = &KNOWNFOLDERID{0x7b396e54, 0x9ec5, 0x4300, [8]byte{0xbe, 0x0a, 0x24, 0x82, 0xeb, 0xae, 0x1a, 0x26}} + FOLDERID_PublicGameTasks = &KNOWNFOLDERID{0xdebf2536, 0xe1a8, 0x4c59, [8]byte{0xb6, 0xa2, 0x41, 0x45, 0x86, 0x47, 0x6a, 0xea}} + FOLDERID_GameTasks = &KNOWNFOLDERID{0x054fae61, 0x4dd8, 0x4787, [8]byte{0x80, 0xb6, 0x09, 0x02, 0x20, 0xc4, 0xb7, 0x00}} + FOLDERID_SavedGames = &KNOWNFOLDERID{0x4c5c32ff, 0xbb9d, 0x43b0, [8]byte{0xb5, 0xb4, 0x2d, 0x72, 0xe5, 0x4e, 0xaa, 0xa4}} + FOLDERID_Games = &KNOWNFOLDERID{0xcac52c1a, 0xb53d, 0x4edc, [8]byte{0x92, 0xd7, 0x6b, 0x2e, 0x8a, 0xc1, 0x94, 0x34}} + FOLDERID_SEARCH_MAPI = &KNOWNFOLDERID{0x98ec0e18, 0x2098, 0x4d44, [8]byte{0x86, 0x44, 0x66, 0x97, 0x93, 0x15, 0xa2, 0x81}} + FOLDERID_SEARCH_CSC = &KNOWNFOLDERID{0xee32e446, 0x31ca, 0x4aba, [8]byte{0x81, 0x4f, 0xa5, 0xeb, 0xd2, 0xfd, 0x6d, 0x5e}} + FOLDERID_Links = &KNOWNFOLDERID{0xbfb9d5e0, 0xc6a9, 0x404c, [8]byte{0xb2, 0xb2, 0xae, 0x6d, 0xb6, 0xaf, 0x49, 0x68}} + FOLDERID_UsersFiles = &KNOWNFOLDERID{0xf3ce0f7c, 0x4901, 0x4acc, [8]byte{0x86, 0x48, 0xd5, 0xd4, 0x4b, 0x04, 0xef, 0x8f}} + FOLDERID_UsersLibraries = &KNOWNFOLDERID{0xa302545d, 0xdeff, 0x464b, [8]byte{0xab, 0xe8, 0x61, 0xc8, 0x64, 0x8d, 0x93, 0x9b}} + FOLDERID_SearchHome = &KNOWNFOLDERID{0x190337d1, 0xb8ca, 0x4121, [8]byte{0xa6, 0x39, 0x6d, 0x47, 0x2d, 0x16, 0x97, 0x2a}} + FOLDERID_OriginalImages = &KNOWNFOLDERID{0x2c36c0aa, 0x5812, 0x4b87, [8]byte{0xbf, 0xd0, 0x4c, 0xd0, 0xdf, 0xb1, 0x9b, 0x39}} + FOLDERID_DocumentsLibrary = &KNOWNFOLDERID{0x7b0db17d, 0x9cd2, 0x4a93, [8]byte{0x97, 0x33, 0x46, 0xcc, 0x89, 0x02, 0x2e, 0x7c}} + FOLDERID_MusicLibrary = &KNOWNFOLDERID{0x2112ab0a, 0xc86a, 0x4ffe, [8]byte{0xa3, 0x68, 0x0d, 0xe9, 0x6e, 0x47, 0x01, 0x2e}} + FOLDERID_PicturesLibrary = &KNOWNFOLDERID{0xa990ae9f, 0xa03b, 0x4e80, [8]byte{0x94, 0xbc, 0x99, 0x12, 0xd7, 0x50, 0x41, 0x04}} + FOLDERID_VideosLibrary = &KNOWNFOLDERID{0x491e922f, 0x5643, 0x4af4, [8]byte{0xa7, 0xeb, 0x4e, 0x7a, 0x13, 0x8d, 0x81, 0x74}} + FOLDERID_RecordedTVLibrary = &KNOWNFOLDERID{0x1a6fdba2, 0xf42d, 0x4358, [8]byte{0xa7, 0x98, 0xb7, 0x4d, 0x74, 0x59, 0x26, 0xc5}} + FOLDERID_HomeGroup = &KNOWNFOLDERID{0x52528a6b, 0xb9e3, 0x4add, [8]byte{0xb6, 0x0d, 0x58, 0x8c, 0x2d, 0xba, 0x84, 0x2d}} + FOLDERID_HomeGroupCurrentUser = &KNOWNFOLDERID{0x9b74b6a3, 0x0dfd, 0x4f11, [8]byte{0x9e, 0x78, 0x5f, 0x78, 0x00, 0xf2, 0xe7, 0x72}} + FOLDERID_DeviceMetadataStore = &KNOWNFOLDERID{0x5ce4a5e9, 0xe4eb, 0x479d, [8]byte{0xb8, 0x9f, 0x13, 0x0c, 0x02, 0x88, 0x61, 0x55}} + FOLDERID_Libraries = &KNOWNFOLDERID{0x1b3ea5dc, 0xb587, 0x4786, [8]byte{0xb4, 0xef, 0xbd, 0x1d, 0xc3, 0x32, 0xae, 0xae}} + FOLDERID_PublicLibraries = &KNOWNFOLDERID{0x48daf80b, 0xe6cf, 0x4f4e, [8]byte{0xb8, 0x00, 0x0e, 0x69, 0xd8, 0x4e, 0xe3, 0x84}} + FOLDERID_UserPinned = &KNOWNFOLDERID{0x9e3995ab, 0x1f9c, 0x4f13, [8]byte{0xb8, 0x27, 0x48, 0xb2, 0x4b, 0x6c, 0x71, 0x74}} + FOLDERID_ImplicitAppShortcuts = &KNOWNFOLDERID{0xbcb5256f, 0x79f6, 0x4cee, [8]byte{0xb7, 0x25, 0xdc, 0x34, 0xe4, 0x02, 0xfd, 0x46}} + FOLDERID_AccountPictures = &KNOWNFOLDERID{0x008ca0b1, 0x55b4, 0x4c56, [8]byte{0xb8, 0xa8, 0x4d, 0xe4, 0xb2, 0x99, 0xd3, 0xbe}} + FOLDERID_PublicUserTiles = &KNOWNFOLDERID{0x0482af6c, 0x08f1, 0x4c34, [8]byte{0x8c, 0x90, 0xe1, 0x7e, 0xc9, 0x8b, 0x1e, 0x17}} + FOLDERID_AppsFolder = &KNOWNFOLDERID{0x1e87508d, 0x89c2, 0x42f0, [8]byte{0x8a, 0x7e, 0x64, 0x5a, 0x0f, 0x50, 0xca, 0x58}} + FOLDERID_StartMenuAllPrograms = &KNOWNFOLDERID{0xf26305ef, 0x6948, 0x40b9, [8]byte{0xb2, 0x55, 0x81, 0x45, 0x3d, 0x09, 0xc7, 0x85}} + FOLDERID_CommonStartMenuPlaces = &KNOWNFOLDERID{0xa440879f, 0x87a0, 0x4f7d, [8]byte{0xb7, 0x00, 0x02, 0x07, 0xb9, 0x66, 0x19, 0x4a}} + FOLDERID_ApplicationShortcuts = &KNOWNFOLDERID{0xa3918781, 0xe5f2, 0x4890, [8]byte{0xb3, 0xd9, 0xa7, 0xe5, 0x43, 0x32, 0x32, 0x8c}} + FOLDERID_RoamingTiles = &KNOWNFOLDERID{0x00bcfc5a, 0xed94, 0x4e48, [8]byte{0x96, 0xa1, 0x3f, 0x62, 0x17, 0xf2, 0x19, 0x90}} + FOLDERID_RoamedTileImages = &KNOWNFOLDERID{0xaaa8d5a5, 0xf1d6, 0x4259, [8]byte{0xba, 0xa8, 0x78, 0xe7, 0xef, 0x60, 0x83, 0x5e}} + FOLDERID_Screenshots = &KNOWNFOLDERID{0xb7bede81, 0xdf94, 0x4682, [8]byte{0xa7, 0xd8, 0x57, 0xa5, 0x26, 0x20, 0xb8, 0x6f}} + FOLDERID_CameraRoll = &KNOWNFOLDERID{0xab5fb87b, 0x7ce2, 0x4f83, [8]byte{0x91, 0x5d, 0x55, 0x08, 0x46, 0xc9, 0x53, 0x7b}} + FOLDERID_SkyDrive = &KNOWNFOLDERID{0xa52bba46, 0xe9e1, 0x435f, [8]byte{0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}} + FOLDERID_OneDrive = &KNOWNFOLDERID{0xa52bba46, 0xe9e1, 0x435f, [8]byte{0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}} + FOLDERID_SkyDriveDocuments = &KNOWNFOLDERID{0x24d89e24, 0x2f19, 0x4534, [8]byte{0x9d, 0xde, 0x6a, 0x66, 0x71, 0xfb, 0xb8, 0xfe}} + FOLDERID_SkyDrivePictures = &KNOWNFOLDERID{0x339719b5, 0x8c47, 0x4894, [8]byte{0x94, 0xc2, 0xd8, 0xf7, 0x7a, 0xdd, 0x44, 0xa6}} + FOLDERID_SkyDriveMusic = &KNOWNFOLDERID{0xc3f2459e, 0x80d6, 0x45dc, [8]byte{0xbf, 0xef, 0x1f, 0x76, 0x9f, 0x2b, 0xe7, 0x30}} + FOLDERID_SkyDriveCameraRoll = &KNOWNFOLDERID{0x767e6811, 0x49cb, 0x4273, [8]byte{0x87, 0xc2, 0x20, 0xf3, 0x55, 0xe1, 0x08, 0x5b}} + FOLDERID_SearchHistory = &KNOWNFOLDERID{0x0d4c3db6, 0x03a3, 0x462f, [8]byte{0xa0, 0xe6, 0x08, 0x92, 0x4c, 0x41, 0xb5, 0xd4}} + FOLDERID_SearchTemplates = &KNOWNFOLDERID{0x7e636bfe, 0xdfa9, 0x4d5e, [8]byte{0xb4, 0x56, 0xd7, 0xb3, 0x98, 0x51, 0xd8, 0xa9}} + FOLDERID_CameraRollLibrary = &KNOWNFOLDERID{0x2b20df75, 0x1eda, 0x4039, [8]byte{0x80, 0x97, 0x38, 0x79, 0x82, 0x27, 0xd5, 0xb7}} + FOLDERID_SavedPictures = &KNOWNFOLDERID{0x3b193882, 0xd3ad, 0x4eab, [8]byte{0x96, 0x5a, 0x69, 0x82, 0x9d, 0x1f, 0xb5, 0x9f}} + FOLDERID_SavedPicturesLibrary = &KNOWNFOLDERID{0xe25b5812, 0xbe88, 0x4bd9, [8]byte{0x94, 0xb0, 0x29, 0x23, 0x34, 0x77, 0xb6, 0xc3}} + FOLDERID_RetailDemo = &KNOWNFOLDERID{0x12d4c69e, 0x24ad, 0x4923, [8]byte{0xbe, 0x19, 0x31, 0x32, 0x1c, 0x43, 0xa7, 0x67}} + FOLDERID_Device = &KNOWNFOLDERID{0x1c2ac1dc, 0x4358, 0x4b6c, [8]byte{0x97, 0x33, 0xaf, 0x21, 0x15, 0x65, 0x76, 0xf0}} + FOLDERID_DevelopmentFiles = &KNOWNFOLDERID{0xdbe8e08e, 0x3053, 0x4bbc, [8]byte{0xb1, 0x83, 0x2a, 0x7b, 0x2b, 0x19, 0x1e, 0x59}} + FOLDERID_Objects3D = &KNOWNFOLDERID{0x31c0dd25, 0x9439, 0x4f12, [8]byte{0xbf, 0x41, 0x7f, 0xf4, 0xed, 0xa3, 0x87, 0x22}} + FOLDERID_AppCaptures = &KNOWNFOLDERID{0xedc0fe71, 0x98d8, 0x4f4a, [8]byte{0xb9, 0x20, 0xc8, 0xdc, 0x13, 0x3c, 0xb1, 0x65}} + FOLDERID_LocalDocuments = &KNOWNFOLDERID{0xf42ee2d3, 0x909f, 0x4907, [8]byte{0x88, 0x71, 0x4c, 0x22, 0xfc, 0x0b, 0xf7, 0x56}} + FOLDERID_LocalPictures = &KNOWNFOLDERID{0x0ddd015d, 0xb06c, 0x45d5, [8]byte{0x8c, 0x4c, 0xf5, 0x97, 0x13, 0x85, 0x46, 0x39}} + FOLDERID_LocalVideos = &KNOWNFOLDERID{0x35286a68, 0x3c57, 0x41a1, [8]byte{0xbb, 0xb1, 0x0e, 0xae, 0x73, 0xd7, 0x6c, 0x95}} + FOLDERID_LocalMusic = &KNOWNFOLDERID{0xa0c69a99, 0x21c8, 0x4671, [8]byte{0x87, 0x03, 0x79, 0x34, 0x16, 0x2f, 0xcf, 0x1d}} + FOLDERID_LocalDownloads = &KNOWNFOLDERID{0x7d83ee9b, 0x2244, 0x4e70, [8]byte{0xb1, 0xf5, 0x53, 0x93, 0x04, 0x2a, 0xf1, 0xe4}} + FOLDERID_RecordedCalls = &KNOWNFOLDERID{0x2f8b40c2, 0x83ed, 0x48ee, [8]byte{0xb3, 0x83, 0xa1, 0xf1, 0x57, 0xec, 0x6f, 0x9a}} + FOLDERID_AllAppMods = &KNOWNFOLDERID{0x7ad67899, 0x66af, 0x43ba, [8]byte{0x91, 0x56, 0x6a, 0xad, 0x42, 0xe6, 0xc5, 0x96}} + FOLDERID_CurrentAppMods = &KNOWNFOLDERID{0x3db40b20, 0x2a30, 0x4dbe, [8]byte{0x91, 0x7e, 0x77, 0x1d, 0xd2, 0x1d, 0xd0, 0x99}} + FOLDERID_AppDataDesktop = &KNOWNFOLDERID{0xb2c5e279, 0x7add, 0x439f, [8]byte{0xb2, 0x8c, 0xc4, 0x1f, 0xe1, 0xbb, 0xf6, 0x72}} + FOLDERID_AppDataDocuments = &KNOWNFOLDERID{0x7be16610, 0x1f7f, 0x44ac, [8]byte{0xbf, 0xf0, 0x83, 0xe1, 0x5f, 0x2f, 0xfc, 0xa1}} + FOLDERID_AppDataFavorites = &KNOWNFOLDERID{0x7cfbefbc, 0xde1f, 0x45aa, [8]byte{0xb8, 0x43, 0xa5, 0x42, 0xac, 0x53, 0x6c, 0xc9}} + FOLDERID_AppDataProgramData = &KNOWNFOLDERID{0x559d40a3, 0xa036, 0x40fa, [8]byte{0xaf, 0x61, 0x84, 0xcb, 0x43, 0x0a, 0x4d, 0x34}} +) diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go new file mode 100644 index 00000000..ace2c19e --- /dev/null +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -0,0 +1,3933 @@ +// Code generated by 'go generate'; DO NOT EDIT. + +package windows + +import ( + "syscall" + "unsafe" +) + +var _ unsafe.Pointer + +// Do the interface allocations only once for common +// Errno values. +const ( + errnoERROR_IO_PENDING = 997 +) + +var ( + errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e syscall.Errno) error { + switch e { + case 0: + return nil + case errnoERROR_IO_PENDING: + return errERROR_IO_PENDING + } + // TODO: add more here, after collecting data on the common + // error values see on Windows. (perhaps when running + // all.bat?) + return e +} + +var ( + modadvapi32 = NewLazySystemDLL("advapi32.dll") + modkernel32 = NewLazySystemDLL("kernel32.dll") + modshell32 = NewLazySystemDLL("shell32.dll") + moduserenv = NewLazySystemDLL("userenv.dll") + modmswsock = NewLazySystemDLL("mswsock.dll") + modcrypt32 = NewLazySystemDLL("crypt32.dll") + moduser32 = NewLazySystemDLL("user32.dll") + modole32 = NewLazySystemDLL("ole32.dll") + modntdll = NewLazySystemDLL("ntdll.dll") + modws2_32 = NewLazySystemDLL("ws2_32.dll") + moddnsapi = NewLazySystemDLL("dnsapi.dll") + modiphlpapi = NewLazySystemDLL("iphlpapi.dll") + modsecur32 = NewLazySystemDLL("secur32.dll") + modnetapi32 = NewLazySystemDLL("netapi32.dll") + modwtsapi32 = NewLazySystemDLL("wtsapi32.dll") + + procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW") + procDeregisterEventSource = modadvapi32.NewProc("DeregisterEventSource") + procReportEventW = modadvapi32.NewProc("ReportEventW") + procOpenSCManagerW = modadvapi32.NewProc("OpenSCManagerW") + procCloseServiceHandle = modadvapi32.NewProc("CloseServiceHandle") + procCreateServiceW = modadvapi32.NewProc("CreateServiceW") + procOpenServiceW = modadvapi32.NewProc("OpenServiceW") + procDeleteService = modadvapi32.NewProc("DeleteService") + procStartServiceW = modadvapi32.NewProc("StartServiceW") + procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus") + procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW") + procControlService = modadvapi32.NewProc("ControlService") + procStartServiceCtrlDispatcherW = modadvapi32.NewProc("StartServiceCtrlDispatcherW") + procSetServiceStatus = modadvapi32.NewProc("SetServiceStatus") + procChangeServiceConfigW = modadvapi32.NewProc("ChangeServiceConfigW") + procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW") + procChangeServiceConfig2W = modadvapi32.NewProc("ChangeServiceConfig2W") + procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W") + procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW") + procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx") + procNotifyServiceStatusChangeW = modadvapi32.NewProc("NotifyServiceStatusChangeW") + procGetLastError = modkernel32.NewProc("GetLastError") + procLoadLibraryW = modkernel32.NewProc("LoadLibraryW") + procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW") + procFreeLibrary = modkernel32.NewProc("FreeLibrary") + procGetProcAddress = modkernel32.NewProc("GetProcAddress") + procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW") + procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW") + procGetVersion = modkernel32.NewProc("GetVersion") + procFormatMessageW = modkernel32.NewProc("FormatMessageW") + procExitProcess = modkernel32.NewProc("ExitProcess") + procIsWow64Process = modkernel32.NewProc("IsWow64Process") + procCreateFileW = modkernel32.NewProc("CreateFileW") + procReadFile = modkernel32.NewProc("ReadFile") + procWriteFile = modkernel32.NewProc("WriteFile") + procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult") + procSetFilePointer = modkernel32.NewProc("SetFilePointer") + procCloseHandle = modkernel32.NewProc("CloseHandle") + procGetStdHandle = modkernel32.NewProc("GetStdHandle") + procSetStdHandle = modkernel32.NewProc("SetStdHandle") + procFindFirstFileW = modkernel32.NewProc("FindFirstFileW") + procFindNextFileW = modkernel32.NewProc("FindNextFileW") + procFindClose = modkernel32.NewProc("FindClose") + procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle") + procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx") + procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW") + procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW") + procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW") + procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW") + procDeleteFileW = modkernel32.NewProc("DeleteFileW") + procMoveFileW = modkernel32.NewProc("MoveFileW") + procMoveFileExW = modkernel32.NewProc("MoveFileExW") + procLockFileEx = modkernel32.NewProc("LockFileEx") + procUnlockFileEx = modkernel32.NewProc("UnlockFileEx") + procGetComputerNameW = modkernel32.NewProc("GetComputerNameW") + procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") + procSetEndOfFile = modkernel32.NewProc("SetEndOfFile") + procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime") + procGetSystemTimePreciseAsFileTime = modkernel32.NewProc("GetSystemTimePreciseAsFileTime") + procGetTimeZoneInformation = modkernel32.NewProc("GetTimeZoneInformation") + procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort") + procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus") + procPostQueuedCompletionStatus = modkernel32.NewProc("PostQueuedCompletionStatus") + procCancelIo = modkernel32.NewProc("CancelIo") + procCancelIoEx = modkernel32.NewProc("CancelIoEx") + procCreateProcessW = modkernel32.NewProc("CreateProcessW") + procOpenProcess = modkernel32.NewProc("OpenProcess") + procShellExecuteW = modshell32.NewProc("ShellExecuteW") + procSHGetKnownFolderPath = modshell32.NewProc("SHGetKnownFolderPath") + procTerminateProcess = modkernel32.NewProc("TerminateProcess") + procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") + procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") + procGetProcessTimes = modkernel32.NewProc("GetProcessTimes") + procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") + procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") + procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects") + procGetTempPathW = modkernel32.NewProc("GetTempPathW") + procCreatePipe = modkernel32.NewProc("CreatePipe") + procGetFileType = modkernel32.NewProc("GetFileType") + procCryptAcquireContextW = modadvapi32.NewProc("CryptAcquireContextW") + procCryptReleaseContext = modadvapi32.NewProc("CryptReleaseContext") + procCryptGenRandom = modadvapi32.NewProc("CryptGenRandom") + procGetEnvironmentStringsW = modkernel32.NewProc("GetEnvironmentStringsW") + procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW") + procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW") + procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW") + procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") + procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") + procGetTickCount64 = modkernel32.NewProc("GetTickCount64") + procSetFileTime = modkernel32.NewProc("SetFileTime") + procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW") + procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW") + procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW") + procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") + procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW") + procLocalFree = modkernel32.NewProc("LocalFree") + procSetHandleInformation = modkernel32.NewProc("SetHandleInformation") + procFlushFileBuffers = modkernel32.NewProc("FlushFileBuffers") + procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW") + procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW") + procGetShortPathNameW = modkernel32.NewProc("GetShortPathNameW") + procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW") + procMapViewOfFile = modkernel32.NewProc("MapViewOfFile") + procUnmapViewOfFile = modkernel32.NewProc("UnmapViewOfFile") + procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile") + procVirtualLock = modkernel32.NewProc("VirtualLock") + procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") + procVirtualAlloc = modkernel32.NewProc("VirtualAlloc") + procVirtualFree = modkernel32.NewProc("VirtualFree") + procVirtualProtect = modkernel32.NewProc("VirtualProtect") + procTransmitFile = modmswsock.NewProc("TransmitFile") + procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") + procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW") + procCertOpenStore = modcrypt32.NewProc("CertOpenStore") + procCertEnumCertificatesInStore = modcrypt32.NewProc("CertEnumCertificatesInStore") + procCertAddCertificateContextToStore = modcrypt32.NewProc("CertAddCertificateContextToStore") + procCertCloseStore = modcrypt32.NewProc("CertCloseStore") + procCertGetCertificateChain = modcrypt32.NewProc("CertGetCertificateChain") + procCertFreeCertificateChain = modcrypt32.NewProc("CertFreeCertificateChain") + procCertCreateCertificateContext = modcrypt32.NewProc("CertCreateCertificateContext") + procCertFreeCertificateContext = modcrypt32.NewProc("CertFreeCertificateContext") + procCertVerifyCertificateChainPolicy = modcrypt32.NewProc("CertVerifyCertificateChainPolicy") + procRegOpenKeyExW = modadvapi32.NewProc("RegOpenKeyExW") + procRegCloseKey = modadvapi32.NewProc("RegCloseKey") + procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW") + procRegEnumKeyExW = modadvapi32.NewProc("RegEnumKeyExW") + procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") + procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") + procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") + procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") + procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo") + procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") + procReadConsoleW = modkernel32.NewProc("ReadConsoleW") + procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot") + procProcess32FirstW = modkernel32.NewProc("Process32FirstW") + procProcess32NextW = modkernel32.NewProc("Process32NextW") + procThread32First = modkernel32.NewProc("Thread32First") + procThread32Next = modkernel32.NewProc("Thread32Next") + procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") + procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW") + procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW") + procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId") + procCreateEventW = modkernel32.NewProc("CreateEventW") + procCreateEventExW = modkernel32.NewProc("CreateEventExW") + procOpenEventW = modkernel32.NewProc("OpenEventW") + procSetEvent = modkernel32.NewProc("SetEvent") + procResetEvent = modkernel32.NewProc("ResetEvent") + procPulseEvent = modkernel32.NewProc("PulseEvent") + procCreateMutexW = modkernel32.NewProc("CreateMutexW") + procCreateMutexExW = modkernel32.NewProc("CreateMutexExW") + procOpenMutexW = modkernel32.NewProc("OpenMutexW") + procReleaseMutex = modkernel32.NewProc("ReleaseMutex") + procSleepEx = modkernel32.NewProc("SleepEx") + procCreateJobObjectW = modkernel32.NewProc("CreateJobObjectW") + procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") + procTerminateJobObject = modkernel32.NewProc("TerminateJobObject") + procSetErrorMode = modkernel32.NewProc("SetErrorMode") + procResumeThread = modkernel32.NewProc("ResumeThread") + procSetPriorityClass = modkernel32.NewProc("SetPriorityClass") + procGetPriorityClass = modkernel32.NewProc("GetPriorityClass") + procSetInformationJobObject = modkernel32.NewProc("SetInformationJobObject") + procGenerateConsoleCtrlEvent = modkernel32.NewProc("GenerateConsoleCtrlEvent") + procGetProcessId = modkernel32.NewProc("GetProcessId") + procOpenThread = modkernel32.NewProc("OpenThread") + procSetProcessPriorityBoost = modkernel32.NewProc("SetProcessPriorityBoost") + procDefineDosDeviceW = modkernel32.NewProc("DefineDosDeviceW") + procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW") + procFindFirstVolumeW = modkernel32.NewProc("FindFirstVolumeW") + procFindFirstVolumeMountPointW = modkernel32.NewProc("FindFirstVolumeMountPointW") + procFindNextVolumeW = modkernel32.NewProc("FindNextVolumeW") + procFindNextVolumeMountPointW = modkernel32.NewProc("FindNextVolumeMountPointW") + procFindVolumeClose = modkernel32.NewProc("FindVolumeClose") + procFindVolumeMountPointClose = modkernel32.NewProc("FindVolumeMountPointClose") + procGetDriveTypeW = modkernel32.NewProc("GetDriveTypeW") + procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") + procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") + procGetVolumeInformationW = modkernel32.NewProc("GetVolumeInformationW") + procGetVolumeInformationByHandleW = modkernel32.NewProc("GetVolumeInformationByHandleW") + procGetVolumeNameForVolumeMountPointW = modkernel32.NewProc("GetVolumeNameForVolumeMountPointW") + procGetVolumePathNameW = modkernel32.NewProc("GetVolumePathNameW") + procGetVolumePathNamesForVolumeNameW = modkernel32.NewProc("GetVolumePathNamesForVolumeNameW") + procQueryDosDeviceW = modkernel32.NewProc("QueryDosDeviceW") + procSetVolumeLabelW = modkernel32.NewProc("SetVolumeLabelW") + procSetVolumeMountPointW = modkernel32.NewProc("SetVolumeMountPointW") + procMessageBoxW = moduser32.NewProc("MessageBoxW") + procExitWindowsEx = moduser32.NewProc("ExitWindowsEx") + procInitiateSystemShutdownExW = modadvapi32.NewProc("InitiateSystemShutdownExW") + procSetProcessShutdownParameters = modkernel32.NewProc("SetProcessShutdownParameters") + procGetProcessShutdownParameters = modkernel32.NewProc("GetProcessShutdownParameters") + procCLSIDFromString = modole32.NewProc("CLSIDFromString") + procStringFromGUID2 = modole32.NewProc("StringFromGUID2") + procCoCreateGuid = modole32.NewProc("CoCreateGuid") + procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") + procRtlGetVersion = modntdll.NewProc("RtlGetVersion") + procRtlGetNtVersionNumbers = modntdll.NewProc("RtlGetNtVersionNumbers") + procWSAStartup = modws2_32.NewProc("WSAStartup") + procWSACleanup = modws2_32.NewProc("WSACleanup") + procWSAIoctl = modws2_32.NewProc("WSAIoctl") + procsocket = modws2_32.NewProc("socket") + procsetsockopt = modws2_32.NewProc("setsockopt") + procgetsockopt = modws2_32.NewProc("getsockopt") + procbind = modws2_32.NewProc("bind") + procconnect = modws2_32.NewProc("connect") + procgetsockname = modws2_32.NewProc("getsockname") + procgetpeername = modws2_32.NewProc("getpeername") + proclisten = modws2_32.NewProc("listen") + procshutdown = modws2_32.NewProc("shutdown") + procclosesocket = modws2_32.NewProc("closesocket") + procAcceptEx = modmswsock.NewProc("AcceptEx") + procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs") + procWSARecv = modws2_32.NewProc("WSARecv") + procWSASend = modws2_32.NewProc("WSASend") + procWSARecvFrom = modws2_32.NewProc("WSARecvFrom") + procWSASendTo = modws2_32.NewProc("WSASendTo") + procgethostbyname = modws2_32.NewProc("gethostbyname") + procgetservbyname = modws2_32.NewProc("getservbyname") + procntohs = modws2_32.NewProc("ntohs") + procgetprotobyname = modws2_32.NewProc("getprotobyname") + procDnsQuery_W = moddnsapi.NewProc("DnsQuery_W") + procDnsRecordListFree = moddnsapi.NewProc("DnsRecordListFree") + procDnsNameCompare_W = moddnsapi.NewProc("DnsNameCompare_W") + procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") + procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") + procGetIfEntry = modiphlpapi.NewProc("GetIfEntry") + procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo") + procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes") + procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") + procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses") + procGetACP = modkernel32.NewProc("GetACP") + procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar") + procTranslateNameW = modsecur32.NewProc("TranslateNameW") + procGetUserNameExW = modsecur32.NewProc("GetUserNameExW") + procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo") + procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation") + procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree") + procLookupAccountSidW = modadvapi32.NewProc("LookupAccountSidW") + procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW") + procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW") + procConvertStringSidToSidW = modadvapi32.NewProc("ConvertStringSidToSidW") + procGetLengthSid = modadvapi32.NewProc("GetLengthSid") + procCopySid = modadvapi32.NewProc("CopySid") + procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid") + procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") + procIsWellKnownSid = modadvapi32.NewProc("IsWellKnownSid") + procFreeSid = modadvapi32.NewProc("FreeSid") + procEqualSid = modadvapi32.NewProc("EqualSid") + procGetSidIdentifierAuthority = modadvapi32.NewProc("GetSidIdentifierAuthority") + procGetSidSubAuthorityCount = modadvapi32.NewProc("GetSidSubAuthorityCount") + procGetSidSubAuthority = modadvapi32.NewProc("GetSidSubAuthority") + procIsValidSid = modadvapi32.NewProc("IsValidSid") + procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership") + procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") + procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") + procImpersonateSelf = modadvapi32.NewProc("ImpersonateSelf") + procRevertToSelf = modadvapi32.NewProc("RevertToSelf") + procSetThreadToken = modadvapi32.NewProc("SetThreadToken") + procLookupPrivilegeValueW = modadvapi32.NewProc("LookupPrivilegeValueW") + procAdjustTokenPrivileges = modadvapi32.NewProc("AdjustTokenPrivileges") + procAdjustTokenGroups = modadvapi32.NewProc("AdjustTokenGroups") + procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") + procSetTokenInformation = modadvapi32.NewProc("SetTokenInformation") + procDuplicateTokenEx = modadvapi32.NewProc("DuplicateTokenEx") + procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") + procGetSystemDirectoryW = modkernel32.NewProc("GetSystemDirectoryW") + procGetWindowsDirectoryW = modkernel32.NewProc("GetWindowsDirectoryW") + procGetSystemWindowsDirectoryW = modkernel32.NewProc("GetSystemWindowsDirectoryW") + procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") + procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") + procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") + procGetSecurityInfo = modadvapi32.NewProc("GetSecurityInfo") + procSetSecurityInfo = modadvapi32.NewProc("SetSecurityInfo") + procGetNamedSecurityInfoW = modadvapi32.NewProc("GetNamedSecurityInfoW") + procSetNamedSecurityInfoW = modadvapi32.NewProc("SetNamedSecurityInfoW") + procBuildSecurityDescriptorW = modadvapi32.NewProc("BuildSecurityDescriptorW") + procInitializeSecurityDescriptor = modadvapi32.NewProc("InitializeSecurityDescriptor") + procGetSecurityDescriptorControl = modadvapi32.NewProc("GetSecurityDescriptorControl") + procGetSecurityDescriptorDacl = modadvapi32.NewProc("GetSecurityDescriptorDacl") + procGetSecurityDescriptorSacl = modadvapi32.NewProc("GetSecurityDescriptorSacl") + procGetSecurityDescriptorOwner = modadvapi32.NewProc("GetSecurityDescriptorOwner") + procGetSecurityDescriptorGroup = modadvapi32.NewProc("GetSecurityDescriptorGroup") + procGetSecurityDescriptorLength = modadvapi32.NewProc("GetSecurityDescriptorLength") + procGetSecurityDescriptorRMControl = modadvapi32.NewProc("GetSecurityDescriptorRMControl") + procIsValidSecurityDescriptor = modadvapi32.NewProc("IsValidSecurityDescriptor") + procSetSecurityDescriptorControl = modadvapi32.NewProc("SetSecurityDescriptorControl") + procSetSecurityDescriptorDacl = modadvapi32.NewProc("SetSecurityDescriptorDacl") + procSetSecurityDescriptorSacl = modadvapi32.NewProc("SetSecurityDescriptorSacl") + procSetSecurityDescriptorOwner = modadvapi32.NewProc("SetSecurityDescriptorOwner") + procSetSecurityDescriptorGroup = modadvapi32.NewProc("SetSecurityDescriptorGroup") + procSetSecurityDescriptorRMControl = modadvapi32.NewProc("SetSecurityDescriptorRMControl") + procConvertStringSecurityDescriptorToSecurityDescriptorW = modadvapi32.NewProc("ConvertStringSecurityDescriptorToSecurityDescriptorW") + procConvertSecurityDescriptorToStringSecurityDescriptorW = modadvapi32.NewProc("ConvertSecurityDescriptorToStringSecurityDescriptorW") + procMakeAbsoluteSD = modadvapi32.NewProc("MakeAbsoluteSD") + procMakeSelfRelativeSD = modadvapi32.NewProc("MakeSelfRelativeSD") + procSetEntriesInAclW = modadvapi32.NewProc("SetEntriesInAclW") +) + +func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procRegisterEventSourceW.Addr(), 2, uintptr(unsafe.Pointer(uncServerName)), uintptr(unsafe.Pointer(sourceName)), 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeregisterEventSource(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procDeregisterEventSource.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procReportEventW.Addr(), 9, uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procOpenSCManagerW.Addr(), 3, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(databaseName)), uintptr(access)) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CloseServiceHandle(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procCloseServiceHandle.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall15(procCreateServiceW.Addr(), 13, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(unsafe.Pointer(displayName)), uintptr(access), uintptr(srvType), uintptr(startType), uintptr(errCtl), uintptr(unsafe.Pointer(pathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procOpenServiceW.Addr(), 3, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(access)) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeleteService(service Handle) (err error) { + r1, _, e1 := syscall.Syscall(procDeleteService.Addr(), 1, uintptr(service), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) { + r1, _, e1 := syscall.Syscall(procStartServiceW.Addr(), 3, uintptr(service), uintptr(numArgs), uintptr(unsafe.Pointer(argVectors))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) { + r1, _, e1 := syscall.Syscall(procQueryServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(status)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryServiceLockStatusW.Addr(), 4, uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) { + r1, _, e1 := syscall.Syscall(procControlService.Addr(), 3, uintptr(service), uintptr(control), uintptr(unsafe.Pointer(status))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) { + r1, _, e1 := syscall.Syscall(procStartServiceCtrlDispatcherW.Addr(), 1, uintptr(unsafe.Pointer(serviceTable)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) { + r1, _, e1 := syscall.Syscall(procSetServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(serviceStatus)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) { + r1, _, e1 := syscall.Syscall12(procChangeServiceConfigW.Addr(), 11, uintptr(service), uintptr(serviceType), uintptr(startType), uintptr(errorControl), uintptr(unsafe.Pointer(binaryPathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), uintptr(unsafe.Pointer(displayName)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryServiceConfigW.Addr(), 4, uintptr(service), uintptr(unsafe.Pointer(serviceConfig)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) { + r1, _, e1 := syscall.Syscall(procChangeServiceConfig2W.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(info))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryServiceConfig2W.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) { + r1, _, e1 := syscall.Syscall12(procEnumServicesStatusExW.Addr(), 10, uintptr(mgr), uintptr(infoLevel), uintptr(serviceType), uintptr(serviceState), uintptr(unsafe.Pointer(services)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned)), uintptr(unsafe.Pointer(resumeHandle)), uintptr(unsafe.Pointer(groupName)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryServiceStatusEx.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) { + r0, _, _ := syscall.Syscall(procNotifyServiceStatusChangeW.Addr(), 3, uintptr(service), uintptr(notifyMask), uintptr(unsafe.Pointer(notifier))) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func GetLastError() (lasterr error) { + r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) + if r0 != 0 { + lasterr = syscall.Errno(r0) + } + return +} + +func LoadLibrary(libname string) (handle Handle, err error) { + var _p0 *uint16 + _p0, err = syscall.UTF16PtrFromString(libname) + if err != nil { + return + } + return _LoadLibrary(_p0) +} + +func _LoadLibrary(libname *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procLoadLibraryW.Addr(), 1, uintptr(unsafe.Pointer(libname)), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) { + var _p0 *uint16 + _p0, err = syscall.UTF16PtrFromString(libname) + if err != nil { + return + } + return _LoadLibraryEx(_p0, zero, flags) +} + +func _LoadLibraryEx(libname *uint16, zero Handle, flags uintptr) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procLoadLibraryExW.Addr(), 3, uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags)) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FreeLibrary(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFreeLibrary.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetProcAddress(module Handle, procname string) (proc uintptr, err error) { + var _p0 *byte + _p0, err = syscall.BytePtrFromString(procname) + if err != nil { + return + } + return _GetProcAddress(module, _p0) +} + +func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { + r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), uintptr(unsafe.Pointer(procname)), 0) + proc = uintptr(r0) + if proc == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetModuleFileNameW.Addr(), 3, uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) { + r1, _, e1 := syscall.Syscall(procGetModuleHandleExW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVersion() (ver uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetVersion.Addr(), 0, 0, 0, 0) + ver = uint32(r0) + if ver == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) { + var _p0 *uint16 + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := syscall.Syscall9(procFormatMessageW.Addr(), 7, uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args)), 0, 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ExitProcess(exitcode uint32) { + syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) + return +} + +func IsWow64Process(handle Handle, isWow64 *bool) (err error) { + var _p0 uint32 + if *isWow64 { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(&_p0)), 0) + *isWow64 = _p0 != 0 + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r1, _, e1 := syscall.Syscall6(procReadFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r1, _, e1 := syscall.Syscall6(procWriteFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) { + var _p0 uint32 + if wait { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall6(procGetOverlappedResult.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { + r0, _, e1 := syscall.Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0) + newlowoffset = uint32(r0) + if newlowoffset == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CloseHandle(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetStdHandle(stdhandle uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetStdHandle(stdhandle uint32, handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(stdhandle), uintptr(handle), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func findNextFile1(handle Handle, data *win32finddata1) (err error) { + r1, _, e1 := syscall.Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindClose(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) { + r1, _, e1 := syscall.Syscall(procGetFileInformationByHandle.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetCurrentDirectory(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) { + r1, _, e1 := syscall.Syscall(procCreateDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func RemoveDirectory(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeleteFile(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDeleteFileW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func MoveFile(from *uint16, to *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procMoveFileW.Addr(), 2, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procMoveFileExW.Addr(), 3, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall6(procLockFileEx.Addr(), 6, uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall6(procUnlockFileEx.Addr(), 5, uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetComputerName(buf *uint16, n *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetComputerNameW.Addr(), 2, uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetComputerNameExW.Addr(), 3, uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetEndOfFile(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetSystemTimeAsFileTime(time *Filetime) { + syscall.Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) + return +} + +func GetSystemTimePreciseAsFileTime(time *Filetime) { + syscall.Syscall(procGetSystemTimePreciseAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) + return +} + +func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(tzi)), 0, 0) + rc = uint32(r0) + if rc == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateIoCompletionPort.Addr(), 4, uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CancelIo(s Handle) (err error) { + r1, _, e1 := syscall.Syscall(procCancelIo.Addr(), 1, uintptr(s), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CancelIoEx(s Handle, o *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall(procCancelIoEx.Addr(), 2, uintptr(s), uintptr(unsafe.Pointer(o)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) { + var _p0 uint32 + if inheritHandles { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall12(procCreateProcessW.Addr(), 10, uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall(procOpenProcess.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(processId)) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { + r1, _, e1 := syscall.Syscall6(procShellExecuteW.Addr(), 6, uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) + if r1 <= 32 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) { + r0, _, _ := syscall.Syscall6(procSHGetKnownFolderPath.Addr(), 4, uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func TerminateProcess(handle Handle, exitcode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetExitCodeProcess.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(exitcode)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetStartupInfo(startupInfo *StartupInfo) (err error) { + r1, _, e1 := syscall.Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { + r1, _, e1 := syscall.Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) { + var _p0 uint32 + if bInheritHandle { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall9(procDuplicateHandle.Addr(), 7, uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) { + r0, _, e1 := syscall.Syscall(procWaitForSingleObject.Addr(), 2, uintptr(handle), uintptr(waitMilliseconds), 0) + event = uint32(r0) + if event == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { + var _p0 uint32 + if waitAll { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall6(procWaitForMultipleObjects.Addr(), 4, uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds), 0, 0) + event = uint32(r0) + if event == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetTempPathW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procCreatePipe.Addr(), 4, uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFileType(filehandle Handle) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procCryptAcquireContextW.Addr(), 5, uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procCryptReleaseContext.Addr(), 2, uintptr(provhandle), uintptr(flags), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) { + r1, _, e1 := syscall.Syscall(procCryptGenRandom.Addr(), 3, uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetEnvironmentStrings() (envs *uint16, err error) { + r0, _, e1 := syscall.Syscall(procGetEnvironmentStringsW.Addr(), 0, 0, 0, 0) + envs = (*uint16)(unsafe.Pointer(r0)) + if envs == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FreeEnvironmentStrings(envs *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetEnvironmentVariableW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { + var _p0 uint32 + if inheritExisting { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall(procCreateEnvironmentBlock.Addr(), 3, uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DestroyEnvironmentBlock(block *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDestroyEnvironmentBlock.Addr(), 1, uintptr(unsafe.Pointer(block)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getTickCount64() (ms uint64) { + r0, _, _ := syscall.Syscall(procGetTickCount64.Addr(), 0, 0, 0, 0) + ms = uint64(r0) + return +} + +func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { + r1, _, e1 := syscall.Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFileAttributes(name *uint16) (attrs uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetFileAttributesW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) + attrs = uint32(r0) + if attrs == INVALID_FILE_ATTRIBUTES { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetFileAttributes(name *uint16, attrs uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetFileAttributesW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(attrs), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { + r1, _, e1 := syscall.Syscall(procGetFileAttributesExW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetCommandLine() (cmd *uint16) { + r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0) + cmd = (*uint16)(unsafe.Pointer(r0)) + return +} + +func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) { + r0, _, e1 := syscall.Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0) + argv = (*[8192]*[8192]uint16)(unsafe.Pointer(r0)) + if argv == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func LocalFree(hmem Handle) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0) + handle = Handle(r0) + if handle != 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FlushFileBuffers(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) { + r0, _, e1 := syscall.Syscall6(procGetFullPathNameW.Addr(), 4, uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)), 0, 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetLongPathNameW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetShortPathNameW.Addr(), 3, uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateFileMappingW.Addr(), 6, uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) { + r0, _, e1 := syscall.Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0) + addr = uintptr(r0) + if addr == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func UnmapViewOfFile(addr uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FlushViewOfFile(addr uintptr, length uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualLock(addr uintptr, length uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualUnlock(addr uintptr, length uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) { + r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0) + value = uintptr(r0) + if value == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { + r1, _, e1 := syscall.Syscall(procVirtualFree.Addr(), 3, uintptr(address), uintptr(size), uintptr(freetype)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procVirtualProtect.Addr(), 4, uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { + var _p0 uint32 + if watchSubTree { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall9(procReadDirectoryChangesW.Addr(), 8, uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) { + r0, _, e1 := syscall.Syscall(procCertOpenSystemStoreW.Addr(), 2, uintptr(hprov), uintptr(unsafe.Pointer(name)), 0) + store = Handle(r0) + if store == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCertOpenStore.Addr(), 5, uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para), 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) { + r0, _, e1 := syscall.Syscall(procCertEnumCertificatesInStore.Addr(), 2, uintptr(store), uintptr(unsafe.Pointer(prevContext)), 0) + context = (*CertContext)(unsafe.Pointer(r0)) + if context == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) { + r1, _, e1 := syscall.Syscall6(procCertAddCertificateContextToStore.Addr(), 4, uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertCloseStore(store Handle, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procCertCloseStore.Addr(), 2, uintptr(store), uintptr(flags), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) { + r1, _, e1 := syscall.Syscall9(procCertGetCertificateChain.Addr(), 8, uintptr(engine), uintptr(unsafe.Pointer(leaf)), uintptr(unsafe.Pointer(time)), uintptr(additionalStore), uintptr(unsafe.Pointer(para)), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(chainCtx)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertFreeCertificateChain(ctx *CertChainContext) { + syscall.Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) + return +} + +func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) { + r0, _, e1 := syscall.Syscall(procCertCreateCertificateContext.Addr(), 3, uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen)) + context = (*CertContext)(unsafe.Pointer(r0)) + if context == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertFreeCertificateContext(ctx *CertContext) (err error) { + r1, _, e1 := syscall.Syscall(procCertFreeCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) { + r1, _, e1 := syscall.Syscall6(procCertVerifyCertificateChainPolicy.Addr(), 4, uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) { + r0, _, _ := syscall.Syscall6(procRegOpenKeyExW.Addr(), 5, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)), 0) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func RegCloseKey(key Handle) (regerrno error) { + r0, _, _ := syscall.Syscall(procRegCloseKey.Addr(), 1, uintptr(key), 0, 0) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) { + r0, _, _ := syscall.Syscall12(procRegQueryInfoKeyW.Addr(), 12, uintptr(key), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(subkeysLen)), uintptr(unsafe.Pointer(maxSubkeyLen)), uintptr(unsafe.Pointer(maxClassLen)), uintptr(unsafe.Pointer(valuesLen)), uintptr(unsafe.Pointer(maxValueNameLen)), uintptr(unsafe.Pointer(maxValueLen)), uintptr(unsafe.Pointer(saLen)), uintptr(unsafe.Pointer(lastWriteTime))) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) { + r0, _, _ := syscall.Syscall9(procRegEnumKeyExW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(lastWriteTime)), 0) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { + r0, _, _ := syscall.Syscall6(procRegQueryValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen))) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func GetCurrentProcessId() (pid uint32) { + r0, _, _ := syscall.Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0) + pid = uint32(r0) + return +} + +func GetConsoleMode(console Handle, mode *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetConsoleMode(console Handle, mode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { + r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { + r1, _, e1 := syscall.Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { + r1, _, e1 := syscall.Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procCreateToolhelp32Snapshot.Addr(), 2, uintptr(flags), uintptr(processId), 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procProcess32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procProcess32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procThread32First.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procThread32Next.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall9(procDeviceIoControl.Addr(), 8, uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procCreateSymbolicLinkW.Addr(), 3, uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags)) + if r1&0xff == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procCreateHardLinkW.Addr(), 3, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved)) + if r1&0xff == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetCurrentThreadId() (id uint32) { + r0, _, _ := syscall.Syscall(procGetCurrentThreadId.Addr(), 0, 0, 0, 0) + id = uint32(r0) + return +} + +func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ResetEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func PulseEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) { + var _p0 uint32 + if initialOwner { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall(procCreateMutexW.Addr(), 3, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateMutexExW.Addr(), 4, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall(procOpenMutexW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ReleaseMutex(mutex Handle) (err error) { + r1, _, e1 := syscall.Syscall(procReleaseMutex.Addr(), 1, uintptr(mutex), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SleepEx(milliseconds uint32, alertable bool) (ret uint32) { + var _p0 uint32 + if alertable { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, _ := syscall.Syscall(procSleepEx.Addr(), 2, uintptr(milliseconds), uintptr(_p0), 0) + ret = uint32(r0) + return +} + +func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procCreateJobObjectW.Addr(), 2, uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name)), 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AssignProcessToJobObject(job Handle, process Handle) (err error) { + r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func TerminateJobObject(job Handle, exitCode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procTerminateJobObject.Addr(), 2, uintptr(job), uintptr(exitCode), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetErrorMode(mode uint32) (ret uint32) { + r0, _, _ := syscall.Syscall(procSetErrorMode.Addr(), 1, uintptr(mode), 0, 0) + ret = uint32(r0) + return +} + +func ResumeThread(thread Handle) (ret uint32, err error) { + r0, _, e1 := syscall.Syscall(procResumeThread.Addr(), 1, uintptr(thread), 0, 0) + ret = uint32(r0) + if ret == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetPriorityClass(process Handle, priorityClass uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetPriorityClass.Addr(), 2, uintptr(process), uintptr(priorityClass), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetPriorityClass(process Handle) (ret uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetPriorityClass.Addr(), 1, uintptr(process), 0, 0) + ret = uint32(r0) + if ret == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) { + r0, _, e1 := syscall.Syscall6(procSetInformationJobObject.Addr(), 4, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), 0, 0) + ret = int(r0) + if ret == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGenerateConsoleCtrlEvent.Addr(), 2, uintptr(ctrlEvent), uintptr(processGroupID), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetProcessId(process Handle) (id uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetProcessId.Addr(), 1, uintptr(process), 0, 0) + id = uint32(r0) + if id == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall(procOpenThread.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(threadId)) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetProcessPriorityBoost(process Handle, disable bool) (err error) { + var _p0 uint32 + if disable { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall(procSetProcessPriorityBoost.Addr(), 2, uintptr(process), uintptr(_p0), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDefineDosDeviceW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDeleteVolumeMountPointW.Addr(), 1, uintptr(unsafe.Pointer(volumeMountPoint)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procFindFirstVolumeW.Addr(), 2, uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength), 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procFindFirstVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindVolumeClose(findVolume Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetDriveType(rootPathName *uint16) (driveType uint32) { + r0, _, _ := syscall.Syscall(procGetDriveTypeW.Addr(), 1, uintptr(unsafe.Pointer(rootPathName)), 0, 0) + driveType = uint32(r0) + return +} + +func GetLogicalDrives() (drivesBitMask uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetLogicalDrives.Addr(), 0, 0, 0, 0) + drivesBitMask = uint32(r0) + if drivesBitMask == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetLogicalDriveStringsW.Addr(), 2, uintptr(bufferLength), uintptr(unsafe.Pointer(buffer)), 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procGetVolumeInformationW.Addr(), 8, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procGetVolumeInformationByHandleW.Addr(), 8, uintptr(file), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetVolumeNameForVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetVolumePathNameW.Addr(), 3, uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetVolumePathNamesForVolumeNameW.Addr(), 4, uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procQueryDosDeviceW.Addr(), 3, uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetVolumeLabelW.Addr(), 2, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetVolumeMountPointW.Addr(), 2, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { + r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) + ret = int32(r0) + if ret == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ExitWindowsEx(flags uint32, reason uint32) (err error) { + r1, _, e1 := syscall.Syscall(procExitWindowsEx.Addr(), 2, uintptr(flags), uintptr(reason), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) { + var _p0 uint32 + if forceAppsClosed { + _p0 = 1 + } else { + _p0 = 0 + } + var _p1 uint32 + if rebootAfterShutdown { + _p1 = 1 + } else { + _p1 = 0 + } + r1, _, e1 := syscall.Syscall6(procInitiateSystemShutdownExW.Addr(), 6, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetProcessShutdownParameters.Addr(), 2, uintptr(level), uintptr(flags), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetProcessShutdownParameters.Addr(), 2, uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { + r0, _, _ := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { + r0, _, _ := syscall.Syscall(procStringFromGUID2.Addr(), 3, uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) + chars = int32(r0) + return +} + +func coCreateGuid(pguid *GUID) (ret error) { + r0, _, _ := syscall.Syscall(procCoCreateGuid.Addr(), 1, uintptr(unsafe.Pointer(pguid)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func CoTaskMemFree(address unsafe.Pointer) { + syscall.Syscall(procCoTaskMemFree.Addr(), 1, uintptr(address), 0, 0) + return +} + +func rtlGetVersion(info *OsVersionInfoEx) (ret error) { + r0, _, _ := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(info)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) { + syscall.Syscall(procRtlGetNtVersionNumbers.Addr(), 3, uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber))) + return +} + +func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { + r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) + if r0 != 0 { + sockerr = syscall.Errno(r0) + } + return +} + +func WSACleanup() (err error) { + r1, _, e1 := syscall.Syscall(procWSACleanup.Addr(), 0, 0, 0, 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { + r1, _, e1 := syscall.Syscall9(procWSAIoctl.Addr(), 9, uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procsocket.Addr(), 3, uintptr(af), uintptr(typ), uintptr(protocol)) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { + r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) { + r1, _, e1 := syscall.Syscall6(procgetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { + r1, _, e1 := syscall.Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) { + r1, _, e1 := syscall.Syscall(procconnect.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { + r1, _, e1 := syscall.Syscall(procgetsockname.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { + r1, _, e1 := syscall.Syscall(procgetpeername.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func listen(s Handle, backlog int32) (err error) { + r1, _, e1 := syscall.Syscall(proclisten.Addr(), 2, uintptr(s), uintptr(backlog), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func shutdown(s Handle, how int32) (err error) { + r1, _, e1 := syscall.Syscall(procshutdown.Addr(), 2, uintptr(s), uintptr(how), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Closesocket(s Handle) (err error) { + r1, _, e1 := syscall.Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall9(procAcceptEx.Addr(), 8, uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) { + syscall.Syscall9(procGetAcceptExSockaddrs.Addr(), 8, uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(lrsa)), uintptr(unsafe.Pointer(lrsalen)), uintptr(unsafe.Pointer(rrsa)), uintptr(unsafe.Pointer(rrsalen)), 0) + return +} + +func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procWSARecv.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procWSASend.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procWSARecvFrom.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procWSASendTo.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(to)), uintptr(tolen), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetHostByName(name string) (h *Hostent, err error) { + var _p0 *byte + _p0, err = syscall.BytePtrFromString(name) + if err != nil { + return + } + return _GetHostByName(_p0) +} + +func _GetHostByName(name *byte) (h *Hostent, err error) { + r0, _, e1 := syscall.Syscall(procgethostbyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) + h = (*Hostent)(unsafe.Pointer(r0)) + if h == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetServByName(name string, proto string) (s *Servent, err error) { + var _p0 *byte + _p0, err = syscall.BytePtrFromString(name) + if err != nil { + return + } + var _p1 *byte + _p1, err = syscall.BytePtrFromString(proto) + if err != nil { + return + } + return _GetServByName(_p0, _p1) +} + +func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { + r0, _, e1 := syscall.Syscall(procgetservbyname.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)), 0) + s = (*Servent)(unsafe.Pointer(r0)) + if s == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Ntohs(netshort uint16) (u uint16) { + r0, _, _ := syscall.Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0) + u = uint16(r0) + return +} + +func GetProtoByName(name string) (p *Protoent, err error) { + var _p0 *byte + _p0, err = syscall.BytePtrFromString(name) + if err != nil { + return + } + return _GetProtoByName(_p0) +} + +func _GetProtoByName(name *byte) (p *Protoent, err error) { + r0, _, e1 := syscall.Syscall(procgetprotobyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) + p = (*Protoent)(unsafe.Pointer(r0)) + if p == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { + var _p0 *uint16 + _p0, status = syscall.UTF16PtrFromString(name) + if status != nil { + return + } + return _DnsQuery(_p0, qtype, options, extra, qrs, pr) +} + +func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { + r0, _, _ := syscall.Syscall6(procDnsQuery_W.Addr(), 6, uintptr(unsafe.Pointer(name)), uintptr(qtype), uintptr(options), uintptr(unsafe.Pointer(extra)), uintptr(unsafe.Pointer(qrs)), uintptr(unsafe.Pointer(pr))) + if r0 != 0 { + status = syscall.Errno(r0) + } + return +} + +func DnsRecordListFree(rl *DNSRecord, freetype uint32) { + syscall.Syscall(procDnsRecordListFree.Addr(), 2, uintptr(unsafe.Pointer(rl)), uintptr(freetype), 0) + return +} + +func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) { + r0, _, _ := syscall.Syscall(procDnsNameCompare_W.Addr(), 2, uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)), 0) + same = r0 != 0 + return +} + +func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) { + r0, _, _ := syscall.Syscall6(procGetAddrInfoW.Addr(), 4, uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)), 0, 0) + if r0 != 0 { + sockerr = syscall.Errno(r0) + } + return +} + +func FreeAddrInfoW(addrinfo *AddrinfoW) { + syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0) + return +} + +func GetIfEntry(pIfRow *MibIfRow) (errcode error) { + r0, _, _ := syscall.Syscall(procGetIfEntry.Addr(), 1, uintptr(unsafe.Pointer(pIfRow)), 0, 0) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + +func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) { + r0, _, _ := syscall.Syscall(procGetAdaptersInfo.Addr(), 2, uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol)), 0) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + +func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { + r1, _, e1 := syscall.Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { + r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) + n = int32(r0) + if n == -1 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) { + r0, _, _ := syscall.Syscall6(procGetAdaptersAddresses.Addr(), 5, uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer)), 0) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + +func GetACP() (acp uint32) { + r0, _, _ := syscall.Syscall(procGetACP.Addr(), 0, 0, 0, 0) + acp = uint32(r0) + return +} + +func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) { + r0, _, e1 := syscall.Syscall6(procMultiByteToWideChar.Addr(), 6, uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar)) + nwrite = int32(r0) + if nwrite == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procTranslateNameW.Addr(), 5, uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)), 0) + if r1&0xff == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetUserNameExW.Addr(), 3, uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) + if r1&0xff == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { + r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) + if r0 != 0 { + neterr = syscall.Errno(r0) + } + return +} + +func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) { + r0, _, _ := syscall.Syscall(procNetGetJoinInformation.Addr(), 3, uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) + if r0 != 0 { + neterr = syscall.Errno(r0) + } + return +} + +func NetApiBufferFree(buf *byte) (neterr error) { + r0, _, _ := syscall.Syscall(procNetApiBufferFree.Addr(), 1, uintptr(unsafe.Pointer(buf)), 0, 0) + if r0 != 0 { + neterr = syscall.Errno(r0) + } + return +} + +func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procLookupAccountSidW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procLookupAccountNameW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(accountName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sidLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) { + r1, _, e1 := syscall.Syscall(procConvertSidToStringSidW.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) { + r1, _, e1 := syscall.Syscall(procConvertStringSidToSidW.Addr(), 2, uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetLengthSid(sid *SID) (len uint32) { + r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + len = uint32(r0) + return +} + +func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) { + r1, _, e1 := syscall.Syscall(procCopySid.Addr(), 3, uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) { + r1, _, e1 := syscall.Syscall12(procAllocateAndInitializeSid.Addr(), 11, uintptr(unsafe.Pointer(identAuth)), uintptr(subAuth), uintptr(subAuth0), uintptr(subAuth1), uintptr(subAuth2), uintptr(subAuth3), uintptr(subAuth4), uintptr(subAuth5), uintptr(subAuth6), uintptr(subAuth7), uintptr(unsafe.Pointer(sid)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procCreateWellKnownSid.Addr(), 4, uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) { + r0, _, _ := syscall.Syscall(procIsWellKnownSid.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(sidType), 0) + isWellKnown = r0 != 0 + return +} + +func FreeSid(sid *SID) (err error) { + r1, _, e1 := syscall.Syscall(procFreeSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + if r1 != 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) { + r0, _, _ := syscall.Syscall(procEqualSid.Addr(), 2, uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2)), 0) + isEqual = r0 != 0 + return +} + +func getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) { + r0, _, _ := syscall.Syscall(procGetSidIdentifierAuthority.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + authority = (*SidIdentifierAuthority)(unsafe.Pointer(r0)) + return +} + +func getSidSubAuthorityCount(sid *SID) (count *uint8) { + r0, _, _ := syscall.Syscall(procGetSidSubAuthorityCount.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + count = (*uint8)(unsafe.Pointer(r0)) + return +} + +func getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) { + r0, _, _ := syscall.Syscall(procGetSidSubAuthority.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(index), 0) + subAuthority = (*uint32)(unsafe.Pointer(r0)) + return +} + +func isValidSid(sid *SID) (isValid bool) { + r0, _, _ := syscall.Syscall(procIsValidSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + isValid = r0 != 0 + return +} + +func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) { + r1, _, e1 := syscall.Syscall(procCheckTokenMembership.Addr(), 3, uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenProcessToken(process Handle, access uint32, token *Token) (err error) { + r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) { + var _p0 uint32 + if openAsSelf { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall6(procOpenThreadToken.Addr(), 4, uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ImpersonateSelf(impersonationlevel uint32) (err error) { + r1, _, e1 := syscall.Syscall(procImpersonateSelf.Addr(), 1, uintptr(impersonationlevel), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func RevertToSelf() (err error) { + r1, _, e1 := syscall.Syscall(procRevertToSelf.Addr(), 0, 0, 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetThreadToken(thread *Handle, token Token) (err error) { + r1, _, e1 := syscall.Syscall(procSetThreadToken.Addr(), 2, uintptr(unsafe.Pointer(thread)), uintptr(token), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) { + r1, _, e1 := syscall.Syscall(procLookupPrivilegeValueW.Addr(), 3, uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) { + var _p0 uint32 + if disableAllPrivileges { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall6(procAdjustTokenPrivileges.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) { + var _p0 uint32 + if resetToDefault { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall6(procAdjustTokenGroups.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procSetTokenInformation.Addr(), 4, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) { + r1, _, e1 := syscall.Syscall6(procDuplicateTokenEx.Addr(), 6, uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetUserProfileDirectoryW.Addr(), 3, uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetSystemDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + len = uint32(r0) + if len == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + len = uint32(r0) + if len == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetSystemWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + len = uint32(r0) + if len == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WTSQueryUserToken(session uint32, token *Token) (err error) { + r1, _, e1 := syscall.Syscall(procWTSQueryUserToken.Addr(), 2, uintptr(session), uintptr(unsafe.Pointer(token)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procWTSEnumerateSessionsW.Addr(), 5, uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WTSFreeMemory(ptr uintptr) { + syscall.Syscall(procWTSFreeMemory.Addr(), 1, uintptr(ptr), 0, 0) + return +} + +func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { + r0, _, _ := syscall.Syscall9(procGetSecurityInfo.Addr(), 8, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) { + syscall.Syscall9(procSetSecurityInfo.Addr(), 7, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) + return +} + +func getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { + var _p0 *uint16 + _p0, ret = syscall.UTF16PtrFromString(objectName) + if ret != nil { + return + } + return _getNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl, sd) +} + +func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { + r0, _, _ := syscall.Syscall9(procGetNamedSecurityInfoW.Addr(), 8, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { + var _p0 *uint16 + _p0, ret = syscall.UTF16PtrFromString(objectName) + if ret != nil { + return + } + return _SetNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl) +} + +func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { + r0, _, _ := syscall.Syscall9(procSetNamedSecurityInfoW.Addr(), 7, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) { + r0, _, _ := syscall.Syscall9(procBuildSecurityDescriptorW.Addr(), 9, uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(countAccessEntries), uintptr(unsafe.Pointer(accessEntries)), uintptr(countAuditEntries), uintptr(unsafe.Pointer(auditEntries)), uintptr(unsafe.Pointer(oldSecurityDescriptor)), uintptr(unsafe.Pointer(sizeNewSecurityDescriptor)), uintptr(unsafe.Pointer(newSecurityDescriptor))) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) { + r1, _, e1 := syscall.Syscall(procInitializeSecurityDescriptor.Addr(), 2, uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) { + var _p0 uint32 + if *daclPresent { + _p0 = 1 + } else { + _p0 = 0 + } + var _p1 uint32 + if *daclDefaulted { + _p1 = 1 + } else { + _p1 = 0 + } + r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) + *daclPresent = _p0 != 0 + *daclDefaulted = _p1 != 0 + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) { + var _p0 uint32 + if *saclPresent { + _p0 = 1 + } else { + _p0 = 0 + } + var _p1 uint32 + if *saclDefaulted { + _p1 = 1 + } else { + _p1 = 0 + } + r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) + *saclPresent = _p0 != 0 + *saclDefaulted = _p1 != 0 + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) { + var _p0 uint32 + if *ownerDefaulted { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0))) + *ownerDefaulted = _p0 != 0 + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) { + var _p0 uint32 + if *groupDefaulted { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0))) + *groupDefaulted = _p0 != 0 + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) { + r0, _, _ := syscall.Syscall(procGetSecurityDescriptorLength.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) + len = uint32(r0) + return +} + +func getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) { + r0, _, _ := syscall.Syscall(procGetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} + +func isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) { + r0, _, _ := syscall.Syscall(procIsValidSecurityDescriptor.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) + isValid = r0 != 0 + return +} + +func setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) { + r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) { + var _p0 uint32 + if daclPresent { + _p0 = 1 + } else { + _p0 = 0 + } + var _p1 uint32 + if daclDefaulted { + _p1 = 1 + } else { + _p1 = 0 + } + r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) { + var _p0 uint32 + if saclPresent { + _p0 = 1 + } else { + _p0 = 0 + } + var _p1 uint32 + if saclDefaulted { + _p1 = 1 + } else { + _p1 = 0 + } + r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) { + var _p0 uint32 + if ownerDefaulted { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) { + var _p0 uint32 + if groupDefaulted { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) { + syscall.Syscall(procSetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) + return +} + +func convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { + var _p0 *uint16 + _p0, err = syscall.UTF16PtrFromString(str) + if err != nil { + return + } + return _convertStringSecurityDescriptorToSecurityDescriptor(_p0, revision, sd, size) +} + +func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), 4, uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), 5, uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall12(procMakeAbsoluteSD.Addr(), 11, uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(absoluteSDSize)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(daclSize)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(saclSize)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(ownerSize)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(groupSize)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procMakeSelfRelativeSD.Addr(), 3, uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) { + r0, _, _ := syscall.Syscall6(procSetEntriesInAclW.Addr(), 4, uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL)), 0, 0) + if r0 != 0 { + ret = syscall.Errno(r0) + } + return +} diff --git a/vendor/gopkg.in/yaml.v2/.travis.yml b/vendor/gopkg.in/yaml.v2/.travis.yml new file mode 100644 index 00000000..9f556934 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/.travis.yml @@ -0,0 +1,12 @@ +language: go + +go: + - 1.4 + - 1.5 + - 1.6 + - 1.7 + - 1.8 + - 1.9 + - tip + +go_import_path: gopkg.in/yaml.v2 diff --git a/vendor/gopkg.in/yaml.v2/LICENSE b/vendor/gopkg.in/yaml.v2/LICENSE new file mode 100644 index 00000000..8dada3ed --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/gopkg.in/yaml.v2/LICENSE.libyaml b/vendor/gopkg.in/yaml.v2/LICENSE.libyaml new file mode 100644 index 00000000..8da58fbf --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/LICENSE.libyaml @@ -0,0 +1,31 @@ +The following files were ported to Go from C files of libyaml, and thus +are still covered by their original copyright and license: + + apic.go + emitterc.go + parserc.go + readerc.go + scannerc.go + writerc.go + yamlh.go + yamlprivateh.go + +Copyright (c) 2006 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/gopkg.in/yaml.v2/NOTICE b/vendor/gopkg.in/yaml.v2/NOTICE new file mode 100644 index 00000000..866d74a7 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/NOTICE @@ -0,0 +1,13 @@ +Copyright 2011-2016 Canonical Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/gopkg.in/yaml.v2/README.md b/vendor/gopkg.in/yaml.v2/README.md new file mode 100644 index 00000000..b50c6e87 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/README.md @@ -0,0 +1,133 @@ +# YAML support for the Go language + +Introduction +------------ + +The yaml package enables Go programs to comfortably encode and decode YAML +values. It was developed within [Canonical](https://www.canonical.com) as +part of the [juju](https://juju.ubuntu.com) project, and is based on a +pure Go port of the well-known [libyaml](http://pyyaml.org/wiki/LibYAML) +C library to parse and generate YAML data quickly and reliably. + +Compatibility +------------- + +The yaml package supports most of YAML 1.1 and 1.2, including support for +anchors, tags, map merging, etc. Multi-document unmarshalling is not yet +implemented, and base-60 floats from YAML 1.1 are purposefully not +supported since they're a poor design and are gone in YAML 1.2. + +Installation and usage +---------------------- + +The import path for the package is *gopkg.in/yaml.v2*. + +To install it, run: + + go get gopkg.in/yaml.v2 + +API documentation +----------------- + +If opened in a browser, the import path itself leads to the API documentation: + + * [https://gopkg.in/yaml.v2](https://gopkg.in/yaml.v2) + +API stability +------------- + +The package API for yaml v2 will remain stable as described in [gopkg.in](https://gopkg.in). + + +License +------- + +The yaml package is licensed under the Apache License 2.0. Please see the LICENSE file for details. + + +Example +------- + +```Go +package main + +import ( + "fmt" + "log" + + "gopkg.in/yaml.v2" +) + +var data = ` +a: Easy! +b: + c: 2 + d: [3, 4] +` + +// Note: struct fields must be public in order for unmarshal to +// correctly populate the data. +type T struct { + A string + B struct { + RenamedC int `yaml:"c"` + D []int `yaml:",flow"` + } +} + +func main() { + t := T{} + + err := yaml.Unmarshal([]byte(data), &t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t:\n%v\n\n", t) + + d, err := yaml.Marshal(&t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t dump:\n%s\n\n", string(d)) + + m := make(map[interface{}]interface{}) + + err = yaml.Unmarshal([]byte(data), &m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m:\n%v\n\n", m) + + d, err = yaml.Marshal(&m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m dump:\n%s\n\n", string(d)) +} +``` + +This example will generate the following output: + +``` +--- t: +{Easy! {2 [3 4]}} + +--- t dump: +a: Easy! +b: + c: 2 + d: [3, 4] + + +--- m: +map[a:Easy! b:map[c:2 d:[3 4]]] + +--- m dump: +a: Easy! +b: + c: 2 + d: + - 3 + - 4 +``` + diff --git a/vendor/gopkg.in/yaml.v2/apic.go b/vendor/gopkg.in/yaml.v2/apic.go new file mode 100644 index 00000000..1f7e87e6 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/apic.go @@ -0,0 +1,739 @@ +package yaml + +import ( + "io" +) + +func yaml_insert_token(parser *yaml_parser_t, pos int, token *yaml_token_t) { + //fmt.Println("yaml_insert_token", "pos:", pos, "typ:", token.typ, "head:", parser.tokens_head, "len:", len(parser.tokens)) + + // Check if we can move the queue at the beginning of the buffer. + if parser.tokens_head > 0 && len(parser.tokens) == cap(parser.tokens) { + if parser.tokens_head != len(parser.tokens) { + copy(parser.tokens, parser.tokens[parser.tokens_head:]) + } + parser.tokens = parser.tokens[:len(parser.tokens)-parser.tokens_head] + parser.tokens_head = 0 + } + parser.tokens = append(parser.tokens, *token) + if pos < 0 { + return + } + copy(parser.tokens[parser.tokens_head+pos+1:], parser.tokens[parser.tokens_head+pos:]) + parser.tokens[parser.tokens_head+pos] = *token +} + +// Create a new parser object. +func yaml_parser_initialize(parser *yaml_parser_t) bool { + *parser = yaml_parser_t{ + raw_buffer: make([]byte, 0, input_raw_buffer_size), + buffer: make([]byte, 0, input_buffer_size), + } + return true +} + +// Destroy a parser object. +func yaml_parser_delete(parser *yaml_parser_t) { + *parser = yaml_parser_t{} +} + +// String read handler. +func yaml_string_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + if parser.input_pos == len(parser.input) { + return 0, io.EOF + } + n = copy(buffer, parser.input[parser.input_pos:]) + parser.input_pos += n + return n, nil +} + +// Reader read handler. +func yaml_reader_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + return parser.input_reader.Read(buffer) +} + +// Set a string input. +func yaml_parser_set_input_string(parser *yaml_parser_t, input []byte) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_string_read_handler + parser.input = input + parser.input_pos = 0 +} + +// Set a file input. +func yaml_parser_set_input_reader(parser *yaml_parser_t, r io.Reader) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_reader_read_handler + parser.input_reader = r +} + +// Set the source encoding. +func yaml_parser_set_encoding(parser *yaml_parser_t, encoding yaml_encoding_t) { + if parser.encoding != yaml_ANY_ENCODING { + panic("must set the encoding only once") + } + parser.encoding = encoding +} + +// Create a new emitter object. +func yaml_emitter_initialize(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{ + buffer: make([]byte, output_buffer_size), + raw_buffer: make([]byte, 0, output_raw_buffer_size), + states: make([]yaml_emitter_state_t, 0, initial_stack_size), + events: make([]yaml_event_t, 0, initial_queue_size), + } +} + +// Destroy an emitter object. +func yaml_emitter_delete(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{} +} + +// String write handler. +func yaml_string_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + *emitter.output_buffer = append(*emitter.output_buffer, buffer...) + return nil +} + +// yaml_writer_write_handler uses emitter.output_writer to write the +// emitted text. +func yaml_writer_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + _, err := emitter.output_writer.Write(buffer) + return err +} + +// Set a string output. +func yaml_emitter_set_output_string(emitter *yaml_emitter_t, output_buffer *[]byte) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_string_write_handler + emitter.output_buffer = output_buffer +} + +// Set a file output. +func yaml_emitter_set_output_writer(emitter *yaml_emitter_t, w io.Writer) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_writer_write_handler + emitter.output_writer = w +} + +// Set the output encoding. +func yaml_emitter_set_encoding(emitter *yaml_emitter_t, encoding yaml_encoding_t) { + if emitter.encoding != yaml_ANY_ENCODING { + panic("must set the output encoding only once") + } + emitter.encoding = encoding +} + +// Set the canonical output style. +func yaml_emitter_set_canonical(emitter *yaml_emitter_t, canonical bool) { + emitter.canonical = canonical +} + +//// Set the indentation increment. +func yaml_emitter_set_indent(emitter *yaml_emitter_t, indent int) { + if indent < 2 || indent > 9 { + indent = 2 + } + emitter.best_indent = indent +} + +// Set the preferred line width. +func yaml_emitter_set_width(emitter *yaml_emitter_t, width int) { + if width < 0 { + width = -1 + } + emitter.best_width = width +} + +// Set if unescaped non-ASCII characters are allowed. +func yaml_emitter_set_unicode(emitter *yaml_emitter_t, unicode bool) { + emitter.unicode = unicode +} + +// Set the preferred line break character. +func yaml_emitter_set_break(emitter *yaml_emitter_t, line_break yaml_break_t) { + emitter.line_break = line_break +} + +///* +// * Destroy a token object. +// */ +// +//YAML_DECLARE(void) +//yaml_token_delete(yaml_token_t *token) +//{ +// assert(token); // Non-NULL token object expected. +// +// switch (token.type) +// { +// case YAML_TAG_DIRECTIVE_TOKEN: +// yaml_free(token.data.tag_directive.handle); +// yaml_free(token.data.tag_directive.prefix); +// break; +// +// case YAML_ALIAS_TOKEN: +// yaml_free(token.data.alias.value); +// break; +// +// case YAML_ANCHOR_TOKEN: +// yaml_free(token.data.anchor.value); +// break; +// +// case YAML_TAG_TOKEN: +// yaml_free(token.data.tag.handle); +// yaml_free(token.data.tag.suffix); +// break; +// +// case YAML_SCALAR_TOKEN: +// yaml_free(token.data.scalar.value); +// break; +// +// default: +// break; +// } +// +// memset(token, 0, sizeof(yaml_token_t)); +//} +// +///* +// * Check if a string is a valid UTF-8 sequence. +// * +// * Check 'reader.c' for more details on UTF-8 encoding. +// */ +// +//static int +//yaml_check_utf8(yaml_char_t *start, size_t length) +//{ +// yaml_char_t *end = start+length; +// yaml_char_t *pointer = start; +// +// while (pointer < end) { +// unsigned char octet; +// unsigned int width; +// unsigned int value; +// size_t k; +// +// octet = pointer[0]; +// width = (octet & 0x80) == 0x00 ? 1 : +// (octet & 0xE0) == 0xC0 ? 2 : +// (octet & 0xF0) == 0xE0 ? 3 : +// (octet & 0xF8) == 0xF0 ? 4 : 0; +// value = (octet & 0x80) == 0x00 ? octet & 0x7F : +// (octet & 0xE0) == 0xC0 ? octet & 0x1F : +// (octet & 0xF0) == 0xE0 ? octet & 0x0F : +// (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0; +// if (!width) return 0; +// if (pointer+width > end) return 0; +// for (k = 1; k < width; k ++) { +// octet = pointer[k]; +// if ((octet & 0xC0) != 0x80) return 0; +// value = (value << 6) + (octet & 0x3F); +// } +// if (!((width == 1) || +// (width == 2 && value >= 0x80) || +// (width == 3 && value >= 0x800) || +// (width == 4 && value >= 0x10000))) return 0; +// +// pointer += width; +// } +// +// return 1; +//} +// + +// Create STREAM-START. +func yaml_stream_start_event_initialize(event *yaml_event_t, encoding yaml_encoding_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + encoding: encoding, + } +} + +// Create STREAM-END. +func yaml_stream_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + } +} + +// Create DOCUMENT-START. +func yaml_document_start_event_initialize( + event *yaml_event_t, + version_directive *yaml_version_directive_t, + tag_directives []yaml_tag_directive_t, + implicit bool, +) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: implicit, + } +} + +// Create DOCUMENT-END. +func yaml_document_end_event_initialize(event *yaml_event_t, implicit bool) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + implicit: implicit, + } +} + +///* +// * Create ALIAS. +// */ +// +//YAML_DECLARE(int) +//yaml_alias_event_initialize(event *yaml_event_t, anchor *yaml_char_t) +//{ +// mark yaml_mark_t = { 0, 0, 0 } +// anchor_copy *yaml_char_t = NULL +// +// assert(event) // Non-NULL event object is expected. +// assert(anchor) // Non-NULL anchor is expected. +// +// if (!yaml_check_utf8(anchor, strlen((char *)anchor))) return 0 +// +// anchor_copy = yaml_strdup(anchor) +// if (!anchor_copy) +// return 0 +// +// ALIAS_EVENT_INIT(*event, anchor_copy, mark, mark) +// +// return 1 +//} + +// Create SCALAR. +func yaml_scalar_event_initialize(event *yaml_event_t, anchor, tag, value []byte, plain_implicit, quoted_implicit bool, style yaml_scalar_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + anchor: anchor, + tag: tag, + value: value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-START. +func yaml_sequence_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_sequence_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-END. +func yaml_sequence_end_event_initialize(event *yaml_event_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + } + return true +} + +// Create MAPPING-START. +func yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_mapping_style_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } +} + +// Create MAPPING-END. +func yaml_mapping_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + } +} + +// Destroy an event object. +func yaml_event_delete(event *yaml_event_t) { + *event = yaml_event_t{} +} + +///* +// * Create a document object. +// */ +// +//YAML_DECLARE(int) +//yaml_document_initialize(document *yaml_document_t, +// version_directive *yaml_version_directive_t, +// tag_directives_start *yaml_tag_directive_t, +// tag_directives_end *yaml_tag_directive_t, +// start_implicit int, end_implicit int) +//{ +// struct { +// error yaml_error_type_t +// } context +// struct { +// start *yaml_node_t +// end *yaml_node_t +// top *yaml_node_t +// } nodes = { NULL, NULL, NULL } +// version_directive_copy *yaml_version_directive_t = NULL +// struct { +// start *yaml_tag_directive_t +// end *yaml_tag_directive_t +// top *yaml_tag_directive_t +// } tag_directives_copy = { NULL, NULL, NULL } +// value yaml_tag_directive_t = { NULL, NULL } +// mark yaml_mark_t = { 0, 0, 0 } +// +// assert(document) // Non-NULL document object is expected. +// assert((tag_directives_start && tag_directives_end) || +// (tag_directives_start == tag_directives_end)) +// // Valid tag directives are expected. +// +// if (!STACK_INIT(&context, nodes, INITIAL_STACK_SIZE)) goto error +// +// if (version_directive) { +// version_directive_copy = yaml_malloc(sizeof(yaml_version_directive_t)) +// if (!version_directive_copy) goto error +// version_directive_copy.major = version_directive.major +// version_directive_copy.minor = version_directive.minor +// } +// +// if (tag_directives_start != tag_directives_end) { +// tag_directive *yaml_tag_directive_t +// if (!STACK_INIT(&context, tag_directives_copy, INITIAL_STACK_SIZE)) +// goto error +// for (tag_directive = tag_directives_start +// tag_directive != tag_directives_end; tag_directive ++) { +// assert(tag_directive.handle) +// assert(tag_directive.prefix) +// if (!yaml_check_utf8(tag_directive.handle, +// strlen((char *)tag_directive.handle))) +// goto error +// if (!yaml_check_utf8(tag_directive.prefix, +// strlen((char *)tag_directive.prefix))) +// goto error +// value.handle = yaml_strdup(tag_directive.handle) +// value.prefix = yaml_strdup(tag_directive.prefix) +// if (!value.handle || !value.prefix) goto error +// if (!PUSH(&context, tag_directives_copy, value)) +// goto error +// value.handle = NULL +// value.prefix = NULL +// } +// } +// +// DOCUMENT_INIT(*document, nodes.start, nodes.end, version_directive_copy, +// tag_directives_copy.start, tag_directives_copy.top, +// start_implicit, end_implicit, mark, mark) +// +// return 1 +// +//error: +// STACK_DEL(&context, nodes) +// yaml_free(version_directive_copy) +// while (!STACK_EMPTY(&context, tag_directives_copy)) { +// value yaml_tag_directive_t = POP(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// } +// STACK_DEL(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// +// return 0 +//} +// +///* +// * Destroy a document object. +// */ +// +//YAML_DECLARE(void) +//yaml_document_delete(document *yaml_document_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// tag_directive *yaml_tag_directive_t +// +// context.error = YAML_NO_ERROR // Eliminate a compiler warning. +// +// assert(document) // Non-NULL document object is expected. +// +// while (!STACK_EMPTY(&context, document.nodes)) { +// node yaml_node_t = POP(&context, document.nodes) +// yaml_free(node.tag) +// switch (node.type) { +// case YAML_SCALAR_NODE: +// yaml_free(node.data.scalar.value) +// break +// case YAML_SEQUENCE_NODE: +// STACK_DEL(&context, node.data.sequence.items) +// break +// case YAML_MAPPING_NODE: +// STACK_DEL(&context, node.data.mapping.pairs) +// break +// default: +// assert(0) // Should not happen. +// } +// } +// STACK_DEL(&context, document.nodes) +// +// yaml_free(document.version_directive) +// for (tag_directive = document.tag_directives.start +// tag_directive != document.tag_directives.end +// tag_directive++) { +// yaml_free(tag_directive.handle) +// yaml_free(tag_directive.prefix) +// } +// yaml_free(document.tag_directives.start) +// +// memset(document, 0, sizeof(yaml_document_t)) +//} +// +///** +// * Get a document node. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_node(document *yaml_document_t, index int) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (index > 0 && document.nodes.start + index <= document.nodes.top) { +// return document.nodes.start + index - 1 +// } +// return NULL +//} +// +///** +// * Get the root object. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_root_node(document *yaml_document_t) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (document.nodes.top != document.nodes.start) { +// return document.nodes.start +// } +// return NULL +//} +// +///* +// * Add a scalar node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_scalar(document *yaml_document_t, +// tag *yaml_char_t, value *yaml_char_t, length int, +// style yaml_scalar_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// value_copy *yaml_char_t = NULL +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// assert(value) // Non-NULL value is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SCALAR_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (length < 0) { +// length = strlen((char *)value) +// } +// +// if (!yaml_check_utf8(value, length)) goto error +// value_copy = yaml_malloc(length+1) +// if (!value_copy) goto error +// memcpy(value_copy, value, length) +// value_copy[length] = '\0' +// +// SCALAR_NODE_INIT(node, tag_copy, value_copy, length, style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// yaml_free(tag_copy) +// yaml_free(value_copy) +// +// return 0 +//} +// +///* +// * Add a sequence node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_sequence(document *yaml_document_t, +// tag *yaml_char_t, style yaml_sequence_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_item_t +// end *yaml_node_item_t +// top *yaml_node_item_t +// } items = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SEQUENCE_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, items, INITIAL_STACK_SIZE)) goto error +// +// SEQUENCE_NODE_INIT(node, tag_copy, items.start, items.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, items) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Add a mapping node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_mapping(document *yaml_document_t, +// tag *yaml_char_t, style yaml_mapping_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_pair_t +// end *yaml_node_pair_t +// top *yaml_node_pair_t +// } pairs = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_MAPPING_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, pairs, INITIAL_STACK_SIZE)) goto error +// +// MAPPING_NODE_INIT(node, tag_copy, pairs.start, pairs.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, pairs) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Append an item to a sequence node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_sequence_item(document *yaml_document_t, +// sequence int, item int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// assert(document) // Non-NULL document is required. +// assert(sequence > 0 +// && document.nodes.start + sequence <= document.nodes.top) +// // Valid sequence id is required. +// assert(document.nodes.start[sequence-1].type == YAML_SEQUENCE_NODE) +// // A sequence node is required. +// assert(item > 0 && document.nodes.start + item <= document.nodes.top) +// // Valid item id is required. +// +// if (!PUSH(&context, +// document.nodes.start[sequence-1].data.sequence.items, item)) +// return 0 +// +// return 1 +//} +// +///* +// * Append a pair of a key and a value to a mapping node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_mapping_pair(document *yaml_document_t, +// mapping int, key int, value int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// pair yaml_node_pair_t +// +// assert(document) // Non-NULL document is required. +// assert(mapping > 0 +// && document.nodes.start + mapping <= document.nodes.top) +// // Valid mapping id is required. +// assert(document.nodes.start[mapping-1].type == YAML_MAPPING_NODE) +// // A mapping node is required. +// assert(key > 0 && document.nodes.start + key <= document.nodes.top) +// // Valid key id is required. +// assert(value > 0 && document.nodes.start + value <= document.nodes.top) +// // Valid value id is required. +// +// pair.key = key +// pair.value = value +// +// if (!PUSH(&context, +// document.nodes.start[mapping-1].data.mapping.pairs, pair)) +// return 0 +// +// return 1 +//} +// +// diff --git a/vendor/gopkg.in/yaml.v2/decode.go b/vendor/gopkg.in/yaml.v2/decode.go new file mode 100644 index 00000000..53108765 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/decode.go @@ -0,0 +1,813 @@ +package yaml + +import ( + "encoding" + "encoding/base64" + "fmt" + "io" + "math" + "reflect" + "strconv" + "time" +) + +const ( + documentNode = 1 << iota + mappingNode + sequenceNode + scalarNode + aliasNode +) + +type node struct { + kind int + line, column int + tag string + // For an alias node, alias holds the resolved alias. + alias *node + value string + implicit bool + children []*node + anchors map[string]*node +} + +// ---------------------------------------------------------------------------- +// Parser, produces a node tree out of a libyaml event stream. + +type parser struct { + parser yaml_parser_t + event yaml_event_t + doc *node + doneInit bool +} + +func newParser(b []byte) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + if len(b) == 0 { + b = []byte{'\n'} + } + yaml_parser_set_input_string(&p.parser, b) + return &p +} + +func newParserFromReader(r io.Reader) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + yaml_parser_set_input_reader(&p.parser, r) + return &p +} + +func (p *parser) init() { + if p.doneInit { + return + } + p.expect(yaml_STREAM_START_EVENT) + p.doneInit = true +} + +func (p *parser) destroy() { + if p.event.typ != yaml_NO_EVENT { + yaml_event_delete(&p.event) + } + yaml_parser_delete(&p.parser) +} + +// expect consumes an event from the event stream and +// checks that it's of the expected type. +func (p *parser) expect(e yaml_event_type_t) { + if p.event.typ == yaml_NO_EVENT { + if !yaml_parser_parse(&p.parser, &p.event) { + p.fail() + } + } + if p.event.typ == yaml_STREAM_END_EVENT { + failf("attempted to go past the end of stream; corrupted value?") + } + if p.event.typ != e { + p.parser.problem = fmt.Sprintf("expected %s event but got %s", e, p.event.typ) + p.fail() + } + yaml_event_delete(&p.event) + p.event.typ = yaml_NO_EVENT +} + +// peek peeks at the next event in the event stream, +// puts the results into p.event and returns the event type. +func (p *parser) peek() yaml_event_type_t { + if p.event.typ != yaml_NO_EVENT { + return p.event.typ + } + if !yaml_parser_parse(&p.parser, &p.event) { + p.fail() + } + return p.event.typ +} + +func (p *parser) fail() { + var where string + var line int + if p.parser.problem_mark.line != 0 { + line = p.parser.problem_mark.line + // Scanner errors don't iterate line before returning error + if p.parser.error == yaml_SCANNER_ERROR { + line++ + } + } else if p.parser.context_mark.line != 0 { + line = p.parser.context_mark.line + } + if line != 0 { + where = "line " + strconv.Itoa(line) + ": " + } + var msg string + if len(p.parser.problem) > 0 { + msg = p.parser.problem + } else { + msg = "unknown problem parsing YAML content" + } + failf("%s%s", where, msg) +} + +func (p *parser) anchor(n *node, anchor []byte) { + if anchor != nil { + p.doc.anchors[string(anchor)] = n + } +} + +func (p *parser) parse() *node { + p.init() + switch p.peek() { + case yaml_SCALAR_EVENT: + return p.scalar() + case yaml_ALIAS_EVENT: + return p.alias() + case yaml_MAPPING_START_EVENT: + return p.mapping() + case yaml_SEQUENCE_START_EVENT: + return p.sequence() + case yaml_DOCUMENT_START_EVENT: + return p.document() + case yaml_STREAM_END_EVENT: + // Happens when attempting to decode an empty buffer. + return nil + default: + panic("attempted to parse unknown event: " + p.event.typ.String()) + } +} + +func (p *parser) node(kind int) *node { + return &node{ + kind: kind, + line: p.event.start_mark.line, + column: p.event.start_mark.column, + } +} + +func (p *parser) document() *node { + n := p.node(documentNode) + n.anchors = make(map[string]*node) + p.doc = n + p.expect(yaml_DOCUMENT_START_EVENT) + n.children = append(n.children, p.parse()) + p.expect(yaml_DOCUMENT_END_EVENT) + return n +} + +func (p *parser) alias() *node { + n := p.node(aliasNode) + n.value = string(p.event.anchor) + n.alias = p.doc.anchors[n.value] + if n.alias == nil { + failf("unknown anchor '%s' referenced", n.value) + } + p.expect(yaml_ALIAS_EVENT) + return n +} + +func (p *parser) scalar() *node { + n := p.node(scalarNode) + n.value = string(p.event.value) + n.tag = string(p.event.tag) + n.implicit = p.event.implicit + p.anchor(n, p.event.anchor) + p.expect(yaml_SCALAR_EVENT) + return n +} + +func (p *parser) sequence() *node { + n := p.node(sequenceNode) + p.anchor(n, p.event.anchor) + p.expect(yaml_SEQUENCE_START_EVENT) + for p.peek() != yaml_SEQUENCE_END_EVENT { + n.children = append(n.children, p.parse()) + } + p.expect(yaml_SEQUENCE_END_EVENT) + return n +} + +func (p *parser) mapping() *node { + n := p.node(mappingNode) + p.anchor(n, p.event.anchor) + p.expect(yaml_MAPPING_START_EVENT) + for p.peek() != yaml_MAPPING_END_EVENT { + n.children = append(n.children, p.parse(), p.parse()) + } + p.expect(yaml_MAPPING_END_EVENT) + return n +} + +// ---------------------------------------------------------------------------- +// Decoder, unmarshals a node into a provided value. + +type decoder struct { + doc *node + aliases map[*node]bool + mapType reflect.Type + terrors []string + strict bool + + decodeCount int + aliasCount int + aliasDepth int +} + +var ( + mapItemType = reflect.TypeOf(MapItem{}) + durationType = reflect.TypeOf(time.Duration(0)) + defaultMapType = reflect.TypeOf(map[interface{}]interface{}{}) + ifaceType = defaultMapType.Elem() + timeType = reflect.TypeOf(time.Time{}) + ptrTimeType = reflect.TypeOf(&time.Time{}) +) + +func newDecoder(strict bool) *decoder { + d := &decoder{mapType: defaultMapType, strict: strict} + d.aliases = make(map[*node]bool) + return d +} + +func (d *decoder) terror(n *node, tag string, out reflect.Value) { + if n.tag != "" { + tag = n.tag + } + value := n.value + if tag != yaml_SEQ_TAG && tag != yaml_MAP_TAG { + if len(value) > 10 { + value = " `" + value[:7] + "...`" + } else { + value = " `" + value + "`" + } + } + d.terrors = append(d.terrors, fmt.Sprintf("line %d: cannot unmarshal %s%s into %s", n.line+1, shortTag(tag), value, out.Type())) +} + +func (d *decoder) callUnmarshaler(n *node, u Unmarshaler) (good bool) { + terrlen := len(d.terrors) + err := u.UnmarshalYAML(func(v interface{}) (err error) { + defer handleErr(&err) + d.unmarshal(n, reflect.ValueOf(v)) + if len(d.terrors) > terrlen { + issues := d.terrors[terrlen:] + d.terrors = d.terrors[:terrlen] + return &TypeError{issues} + } + return nil + }) + if e, ok := err.(*TypeError); ok { + d.terrors = append(d.terrors, e.Errors...) + return false + } + if err != nil { + fail(err) + } + return true +} + +// d.prepare initializes and dereferences pointers and calls UnmarshalYAML +// if a value is found to implement it. +// It returns the initialized and dereferenced out value, whether +// unmarshalling was already done by UnmarshalYAML, and if so whether +// its types unmarshalled appropriately. +// +// If n holds a null value, prepare returns before doing anything. +func (d *decoder) prepare(n *node, out reflect.Value) (newout reflect.Value, unmarshaled, good bool) { + if n.tag == yaml_NULL_TAG || n.kind == scalarNode && n.tag == "" && (n.value == "null" || n.value == "~" || n.value == "" && n.implicit) { + return out, false, false + } + again := true + for again { + again = false + if out.Kind() == reflect.Ptr { + if out.IsNil() { + out.Set(reflect.New(out.Type().Elem())) + } + out = out.Elem() + again = true + } + if out.CanAddr() { + if u, ok := out.Addr().Interface().(Unmarshaler); ok { + good = d.callUnmarshaler(n, u) + return out, true, good + } + } + } + return out, false, false +} + +const ( + // 400,000 decode operations is ~500kb of dense object declarations, or ~5kb of dense object declarations with 10000% alias expansion + alias_ratio_range_low = 400000 + // 4,000,000 decode operations is ~5MB of dense object declarations, or ~4.5MB of dense object declarations with 10% alias expansion + alias_ratio_range_high = 4000000 + // alias_ratio_range is the range over which we scale allowed alias ratios + alias_ratio_range = float64(alias_ratio_range_high - alias_ratio_range_low) +) + +func allowedAliasRatio(decodeCount int) float64 { + switch { + case decodeCount <= alias_ratio_range_low: + // allow 99% to come from alias expansion for small-to-medium documents + return 0.99 + case decodeCount >= alias_ratio_range_high: + // allow 10% to come from alias expansion for very large documents + return 0.10 + default: + // scale smoothly from 99% down to 10% over the range. + // this maps to 396,000 - 400,000 allowed alias-driven decodes over the range. + // 400,000 decode operations is ~100MB of allocations in worst-case scenarios (single-item maps). + return 0.99 - 0.89*(float64(decodeCount-alias_ratio_range_low)/alias_ratio_range) + } +} + +func (d *decoder) unmarshal(n *node, out reflect.Value) (good bool) { + d.decodeCount++ + if d.aliasDepth > 0 { + d.aliasCount++ + } + if d.aliasCount > 100 && d.decodeCount > 1000 && float64(d.aliasCount)/float64(d.decodeCount) > allowedAliasRatio(d.decodeCount) { + failf("document contains excessive aliasing") + } + switch n.kind { + case documentNode: + return d.document(n, out) + case aliasNode: + return d.alias(n, out) + } + out, unmarshaled, good := d.prepare(n, out) + if unmarshaled { + return good + } + switch n.kind { + case scalarNode: + good = d.scalar(n, out) + case mappingNode: + good = d.mapping(n, out) + case sequenceNode: + good = d.sequence(n, out) + default: + panic("internal error: unknown node kind: " + strconv.Itoa(n.kind)) + } + return good +} + +func (d *decoder) document(n *node, out reflect.Value) (good bool) { + if len(n.children) == 1 { + d.doc = n + d.unmarshal(n.children[0], out) + return true + } + return false +} + +func (d *decoder) alias(n *node, out reflect.Value) (good bool) { + if d.aliases[n] { + // TODO this could actually be allowed in some circumstances. + failf("anchor '%s' value contains itself", n.value) + } + d.aliases[n] = true + d.aliasDepth++ + good = d.unmarshal(n.alias, out) + d.aliasDepth-- + delete(d.aliases, n) + return good +} + +var zeroValue reflect.Value + +func resetMap(out reflect.Value) { + for _, k := range out.MapKeys() { + out.SetMapIndex(k, zeroValue) + } +} + +func (d *decoder) scalar(n *node, out reflect.Value) bool { + var tag string + var resolved interface{} + if n.tag == "" && !n.implicit { + tag = yaml_STR_TAG + resolved = n.value + } else { + tag, resolved = resolve(n.tag, n.value) + if tag == yaml_BINARY_TAG { + data, err := base64.StdEncoding.DecodeString(resolved.(string)) + if err != nil { + failf("!!binary value contains invalid base64 data") + } + resolved = string(data) + } + } + if resolved == nil { + if out.Kind() == reflect.Map && !out.CanAddr() { + resetMap(out) + } else { + out.Set(reflect.Zero(out.Type())) + } + return true + } + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + // We've resolved to exactly the type we want, so use that. + out.Set(resolvedv) + return true + } + // Perhaps we can use the value as a TextUnmarshaler to + // set its value. + if out.CanAddr() { + u, ok := out.Addr().Interface().(encoding.TextUnmarshaler) + if ok { + var text []byte + if tag == yaml_BINARY_TAG { + text = []byte(resolved.(string)) + } else { + // We let any value be unmarshaled into TextUnmarshaler. + // That might be more lax than we'd like, but the + // TextUnmarshaler itself should bowl out any dubious values. + text = []byte(n.value) + } + err := u.UnmarshalText(text) + if err != nil { + fail(err) + } + return true + } + } + switch out.Kind() { + case reflect.String: + if tag == yaml_BINARY_TAG { + out.SetString(resolved.(string)) + return true + } + if resolved != nil { + out.SetString(n.value) + return true + } + case reflect.Interface: + if resolved == nil { + out.Set(reflect.Zero(out.Type())) + } else if tag == yaml_TIMESTAMP_TAG { + // It looks like a timestamp but for backward compatibility + // reasons we set it as a string, so that code that unmarshals + // timestamp-like values into interface{} will continue to + // see a string and not a time.Time. + // TODO(v3) Drop this. + out.Set(reflect.ValueOf(n.value)) + } else { + out.Set(reflect.ValueOf(resolved)) + } + return true + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + switch resolved := resolved.(type) { + case int: + if !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case int64: + if !out.OverflowInt(resolved) { + out.SetInt(resolved) + return true + } + case uint64: + if resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case float64: + if resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case string: + if out.Type() == durationType { + d, err := time.ParseDuration(resolved) + if err == nil { + out.SetInt(int64(d)) + return true + } + } + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + switch resolved := resolved.(type) { + case int: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case int64: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case uint64: + if !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case float64: + if resolved <= math.MaxUint64 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + } + case reflect.Bool: + switch resolved := resolved.(type) { + case bool: + out.SetBool(resolved) + return true + } + case reflect.Float32, reflect.Float64: + switch resolved := resolved.(type) { + case int: + out.SetFloat(float64(resolved)) + return true + case int64: + out.SetFloat(float64(resolved)) + return true + case uint64: + out.SetFloat(float64(resolved)) + return true + case float64: + out.SetFloat(resolved) + return true + } + case reflect.Struct: + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + out.Set(resolvedv) + return true + } + case reflect.Ptr: + if out.Type().Elem() == reflect.TypeOf(resolved) { + // TODO DOes this make sense? When is out a Ptr except when decoding a nil value? + elem := reflect.New(out.Type().Elem()) + elem.Elem().Set(reflect.ValueOf(resolved)) + out.Set(elem) + return true + } + } + d.terror(n, tag, out) + return false +} + +func settableValueOf(i interface{}) reflect.Value { + v := reflect.ValueOf(i) + sv := reflect.New(v.Type()).Elem() + sv.Set(v) + return sv +} + +func (d *decoder) sequence(n *node, out reflect.Value) (good bool) { + l := len(n.children) + + var iface reflect.Value + switch out.Kind() { + case reflect.Slice: + out.Set(reflect.MakeSlice(out.Type(), l, l)) + case reflect.Array: + if l != out.Len() { + failf("invalid array: want %d elements but got %d", out.Len(), l) + } + case reflect.Interface: + // No type hints. Will have to use a generic sequence. + iface = out + out = settableValueOf(make([]interface{}, l)) + default: + d.terror(n, yaml_SEQ_TAG, out) + return false + } + et := out.Type().Elem() + + j := 0 + for i := 0; i < l; i++ { + e := reflect.New(et).Elem() + if ok := d.unmarshal(n.children[i], e); ok { + out.Index(j).Set(e) + j++ + } + } + if out.Kind() != reflect.Array { + out.Set(out.Slice(0, j)) + } + if iface.IsValid() { + iface.Set(out) + } + return true +} + +func (d *decoder) mapping(n *node, out reflect.Value) (good bool) { + switch out.Kind() { + case reflect.Struct: + return d.mappingStruct(n, out) + case reflect.Slice: + return d.mappingSlice(n, out) + case reflect.Map: + // okay + case reflect.Interface: + if d.mapType.Kind() == reflect.Map { + iface := out + out = reflect.MakeMap(d.mapType) + iface.Set(out) + } else { + slicev := reflect.New(d.mapType).Elem() + if !d.mappingSlice(n, slicev) { + return false + } + out.Set(slicev) + return true + } + default: + d.terror(n, yaml_MAP_TAG, out) + return false + } + outt := out.Type() + kt := outt.Key() + et := outt.Elem() + + mapType := d.mapType + if outt.Key() == ifaceType && outt.Elem() == ifaceType { + d.mapType = outt + } + + if out.IsNil() { + out.Set(reflect.MakeMap(outt)) + } + l := len(n.children) + for i := 0; i < l; i += 2 { + if isMerge(n.children[i]) { + d.merge(n.children[i+1], out) + continue + } + k := reflect.New(kt).Elem() + if d.unmarshal(n.children[i], k) { + kkind := k.Kind() + if kkind == reflect.Interface { + kkind = k.Elem().Kind() + } + if kkind == reflect.Map || kkind == reflect.Slice { + failf("invalid map key: %#v", k.Interface()) + } + e := reflect.New(et).Elem() + if d.unmarshal(n.children[i+1], e) { + d.setMapIndex(n.children[i+1], out, k, e) + } + } + } + d.mapType = mapType + return true +} + +func (d *decoder) setMapIndex(n *node, out, k, v reflect.Value) { + if d.strict && out.MapIndex(k) != zeroValue { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: key %#v already set in map", n.line+1, k.Interface())) + return + } + out.SetMapIndex(k, v) +} + +func (d *decoder) mappingSlice(n *node, out reflect.Value) (good bool) { + outt := out.Type() + if outt.Elem() != mapItemType { + d.terror(n, yaml_MAP_TAG, out) + return false + } + + mapType := d.mapType + d.mapType = outt + + var slice []MapItem + var l = len(n.children) + for i := 0; i < l; i += 2 { + if isMerge(n.children[i]) { + d.merge(n.children[i+1], out) + continue + } + item := MapItem{} + k := reflect.ValueOf(&item.Key).Elem() + if d.unmarshal(n.children[i], k) { + v := reflect.ValueOf(&item.Value).Elem() + if d.unmarshal(n.children[i+1], v) { + slice = append(slice, item) + } + } + } + out.Set(reflect.ValueOf(slice)) + d.mapType = mapType + return true +} + +func (d *decoder) mappingStruct(n *node, out reflect.Value) (good bool) { + sinfo, err := getStructInfo(out.Type()) + if err != nil { + panic(err) + } + name := settableValueOf("") + l := len(n.children) + + var inlineMap reflect.Value + var elemType reflect.Type + if sinfo.InlineMap != -1 { + inlineMap = out.Field(sinfo.InlineMap) + inlineMap.Set(reflect.New(inlineMap.Type()).Elem()) + elemType = inlineMap.Type().Elem() + } + + var doneFields []bool + if d.strict { + doneFields = make([]bool, len(sinfo.FieldsList)) + } + for i := 0; i < l; i += 2 { + ni := n.children[i] + if isMerge(ni) { + d.merge(n.children[i+1], out) + continue + } + if !d.unmarshal(ni, name) { + continue + } + if info, ok := sinfo.FieldsMap[name.String()]; ok { + if d.strict { + if doneFields[info.Id] { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s already set in type %s", ni.line+1, name.String(), out.Type())) + continue + } + doneFields[info.Id] = true + } + var field reflect.Value + if info.Inline == nil { + field = out.Field(info.Num) + } else { + field = out.FieldByIndex(info.Inline) + } + d.unmarshal(n.children[i+1], field) + } else if sinfo.InlineMap != -1 { + if inlineMap.IsNil() { + inlineMap.Set(reflect.MakeMap(inlineMap.Type())) + } + value := reflect.New(elemType).Elem() + d.unmarshal(n.children[i+1], value) + d.setMapIndex(n.children[i+1], inlineMap, name, value) + } else if d.strict { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s not found in type %s", ni.line+1, name.String(), out.Type())) + } + } + return true +} + +func failWantMap() { + failf("map merge requires map or sequence of maps as the value") +} + +func (d *decoder) merge(n *node, out reflect.Value) { + switch n.kind { + case mappingNode: + d.unmarshal(n, out) + case aliasNode: + an, ok := d.doc.anchors[n.value] + if ok && an.kind != mappingNode { + failWantMap() + } + d.unmarshal(n, out) + case sequenceNode: + // Step backwards as earlier nodes take precedence. + for i := len(n.children) - 1; i >= 0; i-- { + ni := n.children[i] + if ni.kind == aliasNode { + an, ok := d.doc.anchors[ni.value] + if ok && an.kind != mappingNode { + failWantMap() + } + } else if ni.kind != mappingNode { + failWantMap() + } + d.unmarshal(ni, out) + } + default: + failWantMap() + } +} + +func isMerge(n *node) bool { + return n.kind == scalarNode && n.value == "<<" && (n.implicit == true || n.tag == yaml_MERGE_TAG) +} diff --git a/vendor/gopkg.in/yaml.v2/emitterc.go b/vendor/gopkg.in/yaml.v2/emitterc.go new file mode 100644 index 00000000..a1c2cc52 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/emitterc.go @@ -0,0 +1,1685 @@ +package yaml + +import ( + "bytes" + "fmt" +) + +// Flush the buffer if needed. +func flush(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) { + return yaml_emitter_flush(emitter) + } + return true +} + +// Put a character to the output buffer. +func put(emitter *yaml_emitter_t, value byte) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + emitter.buffer[emitter.buffer_pos] = value + emitter.buffer_pos++ + emitter.column++ + return true +} + +// Put a line break to the output buffer. +func put_break(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + switch emitter.line_break { + case yaml_CR_BREAK: + emitter.buffer[emitter.buffer_pos] = '\r' + emitter.buffer_pos += 1 + case yaml_LN_BREAK: + emitter.buffer[emitter.buffer_pos] = '\n' + emitter.buffer_pos += 1 + case yaml_CRLN_BREAK: + emitter.buffer[emitter.buffer_pos+0] = '\r' + emitter.buffer[emitter.buffer_pos+1] = '\n' + emitter.buffer_pos += 2 + default: + panic("unknown line break setting") + } + emitter.column = 0 + emitter.line++ + return true +} + +// Copy a character from a string into buffer. +func write(emitter *yaml_emitter_t, s []byte, i *int) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + p := emitter.buffer_pos + w := width(s[*i]) + switch w { + case 4: + emitter.buffer[p+3] = s[*i+3] + fallthrough + case 3: + emitter.buffer[p+2] = s[*i+2] + fallthrough + case 2: + emitter.buffer[p+1] = s[*i+1] + fallthrough + case 1: + emitter.buffer[p+0] = s[*i+0] + default: + panic("unknown character width") + } + emitter.column++ + emitter.buffer_pos += w + *i += w + return true +} + +// Write a whole string into buffer. +func write_all(emitter *yaml_emitter_t, s []byte) bool { + for i := 0; i < len(s); { + if !write(emitter, s, &i) { + return false + } + } + return true +} + +// Copy a line break character from a string into buffer. +func write_break(emitter *yaml_emitter_t, s []byte, i *int) bool { + if s[*i] == '\n' { + if !put_break(emitter) { + return false + } + *i++ + } else { + if !write(emitter, s, i) { + return false + } + emitter.column = 0 + emitter.line++ + } + return true +} + +// Set an emitter error and return false. +func yaml_emitter_set_emitter_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_EMITTER_ERROR + emitter.problem = problem + return false +} + +// Emit an event. +func yaml_emitter_emit(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.events = append(emitter.events, *event) + for !yaml_emitter_need_more_events(emitter) { + event := &emitter.events[emitter.events_head] + if !yaml_emitter_analyze_event(emitter, event) { + return false + } + if !yaml_emitter_state_machine(emitter, event) { + return false + } + yaml_event_delete(event) + emitter.events_head++ + } + return true +} + +// Check if we need to accumulate more events before emitting. +// +// We accumulate extra +// - 1 event for DOCUMENT-START +// - 2 events for SEQUENCE-START +// - 3 events for MAPPING-START +// +func yaml_emitter_need_more_events(emitter *yaml_emitter_t) bool { + if emitter.events_head == len(emitter.events) { + return true + } + var accumulate int + switch emitter.events[emitter.events_head].typ { + case yaml_DOCUMENT_START_EVENT: + accumulate = 1 + break + case yaml_SEQUENCE_START_EVENT: + accumulate = 2 + break + case yaml_MAPPING_START_EVENT: + accumulate = 3 + break + default: + return false + } + if len(emitter.events)-emitter.events_head > accumulate { + return false + } + var level int + for i := emitter.events_head; i < len(emitter.events); i++ { + switch emitter.events[i].typ { + case yaml_STREAM_START_EVENT, yaml_DOCUMENT_START_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT: + level++ + case yaml_STREAM_END_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_END_EVENT, yaml_MAPPING_END_EVENT: + level-- + } + if level == 0 { + return false + } + } + return true +} + +// Append a directive to the directives stack. +func yaml_emitter_append_tag_directive(emitter *yaml_emitter_t, value *yaml_tag_directive_t, allow_duplicates bool) bool { + for i := 0; i < len(emitter.tag_directives); i++ { + if bytes.Equal(value.handle, emitter.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_emitter_set_emitter_error(emitter, "duplicate %TAG directive") + } + } + + // [Go] Do we actually need to copy this given garbage collection + // and the lack of deallocating destructors? + tag_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(tag_copy.handle, value.handle) + copy(tag_copy.prefix, value.prefix) + emitter.tag_directives = append(emitter.tag_directives, tag_copy) + return true +} + +// Increase the indentation level. +func yaml_emitter_increase_indent(emitter *yaml_emitter_t, flow, indentless bool) bool { + emitter.indents = append(emitter.indents, emitter.indent) + if emitter.indent < 0 { + if flow { + emitter.indent = emitter.best_indent + } else { + emitter.indent = 0 + } + } else if !indentless { + emitter.indent += emitter.best_indent + } + return true +} + +// State dispatcher. +func yaml_emitter_state_machine(emitter *yaml_emitter_t, event *yaml_event_t) bool { + switch emitter.state { + default: + case yaml_EMIT_STREAM_START_STATE: + return yaml_emitter_emit_stream_start(emitter, event) + + case yaml_EMIT_FIRST_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, true) + + case yaml_EMIT_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, false) + + case yaml_EMIT_DOCUMENT_CONTENT_STATE: + return yaml_emitter_emit_document_content(emitter, event) + + case yaml_EMIT_DOCUMENT_END_STATE: + return yaml_emitter_emit_document_end(emitter, event) + + case yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, true) + + case yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, false) + + case yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, true) + + case yaml_EMIT_FLOW_MAPPING_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, false) + + case yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, true) + + case yaml_EMIT_FLOW_MAPPING_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, false) + + case yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, true) + + case yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, false) + + case yaml_EMIT_END_STATE: + return yaml_emitter_set_emitter_error(emitter, "expected nothing after STREAM-END") + } + panic("invalid emitter state") +} + +// Expect STREAM-START. +func yaml_emitter_emit_stream_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_STREAM_START_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected STREAM-START") + } + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = event.encoding + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = yaml_UTF8_ENCODING + } + } + if emitter.best_indent < 2 || emitter.best_indent > 9 { + emitter.best_indent = 2 + } + if emitter.best_width >= 0 && emitter.best_width <= emitter.best_indent*2 { + emitter.best_width = 80 + } + if emitter.best_width < 0 { + emitter.best_width = 1<<31 - 1 + } + if emitter.line_break == yaml_ANY_BREAK { + emitter.line_break = yaml_LN_BREAK + } + + emitter.indent = -1 + emitter.line = 0 + emitter.column = 0 + emitter.whitespace = true + emitter.indention = true + + if emitter.encoding != yaml_UTF8_ENCODING { + if !yaml_emitter_write_bom(emitter) { + return false + } + } + emitter.state = yaml_EMIT_FIRST_DOCUMENT_START_STATE + return true +} + +// Expect DOCUMENT-START or STREAM-END. +func yaml_emitter_emit_document_start(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + + if event.typ == yaml_DOCUMENT_START_EVENT { + + if event.version_directive != nil { + if !yaml_emitter_analyze_version_directive(emitter, event.version_directive) { + return false + } + } + + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_analyze_tag_directive(emitter, tag_directive) { + return false + } + if !yaml_emitter_append_tag_directive(emitter, tag_directive, false) { + return false + } + } + + for i := 0; i < len(default_tag_directives); i++ { + tag_directive := &default_tag_directives[i] + if !yaml_emitter_append_tag_directive(emitter, tag_directive, true) { + return false + } + } + + implicit := event.implicit + if !first || emitter.canonical { + implicit = false + } + + if emitter.open_ended && (event.version_directive != nil || len(event.tag_directives) > 0) { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if event.version_directive != nil { + implicit = false + if !yaml_emitter_write_indicator(emitter, []byte("%YAML"), true, false, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("1.1"), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if len(event.tag_directives) > 0 { + implicit = false + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_write_indicator(emitter, []byte("%TAG"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_handle(emitter, tag_directive.handle) { + return false + } + if !yaml_emitter_write_tag_content(emitter, tag_directive.prefix, true) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + if yaml_emitter_check_empty_document(emitter) { + implicit = false + } + if !implicit { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("---"), true, false, false) { + return false + } + if emitter.canonical { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + emitter.state = yaml_EMIT_DOCUMENT_CONTENT_STATE + return true + } + + if event.typ == yaml_STREAM_END_EVENT { + if emitter.open_ended { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_END_STATE + return true + } + + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-START or STREAM-END") +} + +// Expect the root node. +func yaml_emitter_emit_document_content(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.states = append(emitter.states, yaml_EMIT_DOCUMENT_END_STATE) + return yaml_emitter_emit_node(emitter, event, true, false, false, false) +} + +// Expect DOCUMENT-END. +func yaml_emitter_emit_document_end(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_DOCUMENT_END_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-END") + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !event.implicit { + // [Go] Allocate the slice elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_DOCUMENT_START_STATE + emitter.tag_directives = emitter.tag_directives[:0] + return true +} + +// Expect a flow item node. +func yaml_emitter_emit_flow_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'['}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_SEQUENCE_END_EVENT { + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.canonical && !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{']'}, false, false, false) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + + return true + } + + if !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE) + return yaml_emitter_emit_node(emitter, event, false, true, false, false) +} + +// Expect a flow key node. +func yaml_emitter_emit_flow_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'{'}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_MAPPING_END_EVENT { + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.canonical && !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'}'}, false, false, false) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + + if !first { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if !emitter.canonical && yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, false) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a flow value node. +func yaml_emitter_emit_flow_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, false) { + return false + } + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_KEY_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a block item node. +func yaml_emitter_emit_block_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_increase_indent(emitter, false, emitter.mapping_context && !emitter.indention) { + return false + } + } + if event.typ == yaml_SEQUENCE_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'-'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE) + return yaml_emitter_emit_node(emitter, event, false, true, false, false) +} + +// Expect a block key node. +func yaml_emitter_emit_block_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_increase_indent(emitter, false, false) { + return false + } + } + if event.typ == yaml_MAPPING_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a block value node. +func yaml_emitter_emit_block_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, true) { + return false + } + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_KEY_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a node. +func yaml_emitter_emit_node(emitter *yaml_emitter_t, event *yaml_event_t, + root bool, sequence bool, mapping bool, simple_key bool) bool { + + emitter.root_context = root + emitter.sequence_context = sequence + emitter.mapping_context = mapping + emitter.simple_key_context = simple_key + + switch event.typ { + case yaml_ALIAS_EVENT: + return yaml_emitter_emit_alias(emitter, event) + case yaml_SCALAR_EVENT: + return yaml_emitter_emit_scalar(emitter, event) + case yaml_SEQUENCE_START_EVENT: + return yaml_emitter_emit_sequence_start(emitter, event) + case yaml_MAPPING_START_EVENT: + return yaml_emitter_emit_mapping_start(emitter, event) + default: + return yaml_emitter_set_emitter_error(emitter, + fmt.Sprintf("expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS, but got %v", event.typ)) + } +} + +// Expect ALIAS. +func yaml_emitter_emit_alias(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SCALAR. +func yaml_emitter_emit_scalar(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_select_scalar_style(emitter, event) { + return false + } + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + if !yaml_emitter_process_scalar(emitter) { + return false + } + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SEQUENCE-START. +func yaml_emitter_emit_sequence_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.sequence_style() == yaml_FLOW_SEQUENCE_STYLE || + yaml_emitter_check_empty_sequence(emitter) { + emitter.state = yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE + } + return true +} + +// Expect MAPPING-START. +func yaml_emitter_emit_mapping_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.mapping_style() == yaml_FLOW_MAPPING_STYLE || + yaml_emitter_check_empty_mapping(emitter) { + emitter.state = yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE + } + return true +} + +// Check if the document content is an empty scalar. +func yaml_emitter_check_empty_document(emitter *yaml_emitter_t) bool { + return false // [Go] Huh? +} + +// Check if the next events represent an empty sequence. +func yaml_emitter_check_empty_sequence(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_SEQUENCE_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_SEQUENCE_END_EVENT +} + +// Check if the next events represent an empty mapping. +func yaml_emitter_check_empty_mapping(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_MAPPING_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_MAPPING_END_EVENT +} + +// Check if the next node can be expressed as a simple key. +func yaml_emitter_check_simple_key(emitter *yaml_emitter_t) bool { + length := 0 + switch emitter.events[emitter.events_head].typ { + case yaml_ALIAS_EVENT: + length += len(emitter.anchor_data.anchor) + case yaml_SCALAR_EVENT: + if emitter.scalar_data.multiline { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + + len(emitter.scalar_data.value) + case yaml_SEQUENCE_START_EVENT: + if !yaml_emitter_check_empty_sequence(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + case yaml_MAPPING_START_EVENT: + if !yaml_emitter_check_empty_mapping(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + default: + return false + } + return length <= 128 +} + +// Determine an acceptable scalar style. +func yaml_emitter_select_scalar_style(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + no_tag := len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 + if no_tag && !event.implicit && !event.quoted_implicit { + return yaml_emitter_set_emitter_error(emitter, "neither tag nor implicit flags are specified") + } + + style := event.scalar_style() + if style == yaml_ANY_SCALAR_STYLE { + style = yaml_PLAIN_SCALAR_STYLE + } + if emitter.canonical { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + if emitter.simple_key_context && emitter.scalar_data.multiline { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + + if style == yaml_PLAIN_SCALAR_STYLE { + if emitter.flow_level > 0 && !emitter.scalar_data.flow_plain_allowed || + emitter.flow_level == 0 && !emitter.scalar_data.block_plain_allowed { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if len(emitter.scalar_data.value) == 0 && (emitter.flow_level > 0 || emitter.simple_key_context) { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if no_tag && !event.implicit { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_SINGLE_QUOTED_SCALAR_STYLE { + if !emitter.scalar_data.single_quoted_allowed { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_LITERAL_SCALAR_STYLE || style == yaml_FOLDED_SCALAR_STYLE { + if !emitter.scalar_data.block_allowed || emitter.flow_level > 0 || emitter.simple_key_context { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + + if no_tag && !event.quoted_implicit && style != yaml_PLAIN_SCALAR_STYLE { + emitter.tag_data.handle = []byte{'!'} + } + emitter.scalar_data.style = style + return true +} + +// Write an anchor. +func yaml_emitter_process_anchor(emitter *yaml_emitter_t) bool { + if emitter.anchor_data.anchor == nil { + return true + } + c := []byte{'&'} + if emitter.anchor_data.alias { + c[0] = '*' + } + if !yaml_emitter_write_indicator(emitter, c, true, false, false) { + return false + } + return yaml_emitter_write_anchor(emitter, emitter.anchor_data.anchor) +} + +// Write a tag. +func yaml_emitter_process_tag(emitter *yaml_emitter_t) bool { + if len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 { + return true + } + if len(emitter.tag_data.handle) > 0 { + if !yaml_emitter_write_tag_handle(emitter, emitter.tag_data.handle) { + return false + } + if len(emitter.tag_data.suffix) > 0 { + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + } + } else { + // [Go] Allocate these slices elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("!<"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, false, false, false) { + return false + } + } + return true +} + +// Write a scalar. +func yaml_emitter_process_scalar(emitter *yaml_emitter_t) bool { + switch emitter.scalar_data.style { + case yaml_PLAIN_SCALAR_STYLE: + return yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_SINGLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_single_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_DOUBLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_double_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_LITERAL_SCALAR_STYLE: + return yaml_emitter_write_literal_scalar(emitter, emitter.scalar_data.value) + + case yaml_FOLDED_SCALAR_STYLE: + return yaml_emitter_write_folded_scalar(emitter, emitter.scalar_data.value) + } + panic("unknown scalar style") +} + +// Check if a %YAML directive is valid. +func yaml_emitter_analyze_version_directive(emitter *yaml_emitter_t, version_directive *yaml_version_directive_t) bool { + if version_directive.major != 1 || version_directive.minor != 1 { + return yaml_emitter_set_emitter_error(emitter, "incompatible %YAML directive") + } + return true +} + +// Check if a %TAG directive is valid. +func yaml_emitter_analyze_tag_directive(emitter *yaml_emitter_t, tag_directive *yaml_tag_directive_t) bool { + handle := tag_directive.handle + prefix := tag_directive.prefix + if len(handle) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag handle must not be empty") + } + if handle[0] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must start with '!'") + } + if handle[len(handle)-1] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must end with '!'") + } + for i := 1; i < len(handle)-1; i += width(handle[i]) { + if !is_alpha(handle, i) { + return yaml_emitter_set_emitter_error(emitter, "tag handle must contain alphanumerical characters only") + } + } + if len(prefix) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag prefix must not be empty") + } + return true +} + +// Check if an anchor is valid. +func yaml_emitter_analyze_anchor(emitter *yaml_emitter_t, anchor []byte, alias bool) bool { + if len(anchor) == 0 { + problem := "anchor value must not be empty" + if alias { + problem = "alias value must not be empty" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + for i := 0; i < len(anchor); i += width(anchor[i]) { + if !is_alpha(anchor, i) { + problem := "anchor value must contain alphanumerical characters only" + if alias { + problem = "alias value must contain alphanumerical characters only" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + } + emitter.anchor_data.anchor = anchor + emitter.anchor_data.alias = alias + return true +} + +// Check if a tag is valid. +func yaml_emitter_analyze_tag(emitter *yaml_emitter_t, tag []byte) bool { + if len(tag) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag value must not be empty") + } + for i := 0; i < len(emitter.tag_directives); i++ { + tag_directive := &emitter.tag_directives[i] + if bytes.HasPrefix(tag, tag_directive.prefix) { + emitter.tag_data.handle = tag_directive.handle + emitter.tag_data.suffix = tag[len(tag_directive.prefix):] + return true + } + } + emitter.tag_data.suffix = tag + return true +} + +// Check if a scalar is valid. +func yaml_emitter_analyze_scalar(emitter *yaml_emitter_t, value []byte) bool { + var ( + block_indicators = false + flow_indicators = false + line_breaks = false + special_characters = false + + leading_space = false + leading_break = false + trailing_space = false + trailing_break = false + break_space = false + space_break = false + + preceded_by_whitespace = false + followed_by_whitespace = false + previous_space = false + previous_break = false + ) + + emitter.scalar_data.value = value + + if len(value) == 0 { + emitter.scalar_data.multiline = false + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = false + return true + } + + if len(value) >= 3 && ((value[0] == '-' && value[1] == '-' && value[2] == '-') || (value[0] == '.' && value[1] == '.' && value[2] == '.')) { + block_indicators = true + flow_indicators = true + } + + preceded_by_whitespace = true + for i, w := 0, 0; i < len(value); i += w { + w = width(value[i]) + followed_by_whitespace = i+w >= len(value) || is_blank(value, i+w) + + if i == 0 { + switch value[i] { + case '#', ',', '[', ']', '{', '}', '&', '*', '!', '|', '>', '\'', '"', '%', '@', '`': + flow_indicators = true + block_indicators = true + case '?', ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '-': + if followed_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } else { + switch value[i] { + case ',', '?', '[', ']', '{', '}': + flow_indicators = true + case ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '#': + if preceded_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } + + if !is_printable(value, i) || !is_ascii(value, i) && !emitter.unicode { + special_characters = true + } + if is_space(value, i) { + if i == 0 { + leading_space = true + } + if i+width(value[i]) == len(value) { + trailing_space = true + } + if previous_break { + break_space = true + } + previous_space = true + previous_break = false + } else if is_break(value, i) { + line_breaks = true + if i == 0 { + leading_break = true + } + if i+width(value[i]) == len(value) { + trailing_break = true + } + if previous_space { + space_break = true + } + previous_space = false + previous_break = true + } else { + previous_space = false + previous_break = false + } + + // [Go]: Why 'z'? Couldn't be the end of the string as that's the loop condition. + preceded_by_whitespace = is_blankz(value, i) + } + + emitter.scalar_data.multiline = line_breaks + emitter.scalar_data.flow_plain_allowed = true + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = true + + if leading_space || leading_break || trailing_space || trailing_break { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if trailing_space { + emitter.scalar_data.block_allowed = false + } + if break_space { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + } + if space_break || special_characters { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + emitter.scalar_data.block_allowed = false + } + if line_breaks { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if flow_indicators { + emitter.scalar_data.flow_plain_allowed = false + } + if block_indicators { + emitter.scalar_data.block_plain_allowed = false + } + return true +} + +// Check if the event data is valid. +func yaml_emitter_analyze_event(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + emitter.anchor_data.anchor = nil + emitter.tag_data.handle = nil + emitter.tag_data.suffix = nil + emitter.scalar_data.value = nil + + switch event.typ { + case yaml_ALIAS_EVENT: + if !yaml_emitter_analyze_anchor(emitter, event.anchor, true) { + return false + } + + case yaml_SCALAR_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || (!event.implicit && !event.quoted_implicit)) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + if !yaml_emitter_analyze_scalar(emitter, event.value) { + return false + } + + case yaml_SEQUENCE_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + + case yaml_MAPPING_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + } + return true +} + +// Write the BOM character. +func yaml_emitter_write_bom(emitter *yaml_emitter_t) bool { + if !flush(emitter) { + return false + } + pos := emitter.buffer_pos + emitter.buffer[pos+0] = '\xEF' + emitter.buffer[pos+1] = '\xBB' + emitter.buffer[pos+2] = '\xBF' + emitter.buffer_pos += 3 + return true +} + +func yaml_emitter_write_indent(emitter *yaml_emitter_t) bool { + indent := emitter.indent + if indent < 0 { + indent = 0 + } + if !emitter.indention || emitter.column > indent || (emitter.column == indent && !emitter.whitespace) { + if !put_break(emitter) { + return false + } + } + for emitter.column < indent { + if !put(emitter, ' ') { + return false + } + } + emitter.whitespace = true + emitter.indention = true + return true +} + +func yaml_emitter_write_indicator(emitter *yaml_emitter_t, indicator []byte, need_whitespace, is_whitespace, is_indention bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, indicator) { + return false + } + emitter.whitespace = is_whitespace + emitter.indention = (emitter.indention && is_indention) + emitter.open_ended = false + return true +} + +func yaml_emitter_write_anchor(emitter *yaml_emitter_t, value []byte) bool { + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_handle(emitter *yaml_emitter_t, value []byte) bool { + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_content(emitter *yaml_emitter_t, value []byte, need_whitespace bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + for i := 0; i < len(value); { + var must_write bool + switch value[i] { + case ';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '_', '.', '~', '*', '\'', '(', ')', '[', ']': + must_write = true + default: + must_write = is_alpha(value, i) + } + if must_write { + if !write(emitter, value, &i) { + return false + } + } else { + w := width(value[i]) + for k := 0; k < w; k++ { + octet := value[i] + i++ + if !put(emitter, '%') { + return false + } + + c := octet >> 4 + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + + c = octet & 0x0f + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + } + } + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_plain_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + + emitter.whitespace = false + emitter.indention = false + if emitter.root_context { + emitter.open_ended = true + } + + return true +} + +func yaml_emitter_write_single_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, true, false, false) { + return false + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if value[i] == '\'' { + if !put(emitter, '\'') { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_double_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + spaces := false + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, true, false, false) { + return false + } + + for i := 0; i < len(value); { + if !is_printable(value, i) || (!emitter.unicode && !is_ascii(value, i)) || + is_bom(value, i) || is_break(value, i) || + value[i] == '"' || value[i] == '\\' { + + octet := value[i] + + var w int + var v rune + switch { + case octet&0x80 == 0x00: + w, v = 1, rune(octet&0x7F) + case octet&0xE0 == 0xC0: + w, v = 2, rune(octet&0x1F) + case octet&0xF0 == 0xE0: + w, v = 3, rune(octet&0x0F) + case octet&0xF8 == 0xF0: + w, v = 4, rune(octet&0x07) + } + for k := 1; k < w; k++ { + octet = value[i+k] + v = (v << 6) + (rune(octet) & 0x3F) + } + i += w + + if !put(emitter, '\\') { + return false + } + + var ok bool + switch v { + case 0x00: + ok = put(emitter, '0') + case 0x07: + ok = put(emitter, 'a') + case 0x08: + ok = put(emitter, 'b') + case 0x09: + ok = put(emitter, 't') + case 0x0A: + ok = put(emitter, 'n') + case 0x0b: + ok = put(emitter, 'v') + case 0x0c: + ok = put(emitter, 'f') + case 0x0d: + ok = put(emitter, 'r') + case 0x1b: + ok = put(emitter, 'e') + case 0x22: + ok = put(emitter, '"') + case 0x5c: + ok = put(emitter, '\\') + case 0x85: + ok = put(emitter, 'N') + case 0xA0: + ok = put(emitter, '_') + case 0x2028: + ok = put(emitter, 'L') + case 0x2029: + ok = put(emitter, 'P') + default: + if v <= 0xFF { + ok = put(emitter, 'x') + w = 2 + } else if v <= 0xFFFF { + ok = put(emitter, 'u') + w = 4 + } else { + ok = put(emitter, 'U') + w = 8 + } + for k := (w - 1) * 4; ok && k >= 0; k -= 4 { + digit := byte((v >> uint(k)) & 0x0F) + if digit < 10 { + ok = put(emitter, digit+'0') + } else { + ok = put(emitter, digit+'A'-10) + } + } + } + if !ok { + return false + } + spaces = false + } else if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 { + if !yaml_emitter_write_indent(emitter) { + return false + } + if is_space(value, i+1) { + if !put(emitter, '\\') { + return false + } + } + i += width(value[i]) + } else if !write(emitter, value, &i) { + return false + } + spaces = true + } else { + if !write(emitter, value, &i) { + return false + } + spaces = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_block_scalar_hints(emitter *yaml_emitter_t, value []byte) bool { + if is_space(value, 0) || is_break(value, 0) { + indent_hint := []byte{'0' + byte(emitter.best_indent)} + if !yaml_emitter_write_indicator(emitter, indent_hint, false, false, false) { + return false + } + } + + emitter.open_ended = false + + var chomp_hint [1]byte + if len(value) == 0 { + chomp_hint[0] = '-' + } else { + i := len(value) - 1 + for value[i]&0xC0 == 0x80 { + i-- + } + if !is_break(value, i) { + chomp_hint[0] = '-' + } else if i == 0 { + chomp_hint[0] = '+' + emitter.open_ended = true + } else { + i-- + for value[i]&0xC0 == 0x80 { + i-- + } + if is_break(value, i) { + chomp_hint[0] = '+' + emitter.open_ended = true + } + } + } + if chomp_hint[0] != 0 { + if !yaml_emitter_write_indicator(emitter, chomp_hint[:], false, false, false) { + return false + } + } + return true +} + +func yaml_emitter_write_literal_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'|'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + if !put_break(emitter) { + return false + } + emitter.indention = true + emitter.whitespace = true + breaks := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + breaks = false + } + } + + return true +} + +func yaml_emitter_write_folded_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + + if !put_break(emitter) { + return false + } + emitter.indention = true + emitter.whitespace = true + + breaks := true + leading_spaces := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !breaks && !leading_spaces && value[i] == '\n' { + k := 0 + for is_break(value, k) { + k += width(value[k]) + } + if !is_blankz(value, k) { + if !put_break(emitter) { + return false + } + } + } + if !write_break(emitter, value, &i) { + return false + } + emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + leading_spaces = is_blank(value, i) + } + if !breaks && is_space(value, i) && !is_space(value, i+1) && emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + emitter.indention = false + breaks = false + } + } + return true +} diff --git a/vendor/gopkg.in/yaml.v2/encode.go b/vendor/gopkg.in/yaml.v2/encode.go new file mode 100644 index 00000000..0ee738e1 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/encode.go @@ -0,0 +1,390 @@ +package yaml + +import ( + "encoding" + "fmt" + "io" + "reflect" + "regexp" + "sort" + "strconv" + "strings" + "time" + "unicode/utf8" +) + +// jsonNumber is the interface of the encoding/json.Number datatype. +// Repeating the interface here avoids a dependency on encoding/json, and also +// supports other libraries like jsoniter, which use a similar datatype with +// the same interface. Detecting this interface is useful when dealing with +// structures containing json.Number, which is a string under the hood. The +// encoder should prefer the use of Int64(), Float64() and string(), in that +// order, when encoding this type. +type jsonNumber interface { + Float64() (float64, error) + Int64() (int64, error) + String() string +} + +type encoder struct { + emitter yaml_emitter_t + event yaml_event_t + out []byte + flow bool + // doneInit holds whether the initial stream_start_event has been + // emitted. + doneInit bool +} + +func newEncoder() *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_string(&e.emitter, &e.out) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func newEncoderWithWriter(w io.Writer) *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_writer(&e.emitter, w) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func (e *encoder) init() { + if e.doneInit { + return + } + yaml_stream_start_event_initialize(&e.event, yaml_UTF8_ENCODING) + e.emit() + e.doneInit = true +} + +func (e *encoder) finish() { + e.emitter.open_ended = false + yaml_stream_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) destroy() { + yaml_emitter_delete(&e.emitter) +} + +func (e *encoder) emit() { + // This will internally delete the e.event value. + e.must(yaml_emitter_emit(&e.emitter, &e.event)) +} + +func (e *encoder) must(ok bool) { + if !ok { + msg := e.emitter.problem + if msg == "" { + msg = "unknown problem generating YAML content" + } + failf("%s", msg) + } +} + +func (e *encoder) marshalDoc(tag string, in reflect.Value) { + e.init() + yaml_document_start_event_initialize(&e.event, nil, nil, true) + e.emit() + e.marshal(tag, in) + yaml_document_end_event_initialize(&e.event, true) + e.emit() +} + +func (e *encoder) marshal(tag string, in reflect.Value) { + if !in.IsValid() || in.Kind() == reflect.Ptr && in.IsNil() { + e.nilv() + return + } + iface := in.Interface() + switch m := iface.(type) { + case jsonNumber: + integer, err := m.Int64() + if err == nil { + // In this case the json.Number is a valid int64 + in = reflect.ValueOf(integer) + break + } + float, err := m.Float64() + if err == nil { + // In this case the json.Number is a valid float64 + in = reflect.ValueOf(float) + break + } + // fallback case - no number could be obtained + in = reflect.ValueOf(m.String()) + case time.Time, *time.Time: + // Although time.Time implements TextMarshaler, + // we don't want to treat it as a string for YAML + // purposes because YAML has special support for + // timestamps. + case Marshaler: + v, err := m.MarshalYAML() + if err != nil { + fail(err) + } + if v == nil { + e.nilv() + return + } + in = reflect.ValueOf(v) + case encoding.TextMarshaler: + text, err := m.MarshalText() + if err != nil { + fail(err) + } + in = reflect.ValueOf(string(text)) + case nil: + e.nilv() + return + } + switch in.Kind() { + case reflect.Interface: + e.marshal(tag, in.Elem()) + case reflect.Map: + e.mapv(tag, in) + case reflect.Ptr: + if in.Type() == ptrTimeType { + e.timev(tag, in.Elem()) + } else { + e.marshal(tag, in.Elem()) + } + case reflect.Struct: + if in.Type() == timeType { + e.timev(tag, in) + } else { + e.structv(tag, in) + } + case reflect.Slice, reflect.Array: + if in.Type().Elem() == mapItemType { + e.itemsv(tag, in) + } else { + e.slicev(tag, in) + } + case reflect.String: + e.stringv(tag, in) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + if in.Type() == durationType { + e.stringv(tag, reflect.ValueOf(iface.(time.Duration).String())) + } else { + e.intv(tag, in) + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + e.uintv(tag, in) + case reflect.Float32, reflect.Float64: + e.floatv(tag, in) + case reflect.Bool: + e.boolv(tag, in) + default: + panic("cannot marshal type: " + in.Type().String()) + } +} + +func (e *encoder) mapv(tag string, in reflect.Value) { + e.mappingv(tag, func() { + keys := keyList(in.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + e.marshal("", k) + e.marshal("", in.MapIndex(k)) + } + }) +} + +func (e *encoder) itemsv(tag string, in reflect.Value) { + e.mappingv(tag, func() { + slice := in.Convert(reflect.TypeOf([]MapItem{})).Interface().([]MapItem) + for _, item := range slice { + e.marshal("", reflect.ValueOf(item.Key)) + e.marshal("", reflect.ValueOf(item.Value)) + } + }) +} + +func (e *encoder) structv(tag string, in reflect.Value) { + sinfo, err := getStructInfo(in.Type()) + if err != nil { + panic(err) + } + e.mappingv(tag, func() { + for _, info := range sinfo.FieldsList { + var value reflect.Value + if info.Inline == nil { + value = in.Field(info.Num) + } else { + value = in.FieldByIndex(info.Inline) + } + if info.OmitEmpty && isZero(value) { + continue + } + e.marshal("", reflect.ValueOf(info.Key)) + e.flow = info.Flow + e.marshal("", value) + } + if sinfo.InlineMap >= 0 { + m := in.Field(sinfo.InlineMap) + if m.Len() > 0 { + e.flow = false + keys := keyList(m.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + if _, found := sinfo.FieldsMap[k.String()]; found { + panic(fmt.Sprintf("Can't have key %q in inlined map; conflicts with struct field", k.String())) + } + e.marshal("", k) + e.flow = false + e.marshal("", m.MapIndex(k)) + } + } + } + }) +} + +func (e *encoder) mappingv(tag string, f func()) { + implicit := tag == "" + style := yaml_BLOCK_MAPPING_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_MAPPING_STYLE + } + yaml_mapping_start_event_initialize(&e.event, nil, []byte(tag), implicit, style) + e.emit() + f() + yaml_mapping_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) slicev(tag string, in reflect.Value) { + implicit := tag == "" + style := yaml_BLOCK_SEQUENCE_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_SEQUENCE_STYLE + } + e.must(yaml_sequence_start_event_initialize(&e.event, nil, []byte(tag), implicit, style)) + e.emit() + n := in.Len() + for i := 0; i < n; i++ { + e.marshal("", in.Index(i)) + } + e.must(yaml_sequence_end_event_initialize(&e.event)) + e.emit() +} + +// isBase60 returns whether s is in base 60 notation as defined in YAML 1.1. +// +// The base 60 float notation in YAML 1.1 is a terrible idea and is unsupported +// in YAML 1.2 and by this package, but these should be marshalled quoted for +// the time being for compatibility with other parsers. +func isBase60Float(s string) (result bool) { + // Fast path. + if s == "" { + return false + } + c := s[0] + if !(c == '+' || c == '-' || c >= '0' && c <= '9') || strings.IndexByte(s, ':') < 0 { + return false + } + // Do the full match. + return base60float.MatchString(s) +} + +// From http://yaml.org/type/float.html, except the regular expression there +// is bogus. In practice parsers do not enforce the "\.[0-9_]*" suffix. +var base60float = regexp.MustCompile(`^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+(?:\.[0-9_]*)?$`) + +func (e *encoder) stringv(tag string, in reflect.Value) { + var style yaml_scalar_style_t + s := in.String() + canUsePlain := true + switch { + case !utf8.ValidString(s): + if tag == yaml_BINARY_TAG { + failf("explicitly tagged !!binary data must be base64-encoded") + } + if tag != "" { + failf("cannot marshal invalid UTF-8 data as %s", shortTag(tag)) + } + // It can't be encoded directly as YAML so use a binary tag + // and encode it as base64. + tag = yaml_BINARY_TAG + s = encodeBase64(s) + case tag == "": + // Check to see if it would resolve to a specific + // tag when encoded unquoted. If it doesn't, + // there's no need to quote it. + rtag, _ := resolve("", s) + canUsePlain = rtag == yaml_STR_TAG && !isBase60Float(s) + } + // Note: it's possible for user code to emit invalid YAML + // if they explicitly specify a tag and a string containing + // text that's incompatible with that tag. + switch { + case strings.Contains(s, "\n"): + style = yaml_LITERAL_SCALAR_STYLE + case canUsePlain: + style = yaml_PLAIN_SCALAR_STYLE + default: + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + e.emitScalar(s, "", tag, style) +} + +func (e *encoder) boolv(tag string, in reflect.Value) { + var s string + if in.Bool() { + s = "true" + } else { + s = "false" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) intv(tag string, in reflect.Value) { + s := strconv.FormatInt(in.Int(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) uintv(tag string, in reflect.Value) { + s := strconv.FormatUint(in.Uint(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) timev(tag string, in reflect.Value) { + t := in.Interface().(time.Time) + s := t.Format(time.RFC3339Nano) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) floatv(tag string, in reflect.Value) { + // Issue #352: When formatting, use the precision of the underlying value + precision := 64 + if in.Kind() == reflect.Float32 { + precision = 32 + } + + s := strconv.FormatFloat(in.Float(), 'g', -1, precision) + switch s { + case "+Inf": + s = ".inf" + case "-Inf": + s = "-.inf" + case "NaN": + s = ".nan" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) nilv() { + e.emitScalar("null", "", "", yaml_PLAIN_SCALAR_STYLE) +} + +func (e *encoder) emitScalar(value, anchor, tag string, style yaml_scalar_style_t) { + implicit := tag == "" + e.must(yaml_scalar_event_initialize(&e.event, []byte(anchor), []byte(tag), []byte(value), implicit, implicit, style)) + e.emit() +} diff --git a/vendor/gopkg.in/yaml.v2/go.mod b/vendor/gopkg.in/yaml.v2/go.mod new file mode 100644 index 00000000..1934e876 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/go.mod @@ -0,0 +1,5 @@ +module "gopkg.in/yaml.v2" + +require ( + "gopkg.in/check.v1" v0.0.0-20161208181325-20d25e280405 +) diff --git a/vendor/gopkg.in/yaml.v2/parserc.go b/vendor/gopkg.in/yaml.v2/parserc.go new file mode 100644 index 00000000..81d05dfe --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/parserc.go @@ -0,0 +1,1095 @@ +package yaml + +import ( + "bytes" +) + +// The parser implements the following grammar: +// +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// implicit_document ::= block_node DOCUMENT-END* +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// block_node_or_indentless_sequence ::= +// ALIAS +// | properties (block_content | indentless_block_sequence)? +// | block_content +// | indentless_block_sequence +// block_node ::= ALIAS +// | properties block_content? +// | block_content +// flow_node ::= ALIAS +// | properties flow_content? +// | flow_content +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// block_content ::= block_collection | flow_collection | SCALAR +// flow_content ::= flow_collection | SCALAR +// block_collection ::= block_sequence | block_mapping +// flow_collection ::= flow_sequence | flow_mapping +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// block_mapping ::= BLOCK-MAPPING_START +// ((KEY block_node_or_indentless_sequence?)? +// (VALUE block_node_or_indentless_sequence?)?)* +// BLOCK-END +// flow_sequence ::= FLOW-SEQUENCE-START +// (flow_sequence_entry FLOW-ENTRY)* +// flow_sequence_entry? +// FLOW-SEQUENCE-END +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// flow_mapping ::= FLOW-MAPPING-START +// (flow_mapping_entry FLOW-ENTRY)* +// flow_mapping_entry? +// FLOW-MAPPING-END +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + +// Peek the next token in the token queue. +func peek_token(parser *yaml_parser_t) *yaml_token_t { + if parser.token_available || yaml_parser_fetch_more_tokens(parser) { + return &parser.tokens[parser.tokens_head] + } + return nil +} + +// Remove the next token from the queue (must be called after peek_token). +func skip_token(parser *yaml_parser_t) { + parser.token_available = false + parser.tokens_parsed++ + parser.stream_end_produced = parser.tokens[parser.tokens_head].typ == yaml_STREAM_END_TOKEN + parser.tokens_head++ +} + +// Get the next event. +func yaml_parser_parse(parser *yaml_parser_t, event *yaml_event_t) bool { + // Erase the event object. + *event = yaml_event_t{} + + // No events after the end of the stream or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR || parser.state == yaml_PARSE_END_STATE { + return true + } + + // Generate the next event. + return yaml_parser_state_machine(parser, event) +} + +// Set parser error. +func yaml_parser_set_parser_error(parser *yaml_parser_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +func yaml_parser_set_parser_error_context(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +// State dispatcher. +func yaml_parser_state_machine(parser *yaml_parser_t, event *yaml_event_t) bool { + //trace("yaml_parser_state_machine", "state:", parser.state.String()) + + switch parser.state { + case yaml_PARSE_STREAM_START_STATE: + return yaml_parser_parse_stream_start(parser, event) + + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, true) + + case yaml_PARSE_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, false) + + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return yaml_parser_parse_document_content(parser, event) + + case yaml_PARSE_DOCUMENT_END_STATE: + return yaml_parser_parse_document_end(parser, event) + + case yaml_PARSE_BLOCK_NODE_STATE: + return yaml_parser_parse_node(parser, event, true, false) + + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return yaml_parser_parse_node(parser, event, true, true) + + case yaml_PARSE_FLOW_NODE_STATE: + return yaml_parser_parse_node(parser, event, false, false) + + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, true) + + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, false) + + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_indentless_sequence_entry(parser, event) + + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, true) + + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, false) + + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return yaml_parser_parse_block_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, true) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, false) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_key(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_end(parser, event) + + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, true) + + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, true) + + default: + panic("invalid parser state") + } +} + +// Parse the production: +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// ************ +func yaml_parser_parse_stream_start(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_STREAM_START_TOKEN { + return yaml_parser_set_parser_error(parser, "did not find expected ", token.start_mark) + } + parser.state = yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + encoding: token.encoding, + } + skip_token(parser) + return true +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// * +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// ************************* +func yaml_parser_parse_document_start(parser *yaml_parser_t, event *yaml_event_t, implicit bool) bool { + + token := peek_token(parser) + if token == nil { + return false + } + + // Parse extra document end indicators. + if !implicit { + for token.typ == yaml_DOCUMENT_END_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + if implicit && token.typ != yaml_VERSION_DIRECTIVE_TOKEN && + token.typ != yaml_TAG_DIRECTIVE_TOKEN && + token.typ != yaml_DOCUMENT_START_TOKEN && + token.typ != yaml_STREAM_END_TOKEN { + // Parse an implicit document. + if !yaml_parser_process_directives(parser, nil, nil) { + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_BLOCK_NODE_STATE + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + } else if token.typ != yaml_STREAM_END_TOKEN { + // Parse an explicit document. + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + start_mark := token.start_mark + if !yaml_parser_process_directives(parser, &version_directive, &tag_directives) { + return false + } + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_DOCUMENT_START_TOKEN { + yaml_parser_set_parser_error(parser, + "did not find expected ", token.start_mark) + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_DOCUMENT_CONTENT_STATE + end_mark := token.end_mark + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: false, + } + skip_token(parser) + + } else { + // Parse the stream end. + parser.state = yaml_PARSE_END_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + } + + return true +} + +// Parse the productions: +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// *********** +// +func yaml_parser_parse_document_content(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN || + token.typ == yaml_TAG_DIRECTIVE_TOKEN || + token.typ == yaml_DOCUMENT_START_TOKEN || + token.typ == yaml_DOCUMENT_END_TOKEN || + token.typ == yaml_STREAM_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + return yaml_parser_process_empty_scalar(parser, event, + token.start_mark) + } + return yaml_parser_parse_node(parser, event, true, false) +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// ************* +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// +func yaml_parser_parse_document_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + start_mark := token.start_mark + end_mark := token.start_mark + + implicit := true + if token.typ == yaml_DOCUMENT_END_TOKEN { + end_mark = token.end_mark + skip_token(parser) + implicit = false + } + + parser.tag_directives = parser.tag_directives[:0] + + parser.state = yaml_PARSE_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + start_mark: start_mark, + end_mark: end_mark, + implicit: implicit, + } + return true +} + +// Parse the productions: +// block_node_or_indentless_sequence ::= +// ALIAS +// ***** +// | properties (block_content | indentless_block_sequence)? +// ********** * +// | block_content | indentless_block_sequence +// * +// block_node ::= ALIAS +// ***** +// | properties block_content? +// ********** * +// | block_content +// * +// flow_node ::= ALIAS +// ***** +// | properties flow_content? +// ********** * +// | flow_content +// * +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// ************************* +// block_content ::= block_collection | flow_collection | SCALAR +// ****** +// flow_content ::= flow_collection | SCALAR +// ****** +func yaml_parser_parse_node(parser *yaml_parser_t, event *yaml_event_t, block, indentless_sequence bool) bool { + //defer trace("yaml_parser_parse_node", "block:", block, "indentless_sequence:", indentless_sequence)() + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_ALIAS_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + *event = yaml_event_t{ + typ: yaml_ALIAS_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + anchor: token.value, + } + skip_token(parser) + return true + } + + start_mark := token.start_mark + end_mark := token.start_mark + + var tag_token bool + var tag_handle, tag_suffix, anchor []byte + var tag_mark yaml_mark_t + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + start_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } else if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + start_mark = token.start_mark + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + var tag []byte + if tag_token { + if len(tag_handle) == 0 { + tag = tag_suffix + tag_suffix = nil + } else { + for i := range parser.tag_directives { + if bytes.Equal(parser.tag_directives[i].handle, tag_handle) { + tag = append([]byte(nil), parser.tag_directives[i].prefix...) + tag = append(tag, tag_suffix...) + break + } + } + if len(tag) == 0 { + yaml_parser_set_parser_error_context(parser, + "while parsing a node", start_mark, + "found undefined tag handle", tag_mark) + return false + } + } + } + + implicit := len(tag) == 0 + if indentless_sequence && token.typ == yaml_BLOCK_ENTRY_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + return true + } + if token.typ == yaml_SCALAR_TOKEN { + var plain_implicit, quoted_implicit bool + end_mark = token.end_mark + if (len(tag) == 0 && token.style == yaml_PLAIN_SCALAR_STYLE) || (len(tag) == 1 && tag[0] == '!') { + plain_implicit = true + } else if len(tag) == 0 { + quoted_implicit = true + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + value: token.value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(token.style), + } + skip_token(parser) + return true + } + if token.typ == yaml_FLOW_SEQUENCE_START_TOKEN { + // [Go] Some of the events below can be merged as they differ only on style. + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_SEQUENCE_STYLE), + } + return true + } + if token.typ == yaml_FLOW_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + return true + } + if block && token.typ == yaml_BLOCK_SEQUENCE_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + return true + } + if block && token.typ == yaml_BLOCK_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_MAPPING_STYLE), + } + return true + } + if len(anchor) > 0 || len(tag) > 0 { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + quoted_implicit: false, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true + } + + context := "while parsing a flow node" + if block { + context = "while parsing a block node" + } + yaml_parser_set_parser_error_context(parser, context, start_mark, + "did not find expected node content", token.start_mark) + return false +} + +// Parse the productions: +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// ******************** *********** * ********* +// +func yaml_parser_parse_block_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } else { + parser.state = yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } + if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block collection", context_mark, + "did not find expected '-' indicator", token.start_mark) +} + +// Parse the productions: +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// *********** * +func yaml_parser_parse_indentless_sequence_entry(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && + token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be token.end_mark? + } + return true +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// ******************* +// ((KEY block_node_or_indentless_sequence?)? +// *** * +// (VALUE block_node_or_indentless_sequence?)?)* +// +// BLOCK-END +// ********* +// +func yaml_parser_parse_block_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_KEY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } else { + parser.state = yaml_PARSE_BLOCK_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } else if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block mapping", context_mark, + "did not find expected key", token.start_mark) +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// +// ((KEY block_node_or_indentless_sequence?)? +// +// (VALUE block_node_or_indentless_sequence?)?)* +// ***** * +// BLOCK-END +// +// +func yaml_parser_parse_block_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence ::= FLOW-SEQUENCE-START +// ******************* +// (flow_sequence_entry FLOW-ENTRY)* +// * ********** +// flow_sequence_entry? +// * +// FLOW-SEQUENCE-END +// ***************** +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * +// +func yaml_parser_parse_flow_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow sequence", context_mark, + "did not find expected ',' or ']'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + implicit: true, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + skip_token(parser) + return true + } else if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + skip_token(parser) + return true +} + +// +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// *** * +// +func yaml_parser_parse_flow_sequence_entry_mapping_key(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + mark := token.end_mark + skip_token(parser) + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// ***** * +// +func yaml_parser_parse_flow_sequence_entry_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * +// +func yaml_parser_parse_flow_sequence_entry_mapping_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be end_mark? + } + return true +} + +// Parse the productions: +// flow_mapping ::= FLOW-MAPPING-START +// ****************** +// (flow_mapping_entry FLOW-ENTRY)* +// * ********** +// flow_mapping_entry? +// ****************** +// FLOW-MAPPING-END +// **************** +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * *** * +// +func yaml_parser_parse_flow_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow mapping", context_mark, + "did not find expected ',' or '}'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } else { + parser.state = yaml_PARSE_FLOW_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + } else if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + return true +} + +// Parse the productions: +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// * ***** * +// +func yaml_parser_parse_flow_mapping_value(parser *yaml_parser_t, event *yaml_event_t, empty bool) bool { + token := peek_token(parser) + if token == nil { + return false + } + if empty { + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Generate an empty scalar event. +func yaml_parser_process_empty_scalar(parser *yaml_parser_t, event *yaml_event_t, mark yaml_mark_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: mark, + end_mark: mark, + value: nil, // Empty + implicit: true, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true +} + +var default_tag_directives = []yaml_tag_directive_t{ + {[]byte("!"), []byte("!")}, + {[]byte("!!"), []byte("tag:yaml.org,2002:")}, +} + +// Parse directives. +func yaml_parser_process_directives(parser *yaml_parser_t, + version_directive_ref **yaml_version_directive_t, + tag_directives_ref *[]yaml_tag_directive_t) bool { + + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + + token := peek_token(parser) + if token == nil { + return false + } + + for token.typ == yaml_VERSION_DIRECTIVE_TOKEN || token.typ == yaml_TAG_DIRECTIVE_TOKEN { + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN { + if version_directive != nil { + yaml_parser_set_parser_error(parser, + "found duplicate %YAML directive", token.start_mark) + return false + } + if token.major != 1 || token.minor != 1 { + yaml_parser_set_parser_error(parser, + "found incompatible YAML document", token.start_mark) + return false + } + version_directive = &yaml_version_directive_t{ + major: token.major, + minor: token.minor, + } + } else if token.typ == yaml_TAG_DIRECTIVE_TOKEN { + value := yaml_tag_directive_t{ + handle: token.value, + prefix: token.prefix, + } + if !yaml_parser_append_tag_directive(parser, value, false, token.start_mark) { + return false + } + tag_directives = append(tag_directives, value) + } + + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + + for i := range default_tag_directives { + if !yaml_parser_append_tag_directive(parser, default_tag_directives[i], true, token.start_mark) { + return false + } + } + + if version_directive_ref != nil { + *version_directive_ref = version_directive + } + if tag_directives_ref != nil { + *tag_directives_ref = tag_directives + } + return true +} + +// Append a tag directive to the directives stack. +func yaml_parser_append_tag_directive(parser *yaml_parser_t, value yaml_tag_directive_t, allow_duplicates bool, mark yaml_mark_t) bool { + for i := range parser.tag_directives { + if bytes.Equal(value.handle, parser.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_parser_set_parser_error(parser, "found duplicate %TAG directive", mark) + } + } + + // [Go] I suspect the copy is unnecessary. This was likely done + // because there was no way to track ownership of the data. + value_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(value_copy.handle, value.handle) + copy(value_copy.prefix, value.prefix) + parser.tag_directives = append(parser.tag_directives, value_copy) + return true +} diff --git a/vendor/gopkg.in/yaml.v2/readerc.go b/vendor/gopkg.in/yaml.v2/readerc.go new file mode 100644 index 00000000..7c1f5fac --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/readerc.go @@ -0,0 +1,412 @@ +package yaml + +import ( + "io" +) + +// Set the reader error and return 0. +func yaml_parser_set_reader_error(parser *yaml_parser_t, problem string, offset int, value int) bool { + parser.error = yaml_READER_ERROR + parser.problem = problem + parser.problem_offset = offset + parser.problem_value = value + return false +} + +// Byte order marks. +const ( + bom_UTF8 = "\xef\xbb\xbf" + bom_UTF16LE = "\xff\xfe" + bom_UTF16BE = "\xfe\xff" +) + +// Determine the input stream encoding by checking the BOM symbol. If no BOM is +// found, the UTF-8 encoding is assumed. Return 1 on success, 0 on failure. +func yaml_parser_determine_encoding(parser *yaml_parser_t) bool { + // Ensure that we had enough bytes in the raw buffer. + for !parser.eof && len(parser.raw_buffer)-parser.raw_buffer_pos < 3 { + if !yaml_parser_update_raw_buffer(parser) { + return false + } + } + + // Determine the encoding. + buf := parser.raw_buffer + pos := parser.raw_buffer_pos + avail := len(buf) - pos + if avail >= 2 && buf[pos] == bom_UTF16LE[0] && buf[pos+1] == bom_UTF16LE[1] { + parser.encoding = yaml_UTF16LE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 2 && buf[pos] == bom_UTF16BE[0] && buf[pos+1] == bom_UTF16BE[1] { + parser.encoding = yaml_UTF16BE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 3 && buf[pos] == bom_UTF8[0] && buf[pos+1] == bom_UTF8[1] && buf[pos+2] == bom_UTF8[2] { + parser.encoding = yaml_UTF8_ENCODING + parser.raw_buffer_pos += 3 + parser.offset += 3 + } else { + parser.encoding = yaml_UTF8_ENCODING + } + return true +} + +// Update the raw buffer. +func yaml_parser_update_raw_buffer(parser *yaml_parser_t) bool { + size_read := 0 + + // Return if the raw buffer is full. + if parser.raw_buffer_pos == 0 && len(parser.raw_buffer) == cap(parser.raw_buffer) { + return true + } + + // Return on EOF. + if parser.eof { + return true + } + + // Move the remaining bytes in the raw buffer to the beginning. + if parser.raw_buffer_pos > 0 && parser.raw_buffer_pos < len(parser.raw_buffer) { + copy(parser.raw_buffer, parser.raw_buffer[parser.raw_buffer_pos:]) + } + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)-parser.raw_buffer_pos] + parser.raw_buffer_pos = 0 + + // Call the read handler to fill the buffer. + size_read, err := parser.read_handler(parser, parser.raw_buffer[len(parser.raw_buffer):cap(parser.raw_buffer)]) + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)+size_read] + if err == io.EOF { + parser.eof = true + } else if err != nil { + return yaml_parser_set_reader_error(parser, "input error: "+err.Error(), parser.offset, -1) + } + return true +} + +// Ensure that the buffer contains at least `length` characters. +// Return true on success, false on failure. +// +// The length is supposed to be significantly less that the buffer size. +func yaml_parser_update_buffer(parser *yaml_parser_t, length int) bool { + if parser.read_handler == nil { + panic("read handler must be set") + } + + // [Go] This function was changed to guarantee the requested length size at EOF. + // The fact we need to do this is pretty awful, but the description above implies + // for that to be the case, and there are tests + + // If the EOF flag is set and the raw buffer is empty, do nothing. + if parser.eof && parser.raw_buffer_pos == len(parser.raw_buffer) { + // [Go] ACTUALLY! Read the documentation of this function above. + // This is just broken. To return true, we need to have the + // given length in the buffer. Not doing that means every single + // check that calls this function to make sure the buffer has a + // given length is Go) panicking; or C) accessing invalid memory. + //return true + } + + // Return if the buffer contains enough characters. + if parser.unread >= length { + return true + } + + // Determine the input encoding if it is not known yet. + if parser.encoding == yaml_ANY_ENCODING { + if !yaml_parser_determine_encoding(parser) { + return false + } + } + + // Move the unread characters to the beginning of the buffer. + buffer_len := len(parser.buffer) + if parser.buffer_pos > 0 && parser.buffer_pos < buffer_len { + copy(parser.buffer, parser.buffer[parser.buffer_pos:]) + buffer_len -= parser.buffer_pos + parser.buffer_pos = 0 + } else if parser.buffer_pos == buffer_len { + buffer_len = 0 + parser.buffer_pos = 0 + } + + // Open the whole buffer for writing, and cut it before returning. + parser.buffer = parser.buffer[:cap(parser.buffer)] + + // Fill the buffer until it has enough characters. + first := true + for parser.unread < length { + + // Fill the raw buffer if necessary. + if !first || parser.raw_buffer_pos == len(parser.raw_buffer) { + if !yaml_parser_update_raw_buffer(parser) { + parser.buffer = parser.buffer[:buffer_len] + return false + } + } + first = false + + // Decode the raw buffer. + inner: + for parser.raw_buffer_pos != len(parser.raw_buffer) { + var value rune + var width int + + raw_unread := len(parser.raw_buffer) - parser.raw_buffer_pos + + // Decode the next character. + switch parser.encoding { + case yaml_UTF8_ENCODING: + // Decode a UTF-8 character. Check RFC 3629 + // (http://www.ietf.org/rfc/rfc3629.txt) for more details. + // + // The following table (taken from the RFC) is used for + // decoding. + // + // Char. number range | UTF-8 octet sequence + // (hexadecimal) | (binary) + // --------------------+------------------------------------ + // 0000 0000-0000 007F | 0xxxxxxx + // 0000 0080-0000 07FF | 110xxxxx 10xxxxxx + // 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx + // 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + // + // Additionally, the characters in the range 0xD800-0xDFFF + // are prohibited as they are reserved for use with UTF-16 + // surrogate pairs. + + // Determine the length of the UTF-8 sequence. + octet := parser.raw_buffer[parser.raw_buffer_pos] + switch { + case octet&0x80 == 0x00: + width = 1 + case octet&0xE0 == 0xC0: + width = 2 + case octet&0xF0 == 0xE0: + width = 3 + case octet&0xF8 == 0xF0: + width = 4 + default: + // The leading octet is invalid. + return yaml_parser_set_reader_error(parser, + "invalid leading UTF-8 octet", + parser.offset, int(octet)) + } + + // Check if the raw buffer contains an incomplete character. + if width > raw_unread { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-8 octet sequence", + parser.offset, -1) + } + break inner + } + + // Decode the leading octet. + switch { + case octet&0x80 == 0x00: + value = rune(octet & 0x7F) + case octet&0xE0 == 0xC0: + value = rune(octet & 0x1F) + case octet&0xF0 == 0xE0: + value = rune(octet & 0x0F) + case octet&0xF8 == 0xF0: + value = rune(octet & 0x07) + default: + value = 0 + } + + // Check and decode the trailing octets. + for k := 1; k < width; k++ { + octet = parser.raw_buffer[parser.raw_buffer_pos+k] + + // Check if the octet is valid. + if (octet & 0xC0) != 0x80 { + return yaml_parser_set_reader_error(parser, + "invalid trailing UTF-8 octet", + parser.offset+k, int(octet)) + } + + // Decode the octet. + value = (value << 6) + rune(octet&0x3F) + } + + // Check the length of the sequence against the value. + switch { + case width == 1: + case width == 2 && value >= 0x80: + case width == 3 && value >= 0x800: + case width == 4 && value >= 0x10000: + default: + return yaml_parser_set_reader_error(parser, + "invalid length of a UTF-8 sequence", + parser.offset, -1) + } + + // Check the range of the value. + if value >= 0xD800 && value <= 0xDFFF || value > 0x10FFFF { + return yaml_parser_set_reader_error(parser, + "invalid Unicode character", + parser.offset, int(value)) + } + + case yaml_UTF16LE_ENCODING, yaml_UTF16BE_ENCODING: + var low, high int + if parser.encoding == yaml_UTF16LE_ENCODING { + low, high = 0, 1 + } else { + low, high = 1, 0 + } + + // The UTF-16 encoding is not as simple as one might + // naively think. Check RFC 2781 + // (http://www.ietf.org/rfc/rfc2781.txt). + // + // Normally, two subsequent bytes describe a Unicode + // character. However a special technique (called a + // surrogate pair) is used for specifying character + // values larger than 0xFFFF. + // + // A surrogate pair consists of two pseudo-characters: + // high surrogate area (0xD800-0xDBFF) + // low surrogate area (0xDC00-0xDFFF) + // + // The following formulas are used for decoding + // and encoding characters using surrogate pairs: + // + // U = U' + 0x10000 (0x01 00 00 <= U <= 0x10 FF FF) + // U' = yyyyyyyyyyxxxxxxxxxx (0 <= U' <= 0x0F FF FF) + // W1 = 110110yyyyyyyyyy + // W2 = 110111xxxxxxxxxx + // + // where U is the character value, W1 is the high surrogate + // area, W2 is the low surrogate area. + + // Check for incomplete UTF-16 character. + if raw_unread < 2 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 character", + parser.offset, -1) + } + break inner + } + + // Get the character. + value = rune(parser.raw_buffer[parser.raw_buffer_pos+low]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high]) << 8) + + // Check for unexpected low surrogate area. + if value&0xFC00 == 0xDC00 { + return yaml_parser_set_reader_error(parser, + "unexpected low surrogate area", + parser.offset, int(value)) + } + + // Check for a high surrogate area. + if value&0xFC00 == 0xD800 { + width = 4 + + // Check for incomplete surrogate pair. + if raw_unread < 4 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 surrogate pair", + parser.offset, -1) + } + break inner + } + + // Get the next character. + value2 := rune(parser.raw_buffer[parser.raw_buffer_pos+low+2]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high+2]) << 8) + + // Check for a low surrogate area. + if value2&0xFC00 != 0xDC00 { + return yaml_parser_set_reader_error(parser, + "expected low surrogate area", + parser.offset+2, int(value2)) + } + + // Generate the value of the surrogate pair. + value = 0x10000 + ((value & 0x3FF) << 10) + (value2 & 0x3FF) + } else { + width = 2 + } + + default: + panic("impossible") + } + + // Check if the character is in the allowed range: + // #x9 | #xA | #xD | [#x20-#x7E] (8 bit) + // | #x85 | [#xA0-#xD7FF] | [#xE000-#xFFFD] (16 bit) + // | [#x10000-#x10FFFF] (32 bit) + switch { + case value == 0x09: + case value == 0x0A: + case value == 0x0D: + case value >= 0x20 && value <= 0x7E: + case value == 0x85: + case value >= 0xA0 && value <= 0xD7FF: + case value >= 0xE000 && value <= 0xFFFD: + case value >= 0x10000 && value <= 0x10FFFF: + default: + return yaml_parser_set_reader_error(parser, + "control characters are not allowed", + parser.offset, int(value)) + } + + // Move the raw pointers. + parser.raw_buffer_pos += width + parser.offset += width + + // Finally put the character into the buffer. + if value <= 0x7F { + // 0000 0000-0000 007F . 0xxxxxxx + parser.buffer[buffer_len+0] = byte(value) + buffer_len += 1 + } else if value <= 0x7FF { + // 0000 0080-0000 07FF . 110xxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xC0 + (value >> 6)) + parser.buffer[buffer_len+1] = byte(0x80 + (value & 0x3F)) + buffer_len += 2 + } else if value <= 0xFFFF { + // 0000 0800-0000 FFFF . 1110xxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xE0 + (value >> 12)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + (value & 0x3F)) + buffer_len += 3 + } else { + // 0001 0000-0010 FFFF . 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xF0 + (value >> 18)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 12) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+3] = byte(0x80 + (value & 0x3F)) + buffer_len += 4 + } + + parser.unread++ + } + + // On EOF, put NUL into the buffer and return. + if parser.eof { + parser.buffer[buffer_len] = 0 + buffer_len++ + parser.unread++ + break + } + } + // [Go] Read the documentation of this function above. To return true, + // we need to have the given length in the buffer. Not doing that means + // every single check that calls this function to make sure the buffer + // has a given length is Go) panicking; or C) accessing invalid memory. + // This happens here due to the EOF above breaking early. + for buffer_len < length { + parser.buffer[buffer_len] = 0 + buffer_len++ + } + parser.buffer = parser.buffer[:buffer_len] + return true +} diff --git a/vendor/gopkg.in/yaml.v2/resolve.go b/vendor/gopkg.in/yaml.v2/resolve.go new file mode 100644 index 00000000..4120e0c9 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/resolve.go @@ -0,0 +1,258 @@ +package yaml + +import ( + "encoding/base64" + "math" + "regexp" + "strconv" + "strings" + "time" +) + +type resolveMapItem struct { + value interface{} + tag string +} + +var resolveTable = make([]byte, 256) +var resolveMap = make(map[string]resolveMapItem) + +func init() { + t := resolveTable + t[int('+')] = 'S' // Sign + t[int('-')] = 'S' + for _, c := range "0123456789" { + t[int(c)] = 'D' // Digit + } + for _, c := range "yYnNtTfFoO~" { + t[int(c)] = 'M' // In map + } + t[int('.')] = '.' // Float (potentially in map) + + var resolveMapList = []struct { + v interface{} + tag string + l []string + }{ + {true, yaml_BOOL_TAG, []string{"y", "Y", "yes", "Yes", "YES"}}, + {true, yaml_BOOL_TAG, []string{"true", "True", "TRUE"}}, + {true, yaml_BOOL_TAG, []string{"on", "On", "ON"}}, + {false, yaml_BOOL_TAG, []string{"n", "N", "no", "No", "NO"}}, + {false, yaml_BOOL_TAG, []string{"false", "False", "FALSE"}}, + {false, yaml_BOOL_TAG, []string{"off", "Off", "OFF"}}, + {nil, yaml_NULL_TAG, []string{"", "~", "null", "Null", "NULL"}}, + {math.NaN(), yaml_FLOAT_TAG, []string{".nan", ".NaN", ".NAN"}}, + {math.Inf(+1), yaml_FLOAT_TAG, []string{".inf", ".Inf", ".INF"}}, + {math.Inf(+1), yaml_FLOAT_TAG, []string{"+.inf", "+.Inf", "+.INF"}}, + {math.Inf(-1), yaml_FLOAT_TAG, []string{"-.inf", "-.Inf", "-.INF"}}, + {"<<", yaml_MERGE_TAG, []string{"<<"}}, + } + + m := resolveMap + for _, item := range resolveMapList { + for _, s := range item.l { + m[s] = resolveMapItem{item.v, item.tag} + } + } +} + +const longTagPrefix = "tag:yaml.org,2002:" + +func shortTag(tag string) string { + // TODO This can easily be made faster and produce less garbage. + if strings.HasPrefix(tag, longTagPrefix) { + return "!!" + tag[len(longTagPrefix):] + } + return tag +} + +func longTag(tag string) string { + if strings.HasPrefix(tag, "!!") { + return longTagPrefix + tag[2:] + } + return tag +} + +func resolvableTag(tag string) bool { + switch tag { + case "", yaml_STR_TAG, yaml_BOOL_TAG, yaml_INT_TAG, yaml_FLOAT_TAG, yaml_NULL_TAG, yaml_TIMESTAMP_TAG: + return true + } + return false +} + +var yamlStyleFloat = regexp.MustCompile(`^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$`) + +func resolve(tag string, in string) (rtag string, out interface{}) { + if !resolvableTag(tag) { + return tag, in + } + + defer func() { + switch tag { + case "", rtag, yaml_STR_TAG, yaml_BINARY_TAG: + return + case yaml_FLOAT_TAG: + if rtag == yaml_INT_TAG { + switch v := out.(type) { + case int64: + rtag = yaml_FLOAT_TAG + out = float64(v) + return + case int: + rtag = yaml_FLOAT_TAG + out = float64(v) + return + } + } + } + failf("cannot decode %s `%s` as a %s", shortTag(rtag), in, shortTag(tag)) + }() + + // Any data is accepted as a !!str or !!binary. + // Otherwise, the prefix is enough of a hint about what it might be. + hint := byte('N') + if in != "" { + hint = resolveTable[in[0]] + } + if hint != 0 && tag != yaml_STR_TAG && tag != yaml_BINARY_TAG { + // Handle things we can lookup in a map. + if item, ok := resolveMap[in]; ok { + return item.tag, item.value + } + + // Base 60 floats are a bad idea, were dropped in YAML 1.2, and + // are purposefully unsupported here. They're still quoted on + // the way out for compatibility with other parser, though. + + switch hint { + case 'M': + // We've already checked the map above. + + case '.': + // Not in the map, so maybe a normal float. + floatv, err := strconv.ParseFloat(in, 64) + if err == nil { + return yaml_FLOAT_TAG, floatv + } + + case 'D', 'S': + // Int, float, or timestamp. + // Only try values as a timestamp if the value is unquoted or there's an explicit + // !!timestamp tag. + if tag == "" || tag == yaml_TIMESTAMP_TAG { + t, ok := parseTimestamp(in) + if ok { + return yaml_TIMESTAMP_TAG, t + } + } + + plain := strings.Replace(in, "_", "", -1) + intv, err := strconv.ParseInt(plain, 0, 64) + if err == nil { + if intv == int64(int(intv)) { + return yaml_INT_TAG, int(intv) + } else { + return yaml_INT_TAG, intv + } + } + uintv, err := strconv.ParseUint(plain, 0, 64) + if err == nil { + return yaml_INT_TAG, uintv + } + if yamlStyleFloat.MatchString(plain) { + floatv, err := strconv.ParseFloat(plain, 64) + if err == nil { + return yaml_FLOAT_TAG, floatv + } + } + if strings.HasPrefix(plain, "0b") { + intv, err := strconv.ParseInt(plain[2:], 2, 64) + if err == nil { + if intv == int64(int(intv)) { + return yaml_INT_TAG, int(intv) + } else { + return yaml_INT_TAG, intv + } + } + uintv, err := strconv.ParseUint(plain[2:], 2, 64) + if err == nil { + return yaml_INT_TAG, uintv + } + } else if strings.HasPrefix(plain, "-0b") { + intv, err := strconv.ParseInt("-" + plain[3:], 2, 64) + if err == nil { + if true || intv == int64(int(intv)) { + return yaml_INT_TAG, int(intv) + } else { + return yaml_INT_TAG, intv + } + } + } + default: + panic("resolveTable item not yet handled: " + string(rune(hint)) + " (with " + in + ")") + } + } + return yaml_STR_TAG, in +} + +// encodeBase64 encodes s as base64 that is broken up into multiple lines +// as appropriate for the resulting length. +func encodeBase64(s string) string { + const lineLen = 70 + encLen := base64.StdEncoding.EncodedLen(len(s)) + lines := encLen/lineLen + 1 + buf := make([]byte, encLen*2+lines) + in := buf[0:encLen] + out := buf[encLen:] + base64.StdEncoding.Encode(in, []byte(s)) + k := 0 + for i := 0; i < len(in); i += lineLen { + j := i + lineLen + if j > len(in) { + j = len(in) + } + k += copy(out[k:], in[i:j]) + if lines > 1 { + out[k] = '\n' + k++ + } + } + return string(out[:k]) +} + +// This is a subset of the formats allowed by the regular expression +// defined at http://yaml.org/type/timestamp.html. +var allowedTimestampFormats = []string{ + "2006-1-2T15:4:5.999999999Z07:00", // RCF3339Nano with short date fields. + "2006-1-2t15:4:5.999999999Z07:00", // RFC3339Nano with short date fields and lower-case "t". + "2006-1-2 15:4:5.999999999", // space separated with no time zone + "2006-1-2", // date only + // Notable exception: time.Parse cannot handle: "2001-12-14 21:59:43.10 -5" + // from the set of examples. +} + +// parseTimestamp parses s as a timestamp string and +// returns the timestamp and reports whether it succeeded. +// Timestamp formats are defined at http://yaml.org/type/timestamp.html +func parseTimestamp(s string) (time.Time, bool) { + // TODO write code to check all the formats supported by + // http://yaml.org/type/timestamp.html instead of using time.Parse. + + // Quick check: all date formats start with YYYY-. + i := 0 + for ; i < len(s); i++ { + if c := s[i]; c < '0' || c > '9' { + break + } + } + if i != 4 || i == len(s) || s[i] != '-' { + return time.Time{}, false + } + for _, format := range allowedTimestampFormats { + if t, err := time.Parse(format, s); err == nil { + return t, true + } + } + return time.Time{}, false +} diff --git a/vendor/gopkg.in/yaml.v2/scannerc.go b/vendor/gopkg.in/yaml.v2/scannerc.go new file mode 100644 index 00000000..570b8ecd --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/scannerc.go @@ -0,0 +1,2712 @@ +package yaml + +import ( + "bytes" + "fmt" +) + +// Introduction +// ************ +// +// The following notes assume that you are familiar with the YAML specification +// (http://yaml.org/spec/1.2/spec.html). We mostly follow it, although in +// some cases we are less restrictive that it requires. +// +// The process of transforming a YAML stream into a sequence of events is +// divided on two steps: Scanning and Parsing. +// +// The Scanner transforms the input stream into a sequence of tokens, while the +// parser transform the sequence of tokens produced by the Scanner into a +// sequence of parsing events. +// +// The Scanner is rather clever and complicated. The Parser, on the contrary, +// is a straightforward implementation of a recursive-descendant parser (or, +// LL(1) parser, as it is usually called). +// +// Actually there are two issues of Scanning that might be called "clever", the +// rest is quite straightforward. The issues are "block collection start" and +// "simple keys". Both issues are explained below in details. +// +// Here the Scanning step is explained and implemented. We start with the list +// of all the tokens produced by the Scanner together with short descriptions. +// +// Now, tokens: +// +// STREAM-START(encoding) # The stream start. +// STREAM-END # The stream end. +// VERSION-DIRECTIVE(major,minor) # The '%YAML' directive. +// TAG-DIRECTIVE(handle,prefix) # The '%TAG' directive. +// DOCUMENT-START # '---' +// DOCUMENT-END # '...' +// BLOCK-SEQUENCE-START # Indentation increase denoting a block +// BLOCK-MAPPING-START # sequence or a block mapping. +// BLOCK-END # Indentation decrease. +// FLOW-SEQUENCE-START # '[' +// FLOW-SEQUENCE-END # ']' +// BLOCK-SEQUENCE-START # '{' +// BLOCK-SEQUENCE-END # '}' +// BLOCK-ENTRY # '-' +// FLOW-ENTRY # ',' +// KEY # '?' or nothing (simple keys). +// VALUE # ':' +// ALIAS(anchor) # '*anchor' +// ANCHOR(anchor) # '&anchor' +// TAG(handle,suffix) # '!handle!suffix' +// SCALAR(value,style) # A scalar. +// +// The following two tokens are "virtual" tokens denoting the beginning and the +// end of the stream: +// +// STREAM-START(encoding) +// STREAM-END +// +// We pass the information about the input stream encoding with the +// STREAM-START token. +// +// The next two tokens are responsible for tags: +// +// VERSION-DIRECTIVE(major,minor) +// TAG-DIRECTIVE(handle,prefix) +// +// Example: +// +// %YAML 1.1 +// %TAG ! !foo +// %TAG !yaml! tag:yaml.org,2002: +// --- +// +// The correspoding sequence of tokens: +// +// STREAM-START(utf-8) +// VERSION-DIRECTIVE(1,1) +// TAG-DIRECTIVE("!","!foo") +// TAG-DIRECTIVE("!yaml","tag:yaml.org,2002:") +// DOCUMENT-START +// STREAM-END +// +// Note that the VERSION-DIRECTIVE and TAG-DIRECTIVE tokens occupy a whole +// line. +// +// The document start and end indicators are represented by: +// +// DOCUMENT-START +// DOCUMENT-END +// +// Note that if a YAML stream contains an implicit document (without '---' +// and '...' indicators), no DOCUMENT-START and DOCUMENT-END tokens will be +// produced. +// +// In the following examples, we present whole documents together with the +// produced tokens. +// +// 1. An implicit document: +// +// 'a scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// STREAM-END +// +// 2. An explicit document: +// +// --- +// 'a scalar' +// ... +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// SCALAR("a scalar",single-quoted) +// DOCUMENT-END +// STREAM-END +// +// 3. Several documents in a stream: +// +// 'a scalar' +// --- +// 'another scalar' +// --- +// 'yet another scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// DOCUMENT-START +// SCALAR("another scalar",single-quoted) +// DOCUMENT-START +// SCALAR("yet another scalar",single-quoted) +// STREAM-END +// +// We have already introduced the SCALAR token above. The following tokens are +// used to describe aliases, anchors, tag, and scalars: +// +// ALIAS(anchor) +// ANCHOR(anchor) +// TAG(handle,suffix) +// SCALAR(value,style) +// +// The following series of examples illustrate the usage of these tokens: +// +// 1. A recursive sequence: +// +// &A [ *A ] +// +// Tokens: +// +// STREAM-START(utf-8) +// ANCHOR("A") +// FLOW-SEQUENCE-START +// ALIAS("A") +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A tagged scalar: +// +// !!float "3.14" # A good approximation. +// +// Tokens: +// +// STREAM-START(utf-8) +// TAG("!!","float") +// SCALAR("3.14",double-quoted) +// STREAM-END +// +// 3. Various scalar styles: +// +// --- # Implicit empty plain scalars do not produce tokens. +// --- a plain scalar +// --- 'a single-quoted scalar' +// --- "a double-quoted scalar" +// --- |- +// a literal scalar +// --- >- +// a folded +// scalar +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// DOCUMENT-START +// SCALAR("a plain scalar",plain) +// DOCUMENT-START +// SCALAR("a single-quoted scalar",single-quoted) +// DOCUMENT-START +// SCALAR("a double-quoted scalar",double-quoted) +// DOCUMENT-START +// SCALAR("a literal scalar",literal) +// DOCUMENT-START +// SCALAR("a folded scalar",folded) +// STREAM-END +// +// Now it's time to review collection-related tokens. We will start with +// flow collections: +// +// FLOW-SEQUENCE-START +// FLOW-SEQUENCE-END +// FLOW-MAPPING-START +// FLOW-MAPPING-END +// FLOW-ENTRY +// KEY +// VALUE +// +// The tokens FLOW-SEQUENCE-START, FLOW-SEQUENCE-END, FLOW-MAPPING-START, and +// FLOW-MAPPING-END represent the indicators '[', ']', '{', and '}' +// correspondingly. FLOW-ENTRY represent the ',' indicator. Finally the +// indicators '?' and ':', which are used for denoting mapping keys and values, +// are represented by the KEY and VALUE tokens. +// +// The following examples show flow collections: +// +// 1. A flow sequence: +// +// [item 1, item 2, item 3] +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-SEQUENCE-START +// SCALAR("item 1",plain) +// FLOW-ENTRY +// SCALAR("item 2",plain) +// FLOW-ENTRY +// SCALAR("item 3",plain) +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A flow mapping: +// +// { +// a simple key: a value, # Note that the KEY token is produced. +// ? a complex key: another value, +// } +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// FLOW-ENTRY +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// FLOW-ENTRY +// FLOW-MAPPING-END +// STREAM-END +// +// A simple key is a key which is not denoted by the '?' indicator. Note that +// the Scanner still produce the KEY token whenever it encounters a simple key. +// +// For scanning block collections, the following tokens are used (note that we +// repeat KEY and VALUE here): +// +// BLOCK-SEQUENCE-START +// BLOCK-MAPPING-START +// BLOCK-END +// BLOCK-ENTRY +// KEY +// VALUE +// +// The tokens BLOCK-SEQUENCE-START and BLOCK-MAPPING-START denote indentation +// increase that precedes a block collection (cf. the INDENT token in Python). +// The token BLOCK-END denote indentation decrease that ends a block collection +// (cf. the DEDENT token in Python). However YAML has some syntax pecularities +// that makes detections of these tokens more complex. +// +// The tokens BLOCK-ENTRY, KEY, and VALUE are used to represent the indicators +// '-', '?', and ':' correspondingly. +// +// The following examples show how the tokens BLOCK-SEQUENCE-START, +// BLOCK-MAPPING-START, and BLOCK-END are emitted by the Scanner: +// +// 1. Block sequences: +// +// - item 1 +// - item 2 +// - +// - item 3.1 +// - item 3.2 +// - +// key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 3.1",plain) +// BLOCK-ENTRY +// SCALAR("item 3.2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Block mappings: +// +// a simple key: a value # The KEY token is produced here. +// ? a complex key +// : another value +// a mapping: +// key 1: value 1 +// key 2: value 2 +// a sequence: +// - item 1 +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// KEY +// SCALAR("a mapping",plain) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML does not always require to start a new block collection from a new +// line. If the current line contains only '-', '?', and ':' indicators, a new +// block collection may start at the current line. The following examples +// illustrate this case: +// +// 1. Collections in a sequence: +// +// - - item 1 +// - item 2 +// - key 1: value 1 +// key 2: value 2 +// - ? complex key +// : complex value +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("complex key") +// VALUE +// SCALAR("complex value") +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Collections in a mapping: +// +// ? a sequence +// : - item 1 +// - item 2 +// ? a mapping +// : key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// KEY +// SCALAR("a mapping",plain) +// VALUE +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML also permits non-indented sequences if they are included into a block +// mapping. In this case, the token BLOCK-SEQUENCE-START is not produced: +// +// key: +// - item 1 # BLOCK-SEQUENCE-START is NOT produced here. +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key",plain) +// VALUE +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// + +// Ensure that the buffer contains the required number of characters. +// Return true on success, false on failure (reader error or memory error). +func cache(parser *yaml_parser_t, length int) bool { + // [Go] This was inlined: !cache(A, B) -> unread < B && !update(A, B) + return parser.unread >= length || yaml_parser_update_buffer(parser, length) +} + +// Advance the buffer pointer. +func skip(parser *yaml_parser_t) { + parser.mark.index++ + parser.mark.column++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) +} + +func skip_line(parser *yaml_parser_t) { + if is_crlf(parser.buffer, parser.buffer_pos) { + parser.mark.index += 2 + parser.mark.column = 0 + parser.mark.line++ + parser.unread -= 2 + parser.buffer_pos += 2 + } else if is_break(parser.buffer, parser.buffer_pos) { + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) + } +} + +// Copy a character to a string buffer and advance pointers. +func read(parser *yaml_parser_t, s []byte) []byte { + w := width(parser.buffer[parser.buffer_pos]) + if w == 0 { + panic("invalid character sequence") + } + if len(s) == 0 { + s = make([]byte, 0, 32) + } + if w == 1 && len(s)+w <= cap(s) { + s = s[:len(s)+1] + s[len(s)-1] = parser.buffer[parser.buffer_pos] + parser.buffer_pos++ + } else { + s = append(s, parser.buffer[parser.buffer_pos:parser.buffer_pos+w]...) + parser.buffer_pos += w + } + parser.mark.index++ + parser.mark.column++ + parser.unread-- + return s +} + +// Copy a line break character to a string buffer and advance pointers. +func read_line(parser *yaml_parser_t, s []byte) []byte { + buf := parser.buffer + pos := parser.buffer_pos + switch { + case buf[pos] == '\r' && buf[pos+1] == '\n': + // CR LF . LF + s = append(s, '\n') + parser.buffer_pos += 2 + parser.mark.index++ + parser.unread-- + case buf[pos] == '\r' || buf[pos] == '\n': + // CR|LF . LF + s = append(s, '\n') + parser.buffer_pos += 1 + case buf[pos] == '\xC2' && buf[pos+1] == '\x85': + // NEL . LF + s = append(s, '\n') + parser.buffer_pos += 2 + case buf[pos] == '\xE2' && buf[pos+1] == '\x80' && (buf[pos+2] == '\xA8' || buf[pos+2] == '\xA9'): + // LS|PS . LS|PS + s = append(s, buf[parser.buffer_pos:pos+3]...) + parser.buffer_pos += 3 + default: + return s + } + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + return s +} + +// Get the next token. +func yaml_parser_scan(parser *yaml_parser_t, token *yaml_token_t) bool { + // Erase the token object. + *token = yaml_token_t{} // [Go] Is this necessary? + + // No tokens after STREAM-END or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR { + return true + } + + // Ensure that the tokens queue contains enough tokens. + if !parser.token_available { + if !yaml_parser_fetch_more_tokens(parser) { + return false + } + } + + // Fetch the next token from the queue. + *token = parser.tokens[parser.tokens_head] + parser.tokens_head++ + parser.tokens_parsed++ + parser.token_available = false + + if token.typ == yaml_STREAM_END_TOKEN { + parser.stream_end_produced = true + } + return true +} + +// Set the scanner error and return false. +func yaml_parser_set_scanner_error(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string) bool { + parser.error = yaml_SCANNER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = parser.mark + return false +} + +func yaml_parser_set_scanner_tag_error(parser *yaml_parser_t, directive bool, context_mark yaml_mark_t, problem string) bool { + context := "while parsing a tag" + if directive { + context = "while parsing a %TAG directive" + } + return yaml_parser_set_scanner_error(parser, context, context_mark, problem) +} + +func trace(args ...interface{}) func() { + pargs := append([]interface{}{"+++"}, args...) + fmt.Println(pargs...) + pargs = append([]interface{}{"---"}, args...) + return func() { fmt.Println(pargs...) } +} + +// Ensure that the tokens queue contains at least one token which can be +// returned to the Parser. +func yaml_parser_fetch_more_tokens(parser *yaml_parser_t) bool { + // While we need more tokens to fetch, do it. + for { + // Check if we really need to fetch more tokens. + need_more_tokens := false + + if parser.tokens_head == len(parser.tokens) { + // Queue is empty. + need_more_tokens = true + } else { + // Check if any potential simple key may occupy the head position. + if !yaml_parser_stale_simple_keys(parser) { + return false + } + + for i := range parser.simple_keys { + simple_key := &parser.simple_keys[i] + if simple_key.possible && simple_key.token_number == parser.tokens_parsed { + need_more_tokens = true + break + } + } + } + + // We are finished. + if !need_more_tokens { + break + } + // Fetch the next token. + if !yaml_parser_fetch_next_token(parser) { + return false + } + } + + parser.token_available = true + return true +} + +// The dispatcher for token fetchers. +func yaml_parser_fetch_next_token(parser *yaml_parser_t) bool { + // Ensure that the buffer is initialized. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we just started scanning. Fetch STREAM-START then. + if !parser.stream_start_produced { + return yaml_parser_fetch_stream_start(parser) + } + + // Eat whitespaces and comments until we reach the next token. + if !yaml_parser_scan_to_next_token(parser) { + return false + } + + // Remove obsolete potential simple keys. + if !yaml_parser_stale_simple_keys(parser) { + return false + } + + // Check the indentation level against the current column. + if !yaml_parser_unroll_indent(parser, parser.mark.column) { + return false + } + + // Ensure that the buffer contains at least 4 characters. 4 is the length + // of the longest indicators ('--- ' and '... '). + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + // Is it the end of the stream? + if is_z(parser.buffer, parser.buffer_pos) { + return yaml_parser_fetch_stream_end(parser) + } + + // Is it a directive? + if parser.mark.column == 0 && parser.buffer[parser.buffer_pos] == '%' { + return yaml_parser_fetch_directive(parser) + } + + buf := parser.buffer + pos := parser.buffer_pos + + // Is it the document start indicator? + if parser.mark.column == 0 && buf[pos] == '-' && buf[pos+1] == '-' && buf[pos+2] == '-' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_START_TOKEN) + } + + // Is it the document end indicator? + if parser.mark.column == 0 && buf[pos] == '.' && buf[pos+1] == '.' && buf[pos+2] == '.' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_END_TOKEN) + } + + // Is it the flow sequence start indicator? + if buf[pos] == '[' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_SEQUENCE_START_TOKEN) + } + + // Is it the flow mapping start indicator? + if parser.buffer[parser.buffer_pos] == '{' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_MAPPING_START_TOKEN) + } + + // Is it the flow sequence end indicator? + if parser.buffer[parser.buffer_pos] == ']' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_SEQUENCE_END_TOKEN) + } + + // Is it the flow mapping end indicator? + if parser.buffer[parser.buffer_pos] == '}' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_MAPPING_END_TOKEN) + } + + // Is it the flow entry indicator? + if parser.buffer[parser.buffer_pos] == ',' { + return yaml_parser_fetch_flow_entry(parser) + } + + // Is it the block entry indicator? + if parser.buffer[parser.buffer_pos] == '-' && is_blankz(parser.buffer, parser.buffer_pos+1) { + return yaml_parser_fetch_block_entry(parser) + } + + // Is it the key indicator? + if parser.buffer[parser.buffer_pos] == '?' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_key(parser) + } + + // Is it the value indicator? + if parser.buffer[parser.buffer_pos] == ':' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_value(parser) + } + + // Is it an alias? + if parser.buffer[parser.buffer_pos] == '*' { + return yaml_parser_fetch_anchor(parser, yaml_ALIAS_TOKEN) + } + + // Is it an anchor? + if parser.buffer[parser.buffer_pos] == '&' { + return yaml_parser_fetch_anchor(parser, yaml_ANCHOR_TOKEN) + } + + // Is it a tag? + if parser.buffer[parser.buffer_pos] == '!' { + return yaml_parser_fetch_tag(parser) + } + + // Is it a literal scalar? + if parser.buffer[parser.buffer_pos] == '|' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, true) + } + + // Is it a folded scalar? + if parser.buffer[parser.buffer_pos] == '>' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, false) + } + + // Is it a single-quoted scalar? + if parser.buffer[parser.buffer_pos] == '\'' { + return yaml_parser_fetch_flow_scalar(parser, true) + } + + // Is it a double-quoted scalar? + if parser.buffer[parser.buffer_pos] == '"' { + return yaml_parser_fetch_flow_scalar(parser, false) + } + + // Is it a plain scalar? + // + // A plain scalar may start with any non-blank characters except + // + // '-', '?', ':', ',', '[', ']', '{', '}', + // '#', '&', '*', '!', '|', '>', '\'', '\"', + // '%', '@', '`'. + // + // In the block context (and, for the '-' indicator, in the flow context + // too), it may also start with the characters + // + // '-', '?', ':' + // + // if it is followed by a non-space character. + // + // The last rule is more restrictive than the specification requires. + // [Go] Make this logic more reasonable. + //switch parser.buffer[parser.buffer_pos] { + //case '-', '?', ':', ',', '?', '-', ',', ':', ']', '[', '}', '{', '&', '#', '!', '*', '>', '|', '"', '\'', '@', '%', '-', '`': + //} + if !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '-' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}' || parser.buffer[parser.buffer_pos] == '#' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '*' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '|' || + parser.buffer[parser.buffer_pos] == '>' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '"' || parser.buffer[parser.buffer_pos] == '%' || + parser.buffer[parser.buffer_pos] == '@' || parser.buffer[parser.buffer_pos] == '`') || + (parser.buffer[parser.buffer_pos] == '-' && !is_blank(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level == 0 && + (parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':') && + !is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_plain_scalar(parser) + } + + // If we don't determine the token type so far, it is an error. + return yaml_parser_set_scanner_error(parser, + "while scanning for the next token", parser.mark, + "found character that cannot start any token") +} + +// Check the list of potential simple keys and remove the positions that +// cannot contain simple keys anymore. +func yaml_parser_stale_simple_keys(parser *yaml_parser_t) bool { + // Check for a potential simple key for each flow level. + for i := range parser.simple_keys { + simple_key := &parser.simple_keys[i] + + // The specification requires that a simple key + // + // - is limited to a single line, + // - is shorter than 1024 characters. + if simple_key.possible && (simple_key.mark.line < parser.mark.line || simple_key.mark.index+1024 < parser.mark.index) { + + // Check if the potential simple key to be removed is required. + if simple_key.required { + return yaml_parser_set_scanner_error(parser, + "while scanning a simple key", simple_key.mark, + "could not find expected ':'") + } + simple_key.possible = false + } + } + return true +} + +// Check if a simple key may start at the current position and add it if +// needed. +func yaml_parser_save_simple_key(parser *yaml_parser_t) bool { + // A simple key is required at the current position if the scanner is in + // the block context and the current column coincides with the indentation + // level. + + required := parser.flow_level == 0 && parser.indent == parser.mark.column + + // + // If the current position may start a simple key, save it. + // + if parser.simple_key_allowed { + simple_key := yaml_simple_key_t{ + possible: true, + required: required, + token_number: parser.tokens_parsed + (len(parser.tokens) - parser.tokens_head), + } + simple_key.mark = parser.mark + + if !yaml_parser_remove_simple_key(parser) { + return false + } + parser.simple_keys[len(parser.simple_keys)-1] = simple_key + } + return true +} + +// Remove a potential simple key at the current flow level. +func yaml_parser_remove_simple_key(parser *yaml_parser_t) bool { + i := len(parser.simple_keys) - 1 + if parser.simple_keys[i].possible { + // If the key is required, it is an error. + if parser.simple_keys[i].required { + return yaml_parser_set_scanner_error(parser, + "while scanning a simple key", parser.simple_keys[i].mark, + "could not find expected ':'") + } + } + // Remove the key from the stack. + parser.simple_keys[i].possible = false + return true +} + +// max_flow_level limits the flow_level +const max_flow_level = 10000 + +// Increase the flow level and resize the simple key list if needed. +func yaml_parser_increase_flow_level(parser *yaml_parser_t) bool { + // Reset the simple key on the next level. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{}) + + // Increase the flow level. + parser.flow_level++ + if parser.flow_level > max_flow_level { + return yaml_parser_set_scanner_error(parser, + "while increasing flow level", parser.simple_keys[len(parser.simple_keys)-1].mark, + fmt.Sprintf("exceeded max depth of %d", max_flow_level)) + } + return true +} + +// Decrease the flow level. +func yaml_parser_decrease_flow_level(parser *yaml_parser_t) bool { + if parser.flow_level > 0 { + parser.flow_level-- + parser.simple_keys = parser.simple_keys[:len(parser.simple_keys)-1] + } + return true +} + +// max_indents limits the indents stack size +const max_indents = 10000 + +// Push the current indentation level to the stack and set the new level +// the current column is greater than the indentation level. In this case, +// append or insert the specified token into the token queue. +func yaml_parser_roll_indent(parser *yaml_parser_t, column, number int, typ yaml_token_type_t, mark yaml_mark_t) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + if parser.indent < column { + // Push the current indentation level to the stack and set the new + // indentation level. + parser.indents = append(parser.indents, parser.indent) + parser.indent = column + if len(parser.indents) > max_indents { + return yaml_parser_set_scanner_error(parser, + "while increasing indent level", parser.simple_keys[len(parser.simple_keys)-1].mark, + fmt.Sprintf("exceeded max depth of %d", max_indents)) + } + + // Create a token and insert it into the queue. + token := yaml_token_t{ + typ: typ, + start_mark: mark, + end_mark: mark, + } + if number > -1 { + number -= parser.tokens_parsed + } + yaml_insert_token(parser, number, &token) + } + return true +} + +// Pop indentation levels from the indents stack until the current level +// becomes less or equal to the column. For each indentation level, append +// the BLOCK-END token. +func yaml_parser_unroll_indent(parser *yaml_parser_t, column int) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + // Loop through the indentation levels in the stack. + for parser.indent > column { + // Create a token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_END_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + } + yaml_insert_token(parser, -1, &token) + + // Pop the indentation level. + parser.indent = parser.indents[len(parser.indents)-1] + parser.indents = parser.indents[:len(parser.indents)-1] + } + return true +} + +// Initialize the scanner and produce the STREAM-START token. +func yaml_parser_fetch_stream_start(parser *yaml_parser_t) bool { + + // Set the initial indentation. + parser.indent = -1 + + // Initialize the simple key stack. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{}) + + // A simple key is allowed at the beginning of the stream. + parser.simple_key_allowed = true + + // We have started. + parser.stream_start_produced = true + + // Create the STREAM-START token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_START_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + encoding: parser.encoding, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the STREAM-END token and shut down the scanner. +func yaml_parser_fetch_stream_end(parser *yaml_parser_t) bool { + + // Force new line. + if parser.mark.column != 0 { + parser.mark.column = 0 + parser.mark.line++ + } + + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the STREAM-END token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_END_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce a VERSION-DIRECTIVE or TAG-DIRECTIVE token. +func yaml_parser_fetch_directive(parser *yaml_parser_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the YAML-DIRECTIVE or TAG-DIRECTIVE token. + token := yaml_token_t{} + if !yaml_parser_scan_directive(parser, &token) { + return false + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the DOCUMENT-START or DOCUMENT-END token. +func yaml_parser_fetch_document_indicator(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Consume the token. + start_mark := parser.mark + + skip(parser) + skip(parser) + skip(parser) + + end_mark := parser.mark + + // Create the DOCUMENT-START or DOCUMENT-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. +func yaml_parser_fetch_flow_collection_start(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // The indicators '[' and '{' may start a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // Increase the flow level. + if !yaml_parser_increase_flow_level(parser) { + return false + } + + // A simple key may follow the indicators '[' and '{'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-START of FLOW-MAPPING-START token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. +func yaml_parser_fetch_flow_collection_end(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset any potential simple key on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Decrease the flow level. + if !yaml_parser_decrease_flow_level(parser) { + return false + } + + // No simple keys after the indicators ']' and '}'. + parser.simple_key_allowed = false + + // Consume the token. + + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-END of FLOW-MAPPING-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-ENTRY token. +func yaml_parser_fetch_flow_entry(parser *yaml_parser_t) bool { + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after ','. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_FLOW_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the BLOCK-ENTRY token. +func yaml_parser_fetch_block_entry(parser *yaml_parser_t) bool { + // Check if the scanner is in the block context. + if parser.flow_level == 0 { + // Check if we are allowed to start a new entry. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "block sequence entries are not allowed in this context") + } + // Add the BLOCK-SEQUENCE-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_SEQUENCE_START_TOKEN, parser.mark) { + return false + } + } else { + // It is an error for the '-' indicator to occur in the flow context, + // but we let the Parser detect and report about it because the Parser + // is able to point to the context. + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '-'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the BLOCK-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the KEY token. +func yaml_parser_fetch_key(parser *yaml_parser_t) bool { + + // In the block context, additional checks are required. + if parser.flow_level == 0 { + // Check if we are allowed to start a new key (not nessesary simple). + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping keys are not allowed in this context") + } + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '?' in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the KEY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the VALUE token. +func yaml_parser_fetch_value(parser *yaml_parser_t) bool { + + simple_key := &parser.simple_keys[len(parser.simple_keys)-1] + + // Have we found a simple key? + if simple_key.possible { + // Create the KEY token and insert it into the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: simple_key.mark, + end_mark: simple_key.mark, + } + yaml_insert_token(parser, simple_key.token_number-parser.tokens_parsed, &token) + + // In the block context, we may need to add the BLOCK-MAPPING-START token. + if !yaml_parser_roll_indent(parser, simple_key.mark.column, + simple_key.token_number, + yaml_BLOCK_MAPPING_START_TOKEN, simple_key.mark) { + return false + } + + // Remove the simple key. + simple_key.possible = false + + // A simple key cannot follow another simple key. + parser.simple_key_allowed = false + + } else { + // The ':' indicator follows a complex key. + + // In the block context, extra checks are required. + if parser.flow_level == 0 { + + // Check if we are allowed to start a complex value. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping values are not allowed in this context") + } + + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Simple keys after ':' are allowed in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + } + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the VALUE token and append it to the queue. + token := yaml_token_t{ + typ: yaml_VALUE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the ALIAS or ANCHOR token. +func yaml_parser_fetch_anchor(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // An anchor or an alias could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow an anchor or an alias. + parser.simple_key_allowed = false + + // Create the ALIAS or ANCHOR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_anchor(parser, &token, typ) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the TAG token. +func yaml_parser_fetch_tag(parser *yaml_parser_t) bool { + // A tag could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a tag. + parser.simple_key_allowed = false + + // Create the TAG token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_tag(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. +func yaml_parser_fetch_block_scalar(parser *yaml_parser_t, literal bool) bool { + // Remove any potential simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // A simple key may follow a block scalar. + parser.simple_key_allowed = true + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_block_scalar(parser, &token, literal) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. +func yaml_parser_fetch_flow_scalar(parser *yaml_parser_t, single bool) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_flow_scalar(parser, &token, single) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,plain) token. +func yaml_parser_fetch_plain_scalar(parser *yaml_parser_t) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_plain_scalar(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Eat whitespaces and comments until the next token is found. +func yaml_parser_scan_to_next_token(parser *yaml_parser_t) bool { + + // Until the next token is not found. + for { + // Allow the BOM mark to start a line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.mark.column == 0 && is_bom(parser.buffer, parser.buffer_pos) { + skip(parser) + } + + // Eat whitespaces. + // Tabs are allowed: + // - in the flow context + // - in the block context, but not at the beginning of the line or + // after '-', '?', or ':' (complex value). + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for parser.buffer[parser.buffer_pos] == ' ' || ((parser.flow_level > 0 || !parser.simple_key_allowed) && parser.buffer[parser.buffer_pos] == '\t') { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Eat a comment until a line break. + if parser.buffer[parser.buffer_pos] == '#' { + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // If it is a line break, eat it. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + + // In the block context, a new line may start a simple key. + if parser.flow_level == 0 { + parser.simple_key_allowed = true + } + } else { + break // We have found a token. + } + } + + return true +} + +// Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// +func yaml_parser_scan_directive(parser *yaml_parser_t, token *yaml_token_t) bool { + // Eat '%'. + start_mark := parser.mark + skip(parser) + + // Scan the directive name. + var name []byte + if !yaml_parser_scan_directive_name(parser, start_mark, &name) { + return false + } + + // Is it a YAML directive? + if bytes.Equal(name, []byte("YAML")) { + // Scan the VERSION directive value. + var major, minor int8 + if !yaml_parser_scan_version_directive_value(parser, start_mark, &major, &minor) { + return false + } + end_mark := parser.mark + + // Create a VERSION-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_VERSION_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + major: major, + minor: minor, + } + + // Is it a TAG directive? + } else if bytes.Equal(name, []byte("TAG")) { + // Scan the TAG directive value. + var handle, prefix []byte + if !yaml_parser_scan_tag_directive_value(parser, start_mark, &handle, &prefix) { + return false + } + end_mark := parser.mark + + // Create a TAG-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_TAG_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + prefix: prefix, + } + + // Unknown directive. + } else { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unknown directive name") + return false + } + + // Eat the rest of the line including any comments. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + if parser.buffer[parser.buffer_pos] == '#' { + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + return true +} + +// Scan the directive name. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^ +// +func yaml_parser_scan_directive_name(parser *yaml_parser_t, start_mark yaml_mark_t, name *[]byte) bool { + // Consume the directive name. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + var s []byte + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the name is empty. + if len(s) == 0 { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "could not find expected directive name") + return false + } + + // Check for an blank character after the name. + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unexpected non-alphabetical character") + return false + } + *name = s + return true +} + +// Scan the value of VERSION-DIRECTIVE. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^^^^^^ +func yaml_parser_scan_version_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, major, minor *int8) bool { + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the major version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, major) { + return false + } + + // Eat '.'. + if parser.buffer[parser.buffer_pos] != '.' { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected digit or '.' character") + } + + skip(parser) + + // Consume the minor version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, minor) { + return false + } + return true +} + +const max_number_length = 2 + +// Scan the version number of VERSION-DIRECTIVE. +// +// Scope: +// %YAML 1.1 # a comment \n +// ^ +// %YAML 1.1 # a comment \n +// ^ +func yaml_parser_scan_version_directive_number(parser *yaml_parser_t, start_mark yaml_mark_t, number *int8) bool { + + // Repeat while the next character is digit. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var value, length int8 + for is_digit(parser.buffer, parser.buffer_pos) { + // Check if the number is too long. + length++ + if length > max_number_length { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "found extremely long version number") + } + value = value*10 + int8(as_digit(parser.buffer, parser.buffer_pos)) + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the number was present. + if length == 0 { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected version number") + } + *number = value + return true +} + +// Scan the value of a TAG-DIRECTIVE token. +// +// Scope: +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// +func yaml_parser_scan_tag_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, handle, prefix *[]byte) bool { + var handle_value, prefix_value []byte + + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a handle. + if !yaml_parser_scan_tag_handle(parser, true, start_mark, &handle_value) { + return false + } + + // Expect a whitespace. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blank(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace") + return false + } + + // Eat whitespaces. + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a prefix. + if !yaml_parser_scan_tag_uri(parser, true, nil, start_mark, &prefix_value) { + return false + } + + // Expect a whitespace or line break. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace or line break") + return false + } + + *handle = handle_value + *prefix = prefix_value + return true +} + +func yaml_parser_scan_anchor(parser *yaml_parser_t, token *yaml_token_t, typ yaml_token_type_t) bool { + var s []byte + + // Eat the indicator character. + start_mark := parser.mark + skip(parser) + + // Consume the value. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + end_mark := parser.mark + + /* + * Check if length of the anchor is greater than 0 and it is followed by + * a whitespace character or one of the indicators: + * + * '?', ':', ',', ']', '}', '%', '@', '`'. + */ + + if len(s) == 0 || + !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '}' || + parser.buffer[parser.buffer_pos] == '%' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '`') { + context := "while scanning an alias" + if typ == yaml_ANCHOR_TOKEN { + context = "while scanning an anchor" + } + yaml_parser_set_scanner_error(parser, context, start_mark, + "did not find expected alphabetic or numeric character") + return false + } + + // Create a token. + *token = yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + value: s, + } + + return true +} + +/* + * Scan a TAG token. + */ + +func yaml_parser_scan_tag(parser *yaml_parser_t, token *yaml_token_t) bool { + var handle, suffix []byte + + start_mark := parser.mark + + // Check if the tag is in the canonical form. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + if parser.buffer[parser.buffer_pos+1] == '<' { + // Keep the handle as '' + + // Eat '!<' + skip(parser) + skip(parser) + + // Consume the tag value. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + + // Check for '>' and eat it. + if parser.buffer[parser.buffer_pos] != '>' { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find the expected '>'") + return false + } + + skip(parser) + } else { + // The tag has either the '!suffix' or the '!handle!suffix' form. + + // First, try to scan a handle. + if !yaml_parser_scan_tag_handle(parser, false, start_mark, &handle) { + return false + } + + // Check if it is, indeed, handle. + if handle[0] == '!' && len(handle) > 1 && handle[len(handle)-1] == '!' { + // Scan the suffix now. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + } else { + // It wasn't a handle after all. Scan the rest of the tag. + if !yaml_parser_scan_tag_uri(parser, false, handle, start_mark, &suffix) { + return false + } + + // Set the handle to '!'. + handle = []byte{'!'} + + // A special case: the '!' tag. Set the handle to '' and the + // suffix to '!'. + if len(suffix) == 0 { + handle, suffix = suffix, handle + } + } + } + + // Check the character which ends the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find expected whitespace or line break") + return false + } + + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_TAG_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + suffix: suffix, + } + return true +} + +// Scan a tag handle. +func yaml_parser_scan_tag_handle(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, handle *[]byte) bool { + // Check the initial '!' character. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] != '!' { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + + var s []byte + + // Copy the '!' character. + s = read(parser, s) + + // Copy all subsequent alphabetical and numerical characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the trailing character is '!' and copy it. + if parser.buffer[parser.buffer_pos] == '!' { + s = read(parser, s) + } else { + // It's either the '!' tag or not really a tag handle. If it's a %TAG + // directive, it's an error. If it's a tag token, it must be a part of URI. + if directive && string(s) != "!" { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + } + + *handle = s + return true +} + +// Scan a tag. +func yaml_parser_scan_tag_uri(parser *yaml_parser_t, directive bool, head []byte, start_mark yaml_mark_t, uri *[]byte) bool { + //size_t length = head ? strlen((char *)head) : 0 + var s []byte + hasTag := len(head) > 0 + + // Copy the head if needed. + // + // Note that we don't copy the leading '!' character. + if len(head) > 1 { + s = append(s, head[1:]...) + } + + // Scan the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // The set of characters that may appear in URI is as follows: + // + // '0'-'9', 'A'-'Z', 'a'-'z', '_', '-', ';', '/', '?', ':', '@', '&', + // '=', '+', '$', ',', '.', '!', '~', '*', '\'', '(', ')', '[', ']', + // '%'. + // [Go] Convert this into more reasonable logic. + for is_alpha(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == ';' || + parser.buffer[parser.buffer_pos] == '/' || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '=' || + parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '$' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '.' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '~' || + parser.buffer[parser.buffer_pos] == '*' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '(' || parser.buffer[parser.buffer_pos] == ')' || + parser.buffer[parser.buffer_pos] == '[' || parser.buffer[parser.buffer_pos] == ']' || + parser.buffer[parser.buffer_pos] == '%' { + // Check if it is a URI-escape sequence. + if parser.buffer[parser.buffer_pos] == '%' { + if !yaml_parser_scan_uri_escapes(parser, directive, start_mark, &s) { + return false + } + } else { + s = read(parser, s) + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + hasTag = true + } + + if !hasTag { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected tag URI") + return false + } + *uri = s + return true +} + +// Decode an URI-escape sequence corresponding to a single UTF-8 character. +func yaml_parser_scan_uri_escapes(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, s *[]byte) bool { + + // Decode the required number of characters. + w := 1024 + for w > 0 { + // Check for a URI-escaped octet. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + + if !(parser.buffer[parser.buffer_pos] == '%' && + is_hex(parser.buffer, parser.buffer_pos+1) && + is_hex(parser.buffer, parser.buffer_pos+2)) { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find URI escaped octet") + } + + // Get the octet. + octet := byte((as_hex(parser.buffer, parser.buffer_pos+1) << 4) + as_hex(parser.buffer, parser.buffer_pos+2)) + + // If it is the leading octet, determine the length of the UTF-8 sequence. + if w == 1024 { + w = width(octet) + if w == 0 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect leading UTF-8 octet") + } + } else { + // Check if the trailing octet is correct. + if octet&0xC0 != 0x80 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect trailing UTF-8 octet") + } + } + + // Copy the octet and move the pointers. + *s = append(*s, octet) + skip(parser) + skip(parser) + skip(parser) + w-- + } + return true +} + +// Scan a block scalar. +func yaml_parser_scan_block_scalar(parser *yaml_parser_t, token *yaml_token_t, literal bool) bool { + // Eat the indicator '|' or '>'. + start_mark := parser.mark + skip(parser) + + // Scan the additional block scalar indicators. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check for a chomping indicator. + var chomping, increment int + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + // Set the chomping method and eat the indicator. + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + + // Check for an indentation indicator. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if is_digit(parser.buffer, parser.buffer_pos) { + // Check that the indentation is greater than 0. + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + + // Get the indentation level and eat the indicator. + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + } + + } else if is_digit(parser.buffer, parser.buffer_pos) { + // Do the same as above, but in the opposite order. + + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + } + } + + // Eat whitespaces and comments to the end of the line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.buffer[parser.buffer_pos] == '#' { + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + end_mark := parser.mark + + // Set the indentation level if it was specified. + var indent int + if increment > 0 { + if parser.indent >= 0 { + indent = parser.indent + increment + } else { + indent = increment + } + } + + // Scan the leading line breaks and determine the indentation level if needed. + var s, leading_break, trailing_breaks []byte + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + + // Scan the block scalar content. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var leading_blank, trailing_blank bool + for parser.mark.column == indent && !is_z(parser.buffer, parser.buffer_pos) { + // We are at the beginning of a non-empty line. + + // Is it a trailing whitespace? + trailing_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Check if we need to fold the leading line break. + if !literal && !leading_blank && !trailing_blank && len(leading_break) > 0 && leading_break[0] == '\n' { + // Do we need to join the lines by space? + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } + } else { + s = append(s, leading_break...) + } + leading_break = leading_break[:0] + + // Append the remaining line breaks. + s = append(s, trailing_breaks...) + trailing_breaks = trailing_breaks[:0] + + // Is it a leading whitespace? + leading_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Consume the current line. + for !is_breakz(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + leading_break = read_line(parser, leading_break) + + // Eat the following indentation spaces and line breaks. + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + } + + // Chomp the tail. + if chomping != -1 { + s = append(s, leading_break...) + } + if chomping == 1 { + s = append(s, trailing_breaks...) + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_LITERAL_SCALAR_STYLE, + } + if !literal { + token.style = yaml_FOLDED_SCALAR_STYLE + } + return true +} + +// Scan indentation spaces and line breaks for a block scalar. Determine the +// indentation level if needed. +func yaml_parser_scan_block_scalar_breaks(parser *yaml_parser_t, indent *int, breaks *[]byte, start_mark yaml_mark_t, end_mark *yaml_mark_t) bool { + *end_mark = parser.mark + + // Eat the indentation spaces and line breaks. + max_indent := 0 + for { + // Eat the indentation spaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for (*indent == 0 || parser.mark.column < *indent) && is_space(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.mark.column > max_indent { + max_indent = parser.mark.column + } + + // Check for a tab character messing the indentation. + if (*indent == 0 || parser.mark.column < *indent) && is_tab(parser.buffer, parser.buffer_pos) { + return yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found a tab character where an indentation space is expected") + } + + // Have we found a non-empty line? + if !is_break(parser.buffer, parser.buffer_pos) { + break + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + // [Go] Should really be returning breaks instead. + *breaks = read_line(parser, *breaks) + *end_mark = parser.mark + } + + // Determine the indentation level if needed. + if *indent == 0 { + *indent = max_indent + if *indent < parser.indent+1 { + *indent = parser.indent + 1 + } + if *indent < 1 { + *indent = 1 + } + } + return true +} + +// Scan a quoted scalar. +func yaml_parser_scan_flow_scalar(parser *yaml_parser_t, token *yaml_token_t, single bool) bool { + // Eat the left quote. + start_mark := parser.mark + skip(parser) + + // Consume the content of the quoted scalar. + var s, leading_break, trailing_breaks, whitespaces []byte + for { + // Check that there are no document indicators at the beginning of the line. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected document indicator") + return false + } + + // Check for EOF. + if is_z(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected end of stream") + return false + } + + // Consume non-blank characters. + leading_blanks := false + for !is_blankz(parser.buffer, parser.buffer_pos) { + if single && parser.buffer[parser.buffer_pos] == '\'' && parser.buffer[parser.buffer_pos+1] == '\'' { + // Is is an escaped single quote. + s = append(s, '\'') + skip(parser) + skip(parser) + + } else if single && parser.buffer[parser.buffer_pos] == '\'' { + // It is a right single quote. + break + } else if !single && parser.buffer[parser.buffer_pos] == '"' { + // It is a right double quote. + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' && is_break(parser.buffer, parser.buffer_pos+1) { + // It is an escaped line break. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + skip(parser) + skip_line(parser) + leading_blanks = true + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' { + // It is an escape sequence. + code_length := 0 + + // Check the escape character. + switch parser.buffer[parser.buffer_pos+1] { + case '0': + s = append(s, 0) + case 'a': + s = append(s, '\x07') + case 'b': + s = append(s, '\x08') + case 't', '\t': + s = append(s, '\x09') + case 'n': + s = append(s, '\x0A') + case 'v': + s = append(s, '\x0B') + case 'f': + s = append(s, '\x0C') + case 'r': + s = append(s, '\x0D') + case 'e': + s = append(s, '\x1B') + case ' ': + s = append(s, '\x20') + case '"': + s = append(s, '"') + case '\'': + s = append(s, '\'') + case '\\': + s = append(s, '\\') + case 'N': // NEL (#x85) + s = append(s, '\xC2') + s = append(s, '\x85') + case '_': // #xA0 + s = append(s, '\xC2') + s = append(s, '\xA0') + case 'L': // LS (#x2028) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA8') + case 'P': // PS (#x2029) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA9') + case 'x': + code_length = 2 + case 'u': + code_length = 4 + case 'U': + code_length = 8 + default: + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found unknown escape character") + return false + } + + skip(parser) + skip(parser) + + // Consume an arbitrary escape code. + if code_length > 0 { + var value int + + // Scan the character value. + if parser.unread < code_length && !yaml_parser_update_buffer(parser, code_length) { + return false + } + for k := 0; k < code_length; k++ { + if !is_hex(parser.buffer, parser.buffer_pos+k) { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "did not find expected hexdecimal number") + return false + } + value = (value << 4) + as_hex(parser.buffer, parser.buffer_pos+k) + } + + // Check the value and write the character. + if (value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found invalid Unicode character escape code") + return false + } + if value <= 0x7F { + s = append(s, byte(value)) + } else if value <= 0x7FF { + s = append(s, byte(0xC0+(value>>6))) + s = append(s, byte(0x80+(value&0x3F))) + } else if value <= 0xFFFF { + s = append(s, byte(0xE0+(value>>12))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } else { + s = append(s, byte(0xF0+(value>>18))) + s = append(s, byte(0x80+((value>>12)&0x3F))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } + + // Advance the pointer. + for k := 0; k < code_length; k++ { + skip(parser) + } + } + } else { + // It is a non-escaped non-blank character. + s = read(parser, s) + } + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we are at the end of the scalar. + if single { + if parser.buffer[parser.buffer_pos] == '\'' { + break + } + } else { + if parser.buffer[parser.buffer_pos] == '"' { + break + } + } + + // Consume blank characters. + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Join the whitespaces or fold line breaks. + if leading_blanks { + // Do we need to fold line breaks? + if len(leading_break) > 0 && leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Eat the right quote. + skip(parser) + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_SINGLE_QUOTED_SCALAR_STYLE, + } + if !single { + token.style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + return true +} + +// Scan a plain scalar. +func yaml_parser_scan_plain_scalar(parser *yaml_parser_t, token *yaml_token_t) bool { + + var s, leading_break, trailing_breaks, whitespaces []byte + var leading_blanks bool + var indent = parser.indent + 1 + + start_mark := parser.mark + end_mark := parser.mark + + // Consume the content of the plain scalar. + for { + // Check for a document indicator. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + break + } + + // Check for a comment. + if parser.buffer[parser.buffer_pos] == '#' { + break + } + + // Consume non-blank characters. + for !is_blankz(parser.buffer, parser.buffer_pos) { + + // Check for indicators that may end a plain scalar. + if (parser.buffer[parser.buffer_pos] == ':' && is_blankz(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level > 0 && + (parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}')) { + break + } + + // Check if we need to join whitespaces and breaks. + if leading_blanks || len(whitespaces) > 0 { + if leading_blanks { + // Do we need to fold line breaks? + if leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + leading_blanks = false + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Copy the character. + s = read(parser, s) + + end_mark = parser.mark + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + // Is it the end? + if !(is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos)) { + break + } + + // Consume blank characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + + // Check for tab characters that abuse indentation. + if leading_blanks && parser.mark.column < indent && is_tab(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a plain scalar", + start_mark, "found a tab character that violates indentation") + return false + } + + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check indentation level. + if parser.flow_level == 0 && parser.mark.column < indent { + break + } + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_PLAIN_SCALAR_STYLE, + } + + // Note that we change the 'simple_key_allowed' flag. + if leading_blanks { + parser.simple_key_allowed = true + } + return true +} diff --git a/vendor/gopkg.in/yaml.v2/sorter.go b/vendor/gopkg.in/yaml.v2/sorter.go new file mode 100644 index 00000000..4c45e660 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/sorter.go @@ -0,0 +1,113 @@ +package yaml + +import ( + "reflect" + "unicode" +) + +type keyList []reflect.Value + +func (l keyList) Len() int { return len(l) } +func (l keyList) Swap(i, j int) { l[i], l[j] = l[j], l[i] } +func (l keyList) Less(i, j int) bool { + a := l[i] + b := l[j] + ak := a.Kind() + bk := b.Kind() + for (ak == reflect.Interface || ak == reflect.Ptr) && !a.IsNil() { + a = a.Elem() + ak = a.Kind() + } + for (bk == reflect.Interface || bk == reflect.Ptr) && !b.IsNil() { + b = b.Elem() + bk = b.Kind() + } + af, aok := keyFloat(a) + bf, bok := keyFloat(b) + if aok && bok { + if af != bf { + return af < bf + } + if ak != bk { + return ak < bk + } + return numLess(a, b) + } + if ak != reflect.String || bk != reflect.String { + return ak < bk + } + ar, br := []rune(a.String()), []rune(b.String()) + for i := 0; i < len(ar) && i < len(br); i++ { + if ar[i] == br[i] { + continue + } + al := unicode.IsLetter(ar[i]) + bl := unicode.IsLetter(br[i]) + if al && bl { + return ar[i] < br[i] + } + if al || bl { + return bl + } + var ai, bi int + var an, bn int64 + if ar[i] == '0' || br[i] == '0' { + for j := i-1; j >= 0 && unicode.IsDigit(ar[j]); j-- { + if ar[j] != '0' { + an = 1 + bn = 1 + break + } + } + } + for ai = i; ai < len(ar) && unicode.IsDigit(ar[ai]); ai++ { + an = an*10 + int64(ar[ai]-'0') + } + for bi = i; bi < len(br) && unicode.IsDigit(br[bi]); bi++ { + bn = bn*10 + int64(br[bi]-'0') + } + if an != bn { + return an < bn + } + if ai != bi { + return ai < bi + } + return ar[i] < br[i] + } + return len(ar) < len(br) +} + +// keyFloat returns a float value for v if it is a number/bool +// and whether it is a number/bool or not. +func keyFloat(v reflect.Value) (f float64, ok bool) { + switch v.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return float64(v.Int()), true + case reflect.Float32, reflect.Float64: + return v.Float(), true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return float64(v.Uint()), true + case reflect.Bool: + if v.Bool() { + return 1, true + } + return 0, true + } + return 0, false +} + +// numLess returns whether a < b. +// a and b must necessarily have the same kind. +func numLess(a, b reflect.Value) bool { + switch a.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return a.Int() < b.Int() + case reflect.Float32, reflect.Float64: + return a.Float() < b.Float() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return a.Uint() < b.Uint() + case reflect.Bool: + return !a.Bool() && b.Bool() + } + panic("not a number") +} diff --git a/vendor/gopkg.in/yaml.v2/writerc.go b/vendor/gopkg.in/yaml.v2/writerc.go new file mode 100644 index 00000000..a2dde608 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/writerc.go @@ -0,0 +1,26 @@ +package yaml + +// Set the writer error and return false. +func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_WRITER_ERROR + emitter.problem = problem + return false +} + +// Flush the output buffer. +func yaml_emitter_flush(emitter *yaml_emitter_t) bool { + if emitter.write_handler == nil { + panic("write handler not set") + } + + // Check if the buffer is empty. + if emitter.buffer_pos == 0 { + return true + } + + if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil { + return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error()) + } + emitter.buffer_pos = 0 + return true +} diff --git a/vendor/gopkg.in/yaml.v2/yaml.go b/vendor/gopkg.in/yaml.v2/yaml.go new file mode 100644 index 00000000..de85aa4c --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/yaml.go @@ -0,0 +1,466 @@ +// Package yaml implements YAML support for the Go language. +// +// Source code and other details for the project are available at GitHub: +// +// https://github.com/go-yaml/yaml +// +package yaml + +import ( + "errors" + "fmt" + "io" + "reflect" + "strings" + "sync" +) + +// MapSlice encodes and decodes as a YAML map. +// The order of keys is preserved when encoding and decoding. +type MapSlice []MapItem + +// MapItem is an item in a MapSlice. +type MapItem struct { + Key, Value interface{} +} + +// The Unmarshaler interface may be implemented by types to customize their +// behavior when being unmarshaled from a YAML document. The UnmarshalYAML +// method receives a function that may be called to unmarshal the original +// YAML value into a field or variable. It is safe to call the unmarshal +// function parameter more than once if necessary. +type Unmarshaler interface { + UnmarshalYAML(unmarshal func(interface{}) error) error +} + +// The Marshaler interface may be implemented by types to customize their +// behavior when being marshaled into a YAML document. The returned value +// is marshaled in place of the original value implementing Marshaler. +// +// If an error is returned by MarshalYAML, the marshaling procedure stops +// and returns with the provided error. +type Marshaler interface { + MarshalYAML() (interface{}, error) +} + +// Unmarshal decodes the first document found within the in byte slice +// and assigns decoded values into the out value. +// +// Maps and pointers (to a struct, string, int, etc) are accepted as out +// values. If an internal pointer within a struct is not initialized, +// the yaml package will initialize it if necessary for unmarshalling +// the provided data. The out parameter must not be nil. +// +// The type of the decoded values should be compatible with the respective +// values in out. If one or more values cannot be decoded due to a type +// mismatches, decoding continues partially until the end of the YAML +// content, and a *yaml.TypeError is returned with details for all +// missed values. +// +// Struct fields are only unmarshalled if they are exported (have an +// upper case first letter), and are unmarshalled using the field name +// lowercased as the default key. Custom keys may be defined via the +// "yaml" name in the field tag: the content preceding the first comma +// is used as the key, and the following comma-separated options are +// used to tweak the marshalling process (see Marshal). +// Conflicting names result in a runtime error. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// var t T +// yaml.Unmarshal([]byte("a: 1\nb: 2"), &t) +// +// See the documentation of Marshal for the format of tags and a list of +// supported tag options. +// +func Unmarshal(in []byte, out interface{}) (err error) { + return unmarshal(in, out, false) +} + +// UnmarshalStrict is like Unmarshal except that any fields that are found +// in the data that do not have corresponding struct members, or mapping +// keys that are duplicates, will result in +// an error. +func UnmarshalStrict(in []byte, out interface{}) (err error) { + return unmarshal(in, out, true) +} + +// A Decorder reads and decodes YAML values from an input stream. +type Decoder struct { + strict bool + parser *parser +} + +// NewDecoder returns a new decoder that reads from r. +// +// The decoder introduces its own buffering and may read +// data from r beyond the YAML values requested. +func NewDecoder(r io.Reader) *Decoder { + return &Decoder{ + parser: newParserFromReader(r), + } +} + +// SetStrict sets whether strict decoding behaviour is enabled when +// decoding items in the data (see UnmarshalStrict). By default, decoding is not strict. +func (dec *Decoder) SetStrict(strict bool) { + dec.strict = strict +} + +// Decode reads the next YAML-encoded value from its input +// and stores it in the value pointed to by v. +// +// See the documentation for Unmarshal for details about the +// conversion of YAML into a Go value. +func (dec *Decoder) Decode(v interface{}) (err error) { + d := newDecoder(dec.strict) + defer handleErr(&err) + node := dec.parser.parse() + if node == nil { + return io.EOF + } + out := reflect.ValueOf(v) + if out.Kind() == reflect.Ptr && !out.IsNil() { + out = out.Elem() + } + d.unmarshal(node, out) + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +func unmarshal(in []byte, out interface{}, strict bool) (err error) { + defer handleErr(&err) + d := newDecoder(strict) + p := newParser(in) + defer p.destroy() + node := p.parse() + if node != nil { + v := reflect.ValueOf(out) + if v.Kind() == reflect.Ptr && !v.IsNil() { + v = v.Elem() + } + d.unmarshal(node, v) + } + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +// Marshal serializes the value provided into a YAML document. The structure +// of the generated document will reflect the structure of the value itself. +// Maps and pointers (to struct, string, int, etc) are accepted as the in value. +// +// Struct fields are only marshalled if they are exported (have an upper case +// first letter), and are marshalled using the field name lowercased as the +// default key. Custom keys may be defined via the "yaml" name in the field +// tag: the content preceding the first comma is used as the key, and the +// following comma-separated options are used to tweak the marshalling process. +// Conflicting names result in a runtime error. +// +// The field tag format accepted is: +// +// `(...) yaml:"[][,[,]]" (...)` +// +// The following flags are currently supported: +// +// omitempty Only include the field if it's not set to the zero +// value for the type or to empty slices or maps. +// Zero valued structs will be omitted if all their public +// fields are zero, unless they implement an IsZero +// method (see the IsZeroer interface type), in which +// case the field will be included if that method returns true. +// +// flow Marshal using a flow style (useful for structs, +// sequences and maps). +// +// inline Inline the field, which must be a struct or a map, +// causing all of its fields or keys to be processed as if +// they were part of the outer struct. For maps, keys must +// not conflict with the yaml keys of other struct fields. +// +// In addition, if the key is "-", the field is ignored. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// yaml.Marshal(&T{B: 2}) // Returns "b: 2\n" +// yaml.Marshal(&T{F: 1}} // Returns "a: 1\nb: 0\n" +// +func Marshal(in interface{}) (out []byte, err error) { + defer handleErr(&err) + e := newEncoder() + defer e.destroy() + e.marshalDoc("", reflect.ValueOf(in)) + e.finish() + out = e.out + return +} + +// An Encoder writes YAML values to an output stream. +type Encoder struct { + encoder *encoder +} + +// NewEncoder returns a new encoder that writes to w. +// The Encoder should be closed after use to flush all data +// to w. +func NewEncoder(w io.Writer) *Encoder { + return &Encoder{ + encoder: newEncoderWithWriter(w), + } +} + +// Encode writes the YAML encoding of v to the stream. +// If multiple items are encoded to the stream, the +// second and subsequent document will be preceded +// with a "---" document separator, but the first will not. +// +// See the documentation for Marshal for details about the conversion of Go +// values to YAML. +func (e *Encoder) Encode(v interface{}) (err error) { + defer handleErr(&err) + e.encoder.marshalDoc("", reflect.ValueOf(v)) + return nil +} + +// Close closes the encoder by writing any remaining data. +// It does not write a stream terminating string "...". +func (e *Encoder) Close() (err error) { + defer handleErr(&err) + e.encoder.finish() + return nil +} + +func handleErr(err *error) { + if v := recover(); v != nil { + if e, ok := v.(yamlError); ok { + *err = e.err + } else { + panic(v) + } + } +} + +type yamlError struct { + err error +} + +func fail(err error) { + panic(yamlError{err}) +} + +func failf(format string, args ...interface{}) { + panic(yamlError{fmt.Errorf("yaml: "+format, args...)}) +} + +// A TypeError is returned by Unmarshal when one or more fields in +// the YAML document cannot be properly decoded into the requested +// types. When this error is returned, the value is still +// unmarshaled partially. +type TypeError struct { + Errors []string +} + +func (e *TypeError) Error() string { + return fmt.Sprintf("yaml: unmarshal errors:\n %s", strings.Join(e.Errors, "\n ")) +} + +// -------------------------------------------------------------------------- +// Maintain a mapping of keys to structure field indexes + +// The code in this section was copied from mgo/bson. + +// structInfo holds details for the serialization of fields of +// a given struct. +type structInfo struct { + FieldsMap map[string]fieldInfo + FieldsList []fieldInfo + + // InlineMap is the number of the field in the struct that + // contains an ,inline map, or -1 if there's none. + InlineMap int +} + +type fieldInfo struct { + Key string + Num int + OmitEmpty bool + Flow bool + // Id holds the unique field identifier, so we can cheaply + // check for field duplicates without maintaining an extra map. + Id int + + // Inline holds the field index if the field is part of an inlined struct. + Inline []int +} + +var structMap = make(map[reflect.Type]*structInfo) +var fieldMapMutex sync.RWMutex + +func getStructInfo(st reflect.Type) (*structInfo, error) { + fieldMapMutex.RLock() + sinfo, found := structMap[st] + fieldMapMutex.RUnlock() + if found { + return sinfo, nil + } + + n := st.NumField() + fieldsMap := make(map[string]fieldInfo) + fieldsList := make([]fieldInfo, 0, n) + inlineMap := -1 + for i := 0; i != n; i++ { + field := st.Field(i) + if field.PkgPath != "" && !field.Anonymous { + continue // Private field + } + + info := fieldInfo{Num: i} + + tag := field.Tag.Get("yaml") + if tag == "" && strings.Index(string(field.Tag), ":") < 0 { + tag = string(field.Tag) + } + if tag == "-" { + continue + } + + inline := false + fields := strings.Split(tag, ",") + if len(fields) > 1 { + for _, flag := range fields[1:] { + switch flag { + case "omitempty": + info.OmitEmpty = true + case "flow": + info.Flow = true + case "inline": + inline = true + default: + return nil, errors.New(fmt.Sprintf("Unsupported flag %q in tag %q of type %s", flag, tag, st)) + } + } + tag = fields[0] + } + + if inline { + switch field.Type.Kind() { + case reflect.Map: + if inlineMap >= 0 { + return nil, errors.New("Multiple ,inline maps in struct " + st.String()) + } + if field.Type.Key() != reflect.TypeOf("") { + return nil, errors.New("Option ,inline needs a map with string keys in struct " + st.String()) + } + inlineMap = info.Num + case reflect.Struct: + sinfo, err := getStructInfo(field.Type) + if err != nil { + return nil, err + } + for _, finfo := range sinfo.FieldsList { + if _, found := fieldsMap[finfo.Key]; found { + msg := "Duplicated key '" + finfo.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + if finfo.Inline == nil { + finfo.Inline = []int{i, finfo.Num} + } else { + finfo.Inline = append([]int{i}, finfo.Inline...) + } + finfo.Id = len(fieldsList) + fieldsMap[finfo.Key] = finfo + fieldsList = append(fieldsList, finfo) + } + default: + //return nil, errors.New("Option ,inline needs a struct value or map field") + return nil, errors.New("Option ,inline needs a struct value field") + } + continue + } + + if tag != "" { + info.Key = tag + } else { + info.Key = strings.ToLower(field.Name) + } + + if _, found = fieldsMap[info.Key]; found { + msg := "Duplicated key '" + info.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + + info.Id = len(fieldsList) + fieldsList = append(fieldsList, info) + fieldsMap[info.Key] = info + } + + sinfo = &structInfo{ + FieldsMap: fieldsMap, + FieldsList: fieldsList, + InlineMap: inlineMap, + } + + fieldMapMutex.Lock() + structMap[st] = sinfo + fieldMapMutex.Unlock() + return sinfo, nil +} + +// IsZeroer is used to check whether an object is zero to +// determine whether it should be omitted when marshaling +// with the omitempty flag. One notable implementation +// is time.Time. +type IsZeroer interface { + IsZero() bool +} + +func isZero(v reflect.Value) bool { + kind := v.Kind() + if z, ok := v.Interface().(IsZeroer); ok { + if (kind == reflect.Ptr || kind == reflect.Interface) && v.IsNil() { + return true + } + return z.IsZero() + } + switch kind { + case reflect.String: + return len(v.String()) == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + case reflect.Slice: + return v.Len() == 0 + case reflect.Map: + return v.Len() == 0 + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Struct: + vt := v.Type() + for i := v.NumField() - 1; i >= 0; i-- { + if vt.Field(i).PkgPath != "" { + continue // Private field + } + if !isZero(v.Field(i)) { + return false + } + } + return true + } + return false +} diff --git a/vendor/gopkg.in/yaml.v2/yamlh.go b/vendor/gopkg.in/yaml.v2/yamlh.go new file mode 100644 index 00000000..e25cee56 --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/yamlh.go @@ -0,0 +1,738 @@ +package yaml + +import ( + "fmt" + "io" +) + +// The version directive data. +type yaml_version_directive_t struct { + major int8 // The major version number. + minor int8 // The minor version number. +} + +// The tag directive data. +type yaml_tag_directive_t struct { + handle []byte // The tag handle. + prefix []byte // The tag prefix. +} + +type yaml_encoding_t int + +// The stream encoding. +const ( + // Let the parser choose the encoding. + yaml_ANY_ENCODING yaml_encoding_t = iota + + yaml_UTF8_ENCODING // The default UTF-8 encoding. + yaml_UTF16LE_ENCODING // The UTF-16-LE encoding with BOM. + yaml_UTF16BE_ENCODING // The UTF-16-BE encoding with BOM. +) + +type yaml_break_t int + +// Line break types. +const ( + // Let the parser choose the break type. + yaml_ANY_BREAK yaml_break_t = iota + + yaml_CR_BREAK // Use CR for line breaks (Mac style). + yaml_LN_BREAK // Use LN for line breaks (Unix style). + yaml_CRLN_BREAK // Use CR LN for line breaks (DOS style). +) + +type yaml_error_type_t int + +// Many bad things could happen with the parser and emitter. +const ( + // No error is produced. + yaml_NO_ERROR yaml_error_type_t = iota + + yaml_MEMORY_ERROR // Cannot allocate or reallocate a block of memory. + yaml_READER_ERROR // Cannot read or decode the input stream. + yaml_SCANNER_ERROR // Cannot scan the input stream. + yaml_PARSER_ERROR // Cannot parse the input stream. + yaml_COMPOSER_ERROR // Cannot compose a YAML document. + yaml_WRITER_ERROR // Cannot write to the output stream. + yaml_EMITTER_ERROR // Cannot emit a YAML stream. +) + +// The pointer position. +type yaml_mark_t struct { + index int // The position index. + line int // The position line. + column int // The position column. +} + +// Node Styles + +type yaml_style_t int8 + +type yaml_scalar_style_t yaml_style_t + +// Scalar styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SCALAR_STYLE yaml_scalar_style_t = iota + + yaml_PLAIN_SCALAR_STYLE // The plain scalar style. + yaml_SINGLE_QUOTED_SCALAR_STYLE // The single-quoted scalar style. + yaml_DOUBLE_QUOTED_SCALAR_STYLE // The double-quoted scalar style. + yaml_LITERAL_SCALAR_STYLE // The literal scalar style. + yaml_FOLDED_SCALAR_STYLE // The folded scalar style. +) + +type yaml_sequence_style_t yaml_style_t + +// Sequence styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SEQUENCE_STYLE yaml_sequence_style_t = iota + + yaml_BLOCK_SEQUENCE_STYLE // The block sequence style. + yaml_FLOW_SEQUENCE_STYLE // The flow sequence style. +) + +type yaml_mapping_style_t yaml_style_t + +// Mapping styles. +const ( + // Let the emitter choose the style. + yaml_ANY_MAPPING_STYLE yaml_mapping_style_t = iota + + yaml_BLOCK_MAPPING_STYLE // The block mapping style. + yaml_FLOW_MAPPING_STYLE // The flow mapping style. +) + +// Tokens + +type yaml_token_type_t int + +// Token types. +const ( + // An empty token. + yaml_NO_TOKEN yaml_token_type_t = iota + + yaml_STREAM_START_TOKEN // A STREAM-START token. + yaml_STREAM_END_TOKEN // A STREAM-END token. + + yaml_VERSION_DIRECTIVE_TOKEN // A VERSION-DIRECTIVE token. + yaml_TAG_DIRECTIVE_TOKEN // A TAG-DIRECTIVE token. + yaml_DOCUMENT_START_TOKEN // A DOCUMENT-START token. + yaml_DOCUMENT_END_TOKEN // A DOCUMENT-END token. + + yaml_BLOCK_SEQUENCE_START_TOKEN // A BLOCK-SEQUENCE-START token. + yaml_BLOCK_MAPPING_START_TOKEN // A BLOCK-SEQUENCE-END token. + yaml_BLOCK_END_TOKEN // A BLOCK-END token. + + yaml_FLOW_SEQUENCE_START_TOKEN // A FLOW-SEQUENCE-START token. + yaml_FLOW_SEQUENCE_END_TOKEN // A FLOW-SEQUENCE-END token. + yaml_FLOW_MAPPING_START_TOKEN // A FLOW-MAPPING-START token. + yaml_FLOW_MAPPING_END_TOKEN // A FLOW-MAPPING-END token. + + yaml_BLOCK_ENTRY_TOKEN // A BLOCK-ENTRY token. + yaml_FLOW_ENTRY_TOKEN // A FLOW-ENTRY token. + yaml_KEY_TOKEN // A KEY token. + yaml_VALUE_TOKEN // A VALUE token. + + yaml_ALIAS_TOKEN // An ALIAS token. + yaml_ANCHOR_TOKEN // An ANCHOR token. + yaml_TAG_TOKEN // A TAG token. + yaml_SCALAR_TOKEN // A SCALAR token. +) + +func (tt yaml_token_type_t) String() string { + switch tt { + case yaml_NO_TOKEN: + return "yaml_NO_TOKEN" + case yaml_STREAM_START_TOKEN: + return "yaml_STREAM_START_TOKEN" + case yaml_STREAM_END_TOKEN: + return "yaml_STREAM_END_TOKEN" + case yaml_VERSION_DIRECTIVE_TOKEN: + return "yaml_VERSION_DIRECTIVE_TOKEN" + case yaml_TAG_DIRECTIVE_TOKEN: + return "yaml_TAG_DIRECTIVE_TOKEN" + case yaml_DOCUMENT_START_TOKEN: + return "yaml_DOCUMENT_START_TOKEN" + case yaml_DOCUMENT_END_TOKEN: + return "yaml_DOCUMENT_END_TOKEN" + case yaml_BLOCK_SEQUENCE_START_TOKEN: + return "yaml_BLOCK_SEQUENCE_START_TOKEN" + case yaml_BLOCK_MAPPING_START_TOKEN: + return "yaml_BLOCK_MAPPING_START_TOKEN" + case yaml_BLOCK_END_TOKEN: + return "yaml_BLOCK_END_TOKEN" + case yaml_FLOW_SEQUENCE_START_TOKEN: + return "yaml_FLOW_SEQUENCE_START_TOKEN" + case yaml_FLOW_SEQUENCE_END_TOKEN: + return "yaml_FLOW_SEQUENCE_END_TOKEN" + case yaml_FLOW_MAPPING_START_TOKEN: + return "yaml_FLOW_MAPPING_START_TOKEN" + case yaml_FLOW_MAPPING_END_TOKEN: + return "yaml_FLOW_MAPPING_END_TOKEN" + case yaml_BLOCK_ENTRY_TOKEN: + return "yaml_BLOCK_ENTRY_TOKEN" + case yaml_FLOW_ENTRY_TOKEN: + return "yaml_FLOW_ENTRY_TOKEN" + case yaml_KEY_TOKEN: + return "yaml_KEY_TOKEN" + case yaml_VALUE_TOKEN: + return "yaml_VALUE_TOKEN" + case yaml_ALIAS_TOKEN: + return "yaml_ALIAS_TOKEN" + case yaml_ANCHOR_TOKEN: + return "yaml_ANCHOR_TOKEN" + case yaml_TAG_TOKEN: + return "yaml_TAG_TOKEN" + case yaml_SCALAR_TOKEN: + return "yaml_SCALAR_TOKEN" + } + return "" +} + +// The token structure. +type yaml_token_t struct { + // The token type. + typ yaml_token_type_t + + // The start/end of the token. + start_mark, end_mark yaml_mark_t + + // The stream encoding (for yaml_STREAM_START_TOKEN). + encoding yaml_encoding_t + + // The alias/anchor/scalar value or tag/tag directive handle + // (for yaml_ALIAS_TOKEN, yaml_ANCHOR_TOKEN, yaml_SCALAR_TOKEN, yaml_TAG_TOKEN, yaml_TAG_DIRECTIVE_TOKEN). + value []byte + + // The tag suffix (for yaml_TAG_TOKEN). + suffix []byte + + // The tag directive prefix (for yaml_TAG_DIRECTIVE_TOKEN). + prefix []byte + + // The scalar style (for yaml_SCALAR_TOKEN). + style yaml_scalar_style_t + + // The version directive major/minor (for yaml_VERSION_DIRECTIVE_TOKEN). + major, minor int8 +} + +// Events + +type yaml_event_type_t int8 + +// Event types. +const ( + // An empty event. + yaml_NO_EVENT yaml_event_type_t = iota + + yaml_STREAM_START_EVENT // A STREAM-START event. + yaml_STREAM_END_EVENT // A STREAM-END event. + yaml_DOCUMENT_START_EVENT // A DOCUMENT-START event. + yaml_DOCUMENT_END_EVENT // A DOCUMENT-END event. + yaml_ALIAS_EVENT // An ALIAS event. + yaml_SCALAR_EVENT // A SCALAR event. + yaml_SEQUENCE_START_EVENT // A SEQUENCE-START event. + yaml_SEQUENCE_END_EVENT // A SEQUENCE-END event. + yaml_MAPPING_START_EVENT // A MAPPING-START event. + yaml_MAPPING_END_EVENT // A MAPPING-END event. +) + +var eventStrings = []string{ + yaml_NO_EVENT: "none", + yaml_STREAM_START_EVENT: "stream start", + yaml_STREAM_END_EVENT: "stream end", + yaml_DOCUMENT_START_EVENT: "document start", + yaml_DOCUMENT_END_EVENT: "document end", + yaml_ALIAS_EVENT: "alias", + yaml_SCALAR_EVENT: "scalar", + yaml_SEQUENCE_START_EVENT: "sequence start", + yaml_SEQUENCE_END_EVENT: "sequence end", + yaml_MAPPING_START_EVENT: "mapping start", + yaml_MAPPING_END_EVENT: "mapping end", +} + +func (e yaml_event_type_t) String() string { + if e < 0 || int(e) >= len(eventStrings) { + return fmt.Sprintf("unknown event %d", e) + } + return eventStrings[e] +} + +// The event structure. +type yaml_event_t struct { + + // The event type. + typ yaml_event_type_t + + // The start and end of the event. + start_mark, end_mark yaml_mark_t + + // The document encoding (for yaml_STREAM_START_EVENT). + encoding yaml_encoding_t + + // The version directive (for yaml_DOCUMENT_START_EVENT). + version_directive *yaml_version_directive_t + + // The list of tag directives (for yaml_DOCUMENT_START_EVENT). + tag_directives []yaml_tag_directive_t + + // The anchor (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_ALIAS_EVENT). + anchor []byte + + // The tag (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + tag []byte + + // The scalar value (for yaml_SCALAR_EVENT). + value []byte + + // Is the document start/end indicator implicit, or the tag optional? + // (for yaml_DOCUMENT_START_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_SCALAR_EVENT). + implicit bool + + // Is the tag optional for any non-plain style? (for yaml_SCALAR_EVENT). + quoted_implicit bool + + // The style (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + style yaml_style_t +} + +func (e *yaml_event_t) scalar_style() yaml_scalar_style_t { return yaml_scalar_style_t(e.style) } +func (e *yaml_event_t) sequence_style() yaml_sequence_style_t { return yaml_sequence_style_t(e.style) } +func (e *yaml_event_t) mapping_style() yaml_mapping_style_t { return yaml_mapping_style_t(e.style) } + +// Nodes + +const ( + yaml_NULL_TAG = "tag:yaml.org,2002:null" // The tag !!null with the only possible value: null. + yaml_BOOL_TAG = "tag:yaml.org,2002:bool" // The tag !!bool with the values: true and false. + yaml_STR_TAG = "tag:yaml.org,2002:str" // The tag !!str for string values. + yaml_INT_TAG = "tag:yaml.org,2002:int" // The tag !!int for integer values. + yaml_FLOAT_TAG = "tag:yaml.org,2002:float" // The tag !!float for float values. + yaml_TIMESTAMP_TAG = "tag:yaml.org,2002:timestamp" // The tag !!timestamp for date and time values. + + yaml_SEQ_TAG = "tag:yaml.org,2002:seq" // The tag !!seq is used to denote sequences. + yaml_MAP_TAG = "tag:yaml.org,2002:map" // The tag !!map is used to denote mapping. + + // Not in original libyaml. + yaml_BINARY_TAG = "tag:yaml.org,2002:binary" + yaml_MERGE_TAG = "tag:yaml.org,2002:merge" + + yaml_DEFAULT_SCALAR_TAG = yaml_STR_TAG // The default scalar tag is !!str. + yaml_DEFAULT_SEQUENCE_TAG = yaml_SEQ_TAG // The default sequence tag is !!seq. + yaml_DEFAULT_MAPPING_TAG = yaml_MAP_TAG // The default mapping tag is !!map. +) + +type yaml_node_type_t int + +// Node types. +const ( + // An empty node. + yaml_NO_NODE yaml_node_type_t = iota + + yaml_SCALAR_NODE // A scalar node. + yaml_SEQUENCE_NODE // A sequence node. + yaml_MAPPING_NODE // A mapping node. +) + +// An element of a sequence node. +type yaml_node_item_t int + +// An element of a mapping node. +type yaml_node_pair_t struct { + key int // The key of the element. + value int // The value of the element. +} + +// The node structure. +type yaml_node_t struct { + typ yaml_node_type_t // The node type. + tag []byte // The node tag. + + // The node data. + + // The scalar parameters (for yaml_SCALAR_NODE). + scalar struct { + value []byte // The scalar value. + length int // The length of the scalar value. + style yaml_scalar_style_t // The scalar style. + } + + // The sequence parameters (for YAML_SEQUENCE_NODE). + sequence struct { + items_data []yaml_node_item_t // The stack of sequence items. + style yaml_sequence_style_t // The sequence style. + } + + // The mapping parameters (for yaml_MAPPING_NODE). + mapping struct { + pairs_data []yaml_node_pair_t // The stack of mapping pairs (key, value). + pairs_start *yaml_node_pair_t // The beginning of the stack. + pairs_end *yaml_node_pair_t // The end of the stack. + pairs_top *yaml_node_pair_t // The top of the stack. + style yaml_mapping_style_t // The mapping style. + } + + start_mark yaml_mark_t // The beginning of the node. + end_mark yaml_mark_t // The end of the node. + +} + +// The document structure. +type yaml_document_t struct { + + // The document nodes. + nodes []yaml_node_t + + // The version directive. + version_directive *yaml_version_directive_t + + // The list of tag directives. + tag_directives_data []yaml_tag_directive_t + tag_directives_start int // The beginning of the tag directives list. + tag_directives_end int // The end of the tag directives list. + + start_implicit int // Is the document start indicator implicit? + end_implicit int // Is the document end indicator implicit? + + // The start/end of the document. + start_mark, end_mark yaml_mark_t +} + +// The prototype of a read handler. +// +// The read handler is called when the parser needs to read more bytes from the +// source. The handler should write not more than size bytes to the buffer. +// The number of written bytes should be set to the size_read variable. +// +// [in,out] data A pointer to an application data specified by +// yaml_parser_set_input(). +// [out] buffer The buffer to write the data from the source. +// [in] size The size of the buffer. +// [out] size_read The actual number of bytes read from the source. +// +// On success, the handler should return 1. If the handler failed, +// the returned value should be 0. On EOF, the handler should set the +// size_read to 0 and return 1. +type yaml_read_handler_t func(parser *yaml_parser_t, buffer []byte) (n int, err error) + +// This structure holds information about a potential simple key. +type yaml_simple_key_t struct { + possible bool // Is a simple key possible? + required bool // Is a simple key required? + token_number int // The number of the token. + mark yaml_mark_t // The position mark. +} + +// The states of the parser. +type yaml_parser_state_t int + +const ( + yaml_PARSE_STREAM_START_STATE yaml_parser_state_t = iota + + yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE // Expect the beginning of an implicit document. + yaml_PARSE_DOCUMENT_START_STATE // Expect DOCUMENT-START. + yaml_PARSE_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_PARSE_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_PARSE_BLOCK_NODE_STATE // Expect a block node. + yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE // Expect a block node or indentless sequence. + yaml_PARSE_FLOW_NODE_STATE // Expect a flow node. + yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a block sequence. + yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE // Expect an entry of a block sequence. + yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE // Expect an entry of an indentless sequence. + yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_PARSE_BLOCK_MAPPING_KEY_STATE // Expect a block mapping key. + yaml_PARSE_BLOCK_MAPPING_VALUE_STATE // Expect a block mapping value. + yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE // Expect an entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE // Expect a key of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE // Expect a value of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE // Expect the and of an ordered mapping entry. + yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE // Expect an empty value of a flow mapping. + yaml_PARSE_END_STATE // Expect nothing. +) + +func (ps yaml_parser_state_t) String() string { + switch ps { + case yaml_PARSE_STREAM_START_STATE: + return "yaml_PARSE_STREAM_START_STATE" + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return "yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_START_STATE: + return "yaml_PARSE_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return "yaml_PARSE_DOCUMENT_CONTENT_STATE" + case yaml_PARSE_DOCUMENT_END_STATE: + return "yaml_PARSE_DOCUMENT_END_STATE" + case yaml_PARSE_BLOCK_NODE_STATE: + return "yaml_PARSE_BLOCK_NODE_STATE" + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return "yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE" + case yaml_PARSE_FLOW_NODE_STATE: + return "yaml_PARSE_FLOW_NODE_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return "yaml_PARSE_BLOCK_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE" + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE" + case yaml_PARSE_END_STATE: + return "yaml_PARSE_END_STATE" + } + return "" +} + +// This structure holds aliases data. +type yaml_alias_data_t struct { + anchor []byte // The anchor. + index int // The node id. + mark yaml_mark_t // The anchor mark. +} + +// The parser structure. +// +// All members are internal. Manage the structure using the +// yaml_parser_ family of functions. +type yaml_parser_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + + problem string // Error description. + + // The byte about which the problem occurred. + problem_offset int + problem_value int + problem_mark yaml_mark_t + + // The error context. + context string + context_mark yaml_mark_t + + // Reader stuff + + read_handler yaml_read_handler_t // Read handler. + + input_reader io.Reader // File input data. + input []byte // String input data. + input_pos int + + eof bool // EOF flag + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + unread int // The number of unread characters in the buffer. + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The input encoding. + + offset int // The offset of the current position (in bytes). + mark yaml_mark_t // The mark of the current position. + + // Scanner stuff + + stream_start_produced bool // Have we started to scan the input stream? + stream_end_produced bool // Have we reached the end of the input stream? + + flow_level int // The number of unclosed '[' and '{' indicators. + + tokens []yaml_token_t // The tokens queue. + tokens_head int // The head of the tokens queue. + tokens_parsed int // The number of tokens fetched from the queue. + token_available bool // Does the tokens queue contain a token ready for dequeueing. + + indent int // The current indentation level. + indents []int // The indentation levels stack. + + simple_key_allowed bool // May a simple key occur at the current position? + simple_keys []yaml_simple_key_t // The stack of simple keys. + + // Parser stuff + + state yaml_parser_state_t // The current parser state. + states []yaml_parser_state_t // The parser states stack. + marks []yaml_mark_t // The stack of marks. + tag_directives []yaml_tag_directive_t // The list of TAG directives. + + // Dumper stuff + + aliases []yaml_alias_data_t // The alias data. + + document *yaml_document_t // The currently parsed document. +} + +// Emitter Definitions + +// The prototype of a write handler. +// +// The write handler is called when the emitter needs to flush the accumulated +// characters to the output. The handler should write @a size bytes of the +// @a buffer to the output. +// +// @param[in,out] data A pointer to an application data specified by +// yaml_emitter_set_output(). +// @param[in] buffer The buffer with bytes to be written. +// @param[in] size The size of the buffer. +// +// @returns On success, the handler should return @c 1. If the handler failed, +// the returned value should be @c 0. +// +type yaml_write_handler_t func(emitter *yaml_emitter_t, buffer []byte) error + +type yaml_emitter_state_t int + +// The emitter states. +const ( + // Expect STREAM-START. + yaml_EMIT_STREAM_START_STATE yaml_emitter_state_t = iota + + yaml_EMIT_FIRST_DOCUMENT_START_STATE // Expect the first DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_START_STATE // Expect DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_EMIT_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a flow sequence. + yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE // Expect an item of a flow sequence. + yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a block sequence. + yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE // Expect an item of a block sequence. + yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_KEY_STATE // Expect the key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_VALUE_STATE // Expect a value of a block mapping. + yaml_EMIT_END_STATE // Expect nothing. +) + +// The emitter structure. +// +// All members are internal. Manage the structure using the @c yaml_emitter_ +// family of functions. +type yaml_emitter_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + problem string // Error description. + + // Writer stuff + + write_handler yaml_write_handler_t // Write handler. + + output_buffer *[]byte // String output data. + output_writer io.Writer // File output data. + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The stream encoding. + + // Emitter stuff + + canonical bool // If the output is in the canonical style? + best_indent int // The number of indentation spaces. + best_width int // The preferred width of the output lines. + unicode bool // Allow unescaped non-ASCII characters? + line_break yaml_break_t // The preferred line break. + + state yaml_emitter_state_t // The current emitter state. + states []yaml_emitter_state_t // The stack of states. + + events []yaml_event_t // The event queue. + events_head int // The head of the event queue. + + indents []int // The stack of indentation levels. + + tag_directives []yaml_tag_directive_t // The list of tag directives. + + indent int // The current indentation level. + + flow_level int // The current flow level. + + root_context bool // Is it the document root context? + sequence_context bool // Is it a sequence context? + mapping_context bool // Is it a mapping context? + simple_key_context bool // Is it a simple mapping key context? + + line int // The current line. + column int // The current column. + whitespace bool // If the last character was a whitespace? + indention bool // If the last character was an indentation character (' ', '-', '?', ':')? + open_ended bool // If an explicit document end is required? + + // Anchor analysis. + anchor_data struct { + anchor []byte // The anchor value. + alias bool // Is it an alias? + } + + // Tag analysis. + tag_data struct { + handle []byte // The tag handle. + suffix []byte // The tag suffix. + } + + // Scalar analysis. + scalar_data struct { + value []byte // The scalar value. + multiline bool // Does the scalar contain line breaks? + flow_plain_allowed bool // Can the scalar be expessed in the flow plain style? + block_plain_allowed bool // Can the scalar be expressed in the block plain style? + single_quoted_allowed bool // Can the scalar be expressed in the single quoted style? + block_allowed bool // Can the scalar be expressed in the literal or folded styles? + style yaml_scalar_style_t // The output style. + } + + // Dumper stuff + + opened bool // If the stream was already opened? + closed bool // If the stream was already closed? + + // The information associated with the document nodes. + anchors *struct { + references int // The number of references. + anchor int // The anchor id. + serialized bool // If the node has been emitted? + } + + last_anchor_id int // The last assigned anchor id. + + document *yaml_document_t // The currently emitted document. +} diff --git a/vendor/gopkg.in/yaml.v2/yamlprivateh.go b/vendor/gopkg.in/yaml.v2/yamlprivateh.go new file mode 100644 index 00000000..8110ce3c --- /dev/null +++ b/vendor/gopkg.in/yaml.v2/yamlprivateh.go @@ -0,0 +1,173 @@ +package yaml + +const ( + // The size of the input raw buffer. + input_raw_buffer_size = 512 + + // The size of the input buffer. + // It should be possible to decode the whole raw buffer. + input_buffer_size = input_raw_buffer_size * 3 + + // The size of the output buffer. + output_buffer_size = 128 + + // The size of the output raw buffer. + // It should be possible to encode the whole output buffer. + output_raw_buffer_size = (output_buffer_size*2 + 2) + + // The size of other stacks and queues. + initial_stack_size = 16 + initial_queue_size = 16 + initial_string_size = 16 +) + +// Check if the character at the specified position is an alphabetical +// character, a digit, '_', or '-'. +func is_alpha(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'Z' || b[i] >= 'a' && b[i] <= 'z' || b[i] == '_' || b[i] == '-' +} + +// Check if the character at the specified position is a digit. +func is_digit(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' +} + +// Get the value of a digit. +func as_digit(b []byte, i int) int { + return int(b[i]) - '0' +} + +// Check if the character at the specified position is a hex-digit. +func is_hex(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'F' || b[i] >= 'a' && b[i] <= 'f' +} + +// Get the value of a hex-digit. +func as_hex(b []byte, i int) int { + bi := b[i] + if bi >= 'A' && bi <= 'F' { + return int(bi) - 'A' + 10 + } + if bi >= 'a' && bi <= 'f' { + return int(bi) - 'a' + 10 + } + return int(bi) - '0' +} + +// Check if the character is ASCII. +func is_ascii(b []byte, i int) bool { + return b[i] <= 0x7F +} + +// Check if the character at the start of the buffer can be printed unescaped. +func is_printable(b []byte, i int) bool { + return ((b[i] == 0x0A) || // . == #x0A + (b[i] >= 0x20 && b[i] <= 0x7E) || // #x20 <= . <= #x7E + (b[i] == 0xC2 && b[i+1] >= 0xA0) || // #0xA0 <= . <= #xD7FF + (b[i] > 0xC2 && b[i] < 0xED) || + (b[i] == 0xED && b[i+1] < 0xA0) || + (b[i] == 0xEE) || + (b[i] == 0xEF && // #xE000 <= . <= #xFFFD + !(b[i+1] == 0xBB && b[i+2] == 0xBF) && // && . != #xFEFF + !(b[i+1] == 0xBF && (b[i+2] == 0xBE || b[i+2] == 0xBF)))) +} + +// Check if the character at the specified position is NUL. +func is_z(b []byte, i int) bool { + return b[i] == 0x00 +} + +// Check if the beginning of the buffer is a BOM. +func is_bom(b []byte, i int) bool { + return b[0] == 0xEF && b[1] == 0xBB && b[2] == 0xBF +} + +// Check if the character at the specified position is space. +func is_space(b []byte, i int) bool { + return b[i] == ' ' +} + +// Check if the character at the specified position is tab. +func is_tab(b []byte, i int) bool { + return b[i] == '\t' +} + +// Check if the character at the specified position is blank (space or tab). +func is_blank(b []byte, i int) bool { + //return is_space(b, i) || is_tab(b, i) + return b[i] == ' ' || b[i] == '\t' +} + +// Check if the character at the specified position is a line break. +func is_break(b []byte, i int) bool { + return (b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9) // PS (#x2029) +} + +func is_crlf(b []byte, i int) bool { + return b[i] == '\r' && b[i+1] == '\n' +} + +// Check if the character is a line break or NUL. +func is_breakz(b []byte, i int) bool { + //return is_break(b, i) || is_z(b, i) + return ( // is_break: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + // is_z: + b[i] == 0) +} + +// Check if the character is a line break, space, or NUL. +func is_spacez(b []byte, i int) bool { + //return is_space(b, i) || is_breakz(b, i) + return ( // is_space: + b[i] == ' ' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Check if the character is a line break, space, tab, or NUL. +func is_blankz(b []byte, i int) bool { + //return is_blank(b, i) || is_breakz(b, i) + return ( // is_blank: + b[i] == ' ' || b[i] == '\t' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Determine the width of the character. +func width(b byte) int { + // Don't replace these by a switch without first + // confirming that it is being inlined. + if b&0x80 == 0x00 { + return 1 + } + if b&0xE0 == 0xC0 { + return 2 + } + if b&0xF0 == 0xE0 { + return 3 + } + if b&0xF8 == 0xF0 { + return 4 + } + return 0 + +}